[
  {
    "path": ".gitignore",
    "content": "build\ncoverage.txt"
  },
  {
    "path": ".golang.ci.yaml",
    "content": "# available options https://github.com/golangci/golangci-lint/blob/master/.golangci.example.yml\nrun:\n  # timeout for analysis, e.g. 30s, 5m, default is 1m\n  deadline: 1m\n\n  # include test files or not, default is true\n  tests: false\n\n  # which dirs to skip: they won't be analyzed;\n  # can use regexp here: generated.*, regexp is applied on full path;\n  # default value is empty list, but next dirs are always skipped independently\n  # from this option's value:\n  #   \tvendor$, third_party$, testdata$, examples$, Godeps$, builtin$\n  skip-dirs:\n    - pb.go$\n    - vendor\n\n# all available settings of specific linters\nlinters-settings:\n  misspell:\n    # Correct spellings using locale preferences for US or UK.\n    # Default is to use a neutral variety of English.\n    # Setting locale to US will correct the British spelling of 'colour' to 'color'.\n    locale: US  \nlinters:\n  enable-all: true\n  disable:\n    - dupl\n    - lll"
  },
  {
    "path": ".goreleaser.yml",
    "content": "project_name: godown\ngit:\n  short_hash: true\nrelease:\n  name_template: \"v{{ .Version }}\"\n  prerelease: true \nbuilds:\n  -\n    main: cmd/godown-cli/main.go\n    binary: godown-cli\n    env:\n      - CGO_ENABLED=0\n    goos:\n      - linux\n      - darwin\n    goarch:\n      - amd64\n      - 386\n  -\n    main: cmd/godown-server/main.go\n    binary: godown-server\n    env:\n      - CGO_ENABLED=0\n    goos:\n      - linux\n      - darwin\n    goarch:\n      - amd64\n      - 386\narchive:\n  replacements:\n    darwin: Darwin\n    linux: Linux\n    386: i386\n    amd64: x86_64\nchecksum:\n  name_template: 'checksums.txt'\ndist: build/dist\nchangelog:\n  filters:\n    exclude:\n    - '^docs:'\n    - '^test:'\n    - Merge pull request\n    - Merge branch\ndockers:\n  -\n    goos: linux\n    goarch: amd64\n    binary: godown-server\n    image: namreg/godown-server\n    dockerfile: cmd/godown-server/Dockerfile\n    tag_templates:\n      - \"{{ .Tag }}\"\n      - latest\n"
  },
  {
    "path": ".travis.yml",
    "content": "language: go\n\ngo:\n  - 1.x\n\nscript:\n  - make test\n\nbefore_install:\n  - go get github.com/gojuno/minimock/cmd/minimock\n  - go get github.com/golang/dep/cmd/dep\n\nafter_success:\n  - bash <(curl -s https://codecov.io/bash)"
  },
  {
    "path": "Gopkg.toml",
    "content": "# Gopkg.toml example\n#\n# Refer to https://golang.github.io/dep/docs/Gopkg.toml.html\n# for detailed Gopkg.toml documentation.\n#\n# required = [\"github.com/user/thing/cmd/thing\"]\n# ignored = [\"github.com/user/project/pkgX\", \"bitbucket.org/user/project/pkgA/pkgY\"]\n#\n# [[constraint]]\n#   name = \"github.com/user/project\"\n#   version = \"1.0.0\"\n#\n# [[constraint]]\n#   name = \"github.com/user/project2\"\n#   branch = \"dev\"\n#   source = \"github.com/myfork/project2\"\n#\n# [[override]]\n#   name = \"github.com/x/y\"\n#   version = \"2.4.0\"\n#\n# [prune]\n#   non-go = false\n#   go-tests = true\n#   unused-packages = true\n\n\n[prune]\n  go-tests = true\n  unused-packages = true\n\n[[constraint]]\n  name = \"github.com/pkg/errors\"\n  version = \"0.8.0\"\n\n[[constraint]]\n  name = \"github.com/stretchr/testify\"\n  version = \"1.2.1\"\n\n[[constraint]]\n  name = \"github.com/golang/protobuf\"\n  version = \"1.1.0\"\n\n[[constraint]]\n  branch = \"master\"\n  name = \"github.com/Bowery/prompt\"\n\n[[constraint]]\n  name = \"github.com/gogo/protobuf\"\n  version = \"1.1.1\"\n\n[[constraint]]\n  name = \"github.com/fatih/color\"\n  version = \"1.7.0\"\n\n[[constraint]]\n  name = \"github.com/hashicorp/go-multierror\"\n  version = \"1.0.0\"\n\n[[constraint]]\n  name = \"github.com/tidwall/redcon\"\n  version = \"0.9.0\""
  },
  {
    "path": "LICENSE",
    "content": "MIT License\n\nCopyright (c) 2018 Igor German\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE."
  },
  {
    "path": "Makefile",
    "content": "PACKAGE=github.com/namreg/godown\nPKGS=$(shell go list ./... | grep -v vendor | grep -v cmd)\nARTIFACTS=./build\n\n.PHONY: default\ndefault: test\n\n.PHONY: vendor\nvendor:\n\t@echo \"======> vendoring dependencies\"\n\t@$(GOPATH)/bin/dep ensure\n\n.PHONY: generate\ngenerate:\n\t@echo \"======> generating code\"\n\t@go generate $(PKGS)\n\n.PHONY: lint\nlint:\n\t@echo \"======> start linter\"\n\t@docker run --rm -t -v $(GOPATH)/src/$(PACKAGE):/go/src/$(PACKAGE) -w /go/src/$(PACKAGE) roistat/golangci-lint -c .golang.ci.yaml\n\n.PHONY: test\ntest: vendor generate\n\t@echo \"======> running tests\"\n\t@go test -cover -race -coverprofile=coverage.txt -covermode=atomic $(PKGS)\n\n.PHONY: clear\nclear:\n\t@echo \"======> clearing artifacts\"\n\t@rm -fR $(ARTIFACTS)\n\n.PHONY: build\nbuild: clear\n\tgo build -o $(ARTIFACTS)/godown-server ./cmd/godown-server\n\tgo build -o $(ARTIFACTS)/godown-cli ./cmd/godown-cli\n\n.PHONY: release\nrelease: test lint\n\t@echo \"======> starting a new release\"\n\tdocker run --rm --privileged \\\n\t-v $(PWD):/go/src/$(PACKAGE) \\\n\t-v /var/run/docker.sock:/var/run/docker.sock \\\n\t-w /go/src/$(PACKAGE) \\\n\t-e GITHUB_TOKEN \\\n\t-e DOCKER_USERNAME \\\n\t-e DOCKER_PASSWORD \\\n\tgoreleaser/goreleaser release --rm-dist\n"
  },
  {
    "path": "README.md",
    "content": "## Godown\n\n[![Build Status](https://www.travis-ci.org/namreg/godown.svg?branch=master)](https://www.travis-ci.org/namreg/godown)\n[![Go Report Card](https://goreportcard.com/badge/github.com/namreg/godown)](https://goreportcard.com/report/github.com/namreg/godown)\n[![GitHub](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/namreg/godown/blob/master/LICENSE)\n[![codecov](https://codecov.io/gh/namreg/godown/branch/master/graph/badge.svg)](https://codecov.io/gh/namreg/godown)\n\nA simple, distributed, fault-tolerant key-value storage inspired by Redis. It uses [Raft](https://raft.github.io) protocotol as consensus algorithm.\nIt supports the following data structures: `String`, `Bitmap`, `Map`, `List`.\n\n[![asciicast](https://asciinema.org/a/lNp3lOJlnnp9WQW3kKnguL35e.png)](https://asciinema.org/a/lNp3lOJlnnp9WQW3kKnguL35e)\n\n### How to install\n\n#### Install via binaries\nYou can find binaries on the [Github releases page](https://github.com/namreg/godown/releases).\n```bash\n/application/godown/godown-server -dir=/application/godown/data01 -id=01 -listen=127.0.0.1:14001 -raft=127.0.0.1:24001\n/application/godown/godown-server -dir=/application/godown/data02 -id=02 -listen=127.0.0.1:14002 -raft=127.0.0.1:24002 -join=127.0.0.1:14001\n/application/godown/godown-server -dir=/application/godown/data03 -id=03 -listen=127.0.0.1:14003 -raft=127.0.0.1:24003 -join=127.0.0.1:14001\n```\n\n\n\n#### Install via docker\n```bash\n# creating a network\ndocker network create godown \n\n# creating a volume\ndocker volume create godown \n\n# bootstrap a cluster with a single node\ndocker run -it --rm -v godown:/var/lib/godown --name=godown_1 --net=godown -p 5000:5000 \\\n    namreg/godown-server -id 1 -listen godown_1:5000 -raft godown_1:6000\n\n# join the second node to the cluster\ndocker run -it --rm -v godown:/var/lib/godown --name=godown_2 --net=godown -p 5001:5001 \\\n    namreg/godown-server -id 2 -listen godown_2:5001 -join godown_1:5000 -raft godown_2:6001\n\n# join the third node to the cluster\ndocker run -it --rm -v godown:/var/lib/godown --name=godown_3 --net=godown -p 5002:5002  \\\n    namreg/godown-server -id 3 -listen godown_3:5001 -join godown_1:5000 -raft godown_3:6002\n```\n\nAvailable options to run a server:\n```bash\n  -dir string\n        Directory where data is stored.\n  -gc duration\n        Garbage collector interval.\n  -id string\n        Server unique id.\n  -join string\n        Server address to join.\n  -listen string\n        Server address to listen.\n  -raft string\n        Raft protocol listen address.\n  -resp string\n        Redis Serialization Protocol listen address.      \n  -version\n        Show version.\n```\n\n### How to connect\n\nYou can connect to any godown node. All modifications will be replicated to all nodes.\n\n#### Connect via any redis client\nIf you have specified `resp` address while starting a node, you can connect to the one by any redis client.\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\t\"net\"\n\t\"time\"\n\n\t\"github.com/garyburd/redigo/redis\"\n)\n\nconst connectionTimeout = 100 * time.Millisecond\n\nfunc main() {\n\tconn, err := net.Dial(\"tcp\", \"6380\")\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\trconn := redis.NewConn(conn, connectionTimeout, connectionTimeout)\n\n\treply, err := rconn.Do(\"LRANGE\", \"list\", 0, 100)\n\tvals, err := redis.Strings(reply, err)\n\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\n\tfmt.Println(vals)\n}\n\n```\n\n#### Connect via CLI\n```bash\ngodown-cli\n```\n\nAvailable options:\n```bash\n  -host string\n    \tHost to connect to a server (default \"127.0.0.1\")\n  -port string\n    \tPort to connect to a server (default \"4000\")\n  -version\n    \tShow godown version.\n```\n\nSupported commands:\n\n| Command| Description |\n|---|---|\n| HELP&nbsp;command | Show the usage of the given command. |\n| TYPE&nbsp;key | Returns the type stored at key. |\n| KEYS&nbsp;pattern | Find all keys matching the given pattern. |\n| PING&nbsp;[message] | Returns PONG if no argument is provided, otherwise return a copy of the argument as a bulk. |\n| EXPIRE&nbsp;key&nbsp;seconds | Set a timeout on key. After the timeout has expired, the key will automatically be deleted. |\n| TTL&nbsp;key | Returns the remaining time to live of a key. -1 returns if key does not have timeout. |\n|---|---|---|\n| SET&nbsp;key&nbsp;value | Set key to hold the string value. If key already holds a value, it is overwritten. |\n| GET&nbsp;key | Get the value by key. If provided key does not exist NIL will be returned. |\n| STRLEN&nbsp;key | Returns length of the given key. If key does not exists, 0 will be returned. |\n| DEL&nbsp;key | Delete the given key. |\n|---|---|---|\n| SETBIT&nbsp;key&nbsp;offset&nbsp;value | Sets or clears the bit at offset in the string value stored at key. |\n| GETBIT&nbsp;key&nbsp;offset | Returns the bit value at offset in the string value stored at key. |\n|---|---|---|\n| LPUSH&nbsp;key&nbsp;value&nbsp;[value&nbsp;...] | Prepend one or multiple values to a list. |\n| LPOP&nbsp;key | Removes and returns the first element of the list stored at key. |\n| RPUSH&nbsp;key&nbsp;value&nbsp;[value&nbsp;...] | Append one or multiple values to a list. |\n| RPOP&nbsp;key | Removes and returns the last element of the list stored at key. |\n| LLEN&nbsp;key | Returns the length of the list stored at key. If key does not exist, it is interpreted as an empty list and 0 is returned. |\n| LINDEX&nbsp;key&nbsp;index | Returns the element at index index in the list stored at key. <br>The index is zero-based, so 0 means the first element, 1 the second element and so on. Negative indices can be used to designate elements starting at the tail of the list. |\n| LRANGE&nbsp;key&nbsp;start&nbsp;stop | Returns the specified elements of the list stored at key.<br> The offsets start and stop are zero-based indexes, with 0 being the first element of the list (the head of the list), 1 being the next element and so on. |\n| LREM&nbsp;key&nbsp;value | Removes all occurrences of elements equal to value from the list stored at key. |\n|---|---|---|\n| HSET&nbsp;key&nbsp;field&nbsp;value | Sets field in the hash stored at key to value. |\n| HGET&nbsp;key&nbsp;field | Returns the value associated with field in the hash stored at key. |\n| HKEYS&nbsp;key | Returns all field names in the hash stored at key. Order of fields is not guaranteed. |\n| HVALS&nbsp;key | Returns all values in the hash stored at key. |\n| HDEL&nbsp;key&nbsp;field&nbsp;[field&nbsp;...] | Removes the specified fields from the hash stored at key. Returns the number of fields that were removed. |\n\n#### Connect via go client\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/namreg/godown/client\"\n)\n\nfunc main() {\n\tc, err := client.New(\"127.0.0.1:4000\")\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\tdefer c.Close()\n\n\tres := c.Get(\"key\")\n\tif res.Err() != nil {\n\t\tpanic(res.Err())\n\t}\n\n\tif res.IsNil() {\n\t\tfmt.Print(\"key does not exist\")\n\t} else {\n\t\tfmt.Println(res.Int64())\n\t}\n}\n```\nClient documentation available at [godoc](https://godoc.org/github.com/namreg/godown/client)\n\n### TODO\n- [ ] Write more docs\n- [ ] Write more tests\n"
  },
  {
    "path": "client/client.go",
    "content": "package client\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"strconv\"\n\t\"strings\"\n\t\"time\"\n\n\t\"github.com/namreg/godown/internal/api\"\n\n\t\"github.com/hashicorp/go-multierror\"\n\t\"google.golang.org/grpc\"\n)\n\nconst connectTimeout = 100 * time.Millisecond\n\n//go:generate minimock -i github.com/namreg/godown/client.executor -o ./\ntype executor interface {\n\tExecuteCommand(context.Context, *api.ExecuteCommandRequest, ...grpc.CallOption) (*api.ExecuteCommandResponse, error)\n}\n\n//Client is a client that communicates with a server.\ntype Client struct {\n\taddrs    []string\n\tconn     *grpc.ClientConn\n\texecutor executor\n}\n\n//New creates a new client with the given servet addresses.\nfunc New(addr string, addrs ...string) (*Client, error) {\n\tc := &Client{addrs: append([]string{addr}, addrs...)}\n\tif err := c.tryConnect(); err != nil {\n\t\treturn nil, fmt.Errorf(\"could not connect to server: %v\", err)\n\t}\n\treturn c, nil\n}\n\n//Close closes the client.\nfunc (c *Client) Close() error {\n\tif c.conn != nil {\n\t\treturn c.conn.Close()\n\t}\n\treturn nil\n}\n\nfunc (c *Client) tryConnect() error {\n\tvar (\n\t\tresult *multierror.Error\n\t\terr    error\n\t\tconn   *grpc.ClientConn\n\t)\n\n\tfor addrs := c.addrs; len(addrs) > 0; addrs = addrs[1:] {\n\t\tctx, cancel := context.WithTimeout(context.Background(), connectTimeout)\n\t\tdefer cancel()\n\n\t\tif conn, err = grpc.DialContext(ctx, addrs[0], grpc.WithInsecure(), grpc.WithBlock()); err == nil {\n\t\t\tc.conn = conn\n\t\t\tc.executor = api.NewGodownClient(c.conn)\n\t\t\treturn nil\n\t\t}\n\t\tresult = multierror.Append(result, err)\n\t}\n\treturn result.ErrorOrNil()\n}\n\nfunc (c *Client) newExecuteRequest(cmd string, args ...string) *api.ExecuteCommandRequest {\n\targs = append([]string{cmd}, args...)\n\treturn &api.ExecuteCommandRequest{\n\t\tCommand: strings.Join(args, \" \"),\n\t}\n}\n\n//Get gets a value at the given key.\nfunc (c *Client) Get(key string) ScalarResult {\n\treturn c.get(context.Background(), key)\n}\n\n//GetWithContext similar to Get but with the context.\nfunc (c *Client) GetWithContext(ctx context.Context, key string) ScalarResult {\n\treturn c.get(ctx, key)\n}\n\nfunc (c *Client) get(ctx context.Context, key string) ScalarResult {\n\treq := c.newExecuteRequest(\"GET\", key)\n\tresp, err := c.executor.ExecuteCommand(ctx, req)\n\tif err != nil {\n\t\treturn ScalarResult{err: fmt.Errorf(\"could not execute command: %v\", err)}\n\t}\n\treturn newScalarResult(resp)\n}\n\n//Set sets a new value at the given key.\nfunc (c *Client) Set(key, value string) StatusResult {\n\treturn c.set(context.Background(), key, value)\n}\n\n//SetWithContext similar to Set but with the context.\nfunc (c *Client) SetWithContext(ctx context.Context, key, value string) StatusResult {\n\treturn c.set(ctx, key, value)\n}\n\nfunc (c *Client) set(ctx context.Context, key, value string) StatusResult {\n\treq := c.newExecuteRequest(\"SET\", key, value)\n\tresp, err := c.executor.ExecuteCommand(ctx, req)\n\tif err != nil {\n\t\treturn StatusResult{err: fmt.Errorf(\"could not execute command: %v\", err)}\n\t}\n\treturn newStatusResult(resp)\n}\n\n//Del deletes the given key.\nfunc (c *Client) Del(key string) StatusResult {\n\treturn c.del(context.Background(), key)\n}\n\n//DelWithContext similar to Del but with context.\nfunc (c *Client) DelWithContext(ctx context.Context, key string) StatusResult {\n\treturn c.del(ctx, key)\n}\n\nfunc (c *Client) del(ctx context.Context, key string) StatusResult {\n\treq := c.newExecuteRequest(\"DEL\", key)\n\tresp, err := c.executor.ExecuteCommand(ctx, req)\n\tif err != nil {\n\t\treturn StatusResult{err: fmt.Errorf(\"could not execute command: %v\", err)}\n\t}\n\treturn newStatusResult(resp)\n}\n\n//Expire sets expiration of the given key as `now + secs`.\nfunc (c *Client) Expire(key string, secs int) StatusResult {\n\treturn c.expire(context.Background(), key, secs)\n}\n\n//ExpireWithContext similar to Expire but with context.\nfunc (c *Client) ExpireWithContext(ctx context.Context, key string, secs int) StatusResult {\n\treturn c.expire(ctx, key, secs)\n}\n\nfunc (c *Client) expire(ctx context.Context, key string, secs int) StatusResult {\n\treq := c.newExecuteRequest(\"EXPIRE\", key, strconv.Itoa(secs))\n\tresp, err := c.executor.ExecuteCommand(ctx, req)\n\tif err != nil {\n\t\treturn StatusResult{err: fmt.Errorf(\"could not execute command: %v\", err)}\n\t}\n\treturn newStatusResult(resp)\n}\n\n//GetBit returns the bit value at the offset in the string stored at key.\nfunc (c *Client) GetBit(key string, offset uint64) ScalarResult {\n\treturn c.getBit(context.Background(), key, offset)\n}\n\n//GetBitWithContext similar to GetBit but with context.\nfunc (c *Client) GetBitWithContext(ctx context.Context, key string, offset uint64) ScalarResult {\n\treturn c.getBit(ctx, key, offset)\n}\n\nfunc (c *Client) getBit(ctx context.Context, key string, offset uint64) ScalarResult {\n\treq := c.newExecuteRequest(\"GETBIT\", key, strconv.FormatUint(offset, 10))\n\tresp, err := c.executor.ExecuteCommand(ctx, req)\n\tif err != nil {\n\t\treturn ScalarResult{err: fmt.Errorf(\"could not execute command: %v\", err)}\n\t}\n\treturn newScalarResult(resp)\n}\n\n//HGet returns the value associated with field in the hash stored at key.\nfunc (c *Client) HGet(key, field string) ScalarResult {\n\treturn c.hget(context.Background(), key, field)\n}\n\n//HGetWithContext similar to HGet but with context.\nfunc (c *Client) HGetWithContext(ctx context.Context, key, field string) ScalarResult {\n\treturn c.hget(ctx, key, field)\n}\n\nfunc (c *Client) hget(ctx context.Context, key, field string) ScalarResult {\n\treq := c.newExecuteRequest(\"HGET\", key, field)\n\tresp, err := c.executor.ExecuteCommand(ctx, req)\n\tif err != nil {\n\t\treturn ScalarResult{err: fmt.Errorf(\"could not execute command: %v\", err)}\n\t}\n\treturn newScalarResult(resp)\n}\n\n//HKeys returns all keys of the map stored at the given key.\nfunc (c *Client) HKeys(key string) ListResult {\n\treturn c.hkeys(context.Background(), key)\n}\n\n//HKeysWithContext similar to Hkeys by with context.\nfunc (c *Client) HKeysWithContext(ctx context.Context, key string) ListResult {\n\treturn c.hkeys(ctx, key)\n}\n\nfunc (c *Client) hkeys(ctx context.Context, key string) ListResult {\n\treq := c.newExecuteRequest(\"HKEYS\", key)\n\tresp, err := c.executor.ExecuteCommand(ctx, req)\n\tif err != nil {\n\t\treturn ListResult{err: fmt.Errorf(\"could not execute command: %v\", err)}\n\t}\n\treturn newListResult(resp)\n}\n\n//HSet sets a field in hash at the given key.\nfunc (c *Client) HSet(key, field, value string) StatusResult {\n\treturn c.hset(context.Background(), key, field, value)\n}\n\n//HSetWithContext similar to HSet but with context.\nfunc (c *Client) HSetWithContext(ctx context.Context, key, field, value string) StatusResult {\n\treturn c.hset(ctx, key, field, value)\n}\n\nfunc (c *Client) hset(ctx context.Context, key, field, value string) StatusResult {\n\treq := c.newExecuteRequest(\"HSET\", key, field, value)\n\tresp, err := c.executor.ExecuteCommand(ctx, req)\n\tif err != nil {\n\t\treturn StatusResult{err: fmt.Errorf(\"could not execute command: %v\", err)}\n\t}\n\treturn newStatusResult(resp)\n}\n\n//HVals returns values of a hash stored at the given key.\nfunc (c *Client) HVals(key string) ListResult {\n\treturn c.hvals(context.Background(), key)\n}\n\n//HValsWithContext similar to HVals but with context.\nfunc (c *Client) HValsWithContext(ctx context.Context, key string) ListResult {\n\treturn c.hvals(ctx, key)\n}\n\nfunc (c *Client) hvals(ctx context.Context, key string) ListResult {\n\treq := c.newExecuteRequest(\"HVALS\", key)\n\tresp, err := c.executor.ExecuteCommand(ctx, req)\n\tif err != nil {\n\t\treturn ListResult{err: fmt.Errorf(\"could not execute command: %v\", err)}\n\t}\n\treturn newListResult(resp)\n}\n\n//HDel deletes given fields from map stored at the given key.\nfunc (c *Client) HDel(key string, field string, fields ...string) ScalarResult {\n\treturn c.hdel(context.Background(), key, field, fields...)\n}\n\n//HDelWithContext similar to HDel but with context.\nfunc (c *Client) HDelWithContext(ctx context.Context, key, field string, fields ...string) ScalarResult {\n\treturn c.hdel(ctx, key, field, fields...)\n}\n\nfunc (c *Client) hdel(ctx context.Context, key, field string, fields ...string) ScalarResult {\n\targs := append([]string{key, field}, fields...)\n\treq := c.newExecuteRequest(\"HDEL\", args...)\n\tresp, err := c.executor.ExecuteCommand(ctx, req)\n\tif err != nil {\n\t\treturn ScalarResult{err: fmt.Errorf(\"could not execute command: %v\", err)}\n\t}\n\treturn newScalarResult(resp)\n}\n\n//Keys returns all keys that matched to the given pattern.\nfunc (c *Client) Keys(pattern string) ListResult {\n\treturn c.keys(context.Background(), pattern)\n}\n\n//KeysWithContext similar to Keys but with context.\nfunc (c *Client) KeysWithContext(ctx context.Context, pattern string) ListResult {\n\treturn c.keys(ctx, pattern)\n}\n\nfunc (c *Client) keys(ctx context.Context, pattern string) ListResult {\n\treq := c.newExecuteRequest(\"KEYS\", pattern)\n\tresp, err := c.executor.ExecuteCommand(ctx, req)\n\tif err != nil {\n\t\treturn ListResult{err: fmt.Errorf(\"could not execute command: %v\", err)}\n\t}\n\treturn newListResult(resp)\n}\n\n//LIndex returns a value at the index in the list stored at the given key.\nfunc (c *Client) LIndex(key string, index int) ScalarResult {\n\treturn c.lindex(context.Background(), key, index)\n}\n\n//LIndexWithContext similar to LIndex but with context.\nfunc (c *Client) LIndexWithContext(ctx context.Context, key string, index int) ScalarResult {\n\treturn c.lindex(ctx, key, index)\n}\n\nfunc (c *Client) lindex(ctx context.Context, key string, index int) ScalarResult {\n\treq := c.newExecuteRequest(\"LINDEX\", key, strconv.Itoa(index))\n\tresp, err := c.executor.ExecuteCommand(ctx, req)\n\tif err != nil {\n\t\treturn ScalarResult{err: fmt.Errorf(\"could not execute command: %v\", err)}\n\t}\n\treturn newScalarResult(resp)\n}\n\n//LLen returns a number of the elements in the list stored at the given key.\nfunc (c *Client) LLen(key string) ScalarResult {\n\treturn c.llen(context.Background(), key)\n}\n\n//LLenWithContext similar to LLen but with context.\nfunc (c *Client) LLenWithContext(ctx context.Context, key string) ScalarResult {\n\treturn c.llen(ctx, key)\n}\n\nfunc (c *Client) llen(ctx context.Context, key string) ScalarResult {\n\treq := c.newExecuteRequest(\"LLEN\", key)\n\tresp, err := c.executor.ExecuteCommand(ctx, req)\n\tif err != nil {\n\t\treturn ScalarResult{err: fmt.Errorf(\"could not execute command: %v\", err)}\n\t}\n\treturn newScalarResult(resp)\n}\n\n//LPop removes and returns the first element of the list stored at the given key.\nfunc (c *Client) LPop(key string) ScalarResult {\n\treturn c.lpop(context.Background(), key)\n}\n\n//LPopWithContext similar to LPop but with context.\nfunc (c *Client) LPopWithContext(ctx context.Context, key string) ScalarResult {\n\treturn c.lpop(ctx, key)\n}\n\nfunc (c *Client) lpop(ctx context.Context, key string) ScalarResult {\n\treq := c.newExecuteRequest(\"LPOP\", key)\n\tresp, err := c.executor.ExecuteCommand(ctx, req)\n\tif err != nil {\n\t\treturn ScalarResult{err: fmt.Errorf(\"could not execute command: %v\", err)}\n\t}\n\treturn newScalarResult(resp)\n}\n\n//LPush prepends a new value to the list stored at the given key.\nfunc (c *Client) LPush(key, value string) StatusResult {\n\treturn c.lpush(context.Background(), key, value)\n}\n\n//LPushWithContext similar to LPush but with context.\nfunc (c *Client) LPushWithContext(ctx context.Context, key, value string) StatusResult {\n\treturn c.lpush(ctx, key, value)\n}\n\nfunc (c *Client) lpush(ctx context.Context, key, value string) StatusResult {\n\treq := c.newExecuteRequest(\"LPUSH\", key, value)\n\tresp, err := c.executor.ExecuteCommand(ctx, req)\n\tif err != nil {\n\t\treturn StatusResult{err: fmt.Errorf(\"could not execute command: %v\", err)}\n\t}\n\treturn newStatusResult(resp)\n}\n\n// RPush appends a new value(s) to the list stored at the given key.\nfunc (c *Client) RPush(key, value string, values ...string) StatusResult {\n\treturn c.rpush(context.Background(), key, value, values...)\n}\n\n// RPushWithContext similar to RPush but with context.\nfunc (c *Client) RPushWithContext(ctx context.Context, key, value string, values ...string) StatusResult {\n\treturn c.rpush(ctx, key, value, values...)\n}\n\nfunc (c *Client) rpush(ctx context.Context, key, value string, values ...string) StatusResult {\n\targs := append([]string{key, value}, values...)\n\treq := c.newExecuteRequest(\"RPUSH\", args...)\n\tresp, err := c.executor.ExecuteCommand(ctx, req)\n\tif err != nil {\n\t\treturn StatusResult{err: fmt.Errorf(\"could not execute command: %v\", err)}\n\t}\n\treturn newStatusResult(resp)\n}\n\n// RPop removes and returns the last element of the list stored at the given key.\nfunc (c *Client) RPop(key string) ScalarResult {\n\treturn c.rpop(context.Background(), key)\n}\n\n// RPopWithContext similar to RPop but with context.\nfunc (c *Client) RPopWithContext(ctx context.Context, key string) ScalarResult {\n\treturn c.rpop(ctx, key)\n}\n\nfunc (c *Client) rpop(ctx context.Context, key string) ScalarResult {\n\treq := c.newExecuteRequest(\"RPOP\", key)\n\tresp, err := c.executor.ExecuteCommand(ctx, req)\n\tif err != nil {\n\t\treturn ScalarResult{err: fmt.Errorf(\"could not execute command: %v\", err)}\n\t}\n\treturn newScalarResult(resp)\n}\n\n//LRange returns elements from the list stored at the given key.\n//Start and stop are zero-based indexes.\nfunc (c *Client) LRange(key string, start, stop int) ListResult {\n\treturn c.lrange(context.Background(), key, start, stop)\n}\n\n//LRangeWithContext similar to LRange but with context.\nfunc (c *Client) LRangeWithContext(ctx context.Context, key string, start, stop int) ListResult {\n\treturn c.lrange(ctx, key, start, stop)\n}\n\nfunc (c *Client) lrange(ctx context.Context, key string, start, stop int) ListResult {\n\treq := c.newExecuteRequest(\"LRANGE\", key, strconv.Itoa(start), strconv.Itoa(stop))\n\tresp, err := c.executor.ExecuteCommand(ctx, req)\n\tif err != nil {\n\t\treturn ListResult{err: fmt.Errorf(\"could not execute command: %v\", err)}\n\t}\n\treturn newListResult(resp)\n}\n\n//LRem removes a given value from the list stored at the given key.\nfunc (c *Client) LRem(key, value string) StatusResult {\n\treturn c.lrem(context.Background(), key, value)\n}\n\n//LRemWithContext similar to LRem but with context.\nfunc (c *Client) LRemWithContext(ctx context.Context, key, value string) StatusResult {\n\treturn c.lrem(ctx, key, value)\n}\n\nfunc (c *Client) lrem(ctx context.Context, key, value string) StatusResult {\n\treq := c.newExecuteRequest(\"LREM\", key, value)\n\tresp, err := c.executor.ExecuteCommand(ctx, req)\n\tif err != nil {\n\t\treturn StatusResult{err: fmt.Errorf(\"could not execute command: %v\", err)}\n\t}\n\treturn newStatusResult(resp)\n}\n\n//Ping returns PONG if no argument is provided, otherwise returns a copy of the argument as a bulk.\nfunc (c *Client) Ping(args ...string) ScalarResult {\n\treturn c.ping(context.Background(), args...)\n}\n\n//PingWithContext similar to Ping but with context.\nfunc (c *Client) PingWithContext(ctx context.Context, args ...string) ScalarResult {\n\treturn c.ping(ctx, args...)\n}\n\nfunc (c *Client) ping(ctx context.Context, args ...string) ScalarResult {\n\treq := c.newExecuteRequest(\"PING\", args...)\n\tresp, err := c.executor.ExecuteCommand(ctx, req)\n\tif err != nil {\n\t\treturn ScalarResult{err: fmt.Errorf(\"could not execute command: %v\", err)}\n\t}\n\treturn newScalarResult(resp)\n}\n\n//SetBit sets or clears the bit at offset in the bitmap stored at key.\nfunc (c *Client) SetBit(key string, offset, value uint64) StatusResult {\n\treturn c.setbit(context.Background(), key, offset, value)\n}\n\n//SetBitWithContext similar to SetBit but with context.\nfunc (c *Client) SetBitWithContext(ctx context.Context, key string, offset, value uint64) StatusResult {\n\treturn c.setbit(ctx, key, offset, value)\n}\n\nfunc (c *Client) setbit(ctx context.Context, key string, offset, value uint64) StatusResult {\n\treq := c.newExecuteRequest(\"SETBIT\", key, strconv.FormatUint(offset, 10), strconv.FormatUint(value, 10))\n\tresp, err := c.executor.ExecuteCommand(ctx, req)\n\tif err != nil {\n\t\treturn StatusResult{err: fmt.Errorf(\"could not execute command: %v\", err)}\n\t}\n\treturn newStatusResult(resp)\n}\n\n//Strlen returns a length of the string stored at key.\nfunc (c *Client) Strlen(key string) ScalarResult {\n\treturn c.strlen(context.Background(), key)\n}\n\n//StrlenWithContext similar to Strlen but with context.\nfunc (c *Client) StrlenWithContext(ctx context.Context, key string) ScalarResult {\n\treturn c.strlen(ctx, key)\n}\n\nfunc (c *Client) strlen(ctx context.Context, key string) ScalarResult {\n\treq := c.newExecuteRequest(\"STRLEN\", key)\n\tresp, err := c.executor.ExecuteCommand(ctx, req)\n\tif err != nil {\n\t\treturn ScalarResult{err: fmt.Errorf(\"could not execute command: %v\", err)}\n\t}\n\treturn newScalarResult(resp)\n}\n\n//TTL returns the remaining time to live of a key. -1 returns if key does not have timeout.\nfunc (c *Client) TTL(key string) ScalarResult {\n\treturn c.ttl(context.Background(), key)\n}\n\n//TTLWithContext similar to TTL but with context.\nfunc (c *Client) TTLWithContext(ctx context.Context, key string) ScalarResult {\n\treturn c.ttl(ctx, key)\n}\n\nfunc (c *Client) ttl(ctx context.Context, key string) ScalarResult {\n\treq := c.newExecuteRequest(\"TTL\", key)\n\tresp, err := c.executor.ExecuteCommand(ctx, req)\n\tif err != nil {\n\t\treturn ScalarResult{err: fmt.Errorf(\"could not execute command: %v\", err)}\n\t}\n\treturn newScalarResult(resp)\n}\n\n//Type returns a data type of a value stored at key.\nfunc (c *Client) Type(key string) ScalarResult {\n\treturn c.getType(context.Background(), key)\n}\n\n//TypeWithContext similar to Type but with context.\nfunc (c *Client) TypeWithContext(ctx context.Context, key string) ScalarResult {\n\treturn c.getType(ctx, key)\n}\n\nfunc (c *Client) getType(ctx context.Context, key string) ScalarResult {\n\treq := c.newExecuteRequest(\"TYPE\", key)\n\tresp, err := c.executor.ExecuteCommand(ctx, req)\n\tif err != nil {\n\t\treturn ScalarResult{err: fmt.Errorf(\"could not execute command: %v\", err)}\n\t}\n\treturn newScalarResult(resp)\n}\n"
  },
  {
    "path": "client/client_del_test.go",
    "content": "package client\n\nimport (\n\tcontext \"context\"\n\t\"errors\"\n\t\"testing\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/namreg/godown/internal/api\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestClient_Del(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttests := []struct {\n\t\tname          string\n\t\targ           string\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    StatusResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"DEL key\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult:    StatusResult{err: errors.New(\"could not execute command: something went wrong\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"DEL key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: StatusResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_ok\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"DEL key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: StatusResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"DEL key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.RawStringCommandReply,\n\t\t\t\tItem:  \"raw string\",\n\t\t\t},\n\t\t\twantResult: StatusResult{err: errors.New(\"unexpected reply: RAW_STRING\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc)\n\t\t\tmock.ExecuteCommandMock.\n\t\t\t\tExpect(context.Background(), &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.Del(tt.arg)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n\nfunc TestClient_DelWithContext(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tctx context.Context\n\t\tkey string\n\t}\n\n\ttests := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCtx     context.Context\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    StatusResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"DEL key\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult:    StatusResult{err: errors.New(\"could not execute command: something went wrong\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"DEL key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: StatusResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_ok\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"DEL key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: StatusResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"DEL key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.RawStringCommandReply,\n\t\t\t\tItem:  \"raw string\",\n\t\t\t},\n\t\t\twantResult: StatusResult{err: errors.New(\"unexpected reply: RAW_STRING\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"with_custom_context\",\n\t\t\targs:          args{ctx: contextWithValue(\"ctx_key\", \"ctx_value\"), key: \"key\"},\n\t\t\texpectCtx:     contextWithValue(\"ctx_key\", \"ctx_value\"),\n\t\t\texpectCommand: \"DEL key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: StatusResult{},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc)\n\t\t\tmock.ExecuteCommandMock.\n\t\t\t\tExpect(tt.expectCtx, &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.DelWithContext(tt.args.ctx, tt.args.key)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n"
  },
  {
    "path": "client/client_expire_test.go",
    "content": "package client\n\nimport (\n\tcontext \"context\"\n\t\"errors\"\n\t\"testing\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/namreg/godown/internal/api\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestClient_Expire(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tkey  string\n\t\tsecs int\n\t}\n\n\ttests := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    StatusResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{key: \"key\", secs: 10},\n\t\t\texpectCommand: \"EXPIRE key 10\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult:    StatusResult{err: errors.New(\"could not execute command: something went wrong\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{key: \"key\", secs: 10},\n\t\t\texpectCommand: \"EXPIRE key 10\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: StatusResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_ok\",\n\t\t\targs:          args{key: \"key\", secs: 10},\n\t\t\texpectCommand: \"EXPIRE key 10\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: StatusResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{key: \"key\", secs: 10},\n\t\t\texpectCommand: \"EXPIRE key 10\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.RawStringCommandReply,\n\t\t\t\tItem:  \"raw string\",\n\t\t\t},\n\t\t\twantResult: StatusResult{err: errors.New(\"unexpected reply: RAW_STRING\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc)\n\t\t\tmock.ExecuteCommandMock.\n\t\t\t\tExpect(context.Background(), &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.Expire(tt.args.key, tt.args.secs)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n\nfunc TestClient_ExpireWithContext(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tctx  context.Context\n\t\tkey  string\n\t\tsecs int\n\t}\n\n\ttests := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCtx     context.Context\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    StatusResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", secs: 10},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"EXPIRE key 10\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult:    StatusResult{err: errors.New(\"could not execute command: something went wrong\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", secs: 10},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"EXPIRE key 10\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: StatusResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_ok\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", secs: 10},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"EXPIRE key 10\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: StatusResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", secs: 10},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"EXPIRE key 10\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.RawStringCommandReply,\n\t\t\t\tItem:  \"raw string\",\n\t\t\t},\n\t\t\twantResult: StatusResult{err: errors.New(\"unexpected reply: RAW_STRING\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"with_custom_context\",\n\t\t\targs:          args{ctx: contextWithValue(\"ctx_key\", \"ctx_value\"), key: \"key\", secs: 10},\n\t\t\texpectCtx:     contextWithValue(\"ctx_key\", \"ctx_value\"),\n\t\t\texpectCommand: \"EXPIRE key 10\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: StatusResult{},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc)\n\t\t\tmock.ExecuteCommandMock.\n\t\t\t\tExpect(tt.expectCtx, &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.ExpireWithContext(tt.args.ctx, tt.args.key, tt.args.secs)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n"
  },
  {
    "path": "client/client_get_test.go",
    "content": "package client\n\nimport (\n\t\"context\"\n\t\"errors\"\n\t\"testing\"\n\n\t\"github.com/namreg/godown/internal/api\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestClient_Get(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttest := []struct {\n\t\tname          string\n\t\targ           string\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    ScalarResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targ:           \"test_key\",\n\t\t\texpectCommand: \"GET test_key\",\n\t\t\tmockErr:       errors.New(\"server error\"),\n\t\t\twantResult: ScalarResult{\n\t\t\t\terr: errors.New(\"could not execute command: server error\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targ:           \"test_key\",\n\t\t\texpectCommand: \"GET test_key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"something went wrong\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{\n\t\t\t\terr: errors.New(\"something went wrong\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_nil\",\n\t\t\targ:           \"test_key\",\n\t\t\texpectCommand: \"GET test_key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.NilCommandReply,\n\t\t\t},\n\t\t\twantResult: ScalarResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_string\",\n\t\t\targ:           \"test_key\",\n\t\t\texpectCommand: \"GET test_key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.StringCommandReply,\n\t\t\t\tItem:  \"value\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{val: stringToPtr(\"value\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targ:           \"test_key\",\n\t\t\texpectCommand: \"GET test_key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.SliceCommandReply,\n\t\t\t\tItems: []string{\"val\"},\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"unexpected reply: SLICE\")},\n\t\t},\n\t}\n\n\tfor _, tt := range test {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc)\n\t\t\tmock.ExecuteCommandMock.\n\t\t\t\tExpect(context.Background(), &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.Get(tt.arg)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n\nfunc TestClient_GetWithContext(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tctx context.Context\n\t\tkey string\n\t}\n\n\ttest := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCtx     context.Context\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    ScalarResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{key: \"test_key\", ctx: context.Background()},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"GET test_key\",\n\t\t\tmockErr:       errors.New(\"server error\"),\n\t\t\twantResult: ScalarResult{\n\t\t\t\terr: errors.New(\"could not execute command: server error\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{key: \"test_key\", ctx: context.Background()},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"GET test_key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"something went wrong\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{\n\t\t\t\terr: errors.New(\"something went wrong\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_nil\",\n\t\t\targs:          args{key: \"test_key\", ctx: context.Background()},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"GET test_key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.NilCommandReply,\n\t\t\t},\n\t\t\twantResult: ScalarResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_string\",\n\t\t\targs:          args{key: \"test_key\", ctx: context.Background()},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"GET test_key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.StringCommandReply,\n\t\t\t\tItem:  \"value\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{val: stringToPtr(\"value\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{key: \"test_key\", ctx: context.Background()},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"GET test_key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.SliceCommandReply,\n\t\t\t\tItems: []string{\"val\"},\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"unexpected reply: SLICE\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"custom_context\",\n\t\t\targs:          args{ctx: contextWithValue(\"ctx_key\", \"ctx_value\"), key: \"test_key\"},\n\t\t\texpectCtx:     contextWithValue(\"ctx_key\", \"ctx_value\"),\n\t\t\texpectCommand: \"GET test_key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.SliceCommandReply,\n\t\t\t\tItems: []string{\"val\"},\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"unexpected reply: SLICE\")},\n\t\t},\n\t}\n\n\tfor _, tt := range test {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc)\n\t\t\tmock.ExecuteCommandMock.\n\t\t\t\tExpect(tt.args.ctx, &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.GetWithContext(tt.args.ctx, tt.args.key)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n"
  },
  {
    "path": "client/client_getbit_test.go",
    "content": "package client\n\nimport (\n\tcontext \"context\"\n\t\"errors\"\n\t\"testing\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/namreg/godown/internal/api\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestClient_GetBit(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tkey    string\n\t\toffset uint64\n\t}\n\n\ttests := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    ScalarResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{key: \"key\", offset: 1},\n\t\t\texpectCommand: \"GETBIT key 1\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult:    ScalarResult{err: errors.New(\"could not execute command: something went wrong\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{key: \"key\", offset: 1},\n\t\t\texpectCommand: \"GETBIT key 1\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_int\",\n\t\t\targs:          args{key: \"key\", offset: 1},\n\t\t\texpectCommand: \"GETBIT key 1\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.IntCommandReply,\n\t\t\t\tItem:  \"1\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{val: stringToPtr(\"1\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{key: \"key\", offset: 1},\n\t\t\texpectCommand: \"GETBIT key 1\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.SliceCommandReply,\n\t\t\t\tItems: []string{\"val\"},\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"unexpected reply: SLICE\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc)\n\t\t\tmock.ExecuteCommandMock.\n\t\t\t\tExpect(context.Background(), &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.GetBit(tt.args.key, tt.args.offset)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n\nfunc TestClient_GetBitWithContext(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tctx    context.Context\n\t\tkey    string\n\t\toffset uint64\n\t}\n\n\ttests := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCtx     context.Context\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    ScalarResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", offset: 1},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"GETBIT key 1\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult:    ScalarResult{err: errors.New(\"could not execute command: something went wrong\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", offset: 1},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"GETBIT key 1\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_int\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", offset: 1},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"GETBIT key 1\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.IntCommandReply,\n\t\t\t\tItem:  \"1\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{val: stringToPtr(\"1\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", offset: 1},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"GETBIT key 1\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.SliceCommandReply,\n\t\t\t\tItems: []string{\"val\"},\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"unexpected reply: SLICE\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"with_custom_context\",\n\t\t\targs:          args{ctx: contextWithValue(\"ctx_key\", \"ctx_value\"), key: \"key\", offset: 1},\n\t\t\texpectCtx:     contextWithValue(\"ctx_key\", \"ctx_value\"),\n\t\t\texpectCommand: \"GETBIT key 1\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.IntCommandReply,\n\t\t\t\tItem:  \"1\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{val: stringToPtr(\"1\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc)\n\t\t\tmock.ExecuteCommandMock.\n\t\t\t\tExpect(tt.expectCtx, &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.GetBitWithContext(tt.args.ctx, tt.args.key, tt.args.offset)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n"
  },
  {
    "path": "client/client_hdel_test.go",
    "content": "package client\n\nimport (\n\tcontext \"context\"\n\t\"errors\"\n\t\"testing\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/namreg/godown/internal/api\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestClient_HDel(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tkey    string\n\t\tfields []string\n\t}\n\n\ttests := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    ScalarResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{key: \"key\", fields: []string{\"field1\", \"field2\"}},\n\t\t\texpectCommand: \"HDEL key field1 field2\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult:    ScalarResult{err: errors.New(\"could not execute command: something went wrong\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{key: \"key\", fields: []string{\"field1\", \"field2\"}},\n\t\t\texpectCommand: \"HDEL key field1 field2\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_int\",\n\t\t\targs:          args{key: \"key\", fields: []string{\"field1\", \"field2\"}},\n\t\t\texpectCommand: \"HDEL key field1 field2\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.IntCommandReply,\n\t\t\t\tItem:  \"2\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{val: stringToPtr(\"2\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{key: \"key\", fields: []string{\"field1\", \"field2\"}},\n\t\t\texpectCommand: \"HDEL key field1 field2\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"unexpected reply: OK\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc).ExecuteCommandMock.\n\t\t\t\tExpect(context.Background(), &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.HDel(tt.args.key, tt.args.fields[0], tt.args.fields[1:]...)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n\nfunc TestClient_HDelWithContext(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tctx    context.Context\n\t\tkey    string\n\t\tfields []string\n\t}\n\n\ttests := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCtx     context.Context\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    ScalarResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", fields: []string{\"field1\", \"field2\"}},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"HDEL key field1 field2\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult:    ScalarResult{err: errors.New(\"could not execute command: something went wrong\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", fields: []string{\"field1\", \"field2\"}},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"HDEL key field1 field2\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_int\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", fields: []string{\"field1\", \"field2\"}},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"HDEL key field1 field2\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.IntCommandReply,\n\t\t\t\tItem:  \"2\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{val: stringToPtr(\"2\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"custom_context\",\n\t\t\targs:          args{ctx: contextWithValue(\"key\", \"value\"), key: \"key\", fields: []string{\"field1\", \"field2\"}},\n\t\t\texpectCtx:     contextWithValue(\"key\", \"value\"),\n\t\t\texpectCommand: \"HDEL key field1 field2\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.IntCommandReply,\n\t\t\t\tItem:  \"2\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{val: stringToPtr(\"2\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", fields: []string{\"field1\", \"field2\"}},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"HDEL key field1 field2\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"unexpected reply: OK\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc).ExecuteCommandMock.\n\t\t\t\tExpect(tt.expectCtx, &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.HDelWithContext(tt.args.ctx, tt.args.key, tt.args.fields[0], tt.args.fields[1:]...)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n"
  },
  {
    "path": "client/client_hget_test.go",
    "content": "package client\n\nimport (\n\tcontext \"context\"\n\t\"errors\"\n\t\"testing\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/namreg/godown/internal/api\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestClient_HGet(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tkey, field string\n\t}\n\n\ttest := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    ScalarResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{key: \"key\", field: \"field\"},\n\t\t\texpectCommand: \"HGET key field\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult: ScalarResult{\n\t\t\t\terr: errors.New(\"could not execute command: something went wrong\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{key: \"key\", field: \"field\"},\n\t\t\texpectCommand: \"HGET key field\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{\n\t\t\t\terr: errors.New(\"internal server error\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_nil\",\n\t\t\targs:          args{key: \"key\", field: \"field\"},\n\t\t\texpectCommand: \"HGET key field\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.NilCommandReply,\n\t\t\t},\n\t\t\twantResult: ScalarResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_string\",\n\t\t\targs:          args{key: \"key\", field: \"field\"},\n\t\t\texpectCommand: \"HGET key field\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.StringCommandReply,\n\t\t\t\tItem:  \"string\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{val: stringToPtr(\"string\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{key: \"key\", field: \"field\"},\n\t\t\texpectCommand: \"HGET key field\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.SliceCommandReply,\n\t\t\t\tItems: []string{\"val\"},\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"unexpected reply: SLICE\")},\n\t\t},\n\t}\n\n\tfor _, tt := range test {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc)\n\t\t\tmock.ExecuteCommandMock.\n\t\t\t\tExpect(context.Background(), &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.HGet(tt.args.key, tt.args.field)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n\nfunc TestClient_HGetWithContext(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tctx        context.Context\n\t\tkey, field string\n\t}\n\n\ttest := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCtx     context.Context\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    ScalarResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", field: \"field\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"HGET key field\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult: ScalarResult{\n\t\t\t\terr: errors.New(\"could not execute command: something went wrong\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", field: \"field\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"HGET key field\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{\n\t\t\t\terr: errors.New(\"internal server error\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_nil\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", field: \"field\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"HGET key field\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.NilCommandReply,\n\t\t\t},\n\t\t\twantResult: ScalarResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_string\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", field: \"field\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"HGET key field\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.StringCommandReply,\n\t\t\t\tItem:  \"string\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{val: stringToPtr(\"string\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", field: \"field\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"HGET key field\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.SliceCommandReply,\n\t\t\t\tItems: []string{\"val\"},\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"unexpected reply: SLICE\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"custon_context\",\n\t\t\targs:          args{ctx: contextWithValue(\"custom_key\", \"custom_value\"), key: \"key\", field: \"field\"},\n\t\t\texpectCtx:     contextWithValue(\"custom_key\", \"custom_value\"),\n\t\t\texpectCommand: \"HGET key field\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.SliceCommandReply,\n\t\t\t\tItems: []string{\"val\"},\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"unexpected reply: SLICE\")},\n\t\t},\n\t}\n\n\tfor _, tt := range test {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc)\n\t\t\tmock.ExecuteCommandMock.\n\t\t\t\tExpect(tt.expectCtx, &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.HGetWithContext(tt.args.ctx, tt.args.key, tt.args.field)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n"
  },
  {
    "path": "client/client_hkeys_test.go",
    "content": "package client\n\nimport (\n\tcontext \"context\"\n\t\"errors\"\n\t\"testing\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/namreg/godown/internal/api\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestClient_HKeys(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttests := []struct {\n\t\tname          string\n\t\targ           string\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    ListResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"HKEYS key\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult: ListResult{\n\t\t\t\terr: errors.New(\"could not execute command: something went wrong\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"HKEYS key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: ListResult{\n\t\t\t\terr: errors.New(\"internal server error\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_nil\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"HKEYS key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.NilCommandReply,\n\t\t\t},\n\t\t\twantResult: ListResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_slice\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"HKEYS key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.SliceCommandReply,\n\t\t\t\tItems: []string{\"string1\", \"string2\"},\n\t\t\t},\n\t\t\twantResult: ListResult{val: []string{\"string1\", \"string2\"}},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"HKEYS key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.StringCommandReply,\n\t\t\t\tItem:  \"string\",\n\t\t\t},\n\t\t\twantResult: ListResult{err: errors.New(\"unexpected reply: STRING\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc)\n\t\t\tmock.ExecuteCommandMock.\n\t\t\t\tExpect(context.Background(), &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.HKeys(tt.arg)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n\nfunc TestClient_HKeysWithContext(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tctx context.Context\n\t\tkey string\n\t}\n\n\ttests := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCtx     context.Context\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    ListResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"HKEYS key\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult: ListResult{\n\t\t\t\terr: errors.New(\"could not execute command: something went wrong\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"HKEYS key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: ListResult{\n\t\t\t\terr: errors.New(\"internal server error\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_nil\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"HKEYS key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.NilCommandReply,\n\t\t\t},\n\t\t\twantResult: ListResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_slice\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"HKEYS key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.SliceCommandReply,\n\t\t\t\tItems: []string{\"string1\", \"string2\"},\n\t\t\t},\n\t\t\twantResult: ListResult{val: []string{\"string1\", \"string2\"}},\n\t\t},\n\t\t{\n\t\t\tname:          \"custom_context\",\n\t\t\targs:          args{ctx: contextWithValue(\"key\", \"value\"), key: \"key\"},\n\t\t\texpectCtx:     contextWithValue(\"key\", \"value\"),\n\t\t\texpectCommand: \"HKEYS key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.SliceCommandReply,\n\t\t\t\tItems: []string{\"string1\", \"string2\"},\n\t\t\t},\n\t\t\twantResult: ListResult{val: []string{\"string1\", \"string2\"}},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"HKEYS key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.StringCommandReply,\n\t\t\t\tItem:  \"string\",\n\t\t\t},\n\t\t\twantResult: ListResult{err: errors.New(\"unexpected reply: STRING\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc)\n\t\t\tmock.ExecuteCommandMock.\n\t\t\t\tExpect(tt.expectCtx, &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.HKeysWithContext(tt.args.ctx, tt.args.key)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n"
  },
  {
    "path": "client/client_hset_test.go",
    "content": "package client\n\nimport (\n\tcontext \"context\"\n\t\"errors\"\n\t\"testing\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/namreg/godown/internal/api\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestClient_HSet(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tkey, field, value string\n\t}\n\n\ttests := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    StatusResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{key: \"key\", field: \"field\", value: \"val\"},\n\t\t\texpectCommand: \"HSET key field val\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult:    StatusResult{err: errors.New(\"could not execute command: something went wrong\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{key: \"key\", field: \"field\", value: \"val\"},\n\t\t\texpectCommand: \"HSET key field val\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: StatusResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_ok\",\n\t\t\targs:          args{key: \"key\", field: \"field\", value: \"val\"},\n\t\t\texpectCommand: \"HSET key field val\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: StatusResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{key: \"key\", field: \"field\", value: \"val\"},\n\t\t\texpectCommand: \"HSET key field val\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.IntCommandReply,\n\t\t\t\tItem:  \"5\",\n\t\t\t},\n\t\t\twantResult: StatusResult{err: errors.New(\"unexpected reply: INT\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc).ExecuteCommandMock.\n\t\t\t\tExpect(context.Background(), &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.HSet(tt.args.key, tt.args.field, tt.args.value)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n\nfunc TestClient_HSetWithContext(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tctx   context.Context\n\t\tkey   string\n\t\tfield string\n\t\tvalue string\n\t}\n\n\ttests := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCtx     context.Context\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    StatusResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", field: \"field\", value: \"val\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"HSET key field val\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult:    StatusResult{err: errors.New(\"could not execute command: something went wrong\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", field: \"field\", value: \"val\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"HSET key field val\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: StatusResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_ok\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", field: \"field\", value: \"val\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"HSET key field val\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: StatusResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"custom_context\",\n\t\t\targs:          args{ctx: contextWithValue(\"key\", \"value\"), key: \"key\", field: \"field\", value: \"val\"},\n\t\t\texpectCtx:     contextWithValue(\"key\", \"value\"),\n\t\t\texpectCommand: \"HSET key field val\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: StatusResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", field: \"field\", value: \"val\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"HSET key field val\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.IntCommandReply,\n\t\t\t\tItem:  \"5\",\n\t\t\t},\n\t\t\twantResult: StatusResult{err: errors.New(\"unexpected reply: INT\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc).ExecuteCommandMock.\n\t\t\t\tExpect(tt.expectCtx, &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.HSetWithContext(tt.args.ctx, tt.args.key, tt.args.field, tt.args.value)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n"
  },
  {
    "path": "client/client_hvals_test.go",
    "content": "package client\n\nimport (\n\tcontext \"context\"\n\t\"errors\"\n\t\"testing\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/namreg/godown/internal/api\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestClient_HVals(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttests := []struct {\n\t\tname          string\n\t\targ           string\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    ListResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"HVALS key\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult: ListResult{\n\t\t\t\terr: errors.New(\"could not execute command: something went wrong\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"HVALS key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: ListResult{\n\t\t\t\terr: errors.New(\"internal server error\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_nil\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"HVALS key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.NilCommandReply,\n\t\t\t},\n\t\t\twantResult: ListResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_slice\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"HVALS key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.SliceCommandReply,\n\t\t\t\tItems: []string{\"string1\", \"string2\"},\n\t\t\t},\n\t\t\twantResult: ListResult{val: []string{\"string1\", \"string2\"}},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"HVALS key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: ListResult{err: errors.New(\"unexpected reply: OK\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc)\n\t\t\tmock.ExecuteCommandMock.\n\t\t\t\tExpect(context.Background(), &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.HVals(tt.arg)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n\nfunc TestClient_HValsWithContext(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tctx context.Context\n\t\tkey string\n\t}\n\n\ttests := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCtx     context.Context\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    ListResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"HVALS key\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult: ListResult{\n\t\t\t\terr: errors.New(\"could not execute command: something went wrong\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"HVALS key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: ListResult{\n\t\t\t\terr: errors.New(\"internal server error\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_nil\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"HVALS key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.NilCommandReply,\n\t\t\t},\n\t\t\twantResult: ListResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_slice\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"HVALS key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.SliceCommandReply,\n\t\t\t\tItems: []string{\"string1\", \"string2\"},\n\t\t\t},\n\t\t\twantResult: ListResult{val: []string{\"string1\", \"string2\"}},\n\t\t},\n\t\t{\n\t\t\tname:          \"custom_context\",\n\t\t\targs:          args{ctx: contextWithValue(\"key\", \"value\"), key: \"key\"},\n\t\t\texpectCtx:     contextWithValue(\"key\", \"value\"),\n\t\t\texpectCommand: \"HVALS key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.SliceCommandReply,\n\t\t\t\tItems: []string{\"string1\", \"string2\"},\n\t\t\t},\n\t\t\twantResult: ListResult{val: []string{\"string1\", \"string2\"}},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"HVALS key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: ListResult{err: errors.New(\"unexpected reply: OK\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc)\n\t\t\tmock.ExecuteCommandMock.\n\t\t\t\tExpect(tt.expectCtx, &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.HValsWithContext(tt.args.ctx, tt.args.key)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n"
  },
  {
    "path": "client/client_keys_test.go",
    "content": "package client\n\nimport (\n\tcontext \"context\"\n\t\"errors\"\n\t\"testing\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/namreg/godown/internal/api\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestClient_Keys(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttests := []struct {\n\t\tname          string\n\t\targ           string\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    ListResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targ:           \"*\",\n\t\t\texpectCommand: \"KEYS *\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult: ListResult{\n\t\t\t\terr: errors.New(\"could not execute command: something went wrong\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targ:           \"*\",\n\t\t\texpectCommand: \"KEYS *\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: ListResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_slice\",\n\t\t\targ:           \"*\",\n\t\t\texpectCommand: \"KEYS *\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.SliceCommandReply,\n\t\t\t\tItems: []string{\"key1\"},\n\t\t\t},\n\t\t\twantResult: ListResult{val: []string{\"key1\"}},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targ:           \"*\",\n\t\t\texpectCommand: \"KEYS *\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.IntCommandReply,\n\t\t\t\tItem:  \"1\",\n\t\t\t},\n\t\t\twantResult: ListResult{err: errors.New(\"unexpected reply: INT\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc)\n\t\t\tmock.ExecuteCommandMock.\n\t\t\t\tExpect(context.Background(), &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.Keys(tt.arg)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n\nfunc TestClient_KeysWithContext(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tctx     context.Context\n\t\tpattern string\n\t}\n\n\ttests := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCtx     context.Context\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    ListResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{ctx: context.Background(), pattern: \"*\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"KEYS *\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult: ListResult{\n\t\t\t\terr: errors.New(\"could not execute command: something went wrong\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{ctx: context.Background(), pattern: \"*\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"KEYS *\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: ListResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_slice\",\n\t\t\targs:          args{ctx: context.Background(), pattern: \"*\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"KEYS *\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.SliceCommandReply,\n\t\t\t\tItems: []string{\"key1\"},\n\t\t\t},\n\t\t\twantResult: ListResult{val: []string{\"key1\"}},\n\t\t},\n\t\t{\n\t\t\tname:          \"custom_context\",\n\t\t\targs:          args{ctx: contextWithValue(\"key\", \"value\"), pattern: \"*\"},\n\t\t\texpectCtx:     contextWithValue(\"key\", \"value\"),\n\t\t\texpectCommand: \"KEYS *\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.SliceCommandReply,\n\t\t\t\tItems: []string{\"key1\"},\n\t\t\t},\n\t\t\twantResult: ListResult{val: []string{\"key1\"}},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{ctx: context.Background(), pattern: \"*\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"KEYS *\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.IntCommandReply,\n\t\t\t\tItem:  \"1\",\n\t\t\t},\n\t\t\twantResult: ListResult{err: errors.New(\"unexpected reply: INT\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc)\n\t\t\tmock.ExecuteCommandMock.\n\t\t\t\tExpect(tt.expectCtx, &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.KeysWithContext(tt.args.ctx, tt.args.pattern)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n"
  },
  {
    "path": "client/client_lindex_test.go",
    "content": "package client\n\nimport (\n\tcontext \"context\"\n\t\"errors\"\n\t\"testing\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/namreg/godown/internal/api\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestClient_LIndex(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tkey   string\n\t\tindex int\n\t}\n\n\ttests := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    ScalarResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{key: \"key\", index: 2},\n\t\t\texpectCommand: \"LINDEX key 2\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult: ScalarResult{\n\t\t\t\terr: errors.New(\"could not execute command: something went wrong\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{key: \"key\", index: 2},\n\t\t\texpectCommand: \"LINDEX key 2\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_nil\",\n\t\t\targs:          args{key: \"key\", index: 2},\n\t\t\texpectCommand: \"LINDEX key 2\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.NilCommandReply,\n\t\t\t},\n\t\t\twantResult: ScalarResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_string\",\n\t\t\targs:          args{key: \"key\", index: 2},\n\t\t\texpectCommand: \"LINDEX key 2\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.StringCommandReply,\n\t\t\t\tItem:  \"value\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{val: stringToPtr(\"value\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{key: \"key\", index: 2},\n\t\t\texpectCommand: \"LINDEX key 2\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.SliceCommandReply,\n\t\t\t\tItems: []string{\"val\"},\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"unexpected reply: SLICE\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc)\n\t\t\tmock.ExecuteCommandMock.\n\t\t\t\tExpect(context.Background(), &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.LIndex(tt.args.key, tt.args.index)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n\nfunc TestClient_LIndexWithContext(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tctx   context.Context\n\t\tkey   string\n\t\tindex int\n\t}\n\n\ttests := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCtx     context.Context\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    ScalarResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", index: 2},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"LINDEX key 2\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult: ScalarResult{\n\t\t\t\terr: errors.New(\"could not execute command: something went wrong\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", index: 2},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"LINDEX key 2\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_nil\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", index: 2},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"LINDEX key 2\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.NilCommandReply,\n\t\t\t},\n\t\t\twantResult: ScalarResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_string\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", index: 2},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"LINDEX key 2\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.StringCommandReply,\n\t\t\t\tItem:  \"value\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{val: stringToPtr(\"value\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"custom_context\",\n\t\t\targs:          args{ctx: contextWithValue(\"key\", \"value\"), key: \"key\", index: 2},\n\t\t\texpectCtx:     contextWithValue(\"key\", \"value\"),\n\t\t\texpectCommand: \"LINDEX key 2\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.StringCommandReply,\n\t\t\t\tItem:  \"value\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{val: stringToPtr(\"value\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", index: 2},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"LINDEX key 2\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.SliceCommandReply,\n\t\t\t\tItems: []string{\"val\"},\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"unexpected reply: SLICE\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc)\n\t\t\tmock.ExecuteCommandMock.\n\t\t\t\tExpect(tt.expectCtx, &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.LIndexWithContext(tt.args.ctx, tt.args.key, tt.args.index)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n"
  },
  {
    "path": "client/client_llen_test.go",
    "content": "package client\n\nimport (\n\tcontext \"context\"\n\t\"errors\"\n\t\"testing\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/namreg/godown/internal/api\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestClient_LLen(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttests := []struct {\n\t\tname          string\n\t\targ           string\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    ScalarResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"LLEN key\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult: ScalarResult{\n\t\t\t\terr: errors.New(\"could not execute command: something went wrong\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"LLEN key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_nil\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"LLEN key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.NilCommandReply,\n\t\t\t},\n\t\t\twantResult: ScalarResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_integer\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"LLEN key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.IntCommandReply,\n\t\t\t\tItem:  \"10\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{val: stringToPtr(\"10\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"LLEN key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.SliceCommandReply,\n\t\t\t\tItems: []string{\"10\"},\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"unexpected reply: SLICE\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc)\n\t\t\tmock.ExecuteCommandMock.\n\t\t\t\tExpect(context.Background(), &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.LLen(tt.arg)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n\nfunc TestClient_LLenWithContext(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tctx context.Context\n\t\tkey string\n\t}\n\n\ttests := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCtx     context.Context\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    ScalarResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"LLEN key\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult: ScalarResult{\n\t\t\t\terr: errors.New(\"could not execute command: something went wrong\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"LLEN key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_nil\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"LLEN key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.NilCommandReply,\n\t\t\t},\n\t\t\twantResult: ScalarResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_integer\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"LLEN key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.IntCommandReply,\n\t\t\t\tItem:  \"10\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{val: stringToPtr(\"10\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"custom_context\",\n\t\t\targs:          args{ctx: contextWithValue(\"key\", \"value\"), key: \"key\"},\n\t\t\texpectCtx:     contextWithValue(\"key\", \"value\"),\n\t\t\texpectCommand: \"LLEN key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.IntCommandReply,\n\t\t\t\tItem:  \"10\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{val: stringToPtr(\"10\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"LLEN key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.SliceCommandReply,\n\t\t\t\tItems: []string{\"10\"},\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"unexpected reply: SLICE\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc)\n\t\t\tmock.ExecuteCommandMock.\n\t\t\t\tExpect(tt.expectCtx, &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.LLenWithContext(tt.args.ctx, tt.args.key)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n"
  },
  {
    "path": "client/client_lpop_test.go",
    "content": "package client\n\nimport (\n\tcontext \"context\"\n\t\"errors\"\n\t\"testing\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/namreg/godown/internal/api\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestClient_LPop(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttests := []struct {\n\t\tname          string\n\t\targ           string\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    ScalarResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"LPOP key\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult: ScalarResult{\n\t\t\t\terr: errors.New(\"could not execute command: something went wrong\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"LPOP key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_nil\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"LPOP key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.NilCommandReply,\n\t\t\t},\n\t\t\twantResult: ScalarResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_string\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"LPOP key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.StringCommandReply,\n\t\t\t\tItem:  \"value\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{val: stringToPtr(\"value\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"LPOP key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"unexpected reply: OK\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc)\n\t\t\tmock.ExecuteCommandMock.\n\t\t\t\tExpect(context.Background(), &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.LPop(tt.arg)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n\nfunc TestClient_LPopWithContext(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tctx context.Context\n\t\tkey string\n\t}\n\n\ttests := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCtx     context.Context\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    ScalarResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"LPOP key\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult: ScalarResult{\n\t\t\t\terr: errors.New(\"could not execute command: something went wrong\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"LPOP key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_nil\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"LPOP key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.NilCommandReply,\n\t\t\t},\n\t\t\twantResult: ScalarResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_string\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"LPOP key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.StringCommandReply,\n\t\t\t\tItem:  \"value\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{val: stringToPtr(\"value\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"LPOP key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"unexpected reply: OK\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc)\n\t\t\tmock.ExecuteCommandMock.\n\t\t\t\tExpect(tt.expectCtx, &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.LPopWithContext(tt.args.ctx, tt.args.key)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n"
  },
  {
    "path": "client/client_lpush_test.go",
    "content": "package client\n\nimport (\n\t\"context\"\n\t\"errors\"\n\t\"testing\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/namreg/godown/internal/api\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestClient_LPush(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tkey, value string\n\t}\n\n\ttests := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    StatusResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{key: \"key\", value: \"val\"},\n\t\t\texpectCommand: \"LPUSH key val\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult: StatusResult{\n\t\t\t\terr: errors.New(\"could not execute command: something went wrong\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{key: \"key\", value: \"val\"},\n\t\t\texpectCommand: \"LPUSH key val\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: StatusResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_ok\",\n\t\t\targs:          args{key: \"key\", value: \"val\"},\n\t\t\texpectCommand: \"LPUSH key val\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: StatusResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{key: \"key\", value: \"val\"},\n\t\t\texpectCommand: \"LPUSH key val\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.StringCommandReply,\n\t\t\t\tItem:  \"string\",\n\t\t\t},\n\t\t\twantResult: StatusResult{err: errors.New(\"unexpected reply: STRING\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc)\n\t\t\tmock.ExecuteCommandMock.\n\t\t\t\tExpect(context.Background(), &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.LPush(tt.args.key, tt.args.value)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n\nfunc TestClient_LPushWithContext(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tkey   string\n\t\tvalue string\n\t\tctx   context.Context\n\t}\n\n\ttests := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCtx     context.Context\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    StatusResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", value: \"val\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"LPUSH key val\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult: StatusResult{\n\t\t\t\terr: errors.New(\"could not execute command: something went wrong\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", value: \"val\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"LPUSH key val\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: StatusResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_ok\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", value: \"val\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"LPUSH key val\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: StatusResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"custom_context\",\n\t\t\targs:          args{ctx: contextWithValue(\"key\", \"value\"), key: \"key\", value: \"val\"},\n\t\t\texpectCtx:     contextWithValue(\"key\", \"value\"),\n\t\t\texpectCommand: \"LPUSH key val\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: StatusResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", value: \"val\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"LPUSH key val\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.StringCommandReply,\n\t\t\t\tItem:  \"string\",\n\t\t\t},\n\t\t\twantResult: StatusResult{err: errors.New(\"unexpected reply: STRING\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc)\n\t\t\tmock.ExecuteCommandMock.\n\t\t\t\tExpect(tt.expectCtx, &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.LPushWithContext(tt.expectCtx, tt.args.key, tt.args.value)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n"
  },
  {
    "path": "client/client_lrange_test.go",
    "content": "package client\n\nimport (\n\tcontext \"context\"\n\t\"errors\"\n\t\"testing\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/namreg/godown/internal/api\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestClient_LRange(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tkey         string\n\t\tstart, stop int\n\t}\n\n\ttests := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    ListResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{key: \"key\", start: 1, stop: 10},\n\t\t\texpectCommand: \"LRANGE key 1 10\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult: ListResult{\n\t\t\t\terr: errors.New(\"could not execute command: something went wrong\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{key: \"key\", start: 1, stop: 10},\n\t\t\texpectCommand: \"LRANGE key 1 10\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: ListResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_nil\",\n\t\t\targs:          args{key: \"key\", start: 1, stop: 10},\n\t\t\texpectCommand: \"LRANGE key 1 10\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.NilCommandReply,\n\t\t\t},\n\t\t\twantResult: ListResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_slice\",\n\t\t\targs:          args{key: \"key\", start: 1, stop: 10},\n\t\t\texpectCommand: \"LRANGE key 1 10\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.SliceCommandReply,\n\t\t\t\tItems: []string{\"value 1\", \"value 2\"},\n\t\t\t},\n\t\t\twantResult: ListResult{val: []string{\"value 1\", \"value 2\"}},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{key: \"key\", start: 1, stop: 10},\n\t\t\texpectCommand: \"LRANGE key 1 10\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.IntCommandReply,\n\t\t\t\tItem:  \"2\",\n\t\t\t},\n\t\t\twantResult: ListResult{err: errors.New(\"unexpected reply: INT\")},\n\t\t},\n\t}\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc)\n\t\t\tmock.ExecuteCommandMock.\n\t\t\t\tExpect(context.Background(), &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.LRange(tt.args.key, tt.args.start, tt.args.stop)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n\nfunc TestClient_LRangeWithContext(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tctx         context.Context\n\t\tkey         string\n\t\tstart, stop int\n\t}\n\n\ttests := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCtx     context.Context\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    ListResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", start: 1, stop: 10},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"LRANGE key 1 10\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult: ListResult{\n\t\t\t\terr: errors.New(\"could not execute command: something went wrong\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", start: 1, stop: 10},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"LRANGE key 1 10\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: ListResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_nil\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", start: 1, stop: 10},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"LRANGE key 1 10\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.NilCommandReply,\n\t\t\t},\n\t\t\twantResult: ListResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_slice\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", start: 1, stop: 10},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"LRANGE key 1 10\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.SliceCommandReply,\n\t\t\t\tItems: []string{\"value 1\", \"value 2\"},\n\t\t\t},\n\t\t\twantResult: ListResult{val: []string{\"value 1\", \"value 2\"}},\n\t\t},\n\t\t{\n\t\t\tname:          \"custom_context\",\n\t\t\targs:          args{ctx: contextWithValue(\"ctx_key\", \"value\"), key: \"key\", start: 1, stop: 10},\n\t\t\texpectCtx:     contextWithValue(\"ctx_key\", \"value\"),\n\t\t\texpectCommand: \"LRANGE key 1 10\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.SliceCommandReply,\n\t\t\t\tItems: []string{\"value 1\", \"value 2\"},\n\t\t\t},\n\t\t\twantResult: ListResult{val: []string{\"value 1\", \"value 2\"}},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", start: 1, stop: 10},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"LRANGE key 1 10\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.IntCommandReply,\n\t\t\t\tItem:  \"2\",\n\t\t\t},\n\t\t\twantResult: ListResult{err: errors.New(\"unexpected reply: INT\")},\n\t\t},\n\t}\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc)\n\t\t\tmock.ExecuteCommandMock.\n\t\t\t\tExpect(tt.expectCtx, &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.LRangeWithContext(tt.args.ctx, tt.args.key, tt.args.start, tt.args.stop)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n"
  },
  {
    "path": "client/client_lrem_test.go",
    "content": "package client\n\nimport (\n\tcontext \"context\"\n\t\"errors\"\n\t\"testing\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/namreg/godown/internal/api\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestClient_LRem(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tkey, value string\n\t}\n\n\ttests := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    StatusResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{key: \"key\", value: \"val\"},\n\t\t\texpectCommand: \"LREM key val\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult: StatusResult{\n\t\t\t\terr: errors.New(\"could not execute command: something went wrong\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{key: \"key\", value: \"val\"},\n\t\t\texpectCommand: \"LREM key val\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: StatusResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_ok\",\n\t\t\targs:          args{key: \"key\", value: \"val\"},\n\t\t\texpectCommand: \"LREM key val\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: StatusResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{key: \"key\", value: \"val\"},\n\t\t\texpectCommand: \"LREM key val\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.IntCommandReply,\n\t\t\t\tItem:  \"10\",\n\t\t\t},\n\t\t\twantResult: StatusResult{err: errors.New(\"unexpected reply: INT\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc)\n\t\t\tmock.ExecuteCommandMock.\n\t\t\t\tExpect(context.Background(), &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.LRem(tt.args.key, tt.args.value)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\n\t}\n}\n\nfunc TestClient_LRemWithContext(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tctx        context.Context\n\t\tkey, value string\n\t}\n\n\ttests := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCtx     context.Context\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    StatusResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", value: \"val\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"LREM key val\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult: StatusResult{\n\t\t\t\terr: errors.New(\"could not execute command: something went wrong\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", value: \"val\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"LREM key val\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: StatusResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_ok\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", value: \"val\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"LREM key val\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: StatusResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"custom_context\",\n\t\t\targs:          args{ctx: contextWithValue(\"key\", \"value\"), key: \"key\", value: \"val\"},\n\t\t\texpectCtx:     contextWithValue(\"key\", \"value\"),\n\t\t\texpectCommand: \"LREM key val\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: StatusResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", value: \"val\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"LREM key val\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.IntCommandReply,\n\t\t\t\tItem:  \"10\",\n\t\t\t},\n\t\t\twantResult: StatusResult{err: errors.New(\"unexpected reply: INT\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc)\n\t\t\tmock.ExecuteCommandMock.\n\t\t\t\tExpect(tt.expectCtx, &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.LRemWithContext(tt.expectCtx, tt.args.key, tt.args.value)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\n\t}\n}\n"
  },
  {
    "path": "client/client_ping_test.go",
    "content": "package client\n\nimport (\n\tcontext \"context\"\n\t\"errors\"\n\t\"testing\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/namreg/godown/internal/api\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestClient_Ping(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttests := []struct {\n\t\tname          string\n\t\targs          []string\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    ScalarResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          []string{\"hello\", \"world\"},\n\t\t\texpectCommand: \"PING hello world\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult: ScalarResult{\n\t\t\t\terr: errors.New(\"could not execute command: something went wrong\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          []string{\"hello\", \"world\"},\n\t\t\texpectCommand: \"PING hello world\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_raw_string\",\n\t\t\targs:          []string{\"hello\", \"world\"},\n\t\t\texpectCommand: \"PING hello world\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.RawStringCommandReply,\n\t\t\t\tItem:  \"PONG hello world\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{val: stringToPtr(\"PONG hello world\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          []string{\"hello\", \"world\"},\n\t\t\texpectCommand: \"PING hello world\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"unexpected reply: OK\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc).ExecuteCommandMock.\n\t\t\t\tExpect(context.Background(), &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.Ping(tt.args...)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n\nfunc TestClient_PingWithContext(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype arguments struct {\n\t\tctx  context.Context\n\t\targs []string\n\t}\n\n\ttests := []struct {\n\t\tname          string\n\t\targs          arguments\n\t\texpectCtx     context.Context\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    ScalarResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          arguments{ctx: context.Background(), args: []string{\"hello\", \"world\"}},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"PING hello world\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult: ScalarResult{\n\t\t\t\terr: errors.New(\"could not execute command: something went wrong\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          arguments{ctx: context.Background(), args: []string{\"hello\", \"world\"}},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"PING hello world\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_raw_string\",\n\t\t\targs:          arguments{ctx: context.Background(), args: []string{\"hello\", \"world\"}},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"PING hello world\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.RawStringCommandReply,\n\t\t\t\tItem:  \"PONG hello world\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{val: stringToPtr(\"PONG hello world\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"custom_context\",\n\t\t\targs:          arguments{ctx: contextWithValue(\"key\", \"value\"), args: []string{\"hello\", \"world\"}},\n\t\t\texpectCtx:     contextWithValue(\"key\", \"value\"),\n\t\t\texpectCommand: \"PING hello world\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.RawStringCommandReply,\n\t\t\t\tItem:  \"PONG hello world\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{val: stringToPtr(\"PONG hello world\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          arguments{ctx: context.Background(), args: []string{\"hello\", \"world\"}},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"PING hello world\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"unexpected reply: OK\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc).ExecuteCommandMock.\n\t\t\t\tExpect(tt.expectCtx, &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.PingWithContext(tt.args.ctx, tt.args.args...)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n"
  },
  {
    "path": "client/client_rpop_test.go",
    "content": "package client\n\nimport (\n\tcontext \"context\"\n\t\"errors\"\n\t\"testing\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/namreg/godown/internal/api\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestClient_Rpop(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttests := []struct {\n\t\tname          string\n\t\targ           string\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    ScalarResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"RPOP key\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult: ScalarResult{\n\t\t\t\terr: errors.New(\"could not execute command: something went wrong\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"RPOP key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_nil\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"RPOP key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.NilCommandReply,\n\t\t\t},\n\t\t\twantResult: ScalarResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_string\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"RPOP key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.StringCommandReply,\n\t\t\t\tItem:  \"value\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{val: stringToPtr(\"value\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"RPOP key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"unexpected reply: OK\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc)\n\t\t\tmock.ExecuteCommandMock.\n\t\t\t\tExpect(context.Background(), &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.RPop(tt.arg)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n\nfunc TestClient_RpopWithContext(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tctx context.Context\n\t\tkey string\n\t}\n\n\ttests := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCtx     context.Context\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    ScalarResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"RPOP key\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult: ScalarResult{\n\t\t\t\terr: errors.New(\"could not execute command: something went wrong\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"RPOP key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_nil\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"RPOP key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.NilCommandReply,\n\t\t\t},\n\t\t\twantResult: ScalarResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_string\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"RPOP key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.StringCommandReply,\n\t\t\t\tItem:  \"value\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{val: stringToPtr(\"value\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"RPOP key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"unexpected reply: OK\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc)\n\t\t\tmock.ExecuteCommandMock.\n\t\t\t\tExpect(tt.expectCtx, &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.RPopWithContext(tt.args.ctx, tt.args.key)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n"
  },
  {
    "path": "client/client_rpush_test.go",
    "content": "package client\n\nimport (\n\tcontext \"context\"\n\t\"errors\"\n\t\"testing\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/namreg/godown/internal/api\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestClient_RPush(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tkey, value string\n\t\tvalues     []string\n\t}\n\n\ttests := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    StatusResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{key: \"key\", value: \"val\"},\n\t\t\texpectCommand: \"RPUSH key val\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult: StatusResult{\n\t\t\t\terr: errors.New(\"could not execute command: something went wrong\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{key: \"key\", value: \"val\"},\n\t\t\texpectCommand: \"RPUSH key val\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: StatusResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_ok\",\n\t\t\targs:          args{key: \"key\", value: \"val\", values: []string{\"val2\"}},\n\t\t\texpectCommand: \"RPUSH key val val2\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: StatusResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{key: \"key\", value: \"val\"},\n\t\t\texpectCommand: \"RPUSH key val\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.StringCommandReply,\n\t\t\t\tItem:  \"string\",\n\t\t\t},\n\t\t\twantResult: StatusResult{err: errors.New(\"unexpected reply: STRING\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc)\n\t\t\tmock.ExecuteCommandMock.\n\t\t\t\tExpect(context.Background(), &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.RPush(tt.args.key, tt.args.value, tt.args.values...)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n\nfunc TestClient_RPushWithContext(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tkey    string\n\t\tvalue  string\n\t\tvalues []string\n\t\tctx    context.Context\n\t}\n\n\ttests := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCtx     context.Context\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    StatusResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", value: \"val\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"RPUSH key val\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult: StatusResult{\n\t\t\t\terr: errors.New(\"could not execute command: something went wrong\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", value: \"val\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"RPUSH key val\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: StatusResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_ok\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", value: \"val\", values: []string{\"val2\"}},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"RPUSH key val val2\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: StatusResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"custom_context\",\n\t\t\targs:          args{ctx: contextWithValue(\"key\", \"value\"), key: \"key\", value: \"val\"},\n\t\t\texpectCtx:     contextWithValue(\"key\", \"value\"),\n\t\t\texpectCommand: \"RPUSH key val\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: StatusResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", value: \"val\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"RPUSH key val\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.StringCommandReply,\n\t\t\t\tItem:  \"string\",\n\t\t\t},\n\t\t\twantResult: StatusResult{err: errors.New(\"unexpected reply: STRING\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc)\n\t\t\tmock.ExecuteCommandMock.\n\t\t\t\tExpect(tt.expectCtx, &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.RPushWithContext(tt.expectCtx, tt.args.key, tt.args.value, tt.args.values...)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n"
  },
  {
    "path": "client/client_set_test.go",
    "content": "package client\n\nimport (\n\t\"context\"\n\t\"errors\"\n\t\"testing\"\n\n\t\"github.com/namreg/godown/internal/api\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestClient_Set(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tkey, value string\n\t}\n\n\ttests := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    StatusResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{key: \"key\", value: \"val\"},\n\t\t\texpectCommand: \"SET key val\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult:    StatusResult{err: errors.New(\"could not execute command: something went wrong\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{key: \"key\", value: \"val\"},\n\t\t\texpectCommand: \"SET key val\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: StatusResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_ok\",\n\t\t\targs:          args{key: \"key\", value: \"val\"},\n\t\t\texpectCommand: \"SET key val\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: StatusResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{key: \"key\", value: \"val\"},\n\t\t\texpectCommand: \"SET key val\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.SliceCommandReply,\n\t\t\t\tItems: []string{\"val\"},\n\t\t\t},\n\t\t\twantResult: StatusResult{err: errors.New(\"unexpected reply: SLICE\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc).ExecuteCommandMock.\n\t\t\t\tExpect(context.Background(), &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.Set(tt.args.key, tt.args.value)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n\nfunc TestClient_SetWithContext(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tctx        context.Context\n\t\tkey, value string\n\t}\n\n\ttests := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCtx     context.Context\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    StatusResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", value: \"val\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"SET key val\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult:    StatusResult{err: errors.New(\"could not execute command: something went wrong\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", value: \"val\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"SET key val\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: StatusResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_ok\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", value: \"val\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"SET key val\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: StatusResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", value: \"val\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"SET key val\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.SliceCommandReply,\n\t\t\t\tItems: []string{\"val\"},\n\t\t\t},\n\t\t\twantResult: StatusResult{err: errors.New(\"unexpected reply: SLICE\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"with_custom_context\",\n\t\t\targs:          args{ctx: contextWithValue(\"ctx_key\", \"ctx_value\"), key: \"key\", value: \"val\"},\n\t\t\texpectCtx:     contextWithValue(\"ctx_key\", \"ctx_value\"),\n\t\t\texpectCommand: \"SET key val\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: StatusResult{},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc).ExecuteCommandMock.\n\t\t\t\tExpect(tt.expectCtx, &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.SetWithContext(tt.args.ctx, tt.args.key, tt.args.value)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n"
  },
  {
    "path": "client/client_setbit_test.go",
    "content": "package client\n\nimport (\n\tcontext \"context\"\n\t\"errors\"\n\t\"testing\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/namreg/godown/internal/api\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestClient_SetBit(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tkey           string\n\t\toffset, value uint64\n\t}\n\ttests := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    StatusResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{key: \"key\", offset: 1024, value: 1},\n\t\t\texpectCommand: \"SETBIT key 1024 1\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult:    StatusResult{err: errors.New(\"could not execute command: something went wrong\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{key: \"key\", offset: 1024, value: 1},\n\t\t\texpectCommand: \"SETBIT key 1024 1\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: StatusResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_ok\",\n\t\t\targs:          args{key: \"key\", offset: 1024, value: 1},\n\t\t\texpectCommand: \"SETBIT key 1024 1\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: StatusResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{key: \"key\", offset: 1024, value: 1},\n\t\t\texpectCommand: \"SETBIT key 1024 1\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.IntCommandReply,\n\t\t\t\tItem:  \"10\",\n\t\t\t},\n\t\t\twantResult: StatusResult{err: errors.New(\"unexpected reply: INT\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc).ExecuteCommandMock.\n\t\t\t\tExpect(context.Background(), &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.SetBit(tt.args.key, tt.args.offset, tt.args.value)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n\nfunc TestClient_SetBitWithContext(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tctx           context.Context\n\t\tkey           string\n\t\toffset, value uint64\n\t}\n\ttests := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCtx     context.Context\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    StatusResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", offset: 1024, value: 1},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"SETBIT key 1024 1\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult:    StatusResult{err: errors.New(\"could not execute command: something went wrong\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", offset: 1024, value: 1},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"SETBIT key 1024 1\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: StatusResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_ok\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", offset: 1024, value: 1},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"SETBIT key 1024 1\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: StatusResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"custom_context\",\n\t\t\targs:          args{ctx: contextWithValue(\"key\", \"val\"), key: \"key\", offset: 1024, value: 1},\n\t\t\texpectCtx:     contextWithValue(\"key\", \"val\"),\n\t\t\texpectCommand: \"SETBIT key 1024 1\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: StatusResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\", offset: 1024, value: 1},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"SETBIT key 1024 1\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.IntCommandReply,\n\t\t\t\tItem:  \"10\",\n\t\t\t},\n\t\t\twantResult: StatusResult{err: errors.New(\"unexpected reply: INT\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc).ExecuteCommandMock.\n\t\t\t\tExpect(tt.expectCtx, &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.SetBitWithContext(tt.args.ctx, tt.args.key, tt.args.offset, tt.args.value)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n"
  },
  {
    "path": "client/client_strlen_test.go",
    "content": "package client\n\nimport (\n\tcontext \"context\"\n\t\"errors\"\n\t\"testing\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/namreg/godown/internal/api\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestClient_Strlen(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttests := []struct {\n\t\tname          string\n\t\targ           string\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    ScalarResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"STRLEN key\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult: ScalarResult{\n\t\t\t\terr: errors.New(\"could not execute command: something went wrong\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"STRLEN key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_int\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"STRLEN key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.IntCommandReply,\n\t\t\t\tItem:  \"5\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{val: stringToPtr(\"5\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"STRLEN key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"unexpected reply: OK\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc).ExecuteCommandMock.\n\t\t\t\tExpect(context.Background(), &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.Strlen(tt.arg)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n\nfunc TestClient_StrlenWithContext(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tctx context.Context\n\t\tkey string\n\t}\n\n\ttests := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCtx     context.Context\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    ScalarResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"STRLEN key\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult: ScalarResult{\n\t\t\t\terr: errors.New(\"could not execute command: something went wrong\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"STRLEN key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_int\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"STRLEN key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.IntCommandReply,\n\t\t\t\tItem:  \"5\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{val: stringToPtr(\"5\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"custom_context\",\n\t\t\targs:          args{ctx: contextWithValue(\"key\", \"val\"), key: \"key\"},\n\t\t\texpectCtx:     contextWithValue(\"key\", \"val\"),\n\t\t\texpectCommand: \"STRLEN key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.IntCommandReply,\n\t\t\t\tItem:  \"5\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{val: stringToPtr(\"5\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"STRLEN key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"unexpected reply: OK\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc).ExecuteCommandMock.\n\t\t\t\tExpect(tt.expectCtx, &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.StrlenWithContext(tt.args.ctx, tt.args.key)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n"
  },
  {
    "path": "client/client_ttl_test.go",
    "content": "package client\n\nimport (\n\tcontext \"context\"\n\t\"errors\"\n\t\"testing\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/namreg/godown/internal/api\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestClient_TTL(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttests := []struct {\n\t\tname          string\n\t\targ           string\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    ScalarResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"TTL key\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult: ScalarResult{\n\t\t\t\terr: errors.New(\"could not execute command: something went wrong\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"TTL key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_nil\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"TTL key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.NilCommandReply,\n\t\t\t},\n\t\t\twantResult: ScalarResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_int\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"TTL key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.IntCommandReply,\n\t\t\t\tItem:  \"-1\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{val: stringToPtr(\"-1\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"TTL key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"unexpected reply: OK\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc).ExecuteCommandMock.\n\t\t\t\tExpect(context.Background(), &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.TTL(tt.arg)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n\nfunc TestClient_TTLWithContext(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tctx context.Context\n\t\tkey string\n\t}\n\n\ttests := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCtx     context.Context\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    ScalarResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"TTL key\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult: ScalarResult{\n\t\t\t\terr: errors.New(\"could not execute command: something went wrong\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"TTL key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_nil\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"TTL key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.NilCommandReply,\n\t\t\t},\n\t\t\twantResult: ScalarResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_int\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"TTL key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.IntCommandReply,\n\t\t\t\tItem:  \"-1\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{val: stringToPtr(\"-1\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"custom_context\",\n\t\t\targs:          args{ctx: contextWithValue(\"ctx_key\", \"ctx_value\"), key: \"key\"},\n\t\t\texpectCtx:     contextWithValue(\"ctx_key\", \"ctx_value\"),\n\t\t\texpectCommand: \"TTL key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.IntCommandReply,\n\t\t\t\tItem:  \"-1\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{val: stringToPtr(\"-1\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"TTL key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.OkCommandReply,\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"unexpected reply: OK\")},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc).ExecuteCommandMock.\n\t\t\t\tExpect(tt.expectCtx, &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.TTLWithContext(tt.args.ctx, tt.args.key)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n"
  },
  {
    "path": "client/client_type_test.go",
    "content": "package client\n\nimport (\n\tcontext \"context\"\n\t\"errors\"\n\t\"testing\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/namreg/godown/internal/api\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestClient_Type(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttests := []struct {\n\t\tname          string\n\t\targ           string\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    ScalarResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"TYPE key\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult: ScalarResult{\n\t\t\t\terr: errors.New(\"could not execute command: something went wrong\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"TYPE key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_nil\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"TYPE key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.NilCommandReply,\n\t\t\t},\n\t\t\twantResult: ScalarResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_string\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"TYPE key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.StringCommandReply,\n\t\t\t\tItem:  \"list\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{val: stringToPtr(\"list\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targ:           \"key\",\n\t\t\texpectCommand: \"TYPE key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.SliceCommandReply,\n\t\t\t\tItems: []string{\"val\"},\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"unexpected reply: SLICE\")},\n\t\t},\n\t}\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc).ExecuteCommandMock.\n\t\t\t\tExpect(context.Background(), &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.Type(tt.arg)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n\nfunc TestClient_TypeWithContext(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttype args struct {\n\t\tctx context.Context\n\t\tkey string\n\t}\n\n\ttests := []struct {\n\t\tname          string\n\t\targs          args\n\t\texpectCtx     context.Context\n\t\texpectCommand string\n\t\tmockResponse  *api.ExecuteCommandResponse\n\t\tmockErr       error\n\t\twantResult    ScalarResult\n\t}{\n\t\t{\n\t\t\tname:          \"could_not_execute_command\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"TYPE key\",\n\t\t\tmockErr:       errors.New(\"something went wrong\"),\n\t\t\twantResult: ScalarResult{\n\t\t\t\terr: errors.New(\"could not execute command: something went wrong\"),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_error\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"TYPE key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  \"internal server error\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"internal server error\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_nil\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"TYPE key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.NilCommandReply,\n\t\t\t},\n\t\t\twantResult: ScalarResult{},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_string\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"TYPE key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.StringCommandReply,\n\t\t\t\tItem:  \"list\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{val: stringToPtr(\"list\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"custom_context\",\n\t\t\targs:          args{ctx: contextWithValue(\"key\", \"val\"), key: \"key\"},\n\t\t\texpectCtx:     contextWithValue(\"key\", \"val\"),\n\t\t\texpectCommand: \"TYPE key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.StringCommandReply,\n\t\t\t\tItem:  \"list\",\n\t\t\t},\n\t\t\twantResult: ScalarResult{val: stringToPtr(\"list\")},\n\t\t},\n\t\t{\n\t\t\tname:          \"server_responds_with_unexpected_reply\",\n\t\t\targs:          args{ctx: context.Background(), key: \"key\"},\n\t\t\texpectCtx:     context.Background(),\n\t\t\texpectCommand: \"TYPE key\",\n\t\t\tmockResponse: &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.SliceCommandReply,\n\t\t\t\tItems: []string{\"val\"},\n\t\t\t},\n\t\t\twantResult: ScalarResult{err: errors.New(\"unexpected reply: SLICE\")},\n\t\t},\n\t}\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmock := NewexecutorMock(mc).ExecuteCommandMock.\n\t\t\t\tExpect(tt.expectCtx, &api.ExecuteCommandRequest{Command: tt.expectCommand}).\n\t\t\t\tReturn(tt.mockResponse, tt.mockErr)\n\n\t\t\tcl := Client{executor: mock}\n\n\t\t\tres := cl.TypeWithContext(tt.args.ctx, tt.args.key)\n\t\t\tassert.Equal(t, tt.wantResult, res)\n\t\t})\n\t}\n}\n"
  },
  {
    "path": "client/executor_mock_test.go",
    "content": "package client\n\n/*\nDO NOT EDIT!\nThis code was generated automatically using github.com/gojuno/minimock v1.9\nThe original interface \"executor\" can be found in github.com/namreg/godown/client\n*/\nimport (\n\tcontext \"context\"\n\t\"sync/atomic\"\n\t\"time\"\n\n\t\"github.com/gojuno/minimock\"\n\tapi \"github.com/namreg/godown/internal/api\"\n\tgrpc \"google.golang.org/grpc\"\n\n\ttestify_assert \"github.com/stretchr/testify/assert\"\n)\n\n//executorMock implements github.com/namreg/godown/client.executor\ntype executorMock struct {\n\tt minimock.Tester\n\n\tExecuteCommandFunc       func(p context.Context, p1 *api.ExecuteCommandRequest, p2 ...grpc.CallOption) (r *api.ExecuteCommandResponse, r1 error)\n\tExecuteCommandCounter    uint64\n\tExecuteCommandPreCounter uint64\n\tExecuteCommandMock       mexecutorMockExecuteCommand\n}\n\n//NewexecutorMock returns a mock for github.com/namreg/godown/client.executor\nfunc NewexecutorMock(t minimock.Tester) *executorMock {\n\tm := &executorMock{t: t}\n\n\tif controller, ok := t.(minimock.MockController); ok {\n\t\tcontroller.RegisterMocker(m)\n\t}\n\n\tm.ExecuteCommandMock = mexecutorMockExecuteCommand{mock: m}\n\n\treturn m\n}\n\ntype mexecutorMockExecuteCommand struct {\n\tmock             *executorMock\n\tmockExpectations *executorMockExecuteCommandParams\n}\n\n//executorMockExecuteCommandParams represents input parameters of the executor.ExecuteCommand\ntype executorMockExecuteCommandParams struct {\n\tp  context.Context\n\tp1 *api.ExecuteCommandRequest\n\tp2 []grpc.CallOption\n}\n\n//Expect sets up expected params for the executor.ExecuteCommand\nfunc (m *mexecutorMockExecuteCommand) Expect(p context.Context, p1 *api.ExecuteCommandRequest, p2 ...grpc.CallOption) *mexecutorMockExecuteCommand {\n\tm.mockExpectations = &executorMockExecuteCommandParams{p, p1, p2}\n\treturn m\n}\n\n//Return sets up a mock for executor.ExecuteCommand to return Return's arguments\nfunc (m *mexecutorMockExecuteCommand) Return(r *api.ExecuteCommandResponse, r1 error) *executorMock {\n\tm.mock.ExecuteCommandFunc = func(p context.Context, p1 *api.ExecuteCommandRequest, p2 ...grpc.CallOption) (*api.ExecuteCommandResponse, error) {\n\t\treturn r, r1\n\t}\n\treturn m.mock\n}\n\n//Set uses given function f as a mock of executor.ExecuteCommand method\nfunc (m *mexecutorMockExecuteCommand) Set(f func(p context.Context, p1 *api.ExecuteCommandRequest, p2 ...grpc.CallOption) (r *api.ExecuteCommandResponse, r1 error)) *executorMock {\n\tm.mock.ExecuteCommandFunc = f\n\tm.mockExpectations = nil\n\treturn m.mock\n}\n\n//ExecuteCommand implements github.com/namreg/godown/client.executor interface\nfunc (m *executorMock) ExecuteCommand(p context.Context, p1 *api.ExecuteCommandRequest, p2 ...grpc.CallOption) (r *api.ExecuteCommandResponse, r1 error) {\n\tatomic.AddUint64(&m.ExecuteCommandPreCounter, 1)\n\tdefer atomic.AddUint64(&m.ExecuteCommandCounter, 1)\n\n\tif m.ExecuteCommandMock.mockExpectations != nil {\n\t\ttestify_assert.Equal(m.t, *m.ExecuteCommandMock.mockExpectations, executorMockExecuteCommandParams{p, p1, p2},\n\t\t\t\"executor.ExecuteCommand got unexpected parameters\")\n\n\t\tif m.ExecuteCommandFunc == nil {\n\n\t\t\tm.t.Fatal(\"No results are set for the executorMock.ExecuteCommand\")\n\n\t\t\treturn\n\t\t}\n\t}\n\n\tif m.ExecuteCommandFunc == nil {\n\t\tm.t.Fatal(\"Unexpected call to executorMock.ExecuteCommand\")\n\t\treturn\n\t}\n\n\treturn m.ExecuteCommandFunc(p, p1, p2...)\n}\n\n//ExecuteCommandMinimockCounter returns a count of executorMock.ExecuteCommandFunc invocations\nfunc (m *executorMock) ExecuteCommandMinimockCounter() uint64 {\n\treturn atomic.LoadUint64(&m.ExecuteCommandCounter)\n}\n\n//ExecuteCommandMinimockPreCounter returns the value of executorMock.ExecuteCommand invocations\nfunc (m *executorMock) ExecuteCommandMinimockPreCounter() uint64 {\n\treturn atomic.LoadUint64(&m.ExecuteCommandPreCounter)\n}\n\n//ValidateCallCounters checks that all mocked methods of the interface have been called at least once\n//Deprecated: please use MinimockFinish method or use Finish method of minimock.Controller\nfunc (m *executorMock) ValidateCallCounters() {\n\n\tif m.ExecuteCommandFunc != nil && atomic.LoadUint64(&m.ExecuteCommandCounter) == 0 {\n\t\tm.t.Fatal(\"Expected call to executorMock.ExecuteCommand\")\n\t}\n\n}\n\n//CheckMocksCalled checks that all mocked methods of the interface have been called at least once\n//Deprecated: please use MinimockFinish method or use Finish method of minimock.Controller\nfunc (m *executorMock) CheckMocksCalled() {\n\tm.Finish()\n}\n\n//Finish checks that all mocked methods of the interface have been called at least once\n//Deprecated: please use MinimockFinish or use Finish method of minimock.Controller\nfunc (m *executorMock) Finish() {\n\tm.MinimockFinish()\n}\n\n//MinimockFinish checks that all mocked methods of the interface have been called at least once\nfunc (m *executorMock) MinimockFinish() {\n\n\tif m.ExecuteCommandFunc != nil && atomic.LoadUint64(&m.ExecuteCommandCounter) == 0 {\n\t\tm.t.Fatal(\"Expected call to executorMock.ExecuteCommand\")\n\t}\n\n}\n\n//Wait waits for all mocked methods to be called at least once\n//Deprecated: please use MinimockWait or use Wait method of minimock.Controller\nfunc (m *executorMock) Wait(timeout time.Duration) {\n\tm.MinimockWait(timeout)\n}\n\n//MinimockWait waits for all mocked methods to be called at least once\n//this method is called by minimock.Controller\nfunc (m *executorMock) MinimockWait(timeout time.Duration) {\n\ttimeoutCh := time.After(timeout)\n\tfor {\n\t\tok := true\n\t\tok = ok && (m.ExecuteCommandFunc == nil || atomic.LoadUint64(&m.ExecuteCommandCounter) > 0)\n\n\t\tif ok {\n\t\t\treturn\n\t\t}\n\n\t\tselect {\n\t\tcase <-timeoutCh:\n\n\t\t\tif m.ExecuteCommandFunc != nil && atomic.LoadUint64(&m.ExecuteCommandCounter) == 0 {\n\t\t\t\tm.t.Error(\"Expected call to executorMock.ExecuteCommand\")\n\t\t\t}\n\n\t\t\tm.t.Fatalf(\"Some mocks were not called on time: %s\", timeout)\n\t\t\treturn\n\t\tdefault:\n\t\t\ttime.Sleep(time.Millisecond)\n\t\t}\n\t}\n}\n\n//AllMocksCalled returns true if all mocked methods were called before the execution of AllMocksCalled,\n//it can be used with assert/require, i.e. assert.True(mock.AllMocksCalled())\nfunc (m *executorMock) AllMocksCalled() bool {\n\n\tif m.ExecuteCommandFunc != nil && atomic.LoadUint64(&m.ExecuteCommandCounter) == 0 {\n\t\treturn false\n\t}\n\n\treturn true\n}\n"
  },
  {
    "path": "client/helpers_test.go",
    "content": "package client\n\nimport context \"context\"\n\ntype ctxKey string\n\nfunc contextWithValue(key string, value interface{}) context.Context {\n\treturn context.WithValue(context.Background(), ctxKey(key), value)\n}\n\nfunc stringToPtr(str string) *string {\n\treturn &str\n}\n"
  },
  {
    "path": "client/result.go",
    "content": "package client\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"strconv\"\n\n\t\"github.com/namreg/godown/internal/api\"\n)\n\n//ScalarResult is a scalar result like string, int, etc.\ntype ScalarResult struct {\n\tval *string\n\terr error\n}\n\n//Err returns an error.\nfunc (sr ScalarResult) Err() error {\n\treturn sr.err\n}\n\n//IsNil returns true if the underlying value and error is empty.\nfunc (sr ScalarResult) IsNil() bool {\n\treturn sr.val == nil && sr.err == nil\n}\n\n//Val returns a string representation.\nfunc (sr ScalarResult) Val() (string, error) {\n\tif sr.err != nil {\n\t\treturn \"\", sr.err\n\t}\n\tif sr.IsNil() {\n\t\treturn \"\", nil\n\t}\n\treturn *sr.val, nil\n}\n\n//Int64 converts scalar value to the int64.\nfunc (sr ScalarResult) Int64() (int64, error) {\n\tif sr.err != nil {\n\t\treturn 0, sr.err\n\t}\n\tif sr.IsNil() {\n\t\treturn 0, nil\n\t}\n\treturn strconv.ParseInt(*sr.val, 10, 64)\n}\n\nfunc newScalarResult(resp *api.ExecuteCommandResponse) ScalarResult {\n\tres := ScalarResult{}\n\tswitch resp.GetReply() {\n\tcase api.NilCommandReply:\n\tcase api.ErrCommandReply:\n\t\tres.err = errors.New(resp.Item)\n\tcase api.StringCommandReply, api.IntCommandReply, api.RawStringCommandReply:\n\t\tres.val = &resp.Item\n\tdefault:\n\t\tres.err = fmt.Errorf(\"unexpected reply: %v\", resp.GetReply())\n\t}\n\treturn res\n}\n\n//StatusResult is used when a command can respond only with success or with error.\ntype StatusResult struct {\n\terr error\n}\n\n//Err returns an error.\nfunc (sr StatusResult) Err() error {\n\treturn sr.err\n}\n\nfunc newStatusResult(resp *api.ExecuteCommandResponse) StatusResult {\n\tres := StatusResult{}\n\tswitch resp.GetReply() {\n\tcase api.OkCommandReply:\n\tcase api.ErrCommandReply:\n\t\tres.err = errors.New(resp.Item)\n\tdefault:\n\t\tres.err = fmt.Errorf(\"unexpected reply: %v\", resp.GetReply())\n\t}\n\treturn res\n}\n\n//ListResult is used when command respond with slice.\ntype ListResult struct {\n\tval []string\n\terr error\n}\n\n//Err returns an error.\nfunc (lr ListResult) Err() error {\n\treturn lr.err\n}\n\n//IsNil returns true if the underlaying value and error is empty.\nfunc (lr ListResult) IsNil() bool {\n\treturn lr.err == nil && lr.val == nil\n}\n\n//Val returns the underlying slice if no error. Otherwise, the error will be returned.\nfunc (lr ListResult) Val() ([]string, error) {\n\tif err := lr.Err(); err != nil {\n\t\treturn nil, err\n\t}\n\treturn lr.val, nil\n}\n\nfunc newListResult(resp *api.ExecuteCommandResponse) ListResult {\n\tres := ListResult{}\n\tswitch resp.GetReply() {\n\tcase api.NilCommandReply:\n\tcase api.SliceCommandReply:\n\t\tres.val = resp.GetItems()\n\tcase api.ErrCommandReply:\n\t\tres.err = errors.New(resp.GetItem())\n\tdefault:\n\t\tres.err = fmt.Errorf(\"unexpected reply: %v\", resp.GetReply())\n\t}\n\treturn res\n}\n"
  },
  {
    "path": "client/result_test.go",
    "content": "package client\n\nimport (\n\t\"errors\"\n\t\"strconv\"\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestScalarResult_Err(t *testing.T) {\n\tres := ScalarResult{err: errors.New(\"error\")}\n\tassert.Equal(t, errors.New(\"error\"), res.Err())\n}\n\nfunc TestScalarResult_IsNil(t *testing.T) {\n\ttests := []struct {\n\t\tname   string\n\t\tresult ScalarResult\n\t\twant   bool\n\t}{\n\t\t{\"value_nil_and_err_nil\", ScalarResult{}, true},\n\t\t{\"value_nil_and_err_not_nil\", ScalarResult{err: errors.New(\"error\")}, false},\n\t\t{\"value_not_nil_and_err_not_nil\", ScalarResult{val: stringToPtr(\"vale\"), err: errors.New(\"error\")}, false},\n\t\t{\"value_not_nil_and_err_nil\", ScalarResult{val: stringToPtr(\"vale\")}, false},\n\t}\n\n\tfor _, tt := range tests {\n\t\tassert.Equal(t, tt.want, tt.result.IsNil())\n\t}\n}\n\nfunc TestScalarResult_Val(t *testing.T) {\n\ttests := []struct {\n\t\tname    string\n\t\tresult  ScalarResult\n\t\twantVal string\n\t\twantErr error\n\t}{\n\t\t{\"val_nil_and_err_not_nil\", ScalarResult{err: errors.New(\"error\")}, \"\", errors.New(\"error\")},\n\t\t{\"val_nil_and_err_nil\", ScalarResult{}, \"\", nil},\n\t\t{\"val_not_nil_and_err_nil\", ScalarResult{val: stringToPtr(\"val\")}, \"val\", nil},\n\t}\n\n\tfor _, tt := range tests {\n\t\tval, err := tt.result.Val()\n\t\tassert.Equal(t, tt.wantVal, val)\n\t\tassert.Equal(t, tt.wantErr, err)\n\t}\n}\n\nfunc TestScalarResult_Int64(t *testing.T) {\n\ttests := []struct {\n\t\tname    string\n\t\tresult  ScalarResult\n\t\twantVal int64\n\t\twantErr error\n\t}{\n\t\t{\"val_nil_and_err_not_nil\", ScalarResult{err: errors.New(\"error\")}, 0, errors.New(\"error\")},\n\t\t{\"val_nil_and_err_nil\", ScalarResult{}, 0, nil},\n\t\t{\"val_not_nil_and_err_nil\", ScalarResult{val: stringToPtr(\"10\")}, 10, nil},\n\t\t{\"val_is_not_int64\", ScalarResult{val: stringToPtr(\"string\")}, 0, &strconv.NumError{\n\t\t\tFunc: \"ParseInt\",\n\t\t\tNum:  \"string\",\n\t\t\tErr:  strconv.ErrSyntax,\n\t\t}},\n\t}\n\n\tfor _, tt := range tests {\n\t\tival, err := tt.result.Int64()\n\t\tassert.Equal(t, tt.wantVal, ival)\n\t\tassert.Equal(t, tt.wantErr, err)\n\t}\n}\n\nfunc TestStatusResult_Err(t *testing.T) {\n\tres := StatusResult{err: errors.New(\"error\")}\n\tassert.Equal(t, errors.New(\"error\"), res.Err())\n}\n\nfunc TestListResult_Err(t *testing.T) {\n\tres := ListResult{err: errors.New(\"error\")}\n\tassert.Equal(t, errors.New(\"error\"), res.Err())\n}\n\nfunc TestListResult_IsNil(t *testing.T) {\n\ttests := []struct {\n\t\tname   string\n\t\tresult ListResult\n\t\twant   bool\n\t}{\n\t\t{\"value_nil_and_err_nil\", ListResult{}, true},\n\t\t{\"value_nil_and_err_not_nil\", ListResult{err: errors.New(\"error\")}, false},\n\t\t{\"value_not_nil_and_err_not_nil\", ListResult{val: []string{\"val\"}, err: errors.New(\"error\")}, false},\n\t\t{\"value_not_nil_and_err_nil\", ListResult{val: []string{\"val\"}}, false},\n\t}\n\n\tfor _, tt := range tests {\n\t\tassert.Equal(t, tt.want, tt.result.IsNil())\n\t}\n}\n\nfunc TestListResult_Val(t *testing.T) {\n\ttests := []struct {\n\t\tname    string\n\t\tresult  ListResult\n\t\twantVal []string\n\t\twantErr error\n\t}{\n\t\t{\"val_nil_and_err_not_nil\", ListResult{err: errors.New(\"error\")}, nil, errors.New(\"error\")},\n\t\t{\"val_nil_and_err_nil\", ListResult{}, nil, nil},\n\t\t{\"val_not_nil_and_err_nil\", ListResult{val: []string{\"val\"}}, []string{\"val\"}, nil},\n\t}\n\n\tfor _, tt := range tests {\n\t\tval, err := tt.result.Val()\n\t\tassert.Equal(t, tt.wantVal, val)\n\t\tassert.Equal(t, tt.wantErr, err)\n\t}\n}\n"
  },
  {
    "path": "cmd/godown-cli/Dockerfile",
    "content": "FROM scratch\nCOPY godown-cli /\nENTRYPOINT [\"/godown-cli\"]\nCMD [\"-h\"]"
  },
  {
    "path": "cmd/godown-cli/main.go",
    "content": "package main\n\nimport (\n\t\"flag\"\n\t\"fmt\"\n\t\"net\"\n\t\"os\"\n\n\t\"github.com/namreg/godown/internal/cli\"\n)\n\n//Values populated by the Go linker.\nvar (\n\tversion = \"unknown\"\n\tcommit  = \"unknown\"\n\tdate    = \"unknown\"\n)\n\nvar host = flag.String(\"host\", \"127.0.0.1\", \"Host to connect to a server\")\nvar port = flag.String(\"port\", \"4000\", \"Port to connect to a server\")\nvar showVersion = flag.Bool(\"version\", false, \"Show godown version.\")\n\nfunc main() {\n\tflag.Parse()\n\n\tif *showVersion {\n\t\tfmt.Printf(\"version: %s\\ncommit: %s\\nbuildtime: %s\", version, commit, date)\n\t\tos.Exit(0)\n\t}\n\n\thostPort := net.JoinHostPort(*host, *port)\n\n\tif err := cli.Run(hostPort); err != nil {\n\t\tfmt.Fprintf(os.Stderr, \"could not run CLI: %v\", err)\n\t}\n}\n"
  },
  {
    "path": "cmd/godown-server/Dockerfile",
    "content": "FROM scratch\nCOPY godown-server /\nENTRYPOINT [\"/godown-server\"]\nCMD [\"-h\"]"
  },
  {
    "path": "cmd/godown-server/main.go",
    "content": "package main\n\nimport (\n\t\"flag\"\n\t\"fmt\"\n\t\"os\"\n\n\t\"github.com/namreg/godown/internal/clock\"\n\t\"github.com/namreg/godown/internal/command\"\n\t\"github.com/namreg/godown/internal/server\"\n\t\"github.com/namreg/godown/internal/storage/memory\"\n)\n\n//Values populated by the Go linker.\nvar (\n\tversion = \"unknown\"\n\tcommit  = \"unknown\"\n\tdate    = \"unknown\"\n)\n\nfunc main() {\n\tid := flag.String(\"id\", \"\", \"Server unique id.\")\n\tdir := flag.String(\"dir\", \"\", \"Directory where data is stored.\")\n\tlistenAddr := flag.String(\"listen\", \"\", \"Server address to listen.\")\n\traftAddr := flag.String(\"raft\", \"\", \"Raft protocol listen address.\")\n\trespAddr := flag.String(\"resp\", \"\", \"Redis Serialization Protocol listen address.\")\n\tjoinAddr := flag.String(\"join\", \"\", \"Server address to join.\")\n\tgcInterval := flag.Duration(\"gc\", 0, \"Garbage collector interval.\")\n\tshowVersion := flag.Bool(\"version\", false, \"Show version.\")\n\n\tflag.Parse()\n\n\tif *showVersion {\n\t\tfmt.Printf(\"version: %s\\ncommit: %s\\nbuildtime: %s\", version, commit, date)\n\t\tos.Exit(0)\n\t}\n\n\topts := server.DefaultOptions()\n\topts.ID = *id\n\topts.RESPAddr = *respAddr\n\n\tif *listenAddr != \"\" {\n\t\topts.ListenAddr = *listenAddr\n\t}\n\tif *raftAddr != \"\" {\n\t\topts.RaftAddr = *raftAddr\n\t}\n\n\tif *dir != \"\" {\n\t\topts.Dir = *dir\n\t}\n\n\tif *gcInterval != 0 {\n\t\topts.GCInterval = *gcInterval\n\t}\n\n\tclck := clock.New()\n\tstrg := memory.New(nil)\n\tparser := command.NewParser(strg, clck)\n\n\tsrv := server.New(strg, strg, parser, opts)\n\n\tvar err error\n\n\tif *joinAddr != \"\" {\n\t\terr = srv.JoinCluster(*joinAddr)\n\t} else {\n\t\terr = srv.BootstrapCluster()\n\t}\n\n\tif err != nil {\n\t\tfmt.Printf(\"%s\\n\", err.Error())\n\t\tos.Exit(1)\n\t}\n}\n"
  },
  {
    "path": "internal/api/Makefile",
    "content": "PWD?=$(shell pwd)\n\ngen:\n\t@docker run --rm -v ${PWD}:${PWD} -w ${PWD} znly/protoc --gogofast_out=plugins=grpc:. -I. api.proto"
  },
  {
    "path": "internal/api/api.pb.go",
    "content": "// Code generated by protoc-gen-gogo. DO NOT EDIT.\n// source: api.proto\n\n/*\n\tPackage api is a generated protocol buffer package.\n\n\tIt is generated from these files:\n\t\tapi.proto\n\n\tIt has these top-level messages:\n\t\tFSMCommand\n\t\tUpdateMetadataRequest\n\t\tUpdateMetadataResponse\n\t\tExecuteCommandRequest\n\t\tExecuteCommandResponse\n\t\tAddToClusterRequest\n\t\tAddToClusterResponse\n*/\npackage api\n\nimport proto \"github.com/gogo/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\nimport _ \"github.com/gogo/protobuf/gogoproto\"\n\nimport github_com_centrifugal_centrifugo_libcentrifugo_raw \"github.com/centrifugal/centrifugo/libcentrifugo/raw\"\n\nimport (\n\tcontext \"golang.org/x/net/context\"\n\tgrpc \"google.golang.org/grpc\"\n)\n\nimport io \"io\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\n// This is a compile-time assertion to ensure that this generated file\n// is compatible with the proto package it is being compiled against.\n// A compilation error at this line likely means your copy of the\n// proto package needs to be updated.\nconst _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package\n\ntype FSMCommandType int32\n\nconst (\n\tFSMApplyCommand  FSMCommandType = 0\n\tFSMApplyMetadata FSMCommandType = 1\n)\n\nvar FSMCommandType_name = map[int32]string{\n\t0: \"APPLY_COMMAND\",\n\t1: \"APPLY_METADATA\",\n}\nvar FSMCommandType_value = map[string]int32{\n\t\"APPLY_COMMAND\":  0,\n\t\"APPLY_METADATA\": 1,\n}\n\nfunc (x FSMCommandType) String() string {\n\treturn proto.EnumName(FSMCommandType_name, int32(x))\n}\nfunc (FSMCommandType) EnumDescriptor() ([]byte, []int) { return fileDescriptorApi, []int{0} }\n\n// CommandExecutionReply describes all available replies.\ntype CommandExecutionReply int32\n\nconst (\n\tNilCommandReply       CommandExecutionReply = 0\n\tOkCommandReply        CommandExecutionReply = 1\n\tRawStringCommandReply CommandExecutionReply = 2\n\tStringCommandReply    CommandExecutionReply = 3\n\tIntCommandReply       CommandExecutionReply = 4\n\tSliceCommandReply     CommandExecutionReply = 5\n\tErrCommandReply       CommandExecutionReply = 6\n)\n\nvar CommandExecutionReply_name = map[int32]string{\n\t0: \"NIL\",\n\t1: \"OK\",\n\t2: \"RAW_STRING\",\n\t3: \"STRING\",\n\t4: \"INT\",\n\t5: \"SLICE\",\n\t6: \"ERR\",\n}\nvar CommandExecutionReply_value = map[string]int32{\n\t\"NIL\":        0,\n\t\"OK\":         1,\n\t\"RAW_STRING\": 2,\n\t\"STRING\":     3,\n\t\"INT\":        4,\n\t\"SLICE\":      5,\n\t\"ERR\":        6,\n}\n\nfunc (x CommandExecutionReply) String() string {\n\treturn proto.EnumName(CommandExecutionReply_name, int32(x))\n}\nfunc (CommandExecutionReply) EnumDescriptor() ([]byte, []int) { return fileDescriptorApi, []int{1} }\n\ntype FSMCommand struct {\n\tType    FSMCommandType                                          `protobuf:\"varint,1,opt,name=type,proto3,enum=FSMCommandType\" json:\"type,omitempty\"`\n\tCommand github_com_centrifugal_centrifugo_libcentrifugo_raw.Raw `protobuf:\"bytes,2,opt,name=command,proto3,customtype=github.com/centrifugal/centrifugo/libcentrifugo/raw.Raw\" json:\"command\"`\n}\n\nfunc (m *FSMCommand) Reset()                    { *m = FSMCommand{} }\nfunc (m *FSMCommand) String() string            { return proto.CompactTextString(m) }\nfunc (*FSMCommand) ProtoMessage()               {}\nfunc (*FSMCommand) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{0} }\n\nfunc (m *FSMCommand) GetType() FSMCommandType {\n\tif m != nil {\n\t\treturn m.Type\n\t}\n\treturn FSMApplyCommand\n}\n\n// UpdateMetadataRequest is used to update meta info in the raft FSM.\ntype UpdateMetadataRequest struct {\n\tKey   string `protobuf:\"bytes,1,opt,name=key,proto3\" json:\"key,omitempty\"`\n\tValue string `protobuf:\"bytes,2,opt,name=value,proto3\" json:\"value,omitempty\"`\n}\n\nfunc (m *UpdateMetadataRequest) Reset()                    { *m = UpdateMetadataRequest{} }\nfunc (m *UpdateMetadataRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*UpdateMetadataRequest) ProtoMessage()               {}\nfunc (*UpdateMetadataRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{1} }\n\nfunc (m *UpdateMetadataRequest) GetKey() string {\n\tif m != nil {\n\t\treturn m.Key\n\t}\n\treturn \"\"\n}\n\nfunc (m *UpdateMetadataRequest) GetValue() string {\n\tif m != nil {\n\t\treturn m.Value\n\t}\n\treturn \"\"\n}\n\n// UpdateMetadataResponse is a response on the UpdateMetadataRequest.\ntype UpdateMetadataResponse struct {\n}\n\nfunc (m *UpdateMetadataResponse) Reset()                    { *m = UpdateMetadataResponse{} }\nfunc (m *UpdateMetadataResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*UpdateMetadataResponse) ProtoMessage()               {}\nfunc (*UpdateMetadataResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{2} }\n\n// ExecuteCommandRequest is a request to execute a command.\ntype ExecuteCommandRequest struct {\n\tCommand string `protobuf:\"bytes,1,opt,name=command,proto3\" json:\"command,omitempty\"`\n}\n\nfunc (m *ExecuteCommandRequest) Reset()                    { *m = ExecuteCommandRequest{} }\nfunc (m *ExecuteCommandRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*ExecuteCommandRequest) ProtoMessage()               {}\nfunc (*ExecuteCommandRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{3} }\n\nfunc (m *ExecuteCommandRequest) GetCommand() string {\n\tif m != nil {\n\t\treturn m.Command\n\t}\n\treturn \"\"\n}\n\n// ExecuteCommandResponse is a response on the ExecuteCommandRequest.\ntype ExecuteCommandResponse struct {\n\tReply CommandExecutionReply `protobuf:\"varint,1,opt,name=reply,proto3,enum=CommandExecutionReply\" json:\"reply,omitempty\"`\n\tItem  string                `protobuf:\"bytes,2,opt,name=item,proto3\" json:\"item,omitempty\"`\n\tItems []string              `protobuf:\"bytes,3,rep,name=items\" json:\"items,omitempty\"`\n}\n\nfunc (m *ExecuteCommandResponse) Reset()                    { *m = ExecuteCommandResponse{} }\nfunc (m *ExecuteCommandResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*ExecuteCommandResponse) ProtoMessage()               {}\nfunc (*ExecuteCommandResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{4} }\n\nfunc (m *ExecuteCommandResponse) GetReply() CommandExecutionReply {\n\tif m != nil {\n\t\treturn m.Reply\n\t}\n\treturn NilCommandReply\n}\n\nfunc (m *ExecuteCommandResponse) GetItem() string {\n\tif m != nil {\n\t\treturn m.Item\n\t}\n\treturn \"\"\n}\n\nfunc (m *ExecuteCommandResponse) GetItems() []string {\n\tif m != nil {\n\t\treturn m.Items\n\t}\n\treturn nil\n}\n\n// AddToClusterRequest is a request to add a new raft node to the cluster.\ntype AddToClusterRequest struct {\n\tId   string `protobuf:\"bytes,1,opt,name=id,proto3\" json:\"id,omitempty\"`\n\tAddr string `protobuf:\"bytes,2,opt,name=addr,proto3\" json:\"addr,omitempty\"`\n}\n\nfunc (m *AddToClusterRequest) Reset()                    { *m = AddToClusterRequest{} }\nfunc (m *AddToClusterRequest) String() string            { return proto.CompactTextString(m) }\nfunc (*AddToClusterRequest) ProtoMessage()               {}\nfunc (*AddToClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{5} }\n\nfunc (m *AddToClusterRequest) GetId() string {\n\tif m != nil {\n\t\treturn m.Id\n\t}\n\treturn \"\"\n}\n\nfunc (m *AddToClusterRequest) GetAddr() string {\n\tif m != nil {\n\t\treturn m.Addr\n\t}\n\treturn \"\"\n}\n\n// AddToClusterResponse is a reponse on the AddToClusterRequest.\ntype AddToClusterResponse struct {\n}\n\nfunc (m *AddToClusterResponse) Reset()                    { *m = AddToClusterResponse{} }\nfunc (m *AddToClusterResponse) String() string            { return proto.CompactTextString(m) }\nfunc (*AddToClusterResponse) ProtoMessage()               {}\nfunc (*AddToClusterResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{6} }\n\nfunc init() {\n\tproto.RegisterType((*FSMCommand)(nil), \"FSMCommand\")\n\tproto.RegisterType((*UpdateMetadataRequest)(nil), \"UpdateMetadataRequest\")\n\tproto.RegisterType((*UpdateMetadataResponse)(nil), \"UpdateMetadataResponse\")\n\tproto.RegisterType((*ExecuteCommandRequest)(nil), \"ExecuteCommandRequest\")\n\tproto.RegisterType((*ExecuteCommandResponse)(nil), \"ExecuteCommandResponse\")\n\tproto.RegisterType((*AddToClusterRequest)(nil), \"AddToClusterRequest\")\n\tproto.RegisterType((*AddToClusterResponse)(nil), \"AddToClusterResponse\")\n\tproto.RegisterEnum(\"FSMCommandType\", FSMCommandType_name, FSMCommandType_value)\n\tproto.RegisterEnum(\"CommandExecutionReply\", CommandExecutionReply_name, CommandExecutionReply_value)\n}\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ context.Context\nvar _ grpc.ClientConn\n\n// This is a compile-time assertion to ensure that this generated file\n// is compatible with the grpc package it is being compiled against.\nconst _ = grpc.SupportPackageIsVersion4\n\n// Client API for Godown service\n\ntype GodownClient interface {\n\tExecuteCommand(ctx context.Context, in *ExecuteCommandRequest, opts ...grpc.CallOption) (*ExecuteCommandResponse, error)\n\tAddToCluster(ctx context.Context, in *AddToClusterRequest, opts ...grpc.CallOption) (*AddToClusterResponse, error)\n}\n\ntype godownClient struct {\n\tcc *grpc.ClientConn\n}\n\nfunc NewGodownClient(cc *grpc.ClientConn) GodownClient {\n\treturn &godownClient{cc}\n}\n\nfunc (c *godownClient) ExecuteCommand(ctx context.Context, in *ExecuteCommandRequest, opts ...grpc.CallOption) (*ExecuteCommandResponse, error) {\n\tout := new(ExecuteCommandResponse)\n\terr := grpc.Invoke(ctx, \"/Godown/ExecuteCommand\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\nfunc (c *godownClient) AddToCluster(ctx context.Context, in *AddToClusterRequest, opts ...grpc.CallOption) (*AddToClusterResponse, error) {\n\tout := new(AddToClusterResponse)\n\terr := grpc.Invoke(ctx, \"/Godown/AddToCluster\", in, out, c.cc, opts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn out, nil\n}\n\n// Server API for Godown service\n\ntype GodownServer interface {\n\tExecuteCommand(context.Context, *ExecuteCommandRequest) (*ExecuteCommandResponse, error)\n\tAddToCluster(context.Context, *AddToClusterRequest) (*AddToClusterResponse, error)\n}\n\nfunc RegisterGodownServer(s *grpc.Server, srv GodownServer) {\n\ts.RegisterService(&_Godown_serviceDesc, srv)\n}\n\nfunc _Godown_ExecuteCommand_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(ExecuteCommandRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(GodownServer).ExecuteCommand(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/Godown/ExecuteCommand\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(GodownServer).ExecuteCommand(ctx, req.(*ExecuteCommandRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nfunc _Godown_AddToCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {\n\tin := new(AddToClusterRequest)\n\tif err := dec(in); err != nil {\n\t\treturn nil, err\n\t}\n\tif interceptor == nil {\n\t\treturn srv.(GodownServer).AddToCluster(ctx, in)\n\t}\n\tinfo := &grpc.UnaryServerInfo{\n\t\tServer:     srv,\n\t\tFullMethod: \"/Godown/AddToCluster\",\n\t}\n\thandler := func(ctx context.Context, req interface{}) (interface{}, error) {\n\t\treturn srv.(GodownServer).AddToCluster(ctx, req.(*AddToClusterRequest))\n\t}\n\treturn interceptor(ctx, in, info, handler)\n}\n\nvar _Godown_serviceDesc = grpc.ServiceDesc{\n\tServiceName: \"Godown\",\n\tHandlerType: (*GodownServer)(nil),\n\tMethods: []grpc.MethodDesc{\n\t\t{\n\t\t\tMethodName: \"ExecuteCommand\",\n\t\t\tHandler:    _Godown_ExecuteCommand_Handler,\n\t\t},\n\t\t{\n\t\t\tMethodName: \"AddToCluster\",\n\t\t\tHandler:    _Godown_AddToCluster_Handler,\n\t\t},\n\t},\n\tStreams:  []grpc.StreamDesc{},\n\tMetadata: \"api.proto\",\n}\n\nfunc (m *FSMCommand) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *FSMCommand) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Type != 0 {\n\t\tdAtA[i] = 0x8\n\t\ti++\n\t\ti = encodeVarintApi(dAtA, i, uint64(m.Type))\n\t}\n\tdAtA[i] = 0x12\n\ti++\n\ti = encodeVarintApi(dAtA, i, uint64(m.Command.Size()))\n\tn1, err := m.Command.MarshalTo(dAtA[i:])\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\ti += n1\n\treturn i, nil\n}\n\nfunc (m *UpdateMetadataRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *UpdateMetadataRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif len(m.Key) > 0 {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintApi(dAtA, i, uint64(len(m.Key)))\n\t\ti += copy(dAtA[i:], m.Key)\n\t}\n\tif len(m.Value) > 0 {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintApi(dAtA, i, uint64(len(m.Value)))\n\t\ti += copy(dAtA[i:], m.Value)\n\t}\n\treturn i, nil\n}\n\nfunc (m *UpdateMetadataResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *UpdateMetadataResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\treturn i, nil\n}\n\nfunc (m *ExecuteCommandRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *ExecuteCommandRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif len(m.Command) > 0 {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintApi(dAtA, i, uint64(len(m.Command)))\n\t\ti += copy(dAtA[i:], m.Command)\n\t}\n\treturn i, nil\n}\n\nfunc (m *ExecuteCommandResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *ExecuteCommandResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif m.Reply != 0 {\n\t\tdAtA[i] = 0x8\n\t\ti++\n\t\ti = encodeVarintApi(dAtA, i, uint64(m.Reply))\n\t}\n\tif len(m.Item) > 0 {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintApi(dAtA, i, uint64(len(m.Item)))\n\t\ti += copy(dAtA[i:], m.Item)\n\t}\n\tif len(m.Items) > 0 {\n\t\tfor _, s := range m.Items {\n\t\t\tdAtA[i] = 0x1a\n\t\t\ti++\n\t\t\tl = len(s)\n\t\t\tfor l >= 1<<7 {\n\t\t\t\tdAtA[i] = uint8(uint64(l)&0x7f | 0x80)\n\t\t\t\tl >>= 7\n\t\t\t\ti++\n\t\t\t}\n\t\t\tdAtA[i] = uint8(l)\n\t\t\ti++\n\t\t\ti += copy(dAtA[i:], s)\n\t\t}\n\t}\n\treturn i, nil\n}\n\nfunc (m *AddToClusterRequest) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AddToClusterRequest) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\tif len(m.Id) > 0 {\n\t\tdAtA[i] = 0xa\n\t\ti++\n\t\ti = encodeVarintApi(dAtA, i, uint64(len(m.Id)))\n\t\ti += copy(dAtA[i:], m.Id)\n\t}\n\tif len(m.Addr) > 0 {\n\t\tdAtA[i] = 0x12\n\t\ti++\n\t\ti = encodeVarintApi(dAtA, i, uint64(len(m.Addr)))\n\t\ti += copy(dAtA[i:], m.Addr)\n\t}\n\treturn i, nil\n}\n\nfunc (m *AddToClusterResponse) Marshal() (dAtA []byte, err error) {\n\tsize := m.Size()\n\tdAtA = make([]byte, size)\n\tn, err := m.MarshalTo(dAtA)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn dAtA[:n], nil\n}\n\nfunc (m *AddToClusterResponse) MarshalTo(dAtA []byte) (int, error) {\n\tvar i int\n\t_ = i\n\tvar l int\n\t_ = l\n\treturn i, nil\n}\n\nfunc encodeFixed64Api(dAtA []byte, offset int, v uint64) int {\n\tdAtA[offset] = uint8(v)\n\tdAtA[offset+1] = uint8(v >> 8)\n\tdAtA[offset+2] = uint8(v >> 16)\n\tdAtA[offset+3] = uint8(v >> 24)\n\tdAtA[offset+4] = uint8(v >> 32)\n\tdAtA[offset+5] = uint8(v >> 40)\n\tdAtA[offset+6] = uint8(v >> 48)\n\tdAtA[offset+7] = uint8(v >> 56)\n\treturn offset + 8\n}\nfunc encodeFixed32Api(dAtA []byte, offset int, v uint32) int {\n\tdAtA[offset] = uint8(v)\n\tdAtA[offset+1] = uint8(v >> 8)\n\tdAtA[offset+2] = uint8(v >> 16)\n\tdAtA[offset+3] = uint8(v >> 24)\n\treturn offset + 4\n}\nfunc encodeVarintApi(dAtA []byte, offset int, v uint64) int {\n\tfor v >= 1<<7 {\n\t\tdAtA[offset] = uint8(v&0x7f | 0x80)\n\t\tv >>= 7\n\t\toffset++\n\t}\n\tdAtA[offset] = uint8(v)\n\treturn offset + 1\n}\nfunc (m *FSMCommand) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Type != 0 {\n\t\tn += 1 + sovApi(uint64(m.Type))\n\t}\n\tl = m.Command.Size()\n\tn += 1 + l + sovApi(uint64(l))\n\treturn n\n}\n\nfunc (m *UpdateMetadataRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tl = len(m.Key)\n\tif l > 0 {\n\t\tn += 1 + l + sovApi(uint64(l))\n\t}\n\tl = len(m.Value)\n\tif l > 0 {\n\t\tn += 1 + l + sovApi(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *UpdateMetadataResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\treturn n\n}\n\nfunc (m *ExecuteCommandRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tl = len(m.Command)\n\tif l > 0 {\n\t\tn += 1 + l + sovApi(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *ExecuteCommandResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\tif m.Reply != 0 {\n\t\tn += 1 + sovApi(uint64(m.Reply))\n\t}\n\tl = len(m.Item)\n\tif l > 0 {\n\t\tn += 1 + l + sovApi(uint64(l))\n\t}\n\tif len(m.Items) > 0 {\n\t\tfor _, s := range m.Items {\n\t\t\tl = len(s)\n\t\t\tn += 1 + l + sovApi(uint64(l))\n\t\t}\n\t}\n\treturn n\n}\n\nfunc (m *AddToClusterRequest) Size() (n int) {\n\tvar l int\n\t_ = l\n\tl = len(m.Id)\n\tif l > 0 {\n\t\tn += 1 + l + sovApi(uint64(l))\n\t}\n\tl = len(m.Addr)\n\tif l > 0 {\n\t\tn += 1 + l + sovApi(uint64(l))\n\t}\n\treturn n\n}\n\nfunc (m *AddToClusterResponse) Size() (n int) {\n\tvar l int\n\t_ = l\n\treturn n\n}\n\nfunc sovApi(x uint64) (n int) {\n\tfor {\n\t\tn++\n\t\tx >>= 7\n\t\tif x == 0 {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn n\n}\nfunc sozApi(x uint64) (n int) {\n\treturn sovApi(uint64((x << 1) ^ uint64((int64(x) >> 63))))\n}\nfunc (m *FSMCommand) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowApi\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: FSMCommand: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: FSMCommand: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Type\", wireType)\n\t\t\t}\n\t\t\tm.Type = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowApi\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Type |= (FSMCommandType(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Command\", wireType)\n\t\t\t}\n\t\t\tvar byteLen int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowApi\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tbyteLen |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif byteLen < 0 {\n\t\t\t\treturn ErrInvalidLengthApi\n\t\t\t}\n\t\t\tpostIndex := iNdEx + byteLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tif err := m.Command.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipApi(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthApi\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *UpdateMetadataRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowApi\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: UpdateMetadataRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: UpdateMetadataRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Key\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowApi\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthApi\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Key = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Value\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowApi\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthApi\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Value = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipApi(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthApi\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *UpdateMetadataResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowApi\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: UpdateMetadataResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: UpdateMetadataResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipApi(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthApi\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *ExecuteCommandRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowApi\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: ExecuteCommandRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: ExecuteCommandRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Command\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowApi\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthApi\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Command = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipApi(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthApi\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *ExecuteCommandResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowApi\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: ExecuteCommandResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: ExecuteCommandResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 0 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Reply\", wireType)\n\t\t\t}\n\t\t\tm.Reply = 0\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowApi\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tm.Reply |= (CommandExecutionReply(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Item\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowApi\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthApi\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Item = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 3:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Items\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowApi\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthApi\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Items = append(m.Items, string(dAtA[iNdEx:postIndex]))\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipApi(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthApi\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AddToClusterRequest) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowApi\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AddToClusterRequest: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AddToClusterRequest: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tcase 1:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Id\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowApi\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthApi\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Id = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tcase 2:\n\t\t\tif wireType != 2 {\n\t\t\t\treturn fmt.Errorf(\"proto: wrong wireType = %d for field Addr\", wireType)\n\t\t\t}\n\t\t\tvar stringLen uint64\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn ErrIntOverflowApi\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tstringLen |= (uint64(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tintStringLen := int(stringLen)\n\t\t\tif intStringLen < 0 {\n\t\t\t\treturn ErrInvalidLengthApi\n\t\t\t}\n\t\t\tpostIndex := iNdEx + intStringLen\n\t\t\tif postIndex > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tm.Addr = string(dAtA[iNdEx:postIndex])\n\t\t\tiNdEx = postIndex\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipApi(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthApi\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc (m *AddToClusterResponse) Unmarshal(dAtA []byte) error {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tpreIndex := iNdEx\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn ErrIntOverflowApi\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tfieldNum := int32(wire >> 3)\n\t\twireType := int(wire & 0x7)\n\t\tif wireType == 4 {\n\t\t\treturn fmt.Errorf(\"proto: AddToClusterResponse: wiretype end group for non-group\")\n\t\t}\n\t\tif fieldNum <= 0 {\n\t\t\treturn fmt.Errorf(\"proto: AddToClusterResponse: illegal tag %d (wire type %d)\", fieldNum, wire)\n\t\t}\n\t\tswitch fieldNum {\n\t\tdefault:\n\t\t\tiNdEx = preIndex\n\t\t\tskippy, err := skipApi(dAtA[iNdEx:])\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif skippy < 0 {\n\t\t\t\treturn ErrInvalidLengthApi\n\t\t\t}\n\t\t\tif (iNdEx + skippy) > l {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tiNdEx += skippy\n\t\t}\n\t}\n\n\tif iNdEx > l {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\treturn nil\n}\nfunc skipApi(dAtA []byte) (n int, err error) {\n\tl := len(dAtA)\n\tiNdEx := 0\n\tfor iNdEx < l {\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif shift >= 64 {\n\t\t\t\treturn 0, ErrIntOverflowApi\n\t\t\t}\n\t\t\tif iNdEx >= l {\n\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := dAtA[iNdEx]\n\t\t\tiNdEx++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\twireType := int(wire & 0x7)\n\t\tswitch wireType {\n\t\tcase 0:\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn 0, ErrIntOverflowApi\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tiNdEx++\n\t\t\t\tif dAtA[iNdEx-1] < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 1:\n\t\t\tiNdEx += 8\n\t\t\treturn iNdEx, nil\n\t\tcase 2:\n\t\t\tvar length int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif shift >= 64 {\n\t\t\t\t\treturn 0, ErrIntOverflowApi\n\t\t\t\t}\n\t\t\t\tif iNdEx >= l {\n\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\tiNdEx++\n\t\t\t\tlength |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tiNdEx += length\n\t\t\tif length < 0 {\n\t\t\t\treturn 0, ErrInvalidLengthApi\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 3:\n\t\t\tfor {\n\t\t\t\tvar innerWire uint64\n\t\t\t\tvar start int = iNdEx\n\t\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\t\tif shift >= 64 {\n\t\t\t\t\t\treturn 0, ErrIntOverflowApi\n\t\t\t\t\t}\n\t\t\t\t\tif iNdEx >= l {\n\t\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t\t}\n\t\t\t\t\tb := dAtA[iNdEx]\n\t\t\t\t\tiNdEx++\n\t\t\t\t\tinnerWire |= (uint64(b) & 0x7F) << shift\n\t\t\t\t\tif b < 0x80 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tinnerWireType := int(innerWire & 0x7)\n\t\t\t\tif innerWireType == 4 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tnext, err := skipApi(dAtA[start:])\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn 0, err\n\t\t\t\t}\n\t\t\t\tiNdEx = start + next\n\t\t\t}\n\t\t\treturn iNdEx, nil\n\t\tcase 4:\n\t\t\treturn iNdEx, nil\n\t\tcase 5:\n\t\t\tiNdEx += 4\n\t\t\treturn iNdEx, nil\n\t\tdefault:\n\t\t\treturn 0, fmt.Errorf(\"proto: illegal wireType %d\", wireType)\n\t\t}\n\t}\n\tpanic(\"unreachable\")\n}\n\nvar (\n\tErrInvalidLengthApi = fmt.Errorf(\"proto: negative length found during unmarshaling\")\n\tErrIntOverflowApi   = fmt.Errorf(\"proto: integer overflow\")\n)\n\nfunc init() { proto.RegisterFile(\"api.proto\", fileDescriptorApi) }\n\nvar fileDescriptorApi = []byte{\n\t// 602 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x53, 0x4f, 0x4f, 0xdb, 0x4e,\n\t0x10, 0xc5, 0xf9, 0xf7, 0x13, 0x23, 0x7e, 0xc1, 0x5d, 0x92, 0x34, 0xb5, 0x50, 0xb0, 0x5c, 0xa9,\n\t0xa2, 0xa8, 0x35, 0x2a, 0x3d, 0x54, 0x55, 0x0f, 0xc8, 0x84, 0x80, 0xa2, 0x92, 0x80, 0x36, 0xae,\n\t0x2a, 0x4e, 0x68, 0x13, 0x2f, 0xc1, 0xc2, 0xf1, 0xba, 0xce, 0xba, 0x69, 0xee, 0x3d, 0x20, 0xab,\n\t0x5f, 0xc1, 0xa7, 0x7e, 0x19, 0x8e, 0x3d, 0xf7, 0x80, 0x2a, 0x3e, 0x49, 0x65, 0x6f, 0x0c, 0x71,\n\t0x94, 0x9e, 0x3c, 0xb3, 0xef, 0xcd, 0xdb, 0xb7, 0x33, 0x63, 0x58, 0x25, 0x9e, 0xad, 0x7b, 0x3e,\n\t0xe3, 0x4c, 0x79, 0x3d, 0xb4, 0xf9, 0x55, 0xd0, 0xd7, 0x07, 0x6c, 0xb4, 0x3b, 0x64, 0x43, 0xb6,\n\t0x9b, 0x1c, 0xf7, 0x83, 0xcb, 0x24, 0x4b, 0x92, 0x24, 0x12, 0x74, 0xed, 0x87, 0x04, 0x70, 0xd4,\n\t0xeb, 0x34, 0xd9, 0x68, 0x44, 0x5c, 0x0b, 0x3d, 0x87, 0x02, 0x9f, 0x7a, 0xb4, 0x2e, 0xa9, 0xd2,\n\t0x76, 0x79, 0x6f, 0x5d, 0x7f, 0x84, 0xcc, 0xa9, 0x47, 0x71, 0x02, 0xa2, 0x73, 0xf8, 0x6f, 0x20,\n\t0x0e, 0xeb, 0x39, 0x55, 0xda, 0x5e, 0x3b, 0xd8, 0xbf, 0xbd, 0xdb, 0x5a, 0xf9, 0x7d, 0xb7, 0xf5,\n\t0x6e, 0xee, 0xee, 0x01, 0x75, 0xb9, 0x6f, 0x5f, 0x06, 0x43, 0xe2, 0x3c, 0xc6, 0x6c, 0xd7, 0xb1,\n\t0xfb, 0x73, 0x99, 0x4f, 0x26, 0x3a, 0x26, 0x13, 0x9c, 0xea, 0x69, 0xfb, 0x50, 0xfd, 0xe4, 0x59,\n\t0x84, 0xd3, 0x0e, 0xe5, 0xc4, 0x22, 0x9c, 0x60, 0xfa, 0x25, 0xa0, 0x63, 0x8e, 0x64, 0xc8, 0x5f,\n\t0xd3, 0x69, 0xe2, 0x6b, 0x15, 0xc7, 0x21, 0xaa, 0x40, 0xf1, 0x2b, 0x71, 0x02, 0x9a, 0x78, 0x58,\n\t0xc5, 0x22, 0xd1, 0xea, 0x50, 0x5b, 0x14, 0x18, 0x7b, 0xcc, 0x1d, 0x53, 0xed, 0x0d, 0x54, 0x5b,\n\t0xdf, 0xe8, 0x20, 0xe0, 0x74, 0xf6, 0xa2, 0x54, 0xba, 0xfe, 0xf8, 0x1c, 0x21, 0xff, 0xe0, 0xc6,\n\t0x83, 0xda, 0x62, 0x89, 0x10, 0x43, 0xaf, 0xa0, 0xe8, 0x53, 0xcf, 0x99, 0xce, 0x1a, 0x55, 0xd3,\n\t0x67, 0x04, 0x41, 0xb7, 0x99, 0x8b, 0x63, 0x14, 0x0b, 0x12, 0x42, 0x50, 0xb0, 0x39, 0x1d, 0xcd,\n\t0x9c, 0x26, 0x71, 0x6c, 0x3f, 0xfe, 0x8e, 0xeb, 0x79, 0x35, 0x1f, 0xdb, 0x4f, 0x12, 0xed, 0x3d,\n\t0x6c, 0x18, 0x96, 0x65, 0xb2, 0xa6, 0x13, 0x8c, 0x39, 0xf5, 0x53, 0x8b, 0x65, 0xc8, 0xd9, 0xa9,\n\t0xbb, 0x9c, 0x6d, 0xc5, 0x82, 0xc4, 0xb2, 0xfc, 0x54, 0x30, 0x8e, 0xb5, 0x1a, 0x54, 0xb2, 0xa5,\n\t0xc2, 0xea, 0xce, 0x15, 0x94, 0xb3, 0x53, 0x44, 0x2f, 0xe0, 0x7f, 0xe3, 0xec, 0xec, 0xe4, 0xfc,\n\t0xa2, 0x79, 0xda, 0xe9, 0x18, 0xdd, 0x43, 0x79, 0x45, 0xd9, 0x08, 0x23, 0x75, 0xfd, 0xa8, 0xd7,\n\t0x31, 0x3c, 0xcf, 0x99, 0xa6, 0xcb, 0xb0, 0x0d, 0x65, 0xc1, 0xeb, 0xb4, 0x4c, 0xe3, 0xd0, 0x30,\n\t0x0d, 0x59, 0x52, 0x2a, 0x61, 0xa4, 0xca, 0x29, 0x31, 0xed, 0xb1, 0x52, 0xb8, 0xf9, 0xd9, 0x58,\n\t0xd9, 0xf9, 0x9e, 0x83, 0xea, 0xd2, 0x3e, 0xa0, 0x4d, 0xc8, 0x77, 0xdb, 0x27, 0xe9, 0x3d, 0x5d,\n\t0xdb, 0x79, 0xe8, 0x67, 0x8c, 0x2a, 0x90, 0x3b, 0xfd, 0x28, 0x4b, 0x0a, 0x0a, 0x23, 0xb5, 0x7c,\n\t0x7a, 0x9d, 0xc1, 0x5e, 0x02, 0x60, 0xe3, 0xf3, 0x45, 0xcf, 0xc4, 0xed, 0xee, 0xb1, 0x9c, 0x53,\n\t0x9e, 0x85, 0x91, 0x5a, 0xc5, 0x64, 0xd2, 0xe3, 0xbe, 0xed, 0x0e, 0x33, 0x54, 0x0d, 0x4a, 0x33,\n\t0x5a, 0x5e, 0xa9, 0x85, 0x91, 0x8a, 0x96, 0x70, 0x36, 0x21, 0xdf, 0xee, 0x9a, 0x72, 0x41, 0x18,\n\t0x69, 0xbb, 0x3c, 0x83, 0xaa, 0x50, 0xec, 0x9d, 0xb4, 0x9b, 0x2d, 0xb9, 0xa8, 0x54, 0xc3, 0x48,\n\t0x7d, 0xd2, 0x73, 0xec, 0x01, 0x5d, 0xac, 0x6f, 0x61, 0x2c, 0x97, 0x44, 0x7d, 0xcb, 0xf7, 0xe7,\n\t0x51, 0xd1, 0x86, 0xbd, 0x1b, 0x09, 0x4a, 0xc7, 0xcc, 0x62, 0x13, 0x17, 0x19, 0x50, 0xce, 0x2e,\n\t0x10, 0xaa, 0xe9, 0x4b, 0x97, 0x50, 0x79, 0xaa, 0xff, 0x63, 0xd3, 0x3e, 0xc0, 0xda, 0xfc, 0x58,\n\t0x51, 0x45, 0x5f, 0xb2, 0x20, 0x4a, 0x55, 0x5f, 0x36, 0xfb, 0x83, 0xb5, 0xdb, 0xfb, 0x86, 0xf4,\n\t0xeb, 0xbe, 0x21, 0xfd, 0xb9, 0x6f, 0x48, 0xfd, 0x52, 0xf2, 0xcb, 0xbf, 0xfd, 0x1b, 0x00, 0x00,\n\t0xff, 0xff, 0x53, 0x46, 0x93, 0x06, 0x2e, 0x04, 0x00, 0x00,\n}\n"
  },
  {
    "path": "internal/api/api.proto",
    "content": "syntax = \"proto3\";\n\nimport \"github.com/gogo/protobuf/gogoproto/gogo.proto\";\n\n//FSMCommandType describes all available commands that FSM can apply.\nenum FSMCommandType {\n    option (gogoproto.goproto_enum_prefix) = false;\n    APPLY_COMMAND = 0 [(gogoproto.enumvalue_customname) = \"FSMApplyCommand\"];\n    APPLY_METADATA = 1 [(gogoproto.enumvalue_customname) = \"FSMApplyMetadata\"];\n}\n\n//FSMCommand is a FSM command.\nmessage FSMCommand {\n    FSMCommandType type = 1;\n    bytes command = 2 [(gogoproto.customtype) = \"github.com/centrifugal/centrifugo/libcentrifugo/raw.Raw\", (gogoproto.nullable) = false];\n}\n\n//UpdateMetadataRequest is used to update meta info in the raft FSM.\nmessage UpdateMetadataRequest {\n    string key = 1;\n    string value = 2;\n}\n\n//UpdateMetadataResponse is a response on the UpdateMetadataRequest.\nmessage UpdateMetadataResponse {}\n\n//ExecuteCommandRequest is a request to execute a command.\nmessage ExecuteCommandRequest {\n    string command = 1;\n}\n\n//CommandExecutionReply describes all available replies.\nenum CommandExecutionReply {\n    option (gogoproto.goproto_enum_prefix) = false;\n    NIL = 0 [(gogoproto.enumvalue_customname) = \"NilCommandReply\"];\n    OK = 1 [(gogoproto.enumvalue_customname) = \"OkCommandReply\"];\n    RAW_STRING = 2 [(gogoproto.enumvalue_customname) = \"RawStringCommandReply\"];\n    STRING = 3 [(gogoproto.enumvalue_customname) = \"StringCommandReply\"];\n    INT = 4 [(gogoproto.enumvalue_customname) = \"IntCommandReply\"];\n    SLICE = 5 [(gogoproto.enumvalue_customname) = \"SliceCommandReply\"];\n    ERR = 6 [(gogoproto.enumvalue_customname) = \"ErrCommandReply\"];\n}\n\n//ExecuteCommandResponse is a response on the ExecuteCommandRequest.\nmessage ExecuteCommandResponse {\n    CommandExecutionReply reply = 1;\n    string item = 2;\n    repeated string items = 3; //uses only when type = SLICE\n}\n\n//AddToClusterRequest is a request to add a new raft node to the cluster.\nmessage AddToClusterRequest {\n    string id = 1;    //node ID\n    string addr = 2; //node raft address\n}\n\n//AddToClusterResponse is a reponse on the AddToClusterRequest.\nmessage AddToClusterResponse {}\n\n//Godown is a service that executes commands.\nservice Godown {\n    rpc ExecuteCommand (ExecuteCommandRequest) returns (ExecuteCommandResponse);\n    rpc AddToCluster(AddToClusterRequest) returns (AddToClusterResponse); //internally using\n}"
  },
  {
    "path": "internal/cli/cli.go",
    "content": "package cli\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"os\"\n\t\"time\"\n\n\t\"github.com/Bowery/prompt\"\n\t\"github.com/namreg/godown/internal/api\"\n\n\t\"google.golang.org/grpc\"\n)\n\nconst connectTimeout = 200 * time.Millisecond\n\nconst prefix = \"godown >\"\n\nvar prmpt = \"\"\n\n//CLI allows users to interact with a server.\ntype CLI struct {\n\tprinter *printer\n\tterm    *prompt.Terminal\n\tconn    *grpc.ClientConn\n\tclient  api.GodownClient\n}\n\n//Run runs a new CLI.\nfunc Run(hostPort string) (err error) {\n\tctx, cancel := context.WithTimeout(context.Background(), connectTimeout)\n\tdefer cancel()\n\n\tconn, err := grpc.DialContext(ctx, hostPort, grpc.WithInsecure(), grpc.WithBlock())\n\tif err != nil {\n\t\treturn fmt.Errorf(\"could not connect to %s\", hostPort)\n\t}\n\n\tterm, err := prompt.NewTerminal()\n\tif err != nil {\n\t\treturn fmt.Errorf(\"could not create a terminal: %v\", err)\n\t}\n\n\tprmpt = fmt.Sprintf(\"(%s) %s\", hostPort, prefix)\n\n\tc := &CLI{\n\t\tprinter: newPrinter(os.Stdout),\n\t\tterm:    term,\n\t\tclient:  api.NewGodownClient(conn),\n\t\tconn:    conn,\n\t}\n\n\tdefer func() {\n\t\terr = c.Close()\n\t}()\n\n\tc.run()\n\n\treturn nil\n}\n\n//Close closes the CLI.\nfunc (c *CLI) Close() error {\n\tif err := c.printer.Close(); err != nil {\n\t\treturn err\n\t}\n\tif err := c.conn.Close(); err != nil {\n\t\treturn err\n\t}\n\treturn c.term.Close()\n}\n\nfunc (c *CLI) run() {\n\tc.printer.printLogo()\n\tfor {\n\t\tinput, err := c.term.GetPrompt(prmpt)\n\t\tif err != nil {\n\t\t\tif err == prompt.ErrCTRLC || err == prompt.ErrEOF {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tc.printer.printError(err)\n\t\t\tcontinue\n\t\t}\n\t\tif input == \"\" {\n\t\t\tcontinue\n\t\t}\n\t\treq := &api.ExecuteCommandRequest{Command: input}\n\t\tif resp, err := c.client.ExecuteCommand(context.Background(), req); err != nil {\n\t\t\tc.printer.printError(err)\n\t\t} else {\n\t\t\tc.printer.printResponse(resp)\n\t\t}\n\t}\n\tc.printer.println(\"Bye!\")\n}\n"
  },
  {
    "path": "internal/cli/printer.go",
    "content": "package cli\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"io\"\n\t\"strconv\"\n\t\"strings\"\n\n\t\"github.com/fatih/color\"\n\t\"github.com/namreg/godown/internal/api\"\n)\n\nconst (\n\tokString  = \"OK\"\n\tnilString = \"(nil)\"\n)\n\nconst logo = `\n                | |\n  __ _  ___   __| | _____      ___ __\n / _  |/ _ \\ / _  |/ _ \\ \\ /\\ / / '_ \\  Simple, distributed,\n| (_| | (_) | (_| | (_) \\ V  V /| | | | fault-tolerant key-value storage.\n \\__, |\\___/ \\__,_|\\___/ \\_/\\_/ |_| |_|\n  __/ |\n |___/\n`\n\ntype printer struct {\n\tokColor  *color.Color\n\terrColor *color.Color\n\tnilColor *color.Color\n\tout      io.Writer\n}\n\nfunc newPrinter(out io.Writer) *printer {\n\treturn &printer{\n\t\tokColor:  color.New(color.FgHiGreen),\n\t\terrColor: color.New(color.FgHiRed),\n\t\tnilColor: color.New(color.FgHiCyan),\n\t\tout:      out,\n\t}\n}\n\n//Close closes the printer\nfunc (p *printer) Close() error {\n\tif cl, ok := p.out.(io.Closer); ok {\n\t\treturn cl.Close()\n\t}\n\treturn nil\n}\n\nfunc (p *printer) printLogo() {\n\tcolor.Set(color.FgMagenta)\n\tp.println(strings.Replace(logo, \"\\n\", \"\\r\\n\", -1))\n\tcolor.Unset()\n}\n\nfunc (p *printer) println(str string) {\n\tfmt.Fprintf(p.out, \"%s\\r\\n\", str)\n}\n\nfunc (p *printer) printError(err error) {\n\tp.errColor.Fprintf(p.out, \"Error: %s\\n\", err.Error())\n}\n\nfunc (p *printer) printResponse(resp *api.ExecuteCommandResponse) {\n\tswitch resp.Reply {\n\tcase api.OkCommandReply:\n\t\tp.println(p.okColor.Sprint(okString))\n\tcase api.NilCommandReply:\n\t\tp.println(p.nilColor.Sprint(nilString))\n\tcase api.RawStringCommandReply:\n\t\tp.println(strings.Replace(resp.Item, \"\\n\", \"\\r\\n\", -1))\n\tcase api.StringCommandReply:\n\t\tp.println(fmt.Sprintf(\"(string) %s\", resp.Item))\n\tcase api.IntCommandReply:\n\t\tif n, err := strconv.Atoi(resp.Item); err != nil {\n\t\t\tp.printError(err)\n\t\t} else {\n\t\t\tp.println(fmt.Sprintf(\"(integer) %d\", n))\n\t\t}\n\tcase api.ErrCommandReply:\n\t\tp.println(p.errColor.Sprintf(\"(error) %s\", resp.Item))\n\tcase api.SliceCommandReply:\n\t\titems := resp.Items\n\t\tbuf := new(bytes.Buffer)\n\t\tfor i, v := range resp.Items {\n\t\t\tbuf.WriteString(fmt.Sprintf(\"%d) %q\", i+1, v))\n\t\t\tif i != len(items)-1 { // check whether the current item is not last\n\t\t\t\tbuf.WriteString(\"\\r\\n\")\n\t\t\t}\n\t\t}\n\t\tp.println(buf.String())\n\tdefault:\n\t\tfmt.Fprintf(p.out, \"%v\\n\", resp)\n\t}\n}\n"
  },
  {
    "path": "internal/clock/clock.go",
    "content": "package clock\n\nimport \"time\"\n\n//Clock is the system clock\ntype Clock struct{}\n\n//Now returns current time\nfunc (c *Clock) Now() time.Time {\n\treturn time.Now()\n}\n\n//New creates a new clock\nfunc New() *Clock {\n\treturn &Clock{}\n}\n"
  },
  {
    "path": "internal/command/command.go",
    "content": "package command\n\nimport (\n\t\"errors\"\n\t\"time\"\n\n\t\"github.com/namreg/godown/internal/storage\"\n)\n\nvar (\n\t//ErrWrongArgsNumber means that given arguments not acceptable by Command.\n\tErrWrongArgsNumber = errors.New(\"command: wrong args number\")\n\t//ErrWrongTypeOp means that operation is not acceptable for the given key.\n\tErrWrongTypeOp = errors.New(\"command: wrong type operation\")\n)\n\n//Command represents a command thats server can execute.\n//go:generate minimock -i github.com/namreg/godown/internal/command.Command -o ./\ntype Command interface {\n\t//Name returns the command name.\n\tName() string\n\t//Help returns information about the command. Description, usage and etc.\n\tHelp() string\n\t//Execute executes the command with the given arguments.\n\tExecute(args ...string) Reply\n}\n\n//go:generate minimock -i github.com/namreg/godown/internal/command.dataStore -o ./\ntype dataStore interface {\n\t//Put puts a new value at the given Key.\n\tPut(key storage.Key, sttr storage.ValueSetter) error\n\t//Get gets a value by the given key.\n\tGet(key storage.Key) (*storage.Value, error)\n\t//Del deletes a value by the given key.\n\tDel(key storage.Key) error\n\t//Keys returns all stored keys.\n\tKeys() ([]storage.Key, error)\n}\n\n//go:generate minimock -i github.com/namreg/godown/internal/command.commandParser -o ./\ntype commandParser interface {\n\tParse(str string) (cmd Command, args []string, err error)\n}\n\n//go:generate minimock -i github.com/namreg/godown/internal/command.commandClock -o ./\ntype commandClock interface {\n\t//Now returns current time.\n\tNow() time.Time\n}\n"
  },
  {
    "path": "internal/command/command_clock_mock_test.go",
    "content": "package command\n\n/*\nDO NOT EDIT!\nThis code was generated automatically using github.com/gojuno/minimock v1.9\nThe original interface \"commandClock\" can be found in github.com/namreg/godown/internal/command\n*/\nimport (\n\t\"sync/atomic\"\n\ttime \"time\"\n\n\t\"github.com/gojuno/minimock\"\n)\n\n//commandClockMock implements github.com/namreg/godown/internal/command.commandClock\ntype commandClockMock struct {\n\tt minimock.Tester\n\n\tNowFunc       func() (r time.Time)\n\tNowCounter    uint64\n\tNowPreCounter uint64\n\tNowMock       mcommandClockMockNow\n}\n\n//NewcommandClockMock returns a mock for github.com/namreg/godown/internal/command.commandClock\nfunc NewcommandClockMock(t minimock.Tester) *commandClockMock {\n\tm := &commandClockMock{t: t}\n\n\tif controller, ok := t.(minimock.MockController); ok {\n\t\tcontroller.RegisterMocker(m)\n\t}\n\n\tm.NowMock = mcommandClockMockNow{mock: m}\n\n\treturn m\n}\n\ntype mcommandClockMockNow struct {\n\tmock *commandClockMock\n}\n\n//Return sets up a mock for commandClock.Now to return Return's arguments\nfunc (m *mcommandClockMockNow) Return(r time.Time) *commandClockMock {\n\tm.mock.NowFunc = func() time.Time {\n\t\treturn r\n\t}\n\treturn m.mock\n}\n\n//Set uses given function f as a mock of commandClock.Now method\nfunc (m *mcommandClockMockNow) Set(f func() (r time.Time)) *commandClockMock {\n\tm.mock.NowFunc = f\n\n\treturn m.mock\n}\n\n//Now implements github.com/namreg/godown/internal/command.commandClock interface\nfunc (m *commandClockMock) Now() (r time.Time) {\n\tatomic.AddUint64(&m.NowPreCounter, 1)\n\tdefer atomic.AddUint64(&m.NowCounter, 1)\n\n\tif m.NowFunc == nil {\n\t\tm.t.Fatal(\"Unexpected call to commandClockMock.Now\")\n\t\treturn\n\t}\n\n\treturn m.NowFunc()\n}\n\n//NowMinimockCounter returns a count of commandClockMock.NowFunc invocations\nfunc (m *commandClockMock) NowMinimockCounter() uint64 {\n\treturn atomic.LoadUint64(&m.NowCounter)\n}\n\n//NowMinimockPreCounter returns the value of commandClockMock.Now invocations\nfunc (m *commandClockMock) NowMinimockPreCounter() uint64 {\n\treturn atomic.LoadUint64(&m.NowPreCounter)\n}\n\n//ValidateCallCounters checks that all mocked methods of the interface have been called at least once\n//Deprecated: please use MinimockFinish method or use Finish method of minimock.Controller\nfunc (m *commandClockMock) ValidateCallCounters() {\n\n\tif m.NowFunc != nil && atomic.LoadUint64(&m.NowCounter) == 0 {\n\t\tm.t.Fatal(\"Expected call to commandClockMock.Now\")\n\t}\n\n}\n\n//CheckMocksCalled checks that all mocked methods of the interface have been called at least once\n//Deprecated: please use MinimockFinish method or use Finish method of minimock.Controller\nfunc (m *commandClockMock) CheckMocksCalled() {\n\tm.Finish()\n}\n\n//Finish checks that all mocked methods of the interface have been called at least once\n//Deprecated: please use MinimockFinish or use Finish method of minimock.Controller\nfunc (m *commandClockMock) Finish() {\n\tm.MinimockFinish()\n}\n\n//MinimockFinish checks that all mocked methods of the interface have been called at least once\nfunc (m *commandClockMock) MinimockFinish() {\n\n\tif m.NowFunc != nil && atomic.LoadUint64(&m.NowCounter) == 0 {\n\t\tm.t.Fatal(\"Expected call to commandClockMock.Now\")\n\t}\n\n}\n\n//Wait waits for all mocked methods to be called at least once\n//Deprecated: please use MinimockWait or use Wait method of minimock.Controller\nfunc (m *commandClockMock) Wait(timeout time.Duration) {\n\tm.MinimockWait(timeout)\n}\n\n//MinimockWait waits for all mocked methods to be called at least once\n//this method is called by minimock.Controller\nfunc (m *commandClockMock) MinimockWait(timeout time.Duration) {\n\ttimeoutCh := time.After(timeout)\n\tfor {\n\t\tok := true\n\t\tok = ok && (m.NowFunc == nil || atomic.LoadUint64(&m.NowCounter) > 0)\n\n\t\tif ok {\n\t\t\treturn\n\t\t}\n\n\t\tselect {\n\t\tcase <-timeoutCh:\n\n\t\t\tif m.NowFunc != nil && atomic.LoadUint64(&m.NowCounter) == 0 {\n\t\t\t\tm.t.Error(\"Expected call to commandClockMock.Now\")\n\t\t\t}\n\n\t\t\tm.t.Fatalf(\"Some mocks were not called on time: %s\", timeout)\n\t\t\treturn\n\t\tdefault:\n\t\t\ttime.Sleep(time.Millisecond)\n\t\t}\n\t}\n}\n\n//AllMocksCalled returns true if all mocked methods were called before the execution of AllMocksCalled,\n//it can be used with assert/require, i.e. assert.True(mock.AllMocksCalled())\nfunc (m *commandClockMock) AllMocksCalled() bool {\n\n\tif m.NowFunc != nil && atomic.LoadUint64(&m.NowCounter) == 0 {\n\t\treturn false\n\t}\n\n\treturn true\n}\n"
  },
  {
    "path": "internal/command/command_mock_test.go",
    "content": "package command\n\n/*\nDO NOT EDIT!\nThis code was generated automatically using github.com/gojuno/minimock v1.9\nThe original interface \"Command\" can be found in github.com/namreg/godown/internal/command\n*/\nimport (\n\t\"sync/atomic\"\n\t\"time\"\n\n\t\"github.com/gojuno/minimock\"\n\ttestify_assert \"github.com/stretchr/testify/assert\"\n)\n\n//CommandMock implements github.com/namreg/godown/internal/command.Command\ntype CommandMock struct {\n\tt minimock.Tester\n\n\tExecuteFunc       func(p ...string) (r Reply)\n\tExecuteCounter    uint64\n\tExecutePreCounter uint64\n\tExecuteMock       mCommandMockExecute\n\n\tHelpFunc       func() (r string)\n\tHelpCounter    uint64\n\tHelpPreCounter uint64\n\tHelpMock       mCommandMockHelp\n\n\tNameFunc       func() (r string)\n\tNameCounter    uint64\n\tNamePreCounter uint64\n\tNameMock       mCommandMockName\n}\n\n//NewCommandMock returns a mock for github.com/namreg/godown/internal/command.Command\nfunc NewCommandMock(t minimock.Tester) *CommandMock {\n\tm := &CommandMock{t: t}\n\n\tif controller, ok := t.(minimock.MockController); ok {\n\t\tcontroller.RegisterMocker(m)\n\t}\n\n\tm.ExecuteMock = mCommandMockExecute{mock: m}\n\tm.HelpMock = mCommandMockHelp{mock: m}\n\tm.NameMock = mCommandMockName{mock: m}\n\n\treturn m\n}\n\ntype mCommandMockExecute struct {\n\tmock             *CommandMock\n\tmockExpectations *CommandMockExecuteParams\n}\n\n//CommandMockExecuteParams represents input parameters of the Command.Execute\ntype CommandMockExecuteParams struct {\n\tp []string\n}\n\n//Expect sets up expected params for the Command.Execute\nfunc (m *mCommandMockExecute) Expect(p ...string) *mCommandMockExecute {\n\tm.mockExpectations = &CommandMockExecuteParams{p}\n\treturn m\n}\n\n//Return sets up a mock for Command.Execute to return Return's arguments\nfunc (m *mCommandMockExecute) Return(r Reply) *CommandMock {\n\tm.mock.ExecuteFunc = func(p ...string) Reply {\n\t\treturn r\n\t}\n\treturn m.mock\n}\n\n//Set uses given function f as a mock of Command.Execute method\nfunc (m *mCommandMockExecute) Set(f func(p ...string) (r Reply)) *CommandMock {\n\tm.mock.ExecuteFunc = f\n\tm.mockExpectations = nil\n\treturn m.mock\n}\n\n//Execute implements github.com/namreg/godown/internal/command.Command interface\nfunc (m *CommandMock) Execute(p ...string) (r Reply) {\n\tatomic.AddUint64(&m.ExecutePreCounter, 1)\n\tdefer atomic.AddUint64(&m.ExecuteCounter, 1)\n\n\tif m.ExecuteMock.mockExpectations != nil {\n\t\ttestify_assert.Equal(m.t, *m.ExecuteMock.mockExpectations, CommandMockExecuteParams{p},\n\t\t\t\"Command.Execute got unexpected parameters\")\n\n\t\tif m.ExecuteFunc == nil {\n\n\t\t\tm.t.Fatal(\"No results are set for the CommandMock.Execute\")\n\n\t\t\treturn\n\t\t}\n\t}\n\n\tif m.ExecuteFunc == nil {\n\t\tm.t.Fatal(\"Unexpected call to CommandMock.Execute\")\n\t\treturn\n\t}\n\n\treturn m.ExecuteFunc(p...)\n}\n\n//ExecuteMinimockCounter returns a count of CommandMock.ExecuteFunc invocations\nfunc (m *CommandMock) ExecuteMinimockCounter() uint64 {\n\treturn atomic.LoadUint64(&m.ExecuteCounter)\n}\n\n//ExecuteMinimockPreCounter returns the value of CommandMock.Execute invocations\nfunc (m *CommandMock) ExecuteMinimockPreCounter() uint64 {\n\treturn atomic.LoadUint64(&m.ExecutePreCounter)\n}\n\ntype mCommandMockHelp struct {\n\tmock *CommandMock\n}\n\n//Return sets up a mock for Command.Help to return Return's arguments\nfunc (m *mCommandMockHelp) Return(r string) *CommandMock {\n\tm.mock.HelpFunc = func() string {\n\t\treturn r\n\t}\n\treturn m.mock\n}\n\n//Set uses given function f as a mock of Command.Help method\nfunc (m *mCommandMockHelp) Set(f func() (r string)) *CommandMock {\n\tm.mock.HelpFunc = f\n\n\treturn m.mock\n}\n\n//Help implements github.com/namreg/godown/internal/command.Command interface\nfunc (m *CommandMock) Help() (r string) {\n\tatomic.AddUint64(&m.HelpPreCounter, 1)\n\tdefer atomic.AddUint64(&m.HelpCounter, 1)\n\n\tif m.HelpFunc == nil {\n\t\tm.t.Fatal(\"Unexpected call to CommandMock.Help\")\n\t\treturn\n\t}\n\n\treturn m.HelpFunc()\n}\n\n//HelpMinimockCounter returns a count of CommandMock.HelpFunc invocations\nfunc (m *CommandMock) HelpMinimockCounter() uint64 {\n\treturn atomic.LoadUint64(&m.HelpCounter)\n}\n\n//HelpMinimockPreCounter returns the value of CommandMock.Help invocations\nfunc (m *CommandMock) HelpMinimockPreCounter() uint64 {\n\treturn atomic.LoadUint64(&m.HelpPreCounter)\n}\n\ntype mCommandMockName struct {\n\tmock *CommandMock\n}\n\n//Return sets up a mock for Command.Name to return Return's arguments\nfunc (m *mCommandMockName) Return(r string) *CommandMock {\n\tm.mock.NameFunc = func() string {\n\t\treturn r\n\t}\n\treturn m.mock\n}\n\n//Set uses given function f as a mock of Command.Name method\nfunc (m *mCommandMockName) Set(f func() (r string)) *CommandMock {\n\tm.mock.NameFunc = f\n\n\treturn m.mock\n}\n\n//Name implements github.com/namreg/godown/internal/command.Command interface\nfunc (m *CommandMock) Name() (r string) {\n\tatomic.AddUint64(&m.NamePreCounter, 1)\n\tdefer atomic.AddUint64(&m.NameCounter, 1)\n\n\tif m.NameFunc == nil {\n\t\tm.t.Fatal(\"Unexpected call to CommandMock.Name\")\n\t\treturn\n\t}\n\n\treturn m.NameFunc()\n}\n\n//NameMinimockCounter returns a count of CommandMock.NameFunc invocations\nfunc (m *CommandMock) NameMinimockCounter() uint64 {\n\treturn atomic.LoadUint64(&m.NameCounter)\n}\n\n//NameMinimockPreCounter returns the value of CommandMock.Name invocations\nfunc (m *CommandMock) NameMinimockPreCounter() uint64 {\n\treturn atomic.LoadUint64(&m.NamePreCounter)\n}\n\n//ValidateCallCounters checks that all mocked methods of the interface have been called at least once\n//Deprecated: please use MinimockFinish method or use Finish method of minimock.Controller\nfunc (m *CommandMock) ValidateCallCounters() {\n\n\tif m.ExecuteFunc != nil && atomic.LoadUint64(&m.ExecuteCounter) == 0 {\n\t\tm.t.Fatal(\"Expected call to CommandMock.Execute\")\n\t}\n\n\tif m.HelpFunc != nil && atomic.LoadUint64(&m.HelpCounter) == 0 {\n\t\tm.t.Fatal(\"Expected call to CommandMock.Help\")\n\t}\n\n\tif m.NameFunc != nil && atomic.LoadUint64(&m.NameCounter) == 0 {\n\t\tm.t.Fatal(\"Expected call to CommandMock.Name\")\n\t}\n\n}\n\n//CheckMocksCalled checks that all mocked methods of the interface have been called at least once\n//Deprecated: please use MinimockFinish method or use Finish method of minimock.Controller\nfunc (m *CommandMock) CheckMocksCalled() {\n\tm.Finish()\n}\n\n//Finish checks that all mocked methods of the interface have been called at least once\n//Deprecated: please use MinimockFinish or use Finish method of minimock.Controller\nfunc (m *CommandMock) Finish() {\n\tm.MinimockFinish()\n}\n\n//MinimockFinish checks that all mocked methods of the interface have been called at least once\nfunc (m *CommandMock) MinimockFinish() {\n\n\tif m.ExecuteFunc != nil && atomic.LoadUint64(&m.ExecuteCounter) == 0 {\n\t\tm.t.Fatal(\"Expected call to CommandMock.Execute\")\n\t}\n\n\tif m.HelpFunc != nil && atomic.LoadUint64(&m.HelpCounter) == 0 {\n\t\tm.t.Fatal(\"Expected call to CommandMock.Help\")\n\t}\n\n\tif m.NameFunc != nil && atomic.LoadUint64(&m.NameCounter) == 0 {\n\t\tm.t.Fatal(\"Expected call to CommandMock.Name\")\n\t}\n\n}\n\n//Wait waits for all mocked methods to be called at least once\n//Deprecated: please use MinimockWait or use Wait method of minimock.Controller\nfunc (m *CommandMock) Wait(timeout time.Duration) {\n\tm.MinimockWait(timeout)\n}\n\n//MinimockWait waits for all mocked methods to be called at least once\n//this method is called by minimock.Controller\nfunc (m *CommandMock) MinimockWait(timeout time.Duration) {\n\ttimeoutCh := time.After(timeout)\n\tfor {\n\t\tok := true\n\t\tok = ok && (m.ExecuteFunc == nil || atomic.LoadUint64(&m.ExecuteCounter) > 0)\n\t\tok = ok && (m.HelpFunc == nil || atomic.LoadUint64(&m.HelpCounter) > 0)\n\t\tok = ok && (m.NameFunc == nil || atomic.LoadUint64(&m.NameCounter) > 0)\n\n\t\tif ok {\n\t\t\treturn\n\t\t}\n\n\t\tselect {\n\t\tcase <-timeoutCh:\n\n\t\t\tif m.ExecuteFunc != nil && atomic.LoadUint64(&m.ExecuteCounter) == 0 {\n\t\t\t\tm.t.Error(\"Expected call to CommandMock.Execute\")\n\t\t\t}\n\n\t\t\tif m.HelpFunc != nil && atomic.LoadUint64(&m.HelpCounter) == 0 {\n\t\t\t\tm.t.Error(\"Expected call to CommandMock.Help\")\n\t\t\t}\n\n\t\t\tif m.NameFunc != nil && atomic.LoadUint64(&m.NameCounter) == 0 {\n\t\t\t\tm.t.Error(\"Expected call to CommandMock.Name\")\n\t\t\t}\n\n\t\t\tm.t.Fatalf(\"Some mocks were not called on time: %s\", timeout)\n\t\t\treturn\n\t\tdefault:\n\t\t\ttime.Sleep(time.Millisecond)\n\t\t}\n\t}\n}\n\n//AllMocksCalled returns true if all mocked methods were called before the execution of AllMocksCalled,\n//it can be used with assert/require, i.e. assert.True(mock.AllMocksCalled())\nfunc (m *CommandMock) AllMocksCalled() bool {\n\n\tif m.ExecuteFunc != nil && atomic.LoadUint64(&m.ExecuteCounter) == 0 {\n\t\treturn false\n\t}\n\n\tif m.HelpFunc != nil && atomic.LoadUint64(&m.HelpCounter) == 0 {\n\t\treturn false\n\t}\n\n\tif m.NameFunc != nil && atomic.LoadUint64(&m.NameCounter) == 0 {\n\t\treturn false\n\t}\n\n\treturn true\n}\n"
  },
  {
    "path": "internal/command/command_parser_mock_test.go",
    "content": "package command\n\n/*\nDO NOT EDIT!\nThis code was generated automatically using github.com/gojuno/minimock v1.9\nThe original interface \"commandParser\" can be found in github.com/namreg/godown/internal/command\n*/\nimport (\n\t\"sync/atomic\"\n\t\"time\"\n\n\t\"github.com/gojuno/minimock\"\n\ttestify_assert \"github.com/stretchr/testify/assert\"\n)\n\n//commandParserMock implements github.com/namreg/godown/internal/command.commandParser\ntype commandParserMock struct {\n\tt minimock.Tester\n\n\tParseFunc       func(p string) (r Command, r1 []string, r2 error)\n\tParseCounter    uint64\n\tParsePreCounter uint64\n\tParseMock       mcommandParserMockParse\n}\n\n//NewcommandParserMock returns a mock for github.com/namreg/godown/internal/command.commandParser\nfunc NewcommandParserMock(t minimock.Tester) *commandParserMock {\n\tm := &commandParserMock{t: t}\n\n\tif controller, ok := t.(minimock.MockController); ok {\n\t\tcontroller.RegisterMocker(m)\n\t}\n\n\tm.ParseMock = mcommandParserMockParse{mock: m}\n\n\treturn m\n}\n\ntype mcommandParserMockParse struct {\n\tmock             *commandParserMock\n\tmockExpectations *commandParserMockParseParams\n}\n\n//commandParserMockParseParams represents input parameters of the commandParser.Parse\ntype commandParserMockParseParams struct {\n\tp string\n}\n\n//Expect sets up expected params for the commandParser.Parse\nfunc (m *mcommandParserMockParse) Expect(p string) *mcommandParserMockParse {\n\tm.mockExpectations = &commandParserMockParseParams{p}\n\treturn m\n}\n\n//Return sets up a mock for commandParser.Parse to return Return's arguments\nfunc (m *mcommandParserMockParse) Return(r Command, r1 []string, r2 error) *commandParserMock {\n\tm.mock.ParseFunc = func(p string) (Command, []string, error) {\n\t\treturn r, r1, r2\n\t}\n\treturn m.mock\n}\n\n//Set uses given function f as a mock of commandParser.Parse method\nfunc (m *mcommandParserMockParse) Set(f func(p string) (r Command, r1 []string, r2 error)) *commandParserMock {\n\tm.mock.ParseFunc = f\n\tm.mockExpectations = nil\n\treturn m.mock\n}\n\n//Parse implements github.com/namreg/godown/internal/command.commandParser interface\nfunc (m *commandParserMock) Parse(p string) (r Command, r1 []string, r2 error) {\n\tatomic.AddUint64(&m.ParsePreCounter, 1)\n\tdefer atomic.AddUint64(&m.ParseCounter, 1)\n\n\tif m.ParseMock.mockExpectations != nil {\n\t\ttestify_assert.Equal(m.t, *m.ParseMock.mockExpectations, commandParserMockParseParams{p},\n\t\t\t\"commandParser.Parse got unexpected parameters\")\n\n\t\tif m.ParseFunc == nil {\n\n\t\t\tm.t.Fatal(\"No results are set for the commandParserMock.Parse\")\n\n\t\t\treturn\n\t\t}\n\t}\n\n\tif m.ParseFunc == nil {\n\t\tm.t.Fatal(\"Unexpected call to commandParserMock.Parse\")\n\t\treturn\n\t}\n\n\treturn m.ParseFunc(p)\n}\n\n//ParseMinimockCounter returns a count of commandParserMock.ParseFunc invocations\nfunc (m *commandParserMock) ParseMinimockCounter() uint64 {\n\treturn atomic.LoadUint64(&m.ParseCounter)\n}\n\n//ParseMinimockPreCounter returns the value of commandParserMock.Parse invocations\nfunc (m *commandParserMock) ParseMinimockPreCounter() uint64 {\n\treturn atomic.LoadUint64(&m.ParsePreCounter)\n}\n\n//ValidateCallCounters checks that all mocked methods of the interface have been called at least once\n//Deprecated: please use MinimockFinish method or use Finish method of minimock.Controller\nfunc (m *commandParserMock) ValidateCallCounters() {\n\n\tif m.ParseFunc != nil && atomic.LoadUint64(&m.ParseCounter) == 0 {\n\t\tm.t.Fatal(\"Expected call to commandParserMock.Parse\")\n\t}\n\n}\n\n//CheckMocksCalled checks that all mocked methods of the interface have been called at least once\n//Deprecated: please use MinimockFinish method or use Finish method of minimock.Controller\nfunc (m *commandParserMock) CheckMocksCalled() {\n\tm.Finish()\n}\n\n//Finish checks that all mocked methods of the interface have been called at least once\n//Deprecated: please use MinimockFinish or use Finish method of minimock.Controller\nfunc (m *commandParserMock) Finish() {\n\tm.MinimockFinish()\n}\n\n//MinimockFinish checks that all mocked methods of the interface have been called at least once\nfunc (m *commandParserMock) MinimockFinish() {\n\n\tif m.ParseFunc != nil && atomic.LoadUint64(&m.ParseCounter) == 0 {\n\t\tm.t.Fatal(\"Expected call to commandParserMock.Parse\")\n\t}\n\n}\n\n//Wait waits for all mocked methods to be called at least once\n//Deprecated: please use MinimockWait or use Wait method of minimock.Controller\nfunc (m *commandParserMock) Wait(timeout time.Duration) {\n\tm.MinimockWait(timeout)\n}\n\n//MinimockWait waits for all mocked methods to be called at least once\n//this method is called by minimock.Controller\nfunc (m *commandParserMock) MinimockWait(timeout time.Duration) {\n\ttimeoutCh := time.After(timeout)\n\tfor {\n\t\tok := true\n\t\tok = ok && (m.ParseFunc == nil || atomic.LoadUint64(&m.ParseCounter) > 0)\n\n\t\tif ok {\n\t\t\treturn\n\t\t}\n\n\t\tselect {\n\t\tcase <-timeoutCh:\n\n\t\t\tif m.ParseFunc != nil && atomic.LoadUint64(&m.ParseCounter) == 0 {\n\t\t\t\tm.t.Error(\"Expected call to commandParserMock.Parse\")\n\t\t\t}\n\n\t\t\tm.t.Fatalf(\"Some mocks were not called on time: %s\", timeout)\n\t\t\treturn\n\t\tdefault:\n\t\t\ttime.Sleep(time.Millisecond)\n\t\t}\n\t}\n}\n\n//AllMocksCalled returns true if all mocked methods were called before the execution of AllMocksCalled,\n//it can be used with assert/require, i.e. assert.True(mock.AllMocksCalled())\nfunc (m *commandParserMock) AllMocksCalled() bool {\n\n\tif m.ParseFunc != nil && atomic.LoadUint64(&m.ParseCounter) == 0 {\n\t\treturn false\n\t}\n\n\treturn true\n}\n"
  },
  {
    "path": "internal/command/command_test.go",
    "content": "package command\n\nimport (\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestParser_Parse(t *testing.T) {\n\ttests := []struct {\n\t\tname     string\n\t\tinput    string\n\t\twantCmd  Command\n\t\twantArgs []string\n\t\twantErr  error\n\t}{\n\t\t{\"uppercase\", \"GET key\", new(Get), []string{\"key\"}, nil},\n\t\t{\"lowercase\", \"get key\", new(Get), []string{\"key\"}, nil},\n\t\t{\"not_existing_command\", \"command_not_exists arg\", nil, nil, ErrCommandNotFound},\n\t\t{\"args_with_space\", `SET key \"value with space\"`, new(Set), []string{\"key\", \"value with space\"}, nil},\n\t}\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tp := Parser{strg: NewdataStoreMock(t)}\n\t\t\tcmd, args, err := p.Parse(tt.input)\n\t\t\tif err != nil {\n\t\t\t\tassert.Equal(t, tt.wantErr, err)\n\t\t\t}\n\t\t\tassert.IsType(t, tt.wantCmd, cmd)\n\t\t\tassert.Equal(t, tt.wantArgs, args)\n\t\t})\n\t}\n}\n"
  },
  {
    "path": "internal/command/data_store_mock_test.go",
    "content": "package command\n\n/*\nDO NOT EDIT!\nThis code was generated automatically using github.com/gojuno/minimock v1.9\nThe original interface \"dataStore\" can be found in github.com/namreg/godown/internal/command\n*/\nimport (\n\t\"sync/atomic\"\n\t\"time\"\n\n\t\"github.com/gojuno/minimock\"\n\tstorage \"github.com/namreg/godown/internal/storage\"\n\n\ttestify_assert \"github.com/stretchr/testify/assert\"\n)\n\n//dataStoreMock implements github.com/namreg/godown/internal/command.dataStore\ntype dataStoreMock struct {\n\tt minimock.Tester\n\n\tDelFunc       func(p storage.Key) (r error)\n\tDelCounter    uint64\n\tDelPreCounter uint64\n\tDelMock       mdataStoreMockDel\n\n\tGetFunc       func(p storage.Key) (r *storage.Value, r1 error)\n\tGetCounter    uint64\n\tGetPreCounter uint64\n\tGetMock       mdataStoreMockGet\n\n\tKeysFunc       func() (r []storage.Key, r1 error)\n\tKeysCounter    uint64\n\tKeysPreCounter uint64\n\tKeysMock       mdataStoreMockKeys\n\n\tPutFunc       func(p storage.Key, p1 storage.ValueSetter) (r error)\n\tPutCounter    uint64\n\tPutPreCounter uint64\n\tPutMock       mdataStoreMockPut\n}\n\n//NewdataStoreMock returns a mock for github.com/namreg/godown/internal/command.dataStore\nfunc NewdataStoreMock(t minimock.Tester) *dataStoreMock {\n\tm := &dataStoreMock{t: t}\n\n\tif controller, ok := t.(minimock.MockController); ok {\n\t\tcontroller.RegisterMocker(m)\n\t}\n\n\tm.DelMock = mdataStoreMockDel{mock: m}\n\tm.GetMock = mdataStoreMockGet{mock: m}\n\tm.KeysMock = mdataStoreMockKeys{mock: m}\n\tm.PutMock = mdataStoreMockPut{mock: m}\n\n\treturn m\n}\n\ntype mdataStoreMockDel struct {\n\tmock             *dataStoreMock\n\tmockExpectations *dataStoreMockDelParams\n}\n\n//dataStoreMockDelParams represents input parameters of the dataStore.Del\ntype dataStoreMockDelParams struct {\n\tp storage.Key\n}\n\n//Expect sets up expected params for the dataStore.Del\nfunc (m *mdataStoreMockDel) Expect(p storage.Key) *mdataStoreMockDel {\n\tm.mockExpectations = &dataStoreMockDelParams{p}\n\treturn m\n}\n\n//Return sets up a mock for dataStore.Del to return Return's arguments\nfunc (m *mdataStoreMockDel) Return(r error) *dataStoreMock {\n\tm.mock.DelFunc = func(p storage.Key) error {\n\t\treturn r\n\t}\n\treturn m.mock\n}\n\n//Set uses given function f as a mock of dataStore.Del method\nfunc (m *mdataStoreMockDel) Set(f func(p storage.Key) (r error)) *dataStoreMock {\n\tm.mock.DelFunc = f\n\tm.mockExpectations = nil\n\treturn m.mock\n}\n\n//Del implements github.com/namreg/godown/internal/command.dataStore interface\nfunc (m *dataStoreMock) Del(p storage.Key) (r error) {\n\tatomic.AddUint64(&m.DelPreCounter, 1)\n\tdefer atomic.AddUint64(&m.DelCounter, 1)\n\n\tif m.DelMock.mockExpectations != nil {\n\t\ttestify_assert.Equal(m.t, *m.DelMock.mockExpectations, dataStoreMockDelParams{p},\n\t\t\t\"dataStore.Del got unexpected parameters\")\n\n\t\tif m.DelFunc == nil {\n\n\t\t\tm.t.Fatal(\"No results are set for the dataStoreMock.Del\")\n\n\t\t\treturn\n\t\t}\n\t}\n\n\tif m.DelFunc == nil {\n\t\tm.t.Fatal(\"Unexpected call to dataStoreMock.Del\")\n\t\treturn\n\t}\n\n\treturn m.DelFunc(p)\n}\n\n//DelMinimockCounter returns a count of dataStoreMock.DelFunc invocations\nfunc (m *dataStoreMock) DelMinimockCounter() uint64 {\n\treturn atomic.LoadUint64(&m.DelCounter)\n}\n\n//DelMinimockPreCounter returns the value of dataStoreMock.Del invocations\nfunc (m *dataStoreMock) DelMinimockPreCounter() uint64 {\n\treturn atomic.LoadUint64(&m.DelPreCounter)\n}\n\ntype mdataStoreMockGet struct {\n\tmock             *dataStoreMock\n\tmockExpectations *dataStoreMockGetParams\n}\n\n//dataStoreMockGetParams represents input parameters of the dataStore.Get\ntype dataStoreMockGetParams struct {\n\tp storage.Key\n}\n\n//Expect sets up expected params for the dataStore.Get\nfunc (m *mdataStoreMockGet) Expect(p storage.Key) *mdataStoreMockGet {\n\tm.mockExpectations = &dataStoreMockGetParams{p}\n\treturn m\n}\n\n//Return sets up a mock for dataStore.Get to return Return's arguments\nfunc (m *mdataStoreMockGet) Return(r *storage.Value, r1 error) *dataStoreMock {\n\tm.mock.GetFunc = func(p storage.Key) (*storage.Value, error) {\n\t\treturn r, r1\n\t}\n\treturn m.mock\n}\n\n//Set uses given function f as a mock of dataStore.Get method\nfunc (m *mdataStoreMockGet) Set(f func(p storage.Key) (r *storage.Value, r1 error)) *dataStoreMock {\n\tm.mock.GetFunc = f\n\tm.mockExpectations = nil\n\treturn m.mock\n}\n\n//Get implements github.com/namreg/godown/internal/command.dataStore interface\nfunc (m *dataStoreMock) Get(p storage.Key) (r *storage.Value, r1 error) {\n\tatomic.AddUint64(&m.GetPreCounter, 1)\n\tdefer atomic.AddUint64(&m.GetCounter, 1)\n\n\tif m.GetMock.mockExpectations != nil {\n\t\ttestify_assert.Equal(m.t, *m.GetMock.mockExpectations, dataStoreMockGetParams{p},\n\t\t\t\"dataStore.Get got unexpected parameters\")\n\n\t\tif m.GetFunc == nil {\n\n\t\t\tm.t.Fatal(\"No results are set for the dataStoreMock.Get\")\n\n\t\t\treturn\n\t\t}\n\t}\n\n\tif m.GetFunc == nil {\n\t\tm.t.Fatal(\"Unexpected call to dataStoreMock.Get\")\n\t\treturn\n\t}\n\n\treturn m.GetFunc(p)\n}\n\n//GetMinimockCounter returns a count of dataStoreMock.GetFunc invocations\nfunc (m *dataStoreMock) GetMinimockCounter() uint64 {\n\treturn atomic.LoadUint64(&m.GetCounter)\n}\n\n//GetMinimockPreCounter returns the value of dataStoreMock.Get invocations\nfunc (m *dataStoreMock) GetMinimockPreCounter() uint64 {\n\treturn atomic.LoadUint64(&m.GetPreCounter)\n}\n\ntype mdataStoreMockKeys struct {\n\tmock *dataStoreMock\n}\n\n//Return sets up a mock for dataStore.Keys to return Return's arguments\nfunc (m *mdataStoreMockKeys) Return(r []storage.Key, r1 error) *dataStoreMock {\n\tm.mock.KeysFunc = func() ([]storage.Key, error) {\n\t\treturn r, r1\n\t}\n\treturn m.mock\n}\n\n//Set uses given function f as a mock of dataStore.Keys method\nfunc (m *mdataStoreMockKeys) Set(f func() (r []storage.Key, r1 error)) *dataStoreMock {\n\tm.mock.KeysFunc = f\n\n\treturn m.mock\n}\n\n//Keys implements github.com/namreg/godown/internal/command.dataStore interface\nfunc (m *dataStoreMock) Keys() (r []storage.Key, r1 error) {\n\tatomic.AddUint64(&m.KeysPreCounter, 1)\n\tdefer atomic.AddUint64(&m.KeysCounter, 1)\n\n\tif m.KeysFunc == nil {\n\t\tm.t.Fatal(\"Unexpected call to dataStoreMock.Keys\")\n\t\treturn\n\t}\n\n\treturn m.KeysFunc()\n}\n\n//KeysMinimockCounter returns a count of dataStoreMock.KeysFunc invocations\nfunc (m *dataStoreMock) KeysMinimockCounter() uint64 {\n\treturn atomic.LoadUint64(&m.KeysCounter)\n}\n\n//KeysMinimockPreCounter returns the value of dataStoreMock.Keys invocations\nfunc (m *dataStoreMock) KeysMinimockPreCounter() uint64 {\n\treturn atomic.LoadUint64(&m.KeysPreCounter)\n}\n\ntype mdataStoreMockPut struct {\n\tmock             *dataStoreMock\n\tmockExpectations *dataStoreMockPutParams\n}\n\n//dataStoreMockPutParams represents input parameters of the dataStore.Put\ntype dataStoreMockPutParams struct {\n\tp  storage.Key\n\tp1 storage.ValueSetter\n}\n\n//Expect sets up expected params for the dataStore.Put\nfunc (m *mdataStoreMockPut) Expect(p storage.Key, p1 storage.ValueSetter) *mdataStoreMockPut {\n\tm.mockExpectations = &dataStoreMockPutParams{p, p1}\n\treturn m\n}\n\n//Return sets up a mock for dataStore.Put to return Return's arguments\nfunc (m *mdataStoreMockPut) Return(r error) *dataStoreMock {\n\tm.mock.PutFunc = func(p storage.Key, p1 storage.ValueSetter) error {\n\t\treturn r\n\t}\n\treturn m.mock\n}\n\n//Set uses given function f as a mock of dataStore.Put method\nfunc (m *mdataStoreMockPut) Set(f func(p storage.Key, p1 storage.ValueSetter) (r error)) *dataStoreMock {\n\tm.mock.PutFunc = f\n\tm.mockExpectations = nil\n\treturn m.mock\n}\n\n//Put implements github.com/namreg/godown/internal/command.dataStore interface\nfunc (m *dataStoreMock) Put(p storage.Key, p1 storage.ValueSetter) (r error) {\n\tatomic.AddUint64(&m.PutPreCounter, 1)\n\tdefer atomic.AddUint64(&m.PutCounter, 1)\n\n\tif m.PutMock.mockExpectations != nil {\n\t\ttestify_assert.Equal(m.t, *m.PutMock.mockExpectations, dataStoreMockPutParams{p, p1},\n\t\t\t\"dataStore.Put got unexpected parameters\")\n\n\t\tif m.PutFunc == nil {\n\n\t\t\tm.t.Fatal(\"No results are set for the dataStoreMock.Put\")\n\n\t\t\treturn\n\t\t}\n\t}\n\n\tif m.PutFunc == nil {\n\t\tm.t.Fatal(\"Unexpected call to dataStoreMock.Put\")\n\t\treturn\n\t}\n\n\treturn m.PutFunc(p, p1)\n}\n\n//PutMinimockCounter returns a count of dataStoreMock.PutFunc invocations\nfunc (m *dataStoreMock) PutMinimockCounter() uint64 {\n\treturn atomic.LoadUint64(&m.PutCounter)\n}\n\n//PutMinimockPreCounter returns the value of dataStoreMock.Put invocations\nfunc (m *dataStoreMock) PutMinimockPreCounter() uint64 {\n\treturn atomic.LoadUint64(&m.PutPreCounter)\n}\n\n//ValidateCallCounters checks that all mocked methods of the interface have been called at least once\n//Deprecated: please use MinimockFinish method or use Finish method of minimock.Controller\nfunc (m *dataStoreMock) ValidateCallCounters() {\n\n\tif m.DelFunc != nil && atomic.LoadUint64(&m.DelCounter) == 0 {\n\t\tm.t.Fatal(\"Expected call to dataStoreMock.Del\")\n\t}\n\n\tif m.GetFunc != nil && atomic.LoadUint64(&m.GetCounter) == 0 {\n\t\tm.t.Fatal(\"Expected call to dataStoreMock.Get\")\n\t}\n\n\tif m.KeysFunc != nil && atomic.LoadUint64(&m.KeysCounter) == 0 {\n\t\tm.t.Fatal(\"Expected call to dataStoreMock.Keys\")\n\t}\n\n\tif m.PutFunc != nil && atomic.LoadUint64(&m.PutCounter) == 0 {\n\t\tm.t.Fatal(\"Expected call to dataStoreMock.Put\")\n\t}\n\n}\n\n//CheckMocksCalled checks that all mocked methods of the interface have been called at least once\n//Deprecated: please use MinimockFinish method or use Finish method of minimock.Controller\nfunc (m *dataStoreMock) CheckMocksCalled() {\n\tm.Finish()\n}\n\n//Finish checks that all mocked methods of the interface have been called at least once\n//Deprecated: please use MinimockFinish or use Finish method of minimock.Controller\nfunc (m *dataStoreMock) Finish() {\n\tm.MinimockFinish()\n}\n\n//MinimockFinish checks that all mocked methods of the interface have been called at least once\nfunc (m *dataStoreMock) MinimockFinish() {\n\n\tif m.DelFunc != nil && atomic.LoadUint64(&m.DelCounter) == 0 {\n\t\tm.t.Fatal(\"Expected call to dataStoreMock.Del\")\n\t}\n\n\tif m.GetFunc != nil && atomic.LoadUint64(&m.GetCounter) == 0 {\n\t\tm.t.Fatal(\"Expected call to dataStoreMock.Get\")\n\t}\n\n\tif m.KeysFunc != nil && atomic.LoadUint64(&m.KeysCounter) == 0 {\n\t\tm.t.Fatal(\"Expected call to dataStoreMock.Keys\")\n\t}\n\n\tif m.PutFunc != nil && atomic.LoadUint64(&m.PutCounter) == 0 {\n\t\tm.t.Fatal(\"Expected call to dataStoreMock.Put\")\n\t}\n\n}\n\n//Wait waits for all mocked methods to be called at least once\n//Deprecated: please use MinimockWait or use Wait method of minimock.Controller\nfunc (m *dataStoreMock) Wait(timeout time.Duration) {\n\tm.MinimockWait(timeout)\n}\n\n//MinimockWait waits for all mocked methods to be called at least once\n//this method is called by minimock.Controller\nfunc (m *dataStoreMock) MinimockWait(timeout time.Duration) {\n\ttimeoutCh := time.After(timeout)\n\tfor {\n\t\tok := true\n\t\tok = ok && (m.DelFunc == nil || atomic.LoadUint64(&m.DelCounter) > 0)\n\t\tok = ok && (m.GetFunc == nil || atomic.LoadUint64(&m.GetCounter) > 0)\n\t\tok = ok && (m.KeysFunc == nil || atomic.LoadUint64(&m.KeysCounter) > 0)\n\t\tok = ok && (m.PutFunc == nil || atomic.LoadUint64(&m.PutCounter) > 0)\n\n\t\tif ok {\n\t\t\treturn\n\t\t}\n\n\t\tselect {\n\t\tcase <-timeoutCh:\n\n\t\t\tif m.DelFunc != nil && atomic.LoadUint64(&m.DelCounter) == 0 {\n\t\t\t\tm.t.Error(\"Expected call to dataStoreMock.Del\")\n\t\t\t}\n\n\t\t\tif m.GetFunc != nil && atomic.LoadUint64(&m.GetCounter) == 0 {\n\t\t\t\tm.t.Error(\"Expected call to dataStoreMock.Get\")\n\t\t\t}\n\n\t\t\tif m.KeysFunc != nil && atomic.LoadUint64(&m.KeysCounter) == 0 {\n\t\t\t\tm.t.Error(\"Expected call to dataStoreMock.Keys\")\n\t\t\t}\n\n\t\t\tif m.PutFunc != nil && atomic.LoadUint64(&m.PutCounter) == 0 {\n\t\t\t\tm.t.Error(\"Expected call to dataStoreMock.Put\")\n\t\t\t}\n\n\t\t\tm.t.Fatalf(\"Some mocks were not called on time: %s\", timeout)\n\t\t\treturn\n\t\tdefault:\n\t\t\ttime.Sleep(time.Millisecond)\n\t\t}\n\t}\n}\n\n//AllMocksCalled returns true if all mocked methods were called before the execution of AllMocksCalled,\n//it can be used with assert/require, i.e. assert.True(mock.AllMocksCalled())\nfunc (m *dataStoreMock) AllMocksCalled() bool {\n\n\tif m.DelFunc != nil && atomic.LoadUint64(&m.DelCounter) == 0 {\n\t\treturn false\n\t}\n\n\tif m.GetFunc != nil && atomic.LoadUint64(&m.GetCounter) == 0 {\n\t\treturn false\n\t}\n\n\tif m.KeysFunc != nil && atomic.LoadUint64(&m.KeysCounter) == 0 {\n\t\treturn false\n\t}\n\n\tif m.PutFunc != nil && atomic.LoadUint64(&m.PutCounter) == 0 {\n\t\treturn false\n\t}\n\n\treturn true\n}\n"
  },
  {
    "path": "internal/command/del.go",
    "content": "package command\n\nimport (\n\t\"github.com/namreg/godown/internal/storage\"\n)\n\n//Del is the DEL command\ntype Del struct {\n\tstrg dataStore\n}\n\n//Name implements Name of Command i`nterface\nfunc (c *Del) Name() string {\n\treturn \"DEL\"\n}\n\n//Help implements Help of Command interface\nfunc (c *Del) Help() string {\n\treturn `Usage: DEL key\nDel the given key.`\n}\n\n//Execute implements Execute of Command interface\nfunc (c *Del) Execute(args ...string) Reply {\n\tif len(args) != 1 {\n\t\treturn ErrReply{Value: ErrWrongArgsNumber}\n\t}\n\n\tif err := c.strg.Del(storage.Key(args[0])); err != nil {\n\t\treturn ErrReply{Value: err}\n\t}\n\treturn OkReply{}\n}\n"
  },
  {
    "path": "internal/command/del_test.go",
    "content": "package command\n\nimport (\n\t\"testing\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/pkg/errors\"\n\n\t\"github.com/namreg/godown/internal/storage\"\n\t\"github.com/namreg/godown/internal/storage/memory\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestDel_Name(t *testing.T) {\n\tcmd := new(Del)\n\tassert.Equal(t, \"DEL\", cmd.Name())\n}\n\nfunc TestDel_Help(t *testing.T) {\n\tcmd := new(Del)\n\texpexted := `Usage: DEL key\nDel the given key.`\n\n\tassert.Equal(t, expexted, cmd.Help())\n}\n\nfunc TestDel_Execute(t *testing.T) {\n\tstrg := memory.New(\n\t\tmap[storage.Key]*storage.Value{\n\t\t\t\"key\": storage.NewString(\"value\"),\n\t\t},\n\t)\n\ttests := []struct {\n\t\tname   string\n\t\targs   []string\n\t\tresult Reply\n\t}{\n\t\t{\"ok\", []string{\"key\"}, OkReply{}},\n\t\t{\"not_existing_key\", []string{\"not_existing_key\"}, OkReply{}},\n\t\t{\"wrong_number_of_args/1\", []string{}, ErrReply{Value: ErrWrongArgsNumber}},\n\t\t{\"wrong_number_of_args/2\", []string{\"key1\", \"key2\"}, ErrReply{Value: ErrWrongArgsNumber}},\n\t}\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tcmd := &Del{strg: strg}\n\t\t\tres := cmd.Execute(tt.args...)\n\t\t\tassert.Equal(t, tt.result, res)\n\t\t})\n\t}\n}\n\nfunc TestDel_Execute_StorageErr(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\terr := errors.New(\"error\")\n\n\tstrg := NewdataStoreMock(mc)\n\tstrg.DelMock.Return(err)\n\n\tcmd := Del{strg: strg}\n\tres := cmd.Execute(\"key\")\n\n\tassert.Equal(t, ErrReply{Value: err}, res)\n}\n"
  },
  {
    "path": "internal/command/expire.go",
    "content": "package command\n\nimport (\n\t\"errors\"\n\t\"strconv\"\n\t\"time\"\n\n\t\"github.com/namreg/godown/internal/storage\"\n)\n\n//Expire is the Expire command\ntype Expire struct {\n\tclck commandClock\n\tstrg dataStore\n}\n\n//Name implements Name of Command interface\nfunc (c *Expire) Name() string {\n\treturn \"EXPIRE\"\n}\n\n//Help implements Help of Command interface\nfunc (c *Expire) Help() string {\n\treturn `Usage: EXPIRE key seconds\nSet a timeout on key. After the timeout has expired, the key will automatically be deleted.`\n}\n\n//Execute implements Execute of Command interface\nfunc (c *Expire) Execute(args ...string) Reply {\n\tif len(args) != 2 {\n\t\treturn ErrReply{Value: ErrWrongArgsNumber}\n\t}\n\tsecs, err := strconv.Atoi(args[1])\n\tif err != nil {\n\t\treturn ErrReply{Value: errors.New(\"seconds should be integer\")}\n\t}\n\tif secs < 0 {\n\t\treturn ErrReply{Value: errors.New(\"seconds should be positive\")}\n\t}\n\tsetter := func(old *storage.Value) (*storage.Value, error) {\n\t\tif old == nil {\n\t\t\treturn nil, nil\n\t\t}\n\n\t\tnow := c.clck.Now()\n\n\t\told.SetTTL(now.Add(time.Duration(secs) * time.Second))\n\n\t\treturn old, nil\n\t}\n\tif err := c.strg.Put(storage.Key(args[0]), setter); err != nil {\n\t\treturn ErrReply{Value: err}\n\t}\n\treturn OkReply{}\n}\n"
  },
  {
    "path": "internal/command/expire_test.go",
    "content": "package command\n\nimport (\n\t\"errors\"\n\t\"testing\"\n\t\"time\"\n\n\t\"github.com/namreg/godown/internal/clock\"\n\t\"github.com/namreg/godown/internal/storage\"\n\t\"github.com/namreg/godown/internal/storage/memory\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestExpire_Name(t *testing.T) {\n\tcmd := Expire{clck: clock.New()}\n\tassert.Equal(t, \"EXPIRE\", cmd.Name())\n}\n\nfunc TestExpire_Help(t *testing.T) {\n\tcmd := Expire{clck: clock.New()}\n\texpexted := `Usage: EXPIRE key seconds\nSet a timeout on key. After the timeout has expired, the key will automatically be deleted.`\n\n\tassert.Equal(t, expexted, cmd.Help())\n}\n\nfunc TestExpire_Execute(t *testing.T) {\n\tstrg := memory.New(map[storage.Key]*storage.Value{\n\t\t\"key\": storage.NewString(\"value\"),\n\t})\n\ttests := []struct {\n\t\tname string\n\t\targs []string\n\t\twant Reply\n\t}{\n\t\t{\"wrong_arg_number/1\", []string{}, ErrReply{Value: ErrWrongArgsNumber}},\n\t\t{\"wrong_arg_number/2\", []string{\"key\", \"10\", \"20\"}, ErrReply{Value: ErrWrongArgsNumber}},\n\t\t{\"existing_key\", []string{\"key\", \"10\"}, OkReply{}},\n\t\t{\"not_existing_key\", []string{\"not_existing_key\", \"10\"}, OkReply{}},\n\t\t{\"secs_as_string\", []string{\"not_existing_key\", \"seconds\"}, ErrReply{Value: errors.New(\"seconds should be integer\")}},\n\t\t{\"secs_negative\", []string{\"not_existing_key\", \"-10\"}, ErrReply{Value: errors.New(\"seconds should be positive\")}},\n\t}\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tcmd := Expire{strg: strg, clck: clock.New()}\n\t\t\tres := cmd.Execute(tt.args...)\n\t\t\tassert.Equal(t, tt.want, res)\n\t\t})\n\t}\n}\n\nfunc TestExpire_Execute_StorageErr(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\terr := errors.New(\"error\")\n\n\tstrg := NewdataStoreMock(mc)\n\tstrg.PutMock.Return(err)\n\n\tcmd := Expire{strg: strg}\n\n\texpectedRes := ErrReply{Value: err}\n\tactualRes := cmd.Execute(\"key\", \"10\")\n\n\tassert.Equal(t, expectedRes, actualRes)\n}\n\nfunc TestExpire_Execute_WhiteBox(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\tnow, _ := time.Parse(\"2006-01-02 15:04:05\", \"2018-01-01 11:11:11\")\n\n\tclck := NewcommandClockMock(mc)\n\tclck.NowMock.Return(now)\n\n\tstrg := memory.New(map[storage.Key]*storage.Value{\n\t\t\"key\": storage.NewString(\"value\"),\n\t})\n\n\tcmd := Expire{strg: strg, clck: clck}\n\n\tres := cmd.Execute([]string{\"key\", \"10\"}...)\n\tassert.Equal(t, OkReply{}, res)\n\n\titems, err := strg.All()\n\tassert.NoError(t, err)\n\n\tvalue, ok := items[\"key\"]\n\tassert.True(t, ok)\n\tassert.Equal(t, now.Add(10*time.Second).Unix(), value.TTL())\n}\n"
  },
  {
    "path": "internal/command/get.go",
    "content": "package command\n\nimport (\n\t\"github.com/namreg/godown/internal/storage\"\n)\n\n//Get is the GET command\ntype Get struct {\n\tstrg dataStore\n}\n\n//Name implements Name of Command interface\nfunc (c *Get) Name() string {\n\treturn \"GET\"\n}\n\n//Help implements Help of Command interface\nfunc (c *Get) Help() string {\n\treturn `Usage: GET key\nGet the value by key.\nIf provided key does not exist NIL will be returned.`\n}\n\n//Execute implements Execute of Command interface\nfunc (c *Get) Execute(args ...string) Reply {\n\tif len(args) != 1 {\n\t\treturn ErrReply{Value: ErrWrongArgsNumber}\n\t}\n\tvalue, err := c.strg.Get(storage.Key(args[0]))\n\tif err != nil {\n\t\tif err == storage.ErrKeyNotExists {\n\t\t\treturn NilReply{}\n\t\t}\n\t\treturn ErrReply{Value: err}\n\t}\n\tif value.Type() != storage.StringDataType {\n\t\treturn ErrReply{Value: ErrWrongTypeOp}\n\t}\n\treturn StringReply{Value: value.Data().(string)}\n}\n"
  },
  {
    "path": "internal/command/get_test.go",
    "content": "package command\n\nimport (\n\t\"testing\"\n\t\"time\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/namreg/godown/internal/storage\"\n\t\"github.com/namreg/godown/internal/storage/memory\"\n\t\"github.com/pkg/errors\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestGet_Name(t *testing.T) {\n\tcmd := new(Get)\n\tassert.Equal(t, \"GET\", cmd.Name())\n}\n\nfunc TestGet_Help(t *testing.T) {\n\tcmd := new(Get)\n\texpected := `Usage: GET key\nGet the value by key.\nIf provided key does not exist NIL will be returned.`\n\tassert.Equal(t, expected, cmd.Help())\n}\n\nfunc TestGet_Execute(t *testing.T) {\n\texpired := storage.NewString(\"expired_value\")\n\texpired.SetTTL(time.Now().Add(-1 * time.Second))\n\n\tstrg := memory.New(\n\t\tmap[storage.Key]*storage.Value{\n\t\t\t\"key_string\": storage.NewString(\"string_value\"),\n\t\t\t\"key_list\":   storage.NewList([]string{\"list_value_1\", \"list_value_2\"}),\n\t\t\t\"expired\":    expired,\n\t\t},\n\t)\n\ttests := []struct {\n\t\tname string\n\t\targs []string\n\t\twant Reply\n\t}{\n\t\t{\"ok\", []string{\"key_string\"}, StringReply{Value: \"string_value\"}},\n\t\t{\"not_existing_key\", []string{\"not_existing_key\"}, NilReply{}},\n\t\t{\"expired_key\", []string{\"expired\"}, NilReply{}},\n\t\t{\"wrong_type_op\", []string{\"key_list\"}, ErrReply{Value: ErrWrongTypeOp}},\n\t\t{\"wrong_number_of_args/1\", []string{\"key1\", \"key2\"}, ErrReply{Value: ErrWrongArgsNumber}},\n\t\t{\"wrong_number_of_args/2\", []string{}, ErrReply{Value: ErrWrongArgsNumber}},\n\t}\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tcmd := Get{strg: strg}\n\t\t\tres := cmd.Execute(tt.args...)\n\t\t\tassert.Equal(t, tt.want, res)\n\t\t})\n\t}\n}\n\nfunc TestGet_Execute_StorageErr(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\terr := errors.New(\"error\")\n\n\tstrg := NewdataStoreMock(mc)\n\tstrg.GetMock.Return(nil, err)\n\n\tcmd := Get{strg: strg}\n\tres := cmd.Execute(\"key\")\n\n\tassert.Equal(t, ErrReply{Value: err}, res)\n}\n"
  },
  {
    "path": "internal/command/getbit.go",
    "content": "package command\n\nimport (\n\t\"errors\"\n\t\"strconv\"\n\n\t\"github.com/namreg/godown/internal/storage\"\n)\n\n//GetBit is the GetBit command\ntype GetBit struct {\n\tstrg dataStore\n}\n\n//Name implements Name of Command interface\nfunc (c *GetBit) Name() string {\n\treturn \"GETBIT\"\n}\n\n//Help implements Help of Command interface\nfunc (c *GetBit) Help() string {\n\treturn `Usage: GETBIT key offset\nReturns the bit value at offset in the string value stored at key.`\n}\n\n//Execute implements Execute of Command interface\nfunc (c *GetBit) Execute(args ...string) Reply {\n\tif len(args) != 2 {\n\t\treturn ErrReply{Value: ErrWrongArgsNumber}\n\t}\n\n\toffset, err := c.parseOffset(args)\n\tif err != nil {\n\t\treturn ErrReply{Value: err}\n\t}\n\n\tvalue, err := c.strg.Get(storage.Key(args[0]))\n\tif err != nil {\n\t\tif err == storage.ErrKeyNotExists {\n\t\t\treturn IntReply{Value: 0}\n\t\t}\n\t\treturn ErrReply{Value: err}\n\t}\n\n\tif value.Type() != storage.BitMapDataType {\n\t\treturn ErrReply{Value: ErrWrongTypeOp}\n\t}\n\n\tvals := value.Data().([]uint64)\n\tidx := c.resolveIndex(offset)\n\n\tif idx > uint64(len(vals)-1) {\n\t\treturn IntReply{Value: 0}\n\t}\n\n\tif vals[idx]&(1<<(offset%64)) != 0 {\n\t\treturn IntReply{Value: 1}\n\t}\n\treturn IntReply{Value: 0}\n}\n\nfunc (c *GetBit) parseOffset(args []string) (uint64, error) {\n\toffset, err := strconv.ParseUint(args[1], 10, 64)\n\tif err != nil {\n\t\treturn 0, errors.New(\"invalid offset\")\n\t}\n\treturn offset, nil\n}\n\nfunc (c *GetBit) resolveIndex(offset uint64) uint64 {\n\tif offset < 64 {\n\t\treturn 0\n\t}\n\tif offset == 64 {\n\t\treturn 1\n\t}\n\treturn offset % 64\n}\n"
  },
  {
    "path": "internal/command/getbit_test.go",
    "content": "package command\n\nimport (\n\t\"errors\"\n\t\"testing\"\n\t\"time\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/namreg/godown/internal/storage\"\n\t\"github.com/namreg/godown/internal/storage/memory\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestGetBit_Name(t *testing.T) {\n\tcmd := new(GetBit)\n\tassert.Equal(t, \"GETBIT\", cmd.Name())\n}\n\nfunc TestGetBit_Help(t *testing.T) {\n\tcmd := new(GetBit)\n\texpected := `Usage: GETBIT key offset\nReturns the bit value at offset in the string value stored at key.`\n\tassert.Equal(t, expected, cmd.Help())\n}\n\nfunc TestGetBit_Execute(t *testing.T) {\n\texpired := storage.NewBitMap([]uint64{1 << 10})\n\texpired.SetTTL(time.Now().Add(-1 * time.Second))\n\n\tstrg := memory.New(map[storage.Key]*storage.Value{\n\t\t\"string\":                 storage.NewString(\"string\"),\n\t\t\"bitmap\":                 storage.NewBitMap([]uint64{1 << 5}),\n\t\t\"bitmap_with_big_offset\": storage.NewBitMap([]uint64{0, 3}),\n\t\t\"expired_bitmap\":         expired,\n\t})\n\n\ttests := []struct {\n\t\tname string\n\t\targs []string\n\t\twant Reply\n\t}{\n\t\t{\"set_bit\", []string{\"bitmap\", \"5\"}, IntReply{Value: 1}},\n\t\t{\"unset_bit\", []string{\"bitmap\", \"10\"}, IntReply{Value: 0}},\n\t\t{\"big_offset/1\", []string{\"bitmap_with_big_offset\", \"64\"}, IntReply{Value: 1}},\n\t\t{\"big_offset/2\", []string{\"bitmap_with_big_offset\", \"65\"}, IntReply{Value: 1}},\n\t\t{\"big_offset/3\", []string{\"bitmap_with_big_offset\", \"1000\"}, IntReply{Value: 0}},\n\t\t{\"key_not_exists\", []string{\"key_not_exists\", \"0\"}, IntReply{Value: 0}},\n\t\t{\"key_not_exists\", []string{\"key_not_exists\", \"0\"}, IntReply{Value: 0}},\n\t\t{\"expired_key\", []string{\"expired_bitmap\", \"10\"}, IntReply{Value: 0}},\n\t\t{\"wrong_type_op\", []string{\"string\", \"1\"}, ErrReply{Value: ErrWrongTypeOp}},\n\t\t{\"wrong_number_of_args/1\", []string{\"key1\"}, ErrReply{Value: ErrWrongArgsNumber}},\n\t\t{\"wrong_number_of_args/2\", []string{}, ErrReply{Value: ErrWrongArgsNumber}},\n\t\t{\"negative_offset\", []string{\"bitmap\", \"-1\"}, ErrReply{Value: errors.New(\"invalid offset\")}},\n\t\t{\"offset_not_integer\", []string{\"bitmap\", \"string\"}, ErrReply{Value: errors.New(\"invalid offset\")}},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tcmd := GetBit{strg: strg}\n\t\t\tres := cmd.Execute(tt.args...)\n\t\t\tassert.Equal(t, tt.want, res)\n\t\t})\n\t}\n}\n\nfunc TestGetBit_Execute_StorageErr(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\terr := errors.New(\"error\")\n\n\tstrg := NewdataStoreMock(mc)\n\tstrg.GetMock.Return(nil, err)\n\n\tcmd := GetBit{strg: strg}\n\tres := cmd.Execute(\"key\", \"10\")\n\n\tassert.Equal(t, ErrReply{Value: err}, res)\n}\n"
  },
  {
    "path": "internal/command/hdel.go",
    "content": "package command\n\nimport (\n\t\"github.com/namreg/godown/internal/storage\"\n)\n\n//Hdel is the Hdel command\ntype Hdel struct {\n\tstrg dataStore\n}\n\n//Name implements Name of Command interface\nfunc (c *Hdel) Name() string {\n\treturn \"HDEL\"\n}\n\n//Help implements Help of Command interface\nfunc (c *Hdel) Help() string {\n\treturn `Usage: HDEL key field [field ...]\nRemoves the specified fields from the hash stored at key.\nReturns the number of fields that were removed.`\n}\n\n//Execute implements Execute of Command interface\nfunc (c *Hdel) Execute(args ...string) Reply {\n\tif len(args) < 2 {\n\t\treturn ErrReply{Value: ErrWrongArgsNumber}\n\t}\n\n\tvar deleted int\n\n\tsetter := func(old *storage.Value) (*storage.Value, error) {\n\t\tif old == nil {\n\t\t\treturn nil, nil\n\t\t}\n\n\t\tif old.Type() != storage.MapDataType {\n\t\t\treturn nil, ErrWrongTypeOp\n\t\t}\n\n\t\tm := old.Data().(map[string]string)\n\n\t\tfor _, field := range args[1:] {\n\t\t\tif _, ok := m[field]; ok {\n\t\t\t\tdeleted++\n\t\t\t}\n\t\t\tdelete(m, field)\n\t\t}\n\n\t\tif len(m) == 0 {\n\t\t\treturn nil, nil\n\t\t}\n\n\t\treturn storage.NewMap(m), nil\n\t}\n\tif err := c.strg.Put(storage.Key(args[0]), setter); err != nil {\n\t\treturn ErrReply{Value: err}\n\t}\n\treturn IntReply{Value: int64(deleted)}\n}\n"
  },
  {
    "path": "internal/command/hdel_test.go",
    "content": "package command\n\nimport (\n\t\"errors\"\n\t\"testing\"\n\t\"time\"\n\n\t\"github.com/gojuno/minimock\"\n\n\t\"github.com/namreg/godown/internal/storage\"\n\t\"github.com/namreg/godown/internal/storage/memory\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestHdel_Name(t *testing.T) {\n\tcmd := new(Hdel)\n\tassert.Equal(t, \"HDEL\", cmd.Name())\n}\n\nfunc TestHdel_Help(t *testing.T) {\n\tcmd := new(Hdel)\n\texpected := `Usage: HDEL key field [field ...]\nRemoves the specified fields from the hash stored at key.\nReturns the number of fields that were removed.`\n\tassert.Equal(t, expected, cmd.Help())\n}\n\nfunc TestHdel_Execute(t *testing.T) {\n\texpired := storage.NewMap(map[string]string{\"field\": \"value\"})\n\texpired.SetTTL(time.Now().Add(-1 * time.Second))\n\n\tstrg := memory.New(map[storage.Key]*storage.Value{\n\t\t\"string\":  storage.NewString(\"value\"),\n\t\t\"map\":     storage.NewMap(map[string]string{\"field1\": \"value1\", \"field2\": \"value2\", \"field3\": \"value3\"}),\n\t\t\"expired\": expired,\n\t})\n\n\ttests := []struct {\n\t\tname string\n\t\targs []string\n\t\twant Reply\n\t}{\n\t\t{\"ok\", []string{\"map\", \"field1\", \"field2\", \"bar\"}, IntReply{Value: 2}},\n\t\t{\"not_existing_key\", []string{\"not_existing_key\", \"field1\"}, IntReply{Value: 0}},\n\t\t{\"expired_key\", []string{\"expired\", \"field\"}, IntReply{Value: 0}},\n\t\t{\"wrong_type_op\", []string{\"string\", \"field\"}, ErrReply{Value: ErrWrongTypeOp}},\n\t\t{\"wrong_args_number/1\", []string{}, ErrReply{Value: ErrWrongArgsNumber}},\n\t\t{\"wrong_args_number/2\", []string{\"key\"}, ErrReply{Value: ErrWrongArgsNumber}},\n\t}\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tcmd := Hdel{strg: strg}\n\t\t\tassert.Equal(t, tt.want, cmd.Execute(tt.args...))\n\t\t})\n\t}\n}\n\nfunc TestHdel_Execute_DeleteKeyWhenAllFieldsDeleted(t *testing.T) {\n\tstrg := memory.New(map[storage.Key]*storage.Value{\n\t\t\"map\": storage.NewMap(map[string]string{\"field\": \"value\"}),\n\t})\n\n\tcmd := Hdel{strg: strg}\n\tres := cmd.Execute(\"map\", \"field\")\n\tassert.Equal(t, IntReply{Value: 1}, res)\n\n\titems, err := strg.All()\n\tassert.NoError(t, err)\n\n\t_, ok := items[\"map\"]\n\tassert.False(t, ok)\n}\n\nfunc TestHdel_Execute_StorageErr(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\terr := errors.New(\"error\")\n\n\tstrg := NewdataStoreMock(mc)\n\tstrg.PutMock.Return(err)\n\n\tcmd := Hdel{strg: strg}\n\tres := cmd.Execute(\"key\", \"field\")\n\n\tassert.Equal(t, ErrReply{Value: err}, res)\n}\n"
  },
  {
    "path": "internal/command/help.go",
    "content": "package command\n\nimport (\n\t\"fmt\"\n)\n\n//Help is the Help command\ntype Help struct {\n\tparser commandParser\n}\n\n//Name implements Name of Command interface\nfunc (c *Help) Name() string {\n\treturn \"HELP\"\n}\n\n//Help implements Help of Command interface\nfunc (c *Help) Help() string {\n\treturn `Usage: HELP command\nShow the usage of the given command`\n}\n\n//Execute implements Execute of Command interface\nfunc (c *Help) Execute(args ...string) Reply {\n\tif len(args) != 1 {\n\t\treturn ErrReply{Value: ErrWrongArgsNumber}\n\t}\n\n\tcmdName := args[0]\n\n\tcmd, _, err := c.parser.Parse(cmdName)\n\tif err != nil {\n\t\tif err == ErrCommandNotFound {\n\t\t\treturn ErrReply{Value: fmt.Errorf(\"command %q not found\", cmdName)}\n\t\t}\n\t\treturn ErrReply{Value: err}\n\t}\n\treturn RawStringReply{Value: cmd.Help()}\n}\n"
  },
  {
    "path": "internal/command/help_test.go",
    "content": "package command\n\nimport (\n\t\"errors\"\n\t\"testing\"\n\n\t\"github.com/gojuno/minimock\"\n\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestHelp_Name(t *testing.T) {\n\tcmd := new(Help)\n\tassert.Equal(t, \"HELP\", cmd.Name())\n}\n\nfunc TestHelp_Help(t *testing.T) {\n\tcmd := new(Help)\n\texpected := `Usage: HELP command\nShow the usage of the given command`\n\tassert.Equal(t, expected, cmd.Help())\n}\n\nfunc TestHelp_Execute(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\tparserMock := NewcommandParserMock(mc)\n\tparserMock.ParseFunc = func(str string) (Command, []string, error) {\n\t\tif str == \"mock\" {\n\t\t\treturn NewCommandMock(mc).HelpMock.Return(\"help message\"), nil, nil\n\t\t}\n\t\treturn nil, nil, ErrCommandNotFound\n\t}\n\n\ttests := []struct {\n\t\tname string\n\t\targs []string\n\t\twant Reply\n\t}{\n\t\t{\"existing_command\", []string{\"mock\"}, RawStringReply{Value: \"help message\"}},\n\t\t{\"not_existing_command\", []string{\"not_existing_command\"}, ErrReply{Value: errors.New(`command \"not_existing_command\" not found`)}},\n\t\t{\"wrong_number_of_args/1\", []string{}, ErrReply{Value: ErrWrongArgsNumber}},\n\t\t{\"wrong_number_of_args/2\", []string{\"mock\", \"mock\"}, ErrReply{Value: ErrWrongArgsNumber}},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tcmd := Help{parser: parserMock}\n\t\t\tres := cmd.Execute(tt.args...)\n\t\t\tassert.Equal(t, tt.want, res)\n\t\t})\n\t}\n}\n"
  },
  {
    "path": "internal/command/hget.go",
    "content": "package command\n\nimport (\n\t\"github.com/namreg/godown/internal/storage\"\n)\n\n//Hget is the HGET command\ntype Hget struct {\n\tstrg dataStore\n}\n\n//Name implements Name of Command interface\nfunc (c *Hget) Name() string {\n\treturn \"HGET\"\n}\n\n//Help implements Help of Command interface\nfunc (c *Hget) Help() string {\n\treturn `Usage: HGET key field\nReturns the value associated with field in the hash stored at key.`\n}\n\n//Execute implements Execute of Command interface\nfunc (c *Hget) Execute(args ...string) Reply {\n\tif len(args) != 2 {\n\t\treturn ErrReply{Value: ErrWrongArgsNumber}\n\t}\n\n\tvalue, err := c.strg.Get(storage.Key(args[0]))\n\tif err != nil {\n\t\tif err == storage.ErrKeyNotExists {\n\t\t\treturn NilReply{}\n\t\t}\n\t\treturn ErrReply{Value: err}\n\t}\n\tif value.Type() != storage.MapDataType {\n\t\treturn ErrReply{Value: ErrWrongTypeOp}\n\t}\n\tm := value.Data().(map[string]string)\n\tif v, ok := m[args[1]]; ok {\n\t\treturn StringReply{Value: v}\n\t}\n\treturn NilReply{}\n}\n"
  },
  {
    "path": "internal/command/hget_test.go",
    "content": "package command\n\nimport (\n\t\"errors\"\n\t\"testing\"\n\t\"time\"\n\n\t\"github.com/gojuno/minimock\"\n\n\t\"github.com/namreg/godown/internal/storage\"\n\t\"github.com/namreg/godown/internal/storage/memory\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestHget_Name(t *testing.T) {\n\tcmd := new(Hget)\n\tassert.Equal(t, \"HGET\", cmd.Name())\n}\n\nfunc TestHget_Help(t *testing.T) {\n\tcmd := new(Hget)\n\texpected := `Usage: HGET key field\nReturns the value associated with field in the hash stored at key.`\n\tassert.Equal(t, expected, cmd.Help())\n}\n\nfunc TestHget_Execute(t *testing.T) {\n\texpired := storage.NewMap(map[string]string{\"field\": \"value\"})\n\texpired.SetTTL(time.Now().Add(-1 * time.Second))\n\n\tstrg := memory.New(map[storage.Key]*storage.Value{\n\t\t\"string_key\":  storage.NewString(\"string\"),\n\t\t\"expired_key\": expired,\n\t\t\"key\":         storage.NewMap(map[string]string{\"field\": \"value\"}),\n\t})\n\n\ttests := []struct {\n\t\tname string\n\t\targs []string\n\t\twant Reply\n\t}{\n\t\t{\"ok\", []string{\"key\", \"field\"}, StringReply{Value: \"value\"}},\n\t\t{\"not_existing_key\", []string{\"not_existing_key\", \"field\"}, NilReply{}},\n\t\t{\"not_existing_field\", []string{\"key\", \"not_existing_field\"}, NilReply{}},\n\t\t{\"expired_key\", []string{\"expired_key\", \"field\"}, NilReply{}},\n\t\t{\"wront_type_op\", []string{\"string_key\", \"field\"}, ErrReply{Value: ErrWrongTypeOp}},\n\t\t{\"wrong_number_of_args/1\", []string{}, ErrReply{Value: ErrWrongArgsNumber}},\n\t\t{\"wrong_number_of_args/2\", []string{\"key\", \"arg1\", \"arg2\"}, ErrReply{Value: ErrWrongArgsNumber}},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tcmd := Hget{strg: strg}\n\t\t\tres := cmd.Execute(tt.args...)\n\t\t\tassert.Equal(t, tt.want, res)\n\t\t})\n\t}\n}\n\nfunc TestHget_Execute_StorageErr(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\terr := errors.New(\"error\")\n\n\tstrg := NewdataStoreMock(mc)\n\tstrg.GetMock.Return(nil, err)\n\n\tcmd := Hget{strg: strg}\n\tres := cmd.Execute(\"key\", \"field\")\n\n\tassert.Equal(t, ErrReply{Value: err}, res)\n}\n"
  },
  {
    "path": "internal/command/hkeys.go",
    "content": "package command\n\nimport (\n\t\"github.com/namreg/godown/internal/storage\"\n)\n\n//Hkeys is the HKEYS command\ntype Hkeys struct {\n\tstrg dataStore\n}\n\n//Name implements Name of Command interface\nfunc (c *Hkeys) Name() string {\n\treturn \"HKEYS\"\n}\n\n//Help implements Help of Command interface\nfunc (c *Hkeys) Help() string {\n\treturn `Usage: HKEYS key\nReturns all field names in the hash stored at key. Order of fields is not guaranteed`\n}\n\n//Execute implements Execute of Command interface\nfunc (c *Hkeys) Execute(args ...string) Reply {\n\tif len(args) != 1 {\n\t\treturn ErrReply{Value: ErrWrongArgsNumber}\n\t}\n\n\tvalue, err := c.strg.Get(storage.Key(args[0]))\n\tif err != nil {\n\t\tif err == storage.ErrKeyNotExists {\n\t\t\treturn NilReply{}\n\t\t}\n\t\treturn ErrReply{Value: err}\n\t}\n\tif value.Type() != storage.MapDataType {\n\t\treturn ErrReply{Value: ErrWrongTypeOp}\n\t}\n\n\tm := value.Data().(map[string]string)\n\n\tkeys := make([]string, 0, len(m))\n\tfor k := range m {\n\t\tkeys = append(keys, k)\n\t}\n\treturn SliceReply{Value: keys}\n}\n"
  },
  {
    "path": "internal/command/hkeys_test.go",
    "content": "package command\n\nimport (\n\t\"errors\"\n\t\"sort\"\n\t\"testing\"\n\t\"time\"\n\n\t\"github.com/gojuno/minimock\"\n\n\t\"github.com/namreg/godown/internal/storage\"\n\t\"github.com/namreg/godown/internal/storage/memory\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestHkeys_Name(t *testing.T) {\n\tcmd := new(Hkeys)\n\tassert.Equal(t, \"HKEYS\", cmd.Name())\n}\n\nfunc TestHkeys_Help(t *testing.T) {\n\tcmd := new(Hkeys)\n\texpected := `Usage: HKEYS key\nReturns all field names in the hash stored at key. Order of fields is not guaranteed`\n\tassert.Equal(t, expected, cmd.Help())\n}\n\nfunc TestHkeys_Execute(t *testing.T) {\n\texpired := storage.NewMap(map[string]string{\"field\": \"value\", \"field2\": \"value2\"})\n\texpired.SetTTL(time.Now().Add(-1 * time.Second))\n\n\tstrg := memory.New(map[storage.Key]*storage.Value{\n\t\t\"string\":       storage.NewString(\"value\"),\n\t\t\"hash\":         storage.NewMap(map[string]string{\"field\": \"value\", \"field2\": \"value2\"}),\n\t\t\"expired_hash\": expired,\n\t})\n\n\ttests := []struct {\n\t\tname string\n\t\targs []string\n\t\twant Reply\n\t}{\n\t\t{\"ok\", []string{\"hash\"}, SliceReply{Value: []string{\"field\", \"field2\"}}},\n\t\t{\"not_existing_key\", []string{\"not_existing_key\"}, NilReply{}},\n\t\t{\"expired_key\", []string{\"expired_hash\"}, NilReply{}},\n\t\t{\"wront_type_op\", []string{\"string\"}, ErrReply{Value: ErrWrongTypeOp}},\n\t\t{\"wrong_number_of_args/1\", []string{}, ErrReply{Value: ErrWrongArgsNumber}},\n\t\t{\"wrong_number_of_args/2\", []string{\"key\", \"arg1\"}, ErrReply{Value: ErrWrongArgsNumber}},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tcmd := Hkeys{strg: strg}\n\t\t\tres := cmd.Execute(tt.args...)\n\t\t\tif sr, ok := res.(SliceReply); ok {\n\t\t\t\texpected := tt.want.(SliceReply).Value\n\t\t\t\tsort.Strings(expected)\n\n\t\t\t\tactual := sr.Value\n\t\t\t\tsort.Strings(actual)\n\n\t\t\t\tassert.Equal(t, tt.want, res)\n\t\t\t} else {\n\t\t\t\tassert.Equal(t, tt.want, res)\n\t\t\t}\n\t\t})\n\t}\n}\n\nfunc TestHkeys_Execute_StorageErr(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\terr := errors.New(\"error\")\n\n\tstrg := NewdataStoreMock(mc)\n\tstrg.GetMock.Return(nil, err)\n\n\tcmd := Hkeys{strg: strg}\n\tres := cmd.Execute(\"key\")\n\n\tassert.Equal(t, ErrReply{Value: err}, res)\n}\n"
  },
  {
    "path": "internal/command/hset.go",
    "content": "package command\n\nimport (\n\t\"github.com/namreg/godown/internal/storage\"\n)\n\n//Hset is the HSET command\ntype Hset struct {\n\tstrg dataStore\n}\n\n//Name implements Name of Command interface\nfunc (c *Hset) Name() string {\n\treturn \"HSET\"\n}\n\n//Help implements Help of Command interface\nfunc (c *Hset) Help() string {\n\treturn `Usage: HSET key field value\nSets field in the hash stored at key to value.`\n}\n\n//Execute implements Execute of Command interface\nfunc (c *Hset) Execute(args ...string) Reply {\n\tif len(args) != 3 {\n\t\treturn ErrReply{Value: ErrWrongArgsNumber}\n\t}\n\n\tsetter := func(old *storage.Value) (*storage.Value, error) {\n\t\tmfield, mvalue := args[1], args[2]\n\t\tif old == nil {\n\t\t\treturn storage.NewMap(map[string]string{mfield: mvalue}), nil\n\t\t}\n\n\t\tif old.Type() != storage.MapDataType {\n\t\t\treturn nil, ErrWrongTypeOp\n\t\t}\n\n\t\tm := old.Data().(map[string]string)\n\n\t\tm[mfield] = mvalue\n\n\t\treturn storage.NewMap(m), nil\n\t}\n\tif err := c.strg.Put(storage.Key(args[0]), setter); err != nil {\n\t\treturn ErrReply{Value: err}\n\t}\n\treturn OkReply{}\n}\n"
  },
  {
    "path": "internal/command/hset_test.go",
    "content": "package command\n\nimport (\n\t\"errors\"\n\t\"testing\"\n\n\t\"github.com/gojuno/minimock\"\n\n\t\"github.com/namreg/godown/internal/storage\"\n\t\"github.com/namreg/godown/internal/storage/memory\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestHset_Name(t *testing.T) {\n\tcmd := new(Hset)\n\tassert.Equal(t, \"HSET\", cmd.Name())\n}\n\nfunc TestHset_Help(t *testing.T) {\n\tcmd := new(Hset)\n\texpected := `Usage: HSET key field value\nSets field in the hash stored at key to value.`\n\tassert.Equal(t, expected, cmd.Help())\n}\n\nfunc TestHset_Execute(t *testing.T) {\n\tstrg := memory.New(map[storage.Key]*storage.Value{\n\t\t\"string\": storage.NewString(\"value\"),\n\t})\n\n\ttests := []struct {\n\t\tname string\n\t\targs []string\n\t\twant Reply\n\t}{\n\t\t{\"ok\", []string{\"key\", \"field\", \"value\"}, OkReply{}},\n\t\t{\"wrong_type_op\", []string{\"string\", \"field\", \"value\"}, ErrReply{Value: ErrWrongTypeOp}},\n\t\t{\"wrong_args_number/1\", []string{}, ErrReply{Value: ErrWrongArgsNumber}},\n\t\t{\"wrong_args_number/2\", []string{\"key\", \"field\"}, ErrReply{Value: ErrWrongArgsNumber}},\n\t}\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tcmd := Hset{strg: strg}\n\t\t\tassert.Equal(t, tt.want, cmd.Execute(tt.args...))\n\t\t})\n\t}\n}\n\nfunc TestHset_Execute_WhiteBox(t *testing.T) {\n\tstrg := memory.New(map[storage.Key]*storage.Value{\n\t\t\"map\": storage.NewMap(map[string]string{\"field\": \"value\"}),\n\t})\n\n\ttests := []struct {\n\t\tname   string\n\t\targs   []string\n\t\tverify func(t *testing.T, items map[storage.Key]*storage.Value)\n\t}{\n\t\t{\n\t\t\t\"add_new_field_to_existing_key\",\n\t\t\t[]string{\"map\", \"field2\", \"value2\"},\n\t\t\tfunc(t *testing.T, items map[storage.Key]*storage.Value) {\n\t\t\t\tval, ok := items[\"map\"]\n\t\t\t\tassert.True(t, ok)\n\n\t\t\t\tm := val.Data().(map[string]string)\n\n\t\t\t\tfval, ok := m[\"field\"]\n\t\t\t\tassert.True(t, ok)\n\t\t\t\tassert.Equal(t, \"value\", fval)\n\n\t\t\t\tfval, ok = m[\"field2\"]\n\t\t\t\tassert.True(t, ok)\n\t\t\t\tassert.Equal(t, \"value2\", fval)\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\t\"replace_field_in_existing_key\",\n\t\t\t[]string{\"map\", \"field\", \"value2\"},\n\t\t\tfunc(t *testing.T, items map[storage.Key]*storage.Value) {\n\t\t\t\tval, ok := items[\"map\"]\n\t\t\t\tassert.True(t, ok)\n\n\t\t\t\tm := val.Data().(map[string]string)\n\n\t\t\t\tfval, ok := m[\"field\"]\n\t\t\t\tassert.True(t, ok)\n\t\t\t\tassert.Equal(t, \"value2\", fval)\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"add_new_field_to_not_existing_key\",\n\t\t\t[]string{\"map2\", \"field\", \"value\"},\n\t\t\tfunc(t *testing.T, items map[storage.Key]*storage.Value) {\n\t\t\t\tval, ok := items[\"map2\"]\n\t\t\t\tassert.True(t, ok)\n\n\t\t\t\tm := val.Data().(map[string]string)\n\n\t\t\t\tfval, ok := m[\"field\"]\n\t\t\t\tassert.True(t, ok)\n\t\t\t\tassert.Equal(t, \"value\", fval)\n\t\t\t},\n\t\t},\n\t}\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tcmd := Hset{strg: strg}\n\t\t\tres := cmd.Execute(tt.args...)\n\t\t\tassert.Equal(t, OkReply{}, res)\n\n\t\t\titems, err := strg.All()\n\t\t\tassert.NoError(t, err)\n\n\t\t\ttt.verify(t, items)\n\t\t})\n\t}\n}\n\nfunc TestHset_Execute_StorageErr(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\terr := errors.New(\"error\")\n\n\tstrg := NewdataStoreMock(mc)\n\tstrg.PutMock.Return(err)\n\n\tcmd := Hset{strg: strg}\n\tres := cmd.Execute(\"key\", \"field\", \"value\")\n\n\tassert.Equal(t, ErrReply{Value: err}, res)\n}\n"
  },
  {
    "path": "internal/command/hvals.go",
    "content": "package command\n\nimport (\n\t\"github.com/namreg/godown/internal/storage\"\n)\n\n//Hvals is the HVALS command\ntype Hvals struct {\n\tstrg dataStore\n}\n\n//Name implements Name of Command interface\nfunc (c *Hvals) Name() string {\n\treturn \"HVALS\"\n}\n\n//Help implements Help of Command interface\nfunc (c *Hvals) Help() string {\n\treturn `Usage: HVALS key\nReturns all values in the hash stored at key`\n}\n\n//Execute implements Execute of Command interface\nfunc (c *Hvals) Execute(args ...string) Reply {\n\tif len(args) != 1 {\n\t\treturn ErrReply{Value: ErrWrongArgsNumber}\n\t}\n\n\tvalue, err := c.strg.Get(storage.Key(args[0]))\n\tif err != nil {\n\t\tif err == storage.ErrKeyNotExists {\n\t\t\treturn NilReply{}\n\t\t}\n\t\treturn ErrReply{Value: err}\n\t}\n\tif value.Type() != storage.MapDataType {\n\t\treturn ErrReply{Value: ErrWrongTypeOp}\n\t}\n\tm := value.Data().(map[string]string)\n\tvals := make([]string, 0, len(m))\n\tfor _, v := range m {\n\t\tvals = append(vals, v)\n\t}\n\treturn SliceReply{Value: vals}\n}\n"
  },
  {
    "path": "internal/command/hvals_test.go",
    "content": "package command\n\nimport (\n\t\"errors\"\n\t\"sort\"\n\t\"testing\"\n\t\"time\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/namreg/godown/internal/storage\"\n\t\"github.com/namreg/godown/internal/storage/memory\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestHvals_Name(t *testing.T) {\n\tcmd := new(Hvals)\n\tassert.Equal(t, \"HVALS\", cmd.Name())\n}\n\nfunc TestHvals_Help(t *testing.T) {\n\tcmd := new(Hvals)\n\texpected := `Usage: HVALS key\nReturns all values in the hash stored at key`\n\tassert.Equal(t, expected, cmd.Help())\n}\n\nfunc TestHvals_Execute(t *testing.T) {\n\texpired := storage.NewMap(map[string]string{\"field1\": \"val1\", \"field2\": \"val2\"})\n\texpired.SetTTL(time.Now().Add(-1 * time.Second))\n\n\tstrg := memory.New(map[storage.Key]*storage.Value{\n\t\t\"string\":  storage.NewString(\"value\"),\n\t\t\"map\":     storage.NewMap(map[string]string{\"field1\": \"val1\", \"field2\": \"val2\"}),\n\t\t\"expired\": expired,\n\t})\n\n\ttests := []struct {\n\t\tname string\n\t\targs []string\n\t\twant Reply\n\t}{\n\t\t{\"existing_key\", []string{\"map\"}, SliceReply{Value: []string{\"val1\", \"val2\"}}},\n\t\t{\"expired_key\", []string{\"expired\"}, NilReply{}},\n\t\t{\"not_existing_key\", []string{\"not_existing_key\"}, NilReply{}},\n\t\t{\"wrong_type_op\", []string{\"string\"}, ErrReply{Value: ErrWrongTypeOp}},\n\t\t{\"wrong_args_number/1\", []string{}, ErrReply{Value: ErrWrongArgsNumber}},\n\t\t{\"wrong_args_number/2\", []string{\"key\", \"field\"}, ErrReply{Value: ErrWrongArgsNumber}},\n\t}\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tcmd := Hvals{strg: strg}\n\t\t\tres := cmd.Execute(tt.args...)\n\t\t\tif sr, ok := res.(SliceReply); ok {\n\t\t\t\texpected := tt.want.(SliceReply).Value\n\t\t\t\tsort.Strings(expected)\n\n\t\t\t\tactual := sr.Value\n\t\t\t\tsort.Strings(actual)\n\n\t\t\t\tassert.Equal(t, tt.want, res)\n\t\t\t} else {\n\t\t\t\tassert.Equal(t, tt.want, res)\n\t\t\t}\n\t\t})\n\t}\n}\n\nfunc TestHvals_Execute_StorageErr(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\terr := errors.New(\"error\")\n\n\tstrg := NewdataStoreMock(mc)\n\tstrg.GetMock.Return(nil, err)\n\n\tcmd := Hvals{strg: strg}\n\tres := cmd.Execute(\"key\")\n\n\tassert.Equal(t, ErrReply{Value: err}, res)\n}\n"
  },
  {
    "path": "internal/command/keys.go",
    "content": "package command\n\nimport (\n\t\"errors\"\n\t\"regexp\"\n\t\"strings\"\n)\n\n//Keys is the Keys command\ntype Keys struct {\n\tstrg dataStore\n}\n\n//Name implements Name of Command interface\nfunc (c *Keys) Name() string {\n\treturn \"KEYS\"\n}\n\n//Help implements Help of Command interface\nfunc (c *Keys) Help() string {\n\treturn `Usage: KEYS pattern\nFind all keys matching the given pattern.`\n}\n\n//Execute implements Execute of Command interface\nfunc (c *Keys) Execute(args ...string) Reply {\n\tif len(args) != 1 {\n\t\treturn ErrReply{Value: ErrWrongArgsNumber}\n\t}\n\n\tkeys, err := c.strg.Keys()\n\tif err != nil {\n\t\treturn ErrReply{Value: err}\n\t}\n\n\tre, err := c.compilePattern(args[0])\n\tif err != nil {\n\t\treturn ErrReply{Value: err}\n\t}\n\n\tkeyNames := make([]string, 0)\n\tfor _, k := range keys {\n\t\tsk := string(k)\n\t\tif re.MatchString(sk) {\n\t\t\tkeyNames = append(keyNames, sk)\n\t\t}\n\t}\n\treturn SliceReply{Value: keyNames}\n}\n\nfunc (c *Keys) compilePattern(input string) (*regexp.Regexp, error) {\n\tpattern := strings.Replace(input, \"*\", \".+?\", -1)\n\tre, err := regexp.Compile(pattern)\n\tif err != nil {\n\t\treturn nil, errors.New(\"invalid pattern syntax\")\n\t}\n\treturn re, nil\n}\n"
  },
  {
    "path": "internal/command/keys_test.go",
    "content": "package command\n\nimport (\n\t\"errors\"\n\t\"sort\"\n\t\"testing\"\n\t\"time\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/namreg/godown/internal/storage\"\n\t\"github.com/namreg/godown/internal/storage/memory\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestKeys_Name(t *testing.T) {\n\tcmd := new(Keys)\n\tassert.Equal(t, \"KEYS\", cmd.Name())\n}\n\nfunc TestKeys_Help(t *testing.T) {\n\tcmd := new(Keys)\n\texpected := `Usage: KEYS pattern\nFind all keys matching the given pattern.`\n\tassert.Equal(t, expected, cmd.Help())\n}\n\nfunc TestKeys_Execute(t *testing.T) {\n\texpired := storage.NewString(\"value\")\n\texpired.SetTTL(time.Now().Add(-1 * time.Second))\n\n\tstrg := memory.New(map[storage.Key]*storage.Value{\n\t\t\"string\":  storage.NewString(\"value\"),\n\t\t\"string2\": storage.NewString(\"value2\"),\n\t\t\"map\":     storage.NewMap(map[string]string{\"field1\": \"val1\", \"field2\": \"val2\"}),\n\t\t\"expired\": expired,\n\t})\n\n\ttests := []struct {\n\t\tname string\n\t\targs []string\n\t\twant Reply\n\t}{\n\t\t{\"all_keys\", []string{\"*\"}, SliceReply{Value: []string{\"string\", \"string2\", \"map\"}}},\n\t\t{\"partial_match\", []string{\"str*\"}, SliceReply{Value: []string{\"string\", \"string2\"}}},\n\t\t{\"invalid_pattern\", []string{\"str++\"}, ErrReply{Value: errors.New(\"invalid pattern syntax\")}},\n\t\t{\"wrong_args_number/1\", []string{}, ErrReply{Value: ErrWrongArgsNumber}},\n\t\t{\"wrong_args_number/2\", []string{\"*\", \"*\"}, ErrReply{Value: ErrWrongArgsNumber}},\n\t}\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tcmd := Keys{strg: strg}\n\t\t\tres := cmd.Execute(tt.args...)\n\t\t\tif sr, ok := res.(SliceReply); ok {\n\t\t\t\texpected := tt.want.(SliceReply).Value\n\t\t\t\tsort.Strings(expected)\n\n\t\t\t\tactual := sr.Value\n\t\t\t\tsort.Strings(actual)\n\n\t\t\t\tassert.Equal(t, tt.want, res)\n\t\t\t} else {\n\t\t\t\tassert.Equal(t, tt.want, res)\n\t\t\t}\n\t\t})\n\t}\n}\n\nfunc TestKeys_Execute_StorageErr(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\terr := errors.New(\"error\")\n\n\tstrg := NewdataStoreMock(mc)\n\tstrg.KeysMock.Return(nil, err)\n\n\tcmd := Keys{strg: strg}\n\tres := cmd.Execute(\"*\")\n\n\tassert.Equal(t, ErrReply{Value: err}, res)\n}\n"
  },
  {
    "path": "internal/command/lindex.go",
    "content": "package command\n\nimport (\n\t\"errors\"\n\t\"strconv\"\n\n\t\"github.com/namreg/godown/internal/storage\"\n)\n\n//Lindex is the LINDEX command\ntype Lindex struct {\n\tstrg dataStore\n}\n\n//Name implements Name of Command interface\nfunc (c *Lindex) Name() string {\n\treturn \"LINDEX\"\n}\n\n//Help implements Help of Command interface\nfunc (c *Lindex) Help() string {\n\treturn `LINDEX key index\nReturns the element at index index in the list stored at key. \nThe index is zero-based, so 0 means the first element, 1 the second element and so on. \nNegative indices can be used to designate elements starting at the tail of the list.`\n}\n\n//Execute implements Execute of Command interface\nfunc (c *Lindex) Execute(args ...string) Reply {\n\tif len(args) != 2 {\n\t\treturn ErrReply{Value: ErrWrongArgsNumber}\n\t}\n\n\tvalue, err := c.strg.Get(storage.Key(args[0]))\n\tif err != nil {\n\t\tif err == storage.ErrKeyNotExists {\n\t\t\treturn NilReply{}\n\t\t}\n\t\treturn ErrReply{Value: err}\n\t}\n\n\tif value.Type() != storage.ListDataType {\n\t\treturn ErrReply{Value: ErrWrongTypeOp}\n\t}\n\n\tlist := value.Data().([]string)\n\n\tindex, err := c.parseIndex(list, args[1])\n\tif err != nil {\n\t\treturn ErrReply{Value: err}\n\t}\n\n\tif index < 0 || index > len(list)-1 {\n\t\treturn NilReply{}\n\t}\n\treturn StringReply{Value: list[index]}\n}\n\nfunc (c *Lindex) parseIndex(list []string, index string) (int, error) {\n\ti, err := strconv.Atoi(index)\n\tif err != nil {\n\t\treturn 0, errors.New(\"index should be an integer\")\n\t}\n\tif i < 0 {\n\t\treturn len(list) + i, nil\n\t}\n\treturn i, nil\n}\n"
  },
  {
    "path": "internal/command/lindex_test.go",
    "content": "package command\n\nimport (\n\t\"errors\"\n\t\"testing\"\n\t\"time\"\n\n\t\"github.com/gojuno/minimock\"\n\n\t\"github.com/namreg/godown/internal/storage\"\n\t\"github.com/namreg/godown/internal/storage/memory\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestLindex_Name(t *testing.T) {\n\tcmd := new(Lindex)\n\tassert.Equal(t, \"LINDEX\", cmd.Name())\n}\n\nfunc TestLindex_Help(t *testing.T) {\n\tcmd := new(Lindex)\n\texpected := `LINDEX key index\nReturns the element at index index in the list stored at key. \nThe index is zero-based, so 0 means the first element, 1 the second element and so on. \nNegative indices can be used to designate elements starting at the tail of the list.`\n\tassert.Equal(t, expected, cmd.Help())\n}\n\nfunc TestLindex_Execute(t *testing.T) {\n\texpired := storage.NewList([]string{\"val1\", \"val2\"})\n\texpired.SetTTL(time.Now().Add(-1 * time.Second))\n\n\tstrg := memory.New(map[storage.Key]*storage.Value{\n\t\t\"string\":  storage.NewString(\"string\"),\n\t\t\"list\":    storage.NewList([]string{\"val1\", \"val2\"}),\n\t\t\"expired\": expired,\n\t})\n\n\ttests := []struct {\n\t\tname string\n\t\targs []string\n\t\twant Reply\n\t}{\n\t\t{\"ok\", []string{\"list\", \"0\"}, StringReply{Value: \"val1\"}},\n\t\t{\"negative_index/1\", []string{\"list\", \"-1\"}, StringReply{Value: \"val2\"}},\n\t\t{\"negative_index/2\", []string{\"list\", \"-2\"}, StringReply{Value: \"val1\"}},\n\t\t{\"expired_key\", []string{\"expired\", \"0\"}, NilReply{}},\n\t\t{\"not_existing_key\", []string{\"not_existing_key\", \"0\"}, NilReply{}},\n\t\t{\"not_existing_index/1\", []string{\"list\", \"2\"}, NilReply{}},\n\t\t{\"not_existing_index/2\", []string{\"list\", \"-3\"}, NilReply{}},\n\t\t{\"wrong_type_op\", []string{\"string\", \"0\"}, ErrReply{Value: ErrWrongTypeOp}},\n\t\t{\"wrong_args_number/1\", []string{}, ErrReply{Value: ErrWrongArgsNumber}},\n\t\t{\"wrong_args_number/2\", []string{\"list\", \"0\", \"1\"}, ErrReply{Value: ErrWrongArgsNumber}},\n\t\t{\"index_not_integer\", []string{\"list\", \"string\"}, ErrReply{Value: errors.New(\"index should be an integer\")}},\n\t}\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tcmd := Lindex{strg: strg}\n\t\t\tres := cmd.Execute(tt.args...)\n\t\t\tassert.Equal(t, tt.want, res)\n\t\t})\n\t}\n}\n\nfunc TestLindex_Execute_StorageErr(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\terr := errors.New(\"error\")\n\n\tstrg := NewdataStoreMock(mc)\n\tstrg.GetMock.Return(nil, err)\n\n\tcmd := Lindex{strg: strg}\n\tres := cmd.Execute(\"key\", \"0\")\n\n\tassert.Equal(t, ErrReply{Value: err}, res)\n}\n"
  },
  {
    "path": "internal/command/llen.go",
    "content": "package command\n\nimport (\n\t\"github.com/namreg/godown/internal/storage\"\n)\n\n//Llen is the LLEN command\ntype Llen struct {\n\tstrg dataStore\n}\n\n//Name implements Name of Command interface\nfunc (c *Llen) Name() string {\n\treturn \"LLEN\"\n}\n\n//Help implements Help of Command interface\nfunc (c *Llen) Help() string {\n\treturn `Usage: LLEN key\nReturns the length of the list stored at key. \nIf key does not exist, it is interpreted as an empty list and 0 is returned.`\n}\n\n//Execute implements Execute of Command interface\nfunc (c *Llen) Execute(args ...string) Reply {\n\tif len(args) != 1 {\n\t\treturn ErrReply{Value: ErrWrongArgsNumber}\n\t}\n\n\tvalue, err := c.strg.Get(storage.Key(args[0]))\n\tif err != nil {\n\t\tif err == storage.ErrKeyNotExists {\n\t\t\treturn IntReply{Value: 0}\n\t\t}\n\t\treturn ErrReply{Value: err}\n\t}\n\tif value.Type() != storage.ListDataType {\n\t\treturn ErrReply{Value: ErrWrongTypeOp}\n\t}\n\tl := len(value.Data().([]string))\n\treturn IntReply{Value: int64(l)}\n}\n"
  },
  {
    "path": "internal/command/llen_test.go",
    "content": "package command\n\nimport (\n\t\"testing\"\n\t\"time\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/namreg/godown/internal/storage\"\n\t\"github.com/namreg/godown/internal/storage/memory\"\n\t\"github.com/pkg/errors\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestLlen_Name(t *testing.T) {\n\tcmd := new(Llen)\n\tassert.Equal(t, \"LLEN\", cmd.Name())\n}\n\nfunc TestLlen_Help(t *testing.T) {\n\tcmd := new(Llen)\n\texpected := `Usage: LLEN key\nReturns the length of the list stored at key. \nIf key does not exist, it is interpreted as an empty list and 0 is returned.`\n\tassert.Equal(t, expected, cmd.Help())\n}\n\nfunc TestLlen_Execute(t *testing.T) {\n\texpired := storage.NewList([]string{\"val1\", \"val2\"})\n\texpired.SetTTL(time.Now().Add(-1 * time.Second))\n\n\tstrg := memory.New(map[storage.Key]*storage.Value{\n\t\t\"string\":  storage.NewString(\"string\"),\n\t\t\"list\":    storage.NewList([]string{\"val1\", \"val2\"}),\n\t\t\"expired\": expired,\n\t})\n\n\ttests := []struct {\n\t\tname string\n\t\targs []string\n\t\twant Reply\n\t}{\n\t\t{\"ok\", []string{\"list\"}, IntReply{Value: 2}},\n\t\t{\"expired_key\", []string{\"expired\"}, IntReply{Value: 0}},\n\t\t{\"not_existing_key\", []string{\"not_existing_key\"}, IntReply{Value: 0}},\n\t\t{\"wrong_type_op\", []string{\"string\"}, ErrReply{Value: ErrWrongTypeOp}},\n\t\t{\"wrong_args_number/1\", []string{}, ErrReply{Value: ErrWrongArgsNumber}},\n\t\t{\"wrong_args_number/2\", []string{\"list\", \"0\", \"1\"}, ErrReply{Value: ErrWrongArgsNumber}},\n\t}\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tcmd := Llen{strg: strg}\n\t\t\tres := cmd.Execute(tt.args...)\n\t\t\tassert.Equal(t, tt.want, res)\n\t\t})\n\t}\n}\n\nfunc TestLlen_Execute_StorageErr(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\terr := errors.New(\"error\")\n\n\tstrg := NewdataStoreMock(t)\n\tstrg.GetMock.Return(nil, err)\n\n\tcmd := Llen{strg: strg}\n\tres := cmd.Execute(\"key\")\n\n\tassert.Equal(t, ErrReply{Value: err}, res)\n}\n"
  },
  {
    "path": "internal/command/lpop.go",
    "content": "package command\n\nimport (\n\t\"github.com/namreg/godown/internal/storage\"\n)\n\n//Lpop is the LPOP command\ntype Lpop struct {\n\tstrg dataStore\n}\n\n//Name implements Name of Command interface\nfunc (c *Lpop) Name() string {\n\treturn \"LPOP\"\n}\n\n//Help implements Help of Command interface\nfunc (c *Lpop) Help() string {\n\treturn `Usage: LPOP key\nRemoves and returns the first element of the list stored at key.`\n}\n\n//Execute implements Execute of Command interface\nfunc (c *Lpop) Execute(args ...string) Reply {\n\tif len(args) != 1 {\n\t\treturn ErrReply{Value: ErrWrongArgsNumber}\n\t}\n\n\tvar popped string\n\n\tsetter := func(old *storage.Value) (*storage.Value, error) {\n\t\tif old == nil {\n\t\t\treturn nil, nil\n\t\t}\n\n\t\tif old.Type() != storage.ListDataType {\n\t\t\treturn nil, ErrWrongTypeOp\n\t\t}\n\n\t\tlist := old.Data().([]string)\n\t\tpopped, list = list[0], list[1:]\n\n\t\tif len(list) == 0 {\n\t\t\treturn nil, nil\n\t\t}\n\n\t\treturn storage.NewList(list), nil\n\t}\n\n\tif err := c.strg.Put(storage.Key(args[0]), setter); err != nil {\n\t\treturn ErrReply{Value: err}\n\t}\n\n\tif popped == \"\" {\n\t\treturn NilReply{}\n\t}\n\treturn StringReply{Value: popped}\n}\n"
  },
  {
    "path": "internal/command/lpop_test.go",
    "content": "package command\n\nimport (\n\t\"errors\"\n\t\"testing\"\n\t\"time\"\n\n\t\"github.com/gojuno/minimock\"\n\n\t\"github.com/namreg/godown/internal/storage\"\n\t\"github.com/namreg/godown/internal/storage/memory\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestLpop_Name(t *testing.T) {\n\tcmd := new(Lpop)\n\tassert.Equal(t, \"LPOP\", cmd.Name())\n}\n\nfunc TestLpop_Help(t *testing.T) {\n\tcmd := new(Lpop)\n\texpected := `Usage: LPOP key\nRemoves and returns the first element of the list stored at key.`\n\tassert.Equal(t, expected, cmd.Help())\n}\n\nfunc TestLpop_Execute(t *testing.T) {\n\texpired := storage.NewList([]string{\"val1\", \"val2\"})\n\texpired.SetTTL(time.Now().Add(-1 * time.Second))\n\n\tstrg := memory.New(map[storage.Key]*storage.Value{\n\t\t\"string\":  storage.NewString(\"string\"),\n\t\t\"list\":    storage.NewList([]string{\"val1\", \"val2\"}),\n\t\t\"expired\": expired,\n\t})\n\n\ttests := []struct {\n\t\tname string\n\t\targs []string\n\t\twant Reply\n\t}{\n\t\t{\"ok\", []string{\"list\"}, StringReply{Value: \"val1\"}},\n\t\t{\"expired_key\", []string{\"expired\"}, NilReply{}},\n\t\t{\"not_existing_key\", []string{\"not_existing_key\"}, NilReply{}},\n\t\t{\"wrong_type_op\", []string{\"string\"}, ErrReply{Value: ErrWrongTypeOp}},\n\t\t{\"wrong_args_number/1\", []string{}, ErrReply{Value: ErrWrongArgsNumber}},\n\t\t{\"wrong_args_number/2\", []string{\"list\", \"0\"}, ErrReply{Value: ErrWrongArgsNumber}},\n\t}\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tcmd := Lpop{strg: strg}\n\t\t\tres := cmd.Execute(tt.args...)\n\t\t\tassert.Equal(t, tt.want, res)\n\t\t})\n\t}\n}\n\nfunc TestLpop_Execute_StorageErr(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\terr := errors.New(\"error\")\n\n\tstrg := NewdataStoreMock(mc)\n\tstrg.PutMock.Return(err)\n\n\tcmd := Lpop{strg: strg}\n\n\tres := cmd.Execute(\"list\")\n\tassert.Equal(t, ErrReply{Value: err}, res)\n}\n\nfunc TestLpop_Execute_DelEmptyList(t *testing.T) {\n\tstrg := memory.New(map[storage.Key]*storage.Value{\n\t\t\"list\": storage.NewList([]string{\"val1\"}),\n\t})\n\n\tcmd := Lpop{strg: strg}\n\t_ = cmd.Execute(\"list\")\n\n\titems, err := strg.All()\n\tassert.NoError(t, err)\n\n\tvalue, ok := items[\"list\"]\n\tassert.Nil(t, value)\n\tassert.False(t, ok)\n}\n"
  },
  {
    "path": "internal/command/lpush.go",
    "content": "package command\n\nimport (\n\t\"github.com/namreg/godown/internal/storage\"\n)\n\n//Lpush is the LPUSH command\ntype Lpush struct {\n\tstrg dataStore\n}\n\n//Name implements Name of Command interface\nfunc (c *Lpush) Name() string {\n\treturn \"LPUSH\"\n}\n\n//Help implements Help of Command interface\nfunc (c *Lpush) Help() string {\n\treturn `Usage: LPUSH key value [value ...]\nPrepend one or multiple values to a list.`\n}\n\n//Execute implements Execute of Command interface\nfunc (c *Lpush) Execute(args ...string) Reply {\n\tif len(args) < 2 {\n\t\treturn ErrReply{Value: ErrWrongArgsNumber}\n\t}\n\n\tsetter := func(old *storage.Value) (*storage.Value, error) {\n\t\tvals := args[1:]\n\t\t// reverse vals\n\t\tfor i, j := 0, len(vals)-1; i < j; i, j = i+1, j-1 {\n\t\t\tvals[i], vals[j] = vals[j], vals[i]\n\t\t}\n\t\tif old == nil {\n\t\t\treturn storage.NewList(vals), nil\n\t\t}\n\n\t\tif old.Type() != storage.ListDataType {\n\t\t\treturn nil, ErrWrongTypeOp\n\t\t}\n\n\t\toldList := old.Data().([]string)\n\n\t\tnewList := make([]string, 0, len(oldList)+len(vals))\n\t\tnewList = append(newList, vals...)\n\t\tnewList = append(newList, oldList...)\n\n\t\treturn storage.NewList(newList), nil\n\t}\n\tif err := c.strg.Put(storage.Key(args[0]), setter); err != nil {\n\t\treturn ErrReply{Value: err}\n\t}\n\treturn OkReply{}\n}\n"
  },
  {
    "path": "internal/command/lpush_test.go",
    "content": "package command\n\nimport (\n\t\"testing\"\n\t\"time\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/pkg/errors\"\n\n\t\"github.com/namreg/godown/internal/storage\"\n\t\"github.com/namreg/godown/internal/storage/memory\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestLpush_Name(t *testing.T) {\n\tcmd := new(Lpush)\n\tassert.Equal(t, \"LPUSH\", cmd.Name())\n}\n\nfunc TestLpush_Help(t *testing.T) {\n\tcmd := new(Lpush)\n\texpected := `Usage: LPUSH key value [value ...]\nPrepend one or multiple values to a list.`\n\tassert.Equal(t, expected, cmd.Help())\n}\n\nfunc TestLpush_Execute(t *testing.T) {\n\tstrg := memory.New(map[storage.Key]*storage.Value{\n\t\t\"string\": storage.NewString(\"string\"),\n\t\t\"list\":   storage.NewList([]string{\"val1\", \"val2\"}),\n\t})\n\n\ttests := []struct {\n\t\tname string\n\t\targs []string\n\t\twant Reply\n\t}{\n\t\t{\"ok\", []string{\"key\", \"field\", \"value\"}, OkReply{}},\n\t\t{\"wrong_type_op\", []string{\"string\", \"value\"}, ErrReply{Value: ErrWrongTypeOp}},\n\t\t{\"wrong_args_number/1\", []string{}, ErrReply{Value: ErrWrongArgsNumber}},\n\t\t{\"wrong_args_number/2\", []string{\"key\"}, ErrReply{Value: ErrWrongArgsNumber}},\n\t}\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tcmd := Lpush{strg: strg}\n\t\t\tres := cmd.Execute(tt.args...)\n\t\t\tassert.Equal(t, tt.want, res)\n\t\t})\n\t}\n}\n\nfunc TestLpush_Execute_WhiteBox(t *testing.T) {\n\texpired := storage.NewList([]string{\"val\"})\n\texpired.SetTTL(time.Now().Add(-1 * time.Second))\n\n\tstrg := memory.New(map[storage.Key]*storage.Value{\n\t\t\"list\":    storage.NewList([]string{\"val1\"}),\n\t\t\"expired\": expired,\n\t})\n\ttests := []struct {\n\t\tname   string\n\t\targs   []string\n\t\tverify func(t *testing.T, items map[storage.Key]*storage.Value)\n\t}{\n\t\t{\n\t\t\t\"add_new_value_to_existing_key\",\n\t\t\t[]string{\"list\", \"val2\"},\n\t\t\tfunc(t *testing.T, items map[storage.Key]*storage.Value) {\n\t\t\t\tval, ok := items[\"list\"]\n\t\t\t\tassert.True(t, ok)\n\n\t\t\t\texpected := []string{\"val2\", \"val1\"}\n\t\t\t\tactual := val.Data().([]string)\n\n\t\t\t\tassert.Equal(t, expected, actual)\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"add_new_value_to_not_existing_key\",\n\t\t\t[]string{\"list2\", \"val1\"},\n\t\t\tfunc(t *testing.T, items map[storage.Key]*storage.Value) {\n\t\t\t\tval, ok := items[\"list2\"]\n\t\t\t\tassert.True(t, ok)\n\n\t\t\t\texpected := []string{\"val1\"}\n\t\t\t\tactual := val.Data().([]string)\n\n\t\t\t\tassert.Equal(t, expected, actual)\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"add_new_value_to_expired_key\",\n\t\t\t[]string{\"expired\", \"val2\"},\n\t\t\tfunc(t *testing.T, items map[storage.Key]*storage.Value) {\n\t\t\t\tval, ok := items[\"expired\"]\n\t\t\t\tassert.True(t, ok)\n\n\t\t\t\texpected := []string{\"val2\"}\n\t\t\t\tactual := val.Data().([]string)\n\n\t\t\t\tassert.Equal(t, expected, actual)\n\t\t\t},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tcmd := Lpush{strg: strg}\n\t\t\tres := cmd.Execute(tt.args...)\n\t\t\tassert.Equal(t, OkReply{}, res)\n\n\t\t\titems, err := strg.All()\n\t\t\tassert.NoError(t, err)\n\n\t\t\ttt.verify(t, items)\n\t\t})\n\t}\n}\n\nfunc TestLpush_Execute_StorageErr(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\terr := errors.New(\"error\")\n\n\tstrg := NewdataStoreMock(mc)\n\tstrg.PutMock.Return(err)\n\n\tcmd := Lpush{strg: strg}\n\n\tres := cmd.Execute(\"key\", \"val\")\n\tassert.Equal(t, ErrReply{Value: err}, res)\n}\n"
  },
  {
    "path": "internal/command/lrange.go",
    "content": "package command\n\nimport (\n\t\"errors\"\n\t\"strconv\"\n\n\t\"github.com/namreg/godown/internal/storage\"\n)\n\nvar errListOutOfRange = errors.New(\"lrange: out of range\")\n\n//Lrange is the LRANGE command\ntype Lrange struct {\n\tstrg dataStore\n}\n\n//Name implements Name of Command interface\nfunc (c *Lrange) Name() string {\n\treturn \"LRANGE\"\n}\n\n//Help implements Help of Command interface\nfunc (c *Lrange) Help() string {\n\treturn `Usage: LRANGE key start stop\nReturns the specified elements of the list stored at key. \nThe offsets start and stop are zero-based indexes, \nwith 0 being the first element of the list (the head of the list), 1 being the next element and so on.`\n}\n\n//Execute implements Execute of Command interface\nfunc (c *Lrange) Execute(args ...string) Reply {\n\tif len(args) != 3 {\n\t\treturn ErrReply{Value: ErrWrongArgsNumber}\n\t}\n\n\tvalue, err := c.strg.Get(storage.Key(args[0]))\n\tif err != nil {\n\t\tif err == storage.ErrKeyNotExists {\n\t\t\treturn NilReply{}\n\t\t}\n\t\treturn ErrReply{Value: err}\n\t}\n\n\tif value.Type() != storage.ListDataType {\n\t\treturn ErrReply{Value: ErrWrongTypeOp}\n\t}\n\n\tlist := value.Data().([]string)\n\n\tstart, stop, err := c.extractStartStopIndexes(len(list), args)\n\tif err != nil {\n\t\tif err == errListOutOfRange {\n\t\t\treturn NilReply{}\n\t\t}\n\t\treturn ErrReply{Value: err}\n\t}\n\n\trng := list[start:stop]\n\tif len(rng) == 0 {\n\t\treturn NilReply{}\n\t}\n\n\treturn SliceReply{Value: rng}\n}\n\nfunc (c *Lrange) extractStartStopIndexes(len int, args []string) (int, int, error) {\n\tstart, err := strconv.Atoi(args[1])\n\tif err != nil {\n\t\treturn 0, 0, errors.New(\"start should be an integer\")\n\t}\n\n\tstop, err := strconv.Atoi(args[2])\n\tif err != nil {\n\t\treturn 0, 0, errors.New(\"stop should be an integer\")\n\t}\n\n\tif start > len-1 {\n\t\treturn 0, 0, errListOutOfRange\n\t}\n\n\tif stop > len {\n\t\treturn start, len, nil\n\t}\n\n\tif start < 0 {\n\t\tif start = len - 1 + start; start < 0 {\n\t\t\tstart = 0\n\t\t}\n\t}\n\n\tif stop < 0 {\n\t\tif stop = len + stop; stop < 0 {\n\t\t\tstop = len - 1\n\t\t}\n\t}\n\n\treturn start, stop + 1, nil // +1 due to the range operator of slice\n}\n"
  },
  {
    "path": "internal/command/lrange_test.go",
    "content": "package command\n\nimport (\n\t\"errors\"\n\t\"testing\"\n\t\"time\"\n\n\t\"github.com/gojuno/minimock\"\n\n\t\"github.com/namreg/godown/internal/storage\"\n\t\"github.com/namreg/godown/internal/storage/memory\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestLrange_Name(t *testing.T) {\n\tcmd := new(Lrange)\n\tassert.Equal(t, \"LRANGE\", cmd.Name())\n}\n\nfunc TestLrange_Help(t *testing.T) {\n\tcmd := new(Lrange)\n\texpected := `Usage: LRANGE key start stop\nReturns the specified elements of the list stored at key. \nThe offsets start and stop are zero-based indexes, \nwith 0 being the first element of the list (the head of the list), 1 being the next element and so on.`\n\tassert.Equal(t, expected, cmd.Help())\n}\n\nfunc TestLrange_Execute(t *testing.T) {\n\texpired := storage.NewList([]string{\"val\"})\n\texpired.SetTTL(time.Now().Add(-1 * time.Second))\n\n\tstrg := memory.New(map[storage.Key]*storage.Value{\n\t\t\"string\":  storage.NewString(\"value\"),\n\t\t\"list\":    storage.NewList([]string{\"val1\", \"val2\"}),\n\t\t\"expired\": expired,\n\t})\n\n\ttests := []struct {\n\t\tname string\n\t\targs []string\n\t\twant Reply\n\t}{\n\t\t{\"0:0\", []string{\"list\", \"0\", \"0\"}, SliceReply{Value: []string{\"val1\"}}},\n\t\t{\"0:1\", []string{\"list\", \"0\", \"1\"}, SliceReply{Value: []string{\"val1\", \"val2\"}}},\n\t\t{\"-1:-100\", []string{\"list\", \"-1\", \"-100\"}, SliceReply{Value: []string{\"val1\", \"val2\"}}},\n\t\t{\"-2:0\", []string{\"list\", \"-2\", \"0\"}, SliceReply{Value: []string{\"val1\"}}},\n\t\t{\"0:-1\", []string{\"list\", \"0\", \"-1\"}, SliceReply{Value: []string{\"val1\", \"val2\"}}},\n\t\t{\"1:0\", []string{\"list\", \"1\", \"0\"}, NilReply{}},\n\t\t{\"0:100500\", []string{\"list\", \"0\", \"100500\"}, SliceReply{Value: []string{\"val1\", \"val2\"}}},\n\t\t{\"100500:100501\", []string{\"list\", \"100500\", \"100501\"}, NilReply{}},\n\t\t{\"expired_key\", []string{\"expired\", \"0\", \"1\"}, NilReply{}},\n\t\t{\"not_existing_key\", []string{\"not_existing_key\", \"0\", \"1\"}, NilReply{}},\n\t\t{\"wrong_type_op\", []string{\"string\", \"0\", \"1\"}, ErrReply{Value: ErrWrongTypeOp}},\n\t\t{\"wrong_args_number/1\", []string{}, ErrReply{Value: ErrWrongArgsNumber}},\n\t\t{\"wrong_args_number/2\", []string{\"key\", \"0\"}, ErrReply{Value: ErrWrongArgsNumber}},\n\t\t{\"start_is_not_integer\", []string{\"list\", \"start\", \"1\"}, ErrReply{Value: errors.New(\"start should be an integer\")}},\n\t\t{\"stop_is_not_integer\", []string{\"list\", \"0\", \"stop\"}, ErrReply{Value: errors.New(\"stop should be an integer\")}},\n\t}\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tcmd := Lrange{strg: strg}\n\t\t\tres := cmd.Execute(tt.args...)\n\t\t\tassert.Equal(t, tt.want, res)\n\t\t})\n\t}\n}\n\nfunc TestLrange_Execute_StorageErr(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\terr := errors.New(\"error\")\n\n\tstrg := NewdataStoreMock(mc)\n\tstrg.GetMock.Return(nil, err)\n\n\tcmd := Lrange{strg: strg}\n\tres := cmd.Execute(\"key\", \"0\", \"1\")\n\n\tassert.Equal(t, ErrReply{Value: err}, res)\n}\n"
  },
  {
    "path": "internal/command/lrem.go",
    "content": "package command\n\nimport (\n\t\"github.com/namreg/godown/internal/storage\"\n)\n\n//Lrem is the LREM command\ntype Lrem struct {\n\tstrg dataStore\n}\n\n//Name implements Name of Command interface\nfunc (c *Lrem) Name() string {\n\treturn \"LREM\"\n}\n\n//Help implements Help of Command interface\nfunc (c *Lrem) Help() string {\n\treturn `Usage: LREM key value\nRemoves all occurrences of elements equal to value from the list stored at key.`\n}\n\n//Execute implements Execute of Command interface\nfunc (c *Lrem) Execute(args ...string) Reply {\n\tif len(args) != 2 {\n\t\treturn ErrReply{Value: ErrWrongArgsNumber}\n\t}\n\n\tsetter := func(old *storage.Value) (*storage.Value, error) {\n\t\tif old == nil {\n\t\t\treturn nil, nil\n\t\t}\n\t\tif old.Type() != storage.ListDataType {\n\t\t\treturn nil, ErrWrongTypeOp\n\t\t}\n\n\t\tlist := old.Data().([]string)\n\t\tnewList := list[:0]\n\n\t\tfor _, val := range list {\n\t\t\tif val != args[1] {\n\t\t\t\tnewList = append(newList, val)\n\t\t\t}\n\t\t}\n\n\t\tif len(newList) == 0 {\n\t\t\treturn nil, nil\n\t\t}\n\t\treturn storage.NewList(newList), nil\n\t}\n\tif err := c.strg.Put(storage.Key(args[0]), setter); err != nil {\n\t\treturn ErrReply{Value: err}\n\t}\n\treturn OkReply{}\n}\n"
  },
  {
    "path": "internal/command/lrem_test.go",
    "content": "package command\n\nimport (\n\t\"testing\"\n\t\"time\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/pkg/errors\"\n\n\t\"github.com/namreg/godown/internal/storage\"\n\t\"github.com/namreg/godown/internal/storage/memory\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestLrem_Name(t *testing.T) {\n\tcmd := new(Lrem)\n\tassert.Equal(t, \"LREM\", cmd.Name())\n}\n\nfunc TestLrem_Help(t *testing.T) {\n\tcmd := new(Lrem)\n\texpected := `Usage: LREM key value\nRemoves all occurrences of elements equal to value from the list stored at key.`\n\tassert.Equal(t, expected, cmd.Help())\n}\n\nfunc TestLrem_Execute(t *testing.T) {\n\texpired := storage.NewList([]string{\"val\"})\n\texpired.SetTTL(time.Now().Add(-1 * time.Second))\n\n\tstrg := memory.New(map[storage.Key]*storage.Value{\n\t\t\"string\":  storage.NewString(\"value\"),\n\t\t\"list\":    storage.NewList([]string{\"val1\", \"val2\"}),\n\t\t\"expired\": expired,\n\t})\n\n\ttests := []struct {\n\t\tname string\n\t\targs []string\n\t\twant Reply\n\t}{\n\t\t{\"expired_key\", []string{\"expired\", \"val\"}, OkReply{}},\n\t\t{\"not_existing_key\", []string{\"not_existing_key\", \"val\"}, OkReply{}},\n\t\t{\"wrong_type_op\", []string{\"string\", \"val\"}, ErrReply{Value: ErrWrongTypeOp}},\n\t\t{\"wrong_args_number/1\", []string{}, ErrReply{Value: ErrWrongArgsNumber}},\n\t\t{\"wrong_args_number/2\", []string{\"key\", \"val\", \"val\"}, ErrReply{Value: ErrWrongArgsNumber}},\n\t}\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tcmd := Lrem{strg: strg}\n\t\t\tres := cmd.Execute(tt.args...)\n\t\t\tassert.Equal(t, tt.want, res)\n\t\t})\n\t}\n}\n\nfunc TestLrem_Execute_WhiteBox(t *testing.T) {\n\texpired := storage.NewList([]string{\"val\"})\n\texpired.SetTTL(time.Now().Add(-1 * time.Second))\n\n\tstrg := memory.New(map[storage.Key]*storage.Value{\n\t\t\"list1\": storage.NewList([]string{\"val1\", \"val2\", \"val1\"}),\n\t\t\"list2\": storage.NewList([]string{\"val1\", \"val1\"}),\n\t})\n\ttests := []struct {\n\t\tname   string\n\t\targs   []string\n\t\tverify func(t *testing.T, items map[storage.Key]*storage.Value)\n\t}{\n\t\t{\n\t\t\t\"remove_from_existing_key\",\n\t\t\t[]string{\"list1\", \"val1\"},\n\t\t\tfunc(t *testing.T, items map[storage.Key]*storage.Value) {\n\t\t\t\tval, ok := items[\"list1\"]\n\t\t\t\tassert.True(t, ok)\n\n\t\t\t\texpected := []string{\"val2\"}\n\t\t\t\tactual := val.Data().([]string)\n\n\t\t\t\tassert.Equal(t, expected, actual)\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"empty_list_should_be_deleted\",\n\t\t\t[]string{\"list2\", \"val1\"},\n\t\t\tfunc(t *testing.T, items map[storage.Key]*storage.Value) {\n\t\t\t\t_, ok := items[\"list2\"]\n\t\t\t\tassert.False(t, ok)\n\t\t\t},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tcmd := Lrem{strg: strg}\n\t\t\tres := cmd.Execute(tt.args...)\n\t\t\tassert.Equal(t, OkReply{}, res)\n\n\t\t\titems, err := strg.All()\n\t\t\tassert.NoError(t, err)\n\n\t\t\ttt.verify(t, items)\n\t\t})\n\t}\n}\n\nfunc TestLrem_Execute_StorageErr(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\terr := errors.New(\"error\")\n\n\tstrg := NewdataStoreMock(mc)\n\tstrg.PutMock.Return(err)\n\n\tcmd := Lrem{strg: strg}\n\tres := cmd.Execute(\"key\", \"val\")\n\n\tassert.Equal(t, ErrReply{Value: err}, res)\n}\n"
  },
  {
    "path": "internal/command/parser.go",
    "content": "package command\n\nimport (\n\t\"bytes\"\n\t\"errors\"\n\t\"strings\"\n\t\"unicode\"\n)\n\n//ErrCommandNotFound means that command could not be parsed.\nvar ErrCommandNotFound = errors.New(\"command: not found\")\n\n//Parser is a parser that parses user input and creates the appropriate command.\ntype Parser struct {\n\tstrg dataStore\n\tclck commandClock\n}\n\n//NewParser creates a new parser\nfunc NewParser(strg dataStore, clck commandClock) *Parser {\n\treturn &Parser{strg: strg, clck: clck}\n}\n\n//Parse parses string to Command with args\nfunc (p *Parser) Parse(str string) (Command, []string, error) {\n\tvar cmd Command\n\targs := p.extractArgs(str)\n\n\tswitch strings.ToUpper(args[0]) {\n\tcase \"HELP\":\n\t\tcmd = &Help{parser: p}\n\tcase \"DEL\":\n\t\tcmd = &Del{strg: p.strg}\n\tcase \"EXPIRE\":\n\t\tcmd = &Expire{clck: p.clck, strg: p.strg}\n\tcase \"GET\":\n\t\tcmd = &Get{strg: p.strg}\n\tcase \"SET\":\n\t\tcmd = &Set{strg: p.strg}\n\tcase \"STRLEN\":\n\t\tcmd = &Strlen{strg: p.strg}\n\tcase \"GETBIT\":\n\t\tcmd = &GetBit{strg: p.strg}\n\tcase \"SETBIT\":\n\t\tcmd = &SetBit{strg: p.strg}\n\tcase \"HGET\":\n\t\tcmd = &Hget{strg: p.strg}\n\tcase \"HKEYS\":\n\t\tcmd = &Hkeys{strg: p.strg}\n\tcase \"HSET\":\n\t\tcmd = &Hset{strg: p.strg}\n\tcase \"HVALS\":\n\t\tcmd = &Hvals{strg: p.strg}\n\tcase \"KEYS\":\n\t\tcmd = &Keys{strg: p.strg}\n\tcase \"LINDEX\":\n\t\tcmd = &Lindex{strg: p.strg}\n\tcase \"LLEN\":\n\t\tcmd = &Llen{strg: p.strg}\n\tcase \"LPOP\":\n\t\tcmd = &Lpop{strg: p.strg}\n\tcase \"LPUSH\":\n\t\tcmd = &Lpush{strg: p.strg}\n\tcase \"RPUSH\":\n\t\tcmd = &Rpush{strg: p.strg}\n\tcase \"RPOP\":\n\t\tcmd = &Rpop{strg: p.strg}\n\tcase \"LRANGE\":\n\t\tcmd = &Lrange{strg: p.strg}\n\tcase \"LREM\":\n\t\tcmd = &Lrem{strg: p.strg}\n\tcase \"TTL\":\n\t\tcmd = &TTL{strg: p.strg, clck: p.clck}\n\tcase \"TYPE\":\n\t\tcmd = &Type{strg: p.strg}\n\tcase \"PING\":\n\t\tcmd = &Ping{}\n\tdefault:\n\t\treturn nil, nil, ErrCommandNotFound\n\t}\n\n\treturn cmd, args[1:], nil\n}\n\nfunc (p *Parser) extractArgs(val string) []string {\n\targs := make([]string, 0)\n\tvar inQuote bool\n\tvar buf bytes.Buffer\n\tfor _, r := range val {\n\t\tswitch {\n\t\tcase r == '\"':\n\t\t\tinQuote = !inQuote\n\t\tcase unicode.IsSpace(r):\n\t\t\tif !inQuote && buf.Len() > 0 {\n\t\t\t\targs = append(args, buf.String())\n\t\t\t\tbuf.Reset()\n\t\t\t} else {\n\t\t\t\tbuf.WriteRune(r)\n\t\t\t}\n\t\tdefault:\n\t\t\tbuf.WriteRune(r)\n\t\t}\n\t}\n\tif buf.Len() > 0 {\n\t\targs = append(args, buf.String())\n\t}\n\treturn args\n}\n"
  },
  {
    "path": "internal/command/ping.go",
    "content": "package command\n\nimport (\n\t\"strings\"\n)\n\nconst pong = \"PONG\"\n\n//Ping is a PING command.\ntype Ping struct{}\n\n//Name returns the command name.\nfunc (c *Ping) Name() string {\n\treturn \"PING\"\n}\n\n//Help returns usage of a PING command\nfunc (c *Ping) Help() string {\n\treturn `Usage: PING [message]\nReturns PONG if no argument is provided, otherwise return a copy of the argument as a bulk.`\n}\n\n//Execute executes a PING command\nfunc (c *Ping) Execute(args ...string) Reply {\n\tif len(args) == 0 {\n\t\treturn RawStringReply{Value: pong}\n\t}\n\treturn RawStringReply{Value: strings.Join(args, \" \")}\n}\n"
  },
  {
    "path": "internal/command/ping_test.go",
    "content": "package command\n\nimport (\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestPing_Name(t *testing.T) {\n\tcmd := new(Ping)\n\tassert.Equal(t, \"PING\", cmd.Name())\n}\n\nfunc TestPing_Help(t *testing.T) {\n\tcmd := new(Ping)\n\texpected := `Usage: PING [message]\nReturns PONG if no argument is provided, otherwise return a copy of the argument as a bulk.`\n\tassert.Equal(t, expected, cmd.Help())\n}\n\nfunc TestPing_Execute(t *testing.T) {\n\ttests := []struct {\n\t\tname string\n\t\targs []string\n\t\twant Reply\n\t}{\n\t\t{\"no_args\", []string{}, RawStringReply{Value: \"PONG\"}},\n\t\t{\"with_args\", []string{\"hello\", \"world\"}, RawStringReply{Value: \"hello world\"}},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tcmd := new(Ping)\n\t\t\tres := cmd.Execute(tt.args...)\n\t\t\tassert.Equal(t, tt.want, res)\n\t\t})\n\t}\n}\n"
  },
  {
    "path": "internal/command/reply.go",
    "content": "package command\n\n//Reply contains the result of the command execution.\ntype Reply interface {\n\tVal() interface{}\n}\n\n//OkReply is the success reply that does not contain any payload.\ntype OkReply struct{}\n\n//Val returns a nil for success result.\nfunc (or OkReply) Val() interface{} {\n\treturn nil\n}\n\n//ErrReply contains an error.\ntype ErrReply struct {\n\tValue error\n}\n\n//Val returns an error.\nfunc (er ErrReply) Val() interface{} {\n\treturn er.Value\n}\n\n//NilReply is the nil result that does not contain any payload.\ntype NilReply struct{}\n\n//Val returns nil.\nfunc (nr NilReply) Val() interface{} {\n\treturn nil\n}\n\n//RawStringReply contain a string that should not be formatted.\ntype RawStringReply struct {\n\tValue string\n}\n\n//Val returns underlying command help message.\nfunc (ur RawStringReply) Val() interface{} {\n\treturn ur.Value\n}\n\n//StringReply contains a string.\ntype StringReply struct {\n\tValue string\n}\n\n//Val returns string.\nfunc (sr StringReply) Val() interface{} {\n\treturn sr.Value\n}\n\n//IntReply contains an int64 integer.\ntype IntReply struct {\n\tValue int64\n}\n\n//Val returns an int64 integer.\nfunc (ir IntReply) Val() interface{} {\n\treturn ir.Value\n}\n\n//SliceReply contains a slice of strings.\ntype SliceReply struct {\n\tValue []string\n}\n\n//Val returns slice of strings.\nfunc (sr SliceReply) Val() interface{} {\n\treturn sr.Value\n}\n"
  },
  {
    "path": "internal/command/reply_test.go",
    "content": "package command\n\nimport (\n\t\"testing\"\n\n\t\"github.com/pkg/errors\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestOkReply_Val(t *testing.T) {\n\tres := OkReply{}\n\tassert.Nil(t, res.Val())\n}\n\nfunc TestErrReply_Val(t *testing.T) {\n\terr := errors.New(\"error\")\n\tres := ErrReply{Value: err}\n\n\tassert.Equal(t, err, res.Val())\n}\n\nfunc TestNilReply_Val(t *testing.T) {\n\tres := NilReply{}\n\tassert.Nil(t, res.Val())\n}\n\nfunc TestRawStringReply_Val(t *testing.T) {\n\tres := RawStringReply{Value: \"help message\"}\n\tassert.Equal(t, \"help message\", res.Val())\n}\n\nfunc TestStringReply_Val(t *testing.T) {\n\tres := StringReply{Value: \"string\"}\n\tassert.Equal(t, \"string\", res.Val())\n}\n\nfunc TestIntReply_Val(t *testing.T) {\n\tres := IntReply{Value: 100}\n\tassert.Equal(t, int64(100), res.Val())\n}\n\nfunc TestSliceReply_Val(t *testing.T) {\n\tres := SliceReply{Value: []string{\"val1\", \"val2\"}}\n\tassert.Equal(t, []string{\"val1\", \"val2\"}, res.Val())\n}\n"
  },
  {
    "path": "internal/command/rpop.go",
    "content": "package command\n\nimport \"github.com/namreg/godown/internal/storage\"\n\n// Rpop is a RPOP command.\ntype Rpop struct {\n\tstrg dataStore\n}\n\n// Name returns a command name.\n// Implements Name method of Command interface.\nfunc (c *Rpop) Name() string {\n\treturn \"RPOP\"\n}\n\n// Help returns a help message for the command.\n// Implements Help method of Command interface.\nfunc (c *Rpop) Help() string {\n\treturn `Usage: RPOP key\nRemoves and returns the last element of the list stored at key.`\n}\n\n// Execute excutes a command with the given arguments.\n// Implements Execute method of Command interface.\nfunc (c *Rpop) Execute(args ...string) Reply {\n\tif len(args) != 1 {\n\t\treturn ErrReply{Value: ErrWrongArgsNumber}\n\t}\n\n\tvar popped string\n\n\tsetter := func(old *storage.Value) (*storage.Value, error) {\n\t\tif old == nil {\n\t\t\treturn nil, nil\n\t\t}\n\n\t\tif old.Type() != storage.ListDataType {\n\t\t\treturn nil, ErrWrongTypeOp\n\t\t}\n\n\t\tlist := old.Data().([]string)\n\t\tpopped, list = list[len(list)-1], list[:len(list)-1]\n\n\t\tif len(list) == 0 {\n\t\t\treturn nil, nil\n\t\t}\n\n\t\treturn storage.NewList(list), nil\n\t}\n\n\tif err := c.strg.Put(storage.Key(args[0]), setter); err != nil {\n\t\treturn ErrReply{Value: err}\n\t}\n\n\tif popped == \"\" {\n\t\treturn NilReply{}\n\t}\n\treturn StringReply{Value: popped}\n}\n"
  },
  {
    "path": "internal/command/rpop_test.go",
    "content": "package command\n\nimport (\n\t\"errors\"\n\t\"testing\"\n\t\"time\"\n\n\t\"github.com/gojuno/minimock\"\n\n\t\"github.com/namreg/godown/internal/storage\"\n\t\"github.com/namreg/godown/internal/storage/memory\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestRpop_Name(t *testing.T) {\n\tcmd := new(Rpop)\n\tassert.Equal(t, \"RPOP\", cmd.Name())\n}\n\nfunc TestRpop_Help(t *testing.T) {\n\tcmd := new(Rpop)\n\texpected := `Usage: RPOP key\nRemoves and returns the last element of the list stored at key.`\n\tassert.Equal(t, expected, cmd.Help())\n}\n\nfunc TestRpop_Execute(t *testing.T) {\n\texpired := storage.NewList([]string{\"val1\", \"val2\"})\n\texpired.SetTTL(time.Now().Add(-1 * time.Second))\n\n\tstrg := memory.New(map[storage.Key]*storage.Value{\n\t\t\"string\":  storage.NewString(\"string\"),\n\t\t\"list\":    storage.NewList([]string{\"val1\", \"val2\"}),\n\t\t\"expired\": expired,\n\t})\n\n\ttests := []struct {\n\t\tname string\n\t\targs []string\n\t\twant Reply\n\t}{\n\t\t{\"ok\", []string{\"list\"}, StringReply{Value: \"val2\"}},\n\t\t{\"expired_key\", []string{\"expired\"}, NilReply{}},\n\t\t{\"not_existing_key\", []string{\"not_existing_key\"}, NilReply{}},\n\t\t{\"wrong_type_op\", []string{\"string\"}, ErrReply{Value: ErrWrongTypeOp}},\n\t\t{\"wrong_args_number/1\", []string{}, ErrReply{Value: ErrWrongArgsNumber}},\n\t\t{\"wrong_args_number/2\", []string{\"list\", \"0\"}, ErrReply{Value: ErrWrongArgsNumber}},\n\t}\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tcmd := Rpop{strg: strg}\n\t\t\tres := cmd.Execute(tt.args...)\n\t\t\tassert.Equal(t, tt.want, res)\n\t\t})\n\t}\n}\n\nfunc TestRpop_Execute_StorageErr(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\terr := errors.New(\"error\")\n\n\tstrg := NewdataStoreMock(mc)\n\tstrg.PutMock.Return(err)\n\n\tcmd := Rpop{strg: strg}\n\n\tres := cmd.Execute(\"list\")\n\tassert.Equal(t, ErrReply{Value: err}, res)\n}\n\nfunc TestRpop_Execute_DelEmptyList(t *testing.T) {\n\tstrg := memory.New(map[storage.Key]*storage.Value{\n\t\t\"list\": storage.NewList([]string{\"val1\"}),\n\t})\n\n\tcmd := Rpop{strg: strg}\n\t_ = cmd.Execute(\"list\")\n\n\titems, err := strg.All()\n\tassert.NoError(t, err)\n\n\tvalue, ok := items[\"list\"]\n\tassert.Nil(t, value)\n\tassert.False(t, ok)\n}\n"
  },
  {
    "path": "internal/command/rpush.go",
    "content": "package command\n\nimport \"github.com/namreg/godown/internal/storage\"\n\n// Rpush is a RPUSH command.\ntype Rpush struct {\n\tstrg dataStore\n}\n\n// Name returns a command name.\n// Implements Name method of Command interface.\nfunc (c *Rpush) Name() string {\n\treturn \"RPUSH\"\n}\n\n// Help returns a help message for the command.\n// Implements Help method of Command interface.\nfunc (c *Rpush) Help() string {\n\treturn `Usage: RPUSH key value [value ...]\nAppend one or multiple values to a list.`\n}\n\n// Execute excutes a command with the given arguments.\n// Implements Execute method of Command interface.\nfunc (c *Rpush) Execute(args ...string) Reply {\n\tif len(args) < 2 {\n\t\treturn ErrReply{Value: ErrWrongArgsNumber}\n\t}\n\n\tsetter := func(old *storage.Value) (*storage.Value, error) {\n\t\tvals := args[1:]\n\t\tif old == nil {\n\t\t\treturn storage.NewList(vals), nil\n\t\t}\n\n\t\tif old.Type() != storage.ListDataType {\n\t\t\treturn nil, ErrWrongTypeOp\n\t\t}\n\n\t\toldList := old.Data().([]string)\n\t\tnewList := append(oldList, vals...)\n\n\t\treturn storage.NewList(newList), nil\n\t}\n\tif err := c.strg.Put(storage.Key(args[0]), setter); err != nil {\n\t\treturn ErrReply{Value: err}\n\t}\n\treturn OkReply{}\n}\n"
  },
  {
    "path": "internal/command/rpush_test.go",
    "content": "package command\n\nimport (\n\t\"testing\"\n\t\"time\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/pkg/errors\"\n\n\t\"github.com/namreg/godown/internal/storage\"\n\t\"github.com/namreg/godown/internal/storage/memory\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestRpush_Name(t *testing.T) {\n\tcmd := new(Rpush)\n\tassert.Equal(t, \"RPUSH\", cmd.Name())\n}\n\nfunc TestRpush_Help(t *testing.T) {\n\tcmd := new(Rpush)\n\texpected := `Usage: RPUSH key value [value ...]\nAppend one or multiple values to a list.`\n\tassert.Equal(t, expected, cmd.Help())\n}\n\nfunc TestRpush_Execute(t *testing.T) {\n\tstrg := memory.New(map[storage.Key]*storage.Value{\n\t\t\"string\": storage.NewString(\"string\"),\n\t\t\"list\":   storage.NewList([]string{\"val1\", \"val2\"}),\n\t})\n\n\ttests := []struct {\n\t\tname string\n\t\targs []string\n\t\twant Reply\n\t}{\n\t\t{\"ok\", []string{\"key\", \"field\", \"value\"}, OkReply{}},\n\t\t{\"wrong_type_op\", []string{\"string\", \"value\"}, ErrReply{Value: ErrWrongTypeOp}},\n\t\t{\"wrong_args_number/1\", []string{}, ErrReply{Value: ErrWrongArgsNumber}},\n\t\t{\"wrong_args_number/2\", []string{\"key\"}, ErrReply{Value: ErrWrongArgsNumber}},\n\t}\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tcmd := Rpush{strg: strg}\n\t\t\tres := cmd.Execute(tt.args...)\n\t\t\tassert.Equal(t, tt.want, res)\n\t\t})\n\t}\n}\n\nfunc TestRpush_Execute_WhiteBox(t *testing.T) {\n\texpired := storage.NewList([]string{\"val\"})\n\texpired.SetTTL(time.Now().Add(-1 * time.Second))\n\n\tstrg := memory.New(map[storage.Key]*storage.Value{\n\t\t\"list\":    storage.NewList([]string{\"val1\"}),\n\t\t\"expired\": expired,\n\t})\n\ttests := []struct {\n\t\tname   string\n\t\targs   []string\n\t\tverify func(t *testing.T, items map[storage.Key]*storage.Value)\n\t}{\n\t\t{\n\t\t\t\"add_new_value_to_existing_key\",\n\t\t\t[]string{\"list\", \"val2\"},\n\t\t\tfunc(t *testing.T, items map[storage.Key]*storage.Value) {\n\t\t\t\tval, ok := items[\"list\"]\n\t\t\t\tassert.True(t, ok)\n\n\t\t\t\texpected := []string{\"val1\", \"val2\"}\n\t\t\t\tactual := val.Data().([]string)\n\n\t\t\t\tassert.Equal(t, expected, actual)\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"add_new_value_to_not_existing_key\",\n\t\t\t[]string{\"list2\", \"val1\"},\n\t\t\tfunc(t *testing.T, items map[storage.Key]*storage.Value) {\n\t\t\t\tval, ok := items[\"list2\"]\n\t\t\t\tassert.True(t, ok)\n\n\t\t\t\texpected := []string{\"val1\"}\n\t\t\t\tactual := val.Data().([]string)\n\n\t\t\t\tassert.Equal(t, expected, actual)\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"add_new_value_to_expired_key\",\n\t\t\t[]string{\"expired\", \"val2\"},\n\t\t\tfunc(t *testing.T, items map[storage.Key]*storage.Value) {\n\t\t\t\tval, ok := items[\"expired\"]\n\t\t\t\tassert.True(t, ok)\n\n\t\t\t\texpected := []string{\"val2\"}\n\t\t\t\tactual := val.Data().([]string)\n\n\t\t\t\tassert.Equal(t, expected, actual)\n\t\t\t},\n\t\t},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tcmd := Rpush{strg: strg}\n\t\t\tres := cmd.Execute(tt.args...)\n\t\t\tassert.Equal(t, OkReply{}, res)\n\n\t\t\titems, err := strg.All()\n\t\t\tassert.NoError(t, err)\n\n\t\t\ttt.verify(t, items)\n\t\t})\n\t}\n}\n\nfunc TestRpush_Execute_StorageErr(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\terr := errors.New(\"error\")\n\n\tstrg := NewdataStoreMock(mc)\n\tstrg.PutMock.Return(err)\n\n\tcmd := Rpush{strg: strg}\n\n\tres := cmd.Execute(\"key\", \"val\")\n\tassert.Equal(t, ErrReply{Value: err}, res)\n}\n"
  },
  {
    "path": "internal/command/set.go",
    "content": "package command\n\nimport (\n\t\"strings\"\n\n\t\"github.com/namreg/godown/internal/storage\"\n)\n\n//Set is the SET command\ntype Set struct {\n\tstrg dataStore\n}\n\n//Name implements Name of Command interface\nfunc (c *Set) Name() string {\n\treturn \"SET\"\n}\n\n//Help implements Help of Command interface\nfunc (c *Set) Help() string {\n\treturn `Usage: SET key value\nSet key to hold the string value.\nIf key already holds a value, it is overwritten.`\n}\n\n//Execute implements Execute of Command interface\nfunc (c *Set) Execute(args ...string) Reply {\n\tif len(args) != 2 {\n\t\treturn ErrReply{Value: ErrWrongArgsNumber}\n\t}\n\n\tvalue := strings.Join(args[1:], \" \")\n\n\tsetter := func(old *storage.Value) (*storage.Value, error) {\n\t\treturn storage.NewString(value), nil\n\t}\n\n\tif err := c.strg.Put(storage.Key(args[0]), setter); err != nil {\n\t\treturn ErrReply{Value: err}\n\t}\n\treturn OkReply{}\n}\n"
  },
  {
    "path": "internal/command/set_test.go",
    "content": "package command\n\nimport (\n\t\"testing\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/namreg/godown/internal/storage\"\n\t\"github.com/namreg/godown/internal/storage/memory\"\n\t\"github.com/pkg/errors\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestSet_Name(t *testing.T) {\n\tcmd := new(Set)\n\tassert.Equal(t, \"SET\", cmd.Name())\n}\n\nfunc TestSet_Help(t *testing.T) {\n\tcmd := new(Set)\n\texpected := `Usage: SET key value\nSet key to hold the string value.\nIf key already holds a value, it is overwritten.`\n\tassert.Equal(t, expected, cmd.Help())\n}\n\nfunc TestSet_Execute(t *testing.T) {\n\tstrg := memory.New(nil)\n\ttests := []struct {\n\t\tname   string\n\t\targs   []string\n\t\tresult Reply\n\t}{\n\t\t{\"ok\", []string{\"key\", \"value\"}, OkReply{}},\n\t\t{\"wrong_args_number/1\", []string{}, ErrReply{Value: ErrWrongArgsNumber}},\n\t\t{\"wrong_args_number/2\", []string{\"key\", \"value1\", \"value2\"}, ErrReply{Value: ErrWrongArgsNumber}},\n\t}\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tcmd := Set{strg: strg}\n\t\t\tassert.Equal(t, tt.result, cmd.Execute(tt.args...))\n\t\t})\n\t}\n}\n\nfunc TestSet_Execute_WhiteBox(t *testing.T) {\n\tstrg := memory.New(map[storage.Key]*storage.Value{\n\t\t\"string\": storage.NewString(\"value\"),\n\t})\n\n\tcmd := Set{strg: strg}\n\t_ = cmd.Execute(\"string\", \"new_value\")\n\n\titems, err := strg.All()\n\tassert.NoError(t, err)\n\n\tval, ok := items[\"string\"]\n\tassert.True(t, ok)\n\tassert.Equal(t, \"new_value\", val.Data())\n}\n\nfunc TestSet_Execute_StorageErr(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\terr := errors.New(\"error\")\n\n\tstrg := NewdataStoreMock(mc)\n\tstrg.PutMock.Return(err)\n\n\tcmd := Set{strg: strg}\n\tres := cmd.Execute(\"key\", \"value\")\n\n\tassert.Equal(t, ErrReply{Value: err}, res)\n}\n"
  },
  {
    "path": "internal/command/setbit.go",
    "content": "package command\n\nimport (\n\t\"errors\"\n\t\"strconv\"\n\n\t\"github.com/namreg/godown/internal/storage\"\n)\n\n//SetBit is the SetBit command\ntype SetBit struct {\n\tstrg dataStore\n}\n\n//Name implements Name of Command interface\nfunc (c *SetBit) Name() string {\n\treturn \"SETBIT\"\n}\n\n//Help implements Help of Command interface\nfunc (c *SetBit) Help() string {\n\treturn `Usage: SETBIT key offset value\nSets or clears the bit at offset in the string value stored at key.`\n}\n\n//Execute implements Execute of Command interface\nfunc (c *SetBit) Execute(args ...string) Reply {\n\tif len(args) != 3 {\n\t\treturn ErrReply{Value: ErrWrongArgsNumber}\n\t}\n\n\toffset, err := c.parseOffset(args)\n\tif err != nil {\n\t\treturn ErrReply{Value: err}\n\t}\n\n\tbitValue, err := c.parseValue(args)\n\tif err != nil {\n\t\treturn ErrReply{Value: err}\n\t}\n\n\tsetter := func(old *storage.Value) (*storage.Value, error) {\n\t\tvar value []uint64\n\t\tif old != nil {\n\t\t\tif old.Type() != storage.BitMapDataType {\n\t\t\t\treturn nil, ErrWrongTypeOp\n\t\t\t}\n\t\t\tvalue = old.Data().([]uint64)\n\t\t}\n\n\t\tvalue = c.growSlice(value, offset)\n\t\tidx := c.resolveIndex(offset)\n\n\t\tif bitValue == 1 {\n\t\t\tvalue[idx] = value[idx] | 1<<(offset%64)\n\t\t} else {\n\t\t\tvalue[idx] = value[idx] & ^(1 << (offset % 64))\n\t\t}\n\t\tif c.isZeroSlice(value) {\n\t\t\treturn nil, nil\n\t\t}\n\t\treturn storage.NewBitMap(value), nil\n\t}\n\n\tif err := c.strg.Put(storage.Key(args[0]), setter); err != nil {\n\t\treturn ErrReply{Value: err}\n\t}\n\treturn OkReply{}\n}\n\nfunc (c *SetBit) resolveIndex(offset uint64) uint64 {\n\tvar idx uint64\n\tif offset > 63 {\n\t\tif offset == 64 {\n\t\t\tidx = 1\n\t\t} else {\n\t\t\tidx = offset % 64\n\t\t}\n\t}\n\treturn idx\n}\n\nfunc (c *SetBit) growSlice(sl []uint64, offset uint64) []uint64 {\n\tif sl == nil {\n\t\tsl = make([]uint64, 1)\n\t}\n\n\tmaxIdx := uint64(len(sl) - 1)\n\tidx := c.resolveIndex(offset)\n\n\tif maxIdx >= idx {\n\t\treturn sl\n\t}\n\n\tgsl := make([]uint64, idx+1)\n\tcopy(gsl, sl)\n\n\treturn gsl\n}\n\nfunc (c *SetBit) isZeroSlice(sl []uint64) bool {\n\tvar sum uint64\n\tfor _, v := range sl {\n\t\tsum += v\n\t}\n\treturn sum == 0\n}\n\nfunc (c *SetBit) parseOffset(args []string) (uint64, error) {\n\toffset, err := strconv.ParseUint(args[1], 10, 64)\n\tif err != nil {\n\t\treturn 0, errors.New(\"invalid offset\")\n\t}\n\treturn offset, nil\n}\n\nfunc (c *SetBit) parseValue(args []string) (uint64, error) {\n\tbitValue, err := strconv.ParseUint(args[2], 10, 1)\n\tif err != nil {\n\t\treturn 0, errors.New(\"value should be 0 or 1\")\n\t}\n\treturn bitValue, nil\n}\n"
  },
  {
    "path": "internal/command/setbit_test.go",
    "content": "package command\n\nimport (\n\t\"errors\"\n\t\"testing\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/namreg/godown/internal/storage\"\n\t\"github.com/namreg/godown/internal/storage/memory\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestSetBit_Name(t *testing.T) {\n\tcmd := new(SetBit)\n\tassert.Equal(t, \"SETBIT\", cmd.Name())\n}\n\nfunc TestSetBit_Help(t *testing.T) {\n\tcmd := new(SetBit)\n\texpected := `Usage: SETBIT key offset value\nSets or clears the bit at offset in the string value stored at key.`\n\tassert.Equal(t, expected, cmd.Help())\n}\n\nfunc TestSetBit_Execute(t *testing.T) {\n\tstrg := memory.New(map[storage.Key]*storage.Value{\n\t\t\"string\": storage.NewString(\"value\"),\n\t})\n\n\ttests := []struct {\n\t\tname string\n\t\targs []string\n\t\twant Reply\n\t}{\n\t\t{\"ok/1\", []string{\"key\", \"1\", \"1\"}, OkReply{}},\n\t\t{\"ok/2\", []string{\"key\", \"0\", \"0\"}, OkReply{}},\n\t\t{\"big_offset\", []string{\"key\", \"100\", \"1\"}, OkReply{}},\n\t\t{\"negative_offset\", []string{\"key\", \"-1\", \"1\"}, ErrReply{Value: errors.New(\"invalid offset\")}},\n\t\t{\"invalid_value/1\", []string{\"key\", \"1\", \"-1\"}, ErrReply{Value: errors.New(\"value should be 0 or 1\")}},\n\t\t{\"invalid_value/2\", []string{\"key\", \"1\", \"2\"}, ErrReply{Value: errors.New(\"value should be 0 or 1\")}},\n\t\t{\"wrong_type_op\", []string{\"string\", \"1\", \"1\"}, ErrReply{Value: ErrWrongTypeOp}},\n\t\t{\"wrong_args_number/1\", []string{}, ErrReply{Value: ErrWrongArgsNumber}},\n\t\t{\"wrong_args_number/2\", []string{\"key\", \"field\"}, ErrReply{Value: ErrWrongArgsNumber}},\n\t}\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tcmd := SetBit{strg: strg}\n\t\t\tassert.Equal(t, tt.want, cmd.Execute(tt.args...))\n\t\t})\n\t}\n}\n\nfunc TestSetBit_Execute_WhiteBox(t *testing.T) {\n\titems := map[storage.Key]*storage.Value{\n\t\t\"bitmap2\":                storage.NewBitMap([]uint64{2}),\n\t\t\"bitmap3\":                storage.NewBitMap([]uint64{2}),\n\t\t\"bitmap_with_big_offset\": storage.NewBitMap([]uint64{0, 1}),\n\t}\n\tstrg := memory.New(items)\n\n\ttests := []struct {\n\t\tname   string\n\t\targs   []string\n\t\tverify func(t *testing.T)\n\t}{\n\t\t{\n\t\t\t\"set_bit_in_not_existing_key\",\n\t\t\t[]string{\"bitmap\", \"1\", \"1\"},\n\t\t\tfunc(t *testing.T) {\n\t\t\t\tval, ok := items[\"bitmap\"]\n\t\t\t\tassert.True(t, ok)\n\n\t\t\t\tv, ok := val.Data().([]uint64)\n\t\t\t\tassert.True(t, ok)\n\t\t\t\tassert.Equal(t, uint64(2), v[0])\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"set_bit_in_existing_key\",\n\t\t\t[]string{\"bitmap2\", \"2\", \"1\"},\n\t\t\tfunc(t *testing.T) {\n\t\t\t\tval, ok := items[\"bitmap2\"]\n\t\t\t\tassert.True(t, ok)\n\n\t\t\t\tv, ok := val.Data().([]uint64)\n\t\t\t\tassert.True(t, ok)\n\t\t\t\tassert.Equal(t, uint64(6), v[0])\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"delete_key_when_all_bits_not_set\",\n\t\t\t[]string{\"bitmap3\", \"1\", \"0\"},\n\t\t\tfunc(t *testing.T) {\n\t\t\t\t_, ok := items[\"bitmap3\"]\n\t\t\t\tassert.False(t, ok)\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t\"delete_key_when_all_bits_not_set/big_offset\",\n\t\t\t[]string{\"bitmap_with_big_offset\", \"64\", \"0\"},\n\t\t\tfunc(t *testing.T) {\n\t\t\t\t_, ok := items[\"bitmap_with_big_offset\"]\n\t\t\t\tassert.False(t, ok)\n\t\t\t},\n\t\t},\n\t}\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tcmd := SetBit{strg: strg}\n\t\t\tres := cmd.Execute(tt.args...)\n\t\t\tassert.Equal(t, OkReply{}, res)\n\n\t\t\ttt.verify(t)\n\t\t})\n\t}\n}\n\nfunc TestSetBit_growSlice(t *testing.T) {\n\ttype args struct {\n\t\tsl     []uint64\n\t\toffset uint64\n\t}\n\ttests := []struct {\n\t\tname string\n\t\targs args\n\t\twant []uint64\n\t}{\n\t\t{\"offset < 64\", args{sl: []uint64{1}, offset: 60}, []uint64{1}},\n\t\t{\"offset > 63\", args{sl: []uint64{1}, offset: 65}, []uint64{1, 0}},\n\t\t{\"offset == 63\", args{sl: []uint64{1}, offset: 63}, []uint64{1}},\n\t\t{\"offset == 64\", args{sl: []uint64{1}, offset: 64}, []uint64{1, 0}},\n\t}\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tc := &SetBit{}\n\t\t\tgot := c.growSlice(tt.args.sl, tt.args.offset)\n\t\t\tassert.Equal(t, tt.want, got)\n\t\t})\n\t}\n}\n\nfunc TestSetBit_Execute_StorageErr(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\terr := errors.New(\"error\")\n\n\tstrg := NewdataStoreMock(mc)\n\tstrg.PutMock.Return(err)\n\n\tcmd := SetBit{strg: strg}\n\tres := cmd.Execute(\"key\", \"1\", \"1\")\n\n\tassert.Equal(t, ErrReply{Value: err}, res)\n}\n"
  },
  {
    "path": "internal/command/strlen.go",
    "content": "package command\n\nimport (\n\t\"unicode/utf8\"\n\n\t\"github.com/namreg/godown/internal/storage\"\n)\n\n//Strlen is the Strlen command\ntype Strlen struct {\n\tstrg dataStore\n}\n\n//Name implements Name of Command interface\nfunc (c *Strlen) Name() string {\n\treturn \"STRLEN\"\n}\n\n//Help implements Help of Command interface\nfunc (c *Strlen) Help() string {\n\treturn `Usage: STRLEN key\nReturns length of the given key.\nIf key does not exists, 0 will be returned.`\n}\n\n//Execute implements Execute of Command interface\nfunc (c *Strlen) Execute(args ...string) Reply {\n\tif len(args) != 1 {\n\t\treturn ErrReply{Value: ErrWrongArgsNumber}\n\t}\n\n\tvalue, err := c.strg.Get(storage.Key(args[0]))\n\tif err != nil {\n\t\tif err == storage.ErrKeyNotExists {\n\t\t\treturn IntReply{Value: 0}\n\t\t}\n\t\treturn ErrReply{Value: err}\n\t}\n\tif value.Type() != storage.StringDataType {\n\t\treturn ErrReply{Value: ErrWrongTypeOp}\n\t}\n\tcnt := utf8.RuneCountInString(value.Data().(string))\n\treturn IntReply{Value: int64(cnt)}\n}\n"
  },
  {
    "path": "internal/command/strlen_test.go",
    "content": "package command\n\nimport (\n\t\"testing\"\n\t\"time\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/pkg/errors\"\n\n\t\"github.com/namreg/godown/internal/storage\"\n\t\"github.com/namreg/godown/internal/storage/memory\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestStrlen_Name(t *testing.T) {\n\tcmd := new(Strlen)\n\tassert.Equal(t, \"STRLEN\", cmd.Name())\n}\n\nfunc TestStrlen_Help(t *testing.T) {\n\tcmd := new(Strlen)\n\texpected := `Usage: STRLEN key\nReturns length of the given key.\nIf key does not exists, 0 will be returned.`\n\tassert.Equal(t, expected, cmd.Help())\n}\n\nfunc TestStrlen_Execute(t *testing.T) {\n\texpired := storage.NewString(\"val\")\n\texpired.SetTTL(time.Now().Add(-1 * time.Second))\n\n\tstrg := memory.New(map[storage.Key]*storage.Value{\n\t\t\"string\":       storage.NewString(\"value\"),\n\t\t\"empty_string\": storage.NewString(\"\"),\n\t\t\"expired\":      expired,\n\t\t\"list\":         storage.NewList([]string{\"val1\", \"val2\"}),\n\t})\n\n\ttests := []struct {\n\t\tname string\n\t\targs []string\n\t\twant Reply\n\t}{\n\t\t{\"not_empty_string\", []string{\"string\"}, IntReply{Value: 5}},\n\t\t{\"empty_string\", []string{\"empty_string\"}, IntReply{Value: 0}},\n\t\t{\"expired_key\", []string{\"expired\"}, IntReply{Value: 0}},\n\t\t{\"not_existing_key\", []string{\"not_existing_key\"}, IntReply{Value: 0}},\n\t\t{\"wrong_type_op\", []string{\"list\"}, ErrReply{Value: ErrWrongTypeOp}},\n\t\t{\"wrong_args_number/1\", []string{}, ErrReply{Value: ErrWrongArgsNumber}},\n\t\t{\"wrong_args_number/2\", []string{\"string\", \"list\"}, ErrReply{Value: ErrWrongArgsNumber}},\n\t}\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tcmd := Strlen{strg: strg}\n\t\t\tres := cmd.Execute(tt.args...)\n\t\t\tassert.Equal(t, tt.want, res)\n\t\t})\n\t}\n}\n\nfunc TestStrlen_Execute_StorageErr(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\terr := errors.New(\"error\")\n\n\tstrg := NewdataStoreMock(mc)\n\tstrg.GetMock.Return(nil, err)\n\n\tcmd := Strlen{strg: strg}\n\tres := cmd.Execute(\"key\")\n\n\tassert.Equal(t, ErrReply{Value: err}, res)\n}\n"
  },
  {
    "path": "internal/command/ttl.go",
    "content": "package command\n\nimport (\n\t\"time\"\n\n\t\"github.com/namreg/godown/internal/storage\"\n)\n\n//TTL is the TTL command\ntype TTL struct {\n\tstrg dataStore\n\tclck commandClock\n}\n\n//Name implements Name of Command interface\nfunc (c *TTL) Name() string {\n\treturn \"TTL\"\n}\n\n//Help implements Help of Command interface\nfunc (c *TTL) Help() string {\n\treturn `Usage: TTL key\nReturns the remaining time to live of a key. -1 returns if key does not have timeout.`\n}\n\n//Execute implements Execute of Command interface\nfunc (c *TTL) Execute(args ...string) Reply {\n\tif len(args) != 1 {\n\t\treturn ErrReply{Value: ErrWrongArgsNumber}\n\t}\n\n\tvalue, err := c.strg.Get(storage.Key(args[0]))\n\tif err != nil {\n\t\tif err == storage.ErrKeyNotExists {\n\t\t\treturn NilReply{}\n\t\t}\n\t\treturn ErrReply{Value: err}\n\t}\n\tif value.TTL() < 0 {\n\t\treturn IntReply{Value: -1}\n\t}\n\tsecs := time.Unix(value.TTL(), 0).Sub(c.clck.Now()).Seconds()\n\treturn IntReply{Value: int64(secs)}\n}\n"
  },
  {
    "path": "internal/command/ttl_test.go",
    "content": "package command\n\nimport (\n\t\"testing\"\n\t\"time\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/namreg/godown/internal/storage\"\n\t\"github.com/namreg/godown/internal/storage/memory\"\n\t\"github.com/pkg/errors\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestTTL_Name(t *testing.T) {\n\tcmd := new(TTL)\n\tassert.Equal(t, \"TTL\", cmd.Name())\n}\n\nfunc TestTTL_Help(t *testing.T) {\n\tcmd := new(TTL)\n\texpected := `Usage: TTL key\nReturns the remaining time to live of a key. -1 returns if key does not have timeout.`\n\tassert.Equal(t, expected, cmd.Help())\n}\n\nfunc TestTTL_Execute(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\ttestTime, _ := time.Parse(\"2006-01-02 15:04:05\", \"2018-01-01 11:11:11\")\n\n\tclck := NewcommandClockMock(t)\n\tclck.NowMock.Return(testTime)\n\n\tnow := clck.Now()\n\n\texpired := storage.NewString(\"value\")\n\texpired.SetTTL(now.Add(-1 * time.Second))\n\n\twillExpire := storage.NewString(\"value\")\n\twillExpire.SetTTL(now.Add(10 * time.Second))\n\n\tstrg := memory.New(\n\t\tmap[storage.Key]*storage.Value{\n\t\t\t\"no_timeout\":  storage.NewString(\"value\"),\n\t\t\t\"expired\":     expired,\n\t\t\t\"will_expire\": willExpire,\n\t\t},\n\t\tmemory.WithClock(clck),\n\t)\n\n\ttests := []struct {\n\t\tname string\n\t\targs []string\n\t\twant Reply\n\t}{\n\t\t{\"no_timeout\", []string{\"no_timeout\"}, IntReply{Value: -1}},\n\t\t{\"expired\", []string{\"expired\"}, NilReply{}},\n\t\t{\"will_expire\", []string{\"will_expire\"}, IntReply{Value: now.Add(10*time.Second).Unix() - now.Unix()}},\n\t\t{\"not_existing_key\", []string{\"not_existing_key\"}, NilReply{}},\n\t\t{\"wrong_number_of_args/1\", []string{}, ErrReply{Value: ErrWrongArgsNumber}},\n\t\t{\"wrong_number_of_args/2\", []string{\"key\", \"arg1\"}, ErrReply{Value: ErrWrongArgsNumber}},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tcmd := TTL{clck: clck, strg: strg}\n\t\t\tres := cmd.Execute(tt.args...)\n\t\t\tassert.Equal(t, tt.want, res)\n\t\t})\n\t}\n}\n\nfunc TestTTL_Execute_StorageErr(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\terr := errors.New(\"error\")\n\n\tstrg := NewdataStoreMock(mc)\n\tstrg.GetMock.Return(nil, err)\n\n\tcmd := TTL{strg: strg}\n\tres := cmd.Execute(\"key\")\n\n\tassert.Equal(t, ErrReply{Value: err}, res)\n}\n"
  },
  {
    "path": "internal/command/type.go",
    "content": "package command\n\nimport (\n\t\"github.com/namreg/godown/internal/storage\"\n)\n\n//Type is the Type command\ntype Type struct {\n\tstrg dataStore\n}\n\n//Name implements Name of Command interface\nfunc (c *Type) Name() string {\n\treturn \"TYPE\"\n}\n\n//Help implements Help of Command interface\nfunc (c *Type) Help() string {\n\treturn `Usage: TYPE key\nReturns the type stored at key.`\n}\n\n//Execute implements Execute of Command interface\nfunc (c *Type) Execute(args ...string) Reply {\n\tif len(args) != 1 {\n\t\treturn ErrReply{Value: ErrWrongArgsNumber}\n\t}\n\n\tvalue, err := c.strg.Get(storage.Key(args[0]))\n\tif err != nil {\n\t\tif err == storage.ErrKeyNotExists {\n\t\t\treturn NilReply{}\n\t\t}\n\t\treturn ErrReply{Value: err}\n\t}\n\treturn StringReply{Value: string(value.Type())}\n}\n"
  },
  {
    "path": "internal/command/type_test.go",
    "content": "package command\n\nimport (\n\t\"testing\"\n\n\t\"github.com/gojuno/minimock\"\n\t\"github.com/pkg/errors\"\n\n\t\"github.com/namreg/godown/internal/storage\"\n\t\"github.com/namreg/godown/internal/storage/memory\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestType_Name(t *testing.T) {\n\tcmd := new(Type)\n\tassert.Equal(t, \"TYPE\", cmd.Name())\n}\n\nfunc TestType_Help(t *testing.T) {\n\tcmd := new(Type)\n\texpected := `Usage: TYPE key\nReturns the type stored at key.`\n\tassert.Equal(t, expected, cmd.Help())\n}\n\nfunc TestType_Execute(t *testing.T) {\n\tstrg := memory.New(map[storage.Key]*storage.Value{\n\t\t\"string\": storage.NewString(\"value\"),\n\t\t\"list\":   storage.NewList([]string{\"val1\"}),\n\t\t\"map\":    storage.NewMap(map[string]string{\"field\": \"values\"}),\n\t\t\"bitmap\": storage.NewBitMap([]uint64{1}),\n\t})\n\n\ttests := []struct {\n\t\tname string\n\t\targs []string\n\t\twant Reply\n\t}{\n\t\t{\"string\", []string{\"string\"}, StringReply{Value: \"string\"}},\n\t\t{\"list\", []string{\"list\"}, StringReply{Value: \"list\"}},\n\t\t{\"map\", []string{\"map\"}, StringReply{Value: \"map\"}},\n\t\t{\"bitmap\", []string{\"bitmap\"}, StringReply{Value: \"bitmap\"}},\n\t\t{\"not_existing_key\", []string{\"not_existing_key\"}, NilReply{}},\n\t\t{\"wrong_number_of_args/1\", []string{}, ErrReply{Value: ErrWrongArgsNumber}},\n\t\t{\"wrong_number_of_args/2\", []string{\"key\", \"arg1\"}, ErrReply{Value: ErrWrongArgsNumber}},\n\t}\n\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tcmd := Type{strg: strg}\n\t\t\tres := cmd.Execute(tt.args...)\n\t\t\tassert.Equal(t, tt.want, res)\n\t\t})\n\t}\n}\n\nfunc TestType_Execute_StorageErr(t *testing.T) {\n\tmc := minimock.NewController(t)\n\tdefer mc.Finish()\n\n\terr := errors.New(\"error\")\n\n\tstrg := NewdataStoreMock(mc)\n\tstrg.GetMock.Return(nil, err)\n\n\tcmd := Type{strg: strg}\n\tres := cmd.Execute(\"key\")\n\n\tassert.Equal(t, ErrReply{Value: err}, res)\n}\n"
  },
  {
    "path": "internal/server/data_store_mock_test.go",
    "content": "package server\n\n/*\nDO NOT EDIT!\nThis code was generated automatically using github.com/gojuno/minimock v1.9\nThe original interface \"dataStore\" can be found in github.com/namreg/godown/internal/server\n*/\nimport (\n\t\"sync/atomic\"\n\ttime \"time\"\n\n\t\"github.com/gojuno/minimock\"\n\tstorage \"github.com/namreg/godown/internal/storage\"\n\n\ttestify_assert \"github.com/stretchr/testify/assert\"\n)\n\n//dataStoreMock implements github.com/namreg/godown/internal/server.dataStore\ntype dataStoreMock struct {\n\tt minimock.Tester\n\n\tAllFunc       func() (r map[storage.Key]*storage.Value, r1 error)\n\tAllCounter    uint64\n\tAllPreCounter uint64\n\tAllMock       mdataStoreMockAll\n\n\tAllWithTTLFunc       func() (r map[storage.Key]*storage.Value, r1 error)\n\tAllWithTTLCounter    uint64\n\tAllWithTTLPreCounter uint64\n\tAllWithTTLMock       mdataStoreMockAllWithTTL\n\n\tDelFunc       func(p storage.Key) (r error)\n\tDelCounter    uint64\n\tDelPreCounter uint64\n\tDelMock       mdataStoreMockDel\n\n\tRestoreFunc       func(p map[storage.Key]*storage.Value) (r error)\n\tRestoreCounter    uint64\n\tRestorePreCounter uint64\n\tRestoreMock       mdataStoreMockRestore\n}\n\n//NewdataStoreMock returns a mock for github.com/namreg/godown/internal/server.dataStore\nfunc NewdataStoreMock(t minimock.Tester) *dataStoreMock {\n\tm := &dataStoreMock{t: t}\n\n\tif controller, ok := t.(minimock.MockController); ok {\n\t\tcontroller.RegisterMocker(m)\n\t}\n\n\tm.AllMock = mdataStoreMockAll{mock: m}\n\tm.AllWithTTLMock = mdataStoreMockAllWithTTL{mock: m}\n\tm.DelMock = mdataStoreMockDel{mock: m}\n\tm.RestoreMock = mdataStoreMockRestore{mock: m}\n\n\treturn m\n}\n\ntype mdataStoreMockAll struct {\n\tmock *dataStoreMock\n}\n\n//Return sets up a mock for dataStore.All to return Return's arguments\nfunc (m *mdataStoreMockAll) Return(r map[storage.Key]*storage.Value, r1 error) *dataStoreMock {\n\tm.mock.AllFunc = func() (map[storage.Key]*storage.Value, error) {\n\t\treturn r, r1\n\t}\n\treturn m.mock\n}\n\n//Set uses given function f as a mock of dataStore.All method\nfunc (m *mdataStoreMockAll) Set(f func() (r map[storage.Key]*storage.Value, r1 error)) *dataStoreMock {\n\tm.mock.AllFunc = f\n\n\treturn m.mock\n}\n\n//All implements github.com/namreg/godown/internal/server.dataStore interface\nfunc (m *dataStoreMock) All() (r map[storage.Key]*storage.Value, r1 error) {\n\tatomic.AddUint64(&m.AllPreCounter, 1)\n\tdefer atomic.AddUint64(&m.AllCounter, 1)\n\n\tif m.AllFunc == nil {\n\t\tm.t.Fatal(\"Unexpected call to dataStoreMock.All\")\n\t\treturn\n\t}\n\n\treturn m.AllFunc()\n}\n\n//AllMinimockCounter returns a count of dataStoreMock.AllFunc invocations\nfunc (m *dataStoreMock) AllMinimockCounter() uint64 {\n\treturn atomic.LoadUint64(&m.AllCounter)\n}\n\n//AllMinimockPreCounter returns the value of dataStoreMock.All invocations\nfunc (m *dataStoreMock) AllMinimockPreCounter() uint64 {\n\treturn atomic.LoadUint64(&m.AllPreCounter)\n}\n\ntype mdataStoreMockAllWithTTL struct {\n\tmock *dataStoreMock\n}\n\n//Return sets up a mock for dataStore.AllWithTTL to return Return's arguments\nfunc (m *mdataStoreMockAllWithTTL) Return(r map[storage.Key]*storage.Value, r1 error) *dataStoreMock {\n\tm.mock.AllWithTTLFunc = func() (map[storage.Key]*storage.Value, error) {\n\t\treturn r, r1\n\t}\n\treturn m.mock\n}\n\n//Set uses given function f as a mock of dataStore.AllWithTTL method\nfunc (m *mdataStoreMockAllWithTTL) Set(f func() (r map[storage.Key]*storage.Value, r1 error)) *dataStoreMock {\n\tm.mock.AllWithTTLFunc = f\n\n\treturn m.mock\n}\n\n//AllWithTTL implements github.com/namreg/godown/internal/server.dataStore interface\nfunc (m *dataStoreMock) AllWithTTL() (r map[storage.Key]*storage.Value, r1 error) {\n\tatomic.AddUint64(&m.AllWithTTLPreCounter, 1)\n\tdefer atomic.AddUint64(&m.AllWithTTLCounter, 1)\n\n\tif m.AllWithTTLFunc == nil {\n\t\tm.t.Fatal(\"Unexpected call to dataStoreMock.AllWithTTL\")\n\t\treturn\n\t}\n\n\treturn m.AllWithTTLFunc()\n}\n\n//AllWithTTLMinimockCounter returns a count of dataStoreMock.AllWithTTLFunc invocations\nfunc (m *dataStoreMock) AllWithTTLMinimockCounter() uint64 {\n\treturn atomic.LoadUint64(&m.AllWithTTLCounter)\n}\n\n//AllWithTTLMinimockPreCounter returns the value of dataStoreMock.AllWithTTL invocations\nfunc (m *dataStoreMock) AllWithTTLMinimockPreCounter() uint64 {\n\treturn atomic.LoadUint64(&m.AllWithTTLPreCounter)\n}\n\ntype mdataStoreMockDel struct {\n\tmock             *dataStoreMock\n\tmockExpectations *dataStoreMockDelParams\n}\n\n//dataStoreMockDelParams represents input parameters of the dataStore.Del\ntype dataStoreMockDelParams struct {\n\tp storage.Key\n}\n\n//Expect sets up expected params for the dataStore.Del\nfunc (m *mdataStoreMockDel) Expect(p storage.Key) *mdataStoreMockDel {\n\tm.mockExpectations = &dataStoreMockDelParams{p}\n\treturn m\n}\n\n//Return sets up a mock for dataStore.Del to return Return's arguments\nfunc (m *mdataStoreMockDel) Return(r error) *dataStoreMock {\n\tm.mock.DelFunc = func(p storage.Key) error {\n\t\treturn r\n\t}\n\treturn m.mock\n}\n\n//Set uses given function f as a mock of dataStore.Del method\nfunc (m *mdataStoreMockDel) Set(f func(p storage.Key) (r error)) *dataStoreMock {\n\tm.mock.DelFunc = f\n\tm.mockExpectations = nil\n\treturn m.mock\n}\n\n//Del implements github.com/namreg/godown/internal/server.dataStore interface\nfunc (m *dataStoreMock) Del(p storage.Key) (r error) {\n\tatomic.AddUint64(&m.DelPreCounter, 1)\n\tdefer atomic.AddUint64(&m.DelCounter, 1)\n\n\tif m.DelMock.mockExpectations != nil {\n\t\ttestify_assert.Equal(m.t, *m.DelMock.mockExpectations, dataStoreMockDelParams{p},\n\t\t\t\"dataStore.Del got unexpected parameters\")\n\n\t\tif m.DelFunc == nil {\n\n\t\t\tm.t.Fatal(\"No results are set for the dataStoreMock.Del\")\n\n\t\t\treturn\n\t\t}\n\t}\n\n\tif m.DelFunc == nil {\n\t\tm.t.Fatal(\"Unexpected call to dataStoreMock.Del\")\n\t\treturn\n\t}\n\n\treturn m.DelFunc(p)\n}\n\n//DelMinimockCounter returns a count of dataStoreMock.DelFunc invocations\nfunc (m *dataStoreMock) DelMinimockCounter() uint64 {\n\treturn atomic.LoadUint64(&m.DelCounter)\n}\n\n//DelMinimockPreCounter returns the value of dataStoreMock.Del invocations\nfunc (m *dataStoreMock) DelMinimockPreCounter() uint64 {\n\treturn atomic.LoadUint64(&m.DelPreCounter)\n}\n\ntype mdataStoreMockRestore struct {\n\tmock             *dataStoreMock\n\tmockExpectations *dataStoreMockRestoreParams\n}\n\n//dataStoreMockRestoreParams represents input parameters of the dataStore.Restore\ntype dataStoreMockRestoreParams struct {\n\tp map[storage.Key]*storage.Value\n}\n\n//Expect sets up expected params for the dataStore.Restore\nfunc (m *mdataStoreMockRestore) Expect(p map[storage.Key]*storage.Value) *mdataStoreMockRestore {\n\tm.mockExpectations = &dataStoreMockRestoreParams{p}\n\treturn m\n}\n\n//Return sets up a mock for dataStore.Restore to return Return's arguments\nfunc (m *mdataStoreMockRestore) Return(r error) *dataStoreMock {\n\tm.mock.RestoreFunc = func(p map[storage.Key]*storage.Value) error {\n\t\treturn r\n\t}\n\treturn m.mock\n}\n\n//Set uses given function f as a mock of dataStore.Restore method\nfunc (m *mdataStoreMockRestore) Set(f func(p map[storage.Key]*storage.Value) (r error)) *dataStoreMock {\n\tm.mock.RestoreFunc = f\n\tm.mockExpectations = nil\n\treturn m.mock\n}\n\n//Restore implements github.com/namreg/godown/internal/server.dataStore interface\nfunc (m *dataStoreMock) Restore(p map[storage.Key]*storage.Value) (r error) {\n\tatomic.AddUint64(&m.RestorePreCounter, 1)\n\tdefer atomic.AddUint64(&m.RestoreCounter, 1)\n\n\tif m.RestoreMock.mockExpectations != nil {\n\t\ttestify_assert.Equal(m.t, *m.RestoreMock.mockExpectations, dataStoreMockRestoreParams{p},\n\t\t\t\"dataStore.Restore got unexpected parameters\")\n\n\t\tif m.RestoreFunc == nil {\n\n\t\t\tm.t.Fatal(\"No results are set for the dataStoreMock.Restore\")\n\n\t\t\treturn\n\t\t}\n\t}\n\n\tif m.RestoreFunc == nil {\n\t\tm.t.Fatal(\"Unexpected call to dataStoreMock.Restore\")\n\t\treturn\n\t}\n\n\treturn m.RestoreFunc(p)\n}\n\n//RestoreMinimockCounter returns a count of dataStoreMock.RestoreFunc invocations\nfunc (m *dataStoreMock) RestoreMinimockCounter() uint64 {\n\treturn atomic.LoadUint64(&m.RestoreCounter)\n}\n\n//RestoreMinimockPreCounter returns the value of dataStoreMock.Restore invocations\nfunc (m *dataStoreMock) RestoreMinimockPreCounter() uint64 {\n\treturn atomic.LoadUint64(&m.RestorePreCounter)\n}\n\n//ValidateCallCounters checks that all mocked methods of the interface have been called at least once\n//Deprecated: please use MinimockFinish method or use Finish method of minimock.Controller\nfunc (m *dataStoreMock) ValidateCallCounters() {\n\n\tif m.AllFunc != nil && atomic.LoadUint64(&m.AllCounter) == 0 {\n\t\tm.t.Fatal(\"Expected call to dataStoreMock.All\")\n\t}\n\n\tif m.AllWithTTLFunc != nil && atomic.LoadUint64(&m.AllWithTTLCounter) == 0 {\n\t\tm.t.Fatal(\"Expected call to dataStoreMock.AllWithTTL\")\n\t}\n\n\tif m.DelFunc != nil && atomic.LoadUint64(&m.DelCounter) == 0 {\n\t\tm.t.Fatal(\"Expected call to dataStoreMock.Del\")\n\t}\n\n\tif m.RestoreFunc != nil && atomic.LoadUint64(&m.RestoreCounter) == 0 {\n\t\tm.t.Fatal(\"Expected call to dataStoreMock.Restore\")\n\t}\n\n}\n\n//CheckMocksCalled checks that all mocked methods of the interface have been called at least once\n//Deprecated: please use MinimockFinish method or use Finish method of minimock.Controller\nfunc (m *dataStoreMock) CheckMocksCalled() {\n\tm.Finish()\n}\n\n//Finish checks that all mocked methods of the interface have been called at least once\n//Deprecated: please use MinimockFinish or use Finish method of minimock.Controller\nfunc (m *dataStoreMock) Finish() {\n\tm.MinimockFinish()\n}\n\n//MinimockFinish checks that all mocked methods of the interface have been called at least once\nfunc (m *dataStoreMock) MinimockFinish() {\n\n\tif m.AllFunc != nil && atomic.LoadUint64(&m.AllCounter) == 0 {\n\t\tm.t.Fatal(\"Expected call to dataStoreMock.All\")\n\t}\n\n\tif m.AllWithTTLFunc != nil && atomic.LoadUint64(&m.AllWithTTLCounter) == 0 {\n\t\tm.t.Fatal(\"Expected call to dataStoreMock.AllWithTTL\")\n\t}\n\n\tif m.DelFunc != nil && atomic.LoadUint64(&m.DelCounter) == 0 {\n\t\tm.t.Fatal(\"Expected call to dataStoreMock.Del\")\n\t}\n\n\tif m.RestoreFunc != nil && atomic.LoadUint64(&m.RestoreCounter) == 0 {\n\t\tm.t.Fatal(\"Expected call to dataStoreMock.Restore\")\n\t}\n\n}\n\n//Wait waits for all mocked methods to be called at least once\n//Deprecated: please use MinimockWait or use Wait method of minimock.Controller\nfunc (m *dataStoreMock) Wait(timeout time.Duration) {\n\tm.MinimockWait(timeout)\n}\n\n//MinimockWait waits for all mocked methods to be called at least once\n//this method is called by minimock.Controller\nfunc (m *dataStoreMock) MinimockWait(timeout time.Duration) {\n\ttimeoutCh := time.After(timeout)\n\tfor {\n\t\tok := true\n\t\tok = ok && (m.AllFunc == nil || atomic.LoadUint64(&m.AllCounter) > 0)\n\t\tok = ok && (m.AllWithTTLFunc == nil || atomic.LoadUint64(&m.AllWithTTLCounter) > 0)\n\t\tok = ok && (m.DelFunc == nil || atomic.LoadUint64(&m.DelCounter) > 0)\n\t\tok = ok && (m.RestoreFunc == nil || atomic.LoadUint64(&m.RestoreCounter) > 0)\n\n\t\tif ok {\n\t\t\treturn\n\t\t}\n\n\t\tselect {\n\t\tcase <-timeoutCh:\n\n\t\t\tif m.AllFunc != nil && atomic.LoadUint64(&m.AllCounter) == 0 {\n\t\t\t\tm.t.Error(\"Expected call to dataStoreMock.All\")\n\t\t\t}\n\n\t\t\tif m.AllWithTTLFunc != nil && atomic.LoadUint64(&m.AllWithTTLCounter) == 0 {\n\t\t\t\tm.t.Error(\"Expected call to dataStoreMock.AllWithTTL\")\n\t\t\t}\n\n\t\t\tif m.DelFunc != nil && atomic.LoadUint64(&m.DelCounter) == 0 {\n\t\t\t\tm.t.Error(\"Expected call to dataStoreMock.Del\")\n\t\t\t}\n\n\t\t\tif m.RestoreFunc != nil && atomic.LoadUint64(&m.RestoreCounter) == 0 {\n\t\t\t\tm.t.Error(\"Expected call to dataStoreMock.Restore\")\n\t\t\t}\n\n\t\t\tm.t.Fatalf(\"Some mocks were not called on time: %s\", timeout)\n\t\t\treturn\n\t\tdefault:\n\t\t\ttime.Sleep(time.Millisecond)\n\t\t}\n\t}\n}\n\n//AllMocksCalled returns true if all mocked methods were called before the execution of AllMocksCalled,\n//it can be used with assert/require, i.e. assert.True(mock.AllMocksCalled())\nfunc (m *dataStoreMock) AllMocksCalled() bool {\n\n\tif m.AllFunc != nil && atomic.LoadUint64(&m.AllCounter) == 0 {\n\t\treturn false\n\t}\n\n\tif m.AllWithTTLFunc != nil && atomic.LoadUint64(&m.AllWithTTLCounter) == 0 {\n\t\treturn false\n\t}\n\n\tif m.DelFunc != nil && atomic.LoadUint64(&m.DelCounter) == 0 {\n\t\treturn false\n\t}\n\n\tif m.RestoreFunc != nil && atomic.LoadUint64(&m.RestoreCounter) == 0 {\n\t\treturn false\n\t}\n\n\treturn true\n}\n"
  },
  {
    "path": "internal/server/fsm.go",
    "content": "package server\n\nimport (\n\t\"encoding/binary\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io\"\n\n\t\"github.com/centrifugal/centrifugo/libcentrifugo/raw\"\n\t\"github.com/gogo/protobuf/proto\"\n\n\t\"github.com/hashicorp/raft\"\n\t\"github.com/namreg/godown/internal/api\"\n\t\"github.com/namreg/godown/internal/storage\"\n)\n\n//fsm stands for a finite state machine.\ntype fsm struct {\n\tsrv *Server\n}\n\nfunc newFsm(s *Server) *fsm {\n\treturn &fsm{srv: s}\n}\n\n//Apply applies raft log entry.\nfunc (f *fsm) Apply(entry *raft.Log) interface{} {\n\tfsmCommand := &api.FSMCommand{}\n\terr := proto.Unmarshal(entry.Data, fsmCommand)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"could not unmarshal log entry: %v\", err)\n\t}\n\n\tvar resp proto.Message\n\n\tswitch {\n\tcase fsmCommand.Type == api.FSMApplyMetadata:\n\t\treq := &api.UpdateMetadataRequest{}\n\t\tif err := proto.Unmarshal([]byte(fsmCommand.Command), req); err != nil {\n\t\t\treturn fmt.Errorf(\"could not unmarshal set meta value request: %v\", err)\n\t\t}\n\t\tresp, err = f.srv.handleSetMetaValueRequest(req)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\tcase fsmCommand.Type == api.FSMApplyCommand:\n\t\treq := &api.ExecuteCommandRequest{}\n\t\tif err := proto.Unmarshal([]byte(fsmCommand.Command), req); err != nil {\n\t\t\treturn fmt.Errorf(\"could not unmarshal execute command request: %v\", err)\n\t\t}\n\t\tresp, err = f.srv.handleExecuteCommandRequest(req)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\tdefault:\n\t\treturn fmt.Errorf(\"unrecognized fsm command: %v\", fsmCommand.Type)\n\t}\n\n\tb, err := proto.Marshal(resp)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"could not marshal response: %v\", err)\n\t}\n\treturn b\n}\n\n//Snapshot implements raft.FSM interface.\nfunc (f *fsm) Snapshot() (raft.FSMSnapshot, error) {\n\ts := &fsmSnapshot{}\n\tmeta, err := f.srv.meta.AllMeta()\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"could not get all metadata: %v\", err)\n\t}\n\tmb, err := json.Marshal(meta)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"could not marshal metadata: %v\", err)\n\t}\n\ts.meta = mb\n\n\tdata, err := f.srv.data.All()\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"could not get all data: %v\", err)\n\t}\n\tdb, err := json.Marshal(data)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"could not marshal data: %v\", err)\n\t}\n\ts.data = db\n\treturn s, nil\n}\n\n//Restore implements raft.FSM interface.\nfunc (f *fsm) Restore(rc io.ReadCloser) error {\n\tdefer rc.Close()\n\n\tvar l length\n\n\tif err := binary.Read(rc, binary.LittleEndian, &l); err != nil {\n\t\treturn fmt.Errorf(\"could not read meta length: %v\", err)\n\t}\n\n\tmb := make([]byte, l)\n\n\tif n, err := io.ReadFull(rc, mb); int64(n) != int64(l) || err != nil {\n\t\treturn fmt.Errorf(\"could not read meta\")\n\t}\n\n\tmeta := make(map[storage.MetaKey]storage.MetaValue)\n\n\tif err := json.Unmarshal(mb, &meta); err != nil {\n\t\treturn fmt.Errorf(\"could not unmarshal meta: %v\", err)\n\t}\n\n\tif err := f.srv.meta.RestoreMeta(meta); err != nil {\n\t\treturn fmt.Errorf(\"could restore meta: %v\", err)\n\t}\n\n\tif err := binary.Read(rc, binary.LittleEndian, &l); err != nil {\n\t\treturn fmt.Errorf(\"could not read data length: %v\", err)\n\t}\n\n\tdb := make([]byte, l)\n\n\tif n, err := io.ReadFull(rc, db); int64(n) != int64(l) || err != nil {\n\t\treturn fmt.Errorf(\"could not read data\")\n\t}\n\n\tdata := make(map[storage.Key]*storage.Value)\n\tif err := json.Unmarshal(db, &data); err != nil {\n\t\treturn fmt.Errorf(\"could unmarshal data: %v\", err)\n\t}\n\n\tif err := f.srv.data.Restore(data); err != nil {\n\t\treturn fmt.Errorf(\"could not restore data: %v\", err)\n\t}\n\n\treturn nil\n}\n\nfunc newApplyMetadataFSMCommand(key, value string) (*api.FSMCommand, error) {\n\treturn newFSMCommand(api.FSMApplyMetadata, &api.UpdateMetadataRequest{Key: key, Value: value})\n}\n\nfunc newExecuteFSMCommand(command string) (*api.FSMCommand, error) {\n\treturn newFSMCommand(api.FSMApplyCommand, &api.ExecuteCommandRequest{Command: command})\n}\n\nfunc newFSMCommand(t api.FSMCommandType, req proto.Message) (*api.FSMCommand, error) {\n\tcmd := &api.FSMCommand{Type: t}\n\tb, err := proto.Marshal(req)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"could not marhal proto request: %v\", err)\n\t}\n\tcmd.Command = raw.Raw(b)\n\treturn cmd, nil\n}\n"
  },
  {
    "path": "internal/server/fsm_snapshot.go",
    "content": "package server\n\nimport (\n\t\"encoding/binary\"\n\t\"fmt\"\n\n\t\"github.com/hashicorp/raft\"\n)\n\ntype fsmSnapshot struct {\n\tmeta []byte\n\tdata []byte\n}\n\ntype length int64\n\nfunc (fs *fsmSnapshot) Persist(sink raft.SnapshotSink) (err error) {\n\tdefer func() {\n\t\tif err == nil {\n\t\t\terr = sink.Close()\n\t\t} else {\n\t\t\terr = sink.Cancel()\n\t\t}\n\t}()\n\tif err := binary.Write(sink, binary.LittleEndian, length(len(fs.meta))); err != nil {\n\t\treturn fmt.Errorf(\"could not write meta length: %v\", err)\n\t}\n\tif _, err := sink.Write(fs.meta); err != nil {\n\t\treturn fmt.Errorf(\"could not write meta: %v\", err)\n\t}\n\tif err := binary.Write(sink, binary.LittleEndian, length(len(fs.data))); err != nil {\n\t\treturn fmt.Errorf(\"could not write data length: %v\", err)\n\t}\n\tif _, err := sink.Write(fs.data); err != nil {\n\t\treturn fmt.Errorf(\"could not write data: %v\", err)\n\t}\n\treturn nil\n}\n\n//Release is invoked when we are finished with the snapshot.\nfunc (fs *fsmSnapshot) Release() {\n\t//noop\n}\n"
  },
  {
    "path": "internal/server/gc.go",
    "content": "package server\n\nimport (\n\t\"fmt\"\n\t\"log\"\n\t\"time\"\n\n\t\"github.com/namreg/godown/internal/api\"\n\tcontext \"golang.org/x/net/context\"\n)\n\n//gc is the garbage collector that collects expired values\ntype gc struct {\n\tsrv      *Server\n\tlogger   *log.Logger\n\tclck     serverClock\n\tdata     dataStore\n\tinterval time.Duration\n\tticker   *time.Ticker\n}\n\nfunc newGc(\n\tsrv *Server,\n\tstrg dataStore,\n\tlogger *log.Logger,\n\tclck serverClock,\n\tinterval time.Duration,\n) *gc {\n\treturn &gc{\n\t\tsrv:      srv,\n\t\tlogger:   logger,\n\t\tclck:     clck,\n\t\tdata:     strg,\n\t\tinterval: interval,\n\t}\n}\n\nfunc (g *gc) start() {\n\tg.ticker = time.NewTicker(g.interval)\n\n\tfor range g.ticker.C {\n\t\tg.deleteExpired()\n\t}\n}\n\nfunc (g *gc) stop() {\n\tif g.ticker != nil {\n\t\tg.ticker.Stop()\n\t}\n}\n\nfunc (g *gc) deleteExpired() {\n\titems, err := g.data.AllWithTTL()\n\tif err != nil {\n\t\tg.logger.Printf(\"[WARN] gc: could not retrieve values: %v\", err)\n\t}\n\tfor k, v := range items {\n\t\tif v.IsExpired(g.clck.Now()) {\n\t\t\tvar err error\n\t\t\treq := &api.ExecuteCommandRequest{Command: fmt.Sprintf(\"DEL %s\", k)}\n\n\t\t\tif g.srv.isLeader() {\n\t\t\t\t_, err = g.srv.handleExecuteCommandRequest(req)\n\t\t\t} else {\n\t\t\t\t_, err = g.srv.ExecuteCommand(context.Background(), req)\n\t\t\t}\n\n\t\t\tif err != nil {\n\t\t\t\tg.logger.Printf(\"[WANR] gc: could not delete item: %v\", err)\n\t\t\t}\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "internal/server/resp/resp.go",
    "content": "package resp\n\nimport (\n\t\"bytes\"\n\t\"context\"\n\t\"fmt\"\n\t\"strconv\"\n\n\t\"github.com/tidwall/redcon\"\n\n\t\"github.com/namreg/godown/internal/api\"\n)\n\n// commandExecutor executes commands.\ntype commandExecutor interface {\n\t// ExecuteCommand executes command request.\n\tExecuteCommand(ctx context.Context, req *api.ExecuteCommandRequest) (*api.ExecuteCommandResponse, error)\n}\n\n// Server is a server that works over Redis Serialization Protocol.\ntype Server struct {\n\te commandExecutor\n}\n\n// New creates a new RESP server.\nfunc New(e commandExecutor) *Server {\n\treturn &Server{e: e}\n}\n\n// Start starts a server.\nfunc (s *Server) Start(hostPort string) error {\n\treturn redcon.ListenAndServeNetwork(\"tcp\", hostPort, s.handle, nil, nil)\n}\n\nfunc (s *Server) handle(conn redcon.Conn, cmd redcon.Command) {\n\tcmds := append([]redcon.Command{cmd}, conn.ReadPipeline()...)\n\tfor _, cmd := range cmds {\n\t\tbuf := bytes.Buffer{}\n\t\tfor _, arg := range cmd.Args {\n\t\t\tbuf.Write(arg)\n\t\t\tbuf.WriteRune(' ')\n\t\t}\n\n\t\treq := &api.ExecuteCommandRequest{Command: buf.String()}\n\t\tresp, err := s.e.ExecuteCommand(context.Background(), req)\n\t\tif err != nil {\n\t\t\tconn.WriteError(fmt.Sprintf(\"could not execute command: %v\", err.Error()))\n\t\t} else {\n\t\t\ts.writeResponse(conn, resp)\n\t\t}\n\t}\n}\n\nfunc (s *Server) writeResponse(conn redcon.Conn, resp *api.ExecuteCommandResponse) {\n\tswitch resp.Reply {\n\tcase api.OkCommandReply:\n\t\tconn.WriteString(\"OK\")\n\tcase api.NilCommandReply:\n\t\tconn.WriteNull()\n\tcase api.RawStringCommandReply, api.StringCommandReply:\n\t\tconn.WriteBulkString(resp.Item)\n\tcase api.IntCommandReply:\n\t\tn, err := strconv.Atoi(resp.Item)\n\t\tif err != nil {\n\t\t\tconn.WriteError(err.Error())\n\t\t\tbreak\n\t\t}\n\t\tconn.WriteInt(n)\n\tcase api.ErrCommandReply:\n\t\tconn.WriteError(resp.Item)\n\tcase api.SliceCommandReply:\n\t\tconn.WriteArray(len(resp.Items))\n\t\tfor _, item := range resp.Items {\n\t\t\tconn.WriteString(item)\n\t\t}\n\tdefault:\n\t\tconn.WriteError(fmt.Sprintf(\"unexpected reply: %s\", resp.Reply.String()))\n\t}\n}\n"
  },
  {
    "path": "internal/server/server.go",
    "content": "package server\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"log\"\n\t\"net\"\n\t\"os\"\n\t\"path/filepath\"\n\t\"strconv\"\n\t\"sync\"\n\t\"time\"\n\n\t\"github.com/golang/protobuf/proto\"\n\t\"github.com/hashicorp/raft\"\n\t\"google.golang.org/grpc\"\n\n\traftboltdb \"github.com/hashicorp/raft-boltdb\"\n\tcontext \"golang.org/x/net/context\"\n\n\t\"github.com/namreg/godown/internal/api\"\n\t\"github.com/namreg/godown/internal/clock\"\n\t\"github.com/namreg/godown/internal/command\"\n\t\"github.com/namreg/godown/internal/server/resp\"\n\t\"github.com/namreg/godown/internal/storage\"\n)\n\nconst (\n\tdefaultListenAddr = \"127.0.0.1:4000\"\n\tdefaultRaftAddr   = \"127.0.0.1:4001\"\n\tdefaultDir        = \"../../data\"\n\tdefaultGCInterval = 500 * time.Millisecond\n)\n\nconst (\n\traftApplyTimeout     = 500 * time.Millisecond\n\traftLogCacheSize     = 512\n\traftMaxPoolSize      = 3\n\traftTransportTimeout = 10 * time.Second\n\traftSnapshotsRetain  = 3\n\traftDBFile           = \"raft.db\"\n)\n\nconst leaderIPMetaKey = \"leader_ip\"\n\n//commandParser parses command with args from the given string.\ntype commandParser interface {\n\tParse(str string) (cmd command.Command, args []string, err error)\n}\n\n//metaStore is used for storing meta information.\ntype metaStore interface {\n\t//AllMeta returns all stored metadata.\n\tAllMeta() (map[storage.MetaKey]storage.MetaValue, error)\n\t//PutMeta puts a new value at the given key.\n\tPutMeta(storage.MetaKey, storage.MetaValue) error\n\t//GetMeta get a value at the given key.\n\tGetMeta(storage.MetaKey) (storage.MetaValue, error)\n\t//RestoreMeta replaces current metadata with the given one.\n\tRestoreMeta(map[storage.MetaKey]storage.MetaValue) error\n}\n\n//dataStore is used to access stored data.\n//go:generate minimock -i github.com/namreg/godown/internal/server.dataStore -o ./\ntype dataStore interface {\n\t//AllWithTTL returns all stored values.\n\tAll() (map[storage.Key]*storage.Value, error)\n\t//AllWithTTL returns all values that have TTL.\n\tAllWithTTL() (map[storage.Key]*storage.Value, error)\n\t//Del deletes the given key.\n\tDel(storage.Key) error\n\t//Restore restores current data with the given one.\n\tRestore(map[storage.Key]*storage.Value) error\n}\n\n//go:generate minimock -i github.com/namreg/godown/internal/server.serverClock -o ./\ntype serverClock interface {\n\tNow() time.Time\n}\n\n//Options is a server options.\ntype Options struct {\n\tID         string\n\tListenAddr string\n\tRaftAddr   string\n\tRESPAddr   string\n\tDir        string\n\tLogger     *log.Logger\n\tClock      serverClock\n\tGCInterval time.Duration\n}\n\n//DefaultOptions returns default options.\nfunc DefaultOptions() Options {\n\treturn Options{\n\t\tListenAddr: defaultListenAddr,\n\t\tRaftAddr:   defaultRaftAddr,\n\t\tDir:        defaultDir,\n\t\tLogger:     log.New(os.Stdout, \"\", log.LstdFlags),\n\t\tClock:      clock.New(),\n\t\tGCInterval: defaultGCInterval,\n\t}\n}\n\n//Server represents a server that handles user requests and executes commands.\ntype Server struct {\n\tmeta   metaStore\n\tdata   dataStore\n\tparser commandParser\n\n\topts Options\n\n\tgc            *gc\n\tsrv           *grpc.Server\n\tleader        *grpc.ClientConn\n\traft          *raft.Raft //consensus protocol\n\traftTransport raft.Transport\n}\n\n//New creates a new server.\nfunc New(meta metaStore, data dataStore, parser commandParser, opts Options) *Server {\n\tsrv := &Server{\n\t\tdata:   data,\n\t\tmeta:   meta,\n\t\tparser: parser,\n\t\topts:   opts,\n\t}\n\n\treturn srv\n}\n\n//BootstrapCluster creates a new cluster and runs the server.\nfunc (s *Server) BootstrapCluster() error {\n\tif err := s.setupRaft(); err != nil {\n\t\treturn fmt.Errorf(\"could not to setup raft node: %v\", err)\n\t}\n\tconfiguration := raft.Configuration{\n\t\tServers: []raft.Server{\n\t\t\t{\n\t\t\t\tID:      raft.ServerID(s.opts.ID),\n\t\t\t\tAddress: s.raftTransport.LocalAddr(),\n\t\t\t},\n\t\t},\n\t}\n\ts.raft.BootstrapCluster(configuration)\n\n\treturn s.start(s.opts.ListenAddr)\n}\n\n//JoinCluster joins to an existing cluster and runs the server.\nfunc (s *Server) JoinCluster(joinAddr string) error {\n\tif err := s.setupRaft(); err != nil {\n\t\treturn fmt.Errorf(\"could not to setup raft node: %v\", err)\n\t}\n\n\terrCh := make(chan error, 1)\n\tgo func() {\n\t\terrCh <- s.start(s.opts.ListenAddr)\n\t}()\n\n\tconn, err := grpc.Dial(joinAddr, grpc.WithInsecure())\n\tif err != nil {\n\t\treturn fmt.Errorf(\"could not dial %s: %v\", joinAddr, err)\n\t}\n\n\tclient := api.NewGodownClient(conn)\n\treq := &api.AddToClusterRequest{\n\t\tId:   s.opts.ID,\n\t\tAddr: s.opts.RaftAddr,\n\t}\n\tif _, err = client.AddToCluster(context.Background(), req); err != nil {\n\t\treturn fmt.Errorf(\"could not add a new node to the cluster: %v\", err)\n\t}\n\tconn.Close()\n\n\treturn <-errCh\n}\n\nfunc (s *Server) setupRaft() error {\n\tif s.opts.ID == \"\" {\n\t\treturn errors.New(\"empty server ID\")\n\t}\n\tabsDir, err := filepath.Abs(filepath.Join(s.opts.Dir, fmt.Sprintf(\"node%s\", s.opts.ID)))\n\tif err != nil {\n\t\treturn err\n\t}\n\ts.opts.Dir = absDir\n\n\tconfig := raft.DefaultConfig()\n\tconfig.LocalID = raft.ServerID(s.opts.ID)\n\tconfig.Logger = s.opts.Logger\n\n\taddr, err := net.ResolveTCPAddr(\"tcp\", s.opts.RaftAddr)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"could not resolve tcp address: %v\", err)\n\t}\n\n\ts.raftTransport, err = raft.NewTCPTransport(s.opts.RaftAddr, addr, raftMaxPoolSize, raftTransportTimeout, os.Stderr)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"could create create TCP transport: %v\", err)\n\t}\n\n\tsnapshots, err := raft.NewFileSnapshotStore(s.opts.Dir, raftSnapshotsRetain, os.Stderr)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"could not create file snapshot store: %v\", err)\n\t}\n\n\tstore, err := raftboltdb.NewBoltStore(filepath.Join(s.opts.Dir, raftDBFile))\n\tif err != nil {\n\t\treturn fmt.Errorf(\"could not create bolt store: %v\", err)\n\t}\n\n\tlogStore, err := raft.NewLogCache(raftLogCacheSize, store)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"could not create log cache: %v\", err)\n\t}\n\n\ts.raft, err = raft.NewRaft(config, newFsm(s), logStore, store, snapshots, s.raftTransport)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"could not create raft node: %v\", err)\n\t}\n\n\tgo s.whenLeaderChanged(s.updateLeaderIP, s.controlGC, s.controlLeaderConn)\n\n\treturn nil\n}\n\n//Start starts a server.\nfunc (s *Server) start(hostPort string) error {\n\tl, err := net.Listen(\"tcp\", hostPort)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"could not listen on %s: %v\", hostPort, err)\n\t}\n\n\ts.srv = grpc.NewServer()\n\tapi.RegisterGodownServer(s.srv, s)\n\n\terrCh := make(chan error, 2)\n\n\tgo func() {\n\t\terrCh <- s.srv.Serve(l)\n\t}()\n\n\tif s.opts.RESPAddr != \"\" {\n\t\tr := resp.New(s)\n\t\tgo func() {\n\t\t\terrCh <- r.Start(s.opts.RESPAddr)\n\t\t}()\n\t}\n\n\treturn <-errCh\n}\n\n//Stop stops a grpc server.\nfunc (s *Server) Stop() error {\n\ts.srv.Stop()\n\tif s.leader != nil {\n\t\treturn s.leader.Close()\n\t}\n\treturn nil\n}\n\n//whenLeaderChanged executes given functions when a leader in the cluster changed.\nfunc (s *Server) whenLeaderChanged(funcs ...func(isLeader bool) error) {\n\tfor isLeader := range s.raft.LeaderCh() {\n\t\twg := new(sync.WaitGroup)\n\t\twg.Add(len(funcs))\n\t\tfor _, f := range funcs {\n\t\t\tgo func(f func(isLeader bool) error) {\n\t\t\t\tdefer wg.Done()\n\t\t\t\tif err := f(isLeader); err != nil {\n\t\t\t\t\ts.opts.Logger.Printf(\"[WARN] server: error while executing function when leader changed: %v\", err)\n\t\t\t\t}\n\t\t\t}(f)\n\t\t}\n\t\twg.Wait()\n\t}\n}\n\nfunc (s *Server) updateLeaderIP(isLeader bool) error {\n\tif !isLeader {\n\t\treturn nil\n\t}\n\tcmd, err := newApplyMetadataFSMCommand(leaderIPMetaKey, s.opts.ListenAddr)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"could not create set meta fsm command: %v\", err)\n\t}\n\n\tb, err := proto.Marshal(cmd)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"could not marshal fsm command: %v\", err)\n\t}\n\n\tfuture := s.raft.Apply(b, raftApplyTimeout)\n\n\tif err = future.Error(); err != nil {\n\t\treturn fmt.Errorf(\"could not apply set meta value request: %v\", err)\n\t}\n\n\tif err, ok := future.Response().(error); ok {\n\t\treturn fmt.Errorf(\"could not apply set meta value request: %v\", err)\n\t}\n\treturn nil\n}\n\nfunc (s *Server) controlGC(isLeader bool) error {\n\tif isLeader {\n\t\tif s.gc == nil {\n\t\t\ts.gc = newGc(s, s.data, s.opts.Logger, s.opts.Clock, s.opts.GCInterval)\n\t\t}\n\t\ts.gc.start()\n\t} else if s.gc != nil {\n\t\ts.gc.stop()\n\t}\n\treturn nil\n}\n\nfunc (s *Server) controlLeaderConn(isLeader bool) error {\n\tvar err error\n\tif isLeader {\n\t\tif s.leader != nil {\n\t\t\terr = s.leader.Close()\n\t\t\ts.leader = nil\n\t\t}\n\t\treturn err\n\t}\n\ts.leader, err = s.leaderConn()\n\tif err != nil {\n\t\treturn fmt.Errorf(\"could not connect to leader: %v\", err)\n\t}\n\treturn nil\n\n}\n\nfunc (s *Server) leaderConn() (*grpc.ClientConn, error) {\n\tif s.leader != nil {\n\t\treturn s.leader, nil\n\t}\n\tconst maxAttempts = 5\n\tvar (\n\t\tattempts int\n\t\tleaderIP storage.MetaValue\n\t\terr      error\n\t)\n\tleaderIP, err = s.meta.GetMeta(storage.MetaKey(leaderIPMetaKey))\n\t// due to the raft latency, we need do retries\n\tfor err == storage.ErrKeyNotExists && attempts < maxAttempts {\n\t\tattempts++\n\t\tleaderIP, err = s.meta.GetMeta(storage.MetaKey(leaderIPMetaKey))\n\t\ttime.Sleep(time.Duration(attempts*100) * time.Millisecond)\n\t}\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"could not get leader ip from meta store: %v\", err)\n\t}\n\tconn, err := grpc.Dial(string(leaderIP), grpc.WithInsecure())\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"could not dial %s: %v\", leaderIP, err)\n\t}\n\treturn conn, err\n}\n\n//ExecuteCommand executes a command that placed into the request.\nfunc (s *Server) ExecuteCommand(ctx context.Context, req *api.ExecuteCommandRequest) (*api.ExecuteCommandResponse, error) {\n\tcmd, args, err := s.parser.Parse(req.Command)\n\tif err != nil {\n\t\tif err == command.ErrCommandNotFound {\n\t\t\treturn &api.ExecuteCommandResponse{\n\t\t\t\tReply: api.ErrCommandReply,\n\t\t\t\tItem:  fmt.Sprintf(\"command %q not found\", req.Command),\n\t\t\t}, nil\n\t\t}\n\t\treturn nil, fmt.Errorf(\"could not parse command: %v\", err)\n\t}\n\n\tif s.isCommandModifiesState(cmd) {\n\t\tif !s.isLeader() {\n\t\t\tconn, err := s.leaderConn()\n\t\t\tif err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t\treturn api.NewGodownClient(conn).ExecuteCommand(ctx, req)\n\t\t}\n\n\t\tfsmCmd, err := newExecuteFSMCommand(req.Command)\n\t\tif err != nil {\n\t\t\treturn nil, fmt.Errorf(\"could not create execute fsm command: %v\", err)\n\t\t}\n\n\t\tb, err := proto.Marshal(fsmCmd)\n\t\tif err != nil {\n\t\t\treturn nil, fmt.Errorf(\"could not marshal fsm command: %v\", err)\n\t\t}\n\n\t\tfuture := s.raft.Apply(b, raftApplyTimeout)\n\t\tif err := future.Error(); err != nil {\n\t\t\treturn nil, fmt.Errorf(\"could not apply raft log entry: %v\", err)\n\t\t}\n\n\t\tif err, ok := future.Response().(error); ok {\n\t\t\treturn nil, fmt.Errorf(\"could not apply raft log entry: %v\", err)\n\t\t}\n\n\t\tapplyResp := &api.ExecuteCommandResponse{}\n\n\t\terr = proto.Unmarshal(future.Response().([]byte), applyResp)\n\t\tif err != nil {\n\t\t\treturn nil, fmt.Errorf(\"could not unmarshal applied response: %v\", err)\n\t\t}\n\n\t\treturn applyResp, nil\n\t}\n\n\tres := cmd.Execute(args...)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"could not execute command: %v\", err)\n\t}\n\treturn s.createResponse(res)\n}\n\n//AddToCluster add a new node to the existing cluster.\nfunc (s *Server) AddToCluster(ctx context.Context, req *api.AddToClusterRequest) (*api.AddToClusterResponse, error) {\n\tif !s.isLeader() {\n\t\tconn, err := s.leaderConn()\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\treturn api.NewGodownClient(conn).AddToCluster(ctx, req)\n\t}\n\tconfigFuture := s.raft.GetConfiguration()\n\tif err := configFuture.Error(); err != nil {\n\t\treturn nil, fmt.Errorf(\"failed to get raft configuration: %v\", err)\n\t}\n\n\tfor _, srv := range configFuture.Configuration().Servers {\n\t\tif srv.ID == raft.ServerID(req.Id) || srv.Address == raft.ServerAddress(req.Addr) {\n\t\t\tif srv.Address == raft.ServerAddress(req.Addr) && srv.ID == raft.ServerID(req.Id) {\n\t\t\t\treturn &api.AddToClusterResponse{}, nil\n\t\t\t}\n\n\t\t\tfuture := s.raft.RemoveServer(srv.ID, 0, 0)\n\t\t\tif err := future.Error(); err != nil {\n\t\t\t\treturn nil, fmt.Errorf(\"error removing existing node %s at %s: %s\", req.Id, req.Addr, err)\n\t\t\t}\n\t\t}\n\t}\n\n\tf := s.raft.AddVoter(raft.ServerID(req.Id), raft.ServerAddress(req.Addr), 0, 0)\n\tif f.Error() != nil {\n\t\treturn nil, f.Error()\n\t}\n\treturn &api.AddToClusterResponse{}, nil\n}\n\nfunc (s *Server) createResponse(res command.Reply) (*api.ExecuteCommandResponse, error) {\n\tapiRes := new(api.ExecuteCommandResponse)\n\n\tswitch t := res.(type) {\n\tcase command.NilReply:\n\t\tapiRes.Reply = api.NilCommandReply\n\tcase command.OkReply:\n\t\tapiRes.Reply = api.OkCommandReply\n\tcase command.RawStringReply:\n\t\tapiRes.Reply = api.RawStringCommandReply\n\t\tapiRes.Item = t.Value\n\tcase command.StringReply:\n\t\tapiRes.Reply = api.StringCommandReply\n\t\tapiRes.Item = t.Value\n\tcase command.IntReply:\n\t\tapiRes.Reply = api.IntCommandReply\n\t\tapiRes.Item = strconv.FormatInt(t.Value, 10)\n\tcase command.SliceReply:\n\t\tapiRes.Reply = api.SliceCommandReply\n\t\tapiRes.Items = t.Value\n\tcase command.ErrReply:\n\t\tapiRes.Reply = api.ErrCommandReply\n\t\tapiRes.Item = t.Value.Error()\n\tdefault:\n\t\treturn nil, fmt.Errorf(\"unsupported type %T\", res)\n\t}\n\n\treturn apiRes, nil\n}\n\nfunc (s *Server) isCommandModifiesState(cmd command.Command) bool {\n\tswitch cmd.(type) {\n\tcase *command.Set, *command.Del, *command.Expire, *command.Hset,\n\t\t*command.Lpop, *command.Lpush, *command.Lrem, *command.SetBit,\n\t\t*command.Rpop, *command.Rpush:\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc (s *Server) handleSetMetaValueRequest(req *api.UpdateMetadataRequest) (*api.UpdateMetadataResponse, error) {\n\tkey := storage.MetaKey(req.Key)\n\tvalue := storage.MetaValue(req.Value)\n\tif err := s.meta.PutMeta(key, value); err != nil {\n\t\treturn nil, fmt.Errorf(\"could not save meta %q: %v\", key, err)\n\t}\n\treturn &api.UpdateMetadataResponse{}, nil\n}\n\nfunc (s *Server) handleExecuteCommandRequest(req *api.ExecuteCommandRequest) (*api.ExecuteCommandResponse, error) {\n\tcmd, args, err := s.parser.Parse(req.Command)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tres := cmd.Execute(args...)\n\tresp, err := s.createResponse(res)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"could not create response: %v\", err)\n\t}\n\treturn resp, nil\n}\n\nfunc (s *Server) isLeader() bool {\n\treturn s.raft.State() == raft.Leader\n}\n"
  },
  {
    "path": "internal/server/server_clock_mock_test.go",
    "content": "package server\n\n/*\nDO NOT EDIT!\nThis code was generated automatically using github.com/gojuno/minimock v1.9\nThe original interface \"serverClock\" can be found in github.com/namreg/godown/internal/server\n*/\nimport (\n\t\"sync/atomic\"\n\ttime \"time\"\n\n\t\"github.com/gojuno/minimock\"\n)\n\n//serverClockMock implements github.com/namreg/godown/internal/server.serverClock\ntype serverClockMock struct {\n\tt minimock.Tester\n\n\tNowFunc       func() (r time.Time)\n\tNowCounter    uint64\n\tNowPreCounter uint64\n\tNowMock       mserverClockMockNow\n}\n\n//NewserverClockMock returns a mock for github.com/namreg/godown/internal/server.serverClock\nfunc NewserverClockMock(t minimock.Tester) *serverClockMock {\n\tm := &serverClockMock{t: t}\n\n\tif controller, ok := t.(minimock.MockController); ok {\n\t\tcontroller.RegisterMocker(m)\n\t}\n\n\tm.NowMock = mserverClockMockNow{mock: m}\n\n\treturn m\n}\n\ntype mserverClockMockNow struct {\n\tmock *serverClockMock\n}\n\n//Return sets up a mock for serverClock.Now to return Return's arguments\nfunc (m *mserverClockMockNow) Return(r time.Time) *serverClockMock {\n\tm.mock.NowFunc = func() time.Time {\n\t\treturn r\n\t}\n\treturn m.mock\n}\n\n//Set uses given function f as a mock of serverClock.Now method\nfunc (m *mserverClockMockNow) Set(f func() (r time.Time)) *serverClockMock {\n\tm.mock.NowFunc = f\n\n\treturn m.mock\n}\n\n//Now implements github.com/namreg/godown/internal/server.serverClock interface\nfunc (m *serverClockMock) Now() (r time.Time) {\n\tatomic.AddUint64(&m.NowPreCounter, 1)\n\tdefer atomic.AddUint64(&m.NowCounter, 1)\n\n\tif m.NowFunc == nil {\n\t\tm.t.Fatal(\"Unexpected call to serverClockMock.Now\")\n\t\treturn\n\t}\n\n\treturn m.NowFunc()\n}\n\n//NowMinimockCounter returns a count of serverClockMock.NowFunc invocations\nfunc (m *serverClockMock) NowMinimockCounter() uint64 {\n\treturn atomic.LoadUint64(&m.NowCounter)\n}\n\n//NowMinimockPreCounter returns the value of serverClockMock.Now invocations\nfunc (m *serverClockMock) NowMinimockPreCounter() uint64 {\n\treturn atomic.LoadUint64(&m.NowPreCounter)\n}\n\n//ValidateCallCounters checks that all mocked methods of the interface have been called at least once\n//Deprecated: please use MinimockFinish method or use Finish method of minimock.Controller\nfunc (m *serverClockMock) ValidateCallCounters() {\n\n\tif m.NowFunc != nil && atomic.LoadUint64(&m.NowCounter) == 0 {\n\t\tm.t.Fatal(\"Expected call to serverClockMock.Now\")\n\t}\n\n}\n\n//CheckMocksCalled checks that all mocked methods of the interface have been called at least once\n//Deprecated: please use MinimockFinish method or use Finish method of minimock.Controller\nfunc (m *serverClockMock) CheckMocksCalled() {\n\tm.Finish()\n}\n\n//Finish checks that all mocked methods of the interface have been called at least once\n//Deprecated: please use MinimockFinish or use Finish method of minimock.Controller\nfunc (m *serverClockMock) Finish() {\n\tm.MinimockFinish()\n}\n\n//MinimockFinish checks that all mocked methods of the interface have been called at least once\nfunc (m *serverClockMock) MinimockFinish() {\n\n\tif m.NowFunc != nil && atomic.LoadUint64(&m.NowCounter) == 0 {\n\t\tm.t.Fatal(\"Expected call to serverClockMock.Now\")\n\t}\n\n}\n\n//Wait waits for all mocked methods to be called at least once\n//Deprecated: please use MinimockWait or use Wait method of minimock.Controller\nfunc (m *serverClockMock) Wait(timeout time.Duration) {\n\tm.MinimockWait(timeout)\n}\n\n//MinimockWait waits for all mocked methods to be called at least once\n//this method is called by minimock.Controller\nfunc (m *serverClockMock) MinimockWait(timeout time.Duration) {\n\ttimeoutCh := time.After(timeout)\n\tfor {\n\t\tok := true\n\t\tok = ok && (m.NowFunc == nil || atomic.LoadUint64(&m.NowCounter) > 0)\n\n\t\tif ok {\n\t\t\treturn\n\t\t}\n\n\t\tselect {\n\t\tcase <-timeoutCh:\n\n\t\t\tif m.NowFunc != nil && atomic.LoadUint64(&m.NowCounter) == 0 {\n\t\t\t\tm.t.Error(\"Expected call to serverClockMock.Now\")\n\t\t\t}\n\n\t\t\tm.t.Fatalf(\"Some mocks were not called on time: %s\", timeout)\n\t\t\treturn\n\t\tdefault:\n\t\t\ttime.Sleep(time.Millisecond)\n\t\t}\n\t}\n}\n\n//AllMocksCalled returns true if all mocked methods were called before the execution of AllMocksCalled,\n//it can be used with assert/require, i.e. assert.True(mock.AllMocksCalled())\nfunc (m *serverClockMock) AllMocksCalled() bool {\n\n\tif m.NowFunc != nil && atomic.LoadUint64(&m.NowCounter) == 0 {\n\t\treturn false\n\t}\n\n\treturn true\n}\n"
  },
  {
    "path": "internal/storage/marshaler.go",
    "content": "package storage\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"strconv\"\n)\n\nconst (\n\tttlJSONField   = \"ttl\"\n\ttypeJSONField  = \"type\"\n\tvalueJSONField = \"value\"\n)\n\n//UnmarshalJSON unmarshal a valid JSON to the value.\nfunc (v *Value) UnmarshalJSON(j []byte) error {\n\tif len(j) == 0 {\n\t\treturn nil\n\t}\n\n\tval := Value{}\n\n\tm := make(map[string]interface{})\n\tif err := json.Unmarshal(j, &m); err != nil {\n\t\treturn err\n\t}\n\n\tt, ok := m[typeJSONField]\n\tif !ok {\n\t\treturn fmt.Errorf(\"could not recognize type\")\n\t}\n\n\tval.dataType = DataType(t.(string))\n\n\tfor k, mv := range m {\n\t\tswitch k {\n\t\tcase ttlJSONField:\n\t\t\tf, ok := mv.(float64)\n\t\t\tif !ok {\n\t\t\t\treturn fmt.Errorf(\"could not unmarshal ttl: ttl is not a float64\")\n\t\t\t}\n\t\t\tval.ttl = int64(f)\n\t\tcase valueJSONField:\n\t\t\tswitch val.dataType {\n\t\t\tcase StringDataType:\n\t\t\t\ts, ok := mv.(string)\n\t\t\t\tif !ok {\n\t\t\t\t\treturn fmt.Errorf(\"could not unmarshal string value: not a string representation\")\n\t\t\t\t}\n\t\t\t\tval.data = s\n\t\t\tcase ListDataType:\n\t\t\t\tl, ok := mv.([]string)\n\t\t\t\tif !ok {\n\t\t\t\t\treturn fmt.Errorf(\"could not unmarshal list value: not a list representation\")\n\t\t\t\t}\n\t\t\t\tval.data = l\n\t\t\tcase MapDataType:\n\t\t\t\ttm, ok := mv.(map[string]interface{})\n\t\t\t\tif !ok {\n\t\t\t\t\treturn fmt.Errorf(\"could not unmarshal map value: not a map representation\")\n\t\t\t\t}\n\t\t\t\tvmap := make(map[string]string, len(tm))\n\t\t\t\tfor mkey, mvalue := range tm {\n\t\t\t\t\tsv, ok := mvalue.(string)\n\t\t\t\t\tif !ok {\n\t\t\t\t\t\treturn fmt.Errorf(\"could not unmarshal map value: key %q is not a string\", mkey)\n\t\t\t\t\t}\n\t\t\t\t\tvmap[mkey] = sv\n\t\t\t\t}\n\t\t\t\tval.data = vmap\n\t\t\tcase BitMapDataType:\n\t\t\t\tl, ok := mv.([]uint64)\n\t\t\t\tif !ok {\n\t\t\t\t\treturn fmt.Errorf(\"could not unmarshal bitmap value: not a bitmap representation\")\n\t\t\t\t}\n\t\t\t\tval.data = l\n\t\t\t}\n\t\t}\n\t}\n\n\t*v = val\n\n\treturn nil\n}\n\n//MarshalJSON marshal a value to the valid JSON.\nfunc (v *Value) MarshalJSON() ([]byte, error) {\n\tif v == nil {\n\t\treturn nil, nil\n\t}\n\n\tbuf := new(bytes.Buffer)\n\tbuf.WriteByte('{')\n\n\tttlBytes := make([]byte, 0)\n\tttlBytes = strconv.AppendInt(ttlBytes, v.ttl, 10)\n\tbuf.WriteString(`\"ttl\":`)\n\tbuf.Write(ttlBytes)\n\n\tbuf.WriteByte(',')\n\n\tbuf.WriteString(`\"type\":\"`)\n\tbuf.WriteString(v.dataType.String())\n\tbuf.WriteByte('\"')\n\n\tbuf.WriteByte(',')\n\n\tbuf.WriteString(`\"value\":`)\n\n\tswitch v.dataType {\n\tcase StringDataType:\n\t\tbuf.WriteByte('\"')\n\t\tbuf.WriteString(v.data.(string))\n\t\tbuf.WriteByte('\"')\n\tcase ListDataType:\n\t\tbuf.WriteByte('[')\n\t\tlist := v.data.([]string)\n\t\tsize := len(list)\n\t\tfor i, lv := range list {\n\t\t\tbuf.WriteByte('\"')\n\t\t\tbuf.WriteString(lv)\n\t\t\tbuf.WriteByte('\"')\n\t\t\tif i != size-1 {\n\t\t\t\tbuf.WriteByte(',')\n\t\t\t}\n\t\t}\n\t\tbuf.WriteByte(']')\n\tcase BitMapDataType:\n\t\tbuf.WriteByte('[')\n\t\tlist := v.data.([]uint64)\n\t\tsize := len(list)\n\t\tfor i, lv := range list {\n\t\t\tbuf.Write(strconv.AppendUint([]byte{}, lv, 10))\n\t\t\tif i != size-1 {\n\t\t\t\tbuf.WriteByte(',')\n\t\t\t}\n\t\t}\n\t\tbuf.WriteByte(']')\n\tcase MapDataType:\n\t\tbuf.WriteByte('{')\n\t\tm := v.data.(map[string]string)\n\t\tsize := len(m)\n\t\ti := 0\n\t\tfor key, val := range m {\n\t\t\tbuf.WriteByte('\"')\n\t\t\tbuf.WriteString(key)\n\t\t\tbuf.WriteString(`\":`)\n\t\t\tbuf.WriteByte('\"')\n\t\t\tbuf.WriteString(val)\n\t\t\tbuf.WriteByte('\"')\n\t\t\ti++\n\t\t\tif i != size {\n\t\t\t\tbuf.WriteByte(',')\n\t\t\t}\n\t\t}\n\t\tbuf.WriteByte('}')\n\t}\n\tbuf.WriteByte('}')\n\treturn buf.Bytes(), nil\n}\n"
  },
  {
    "path": "internal/storage/marshaler_test.go",
    "content": "package storage\n\nimport (\n\t\"reflect\"\n\t\"testing\"\n)\n\nfunc TestMarshaler_MarshalJSON(t *testing.T) {\n\ttestCases := []struct {\n\t\tname   string\n\t\tinput  *Value\n\t\toutput []byte\n\t\terr    error\n\t}{\n\t\t{\n\t\t\t\"nil value gets nil []byte\",\n\t\t\tnil,\n\t\t\tnil,\n\t\t\tnil,\n\t\t},\n\t\t{\n\t\t\t\"empty value gets JSON object with empty properties\",\n\t\t\t&Value{},\n\t\t\t[]byte(\"{\\\"ttl\\\":0,\\\"type\\\":\\\"\\\",\\\"value\\\":}\"),\n\t\t\tnil,\n\t\t},\n\t\t{\n\t\t\t\"value with ttl gets JSON object with not empty ttl\",\n\t\t\t&Value{ttl: 5},\n\t\t\t[]byte(\"{\\\"ttl\\\":5,\\\"type\\\":\\\"\\\",\\\"value\\\":}\"),\n\t\t\tnil,\n\t\t},\n\t\t{\n\t\t\t\"data set according to dataType of type string\",\n\t\t\t&Value{dataType: StringDataType, data: \"data\"},\n\t\t\t[]byte(\"{\\\"ttl\\\":0,\\\"type\\\":\\\"string\\\",\\\"value\\\":\\\"data\\\"}\"),\n\t\t\tnil,\n\t\t},\n\t\t{\n\t\t\t\"data set to empty string array according to dataType of type list\",\n\t\t\t&Value{dataType: ListDataType, data: []string{}},\n\t\t\t[]byte(\"{\\\"ttl\\\":0,\\\"type\\\":\\\"list\\\",\\\"value\\\":[]}\"),\n\t\t\tnil,\n\t\t},\n\t\t{\n\t\t\t\"data set to string array of 2 elements according to dataType of type list\",\n\t\t\t&Value{dataType: ListDataType, data: []string{\"str1\", \"str2\"}},\n\t\t\t[]byte(\"{\\\"ttl\\\":0,\\\"type\\\":\\\"list\\\",\\\"value\\\":[\\\"str1\\\",\\\"str2\\\"]}\"),\n\t\t\tnil,\n\t\t},\n\t\t{\n\t\t\t\"data set to empty uint64 array according to dataType of type bitmap\",\n\t\t\t&Value{dataType: BitMapDataType, data: []uint64{}},\n\t\t\t[]byte(\"{\\\"ttl\\\":0,\\\"type\\\":\\\"bitmap\\\",\\\"value\\\":[]}\"),\n\t\t\tnil,\n\t\t},\n\t\t{\n\t\t\t\"data set to uint64 array of 4 elements according to dataType of type bitmap\",\n\t\t\t&Value{dataType: BitMapDataType, data: []uint64{1, 2, 3, 4}},\n\t\t\t[]byte(\"{\\\"ttl\\\":0,\\\"type\\\":\\\"bitmap\\\",\\\"value\\\":[1,2,3,4]}\"),\n\t\t\tnil,\n\t\t},\n\t\t{\n\t\t\t\"data set to empty map of string:string according to dataType of type map\",\n\t\t\t&Value{dataType: MapDataType, data: map[string]string{}},\n\t\t\t[]byte(\"{\\\"ttl\\\":0,\\\"type\\\":\\\"map\\\",\\\"value\\\":{}}\"),\n\t\t\tnil,\n\t\t},\n\t\t{\n\t\t\t\"data set to a map of string:string of 1 element according to dataType of type map\",\n\t\t\t&Value{dataType: MapDataType, data: map[string]string{\"key1\": \"val1\"}},\n\t\t\t[]byte(\"{\\\"ttl\\\":0,\\\"type\\\":\\\"map\\\",\\\"value\\\":{\\\"key1\\\":\\\"val1\\\"}}\"),\n\t\t\tnil,\n\t\t},\n\t}\n\n\tfor _, tc := range testCases {\n\t\tt.Run(tc.name, func(t *testing.T) {\n\t\t\tm, err := tc.input.MarshalJSON()\n\t\t\tif tc.err != err {\n\t\t\t\tt.Errorf(\"given error %v doesn't equal to expected error %v\", err, tc.err)\n\t\t\t}\n\t\t\tif !reflect.DeepEqual(m, tc.output) {\n\t\t\t\tt.Errorf(\"given value %v doesn't equal to expected value %v\", string(m), string(tc.output))\n\t\t\t}\n\t\t})\n\t}\n}\n\nfunc TestValue_MarshalJSON_ShouldPanic(t *testing.T) {\n\ttestCases := []struct {\n\t\tname  string\n\t\tinput *Value\n\t}{\n\t\t{\n\t\t\t\"dataType set but data nil should panic because of type conversion to string\",\n\t\t\t&Value{dataType: StringDataType},\n\t\t},\n\t\t{\n\t\t\t\"data of type int is not matching the dataType string => should panic because of type conversion to string\",\n\t\t\t&Value{dataType: StringDataType, data: 0},\n\t\t},\n\t\t{\n\t\t\t\"dataType is list but data contains []int => should panic because of type conversion to []string\",\n\t\t\t&Value{dataType: ListDataType, data: []int{1, 2}},\n\t\t},\n\t\t{\n\t\t\t\"dataType is bitmap but data contains []int => should panic because of type conversion to []uint64\",\n\t\t\t&Value{dataType: BitMapDataType, data: []int{1, 2}},\n\t\t},\n\t\t{\n\t\t\t\"dataType is map but data contains []int => should panic because of type conversion to map[string]string\",\n\t\t\t&Value{dataType: BitMapDataType, data: []int{1, 2}},\n\t\t},\n\t\t{\n\t\t\t\"dataType is map but data contains map[int]int => should panic because of type conversion to map[string]string\",\n\t\t\t&Value{dataType: BitMapDataType, data: map[int]int{1: 2}},\n\t\t},\n\t\t{\n\t\t\t\"dataType is map but data contains map[string]int => should panic because of type conversion to map[string]string\",\n\t\t\t&Value{dataType: BitMapDataType, data: map[string]int{\"1\": 2}},\n\t\t},\n\t}\n\n\tfor _, tc := range testCases {\n\t\tt.Run(tc.name, func(t *testing.T) {\n\t\t\tassertPanic(t, func() { tc.input.MarshalJSON() })\n\t\t})\n\t}\n}\n\nfunc assertPanic(t *testing.T, f func()) {\n\tdefer func() {\n\t\tif r := recover(); r == nil {\n\t\t\tt.Errorf(\"The code did not panic\")\n\t\t}\n\t}()\n\tf()\n}\n\nfunc BenchmarkMarshaler_MarshalJSON(b *testing.B) {\n\tbenchCases := []struct {\n\t\tname  string\n\t\tvalue *Value\n\t}{\n\t\t{\n\t\t\tname:  \"nil value\",\n\t\t\tvalue: nil,\n\t\t},\n\t\t{\n\t\t\tname:  \"empty value\",\n\t\t\tvalue: &Value{},\n\t\t},\n\t\t{\n\t\t\tname:  \"string value\",\n\t\t\tvalue: &Value{dataType: StringDataType, data: \"a string to be marshalled\"},\n\t\t},\n\t\t{\n\t\t\tname:  \"list value\",\n\t\t\tvalue: &Value{dataType: ListDataType, data: []string{\"first string to be marshalled\", \"second string to be marshalled\"}},\n\t\t},\n\t\t{\n\t\t\tname:  \"bitmap value\",\n\t\t\tvalue: &Value{dataType: BitMapDataType, data: []uint64{1, 2, 3, 4, 5}},\n\t\t},\n\t\t{\n\t\t\tname:  \"map value\",\n\t\t\tvalue: &Value{dataType: MapDataType, data: map[string]string{\"key1\": \"val1\", \"key2\": \"val2\", \"key3\": \"val3\"}},\n\t\t},\n\t}\n\n\tfor _, bc := range benchCases {\n\t\tb.Run(bc.name, func(b *testing.B) {\n\t\t\tfor i := 0; i < b.N; i++ {\n\t\t\t\tbc.value.MarshalJSON()\n\t\t\t}\n\t\t})\n\t}\n}\n"
  },
  {
    "path": "internal/storage/memory/memory.go",
    "content": "package memory\n\nimport (\n\t\"sync\"\n\t\"time\"\n\n\t\"github.com/namreg/godown/internal/clock\"\n\t\"github.com/namreg/godown/internal/storage\"\n)\n\ntype memoryClock interface {\n\tNow() time.Time\n}\n\n//Storage represents a storage that store its all data in memory. Implements Storage interaface\ntype Storage struct {\n\tclck memoryClock\n\n\tmetaMu sync.RWMutex\n\tmeta   map[storage.MetaKey]storage.MetaValue\n\n\tmu           sync.RWMutex\n\titems        map[storage.Key]*storage.Value\n\titemsWithTTL map[storage.Key]*storage.Value // items thats have ttl and will be processed by GC\n}\n\n//WithClock sets memoryClock implementation\nfunc WithClock(clck memoryClock) func(*Storage) {\n\treturn func(strg *Storage) {\n\t\tstrg.clck = clck\n\t}\n}\n\n//New creates a new memory storage with the given items\nfunc New(items map[storage.Key]*storage.Value, opts ...func(*Storage)) *Storage {\n\tstrg := &Storage{\n\t\tmeta: make(map[storage.MetaKey]storage.MetaValue),\n\t}\n\tstrg.setItems(items)\n\n\tfor _, f := range opts {\n\t\tf(strg)\n\t}\n\n\tif strg.clck == nil {\n\t\tstrg.clck = clock.New()\n\t}\n\n\treturn strg\n}\n\nfunc (strg *Storage) setItems(items map[storage.Key]*storage.Value) {\n\tstrg.mu.Lock()\n\tdefer strg.mu.Unlock()\n\n\tif items == nil {\n\t\tstrg.items, strg.itemsWithTTL = make(map[storage.Key]*storage.Value), make(map[storage.Key]*storage.Value)\n\t\treturn\n\t}\n\n\titemsWithTTL := make(map[storage.Key]*storage.Value)\n\n\tfor k, v := range items {\n\t\tif v.TTL() > 0 {\n\t\t\titemsWithTTL[k] = v\n\t\t}\n\t}\n\n\tstrg.items = items\n\tstrg.itemsWithTTL = itemsWithTTL\n\n}\n\n//Put puts a new value that will be returned by ValueSetter.\nfunc (strg *Storage) Put(key storage.Key, setter storage.ValueSetter) error {\n\tstrg.mu.Lock()\n\n\tvar value *storage.Value\n\tvar exists bool\n\tvar err error\n\n\tif value, exists = strg.items[key]; exists && value.IsExpired(strg.clck.Now()) {\n\t\tvalue = nil\n\t}\n\n\tif value, err = setter(value); err == nil {\n\t\tif value == nil {\n\t\t\tdelete(strg.items, key)\n\t\t\tdelete(strg.itemsWithTTL, key)\n\t\t} else {\n\t\t\tstrg.items[key] = value\n\t\t\tif value.TTL() != -1 {\n\t\t\t\tstrg.itemsWithTTL[key] = value\n\t\t\t}\n\t\t}\n\t}\n\n\tstrg.mu.Unlock()\n\n\treturn err\n}\n\n//Get gets a value of the storage by the given Key\nfunc (strg *Storage) Get(key storage.Key) (*storage.Value, error) {\n\tstrg.mu.RLock()\n\tdefer strg.mu.RUnlock()\n\n\tif value, exists := strg.items[key]; exists && !value.IsExpired(strg.clck.Now()) {\n\t\treturn value, nil\n\t}\n\treturn nil, storage.ErrKeyNotExists\n}\n\n//Del deletes a value by the given key\nfunc (strg *Storage) Del(key storage.Key) error {\n\tstrg.mu.Lock()\n\tdelete(strg.items, key)\n\tdelete(strg.itemsWithTTL, key)\n\tstrg.mu.Unlock()\n\treturn nil\n}\n\n//Keys returns all stored keys\nfunc (strg *Storage) Keys() ([]storage.Key, error) {\n\tstrg.mu.RLock()\n\tdefer strg.mu.RUnlock()\n\n\tkeys := make([]storage.Key, 0, len(strg.items))\n\tfor k, v := range strg.items {\n\t\tif !v.IsExpired(strg.clck.Now()) {\n\t\t\tkeys = append(keys, k)\n\t\t}\n\t}\n\treturn keys, nil\n}\n\n//All returns all stored values\nfunc (strg *Storage) All() (map[storage.Key]*storage.Value, error) {\n\tstrg.mu.RLock()\n\tdefer strg.mu.RUnlock()\n\treturn strg.items, nil\n}\n\n//Restore replaces current items with the given ones.\nfunc (strg *Storage) Restore(m map[storage.Key]*storage.Value) error {\n\tstrg.setItems(m)\n\treturn nil\n}\n\n//AllWithTTL returns all stored values thats have TTL\nfunc (strg *Storage) AllWithTTL() (map[storage.Key]*storage.Value, error) {\n\tstrg.mu.RLock()\n\tdefer strg.mu.RUnlock()\n\treturn strg.itemsWithTTL, nil\n}\n\n//AllMeta returns all stored metadata.\nfunc (strg *Storage) AllMeta() (map[storage.MetaKey]storage.MetaValue, error) {\n\tstrg.metaMu.RLock()\n\tall := strg.meta\n\tstrg.metaMu.RUnlock()\n\treturn all, nil\n}\n\n//PutMeta puts a meta value at the given key.\nfunc (strg *Storage) PutMeta(key storage.MetaKey, value storage.MetaValue) error {\n\tstrg.metaMu.Lock()\n\tstrg.meta[key] = value\n\tstrg.metaMu.Unlock()\n\treturn nil\n}\n\n//GetMeta gets a meta value at the given key.\nfunc (strg *Storage) GetMeta(key storage.MetaKey) (storage.MetaValue, error) {\n\tstrg.metaMu.RLock()\n\tvalue, ok := strg.meta[key]\n\tstrg.metaMu.RUnlock()\n\tif !ok {\n\t\treturn \"\", storage.ErrKeyNotExists\n\t}\n\treturn value, nil\n}\n\n//RestoreMeta replace current meta with the given one.\nfunc (strg *Storage) RestoreMeta(m map[storage.MetaKey]storage.MetaValue) error {\n\tstrg.metaMu.Lock()\n\tstrg.meta = m\n\tstrg.metaMu.Unlock()\n\treturn nil\n}\n"
  },
  {
    "path": "internal/storage/memory/memory_test.go",
    "content": "package memory\n\nimport (\n\t\"reflect\"\n\t\"sort\"\n\t\"testing\"\n\t\"time\"\n\n\t\"github.com/namreg/godown/internal/clock\"\n\n\t\"github.com/namreg/godown/internal/storage\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestNew(t *testing.T) {\n\tval := storage.NewString(\"value1\")\n\n\tvalWithTTL := storage.NewString(\"value2\")\n\tvalWithTTL.SetTTL(time.Now().Add(1 * time.Second))\n\n\ttests := []struct {\n\t\tname                 string\n\t\titems                map[storage.Key]*storage.Value\n\t\texpectedItems        map[storage.Key]*storage.Value\n\t\texpectedItemsWithTTL map[storage.Key]*storage.Value\n\t}{\n\t\t{\n\t\t\tname:                 \"empty\",\n\t\t\titems:                nil,\n\t\t\texpectedItems:        map[storage.Key]*storage.Value{},\n\t\t\texpectedItemsWithTTL: map[storage.Key]*storage.Value{},\n\t\t},\n\t\t{\n\t\t\tname:                 \"without_ttl\",\n\t\t\titems:                map[storage.Key]*storage.Value{\"key\": val},\n\t\t\texpectedItems:        map[storage.Key]*storage.Value{\"key\": val},\n\t\t\texpectedItemsWithTTL: map[storage.Key]*storage.Value{},\n\t\t},\n\t\t{\n\t\t\tname:                 \"with_ttl\",\n\t\t\titems:                map[storage.Key]*storage.Value{\"key\": val, \"key_with_ttl\": valWithTTL},\n\t\t\texpectedItems:        map[storage.Key]*storage.Value{\"key\": val, \"key_with_ttl\": valWithTTL},\n\t\t\texpectedItemsWithTTL: map[storage.Key]*storage.Value{\"key_with_ttl\": valWithTTL},\n\t\t},\n\t}\n\tfor _, tt := range tests {\n\t\tstrg := New(tt.items)\n\t\tassert.Equal(t, tt.expectedItems, strg.items)\n\t\tassert.Equal(t, tt.expectedItemsWithTTL, strg.itemsWithTTL)\n\t}\n}\n\nfunc TestStorage_Put_WhenValueShouldBeDeleted(t *testing.T) {\n\tstrg := &Storage{\n\t\tclck:         clock.New(),\n\t\titems:        make(map[storage.Key]*storage.Value),\n\t\titemsWithTTL: make(map[storage.Key]*storage.Value),\n\t}\n\tstrg.items[storage.Key(\"key1\")] = storage.NewList([]string{\"value1\"})\n\tstrg.itemsWithTTL[storage.Key(\"key1\")] = storage.NewList([]string{\"value1\"})\n\n\tassert.NoError(t, strg.Put(storage.Key(\"key2\"), func(*storage.Value) (*storage.Value, error) {\n\t\treturn nil, nil\n\t}))\n\n\t_, ok := strg.items[storage.Key(\"key2\")]\n\tassert.False(t, ok)\n\n\t_, ok = strg.itemsWithTTL[storage.Key(\"key2\")]\n\tassert.False(t, ok)\n}\n\nfunc TestStorage_Put_WhenValueShouldBeAdded(t *testing.T) {\n\tstrg := &Storage{\n\t\tclck:         clock.New(),\n\t\titems:        make(map[storage.Key]*storage.Value),\n\t\titemsWithTTL: make(map[storage.Key]*storage.Value),\n\t}\n\n\tassert.NoError(t, strg.Put(storage.Key(\"key\"), func(*storage.Value) (*storage.Value, error) {\n\t\tval := storage.NewString(\"value\")\n\t\tval.SetTTL(time.Now().Add(1 * time.Second))\n\t\treturn val, nil\n\t}))\n\n\t_, ok := strg.items[storage.Key(\"key\")]\n\tassert.True(t, ok)\n\n\t_, ok = strg.itemsWithTTL[storage.Key(\"key\")]\n\tassert.True(t, ok)\n}\n\nfunc TestStorage_Put_ExpiredKey(t *testing.T) {\n\texpired := storage.NewString(\"value\")\n\texpired.SetTTL(time.Now().Add(-1 * time.Second))\n\n\tstrg := &Storage{\n\t\tclck:         clock.New(),\n\t\titems:        map[storage.Key]*storage.Value{\"expired\": expired},\n\t\titemsWithTTL: map[storage.Key]*storage.Value{\"expired\": expired},\n\t}\n\n\terr := strg.Put(storage.Key(\"expired\"), func(old *storage.Value) (*storage.Value, error) {\n\t\tassert.Nil(t, old)\n\t\treturn nil, nil\n\t})\n\tassert.NoError(t, err)\n}\n\nfunc TestStorage_Get(t *testing.T) {\n\texpired := storage.NewString(\"expired_value\")\n\texpired.SetTTL(time.Now().Add(-1 * time.Second))\n\n\tstrg := &Storage{\n\t\tclck: clock.New(),\n\t\titems: map[storage.Key]*storage.Value{\n\t\t\t\"key\":         storage.NewString(\"value\"),\n\t\t\t\"expired_key\": expired,\n\t\t},\n\t\titemsWithTTL: map[storage.Key]*storage.Value{\n\t\t\t\"expired_key\": expired,\n\t\t},\n\t}\n\ttests := []struct {\n\t\tname string\n\t\tkey  storage.Key\n\t\twant *storage.Value\n\t\terr  error\n\t}{\n\t\t{\n\t\t\tname: \"existing_key\",\n\t\t\tkey:  storage.Key(\"key\"),\n\t\t\twant: storage.NewString(\"value\"),\n\t\t},\n\t\t{\n\t\t\tname: \"not_existing_key\",\n\t\t\tkey:  storage.Key(\"not_existing_key\"),\n\t\t\twant: nil,\n\t\t\terr:  storage.ErrKeyNotExists,\n\t\t},\n\t\t{\n\t\t\tname: \"expired_key\",\n\t\t\tkey:  storage.Key(\"expired_key\"),\n\t\t\twant: nil,\n\t\t\terr:  storage.ErrKeyNotExists,\n\t\t},\n\t}\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tgot, err := strg.Get(tt.key)\n\t\t\tif err != nil && err != tt.err {\n\t\t\t\tt.Errorf(\"Storage.Get() error = %v, want err %v\", err, tt.err)\n\t\t\t}\n\t\t\tif !reflect.DeepEqual(got, tt.want) {\n\t\t\t\tt.Errorf(\"Storage.Get() = %v, want %v\", got, tt.want)\n\t\t\t}\n\t\t})\n\t}\n}\n\nfunc TestStorage_Del(t *testing.T) {\n\tstrg := Storage{\n\t\tclck: clock.New(),\n\t\titems: map[storage.Key]*storage.Value{\n\t\t\tstorage.Key(\"key\"):  storage.NewString(\"value\"),\n\t\t\tstorage.Key(\"key2\"): storage.NewString(\"value2\"),\n\t\t},\n\t\titemsWithTTL: map[storage.Key]*storage.Value{\n\t\t\tstorage.Key(\"key\"): storage.NewString(\"value\"),\n\t\t},\n\t}\n\n\tassert.NoError(t, strg.Del(storage.Key(\"key\")))\n\n\tassert.Equal(\n\t\tt,\n\t\tmap[storage.Key]*storage.Value{\n\t\t\tstorage.Key(\"key2\"): storage.NewString(\"value2\"),\n\t\t},\n\t\tstrg.items,\n\t)\n\n\tassert.Equal(\n\t\tt,\n\t\tmap[storage.Key]*storage.Value{},\n\t\tstrg.itemsWithTTL,\n\t)\n}\n\nfunc TestStorage_Keys(t *testing.T) {\n\texpired := storage.NewString(\"expired_value\")\n\texpired.SetTTL(time.Now().Add(-1 * time.Second))\n\n\tstrg := Storage{\n\t\tclck: clock.New(),\n\t\titems: map[storage.Key]*storage.Value{\n\t\t\tstorage.Key(\"key\"):     storage.NewString(\"value\"),\n\t\t\tstorage.Key(\"key2\"):    storage.NewString(\"value2\"),\n\t\t\tstorage.Key(\"expired\"): expired,\n\t\t},\n\t}\n\texpected := []storage.Key{storage.Key(\"key\"), storage.Key(\"key2\")}\n\n\tactual, err := strg.Keys()\n\n\tassert.NoError(t, err)\n\tassertKeysEquals(t, expected, actual)\n}\n\nfunc TestStorage_All(t *testing.T) {\n\tstrg := Storage{\n\t\tclck: clock.New(),\n\t\titems: map[storage.Key]*storage.Value{\n\t\t\tstorage.Key(\"key\"):  storage.NewString(\"value\"),\n\t\t\tstorage.Key(\"key2\"): storage.NewString(\"value2\"),\n\t\t},\n\t}\n\texpected := map[storage.Key]*storage.Value{\n\t\tstorage.Key(\"key\"):  storage.NewString(\"value\"),\n\t\tstorage.Key(\"key2\"): storage.NewString(\"value2\"),\n\t}\n\tactual, err := strg.All()\n\n\tassert.NoError(t, err)\n\tassert.Equal(t, expected, actual)\n}\n\nfunc TestStorage_AllWithTTL(t *testing.T) {\n\tstrg := Storage{\n\t\tclck: clock.New(),\n\t\titems: map[storage.Key]*storage.Value{\n\t\t\tstorage.Key(\"key\"):  storage.NewString(\"value\"),\n\t\t\tstorage.Key(\"key2\"): storage.NewString(\"value2\"),\n\t\t},\n\t\titemsWithTTL: map[storage.Key]*storage.Value{\n\t\t\tstorage.Key(\"key2\"): storage.NewString(\"value2\"),\n\t\t},\n\t}\n\texpected := map[storage.Key]*storage.Value{\n\t\tstorage.Key(\"key2\"): storage.NewString(\"value2\"),\n\t}\n\tactual, err := strg.AllWithTTL()\n\n\tassert.NoError(t, err)\n\tassert.Equal(t, expected, actual)\n}\n\nfunc assertKeysEquals(t *testing.T, a, b []storage.Key) bool {\n\tsort.Slice(a, func(i, j int) bool {\n\t\treturn a[i] < a[j]\n\t})\n\n\tsort.Slice(b, func(i, j int) bool {\n\t\treturn b[i] < b[j]\n\t})\n\n\treturn assert.Equal(t, a, b)\n}\n"
  },
  {
    "path": "internal/storage/storage.go",
    "content": "package storage\n\nimport (\n\t\"errors\"\n\t\"time\"\n)\n\nvar (\n\t//ErrKeyNotExists means that key does not exist. Returns by GetKey method.\n\tErrKeyNotExists = errors.New(\"storage: key does not exist\")\n)\n\n//DataType represents type of data\ntype DataType string\n\nconst (\n\t//StringDataType is the string data type.\n\tStringDataType DataType = \"string\"\n\t//BitMapDataType is the bitmap data type. Stored as int64 integer.\n\tBitMapDataType DataType = \"bitmap\"\n\t//ListDataType is the list data type. Stored as slice of string.\n\tListDataType DataType = \"list\"\n\t//MapDataType is the hash map type. Stored as map[string][string].\n\tMapDataType DataType = \"map\"\n)\n\n//DataType returns string representation of the DataType.\nfunc (dt DataType) String() string {\n\treturn string(dt)\n}\n\n//Key is the key of a value in the storage.\ntype Key string\n\n//Value represents a single value of a storage.\ntype Value struct {\n\tttl      int64 //unix time\n\tdata     interface{}\n\tdataType DataType\n}\n\n//MetaKey is key of the meta value.\ntype MetaKey string\n\n//MetaValue is a system system and not visible for users.\ntype MetaValue string\n\n//ValueSetter guarantees transactional updates.\ntype ValueSetter func(old *Value) (new *Value, err error)\n\n//Data returns data of the value.\nfunc (v *Value) Data() interface{} {\n\treturn v.data\n}\n\n//Type returns a DataType of the value.\nfunc (v *Value) Type() DataType {\n\treturn v.dataType\n}\n\n//IsExpired indicates whether the value is expired.\nfunc (v *Value) IsExpired(till time.Time) bool {\n\tif v.ttl < 0 {\n\t\treturn false\n\t}\n\treturn v.ttl < till.Unix()\n}\n\n//SetTTL sets expiration time of the value.\nfunc (v *Value) SetTTL(at time.Time) {\n\tv.ttl = at.Unix()\n}\n\n//TTL returns expired time of the value.\nfunc (v *Value) TTL() int64 {\n\treturn v.ttl\n}\n\n//NewString creates a new value with StringDataType.\nfunc NewString(str string) *Value {\n\treturn &Value{\n\t\tdata:     str,\n\t\tdataType: StringDataType,\n\t\tttl:      -1,\n\t}\n}\n\n//NewBitMap creates a new value of the BitMapDataType. Stored as uint64 integer.\nfunc NewBitMap(value []uint64) *Value {\n\treturn &Value{\n\t\tdata:     value,\n\t\tdataType: BitMapDataType,\n\t\tttl:      -1,\n\t}\n}\n\n//NewList creates a new value of the ListDataType. Stored as slice of strings.\nfunc NewList(data []string) *Value {\n\treturn &Value{\n\t\tdata:     data,\n\t\tdataType: ListDataType,\n\t\tttl:      -1,\n\t}\n}\n\n//NewMap creates a new value of the MapDataType.\nfunc NewMap(val map[string]string) *Value {\n\treturn &Value{\n\t\tdata:     val,\n\t\tdataType: MapDataType,\n\t\tttl:      -1,\n\t}\n}\n"
  },
  {
    "path": "internal/storage/storage_test.go",
    "content": "package storage\n\nimport (\n\t\"reflect\"\n\t\"testing\"\n\t\"time\"\n\n\t\"github.com/namreg/godown/internal/clock\"\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestDataType_String(t *testing.T) {\n\ttests := []struct {\n\t\tname string\n\t\tdt   DataType\n\t\twant string\n\t}{\n\t\t{\"StringDataType\", StringDataType, \"string\"},\n\t\t{\"BitMapDataType\", BitMapDataType, \"bitmap\"},\n\t\t{\"ListDataType\", ListDataType, \"list\"},\n\t\t{\"MapDataType\", MapDataType, \"map\"},\n\t}\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tif got := tt.dt.String(); got != tt.want {\n\t\t\t\tt.Errorf(\"DataType.String() = %v, want %v\", got, tt.want)\n\t\t\t}\n\t\t})\n\t}\n}\n\nfunc TestValue_Data_And_Value_Type(t *testing.T) {\n\ttype fields struct {\n\t\tdata     interface{}\n\t\tdataType DataType\n\t}\n\ttests := []struct {\n\t\tname   string\n\t\tfields fields\n\t\twant   interface{}\n\t}{\n\t\t{\"string\", fields{data: \"string\", dataType: StringDataType}, \"string\"},\n\t\t{\"bitmap\", fields{data: 1024, dataType: BitMapDataType}, 1024},\n\t\t{\"list\", fields{data: []string{\"1\", \"2\"}, dataType: ListDataType}, []string{\"1\", \"2\"}},\n\t\t{\"map\", fields{data: map[string]string{\"key\": \"value\"}, dataType: MapDataType}, map[string]string{\"key\": \"value\"}},\n\t}\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tv := &Value{\n\t\t\t\tdata:     tt.fields.data,\n\t\t\t\tdataType: tt.fields.dataType,\n\t\t\t}\n\t\t\tif got := v.Data(); !reflect.DeepEqual(got, tt.want) {\n\t\t\t\tt.Errorf(\"Value.Data() = %v, want %v\", got, tt.want)\n\t\t\t}\n\t\t\tif got := v.Type(); !reflect.DeepEqual(got, tt.fields.dataType) {\n\t\t\t\tt.Errorf(\"Value.Type() = %v, want %v\", got, tt.fields.dataType)\n\t\t\t}\n\t\t})\n\t}\n}\n\nfunc TestValue_IsExpired(t *testing.T) {\n\ttests := []struct {\n\t\tname  string\n\t\tvalue *Value\n\t\twant  bool\n\t}{\n\t\t{\"no_ttl\", &Value{ttl: -1}, false},\n\t\t{\"not_expired\", &Value{ttl: time.Now().Add(1 * time.Second).Unix()}, false},\n\t\t{\"expired\", &Value{ttl: time.Now().Add(-1 * time.Second).Unix()}, true},\n\t}\n\tclck := clock.New()\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tif got := tt.value.IsExpired(clck.Now()); got != tt.want {\n\t\t\t\tt.Errorf(\"Value.IsExpired() = %v, want %v\", got, tt.want)\n\t\t\t}\n\t\t})\n\t}\n}\n\nfunc TestValue_SetTTL(t *testing.T) {\n\tvalue := &Value{\n\t\tttl:      -1,\n\t\tdata:     \"string\",\n\t\tdataType: StringDataType,\n\t}\n\tttl := time.Now()\n\tvalue.SetTTL(ttl)\n\n\tassert.Equal(t, ttl.Unix(), value.ttl, \"value.ttl is not set\")\n}\n\nfunc TestValue_TTL(t *testing.T) {\n\tttl := time.Now().Unix()\n\tvalue := &Value{\n\t\tttl:      ttl,\n\t\tdata:     \"string\",\n\t\tdataType: StringDataType,\n\t}\n\n\tassert.Equal(t, ttl, value.TTL())\n}\n\nfunc TestNewStringValue(t *testing.T) {\n\tvalue := NewString(\"test string\")\n\tassert.Equal(t, \"test string\", value.data)\n\tassert.Equal(t, StringDataType, value.dataType)\n\tassert.Equal(t, int64(-1), value.ttl)\n}\n\nfunc TestNewBitMapValue(t *testing.T) {\n\tvalue := NewBitMap([]uint64{35})\n\tassert.Equal(t, uint64(35), value.data.([]uint64)[0])\n\tassert.Equal(t, BitMapDataType, value.dataType)\n\tassert.Equal(t, int64(-1), value.ttl)\n}\n\nfunc TestNewListValue(t *testing.T) {\n\tvalue := NewList([]string{\"test 1\", \"test 2\", \"test 3\"})\n\tassert.Equal(t, []string{\"test 1\", \"test 2\", \"test 3\"}, value.data)\n\tassert.Equal(t, ListDataType, value.dataType)\n\tassert.Equal(t, int64(-1), value.ttl)\n}\n\nfunc TestNewMapValue(t *testing.T) {\n\tvalue := NewMap(map[string]string{\"key\": \"value\"})\n\tassert.Equal(t, map[string]string{\"key\": \"value\"}, value.data)\n\tassert.Equal(t, MapDataType, value.dataType)\n\tassert.Equal(t, int64(-1), value.ttl)\n}\n"
  },
  {
    "path": "vendor/github.com/Bowery/prompt/CONTRIBUTORS.md",
    "content": "- [Larz Conwell](https://github.com/larzconwell)\n- [Steve Kaliski](https://github.com/sjkaliski)\n- [NHOrus](https://github.com/NHOrus)\n- [Attila Fülöp](https://github.com/AttilaFueloep)\n- [Gereon Frey](https://github.com/gfrey)\n- [Aaron Bieber](https://github.com/qbit)\n- [Ricky Medina](https://github.com/r-medina)\n- [sungo](https://github.com/sungo)\n- [Rohan Verma](https://github.com/rhnvrm)\n"
  },
  {
    "path": "vendor/github.com/Bowery/prompt/LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2013-2015 Bowery, Inc.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"
  },
  {
    "path": "vendor/github.com/Bowery/prompt/README.md",
    "content": "# Prompt\n\n[![Circle CI](https://circleci.com/gh/Bowery/prompt/tree/master.png?style=badge)](https://circleci.com/gh/Bowery/prompt/tree/master)\n\n[![GoDoc](https://godoc.org/github.com/Bowery/prompt?status.png)](https://godoc.org/github.com/Bowery/prompt)\n\nPrompt is a cross platform line-editing prompting library. Read the GoDoc page\nfor more info and for API details.\n\n## Features\n- Keyboard shortcuts in prompts\n- History support\n- Secure password prompt\n- Custom prompt support\n- Fallback prompt for unsupported terminals\n- ANSI conversion for Windows\n\n## Todo\n- Multi-line prompt as a Terminal option\n- Make refresh less jittery on Windows([possible reason](https://github.com/Bowery/prompt/blob/master/output_windows.go#L108))\n- Multi-byte character support on Windows\n- `AnsiWriter` should execute the equivalent ANSI escape code functionality on Windows\n- Support for more ANSI escape codes on Windows.\n- More keyboard shortcuts from Readlines shortcut list\n\n## Contributing\n\nMake sure Go is setup and running the latest release version, and make sure your `GOPATH` is setup properly.\n\nFollow the guidelines [here](https://guides.github.com/activities/contributing-to-open-source/#contributing).\n\nPlease be sure to `gofmt` any code before doing commits. You can simply run `gofmt -w .` to format all the code in the directory.\n\nLastly don't forget to add your name to [`CONTRIBUTORS.md`](https://github.com/Bowery/prompt/blob/master/CONTRIBUTORS.md)\n\n## License\n\nPrompt is MIT licensed, details can be found [here](https://raw.githubusercontent.com/Bowery/prompt/master/LICENSE).\n"
  },
  {
    "path": "vendor/github.com/Bowery/prompt/ansi_unix.go",
    "content": "// +build linux darwin freebsd openbsd netbsd dragonfly solaris\n\n// Copyright 2013-2015 Bowery, Inc.\n\npackage prompt\n\nimport (\n\t\"os\"\n)\n\n// AnsiReader is an io.Reader that wraps an *os.File.\ntype AnsiReader struct {\n\tfile *os.File\n}\n\n// NewAnsiReader creates a AnsiReader from the given input file.\nfunc NewAnsiReader(in *os.File) *AnsiReader {\n\treturn &AnsiReader{file: in}\n}\n\n// Read reads data from the input file into b.\nfunc (ar *AnsiReader) Read(b []byte) (int, error) {\n\treturn ar.file.Read(b)\n}\n\n// AnsiWriter is an io.Writer that wraps an *os.File.\ntype AnsiWriter struct {\n\tfile *os.File\n}\n\n// NewAnsiWriter creates a AnsiWriter from the given output file.\nfunc NewAnsiWriter(out *os.File) *AnsiWriter {\n\treturn &AnsiWriter{file: out}\n}\n\n// Write writes data from b into the input file.\nfunc (aw *AnsiWriter) Write(b []byte) (int, error) {\n\treturn aw.file.Write(b)\n}\n"
  },
  {
    "path": "vendor/github.com/Bowery/prompt/ansi_windows.go",
    "content": "// Copyright 2013-2015 Bowery, Inc.\n\npackage prompt\n\nimport (\n\t\"bytes\"\n\t\"os\"\n\t\"unicode/utf8\"\n\t\"unsafe\"\n)\n\n// keyEventType is the key event type for an input record.\nconst keyEventType = 0x0001\n\nvar (\n\treadConsoleInput = kernel.NewProc(\"ReadConsoleInputW\")\n)\n\n// inputRecord describes a input event from a console.\ntype inputRecord struct {\n\teventType uint16\n\t// Magic to get around the union C type, cast\n\t// event to the type using unsafe.Pointer.\n\t_     [2]byte\n\tevent [16]byte\n}\n\n// keyEventRecord describes a keyboard event.\ntype keyEventRecord struct {\n\tkeyDown         int32\n\trepeatCount     uint16\n\tvirtualKeyCode  uint16\n\tvirtualScanCode uint16\n\tchar            uint16\n\tcontrolKeyState uint32\n}\n\n// AnsiReader is an io.Reader that reads from a given file and converts Windows\n// key codes to their equivalent ANSI escape codes.\ntype AnsiReader struct {\n\tfd  uintptr\n\tbuf []rune\n}\n\n// NewAnsiReader creates a AnsiReader from the given input file.\nfunc NewAnsiReader(in *os.File) *AnsiReader {\n\treturn &AnsiReader{fd: in.Fd()}\n}\n\n// Read reads data from the input converting to ANSI escape codes that can be\n// read over multiple Reads.\nfunc (ar *AnsiReader) Read(b []byte) (int, error) {\n\tif len(b) == 0 {\n\t\treturn 0, nil\n\t}\n\n\tif len(ar.buf) == 0 {\n\t\tvar runes []rune\n\t\tvar read uint32\n\t\trec := new(inputRecord)\n\n\t\tfor runes == nil {\n\t\t\tret, _, err := readConsoleInput.Call(ar.fd, uintptr(unsafe.Pointer(rec)),\n\t\t\t\t1, uintptr(unsafe.Pointer(&read)))\n\t\t\tif ret == 0 {\n\t\t\t\treturn 0, err\n\t\t\t}\n\n\t\t\tif rec.eventType != keyEventType {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tke := (*keyEventRecord)(unsafe.Pointer(&rec.event))\n\t\t\tif ke.keyDown == 0 {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tshift := false\n\t\t\tif ke.controlKeyState&shiftKey != 0 {\n\t\t\t\tshift = true\n\t\t\t}\n\n\t\t\tctrl := false\n\t\t\tif ke.controlKeyState&leftCtrlKey != 0 || ke.controlKeyState&rightCtrlKey != 0 {\n\t\t\t\tctrl = true\n\t\t\t}\n\n\t\t\talt := false\n\t\t\tif ke.controlKeyState&leftAltKey != 0 || ke.controlKeyState&rightAltKey != 0 {\n\t\t\t\talt = true\n\t\t\t}\n\n\t\t\t// Backspace, Return, Space.\n\t\t\tif ke.char == ctrlH || ke.char == returnKey || ke.char == spaceKey {\n\t\t\t\tcode := string(returnKey)\n\t\t\t\tif ke.char == ctrlH {\n\t\t\t\t\tcode = string(backKey)\n\t\t\t\t} else if ke.char == spaceKey {\n\t\t\t\t\tcode = string(spaceKey)\n\t\t\t\t}\n\n\t\t\t\tif alt {\n\t\t\t\t\tcode = string(escKey) + code\n\t\t\t\t}\n\n\t\t\t\trunes = []rune(code)\n\t\t\t\tbreak\n\t\t\t}\n\n\t\t\t// Generate runes for the chars and key codes.\n\t\t\tif ke.char > 0 {\n\t\t\t\trunes = []rune{rune(ke.char)}\n\t\t\t} else {\n\t\t\t\tcode := string(escKey)\n\n\t\t\t\tswitch ke.virtualKeyCode {\n\t\t\t\tcase f1Key:\n\t\t\t\t\tif ctrl {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\n\t\t\t\t\tcode += ar.shortFunction(\"P\", shift, ctrl, alt)\n\t\t\t\tcase f2Key:\n\t\t\t\t\tcode += ar.shortFunction(\"Q\", shift, ctrl, alt)\n\t\t\t\tcase f3Key:\n\t\t\t\t\tcode += ar.shortFunction(\"R\", shift, ctrl, alt)\n\t\t\t\tcase f4Key:\n\t\t\t\t\tcode += ar.shortFunction(\"S\", shift, ctrl, alt)\n\t\t\t\tcase f5Key:\n\t\t\t\t\tcode += ar.longFunction(\"15\", shift, ctrl, alt)\n\t\t\t\tcase f6Key:\n\t\t\t\t\tcode += ar.longFunction(\"17\", shift, ctrl, alt)\n\t\t\t\tcase f7Key:\n\t\t\t\t\tcode += ar.longFunction(\"18\", shift, ctrl, alt)\n\t\t\t\tcase f8Key:\n\t\t\t\t\tcode += ar.longFunction(\"19\", shift, ctrl, alt)\n\t\t\t\tcase f9Key:\n\t\t\t\t\tcode += ar.longFunction(\"20\", shift, ctrl, alt)\n\t\t\t\tcase f10Key:\n\t\t\t\t\tcode += ar.longFunction(\"21\", shift, ctrl, alt)\n\t\t\t\tcase f11Key:\n\t\t\t\t\tcode += ar.longFunction(\"23\", shift, ctrl, alt)\n\t\t\t\tcase f12Key:\n\t\t\t\t\tcode += ar.longFunction(\"24\", shift, ctrl, alt)\n\t\t\t\tcase insertKey:\n\t\t\t\t\tif shift || ctrl {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\n\t\t\t\t\tcode += ar.longFunction(\"2\", shift, ctrl, alt)\n\t\t\t\tcase deleteKey:\n\t\t\t\t\tcode += ar.longFunction(\"3\", shift, ctrl, alt)\n\t\t\t\tcase homeKey:\n\t\t\t\t\tcode += \"OH\"\n\t\t\t\tcase endKey:\n\t\t\t\t\tcode += \"OF\"\n\t\t\t\tcase pgupKey:\n\t\t\t\t\tif shift {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\n\t\t\t\t\tcode += ar.longFunction(\"5\", shift, ctrl, alt)\n\t\t\t\tcase pgdownKey:\n\t\t\t\t\tif shift {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\n\t\t\t\t\tcode += ar.longFunction(\"6\", shift, ctrl, alt)\n\t\t\t\tcase upKey:\n\t\t\t\t\tcode += ar.arrow(\"A\", shift, ctrl, alt)\n\t\t\t\tcase downKey:\n\t\t\t\t\tcode += ar.arrow(\"B\", shift, ctrl, alt)\n\t\t\t\tcase leftKey:\n\t\t\t\t\tcode += ar.arrow(\"D\", shift, ctrl, alt)\n\t\t\t\tcase rightKey:\n\t\t\t\t\tcode += ar.arrow(\"C\", shift, ctrl, alt)\n\t\t\t\tdefault:\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t\trunes = []rune(code)\n\t\t\t}\n\t\t}\n\n\t\tar.buf = runes\n\t}\n\n\t// Get items from the buffer.\n\tvar n int\n\tfor i, r := range ar.buf {\n\t\tif utf8.RuneLen(r) > len(b) {\n\t\t\tar.buf = ar.buf[i:]\n\t\t\treturn n, nil\n\t\t}\n\n\t\tnr := utf8.EncodeRune(b, r)\n\t\tb = b[nr:]\n\t\tn += nr\n\t}\n\n\tar.buf = nil\n\treturn n, nil\n}\n\n// shortFunction creates a short function code.\nfunc (ar *AnsiReader) shortFunction(ident string, shift, ctrl, alt bool) string {\n\tcode := \"O\"\n\n\tif shift {\n\t\tcode += \"1;2\"\n\t} else if ctrl {\n\t\tcode += \"1;5\"\n\t} else if alt {\n\t\tcode += \"1;3\"\n\t}\n\n\treturn code + ident\n}\n\n// longFunction creates a long function code.\nfunc (ar *AnsiReader) longFunction(ident string, shift, ctrl, alt bool) string {\n\tcode := \"[\"\n\tcode += ident\n\n\tif shift {\n\t\tcode += \";2\"\n\t} else if ctrl {\n\t\tcode += \";5\"\n\t} else if alt {\n\t\tcode += \";3\"\n\t}\n\n\treturn code + \"~\"\n}\n\n// arrow creates an arrow code.\nfunc (ar *AnsiReader) arrow(ident string, shift, ctrl, alt bool) string {\n\tcode := \"[\"\n\n\tif shift {\n\t\tcode += \"1;2\"\n\t} else if ctrl {\n\t\tcode += \"1;5\"\n\t} else if alt {\n\t\tcode += \"1;3\"\n\t}\n\n\treturn code + ident\n}\n\n// AnsiWriter is an io.Writer that writes to a given file and converts ANSI\n// escape codes to their equivalent Windows functionality.\ntype AnsiWriter struct {\n\tfile *os.File\n\tbuf  []byte\n}\n\n// NewAnsiWriter creates a AnsiWriter from the given output.\nfunc NewAnsiWriter(out *os.File) *AnsiWriter {\n\treturn &AnsiWriter{file: out}\n}\n\n// Write writes the buffer filtering out ANSI escape codes and converting to\n// the Windows functionality needed. ANSI escape codes may be found over multiple\n// Writes.\nfunc (aw *AnsiWriter) Write(b []byte) (int, error) {\n\tneedsProcessing := bytes.Contains(b, []byte(string(escKey)))\n\tif len(aw.buf) > 0 {\n\t\tneedsProcessing = true\n\t}\n\n\tif !needsProcessing {\n\t\treturn aw.file.Write(b)\n\t}\n\tvar p []byte\n\n\tfor _, char := range b {\n\t\t// Found the beginning of an escape.\n\t\tif char == escKey {\n\t\t\taw.buf = append(aw.buf, char)\n\t\t\tcontinue\n\t\t}\n\n\t\t// Function identifiers.\n\t\tif len(aw.buf) == 1 && (char == '_' || char == 'P' || char == '[' ||\n\t\t\tchar == ']' || char == '^' || char == ' ' || char == '#' ||\n\t\t\tchar == '%' || char == '(' || char == ')' || char == '*' ||\n\t\t\tchar == '+') {\n\t\t\taw.buf = append(aw.buf, char)\n\t\t\tcontinue\n\t\t}\n\n\t\t// Cursor functions.\n\t\tif len(aw.buf) == 1 && (char == '7' || char == '8') {\n\t\t\t// Add another char before because finish skips 2 items.\n\t\t\taw.buf = append(aw.buf, '_', char)\n\n\t\t\terr := aw.finish(nil)\n\t\t\tif err != nil {\n\t\t\t\treturn 0, err\n\t\t\t}\n\n\t\t\tcontinue\n\t\t}\n\n\t\t// Keyboard functions.\n\t\tif len(aw.buf) == 1 && (char == '=' || char == '>') {\n\t\t\taw.buf = append(aw.buf, char)\n\n\t\t\terr := aw.finish(nil)\n\t\t\tif err != nil {\n\t\t\t\treturn 0, err\n\t\t\t}\n\n\t\t\tcontinue\n\t\t}\n\n\t\t// Bottom left function.\n\t\tif len(aw.buf) == 1 && char == 'F' {\n\t\t\t// Add extra char for finish.\n\t\t\taw.buf = append(aw.buf, '_', char)\n\n\t\t\terr := aw.finish(nil)\n\t\t\tif err != nil {\n\t\t\t\treturn 0, err\n\t\t\t}\n\n\t\t\tcontinue\n\t\t}\n\n\t\t// Reset function.\n\t\tif len(aw.buf) == 1 && char == 'c' {\n\t\t\t// Add extra char for finish.\n\t\t\taw.buf = append(aw.buf, '_', char)\n\n\t\t\terr := aw.finish(nil)\n\t\t\tif err != nil {\n\t\t\t\treturn 0, err\n\t\t\t}\n\n\t\t\tcontinue\n\t\t}\n\n\t\t// Space functions.\n\t\tif len(aw.buf) >= 2 && aw.buf[1] == ' ' && (char == 'F' || char == 'G' ||\n\t\t\tchar == 'L' || char == 'M' || char == 'N') {\n\t\t\taw.buf = append(aw.buf, char)\n\n\t\t\terr := aw.finish(nil)\n\t\t\tif err != nil {\n\t\t\t\treturn 0, err\n\t\t\t}\n\n\t\t\tcontinue\n\t\t}\n\n\t\t// Number functions.\n\t\tif len(aw.buf) >= 2 && aw.buf[1] == '#' && (char >= '3' && char <= '6') ||\n\t\t\tchar == '8' {\n\t\t\taw.buf = append(aw.buf, char)\n\n\t\t\terr := aw.finish(nil)\n\t\t\tif err != nil {\n\t\t\t\treturn 0, err\n\t\t\t}\n\n\t\t\tcontinue\n\t\t}\n\n\t\t// Percentage functions.\n\t\tif len(aw.buf) >= 2 && aw.buf[1] == '%' && (char == '@' || char == 'G') {\n\t\t\taw.buf = append(aw.buf, char)\n\n\t\t\terr := aw.finish(nil)\n\t\t\tif err != nil {\n\t\t\t\treturn 0, err\n\t\t\t}\n\n\t\t\tcontinue\n\t\t}\n\n\t\t// Character set functions.\n\t\tif len(aw.buf) >= 2 && (aw.buf[1] == '(' || aw.buf[1] == ')' ||\n\t\t\taw.buf[1] == '*' || aw.buf[1] == '+') && (char == '0' ||\n\t\t\t(char >= '4' && char <= '7') || char == '=' || (char >= 'A' &&\n\t\t\tchar <= 'C') || char == 'E' || char == 'H' || char == 'K' ||\n\t\t\tchar == 'Q' || char == 'R' || char == 'Y') {\n\t\t\taw.buf = append(aw.buf, char)\n\n\t\t\terr := aw.finish(nil)\n\t\t\tif err != nil {\n\t\t\t\treturn 0, err\n\t\t\t}\n\n\t\t\tcontinue\n\t\t}\n\n\t\t// APC functions.\n\t\tif len(aw.buf) >= 2 && aw.buf[1] == '_' {\n\t\t\taw.buf = append(aw.buf, char)\n\n\t\t\t// End of APC.\n\t\t\tif char == '\\\\' && aw.buf[len(aw.buf)-1] == escKey {\n\t\t\t\terr := aw.finish(nil)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn 0, err\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcontinue\n\t\t}\n\n\t\t// DC functions.\n\t\tif len(aw.buf) >= 2 && aw.buf[1] == 'P' {\n\t\t\taw.buf = append(aw.buf, char)\n\n\t\t\t// End of DC.\n\t\t\tif char == '\\\\' && aw.buf[len(aw.buf)-1] == escKey {\n\t\t\t\terr := aw.finish(nil)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn 0, err\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcontinue\n\t\t}\n\n\t\t// CSI functions.\n\t\tif len(aw.buf) >= 2 && aw.buf[1] == '[' {\n\t\t\taw.buf = append(aw.buf, char)\n\n\t\t\t// End of CSI.\n\t\t\tif char == '@' || (char >= 'A' && char <= 'M') || char == 'P' ||\n\t\t\t\tchar == 'S' || char == 'T' || char == 'X' || char == 'Z' ||\n\t\t\t\tchar == '`' || (char >= 'b' && char <= 'd') || (char >= 'f' &&\n\t\t\t\tchar <= 'i') || (char >= 'l' && char <= 'n') || (char >= 'p' &&\n\t\t\t\tchar <= 't') || char == 'w' || char == 'x' || char == 'z' ||\n\t\t\t\tchar == '{' || char == '|' {\n\t\t\t\terr := aw.finish(nil)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn 0, err\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcontinue\n\t\t}\n\n\t\t// OSC functions.\n\t\tif len(aw.buf) >= 2 && aw.buf[1] == ']' {\n\t\t\taw.buf = append(aw.buf, char)\n\n\t\t\t// Capture incomplete code.\n\t\t\tif len(aw.buf) == 4 && aw.buf[2] == '0' && char == ';' {\n\t\t\t\terr := aw.finish(nil)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn 0, err\n\t\t\t\t}\n\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// End of OSC.\n\t\t\tif (char == '\\\\' && aw.buf[len(aw.buf)-1] == escKey) || char == ctrlG {\n\t\t\t\terr := aw.finish(nil)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn 0, err\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcontinue\n\t\t}\n\n\t\t// PM functions.\n\t\tif len(aw.buf) >= 2 && aw.buf[1] == '^' {\n\t\t\taw.buf = append(aw.buf, char)\n\n\t\t\t// End of PM.\n\t\t\tif char == '\\\\' && aw.buf[len(aw.buf)-1] == escKey {\n\t\t\t\terr := aw.finish(nil)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn 0, err\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcontinue\n\t\t}\n\n\t\t// Normal character, resets escape buffer.\n\t\tif len(aw.buf) > 0 {\n\t\t\taw.buf = nil\n\t\t}\n\t\tp = append(p, char)\n\t}\n\n\t_, err := aw.file.Write(p)\n\treturn len(b), err\n}\n\n// finish finishes an ANSI escape code and calls the parsing function. Afterwards\n// the escape buffer is emptied.\nfunc (aw *AnsiWriter) finish(parse func([]byte) error) error {\n\tvar err error\n\n\tif parse != nil {\n\t\terr = parse(aw.buf[2:])\n\t}\n\n\taw.buf = nil\n\treturn err\n}\n"
  },
  {
    "path": "vendor/github.com/Bowery/prompt/buffer.go",
    "content": "// Copyright 2013-2015 Bowery, Inc.\n\npackage prompt\n\nimport (\n\t\"os\"\n\t\"unicode/utf8\"\n)\n\n// Buffer contains state for line editing and writing.\ntype Buffer struct {\n\tOut    *os.File\n\tPrompt string\n\tEcho   bool\n\tCols   int\n\tpos    int\n\tsize   int\n\tdata   []rune\n}\n\n// NewBuffer creates a buffer writing to out if echo is true.\nfunc NewBuffer(prompt string, out *os.File, echo bool) *Buffer {\n\treturn &Buffer{\n\t\tOut:    out,\n\t\tPrompt: prompt,\n\t\tEcho:   echo,\n\t}\n}\n\n// String returns the data as a string.\nfunc (buf *Buffer) String() string {\n\treturn string(buf.data[:buf.size])\n}\n\n// Insert inserts characters at the cursors position.\nfunc (buf *Buffer) Insert(rs ...rune) error {\n\trsLen := len(rs)\n\ttotal := buf.size + rsLen\n\n\tif total > len(buf.data) {\n\t\tbuf.data = append(buf.data, make([]rune, rsLen)...)\n\t}\n\n\t// Shift characters to make room in the correct pos.\n\tif buf.size != buf.pos {\n\t\tcopy(buf.data[buf.pos+rsLen:buf.size+rsLen], buf.data[buf.pos:buf.size])\n\t}\n\n\tfor _, r := range rs {\n\t\tbuf.data[buf.pos] = r\n\t\tbuf.pos++\n\t\tbuf.size++\n\t}\n\n\treturn buf.Refresh()\n}\n\n// Set sets the content in the buffer.\nfunc (buf *Buffer) Set(rs ...rune) error {\n\trsLen := len(rs)\n\tbuf.data = rs\n\tbuf.pos = rsLen\n\tbuf.size = rsLen\n\n\treturn buf.Refresh()\n}\n\n// Start moves the cursor to the start.\nfunc (buf *Buffer) Start() error {\n\tif buf.pos <= 0 {\n\t\treturn nil\n\t}\n\n\tbuf.pos = 0\n\treturn buf.Refresh()\n}\n\n// End moves the cursor to the end.\nfunc (buf *Buffer) End() error {\n\tif buf.pos >= buf.size {\n\t\treturn nil\n\t}\n\n\tbuf.pos = buf.size\n\treturn buf.Refresh()\n}\n\n// Left moves the cursor one character left.\nfunc (buf *Buffer) Left() error {\n\tif buf.pos <= 0 {\n\t\treturn nil\n\t}\n\n\tbuf.pos--\n\treturn buf.Refresh()\n}\n\n// Right moves the cursor one character right.\nfunc (buf *Buffer) Right() error {\n\tif buf.pos >= buf.size {\n\t\treturn nil\n\t}\n\n\tbuf.pos++\n\treturn buf.Refresh()\n}\n\n// Del removes the character at the cursor position.\nfunc (buf *Buffer) Del() error {\n\tif buf.pos >= buf.size {\n\t\treturn nil\n\t}\n\n\t// Shift characters after position back one.\n\tcopy(buf.data[buf.pos:], buf.data[buf.pos+1:buf.size])\n\tbuf.size--\n\n\treturn buf.Refresh()\n}\n\n// DelLeft removes the character to the left.\nfunc (buf *Buffer) DelLeft() error {\n\tif buf.pos <= 0 {\n\t\treturn nil\n\t}\n\n\t// Shift characters from position back one.\n\tcopy(buf.data[buf.pos-1:], buf.data[buf.pos:buf.size])\n\tbuf.pos--\n\tbuf.size--\n\n\treturn buf.Refresh()\n}\n\n// EndLine ends the line with CRLF.\nfunc (buf *Buffer) EndLine() error {\n\t_, err := buf.Out.Write(crlf)\n\treturn err\n}\n\n// toBytes converts a slice of runes to its equivalent in bytes.\nfunc toBytes(runes []rune) []byte {\n\tvar bytes []byte\n\tchar := make([]byte, utf8.UTFMax)\n\n\tfor _, r := range runes {\n\t\tn := utf8.EncodeRune(char, r)\n\t\tbytes = append(bytes, char[:n]...)\n\t}\n\n\treturn bytes\n}\n"
  },
  {
    "path": "vendor/github.com/Bowery/prompt/buffer_unix.go",
    "content": "// +build linux darwin freebsd openbsd netbsd dragonfly solaris\n\n// Copyright 2013-2015 Bowery, Inc.\n\npackage prompt\n\nimport (\n\t\"fmt\"\n)\n\n// Refresh rewrites the prompt and buffer.\nfunc (buf *Buffer) Refresh() error {\n\t// If we're not echoing just write prompt.\n\tif !buf.Echo {\n\t\t_, err := buf.Out.Write(mvLeftEdge)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\t_, err = buf.Out.Write([]byte(buf.Prompt))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\t_, err = buf.Out.Write(delRight)\n\t\treturn err\n\t}\n\n\tprLen := len(buf.Prompt)\n\tstart := 0\n\tsize := buf.size\n\tpos := buf.pos\n\n\t// Get slice range that should be visible.\n\tfor prLen+pos >= buf.Cols {\n\t\tstart++\n\t\tsize--\n\t\tpos--\n\t}\n\tfor prLen+size > buf.Cols {\n\t\tsize--\n\t}\n\n\t_, err := buf.Out.Write(mvLeftEdge)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t_, err = buf.Out.Write([]byte(buf.Prompt))\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t_, err = buf.Out.Write(toBytes(buf.data[start : size+start]))\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t_, err = buf.Out.Write(delRight)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t_, err = buf.Out.Write([]byte(fmt.Sprintf(mvToCol, pos+prLen)))\n\treturn err\n}\n\n// ClsScreen clears the screen and refreshes.\nfunc (buf *Buffer) ClsScreen() error {\n\t_, err := buf.Out.Write(clsScreen)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn buf.Refresh()\n}\n"
  },
  {
    "path": "vendor/github.com/Bowery/prompt/buffer_windows.go",
    "content": "// Copyright 2013-2015 Bowery, Inc.\n\npackage prompt\n\nimport (\n\t\"unsafe\"\n)\n\nvar (\n\tfillConsoleOutputCharacter = kernel.NewProc(\"FillConsoleOutputCharacterW\")\n\tsetConsoleCursorPosition   = kernel.NewProc(\"SetConsoleCursorPosition\")\n)\n\n// Refresh rewrites the prompt and buffer.\nfunc (buf *Buffer) Refresh() error {\n\tcsbi := new(consoleScreenBufferInfo)\n\tret, _, err := getConsoleScreenBufferInfo.Call(buf.Out.Fd(),\n\t\tuintptr(unsafe.Pointer(csbi)))\n\tif ret == 0 {\n\t\treturn err\n\t}\n\n\t// If we're not echoing just write prompt.\n\tif !buf.Echo {\n\t\terr = buf.delLine(csbi)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\terr = buf.mvLeftEdge(csbi)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\t_, err = buf.Out.Write([]byte(buf.Prompt))\n\t\treturn err\n\t}\n\n\tprLen := len(buf.Prompt)\n\tstart := 0\n\tsize := buf.size\n\tpos := buf.pos\n\n\t// Get slice range that should be visible.\n\tfor prLen+pos >= buf.Cols {\n\t\tstart++\n\t\tsize--\n\t\tpos--\n\t}\n\tfor prLen+size > buf.Cols {\n\t\tsize--\n\t}\n\n\terr = buf.delLine(csbi)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\terr = buf.mvLeftEdge(csbi)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t_, err = buf.Out.Write([]byte(buf.Prompt))\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t_, err = buf.Out.Write(toBytes(buf.data[start : size+start]))\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn buf.mvToCol(csbi, pos+prLen)\n}\n\n// ClsScreen clears the screen and refreshes.\nfunc (buf *Buffer) ClsScreen() error {\n\tvar written uint32\n\tcoords := new(coord)\n\n\tcsbi := new(consoleScreenBufferInfo)\n\tret, _, err := getConsoleScreenBufferInfo.Call(buf.Out.Fd(),\n\t\tuintptr(unsafe.Pointer(csbi)))\n\tif ret == 0 {\n\t\treturn err\n\t}\n\n\t// Clear everything from 0,0.\n\tret, _, err = fillConsoleOutputCharacter.Call(buf.Out.Fd(), uintptr(' '),\n\t\tuintptr(csbi.size.x*csbi.size.y), uintptr(*(*int32)(unsafe.Pointer(coords))),\n\t\tuintptr(unsafe.Pointer(&written)))\n\tif ret == 0 {\n\t\treturn err\n\t}\n\n\t// Set cursor at 0,0.\n\tret, _, err = setConsoleCursorPosition.Call(buf.Out.Fd(),\n\t\tuintptr(*(*int32)(unsafe.Pointer(coords))))\n\tif ret == 0 {\n\t\treturn err\n\t}\n\n\treturn buf.Refresh()\n}\n\n// delLine deletes the line the csbi cursor is positioned on.\n// TODO: Possible refresh jittering reason, instead we should copy the Unix\n// code and write over contents and then remove everything to the right.\nfunc (buf *Buffer) delLine(csbi *consoleScreenBufferInfo) error {\n\tvar written uint32\n\tcoords := &coord{y: csbi.cursorPosition.y}\n\n\tret, _, err := fillConsoleOutputCharacter.Call(buf.Out.Fd(), uintptr(' '),\n\t\tuintptr(csbi.size.x), uintptr(*(*int32)(unsafe.Pointer(coords))),\n\t\tuintptr(unsafe.Pointer(&written)))\n\tif ret == 0 {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n\n// mvLeftEdge moves the cursor to the beginning of the line the csbi cursor\n// is positioned on.\nfunc (buf *Buffer) mvLeftEdge(csbi *consoleScreenBufferInfo) error {\n\tcoords := &coord{y: csbi.cursorPosition.y}\n\n\tret, _, err := setConsoleCursorPosition.Call(buf.Out.Fd(),\n\t\tuintptr(*(*int32)(unsafe.Pointer(coords))))\n\tif ret == 0 {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n\n// mvTolCol moves the cursor to the col on the line the csbi cursor is\n// positioned on.\nfunc (buf *Buffer) mvToCol(csbi *consoleScreenBufferInfo, x int) error {\n\tcoords := &coord{x: int16(x), y: csbi.cursorPosition.y}\n\n\tret, _, err := setConsoleCursorPosition.Call(buf.Out.Fd(),\n\t\tuintptr(*(*int32)(unsafe.Pointer(coords))))\n\tif ret == 0 {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/github.com/Bowery/prompt/ioctl_bsd.go",
    "content": "// +build darwin freebsd openbsd netbsd dragonfly\n\n// Copyright 2013-2015 Bowery, Inc.\n\npackage prompt\n\nimport (\n\t\"golang.org/x/sys/unix\"\n)\n\nconst (\n\ttcgets  = unix.TIOCGETA\n\ttcsets  = unix.TIOCSETA\n\ttcsetsf = unix.TIOCSETAF\n)\n"
  },
  {
    "path": "vendor/github.com/Bowery/prompt/ioctl_linux.go",
    "content": "// Copyright 2013-2015 Bowery, Inc.\n\npackage prompt\n\nimport (\n\t\"golang.org/x/sys/unix\"\n)\n\nconst (\n\ttcgets  = unix.TCGETS\n\ttcsets  = unix.TCSETS\n\ttcsetsf = unix.TCSETSF\n)\n"
  },
  {
    "path": "vendor/github.com/Bowery/prompt/ioctl_solaris.go",
    "content": "// Copyright 2013-2015 Bowery, Inc.\n\npackage prompt\n\nimport (\n\t\"os\"\n\n\t\"golang.org/x/sys/unix\"\n)\n\nconst (\n\ttcgets  = unix.TCGETS\n\ttcsetsf = unix.TCSETSF\n\ttcsets  = unix.TCSETS\n)\n\n// terminalSize retrieves the cols/rows for the terminal connected to out.\nfunc terminalSize(out *os.File) (int, int, error) {\n\tws, err := unix.IoctlGetWinsize(int(out.Fd()), unix.TIOCGWINSZ)\n\tif err != nil {\n\t\treturn 0, 0, err\n\t}\n\n\treturn int(ws.Col), int(ws.Row), nil\n}\n\n// getTermios retrieves the termios settings for the terminal descriptor.\nfunc getTermios(fd uintptr) (*unix.Termios, error) {\n\treturn unix.IoctlGetTermios(int(fd), tcgets)\n}\n\n// setTermios sets the termios settings for the terminal descriptor,\n// optionally flushing the buffer before setting.\nfunc setTermios(fd uintptr, flush bool, mode *unix.Termios) error {\n\treq := tcsets\n\tif flush {\n\t\treq = tcsetsf\n\t}\n\n\treturn unix.IoctlSetTermios(int(fd), uint(req), mode)\n}\n"
  },
  {
    "path": "vendor/github.com/Bowery/prompt/ioctl_unix.go",
    "content": "// +build linux darwin freebsd openbsd netbsd dragonfly\n\n// Copyright 2013-2015 Bowery, Inc.\n\npackage prompt\n\nimport (\n\t\"os\"\n\t\"unsafe\"\n\n\t\"golang.org/x/sys/unix\"\n)\n\n// winsize contains the size for the terminal.\ntype winsize struct {\n\trows uint16\n\tcols uint16\n\t_    uint32\n}\n\n// terminalSize retrieves the cols/rows for the terminal connected to out.\nfunc terminalSize(out *os.File) (int, int, error) {\n\tws := new(winsize)\n\n\t_, _, err := unix.Syscall(unix.SYS_IOCTL, out.Fd(),\n\t\tuintptr(unix.TIOCGWINSZ), uintptr(unsafe.Pointer(ws)))\n\tif err != 0 {\n\t\treturn 0, 0, err\n\t}\n\n\treturn int(ws.cols), int(ws.rows), nil\n}\n\n// getTermios retrieves the termios settings for the terminal descriptor.\nfunc getTermios(fd uintptr) (*unix.Termios, error) {\n\ttermios := new(unix.Termios)\n\n\t_, _, err := unix.Syscall(unix.SYS_IOCTL, fd, tcgets,\n\t\tuintptr(unsafe.Pointer(termios)))\n\tif err != 0 {\n\t\treturn nil, err\n\t}\n\n\treturn termios, nil\n}\n\n// setTermios sets the termios settings for the terminal descriptor,\n// optionally flushing the buffer before setting.\nfunc setTermios(fd uintptr, flush bool, mode *unix.Termios) error {\n\treq := int64(tcsets)\n\tif flush {\n\t\treq = int64(tcsetsf)\n\t}\n\n\t_, _, err := unix.Syscall(unix.SYS_IOCTL, fd, uintptr(req),\n\t\tuintptr(unsafe.Pointer(mode)))\n\tif err != 0 {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/github.com/Bowery/prompt/keys.go",
    "content": "// Copyright 2013-2015 Bowery, Inc.\n\npackage prompt\n\n// Line ending in raw mode.\nvar crlf = []byte(\"\\r\\n\")\n\nconst (\n\tbackKey  = '\\u007f'\n\tescKey   = '\\u001B'\n\tspaceKey = '\\u0020'\n)\n\nconst (\n\tctrlA = iota + 1\n\tctrlB\n\tctrlC\n\tctrlD\n\tctrlE\n\tctrlF\n\tctrlG\n\tctrlH\n\ttabKey\n\tctrlJ\n\tctrlK\n\tctrlL\n\treturnKey\n\tctrlN\n\tctrlO\n\tctrlP\n\tctrlQ\n\tctrlR\n\tctrlS\n\tctrlT\n\tctrlU\n\tctrlV\n\tctrlW\n\tctrlX\n\tctrlY\n\tctrlZ\n)\n"
  },
  {
    "path": "vendor/github.com/Bowery/prompt/keys_unix.go",
    "content": "// +build linux darwin freebsd openbsd netbsd dragonfly solaris\n\n// Copyright 2013-2015 Bowery, Inc.\n\npackage prompt\n\nconst mvToCol = \"\\u001b[0G\\u001b[%dC\"\n\nvar (\n\tmvLeftEdge = []byte(\"\\u001b[0G\")\n\tclsScreen  = []byte(\"\\u001b[H\\u001b[2J\")\n\tdelRight   = []byte(\"\\u001b[0K\")\n)\n"
  },
  {
    "path": "vendor/github.com/Bowery/prompt/keys_windows.go",
    "content": "// Copyright 2013-2015 Bowery, Inc.\n\npackage prompt\n\nconst (\n\tf1Key = 0x70 + iota\n\tf2Key\n\tf3Key\n\tf4Key\n\tf5Key\n\tf6Key\n\tf7Key\n\tf8Key\n\tf9Key\n\tf10Key\n\tf11Key\n\tf12Key\n\n\thomeKey      = 0x24\n\tendKey       = 0x23\n\tupKey        = 0x26\n\tdownKey      = 0x28\n\trightKey     = 0x27\n\tleftKey      = 0x25\n\tinsertKey    = 0x2d\n\tpgupKey      = 0x21\n\tpgdownKey    = 0x22\n\tdeleteKey    = 0x2e\n\tleftAltKey   = 0x2\n\trightAltKey  = 0x1\n\tleftCtrlKey  = 0x8\n\trightCtrlKey = 0x4\n\tshiftKey     = 0x10\n)\n"
  },
  {
    "path": "vendor/github.com/Bowery/prompt/prompt.go",
    "content": "// Copyright 2013-2015 Bowery, Inc.\n\n// Package prompt implements a cross platform line-editing prompt. It also\n// provides routines to use ANSI escape sequences across platforms for\n// terminal connected io.Readers/io.Writers.\n//\n// If os.Stdin isn't connected to a terminal or (on Unix)if the terminal\n// doesn't support the ANSI escape sequences needed a fallback prompt is\n// provided that doesn't do line-editing. Unix terminals that are not supported\n// will have the TERM environment variable set to either \"dumb\" or \"cons25\".\n//\n// The keyboard shortcuts are similar to those found in the Readline library:\n//\n//   - Enter / CTRL+D\n//     - End the line.\n//   - CTRL+C\n//     - End the line, return error `ErrCTRLC`.\n//   - Backspace\n//     - Remove the character to the left.\n//   - CTRL+L\n//     - Clear the screen(keeping the current lines content).\n//   - Home / End\n//     - Jump to the beginning/end of the line.\n//   - Up arrow / Down arrow\n//     - Go back and forward in the history.\n//   - Left arrow / Right arrow\n//     - Move left/right one character.\n//   - Delete\n//     - Remove the character to the right.\npackage prompt\n\n// Basic is a wrapper around Terminal.Basic.\nfunc Basic(prefix string, required bool) (string, error) {\n\tterm, err := NewTerminal()\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tdefer term.Close()\n\n\treturn term.Basic(prefix, required)\n}\n\n// BasicDefault is a wrapper around Terminal.BasicDefault.\nfunc BasicDefault(prefix, def string) (string, error) {\n\tterm, err := NewTerminal()\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tdefer term.Close()\n\n\treturn term.BasicDefault(prefix, def)\n}\n\n// Ask is a wrapper around Terminal.Ask.\nfunc Ask(question string) (bool, error) {\n\tterm, err := NewTerminal()\n\tif err != nil {\n\t\treturn false, err\n\t}\n\tdefer term.Close()\n\n\treturn term.Ask(question)\n}\n\n// Custom is a wrapper around Terminal.Custom.\nfunc Custom(prefix string, test func(string) (string, bool)) (string, error) {\n\tterm, err := NewTerminal()\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tdefer term.Close()\n\n\treturn term.Custom(prefix, test)\n}\n\n// Password is a wrapper around Terminal.Password.\nfunc Password(prefix string) (string, error) {\n\tterm, err := NewTerminal()\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tdefer term.Close()\n\n\treturn term.Password(prefix)\n}\n"
  },
  {
    "path": "vendor/github.com/Bowery/prompt/term.go",
    "content": "// Copyright 2013-2015 Bowery, Inc.\n\npackage prompt\n\nimport (\n\t\"bufio\"\n\t\"errors\"\n\t\"io\"\n\t\"os\"\n\t\"strings\"\n)\n\nvar (\n\t// ErrCTRLC is returned when CTRL+C is pressed stopping the prompt.\n\tErrCTRLC = errors.New(\"Interrupted (CTRL+C)\")\n\t// ErrEOF is returned when CTRL+D is pressed stopping the prompt.\n\tErrEOF = errors.New(\"EOF (CTRL+D)\")\n)\n\n// Possible events that may occur when reading from input.\nconst (\n\tevChar = iota\n\tevSkip\n\tevReturn\n\tevEOF\n\tevCtrlC\n\tevBack\n\tevClear\n\tevHome\n\tevEnd\n\tevUp\n\tevDown\n\tevRight\n\tevLeft\n\tevDel\n)\n\n// IsNotTerminal checks if an error is related to the input not being a terminal.\nfunc IsNotTerminal(err error) bool {\n\treturn isNotTerminal(err)\n}\n\n// TerminalSize retrieves the columns/rows for the terminal connected to out.\nfunc TerminalSize(out *os.File) (int, int, error) {\n\treturn terminalSize(out)\n}\n\n// Terminal contains the state for raw terminal input.\ntype Terminal struct {\n\tIn           *os.File\n\tOut          *os.File\n\tHistory      []string\n\thistIdx      int\n\tsimpleReader *bufio.Reader\n\tt            *terminal\n}\n\n// NewTerminal creates a terminal and sets it to raw input mode.\nfunc NewTerminal() (*Terminal, error) {\n\tin := os.Stdin\n\n\tterm, err := newTerminal(in)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\treturn &Terminal{\n\t\tIn:      in,\n\t\tOut:     os.Stdout,\n\t\tHistory: make([]string, 0, 10),\n\t\thistIdx: -1,\n\t\tt:       term,\n\t}, nil\n}\n\n// Basic gets input and if required tests to ensure input was given.\nfunc (term *Terminal) Basic(prefix string, required bool) (string, error) {\n\treturn term.Custom(prefix, func(input string) (string, bool) {\n\t\tif required && input == \"\" {\n\t\t\treturn \"\", false\n\t\t}\n\n\t\treturn input, true\n\t})\n}\n\n// BasicDefault gets input and if empty uses the given default.\nfunc (term *Terminal) BasicDefault(prefix, def string) (string, error) {\n\treturn term.Custom(prefix+\" (Default: \"+def+\")\", func(input string) (string, bool) {\n\t\tif input == \"\" {\n\t\t\tinput = def\n\t\t}\n\n\t\treturn input, true\n\t})\n}\n\n// Ask gets input and checks if it's truthy or not, and returns that\n// in a boolean fashion.\nfunc (term *Terminal) Ask(question string) (bool, error) {\n\tinput, err := term.Custom(question+\"? (y/n)\", func(input string) (string, bool) {\n\t\tif input == \"\" {\n\t\t\treturn \"\", false\n\t\t}\n\t\tinput = strings.ToLower(input)\n\n\t\tif input == \"y\" || input == \"yes\" {\n\t\t\treturn \"yes\", true\n\t\t}\n\n\t\treturn \"\", true\n\t})\n\n\tvar ok bool\n\tif input != \"\" {\n\t\tok = true\n\t}\n\n\treturn ok, err\n}\n\n// Custom gets input and calls the given test function with the input to\n// check if the input is valid, a true return will return the string.\nfunc (term *Terminal) Custom(prefix string, test func(string) (string, bool)) (string, error) {\n\tvar err error\n\tvar input string\n\tvar ok bool\n\n\tfor !ok {\n\t\tinput, err = term.GetPrompt(prefix)\n\t\tif err != nil && err != io.EOF {\n\t\t\treturn \"\", err\n\t\t}\n\n\t\tinput, ok = test(input)\n\t}\n\n\treturn input, nil\n}\n\n// Password retrieves a password from stdin without echoing it.\nfunc (term *Terminal) Password(prefix string) (string, error) {\n\tvar err error\n\tvar input string\n\n\tfor input == \"\" {\n\t\tinput, err = term.GetPassword(prefix)\n\t\tif err != nil && err != io.EOF {\n\t\t\treturn \"\", err\n\t\t}\n\t}\n\n\treturn input, nil\n}\n\n// GetPrompt gets a line with the prefix and echos input.\nfunc (term *Terminal) GetPrompt(prefix string) (string, error) {\n\tprefix += \" \"\n\n\tif !term.t.supportsEditing {\n\t\treturn term.simplePrompt(prefix)\n\t}\n\n\tbuf := NewBuffer(prefix, term.Out, true)\n\treturn term.prompt(buf, NewAnsiReader(term.In))\n}\n\n// GetPassword gets a line with the prefix and doesn't echo input.\nfunc (term *Terminal) GetPassword(prefix string) (string, error) {\n\tprefix += \" \"\n\n\tif !term.t.supportsEditing {\n\t\treturn term.simplePrompt(prefix)\n\t}\n\n\tbuf := NewBuffer(prefix, term.Out, false)\n\treturn term.password(buf, NewAnsiReader(term.In))\n}\n\n// Close calls close on the internal terminal.\nfunc (term *Terminal) Close() error {\n\treturn term.t.Close()\n}\n\n// Reopen re-opens an internal terminal.\nfunc (term *Terminal) Reopen() error {\n\tin := os.Stdin\n\n\tt, err := newTerminal(in)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tterm.t = t\n\treturn nil\n}\n\n// simplePrompt is a fallback prompt without line editing support.\nfunc (term *Terminal) simplePrompt(prefix string) (string, error) {\n\tif term.simpleReader == nil {\n\t\tterm.simpleReader = bufio.NewReader(term.In)\n\t}\n\n\t_, err := term.Out.Write([]byte(prefix))\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\n\tline, err := term.simpleReader.ReadString('\\n')\n\tline = strings.TrimRight(line, \"\\r\\n \")\n\tline = strings.TrimLeft(line, \" \")\n\n\treturn line, err\n}\n\n// setup initializes a prompt.\nfunc (term *Terminal) setup(buf *Buffer, in io.Reader) (*bufio.Reader, error) {\n\tcols, _, err := TerminalSize(buf.Out)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tbuf.Cols = cols\n\tinput := bufio.NewReader(in)\n\n\terr = buf.Refresh()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\treturn input, nil\n}\n\n// read reads a rune and parses ANSI escape sequences found\nfunc (term *Terminal) read(in *bufio.Reader) (int, rune, error) {\n\tchar, _, err := in.ReadRune()\n\tif err != nil {\n\t\treturn 0, 0, err\n\t}\n\n\tswitch char {\n\tdefault:\n\t\t// Standard chars.\n\t\treturn evChar, char, nil\n\tcase tabKey, ctrlA, ctrlB, ctrlE, ctrlF, ctrlG, ctrlH, ctrlJ, ctrlK, ctrlN,\n\t\tctrlO, ctrlP, ctrlQ, ctrlR, ctrlS, ctrlT, ctrlU, ctrlV, ctrlW, ctrlX,\n\t\tctrlY, ctrlZ:\n\t\t// Skip.\n\t\treturn evSkip, char, nil\n\tcase returnKey:\n\t\t// End of line.\n\t\treturn evReturn, char, nil\n\tcase ctrlD:\n\t\t// End of file.\n\t\treturn evEOF, char, nil\n\tcase ctrlC:\n\t\t// End of line, interrupted.\n\t\treturn evCtrlC, char, nil\n\tcase backKey:\n\t\t// Backspace.\n\t\treturn evBack, char, nil\n\tcase ctrlL:\n\t\t// Clear screen.\n\t\treturn evClear, char, nil\n\tcase escKey:\n\t\t// Functions like arrows, home, etc.\n\t\tesc := make([]byte, 2)\n\t\t_, err = in.Read(esc)\n\t\tif err != nil {\n\t\t\treturn -1, char, err\n\t\t}\n\n\t\t// Home, end.\n\t\tif esc[0] == 'O' {\n\t\t\tswitch esc[1] {\n\t\t\tcase 'H':\n\t\t\t\t// Home.\n\t\t\t\treturn evHome, char, nil\n\t\t\tcase 'F':\n\t\t\t\t// End.\n\t\t\t\treturn evEnd, char, nil\n\t\t\t}\n\n\t\t\treturn evSkip, char, nil\n\t\t}\n\n\t\t// Arrows, delete, pgup, pgdown, insert.\n\t\tif esc[0] == '[' {\n\t\t\tswitch esc[1] {\n\t\t\tcase 'A':\n\t\t\t\t// Up.\n\t\t\t\treturn evUp, char, nil\n\t\t\tcase 'B':\n\t\t\t\t// Down.\n\t\t\t\treturn evDown, char, nil\n\t\t\tcase 'C':\n\t\t\t\t// Right.\n\t\t\t\treturn evRight, char, nil\n\t\t\tcase 'D':\n\t\t\t\t// Left.\n\t\t\t\treturn evLeft, char, nil\n\t\t\t}\n\n\t\t\t// Delete, pgup, pgdown, insert.\n\t\t\tif esc[1] > '0' && esc[1] < '7' {\n\t\t\t\textEsc := make([]byte, 3)\n\t\t\t\t_, err = in.Read(extEsc)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn -1, char, err\n\t\t\t\t}\n\n\t\t\t\tif extEsc[0] == '~' {\n\t\t\t\t\tswitch esc[1] {\n\t\t\t\t\tcase '2', '5', '6':\n\t\t\t\t\t\t// Insert, pgup, pgdown.\n\t\t\t\t\t\treturn evSkip, char, err\n\t\t\t\t\tcase '3':\n\t\t\t\t\t\t// Delete.\n\t\t\t\t\t\treturn evDel, char, err\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn evSkip, char, nil\n}\n\n// prompt reads from in and parses ANSI escapes writing to buf.\nfunc (term *Terminal) prompt(buf *Buffer, in io.Reader) (string, error) {\n\tinput, err := term.setup(buf, in)\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tterm.History = append(term.History, \"\")\n\tterm.histIdx = len(term.History) - 1\n\tcurHistIdx := term.histIdx\n\n\tfor {\n\t\ttyp, char, err := term.read(input)\n\t\tif err != nil {\n\t\t\treturn buf.String(), err\n\t\t}\n\n\t\tswitch typ {\n\t\tcase evChar:\n\t\t\terr = buf.Insert(char)\n\t\t\tif err != nil {\n\t\t\t\treturn buf.String(), err\n\t\t\t}\n\n\t\t\tterm.History[curHistIdx] = buf.String()\n\t\tcase evSkip:\n\t\t\tcontinue\n\t\tcase evReturn:\n\t\t\terr = buf.EndLine()\n\t\t\tif err != nil {\n\t\t\t\treturn buf.String(), err\n\t\t\t}\n\n\t\t\tline := buf.String()\n\t\t\tif line == \"\" {\n\t\t\t\tterm.histIdx = curHistIdx - 1\n\t\t\t\tterm.History = term.History[:curHistIdx]\n\t\t\t} else {\n\t\t\t\tterm.History[curHistIdx] = line\n\t\t\t}\n\n\t\t\treturn line, nil\n\t\tcase evEOF:\n\t\t\terr = buf.EndLine()\n\t\t\tif err == nil {\n\t\t\t\terr = ErrEOF\n\t\t\t}\n\n\t\t\treturn buf.String(), err\n\t\tcase evCtrlC:\n\t\t\terr = buf.EndLine()\n\t\t\tif err == nil {\n\t\t\t\terr = ErrCTRLC\n\t\t\t}\n\n\t\t\treturn buf.String(), err\n\t\tcase evBack:\n\t\t\terr = buf.DelLeft()\n\t\t\tif err != nil {\n\t\t\t\treturn buf.String(), err\n\t\t\t}\n\n\t\t\tterm.History[curHistIdx] = buf.String()\n\t\tcase evClear:\n\t\t\terr = buf.ClsScreen()\n\t\t\tif err != nil {\n\t\t\t\treturn buf.String(), err\n\t\t\t}\n\t\tcase evHome:\n\t\t\terr = buf.Start()\n\t\t\tif err != nil {\n\t\t\t\treturn buf.String(), err\n\t\t\t}\n\t\tcase evEnd:\n\t\t\terr = buf.End()\n\t\t\tif err != nil {\n\t\t\t\treturn buf.String(), err\n\t\t\t}\n\t\tcase evUp:\n\t\t\tidx := term.histIdx\n\t\t\tif term.histIdx > 0 {\n\t\t\t\tidx--\n\t\t\t}\n\n\t\t\terr = buf.Set([]rune(term.History[idx])...)\n\t\t\tif err != nil {\n\t\t\t\treturn buf.String(), err\n\t\t\t}\n\n\t\t\tterm.histIdx = idx\n\t\tcase evDown:\n\t\t\tidx := term.histIdx\n\t\t\tif term.histIdx < len(term.History)-1 {\n\t\t\t\tidx++\n\t\t\t}\n\n\t\t\terr = buf.Set([]rune(term.History[idx])...)\n\t\t\tif err != nil {\n\t\t\t\treturn buf.String(), err\n\t\t\t}\n\n\t\t\tterm.histIdx = idx\n\t\tcase evRight:\n\t\t\terr = buf.Right()\n\t\t\tif err != nil {\n\t\t\t\treturn buf.String(), err\n\t\t\t}\n\t\tcase evLeft:\n\t\t\terr = buf.Left()\n\t\t\tif err != nil {\n\t\t\t\treturn buf.String(), err\n\t\t\t}\n\t\tcase evDel:\n\t\t\terr = buf.Del()\n\t\t\tif err != nil {\n\t\t\t\treturn buf.String(), err\n\t\t\t}\n\n\t\t\tterm.History[curHistIdx] = buf.String()\n\t\t}\n\t}\n}\n\n// password reads from in and parses restricted ANSI escapes writing to buf.\nfunc (term *Terminal) password(buf *Buffer, in io.Reader) (string, error) {\n\tinput, err := term.setup(buf, in)\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\n\tfor {\n\t\ttyp, char, err := term.read(input)\n\t\tif err != nil {\n\t\t\treturn buf.String(), err\n\t\t}\n\n\t\tswitch typ {\n\t\tcase evChar:\n\t\t\terr = buf.Insert(char)\n\t\t\tif err != nil {\n\t\t\t\treturn buf.String(), err\n\t\t\t}\n\t\tcase evSkip, evHome, evEnd, evUp, evDown, evRight, evLeft, evDel:\n\t\t\tcontinue\n\t\tcase evReturn:\n\t\t\terr = buf.EndLine()\n\t\t\treturn buf.String(), err\n\t\tcase evEOF:\n\t\t\terr = buf.EndLine()\n\t\t\tif err == nil {\n\t\t\t\terr = ErrEOF\n\t\t\t}\n\n\t\t\treturn buf.String(), err\n\t\tcase evCtrlC:\n\t\t\terr = buf.EndLine()\n\t\t\tif err == nil {\n\t\t\t\terr = ErrCTRLC\n\t\t\t}\n\n\t\t\treturn buf.String(), err\n\t\tcase evBack:\n\t\t\terr = buf.DelLeft()\n\t\t\tif err != nil {\n\t\t\t\treturn buf.String(), err\n\t\t\t}\n\t\tcase evClear:\n\t\t\terr = buf.ClsScreen()\n\t\t\tif err != nil {\n\t\t\t\treturn buf.String(), err\n\t\t\t}\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/Bowery/prompt/term_unix.go",
    "content": "// +build linux darwin freebsd openbsd netbsd dragonfly solaris\n\n// Copyright 2013-2015 Bowery, Inc.\n\npackage prompt\n\nimport (\n\t\"os\"\n\n\t\"golang.org/x/sys/unix\"\n)\n\n// List of unsupported $TERM values.\nvar unsupported = []string{\"\", \"dumb\", \"cons25\"}\n\n// supportsEditing checks if the terminal supports ansi escapes.\nfunc supportsEditing() bool {\n\tterm := os.Getenv(\"TERM\")\n\n\tfor _, t := range unsupported {\n\t\tif t == term {\n\t\t\treturn false\n\t\t}\n\t}\n\n\treturn true\n}\n\n// isNotTerminal checks if an error is related to the input not being a terminal.\nfunc isNotTerminal(err error) bool {\n\treturn err == unix.ENOTTY\n}\n\n// terminal contains the private fields for a Unix terminal.\ntype terminal struct {\n\tsupportsEditing bool\n\tfd              uintptr\n\torigMode        unix.Termios\n}\n\n// newTerminal creates a terminal and sets it to raw input mode.\nfunc newTerminal(in *os.File) (*terminal, error) {\n\tterm := &terminal{fd: in.Fd()}\n\n\tif !supportsEditing() {\n\t\treturn term, nil\n\t}\n\n\tt, err := getTermios(term.fd)\n\tif err != nil {\n\t\tif IsNotTerminal(err) {\n\t\t\treturn term, nil\n\t\t}\n\n\t\treturn nil, err\n\t}\n\tterm.origMode = *t\n\tmode := term.origMode\n\tterm.supportsEditing = true\n\n\t// Set new mode flags, for reference see cfmakeraw(3).\n\tmode.Iflag &^= (unix.BRKINT | unix.IGNBRK | unix.ICRNL |\n\t\tunix.INLCR | unix.IGNCR | unix.ISTRIP | unix.IXON |\n\t\tunix.PARMRK)\n\n\tmode.Oflag &^= unix.OPOST\n\n\tmode.Lflag &^= (unix.ECHO | unix.ECHONL | unix.ICANON |\n\t\tunix.ISIG | unix.IEXTEN)\n\n\tmode.Cflag &^= (unix.CSIZE | unix.PARENB)\n\tmode.Cflag |= unix.CS8\n\n\t// Set controls; min num of bytes, and timeouts.\n\tmode.Cc[unix.VMIN] = 1\n\tmode.Cc[unix.VTIME] = 0\n\n\terr = setTermios(term.fd, true, &mode)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\treturn term, nil\n}\n\n// Close disables the terminals raw input.\nfunc (term *terminal) Close() error {\n\tif term.supportsEditing {\n\t\terr := setTermios(term.fd, false, &term.origMode)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/github.com/Bowery/prompt/term_windows.go",
    "content": "// Copyright 2013-2015 Bowery, Inc.\n\npackage prompt\n\nimport (\n\t\"os\"\n\t\"syscall\"\n\t\"unsafe\"\n)\n\n// Flags to control the terminals mode.\nconst (\n\techoInputFlag      = 0x0004\n\tinsertModeFlag     = 0x0020\n\tlineInputFlag      = 0x0002\n\tmouseInputFlag     = 0x0010\n\tprocessedInputFlag = 0x0001\n\twindowInputFlag    = 0x0008\n)\n\n// Error number returned for an invalid handle.\nconst errnoInvalidHandle = 0x6\n\nvar (\n\tkernel                     = syscall.NewLazyDLL(\"kernel32.dll\")\n\tgetConsoleScreenBufferInfo = kernel.NewProc(\"GetConsoleScreenBufferInfo\")\n\tsetConsoleMode             = kernel.NewProc(\"SetConsoleMode\")\n)\n\n// consoleScreenBufferInfo contains various fields for the terminal.\ntype consoleScreenBufferInfo struct {\n\tsize              coord\n\tcursorPosition    coord\n\tattributes        uint16\n\twindow            smallRect\n\tmaximumWindowSize coord\n}\n\n// coord contains coords for positioning.\ntype coord struct {\n\tx int16\n\ty int16\n}\n\n// smallRect contains positions for the window edges.\ntype smallRect struct {\n\tleft   int16\n\ttop    int16\n\tright  int16\n\tbottom int16\n}\n\n// terminalSize retrieves the cols/rows for the terminal connected to out.\nfunc terminalSize(out *os.File) (int, int, error) {\n\tcsbi := new(consoleScreenBufferInfo)\n\n\tret, _, err := getConsoleScreenBufferInfo.Call(out.Fd(), uintptr(unsafe.Pointer(csbi)))\n\tif ret == 0 {\n\t\treturn 0, 0, err\n\t}\n\n\t// Results are always off by one.\n\tcols := csbi.window.right - csbi.window.left + 1\n\trows := csbi.window.bottom - csbi.window.top + 1\n\n\treturn int(cols), int(rows), nil\n}\n\n// isNotTerminal checks if an error is related to the input not being a terminal.\nfunc isNotTerminal(err error) bool {\n\terrno, ok := err.(syscall.Errno)\n\n\treturn ok && errno == errnoInvalidHandle\n}\n\n// terminal contains the private fields for a Windows terminal.\ntype terminal struct {\n\tsupportsEditing bool\n\tfd              uintptr\n\torigMode        uint32\n}\n\n// newTerminal creates a terminal and sets it to raw input mode.\nfunc newTerminal(in *os.File) (*terminal, error) {\n\tterm := &terminal{fd: in.Fd()}\n\n\terr := syscall.GetConsoleMode(syscall.Handle(term.fd), &term.origMode)\n\tif err != nil {\n\t\treturn term, nil\n\t}\n\tmode := term.origMode\n\tterm.supportsEditing = true\n\n\t// Set new mode flags.\n\tmode &^= (echoInputFlag | insertModeFlag | lineInputFlag | mouseInputFlag |\n\t\tprocessedInputFlag | windowInputFlag)\n\n\tret, _, err := setConsoleMode.Call(term.fd, uintptr(mode))\n\tif ret == 0 {\n\t\treturn nil, err\n\t}\n\n\treturn term, nil\n}\n\n// Close disables the terminals raw input.\nfunc (term *terminal) Close() error {\n\tif term.supportsEditing {\n\t\tret, _, err := setConsoleMode.Call(term.fd, uintptr(term.origMode))\n\t\tif ret == 0 {\n\t\t\treturn err\n\t\t}\n\t}\n\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/github.com/armon/go-metrics/.gitignore",
    "content": "# Compiled Object files, Static and Dynamic libs (Shared Objects)\n*.o\n*.a\n*.so\n\n# Folders\n_obj\n_test\n\n# Architecture specific extensions/prefixes\n*.[568vq]\n[568vq].out\n\n*.cgo1.go\n*.cgo2.c\n_cgo_defun.c\n_cgo_gotypes.go\n_cgo_export.*\n\n_testmain.go\n\n*.exe\n\n/metrics.out\n"
  },
  {
    "path": "vendor/github.com/armon/go-metrics/LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2013 Armon Dadgar\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"
  },
  {
    "path": "vendor/github.com/armon/go-metrics/README.md",
    "content": "go-metrics\n==========\n\nThis library provides a `metrics` package which can be used to instrument code,\nexpose application metrics, and profile runtime performance in a flexible manner.\n\nCurrent API: [![GoDoc](https://godoc.org/github.com/armon/go-metrics?status.svg)](https://godoc.org/github.com/armon/go-metrics)\n\nSinks\n-----\n\nThe `metrics` package makes use of a `MetricSink` interface to support delivery\nto any type of backend. Currently the following sinks are provided:\n\n* StatsiteSink : Sinks to a [statsite](https://github.com/armon/statsite/) instance (TCP)\n* StatsdSink: Sinks to a [StatsD](https://github.com/etsy/statsd/) / statsite instance (UDP)\n* PrometheusSink: Sinks to a [Prometheus](http://prometheus.io/) metrics endpoint (exposed via HTTP for scrapes)\n* InmemSink : Provides in-memory aggregation, can be used to export stats\n* FanoutSink : Sinks to multiple sinks. Enables writing to multiple statsite instances for example.\n* BlackholeSink : Sinks to nowhere\n\nIn addition to the sinks, the `InmemSignal` can be used to catch a signal,\nand dump a formatted output of recent metrics. For example, when a process gets\na SIGUSR1, it can dump to stderr recent performance metrics for debugging.\n\nLabels\n------\n\nMost metrics do have an equivalent ending with `WithLabels`, such methods\nallow to push metrics with labels and use some features of underlying Sinks\n(ex: translated into Prometheus labels).\n\nSince some of these labels may increase greatly cardinality of metrics, the\nlibrary allow to filter labels using a blacklist/whitelist filtering system\nwhich is global to all metrics.\n\n* If `Config.AllowedLabels` is not nil, then only labels specified in this value will be sent to underlying Sink, otherwise, all labels are sent by default.\n* If `Config.BlockedLabels` is not nil, any label specified in this value will not be sent to underlying Sinks.\n\nBy default, both `Config.AllowedLabels` and `Config.BlockedLabels` are nil, meaning that\nno tags are filetered at all, but it allow to a user to globally block some tags with high\ncardinality at application level.\n\nExamples\n--------\n\nHere is an example of using the package:\n\n```go\nfunc SlowMethod() {\n    // Profiling the runtime of a method\n    defer metrics.MeasureSince([]string{\"SlowMethod\"}, time.Now())\n}\n\n// Configure a statsite sink as the global metrics sink\nsink, _ := metrics.NewStatsiteSink(\"statsite:8125\")\nmetrics.NewGlobal(metrics.DefaultConfig(\"service-name\"), sink)\n\n// Emit a Key/Value pair\nmetrics.EmitKey([]string{\"questions\", \"meaning of life\"}, 42)\n```\n\nHere is an example of setting up a signal handler:\n\n```go\n// Setup the inmem sink and signal handler\ninm := metrics.NewInmemSink(10*time.Second, time.Minute)\nsig := metrics.DefaultInmemSignal(inm)\nmetrics.NewGlobal(metrics.DefaultConfig(\"service-name\"), inm)\n\n// Run some code\ninm.SetGauge([]string{\"foo\"}, 42)\ninm.EmitKey([]string{\"bar\"}, 30)\n\ninm.IncrCounter([]string{\"baz\"}, 42)\ninm.IncrCounter([]string{\"baz\"}, 1)\ninm.IncrCounter([]string{\"baz\"}, 80)\n\ninm.AddSample([]string{\"method\", \"wow\"}, 42)\ninm.AddSample([]string{\"method\", \"wow\"}, 100)\ninm.AddSample([]string{\"method\", \"wow\"}, 22)\n\n....\n```\n\nWhen a signal comes in, output like the following will be dumped to stderr:\n\n    [2014-01-28 14:57:33.04 -0800 PST][G] 'foo': 42.000\n    [2014-01-28 14:57:33.04 -0800 PST][P] 'bar': 30.000\n    [2014-01-28 14:57:33.04 -0800 PST][C] 'baz': Count: 3 Min: 1.000 Mean: 41.000 Max: 80.000 Stddev: 39.509\n    [2014-01-28 14:57:33.04 -0800 PST][S] 'method.wow': Count: 3 Min: 22.000 Mean: 54.667 Max: 100.000 Stddev: 40.513"
  },
  {
    "path": "vendor/github.com/armon/go-metrics/const_unix.go",
    "content": "// +build !windows\n\npackage metrics\n\nimport (\n\t\"syscall\"\n)\n\nconst (\n\t// DefaultSignal is used with DefaultInmemSignal\n\tDefaultSignal = syscall.SIGUSR1\n)\n"
  },
  {
    "path": "vendor/github.com/armon/go-metrics/const_windows.go",
    "content": "// +build windows\n\npackage metrics\n\nimport (\n\t\"syscall\"\n)\n\nconst (\n\t// DefaultSignal is used with DefaultInmemSignal\n\t// Windows has no SIGUSR1, use SIGBREAK\n\tDefaultSignal = syscall.Signal(21)\n)\n"
  },
  {
    "path": "vendor/github.com/armon/go-metrics/inmem.go",
    "content": "package metrics\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"math\"\n\t\"net/url\"\n\t\"strings\"\n\t\"sync\"\n\t\"time\"\n)\n\n// InmemSink provides a MetricSink that does in-memory aggregation\n// without sending metrics over a network. It can be embedded within\n// an application to provide profiling information.\ntype InmemSink struct {\n\t// How long is each aggregation interval\n\tinterval time.Duration\n\n\t// Retain controls how many metrics interval we keep\n\tretain time.Duration\n\n\t// maxIntervals is the maximum length of intervals.\n\t// It is retain / interval.\n\tmaxIntervals int\n\n\t// intervals is a slice of the retained intervals\n\tintervals    []*IntervalMetrics\n\tintervalLock sync.RWMutex\n\n\trateDenom float64\n}\n\n// IntervalMetrics stores the aggregated metrics\n// for a specific interval\ntype IntervalMetrics struct {\n\tsync.RWMutex\n\n\t// The start time of the interval\n\tInterval time.Time\n\n\t// Gauges maps the key to the last set value\n\tGauges map[string]GaugeValue\n\n\t// Points maps the string to the list of emitted values\n\t// from EmitKey\n\tPoints map[string][]float32\n\n\t// Counters maps the string key to a sum of the counter\n\t// values\n\tCounters map[string]SampledValue\n\n\t// Samples maps the key to an AggregateSample,\n\t// which has the rolled up view of a sample\n\tSamples map[string]SampledValue\n}\n\n// NewIntervalMetrics creates a new IntervalMetrics for a given interval\nfunc NewIntervalMetrics(intv time.Time) *IntervalMetrics {\n\treturn &IntervalMetrics{\n\t\tInterval: intv,\n\t\tGauges:   make(map[string]GaugeValue),\n\t\tPoints:   make(map[string][]float32),\n\t\tCounters: make(map[string]SampledValue),\n\t\tSamples:  make(map[string]SampledValue),\n\t}\n}\n\n// AggregateSample is used to hold aggregate metrics\n// about a sample\ntype AggregateSample struct {\n\tCount       int       // The count of emitted pairs\n\tRate        float64   // The values rate per time unit (usually 1 second)\n\tSum         float64   // The sum of values\n\tSumSq       float64   `json:\"-\"` // The sum of squared values\n\tMin         float64   // Minimum value\n\tMax         float64   // Maximum value\n\tLastUpdated time.Time `json:\"-\"` // When value was last updated\n}\n\n// Computes a Stddev of the values\nfunc (a *AggregateSample) Stddev() float64 {\n\tnum := (float64(a.Count) * a.SumSq) - math.Pow(a.Sum, 2)\n\tdiv := float64(a.Count * (a.Count - 1))\n\tif div == 0 {\n\t\treturn 0\n\t}\n\treturn math.Sqrt(num / div)\n}\n\n// Computes a mean of the values\nfunc (a *AggregateSample) Mean() float64 {\n\tif a.Count == 0 {\n\t\treturn 0\n\t}\n\treturn a.Sum / float64(a.Count)\n}\n\n// Ingest is used to update a sample\nfunc (a *AggregateSample) Ingest(v float64, rateDenom float64) {\n\ta.Count++\n\ta.Sum += v\n\ta.SumSq += (v * v)\n\tif v < a.Min || a.Count == 1 {\n\t\ta.Min = v\n\t}\n\tif v > a.Max || a.Count == 1 {\n\t\ta.Max = v\n\t}\n\ta.Rate = float64(a.Sum) / rateDenom\n\ta.LastUpdated = time.Now()\n}\n\nfunc (a *AggregateSample) String() string {\n\tif a.Count == 0 {\n\t\treturn \"Count: 0\"\n\t} else if a.Stddev() == 0 {\n\t\treturn fmt.Sprintf(\"Count: %d Sum: %0.3f LastUpdated: %s\", a.Count, a.Sum, a.LastUpdated)\n\t} else {\n\t\treturn fmt.Sprintf(\"Count: %d Min: %0.3f Mean: %0.3f Max: %0.3f Stddev: %0.3f Sum: %0.3f LastUpdated: %s\",\n\t\t\ta.Count, a.Min, a.Mean(), a.Max, a.Stddev(), a.Sum, a.LastUpdated)\n\t}\n}\n\n// NewInmemSinkFromURL creates an InmemSink from a URL. It is used\n// (and tested) from NewMetricSinkFromURL.\nfunc NewInmemSinkFromURL(u *url.URL) (MetricSink, error) {\n\tparams := u.Query()\n\n\tinterval, err := time.ParseDuration(params.Get(\"interval\"))\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"Bad 'interval' param: %s\", err)\n\t}\n\n\tretain, err := time.ParseDuration(params.Get(\"retain\"))\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"Bad 'retain' param: %s\", err)\n\t}\n\n\treturn NewInmemSink(interval, retain), nil\n}\n\n// NewInmemSink is used to construct a new in-memory sink.\n// Uses an aggregation interval and maximum retention period.\nfunc NewInmemSink(interval, retain time.Duration) *InmemSink {\n\trateTimeUnit := time.Second\n\ti := &InmemSink{\n\t\tinterval:     interval,\n\t\tretain:       retain,\n\t\tmaxIntervals: int(retain / interval),\n\t\trateDenom:    float64(interval.Nanoseconds()) / float64(rateTimeUnit.Nanoseconds()),\n\t}\n\ti.intervals = make([]*IntervalMetrics, 0, i.maxIntervals)\n\treturn i\n}\n\nfunc (i *InmemSink) SetGauge(key []string, val float32) {\n\ti.SetGaugeWithLabels(key, val, nil)\n}\n\nfunc (i *InmemSink) SetGaugeWithLabels(key []string, val float32, labels []Label) {\n\tk, name := i.flattenKeyLabels(key, labels)\n\tintv := i.getInterval()\n\n\tintv.Lock()\n\tdefer intv.Unlock()\n\tintv.Gauges[k] = GaugeValue{Name: name, Value: val, Labels: labels}\n}\n\nfunc (i *InmemSink) EmitKey(key []string, val float32) {\n\tk := i.flattenKey(key)\n\tintv := i.getInterval()\n\n\tintv.Lock()\n\tdefer intv.Unlock()\n\tvals := intv.Points[k]\n\tintv.Points[k] = append(vals, val)\n}\n\nfunc (i *InmemSink) IncrCounter(key []string, val float32) {\n\ti.IncrCounterWithLabels(key, val, nil)\n}\n\nfunc (i *InmemSink) IncrCounterWithLabels(key []string, val float32, labels []Label) {\n\tk, name := i.flattenKeyLabels(key, labels)\n\tintv := i.getInterval()\n\n\tintv.Lock()\n\tdefer intv.Unlock()\n\n\tagg, ok := intv.Counters[k]\n\tif !ok {\n\t\tagg = SampledValue{\n\t\t\tName:            name,\n\t\t\tAggregateSample: &AggregateSample{},\n\t\t\tLabels:          labels,\n\t\t}\n\t\tintv.Counters[k] = agg\n\t}\n\tagg.Ingest(float64(val), i.rateDenom)\n}\n\nfunc (i *InmemSink) AddSample(key []string, val float32) {\n\ti.AddSampleWithLabels(key, val, nil)\n}\n\nfunc (i *InmemSink) AddSampleWithLabels(key []string, val float32, labels []Label) {\n\tk, name := i.flattenKeyLabels(key, labels)\n\tintv := i.getInterval()\n\n\tintv.Lock()\n\tdefer intv.Unlock()\n\n\tagg, ok := intv.Samples[k]\n\tif !ok {\n\t\tagg = SampledValue{\n\t\t\tName:            name,\n\t\t\tAggregateSample: &AggregateSample{},\n\t\t\tLabels:          labels,\n\t\t}\n\t\tintv.Samples[k] = agg\n\t}\n\tagg.Ingest(float64(val), i.rateDenom)\n}\n\n// Data is used to retrieve all the aggregated metrics\n// Intervals may be in use, and a read lock should be acquired\nfunc (i *InmemSink) Data() []*IntervalMetrics {\n\t// Get the current interval, forces creation\n\ti.getInterval()\n\n\ti.intervalLock.RLock()\n\tdefer i.intervalLock.RUnlock()\n\n\tn := len(i.intervals)\n\tintervals := make([]*IntervalMetrics, n)\n\n\tcopy(intervals[:n-1], i.intervals[:n-1])\n\tcurrent := i.intervals[n-1]\n\n\t// make its own copy for current interval\n\tintervals[n-1] = &IntervalMetrics{}\n\tcopyCurrent := intervals[n-1]\n\tcurrent.RLock()\n\t*copyCurrent = *current\n\n\tcopyCurrent.Gauges = make(map[string]GaugeValue, len(current.Gauges))\n\tfor k, v := range current.Gauges {\n\t\tcopyCurrent.Gauges[k] = v\n\t}\n\t// saved values will be not change, just copy its link\n\tcopyCurrent.Points = make(map[string][]float32, len(current.Points))\n\tfor k, v := range current.Points {\n\t\tcopyCurrent.Points[k] = v\n\t}\n\tcopyCurrent.Counters = make(map[string]SampledValue, len(current.Counters))\n\tfor k, v := range current.Counters {\n\t\tcopyCurrent.Counters[k] = v\n\t}\n\tcopyCurrent.Samples = make(map[string]SampledValue, len(current.Samples))\n\tfor k, v := range current.Samples {\n\t\tcopyCurrent.Samples[k] = v\n\t}\n\tcurrent.RUnlock()\n\n\treturn intervals\n}\n\nfunc (i *InmemSink) getExistingInterval(intv time.Time) *IntervalMetrics {\n\ti.intervalLock.RLock()\n\tdefer i.intervalLock.RUnlock()\n\n\tn := len(i.intervals)\n\tif n > 0 && i.intervals[n-1].Interval == intv {\n\t\treturn i.intervals[n-1]\n\t}\n\treturn nil\n}\n\nfunc (i *InmemSink) createInterval(intv time.Time) *IntervalMetrics {\n\ti.intervalLock.Lock()\n\tdefer i.intervalLock.Unlock()\n\n\t// Check for an existing interval\n\tn := len(i.intervals)\n\tif n > 0 && i.intervals[n-1].Interval == intv {\n\t\treturn i.intervals[n-1]\n\t}\n\n\t// Add the current interval\n\tcurrent := NewIntervalMetrics(intv)\n\ti.intervals = append(i.intervals, current)\n\tn++\n\n\t// Truncate the intervals if they are too long\n\tif n >= i.maxIntervals {\n\t\tcopy(i.intervals[0:], i.intervals[n-i.maxIntervals:])\n\t\ti.intervals = i.intervals[:i.maxIntervals]\n\t}\n\treturn current\n}\n\n// getInterval returns the current interval to write to\nfunc (i *InmemSink) getInterval() *IntervalMetrics {\n\tintv := time.Now().Truncate(i.interval)\n\tif m := i.getExistingInterval(intv); m != nil {\n\t\treturn m\n\t}\n\treturn i.createInterval(intv)\n}\n\n// Flattens the key for formatting, removes spaces\nfunc (i *InmemSink) flattenKey(parts []string) string {\n\tbuf := &bytes.Buffer{}\n\treplacer := strings.NewReplacer(\" \", \"_\")\n\n\tif len(parts) > 0 {\n\t\treplacer.WriteString(buf, parts[0])\n\t}\n\tfor _, part := range parts[1:] {\n\t\treplacer.WriteString(buf, \".\")\n\t\treplacer.WriteString(buf, part)\n\t}\n\n\treturn buf.String()\n}\n\n// Flattens the key for formatting along with its labels, removes spaces\nfunc (i *InmemSink) flattenKeyLabels(parts []string, labels []Label) (string, string) {\n\tbuf := &bytes.Buffer{}\n\treplacer := strings.NewReplacer(\" \", \"_\")\n\n\tif len(parts) > 0 {\n\t\treplacer.WriteString(buf, parts[0])\n\t}\n\tfor _, part := range parts[1:] {\n\t\treplacer.WriteString(buf, \".\")\n\t\treplacer.WriteString(buf, part)\n\t}\n\n\tkey := buf.String()\n\n\tfor _, label := range labels {\n\t\treplacer.WriteString(buf, fmt.Sprintf(\";%s=%s\", label.Name, label.Value))\n\t}\n\n\treturn buf.String(), key\n}\n"
  },
  {
    "path": "vendor/github.com/armon/go-metrics/inmem_endpoint.go",
    "content": "package metrics\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"sort\"\n\t\"time\"\n)\n\n// MetricsSummary holds a roll-up of metrics info for a given interval\ntype MetricsSummary struct {\n\tTimestamp string\n\tGauges    []GaugeValue\n\tPoints    []PointValue\n\tCounters  []SampledValue\n\tSamples   []SampledValue\n}\n\ntype GaugeValue struct {\n\tName  string\n\tHash  string `json:\"-\"`\n\tValue float32\n\n\tLabels        []Label           `json:\"-\"`\n\tDisplayLabels map[string]string `json:\"Labels\"`\n}\n\ntype PointValue struct {\n\tName   string\n\tPoints []float32\n}\n\ntype SampledValue struct {\n\tName string\n\tHash string `json:\"-\"`\n\t*AggregateSample\n\tMean   float64\n\tStddev float64\n\n\tLabels        []Label           `json:\"-\"`\n\tDisplayLabels map[string]string `json:\"Labels\"`\n}\n\n// DisplayMetrics returns a summary of the metrics from the most recent finished interval.\nfunc (i *InmemSink) DisplayMetrics(resp http.ResponseWriter, req *http.Request) (interface{}, error) {\n\tdata := i.Data()\n\n\tvar interval *IntervalMetrics\n\tn := len(data)\n\tswitch {\n\tcase n == 0:\n\t\treturn nil, fmt.Errorf(\"no metric intervals have been initialized yet\")\n\tcase n == 1:\n\t\t// Show the current interval if it's all we have\n\t\tinterval = i.intervals[0]\n\tdefault:\n\t\t// Show the most recent finished interval if we have one\n\t\tinterval = i.intervals[n-2]\n\t}\n\n\tsummary := MetricsSummary{\n\t\tTimestamp: interval.Interval.Round(time.Second).UTC().String(),\n\t\tGauges:    make([]GaugeValue, 0, len(interval.Gauges)),\n\t\tPoints:    make([]PointValue, 0, len(interval.Points)),\n\t}\n\n\t// Format and sort the output of each metric type, so it gets displayed in a\n\t// deterministic order.\n\tfor name, points := range interval.Points {\n\t\tsummary.Points = append(summary.Points, PointValue{name, points})\n\t}\n\tsort.Slice(summary.Points, func(i, j int) bool {\n\t\treturn summary.Points[i].Name < summary.Points[j].Name\n\t})\n\n\tfor hash, value := range interval.Gauges {\n\t\tvalue.Hash = hash\n\t\tvalue.DisplayLabels = make(map[string]string)\n\t\tfor _, label := range value.Labels {\n\t\t\tvalue.DisplayLabels[label.Name] = label.Value\n\t\t}\n\t\tvalue.Labels = nil\n\n\t\tsummary.Gauges = append(summary.Gauges, value)\n\t}\n\tsort.Slice(summary.Gauges, func(i, j int) bool {\n\t\treturn summary.Gauges[i].Hash < summary.Gauges[j].Hash\n\t})\n\n\tsummary.Counters = formatSamples(interval.Counters)\n\tsummary.Samples = formatSamples(interval.Samples)\n\n\treturn summary, nil\n}\n\nfunc formatSamples(source map[string]SampledValue) []SampledValue {\n\toutput := make([]SampledValue, 0, len(source))\n\tfor hash, sample := range source {\n\t\tdisplayLabels := make(map[string]string)\n\t\tfor _, label := range sample.Labels {\n\t\t\tdisplayLabels[label.Name] = label.Value\n\t\t}\n\n\t\toutput = append(output, SampledValue{\n\t\t\tName:            sample.Name,\n\t\t\tHash:            hash,\n\t\t\tAggregateSample: sample.AggregateSample,\n\t\t\tMean:            sample.AggregateSample.Mean(),\n\t\t\tStddev:          sample.AggregateSample.Stddev(),\n\t\t\tDisplayLabels:   displayLabels,\n\t\t})\n\t}\n\tsort.Slice(output, func(i, j int) bool {\n\t\treturn output[i].Hash < output[j].Hash\n\t})\n\n\treturn output\n}\n"
  },
  {
    "path": "vendor/github.com/armon/go-metrics/inmem_signal.go",
    "content": "package metrics\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"io\"\n\t\"os\"\n\t\"os/signal\"\n\t\"strings\"\n\t\"sync\"\n\t\"syscall\"\n)\n\n// InmemSignal is used to listen for a given signal, and when received,\n// to dump the current metrics from the InmemSink to an io.Writer\ntype InmemSignal struct {\n\tsignal syscall.Signal\n\tinm    *InmemSink\n\tw      io.Writer\n\tsigCh  chan os.Signal\n\n\tstop     bool\n\tstopCh   chan struct{}\n\tstopLock sync.Mutex\n}\n\n// NewInmemSignal creates a new InmemSignal which listens for a given signal,\n// and dumps the current metrics out to a writer\nfunc NewInmemSignal(inmem *InmemSink, sig syscall.Signal, w io.Writer) *InmemSignal {\n\ti := &InmemSignal{\n\t\tsignal: sig,\n\t\tinm:    inmem,\n\t\tw:      w,\n\t\tsigCh:  make(chan os.Signal, 1),\n\t\tstopCh: make(chan struct{}),\n\t}\n\tsignal.Notify(i.sigCh, sig)\n\tgo i.run()\n\treturn i\n}\n\n// DefaultInmemSignal returns a new InmemSignal that responds to SIGUSR1\n// and writes output to stderr. Windows uses SIGBREAK\nfunc DefaultInmemSignal(inmem *InmemSink) *InmemSignal {\n\treturn NewInmemSignal(inmem, DefaultSignal, os.Stderr)\n}\n\n// Stop is used to stop the InmemSignal from listening\nfunc (i *InmemSignal) Stop() {\n\ti.stopLock.Lock()\n\tdefer i.stopLock.Unlock()\n\n\tif i.stop {\n\t\treturn\n\t}\n\ti.stop = true\n\tclose(i.stopCh)\n\tsignal.Stop(i.sigCh)\n}\n\n// run is a long running routine that handles signals\nfunc (i *InmemSignal) run() {\n\tfor {\n\t\tselect {\n\t\tcase <-i.sigCh:\n\t\t\ti.dumpStats()\n\t\tcase <-i.stopCh:\n\t\t\treturn\n\t\t}\n\t}\n}\n\n// dumpStats is used to dump the data to output writer\nfunc (i *InmemSignal) dumpStats() {\n\tbuf := bytes.NewBuffer(nil)\n\n\tdata := i.inm.Data()\n\t// Skip the last period which is still being aggregated\n\tfor j := 0; j < len(data)-1; j++ {\n\t\tintv := data[j]\n\t\tintv.RLock()\n\t\tfor _, val := range intv.Gauges {\n\t\t\tname := i.flattenLabels(val.Name, val.Labels)\n\t\t\tfmt.Fprintf(buf, \"[%v][G] '%s': %0.3f\\n\", intv.Interval, name, val.Value)\n\t\t}\n\t\tfor name, vals := range intv.Points {\n\t\t\tfor _, val := range vals {\n\t\t\t\tfmt.Fprintf(buf, \"[%v][P] '%s': %0.3f\\n\", intv.Interval, name, val)\n\t\t\t}\n\t\t}\n\t\tfor _, agg := range intv.Counters {\n\t\t\tname := i.flattenLabels(agg.Name, agg.Labels)\n\t\t\tfmt.Fprintf(buf, \"[%v][C] '%s': %s\\n\", intv.Interval, name, agg.AggregateSample)\n\t\t}\n\t\tfor _, agg := range intv.Samples {\n\t\t\tname := i.flattenLabels(agg.Name, agg.Labels)\n\t\t\tfmt.Fprintf(buf, \"[%v][S] '%s': %s\\n\", intv.Interval, name, agg.AggregateSample)\n\t\t}\n\t\tintv.RUnlock()\n\t}\n\n\t// Write out the bytes\n\ti.w.Write(buf.Bytes())\n}\n\n// Flattens the key for formatting along with its labels, removes spaces\nfunc (i *InmemSignal) flattenLabels(name string, labels []Label) string {\n\tbuf := bytes.NewBufferString(name)\n\treplacer := strings.NewReplacer(\" \", \"_\", \":\", \"_\")\n\n\tfor _, label := range labels {\n\t\treplacer.WriteString(buf, \".\")\n\t\treplacer.WriteString(buf, label.Value)\n\t}\n\n\treturn buf.String()\n}\n"
  },
  {
    "path": "vendor/github.com/armon/go-metrics/metrics.go",
    "content": "package metrics\n\nimport (\n\t\"runtime\"\n\t\"strings\"\n\t\"time\"\n\n\t\"github.com/hashicorp/go-immutable-radix\"\n)\n\ntype Label struct {\n\tName  string\n\tValue string\n}\n\nfunc (m *Metrics) SetGauge(key []string, val float32) {\n\tm.SetGaugeWithLabels(key, val, nil)\n}\n\nfunc (m *Metrics) SetGaugeWithLabels(key []string, val float32, labels []Label) {\n\tif m.HostName != \"\" {\n\t\tif m.EnableHostnameLabel {\n\t\t\tlabels = append(labels, Label{\"host\", m.HostName})\n\t\t} else if m.EnableHostname {\n\t\t\tkey = insert(0, m.HostName, key)\n\t\t}\n\t}\n\tif m.EnableTypePrefix {\n\t\tkey = insert(0, \"gauge\", key)\n\t}\n\tif m.ServiceName != \"\" {\n\t\tif m.EnableServiceLabel {\n\t\t\tlabels = append(labels, Label{\"service\", m.ServiceName})\n\t\t} else {\n\t\t\tkey = insert(0, m.ServiceName, key)\n\t\t}\n\t}\n\tallowed, labelsFiltered := m.allowMetric(key, labels)\n\tif !allowed {\n\t\treturn\n\t}\n\tm.sink.SetGaugeWithLabels(key, val, labelsFiltered)\n}\n\nfunc (m *Metrics) EmitKey(key []string, val float32) {\n\tif m.EnableTypePrefix {\n\t\tkey = insert(0, \"kv\", key)\n\t}\n\tif m.ServiceName != \"\" {\n\t\tkey = insert(0, m.ServiceName, key)\n\t}\n\tallowed, _ := m.allowMetric(key, nil)\n\tif !allowed {\n\t\treturn\n\t}\n\tm.sink.EmitKey(key, val)\n}\n\nfunc (m *Metrics) IncrCounter(key []string, val float32) {\n\tm.IncrCounterWithLabels(key, val, nil)\n}\n\nfunc (m *Metrics) IncrCounterWithLabels(key []string, val float32, labels []Label) {\n\tif m.HostName != \"\" && m.EnableHostnameLabel {\n\t\tlabels = append(labels, Label{\"host\", m.HostName})\n\t}\n\tif m.EnableTypePrefix {\n\t\tkey = insert(0, \"counter\", key)\n\t}\n\tif m.ServiceName != \"\" {\n\t\tif m.EnableServiceLabel {\n\t\t\tlabels = append(labels, Label{\"service\", m.ServiceName})\n\t\t} else {\n\t\t\tkey = insert(0, m.ServiceName, key)\n\t\t}\n\t}\n\tallowed, labelsFiltered := m.allowMetric(key, labels)\n\tif !allowed {\n\t\treturn\n\t}\n\tm.sink.IncrCounterWithLabels(key, val, labelsFiltered)\n}\n\nfunc (m *Metrics) AddSample(key []string, val float32) {\n\tm.AddSampleWithLabels(key, val, nil)\n}\n\nfunc (m *Metrics) AddSampleWithLabels(key []string, val float32, labels []Label) {\n\tif m.HostName != \"\" && m.EnableHostnameLabel {\n\t\tlabels = append(labels, Label{\"host\", m.HostName})\n\t}\n\tif m.EnableTypePrefix {\n\t\tkey = insert(0, \"sample\", key)\n\t}\n\tif m.ServiceName != \"\" {\n\t\tif m.EnableServiceLabel {\n\t\t\tlabels = append(labels, Label{\"service\", m.ServiceName})\n\t\t} else {\n\t\t\tkey = insert(0, m.ServiceName, key)\n\t\t}\n\t}\n\tallowed, labelsFiltered := m.allowMetric(key, labels)\n\tif !allowed {\n\t\treturn\n\t}\n\tm.sink.AddSampleWithLabels(key, val, labelsFiltered)\n}\n\nfunc (m *Metrics) MeasureSince(key []string, start time.Time) {\n\tm.MeasureSinceWithLabels(key, start, nil)\n}\n\nfunc (m *Metrics) MeasureSinceWithLabels(key []string, start time.Time, labels []Label) {\n\tif m.HostName != \"\" && m.EnableHostnameLabel {\n\t\tlabels = append(labels, Label{\"host\", m.HostName})\n\t}\n\tif m.EnableTypePrefix {\n\t\tkey = insert(0, \"timer\", key)\n\t}\n\tif m.ServiceName != \"\" {\n\t\tif m.EnableServiceLabel {\n\t\t\tlabels = append(labels, Label{\"service\", m.ServiceName})\n\t\t} else {\n\t\t\tkey = insert(0, m.ServiceName, key)\n\t\t}\n\t}\n\tallowed, labelsFiltered := m.allowMetric(key, labels)\n\tif !allowed {\n\t\treturn\n\t}\n\tnow := time.Now()\n\telapsed := now.Sub(start)\n\tmsec := float32(elapsed.Nanoseconds()) / float32(m.TimerGranularity)\n\tm.sink.AddSampleWithLabels(key, msec, labelsFiltered)\n}\n\n// UpdateFilter overwrites the existing filter with the given rules.\nfunc (m *Metrics) UpdateFilter(allow, block []string) {\n\tm.UpdateFilterAndLabels(allow, block, m.AllowedLabels, m.BlockedLabels)\n}\n\n// UpdateFilterAndLabels overwrites the existing filter with the given rules.\nfunc (m *Metrics) UpdateFilterAndLabels(allow, block, allowedLabels, blockedLabels []string) {\n\tm.filterLock.Lock()\n\tdefer m.filterLock.Unlock()\n\n\tm.AllowedPrefixes = allow\n\tm.BlockedPrefixes = block\n\n\tif allowedLabels == nil {\n\t\t// Having a white list means we take only elements from it\n\t\tm.allowedLabels = nil\n\t} else {\n\t\tm.allowedLabels = make(map[string]bool)\n\t\tfor _, v := range allowedLabels {\n\t\t\tm.allowedLabels[v] = true\n\t\t}\n\t}\n\tm.blockedLabels = make(map[string]bool)\n\tfor _, v := range blockedLabels {\n\t\tm.blockedLabels[v] = true\n\t}\n\tm.AllowedLabels = allowedLabels\n\tm.BlockedLabels = blockedLabels\n\n\tm.filter = iradix.New()\n\tfor _, prefix := range m.AllowedPrefixes {\n\t\tm.filter, _, _ = m.filter.Insert([]byte(prefix), true)\n\t}\n\tfor _, prefix := range m.BlockedPrefixes {\n\t\tm.filter, _, _ = m.filter.Insert([]byte(prefix), false)\n\t}\n}\n\n// labelIsAllowed return true if a should be included in metric\n// the caller should lock m.filterLock while calling this method\nfunc (m *Metrics) labelIsAllowed(label *Label) bool {\n\tlabelName := (*label).Name\n\tif m.blockedLabels != nil {\n\t\t_, ok := m.blockedLabels[labelName]\n\t\tif ok {\n\t\t\t// If present, let's remove this label\n\t\t\treturn false\n\t\t}\n\t}\n\tif m.allowedLabels != nil {\n\t\t_, ok := m.allowedLabels[labelName]\n\t\treturn ok\n\t}\n\t// Allow by default\n\treturn true\n}\n\n// filterLabels return only allowed labels\n// the caller should lock m.filterLock while calling this method\nfunc (m *Metrics) filterLabels(labels []Label) []Label {\n\tif labels == nil {\n\t\treturn nil\n\t}\n\ttoReturn := labels[:0]\n\tfor _, label := range labels {\n\t\tif m.labelIsAllowed(&label) {\n\t\t\ttoReturn = append(toReturn, label)\n\t\t}\n\t}\n\treturn toReturn\n}\n\n// Returns whether the metric should be allowed based on configured prefix filters\n// Also return the applicable labels\nfunc (m *Metrics) allowMetric(key []string, labels []Label) (bool, []Label) {\n\tm.filterLock.RLock()\n\tdefer m.filterLock.RUnlock()\n\n\tif m.filter == nil || m.filter.Len() == 0 {\n\t\treturn m.Config.FilterDefault, m.filterLabels(labels)\n\t}\n\n\t_, allowed, ok := m.filter.Root().LongestPrefix([]byte(strings.Join(key, \".\")))\n\tif !ok {\n\t\treturn m.Config.FilterDefault, m.filterLabels(labels)\n\t}\n\n\treturn allowed.(bool), m.filterLabels(labels)\n}\n\n// Periodically collects runtime stats to publish\nfunc (m *Metrics) collectStats() {\n\tfor {\n\t\ttime.Sleep(m.ProfileInterval)\n\t\tm.emitRuntimeStats()\n\t}\n}\n\n// Emits various runtime statsitics\nfunc (m *Metrics) emitRuntimeStats() {\n\t// Export number of Goroutines\n\tnumRoutines := runtime.NumGoroutine()\n\tm.SetGauge([]string{\"runtime\", \"num_goroutines\"}, float32(numRoutines))\n\n\t// Export memory stats\n\tvar stats runtime.MemStats\n\truntime.ReadMemStats(&stats)\n\tm.SetGauge([]string{\"runtime\", \"alloc_bytes\"}, float32(stats.Alloc))\n\tm.SetGauge([]string{\"runtime\", \"sys_bytes\"}, float32(stats.Sys))\n\tm.SetGauge([]string{\"runtime\", \"malloc_count\"}, float32(stats.Mallocs))\n\tm.SetGauge([]string{\"runtime\", \"free_count\"}, float32(stats.Frees))\n\tm.SetGauge([]string{\"runtime\", \"heap_objects\"}, float32(stats.HeapObjects))\n\tm.SetGauge([]string{\"runtime\", \"total_gc_pause_ns\"}, float32(stats.PauseTotalNs))\n\tm.SetGauge([]string{\"runtime\", \"total_gc_runs\"}, float32(stats.NumGC))\n\n\t// Export info about the last few GC runs\n\tnum := stats.NumGC\n\n\t// Handle wrap around\n\tif num < m.lastNumGC {\n\t\tm.lastNumGC = 0\n\t}\n\n\t// Ensure we don't scan more than 256\n\tif num-m.lastNumGC >= 256 {\n\t\tm.lastNumGC = num - 255\n\t}\n\n\tfor i := m.lastNumGC; i < num; i++ {\n\t\tpause := stats.PauseNs[i%256]\n\t\tm.AddSample([]string{\"runtime\", \"gc_pause_ns\"}, float32(pause))\n\t}\n\tm.lastNumGC = num\n}\n\n// Inserts a string value at an index into the slice\nfunc insert(i int, v string, s []string) []string {\n\ts = append(s, \"\")\n\tcopy(s[i+1:], s[i:])\n\ts[i] = v\n\treturn s\n}\n"
  },
  {
    "path": "vendor/github.com/armon/go-metrics/sink.go",
    "content": "package metrics\n\nimport (\n\t\"fmt\"\n\t\"net/url\"\n)\n\n// The MetricSink interface is used to transmit metrics information\n// to an external system\ntype MetricSink interface {\n\t// A Gauge should retain the last value it is set to\n\tSetGauge(key []string, val float32)\n\tSetGaugeWithLabels(key []string, val float32, labels []Label)\n\n\t// Should emit a Key/Value pair for each call\n\tEmitKey(key []string, val float32)\n\n\t// Counters should accumulate values\n\tIncrCounter(key []string, val float32)\n\tIncrCounterWithLabels(key []string, val float32, labels []Label)\n\n\t// Samples are for timing information, where quantiles are used\n\tAddSample(key []string, val float32)\n\tAddSampleWithLabels(key []string, val float32, labels []Label)\n}\n\n// BlackholeSink is used to just blackhole messages\ntype BlackholeSink struct{}\n\nfunc (*BlackholeSink) SetGauge(key []string, val float32)                              {}\nfunc (*BlackholeSink) SetGaugeWithLabels(key []string, val float32, labels []Label)    {}\nfunc (*BlackholeSink) EmitKey(key []string, val float32)                               {}\nfunc (*BlackholeSink) IncrCounter(key []string, val float32)                           {}\nfunc (*BlackholeSink) IncrCounterWithLabels(key []string, val float32, labels []Label) {}\nfunc (*BlackholeSink) AddSample(key []string, val float32)                             {}\nfunc (*BlackholeSink) AddSampleWithLabels(key []string, val float32, labels []Label)   {}\n\n// FanoutSink is used to sink to fanout values to multiple sinks\ntype FanoutSink []MetricSink\n\nfunc (fh FanoutSink) SetGauge(key []string, val float32) {\n\tfh.SetGaugeWithLabels(key, val, nil)\n}\n\nfunc (fh FanoutSink) SetGaugeWithLabels(key []string, val float32, labels []Label) {\n\tfor _, s := range fh {\n\t\ts.SetGaugeWithLabels(key, val, labels)\n\t}\n}\n\nfunc (fh FanoutSink) EmitKey(key []string, val float32) {\n\tfor _, s := range fh {\n\t\ts.EmitKey(key, val)\n\t}\n}\n\nfunc (fh FanoutSink) IncrCounter(key []string, val float32) {\n\tfh.IncrCounterWithLabels(key, val, nil)\n}\n\nfunc (fh FanoutSink) IncrCounterWithLabels(key []string, val float32, labels []Label) {\n\tfor _, s := range fh {\n\t\ts.IncrCounterWithLabels(key, val, labels)\n\t}\n}\n\nfunc (fh FanoutSink) AddSample(key []string, val float32) {\n\tfh.AddSampleWithLabels(key, val, nil)\n}\n\nfunc (fh FanoutSink) AddSampleWithLabels(key []string, val float32, labels []Label) {\n\tfor _, s := range fh {\n\t\ts.AddSampleWithLabels(key, val, labels)\n\t}\n}\n\n// sinkURLFactoryFunc is an generic interface around the *SinkFromURL() function provided\n// by each sink type\ntype sinkURLFactoryFunc func(*url.URL) (MetricSink, error)\n\n// sinkRegistry supports the generic NewMetricSink function by mapping URL\n// schemes to metric sink factory functions\nvar sinkRegistry = map[string]sinkURLFactoryFunc{\n\t\"statsd\":   NewStatsdSinkFromURL,\n\t\"statsite\": NewStatsiteSinkFromURL,\n\t\"inmem\":    NewInmemSinkFromURL,\n}\n\n// NewMetricSinkFromURL allows a generic URL input to configure any of the\n// supported sinks. The scheme of the URL identifies the type of the sink, the\n// and query parameters are used to set options.\n//\n// \"statsd://\" - Initializes a StatsdSink. The host and port are passed through\n// as the \"addr\" of the sink\n//\n// \"statsite://\" - Initializes a StatsiteSink. The host and port become the\n// \"addr\" of the sink\n//\n// \"inmem://\" - Initializes an InmemSink. The host and port are ignored. The\n// \"interval\" and \"duration\" query parameters must be specified with valid\n// durations, see NewInmemSink for details.\nfunc NewMetricSinkFromURL(urlStr string) (MetricSink, error) {\n\tu, err := url.Parse(urlStr)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tsinkURLFactoryFunc := sinkRegistry[u.Scheme]\n\tif sinkURLFactoryFunc == nil {\n\t\treturn nil, fmt.Errorf(\n\t\t\t\"cannot create metric sink, unrecognized sink name: %q\", u.Scheme)\n\t}\n\n\treturn sinkURLFactoryFunc(u)\n}\n"
  },
  {
    "path": "vendor/github.com/armon/go-metrics/start.go",
    "content": "package metrics\n\nimport (\n\t\"os\"\n\t\"sync\"\n\t\"sync/atomic\"\n\t\"time\"\n\n\t\"github.com/hashicorp/go-immutable-radix\"\n)\n\n// Config is used to configure metrics settings\ntype Config struct {\n\tServiceName          string        // Prefixed with keys to separate services\n\tHostName             string        // Hostname to use. If not provided and EnableHostname, it will be os.Hostname\n\tEnableHostname       bool          // Enable prefixing gauge values with hostname\n\tEnableHostnameLabel  bool          // Enable adding hostname to labels\n\tEnableServiceLabel   bool          // Enable adding service to labels\n\tEnableRuntimeMetrics bool          // Enables profiling of runtime metrics (GC, Goroutines, Memory)\n\tEnableTypePrefix     bool          // Prefixes key with a type (\"counter\", \"gauge\", \"timer\")\n\tTimerGranularity     time.Duration // Granularity of timers.\n\tProfileInterval      time.Duration // Interval to profile runtime metrics\n\n\tAllowedPrefixes []string // A list of metric prefixes to allow, with '.' as the separator\n\tBlockedPrefixes []string // A list of metric prefixes to block, with '.' as the separator\n\tAllowedLabels   []string // A list of metric labels to allow, with '.' as the separator\n\tBlockedLabels   []string // A list of metric labels to block, with '.' as the separator\n\tFilterDefault   bool     // Whether to allow metrics by default\n}\n\n// Metrics represents an instance of a metrics sink that can\n// be used to emit\ntype Metrics struct {\n\tConfig\n\tlastNumGC     uint32\n\tsink          MetricSink\n\tfilter        *iradix.Tree\n\tallowedLabels map[string]bool\n\tblockedLabels map[string]bool\n\tfilterLock    sync.RWMutex // Lock filters and allowedLabels/blockedLabels access\n}\n\n// Shared global metrics instance\nvar globalMetrics atomic.Value // *Metrics\n\nfunc init() {\n\t// Initialize to a blackhole sink to avoid errors\n\tglobalMetrics.Store(&Metrics{sink: &BlackholeSink{}})\n}\n\n// DefaultConfig provides a sane default configuration\nfunc DefaultConfig(serviceName string) *Config {\n\tc := &Config{\n\t\tServiceName:          serviceName, // Use client provided service\n\t\tHostName:             \"\",\n\t\tEnableHostname:       true,             // Enable hostname prefix\n\t\tEnableRuntimeMetrics: true,             // Enable runtime profiling\n\t\tEnableTypePrefix:     false,            // Disable type prefix\n\t\tTimerGranularity:     time.Millisecond, // Timers are in milliseconds\n\t\tProfileInterval:      time.Second,      // Poll runtime every second\n\t\tFilterDefault:        true,             // Don't filter metrics by default\n\t}\n\n\t// Try to get the hostname\n\tname, _ := os.Hostname()\n\tc.HostName = name\n\treturn c\n}\n\n// New is used to create a new instance of Metrics\nfunc New(conf *Config, sink MetricSink) (*Metrics, error) {\n\tmet := &Metrics{}\n\tmet.Config = *conf\n\tmet.sink = sink\n\tmet.UpdateFilterAndLabels(conf.AllowedPrefixes, conf.BlockedPrefixes, conf.AllowedLabels, conf.BlockedLabels)\n\n\t// Start the runtime collector\n\tif conf.EnableRuntimeMetrics {\n\t\tgo met.collectStats()\n\t}\n\treturn met, nil\n}\n\n// NewGlobal is the same as New, but it assigns the metrics object to be\n// used globally as well as returning it.\nfunc NewGlobal(conf *Config, sink MetricSink) (*Metrics, error) {\n\tmetrics, err := New(conf, sink)\n\tif err == nil {\n\t\tglobalMetrics.Store(metrics)\n\t}\n\treturn metrics, err\n}\n\n// Proxy all the methods to the globalMetrics instance\nfunc SetGauge(key []string, val float32) {\n\tglobalMetrics.Load().(*Metrics).SetGauge(key, val)\n}\n\nfunc SetGaugeWithLabels(key []string, val float32, labels []Label) {\n\tglobalMetrics.Load().(*Metrics).SetGaugeWithLabels(key, val, labels)\n}\n\nfunc EmitKey(key []string, val float32) {\n\tglobalMetrics.Load().(*Metrics).EmitKey(key, val)\n}\n\nfunc IncrCounter(key []string, val float32) {\n\tglobalMetrics.Load().(*Metrics).IncrCounter(key, val)\n}\n\nfunc IncrCounterWithLabels(key []string, val float32, labels []Label) {\n\tglobalMetrics.Load().(*Metrics).IncrCounterWithLabels(key, val, labels)\n}\n\nfunc AddSample(key []string, val float32) {\n\tglobalMetrics.Load().(*Metrics).AddSample(key, val)\n}\n\nfunc AddSampleWithLabels(key []string, val float32, labels []Label) {\n\tglobalMetrics.Load().(*Metrics).AddSampleWithLabels(key, val, labels)\n}\n\nfunc MeasureSince(key []string, start time.Time) {\n\tglobalMetrics.Load().(*Metrics).MeasureSince(key, start)\n}\n\nfunc MeasureSinceWithLabels(key []string, start time.Time, labels []Label) {\n\tglobalMetrics.Load().(*Metrics).MeasureSinceWithLabels(key, start, labels)\n}\n\nfunc UpdateFilter(allow, block []string) {\n\tglobalMetrics.Load().(*Metrics).UpdateFilter(allow, block)\n}\n\n// UpdateFilterAndLabels set allow/block prefixes of metrics while allowedLabels\n// and blockedLabels - when not nil - allow filtering of labels in order to\n// block/allow globally labels (especially useful when having large number of\n// values for a given label). See README.md for more information about usage.\nfunc UpdateFilterAndLabels(allow, block, allowedLabels, blockedLabels []string) {\n\tglobalMetrics.Load().(*Metrics).UpdateFilterAndLabels(allow, block, allowedLabels, blockedLabels)\n}\n"
  },
  {
    "path": "vendor/github.com/armon/go-metrics/statsd.go",
    "content": "package metrics\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"log\"\n\t\"net\"\n\t\"net/url\"\n\t\"strings\"\n\t\"time\"\n)\n\nconst (\n\t// statsdMaxLen is the maximum size of a packet\n\t// to send to statsd\n\tstatsdMaxLen = 1400\n)\n\n// StatsdSink provides a MetricSink that can be used\n// with a statsite or statsd metrics server. It uses\n// only UDP packets, while StatsiteSink uses TCP.\ntype StatsdSink struct {\n\taddr        string\n\tmetricQueue chan string\n}\n\n// NewStatsdSinkFromURL creates an StatsdSink from a URL. It is used\n// (and tested) from NewMetricSinkFromURL.\nfunc NewStatsdSinkFromURL(u *url.URL) (MetricSink, error) {\n\treturn NewStatsdSink(u.Host)\n}\n\n// NewStatsdSink is used to create a new StatsdSink\nfunc NewStatsdSink(addr string) (*StatsdSink, error) {\n\ts := &StatsdSink{\n\t\taddr:        addr,\n\t\tmetricQueue: make(chan string, 4096),\n\t}\n\tgo s.flushMetrics()\n\treturn s, nil\n}\n\n// Close is used to stop flushing to statsd\nfunc (s *StatsdSink) Shutdown() {\n\tclose(s.metricQueue)\n}\n\nfunc (s *StatsdSink) SetGauge(key []string, val float32) {\n\tflatKey := s.flattenKey(key)\n\ts.pushMetric(fmt.Sprintf(\"%s:%f|g\\n\", flatKey, val))\n}\n\nfunc (s *StatsdSink) SetGaugeWithLabels(key []string, val float32, labels []Label) {\n\tflatKey := s.flattenKeyLabels(key, labels)\n\ts.pushMetric(fmt.Sprintf(\"%s:%f|g\\n\", flatKey, val))\n}\n\nfunc (s *StatsdSink) EmitKey(key []string, val float32) {\n\tflatKey := s.flattenKey(key)\n\ts.pushMetric(fmt.Sprintf(\"%s:%f|kv\\n\", flatKey, val))\n}\n\nfunc (s *StatsdSink) IncrCounter(key []string, val float32) {\n\tflatKey := s.flattenKey(key)\n\ts.pushMetric(fmt.Sprintf(\"%s:%f|c\\n\", flatKey, val))\n}\n\nfunc (s *StatsdSink) IncrCounterWithLabels(key []string, val float32, labels []Label) {\n\tflatKey := s.flattenKeyLabels(key, labels)\n\ts.pushMetric(fmt.Sprintf(\"%s:%f|c\\n\", flatKey, val))\n}\n\nfunc (s *StatsdSink) AddSample(key []string, val float32) {\n\tflatKey := s.flattenKey(key)\n\ts.pushMetric(fmt.Sprintf(\"%s:%f|ms\\n\", flatKey, val))\n}\n\nfunc (s *StatsdSink) AddSampleWithLabels(key []string, val float32, labels []Label) {\n\tflatKey := s.flattenKeyLabels(key, labels)\n\ts.pushMetric(fmt.Sprintf(\"%s:%f|ms\\n\", flatKey, val))\n}\n\n// Flattens the key for formatting, removes spaces\nfunc (s *StatsdSink) flattenKey(parts []string) string {\n\tjoined := strings.Join(parts, \".\")\n\treturn strings.Map(func(r rune) rune {\n\t\tswitch r {\n\t\tcase ':':\n\t\t\tfallthrough\n\t\tcase ' ':\n\t\t\treturn '_'\n\t\tdefault:\n\t\t\treturn r\n\t\t}\n\t}, joined)\n}\n\n// Flattens the key along with labels for formatting, removes spaces\nfunc (s *StatsdSink) flattenKeyLabels(parts []string, labels []Label) string {\n\tfor _, label := range labels {\n\t\tparts = append(parts, label.Value)\n\t}\n\treturn s.flattenKey(parts)\n}\n\n// Does a non-blocking push to the metrics queue\nfunc (s *StatsdSink) pushMetric(m string) {\n\tselect {\n\tcase s.metricQueue <- m:\n\tdefault:\n\t}\n}\n\n// Flushes metrics\nfunc (s *StatsdSink) flushMetrics() {\n\tvar sock net.Conn\n\tvar err error\n\tvar wait <-chan time.Time\n\tticker := time.NewTicker(flushInterval)\n\tdefer ticker.Stop()\n\nCONNECT:\n\t// Create a buffer\n\tbuf := bytes.NewBuffer(nil)\n\n\t// Attempt to connect\n\tsock, err = net.Dial(\"udp\", s.addr)\n\tif err != nil {\n\t\tlog.Printf(\"[ERR] Error connecting to statsd! Err: %s\", err)\n\t\tgoto WAIT\n\t}\n\n\tfor {\n\t\tselect {\n\t\tcase metric, ok := <-s.metricQueue:\n\t\t\t// Get a metric from the queue\n\t\t\tif !ok {\n\t\t\t\tgoto QUIT\n\t\t\t}\n\n\t\t\t// Check if this would overflow the packet size\n\t\t\tif len(metric)+buf.Len() > statsdMaxLen {\n\t\t\t\t_, err := sock.Write(buf.Bytes())\n\t\t\t\tbuf.Reset()\n\t\t\t\tif err != nil {\n\t\t\t\t\tlog.Printf(\"[ERR] Error writing to statsd! Err: %s\", err)\n\t\t\t\t\tgoto WAIT\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Append to the buffer\n\t\t\tbuf.WriteString(metric)\n\n\t\tcase <-ticker.C:\n\t\t\tif buf.Len() == 0 {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t_, err := sock.Write(buf.Bytes())\n\t\t\tbuf.Reset()\n\t\t\tif err != nil {\n\t\t\t\tlog.Printf(\"[ERR] Error flushing to statsd! Err: %s\", err)\n\t\t\t\tgoto WAIT\n\t\t\t}\n\t\t}\n\t}\n\nWAIT:\n\t// Wait for a while\n\twait = time.After(time.Duration(5) * time.Second)\n\tfor {\n\t\tselect {\n\t\t// Dequeue the messages to avoid backlog\n\t\tcase _, ok := <-s.metricQueue:\n\t\t\tif !ok {\n\t\t\t\tgoto QUIT\n\t\t\t}\n\t\tcase <-wait:\n\t\t\tgoto CONNECT\n\t\t}\n\t}\nQUIT:\n\ts.metricQueue = nil\n}\n"
  },
  {
    "path": "vendor/github.com/armon/go-metrics/statsite.go",
    "content": "package metrics\n\nimport (\n\t\"bufio\"\n\t\"fmt\"\n\t\"log\"\n\t\"net\"\n\t\"net/url\"\n\t\"strings\"\n\t\"time\"\n)\n\nconst (\n\t// We force flush the statsite metrics after this period of\n\t// inactivity. Prevents stats from getting stuck in a buffer\n\t// forever.\n\tflushInterval = 100 * time.Millisecond\n)\n\n// NewStatsiteSinkFromURL creates an StatsiteSink from a URL. It is used\n// (and tested) from NewMetricSinkFromURL.\nfunc NewStatsiteSinkFromURL(u *url.URL) (MetricSink, error) {\n\treturn NewStatsiteSink(u.Host)\n}\n\n// StatsiteSink provides a MetricSink that can be used with a\n// statsite metrics server\ntype StatsiteSink struct {\n\taddr        string\n\tmetricQueue chan string\n}\n\n// NewStatsiteSink is used to create a new StatsiteSink\nfunc NewStatsiteSink(addr string) (*StatsiteSink, error) {\n\ts := &StatsiteSink{\n\t\taddr:        addr,\n\t\tmetricQueue: make(chan string, 4096),\n\t}\n\tgo s.flushMetrics()\n\treturn s, nil\n}\n\n// Close is used to stop flushing to statsite\nfunc (s *StatsiteSink) Shutdown() {\n\tclose(s.metricQueue)\n}\n\nfunc (s *StatsiteSink) SetGauge(key []string, val float32) {\n\tflatKey := s.flattenKey(key)\n\ts.pushMetric(fmt.Sprintf(\"%s:%f|g\\n\", flatKey, val))\n}\n\nfunc (s *StatsiteSink) SetGaugeWithLabels(key []string, val float32, labels []Label) {\n\tflatKey := s.flattenKeyLabels(key, labels)\n\ts.pushMetric(fmt.Sprintf(\"%s:%f|g\\n\", flatKey, val))\n}\n\nfunc (s *StatsiteSink) EmitKey(key []string, val float32) {\n\tflatKey := s.flattenKey(key)\n\ts.pushMetric(fmt.Sprintf(\"%s:%f|kv\\n\", flatKey, val))\n}\n\nfunc (s *StatsiteSink) IncrCounter(key []string, val float32) {\n\tflatKey := s.flattenKey(key)\n\ts.pushMetric(fmt.Sprintf(\"%s:%f|c\\n\", flatKey, val))\n}\n\nfunc (s *StatsiteSink) IncrCounterWithLabels(key []string, val float32, labels []Label) {\n\tflatKey := s.flattenKeyLabels(key, labels)\n\ts.pushMetric(fmt.Sprintf(\"%s:%f|c\\n\", flatKey, val))\n}\n\nfunc (s *StatsiteSink) AddSample(key []string, val float32) {\n\tflatKey := s.flattenKey(key)\n\ts.pushMetric(fmt.Sprintf(\"%s:%f|ms\\n\", flatKey, val))\n}\n\nfunc (s *StatsiteSink) AddSampleWithLabels(key []string, val float32, labels []Label) {\n\tflatKey := s.flattenKeyLabels(key, labels)\n\ts.pushMetric(fmt.Sprintf(\"%s:%f|ms\\n\", flatKey, val))\n}\n\n// Flattens the key for formatting, removes spaces\nfunc (s *StatsiteSink) flattenKey(parts []string) string {\n\tjoined := strings.Join(parts, \".\")\n\treturn strings.Map(func(r rune) rune {\n\t\tswitch r {\n\t\tcase ':':\n\t\t\tfallthrough\n\t\tcase ' ':\n\t\t\treturn '_'\n\t\tdefault:\n\t\t\treturn r\n\t\t}\n\t}, joined)\n}\n\n// Flattens the key along with labels for formatting, removes spaces\nfunc (s *StatsiteSink) flattenKeyLabels(parts []string, labels []Label) string {\n\tfor _, label := range labels {\n\t\tparts = append(parts, label.Value)\n\t}\n\treturn s.flattenKey(parts)\n}\n\n// Does a non-blocking push to the metrics queue\nfunc (s *StatsiteSink) pushMetric(m string) {\n\tselect {\n\tcase s.metricQueue <- m:\n\tdefault:\n\t}\n}\n\n// Flushes metrics\nfunc (s *StatsiteSink) flushMetrics() {\n\tvar sock net.Conn\n\tvar err error\n\tvar wait <-chan time.Time\n\tvar buffered *bufio.Writer\n\tticker := time.NewTicker(flushInterval)\n\tdefer ticker.Stop()\n\nCONNECT:\n\t// Attempt to connect\n\tsock, err = net.Dial(\"tcp\", s.addr)\n\tif err != nil {\n\t\tlog.Printf(\"[ERR] Error connecting to statsite! Err: %s\", err)\n\t\tgoto WAIT\n\t}\n\n\t// Create a buffered writer\n\tbuffered = bufio.NewWriter(sock)\n\n\tfor {\n\t\tselect {\n\t\tcase metric, ok := <-s.metricQueue:\n\t\t\t// Get a metric from the queue\n\t\t\tif !ok {\n\t\t\t\tgoto QUIT\n\t\t\t}\n\n\t\t\t// Try to send to statsite\n\t\t\t_, err := buffered.Write([]byte(metric))\n\t\t\tif err != nil {\n\t\t\t\tlog.Printf(\"[ERR] Error writing to statsite! Err: %s\", err)\n\t\t\t\tgoto WAIT\n\t\t\t}\n\t\tcase <-ticker.C:\n\t\t\tif err := buffered.Flush(); err != nil {\n\t\t\t\tlog.Printf(\"[ERR] Error flushing to statsite! Err: %s\", err)\n\t\t\t\tgoto WAIT\n\t\t\t}\n\t\t}\n\t}\n\nWAIT:\n\t// Wait for a while\n\twait = time.After(time.Duration(5) * time.Second)\n\tfor {\n\t\tselect {\n\t\t// Dequeue the messages to avoid backlog\n\t\tcase _, ok := <-s.metricQueue:\n\t\t\tif !ok {\n\t\t\t\tgoto QUIT\n\t\t\t}\n\t\tcase <-wait:\n\t\t\tgoto CONNECT\n\t\t}\n\t}\nQUIT:\n\ts.metricQueue = nil\n}\n"
  },
  {
    "path": "vendor/github.com/boltdb/bolt/.gitignore",
    "content": "*.prof\n*.test\n*.swp\n/bin/\n"
  },
  {
    "path": "vendor/github.com/boltdb/bolt/LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2013 Ben Johnson\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"
  },
  {
    "path": "vendor/github.com/boltdb/bolt/Makefile",
    "content": "BRANCH=`git rev-parse --abbrev-ref HEAD`\nCOMMIT=`git rev-parse --short HEAD`\nGOLDFLAGS=\"-X main.branch $(BRANCH) -X main.commit $(COMMIT)\"\n\ndefault: build\n\nrace:\n\t@go test -v -race -test.run=\"TestSimulate_(100op|1000op)\"\n\n# go get github.com/kisielk/errcheck\nerrcheck:\n\t@errcheck -ignorepkg=bytes -ignore=os:Remove github.com/boltdb/bolt\n\ntest: \n\t@go test -v -cover .\n\t@go test -v ./cmd/bolt\n\n.PHONY: fmt test\n"
  },
  {
    "path": "vendor/github.com/boltdb/bolt/README.md",
    "content": "Bolt [![Coverage Status](https://coveralls.io/repos/boltdb/bolt/badge.svg?branch=master)](https://coveralls.io/r/boltdb/bolt?branch=master) [![GoDoc](https://godoc.org/github.com/boltdb/bolt?status.svg)](https://godoc.org/github.com/boltdb/bolt) ![Version](https://img.shields.io/badge/version-1.2.1-green.svg)\n====\n\nBolt is a pure Go key/value store inspired by [Howard Chu's][hyc_symas]\n[LMDB project][lmdb]. The goal of the project is to provide a simple,\nfast, and reliable database for projects that don't require a full database\nserver such as Postgres or MySQL.\n\nSince Bolt is meant to be used as such a low-level piece of functionality,\nsimplicity is key. The API will be small and only focus on getting values\nand setting values. That's it.\n\n[hyc_symas]: https://twitter.com/hyc_symas\n[lmdb]: http://symas.com/mdb/\n\n## Project Status\n\nBolt is stable, the API is fixed, and the file format is fixed. Full unit\ntest coverage and randomized black box testing are used to ensure database\nconsistency and thread safety. Bolt is currently used in high-load production\nenvironments serving databases as large as 1TB. Many companies such as\nShopify and Heroku use Bolt-backed services every day.\n\n## Table of Contents\n\n- [Getting Started](#getting-started)\n  - [Installing](#installing)\n  - [Opening a database](#opening-a-database)\n  - [Transactions](#transactions)\n    - [Read-write transactions](#read-write-transactions)\n    - [Read-only transactions](#read-only-transactions)\n    - [Batch read-write transactions](#batch-read-write-transactions)\n    - [Managing transactions manually](#managing-transactions-manually)\n  - [Using buckets](#using-buckets)\n  - [Using key/value pairs](#using-keyvalue-pairs)\n  - [Autoincrementing integer for the bucket](#autoincrementing-integer-for-the-bucket)\n  - [Iterating over keys](#iterating-over-keys)\n    - [Prefix scans](#prefix-scans)\n    - [Range scans](#range-scans)\n    - [ForEach()](#foreach)\n  - [Nested buckets](#nested-buckets)\n  - [Database backups](#database-backups)\n  - [Statistics](#statistics)\n  - [Read-Only Mode](#read-only-mode)\n  - [Mobile Use (iOS/Android)](#mobile-use-iosandroid)\n- [Resources](#resources)\n- [Comparison with other databases](#comparison-with-other-databases)\n  - [Postgres, MySQL, & other relational databases](#postgres-mysql--other-relational-databases)\n  - [LevelDB, RocksDB](#leveldb-rocksdb)\n  - [LMDB](#lmdb)\n- [Caveats & Limitations](#caveats--limitations)\n- [Reading the Source](#reading-the-source)\n- [Other Projects Using Bolt](#other-projects-using-bolt)\n\n## Getting Started\n\n### Installing\n\nTo start using Bolt, install Go and run `go get`:\n\n```sh\n$ go get github.com/boltdb/bolt/...\n```\n\nThis will retrieve the library and install the `bolt` command line utility into\nyour `$GOBIN` path.\n\n\n### Opening a database\n\nThe top-level object in Bolt is a `DB`. It is represented as a single file on\nyour disk and represents a consistent snapshot of your data.\n\nTo open your database, simply use the `bolt.Open()` function:\n\n```go\npackage main\n\nimport (\n\t\"log\"\n\n\t\"github.com/boltdb/bolt\"\n)\n\nfunc main() {\n\t// Open the my.db data file in your current directory.\n\t// It will be created if it doesn't exist.\n\tdb, err := bolt.Open(\"my.db\", 0600, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tdefer db.Close()\n\n\t...\n}\n```\n\nPlease note that Bolt obtains a file lock on the data file so multiple processes\ncannot open the same database at the same time. Opening an already open Bolt\ndatabase will cause it to hang until the other process closes it. To prevent\nan indefinite wait you can pass a timeout option to the `Open()` function:\n\n```go\ndb, err := bolt.Open(\"my.db\", 0600, &bolt.Options{Timeout: 1 * time.Second})\n```\n\n\n### Transactions\n\nBolt allows only one read-write transaction at a time but allows as many\nread-only transactions as you want at a time. Each transaction has a consistent\nview of the data as it existed when the transaction started.\n\nIndividual transactions and all objects created from them (e.g. buckets, keys)\nare not thread safe. To work with data in multiple goroutines you must start\na transaction for each one or use locking to ensure only one goroutine accesses\na transaction at a time. Creating transaction from the `DB` is thread safe.\n\nRead-only transactions and read-write transactions should not depend on one\nanother and generally shouldn't be opened simultaneously in the same goroutine.\nThis can cause a deadlock as the read-write transaction needs to periodically\nre-map the data file but it cannot do so while a read-only transaction is open.\n\n\n#### Read-write transactions\n\nTo start a read-write transaction, you can use the `DB.Update()` function:\n\n```go\nerr := db.Update(func(tx *bolt.Tx) error {\n\t...\n\treturn nil\n})\n```\n\nInside the closure, you have a consistent view of the database. You commit the\ntransaction by returning `nil` at the end. You can also rollback the transaction\nat any point by returning an error. All database operations are allowed inside\na read-write transaction.\n\nAlways check the return error as it will report any disk failures that can cause\nyour transaction to not complete. If you return an error within your closure\nit will be passed through.\n\n\n#### Read-only transactions\n\nTo start a read-only transaction, you can use the `DB.View()` function:\n\n```go\nerr := db.View(func(tx *bolt.Tx) error {\n\t...\n\treturn nil\n})\n```\n\nYou also get a consistent view of the database within this closure, however,\nno mutating operations are allowed within a read-only transaction. You can only\nretrieve buckets, retrieve values, and copy the database within a read-only\ntransaction.\n\n\n#### Batch read-write transactions\n\nEach `DB.Update()` waits for disk to commit the writes. This overhead\ncan be minimized by combining multiple updates with the `DB.Batch()`\nfunction:\n\n```go\nerr := db.Batch(func(tx *bolt.Tx) error {\n\t...\n\treturn nil\n})\n```\n\nConcurrent Batch calls are opportunistically combined into larger\ntransactions. Batch is only useful when there are multiple goroutines\ncalling it.\n\nThe trade-off is that `Batch` can call the given\nfunction multiple times, if parts of the transaction fail. The\nfunction must be idempotent and side effects must take effect only\nafter a successful return from `DB.Batch()`.\n\nFor example: don't display messages from inside the function, instead\nset variables in the enclosing scope:\n\n```go\nvar id uint64\nerr := db.Batch(func(tx *bolt.Tx) error {\n\t// Find last key in bucket, decode as bigendian uint64, increment\n\t// by one, encode back to []byte, and add new key.\n\t...\n\tid = newValue\n\treturn nil\n})\nif err != nil {\n\treturn ...\n}\nfmt.Println(\"Allocated ID %d\", id)\n```\n\n\n#### Managing transactions manually\n\nThe `DB.View()` and `DB.Update()` functions are wrappers around the `DB.Begin()`\nfunction. These helper functions will start the transaction, execute a function,\nand then safely close your transaction if an error is returned. This is the\nrecommended way to use Bolt transactions.\n\nHowever, sometimes you may want to manually start and end your transactions.\nYou can use the `DB.Begin()` function directly but **please** be sure to close\nthe transaction.\n\n```go\n// Start a writable transaction.\ntx, err := db.Begin(true)\nif err != nil {\n    return err\n}\ndefer tx.Rollback()\n\n// Use the transaction...\n_, err := tx.CreateBucket([]byte(\"MyBucket\"))\nif err != nil {\n    return err\n}\n\n// Commit the transaction and check for error.\nif err := tx.Commit(); err != nil {\n    return err\n}\n```\n\nThe first argument to `DB.Begin()` is a boolean stating if the transaction\nshould be writable.\n\n\n### Using buckets\n\nBuckets are collections of key/value pairs within the database. All keys in a\nbucket must be unique. You can create a bucket using the `DB.CreateBucket()`\nfunction:\n\n```go\ndb.Update(func(tx *bolt.Tx) error {\n\tb, err := tx.CreateBucket([]byte(\"MyBucket\"))\n\tif err != nil {\n\t\treturn fmt.Errorf(\"create bucket: %s\", err)\n\t}\n\treturn nil\n})\n```\n\nYou can also create a bucket only if it doesn't exist by using the\n`Tx.CreateBucketIfNotExists()` function. It's a common pattern to call this\nfunction for all your top-level buckets after you open your database so you can\nguarantee that they exist for future transactions.\n\nTo delete a bucket, simply call the `Tx.DeleteBucket()` function.\n\n\n### Using key/value pairs\n\nTo save a key/value pair to a bucket, use the `Bucket.Put()` function:\n\n```go\ndb.Update(func(tx *bolt.Tx) error {\n\tb := tx.Bucket([]byte(\"MyBucket\"))\n\terr := b.Put([]byte(\"answer\"), []byte(\"42\"))\n\treturn err\n})\n```\n\nThis will set the value of the `\"answer\"` key to `\"42\"` in the `MyBucket`\nbucket. To retrieve this value, we can use the `Bucket.Get()` function:\n\n```go\ndb.View(func(tx *bolt.Tx) error {\n\tb := tx.Bucket([]byte(\"MyBucket\"))\n\tv := b.Get([]byte(\"answer\"))\n\tfmt.Printf(\"The answer is: %s\\n\", v)\n\treturn nil\n})\n```\n\nThe `Get()` function does not return an error because its operation is\nguaranteed to work (unless there is some kind of system failure). If the key\nexists then it will return its byte slice value. If it doesn't exist then it\nwill return `nil`. It's important to note that you can have a zero-length value\nset to a key which is different than the key not existing.\n\nUse the `Bucket.Delete()` function to delete a key from the bucket.\n\nPlease note that values returned from `Get()` are only valid while the\ntransaction is open. If you need to use a value outside of the transaction\nthen you must use `copy()` to copy it to another byte slice.\n\n\n### Autoincrementing integer for the bucket\nBy using the `NextSequence()` function, you can let Bolt determine a sequence\nwhich can be used as the unique identifier for your key/value pairs. See the\nexample below.\n\n```go\n// CreateUser saves u to the store. The new user ID is set on u once the data is persisted.\nfunc (s *Store) CreateUser(u *User) error {\n    return s.db.Update(func(tx *bolt.Tx) error {\n        // Retrieve the users bucket.\n        // This should be created when the DB is first opened.\n        b := tx.Bucket([]byte(\"users\"))\n\n        // Generate ID for the user.\n        // This returns an error only if the Tx is closed or not writeable.\n        // That can't happen in an Update() call so I ignore the error check.\n        id, _ := b.NextSequence()\n        u.ID = int(id)\n\n        // Marshal user data into bytes.\n        buf, err := json.Marshal(u)\n        if err != nil {\n            return err\n        }\n\n        // Persist bytes to users bucket.\n        return b.Put(itob(u.ID), buf)\n    })\n}\n\n// itob returns an 8-byte big endian representation of v.\nfunc itob(v int) []byte {\n    b := make([]byte, 8)\n    binary.BigEndian.PutUint64(b, uint64(v))\n    return b\n}\n\ntype User struct {\n    ID int\n    ...\n}\n```\n\n### Iterating over keys\n\nBolt stores its keys in byte-sorted order within a bucket. This makes sequential\niteration over these keys extremely fast. To iterate over keys we'll use a\n`Cursor`:\n\n```go\ndb.View(func(tx *bolt.Tx) error {\n\t// Assume bucket exists and has keys\n\tb := tx.Bucket([]byte(\"MyBucket\"))\n\n\tc := b.Cursor()\n\n\tfor k, v := c.First(); k != nil; k, v = c.Next() {\n\t\tfmt.Printf(\"key=%s, value=%s\\n\", k, v)\n\t}\n\n\treturn nil\n})\n```\n\nThe cursor allows you to move to a specific point in the list of keys and move\nforward or backward through the keys one at a time.\n\nThe following functions are available on the cursor:\n\n```\nFirst()  Move to the first key.\nLast()   Move to the last key.\nSeek()   Move to a specific key.\nNext()   Move to the next key.\nPrev()   Move to the previous key.\n```\n\nEach of those functions has a return signature of `(key []byte, value []byte)`.\nWhen you have iterated to the end of the cursor then `Next()` will return a\n`nil` key.  You must seek to a position using `First()`, `Last()`, or `Seek()`\nbefore calling `Next()` or `Prev()`. If you do not seek to a position then\nthese functions will return a `nil` key.\n\nDuring iteration, if the key is non-`nil` but the value is `nil`, that means\nthe key refers to a bucket rather than a value.  Use `Bucket.Bucket()` to\naccess the sub-bucket.\n\n\n#### Prefix scans\n\nTo iterate over a key prefix, you can combine `Seek()` and `bytes.HasPrefix()`:\n\n```go\ndb.View(func(tx *bolt.Tx) error {\n\t// Assume bucket exists and has keys\n\tc := tx.Bucket([]byte(\"MyBucket\")).Cursor()\n\n\tprefix := []byte(\"1234\")\n\tfor k, v := c.Seek(prefix); k != nil && bytes.HasPrefix(k, prefix); k, v = c.Next() {\n\t\tfmt.Printf(\"key=%s, value=%s\\n\", k, v)\n\t}\n\n\treturn nil\n})\n```\n\n#### Range scans\n\nAnother common use case is scanning over a range such as a time range. If you\nuse a sortable time encoding such as RFC3339 then you can query a specific\ndate range like this:\n\n```go\ndb.View(func(tx *bolt.Tx) error {\n\t// Assume our events bucket exists and has RFC3339 encoded time keys.\n\tc := tx.Bucket([]byte(\"Events\")).Cursor()\n\n\t// Our time range spans the 90's decade.\n\tmin := []byte(\"1990-01-01T00:00:00Z\")\n\tmax := []byte(\"2000-01-01T00:00:00Z\")\n\n\t// Iterate over the 90's.\n\tfor k, v := c.Seek(min); k != nil && bytes.Compare(k, max) <= 0; k, v = c.Next() {\n\t\tfmt.Printf(\"%s: %s\\n\", k, v)\n\t}\n\n\treturn nil\n})\n```\n\nNote that, while RFC3339 is sortable, the Golang implementation of RFC3339Nano does not use a fixed number of digits after the decimal point and is therefore not sortable.\n\n\n#### ForEach()\n\nYou can also use the function `ForEach()` if you know you'll be iterating over\nall the keys in a bucket:\n\n```go\ndb.View(func(tx *bolt.Tx) error {\n\t// Assume bucket exists and has keys\n\tb := tx.Bucket([]byte(\"MyBucket\"))\n\n\tb.ForEach(func(k, v []byte) error {\n\t\tfmt.Printf(\"key=%s, value=%s\\n\", k, v)\n\t\treturn nil\n\t})\n\treturn nil\n})\n```\n\nPlease note that keys and values in `ForEach()` are only valid while\nthe transaction is open. If you need to use a key or value outside of\nthe transaction, you must use `copy()` to copy it to another byte\nslice.\n\n### Nested buckets\n\nYou can also store a bucket in a key to create nested buckets. The API is the\nsame as the bucket management API on the `DB` object:\n\n```go\nfunc (*Bucket) CreateBucket(key []byte) (*Bucket, error)\nfunc (*Bucket) CreateBucketIfNotExists(key []byte) (*Bucket, error)\nfunc (*Bucket) DeleteBucket(key []byte) error\n```\n\nSay you had a multi-tenant application where the root level bucket was the account bucket. Inside of this bucket was a sequence of accounts which themselves are buckets. And inside the sequence bucket you could have many buckets pertaining to the Account itself (Users, Notes, etc) isolating the information into logical groupings.\n\n```go\n\n// createUser creates a new user in the given account.\nfunc createUser(accountID int, u *User) error {\n    // Start the transaction.\n    tx, err := db.Begin(true)\n    if err != nil {\n        return err\n    }\n    defer tx.Rollback()\n\n    // Retrieve the root bucket for the account.\n    // Assume this has already been created when the account was set up.\n    root := tx.Bucket([]byte(strconv.FormatUint(accountID, 10)))\n\n    // Setup the users bucket.\n    bkt, err := root.CreateBucketIfNotExists([]byte(\"USERS\"))\n    if err != nil {\n        return err\n    }\n\n    // Generate an ID for the new user.\n    userID, err := bkt.NextSequence()\n    if err != nil {\n        return err\n    }\n    u.ID = userID\n\n    // Marshal and save the encoded user.\n    if buf, err := json.Marshal(u); err != nil {\n        return err\n    } else if err := bkt.Put([]byte(strconv.FormatUint(u.ID, 10)), buf); err != nil {\n        return err\n    }\n\n    // Commit the transaction.\n    if err := tx.Commit(); err != nil {\n        return err\n    }\n\n    return nil\n}\n\n```\n\n\n\n\n### Database backups\n\nBolt is a single file so it's easy to backup. You can use the `Tx.WriteTo()`\nfunction to write a consistent view of the database to a writer. If you call\nthis from a read-only transaction, it will perform a hot backup and not block\nyour other database reads and writes.\n\nBy default, it will use a regular file handle which will utilize the operating\nsystem's page cache. See the [`Tx`](https://godoc.org/github.com/boltdb/bolt#Tx)\ndocumentation for information about optimizing for larger-than-RAM datasets.\n\nOne common use case is to backup over HTTP so you can use tools like `cURL` to\ndo database backups:\n\n```go\nfunc BackupHandleFunc(w http.ResponseWriter, req *http.Request) {\n\terr := db.View(func(tx *bolt.Tx) error {\n\t\tw.Header().Set(\"Content-Type\", \"application/octet-stream\")\n\t\tw.Header().Set(\"Content-Disposition\", `attachment; filename=\"my.db\"`)\n\t\tw.Header().Set(\"Content-Length\", strconv.Itoa(int(tx.Size())))\n\t\t_, err := tx.WriteTo(w)\n\t\treturn err\n\t})\n\tif err != nil {\n\t\thttp.Error(w, err.Error(), http.StatusInternalServerError)\n\t}\n}\n```\n\nThen you can backup using this command:\n\n```sh\n$ curl http://localhost/backup > my.db\n```\n\nOr you can open your browser to `http://localhost/backup` and it will download\nautomatically.\n\nIf you want to backup to another file you can use the `Tx.CopyFile()` helper\nfunction.\n\n\n### Statistics\n\nThe database keeps a running count of many of the internal operations it\nperforms so you can better understand what's going on. By grabbing a snapshot\nof these stats at two points in time we can see what operations were performed\nin that time range.\n\nFor example, we could start a goroutine to log stats every 10 seconds:\n\n```go\ngo func() {\n\t// Grab the initial stats.\n\tprev := db.Stats()\n\n\tfor {\n\t\t// Wait for 10s.\n\t\ttime.Sleep(10 * time.Second)\n\n\t\t// Grab the current stats and diff them.\n\t\tstats := db.Stats()\n\t\tdiff := stats.Sub(&prev)\n\n\t\t// Encode stats to JSON and print to STDERR.\n\t\tjson.NewEncoder(os.Stderr).Encode(diff)\n\n\t\t// Save stats for the next loop.\n\t\tprev = stats\n\t}\n}()\n```\n\nIt's also useful to pipe these stats to a service such as statsd for monitoring\nor to provide an HTTP endpoint that will perform a fixed-length sample.\n\n\n### Read-Only Mode\n\nSometimes it is useful to create a shared, read-only Bolt database. To this,\nset the `Options.ReadOnly` flag when opening your database. Read-only mode\nuses a shared lock to allow multiple processes to read from the database but\nit will block any processes from opening the database in read-write mode.\n\n```go\ndb, err := bolt.Open(\"my.db\", 0666, &bolt.Options{ReadOnly: true})\nif err != nil {\n\tlog.Fatal(err)\n}\n```\n\n### Mobile Use (iOS/Android)\n\nBolt is able to run on mobile devices by leveraging the binding feature of the\n[gomobile](https://github.com/golang/mobile) tool. Create a struct that will\ncontain your database logic and a reference to a `*bolt.DB` with a initializing\nconstructor that takes in a filepath where the database file will be stored.\nNeither Android nor iOS require extra permissions or cleanup from using this method.\n\n```go\nfunc NewBoltDB(filepath string) *BoltDB {\n\tdb, err := bolt.Open(filepath+\"/demo.db\", 0600, nil)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\treturn &BoltDB{db}\n}\n\ntype BoltDB struct {\n\tdb *bolt.DB\n\t...\n}\n\nfunc (b *BoltDB) Path() string {\n\treturn b.db.Path()\n}\n\nfunc (b *BoltDB) Close() {\n\tb.db.Close()\n}\n```\n\nDatabase logic should be defined as methods on this wrapper struct.\n\nTo initialize this struct from the native language (both platforms now sync\ntheir local storage to the cloud. These snippets disable that functionality for the\ndatabase file):\n\n#### Android\n\n```java\nString path;\nif (android.os.Build.VERSION.SDK_INT >=android.os.Build.VERSION_CODES.LOLLIPOP){\n    path = getNoBackupFilesDir().getAbsolutePath();\n} else{\n    path = getFilesDir().getAbsolutePath();\n}\nBoltmobiledemo.BoltDB boltDB = Boltmobiledemo.NewBoltDB(path)\n```\n\n#### iOS\n\n```objc\n- (void)demo {\n    NSString* path = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,\n                                                          NSUserDomainMask,\n                                                          YES) objectAtIndex:0];\n\tGoBoltmobiledemoBoltDB * demo = GoBoltmobiledemoNewBoltDB(path);\n\t[self addSkipBackupAttributeToItemAtPath:demo.path];\n\t//Some DB Logic would go here\n\t[demo close];\n}\n\n- (BOOL)addSkipBackupAttributeToItemAtPath:(NSString *) filePathString\n{\n    NSURL* URL= [NSURL fileURLWithPath: filePathString];\n    assert([[NSFileManager defaultManager] fileExistsAtPath: [URL path]]);\n\n    NSError *error = nil;\n    BOOL success = [URL setResourceValue: [NSNumber numberWithBool: YES]\n                                  forKey: NSURLIsExcludedFromBackupKey error: &error];\n    if(!success){\n        NSLog(@\"Error excluding %@ from backup %@\", [URL lastPathComponent], error);\n    }\n    return success;\n}\n\n```\n\n## Resources\n\nFor more information on getting started with Bolt, check out the following articles:\n\n* [Intro to BoltDB: Painless Performant Persistence](http://npf.io/2014/07/intro-to-boltdb-painless-performant-persistence/) by [Nate Finch](https://github.com/natefinch).\n* [Bolt -- an embedded key/value database for Go](https://www.progville.com/go/bolt-embedded-db-golang/) by Progville\n\n\n## Comparison with other databases\n\n### Postgres, MySQL, & other relational databases\n\nRelational databases structure data into rows and are only accessible through\nthe use of SQL. This approach provides flexibility in how you store and query\nyour data but also incurs overhead in parsing and planning SQL statements. Bolt\naccesses all data by a byte slice key. This makes Bolt fast to read and write\ndata by key but provides no built-in support for joining values together.\n\nMost relational databases (with the exception of SQLite) are standalone servers\nthat run separately from your application. This gives your systems\nflexibility to connect multiple application servers to a single database\nserver but also adds overhead in serializing and transporting data over the\nnetwork. Bolt runs as a library included in your application so all data access\nhas to go through your application's process. This brings data closer to your\napplication but limits multi-process access to the data.\n\n\n### LevelDB, RocksDB\n\nLevelDB and its derivatives (RocksDB, HyperLevelDB) are similar to Bolt in that\nthey are libraries bundled into the application, however, their underlying\nstructure is a log-structured merge-tree (LSM tree). An LSM tree optimizes\nrandom writes by using a write ahead log and multi-tiered, sorted files called\nSSTables. Bolt uses a B+tree internally and only a single file. Both approaches\nhave trade-offs.\n\nIf you require a high random write throughput (>10,000 w/sec) or you need to use\nspinning disks then LevelDB could be a good choice. If your application is\nread-heavy or does a lot of range scans then Bolt could be a good choice.\n\nOne other important consideration is that LevelDB does not have transactions.\nIt supports batch writing of key/values pairs and it supports read snapshots\nbut it will not give you the ability to do a compare-and-swap operation safely.\nBolt supports fully serializable ACID transactions.\n\n\n### LMDB\n\nBolt was originally a port of LMDB so it is architecturally similar. Both use\na B+tree, have ACID semantics with fully serializable transactions, and support\nlock-free MVCC using a single writer and multiple readers.\n\nThe two projects have somewhat diverged. LMDB heavily focuses on raw performance\nwhile Bolt has focused on simplicity and ease of use. For example, LMDB allows\nseveral unsafe actions such as direct writes for the sake of performance. Bolt\nopts to disallow actions which can leave the database in a corrupted state. The\nonly exception to this in Bolt is `DB.NoSync`.\n\nThere are also a few differences in API. LMDB requires a maximum mmap size when\nopening an `mdb_env` whereas Bolt will handle incremental mmap resizing\nautomatically. LMDB overloads the getter and setter functions with multiple\nflags whereas Bolt splits these specialized cases into their own functions.\n\n\n## Caveats & Limitations\n\nIt's important to pick the right tool for the job and Bolt is no exception.\nHere are a few things to note when evaluating and using Bolt:\n\n* Bolt is good for read intensive workloads. Sequential write performance is\n  also fast but random writes can be slow. You can use `DB.Batch()` or add a\n  write-ahead log to help mitigate this issue.\n\n* Bolt uses a B+tree internally so there can be a lot of random page access.\n  SSDs provide a significant performance boost over spinning disks.\n\n* Try to avoid long running read transactions. Bolt uses copy-on-write so\n  old pages cannot be reclaimed while an old transaction is using them.\n\n* Byte slices returned from Bolt are only valid during a transaction. Once the\n  transaction has been committed or rolled back then the memory they point to\n  can be reused by a new page or can be unmapped from virtual memory and you'll\n  see an `unexpected fault address` panic when accessing it.\n\n* Bolt uses an exclusive write lock on the database file so it cannot be\n  shared by multiple processes.\n\n* Be careful when using `Bucket.FillPercent`. Setting a high fill percent for\n  buckets that have random inserts will cause your database to have very poor\n  page utilization.\n\n* Use larger buckets in general. Smaller buckets causes poor page utilization\n  once they become larger than the page size (typically 4KB).\n\n* Bulk loading a lot of random writes into a new bucket can be slow as the\n  page will not split until the transaction is committed. Randomly inserting\n  more than 100,000 key/value pairs into a single new bucket in a single\n  transaction is not advised.\n\n* Bolt uses a memory-mapped file so the underlying operating system handles the\n  caching of the data. Typically, the OS will cache as much of the file as it\n  can in memory and will release memory as needed to other processes. This means\n  that Bolt can show very high memory usage when working with large databases.\n  However, this is expected and the OS will release memory as needed. Bolt can\n  handle databases much larger than the available physical RAM, provided its\n  memory-map fits in the process virtual address space. It may be problematic\n  on 32-bits systems.\n\n* The data structures in the Bolt database are memory mapped so the data file\n  will be endian specific. This means that you cannot copy a Bolt file from a\n  little endian machine to a big endian machine and have it work. For most\n  users this is not a concern since most modern CPUs are little endian.\n\n* Because of the way pages are laid out on disk, Bolt cannot truncate data files\n  and return free pages back to the disk. Instead, Bolt maintains a free list\n  of unused pages within its data file. These free pages can be reused by later\n  transactions. This works well for many use cases as databases generally tend\n  to grow. However, it's important to note that deleting large chunks of data\n  will not allow you to reclaim that space on disk.\n\n  For more information on page allocation, [see this comment][page-allocation].\n\n[page-allocation]: https://github.com/boltdb/bolt/issues/308#issuecomment-74811638\n\n\n## Reading the Source\n\nBolt is a relatively small code base (<3KLOC) for an embedded, serializable,\ntransactional key/value database so it can be a good starting point for people\ninterested in how databases work.\n\nThe best places to start are the main entry points into Bolt:\n\n- `Open()` - Initializes the reference to the database. It's responsible for\n  creating the database if it doesn't exist, obtaining an exclusive lock on the\n  file, reading the meta pages, & memory-mapping the file.\n\n- `DB.Begin()` - Starts a read-only or read-write transaction depending on the\n  value of the `writable` argument. This requires briefly obtaining the \"meta\"\n  lock to keep track of open transactions. Only one read-write transaction can\n  exist at a time so the \"rwlock\" is acquired during the life of a read-write\n  transaction.\n\n- `Bucket.Put()` - Writes a key/value pair into a bucket. After validating the\n  arguments, a cursor is used to traverse the B+tree to the page and position\n  where they key & value will be written. Once the position is found, the bucket\n  materializes the underlying page and the page's parent pages into memory as\n  \"nodes\". These nodes are where mutations occur during read-write transactions.\n  These changes get flushed to disk during commit.\n\n- `Bucket.Get()` - Retrieves a key/value pair from a bucket. This uses a cursor\n  to move to the page & position of a key/value pair. During a read-only\n  transaction, the key and value data is returned as a direct reference to the\n  underlying mmap file so there's no allocation overhead. For read-write\n  transactions, this data may reference the mmap file or one of the in-memory\n  node values.\n\n- `Cursor` - This object is simply for traversing the B+tree of on-disk pages\n  or in-memory nodes. It can seek to a specific key, move to the first or last\n  value, or it can move forward or backward. The cursor handles the movement up\n  and down the B+tree transparently to the end user.\n\n- `Tx.Commit()` - Converts the in-memory dirty nodes and the list of free pages\n  into pages to be written to disk. Writing to disk then occurs in two phases.\n  First, the dirty pages are written to disk and an `fsync()` occurs. Second, a\n  new meta page with an incremented transaction ID is written and another\n  `fsync()` occurs. This two phase write ensures that partially written data\n  pages are ignored in the event of a crash since the meta page pointing to them\n  is never written. Partially written meta pages are invalidated because they\n  are written with a checksum.\n\nIf you have additional notes that could be helpful for others, please submit\nthem via pull request.\n\n\n## Other Projects Using Bolt\n\nBelow is a list of public, open source projects that use Bolt:\n\n* [BoltDbWeb](https://github.com/evnix/boltdbweb) - A web based GUI for BoltDB files.\n* [Operation Go: A Routine Mission](http://gocode.io) - An online programming game for Golang using Bolt for user accounts and a leaderboard.\n* [Bazil](https://bazil.org/) - A file system that lets your data reside where it is most convenient for it to reside.\n* [DVID](https://github.com/janelia-flyem/dvid) - Added Bolt as optional storage engine and testing it against Basho-tuned leveldb.\n* [Skybox Analytics](https://github.com/skybox/skybox) - A standalone funnel analysis tool for web analytics.\n* [Scuttlebutt](https://github.com/benbjohnson/scuttlebutt) - Uses Bolt to store and process all Twitter mentions of GitHub projects.\n* [Wiki](https://github.com/peterhellberg/wiki) - A tiny wiki using Goji, BoltDB and Blackfriday.\n* [ChainStore](https://github.com/pressly/chainstore) - Simple key-value interface to a variety of storage engines organized as a chain of operations.\n* [MetricBase](https://github.com/msiebuhr/MetricBase) - Single-binary version of Graphite.\n* [Gitchain](https://github.com/gitchain/gitchain) - Decentralized, peer-to-peer Git repositories aka \"Git meets Bitcoin\".\n* [event-shuttle](https://github.com/sclasen/event-shuttle) - A Unix system service to collect and reliably deliver messages to Kafka.\n* [ipxed](https://github.com/kelseyhightower/ipxed) - Web interface and api for ipxed.\n* [BoltStore](https://github.com/yosssi/boltstore) - Session store using Bolt.\n* [photosite/session](https://godoc.org/bitbucket.org/kardianos/photosite/session) - Sessions for a photo viewing site.\n* [LedisDB](https://github.com/siddontang/ledisdb) - A high performance NoSQL, using Bolt as optional storage.\n* [ipLocator](https://github.com/AndreasBriese/ipLocator) - A fast ip-geo-location-server using bolt with bloom filters.\n* [cayley](https://github.com/google/cayley) - Cayley is an open-source graph database using Bolt as optional backend.\n* [bleve](http://www.blevesearch.com/) - A pure Go search engine similar to ElasticSearch that uses Bolt as the default storage backend.\n* [tentacool](https://github.com/optiflows/tentacool) - REST api server to manage system stuff (IP, DNS, Gateway...) on a linux server.\n* [Seaweed File System](https://github.com/chrislusf/seaweedfs) - Highly scalable distributed key~file system with O(1) disk read.\n* [InfluxDB](https://influxdata.com) - Scalable datastore for metrics, events, and real-time analytics.\n* [Freehold](http://tshannon.bitbucket.org/freehold/) - An open, secure, and lightweight platform for your files and data.\n* [Prometheus Annotation Server](https://github.com/oliver006/prom_annotation_server) - Annotation server for PromDash & Prometheus service monitoring system.\n* [Consul](https://github.com/hashicorp/consul) - Consul is service discovery and configuration made easy. Distributed, highly available, and datacenter-aware.\n* [Kala](https://github.com/ajvb/kala) - Kala is a modern job scheduler optimized to run on a single node. It is persistent, JSON over HTTP API, ISO 8601 duration notation, and dependent jobs.\n* [drive](https://github.com/odeke-em/drive) - drive is an unofficial Google Drive command line client for \\*NIX operating systems.\n* [stow](https://github.com/djherbis/stow) -  a persistence manager for objects\n  backed by boltdb.\n* [buckets](https://github.com/joyrexus/buckets) - a bolt wrapper streamlining\n  simple tx and key scans.\n* [mbuckets](https://github.com/abhigupta912/mbuckets) - A Bolt wrapper that allows easy operations on multi level (nested) buckets.\n* [Request Baskets](https://github.com/darklynx/request-baskets) - A web service to collect arbitrary HTTP requests and inspect them via REST API or simple web UI, similar to [RequestBin](http://requestb.in/) service\n* [Go Report Card](https://goreportcard.com/) - Go code quality report cards as a (free and open source) service.\n* [Boltdb Boilerplate](https://github.com/bobintornado/boltdb-boilerplate) - Boilerplate wrapper around bolt aiming to make simple calls one-liners.\n* [lru](https://github.com/crowdriff/lru) - Easy to use Bolt-backed Least-Recently-Used (LRU) read-through cache with chainable remote stores.\n* [Storm](https://github.com/asdine/storm) - Simple and powerful ORM for BoltDB.\n* [GoWebApp](https://github.com/josephspurrier/gowebapp) - A basic MVC web application in Go using BoltDB.\n* [SimpleBolt](https://github.com/xyproto/simplebolt) - A simple way to use BoltDB. Deals mainly with strings.\n* [Algernon](https://github.com/xyproto/algernon) - A HTTP/2 web server with built-in support for Lua. Uses BoltDB as the default database backend.\n* [MuLiFS](https://github.com/dankomiocevic/mulifs) - Music Library Filesystem creates a filesystem to organise your music files.\n* [GoShort](https://github.com/pankajkhairnar/goShort) - GoShort is a URL shortener written in Golang and BoltDB for persistent key/value storage and for routing it's using high performent HTTPRouter.\n* [torrent](https://github.com/anacrolix/torrent) - Full-featured BitTorrent client package and utilities in Go. BoltDB is a storage backend in development.\n* [gopherpit](https://github.com/gopherpit/gopherpit) - A web service to manage Go remote import paths with custom domains\n* [bolter](https://github.com/hasit/bolter) - Command-line app for viewing BoltDB file in your terminal.\n* [btcwallet](https://github.com/btcsuite/btcwallet) - A bitcoin wallet.\n* [dcrwallet](https://github.com/decred/dcrwallet) - A wallet for the Decred cryptocurrency.\n* [Ironsmith](https://github.com/timshannon/ironsmith) - A simple, script-driven continuous integration (build - > test -> release) tool, with no external dependencies\n* [BoltHold](https://github.com/timshannon/bolthold) - An embeddable NoSQL store for Go types built on BoltDB\n* [Ponzu CMS](https://ponzu-cms.org) - Headless CMS + automatic JSON API with auto-HTTPS, HTTP/2 Server Push, and flexible server framework.\n\nIf you are using Bolt in a project please send a pull request to add it to the list.\n"
  },
  {
    "path": "vendor/github.com/boltdb/bolt/appveyor.yml",
    "content": "version: \"{build}\"\n\nos: Windows Server 2012 R2\n\nclone_folder: c:\\gopath\\src\\github.com\\boltdb\\bolt\n\nenvironment:\n  GOPATH: c:\\gopath\n\ninstall:\n  - echo %PATH%\n  - echo %GOPATH%\n  - go version\n  - go env\n  - go get -v -t ./...\n\nbuild_script:\n  - go test -v ./...\n"
  },
  {
    "path": "vendor/github.com/boltdb/bolt/bolt_386.go",
    "content": "package bolt\n\n// maxMapSize represents the largest mmap size supported by Bolt.\nconst maxMapSize = 0x7FFFFFFF // 2GB\n\n// maxAllocSize is the size used when creating array pointers.\nconst maxAllocSize = 0xFFFFFFF\n\n// Are unaligned load/stores broken on this arch?\nvar brokenUnaligned = false\n"
  },
  {
    "path": "vendor/github.com/boltdb/bolt/bolt_amd64.go",
    "content": "package bolt\n\n// maxMapSize represents the largest mmap size supported by Bolt.\nconst maxMapSize = 0xFFFFFFFFFFFF // 256TB\n\n// maxAllocSize is the size used when creating array pointers.\nconst maxAllocSize = 0x7FFFFFFF\n\n// Are unaligned load/stores broken on this arch?\nvar brokenUnaligned = false\n"
  },
  {
    "path": "vendor/github.com/boltdb/bolt/bolt_arm.go",
    "content": "package bolt\n\nimport \"unsafe\"\n\n// maxMapSize represents the largest mmap size supported by Bolt.\nconst maxMapSize = 0x7FFFFFFF // 2GB\n\n// maxAllocSize is the size used when creating array pointers.\nconst maxAllocSize = 0xFFFFFFF\n\n// Are unaligned load/stores broken on this arch?\nvar brokenUnaligned bool\n\nfunc init() {\n\t// Simple check to see whether this arch handles unaligned load/stores\n\t// correctly.\n\n\t// ARM9 and older devices require load/stores to be from/to aligned\n\t// addresses. If not, the lower 2 bits are cleared and that address is\n\t// read in a jumbled up order.\n\n\t// See http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka15414.html\n\n\traw := [6]byte{0xfe, 0xef, 0x11, 0x22, 0x22, 0x11}\n\tval := *(*uint32)(unsafe.Pointer(uintptr(unsafe.Pointer(&raw)) + 2))\n\n\tbrokenUnaligned = val != 0x11222211\n}\n"
  },
  {
    "path": "vendor/github.com/boltdb/bolt/bolt_arm64.go",
    "content": "// +build arm64\n\npackage bolt\n\n// maxMapSize represents the largest mmap size supported by Bolt.\nconst maxMapSize = 0xFFFFFFFFFFFF // 256TB\n\n// maxAllocSize is the size used when creating array pointers.\nconst maxAllocSize = 0x7FFFFFFF\n\n// Are unaligned load/stores broken on this arch?\nvar brokenUnaligned = false\n"
  },
  {
    "path": "vendor/github.com/boltdb/bolt/bolt_linux.go",
    "content": "package bolt\n\nimport (\n\t\"syscall\"\n)\n\n// fdatasync flushes written data to a file descriptor.\nfunc fdatasync(db *DB) error {\n\treturn syscall.Fdatasync(int(db.file.Fd()))\n}\n"
  },
  {
    "path": "vendor/github.com/boltdb/bolt/bolt_openbsd.go",
    "content": "package bolt\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nconst (\n\tmsAsync      = 1 << iota // perform asynchronous writes\n\tmsSync                   // perform synchronous writes\n\tmsInvalidate             // invalidate cached data\n)\n\nfunc msync(db *DB) error {\n\t_, _, errno := syscall.Syscall(syscall.SYS_MSYNC, uintptr(unsafe.Pointer(db.data)), uintptr(db.datasz), msInvalidate)\n\tif errno != 0 {\n\t\treturn errno\n\t}\n\treturn nil\n}\n\nfunc fdatasync(db *DB) error {\n\tif db.data != nil {\n\t\treturn msync(db)\n\t}\n\treturn db.file.Sync()\n}\n"
  },
  {
    "path": "vendor/github.com/boltdb/bolt/bolt_ppc.go",
    "content": "// +build ppc\n\npackage bolt\n\n// maxMapSize represents the largest mmap size supported by Bolt.\nconst maxMapSize = 0x7FFFFFFF // 2GB\n\n// maxAllocSize is the size used when creating array pointers.\nconst maxAllocSize = 0xFFFFFFF\n"
  },
  {
    "path": "vendor/github.com/boltdb/bolt/bolt_ppc64.go",
    "content": "// +build ppc64\n\npackage bolt\n\n// maxMapSize represents the largest mmap size supported by Bolt.\nconst maxMapSize = 0xFFFFFFFFFFFF // 256TB\n\n// maxAllocSize is the size used when creating array pointers.\nconst maxAllocSize = 0x7FFFFFFF\n\n// Are unaligned load/stores broken on this arch?\nvar brokenUnaligned = false\n"
  },
  {
    "path": "vendor/github.com/boltdb/bolt/bolt_ppc64le.go",
    "content": "// +build ppc64le\n\npackage bolt\n\n// maxMapSize represents the largest mmap size supported by Bolt.\nconst maxMapSize = 0xFFFFFFFFFFFF // 256TB\n\n// maxAllocSize is the size used when creating array pointers.\nconst maxAllocSize = 0x7FFFFFFF\n\n// Are unaligned load/stores broken on this arch?\nvar brokenUnaligned = false\n"
  },
  {
    "path": "vendor/github.com/boltdb/bolt/bolt_s390x.go",
    "content": "// +build s390x\n\npackage bolt\n\n// maxMapSize represents the largest mmap size supported by Bolt.\nconst maxMapSize = 0xFFFFFFFFFFFF // 256TB\n\n// maxAllocSize is the size used when creating array pointers.\nconst maxAllocSize = 0x7FFFFFFF\n\n// Are unaligned load/stores broken on this arch?\nvar brokenUnaligned = false\n"
  },
  {
    "path": "vendor/github.com/boltdb/bolt/bolt_unix.go",
    "content": "// +build !windows,!plan9,!solaris\n\npackage bolt\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\t\"syscall\"\n\t\"time\"\n\t\"unsafe\"\n)\n\n// flock acquires an advisory lock on a file descriptor.\nfunc flock(db *DB, mode os.FileMode, exclusive bool, timeout time.Duration) error {\n\tvar t time.Time\n\tfor {\n\t\t// If we're beyond our timeout then return an error.\n\t\t// This can only occur after we've attempted a flock once.\n\t\tif t.IsZero() {\n\t\t\tt = time.Now()\n\t\t} else if timeout > 0 && time.Since(t) > timeout {\n\t\t\treturn ErrTimeout\n\t\t}\n\t\tflag := syscall.LOCK_SH\n\t\tif exclusive {\n\t\t\tflag = syscall.LOCK_EX\n\t\t}\n\n\t\t// Otherwise attempt to obtain an exclusive lock.\n\t\terr := syscall.Flock(int(db.file.Fd()), flag|syscall.LOCK_NB)\n\t\tif err == nil {\n\t\t\treturn nil\n\t\t} else if err != syscall.EWOULDBLOCK {\n\t\t\treturn err\n\t\t}\n\n\t\t// Wait for a bit and try again.\n\t\ttime.Sleep(50 * time.Millisecond)\n\t}\n}\n\n// funlock releases an advisory lock on a file descriptor.\nfunc funlock(db *DB) error {\n\treturn syscall.Flock(int(db.file.Fd()), syscall.LOCK_UN)\n}\n\n// mmap memory maps a DB's data file.\nfunc mmap(db *DB, sz int) error {\n\t// Map the data file to memory.\n\tb, err := syscall.Mmap(int(db.file.Fd()), 0, sz, syscall.PROT_READ, syscall.MAP_SHARED|db.MmapFlags)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Advise the kernel that the mmap is accessed randomly.\n\tif err := madvise(b, syscall.MADV_RANDOM); err != nil {\n\t\treturn fmt.Errorf(\"madvise: %s\", err)\n\t}\n\n\t// Save the original byte slice and convert to a byte array pointer.\n\tdb.dataref = b\n\tdb.data = (*[maxMapSize]byte)(unsafe.Pointer(&b[0]))\n\tdb.datasz = sz\n\treturn nil\n}\n\n// munmap unmaps a DB's data file from memory.\nfunc munmap(db *DB) error {\n\t// Ignore the unmap if we have no mapped data.\n\tif db.dataref == nil {\n\t\treturn nil\n\t}\n\n\t// Unmap using the original byte slice.\n\terr := syscall.Munmap(db.dataref)\n\tdb.dataref = nil\n\tdb.data = nil\n\tdb.datasz = 0\n\treturn err\n}\n\n// NOTE: This function is copied from stdlib because it is not available on darwin.\nfunc madvise(b []byte, advice int) (err error) {\n\t_, _, e1 := syscall.Syscall(syscall.SYS_MADVISE, uintptr(unsafe.Pointer(&b[0])), uintptr(len(b)), uintptr(advice))\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/github.com/boltdb/bolt/bolt_unix_solaris.go",
    "content": "package bolt\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\t\"syscall\"\n\t\"time\"\n\t\"unsafe\"\n\n\t\"golang.org/x/sys/unix\"\n)\n\n// flock acquires an advisory lock on a file descriptor.\nfunc flock(db *DB, mode os.FileMode, exclusive bool, timeout time.Duration) error {\n\tvar t time.Time\n\tfor {\n\t\t// If we're beyond our timeout then return an error.\n\t\t// This can only occur after we've attempted a flock once.\n\t\tif t.IsZero() {\n\t\t\tt = time.Now()\n\t\t} else if timeout > 0 && time.Since(t) > timeout {\n\t\t\treturn ErrTimeout\n\t\t}\n\t\tvar lock syscall.Flock_t\n\t\tlock.Start = 0\n\t\tlock.Len = 0\n\t\tlock.Pid = 0\n\t\tlock.Whence = 0\n\t\tlock.Pid = 0\n\t\tif exclusive {\n\t\t\tlock.Type = syscall.F_WRLCK\n\t\t} else {\n\t\t\tlock.Type = syscall.F_RDLCK\n\t\t}\n\t\terr := syscall.FcntlFlock(db.file.Fd(), syscall.F_SETLK, &lock)\n\t\tif err == nil {\n\t\t\treturn nil\n\t\t} else if err != syscall.EAGAIN {\n\t\t\treturn err\n\t\t}\n\n\t\t// Wait for a bit and try again.\n\t\ttime.Sleep(50 * time.Millisecond)\n\t}\n}\n\n// funlock releases an advisory lock on a file descriptor.\nfunc funlock(db *DB) error {\n\tvar lock syscall.Flock_t\n\tlock.Start = 0\n\tlock.Len = 0\n\tlock.Type = syscall.F_UNLCK\n\tlock.Whence = 0\n\treturn syscall.FcntlFlock(uintptr(db.file.Fd()), syscall.F_SETLK, &lock)\n}\n\n// mmap memory maps a DB's data file.\nfunc mmap(db *DB, sz int) error {\n\t// Map the data file to memory.\n\tb, err := unix.Mmap(int(db.file.Fd()), 0, sz, syscall.PROT_READ, syscall.MAP_SHARED|db.MmapFlags)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Advise the kernel that the mmap is accessed randomly.\n\tif err := unix.Madvise(b, syscall.MADV_RANDOM); err != nil {\n\t\treturn fmt.Errorf(\"madvise: %s\", err)\n\t}\n\n\t// Save the original byte slice and convert to a byte array pointer.\n\tdb.dataref = b\n\tdb.data = (*[maxMapSize]byte)(unsafe.Pointer(&b[0]))\n\tdb.datasz = sz\n\treturn nil\n}\n\n// munmap unmaps a DB's data file from memory.\nfunc munmap(db *DB) error {\n\t// Ignore the unmap if we have no mapped data.\n\tif db.dataref == nil {\n\t\treturn nil\n\t}\n\n\t// Unmap using the original byte slice.\n\terr := unix.Munmap(db.dataref)\n\tdb.dataref = nil\n\tdb.data = nil\n\tdb.datasz = 0\n\treturn err\n}\n"
  },
  {
    "path": "vendor/github.com/boltdb/bolt/bolt_windows.go",
    "content": "package bolt\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\t\"syscall\"\n\t\"time\"\n\t\"unsafe\"\n)\n\n// LockFileEx code derived from golang build filemutex_windows.go @ v1.5.1\nvar (\n\tmodkernel32      = syscall.NewLazyDLL(\"kernel32.dll\")\n\tprocLockFileEx   = modkernel32.NewProc(\"LockFileEx\")\n\tprocUnlockFileEx = modkernel32.NewProc(\"UnlockFileEx\")\n)\n\nconst (\n\tlockExt = \".lock\"\n\n\t// see https://msdn.microsoft.com/en-us/library/windows/desktop/aa365203(v=vs.85).aspx\n\tflagLockExclusive       = 2\n\tflagLockFailImmediately = 1\n\n\t// see https://msdn.microsoft.com/en-us/library/windows/desktop/ms681382(v=vs.85).aspx\n\terrLockViolation syscall.Errno = 0x21\n)\n\nfunc lockFileEx(h syscall.Handle, flags, reserved, locklow, lockhigh uint32, ol *syscall.Overlapped) (err error) {\n\tr, _, err := procLockFileEx.Call(uintptr(h), uintptr(flags), uintptr(reserved), uintptr(locklow), uintptr(lockhigh), uintptr(unsafe.Pointer(ol)))\n\tif r == 0 {\n\t\treturn err\n\t}\n\treturn nil\n}\n\nfunc unlockFileEx(h syscall.Handle, reserved, locklow, lockhigh uint32, ol *syscall.Overlapped) (err error) {\n\tr, _, err := procUnlockFileEx.Call(uintptr(h), uintptr(reserved), uintptr(locklow), uintptr(lockhigh), uintptr(unsafe.Pointer(ol)), 0)\n\tif r == 0 {\n\t\treturn err\n\t}\n\treturn nil\n}\n\n// fdatasync flushes written data to a file descriptor.\nfunc fdatasync(db *DB) error {\n\treturn db.file.Sync()\n}\n\n// flock acquires an advisory lock on a file descriptor.\nfunc flock(db *DB, mode os.FileMode, exclusive bool, timeout time.Duration) error {\n\t// Create a separate lock file on windows because a process\n\t// cannot share an exclusive lock on the same file. This is\n\t// needed during Tx.WriteTo().\n\tf, err := os.OpenFile(db.path+lockExt, os.O_CREATE, mode)\n\tif err != nil {\n\t\treturn err\n\t}\n\tdb.lockfile = f\n\n\tvar t time.Time\n\tfor {\n\t\t// If we're beyond our timeout then return an error.\n\t\t// This can only occur after we've attempted a flock once.\n\t\tif t.IsZero() {\n\t\t\tt = time.Now()\n\t\t} else if timeout > 0 && time.Since(t) > timeout {\n\t\t\treturn ErrTimeout\n\t\t}\n\n\t\tvar flag uint32 = flagLockFailImmediately\n\t\tif exclusive {\n\t\t\tflag |= flagLockExclusive\n\t\t}\n\n\t\terr := lockFileEx(syscall.Handle(db.lockfile.Fd()), flag, 0, 1, 0, &syscall.Overlapped{})\n\t\tif err == nil {\n\t\t\treturn nil\n\t\t} else if err != errLockViolation {\n\t\t\treturn err\n\t\t}\n\n\t\t// Wait for a bit and try again.\n\t\ttime.Sleep(50 * time.Millisecond)\n\t}\n}\n\n// funlock releases an advisory lock on a file descriptor.\nfunc funlock(db *DB) error {\n\terr := unlockFileEx(syscall.Handle(db.lockfile.Fd()), 0, 1, 0, &syscall.Overlapped{})\n\tdb.lockfile.Close()\n\tos.Remove(db.path + lockExt)\n\treturn err\n}\n\n// mmap memory maps a DB's data file.\n// Based on: https://github.com/edsrzf/mmap-go\nfunc mmap(db *DB, sz int) error {\n\tif !db.readOnly {\n\t\t// Truncate the database to the size of the mmap.\n\t\tif err := db.file.Truncate(int64(sz)); err != nil {\n\t\t\treturn fmt.Errorf(\"truncate: %s\", err)\n\t\t}\n\t}\n\n\t// Open a file mapping handle.\n\tsizelo := uint32(sz >> 32)\n\tsizehi := uint32(sz) & 0xffffffff\n\th, errno := syscall.CreateFileMapping(syscall.Handle(db.file.Fd()), nil, syscall.PAGE_READONLY, sizelo, sizehi, nil)\n\tif h == 0 {\n\t\treturn os.NewSyscallError(\"CreateFileMapping\", errno)\n\t}\n\n\t// Create the memory map.\n\taddr, errno := syscall.MapViewOfFile(h, syscall.FILE_MAP_READ, 0, 0, uintptr(sz))\n\tif addr == 0 {\n\t\treturn os.NewSyscallError(\"MapViewOfFile\", errno)\n\t}\n\n\t// Close mapping handle.\n\tif err := syscall.CloseHandle(syscall.Handle(h)); err != nil {\n\t\treturn os.NewSyscallError(\"CloseHandle\", err)\n\t}\n\n\t// Convert to a byte array.\n\tdb.data = ((*[maxMapSize]byte)(unsafe.Pointer(addr)))\n\tdb.datasz = sz\n\n\treturn nil\n}\n\n// munmap unmaps a pointer from a file.\n// Based on: https://github.com/edsrzf/mmap-go\nfunc munmap(db *DB) error {\n\tif db.data == nil {\n\t\treturn nil\n\t}\n\n\taddr := (uintptr)(unsafe.Pointer(&db.data[0]))\n\tif err := syscall.UnmapViewOfFile(addr); err != nil {\n\t\treturn os.NewSyscallError(\"UnmapViewOfFile\", err)\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/github.com/boltdb/bolt/boltsync_unix.go",
    "content": "// +build !windows,!plan9,!linux,!openbsd\n\npackage bolt\n\n// fdatasync flushes written data to a file descriptor.\nfunc fdatasync(db *DB) error {\n\treturn db.file.Sync()\n}\n"
  },
  {
    "path": "vendor/github.com/boltdb/bolt/bucket.go",
    "content": "package bolt\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"unsafe\"\n)\n\nconst (\n\t// MaxKeySize is the maximum length of a key, in bytes.\n\tMaxKeySize = 32768\n\n\t// MaxValueSize is the maximum length of a value, in bytes.\n\tMaxValueSize = (1 << 31) - 2\n)\n\nconst (\n\tmaxUint = ^uint(0)\n\tminUint = 0\n\tmaxInt  = int(^uint(0) >> 1)\n\tminInt  = -maxInt - 1\n)\n\nconst bucketHeaderSize = int(unsafe.Sizeof(bucket{}))\n\nconst (\n\tminFillPercent = 0.1\n\tmaxFillPercent = 1.0\n)\n\n// DefaultFillPercent is the percentage that split pages are filled.\n// This value can be changed by setting Bucket.FillPercent.\nconst DefaultFillPercent = 0.5\n\n// Bucket represents a collection of key/value pairs inside the database.\ntype Bucket struct {\n\t*bucket\n\ttx       *Tx                // the associated transaction\n\tbuckets  map[string]*Bucket // subbucket cache\n\tpage     *page              // inline page reference\n\trootNode *node              // materialized node for the root page.\n\tnodes    map[pgid]*node     // node cache\n\n\t// Sets the threshold for filling nodes when they split. By default,\n\t// the bucket will fill to 50% but it can be useful to increase this\n\t// amount if you know that your write workloads are mostly append-only.\n\t//\n\t// This is non-persisted across transactions so it must be set in every Tx.\n\tFillPercent float64\n}\n\n// bucket represents the on-file representation of a bucket.\n// This is stored as the \"value\" of a bucket key. If the bucket is small enough,\n// then its root page can be stored inline in the \"value\", after the bucket\n// header. In the case of inline buckets, the \"root\" will be 0.\ntype bucket struct {\n\troot     pgid   // page id of the bucket's root-level page\n\tsequence uint64 // monotonically incrementing, used by NextSequence()\n}\n\n// newBucket returns a new bucket associated with a transaction.\nfunc newBucket(tx *Tx) Bucket {\n\tvar b = Bucket{tx: tx, FillPercent: DefaultFillPercent}\n\tif tx.writable {\n\t\tb.buckets = make(map[string]*Bucket)\n\t\tb.nodes = make(map[pgid]*node)\n\t}\n\treturn b\n}\n\n// Tx returns the tx of the bucket.\nfunc (b *Bucket) Tx() *Tx {\n\treturn b.tx\n}\n\n// Root returns the root of the bucket.\nfunc (b *Bucket) Root() pgid {\n\treturn b.root\n}\n\n// Writable returns whether the bucket is writable.\nfunc (b *Bucket) Writable() bool {\n\treturn b.tx.writable\n}\n\n// Cursor creates a cursor associated with the bucket.\n// The cursor is only valid as long as the transaction is open.\n// Do not use a cursor after the transaction is closed.\nfunc (b *Bucket) Cursor() *Cursor {\n\t// Update transaction statistics.\n\tb.tx.stats.CursorCount++\n\n\t// Allocate and return a cursor.\n\treturn &Cursor{\n\t\tbucket: b,\n\t\tstack:  make([]elemRef, 0),\n\t}\n}\n\n// Bucket retrieves a nested bucket by name.\n// Returns nil if the bucket does not exist.\n// The bucket instance is only valid for the lifetime of the transaction.\nfunc (b *Bucket) Bucket(name []byte) *Bucket {\n\tif b.buckets != nil {\n\t\tif child := b.buckets[string(name)]; child != nil {\n\t\t\treturn child\n\t\t}\n\t}\n\n\t// Move cursor to key.\n\tc := b.Cursor()\n\tk, v, flags := c.seek(name)\n\n\t// Return nil if the key doesn't exist or it is not a bucket.\n\tif !bytes.Equal(name, k) || (flags&bucketLeafFlag) == 0 {\n\t\treturn nil\n\t}\n\n\t// Otherwise create a bucket and cache it.\n\tvar child = b.openBucket(v)\n\tif b.buckets != nil {\n\t\tb.buckets[string(name)] = child\n\t}\n\n\treturn child\n}\n\n// Helper method that re-interprets a sub-bucket value\n// from a parent into a Bucket\nfunc (b *Bucket) openBucket(value []byte) *Bucket {\n\tvar child = newBucket(b.tx)\n\n\t// If unaligned load/stores are broken on this arch and value is\n\t// unaligned simply clone to an aligned byte array.\n\tunaligned := brokenUnaligned && uintptr(unsafe.Pointer(&value[0]))&3 != 0\n\n\tif unaligned {\n\t\tvalue = cloneBytes(value)\n\t}\n\n\t// If this is a writable transaction then we need to copy the bucket entry.\n\t// Read-only transactions can point directly at the mmap entry.\n\tif b.tx.writable && !unaligned {\n\t\tchild.bucket = &bucket{}\n\t\t*child.bucket = *(*bucket)(unsafe.Pointer(&value[0]))\n\t} else {\n\t\tchild.bucket = (*bucket)(unsafe.Pointer(&value[0]))\n\t}\n\n\t// Save a reference to the inline page if the bucket is inline.\n\tif child.root == 0 {\n\t\tchild.page = (*page)(unsafe.Pointer(&value[bucketHeaderSize]))\n\t}\n\n\treturn &child\n}\n\n// CreateBucket creates a new bucket at the given key and returns the new bucket.\n// Returns an error if the key already exists, if the bucket name is blank, or if the bucket name is too long.\n// The bucket instance is only valid for the lifetime of the transaction.\nfunc (b *Bucket) CreateBucket(key []byte) (*Bucket, error) {\n\tif b.tx.db == nil {\n\t\treturn nil, ErrTxClosed\n\t} else if !b.tx.writable {\n\t\treturn nil, ErrTxNotWritable\n\t} else if len(key) == 0 {\n\t\treturn nil, ErrBucketNameRequired\n\t}\n\n\t// Move cursor to correct position.\n\tc := b.Cursor()\n\tk, _, flags := c.seek(key)\n\n\t// Return an error if there is an existing key.\n\tif bytes.Equal(key, k) {\n\t\tif (flags & bucketLeafFlag) != 0 {\n\t\t\treturn nil, ErrBucketExists\n\t\t}\n\t\treturn nil, ErrIncompatibleValue\n\t}\n\n\t// Create empty, inline bucket.\n\tvar bucket = Bucket{\n\t\tbucket:      &bucket{},\n\t\trootNode:    &node{isLeaf: true},\n\t\tFillPercent: DefaultFillPercent,\n\t}\n\tvar value = bucket.write()\n\n\t// Insert into node.\n\tkey = cloneBytes(key)\n\tc.node().put(key, key, value, 0, bucketLeafFlag)\n\n\t// Since subbuckets are not allowed on inline buckets, we need to\n\t// dereference the inline page, if it exists. This will cause the bucket\n\t// to be treated as a regular, non-inline bucket for the rest of the tx.\n\tb.page = nil\n\n\treturn b.Bucket(key), nil\n}\n\n// CreateBucketIfNotExists creates a new bucket if it doesn't already exist and returns a reference to it.\n// Returns an error if the bucket name is blank, or if the bucket name is too long.\n// The bucket instance is only valid for the lifetime of the transaction.\nfunc (b *Bucket) CreateBucketIfNotExists(key []byte) (*Bucket, error) {\n\tchild, err := b.CreateBucket(key)\n\tif err == ErrBucketExists {\n\t\treturn b.Bucket(key), nil\n\t} else if err != nil {\n\t\treturn nil, err\n\t}\n\treturn child, nil\n}\n\n// DeleteBucket deletes a bucket at the given key.\n// Returns an error if the bucket does not exists, or if the key represents a non-bucket value.\nfunc (b *Bucket) DeleteBucket(key []byte) error {\n\tif b.tx.db == nil {\n\t\treturn ErrTxClosed\n\t} else if !b.Writable() {\n\t\treturn ErrTxNotWritable\n\t}\n\n\t// Move cursor to correct position.\n\tc := b.Cursor()\n\tk, _, flags := c.seek(key)\n\n\t// Return an error if bucket doesn't exist or is not a bucket.\n\tif !bytes.Equal(key, k) {\n\t\treturn ErrBucketNotFound\n\t} else if (flags & bucketLeafFlag) == 0 {\n\t\treturn ErrIncompatibleValue\n\t}\n\n\t// Recursively delete all child buckets.\n\tchild := b.Bucket(key)\n\terr := child.ForEach(func(k, v []byte) error {\n\t\tif v == nil {\n\t\t\tif err := child.DeleteBucket(k); err != nil {\n\t\t\t\treturn fmt.Errorf(\"delete bucket: %s\", err)\n\t\t\t}\n\t\t}\n\t\treturn nil\n\t})\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Remove cached copy.\n\tdelete(b.buckets, string(key))\n\n\t// Release all bucket pages to freelist.\n\tchild.nodes = nil\n\tchild.rootNode = nil\n\tchild.free()\n\n\t// Delete the node if we have a matching key.\n\tc.node().del(key)\n\n\treturn nil\n}\n\n// Get retrieves the value for a key in the bucket.\n// Returns a nil value if the key does not exist or if the key is a nested bucket.\n// The returned value is only valid for the life of the transaction.\nfunc (b *Bucket) Get(key []byte) []byte {\n\tk, v, flags := b.Cursor().seek(key)\n\n\t// Return nil if this is a bucket.\n\tif (flags & bucketLeafFlag) != 0 {\n\t\treturn nil\n\t}\n\n\t// If our target node isn't the same key as what's passed in then return nil.\n\tif !bytes.Equal(key, k) {\n\t\treturn nil\n\t}\n\treturn v\n}\n\n// Put sets the value for a key in the bucket.\n// If the key exist then its previous value will be overwritten.\n// Supplied value must remain valid for the life of the transaction.\n// Returns an error if the bucket was created from a read-only transaction, if the key is blank, if the key is too large, or if the value is too large.\nfunc (b *Bucket) Put(key []byte, value []byte) error {\n\tif b.tx.db == nil {\n\t\treturn ErrTxClosed\n\t} else if !b.Writable() {\n\t\treturn ErrTxNotWritable\n\t} else if len(key) == 0 {\n\t\treturn ErrKeyRequired\n\t} else if len(key) > MaxKeySize {\n\t\treturn ErrKeyTooLarge\n\t} else if int64(len(value)) > MaxValueSize {\n\t\treturn ErrValueTooLarge\n\t}\n\n\t// Move cursor to correct position.\n\tc := b.Cursor()\n\tk, _, flags := c.seek(key)\n\n\t// Return an error if there is an existing key with a bucket value.\n\tif bytes.Equal(key, k) && (flags&bucketLeafFlag) != 0 {\n\t\treturn ErrIncompatibleValue\n\t}\n\n\t// Insert into node.\n\tkey = cloneBytes(key)\n\tc.node().put(key, key, value, 0, 0)\n\n\treturn nil\n}\n\n// Delete removes a key from the bucket.\n// If the key does not exist then nothing is done and a nil error is returned.\n// Returns an error if the bucket was created from a read-only transaction.\nfunc (b *Bucket) Delete(key []byte) error {\n\tif b.tx.db == nil {\n\t\treturn ErrTxClosed\n\t} else if !b.Writable() {\n\t\treturn ErrTxNotWritable\n\t}\n\n\t// Move cursor to correct position.\n\tc := b.Cursor()\n\t_, _, flags := c.seek(key)\n\n\t// Return an error if there is already existing bucket value.\n\tif (flags & bucketLeafFlag) != 0 {\n\t\treturn ErrIncompatibleValue\n\t}\n\n\t// Delete the node if we have a matching key.\n\tc.node().del(key)\n\n\treturn nil\n}\n\n// Sequence returns the current integer for the bucket without incrementing it.\nfunc (b *Bucket) Sequence() uint64 { return b.bucket.sequence }\n\n// SetSequence updates the sequence number for the bucket.\nfunc (b *Bucket) SetSequence(v uint64) error {\n\tif b.tx.db == nil {\n\t\treturn ErrTxClosed\n\t} else if !b.Writable() {\n\t\treturn ErrTxNotWritable\n\t}\n\n\t// Materialize the root node if it hasn't been already so that the\n\t// bucket will be saved during commit.\n\tif b.rootNode == nil {\n\t\t_ = b.node(b.root, nil)\n\t}\n\n\t// Increment and return the sequence.\n\tb.bucket.sequence = v\n\treturn nil\n}\n\n// NextSequence returns an autoincrementing integer for the bucket.\nfunc (b *Bucket) NextSequence() (uint64, error) {\n\tif b.tx.db == nil {\n\t\treturn 0, ErrTxClosed\n\t} else if !b.Writable() {\n\t\treturn 0, ErrTxNotWritable\n\t}\n\n\t// Materialize the root node if it hasn't been already so that the\n\t// bucket will be saved during commit.\n\tif b.rootNode == nil {\n\t\t_ = b.node(b.root, nil)\n\t}\n\n\t// Increment and return the sequence.\n\tb.bucket.sequence++\n\treturn b.bucket.sequence, nil\n}\n\n// ForEach executes a function for each key/value pair in a bucket.\n// If the provided function returns an error then the iteration is stopped and\n// the error is returned to the caller. The provided function must not modify\n// the bucket; this will result in undefined behavior.\nfunc (b *Bucket) ForEach(fn func(k, v []byte) error) error {\n\tif b.tx.db == nil {\n\t\treturn ErrTxClosed\n\t}\n\tc := b.Cursor()\n\tfor k, v := c.First(); k != nil; k, v = c.Next() {\n\t\tif err := fn(k, v); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn nil\n}\n\n// Stat returns stats on a bucket.\nfunc (b *Bucket) Stats() BucketStats {\n\tvar s, subStats BucketStats\n\tpageSize := b.tx.db.pageSize\n\ts.BucketN += 1\n\tif b.root == 0 {\n\t\ts.InlineBucketN += 1\n\t}\n\tb.forEachPage(func(p *page, depth int) {\n\t\tif (p.flags & leafPageFlag) != 0 {\n\t\t\ts.KeyN += int(p.count)\n\n\t\t\t// used totals the used bytes for the page\n\t\t\tused := pageHeaderSize\n\n\t\t\tif p.count != 0 {\n\t\t\t\t// If page has any elements, add all element headers.\n\t\t\t\tused += leafPageElementSize * int(p.count-1)\n\n\t\t\t\t// Add all element key, value sizes.\n\t\t\t\t// The computation takes advantage of the fact that the position\n\t\t\t\t// of the last element's key/value equals to the total of the sizes\n\t\t\t\t// of all previous elements' keys and values.\n\t\t\t\t// It also includes the last element's header.\n\t\t\t\tlastElement := p.leafPageElement(p.count - 1)\n\t\t\t\tused += int(lastElement.pos + lastElement.ksize + lastElement.vsize)\n\t\t\t}\n\n\t\t\tif b.root == 0 {\n\t\t\t\t// For inlined bucket just update the inline stats\n\t\t\t\ts.InlineBucketInuse += used\n\t\t\t} else {\n\t\t\t\t// For non-inlined bucket update all the leaf stats\n\t\t\t\ts.LeafPageN++\n\t\t\t\ts.LeafInuse += used\n\t\t\t\ts.LeafOverflowN += int(p.overflow)\n\n\t\t\t\t// Collect stats from sub-buckets.\n\t\t\t\t// Do that by iterating over all element headers\n\t\t\t\t// looking for the ones with the bucketLeafFlag.\n\t\t\t\tfor i := uint16(0); i < p.count; i++ {\n\t\t\t\t\te := p.leafPageElement(i)\n\t\t\t\t\tif (e.flags & bucketLeafFlag) != 0 {\n\t\t\t\t\t\t// For any bucket element, open the element value\n\t\t\t\t\t\t// and recursively call Stats on the contained bucket.\n\t\t\t\t\t\tsubStats.Add(b.openBucket(e.value()).Stats())\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (p.flags & branchPageFlag) != 0 {\n\t\t\ts.BranchPageN++\n\t\t\tlastElement := p.branchPageElement(p.count - 1)\n\n\t\t\t// used totals the used bytes for the page\n\t\t\t// Add header and all element headers.\n\t\t\tused := pageHeaderSize + (branchPageElementSize * int(p.count-1))\n\n\t\t\t// Add size of all keys and values.\n\t\t\t// Again, use the fact that last element's position equals to\n\t\t\t// the total of key, value sizes of all previous elements.\n\t\t\tused += int(lastElement.pos + lastElement.ksize)\n\t\t\ts.BranchInuse += used\n\t\t\ts.BranchOverflowN += int(p.overflow)\n\t\t}\n\n\t\t// Keep track of maximum page depth.\n\t\tif depth+1 > s.Depth {\n\t\t\ts.Depth = (depth + 1)\n\t\t}\n\t})\n\n\t// Alloc stats can be computed from page counts and pageSize.\n\ts.BranchAlloc = (s.BranchPageN + s.BranchOverflowN) * pageSize\n\ts.LeafAlloc = (s.LeafPageN + s.LeafOverflowN) * pageSize\n\n\t// Add the max depth of sub-buckets to get total nested depth.\n\ts.Depth += subStats.Depth\n\t// Add the stats for all sub-buckets\n\ts.Add(subStats)\n\treturn s\n}\n\n// forEachPage iterates over every page in a bucket, including inline pages.\nfunc (b *Bucket) forEachPage(fn func(*page, int)) {\n\t// If we have an inline page then just use that.\n\tif b.page != nil {\n\t\tfn(b.page, 0)\n\t\treturn\n\t}\n\n\t// Otherwise traverse the page hierarchy.\n\tb.tx.forEachPage(b.root, 0, fn)\n}\n\n// forEachPageNode iterates over every page (or node) in a bucket.\n// This also includes inline pages.\nfunc (b *Bucket) forEachPageNode(fn func(*page, *node, int)) {\n\t// If we have an inline page or root node then just use that.\n\tif b.page != nil {\n\t\tfn(b.page, nil, 0)\n\t\treturn\n\t}\n\tb._forEachPageNode(b.root, 0, fn)\n}\n\nfunc (b *Bucket) _forEachPageNode(pgid pgid, depth int, fn func(*page, *node, int)) {\n\tvar p, n = b.pageNode(pgid)\n\n\t// Execute function.\n\tfn(p, n, depth)\n\n\t// Recursively loop over children.\n\tif p != nil {\n\t\tif (p.flags & branchPageFlag) != 0 {\n\t\t\tfor i := 0; i < int(p.count); i++ {\n\t\t\t\telem := p.branchPageElement(uint16(i))\n\t\t\t\tb._forEachPageNode(elem.pgid, depth+1, fn)\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif !n.isLeaf {\n\t\t\tfor _, inode := range n.inodes {\n\t\t\t\tb._forEachPageNode(inode.pgid, depth+1, fn)\n\t\t\t}\n\t\t}\n\t}\n}\n\n// spill writes all the nodes for this bucket to dirty pages.\nfunc (b *Bucket) spill() error {\n\t// Spill all child buckets first.\n\tfor name, child := range b.buckets {\n\t\t// If the child bucket is small enough and it has no child buckets then\n\t\t// write it inline into the parent bucket's page. Otherwise spill it\n\t\t// like a normal bucket and make the parent value a pointer to the page.\n\t\tvar value []byte\n\t\tif child.inlineable() {\n\t\t\tchild.free()\n\t\t\tvalue = child.write()\n\t\t} else {\n\t\t\tif err := child.spill(); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\n\t\t\t// Update the child bucket header in this bucket.\n\t\t\tvalue = make([]byte, unsafe.Sizeof(bucket{}))\n\t\t\tvar bucket = (*bucket)(unsafe.Pointer(&value[0]))\n\t\t\t*bucket = *child.bucket\n\t\t}\n\n\t\t// Skip writing the bucket if there are no materialized nodes.\n\t\tif child.rootNode == nil {\n\t\t\tcontinue\n\t\t}\n\n\t\t// Update parent node.\n\t\tvar c = b.Cursor()\n\t\tk, _, flags := c.seek([]byte(name))\n\t\tif !bytes.Equal([]byte(name), k) {\n\t\t\tpanic(fmt.Sprintf(\"misplaced bucket header: %x -> %x\", []byte(name), k))\n\t\t}\n\t\tif flags&bucketLeafFlag == 0 {\n\t\t\tpanic(fmt.Sprintf(\"unexpected bucket header flag: %x\", flags))\n\t\t}\n\t\tc.node().put([]byte(name), []byte(name), value, 0, bucketLeafFlag)\n\t}\n\n\t// Ignore if there's not a materialized root node.\n\tif b.rootNode == nil {\n\t\treturn nil\n\t}\n\n\t// Spill nodes.\n\tif err := b.rootNode.spill(); err != nil {\n\t\treturn err\n\t}\n\tb.rootNode = b.rootNode.root()\n\n\t// Update the root node for this bucket.\n\tif b.rootNode.pgid >= b.tx.meta.pgid {\n\t\tpanic(fmt.Sprintf(\"pgid (%d) above high water mark (%d)\", b.rootNode.pgid, b.tx.meta.pgid))\n\t}\n\tb.root = b.rootNode.pgid\n\n\treturn nil\n}\n\n// inlineable returns true if a bucket is small enough to be written inline\n// and if it contains no subbuckets. Otherwise returns false.\nfunc (b *Bucket) inlineable() bool {\n\tvar n = b.rootNode\n\n\t// Bucket must only contain a single leaf node.\n\tif n == nil || !n.isLeaf {\n\t\treturn false\n\t}\n\n\t// Bucket is not inlineable if it contains subbuckets or if it goes beyond\n\t// our threshold for inline bucket size.\n\tvar size = pageHeaderSize\n\tfor _, inode := range n.inodes {\n\t\tsize += leafPageElementSize + len(inode.key) + len(inode.value)\n\n\t\tif inode.flags&bucketLeafFlag != 0 {\n\t\t\treturn false\n\t\t} else if size > b.maxInlineBucketSize() {\n\t\t\treturn false\n\t\t}\n\t}\n\n\treturn true\n}\n\n// Returns the maximum total size of a bucket to make it a candidate for inlining.\nfunc (b *Bucket) maxInlineBucketSize() int {\n\treturn b.tx.db.pageSize / 4\n}\n\n// write allocates and writes a bucket to a byte slice.\nfunc (b *Bucket) write() []byte {\n\t// Allocate the appropriate size.\n\tvar n = b.rootNode\n\tvar value = make([]byte, bucketHeaderSize+n.size())\n\n\t// Write a bucket header.\n\tvar bucket = (*bucket)(unsafe.Pointer(&value[0]))\n\t*bucket = *b.bucket\n\n\t// Convert byte slice to a fake page and write the root node.\n\tvar p = (*page)(unsafe.Pointer(&value[bucketHeaderSize]))\n\tn.write(p)\n\n\treturn value\n}\n\n// rebalance attempts to balance all nodes.\nfunc (b *Bucket) rebalance() {\n\tfor _, n := range b.nodes {\n\t\tn.rebalance()\n\t}\n\tfor _, child := range b.buckets {\n\t\tchild.rebalance()\n\t}\n}\n\n// node creates a node from a page and associates it with a given parent.\nfunc (b *Bucket) node(pgid pgid, parent *node) *node {\n\t_assert(b.nodes != nil, \"nodes map expected\")\n\n\t// Retrieve node if it's already been created.\n\tif n := b.nodes[pgid]; n != nil {\n\t\treturn n\n\t}\n\n\t// Otherwise create a node and cache it.\n\tn := &node{bucket: b, parent: parent}\n\tif parent == nil {\n\t\tb.rootNode = n\n\t} else {\n\t\tparent.children = append(parent.children, n)\n\t}\n\n\t// Use the inline page if this is an inline bucket.\n\tvar p = b.page\n\tif p == nil {\n\t\tp = b.tx.page(pgid)\n\t}\n\n\t// Read the page into the node and cache it.\n\tn.read(p)\n\tb.nodes[pgid] = n\n\n\t// Update statistics.\n\tb.tx.stats.NodeCount++\n\n\treturn n\n}\n\n// free recursively frees all pages in the bucket.\nfunc (b *Bucket) free() {\n\tif b.root == 0 {\n\t\treturn\n\t}\n\n\tvar tx = b.tx\n\tb.forEachPageNode(func(p *page, n *node, _ int) {\n\t\tif p != nil {\n\t\t\ttx.db.freelist.free(tx.meta.txid, p)\n\t\t} else {\n\t\t\tn.free()\n\t\t}\n\t})\n\tb.root = 0\n}\n\n// dereference removes all references to the old mmap.\nfunc (b *Bucket) dereference() {\n\tif b.rootNode != nil {\n\t\tb.rootNode.root().dereference()\n\t}\n\n\tfor _, child := range b.buckets {\n\t\tchild.dereference()\n\t}\n}\n\n// pageNode returns the in-memory node, if it exists.\n// Otherwise returns the underlying page.\nfunc (b *Bucket) pageNode(id pgid) (*page, *node) {\n\t// Inline buckets have a fake page embedded in their value so treat them\n\t// differently. We'll return the rootNode (if available) or the fake page.\n\tif b.root == 0 {\n\t\tif id != 0 {\n\t\t\tpanic(fmt.Sprintf(\"inline bucket non-zero page access(2): %d != 0\", id))\n\t\t}\n\t\tif b.rootNode != nil {\n\t\t\treturn nil, b.rootNode\n\t\t}\n\t\treturn b.page, nil\n\t}\n\n\t// Check the node cache for non-inline buckets.\n\tif b.nodes != nil {\n\t\tif n := b.nodes[id]; n != nil {\n\t\t\treturn nil, n\n\t\t}\n\t}\n\n\t// Finally lookup the page from the transaction if no node is materialized.\n\treturn b.tx.page(id), nil\n}\n\n// BucketStats records statistics about resources used by a bucket.\ntype BucketStats struct {\n\t// Page count statistics.\n\tBranchPageN     int // number of logical branch pages\n\tBranchOverflowN int // number of physical branch overflow pages\n\tLeafPageN       int // number of logical leaf pages\n\tLeafOverflowN   int // number of physical leaf overflow pages\n\n\t// Tree statistics.\n\tKeyN  int // number of keys/value pairs\n\tDepth int // number of levels in B+tree\n\n\t// Page size utilization.\n\tBranchAlloc int // bytes allocated for physical branch pages\n\tBranchInuse int // bytes actually used for branch data\n\tLeafAlloc   int // bytes allocated for physical leaf pages\n\tLeafInuse   int // bytes actually used for leaf data\n\n\t// Bucket statistics\n\tBucketN           int // total number of buckets including the top bucket\n\tInlineBucketN     int // total number on inlined buckets\n\tInlineBucketInuse int // bytes used for inlined buckets (also accounted for in LeafInuse)\n}\n\nfunc (s *BucketStats) Add(other BucketStats) {\n\ts.BranchPageN += other.BranchPageN\n\ts.BranchOverflowN += other.BranchOverflowN\n\ts.LeafPageN += other.LeafPageN\n\ts.LeafOverflowN += other.LeafOverflowN\n\ts.KeyN += other.KeyN\n\tif s.Depth < other.Depth {\n\t\ts.Depth = other.Depth\n\t}\n\ts.BranchAlloc += other.BranchAlloc\n\ts.BranchInuse += other.BranchInuse\n\ts.LeafAlloc += other.LeafAlloc\n\ts.LeafInuse += other.LeafInuse\n\n\ts.BucketN += other.BucketN\n\ts.InlineBucketN += other.InlineBucketN\n\ts.InlineBucketInuse += other.InlineBucketInuse\n}\n\n// cloneBytes returns a copy of a given slice.\nfunc cloneBytes(v []byte) []byte {\n\tvar clone = make([]byte, len(v))\n\tcopy(clone, v)\n\treturn clone\n}\n"
  },
  {
    "path": "vendor/github.com/boltdb/bolt/cursor.go",
    "content": "package bolt\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"sort\"\n)\n\n// Cursor represents an iterator that can traverse over all key/value pairs in a bucket in sorted order.\n// Cursors see nested buckets with value == nil.\n// Cursors can be obtained from a transaction and are valid as long as the transaction is open.\n//\n// Keys and values returned from the cursor are only valid for the life of the transaction.\n//\n// Changing data while traversing with a cursor may cause it to be invalidated\n// and return unexpected keys and/or values. You must reposition your cursor\n// after mutating data.\ntype Cursor struct {\n\tbucket *Bucket\n\tstack  []elemRef\n}\n\n// Bucket returns the bucket that this cursor was created from.\nfunc (c *Cursor) Bucket() *Bucket {\n\treturn c.bucket\n}\n\n// First moves the cursor to the first item in the bucket and returns its key and value.\n// If the bucket is empty then a nil key and value are returned.\n// The returned key and value are only valid for the life of the transaction.\nfunc (c *Cursor) First() (key []byte, value []byte) {\n\t_assert(c.bucket.tx.db != nil, \"tx closed\")\n\tc.stack = c.stack[:0]\n\tp, n := c.bucket.pageNode(c.bucket.root)\n\tc.stack = append(c.stack, elemRef{page: p, node: n, index: 0})\n\tc.first()\n\n\t// If we land on an empty page then move to the next value.\n\t// https://github.com/boltdb/bolt/issues/450\n\tif c.stack[len(c.stack)-1].count() == 0 {\n\t\tc.next()\n\t}\n\n\tk, v, flags := c.keyValue()\n\tif (flags & uint32(bucketLeafFlag)) != 0 {\n\t\treturn k, nil\n\t}\n\treturn k, v\n\n}\n\n// Last moves the cursor to the last item in the bucket and returns its key and value.\n// If the bucket is empty then a nil key and value are returned.\n// The returned key and value are only valid for the life of the transaction.\nfunc (c *Cursor) Last() (key []byte, value []byte) {\n\t_assert(c.bucket.tx.db != nil, \"tx closed\")\n\tc.stack = c.stack[:0]\n\tp, n := c.bucket.pageNode(c.bucket.root)\n\tref := elemRef{page: p, node: n}\n\tref.index = ref.count() - 1\n\tc.stack = append(c.stack, ref)\n\tc.last()\n\tk, v, flags := c.keyValue()\n\tif (flags & uint32(bucketLeafFlag)) != 0 {\n\t\treturn k, nil\n\t}\n\treturn k, v\n}\n\n// Next moves the cursor to the next item in the bucket and returns its key and value.\n// If the cursor is at the end of the bucket then a nil key and value are returned.\n// The returned key and value are only valid for the life of the transaction.\nfunc (c *Cursor) Next() (key []byte, value []byte) {\n\t_assert(c.bucket.tx.db != nil, \"tx closed\")\n\tk, v, flags := c.next()\n\tif (flags & uint32(bucketLeafFlag)) != 0 {\n\t\treturn k, nil\n\t}\n\treturn k, v\n}\n\n// Prev moves the cursor to the previous item in the bucket and returns its key and value.\n// If the cursor is at the beginning of the bucket then a nil key and value are returned.\n// The returned key and value are only valid for the life of the transaction.\nfunc (c *Cursor) Prev() (key []byte, value []byte) {\n\t_assert(c.bucket.tx.db != nil, \"tx closed\")\n\n\t// Attempt to move back one element until we're successful.\n\t// Move up the stack as we hit the beginning of each page in our stack.\n\tfor i := len(c.stack) - 1; i >= 0; i-- {\n\t\telem := &c.stack[i]\n\t\tif elem.index > 0 {\n\t\t\telem.index--\n\t\t\tbreak\n\t\t}\n\t\tc.stack = c.stack[:i]\n\t}\n\n\t// If we've hit the end then return nil.\n\tif len(c.stack) == 0 {\n\t\treturn nil, nil\n\t}\n\n\t// Move down the stack to find the last element of the last leaf under this branch.\n\tc.last()\n\tk, v, flags := c.keyValue()\n\tif (flags & uint32(bucketLeafFlag)) != 0 {\n\t\treturn k, nil\n\t}\n\treturn k, v\n}\n\n// Seek moves the cursor to a given key and returns it.\n// If the key does not exist then the next key is used. If no keys\n// follow, a nil key is returned.\n// The returned key and value are only valid for the life of the transaction.\nfunc (c *Cursor) Seek(seek []byte) (key []byte, value []byte) {\n\tk, v, flags := c.seek(seek)\n\n\t// If we ended up after the last element of a page then move to the next one.\n\tif ref := &c.stack[len(c.stack)-1]; ref.index >= ref.count() {\n\t\tk, v, flags = c.next()\n\t}\n\n\tif k == nil {\n\t\treturn nil, nil\n\t} else if (flags & uint32(bucketLeafFlag)) != 0 {\n\t\treturn k, nil\n\t}\n\treturn k, v\n}\n\n// Delete removes the current key/value under the cursor from the bucket.\n// Delete fails if current key/value is a bucket or if the transaction is not writable.\nfunc (c *Cursor) Delete() error {\n\tif c.bucket.tx.db == nil {\n\t\treturn ErrTxClosed\n\t} else if !c.bucket.Writable() {\n\t\treturn ErrTxNotWritable\n\t}\n\n\tkey, _, flags := c.keyValue()\n\t// Return an error if current value is a bucket.\n\tif (flags & bucketLeafFlag) != 0 {\n\t\treturn ErrIncompatibleValue\n\t}\n\tc.node().del(key)\n\n\treturn nil\n}\n\n// seek moves the cursor to a given key and returns it.\n// If the key does not exist then the next key is used.\nfunc (c *Cursor) seek(seek []byte) (key []byte, value []byte, flags uint32) {\n\t_assert(c.bucket.tx.db != nil, \"tx closed\")\n\n\t// Start from root page/node and traverse to correct page.\n\tc.stack = c.stack[:0]\n\tc.search(seek, c.bucket.root)\n\tref := &c.stack[len(c.stack)-1]\n\n\t// If the cursor is pointing to the end of page/node then return nil.\n\tif ref.index >= ref.count() {\n\t\treturn nil, nil, 0\n\t}\n\n\t// If this is a bucket then return a nil value.\n\treturn c.keyValue()\n}\n\n// first moves the cursor to the first leaf element under the last page in the stack.\nfunc (c *Cursor) first() {\n\tfor {\n\t\t// Exit when we hit a leaf page.\n\t\tvar ref = &c.stack[len(c.stack)-1]\n\t\tif ref.isLeaf() {\n\t\t\tbreak\n\t\t}\n\n\t\t// Keep adding pages pointing to the first element to the stack.\n\t\tvar pgid pgid\n\t\tif ref.node != nil {\n\t\t\tpgid = ref.node.inodes[ref.index].pgid\n\t\t} else {\n\t\t\tpgid = ref.page.branchPageElement(uint16(ref.index)).pgid\n\t\t}\n\t\tp, n := c.bucket.pageNode(pgid)\n\t\tc.stack = append(c.stack, elemRef{page: p, node: n, index: 0})\n\t}\n}\n\n// last moves the cursor to the last leaf element under the last page in the stack.\nfunc (c *Cursor) last() {\n\tfor {\n\t\t// Exit when we hit a leaf page.\n\t\tref := &c.stack[len(c.stack)-1]\n\t\tif ref.isLeaf() {\n\t\t\tbreak\n\t\t}\n\n\t\t// Keep adding pages pointing to the last element in the stack.\n\t\tvar pgid pgid\n\t\tif ref.node != nil {\n\t\t\tpgid = ref.node.inodes[ref.index].pgid\n\t\t} else {\n\t\t\tpgid = ref.page.branchPageElement(uint16(ref.index)).pgid\n\t\t}\n\t\tp, n := c.bucket.pageNode(pgid)\n\n\t\tvar nextRef = elemRef{page: p, node: n}\n\t\tnextRef.index = nextRef.count() - 1\n\t\tc.stack = append(c.stack, nextRef)\n\t}\n}\n\n// next moves to the next leaf element and returns the key and value.\n// If the cursor is at the last leaf element then it stays there and returns nil.\nfunc (c *Cursor) next() (key []byte, value []byte, flags uint32) {\n\tfor {\n\t\t// Attempt to move over one element until we're successful.\n\t\t// Move up the stack as we hit the end of each page in our stack.\n\t\tvar i int\n\t\tfor i = len(c.stack) - 1; i >= 0; i-- {\n\t\t\telem := &c.stack[i]\n\t\t\tif elem.index < elem.count()-1 {\n\t\t\t\telem.index++\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\t// If we've hit the root page then stop and return. This will leave the\n\t\t// cursor on the last element of the last page.\n\t\tif i == -1 {\n\t\t\treturn nil, nil, 0\n\t\t}\n\n\t\t// Otherwise start from where we left off in the stack and find the\n\t\t// first element of the first leaf page.\n\t\tc.stack = c.stack[:i+1]\n\t\tc.first()\n\n\t\t// If this is an empty page then restart and move back up the stack.\n\t\t// https://github.com/boltdb/bolt/issues/450\n\t\tif c.stack[len(c.stack)-1].count() == 0 {\n\t\t\tcontinue\n\t\t}\n\n\t\treturn c.keyValue()\n\t}\n}\n\n// search recursively performs a binary search against a given page/node until it finds a given key.\nfunc (c *Cursor) search(key []byte, pgid pgid) {\n\tp, n := c.bucket.pageNode(pgid)\n\tif p != nil && (p.flags&(branchPageFlag|leafPageFlag)) == 0 {\n\t\tpanic(fmt.Sprintf(\"invalid page type: %d: %x\", p.id, p.flags))\n\t}\n\te := elemRef{page: p, node: n}\n\tc.stack = append(c.stack, e)\n\n\t// If we're on a leaf page/node then find the specific node.\n\tif e.isLeaf() {\n\t\tc.nsearch(key)\n\t\treturn\n\t}\n\n\tif n != nil {\n\t\tc.searchNode(key, n)\n\t\treturn\n\t}\n\tc.searchPage(key, p)\n}\n\nfunc (c *Cursor) searchNode(key []byte, n *node) {\n\tvar exact bool\n\tindex := sort.Search(len(n.inodes), func(i int) bool {\n\t\t// TODO(benbjohnson): Optimize this range search. It's a bit hacky right now.\n\t\t// sort.Search() finds the lowest index where f() != -1 but we need the highest index.\n\t\tret := bytes.Compare(n.inodes[i].key, key)\n\t\tif ret == 0 {\n\t\t\texact = true\n\t\t}\n\t\treturn ret != -1\n\t})\n\tif !exact && index > 0 {\n\t\tindex--\n\t}\n\tc.stack[len(c.stack)-1].index = index\n\n\t// Recursively search to the next page.\n\tc.search(key, n.inodes[index].pgid)\n}\n\nfunc (c *Cursor) searchPage(key []byte, p *page) {\n\t// Binary search for the correct range.\n\tinodes := p.branchPageElements()\n\n\tvar exact bool\n\tindex := sort.Search(int(p.count), func(i int) bool {\n\t\t// TODO(benbjohnson): Optimize this range search. It's a bit hacky right now.\n\t\t// sort.Search() finds the lowest index where f() != -1 but we need the highest index.\n\t\tret := bytes.Compare(inodes[i].key(), key)\n\t\tif ret == 0 {\n\t\t\texact = true\n\t\t}\n\t\treturn ret != -1\n\t})\n\tif !exact && index > 0 {\n\t\tindex--\n\t}\n\tc.stack[len(c.stack)-1].index = index\n\n\t// Recursively search to the next page.\n\tc.search(key, inodes[index].pgid)\n}\n\n// nsearch searches the leaf node on the top of the stack for a key.\nfunc (c *Cursor) nsearch(key []byte) {\n\te := &c.stack[len(c.stack)-1]\n\tp, n := e.page, e.node\n\n\t// If we have a node then search its inodes.\n\tif n != nil {\n\t\tindex := sort.Search(len(n.inodes), func(i int) bool {\n\t\t\treturn bytes.Compare(n.inodes[i].key, key) != -1\n\t\t})\n\t\te.index = index\n\t\treturn\n\t}\n\n\t// If we have a page then search its leaf elements.\n\tinodes := p.leafPageElements()\n\tindex := sort.Search(int(p.count), func(i int) bool {\n\t\treturn bytes.Compare(inodes[i].key(), key) != -1\n\t})\n\te.index = index\n}\n\n// keyValue returns the key and value of the current leaf element.\nfunc (c *Cursor) keyValue() ([]byte, []byte, uint32) {\n\tref := &c.stack[len(c.stack)-1]\n\tif ref.count() == 0 || ref.index >= ref.count() {\n\t\treturn nil, nil, 0\n\t}\n\n\t// Retrieve value from node.\n\tif ref.node != nil {\n\t\tinode := &ref.node.inodes[ref.index]\n\t\treturn inode.key, inode.value, inode.flags\n\t}\n\n\t// Or retrieve value from page.\n\telem := ref.page.leafPageElement(uint16(ref.index))\n\treturn elem.key(), elem.value(), elem.flags\n}\n\n// node returns the node that the cursor is currently positioned on.\nfunc (c *Cursor) node() *node {\n\t_assert(len(c.stack) > 0, \"accessing a node with a zero-length cursor stack\")\n\n\t// If the top of the stack is a leaf node then just return it.\n\tif ref := &c.stack[len(c.stack)-1]; ref.node != nil && ref.isLeaf() {\n\t\treturn ref.node\n\t}\n\n\t// Start from root and traverse down the hierarchy.\n\tvar n = c.stack[0].node\n\tif n == nil {\n\t\tn = c.bucket.node(c.stack[0].page.id, nil)\n\t}\n\tfor _, ref := range c.stack[:len(c.stack)-1] {\n\t\t_assert(!n.isLeaf, \"expected branch node\")\n\t\tn = n.childAt(int(ref.index))\n\t}\n\t_assert(n.isLeaf, \"expected leaf node\")\n\treturn n\n}\n\n// elemRef represents a reference to an element on a given page/node.\ntype elemRef struct {\n\tpage  *page\n\tnode  *node\n\tindex int\n}\n\n// isLeaf returns whether the ref is pointing at a leaf page/node.\nfunc (r *elemRef) isLeaf() bool {\n\tif r.node != nil {\n\t\treturn r.node.isLeaf\n\t}\n\treturn (r.page.flags & leafPageFlag) != 0\n}\n\n// count returns the number of inodes or page elements.\nfunc (r *elemRef) count() int {\n\tif r.node != nil {\n\t\treturn len(r.node.inodes)\n\t}\n\treturn int(r.page.count)\n}\n"
  },
  {
    "path": "vendor/github.com/boltdb/bolt/db.go",
    "content": "package bolt\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"hash/fnv\"\n\t\"log\"\n\t\"os\"\n\t\"runtime\"\n\t\"runtime/debug\"\n\t\"strings\"\n\t\"sync\"\n\t\"time\"\n\t\"unsafe\"\n)\n\n// The largest step that can be taken when remapping the mmap.\nconst maxMmapStep = 1 << 30 // 1GB\n\n// The data file format version.\nconst version = 2\n\n// Represents a marker value to indicate that a file is a Bolt DB.\nconst magic uint32 = 0xED0CDAED\n\n// IgnoreNoSync specifies whether the NoSync field of a DB is ignored when\n// syncing changes to a file.  This is required as some operating systems,\n// such as OpenBSD, do not have a unified buffer cache (UBC) and writes\n// must be synchronized using the msync(2) syscall.\nconst IgnoreNoSync = runtime.GOOS == \"openbsd\"\n\n// Default values if not set in a DB instance.\nconst (\n\tDefaultMaxBatchSize  int = 1000\n\tDefaultMaxBatchDelay     = 10 * time.Millisecond\n\tDefaultAllocSize         = 16 * 1024 * 1024\n)\n\n// default page size for db is set to the OS page size.\nvar defaultPageSize = os.Getpagesize()\n\n// DB represents a collection of buckets persisted to a file on disk.\n// All data access is performed through transactions which can be obtained through the DB.\n// All the functions on DB will return a ErrDatabaseNotOpen if accessed before Open() is called.\ntype DB struct {\n\t// When enabled, the database will perform a Check() after every commit.\n\t// A panic is issued if the database is in an inconsistent state. This\n\t// flag has a large performance impact so it should only be used for\n\t// debugging purposes.\n\tStrictMode bool\n\n\t// Setting the NoSync flag will cause the database to skip fsync()\n\t// calls after each commit. This can be useful when bulk loading data\n\t// into a database and you can restart the bulk load in the event of\n\t// a system failure or database corruption. Do not set this flag for\n\t// normal use.\n\t//\n\t// If the package global IgnoreNoSync constant is true, this value is\n\t// ignored.  See the comment on that constant for more details.\n\t//\n\t// THIS IS UNSAFE. PLEASE USE WITH CAUTION.\n\tNoSync bool\n\n\t// When true, skips the truncate call when growing the database.\n\t// Setting this to true is only safe on non-ext3/ext4 systems.\n\t// Skipping truncation avoids preallocation of hard drive space and\n\t// bypasses a truncate() and fsync() syscall on remapping.\n\t//\n\t// https://github.com/boltdb/bolt/issues/284\n\tNoGrowSync bool\n\n\t// If you want to read the entire database fast, you can set MmapFlag to\n\t// syscall.MAP_POPULATE on Linux 2.6.23+ for sequential read-ahead.\n\tMmapFlags int\n\n\t// MaxBatchSize is the maximum size of a batch. Default value is\n\t// copied from DefaultMaxBatchSize in Open.\n\t//\n\t// If <=0, disables batching.\n\t//\n\t// Do not change concurrently with calls to Batch.\n\tMaxBatchSize int\n\n\t// MaxBatchDelay is the maximum delay before a batch starts.\n\t// Default value is copied from DefaultMaxBatchDelay in Open.\n\t//\n\t// If <=0, effectively disables batching.\n\t//\n\t// Do not change concurrently with calls to Batch.\n\tMaxBatchDelay time.Duration\n\n\t// AllocSize is the amount of space allocated when the database\n\t// needs to create new pages. This is done to amortize the cost\n\t// of truncate() and fsync() when growing the data file.\n\tAllocSize int\n\n\tpath     string\n\tfile     *os.File\n\tlockfile *os.File // windows only\n\tdataref  []byte   // mmap'ed readonly, write throws SEGV\n\tdata     *[maxMapSize]byte\n\tdatasz   int\n\tfilesz   int // current on disk file size\n\tmeta0    *meta\n\tmeta1    *meta\n\tpageSize int\n\topened   bool\n\trwtx     *Tx\n\ttxs      []*Tx\n\tfreelist *freelist\n\tstats    Stats\n\n\tpagePool sync.Pool\n\n\tbatchMu sync.Mutex\n\tbatch   *batch\n\n\trwlock   sync.Mutex   // Allows only one writer at a time.\n\tmetalock sync.Mutex   // Protects meta page access.\n\tmmaplock sync.RWMutex // Protects mmap access during remapping.\n\tstatlock sync.RWMutex // Protects stats access.\n\n\tops struct {\n\t\twriteAt func(b []byte, off int64) (n int, err error)\n\t}\n\n\t// Read only mode.\n\t// When true, Update() and Begin(true) return ErrDatabaseReadOnly immediately.\n\treadOnly bool\n}\n\n// Path returns the path to currently open database file.\nfunc (db *DB) Path() string {\n\treturn db.path\n}\n\n// GoString returns the Go string representation of the database.\nfunc (db *DB) GoString() string {\n\treturn fmt.Sprintf(\"bolt.DB{path:%q}\", db.path)\n}\n\n// String returns the string representation of the database.\nfunc (db *DB) String() string {\n\treturn fmt.Sprintf(\"DB<%q>\", db.path)\n}\n\n// Open creates and opens a database at the given path.\n// If the file does not exist then it will be created automatically.\n// Passing in nil options will cause Bolt to open the database with the default options.\nfunc Open(path string, mode os.FileMode, options *Options) (*DB, error) {\n\tvar db = &DB{opened: true}\n\n\t// Set default options if no options are provided.\n\tif options == nil {\n\t\toptions = DefaultOptions\n\t}\n\tdb.NoGrowSync = options.NoGrowSync\n\tdb.MmapFlags = options.MmapFlags\n\n\t// Set default values for later DB operations.\n\tdb.MaxBatchSize = DefaultMaxBatchSize\n\tdb.MaxBatchDelay = DefaultMaxBatchDelay\n\tdb.AllocSize = DefaultAllocSize\n\n\tflag := os.O_RDWR\n\tif options.ReadOnly {\n\t\tflag = os.O_RDONLY\n\t\tdb.readOnly = true\n\t}\n\n\t// Open data file and separate sync handler for metadata writes.\n\tdb.path = path\n\tvar err error\n\tif db.file, err = os.OpenFile(db.path, flag|os.O_CREATE, mode); err != nil {\n\t\t_ = db.close()\n\t\treturn nil, err\n\t}\n\n\t// Lock file so that other processes using Bolt in read-write mode cannot\n\t// use the database  at the same time. This would cause corruption since\n\t// the two processes would write meta pages and free pages separately.\n\t// The database file is locked exclusively (only one process can grab the lock)\n\t// if !options.ReadOnly.\n\t// The database file is locked using the shared lock (more than one process may\n\t// hold a lock at the same time) otherwise (options.ReadOnly is set).\n\tif err := flock(db, mode, !db.readOnly, options.Timeout); err != nil {\n\t\t_ = db.close()\n\t\treturn nil, err\n\t}\n\n\t// Default values for test hooks\n\tdb.ops.writeAt = db.file.WriteAt\n\n\t// Initialize the database if it doesn't exist.\n\tif info, err := db.file.Stat(); err != nil {\n\t\treturn nil, err\n\t} else if info.Size() == 0 {\n\t\t// Initialize new files with meta pages.\n\t\tif err := db.init(); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t} else {\n\t\t// Read the first meta page to determine the page size.\n\t\tvar buf [0x1000]byte\n\t\tif _, err := db.file.ReadAt(buf[:], 0); err == nil {\n\t\t\tm := db.pageInBuffer(buf[:], 0).meta()\n\t\t\tif err := m.validate(); err != nil {\n\t\t\t\t// If we can't read the page size, we can assume it's the same\n\t\t\t\t// as the OS -- since that's how the page size was chosen in the\n\t\t\t\t// first place.\n\t\t\t\t//\n\t\t\t\t// If the first page is invalid and this OS uses a different\n\t\t\t\t// page size than what the database was created with then we\n\t\t\t\t// are out of luck and cannot access the database.\n\t\t\t\tdb.pageSize = os.Getpagesize()\n\t\t\t} else {\n\t\t\t\tdb.pageSize = int(m.pageSize)\n\t\t\t}\n\t\t}\n\t}\n\n\t// Initialize page pool.\n\tdb.pagePool = sync.Pool{\n\t\tNew: func() interface{} {\n\t\t\treturn make([]byte, db.pageSize)\n\t\t},\n\t}\n\n\t// Memory map the data file.\n\tif err := db.mmap(options.InitialMmapSize); err != nil {\n\t\t_ = db.close()\n\t\treturn nil, err\n\t}\n\n\t// Read in the freelist.\n\tdb.freelist = newFreelist()\n\tdb.freelist.read(db.page(db.meta().freelist))\n\n\t// Mark the database as opened and return.\n\treturn db, nil\n}\n\n// mmap opens the underlying memory-mapped file and initializes the meta references.\n// minsz is the minimum size that the new mmap can be.\nfunc (db *DB) mmap(minsz int) error {\n\tdb.mmaplock.Lock()\n\tdefer db.mmaplock.Unlock()\n\n\tinfo, err := db.file.Stat()\n\tif err != nil {\n\t\treturn fmt.Errorf(\"mmap stat error: %s\", err)\n\t} else if int(info.Size()) < db.pageSize*2 {\n\t\treturn fmt.Errorf(\"file size too small\")\n\t}\n\n\t// Ensure the size is at least the minimum size.\n\tvar size = int(info.Size())\n\tif size < minsz {\n\t\tsize = minsz\n\t}\n\tsize, err = db.mmapSize(size)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Dereference all mmap references before unmapping.\n\tif db.rwtx != nil {\n\t\tdb.rwtx.root.dereference()\n\t}\n\n\t// Unmap existing data before continuing.\n\tif err := db.munmap(); err != nil {\n\t\treturn err\n\t}\n\n\t// Memory-map the data file as a byte slice.\n\tif err := mmap(db, size); err != nil {\n\t\treturn err\n\t}\n\n\t// Save references to the meta pages.\n\tdb.meta0 = db.page(0).meta()\n\tdb.meta1 = db.page(1).meta()\n\n\t// Validate the meta pages. We only return an error if both meta pages fail\n\t// validation, since meta0 failing validation means that it wasn't saved\n\t// properly -- but we can recover using meta1. And vice-versa.\n\terr0 := db.meta0.validate()\n\terr1 := db.meta1.validate()\n\tif err0 != nil && err1 != nil {\n\t\treturn err0\n\t}\n\n\treturn nil\n}\n\n// munmap unmaps the data file from memory.\nfunc (db *DB) munmap() error {\n\tif err := munmap(db); err != nil {\n\t\treturn fmt.Errorf(\"unmap error: \" + err.Error())\n\t}\n\treturn nil\n}\n\n// mmapSize determines the appropriate size for the mmap given the current size\n// of the database. The minimum size is 32KB and doubles until it reaches 1GB.\n// Returns an error if the new mmap size is greater than the max allowed.\nfunc (db *DB) mmapSize(size int) (int, error) {\n\t// Double the size from 32KB until 1GB.\n\tfor i := uint(15); i <= 30; i++ {\n\t\tif size <= 1<<i {\n\t\t\treturn 1 << i, nil\n\t\t}\n\t}\n\n\t// Verify the requested size is not above the maximum allowed.\n\tif size > maxMapSize {\n\t\treturn 0, fmt.Errorf(\"mmap too large\")\n\t}\n\n\t// If larger than 1GB then grow by 1GB at a time.\n\tsz := int64(size)\n\tif remainder := sz % int64(maxMmapStep); remainder > 0 {\n\t\tsz += int64(maxMmapStep) - remainder\n\t}\n\n\t// Ensure that the mmap size is a multiple of the page size.\n\t// This should always be true since we're incrementing in MBs.\n\tpageSize := int64(db.pageSize)\n\tif (sz % pageSize) != 0 {\n\t\tsz = ((sz / pageSize) + 1) * pageSize\n\t}\n\n\t// If we've exceeded the max size then only grow up to the max size.\n\tif sz > maxMapSize {\n\t\tsz = maxMapSize\n\t}\n\n\treturn int(sz), nil\n}\n\n// init creates a new database file and initializes its meta pages.\nfunc (db *DB) init() error {\n\t// Set the page size to the OS page size.\n\tdb.pageSize = os.Getpagesize()\n\n\t// Create two meta pages on a buffer.\n\tbuf := make([]byte, db.pageSize*4)\n\tfor i := 0; i < 2; i++ {\n\t\tp := db.pageInBuffer(buf[:], pgid(i))\n\t\tp.id = pgid(i)\n\t\tp.flags = metaPageFlag\n\n\t\t// Initialize the meta page.\n\t\tm := p.meta()\n\t\tm.magic = magic\n\t\tm.version = version\n\t\tm.pageSize = uint32(db.pageSize)\n\t\tm.freelist = 2\n\t\tm.root = bucket{root: 3}\n\t\tm.pgid = 4\n\t\tm.txid = txid(i)\n\t\tm.checksum = m.sum64()\n\t}\n\n\t// Write an empty freelist at page 3.\n\tp := db.pageInBuffer(buf[:], pgid(2))\n\tp.id = pgid(2)\n\tp.flags = freelistPageFlag\n\tp.count = 0\n\n\t// Write an empty leaf page at page 4.\n\tp = db.pageInBuffer(buf[:], pgid(3))\n\tp.id = pgid(3)\n\tp.flags = leafPageFlag\n\tp.count = 0\n\n\t// Write the buffer to our data file.\n\tif _, err := db.ops.writeAt(buf, 0); err != nil {\n\t\treturn err\n\t}\n\tif err := fdatasync(db); err != nil {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n\n// Close releases all database resources.\n// All transactions must be closed before closing the database.\nfunc (db *DB) Close() error {\n\tdb.rwlock.Lock()\n\tdefer db.rwlock.Unlock()\n\n\tdb.metalock.Lock()\n\tdefer db.metalock.Unlock()\n\n\tdb.mmaplock.RLock()\n\tdefer db.mmaplock.RUnlock()\n\n\treturn db.close()\n}\n\nfunc (db *DB) close() error {\n\tif !db.opened {\n\t\treturn nil\n\t}\n\n\tdb.opened = false\n\n\tdb.freelist = nil\n\n\t// Clear ops.\n\tdb.ops.writeAt = nil\n\n\t// Close the mmap.\n\tif err := db.munmap(); err != nil {\n\t\treturn err\n\t}\n\n\t// Close file handles.\n\tif db.file != nil {\n\t\t// No need to unlock read-only file.\n\t\tif !db.readOnly {\n\t\t\t// Unlock the file.\n\t\t\tif err := funlock(db); err != nil {\n\t\t\t\tlog.Printf(\"bolt.Close(): funlock error: %s\", err)\n\t\t\t}\n\t\t}\n\n\t\t// Close the file descriptor.\n\t\tif err := db.file.Close(); err != nil {\n\t\t\treturn fmt.Errorf(\"db file close: %s\", err)\n\t\t}\n\t\tdb.file = nil\n\t}\n\n\tdb.path = \"\"\n\treturn nil\n}\n\n// Begin starts a new transaction.\n// Multiple read-only transactions can be used concurrently but only one\n// write transaction can be used at a time. Starting multiple write transactions\n// will cause the calls to block and be serialized until the current write\n// transaction finishes.\n//\n// Transactions should not be dependent on one another. Opening a read\n// transaction and a write transaction in the same goroutine can cause the\n// writer to deadlock because the database periodically needs to re-mmap itself\n// as it grows and it cannot do that while a read transaction is open.\n//\n// If a long running read transaction (for example, a snapshot transaction) is\n// needed, you might want to set DB.InitialMmapSize to a large enough value\n// to avoid potential blocking of write transaction.\n//\n// IMPORTANT: You must close read-only transactions after you are finished or\n// else the database will not reclaim old pages.\nfunc (db *DB) Begin(writable bool) (*Tx, error) {\n\tif writable {\n\t\treturn db.beginRWTx()\n\t}\n\treturn db.beginTx()\n}\n\nfunc (db *DB) beginTx() (*Tx, error) {\n\t// Lock the meta pages while we initialize the transaction. We obtain\n\t// the meta lock before the mmap lock because that's the order that the\n\t// write transaction will obtain them.\n\tdb.metalock.Lock()\n\n\t// Obtain a read-only lock on the mmap. When the mmap is remapped it will\n\t// obtain a write lock so all transactions must finish before it can be\n\t// remapped.\n\tdb.mmaplock.RLock()\n\n\t// Exit if the database is not open yet.\n\tif !db.opened {\n\t\tdb.mmaplock.RUnlock()\n\t\tdb.metalock.Unlock()\n\t\treturn nil, ErrDatabaseNotOpen\n\t}\n\n\t// Create a transaction associated with the database.\n\tt := &Tx{}\n\tt.init(db)\n\n\t// Keep track of transaction until it closes.\n\tdb.txs = append(db.txs, t)\n\tn := len(db.txs)\n\n\t// Unlock the meta pages.\n\tdb.metalock.Unlock()\n\n\t// Update the transaction stats.\n\tdb.statlock.Lock()\n\tdb.stats.TxN++\n\tdb.stats.OpenTxN = n\n\tdb.statlock.Unlock()\n\n\treturn t, nil\n}\n\nfunc (db *DB) beginRWTx() (*Tx, error) {\n\t// If the database was opened with Options.ReadOnly, return an error.\n\tif db.readOnly {\n\t\treturn nil, ErrDatabaseReadOnly\n\t}\n\n\t// Obtain writer lock. This is released by the transaction when it closes.\n\t// This enforces only one writer transaction at a time.\n\tdb.rwlock.Lock()\n\n\t// Once we have the writer lock then we can lock the meta pages so that\n\t// we can set up the transaction.\n\tdb.metalock.Lock()\n\tdefer db.metalock.Unlock()\n\n\t// Exit if the database is not open yet.\n\tif !db.opened {\n\t\tdb.rwlock.Unlock()\n\t\treturn nil, ErrDatabaseNotOpen\n\t}\n\n\t// Create a transaction associated with the database.\n\tt := &Tx{writable: true}\n\tt.init(db)\n\tdb.rwtx = t\n\n\t// Free any pages associated with closed read-only transactions.\n\tvar minid txid = 0xFFFFFFFFFFFFFFFF\n\tfor _, t := range db.txs {\n\t\tif t.meta.txid < minid {\n\t\t\tminid = t.meta.txid\n\t\t}\n\t}\n\tif minid > 0 {\n\t\tdb.freelist.release(minid - 1)\n\t}\n\n\treturn t, nil\n}\n\n// removeTx removes a transaction from the database.\nfunc (db *DB) removeTx(tx *Tx) {\n\t// Release the read lock on the mmap.\n\tdb.mmaplock.RUnlock()\n\n\t// Use the meta lock to restrict access to the DB object.\n\tdb.metalock.Lock()\n\n\t// Remove the transaction.\n\tfor i, t := range db.txs {\n\t\tif t == tx {\n\t\t\tlast := len(db.txs) - 1\n\t\t\tdb.txs[i] = db.txs[last]\n\t\t\tdb.txs[last] = nil\n\t\t\tdb.txs = db.txs[:last]\n\t\t\tbreak\n\t\t}\n\t}\n\tn := len(db.txs)\n\n\t// Unlock the meta pages.\n\tdb.metalock.Unlock()\n\n\t// Merge statistics.\n\tdb.statlock.Lock()\n\tdb.stats.OpenTxN = n\n\tdb.stats.TxStats.add(&tx.stats)\n\tdb.statlock.Unlock()\n}\n\n// Update executes a function within the context of a read-write managed transaction.\n// If no error is returned from the function then the transaction is committed.\n// If an error is returned then the entire transaction is rolled back.\n// Any error that is returned from the function or returned from the commit is\n// returned from the Update() method.\n//\n// Attempting to manually commit or rollback within the function will cause a panic.\nfunc (db *DB) Update(fn func(*Tx) error) error {\n\tt, err := db.Begin(true)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Make sure the transaction rolls back in the event of a panic.\n\tdefer func() {\n\t\tif t.db != nil {\n\t\t\tt.rollback()\n\t\t}\n\t}()\n\n\t// Mark as a managed tx so that the inner function cannot manually commit.\n\tt.managed = true\n\n\t// If an error is returned from the function then rollback and return error.\n\terr = fn(t)\n\tt.managed = false\n\tif err != nil {\n\t\t_ = t.Rollback()\n\t\treturn err\n\t}\n\n\treturn t.Commit()\n}\n\n// View executes a function within the context of a managed read-only transaction.\n// Any error that is returned from the function is returned from the View() method.\n//\n// Attempting to manually rollback within the function will cause a panic.\nfunc (db *DB) View(fn func(*Tx) error) error {\n\tt, err := db.Begin(false)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Make sure the transaction rolls back in the event of a panic.\n\tdefer func() {\n\t\tif t.db != nil {\n\t\t\tt.rollback()\n\t\t}\n\t}()\n\n\t// Mark as a managed tx so that the inner function cannot manually rollback.\n\tt.managed = true\n\n\t// If an error is returned from the function then pass it through.\n\terr = fn(t)\n\tt.managed = false\n\tif err != nil {\n\t\t_ = t.Rollback()\n\t\treturn err\n\t}\n\n\tif err := t.Rollback(); err != nil {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n\n// Batch calls fn as part of a batch. It behaves similar to Update,\n// except:\n//\n// 1. concurrent Batch calls can be combined into a single Bolt\n// transaction.\n//\n// 2. the function passed to Batch may be called multiple times,\n// regardless of whether it returns error or not.\n//\n// This means that Batch function side effects must be idempotent and\n// take permanent effect only after a successful return is seen in\n// caller.\n//\n// The maximum batch size and delay can be adjusted with DB.MaxBatchSize\n// and DB.MaxBatchDelay, respectively.\n//\n// Batch is only useful when there are multiple goroutines calling it.\nfunc (db *DB) Batch(fn func(*Tx) error) error {\n\terrCh := make(chan error, 1)\n\n\tdb.batchMu.Lock()\n\tif (db.batch == nil) || (db.batch != nil && len(db.batch.calls) >= db.MaxBatchSize) {\n\t\t// There is no existing batch, or the existing batch is full; start a new one.\n\t\tdb.batch = &batch{\n\t\t\tdb: db,\n\t\t}\n\t\tdb.batch.timer = time.AfterFunc(db.MaxBatchDelay, db.batch.trigger)\n\t}\n\tdb.batch.calls = append(db.batch.calls, call{fn: fn, err: errCh})\n\tif len(db.batch.calls) >= db.MaxBatchSize {\n\t\t// wake up batch, it's ready to run\n\t\tgo db.batch.trigger()\n\t}\n\tdb.batchMu.Unlock()\n\n\terr := <-errCh\n\tif err == trySolo {\n\t\terr = db.Update(fn)\n\t}\n\treturn err\n}\n\ntype call struct {\n\tfn  func(*Tx) error\n\terr chan<- error\n}\n\ntype batch struct {\n\tdb    *DB\n\ttimer *time.Timer\n\tstart sync.Once\n\tcalls []call\n}\n\n// trigger runs the batch if it hasn't already been run.\nfunc (b *batch) trigger() {\n\tb.start.Do(b.run)\n}\n\n// run performs the transactions in the batch and communicates results\n// back to DB.Batch.\nfunc (b *batch) run() {\n\tb.db.batchMu.Lock()\n\tb.timer.Stop()\n\t// Make sure no new work is added to this batch, but don't break\n\t// other batches.\n\tif b.db.batch == b {\n\t\tb.db.batch = nil\n\t}\n\tb.db.batchMu.Unlock()\n\nretry:\n\tfor len(b.calls) > 0 {\n\t\tvar failIdx = -1\n\t\terr := b.db.Update(func(tx *Tx) error {\n\t\t\tfor i, c := range b.calls {\n\t\t\t\tif err := safelyCall(c.fn, tx); err != nil {\n\t\t\t\t\tfailIdx = i\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn nil\n\t\t})\n\n\t\tif failIdx >= 0 {\n\t\t\t// take the failing transaction out of the batch. it's\n\t\t\t// safe to shorten b.calls here because db.batch no longer\n\t\t\t// points to us, and we hold the mutex anyway.\n\t\t\tc := b.calls[failIdx]\n\t\t\tb.calls[failIdx], b.calls = b.calls[len(b.calls)-1], b.calls[:len(b.calls)-1]\n\t\t\t// tell the submitter re-run it solo, continue with the rest of the batch\n\t\t\tc.err <- trySolo\n\t\t\tcontinue retry\n\t\t}\n\n\t\t// pass success, or bolt internal errors, to all callers\n\t\tfor _, c := range b.calls {\n\t\t\tif c.err != nil {\n\t\t\t\tc.err <- err\n\t\t\t}\n\t\t}\n\t\tbreak retry\n\t}\n}\n\n// trySolo is a special sentinel error value used for signaling that a\n// transaction function should be re-run. It should never be seen by\n// callers.\nvar trySolo = errors.New(\"batch function returned an error and should be re-run solo\")\n\ntype panicked struct {\n\treason interface{}\n}\n\nfunc (p panicked) Error() string {\n\tif err, ok := p.reason.(error); ok {\n\t\treturn err.Error()\n\t}\n\treturn fmt.Sprintf(\"panic: %v\", p.reason)\n}\n\nfunc safelyCall(fn func(*Tx) error, tx *Tx) (err error) {\n\tdefer func() {\n\t\tif p := recover(); p != nil {\n\t\t\terr = panicked{p}\n\t\t}\n\t}()\n\treturn fn(tx)\n}\n\n// Sync executes fdatasync() against the database file handle.\n//\n// This is not necessary under normal operation, however, if you use NoSync\n// then it allows you to force the database file to sync against the disk.\nfunc (db *DB) Sync() error { return fdatasync(db) }\n\n// Stats retrieves ongoing performance stats for the database.\n// This is only updated when a transaction closes.\nfunc (db *DB) Stats() Stats {\n\tdb.statlock.RLock()\n\tdefer db.statlock.RUnlock()\n\treturn db.stats\n}\n\n// This is for internal access to the raw data bytes from the C cursor, use\n// carefully, or not at all.\nfunc (db *DB) Info() *Info {\n\treturn &Info{uintptr(unsafe.Pointer(&db.data[0])), db.pageSize}\n}\n\n// page retrieves a page reference from the mmap based on the current page size.\nfunc (db *DB) page(id pgid) *page {\n\tpos := id * pgid(db.pageSize)\n\treturn (*page)(unsafe.Pointer(&db.data[pos]))\n}\n\n// pageInBuffer retrieves a page reference from a given byte array based on the current page size.\nfunc (db *DB) pageInBuffer(b []byte, id pgid) *page {\n\treturn (*page)(unsafe.Pointer(&b[id*pgid(db.pageSize)]))\n}\n\n// meta retrieves the current meta page reference.\nfunc (db *DB) meta() *meta {\n\t// We have to return the meta with the highest txid which doesn't fail\n\t// validation. Otherwise, we can cause errors when in fact the database is\n\t// in a consistent state. metaA is the one with the higher txid.\n\tmetaA := db.meta0\n\tmetaB := db.meta1\n\tif db.meta1.txid > db.meta0.txid {\n\t\tmetaA = db.meta1\n\t\tmetaB = db.meta0\n\t}\n\n\t// Use higher meta page if valid. Otherwise fallback to previous, if valid.\n\tif err := metaA.validate(); err == nil {\n\t\treturn metaA\n\t} else if err := metaB.validate(); err == nil {\n\t\treturn metaB\n\t}\n\n\t// This should never be reached, because both meta1 and meta0 were validated\n\t// on mmap() and we do fsync() on every write.\n\tpanic(\"bolt.DB.meta(): invalid meta pages\")\n}\n\n// allocate returns a contiguous block of memory starting at a given page.\nfunc (db *DB) allocate(count int) (*page, error) {\n\t// Allocate a temporary buffer for the page.\n\tvar buf []byte\n\tif count == 1 {\n\t\tbuf = db.pagePool.Get().([]byte)\n\t} else {\n\t\tbuf = make([]byte, count*db.pageSize)\n\t}\n\tp := (*page)(unsafe.Pointer(&buf[0]))\n\tp.overflow = uint32(count - 1)\n\n\t// Use pages from the freelist if they are available.\n\tif p.id = db.freelist.allocate(count); p.id != 0 {\n\t\treturn p, nil\n\t}\n\n\t// Resize mmap() if we're at the end.\n\tp.id = db.rwtx.meta.pgid\n\tvar minsz = int((p.id+pgid(count))+1) * db.pageSize\n\tif minsz >= db.datasz {\n\t\tif err := db.mmap(minsz); err != nil {\n\t\t\treturn nil, fmt.Errorf(\"mmap allocate error: %s\", err)\n\t\t}\n\t}\n\n\t// Move the page id high water mark.\n\tdb.rwtx.meta.pgid += pgid(count)\n\n\treturn p, nil\n}\n\n// grow grows the size of the database to the given sz.\nfunc (db *DB) grow(sz int) error {\n\t// Ignore if the new size is less than available file size.\n\tif sz <= db.filesz {\n\t\treturn nil\n\t}\n\n\t// If the data is smaller than the alloc size then only allocate what's needed.\n\t// Once it goes over the allocation size then allocate in chunks.\n\tif db.datasz < db.AllocSize {\n\t\tsz = db.datasz\n\t} else {\n\t\tsz += db.AllocSize\n\t}\n\n\t// Truncate and fsync to ensure file size metadata is flushed.\n\t// https://github.com/boltdb/bolt/issues/284\n\tif !db.NoGrowSync && !db.readOnly {\n\t\tif runtime.GOOS != \"windows\" {\n\t\t\tif err := db.file.Truncate(int64(sz)); err != nil {\n\t\t\t\treturn fmt.Errorf(\"file resize error: %s\", err)\n\t\t\t}\n\t\t}\n\t\tif err := db.file.Sync(); err != nil {\n\t\t\treturn fmt.Errorf(\"file sync error: %s\", err)\n\t\t}\n\t}\n\n\tdb.filesz = sz\n\treturn nil\n}\n\nfunc (db *DB) IsReadOnly() bool {\n\treturn db.readOnly\n}\n\n// Options represents the options that can be set when opening a database.\ntype Options struct {\n\t// Timeout is the amount of time to wait to obtain a file lock.\n\t// When set to zero it will wait indefinitely. This option is only\n\t// available on Darwin and Linux.\n\tTimeout time.Duration\n\n\t// Sets the DB.NoGrowSync flag before memory mapping the file.\n\tNoGrowSync bool\n\n\t// Open database in read-only mode. Uses flock(..., LOCK_SH |LOCK_NB) to\n\t// grab a shared lock (UNIX).\n\tReadOnly bool\n\n\t// Sets the DB.MmapFlags flag before memory mapping the file.\n\tMmapFlags int\n\n\t// InitialMmapSize is the initial mmap size of the database\n\t// in bytes. Read transactions won't block write transaction\n\t// if the InitialMmapSize is large enough to hold database mmap\n\t// size. (See DB.Begin for more information)\n\t//\n\t// If <=0, the initial map size is 0.\n\t// If initialMmapSize is smaller than the previous database size,\n\t// it takes no effect.\n\tInitialMmapSize int\n}\n\n// DefaultOptions represent the options used if nil options are passed into Open().\n// No timeout is used which will cause Bolt to wait indefinitely for a lock.\nvar DefaultOptions = &Options{\n\tTimeout:    0,\n\tNoGrowSync: false,\n}\n\n// Stats represents statistics about the database.\ntype Stats struct {\n\t// Freelist stats\n\tFreePageN     int // total number of free pages on the freelist\n\tPendingPageN  int // total number of pending pages on the freelist\n\tFreeAlloc     int // total bytes allocated in free pages\n\tFreelistInuse int // total bytes used by the freelist\n\n\t// Transaction stats\n\tTxN     int // total number of started read transactions\n\tOpenTxN int // number of currently open read transactions\n\n\tTxStats TxStats // global, ongoing stats.\n}\n\n// Sub calculates and returns the difference between two sets of database stats.\n// This is useful when obtaining stats at two different points and time and\n// you need the performance counters that occurred within that time span.\nfunc (s *Stats) Sub(other *Stats) Stats {\n\tif other == nil {\n\t\treturn *s\n\t}\n\tvar diff Stats\n\tdiff.FreePageN = s.FreePageN\n\tdiff.PendingPageN = s.PendingPageN\n\tdiff.FreeAlloc = s.FreeAlloc\n\tdiff.FreelistInuse = s.FreelistInuse\n\tdiff.TxN = s.TxN - other.TxN\n\tdiff.TxStats = s.TxStats.Sub(&other.TxStats)\n\treturn diff\n}\n\nfunc (s *Stats) add(other *Stats) {\n\ts.TxStats.add(&other.TxStats)\n}\n\ntype Info struct {\n\tData     uintptr\n\tPageSize int\n}\n\ntype meta struct {\n\tmagic    uint32\n\tversion  uint32\n\tpageSize uint32\n\tflags    uint32\n\troot     bucket\n\tfreelist pgid\n\tpgid     pgid\n\ttxid     txid\n\tchecksum uint64\n}\n\n// validate checks the marker bytes and version of the meta page to ensure it matches this binary.\nfunc (m *meta) validate() error {\n\tif m.magic != magic {\n\t\treturn ErrInvalid\n\t} else if m.version != version {\n\t\treturn ErrVersionMismatch\n\t} else if m.checksum != 0 && m.checksum != m.sum64() {\n\t\treturn ErrChecksum\n\t}\n\treturn nil\n}\n\n// copy copies one meta object to another.\nfunc (m *meta) copy(dest *meta) {\n\t*dest = *m\n}\n\n// write writes the meta onto a page.\nfunc (m *meta) write(p *page) {\n\tif m.root.root >= m.pgid {\n\t\tpanic(fmt.Sprintf(\"root bucket pgid (%d) above high water mark (%d)\", m.root.root, m.pgid))\n\t} else if m.freelist >= m.pgid {\n\t\tpanic(fmt.Sprintf(\"freelist pgid (%d) above high water mark (%d)\", m.freelist, m.pgid))\n\t}\n\n\t// Page id is either going to be 0 or 1 which we can determine by the transaction ID.\n\tp.id = pgid(m.txid % 2)\n\tp.flags |= metaPageFlag\n\n\t// Calculate the checksum.\n\tm.checksum = m.sum64()\n\n\tm.copy(p.meta())\n}\n\n// generates the checksum for the meta.\nfunc (m *meta) sum64() uint64 {\n\tvar h = fnv.New64a()\n\t_, _ = h.Write((*[unsafe.Offsetof(meta{}.checksum)]byte)(unsafe.Pointer(m))[:])\n\treturn h.Sum64()\n}\n\n// _assert will panic with a given formatted message if the given condition is false.\nfunc _assert(condition bool, msg string, v ...interface{}) {\n\tif !condition {\n\t\tpanic(fmt.Sprintf(\"assertion failed: \"+msg, v...))\n\t}\n}\n\nfunc warn(v ...interface{})              { fmt.Fprintln(os.Stderr, v...) }\nfunc warnf(msg string, v ...interface{}) { fmt.Fprintf(os.Stderr, msg+\"\\n\", v...) }\n\nfunc printstack() {\n\tstack := strings.Join(strings.Split(string(debug.Stack()), \"\\n\")[2:], \"\\n\")\n\tfmt.Fprintln(os.Stderr, stack)\n}\n"
  },
  {
    "path": "vendor/github.com/boltdb/bolt/doc.go",
    "content": "/*\nPackage bolt implements a low-level key/value store in pure Go. It supports\nfully serializable transactions, ACID semantics, and lock-free MVCC with\nmultiple readers and a single writer. Bolt can be used for projects that\nwant a simple data store without the need to add large dependencies such as\nPostgres or MySQL.\n\nBolt is a single-level, zero-copy, B+tree data store. This means that Bolt is\noptimized for fast read access and does not require recovery in the event of a\nsystem crash. Transactions which have not finished committing will simply be\nrolled back in the event of a crash.\n\nThe design of Bolt is based on Howard Chu's LMDB database project.\n\nBolt currently works on Windows, Mac OS X, and Linux.\n\n\nBasics\n\nThere are only a few types in Bolt: DB, Bucket, Tx, and Cursor. The DB is\na collection of buckets and is represented by a single file on disk. A bucket is\na collection of unique keys that are associated with values.\n\nTransactions provide either read-only or read-write access to the database.\nRead-only transactions can retrieve key/value pairs and can use Cursors to\niterate over the dataset sequentially. Read-write transactions can create and\ndelete buckets and can insert and remove keys. Only one read-write transaction\nis allowed at a time.\n\n\nCaveats\n\nThe database uses a read-only, memory-mapped data file to ensure that\napplications cannot corrupt the database, however, this means that keys and\nvalues returned from Bolt cannot be changed. Writing to a read-only byte slice\nwill cause Go to panic.\n\nKeys and values retrieved from the database are only valid for the life of\nthe transaction. When used outside the transaction, these byte slices can\npoint to different data or can point to invalid memory which will cause a panic.\n\n\n*/\npackage bolt\n"
  },
  {
    "path": "vendor/github.com/boltdb/bolt/errors.go",
    "content": "package bolt\n\nimport \"errors\"\n\n// These errors can be returned when opening or calling methods on a DB.\nvar (\n\t// ErrDatabaseNotOpen is returned when a DB instance is accessed before it\n\t// is opened or after it is closed.\n\tErrDatabaseNotOpen = errors.New(\"database not open\")\n\n\t// ErrDatabaseOpen is returned when opening a database that is\n\t// already open.\n\tErrDatabaseOpen = errors.New(\"database already open\")\n\n\t// ErrInvalid is returned when both meta pages on a database are invalid.\n\t// This typically occurs when a file is not a bolt database.\n\tErrInvalid = errors.New(\"invalid database\")\n\n\t// ErrVersionMismatch is returned when the data file was created with a\n\t// different version of Bolt.\n\tErrVersionMismatch = errors.New(\"version mismatch\")\n\n\t// ErrChecksum is returned when either meta page checksum does not match.\n\tErrChecksum = errors.New(\"checksum error\")\n\n\t// ErrTimeout is returned when a database cannot obtain an exclusive lock\n\t// on the data file after the timeout passed to Open().\n\tErrTimeout = errors.New(\"timeout\")\n)\n\n// These errors can occur when beginning or committing a Tx.\nvar (\n\t// ErrTxNotWritable is returned when performing a write operation on a\n\t// read-only transaction.\n\tErrTxNotWritable = errors.New(\"tx not writable\")\n\n\t// ErrTxClosed is returned when committing or rolling back a transaction\n\t// that has already been committed or rolled back.\n\tErrTxClosed = errors.New(\"tx closed\")\n\n\t// ErrDatabaseReadOnly is returned when a mutating transaction is started on a\n\t// read-only database.\n\tErrDatabaseReadOnly = errors.New(\"database is in read-only mode\")\n)\n\n// These errors can occur when putting or deleting a value or a bucket.\nvar (\n\t// ErrBucketNotFound is returned when trying to access a bucket that has\n\t// not been created yet.\n\tErrBucketNotFound = errors.New(\"bucket not found\")\n\n\t// ErrBucketExists is returned when creating a bucket that already exists.\n\tErrBucketExists = errors.New(\"bucket already exists\")\n\n\t// ErrBucketNameRequired is returned when creating a bucket with a blank name.\n\tErrBucketNameRequired = errors.New(\"bucket name required\")\n\n\t// ErrKeyRequired is returned when inserting a zero-length key.\n\tErrKeyRequired = errors.New(\"key required\")\n\n\t// ErrKeyTooLarge is returned when inserting a key that is larger than MaxKeySize.\n\tErrKeyTooLarge = errors.New(\"key too large\")\n\n\t// ErrValueTooLarge is returned when inserting a value that is larger than MaxValueSize.\n\tErrValueTooLarge = errors.New(\"value too large\")\n\n\t// ErrIncompatibleValue is returned when trying create or delete a bucket\n\t// on an existing non-bucket key or when trying to create or delete a\n\t// non-bucket key on an existing bucket key.\n\tErrIncompatibleValue = errors.New(\"incompatible value\")\n)\n"
  },
  {
    "path": "vendor/github.com/boltdb/bolt/freelist.go",
    "content": "package bolt\n\nimport (\n\t\"fmt\"\n\t\"sort\"\n\t\"unsafe\"\n)\n\n// freelist represents a list of all pages that are available for allocation.\n// It also tracks pages that have been freed but are still in use by open transactions.\ntype freelist struct {\n\tids     []pgid          // all free and available free page ids.\n\tpending map[txid][]pgid // mapping of soon-to-be free page ids by tx.\n\tcache   map[pgid]bool   // fast lookup of all free and pending page ids.\n}\n\n// newFreelist returns an empty, initialized freelist.\nfunc newFreelist() *freelist {\n\treturn &freelist{\n\t\tpending: make(map[txid][]pgid),\n\t\tcache:   make(map[pgid]bool),\n\t}\n}\n\n// size returns the size of the page after serialization.\nfunc (f *freelist) size() int {\n\tn := f.count()\n\tif n >= 0xFFFF {\n\t\t// The first element will be used to store the count. See freelist.write.\n\t\tn++\n\t}\n\treturn pageHeaderSize + (int(unsafe.Sizeof(pgid(0))) * n)\n}\n\n// count returns count of pages on the freelist\nfunc (f *freelist) count() int {\n\treturn f.free_count() + f.pending_count()\n}\n\n// free_count returns count of free pages\nfunc (f *freelist) free_count() int {\n\treturn len(f.ids)\n}\n\n// pending_count returns count of pending pages\nfunc (f *freelist) pending_count() int {\n\tvar count int\n\tfor _, list := range f.pending {\n\t\tcount += len(list)\n\t}\n\treturn count\n}\n\n// copyall copies into dst a list of all free ids and all pending ids in one sorted list.\n// f.count returns the minimum length required for dst.\nfunc (f *freelist) copyall(dst []pgid) {\n\tm := make(pgids, 0, f.pending_count())\n\tfor _, list := range f.pending {\n\t\tm = append(m, list...)\n\t}\n\tsort.Sort(m)\n\tmergepgids(dst, f.ids, m)\n}\n\n// allocate returns the starting page id of a contiguous list of pages of a given size.\n// If a contiguous block cannot be found then 0 is returned.\nfunc (f *freelist) allocate(n int) pgid {\n\tif len(f.ids) == 0 {\n\t\treturn 0\n\t}\n\n\tvar initial, previd pgid\n\tfor i, id := range f.ids {\n\t\tif id <= 1 {\n\t\t\tpanic(fmt.Sprintf(\"invalid page allocation: %d\", id))\n\t\t}\n\n\t\t// Reset initial page if this is not contiguous.\n\t\tif previd == 0 || id-previd != 1 {\n\t\t\tinitial = id\n\t\t}\n\n\t\t// If we found a contiguous block then remove it and return it.\n\t\tif (id-initial)+1 == pgid(n) {\n\t\t\t// If we're allocating off the beginning then take the fast path\n\t\t\t// and just adjust the existing slice. This will use extra memory\n\t\t\t// temporarily but the append() in free() will realloc the slice\n\t\t\t// as is necessary.\n\t\t\tif (i + 1) == n {\n\t\t\t\tf.ids = f.ids[i+1:]\n\t\t\t} else {\n\t\t\t\tcopy(f.ids[i-n+1:], f.ids[i+1:])\n\t\t\t\tf.ids = f.ids[:len(f.ids)-n]\n\t\t\t}\n\n\t\t\t// Remove from the free cache.\n\t\t\tfor i := pgid(0); i < pgid(n); i++ {\n\t\t\t\tdelete(f.cache, initial+i)\n\t\t\t}\n\n\t\t\treturn initial\n\t\t}\n\n\t\tprevid = id\n\t}\n\treturn 0\n}\n\n// free releases a page and its overflow for a given transaction id.\n// If the page is already free then a panic will occur.\nfunc (f *freelist) free(txid txid, p *page) {\n\tif p.id <= 1 {\n\t\tpanic(fmt.Sprintf(\"cannot free page 0 or 1: %d\", p.id))\n\t}\n\n\t// Free page and all its overflow pages.\n\tvar ids = f.pending[txid]\n\tfor id := p.id; id <= p.id+pgid(p.overflow); id++ {\n\t\t// Verify that page is not already free.\n\t\tif f.cache[id] {\n\t\t\tpanic(fmt.Sprintf(\"page %d already freed\", id))\n\t\t}\n\n\t\t// Add to the freelist and cache.\n\t\tids = append(ids, id)\n\t\tf.cache[id] = true\n\t}\n\tf.pending[txid] = ids\n}\n\n// release moves all page ids for a transaction id (or older) to the freelist.\nfunc (f *freelist) release(txid txid) {\n\tm := make(pgids, 0)\n\tfor tid, ids := range f.pending {\n\t\tif tid <= txid {\n\t\t\t// Move transaction's pending pages to the available freelist.\n\t\t\t// Don't remove from the cache since the page is still free.\n\t\t\tm = append(m, ids...)\n\t\t\tdelete(f.pending, tid)\n\t\t}\n\t}\n\tsort.Sort(m)\n\tf.ids = pgids(f.ids).merge(m)\n}\n\n// rollback removes the pages from a given pending tx.\nfunc (f *freelist) rollback(txid txid) {\n\t// Remove page ids from cache.\n\tfor _, id := range f.pending[txid] {\n\t\tdelete(f.cache, id)\n\t}\n\n\t// Remove pages from pending list.\n\tdelete(f.pending, txid)\n}\n\n// freed returns whether a given page is in the free list.\nfunc (f *freelist) freed(pgid pgid) bool {\n\treturn f.cache[pgid]\n}\n\n// read initializes the freelist from a freelist page.\nfunc (f *freelist) read(p *page) {\n\t// If the page.count is at the max uint16 value (64k) then it's considered\n\t// an overflow and the size of the freelist is stored as the first element.\n\tidx, count := 0, int(p.count)\n\tif count == 0xFFFF {\n\t\tidx = 1\n\t\tcount = int(((*[maxAllocSize]pgid)(unsafe.Pointer(&p.ptr)))[0])\n\t}\n\n\t// Copy the list of page ids from the freelist.\n\tif count == 0 {\n\t\tf.ids = nil\n\t} else {\n\t\tids := ((*[maxAllocSize]pgid)(unsafe.Pointer(&p.ptr)))[idx:count]\n\t\tf.ids = make([]pgid, len(ids))\n\t\tcopy(f.ids, ids)\n\n\t\t// Make sure they're sorted.\n\t\tsort.Sort(pgids(f.ids))\n\t}\n\n\t// Rebuild the page cache.\n\tf.reindex()\n}\n\n// write writes the page ids onto a freelist page. All free and pending ids are\n// saved to disk since in the event of a program crash, all pending ids will\n// become free.\nfunc (f *freelist) write(p *page) error {\n\t// Combine the old free pgids and pgids waiting on an open transaction.\n\n\t// Update the header flag.\n\tp.flags |= freelistPageFlag\n\n\t// The page.count can only hold up to 64k elements so if we overflow that\n\t// number then we handle it by putting the size in the first element.\n\tlenids := f.count()\n\tif lenids == 0 {\n\t\tp.count = uint16(lenids)\n\t} else if lenids < 0xFFFF {\n\t\tp.count = uint16(lenids)\n\t\tf.copyall(((*[maxAllocSize]pgid)(unsafe.Pointer(&p.ptr)))[:])\n\t} else {\n\t\tp.count = 0xFFFF\n\t\t((*[maxAllocSize]pgid)(unsafe.Pointer(&p.ptr)))[0] = pgid(lenids)\n\t\tf.copyall(((*[maxAllocSize]pgid)(unsafe.Pointer(&p.ptr)))[1:])\n\t}\n\n\treturn nil\n}\n\n// reload reads the freelist from a page and filters out pending items.\nfunc (f *freelist) reload(p *page) {\n\tf.read(p)\n\n\t// Build a cache of only pending pages.\n\tpcache := make(map[pgid]bool)\n\tfor _, pendingIDs := range f.pending {\n\t\tfor _, pendingID := range pendingIDs {\n\t\t\tpcache[pendingID] = true\n\t\t}\n\t}\n\n\t// Check each page in the freelist and build a new available freelist\n\t// with any pages not in the pending lists.\n\tvar a []pgid\n\tfor _, id := range f.ids {\n\t\tif !pcache[id] {\n\t\t\ta = append(a, id)\n\t\t}\n\t}\n\tf.ids = a\n\n\t// Once the available list is rebuilt then rebuild the free cache so that\n\t// it includes the available and pending free pages.\n\tf.reindex()\n}\n\n// reindex rebuilds the free cache based on available and pending free lists.\nfunc (f *freelist) reindex() {\n\tf.cache = make(map[pgid]bool, len(f.ids))\n\tfor _, id := range f.ids {\n\t\tf.cache[id] = true\n\t}\n\tfor _, pendingIDs := range f.pending {\n\t\tfor _, pendingID := range pendingIDs {\n\t\t\tf.cache[pendingID] = true\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/boltdb/bolt/node.go",
    "content": "package bolt\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"sort\"\n\t\"unsafe\"\n)\n\n// node represents an in-memory, deserialized page.\ntype node struct {\n\tbucket     *Bucket\n\tisLeaf     bool\n\tunbalanced bool\n\tspilled    bool\n\tkey        []byte\n\tpgid       pgid\n\tparent     *node\n\tchildren   nodes\n\tinodes     inodes\n}\n\n// root returns the top-level node this node is attached to.\nfunc (n *node) root() *node {\n\tif n.parent == nil {\n\t\treturn n\n\t}\n\treturn n.parent.root()\n}\n\n// minKeys returns the minimum number of inodes this node should have.\nfunc (n *node) minKeys() int {\n\tif n.isLeaf {\n\t\treturn 1\n\t}\n\treturn 2\n}\n\n// size returns the size of the node after serialization.\nfunc (n *node) size() int {\n\tsz, elsz := pageHeaderSize, n.pageElementSize()\n\tfor i := 0; i < len(n.inodes); i++ {\n\t\titem := &n.inodes[i]\n\t\tsz += elsz + len(item.key) + len(item.value)\n\t}\n\treturn sz\n}\n\n// sizeLessThan returns true if the node is less than a given size.\n// This is an optimization to avoid calculating a large node when we only need\n// to know if it fits inside a certain page size.\nfunc (n *node) sizeLessThan(v int) bool {\n\tsz, elsz := pageHeaderSize, n.pageElementSize()\n\tfor i := 0; i < len(n.inodes); i++ {\n\t\titem := &n.inodes[i]\n\t\tsz += elsz + len(item.key) + len(item.value)\n\t\tif sz >= v {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\n// pageElementSize returns the size of each page element based on the type of node.\nfunc (n *node) pageElementSize() int {\n\tif n.isLeaf {\n\t\treturn leafPageElementSize\n\t}\n\treturn branchPageElementSize\n}\n\n// childAt returns the child node at a given index.\nfunc (n *node) childAt(index int) *node {\n\tif n.isLeaf {\n\t\tpanic(fmt.Sprintf(\"invalid childAt(%d) on a leaf node\", index))\n\t}\n\treturn n.bucket.node(n.inodes[index].pgid, n)\n}\n\n// childIndex returns the index of a given child node.\nfunc (n *node) childIndex(child *node) int {\n\tindex := sort.Search(len(n.inodes), func(i int) bool { return bytes.Compare(n.inodes[i].key, child.key) != -1 })\n\treturn index\n}\n\n// numChildren returns the number of children.\nfunc (n *node) numChildren() int {\n\treturn len(n.inodes)\n}\n\n// nextSibling returns the next node with the same parent.\nfunc (n *node) nextSibling() *node {\n\tif n.parent == nil {\n\t\treturn nil\n\t}\n\tindex := n.parent.childIndex(n)\n\tif index >= n.parent.numChildren()-1 {\n\t\treturn nil\n\t}\n\treturn n.parent.childAt(index + 1)\n}\n\n// prevSibling returns the previous node with the same parent.\nfunc (n *node) prevSibling() *node {\n\tif n.parent == nil {\n\t\treturn nil\n\t}\n\tindex := n.parent.childIndex(n)\n\tif index == 0 {\n\t\treturn nil\n\t}\n\treturn n.parent.childAt(index - 1)\n}\n\n// put inserts a key/value.\nfunc (n *node) put(oldKey, newKey, value []byte, pgid pgid, flags uint32) {\n\tif pgid >= n.bucket.tx.meta.pgid {\n\t\tpanic(fmt.Sprintf(\"pgid (%d) above high water mark (%d)\", pgid, n.bucket.tx.meta.pgid))\n\t} else if len(oldKey) <= 0 {\n\t\tpanic(\"put: zero-length old key\")\n\t} else if len(newKey) <= 0 {\n\t\tpanic(\"put: zero-length new key\")\n\t}\n\n\t// Find insertion index.\n\tindex := sort.Search(len(n.inodes), func(i int) bool { return bytes.Compare(n.inodes[i].key, oldKey) != -1 })\n\n\t// Add capacity and shift nodes if we don't have an exact match and need to insert.\n\texact := (len(n.inodes) > 0 && index < len(n.inodes) && bytes.Equal(n.inodes[index].key, oldKey))\n\tif !exact {\n\t\tn.inodes = append(n.inodes, inode{})\n\t\tcopy(n.inodes[index+1:], n.inodes[index:])\n\t}\n\n\tinode := &n.inodes[index]\n\tinode.flags = flags\n\tinode.key = newKey\n\tinode.value = value\n\tinode.pgid = pgid\n\t_assert(len(inode.key) > 0, \"put: zero-length inode key\")\n}\n\n// del removes a key from the node.\nfunc (n *node) del(key []byte) {\n\t// Find index of key.\n\tindex := sort.Search(len(n.inodes), func(i int) bool { return bytes.Compare(n.inodes[i].key, key) != -1 })\n\n\t// Exit if the key isn't found.\n\tif index >= len(n.inodes) || !bytes.Equal(n.inodes[index].key, key) {\n\t\treturn\n\t}\n\n\t// Delete inode from the node.\n\tn.inodes = append(n.inodes[:index], n.inodes[index+1:]...)\n\n\t// Mark the node as needing rebalancing.\n\tn.unbalanced = true\n}\n\n// read initializes the node from a page.\nfunc (n *node) read(p *page) {\n\tn.pgid = p.id\n\tn.isLeaf = ((p.flags & leafPageFlag) != 0)\n\tn.inodes = make(inodes, int(p.count))\n\n\tfor i := 0; i < int(p.count); i++ {\n\t\tinode := &n.inodes[i]\n\t\tif n.isLeaf {\n\t\t\telem := p.leafPageElement(uint16(i))\n\t\t\tinode.flags = elem.flags\n\t\t\tinode.key = elem.key()\n\t\t\tinode.value = elem.value()\n\t\t} else {\n\t\t\telem := p.branchPageElement(uint16(i))\n\t\t\tinode.pgid = elem.pgid\n\t\t\tinode.key = elem.key()\n\t\t}\n\t\t_assert(len(inode.key) > 0, \"read: zero-length inode key\")\n\t}\n\n\t// Save first key so we can find the node in the parent when we spill.\n\tif len(n.inodes) > 0 {\n\t\tn.key = n.inodes[0].key\n\t\t_assert(len(n.key) > 0, \"read: zero-length node key\")\n\t} else {\n\t\tn.key = nil\n\t}\n}\n\n// write writes the items onto one or more pages.\nfunc (n *node) write(p *page) {\n\t// Initialize page.\n\tif n.isLeaf {\n\t\tp.flags |= leafPageFlag\n\t} else {\n\t\tp.flags |= branchPageFlag\n\t}\n\n\tif len(n.inodes) >= 0xFFFF {\n\t\tpanic(fmt.Sprintf(\"inode overflow: %d (pgid=%d)\", len(n.inodes), p.id))\n\t}\n\tp.count = uint16(len(n.inodes))\n\n\t// Stop here if there are no items to write.\n\tif p.count == 0 {\n\t\treturn\n\t}\n\n\t// Loop over each item and write it to the page.\n\tb := (*[maxAllocSize]byte)(unsafe.Pointer(&p.ptr))[n.pageElementSize()*len(n.inodes):]\n\tfor i, item := range n.inodes {\n\t\t_assert(len(item.key) > 0, \"write: zero-length inode key\")\n\n\t\t// Write the page element.\n\t\tif n.isLeaf {\n\t\t\telem := p.leafPageElement(uint16(i))\n\t\t\telem.pos = uint32(uintptr(unsafe.Pointer(&b[0])) - uintptr(unsafe.Pointer(elem)))\n\t\t\telem.flags = item.flags\n\t\t\telem.ksize = uint32(len(item.key))\n\t\t\telem.vsize = uint32(len(item.value))\n\t\t} else {\n\t\t\telem := p.branchPageElement(uint16(i))\n\t\t\telem.pos = uint32(uintptr(unsafe.Pointer(&b[0])) - uintptr(unsafe.Pointer(elem)))\n\t\t\telem.ksize = uint32(len(item.key))\n\t\t\telem.pgid = item.pgid\n\t\t\t_assert(elem.pgid != p.id, \"write: circular dependency occurred\")\n\t\t}\n\n\t\t// If the length of key+value is larger than the max allocation size\n\t\t// then we need to reallocate the byte array pointer.\n\t\t//\n\t\t// See: https://github.com/boltdb/bolt/pull/335\n\t\tklen, vlen := len(item.key), len(item.value)\n\t\tif len(b) < klen+vlen {\n\t\t\tb = (*[maxAllocSize]byte)(unsafe.Pointer(&b[0]))[:]\n\t\t}\n\n\t\t// Write data for the element to the end of the page.\n\t\tcopy(b[0:], item.key)\n\t\tb = b[klen:]\n\t\tcopy(b[0:], item.value)\n\t\tb = b[vlen:]\n\t}\n\n\t// DEBUG ONLY: n.dump()\n}\n\n// split breaks up a node into multiple smaller nodes, if appropriate.\n// This should only be called from the spill() function.\nfunc (n *node) split(pageSize int) []*node {\n\tvar nodes []*node\n\n\tnode := n\n\tfor {\n\t\t// Split node into two.\n\t\ta, b := node.splitTwo(pageSize)\n\t\tnodes = append(nodes, a)\n\n\t\t// If we can't split then exit the loop.\n\t\tif b == nil {\n\t\t\tbreak\n\t\t}\n\n\t\t// Set node to b so it gets split on the next iteration.\n\t\tnode = b\n\t}\n\n\treturn nodes\n}\n\n// splitTwo breaks up a node into two smaller nodes, if appropriate.\n// This should only be called from the split() function.\nfunc (n *node) splitTwo(pageSize int) (*node, *node) {\n\t// Ignore the split if the page doesn't have at least enough nodes for\n\t// two pages or if the nodes can fit in a single page.\n\tif len(n.inodes) <= (minKeysPerPage*2) || n.sizeLessThan(pageSize) {\n\t\treturn n, nil\n\t}\n\n\t// Determine the threshold before starting a new node.\n\tvar fillPercent = n.bucket.FillPercent\n\tif fillPercent < minFillPercent {\n\t\tfillPercent = minFillPercent\n\t} else if fillPercent > maxFillPercent {\n\t\tfillPercent = maxFillPercent\n\t}\n\tthreshold := int(float64(pageSize) * fillPercent)\n\n\t// Determine split position and sizes of the two pages.\n\tsplitIndex, _ := n.splitIndex(threshold)\n\n\t// Split node into two separate nodes.\n\t// If there's no parent then we'll need to create one.\n\tif n.parent == nil {\n\t\tn.parent = &node{bucket: n.bucket, children: []*node{n}}\n\t}\n\n\t// Create a new node and add it to the parent.\n\tnext := &node{bucket: n.bucket, isLeaf: n.isLeaf, parent: n.parent}\n\tn.parent.children = append(n.parent.children, next)\n\n\t// Split inodes across two nodes.\n\tnext.inodes = n.inodes[splitIndex:]\n\tn.inodes = n.inodes[:splitIndex]\n\n\t// Update the statistics.\n\tn.bucket.tx.stats.Split++\n\n\treturn n, next\n}\n\n// splitIndex finds the position where a page will fill a given threshold.\n// It returns the index as well as the size of the first page.\n// This is only be called from split().\nfunc (n *node) splitIndex(threshold int) (index, sz int) {\n\tsz = pageHeaderSize\n\n\t// Loop until we only have the minimum number of keys required for the second page.\n\tfor i := 0; i < len(n.inodes)-minKeysPerPage; i++ {\n\t\tindex = i\n\t\tinode := n.inodes[i]\n\t\telsize := n.pageElementSize() + len(inode.key) + len(inode.value)\n\n\t\t// If we have at least the minimum number of keys and adding another\n\t\t// node would put us over the threshold then exit and return.\n\t\tif i >= minKeysPerPage && sz+elsize > threshold {\n\t\t\tbreak\n\t\t}\n\n\t\t// Add the element size to the total size.\n\t\tsz += elsize\n\t}\n\n\treturn\n}\n\n// spill writes the nodes to dirty pages and splits nodes as it goes.\n// Returns an error if dirty pages cannot be allocated.\nfunc (n *node) spill() error {\n\tvar tx = n.bucket.tx\n\tif n.spilled {\n\t\treturn nil\n\t}\n\n\t// Spill child nodes first. Child nodes can materialize sibling nodes in\n\t// the case of split-merge so we cannot use a range loop. We have to check\n\t// the children size on every loop iteration.\n\tsort.Sort(n.children)\n\tfor i := 0; i < len(n.children); i++ {\n\t\tif err := n.children[i].spill(); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\t// We no longer need the child list because it's only used for spill tracking.\n\tn.children = nil\n\n\t// Split nodes into appropriate sizes. The first node will always be n.\n\tvar nodes = n.split(tx.db.pageSize)\n\tfor _, node := range nodes {\n\t\t// Add node's page to the freelist if it's not new.\n\t\tif node.pgid > 0 {\n\t\t\ttx.db.freelist.free(tx.meta.txid, tx.page(node.pgid))\n\t\t\tnode.pgid = 0\n\t\t}\n\n\t\t// Allocate contiguous space for the node.\n\t\tp, err := tx.allocate((node.size() / tx.db.pageSize) + 1)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\t// Write the node.\n\t\tif p.id >= tx.meta.pgid {\n\t\t\tpanic(fmt.Sprintf(\"pgid (%d) above high water mark (%d)\", p.id, tx.meta.pgid))\n\t\t}\n\t\tnode.pgid = p.id\n\t\tnode.write(p)\n\t\tnode.spilled = true\n\n\t\t// Insert into parent inodes.\n\t\tif node.parent != nil {\n\t\t\tvar key = node.key\n\t\t\tif key == nil {\n\t\t\t\tkey = node.inodes[0].key\n\t\t\t}\n\n\t\t\tnode.parent.put(key, node.inodes[0].key, nil, node.pgid, 0)\n\t\t\tnode.key = node.inodes[0].key\n\t\t\t_assert(len(node.key) > 0, \"spill: zero-length node key\")\n\t\t}\n\n\t\t// Update the statistics.\n\t\ttx.stats.Spill++\n\t}\n\n\t// If the root node split and created a new root then we need to spill that\n\t// as well. We'll clear out the children to make sure it doesn't try to respill.\n\tif n.parent != nil && n.parent.pgid == 0 {\n\t\tn.children = nil\n\t\treturn n.parent.spill()\n\t}\n\n\treturn nil\n}\n\n// rebalance attempts to combine the node with sibling nodes if the node fill\n// size is below a threshold or if there are not enough keys.\nfunc (n *node) rebalance() {\n\tif !n.unbalanced {\n\t\treturn\n\t}\n\tn.unbalanced = false\n\n\t// Update statistics.\n\tn.bucket.tx.stats.Rebalance++\n\n\t// Ignore if node is above threshold (25%) and has enough keys.\n\tvar threshold = n.bucket.tx.db.pageSize / 4\n\tif n.size() > threshold && len(n.inodes) > n.minKeys() {\n\t\treturn\n\t}\n\n\t// Root node has special handling.\n\tif n.parent == nil {\n\t\t// If root node is a branch and only has one node then collapse it.\n\t\tif !n.isLeaf && len(n.inodes) == 1 {\n\t\t\t// Move root's child up.\n\t\t\tchild := n.bucket.node(n.inodes[0].pgid, n)\n\t\t\tn.isLeaf = child.isLeaf\n\t\t\tn.inodes = child.inodes[:]\n\t\t\tn.children = child.children\n\n\t\t\t// Reparent all child nodes being moved.\n\t\t\tfor _, inode := range n.inodes {\n\t\t\t\tif child, ok := n.bucket.nodes[inode.pgid]; ok {\n\t\t\t\t\tchild.parent = n\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove old child.\n\t\t\tchild.parent = nil\n\t\t\tdelete(n.bucket.nodes, child.pgid)\n\t\t\tchild.free()\n\t\t}\n\n\t\treturn\n\t}\n\n\t// If node has no keys then just remove it.\n\tif n.numChildren() == 0 {\n\t\tn.parent.del(n.key)\n\t\tn.parent.removeChild(n)\n\t\tdelete(n.bucket.nodes, n.pgid)\n\t\tn.free()\n\t\tn.parent.rebalance()\n\t\treturn\n\t}\n\n\t_assert(n.parent.numChildren() > 1, \"parent must have at least 2 children\")\n\n\t// Destination node is right sibling if idx == 0, otherwise left sibling.\n\tvar target *node\n\tvar useNextSibling = (n.parent.childIndex(n) == 0)\n\tif useNextSibling {\n\t\ttarget = n.nextSibling()\n\t} else {\n\t\ttarget = n.prevSibling()\n\t}\n\n\t// If both this node and the target node are too small then merge them.\n\tif useNextSibling {\n\t\t// Reparent all child nodes being moved.\n\t\tfor _, inode := range target.inodes {\n\t\t\tif child, ok := n.bucket.nodes[inode.pgid]; ok {\n\t\t\t\tchild.parent.removeChild(child)\n\t\t\t\tchild.parent = n\n\t\t\t\tchild.parent.children = append(child.parent.children, child)\n\t\t\t}\n\t\t}\n\n\t\t// Copy over inodes from target and remove target.\n\t\tn.inodes = append(n.inodes, target.inodes...)\n\t\tn.parent.del(target.key)\n\t\tn.parent.removeChild(target)\n\t\tdelete(n.bucket.nodes, target.pgid)\n\t\ttarget.free()\n\t} else {\n\t\t// Reparent all child nodes being moved.\n\t\tfor _, inode := range n.inodes {\n\t\t\tif child, ok := n.bucket.nodes[inode.pgid]; ok {\n\t\t\t\tchild.parent.removeChild(child)\n\t\t\t\tchild.parent = target\n\t\t\t\tchild.parent.children = append(child.parent.children, child)\n\t\t\t}\n\t\t}\n\n\t\t// Copy over inodes to target and remove node.\n\t\ttarget.inodes = append(target.inodes, n.inodes...)\n\t\tn.parent.del(n.key)\n\t\tn.parent.removeChild(n)\n\t\tdelete(n.bucket.nodes, n.pgid)\n\t\tn.free()\n\t}\n\n\t// Either this node or the target node was deleted from the parent so rebalance it.\n\tn.parent.rebalance()\n}\n\n// removes a node from the list of in-memory children.\n// This does not affect the inodes.\nfunc (n *node) removeChild(target *node) {\n\tfor i, child := range n.children {\n\t\tif child == target {\n\t\t\tn.children = append(n.children[:i], n.children[i+1:]...)\n\t\t\treturn\n\t\t}\n\t}\n}\n\n// dereference causes the node to copy all its inode key/value references to heap memory.\n// This is required when the mmap is reallocated so inodes are not pointing to stale data.\nfunc (n *node) dereference() {\n\tif n.key != nil {\n\t\tkey := make([]byte, len(n.key))\n\t\tcopy(key, n.key)\n\t\tn.key = key\n\t\t_assert(n.pgid == 0 || len(n.key) > 0, \"dereference: zero-length node key on existing node\")\n\t}\n\n\tfor i := range n.inodes {\n\t\tinode := &n.inodes[i]\n\n\t\tkey := make([]byte, len(inode.key))\n\t\tcopy(key, inode.key)\n\t\tinode.key = key\n\t\t_assert(len(inode.key) > 0, \"dereference: zero-length inode key\")\n\n\t\tvalue := make([]byte, len(inode.value))\n\t\tcopy(value, inode.value)\n\t\tinode.value = value\n\t}\n\n\t// Recursively dereference children.\n\tfor _, child := range n.children {\n\t\tchild.dereference()\n\t}\n\n\t// Update statistics.\n\tn.bucket.tx.stats.NodeDeref++\n}\n\n// free adds the node's underlying page to the freelist.\nfunc (n *node) free() {\n\tif n.pgid != 0 {\n\t\tn.bucket.tx.db.freelist.free(n.bucket.tx.meta.txid, n.bucket.tx.page(n.pgid))\n\t\tn.pgid = 0\n\t}\n}\n\n// dump writes the contents of the node to STDERR for debugging purposes.\n/*\nfunc (n *node) dump() {\n\t// Write node header.\n\tvar typ = \"branch\"\n\tif n.isLeaf {\n\t\ttyp = \"leaf\"\n\t}\n\twarnf(\"[NODE %d {type=%s count=%d}]\", n.pgid, typ, len(n.inodes))\n\n\t// Write out abbreviated version of each item.\n\tfor _, item := range n.inodes {\n\t\tif n.isLeaf {\n\t\t\tif item.flags&bucketLeafFlag != 0 {\n\t\t\t\tbucket := (*bucket)(unsafe.Pointer(&item.value[0]))\n\t\t\t\twarnf(\"+L %08x -> (bucket root=%d)\", trunc(item.key, 4), bucket.root)\n\t\t\t} else {\n\t\t\t\twarnf(\"+L %08x -> %08x\", trunc(item.key, 4), trunc(item.value, 4))\n\t\t\t}\n\t\t} else {\n\t\t\twarnf(\"+B %08x -> pgid=%d\", trunc(item.key, 4), item.pgid)\n\t\t}\n\t}\n\twarn(\"\")\n}\n*/\n\ntype nodes []*node\n\nfunc (s nodes) Len() int           { return len(s) }\nfunc (s nodes) Swap(i, j int)      { s[i], s[j] = s[j], s[i] }\nfunc (s nodes) Less(i, j int) bool { return bytes.Compare(s[i].inodes[0].key, s[j].inodes[0].key) == -1 }\n\n// inode represents an internal node inside of a node.\n// It can be used to point to elements in a page or point\n// to an element which hasn't been added to a page yet.\ntype inode struct {\n\tflags uint32\n\tpgid  pgid\n\tkey   []byte\n\tvalue []byte\n}\n\ntype inodes []inode\n"
  },
  {
    "path": "vendor/github.com/boltdb/bolt/page.go",
    "content": "package bolt\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\t\"sort\"\n\t\"unsafe\"\n)\n\nconst pageHeaderSize = int(unsafe.Offsetof(((*page)(nil)).ptr))\n\nconst minKeysPerPage = 2\n\nconst branchPageElementSize = int(unsafe.Sizeof(branchPageElement{}))\nconst leafPageElementSize = int(unsafe.Sizeof(leafPageElement{}))\n\nconst (\n\tbranchPageFlag   = 0x01\n\tleafPageFlag     = 0x02\n\tmetaPageFlag     = 0x04\n\tfreelistPageFlag = 0x10\n)\n\nconst (\n\tbucketLeafFlag = 0x01\n)\n\ntype pgid uint64\n\ntype page struct {\n\tid       pgid\n\tflags    uint16\n\tcount    uint16\n\toverflow uint32\n\tptr      uintptr\n}\n\n// typ returns a human readable page type string used for debugging.\nfunc (p *page) typ() string {\n\tif (p.flags & branchPageFlag) != 0 {\n\t\treturn \"branch\"\n\t} else if (p.flags & leafPageFlag) != 0 {\n\t\treturn \"leaf\"\n\t} else if (p.flags & metaPageFlag) != 0 {\n\t\treturn \"meta\"\n\t} else if (p.flags & freelistPageFlag) != 0 {\n\t\treturn \"freelist\"\n\t}\n\treturn fmt.Sprintf(\"unknown<%02x>\", p.flags)\n}\n\n// meta returns a pointer to the metadata section of the page.\nfunc (p *page) meta() *meta {\n\treturn (*meta)(unsafe.Pointer(&p.ptr))\n}\n\n// leafPageElement retrieves the leaf node by index\nfunc (p *page) leafPageElement(index uint16) *leafPageElement {\n\tn := &((*[0x7FFFFFF]leafPageElement)(unsafe.Pointer(&p.ptr)))[index]\n\treturn n\n}\n\n// leafPageElements retrieves a list of leaf nodes.\nfunc (p *page) leafPageElements() []leafPageElement {\n\tif p.count == 0 {\n\t\treturn nil\n\t}\n\treturn ((*[0x7FFFFFF]leafPageElement)(unsafe.Pointer(&p.ptr)))[:]\n}\n\n// branchPageElement retrieves the branch node by index\nfunc (p *page) branchPageElement(index uint16) *branchPageElement {\n\treturn &((*[0x7FFFFFF]branchPageElement)(unsafe.Pointer(&p.ptr)))[index]\n}\n\n// branchPageElements retrieves a list of branch nodes.\nfunc (p *page) branchPageElements() []branchPageElement {\n\tif p.count == 0 {\n\t\treturn nil\n\t}\n\treturn ((*[0x7FFFFFF]branchPageElement)(unsafe.Pointer(&p.ptr)))[:]\n}\n\n// dump writes n bytes of the page to STDERR as hex output.\nfunc (p *page) hexdump(n int) {\n\tbuf := (*[maxAllocSize]byte)(unsafe.Pointer(p))[:n]\n\tfmt.Fprintf(os.Stderr, \"%x\\n\", buf)\n}\n\ntype pages []*page\n\nfunc (s pages) Len() int           { return len(s) }\nfunc (s pages) Swap(i, j int)      { s[i], s[j] = s[j], s[i] }\nfunc (s pages) Less(i, j int) bool { return s[i].id < s[j].id }\n\n// branchPageElement represents a node on a branch page.\ntype branchPageElement struct {\n\tpos   uint32\n\tksize uint32\n\tpgid  pgid\n}\n\n// key returns a byte slice of the node key.\nfunc (n *branchPageElement) key() []byte {\n\tbuf := (*[maxAllocSize]byte)(unsafe.Pointer(n))\n\treturn (*[maxAllocSize]byte)(unsafe.Pointer(&buf[n.pos]))[:n.ksize]\n}\n\n// leafPageElement represents a node on a leaf page.\ntype leafPageElement struct {\n\tflags uint32\n\tpos   uint32\n\tksize uint32\n\tvsize uint32\n}\n\n// key returns a byte slice of the node key.\nfunc (n *leafPageElement) key() []byte {\n\tbuf := (*[maxAllocSize]byte)(unsafe.Pointer(n))\n\treturn (*[maxAllocSize]byte)(unsafe.Pointer(&buf[n.pos]))[:n.ksize:n.ksize]\n}\n\n// value returns a byte slice of the node value.\nfunc (n *leafPageElement) value() []byte {\n\tbuf := (*[maxAllocSize]byte)(unsafe.Pointer(n))\n\treturn (*[maxAllocSize]byte)(unsafe.Pointer(&buf[n.pos+n.ksize]))[:n.vsize:n.vsize]\n}\n\n// PageInfo represents human readable information about a page.\ntype PageInfo struct {\n\tID            int\n\tType          string\n\tCount         int\n\tOverflowCount int\n}\n\ntype pgids []pgid\n\nfunc (s pgids) Len() int           { return len(s) }\nfunc (s pgids) Swap(i, j int)      { s[i], s[j] = s[j], s[i] }\nfunc (s pgids) Less(i, j int) bool { return s[i] < s[j] }\n\n// merge returns the sorted union of a and b.\nfunc (a pgids) merge(b pgids) pgids {\n\t// Return the opposite slice if one is nil.\n\tif len(a) == 0 {\n\t\treturn b\n\t}\n\tif len(b) == 0 {\n\t\treturn a\n\t}\n\tmerged := make(pgids, len(a)+len(b))\n\tmergepgids(merged, a, b)\n\treturn merged\n}\n\n// mergepgids copies the sorted union of a and b into dst.\n// If dst is too small, it panics.\nfunc mergepgids(dst, a, b pgids) {\n\tif len(dst) < len(a)+len(b) {\n\t\tpanic(fmt.Errorf(\"mergepgids bad len %d < %d + %d\", len(dst), len(a), len(b)))\n\t}\n\t// Copy in the opposite slice if one is nil.\n\tif len(a) == 0 {\n\t\tcopy(dst, b)\n\t\treturn\n\t}\n\tif len(b) == 0 {\n\t\tcopy(dst, a)\n\t\treturn\n\t}\n\n\t// Merged will hold all elements from both lists.\n\tmerged := dst[:0]\n\n\t// Assign lead to the slice with a lower starting value, follow to the higher value.\n\tlead, follow := a, b\n\tif b[0] < a[0] {\n\t\tlead, follow = b, a\n\t}\n\n\t// Continue while there are elements in the lead.\n\tfor len(lead) > 0 {\n\t\t// Merge largest prefix of lead that is ahead of follow[0].\n\t\tn := sort.Search(len(lead), func(i int) bool { return lead[i] > follow[0] })\n\t\tmerged = append(merged, lead[:n]...)\n\t\tif n >= len(lead) {\n\t\t\tbreak\n\t\t}\n\n\t\t// Swap lead and follow.\n\t\tlead, follow = follow, lead[n:]\n\t}\n\n\t// Append what's left in follow.\n\t_ = append(merged, follow...)\n}\n"
  },
  {
    "path": "vendor/github.com/boltdb/bolt/tx.go",
    "content": "package bolt\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"os\"\n\t\"sort\"\n\t\"strings\"\n\t\"time\"\n\t\"unsafe\"\n)\n\n// txid represents the internal transaction identifier.\ntype txid uint64\n\n// Tx represents a read-only or read/write transaction on the database.\n// Read-only transactions can be used for retrieving values for keys and creating cursors.\n// Read/write transactions can create and remove buckets and create and remove keys.\n//\n// IMPORTANT: You must commit or rollback transactions when you are done with\n// them. Pages can not be reclaimed by the writer until no more transactions\n// are using them. A long running read transaction can cause the database to\n// quickly grow.\ntype Tx struct {\n\twritable       bool\n\tmanaged        bool\n\tdb             *DB\n\tmeta           *meta\n\troot           Bucket\n\tpages          map[pgid]*page\n\tstats          TxStats\n\tcommitHandlers []func()\n\n\t// WriteFlag specifies the flag for write-related methods like WriteTo().\n\t// Tx opens the database file with the specified flag to copy the data.\n\t//\n\t// By default, the flag is unset, which works well for mostly in-memory\n\t// workloads. For databases that are much larger than available RAM,\n\t// set the flag to syscall.O_DIRECT to avoid trashing the page cache.\n\tWriteFlag int\n}\n\n// init initializes the transaction.\nfunc (tx *Tx) init(db *DB) {\n\ttx.db = db\n\ttx.pages = nil\n\n\t// Copy the meta page since it can be changed by the writer.\n\ttx.meta = &meta{}\n\tdb.meta().copy(tx.meta)\n\n\t// Copy over the root bucket.\n\ttx.root = newBucket(tx)\n\ttx.root.bucket = &bucket{}\n\t*tx.root.bucket = tx.meta.root\n\n\t// Increment the transaction id and add a page cache for writable transactions.\n\tif tx.writable {\n\t\ttx.pages = make(map[pgid]*page)\n\t\ttx.meta.txid += txid(1)\n\t}\n}\n\n// ID returns the transaction id.\nfunc (tx *Tx) ID() int {\n\treturn int(tx.meta.txid)\n}\n\n// DB returns a reference to the database that created the transaction.\nfunc (tx *Tx) DB() *DB {\n\treturn tx.db\n}\n\n// Size returns current database size in bytes as seen by this transaction.\nfunc (tx *Tx) Size() int64 {\n\treturn int64(tx.meta.pgid) * int64(tx.db.pageSize)\n}\n\n// Writable returns whether the transaction can perform write operations.\nfunc (tx *Tx) Writable() bool {\n\treturn tx.writable\n}\n\n// Cursor creates a cursor associated with the root bucket.\n// All items in the cursor will return a nil value because all root bucket keys point to buckets.\n// The cursor is only valid as long as the transaction is open.\n// Do not use a cursor after the transaction is closed.\nfunc (tx *Tx) Cursor() *Cursor {\n\treturn tx.root.Cursor()\n}\n\n// Stats retrieves a copy of the current transaction statistics.\nfunc (tx *Tx) Stats() TxStats {\n\treturn tx.stats\n}\n\n// Bucket retrieves a bucket by name.\n// Returns nil if the bucket does not exist.\n// The bucket instance is only valid for the lifetime of the transaction.\nfunc (tx *Tx) Bucket(name []byte) *Bucket {\n\treturn tx.root.Bucket(name)\n}\n\n// CreateBucket creates a new bucket.\n// Returns an error if the bucket already exists, if the bucket name is blank, or if the bucket name is too long.\n// The bucket instance is only valid for the lifetime of the transaction.\nfunc (tx *Tx) CreateBucket(name []byte) (*Bucket, error) {\n\treturn tx.root.CreateBucket(name)\n}\n\n// CreateBucketIfNotExists creates a new bucket if it doesn't already exist.\n// Returns an error if the bucket name is blank, or if the bucket name is too long.\n// The bucket instance is only valid for the lifetime of the transaction.\nfunc (tx *Tx) CreateBucketIfNotExists(name []byte) (*Bucket, error) {\n\treturn tx.root.CreateBucketIfNotExists(name)\n}\n\n// DeleteBucket deletes a bucket.\n// Returns an error if the bucket cannot be found or if the key represents a non-bucket value.\nfunc (tx *Tx) DeleteBucket(name []byte) error {\n\treturn tx.root.DeleteBucket(name)\n}\n\n// ForEach executes a function for each bucket in the root.\n// If the provided function returns an error then the iteration is stopped and\n// the error is returned to the caller.\nfunc (tx *Tx) ForEach(fn func(name []byte, b *Bucket) error) error {\n\treturn tx.root.ForEach(func(k, v []byte) error {\n\t\tif err := fn(k, tx.root.Bucket(k)); err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n// OnCommit adds a handler function to be executed after the transaction successfully commits.\nfunc (tx *Tx) OnCommit(fn func()) {\n\ttx.commitHandlers = append(tx.commitHandlers, fn)\n}\n\n// Commit writes all changes to disk and updates the meta page.\n// Returns an error if a disk write error occurs, or if Commit is\n// called on a read-only transaction.\nfunc (tx *Tx) Commit() error {\n\t_assert(!tx.managed, \"managed tx commit not allowed\")\n\tif tx.db == nil {\n\t\treturn ErrTxClosed\n\t} else if !tx.writable {\n\t\treturn ErrTxNotWritable\n\t}\n\n\t// TODO(benbjohnson): Use vectorized I/O to write out dirty pages.\n\n\t// Rebalance nodes which have had deletions.\n\tvar startTime = time.Now()\n\ttx.root.rebalance()\n\tif tx.stats.Rebalance > 0 {\n\t\ttx.stats.RebalanceTime += time.Since(startTime)\n\t}\n\n\t// spill data onto dirty pages.\n\tstartTime = time.Now()\n\tif err := tx.root.spill(); err != nil {\n\t\ttx.rollback()\n\t\treturn err\n\t}\n\ttx.stats.SpillTime += time.Since(startTime)\n\n\t// Free the old root bucket.\n\ttx.meta.root.root = tx.root.root\n\n\topgid := tx.meta.pgid\n\n\t// Free the freelist and allocate new pages for it. This will overestimate\n\t// the size of the freelist but not underestimate the size (which would be bad).\n\ttx.db.freelist.free(tx.meta.txid, tx.db.page(tx.meta.freelist))\n\tp, err := tx.allocate((tx.db.freelist.size() / tx.db.pageSize) + 1)\n\tif err != nil {\n\t\ttx.rollback()\n\t\treturn err\n\t}\n\tif err := tx.db.freelist.write(p); err != nil {\n\t\ttx.rollback()\n\t\treturn err\n\t}\n\ttx.meta.freelist = p.id\n\n\t// If the high water mark has moved up then attempt to grow the database.\n\tif tx.meta.pgid > opgid {\n\t\tif err := tx.db.grow(int(tx.meta.pgid+1) * tx.db.pageSize); err != nil {\n\t\t\ttx.rollback()\n\t\t\treturn err\n\t\t}\n\t}\n\n\t// Write dirty pages to disk.\n\tstartTime = time.Now()\n\tif err := tx.write(); err != nil {\n\t\ttx.rollback()\n\t\treturn err\n\t}\n\n\t// If strict mode is enabled then perform a consistency check.\n\t// Only the first consistency error is reported in the panic.\n\tif tx.db.StrictMode {\n\t\tch := tx.Check()\n\t\tvar errs []string\n\t\tfor {\n\t\t\terr, ok := <-ch\n\t\t\tif !ok {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\terrs = append(errs, err.Error())\n\t\t}\n\t\tif len(errs) > 0 {\n\t\t\tpanic(\"check fail: \" + strings.Join(errs, \"\\n\"))\n\t\t}\n\t}\n\n\t// Write meta to disk.\n\tif err := tx.writeMeta(); err != nil {\n\t\ttx.rollback()\n\t\treturn err\n\t}\n\ttx.stats.WriteTime += time.Since(startTime)\n\n\t// Finalize the transaction.\n\ttx.close()\n\n\t// Execute commit handlers now that the locks have been removed.\n\tfor _, fn := range tx.commitHandlers {\n\t\tfn()\n\t}\n\n\treturn nil\n}\n\n// Rollback closes the transaction and ignores all previous updates. Read-only\n// transactions must be rolled back and not committed.\nfunc (tx *Tx) Rollback() error {\n\t_assert(!tx.managed, \"managed tx rollback not allowed\")\n\tif tx.db == nil {\n\t\treturn ErrTxClosed\n\t}\n\ttx.rollback()\n\treturn nil\n}\n\nfunc (tx *Tx) rollback() {\n\tif tx.db == nil {\n\t\treturn\n\t}\n\tif tx.writable {\n\t\ttx.db.freelist.rollback(tx.meta.txid)\n\t\ttx.db.freelist.reload(tx.db.page(tx.db.meta().freelist))\n\t}\n\ttx.close()\n}\n\nfunc (tx *Tx) close() {\n\tif tx.db == nil {\n\t\treturn\n\t}\n\tif tx.writable {\n\t\t// Grab freelist stats.\n\t\tvar freelistFreeN = tx.db.freelist.free_count()\n\t\tvar freelistPendingN = tx.db.freelist.pending_count()\n\t\tvar freelistAlloc = tx.db.freelist.size()\n\n\t\t// Remove transaction ref & writer lock.\n\t\ttx.db.rwtx = nil\n\t\ttx.db.rwlock.Unlock()\n\n\t\t// Merge statistics.\n\t\ttx.db.statlock.Lock()\n\t\ttx.db.stats.FreePageN = freelistFreeN\n\t\ttx.db.stats.PendingPageN = freelistPendingN\n\t\ttx.db.stats.FreeAlloc = (freelistFreeN + freelistPendingN) * tx.db.pageSize\n\t\ttx.db.stats.FreelistInuse = freelistAlloc\n\t\ttx.db.stats.TxStats.add(&tx.stats)\n\t\ttx.db.statlock.Unlock()\n\t} else {\n\t\ttx.db.removeTx(tx)\n\t}\n\n\t// Clear all references.\n\ttx.db = nil\n\ttx.meta = nil\n\ttx.root = Bucket{tx: tx}\n\ttx.pages = nil\n}\n\n// Copy writes the entire database to a writer.\n// This function exists for backwards compatibility. Use WriteTo() instead.\nfunc (tx *Tx) Copy(w io.Writer) error {\n\t_, err := tx.WriteTo(w)\n\treturn err\n}\n\n// WriteTo writes the entire database to a writer.\n// If err == nil then exactly tx.Size() bytes will be written into the writer.\nfunc (tx *Tx) WriteTo(w io.Writer) (n int64, err error) {\n\t// Attempt to open reader with WriteFlag\n\tf, err := os.OpenFile(tx.db.path, os.O_RDONLY|tx.WriteFlag, 0)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\tdefer func() { _ = f.Close() }()\n\n\t// Generate a meta page. We use the same page data for both meta pages.\n\tbuf := make([]byte, tx.db.pageSize)\n\tpage := (*page)(unsafe.Pointer(&buf[0]))\n\tpage.flags = metaPageFlag\n\t*page.meta() = *tx.meta\n\n\t// Write meta 0.\n\tpage.id = 0\n\tpage.meta().checksum = page.meta().sum64()\n\tnn, err := w.Write(buf)\n\tn += int64(nn)\n\tif err != nil {\n\t\treturn n, fmt.Errorf(\"meta 0 copy: %s\", err)\n\t}\n\n\t// Write meta 1 with a lower transaction id.\n\tpage.id = 1\n\tpage.meta().txid -= 1\n\tpage.meta().checksum = page.meta().sum64()\n\tnn, err = w.Write(buf)\n\tn += int64(nn)\n\tif err != nil {\n\t\treturn n, fmt.Errorf(\"meta 1 copy: %s\", err)\n\t}\n\n\t// Move past the meta pages in the file.\n\tif _, err := f.Seek(int64(tx.db.pageSize*2), os.SEEK_SET); err != nil {\n\t\treturn n, fmt.Errorf(\"seek: %s\", err)\n\t}\n\n\t// Copy data pages.\n\twn, err := io.CopyN(w, f, tx.Size()-int64(tx.db.pageSize*2))\n\tn += wn\n\tif err != nil {\n\t\treturn n, err\n\t}\n\n\treturn n, f.Close()\n}\n\n// CopyFile copies the entire database to file at the given path.\n// A reader transaction is maintained during the copy so it is safe to continue\n// using the database while a copy is in progress.\nfunc (tx *Tx) CopyFile(path string, mode os.FileMode) error {\n\tf, err := os.OpenFile(path, os.O_RDWR|os.O_CREATE|os.O_TRUNC, mode)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\terr = tx.Copy(f)\n\tif err != nil {\n\t\t_ = f.Close()\n\t\treturn err\n\t}\n\treturn f.Close()\n}\n\n// Check performs several consistency checks on the database for this transaction.\n// An error is returned if any inconsistency is found.\n//\n// It can be safely run concurrently on a writable transaction. However, this\n// incurs a high cost for large databases and databases with a lot of subbuckets\n// because of caching. This overhead can be removed if running on a read-only\n// transaction, however, it is not safe to execute other writer transactions at\n// the same time.\nfunc (tx *Tx) Check() <-chan error {\n\tch := make(chan error)\n\tgo tx.check(ch)\n\treturn ch\n}\n\nfunc (tx *Tx) check(ch chan error) {\n\t// Check if any pages are double freed.\n\tfreed := make(map[pgid]bool)\n\tall := make([]pgid, tx.db.freelist.count())\n\ttx.db.freelist.copyall(all)\n\tfor _, id := range all {\n\t\tif freed[id] {\n\t\t\tch <- fmt.Errorf(\"page %d: already freed\", id)\n\t\t}\n\t\tfreed[id] = true\n\t}\n\n\t// Track every reachable page.\n\treachable := make(map[pgid]*page)\n\treachable[0] = tx.page(0) // meta0\n\treachable[1] = tx.page(1) // meta1\n\tfor i := uint32(0); i <= tx.page(tx.meta.freelist).overflow; i++ {\n\t\treachable[tx.meta.freelist+pgid(i)] = tx.page(tx.meta.freelist)\n\t}\n\n\t// Recursively check buckets.\n\ttx.checkBucket(&tx.root, reachable, freed, ch)\n\n\t// Ensure all pages below high water mark are either reachable or freed.\n\tfor i := pgid(0); i < tx.meta.pgid; i++ {\n\t\t_, isReachable := reachable[i]\n\t\tif !isReachable && !freed[i] {\n\t\t\tch <- fmt.Errorf(\"page %d: unreachable unfreed\", int(i))\n\t\t}\n\t}\n\n\t// Close the channel to signal completion.\n\tclose(ch)\n}\n\nfunc (tx *Tx) checkBucket(b *Bucket, reachable map[pgid]*page, freed map[pgid]bool, ch chan error) {\n\t// Ignore inline buckets.\n\tif b.root == 0 {\n\t\treturn\n\t}\n\n\t// Check every page used by this bucket.\n\tb.tx.forEachPage(b.root, 0, func(p *page, _ int) {\n\t\tif p.id > tx.meta.pgid {\n\t\t\tch <- fmt.Errorf(\"page %d: out of bounds: %d\", int(p.id), int(b.tx.meta.pgid))\n\t\t}\n\n\t\t// Ensure each page is only referenced once.\n\t\tfor i := pgid(0); i <= pgid(p.overflow); i++ {\n\t\t\tvar id = p.id + i\n\t\t\tif _, ok := reachable[id]; ok {\n\t\t\t\tch <- fmt.Errorf(\"page %d: multiple references\", int(id))\n\t\t\t}\n\t\t\treachable[id] = p\n\t\t}\n\n\t\t// We should only encounter un-freed leaf and branch pages.\n\t\tif freed[p.id] {\n\t\t\tch <- fmt.Errorf(\"page %d: reachable freed\", int(p.id))\n\t\t} else if (p.flags&branchPageFlag) == 0 && (p.flags&leafPageFlag) == 0 {\n\t\t\tch <- fmt.Errorf(\"page %d: invalid type: %s\", int(p.id), p.typ())\n\t\t}\n\t})\n\n\t// Check each bucket within this bucket.\n\t_ = b.ForEach(func(k, v []byte) error {\n\t\tif child := b.Bucket(k); child != nil {\n\t\t\ttx.checkBucket(child, reachable, freed, ch)\n\t\t}\n\t\treturn nil\n\t})\n}\n\n// allocate returns a contiguous block of memory starting at a given page.\nfunc (tx *Tx) allocate(count int) (*page, error) {\n\tp, err := tx.db.allocate(count)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\t// Save to our page cache.\n\ttx.pages[p.id] = p\n\n\t// Update statistics.\n\ttx.stats.PageCount++\n\ttx.stats.PageAlloc += count * tx.db.pageSize\n\n\treturn p, nil\n}\n\n// write writes any dirty pages to disk.\nfunc (tx *Tx) write() error {\n\t// Sort pages by id.\n\tpages := make(pages, 0, len(tx.pages))\n\tfor _, p := range tx.pages {\n\t\tpages = append(pages, p)\n\t}\n\t// Clear out page cache early.\n\ttx.pages = make(map[pgid]*page)\n\tsort.Sort(pages)\n\n\t// Write pages to disk in order.\n\tfor _, p := range pages {\n\t\tsize := (int(p.overflow) + 1) * tx.db.pageSize\n\t\toffset := int64(p.id) * int64(tx.db.pageSize)\n\n\t\t// Write out page in \"max allocation\" sized chunks.\n\t\tptr := (*[maxAllocSize]byte)(unsafe.Pointer(p))\n\t\tfor {\n\t\t\t// Limit our write to our max allocation size.\n\t\t\tsz := size\n\t\t\tif sz > maxAllocSize-1 {\n\t\t\t\tsz = maxAllocSize - 1\n\t\t\t}\n\n\t\t\t// Write chunk to disk.\n\t\t\tbuf := ptr[:sz]\n\t\t\tif _, err := tx.db.ops.writeAt(buf, offset); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\n\t\t\t// Update statistics.\n\t\t\ttx.stats.Write++\n\n\t\t\t// Exit inner for loop if we've written all the chunks.\n\t\t\tsize -= sz\n\t\t\tif size == 0 {\n\t\t\t\tbreak\n\t\t\t}\n\n\t\t\t// Otherwise move offset forward and move pointer to next chunk.\n\t\t\toffset += int64(sz)\n\t\t\tptr = (*[maxAllocSize]byte)(unsafe.Pointer(&ptr[sz]))\n\t\t}\n\t}\n\n\t// Ignore file sync if flag is set on DB.\n\tif !tx.db.NoSync || IgnoreNoSync {\n\t\tif err := fdatasync(tx.db); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\t// Put small pages back to page pool.\n\tfor _, p := range pages {\n\t\t// Ignore page sizes over 1 page.\n\t\t// These are allocated using make() instead of the page pool.\n\t\tif int(p.overflow) != 0 {\n\t\t\tcontinue\n\t\t}\n\n\t\tbuf := (*[maxAllocSize]byte)(unsafe.Pointer(p))[:tx.db.pageSize]\n\n\t\t// See https://go.googlesource.com/go/+/f03c9202c43e0abb130669852082117ca50aa9b1\n\t\tfor i := range buf {\n\t\t\tbuf[i] = 0\n\t\t}\n\t\ttx.db.pagePool.Put(buf)\n\t}\n\n\treturn nil\n}\n\n// writeMeta writes the meta to the disk.\nfunc (tx *Tx) writeMeta() error {\n\t// Create a temporary buffer for the meta page.\n\tbuf := make([]byte, tx.db.pageSize)\n\tp := tx.db.pageInBuffer(buf, 0)\n\ttx.meta.write(p)\n\n\t// Write the meta page to file.\n\tif _, err := tx.db.ops.writeAt(buf, int64(p.id)*int64(tx.db.pageSize)); err != nil {\n\t\treturn err\n\t}\n\tif !tx.db.NoSync || IgnoreNoSync {\n\t\tif err := fdatasync(tx.db); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\t// Update statistics.\n\ttx.stats.Write++\n\n\treturn nil\n}\n\n// page returns a reference to the page with a given id.\n// If page has been written to then a temporary buffered page is returned.\nfunc (tx *Tx) page(id pgid) *page {\n\t// Check the dirty pages first.\n\tif tx.pages != nil {\n\t\tif p, ok := tx.pages[id]; ok {\n\t\t\treturn p\n\t\t}\n\t}\n\n\t// Otherwise return directly from the mmap.\n\treturn tx.db.page(id)\n}\n\n// forEachPage iterates over every page within a given page and executes a function.\nfunc (tx *Tx) forEachPage(pgid pgid, depth int, fn func(*page, int)) {\n\tp := tx.page(pgid)\n\n\t// Execute function.\n\tfn(p, depth)\n\n\t// Recursively loop over children.\n\tif (p.flags & branchPageFlag) != 0 {\n\t\tfor i := 0; i < int(p.count); i++ {\n\t\t\telem := p.branchPageElement(uint16(i))\n\t\t\ttx.forEachPage(elem.pgid, depth+1, fn)\n\t\t}\n\t}\n}\n\n// Page returns page information for a given page number.\n// This is only safe for concurrent use when used by a writable transaction.\nfunc (tx *Tx) Page(id int) (*PageInfo, error) {\n\tif tx.db == nil {\n\t\treturn nil, ErrTxClosed\n\t} else if pgid(id) >= tx.meta.pgid {\n\t\treturn nil, nil\n\t}\n\n\t// Build the page info.\n\tp := tx.db.page(pgid(id))\n\tinfo := &PageInfo{\n\t\tID:            id,\n\t\tCount:         int(p.count),\n\t\tOverflowCount: int(p.overflow),\n\t}\n\n\t// Determine the type (or if it's free).\n\tif tx.db.freelist.freed(pgid(id)) {\n\t\tinfo.Type = \"free\"\n\t} else {\n\t\tinfo.Type = p.typ()\n\t}\n\n\treturn info, nil\n}\n\n// TxStats represents statistics about the actions performed by the transaction.\ntype TxStats struct {\n\t// Page statistics.\n\tPageCount int // number of page allocations\n\tPageAlloc int // total bytes allocated\n\n\t// Cursor statistics.\n\tCursorCount int // number of cursors created\n\n\t// Node statistics\n\tNodeCount int // number of node allocations\n\tNodeDeref int // number of node dereferences\n\n\t// Rebalance statistics.\n\tRebalance     int           // number of node rebalances\n\tRebalanceTime time.Duration // total time spent rebalancing\n\n\t// Split/Spill statistics.\n\tSplit     int           // number of nodes split\n\tSpill     int           // number of nodes spilled\n\tSpillTime time.Duration // total time spent spilling\n\n\t// Write statistics.\n\tWrite     int           // number of writes performed\n\tWriteTime time.Duration // total time spent writing to disk\n}\n\nfunc (s *TxStats) add(other *TxStats) {\n\ts.PageCount += other.PageCount\n\ts.PageAlloc += other.PageAlloc\n\ts.CursorCount += other.CursorCount\n\ts.NodeCount += other.NodeCount\n\ts.NodeDeref += other.NodeDeref\n\ts.Rebalance += other.Rebalance\n\ts.RebalanceTime += other.RebalanceTime\n\ts.Split += other.Split\n\ts.Spill += other.Spill\n\ts.SpillTime += other.SpillTime\n\ts.Write += other.Write\n\ts.WriteTime += other.WriteTime\n}\n\n// Sub calculates and returns the difference between two sets of transaction stats.\n// This is useful when obtaining stats at two different points and time and\n// you need the performance counters that occurred within that time span.\nfunc (s *TxStats) Sub(other *TxStats) TxStats {\n\tvar diff TxStats\n\tdiff.PageCount = s.PageCount - other.PageCount\n\tdiff.PageAlloc = s.PageAlloc - other.PageAlloc\n\tdiff.CursorCount = s.CursorCount - other.CursorCount\n\tdiff.NodeCount = s.NodeCount - other.NodeCount\n\tdiff.NodeDeref = s.NodeDeref - other.NodeDeref\n\tdiff.Rebalance = s.Rebalance - other.Rebalance\n\tdiff.RebalanceTime = s.RebalanceTime - other.RebalanceTime\n\tdiff.Split = s.Split - other.Split\n\tdiff.Spill = s.Spill - other.Spill\n\tdiff.SpillTime = s.SpillTime - other.SpillTime\n\tdiff.Write = s.Write - other.Write\n\tdiff.WriteTime = s.WriteTime - other.WriteTime\n\treturn diff\n}\n"
  },
  {
    "path": "vendor/github.com/centrifugal/centrifugo/LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2015, Alexandr Emelin, frvzmb@gmail.com\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"
  },
  {
    "path": "vendor/github.com/centrifugal/centrifugo/libcentrifugo/raw/raw.go",
    "content": "// Package raw contains Raw type (alias to slice of bytes).\npackage raw\n\nimport (\n\t\"bytes\"\n\t\"errors\"\n)\n\n// Raw type used by Centrifugo as type for fields in structs which value we want to left\n// untouched. For example custom application specific JSON payload data in published message.\n// This is very similar to json.RawMessage type but have some extra methods to fit\n// gogoprotobuf custom type interface.\ntype Raw []byte\n\n// Marshal encodes Raw to slice of bytes. Exists to fit gogoprotobuf custom type interface.\nfunc (r Raw) Marshal() ([]byte, error) {\n\tif len(r) == 0 {\n\t\treturn nil, nil\n\t}\n\treturn []byte(r), nil\n}\n\n// MarshalTo exists to fit gogoprotobuf custom type interface.\nfunc (r Raw) MarshalTo(data []byte) (n int, err error) {\n\tif len(r) == 0 {\n\t\treturn 0, nil\n\t}\n\tcopy(data, r)\n\treturn len(r), nil\n}\n\n// Unmarshal exists to fit gogoprotobuf custom type interface.\nfunc (r *Raw) Unmarshal(data []byte) error {\n\tif len(data) == 0 {\n\t\tr = nil\n\t\treturn nil\n\t}\n\tid := Raw(make([]byte, len(data)))\n\tcopy(id, data)\n\t*r = id\n\treturn nil\n}\n\n// Size exists to fit gogoprotobuf custom type interface.\nfunc (r *Raw) Size() int {\n\tif r == nil {\n\t\treturn 0\n\t}\n\treturn len(*r)\n}\n\n// MarshalJSON returns *r as the JSON encoding of r.\nfunc (r Raw) MarshalJSON() ([]byte, error) {\n\treturn r, nil\n}\n\n// UnmarshalJSON sets *r to a copy of data.\nfunc (r *Raw) UnmarshalJSON(data []byte) error {\n\tif r == nil {\n\t\treturn errors.New(\"Raw: UnmarshalJSON on nil pointer\")\n\t}\n\t*r = append((*r)[0:0], data...)\n\treturn nil\n}\n\n// Equal exists to fit gogoprotobuf custom type interface.\nfunc (r Raw) Equal(other Raw) bool {\n\treturn bytes.Equal(r[0:], other[0:])\n}\n\n// Compare exists to fit gogoprotobuf custom type interface.\nfunc (r Raw) Compare(other Raw) int {\n\treturn bytes.Compare(r[0:], other[0:])\n}\n\ntype intn interface {\n\tIntn(n int) int\n}\n\n// NewPopulatedRaw required for gogoprotobuf custom type.\nfunc NewPopulatedRaw(r intn) *Raw {\n\tv1 := r.Intn(100)\n\tdata := make([]byte, v1)\n\tfor i := 0; i < v1; i++ {\n\t\tdata[i] = byte('a')\n\t}\n\td := `{\"key\":\"` + string(data) + `\"}`\n\traw := Raw([]byte(d))\n\treturn &raw\n}\n"
  },
  {
    "path": "vendor/github.com/davecgh/go-spew/LICENSE",
    "content": "ISC License\n\nCopyright (c) 2012-2016 Dave Collins <dave@davec.name>\n\nPermission to use, copy, modify, and distribute this software for any\npurpose with or without fee is hereby granted, provided that the above\ncopyright notice and this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\nWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\nANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\nWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\nACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\nOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n"
  },
  {
    "path": "vendor/github.com/davecgh/go-spew/spew/bypass.go",
    "content": "// Copyright (c) 2015-2016 Dave Collins <dave@davec.name>\n//\n// Permission to use, copy, modify, and distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n\n// NOTE: Due to the following build constraints, this file will only be compiled\n// when the code is not running on Google App Engine, compiled by GopherJS, and\n// \"-tags safe\" is not added to the go build command line.  The \"disableunsafe\"\n// tag is deprecated and thus should not be used.\n// +build !js,!appengine,!safe,!disableunsafe\n\npackage spew\n\nimport (\n\t\"reflect\"\n\t\"unsafe\"\n)\n\nconst (\n\t// UnsafeDisabled is a build-time constant which specifies whether or\n\t// not access to the unsafe package is available.\n\tUnsafeDisabled = false\n\n\t// ptrSize is the size of a pointer on the current arch.\n\tptrSize = unsafe.Sizeof((*byte)(nil))\n)\n\nvar (\n\t// offsetPtr, offsetScalar, and offsetFlag are the offsets for the\n\t// internal reflect.Value fields.  These values are valid before golang\n\t// commit ecccf07e7f9d which changed the format.  The are also valid\n\t// after commit 82f48826c6c7 which changed the format again to mirror\n\t// the original format.  Code in the init function updates these offsets\n\t// as necessary.\n\toffsetPtr    = uintptr(ptrSize)\n\toffsetScalar = uintptr(0)\n\toffsetFlag   = uintptr(ptrSize * 2)\n\n\t// flagKindWidth and flagKindShift indicate various bits that the\n\t// reflect package uses internally to track kind information.\n\t//\n\t// flagRO indicates whether or not the value field of a reflect.Value is\n\t// read-only.\n\t//\n\t// flagIndir indicates whether the value field of a reflect.Value is\n\t// the actual data or a pointer to the data.\n\t//\n\t// These values are valid before golang commit 90a7c3c86944 which\n\t// changed their positions.  Code in the init function updates these\n\t// flags as necessary.\n\tflagKindWidth = uintptr(5)\n\tflagKindShift = uintptr(flagKindWidth - 1)\n\tflagRO        = uintptr(1 << 0)\n\tflagIndir     = uintptr(1 << 1)\n)\n\nfunc init() {\n\t// Older versions of reflect.Value stored small integers directly in the\n\t// ptr field (which is named val in the older versions).  Versions\n\t// between commits ecccf07e7f9d and 82f48826c6c7 added a new field named\n\t// scalar for this purpose which unfortunately came before the flag\n\t// field, so the offset of the flag field is different for those\n\t// versions.\n\t//\n\t// This code constructs a new reflect.Value from a known small integer\n\t// and checks if the size of the reflect.Value struct indicates it has\n\t// the scalar field. When it does, the offsets are updated accordingly.\n\tvv := reflect.ValueOf(0xf00)\n\tif unsafe.Sizeof(vv) == (ptrSize * 4) {\n\t\toffsetScalar = ptrSize * 2\n\t\toffsetFlag = ptrSize * 3\n\t}\n\n\t// Commit 90a7c3c86944 changed the flag positions such that the low\n\t// order bits are the kind.  This code extracts the kind from the flags\n\t// field and ensures it's the correct type.  When it's not, the flag\n\t// order has been changed to the newer format, so the flags are updated\n\t// accordingly.\n\tupf := unsafe.Pointer(uintptr(unsafe.Pointer(&vv)) + offsetFlag)\n\tupfv := *(*uintptr)(upf)\n\tflagKindMask := uintptr((1<<flagKindWidth - 1) << flagKindShift)\n\tif (upfv&flagKindMask)>>flagKindShift != uintptr(reflect.Int) {\n\t\tflagKindShift = 0\n\t\tflagRO = 1 << 5\n\t\tflagIndir = 1 << 6\n\n\t\t// Commit adf9b30e5594 modified the flags to separate the\n\t\t// flagRO flag into two bits which specifies whether or not the\n\t\t// field is embedded.  This causes flagIndir to move over a bit\n\t\t// and means that flagRO is the combination of either of the\n\t\t// original flagRO bit and the new bit.\n\t\t//\n\t\t// This code detects the change by extracting what used to be\n\t\t// the indirect bit to ensure it's set.  When it's not, the flag\n\t\t// order has been changed to the newer format, so the flags are\n\t\t// updated accordingly.\n\t\tif upfv&flagIndir == 0 {\n\t\t\tflagRO = 3 << 5\n\t\t\tflagIndir = 1 << 7\n\t\t}\n\t}\n}\n\n// unsafeReflectValue converts the passed reflect.Value into a one that bypasses\n// the typical safety restrictions preventing access to unaddressable and\n// unexported data.  It works by digging the raw pointer to the underlying\n// value out of the protected value and generating a new unprotected (unsafe)\n// reflect.Value to it.\n//\n// This allows us to check for implementations of the Stringer and error\n// interfaces to be used for pretty printing ordinarily unaddressable and\n// inaccessible values such as unexported struct fields.\nfunc unsafeReflectValue(v reflect.Value) (rv reflect.Value) {\n\tindirects := 1\n\tvt := v.Type()\n\tupv := unsafe.Pointer(uintptr(unsafe.Pointer(&v)) + offsetPtr)\n\trvf := *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&v)) + offsetFlag))\n\tif rvf&flagIndir != 0 {\n\t\tvt = reflect.PtrTo(v.Type())\n\t\tindirects++\n\t} else if offsetScalar != 0 {\n\t\t// The value is in the scalar field when it's not one of the\n\t\t// reference types.\n\t\tswitch vt.Kind() {\n\t\tcase reflect.Uintptr:\n\t\tcase reflect.Chan:\n\t\tcase reflect.Func:\n\t\tcase reflect.Map:\n\t\tcase reflect.Ptr:\n\t\tcase reflect.UnsafePointer:\n\t\tdefault:\n\t\t\tupv = unsafe.Pointer(uintptr(unsafe.Pointer(&v)) +\n\t\t\t\toffsetScalar)\n\t\t}\n\t}\n\n\tpv := reflect.NewAt(vt, upv)\n\trv = pv\n\tfor i := 0; i < indirects; i++ {\n\t\trv = rv.Elem()\n\t}\n\treturn rv\n}\n"
  },
  {
    "path": "vendor/github.com/davecgh/go-spew/spew/bypasssafe.go",
    "content": "// Copyright (c) 2015-2016 Dave Collins <dave@davec.name>\n//\n// Permission to use, copy, modify, and distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n\n// NOTE: Due to the following build constraints, this file will only be compiled\n// when the code is running on Google App Engine, compiled by GopherJS, or\n// \"-tags safe\" is added to the go build command line.  The \"disableunsafe\"\n// tag is deprecated and thus should not be used.\n// +build js appengine safe disableunsafe\n\npackage spew\n\nimport \"reflect\"\n\nconst (\n\t// UnsafeDisabled is a build-time constant which specifies whether or\n\t// not access to the unsafe package is available.\n\tUnsafeDisabled = true\n)\n\n// unsafeReflectValue typically converts the passed reflect.Value into a one\n// that bypasses the typical safety restrictions preventing access to\n// unaddressable and unexported data.  However, doing this relies on access to\n// the unsafe package.  This is a stub version which simply returns the passed\n// reflect.Value when the unsafe package is not available.\nfunc unsafeReflectValue(v reflect.Value) reflect.Value {\n\treturn v\n}\n"
  },
  {
    "path": "vendor/github.com/davecgh/go-spew/spew/common.go",
    "content": "/*\n * Copyright (c) 2013-2016 Dave Collins <dave@davec.name>\n *\n * Permission to use, copy, modify, and distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n */\n\npackage spew\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"io\"\n\t\"reflect\"\n\t\"sort\"\n\t\"strconv\"\n)\n\n// Some constants in the form of bytes to avoid string overhead.  This mirrors\n// the technique used in the fmt package.\nvar (\n\tpanicBytes            = []byte(\"(PANIC=\")\n\tplusBytes             = []byte(\"+\")\n\tiBytes                = []byte(\"i\")\n\ttrueBytes             = []byte(\"true\")\n\tfalseBytes            = []byte(\"false\")\n\tinterfaceBytes        = []byte(\"(interface {})\")\n\tcommaNewlineBytes     = []byte(\",\\n\")\n\tnewlineBytes          = []byte(\"\\n\")\n\topenBraceBytes        = []byte(\"{\")\n\topenBraceNewlineBytes = []byte(\"{\\n\")\n\tcloseBraceBytes       = []byte(\"}\")\n\tasteriskBytes         = []byte(\"*\")\n\tcolonBytes            = []byte(\":\")\n\tcolonSpaceBytes       = []byte(\": \")\n\topenParenBytes        = []byte(\"(\")\n\tcloseParenBytes       = []byte(\")\")\n\tspaceBytes            = []byte(\" \")\n\tpointerChainBytes     = []byte(\"->\")\n\tnilAngleBytes         = []byte(\"<nil>\")\n\tmaxNewlineBytes       = []byte(\"<max depth reached>\\n\")\n\tmaxShortBytes         = []byte(\"<max>\")\n\tcircularBytes         = []byte(\"<already shown>\")\n\tcircularShortBytes    = []byte(\"<shown>\")\n\tinvalidAngleBytes     = []byte(\"<invalid>\")\n\topenBracketBytes      = []byte(\"[\")\n\tcloseBracketBytes     = []byte(\"]\")\n\tpercentBytes          = []byte(\"%\")\n\tprecisionBytes        = []byte(\".\")\n\topenAngleBytes        = []byte(\"<\")\n\tcloseAngleBytes       = []byte(\">\")\n\topenMapBytes          = []byte(\"map[\")\n\tcloseMapBytes         = []byte(\"]\")\n\tlenEqualsBytes        = []byte(\"len=\")\n\tcapEqualsBytes        = []byte(\"cap=\")\n)\n\n// hexDigits is used to map a decimal value to a hex digit.\nvar hexDigits = \"0123456789abcdef\"\n\n// catchPanic handles any panics that might occur during the handleMethods\n// calls.\nfunc catchPanic(w io.Writer, v reflect.Value) {\n\tif err := recover(); err != nil {\n\t\tw.Write(panicBytes)\n\t\tfmt.Fprintf(w, \"%v\", err)\n\t\tw.Write(closeParenBytes)\n\t}\n}\n\n// handleMethods attempts to call the Error and String methods on the underlying\n// type the passed reflect.Value represents and outputes the result to Writer w.\n//\n// It handles panics in any called methods by catching and displaying the error\n// as the formatted value.\nfunc handleMethods(cs *ConfigState, w io.Writer, v reflect.Value) (handled bool) {\n\t// We need an interface to check if the type implements the error or\n\t// Stringer interface.  However, the reflect package won't give us an\n\t// interface on certain things like unexported struct fields in order\n\t// to enforce visibility rules.  We use unsafe, when it's available,\n\t// to bypass these restrictions since this package does not mutate the\n\t// values.\n\tif !v.CanInterface() {\n\t\tif UnsafeDisabled {\n\t\t\treturn false\n\t\t}\n\n\t\tv = unsafeReflectValue(v)\n\t}\n\n\t// Choose whether or not to do error and Stringer interface lookups against\n\t// the base type or a pointer to the base type depending on settings.\n\t// Technically calling one of these methods with a pointer receiver can\n\t// mutate the value, however, types which choose to satisify an error or\n\t// Stringer interface with a pointer receiver should not be mutating their\n\t// state inside these interface methods.\n\tif !cs.DisablePointerMethods && !UnsafeDisabled && !v.CanAddr() {\n\t\tv = unsafeReflectValue(v)\n\t}\n\tif v.CanAddr() {\n\t\tv = v.Addr()\n\t}\n\n\t// Is it an error or Stringer?\n\tswitch iface := v.Interface().(type) {\n\tcase error:\n\t\tdefer catchPanic(w, v)\n\t\tif cs.ContinueOnMethod {\n\t\t\tw.Write(openParenBytes)\n\t\t\tw.Write([]byte(iface.Error()))\n\t\t\tw.Write(closeParenBytes)\n\t\t\tw.Write(spaceBytes)\n\t\t\treturn false\n\t\t}\n\n\t\tw.Write([]byte(iface.Error()))\n\t\treturn true\n\n\tcase fmt.Stringer:\n\t\tdefer catchPanic(w, v)\n\t\tif cs.ContinueOnMethod {\n\t\t\tw.Write(openParenBytes)\n\t\t\tw.Write([]byte(iface.String()))\n\t\t\tw.Write(closeParenBytes)\n\t\t\tw.Write(spaceBytes)\n\t\t\treturn false\n\t\t}\n\t\tw.Write([]byte(iface.String()))\n\t\treturn true\n\t}\n\treturn false\n}\n\n// printBool outputs a boolean value as true or false to Writer w.\nfunc printBool(w io.Writer, val bool) {\n\tif val {\n\t\tw.Write(trueBytes)\n\t} else {\n\t\tw.Write(falseBytes)\n\t}\n}\n\n// printInt outputs a signed integer value to Writer w.\nfunc printInt(w io.Writer, val int64, base int) {\n\tw.Write([]byte(strconv.FormatInt(val, base)))\n}\n\n// printUint outputs an unsigned integer value to Writer w.\nfunc printUint(w io.Writer, val uint64, base int) {\n\tw.Write([]byte(strconv.FormatUint(val, base)))\n}\n\n// printFloat outputs a floating point value using the specified precision,\n// which is expected to be 32 or 64bit, to Writer w.\nfunc printFloat(w io.Writer, val float64, precision int) {\n\tw.Write([]byte(strconv.FormatFloat(val, 'g', -1, precision)))\n}\n\n// printComplex outputs a complex value using the specified float precision\n// for the real and imaginary parts to Writer w.\nfunc printComplex(w io.Writer, c complex128, floatPrecision int) {\n\tr := real(c)\n\tw.Write(openParenBytes)\n\tw.Write([]byte(strconv.FormatFloat(r, 'g', -1, floatPrecision)))\n\ti := imag(c)\n\tif i >= 0 {\n\t\tw.Write(plusBytes)\n\t}\n\tw.Write([]byte(strconv.FormatFloat(i, 'g', -1, floatPrecision)))\n\tw.Write(iBytes)\n\tw.Write(closeParenBytes)\n}\n\n// printHexPtr outputs a uintptr formatted as hexidecimal with a leading '0x'\n// prefix to Writer w.\nfunc printHexPtr(w io.Writer, p uintptr) {\n\t// Null pointer.\n\tnum := uint64(p)\n\tif num == 0 {\n\t\tw.Write(nilAngleBytes)\n\t\treturn\n\t}\n\n\t// Max uint64 is 16 bytes in hex + 2 bytes for '0x' prefix\n\tbuf := make([]byte, 18)\n\n\t// It's simpler to construct the hex string right to left.\n\tbase := uint64(16)\n\ti := len(buf) - 1\n\tfor num >= base {\n\t\tbuf[i] = hexDigits[num%base]\n\t\tnum /= base\n\t\ti--\n\t}\n\tbuf[i] = hexDigits[num]\n\n\t// Add '0x' prefix.\n\ti--\n\tbuf[i] = 'x'\n\ti--\n\tbuf[i] = '0'\n\n\t// Strip unused leading bytes.\n\tbuf = buf[i:]\n\tw.Write(buf)\n}\n\n// valuesSorter implements sort.Interface to allow a slice of reflect.Value\n// elements to be sorted.\ntype valuesSorter struct {\n\tvalues  []reflect.Value\n\tstrings []string // either nil or same len and values\n\tcs      *ConfigState\n}\n\n// newValuesSorter initializes a valuesSorter instance, which holds a set of\n// surrogate keys on which the data should be sorted.  It uses flags in\n// ConfigState to decide if and how to populate those surrogate keys.\nfunc newValuesSorter(values []reflect.Value, cs *ConfigState) sort.Interface {\n\tvs := &valuesSorter{values: values, cs: cs}\n\tif canSortSimply(vs.values[0].Kind()) {\n\t\treturn vs\n\t}\n\tif !cs.DisableMethods {\n\t\tvs.strings = make([]string, len(values))\n\t\tfor i := range vs.values {\n\t\t\tb := bytes.Buffer{}\n\t\t\tif !handleMethods(cs, &b, vs.values[i]) {\n\t\t\t\tvs.strings = nil\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tvs.strings[i] = b.String()\n\t\t}\n\t}\n\tif vs.strings == nil && cs.SpewKeys {\n\t\tvs.strings = make([]string, len(values))\n\t\tfor i := range vs.values {\n\t\t\tvs.strings[i] = Sprintf(\"%#v\", vs.values[i].Interface())\n\t\t}\n\t}\n\treturn vs\n}\n\n// canSortSimply tests whether a reflect.Kind is a primitive that can be sorted\n// directly, or whether it should be considered for sorting by surrogate keys\n// (if the ConfigState allows it).\nfunc canSortSimply(kind reflect.Kind) bool {\n\t// This switch parallels valueSortLess, except for the default case.\n\tswitch kind {\n\tcase reflect.Bool:\n\t\treturn true\n\tcase reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int:\n\t\treturn true\n\tcase reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint:\n\t\treturn true\n\tcase reflect.Float32, reflect.Float64:\n\t\treturn true\n\tcase reflect.String:\n\t\treturn true\n\tcase reflect.Uintptr:\n\t\treturn true\n\tcase reflect.Array:\n\t\treturn true\n\t}\n\treturn false\n}\n\n// Len returns the number of values in the slice.  It is part of the\n// sort.Interface implementation.\nfunc (s *valuesSorter) Len() int {\n\treturn len(s.values)\n}\n\n// Swap swaps the values at the passed indices.  It is part of the\n// sort.Interface implementation.\nfunc (s *valuesSorter) Swap(i, j int) {\n\ts.values[i], s.values[j] = s.values[j], s.values[i]\n\tif s.strings != nil {\n\t\ts.strings[i], s.strings[j] = s.strings[j], s.strings[i]\n\t}\n}\n\n// valueSortLess returns whether the first value should sort before the second\n// value.  It is used by valueSorter.Less as part of the sort.Interface\n// implementation.\nfunc valueSortLess(a, b reflect.Value) bool {\n\tswitch a.Kind() {\n\tcase reflect.Bool:\n\t\treturn !a.Bool() && b.Bool()\n\tcase reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int:\n\t\treturn a.Int() < b.Int()\n\tcase reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint:\n\t\treturn a.Uint() < b.Uint()\n\tcase reflect.Float32, reflect.Float64:\n\t\treturn a.Float() < b.Float()\n\tcase reflect.String:\n\t\treturn a.String() < b.String()\n\tcase reflect.Uintptr:\n\t\treturn a.Uint() < b.Uint()\n\tcase reflect.Array:\n\t\t// Compare the contents of both arrays.\n\t\tl := a.Len()\n\t\tfor i := 0; i < l; i++ {\n\t\t\tav := a.Index(i)\n\t\t\tbv := b.Index(i)\n\t\t\tif av.Interface() == bv.Interface() {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\treturn valueSortLess(av, bv)\n\t\t}\n\t}\n\treturn a.String() < b.String()\n}\n\n// Less returns whether the value at index i should sort before the\n// value at index j.  It is part of the sort.Interface implementation.\nfunc (s *valuesSorter) Less(i, j int) bool {\n\tif s.strings == nil {\n\t\treturn valueSortLess(s.values[i], s.values[j])\n\t}\n\treturn s.strings[i] < s.strings[j]\n}\n\n// sortValues is a sort function that handles both native types and any type that\n// can be converted to error or Stringer.  Other inputs are sorted according to\n// their Value.String() value to ensure display stability.\nfunc sortValues(values []reflect.Value, cs *ConfigState) {\n\tif len(values) == 0 {\n\t\treturn\n\t}\n\tsort.Sort(newValuesSorter(values, cs))\n}\n"
  },
  {
    "path": "vendor/github.com/davecgh/go-spew/spew/config.go",
    "content": "/*\n * Copyright (c) 2013-2016 Dave Collins <dave@davec.name>\n *\n * Permission to use, copy, modify, and distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n */\n\npackage spew\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"io\"\n\t\"os\"\n)\n\n// ConfigState houses the configuration options used by spew to format and\n// display values.  There is a global instance, Config, that is used to control\n// all top-level Formatter and Dump functionality.  Each ConfigState instance\n// provides methods equivalent to the top-level functions.\n//\n// The zero value for ConfigState provides no indentation.  You would typically\n// want to set it to a space or a tab.\n//\n// Alternatively, you can use NewDefaultConfig to get a ConfigState instance\n// with default settings.  See the documentation of NewDefaultConfig for default\n// values.\ntype ConfigState struct {\n\t// Indent specifies the string to use for each indentation level.  The\n\t// global config instance that all top-level functions use set this to a\n\t// single space by default.  If you would like more indentation, you might\n\t// set this to a tab with \"\\t\" or perhaps two spaces with \"  \".\n\tIndent string\n\n\t// MaxDepth controls the maximum number of levels to descend into nested\n\t// data structures.  The default, 0, means there is no limit.\n\t//\n\t// NOTE: Circular data structures are properly detected, so it is not\n\t// necessary to set this value unless you specifically want to limit deeply\n\t// nested data structures.\n\tMaxDepth int\n\n\t// DisableMethods specifies whether or not error and Stringer interfaces are\n\t// invoked for types that implement them.\n\tDisableMethods bool\n\n\t// DisablePointerMethods specifies whether or not to check for and invoke\n\t// error and Stringer interfaces on types which only accept a pointer\n\t// receiver when the current type is not a pointer.\n\t//\n\t// NOTE: This might be an unsafe action since calling one of these methods\n\t// with a pointer receiver could technically mutate the value, however,\n\t// in practice, types which choose to satisify an error or Stringer\n\t// interface with a pointer receiver should not be mutating their state\n\t// inside these interface methods.  As a result, this option relies on\n\t// access to the unsafe package, so it will not have any effect when\n\t// running in environments without access to the unsafe package such as\n\t// Google App Engine or with the \"safe\" build tag specified.\n\tDisablePointerMethods bool\n\n\t// DisablePointerAddresses specifies whether to disable the printing of\n\t// pointer addresses. This is useful when diffing data structures in tests.\n\tDisablePointerAddresses bool\n\n\t// DisableCapacities specifies whether to disable the printing of capacities\n\t// for arrays, slices, maps and channels. This is useful when diffing\n\t// data structures in tests.\n\tDisableCapacities bool\n\n\t// ContinueOnMethod specifies whether or not recursion should continue once\n\t// a custom error or Stringer interface is invoked.  The default, false,\n\t// means it will print the results of invoking the custom error or Stringer\n\t// interface and return immediately instead of continuing to recurse into\n\t// the internals of the data type.\n\t//\n\t// NOTE: This flag does not have any effect if method invocation is disabled\n\t// via the DisableMethods or DisablePointerMethods options.\n\tContinueOnMethod bool\n\n\t// SortKeys specifies map keys should be sorted before being printed. Use\n\t// this to have a more deterministic, diffable output.  Note that only\n\t// native types (bool, int, uint, floats, uintptr and string) and types\n\t// that support the error or Stringer interfaces (if methods are\n\t// enabled) are supported, with other types sorted according to the\n\t// reflect.Value.String() output which guarantees display stability.\n\tSortKeys bool\n\n\t// SpewKeys specifies that, as a last resort attempt, map keys should\n\t// be spewed to strings and sorted by those strings.  This is only\n\t// considered if SortKeys is true.\n\tSpewKeys bool\n}\n\n// Config is the active configuration of the top-level functions.\n// The configuration can be changed by modifying the contents of spew.Config.\nvar Config = ConfigState{Indent: \" \"}\n\n// Errorf is a wrapper for fmt.Errorf that treats each argument as if it were\n// passed with a Formatter interface returned by c.NewFormatter.  It returns\n// the formatted string as a value that satisfies error.  See NewFormatter\n// for formatting details.\n//\n// This function is shorthand for the following syntax:\n//\n//\tfmt.Errorf(format, c.NewFormatter(a), c.NewFormatter(b))\nfunc (c *ConfigState) Errorf(format string, a ...interface{}) (err error) {\n\treturn fmt.Errorf(format, c.convertArgs(a)...)\n}\n\n// Fprint is a wrapper for fmt.Fprint that treats each argument as if it were\n// passed with a Formatter interface returned by c.NewFormatter.  It returns\n// the number of bytes written and any write error encountered.  See\n// NewFormatter for formatting details.\n//\n// This function is shorthand for the following syntax:\n//\n//\tfmt.Fprint(w, c.NewFormatter(a), c.NewFormatter(b))\nfunc (c *ConfigState) Fprint(w io.Writer, a ...interface{}) (n int, err error) {\n\treturn fmt.Fprint(w, c.convertArgs(a)...)\n}\n\n// Fprintf is a wrapper for fmt.Fprintf that treats each argument as if it were\n// passed with a Formatter interface returned by c.NewFormatter.  It returns\n// the number of bytes written and any write error encountered.  See\n// NewFormatter for formatting details.\n//\n// This function is shorthand for the following syntax:\n//\n//\tfmt.Fprintf(w, format, c.NewFormatter(a), c.NewFormatter(b))\nfunc (c *ConfigState) Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error) {\n\treturn fmt.Fprintf(w, format, c.convertArgs(a)...)\n}\n\n// Fprintln is a wrapper for fmt.Fprintln that treats each argument as if it\n// passed with a Formatter interface returned by c.NewFormatter.  See\n// NewFormatter for formatting details.\n//\n// This function is shorthand for the following syntax:\n//\n//\tfmt.Fprintln(w, c.NewFormatter(a), c.NewFormatter(b))\nfunc (c *ConfigState) Fprintln(w io.Writer, a ...interface{}) (n int, err error) {\n\treturn fmt.Fprintln(w, c.convertArgs(a)...)\n}\n\n// Print is a wrapper for fmt.Print that treats each argument as if it were\n// passed with a Formatter interface returned by c.NewFormatter.  It returns\n// the number of bytes written and any write error encountered.  See\n// NewFormatter for formatting details.\n//\n// This function is shorthand for the following syntax:\n//\n//\tfmt.Print(c.NewFormatter(a), c.NewFormatter(b))\nfunc (c *ConfigState) Print(a ...interface{}) (n int, err error) {\n\treturn fmt.Print(c.convertArgs(a)...)\n}\n\n// Printf is a wrapper for fmt.Printf that treats each argument as if it were\n// passed with a Formatter interface returned by c.NewFormatter.  It returns\n// the number of bytes written and any write error encountered.  See\n// NewFormatter for formatting details.\n//\n// This function is shorthand for the following syntax:\n//\n//\tfmt.Printf(format, c.NewFormatter(a), c.NewFormatter(b))\nfunc (c *ConfigState) Printf(format string, a ...interface{}) (n int, err error) {\n\treturn fmt.Printf(format, c.convertArgs(a)...)\n}\n\n// Println is a wrapper for fmt.Println that treats each argument as if it were\n// passed with a Formatter interface returned by c.NewFormatter.  It returns\n// the number of bytes written and any write error encountered.  See\n// NewFormatter for formatting details.\n//\n// This function is shorthand for the following syntax:\n//\n//\tfmt.Println(c.NewFormatter(a), c.NewFormatter(b))\nfunc (c *ConfigState) Println(a ...interface{}) (n int, err error) {\n\treturn fmt.Println(c.convertArgs(a)...)\n}\n\n// Sprint is a wrapper for fmt.Sprint that treats each argument as if it were\n// passed with a Formatter interface returned by c.NewFormatter.  It returns\n// the resulting string.  See NewFormatter for formatting details.\n//\n// This function is shorthand for the following syntax:\n//\n//\tfmt.Sprint(c.NewFormatter(a), c.NewFormatter(b))\nfunc (c *ConfigState) Sprint(a ...interface{}) string {\n\treturn fmt.Sprint(c.convertArgs(a)...)\n}\n\n// Sprintf is a wrapper for fmt.Sprintf that treats each argument as if it were\n// passed with a Formatter interface returned by c.NewFormatter.  It returns\n// the resulting string.  See NewFormatter for formatting details.\n//\n// This function is shorthand for the following syntax:\n//\n//\tfmt.Sprintf(format, c.NewFormatter(a), c.NewFormatter(b))\nfunc (c *ConfigState) Sprintf(format string, a ...interface{}) string {\n\treturn fmt.Sprintf(format, c.convertArgs(a)...)\n}\n\n// Sprintln is a wrapper for fmt.Sprintln that treats each argument as if it\n// were passed with a Formatter interface returned by c.NewFormatter.  It\n// returns the resulting string.  See NewFormatter for formatting details.\n//\n// This function is shorthand for the following syntax:\n//\n//\tfmt.Sprintln(c.NewFormatter(a), c.NewFormatter(b))\nfunc (c *ConfigState) Sprintln(a ...interface{}) string {\n\treturn fmt.Sprintln(c.convertArgs(a)...)\n}\n\n/*\nNewFormatter returns a custom formatter that satisfies the fmt.Formatter\ninterface.  As a result, it integrates cleanly with standard fmt package\nprinting functions.  The formatter is useful for inline printing of smaller data\ntypes similar to the standard %v format specifier.\n\nThe custom formatter only responds to the %v (most compact), %+v (adds pointer\naddresses), %#v (adds types), and %#+v (adds types and pointer addresses) verb\ncombinations.  Any other verbs such as %x and %q will be sent to the the\nstandard fmt package for formatting.  In addition, the custom formatter ignores\nthe width and precision arguments (however they will still work on the format\nspecifiers not handled by the custom formatter).\n\nTypically this function shouldn't be called directly.  It is much easier to make\nuse of the custom formatter by calling one of the convenience functions such as\nc.Printf, c.Println, or c.Printf.\n*/\nfunc (c *ConfigState) NewFormatter(v interface{}) fmt.Formatter {\n\treturn newFormatter(c, v)\n}\n\n// Fdump formats and displays the passed arguments to io.Writer w.  It formats\n// exactly the same as Dump.\nfunc (c *ConfigState) Fdump(w io.Writer, a ...interface{}) {\n\tfdump(c, w, a...)\n}\n\n/*\nDump displays the passed parameters to standard out with newlines, customizable\nindentation, and additional debug information such as complete types and all\npointer addresses used to indirect to the final value.  It provides the\nfollowing features over the built-in printing facilities provided by the fmt\npackage:\n\n\t* Pointers are dereferenced and followed\n\t* Circular data structures are detected and handled properly\n\t* Custom Stringer/error interfaces are optionally invoked, including\n\t  on unexported types\n\t* Custom types which only implement the Stringer/error interfaces via\n\t  a pointer receiver are optionally invoked when passing non-pointer\n\t  variables\n\t* Byte arrays and slices are dumped like the hexdump -C command which\n\t  includes offsets, byte values in hex, and ASCII output\n\nThe configuration options are controlled by modifying the public members\nof c.  See ConfigState for options documentation.\n\nSee Fdump if you would prefer dumping to an arbitrary io.Writer or Sdump to\nget the formatted result as a string.\n*/\nfunc (c *ConfigState) Dump(a ...interface{}) {\n\tfdump(c, os.Stdout, a...)\n}\n\n// Sdump returns a string with the passed arguments formatted exactly the same\n// as Dump.\nfunc (c *ConfigState) Sdump(a ...interface{}) string {\n\tvar buf bytes.Buffer\n\tfdump(c, &buf, a...)\n\treturn buf.String()\n}\n\n// convertArgs accepts a slice of arguments and returns a slice of the same\n// length with each argument converted to a spew Formatter interface using\n// the ConfigState associated with s.\nfunc (c *ConfigState) convertArgs(args []interface{}) (formatters []interface{}) {\n\tformatters = make([]interface{}, len(args))\n\tfor index, arg := range args {\n\t\tformatters[index] = newFormatter(c, arg)\n\t}\n\treturn formatters\n}\n\n// NewDefaultConfig returns a ConfigState with the following default settings.\n//\n// \tIndent: \" \"\n// \tMaxDepth: 0\n// \tDisableMethods: false\n// \tDisablePointerMethods: false\n// \tContinueOnMethod: false\n// \tSortKeys: false\nfunc NewDefaultConfig() *ConfigState {\n\treturn &ConfigState{Indent: \" \"}\n}\n"
  },
  {
    "path": "vendor/github.com/davecgh/go-spew/spew/doc.go",
    "content": "/*\n * Copyright (c) 2013-2016 Dave Collins <dave@davec.name>\n *\n * Permission to use, copy, modify, and distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n */\n\n/*\nPackage spew implements a deep pretty printer for Go data structures to aid in\ndebugging.\n\nA quick overview of the additional features spew provides over the built-in\nprinting facilities for Go data types are as follows:\n\n\t* Pointers are dereferenced and followed\n\t* Circular data structures are detected and handled properly\n\t* Custom Stringer/error interfaces are optionally invoked, including\n\t  on unexported types\n\t* Custom types which only implement the Stringer/error interfaces via\n\t  a pointer receiver are optionally invoked when passing non-pointer\n\t  variables\n\t* Byte arrays and slices are dumped like the hexdump -C command which\n\t  includes offsets, byte values in hex, and ASCII output (only when using\n\t  Dump style)\n\nThere are two different approaches spew allows for dumping Go data structures:\n\n\t* Dump style which prints with newlines, customizable indentation,\n\t  and additional debug information such as types and all pointer addresses\n\t  used to indirect to the final value\n\t* A custom Formatter interface that integrates cleanly with the standard fmt\n\t  package and replaces %v, %+v, %#v, and %#+v to provide inline printing\n\t  similar to the default %v while providing the additional functionality\n\t  outlined above and passing unsupported format verbs such as %x and %q\n\t  along to fmt\n\nQuick Start\n\nThis section demonstrates how to quickly get started with spew.  See the\nsections below for further details on formatting and configuration options.\n\nTo dump a variable with full newlines, indentation, type, and pointer\ninformation use Dump, Fdump, or Sdump:\n\tspew.Dump(myVar1, myVar2, ...)\n\tspew.Fdump(someWriter, myVar1, myVar2, ...)\n\tstr := spew.Sdump(myVar1, myVar2, ...)\n\nAlternatively, if you would prefer to use format strings with a compacted inline\nprinting style, use the convenience wrappers Printf, Fprintf, etc with\n%v (most compact), %+v (adds pointer addresses), %#v (adds types), or\n%#+v (adds types and pointer addresses):\n\tspew.Printf(\"myVar1: %v -- myVar2: %+v\", myVar1, myVar2)\n\tspew.Printf(\"myVar3: %#v -- myVar4: %#+v\", myVar3, myVar4)\n\tspew.Fprintf(someWriter, \"myVar1: %v -- myVar2: %+v\", myVar1, myVar2)\n\tspew.Fprintf(someWriter, \"myVar3: %#v -- myVar4: %#+v\", myVar3, myVar4)\n\nConfiguration Options\n\nConfiguration of spew is handled by fields in the ConfigState type.  For\nconvenience, all of the top-level functions use a global state available\nvia the spew.Config global.\n\nIt is also possible to create a ConfigState instance that provides methods\nequivalent to the top-level functions.  This allows concurrent configuration\noptions.  See the ConfigState documentation for more details.\n\nThe following configuration options are available:\n\t* Indent\n\t\tString to use for each indentation level for Dump functions.\n\t\tIt is a single space by default.  A popular alternative is \"\\t\".\n\n\t* MaxDepth\n\t\tMaximum number of levels to descend into nested data structures.\n\t\tThere is no limit by default.\n\n\t* DisableMethods\n\t\tDisables invocation of error and Stringer interface methods.\n\t\tMethod invocation is enabled by default.\n\n\t* DisablePointerMethods\n\t\tDisables invocation of error and Stringer interface methods on types\n\t\twhich only accept pointer receivers from non-pointer variables.\n\t\tPointer method invocation is enabled by default.\n\n\t* DisablePointerAddresses\n\t\tDisablePointerAddresses specifies whether to disable the printing of\n\t\tpointer addresses. This is useful when diffing data structures in tests.\n\n\t* DisableCapacities\n\t\tDisableCapacities specifies whether to disable the printing of\n\t\tcapacities for arrays, slices, maps and channels. This is useful when\n\t\tdiffing data structures in tests.\n\n\t* ContinueOnMethod\n\t\tEnables recursion into types after invoking error and Stringer interface\n\t\tmethods. Recursion after method invocation is disabled by default.\n\n\t* SortKeys\n\t\tSpecifies map keys should be sorted before being printed. Use\n\t\tthis to have a more deterministic, diffable output.  Note that\n\t\tonly native types (bool, int, uint, floats, uintptr and string)\n\t\tand types which implement error or Stringer interfaces are\n\t\tsupported with other types sorted according to the\n\t\treflect.Value.String() output which guarantees display\n\t\tstability.  Natural map order is used by default.\n\n\t* SpewKeys\n\t\tSpecifies that, as a last resort attempt, map keys should be\n\t\tspewed to strings and sorted by those strings.  This is only\n\t\tconsidered if SortKeys is true.\n\nDump Usage\n\nSimply call spew.Dump with a list of variables you want to dump:\n\n\tspew.Dump(myVar1, myVar2, ...)\n\nYou may also call spew.Fdump if you would prefer to output to an arbitrary\nio.Writer.  For example, to dump to standard error:\n\n\tspew.Fdump(os.Stderr, myVar1, myVar2, ...)\n\nA third option is to call spew.Sdump to get the formatted output as a string:\n\n\tstr := spew.Sdump(myVar1, myVar2, ...)\n\nSample Dump Output\n\nSee the Dump example for details on the setup of the types and variables being\nshown here.\n\n\t(main.Foo) {\n\t unexportedField: (*main.Bar)(0xf84002e210)({\n\t  flag: (main.Flag) flagTwo,\n\t  data: (uintptr) <nil>\n\t }),\n\t ExportedField: (map[interface {}]interface {}) (len=1) {\n\t  (string) (len=3) \"one\": (bool) true\n\t }\n\t}\n\nByte (and uint8) arrays and slices are displayed uniquely like the hexdump -C\ncommand as shown.\n\t([]uint8) (len=32 cap=32) {\n\t 00000000  11 12 13 14 15 16 17 18  19 1a 1b 1c 1d 1e 1f 20  |............... |\n\t 00000010  21 22 23 24 25 26 27 28  29 2a 2b 2c 2d 2e 2f 30  |!\"#$%&'()*+,-./0|\n\t 00000020  31 32                                             |12|\n\t}\n\nCustom Formatter\n\nSpew provides a custom formatter that implements the fmt.Formatter interface\nso that it integrates cleanly with standard fmt package printing functions. The\nformatter is useful for inline printing of smaller data types similar to the\nstandard %v format specifier.\n\nThe custom formatter only responds to the %v (most compact), %+v (adds pointer\naddresses), %#v (adds types), or %#+v (adds types and pointer addresses) verb\ncombinations.  Any other verbs such as %x and %q will be sent to the the\nstandard fmt package for formatting.  In addition, the custom formatter ignores\nthe width and precision arguments (however they will still work on the format\nspecifiers not handled by the custom formatter).\n\nCustom Formatter Usage\n\nThe simplest way to make use of the spew custom formatter is to call one of the\nconvenience functions such as spew.Printf, spew.Println, or spew.Printf.  The\nfunctions have syntax you are most likely already familiar with:\n\n\tspew.Printf(\"myVar1: %v -- myVar2: %+v\", myVar1, myVar2)\n\tspew.Printf(\"myVar3: %#v -- myVar4: %#+v\", myVar3, myVar4)\n\tspew.Println(myVar, myVar2)\n\tspew.Fprintf(os.Stderr, \"myVar1: %v -- myVar2: %+v\", myVar1, myVar2)\n\tspew.Fprintf(os.Stderr, \"myVar3: %#v -- myVar4: %#+v\", myVar3, myVar4)\n\nSee the Index for the full list convenience functions.\n\nSample Formatter Output\n\nDouble pointer to a uint8:\n\t  %v: <**>5\n\t %+v: <**>(0xf8400420d0->0xf8400420c8)5\n\t %#v: (**uint8)5\n\t%#+v: (**uint8)(0xf8400420d0->0xf8400420c8)5\n\nPointer to circular struct with a uint8 field and a pointer to itself:\n\t  %v: <*>{1 <*><shown>}\n\t %+v: <*>(0xf84003e260){ui8:1 c:<*>(0xf84003e260)<shown>}\n\t %#v: (*main.circular){ui8:(uint8)1 c:(*main.circular)<shown>}\n\t%#+v: (*main.circular)(0xf84003e260){ui8:(uint8)1 c:(*main.circular)(0xf84003e260)<shown>}\n\nSee the Printf example for details on the setup of variables being shown\nhere.\n\nErrors\n\nSince it is possible for custom Stringer/error interfaces to panic, spew\ndetects them and handles them internally by printing the panic information\ninline with the output.  Since spew is intended to provide deep pretty printing\ncapabilities on structures, it intentionally does not return any errors.\n*/\npackage spew\n"
  },
  {
    "path": "vendor/github.com/davecgh/go-spew/spew/dump.go",
    "content": "/*\n * Copyright (c) 2013-2016 Dave Collins <dave@davec.name>\n *\n * Permission to use, copy, modify, and distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n */\n\npackage spew\n\nimport (\n\t\"bytes\"\n\t\"encoding/hex\"\n\t\"fmt\"\n\t\"io\"\n\t\"os\"\n\t\"reflect\"\n\t\"regexp\"\n\t\"strconv\"\n\t\"strings\"\n)\n\nvar (\n\t// uint8Type is a reflect.Type representing a uint8.  It is used to\n\t// convert cgo types to uint8 slices for hexdumping.\n\tuint8Type = reflect.TypeOf(uint8(0))\n\n\t// cCharRE is a regular expression that matches a cgo char.\n\t// It is used to detect character arrays to hexdump them.\n\tcCharRE = regexp.MustCompile(\"^.*\\\\._Ctype_char$\")\n\n\t// cUnsignedCharRE is a regular expression that matches a cgo unsigned\n\t// char.  It is used to detect unsigned character arrays to hexdump\n\t// them.\n\tcUnsignedCharRE = regexp.MustCompile(\"^.*\\\\._Ctype_unsignedchar$\")\n\n\t// cUint8tCharRE is a regular expression that matches a cgo uint8_t.\n\t// It is used to detect uint8_t arrays to hexdump them.\n\tcUint8tCharRE = regexp.MustCompile(\"^.*\\\\._Ctype_uint8_t$\")\n)\n\n// dumpState contains information about the state of a dump operation.\ntype dumpState struct {\n\tw                io.Writer\n\tdepth            int\n\tpointers         map[uintptr]int\n\tignoreNextType   bool\n\tignoreNextIndent bool\n\tcs               *ConfigState\n}\n\n// indent performs indentation according to the depth level and cs.Indent\n// option.\nfunc (d *dumpState) indent() {\n\tif d.ignoreNextIndent {\n\t\td.ignoreNextIndent = false\n\t\treturn\n\t}\n\td.w.Write(bytes.Repeat([]byte(d.cs.Indent), d.depth))\n}\n\n// unpackValue returns values inside of non-nil interfaces when possible.\n// This is useful for data types like structs, arrays, slices, and maps which\n// can contain varying types packed inside an interface.\nfunc (d *dumpState) unpackValue(v reflect.Value) reflect.Value {\n\tif v.Kind() == reflect.Interface && !v.IsNil() {\n\t\tv = v.Elem()\n\t}\n\treturn v\n}\n\n// dumpPtr handles formatting of pointers by indirecting them as necessary.\nfunc (d *dumpState) dumpPtr(v reflect.Value) {\n\t// Remove pointers at or below the current depth from map used to detect\n\t// circular refs.\n\tfor k, depth := range d.pointers {\n\t\tif depth >= d.depth {\n\t\t\tdelete(d.pointers, k)\n\t\t}\n\t}\n\n\t// Keep list of all dereferenced pointers to show later.\n\tpointerChain := make([]uintptr, 0)\n\n\t// Figure out how many levels of indirection there are by dereferencing\n\t// pointers and unpacking interfaces down the chain while detecting circular\n\t// references.\n\tnilFound := false\n\tcycleFound := false\n\tindirects := 0\n\tve := v\n\tfor ve.Kind() == reflect.Ptr {\n\t\tif ve.IsNil() {\n\t\t\tnilFound = true\n\t\t\tbreak\n\t\t}\n\t\tindirects++\n\t\taddr := ve.Pointer()\n\t\tpointerChain = append(pointerChain, addr)\n\t\tif pd, ok := d.pointers[addr]; ok && pd < d.depth {\n\t\t\tcycleFound = true\n\t\t\tindirects--\n\t\t\tbreak\n\t\t}\n\t\td.pointers[addr] = d.depth\n\n\t\tve = ve.Elem()\n\t\tif ve.Kind() == reflect.Interface {\n\t\t\tif ve.IsNil() {\n\t\t\t\tnilFound = true\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tve = ve.Elem()\n\t\t}\n\t}\n\n\t// Display type information.\n\td.w.Write(openParenBytes)\n\td.w.Write(bytes.Repeat(asteriskBytes, indirects))\n\td.w.Write([]byte(ve.Type().String()))\n\td.w.Write(closeParenBytes)\n\n\t// Display pointer information.\n\tif !d.cs.DisablePointerAddresses && len(pointerChain) > 0 {\n\t\td.w.Write(openParenBytes)\n\t\tfor i, addr := range pointerChain {\n\t\t\tif i > 0 {\n\t\t\t\td.w.Write(pointerChainBytes)\n\t\t\t}\n\t\t\tprintHexPtr(d.w, addr)\n\t\t}\n\t\td.w.Write(closeParenBytes)\n\t}\n\n\t// Display dereferenced value.\n\td.w.Write(openParenBytes)\n\tswitch {\n\tcase nilFound == true:\n\t\td.w.Write(nilAngleBytes)\n\n\tcase cycleFound == true:\n\t\td.w.Write(circularBytes)\n\n\tdefault:\n\t\td.ignoreNextType = true\n\t\td.dump(ve)\n\t}\n\td.w.Write(closeParenBytes)\n}\n\n// dumpSlice handles formatting of arrays and slices.  Byte (uint8 under\n// reflection) arrays and slices are dumped in hexdump -C fashion.\nfunc (d *dumpState) dumpSlice(v reflect.Value) {\n\t// Determine whether this type should be hex dumped or not.  Also,\n\t// for types which should be hexdumped, try to use the underlying data\n\t// first, then fall back to trying to convert them to a uint8 slice.\n\tvar buf []uint8\n\tdoConvert := false\n\tdoHexDump := false\n\tnumEntries := v.Len()\n\tif numEntries > 0 {\n\t\tvt := v.Index(0).Type()\n\t\tvts := vt.String()\n\t\tswitch {\n\t\t// C types that need to be converted.\n\t\tcase cCharRE.MatchString(vts):\n\t\t\tfallthrough\n\t\tcase cUnsignedCharRE.MatchString(vts):\n\t\t\tfallthrough\n\t\tcase cUint8tCharRE.MatchString(vts):\n\t\t\tdoConvert = true\n\n\t\t// Try to use existing uint8 slices and fall back to converting\n\t\t// and copying if that fails.\n\t\tcase vt.Kind() == reflect.Uint8:\n\t\t\t// We need an addressable interface to convert the type\n\t\t\t// to a byte slice.  However, the reflect package won't\n\t\t\t// give us an interface on certain things like\n\t\t\t// unexported struct fields in order to enforce\n\t\t\t// visibility rules.  We use unsafe, when available, to\n\t\t\t// bypass these restrictions since this package does not\n\t\t\t// mutate the values.\n\t\t\tvs := v\n\t\t\tif !vs.CanInterface() || !vs.CanAddr() {\n\t\t\t\tvs = unsafeReflectValue(vs)\n\t\t\t}\n\t\t\tif !UnsafeDisabled {\n\t\t\t\tvs = vs.Slice(0, numEntries)\n\n\t\t\t\t// Use the existing uint8 slice if it can be\n\t\t\t\t// type asserted.\n\t\t\t\tiface := vs.Interface()\n\t\t\t\tif slice, ok := iface.([]uint8); ok {\n\t\t\t\t\tbuf = slice\n\t\t\t\t\tdoHexDump = true\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// The underlying data needs to be converted if it can't\n\t\t\t// be type asserted to a uint8 slice.\n\t\t\tdoConvert = true\n\t\t}\n\n\t\t// Copy and convert the underlying type if needed.\n\t\tif doConvert && vt.ConvertibleTo(uint8Type) {\n\t\t\t// Convert and copy each element into a uint8 byte\n\t\t\t// slice.\n\t\t\tbuf = make([]uint8, numEntries)\n\t\t\tfor i := 0; i < numEntries; i++ {\n\t\t\t\tvv := v.Index(i)\n\t\t\t\tbuf[i] = uint8(vv.Convert(uint8Type).Uint())\n\t\t\t}\n\t\t\tdoHexDump = true\n\t\t}\n\t}\n\n\t// Hexdump the entire slice as needed.\n\tif doHexDump {\n\t\tindent := strings.Repeat(d.cs.Indent, d.depth)\n\t\tstr := indent + hex.Dump(buf)\n\t\tstr = strings.Replace(str, \"\\n\", \"\\n\"+indent, -1)\n\t\tstr = strings.TrimRight(str, d.cs.Indent)\n\t\td.w.Write([]byte(str))\n\t\treturn\n\t}\n\n\t// Recursively call dump for each item.\n\tfor i := 0; i < numEntries; i++ {\n\t\td.dump(d.unpackValue(v.Index(i)))\n\t\tif i < (numEntries - 1) {\n\t\t\td.w.Write(commaNewlineBytes)\n\t\t} else {\n\t\t\td.w.Write(newlineBytes)\n\t\t}\n\t}\n}\n\n// dump is the main workhorse for dumping a value.  It uses the passed reflect\n// value to figure out what kind of object we are dealing with and formats it\n// appropriately.  It is a recursive function, however circular data structures\n// are detected and handled properly.\nfunc (d *dumpState) dump(v reflect.Value) {\n\t// Handle invalid reflect values immediately.\n\tkind := v.Kind()\n\tif kind == reflect.Invalid {\n\t\td.w.Write(invalidAngleBytes)\n\t\treturn\n\t}\n\n\t// Handle pointers specially.\n\tif kind == reflect.Ptr {\n\t\td.indent()\n\t\td.dumpPtr(v)\n\t\treturn\n\t}\n\n\t// Print type information unless already handled elsewhere.\n\tif !d.ignoreNextType {\n\t\td.indent()\n\t\td.w.Write(openParenBytes)\n\t\td.w.Write([]byte(v.Type().String()))\n\t\td.w.Write(closeParenBytes)\n\t\td.w.Write(spaceBytes)\n\t}\n\td.ignoreNextType = false\n\n\t// Display length and capacity if the built-in len and cap functions\n\t// work with the value's kind and the len/cap itself is non-zero.\n\tvalueLen, valueCap := 0, 0\n\tswitch v.Kind() {\n\tcase reflect.Array, reflect.Slice, reflect.Chan:\n\t\tvalueLen, valueCap = v.Len(), v.Cap()\n\tcase reflect.Map, reflect.String:\n\t\tvalueLen = v.Len()\n\t}\n\tif valueLen != 0 || !d.cs.DisableCapacities && valueCap != 0 {\n\t\td.w.Write(openParenBytes)\n\t\tif valueLen != 0 {\n\t\t\td.w.Write(lenEqualsBytes)\n\t\t\tprintInt(d.w, int64(valueLen), 10)\n\t\t}\n\t\tif !d.cs.DisableCapacities && valueCap != 0 {\n\t\t\tif valueLen != 0 {\n\t\t\t\td.w.Write(spaceBytes)\n\t\t\t}\n\t\t\td.w.Write(capEqualsBytes)\n\t\t\tprintInt(d.w, int64(valueCap), 10)\n\t\t}\n\t\td.w.Write(closeParenBytes)\n\t\td.w.Write(spaceBytes)\n\t}\n\n\t// Call Stringer/error interfaces if they exist and the handle methods flag\n\t// is enabled\n\tif !d.cs.DisableMethods {\n\t\tif (kind != reflect.Invalid) && (kind != reflect.Interface) {\n\t\t\tif handled := handleMethods(d.cs, d.w, v); handled {\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\t}\n\n\tswitch kind {\n\tcase reflect.Invalid:\n\t\t// Do nothing.  We should never get here since invalid has already\n\t\t// been handled above.\n\n\tcase reflect.Bool:\n\t\tprintBool(d.w, v.Bool())\n\n\tcase reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int:\n\t\tprintInt(d.w, v.Int(), 10)\n\n\tcase reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint:\n\t\tprintUint(d.w, v.Uint(), 10)\n\n\tcase reflect.Float32:\n\t\tprintFloat(d.w, v.Float(), 32)\n\n\tcase reflect.Float64:\n\t\tprintFloat(d.w, v.Float(), 64)\n\n\tcase reflect.Complex64:\n\t\tprintComplex(d.w, v.Complex(), 32)\n\n\tcase reflect.Complex128:\n\t\tprintComplex(d.w, v.Complex(), 64)\n\n\tcase reflect.Slice:\n\t\tif v.IsNil() {\n\t\t\td.w.Write(nilAngleBytes)\n\t\t\tbreak\n\t\t}\n\t\tfallthrough\n\n\tcase reflect.Array:\n\t\td.w.Write(openBraceNewlineBytes)\n\t\td.depth++\n\t\tif (d.cs.MaxDepth != 0) && (d.depth > d.cs.MaxDepth) {\n\t\t\td.indent()\n\t\t\td.w.Write(maxNewlineBytes)\n\t\t} else {\n\t\t\td.dumpSlice(v)\n\t\t}\n\t\td.depth--\n\t\td.indent()\n\t\td.w.Write(closeBraceBytes)\n\n\tcase reflect.String:\n\t\td.w.Write([]byte(strconv.Quote(v.String())))\n\n\tcase reflect.Interface:\n\t\t// The only time we should get here is for nil interfaces due to\n\t\t// unpackValue calls.\n\t\tif v.IsNil() {\n\t\t\td.w.Write(nilAngleBytes)\n\t\t}\n\n\tcase reflect.Ptr:\n\t\t// Do nothing.  We should never get here since pointers have already\n\t\t// been handled above.\n\n\tcase reflect.Map:\n\t\t// nil maps should be indicated as different than empty maps\n\t\tif v.IsNil() {\n\t\t\td.w.Write(nilAngleBytes)\n\t\t\tbreak\n\t\t}\n\n\t\td.w.Write(openBraceNewlineBytes)\n\t\td.depth++\n\t\tif (d.cs.MaxDepth != 0) && (d.depth > d.cs.MaxDepth) {\n\t\t\td.indent()\n\t\t\td.w.Write(maxNewlineBytes)\n\t\t} else {\n\t\t\tnumEntries := v.Len()\n\t\t\tkeys := v.MapKeys()\n\t\t\tif d.cs.SortKeys {\n\t\t\t\tsortValues(keys, d.cs)\n\t\t\t}\n\t\t\tfor i, key := range keys {\n\t\t\t\td.dump(d.unpackValue(key))\n\t\t\t\td.w.Write(colonSpaceBytes)\n\t\t\t\td.ignoreNextIndent = true\n\t\t\t\td.dump(d.unpackValue(v.MapIndex(key)))\n\t\t\t\tif i < (numEntries - 1) {\n\t\t\t\t\td.w.Write(commaNewlineBytes)\n\t\t\t\t} else {\n\t\t\t\t\td.w.Write(newlineBytes)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\td.depth--\n\t\td.indent()\n\t\td.w.Write(closeBraceBytes)\n\n\tcase reflect.Struct:\n\t\td.w.Write(openBraceNewlineBytes)\n\t\td.depth++\n\t\tif (d.cs.MaxDepth != 0) && (d.depth > d.cs.MaxDepth) {\n\t\t\td.indent()\n\t\t\td.w.Write(maxNewlineBytes)\n\t\t} else {\n\t\t\tvt := v.Type()\n\t\t\tnumFields := v.NumField()\n\t\t\tfor i := 0; i < numFields; i++ {\n\t\t\t\td.indent()\n\t\t\t\tvtf := vt.Field(i)\n\t\t\t\td.w.Write([]byte(vtf.Name))\n\t\t\t\td.w.Write(colonSpaceBytes)\n\t\t\t\td.ignoreNextIndent = true\n\t\t\t\td.dump(d.unpackValue(v.Field(i)))\n\t\t\t\tif i < (numFields - 1) {\n\t\t\t\t\td.w.Write(commaNewlineBytes)\n\t\t\t\t} else {\n\t\t\t\t\td.w.Write(newlineBytes)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\td.depth--\n\t\td.indent()\n\t\td.w.Write(closeBraceBytes)\n\n\tcase reflect.Uintptr:\n\t\tprintHexPtr(d.w, uintptr(v.Uint()))\n\n\tcase reflect.UnsafePointer, reflect.Chan, reflect.Func:\n\t\tprintHexPtr(d.w, v.Pointer())\n\n\t// There were not any other types at the time this code was written, but\n\t// fall back to letting the default fmt package handle it in case any new\n\t// types are added.\n\tdefault:\n\t\tif v.CanInterface() {\n\t\t\tfmt.Fprintf(d.w, \"%v\", v.Interface())\n\t\t} else {\n\t\t\tfmt.Fprintf(d.w, \"%v\", v.String())\n\t\t}\n\t}\n}\n\n// fdump is a helper function to consolidate the logic from the various public\n// methods which take varying writers and config states.\nfunc fdump(cs *ConfigState, w io.Writer, a ...interface{}) {\n\tfor _, arg := range a {\n\t\tif arg == nil {\n\t\t\tw.Write(interfaceBytes)\n\t\t\tw.Write(spaceBytes)\n\t\t\tw.Write(nilAngleBytes)\n\t\t\tw.Write(newlineBytes)\n\t\t\tcontinue\n\t\t}\n\n\t\td := dumpState{w: w, cs: cs}\n\t\td.pointers = make(map[uintptr]int)\n\t\td.dump(reflect.ValueOf(arg))\n\t\td.w.Write(newlineBytes)\n\t}\n}\n\n// Fdump formats and displays the passed arguments to io.Writer w.  It formats\n// exactly the same as Dump.\nfunc Fdump(w io.Writer, a ...interface{}) {\n\tfdump(&Config, w, a...)\n}\n\n// Sdump returns a string with the passed arguments formatted exactly the same\n// as Dump.\nfunc Sdump(a ...interface{}) string {\n\tvar buf bytes.Buffer\n\tfdump(&Config, &buf, a...)\n\treturn buf.String()\n}\n\n/*\nDump displays the passed parameters to standard out with newlines, customizable\nindentation, and additional debug information such as complete types and all\npointer addresses used to indirect to the final value.  It provides the\nfollowing features over the built-in printing facilities provided by the fmt\npackage:\n\n\t* Pointers are dereferenced and followed\n\t* Circular data structures are detected and handled properly\n\t* Custom Stringer/error interfaces are optionally invoked, including\n\t  on unexported types\n\t* Custom types which only implement the Stringer/error interfaces via\n\t  a pointer receiver are optionally invoked when passing non-pointer\n\t  variables\n\t* Byte arrays and slices are dumped like the hexdump -C command which\n\t  includes offsets, byte values in hex, and ASCII output\n\nThe configuration options are controlled by an exported package global,\nspew.Config.  See ConfigState for options documentation.\n\nSee Fdump if you would prefer dumping to an arbitrary io.Writer or Sdump to\nget the formatted result as a string.\n*/\nfunc Dump(a ...interface{}) {\n\tfdump(&Config, os.Stdout, a...)\n}\n"
  },
  {
    "path": "vendor/github.com/davecgh/go-spew/spew/format.go",
    "content": "/*\n * Copyright (c) 2013-2016 Dave Collins <dave@davec.name>\n *\n * Permission to use, copy, modify, and distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n */\n\npackage spew\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"reflect\"\n\t\"strconv\"\n\t\"strings\"\n)\n\n// supportedFlags is a list of all the character flags supported by fmt package.\nconst supportedFlags = \"0-+# \"\n\n// formatState implements the fmt.Formatter interface and contains information\n// about the state of a formatting operation.  The NewFormatter function can\n// be used to get a new Formatter which can be used directly as arguments\n// in standard fmt package printing calls.\ntype formatState struct {\n\tvalue          interface{}\n\tfs             fmt.State\n\tdepth          int\n\tpointers       map[uintptr]int\n\tignoreNextType bool\n\tcs             *ConfigState\n}\n\n// buildDefaultFormat recreates the original format string without precision\n// and width information to pass in to fmt.Sprintf in the case of an\n// unrecognized type.  Unless new types are added to the language, this\n// function won't ever be called.\nfunc (f *formatState) buildDefaultFormat() (format string) {\n\tbuf := bytes.NewBuffer(percentBytes)\n\n\tfor _, flag := range supportedFlags {\n\t\tif f.fs.Flag(int(flag)) {\n\t\t\tbuf.WriteRune(flag)\n\t\t}\n\t}\n\n\tbuf.WriteRune('v')\n\n\tformat = buf.String()\n\treturn format\n}\n\n// constructOrigFormat recreates the original format string including precision\n// and width information to pass along to the standard fmt package.  This allows\n// automatic deferral of all format strings this package doesn't support.\nfunc (f *formatState) constructOrigFormat(verb rune) (format string) {\n\tbuf := bytes.NewBuffer(percentBytes)\n\n\tfor _, flag := range supportedFlags {\n\t\tif f.fs.Flag(int(flag)) {\n\t\t\tbuf.WriteRune(flag)\n\t\t}\n\t}\n\n\tif width, ok := f.fs.Width(); ok {\n\t\tbuf.WriteString(strconv.Itoa(width))\n\t}\n\n\tif precision, ok := f.fs.Precision(); ok {\n\t\tbuf.Write(precisionBytes)\n\t\tbuf.WriteString(strconv.Itoa(precision))\n\t}\n\n\tbuf.WriteRune(verb)\n\n\tformat = buf.String()\n\treturn format\n}\n\n// unpackValue returns values inside of non-nil interfaces when possible and\n// ensures that types for values which have been unpacked from an interface\n// are displayed when the show types flag is also set.\n// This is useful for data types like structs, arrays, slices, and maps which\n// can contain varying types packed inside an interface.\nfunc (f *formatState) unpackValue(v reflect.Value) reflect.Value {\n\tif v.Kind() == reflect.Interface {\n\t\tf.ignoreNextType = false\n\t\tif !v.IsNil() {\n\t\t\tv = v.Elem()\n\t\t}\n\t}\n\treturn v\n}\n\n// formatPtr handles formatting of pointers by indirecting them as necessary.\nfunc (f *formatState) formatPtr(v reflect.Value) {\n\t// Display nil if top level pointer is nil.\n\tshowTypes := f.fs.Flag('#')\n\tif v.IsNil() && (!showTypes || f.ignoreNextType) {\n\t\tf.fs.Write(nilAngleBytes)\n\t\treturn\n\t}\n\n\t// Remove pointers at or below the current depth from map used to detect\n\t// circular refs.\n\tfor k, depth := range f.pointers {\n\t\tif depth >= f.depth {\n\t\t\tdelete(f.pointers, k)\n\t\t}\n\t}\n\n\t// Keep list of all dereferenced pointers to possibly show later.\n\tpointerChain := make([]uintptr, 0)\n\n\t// Figure out how many levels of indirection there are by derferencing\n\t// pointers and unpacking interfaces down the chain while detecting circular\n\t// references.\n\tnilFound := false\n\tcycleFound := false\n\tindirects := 0\n\tve := v\n\tfor ve.Kind() == reflect.Ptr {\n\t\tif ve.IsNil() {\n\t\t\tnilFound = true\n\t\t\tbreak\n\t\t}\n\t\tindirects++\n\t\taddr := ve.Pointer()\n\t\tpointerChain = append(pointerChain, addr)\n\t\tif pd, ok := f.pointers[addr]; ok && pd < f.depth {\n\t\t\tcycleFound = true\n\t\t\tindirects--\n\t\t\tbreak\n\t\t}\n\t\tf.pointers[addr] = f.depth\n\n\t\tve = ve.Elem()\n\t\tif ve.Kind() == reflect.Interface {\n\t\t\tif ve.IsNil() {\n\t\t\t\tnilFound = true\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tve = ve.Elem()\n\t\t}\n\t}\n\n\t// Display type or indirection level depending on flags.\n\tif showTypes && !f.ignoreNextType {\n\t\tf.fs.Write(openParenBytes)\n\t\tf.fs.Write(bytes.Repeat(asteriskBytes, indirects))\n\t\tf.fs.Write([]byte(ve.Type().String()))\n\t\tf.fs.Write(closeParenBytes)\n\t} else {\n\t\tif nilFound || cycleFound {\n\t\t\tindirects += strings.Count(ve.Type().String(), \"*\")\n\t\t}\n\t\tf.fs.Write(openAngleBytes)\n\t\tf.fs.Write([]byte(strings.Repeat(\"*\", indirects)))\n\t\tf.fs.Write(closeAngleBytes)\n\t}\n\n\t// Display pointer information depending on flags.\n\tif f.fs.Flag('+') && (len(pointerChain) > 0) {\n\t\tf.fs.Write(openParenBytes)\n\t\tfor i, addr := range pointerChain {\n\t\t\tif i > 0 {\n\t\t\t\tf.fs.Write(pointerChainBytes)\n\t\t\t}\n\t\t\tprintHexPtr(f.fs, addr)\n\t\t}\n\t\tf.fs.Write(closeParenBytes)\n\t}\n\n\t// Display dereferenced value.\n\tswitch {\n\tcase nilFound == true:\n\t\tf.fs.Write(nilAngleBytes)\n\n\tcase cycleFound == true:\n\t\tf.fs.Write(circularShortBytes)\n\n\tdefault:\n\t\tf.ignoreNextType = true\n\t\tf.format(ve)\n\t}\n}\n\n// format is the main workhorse for providing the Formatter interface.  It\n// uses the passed reflect value to figure out what kind of object we are\n// dealing with and formats it appropriately.  It is a recursive function,\n// however circular data structures are detected and handled properly.\nfunc (f *formatState) format(v reflect.Value) {\n\t// Handle invalid reflect values immediately.\n\tkind := v.Kind()\n\tif kind == reflect.Invalid {\n\t\tf.fs.Write(invalidAngleBytes)\n\t\treturn\n\t}\n\n\t// Handle pointers specially.\n\tif kind == reflect.Ptr {\n\t\tf.formatPtr(v)\n\t\treturn\n\t}\n\n\t// Print type information unless already handled elsewhere.\n\tif !f.ignoreNextType && f.fs.Flag('#') {\n\t\tf.fs.Write(openParenBytes)\n\t\tf.fs.Write([]byte(v.Type().String()))\n\t\tf.fs.Write(closeParenBytes)\n\t}\n\tf.ignoreNextType = false\n\n\t// Call Stringer/error interfaces if they exist and the handle methods\n\t// flag is enabled.\n\tif !f.cs.DisableMethods {\n\t\tif (kind != reflect.Invalid) && (kind != reflect.Interface) {\n\t\t\tif handled := handleMethods(f.cs, f.fs, v); handled {\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\t}\n\n\tswitch kind {\n\tcase reflect.Invalid:\n\t\t// Do nothing.  We should never get here since invalid has already\n\t\t// been handled above.\n\n\tcase reflect.Bool:\n\t\tprintBool(f.fs, v.Bool())\n\n\tcase reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int:\n\t\tprintInt(f.fs, v.Int(), 10)\n\n\tcase reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint:\n\t\tprintUint(f.fs, v.Uint(), 10)\n\n\tcase reflect.Float32:\n\t\tprintFloat(f.fs, v.Float(), 32)\n\n\tcase reflect.Float64:\n\t\tprintFloat(f.fs, v.Float(), 64)\n\n\tcase reflect.Complex64:\n\t\tprintComplex(f.fs, v.Complex(), 32)\n\n\tcase reflect.Complex128:\n\t\tprintComplex(f.fs, v.Complex(), 64)\n\n\tcase reflect.Slice:\n\t\tif v.IsNil() {\n\t\t\tf.fs.Write(nilAngleBytes)\n\t\t\tbreak\n\t\t}\n\t\tfallthrough\n\n\tcase reflect.Array:\n\t\tf.fs.Write(openBracketBytes)\n\t\tf.depth++\n\t\tif (f.cs.MaxDepth != 0) && (f.depth > f.cs.MaxDepth) {\n\t\t\tf.fs.Write(maxShortBytes)\n\t\t} else {\n\t\t\tnumEntries := v.Len()\n\t\t\tfor i := 0; i < numEntries; i++ {\n\t\t\t\tif i > 0 {\n\t\t\t\t\tf.fs.Write(spaceBytes)\n\t\t\t\t}\n\t\t\t\tf.ignoreNextType = true\n\t\t\t\tf.format(f.unpackValue(v.Index(i)))\n\t\t\t}\n\t\t}\n\t\tf.depth--\n\t\tf.fs.Write(closeBracketBytes)\n\n\tcase reflect.String:\n\t\tf.fs.Write([]byte(v.String()))\n\n\tcase reflect.Interface:\n\t\t// The only time we should get here is for nil interfaces due to\n\t\t// unpackValue calls.\n\t\tif v.IsNil() {\n\t\t\tf.fs.Write(nilAngleBytes)\n\t\t}\n\n\tcase reflect.Ptr:\n\t\t// Do nothing.  We should never get here since pointers have already\n\t\t// been handled above.\n\n\tcase reflect.Map:\n\t\t// nil maps should be indicated as different than empty maps\n\t\tif v.IsNil() {\n\t\t\tf.fs.Write(nilAngleBytes)\n\t\t\tbreak\n\t\t}\n\n\t\tf.fs.Write(openMapBytes)\n\t\tf.depth++\n\t\tif (f.cs.MaxDepth != 0) && (f.depth > f.cs.MaxDepth) {\n\t\t\tf.fs.Write(maxShortBytes)\n\t\t} else {\n\t\t\tkeys := v.MapKeys()\n\t\t\tif f.cs.SortKeys {\n\t\t\t\tsortValues(keys, f.cs)\n\t\t\t}\n\t\t\tfor i, key := range keys {\n\t\t\t\tif i > 0 {\n\t\t\t\t\tf.fs.Write(spaceBytes)\n\t\t\t\t}\n\t\t\t\tf.ignoreNextType = true\n\t\t\t\tf.format(f.unpackValue(key))\n\t\t\t\tf.fs.Write(colonBytes)\n\t\t\t\tf.ignoreNextType = true\n\t\t\t\tf.format(f.unpackValue(v.MapIndex(key)))\n\t\t\t}\n\t\t}\n\t\tf.depth--\n\t\tf.fs.Write(closeMapBytes)\n\n\tcase reflect.Struct:\n\t\tnumFields := v.NumField()\n\t\tf.fs.Write(openBraceBytes)\n\t\tf.depth++\n\t\tif (f.cs.MaxDepth != 0) && (f.depth > f.cs.MaxDepth) {\n\t\t\tf.fs.Write(maxShortBytes)\n\t\t} else {\n\t\t\tvt := v.Type()\n\t\t\tfor i := 0; i < numFields; i++ {\n\t\t\t\tif i > 0 {\n\t\t\t\t\tf.fs.Write(spaceBytes)\n\t\t\t\t}\n\t\t\t\tvtf := vt.Field(i)\n\t\t\t\tif f.fs.Flag('+') || f.fs.Flag('#') {\n\t\t\t\t\tf.fs.Write([]byte(vtf.Name))\n\t\t\t\t\tf.fs.Write(colonBytes)\n\t\t\t\t}\n\t\t\t\tf.format(f.unpackValue(v.Field(i)))\n\t\t\t}\n\t\t}\n\t\tf.depth--\n\t\tf.fs.Write(closeBraceBytes)\n\n\tcase reflect.Uintptr:\n\t\tprintHexPtr(f.fs, uintptr(v.Uint()))\n\n\tcase reflect.UnsafePointer, reflect.Chan, reflect.Func:\n\t\tprintHexPtr(f.fs, v.Pointer())\n\n\t// There were not any other types at the time this code was written, but\n\t// fall back to letting the default fmt package handle it if any get added.\n\tdefault:\n\t\tformat := f.buildDefaultFormat()\n\t\tif v.CanInterface() {\n\t\t\tfmt.Fprintf(f.fs, format, v.Interface())\n\t\t} else {\n\t\t\tfmt.Fprintf(f.fs, format, v.String())\n\t\t}\n\t}\n}\n\n// Format satisfies the fmt.Formatter interface. See NewFormatter for usage\n// details.\nfunc (f *formatState) Format(fs fmt.State, verb rune) {\n\tf.fs = fs\n\n\t// Use standard formatting for verbs that are not v.\n\tif verb != 'v' {\n\t\tformat := f.constructOrigFormat(verb)\n\t\tfmt.Fprintf(fs, format, f.value)\n\t\treturn\n\t}\n\n\tif f.value == nil {\n\t\tif fs.Flag('#') {\n\t\t\tfs.Write(interfaceBytes)\n\t\t}\n\t\tfs.Write(nilAngleBytes)\n\t\treturn\n\t}\n\n\tf.format(reflect.ValueOf(f.value))\n}\n\n// newFormatter is a helper function to consolidate the logic from the various\n// public methods which take varying config states.\nfunc newFormatter(cs *ConfigState, v interface{}) fmt.Formatter {\n\tfs := &formatState{value: v, cs: cs}\n\tfs.pointers = make(map[uintptr]int)\n\treturn fs\n}\n\n/*\nNewFormatter returns a custom formatter that satisfies the fmt.Formatter\ninterface.  As a result, it integrates cleanly with standard fmt package\nprinting functions.  The formatter is useful for inline printing of smaller data\ntypes similar to the standard %v format specifier.\n\nThe custom formatter only responds to the %v (most compact), %+v (adds pointer\naddresses), %#v (adds types), or %#+v (adds types and pointer addresses) verb\ncombinations.  Any other verbs such as %x and %q will be sent to the the\nstandard fmt package for formatting.  In addition, the custom formatter ignores\nthe width and precision arguments (however they will still work on the format\nspecifiers not handled by the custom formatter).\n\nTypically this function shouldn't be called directly.  It is much easier to make\nuse of the custom formatter by calling one of the convenience functions such as\nPrintf, Println, or Fprintf.\n*/\nfunc NewFormatter(v interface{}) fmt.Formatter {\n\treturn newFormatter(&Config, v)\n}\n"
  },
  {
    "path": "vendor/github.com/davecgh/go-spew/spew/spew.go",
    "content": "/*\n * Copyright (c) 2013-2016 Dave Collins <dave@davec.name>\n *\n * Permission to use, copy, modify, and distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n */\n\npackage spew\n\nimport (\n\t\"fmt\"\n\t\"io\"\n)\n\n// Errorf is a wrapper for fmt.Errorf that treats each argument as if it were\n// passed with a default Formatter interface returned by NewFormatter.  It\n// returns the formatted string as a value that satisfies error.  See\n// NewFormatter for formatting details.\n//\n// This function is shorthand for the following syntax:\n//\n//\tfmt.Errorf(format, spew.NewFormatter(a), spew.NewFormatter(b))\nfunc Errorf(format string, a ...interface{}) (err error) {\n\treturn fmt.Errorf(format, convertArgs(a)...)\n}\n\n// Fprint is a wrapper for fmt.Fprint that treats each argument as if it were\n// passed with a default Formatter interface returned by NewFormatter.  It\n// returns the number of bytes written and any write error encountered.  See\n// NewFormatter for formatting details.\n//\n// This function is shorthand for the following syntax:\n//\n//\tfmt.Fprint(w, spew.NewFormatter(a), spew.NewFormatter(b))\nfunc Fprint(w io.Writer, a ...interface{}) (n int, err error) {\n\treturn fmt.Fprint(w, convertArgs(a)...)\n}\n\n// Fprintf is a wrapper for fmt.Fprintf that treats each argument as if it were\n// passed with a default Formatter interface returned by NewFormatter.  It\n// returns the number of bytes written and any write error encountered.  See\n// NewFormatter for formatting details.\n//\n// This function is shorthand for the following syntax:\n//\n//\tfmt.Fprintf(w, format, spew.NewFormatter(a), spew.NewFormatter(b))\nfunc Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error) {\n\treturn fmt.Fprintf(w, format, convertArgs(a)...)\n}\n\n// Fprintln is a wrapper for fmt.Fprintln that treats each argument as if it\n// passed with a default Formatter interface returned by NewFormatter.  See\n// NewFormatter for formatting details.\n//\n// This function is shorthand for the following syntax:\n//\n//\tfmt.Fprintln(w, spew.NewFormatter(a), spew.NewFormatter(b))\nfunc Fprintln(w io.Writer, a ...interface{}) (n int, err error) {\n\treturn fmt.Fprintln(w, convertArgs(a)...)\n}\n\n// Print is a wrapper for fmt.Print that treats each argument as if it were\n// passed with a default Formatter interface returned by NewFormatter.  It\n// returns the number of bytes written and any write error encountered.  See\n// NewFormatter for formatting details.\n//\n// This function is shorthand for the following syntax:\n//\n//\tfmt.Print(spew.NewFormatter(a), spew.NewFormatter(b))\nfunc Print(a ...interface{}) (n int, err error) {\n\treturn fmt.Print(convertArgs(a)...)\n}\n\n// Printf is a wrapper for fmt.Printf that treats each argument as if it were\n// passed with a default Formatter interface returned by NewFormatter.  It\n// returns the number of bytes written and any write error encountered.  See\n// NewFormatter for formatting details.\n//\n// This function is shorthand for the following syntax:\n//\n//\tfmt.Printf(format, spew.NewFormatter(a), spew.NewFormatter(b))\nfunc Printf(format string, a ...interface{}) (n int, err error) {\n\treturn fmt.Printf(format, convertArgs(a)...)\n}\n\n// Println is a wrapper for fmt.Println that treats each argument as if it were\n// passed with a default Formatter interface returned by NewFormatter.  It\n// returns the number of bytes written and any write error encountered.  See\n// NewFormatter for formatting details.\n//\n// This function is shorthand for the following syntax:\n//\n//\tfmt.Println(spew.NewFormatter(a), spew.NewFormatter(b))\nfunc Println(a ...interface{}) (n int, err error) {\n\treturn fmt.Println(convertArgs(a)...)\n}\n\n// Sprint is a wrapper for fmt.Sprint that treats each argument as if it were\n// passed with a default Formatter interface returned by NewFormatter.  It\n// returns the resulting string.  See NewFormatter for formatting details.\n//\n// This function is shorthand for the following syntax:\n//\n//\tfmt.Sprint(spew.NewFormatter(a), spew.NewFormatter(b))\nfunc Sprint(a ...interface{}) string {\n\treturn fmt.Sprint(convertArgs(a)...)\n}\n\n// Sprintf is a wrapper for fmt.Sprintf that treats each argument as if it were\n// passed with a default Formatter interface returned by NewFormatter.  It\n// returns the resulting string.  See NewFormatter for formatting details.\n//\n// This function is shorthand for the following syntax:\n//\n//\tfmt.Sprintf(format, spew.NewFormatter(a), spew.NewFormatter(b))\nfunc Sprintf(format string, a ...interface{}) string {\n\treturn fmt.Sprintf(format, convertArgs(a)...)\n}\n\n// Sprintln is a wrapper for fmt.Sprintln that treats each argument as if it\n// were passed with a default Formatter interface returned by NewFormatter.  It\n// returns the resulting string.  See NewFormatter for formatting details.\n//\n// This function is shorthand for the following syntax:\n//\n//\tfmt.Sprintln(spew.NewFormatter(a), spew.NewFormatter(b))\nfunc Sprintln(a ...interface{}) string {\n\treturn fmt.Sprintln(convertArgs(a)...)\n}\n\n// convertArgs accepts a slice of arguments and returns a slice of the same\n// length with each argument converted to a default spew Formatter interface.\nfunc convertArgs(args []interface{}) (formatters []interface{}) {\n\tformatters = make([]interface{}, len(args))\n\tfor index, arg := range args {\n\t\tformatters[index] = NewFormatter(arg)\n\t}\n\treturn formatters\n}\n"
  },
  {
    "path": "vendor/github.com/fatih/color/.travis.yml",
    "content": "language: go\ngo: \n - 1.8.x\n - tip\n\n"
  },
  {
    "path": "vendor/github.com/fatih/color/Gopkg.toml",
    "content": "\n# Gopkg.toml example\n#\n# Refer to https://github.com/golang/dep/blob/master/docs/Gopkg.toml.md\n# for detailed Gopkg.toml documentation.\n#\n# required = [\"github.com/user/thing/cmd/thing\"]\n# ignored = [\"github.com/user/project/pkgX\", \"bitbucket.org/user/project/pkgA/pkgY\"]\n#\n# [[constraint]]\n#   name = \"github.com/user/project\"\n#   version = \"1.0.0\"\n#\n# [[constraint]]\n#   name = \"github.com/user/project2\"\n#   branch = \"dev\"\n#   source = \"github.com/myfork/project2\"\n#\n# [[override]]\n#  name = \"github.com/x/y\"\n#  version = \"2.4.0\"\n\n\n[[constraint]]\n  name = \"github.com/mattn/go-colorable\"\n  version = \"0.0.9\"\n\n[[constraint]]\n  name = \"github.com/mattn/go-isatty\"\n  version = \"0.0.3\"\n"
  },
  {
    "path": "vendor/github.com/fatih/color/LICENSE.md",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2013 Fatih Arslan\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"
  },
  {
    "path": "vendor/github.com/fatih/color/README.md",
    "content": "# Color [![GoDoc](https://godoc.org/github.com/fatih/color?status.svg)](https://godoc.org/github.com/fatih/color) [![Build Status](https://img.shields.io/travis/fatih/color.svg?style=flat-square)](https://travis-ci.org/fatih/color)\n\n\n\nColor lets you use colorized outputs in terms of [ANSI Escape\nCodes](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors) in Go (Golang). It\nhas support for Windows too! The API can be used in several ways, pick one that\nsuits you.\n\n\n![Color](https://i.imgur.com/c1JI0lA.png)\n\n\n## Install\n\n```bash\ngo get github.com/fatih/color\n```\n\nNote that the `vendor` folder is here for stability. Remove the folder if you\nalready have the dependencies in your GOPATH.\n\n## Examples\n\n### Standard colors\n\n```go\n// Print with default helper functions\ncolor.Cyan(\"Prints text in cyan.\")\n\n// A newline will be appended automatically\ncolor.Blue(\"Prints %s in blue.\", \"text\")\n\n// These are using the default foreground colors\ncolor.Red(\"We have red\")\ncolor.Magenta(\"And many others ..\")\n\n```\n\n### Mix and reuse colors\n\n```go\n// Create a new color object\nc := color.New(color.FgCyan).Add(color.Underline)\nc.Println(\"Prints cyan text with an underline.\")\n\n// Or just add them to New()\nd := color.New(color.FgCyan, color.Bold)\nd.Printf(\"This prints bold cyan %s\\n\", \"too!.\")\n\n// Mix up foreground and background colors, create new mixes!\nred := color.New(color.FgRed)\n\nboldRed := red.Add(color.Bold)\nboldRed.Println(\"This will print text in bold red.\")\n\nwhiteBackground := red.Add(color.BgWhite)\nwhiteBackground.Println(\"Red text with white background.\")\n```\n\n### Use your own output (io.Writer)\n\n```go\n// Use your own io.Writer output\ncolor.New(color.FgBlue).Fprintln(myWriter, \"blue color!\")\n\nblue := color.New(color.FgBlue)\nblue.Fprint(writer, \"This will print text in blue.\")\n```\n\n### Custom print functions (PrintFunc)\n\n```go\n// Create a custom print function for convenience\nred := color.New(color.FgRed).PrintfFunc()\nred(\"Warning\")\nred(\"Error: %s\", err)\n\n// Mix up multiple attributes\nnotice := color.New(color.Bold, color.FgGreen).PrintlnFunc()\nnotice(\"Don't forget this...\")\n```\n\n### Custom fprint functions (FprintFunc)\n\n```go\nblue := color.New(FgBlue).FprintfFunc()\nblue(myWriter, \"important notice: %s\", stars)\n\n// Mix up with multiple attributes\nsuccess := color.New(color.Bold, color.FgGreen).FprintlnFunc()\nsuccess(myWriter, \"Don't forget this...\")\n```\n\n### Insert into noncolor strings (SprintFunc)\n\n```go\n// Create SprintXxx functions to mix strings with other non-colorized strings:\nyellow := color.New(color.FgYellow).SprintFunc()\nred := color.New(color.FgRed).SprintFunc()\nfmt.Printf(\"This is a %s and this is %s.\\n\", yellow(\"warning\"), red(\"error\"))\n\ninfo := color.New(color.FgWhite, color.BgGreen).SprintFunc()\nfmt.Printf(\"This %s rocks!\\n\", info(\"package\"))\n\n// Use helper functions\nfmt.Println(\"This\", color.RedString(\"warning\"), \"should be not neglected.\")\nfmt.Printf(\"%v %v\\n\", color.GreenString(\"Info:\"), \"an important message.\")\n\n// Windows supported too! Just don't forget to change the output to color.Output\nfmt.Fprintf(color.Output, \"Windows support: %s\", color.GreenString(\"PASS\"))\n```\n\n### Plug into existing code\n\n```go\n// Use handy standard colors\ncolor.Set(color.FgYellow)\n\nfmt.Println(\"Existing text will now be in yellow\")\nfmt.Printf(\"This one %s\\n\", \"too\")\n\ncolor.Unset() // Don't forget to unset\n\n// You can mix up parameters\ncolor.Set(color.FgMagenta, color.Bold)\ndefer color.Unset() // Use it in your function\n\nfmt.Println(\"All text will now be bold magenta.\")\n```\n\n### Disable/Enable color\n \nThere might be a case where you want to explicitly disable/enable color output. the \n`go-isatty` package will automatically disable color output for non-tty output streams \n(for example if the output were piped directly to `less`)\n\n`Color` has support to disable/enable colors both globally and for single color \ndefinitions. For example suppose you have a CLI app and a `--no-color` bool flag. You \ncan easily disable the color output with:\n\n```go\n\nvar flagNoColor = flag.Bool(\"no-color\", false, \"Disable color output\")\n\nif *flagNoColor {\n\tcolor.NoColor = true // disables colorized output\n}\n```\n\nIt also has support for single color definitions (local). You can\ndisable/enable color output on the fly:\n\n```go\nc := color.New(color.FgCyan)\nc.Println(\"Prints cyan text\")\n\nc.DisableColor()\nc.Println(\"This is printed without any color\")\n\nc.EnableColor()\nc.Println(\"This prints again cyan...\")\n```\n\n## Todo\n\n* Save/Return previous values\n* Evaluate fmt.Formatter interface\n\n\n## Credits\n\n * [Fatih Arslan](https://github.com/fatih)\n * Windows support via @mattn: [colorable](https://github.com/mattn/go-colorable)\n\n## License\n\nThe MIT License (MIT) - see [`LICENSE.md`](https://github.com/fatih/color/blob/master/LICENSE.md) for more details\n\n"
  },
  {
    "path": "vendor/github.com/fatih/color/color.go",
    "content": "package color\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"os\"\n\t\"strconv\"\n\t\"strings\"\n\t\"sync\"\n\n\t\"github.com/mattn/go-colorable\"\n\t\"github.com/mattn/go-isatty\"\n)\n\nvar (\n\t// NoColor defines if the output is colorized or not. It's dynamically set to\n\t// false or true based on the stdout's file descriptor referring to a terminal\n\t// or not. This is a global option and affects all colors. For more control\n\t// over each color block use the methods DisableColor() individually.\n\tNoColor = os.Getenv(\"TERM\") == \"dumb\" ||\n\t\t(!isatty.IsTerminal(os.Stdout.Fd()) && !isatty.IsCygwinTerminal(os.Stdout.Fd()))\n\n\t// Output defines the standard output of the print functions. By default\n\t// os.Stdout is used.\n\tOutput = colorable.NewColorableStdout()\n\n\t// Error defines a color supporting writer for os.Stderr.\n\tError = colorable.NewColorableStderr()\n\n\t// colorsCache is used to reduce the count of created Color objects and\n\t// allows to reuse already created objects with required Attribute.\n\tcolorsCache   = make(map[Attribute]*Color)\n\tcolorsCacheMu sync.Mutex // protects colorsCache\n)\n\n// Color defines a custom color object which is defined by SGR parameters.\ntype Color struct {\n\tparams  []Attribute\n\tnoColor *bool\n}\n\n// Attribute defines a single SGR Code\ntype Attribute int\n\nconst escape = \"\\x1b\"\n\n// Base attributes\nconst (\n\tReset Attribute = iota\n\tBold\n\tFaint\n\tItalic\n\tUnderline\n\tBlinkSlow\n\tBlinkRapid\n\tReverseVideo\n\tConcealed\n\tCrossedOut\n)\n\n// Foreground text colors\nconst (\n\tFgBlack Attribute = iota + 30\n\tFgRed\n\tFgGreen\n\tFgYellow\n\tFgBlue\n\tFgMagenta\n\tFgCyan\n\tFgWhite\n)\n\n// Foreground Hi-Intensity text colors\nconst (\n\tFgHiBlack Attribute = iota + 90\n\tFgHiRed\n\tFgHiGreen\n\tFgHiYellow\n\tFgHiBlue\n\tFgHiMagenta\n\tFgHiCyan\n\tFgHiWhite\n)\n\n// Background text colors\nconst (\n\tBgBlack Attribute = iota + 40\n\tBgRed\n\tBgGreen\n\tBgYellow\n\tBgBlue\n\tBgMagenta\n\tBgCyan\n\tBgWhite\n)\n\n// Background Hi-Intensity text colors\nconst (\n\tBgHiBlack Attribute = iota + 100\n\tBgHiRed\n\tBgHiGreen\n\tBgHiYellow\n\tBgHiBlue\n\tBgHiMagenta\n\tBgHiCyan\n\tBgHiWhite\n)\n\n// New returns a newly created color object.\nfunc New(value ...Attribute) *Color {\n\tc := &Color{params: make([]Attribute, 0)}\n\tc.Add(value...)\n\treturn c\n}\n\n// Set sets the given parameters immediately. It will change the color of\n// output with the given SGR parameters until color.Unset() is called.\nfunc Set(p ...Attribute) *Color {\n\tc := New(p...)\n\tc.Set()\n\treturn c\n}\n\n// Unset resets all escape attributes and clears the output. Usually should\n// be called after Set().\nfunc Unset() {\n\tif NoColor {\n\t\treturn\n\t}\n\n\tfmt.Fprintf(Output, \"%s[%dm\", escape, Reset)\n}\n\n// Set sets the SGR sequence.\nfunc (c *Color) Set() *Color {\n\tif c.isNoColorSet() {\n\t\treturn c\n\t}\n\n\tfmt.Fprintf(Output, c.format())\n\treturn c\n}\n\nfunc (c *Color) unset() {\n\tif c.isNoColorSet() {\n\t\treturn\n\t}\n\n\tUnset()\n}\n\nfunc (c *Color) setWriter(w io.Writer) *Color {\n\tif c.isNoColorSet() {\n\t\treturn c\n\t}\n\n\tfmt.Fprintf(w, c.format())\n\treturn c\n}\n\nfunc (c *Color) unsetWriter(w io.Writer) {\n\tif c.isNoColorSet() {\n\t\treturn\n\t}\n\n\tif NoColor {\n\t\treturn\n\t}\n\n\tfmt.Fprintf(w, \"%s[%dm\", escape, Reset)\n}\n\n// Add is used to chain SGR parameters. Use as many as parameters to combine\n// and create custom color objects. Example: Add(color.FgRed, color.Underline).\nfunc (c *Color) Add(value ...Attribute) *Color {\n\tc.params = append(c.params, value...)\n\treturn c\n}\n\nfunc (c *Color) prepend(value Attribute) {\n\tc.params = append(c.params, 0)\n\tcopy(c.params[1:], c.params[0:])\n\tc.params[0] = value\n}\n\n// Fprint formats using the default formats for its operands and writes to w.\n// Spaces are added between operands when neither is a string.\n// It returns the number of bytes written and any write error encountered.\n// On Windows, users should wrap w with colorable.NewColorable() if w is of\n// type *os.File.\nfunc (c *Color) Fprint(w io.Writer, a ...interface{}) (n int, err error) {\n\tc.setWriter(w)\n\tdefer c.unsetWriter(w)\n\n\treturn fmt.Fprint(w, a...)\n}\n\n// Print formats using the default formats for its operands and writes to\n// standard output. Spaces are added between operands when neither is a\n// string. It returns the number of bytes written and any write error\n// encountered. This is the standard fmt.Print() method wrapped with the given\n// color.\nfunc (c *Color) Print(a ...interface{}) (n int, err error) {\n\tc.Set()\n\tdefer c.unset()\n\n\treturn fmt.Fprint(Output, a...)\n}\n\n// Fprintf formats according to a format specifier and writes to w.\n// It returns the number of bytes written and any write error encountered.\n// On Windows, users should wrap w with colorable.NewColorable() if w is of\n// type *os.File.\nfunc (c *Color) Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error) {\n\tc.setWriter(w)\n\tdefer c.unsetWriter(w)\n\n\treturn fmt.Fprintf(w, format, a...)\n}\n\n// Printf formats according to a format specifier and writes to standard output.\n// It returns the number of bytes written and any write error encountered.\n// This is the standard fmt.Printf() method wrapped with the given color.\nfunc (c *Color) Printf(format string, a ...interface{}) (n int, err error) {\n\tc.Set()\n\tdefer c.unset()\n\n\treturn fmt.Fprintf(Output, format, a...)\n}\n\n// Fprintln formats using the default formats for its operands and writes to w.\n// Spaces are always added between operands and a newline is appended.\n// On Windows, users should wrap w with colorable.NewColorable() if w is of\n// type *os.File.\nfunc (c *Color) Fprintln(w io.Writer, a ...interface{}) (n int, err error) {\n\tc.setWriter(w)\n\tdefer c.unsetWriter(w)\n\n\treturn fmt.Fprintln(w, a...)\n}\n\n// Println formats using the default formats for its operands and writes to\n// standard output. Spaces are always added between operands and a newline is\n// appended. It returns the number of bytes written and any write error\n// encountered. This is the standard fmt.Print() method wrapped with the given\n// color.\nfunc (c *Color) Println(a ...interface{}) (n int, err error) {\n\tc.Set()\n\tdefer c.unset()\n\n\treturn fmt.Fprintln(Output, a...)\n}\n\n// Sprint is just like Print, but returns a string instead of printing it.\nfunc (c *Color) Sprint(a ...interface{}) string {\n\treturn c.wrap(fmt.Sprint(a...))\n}\n\n// Sprintln is just like Println, but returns a string instead of printing it.\nfunc (c *Color) Sprintln(a ...interface{}) string {\n\treturn c.wrap(fmt.Sprintln(a...))\n}\n\n// Sprintf is just like Printf, but returns a string instead of printing it.\nfunc (c *Color) Sprintf(format string, a ...interface{}) string {\n\treturn c.wrap(fmt.Sprintf(format, a...))\n}\n\n// FprintFunc returns a new function that prints the passed arguments as\n// colorized with color.Fprint().\nfunc (c *Color) FprintFunc() func(w io.Writer, a ...interface{}) {\n\treturn func(w io.Writer, a ...interface{}) {\n\t\tc.Fprint(w, a...)\n\t}\n}\n\n// PrintFunc returns a new function that prints the passed arguments as\n// colorized with color.Print().\nfunc (c *Color) PrintFunc() func(a ...interface{}) {\n\treturn func(a ...interface{}) {\n\t\tc.Print(a...)\n\t}\n}\n\n// FprintfFunc returns a new function that prints the passed arguments as\n// colorized with color.Fprintf().\nfunc (c *Color) FprintfFunc() func(w io.Writer, format string, a ...interface{}) {\n\treturn func(w io.Writer, format string, a ...interface{}) {\n\t\tc.Fprintf(w, format, a...)\n\t}\n}\n\n// PrintfFunc returns a new function that prints the passed arguments as\n// colorized with color.Printf().\nfunc (c *Color) PrintfFunc() func(format string, a ...interface{}) {\n\treturn func(format string, a ...interface{}) {\n\t\tc.Printf(format, a...)\n\t}\n}\n\n// FprintlnFunc returns a new function that prints the passed arguments as\n// colorized with color.Fprintln().\nfunc (c *Color) FprintlnFunc() func(w io.Writer, a ...interface{}) {\n\treturn func(w io.Writer, a ...interface{}) {\n\t\tc.Fprintln(w, a...)\n\t}\n}\n\n// PrintlnFunc returns a new function that prints the passed arguments as\n// colorized with color.Println().\nfunc (c *Color) PrintlnFunc() func(a ...interface{}) {\n\treturn func(a ...interface{}) {\n\t\tc.Println(a...)\n\t}\n}\n\n// SprintFunc returns a new function that returns colorized strings for the\n// given arguments with fmt.Sprint(). Useful to put into or mix into other\n// string. Windows users should use this in conjunction with color.Output, example:\n//\n//\tput := New(FgYellow).SprintFunc()\n//\tfmt.Fprintf(color.Output, \"This is a %s\", put(\"warning\"))\nfunc (c *Color) SprintFunc() func(a ...interface{}) string {\n\treturn func(a ...interface{}) string {\n\t\treturn c.wrap(fmt.Sprint(a...))\n\t}\n}\n\n// SprintfFunc returns a new function that returns colorized strings for the\n// given arguments with fmt.Sprintf(). Useful to put into or mix into other\n// string. Windows users should use this in conjunction with color.Output.\nfunc (c *Color) SprintfFunc() func(format string, a ...interface{}) string {\n\treturn func(format string, a ...interface{}) string {\n\t\treturn c.wrap(fmt.Sprintf(format, a...))\n\t}\n}\n\n// SprintlnFunc returns a new function that returns colorized strings for the\n// given arguments with fmt.Sprintln(). Useful to put into or mix into other\n// string. Windows users should use this in conjunction with color.Output.\nfunc (c *Color) SprintlnFunc() func(a ...interface{}) string {\n\treturn func(a ...interface{}) string {\n\t\treturn c.wrap(fmt.Sprintln(a...))\n\t}\n}\n\n// sequence returns a formatted SGR sequence to be plugged into a \"\\x1b[...m\"\n// an example output might be: \"1;36\" -> bold cyan\nfunc (c *Color) sequence() string {\n\tformat := make([]string, len(c.params))\n\tfor i, v := range c.params {\n\t\tformat[i] = strconv.Itoa(int(v))\n\t}\n\n\treturn strings.Join(format, \";\")\n}\n\n// wrap wraps the s string with the colors attributes. The string is ready to\n// be printed.\nfunc (c *Color) wrap(s string) string {\n\tif c.isNoColorSet() {\n\t\treturn s\n\t}\n\n\treturn c.format() + s + c.unformat()\n}\n\nfunc (c *Color) format() string {\n\treturn fmt.Sprintf(\"%s[%sm\", escape, c.sequence())\n}\n\nfunc (c *Color) unformat() string {\n\treturn fmt.Sprintf(\"%s[%dm\", escape, Reset)\n}\n\n// DisableColor disables the color output. Useful to not change any existing\n// code and still being able to output. Can be used for flags like\n// \"--no-color\". To enable back use EnableColor() method.\nfunc (c *Color) DisableColor() {\n\tc.noColor = boolPtr(true)\n}\n\n// EnableColor enables the color output. Use it in conjunction with\n// DisableColor(). Otherwise this method has no side effects.\nfunc (c *Color) EnableColor() {\n\tc.noColor = boolPtr(false)\n}\n\nfunc (c *Color) isNoColorSet() bool {\n\t// check first if we have user setted action\n\tif c.noColor != nil {\n\t\treturn *c.noColor\n\t}\n\n\t// if not return the global option, which is disabled by default\n\treturn NoColor\n}\n\n// Equals returns a boolean value indicating whether two colors are equal.\nfunc (c *Color) Equals(c2 *Color) bool {\n\tif len(c.params) != len(c2.params) {\n\t\treturn false\n\t}\n\n\tfor _, attr := range c.params {\n\t\tif !c2.attrExists(attr) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\treturn true\n}\n\nfunc (c *Color) attrExists(a Attribute) bool {\n\tfor _, attr := range c.params {\n\t\tif attr == a {\n\t\t\treturn true\n\t\t}\n\t}\n\n\treturn false\n}\n\nfunc boolPtr(v bool) *bool {\n\treturn &v\n}\n\nfunc getCachedColor(p Attribute) *Color {\n\tcolorsCacheMu.Lock()\n\tdefer colorsCacheMu.Unlock()\n\n\tc, ok := colorsCache[p]\n\tif !ok {\n\t\tc = New(p)\n\t\tcolorsCache[p] = c\n\t}\n\n\treturn c\n}\n\nfunc colorPrint(format string, p Attribute, a ...interface{}) {\n\tc := getCachedColor(p)\n\n\tif !strings.HasSuffix(format, \"\\n\") {\n\t\tformat += \"\\n\"\n\t}\n\n\tif len(a) == 0 {\n\t\tc.Print(format)\n\t} else {\n\t\tc.Printf(format, a...)\n\t}\n}\n\nfunc colorString(format string, p Attribute, a ...interface{}) string {\n\tc := getCachedColor(p)\n\n\tif len(a) == 0 {\n\t\treturn c.SprintFunc()(format)\n\t}\n\n\treturn c.SprintfFunc()(format, a...)\n}\n\n// Black is a convenient helper function to print with black foreground. A\n// newline is appended to format by default.\nfunc Black(format string, a ...interface{}) { colorPrint(format, FgBlack, a...) }\n\n// Red is a convenient helper function to print with red foreground. A\n// newline is appended to format by default.\nfunc Red(format string, a ...interface{}) { colorPrint(format, FgRed, a...) }\n\n// Green is a convenient helper function to print with green foreground. A\n// newline is appended to format by default.\nfunc Green(format string, a ...interface{}) { colorPrint(format, FgGreen, a...) }\n\n// Yellow is a convenient helper function to print with yellow foreground.\n// A newline is appended to format by default.\nfunc Yellow(format string, a ...interface{}) { colorPrint(format, FgYellow, a...) }\n\n// Blue is a convenient helper function to print with blue foreground. A\n// newline is appended to format by default.\nfunc Blue(format string, a ...interface{}) { colorPrint(format, FgBlue, a...) }\n\n// Magenta is a convenient helper function to print with magenta foreground.\n// A newline is appended to format by default.\nfunc Magenta(format string, a ...interface{}) { colorPrint(format, FgMagenta, a...) }\n\n// Cyan is a convenient helper function to print with cyan foreground. A\n// newline is appended to format by default.\nfunc Cyan(format string, a ...interface{}) { colorPrint(format, FgCyan, a...) }\n\n// White is a convenient helper function to print with white foreground. A\n// newline is appended to format by default.\nfunc White(format string, a ...interface{}) { colorPrint(format, FgWhite, a...) }\n\n// BlackString is a convenient helper function to return a string with black\n// foreground.\nfunc BlackString(format string, a ...interface{}) string { return colorString(format, FgBlack, a...) }\n\n// RedString is a convenient helper function to return a string with red\n// foreground.\nfunc RedString(format string, a ...interface{}) string { return colorString(format, FgRed, a...) }\n\n// GreenString is a convenient helper function to return a string with green\n// foreground.\nfunc GreenString(format string, a ...interface{}) string { return colorString(format, FgGreen, a...) }\n\n// YellowString is a convenient helper function to return a string with yellow\n// foreground.\nfunc YellowString(format string, a ...interface{}) string { return colorString(format, FgYellow, a...) }\n\n// BlueString is a convenient helper function to return a string with blue\n// foreground.\nfunc BlueString(format string, a ...interface{}) string { return colorString(format, FgBlue, a...) }\n\n// MagentaString is a convenient helper function to return a string with magenta\n// foreground.\nfunc MagentaString(format string, a ...interface{}) string {\n\treturn colorString(format, FgMagenta, a...)\n}\n\n// CyanString is a convenient helper function to return a string with cyan\n// foreground.\nfunc CyanString(format string, a ...interface{}) string { return colorString(format, FgCyan, a...) }\n\n// WhiteString is a convenient helper function to return a string with white\n// foreground.\nfunc WhiteString(format string, a ...interface{}) string { return colorString(format, FgWhite, a...) }\n\n// HiBlack is a convenient helper function to print with hi-intensity black foreground. A\n// newline is appended to format by default.\nfunc HiBlack(format string, a ...interface{}) { colorPrint(format, FgHiBlack, a...) }\n\n// HiRed is a convenient helper function to print with hi-intensity red foreground. A\n// newline is appended to format by default.\nfunc HiRed(format string, a ...interface{}) { colorPrint(format, FgHiRed, a...) }\n\n// HiGreen is a convenient helper function to print with hi-intensity green foreground. A\n// newline is appended to format by default.\nfunc HiGreen(format string, a ...interface{}) { colorPrint(format, FgHiGreen, a...) }\n\n// HiYellow is a convenient helper function to print with hi-intensity yellow foreground.\n// A newline is appended to format by default.\nfunc HiYellow(format string, a ...interface{}) { colorPrint(format, FgHiYellow, a...) }\n\n// HiBlue is a convenient helper function to print with hi-intensity blue foreground. A\n// newline is appended to format by default.\nfunc HiBlue(format string, a ...interface{}) { colorPrint(format, FgHiBlue, a...) }\n\n// HiMagenta is a convenient helper function to print with hi-intensity magenta foreground.\n// A newline is appended to format by default.\nfunc HiMagenta(format string, a ...interface{}) { colorPrint(format, FgHiMagenta, a...) }\n\n// HiCyan is a convenient helper function to print with hi-intensity cyan foreground. A\n// newline is appended to format by default.\nfunc HiCyan(format string, a ...interface{}) { colorPrint(format, FgHiCyan, a...) }\n\n// HiWhite is a convenient helper function to print with hi-intensity white foreground. A\n// newline is appended to format by default.\nfunc HiWhite(format string, a ...interface{}) { colorPrint(format, FgHiWhite, a...) }\n\n// HiBlackString is a convenient helper function to return a string with hi-intensity black\n// foreground.\nfunc HiBlackString(format string, a ...interface{}) string {\n\treturn colorString(format, FgHiBlack, a...)\n}\n\n// HiRedString is a convenient helper function to return a string with hi-intensity red\n// foreground.\nfunc HiRedString(format string, a ...interface{}) string { return colorString(format, FgHiRed, a...) }\n\n// HiGreenString is a convenient helper function to return a string with hi-intensity green\n// foreground.\nfunc HiGreenString(format string, a ...interface{}) string {\n\treturn colorString(format, FgHiGreen, a...)\n}\n\n// HiYellowString is a convenient helper function to return a string with hi-intensity yellow\n// foreground.\nfunc HiYellowString(format string, a ...interface{}) string {\n\treturn colorString(format, FgHiYellow, a...)\n}\n\n// HiBlueString is a convenient helper function to return a string with hi-intensity blue\n// foreground.\nfunc HiBlueString(format string, a ...interface{}) string { return colorString(format, FgHiBlue, a...) }\n\n// HiMagentaString is a convenient helper function to return a string with hi-intensity magenta\n// foreground.\nfunc HiMagentaString(format string, a ...interface{}) string {\n\treturn colorString(format, FgHiMagenta, a...)\n}\n\n// HiCyanString is a convenient helper function to return a string with hi-intensity cyan\n// foreground.\nfunc HiCyanString(format string, a ...interface{}) string { return colorString(format, FgHiCyan, a...) }\n\n// HiWhiteString is a convenient helper function to return a string with hi-intensity white\n// foreground.\nfunc HiWhiteString(format string, a ...interface{}) string {\n\treturn colorString(format, FgHiWhite, a...)\n}\n"
  },
  {
    "path": "vendor/github.com/fatih/color/doc.go",
    "content": "/*\nPackage color is an ANSI color package to output colorized or SGR defined\noutput to the standard output. The API can be used in several way, pick one\nthat suits you.\n\nUse simple and default helper functions with predefined foreground colors:\n\n    color.Cyan(\"Prints text in cyan.\")\n\n    // a newline will be appended automatically\n    color.Blue(\"Prints %s in blue.\", \"text\")\n\n    // More default foreground colors..\n    color.Red(\"We have red\")\n    color.Yellow(\"Yellow color too!\")\n    color.Magenta(\"And many others ..\")\n\n    // Hi-intensity colors\n    color.HiGreen(\"Bright green color.\")\n    color.HiBlack(\"Bright black means gray..\")\n    color.HiWhite(\"Shiny white color!\")\n\nHowever there are times where custom color mixes are required. Below are some\nexamples to create custom color objects and use the print functions of each\nseparate color object.\n\n    // Create a new color object\n    c := color.New(color.FgCyan).Add(color.Underline)\n    c.Println(\"Prints cyan text with an underline.\")\n\n    // Or just add them to New()\n    d := color.New(color.FgCyan, color.Bold)\n    d.Printf(\"This prints bold cyan %s\\n\", \"too!.\")\n\n\n    // Mix up foreground and background colors, create new mixes!\n    red := color.New(color.FgRed)\n\n    boldRed := red.Add(color.Bold)\n    boldRed.Println(\"This will print text in bold red.\")\n\n    whiteBackground := red.Add(color.BgWhite)\n    whiteBackground.Println(\"Red text with White background.\")\n\n    // Use your own io.Writer output\n    color.New(color.FgBlue).Fprintln(myWriter, \"blue color!\")\n\n    blue := color.New(color.FgBlue)\n    blue.Fprint(myWriter, \"This will print text in blue.\")\n\nYou can create PrintXxx functions to simplify even more:\n\n    // Create a custom print function for convenient\n    red := color.New(color.FgRed).PrintfFunc()\n    red(\"warning\")\n    red(\"error: %s\", err)\n\n    // Mix up multiple attributes\n    notice := color.New(color.Bold, color.FgGreen).PrintlnFunc()\n    notice(\"don't forget this...\")\n\nYou can also FprintXxx functions to pass your own io.Writer:\n\n    blue := color.New(FgBlue).FprintfFunc()\n    blue(myWriter, \"important notice: %s\", stars)\n\n    // Mix up with multiple attributes\n    success := color.New(color.Bold, color.FgGreen).FprintlnFunc()\n    success(myWriter, don't forget this...\")\n\n\nOr create SprintXxx functions to mix strings with other non-colorized strings:\n\n    yellow := New(FgYellow).SprintFunc()\n    red := New(FgRed).SprintFunc()\n\n    fmt.Printf(\"this is a %s and this is %s.\\n\", yellow(\"warning\"), red(\"error\"))\n\n    info := New(FgWhite, BgGreen).SprintFunc()\n    fmt.Printf(\"this %s rocks!\\n\", info(\"package\"))\n\nWindows support is enabled by default. All Print functions work as intended.\nHowever only for color.SprintXXX functions, user should use fmt.FprintXXX and\nset the output to color.Output:\n\n    fmt.Fprintf(color.Output, \"Windows support: %s\", color.GreenString(\"PASS\"))\n\n    info := New(FgWhite, BgGreen).SprintFunc()\n    fmt.Fprintf(color.Output, \"this %s rocks!\\n\", info(\"package\"))\n\nUsing with existing code is possible. Just use the Set() method to set the\nstandard output to the given parameters. That way a rewrite of an existing\ncode is not required.\n\n    // Use handy standard colors.\n    color.Set(color.FgYellow)\n\n    fmt.Println(\"Existing text will be now in Yellow\")\n    fmt.Printf(\"This one %s\\n\", \"too\")\n\n    color.Unset() // don't forget to unset\n\n    // You can mix up parameters\n    color.Set(color.FgMagenta, color.Bold)\n    defer color.Unset() // use it in your function\n\n    fmt.Println(\"All text will be now bold magenta.\")\n\nThere might be a case where you want to disable color output (for example to\npipe the standard output of your app to somewhere else). `Color` has support to\ndisable colors both globally and for single color definition. For example\nsuppose you have a CLI app and a `--no-color` bool flag. You can easily disable\nthe color output with:\n\n    var flagNoColor = flag.Bool(\"no-color\", false, \"Disable color output\")\n\n    if *flagNoColor {\n    \tcolor.NoColor = true // disables colorized output\n    }\n\nIt also has support for single color definitions (local). You can\ndisable/enable color output on the fly:\n\n     c := color.New(color.FgCyan)\n     c.Println(\"Prints cyan text\")\n\n     c.DisableColor()\n     c.Println(\"This is printed without any color\")\n\n     c.EnableColor()\n     c.Println(\"This prints again cyan...\")\n*/\npackage color\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/AUTHORS",
    "content": "# This is the official list of GoGo authors for copyright purposes.\n# This file is distinct from the CONTRIBUTORS file, which\n# lists people.  For example, employees are listed in CONTRIBUTORS,\n# but not in AUTHORS, because the employer holds the copyright.\n\n# Names should be added to this file as one of\n#     Organization's name\n#     Individual's name <submission email address>\n#     Individual's name <submission email address> <email2> <emailN>\n\n# Please keep the list sorted.\n\nSendgrid, Inc\nVastech SA (PTY) LTD\nWalter Schulze <awalterschulze@gmail.com>\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/CONTRIBUTORS",
    "content": "Anton Povarov <anton.povarov@gmail.com>\nBrian Goff <cpuguy83@gmail.com>\nClayton Coleman <ccoleman@redhat.com>\nDenis Smirnov <denis.smirnov.91@gmail.com>\nDongYun Kang <ceram1000@gmail.com>\nDwayne Schultz <dschultz@pivotal.io>\nGeorg Apitz <gapitz@pivotal.io>\nGustav Paul <gustav.paul@gmail.com>\nJohan Brandhorst <johan.brandhorst@gmail.com>\nJohn Shahid <jvshahid@gmail.com>\nJohn Tuley <john@tuley.org>\nLaurent <laurent@adyoulike.com>\nPatrick Lee <patrick@dropbox.com>\nPeter Edge <peter.edge@gmail.com>\nRoger Johansson <rogeralsing@gmail.com>\nSam Nguyen <sam.nguyen@sendgrid.com>\nSergio Arbeo <serabe@gmail.com>\nStephen J Day <stephen.day@docker.com>\nTamir Duberstein <tamird@gmail.com>\nTodd Eisenberger <teisenberger@dropbox.com>\nTormod Erevik Lea <tormodlea@gmail.com>\nVyacheslav Kim <kane@sendgrid.com>\nWalter Schulze <awalterschulze@gmail.com>\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/GOLANG_CONTRIBUTORS",
    "content": "The contributors to the Go protobuf repository:\n\n# This source code was written by the Go contributors.\n# The master list of contributors is in the main Go distribution,\n# visible at http://tip.golang.org/CONTRIBUTORS."
  },
  {
    "path": "vendor/github.com/gogo/protobuf/LICENSE",
    "content": "Protocol Buffers for Go with Gadgets\n\nCopyright (c) 2013, The GoGo Authors. All rights reserved.\nhttp://github.com/gogo/protobuf\n\nGo support for Protocol Buffers - Google's data interchange format\n\nCopyright 2010 The Go Authors.  All rights reserved.\nhttps://github.com/golang/protobuf\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n    * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n    * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n    * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/gogoproto/Makefile",
    "content": "# Protocol Buffers for Go with Gadgets\n#\n# Copyright (c) 2013, The GoGo Authors. All rights reserved.\n# http://github.com/gogo/protobuf\n#\n# Redistribution and use in source and binary forms, with or without\n# modification, are permitted provided that the following conditions are\n# met:\n#\n#     * Redistributions of source code must retain the above copyright\n# notice, this list of conditions and the following disclaimer.\n#     * Redistributions in binary form must reproduce the above\n# copyright notice, this list of conditions and the following disclaimer\n# in the documentation and/or other materials provided with the\n# distribution.\n#\n# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n# \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\nregenerate:\n\tgo install github.com/gogo/protobuf/protoc-gen-gogo\n\tprotoc --gogo_out=Mgoogle/protobuf/descriptor.proto=github.com/gogo/protobuf/protoc-gen-gogo/descriptor:../../../../ --proto_path=../../../../:../protobuf/:. *.proto\n\nrestore:\n\tcp gogo.pb.golden gogo.pb.go\n\npreserve:\n\tcp gogo.pb.go gogo.pb.golden\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/gogoproto/doc.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2013, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n/*\nPackage gogoproto provides extensions for protocol buffers to achieve:\n\n  - fast marshalling and unmarshalling.\n  - peace of mind by optionally generating test and benchmark code.\n  - more canonical Go structures.\n  - less typing by optionally generating extra helper code.\n  - goprotobuf compatibility\n\nMore Canonical Go Structures\n\nA lot of time working with a goprotobuf struct will lead you to a place where you create another struct that is easier to work with and then have a function to copy the values between the two structs.\nYou might also find that basic structs that started their life as part of an API need to be sent over the wire. With gob, you could just send it. With goprotobuf, you need to make a parallel struct.\nGogoprotobuf tries to fix these problems with the nullable, embed, customtype and customname field extensions.\n\n  - nullable, if false, a field is generated without a pointer (see warning below).\n  - embed, if true, the field is generated as an embedded field.\n  - customtype, It works with the Marshal and Unmarshal methods, to allow you to have your own types in your struct, but marshal to bytes. For example, custom.Uuid or custom.Fixed128\n  - customname (beta), Changes the generated fieldname. This is especially useful when generated methods conflict with fieldnames.\n  - casttype (beta), Changes the generated fieldtype.  All generated code assumes that this type is castable to the protocol buffer field type.  It does not work for structs or enums.\n  - castkey (beta), Changes the generated fieldtype for a map key.  All generated code assumes that this type is castable to the protocol buffer field type.  Only supported on maps.\n  - castvalue (beta), Changes the generated fieldtype for a map value.  All generated code assumes that this type is castable to the protocol buffer field type.  Only supported on maps.\n\nWarning about nullable: According to the Protocol Buffer specification, you should be able to tell whether a field is set or unset. With the option nullable=false this feature is lost, since your non-nullable fields will always be set. It can be seen as a layer on top of Protocol Buffers, where before and after marshalling all non-nullable fields are set and they cannot be unset.\n\nLet us look at:\n\n\tgithub.com/gogo/protobuf/test/example/example.proto\n\nfor a quicker overview.\n\nThe following message:\n\n  package test;\n\n  import \"github.com/gogo/protobuf/gogoproto/gogo.proto\";\n\n\tmessage A {\n\t\toptional string Description = 1 [(gogoproto.nullable) = false];\n\t\toptional int64 Number = 2 [(gogoproto.nullable) = false];\n\t\toptional bytes Id = 3 [(gogoproto.customtype) = \"github.com/gogo/protobuf/test/custom.Uuid\", (gogoproto.nullable) = false];\n\t}\n\nWill generate a go struct which looks a lot like this:\n\n\ttype A struct {\n\t\tDescription string\n\t\tNumber      int64\n\t\tId          github_com_gogo_protobuf_test_custom.Uuid\n\t}\n\nYou will see there are no pointers, since all fields are non-nullable.\nYou will also see a custom type which marshals to a string.\nBe warned it is your responsibility to test your custom types thoroughly.\nYou should think of every possible empty and nil case for your marshaling, unmarshaling and size methods.\n\nNext we will embed the message A in message B.\n\n\tmessage B {\n\t\toptional A A = 1 [(gogoproto.nullable) = false, (gogoproto.embed) = true];\n\t\trepeated bytes G = 2 [(gogoproto.customtype) = \"github.com/gogo/protobuf/test/custom.Uint128\", (gogoproto.nullable) = false];\n\t}\n\nSee below that A is embedded in B.\n\n\ttype B struct {\n\t\tA\n\t\tG []github_com_gogo_protobuf_test_custom.Uint128\n\t}\n\nAlso see the repeated custom type.\n\n\ttype Uint128 [2]uint64\n\nNext we will create a custom name for one of our fields.\n\n\tmessage C {\n\t\toptional int64 size = 1 [(gogoproto.customname) = \"MySize\"];\n\t}\n\nSee below that the field's name is MySize and not Size.\n\n\ttype C struct {\n\t\tMySize\t\t*int64\n\t}\n\nThe is useful when having a protocol buffer message with a field name which conflicts with a generated method.\nAs an example, having a field name size and using the sizer plugin to generate a Size method will cause a go compiler error.\nUsing customname you can fix this error without changing the field name.\nThis is typically useful when working with a protocol buffer that was designed before these methods and/or the go language were avialable.\n\nGogoprotobuf also has some more subtle changes, these could be changed back:\n\n  - the generated package name for imports do not have the extra /filename.pb,\n  but are actually the imports specified in the .proto file.\n\nGogoprotobuf also has lost some features which should be brought back with time:\n\n  - Marshalling and unmarshalling with reflect and without the unsafe package,\n  this requires work in pointer_reflect.go\n\nWhy does nullable break protocol buffer specifications:\n\nThe protocol buffer specification states, somewhere, that you should be able to tell whether a\nfield is set or unset.  With the option nullable=false this feature is lost,\nsince your non-nullable fields will always be set.  It can be seen as a layer on top of\nprotocol buffers, where before and after marshalling all non-nullable fields are set\nand they cannot be unset.\n\nGoprotobuf Compatibility:\n\nGogoprotobuf is compatible with Goprotobuf, because it is compatible with protocol buffers.\nGogoprotobuf generates the same code as goprotobuf if no extensions are used.\nThe enumprefix, getters and stringer extensions can be used to remove some of the unnecessary code generated by goprotobuf:\n\n  - gogoproto_import, if false, the generated code imports github.com/golang/protobuf/proto instead of github.com/gogo/protobuf/proto.\n  - goproto_enum_prefix, if false, generates the enum constant names without the messagetype prefix\n  - goproto_enum_stringer (experimental), if false, the enum is generated without the default string method, this is useful for rather using enum_stringer, or allowing you to write your own string method.\n  - goproto_getters, if false, the message is generated without get methods, this is useful when you would rather want to use face\n  - goproto_stringer, if false, the message is generated without the default string method, this is useful for rather using stringer, or allowing you to write your own string method.\n  - goproto_extensions_map (beta), if false, the extensions field is generated as type []byte instead of type map[int32]proto.Extension\n  - goproto_unrecognized (beta), if false, XXX_unrecognized field is not generated. This is useful in conjunction with gogoproto.nullable=false, to generate structures completely devoid of pointers and reduce GC pressure at the cost of losing information about unrecognized fields.\n  - goproto_registration (beta), if true, the generated files will register all messages and types against both gogo/protobuf and golang/protobuf. This is necessary when using third-party packages which read registrations from golang/protobuf (such as the grpc-gateway).\n\nLess Typing and Peace of Mind is explained in their specific plugin folders godoc:\n\n\t- github.com/gogo/protobuf/plugin/<extension_name>\n\nIf you do not use any of these extension the code that is generated\nwill be the same as if goprotobuf has generated it.\n\nThe most complete way to see examples is to look at\n\n\tgithub.com/gogo/protobuf/test/thetest.proto\n\nGogoprototest is a seperate project,\nbecause we want to keep gogoprotobuf independant of goprotobuf,\nbut we still want to test it thoroughly.\n\n*/\npackage gogoproto\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/gogoproto/gogo.pb.go",
    "content": "// Code generated by protoc-gen-gogo. DO NOT EDIT.\n// source: gogo.proto\n\npackage gogoproto // import \"github.com/gogo/protobuf/gogoproto\"\n\nimport proto \"github.com/gogo/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\nimport descriptor \"github.com/gogo/protobuf/protoc-gen-gogo/descriptor\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\n// This is a compile-time assertion to ensure that this generated file\n// is compatible with the proto package it is being compiled against.\n// A compilation error at this line likely means your copy of the\n// proto package needs to be updated.\nconst _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package\n\nvar E_GoprotoEnumPrefix = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.EnumOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         62001,\n\tName:          \"gogoproto.goproto_enum_prefix\",\n\tTag:           \"varint,62001,opt,name=goproto_enum_prefix,json=goprotoEnumPrefix\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_GoprotoEnumStringer = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.EnumOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         62021,\n\tName:          \"gogoproto.goproto_enum_stringer\",\n\tTag:           \"varint,62021,opt,name=goproto_enum_stringer,json=goprotoEnumStringer\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_EnumStringer = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.EnumOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         62022,\n\tName:          \"gogoproto.enum_stringer\",\n\tTag:           \"varint,62022,opt,name=enum_stringer,json=enumStringer\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_EnumCustomname = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.EnumOptions)(nil),\n\tExtensionType: (*string)(nil),\n\tField:         62023,\n\tName:          \"gogoproto.enum_customname\",\n\tTag:           \"bytes,62023,opt,name=enum_customname,json=enumCustomname\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Enumdecl = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.EnumOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         62024,\n\tName:          \"gogoproto.enumdecl\",\n\tTag:           \"varint,62024,opt,name=enumdecl\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_EnumvalueCustomname = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.EnumValueOptions)(nil),\n\tExtensionType: (*string)(nil),\n\tField:         66001,\n\tName:          \"gogoproto.enumvalue_customname\",\n\tTag:           \"bytes,66001,opt,name=enumvalue_customname,json=enumvalueCustomname\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_GoprotoGettersAll = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63001,\n\tName:          \"gogoproto.goproto_getters_all\",\n\tTag:           \"varint,63001,opt,name=goproto_getters_all,json=goprotoGettersAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_GoprotoEnumPrefixAll = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63002,\n\tName:          \"gogoproto.goproto_enum_prefix_all\",\n\tTag:           \"varint,63002,opt,name=goproto_enum_prefix_all,json=goprotoEnumPrefixAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_GoprotoStringerAll = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63003,\n\tName:          \"gogoproto.goproto_stringer_all\",\n\tTag:           \"varint,63003,opt,name=goproto_stringer_all,json=goprotoStringerAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_VerboseEqualAll = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63004,\n\tName:          \"gogoproto.verbose_equal_all\",\n\tTag:           \"varint,63004,opt,name=verbose_equal_all,json=verboseEqualAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_FaceAll = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63005,\n\tName:          \"gogoproto.face_all\",\n\tTag:           \"varint,63005,opt,name=face_all,json=faceAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_GostringAll = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63006,\n\tName:          \"gogoproto.gostring_all\",\n\tTag:           \"varint,63006,opt,name=gostring_all,json=gostringAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_PopulateAll = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63007,\n\tName:          \"gogoproto.populate_all\",\n\tTag:           \"varint,63007,opt,name=populate_all,json=populateAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_StringerAll = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63008,\n\tName:          \"gogoproto.stringer_all\",\n\tTag:           \"varint,63008,opt,name=stringer_all,json=stringerAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_OnlyoneAll = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63009,\n\tName:          \"gogoproto.onlyone_all\",\n\tTag:           \"varint,63009,opt,name=onlyone_all,json=onlyoneAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_EqualAll = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63013,\n\tName:          \"gogoproto.equal_all\",\n\tTag:           \"varint,63013,opt,name=equal_all,json=equalAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_DescriptionAll = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63014,\n\tName:          \"gogoproto.description_all\",\n\tTag:           \"varint,63014,opt,name=description_all,json=descriptionAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_TestgenAll = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63015,\n\tName:          \"gogoproto.testgen_all\",\n\tTag:           \"varint,63015,opt,name=testgen_all,json=testgenAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_BenchgenAll = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63016,\n\tName:          \"gogoproto.benchgen_all\",\n\tTag:           \"varint,63016,opt,name=benchgen_all,json=benchgenAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_MarshalerAll = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63017,\n\tName:          \"gogoproto.marshaler_all\",\n\tTag:           \"varint,63017,opt,name=marshaler_all,json=marshalerAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_UnmarshalerAll = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63018,\n\tName:          \"gogoproto.unmarshaler_all\",\n\tTag:           \"varint,63018,opt,name=unmarshaler_all,json=unmarshalerAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_StableMarshalerAll = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63019,\n\tName:          \"gogoproto.stable_marshaler_all\",\n\tTag:           \"varint,63019,opt,name=stable_marshaler_all,json=stableMarshalerAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_SizerAll = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63020,\n\tName:          \"gogoproto.sizer_all\",\n\tTag:           \"varint,63020,opt,name=sizer_all,json=sizerAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_GoprotoEnumStringerAll = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63021,\n\tName:          \"gogoproto.goproto_enum_stringer_all\",\n\tTag:           \"varint,63021,opt,name=goproto_enum_stringer_all,json=goprotoEnumStringerAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_EnumStringerAll = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63022,\n\tName:          \"gogoproto.enum_stringer_all\",\n\tTag:           \"varint,63022,opt,name=enum_stringer_all,json=enumStringerAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_UnsafeMarshalerAll = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63023,\n\tName:          \"gogoproto.unsafe_marshaler_all\",\n\tTag:           \"varint,63023,opt,name=unsafe_marshaler_all,json=unsafeMarshalerAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_UnsafeUnmarshalerAll = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63024,\n\tName:          \"gogoproto.unsafe_unmarshaler_all\",\n\tTag:           \"varint,63024,opt,name=unsafe_unmarshaler_all,json=unsafeUnmarshalerAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_GoprotoExtensionsMapAll = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63025,\n\tName:          \"gogoproto.goproto_extensions_map_all\",\n\tTag:           \"varint,63025,opt,name=goproto_extensions_map_all,json=goprotoExtensionsMapAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_GoprotoUnrecognizedAll = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63026,\n\tName:          \"gogoproto.goproto_unrecognized_all\",\n\tTag:           \"varint,63026,opt,name=goproto_unrecognized_all,json=goprotoUnrecognizedAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_GogoprotoImport = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63027,\n\tName:          \"gogoproto.gogoproto_import\",\n\tTag:           \"varint,63027,opt,name=gogoproto_import,json=gogoprotoImport\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_ProtosizerAll = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63028,\n\tName:          \"gogoproto.protosizer_all\",\n\tTag:           \"varint,63028,opt,name=protosizer_all,json=protosizerAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_CompareAll = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63029,\n\tName:          \"gogoproto.compare_all\",\n\tTag:           \"varint,63029,opt,name=compare_all,json=compareAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_TypedeclAll = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63030,\n\tName:          \"gogoproto.typedecl_all\",\n\tTag:           \"varint,63030,opt,name=typedecl_all,json=typedeclAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_EnumdeclAll = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63031,\n\tName:          \"gogoproto.enumdecl_all\",\n\tTag:           \"varint,63031,opt,name=enumdecl_all,json=enumdeclAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_GoprotoRegistration = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63032,\n\tName:          \"gogoproto.goproto_registration\",\n\tTag:           \"varint,63032,opt,name=goproto_registration,json=goprotoRegistration\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_MessagenameAll = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FileOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         63033,\n\tName:          \"gogoproto.messagename_all\",\n\tTag:           \"varint,63033,opt,name=messagename_all,json=messagenameAll\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_GoprotoGetters = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64001,\n\tName:          \"gogoproto.goproto_getters\",\n\tTag:           \"varint,64001,opt,name=goproto_getters,json=goprotoGetters\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_GoprotoStringer = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64003,\n\tName:          \"gogoproto.goproto_stringer\",\n\tTag:           \"varint,64003,opt,name=goproto_stringer,json=goprotoStringer\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_VerboseEqual = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64004,\n\tName:          \"gogoproto.verbose_equal\",\n\tTag:           \"varint,64004,opt,name=verbose_equal,json=verboseEqual\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Face = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64005,\n\tName:          \"gogoproto.face\",\n\tTag:           \"varint,64005,opt,name=face\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Gostring = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64006,\n\tName:          \"gogoproto.gostring\",\n\tTag:           \"varint,64006,opt,name=gostring\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Populate = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64007,\n\tName:          \"gogoproto.populate\",\n\tTag:           \"varint,64007,opt,name=populate\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Stringer = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         67008,\n\tName:          \"gogoproto.stringer\",\n\tTag:           \"varint,67008,opt,name=stringer\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Onlyone = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64009,\n\tName:          \"gogoproto.onlyone\",\n\tTag:           \"varint,64009,opt,name=onlyone\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Equal = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64013,\n\tName:          \"gogoproto.equal\",\n\tTag:           \"varint,64013,opt,name=equal\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Description = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64014,\n\tName:          \"gogoproto.description\",\n\tTag:           \"varint,64014,opt,name=description\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Testgen = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64015,\n\tName:          \"gogoproto.testgen\",\n\tTag:           \"varint,64015,opt,name=testgen\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Benchgen = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64016,\n\tName:          \"gogoproto.benchgen\",\n\tTag:           \"varint,64016,opt,name=benchgen\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Marshaler = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64017,\n\tName:          \"gogoproto.marshaler\",\n\tTag:           \"varint,64017,opt,name=marshaler\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Unmarshaler = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64018,\n\tName:          \"gogoproto.unmarshaler\",\n\tTag:           \"varint,64018,opt,name=unmarshaler\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_StableMarshaler = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64019,\n\tName:          \"gogoproto.stable_marshaler\",\n\tTag:           \"varint,64019,opt,name=stable_marshaler,json=stableMarshaler\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Sizer = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64020,\n\tName:          \"gogoproto.sizer\",\n\tTag:           \"varint,64020,opt,name=sizer\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_UnsafeMarshaler = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64023,\n\tName:          \"gogoproto.unsafe_marshaler\",\n\tTag:           \"varint,64023,opt,name=unsafe_marshaler,json=unsafeMarshaler\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_UnsafeUnmarshaler = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64024,\n\tName:          \"gogoproto.unsafe_unmarshaler\",\n\tTag:           \"varint,64024,opt,name=unsafe_unmarshaler,json=unsafeUnmarshaler\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_GoprotoExtensionsMap = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64025,\n\tName:          \"gogoproto.goproto_extensions_map\",\n\tTag:           \"varint,64025,opt,name=goproto_extensions_map,json=goprotoExtensionsMap\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_GoprotoUnrecognized = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64026,\n\tName:          \"gogoproto.goproto_unrecognized\",\n\tTag:           \"varint,64026,opt,name=goproto_unrecognized,json=goprotoUnrecognized\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Protosizer = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64028,\n\tName:          \"gogoproto.protosizer\",\n\tTag:           \"varint,64028,opt,name=protosizer\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Compare = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64029,\n\tName:          \"gogoproto.compare\",\n\tTag:           \"varint,64029,opt,name=compare\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Typedecl = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64030,\n\tName:          \"gogoproto.typedecl\",\n\tTag:           \"varint,64030,opt,name=typedecl\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Messagename = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.MessageOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         64033,\n\tName:          \"gogoproto.messagename\",\n\tTag:           \"varint,64033,opt,name=messagename\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Nullable = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FieldOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         65001,\n\tName:          \"gogoproto.nullable\",\n\tTag:           \"varint,65001,opt,name=nullable\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Embed = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FieldOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         65002,\n\tName:          \"gogoproto.embed\",\n\tTag:           \"varint,65002,opt,name=embed\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Customtype = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FieldOptions)(nil),\n\tExtensionType: (*string)(nil),\n\tField:         65003,\n\tName:          \"gogoproto.customtype\",\n\tTag:           \"bytes,65003,opt,name=customtype\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Customname = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FieldOptions)(nil),\n\tExtensionType: (*string)(nil),\n\tField:         65004,\n\tName:          \"gogoproto.customname\",\n\tTag:           \"bytes,65004,opt,name=customname\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Jsontag = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FieldOptions)(nil),\n\tExtensionType: (*string)(nil),\n\tField:         65005,\n\tName:          \"gogoproto.jsontag\",\n\tTag:           \"bytes,65005,opt,name=jsontag\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Moretags = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FieldOptions)(nil),\n\tExtensionType: (*string)(nil),\n\tField:         65006,\n\tName:          \"gogoproto.moretags\",\n\tTag:           \"bytes,65006,opt,name=moretags\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Casttype = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FieldOptions)(nil),\n\tExtensionType: (*string)(nil),\n\tField:         65007,\n\tName:          \"gogoproto.casttype\",\n\tTag:           \"bytes,65007,opt,name=casttype\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Castkey = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FieldOptions)(nil),\n\tExtensionType: (*string)(nil),\n\tField:         65008,\n\tName:          \"gogoproto.castkey\",\n\tTag:           \"bytes,65008,opt,name=castkey\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Castvalue = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FieldOptions)(nil),\n\tExtensionType: (*string)(nil),\n\tField:         65009,\n\tName:          \"gogoproto.castvalue\",\n\tTag:           \"bytes,65009,opt,name=castvalue\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Stdtime = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FieldOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         65010,\n\tName:          \"gogoproto.stdtime\",\n\tTag:           \"varint,65010,opt,name=stdtime\",\n\tFilename:      \"gogo.proto\",\n}\n\nvar E_Stdduration = &proto.ExtensionDesc{\n\tExtendedType:  (*descriptor.FieldOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         65011,\n\tName:          \"gogoproto.stdduration\",\n\tTag:           \"varint,65011,opt,name=stdduration\",\n\tFilename:      \"gogo.proto\",\n}\n\nfunc init() {\n\tproto.RegisterExtension(E_GoprotoEnumPrefix)\n\tproto.RegisterExtension(E_GoprotoEnumStringer)\n\tproto.RegisterExtension(E_EnumStringer)\n\tproto.RegisterExtension(E_EnumCustomname)\n\tproto.RegisterExtension(E_Enumdecl)\n\tproto.RegisterExtension(E_EnumvalueCustomname)\n\tproto.RegisterExtension(E_GoprotoGettersAll)\n\tproto.RegisterExtension(E_GoprotoEnumPrefixAll)\n\tproto.RegisterExtension(E_GoprotoStringerAll)\n\tproto.RegisterExtension(E_VerboseEqualAll)\n\tproto.RegisterExtension(E_FaceAll)\n\tproto.RegisterExtension(E_GostringAll)\n\tproto.RegisterExtension(E_PopulateAll)\n\tproto.RegisterExtension(E_StringerAll)\n\tproto.RegisterExtension(E_OnlyoneAll)\n\tproto.RegisterExtension(E_EqualAll)\n\tproto.RegisterExtension(E_DescriptionAll)\n\tproto.RegisterExtension(E_TestgenAll)\n\tproto.RegisterExtension(E_BenchgenAll)\n\tproto.RegisterExtension(E_MarshalerAll)\n\tproto.RegisterExtension(E_UnmarshalerAll)\n\tproto.RegisterExtension(E_StableMarshalerAll)\n\tproto.RegisterExtension(E_SizerAll)\n\tproto.RegisterExtension(E_GoprotoEnumStringerAll)\n\tproto.RegisterExtension(E_EnumStringerAll)\n\tproto.RegisterExtension(E_UnsafeMarshalerAll)\n\tproto.RegisterExtension(E_UnsafeUnmarshalerAll)\n\tproto.RegisterExtension(E_GoprotoExtensionsMapAll)\n\tproto.RegisterExtension(E_GoprotoUnrecognizedAll)\n\tproto.RegisterExtension(E_GogoprotoImport)\n\tproto.RegisterExtension(E_ProtosizerAll)\n\tproto.RegisterExtension(E_CompareAll)\n\tproto.RegisterExtension(E_TypedeclAll)\n\tproto.RegisterExtension(E_EnumdeclAll)\n\tproto.RegisterExtension(E_GoprotoRegistration)\n\tproto.RegisterExtension(E_MessagenameAll)\n\tproto.RegisterExtension(E_GoprotoGetters)\n\tproto.RegisterExtension(E_GoprotoStringer)\n\tproto.RegisterExtension(E_VerboseEqual)\n\tproto.RegisterExtension(E_Face)\n\tproto.RegisterExtension(E_Gostring)\n\tproto.RegisterExtension(E_Populate)\n\tproto.RegisterExtension(E_Stringer)\n\tproto.RegisterExtension(E_Onlyone)\n\tproto.RegisterExtension(E_Equal)\n\tproto.RegisterExtension(E_Description)\n\tproto.RegisterExtension(E_Testgen)\n\tproto.RegisterExtension(E_Benchgen)\n\tproto.RegisterExtension(E_Marshaler)\n\tproto.RegisterExtension(E_Unmarshaler)\n\tproto.RegisterExtension(E_StableMarshaler)\n\tproto.RegisterExtension(E_Sizer)\n\tproto.RegisterExtension(E_UnsafeMarshaler)\n\tproto.RegisterExtension(E_UnsafeUnmarshaler)\n\tproto.RegisterExtension(E_GoprotoExtensionsMap)\n\tproto.RegisterExtension(E_GoprotoUnrecognized)\n\tproto.RegisterExtension(E_Protosizer)\n\tproto.RegisterExtension(E_Compare)\n\tproto.RegisterExtension(E_Typedecl)\n\tproto.RegisterExtension(E_Messagename)\n\tproto.RegisterExtension(E_Nullable)\n\tproto.RegisterExtension(E_Embed)\n\tproto.RegisterExtension(E_Customtype)\n\tproto.RegisterExtension(E_Customname)\n\tproto.RegisterExtension(E_Jsontag)\n\tproto.RegisterExtension(E_Moretags)\n\tproto.RegisterExtension(E_Casttype)\n\tproto.RegisterExtension(E_Castkey)\n\tproto.RegisterExtension(E_Castvalue)\n\tproto.RegisterExtension(E_Stdtime)\n\tproto.RegisterExtension(E_Stdduration)\n}\n\nfunc init() { proto.RegisterFile(\"gogo.proto\", fileDescriptor_gogo_68790841c0f79064) }\n\nvar fileDescriptor_gogo_68790841c0f79064 = []byte{\n\t// 1246 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x98, 0x49, 0x6f, 0x1c, 0x45,\n\t0x14, 0x80, 0x85, 0x70, 0x64, 0xcf, 0xf3, 0x86, 0xc7, 0xc6, 0x84, 0x08, 0x44, 0xe0, 0xc4, 0xc9,\n\t0x3e, 0x45, 0x28, 0x65, 0x45, 0x96, 0x63, 0x39, 0x56, 0x10, 0x06, 0x63, 0xe2, 0xb0, 0x1d, 0x46,\n\t0x3d, 0x33, 0xe5, 0x76, 0x43, 0x77, 0xd7, 0xd0, 0x5d, 0x1d, 0xc5, 0xb9, 0xa1, 0xb0, 0x08, 0x21,\n\t0x76, 0x24, 0x48, 0x48, 0x02, 0x39, 0xb0, 0xaf, 0x61, 0xe7, 0xc6, 0x85, 0xe5, 0xca, 0x7f, 0xe0,\n\t0x02, 0x98, 0xdd, 0x37, 0x5f, 0xa2, 0xd7, 0xfd, 0x5e, 0x4f, 0xcd, 0x78, 0xa4, 0xaa, 0xb9, 0xb5,\n\t0xed, 0xfa, 0x3e, 0x57, 0xbf, 0x57, 0xf5, 0xde, 0x9b, 0x01, 0xf0, 0x95, 0xaf, 0x66, 0x5a, 0x89,\n\t0xd2, 0xaa, 0x5a, 0xc1, 0xe7, 0xfc, 0xf1, 0xc0, 0x41, 0x5f, 0x29, 0x3f, 0x94, 0xb3, 0xf9, 0x4f,\n\t0xf5, 0x6c, 0x63, 0xb6, 0x29, 0xd3, 0x46, 0x12, 0xb4, 0xb4, 0x4a, 0x8a, 0xc5, 0xe2, 0x6e, 0x98,\n\t0xa4, 0xc5, 0x35, 0x19, 0x67, 0x51, 0xad, 0x95, 0xc8, 0x8d, 0xe0, 0x74, 0xf5, 0xa6, 0x99, 0x82,\n\t0x9c, 0x61, 0x72, 0x66, 0x29, 0xce, 0xa2, 0x7b, 0x5a, 0x3a, 0x50, 0x71, 0xba, 0xff, 0xca, 0xaf,\n\t0xd7, 0x1e, 0xbc, 0xe6, 0xf6, 0xa1, 0xb5, 0x09, 0x42, 0xf1, 0x6f, 0xab, 0x39, 0x28, 0xd6, 0xe0,\n\t0xfa, 0x0e, 0x5f, 0xaa, 0x93, 0x20, 0xf6, 0x65, 0x62, 0x31, 0xfe, 0x40, 0xc6, 0x49, 0xc3, 0x78,\n\t0x1f, 0xa1, 0x62, 0x11, 0x46, 0xfb, 0x71, 0xfd, 0x48, 0xae, 0x11, 0x69, 0x4a, 0x96, 0x61, 0x3c,\n\t0x97, 0x34, 0xb2, 0x54, 0xab, 0x28, 0xf6, 0x22, 0x69, 0xd1, 0xfc, 0x94, 0x6b, 0x2a, 0x6b, 0x63,\n\t0x88, 0x2d, 0x96, 0x94, 0x10, 0x30, 0x84, 0xbf, 0x69, 0xca, 0x46, 0x68, 0x31, 0xfc, 0x4c, 0x1b,\n\t0x29, 0xd7, 0x8b, 0x93, 0x30, 0x85, 0xcf, 0xa7, 0xbc, 0x30, 0x93, 0xe6, 0x4e, 0x6e, 0xed, 0xe9,\n\t0x39, 0x89, 0xcb, 0x58, 0xf6, 0xcb, 0xd9, 0x81, 0x7c, 0x3b, 0x93, 0xa5, 0xc0, 0xd8, 0x93, 0x91,\n\t0x45, 0x5f, 0x6a, 0x2d, 0x93, 0xb4, 0xe6, 0x85, 0xbd, 0xb6, 0x77, 0x2c, 0x08, 0x4b, 0xe3, 0xb9,\n\t0xed, 0xce, 0x2c, 0x2e, 0x17, 0xe4, 0x42, 0x18, 0x8a, 0x75, 0xb8, 0xa1, 0xc7, 0xa9, 0x70, 0x70,\n\t0x9e, 0x27, 0xe7, 0xd4, 0x9e, 0x93, 0x81, 0xda, 0x55, 0xe0, 0xdf, 0x97, 0xb9, 0x74, 0x70, 0xbe,\n\t0x41, 0xce, 0x2a, 0xb1, 0x9c, 0x52, 0x34, 0xde, 0x09, 0x13, 0xa7, 0x64, 0x52, 0x57, 0xa9, 0xac,\n\t0xc9, 0xc7, 0x32, 0x2f, 0x74, 0xd0, 0x5d, 0x20, 0xdd, 0x38, 0x81, 0x4b, 0xc8, 0xa1, 0xeb, 0x30,\n\t0x0c, 0x6d, 0x78, 0x0d, 0xe9, 0xa0, 0xb8, 0x48, 0x8a, 0x41, 0x5c, 0x8f, 0xe8, 0x02, 0x8c, 0xf8,\n\t0xaa, 0x78, 0x25, 0x07, 0xfc, 0x12, 0xe1, 0xc3, 0xcc, 0x90, 0xa2, 0xa5, 0x5a, 0x59, 0xe8, 0x69,\n\t0x97, 0x1d, 0xbc, 0xc9, 0x0a, 0x66, 0x48, 0xd1, 0x47, 0x58, 0xdf, 0x62, 0x45, 0x6a, 0xc4, 0x73,\n\t0x1e, 0x86, 0x55, 0x1c, 0x6e, 0xa9, 0xd8, 0x65, 0x13, 0x97, 0xc9, 0x00, 0x84, 0xa0, 0x60, 0x0e,\n\t0x2a, 0xae, 0x89, 0x78, 0x7b, 0x9b, 0xaf, 0x07, 0x67, 0x60, 0x19, 0xc6, 0xb9, 0x40, 0x05, 0x2a,\n\t0x76, 0x50, 0xbc, 0x43, 0x8a, 0x31, 0x03, 0xa3, 0xd7, 0xd0, 0x32, 0xd5, 0xbe, 0x74, 0x91, 0xbc,\n\t0xcb, 0xaf, 0x41, 0x08, 0x85, 0xb2, 0x2e, 0xe3, 0xc6, 0xa6, 0x9b, 0xe1, 0x3d, 0x0e, 0x25, 0x33,\n\t0xa8, 0x58, 0x84, 0xd1, 0xc8, 0x4b, 0xd2, 0x4d, 0x2f, 0x74, 0x4a, 0xc7, 0xfb, 0xe4, 0x18, 0x29,\n\t0x21, 0x8a, 0x48, 0x16, 0xf7, 0xa3, 0xf9, 0x80, 0x23, 0x62, 0x60, 0x74, 0xf5, 0x52, 0xed, 0xd5,\n\t0x43, 0x59, 0xeb, 0xc7, 0xf6, 0x21, 0x5f, 0xbd, 0x82, 0x5d, 0x31, 0x8d, 0x73, 0x50, 0x49, 0x83,\n\t0x33, 0x4e, 0x9a, 0x8f, 0x38, 0xd3, 0x39, 0x80, 0xf0, 0x83, 0x70, 0x63, 0xcf, 0x36, 0xe1, 0x20,\n\t0xfb, 0x98, 0x64, 0xd3, 0x3d, 0x5a, 0x05, 0x95, 0x84, 0x7e, 0x95, 0x9f, 0x70, 0x49, 0x90, 0x5d,\n\t0xae, 0x55, 0x98, 0xca, 0xe2, 0xd4, 0xdb, 0xe8, 0x2f, 0x6a, 0x9f, 0x72, 0xd4, 0x0a, 0xb6, 0x23,\n\t0x6a, 0x27, 0x60, 0x9a, 0x8c, 0xfd, 0xe5, 0xf5, 0x33, 0x2e, 0xac, 0x05, 0xbd, 0xde, 0x99, 0xdd,\n\t0x87, 0xe1, 0x40, 0x19, 0xce, 0xd3, 0x5a, 0xc6, 0x29, 0x32, 0xb5, 0xc8, 0x6b, 0x39, 0x98, 0xaf,\n\t0x90, 0x99, 0x2b, 0xfe, 0x52, 0x29, 0x58, 0xf1, 0x5a, 0x28, 0x7f, 0x00, 0xf6, 0xb3, 0x3c, 0x8b,\n\t0x13, 0xd9, 0x50, 0x7e, 0x1c, 0x9c, 0x91, 0x4d, 0x07, 0xf5, 0xe7, 0x5d, 0xa9, 0x5a, 0x37, 0x70,\n\t0x34, 0x1f, 0x87, 0xeb, 0xca, 0x59, 0xa5, 0x16, 0x44, 0x2d, 0x95, 0x68, 0x8b, 0xf1, 0x0b, 0xce,\n\t0x54, 0xc9, 0x1d, 0xcf, 0x31, 0xb1, 0x04, 0x63, 0xf9, 0x8f, 0xae, 0x47, 0xf2, 0x4b, 0x12, 0x8d,\n\t0xb6, 0x29, 0x2a, 0x1c, 0x0d, 0x15, 0xb5, 0xbc, 0xc4, 0xa5, 0xfe, 0x7d, 0xc5, 0x85, 0x83, 0x10,\n\t0x2a, 0x1c, 0x7a, 0xab, 0x25, 0xb1, 0xdb, 0x3b, 0x18, 0xbe, 0xe6, 0xc2, 0xc1, 0x0c, 0x29, 0x78,\n\t0x60, 0x70, 0x50, 0x7c, 0xc3, 0x0a, 0x66, 0x50, 0x71, 0x6f, 0xbb, 0xd1, 0x26, 0xd2, 0x0f, 0x52,\n\t0x9d, 0x78, 0xb8, 0xda, 0xa2, 0xfa, 0x76, 0xbb, 0x73, 0x08, 0x5b, 0x33, 0x50, 0xac, 0x44, 0x91,\n\t0x4c, 0x53, 0xcf, 0x97, 0x38, 0x71, 0x38, 0x6c, 0xec, 0x3b, 0xae, 0x44, 0x06, 0x56, 0xdc, 0xcf,\n\t0xf1, 0xae, 0x59, 0xa5, 0x7a, 0xcb, 0x1e, 0xd1, 0x4a, 0xc1, 0xb0, 0xeb, 0xf1, 0x1d, 0x72, 0x75,\n\t0x8e, 0x2a, 0xe2, 0x2e, 0x3c, 0x40, 0x9d, 0x03, 0x85, 0x5d, 0x76, 0x76, 0xa7, 0x3c, 0x43, 0x1d,\n\t0xf3, 0x84, 0x38, 0x06, 0xa3, 0x1d, 0xc3, 0x84, 0x5d, 0xf5, 0x04, 0xa9, 0x46, 0xcc, 0x59, 0x42,\n\t0x1c, 0x82, 0x01, 0x1c, 0x0c, 0xec, 0xf8, 0x93, 0x84, 0xe7, 0xcb, 0xc5, 0x11, 0x18, 0xe2, 0x81,\n\t0xc0, 0x8e, 0x3e, 0x45, 0x68, 0x89, 0x20, 0xce, 0xc3, 0x80, 0x1d, 0x7f, 0x9a, 0x71, 0x46, 0x10,\n\t0x77, 0x0f, 0xe1, 0xf7, 0xcf, 0x0e, 0x50, 0x41, 0xe7, 0xd8, 0xcd, 0xc1, 0x20, 0x4d, 0x01, 0x76,\n\t0xfa, 0x19, 0xfa, 0xe7, 0x4c, 0x88, 0x3b, 0x60, 0x9f, 0x63, 0xc0, 0x9f, 0x23, 0xb4, 0x58, 0x2f,\n\t0x16, 0x61, 0xd8, 0xe8, 0xfc, 0x76, 0xfc, 0x79, 0xc2, 0x4d, 0x0a, 0xb7, 0x4e, 0x9d, 0xdf, 0x2e,\n\t0x78, 0x81, 0xb7, 0x4e, 0x04, 0x86, 0x8d, 0x9b, 0xbe, 0x9d, 0x7e, 0x91, 0xa3, 0xce, 0x88, 0x98,\n\t0x87, 0x4a, 0x59, 0xc8, 0xed, 0xfc, 0x4b, 0xc4, 0xb7, 0x19, 0x8c, 0x80, 0xd1, 0x48, 0xec, 0x8a,\n\t0x97, 0x39, 0x02, 0x06, 0x85, 0xd7, 0xa8, 0x7b, 0x38, 0xb0, 0x9b, 0x5e, 0xe1, 0x6b, 0xd4, 0x35,\n\t0x1b, 0x60, 0x36, 0xf3, 0x7a, 0x6a, 0x57, 0xbc, 0xca, 0xd9, 0xcc, 0xd7, 0xe3, 0x36, 0xba, 0xbb,\n\t0xad, 0xdd, 0xf1, 0x1a, 0x6f, 0xa3, 0xab, 0xd9, 0x8a, 0x55, 0xa8, 0xee, 0xed, 0xb4, 0x76, 0xdf,\n\t0xeb, 0xe4, 0x9b, 0xd8, 0xd3, 0x68, 0xc5, 0xfd, 0x30, 0xdd, 0xbb, 0xcb, 0xda, 0xad, 0xe7, 0x76,\n\t0xba, 0x3e, 0x17, 0x99, 0x4d, 0x56, 0x9c, 0x68, 0x97, 0x6b, 0xb3, 0xc3, 0xda, 0xb5, 0xe7, 0x77,\n\t0x3a, 0x2b, 0xb6, 0xd9, 0x60, 0xc5, 0x02, 0x40, 0xbb, 0xb9, 0xd9, 0x5d, 0x17, 0xc8, 0x65, 0x40,\n\t0x78, 0x35, 0xa8, 0xb7, 0xd9, 0xf9, 0x8b, 0x7c, 0x35, 0x88, 0xc0, 0xab, 0xc1, 0x6d, 0xcd, 0x4e,\n\t0x5f, 0xe2, 0xab, 0xc1, 0x08, 0x9e, 0x6c, 0xa3, 0x73, 0xd8, 0x0d, 0x97, 0xf9, 0x64, 0x1b, 0x94,\n\t0x98, 0x83, 0xa1, 0x38, 0x0b, 0x43, 0x3c, 0xa0, 0xd5, 0x9b, 0x7b, 0xb4, 0x2b, 0x19, 0x36, 0x99,\n\t0xff, 0x6d, 0x97, 0x76, 0xc0, 0x80, 0x38, 0x04, 0xfb, 0x64, 0x54, 0x97, 0x4d, 0x1b, 0xf9, 0xfb,\n\t0x2e, 0x17, 0x25, 0x5c, 0x2d, 0xe6, 0x01, 0x8a, 0x8f, 0xf6, 0xf8, 0x2a, 0x36, 0xf6, 0x8f, 0xdd,\n\t0xe2, 0x5b, 0x06, 0x03, 0x69, 0x0b, 0xf2, 0x17, 0xb7, 0x08, 0xb6, 0x3b, 0x05, 0xf9, 0x5b, 0x1f,\n\t0x86, 0xc1, 0x47, 0x52, 0x15, 0x6b, 0xcf, 0xb7, 0xd1, 0x7f, 0x12, 0xcd, 0xeb, 0x31, 0x60, 0x91,\n\t0x4a, 0xa4, 0xf6, 0xfc, 0xd4, 0xc6, 0xfe, 0x45, 0x6c, 0x09, 0x20, 0xdc, 0xf0, 0x52, 0xed, 0xf2,\n\t0xde, 0x7f, 0x33, 0xcc, 0x00, 0x6e, 0x1a, 0x9f, 0x1f, 0x95, 0x5b, 0x36, 0xf6, 0x1f, 0xde, 0x34,\n\t0xad, 0x17, 0x47, 0xa0, 0x82, 0x8f, 0xf9, 0xb7, 0x22, 0x36, 0xf8, 0x5f, 0x82, 0xdb, 0x04, 0xfe,\n\t0xe7, 0x54, 0x37, 0x75, 0x60, 0x0f, 0xf6, 0x7f, 0x94, 0x69, 0x5e, 0x2f, 0x16, 0x60, 0x38, 0xd5,\n\t0xcd, 0x66, 0x46, 0xf3, 0x95, 0x05, 0xff, 0x7f, 0xb7, 0xfc, 0xc8, 0x5d, 0x32, 0x47, 0x97, 0x60,\n\t0xb2, 0xa1, 0xa2, 0x6e, 0xf0, 0x28, 0x2c, 0xab, 0x65, 0xb5, 0x9a, 0x5f, 0xc5, 0x87, 0x6e, 0xf3,\n\t0x03, 0xbd, 0x99, 0xd5, 0x67, 0x1a, 0x2a, 0x9a, 0xc5, 0xc1, 0xb7, 0xfd, 0x7d, 0x5e, 0x39, 0x06,\n\t0x5f, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x51, 0xf0, 0xa5, 0x95, 0x02, 0x14, 0x00, 0x00,\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/gogoproto/gogo.pb.golden",
    "content": "// Code generated by protoc-gen-go.\n// source: gogo.proto\n// DO NOT EDIT!\n\npackage gogoproto\n\nimport proto \"github.com/gogo/protobuf/proto\"\nimport json \"encoding/json\"\nimport math \"math\"\nimport google_protobuf \"github.com/gogo/protobuf/protoc-gen-gogo/descriptor\"\n\n// Reference proto, json, and math imports to suppress error if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = &json.SyntaxError{}\nvar _ = math.Inf\n\nvar E_Nullable = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FieldOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         51235,\n\tName:          \"gogoproto.nullable\",\n\tTag:           \"varint,51235,opt,name=nullable\",\n}\n\nvar E_Embed = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FieldOptions)(nil),\n\tExtensionType: (*bool)(nil),\n\tField:         51236,\n\tName:          \"gogoproto.embed\",\n\tTag:           \"varint,51236,opt,name=embed\",\n}\n\nvar E_Customtype = &proto.ExtensionDesc{\n\tExtendedType:  (*google_protobuf.FieldOptions)(nil),\n\tExtensionType: (*string)(nil),\n\tField:         51237,\n\tName:          \"gogoproto.customtype\",\n\tTag:           \"bytes,51237,opt,name=customtype\",\n}\n\nfunc init() {\n\tproto.RegisterExtension(E_Nullable)\n\tproto.RegisterExtension(E_Embed)\n\tproto.RegisterExtension(E_Customtype)\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/gogoproto/gogo.proto",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2013, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\nsyntax = \"proto2\";\npackage gogoproto;\n\nimport \"google/protobuf/descriptor.proto\";\n\noption java_package = \"com.google.protobuf\";\noption java_outer_classname = \"GoGoProtos\";\noption go_package = \"github.com/gogo/protobuf/gogoproto\";\n\nextend google.protobuf.EnumOptions {\n\toptional bool goproto_enum_prefix = 62001;\n\toptional bool goproto_enum_stringer = 62021;\n\toptional bool enum_stringer = 62022;\n\toptional string enum_customname = 62023;\n\toptional bool enumdecl = 62024;\n}\n\nextend google.protobuf.EnumValueOptions {\n\toptional string enumvalue_customname = 66001;\n}\n\nextend google.protobuf.FileOptions {\n\toptional bool goproto_getters_all = 63001;\n\toptional bool goproto_enum_prefix_all = 63002;\n\toptional bool goproto_stringer_all = 63003;\n\toptional bool verbose_equal_all = 63004;\n\toptional bool face_all = 63005;\n\toptional bool gostring_all = 63006;\n\toptional bool populate_all = 63007;\n\toptional bool stringer_all = 63008;\n\toptional bool onlyone_all = 63009;\n\n\toptional bool equal_all = 63013;\n\toptional bool description_all = 63014;\n\toptional bool testgen_all = 63015;\n\toptional bool benchgen_all = 63016;\n\toptional bool marshaler_all = 63017;\n\toptional bool unmarshaler_all = 63018;\n\toptional bool stable_marshaler_all = 63019;\n\n\toptional bool sizer_all = 63020;\n\n\toptional bool goproto_enum_stringer_all = 63021;\n\toptional bool enum_stringer_all = 63022;\n\n\toptional bool unsafe_marshaler_all = 63023;\n\toptional bool unsafe_unmarshaler_all = 63024;\n\n\toptional bool goproto_extensions_map_all = 63025;\n\toptional bool goproto_unrecognized_all = 63026;\n\toptional bool gogoproto_import = 63027;\n\toptional bool protosizer_all = 63028;\n\toptional bool compare_all = 63029;\n    optional bool typedecl_all = 63030;\n    optional bool enumdecl_all = 63031;\n\n\toptional bool goproto_registration = 63032;\n\toptional bool messagename_all = 63033;\n}\n\nextend google.protobuf.MessageOptions {\n\toptional bool goproto_getters = 64001;\n\toptional bool goproto_stringer = 64003;\n\toptional bool verbose_equal = 64004;\n\toptional bool face = 64005;\n\toptional bool gostring = 64006;\n\toptional bool populate = 64007;\n\toptional bool stringer = 67008;\n\toptional bool onlyone = 64009;\n\n\toptional bool equal = 64013;\n\toptional bool description = 64014;\n\toptional bool testgen = 64015;\n\toptional bool benchgen = 64016;\n\toptional bool marshaler = 64017;\n\toptional bool unmarshaler = 64018;\n\toptional bool stable_marshaler = 64019;\n\n\toptional bool sizer = 64020;\n\n\toptional bool unsafe_marshaler = 64023;\n\toptional bool unsafe_unmarshaler = 64024;\n\n\toptional bool goproto_extensions_map = 64025;\n\toptional bool goproto_unrecognized = 64026;\n\n\toptional bool protosizer = 64028;\n\toptional bool compare = 64029;\n\n\toptional bool typedecl = 64030;\n\n\toptional bool messagename = 64033;\n}\n\nextend google.protobuf.FieldOptions {\n\toptional bool nullable = 65001;\n\toptional bool embed = 65002;\n\toptional string customtype = 65003;\n\toptional string customname = 65004;\n\toptional string jsontag = 65005;\n\toptional string moretags = 65006;\n\toptional string casttype = 65007;\n\toptional string castkey = 65008;\n\toptional string castvalue = 65009;\n\n\toptional bool stdtime = 65010;\n\toptional bool stdduration = 65011;\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/gogoproto/helper.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2013, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage gogoproto\n\nimport google_protobuf \"github.com/gogo/protobuf/protoc-gen-gogo/descriptor\"\nimport proto \"github.com/gogo/protobuf/proto\"\n\nfunc IsEmbed(field *google_protobuf.FieldDescriptorProto) bool {\n\treturn proto.GetBoolExtension(field.Options, E_Embed, false)\n}\n\nfunc IsNullable(field *google_protobuf.FieldDescriptorProto) bool {\n\treturn proto.GetBoolExtension(field.Options, E_Nullable, true)\n}\n\nfunc IsStdTime(field *google_protobuf.FieldDescriptorProto) bool {\n\treturn proto.GetBoolExtension(field.Options, E_Stdtime, false)\n}\n\nfunc IsStdDuration(field *google_protobuf.FieldDescriptorProto) bool {\n\treturn proto.GetBoolExtension(field.Options, E_Stdduration, false)\n}\n\nfunc NeedsNilCheck(proto3 bool, field *google_protobuf.FieldDescriptorProto) bool {\n\tnullable := IsNullable(field)\n\tif field.IsMessage() || IsCustomType(field) {\n\t\treturn nullable\n\t}\n\tif proto3 {\n\t\treturn false\n\t}\n\treturn nullable || *field.Type == google_protobuf.FieldDescriptorProto_TYPE_BYTES\n}\n\nfunc IsCustomType(field *google_protobuf.FieldDescriptorProto) bool {\n\ttyp := GetCustomType(field)\n\tif len(typ) > 0 {\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc IsCastType(field *google_protobuf.FieldDescriptorProto) bool {\n\ttyp := GetCastType(field)\n\tif len(typ) > 0 {\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc IsCastKey(field *google_protobuf.FieldDescriptorProto) bool {\n\ttyp := GetCastKey(field)\n\tif len(typ) > 0 {\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc IsCastValue(field *google_protobuf.FieldDescriptorProto) bool {\n\ttyp := GetCastValue(field)\n\tif len(typ) > 0 {\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc HasEnumDecl(file *google_protobuf.FileDescriptorProto, enum *google_protobuf.EnumDescriptorProto) bool {\n\treturn proto.GetBoolExtension(enum.Options, E_Enumdecl, proto.GetBoolExtension(file.Options, E_EnumdeclAll, true))\n}\n\nfunc HasTypeDecl(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_Typedecl, proto.GetBoolExtension(file.Options, E_TypedeclAll, true))\n}\n\nfunc GetCustomType(field *google_protobuf.FieldDescriptorProto) string {\n\tif field == nil {\n\t\treturn \"\"\n\t}\n\tif field.Options != nil {\n\t\tv, err := proto.GetExtension(field.Options, E_Customtype)\n\t\tif err == nil && v.(*string) != nil {\n\t\t\treturn *(v.(*string))\n\t\t}\n\t}\n\treturn \"\"\n}\n\nfunc GetCastType(field *google_protobuf.FieldDescriptorProto) string {\n\tif field == nil {\n\t\treturn \"\"\n\t}\n\tif field.Options != nil {\n\t\tv, err := proto.GetExtension(field.Options, E_Casttype)\n\t\tif err == nil && v.(*string) != nil {\n\t\t\treturn *(v.(*string))\n\t\t}\n\t}\n\treturn \"\"\n}\n\nfunc GetCastKey(field *google_protobuf.FieldDescriptorProto) string {\n\tif field == nil {\n\t\treturn \"\"\n\t}\n\tif field.Options != nil {\n\t\tv, err := proto.GetExtension(field.Options, E_Castkey)\n\t\tif err == nil && v.(*string) != nil {\n\t\t\treturn *(v.(*string))\n\t\t}\n\t}\n\treturn \"\"\n}\n\nfunc GetCastValue(field *google_protobuf.FieldDescriptorProto) string {\n\tif field == nil {\n\t\treturn \"\"\n\t}\n\tif field.Options != nil {\n\t\tv, err := proto.GetExtension(field.Options, E_Castvalue)\n\t\tif err == nil && v.(*string) != nil {\n\t\t\treturn *(v.(*string))\n\t\t}\n\t}\n\treturn \"\"\n}\n\nfunc IsCustomName(field *google_protobuf.FieldDescriptorProto) bool {\n\tname := GetCustomName(field)\n\tif len(name) > 0 {\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc IsEnumCustomName(field *google_protobuf.EnumDescriptorProto) bool {\n\tname := GetEnumCustomName(field)\n\tif len(name) > 0 {\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc IsEnumValueCustomName(field *google_protobuf.EnumValueDescriptorProto) bool {\n\tname := GetEnumValueCustomName(field)\n\tif len(name) > 0 {\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc GetCustomName(field *google_protobuf.FieldDescriptorProto) string {\n\tif field == nil {\n\t\treturn \"\"\n\t}\n\tif field.Options != nil {\n\t\tv, err := proto.GetExtension(field.Options, E_Customname)\n\t\tif err == nil && v.(*string) != nil {\n\t\t\treturn *(v.(*string))\n\t\t}\n\t}\n\treturn \"\"\n}\n\nfunc GetEnumCustomName(field *google_protobuf.EnumDescriptorProto) string {\n\tif field == nil {\n\t\treturn \"\"\n\t}\n\tif field.Options != nil {\n\t\tv, err := proto.GetExtension(field.Options, E_EnumCustomname)\n\t\tif err == nil && v.(*string) != nil {\n\t\t\treturn *(v.(*string))\n\t\t}\n\t}\n\treturn \"\"\n}\n\nfunc GetEnumValueCustomName(field *google_protobuf.EnumValueDescriptorProto) string {\n\tif field == nil {\n\t\treturn \"\"\n\t}\n\tif field.Options != nil {\n\t\tv, err := proto.GetExtension(field.Options, E_EnumvalueCustomname)\n\t\tif err == nil && v.(*string) != nil {\n\t\t\treturn *(v.(*string))\n\t\t}\n\t}\n\treturn \"\"\n}\n\nfunc GetJsonTag(field *google_protobuf.FieldDescriptorProto) *string {\n\tif field == nil {\n\t\treturn nil\n\t}\n\tif field.Options != nil {\n\t\tv, err := proto.GetExtension(field.Options, E_Jsontag)\n\t\tif err == nil && v.(*string) != nil {\n\t\t\treturn (v.(*string))\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc GetMoreTags(field *google_protobuf.FieldDescriptorProto) *string {\n\tif field == nil {\n\t\treturn nil\n\t}\n\tif field.Options != nil {\n\t\tv, err := proto.GetExtension(field.Options, E_Moretags)\n\t\tif err == nil && v.(*string) != nil {\n\t\t\treturn (v.(*string))\n\t\t}\n\t}\n\treturn nil\n}\n\ntype EnableFunc func(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool\n\nfunc EnabledGoEnumPrefix(file *google_protobuf.FileDescriptorProto, enum *google_protobuf.EnumDescriptorProto) bool {\n\treturn proto.GetBoolExtension(enum.Options, E_GoprotoEnumPrefix, proto.GetBoolExtension(file.Options, E_GoprotoEnumPrefixAll, true))\n}\n\nfunc EnabledGoStringer(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_GoprotoStringer, proto.GetBoolExtension(file.Options, E_GoprotoStringerAll, true))\n}\n\nfunc HasGoGetters(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_GoprotoGetters, proto.GetBoolExtension(file.Options, E_GoprotoGettersAll, true))\n}\n\nfunc IsUnion(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_Onlyone, proto.GetBoolExtension(file.Options, E_OnlyoneAll, false))\n}\n\nfunc HasGoString(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_Gostring, proto.GetBoolExtension(file.Options, E_GostringAll, false))\n}\n\nfunc HasEqual(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_Equal, proto.GetBoolExtension(file.Options, E_EqualAll, false))\n}\n\nfunc HasVerboseEqual(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_VerboseEqual, proto.GetBoolExtension(file.Options, E_VerboseEqualAll, false))\n}\n\nfunc IsStringer(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_Stringer, proto.GetBoolExtension(file.Options, E_StringerAll, false))\n}\n\nfunc IsFace(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_Face, proto.GetBoolExtension(file.Options, E_FaceAll, false))\n}\n\nfunc HasDescription(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_Description, proto.GetBoolExtension(file.Options, E_DescriptionAll, false))\n}\n\nfunc HasPopulate(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_Populate, proto.GetBoolExtension(file.Options, E_PopulateAll, false))\n}\n\nfunc HasTestGen(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_Testgen, proto.GetBoolExtension(file.Options, E_TestgenAll, false))\n}\n\nfunc HasBenchGen(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_Benchgen, proto.GetBoolExtension(file.Options, E_BenchgenAll, false))\n}\n\nfunc IsMarshaler(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_Marshaler, proto.GetBoolExtension(file.Options, E_MarshalerAll, false))\n}\n\nfunc IsUnmarshaler(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_Unmarshaler, proto.GetBoolExtension(file.Options, E_UnmarshalerAll, false))\n}\n\nfunc IsStableMarshaler(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_StableMarshaler, proto.GetBoolExtension(file.Options, E_StableMarshalerAll, false))\n}\n\nfunc IsSizer(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_Sizer, proto.GetBoolExtension(file.Options, E_SizerAll, false))\n}\n\nfunc IsProtoSizer(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_Protosizer, proto.GetBoolExtension(file.Options, E_ProtosizerAll, false))\n}\n\nfunc IsGoEnumStringer(file *google_protobuf.FileDescriptorProto, enum *google_protobuf.EnumDescriptorProto) bool {\n\treturn proto.GetBoolExtension(enum.Options, E_GoprotoEnumStringer, proto.GetBoolExtension(file.Options, E_GoprotoEnumStringerAll, true))\n}\n\nfunc IsEnumStringer(file *google_protobuf.FileDescriptorProto, enum *google_protobuf.EnumDescriptorProto) bool {\n\treturn proto.GetBoolExtension(enum.Options, E_EnumStringer, proto.GetBoolExtension(file.Options, E_EnumStringerAll, false))\n}\n\nfunc IsUnsafeMarshaler(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_UnsafeMarshaler, proto.GetBoolExtension(file.Options, E_UnsafeMarshalerAll, false))\n}\n\nfunc IsUnsafeUnmarshaler(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_UnsafeUnmarshaler, proto.GetBoolExtension(file.Options, E_UnsafeUnmarshalerAll, false))\n}\n\nfunc HasExtensionsMap(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_GoprotoExtensionsMap, proto.GetBoolExtension(file.Options, E_GoprotoExtensionsMapAll, true))\n}\n\nfunc HasUnrecognized(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_GoprotoUnrecognized, proto.GetBoolExtension(file.Options, E_GoprotoUnrecognizedAll, true))\n}\n\nfunc IsProto3(file *google_protobuf.FileDescriptorProto) bool {\n\treturn file.GetSyntax() == \"proto3\"\n}\n\nfunc ImportsGoGoProto(file *google_protobuf.FileDescriptorProto) bool {\n\treturn proto.GetBoolExtension(file.Options, E_GogoprotoImport, true)\n}\n\nfunc HasCompare(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_Compare, proto.GetBoolExtension(file.Options, E_CompareAll, false))\n}\n\nfunc RegistersGolangProto(file *google_protobuf.FileDescriptorProto) bool {\n\treturn proto.GetBoolExtension(file.Options, E_GoprotoRegistration, false)\n}\n\nfunc HasMessageName(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool {\n\treturn proto.GetBoolExtension(message.Options, E_Messagename, proto.GetBoolExtension(file.Options, E_MessagenameAll, false))\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/Makefile",
    "content": "# Go support for Protocol Buffers - Google's data interchange format\n#\n# Copyright 2010 The Go Authors.  All rights reserved.\n# https://github.com/golang/protobuf\n#\n# Redistribution and use in source and binary forms, with or without\n# modification, are permitted provided that the following conditions are\n# met:\n#\n#     * Redistributions of source code must retain the above copyright\n# notice, this list of conditions and the following disclaimer.\n#     * Redistributions in binary form must reproduce the above\n# copyright notice, this list of conditions and the following disclaimer\n# in the documentation and/or other materials provided with the\n# distribution.\n#     * Neither the name of Google Inc. nor the names of its\n# contributors may be used to endorse or promote products derived from\n# this software without specific prior written permission.\n#\n# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n# \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\ninstall:\n\tgo install\n\ntest: install generate-test-pbs\n\tgo test\n\n\ngenerate-test-pbs:\n\tmake install\n\tmake -C test_proto\n\tmake -C proto3_proto\n\tmake\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/clone.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2011 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n// Protocol buffer deep copy and merge.\n// TODO: RawMessage.\n\npackage proto\n\nimport (\n\t\"fmt\"\n\t\"log\"\n\t\"reflect\"\n\t\"strings\"\n)\n\n// Clone returns a deep copy of a protocol buffer.\nfunc Clone(src Message) Message {\n\tin := reflect.ValueOf(src)\n\tif in.IsNil() {\n\t\treturn src\n\t}\n\tout := reflect.New(in.Type().Elem())\n\tdst := out.Interface().(Message)\n\tMerge(dst, src)\n\treturn dst\n}\n\n// Merger is the interface representing objects that can merge messages of the same type.\ntype Merger interface {\n\t// Merge merges src into this message.\n\t// Required and optional fields that are set in src will be set to that value in dst.\n\t// Elements of repeated fields will be appended.\n\t//\n\t// Merge may panic if called with a different argument type than the receiver.\n\tMerge(src Message)\n}\n\n// generatedMerger is the custom merge method that generated protos will have.\n// We must add this method since a generate Merge method will conflict with\n// many existing protos that have a Merge data field already defined.\ntype generatedMerger interface {\n\tXXX_Merge(src Message)\n}\n\n// Merge merges src into dst.\n// Required and optional fields that are set in src will be set to that value in dst.\n// Elements of repeated fields will be appended.\n// Merge panics if src and dst are not the same type, or if dst is nil.\nfunc Merge(dst, src Message) {\n\tif m, ok := dst.(Merger); ok {\n\t\tm.Merge(src)\n\t\treturn\n\t}\n\n\tin := reflect.ValueOf(src)\n\tout := reflect.ValueOf(dst)\n\tif out.IsNil() {\n\t\tpanic(\"proto: nil destination\")\n\t}\n\tif in.Type() != out.Type() {\n\t\tpanic(fmt.Sprintf(\"proto.Merge(%T, %T) type mismatch\", dst, src))\n\t}\n\tif in.IsNil() {\n\t\treturn // Merge from nil src is a noop\n\t}\n\tif m, ok := dst.(generatedMerger); ok {\n\t\tm.XXX_Merge(src)\n\t\treturn\n\t}\n\tmergeStruct(out.Elem(), in.Elem())\n}\n\nfunc mergeStruct(out, in reflect.Value) {\n\tsprop := GetProperties(in.Type())\n\tfor i := 0; i < in.NumField(); i++ {\n\t\tf := in.Type().Field(i)\n\t\tif strings.HasPrefix(f.Name, \"XXX_\") {\n\t\t\tcontinue\n\t\t}\n\t\tmergeAny(out.Field(i), in.Field(i), false, sprop.Prop[i])\n\t}\n\n\tif emIn, ok := in.Addr().Interface().(extensionsBytes); ok {\n\t\temOut := out.Addr().Interface().(extensionsBytes)\n\t\tbIn := emIn.GetExtensions()\n\t\tbOut := emOut.GetExtensions()\n\t\t*bOut = append(*bOut, *bIn...)\n\t} else if emIn, err := extendable(in.Addr().Interface()); err == nil {\n\t\temOut, _ := extendable(out.Addr().Interface())\n\t\tmIn, muIn := emIn.extensionsRead()\n\t\tif mIn != nil {\n\t\t\tmOut := emOut.extensionsWrite()\n\t\t\tmuIn.Lock()\n\t\t\tmergeExtension(mOut, mIn)\n\t\t\tmuIn.Unlock()\n\t\t}\n\t}\n\n\tuf := in.FieldByName(\"XXX_unrecognized\")\n\tif !uf.IsValid() {\n\t\treturn\n\t}\n\tuin := uf.Bytes()\n\tif len(uin) > 0 {\n\t\tout.FieldByName(\"XXX_unrecognized\").SetBytes(append([]byte(nil), uin...))\n\t}\n}\n\n// mergeAny performs a merge between two values of the same type.\n// viaPtr indicates whether the values were indirected through a pointer (implying proto2).\n// prop is set if this is a struct field (it may be nil).\nfunc mergeAny(out, in reflect.Value, viaPtr bool, prop *Properties) {\n\tif in.Type() == protoMessageType {\n\t\tif !in.IsNil() {\n\t\t\tif out.IsNil() {\n\t\t\t\tout.Set(reflect.ValueOf(Clone(in.Interface().(Message))))\n\t\t\t} else {\n\t\t\t\tMerge(out.Interface().(Message), in.Interface().(Message))\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tswitch in.Kind() {\n\tcase reflect.Bool, reflect.Float32, reflect.Float64, reflect.Int32, reflect.Int64,\n\t\treflect.String, reflect.Uint32, reflect.Uint64:\n\t\tif !viaPtr && isProto3Zero(in) {\n\t\t\treturn\n\t\t}\n\t\tout.Set(in)\n\tcase reflect.Interface:\n\t\t// Probably a oneof field; copy non-nil values.\n\t\tif in.IsNil() {\n\t\t\treturn\n\t\t}\n\t\t// Allocate destination if it is not set, or set to a different type.\n\t\t// Otherwise we will merge as normal.\n\t\tif out.IsNil() || out.Elem().Type() != in.Elem().Type() {\n\t\t\tout.Set(reflect.New(in.Elem().Elem().Type())) // interface -> *T -> T -> new(T)\n\t\t}\n\t\tmergeAny(out.Elem(), in.Elem(), false, nil)\n\tcase reflect.Map:\n\t\tif in.Len() == 0 {\n\t\t\treturn\n\t\t}\n\t\tif out.IsNil() {\n\t\t\tout.Set(reflect.MakeMap(in.Type()))\n\t\t}\n\t\t// For maps with value types of *T or []byte we need to deep copy each value.\n\t\telemKind := in.Type().Elem().Kind()\n\t\tfor _, key := range in.MapKeys() {\n\t\t\tvar val reflect.Value\n\t\t\tswitch elemKind {\n\t\t\tcase reflect.Ptr:\n\t\t\t\tval = reflect.New(in.Type().Elem().Elem())\n\t\t\t\tmergeAny(val, in.MapIndex(key), false, nil)\n\t\t\tcase reflect.Slice:\n\t\t\t\tval = in.MapIndex(key)\n\t\t\t\tval = reflect.ValueOf(append([]byte{}, val.Bytes()...))\n\t\t\tdefault:\n\t\t\t\tval = in.MapIndex(key)\n\t\t\t}\n\t\t\tout.SetMapIndex(key, val)\n\t\t}\n\tcase reflect.Ptr:\n\t\tif in.IsNil() {\n\t\t\treturn\n\t\t}\n\t\tif out.IsNil() {\n\t\t\tout.Set(reflect.New(in.Elem().Type()))\n\t\t}\n\t\tmergeAny(out.Elem(), in.Elem(), true, nil)\n\tcase reflect.Slice:\n\t\tif in.IsNil() {\n\t\t\treturn\n\t\t}\n\t\tif in.Type().Elem().Kind() == reflect.Uint8 {\n\t\t\t// []byte is a scalar bytes field, not a repeated field.\n\n\t\t\t// Edge case: if this is in a proto3 message, a zero length\n\t\t\t// bytes field is considered the zero value, and should not\n\t\t\t// be merged.\n\t\t\tif prop != nil && prop.proto3 && in.Len() == 0 {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Make a deep copy.\n\t\t\t// Append to []byte{} instead of []byte(nil) so that we never end up\n\t\t\t// with a nil result.\n\t\t\tout.SetBytes(append([]byte{}, in.Bytes()...))\n\t\t\treturn\n\t\t}\n\t\tn := in.Len()\n\t\tif out.IsNil() {\n\t\t\tout.Set(reflect.MakeSlice(in.Type(), 0, n))\n\t\t}\n\t\tswitch in.Type().Elem().Kind() {\n\t\tcase reflect.Bool, reflect.Float32, reflect.Float64, reflect.Int32, reflect.Int64,\n\t\t\treflect.String, reflect.Uint32, reflect.Uint64:\n\t\t\tout.Set(reflect.AppendSlice(out, in))\n\t\tdefault:\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tx := reflect.Indirect(reflect.New(in.Type().Elem()))\n\t\t\t\tmergeAny(x, in.Index(i), false, nil)\n\t\t\t\tout.Set(reflect.Append(out, x))\n\t\t\t}\n\t\t}\n\tcase reflect.Struct:\n\t\tmergeStruct(out, in)\n\tdefault:\n\t\t// unknown type, so not a protocol buffer\n\t\tlog.Printf(\"proto: don't know how to copy %v\", in)\n\t}\n}\n\nfunc mergeExtension(out, in map[int32]Extension) {\n\tfor extNum, eIn := range in {\n\t\teOut := Extension{desc: eIn.desc}\n\t\tif eIn.value != nil {\n\t\t\tv := reflect.New(reflect.TypeOf(eIn.value)).Elem()\n\t\t\tmergeAny(v, reflect.ValueOf(eIn.value), false, nil)\n\t\t\teOut.value = v.Interface()\n\t\t}\n\t\tif eIn.enc != nil {\n\t\t\teOut.enc = make([]byte, len(eIn.enc))\n\t\t\tcopy(eOut.enc, eIn.enc)\n\t\t}\n\n\t\tout[extNum] = eOut\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/custom_gogo.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2018, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\nimport \"reflect\"\n\ntype custom interface {\n\tMarshal() ([]byte, error)\n\tUnmarshal(data []byte) error\n\tSize() int\n}\n\nvar customType = reflect.TypeOf((*custom)(nil)).Elem()\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/decode.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\n/*\n * Routines for decoding protocol buffer data to construct in-memory representations.\n */\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n)\n\n// errOverflow is returned when an integer is too large to be represented.\nvar errOverflow = errors.New(\"proto: integer overflow\")\n\n// ErrInternalBadWireType is returned by generated code when an incorrect\n// wire type is encountered. It does not get returned to user code.\nvar ErrInternalBadWireType = errors.New(\"proto: internal error: bad wiretype for oneof\")\n\n// DecodeVarint reads a varint-encoded integer from the slice.\n// It returns the integer and the number of bytes consumed, or\n// zero if there is not enough.\n// This is the format for the\n// int32, int64, uint32, uint64, bool, and enum\n// protocol buffer types.\nfunc DecodeVarint(buf []byte) (x uint64, n int) {\n\tfor shift := uint(0); shift < 64; shift += 7 {\n\t\tif n >= len(buf) {\n\t\t\treturn 0, 0\n\t\t}\n\t\tb := uint64(buf[n])\n\t\tn++\n\t\tx |= (b & 0x7F) << shift\n\t\tif (b & 0x80) == 0 {\n\t\t\treturn x, n\n\t\t}\n\t}\n\n\t// The number is too large to represent in a 64-bit value.\n\treturn 0, 0\n}\n\nfunc (p *Buffer) decodeVarintSlow() (x uint64, err error) {\n\ti := p.index\n\tl := len(p.buf)\n\n\tfor shift := uint(0); shift < 64; shift += 7 {\n\t\tif i >= l {\n\t\t\terr = io.ErrUnexpectedEOF\n\t\t\treturn\n\t\t}\n\t\tb := p.buf[i]\n\t\ti++\n\t\tx |= (uint64(b) & 0x7F) << shift\n\t\tif b < 0x80 {\n\t\t\tp.index = i\n\t\t\treturn\n\t\t}\n\t}\n\n\t// The number is too large to represent in a 64-bit value.\n\terr = errOverflow\n\treturn\n}\n\n// DecodeVarint reads a varint-encoded integer from the Buffer.\n// This is the format for the\n// int32, int64, uint32, uint64, bool, and enum\n// protocol buffer types.\nfunc (p *Buffer) DecodeVarint() (x uint64, err error) {\n\ti := p.index\n\tbuf := p.buf\n\n\tif i >= len(buf) {\n\t\treturn 0, io.ErrUnexpectedEOF\n\t} else if buf[i] < 0x80 {\n\t\tp.index++\n\t\treturn uint64(buf[i]), nil\n\t} else if len(buf)-i < 10 {\n\t\treturn p.decodeVarintSlow()\n\t}\n\n\tvar b uint64\n\t// we already checked the first byte\n\tx = uint64(buf[i]) - 0x80\n\ti++\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 7\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\tx -= 0x80 << 7\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 14\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\tx -= 0x80 << 14\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 21\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\tx -= 0x80 << 21\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 28\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\tx -= 0x80 << 28\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 35\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\tx -= 0x80 << 35\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 42\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\tx -= 0x80 << 42\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 49\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\tx -= 0x80 << 49\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 56\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\tx -= 0x80 << 56\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 63\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\t// x -= 0x80 << 63 // Always zero.\n\n\treturn 0, errOverflow\n\ndone:\n\tp.index = i\n\treturn x, nil\n}\n\n// DecodeFixed64 reads a 64-bit integer from the Buffer.\n// This is the format for the\n// fixed64, sfixed64, and double protocol buffer types.\nfunc (p *Buffer) DecodeFixed64() (x uint64, err error) {\n\t// x, err already 0\n\ti := p.index + 8\n\tif i < 0 || i > len(p.buf) {\n\t\terr = io.ErrUnexpectedEOF\n\t\treturn\n\t}\n\tp.index = i\n\n\tx = uint64(p.buf[i-8])\n\tx |= uint64(p.buf[i-7]) << 8\n\tx |= uint64(p.buf[i-6]) << 16\n\tx |= uint64(p.buf[i-5]) << 24\n\tx |= uint64(p.buf[i-4]) << 32\n\tx |= uint64(p.buf[i-3]) << 40\n\tx |= uint64(p.buf[i-2]) << 48\n\tx |= uint64(p.buf[i-1]) << 56\n\treturn\n}\n\n// DecodeFixed32 reads a 32-bit integer from the Buffer.\n// This is the format for the\n// fixed32, sfixed32, and float protocol buffer types.\nfunc (p *Buffer) DecodeFixed32() (x uint64, err error) {\n\t// x, err already 0\n\ti := p.index + 4\n\tif i < 0 || i > len(p.buf) {\n\t\terr = io.ErrUnexpectedEOF\n\t\treturn\n\t}\n\tp.index = i\n\n\tx = uint64(p.buf[i-4])\n\tx |= uint64(p.buf[i-3]) << 8\n\tx |= uint64(p.buf[i-2]) << 16\n\tx |= uint64(p.buf[i-1]) << 24\n\treturn\n}\n\n// DecodeZigzag64 reads a zigzag-encoded 64-bit integer\n// from the Buffer.\n// This is the format used for the sint64 protocol buffer type.\nfunc (p *Buffer) DecodeZigzag64() (x uint64, err error) {\n\tx, err = p.DecodeVarint()\n\tif err != nil {\n\t\treturn\n\t}\n\tx = (x >> 1) ^ uint64((int64(x&1)<<63)>>63)\n\treturn\n}\n\n// DecodeZigzag32 reads a zigzag-encoded 32-bit integer\n// from  the Buffer.\n// This is the format used for the sint32 protocol buffer type.\nfunc (p *Buffer) DecodeZigzag32() (x uint64, err error) {\n\tx, err = p.DecodeVarint()\n\tif err != nil {\n\t\treturn\n\t}\n\tx = uint64((uint32(x) >> 1) ^ uint32((int32(x&1)<<31)>>31))\n\treturn\n}\n\n// DecodeRawBytes reads a count-delimited byte buffer from the Buffer.\n// This is the format used for the bytes protocol buffer\n// type and for embedded messages.\nfunc (p *Buffer) DecodeRawBytes(alloc bool) (buf []byte, err error) {\n\tn, err := p.DecodeVarint()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tnb := int(n)\n\tif nb < 0 {\n\t\treturn nil, fmt.Errorf(\"proto: bad byte length %d\", nb)\n\t}\n\tend := p.index + nb\n\tif end < p.index || end > len(p.buf) {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\n\tif !alloc {\n\t\t// todo: check if can get more uses of alloc=false\n\t\tbuf = p.buf[p.index:end]\n\t\tp.index += nb\n\t\treturn\n\t}\n\n\tbuf = make([]byte, nb)\n\tcopy(buf, p.buf[p.index:])\n\tp.index += nb\n\treturn\n}\n\n// DecodeStringBytes reads an encoded string from the Buffer.\n// This is the format used for the proto2 string type.\nfunc (p *Buffer) DecodeStringBytes() (s string, err error) {\n\tbuf, err := p.DecodeRawBytes(false)\n\tif err != nil {\n\t\treturn\n\t}\n\treturn string(buf), nil\n}\n\n// Unmarshaler is the interface representing objects that can\n// unmarshal themselves.  The argument points to data that may be\n// overwritten, so implementations should not keep references to the\n// buffer.\n// Unmarshal implementations should not clear the receiver.\n// Any unmarshaled data should be merged into the receiver.\n// Callers of Unmarshal that do not want to retain existing data\n// should Reset the receiver before calling Unmarshal.\ntype Unmarshaler interface {\n\tUnmarshal([]byte) error\n}\n\n// newUnmarshaler is the interface representing objects that can\n// unmarshal themselves. The semantics are identical to Unmarshaler.\n//\n// This exists to support protoc-gen-go generated messages.\n// The proto package will stop type-asserting to this interface in the future.\n//\n// DO NOT DEPEND ON THIS.\ntype newUnmarshaler interface {\n\tXXX_Unmarshal([]byte) error\n}\n\n// Unmarshal parses the protocol buffer representation in buf and places the\n// decoded result in pb.  If the struct underlying pb does not match\n// the data in buf, the results can be unpredictable.\n//\n// Unmarshal resets pb before starting to unmarshal, so any\n// existing data in pb is always removed. Use UnmarshalMerge\n// to preserve and append to existing data.\nfunc Unmarshal(buf []byte, pb Message) error {\n\tpb.Reset()\n\tif u, ok := pb.(newUnmarshaler); ok {\n\t\treturn u.XXX_Unmarshal(buf)\n\t}\n\tif u, ok := pb.(Unmarshaler); ok {\n\t\treturn u.Unmarshal(buf)\n\t}\n\treturn NewBuffer(buf).Unmarshal(pb)\n}\n\n// UnmarshalMerge parses the protocol buffer representation in buf and\n// writes the decoded result to pb.  If the struct underlying pb does not match\n// the data in buf, the results can be unpredictable.\n//\n// UnmarshalMerge merges into existing data in pb.\n// Most code should use Unmarshal instead.\nfunc UnmarshalMerge(buf []byte, pb Message) error {\n\tif u, ok := pb.(newUnmarshaler); ok {\n\t\treturn u.XXX_Unmarshal(buf)\n\t}\n\tif u, ok := pb.(Unmarshaler); ok {\n\t\t// NOTE: The history of proto have unfortunately been inconsistent\n\t\t// whether Unmarshaler should or should not implicitly clear itself.\n\t\t// Some implementations do, most do not.\n\t\t// Thus, calling this here may or may not do what people want.\n\t\t//\n\t\t// See https://github.com/golang/protobuf/issues/424\n\t\treturn u.Unmarshal(buf)\n\t}\n\treturn NewBuffer(buf).Unmarshal(pb)\n}\n\n// DecodeMessage reads a count-delimited message from the Buffer.\nfunc (p *Buffer) DecodeMessage(pb Message) error {\n\tenc, err := p.DecodeRawBytes(false)\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn NewBuffer(enc).Unmarshal(pb)\n}\n\n// DecodeGroup reads a tag-delimited group from the Buffer.\n// StartGroup tag is already consumed. This function consumes\n// EndGroup tag.\nfunc (p *Buffer) DecodeGroup(pb Message) error {\n\tb := p.buf[p.index:]\n\tx, y := findEndGroup(b)\n\tif x < 0 {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\terr := Unmarshal(b[:x], pb)\n\tp.index += y\n\treturn err\n}\n\n// Unmarshal parses the protocol buffer representation in the\n// Buffer and places the decoded result in pb.  If the struct\n// underlying pb does not match the data in the buffer, the results can be\n// unpredictable.\n//\n// Unlike proto.Unmarshal, this does not reset pb before starting to unmarshal.\nfunc (p *Buffer) Unmarshal(pb Message) error {\n\t// If the object can unmarshal itself, let it.\n\tif u, ok := pb.(newUnmarshaler); ok {\n\t\terr := u.XXX_Unmarshal(p.buf[p.index:])\n\t\tp.index = len(p.buf)\n\t\treturn err\n\t}\n\tif u, ok := pb.(Unmarshaler); ok {\n\t\t// NOTE: The history of proto have unfortunately been inconsistent\n\t\t// whether Unmarshaler should or should not implicitly clear itself.\n\t\t// Some implementations do, most do not.\n\t\t// Thus, calling this here may or may not do what people want.\n\t\t//\n\t\t// See https://github.com/golang/protobuf/issues/424\n\t\terr := u.Unmarshal(p.buf[p.index:])\n\t\tp.index = len(p.buf)\n\t\treturn err\n\t}\n\n\t// Slow workaround for messages that aren't Unmarshalers.\n\t// This includes some hand-coded .pb.go files and\n\t// bootstrap protos.\n\t// TODO: fix all of those and then add Unmarshal to\n\t// the Message interface. Then:\n\t// The cast above and code below can be deleted.\n\t// The old unmarshaler can be deleted.\n\t// Clients can call Unmarshal directly (can already do that, actually).\n\tvar info InternalMessageInfo\n\terr := info.Unmarshal(pb, p.buf[p.index:])\n\tp.index = len(p.buf)\n\treturn err\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/discard.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2017 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\nimport (\n\t\"fmt\"\n\t\"reflect\"\n\t\"strings\"\n\t\"sync\"\n\t\"sync/atomic\"\n)\n\ntype generatedDiscarder interface {\n\tXXX_DiscardUnknown()\n}\n\n// DiscardUnknown recursively discards all unknown fields from this message\n// and all embedded messages.\n//\n// When unmarshaling a message with unrecognized fields, the tags and values\n// of such fields are preserved in the Message. This allows a later call to\n// marshal to be able to produce a message that continues to have those\n// unrecognized fields. To avoid this, DiscardUnknown is used to\n// explicitly clear the unknown fields after unmarshaling.\n//\n// For proto2 messages, the unknown fields of message extensions are only\n// discarded from messages that have been accessed via GetExtension.\nfunc DiscardUnknown(m Message) {\n\tif m, ok := m.(generatedDiscarder); ok {\n\t\tm.XXX_DiscardUnknown()\n\t\treturn\n\t}\n\t// TODO: Dynamically populate a InternalMessageInfo for legacy messages,\n\t// but the master branch has no implementation for InternalMessageInfo,\n\t// so it would be more work to replicate that approach.\n\tdiscardLegacy(m)\n}\n\n// DiscardUnknown recursively discards all unknown fields.\nfunc (a *InternalMessageInfo) DiscardUnknown(m Message) {\n\tdi := atomicLoadDiscardInfo(&a.discard)\n\tif di == nil {\n\t\tdi = getDiscardInfo(reflect.TypeOf(m).Elem())\n\t\tatomicStoreDiscardInfo(&a.discard, di)\n\t}\n\tdi.discard(toPointer(&m))\n}\n\ntype discardInfo struct {\n\ttyp reflect.Type\n\n\tinitialized int32 // 0: only typ is valid, 1: everything is valid\n\tlock        sync.Mutex\n\n\tfields       []discardFieldInfo\n\tunrecognized field\n}\n\ntype discardFieldInfo struct {\n\tfield   field // Offset of field, guaranteed to be valid\n\tdiscard func(src pointer)\n}\n\nvar (\n\tdiscardInfoMap  = map[reflect.Type]*discardInfo{}\n\tdiscardInfoLock sync.Mutex\n)\n\nfunc getDiscardInfo(t reflect.Type) *discardInfo {\n\tdiscardInfoLock.Lock()\n\tdefer discardInfoLock.Unlock()\n\tdi := discardInfoMap[t]\n\tif di == nil {\n\t\tdi = &discardInfo{typ: t}\n\t\tdiscardInfoMap[t] = di\n\t}\n\treturn di\n}\n\nfunc (di *discardInfo) discard(src pointer) {\n\tif src.isNil() {\n\t\treturn // Nothing to do.\n\t}\n\n\tif atomic.LoadInt32(&di.initialized) == 0 {\n\t\tdi.computeDiscardInfo()\n\t}\n\n\tfor _, fi := range di.fields {\n\t\tsfp := src.offset(fi.field)\n\t\tfi.discard(sfp)\n\t}\n\n\t// For proto2 messages, only discard unknown fields in message extensions\n\t// that have been accessed via GetExtension.\n\tif em, err := extendable(src.asPointerTo(di.typ).Interface()); err == nil {\n\t\t// Ignore lock since DiscardUnknown is not concurrency safe.\n\t\temm, _ := em.extensionsRead()\n\t\tfor _, mx := range emm {\n\t\t\tif m, ok := mx.value.(Message); ok {\n\t\t\t\tDiscardUnknown(m)\n\t\t\t}\n\t\t}\n\t}\n\n\tif di.unrecognized.IsValid() {\n\t\t*src.offset(di.unrecognized).toBytes() = nil\n\t}\n}\n\nfunc (di *discardInfo) computeDiscardInfo() {\n\tdi.lock.Lock()\n\tdefer di.lock.Unlock()\n\tif di.initialized != 0 {\n\t\treturn\n\t}\n\tt := di.typ\n\tn := t.NumField()\n\n\tfor i := 0; i < n; i++ {\n\t\tf := t.Field(i)\n\t\tif strings.HasPrefix(f.Name, \"XXX_\") {\n\t\t\tcontinue\n\t\t}\n\n\t\tdfi := discardFieldInfo{field: toField(&f)}\n\t\ttf := f.Type\n\n\t\t// Unwrap tf to get its most basic type.\n\t\tvar isPointer, isSlice bool\n\t\tif tf.Kind() == reflect.Slice && tf.Elem().Kind() != reflect.Uint8 {\n\t\t\tisSlice = true\n\t\t\ttf = tf.Elem()\n\t\t}\n\t\tif tf.Kind() == reflect.Ptr {\n\t\t\tisPointer = true\n\t\t\ttf = tf.Elem()\n\t\t}\n\t\tif isPointer && isSlice && tf.Kind() != reflect.Struct {\n\t\t\tpanic(fmt.Sprintf(\"%v.%s cannot be a slice of pointers to primitive types\", t, f.Name))\n\t\t}\n\n\t\tswitch tf.Kind() {\n\t\tcase reflect.Struct:\n\t\t\tswitch {\n\t\t\tcase !isPointer:\n\t\t\t\tpanic(fmt.Sprintf(\"%v.%s cannot be a direct struct value\", t, f.Name))\n\t\t\tcase isSlice: // E.g., []*pb.T\n\t\t\t\tdiscardInfo := getDiscardInfo(tf)\n\t\t\t\tdfi.discard = func(src pointer) {\n\t\t\t\t\tsps := src.getPointerSlice()\n\t\t\t\t\tfor _, sp := range sps {\n\t\t\t\t\t\tif !sp.isNil() {\n\t\t\t\t\t\t\tdiscardInfo.discard(sp)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tdefault: // E.g., *pb.T\n\t\t\t\tdiscardInfo := getDiscardInfo(tf)\n\t\t\t\tdfi.discard = func(src pointer) {\n\t\t\t\t\tsp := src.getPointer()\n\t\t\t\t\tif !sp.isNil() {\n\t\t\t\t\t\tdiscardInfo.discard(sp)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\tcase reflect.Map:\n\t\t\tswitch {\n\t\t\tcase isPointer || isSlice:\n\t\t\t\tpanic(fmt.Sprintf(\"%v.%s cannot be a pointer to a map or a slice of map values\", t, f.Name))\n\t\t\tdefault: // E.g., map[K]V\n\t\t\t\tif tf.Elem().Kind() == reflect.Ptr { // Proto struct (e.g., *T)\n\t\t\t\t\tdfi.discard = func(src pointer) {\n\t\t\t\t\t\tsm := src.asPointerTo(tf).Elem()\n\t\t\t\t\t\tif sm.Len() == 0 {\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfor _, key := range sm.MapKeys() {\n\t\t\t\t\t\t\tval := sm.MapIndex(key)\n\t\t\t\t\t\t\tDiscardUnknown(val.Interface().(Message))\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tdfi.discard = func(pointer) {} // Noop\n\t\t\t\t}\n\t\t\t}\n\t\tcase reflect.Interface:\n\t\t\t// Must be oneof field.\n\t\t\tswitch {\n\t\t\tcase isPointer || isSlice:\n\t\t\t\tpanic(fmt.Sprintf(\"%v.%s cannot be a pointer to a interface or a slice of interface values\", t, f.Name))\n\t\t\tdefault: // E.g., interface{}\n\t\t\t\t// TODO: Make this faster?\n\t\t\t\tdfi.discard = func(src pointer) {\n\t\t\t\t\tsu := src.asPointerTo(tf).Elem()\n\t\t\t\t\tif !su.IsNil() {\n\t\t\t\t\t\tsv := su.Elem().Elem().Field(0)\n\t\t\t\t\t\tif sv.Kind() == reflect.Ptr && sv.IsNil() {\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\t\t\t\t\t\tswitch sv.Type().Kind() {\n\t\t\t\t\t\tcase reflect.Ptr: // Proto struct (e.g., *T)\n\t\t\t\t\t\t\tDiscardUnknown(sv.Interface().(Message))\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tcontinue\n\t\t}\n\t\tdi.fields = append(di.fields, dfi)\n\t}\n\n\tdi.unrecognized = invalidField\n\tif f, ok := t.FieldByName(\"XXX_unrecognized\"); ok {\n\t\tif f.Type != reflect.TypeOf([]byte{}) {\n\t\t\tpanic(\"expected XXX_unrecognized to be of type []byte\")\n\t\t}\n\t\tdi.unrecognized = toField(&f)\n\t}\n\n\tatomic.StoreInt32(&di.initialized, 1)\n}\n\nfunc discardLegacy(m Message) {\n\tv := reflect.ValueOf(m)\n\tif v.Kind() != reflect.Ptr || v.IsNil() {\n\t\treturn\n\t}\n\tv = v.Elem()\n\tif v.Kind() != reflect.Struct {\n\t\treturn\n\t}\n\tt := v.Type()\n\n\tfor i := 0; i < v.NumField(); i++ {\n\t\tf := t.Field(i)\n\t\tif strings.HasPrefix(f.Name, \"XXX_\") {\n\t\t\tcontinue\n\t\t}\n\t\tvf := v.Field(i)\n\t\ttf := f.Type\n\n\t\t// Unwrap tf to get its most basic type.\n\t\tvar isPointer, isSlice bool\n\t\tif tf.Kind() == reflect.Slice && tf.Elem().Kind() != reflect.Uint8 {\n\t\t\tisSlice = true\n\t\t\ttf = tf.Elem()\n\t\t}\n\t\tif tf.Kind() == reflect.Ptr {\n\t\t\tisPointer = true\n\t\t\ttf = tf.Elem()\n\t\t}\n\t\tif isPointer && isSlice && tf.Kind() != reflect.Struct {\n\t\t\tpanic(fmt.Sprintf(\"%T.%s cannot be a slice of pointers to primitive types\", m, f.Name))\n\t\t}\n\n\t\tswitch tf.Kind() {\n\t\tcase reflect.Struct:\n\t\t\tswitch {\n\t\t\tcase !isPointer:\n\t\t\t\tpanic(fmt.Sprintf(\"%T.%s cannot be a direct struct value\", m, f.Name))\n\t\t\tcase isSlice: // E.g., []*pb.T\n\t\t\t\tfor j := 0; j < vf.Len(); j++ {\n\t\t\t\t\tdiscardLegacy(vf.Index(j).Interface().(Message))\n\t\t\t\t}\n\t\t\tdefault: // E.g., *pb.T\n\t\t\t\tdiscardLegacy(vf.Interface().(Message))\n\t\t\t}\n\t\tcase reflect.Map:\n\t\t\tswitch {\n\t\t\tcase isPointer || isSlice:\n\t\t\t\tpanic(fmt.Sprintf(\"%T.%s cannot be a pointer to a map or a slice of map values\", m, f.Name))\n\t\t\tdefault: // E.g., map[K]V\n\t\t\t\ttv := vf.Type().Elem()\n\t\t\t\tif tv.Kind() == reflect.Ptr && tv.Implements(protoMessageType) { // Proto struct (e.g., *T)\n\t\t\t\t\tfor _, key := range vf.MapKeys() {\n\t\t\t\t\t\tval := vf.MapIndex(key)\n\t\t\t\t\t\tdiscardLegacy(val.Interface().(Message))\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\tcase reflect.Interface:\n\t\t\t// Must be oneof field.\n\t\t\tswitch {\n\t\t\tcase isPointer || isSlice:\n\t\t\t\tpanic(fmt.Sprintf(\"%T.%s cannot be a pointer to a interface or a slice of interface values\", m, f.Name))\n\t\t\tdefault: // E.g., test_proto.isCommunique_Union interface\n\t\t\t\tif !vf.IsNil() && f.Tag.Get(\"protobuf_oneof\") != \"\" {\n\t\t\t\t\tvf = vf.Elem() // E.g., *test_proto.Communique_Msg\n\t\t\t\t\tif !vf.IsNil() {\n\t\t\t\t\t\tvf = vf.Elem()   // E.g., test_proto.Communique_Msg\n\t\t\t\t\t\tvf = vf.Field(0) // E.g., Proto struct (e.g., *T) or primitive value\n\t\t\t\t\t\tif vf.Kind() == reflect.Ptr {\n\t\t\t\t\t\t\tdiscardLegacy(vf.Interface().(Message))\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif vf := v.FieldByName(\"XXX_unrecognized\"); vf.IsValid() {\n\t\tif vf.Type() != reflect.TypeOf([]byte{}) {\n\t\t\tpanic(\"expected XXX_unrecognized to be of type []byte\")\n\t\t}\n\t\tvf.Set(reflect.ValueOf([]byte(nil)))\n\t}\n\n\t// For proto2 messages, only discard unknown fields in message extensions\n\t// that have been accessed via GetExtension.\n\tif em, err := extendable(m); err == nil {\n\t\t// Ignore lock since discardLegacy is not concurrency safe.\n\t\temm, _ := em.extensionsRead()\n\t\tfor _, mx := range emm {\n\t\t\tif m, ok := mx.value.(Message); ok {\n\t\t\t\tdiscardLegacy(m)\n\t\t\t}\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/duration.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2016 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\n// This file implements conversions between google.protobuf.Duration\n// and time.Duration.\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"time\"\n)\n\nconst (\n\t// Range of a Duration in seconds, as specified in\n\t// google/protobuf/duration.proto. This is about 10,000 years in seconds.\n\tmaxSeconds = int64(10000 * 365.25 * 24 * 60 * 60)\n\tminSeconds = -maxSeconds\n)\n\n// validateDuration determines whether the Duration is valid according to the\n// definition in google/protobuf/duration.proto. A valid Duration\n// may still be too large to fit into a time.Duration (the range of Duration\n// is about 10,000 years, and the range of time.Duration is about 290).\nfunc validateDuration(d *duration) error {\n\tif d == nil {\n\t\treturn errors.New(\"duration: nil Duration\")\n\t}\n\tif d.Seconds < minSeconds || d.Seconds > maxSeconds {\n\t\treturn fmt.Errorf(\"duration: %#v: seconds out of range\", d)\n\t}\n\tif d.Nanos <= -1e9 || d.Nanos >= 1e9 {\n\t\treturn fmt.Errorf(\"duration: %#v: nanos out of range\", d)\n\t}\n\t// Seconds and Nanos must have the same sign, unless d.Nanos is zero.\n\tif (d.Seconds < 0 && d.Nanos > 0) || (d.Seconds > 0 && d.Nanos < 0) {\n\t\treturn fmt.Errorf(\"duration: %#v: seconds and nanos have different signs\", d)\n\t}\n\treturn nil\n}\n\n// DurationFromProto converts a Duration to a time.Duration. DurationFromProto\n// returns an error if the Duration is invalid or is too large to be\n// represented in a time.Duration.\nfunc durationFromProto(p *duration) (time.Duration, error) {\n\tif err := validateDuration(p); err != nil {\n\t\treturn 0, err\n\t}\n\td := time.Duration(p.Seconds) * time.Second\n\tif int64(d/time.Second) != p.Seconds {\n\t\treturn 0, fmt.Errorf(\"duration: %#v is out of range for time.Duration\", p)\n\t}\n\tif p.Nanos != 0 {\n\t\td += time.Duration(p.Nanos)\n\t\tif (d < 0) != (p.Nanos < 0) {\n\t\t\treturn 0, fmt.Errorf(\"duration: %#v is out of range for time.Duration\", p)\n\t\t}\n\t}\n\treturn d, nil\n}\n\n// DurationProto converts a time.Duration to a Duration.\nfunc durationProto(d time.Duration) *duration {\n\tnanos := d.Nanoseconds()\n\tsecs := nanos / 1e9\n\tnanos -= secs * 1e9\n\treturn &duration{\n\t\tSeconds: secs,\n\t\tNanos:   int32(nanos),\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/duration_gogo.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2016, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\nimport (\n\t\"reflect\"\n\t\"time\"\n)\n\nvar durationType = reflect.TypeOf((*time.Duration)(nil)).Elem()\n\ntype duration struct {\n\tSeconds int64 `protobuf:\"varint,1,opt,name=seconds,proto3\" json:\"seconds,omitempty\"`\n\tNanos   int32 `protobuf:\"varint,2,opt,name=nanos,proto3\" json:\"nanos,omitempty\"`\n}\n\nfunc (m *duration) Reset()       { *m = duration{} }\nfunc (*duration) ProtoMessage()  {}\nfunc (*duration) String() string { return \"duration<string>\" }\n\nfunc init() {\n\tRegisterType((*duration)(nil), \"gogo.protobuf.proto.duration\")\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/encode.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\n/*\n * Routines for encoding data into the wire format for protocol buffers.\n */\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"reflect\"\n)\n\n// RequiredNotSetError is the error returned if Marshal is called with\n// a protocol buffer struct whose required fields have not\n// all been initialized. It is also the error returned if Unmarshal is\n// called with an encoded protocol buffer that does not include all the\n// required fields.\n//\n// When printed, RequiredNotSetError reports the first unset required field in a\n// message. If the field cannot be precisely determined, it is reported as\n// \"{Unknown}\".\ntype RequiredNotSetError struct {\n\tfield string\n}\n\nfunc (e *RequiredNotSetError) Error() string {\n\treturn fmt.Sprintf(\"proto: required field %q not set\", e.field)\n}\n\nvar (\n\t// errRepeatedHasNil is the error returned if Marshal is called with\n\t// a struct with a repeated field containing a nil element.\n\terrRepeatedHasNil = errors.New(\"proto: repeated field has nil element\")\n\n\t// errOneofHasNil is the error returned if Marshal is called with\n\t// a struct with a oneof field containing a nil element.\n\terrOneofHasNil = errors.New(\"proto: oneof field has nil value\")\n\n\t// ErrNil is the error returned if Marshal is called with nil.\n\tErrNil = errors.New(\"proto: Marshal called with nil\")\n\n\t// ErrTooLarge is the error returned if Marshal is called with a\n\t// message that encodes to >2GB.\n\tErrTooLarge = errors.New(\"proto: message encodes to over 2 GB\")\n)\n\n// The fundamental encoders that put bytes on the wire.\n// Those that take integer types all accept uint64 and are\n// therefore of type valueEncoder.\n\nconst maxVarintBytes = 10 // maximum length of a varint\n\n// EncodeVarint returns the varint encoding of x.\n// This is the format for the\n// int32, int64, uint32, uint64, bool, and enum\n// protocol buffer types.\n// Not used by the package itself, but helpful to clients\n// wishing to use the same encoding.\nfunc EncodeVarint(x uint64) []byte {\n\tvar buf [maxVarintBytes]byte\n\tvar n int\n\tfor n = 0; x > 127; n++ {\n\t\tbuf[n] = 0x80 | uint8(x&0x7F)\n\t\tx >>= 7\n\t}\n\tbuf[n] = uint8(x)\n\tn++\n\treturn buf[0:n]\n}\n\n// EncodeVarint writes a varint-encoded integer to the Buffer.\n// This is the format for the\n// int32, int64, uint32, uint64, bool, and enum\n// protocol buffer types.\nfunc (p *Buffer) EncodeVarint(x uint64) error {\n\tfor x >= 1<<7 {\n\t\tp.buf = append(p.buf, uint8(x&0x7f|0x80))\n\t\tx >>= 7\n\t}\n\tp.buf = append(p.buf, uint8(x))\n\treturn nil\n}\n\n// SizeVarint returns the varint encoding size of an integer.\nfunc SizeVarint(x uint64) int {\n\tswitch {\n\tcase x < 1<<7:\n\t\treturn 1\n\tcase x < 1<<14:\n\t\treturn 2\n\tcase x < 1<<21:\n\t\treturn 3\n\tcase x < 1<<28:\n\t\treturn 4\n\tcase x < 1<<35:\n\t\treturn 5\n\tcase x < 1<<42:\n\t\treturn 6\n\tcase x < 1<<49:\n\t\treturn 7\n\tcase x < 1<<56:\n\t\treturn 8\n\tcase x < 1<<63:\n\t\treturn 9\n\t}\n\treturn 10\n}\n\n// EncodeFixed64 writes a 64-bit integer to the Buffer.\n// This is the format for the\n// fixed64, sfixed64, and double protocol buffer types.\nfunc (p *Buffer) EncodeFixed64(x uint64) error {\n\tp.buf = append(p.buf,\n\t\tuint8(x),\n\t\tuint8(x>>8),\n\t\tuint8(x>>16),\n\t\tuint8(x>>24),\n\t\tuint8(x>>32),\n\t\tuint8(x>>40),\n\t\tuint8(x>>48),\n\t\tuint8(x>>56))\n\treturn nil\n}\n\n// EncodeFixed32 writes a 32-bit integer to the Buffer.\n// This is the format for the\n// fixed32, sfixed32, and float protocol buffer types.\nfunc (p *Buffer) EncodeFixed32(x uint64) error {\n\tp.buf = append(p.buf,\n\t\tuint8(x),\n\t\tuint8(x>>8),\n\t\tuint8(x>>16),\n\t\tuint8(x>>24))\n\treturn nil\n}\n\n// EncodeZigzag64 writes a zigzag-encoded 64-bit integer\n// to the Buffer.\n// This is the format used for the sint64 protocol buffer type.\nfunc (p *Buffer) EncodeZigzag64(x uint64) error {\n\t// use signed number to get arithmetic right shift.\n\treturn p.EncodeVarint(uint64((x << 1) ^ uint64((int64(x) >> 63))))\n}\n\n// EncodeZigzag32 writes a zigzag-encoded 32-bit integer\n// to the Buffer.\n// This is the format used for the sint32 protocol buffer type.\nfunc (p *Buffer) EncodeZigzag32(x uint64) error {\n\t// use signed number to get arithmetic right shift.\n\treturn p.EncodeVarint(uint64((uint32(x) << 1) ^ uint32((int32(x) >> 31))))\n}\n\n// EncodeRawBytes writes a count-delimited byte buffer to the Buffer.\n// This is the format used for the bytes protocol buffer\n// type and for embedded messages.\nfunc (p *Buffer) EncodeRawBytes(b []byte) error {\n\tp.EncodeVarint(uint64(len(b)))\n\tp.buf = append(p.buf, b...)\n\treturn nil\n}\n\n// EncodeStringBytes writes an encoded string to the Buffer.\n// This is the format used for the proto2 string type.\nfunc (p *Buffer) EncodeStringBytes(s string) error {\n\tp.EncodeVarint(uint64(len(s)))\n\tp.buf = append(p.buf, s...)\n\treturn nil\n}\n\n// Marshaler is the interface representing objects that can marshal themselves.\ntype Marshaler interface {\n\tMarshal() ([]byte, error)\n}\n\n// EncodeMessage writes the protocol buffer to the Buffer,\n// prefixed by a varint-encoded length.\nfunc (p *Buffer) EncodeMessage(pb Message) error {\n\tsiz := Size(pb)\n\tp.EncodeVarint(uint64(siz))\n\treturn p.Marshal(pb)\n}\n\n// All protocol buffer fields are nillable, but be careful.\nfunc isNil(v reflect.Value) bool {\n\tswitch v.Kind() {\n\tcase reflect.Interface, reflect.Map, reflect.Ptr, reflect.Slice:\n\t\treturn v.IsNil()\n\t}\n\treturn false\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/encode_gogo.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2013, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\nfunc NewRequiredNotSetError(field string) *RequiredNotSetError {\n\treturn &RequiredNotSetError{field}\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/equal.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2011 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n// Protocol buffer comparison.\n\npackage proto\n\nimport (\n\t\"bytes\"\n\t\"log\"\n\t\"reflect\"\n\t\"strings\"\n)\n\n/*\nEqual returns true iff protocol buffers a and b are equal.\nThe arguments must both be pointers to protocol buffer structs.\n\nEquality is defined in this way:\n  - Two messages are equal iff they are the same type,\n    corresponding fields are equal, unknown field sets\n    are equal, and extensions sets are equal.\n  - Two set scalar fields are equal iff their values are equal.\n    If the fields are of a floating-point type, remember that\n    NaN != x for all x, including NaN. If the message is defined\n    in a proto3 .proto file, fields are not \"set\"; specifically,\n    zero length proto3 \"bytes\" fields are equal (nil == {}).\n  - Two repeated fields are equal iff their lengths are the same,\n    and their corresponding elements are equal. Note a \"bytes\" field,\n    although represented by []byte, is not a repeated field and the\n    rule for the scalar fields described above applies.\n  - Two unset fields are equal.\n  - Two unknown field sets are equal if their current\n    encoded state is equal.\n  - Two extension sets are equal iff they have corresponding\n    elements that are pairwise equal.\n  - Two map fields are equal iff their lengths are the same,\n    and they contain the same set of elements. Zero-length map\n    fields are equal.\n  - Every other combination of things are not equal.\n\nThe return value is undefined if a and b are not protocol buffers.\n*/\nfunc Equal(a, b Message) bool {\n\tif a == nil || b == nil {\n\t\treturn a == b\n\t}\n\tv1, v2 := reflect.ValueOf(a), reflect.ValueOf(b)\n\tif v1.Type() != v2.Type() {\n\t\treturn false\n\t}\n\tif v1.Kind() == reflect.Ptr {\n\t\tif v1.IsNil() {\n\t\t\treturn v2.IsNil()\n\t\t}\n\t\tif v2.IsNil() {\n\t\t\treturn false\n\t\t}\n\t\tv1, v2 = v1.Elem(), v2.Elem()\n\t}\n\tif v1.Kind() != reflect.Struct {\n\t\treturn false\n\t}\n\treturn equalStruct(v1, v2)\n}\n\n// v1 and v2 are known to have the same type.\nfunc equalStruct(v1, v2 reflect.Value) bool {\n\tsprop := GetProperties(v1.Type())\n\tfor i := 0; i < v1.NumField(); i++ {\n\t\tf := v1.Type().Field(i)\n\t\tif strings.HasPrefix(f.Name, \"XXX_\") {\n\t\t\tcontinue\n\t\t}\n\t\tf1, f2 := v1.Field(i), v2.Field(i)\n\t\tif f.Type.Kind() == reflect.Ptr {\n\t\t\tif n1, n2 := f1.IsNil(), f2.IsNil(); n1 && n2 {\n\t\t\t\t// both unset\n\t\t\t\tcontinue\n\t\t\t} else if n1 != n2 {\n\t\t\t\t// set/unset mismatch\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tf1, f2 = f1.Elem(), f2.Elem()\n\t\t}\n\t\tif !equalAny(f1, f2, sprop.Prop[i]) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\tif em1 := v1.FieldByName(\"XXX_InternalExtensions\"); em1.IsValid() {\n\t\tem2 := v2.FieldByName(\"XXX_InternalExtensions\")\n\t\tif !equalExtensions(v1.Type(), em1.Interface().(XXX_InternalExtensions), em2.Interface().(XXX_InternalExtensions)) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\tif em1 := v1.FieldByName(\"XXX_extensions\"); em1.IsValid() {\n\t\tem2 := v2.FieldByName(\"XXX_extensions\")\n\t\tif !equalExtMap(v1.Type(), em1.Interface().(map[int32]Extension), em2.Interface().(map[int32]Extension)) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\tuf := v1.FieldByName(\"XXX_unrecognized\")\n\tif !uf.IsValid() {\n\t\treturn true\n\t}\n\n\tu1 := uf.Bytes()\n\tu2 := v2.FieldByName(\"XXX_unrecognized\").Bytes()\n\treturn bytes.Equal(u1, u2)\n}\n\n// v1 and v2 are known to have the same type.\n// prop may be nil.\nfunc equalAny(v1, v2 reflect.Value, prop *Properties) bool {\n\tif v1.Type() == protoMessageType {\n\t\tm1, _ := v1.Interface().(Message)\n\t\tm2, _ := v2.Interface().(Message)\n\t\treturn Equal(m1, m2)\n\t}\n\tswitch v1.Kind() {\n\tcase reflect.Bool:\n\t\treturn v1.Bool() == v2.Bool()\n\tcase reflect.Float32, reflect.Float64:\n\t\treturn v1.Float() == v2.Float()\n\tcase reflect.Int32, reflect.Int64:\n\t\treturn v1.Int() == v2.Int()\n\tcase reflect.Interface:\n\t\t// Probably a oneof field; compare the inner values.\n\t\tn1, n2 := v1.IsNil(), v2.IsNil()\n\t\tif n1 || n2 {\n\t\t\treturn n1 == n2\n\t\t}\n\t\te1, e2 := v1.Elem(), v2.Elem()\n\t\tif e1.Type() != e2.Type() {\n\t\t\treturn false\n\t\t}\n\t\treturn equalAny(e1, e2, nil)\n\tcase reflect.Map:\n\t\tif v1.Len() != v2.Len() {\n\t\t\treturn false\n\t\t}\n\t\tfor _, key := range v1.MapKeys() {\n\t\t\tval2 := v2.MapIndex(key)\n\t\t\tif !val2.IsValid() {\n\t\t\t\t// This key was not found in the second map.\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif !equalAny(v1.MapIndex(key), val2, nil) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t\treturn true\n\tcase reflect.Ptr:\n\t\t// Maps may have nil values in them, so check for nil.\n\t\tif v1.IsNil() && v2.IsNil() {\n\t\t\treturn true\n\t\t}\n\t\tif v1.IsNil() != v2.IsNil() {\n\t\t\treturn false\n\t\t}\n\t\treturn equalAny(v1.Elem(), v2.Elem(), prop)\n\tcase reflect.Slice:\n\t\tif v1.Type().Elem().Kind() == reflect.Uint8 {\n\t\t\t// short circuit: []byte\n\n\t\t\t// Edge case: if this is in a proto3 message, a zero length\n\t\t\t// bytes field is considered the zero value.\n\t\t\tif prop != nil && prop.proto3 && v1.Len() == 0 && v2.Len() == 0 {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\tif v1.IsNil() != v2.IsNil() {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn bytes.Equal(v1.Interface().([]byte), v2.Interface().([]byte))\n\t\t}\n\n\t\tif v1.Len() != v2.Len() {\n\t\t\treturn false\n\t\t}\n\t\tfor i := 0; i < v1.Len(); i++ {\n\t\t\tif !equalAny(v1.Index(i), v2.Index(i), prop) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t\treturn true\n\tcase reflect.String:\n\t\treturn v1.Interface().(string) == v2.Interface().(string)\n\tcase reflect.Struct:\n\t\treturn equalStruct(v1, v2)\n\tcase reflect.Uint32, reflect.Uint64:\n\t\treturn v1.Uint() == v2.Uint()\n\t}\n\n\t// unknown type, so not a protocol buffer\n\tlog.Printf(\"proto: don't know how to compare %v\", v1)\n\treturn false\n}\n\n// base is the struct type that the extensions are based on.\n// x1 and x2 are InternalExtensions.\nfunc equalExtensions(base reflect.Type, x1, x2 XXX_InternalExtensions) bool {\n\tem1, _ := x1.extensionsRead()\n\tem2, _ := x2.extensionsRead()\n\treturn equalExtMap(base, em1, em2)\n}\n\nfunc equalExtMap(base reflect.Type, em1, em2 map[int32]Extension) bool {\n\tif len(em1) != len(em2) {\n\t\treturn false\n\t}\n\n\tfor extNum, e1 := range em1 {\n\t\te2, ok := em2[extNum]\n\t\tif !ok {\n\t\t\treturn false\n\t\t}\n\n\t\tm1, m2 := e1.value, e2.value\n\n\t\tif m1 == nil && m2 == nil {\n\t\t\t// Both have only encoded form.\n\t\t\tif bytes.Equal(e1.enc, e2.enc) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\t// The bytes are different, but the extensions might still be\n\t\t\t// equal. We need to decode them to compare.\n\t\t}\n\n\t\tif m1 != nil && m2 != nil {\n\t\t\t// Both are unencoded.\n\t\t\tif !equalAny(reflect.ValueOf(m1), reflect.ValueOf(m2), nil) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\n\t\t// At least one is encoded. To do a semantically correct comparison\n\t\t// we need to unmarshal them first.\n\t\tvar desc *ExtensionDesc\n\t\tif m := extensionMaps[base]; m != nil {\n\t\t\tdesc = m[extNum]\n\t\t}\n\t\tif desc == nil {\n\t\t\t// If both have only encoded form and the bytes are the same,\n\t\t\t// it is handled above. We get here when the bytes are different.\n\t\t\t// We don't know how to decode it, so just compare them as byte\n\t\t\t// slices.\n\t\t\tlog.Printf(\"proto: don't know how to compare extension %d of %v\", extNum, base)\n\t\t\treturn false\n\t\t}\n\t\tvar err error\n\t\tif m1 == nil {\n\t\t\tm1, err = decodeExtension(e1.enc, desc)\n\t\t}\n\t\tif m2 == nil && err == nil {\n\t\t\tm2, err = decodeExtension(e2.enc, desc)\n\t\t}\n\t\tif err != nil {\n\t\t\t// The encoded form is invalid.\n\t\t\tlog.Printf(\"proto: badly encoded extension %d of %v: %v\", extNum, base, err)\n\t\t\treturn false\n\t\t}\n\t\tif !equalAny(reflect.ValueOf(m1), reflect.ValueOf(m2), nil) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\treturn true\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/extensions.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\n/*\n * Types and routines for supporting protocol buffer extensions.\n */\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"reflect\"\n\t\"strconv\"\n\t\"sync\"\n)\n\n// ErrMissingExtension is the error returned by GetExtension if the named extension is not in the message.\nvar ErrMissingExtension = errors.New(\"proto: missing extension\")\n\n// ExtensionRange represents a range of message extensions for a protocol buffer.\n// Used in code generated by the protocol compiler.\ntype ExtensionRange struct {\n\tStart, End int32 // both inclusive\n}\n\n// extendableProto is an interface implemented by any protocol buffer generated by the current\n// proto compiler that may be extended.\ntype extendableProto interface {\n\tMessage\n\tExtensionRangeArray() []ExtensionRange\n\textensionsWrite() map[int32]Extension\n\textensionsRead() (map[int32]Extension, sync.Locker)\n}\n\n// extendableProtoV1 is an interface implemented by a protocol buffer generated by the previous\n// version of the proto compiler that may be extended.\ntype extendableProtoV1 interface {\n\tMessage\n\tExtensionRangeArray() []ExtensionRange\n\tExtensionMap() map[int32]Extension\n}\n\n// extensionAdapter is a wrapper around extendableProtoV1 that implements extendableProto.\ntype extensionAdapter struct {\n\textendableProtoV1\n}\n\nfunc (e extensionAdapter) extensionsWrite() map[int32]Extension {\n\treturn e.ExtensionMap()\n}\n\nfunc (e extensionAdapter) extensionsRead() (map[int32]Extension, sync.Locker) {\n\treturn e.ExtensionMap(), notLocker{}\n}\n\n// notLocker is a sync.Locker whose Lock and Unlock methods are nops.\ntype notLocker struct{}\n\nfunc (n notLocker) Lock()   {}\nfunc (n notLocker) Unlock() {}\n\n// extendable returns the extendableProto interface for the given generated proto message.\n// If the proto message has the old extension format, it returns a wrapper that implements\n// the extendableProto interface.\nfunc extendable(p interface{}) (extendableProto, error) {\n\tswitch p := p.(type) {\n\tcase extendableProto:\n\t\tif isNilPtr(p) {\n\t\t\treturn nil, fmt.Errorf(\"proto: nil %T is not extendable\", p)\n\t\t}\n\t\treturn p, nil\n\tcase extendableProtoV1:\n\t\tif isNilPtr(p) {\n\t\t\treturn nil, fmt.Errorf(\"proto: nil %T is not extendable\", p)\n\t\t}\n\t\treturn extensionAdapter{p}, nil\n\tcase extensionsBytes:\n\t\treturn slowExtensionAdapter{p}, nil\n\t}\n\t// Don't allocate a specific error containing %T:\n\t// this is the hot path for Clone and MarshalText.\n\treturn nil, errNotExtendable\n}\n\nvar errNotExtendable = errors.New(\"proto: not an extendable proto.Message\")\n\nfunc isNilPtr(x interface{}) bool {\n\tv := reflect.ValueOf(x)\n\treturn v.Kind() == reflect.Ptr && v.IsNil()\n}\n\n// XXX_InternalExtensions is an internal representation of proto extensions.\n//\n// Each generated message struct type embeds an anonymous XXX_InternalExtensions field,\n// thus gaining the unexported 'extensions' method, which can be called only from the proto package.\n//\n// The methods of XXX_InternalExtensions are not concurrency safe in general,\n// but calls to logically read-only methods such as has and get may be executed concurrently.\ntype XXX_InternalExtensions struct {\n\t// The struct must be indirect so that if a user inadvertently copies a\n\t// generated message and its embedded XXX_InternalExtensions, they\n\t// avoid the mayhem of a copied mutex.\n\t//\n\t// The mutex serializes all logically read-only operations to p.extensionMap.\n\t// It is up to the client to ensure that write operations to p.extensionMap are\n\t// mutually exclusive with other accesses.\n\tp *struct {\n\t\tmu           sync.Mutex\n\t\textensionMap map[int32]Extension\n\t}\n}\n\n// extensionsWrite returns the extension map, creating it on first use.\nfunc (e *XXX_InternalExtensions) extensionsWrite() map[int32]Extension {\n\tif e.p == nil {\n\t\te.p = new(struct {\n\t\t\tmu           sync.Mutex\n\t\t\textensionMap map[int32]Extension\n\t\t})\n\t\te.p.extensionMap = make(map[int32]Extension)\n\t}\n\treturn e.p.extensionMap\n}\n\n// extensionsRead returns the extensions map for read-only use.  It may be nil.\n// The caller must hold the returned mutex's lock when accessing Elements within the map.\nfunc (e *XXX_InternalExtensions) extensionsRead() (map[int32]Extension, sync.Locker) {\n\tif e.p == nil {\n\t\treturn nil, nil\n\t}\n\treturn e.p.extensionMap, &e.p.mu\n}\n\n// ExtensionDesc represents an extension specification.\n// Used in generated code from the protocol compiler.\ntype ExtensionDesc struct {\n\tExtendedType  Message     // nil pointer to the type that is being extended\n\tExtensionType interface{} // nil pointer to the extension type\n\tField         int32       // field number\n\tName          string      // fully-qualified name of extension, for text formatting\n\tTag           string      // protobuf tag style\n\tFilename      string      // name of the file in which the extension is defined\n}\n\nfunc (ed *ExtensionDesc) repeated() bool {\n\tt := reflect.TypeOf(ed.ExtensionType)\n\treturn t.Kind() == reflect.Slice && t.Elem().Kind() != reflect.Uint8\n}\n\n// Extension represents an extension in a message.\ntype Extension struct {\n\t// When an extension is stored in a message using SetExtension\n\t// only desc and value are set. When the message is marshaled\n\t// enc will be set to the encoded form of the message.\n\t//\n\t// When a message is unmarshaled and contains extensions, each\n\t// extension will have only enc set. When such an extension is\n\t// accessed using GetExtension (or GetExtensions) desc and value\n\t// will be set.\n\tdesc  *ExtensionDesc\n\tvalue interface{}\n\tenc   []byte\n}\n\n// SetRawExtension is for testing only.\nfunc SetRawExtension(base Message, id int32, b []byte) {\n\tif ebase, ok := base.(extensionsBytes); ok {\n\t\tclearExtension(base, id)\n\t\text := ebase.GetExtensions()\n\t\t*ext = append(*ext, b...)\n\t\treturn\n\t}\n\tepb, err := extendable(base)\n\tif err != nil {\n\t\treturn\n\t}\n\textmap := epb.extensionsWrite()\n\textmap[id] = Extension{enc: b}\n}\n\n// isExtensionField returns true iff the given field number is in an extension range.\nfunc isExtensionField(pb extendableProto, field int32) bool {\n\tfor _, er := range pb.ExtensionRangeArray() {\n\t\tif er.Start <= field && field <= er.End {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\n// checkExtensionTypes checks that the given extension is valid for pb.\nfunc checkExtensionTypes(pb extendableProto, extension *ExtensionDesc) error {\n\tvar pbi interface{} = pb\n\t// Check the extended type.\n\tif ea, ok := pbi.(extensionAdapter); ok {\n\t\tpbi = ea.extendableProtoV1\n\t}\n\tif ea, ok := pbi.(slowExtensionAdapter); ok {\n\t\tpbi = ea.extensionsBytes\n\t}\n\tif a, b := reflect.TypeOf(pbi), reflect.TypeOf(extension.ExtendedType); a != b {\n\t\treturn fmt.Errorf(\"proto: bad extended type; %v does not extend %v\", b, a)\n\t}\n\t// Check the range.\n\tif !isExtensionField(pb, extension.Field) {\n\t\treturn errors.New(\"proto: bad extension number; not in declared ranges\")\n\t}\n\treturn nil\n}\n\n// extPropKey is sufficient to uniquely identify an extension.\ntype extPropKey struct {\n\tbase  reflect.Type\n\tfield int32\n}\n\nvar extProp = struct {\n\tsync.RWMutex\n\tm map[extPropKey]*Properties\n}{\n\tm: make(map[extPropKey]*Properties),\n}\n\nfunc extensionProperties(ed *ExtensionDesc) *Properties {\n\tkey := extPropKey{base: reflect.TypeOf(ed.ExtendedType), field: ed.Field}\n\n\textProp.RLock()\n\tif prop, ok := extProp.m[key]; ok {\n\t\textProp.RUnlock()\n\t\treturn prop\n\t}\n\textProp.RUnlock()\n\n\textProp.Lock()\n\tdefer extProp.Unlock()\n\t// Check again.\n\tif prop, ok := extProp.m[key]; ok {\n\t\treturn prop\n\t}\n\n\tprop := new(Properties)\n\tprop.Init(reflect.TypeOf(ed.ExtensionType), \"unknown_name\", ed.Tag, nil)\n\textProp.m[key] = prop\n\treturn prop\n}\n\n// HasExtension returns whether the given extension is present in pb.\nfunc HasExtension(pb Message, extension *ExtensionDesc) bool {\n\tif epb, doki := pb.(extensionsBytes); doki {\n\t\text := epb.GetExtensions()\n\t\tbuf := *ext\n\t\to := 0\n\t\tfor o < len(buf) {\n\t\t\ttag, n := DecodeVarint(buf[o:])\n\t\t\tfieldNum := int32(tag >> 3)\n\t\t\tif int32(fieldNum) == extension.Field {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\twireType := int(tag & 0x7)\n\t\t\to += n\n\t\t\tl, err := size(buf[o:], wireType)\n\t\t\tif err != nil {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\to += l\n\t\t}\n\t\treturn false\n\t}\n\t// TODO: Check types, field numbers, etc.?\n\tepb, err := extendable(pb)\n\tif err != nil {\n\t\treturn false\n\t}\n\textmap, mu := epb.extensionsRead()\n\tif extmap == nil {\n\t\treturn false\n\t}\n\tmu.Lock()\n\t_, ok := extmap[extension.Field]\n\tmu.Unlock()\n\treturn ok\n}\n\n// ClearExtension removes the given extension from pb.\nfunc ClearExtension(pb Message, extension *ExtensionDesc) {\n\tclearExtension(pb, extension.Field)\n}\n\nfunc clearExtension(pb Message, fieldNum int32) {\n\tif epb, ok := pb.(extensionsBytes); ok {\n\t\toffset := 0\n\t\tfor offset != -1 {\n\t\t\toffset = deleteExtension(epb, fieldNum, offset)\n\t\t}\n\t\treturn\n\t}\n\tepb, err := extendable(pb)\n\tif err != nil {\n\t\treturn\n\t}\n\t// TODO: Check types, field numbers, etc.?\n\textmap := epb.extensionsWrite()\n\tdelete(extmap, fieldNum)\n}\n\n// GetExtension retrieves a proto2 extended field from pb.\n//\n// If the descriptor is type complete (i.e., ExtensionDesc.ExtensionType is non-nil),\n// then GetExtension parses the encoded field and returns a Go value of the specified type.\n// If the field is not present, then the default value is returned (if one is specified),\n// otherwise ErrMissingExtension is reported.\n//\n// If the descriptor is not type complete (i.e., ExtensionDesc.ExtensionType is nil),\n// then GetExtension returns the raw encoded bytes of the field extension.\nfunc GetExtension(pb Message, extension *ExtensionDesc) (interface{}, error) {\n\tif epb, doki := pb.(extensionsBytes); doki {\n\t\text := epb.GetExtensions()\n\t\treturn decodeExtensionFromBytes(extension, *ext)\n\t}\n\n\tepb, err := extendable(pb)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tif extension.ExtendedType != nil {\n\t\t// can only check type if this is a complete descriptor\n\t\tif cerr := checkExtensionTypes(epb, extension); cerr != nil {\n\t\t\treturn nil, cerr\n\t\t}\n\t}\n\n\temap, mu := epb.extensionsRead()\n\tif emap == nil {\n\t\treturn defaultExtensionValue(extension)\n\t}\n\tmu.Lock()\n\tdefer mu.Unlock()\n\te, ok := emap[extension.Field]\n\tif !ok {\n\t\t// defaultExtensionValue returns the default value or\n\t\t// ErrMissingExtension if there is no default.\n\t\treturn defaultExtensionValue(extension)\n\t}\n\n\tif e.value != nil {\n\t\t// Already decoded. Check the descriptor, though.\n\t\tif e.desc != extension {\n\t\t\t// This shouldn't happen. If it does, it means that\n\t\t\t// GetExtension was called twice with two different\n\t\t\t// descriptors with the same field number.\n\t\t\treturn nil, errors.New(\"proto: descriptor conflict\")\n\t\t}\n\t\treturn e.value, nil\n\t}\n\n\tif extension.ExtensionType == nil {\n\t\t// incomplete descriptor\n\t\treturn e.enc, nil\n\t}\n\n\tv, err := decodeExtension(e.enc, extension)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\t// Remember the decoded version and drop the encoded version.\n\t// That way it is safe to mutate what we return.\n\te.value = v\n\te.desc = extension\n\te.enc = nil\n\temap[extension.Field] = e\n\treturn e.value, nil\n}\n\n// defaultExtensionValue returns the default value for extension.\n// If no default for an extension is defined ErrMissingExtension is returned.\nfunc defaultExtensionValue(extension *ExtensionDesc) (interface{}, error) {\n\tif extension.ExtensionType == nil {\n\t\t// incomplete descriptor, so no default\n\t\treturn nil, ErrMissingExtension\n\t}\n\n\tt := reflect.TypeOf(extension.ExtensionType)\n\tprops := extensionProperties(extension)\n\n\tsf, _, err := fieldDefault(t, props)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tif sf == nil || sf.value == nil {\n\t\t// There is no default value.\n\t\treturn nil, ErrMissingExtension\n\t}\n\n\tif t.Kind() != reflect.Ptr {\n\t\t// We do not need to return a Ptr, we can directly return sf.value.\n\t\treturn sf.value, nil\n\t}\n\n\t// We need to return an interface{} that is a pointer to sf.value.\n\tvalue := reflect.New(t).Elem()\n\tvalue.Set(reflect.New(value.Type().Elem()))\n\tif sf.kind == reflect.Int32 {\n\t\t// We may have an int32 or an enum, but the underlying data is int32.\n\t\t// Since we can't set an int32 into a non int32 reflect.value directly\n\t\t// set it as a int32.\n\t\tvalue.Elem().SetInt(int64(sf.value.(int32)))\n\t} else {\n\t\tvalue.Elem().Set(reflect.ValueOf(sf.value))\n\t}\n\treturn value.Interface(), nil\n}\n\n// decodeExtension decodes an extension encoded in b.\nfunc decodeExtension(b []byte, extension *ExtensionDesc) (interface{}, error) {\n\tt := reflect.TypeOf(extension.ExtensionType)\n\tunmarshal := typeUnmarshaler(t, extension.Tag)\n\n\t// t is a pointer to a struct, pointer to basic type or a slice.\n\t// Allocate space to store the pointer/slice.\n\tvalue := reflect.New(t).Elem()\n\n\tvar err error\n\tfor {\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\twire := int(x) & 7\n\n\t\tb, err = unmarshal(b, valToPointer(value.Addr()), wire)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\n\t\tif len(b) == 0 {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn value.Interface(), nil\n}\n\n// GetExtensions returns a slice of the extensions present in pb that are also listed in es.\n// The returned slice has the same length as es; missing extensions will appear as nil elements.\nfunc GetExtensions(pb Message, es []*ExtensionDesc) (extensions []interface{}, err error) {\n\tepb, err := extendable(pb)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\textensions = make([]interface{}, len(es))\n\tfor i, e := range es {\n\t\textensions[i], err = GetExtension(epb, e)\n\t\tif err == ErrMissingExtension {\n\t\t\terr = nil\n\t\t}\n\t\tif err != nil {\n\t\t\treturn\n\t\t}\n\t}\n\treturn\n}\n\n// ExtensionDescs returns a new slice containing pb's extension descriptors, in undefined order.\n// For non-registered extensions, ExtensionDescs returns an incomplete descriptor containing\n// just the Field field, which defines the extension's field number.\nfunc ExtensionDescs(pb Message) ([]*ExtensionDesc, error) {\n\tepb, err := extendable(pb)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tregisteredExtensions := RegisteredExtensions(pb)\n\n\temap, mu := epb.extensionsRead()\n\tif emap == nil {\n\t\treturn nil, nil\n\t}\n\tmu.Lock()\n\tdefer mu.Unlock()\n\textensions := make([]*ExtensionDesc, 0, len(emap))\n\tfor extid, e := range emap {\n\t\tdesc := e.desc\n\t\tif desc == nil {\n\t\t\tdesc = registeredExtensions[extid]\n\t\t\tif desc == nil {\n\t\t\t\tdesc = &ExtensionDesc{Field: extid}\n\t\t\t}\n\t\t}\n\n\t\textensions = append(extensions, desc)\n\t}\n\treturn extensions, nil\n}\n\n// SetExtension sets the specified extension of pb to the specified value.\nfunc SetExtension(pb Message, extension *ExtensionDesc, value interface{}) error {\n\tif epb, ok := pb.(extensionsBytes); ok {\n\t\tnewb, err := encodeExtension(extension, value)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbb := epb.GetExtensions()\n\t\t*bb = append(*bb, newb...)\n\t\treturn nil\n\t}\n\tepb, err := extendable(pb)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif err := checkExtensionTypes(epb, extension); err != nil {\n\t\treturn err\n\t}\n\ttyp := reflect.TypeOf(extension.ExtensionType)\n\tif typ != reflect.TypeOf(value) {\n\t\treturn errors.New(\"proto: bad extension value type\")\n\t}\n\t// nil extension values need to be caught early, because the\n\t// encoder can't distinguish an ErrNil due to a nil extension\n\t// from an ErrNil due to a missing field. Extensions are\n\t// always optional, so the encoder would just swallow the error\n\t// and drop all the extensions from the encoded message.\n\tif reflect.ValueOf(value).IsNil() {\n\t\treturn fmt.Errorf(\"proto: SetExtension called with nil value of type %T\", value)\n\t}\n\n\textmap := epb.extensionsWrite()\n\textmap[extension.Field] = Extension{desc: extension, value: value}\n\treturn nil\n}\n\n// ClearAllExtensions clears all extensions from pb.\nfunc ClearAllExtensions(pb Message) {\n\tif epb, doki := pb.(extensionsBytes); doki {\n\t\text := epb.GetExtensions()\n\t\t*ext = []byte{}\n\t\treturn\n\t}\n\tepb, err := extendable(pb)\n\tif err != nil {\n\t\treturn\n\t}\n\tm := epb.extensionsWrite()\n\tfor k := range m {\n\t\tdelete(m, k)\n\t}\n}\n\n// A global registry of extensions.\n// The generated code will register the generated descriptors by calling RegisterExtension.\n\nvar extensionMaps = make(map[reflect.Type]map[int32]*ExtensionDesc)\n\n// RegisterExtension is called from the generated code.\nfunc RegisterExtension(desc *ExtensionDesc) {\n\tst := reflect.TypeOf(desc.ExtendedType).Elem()\n\tm := extensionMaps[st]\n\tif m == nil {\n\t\tm = make(map[int32]*ExtensionDesc)\n\t\textensionMaps[st] = m\n\t}\n\tif _, ok := m[desc.Field]; ok {\n\t\tpanic(\"proto: duplicate extension registered: \" + st.String() + \" \" + strconv.Itoa(int(desc.Field)))\n\t}\n\tm[desc.Field] = desc\n}\n\n// RegisteredExtensions returns a map of the registered extensions of a\n// protocol buffer struct, indexed by the extension number.\n// The argument pb should be a nil pointer to the struct type.\nfunc RegisteredExtensions(pb Message) map[int32]*ExtensionDesc {\n\treturn extensionMaps[reflect.TypeOf(pb).Elem()]\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/extensions_gogo.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2013, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\nimport (\n\t\"bytes\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"reflect\"\n\t\"sort\"\n\t\"strings\"\n\t\"sync\"\n)\n\ntype extensionsBytes interface {\n\tMessage\n\tExtensionRangeArray() []ExtensionRange\n\tGetExtensions() *[]byte\n}\n\ntype slowExtensionAdapter struct {\n\textensionsBytes\n}\n\nfunc (s slowExtensionAdapter) extensionsWrite() map[int32]Extension {\n\tpanic(\"Please report a bug to github.com/gogo/protobuf if you see this message: Writing extensions is not supported for extensions stored in a byte slice field.\")\n}\n\nfunc (s slowExtensionAdapter) extensionsRead() (map[int32]Extension, sync.Locker) {\n\tb := s.GetExtensions()\n\tm, err := BytesToExtensionsMap(*b)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\treturn m, notLocker{}\n}\n\nfunc GetBoolExtension(pb Message, extension *ExtensionDesc, ifnotset bool) bool {\n\tif reflect.ValueOf(pb).IsNil() {\n\t\treturn ifnotset\n\t}\n\tvalue, err := GetExtension(pb, extension)\n\tif err != nil {\n\t\treturn ifnotset\n\t}\n\tif value == nil {\n\t\treturn ifnotset\n\t}\n\tif value.(*bool) == nil {\n\t\treturn ifnotset\n\t}\n\treturn *(value.(*bool))\n}\n\nfunc (this *Extension) Equal(that *Extension) bool {\n\tif err := this.Encode(); err != nil {\n\t\treturn false\n\t}\n\tif err := that.Encode(); err != nil {\n\t\treturn false\n\t}\n\treturn bytes.Equal(this.enc, that.enc)\n}\n\nfunc (this *Extension) Compare(that *Extension) int {\n\tif err := this.Encode(); err != nil {\n\t\treturn 1\n\t}\n\tif err := that.Encode(); err != nil {\n\t\treturn -1\n\t}\n\treturn bytes.Compare(this.enc, that.enc)\n}\n\nfunc SizeOfInternalExtension(m extendableProto) (n int) {\n\tinfo := getMarshalInfo(reflect.TypeOf(m))\n\treturn info.sizeV1Extensions(m.extensionsWrite())\n}\n\ntype sortableMapElem struct {\n\tfield int32\n\text   Extension\n}\n\nfunc newSortableExtensionsFromMap(m map[int32]Extension) sortableExtensions {\n\ts := make(sortableExtensions, 0, len(m))\n\tfor k, v := range m {\n\t\ts = append(s, &sortableMapElem{field: k, ext: v})\n\t}\n\treturn s\n}\n\ntype sortableExtensions []*sortableMapElem\n\nfunc (this sortableExtensions) Len() int { return len(this) }\n\nfunc (this sortableExtensions) Swap(i, j int) { this[i], this[j] = this[j], this[i] }\n\nfunc (this sortableExtensions) Less(i, j int) bool { return this[i].field < this[j].field }\n\nfunc (this sortableExtensions) String() string {\n\tsort.Sort(this)\n\tss := make([]string, len(this))\n\tfor i := range this {\n\t\tss[i] = fmt.Sprintf(\"%d: %v\", this[i].field, this[i].ext)\n\t}\n\treturn \"map[\" + strings.Join(ss, \",\") + \"]\"\n}\n\nfunc StringFromInternalExtension(m extendableProto) string {\n\treturn StringFromExtensionsMap(m.extensionsWrite())\n}\n\nfunc StringFromExtensionsMap(m map[int32]Extension) string {\n\treturn newSortableExtensionsFromMap(m).String()\n}\n\nfunc StringFromExtensionsBytes(ext []byte) string {\n\tm, err := BytesToExtensionsMap(ext)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\treturn StringFromExtensionsMap(m)\n}\n\nfunc EncodeInternalExtension(m extendableProto, data []byte) (n int, err error) {\n\treturn EncodeExtensionMap(m.extensionsWrite(), data)\n}\n\nfunc EncodeExtensionMap(m map[int32]Extension, data []byte) (n int, err error) {\n\to := 0\n\tfor _, e := range m {\n\t\tif err := e.Encode(); err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\tn := copy(data[o:], e.enc)\n\t\tif n != len(e.enc) {\n\t\t\treturn 0, io.ErrShortBuffer\n\t\t}\n\t\to += n\n\t}\n\treturn o, nil\n}\n\nfunc GetRawExtension(m map[int32]Extension, id int32) ([]byte, error) {\n\te := m[id]\n\tif err := e.Encode(); err != nil {\n\t\treturn nil, err\n\t}\n\treturn e.enc, nil\n}\n\nfunc size(buf []byte, wire int) (int, error) {\n\tswitch wire {\n\tcase WireVarint:\n\t\t_, n := DecodeVarint(buf)\n\t\treturn n, nil\n\tcase WireFixed64:\n\t\treturn 8, nil\n\tcase WireBytes:\n\t\tv, n := DecodeVarint(buf)\n\t\treturn int(v) + n, nil\n\tcase WireFixed32:\n\t\treturn 4, nil\n\tcase WireStartGroup:\n\t\toffset := 0\n\t\tfor {\n\t\t\tu, n := DecodeVarint(buf[offset:])\n\t\t\tfwire := int(u & 0x7)\n\t\t\toffset += n\n\t\t\tif fwire == WireEndGroup {\n\t\t\t\treturn offset, nil\n\t\t\t}\n\t\t\ts, err := size(buf[offset:], wire)\n\t\t\tif err != nil {\n\t\t\t\treturn 0, err\n\t\t\t}\n\t\t\toffset += s\n\t\t}\n\t}\n\treturn 0, fmt.Errorf(\"proto: can't get size for unknown wire type %d\", wire)\n}\n\nfunc BytesToExtensionsMap(buf []byte) (map[int32]Extension, error) {\n\tm := make(map[int32]Extension)\n\ti := 0\n\tfor i < len(buf) {\n\t\ttag, n := DecodeVarint(buf[i:])\n\t\tif n <= 0 {\n\t\t\treturn nil, fmt.Errorf(\"unable to decode varint\")\n\t\t}\n\t\tfieldNum := int32(tag >> 3)\n\t\twireType := int(tag & 0x7)\n\t\tl, err := size(buf[i+n:], wireType)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tend := i + int(l) + n\n\t\tm[int32(fieldNum)] = Extension{enc: buf[i:end]}\n\t\ti = end\n\t}\n\treturn m, nil\n}\n\nfunc NewExtension(e []byte) Extension {\n\tee := Extension{enc: make([]byte, len(e))}\n\tcopy(ee.enc, e)\n\treturn ee\n}\n\nfunc AppendExtension(e Message, tag int32, buf []byte) {\n\tif ee, eok := e.(extensionsBytes); eok {\n\t\text := ee.GetExtensions()\n\t\t*ext = append(*ext, buf...)\n\t\treturn\n\t}\n\tif ee, eok := e.(extendableProto); eok {\n\t\tm := ee.extensionsWrite()\n\t\text := m[int32(tag)] // may be missing\n\t\text.enc = append(ext.enc, buf...)\n\t\tm[int32(tag)] = ext\n\t}\n}\n\nfunc encodeExtension(extension *ExtensionDesc, value interface{}) ([]byte, error) {\n\tu := getMarshalInfo(reflect.TypeOf(extension.ExtendedType))\n\tei := u.getExtElemInfo(extension)\n\tv := value\n\tp := toAddrPointer(&v, ei.isptr)\n\tsiz := ei.sizer(p, SizeVarint(ei.wiretag))\n\tbuf := make([]byte, 0, siz)\n\treturn ei.marshaler(buf, p, ei.wiretag, false)\n}\n\nfunc decodeExtensionFromBytes(extension *ExtensionDesc, buf []byte) (interface{}, error) {\n\to := 0\n\tfor o < len(buf) {\n\t\ttag, n := DecodeVarint((buf)[o:])\n\t\tfieldNum := int32(tag >> 3)\n\t\twireType := int(tag & 0x7)\n\t\tif o+n > len(buf) {\n\t\t\treturn nil, fmt.Errorf(\"unable to decode extension\")\n\t\t}\n\t\tl, err := size((buf)[o+n:], wireType)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tif int32(fieldNum) == extension.Field {\n\t\t\tif o+n+l > len(buf) {\n\t\t\t\treturn nil, fmt.Errorf(\"unable to decode extension\")\n\t\t\t}\n\t\t\tv, err := decodeExtension((buf)[o:o+n+l], extension)\n\t\t\tif err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t\treturn v, nil\n\t\t}\n\t\to += n + l\n\t}\n\treturn defaultExtensionValue(extension)\n}\n\nfunc (this *Extension) Encode() error {\n\tif this.enc == nil {\n\t\tvar err error\n\t\tthis.enc, err = encodeExtension(this.desc, this.value)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (this Extension) GoString() string {\n\tif err := this.Encode(); err != nil {\n\t\treturn fmt.Sprintf(\"error encoding extension: %v\", err)\n\t}\n\treturn fmt.Sprintf(\"proto.NewExtension(%#v)\", this.enc)\n}\n\nfunc SetUnsafeExtension(pb Message, fieldNum int32, value interface{}) error {\n\ttyp := reflect.TypeOf(pb).Elem()\n\text, ok := extensionMaps[typ]\n\tif !ok {\n\t\treturn fmt.Errorf(\"proto: bad extended type; %s is not extendable\", typ.String())\n\t}\n\tdesc, ok := ext[fieldNum]\n\tif !ok {\n\t\treturn errors.New(\"proto: bad extension number; not in declared ranges\")\n\t}\n\treturn SetExtension(pb, desc, value)\n}\n\nfunc GetUnsafeExtension(pb Message, fieldNum int32) (interface{}, error) {\n\ttyp := reflect.TypeOf(pb).Elem()\n\text, ok := extensionMaps[typ]\n\tif !ok {\n\t\treturn nil, fmt.Errorf(\"proto: bad extended type; %s is not extendable\", typ.String())\n\t}\n\tdesc, ok := ext[fieldNum]\n\tif !ok {\n\t\treturn nil, fmt.Errorf(\"unregistered field number %d\", fieldNum)\n\t}\n\treturn GetExtension(pb, desc)\n}\n\nfunc NewUnsafeXXX_InternalExtensions(m map[int32]Extension) XXX_InternalExtensions {\n\tx := &XXX_InternalExtensions{\n\t\tp: new(struct {\n\t\t\tmu           sync.Mutex\n\t\t\textensionMap map[int32]Extension\n\t\t}),\n\t}\n\tx.p.extensionMap = m\n\treturn *x\n}\n\nfunc GetUnsafeExtensionsMap(extendable Message) map[int32]Extension {\n\tpb := extendable.(extendableProto)\n\treturn pb.extensionsWrite()\n}\n\nfunc deleteExtension(pb extensionsBytes, theFieldNum int32, offset int) int {\n\text := pb.GetExtensions()\n\tfor offset < len(*ext) {\n\t\ttag, n1 := DecodeVarint((*ext)[offset:])\n\t\tfieldNum := int32(tag >> 3)\n\t\twireType := int(tag & 0x7)\n\t\tn2, err := size((*ext)[offset+n1:], wireType)\n\t\tif err != nil {\n\t\t\tpanic(err)\n\t\t}\n\t\tnewOffset := offset + n1 + n2\n\t\tif fieldNum == theFieldNum {\n\t\t\t*ext = append((*ext)[:offset], (*ext)[newOffset:]...)\n\t\t\treturn offset\n\t\t}\n\t\toffset = newOffset\n\t}\n\treturn -1\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/lib.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n/*\nPackage proto converts data structures to and from the wire format of\nprotocol buffers.  It works in concert with the Go source code generated\nfor .proto files by the protocol compiler.\n\nA summary of the properties of the protocol buffer interface\nfor a protocol buffer variable v:\n\n  - Names are turned from camel_case to CamelCase for export.\n  - There are no methods on v to set fields; just treat\n\tthem as structure fields.\n  - There are getters that return a field's value if set,\n\tand return the field's default value if unset.\n\tThe getters work even if the receiver is a nil message.\n  - The zero value for a struct is its correct initialization state.\n\tAll desired fields must be set before marshaling.\n  - A Reset() method will restore a protobuf struct to its zero state.\n  - Non-repeated fields are pointers to the values; nil means unset.\n\tThat is, optional or required field int32 f becomes F *int32.\n  - Repeated fields are slices.\n  - Helper functions are available to aid the setting of fields.\n\tmsg.Foo = proto.String(\"hello\") // set field\n  - Constants are defined to hold the default values of all fields that\n\thave them.  They have the form Default_StructName_FieldName.\n\tBecause the getter methods handle defaulted values,\n\tdirect use of these constants should be rare.\n  - Enums are given type names and maps from names to values.\n\tEnum values are prefixed by the enclosing message's name, or by the\n\tenum's type name if it is a top-level enum. Enum types have a String\n\tmethod, and a Enum method to assist in message construction.\n  - Nested messages, groups and enums have type names prefixed with the name of\n\tthe surrounding message type.\n  - Extensions are given descriptor names that start with E_,\n\tfollowed by an underscore-delimited list of the nested messages\n\tthat contain it (if any) followed by the CamelCased name of the\n\textension field itself.  HasExtension, ClearExtension, GetExtension\n\tand SetExtension are functions for manipulating extensions.\n  - Oneof field sets are given a single field in their message,\n\twith distinguished wrapper types for each possible field value.\n  - Marshal and Unmarshal are functions to encode and decode the wire format.\n\nWhen the .proto file specifies `syntax=\"proto3\"`, there are some differences:\n\n  - Non-repeated fields of non-message type are values instead of pointers.\n  - Enum types do not get an Enum method.\n\nThe simplest way to describe this is to see an example.\nGiven file test.proto, containing\n\n\tpackage example;\n\n\tenum FOO { X = 17; }\n\n\tmessage Test {\n\t  required string label = 1;\n\t  optional int32 type = 2 [default=77];\n\t  repeated int64 reps = 3;\n\t  optional group OptionalGroup = 4 {\n\t    required string RequiredField = 5;\n\t  }\n\t  oneof union {\n\t    int32 number = 6;\n\t    string name = 7;\n\t  }\n\t}\n\nThe resulting file, test.pb.go, is:\n\n\tpackage example\n\n\timport proto \"github.com/gogo/protobuf/proto\"\n\timport math \"math\"\n\n\ttype FOO int32\n\tconst (\n\t\tFOO_X FOO = 17\n\t)\n\tvar FOO_name = map[int32]string{\n\t\t17: \"X\",\n\t}\n\tvar FOO_value = map[string]int32{\n\t\t\"X\": 17,\n\t}\n\n\tfunc (x FOO) Enum() *FOO {\n\t\tp := new(FOO)\n\t\t*p = x\n\t\treturn p\n\t}\n\tfunc (x FOO) String() string {\n\t\treturn proto.EnumName(FOO_name, int32(x))\n\t}\n\tfunc (x *FOO) UnmarshalJSON(data []byte) error {\n\t\tvalue, err := proto.UnmarshalJSONEnum(FOO_value, data)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t*x = FOO(value)\n\t\treturn nil\n\t}\n\n\ttype Test struct {\n\t\tLabel         *string             `protobuf:\"bytes,1,req,name=label\" json:\"label,omitempty\"`\n\t\tType          *int32              `protobuf:\"varint,2,opt,name=type,def=77\" json:\"type,omitempty\"`\n\t\tReps          []int64             `protobuf:\"varint,3,rep,name=reps\" json:\"reps,omitempty\"`\n\t\tOptionalgroup *Test_OptionalGroup `protobuf:\"group,4,opt,name=OptionalGroup\" json:\"optionalgroup,omitempty\"`\n\t\t// Types that are valid to be assigned to Union:\n\t\t//\t*Test_Number\n\t\t//\t*Test_Name\n\t\tUnion            isTest_Union `protobuf_oneof:\"union\"`\n\t\tXXX_unrecognized []byte       `json:\"-\"`\n\t}\n\tfunc (m *Test) Reset()         { *m = Test{} }\n\tfunc (m *Test) String() string { return proto.CompactTextString(m) }\n\tfunc (*Test) ProtoMessage() {}\n\n\ttype isTest_Union interface {\n\t\tisTest_Union()\n\t}\n\n\ttype Test_Number struct {\n\t\tNumber int32 `protobuf:\"varint,6,opt,name=number\"`\n\t}\n\ttype Test_Name struct {\n\t\tName string `protobuf:\"bytes,7,opt,name=name\"`\n\t}\n\n\tfunc (*Test_Number) isTest_Union() {}\n\tfunc (*Test_Name) isTest_Union()   {}\n\n\tfunc (m *Test) GetUnion() isTest_Union {\n\t\tif m != nil {\n\t\t\treturn m.Union\n\t\t}\n\t\treturn nil\n\t}\n\tconst Default_Test_Type int32 = 77\n\n\tfunc (m *Test) GetLabel() string {\n\t\tif m != nil && m.Label != nil {\n\t\t\treturn *m.Label\n\t\t}\n\t\treturn \"\"\n\t}\n\n\tfunc (m *Test) GetType() int32 {\n\t\tif m != nil && m.Type != nil {\n\t\t\treturn *m.Type\n\t\t}\n\t\treturn Default_Test_Type\n\t}\n\n\tfunc (m *Test) GetOptionalgroup() *Test_OptionalGroup {\n\t\tif m != nil {\n\t\t\treturn m.Optionalgroup\n\t\t}\n\t\treturn nil\n\t}\n\n\ttype Test_OptionalGroup struct {\n\t\tRequiredField *string `protobuf:\"bytes,5,req\" json:\"RequiredField,omitempty\"`\n\t}\n\tfunc (m *Test_OptionalGroup) Reset()         { *m = Test_OptionalGroup{} }\n\tfunc (m *Test_OptionalGroup) String() string { return proto.CompactTextString(m) }\n\n\tfunc (m *Test_OptionalGroup) GetRequiredField() string {\n\t\tif m != nil && m.RequiredField != nil {\n\t\t\treturn *m.RequiredField\n\t\t}\n\t\treturn \"\"\n\t}\n\n\tfunc (m *Test) GetNumber() int32 {\n\t\tif x, ok := m.GetUnion().(*Test_Number); ok {\n\t\t\treturn x.Number\n\t\t}\n\t\treturn 0\n\t}\n\n\tfunc (m *Test) GetName() string {\n\t\tif x, ok := m.GetUnion().(*Test_Name); ok {\n\t\t\treturn x.Name\n\t\t}\n\t\treturn \"\"\n\t}\n\n\tfunc init() {\n\t\tproto.RegisterEnum(\"example.FOO\", FOO_name, FOO_value)\n\t}\n\nTo create and play with a Test object:\n\n\tpackage main\n\n\timport (\n\t\t\"log\"\n\n\t\t\"github.com/gogo/protobuf/proto\"\n\t\tpb \"./example.pb\"\n\t)\n\n\tfunc main() {\n\t\ttest := &pb.Test{\n\t\t\tLabel: proto.String(\"hello\"),\n\t\t\tType:  proto.Int32(17),\n\t\t\tReps:  []int64{1, 2, 3},\n\t\t\tOptionalgroup: &pb.Test_OptionalGroup{\n\t\t\t\tRequiredField: proto.String(\"good bye\"),\n\t\t\t},\n\t\t\tUnion: &pb.Test_Name{\"fred\"},\n\t\t}\n\t\tdata, err := proto.Marshal(test)\n\t\tif err != nil {\n\t\t\tlog.Fatal(\"marshaling error: \", err)\n\t\t}\n\t\tnewTest := &pb.Test{}\n\t\terr = proto.Unmarshal(data, newTest)\n\t\tif err != nil {\n\t\t\tlog.Fatal(\"unmarshaling error: \", err)\n\t\t}\n\t\t// Now test and newTest contain the same data.\n\t\tif test.GetLabel() != newTest.GetLabel() {\n\t\t\tlog.Fatalf(\"data mismatch %q != %q\", test.GetLabel(), newTest.GetLabel())\n\t\t}\n\t\t// Use a type switch to determine which oneof was set.\n\t\tswitch u := test.Union.(type) {\n\t\tcase *pb.Test_Number: // u.Number contains the number.\n\t\tcase *pb.Test_Name: // u.Name contains the string.\n\t\t}\n\t\t// etc.\n\t}\n*/\npackage proto\n\nimport (\n\t\"encoding/json\"\n\t\"errors\"\n\t\"fmt\"\n\t\"log\"\n\t\"reflect\"\n\t\"sort\"\n\t\"strconv\"\n\t\"sync\"\n)\n\nvar errInvalidUTF8 = errors.New(\"proto: invalid UTF-8 string\")\n\n// Message is implemented by generated protocol buffer messages.\ntype Message interface {\n\tReset()\n\tString() string\n\tProtoMessage()\n}\n\n// Stats records allocation details about the protocol buffer encoders\n// and decoders.  Useful for tuning the library itself.\ntype Stats struct {\n\tEmalloc uint64 // mallocs in encode\n\tDmalloc uint64 // mallocs in decode\n\tEncode  uint64 // number of encodes\n\tDecode  uint64 // number of decodes\n\tChit    uint64 // number of cache hits\n\tCmiss   uint64 // number of cache misses\n\tSize    uint64 // number of sizes\n}\n\n// Set to true to enable stats collection.\nconst collectStats = false\n\nvar stats Stats\n\n// GetStats returns a copy of the global Stats structure.\nfunc GetStats() Stats { return stats }\n\n// A Buffer is a buffer manager for marshaling and unmarshaling\n// protocol buffers.  It may be reused between invocations to\n// reduce memory usage.  It is not necessary to use a Buffer;\n// the global functions Marshal and Unmarshal create a\n// temporary Buffer and are fine for most applications.\ntype Buffer struct {\n\tbuf   []byte // encode/decode byte stream\n\tindex int    // read point\n\n\tdeterministic bool\n}\n\n// NewBuffer allocates a new Buffer and initializes its internal data to\n// the contents of the argument slice.\nfunc NewBuffer(e []byte) *Buffer {\n\treturn &Buffer{buf: e}\n}\n\n// Reset resets the Buffer, ready for marshaling a new protocol buffer.\nfunc (p *Buffer) Reset() {\n\tp.buf = p.buf[0:0] // for reading/writing\n\tp.index = 0        // for reading\n}\n\n// SetBuf replaces the internal buffer with the slice,\n// ready for unmarshaling the contents of the slice.\nfunc (p *Buffer) SetBuf(s []byte) {\n\tp.buf = s\n\tp.index = 0\n}\n\n// Bytes returns the contents of the Buffer.\nfunc (p *Buffer) Bytes() []byte { return p.buf }\n\n// SetDeterministic sets whether to use deterministic serialization.\n//\n// Deterministic serialization guarantees that for a given binary, equal\n// messages will always be serialized to the same bytes. This implies:\n//\n//   - Repeated serialization of a message will return the same bytes.\n//   - Different processes of the same binary (which may be executing on\n//     different machines) will serialize equal messages to the same bytes.\n//\n// Note that the deterministic serialization is NOT canonical across\n// languages. It is not guaranteed to remain stable over time. It is unstable\n// across different builds with schema changes due to unknown fields.\n// Users who need canonical serialization (e.g., persistent storage in a\n// canonical form, fingerprinting, etc.) should define their own\n// canonicalization specification and implement their own serializer rather\n// than relying on this API.\n//\n// If deterministic serialization is requested, map entries will be sorted\n// by keys in lexographical order. This is an implementation detail and\n// subject to change.\nfunc (p *Buffer) SetDeterministic(deterministic bool) {\n\tp.deterministic = deterministic\n}\n\n/*\n * Helper routines for simplifying the creation of optional fields of basic type.\n */\n\n// Bool is a helper routine that allocates a new bool value\n// to store v and returns a pointer to it.\nfunc Bool(v bool) *bool {\n\treturn &v\n}\n\n// Int32 is a helper routine that allocates a new int32 value\n// to store v and returns a pointer to it.\nfunc Int32(v int32) *int32 {\n\treturn &v\n}\n\n// Int is a helper routine that allocates a new int32 value\n// to store v and returns a pointer to it, but unlike Int32\n// its argument value is an int.\nfunc Int(v int) *int32 {\n\tp := new(int32)\n\t*p = int32(v)\n\treturn p\n}\n\n// Int64 is a helper routine that allocates a new int64 value\n// to store v and returns a pointer to it.\nfunc Int64(v int64) *int64 {\n\treturn &v\n}\n\n// Float32 is a helper routine that allocates a new float32 value\n// to store v and returns a pointer to it.\nfunc Float32(v float32) *float32 {\n\treturn &v\n}\n\n// Float64 is a helper routine that allocates a new float64 value\n// to store v and returns a pointer to it.\nfunc Float64(v float64) *float64 {\n\treturn &v\n}\n\n// Uint32 is a helper routine that allocates a new uint32 value\n// to store v and returns a pointer to it.\nfunc Uint32(v uint32) *uint32 {\n\treturn &v\n}\n\n// Uint64 is a helper routine that allocates a new uint64 value\n// to store v and returns a pointer to it.\nfunc Uint64(v uint64) *uint64 {\n\treturn &v\n}\n\n// String is a helper routine that allocates a new string value\n// to store v and returns a pointer to it.\nfunc String(v string) *string {\n\treturn &v\n}\n\n// EnumName is a helper function to simplify printing protocol buffer enums\n// by name.  Given an enum map and a value, it returns a useful string.\nfunc EnumName(m map[int32]string, v int32) string {\n\ts, ok := m[v]\n\tif ok {\n\t\treturn s\n\t}\n\treturn strconv.Itoa(int(v))\n}\n\n// UnmarshalJSONEnum is a helper function to simplify recovering enum int values\n// from their JSON-encoded representation. Given a map from the enum's symbolic\n// names to its int values, and a byte buffer containing the JSON-encoded\n// value, it returns an int32 that can be cast to the enum type by the caller.\n//\n// The function can deal with both JSON representations, numeric and symbolic.\nfunc UnmarshalJSONEnum(m map[string]int32, data []byte, enumName string) (int32, error) {\n\tif data[0] == '\"' {\n\t\t// New style: enums are strings.\n\t\tvar repr string\n\t\tif err := json.Unmarshal(data, &repr); err != nil {\n\t\t\treturn -1, err\n\t\t}\n\t\tval, ok := m[repr]\n\t\tif !ok {\n\t\t\treturn 0, fmt.Errorf(\"unrecognized enum %s value %q\", enumName, repr)\n\t\t}\n\t\treturn val, nil\n\t}\n\t// Old style: enums are ints.\n\tvar val int32\n\tif err := json.Unmarshal(data, &val); err != nil {\n\t\treturn 0, fmt.Errorf(\"cannot unmarshal %#q into enum %s\", data, enumName)\n\t}\n\treturn val, nil\n}\n\n// DebugPrint dumps the encoded data in b in a debugging format with a header\n// including the string s. Used in testing but made available for general debugging.\nfunc (p *Buffer) DebugPrint(s string, b []byte) {\n\tvar u uint64\n\n\tobuf := p.buf\n\tsindex := p.index\n\tp.buf = b\n\tp.index = 0\n\tdepth := 0\n\n\tfmt.Printf(\"\\n--- %s ---\\n\", s)\n\nout:\n\tfor {\n\t\tfor i := 0; i < depth; i++ {\n\t\t\tfmt.Print(\"  \")\n\t\t}\n\n\t\tindex := p.index\n\t\tif index == len(p.buf) {\n\t\t\tbreak\n\t\t}\n\n\t\top, err := p.DecodeVarint()\n\t\tif err != nil {\n\t\t\tfmt.Printf(\"%3d: fetching op err %v\\n\", index, err)\n\t\t\tbreak out\n\t\t}\n\t\ttag := op >> 3\n\t\twire := op & 7\n\n\t\tswitch wire {\n\t\tdefault:\n\t\t\tfmt.Printf(\"%3d: t=%3d unknown wire=%d\\n\",\n\t\t\t\tindex, tag, wire)\n\t\t\tbreak out\n\n\t\tcase WireBytes:\n\t\t\tvar r []byte\n\n\t\t\tr, err = p.DecodeRawBytes(false)\n\t\t\tif err != nil {\n\t\t\t\tbreak out\n\t\t\t}\n\t\t\tfmt.Printf(\"%3d: t=%3d bytes [%d]\", index, tag, len(r))\n\t\t\tif len(r) <= 6 {\n\t\t\t\tfor i := 0; i < len(r); i++ {\n\t\t\t\t\tfmt.Printf(\" %.2x\", r[i])\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor i := 0; i < 3; i++ {\n\t\t\t\t\tfmt.Printf(\" %.2x\", r[i])\n\t\t\t\t}\n\t\t\t\tfmt.Printf(\" ..\")\n\t\t\t\tfor i := len(r) - 3; i < len(r); i++ {\n\t\t\t\t\tfmt.Printf(\" %.2x\", r[i])\n\t\t\t\t}\n\t\t\t}\n\t\t\tfmt.Printf(\"\\n\")\n\n\t\tcase WireFixed32:\n\t\t\tu, err = p.DecodeFixed32()\n\t\t\tif err != nil {\n\t\t\t\tfmt.Printf(\"%3d: t=%3d fix32 err %v\\n\", index, tag, err)\n\t\t\t\tbreak out\n\t\t\t}\n\t\t\tfmt.Printf(\"%3d: t=%3d fix32 %d\\n\", index, tag, u)\n\n\t\tcase WireFixed64:\n\t\t\tu, err = p.DecodeFixed64()\n\t\t\tif err != nil {\n\t\t\t\tfmt.Printf(\"%3d: t=%3d fix64 err %v\\n\", index, tag, err)\n\t\t\t\tbreak out\n\t\t\t}\n\t\t\tfmt.Printf(\"%3d: t=%3d fix64 %d\\n\", index, tag, u)\n\n\t\tcase WireVarint:\n\t\t\tu, err = p.DecodeVarint()\n\t\t\tif err != nil {\n\t\t\t\tfmt.Printf(\"%3d: t=%3d varint err %v\\n\", index, tag, err)\n\t\t\t\tbreak out\n\t\t\t}\n\t\t\tfmt.Printf(\"%3d: t=%3d varint %d\\n\", index, tag, u)\n\n\t\tcase WireStartGroup:\n\t\t\tfmt.Printf(\"%3d: t=%3d start\\n\", index, tag)\n\t\t\tdepth++\n\n\t\tcase WireEndGroup:\n\t\t\tdepth--\n\t\t\tfmt.Printf(\"%3d: t=%3d end\\n\", index, tag)\n\t\t}\n\t}\n\n\tif depth != 0 {\n\t\tfmt.Printf(\"%3d: start-end not balanced %d\\n\", p.index, depth)\n\t}\n\tfmt.Printf(\"\\n\")\n\n\tp.buf = obuf\n\tp.index = sindex\n}\n\n// SetDefaults sets unset protocol buffer fields to their default values.\n// It only modifies fields that are both unset and have defined defaults.\n// It recursively sets default values in any non-nil sub-messages.\nfunc SetDefaults(pb Message) {\n\tsetDefaults(reflect.ValueOf(pb), true, false)\n}\n\n// v is a pointer to a struct.\nfunc setDefaults(v reflect.Value, recur, zeros bool) {\n\tv = v.Elem()\n\n\tdefaultMu.RLock()\n\tdm, ok := defaults[v.Type()]\n\tdefaultMu.RUnlock()\n\tif !ok {\n\t\tdm = buildDefaultMessage(v.Type())\n\t\tdefaultMu.Lock()\n\t\tdefaults[v.Type()] = dm\n\t\tdefaultMu.Unlock()\n\t}\n\n\tfor _, sf := range dm.scalars {\n\t\tf := v.Field(sf.index)\n\t\tif !f.IsNil() {\n\t\t\t// field already set\n\t\t\tcontinue\n\t\t}\n\t\tdv := sf.value\n\t\tif dv == nil && !zeros {\n\t\t\t// no explicit default, and don't want to set zeros\n\t\t\tcontinue\n\t\t}\n\t\tfptr := f.Addr().Interface() // **T\n\t\t// TODO: Consider batching the allocations we do here.\n\t\tswitch sf.kind {\n\t\tcase reflect.Bool:\n\t\t\tb := new(bool)\n\t\t\tif dv != nil {\n\t\t\t\t*b = dv.(bool)\n\t\t\t}\n\t\t\t*(fptr.(**bool)) = b\n\t\tcase reflect.Float32:\n\t\t\tf := new(float32)\n\t\t\tif dv != nil {\n\t\t\t\t*f = dv.(float32)\n\t\t\t}\n\t\t\t*(fptr.(**float32)) = f\n\t\tcase reflect.Float64:\n\t\t\tf := new(float64)\n\t\t\tif dv != nil {\n\t\t\t\t*f = dv.(float64)\n\t\t\t}\n\t\t\t*(fptr.(**float64)) = f\n\t\tcase reflect.Int32:\n\t\t\t// might be an enum\n\t\t\tif ft := f.Type(); ft != int32PtrType {\n\t\t\t\t// enum\n\t\t\t\tf.Set(reflect.New(ft.Elem()))\n\t\t\t\tif dv != nil {\n\t\t\t\t\tf.Elem().SetInt(int64(dv.(int32)))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// int32 field\n\t\t\t\ti := new(int32)\n\t\t\t\tif dv != nil {\n\t\t\t\t\t*i = dv.(int32)\n\t\t\t\t}\n\t\t\t\t*(fptr.(**int32)) = i\n\t\t\t}\n\t\tcase reflect.Int64:\n\t\t\ti := new(int64)\n\t\t\tif dv != nil {\n\t\t\t\t*i = dv.(int64)\n\t\t\t}\n\t\t\t*(fptr.(**int64)) = i\n\t\tcase reflect.String:\n\t\t\ts := new(string)\n\t\t\tif dv != nil {\n\t\t\t\t*s = dv.(string)\n\t\t\t}\n\t\t\t*(fptr.(**string)) = s\n\t\tcase reflect.Uint8:\n\t\t\t// exceptional case: []byte\n\t\t\tvar b []byte\n\t\t\tif dv != nil {\n\t\t\t\tdb := dv.([]byte)\n\t\t\t\tb = make([]byte, len(db))\n\t\t\t\tcopy(b, db)\n\t\t\t} else {\n\t\t\t\tb = []byte{}\n\t\t\t}\n\t\t\t*(fptr.(*[]byte)) = b\n\t\tcase reflect.Uint32:\n\t\t\tu := new(uint32)\n\t\t\tif dv != nil {\n\t\t\t\t*u = dv.(uint32)\n\t\t\t}\n\t\t\t*(fptr.(**uint32)) = u\n\t\tcase reflect.Uint64:\n\t\t\tu := new(uint64)\n\t\t\tif dv != nil {\n\t\t\t\t*u = dv.(uint64)\n\t\t\t}\n\t\t\t*(fptr.(**uint64)) = u\n\t\tdefault:\n\t\t\tlog.Printf(\"proto: can't set default for field %v (sf.kind=%v)\", f, sf.kind)\n\t\t}\n\t}\n\n\tfor _, ni := range dm.nested {\n\t\tf := v.Field(ni)\n\t\t// f is *T or []*T or map[T]*T\n\t\tswitch f.Kind() {\n\t\tcase reflect.Ptr:\n\t\t\tif f.IsNil() {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tsetDefaults(f, recur, zeros)\n\n\t\tcase reflect.Slice:\n\t\t\tfor i := 0; i < f.Len(); i++ {\n\t\t\t\te := f.Index(i)\n\t\t\t\tif e.IsNil() {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tsetDefaults(e, recur, zeros)\n\t\t\t}\n\n\t\tcase reflect.Map:\n\t\t\tfor _, k := range f.MapKeys() {\n\t\t\t\te := f.MapIndex(k)\n\t\t\t\tif e.IsNil() {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tsetDefaults(e, recur, zeros)\n\t\t\t}\n\t\t}\n\t}\n}\n\nvar (\n\t// defaults maps a protocol buffer struct type to a slice of the fields,\n\t// with its scalar fields set to their proto-declared non-zero default values.\n\tdefaultMu sync.RWMutex\n\tdefaults  = make(map[reflect.Type]defaultMessage)\n\n\tint32PtrType = reflect.TypeOf((*int32)(nil))\n)\n\n// defaultMessage represents information about the default values of a message.\ntype defaultMessage struct {\n\tscalars []scalarField\n\tnested  []int // struct field index of nested messages\n}\n\ntype scalarField struct {\n\tindex int          // struct field index\n\tkind  reflect.Kind // element type (the T in *T or []T)\n\tvalue interface{}  // the proto-declared default value, or nil\n}\n\n// t is a struct type.\nfunc buildDefaultMessage(t reflect.Type) (dm defaultMessage) {\n\tsprop := GetProperties(t)\n\tfor _, prop := range sprop.Prop {\n\t\tfi, ok := sprop.decoderTags.get(prop.Tag)\n\t\tif !ok {\n\t\t\t// XXX_unrecognized\n\t\t\tcontinue\n\t\t}\n\t\tft := t.Field(fi).Type\n\n\t\tsf, nested, err := fieldDefault(ft, prop)\n\t\tswitch {\n\t\tcase err != nil:\n\t\t\tlog.Print(err)\n\t\tcase nested:\n\t\t\tdm.nested = append(dm.nested, fi)\n\t\tcase sf != nil:\n\t\t\tsf.index = fi\n\t\t\tdm.scalars = append(dm.scalars, *sf)\n\t\t}\n\t}\n\n\treturn dm\n}\n\n// fieldDefault returns the scalarField for field type ft.\n// sf will be nil if the field can not have a default.\n// nestedMessage will be true if this is a nested message.\n// Note that sf.index is not set on return.\nfunc fieldDefault(ft reflect.Type, prop *Properties) (sf *scalarField, nestedMessage bool, err error) {\n\tvar canHaveDefault bool\n\tswitch ft.Kind() {\n\tcase reflect.Ptr:\n\t\tif ft.Elem().Kind() == reflect.Struct {\n\t\t\tnestedMessage = true\n\t\t} else {\n\t\t\tcanHaveDefault = true // proto2 scalar field\n\t\t}\n\n\tcase reflect.Slice:\n\t\tswitch ft.Elem().Kind() {\n\t\tcase reflect.Ptr:\n\t\t\tnestedMessage = true // repeated message\n\t\tcase reflect.Uint8:\n\t\t\tcanHaveDefault = true // bytes field\n\t\t}\n\n\tcase reflect.Map:\n\t\tif ft.Elem().Kind() == reflect.Ptr {\n\t\t\tnestedMessage = true // map with message values\n\t\t}\n\t}\n\n\tif !canHaveDefault {\n\t\tif nestedMessage {\n\t\t\treturn nil, true, nil\n\t\t}\n\t\treturn nil, false, nil\n\t}\n\n\t// We now know that ft is a pointer or slice.\n\tsf = &scalarField{kind: ft.Elem().Kind()}\n\n\t// scalar fields without defaults\n\tif !prop.HasDefault {\n\t\treturn sf, false, nil\n\t}\n\n\t// a scalar field: either *T or []byte\n\tswitch ft.Elem().Kind() {\n\tcase reflect.Bool:\n\t\tx, err := strconv.ParseBool(prop.Default)\n\t\tif err != nil {\n\t\t\treturn nil, false, fmt.Errorf(\"proto: bad default bool %q: %v\", prop.Default, err)\n\t\t}\n\t\tsf.value = x\n\tcase reflect.Float32:\n\t\tx, err := strconv.ParseFloat(prop.Default, 32)\n\t\tif err != nil {\n\t\t\treturn nil, false, fmt.Errorf(\"proto: bad default float32 %q: %v\", prop.Default, err)\n\t\t}\n\t\tsf.value = float32(x)\n\tcase reflect.Float64:\n\t\tx, err := strconv.ParseFloat(prop.Default, 64)\n\t\tif err != nil {\n\t\t\treturn nil, false, fmt.Errorf(\"proto: bad default float64 %q: %v\", prop.Default, err)\n\t\t}\n\t\tsf.value = x\n\tcase reflect.Int32:\n\t\tx, err := strconv.ParseInt(prop.Default, 10, 32)\n\t\tif err != nil {\n\t\t\treturn nil, false, fmt.Errorf(\"proto: bad default int32 %q: %v\", prop.Default, err)\n\t\t}\n\t\tsf.value = int32(x)\n\tcase reflect.Int64:\n\t\tx, err := strconv.ParseInt(prop.Default, 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, false, fmt.Errorf(\"proto: bad default int64 %q: %v\", prop.Default, err)\n\t\t}\n\t\tsf.value = x\n\tcase reflect.String:\n\t\tsf.value = prop.Default\n\tcase reflect.Uint8:\n\t\t// []byte (not *uint8)\n\t\tsf.value = []byte(prop.Default)\n\tcase reflect.Uint32:\n\t\tx, err := strconv.ParseUint(prop.Default, 10, 32)\n\t\tif err != nil {\n\t\t\treturn nil, false, fmt.Errorf(\"proto: bad default uint32 %q: %v\", prop.Default, err)\n\t\t}\n\t\tsf.value = uint32(x)\n\tcase reflect.Uint64:\n\t\tx, err := strconv.ParseUint(prop.Default, 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, false, fmt.Errorf(\"proto: bad default uint64 %q: %v\", prop.Default, err)\n\t\t}\n\t\tsf.value = x\n\tdefault:\n\t\treturn nil, false, fmt.Errorf(\"proto: unhandled def kind %v\", ft.Elem().Kind())\n\t}\n\n\treturn sf, false, nil\n}\n\n// mapKeys returns a sort.Interface to be used for sorting the map keys.\n// Map fields may have key types of non-float scalars, strings and enums.\nfunc mapKeys(vs []reflect.Value) sort.Interface {\n\ts := mapKeySorter{vs: vs}\n\n\t// Type specialization per https://developers.google.com/protocol-buffers/docs/proto#maps.\n\tif len(vs) == 0 {\n\t\treturn s\n\t}\n\tswitch vs[0].Kind() {\n\tcase reflect.Int32, reflect.Int64:\n\t\ts.less = func(a, b reflect.Value) bool { return a.Int() < b.Int() }\n\tcase reflect.Uint32, reflect.Uint64:\n\t\ts.less = func(a, b reflect.Value) bool { return a.Uint() < b.Uint() }\n\tcase reflect.Bool:\n\t\ts.less = func(a, b reflect.Value) bool { return !a.Bool() && b.Bool() } // false < true\n\tcase reflect.String:\n\t\ts.less = func(a, b reflect.Value) bool { return a.String() < b.String() }\n\tdefault:\n\t\tpanic(fmt.Sprintf(\"unsupported map key type: %v\", vs[0].Kind()))\n\t}\n\n\treturn s\n}\n\ntype mapKeySorter struct {\n\tvs   []reflect.Value\n\tless func(a, b reflect.Value) bool\n}\n\nfunc (s mapKeySorter) Len() int      { return len(s.vs) }\nfunc (s mapKeySorter) Swap(i, j int) { s.vs[i], s.vs[j] = s.vs[j], s.vs[i] }\nfunc (s mapKeySorter) Less(i, j int) bool {\n\treturn s.less(s.vs[i], s.vs[j])\n}\n\n// isProto3Zero reports whether v is a zero proto3 value.\nfunc isProto3Zero(v reflect.Value) bool {\n\tswitch v.Kind() {\n\tcase reflect.Bool:\n\t\treturn !v.Bool()\n\tcase reflect.Int32, reflect.Int64:\n\t\treturn v.Int() == 0\n\tcase reflect.Uint32, reflect.Uint64:\n\t\treturn v.Uint() == 0\n\tcase reflect.Float32, reflect.Float64:\n\t\treturn v.Float() == 0\n\tcase reflect.String:\n\t\treturn v.String() == \"\"\n\t}\n\treturn false\n}\n\n// ProtoPackageIsVersion2 is referenced from generated protocol buffer files\n// to assert that that code is compatible with this version of the proto package.\nconst GoGoProtoPackageIsVersion2 = true\n\n// ProtoPackageIsVersion1 is referenced from generated protocol buffer files\n// to assert that that code is compatible with this version of the proto package.\nconst GoGoProtoPackageIsVersion1 = true\n\n// InternalMessageInfo is a type used internally by generated .pb.go files.\n// This type is not intended to be used by non-generated code.\n// This type is not subject to any compatibility guarantee.\ntype InternalMessageInfo struct {\n\tmarshal   *marshalInfo\n\tunmarshal *unmarshalInfo\n\tmerge     *mergeInfo\n\tdiscard   *discardInfo\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/lib_gogo.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2013, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\nimport (\n\t\"encoding/json\"\n\t\"strconv\"\n)\n\ntype Sizer interface {\n\tSize() int\n}\n\ntype ProtoSizer interface {\n\tProtoSize() int\n}\n\nfunc MarshalJSONEnum(m map[int32]string, value int32) ([]byte, error) {\n\ts, ok := m[value]\n\tif !ok {\n\t\ts = strconv.Itoa(int(value))\n\t}\n\treturn json.Marshal(s)\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/message_set.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\n/*\n * Support for message sets.\n */\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"errors\"\n\t\"fmt\"\n\t\"reflect\"\n\t\"sort\"\n\t\"sync\"\n)\n\n// errNoMessageTypeID occurs when a protocol buffer does not have a message type ID.\n// A message type ID is required for storing a protocol buffer in a message set.\nvar errNoMessageTypeID = errors.New(\"proto does not have a message type ID\")\n\n// The first two types (_MessageSet_Item and messageSet)\n// model what the protocol compiler produces for the following protocol message:\n//   message MessageSet {\n//     repeated group Item = 1 {\n//       required int32 type_id = 2;\n//       required string message = 3;\n//     };\n//   }\n// That is the MessageSet wire format. We can't use a proto to generate these\n// because that would introduce a circular dependency between it and this package.\n\ntype _MessageSet_Item struct {\n\tTypeId  *int32 `protobuf:\"varint,2,req,name=type_id\"`\n\tMessage []byte `protobuf:\"bytes,3,req,name=message\"`\n}\n\ntype messageSet struct {\n\tItem             []*_MessageSet_Item `protobuf:\"group,1,rep\"`\n\tXXX_unrecognized []byte\n\t// TODO: caching?\n}\n\n// Make sure messageSet is a Message.\nvar _ Message = (*messageSet)(nil)\n\n// messageTypeIder is an interface satisfied by a protocol buffer type\n// that may be stored in a MessageSet.\ntype messageTypeIder interface {\n\tMessageTypeId() int32\n}\n\nfunc (ms *messageSet) find(pb Message) *_MessageSet_Item {\n\tmti, ok := pb.(messageTypeIder)\n\tif !ok {\n\t\treturn nil\n\t}\n\tid := mti.MessageTypeId()\n\tfor _, item := range ms.Item {\n\t\tif *item.TypeId == id {\n\t\t\treturn item\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (ms *messageSet) Has(pb Message) bool {\n\treturn ms.find(pb) != nil\n}\n\nfunc (ms *messageSet) Unmarshal(pb Message) error {\n\tif item := ms.find(pb); item != nil {\n\t\treturn Unmarshal(item.Message, pb)\n\t}\n\tif _, ok := pb.(messageTypeIder); !ok {\n\t\treturn errNoMessageTypeID\n\t}\n\treturn nil // TODO: return error instead?\n}\n\nfunc (ms *messageSet) Marshal(pb Message) error {\n\tmsg, err := Marshal(pb)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif item := ms.find(pb); item != nil {\n\t\t// reuse existing item\n\t\titem.Message = msg\n\t\treturn nil\n\t}\n\n\tmti, ok := pb.(messageTypeIder)\n\tif !ok {\n\t\treturn errNoMessageTypeID\n\t}\n\n\tmtid := mti.MessageTypeId()\n\tms.Item = append(ms.Item, &_MessageSet_Item{\n\t\tTypeId:  &mtid,\n\t\tMessage: msg,\n\t})\n\treturn nil\n}\n\nfunc (ms *messageSet) Reset()         { *ms = messageSet{} }\nfunc (ms *messageSet) String() string { return CompactTextString(ms) }\nfunc (*messageSet) ProtoMessage()     {}\n\n// Support for the message_set_wire_format message option.\n\nfunc skipVarint(buf []byte) []byte {\n\ti := 0\n\tfor ; buf[i]&0x80 != 0; i++ {\n\t}\n\treturn buf[i+1:]\n}\n\n// MarshalMessageSet encodes the extension map represented by m in the message set wire format.\n// It is called by generated Marshal methods on protocol buffer messages with the message_set_wire_format option.\nfunc MarshalMessageSet(exts interface{}) ([]byte, error) {\n\treturn marshalMessageSet(exts, false)\n}\n\n// marshaMessageSet implements above function, with the opt to turn on / off deterministic during Marshal.\nfunc marshalMessageSet(exts interface{}, deterministic bool) ([]byte, error) {\n\tswitch exts := exts.(type) {\n\tcase *XXX_InternalExtensions:\n\t\tvar u marshalInfo\n\t\tsiz := u.sizeMessageSet(exts)\n\t\tb := make([]byte, 0, siz)\n\t\treturn u.appendMessageSet(b, exts, deterministic)\n\n\tcase map[int32]Extension:\n\t\t// This is an old-style extension map.\n\t\t// Wrap it in a new-style XXX_InternalExtensions.\n\t\tie := XXX_InternalExtensions{\n\t\t\tp: &struct {\n\t\t\t\tmu           sync.Mutex\n\t\t\t\textensionMap map[int32]Extension\n\t\t\t}{\n\t\t\t\textensionMap: exts,\n\t\t\t},\n\t\t}\n\n\t\tvar u marshalInfo\n\t\tsiz := u.sizeMessageSet(&ie)\n\t\tb := make([]byte, 0, siz)\n\t\treturn u.appendMessageSet(b, &ie, deterministic)\n\n\tdefault:\n\t\treturn nil, errors.New(\"proto: not an extension map\")\n\t}\n}\n\n// UnmarshalMessageSet decodes the extension map encoded in buf in the message set wire format.\n// It is called by Unmarshal methods on protocol buffer messages with the message_set_wire_format option.\nfunc UnmarshalMessageSet(buf []byte, exts interface{}) error {\n\tvar m map[int32]Extension\n\tswitch exts := exts.(type) {\n\tcase *XXX_InternalExtensions:\n\t\tm = exts.extensionsWrite()\n\tcase map[int32]Extension:\n\t\tm = exts\n\tdefault:\n\t\treturn errors.New(\"proto: not an extension map\")\n\t}\n\n\tms := new(messageSet)\n\tif err := Unmarshal(buf, ms); err != nil {\n\t\treturn err\n\t}\n\tfor _, item := range ms.Item {\n\t\tid := *item.TypeId\n\t\tmsg := item.Message\n\n\t\t// Restore wire type and field number varint, plus length varint.\n\t\t// Be careful to preserve duplicate items.\n\t\tb := EncodeVarint(uint64(id)<<3 | WireBytes)\n\t\tif ext, ok := m[id]; ok {\n\t\t\t// Existing data; rip off the tag and length varint\n\t\t\t// so we join the new data correctly.\n\t\t\t// We can assume that ext.enc is set because we are unmarshaling.\n\t\t\to := ext.enc[len(b):]   // skip wire type and field number\n\t\t\t_, n := DecodeVarint(o) // calculate length of length varint\n\t\t\to = o[n:]               // skip length varint\n\t\t\tmsg = append(o, msg...) // join old data and new data\n\t\t}\n\t\tb = append(b, EncodeVarint(uint64(len(msg)))...)\n\t\tb = append(b, msg...)\n\n\t\tm[id] = Extension{enc: b}\n\t}\n\treturn nil\n}\n\n// MarshalMessageSetJSON encodes the extension map represented by m in JSON format.\n// It is called by generated MarshalJSON methods on protocol buffer messages with the message_set_wire_format option.\nfunc MarshalMessageSetJSON(exts interface{}) ([]byte, error) {\n\tvar m map[int32]Extension\n\tswitch exts := exts.(type) {\n\tcase *XXX_InternalExtensions:\n\t\tvar mu sync.Locker\n\t\tm, mu = exts.extensionsRead()\n\t\tif m != nil {\n\t\t\t// Keep the extensions map locked until we're done marshaling to prevent\n\t\t\t// races between marshaling and unmarshaling the lazily-{en,de}coded\n\t\t\t// values.\n\t\t\tmu.Lock()\n\t\t\tdefer mu.Unlock()\n\t\t}\n\tcase map[int32]Extension:\n\t\tm = exts\n\tdefault:\n\t\treturn nil, errors.New(\"proto: not an extension map\")\n\t}\n\tvar b bytes.Buffer\n\tb.WriteByte('{')\n\n\t// Process the map in key order for deterministic output.\n\tids := make([]int32, 0, len(m))\n\tfor id := range m {\n\t\tids = append(ids, id)\n\t}\n\tsort.Sort(int32Slice(ids)) // int32Slice defined in text.go\n\n\tfor i, id := range ids {\n\t\text := m[id]\n\t\tmsd, ok := messageSetMap[id]\n\t\tif !ok {\n\t\t\t// Unknown type; we can't render it, so skip it.\n\t\t\tcontinue\n\t\t}\n\n\t\tif i > 0 && b.Len() > 1 {\n\t\t\tb.WriteByte(',')\n\t\t}\n\n\t\tfmt.Fprintf(&b, `\"[%s]\":`, msd.name)\n\n\t\tx := ext.value\n\t\tif x == nil {\n\t\t\tx = reflect.New(msd.t.Elem()).Interface()\n\t\t\tif err := Unmarshal(ext.enc, x.(Message)); err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t}\n\t\td, err := json.Marshal(x)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tb.Write(d)\n\t}\n\tb.WriteByte('}')\n\treturn b.Bytes(), nil\n}\n\n// UnmarshalMessageSetJSON decodes the extension map encoded in buf in JSON format.\n// It is called by generated UnmarshalJSON methods on protocol buffer messages with the message_set_wire_format option.\nfunc UnmarshalMessageSetJSON(buf []byte, exts interface{}) error {\n\t// Common-case fast path.\n\tif len(buf) == 0 || bytes.Equal(buf, []byte(\"{}\")) {\n\t\treturn nil\n\t}\n\n\t// This is fairly tricky, and it's not clear that it is needed.\n\treturn errors.New(\"TODO: UnmarshalMessageSetJSON not yet implemented\")\n}\n\n// A global registry of types that can be used in a MessageSet.\n\nvar messageSetMap = make(map[int32]messageSetDesc)\n\ntype messageSetDesc struct {\n\tt    reflect.Type // pointer to struct\n\tname string\n}\n\n// RegisterMessageSetType is called from the generated code.\nfunc RegisterMessageSetType(m Message, fieldNum int32, name string) {\n\tmessageSetMap[fieldNum] = messageSetDesc{\n\t\tt:    reflect.TypeOf(m),\n\t\tname: name,\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/pointer_reflect.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2012 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n// +build purego appengine js\n\n// This file contains an implementation of proto field accesses using package reflect.\n// It is slower than the code in pointer_unsafe.go but it avoids package unsafe and can\n// be used on App Engine.\n\npackage proto\n\nimport (\n\t\"reflect\"\n\t\"sync\"\n)\n\nconst unsafeAllowed = false\n\n// A field identifies a field in a struct, accessible from a pointer.\n// In this implementation, a field is identified by the sequence of field indices\n// passed to reflect's FieldByIndex.\ntype field []int\n\n// toField returns a field equivalent to the given reflect field.\nfunc toField(f *reflect.StructField) field {\n\treturn f.Index\n}\n\n// invalidField is an invalid field identifier.\nvar invalidField = field(nil)\n\n// zeroField is a noop when calling pointer.offset.\nvar zeroField = field([]int{})\n\n// IsValid reports whether the field identifier is valid.\nfunc (f field) IsValid() bool { return f != nil }\n\n// The pointer type is for the table-driven decoder.\n// The implementation here uses a reflect.Value of pointer type to\n// create a generic pointer. In pointer_unsafe.go we use unsafe\n// instead of reflect to implement the same (but faster) interface.\ntype pointer struct {\n\tv reflect.Value\n}\n\n// toPointer converts an interface of pointer type to a pointer\n// that points to the same target.\nfunc toPointer(i *Message) pointer {\n\treturn pointer{v: reflect.ValueOf(*i)}\n}\n\n// toAddrPointer converts an interface to a pointer that points to\n// the interface data.\nfunc toAddrPointer(i *interface{}, isptr bool) pointer {\n\tv := reflect.ValueOf(*i)\n\tu := reflect.New(v.Type())\n\tu.Elem().Set(v)\n\treturn pointer{v: u}\n}\n\n// valToPointer converts v to a pointer.  v must be of pointer type.\nfunc valToPointer(v reflect.Value) pointer {\n\treturn pointer{v: v}\n}\n\n// offset converts from a pointer to a structure to a pointer to\n// one of its fields.\nfunc (p pointer) offset(f field) pointer {\n\treturn pointer{v: p.v.Elem().FieldByIndex(f).Addr()}\n}\n\nfunc (p pointer) isNil() bool {\n\treturn p.v.IsNil()\n}\n\n// grow updates the slice s in place to make it one element longer.\n// s must be addressable.\n// Returns the (addressable) new element.\nfunc grow(s reflect.Value) reflect.Value {\n\tn, m := s.Len(), s.Cap()\n\tif n < m {\n\t\ts.SetLen(n + 1)\n\t} else {\n\t\ts.Set(reflect.Append(s, reflect.Zero(s.Type().Elem())))\n\t}\n\treturn s.Index(n)\n}\n\nfunc (p pointer) toInt64() *int64 {\n\treturn p.v.Interface().(*int64)\n}\nfunc (p pointer) toInt64Ptr() **int64 {\n\treturn p.v.Interface().(**int64)\n}\nfunc (p pointer) toInt64Slice() *[]int64 {\n\treturn p.v.Interface().(*[]int64)\n}\n\nvar int32ptr = reflect.TypeOf((*int32)(nil))\n\nfunc (p pointer) toInt32() *int32 {\n\treturn p.v.Convert(int32ptr).Interface().(*int32)\n}\n\n// The toInt32Ptr/Slice methods don't work because of enums.\n// Instead, we must use set/get methods for the int32ptr/slice case.\n/*\n\tfunc (p pointer) toInt32Ptr() **int32 {\n\t\treturn p.v.Interface().(**int32)\n}\n\tfunc (p pointer) toInt32Slice() *[]int32 {\n\t\treturn p.v.Interface().(*[]int32)\n}\n*/\nfunc (p pointer) getInt32Ptr() *int32 {\n\tif p.v.Type().Elem().Elem() == reflect.TypeOf(int32(0)) {\n\t\t// raw int32 type\n\t\treturn p.v.Elem().Interface().(*int32)\n\t}\n\t// an enum\n\treturn p.v.Elem().Convert(int32PtrType).Interface().(*int32)\n}\nfunc (p pointer) setInt32Ptr(v int32) {\n\t// Allocate value in a *int32. Possibly convert that to a *enum.\n\t// Then assign it to a **int32 or **enum.\n\t// Note: we can convert *int32 to *enum, but we can't convert\n\t// **int32 to **enum!\n\tp.v.Elem().Set(reflect.ValueOf(&v).Convert(p.v.Type().Elem()))\n}\n\n// getInt32Slice copies []int32 from p as a new slice.\n// This behavior differs from the implementation in pointer_unsafe.go.\nfunc (p pointer) getInt32Slice() []int32 {\n\tif p.v.Type().Elem().Elem() == reflect.TypeOf(int32(0)) {\n\t\t// raw int32 type\n\t\treturn p.v.Elem().Interface().([]int32)\n\t}\n\t// an enum\n\t// Allocate a []int32, then assign []enum's values into it.\n\t// Note: we can't convert []enum to []int32.\n\tslice := p.v.Elem()\n\ts := make([]int32, slice.Len())\n\tfor i := 0; i < slice.Len(); i++ {\n\t\ts[i] = int32(slice.Index(i).Int())\n\t}\n\treturn s\n}\n\n// setInt32Slice copies []int32 into p as a new slice.\n// This behavior differs from the implementation in pointer_unsafe.go.\nfunc (p pointer) setInt32Slice(v []int32) {\n\tif p.v.Type().Elem().Elem() == reflect.TypeOf(int32(0)) {\n\t\t// raw int32 type\n\t\tp.v.Elem().Set(reflect.ValueOf(v))\n\t\treturn\n\t}\n\t// an enum\n\t// Allocate a []enum, then assign []int32's values into it.\n\t// Note: we can't convert []enum to []int32.\n\tslice := reflect.MakeSlice(p.v.Type().Elem(), len(v), cap(v))\n\tfor i, x := range v {\n\t\tslice.Index(i).SetInt(int64(x))\n\t}\n\tp.v.Elem().Set(slice)\n}\nfunc (p pointer) appendInt32Slice(v int32) {\n\tgrow(p.v.Elem()).SetInt(int64(v))\n}\n\nfunc (p pointer) toUint64() *uint64 {\n\treturn p.v.Interface().(*uint64)\n}\nfunc (p pointer) toUint64Ptr() **uint64 {\n\treturn p.v.Interface().(**uint64)\n}\nfunc (p pointer) toUint64Slice() *[]uint64 {\n\treturn p.v.Interface().(*[]uint64)\n}\nfunc (p pointer) toUint32() *uint32 {\n\treturn p.v.Interface().(*uint32)\n}\nfunc (p pointer) toUint32Ptr() **uint32 {\n\treturn p.v.Interface().(**uint32)\n}\nfunc (p pointer) toUint32Slice() *[]uint32 {\n\treturn p.v.Interface().(*[]uint32)\n}\nfunc (p pointer) toBool() *bool {\n\treturn p.v.Interface().(*bool)\n}\nfunc (p pointer) toBoolPtr() **bool {\n\treturn p.v.Interface().(**bool)\n}\nfunc (p pointer) toBoolSlice() *[]bool {\n\treturn p.v.Interface().(*[]bool)\n}\nfunc (p pointer) toFloat64() *float64 {\n\treturn p.v.Interface().(*float64)\n}\nfunc (p pointer) toFloat64Ptr() **float64 {\n\treturn p.v.Interface().(**float64)\n}\nfunc (p pointer) toFloat64Slice() *[]float64 {\n\treturn p.v.Interface().(*[]float64)\n}\nfunc (p pointer) toFloat32() *float32 {\n\treturn p.v.Interface().(*float32)\n}\nfunc (p pointer) toFloat32Ptr() **float32 {\n\treturn p.v.Interface().(**float32)\n}\nfunc (p pointer) toFloat32Slice() *[]float32 {\n\treturn p.v.Interface().(*[]float32)\n}\nfunc (p pointer) toString() *string {\n\treturn p.v.Interface().(*string)\n}\nfunc (p pointer) toStringPtr() **string {\n\treturn p.v.Interface().(**string)\n}\nfunc (p pointer) toStringSlice() *[]string {\n\treturn p.v.Interface().(*[]string)\n}\nfunc (p pointer) toBytes() *[]byte {\n\treturn p.v.Interface().(*[]byte)\n}\nfunc (p pointer) toBytesSlice() *[][]byte {\n\treturn p.v.Interface().(*[][]byte)\n}\nfunc (p pointer) toExtensions() *XXX_InternalExtensions {\n\treturn p.v.Interface().(*XXX_InternalExtensions)\n}\nfunc (p pointer) toOldExtensions() *map[int32]Extension {\n\treturn p.v.Interface().(*map[int32]Extension)\n}\nfunc (p pointer) getPointer() pointer {\n\treturn pointer{v: p.v.Elem()}\n}\nfunc (p pointer) setPointer(q pointer) {\n\tp.v.Elem().Set(q.v)\n}\nfunc (p pointer) appendPointer(q pointer) {\n\tgrow(p.v.Elem()).Set(q.v)\n}\n\n// getPointerSlice copies []*T from p as a new []pointer.\n// This behavior differs from the implementation in pointer_unsafe.go.\nfunc (p pointer) getPointerSlice() []pointer {\n\tif p.v.IsNil() {\n\t\treturn nil\n\t}\n\tn := p.v.Elem().Len()\n\ts := make([]pointer, n)\n\tfor i := 0; i < n; i++ {\n\t\ts[i] = pointer{v: p.v.Elem().Index(i)}\n\t}\n\treturn s\n}\n\n// setPointerSlice copies []pointer into p as a new []*T.\n// This behavior differs from the implementation in pointer_unsafe.go.\nfunc (p pointer) setPointerSlice(v []pointer) {\n\tif v == nil {\n\t\tp.v.Elem().Set(reflect.New(p.v.Elem().Type()).Elem())\n\t\treturn\n\t}\n\ts := reflect.MakeSlice(p.v.Elem().Type(), 0, len(v))\n\tfor _, p := range v {\n\t\ts = reflect.Append(s, p.v)\n\t}\n\tp.v.Elem().Set(s)\n}\n\n// getInterfacePointer returns a pointer that points to the\n// interface data of the interface pointed by p.\nfunc (p pointer) getInterfacePointer() pointer {\n\tif p.v.Elem().IsNil() {\n\t\treturn pointer{v: p.v.Elem()}\n\t}\n\treturn pointer{v: p.v.Elem().Elem().Elem().Field(0).Addr()} // *interface -> interface -> *struct -> struct\n}\n\nfunc (p pointer) asPointerTo(t reflect.Type) reflect.Value {\n\t// TODO: check that p.v.Type().Elem() == t?\n\treturn p.v\n}\n\nfunc atomicLoadUnmarshalInfo(p **unmarshalInfo) *unmarshalInfo {\n\tatomicLock.Lock()\n\tdefer atomicLock.Unlock()\n\treturn *p\n}\nfunc atomicStoreUnmarshalInfo(p **unmarshalInfo, v *unmarshalInfo) {\n\tatomicLock.Lock()\n\tdefer atomicLock.Unlock()\n\t*p = v\n}\nfunc atomicLoadMarshalInfo(p **marshalInfo) *marshalInfo {\n\tatomicLock.Lock()\n\tdefer atomicLock.Unlock()\n\treturn *p\n}\nfunc atomicStoreMarshalInfo(p **marshalInfo, v *marshalInfo) {\n\tatomicLock.Lock()\n\tdefer atomicLock.Unlock()\n\t*p = v\n}\nfunc atomicLoadMergeInfo(p **mergeInfo) *mergeInfo {\n\tatomicLock.Lock()\n\tdefer atomicLock.Unlock()\n\treturn *p\n}\nfunc atomicStoreMergeInfo(p **mergeInfo, v *mergeInfo) {\n\tatomicLock.Lock()\n\tdefer atomicLock.Unlock()\n\t*p = v\n}\nfunc atomicLoadDiscardInfo(p **discardInfo) *discardInfo {\n\tatomicLock.Lock()\n\tdefer atomicLock.Unlock()\n\treturn *p\n}\nfunc atomicStoreDiscardInfo(p **discardInfo, v *discardInfo) {\n\tatomicLock.Lock()\n\tdefer atomicLock.Unlock()\n\t*p = v\n}\n\nvar atomicLock sync.Mutex\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/pointer_reflect_gogo.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2018, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n// +build purego appengine js\n\n// This file contains an implementation of proto field accesses using package reflect.\n// It is slower than the code in pointer_unsafe.go but it avoids package unsafe and can\n// be used on App Engine.\n\npackage proto\n\nimport (\n\t\"reflect\"\n)\n\n// TODO: untested, so probably incorrect.\n\nfunc (p pointer) getRef() pointer {\n\treturn pointer{v: p.v.Addr()}\n}\n\nfunc (p pointer) appendRef(v pointer, typ reflect.Type) {\n\tslice := p.getSlice(typ)\n\telem := v.asPointerTo(typ).Elem()\n\tnewSlice := reflect.Append(slice, elem)\n\tslice.Set(newSlice)\n}\n\nfunc (p pointer) getSlice(typ reflect.Type) reflect.Value {\n\tsliceTyp := reflect.SliceOf(typ)\n\tslice := p.asPointerTo(sliceTyp)\n\tslice = slice.Elem()\n\treturn slice\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/pointer_unsafe.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2012 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n// +build !purego,!appengine,!js\n\n// This file contains the implementation of the proto field accesses using package unsafe.\n\npackage proto\n\nimport (\n\t\"reflect\"\n\t\"sync/atomic\"\n\t\"unsafe\"\n)\n\nconst unsafeAllowed = true\n\n// A field identifies a field in a struct, accessible from a pointer.\n// In this implementation, a field is identified by its byte offset from the start of the struct.\ntype field uintptr\n\n// toField returns a field equivalent to the given reflect field.\nfunc toField(f *reflect.StructField) field {\n\treturn field(f.Offset)\n}\n\n// invalidField is an invalid field identifier.\nconst invalidField = ^field(0)\n\n// zeroField is a noop when calling pointer.offset.\nconst zeroField = field(0)\n\n// IsValid reports whether the field identifier is valid.\nfunc (f field) IsValid() bool {\n\treturn f != invalidField\n}\n\n// The pointer type below is for the new table-driven encoder/decoder.\n// The implementation here uses unsafe.Pointer to create a generic pointer.\n// In pointer_reflect.go we use reflect instead of unsafe to implement\n// the same (but slower) interface.\ntype pointer struct {\n\tp unsafe.Pointer\n}\n\n// size of pointer\nvar ptrSize = unsafe.Sizeof(uintptr(0))\n\n// toPointer converts an interface of pointer type to a pointer\n// that points to the same target.\nfunc toPointer(i *Message) pointer {\n\t// Super-tricky - read pointer out of data word of interface value.\n\t// Saves ~25ns over the equivalent:\n\t// return valToPointer(reflect.ValueOf(*i))\n\treturn pointer{p: (*[2]unsafe.Pointer)(unsafe.Pointer(i))[1]}\n}\n\n// toAddrPointer converts an interface to a pointer that points to\n// the interface data.\nfunc toAddrPointer(i *interface{}, isptr bool) pointer {\n\t// Super-tricky - read or get the address of data word of interface value.\n\tif isptr {\n\t\t// The interface is of pointer type, thus it is a direct interface.\n\t\t// The data word is the pointer data itself. We take its address.\n\t\treturn pointer{p: unsafe.Pointer(uintptr(unsafe.Pointer(i)) + ptrSize)}\n\t}\n\t// The interface is not of pointer type. The data word is the pointer\n\t// to the data.\n\treturn pointer{p: (*[2]unsafe.Pointer)(unsafe.Pointer(i))[1]}\n}\n\n// valToPointer converts v to a pointer. v must be of pointer type.\nfunc valToPointer(v reflect.Value) pointer {\n\treturn pointer{p: unsafe.Pointer(v.Pointer())}\n}\n\n// offset converts from a pointer to a structure to a pointer to\n// one of its fields.\nfunc (p pointer) offset(f field) pointer {\n\t// For safety, we should panic if !f.IsValid, however calling panic causes\n\t// this to no longer be inlineable, which is a serious performance cost.\n\t/*\n\t\tif !f.IsValid() {\n\t\t\tpanic(\"invalid field\")\n\t\t}\n\t*/\n\treturn pointer{p: unsafe.Pointer(uintptr(p.p) + uintptr(f))}\n}\n\nfunc (p pointer) isNil() bool {\n\treturn p.p == nil\n}\n\nfunc (p pointer) toInt64() *int64 {\n\treturn (*int64)(p.p)\n}\nfunc (p pointer) toInt64Ptr() **int64 {\n\treturn (**int64)(p.p)\n}\nfunc (p pointer) toInt64Slice() *[]int64 {\n\treturn (*[]int64)(p.p)\n}\nfunc (p pointer) toInt32() *int32 {\n\treturn (*int32)(p.p)\n}\n\n// See pointer_reflect.go for why toInt32Ptr/Slice doesn't exist.\n/*\n\tfunc (p pointer) toInt32Ptr() **int32 {\n\t\treturn (**int32)(p.p)\n\t}\n\tfunc (p pointer) toInt32Slice() *[]int32 {\n\t\treturn (*[]int32)(p.p)\n\t}\n*/\nfunc (p pointer) getInt32Ptr() *int32 {\n\treturn *(**int32)(p.p)\n}\nfunc (p pointer) setInt32Ptr(v int32) {\n\t*(**int32)(p.p) = &v\n}\n\n// getInt32Slice loads a []int32 from p.\n// The value returned is aliased with the original slice.\n// This behavior differs from the implementation in pointer_reflect.go.\nfunc (p pointer) getInt32Slice() []int32 {\n\treturn *(*[]int32)(p.p)\n}\n\n// setInt32Slice stores a []int32 to p.\n// The value set is aliased with the input slice.\n// This behavior differs from the implementation in pointer_reflect.go.\nfunc (p pointer) setInt32Slice(v []int32) {\n\t*(*[]int32)(p.p) = v\n}\n\n// TODO: Can we get rid of appendInt32Slice and use setInt32Slice instead?\nfunc (p pointer) appendInt32Slice(v int32) {\n\ts := (*[]int32)(p.p)\n\t*s = append(*s, v)\n}\n\nfunc (p pointer) toUint64() *uint64 {\n\treturn (*uint64)(p.p)\n}\nfunc (p pointer) toUint64Ptr() **uint64 {\n\treturn (**uint64)(p.p)\n}\nfunc (p pointer) toUint64Slice() *[]uint64 {\n\treturn (*[]uint64)(p.p)\n}\nfunc (p pointer) toUint32() *uint32 {\n\treturn (*uint32)(p.p)\n}\nfunc (p pointer) toUint32Ptr() **uint32 {\n\treturn (**uint32)(p.p)\n}\nfunc (p pointer) toUint32Slice() *[]uint32 {\n\treturn (*[]uint32)(p.p)\n}\nfunc (p pointer) toBool() *bool {\n\treturn (*bool)(p.p)\n}\nfunc (p pointer) toBoolPtr() **bool {\n\treturn (**bool)(p.p)\n}\nfunc (p pointer) toBoolSlice() *[]bool {\n\treturn (*[]bool)(p.p)\n}\nfunc (p pointer) toFloat64() *float64 {\n\treturn (*float64)(p.p)\n}\nfunc (p pointer) toFloat64Ptr() **float64 {\n\treturn (**float64)(p.p)\n}\nfunc (p pointer) toFloat64Slice() *[]float64 {\n\treturn (*[]float64)(p.p)\n}\nfunc (p pointer) toFloat32() *float32 {\n\treturn (*float32)(p.p)\n}\nfunc (p pointer) toFloat32Ptr() **float32 {\n\treturn (**float32)(p.p)\n}\nfunc (p pointer) toFloat32Slice() *[]float32 {\n\treturn (*[]float32)(p.p)\n}\nfunc (p pointer) toString() *string {\n\treturn (*string)(p.p)\n}\nfunc (p pointer) toStringPtr() **string {\n\treturn (**string)(p.p)\n}\nfunc (p pointer) toStringSlice() *[]string {\n\treturn (*[]string)(p.p)\n}\nfunc (p pointer) toBytes() *[]byte {\n\treturn (*[]byte)(p.p)\n}\nfunc (p pointer) toBytesSlice() *[][]byte {\n\treturn (*[][]byte)(p.p)\n}\nfunc (p pointer) toExtensions() *XXX_InternalExtensions {\n\treturn (*XXX_InternalExtensions)(p.p)\n}\nfunc (p pointer) toOldExtensions() *map[int32]Extension {\n\treturn (*map[int32]Extension)(p.p)\n}\n\n// getPointerSlice loads []*T from p as a []pointer.\n// The value returned is aliased with the original slice.\n// This behavior differs from the implementation in pointer_reflect.go.\nfunc (p pointer) getPointerSlice() []pointer {\n\t// Super-tricky - p should point to a []*T where T is a\n\t// message type. We load it as []pointer.\n\treturn *(*[]pointer)(p.p)\n}\n\n// setPointerSlice stores []pointer into p as a []*T.\n// The value set is aliased with the input slice.\n// This behavior differs from the implementation in pointer_reflect.go.\nfunc (p pointer) setPointerSlice(v []pointer) {\n\t// Super-tricky - p should point to a []*T where T is a\n\t// message type. We store it as []pointer.\n\t*(*[]pointer)(p.p) = v\n}\n\n// getPointer loads the pointer at p and returns it.\nfunc (p pointer) getPointer() pointer {\n\treturn pointer{p: *(*unsafe.Pointer)(p.p)}\n}\n\n// setPointer stores the pointer q at p.\nfunc (p pointer) setPointer(q pointer) {\n\t*(*unsafe.Pointer)(p.p) = q.p\n}\n\n// append q to the slice pointed to by p.\nfunc (p pointer) appendPointer(q pointer) {\n\ts := (*[]unsafe.Pointer)(p.p)\n\t*s = append(*s, q.p)\n}\n\n// getInterfacePointer returns a pointer that points to the\n// interface data of the interface pointed by p.\nfunc (p pointer) getInterfacePointer() pointer {\n\t// Super-tricky - read pointer out of data word of interface value.\n\treturn pointer{p: (*(*[2]unsafe.Pointer)(p.p))[1]}\n}\n\n// asPointerTo returns a reflect.Value that is a pointer to an\n// object of type t stored at p.\nfunc (p pointer) asPointerTo(t reflect.Type) reflect.Value {\n\treturn reflect.NewAt(t, p.p)\n}\n\nfunc atomicLoadUnmarshalInfo(p **unmarshalInfo) *unmarshalInfo {\n\treturn (*unmarshalInfo)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(p))))\n}\nfunc atomicStoreUnmarshalInfo(p **unmarshalInfo, v *unmarshalInfo) {\n\tatomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(p)), unsafe.Pointer(v))\n}\nfunc atomicLoadMarshalInfo(p **marshalInfo) *marshalInfo {\n\treturn (*marshalInfo)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(p))))\n}\nfunc atomicStoreMarshalInfo(p **marshalInfo, v *marshalInfo) {\n\tatomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(p)), unsafe.Pointer(v))\n}\nfunc atomicLoadMergeInfo(p **mergeInfo) *mergeInfo {\n\treturn (*mergeInfo)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(p))))\n}\nfunc atomicStoreMergeInfo(p **mergeInfo, v *mergeInfo) {\n\tatomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(p)), unsafe.Pointer(v))\n}\nfunc atomicLoadDiscardInfo(p **discardInfo) *discardInfo {\n\treturn (*discardInfo)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(p))))\n}\nfunc atomicStoreDiscardInfo(p **discardInfo, v *discardInfo) {\n\tatomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(p)), unsafe.Pointer(v))\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/pointer_unsafe_gogo.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2018, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n// +build !purego !appengine,!js\n\n// This file contains the implementation of the proto field accesses using package unsafe.\n\npackage proto\n\nimport (\n\t\"reflect\"\n\t\"unsafe\"\n)\n\nfunc (p pointer) getRef() pointer {\n\treturn pointer{p: (unsafe.Pointer)(&p.p)}\n}\n\nfunc (p pointer) appendRef(v pointer, typ reflect.Type) {\n\tslice := p.getSlice(typ)\n\telem := v.asPointerTo(typ).Elem()\n\tnewSlice := reflect.Append(slice, elem)\n\tslice.Set(newSlice)\n}\n\nfunc (p pointer) getSlice(typ reflect.Type) reflect.Value {\n\tsliceTyp := reflect.SliceOf(typ)\n\tslice := p.asPointerTo(sliceTyp)\n\tslice = slice.Elem()\n\treturn slice\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/properties.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2013, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\n/*\n * Routines for encoding data into the wire format for protocol buffers.\n */\n\nimport (\n\t\"fmt\"\n\t\"log\"\n\t\"os\"\n\t\"reflect\"\n\t\"sort\"\n\t\"strconv\"\n\t\"strings\"\n\t\"sync\"\n)\n\nconst debug bool = false\n\n// Constants that identify the encoding of a value on the wire.\nconst (\n\tWireVarint     = 0\n\tWireFixed64    = 1\n\tWireBytes      = 2\n\tWireStartGroup = 3\n\tWireEndGroup   = 4\n\tWireFixed32    = 5\n)\n\n// tagMap is an optimization over map[int]int for typical protocol buffer\n// use-cases. Encoded protocol buffers are often in tag order with small tag\n// numbers.\ntype tagMap struct {\n\tfastTags []int\n\tslowTags map[int]int\n}\n\n// tagMapFastLimit is the upper bound on the tag number that will be stored in\n// the tagMap slice rather than its map.\nconst tagMapFastLimit = 1024\n\nfunc (p *tagMap) get(t int) (int, bool) {\n\tif t > 0 && t < tagMapFastLimit {\n\t\tif t >= len(p.fastTags) {\n\t\t\treturn 0, false\n\t\t}\n\t\tfi := p.fastTags[t]\n\t\treturn fi, fi >= 0\n\t}\n\tfi, ok := p.slowTags[t]\n\treturn fi, ok\n}\n\nfunc (p *tagMap) put(t int, fi int) {\n\tif t > 0 && t < tagMapFastLimit {\n\t\tfor len(p.fastTags) < t+1 {\n\t\t\tp.fastTags = append(p.fastTags, -1)\n\t\t}\n\t\tp.fastTags[t] = fi\n\t\treturn\n\t}\n\tif p.slowTags == nil {\n\t\tp.slowTags = make(map[int]int)\n\t}\n\tp.slowTags[t] = fi\n}\n\n// StructProperties represents properties for all the fields of a struct.\n// decoderTags and decoderOrigNames should only be used by the decoder.\ntype StructProperties struct {\n\tProp             []*Properties  // properties for each field\n\treqCount         int            // required count\n\tdecoderTags      tagMap         // map from proto tag to struct field number\n\tdecoderOrigNames map[string]int // map from original name to struct field number\n\torder            []int          // list of struct field numbers in tag order\n\n\t// OneofTypes contains information about the oneof fields in this message.\n\t// It is keyed by the original name of a field.\n\tOneofTypes map[string]*OneofProperties\n}\n\n// OneofProperties represents information about a specific field in a oneof.\ntype OneofProperties struct {\n\tType  reflect.Type // pointer to generated struct type for this oneof field\n\tField int          // struct field number of the containing oneof in the message\n\tProp  *Properties\n}\n\n// Implement the sorting interface so we can sort the fields in tag order, as recommended by the spec.\n// See encode.go, (*Buffer).enc_struct.\n\nfunc (sp *StructProperties) Len() int { return len(sp.order) }\nfunc (sp *StructProperties) Less(i, j int) bool {\n\treturn sp.Prop[sp.order[i]].Tag < sp.Prop[sp.order[j]].Tag\n}\nfunc (sp *StructProperties) Swap(i, j int) { sp.order[i], sp.order[j] = sp.order[j], sp.order[i] }\n\n// Properties represents the protocol-specific behavior of a single struct field.\ntype Properties struct {\n\tName     string // name of the field, for error messages\n\tOrigName string // original name before protocol compiler (always set)\n\tJSONName string // name to use for JSON; determined by protoc\n\tWire     string\n\tWireType int\n\tTag      int\n\tRequired bool\n\tOptional bool\n\tRepeated bool\n\tPacked   bool   // relevant for repeated primitives only\n\tEnum     string // set for enum types only\n\tproto3   bool   // whether this is known to be a proto3 field; set for []byte only\n\toneof    bool   // whether this is a oneof field\n\n\tDefault     string // default value\n\tHasDefault  bool   // whether an explicit default was provided\n\tCustomType  string\n\tCastType    string\n\tStdTime     bool\n\tStdDuration bool\n\n\tstype reflect.Type      // set for struct types only\n\tctype reflect.Type      // set for custom types only\n\tsprop *StructProperties // set for struct types only\n\n\tmtype    reflect.Type // set for map types only\n\tmkeyprop *Properties  // set for map types only\n\tmvalprop *Properties  // set for map types only\n}\n\n// String formats the properties in the protobuf struct field tag style.\nfunc (p *Properties) String() string {\n\ts := p.Wire\n\ts += \",\"\n\ts += strconv.Itoa(p.Tag)\n\tif p.Required {\n\t\ts += \",req\"\n\t}\n\tif p.Optional {\n\t\ts += \",opt\"\n\t}\n\tif p.Repeated {\n\t\ts += \",rep\"\n\t}\n\tif p.Packed {\n\t\ts += \",packed\"\n\t}\n\ts += \",name=\" + p.OrigName\n\tif p.JSONName != p.OrigName {\n\t\ts += \",json=\" + p.JSONName\n\t}\n\tif p.proto3 {\n\t\ts += \",proto3\"\n\t}\n\tif p.oneof {\n\t\ts += \",oneof\"\n\t}\n\tif len(p.Enum) > 0 {\n\t\ts += \",enum=\" + p.Enum\n\t}\n\tif p.HasDefault {\n\t\ts += \",def=\" + p.Default\n\t}\n\treturn s\n}\n\n// Parse populates p by parsing a string in the protobuf struct field tag style.\nfunc (p *Properties) Parse(s string) {\n\t// \"bytes,49,opt,name=foo,def=hello!\"\n\tfields := strings.Split(s, \",\") // breaks def=, but handled below.\n\tif len(fields) < 2 {\n\t\tfmt.Fprintf(os.Stderr, \"proto: tag has too few fields: %q\\n\", s)\n\t\treturn\n\t}\n\n\tp.Wire = fields[0]\n\tswitch p.Wire {\n\tcase \"varint\":\n\t\tp.WireType = WireVarint\n\tcase \"fixed32\":\n\t\tp.WireType = WireFixed32\n\tcase \"fixed64\":\n\t\tp.WireType = WireFixed64\n\tcase \"zigzag32\":\n\t\tp.WireType = WireVarint\n\tcase \"zigzag64\":\n\t\tp.WireType = WireVarint\n\tcase \"bytes\", \"group\":\n\t\tp.WireType = WireBytes\n\t\t// no numeric converter for non-numeric types\n\tdefault:\n\t\tfmt.Fprintf(os.Stderr, \"proto: tag has unknown wire type: %q\\n\", s)\n\t\treturn\n\t}\n\n\tvar err error\n\tp.Tag, err = strconv.Atoi(fields[1])\n\tif err != nil {\n\t\treturn\n\t}\n\nouter:\n\tfor i := 2; i < len(fields); i++ {\n\t\tf := fields[i]\n\t\tswitch {\n\t\tcase f == \"req\":\n\t\t\tp.Required = true\n\t\tcase f == \"opt\":\n\t\t\tp.Optional = true\n\t\tcase f == \"rep\":\n\t\t\tp.Repeated = true\n\t\tcase f == \"packed\":\n\t\t\tp.Packed = true\n\t\tcase strings.HasPrefix(f, \"name=\"):\n\t\t\tp.OrigName = f[5:]\n\t\tcase strings.HasPrefix(f, \"json=\"):\n\t\t\tp.JSONName = f[5:]\n\t\tcase strings.HasPrefix(f, \"enum=\"):\n\t\t\tp.Enum = f[5:]\n\t\tcase f == \"proto3\":\n\t\t\tp.proto3 = true\n\t\tcase f == \"oneof\":\n\t\t\tp.oneof = true\n\t\tcase strings.HasPrefix(f, \"def=\"):\n\t\t\tp.HasDefault = true\n\t\t\tp.Default = f[4:] // rest of string\n\t\t\tif i+1 < len(fields) {\n\t\t\t\t// Commas aren't escaped, and def is always last.\n\t\t\t\tp.Default += \",\" + strings.Join(fields[i+1:], \",\")\n\t\t\t\tbreak outer\n\t\t\t}\n\t\tcase strings.HasPrefix(f, \"embedded=\"):\n\t\t\tp.OrigName = strings.Split(f, \"=\")[1]\n\t\tcase strings.HasPrefix(f, \"customtype=\"):\n\t\t\tp.CustomType = strings.Split(f, \"=\")[1]\n\t\tcase strings.HasPrefix(f, \"casttype=\"):\n\t\t\tp.CastType = strings.Split(f, \"=\")[1]\n\t\tcase f == \"stdtime\":\n\t\t\tp.StdTime = true\n\t\tcase f == \"stdduration\":\n\t\t\tp.StdDuration = true\n\t\t}\n\t}\n}\n\nvar protoMessageType = reflect.TypeOf((*Message)(nil)).Elem()\n\n// setFieldProps initializes the field properties for submessages and maps.\nfunc (p *Properties) setFieldProps(typ reflect.Type, f *reflect.StructField, lockGetProp bool) {\n\tisMap := typ.Kind() == reflect.Map\n\tif len(p.CustomType) > 0 && !isMap {\n\t\tp.ctype = typ\n\t\tp.setTag(lockGetProp)\n\t\treturn\n\t}\n\tif p.StdTime && !isMap {\n\t\tp.setTag(lockGetProp)\n\t\treturn\n\t}\n\tif p.StdDuration && !isMap {\n\t\tp.setTag(lockGetProp)\n\t\treturn\n\t}\n\tswitch t1 := typ; t1.Kind() {\n\tcase reflect.Struct:\n\t\tp.stype = typ\n\tcase reflect.Ptr:\n\t\tif t1.Elem().Kind() == reflect.Struct {\n\t\t\tp.stype = t1.Elem()\n\t\t}\n\tcase reflect.Slice:\n\t\tswitch t2 := t1.Elem(); t2.Kind() {\n\t\tcase reflect.Ptr:\n\t\t\tswitch t3 := t2.Elem(); t3.Kind() {\n\t\t\tcase reflect.Struct:\n\t\t\t\tp.stype = t3\n\t\t\t}\n\t\tcase reflect.Struct:\n\t\t\tp.stype = t2\n\t\t}\n\n\tcase reflect.Map:\n\n\t\tp.mtype = t1\n\t\tp.mkeyprop = &Properties{}\n\t\tp.mkeyprop.init(reflect.PtrTo(p.mtype.Key()), \"Key\", f.Tag.Get(\"protobuf_key\"), nil, lockGetProp)\n\t\tp.mvalprop = &Properties{}\n\t\tvtype := p.mtype.Elem()\n\t\tif vtype.Kind() != reflect.Ptr && vtype.Kind() != reflect.Slice {\n\t\t\t// The value type is not a message (*T) or bytes ([]byte),\n\t\t\t// so we need encoders for the pointer to this type.\n\t\t\tvtype = reflect.PtrTo(vtype)\n\t\t}\n\n\t\tp.mvalprop.CustomType = p.CustomType\n\t\tp.mvalprop.StdDuration = p.StdDuration\n\t\tp.mvalprop.StdTime = p.StdTime\n\t\tp.mvalprop.init(vtype, \"Value\", f.Tag.Get(\"protobuf_val\"), nil, lockGetProp)\n\t}\n\tp.setTag(lockGetProp)\n}\n\nfunc (p *Properties) setTag(lockGetProp bool) {\n\tif p.stype != nil {\n\t\tif lockGetProp {\n\t\t\tp.sprop = GetProperties(p.stype)\n\t\t} else {\n\t\t\tp.sprop = getPropertiesLocked(p.stype)\n\t\t}\n\t}\n}\n\nvar (\n\tmarshalerType = reflect.TypeOf((*Marshaler)(nil)).Elem()\n)\n\n// Init populates the properties from a protocol buffer struct tag.\nfunc (p *Properties) Init(typ reflect.Type, name, tag string, f *reflect.StructField) {\n\tp.init(typ, name, tag, f, true)\n}\n\nfunc (p *Properties) init(typ reflect.Type, name, tag string, f *reflect.StructField, lockGetProp bool) {\n\t// \"bytes,49,opt,def=hello!\"\n\tp.Name = name\n\tp.OrigName = name\n\tif tag == \"\" {\n\t\treturn\n\t}\n\tp.Parse(tag)\n\tp.setFieldProps(typ, f, lockGetProp)\n}\n\nvar (\n\tpropertiesMu  sync.RWMutex\n\tpropertiesMap = make(map[reflect.Type]*StructProperties)\n)\n\n// GetProperties returns the list of properties for the type represented by t.\n// t must represent a generated struct type of a protocol message.\nfunc GetProperties(t reflect.Type) *StructProperties {\n\tif t.Kind() != reflect.Struct {\n\t\tpanic(\"proto: type must have kind struct\")\n\t}\n\n\t// Most calls to GetProperties in a long-running program will be\n\t// retrieving details for types we have seen before.\n\tpropertiesMu.RLock()\n\tsprop, ok := propertiesMap[t]\n\tpropertiesMu.RUnlock()\n\tif ok {\n\t\tif collectStats {\n\t\t\tstats.Chit++\n\t\t}\n\t\treturn sprop\n\t}\n\n\tpropertiesMu.Lock()\n\tsprop = getPropertiesLocked(t)\n\tpropertiesMu.Unlock()\n\treturn sprop\n}\n\n// getPropertiesLocked requires that propertiesMu is held.\nfunc getPropertiesLocked(t reflect.Type) *StructProperties {\n\tif prop, ok := propertiesMap[t]; ok {\n\t\tif collectStats {\n\t\t\tstats.Chit++\n\t\t}\n\t\treturn prop\n\t}\n\tif collectStats {\n\t\tstats.Cmiss++\n\t}\n\n\tprop := new(StructProperties)\n\t// in case of recursive protos, fill this in now.\n\tpropertiesMap[t] = prop\n\n\t// build properties\n\tprop.Prop = make([]*Properties, t.NumField())\n\tprop.order = make([]int, t.NumField())\n\n\tisOneofMessage := false\n\tfor i := 0; i < t.NumField(); i++ {\n\t\tf := t.Field(i)\n\t\tp := new(Properties)\n\t\tname := f.Name\n\t\tp.init(f.Type, name, f.Tag.Get(\"protobuf\"), &f, false)\n\n\t\toneof := f.Tag.Get(\"protobuf_oneof\") // special case\n\t\tif oneof != \"\" {\n\t\t\tisOneofMessage = true\n\t\t\t// Oneof fields don't use the traditional protobuf tag.\n\t\t\tp.OrigName = oneof\n\t\t}\n\t\tprop.Prop[i] = p\n\t\tprop.order[i] = i\n\t\tif debug {\n\t\t\tprint(i, \" \", f.Name, \" \", t.String(), \" \")\n\t\t\tif p.Tag > 0 {\n\t\t\t\tprint(p.String())\n\t\t\t}\n\t\t\tprint(\"\\n\")\n\t\t}\n\t}\n\n\t// Re-order prop.order.\n\tsort.Sort(prop)\n\n\ttype oneofMessage interface {\n\t\tXXX_OneofFuncs() (func(Message, *Buffer) error, func(Message, int, int, *Buffer) (bool, error), func(Message) int, []interface{})\n\t}\n\tif om, ok := reflect.Zero(reflect.PtrTo(t)).Interface().(oneofMessage); isOneofMessage && ok {\n\t\tvar oots []interface{}\n\t\t_, _, _, oots = om.XXX_OneofFuncs()\n\n\t\t// Interpret oneof metadata.\n\t\tprop.OneofTypes = make(map[string]*OneofProperties)\n\t\tfor _, oot := range oots {\n\t\t\toop := &OneofProperties{\n\t\t\t\tType: reflect.ValueOf(oot).Type(), // *T\n\t\t\t\tProp: new(Properties),\n\t\t\t}\n\t\t\tsft := oop.Type.Elem().Field(0)\n\t\t\toop.Prop.Name = sft.Name\n\t\t\toop.Prop.Parse(sft.Tag.Get(\"protobuf\"))\n\t\t\t// There will be exactly one interface field that\n\t\t\t// this new value is assignable to.\n\t\t\tfor i := 0; i < t.NumField(); i++ {\n\t\t\t\tf := t.Field(i)\n\t\t\t\tif f.Type.Kind() != reflect.Interface {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif !oop.Type.AssignableTo(f.Type) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\toop.Field = i\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tprop.OneofTypes[oop.Prop.OrigName] = oop\n\t\t}\n\t}\n\n\t// build required counts\n\t// build tags\n\treqCount := 0\n\tprop.decoderOrigNames = make(map[string]int)\n\tfor i, p := range prop.Prop {\n\t\tif strings.HasPrefix(p.Name, \"XXX_\") {\n\t\t\t// Internal fields should not appear in tags/origNames maps.\n\t\t\t// They are handled specially when encoding and decoding.\n\t\t\tcontinue\n\t\t}\n\t\tif p.Required {\n\t\t\treqCount++\n\t\t}\n\t\tprop.decoderTags.put(p.Tag, i)\n\t\tprop.decoderOrigNames[p.OrigName] = i\n\t}\n\tprop.reqCount = reqCount\n\n\treturn prop\n}\n\n// A global registry of enum types.\n// The generated code will register the generated maps by calling RegisterEnum.\n\nvar enumValueMaps = make(map[string]map[string]int32)\nvar enumStringMaps = make(map[string]map[int32]string)\n\n// RegisterEnum is called from the generated code to install the enum descriptor\n// maps into the global table to aid parsing text format protocol buffers.\nfunc RegisterEnum(typeName string, unusedNameMap map[int32]string, valueMap map[string]int32) {\n\tif _, ok := enumValueMaps[typeName]; ok {\n\t\tpanic(\"proto: duplicate enum registered: \" + typeName)\n\t}\n\tenumValueMaps[typeName] = valueMap\n\tif _, ok := enumStringMaps[typeName]; ok {\n\t\tpanic(\"proto: duplicate enum registered: \" + typeName)\n\t}\n\tenumStringMaps[typeName] = unusedNameMap\n}\n\n// EnumValueMap returns the mapping from names to integers of the\n// enum type enumType, or a nil if not found.\nfunc EnumValueMap(enumType string) map[string]int32 {\n\treturn enumValueMaps[enumType]\n}\n\n// A registry of all linked message types.\n// The string is a fully-qualified proto name (\"pkg.Message\").\nvar (\n\tprotoTypedNils = make(map[string]Message)      // a map from proto names to typed nil pointers\n\tprotoMapTypes  = make(map[string]reflect.Type) // a map from proto names to map types\n\trevProtoTypes  = make(map[reflect.Type]string)\n)\n\n// RegisterType is called from generated code and maps from the fully qualified\n// proto name to the type (pointer to struct) of the protocol buffer.\nfunc RegisterType(x Message, name string) {\n\tif _, ok := protoTypedNils[name]; ok {\n\t\t// TODO: Some day, make this a panic.\n\t\tlog.Printf(\"proto: duplicate proto type registered: %s\", name)\n\t\treturn\n\t}\n\tt := reflect.TypeOf(x)\n\tif v := reflect.ValueOf(x); v.Kind() == reflect.Ptr && v.Pointer() == 0 {\n\t\t// Generated code always calls RegisterType with nil x.\n\t\t// This check is just for extra safety.\n\t\tprotoTypedNils[name] = x\n\t} else {\n\t\tprotoTypedNils[name] = reflect.Zero(t).Interface().(Message)\n\t}\n\trevProtoTypes[t] = name\n}\n\n// RegisterMapType is called from generated code and maps from the fully qualified\n// proto name to the native map type of the proto map definition.\nfunc RegisterMapType(x interface{}, name string) {\n\tif reflect.TypeOf(x).Kind() != reflect.Map {\n\t\tpanic(fmt.Sprintf(\"RegisterMapType(%T, %q); want map\", x, name))\n\t}\n\tif _, ok := protoMapTypes[name]; ok {\n\t\tlog.Printf(\"proto: duplicate proto type registered: %s\", name)\n\t\treturn\n\t}\n\tt := reflect.TypeOf(x)\n\tprotoMapTypes[name] = t\n\trevProtoTypes[t] = name\n}\n\n// MessageName returns the fully-qualified proto name for the given message type.\nfunc MessageName(x Message) string {\n\ttype xname interface {\n\t\tXXX_MessageName() string\n\t}\n\tif m, ok := x.(xname); ok {\n\t\treturn m.XXX_MessageName()\n\t}\n\treturn revProtoTypes[reflect.TypeOf(x)]\n}\n\n// MessageType returns the message type (pointer to struct) for a named message.\n// The type is not guaranteed to implement proto.Message if the name refers to a\n// map entry.\nfunc MessageType(name string) reflect.Type {\n\tif t, ok := protoTypedNils[name]; ok {\n\t\treturn reflect.TypeOf(t)\n\t}\n\treturn protoMapTypes[name]\n}\n\n// A registry of all linked proto files.\nvar (\n\tprotoFiles = make(map[string][]byte) // file name => fileDescriptor\n)\n\n// RegisterFile is called from generated code and maps from the\n// full file name of a .proto file to its compressed FileDescriptorProto.\nfunc RegisterFile(filename string, fileDescriptor []byte) {\n\tprotoFiles[filename] = fileDescriptor\n}\n\n// FileDescriptor returns the compressed FileDescriptorProto for a .proto file.\nfunc FileDescriptor(filename string) []byte { return protoFiles[filename] }\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/properties_gogo.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2018, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\nimport (\n\t\"reflect\"\n)\n\nvar sizerType = reflect.TypeOf((*Sizer)(nil)).Elem()\nvar protosizerType = reflect.TypeOf((*ProtoSizer)(nil)).Elem()\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/skip_gogo.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2013, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\nimport (\n\t\"fmt\"\n\t\"io\"\n)\n\nfunc Skip(data []byte) (n int, err error) {\n\tl := len(data)\n\tindex := 0\n\tfor index < l {\n\t\tvar wire uint64\n\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\tif index >= l {\n\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb := data[index]\n\t\t\tindex++\n\t\t\twire |= (uint64(b) & 0x7F) << shift\n\t\t\tif b < 0x80 {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\twireType := int(wire & 0x7)\n\t\tswitch wireType {\n\t\tcase 0:\n\t\t\tfor {\n\t\t\t\tif index >= l {\n\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tindex++\n\t\t\t\tif data[index-1] < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn index, nil\n\t\tcase 1:\n\t\t\tindex += 8\n\t\t\treturn index, nil\n\t\tcase 2:\n\t\t\tvar length int\n\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\tif index >= l {\n\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t}\n\t\t\t\tb := data[index]\n\t\t\t\tindex++\n\t\t\t\tlength |= (int(b) & 0x7F) << shift\n\t\t\t\tif b < 0x80 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tindex += length\n\t\t\treturn index, nil\n\t\tcase 3:\n\t\t\tfor {\n\t\t\t\tvar innerWire uint64\n\t\t\t\tvar start int = index\n\t\t\t\tfor shift := uint(0); ; shift += 7 {\n\t\t\t\t\tif index >= l {\n\t\t\t\t\t\treturn 0, io.ErrUnexpectedEOF\n\t\t\t\t\t}\n\t\t\t\t\tb := data[index]\n\t\t\t\t\tindex++\n\t\t\t\t\tinnerWire |= (uint64(b) & 0x7F) << shift\n\t\t\t\t\tif b < 0x80 {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tinnerWireType := int(innerWire & 0x7)\n\t\t\t\tif innerWireType == 4 {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tnext, err := Skip(data[start:])\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn 0, err\n\t\t\t\t}\n\t\t\t\tindex = start + next\n\t\t\t}\n\t\t\treturn index, nil\n\t\tcase 4:\n\t\t\treturn index, nil\n\t\tcase 5:\n\t\t\tindex += 4\n\t\t\treturn index, nil\n\t\tdefault:\n\t\t\treturn 0, fmt.Errorf(\"proto: illegal wireType %d\", wireType)\n\t\t}\n\t}\n\tpanic(\"unreachable\")\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/table_marshal.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2016 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"math\"\n\t\"reflect\"\n\t\"sort\"\n\t\"strconv\"\n\t\"strings\"\n\t\"sync\"\n\t\"sync/atomic\"\n\t\"unicode/utf8\"\n)\n\n// a sizer takes a pointer to a field and the size of its tag, computes the size of\n// the encoded data.\ntype sizer func(pointer, int) int\n\n// a marshaler takes a byte slice, a pointer to a field, and its tag (in wire format),\n// marshals the field to the end of the slice, returns the slice and error (if any).\ntype marshaler func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error)\n\n// marshalInfo is the information used for marshaling a message.\ntype marshalInfo struct {\n\ttyp          reflect.Type\n\tfields       []*marshalFieldInfo\n\tunrecognized field                      // offset of XXX_unrecognized\n\textensions   field                      // offset of XXX_InternalExtensions\n\tv1extensions field                      // offset of XXX_extensions\n\tsizecache    field                      // offset of XXX_sizecache\n\tinitialized  int32                      // 0 -- only typ is set, 1 -- fully initialized\n\tmessageset   bool                       // uses message set wire format\n\thasmarshaler bool                       // has custom marshaler\n\tsync.RWMutex                            // protect extElems map, also for initialization\n\textElems     map[int32]*marshalElemInfo // info of extension elements\n\n\thassizer      bool // has custom sizer\n\thasprotosizer bool // has custom protosizer\n\n\tbytesExtensions field // offset of XXX_extensions where the field type is []byte\n}\n\n// marshalFieldInfo is the information used for marshaling a field of a message.\ntype marshalFieldInfo struct {\n\tfield      field\n\twiretag    uint64 // tag in wire format\n\ttagsize    int    // size of tag in wire format\n\tsizer      sizer\n\tmarshaler  marshaler\n\tisPointer  bool\n\trequired   bool                              // field is required\n\tname       string                            // name of the field, for error reporting\n\toneofElems map[reflect.Type]*marshalElemInfo // info of oneof elements\n}\n\n// marshalElemInfo is the information used for marshaling an extension or oneof element.\ntype marshalElemInfo struct {\n\twiretag   uint64 // tag in wire format\n\ttagsize   int    // size of tag in wire format\n\tsizer     sizer\n\tmarshaler marshaler\n\tisptr     bool // elem is pointer typed, thus interface of this type is a direct interface (extension only)\n}\n\nvar (\n\tmarshalInfoMap  = map[reflect.Type]*marshalInfo{}\n\tmarshalInfoLock sync.Mutex\n)\n\n// getMarshalInfo returns the information to marshal a given type of message.\n// The info it returns may not necessarily initialized.\n// t is the type of the message (NOT the pointer to it).\nfunc getMarshalInfo(t reflect.Type) *marshalInfo {\n\tmarshalInfoLock.Lock()\n\tu, ok := marshalInfoMap[t]\n\tif !ok {\n\t\tu = &marshalInfo{typ: t}\n\t\tmarshalInfoMap[t] = u\n\t}\n\tmarshalInfoLock.Unlock()\n\treturn u\n}\n\n// Size is the entry point from generated code,\n// and should be ONLY called by generated code.\n// It computes the size of encoded data of msg.\n// a is a pointer to a place to store cached marshal info.\nfunc (a *InternalMessageInfo) Size(msg Message) int {\n\tu := getMessageMarshalInfo(msg, a)\n\tptr := toPointer(&msg)\n\tif ptr.isNil() {\n\t\t// We get here if msg is a typed nil ((*SomeMessage)(nil)),\n\t\t// so it satisfies the interface, and msg == nil wouldn't\n\t\t// catch it. We don't want crash in this case.\n\t\treturn 0\n\t}\n\treturn u.size(ptr)\n}\n\n// Marshal is the entry point from generated code,\n// and should be ONLY called by generated code.\n// It marshals msg to the end of b.\n// a is a pointer to a place to store cached marshal info.\nfunc (a *InternalMessageInfo) Marshal(b []byte, msg Message, deterministic bool) ([]byte, error) {\n\tu := getMessageMarshalInfo(msg, a)\n\tptr := toPointer(&msg)\n\tif ptr.isNil() {\n\t\t// We get here if msg is a typed nil ((*SomeMessage)(nil)),\n\t\t// so it satisfies the interface, and msg == nil wouldn't\n\t\t// catch it. We don't want crash in this case.\n\t\treturn b, ErrNil\n\t}\n\treturn u.marshal(b, ptr, deterministic)\n}\n\nfunc getMessageMarshalInfo(msg interface{}, a *InternalMessageInfo) *marshalInfo {\n\t// u := a.marshal, but atomically.\n\t// We use an atomic here to ensure memory consistency.\n\tu := atomicLoadMarshalInfo(&a.marshal)\n\tif u == nil {\n\t\t// Get marshal information from type of message.\n\t\tt := reflect.ValueOf(msg).Type()\n\t\tif t.Kind() != reflect.Ptr {\n\t\t\tpanic(fmt.Sprintf(\"cannot handle non-pointer message type %v\", t))\n\t\t}\n\t\tu = getMarshalInfo(t.Elem())\n\t\t// Store it in the cache for later users.\n\t\t// a.marshal = u, but atomically.\n\t\tatomicStoreMarshalInfo(&a.marshal, u)\n\t}\n\treturn u\n}\n\n// size is the main function to compute the size of the encoded data of a message.\n// ptr is the pointer to the message.\nfunc (u *marshalInfo) size(ptr pointer) int {\n\tif atomic.LoadInt32(&u.initialized) == 0 {\n\t\tu.computeMarshalInfo()\n\t}\n\n\t// If the message can marshal itself, let it do it, for compatibility.\n\t// NOTE: This is not efficient.\n\tif u.hasmarshaler {\n\t\t// Uses the message's Size method if available\n\t\tif u.hassizer {\n\t\t\ts := ptr.asPointerTo(u.typ).Interface().(Sizer)\n\t\t\treturn s.Size()\n\t\t}\n\t\t// Uses the message's ProtoSize method if available\n\t\tif u.hasprotosizer {\n\t\t\ts := ptr.asPointerTo(u.typ).Interface().(ProtoSizer)\n\t\t\treturn s.ProtoSize()\n\t\t}\n\n\t\tm := ptr.asPointerTo(u.typ).Interface().(Marshaler)\n\t\tb, _ := m.Marshal()\n\t\treturn len(b)\n\t}\n\n\tn := 0\n\tfor _, f := range u.fields {\n\t\tif f.isPointer && ptr.offset(f.field).getPointer().isNil() {\n\t\t\t// nil pointer always marshals to nothing\n\t\t\tcontinue\n\t\t}\n\t\tn += f.sizer(ptr.offset(f.field), f.tagsize)\n\t}\n\tif u.extensions.IsValid() {\n\t\te := ptr.offset(u.extensions).toExtensions()\n\t\tif u.messageset {\n\t\t\tn += u.sizeMessageSet(e)\n\t\t} else {\n\t\t\tn += u.sizeExtensions(e)\n\t\t}\n\t}\n\tif u.v1extensions.IsValid() {\n\t\tm := *ptr.offset(u.v1extensions).toOldExtensions()\n\t\tn += u.sizeV1Extensions(m)\n\t}\n\tif u.bytesExtensions.IsValid() {\n\t\ts := *ptr.offset(u.bytesExtensions).toBytes()\n\t\tn += len(s)\n\t}\n\tif u.unrecognized.IsValid() {\n\t\ts := *ptr.offset(u.unrecognized).toBytes()\n\t\tn += len(s)\n\t}\n\n\t// cache the result for use in marshal\n\tif u.sizecache.IsValid() {\n\t\tatomic.StoreInt32(ptr.offset(u.sizecache).toInt32(), int32(n))\n\t}\n\treturn n\n}\n\n// cachedsize gets the size from cache. If there is no cache (i.e. message is not generated),\n// fall back to compute the size.\nfunc (u *marshalInfo) cachedsize(ptr pointer) int {\n\tif u.sizecache.IsValid() {\n\t\treturn int(atomic.LoadInt32(ptr.offset(u.sizecache).toInt32()))\n\t}\n\treturn u.size(ptr)\n}\n\n// marshal is the main function to marshal a message. It takes a byte slice and appends\n// the encoded data to the end of the slice, returns the slice and error (if any).\n// ptr is the pointer to the message.\n// If deterministic is true, map is marshaled in deterministic order.\nfunc (u *marshalInfo) marshal(b []byte, ptr pointer, deterministic bool) ([]byte, error) {\n\tif atomic.LoadInt32(&u.initialized) == 0 {\n\t\tu.computeMarshalInfo()\n\t}\n\n\t// If the message can marshal itself, let it do it, for compatibility.\n\t// NOTE: This is not efficient.\n\tif u.hasmarshaler {\n\t\tif deterministic {\n\t\t\treturn nil, errors.New(\"proto: deterministic not supported by the Marshal method of \" + u.typ.String())\n\t\t}\n\t\tm := ptr.asPointerTo(u.typ).Interface().(Marshaler)\n\t\tb1, err := m.Marshal()\n\t\tb = append(b, b1...)\n\t\treturn b, err\n\t}\n\n\tvar err, errreq error\n\t// The old marshaler encodes extensions at beginning.\n\tif u.extensions.IsValid() {\n\t\te := ptr.offset(u.extensions).toExtensions()\n\t\tif u.messageset {\n\t\t\tb, err = u.appendMessageSet(b, e, deterministic)\n\t\t} else {\n\t\t\tb, err = u.appendExtensions(b, e, deterministic)\n\t\t}\n\t\tif err != nil {\n\t\t\treturn b, err\n\t\t}\n\t}\n\tif u.v1extensions.IsValid() {\n\t\tm := *ptr.offset(u.v1extensions).toOldExtensions()\n\t\tb, err = u.appendV1Extensions(b, m, deterministic)\n\t\tif err != nil {\n\t\t\treturn b, err\n\t\t}\n\t}\n\tif u.bytesExtensions.IsValid() {\n\t\ts := *ptr.offset(u.bytesExtensions).toBytes()\n\t\tb = append(b, s...)\n\t}\n\tfor _, f := range u.fields {\n\t\tif f.required && errreq == nil {\n\t\t\tif ptr.offset(f.field).getPointer().isNil() {\n\t\t\t\t// Required field is not set.\n\t\t\t\t// We record the error but keep going, to give a complete marshaling.\n\t\t\t\terrreq = &RequiredNotSetError{f.name}\n\t\t\t\tcontinue\n\t\t\t}\n\t\t}\n\t\tif f.isPointer && ptr.offset(f.field).getPointer().isNil() {\n\t\t\t// nil pointer always marshals to nothing\n\t\t\tcontinue\n\t\t}\n\t\tb, err = f.marshaler(b, ptr.offset(f.field), f.wiretag, deterministic)\n\t\tif err != nil {\n\t\t\tif err1, ok := err.(*RequiredNotSetError); ok {\n\t\t\t\t// Required field in submessage is not set.\n\t\t\t\t// We record the error but keep going, to give a complete marshaling.\n\t\t\t\tif errreq == nil {\n\t\t\t\t\terrreq = &RequiredNotSetError{f.name + \".\" + err1.field}\n\t\t\t\t}\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif err == errRepeatedHasNil {\n\t\t\t\terr = errors.New(\"proto: repeated field \" + f.name + \" has nil element\")\n\t\t\t}\n\t\t\treturn b, err\n\t\t}\n\t}\n\tif u.unrecognized.IsValid() {\n\t\ts := *ptr.offset(u.unrecognized).toBytes()\n\t\tb = append(b, s...)\n\t}\n\treturn b, errreq\n}\n\n// computeMarshalInfo initializes the marshal info.\nfunc (u *marshalInfo) computeMarshalInfo() {\n\tu.Lock()\n\tdefer u.Unlock()\n\tif u.initialized != 0 { // non-atomic read is ok as it is protected by the lock\n\t\treturn\n\t}\n\n\tt := u.typ\n\tu.unrecognized = invalidField\n\tu.extensions = invalidField\n\tu.v1extensions = invalidField\n\tu.bytesExtensions = invalidField\n\tu.sizecache = invalidField\n\tisOneofMessage := false\n\n\tif reflect.PtrTo(t).Implements(sizerType) {\n\t\tu.hassizer = true\n\t}\n\tif reflect.PtrTo(t).Implements(protosizerType) {\n\t\tu.hasprotosizer = true\n\t}\n\t// If the message can marshal itself, let it do it, for compatibility.\n\t// NOTE: This is not efficient.\n\tif reflect.PtrTo(t).Implements(marshalerType) {\n\t\tu.hasmarshaler = true\n\t\tatomic.StoreInt32(&u.initialized, 1)\n\t\treturn\n\t}\n\n\tn := t.NumField()\n\n\t// deal with XXX fields first\n\tfor i := 0; i < t.NumField(); i++ {\n\t\tf := t.Field(i)\n\t\tif f.Tag.Get(\"protobuf_oneof\") != \"\" {\n\t\t\tisOneofMessage = true\n\t\t}\n\t\tif !strings.HasPrefix(f.Name, \"XXX_\") {\n\t\t\tcontinue\n\t\t}\n\t\tswitch f.Name {\n\t\tcase \"XXX_sizecache\":\n\t\t\tu.sizecache = toField(&f)\n\t\tcase \"XXX_unrecognized\":\n\t\t\tu.unrecognized = toField(&f)\n\t\tcase \"XXX_InternalExtensions\":\n\t\t\tu.extensions = toField(&f)\n\t\t\tu.messageset = f.Tag.Get(\"protobuf_messageset\") == \"1\"\n\t\tcase \"XXX_extensions\":\n\t\t\tif f.Type.Kind() == reflect.Map {\n\t\t\t\tu.v1extensions = toField(&f)\n\t\t\t} else {\n\t\t\t\tu.bytesExtensions = toField(&f)\n\t\t\t}\n\t\tcase \"XXX_NoUnkeyedLiteral\":\n\t\t\t// nothing to do\n\t\tdefault:\n\t\t\tpanic(\"unknown XXX field: \" + f.Name)\n\t\t}\n\t\tn--\n\t}\n\n\t// get oneof implementers\n\tvar oneofImplementers []interface{}\n\t// gogo: isOneofMessage is needed for embedded oneof messages, without a marshaler and unmarshaler\n\tif m, ok := reflect.Zero(reflect.PtrTo(t)).Interface().(oneofMessage); ok && isOneofMessage {\n\t\t_, _, _, oneofImplementers = m.XXX_OneofFuncs()\n\t}\n\n\t// normal fields\n\tfields := make([]marshalFieldInfo, n) // batch allocation\n\tu.fields = make([]*marshalFieldInfo, 0, n)\n\tfor i, j := 0, 0; i < t.NumField(); i++ {\n\t\tf := t.Field(i)\n\n\t\tif strings.HasPrefix(f.Name, \"XXX_\") {\n\t\t\tcontinue\n\t\t}\n\t\tfield := &fields[j]\n\t\tj++\n\t\tfield.name = f.Name\n\t\tu.fields = append(u.fields, field)\n\t\tif f.Tag.Get(\"protobuf_oneof\") != \"\" {\n\t\t\tfield.computeOneofFieldInfo(&f, oneofImplementers)\n\t\t\tcontinue\n\t\t}\n\t\tif f.Tag.Get(\"protobuf\") == \"\" {\n\t\t\t// field has no tag (not in generated message), ignore it\n\t\t\tu.fields = u.fields[:len(u.fields)-1]\n\t\t\tj--\n\t\t\tcontinue\n\t\t}\n\t\tfield.computeMarshalFieldInfo(&f)\n\t}\n\n\t// fields are marshaled in tag order on the wire.\n\tsort.Sort(byTag(u.fields))\n\n\tatomic.StoreInt32(&u.initialized, 1)\n}\n\n// helper for sorting fields by tag\ntype byTag []*marshalFieldInfo\n\nfunc (a byTag) Len() int           { return len(a) }\nfunc (a byTag) Swap(i, j int)      { a[i], a[j] = a[j], a[i] }\nfunc (a byTag) Less(i, j int) bool { return a[i].wiretag < a[j].wiretag }\n\n// getExtElemInfo returns the information to marshal an extension element.\n// The info it returns is initialized.\nfunc (u *marshalInfo) getExtElemInfo(desc *ExtensionDesc) *marshalElemInfo {\n\t// get from cache first\n\tu.RLock()\n\te, ok := u.extElems[desc.Field]\n\tu.RUnlock()\n\tif ok {\n\t\treturn e\n\t}\n\n\tt := reflect.TypeOf(desc.ExtensionType) // pointer or slice to basic type or struct\n\ttags := strings.Split(desc.Tag, \",\")\n\ttag, err := strconv.Atoi(tags[1])\n\tif err != nil {\n\t\tpanic(\"tag is not an integer\")\n\t}\n\twt := wiretype(tags[0])\n\tsizr, marshalr := typeMarshaler(t, tags, false, false)\n\te = &marshalElemInfo{\n\t\twiretag:   uint64(tag)<<3 | wt,\n\t\ttagsize:   SizeVarint(uint64(tag) << 3),\n\t\tsizer:     sizr,\n\t\tmarshaler: marshalr,\n\t\tisptr:     t.Kind() == reflect.Ptr,\n\t}\n\n\t// update cache\n\tu.Lock()\n\tif u.extElems == nil {\n\t\tu.extElems = make(map[int32]*marshalElemInfo)\n\t}\n\tu.extElems[desc.Field] = e\n\tu.Unlock()\n\treturn e\n}\n\n// computeMarshalFieldInfo fills up the information to marshal a field.\nfunc (fi *marshalFieldInfo) computeMarshalFieldInfo(f *reflect.StructField) {\n\t// parse protobuf tag of the field.\n\t// tag has format of \"bytes,49,opt,name=foo,def=hello!\"\n\ttags := strings.Split(f.Tag.Get(\"protobuf\"), \",\")\n\tif tags[0] == \"\" {\n\t\treturn\n\t}\n\ttag, err := strconv.Atoi(tags[1])\n\tif err != nil {\n\t\tpanic(\"tag is not an integer\")\n\t}\n\twt := wiretype(tags[0])\n\tif tags[2] == \"req\" {\n\t\tfi.required = true\n\t}\n\tfi.setTag(f, tag, wt)\n\tfi.setMarshaler(f, tags)\n}\n\nfunc (fi *marshalFieldInfo) computeOneofFieldInfo(f *reflect.StructField, oneofImplementers []interface{}) {\n\tfi.field = toField(f)\n\tfi.wiretag = 1<<31 - 1 // Use a large tag number, make oneofs sorted at the end. This tag will not appear on the wire.\n\tfi.isPointer = true\n\tfi.sizer, fi.marshaler = makeOneOfMarshaler(fi, f)\n\tfi.oneofElems = make(map[reflect.Type]*marshalElemInfo)\n\n\tityp := f.Type // interface type\n\tfor _, o := range oneofImplementers {\n\t\tt := reflect.TypeOf(o)\n\t\tif !t.Implements(ityp) {\n\t\t\tcontinue\n\t\t}\n\t\tsf := t.Elem().Field(0) // oneof implementer is a struct with a single field\n\t\ttags := strings.Split(sf.Tag.Get(\"protobuf\"), \",\")\n\t\ttag, err := strconv.Atoi(tags[1])\n\t\tif err != nil {\n\t\t\tpanic(\"tag is not an integer\")\n\t\t}\n\t\twt := wiretype(tags[0])\n\t\tsizr, marshalr := typeMarshaler(sf.Type, tags, false, true) // oneof should not omit any zero value\n\t\tfi.oneofElems[t.Elem()] = &marshalElemInfo{\n\t\t\twiretag:   uint64(tag)<<3 | wt,\n\t\t\ttagsize:   SizeVarint(uint64(tag) << 3),\n\t\t\tsizer:     sizr,\n\t\t\tmarshaler: marshalr,\n\t\t}\n\t}\n}\n\ntype oneofMessage interface {\n\tXXX_OneofFuncs() (func(Message, *Buffer) error, func(Message, int, int, *Buffer) (bool, error), func(Message) int, []interface{})\n}\n\n// wiretype returns the wire encoding of the type.\nfunc wiretype(encoding string) uint64 {\n\tswitch encoding {\n\tcase \"fixed32\":\n\t\treturn WireFixed32\n\tcase \"fixed64\":\n\t\treturn WireFixed64\n\tcase \"varint\", \"zigzag32\", \"zigzag64\":\n\t\treturn WireVarint\n\tcase \"bytes\":\n\t\treturn WireBytes\n\tcase \"group\":\n\t\treturn WireStartGroup\n\t}\n\tpanic(\"unknown wire type \" + encoding)\n}\n\n// setTag fills up the tag (in wire format) and its size in the info of a field.\nfunc (fi *marshalFieldInfo) setTag(f *reflect.StructField, tag int, wt uint64) {\n\tfi.field = toField(f)\n\tfi.wiretag = uint64(tag)<<3 | wt\n\tfi.tagsize = SizeVarint(uint64(tag) << 3)\n}\n\n// setMarshaler fills up the sizer and marshaler in the info of a field.\nfunc (fi *marshalFieldInfo) setMarshaler(f *reflect.StructField, tags []string) {\n\tswitch f.Type.Kind() {\n\tcase reflect.Map:\n\t\t// map field\n\t\tfi.isPointer = true\n\t\tfi.sizer, fi.marshaler = makeMapMarshaler(f)\n\t\treturn\n\tcase reflect.Ptr, reflect.Slice:\n\t\tfi.isPointer = true\n\t}\n\tfi.sizer, fi.marshaler = typeMarshaler(f.Type, tags, true, false)\n}\n\n// typeMarshaler returns the sizer and marshaler of a given field.\n// t is the type of the field.\n// tags is the generated \"protobuf\" tag of the field.\n// If nozero is true, zero value is not marshaled to the wire.\n// If oneof is true, it is a oneof field.\nfunc typeMarshaler(t reflect.Type, tags []string, nozero, oneof bool) (sizer, marshaler) {\n\tencoding := tags[0]\n\n\tpointer := false\n\tslice := false\n\tif t.Kind() == reflect.Slice && t.Elem().Kind() != reflect.Uint8 {\n\t\tslice = true\n\t\tt = t.Elem()\n\t}\n\tif t.Kind() == reflect.Ptr {\n\t\tpointer = true\n\t\tt = t.Elem()\n\t}\n\n\tpacked := false\n\tproto3 := false\n\tctype := false\n\tisTime := false\n\tisDuration := false\n\tfor i := 2; i < len(tags); i++ {\n\t\tif tags[i] == \"packed\" {\n\t\t\tpacked = true\n\t\t}\n\t\tif tags[i] == \"proto3\" {\n\t\t\tproto3 = true\n\t\t}\n\t\tif strings.HasPrefix(tags[i], \"customtype=\") {\n\t\t\tctype = true\n\t\t}\n\t\tif tags[i] == \"stdtime\" {\n\t\t\tisTime = true\n\t\t}\n\t\tif tags[i] == \"stdduration\" {\n\t\t\tisDuration = true\n\t\t}\n\t}\n\tif !proto3 && !pointer && !slice {\n\t\tnozero = false\n\t}\n\n\tif ctype {\n\t\tif reflect.PtrTo(t).Implements(customType) {\n\t\t\tif slice {\n\t\t\t\treturn makeMessageRefSliceMarshaler(getMarshalInfo(t))\n\t\t\t}\n\t\t\tif pointer {\n\t\t\t\treturn makeCustomPtrMarshaler(getMarshalInfo(t))\n\t\t\t}\n\t\t\treturn makeCustomMarshaler(getMarshalInfo(t))\n\t\t} else {\n\t\t\tpanic(fmt.Sprintf(\"custom type: type: %v, does not implement the proto.custom interface\", t))\n\t\t}\n\t}\n\n\tif isTime {\n\t\tif pointer {\n\t\t\tif slice {\n\t\t\t\treturn makeTimePtrSliceMarshaler(getMarshalInfo(t))\n\t\t\t}\n\t\t\treturn makeTimePtrMarshaler(getMarshalInfo(t))\n\t\t}\n\t\tif slice {\n\t\t\treturn makeTimeSliceMarshaler(getMarshalInfo(t))\n\t\t}\n\t\treturn makeTimeMarshaler(getMarshalInfo(t))\n\t}\n\n\tif isDuration {\n\t\tif pointer {\n\t\t\tif slice {\n\t\t\t\treturn makeDurationPtrSliceMarshaler(getMarshalInfo(t))\n\t\t\t}\n\t\t\treturn makeDurationPtrMarshaler(getMarshalInfo(t))\n\t\t}\n\t\tif slice {\n\t\t\treturn makeDurationSliceMarshaler(getMarshalInfo(t))\n\t\t}\n\t\treturn makeDurationMarshaler(getMarshalInfo(t))\n\t}\n\n\tswitch t.Kind() {\n\tcase reflect.Bool:\n\t\tif pointer {\n\t\t\treturn sizeBoolPtr, appendBoolPtr\n\t\t}\n\t\tif slice {\n\t\t\tif packed {\n\t\t\t\treturn sizeBoolPackedSlice, appendBoolPackedSlice\n\t\t\t}\n\t\t\treturn sizeBoolSlice, appendBoolSlice\n\t\t}\n\t\tif nozero {\n\t\t\treturn sizeBoolValueNoZero, appendBoolValueNoZero\n\t\t}\n\t\treturn sizeBoolValue, appendBoolValue\n\tcase reflect.Uint32:\n\t\tswitch encoding {\n\t\tcase \"fixed32\":\n\t\t\tif pointer {\n\t\t\t\treturn sizeFixed32Ptr, appendFixed32Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\tif packed {\n\t\t\t\t\treturn sizeFixed32PackedSlice, appendFixed32PackedSlice\n\t\t\t\t}\n\t\t\t\treturn sizeFixed32Slice, appendFixed32Slice\n\t\t\t}\n\t\t\tif nozero {\n\t\t\t\treturn sizeFixed32ValueNoZero, appendFixed32ValueNoZero\n\t\t\t}\n\t\t\treturn sizeFixed32Value, appendFixed32Value\n\t\tcase \"varint\":\n\t\t\tif pointer {\n\t\t\t\treturn sizeVarint32Ptr, appendVarint32Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\tif packed {\n\t\t\t\t\treturn sizeVarint32PackedSlice, appendVarint32PackedSlice\n\t\t\t\t}\n\t\t\t\treturn sizeVarint32Slice, appendVarint32Slice\n\t\t\t}\n\t\t\tif nozero {\n\t\t\t\treturn sizeVarint32ValueNoZero, appendVarint32ValueNoZero\n\t\t\t}\n\t\t\treturn sizeVarint32Value, appendVarint32Value\n\t\t}\n\tcase reflect.Int32:\n\t\tswitch encoding {\n\t\tcase \"fixed32\":\n\t\t\tif pointer {\n\t\t\t\treturn sizeFixedS32Ptr, appendFixedS32Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\tif packed {\n\t\t\t\t\treturn sizeFixedS32PackedSlice, appendFixedS32PackedSlice\n\t\t\t\t}\n\t\t\t\treturn sizeFixedS32Slice, appendFixedS32Slice\n\t\t\t}\n\t\t\tif nozero {\n\t\t\t\treturn sizeFixedS32ValueNoZero, appendFixedS32ValueNoZero\n\t\t\t}\n\t\t\treturn sizeFixedS32Value, appendFixedS32Value\n\t\tcase \"varint\":\n\t\t\tif pointer {\n\t\t\t\treturn sizeVarintS32Ptr, appendVarintS32Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\tif packed {\n\t\t\t\t\treturn sizeVarintS32PackedSlice, appendVarintS32PackedSlice\n\t\t\t\t}\n\t\t\t\treturn sizeVarintS32Slice, appendVarintS32Slice\n\t\t\t}\n\t\t\tif nozero {\n\t\t\t\treturn sizeVarintS32ValueNoZero, appendVarintS32ValueNoZero\n\t\t\t}\n\t\t\treturn sizeVarintS32Value, appendVarintS32Value\n\t\tcase \"zigzag32\":\n\t\t\tif pointer {\n\t\t\t\treturn sizeZigzag32Ptr, appendZigzag32Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\tif packed {\n\t\t\t\t\treturn sizeZigzag32PackedSlice, appendZigzag32PackedSlice\n\t\t\t\t}\n\t\t\t\treturn sizeZigzag32Slice, appendZigzag32Slice\n\t\t\t}\n\t\t\tif nozero {\n\t\t\t\treturn sizeZigzag32ValueNoZero, appendZigzag32ValueNoZero\n\t\t\t}\n\t\t\treturn sizeZigzag32Value, appendZigzag32Value\n\t\t}\n\tcase reflect.Uint64:\n\t\tswitch encoding {\n\t\tcase \"fixed64\":\n\t\t\tif pointer {\n\t\t\t\treturn sizeFixed64Ptr, appendFixed64Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\tif packed {\n\t\t\t\t\treturn sizeFixed64PackedSlice, appendFixed64PackedSlice\n\t\t\t\t}\n\t\t\t\treturn sizeFixed64Slice, appendFixed64Slice\n\t\t\t}\n\t\t\tif nozero {\n\t\t\t\treturn sizeFixed64ValueNoZero, appendFixed64ValueNoZero\n\t\t\t}\n\t\t\treturn sizeFixed64Value, appendFixed64Value\n\t\tcase \"varint\":\n\t\t\tif pointer {\n\t\t\t\treturn sizeVarint64Ptr, appendVarint64Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\tif packed {\n\t\t\t\t\treturn sizeVarint64PackedSlice, appendVarint64PackedSlice\n\t\t\t\t}\n\t\t\t\treturn sizeVarint64Slice, appendVarint64Slice\n\t\t\t}\n\t\t\tif nozero {\n\t\t\t\treturn sizeVarint64ValueNoZero, appendVarint64ValueNoZero\n\t\t\t}\n\t\t\treturn sizeVarint64Value, appendVarint64Value\n\t\t}\n\tcase reflect.Int64:\n\t\tswitch encoding {\n\t\tcase \"fixed64\":\n\t\t\tif pointer {\n\t\t\t\treturn sizeFixedS64Ptr, appendFixedS64Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\tif packed {\n\t\t\t\t\treturn sizeFixedS64PackedSlice, appendFixedS64PackedSlice\n\t\t\t\t}\n\t\t\t\treturn sizeFixedS64Slice, appendFixedS64Slice\n\t\t\t}\n\t\t\tif nozero {\n\t\t\t\treturn sizeFixedS64ValueNoZero, appendFixedS64ValueNoZero\n\t\t\t}\n\t\t\treturn sizeFixedS64Value, appendFixedS64Value\n\t\tcase \"varint\":\n\t\t\tif pointer {\n\t\t\t\treturn sizeVarintS64Ptr, appendVarintS64Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\tif packed {\n\t\t\t\t\treturn sizeVarintS64PackedSlice, appendVarintS64PackedSlice\n\t\t\t\t}\n\t\t\t\treturn sizeVarintS64Slice, appendVarintS64Slice\n\t\t\t}\n\t\t\tif nozero {\n\t\t\t\treturn sizeVarintS64ValueNoZero, appendVarintS64ValueNoZero\n\t\t\t}\n\t\t\treturn sizeVarintS64Value, appendVarintS64Value\n\t\tcase \"zigzag64\":\n\t\t\tif pointer {\n\t\t\t\treturn sizeZigzag64Ptr, appendZigzag64Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\tif packed {\n\t\t\t\t\treturn sizeZigzag64PackedSlice, appendZigzag64PackedSlice\n\t\t\t\t}\n\t\t\t\treturn sizeZigzag64Slice, appendZigzag64Slice\n\t\t\t}\n\t\t\tif nozero {\n\t\t\t\treturn sizeZigzag64ValueNoZero, appendZigzag64ValueNoZero\n\t\t\t}\n\t\t\treturn sizeZigzag64Value, appendZigzag64Value\n\t\t}\n\tcase reflect.Float32:\n\t\tif pointer {\n\t\t\treturn sizeFloat32Ptr, appendFloat32Ptr\n\t\t}\n\t\tif slice {\n\t\t\tif packed {\n\t\t\t\treturn sizeFloat32PackedSlice, appendFloat32PackedSlice\n\t\t\t}\n\t\t\treturn sizeFloat32Slice, appendFloat32Slice\n\t\t}\n\t\tif nozero {\n\t\t\treturn sizeFloat32ValueNoZero, appendFloat32ValueNoZero\n\t\t}\n\t\treturn sizeFloat32Value, appendFloat32Value\n\tcase reflect.Float64:\n\t\tif pointer {\n\t\t\treturn sizeFloat64Ptr, appendFloat64Ptr\n\t\t}\n\t\tif slice {\n\t\t\tif packed {\n\t\t\t\treturn sizeFloat64PackedSlice, appendFloat64PackedSlice\n\t\t\t}\n\t\t\treturn sizeFloat64Slice, appendFloat64Slice\n\t\t}\n\t\tif nozero {\n\t\t\treturn sizeFloat64ValueNoZero, appendFloat64ValueNoZero\n\t\t}\n\t\treturn sizeFloat64Value, appendFloat64Value\n\tcase reflect.String:\n\t\tif pointer {\n\t\t\treturn sizeStringPtr, appendStringPtr\n\t\t}\n\t\tif slice {\n\t\t\treturn sizeStringSlice, appendStringSlice\n\t\t}\n\t\tif nozero {\n\t\t\treturn sizeStringValueNoZero, appendStringValueNoZero\n\t\t}\n\t\treturn sizeStringValue, appendStringValue\n\tcase reflect.Slice:\n\t\tif slice {\n\t\t\treturn sizeBytesSlice, appendBytesSlice\n\t\t}\n\t\tif oneof {\n\t\t\t// Oneof bytes field may also have \"proto3\" tag.\n\t\t\t// We want to marshal it as a oneof field. Do this\n\t\t\t// check before the proto3 check.\n\t\t\treturn sizeBytesOneof, appendBytesOneof\n\t\t}\n\t\tif proto3 {\n\t\t\treturn sizeBytes3, appendBytes3\n\t\t}\n\t\treturn sizeBytes, appendBytes\n\tcase reflect.Struct:\n\t\tswitch encoding {\n\t\tcase \"group\":\n\t\t\tif slice {\n\t\t\t\treturn makeGroupSliceMarshaler(getMarshalInfo(t))\n\t\t\t}\n\t\t\treturn makeGroupMarshaler(getMarshalInfo(t))\n\t\tcase \"bytes\":\n\t\t\tif pointer {\n\t\t\t\tif slice {\n\t\t\t\t\treturn makeMessageSliceMarshaler(getMarshalInfo(t))\n\t\t\t\t}\n\t\t\t\treturn makeMessageMarshaler(getMarshalInfo(t))\n\t\t\t} else {\n\t\t\t\tif slice {\n\t\t\t\t\treturn makeMessageRefSliceMarshaler(getMarshalInfo(t))\n\t\t\t\t}\n\t\t\t\treturn makeMessageRefMarshaler(getMarshalInfo(t))\n\t\t\t}\n\t\t}\n\t}\n\tpanic(fmt.Sprintf(\"unknown or mismatched type: type: %v, wire type: %v\", t, encoding))\n}\n\n// Below are functions to size/marshal a specific type of a field.\n// They are stored in the field's info, and called by function pointers.\n// They have type sizer or marshaler.\n\nfunc sizeFixed32Value(_ pointer, tagsize int) int {\n\treturn 4 + tagsize\n}\nfunc sizeFixed32ValueNoZero(ptr pointer, tagsize int) int {\n\tv := *ptr.toUint32()\n\tif v == 0 {\n\t\treturn 0\n\t}\n\treturn 4 + tagsize\n}\nfunc sizeFixed32Ptr(ptr pointer, tagsize int) int {\n\tp := *ptr.toUint32Ptr()\n\tif p == nil {\n\t\treturn 0\n\t}\n\treturn 4 + tagsize\n}\nfunc sizeFixed32Slice(ptr pointer, tagsize int) int {\n\ts := *ptr.toUint32Slice()\n\treturn (4 + tagsize) * len(s)\n}\nfunc sizeFixed32PackedSlice(ptr pointer, tagsize int) int {\n\ts := *ptr.toUint32Slice()\n\tif len(s) == 0 {\n\t\treturn 0\n\t}\n\treturn 4*len(s) + SizeVarint(uint64(4*len(s))) + tagsize\n}\nfunc sizeFixedS32Value(_ pointer, tagsize int) int {\n\treturn 4 + tagsize\n}\nfunc sizeFixedS32ValueNoZero(ptr pointer, tagsize int) int {\n\tv := *ptr.toInt32()\n\tif v == 0 {\n\t\treturn 0\n\t}\n\treturn 4 + tagsize\n}\nfunc sizeFixedS32Ptr(ptr pointer, tagsize int) int {\n\tp := ptr.getInt32Ptr()\n\tif p == nil {\n\t\treturn 0\n\t}\n\treturn 4 + tagsize\n}\nfunc sizeFixedS32Slice(ptr pointer, tagsize int) int {\n\ts := ptr.getInt32Slice()\n\treturn (4 + tagsize) * len(s)\n}\nfunc sizeFixedS32PackedSlice(ptr pointer, tagsize int) int {\n\ts := ptr.getInt32Slice()\n\tif len(s) == 0 {\n\t\treturn 0\n\t}\n\treturn 4*len(s) + SizeVarint(uint64(4*len(s))) + tagsize\n}\nfunc sizeFloat32Value(_ pointer, tagsize int) int {\n\treturn 4 + tagsize\n}\nfunc sizeFloat32ValueNoZero(ptr pointer, tagsize int) int {\n\tv := math.Float32bits(*ptr.toFloat32())\n\tif v == 0 {\n\t\treturn 0\n\t}\n\treturn 4 + tagsize\n}\nfunc sizeFloat32Ptr(ptr pointer, tagsize int) int {\n\tp := *ptr.toFloat32Ptr()\n\tif p == nil {\n\t\treturn 0\n\t}\n\treturn 4 + tagsize\n}\nfunc sizeFloat32Slice(ptr pointer, tagsize int) int {\n\ts := *ptr.toFloat32Slice()\n\treturn (4 + tagsize) * len(s)\n}\nfunc sizeFloat32PackedSlice(ptr pointer, tagsize int) int {\n\ts := *ptr.toFloat32Slice()\n\tif len(s) == 0 {\n\t\treturn 0\n\t}\n\treturn 4*len(s) + SizeVarint(uint64(4*len(s))) + tagsize\n}\nfunc sizeFixed64Value(_ pointer, tagsize int) int {\n\treturn 8 + tagsize\n}\nfunc sizeFixed64ValueNoZero(ptr pointer, tagsize int) int {\n\tv := *ptr.toUint64()\n\tif v == 0 {\n\t\treturn 0\n\t}\n\treturn 8 + tagsize\n}\nfunc sizeFixed64Ptr(ptr pointer, tagsize int) int {\n\tp := *ptr.toUint64Ptr()\n\tif p == nil {\n\t\treturn 0\n\t}\n\treturn 8 + tagsize\n}\nfunc sizeFixed64Slice(ptr pointer, tagsize int) int {\n\ts := *ptr.toUint64Slice()\n\treturn (8 + tagsize) * len(s)\n}\nfunc sizeFixed64PackedSlice(ptr pointer, tagsize int) int {\n\ts := *ptr.toUint64Slice()\n\tif len(s) == 0 {\n\t\treturn 0\n\t}\n\treturn 8*len(s) + SizeVarint(uint64(8*len(s))) + tagsize\n}\nfunc sizeFixedS64Value(_ pointer, tagsize int) int {\n\treturn 8 + tagsize\n}\nfunc sizeFixedS64ValueNoZero(ptr pointer, tagsize int) int {\n\tv := *ptr.toInt64()\n\tif v == 0 {\n\t\treturn 0\n\t}\n\treturn 8 + tagsize\n}\nfunc sizeFixedS64Ptr(ptr pointer, tagsize int) int {\n\tp := *ptr.toInt64Ptr()\n\tif p == nil {\n\t\treturn 0\n\t}\n\treturn 8 + tagsize\n}\nfunc sizeFixedS64Slice(ptr pointer, tagsize int) int {\n\ts := *ptr.toInt64Slice()\n\treturn (8 + tagsize) * len(s)\n}\nfunc sizeFixedS64PackedSlice(ptr pointer, tagsize int) int {\n\ts := *ptr.toInt64Slice()\n\tif len(s) == 0 {\n\t\treturn 0\n\t}\n\treturn 8*len(s) + SizeVarint(uint64(8*len(s))) + tagsize\n}\nfunc sizeFloat64Value(_ pointer, tagsize int) int {\n\treturn 8 + tagsize\n}\nfunc sizeFloat64ValueNoZero(ptr pointer, tagsize int) int {\n\tv := math.Float64bits(*ptr.toFloat64())\n\tif v == 0 {\n\t\treturn 0\n\t}\n\treturn 8 + tagsize\n}\nfunc sizeFloat64Ptr(ptr pointer, tagsize int) int {\n\tp := *ptr.toFloat64Ptr()\n\tif p == nil {\n\t\treturn 0\n\t}\n\treturn 8 + tagsize\n}\nfunc sizeFloat64Slice(ptr pointer, tagsize int) int {\n\ts := *ptr.toFloat64Slice()\n\treturn (8 + tagsize) * len(s)\n}\nfunc sizeFloat64PackedSlice(ptr pointer, tagsize int) int {\n\ts := *ptr.toFloat64Slice()\n\tif len(s) == 0 {\n\t\treturn 0\n\t}\n\treturn 8*len(s) + SizeVarint(uint64(8*len(s))) + tagsize\n}\nfunc sizeVarint32Value(ptr pointer, tagsize int) int {\n\tv := *ptr.toUint32()\n\treturn SizeVarint(uint64(v)) + tagsize\n}\nfunc sizeVarint32ValueNoZero(ptr pointer, tagsize int) int {\n\tv := *ptr.toUint32()\n\tif v == 0 {\n\t\treturn 0\n\t}\n\treturn SizeVarint(uint64(v)) + tagsize\n}\nfunc sizeVarint32Ptr(ptr pointer, tagsize int) int {\n\tp := *ptr.toUint32Ptr()\n\tif p == nil {\n\t\treturn 0\n\t}\n\treturn SizeVarint(uint64(*p)) + tagsize\n}\nfunc sizeVarint32Slice(ptr pointer, tagsize int) int {\n\ts := *ptr.toUint32Slice()\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(uint64(v)) + tagsize\n\t}\n\treturn n\n}\nfunc sizeVarint32PackedSlice(ptr pointer, tagsize int) int {\n\ts := *ptr.toUint32Slice()\n\tif len(s) == 0 {\n\t\treturn 0\n\t}\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(uint64(v))\n\t}\n\treturn n + SizeVarint(uint64(n)) + tagsize\n}\nfunc sizeVarintS32Value(ptr pointer, tagsize int) int {\n\tv := *ptr.toInt32()\n\treturn SizeVarint(uint64(v)) + tagsize\n}\nfunc sizeVarintS32ValueNoZero(ptr pointer, tagsize int) int {\n\tv := *ptr.toInt32()\n\tif v == 0 {\n\t\treturn 0\n\t}\n\treturn SizeVarint(uint64(v)) + tagsize\n}\nfunc sizeVarintS32Ptr(ptr pointer, tagsize int) int {\n\tp := ptr.getInt32Ptr()\n\tif p == nil {\n\t\treturn 0\n\t}\n\treturn SizeVarint(uint64(*p)) + tagsize\n}\nfunc sizeVarintS32Slice(ptr pointer, tagsize int) int {\n\ts := ptr.getInt32Slice()\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(uint64(v)) + tagsize\n\t}\n\treturn n\n}\nfunc sizeVarintS32PackedSlice(ptr pointer, tagsize int) int {\n\ts := ptr.getInt32Slice()\n\tif len(s) == 0 {\n\t\treturn 0\n\t}\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(uint64(v))\n\t}\n\treturn n + SizeVarint(uint64(n)) + tagsize\n}\nfunc sizeVarint64Value(ptr pointer, tagsize int) int {\n\tv := *ptr.toUint64()\n\treturn SizeVarint(v) + tagsize\n}\nfunc sizeVarint64ValueNoZero(ptr pointer, tagsize int) int {\n\tv := *ptr.toUint64()\n\tif v == 0 {\n\t\treturn 0\n\t}\n\treturn SizeVarint(v) + tagsize\n}\nfunc sizeVarint64Ptr(ptr pointer, tagsize int) int {\n\tp := *ptr.toUint64Ptr()\n\tif p == nil {\n\t\treturn 0\n\t}\n\treturn SizeVarint(*p) + tagsize\n}\nfunc sizeVarint64Slice(ptr pointer, tagsize int) int {\n\ts := *ptr.toUint64Slice()\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(v) + tagsize\n\t}\n\treturn n\n}\nfunc sizeVarint64PackedSlice(ptr pointer, tagsize int) int {\n\ts := *ptr.toUint64Slice()\n\tif len(s) == 0 {\n\t\treturn 0\n\t}\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(v)\n\t}\n\treturn n + SizeVarint(uint64(n)) + tagsize\n}\nfunc sizeVarintS64Value(ptr pointer, tagsize int) int {\n\tv := *ptr.toInt64()\n\treturn SizeVarint(uint64(v)) + tagsize\n}\nfunc sizeVarintS64ValueNoZero(ptr pointer, tagsize int) int {\n\tv := *ptr.toInt64()\n\tif v == 0 {\n\t\treturn 0\n\t}\n\treturn SizeVarint(uint64(v)) + tagsize\n}\nfunc sizeVarintS64Ptr(ptr pointer, tagsize int) int {\n\tp := *ptr.toInt64Ptr()\n\tif p == nil {\n\t\treturn 0\n\t}\n\treturn SizeVarint(uint64(*p)) + tagsize\n}\nfunc sizeVarintS64Slice(ptr pointer, tagsize int) int {\n\ts := *ptr.toInt64Slice()\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(uint64(v)) + tagsize\n\t}\n\treturn n\n}\nfunc sizeVarintS64PackedSlice(ptr pointer, tagsize int) int {\n\ts := *ptr.toInt64Slice()\n\tif len(s) == 0 {\n\t\treturn 0\n\t}\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(uint64(v))\n\t}\n\treturn n + SizeVarint(uint64(n)) + tagsize\n}\nfunc sizeZigzag32Value(ptr pointer, tagsize int) int {\n\tv := *ptr.toInt32()\n\treturn SizeVarint(uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + tagsize\n}\nfunc sizeZigzag32ValueNoZero(ptr pointer, tagsize int) int {\n\tv := *ptr.toInt32()\n\tif v == 0 {\n\t\treturn 0\n\t}\n\treturn SizeVarint(uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + tagsize\n}\nfunc sizeZigzag32Ptr(ptr pointer, tagsize int) int {\n\tp := ptr.getInt32Ptr()\n\tif p == nil {\n\t\treturn 0\n\t}\n\tv := *p\n\treturn SizeVarint(uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + tagsize\n}\nfunc sizeZigzag32Slice(ptr pointer, tagsize int) int {\n\ts := ptr.getInt32Slice()\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + tagsize\n\t}\n\treturn n\n}\nfunc sizeZigzag32PackedSlice(ptr pointer, tagsize int) int {\n\ts := ptr.getInt32Slice()\n\tif len(s) == 0 {\n\t\treturn 0\n\t}\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(uint64((uint32(v) << 1) ^ uint32((int32(v) >> 31))))\n\t}\n\treturn n + SizeVarint(uint64(n)) + tagsize\n}\nfunc sizeZigzag64Value(ptr pointer, tagsize int) int {\n\tv := *ptr.toInt64()\n\treturn SizeVarint(uint64(v<<1)^uint64((int64(v)>>63))) + tagsize\n}\nfunc sizeZigzag64ValueNoZero(ptr pointer, tagsize int) int {\n\tv := *ptr.toInt64()\n\tif v == 0 {\n\t\treturn 0\n\t}\n\treturn SizeVarint(uint64(v<<1)^uint64((int64(v)>>63))) + tagsize\n}\nfunc sizeZigzag64Ptr(ptr pointer, tagsize int) int {\n\tp := *ptr.toInt64Ptr()\n\tif p == nil {\n\t\treturn 0\n\t}\n\tv := *p\n\treturn SizeVarint(uint64(v<<1)^uint64((int64(v)>>63))) + tagsize\n}\nfunc sizeZigzag64Slice(ptr pointer, tagsize int) int {\n\ts := *ptr.toInt64Slice()\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(uint64(v<<1)^uint64((int64(v)>>63))) + tagsize\n\t}\n\treturn n\n}\nfunc sizeZigzag64PackedSlice(ptr pointer, tagsize int) int {\n\ts := *ptr.toInt64Slice()\n\tif len(s) == 0 {\n\t\treturn 0\n\t}\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(uint64(v<<1) ^ uint64((int64(v) >> 63)))\n\t}\n\treturn n + SizeVarint(uint64(n)) + tagsize\n}\nfunc sizeBoolValue(_ pointer, tagsize int) int {\n\treturn 1 + tagsize\n}\nfunc sizeBoolValueNoZero(ptr pointer, tagsize int) int {\n\tv := *ptr.toBool()\n\tif !v {\n\t\treturn 0\n\t}\n\treturn 1 + tagsize\n}\nfunc sizeBoolPtr(ptr pointer, tagsize int) int {\n\tp := *ptr.toBoolPtr()\n\tif p == nil {\n\t\treturn 0\n\t}\n\treturn 1 + tagsize\n}\nfunc sizeBoolSlice(ptr pointer, tagsize int) int {\n\ts := *ptr.toBoolSlice()\n\treturn (1 + tagsize) * len(s)\n}\nfunc sizeBoolPackedSlice(ptr pointer, tagsize int) int {\n\ts := *ptr.toBoolSlice()\n\tif len(s) == 0 {\n\t\treturn 0\n\t}\n\treturn len(s) + SizeVarint(uint64(len(s))) + tagsize\n}\nfunc sizeStringValue(ptr pointer, tagsize int) int {\n\tv := *ptr.toString()\n\treturn len(v) + SizeVarint(uint64(len(v))) + tagsize\n}\nfunc sizeStringValueNoZero(ptr pointer, tagsize int) int {\n\tv := *ptr.toString()\n\tif v == \"\" {\n\t\treturn 0\n\t}\n\treturn len(v) + SizeVarint(uint64(len(v))) + tagsize\n}\nfunc sizeStringPtr(ptr pointer, tagsize int) int {\n\tp := *ptr.toStringPtr()\n\tif p == nil {\n\t\treturn 0\n\t}\n\tv := *p\n\treturn len(v) + SizeVarint(uint64(len(v))) + tagsize\n}\nfunc sizeStringSlice(ptr pointer, tagsize int) int {\n\ts := *ptr.toStringSlice()\n\tn := 0\n\tfor _, v := range s {\n\t\tn += len(v) + SizeVarint(uint64(len(v))) + tagsize\n\t}\n\treturn n\n}\nfunc sizeBytes(ptr pointer, tagsize int) int {\n\tv := *ptr.toBytes()\n\tif v == nil {\n\t\treturn 0\n\t}\n\treturn len(v) + SizeVarint(uint64(len(v))) + tagsize\n}\nfunc sizeBytes3(ptr pointer, tagsize int) int {\n\tv := *ptr.toBytes()\n\tif len(v) == 0 {\n\t\treturn 0\n\t}\n\treturn len(v) + SizeVarint(uint64(len(v))) + tagsize\n}\nfunc sizeBytesOneof(ptr pointer, tagsize int) int {\n\tv := *ptr.toBytes()\n\treturn len(v) + SizeVarint(uint64(len(v))) + tagsize\n}\nfunc sizeBytesSlice(ptr pointer, tagsize int) int {\n\ts := *ptr.toBytesSlice()\n\tn := 0\n\tfor _, v := range s {\n\t\tn += len(v) + SizeVarint(uint64(len(v))) + tagsize\n\t}\n\treturn n\n}\n\n// appendFixed32 appends an encoded fixed32 to b.\nfunc appendFixed32(b []byte, v uint32) []byte {\n\tb = append(b,\n\t\tbyte(v),\n\t\tbyte(v>>8),\n\t\tbyte(v>>16),\n\t\tbyte(v>>24))\n\treturn b\n}\n\n// appendFixed64 appends an encoded fixed64 to b.\nfunc appendFixed64(b []byte, v uint64) []byte {\n\tb = append(b,\n\t\tbyte(v),\n\t\tbyte(v>>8),\n\t\tbyte(v>>16),\n\t\tbyte(v>>24),\n\t\tbyte(v>>32),\n\t\tbyte(v>>40),\n\t\tbyte(v>>48),\n\t\tbyte(v>>56))\n\treturn b\n}\n\n// appendVarint appends an encoded varint to b.\nfunc appendVarint(b []byte, v uint64) []byte {\n\t// TODO: make 1-byte (maybe 2-byte) case inline-able, once we\n\t// have non-leaf inliner.\n\tswitch {\n\tcase v < 1<<7:\n\t\tb = append(b, byte(v))\n\tcase v < 1<<14:\n\t\tb = append(b,\n\t\t\tbyte(v&0x7f|0x80),\n\t\t\tbyte(v>>7))\n\tcase v < 1<<21:\n\t\tb = append(b,\n\t\t\tbyte(v&0x7f|0x80),\n\t\t\tbyte((v>>7)&0x7f|0x80),\n\t\t\tbyte(v>>14))\n\tcase v < 1<<28:\n\t\tb = append(b,\n\t\t\tbyte(v&0x7f|0x80),\n\t\t\tbyte((v>>7)&0x7f|0x80),\n\t\t\tbyte((v>>14)&0x7f|0x80),\n\t\t\tbyte(v>>21))\n\tcase v < 1<<35:\n\t\tb = append(b,\n\t\t\tbyte(v&0x7f|0x80),\n\t\t\tbyte((v>>7)&0x7f|0x80),\n\t\t\tbyte((v>>14)&0x7f|0x80),\n\t\t\tbyte((v>>21)&0x7f|0x80),\n\t\t\tbyte(v>>28))\n\tcase v < 1<<42:\n\t\tb = append(b,\n\t\t\tbyte(v&0x7f|0x80),\n\t\t\tbyte((v>>7)&0x7f|0x80),\n\t\t\tbyte((v>>14)&0x7f|0x80),\n\t\t\tbyte((v>>21)&0x7f|0x80),\n\t\t\tbyte((v>>28)&0x7f|0x80),\n\t\t\tbyte(v>>35))\n\tcase v < 1<<49:\n\t\tb = append(b,\n\t\t\tbyte(v&0x7f|0x80),\n\t\t\tbyte((v>>7)&0x7f|0x80),\n\t\t\tbyte((v>>14)&0x7f|0x80),\n\t\t\tbyte((v>>21)&0x7f|0x80),\n\t\t\tbyte((v>>28)&0x7f|0x80),\n\t\t\tbyte((v>>35)&0x7f|0x80),\n\t\t\tbyte(v>>42))\n\tcase v < 1<<56:\n\t\tb = append(b,\n\t\t\tbyte(v&0x7f|0x80),\n\t\t\tbyte((v>>7)&0x7f|0x80),\n\t\t\tbyte((v>>14)&0x7f|0x80),\n\t\t\tbyte((v>>21)&0x7f|0x80),\n\t\t\tbyte((v>>28)&0x7f|0x80),\n\t\t\tbyte((v>>35)&0x7f|0x80),\n\t\t\tbyte((v>>42)&0x7f|0x80),\n\t\t\tbyte(v>>49))\n\tcase v < 1<<63:\n\t\tb = append(b,\n\t\t\tbyte(v&0x7f|0x80),\n\t\t\tbyte((v>>7)&0x7f|0x80),\n\t\t\tbyte((v>>14)&0x7f|0x80),\n\t\t\tbyte((v>>21)&0x7f|0x80),\n\t\t\tbyte((v>>28)&0x7f|0x80),\n\t\t\tbyte((v>>35)&0x7f|0x80),\n\t\t\tbyte((v>>42)&0x7f|0x80),\n\t\t\tbyte((v>>49)&0x7f|0x80),\n\t\t\tbyte(v>>56))\n\tdefault:\n\t\tb = append(b,\n\t\t\tbyte(v&0x7f|0x80),\n\t\t\tbyte((v>>7)&0x7f|0x80),\n\t\t\tbyte((v>>14)&0x7f|0x80),\n\t\t\tbyte((v>>21)&0x7f|0x80),\n\t\t\tbyte((v>>28)&0x7f|0x80),\n\t\t\tbyte((v>>35)&0x7f|0x80),\n\t\t\tbyte((v>>42)&0x7f|0x80),\n\t\t\tbyte((v>>49)&0x7f|0x80),\n\t\t\tbyte((v>>56)&0x7f|0x80),\n\t\t\t1)\n\t}\n\treturn b\n}\n\nfunc appendFixed32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toUint32()\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed32(b, v)\n\treturn b, nil\n}\nfunc appendFixed32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toUint32()\n\tif v == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed32(b, v)\n\treturn b, nil\n}\nfunc appendFixed32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tp := *ptr.toUint32Ptr()\n\tif p == nil {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed32(b, *p)\n\treturn b, nil\n}\nfunc appendFixed32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toUint32Slice()\n\tfor _, v := range s {\n\t\tb = appendVarint(b, wiretag)\n\t\tb = appendFixed32(b, v)\n\t}\n\treturn b, nil\n}\nfunc appendFixed32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toUint32Slice()\n\tif len(s) == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag&^7|WireBytes)\n\tb = appendVarint(b, uint64(4*len(s)))\n\tfor _, v := range s {\n\t\tb = appendFixed32(b, v)\n\t}\n\treturn b, nil\n}\nfunc appendFixedS32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toInt32()\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed32(b, uint32(v))\n\treturn b, nil\n}\nfunc appendFixedS32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toInt32()\n\tif v == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed32(b, uint32(v))\n\treturn b, nil\n}\nfunc appendFixedS32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tp := ptr.getInt32Ptr()\n\tif p == nil {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed32(b, uint32(*p))\n\treturn b, nil\n}\nfunc appendFixedS32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := ptr.getInt32Slice()\n\tfor _, v := range s {\n\t\tb = appendVarint(b, wiretag)\n\t\tb = appendFixed32(b, uint32(v))\n\t}\n\treturn b, nil\n}\nfunc appendFixedS32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := ptr.getInt32Slice()\n\tif len(s) == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag&^7|WireBytes)\n\tb = appendVarint(b, uint64(4*len(s)))\n\tfor _, v := range s {\n\t\tb = appendFixed32(b, uint32(v))\n\t}\n\treturn b, nil\n}\nfunc appendFloat32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := math.Float32bits(*ptr.toFloat32())\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed32(b, v)\n\treturn b, nil\n}\nfunc appendFloat32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := math.Float32bits(*ptr.toFloat32())\n\tif v == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed32(b, v)\n\treturn b, nil\n}\nfunc appendFloat32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tp := *ptr.toFloat32Ptr()\n\tif p == nil {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed32(b, math.Float32bits(*p))\n\treturn b, nil\n}\nfunc appendFloat32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toFloat32Slice()\n\tfor _, v := range s {\n\t\tb = appendVarint(b, wiretag)\n\t\tb = appendFixed32(b, math.Float32bits(v))\n\t}\n\treturn b, nil\n}\nfunc appendFloat32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toFloat32Slice()\n\tif len(s) == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag&^7|WireBytes)\n\tb = appendVarint(b, uint64(4*len(s)))\n\tfor _, v := range s {\n\t\tb = appendFixed32(b, math.Float32bits(v))\n\t}\n\treturn b, nil\n}\nfunc appendFixed64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toUint64()\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed64(b, v)\n\treturn b, nil\n}\nfunc appendFixed64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toUint64()\n\tif v == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed64(b, v)\n\treturn b, nil\n}\nfunc appendFixed64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tp := *ptr.toUint64Ptr()\n\tif p == nil {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed64(b, *p)\n\treturn b, nil\n}\nfunc appendFixed64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toUint64Slice()\n\tfor _, v := range s {\n\t\tb = appendVarint(b, wiretag)\n\t\tb = appendFixed64(b, v)\n\t}\n\treturn b, nil\n}\nfunc appendFixed64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toUint64Slice()\n\tif len(s) == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag&^7|WireBytes)\n\tb = appendVarint(b, uint64(8*len(s)))\n\tfor _, v := range s {\n\t\tb = appendFixed64(b, v)\n\t}\n\treturn b, nil\n}\nfunc appendFixedS64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toInt64()\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed64(b, uint64(v))\n\treturn b, nil\n}\nfunc appendFixedS64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toInt64()\n\tif v == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed64(b, uint64(v))\n\treturn b, nil\n}\nfunc appendFixedS64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tp := *ptr.toInt64Ptr()\n\tif p == nil {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed64(b, uint64(*p))\n\treturn b, nil\n}\nfunc appendFixedS64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toInt64Slice()\n\tfor _, v := range s {\n\t\tb = appendVarint(b, wiretag)\n\t\tb = appendFixed64(b, uint64(v))\n\t}\n\treturn b, nil\n}\nfunc appendFixedS64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toInt64Slice()\n\tif len(s) == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag&^7|WireBytes)\n\tb = appendVarint(b, uint64(8*len(s)))\n\tfor _, v := range s {\n\t\tb = appendFixed64(b, uint64(v))\n\t}\n\treturn b, nil\n}\nfunc appendFloat64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := math.Float64bits(*ptr.toFloat64())\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed64(b, v)\n\treturn b, nil\n}\nfunc appendFloat64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := math.Float64bits(*ptr.toFloat64())\n\tif v == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed64(b, v)\n\treturn b, nil\n}\nfunc appendFloat64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tp := *ptr.toFloat64Ptr()\n\tif p == nil {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed64(b, math.Float64bits(*p))\n\treturn b, nil\n}\nfunc appendFloat64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toFloat64Slice()\n\tfor _, v := range s {\n\t\tb = appendVarint(b, wiretag)\n\t\tb = appendFixed64(b, math.Float64bits(v))\n\t}\n\treturn b, nil\n}\nfunc appendFloat64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toFloat64Slice()\n\tif len(s) == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag&^7|WireBytes)\n\tb = appendVarint(b, uint64(8*len(s)))\n\tfor _, v := range s {\n\t\tb = appendFixed64(b, math.Float64bits(v))\n\t}\n\treturn b, nil\n}\nfunc appendVarint32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toUint32()\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64(v))\n\treturn b, nil\n}\nfunc appendVarint32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toUint32()\n\tif v == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64(v))\n\treturn b, nil\n}\nfunc appendVarint32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tp := *ptr.toUint32Ptr()\n\tif p == nil {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64(*p))\n\treturn b, nil\n}\nfunc appendVarint32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toUint32Slice()\n\tfor _, v := range s {\n\t\tb = appendVarint(b, wiretag)\n\t\tb = appendVarint(b, uint64(v))\n\t}\n\treturn b, nil\n}\nfunc appendVarint32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toUint32Slice()\n\tif len(s) == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag&^7|WireBytes)\n\t// compute size\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(uint64(v))\n\t}\n\tb = appendVarint(b, uint64(n))\n\tfor _, v := range s {\n\t\tb = appendVarint(b, uint64(v))\n\t}\n\treturn b, nil\n}\nfunc appendVarintS32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toInt32()\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64(v))\n\treturn b, nil\n}\nfunc appendVarintS32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toInt32()\n\tif v == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64(v))\n\treturn b, nil\n}\nfunc appendVarintS32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tp := ptr.getInt32Ptr()\n\tif p == nil {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64(*p))\n\treturn b, nil\n}\nfunc appendVarintS32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := ptr.getInt32Slice()\n\tfor _, v := range s {\n\t\tb = appendVarint(b, wiretag)\n\t\tb = appendVarint(b, uint64(v))\n\t}\n\treturn b, nil\n}\nfunc appendVarintS32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := ptr.getInt32Slice()\n\tif len(s) == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag&^7|WireBytes)\n\t// compute size\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(uint64(v))\n\t}\n\tb = appendVarint(b, uint64(n))\n\tfor _, v := range s {\n\t\tb = appendVarint(b, uint64(v))\n\t}\n\treturn b, nil\n}\nfunc appendVarint64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toUint64()\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, v)\n\treturn b, nil\n}\nfunc appendVarint64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toUint64()\n\tif v == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, v)\n\treturn b, nil\n}\nfunc appendVarint64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tp := *ptr.toUint64Ptr()\n\tif p == nil {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, *p)\n\treturn b, nil\n}\nfunc appendVarint64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toUint64Slice()\n\tfor _, v := range s {\n\t\tb = appendVarint(b, wiretag)\n\t\tb = appendVarint(b, v)\n\t}\n\treturn b, nil\n}\nfunc appendVarint64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toUint64Slice()\n\tif len(s) == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag&^7|WireBytes)\n\t// compute size\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(v)\n\t}\n\tb = appendVarint(b, uint64(n))\n\tfor _, v := range s {\n\t\tb = appendVarint(b, v)\n\t}\n\treturn b, nil\n}\nfunc appendVarintS64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toInt64()\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64(v))\n\treturn b, nil\n}\nfunc appendVarintS64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toInt64()\n\tif v == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64(v))\n\treturn b, nil\n}\nfunc appendVarintS64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tp := *ptr.toInt64Ptr()\n\tif p == nil {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64(*p))\n\treturn b, nil\n}\nfunc appendVarintS64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toInt64Slice()\n\tfor _, v := range s {\n\t\tb = appendVarint(b, wiretag)\n\t\tb = appendVarint(b, uint64(v))\n\t}\n\treturn b, nil\n}\nfunc appendVarintS64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toInt64Slice()\n\tif len(s) == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag&^7|WireBytes)\n\t// compute size\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(uint64(v))\n\t}\n\tb = appendVarint(b, uint64(n))\n\tfor _, v := range s {\n\t\tb = appendVarint(b, uint64(v))\n\t}\n\treturn b, nil\n}\nfunc appendZigzag32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toInt32()\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31))))\n\treturn b, nil\n}\nfunc appendZigzag32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toInt32()\n\tif v == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31))))\n\treturn b, nil\n}\nfunc appendZigzag32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tp := ptr.getInt32Ptr()\n\tif p == nil {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tv := *p\n\tb = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31))))\n\treturn b, nil\n}\nfunc appendZigzag32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := ptr.getInt32Slice()\n\tfor _, v := range s {\n\t\tb = appendVarint(b, wiretag)\n\t\tb = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31))))\n\t}\n\treturn b, nil\n}\nfunc appendZigzag32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := ptr.getInt32Slice()\n\tif len(s) == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag&^7|WireBytes)\n\t// compute size\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(uint64((uint32(v) << 1) ^ uint32((int32(v) >> 31))))\n\t}\n\tb = appendVarint(b, uint64(n))\n\tfor _, v := range s {\n\t\tb = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31))))\n\t}\n\treturn b, nil\n}\nfunc appendZigzag64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toInt64()\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63)))\n\treturn b, nil\n}\nfunc appendZigzag64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toInt64()\n\tif v == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63)))\n\treturn b, nil\n}\nfunc appendZigzag64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tp := *ptr.toInt64Ptr()\n\tif p == nil {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tv := *p\n\tb = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63)))\n\treturn b, nil\n}\nfunc appendZigzag64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toInt64Slice()\n\tfor _, v := range s {\n\t\tb = appendVarint(b, wiretag)\n\t\tb = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63)))\n\t}\n\treturn b, nil\n}\nfunc appendZigzag64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toInt64Slice()\n\tif len(s) == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag&^7|WireBytes)\n\t// compute size\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(uint64(v<<1) ^ uint64((int64(v) >> 63)))\n\t}\n\tb = appendVarint(b, uint64(n))\n\tfor _, v := range s {\n\t\tb = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63)))\n\t}\n\treturn b, nil\n}\nfunc appendBoolValue(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toBool()\n\tb = appendVarint(b, wiretag)\n\tif v {\n\t\tb = append(b, 1)\n\t} else {\n\t\tb = append(b, 0)\n\t}\n\treturn b, nil\n}\nfunc appendBoolValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toBool()\n\tif !v {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = append(b, 1)\n\treturn b, nil\n}\n\nfunc appendBoolPtr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tp := *ptr.toBoolPtr()\n\tif p == nil {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tif *p {\n\t\tb = append(b, 1)\n\t} else {\n\t\tb = append(b, 0)\n\t}\n\treturn b, nil\n}\nfunc appendBoolSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toBoolSlice()\n\tfor _, v := range s {\n\t\tb = appendVarint(b, wiretag)\n\t\tif v {\n\t\t\tb = append(b, 1)\n\t\t} else {\n\t\t\tb = append(b, 0)\n\t\t}\n\t}\n\treturn b, nil\n}\nfunc appendBoolPackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toBoolSlice()\n\tif len(s) == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag&^7|WireBytes)\n\tb = appendVarint(b, uint64(len(s)))\n\tfor _, v := range s {\n\t\tif v {\n\t\t\tb = append(b, 1)\n\t\t} else {\n\t\t\tb = append(b, 0)\n\t\t}\n\t}\n\treturn b, nil\n}\nfunc appendStringValue(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toString()\n\tif !utf8.ValidString(v) {\n\t\treturn nil, errInvalidUTF8\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64(len(v)))\n\tb = append(b, v...)\n\treturn b, nil\n}\nfunc appendStringValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toString()\n\tif v == \"\" {\n\t\treturn b, nil\n\t}\n\tif !utf8.ValidString(v) {\n\t\treturn nil, errInvalidUTF8\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64(len(v)))\n\tb = append(b, v...)\n\treturn b, nil\n}\nfunc appendStringPtr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tp := *ptr.toStringPtr()\n\tif p == nil {\n\t\treturn b, nil\n\t}\n\tv := *p\n\tif !utf8.ValidString(v) {\n\t\treturn nil, errInvalidUTF8\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64(len(v)))\n\tb = append(b, v...)\n\treturn b, nil\n}\nfunc appendStringSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toStringSlice()\n\tfor _, v := range s {\n\t\tif !utf8.ValidString(v) {\n\t\t\treturn nil, errInvalidUTF8\n\t\t}\n\t\tb = appendVarint(b, wiretag)\n\t\tb = appendVarint(b, uint64(len(v)))\n\t\tb = append(b, v...)\n\t}\n\treturn b, nil\n}\nfunc appendBytes(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toBytes()\n\tif v == nil {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64(len(v)))\n\tb = append(b, v...)\n\treturn b, nil\n}\nfunc appendBytes3(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toBytes()\n\tif len(v) == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64(len(v)))\n\tb = append(b, v...)\n\treturn b, nil\n}\nfunc appendBytesOneof(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toBytes()\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64(len(v)))\n\tb = append(b, v...)\n\treturn b, nil\n}\nfunc appendBytesSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toBytesSlice()\n\tfor _, v := range s {\n\t\tb = appendVarint(b, wiretag)\n\t\tb = appendVarint(b, uint64(len(v)))\n\t\tb = append(b, v...)\n\t}\n\treturn b, nil\n}\n\n// makeGroupMarshaler returns the sizer and marshaler for a group.\n// u is the marshal info of the underlying message.\nfunc makeGroupMarshaler(u *marshalInfo) (sizer, marshaler) {\n\treturn func(ptr pointer, tagsize int) int {\n\t\t\tp := ptr.getPointer()\n\t\t\tif p.isNil() {\n\t\t\t\treturn 0\n\t\t\t}\n\t\t\treturn u.size(p) + 2*tagsize\n\t\t},\n\t\tfunc(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {\n\t\t\tp := ptr.getPointer()\n\t\t\tif p.isNil() {\n\t\t\t\treturn b, nil\n\t\t\t}\n\t\t\tvar err error\n\t\t\tb = appendVarint(b, wiretag) // start group\n\t\t\tb, err = u.marshal(b, p, deterministic)\n\t\t\tb = appendVarint(b, wiretag+(WireEndGroup-WireStartGroup)) // end group\n\t\t\treturn b, err\n\t\t}\n}\n\n// makeGroupSliceMarshaler returns the sizer and marshaler for a group slice.\n// u is the marshal info of the underlying message.\nfunc makeGroupSliceMarshaler(u *marshalInfo) (sizer, marshaler) {\n\treturn func(ptr pointer, tagsize int) int {\n\t\t\ts := ptr.getPointerSlice()\n\t\t\tn := 0\n\t\t\tfor _, v := range s {\n\t\t\t\tif v.isNil() {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tn += u.size(v) + 2*tagsize\n\t\t\t}\n\t\t\treturn n\n\t\t},\n\t\tfunc(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {\n\t\t\ts := ptr.getPointerSlice()\n\t\t\tvar err, errreq error\n\t\t\tfor _, v := range s {\n\t\t\t\tif v.isNil() {\n\t\t\t\t\treturn b, errRepeatedHasNil\n\t\t\t\t}\n\t\t\t\tb = appendVarint(b, wiretag) // start group\n\t\t\t\tb, err = u.marshal(b, v, deterministic)\n\t\t\t\tb = appendVarint(b, wiretag+(WireEndGroup-WireStartGroup)) // end group\n\t\t\t\tif err != nil {\n\t\t\t\t\tif _, ok := err.(*RequiredNotSetError); ok {\n\t\t\t\t\t\t// Required field in submessage is not set.\n\t\t\t\t\t\t// We record the error but keep going, to give a complete marshaling.\n\t\t\t\t\t\tif errreq == nil {\n\t\t\t\t\t\t\terrreq = err\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tif err == ErrNil {\n\t\t\t\t\t\terr = errRepeatedHasNil\n\t\t\t\t\t}\n\t\t\t\t\treturn b, err\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn b, errreq\n\t\t}\n}\n\n// makeMessageMarshaler returns the sizer and marshaler for a message field.\n// u is the marshal info of the message.\nfunc makeMessageMarshaler(u *marshalInfo) (sizer, marshaler) {\n\treturn func(ptr pointer, tagsize int) int {\n\t\t\tp := ptr.getPointer()\n\t\t\tif p.isNil() {\n\t\t\t\treturn 0\n\t\t\t}\n\t\t\tsiz := u.size(p)\n\t\t\treturn siz + SizeVarint(uint64(siz)) + tagsize\n\t\t},\n\t\tfunc(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {\n\t\t\tp := ptr.getPointer()\n\t\t\tif p.isNil() {\n\t\t\t\treturn b, nil\n\t\t\t}\n\t\t\tb = appendVarint(b, wiretag)\n\t\t\tsiz := u.cachedsize(p)\n\t\t\tb = appendVarint(b, uint64(siz))\n\t\t\treturn u.marshal(b, p, deterministic)\n\t\t}\n}\n\n// makeMessageSliceMarshaler returns the sizer and marshaler for a message slice.\n// u is the marshal info of the message.\nfunc makeMessageSliceMarshaler(u *marshalInfo) (sizer, marshaler) {\n\treturn func(ptr pointer, tagsize int) int {\n\t\t\ts := ptr.getPointerSlice()\n\t\t\tn := 0\n\t\t\tfor _, v := range s {\n\t\t\t\tif v.isNil() {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tsiz := u.size(v)\n\t\t\t\tn += siz + SizeVarint(uint64(siz)) + tagsize\n\t\t\t}\n\t\t\treturn n\n\t\t},\n\t\tfunc(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {\n\t\t\ts := ptr.getPointerSlice()\n\t\t\tvar err, errreq error\n\t\t\tfor _, v := range s {\n\t\t\t\tif v.isNil() {\n\t\t\t\t\treturn b, errRepeatedHasNil\n\t\t\t\t}\n\t\t\t\tb = appendVarint(b, wiretag)\n\t\t\t\tsiz := u.cachedsize(v)\n\t\t\t\tb = appendVarint(b, uint64(siz))\n\t\t\t\tb, err = u.marshal(b, v, deterministic)\n\t\t\t\tif err != nil {\n\t\t\t\t\tif _, ok := err.(*RequiredNotSetError); ok {\n\t\t\t\t\t\t// Required field in submessage is not set.\n\t\t\t\t\t\t// We record the error but keep going, to give a complete marshaling.\n\t\t\t\t\t\tif errreq == nil {\n\t\t\t\t\t\t\terrreq = err\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tif err == ErrNil {\n\t\t\t\t\t\terr = errRepeatedHasNil\n\t\t\t\t\t}\n\t\t\t\t\treturn b, err\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn b, errreq\n\t\t}\n}\n\n// makeMapMarshaler returns the sizer and marshaler for a map field.\n// f is the pointer to the reflect data structure of the field.\nfunc makeMapMarshaler(f *reflect.StructField) (sizer, marshaler) {\n\t// figure out key and value type\n\tt := f.Type\n\tkeyType := t.Key()\n\tvalType := t.Elem()\n\ttags := strings.Split(f.Tag.Get(\"protobuf\"), \",\")\n\tkeyTags := strings.Split(f.Tag.Get(\"protobuf_key\"), \",\")\n\tvalTags := strings.Split(f.Tag.Get(\"protobuf_val\"), \",\")\n\tfor _, t := range tags {\n\t\tif strings.HasPrefix(t, \"customtype=\") {\n\t\t\tvalTags = append(valTags, t)\n\t\t}\n\t\tif t == \"stdtime\" {\n\t\t\tvalTags = append(valTags, t)\n\t\t}\n\t\tif t == \"stdduration\" {\n\t\t\tvalTags = append(valTags, t)\n\t\t}\n\t}\n\tkeySizer, keyMarshaler := typeMarshaler(keyType, keyTags, false, false) // don't omit zero value in map\n\tvalSizer, valMarshaler := typeMarshaler(valType, valTags, false, false) // don't omit zero value in map\n\tkeyWireTag := 1<<3 | wiretype(keyTags[0])\n\tvalWireTag := 2<<3 | wiretype(valTags[0])\n\n\t// We create an interface to get the addresses of the map key and value.\n\t// If value is pointer-typed, the interface is a direct interface, the\n\t// idata itself is the value. Otherwise, the idata is the pointer to the\n\t// value.\n\t// Key cannot be pointer-typed.\n\tvalIsPtr := valType.Kind() == reflect.Ptr\n\treturn func(ptr pointer, tagsize int) int {\n\t\t\tm := ptr.asPointerTo(t).Elem() // the map\n\t\t\tn := 0\n\t\t\tfor _, k := range m.MapKeys() {\n\t\t\t\tki := k.Interface()\n\t\t\t\tvi := m.MapIndex(k).Interface()\n\t\t\t\tkaddr := toAddrPointer(&ki, false)             // pointer to key\n\t\t\t\tvaddr := toAddrPointer(&vi, valIsPtr)          // pointer to value\n\t\t\t\tsiz := keySizer(kaddr, 1) + valSizer(vaddr, 1) // tag of key = 1 (size=1), tag of val = 2 (size=1)\n\t\t\t\tn += siz + SizeVarint(uint64(siz)) + tagsize\n\t\t\t}\n\t\t\treturn n\n\t\t},\n\t\tfunc(b []byte, ptr pointer, tag uint64, deterministic bool) ([]byte, error) {\n\t\t\tm := ptr.asPointerTo(t).Elem() // the map\n\t\t\tvar err error\n\t\t\tkeys := m.MapKeys()\n\t\t\tif len(keys) > 1 && deterministic {\n\t\t\t\tsort.Sort(mapKeys(keys))\n\t\t\t}\n\t\t\tfor _, k := range keys {\n\t\t\t\tki := k.Interface()\n\t\t\t\tvi := m.MapIndex(k).Interface()\n\t\t\t\tkaddr := toAddrPointer(&ki, false)    // pointer to key\n\t\t\t\tvaddr := toAddrPointer(&vi, valIsPtr) // pointer to value\n\t\t\t\tb = appendVarint(b, tag)\n\t\t\t\tsiz := keySizer(kaddr, 1) + valSizer(vaddr, 1) // tag of key = 1 (size=1), tag of val = 2 (size=1)\n\t\t\t\tb = appendVarint(b, uint64(siz))\n\t\t\t\tb, err = keyMarshaler(b, kaddr, keyWireTag, deterministic)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn b, err\n\t\t\t\t}\n\t\t\t\tb, err = valMarshaler(b, vaddr, valWireTag, deterministic)\n\t\t\t\tif err != nil && err != ErrNil { // allow nil value in map\n\t\t\t\t\treturn b, err\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn b, nil\n\t\t}\n}\n\n// makeOneOfMarshaler returns the sizer and marshaler for a oneof field.\n// fi is the marshal info of the field.\n// f is the pointer to the reflect data structure of the field.\nfunc makeOneOfMarshaler(fi *marshalFieldInfo, f *reflect.StructField) (sizer, marshaler) {\n\t// Oneof field is an interface. We need to get the actual data type on the fly.\n\tt := f.Type\n\treturn func(ptr pointer, _ int) int {\n\t\t\tp := ptr.getInterfacePointer()\n\t\t\tif p.isNil() {\n\t\t\t\treturn 0\n\t\t\t}\n\t\t\tv := ptr.asPointerTo(t).Elem().Elem().Elem() // *interface -> interface -> *struct -> struct\n\t\t\ttelem := v.Type()\n\t\t\te := fi.oneofElems[telem]\n\t\t\treturn e.sizer(p, e.tagsize)\n\t\t},\n\t\tfunc(b []byte, ptr pointer, _ uint64, deterministic bool) ([]byte, error) {\n\t\t\tp := ptr.getInterfacePointer()\n\t\t\tif p.isNil() {\n\t\t\t\treturn b, nil\n\t\t\t}\n\t\t\tv := ptr.asPointerTo(t).Elem().Elem().Elem() // *interface -> interface -> *struct -> struct\n\t\t\ttelem := v.Type()\n\t\t\tif telem.Field(0).Type.Kind() == reflect.Ptr && p.getPointer().isNil() {\n\t\t\t\treturn b, errOneofHasNil\n\t\t\t}\n\t\t\te := fi.oneofElems[telem]\n\t\t\treturn e.marshaler(b, p, e.wiretag, deterministic)\n\t\t}\n}\n\n// sizeExtensions computes the size of encoded data for a XXX_InternalExtensions field.\nfunc (u *marshalInfo) sizeExtensions(ext *XXX_InternalExtensions) int {\n\tm, mu := ext.extensionsRead()\n\tif m == nil {\n\t\treturn 0\n\t}\n\tmu.Lock()\n\n\tn := 0\n\tfor _, e := range m {\n\t\tif e.value == nil || e.desc == nil {\n\t\t\t// Extension is only in its encoded form.\n\t\t\tn += len(e.enc)\n\t\t\tcontinue\n\t\t}\n\n\t\t// We don't skip extensions that have an encoded form set,\n\t\t// because the extension value may have been mutated after\n\t\t// the last time this function was called.\n\t\tei := u.getExtElemInfo(e.desc)\n\t\tv := e.value\n\t\tp := toAddrPointer(&v, ei.isptr)\n\t\tn += ei.sizer(p, ei.tagsize)\n\t}\n\tmu.Unlock()\n\treturn n\n}\n\n// appendExtensions marshals a XXX_InternalExtensions field to the end of byte slice b.\nfunc (u *marshalInfo) appendExtensions(b []byte, ext *XXX_InternalExtensions, deterministic bool) ([]byte, error) {\n\tm, mu := ext.extensionsRead()\n\tif m == nil {\n\t\treturn b, nil\n\t}\n\tmu.Lock()\n\tdefer mu.Unlock()\n\n\tvar err error\n\n\t// Fast-path for common cases: zero or one extensions.\n\t// Don't bother sorting the keys.\n\tif len(m) <= 1 {\n\t\tfor _, e := range m {\n\t\t\tif e.value == nil || e.desc == nil {\n\t\t\t\t// Extension is only in its encoded form.\n\t\t\t\tb = append(b, e.enc...)\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// We don't skip extensions that have an encoded form set,\n\t\t\t// because the extension value may have been mutated after\n\t\t\t// the last time this function was called.\n\n\t\t\tei := u.getExtElemInfo(e.desc)\n\t\t\tv := e.value\n\t\t\tp := toAddrPointer(&v, ei.isptr)\n\t\t\tb, err = ei.marshaler(b, p, ei.wiretag, deterministic)\n\t\t\tif err != nil {\n\t\t\t\treturn b, err\n\t\t\t}\n\t\t}\n\t\treturn b, nil\n\t}\n\n\t// Sort the keys to provide a deterministic encoding.\n\t// Not sure this is required, but the old code does it.\n\tkeys := make([]int, 0, len(m))\n\tfor k := range m {\n\t\tkeys = append(keys, int(k))\n\t}\n\tsort.Ints(keys)\n\n\tfor _, k := range keys {\n\t\te := m[int32(k)]\n\t\tif e.value == nil || e.desc == nil {\n\t\t\t// Extension is only in its encoded form.\n\t\t\tb = append(b, e.enc...)\n\t\t\tcontinue\n\t\t}\n\n\t\t// We don't skip extensions that have an encoded form set,\n\t\t// because the extension value may have been mutated after\n\t\t// the last time this function was called.\n\n\t\tei := u.getExtElemInfo(e.desc)\n\t\tv := e.value\n\t\tp := toAddrPointer(&v, ei.isptr)\n\t\tb, err = ei.marshaler(b, p, ei.wiretag, deterministic)\n\t\tif err != nil {\n\t\t\treturn b, err\n\t\t}\n\t}\n\treturn b, nil\n}\n\n// message set format is:\n//   message MessageSet {\n//     repeated group Item = 1 {\n//       required int32 type_id = 2;\n//       required string message = 3;\n//     };\n//   }\n\n// sizeMessageSet computes the size of encoded data for a XXX_InternalExtensions field\n// in message set format (above).\nfunc (u *marshalInfo) sizeMessageSet(ext *XXX_InternalExtensions) int {\n\tm, mu := ext.extensionsRead()\n\tif m == nil {\n\t\treturn 0\n\t}\n\tmu.Lock()\n\n\tn := 0\n\tfor id, e := range m {\n\t\tn += 2                          // start group, end group. tag = 1 (size=1)\n\t\tn += SizeVarint(uint64(id)) + 1 // type_id, tag = 2 (size=1)\n\n\t\tif e.value == nil || e.desc == nil {\n\t\t\t// Extension is only in its encoded form.\n\t\t\tmsgWithLen := skipVarint(e.enc) // skip old tag, but leave the length varint\n\t\t\tsiz := len(msgWithLen)\n\t\t\tn += siz + 1 // message, tag = 3 (size=1)\n\t\t\tcontinue\n\t\t}\n\n\t\t// We don't skip extensions that have an encoded form set,\n\t\t// because the extension value may have been mutated after\n\t\t// the last time this function was called.\n\n\t\tei := u.getExtElemInfo(e.desc)\n\t\tv := e.value\n\t\tp := toAddrPointer(&v, ei.isptr)\n\t\tn += ei.sizer(p, 1) // message, tag = 3 (size=1)\n\t}\n\tmu.Unlock()\n\treturn n\n}\n\n// appendMessageSet marshals a XXX_InternalExtensions field in message set format (above)\n// to the end of byte slice b.\nfunc (u *marshalInfo) appendMessageSet(b []byte, ext *XXX_InternalExtensions, deterministic bool) ([]byte, error) {\n\tm, mu := ext.extensionsRead()\n\tif m == nil {\n\t\treturn b, nil\n\t}\n\tmu.Lock()\n\tdefer mu.Unlock()\n\n\tvar err error\n\n\t// Fast-path for common cases: zero or one extensions.\n\t// Don't bother sorting the keys.\n\tif len(m) <= 1 {\n\t\tfor id, e := range m {\n\t\t\tb = append(b, 1<<3|WireStartGroup)\n\t\t\tb = append(b, 2<<3|WireVarint)\n\t\t\tb = appendVarint(b, uint64(id))\n\n\t\t\tif e.value == nil || e.desc == nil {\n\t\t\t\t// Extension is only in its encoded form.\n\t\t\t\tmsgWithLen := skipVarint(e.enc) // skip old tag, but leave the length varint\n\t\t\t\tb = append(b, 3<<3|WireBytes)\n\t\t\t\tb = append(b, msgWithLen...)\n\t\t\t\tb = append(b, 1<<3|WireEndGroup)\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// We don't skip extensions that have an encoded form set,\n\t\t\t// because the extension value may have been mutated after\n\t\t\t// the last time this function was called.\n\n\t\t\tei := u.getExtElemInfo(e.desc)\n\t\t\tv := e.value\n\t\t\tp := toAddrPointer(&v, ei.isptr)\n\t\t\tb, err = ei.marshaler(b, p, 3<<3|WireBytes, deterministic)\n\t\t\tif err != nil {\n\t\t\t\treturn b, err\n\t\t\t}\n\t\t\tb = append(b, 1<<3|WireEndGroup)\n\t\t}\n\t\treturn b, nil\n\t}\n\n\t// Sort the keys to provide a deterministic encoding.\n\tkeys := make([]int, 0, len(m))\n\tfor k := range m {\n\t\tkeys = append(keys, int(k))\n\t}\n\tsort.Ints(keys)\n\n\tfor _, id := range keys {\n\t\te := m[int32(id)]\n\t\tb = append(b, 1<<3|WireStartGroup)\n\t\tb = append(b, 2<<3|WireVarint)\n\t\tb = appendVarint(b, uint64(id))\n\n\t\tif e.value == nil || e.desc == nil {\n\t\t\t// Extension is only in its encoded form.\n\t\t\tmsgWithLen := skipVarint(e.enc) // skip old tag, but leave the length varint\n\t\t\tb = append(b, 3<<3|WireBytes)\n\t\t\tb = append(b, msgWithLen...)\n\t\t\tb = append(b, 1<<3|WireEndGroup)\n\t\t\tcontinue\n\t\t}\n\n\t\t// We don't skip extensions that have an encoded form set,\n\t\t// because the extension value may have been mutated after\n\t\t// the last time this function was called.\n\n\t\tei := u.getExtElemInfo(e.desc)\n\t\tv := e.value\n\t\tp := toAddrPointer(&v, ei.isptr)\n\t\tb, err = ei.marshaler(b, p, 3<<3|WireBytes, deterministic)\n\t\tb = append(b, 1<<3|WireEndGroup)\n\t\tif err != nil {\n\t\t\treturn b, err\n\t\t}\n\t}\n\treturn b, nil\n}\n\n// sizeV1Extensions computes the size of encoded data for a V1-API extension field.\nfunc (u *marshalInfo) sizeV1Extensions(m map[int32]Extension) int {\n\tif m == nil {\n\t\treturn 0\n\t}\n\n\tn := 0\n\tfor _, e := range m {\n\t\tif e.value == nil || e.desc == nil {\n\t\t\t// Extension is only in its encoded form.\n\t\t\tn += len(e.enc)\n\t\t\tcontinue\n\t\t}\n\n\t\t// We don't skip extensions that have an encoded form set,\n\t\t// because the extension value may have been mutated after\n\t\t// the last time this function was called.\n\n\t\tei := u.getExtElemInfo(e.desc)\n\t\tv := e.value\n\t\tp := toAddrPointer(&v, ei.isptr)\n\t\tn += ei.sizer(p, ei.tagsize)\n\t}\n\treturn n\n}\n\n// appendV1Extensions marshals a V1-API extension field to the end of byte slice b.\nfunc (u *marshalInfo) appendV1Extensions(b []byte, m map[int32]Extension, deterministic bool) ([]byte, error) {\n\tif m == nil {\n\t\treturn b, nil\n\t}\n\n\t// Sort the keys to provide a deterministic encoding.\n\tkeys := make([]int, 0, len(m))\n\tfor k := range m {\n\t\tkeys = append(keys, int(k))\n\t}\n\tsort.Ints(keys)\n\n\tvar err error\n\tfor _, k := range keys {\n\t\te := m[int32(k)]\n\t\tif e.value == nil || e.desc == nil {\n\t\t\t// Extension is only in its encoded form.\n\t\t\tb = append(b, e.enc...)\n\t\t\tcontinue\n\t\t}\n\n\t\t// We don't skip extensions that have an encoded form set,\n\t\t// because the extension value may have been mutated after\n\t\t// the last time this function was called.\n\n\t\tei := u.getExtElemInfo(e.desc)\n\t\tv := e.value\n\t\tp := toAddrPointer(&v, ei.isptr)\n\t\tb, err = ei.marshaler(b, p, ei.wiretag, deterministic)\n\t\tif err != nil {\n\t\t\treturn b, err\n\t\t}\n\t}\n\treturn b, nil\n}\n\n// newMarshaler is the interface representing objects that can marshal themselves.\n//\n// This exists to support protoc-gen-go generated messages.\n// The proto package will stop type-asserting to this interface in the future.\n//\n// DO NOT DEPEND ON THIS.\ntype newMarshaler interface {\n\tXXX_Size() int\n\tXXX_Marshal(b []byte, deterministic bool) ([]byte, error)\n}\n\n// Size returns the encoded size of a protocol buffer message.\n// This is the main entry point.\nfunc Size(pb Message) int {\n\tif m, ok := pb.(newMarshaler); ok {\n\t\treturn m.XXX_Size()\n\t}\n\tif m, ok := pb.(Marshaler); ok {\n\t\t// If the message can marshal itself, let it do it, for compatibility.\n\t\t// NOTE: This is not efficient.\n\t\tb, _ := m.Marshal()\n\t\treturn len(b)\n\t}\n\t// in case somehow we didn't generate the wrapper\n\tif pb == nil {\n\t\treturn 0\n\t}\n\tvar info InternalMessageInfo\n\treturn info.Size(pb)\n}\n\n// Marshal takes a protocol buffer message\n// and encodes it into the wire format, returning the data.\n// This is the main entry point.\nfunc Marshal(pb Message) ([]byte, error) {\n\tif m, ok := pb.(newMarshaler); ok {\n\t\tsiz := m.XXX_Size()\n\t\tb := make([]byte, 0, siz)\n\t\treturn m.XXX_Marshal(b, false)\n\t}\n\tif m, ok := pb.(Marshaler); ok {\n\t\t// If the message can marshal itself, let it do it, for compatibility.\n\t\t// NOTE: This is not efficient.\n\t\treturn m.Marshal()\n\t}\n\t// in case somehow we didn't generate the wrapper\n\tif pb == nil {\n\t\treturn nil, ErrNil\n\t}\n\tvar info InternalMessageInfo\n\tsiz := info.Size(pb)\n\tb := make([]byte, 0, siz)\n\treturn info.Marshal(b, pb, false)\n}\n\n// Marshal takes a protocol buffer message\n// and encodes it into the wire format, writing the result to the\n// Buffer.\n// This is an alternative entry point. It is not necessary to use\n// a Buffer for most applications.\nfunc (p *Buffer) Marshal(pb Message) error {\n\tvar err error\n\tif m, ok := pb.(newMarshaler); ok {\n\t\tsiz := m.XXX_Size()\n\t\tp.grow(siz) // make sure buf has enough capacity\n\t\tp.buf, err = m.XXX_Marshal(p.buf, p.deterministic)\n\t\treturn err\n\t}\n\tif m, ok := pb.(Marshaler); ok {\n\t\t// If the message can marshal itself, let it do it, for compatibility.\n\t\t// NOTE: This is not efficient.\n\t\tvar b []byte\n\t\tb, err = m.Marshal()\n\t\tp.buf = append(p.buf, b...)\n\t\treturn err\n\t}\n\t// in case somehow we didn't generate the wrapper\n\tif pb == nil {\n\t\treturn ErrNil\n\t}\n\tvar info InternalMessageInfo\n\tsiz := info.Size(pb)\n\tp.grow(siz) // make sure buf has enough capacity\n\tp.buf, err = info.Marshal(p.buf, pb, p.deterministic)\n\treturn err\n}\n\n// grow grows the buffer's capacity, if necessary, to guarantee space for\n// another n bytes. After grow(n), at least n bytes can be written to the\n// buffer without another allocation.\nfunc (p *Buffer) grow(n int) {\n\tneed := len(p.buf) + n\n\tif need <= cap(p.buf) {\n\t\treturn\n\t}\n\tnewCap := len(p.buf) * 2\n\tif newCap < need {\n\t\tnewCap = need\n\t}\n\tp.buf = append(make([]byte, 0, newCap), p.buf...)\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/table_marshal_gogo.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2018, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\nimport (\n\t\"reflect\"\n\t\"time\"\n)\n\n// makeMessageRefMarshaler differs a bit from makeMessageMarshaler\n// It marshal a message T instead of a *T\nfunc makeMessageRefMarshaler(u *marshalInfo) (sizer, marshaler) {\n\treturn func(ptr pointer, tagsize int) int {\n\t\t\tsiz := u.size(ptr)\n\t\t\treturn siz + SizeVarint(uint64(siz)) + tagsize\n\t\t},\n\t\tfunc(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {\n\t\t\tb = appendVarint(b, wiretag)\n\t\t\tsiz := u.cachedsize(ptr)\n\t\t\tb = appendVarint(b, uint64(siz))\n\t\t\treturn u.marshal(b, ptr, deterministic)\n\t\t}\n}\n\n// makeMessageRefSliceMarshaler differs quite a lot from makeMessageSliceMarshaler\n// It marshals a slice of messages []T instead of []*T\nfunc makeMessageRefSliceMarshaler(u *marshalInfo) (sizer, marshaler) {\n\treturn func(ptr pointer, tagsize int) int {\n\t\t\ts := ptr.getSlice(u.typ)\n\t\t\tn := 0\n\t\t\tfor i := 0; i < s.Len(); i++ {\n\t\t\t\telem := s.Index(i)\n\t\t\t\te := elem.Interface()\n\t\t\t\tv := toAddrPointer(&e, false)\n\t\t\t\tsiz := u.size(v)\n\t\t\t\tn += siz + SizeVarint(uint64(siz)) + tagsize\n\t\t\t}\n\t\t\treturn n\n\t\t},\n\t\tfunc(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {\n\t\t\ts := ptr.getSlice(u.typ)\n\t\t\tvar err, errreq error\n\t\t\tfor i := 0; i < s.Len(); i++ {\n\t\t\t\telem := s.Index(i)\n\t\t\t\te := elem.Interface()\n\t\t\t\tv := toAddrPointer(&e, false)\n\t\t\t\tb = appendVarint(b, wiretag)\n\t\t\t\tsiz := u.size(v)\n\t\t\t\tb = appendVarint(b, uint64(siz))\n\t\t\t\tb, err = u.marshal(b, v, deterministic)\n\n\t\t\t\tif err != nil {\n\t\t\t\t\tif _, ok := err.(*RequiredNotSetError); ok {\n\t\t\t\t\t\t// Required field in submessage is not set.\n\t\t\t\t\t\t// We record the error but keep going, to give a complete marshaling.\n\t\t\t\t\t\tif errreq == nil {\n\t\t\t\t\t\t\terrreq = err\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tif err == ErrNil {\n\t\t\t\t\t\terr = errRepeatedHasNil\n\t\t\t\t\t}\n\t\t\t\t\treturn b, err\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn b, errreq\n\t\t}\n}\n\nfunc makeCustomPtrMarshaler(u *marshalInfo) (sizer, marshaler) {\n\treturn func(ptr pointer, tagsize int) int {\n\t\t\tif ptr.isNil() {\n\t\t\t\treturn 0\n\t\t\t}\n\t\t\tm := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(custom)\n\t\t\tsiz := m.Size()\n\t\t\treturn tagsize + SizeVarint(uint64(siz)) + siz\n\t\t}, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {\n\t\t\tif ptr.isNil() {\n\t\t\t\treturn b, nil\n\t\t\t}\n\t\t\tm := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(custom)\n\t\t\tsiz := m.Size()\n\t\t\tbuf, err := m.Marshal()\n\t\t\tif err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t\tb = appendVarint(b, wiretag)\n\t\t\tb = appendVarint(b, uint64(siz))\n\t\t\tb = append(b, buf...)\n\t\t\treturn b, nil\n\t\t}\n}\n\nfunc makeCustomMarshaler(u *marshalInfo) (sizer, marshaler) {\n\treturn func(ptr pointer, tagsize int) int {\n\t\t\tm := ptr.asPointerTo(u.typ).Interface().(custom)\n\t\t\tsiz := m.Size()\n\t\t\treturn tagsize + SizeVarint(uint64(siz)) + siz\n\t\t}, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {\n\t\t\tm := ptr.asPointerTo(u.typ).Interface().(custom)\n\t\t\tsiz := m.Size()\n\t\t\tbuf, err := m.Marshal()\n\t\t\tif err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t\tb = appendVarint(b, wiretag)\n\t\t\tb = appendVarint(b, uint64(siz))\n\t\t\tb = append(b, buf...)\n\t\t\treturn b, nil\n\t\t}\n}\n\nfunc makeTimeMarshaler(u *marshalInfo) (sizer, marshaler) {\n\treturn func(ptr pointer, tagsize int) int {\n\t\t\tt := ptr.asPointerTo(u.typ).Interface().(*time.Time)\n\t\t\tts, err := timestampProto(*t)\n\t\t\tif err != nil {\n\t\t\t\treturn 0\n\t\t\t}\n\t\t\tsiz := Size(ts)\n\t\t\treturn tagsize + SizeVarint(uint64(siz)) + siz\n\t\t}, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {\n\t\t\tt := ptr.asPointerTo(u.typ).Interface().(*time.Time)\n\t\t\tts, err := timestampProto(*t)\n\t\t\tif err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t\tbuf, err := Marshal(ts)\n\t\t\tif err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t\tb = appendVarint(b, wiretag)\n\t\t\tb = appendVarint(b, uint64(len(buf)))\n\t\t\tb = append(b, buf...)\n\t\t\treturn b, nil\n\t\t}\n}\n\nfunc makeTimePtrMarshaler(u *marshalInfo) (sizer, marshaler) {\n\treturn func(ptr pointer, tagsize int) int {\n\t\t\tif ptr.isNil() {\n\t\t\t\treturn 0\n\t\t\t}\n\t\t\tt := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(*time.Time)\n\t\t\tts, err := timestampProto(*t)\n\t\t\tif err != nil {\n\t\t\t\treturn 0\n\t\t\t}\n\t\t\tsiz := Size(ts)\n\t\t\treturn tagsize + SizeVarint(uint64(siz)) + siz\n\t\t}, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {\n\t\t\tif ptr.isNil() {\n\t\t\t\treturn b, nil\n\t\t\t}\n\t\t\tt := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(*time.Time)\n\t\t\tts, err := timestampProto(*t)\n\t\t\tif err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t\tbuf, err := Marshal(ts)\n\t\t\tif err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t\tb = appendVarint(b, wiretag)\n\t\t\tb = appendVarint(b, uint64(len(buf)))\n\t\t\tb = append(b, buf...)\n\t\t\treturn b, nil\n\t\t}\n}\n\nfunc makeTimeSliceMarshaler(u *marshalInfo) (sizer, marshaler) {\n\treturn func(ptr pointer, tagsize int) int {\n\t\t\ts := ptr.getSlice(u.typ)\n\t\t\tn := 0\n\t\t\tfor i := 0; i < s.Len(); i++ {\n\t\t\t\telem := s.Index(i)\n\t\t\t\tt := elem.Interface().(time.Time)\n\t\t\t\tts, err := timestampProto(t)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn 0\n\t\t\t\t}\n\t\t\t\tsiz := Size(ts)\n\t\t\t\tn += siz + SizeVarint(uint64(siz)) + tagsize\n\t\t\t}\n\t\t\treturn n\n\t\t},\n\t\tfunc(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {\n\t\t\ts := ptr.getSlice(u.typ)\n\t\t\tfor i := 0; i < s.Len(); i++ {\n\t\t\t\telem := s.Index(i)\n\t\t\t\tt := elem.Interface().(time.Time)\n\t\t\t\tts, err := timestampProto(t)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn nil, err\n\t\t\t\t}\n\t\t\t\tsiz := Size(ts)\n\t\t\t\tbuf, err := Marshal(ts)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn nil, err\n\t\t\t\t}\n\t\t\t\tb = appendVarint(b, wiretag)\n\t\t\t\tb = appendVarint(b, uint64(siz))\n\t\t\t\tb = append(b, buf...)\n\t\t\t}\n\n\t\t\treturn b, nil\n\t\t}\n}\n\nfunc makeTimePtrSliceMarshaler(u *marshalInfo) (sizer, marshaler) {\n\treturn func(ptr pointer, tagsize int) int {\n\t\t\ts := ptr.getSlice(reflect.PtrTo(u.typ))\n\t\t\tn := 0\n\t\t\tfor i := 0; i < s.Len(); i++ {\n\t\t\t\telem := s.Index(i)\n\t\t\t\tt := elem.Interface().(*time.Time)\n\t\t\t\tts, err := timestampProto(*t)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn 0\n\t\t\t\t}\n\t\t\t\tsiz := Size(ts)\n\t\t\t\tn += siz + SizeVarint(uint64(siz)) + tagsize\n\t\t\t}\n\t\t\treturn n\n\t\t},\n\t\tfunc(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {\n\t\t\ts := ptr.getSlice(reflect.PtrTo(u.typ))\n\t\t\tfor i := 0; i < s.Len(); i++ {\n\t\t\t\telem := s.Index(i)\n\t\t\t\tt := elem.Interface().(*time.Time)\n\t\t\t\tts, err := timestampProto(*t)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn nil, err\n\t\t\t\t}\n\t\t\t\tsiz := Size(ts)\n\t\t\t\tbuf, err := Marshal(ts)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn nil, err\n\t\t\t\t}\n\t\t\t\tb = appendVarint(b, wiretag)\n\t\t\t\tb = appendVarint(b, uint64(siz))\n\t\t\t\tb = append(b, buf...)\n\t\t\t}\n\n\t\t\treturn b, nil\n\t\t}\n}\n\nfunc makeDurationMarshaler(u *marshalInfo) (sizer, marshaler) {\n\treturn func(ptr pointer, tagsize int) int {\n\t\t\td := ptr.asPointerTo(u.typ).Interface().(*time.Duration)\n\t\t\tdur := durationProto(*d)\n\t\t\tsiz := Size(dur)\n\t\t\treturn tagsize + SizeVarint(uint64(siz)) + siz\n\t\t}, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {\n\t\t\td := ptr.asPointerTo(u.typ).Interface().(*time.Duration)\n\t\t\tdur := durationProto(*d)\n\t\t\tbuf, err := Marshal(dur)\n\t\t\tif err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t\tb = appendVarint(b, wiretag)\n\t\t\tb = appendVarint(b, uint64(len(buf)))\n\t\t\tb = append(b, buf...)\n\t\t\treturn b, nil\n\t\t}\n}\n\nfunc makeDurationPtrMarshaler(u *marshalInfo) (sizer, marshaler) {\n\treturn func(ptr pointer, tagsize int) int {\n\t\t\tif ptr.isNil() {\n\t\t\t\treturn 0\n\t\t\t}\n\t\t\td := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(*time.Duration)\n\t\t\tdur := durationProto(*d)\n\t\t\tsiz := Size(dur)\n\t\t\treturn tagsize + SizeVarint(uint64(siz)) + siz\n\t\t}, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {\n\t\t\tif ptr.isNil() {\n\t\t\t\treturn b, nil\n\t\t\t}\n\t\t\td := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(*time.Duration)\n\t\t\tdur := durationProto(*d)\n\t\t\tbuf, err := Marshal(dur)\n\t\t\tif err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t\tb = appendVarint(b, wiretag)\n\t\t\tb = appendVarint(b, uint64(len(buf)))\n\t\t\tb = append(b, buf...)\n\t\t\treturn b, nil\n\t\t}\n}\n\nfunc makeDurationSliceMarshaler(u *marshalInfo) (sizer, marshaler) {\n\treturn func(ptr pointer, tagsize int) int {\n\t\t\ts := ptr.getSlice(u.typ)\n\t\t\tn := 0\n\t\t\tfor i := 0; i < s.Len(); i++ {\n\t\t\t\telem := s.Index(i)\n\t\t\t\td := elem.Interface().(time.Duration)\n\t\t\t\tdur := durationProto(d)\n\t\t\t\tsiz := Size(dur)\n\t\t\t\tn += siz + SizeVarint(uint64(siz)) + tagsize\n\t\t\t}\n\t\t\treturn n\n\t\t},\n\t\tfunc(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {\n\t\t\ts := ptr.getSlice(u.typ)\n\t\t\tfor i := 0; i < s.Len(); i++ {\n\t\t\t\telem := s.Index(i)\n\t\t\t\td := elem.Interface().(time.Duration)\n\t\t\t\tdur := durationProto(d)\n\t\t\t\tsiz := Size(dur)\n\t\t\t\tbuf, err := Marshal(dur)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn nil, err\n\t\t\t\t}\n\t\t\t\tb = appendVarint(b, wiretag)\n\t\t\t\tb = appendVarint(b, uint64(siz))\n\t\t\t\tb = append(b, buf...)\n\t\t\t}\n\n\t\t\treturn b, nil\n\t\t}\n}\n\nfunc makeDurationPtrSliceMarshaler(u *marshalInfo) (sizer, marshaler) {\n\treturn func(ptr pointer, tagsize int) int {\n\t\t\ts := ptr.getSlice(reflect.PtrTo(u.typ))\n\t\t\tn := 0\n\t\t\tfor i := 0; i < s.Len(); i++ {\n\t\t\t\telem := s.Index(i)\n\t\t\t\td := elem.Interface().(*time.Duration)\n\t\t\t\tdur := durationProto(*d)\n\t\t\t\tsiz := Size(dur)\n\t\t\t\tn += siz + SizeVarint(uint64(siz)) + tagsize\n\t\t\t}\n\t\t\treturn n\n\t\t},\n\t\tfunc(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {\n\t\t\ts := ptr.getSlice(reflect.PtrTo(u.typ))\n\t\t\tfor i := 0; i < s.Len(); i++ {\n\t\t\t\telem := s.Index(i)\n\t\t\t\td := elem.Interface().(*time.Duration)\n\t\t\t\tdur := durationProto(*d)\n\t\t\t\tsiz := Size(dur)\n\t\t\t\tbuf, err := Marshal(dur)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn nil, err\n\t\t\t\t}\n\t\t\t\tb = appendVarint(b, wiretag)\n\t\t\t\tb = appendVarint(b, uint64(siz))\n\t\t\t\tb = append(b, buf...)\n\t\t\t}\n\n\t\t\treturn b, nil\n\t\t}\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/table_merge.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2016 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\nimport (\n\t\"fmt\"\n\t\"reflect\"\n\t\"strings\"\n\t\"sync\"\n\t\"sync/atomic\"\n)\n\n// Merge merges the src message into dst.\n// This assumes that dst and src of the same type and are non-nil.\nfunc (a *InternalMessageInfo) Merge(dst, src Message) {\n\tmi := atomicLoadMergeInfo(&a.merge)\n\tif mi == nil {\n\t\tmi = getMergeInfo(reflect.TypeOf(dst).Elem())\n\t\tatomicStoreMergeInfo(&a.merge, mi)\n\t}\n\tmi.merge(toPointer(&dst), toPointer(&src))\n}\n\ntype mergeInfo struct {\n\ttyp reflect.Type\n\n\tinitialized int32 // 0: only typ is valid, 1: everything is valid\n\tlock        sync.Mutex\n\n\tfields       []mergeFieldInfo\n\tunrecognized field // Offset of XXX_unrecognized\n}\n\ntype mergeFieldInfo struct {\n\tfield field // Offset of field, guaranteed to be valid\n\n\t// isPointer reports whether the value in the field is a pointer.\n\t// This is true for the following situations:\n\t//\t* Pointer to struct\n\t//\t* Pointer to basic type (proto2 only)\n\t//\t* Slice (first value in slice header is a pointer)\n\t//\t* String (first value in string header is a pointer)\n\tisPointer bool\n\n\t// basicWidth reports the width of the field assuming that it is directly\n\t// embedded in the struct (as is the case for basic types in proto3).\n\t// The possible values are:\n\t// \t0: invalid\n\t//\t1: bool\n\t//\t4: int32, uint32, float32\n\t//\t8: int64, uint64, float64\n\tbasicWidth int\n\n\t// Where dst and src are pointers to the types being merged.\n\tmerge func(dst, src pointer)\n}\n\nvar (\n\tmergeInfoMap  = map[reflect.Type]*mergeInfo{}\n\tmergeInfoLock sync.Mutex\n)\n\nfunc getMergeInfo(t reflect.Type) *mergeInfo {\n\tmergeInfoLock.Lock()\n\tdefer mergeInfoLock.Unlock()\n\tmi := mergeInfoMap[t]\n\tif mi == nil {\n\t\tmi = &mergeInfo{typ: t}\n\t\tmergeInfoMap[t] = mi\n\t}\n\treturn mi\n}\n\n// merge merges src into dst assuming they are both of type *mi.typ.\nfunc (mi *mergeInfo) merge(dst, src pointer) {\n\tif dst.isNil() {\n\t\tpanic(\"proto: nil destination\")\n\t}\n\tif src.isNil() {\n\t\treturn // Nothing to do.\n\t}\n\n\tif atomic.LoadInt32(&mi.initialized) == 0 {\n\t\tmi.computeMergeInfo()\n\t}\n\n\tfor _, fi := range mi.fields {\n\t\tsfp := src.offset(fi.field)\n\n\t\t// As an optimization, we can avoid the merge function call cost\n\t\t// if we know for sure that the source will have no effect\n\t\t// by checking if it is the zero value.\n\t\tif unsafeAllowed {\n\t\t\tif fi.isPointer && sfp.getPointer().isNil() { // Could be slice or string\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif fi.basicWidth > 0 {\n\t\t\t\tswitch {\n\t\t\t\tcase fi.basicWidth == 1 && !*sfp.toBool():\n\t\t\t\t\tcontinue\n\t\t\t\tcase fi.basicWidth == 4 && *sfp.toUint32() == 0:\n\t\t\t\t\tcontinue\n\t\t\t\tcase fi.basicWidth == 8 && *sfp.toUint64() == 0:\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tdfp := dst.offset(fi.field)\n\t\tfi.merge(dfp, sfp)\n\t}\n\n\t// TODO: Make this faster?\n\tout := dst.asPointerTo(mi.typ).Elem()\n\tin := src.asPointerTo(mi.typ).Elem()\n\tif emIn, err := extendable(in.Addr().Interface()); err == nil {\n\t\temOut, _ := extendable(out.Addr().Interface())\n\t\tmIn, muIn := emIn.extensionsRead()\n\t\tif mIn != nil {\n\t\t\tmOut := emOut.extensionsWrite()\n\t\t\tmuIn.Lock()\n\t\t\tmergeExtension(mOut, mIn)\n\t\t\tmuIn.Unlock()\n\t\t}\n\t}\n\n\tif mi.unrecognized.IsValid() {\n\t\tif b := *src.offset(mi.unrecognized).toBytes(); len(b) > 0 {\n\t\t\t*dst.offset(mi.unrecognized).toBytes() = append([]byte(nil), b...)\n\t\t}\n\t}\n}\n\nfunc (mi *mergeInfo) computeMergeInfo() {\n\tmi.lock.Lock()\n\tdefer mi.lock.Unlock()\n\tif mi.initialized != 0 {\n\t\treturn\n\t}\n\tt := mi.typ\n\tn := t.NumField()\n\n\tprops := GetProperties(t)\n\tfor i := 0; i < n; i++ {\n\t\tf := t.Field(i)\n\t\tif strings.HasPrefix(f.Name, \"XXX_\") {\n\t\t\tcontinue\n\t\t}\n\n\t\tmfi := mergeFieldInfo{field: toField(&f)}\n\t\ttf := f.Type\n\n\t\t// As an optimization, we can avoid the merge function call cost\n\t\t// if we know for sure that the source will have no effect\n\t\t// by checking if it is the zero value.\n\t\tif unsafeAllowed {\n\t\t\tswitch tf.Kind() {\n\t\t\tcase reflect.Ptr, reflect.Slice, reflect.String:\n\t\t\t\t// As a special case, we assume slices and strings are pointers\n\t\t\t\t// since we know that the first field in the SliceSlice or\n\t\t\t\t// StringHeader is a data pointer.\n\t\t\t\tmfi.isPointer = true\n\t\t\tcase reflect.Bool:\n\t\t\t\tmfi.basicWidth = 1\n\t\t\tcase reflect.Int32, reflect.Uint32, reflect.Float32:\n\t\t\t\tmfi.basicWidth = 4\n\t\t\tcase reflect.Int64, reflect.Uint64, reflect.Float64:\n\t\t\t\tmfi.basicWidth = 8\n\t\t\t}\n\t\t}\n\n\t\t// Unwrap tf to get at its most basic type.\n\t\tvar isPointer, isSlice bool\n\t\tif tf.Kind() == reflect.Slice && tf.Elem().Kind() != reflect.Uint8 {\n\t\t\tisSlice = true\n\t\t\ttf = tf.Elem()\n\t\t}\n\t\tif tf.Kind() == reflect.Ptr {\n\t\t\tisPointer = true\n\t\t\ttf = tf.Elem()\n\t\t}\n\t\tif isPointer && isSlice && tf.Kind() != reflect.Struct {\n\t\t\tpanic(\"both pointer and slice for basic type in \" + tf.Name())\n\t\t}\n\n\t\tswitch tf.Kind() {\n\t\tcase reflect.Int32:\n\t\t\tswitch {\n\t\t\tcase isSlice: // E.g., []int32\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\t// NOTE: toInt32Slice is not defined (see pointer_reflect.go).\n\t\t\t\t\t/*\n\t\t\t\t\t\tsfsp := src.toInt32Slice()\n\t\t\t\t\t\tif *sfsp != nil {\n\t\t\t\t\t\t\tdfsp := dst.toInt32Slice()\n\t\t\t\t\t\t\t*dfsp = append(*dfsp, *sfsp...)\n\t\t\t\t\t\t\tif *dfsp == nil {\n\t\t\t\t\t\t\t\t*dfsp = []int64{}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t*/\n\t\t\t\t\tsfs := src.getInt32Slice()\n\t\t\t\t\tif sfs != nil {\n\t\t\t\t\t\tdfs := dst.getInt32Slice()\n\t\t\t\t\t\tdfs = append(dfs, sfs...)\n\t\t\t\t\t\tif dfs == nil {\n\t\t\t\t\t\t\tdfs = []int32{}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdst.setInt32Slice(dfs)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tcase isPointer: // E.g., *int32\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\t// NOTE: toInt32Ptr is not defined (see pointer_reflect.go).\n\t\t\t\t\t/*\n\t\t\t\t\t\tsfpp := src.toInt32Ptr()\n\t\t\t\t\t\tif *sfpp != nil {\n\t\t\t\t\t\t\tdfpp := dst.toInt32Ptr()\n\t\t\t\t\t\t\tif *dfpp == nil {\n\t\t\t\t\t\t\t\t*dfpp = Int32(**sfpp)\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t**dfpp = **sfpp\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t*/\n\t\t\t\t\tsfp := src.getInt32Ptr()\n\t\t\t\t\tif sfp != nil {\n\t\t\t\t\t\tdfp := dst.getInt32Ptr()\n\t\t\t\t\t\tif dfp == nil {\n\t\t\t\t\t\t\tdst.setInt32Ptr(*sfp)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t*dfp = *sfp\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tdefault: // E.g., int32\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tif v := *src.toInt32(); v != 0 {\n\t\t\t\t\t\t*dst.toInt32() = v\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\tcase reflect.Int64:\n\t\t\tswitch {\n\t\t\tcase isSlice: // E.g., []int64\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsfsp := src.toInt64Slice()\n\t\t\t\t\tif *sfsp != nil {\n\t\t\t\t\t\tdfsp := dst.toInt64Slice()\n\t\t\t\t\t\t*dfsp = append(*dfsp, *sfsp...)\n\t\t\t\t\t\tif *dfsp == nil {\n\t\t\t\t\t\t\t*dfsp = []int64{}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tcase isPointer: // E.g., *int64\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsfpp := src.toInt64Ptr()\n\t\t\t\t\tif *sfpp != nil {\n\t\t\t\t\t\tdfpp := dst.toInt64Ptr()\n\t\t\t\t\t\tif *dfpp == nil {\n\t\t\t\t\t\t\t*dfpp = Int64(**sfpp)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t**dfpp = **sfpp\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tdefault: // E.g., int64\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tif v := *src.toInt64(); v != 0 {\n\t\t\t\t\t\t*dst.toInt64() = v\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\tcase reflect.Uint32:\n\t\t\tswitch {\n\t\t\tcase isSlice: // E.g., []uint32\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsfsp := src.toUint32Slice()\n\t\t\t\t\tif *sfsp != nil {\n\t\t\t\t\t\tdfsp := dst.toUint32Slice()\n\t\t\t\t\t\t*dfsp = append(*dfsp, *sfsp...)\n\t\t\t\t\t\tif *dfsp == nil {\n\t\t\t\t\t\t\t*dfsp = []uint32{}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tcase isPointer: // E.g., *uint32\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsfpp := src.toUint32Ptr()\n\t\t\t\t\tif *sfpp != nil {\n\t\t\t\t\t\tdfpp := dst.toUint32Ptr()\n\t\t\t\t\t\tif *dfpp == nil {\n\t\t\t\t\t\t\t*dfpp = Uint32(**sfpp)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t**dfpp = **sfpp\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tdefault: // E.g., uint32\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tif v := *src.toUint32(); v != 0 {\n\t\t\t\t\t\t*dst.toUint32() = v\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\tcase reflect.Uint64:\n\t\t\tswitch {\n\t\t\tcase isSlice: // E.g., []uint64\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsfsp := src.toUint64Slice()\n\t\t\t\t\tif *sfsp != nil {\n\t\t\t\t\t\tdfsp := dst.toUint64Slice()\n\t\t\t\t\t\t*dfsp = append(*dfsp, *sfsp...)\n\t\t\t\t\t\tif *dfsp == nil {\n\t\t\t\t\t\t\t*dfsp = []uint64{}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tcase isPointer: // E.g., *uint64\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsfpp := src.toUint64Ptr()\n\t\t\t\t\tif *sfpp != nil {\n\t\t\t\t\t\tdfpp := dst.toUint64Ptr()\n\t\t\t\t\t\tif *dfpp == nil {\n\t\t\t\t\t\t\t*dfpp = Uint64(**sfpp)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t**dfpp = **sfpp\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tdefault: // E.g., uint64\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tif v := *src.toUint64(); v != 0 {\n\t\t\t\t\t\t*dst.toUint64() = v\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\tcase reflect.Float32:\n\t\t\tswitch {\n\t\t\tcase isSlice: // E.g., []float32\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsfsp := src.toFloat32Slice()\n\t\t\t\t\tif *sfsp != nil {\n\t\t\t\t\t\tdfsp := dst.toFloat32Slice()\n\t\t\t\t\t\t*dfsp = append(*dfsp, *sfsp...)\n\t\t\t\t\t\tif *dfsp == nil {\n\t\t\t\t\t\t\t*dfsp = []float32{}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tcase isPointer: // E.g., *float32\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsfpp := src.toFloat32Ptr()\n\t\t\t\t\tif *sfpp != nil {\n\t\t\t\t\t\tdfpp := dst.toFloat32Ptr()\n\t\t\t\t\t\tif *dfpp == nil {\n\t\t\t\t\t\t\t*dfpp = Float32(**sfpp)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t**dfpp = **sfpp\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tdefault: // E.g., float32\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tif v := *src.toFloat32(); v != 0 {\n\t\t\t\t\t\t*dst.toFloat32() = v\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\tcase reflect.Float64:\n\t\t\tswitch {\n\t\t\tcase isSlice: // E.g., []float64\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsfsp := src.toFloat64Slice()\n\t\t\t\t\tif *sfsp != nil {\n\t\t\t\t\t\tdfsp := dst.toFloat64Slice()\n\t\t\t\t\t\t*dfsp = append(*dfsp, *sfsp...)\n\t\t\t\t\t\tif *dfsp == nil {\n\t\t\t\t\t\t\t*dfsp = []float64{}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tcase isPointer: // E.g., *float64\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsfpp := src.toFloat64Ptr()\n\t\t\t\t\tif *sfpp != nil {\n\t\t\t\t\t\tdfpp := dst.toFloat64Ptr()\n\t\t\t\t\t\tif *dfpp == nil {\n\t\t\t\t\t\t\t*dfpp = Float64(**sfpp)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t**dfpp = **sfpp\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tdefault: // E.g., float64\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tif v := *src.toFloat64(); v != 0 {\n\t\t\t\t\t\t*dst.toFloat64() = v\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\tcase reflect.Bool:\n\t\t\tswitch {\n\t\t\tcase isSlice: // E.g., []bool\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsfsp := src.toBoolSlice()\n\t\t\t\t\tif *sfsp != nil {\n\t\t\t\t\t\tdfsp := dst.toBoolSlice()\n\t\t\t\t\t\t*dfsp = append(*dfsp, *sfsp...)\n\t\t\t\t\t\tif *dfsp == nil {\n\t\t\t\t\t\t\t*dfsp = []bool{}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tcase isPointer: // E.g., *bool\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsfpp := src.toBoolPtr()\n\t\t\t\t\tif *sfpp != nil {\n\t\t\t\t\t\tdfpp := dst.toBoolPtr()\n\t\t\t\t\t\tif *dfpp == nil {\n\t\t\t\t\t\t\t*dfpp = Bool(**sfpp)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t**dfpp = **sfpp\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tdefault: // E.g., bool\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tif v := *src.toBool(); v {\n\t\t\t\t\t\t*dst.toBool() = v\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\tcase reflect.String:\n\t\t\tswitch {\n\t\t\tcase isSlice: // E.g., []string\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsfsp := src.toStringSlice()\n\t\t\t\t\tif *sfsp != nil {\n\t\t\t\t\t\tdfsp := dst.toStringSlice()\n\t\t\t\t\t\t*dfsp = append(*dfsp, *sfsp...)\n\t\t\t\t\t\tif *dfsp == nil {\n\t\t\t\t\t\t\t*dfsp = []string{}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tcase isPointer: // E.g., *string\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsfpp := src.toStringPtr()\n\t\t\t\t\tif *sfpp != nil {\n\t\t\t\t\t\tdfpp := dst.toStringPtr()\n\t\t\t\t\t\tif *dfpp == nil {\n\t\t\t\t\t\t\t*dfpp = String(**sfpp)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t**dfpp = **sfpp\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tdefault: // E.g., string\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tif v := *src.toString(); v != \"\" {\n\t\t\t\t\t\t*dst.toString() = v\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\tcase reflect.Slice:\n\t\t\tisProto3 := props.Prop[i].proto3\n\t\t\tswitch {\n\t\t\tcase isPointer:\n\t\t\t\tpanic(\"bad pointer in byte slice case in \" + tf.Name())\n\t\t\tcase tf.Elem().Kind() != reflect.Uint8:\n\t\t\t\tpanic(\"bad element kind in byte slice case in \" + tf.Name())\n\t\t\tcase isSlice: // E.g., [][]byte\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsbsp := src.toBytesSlice()\n\t\t\t\t\tif *sbsp != nil {\n\t\t\t\t\t\tdbsp := dst.toBytesSlice()\n\t\t\t\t\t\tfor _, sb := range *sbsp {\n\t\t\t\t\t\t\tif sb == nil {\n\t\t\t\t\t\t\t\t*dbsp = append(*dbsp, nil)\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t*dbsp = append(*dbsp, append([]byte{}, sb...))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif *dbsp == nil {\n\t\t\t\t\t\t\t*dbsp = [][]byte{}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tdefault: // E.g., []byte\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsbp := src.toBytes()\n\t\t\t\t\tif *sbp != nil {\n\t\t\t\t\t\tdbp := dst.toBytes()\n\t\t\t\t\t\tif !isProto3 || len(*sbp) > 0 {\n\t\t\t\t\t\t\t*dbp = append([]byte{}, *sbp...)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\tcase reflect.Struct:\n\t\t\tswitch {\n\t\t\tcase !isPointer:\n\t\t\t\tmergeInfo := getMergeInfo(tf)\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tmergeInfo.merge(dst, src)\n\t\t\t\t}\n\t\t\tcase isSlice: // E.g., []*pb.T\n\t\t\t\tmergeInfo := getMergeInfo(tf)\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsps := src.getPointerSlice()\n\t\t\t\t\tif sps != nil {\n\t\t\t\t\t\tdps := dst.getPointerSlice()\n\t\t\t\t\t\tfor _, sp := range sps {\n\t\t\t\t\t\t\tvar dp pointer\n\t\t\t\t\t\t\tif !sp.isNil() {\n\t\t\t\t\t\t\t\tdp = valToPointer(reflect.New(tf))\n\t\t\t\t\t\t\t\tmergeInfo.merge(dp, sp)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdps = append(dps, dp)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif dps == nil {\n\t\t\t\t\t\t\tdps = []pointer{}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdst.setPointerSlice(dps)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tdefault: // E.g., *pb.T\n\t\t\t\tmergeInfo := getMergeInfo(tf)\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsp := src.getPointer()\n\t\t\t\t\tif !sp.isNil() {\n\t\t\t\t\t\tdp := dst.getPointer()\n\t\t\t\t\t\tif dp.isNil() {\n\t\t\t\t\t\t\tdp = valToPointer(reflect.New(tf))\n\t\t\t\t\t\t\tdst.setPointer(dp)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmergeInfo.merge(dp, sp)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\tcase reflect.Map:\n\t\t\tswitch {\n\t\t\tcase isPointer || isSlice:\n\t\t\t\tpanic(\"bad pointer or slice in map case in \" + tf.Name())\n\t\t\tdefault: // E.g., map[K]V\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsm := src.asPointerTo(tf).Elem()\n\t\t\t\t\tif sm.Len() == 0 {\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tdm := dst.asPointerTo(tf).Elem()\n\t\t\t\t\tif dm.IsNil() {\n\t\t\t\t\t\tdm.Set(reflect.MakeMap(tf))\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch tf.Elem().Kind() {\n\t\t\t\t\tcase reflect.Ptr: // Proto struct (e.g., *T)\n\t\t\t\t\t\tfor _, key := range sm.MapKeys() {\n\t\t\t\t\t\t\tval := sm.MapIndex(key)\n\t\t\t\t\t\t\tval = reflect.ValueOf(Clone(val.Interface().(Message)))\n\t\t\t\t\t\t\tdm.SetMapIndex(key, val)\n\t\t\t\t\t\t}\n\t\t\t\t\tcase reflect.Slice: // E.g. Bytes type (e.g., []byte)\n\t\t\t\t\t\tfor _, key := range sm.MapKeys() {\n\t\t\t\t\t\t\tval := sm.MapIndex(key)\n\t\t\t\t\t\t\tval = reflect.ValueOf(append([]byte{}, val.Bytes()...))\n\t\t\t\t\t\t\tdm.SetMapIndex(key, val)\n\t\t\t\t\t\t}\n\t\t\t\t\tdefault: // Basic type (e.g., string)\n\t\t\t\t\t\tfor _, key := range sm.MapKeys() {\n\t\t\t\t\t\t\tval := sm.MapIndex(key)\n\t\t\t\t\t\t\tdm.SetMapIndex(key, val)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\tcase reflect.Interface:\n\t\t\t// Must be oneof field.\n\t\t\tswitch {\n\t\t\tcase isPointer || isSlice:\n\t\t\t\tpanic(\"bad pointer or slice in interface case in \" + tf.Name())\n\t\t\tdefault: // E.g., interface{}\n\t\t\t\t// TODO: Make this faster?\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsu := src.asPointerTo(tf).Elem()\n\t\t\t\t\tif !su.IsNil() {\n\t\t\t\t\t\tdu := dst.asPointerTo(tf).Elem()\n\t\t\t\t\t\ttyp := su.Elem().Type()\n\t\t\t\t\t\tif du.IsNil() || du.Elem().Type() != typ {\n\t\t\t\t\t\t\tdu.Set(reflect.New(typ.Elem())) // Initialize interface if empty\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsv := su.Elem().Elem().Field(0)\n\t\t\t\t\t\tif sv.Kind() == reflect.Ptr && sv.IsNil() {\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdv := du.Elem().Elem().Field(0)\n\t\t\t\t\t\tif dv.Kind() == reflect.Ptr && dv.IsNil() {\n\t\t\t\t\t\t\tdv.Set(reflect.New(sv.Type().Elem())) // Initialize proto message if empty\n\t\t\t\t\t\t}\n\t\t\t\t\t\tswitch sv.Type().Kind() {\n\t\t\t\t\t\tcase reflect.Ptr: // Proto struct (e.g., *T)\n\t\t\t\t\t\t\tMerge(dv.Interface().(Message), sv.Interface().(Message))\n\t\t\t\t\t\tcase reflect.Slice: // E.g. Bytes type (e.g., []byte)\n\t\t\t\t\t\t\tdv.Set(reflect.ValueOf(append([]byte{}, sv.Bytes()...)))\n\t\t\t\t\t\tdefault: // Basic type (e.g., string)\n\t\t\t\t\t\t\tdv.Set(sv)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tpanic(fmt.Sprintf(\"merger not found for type:%s\", tf))\n\t\t}\n\t\tmi.fields = append(mi.fields, mfi)\n\t}\n\n\tmi.unrecognized = invalidField\n\tif f, ok := t.FieldByName(\"XXX_unrecognized\"); ok {\n\t\tif f.Type != reflect.TypeOf([]byte{}) {\n\t\t\tpanic(\"expected XXX_unrecognized to be of type []byte\")\n\t\t}\n\t\tmi.unrecognized = toField(&f)\n\t}\n\n\tatomic.StoreInt32(&mi.initialized, 1)\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/table_unmarshal.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2016 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"math\"\n\t\"reflect\"\n\t\"strconv\"\n\t\"strings\"\n\t\"sync\"\n\t\"sync/atomic\"\n\t\"unicode/utf8\"\n)\n\n// Unmarshal is the entry point from the generated .pb.go files.\n// This function is not intended to be used by non-generated code.\n// This function is not subject to any compatibility guarantee.\n// msg contains a pointer to a protocol buffer struct.\n// b is the data to be unmarshaled into the protocol buffer.\n// a is a pointer to a place to store cached unmarshal information.\nfunc (a *InternalMessageInfo) Unmarshal(msg Message, b []byte) error {\n\t// Load the unmarshal information for this message type.\n\t// The atomic load ensures memory consistency.\n\tu := atomicLoadUnmarshalInfo(&a.unmarshal)\n\tif u == nil {\n\t\t// Slow path: find unmarshal info for msg, update a with it.\n\t\tu = getUnmarshalInfo(reflect.TypeOf(msg).Elem())\n\t\tatomicStoreUnmarshalInfo(&a.unmarshal, u)\n\t}\n\t// Then do the unmarshaling.\n\terr := u.unmarshal(toPointer(&msg), b)\n\treturn err\n}\n\ntype unmarshalInfo struct {\n\ttyp reflect.Type // type of the protobuf struct\n\n\t// 0 = only typ field is initialized\n\t// 1 = completely initialized\n\tinitialized     int32\n\tlock            sync.Mutex                    // prevents double initialization\n\tdense           []unmarshalFieldInfo          // fields indexed by tag #\n\tsparse          map[uint64]unmarshalFieldInfo // fields indexed by tag #\n\treqFields       []string                      // names of required fields\n\treqMask         uint64                        // 1<<len(reqFields)-1\n\tunrecognized    field                         // offset of []byte to put unrecognized data (or invalidField if we should throw it away)\n\textensions      field                         // offset of extensions field (of type proto.XXX_InternalExtensions), or invalidField if it does not exist\n\toldExtensions   field                         // offset of old-form extensions field (of type map[int]Extension)\n\textensionRanges []ExtensionRange              // if non-nil, implies extensions field is valid\n\tisMessageSet    bool                          // if true, implies extensions field is valid\n\n\tbytesExtensions field // offset of XXX_extensions with type []byte\n}\n\n// An unmarshaler takes a stream of bytes and a pointer to a field of a message.\n// It decodes the field, stores it at f, and returns the unused bytes.\n// w is the wire encoding.\n// b is the data after the tag and wire encoding have been read.\ntype unmarshaler func(b []byte, f pointer, w int) ([]byte, error)\n\ntype unmarshalFieldInfo struct {\n\t// location of the field in the proto message structure.\n\tfield field\n\n\t// function to unmarshal the data for the field.\n\tunmarshal unmarshaler\n\n\t// if a required field, contains a single set bit at this field's index in the required field list.\n\treqMask uint64\n}\n\nvar (\n\tunmarshalInfoMap  = map[reflect.Type]*unmarshalInfo{}\n\tunmarshalInfoLock sync.Mutex\n)\n\n// getUnmarshalInfo returns the data structure which can be\n// subsequently used to unmarshal a message of the given type.\n// t is the type of the message (note: not pointer to message).\nfunc getUnmarshalInfo(t reflect.Type) *unmarshalInfo {\n\t// It would be correct to return a new unmarshalInfo\n\t// unconditionally. We would end up allocating one\n\t// per occurrence of that type as a message or submessage.\n\t// We use a cache here just to reduce memory usage.\n\tunmarshalInfoLock.Lock()\n\tdefer unmarshalInfoLock.Unlock()\n\tu := unmarshalInfoMap[t]\n\tif u == nil {\n\t\tu = &unmarshalInfo{typ: t}\n\t\t// Note: we just set the type here. The rest of the fields\n\t\t// will be initialized on first use.\n\t\tunmarshalInfoMap[t] = u\n\t}\n\treturn u\n}\n\n// unmarshal does the main work of unmarshaling a message.\n// u provides type information used to unmarshal the message.\n// m is a pointer to a protocol buffer message.\n// b is a byte stream to unmarshal into m.\n// This is top routine used when recursively unmarshaling submessages.\nfunc (u *unmarshalInfo) unmarshal(m pointer, b []byte) error {\n\tif atomic.LoadInt32(&u.initialized) == 0 {\n\t\tu.computeUnmarshalInfo()\n\t}\n\tif u.isMessageSet {\n\t\treturn UnmarshalMessageSet(b, m.offset(u.extensions).toExtensions())\n\t}\n\tvar reqMask uint64            // bitmask of required fields we've seen.\n\tvar rnse *RequiredNotSetError // an instance of a RequiredNotSetError returned by a submessage.\n\tfor len(b) > 0 {\n\t\t// Read tag and wire type.\n\t\t// Special case 1 and 2 byte varints.\n\t\tvar x uint64\n\t\tif b[0] < 128 {\n\t\t\tx = uint64(b[0])\n\t\t\tb = b[1:]\n\t\t} else if len(b) >= 2 && b[1] < 128 {\n\t\t\tx = uint64(b[0]&0x7f) + uint64(b[1])<<7\n\t\t\tb = b[2:]\n\t\t} else {\n\t\t\tvar n int\n\t\t\tx, n = decodeVarint(b)\n\t\t\tif n == 0 {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb = b[n:]\n\t\t}\n\t\ttag := x >> 3\n\t\twire := int(x) & 7\n\n\t\t// Dispatch on the tag to one of the unmarshal* functions below.\n\t\tvar f unmarshalFieldInfo\n\t\tif tag < uint64(len(u.dense)) {\n\t\t\tf = u.dense[tag]\n\t\t} else {\n\t\t\tf = u.sparse[tag]\n\t\t}\n\t\tif fn := f.unmarshal; fn != nil {\n\t\t\tvar err error\n\t\t\tb, err = fn(b, m.offset(f.field), wire)\n\t\t\tif err == nil {\n\t\t\t\treqMask |= f.reqMask\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif r, ok := err.(*RequiredNotSetError); ok {\n\t\t\t\t// Remember this error, but keep parsing. We need to produce\n\t\t\t\t// a full parse even if a required field is missing.\n\t\t\t\trnse = r\n\t\t\t\treqMask |= f.reqMask\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif err != errInternalBadWireType {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\t// Fragments with bad wire type are treated as unknown fields.\n\t\t}\n\n\t\t// Unknown tag.\n\t\tif !u.unrecognized.IsValid() {\n\t\t\t// Don't keep unrecognized data; just skip it.\n\t\t\tvar err error\n\t\t\tb, err = skipField(b, wire)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\t// Keep unrecognized data around.\n\t\t// maybe in extensions, maybe in the unrecognized field.\n\t\tz := m.offset(u.unrecognized).toBytes()\n\t\tvar emap map[int32]Extension\n\t\tvar e Extension\n\t\tfor _, r := range u.extensionRanges {\n\t\t\tif uint64(r.Start) <= tag && tag <= uint64(r.End) {\n\t\t\t\tif u.extensions.IsValid() {\n\t\t\t\t\tmp := m.offset(u.extensions).toExtensions()\n\t\t\t\t\temap = mp.extensionsWrite()\n\t\t\t\t\te = emap[int32(tag)]\n\t\t\t\t\tz = &e.enc\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tif u.oldExtensions.IsValid() {\n\t\t\t\t\tp := m.offset(u.oldExtensions).toOldExtensions()\n\t\t\t\t\temap = *p\n\t\t\t\t\tif emap == nil {\n\t\t\t\t\t\temap = map[int32]Extension{}\n\t\t\t\t\t\t*p = emap\n\t\t\t\t\t}\n\t\t\t\t\te = emap[int32(tag)]\n\t\t\t\t\tz = &e.enc\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tif u.bytesExtensions.IsValid() {\n\t\t\t\t\tz = m.offset(u.bytesExtensions).toBytes()\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tpanic(\"no extensions field available\")\n\t\t\t}\n\t\t}\n\t\t// Use wire type to skip data.\n\t\tvar err error\n\t\tb0 := b\n\t\tb, err = skipField(b, wire)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t*z = encodeVarint(*z, tag<<3|uint64(wire))\n\t\t*z = append(*z, b0[:len(b0)-len(b)]...)\n\n\t\tif emap != nil {\n\t\t\temap[int32(tag)] = e\n\t\t}\n\t}\n\tif rnse != nil {\n\t\t// A required field of a submessage/group is missing. Return that error.\n\t\treturn rnse\n\t}\n\tif reqMask != u.reqMask {\n\t\t// A required field of this message is missing.\n\t\tfor _, n := range u.reqFields {\n\t\t\tif reqMask&1 == 0 {\n\t\t\t\treturn &RequiredNotSetError{n}\n\t\t\t}\n\t\t\treqMask >>= 1\n\t\t}\n\t}\n\treturn nil\n}\n\n// computeUnmarshalInfo fills in u with information for use\n// in unmarshaling protocol buffers of type u.typ.\nfunc (u *unmarshalInfo) computeUnmarshalInfo() {\n\tu.lock.Lock()\n\tdefer u.lock.Unlock()\n\tif u.initialized != 0 {\n\t\treturn\n\t}\n\tt := u.typ\n\tn := t.NumField()\n\n\t// Set up the \"not found\" value for the unrecognized byte buffer.\n\t// This is the default for proto3.\n\tu.unrecognized = invalidField\n\tu.extensions = invalidField\n\tu.oldExtensions = invalidField\n\tu.bytesExtensions = invalidField\n\n\t// List of the generated type and offset for each oneof field.\n\ttype oneofField struct {\n\t\tityp  reflect.Type // interface type of oneof field\n\t\tfield field        // offset in containing message\n\t}\n\tvar oneofFields []oneofField\n\n\tfor i := 0; i < n; i++ {\n\t\tf := t.Field(i)\n\t\tif f.Name == \"XXX_unrecognized\" {\n\t\t\t// The byte slice used to hold unrecognized input is special.\n\t\t\tif f.Type != reflect.TypeOf(([]byte)(nil)) {\n\t\t\t\tpanic(\"bad type for XXX_unrecognized field: \" + f.Type.Name())\n\t\t\t}\n\t\t\tu.unrecognized = toField(&f)\n\t\t\tcontinue\n\t\t}\n\t\tif f.Name == \"XXX_InternalExtensions\" {\n\t\t\t// Ditto here.\n\t\t\tif f.Type != reflect.TypeOf(XXX_InternalExtensions{}) {\n\t\t\t\tpanic(\"bad type for XXX_InternalExtensions field: \" + f.Type.Name())\n\t\t\t}\n\t\t\tu.extensions = toField(&f)\n\t\t\tif f.Tag.Get(\"protobuf_messageset\") == \"1\" {\n\t\t\t\tu.isMessageSet = true\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\tif f.Name == \"XXX_extensions\" {\n\t\t\t// An older form of the extensions field.\n\t\t\tif f.Type == reflect.TypeOf((map[int32]Extension)(nil)) {\n\t\t\t\tu.oldExtensions = toField(&f)\n\t\t\t\tcontinue\n\t\t\t} else if f.Type == reflect.TypeOf(([]byte)(nil)) {\n\t\t\t\tu.bytesExtensions = toField(&f)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tpanic(\"bad type for XXX_extensions field: \" + f.Type.Name())\n\t\t}\n\t\tif f.Name == \"XXX_NoUnkeyedLiteral\" || f.Name == \"XXX_sizecache\" {\n\t\t\tcontinue\n\t\t}\n\n\t\toneof := f.Tag.Get(\"protobuf_oneof\")\n\t\tif oneof != \"\" {\n\t\t\toneofFields = append(oneofFields, oneofField{f.Type, toField(&f)})\n\t\t\t// The rest of oneof processing happens below.\n\t\t\tcontinue\n\t\t}\n\n\t\ttags := f.Tag.Get(\"protobuf\")\n\t\ttagArray := strings.Split(tags, \",\")\n\t\tif len(tagArray) < 2 {\n\t\t\tpanic(\"protobuf tag not enough fields in \" + t.Name() + \".\" + f.Name + \": \" + tags)\n\t\t}\n\t\ttag, err := strconv.Atoi(tagArray[1])\n\t\tif err != nil {\n\t\t\tpanic(\"protobuf tag field not an integer: \" + tagArray[1])\n\t\t}\n\n\t\tname := \"\"\n\t\tfor _, tag := range tagArray[3:] {\n\t\t\tif strings.HasPrefix(tag, \"name=\") {\n\t\t\t\tname = tag[5:]\n\t\t\t}\n\t\t}\n\n\t\t// Extract unmarshaling function from the field (its type and tags).\n\t\tunmarshal := fieldUnmarshaler(&f)\n\n\t\t// Required field?\n\t\tvar reqMask uint64\n\t\tif tagArray[2] == \"req\" {\n\t\t\tbit := len(u.reqFields)\n\t\t\tu.reqFields = append(u.reqFields, name)\n\t\t\treqMask = uint64(1) << uint(bit)\n\t\t\t// TODO: if we have more than 64 required fields, we end up\n\t\t\t// not verifying that all required fields are present.\n\t\t\t// Fix this, perhaps using a count of required fields?\n\t\t}\n\n\t\t// Store the info in the correct slot in the message.\n\t\tu.setTag(tag, toField(&f), unmarshal, reqMask)\n\t}\n\n\t// Find any types associated with oneof fields.\n\t// TODO: XXX_OneofFuncs returns more info than we need.  Get rid of some of it?\n\tfn := reflect.Zero(reflect.PtrTo(t)).MethodByName(\"XXX_OneofFuncs\")\n\t// gogo: len(oneofFields) > 0 is needed for embedded oneof messages, without a marshaler and unmarshaler\n\tif fn.IsValid() && len(oneofFields) > 0 {\n\t\tres := fn.Call(nil)[3] // last return value from XXX_OneofFuncs: []interface{}\n\t\tfor i := res.Len() - 1; i >= 0; i-- {\n\t\t\tv := res.Index(i)                             // interface{}\n\t\t\ttptr := reflect.ValueOf(v.Interface()).Type() // *Msg_X\n\t\t\ttyp := tptr.Elem()                            // Msg_X\n\n\t\t\tf := typ.Field(0) // oneof implementers have one field\n\t\t\tbaseUnmarshal := fieldUnmarshaler(&f)\n\t\t\ttagstr := strings.Split(f.Tag.Get(\"protobuf\"), \",\")[1]\n\t\t\ttag, err := strconv.Atoi(tagstr)\n\t\t\tif err != nil {\n\t\t\t\tpanic(\"protobuf tag field not an integer: \" + tagstr)\n\t\t\t}\n\n\t\t\t// Find the oneof field that this struct implements.\n\t\t\t// Might take O(n^2) to process all of the oneofs, but who cares.\n\t\t\tfor _, of := range oneofFields {\n\t\t\t\tif tptr.Implements(of.ityp) {\n\t\t\t\t\t// We have found the corresponding interface for this struct.\n\t\t\t\t\t// That lets us know where this struct should be stored\n\t\t\t\t\t// when we encounter it during unmarshaling.\n\t\t\t\t\tunmarshal := makeUnmarshalOneof(typ, of.ityp, baseUnmarshal)\n\t\t\t\t\tu.setTag(tag, of.field, unmarshal, 0)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Get extension ranges, if any.\n\tfn = reflect.Zero(reflect.PtrTo(t)).MethodByName(\"ExtensionRangeArray\")\n\tif fn.IsValid() {\n\t\tif !u.extensions.IsValid() && !u.oldExtensions.IsValid() && !u.bytesExtensions.IsValid() {\n\t\t\tpanic(\"a message with extensions, but no extensions field in \" + t.Name())\n\t\t}\n\t\tu.extensionRanges = fn.Call(nil)[0].Interface().([]ExtensionRange)\n\t}\n\n\t// Explicitly disallow tag 0. This will ensure we flag an error\n\t// when decoding a buffer of all zeros. Without this code, we\n\t// would decode and skip an all-zero buffer of even length.\n\t// [0 0] is [tag=0/wiretype=varint varint-encoded-0].\n\tu.setTag(0, zeroField, func(b []byte, f pointer, w int) ([]byte, error) {\n\t\treturn nil, fmt.Errorf(\"proto: %s: illegal tag 0 (wire type %d)\", t, w)\n\t}, 0)\n\n\t// Set mask for required field check.\n\tu.reqMask = uint64(1)<<uint(len(u.reqFields)) - 1\n\n\tatomic.StoreInt32(&u.initialized, 1)\n}\n\n// setTag stores the unmarshal information for the given tag.\n// tag = tag # for field\n// field/unmarshal = unmarshal info for that field.\n// reqMask = if required, bitmask for field position in required field list. 0 otherwise.\nfunc (u *unmarshalInfo) setTag(tag int, field field, unmarshal unmarshaler, reqMask uint64) {\n\ti := unmarshalFieldInfo{field: field, unmarshal: unmarshal, reqMask: reqMask}\n\tn := u.typ.NumField()\n\tif tag >= 0 && (tag < 16 || tag < 2*n) { // TODO: what are the right numbers here?\n\t\tfor len(u.dense) <= tag {\n\t\t\tu.dense = append(u.dense, unmarshalFieldInfo{})\n\t\t}\n\t\tu.dense[tag] = i\n\t\treturn\n\t}\n\tif u.sparse == nil {\n\t\tu.sparse = map[uint64]unmarshalFieldInfo{}\n\t}\n\tu.sparse[uint64(tag)] = i\n}\n\n// fieldUnmarshaler returns an unmarshaler for the given field.\nfunc fieldUnmarshaler(f *reflect.StructField) unmarshaler {\n\tif f.Type.Kind() == reflect.Map {\n\t\treturn makeUnmarshalMap(f)\n\t}\n\treturn typeUnmarshaler(f.Type, f.Tag.Get(\"protobuf\"))\n}\n\n// typeUnmarshaler returns an unmarshaler for the given field type / field tag pair.\nfunc typeUnmarshaler(t reflect.Type, tags string) unmarshaler {\n\ttagArray := strings.Split(tags, \",\")\n\tencoding := tagArray[0]\n\tname := \"unknown\"\n\tctype := false\n\tisTime := false\n\tisDuration := false\n\tfor _, tag := range tagArray[3:] {\n\t\tif strings.HasPrefix(tag, \"name=\") {\n\t\t\tname = tag[5:]\n\t\t}\n\t\tif strings.HasPrefix(tag, \"customtype=\") {\n\t\t\tctype = true\n\t\t}\n\t\tif tag == \"stdtime\" {\n\t\t\tisTime = true\n\t\t}\n\t\tif tag == \"stdduration\" {\n\t\t\tisDuration = true\n\t\t}\n\t}\n\n\t// Figure out packaging (pointer, slice, or both)\n\tslice := false\n\tpointer := false\n\tif t.Kind() == reflect.Slice && t.Elem().Kind() != reflect.Uint8 {\n\t\tslice = true\n\t\tt = t.Elem()\n\t}\n\tif t.Kind() == reflect.Ptr {\n\t\tpointer = true\n\t\tt = t.Elem()\n\t}\n\n\tif ctype {\n\t\tif reflect.PtrTo(t).Implements(customType) {\n\t\t\tif slice {\n\t\t\t\treturn makeUnmarshalCustomSlice(getUnmarshalInfo(t), name)\n\t\t\t}\n\t\t\tif pointer {\n\t\t\t\treturn makeUnmarshalCustomPtr(getUnmarshalInfo(t), name)\n\t\t\t}\n\t\t\treturn makeUnmarshalCustom(getUnmarshalInfo(t), name)\n\t\t} else {\n\t\t\tpanic(fmt.Sprintf(\"custom type: type: %v, does not implement the proto.custom interface\", t))\n\t\t}\n\t}\n\n\tif isTime {\n\t\tif pointer {\n\t\t\tif slice {\n\t\t\t\treturn makeUnmarshalTimePtrSlice(getUnmarshalInfo(t), name)\n\t\t\t}\n\t\t\treturn makeUnmarshalTimePtr(getUnmarshalInfo(t), name)\n\t\t}\n\t\tif slice {\n\t\t\treturn makeUnmarshalTimeSlice(getUnmarshalInfo(t), name)\n\t\t}\n\t\treturn makeUnmarshalTime(getUnmarshalInfo(t), name)\n\t}\n\n\tif isDuration {\n\t\tif pointer {\n\t\t\tif slice {\n\t\t\t\treturn makeUnmarshalDurationPtrSlice(getUnmarshalInfo(t), name)\n\t\t\t}\n\t\t\treturn makeUnmarshalDurationPtr(getUnmarshalInfo(t), name)\n\t\t}\n\t\tif slice {\n\t\t\treturn makeUnmarshalDurationSlice(getUnmarshalInfo(t), name)\n\t\t}\n\t\treturn makeUnmarshalDuration(getUnmarshalInfo(t), name)\n\t}\n\n\t// We'll never have both pointer and slice for basic types.\n\tif pointer && slice && t.Kind() != reflect.Struct {\n\t\tpanic(\"both pointer and slice for basic type in \" + t.Name())\n\t}\n\n\tswitch t.Kind() {\n\tcase reflect.Bool:\n\t\tif pointer {\n\t\t\treturn unmarshalBoolPtr\n\t\t}\n\t\tif slice {\n\t\t\treturn unmarshalBoolSlice\n\t\t}\n\t\treturn unmarshalBoolValue\n\tcase reflect.Int32:\n\t\tswitch encoding {\n\t\tcase \"fixed32\":\n\t\t\tif pointer {\n\t\t\t\treturn unmarshalFixedS32Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\treturn unmarshalFixedS32Slice\n\t\t\t}\n\t\t\treturn unmarshalFixedS32Value\n\t\tcase \"varint\":\n\t\t\t// this could be int32 or enum\n\t\t\tif pointer {\n\t\t\t\treturn unmarshalInt32Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\treturn unmarshalInt32Slice\n\t\t\t}\n\t\t\treturn unmarshalInt32Value\n\t\tcase \"zigzag32\":\n\t\t\tif pointer {\n\t\t\t\treturn unmarshalSint32Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\treturn unmarshalSint32Slice\n\t\t\t}\n\t\t\treturn unmarshalSint32Value\n\t\t}\n\tcase reflect.Int64:\n\t\tswitch encoding {\n\t\tcase \"fixed64\":\n\t\t\tif pointer {\n\t\t\t\treturn unmarshalFixedS64Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\treturn unmarshalFixedS64Slice\n\t\t\t}\n\t\t\treturn unmarshalFixedS64Value\n\t\tcase \"varint\":\n\t\t\tif pointer {\n\t\t\t\treturn unmarshalInt64Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\treturn unmarshalInt64Slice\n\t\t\t}\n\t\t\treturn unmarshalInt64Value\n\t\tcase \"zigzag64\":\n\t\t\tif pointer {\n\t\t\t\treturn unmarshalSint64Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\treturn unmarshalSint64Slice\n\t\t\t}\n\t\t\treturn unmarshalSint64Value\n\t\t}\n\tcase reflect.Uint32:\n\t\tswitch encoding {\n\t\tcase \"fixed32\":\n\t\t\tif pointer {\n\t\t\t\treturn unmarshalFixed32Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\treturn unmarshalFixed32Slice\n\t\t\t}\n\t\t\treturn unmarshalFixed32Value\n\t\tcase \"varint\":\n\t\t\tif pointer {\n\t\t\t\treturn unmarshalUint32Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\treturn unmarshalUint32Slice\n\t\t\t}\n\t\t\treturn unmarshalUint32Value\n\t\t}\n\tcase reflect.Uint64:\n\t\tswitch encoding {\n\t\tcase \"fixed64\":\n\t\t\tif pointer {\n\t\t\t\treturn unmarshalFixed64Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\treturn unmarshalFixed64Slice\n\t\t\t}\n\t\t\treturn unmarshalFixed64Value\n\t\tcase \"varint\":\n\t\t\tif pointer {\n\t\t\t\treturn unmarshalUint64Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\treturn unmarshalUint64Slice\n\t\t\t}\n\t\t\treturn unmarshalUint64Value\n\t\t}\n\tcase reflect.Float32:\n\t\tif pointer {\n\t\t\treturn unmarshalFloat32Ptr\n\t\t}\n\t\tif slice {\n\t\t\treturn unmarshalFloat32Slice\n\t\t}\n\t\treturn unmarshalFloat32Value\n\tcase reflect.Float64:\n\t\tif pointer {\n\t\t\treturn unmarshalFloat64Ptr\n\t\t}\n\t\tif slice {\n\t\t\treturn unmarshalFloat64Slice\n\t\t}\n\t\treturn unmarshalFloat64Value\n\tcase reflect.Map:\n\t\tpanic(\"map type in typeUnmarshaler in \" + t.Name())\n\tcase reflect.Slice:\n\t\tif pointer {\n\t\t\tpanic(\"bad pointer in slice case in \" + t.Name())\n\t\t}\n\t\tif slice {\n\t\t\treturn unmarshalBytesSlice\n\t\t}\n\t\treturn unmarshalBytesValue\n\tcase reflect.String:\n\t\tif pointer {\n\t\t\treturn unmarshalStringPtr\n\t\t}\n\t\tif slice {\n\t\t\treturn unmarshalStringSlice\n\t\t}\n\t\treturn unmarshalStringValue\n\tcase reflect.Struct:\n\t\t// message or group field\n\t\tif !pointer {\n\t\t\tswitch encoding {\n\t\t\tcase \"bytes\":\n\t\t\t\tif slice {\n\t\t\t\t\treturn makeUnmarshalMessageSlice(getUnmarshalInfo(t), name)\n\t\t\t\t}\n\t\t\t\treturn makeUnmarshalMessage(getUnmarshalInfo(t), name)\n\t\t\t}\n\t\t}\n\t\tswitch encoding {\n\t\tcase \"bytes\":\n\t\t\tif slice {\n\t\t\t\treturn makeUnmarshalMessageSlicePtr(getUnmarshalInfo(t), name)\n\t\t\t}\n\t\t\treturn makeUnmarshalMessagePtr(getUnmarshalInfo(t), name)\n\t\tcase \"group\":\n\t\t\tif slice {\n\t\t\t\treturn makeUnmarshalGroupSlicePtr(getUnmarshalInfo(t), name)\n\t\t\t}\n\t\t\treturn makeUnmarshalGroupPtr(getUnmarshalInfo(t), name)\n\t\t}\n\t}\n\tpanic(fmt.Sprintf(\"unmarshaler not found type:%s encoding:%s\", t, encoding))\n}\n\n// Below are all the unmarshalers for individual fields of various types.\n\nfunc unmarshalInt64Value(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := int64(x)\n\t*f.toInt64() = v\n\treturn b, nil\n}\n\nfunc unmarshalInt64Ptr(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := int64(x)\n\t*f.toInt64Ptr() = &v\n\treturn b, nil\n}\n\nfunc unmarshalInt64Slice(b []byte, f pointer, w int) ([]byte, error) {\n\tif w == WireBytes { // packed\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tres := b[x:]\n\t\tb = b[:x]\n\t\tfor len(b) > 0 {\n\t\t\tx, n = decodeVarint(b)\n\t\t\tif n == 0 {\n\t\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb = b[n:]\n\t\t\tv := int64(x)\n\t\t\ts := f.toInt64Slice()\n\t\t\t*s = append(*s, v)\n\t\t}\n\t\treturn res, nil\n\t}\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := int64(x)\n\ts := f.toInt64Slice()\n\t*s = append(*s, v)\n\treturn b, nil\n}\n\nfunc unmarshalSint64Value(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := int64(x>>1) ^ int64(x)<<63>>63\n\t*f.toInt64() = v\n\treturn b, nil\n}\n\nfunc unmarshalSint64Ptr(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := int64(x>>1) ^ int64(x)<<63>>63\n\t*f.toInt64Ptr() = &v\n\treturn b, nil\n}\n\nfunc unmarshalSint64Slice(b []byte, f pointer, w int) ([]byte, error) {\n\tif w == WireBytes { // packed\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tres := b[x:]\n\t\tb = b[:x]\n\t\tfor len(b) > 0 {\n\t\t\tx, n = decodeVarint(b)\n\t\t\tif n == 0 {\n\t\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb = b[n:]\n\t\t\tv := int64(x>>1) ^ int64(x)<<63>>63\n\t\t\ts := f.toInt64Slice()\n\t\t\t*s = append(*s, v)\n\t\t}\n\t\treturn res, nil\n\t}\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := int64(x>>1) ^ int64(x)<<63>>63\n\ts := f.toInt64Slice()\n\t*s = append(*s, v)\n\treturn b, nil\n}\n\nfunc unmarshalUint64Value(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := uint64(x)\n\t*f.toUint64() = v\n\treturn b, nil\n}\n\nfunc unmarshalUint64Ptr(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := uint64(x)\n\t*f.toUint64Ptr() = &v\n\treturn b, nil\n}\n\nfunc unmarshalUint64Slice(b []byte, f pointer, w int) ([]byte, error) {\n\tif w == WireBytes { // packed\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tres := b[x:]\n\t\tb = b[:x]\n\t\tfor len(b) > 0 {\n\t\t\tx, n = decodeVarint(b)\n\t\t\tif n == 0 {\n\t\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb = b[n:]\n\t\t\tv := uint64(x)\n\t\t\ts := f.toUint64Slice()\n\t\t\t*s = append(*s, v)\n\t\t}\n\t\treturn res, nil\n\t}\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := uint64(x)\n\ts := f.toUint64Slice()\n\t*s = append(*s, v)\n\treturn b, nil\n}\n\nfunc unmarshalInt32Value(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := int32(x)\n\t*f.toInt32() = v\n\treturn b, nil\n}\n\nfunc unmarshalInt32Ptr(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := int32(x)\n\tf.setInt32Ptr(v)\n\treturn b, nil\n}\n\nfunc unmarshalInt32Slice(b []byte, f pointer, w int) ([]byte, error) {\n\tif w == WireBytes { // packed\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tres := b[x:]\n\t\tb = b[:x]\n\t\tfor len(b) > 0 {\n\t\t\tx, n = decodeVarint(b)\n\t\t\tif n == 0 {\n\t\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb = b[n:]\n\t\t\tv := int32(x)\n\t\t\tf.appendInt32Slice(v)\n\t\t}\n\t\treturn res, nil\n\t}\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := int32(x)\n\tf.appendInt32Slice(v)\n\treturn b, nil\n}\n\nfunc unmarshalSint32Value(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := int32(x>>1) ^ int32(x)<<31>>31\n\t*f.toInt32() = v\n\treturn b, nil\n}\n\nfunc unmarshalSint32Ptr(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := int32(x>>1) ^ int32(x)<<31>>31\n\tf.setInt32Ptr(v)\n\treturn b, nil\n}\n\nfunc unmarshalSint32Slice(b []byte, f pointer, w int) ([]byte, error) {\n\tif w == WireBytes { // packed\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tres := b[x:]\n\t\tb = b[:x]\n\t\tfor len(b) > 0 {\n\t\t\tx, n = decodeVarint(b)\n\t\t\tif n == 0 {\n\t\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb = b[n:]\n\t\t\tv := int32(x>>1) ^ int32(x)<<31>>31\n\t\t\tf.appendInt32Slice(v)\n\t\t}\n\t\treturn res, nil\n\t}\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := int32(x>>1) ^ int32(x)<<31>>31\n\tf.appendInt32Slice(v)\n\treturn b, nil\n}\n\nfunc unmarshalUint32Value(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := uint32(x)\n\t*f.toUint32() = v\n\treturn b, nil\n}\n\nfunc unmarshalUint32Ptr(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := uint32(x)\n\t*f.toUint32Ptr() = &v\n\treturn b, nil\n}\n\nfunc unmarshalUint32Slice(b []byte, f pointer, w int) ([]byte, error) {\n\tif w == WireBytes { // packed\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tres := b[x:]\n\t\tb = b[:x]\n\t\tfor len(b) > 0 {\n\t\t\tx, n = decodeVarint(b)\n\t\t\tif n == 0 {\n\t\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb = b[n:]\n\t\t\tv := uint32(x)\n\t\t\ts := f.toUint32Slice()\n\t\t\t*s = append(*s, v)\n\t\t}\n\t\treturn res, nil\n\t}\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := uint32(x)\n\ts := f.toUint32Slice()\n\t*s = append(*s, v)\n\treturn b, nil\n}\n\nfunc unmarshalFixed64Value(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireFixed64 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 8 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56\n\t*f.toUint64() = v\n\treturn b[8:], nil\n}\n\nfunc unmarshalFixed64Ptr(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireFixed64 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 8 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56\n\t*f.toUint64Ptr() = &v\n\treturn b[8:], nil\n}\n\nfunc unmarshalFixed64Slice(b []byte, f pointer, w int) ([]byte, error) {\n\tif w == WireBytes { // packed\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tres := b[x:]\n\t\tb = b[:x]\n\t\tfor len(b) > 0 {\n\t\t\tif len(b) < 8 {\n\t\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tv := uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56\n\t\t\ts := f.toUint64Slice()\n\t\t\t*s = append(*s, v)\n\t\t\tb = b[8:]\n\t\t}\n\t\treturn res, nil\n\t}\n\tif w != WireFixed64 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 8 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56\n\ts := f.toUint64Slice()\n\t*s = append(*s, v)\n\treturn b[8:], nil\n}\n\nfunc unmarshalFixedS64Value(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireFixed64 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 8 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := int64(b[0]) | int64(b[1])<<8 | int64(b[2])<<16 | int64(b[3])<<24 | int64(b[4])<<32 | int64(b[5])<<40 | int64(b[6])<<48 | int64(b[7])<<56\n\t*f.toInt64() = v\n\treturn b[8:], nil\n}\n\nfunc unmarshalFixedS64Ptr(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireFixed64 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 8 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := int64(b[0]) | int64(b[1])<<8 | int64(b[2])<<16 | int64(b[3])<<24 | int64(b[4])<<32 | int64(b[5])<<40 | int64(b[6])<<48 | int64(b[7])<<56\n\t*f.toInt64Ptr() = &v\n\treturn b[8:], nil\n}\n\nfunc unmarshalFixedS64Slice(b []byte, f pointer, w int) ([]byte, error) {\n\tif w == WireBytes { // packed\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tres := b[x:]\n\t\tb = b[:x]\n\t\tfor len(b) > 0 {\n\t\t\tif len(b) < 8 {\n\t\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tv := int64(b[0]) | int64(b[1])<<8 | int64(b[2])<<16 | int64(b[3])<<24 | int64(b[4])<<32 | int64(b[5])<<40 | int64(b[6])<<48 | int64(b[7])<<56\n\t\t\ts := f.toInt64Slice()\n\t\t\t*s = append(*s, v)\n\t\t\tb = b[8:]\n\t\t}\n\t\treturn res, nil\n\t}\n\tif w != WireFixed64 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 8 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := int64(b[0]) | int64(b[1])<<8 | int64(b[2])<<16 | int64(b[3])<<24 | int64(b[4])<<32 | int64(b[5])<<40 | int64(b[6])<<48 | int64(b[7])<<56\n\ts := f.toInt64Slice()\n\t*s = append(*s, v)\n\treturn b[8:], nil\n}\n\nfunc unmarshalFixed32Value(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireFixed32 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 4 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24\n\t*f.toUint32() = v\n\treturn b[4:], nil\n}\n\nfunc unmarshalFixed32Ptr(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireFixed32 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 4 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24\n\t*f.toUint32Ptr() = &v\n\treturn b[4:], nil\n}\n\nfunc unmarshalFixed32Slice(b []byte, f pointer, w int) ([]byte, error) {\n\tif w == WireBytes { // packed\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tres := b[x:]\n\t\tb = b[:x]\n\t\tfor len(b) > 0 {\n\t\t\tif len(b) < 4 {\n\t\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tv := uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24\n\t\t\ts := f.toUint32Slice()\n\t\t\t*s = append(*s, v)\n\t\t\tb = b[4:]\n\t\t}\n\t\treturn res, nil\n\t}\n\tif w != WireFixed32 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 4 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24\n\ts := f.toUint32Slice()\n\t*s = append(*s, v)\n\treturn b[4:], nil\n}\n\nfunc unmarshalFixedS32Value(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireFixed32 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 4 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := int32(b[0]) | int32(b[1])<<8 | int32(b[2])<<16 | int32(b[3])<<24\n\t*f.toInt32() = v\n\treturn b[4:], nil\n}\n\nfunc unmarshalFixedS32Ptr(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireFixed32 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 4 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := int32(b[0]) | int32(b[1])<<8 | int32(b[2])<<16 | int32(b[3])<<24\n\tf.setInt32Ptr(v)\n\treturn b[4:], nil\n}\n\nfunc unmarshalFixedS32Slice(b []byte, f pointer, w int) ([]byte, error) {\n\tif w == WireBytes { // packed\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tres := b[x:]\n\t\tb = b[:x]\n\t\tfor len(b) > 0 {\n\t\t\tif len(b) < 4 {\n\t\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tv := int32(b[0]) | int32(b[1])<<8 | int32(b[2])<<16 | int32(b[3])<<24\n\t\t\tf.appendInt32Slice(v)\n\t\t\tb = b[4:]\n\t\t}\n\t\treturn res, nil\n\t}\n\tif w != WireFixed32 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 4 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := int32(b[0]) | int32(b[1])<<8 | int32(b[2])<<16 | int32(b[3])<<24\n\tf.appendInt32Slice(v)\n\treturn b[4:], nil\n}\n\nfunc unmarshalBoolValue(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\t// Note: any length varint is allowed, even though any sane\n\t// encoder will use one byte.\n\t// See https://github.com/golang/protobuf/issues/76\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\t// TODO: check if x>1? Tests seem to indicate no.\n\tv := x != 0\n\t*f.toBool() = v\n\treturn b[n:], nil\n}\n\nfunc unmarshalBoolPtr(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := x != 0\n\t*f.toBoolPtr() = &v\n\treturn b[n:], nil\n}\n\nfunc unmarshalBoolSlice(b []byte, f pointer, w int) ([]byte, error) {\n\tif w == WireBytes { // packed\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tres := b[x:]\n\t\tb = b[:x]\n\t\tfor len(b) > 0 {\n\t\t\tx, n = decodeVarint(b)\n\t\t\tif n == 0 {\n\t\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tv := x != 0\n\t\t\ts := f.toBoolSlice()\n\t\t\t*s = append(*s, v)\n\t\t\tb = b[n:]\n\t\t}\n\t\treturn res, nil\n\t}\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := x != 0\n\ts := f.toBoolSlice()\n\t*s = append(*s, v)\n\treturn b[n:], nil\n}\n\nfunc unmarshalFloat64Value(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireFixed64 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 8 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := math.Float64frombits(uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56)\n\t*f.toFloat64() = v\n\treturn b[8:], nil\n}\n\nfunc unmarshalFloat64Ptr(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireFixed64 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 8 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := math.Float64frombits(uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56)\n\t*f.toFloat64Ptr() = &v\n\treturn b[8:], nil\n}\n\nfunc unmarshalFloat64Slice(b []byte, f pointer, w int) ([]byte, error) {\n\tif w == WireBytes { // packed\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tres := b[x:]\n\t\tb = b[:x]\n\t\tfor len(b) > 0 {\n\t\t\tif len(b) < 8 {\n\t\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tv := math.Float64frombits(uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56)\n\t\t\ts := f.toFloat64Slice()\n\t\t\t*s = append(*s, v)\n\t\t\tb = b[8:]\n\t\t}\n\t\treturn res, nil\n\t}\n\tif w != WireFixed64 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 8 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := math.Float64frombits(uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56)\n\ts := f.toFloat64Slice()\n\t*s = append(*s, v)\n\treturn b[8:], nil\n}\n\nfunc unmarshalFloat32Value(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireFixed32 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 4 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := math.Float32frombits(uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24)\n\t*f.toFloat32() = v\n\treturn b[4:], nil\n}\n\nfunc unmarshalFloat32Ptr(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireFixed32 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 4 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := math.Float32frombits(uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24)\n\t*f.toFloat32Ptr() = &v\n\treturn b[4:], nil\n}\n\nfunc unmarshalFloat32Slice(b []byte, f pointer, w int) ([]byte, error) {\n\tif w == WireBytes { // packed\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tres := b[x:]\n\t\tb = b[:x]\n\t\tfor len(b) > 0 {\n\t\t\tif len(b) < 4 {\n\t\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tv := math.Float32frombits(uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24)\n\t\t\ts := f.toFloat32Slice()\n\t\t\t*s = append(*s, v)\n\t\t\tb = b[4:]\n\t\t}\n\t\treturn res, nil\n\t}\n\tif w != WireFixed32 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 4 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := math.Float32frombits(uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24)\n\ts := f.toFloat32Slice()\n\t*s = append(*s, v)\n\treturn b[4:], nil\n}\n\nfunc unmarshalStringValue(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireBytes {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tif x > uint64(len(b)) {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := string(b[:x])\n\tif !utf8.ValidString(v) {\n\t\treturn nil, errInvalidUTF8\n\t}\n\t*f.toString() = v\n\treturn b[x:], nil\n}\n\nfunc unmarshalStringPtr(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireBytes {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tif x > uint64(len(b)) {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := string(b[:x])\n\tif !utf8.ValidString(v) {\n\t\treturn nil, errInvalidUTF8\n\t}\n\t*f.toStringPtr() = &v\n\treturn b[x:], nil\n}\n\nfunc unmarshalStringSlice(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireBytes {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tif x > uint64(len(b)) {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := string(b[:x])\n\tif !utf8.ValidString(v) {\n\t\treturn nil, errInvalidUTF8\n\t}\n\ts := f.toStringSlice()\n\t*s = append(*s, v)\n\treturn b[x:], nil\n}\n\nvar emptyBuf [0]byte\n\nfunc unmarshalBytesValue(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireBytes {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tif x > uint64(len(b)) {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\t// The use of append here is a trick which avoids the zeroing\n\t// that would be required if we used a make/copy pair.\n\t// We append to emptyBuf instead of nil because we want\n\t// a non-nil result even when the length is 0.\n\tv := append(emptyBuf[:], b[:x]...)\n\t*f.toBytes() = v\n\treturn b[x:], nil\n}\n\nfunc unmarshalBytesSlice(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireBytes {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tif x > uint64(len(b)) {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := append(emptyBuf[:], b[:x]...)\n\ts := f.toBytesSlice()\n\t*s = append(*s, v)\n\treturn b[x:], nil\n}\n\nfunc makeUnmarshalMessagePtr(sub *unmarshalInfo, name string) unmarshaler {\n\treturn func(b []byte, f pointer, w int) ([]byte, error) {\n\t\tif w != WireBytes {\n\t\t\treturn b, errInternalBadWireType\n\t\t}\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\t// First read the message field to see if something is there.\n\t\t// The semantics of multiple submessages are weird.  Instead of\n\t\t// the last one winning (as it is for all other fields), multiple\n\t\t// submessages are merged.\n\t\tv := f.getPointer()\n\t\tif v.isNil() {\n\t\t\tv = valToPointer(reflect.New(sub.typ))\n\t\t\tf.setPointer(v)\n\t\t}\n\t\terr := sub.unmarshal(v, b[:x])\n\t\tif err != nil {\n\t\t\tif r, ok := err.(*RequiredNotSetError); ok {\n\t\t\t\tr.field = name + \".\" + r.field\n\t\t\t} else {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t}\n\t\treturn b[x:], err\n\t}\n}\n\nfunc makeUnmarshalMessageSlicePtr(sub *unmarshalInfo, name string) unmarshaler {\n\treturn func(b []byte, f pointer, w int) ([]byte, error) {\n\t\tif w != WireBytes {\n\t\t\treturn b, errInternalBadWireType\n\t\t}\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tv := valToPointer(reflect.New(sub.typ))\n\t\terr := sub.unmarshal(v, b[:x])\n\t\tif err != nil {\n\t\t\tif r, ok := err.(*RequiredNotSetError); ok {\n\t\t\t\tr.field = name + \".\" + r.field\n\t\t\t} else {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t}\n\t\tf.appendPointer(v)\n\t\treturn b[x:], err\n\t}\n}\n\nfunc makeUnmarshalGroupPtr(sub *unmarshalInfo, name string) unmarshaler {\n\treturn func(b []byte, f pointer, w int) ([]byte, error) {\n\t\tif w != WireStartGroup {\n\t\t\treturn b, errInternalBadWireType\n\t\t}\n\t\tx, y := findEndGroup(b)\n\t\tif x < 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tv := f.getPointer()\n\t\tif v.isNil() {\n\t\t\tv = valToPointer(reflect.New(sub.typ))\n\t\t\tf.setPointer(v)\n\t\t}\n\t\terr := sub.unmarshal(v, b[:x])\n\t\tif err != nil {\n\t\t\tif r, ok := err.(*RequiredNotSetError); ok {\n\t\t\t\tr.field = name + \".\" + r.field\n\t\t\t} else {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t}\n\t\treturn b[y:], err\n\t}\n}\n\nfunc makeUnmarshalGroupSlicePtr(sub *unmarshalInfo, name string) unmarshaler {\n\treturn func(b []byte, f pointer, w int) ([]byte, error) {\n\t\tif w != WireStartGroup {\n\t\t\treturn b, errInternalBadWireType\n\t\t}\n\t\tx, y := findEndGroup(b)\n\t\tif x < 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tv := valToPointer(reflect.New(sub.typ))\n\t\terr := sub.unmarshal(v, b[:x])\n\t\tif err != nil {\n\t\t\tif r, ok := err.(*RequiredNotSetError); ok {\n\t\t\t\tr.field = name + \".\" + r.field\n\t\t\t} else {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t}\n\t\tf.appendPointer(v)\n\t\treturn b[y:], err\n\t}\n}\n\nfunc makeUnmarshalMap(f *reflect.StructField) unmarshaler {\n\tt := f.Type\n\tkt := t.Key()\n\tvt := t.Elem()\n\ttagArray := strings.Split(f.Tag.Get(\"protobuf\"), \",\")\n\tvalTags := strings.Split(f.Tag.Get(\"protobuf_val\"), \",\")\n\tfor _, t := range tagArray {\n\t\tif strings.HasPrefix(t, \"customtype=\") {\n\t\t\tvalTags = append(valTags, t)\n\t\t}\n\t\tif t == \"stdtime\" {\n\t\t\tvalTags = append(valTags, t)\n\t\t}\n\t\tif t == \"stdduration\" {\n\t\t\tvalTags = append(valTags, t)\n\t\t}\n\t}\n\tunmarshalKey := typeUnmarshaler(kt, f.Tag.Get(\"protobuf_key\"))\n\tunmarshalVal := typeUnmarshaler(vt, strings.Join(valTags, \",\"))\n\treturn func(b []byte, f pointer, w int) ([]byte, error) {\n\t\t// The map entry is a submessage. Figure out how big it is.\n\t\tif w != WireBytes {\n\t\t\treturn nil, fmt.Errorf(\"proto: bad wiretype for map field: got %d want %d\", w, WireBytes)\n\t\t}\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tr := b[x:] // unused data to return\n\t\tb = b[:x]  // data for map entry\n\n\t\t// Note: we could use #keys * #values ~= 200 functions\n\t\t// to do map decoding without reflection. Probably not worth it.\n\t\t// Maps will be somewhat slow. Oh well.\n\n\t\t// Read key and value from data.\n\t\tk := reflect.New(kt)\n\t\tv := reflect.New(vt)\n\t\tfor len(b) > 0 {\n\t\t\tx, n := decodeVarint(b)\n\t\t\tif n == 0 {\n\t\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\twire := int(x) & 7\n\t\t\tb = b[n:]\n\n\t\t\tvar err error\n\t\t\tswitch x >> 3 {\n\t\t\tcase 1:\n\t\t\t\tb, err = unmarshalKey(b, valToPointer(k), wire)\n\t\t\tcase 2:\n\t\t\t\tb, err = unmarshalVal(b, valToPointer(v), wire)\n\t\t\tdefault:\n\t\t\t\terr = errInternalBadWireType // skip unknown tag\n\t\t\t}\n\n\t\t\tif err == nil {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif err != errInternalBadWireType {\n\t\t\t\treturn nil, err\n\t\t\t}\n\n\t\t\t// Skip past unknown fields.\n\t\t\tb, err = skipField(b, wire)\n\t\t\tif err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t}\n\n\t\t// Get map, allocate if needed.\n\t\tm := f.asPointerTo(t).Elem() // an addressable map[K]T\n\t\tif m.IsNil() {\n\t\t\tm.Set(reflect.MakeMap(t))\n\t\t}\n\n\t\t// Insert into map.\n\t\tm.SetMapIndex(k.Elem(), v.Elem())\n\n\t\treturn r, nil\n\t}\n}\n\n// makeUnmarshalOneof makes an unmarshaler for oneof fields.\n// for:\n// message Msg {\n//   oneof F {\n//     int64 X = 1;\n//     float64 Y = 2;\n//   }\n// }\n// typ is the type of the concrete entry for a oneof case (e.g. Msg_X).\n// ityp is the interface type of the oneof field (e.g. isMsg_F).\n// unmarshal is the unmarshaler for the base type of the oneof case (e.g. int64).\n// Note that this function will be called once for each case in the oneof.\nfunc makeUnmarshalOneof(typ, ityp reflect.Type, unmarshal unmarshaler) unmarshaler {\n\tsf := typ.Field(0)\n\tfield0 := toField(&sf)\n\treturn func(b []byte, f pointer, w int) ([]byte, error) {\n\t\t// Allocate holder for value.\n\t\tv := reflect.New(typ)\n\n\t\t// Unmarshal data into holder.\n\t\t// We unmarshal into the first field of the holder object.\n\t\tvar err error\n\t\tb, err = unmarshal(b, valToPointer(v).offset(field0), w)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\n\t\t// Write pointer to holder into target field.\n\t\tf.asPointerTo(ityp).Elem().Set(v)\n\n\t\treturn b, nil\n\t}\n}\n\n// Error used by decode internally.\nvar errInternalBadWireType = errors.New(\"proto: internal error: bad wiretype\")\n\n// skipField skips past a field of type wire and returns the remaining bytes.\nfunc skipField(b []byte, wire int) ([]byte, error) {\n\tswitch wire {\n\tcase WireVarint:\n\t\t_, k := decodeVarint(b)\n\t\tif k == 0 {\n\t\t\treturn b, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[k:]\n\tcase WireFixed32:\n\t\tif len(b) < 4 {\n\t\t\treturn b, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[4:]\n\tcase WireFixed64:\n\t\tif len(b) < 8 {\n\t\t\treturn b, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[8:]\n\tcase WireBytes:\n\t\tm, k := decodeVarint(b)\n\t\tif k == 0 || uint64(len(b)-k) < m {\n\t\t\treturn b, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[uint64(k)+m:]\n\tcase WireStartGroup:\n\t\t_, i := findEndGroup(b)\n\t\tif i == -1 {\n\t\t\treturn b, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[i:]\n\tdefault:\n\t\treturn b, fmt.Errorf(\"proto: can't skip unknown wire type %d\", wire)\n\t}\n\treturn b, nil\n}\n\n// findEndGroup finds the index of the next EndGroup tag.\n// Groups may be nested, so the \"next\" EndGroup tag is the first\n// unpaired EndGroup.\n// findEndGroup returns the indexes of the start and end of the EndGroup tag.\n// Returns (-1,-1) if it can't find one.\nfunc findEndGroup(b []byte) (int, int) {\n\tdepth := 1\n\ti := 0\n\tfor {\n\t\tx, n := decodeVarint(b[i:])\n\t\tif n == 0 {\n\t\t\treturn -1, -1\n\t\t}\n\t\tj := i\n\t\ti += n\n\t\tswitch x & 7 {\n\t\tcase WireVarint:\n\t\t\t_, k := decodeVarint(b[i:])\n\t\t\tif k == 0 {\n\t\t\t\treturn -1, -1\n\t\t\t}\n\t\t\ti += k\n\t\tcase WireFixed32:\n\t\t\tif len(b)-4 < i {\n\t\t\t\treturn -1, -1\n\t\t\t}\n\t\t\ti += 4\n\t\tcase WireFixed64:\n\t\t\tif len(b)-8 < i {\n\t\t\t\treturn -1, -1\n\t\t\t}\n\t\t\ti += 8\n\t\tcase WireBytes:\n\t\t\tm, k := decodeVarint(b[i:])\n\t\t\tif k == 0 {\n\t\t\t\treturn -1, -1\n\t\t\t}\n\t\t\ti += k\n\t\t\tif uint64(len(b)-i) < m {\n\t\t\t\treturn -1, -1\n\t\t\t}\n\t\t\ti += int(m)\n\t\tcase WireStartGroup:\n\t\t\tdepth++\n\t\tcase WireEndGroup:\n\t\t\tdepth--\n\t\t\tif depth == 0 {\n\t\t\t\treturn j, i\n\t\t\t}\n\t\tdefault:\n\t\t\treturn -1, -1\n\t\t}\n\t}\n}\n\n// encodeVarint appends a varint-encoded integer to b and returns the result.\nfunc encodeVarint(b []byte, x uint64) []byte {\n\tfor x >= 1<<7 {\n\t\tb = append(b, byte(x&0x7f|0x80))\n\t\tx >>= 7\n\t}\n\treturn append(b, byte(x))\n}\n\n// decodeVarint reads a varint-encoded integer from b.\n// Returns the decoded integer and the number of bytes read.\n// If there is an error, it returns 0,0.\nfunc decodeVarint(b []byte) (uint64, int) {\n\tvar x, y uint64\n\tif len(b) <= 0 {\n\t\tgoto bad\n\t}\n\tx = uint64(b[0])\n\tif x < 0x80 {\n\t\treturn x, 1\n\t}\n\tx -= 0x80\n\n\tif len(b) <= 1 {\n\t\tgoto bad\n\t}\n\ty = uint64(b[1])\n\tx += y << 7\n\tif y < 0x80 {\n\t\treturn x, 2\n\t}\n\tx -= 0x80 << 7\n\n\tif len(b) <= 2 {\n\t\tgoto bad\n\t}\n\ty = uint64(b[2])\n\tx += y << 14\n\tif y < 0x80 {\n\t\treturn x, 3\n\t}\n\tx -= 0x80 << 14\n\n\tif len(b) <= 3 {\n\t\tgoto bad\n\t}\n\ty = uint64(b[3])\n\tx += y << 21\n\tif y < 0x80 {\n\t\treturn x, 4\n\t}\n\tx -= 0x80 << 21\n\n\tif len(b) <= 4 {\n\t\tgoto bad\n\t}\n\ty = uint64(b[4])\n\tx += y << 28\n\tif y < 0x80 {\n\t\treturn x, 5\n\t}\n\tx -= 0x80 << 28\n\n\tif len(b) <= 5 {\n\t\tgoto bad\n\t}\n\ty = uint64(b[5])\n\tx += y << 35\n\tif y < 0x80 {\n\t\treturn x, 6\n\t}\n\tx -= 0x80 << 35\n\n\tif len(b) <= 6 {\n\t\tgoto bad\n\t}\n\ty = uint64(b[6])\n\tx += y << 42\n\tif y < 0x80 {\n\t\treturn x, 7\n\t}\n\tx -= 0x80 << 42\n\n\tif len(b) <= 7 {\n\t\tgoto bad\n\t}\n\ty = uint64(b[7])\n\tx += y << 49\n\tif y < 0x80 {\n\t\treturn x, 8\n\t}\n\tx -= 0x80 << 49\n\n\tif len(b) <= 8 {\n\t\tgoto bad\n\t}\n\ty = uint64(b[8])\n\tx += y << 56\n\tif y < 0x80 {\n\t\treturn x, 9\n\t}\n\tx -= 0x80 << 56\n\n\tif len(b) <= 9 {\n\t\tgoto bad\n\t}\n\ty = uint64(b[9])\n\tx += y << 63\n\tif y < 2 {\n\t\treturn x, 10\n\t}\n\nbad:\n\treturn 0, 0\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/table_unmarshal_gogo.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2018, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\nimport (\n\t\"io\"\n\t\"reflect\"\n)\n\nfunc makeUnmarshalMessage(sub *unmarshalInfo, name string) unmarshaler {\n\treturn func(b []byte, f pointer, w int) ([]byte, error) {\n\t\tif w != WireBytes {\n\t\t\treturn nil, errInternalBadWireType\n\t\t}\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\t// First read the message field to see if something is there.\n\t\t// The semantics of multiple submessages are weird.  Instead of\n\t\t// the last one winning (as it is for all other fields), multiple\n\t\t// submessages are merged.\n\t\tv := f // gogo: changed from v := f.getPointer()\n\t\tif v.isNil() {\n\t\t\tv = valToPointer(reflect.New(sub.typ))\n\t\t\tf.setPointer(v)\n\t\t}\n\t\terr := sub.unmarshal(v, b[:x])\n\t\tif err != nil {\n\t\t\tif r, ok := err.(*RequiredNotSetError); ok {\n\t\t\t\tr.field = name + \".\" + r.field\n\t\t\t} else {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t}\n\t\treturn b[x:], err\n\t}\n}\n\nfunc makeUnmarshalMessageSlice(sub *unmarshalInfo, name string) unmarshaler {\n\treturn func(b []byte, f pointer, w int) ([]byte, error) {\n\t\tif w != WireBytes {\n\t\t\treturn nil, errInternalBadWireType\n\t\t}\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tv := valToPointer(reflect.New(sub.typ))\n\t\terr := sub.unmarshal(v, b[:x])\n\t\tif err != nil {\n\t\t\tif r, ok := err.(*RequiredNotSetError); ok {\n\t\t\t\tr.field = name + \".\" + r.field\n\t\t\t} else {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t}\n\t\tf.appendRef(v, sub.typ) // gogo: changed from f.appendPointer(v)\n\t\treturn b[x:], err\n\t}\n}\n\nfunc makeUnmarshalCustomPtr(sub *unmarshalInfo, name string) unmarshaler {\n\treturn func(b []byte, f pointer, w int) ([]byte, error) {\n\t\tif w != WireBytes {\n\t\t\treturn nil, errInternalBadWireType\n\t\t}\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\n\t\ts := f.asPointerTo(reflect.PtrTo(sub.typ)).Elem()\n\t\ts.Set(reflect.New(sub.typ))\n\t\tm := s.Interface().(custom)\n\t\tif err := m.Unmarshal(b[:x]); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\treturn b[x:], nil\n\t}\n}\n\nfunc makeUnmarshalCustomSlice(sub *unmarshalInfo, name string) unmarshaler {\n\treturn func(b []byte, f pointer, w int) ([]byte, error) {\n\t\tif w != WireBytes {\n\t\t\treturn nil, errInternalBadWireType\n\t\t}\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tm := reflect.New(sub.typ)\n\t\tc := m.Interface().(custom)\n\t\tif err := c.Unmarshal(b[:x]); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tv := valToPointer(m)\n\t\tf.appendRef(v, sub.typ)\n\t\treturn b[x:], nil\n\t}\n}\n\nfunc makeUnmarshalCustom(sub *unmarshalInfo, name string) unmarshaler {\n\treturn func(b []byte, f pointer, w int) ([]byte, error) {\n\t\tif w != WireBytes {\n\t\t\treturn nil, errInternalBadWireType\n\t\t}\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\n\t\tm := f.asPointerTo(sub.typ).Interface().(custom)\n\t\tif err := m.Unmarshal(b[:x]); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\treturn b[x:], nil\n\t}\n}\n\nfunc makeUnmarshalTime(sub *unmarshalInfo, name string) unmarshaler {\n\treturn func(b []byte, f pointer, w int) ([]byte, error) {\n\t\tif w != WireBytes {\n\t\t\treturn nil, errInternalBadWireType\n\t\t}\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tm := &timestamp{}\n\t\tif err := Unmarshal(b[:x], m); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tt, err := timestampFromProto(m)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\ts := f.asPointerTo(sub.typ).Elem()\n\t\ts.Set(reflect.ValueOf(t))\n\t\treturn b[x:], nil\n\t}\n}\n\nfunc makeUnmarshalTimePtr(sub *unmarshalInfo, name string) unmarshaler {\n\treturn func(b []byte, f pointer, w int) ([]byte, error) {\n\t\tif w != WireBytes {\n\t\t\treturn nil, errInternalBadWireType\n\t\t}\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tm := &timestamp{}\n\t\tif err := Unmarshal(b[:x], m); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tt, err := timestampFromProto(m)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\ts := f.asPointerTo(reflect.PtrTo(sub.typ)).Elem()\n\t\ts.Set(reflect.ValueOf(&t))\n\t\treturn b[x:], nil\n\t}\n}\n\nfunc makeUnmarshalTimePtrSlice(sub *unmarshalInfo, name string) unmarshaler {\n\treturn func(b []byte, f pointer, w int) ([]byte, error) {\n\t\tif w != WireBytes {\n\t\t\treturn nil, errInternalBadWireType\n\t\t}\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tm := &timestamp{}\n\t\tif err := Unmarshal(b[:x], m); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tt, err := timestampFromProto(m)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tslice := f.getSlice(reflect.PtrTo(sub.typ))\n\t\tnewSlice := reflect.Append(slice, reflect.ValueOf(&t))\n\t\tslice.Set(newSlice)\n\t\treturn b[x:], nil\n\t}\n}\n\nfunc makeUnmarshalTimeSlice(sub *unmarshalInfo, name string) unmarshaler {\n\treturn func(b []byte, f pointer, w int) ([]byte, error) {\n\t\tif w != WireBytes {\n\t\t\treturn nil, errInternalBadWireType\n\t\t}\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tm := &timestamp{}\n\t\tif err := Unmarshal(b[:x], m); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tt, err := timestampFromProto(m)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tslice := f.getSlice(sub.typ)\n\t\tnewSlice := reflect.Append(slice, reflect.ValueOf(t))\n\t\tslice.Set(newSlice)\n\t\treturn b[x:], nil\n\t}\n}\n\nfunc makeUnmarshalDurationPtr(sub *unmarshalInfo, name string) unmarshaler {\n\treturn func(b []byte, f pointer, w int) ([]byte, error) {\n\t\tif w != WireBytes {\n\t\t\treturn nil, errInternalBadWireType\n\t\t}\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tm := &duration{}\n\t\tif err := Unmarshal(b[:x], m); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\td, err := durationFromProto(m)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\ts := f.asPointerTo(reflect.PtrTo(sub.typ)).Elem()\n\t\ts.Set(reflect.ValueOf(&d))\n\t\treturn b[x:], nil\n\t}\n}\n\nfunc makeUnmarshalDuration(sub *unmarshalInfo, name string) unmarshaler {\n\treturn func(b []byte, f pointer, w int) ([]byte, error) {\n\t\tif w != WireBytes {\n\t\t\treturn nil, errInternalBadWireType\n\t\t}\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tm := &duration{}\n\t\tif err := Unmarshal(b[:x], m); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\td, err := durationFromProto(m)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\ts := f.asPointerTo(sub.typ).Elem()\n\t\ts.Set(reflect.ValueOf(d))\n\t\treturn b[x:], nil\n\t}\n}\n\nfunc makeUnmarshalDurationPtrSlice(sub *unmarshalInfo, name string) unmarshaler {\n\treturn func(b []byte, f pointer, w int) ([]byte, error) {\n\t\tif w != WireBytes {\n\t\t\treturn nil, errInternalBadWireType\n\t\t}\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tm := &duration{}\n\t\tif err := Unmarshal(b[:x], m); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\td, err := durationFromProto(m)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tslice := f.getSlice(reflect.PtrTo(sub.typ))\n\t\tnewSlice := reflect.Append(slice, reflect.ValueOf(&d))\n\t\tslice.Set(newSlice)\n\t\treturn b[x:], nil\n\t}\n}\n\nfunc makeUnmarshalDurationSlice(sub *unmarshalInfo, name string) unmarshaler {\n\treturn func(b []byte, f pointer, w int) ([]byte, error) {\n\t\tif w != WireBytes {\n\t\t\treturn nil, errInternalBadWireType\n\t\t}\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tm := &duration{}\n\t\tif err := Unmarshal(b[:x], m); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\td, err := durationFromProto(m)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tslice := f.getSlice(sub.typ)\n\t\tnewSlice := reflect.Append(slice, reflect.ValueOf(d))\n\t\tslice.Set(newSlice)\n\t\treturn b[x:], nil\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/text.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2013, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\n// Functions for writing the text protocol buffer format.\n\nimport (\n\t\"bufio\"\n\t\"bytes\"\n\t\"encoding\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"log\"\n\t\"math\"\n\t\"reflect\"\n\t\"sort\"\n\t\"strings\"\n\t\"sync\"\n\t\"time\"\n)\n\nvar (\n\tnewline         = []byte(\"\\n\")\n\tspaces          = []byte(\"                                        \")\n\tendBraceNewline = []byte(\"}\\n\")\n\tbackslashN      = []byte{'\\\\', 'n'}\n\tbackslashR      = []byte{'\\\\', 'r'}\n\tbackslashT      = []byte{'\\\\', 't'}\n\tbackslashDQ     = []byte{'\\\\', '\"'}\n\tbackslashBS     = []byte{'\\\\', '\\\\'}\n\tposInf          = []byte(\"inf\")\n\tnegInf          = []byte(\"-inf\")\n\tnan             = []byte(\"nan\")\n)\n\ntype writer interface {\n\tio.Writer\n\tWriteByte(byte) error\n}\n\n// textWriter is an io.Writer that tracks its indentation level.\ntype textWriter struct {\n\tind      int\n\tcomplete bool // if the current position is a complete line\n\tcompact  bool // whether to write out as a one-liner\n\tw        writer\n}\n\nfunc (w *textWriter) WriteString(s string) (n int, err error) {\n\tif !strings.Contains(s, \"\\n\") {\n\t\tif !w.compact && w.complete {\n\t\t\tw.writeIndent()\n\t\t}\n\t\tw.complete = false\n\t\treturn io.WriteString(w.w, s)\n\t}\n\t// WriteString is typically called without newlines, so this\n\t// codepath and its copy are rare.  We copy to avoid\n\t// duplicating all of Write's logic here.\n\treturn w.Write([]byte(s))\n}\n\nfunc (w *textWriter) Write(p []byte) (n int, err error) {\n\tnewlines := bytes.Count(p, newline)\n\tif newlines == 0 {\n\t\tif !w.compact && w.complete {\n\t\t\tw.writeIndent()\n\t\t}\n\t\tn, err = w.w.Write(p)\n\t\tw.complete = false\n\t\treturn n, err\n\t}\n\n\tfrags := bytes.SplitN(p, newline, newlines+1)\n\tif w.compact {\n\t\tfor i, frag := range frags {\n\t\t\tif i > 0 {\n\t\t\t\tif err := w.w.WriteByte(' '); err != nil {\n\t\t\t\t\treturn n, err\n\t\t\t\t}\n\t\t\t\tn++\n\t\t\t}\n\t\t\tnn, err := w.w.Write(frag)\n\t\t\tn += nn\n\t\t\tif err != nil {\n\t\t\t\treturn n, err\n\t\t\t}\n\t\t}\n\t\treturn n, nil\n\t}\n\n\tfor i, frag := range frags {\n\t\tif w.complete {\n\t\t\tw.writeIndent()\n\t\t}\n\t\tnn, err := w.w.Write(frag)\n\t\tn += nn\n\t\tif err != nil {\n\t\t\treturn n, err\n\t\t}\n\t\tif i+1 < len(frags) {\n\t\t\tif err := w.w.WriteByte('\\n'); err != nil {\n\t\t\t\treturn n, err\n\t\t\t}\n\t\t\tn++\n\t\t}\n\t}\n\tw.complete = len(frags[len(frags)-1]) == 0\n\treturn n, nil\n}\n\nfunc (w *textWriter) WriteByte(c byte) error {\n\tif w.compact && c == '\\n' {\n\t\tc = ' '\n\t}\n\tif !w.compact && w.complete {\n\t\tw.writeIndent()\n\t}\n\terr := w.w.WriteByte(c)\n\tw.complete = c == '\\n'\n\treturn err\n}\n\nfunc (w *textWriter) indent() { w.ind++ }\n\nfunc (w *textWriter) unindent() {\n\tif w.ind == 0 {\n\t\tlog.Print(\"proto: textWriter unindented too far\")\n\t\treturn\n\t}\n\tw.ind--\n}\n\nfunc writeName(w *textWriter, props *Properties) error {\n\tif _, err := w.WriteString(props.OrigName); err != nil {\n\t\treturn err\n\t}\n\tif props.Wire != \"group\" {\n\t\treturn w.WriteByte(':')\n\t}\n\treturn nil\n}\n\nfunc requiresQuotes(u string) bool {\n\t// When type URL contains any characters except [0-9A-Za-z./\\-]*, it must be quoted.\n\tfor _, ch := range u {\n\t\tswitch {\n\t\tcase ch == '.' || ch == '/' || ch == '_':\n\t\t\tcontinue\n\t\tcase '0' <= ch && ch <= '9':\n\t\t\tcontinue\n\t\tcase 'A' <= ch && ch <= 'Z':\n\t\t\tcontinue\n\t\tcase 'a' <= ch && ch <= 'z':\n\t\t\tcontinue\n\t\tdefault:\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\n// isAny reports whether sv is a google.protobuf.Any message\nfunc isAny(sv reflect.Value) bool {\n\ttype wkt interface {\n\t\tXXX_WellKnownType() string\n\t}\n\tt, ok := sv.Addr().Interface().(wkt)\n\treturn ok && t.XXX_WellKnownType() == \"Any\"\n}\n\n// writeProto3Any writes an expanded google.protobuf.Any message.\n//\n// It returns (false, nil) if sv value can't be unmarshaled (e.g. because\n// required messages are not linked in).\n//\n// It returns (true, error) when sv was written in expanded format or an error\n// was encountered.\nfunc (tm *TextMarshaler) writeProto3Any(w *textWriter, sv reflect.Value) (bool, error) {\n\tturl := sv.FieldByName(\"TypeUrl\")\n\tval := sv.FieldByName(\"Value\")\n\tif !turl.IsValid() || !val.IsValid() {\n\t\treturn true, errors.New(\"proto: invalid google.protobuf.Any message\")\n\t}\n\n\tb, ok := val.Interface().([]byte)\n\tif !ok {\n\t\treturn true, errors.New(\"proto: invalid google.protobuf.Any message\")\n\t}\n\n\tparts := strings.Split(turl.String(), \"/\")\n\tmt := MessageType(parts[len(parts)-1])\n\tif mt == nil {\n\t\treturn false, nil\n\t}\n\tm := reflect.New(mt.Elem())\n\tif err := Unmarshal(b, m.Interface().(Message)); err != nil {\n\t\treturn false, nil\n\t}\n\tw.Write([]byte(\"[\"))\n\tu := turl.String()\n\tif requiresQuotes(u) {\n\t\twriteString(w, u)\n\t} else {\n\t\tw.Write([]byte(u))\n\t}\n\tif w.compact {\n\t\tw.Write([]byte(\"]:<\"))\n\t} else {\n\t\tw.Write([]byte(\"]: <\\n\"))\n\t\tw.ind++\n\t}\n\tif err := tm.writeStruct(w, m.Elem()); err != nil {\n\t\treturn true, err\n\t}\n\tif w.compact {\n\t\tw.Write([]byte(\"> \"))\n\t} else {\n\t\tw.ind--\n\t\tw.Write([]byte(\">\\n\"))\n\t}\n\treturn true, nil\n}\n\nfunc (tm *TextMarshaler) writeStruct(w *textWriter, sv reflect.Value) error {\n\tif tm.ExpandAny && isAny(sv) {\n\t\tif canExpand, err := tm.writeProto3Any(w, sv); canExpand {\n\t\t\treturn err\n\t\t}\n\t}\n\tst := sv.Type()\n\tsprops := GetProperties(st)\n\tfor i := 0; i < sv.NumField(); i++ {\n\t\tfv := sv.Field(i)\n\t\tprops := sprops.Prop[i]\n\t\tname := st.Field(i).Name\n\n\t\tif name == \"XXX_NoUnkeyedLiteral\" {\n\t\t\tcontinue\n\t\t}\n\n\t\tif strings.HasPrefix(name, \"XXX_\") {\n\t\t\t// There are two XXX_ fields:\n\t\t\t//   XXX_unrecognized []byte\n\t\t\t//   XXX_extensions   map[int32]proto.Extension\n\t\t\t// The first is handled here;\n\t\t\t// the second is handled at the bottom of this function.\n\t\t\tif name == \"XXX_unrecognized\" && !fv.IsNil() {\n\t\t\t\tif err := writeUnknownStruct(w, fv.Interface().([]byte)); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\tif fv.Kind() == reflect.Ptr && fv.IsNil() {\n\t\t\t// Field not filled in. This could be an optional field or\n\t\t\t// a required field that wasn't filled in. Either way, there\n\t\t\t// isn't anything we can show for it.\n\t\t\tcontinue\n\t\t}\n\t\tif fv.Kind() == reflect.Slice && fv.IsNil() {\n\t\t\t// Repeated field that is empty, or a bytes field that is unused.\n\t\t\tcontinue\n\t\t}\n\n\t\tif props.Repeated && fv.Kind() == reflect.Slice {\n\t\t\t// Repeated field.\n\t\t\tfor j := 0; j < fv.Len(); j++ {\n\t\t\t\tif err := writeName(w, props); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tif !w.compact {\n\t\t\t\t\tif err := w.WriteByte(' '); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tv := fv.Index(j)\n\t\t\t\tif v.Kind() == reflect.Ptr && v.IsNil() {\n\t\t\t\t\t// A nil message in a repeated field is not valid,\n\t\t\t\t\t// but we can handle that more gracefully than panicking.\n\t\t\t\t\tif _, err := w.Write([]byte(\"<nil>\\n\")); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif len(props.Enum) > 0 {\n\t\t\t\t\tif err := tm.writeEnum(w, v, props); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t} else if err := tm.writeAny(w, v, props); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tif err := w.WriteByte('\\n'); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\tif fv.Kind() == reflect.Map {\n\t\t\t// Map fields are rendered as a repeated struct with key/value fields.\n\t\t\tkeys := fv.MapKeys()\n\t\t\tsort.Sort(mapKeys(keys))\n\t\t\tfor _, key := range keys {\n\t\t\t\tval := fv.MapIndex(key)\n\t\t\t\tif err := writeName(w, props); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tif !w.compact {\n\t\t\t\t\tif err := w.WriteByte(' '); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// open struct\n\t\t\t\tif err := w.WriteByte('<'); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tif !w.compact {\n\t\t\t\t\tif err := w.WriteByte('\\n'); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tw.indent()\n\t\t\t\t// key\n\t\t\t\tif _, err := w.WriteString(\"key:\"); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tif !w.compact {\n\t\t\t\t\tif err := w.WriteByte(' '); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif err := tm.writeAny(w, key, props.mkeyprop); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tif err := w.WriteByte('\\n'); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\t// nil values aren't legal, but we can avoid panicking because of them.\n\t\t\t\tif val.Kind() != reflect.Ptr || !val.IsNil() {\n\t\t\t\t\t// value\n\t\t\t\t\tif _, err := w.WriteString(\"value:\"); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tif !w.compact {\n\t\t\t\t\t\tif err := w.WriteByte(' '); err != nil {\n\t\t\t\t\t\t\treturn err\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif err := tm.writeAny(w, val, props.mvalprop); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tif err := w.WriteByte('\\n'); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// close struct\n\t\t\t\tw.unindent()\n\t\t\t\tif err := w.WriteByte('>'); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tif err := w.WriteByte('\\n'); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\tif props.proto3 && fv.Kind() == reflect.Slice && fv.Len() == 0 {\n\t\t\t// empty bytes field\n\t\t\tcontinue\n\t\t}\n\t\tif props.proto3 && fv.Kind() != reflect.Ptr && fv.Kind() != reflect.Slice {\n\t\t\t// proto3 non-repeated scalar field; skip if zero value\n\t\t\tif isProto3Zero(fv) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t}\n\n\t\tif fv.Kind() == reflect.Interface {\n\t\t\t// Check if it is a oneof.\n\t\t\tif st.Field(i).Tag.Get(\"protobuf_oneof\") != \"\" {\n\t\t\t\t// fv is nil, or holds a pointer to generated struct.\n\t\t\t\t// That generated struct has exactly one field,\n\t\t\t\t// which has a protobuf struct tag.\n\t\t\t\tif fv.IsNil() {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tinner := fv.Elem().Elem() // interface -> *T -> T\n\t\t\t\ttag := inner.Type().Field(0).Tag.Get(\"protobuf\")\n\t\t\t\tprops = new(Properties) // Overwrite the outer props var, but not its pointee.\n\t\t\t\tprops.Parse(tag)\n\t\t\t\t// Write the value in the oneof, not the oneof itself.\n\t\t\t\tfv = inner.Field(0)\n\n\t\t\t\t// Special case to cope with malformed messages gracefully:\n\t\t\t\t// If the value in the oneof is a nil pointer, don't panic\n\t\t\t\t// in writeAny.\n\t\t\t\tif fv.Kind() == reflect.Ptr && fv.IsNil() {\n\t\t\t\t\t// Use errors.New so writeAny won't render quotes.\n\t\t\t\t\tmsg := errors.New(\"/* nil */\")\n\t\t\t\t\tfv = reflect.ValueOf(&msg).Elem()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif err := writeName(w, props); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif !w.compact {\n\t\t\tif err := w.WriteByte(' '); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\n\t\tif len(props.Enum) > 0 {\n\t\t\tif err := tm.writeEnum(w, fv, props); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t} else if err := tm.writeAny(w, fv, props); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tif err := w.WriteByte('\\n'); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\t// Extensions (the XXX_extensions field).\n\tpv := sv\n\tif pv.CanAddr() {\n\t\tpv = sv.Addr()\n\t} else {\n\t\tpv = reflect.New(sv.Type())\n\t\tpv.Elem().Set(sv)\n\t}\n\tif _, err := extendable(pv.Interface()); err == nil {\n\t\tif err := tm.writeExtensions(w, pv); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\treturn nil\n}\n\n// writeAny writes an arbitrary field.\nfunc (tm *TextMarshaler) writeAny(w *textWriter, v reflect.Value, props *Properties) error {\n\tv = reflect.Indirect(v)\n\n\tif props != nil {\n\t\tif len(props.CustomType) > 0 {\n\t\t\tcustom, ok := v.Interface().(Marshaler)\n\t\t\tif ok {\n\t\t\t\tdata, err := custom.Marshal()\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tif err := writeString(w, string(data)); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\treturn nil\n\t\t\t}\n\t\t} else if len(props.CastType) > 0 {\n\t\t\tif _, ok := v.Interface().(interface {\n\t\t\t\tString() string\n\t\t\t}); ok {\n\t\t\t\tswitch v.Kind() {\n\t\t\t\tcase reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64,\n\t\t\t\t\treflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64:\n\t\t\t\t\t_, err := fmt.Fprintf(w, \"%d\", v.Interface())\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t}\n\t\t} else if props.StdTime {\n\t\t\tt, ok := v.Interface().(time.Time)\n\t\t\tif !ok {\n\t\t\t\treturn fmt.Errorf(\"stdtime is not time.Time, but %T\", v.Interface())\n\t\t\t}\n\t\t\ttproto, err := timestampProto(t)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tpropsCopy := *props // Make a copy so that this is goroutine-safe\n\t\t\tpropsCopy.StdTime = false\n\t\t\terr = tm.writeAny(w, reflect.ValueOf(tproto), &propsCopy)\n\t\t\treturn err\n\t\t} else if props.StdDuration {\n\t\t\td, ok := v.Interface().(time.Duration)\n\t\t\tif !ok {\n\t\t\t\treturn fmt.Errorf(\"stdtime is not time.Duration, but %T\", v.Interface())\n\t\t\t}\n\t\t\tdproto := durationProto(d)\n\t\t\tpropsCopy := *props // Make a copy so that this is goroutine-safe\n\t\t\tpropsCopy.StdDuration = false\n\t\t\terr := tm.writeAny(w, reflect.ValueOf(dproto), &propsCopy)\n\t\t\treturn err\n\t\t}\n\t}\n\n\t// Floats have special cases.\n\tif v.Kind() == reflect.Float32 || v.Kind() == reflect.Float64 {\n\t\tx := v.Float()\n\t\tvar b []byte\n\t\tswitch {\n\t\tcase math.IsInf(x, 1):\n\t\t\tb = posInf\n\t\tcase math.IsInf(x, -1):\n\t\t\tb = negInf\n\t\tcase math.IsNaN(x):\n\t\t\tb = nan\n\t\t}\n\t\tif b != nil {\n\t\t\t_, err := w.Write(b)\n\t\t\treturn err\n\t\t}\n\t\t// Other values are handled below.\n\t}\n\n\t// We don't attempt to serialise every possible value type; only those\n\t// that can occur in protocol buffers.\n\tswitch v.Kind() {\n\tcase reflect.Slice:\n\t\t// Should only be a []byte; repeated fields are handled in writeStruct.\n\t\tif err := writeString(w, string(v.Bytes())); err != nil {\n\t\t\treturn err\n\t\t}\n\tcase reflect.String:\n\t\tif err := writeString(w, v.String()); err != nil {\n\t\t\treturn err\n\t\t}\n\tcase reflect.Struct:\n\t\t// Required/optional group/message.\n\t\tvar bra, ket byte = '<', '>'\n\t\tif props != nil && props.Wire == \"group\" {\n\t\t\tbra, ket = '{', '}'\n\t\t}\n\t\tif err := w.WriteByte(bra); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif !w.compact {\n\t\t\tif err := w.WriteByte('\\n'); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t\tw.indent()\n\t\tif v.CanAddr() {\n\t\t\t// Calling v.Interface on a struct causes the reflect package to\n\t\t\t// copy the entire struct. This is racy with the new Marshaler\n\t\t\t// since we atomically update the XXX_sizecache.\n\t\t\t//\n\t\t\t// Thus, we retrieve a pointer to the struct if possible to avoid\n\t\t\t// a race since v.Interface on the pointer doesn't copy the struct.\n\t\t\t//\n\t\t\t// If v is not addressable, then we are not worried about a race\n\t\t\t// since it implies that the binary Marshaler cannot possibly be\n\t\t\t// mutating this value.\n\t\t\tv = v.Addr()\n\t\t}\n\t\tif etm, ok := v.Interface().(encoding.TextMarshaler); ok {\n\t\t\ttext, err := etm.MarshalText()\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif _, err = w.Write(text); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t} else {\n\t\t\tif v.Kind() == reflect.Ptr {\n\t\t\t\tv = v.Elem()\n\t\t\t}\n\t\t\tif err := tm.writeStruct(w, v); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t\tw.unindent()\n\t\tif err := w.WriteByte(ket); err != nil {\n\t\t\treturn err\n\t\t}\n\tdefault:\n\t\t_, err := fmt.Fprint(w, v.Interface())\n\t\treturn err\n\t}\n\treturn nil\n}\n\n// equivalent to C's isprint.\nfunc isprint(c byte) bool {\n\treturn c >= 0x20 && c < 0x7f\n}\n\n// writeString writes a string in the protocol buffer text format.\n// It is similar to strconv.Quote except we don't use Go escape sequences,\n// we treat the string as a byte sequence, and we use octal escapes.\n// These differences are to maintain interoperability with the other\n// languages' implementations of the text format.\nfunc writeString(w *textWriter, s string) error {\n\t// use WriteByte here to get any needed indent\n\tif err := w.WriteByte('\"'); err != nil {\n\t\treturn err\n\t}\n\t// Loop over the bytes, not the runes.\n\tfor i := 0; i < len(s); i++ {\n\t\tvar err error\n\t\t// Divergence from C++: we don't escape apostrophes.\n\t\t// There's no need to escape them, and the C++ parser\n\t\t// copes with a naked apostrophe.\n\t\tswitch c := s[i]; c {\n\t\tcase '\\n':\n\t\t\t_, err = w.w.Write(backslashN)\n\t\tcase '\\r':\n\t\t\t_, err = w.w.Write(backslashR)\n\t\tcase '\\t':\n\t\t\t_, err = w.w.Write(backslashT)\n\t\tcase '\"':\n\t\t\t_, err = w.w.Write(backslashDQ)\n\t\tcase '\\\\':\n\t\t\t_, err = w.w.Write(backslashBS)\n\t\tdefault:\n\t\t\tif isprint(c) {\n\t\t\t\terr = w.w.WriteByte(c)\n\t\t\t} else {\n\t\t\t\t_, err = fmt.Fprintf(w.w, \"\\\\%03o\", c)\n\t\t\t}\n\t\t}\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn w.WriteByte('\"')\n}\n\nfunc writeUnknownStruct(w *textWriter, data []byte) (err error) {\n\tif !w.compact {\n\t\tif _, err := fmt.Fprintf(w, \"/* %d unknown bytes */\\n\", len(data)); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\tb := NewBuffer(data)\n\tfor b.index < len(b.buf) {\n\t\tx, err := b.DecodeVarint()\n\t\tif err != nil {\n\t\t\t_, ferr := fmt.Fprintf(w, \"/* %v */\\n\", err)\n\t\t\treturn ferr\n\t\t}\n\t\twire, tag := x&7, x>>3\n\t\tif wire == WireEndGroup {\n\t\t\tw.unindent()\n\t\t\tif _, werr := w.Write(endBraceNewline); werr != nil {\n\t\t\t\treturn werr\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\tif _, ferr := fmt.Fprint(w, tag); ferr != nil {\n\t\t\treturn ferr\n\t\t}\n\t\tif wire != WireStartGroup {\n\t\t\tif err = w.WriteByte(':'); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t\tif !w.compact || wire == WireStartGroup {\n\t\t\tif err = w.WriteByte(' '); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t\tswitch wire {\n\t\tcase WireBytes:\n\t\t\tbuf, e := b.DecodeRawBytes(false)\n\t\t\tif e == nil {\n\t\t\t\t_, err = fmt.Fprintf(w, \"%q\", buf)\n\t\t\t} else {\n\t\t\t\t_, err = fmt.Fprintf(w, \"/* %v */\", e)\n\t\t\t}\n\t\tcase WireFixed32:\n\t\t\tx, err = b.DecodeFixed32()\n\t\t\terr = writeUnknownInt(w, x, err)\n\t\tcase WireFixed64:\n\t\t\tx, err = b.DecodeFixed64()\n\t\t\terr = writeUnknownInt(w, x, err)\n\t\tcase WireStartGroup:\n\t\t\terr = w.WriteByte('{')\n\t\t\tw.indent()\n\t\tcase WireVarint:\n\t\t\tx, err = b.DecodeVarint()\n\t\t\terr = writeUnknownInt(w, x, err)\n\t\tdefault:\n\t\t\t_, err = fmt.Fprintf(w, \"/* unknown wire type %d */\", wire)\n\t\t}\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif err := w.WriteByte('\\n'); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc writeUnknownInt(w *textWriter, x uint64, err error) error {\n\tif err == nil {\n\t\t_, err = fmt.Fprint(w, x)\n\t} else {\n\t\t_, err = fmt.Fprintf(w, \"/* %v */\", err)\n\t}\n\treturn err\n}\n\ntype int32Slice []int32\n\nfunc (s int32Slice) Len() int           { return len(s) }\nfunc (s int32Slice) Less(i, j int) bool { return s[i] < s[j] }\nfunc (s int32Slice) Swap(i, j int)      { s[i], s[j] = s[j], s[i] }\n\n// writeExtensions writes all the extensions in pv.\n// pv is assumed to be a pointer to a protocol message struct that is extendable.\nfunc (tm *TextMarshaler) writeExtensions(w *textWriter, pv reflect.Value) error {\n\temap := extensionMaps[pv.Type().Elem()]\n\te := pv.Interface().(Message)\n\n\tvar m map[int32]Extension\n\tvar mu sync.Locker\n\tif em, ok := e.(extensionsBytes); ok {\n\t\teb := em.GetExtensions()\n\t\tvar err error\n\t\tm, err = BytesToExtensionsMap(*eb)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmu = notLocker{}\n\t} else if _, ok := e.(extendableProto); ok {\n\t\tep, _ := extendable(e)\n\t\tm, mu = ep.extensionsRead()\n\t\tif m == nil {\n\t\t\treturn nil\n\t\t}\n\t}\n\n\t// Order the extensions by ID.\n\t// This isn't strictly necessary, but it will give us\n\t// canonical output, which will also make testing easier.\n\n\tmu.Lock()\n\tids := make([]int32, 0, len(m))\n\tfor id := range m {\n\t\tids = append(ids, id)\n\t}\n\tsort.Sort(int32Slice(ids))\n\tmu.Unlock()\n\n\tfor _, extNum := range ids {\n\t\text := m[extNum]\n\t\tvar desc *ExtensionDesc\n\t\tif emap != nil {\n\t\t\tdesc = emap[extNum]\n\t\t}\n\t\tif desc == nil {\n\t\t\t// Unknown extension.\n\t\t\tif err := writeUnknownStruct(w, ext.enc); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\n\t\tpb, err := GetExtension(e, desc)\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"failed getting extension: %v\", err)\n\t\t}\n\n\t\t// Repeated extensions will appear as a slice.\n\t\tif !desc.repeated() {\n\t\t\tif err := tm.writeExtension(w, desc.Name, pb); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t} else {\n\t\t\tv := reflect.ValueOf(pb)\n\t\t\tfor i := 0; i < v.Len(); i++ {\n\t\t\t\tif err := tm.writeExtension(w, desc.Name, v.Index(i).Interface()); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (tm *TextMarshaler) writeExtension(w *textWriter, name string, pb interface{}) error {\n\tif _, err := fmt.Fprintf(w, \"[%s]:\", name); err != nil {\n\t\treturn err\n\t}\n\tif !w.compact {\n\t\tif err := w.WriteByte(' '); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\tif err := tm.writeAny(w, reflect.ValueOf(pb), nil); err != nil {\n\t\treturn err\n\t}\n\tif err := w.WriteByte('\\n'); err != nil {\n\t\treturn err\n\t}\n\treturn nil\n}\n\nfunc (w *textWriter) writeIndent() {\n\tif !w.complete {\n\t\treturn\n\t}\n\tremain := w.ind * 2\n\tfor remain > 0 {\n\t\tn := remain\n\t\tif n > len(spaces) {\n\t\t\tn = len(spaces)\n\t\t}\n\t\tw.w.Write(spaces[:n])\n\t\tremain -= n\n\t}\n\tw.complete = false\n}\n\n// TextMarshaler is a configurable text format marshaler.\ntype TextMarshaler struct {\n\tCompact   bool // use compact text format (one line).\n\tExpandAny bool // expand google.protobuf.Any messages of known types\n}\n\n// Marshal writes a given protocol buffer in text format.\n// The only errors returned are from w.\nfunc (tm *TextMarshaler) Marshal(w io.Writer, pb Message) error {\n\tval := reflect.ValueOf(pb)\n\tif pb == nil || val.IsNil() {\n\t\tw.Write([]byte(\"<nil>\"))\n\t\treturn nil\n\t}\n\tvar bw *bufio.Writer\n\tww, ok := w.(writer)\n\tif !ok {\n\t\tbw = bufio.NewWriter(w)\n\t\tww = bw\n\t}\n\taw := &textWriter{\n\t\tw:        ww,\n\t\tcomplete: true,\n\t\tcompact:  tm.Compact,\n\t}\n\n\tif etm, ok := pb.(encoding.TextMarshaler); ok {\n\t\ttext, err := etm.MarshalText()\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif _, err = aw.Write(text); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif bw != nil {\n\t\t\treturn bw.Flush()\n\t\t}\n\t\treturn nil\n\t}\n\t// Dereference the received pointer so we don't have outer < and >.\n\tv := reflect.Indirect(val)\n\tif err := tm.writeStruct(aw, v); err != nil {\n\t\treturn err\n\t}\n\tif bw != nil {\n\t\treturn bw.Flush()\n\t}\n\treturn nil\n}\n\n// Text is the same as Marshal, but returns the string directly.\nfunc (tm *TextMarshaler) Text(pb Message) string {\n\tvar buf bytes.Buffer\n\ttm.Marshal(&buf, pb)\n\treturn buf.String()\n}\n\nvar (\n\tdefaultTextMarshaler = TextMarshaler{}\n\tcompactTextMarshaler = TextMarshaler{Compact: true}\n)\n\n// TODO: consider removing some of the Marshal functions below.\n\n// MarshalText writes a given protocol buffer in text format.\n// The only errors returned are from w.\nfunc MarshalText(w io.Writer, pb Message) error { return defaultTextMarshaler.Marshal(w, pb) }\n\n// MarshalTextString is the same as MarshalText, but returns the string directly.\nfunc MarshalTextString(pb Message) string { return defaultTextMarshaler.Text(pb) }\n\n// CompactText writes a given protocol buffer in compact text format (one line).\nfunc CompactText(w io.Writer, pb Message) error { return compactTextMarshaler.Marshal(w, pb) }\n\n// CompactTextString is the same as CompactText, but returns the string directly.\nfunc CompactTextString(pb Message) string { return compactTextMarshaler.Text(pb) }\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/text_gogo.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2013, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\nimport (\n\t\"fmt\"\n\t\"reflect\"\n)\n\nfunc (tm *TextMarshaler) writeEnum(w *textWriter, v reflect.Value, props *Properties) error {\n\tm, ok := enumStringMaps[props.Enum]\n\tif !ok {\n\t\tif err := tm.writeAny(w, v, props); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\tkey := int32(0)\n\tif v.Kind() == reflect.Ptr {\n\t\tkey = int32(v.Elem().Int())\n\t} else {\n\t\tkey = int32(v.Int())\n\t}\n\ts, ok := m[key]\n\tif !ok {\n\t\tif err := tm.writeAny(w, v, props); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\t_, err := fmt.Fprint(w, s)\n\treturn err\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/text_parser.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2013, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\n// Functions for parsing the Text protocol buffer format.\n// TODO: message sets.\n\nimport (\n\t\"encoding\"\n\t\"errors\"\n\t\"fmt\"\n\t\"reflect\"\n\t\"strconv\"\n\t\"strings\"\n\t\"time\"\n\t\"unicode/utf8\"\n)\n\n// Error string emitted when deserializing Any and fields are already set\nconst anyRepeatedlyUnpacked = \"Any message unpacked multiple times, or %q already set\"\n\ntype ParseError struct {\n\tMessage string\n\tLine    int // 1-based line number\n\tOffset  int // 0-based byte offset from start of input\n}\n\nfunc (p *ParseError) Error() string {\n\tif p.Line == 1 {\n\t\t// show offset only for first line\n\t\treturn fmt.Sprintf(\"line 1.%d: %v\", p.Offset, p.Message)\n\t}\n\treturn fmt.Sprintf(\"line %d: %v\", p.Line, p.Message)\n}\n\ntype token struct {\n\tvalue    string\n\terr      *ParseError\n\tline     int    // line number\n\toffset   int    // byte number from start of input, not start of line\n\tunquoted string // the unquoted version of value, if it was a quoted string\n}\n\nfunc (t *token) String() string {\n\tif t.err == nil {\n\t\treturn fmt.Sprintf(\"%q (line=%d, offset=%d)\", t.value, t.line, t.offset)\n\t}\n\treturn fmt.Sprintf(\"parse error: %v\", t.err)\n}\n\ntype textParser struct {\n\ts            string // remaining input\n\tdone         bool   // whether the parsing is finished (success or error)\n\tbacked       bool   // whether back() was called\n\toffset, line int\n\tcur          token\n}\n\nfunc newTextParser(s string) *textParser {\n\tp := new(textParser)\n\tp.s = s\n\tp.line = 1\n\tp.cur.line = 1\n\treturn p\n}\n\nfunc (p *textParser) errorf(format string, a ...interface{}) *ParseError {\n\tpe := &ParseError{fmt.Sprintf(format, a...), p.cur.line, p.cur.offset}\n\tp.cur.err = pe\n\tp.done = true\n\treturn pe\n}\n\n// Numbers and identifiers are matched by [-+._A-Za-z0-9]\nfunc isIdentOrNumberChar(c byte) bool {\n\tswitch {\n\tcase 'A' <= c && c <= 'Z', 'a' <= c && c <= 'z':\n\t\treturn true\n\tcase '0' <= c && c <= '9':\n\t\treturn true\n\t}\n\tswitch c {\n\tcase '-', '+', '.', '_':\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc isWhitespace(c byte) bool {\n\tswitch c {\n\tcase ' ', '\\t', '\\n', '\\r':\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc isQuote(c byte) bool {\n\tswitch c {\n\tcase '\"', '\\'':\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc (p *textParser) skipWhitespace() {\n\ti := 0\n\tfor i < len(p.s) && (isWhitespace(p.s[i]) || p.s[i] == '#') {\n\t\tif p.s[i] == '#' {\n\t\t\t// comment; skip to end of line or input\n\t\t\tfor i < len(p.s) && p.s[i] != '\\n' {\n\t\t\t\ti++\n\t\t\t}\n\t\t\tif i == len(p.s) {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tif p.s[i] == '\\n' {\n\t\t\tp.line++\n\t\t}\n\t\ti++\n\t}\n\tp.offset += i\n\tp.s = p.s[i:len(p.s)]\n\tif len(p.s) == 0 {\n\t\tp.done = true\n\t}\n}\n\nfunc (p *textParser) advance() {\n\t// Skip whitespace\n\tp.skipWhitespace()\n\tif p.done {\n\t\treturn\n\t}\n\n\t// Start of non-whitespace\n\tp.cur.err = nil\n\tp.cur.offset, p.cur.line = p.offset, p.line\n\tp.cur.unquoted = \"\"\n\tswitch p.s[0] {\n\tcase '<', '>', '{', '}', ':', '[', ']', ';', ',', '/':\n\t\t// Single symbol\n\t\tp.cur.value, p.s = p.s[0:1], p.s[1:len(p.s)]\n\tcase '\"', '\\'':\n\t\t// Quoted string\n\t\ti := 1\n\t\tfor i < len(p.s) && p.s[i] != p.s[0] && p.s[i] != '\\n' {\n\t\t\tif p.s[i] == '\\\\' && i+1 < len(p.s) {\n\t\t\t\t// skip escaped char\n\t\t\t\ti++\n\t\t\t}\n\t\t\ti++\n\t\t}\n\t\tif i >= len(p.s) || p.s[i] != p.s[0] {\n\t\t\tp.errorf(\"unmatched quote\")\n\t\t\treturn\n\t\t}\n\t\tunq, err := unquoteC(p.s[1:i], rune(p.s[0]))\n\t\tif err != nil {\n\t\t\tp.errorf(\"invalid quoted string %s: %v\", p.s[0:i+1], err)\n\t\t\treturn\n\t\t}\n\t\tp.cur.value, p.s = p.s[0:i+1], p.s[i+1:len(p.s)]\n\t\tp.cur.unquoted = unq\n\tdefault:\n\t\ti := 0\n\t\tfor i < len(p.s) && isIdentOrNumberChar(p.s[i]) {\n\t\t\ti++\n\t\t}\n\t\tif i == 0 {\n\t\t\tp.errorf(\"unexpected byte %#x\", p.s[0])\n\t\t\treturn\n\t\t}\n\t\tp.cur.value, p.s = p.s[0:i], p.s[i:len(p.s)]\n\t}\n\tp.offset += len(p.cur.value)\n}\n\nvar (\n\terrBadUTF8 = errors.New(\"proto: bad UTF-8\")\n)\n\nfunc unquoteC(s string, quote rune) (string, error) {\n\t// This is based on C++'s tokenizer.cc.\n\t// Despite its name, this is *not* parsing C syntax.\n\t// For instance, \"\\0\" is an invalid quoted string.\n\n\t// Avoid allocation in trivial cases.\n\tsimple := true\n\tfor _, r := range s {\n\t\tif r == '\\\\' || r == quote {\n\t\t\tsimple = false\n\t\t\tbreak\n\t\t}\n\t}\n\tif simple {\n\t\treturn s, nil\n\t}\n\n\tbuf := make([]byte, 0, 3*len(s)/2)\n\tfor len(s) > 0 {\n\t\tr, n := utf8.DecodeRuneInString(s)\n\t\tif r == utf8.RuneError && n == 1 {\n\t\t\treturn \"\", errBadUTF8\n\t\t}\n\t\ts = s[n:]\n\t\tif r != '\\\\' {\n\t\t\tif r < utf8.RuneSelf {\n\t\t\t\tbuf = append(buf, byte(r))\n\t\t\t} else {\n\t\t\t\tbuf = append(buf, string(r)...)\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\n\t\tch, tail, err := unescape(s)\n\t\tif err != nil {\n\t\t\treturn \"\", err\n\t\t}\n\t\tbuf = append(buf, ch...)\n\t\ts = tail\n\t}\n\treturn string(buf), nil\n}\n\nfunc unescape(s string) (ch string, tail string, err error) {\n\tr, n := utf8.DecodeRuneInString(s)\n\tif r == utf8.RuneError && n == 1 {\n\t\treturn \"\", \"\", errBadUTF8\n\t}\n\ts = s[n:]\n\tswitch r {\n\tcase 'a':\n\t\treturn \"\\a\", s, nil\n\tcase 'b':\n\t\treturn \"\\b\", s, nil\n\tcase 'f':\n\t\treturn \"\\f\", s, nil\n\tcase 'n':\n\t\treturn \"\\n\", s, nil\n\tcase 'r':\n\t\treturn \"\\r\", s, nil\n\tcase 't':\n\t\treturn \"\\t\", s, nil\n\tcase 'v':\n\t\treturn \"\\v\", s, nil\n\tcase '?':\n\t\treturn \"?\", s, nil // trigraph workaround\n\tcase '\\'', '\"', '\\\\':\n\t\treturn string(r), s, nil\n\tcase '0', '1', '2', '3', '4', '5', '6', '7':\n\t\tif len(s) < 2 {\n\t\t\treturn \"\", \"\", fmt.Errorf(`\\%c requires 2 following digits`, r)\n\t\t}\n\t\tss := string(r) + s[:2]\n\t\ts = s[2:]\n\t\ti, err := strconv.ParseUint(ss, 8, 8)\n\t\tif err != nil {\n\t\t\treturn \"\", \"\", fmt.Errorf(`\\%s contains non-octal digits`, ss)\n\t\t}\n\t\treturn string([]byte{byte(i)}), s, nil\n\tcase 'x', 'X', 'u', 'U':\n\t\tvar n int\n\t\tswitch r {\n\t\tcase 'x', 'X':\n\t\t\tn = 2\n\t\tcase 'u':\n\t\t\tn = 4\n\t\tcase 'U':\n\t\t\tn = 8\n\t\t}\n\t\tif len(s) < n {\n\t\t\treturn \"\", \"\", fmt.Errorf(`\\%c requires %d following digits`, r, n)\n\t\t}\n\t\tss := s[:n]\n\t\ts = s[n:]\n\t\ti, err := strconv.ParseUint(ss, 16, 64)\n\t\tif err != nil {\n\t\t\treturn \"\", \"\", fmt.Errorf(`\\%c%s contains non-hexadecimal digits`, r, ss)\n\t\t}\n\t\tif r == 'x' || r == 'X' {\n\t\t\treturn string([]byte{byte(i)}), s, nil\n\t\t}\n\t\tif i > utf8.MaxRune {\n\t\t\treturn \"\", \"\", fmt.Errorf(`\\%c%s is not a valid Unicode code point`, r, ss)\n\t\t}\n\t\treturn string(i), s, nil\n\t}\n\treturn \"\", \"\", fmt.Errorf(`unknown escape \\%c`, r)\n}\n\n// Back off the parser by one token. Can only be done between calls to next().\n// It makes the next advance() a no-op.\nfunc (p *textParser) back() { p.backed = true }\n\n// Advances the parser and returns the new current token.\nfunc (p *textParser) next() *token {\n\tif p.backed || p.done {\n\t\tp.backed = false\n\t\treturn &p.cur\n\t}\n\tp.advance()\n\tif p.done {\n\t\tp.cur.value = \"\"\n\t} else if len(p.cur.value) > 0 && isQuote(p.cur.value[0]) {\n\t\t// Look for multiple quoted strings separated by whitespace,\n\t\t// and concatenate them.\n\t\tcat := p.cur\n\t\tfor {\n\t\t\tp.skipWhitespace()\n\t\t\tif p.done || !isQuote(p.s[0]) {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tp.advance()\n\t\t\tif p.cur.err != nil {\n\t\t\t\treturn &p.cur\n\t\t\t}\n\t\t\tcat.value += \" \" + p.cur.value\n\t\t\tcat.unquoted += p.cur.unquoted\n\t\t}\n\t\tp.done = false // parser may have seen EOF, but we want to return cat\n\t\tp.cur = cat\n\t}\n\treturn &p.cur\n}\n\nfunc (p *textParser) consumeToken(s string) error {\n\ttok := p.next()\n\tif tok.err != nil {\n\t\treturn tok.err\n\t}\n\tif tok.value != s {\n\t\tp.back()\n\t\treturn p.errorf(\"expected %q, found %q\", s, tok.value)\n\t}\n\treturn nil\n}\n\n// Return a RequiredNotSetError indicating which required field was not set.\nfunc (p *textParser) missingRequiredFieldError(sv reflect.Value) *RequiredNotSetError {\n\tst := sv.Type()\n\tsprops := GetProperties(st)\n\tfor i := 0; i < st.NumField(); i++ {\n\t\tif !isNil(sv.Field(i)) {\n\t\t\tcontinue\n\t\t}\n\n\t\tprops := sprops.Prop[i]\n\t\tif props.Required {\n\t\t\treturn &RequiredNotSetError{fmt.Sprintf(\"%v.%v\", st, props.OrigName)}\n\t\t}\n\t}\n\treturn &RequiredNotSetError{fmt.Sprintf(\"%v.<unknown field name>\", st)} // should not happen\n}\n\n// Returns the index in the struct for the named field, as well as the parsed tag properties.\nfunc structFieldByName(sprops *StructProperties, name string) (int, *Properties, bool) {\n\ti, ok := sprops.decoderOrigNames[name]\n\tif ok {\n\t\treturn i, sprops.Prop[i], true\n\t}\n\treturn -1, nil, false\n}\n\n// Consume a ':' from the input stream (if the next token is a colon),\n// returning an error if a colon is needed but not present.\nfunc (p *textParser) checkForColon(props *Properties, typ reflect.Type) *ParseError {\n\ttok := p.next()\n\tif tok.err != nil {\n\t\treturn tok.err\n\t}\n\tif tok.value != \":\" {\n\t\t// Colon is optional when the field is a group or message.\n\t\tneedColon := true\n\t\tswitch props.Wire {\n\t\tcase \"group\":\n\t\t\tneedColon = false\n\t\tcase \"bytes\":\n\t\t\t// A \"bytes\" field is either a message, a string, or a repeated field;\n\t\t\t// those three become *T, *string and []T respectively, so we can check for\n\t\t\t// this field being a pointer to a non-string.\n\t\t\tif typ.Kind() == reflect.Ptr {\n\t\t\t\t// *T or *string\n\t\t\t\tif typ.Elem().Kind() == reflect.String {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t} else if typ.Kind() == reflect.Slice {\n\t\t\t\t// []T or []*T\n\t\t\t\tif typ.Elem().Kind() != reflect.Ptr {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t} else if typ.Kind() == reflect.String {\n\t\t\t\t// The proto3 exception is for a string field,\n\t\t\t\t// which requires a colon.\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tneedColon = false\n\t\t}\n\t\tif needColon {\n\t\t\treturn p.errorf(\"expected ':', found %q\", tok.value)\n\t\t}\n\t\tp.back()\n\t}\n\treturn nil\n}\n\nfunc (p *textParser) readStruct(sv reflect.Value, terminator string) error {\n\tst := sv.Type()\n\tsprops := GetProperties(st)\n\treqCount := sprops.reqCount\n\tvar reqFieldErr error\n\tfieldSet := make(map[string]bool)\n\t// A struct is a sequence of \"name: value\", terminated by one of\n\t// '>' or '}', or the end of the input.  A name may also be\n\t// \"[extension]\" or \"[type/url]\".\n\t//\n\t// The whole struct can also be an expanded Any message, like:\n\t// [type/url] < ... struct contents ... >\n\tfor {\n\t\ttok := p.next()\n\t\tif tok.err != nil {\n\t\t\treturn tok.err\n\t\t}\n\t\tif tok.value == terminator {\n\t\t\tbreak\n\t\t}\n\t\tif tok.value == \"[\" {\n\t\t\t// Looks like an extension or an Any.\n\t\t\t//\n\t\t\t// TODO: Check whether we need to handle\n\t\t\t// namespace rooted names (e.g. \".something.Foo\").\n\t\t\textName, err := p.consumeExtName()\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\n\t\t\tif s := strings.LastIndex(extName, \"/\"); s >= 0 {\n\t\t\t\t// If it contains a slash, it's an Any type URL.\n\t\t\t\tmessageName := extName[s+1:]\n\t\t\t\tmt := MessageType(messageName)\n\t\t\t\tif mt == nil {\n\t\t\t\t\treturn p.errorf(\"unrecognized message %q in google.protobuf.Any\", messageName)\n\t\t\t\t}\n\t\t\t\ttok = p.next()\n\t\t\t\tif tok.err != nil {\n\t\t\t\t\treturn tok.err\n\t\t\t\t}\n\t\t\t\t// consume an optional colon\n\t\t\t\tif tok.value == \":\" {\n\t\t\t\t\ttok = p.next()\n\t\t\t\t\tif tok.err != nil {\n\t\t\t\t\t\treturn tok.err\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvar terminator string\n\t\t\t\tswitch tok.value {\n\t\t\t\tcase \"<\":\n\t\t\t\t\tterminator = \">\"\n\t\t\t\tcase \"{\":\n\t\t\t\t\tterminator = \"}\"\n\t\t\t\tdefault:\n\t\t\t\t\treturn p.errorf(\"expected '{' or '<', found %q\", tok.value)\n\t\t\t\t}\n\t\t\t\tv := reflect.New(mt.Elem())\n\t\t\t\tif pe := p.readStruct(v.Elem(), terminator); pe != nil {\n\t\t\t\t\treturn pe\n\t\t\t\t}\n\t\t\t\tb, err := Marshal(v.Interface().(Message))\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn p.errorf(\"failed to marshal message of type %q: %v\", messageName, err)\n\t\t\t\t}\n\t\t\t\tif fieldSet[\"type_url\"] {\n\t\t\t\t\treturn p.errorf(anyRepeatedlyUnpacked, \"type_url\")\n\t\t\t\t}\n\t\t\t\tif fieldSet[\"value\"] {\n\t\t\t\t\treturn p.errorf(anyRepeatedlyUnpacked, \"value\")\n\t\t\t\t}\n\t\t\t\tsv.FieldByName(\"TypeUrl\").SetString(extName)\n\t\t\t\tsv.FieldByName(\"Value\").SetBytes(b)\n\t\t\t\tfieldSet[\"type_url\"] = true\n\t\t\t\tfieldSet[\"value\"] = true\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tvar desc *ExtensionDesc\n\t\t\t// This could be faster, but it's functional.\n\t\t\t// TODO: Do something smarter than a linear scan.\n\t\t\tfor _, d := range RegisteredExtensions(reflect.New(st).Interface().(Message)) {\n\t\t\t\tif d.Name == extName {\n\t\t\t\t\tdesc = d\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif desc == nil {\n\t\t\t\treturn p.errorf(\"unrecognized extension %q\", extName)\n\t\t\t}\n\n\t\t\tprops := &Properties{}\n\t\t\tprops.Parse(desc.Tag)\n\n\t\t\ttyp := reflect.TypeOf(desc.ExtensionType)\n\t\t\tif err := p.checkForColon(props, typ); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\n\t\t\trep := desc.repeated()\n\n\t\t\t// Read the extension structure, and set it in\n\t\t\t// the value we're constructing.\n\t\t\tvar ext reflect.Value\n\t\t\tif !rep {\n\t\t\t\text = reflect.New(typ).Elem()\n\t\t\t} else {\n\t\t\t\text = reflect.New(typ.Elem()).Elem()\n\t\t\t}\n\t\t\tif err := p.readAny(ext, props); err != nil {\n\t\t\t\tif _, ok := err.(*RequiredNotSetError); !ok {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\treqFieldErr = err\n\t\t\t}\n\t\t\tep := sv.Addr().Interface().(Message)\n\t\t\tif !rep {\n\t\t\t\tSetExtension(ep, desc, ext.Interface())\n\t\t\t} else {\n\t\t\t\told, err := GetExtension(ep, desc)\n\t\t\t\tvar sl reflect.Value\n\t\t\t\tif err == nil {\n\t\t\t\t\tsl = reflect.ValueOf(old) // existing slice\n\t\t\t\t} else {\n\t\t\t\t\tsl = reflect.MakeSlice(typ, 0, 1)\n\t\t\t\t}\n\t\t\t\tsl = reflect.Append(sl, ext)\n\t\t\t\tSetExtension(ep, desc, sl.Interface())\n\t\t\t}\n\t\t\tif err := p.consumeOptionalSeparator(); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\n\t\t// This is a normal, non-extension field.\n\t\tname := tok.value\n\t\tvar dst reflect.Value\n\t\tfi, props, ok := structFieldByName(sprops, name)\n\t\tif ok {\n\t\t\tdst = sv.Field(fi)\n\t\t} else if oop, ok := sprops.OneofTypes[name]; ok {\n\t\t\t// It is a oneof.\n\t\t\tprops = oop.Prop\n\t\t\tnv := reflect.New(oop.Type.Elem())\n\t\t\tdst = nv.Elem().Field(0)\n\t\t\tfield := sv.Field(oop.Field)\n\t\t\tif !field.IsNil() {\n\t\t\t\treturn p.errorf(\"field '%s' would overwrite already parsed oneof '%s'\", name, sv.Type().Field(oop.Field).Name)\n\t\t\t}\n\t\t\tfield.Set(nv)\n\t\t}\n\t\tif !dst.IsValid() {\n\t\t\treturn p.errorf(\"unknown field name %q in %v\", name, st)\n\t\t}\n\n\t\tif dst.Kind() == reflect.Map {\n\t\t\t// Consume any colon.\n\t\t\tif err := p.checkForColon(props, dst.Type()); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\n\t\t\t// Construct the map if it doesn't already exist.\n\t\t\tif dst.IsNil() {\n\t\t\t\tdst.Set(reflect.MakeMap(dst.Type()))\n\t\t\t}\n\t\t\tkey := reflect.New(dst.Type().Key()).Elem()\n\t\t\tval := reflect.New(dst.Type().Elem()).Elem()\n\n\t\t\t// The map entry should be this sequence of tokens:\n\t\t\t//\t< key : KEY value : VALUE >\n\t\t\t// However, implementations may omit key or value, and technically\n\t\t\t// we should support them in any order.  See b/28924776 for a time\n\t\t\t// this went wrong.\n\n\t\t\ttok := p.next()\n\t\t\tvar terminator string\n\t\t\tswitch tok.value {\n\t\t\tcase \"<\":\n\t\t\t\tterminator = \">\"\n\t\t\tcase \"{\":\n\t\t\t\tterminator = \"}\"\n\t\t\tdefault:\n\t\t\t\treturn p.errorf(\"expected '{' or '<', found %q\", tok.value)\n\t\t\t}\n\t\t\tfor {\n\t\t\t\ttok := p.next()\n\t\t\t\tif tok.err != nil {\n\t\t\t\t\treturn tok.err\n\t\t\t\t}\n\t\t\t\tif tok.value == terminator {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tswitch tok.value {\n\t\t\t\tcase \"key\":\n\t\t\t\t\tif err := p.consumeToken(\":\"); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tif err := p.readAny(key, props.mkeyprop); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tif err := p.consumeOptionalSeparator(); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\tcase \"value\":\n\t\t\t\t\tif err := p.checkForColon(props.mvalprop, dst.Type().Elem()); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tif err := p.readAny(val, props.mvalprop); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tif err := p.consumeOptionalSeparator(); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tp.back()\n\t\t\t\t\treturn p.errorf(`expected \"key\", \"value\", or %q, found %q`, terminator, tok.value)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tdst.SetMapIndex(key, val)\n\t\t\tcontinue\n\t\t}\n\n\t\t// Check that it's not already set if it's not a repeated field.\n\t\tif !props.Repeated && fieldSet[name] {\n\t\t\treturn p.errorf(\"non-repeated field %q was repeated\", name)\n\t\t}\n\n\t\tif err := p.checkForColon(props, dst.Type()); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\t// Parse into the field.\n\t\tfieldSet[name] = true\n\t\tif err := p.readAny(dst, props); err != nil {\n\t\t\tif _, ok := err.(*RequiredNotSetError); !ok {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\treqFieldErr = err\n\t\t}\n\t\tif props.Required {\n\t\t\treqCount--\n\t\t}\n\n\t\tif err := p.consumeOptionalSeparator(); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\n\tif reqCount > 0 {\n\t\treturn p.missingRequiredFieldError(sv)\n\t}\n\treturn reqFieldErr\n}\n\n// consumeExtName consumes extension name or expanded Any type URL and the\n// following ']'. It returns the name or URL consumed.\nfunc (p *textParser) consumeExtName() (string, error) {\n\ttok := p.next()\n\tif tok.err != nil {\n\t\treturn \"\", tok.err\n\t}\n\n\t// If extension name or type url is quoted, it's a single token.\n\tif len(tok.value) > 2 && isQuote(tok.value[0]) && tok.value[len(tok.value)-1] == tok.value[0] {\n\t\tname, err := unquoteC(tok.value[1:len(tok.value)-1], rune(tok.value[0]))\n\t\tif err != nil {\n\t\t\treturn \"\", err\n\t\t}\n\t\treturn name, p.consumeToken(\"]\")\n\t}\n\n\t// Consume everything up to \"]\"\n\tvar parts []string\n\tfor tok.value != \"]\" {\n\t\tparts = append(parts, tok.value)\n\t\ttok = p.next()\n\t\tif tok.err != nil {\n\t\t\treturn \"\", p.errorf(\"unrecognized type_url or extension name: %s\", tok.err)\n\t\t}\n\t\tif p.done && tok.value != \"]\" {\n\t\t\treturn \"\", p.errorf(\"unclosed type_url or extension name\")\n\t\t}\n\t}\n\treturn strings.Join(parts, \"\"), nil\n}\n\n// consumeOptionalSeparator consumes an optional semicolon or comma.\n// It is used in readStruct to provide backward compatibility.\nfunc (p *textParser) consumeOptionalSeparator() error {\n\ttok := p.next()\n\tif tok.err != nil {\n\t\treturn tok.err\n\t}\n\tif tok.value != \";\" && tok.value != \",\" {\n\t\tp.back()\n\t}\n\treturn nil\n}\n\nfunc (p *textParser) readAny(v reflect.Value, props *Properties) error {\n\ttok := p.next()\n\tif tok.err != nil {\n\t\treturn tok.err\n\t}\n\tif tok.value == \"\" {\n\t\treturn p.errorf(\"unexpected EOF\")\n\t}\n\tif len(props.CustomType) > 0 {\n\t\tif props.Repeated {\n\t\t\tt := reflect.TypeOf(v.Interface())\n\t\t\tif t.Kind() == reflect.Slice {\n\t\t\t\ttc := reflect.TypeOf(new(Marshaler))\n\t\t\t\tok := t.Elem().Implements(tc.Elem())\n\t\t\t\tif ok {\n\t\t\t\t\tfv := v\n\t\t\t\t\tflen := fv.Len()\n\t\t\t\t\tif flen == fv.Cap() {\n\t\t\t\t\t\tnav := reflect.MakeSlice(v.Type(), flen, 2*flen+1)\n\t\t\t\t\t\treflect.Copy(nav, fv)\n\t\t\t\t\t\tfv.Set(nav)\n\t\t\t\t\t}\n\t\t\t\t\tfv.SetLen(flen + 1)\n\n\t\t\t\t\t// Read one.\n\t\t\t\t\tp.back()\n\t\t\t\t\treturn p.readAny(fv.Index(flen), props)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif reflect.TypeOf(v.Interface()).Kind() == reflect.Ptr {\n\t\t\tcustom := reflect.New(props.ctype.Elem()).Interface().(Unmarshaler)\n\t\t\terr := custom.Unmarshal([]byte(tok.unquoted))\n\t\t\tif err != nil {\n\t\t\t\treturn p.errorf(\"%v %v: %v\", err, v.Type(), tok.value)\n\t\t\t}\n\t\t\tv.Set(reflect.ValueOf(custom))\n\t\t} else {\n\t\t\tcustom := reflect.New(reflect.TypeOf(v.Interface())).Interface().(Unmarshaler)\n\t\t\terr := custom.Unmarshal([]byte(tok.unquoted))\n\t\t\tif err != nil {\n\t\t\t\treturn p.errorf(\"%v %v: %v\", err, v.Type(), tok.value)\n\t\t\t}\n\t\t\tv.Set(reflect.Indirect(reflect.ValueOf(custom)))\n\t\t}\n\t\treturn nil\n\t}\n\tif props.StdTime {\n\t\tfv := v\n\t\tp.back()\n\t\tprops.StdTime = false\n\t\ttproto := &timestamp{}\n\t\terr := p.readAny(reflect.ValueOf(tproto).Elem(), props)\n\t\tprops.StdTime = true\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttim, err := timestampFromProto(tproto)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif props.Repeated {\n\t\t\tt := reflect.TypeOf(v.Interface())\n\t\t\tif t.Kind() == reflect.Slice {\n\t\t\t\tif t.Elem().Kind() == reflect.Ptr {\n\t\t\t\t\tts := fv.Interface().([]*time.Time)\n\t\t\t\t\tts = append(ts, &tim)\n\t\t\t\t\tfv.Set(reflect.ValueOf(ts))\n\t\t\t\t\treturn nil\n\t\t\t\t} else {\n\t\t\t\t\tts := fv.Interface().([]time.Time)\n\t\t\t\t\tts = append(ts, tim)\n\t\t\t\t\tfv.Set(reflect.ValueOf(ts))\n\t\t\t\t\treturn nil\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif reflect.TypeOf(v.Interface()).Kind() == reflect.Ptr {\n\t\t\tv.Set(reflect.ValueOf(&tim))\n\t\t} else {\n\t\t\tv.Set(reflect.Indirect(reflect.ValueOf(&tim)))\n\t\t}\n\t\treturn nil\n\t}\n\tif props.StdDuration {\n\t\tfv := v\n\t\tp.back()\n\t\tprops.StdDuration = false\n\t\tdproto := &duration{}\n\t\terr := p.readAny(reflect.ValueOf(dproto).Elem(), props)\n\t\tprops.StdDuration = true\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdur, err := durationFromProto(dproto)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif props.Repeated {\n\t\t\tt := reflect.TypeOf(v.Interface())\n\t\t\tif t.Kind() == reflect.Slice {\n\t\t\t\tif t.Elem().Kind() == reflect.Ptr {\n\t\t\t\t\tds := fv.Interface().([]*time.Duration)\n\t\t\t\t\tds = append(ds, &dur)\n\t\t\t\t\tfv.Set(reflect.ValueOf(ds))\n\t\t\t\t\treturn nil\n\t\t\t\t} else {\n\t\t\t\t\tds := fv.Interface().([]time.Duration)\n\t\t\t\t\tds = append(ds, dur)\n\t\t\t\t\tfv.Set(reflect.ValueOf(ds))\n\t\t\t\t\treturn nil\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif reflect.TypeOf(v.Interface()).Kind() == reflect.Ptr {\n\t\t\tv.Set(reflect.ValueOf(&dur))\n\t\t} else {\n\t\t\tv.Set(reflect.Indirect(reflect.ValueOf(&dur)))\n\t\t}\n\t\treturn nil\n\t}\n\tswitch fv := v; fv.Kind() {\n\tcase reflect.Slice:\n\t\tat := v.Type()\n\t\tif at.Elem().Kind() == reflect.Uint8 {\n\t\t\t// Special case for []byte\n\t\t\tif tok.value[0] != '\"' && tok.value[0] != '\\'' {\n\t\t\t\t// Deliberately written out here, as the error after\n\t\t\t\t// this switch statement would write \"invalid []byte: ...\",\n\t\t\t\t// which is not as user-friendly.\n\t\t\t\treturn p.errorf(\"invalid string: %v\", tok.value)\n\t\t\t}\n\t\t\tbytes := []byte(tok.unquoted)\n\t\t\tfv.Set(reflect.ValueOf(bytes))\n\t\t\treturn nil\n\t\t}\n\t\t// Repeated field.\n\t\tif tok.value == \"[\" {\n\t\t\t// Repeated field with list notation, like [1,2,3].\n\t\t\tfor {\n\t\t\t\tfv.Set(reflect.Append(fv, reflect.New(at.Elem()).Elem()))\n\t\t\t\terr := p.readAny(fv.Index(fv.Len()-1), props)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tntok := p.next()\n\t\t\t\tif ntok.err != nil {\n\t\t\t\t\treturn ntok.err\n\t\t\t\t}\n\t\t\t\tif ntok.value == \"]\" {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tif ntok.value != \",\" {\n\t\t\t\t\treturn p.errorf(\"Expected ']' or ',' found %q\", ntok.value)\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn nil\n\t\t}\n\t\t// One value of the repeated field.\n\t\tp.back()\n\t\tfv.Set(reflect.Append(fv, reflect.New(at.Elem()).Elem()))\n\t\treturn p.readAny(fv.Index(fv.Len()-1), props)\n\tcase reflect.Bool:\n\t\t// true/1/t/True or false/f/0/False.\n\t\tswitch tok.value {\n\t\tcase \"true\", \"1\", \"t\", \"True\":\n\t\t\tfv.SetBool(true)\n\t\t\treturn nil\n\t\tcase \"false\", \"0\", \"f\", \"False\":\n\t\t\tfv.SetBool(false)\n\t\t\treturn nil\n\t\t}\n\tcase reflect.Float32, reflect.Float64:\n\t\tv := tok.value\n\t\t// Ignore 'f' for compatibility with output generated by C++, but don't\n\t\t// remove 'f' when the value is \"-inf\" or \"inf\".\n\t\tif strings.HasSuffix(v, \"f\") && tok.value != \"-inf\" && tok.value != \"inf\" {\n\t\t\tv = v[:len(v)-1]\n\t\t}\n\t\tif f, err := strconv.ParseFloat(v, fv.Type().Bits()); err == nil {\n\t\t\tfv.SetFloat(f)\n\t\t\treturn nil\n\t\t}\n\tcase reflect.Int32:\n\t\tif x, err := strconv.ParseInt(tok.value, 0, 32); err == nil {\n\t\t\tfv.SetInt(x)\n\t\t\treturn nil\n\t\t}\n\n\t\tif len(props.Enum) == 0 {\n\t\t\tbreak\n\t\t}\n\t\tm, ok := enumValueMaps[props.Enum]\n\t\tif !ok {\n\t\t\tbreak\n\t\t}\n\t\tx, ok := m[tok.value]\n\t\tif !ok {\n\t\t\tbreak\n\t\t}\n\t\tfv.SetInt(int64(x))\n\t\treturn nil\n\tcase reflect.Int64:\n\t\tif x, err := strconv.ParseInt(tok.value, 0, 64); err == nil {\n\t\t\tfv.SetInt(x)\n\t\t\treturn nil\n\t\t}\n\n\tcase reflect.Ptr:\n\t\t// A basic field (indirected through pointer), or a repeated message/group\n\t\tp.back()\n\t\tfv.Set(reflect.New(fv.Type().Elem()))\n\t\treturn p.readAny(fv.Elem(), props)\n\tcase reflect.String:\n\t\tif tok.value[0] == '\"' || tok.value[0] == '\\'' {\n\t\t\tfv.SetString(tok.unquoted)\n\t\t\treturn nil\n\t\t}\n\tcase reflect.Struct:\n\t\tvar terminator string\n\t\tswitch tok.value {\n\t\tcase \"{\":\n\t\t\tterminator = \"}\"\n\t\tcase \"<\":\n\t\t\tterminator = \">\"\n\t\tdefault:\n\t\t\treturn p.errorf(\"expected '{' or '<', found %q\", tok.value)\n\t\t}\n\t\t// TODO: Handle nested messages which implement encoding.TextUnmarshaler.\n\t\treturn p.readStruct(fv, terminator)\n\tcase reflect.Uint32:\n\t\tif x, err := strconv.ParseUint(tok.value, 0, 32); err == nil {\n\t\t\tfv.SetUint(uint64(x))\n\t\t\treturn nil\n\t\t}\n\tcase reflect.Uint64:\n\t\tif x, err := strconv.ParseUint(tok.value, 0, 64); err == nil {\n\t\t\tfv.SetUint(x)\n\t\t\treturn nil\n\t\t}\n\t}\n\treturn p.errorf(\"invalid %v: %v\", v.Type(), tok.value)\n}\n\n// UnmarshalText reads a protocol buffer in Text format. UnmarshalText resets pb\n// before starting to unmarshal, so any existing data in pb is always removed.\n// If a required field is not set and no other error occurs,\n// UnmarshalText returns *RequiredNotSetError.\nfunc UnmarshalText(s string, pb Message) error {\n\tif um, ok := pb.(encoding.TextUnmarshaler); ok {\n\t\treturn um.UnmarshalText([]byte(s))\n\t}\n\tpb.Reset()\n\tv := reflect.ValueOf(pb)\n\treturn newTextParser(s).readStruct(v.Elem(), \"\")\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/timestamp.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2016 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\n// This file implements operations on google.protobuf.Timestamp.\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"time\"\n)\n\nconst (\n\t// Seconds field of the earliest valid Timestamp.\n\t// This is time.Date(1, 1, 1, 0, 0, 0, 0, time.UTC).Unix().\n\tminValidSeconds = -62135596800\n\t// Seconds field just after the latest valid Timestamp.\n\t// This is time.Date(10000, 1, 1, 0, 0, 0, 0, time.UTC).Unix().\n\tmaxValidSeconds = 253402300800\n)\n\n// validateTimestamp determines whether a Timestamp is valid.\n// A valid timestamp represents a time in the range\n// [0001-01-01, 10000-01-01) and has a Nanos field\n// in the range [0, 1e9).\n//\n// If the Timestamp is valid, validateTimestamp returns nil.\n// Otherwise, it returns an error that describes\n// the problem.\n//\n// Every valid Timestamp can be represented by a time.Time, but the converse is not true.\nfunc validateTimestamp(ts *timestamp) error {\n\tif ts == nil {\n\t\treturn errors.New(\"timestamp: nil Timestamp\")\n\t}\n\tif ts.Seconds < minValidSeconds {\n\t\treturn fmt.Errorf(\"timestamp: %#v before 0001-01-01\", ts)\n\t}\n\tif ts.Seconds >= maxValidSeconds {\n\t\treturn fmt.Errorf(\"timestamp: %#v after 10000-01-01\", ts)\n\t}\n\tif ts.Nanos < 0 || ts.Nanos >= 1e9 {\n\t\treturn fmt.Errorf(\"timestamp: %#v: nanos not in range [0, 1e9)\", ts)\n\t}\n\treturn nil\n}\n\n// TimestampFromProto converts a google.protobuf.Timestamp proto to a time.Time.\n// It returns an error if the argument is invalid.\n//\n// Unlike most Go functions, if Timestamp returns an error, the first return value\n// is not the zero time.Time. Instead, it is the value obtained from the\n// time.Unix function when passed the contents of the Timestamp, in the UTC\n// locale. This may or may not be a meaningful time; many invalid Timestamps\n// do map to valid time.Times.\n//\n// A nil Timestamp returns an error. The first return value in that case is\n// undefined.\nfunc timestampFromProto(ts *timestamp) (time.Time, error) {\n\t// Don't return the zero value on error, because corresponds to a valid\n\t// timestamp. Instead return whatever time.Unix gives us.\n\tvar t time.Time\n\tif ts == nil {\n\t\tt = time.Unix(0, 0).UTC() // treat nil like the empty Timestamp\n\t} else {\n\t\tt = time.Unix(ts.Seconds, int64(ts.Nanos)).UTC()\n\t}\n\treturn t, validateTimestamp(ts)\n}\n\n// TimestampProto converts the time.Time to a google.protobuf.Timestamp proto.\n// It returns an error if the resulting Timestamp is invalid.\nfunc timestampProto(t time.Time) (*timestamp, error) {\n\tseconds := t.Unix()\n\tnanos := int32(t.Sub(time.Unix(seconds, 0)))\n\tts := &timestamp{\n\t\tSeconds: seconds,\n\t\tNanos:   nanos,\n\t}\n\tif err := validateTimestamp(ts); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ts, nil\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/proto/timestamp_gogo.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2016, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\nimport (\n\t\"reflect\"\n\t\"time\"\n)\n\nvar timeType = reflect.TypeOf((*time.Time)(nil)).Elem()\n\ntype timestamp struct {\n\tSeconds int64 `protobuf:\"varint,1,opt,name=seconds,proto3\" json:\"seconds,omitempty\"`\n\tNanos   int32 `protobuf:\"varint,2,opt,name=nanos,proto3\" json:\"nanos,omitempty\"`\n}\n\nfunc (m *timestamp) Reset()       { *m = timestamp{} }\nfunc (*timestamp) ProtoMessage()  {}\nfunc (*timestamp) String() string { return \"timestamp<string>\" }\n\nfunc init() {\n\tRegisterType((*timestamp)(nil), \"gogo.protobuf.proto.timestamp\")\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/Makefile",
    "content": "# Go support for Protocol Buffers - Google's data interchange format\n#\n# Copyright 2010 The Go Authors.  All rights reserved.\n# https://github.com/golang/protobuf\n#\n# Redistribution and use in source and binary forms, with or without\n# modification, are permitted provided that the following conditions are\n# met:\n#\n#     * Redistributions of source code must retain the above copyright\n# notice, this list of conditions and the following disclaimer.\n#     * Redistributions in binary form must reproduce the above\n# copyright notice, this list of conditions and the following disclaimer\n# in the documentation and/or other materials provided with the\n# distribution.\n#     * Neither the name of Google Inc. nor the names of its\n# contributors may be used to endorse or promote products derived from\n# this software without specific prior written permission.\n#\n# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n# \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\nregenerate:\n\tgo install github.com/gogo/protobuf/protoc-gen-gogo\n\tgo install github.com/gogo/protobuf/protoc-gen-gostring\n\tprotoc --gogo_out=. -I=../../protobuf/google/protobuf ../../protobuf/google/protobuf/descriptor.proto\n\tprotoc --gostring_out=. -I=../../protobuf/google/protobuf ../../protobuf/google/protobuf/descriptor.proto\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2016 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n// Package descriptor provides functions for obtaining protocol buffer\n// descriptors for generated Go types.\n//\n// These functions cannot go in package proto because they depend on the\n// generated protobuf descriptor messages, which themselves depend on proto.\npackage descriptor\n\nimport (\n\t\"bytes\"\n\t\"compress/gzip\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\n\t\"github.com/gogo/protobuf/proto\"\n)\n\n// extractFile extracts a FileDescriptorProto from a gzip'd buffer.\nfunc extractFile(gz []byte) (*FileDescriptorProto, error) {\n\tr, err := gzip.NewReader(bytes.NewReader(gz))\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"failed to open gzip reader: %v\", err)\n\t}\n\tdefer r.Close()\n\n\tb, err := ioutil.ReadAll(r)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"failed to uncompress descriptor: %v\", err)\n\t}\n\n\tfd := new(FileDescriptorProto)\n\tif err := proto.Unmarshal(b, fd); err != nil {\n\t\treturn nil, fmt.Errorf(\"malformed FileDescriptorProto: %v\", err)\n\t}\n\n\treturn fd, nil\n}\n\n// Message is a proto.Message with a method to return its descriptor.\n//\n// Message types generated by the protocol compiler always satisfy\n// the Message interface.\ntype Message interface {\n\tproto.Message\n\tDescriptor() ([]byte, []int)\n}\n\n// ForMessage returns a FileDescriptorProto and a DescriptorProto from within it\n// describing the given message.\nfunc ForMessage(msg Message) (fd *FileDescriptorProto, md *DescriptorProto) {\n\tgz, path := msg.Descriptor()\n\tfd, err := extractFile(gz)\n\tif err != nil {\n\t\tpanic(fmt.Sprintf(\"invalid FileDescriptorProto for %T: %v\", msg, err))\n\t}\n\n\tmd = fd.MessageType[path[0]]\n\tfor _, i := range path[1:] {\n\t\tmd = md.NestedType[i]\n\t}\n\treturn fd, md\n}\n\n// Is this field a scalar numeric type?\nfunc (field *FieldDescriptorProto) IsScalar() bool {\n\tif field.Type == nil {\n\t\treturn false\n\t}\n\tswitch *field.Type {\n\tcase FieldDescriptorProto_TYPE_DOUBLE,\n\t\tFieldDescriptorProto_TYPE_FLOAT,\n\t\tFieldDescriptorProto_TYPE_INT64,\n\t\tFieldDescriptorProto_TYPE_UINT64,\n\t\tFieldDescriptorProto_TYPE_INT32,\n\t\tFieldDescriptorProto_TYPE_FIXED64,\n\t\tFieldDescriptorProto_TYPE_FIXED32,\n\t\tFieldDescriptorProto_TYPE_BOOL,\n\t\tFieldDescriptorProto_TYPE_UINT32,\n\t\tFieldDescriptorProto_TYPE_ENUM,\n\t\tFieldDescriptorProto_TYPE_SFIXED32,\n\t\tFieldDescriptorProto_TYPE_SFIXED64,\n\t\tFieldDescriptorProto_TYPE_SINT32,\n\t\tFieldDescriptorProto_TYPE_SINT64:\n\t\treturn true\n\tdefault:\n\t\treturn false\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor.pb.go",
    "content": "// Code generated by protoc-gen-gogo. DO NOT EDIT.\n// source: descriptor.proto\n\npackage descriptor\n\nimport proto \"github.com/gogo/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\n// This is a compile-time assertion to ensure that this generated file\n// is compatible with the proto package it is being compiled against.\n// A compilation error at this line likely means your copy of the\n// proto package needs to be updated.\nconst _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package\n\ntype FieldDescriptorProto_Type int32\n\nconst (\n\t// 0 is reserved for errors.\n\t// Order is weird for historical reasons.\n\tFieldDescriptorProto_TYPE_DOUBLE FieldDescriptorProto_Type = 1\n\tFieldDescriptorProto_TYPE_FLOAT  FieldDescriptorProto_Type = 2\n\t// Not ZigZag encoded.  Negative numbers take 10 bytes.  Use TYPE_SINT64 if\n\t// negative values are likely.\n\tFieldDescriptorProto_TYPE_INT64  FieldDescriptorProto_Type = 3\n\tFieldDescriptorProto_TYPE_UINT64 FieldDescriptorProto_Type = 4\n\t// Not ZigZag encoded.  Negative numbers take 10 bytes.  Use TYPE_SINT32 if\n\t// negative values are likely.\n\tFieldDescriptorProto_TYPE_INT32   FieldDescriptorProto_Type = 5\n\tFieldDescriptorProto_TYPE_FIXED64 FieldDescriptorProto_Type = 6\n\tFieldDescriptorProto_TYPE_FIXED32 FieldDescriptorProto_Type = 7\n\tFieldDescriptorProto_TYPE_BOOL    FieldDescriptorProto_Type = 8\n\tFieldDescriptorProto_TYPE_STRING  FieldDescriptorProto_Type = 9\n\t// Tag-delimited aggregate.\n\t// Group type is deprecated and not supported in proto3. However, Proto3\n\t// implementations should still be able to parse the group wire format and\n\t// treat group fields as unknown fields.\n\tFieldDescriptorProto_TYPE_GROUP   FieldDescriptorProto_Type = 10\n\tFieldDescriptorProto_TYPE_MESSAGE FieldDescriptorProto_Type = 11\n\t// New in version 2.\n\tFieldDescriptorProto_TYPE_BYTES    FieldDescriptorProto_Type = 12\n\tFieldDescriptorProto_TYPE_UINT32   FieldDescriptorProto_Type = 13\n\tFieldDescriptorProto_TYPE_ENUM     FieldDescriptorProto_Type = 14\n\tFieldDescriptorProto_TYPE_SFIXED32 FieldDescriptorProto_Type = 15\n\tFieldDescriptorProto_TYPE_SFIXED64 FieldDescriptorProto_Type = 16\n\tFieldDescriptorProto_TYPE_SINT32   FieldDescriptorProto_Type = 17\n\tFieldDescriptorProto_TYPE_SINT64   FieldDescriptorProto_Type = 18\n)\n\nvar FieldDescriptorProto_Type_name = map[int32]string{\n\t1:  \"TYPE_DOUBLE\",\n\t2:  \"TYPE_FLOAT\",\n\t3:  \"TYPE_INT64\",\n\t4:  \"TYPE_UINT64\",\n\t5:  \"TYPE_INT32\",\n\t6:  \"TYPE_FIXED64\",\n\t7:  \"TYPE_FIXED32\",\n\t8:  \"TYPE_BOOL\",\n\t9:  \"TYPE_STRING\",\n\t10: \"TYPE_GROUP\",\n\t11: \"TYPE_MESSAGE\",\n\t12: \"TYPE_BYTES\",\n\t13: \"TYPE_UINT32\",\n\t14: \"TYPE_ENUM\",\n\t15: \"TYPE_SFIXED32\",\n\t16: \"TYPE_SFIXED64\",\n\t17: \"TYPE_SINT32\",\n\t18: \"TYPE_SINT64\",\n}\nvar FieldDescriptorProto_Type_value = map[string]int32{\n\t\"TYPE_DOUBLE\":   1,\n\t\"TYPE_FLOAT\":    2,\n\t\"TYPE_INT64\":    3,\n\t\"TYPE_UINT64\":   4,\n\t\"TYPE_INT32\":    5,\n\t\"TYPE_FIXED64\":  6,\n\t\"TYPE_FIXED32\":  7,\n\t\"TYPE_BOOL\":     8,\n\t\"TYPE_STRING\":   9,\n\t\"TYPE_GROUP\":    10,\n\t\"TYPE_MESSAGE\":  11,\n\t\"TYPE_BYTES\":    12,\n\t\"TYPE_UINT32\":   13,\n\t\"TYPE_ENUM\":     14,\n\t\"TYPE_SFIXED32\": 15,\n\t\"TYPE_SFIXED64\": 16,\n\t\"TYPE_SINT32\":   17,\n\t\"TYPE_SINT64\":   18,\n}\n\nfunc (x FieldDescriptorProto_Type) Enum() *FieldDescriptorProto_Type {\n\tp := new(FieldDescriptorProto_Type)\n\t*p = x\n\treturn p\n}\nfunc (x FieldDescriptorProto_Type) String() string {\n\treturn proto.EnumName(FieldDescriptorProto_Type_name, int32(x))\n}\nfunc (x *FieldDescriptorProto_Type) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(FieldDescriptorProto_Type_value, data, \"FieldDescriptorProto_Type\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = FieldDescriptorProto_Type(value)\n\treturn nil\n}\nfunc (FieldDescriptorProto_Type) EnumDescriptor() ([]byte, []int) {\n\treturn fileDescriptor_descriptor_9588782fb9cbecd6, []int{4, 0}\n}\n\ntype FieldDescriptorProto_Label int32\n\nconst (\n\t// 0 is reserved for errors\n\tFieldDescriptorProto_LABEL_OPTIONAL FieldDescriptorProto_Label = 1\n\tFieldDescriptorProto_LABEL_REQUIRED FieldDescriptorProto_Label = 2\n\tFieldDescriptorProto_LABEL_REPEATED FieldDescriptorProto_Label = 3\n)\n\nvar FieldDescriptorProto_Label_name = map[int32]string{\n\t1: \"LABEL_OPTIONAL\",\n\t2: \"LABEL_REQUIRED\",\n\t3: \"LABEL_REPEATED\",\n}\nvar FieldDescriptorProto_Label_value = map[string]int32{\n\t\"LABEL_OPTIONAL\": 1,\n\t\"LABEL_REQUIRED\": 2,\n\t\"LABEL_REPEATED\": 3,\n}\n\nfunc (x FieldDescriptorProto_Label) Enum() *FieldDescriptorProto_Label {\n\tp := new(FieldDescriptorProto_Label)\n\t*p = x\n\treturn p\n}\nfunc (x FieldDescriptorProto_Label) String() string {\n\treturn proto.EnumName(FieldDescriptorProto_Label_name, int32(x))\n}\nfunc (x *FieldDescriptorProto_Label) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(FieldDescriptorProto_Label_value, data, \"FieldDescriptorProto_Label\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = FieldDescriptorProto_Label(value)\n\treturn nil\n}\nfunc (FieldDescriptorProto_Label) EnumDescriptor() ([]byte, []int) {\n\treturn fileDescriptor_descriptor_9588782fb9cbecd6, []int{4, 1}\n}\n\n// Generated classes can be optimized for speed or code size.\ntype FileOptions_OptimizeMode int32\n\nconst (\n\tFileOptions_SPEED FileOptions_OptimizeMode = 1\n\t// etc.\n\tFileOptions_CODE_SIZE    FileOptions_OptimizeMode = 2\n\tFileOptions_LITE_RUNTIME FileOptions_OptimizeMode = 3\n)\n\nvar FileOptions_OptimizeMode_name = map[int32]string{\n\t1: \"SPEED\",\n\t2: \"CODE_SIZE\",\n\t3: \"LITE_RUNTIME\",\n}\nvar FileOptions_OptimizeMode_value = map[string]int32{\n\t\"SPEED\":        1,\n\t\"CODE_SIZE\":    2,\n\t\"LITE_RUNTIME\": 3,\n}\n\nfunc (x FileOptions_OptimizeMode) Enum() *FileOptions_OptimizeMode {\n\tp := new(FileOptions_OptimizeMode)\n\t*p = x\n\treturn p\n}\nfunc (x FileOptions_OptimizeMode) String() string {\n\treturn proto.EnumName(FileOptions_OptimizeMode_name, int32(x))\n}\nfunc (x *FileOptions_OptimizeMode) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(FileOptions_OptimizeMode_value, data, \"FileOptions_OptimizeMode\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = FileOptions_OptimizeMode(value)\n\treturn nil\n}\nfunc (FileOptions_OptimizeMode) EnumDescriptor() ([]byte, []int) {\n\treturn fileDescriptor_descriptor_9588782fb9cbecd6, []int{10, 0}\n}\n\ntype FieldOptions_CType int32\n\nconst (\n\t// Default mode.\n\tFieldOptions_STRING       FieldOptions_CType = 0\n\tFieldOptions_CORD         FieldOptions_CType = 1\n\tFieldOptions_STRING_PIECE FieldOptions_CType = 2\n)\n\nvar FieldOptions_CType_name = map[int32]string{\n\t0: \"STRING\",\n\t1: \"CORD\",\n\t2: \"STRING_PIECE\",\n}\nvar FieldOptions_CType_value = map[string]int32{\n\t\"STRING\":       0,\n\t\"CORD\":         1,\n\t\"STRING_PIECE\": 2,\n}\n\nfunc (x FieldOptions_CType) Enum() *FieldOptions_CType {\n\tp := new(FieldOptions_CType)\n\t*p = x\n\treturn p\n}\nfunc (x FieldOptions_CType) String() string {\n\treturn proto.EnumName(FieldOptions_CType_name, int32(x))\n}\nfunc (x *FieldOptions_CType) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(FieldOptions_CType_value, data, \"FieldOptions_CType\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = FieldOptions_CType(value)\n\treturn nil\n}\nfunc (FieldOptions_CType) EnumDescriptor() ([]byte, []int) {\n\treturn fileDescriptor_descriptor_9588782fb9cbecd6, []int{12, 0}\n}\n\ntype FieldOptions_JSType int32\n\nconst (\n\t// Use the default type.\n\tFieldOptions_JS_NORMAL FieldOptions_JSType = 0\n\t// Use JavaScript strings.\n\tFieldOptions_JS_STRING FieldOptions_JSType = 1\n\t// Use JavaScript numbers.\n\tFieldOptions_JS_NUMBER FieldOptions_JSType = 2\n)\n\nvar FieldOptions_JSType_name = map[int32]string{\n\t0: \"JS_NORMAL\",\n\t1: \"JS_STRING\",\n\t2: \"JS_NUMBER\",\n}\nvar FieldOptions_JSType_value = map[string]int32{\n\t\"JS_NORMAL\": 0,\n\t\"JS_STRING\": 1,\n\t\"JS_NUMBER\": 2,\n}\n\nfunc (x FieldOptions_JSType) Enum() *FieldOptions_JSType {\n\tp := new(FieldOptions_JSType)\n\t*p = x\n\treturn p\n}\nfunc (x FieldOptions_JSType) String() string {\n\treturn proto.EnumName(FieldOptions_JSType_name, int32(x))\n}\nfunc (x *FieldOptions_JSType) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(FieldOptions_JSType_value, data, \"FieldOptions_JSType\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = FieldOptions_JSType(value)\n\treturn nil\n}\nfunc (FieldOptions_JSType) EnumDescriptor() ([]byte, []int) {\n\treturn fileDescriptor_descriptor_9588782fb9cbecd6, []int{12, 1}\n}\n\n// Is this method side-effect-free (or safe in HTTP parlance), or idempotent,\n// or neither? HTTP based RPC implementation may choose GET verb for safe\n// methods, and PUT verb for idempotent methods instead of the default POST.\ntype MethodOptions_IdempotencyLevel int32\n\nconst (\n\tMethodOptions_IDEMPOTENCY_UNKNOWN MethodOptions_IdempotencyLevel = 0\n\tMethodOptions_NO_SIDE_EFFECTS     MethodOptions_IdempotencyLevel = 1\n\tMethodOptions_IDEMPOTENT          MethodOptions_IdempotencyLevel = 2\n)\n\nvar MethodOptions_IdempotencyLevel_name = map[int32]string{\n\t0: \"IDEMPOTENCY_UNKNOWN\",\n\t1: \"NO_SIDE_EFFECTS\",\n\t2: \"IDEMPOTENT\",\n}\nvar MethodOptions_IdempotencyLevel_value = map[string]int32{\n\t\"IDEMPOTENCY_UNKNOWN\": 0,\n\t\"NO_SIDE_EFFECTS\":     1,\n\t\"IDEMPOTENT\":          2,\n}\n\nfunc (x MethodOptions_IdempotencyLevel) Enum() *MethodOptions_IdempotencyLevel {\n\tp := new(MethodOptions_IdempotencyLevel)\n\t*p = x\n\treturn p\n}\nfunc (x MethodOptions_IdempotencyLevel) String() string {\n\treturn proto.EnumName(MethodOptions_IdempotencyLevel_name, int32(x))\n}\nfunc (x *MethodOptions_IdempotencyLevel) UnmarshalJSON(data []byte) error {\n\tvalue, err := proto.UnmarshalJSONEnum(MethodOptions_IdempotencyLevel_value, data, \"MethodOptions_IdempotencyLevel\")\n\tif err != nil {\n\t\treturn err\n\t}\n\t*x = MethodOptions_IdempotencyLevel(value)\n\treturn nil\n}\nfunc (MethodOptions_IdempotencyLevel) EnumDescriptor() ([]byte, []int) {\n\treturn fileDescriptor_descriptor_9588782fb9cbecd6, []int{17, 0}\n}\n\n// The protocol compiler can output a FileDescriptorSet containing the .proto\n// files it parses.\ntype FileDescriptorSet struct {\n\tFile                 []*FileDescriptorProto `protobuf:\"bytes,1,rep,name=file\" json:\"file,omitempty\"`\n\tXXX_NoUnkeyedLiteral struct{}               `json:\"-\"`\n\tXXX_unrecognized     []byte                 `json:\"-\"`\n\tXXX_sizecache        int32                  `json:\"-\"`\n}\n\nfunc (m *FileDescriptorSet) Reset()         { *m = FileDescriptorSet{} }\nfunc (m *FileDescriptorSet) String() string { return proto.CompactTextString(m) }\nfunc (*FileDescriptorSet) ProtoMessage()    {}\nfunc (*FileDescriptorSet) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor_descriptor_9588782fb9cbecd6, []int{0}\n}\nfunc (m *FileDescriptorSet) XXX_Unmarshal(b []byte) error {\n\treturn xxx_messageInfo_FileDescriptorSet.Unmarshal(m, b)\n}\nfunc (m *FileDescriptorSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {\n\treturn xxx_messageInfo_FileDescriptorSet.Marshal(b, m, deterministic)\n}\nfunc (dst *FileDescriptorSet) XXX_Merge(src proto.Message) {\n\txxx_messageInfo_FileDescriptorSet.Merge(dst, src)\n}\nfunc (m *FileDescriptorSet) XXX_Size() int {\n\treturn xxx_messageInfo_FileDescriptorSet.Size(m)\n}\nfunc (m *FileDescriptorSet) XXX_DiscardUnknown() {\n\txxx_messageInfo_FileDescriptorSet.DiscardUnknown(m)\n}\n\nvar xxx_messageInfo_FileDescriptorSet proto.InternalMessageInfo\n\nfunc (m *FileDescriptorSet) GetFile() []*FileDescriptorProto {\n\tif m != nil {\n\t\treturn m.File\n\t}\n\treturn nil\n}\n\n// Describes a complete .proto file.\ntype FileDescriptorProto struct {\n\tName    *string `protobuf:\"bytes,1,opt,name=name\" json:\"name,omitempty\"`\n\tPackage *string `protobuf:\"bytes,2,opt,name=package\" json:\"package,omitempty\"`\n\t// Names of files imported by this file.\n\tDependency []string `protobuf:\"bytes,3,rep,name=dependency\" json:\"dependency,omitempty\"`\n\t// Indexes of the public imported files in the dependency list above.\n\tPublicDependency []int32 `protobuf:\"varint,10,rep,name=public_dependency,json=publicDependency\" json:\"public_dependency,omitempty\"`\n\t// Indexes of the weak imported files in the dependency list.\n\t// For Google-internal migration only. Do not use.\n\tWeakDependency []int32 `protobuf:\"varint,11,rep,name=weak_dependency,json=weakDependency\" json:\"weak_dependency,omitempty\"`\n\t// All top-level definitions in this file.\n\tMessageType []*DescriptorProto        `protobuf:\"bytes,4,rep,name=message_type,json=messageType\" json:\"message_type,omitempty\"`\n\tEnumType    []*EnumDescriptorProto    `protobuf:\"bytes,5,rep,name=enum_type,json=enumType\" json:\"enum_type,omitempty\"`\n\tService     []*ServiceDescriptorProto `protobuf:\"bytes,6,rep,name=service\" json:\"service,omitempty\"`\n\tExtension   []*FieldDescriptorProto   `protobuf:\"bytes,7,rep,name=extension\" json:\"extension,omitempty\"`\n\tOptions     *FileOptions              `protobuf:\"bytes,8,opt,name=options\" json:\"options,omitempty\"`\n\t// This field contains optional information about the original source code.\n\t// You may safely remove this entire field without harming runtime\n\t// functionality of the descriptors -- the information is needed only by\n\t// development tools.\n\tSourceCodeInfo *SourceCodeInfo `protobuf:\"bytes,9,opt,name=source_code_info,json=sourceCodeInfo\" json:\"source_code_info,omitempty\"`\n\t// The syntax of the proto file.\n\t// The supported values are \"proto2\" and \"proto3\".\n\tSyntax               *string  `protobuf:\"bytes,12,opt,name=syntax\" json:\"syntax,omitempty\"`\n\tXXX_NoUnkeyedLiteral struct{} `json:\"-\"`\n\tXXX_unrecognized     []byte   `json:\"-\"`\n\tXXX_sizecache        int32    `json:\"-\"`\n}\n\nfunc (m *FileDescriptorProto) Reset()         { *m = FileDescriptorProto{} }\nfunc (m *FileDescriptorProto) String() string { return proto.CompactTextString(m) }\nfunc (*FileDescriptorProto) ProtoMessage()    {}\nfunc (*FileDescriptorProto) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor_descriptor_9588782fb9cbecd6, []int{1}\n}\nfunc (m *FileDescriptorProto) XXX_Unmarshal(b []byte) error {\n\treturn xxx_messageInfo_FileDescriptorProto.Unmarshal(m, b)\n}\nfunc (m *FileDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {\n\treturn xxx_messageInfo_FileDescriptorProto.Marshal(b, m, deterministic)\n}\nfunc (dst *FileDescriptorProto) XXX_Merge(src proto.Message) {\n\txxx_messageInfo_FileDescriptorProto.Merge(dst, src)\n}\nfunc (m *FileDescriptorProto) XXX_Size() int {\n\treturn xxx_messageInfo_FileDescriptorProto.Size(m)\n}\nfunc (m *FileDescriptorProto) XXX_DiscardUnknown() {\n\txxx_messageInfo_FileDescriptorProto.DiscardUnknown(m)\n}\n\nvar xxx_messageInfo_FileDescriptorProto proto.InternalMessageInfo\n\nfunc (m *FileDescriptorProto) GetName() string {\n\tif m != nil && m.Name != nil {\n\t\treturn *m.Name\n\t}\n\treturn \"\"\n}\n\nfunc (m *FileDescriptorProto) GetPackage() string {\n\tif m != nil && m.Package != nil {\n\t\treturn *m.Package\n\t}\n\treturn \"\"\n}\n\nfunc (m *FileDescriptorProto) GetDependency() []string {\n\tif m != nil {\n\t\treturn m.Dependency\n\t}\n\treturn nil\n}\n\nfunc (m *FileDescriptorProto) GetPublicDependency() []int32 {\n\tif m != nil {\n\t\treturn m.PublicDependency\n\t}\n\treturn nil\n}\n\nfunc (m *FileDescriptorProto) GetWeakDependency() []int32 {\n\tif m != nil {\n\t\treturn m.WeakDependency\n\t}\n\treturn nil\n}\n\nfunc (m *FileDescriptorProto) GetMessageType() []*DescriptorProto {\n\tif m != nil {\n\t\treturn m.MessageType\n\t}\n\treturn nil\n}\n\nfunc (m *FileDescriptorProto) GetEnumType() []*EnumDescriptorProto {\n\tif m != nil {\n\t\treturn m.EnumType\n\t}\n\treturn nil\n}\n\nfunc (m *FileDescriptorProto) GetService() []*ServiceDescriptorProto {\n\tif m != nil {\n\t\treturn m.Service\n\t}\n\treturn nil\n}\n\nfunc (m *FileDescriptorProto) GetExtension() []*FieldDescriptorProto {\n\tif m != nil {\n\t\treturn m.Extension\n\t}\n\treturn nil\n}\n\nfunc (m *FileDescriptorProto) GetOptions() *FileOptions {\n\tif m != nil {\n\t\treturn m.Options\n\t}\n\treturn nil\n}\n\nfunc (m *FileDescriptorProto) GetSourceCodeInfo() *SourceCodeInfo {\n\tif m != nil {\n\t\treturn m.SourceCodeInfo\n\t}\n\treturn nil\n}\n\nfunc (m *FileDescriptorProto) GetSyntax() string {\n\tif m != nil && m.Syntax != nil {\n\t\treturn *m.Syntax\n\t}\n\treturn \"\"\n}\n\n// Describes a message type.\ntype DescriptorProto struct {\n\tName           *string                           `protobuf:\"bytes,1,opt,name=name\" json:\"name,omitempty\"`\n\tField          []*FieldDescriptorProto           `protobuf:\"bytes,2,rep,name=field\" json:\"field,omitempty\"`\n\tExtension      []*FieldDescriptorProto           `protobuf:\"bytes,6,rep,name=extension\" json:\"extension,omitempty\"`\n\tNestedType     []*DescriptorProto                `protobuf:\"bytes,3,rep,name=nested_type,json=nestedType\" json:\"nested_type,omitempty\"`\n\tEnumType       []*EnumDescriptorProto            `protobuf:\"bytes,4,rep,name=enum_type,json=enumType\" json:\"enum_type,omitempty\"`\n\tExtensionRange []*DescriptorProto_ExtensionRange `protobuf:\"bytes,5,rep,name=extension_range,json=extensionRange\" json:\"extension_range,omitempty\"`\n\tOneofDecl      []*OneofDescriptorProto           `protobuf:\"bytes,8,rep,name=oneof_decl,json=oneofDecl\" json:\"oneof_decl,omitempty\"`\n\tOptions        *MessageOptions                   `protobuf:\"bytes,7,opt,name=options\" json:\"options,omitempty\"`\n\tReservedRange  []*DescriptorProto_ReservedRange  `protobuf:\"bytes,9,rep,name=reserved_range,json=reservedRange\" json:\"reserved_range,omitempty\"`\n\t// Reserved field names, which may not be used by fields in the same message.\n\t// A given name may only be reserved once.\n\tReservedName         []string `protobuf:\"bytes,10,rep,name=reserved_name,json=reservedName\" json:\"reserved_name,omitempty\"`\n\tXXX_NoUnkeyedLiteral struct{} `json:\"-\"`\n\tXXX_unrecognized     []byte   `json:\"-\"`\n\tXXX_sizecache        int32    `json:\"-\"`\n}\n\nfunc (m *DescriptorProto) Reset()         { *m = DescriptorProto{} }\nfunc (m *DescriptorProto) String() string { return proto.CompactTextString(m) }\nfunc (*DescriptorProto) ProtoMessage()    {}\nfunc (*DescriptorProto) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor_descriptor_9588782fb9cbecd6, []int{2}\n}\nfunc (m *DescriptorProto) XXX_Unmarshal(b []byte) error {\n\treturn xxx_messageInfo_DescriptorProto.Unmarshal(m, b)\n}\nfunc (m *DescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {\n\treturn xxx_messageInfo_DescriptorProto.Marshal(b, m, deterministic)\n}\nfunc (dst *DescriptorProto) XXX_Merge(src proto.Message) {\n\txxx_messageInfo_DescriptorProto.Merge(dst, src)\n}\nfunc (m *DescriptorProto) XXX_Size() int {\n\treturn xxx_messageInfo_DescriptorProto.Size(m)\n}\nfunc (m *DescriptorProto) XXX_DiscardUnknown() {\n\txxx_messageInfo_DescriptorProto.DiscardUnknown(m)\n}\n\nvar xxx_messageInfo_DescriptorProto proto.InternalMessageInfo\n\nfunc (m *DescriptorProto) GetName() string {\n\tif m != nil && m.Name != nil {\n\t\treturn *m.Name\n\t}\n\treturn \"\"\n}\n\nfunc (m *DescriptorProto) GetField() []*FieldDescriptorProto {\n\tif m != nil {\n\t\treturn m.Field\n\t}\n\treturn nil\n}\n\nfunc (m *DescriptorProto) GetExtension() []*FieldDescriptorProto {\n\tif m != nil {\n\t\treturn m.Extension\n\t}\n\treturn nil\n}\n\nfunc (m *DescriptorProto) GetNestedType() []*DescriptorProto {\n\tif m != nil {\n\t\treturn m.NestedType\n\t}\n\treturn nil\n}\n\nfunc (m *DescriptorProto) GetEnumType() []*EnumDescriptorProto {\n\tif m != nil {\n\t\treturn m.EnumType\n\t}\n\treturn nil\n}\n\nfunc (m *DescriptorProto) GetExtensionRange() []*DescriptorProto_ExtensionRange {\n\tif m != nil {\n\t\treturn m.ExtensionRange\n\t}\n\treturn nil\n}\n\nfunc (m *DescriptorProto) GetOneofDecl() []*OneofDescriptorProto {\n\tif m != nil {\n\t\treturn m.OneofDecl\n\t}\n\treturn nil\n}\n\nfunc (m *DescriptorProto) GetOptions() *MessageOptions {\n\tif m != nil {\n\t\treturn m.Options\n\t}\n\treturn nil\n}\n\nfunc (m *DescriptorProto) GetReservedRange() []*DescriptorProto_ReservedRange {\n\tif m != nil {\n\t\treturn m.ReservedRange\n\t}\n\treturn nil\n}\n\nfunc (m *DescriptorProto) GetReservedName() []string {\n\tif m != nil {\n\t\treturn m.ReservedName\n\t}\n\treturn nil\n}\n\ntype DescriptorProto_ExtensionRange struct {\n\tStart                *int32                 `protobuf:\"varint,1,opt,name=start\" json:\"start,omitempty\"`\n\tEnd                  *int32                 `protobuf:\"varint,2,opt,name=end\" json:\"end,omitempty\"`\n\tOptions              *ExtensionRangeOptions `protobuf:\"bytes,3,opt,name=options\" json:\"options,omitempty\"`\n\tXXX_NoUnkeyedLiteral struct{}               `json:\"-\"`\n\tXXX_unrecognized     []byte                 `json:\"-\"`\n\tXXX_sizecache        int32                  `json:\"-\"`\n}\n\nfunc (m *DescriptorProto_ExtensionRange) Reset()         { *m = DescriptorProto_ExtensionRange{} }\nfunc (m *DescriptorProto_ExtensionRange) String() string { return proto.CompactTextString(m) }\nfunc (*DescriptorProto_ExtensionRange) ProtoMessage()    {}\nfunc (*DescriptorProto_ExtensionRange) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor_descriptor_9588782fb9cbecd6, []int{2, 0}\n}\nfunc (m *DescriptorProto_ExtensionRange) XXX_Unmarshal(b []byte) error {\n\treturn xxx_messageInfo_DescriptorProto_ExtensionRange.Unmarshal(m, b)\n}\nfunc (m *DescriptorProto_ExtensionRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {\n\treturn xxx_messageInfo_DescriptorProto_ExtensionRange.Marshal(b, m, deterministic)\n}\nfunc (dst *DescriptorProto_ExtensionRange) XXX_Merge(src proto.Message) {\n\txxx_messageInfo_DescriptorProto_ExtensionRange.Merge(dst, src)\n}\nfunc (m *DescriptorProto_ExtensionRange) XXX_Size() int {\n\treturn xxx_messageInfo_DescriptorProto_ExtensionRange.Size(m)\n}\nfunc (m *DescriptorProto_ExtensionRange) XXX_DiscardUnknown() {\n\txxx_messageInfo_DescriptorProto_ExtensionRange.DiscardUnknown(m)\n}\n\nvar xxx_messageInfo_DescriptorProto_ExtensionRange proto.InternalMessageInfo\n\nfunc (m *DescriptorProto_ExtensionRange) GetStart() int32 {\n\tif m != nil && m.Start != nil {\n\t\treturn *m.Start\n\t}\n\treturn 0\n}\n\nfunc (m *DescriptorProto_ExtensionRange) GetEnd() int32 {\n\tif m != nil && m.End != nil {\n\t\treturn *m.End\n\t}\n\treturn 0\n}\n\nfunc (m *DescriptorProto_ExtensionRange) GetOptions() *ExtensionRangeOptions {\n\tif m != nil {\n\t\treturn m.Options\n\t}\n\treturn nil\n}\n\n// Range of reserved tag numbers. Reserved tag numbers may not be used by\n// fields or extension ranges in the same message. Reserved ranges may\n// not overlap.\ntype DescriptorProto_ReservedRange struct {\n\tStart                *int32   `protobuf:\"varint,1,opt,name=start\" json:\"start,omitempty\"`\n\tEnd                  *int32   `protobuf:\"varint,2,opt,name=end\" json:\"end,omitempty\"`\n\tXXX_NoUnkeyedLiteral struct{} `json:\"-\"`\n\tXXX_unrecognized     []byte   `json:\"-\"`\n\tXXX_sizecache        int32    `json:\"-\"`\n}\n\nfunc (m *DescriptorProto_ReservedRange) Reset()         { *m = DescriptorProto_ReservedRange{} }\nfunc (m *DescriptorProto_ReservedRange) String() string { return proto.CompactTextString(m) }\nfunc (*DescriptorProto_ReservedRange) ProtoMessage()    {}\nfunc (*DescriptorProto_ReservedRange) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor_descriptor_9588782fb9cbecd6, []int{2, 1}\n}\nfunc (m *DescriptorProto_ReservedRange) XXX_Unmarshal(b []byte) error {\n\treturn xxx_messageInfo_DescriptorProto_ReservedRange.Unmarshal(m, b)\n}\nfunc (m *DescriptorProto_ReservedRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {\n\treturn xxx_messageInfo_DescriptorProto_ReservedRange.Marshal(b, m, deterministic)\n}\nfunc (dst *DescriptorProto_ReservedRange) XXX_Merge(src proto.Message) {\n\txxx_messageInfo_DescriptorProto_ReservedRange.Merge(dst, src)\n}\nfunc (m *DescriptorProto_ReservedRange) XXX_Size() int {\n\treturn xxx_messageInfo_DescriptorProto_ReservedRange.Size(m)\n}\nfunc (m *DescriptorProto_ReservedRange) XXX_DiscardUnknown() {\n\txxx_messageInfo_DescriptorProto_ReservedRange.DiscardUnknown(m)\n}\n\nvar xxx_messageInfo_DescriptorProto_ReservedRange proto.InternalMessageInfo\n\nfunc (m *DescriptorProto_ReservedRange) GetStart() int32 {\n\tif m != nil && m.Start != nil {\n\t\treturn *m.Start\n\t}\n\treturn 0\n}\n\nfunc (m *DescriptorProto_ReservedRange) GetEnd() int32 {\n\tif m != nil && m.End != nil {\n\t\treturn *m.End\n\t}\n\treturn 0\n}\n\ntype ExtensionRangeOptions struct {\n\t// The parser stores options it doesn't recognize here. See above.\n\tUninterpretedOption          []*UninterpretedOption `protobuf:\"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption\" json:\"uninterpreted_option,omitempty\"`\n\tXXX_NoUnkeyedLiteral         struct{}               `json:\"-\"`\n\tproto.XXX_InternalExtensions `json:\"-\"`\n\tXXX_unrecognized             []byte `json:\"-\"`\n\tXXX_sizecache                int32  `json:\"-\"`\n}\n\nfunc (m *ExtensionRangeOptions) Reset()         { *m = ExtensionRangeOptions{} }\nfunc (m *ExtensionRangeOptions) String() string { return proto.CompactTextString(m) }\nfunc (*ExtensionRangeOptions) ProtoMessage()    {}\nfunc (*ExtensionRangeOptions) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor_descriptor_9588782fb9cbecd6, []int{3}\n}\n\nvar extRange_ExtensionRangeOptions = []proto.ExtensionRange{\n\t{Start: 1000, End: 536870911},\n}\n\nfunc (*ExtensionRangeOptions) ExtensionRangeArray() []proto.ExtensionRange {\n\treturn extRange_ExtensionRangeOptions\n}\nfunc (m *ExtensionRangeOptions) XXX_Unmarshal(b []byte) error {\n\treturn xxx_messageInfo_ExtensionRangeOptions.Unmarshal(m, b)\n}\nfunc (m *ExtensionRangeOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {\n\treturn xxx_messageInfo_ExtensionRangeOptions.Marshal(b, m, deterministic)\n}\nfunc (dst *ExtensionRangeOptions) XXX_Merge(src proto.Message) {\n\txxx_messageInfo_ExtensionRangeOptions.Merge(dst, src)\n}\nfunc (m *ExtensionRangeOptions) XXX_Size() int {\n\treturn xxx_messageInfo_ExtensionRangeOptions.Size(m)\n}\nfunc (m *ExtensionRangeOptions) XXX_DiscardUnknown() {\n\txxx_messageInfo_ExtensionRangeOptions.DiscardUnknown(m)\n}\n\nvar xxx_messageInfo_ExtensionRangeOptions proto.InternalMessageInfo\n\nfunc (m *ExtensionRangeOptions) GetUninterpretedOption() []*UninterpretedOption {\n\tif m != nil {\n\t\treturn m.UninterpretedOption\n\t}\n\treturn nil\n}\n\n// Describes a field within a message.\ntype FieldDescriptorProto struct {\n\tName   *string                     `protobuf:\"bytes,1,opt,name=name\" json:\"name,omitempty\"`\n\tNumber *int32                      `protobuf:\"varint,3,opt,name=number\" json:\"number,omitempty\"`\n\tLabel  *FieldDescriptorProto_Label `protobuf:\"varint,4,opt,name=label,enum=google.protobuf.FieldDescriptorProto_Label\" json:\"label,omitempty\"`\n\t// If type_name is set, this need not be set.  If both this and type_name\n\t// are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.\n\tType *FieldDescriptorProto_Type `protobuf:\"varint,5,opt,name=type,enum=google.protobuf.FieldDescriptorProto_Type\" json:\"type,omitempty\"`\n\t// For message and enum types, this is the name of the type.  If the name\n\t// starts with a '.', it is fully-qualified.  Otherwise, C++-like scoping\n\t// rules are used to find the type (i.e. first the nested types within this\n\t// message are searched, then within the parent, on up to the root\n\t// namespace).\n\tTypeName *string `protobuf:\"bytes,6,opt,name=type_name,json=typeName\" json:\"type_name,omitempty\"`\n\t// For extensions, this is the name of the type being extended.  It is\n\t// resolved in the same manner as type_name.\n\tExtendee *string `protobuf:\"bytes,2,opt,name=extendee\" json:\"extendee,omitempty\"`\n\t// For numeric types, contains the original text representation of the value.\n\t// For booleans, \"true\" or \"false\".\n\t// For strings, contains the default text contents (not escaped in any way).\n\t// For bytes, contains the C escaped value.  All bytes >= 128 are escaped.\n\t// TODO(kenton):  Base-64 encode?\n\tDefaultValue *string `protobuf:\"bytes,7,opt,name=default_value,json=defaultValue\" json:\"default_value,omitempty\"`\n\t// If set, gives the index of a oneof in the containing type's oneof_decl\n\t// list.  This field is a member of that oneof.\n\tOneofIndex *int32 `protobuf:\"varint,9,opt,name=oneof_index,json=oneofIndex\" json:\"oneof_index,omitempty\"`\n\t// JSON name of this field. The value is set by protocol compiler. If the\n\t// user has set a \"json_name\" option on this field, that option's value\n\t// will be used. Otherwise, it's deduced from the field's name by converting\n\t// it to camelCase.\n\tJsonName             *string       `protobuf:\"bytes,10,opt,name=json_name,json=jsonName\" json:\"json_name,omitempty\"`\n\tOptions              *FieldOptions `protobuf:\"bytes,8,opt,name=options\" json:\"options,omitempty\"`\n\tXXX_NoUnkeyedLiteral struct{}      `json:\"-\"`\n\tXXX_unrecognized     []byte        `json:\"-\"`\n\tXXX_sizecache        int32         `json:\"-\"`\n}\n\nfunc (m *FieldDescriptorProto) Reset()         { *m = FieldDescriptorProto{} }\nfunc (m *FieldDescriptorProto) String() string { return proto.CompactTextString(m) }\nfunc (*FieldDescriptorProto) ProtoMessage()    {}\nfunc (*FieldDescriptorProto) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor_descriptor_9588782fb9cbecd6, []int{4}\n}\nfunc (m *FieldDescriptorProto) XXX_Unmarshal(b []byte) error {\n\treturn xxx_messageInfo_FieldDescriptorProto.Unmarshal(m, b)\n}\nfunc (m *FieldDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {\n\treturn xxx_messageInfo_FieldDescriptorProto.Marshal(b, m, deterministic)\n}\nfunc (dst *FieldDescriptorProto) XXX_Merge(src proto.Message) {\n\txxx_messageInfo_FieldDescriptorProto.Merge(dst, src)\n}\nfunc (m *FieldDescriptorProto) XXX_Size() int {\n\treturn xxx_messageInfo_FieldDescriptorProto.Size(m)\n}\nfunc (m *FieldDescriptorProto) XXX_DiscardUnknown() {\n\txxx_messageInfo_FieldDescriptorProto.DiscardUnknown(m)\n}\n\nvar xxx_messageInfo_FieldDescriptorProto proto.InternalMessageInfo\n\nfunc (m *FieldDescriptorProto) GetName() string {\n\tif m != nil && m.Name != nil {\n\t\treturn *m.Name\n\t}\n\treturn \"\"\n}\n\nfunc (m *FieldDescriptorProto) GetNumber() int32 {\n\tif m != nil && m.Number != nil {\n\t\treturn *m.Number\n\t}\n\treturn 0\n}\n\nfunc (m *FieldDescriptorProto) GetLabel() FieldDescriptorProto_Label {\n\tif m != nil && m.Label != nil {\n\t\treturn *m.Label\n\t}\n\treturn FieldDescriptorProto_LABEL_OPTIONAL\n}\n\nfunc (m *FieldDescriptorProto) GetType() FieldDescriptorProto_Type {\n\tif m != nil && m.Type != nil {\n\t\treturn *m.Type\n\t}\n\treturn FieldDescriptorProto_TYPE_DOUBLE\n}\n\nfunc (m *FieldDescriptorProto) GetTypeName() string {\n\tif m != nil && m.TypeName != nil {\n\t\treturn *m.TypeName\n\t}\n\treturn \"\"\n}\n\nfunc (m *FieldDescriptorProto) GetExtendee() string {\n\tif m != nil && m.Extendee != nil {\n\t\treturn *m.Extendee\n\t}\n\treturn \"\"\n}\n\nfunc (m *FieldDescriptorProto) GetDefaultValue() string {\n\tif m != nil && m.DefaultValue != nil {\n\t\treturn *m.DefaultValue\n\t}\n\treturn \"\"\n}\n\nfunc (m *FieldDescriptorProto) GetOneofIndex() int32 {\n\tif m != nil && m.OneofIndex != nil {\n\t\treturn *m.OneofIndex\n\t}\n\treturn 0\n}\n\nfunc (m *FieldDescriptorProto) GetJsonName() string {\n\tif m != nil && m.JsonName != nil {\n\t\treturn *m.JsonName\n\t}\n\treturn \"\"\n}\n\nfunc (m *FieldDescriptorProto) GetOptions() *FieldOptions {\n\tif m != nil {\n\t\treturn m.Options\n\t}\n\treturn nil\n}\n\n// Describes a oneof.\ntype OneofDescriptorProto struct {\n\tName                 *string       `protobuf:\"bytes,1,opt,name=name\" json:\"name,omitempty\"`\n\tOptions              *OneofOptions `protobuf:\"bytes,2,opt,name=options\" json:\"options,omitempty\"`\n\tXXX_NoUnkeyedLiteral struct{}      `json:\"-\"`\n\tXXX_unrecognized     []byte        `json:\"-\"`\n\tXXX_sizecache        int32         `json:\"-\"`\n}\n\nfunc (m *OneofDescriptorProto) Reset()         { *m = OneofDescriptorProto{} }\nfunc (m *OneofDescriptorProto) String() string { return proto.CompactTextString(m) }\nfunc (*OneofDescriptorProto) ProtoMessage()    {}\nfunc (*OneofDescriptorProto) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor_descriptor_9588782fb9cbecd6, []int{5}\n}\nfunc (m *OneofDescriptorProto) XXX_Unmarshal(b []byte) error {\n\treturn xxx_messageInfo_OneofDescriptorProto.Unmarshal(m, b)\n}\nfunc (m *OneofDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {\n\treturn xxx_messageInfo_OneofDescriptorProto.Marshal(b, m, deterministic)\n}\nfunc (dst *OneofDescriptorProto) XXX_Merge(src proto.Message) {\n\txxx_messageInfo_OneofDescriptorProto.Merge(dst, src)\n}\nfunc (m *OneofDescriptorProto) XXX_Size() int {\n\treturn xxx_messageInfo_OneofDescriptorProto.Size(m)\n}\nfunc (m *OneofDescriptorProto) XXX_DiscardUnknown() {\n\txxx_messageInfo_OneofDescriptorProto.DiscardUnknown(m)\n}\n\nvar xxx_messageInfo_OneofDescriptorProto proto.InternalMessageInfo\n\nfunc (m *OneofDescriptorProto) GetName() string {\n\tif m != nil && m.Name != nil {\n\t\treturn *m.Name\n\t}\n\treturn \"\"\n}\n\nfunc (m *OneofDescriptorProto) GetOptions() *OneofOptions {\n\tif m != nil {\n\t\treturn m.Options\n\t}\n\treturn nil\n}\n\n// Describes an enum type.\ntype EnumDescriptorProto struct {\n\tName    *string                     `protobuf:\"bytes,1,opt,name=name\" json:\"name,omitempty\"`\n\tValue   []*EnumValueDescriptorProto `protobuf:\"bytes,2,rep,name=value\" json:\"value,omitempty\"`\n\tOptions *EnumOptions                `protobuf:\"bytes,3,opt,name=options\" json:\"options,omitempty\"`\n\t// Range of reserved numeric values. Reserved numeric values may not be used\n\t// by enum values in the same enum declaration. Reserved ranges may not\n\t// overlap.\n\tReservedRange []*EnumDescriptorProto_EnumReservedRange `protobuf:\"bytes,4,rep,name=reserved_range,json=reservedRange\" json:\"reserved_range,omitempty\"`\n\t// Reserved enum value names, which may not be reused. A given name may only\n\t// be reserved once.\n\tReservedName         []string `protobuf:\"bytes,5,rep,name=reserved_name,json=reservedName\" json:\"reserved_name,omitempty\"`\n\tXXX_NoUnkeyedLiteral struct{} `json:\"-\"`\n\tXXX_unrecognized     []byte   `json:\"-\"`\n\tXXX_sizecache        int32    `json:\"-\"`\n}\n\nfunc (m *EnumDescriptorProto) Reset()         { *m = EnumDescriptorProto{} }\nfunc (m *EnumDescriptorProto) String() string { return proto.CompactTextString(m) }\nfunc (*EnumDescriptorProto) ProtoMessage()    {}\nfunc (*EnumDescriptorProto) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor_descriptor_9588782fb9cbecd6, []int{6}\n}\nfunc (m *EnumDescriptorProto) XXX_Unmarshal(b []byte) error {\n\treturn xxx_messageInfo_EnumDescriptorProto.Unmarshal(m, b)\n}\nfunc (m *EnumDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {\n\treturn xxx_messageInfo_EnumDescriptorProto.Marshal(b, m, deterministic)\n}\nfunc (dst *EnumDescriptorProto) XXX_Merge(src proto.Message) {\n\txxx_messageInfo_EnumDescriptorProto.Merge(dst, src)\n}\nfunc (m *EnumDescriptorProto) XXX_Size() int {\n\treturn xxx_messageInfo_EnumDescriptorProto.Size(m)\n}\nfunc (m *EnumDescriptorProto) XXX_DiscardUnknown() {\n\txxx_messageInfo_EnumDescriptorProto.DiscardUnknown(m)\n}\n\nvar xxx_messageInfo_EnumDescriptorProto proto.InternalMessageInfo\n\nfunc (m *EnumDescriptorProto) GetName() string {\n\tif m != nil && m.Name != nil {\n\t\treturn *m.Name\n\t}\n\treturn \"\"\n}\n\nfunc (m *EnumDescriptorProto) GetValue() []*EnumValueDescriptorProto {\n\tif m != nil {\n\t\treturn m.Value\n\t}\n\treturn nil\n}\n\nfunc (m *EnumDescriptorProto) GetOptions() *EnumOptions {\n\tif m != nil {\n\t\treturn m.Options\n\t}\n\treturn nil\n}\n\nfunc (m *EnumDescriptorProto) GetReservedRange() []*EnumDescriptorProto_EnumReservedRange {\n\tif m != nil {\n\t\treturn m.ReservedRange\n\t}\n\treturn nil\n}\n\nfunc (m *EnumDescriptorProto) GetReservedName() []string {\n\tif m != nil {\n\t\treturn m.ReservedName\n\t}\n\treturn nil\n}\n\n// Range of reserved numeric values. Reserved values may not be used by\n// entries in the same enum. Reserved ranges may not overlap.\n//\n// Note that this is distinct from DescriptorProto.ReservedRange in that it\n// is inclusive such that it can appropriately represent the entire int32\n// domain.\ntype EnumDescriptorProto_EnumReservedRange struct {\n\tStart                *int32   `protobuf:\"varint,1,opt,name=start\" json:\"start,omitempty\"`\n\tEnd                  *int32   `protobuf:\"varint,2,opt,name=end\" json:\"end,omitempty\"`\n\tXXX_NoUnkeyedLiteral struct{} `json:\"-\"`\n\tXXX_unrecognized     []byte   `json:\"-\"`\n\tXXX_sizecache        int32    `json:\"-\"`\n}\n\nfunc (m *EnumDescriptorProto_EnumReservedRange) Reset()         { *m = EnumDescriptorProto_EnumReservedRange{} }\nfunc (m *EnumDescriptorProto_EnumReservedRange) String() string { return proto.CompactTextString(m) }\nfunc (*EnumDescriptorProto_EnumReservedRange) ProtoMessage()    {}\nfunc (*EnumDescriptorProto_EnumReservedRange) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor_descriptor_9588782fb9cbecd6, []int{6, 0}\n}\nfunc (m *EnumDescriptorProto_EnumReservedRange) XXX_Unmarshal(b []byte) error {\n\treturn xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Unmarshal(m, b)\n}\nfunc (m *EnumDescriptorProto_EnumReservedRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {\n\treturn xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Marshal(b, m, deterministic)\n}\nfunc (dst *EnumDescriptorProto_EnumReservedRange) XXX_Merge(src proto.Message) {\n\txxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Merge(dst, src)\n}\nfunc (m *EnumDescriptorProto_EnumReservedRange) XXX_Size() int {\n\treturn xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Size(m)\n}\nfunc (m *EnumDescriptorProto_EnumReservedRange) XXX_DiscardUnknown() {\n\txxx_messageInfo_EnumDescriptorProto_EnumReservedRange.DiscardUnknown(m)\n}\n\nvar xxx_messageInfo_EnumDescriptorProto_EnumReservedRange proto.InternalMessageInfo\n\nfunc (m *EnumDescriptorProto_EnumReservedRange) GetStart() int32 {\n\tif m != nil && m.Start != nil {\n\t\treturn *m.Start\n\t}\n\treturn 0\n}\n\nfunc (m *EnumDescriptorProto_EnumReservedRange) GetEnd() int32 {\n\tif m != nil && m.End != nil {\n\t\treturn *m.End\n\t}\n\treturn 0\n}\n\n// Describes a value within an enum.\ntype EnumValueDescriptorProto struct {\n\tName                 *string           `protobuf:\"bytes,1,opt,name=name\" json:\"name,omitempty\"`\n\tNumber               *int32            `protobuf:\"varint,2,opt,name=number\" json:\"number,omitempty\"`\n\tOptions              *EnumValueOptions `protobuf:\"bytes,3,opt,name=options\" json:\"options,omitempty\"`\n\tXXX_NoUnkeyedLiteral struct{}          `json:\"-\"`\n\tXXX_unrecognized     []byte            `json:\"-\"`\n\tXXX_sizecache        int32             `json:\"-\"`\n}\n\nfunc (m *EnumValueDescriptorProto) Reset()         { *m = EnumValueDescriptorProto{} }\nfunc (m *EnumValueDescriptorProto) String() string { return proto.CompactTextString(m) }\nfunc (*EnumValueDescriptorProto) ProtoMessage()    {}\nfunc (*EnumValueDescriptorProto) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor_descriptor_9588782fb9cbecd6, []int{7}\n}\nfunc (m *EnumValueDescriptorProto) XXX_Unmarshal(b []byte) error {\n\treturn xxx_messageInfo_EnumValueDescriptorProto.Unmarshal(m, b)\n}\nfunc (m *EnumValueDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {\n\treturn xxx_messageInfo_EnumValueDescriptorProto.Marshal(b, m, deterministic)\n}\nfunc (dst *EnumValueDescriptorProto) XXX_Merge(src proto.Message) {\n\txxx_messageInfo_EnumValueDescriptorProto.Merge(dst, src)\n}\nfunc (m *EnumValueDescriptorProto) XXX_Size() int {\n\treturn xxx_messageInfo_EnumValueDescriptorProto.Size(m)\n}\nfunc (m *EnumValueDescriptorProto) XXX_DiscardUnknown() {\n\txxx_messageInfo_EnumValueDescriptorProto.DiscardUnknown(m)\n}\n\nvar xxx_messageInfo_EnumValueDescriptorProto proto.InternalMessageInfo\n\nfunc (m *EnumValueDescriptorProto) GetName() string {\n\tif m != nil && m.Name != nil {\n\t\treturn *m.Name\n\t}\n\treturn \"\"\n}\n\nfunc (m *EnumValueDescriptorProto) GetNumber() int32 {\n\tif m != nil && m.Number != nil {\n\t\treturn *m.Number\n\t}\n\treturn 0\n}\n\nfunc (m *EnumValueDescriptorProto) GetOptions() *EnumValueOptions {\n\tif m != nil {\n\t\treturn m.Options\n\t}\n\treturn nil\n}\n\n// Describes a service.\ntype ServiceDescriptorProto struct {\n\tName                 *string                  `protobuf:\"bytes,1,opt,name=name\" json:\"name,omitempty\"`\n\tMethod               []*MethodDescriptorProto `protobuf:\"bytes,2,rep,name=method\" json:\"method,omitempty\"`\n\tOptions              *ServiceOptions          `protobuf:\"bytes,3,opt,name=options\" json:\"options,omitempty\"`\n\tXXX_NoUnkeyedLiteral struct{}                 `json:\"-\"`\n\tXXX_unrecognized     []byte                   `json:\"-\"`\n\tXXX_sizecache        int32                    `json:\"-\"`\n}\n\nfunc (m *ServiceDescriptorProto) Reset()         { *m = ServiceDescriptorProto{} }\nfunc (m *ServiceDescriptorProto) String() string { return proto.CompactTextString(m) }\nfunc (*ServiceDescriptorProto) ProtoMessage()    {}\nfunc (*ServiceDescriptorProto) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor_descriptor_9588782fb9cbecd6, []int{8}\n}\nfunc (m *ServiceDescriptorProto) XXX_Unmarshal(b []byte) error {\n\treturn xxx_messageInfo_ServiceDescriptorProto.Unmarshal(m, b)\n}\nfunc (m *ServiceDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {\n\treturn xxx_messageInfo_ServiceDescriptorProto.Marshal(b, m, deterministic)\n}\nfunc (dst *ServiceDescriptorProto) XXX_Merge(src proto.Message) {\n\txxx_messageInfo_ServiceDescriptorProto.Merge(dst, src)\n}\nfunc (m *ServiceDescriptorProto) XXX_Size() int {\n\treturn xxx_messageInfo_ServiceDescriptorProto.Size(m)\n}\nfunc (m *ServiceDescriptorProto) XXX_DiscardUnknown() {\n\txxx_messageInfo_ServiceDescriptorProto.DiscardUnknown(m)\n}\n\nvar xxx_messageInfo_ServiceDescriptorProto proto.InternalMessageInfo\n\nfunc (m *ServiceDescriptorProto) GetName() string {\n\tif m != nil && m.Name != nil {\n\t\treturn *m.Name\n\t}\n\treturn \"\"\n}\n\nfunc (m *ServiceDescriptorProto) GetMethod() []*MethodDescriptorProto {\n\tif m != nil {\n\t\treturn m.Method\n\t}\n\treturn nil\n}\n\nfunc (m *ServiceDescriptorProto) GetOptions() *ServiceOptions {\n\tif m != nil {\n\t\treturn m.Options\n\t}\n\treturn nil\n}\n\n// Describes a method of a service.\ntype MethodDescriptorProto struct {\n\tName *string `protobuf:\"bytes,1,opt,name=name\" json:\"name,omitempty\"`\n\t// Input and output type names.  These are resolved in the same way as\n\t// FieldDescriptorProto.type_name, but must refer to a message type.\n\tInputType  *string        `protobuf:\"bytes,2,opt,name=input_type,json=inputType\" json:\"input_type,omitempty\"`\n\tOutputType *string        `protobuf:\"bytes,3,opt,name=output_type,json=outputType\" json:\"output_type,omitempty\"`\n\tOptions    *MethodOptions `protobuf:\"bytes,4,opt,name=options\" json:\"options,omitempty\"`\n\t// Identifies if client streams multiple client messages\n\tClientStreaming *bool `protobuf:\"varint,5,opt,name=client_streaming,json=clientStreaming,def=0\" json:\"client_streaming,omitempty\"`\n\t// Identifies if server streams multiple server messages\n\tServerStreaming      *bool    `protobuf:\"varint,6,opt,name=server_streaming,json=serverStreaming,def=0\" json:\"server_streaming,omitempty\"`\n\tXXX_NoUnkeyedLiteral struct{} `json:\"-\"`\n\tXXX_unrecognized     []byte   `json:\"-\"`\n\tXXX_sizecache        int32    `json:\"-\"`\n}\n\nfunc (m *MethodDescriptorProto) Reset()         { *m = MethodDescriptorProto{} }\nfunc (m *MethodDescriptorProto) String() string { return proto.CompactTextString(m) }\nfunc (*MethodDescriptorProto) ProtoMessage()    {}\nfunc (*MethodDescriptorProto) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor_descriptor_9588782fb9cbecd6, []int{9}\n}\nfunc (m *MethodDescriptorProto) XXX_Unmarshal(b []byte) error {\n\treturn xxx_messageInfo_MethodDescriptorProto.Unmarshal(m, b)\n}\nfunc (m *MethodDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {\n\treturn xxx_messageInfo_MethodDescriptorProto.Marshal(b, m, deterministic)\n}\nfunc (dst *MethodDescriptorProto) XXX_Merge(src proto.Message) {\n\txxx_messageInfo_MethodDescriptorProto.Merge(dst, src)\n}\nfunc (m *MethodDescriptorProto) XXX_Size() int {\n\treturn xxx_messageInfo_MethodDescriptorProto.Size(m)\n}\nfunc (m *MethodDescriptorProto) XXX_DiscardUnknown() {\n\txxx_messageInfo_MethodDescriptorProto.DiscardUnknown(m)\n}\n\nvar xxx_messageInfo_MethodDescriptorProto proto.InternalMessageInfo\n\nconst Default_MethodDescriptorProto_ClientStreaming bool = false\nconst Default_MethodDescriptorProto_ServerStreaming bool = false\n\nfunc (m *MethodDescriptorProto) GetName() string {\n\tif m != nil && m.Name != nil {\n\t\treturn *m.Name\n\t}\n\treturn \"\"\n}\n\nfunc (m *MethodDescriptorProto) GetInputType() string {\n\tif m != nil && m.InputType != nil {\n\t\treturn *m.InputType\n\t}\n\treturn \"\"\n}\n\nfunc (m *MethodDescriptorProto) GetOutputType() string {\n\tif m != nil && m.OutputType != nil {\n\t\treturn *m.OutputType\n\t}\n\treturn \"\"\n}\n\nfunc (m *MethodDescriptorProto) GetOptions() *MethodOptions {\n\tif m != nil {\n\t\treturn m.Options\n\t}\n\treturn nil\n}\n\nfunc (m *MethodDescriptorProto) GetClientStreaming() bool {\n\tif m != nil && m.ClientStreaming != nil {\n\t\treturn *m.ClientStreaming\n\t}\n\treturn Default_MethodDescriptorProto_ClientStreaming\n}\n\nfunc (m *MethodDescriptorProto) GetServerStreaming() bool {\n\tif m != nil && m.ServerStreaming != nil {\n\t\treturn *m.ServerStreaming\n\t}\n\treturn Default_MethodDescriptorProto_ServerStreaming\n}\n\ntype FileOptions struct {\n\t// Sets the Java package where classes generated from this .proto will be\n\t// placed.  By default, the proto package is used, but this is often\n\t// inappropriate because proto packages do not normally start with backwards\n\t// domain names.\n\tJavaPackage *string `protobuf:\"bytes,1,opt,name=java_package,json=javaPackage\" json:\"java_package,omitempty\"`\n\t// If set, all the classes from the .proto file are wrapped in a single\n\t// outer class with the given name.  This applies to both Proto1\n\t// (equivalent to the old \"--one_java_file\" option) and Proto2 (where\n\t// a .proto always translates to a single class, but you may want to\n\t// explicitly choose the class name).\n\tJavaOuterClassname *string `protobuf:\"bytes,8,opt,name=java_outer_classname,json=javaOuterClassname\" json:\"java_outer_classname,omitempty\"`\n\t// If set true, then the Java code generator will generate a separate .java\n\t// file for each top-level message, enum, and service defined in the .proto\n\t// file.  Thus, these types will *not* be nested inside the outer class\n\t// named by java_outer_classname.  However, the outer class will still be\n\t// generated to contain the file's getDescriptor() method as well as any\n\t// top-level extensions defined in the file.\n\tJavaMultipleFiles *bool `protobuf:\"varint,10,opt,name=java_multiple_files,json=javaMultipleFiles,def=0\" json:\"java_multiple_files,omitempty\"`\n\t// This option does nothing.\n\tJavaGenerateEqualsAndHash *bool `protobuf:\"varint,20,opt,name=java_generate_equals_and_hash,json=javaGenerateEqualsAndHash\" json:\"java_generate_equals_and_hash,omitempty\"` // Deprecated: Do not use.\n\t// If set true, then the Java2 code generator will generate code that\n\t// throws an exception whenever an attempt is made to assign a non-UTF-8\n\t// byte sequence to a string field.\n\t// Message reflection will do the same.\n\t// However, an extension field still accepts non-UTF-8 byte sequences.\n\t// This option has no effect on when used with the lite runtime.\n\tJavaStringCheckUtf8 *bool                     `protobuf:\"varint,27,opt,name=java_string_check_utf8,json=javaStringCheckUtf8,def=0\" json:\"java_string_check_utf8,omitempty\"`\n\tOptimizeFor         *FileOptions_OptimizeMode `protobuf:\"varint,9,opt,name=optimize_for,json=optimizeFor,enum=google.protobuf.FileOptions_OptimizeMode,def=1\" json:\"optimize_for,omitempty\"`\n\t// Sets the Go package where structs generated from this .proto will be\n\t// placed. If omitted, the Go package will be derived from the following:\n\t//   - The basename of the package import path, if provided.\n\t//   - Otherwise, the package statement in the .proto file, if present.\n\t//   - Otherwise, the basename of the .proto file, without extension.\n\tGoPackage *string `protobuf:\"bytes,11,opt,name=go_package,json=goPackage\" json:\"go_package,omitempty\"`\n\t// Should generic services be generated in each language?  \"Generic\" services\n\t// are not specific to any particular RPC system.  They are generated by the\n\t// main code generators in each language (without additional plugins).\n\t// Generic services were the only kind of service generation supported by\n\t// early versions of google.protobuf.\n\t//\n\t// Generic services are now considered deprecated in favor of using plugins\n\t// that generate code specific to your particular RPC system.  Therefore,\n\t// these default to false.  Old code which depends on generic services should\n\t// explicitly set them to true.\n\tCcGenericServices   *bool `protobuf:\"varint,16,opt,name=cc_generic_services,json=ccGenericServices,def=0\" json:\"cc_generic_services,omitempty\"`\n\tJavaGenericServices *bool `protobuf:\"varint,17,opt,name=java_generic_services,json=javaGenericServices,def=0\" json:\"java_generic_services,omitempty\"`\n\tPyGenericServices   *bool `protobuf:\"varint,18,opt,name=py_generic_services,json=pyGenericServices,def=0\" json:\"py_generic_services,omitempty\"`\n\tPhpGenericServices  *bool `protobuf:\"varint,42,opt,name=php_generic_services,json=phpGenericServices,def=0\" json:\"php_generic_services,omitempty\"`\n\t// Is this file deprecated?\n\t// Depending on the target platform, this can emit Deprecated annotations\n\t// for everything in the file, or it will be completely ignored; in the very\n\t// least, this is a formalization for deprecating files.\n\tDeprecated *bool `protobuf:\"varint,23,opt,name=deprecated,def=0\" json:\"deprecated,omitempty\"`\n\t// Enables the use of arenas for the proto messages in this file. This applies\n\t// only to generated classes for C++.\n\tCcEnableArenas *bool `protobuf:\"varint,31,opt,name=cc_enable_arenas,json=ccEnableArenas,def=0\" json:\"cc_enable_arenas,omitempty\"`\n\t// Sets the objective c class prefix which is prepended to all objective c\n\t// generated classes from this .proto. There is no default.\n\tObjcClassPrefix *string `protobuf:\"bytes,36,opt,name=objc_class_prefix,json=objcClassPrefix\" json:\"objc_class_prefix,omitempty\"`\n\t// Namespace for generated classes; defaults to the package.\n\tCsharpNamespace *string `protobuf:\"bytes,37,opt,name=csharp_namespace,json=csharpNamespace\" json:\"csharp_namespace,omitempty\"`\n\t// By default Swift generators will take the proto package and CamelCase it\n\t// replacing '.' with underscore and use that to prefix the types/symbols\n\t// defined. When this options is provided, they will use this value instead\n\t// to prefix the types/symbols defined.\n\tSwiftPrefix *string `protobuf:\"bytes,39,opt,name=swift_prefix,json=swiftPrefix\" json:\"swift_prefix,omitempty\"`\n\t// Sets the php class prefix which is prepended to all php generated classes\n\t// from this .proto. Default is empty.\n\tPhpClassPrefix *string `protobuf:\"bytes,40,opt,name=php_class_prefix,json=phpClassPrefix\" json:\"php_class_prefix,omitempty\"`\n\t// Use this option to change the namespace of php generated classes. Default\n\t// is empty. When this option is empty, the package name will be used for\n\t// determining the namespace.\n\tPhpNamespace *string `protobuf:\"bytes,41,opt,name=php_namespace,json=phpNamespace\" json:\"php_namespace,omitempty\"`\n\t// The parser stores options it doesn't recognize here.\n\t// See the documentation for the \"Options\" section above.\n\tUninterpretedOption          []*UninterpretedOption `protobuf:\"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption\" json:\"uninterpreted_option,omitempty\"`\n\tXXX_NoUnkeyedLiteral         struct{}               `json:\"-\"`\n\tproto.XXX_InternalExtensions `json:\"-\"`\n\tXXX_unrecognized             []byte `json:\"-\"`\n\tXXX_sizecache                int32  `json:\"-\"`\n}\n\nfunc (m *FileOptions) Reset()         { *m = FileOptions{} }\nfunc (m *FileOptions) String() string { return proto.CompactTextString(m) }\nfunc (*FileOptions) ProtoMessage()    {}\nfunc (*FileOptions) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor_descriptor_9588782fb9cbecd6, []int{10}\n}\n\nvar extRange_FileOptions = []proto.ExtensionRange{\n\t{Start: 1000, End: 536870911},\n}\n\nfunc (*FileOptions) ExtensionRangeArray() []proto.ExtensionRange {\n\treturn extRange_FileOptions\n}\nfunc (m *FileOptions) XXX_Unmarshal(b []byte) error {\n\treturn xxx_messageInfo_FileOptions.Unmarshal(m, b)\n}\nfunc (m *FileOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {\n\treturn xxx_messageInfo_FileOptions.Marshal(b, m, deterministic)\n}\nfunc (dst *FileOptions) XXX_Merge(src proto.Message) {\n\txxx_messageInfo_FileOptions.Merge(dst, src)\n}\nfunc (m *FileOptions) XXX_Size() int {\n\treturn xxx_messageInfo_FileOptions.Size(m)\n}\nfunc (m *FileOptions) XXX_DiscardUnknown() {\n\txxx_messageInfo_FileOptions.DiscardUnknown(m)\n}\n\nvar xxx_messageInfo_FileOptions proto.InternalMessageInfo\n\nconst Default_FileOptions_JavaMultipleFiles bool = false\nconst Default_FileOptions_JavaStringCheckUtf8 bool = false\nconst Default_FileOptions_OptimizeFor FileOptions_OptimizeMode = FileOptions_SPEED\nconst Default_FileOptions_CcGenericServices bool = false\nconst Default_FileOptions_JavaGenericServices bool = false\nconst Default_FileOptions_PyGenericServices bool = false\nconst Default_FileOptions_PhpGenericServices bool = false\nconst Default_FileOptions_Deprecated bool = false\nconst Default_FileOptions_CcEnableArenas bool = false\n\nfunc (m *FileOptions) GetJavaPackage() string {\n\tif m != nil && m.JavaPackage != nil {\n\t\treturn *m.JavaPackage\n\t}\n\treturn \"\"\n}\n\nfunc (m *FileOptions) GetJavaOuterClassname() string {\n\tif m != nil && m.JavaOuterClassname != nil {\n\t\treturn *m.JavaOuterClassname\n\t}\n\treturn \"\"\n}\n\nfunc (m *FileOptions) GetJavaMultipleFiles() bool {\n\tif m != nil && m.JavaMultipleFiles != nil {\n\t\treturn *m.JavaMultipleFiles\n\t}\n\treturn Default_FileOptions_JavaMultipleFiles\n}\n\n// Deprecated: Do not use.\nfunc (m *FileOptions) GetJavaGenerateEqualsAndHash() bool {\n\tif m != nil && m.JavaGenerateEqualsAndHash != nil {\n\t\treturn *m.JavaGenerateEqualsAndHash\n\t}\n\treturn false\n}\n\nfunc (m *FileOptions) GetJavaStringCheckUtf8() bool {\n\tif m != nil && m.JavaStringCheckUtf8 != nil {\n\t\treturn *m.JavaStringCheckUtf8\n\t}\n\treturn Default_FileOptions_JavaStringCheckUtf8\n}\n\nfunc (m *FileOptions) GetOptimizeFor() FileOptions_OptimizeMode {\n\tif m != nil && m.OptimizeFor != nil {\n\t\treturn *m.OptimizeFor\n\t}\n\treturn Default_FileOptions_OptimizeFor\n}\n\nfunc (m *FileOptions) GetGoPackage() string {\n\tif m != nil && m.GoPackage != nil {\n\t\treturn *m.GoPackage\n\t}\n\treturn \"\"\n}\n\nfunc (m *FileOptions) GetCcGenericServices() bool {\n\tif m != nil && m.CcGenericServices != nil {\n\t\treturn *m.CcGenericServices\n\t}\n\treturn Default_FileOptions_CcGenericServices\n}\n\nfunc (m *FileOptions) GetJavaGenericServices() bool {\n\tif m != nil && m.JavaGenericServices != nil {\n\t\treturn *m.JavaGenericServices\n\t}\n\treturn Default_FileOptions_JavaGenericServices\n}\n\nfunc (m *FileOptions) GetPyGenericServices() bool {\n\tif m != nil && m.PyGenericServices != nil {\n\t\treturn *m.PyGenericServices\n\t}\n\treturn Default_FileOptions_PyGenericServices\n}\n\nfunc (m *FileOptions) GetPhpGenericServices() bool {\n\tif m != nil && m.PhpGenericServices != nil {\n\t\treturn *m.PhpGenericServices\n\t}\n\treturn Default_FileOptions_PhpGenericServices\n}\n\nfunc (m *FileOptions) GetDeprecated() bool {\n\tif m != nil && m.Deprecated != nil {\n\t\treturn *m.Deprecated\n\t}\n\treturn Default_FileOptions_Deprecated\n}\n\nfunc (m *FileOptions) GetCcEnableArenas() bool {\n\tif m != nil && m.CcEnableArenas != nil {\n\t\treturn *m.CcEnableArenas\n\t}\n\treturn Default_FileOptions_CcEnableArenas\n}\n\nfunc (m *FileOptions) GetObjcClassPrefix() string {\n\tif m != nil && m.ObjcClassPrefix != nil {\n\t\treturn *m.ObjcClassPrefix\n\t}\n\treturn \"\"\n}\n\nfunc (m *FileOptions) GetCsharpNamespace() string {\n\tif m != nil && m.CsharpNamespace != nil {\n\t\treturn *m.CsharpNamespace\n\t}\n\treturn \"\"\n}\n\nfunc (m *FileOptions) GetSwiftPrefix() string {\n\tif m != nil && m.SwiftPrefix != nil {\n\t\treturn *m.SwiftPrefix\n\t}\n\treturn \"\"\n}\n\nfunc (m *FileOptions) GetPhpClassPrefix() string {\n\tif m != nil && m.PhpClassPrefix != nil {\n\t\treturn *m.PhpClassPrefix\n\t}\n\treturn \"\"\n}\n\nfunc (m *FileOptions) GetPhpNamespace() string {\n\tif m != nil && m.PhpNamespace != nil {\n\t\treturn *m.PhpNamespace\n\t}\n\treturn \"\"\n}\n\nfunc (m *FileOptions) GetUninterpretedOption() []*UninterpretedOption {\n\tif m != nil {\n\t\treturn m.UninterpretedOption\n\t}\n\treturn nil\n}\n\ntype MessageOptions struct {\n\t// Set true to use the old proto1 MessageSet wire format for extensions.\n\t// This is provided for backwards-compatibility with the MessageSet wire\n\t// format.  You should not use this for any other reason:  It's less\n\t// efficient, has fewer features, and is more complicated.\n\t//\n\t// The message must be defined exactly as follows:\n\t//   message Foo {\n\t//     option message_set_wire_format = true;\n\t//     extensions 4 to max;\n\t//   }\n\t// Note that the message cannot have any defined fields; MessageSets only\n\t// have extensions.\n\t//\n\t// All extensions of your type must be singular messages; e.g. they cannot\n\t// be int32s, enums, or repeated messages.\n\t//\n\t// Because this is an option, the above two restrictions are not enforced by\n\t// the protocol compiler.\n\tMessageSetWireFormat *bool `protobuf:\"varint,1,opt,name=message_set_wire_format,json=messageSetWireFormat,def=0\" json:\"message_set_wire_format,omitempty\"`\n\t// Disables the generation of the standard \"descriptor()\" accessor, which can\n\t// conflict with a field of the same name.  This is meant to make migration\n\t// from proto1 easier; new code should avoid fields named \"descriptor\".\n\tNoStandardDescriptorAccessor *bool `protobuf:\"varint,2,opt,name=no_standard_descriptor_accessor,json=noStandardDescriptorAccessor,def=0\" json:\"no_standard_descriptor_accessor,omitempty\"`\n\t// Is this message deprecated?\n\t// Depending on the target platform, this can emit Deprecated annotations\n\t// for the message, or it will be completely ignored; in the very least,\n\t// this is a formalization for deprecating messages.\n\tDeprecated *bool `protobuf:\"varint,3,opt,name=deprecated,def=0\" json:\"deprecated,omitempty\"`\n\t// Whether the message is an automatically generated map entry type for the\n\t// maps field.\n\t//\n\t// For maps fields:\n\t//     map<KeyType, ValueType> map_field = 1;\n\t// The parsed descriptor looks like:\n\t//     message MapFieldEntry {\n\t//         option map_entry = true;\n\t//         optional KeyType key = 1;\n\t//         optional ValueType value = 2;\n\t//     }\n\t//     repeated MapFieldEntry map_field = 1;\n\t//\n\t// Implementations may choose not to generate the map_entry=true message, but\n\t// use a native map in the target language to hold the keys and values.\n\t// The reflection APIs in such implementions still need to work as\n\t// if the field is a repeated message field.\n\t//\n\t// NOTE: Do not set the option in .proto files. Always use the maps syntax\n\t// instead. The option should only be implicitly set by the proto compiler\n\t// parser.\n\tMapEntry *bool `protobuf:\"varint,7,opt,name=map_entry,json=mapEntry\" json:\"map_entry,omitempty\"`\n\t// The parser stores options it doesn't recognize here. See above.\n\tUninterpretedOption          []*UninterpretedOption `protobuf:\"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption\" json:\"uninterpreted_option,omitempty\"`\n\tXXX_NoUnkeyedLiteral         struct{}               `json:\"-\"`\n\tproto.XXX_InternalExtensions `json:\"-\"`\n\tXXX_unrecognized             []byte `json:\"-\"`\n\tXXX_sizecache                int32  `json:\"-\"`\n}\n\nfunc (m *MessageOptions) Reset()         { *m = MessageOptions{} }\nfunc (m *MessageOptions) String() string { return proto.CompactTextString(m) }\nfunc (*MessageOptions) ProtoMessage()    {}\nfunc (*MessageOptions) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor_descriptor_9588782fb9cbecd6, []int{11}\n}\n\nvar extRange_MessageOptions = []proto.ExtensionRange{\n\t{Start: 1000, End: 536870911},\n}\n\nfunc (*MessageOptions) ExtensionRangeArray() []proto.ExtensionRange {\n\treturn extRange_MessageOptions\n}\nfunc (m *MessageOptions) XXX_Unmarshal(b []byte) error {\n\treturn xxx_messageInfo_MessageOptions.Unmarshal(m, b)\n}\nfunc (m *MessageOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {\n\treturn xxx_messageInfo_MessageOptions.Marshal(b, m, deterministic)\n}\nfunc (dst *MessageOptions) XXX_Merge(src proto.Message) {\n\txxx_messageInfo_MessageOptions.Merge(dst, src)\n}\nfunc (m *MessageOptions) XXX_Size() int {\n\treturn xxx_messageInfo_MessageOptions.Size(m)\n}\nfunc (m *MessageOptions) XXX_DiscardUnknown() {\n\txxx_messageInfo_MessageOptions.DiscardUnknown(m)\n}\n\nvar xxx_messageInfo_MessageOptions proto.InternalMessageInfo\n\nconst Default_MessageOptions_MessageSetWireFormat bool = false\nconst Default_MessageOptions_NoStandardDescriptorAccessor bool = false\nconst Default_MessageOptions_Deprecated bool = false\n\nfunc (m *MessageOptions) GetMessageSetWireFormat() bool {\n\tif m != nil && m.MessageSetWireFormat != nil {\n\t\treturn *m.MessageSetWireFormat\n\t}\n\treturn Default_MessageOptions_MessageSetWireFormat\n}\n\nfunc (m *MessageOptions) GetNoStandardDescriptorAccessor() bool {\n\tif m != nil && m.NoStandardDescriptorAccessor != nil {\n\t\treturn *m.NoStandardDescriptorAccessor\n\t}\n\treturn Default_MessageOptions_NoStandardDescriptorAccessor\n}\n\nfunc (m *MessageOptions) GetDeprecated() bool {\n\tif m != nil && m.Deprecated != nil {\n\t\treturn *m.Deprecated\n\t}\n\treturn Default_MessageOptions_Deprecated\n}\n\nfunc (m *MessageOptions) GetMapEntry() bool {\n\tif m != nil && m.MapEntry != nil {\n\t\treturn *m.MapEntry\n\t}\n\treturn false\n}\n\nfunc (m *MessageOptions) GetUninterpretedOption() []*UninterpretedOption {\n\tif m != nil {\n\t\treturn m.UninterpretedOption\n\t}\n\treturn nil\n}\n\ntype FieldOptions struct {\n\t// The ctype option instructs the C++ code generator to use a different\n\t// representation of the field than it normally would.  See the specific\n\t// options below.  This option is not yet implemented in the open source\n\t// release -- sorry, we'll try to include it in a future version!\n\tCtype *FieldOptions_CType `protobuf:\"varint,1,opt,name=ctype,enum=google.protobuf.FieldOptions_CType,def=0\" json:\"ctype,omitempty\"`\n\t// The packed option can be enabled for repeated primitive fields to enable\n\t// a more efficient representation on the wire. Rather than repeatedly\n\t// writing the tag and type for each element, the entire array is encoded as\n\t// a single length-delimited blob. In proto3, only explicit setting it to\n\t// false will avoid using packed encoding.\n\tPacked *bool `protobuf:\"varint,2,opt,name=packed\" json:\"packed,omitempty\"`\n\t// The jstype option determines the JavaScript type used for values of the\n\t// field.  The option is permitted only for 64 bit integral and fixed types\n\t// (int64, uint64, sint64, fixed64, sfixed64).  A field with jstype JS_STRING\n\t// is represented as JavaScript string, which avoids loss of precision that\n\t// can happen when a large value is converted to a floating point JavaScript.\n\t// Specifying JS_NUMBER for the jstype causes the generated JavaScript code to\n\t// use the JavaScript \"number\" type.  The behavior of the default option\n\t// JS_NORMAL is implementation dependent.\n\t//\n\t// This option is an enum to permit additional types to be added, e.g.\n\t// goog.math.Integer.\n\tJstype *FieldOptions_JSType `protobuf:\"varint,6,opt,name=jstype,enum=google.protobuf.FieldOptions_JSType,def=0\" json:\"jstype,omitempty\"`\n\t// Should this field be parsed lazily?  Lazy applies only to message-type\n\t// fields.  It means that when the outer message is initially parsed, the\n\t// inner message's contents will not be parsed but instead stored in encoded\n\t// form.  The inner message will actually be parsed when it is first accessed.\n\t//\n\t// This is only a hint.  Implementations are free to choose whether to use\n\t// eager or lazy parsing regardless of the value of this option.  However,\n\t// setting this option true suggests that the protocol author believes that\n\t// using lazy parsing on this field is worth the additional bookkeeping\n\t// overhead typically needed to implement it.\n\t//\n\t// This option does not affect the public interface of any generated code;\n\t// all method signatures remain the same.  Furthermore, thread-safety of the\n\t// interface is not affected by this option; const methods remain safe to\n\t// call from multiple threads concurrently, while non-const methods continue\n\t// to require exclusive access.\n\t//\n\t//\n\t// Note that implementations may choose not to check required fields within\n\t// a lazy sub-message.  That is, calling IsInitialized() on the outer message\n\t// may return true even if the inner message has missing required fields.\n\t// This is necessary because otherwise the inner message would have to be\n\t// parsed in order to perform the check, defeating the purpose of lazy\n\t// parsing.  An implementation which chooses not to check required fields\n\t// must be consistent about it.  That is, for any particular sub-message, the\n\t// implementation must either *always* check its required fields, or *never*\n\t// check its required fields, regardless of whether or not the message has\n\t// been parsed.\n\tLazy *bool `protobuf:\"varint,5,opt,name=lazy,def=0\" json:\"lazy,omitempty\"`\n\t// Is this field deprecated?\n\t// Depending on the target platform, this can emit Deprecated annotations\n\t// for accessors, or it will be completely ignored; in the very least, this\n\t// is a formalization for deprecating fields.\n\tDeprecated *bool `protobuf:\"varint,3,opt,name=deprecated,def=0\" json:\"deprecated,omitempty\"`\n\t// For Google-internal migration only. Do not use.\n\tWeak *bool `protobuf:\"varint,10,opt,name=weak,def=0\" json:\"weak,omitempty\"`\n\t// The parser stores options it doesn't recognize here. See above.\n\tUninterpretedOption          []*UninterpretedOption `protobuf:\"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption\" json:\"uninterpreted_option,omitempty\"`\n\tXXX_NoUnkeyedLiteral         struct{}               `json:\"-\"`\n\tproto.XXX_InternalExtensions `json:\"-\"`\n\tXXX_unrecognized             []byte `json:\"-\"`\n\tXXX_sizecache                int32  `json:\"-\"`\n}\n\nfunc (m *FieldOptions) Reset()         { *m = FieldOptions{} }\nfunc (m *FieldOptions) String() string { return proto.CompactTextString(m) }\nfunc (*FieldOptions) ProtoMessage()    {}\nfunc (*FieldOptions) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor_descriptor_9588782fb9cbecd6, []int{12}\n}\n\nvar extRange_FieldOptions = []proto.ExtensionRange{\n\t{Start: 1000, End: 536870911},\n}\n\nfunc (*FieldOptions) ExtensionRangeArray() []proto.ExtensionRange {\n\treturn extRange_FieldOptions\n}\nfunc (m *FieldOptions) XXX_Unmarshal(b []byte) error {\n\treturn xxx_messageInfo_FieldOptions.Unmarshal(m, b)\n}\nfunc (m *FieldOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {\n\treturn xxx_messageInfo_FieldOptions.Marshal(b, m, deterministic)\n}\nfunc (dst *FieldOptions) XXX_Merge(src proto.Message) {\n\txxx_messageInfo_FieldOptions.Merge(dst, src)\n}\nfunc (m *FieldOptions) XXX_Size() int {\n\treturn xxx_messageInfo_FieldOptions.Size(m)\n}\nfunc (m *FieldOptions) XXX_DiscardUnknown() {\n\txxx_messageInfo_FieldOptions.DiscardUnknown(m)\n}\n\nvar xxx_messageInfo_FieldOptions proto.InternalMessageInfo\n\nconst Default_FieldOptions_Ctype FieldOptions_CType = FieldOptions_STRING\nconst Default_FieldOptions_Jstype FieldOptions_JSType = FieldOptions_JS_NORMAL\nconst Default_FieldOptions_Lazy bool = false\nconst Default_FieldOptions_Deprecated bool = false\nconst Default_FieldOptions_Weak bool = false\n\nfunc (m *FieldOptions) GetCtype() FieldOptions_CType {\n\tif m != nil && m.Ctype != nil {\n\t\treturn *m.Ctype\n\t}\n\treturn Default_FieldOptions_Ctype\n}\n\nfunc (m *FieldOptions) GetPacked() bool {\n\tif m != nil && m.Packed != nil {\n\t\treturn *m.Packed\n\t}\n\treturn false\n}\n\nfunc (m *FieldOptions) GetJstype() FieldOptions_JSType {\n\tif m != nil && m.Jstype != nil {\n\t\treturn *m.Jstype\n\t}\n\treturn Default_FieldOptions_Jstype\n}\n\nfunc (m *FieldOptions) GetLazy() bool {\n\tif m != nil && m.Lazy != nil {\n\t\treturn *m.Lazy\n\t}\n\treturn Default_FieldOptions_Lazy\n}\n\nfunc (m *FieldOptions) GetDeprecated() bool {\n\tif m != nil && m.Deprecated != nil {\n\t\treturn *m.Deprecated\n\t}\n\treturn Default_FieldOptions_Deprecated\n}\n\nfunc (m *FieldOptions) GetWeak() bool {\n\tif m != nil && m.Weak != nil {\n\t\treturn *m.Weak\n\t}\n\treturn Default_FieldOptions_Weak\n}\n\nfunc (m *FieldOptions) GetUninterpretedOption() []*UninterpretedOption {\n\tif m != nil {\n\t\treturn m.UninterpretedOption\n\t}\n\treturn nil\n}\n\ntype OneofOptions struct {\n\t// The parser stores options it doesn't recognize here. See above.\n\tUninterpretedOption          []*UninterpretedOption `protobuf:\"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption\" json:\"uninterpreted_option,omitempty\"`\n\tXXX_NoUnkeyedLiteral         struct{}               `json:\"-\"`\n\tproto.XXX_InternalExtensions `json:\"-\"`\n\tXXX_unrecognized             []byte `json:\"-\"`\n\tXXX_sizecache                int32  `json:\"-\"`\n}\n\nfunc (m *OneofOptions) Reset()         { *m = OneofOptions{} }\nfunc (m *OneofOptions) String() string { return proto.CompactTextString(m) }\nfunc (*OneofOptions) ProtoMessage()    {}\nfunc (*OneofOptions) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor_descriptor_9588782fb9cbecd6, []int{13}\n}\n\nvar extRange_OneofOptions = []proto.ExtensionRange{\n\t{Start: 1000, End: 536870911},\n}\n\nfunc (*OneofOptions) ExtensionRangeArray() []proto.ExtensionRange {\n\treturn extRange_OneofOptions\n}\nfunc (m *OneofOptions) XXX_Unmarshal(b []byte) error {\n\treturn xxx_messageInfo_OneofOptions.Unmarshal(m, b)\n}\nfunc (m *OneofOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {\n\treturn xxx_messageInfo_OneofOptions.Marshal(b, m, deterministic)\n}\nfunc (dst *OneofOptions) XXX_Merge(src proto.Message) {\n\txxx_messageInfo_OneofOptions.Merge(dst, src)\n}\nfunc (m *OneofOptions) XXX_Size() int {\n\treturn xxx_messageInfo_OneofOptions.Size(m)\n}\nfunc (m *OneofOptions) XXX_DiscardUnknown() {\n\txxx_messageInfo_OneofOptions.DiscardUnknown(m)\n}\n\nvar xxx_messageInfo_OneofOptions proto.InternalMessageInfo\n\nfunc (m *OneofOptions) GetUninterpretedOption() []*UninterpretedOption {\n\tif m != nil {\n\t\treturn m.UninterpretedOption\n\t}\n\treturn nil\n}\n\ntype EnumOptions struct {\n\t// Set this option to true to allow mapping different tag names to the same\n\t// value.\n\tAllowAlias *bool `protobuf:\"varint,2,opt,name=allow_alias,json=allowAlias\" json:\"allow_alias,omitempty\"`\n\t// Is this enum deprecated?\n\t// Depending on the target platform, this can emit Deprecated annotations\n\t// for the enum, or it will be completely ignored; in the very least, this\n\t// is a formalization for deprecating enums.\n\tDeprecated *bool `protobuf:\"varint,3,opt,name=deprecated,def=0\" json:\"deprecated,omitempty\"`\n\t// The parser stores options it doesn't recognize here. See above.\n\tUninterpretedOption          []*UninterpretedOption `protobuf:\"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption\" json:\"uninterpreted_option,omitempty\"`\n\tXXX_NoUnkeyedLiteral         struct{}               `json:\"-\"`\n\tproto.XXX_InternalExtensions `json:\"-\"`\n\tXXX_unrecognized             []byte `json:\"-\"`\n\tXXX_sizecache                int32  `json:\"-\"`\n}\n\nfunc (m *EnumOptions) Reset()         { *m = EnumOptions{} }\nfunc (m *EnumOptions) String() string { return proto.CompactTextString(m) }\nfunc (*EnumOptions) ProtoMessage()    {}\nfunc (*EnumOptions) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor_descriptor_9588782fb9cbecd6, []int{14}\n}\n\nvar extRange_EnumOptions = []proto.ExtensionRange{\n\t{Start: 1000, End: 536870911},\n}\n\nfunc (*EnumOptions) ExtensionRangeArray() []proto.ExtensionRange {\n\treturn extRange_EnumOptions\n}\nfunc (m *EnumOptions) XXX_Unmarshal(b []byte) error {\n\treturn xxx_messageInfo_EnumOptions.Unmarshal(m, b)\n}\nfunc (m *EnumOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {\n\treturn xxx_messageInfo_EnumOptions.Marshal(b, m, deterministic)\n}\nfunc (dst *EnumOptions) XXX_Merge(src proto.Message) {\n\txxx_messageInfo_EnumOptions.Merge(dst, src)\n}\nfunc (m *EnumOptions) XXX_Size() int {\n\treturn xxx_messageInfo_EnumOptions.Size(m)\n}\nfunc (m *EnumOptions) XXX_DiscardUnknown() {\n\txxx_messageInfo_EnumOptions.DiscardUnknown(m)\n}\n\nvar xxx_messageInfo_EnumOptions proto.InternalMessageInfo\n\nconst Default_EnumOptions_Deprecated bool = false\n\nfunc (m *EnumOptions) GetAllowAlias() bool {\n\tif m != nil && m.AllowAlias != nil {\n\t\treturn *m.AllowAlias\n\t}\n\treturn false\n}\n\nfunc (m *EnumOptions) GetDeprecated() bool {\n\tif m != nil && m.Deprecated != nil {\n\t\treturn *m.Deprecated\n\t}\n\treturn Default_EnumOptions_Deprecated\n}\n\nfunc (m *EnumOptions) GetUninterpretedOption() []*UninterpretedOption {\n\tif m != nil {\n\t\treturn m.UninterpretedOption\n\t}\n\treturn nil\n}\n\ntype EnumValueOptions struct {\n\t// Is this enum value deprecated?\n\t// Depending on the target platform, this can emit Deprecated annotations\n\t// for the enum value, or it will be completely ignored; in the very least,\n\t// this is a formalization for deprecating enum values.\n\tDeprecated *bool `protobuf:\"varint,1,opt,name=deprecated,def=0\" json:\"deprecated,omitempty\"`\n\t// The parser stores options it doesn't recognize here. See above.\n\tUninterpretedOption          []*UninterpretedOption `protobuf:\"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption\" json:\"uninterpreted_option,omitempty\"`\n\tXXX_NoUnkeyedLiteral         struct{}               `json:\"-\"`\n\tproto.XXX_InternalExtensions `json:\"-\"`\n\tXXX_unrecognized             []byte `json:\"-\"`\n\tXXX_sizecache                int32  `json:\"-\"`\n}\n\nfunc (m *EnumValueOptions) Reset()         { *m = EnumValueOptions{} }\nfunc (m *EnumValueOptions) String() string { return proto.CompactTextString(m) }\nfunc (*EnumValueOptions) ProtoMessage()    {}\nfunc (*EnumValueOptions) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor_descriptor_9588782fb9cbecd6, []int{15}\n}\n\nvar extRange_EnumValueOptions = []proto.ExtensionRange{\n\t{Start: 1000, End: 536870911},\n}\n\nfunc (*EnumValueOptions) ExtensionRangeArray() []proto.ExtensionRange {\n\treturn extRange_EnumValueOptions\n}\nfunc (m *EnumValueOptions) XXX_Unmarshal(b []byte) error {\n\treturn xxx_messageInfo_EnumValueOptions.Unmarshal(m, b)\n}\nfunc (m *EnumValueOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {\n\treturn xxx_messageInfo_EnumValueOptions.Marshal(b, m, deterministic)\n}\nfunc (dst *EnumValueOptions) XXX_Merge(src proto.Message) {\n\txxx_messageInfo_EnumValueOptions.Merge(dst, src)\n}\nfunc (m *EnumValueOptions) XXX_Size() int {\n\treturn xxx_messageInfo_EnumValueOptions.Size(m)\n}\nfunc (m *EnumValueOptions) XXX_DiscardUnknown() {\n\txxx_messageInfo_EnumValueOptions.DiscardUnknown(m)\n}\n\nvar xxx_messageInfo_EnumValueOptions proto.InternalMessageInfo\n\nconst Default_EnumValueOptions_Deprecated bool = false\n\nfunc (m *EnumValueOptions) GetDeprecated() bool {\n\tif m != nil && m.Deprecated != nil {\n\t\treturn *m.Deprecated\n\t}\n\treturn Default_EnumValueOptions_Deprecated\n}\n\nfunc (m *EnumValueOptions) GetUninterpretedOption() []*UninterpretedOption {\n\tif m != nil {\n\t\treturn m.UninterpretedOption\n\t}\n\treturn nil\n}\n\ntype ServiceOptions struct {\n\t// Is this service deprecated?\n\t// Depending on the target platform, this can emit Deprecated annotations\n\t// for the service, or it will be completely ignored; in the very least,\n\t// this is a formalization for deprecating services.\n\tDeprecated *bool `protobuf:\"varint,33,opt,name=deprecated,def=0\" json:\"deprecated,omitempty\"`\n\t// The parser stores options it doesn't recognize here. See above.\n\tUninterpretedOption          []*UninterpretedOption `protobuf:\"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption\" json:\"uninterpreted_option,omitempty\"`\n\tXXX_NoUnkeyedLiteral         struct{}               `json:\"-\"`\n\tproto.XXX_InternalExtensions `json:\"-\"`\n\tXXX_unrecognized             []byte `json:\"-\"`\n\tXXX_sizecache                int32  `json:\"-\"`\n}\n\nfunc (m *ServiceOptions) Reset()         { *m = ServiceOptions{} }\nfunc (m *ServiceOptions) String() string { return proto.CompactTextString(m) }\nfunc (*ServiceOptions) ProtoMessage()    {}\nfunc (*ServiceOptions) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor_descriptor_9588782fb9cbecd6, []int{16}\n}\n\nvar extRange_ServiceOptions = []proto.ExtensionRange{\n\t{Start: 1000, End: 536870911},\n}\n\nfunc (*ServiceOptions) ExtensionRangeArray() []proto.ExtensionRange {\n\treturn extRange_ServiceOptions\n}\nfunc (m *ServiceOptions) XXX_Unmarshal(b []byte) error {\n\treturn xxx_messageInfo_ServiceOptions.Unmarshal(m, b)\n}\nfunc (m *ServiceOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {\n\treturn xxx_messageInfo_ServiceOptions.Marshal(b, m, deterministic)\n}\nfunc (dst *ServiceOptions) XXX_Merge(src proto.Message) {\n\txxx_messageInfo_ServiceOptions.Merge(dst, src)\n}\nfunc (m *ServiceOptions) XXX_Size() int {\n\treturn xxx_messageInfo_ServiceOptions.Size(m)\n}\nfunc (m *ServiceOptions) XXX_DiscardUnknown() {\n\txxx_messageInfo_ServiceOptions.DiscardUnknown(m)\n}\n\nvar xxx_messageInfo_ServiceOptions proto.InternalMessageInfo\n\nconst Default_ServiceOptions_Deprecated bool = false\n\nfunc (m *ServiceOptions) GetDeprecated() bool {\n\tif m != nil && m.Deprecated != nil {\n\t\treturn *m.Deprecated\n\t}\n\treturn Default_ServiceOptions_Deprecated\n}\n\nfunc (m *ServiceOptions) GetUninterpretedOption() []*UninterpretedOption {\n\tif m != nil {\n\t\treturn m.UninterpretedOption\n\t}\n\treturn nil\n}\n\ntype MethodOptions struct {\n\t// Is this method deprecated?\n\t// Depending on the target platform, this can emit Deprecated annotations\n\t// for the method, or it will be completely ignored; in the very least,\n\t// this is a formalization for deprecating methods.\n\tDeprecated       *bool                           `protobuf:\"varint,33,opt,name=deprecated,def=0\" json:\"deprecated,omitempty\"`\n\tIdempotencyLevel *MethodOptions_IdempotencyLevel `protobuf:\"varint,34,opt,name=idempotency_level,json=idempotencyLevel,enum=google.protobuf.MethodOptions_IdempotencyLevel,def=0\" json:\"idempotency_level,omitempty\"`\n\t// The parser stores options it doesn't recognize here. See above.\n\tUninterpretedOption          []*UninterpretedOption `protobuf:\"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption\" json:\"uninterpreted_option,omitempty\"`\n\tXXX_NoUnkeyedLiteral         struct{}               `json:\"-\"`\n\tproto.XXX_InternalExtensions `json:\"-\"`\n\tXXX_unrecognized             []byte `json:\"-\"`\n\tXXX_sizecache                int32  `json:\"-\"`\n}\n\nfunc (m *MethodOptions) Reset()         { *m = MethodOptions{} }\nfunc (m *MethodOptions) String() string { return proto.CompactTextString(m) }\nfunc (*MethodOptions) ProtoMessage()    {}\nfunc (*MethodOptions) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor_descriptor_9588782fb9cbecd6, []int{17}\n}\n\nvar extRange_MethodOptions = []proto.ExtensionRange{\n\t{Start: 1000, End: 536870911},\n}\n\nfunc (*MethodOptions) ExtensionRangeArray() []proto.ExtensionRange {\n\treturn extRange_MethodOptions\n}\nfunc (m *MethodOptions) XXX_Unmarshal(b []byte) error {\n\treturn xxx_messageInfo_MethodOptions.Unmarshal(m, b)\n}\nfunc (m *MethodOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {\n\treturn xxx_messageInfo_MethodOptions.Marshal(b, m, deterministic)\n}\nfunc (dst *MethodOptions) XXX_Merge(src proto.Message) {\n\txxx_messageInfo_MethodOptions.Merge(dst, src)\n}\nfunc (m *MethodOptions) XXX_Size() int {\n\treturn xxx_messageInfo_MethodOptions.Size(m)\n}\nfunc (m *MethodOptions) XXX_DiscardUnknown() {\n\txxx_messageInfo_MethodOptions.DiscardUnknown(m)\n}\n\nvar xxx_messageInfo_MethodOptions proto.InternalMessageInfo\n\nconst Default_MethodOptions_Deprecated bool = false\nconst Default_MethodOptions_IdempotencyLevel MethodOptions_IdempotencyLevel = MethodOptions_IDEMPOTENCY_UNKNOWN\n\nfunc (m *MethodOptions) GetDeprecated() bool {\n\tif m != nil && m.Deprecated != nil {\n\t\treturn *m.Deprecated\n\t}\n\treturn Default_MethodOptions_Deprecated\n}\n\nfunc (m *MethodOptions) GetIdempotencyLevel() MethodOptions_IdempotencyLevel {\n\tif m != nil && m.IdempotencyLevel != nil {\n\t\treturn *m.IdempotencyLevel\n\t}\n\treturn Default_MethodOptions_IdempotencyLevel\n}\n\nfunc (m *MethodOptions) GetUninterpretedOption() []*UninterpretedOption {\n\tif m != nil {\n\t\treturn m.UninterpretedOption\n\t}\n\treturn nil\n}\n\n// A message representing a option the parser does not recognize. This only\n// appears in options protos created by the compiler::Parser class.\n// DescriptorPool resolves these when building Descriptor objects. Therefore,\n// options protos in descriptor objects (e.g. returned by Descriptor::options(),\n// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions\n// in them.\ntype UninterpretedOption struct {\n\tName []*UninterpretedOption_NamePart `protobuf:\"bytes,2,rep,name=name\" json:\"name,omitempty\"`\n\t// The value of the uninterpreted option, in whatever type the tokenizer\n\t// identified it as during parsing. Exactly one of these should be set.\n\tIdentifierValue      *string  `protobuf:\"bytes,3,opt,name=identifier_value,json=identifierValue\" json:\"identifier_value,omitempty\"`\n\tPositiveIntValue     *uint64  `protobuf:\"varint,4,opt,name=positive_int_value,json=positiveIntValue\" json:\"positive_int_value,omitempty\"`\n\tNegativeIntValue     *int64   `protobuf:\"varint,5,opt,name=negative_int_value,json=negativeIntValue\" json:\"negative_int_value,omitempty\"`\n\tDoubleValue          *float64 `protobuf:\"fixed64,6,opt,name=double_value,json=doubleValue\" json:\"double_value,omitempty\"`\n\tStringValue          []byte   `protobuf:\"bytes,7,opt,name=string_value,json=stringValue\" json:\"string_value,omitempty\"`\n\tAggregateValue       *string  `protobuf:\"bytes,8,opt,name=aggregate_value,json=aggregateValue\" json:\"aggregate_value,omitempty\"`\n\tXXX_NoUnkeyedLiteral struct{} `json:\"-\"`\n\tXXX_unrecognized     []byte   `json:\"-\"`\n\tXXX_sizecache        int32    `json:\"-\"`\n}\n\nfunc (m *UninterpretedOption) Reset()         { *m = UninterpretedOption{} }\nfunc (m *UninterpretedOption) String() string { return proto.CompactTextString(m) }\nfunc (*UninterpretedOption) ProtoMessage()    {}\nfunc (*UninterpretedOption) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor_descriptor_9588782fb9cbecd6, []int{18}\n}\nfunc (m *UninterpretedOption) XXX_Unmarshal(b []byte) error {\n\treturn xxx_messageInfo_UninterpretedOption.Unmarshal(m, b)\n}\nfunc (m *UninterpretedOption) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {\n\treturn xxx_messageInfo_UninterpretedOption.Marshal(b, m, deterministic)\n}\nfunc (dst *UninterpretedOption) XXX_Merge(src proto.Message) {\n\txxx_messageInfo_UninterpretedOption.Merge(dst, src)\n}\nfunc (m *UninterpretedOption) XXX_Size() int {\n\treturn xxx_messageInfo_UninterpretedOption.Size(m)\n}\nfunc (m *UninterpretedOption) XXX_DiscardUnknown() {\n\txxx_messageInfo_UninterpretedOption.DiscardUnknown(m)\n}\n\nvar xxx_messageInfo_UninterpretedOption proto.InternalMessageInfo\n\nfunc (m *UninterpretedOption) GetName() []*UninterpretedOption_NamePart {\n\tif m != nil {\n\t\treturn m.Name\n\t}\n\treturn nil\n}\n\nfunc (m *UninterpretedOption) GetIdentifierValue() string {\n\tif m != nil && m.IdentifierValue != nil {\n\t\treturn *m.IdentifierValue\n\t}\n\treturn \"\"\n}\n\nfunc (m *UninterpretedOption) GetPositiveIntValue() uint64 {\n\tif m != nil && m.PositiveIntValue != nil {\n\t\treturn *m.PositiveIntValue\n\t}\n\treturn 0\n}\n\nfunc (m *UninterpretedOption) GetNegativeIntValue() int64 {\n\tif m != nil && m.NegativeIntValue != nil {\n\t\treturn *m.NegativeIntValue\n\t}\n\treturn 0\n}\n\nfunc (m *UninterpretedOption) GetDoubleValue() float64 {\n\tif m != nil && m.DoubleValue != nil {\n\t\treturn *m.DoubleValue\n\t}\n\treturn 0\n}\n\nfunc (m *UninterpretedOption) GetStringValue() []byte {\n\tif m != nil {\n\t\treturn m.StringValue\n\t}\n\treturn nil\n}\n\nfunc (m *UninterpretedOption) GetAggregateValue() string {\n\tif m != nil && m.AggregateValue != nil {\n\t\treturn *m.AggregateValue\n\t}\n\treturn \"\"\n}\n\n// The name of the uninterpreted option.  Each string represents a segment in\n// a dot-separated name.  is_extension is true iff a segment represents an\n// extension (denoted with parentheses in options specs in .proto files).\n// E.g.,{ [\"foo\", false], [\"bar.baz\", true], [\"qux\", false] } represents\n// \"foo.(bar.baz).qux\".\ntype UninterpretedOption_NamePart struct {\n\tNamePart             *string  `protobuf:\"bytes,1,req,name=name_part,json=namePart\" json:\"name_part,omitempty\"`\n\tIsExtension          *bool    `protobuf:\"varint,2,req,name=is_extension,json=isExtension\" json:\"is_extension,omitempty\"`\n\tXXX_NoUnkeyedLiteral struct{} `json:\"-\"`\n\tXXX_unrecognized     []byte   `json:\"-\"`\n\tXXX_sizecache        int32    `json:\"-\"`\n}\n\nfunc (m *UninterpretedOption_NamePart) Reset()         { *m = UninterpretedOption_NamePart{} }\nfunc (m *UninterpretedOption_NamePart) String() string { return proto.CompactTextString(m) }\nfunc (*UninterpretedOption_NamePart) ProtoMessage()    {}\nfunc (*UninterpretedOption_NamePart) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor_descriptor_9588782fb9cbecd6, []int{18, 0}\n}\nfunc (m *UninterpretedOption_NamePart) XXX_Unmarshal(b []byte) error {\n\treturn xxx_messageInfo_UninterpretedOption_NamePart.Unmarshal(m, b)\n}\nfunc (m *UninterpretedOption_NamePart) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {\n\treturn xxx_messageInfo_UninterpretedOption_NamePart.Marshal(b, m, deterministic)\n}\nfunc (dst *UninterpretedOption_NamePart) XXX_Merge(src proto.Message) {\n\txxx_messageInfo_UninterpretedOption_NamePart.Merge(dst, src)\n}\nfunc (m *UninterpretedOption_NamePart) XXX_Size() int {\n\treturn xxx_messageInfo_UninterpretedOption_NamePart.Size(m)\n}\nfunc (m *UninterpretedOption_NamePart) XXX_DiscardUnknown() {\n\txxx_messageInfo_UninterpretedOption_NamePart.DiscardUnknown(m)\n}\n\nvar xxx_messageInfo_UninterpretedOption_NamePart proto.InternalMessageInfo\n\nfunc (m *UninterpretedOption_NamePart) GetNamePart() string {\n\tif m != nil && m.NamePart != nil {\n\t\treturn *m.NamePart\n\t}\n\treturn \"\"\n}\n\nfunc (m *UninterpretedOption_NamePart) GetIsExtension() bool {\n\tif m != nil && m.IsExtension != nil {\n\t\treturn *m.IsExtension\n\t}\n\treturn false\n}\n\n// Encapsulates information about the original source file from which a\n// FileDescriptorProto was generated.\ntype SourceCodeInfo struct {\n\t// A Location identifies a piece of source code in a .proto file which\n\t// corresponds to a particular definition.  This information is intended\n\t// to be useful to IDEs, code indexers, documentation generators, and similar\n\t// tools.\n\t//\n\t// For example, say we have a file like:\n\t//   message Foo {\n\t//     optional string foo = 1;\n\t//   }\n\t// Let's look at just the field definition:\n\t//   optional string foo = 1;\n\t//   ^       ^^     ^^  ^  ^^^\n\t//   a       bc     de  f  ghi\n\t// We have the following locations:\n\t//   span   path               represents\n\t//   [a,i)  [ 4, 0, 2, 0 ]     The whole field definition.\n\t//   [a,b)  [ 4, 0, 2, 0, 4 ]  The label (optional).\n\t//   [c,d)  [ 4, 0, 2, 0, 5 ]  The type (string).\n\t//   [e,f)  [ 4, 0, 2, 0, 1 ]  The name (foo).\n\t//   [g,h)  [ 4, 0, 2, 0, 3 ]  The number (1).\n\t//\n\t// Notes:\n\t// - A location may refer to a repeated field itself (i.e. not to any\n\t//   particular index within it).  This is used whenever a set of elements are\n\t//   logically enclosed in a single code segment.  For example, an entire\n\t//   extend block (possibly containing multiple extension definitions) will\n\t//   have an outer location whose path refers to the \"extensions\" repeated\n\t//   field without an index.\n\t// - Multiple locations may have the same path.  This happens when a single\n\t//   logical declaration is spread out across multiple places.  The most\n\t//   obvious example is the \"extend\" block again -- there may be multiple\n\t//   extend blocks in the same scope, each of which will have the same path.\n\t// - A location's span is not always a subset of its parent's span.  For\n\t//   example, the \"extendee\" of an extension declaration appears at the\n\t//   beginning of the \"extend\" block and is shared by all extensions within\n\t//   the block.\n\t// - Just because a location's span is a subset of some other location's span\n\t//   does not mean that it is a descendent.  For example, a \"group\" defines\n\t//   both a type and a field in a single declaration.  Thus, the locations\n\t//   corresponding to the type and field and their components will overlap.\n\t// - Code which tries to interpret locations should probably be designed to\n\t//   ignore those that it doesn't understand, as more types of locations could\n\t//   be recorded in the future.\n\tLocation             []*SourceCodeInfo_Location `protobuf:\"bytes,1,rep,name=location\" json:\"location,omitempty\"`\n\tXXX_NoUnkeyedLiteral struct{}                   `json:\"-\"`\n\tXXX_unrecognized     []byte                     `json:\"-\"`\n\tXXX_sizecache        int32                      `json:\"-\"`\n}\n\nfunc (m *SourceCodeInfo) Reset()         { *m = SourceCodeInfo{} }\nfunc (m *SourceCodeInfo) String() string { return proto.CompactTextString(m) }\nfunc (*SourceCodeInfo) ProtoMessage()    {}\nfunc (*SourceCodeInfo) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor_descriptor_9588782fb9cbecd6, []int{19}\n}\nfunc (m *SourceCodeInfo) XXX_Unmarshal(b []byte) error {\n\treturn xxx_messageInfo_SourceCodeInfo.Unmarshal(m, b)\n}\nfunc (m *SourceCodeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {\n\treturn xxx_messageInfo_SourceCodeInfo.Marshal(b, m, deterministic)\n}\nfunc (dst *SourceCodeInfo) XXX_Merge(src proto.Message) {\n\txxx_messageInfo_SourceCodeInfo.Merge(dst, src)\n}\nfunc (m *SourceCodeInfo) XXX_Size() int {\n\treturn xxx_messageInfo_SourceCodeInfo.Size(m)\n}\nfunc (m *SourceCodeInfo) XXX_DiscardUnknown() {\n\txxx_messageInfo_SourceCodeInfo.DiscardUnknown(m)\n}\n\nvar xxx_messageInfo_SourceCodeInfo proto.InternalMessageInfo\n\nfunc (m *SourceCodeInfo) GetLocation() []*SourceCodeInfo_Location {\n\tif m != nil {\n\t\treturn m.Location\n\t}\n\treturn nil\n}\n\ntype SourceCodeInfo_Location struct {\n\t// Identifies which part of the FileDescriptorProto was defined at this\n\t// location.\n\t//\n\t// Each element is a field number or an index.  They form a path from\n\t// the root FileDescriptorProto to the place where the definition.  For\n\t// example, this path:\n\t//   [ 4, 3, 2, 7, 1 ]\n\t// refers to:\n\t//   file.message_type(3)  // 4, 3\n\t//       .field(7)         // 2, 7\n\t//       .name()           // 1\n\t// This is because FileDescriptorProto.message_type has field number 4:\n\t//   repeated DescriptorProto message_type = 4;\n\t// and DescriptorProto.field has field number 2:\n\t//   repeated FieldDescriptorProto field = 2;\n\t// and FieldDescriptorProto.name has field number 1:\n\t//   optional string name = 1;\n\t//\n\t// Thus, the above path gives the location of a field name.  If we removed\n\t// the last element:\n\t//   [ 4, 3, 2, 7 ]\n\t// this path refers to the whole field declaration (from the beginning\n\t// of the label to the terminating semicolon).\n\tPath []int32 `protobuf:\"varint,1,rep,packed,name=path\" json:\"path,omitempty\"`\n\t// Always has exactly three or four elements: start line, start column,\n\t// end line (optional, otherwise assumed same as start line), end column.\n\t// These are packed into a single field for efficiency.  Note that line\n\t// and column numbers are zero-based -- typically you will want to add\n\t// 1 to each before displaying to a user.\n\tSpan []int32 `protobuf:\"varint,2,rep,packed,name=span\" json:\"span,omitempty\"`\n\t// If this SourceCodeInfo represents a complete declaration, these are any\n\t// comments appearing before and after the declaration which appear to be\n\t// attached to the declaration.\n\t//\n\t// A series of line comments appearing on consecutive lines, with no other\n\t// tokens appearing on those lines, will be treated as a single comment.\n\t//\n\t// leading_detached_comments will keep paragraphs of comments that appear\n\t// before (but not connected to) the current element. Each paragraph,\n\t// separated by empty lines, will be one comment element in the repeated\n\t// field.\n\t//\n\t// Only the comment content is provided; comment markers (e.g. //) are\n\t// stripped out.  For block comments, leading whitespace and an asterisk\n\t// will be stripped from the beginning of each line other than the first.\n\t// Newlines are included in the output.\n\t//\n\t// Examples:\n\t//\n\t//   optional int32 foo = 1;  // Comment attached to foo.\n\t//   // Comment attached to bar.\n\t//   optional int32 bar = 2;\n\t//\n\t//   optional string baz = 3;\n\t//   // Comment attached to baz.\n\t//   // Another line attached to baz.\n\t//\n\t//   // Comment attached to qux.\n\t//   //\n\t//   // Another line attached to qux.\n\t//   optional double qux = 4;\n\t//\n\t//   // Detached comment for corge. This is not leading or trailing comments\n\t//   // to qux or corge because there are blank lines separating it from\n\t//   // both.\n\t//\n\t//   // Detached comment for corge paragraph 2.\n\t//\n\t//   optional string corge = 5;\n\t//   /* Block comment attached\n\t//    * to corge.  Leading asterisks\n\t//    * will be removed. */\n\t//   /* Block comment attached to\n\t//    * grault. */\n\t//   optional int32 grault = 6;\n\t//\n\t//   // ignored detached comments.\n\tLeadingComments         *string  `protobuf:\"bytes,3,opt,name=leading_comments,json=leadingComments\" json:\"leading_comments,omitempty\"`\n\tTrailingComments        *string  `protobuf:\"bytes,4,opt,name=trailing_comments,json=trailingComments\" json:\"trailing_comments,omitempty\"`\n\tLeadingDetachedComments []string `protobuf:\"bytes,6,rep,name=leading_detached_comments,json=leadingDetachedComments\" json:\"leading_detached_comments,omitempty\"`\n\tXXX_NoUnkeyedLiteral    struct{} `json:\"-\"`\n\tXXX_unrecognized        []byte   `json:\"-\"`\n\tXXX_sizecache           int32    `json:\"-\"`\n}\n\nfunc (m *SourceCodeInfo_Location) Reset()         { *m = SourceCodeInfo_Location{} }\nfunc (m *SourceCodeInfo_Location) String() string { return proto.CompactTextString(m) }\nfunc (*SourceCodeInfo_Location) ProtoMessage()    {}\nfunc (*SourceCodeInfo_Location) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor_descriptor_9588782fb9cbecd6, []int{19, 0}\n}\nfunc (m *SourceCodeInfo_Location) XXX_Unmarshal(b []byte) error {\n\treturn xxx_messageInfo_SourceCodeInfo_Location.Unmarshal(m, b)\n}\nfunc (m *SourceCodeInfo_Location) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {\n\treturn xxx_messageInfo_SourceCodeInfo_Location.Marshal(b, m, deterministic)\n}\nfunc (dst *SourceCodeInfo_Location) XXX_Merge(src proto.Message) {\n\txxx_messageInfo_SourceCodeInfo_Location.Merge(dst, src)\n}\nfunc (m *SourceCodeInfo_Location) XXX_Size() int {\n\treturn xxx_messageInfo_SourceCodeInfo_Location.Size(m)\n}\nfunc (m *SourceCodeInfo_Location) XXX_DiscardUnknown() {\n\txxx_messageInfo_SourceCodeInfo_Location.DiscardUnknown(m)\n}\n\nvar xxx_messageInfo_SourceCodeInfo_Location proto.InternalMessageInfo\n\nfunc (m *SourceCodeInfo_Location) GetPath() []int32 {\n\tif m != nil {\n\t\treturn m.Path\n\t}\n\treturn nil\n}\n\nfunc (m *SourceCodeInfo_Location) GetSpan() []int32 {\n\tif m != nil {\n\t\treturn m.Span\n\t}\n\treturn nil\n}\n\nfunc (m *SourceCodeInfo_Location) GetLeadingComments() string {\n\tif m != nil && m.LeadingComments != nil {\n\t\treturn *m.LeadingComments\n\t}\n\treturn \"\"\n}\n\nfunc (m *SourceCodeInfo_Location) GetTrailingComments() string {\n\tif m != nil && m.TrailingComments != nil {\n\t\treturn *m.TrailingComments\n\t}\n\treturn \"\"\n}\n\nfunc (m *SourceCodeInfo_Location) GetLeadingDetachedComments() []string {\n\tif m != nil {\n\t\treturn m.LeadingDetachedComments\n\t}\n\treturn nil\n}\n\n// Describes the relationship between generated code and its original source\n// file. A GeneratedCodeInfo message is associated with only one generated\n// source file, but may contain references to different source .proto files.\ntype GeneratedCodeInfo struct {\n\t// An Annotation connects some span of text in generated code to an element\n\t// of its generating .proto file.\n\tAnnotation           []*GeneratedCodeInfo_Annotation `protobuf:\"bytes,1,rep,name=annotation\" json:\"annotation,omitempty\"`\n\tXXX_NoUnkeyedLiteral struct{}                        `json:\"-\"`\n\tXXX_unrecognized     []byte                          `json:\"-\"`\n\tXXX_sizecache        int32                           `json:\"-\"`\n}\n\nfunc (m *GeneratedCodeInfo) Reset()         { *m = GeneratedCodeInfo{} }\nfunc (m *GeneratedCodeInfo) String() string { return proto.CompactTextString(m) }\nfunc (*GeneratedCodeInfo) ProtoMessage()    {}\nfunc (*GeneratedCodeInfo) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor_descriptor_9588782fb9cbecd6, []int{20}\n}\nfunc (m *GeneratedCodeInfo) XXX_Unmarshal(b []byte) error {\n\treturn xxx_messageInfo_GeneratedCodeInfo.Unmarshal(m, b)\n}\nfunc (m *GeneratedCodeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {\n\treturn xxx_messageInfo_GeneratedCodeInfo.Marshal(b, m, deterministic)\n}\nfunc (dst *GeneratedCodeInfo) XXX_Merge(src proto.Message) {\n\txxx_messageInfo_GeneratedCodeInfo.Merge(dst, src)\n}\nfunc (m *GeneratedCodeInfo) XXX_Size() int {\n\treturn xxx_messageInfo_GeneratedCodeInfo.Size(m)\n}\nfunc (m *GeneratedCodeInfo) XXX_DiscardUnknown() {\n\txxx_messageInfo_GeneratedCodeInfo.DiscardUnknown(m)\n}\n\nvar xxx_messageInfo_GeneratedCodeInfo proto.InternalMessageInfo\n\nfunc (m *GeneratedCodeInfo) GetAnnotation() []*GeneratedCodeInfo_Annotation {\n\tif m != nil {\n\t\treturn m.Annotation\n\t}\n\treturn nil\n}\n\ntype GeneratedCodeInfo_Annotation struct {\n\t// Identifies the element in the original source .proto file. This field\n\t// is formatted the same as SourceCodeInfo.Location.path.\n\tPath []int32 `protobuf:\"varint,1,rep,packed,name=path\" json:\"path,omitempty\"`\n\t// Identifies the filesystem path to the original source .proto.\n\tSourceFile *string `protobuf:\"bytes,2,opt,name=source_file,json=sourceFile\" json:\"source_file,omitempty\"`\n\t// Identifies the starting offset in bytes in the generated code\n\t// that relates to the identified object.\n\tBegin *int32 `protobuf:\"varint,3,opt,name=begin\" json:\"begin,omitempty\"`\n\t// Identifies the ending offset in bytes in the generated code that\n\t// relates to the identified offset. The end offset should be one past\n\t// the last relevant byte (so the length of the text = end - begin).\n\tEnd                  *int32   `protobuf:\"varint,4,opt,name=end\" json:\"end,omitempty\"`\n\tXXX_NoUnkeyedLiteral struct{} `json:\"-\"`\n\tXXX_unrecognized     []byte   `json:\"-\"`\n\tXXX_sizecache        int32    `json:\"-\"`\n}\n\nfunc (m *GeneratedCodeInfo_Annotation) Reset()         { *m = GeneratedCodeInfo_Annotation{} }\nfunc (m *GeneratedCodeInfo_Annotation) String() string { return proto.CompactTextString(m) }\nfunc (*GeneratedCodeInfo_Annotation) ProtoMessage()    {}\nfunc (*GeneratedCodeInfo_Annotation) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor_descriptor_9588782fb9cbecd6, []int{20, 0}\n}\nfunc (m *GeneratedCodeInfo_Annotation) XXX_Unmarshal(b []byte) error {\n\treturn xxx_messageInfo_GeneratedCodeInfo_Annotation.Unmarshal(m, b)\n}\nfunc (m *GeneratedCodeInfo_Annotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {\n\treturn xxx_messageInfo_GeneratedCodeInfo_Annotation.Marshal(b, m, deterministic)\n}\nfunc (dst *GeneratedCodeInfo_Annotation) XXX_Merge(src proto.Message) {\n\txxx_messageInfo_GeneratedCodeInfo_Annotation.Merge(dst, src)\n}\nfunc (m *GeneratedCodeInfo_Annotation) XXX_Size() int {\n\treturn xxx_messageInfo_GeneratedCodeInfo_Annotation.Size(m)\n}\nfunc (m *GeneratedCodeInfo_Annotation) XXX_DiscardUnknown() {\n\txxx_messageInfo_GeneratedCodeInfo_Annotation.DiscardUnknown(m)\n}\n\nvar xxx_messageInfo_GeneratedCodeInfo_Annotation proto.InternalMessageInfo\n\nfunc (m *GeneratedCodeInfo_Annotation) GetPath() []int32 {\n\tif m != nil {\n\t\treturn m.Path\n\t}\n\treturn nil\n}\n\nfunc (m *GeneratedCodeInfo_Annotation) GetSourceFile() string {\n\tif m != nil && m.SourceFile != nil {\n\t\treturn *m.SourceFile\n\t}\n\treturn \"\"\n}\n\nfunc (m *GeneratedCodeInfo_Annotation) GetBegin() int32 {\n\tif m != nil && m.Begin != nil {\n\t\treturn *m.Begin\n\t}\n\treturn 0\n}\n\nfunc (m *GeneratedCodeInfo_Annotation) GetEnd() int32 {\n\tif m != nil && m.End != nil {\n\t\treturn *m.End\n\t}\n\treturn 0\n}\n\nfunc init() {\n\tproto.RegisterType((*FileDescriptorSet)(nil), \"google.protobuf.FileDescriptorSet\")\n\tproto.RegisterType((*FileDescriptorProto)(nil), \"google.protobuf.FileDescriptorProto\")\n\tproto.RegisterType((*DescriptorProto)(nil), \"google.protobuf.DescriptorProto\")\n\tproto.RegisterType((*DescriptorProto_ExtensionRange)(nil), \"google.protobuf.DescriptorProto.ExtensionRange\")\n\tproto.RegisterType((*DescriptorProto_ReservedRange)(nil), \"google.protobuf.DescriptorProto.ReservedRange\")\n\tproto.RegisterType((*ExtensionRangeOptions)(nil), \"google.protobuf.ExtensionRangeOptions\")\n\tproto.RegisterType((*FieldDescriptorProto)(nil), \"google.protobuf.FieldDescriptorProto\")\n\tproto.RegisterType((*OneofDescriptorProto)(nil), \"google.protobuf.OneofDescriptorProto\")\n\tproto.RegisterType((*EnumDescriptorProto)(nil), \"google.protobuf.EnumDescriptorProto\")\n\tproto.RegisterType((*EnumDescriptorProto_EnumReservedRange)(nil), \"google.protobuf.EnumDescriptorProto.EnumReservedRange\")\n\tproto.RegisterType((*EnumValueDescriptorProto)(nil), \"google.protobuf.EnumValueDescriptorProto\")\n\tproto.RegisterType((*ServiceDescriptorProto)(nil), \"google.protobuf.ServiceDescriptorProto\")\n\tproto.RegisterType((*MethodDescriptorProto)(nil), \"google.protobuf.MethodDescriptorProto\")\n\tproto.RegisterType((*FileOptions)(nil), \"google.protobuf.FileOptions\")\n\tproto.RegisterType((*MessageOptions)(nil), \"google.protobuf.MessageOptions\")\n\tproto.RegisterType((*FieldOptions)(nil), \"google.protobuf.FieldOptions\")\n\tproto.RegisterType((*OneofOptions)(nil), \"google.protobuf.OneofOptions\")\n\tproto.RegisterType((*EnumOptions)(nil), \"google.protobuf.EnumOptions\")\n\tproto.RegisterType((*EnumValueOptions)(nil), \"google.protobuf.EnumValueOptions\")\n\tproto.RegisterType((*ServiceOptions)(nil), \"google.protobuf.ServiceOptions\")\n\tproto.RegisterType((*MethodOptions)(nil), \"google.protobuf.MethodOptions\")\n\tproto.RegisterType((*UninterpretedOption)(nil), \"google.protobuf.UninterpretedOption\")\n\tproto.RegisterType((*UninterpretedOption_NamePart)(nil), \"google.protobuf.UninterpretedOption.NamePart\")\n\tproto.RegisterType((*SourceCodeInfo)(nil), \"google.protobuf.SourceCodeInfo\")\n\tproto.RegisterType((*SourceCodeInfo_Location)(nil), \"google.protobuf.SourceCodeInfo.Location\")\n\tproto.RegisterType((*GeneratedCodeInfo)(nil), \"google.protobuf.GeneratedCodeInfo\")\n\tproto.RegisterType((*GeneratedCodeInfo_Annotation)(nil), \"google.protobuf.GeneratedCodeInfo.Annotation\")\n\tproto.RegisterEnum(\"google.protobuf.FieldDescriptorProto_Type\", FieldDescriptorProto_Type_name, FieldDescriptorProto_Type_value)\n\tproto.RegisterEnum(\"google.protobuf.FieldDescriptorProto_Label\", FieldDescriptorProto_Label_name, FieldDescriptorProto_Label_value)\n\tproto.RegisterEnum(\"google.protobuf.FileOptions_OptimizeMode\", FileOptions_OptimizeMode_name, FileOptions_OptimizeMode_value)\n\tproto.RegisterEnum(\"google.protobuf.FieldOptions_CType\", FieldOptions_CType_name, FieldOptions_CType_value)\n\tproto.RegisterEnum(\"google.protobuf.FieldOptions_JSType\", FieldOptions_JSType_name, FieldOptions_JSType_value)\n\tproto.RegisterEnum(\"google.protobuf.MethodOptions_IdempotencyLevel\", MethodOptions_IdempotencyLevel_name, MethodOptions_IdempotencyLevel_value)\n}\n\nfunc init() { proto.RegisterFile(\"descriptor.proto\", fileDescriptor_descriptor_9588782fb9cbecd6) }\n\nvar fileDescriptor_descriptor_9588782fb9cbecd6 = []byte{\n\t// 2487 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0xcd, 0x6f, 0xdb, 0xc8,\n\t0x15, 0x5f, 0x7d, 0x5a, 0x7a, 0x92, 0xe5, 0xf1, 0xd8, 0x9b, 0x30, 0xde, 0x8f, 0x38, 0xda, 0x8f,\n\t0x38, 0x49, 0xab, 0x2c, 0x9c, 0xc4, 0xc9, 0x3a, 0xc5, 0xb6, 0xb2, 0xc4, 0x78, 0x95, 0xca, 0x92,\n\t0x4a, 0xc9, 0xdd, 0x64, 0x8b, 0x82, 0x18, 0x93, 0x23, 0x89, 0x09, 0x45, 0x72, 0x49, 0x2a, 0x89,\n\t0x83, 0x1e, 0x02, 0xf4, 0xd4, 0xff, 0xa0, 0x28, 0x8a, 0x1e, 0x7a, 0x59, 0xa0, 0xd7, 0x02, 0x05,\n\t0xda, 0x7b, 0xaf, 0x05, 0x7a, 0xef, 0xa1, 0x40, 0x0b, 0xb4, 0x7f, 0x42, 0x8f, 0xc5, 0xcc, 0x90,\n\t0x14, 0xf5, 0x95, 0x78, 0x17, 0x48, 0xf6, 0x64, 0xcf, 0xef, 0xfd, 0xde, 0xe3, 0x9b, 0x37, 0x6f,\n\t0xde, 0xbc, 0x19, 0x01, 0xd2, 0xa9, 0xa7, 0xb9, 0x86, 0xe3, 0xdb, 0x6e, 0xc5, 0x71, 0x6d, 0xdf,\n\t0xc6, 0x6b, 0x03, 0xdb, 0x1e, 0x98, 0x54, 0x8c, 0x4e, 0xc6, 0xfd, 0xf2, 0x11, 0xac, 0xdf, 0x33,\n\t0x4c, 0x5a, 0x8f, 0x88, 0x5d, 0xea, 0xe3, 0x3b, 0x90, 0xee, 0x1b, 0x26, 0x95, 0x12, 0xdb, 0xa9,\n\t0x9d, 0xc2, 0xee, 0x87, 0x95, 0x19, 0xa5, 0xca, 0xb4, 0x46, 0x87, 0xc1, 0x0a, 0xd7, 0x28, 0xff,\n\t0x3b, 0x0d, 0x1b, 0x0b, 0xa4, 0x18, 0x43, 0xda, 0x22, 0x23, 0x66, 0x31, 0xb1, 0x93, 0x57, 0xf8,\n\t0xff, 0x58, 0x82, 0x15, 0x87, 0x68, 0x8f, 0xc9, 0x80, 0x4a, 0x49, 0x0e, 0x87, 0x43, 0xfc, 0x3e,\n\t0x80, 0x4e, 0x1d, 0x6a, 0xe9, 0xd4, 0xd2, 0x4e, 0xa5, 0xd4, 0x76, 0x6a, 0x27, 0xaf, 0xc4, 0x10,\n\t0x7c, 0x0d, 0xd6, 0x9d, 0xf1, 0x89, 0x69, 0x68, 0x6a, 0x8c, 0x06, 0xdb, 0xa9, 0x9d, 0x8c, 0x82,\n\t0x84, 0xa0, 0x3e, 0x21, 0x5f, 0x86, 0xb5, 0xa7, 0x94, 0x3c, 0x8e, 0x53, 0x0b, 0x9c, 0x5a, 0x62,\n\t0x70, 0x8c, 0x58, 0x83, 0xe2, 0x88, 0x7a, 0x1e, 0x19, 0x50, 0xd5, 0x3f, 0x75, 0xa8, 0x94, 0xe6,\n\t0xb3, 0xdf, 0x9e, 0x9b, 0xfd, 0xec, 0xcc, 0x0b, 0x81, 0x56, 0xef, 0xd4, 0xa1, 0xb8, 0x0a, 0x79,\n\t0x6a, 0x8d, 0x47, 0xc2, 0x42, 0x66, 0x49, 0xfc, 0x64, 0x6b, 0x3c, 0x9a, 0xb5, 0x92, 0x63, 0x6a,\n\t0x81, 0x89, 0x15, 0x8f, 0xba, 0x4f, 0x0c, 0x8d, 0x4a, 0x59, 0x6e, 0xe0, 0xf2, 0x9c, 0x81, 0xae,\n\t0x90, 0xcf, 0xda, 0x08, 0xf5, 0x70, 0x0d, 0xf2, 0xf4, 0x99, 0x4f, 0x2d, 0xcf, 0xb0, 0x2d, 0x69,\n\t0x85, 0x1b, 0xf9, 0x68, 0xc1, 0x2a, 0x52, 0x53, 0x9f, 0x35, 0x31, 0xd1, 0xc3, 0x7b, 0xb0, 0x62,\n\t0x3b, 0xbe, 0x61, 0x5b, 0x9e, 0x94, 0xdb, 0x4e, 0xec, 0x14, 0x76, 0xdf, 0x5d, 0x98, 0x08, 0x6d,\n\t0xc1, 0x51, 0x42, 0x32, 0x6e, 0x00, 0xf2, 0xec, 0xb1, 0xab, 0x51, 0x55, 0xb3, 0x75, 0xaa, 0x1a,\n\t0x56, 0xdf, 0x96, 0xf2, 0xdc, 0xc0, 0xc5, 0xf9, 0x89, 0x70, 0x62, 0xcd, 0xd6, 0x69, 0xc3, 0xea,\n\t0xdb, 0x4a, 0xc9, 0x9b, 0x1a, 0xe3, 0x73, 0x90, 0xf5, 0x4e, 0x2d, 0x9f, 0x3c, 0x93, 0x8a, 0x3c,\n\t0x43, 0x82, 0x51, 0xf9, 0xcf, 0x59, 0x58, 0x3b, 0x4b, 0x8a, 0xdd, 0x85, 0x4c, 0x9f, 0xcd, 0x52,\n\t0x4a, 0x7e, 0x93, 0x18, 0x08, 0x9d, 0xe9, 0x20, 0x66, 0xbf, 0x65, 0x10, 0xab, 0x50, 0xb0, 0xa8,\n\t0xe7, 0x53, 0x5d, 0x64, 0x44, 0xea, 0x8c, 0x39, 0x05, 0x42, 0x69, 0x3e, 0xa5, 0xd2, 0xdf, 0x2a,\n\t0xa5, 0x1e, 0xc0, 0x5a, 0xe4, 0x92, 0xea, 0x12, 0x6b, 0x10, 0xe6, 0xe6, 0xf5, 0x57, 0x79, 0x52,\n\t0x91, 0x43, 0x3d, 0x85, 0xa9, 0x29, 0x25, 0x3a, 0x35, 0xc6, 0x75, 0x00, 0xdb, 0xa2, 0x76, 0x5f,\n\t0xd5, 0xa9, 0x66, 0x4a, 0xb9, 0x25, 0x51, 0x6a, 0x33, 0xca, 0x5c, 0x94, 0x6c, 0x81, 0x6a, 0x26,\n\t0xfe, 0x74, 0x92, 0x6a, 0x2b, 0x4b, 0x32, 0xe5, 0x48, 0x6c, 0xb2, 0xb9, 0x6c, 0x3b, 0x86, 0x92,\n\t0x4b, 0x59, 0xde, 0x53, 0x3d, 0x98, 0x59, 0x9e, 0x3b, 0x51, 0x79, 0xe5, 0xcc, 0x94, 0x40, 0x4d,\n\t0x4c, 0x6c, 0xd5, 0x8d, 0x0f, 0xf1, 0x07, 0x10, 0x01, 0x2a, 0x4f, 0x2b, 0xe0, 0x55, 0xa8, 0x18,\n\t0x82, 0x2d, 0x32, 0xa2, 0x5b, 0xcf, 0xa1, 0x34, 0x1d, 0x1e, 0xbc, 0x09, 0x19, 0xcf, 0x27, 0xae,\n\t0xcf, 0xb3, 0x30, 0xa3, 0x88, 0x01, 0x46, 0x90, 0xa2, 0x96, 0xce, 0xab, 0x5c, 0x46, 0x61, 0xff,\n\t0xe2, 0x1f, 0x4d, 0x26, 0x9c, 0xe2, 0x13, 0xfe, 0x78, 0x7e, 0x45, 0xa7, 0x2c, 0xcf, 0xce, 0x7b,\n\t0xeb, 0x36, 0xac, 0x4e, 0x4d, 0xe0, 0xac, 0x9f, 0x2e, 0xff, 0x02, 0xde, 0x5e, 0x68, 0x1a, 0x3f,\n\t0x80, 0xcd, 0xb1, 0x65, 0x58, 0x3e, 0x75, 0x1d, 0x97, 0xb2, 0x8c, 0x15, 0x9f, 0x92, 0xfe, 0xb3,\n\t0xb2, 0x24, 0xe7, 0x8e, 0xe3, 0x6c, 0x61, 0x45, 0xd9, 0x18, 0xcf, 0x83, 0x57, 0xf3, 0xb9, 0xff,\n\t0xae, 0xa0, 0x17, 0x2f, 0x5e, 0xbc, 0x48, 0x96, 0x7f, 0x9d, 0x85, 0xcd, 0x45, 0x7b, 0x66, 0xe1,\n\t0xf6, 0x3d, 0x07, 0x59, 0x6b, 0x3c, 0x3a, 0xa1, 0x2e, 0x0f, 0x52, 0x46, 0x09, 0x46, 0xb8, 0x0a,\n\t0x19, 0x93, 0x9c, 0x50, 0x53, 0x4a, 0x6f, 0x27, 0x76, 0x4a, 0xbb, 0xd7, 0xce, 0xb4, 0x2b, 0x2b,\n\t0x4d, 0xa6, 0xa2, 0x08, 0x4d, 0xfc, 0x19, 0xa4, 0x83, 0x12, 0xcd, 0x2c, 0x5c, 0x3d, 0x9b, 0x05,\n\t0xb6, 0x97, 0x14, 0xae, 0x87, 0xdf, 0x81, 0x3c, 0xfb, 0x2b, 0x72, 0x23, 0xcb, 0x7d, 0xce, 0x31,\n\t0x80, 0xe5, 0x05, 0xde, 0x82, 0x1c, 0xdf, 0x26, 0x3a, 0x0d, 0x8f, 0xb6, 0x68, 0xcc, 0x12, 0x4b,\n\t0xa7, 0x7d, 0x32, 0x36, 0x7d, 0xf5, 0x09, 0x31, 0xc7, 0x94, 0x27, 0x7c, 0x5e, 0x29, 0x06, 0xe0,\n\t0x4f, 0x19, 0x86, 0x2f, 0x42, 0x41, 0xec, 0x2a, 0xc3, 0xd2, 0xe9, 0x33, 0x5e, 0x3d, 0x33, 0x8a,\n\t0xd8, 0x68, 0x0d, 0x86, 0xb0, 0xcf, 0x3f, 0xf2, 0x6c, 0x2b, 0x4c, 0x4d, 0xfe, 0x09, 0x06, 0xf0,\n\t0xcf, 0xdf, 0x9e, 0x2d, 0xdc, 0xef, 0x2d, 0x9e, 0xde, 0x6c, 0x4e, 0x95, 0xff, 0x94, 0x84, 0x34,\n\t0xaf, 0x17, 0x6b, 0x50, 0xe8, 0x3d, 0xec, 0xc8, 0x6a, 0xbd, 0x7d, 0x7c, 0xd0, 0x94, 0x51, 0x02,\n\t0x97, 0x00, 0x38, 0x70, 0xaf, 0xd9, 0xae, 0xf6, 0x50, 0x32, 0x1a, 0x37, 0x5a, 0xbd, 0xbd, 0x9b,\n\t0x28, 0x15, 0x29, 0x1c, 0x0b, 0x20, 0x1d, 0x27, 0xdc, 0xd8, 0x45, 0x19, 0x8c, 0xa0, 0x28, 0x0c,\n\t0x34, 0x1e, 0xc8, 0xf5, 0xbd, 0x9b, 0x28, 0x3b, 0x8d, 0xdc, 0xd8, 0x45, 0x2b, 0x78, 0x15, 0xf2,\n\t0x1c, 0x39, 0x68, 0xb7, 0x9b, 0x28, 0x17, 0xd9, 0xec, 0xf6, 0x94, 0x46, 0xeb, 0x10, 0xe5, 0x23,\n\t0x9b, 0x87, 0x4a, 0xfb, 0xb8, 0x83, 0x20, 0xb2, 0x70, 0x24, 0x77, 0xbb, 0xd5, 0x43, 0x19, 0x15,\n\t0x22, 0xc6, 0xc1, 0xc3, 0x9e, 0xdc, 0x45, 0xc5, 0x29, 0xb7, 0x6e, 0xec, 0xa2, 0xd5, 0xe8, 0x13,\n\t0x72, 0xeb, 0xf8, 0x08, 0x95, 0xf0, 0x3a, 0xac, 0x8a, 0x4f, 0x84, 0x4e, 0xac, 0xcd, 0x40, 0x7b,\n\t0x37, 0x11, 0x9a, 0x38, 0x22, 0xac, 0xac, 0x4f, 0x01, 0x7b, 0x37, 0x11, 0x2e, 0xd7, 0x20, 0xc3,\n\t0xb3, 0x0b, 0x63, 0x28, 0x35, 0xab, 0x07, 0x72, 0x53, 0x6d, 0x77, 0x7a, 0x8d, 0x76, 0xab, 0xda,\n\t0x44, 0x89, 0x09, 0xa6, 0xc8, 0x3f, 0x39, 0x6e, 0x28, 0x72, 0x1d, 0x25, 0xe3, 0x58, 0x47, 0xae,\n\t0xf6, 0xe4, 0x3a, 0x4a, 0x95, 0x35, 0xd8, 0x5c, 0x54, 0x27, 0x17, 0xee, 0x8c, 0xd8, 0x12, 0x27,\n\t0x97, 0x2c, 0x31, 0xb7, 0x35, 0xb7, 0xc4, 0xff, 0x4a, 0xc2, 0xc6, 0x82, 0xb3, 0x62, 0xe1, 0x47,\n\t0x7e, 0x08, 0x19, 0x91, 0xa2, 0xe2, 0xf4, 0xbc, 0xb2, 0xf0, 0xd0, 0xe1, 0x09, 0x3b, 0x77, 0x82,\n\t0x72, 0xbd, 0x78, 0x07, 0x91, 0x5a, 0xd2, 0x41, 0x30, 0x13, 0x73, 0x35, 0xfd, 0xe7, 0x73, 0x35,\n\t0x5d, 0x1c, 0x7b, 0x7b, 0x67, 0x39, 0xf6, 0x38, 0xf6, 0xcd, 0x6a, 0x7b, 0x66, 0x41, 0x6d, 0xbf,\n\t0x0b, 0xeb, 0x73, 0x86, 0xce, 0x5c, 0x63, 0x7f, 0x99, 0x00, 0x69, 0x59, 0x70, 0x5e, 0x51, 0xe9,\n\t0x92, 0x53, 0x95, 0xee, 0xee, 0x6c, 0x04, 0x2f, 0x2d, 0x5f, 0x84, 0xb9, 0xb5, 0xfe, 0x3a, 0x01,\n\t0xe7, 0x16, 0x77, 0x8a, 0x0b, 0x7d, 0xf8, 0x0c, 0xb2, 0x23, 0xea, 0x0f, 0xed, 0xb0, 0x5b, 0xfa,\n\t0x78, 0xc1, 0x19, 0xcc, 0xc4, 0xb3, 0x8b, 0x1d, 0x68, 0xc5, 0x0f, 0xf1, 0xd4, 0xb2, 0x76, 0x4f,\n\t0x78, 0x33, 0xe7, 0xe9, 0xaf, 0x92, 0xf0, 0xf6, 0x42, 0xe3, 0x0b, 0x1d, 0x7d, 0x0f, 0xc0, 0xb0,\n\t0x9c, 0xb1, 0x2f, 0x3a, 0x22, 0x51, 0x60, 0xf3, 0x1c, 0xe1, 0xc5, 0x8b, 0x15, 0xcf, 0xb1, 0x1f,\n\t0xc9, 0x53, 0x5c, 0x0e, 0x02, 0xe2, 0x84, 0x3b, 0x13, 0x47, 0xd3, 0xdc, 0xd1, 0xf7, 0x97, 0xcc,\n\t0x74, 0x2e, 0x31, 0x3f, 0x01, 0xa4, 0x99, 0x06, 0xb5, 0x7c, 0xd5, 0xf3, 0x5d, 0x4a, 0x46, 0x86,\n\t0x35, 0xe0, 0x27, 0x48, 0x6e, 0x3f, 0xd3, 0x27, 0xa6, 0x47, 0x95, 0x35, 0x21, 0xee, 0x86, 0x52,\n\t0xa6, 0xc1, 0x13, 0xc8, 0x8d, 0x69, 0x64, 0xa7, 0x34, 0x84, 0x38, 0xd2, 0x28, 0xff, 0x31, 0x07,\n\t0x85, 0x58, 0x5f, 0x8d, 0x2f, 0x41, 0xf1, 0x11, 0x79, 0x42, 0xd4, 0xf0, 0xae, 0x24, 0x22, 0x51,\n\t0x60, 0x58, 0x27, 0xb8, 0x2f, 0x7d, 0x02, 0x9b, 0x9c, 0x62, 0x8f, 0x7d, 0xea, 0xaa, 0x9a, 0x49,\n\t0x3c, 0x8f, 0x07, 0x2d, 0xc7, 0xa9, 0x98, 0xc9, 0xda, 0x4c, 0x54, 0x0b, 0x25, 0xf8, 0x16, 0x6c,\n\t0x70, 0x8d, 0xd1, 0xd8, 0xf4, 0x0d, 0xc7, 0xa4, 0x2a, 0xbb, 0xbd, 0x79, 0xfc, 0x24, 0x89, 0x3c,\n\t0x5b, 0x67, 0x8c, 0xa3, 0x80, 0xc0, 0x3c, 0xf2, 0x70, 0x1d, 0xde, 0xe3, 0x6a, 0x03, 0x6a, 0x51,\n\t0x97, 0xf8, 0x54, 0xa5, 0x5f, 0x8d, 0x89, 0xe9, 0xa9, 0xc4, 0xd2, 0xd5, 0x21, 0xf1, 0x86, 0xd2,\n\t0x26, 0x33, 0x70, 0x90, 0x94, 0x12, 0xca, 0x05, 0x46, 0x3c, 0x0c, 0x78, 0x32, 0xa7, 0x55, 0x2d,\n\t0xfd, 0x73, 0xe2, 0x0d, 0xf1, 0x3e, 0x9c, 0xe3, 0x56, 0x3c, 0xdf, 0x35, 0xac, 0x81, 0xaa, 0x0d,\n\t0xa9, 0xf6, 0x58, 0x1d, 0xfb, 0xfd, 0x3b, 0xd2, 0x3b, 0xf1, 0xef, 0x73, 0x0f, 0xbb, 0x9c, 0x53,\n\t0x63, 0x94, 0x63, 0xbf, 0x7f, 0x07, 0x77, 0xa1, 0xc8, 0x16, 0x63, 0x64, 0x3c, 0xa7, 0x6a, 0xdf,\n\t0x76, 0xf9, 0xd1, 0x58, 0x5a, 0x50, 0x9a, 0x62, 0x11, 0xac, 0xb4, 0x03, 0x85, 0x23, 0x5b, 0xa7,\n\t0xfb, 0x99, 0x6e, 0x47, 0x96, 0xeb, 0x4a, 0x21, 0xb4, 0x72, 0xcf, 0x76, 0x59, 0x42, 0x0d, 0xec,\n\t0x28, 0xc0, 0x05, 0x91, 0x50, 0x03, 0x3b, 0x0c, 0xef, 0x2d, 0xd8, 0xd0, 0x34, 0x31, 0x67, 0x43,\n\t0x53, 0x83, 0x3b, 0x96, 0x27, 0xa1, 0xa9, 0x60, 0x69, 0xda, 0xa1, 0x20, 0x04, 0x39, 0xee, 0xe1,\n\t0x4f, 0xe1, 0xed, 0x49, 0xb0, 0xe2, 0x8a, 0xeb, 0x73, 0xb3, 0x9c, 0x55, 0xbd, 0x05, 0x1b, 0xce,\n\t0xe9, 0xbc, 0x22, 0x9e, 0xfa, 0xa2, 0x73, 0x3a, 0xab, 0x76, 0x1b, 0x36, 0x9d, 0xa1, 0x33, 0xaf,\n\t0x77, 0x35, 0xae, 0x87, 0x9d, 0xa1, 0x33, 0xab, 0xf8, 0x11, 0xbf, 0x70, 0xbb, 0x54, 0x23, 0x3e,\n\t0xd5, 0xa5, 0xf3, 0x71, 0x7a, 0x4c, 0x80, 0xaf, 0x03, 0xd2, 0x34, 0x95, 0x5a, 0xe4, 0xc4, 0xa4,\n\t0x2a, 0x71, 0xa9, 0x45, 0x3c, 0xe9, 0x62, 0x9c, 0x5c, 0xd2, 0x34, 0x99, 0x4b, 0xab, 0x5c, 0x88,\n\t0xaf, 0xc2, 0xba, 0x7d, 0xf2, 0x48, 0x13, 0x29, 0xa9, 0x3a, 0x2e, 0xed, 0x1b, 0xcf, 0xa4, 0x0f,\n\t0x79, 0x7c, 0xd7, 0x98, 0x80, 0x27, 0x64, 0x87, 0xc3, 0xf8, 0x0a, 0x20, 0xcd, 0x1b, 0x12, 0xd7,\n\t0xe1, 0x35, 0xd9, 0x73, 0x88, 0x46, 0xa5, 0x8f, 0x04, 0x55, 0xe0, 0xad, 0x10, 0x66, 0x5b, 0xc2,\n\t0x7b, 0x6a, 0xf4, 0xfd, 0xd0, 0xe2, 0x65, 0xb1, 0x25, 0x38, 0x16, 0x58, 0xdb, 0x01, 0xc4, 0x42,\n\t0x31, 0xf5, 0xe1, 0x1d, 0x4e, 0x2b, 0x39, 0x43, 0x27, 0xfe, 0xdd, 0x0f, 0x60, 0x95, 0x31, 0x27,\n\t0x1f, 0xbd, 0x22, 0x1a, 0x32, 0x67, 0x18, 0xfb, 0xe2, 0x6b, 0xeb, 0x8d, 0xcb, 0xfb, 0x50, 0x8c,\n\t0xe7, 0x27, 0xce, 0x83, 0xc8, 0x50, 0x94, 0x60, 0xcd, 0x4a, 0xad, 0x5d, 0x67, 0x6d, 0xc6, 0x97,\n\t0x32, 0x4a, 0xb2, 0x76, 0xa7, 0xd9, 0xe8, 0xc9, 0xaa, 0x72, 0xdc, 0xea, 0x35, 0x8e, 0x64, 0x94,\n\t0x8a, 0xf7, 0xd5, 0x7f, 0x4d, 0x42, 0x69, 0xfa, 0x8a, 0x84, 0x7f, 0x00, 0xe7, 0xc3, 0xf7, 0x0c,\n\t0x8f, 0xfa, 0xea, 0x53, 0xc3, 0xe5, 0x5b, 0x66, 0x44, 0xc4, 0xf1, 0x15, 0x2d, 0xda, 0x66, 0xc0,\n\t0xea, 0x52, 0xff, 0x0b, 0xc3, 0x65, 0x1b, 0x62, 0x44, 0x7c, 0xdc, 0x84, 0x8b, 0x96, 0xad, 0x7a,\n\t0x3e, 0xb1, 0x74, 0xe2, 0xea, 0xea, 0xe4, 0x25, 0x49, 0x25, 0x9a, 0x46, 0x3d, 0xcf, 0x16, 0x47,\n\t0x55, 0x64, 0xe5, 0x5d, 0xcb, 0xee, 0x06, 0xe4, 0x49, 0x0d, 0xaf, 0x06, 0xd4, 0x99, 0x04, 0x4b,\n\t0x2d, 0x4b, 0xb0, 0x77, 0x20, 0x3f, 0x22, 0x8e, 0x4a, 0x2d, 0xdf, 0x3d, 0xe5, 0x8d, 0x71, 0x4e,\n\t0xc9, 0x8d, 0x88, 0x23, 0xb3, 0xf1, 0x9b, 0xb9, 0x9f, 0xfc, 0x23, 0x05, 0xc5, 0x78, 0x73, 0xcc,\n\t0xee, 0x1a, 0x1a, 0x3f, 0x47, 0x12, 0xbc, 0xd2, 0x7c, 0xf0, 0xd2, 0x56, 0xba, 0x52, 0x63, 0x07,\n\t0xcc, 0x7e, 0x56, 0xb4, 0xac, 0x8a, 0xd0, 0x64, 0x87, 0x3b, 0xab, 0x2d, 0x54, 0xb4, 0x08, 0x39,\n\t0x25, 0x18, 0xe1, 0x43, 0xc8, 0x3e, 0xf2, 0xb8, 0xed, 0x2c, 0xb7, 0xfd, 0xe1, 0xcb, 0x6d, 0xdf,\n\t0xef, 0x72, 0xe3, 0xf9, 0xfb, 0x5d, 0xb5, 0xd5, 0x56, 0x8e, 0xaa, 0x4d, 0x25, 0x50, 0xc7, 0x17,\n\t0x20, 0x6d, 0x92, 0xe7, 0xa7, 0xd3, 0x47, 0x11, 0x87, 0xce, 0x1a, 0xf8, 0x0b, 0x90, 0x7e, 0x4a,\n\t0xc9, 0xe3, 0xe9, 0x03, 0x80, 0x43, 0xaf, 0x31, 0xf5, 0xaf, 0x43, 0x86, 0xc7, 0x0b, 0x03, 0x04,\n\t0x11, 0x43, 0x6f, 0xe1, 0x1c, 0xa4, 0x6b, 0x6d, 0x85, 0xa5, 0x3f, 0x82, 0xa2, 0x40, 0xd5, 0x4e,\n\t0x43, 0xae, 0xc9, 0x28, 0x59, 0xbe, 0x05, 0x59, 0x11, 0x04, 0xb6, 0x35, 0xa2, 0x30, 0xa0, 0xb7,\n\t0x82, 0x61, 0x60, 0x23, 0x11, 0x4a, 0x8f, 0x8f, 0x0e, 0x64, 0x05, 0x25, 0xe3, 0xcb, 0xeb, 0x41,\n\t0x31, 0xde, 0x17, 0xbf, 0x99, 0x9c, 0xfa, 0x4b, 0x02, 0x0a, 0xb1, 0x3e, 0x97, 0x35, 0x28, 0xc4,\n\t0x34, 0xed, 0xa7, 0x2a, 0x31, 0x0d, 0xe2, 0x05, 0x49, 0x01, 0x1c, 0xaa, 0x32, 0xe4, 0xac, 0x8b,\n\t0xf6, 0x46, 0x9c, 0xff, 0x5d, 0x02, 0xd0, 0x6c, 0x8b, 0x39, 0xe3, 0x60, 0xe2, 0x3b, 0x75, 0xf0,\n\t0xb7, 0x09, 0x28, 0x4d, 0xf7, 0x95, 0x33, 0xee, 0x5d, 0xfa, 0x4e, 0xdd, 0xfb, 0x67, 0x12, 0x56,\n\t0xa7, 0xba, 0xc9, 0xb3, 0x7a, 0xf7, 0x15, 0xac, 0x1b, 0x3a, 0x1d, 0x39, 0xb6, 0x4f, 0x2d, 0xed,\n\t0x54, 0x35, 0xe9, 0x13, 0x6a, 0x4a, 0x65, 0x5e, 0x28, 0xae, 0xbf, 0xbc, 0x5f, 0xad, 0x34, 0x26,\n\t0x7a, 0x4d, 0xa6, 0xb6, 0xbf, 0xd1, 0xa8, 0xcb, 0x47, 0x9d, 0x76, 0x4f, 0x6e, 0xd5, 0x1e, 0xaa,\n\t0xc7, 0xad, 0x1f, 0xb7, 0xda, 0x5f, 0xb4, 0x14, 0x64, 0xcc, 0xd0, 0x5e, 0xe3, 0x56, 0xef, 0x00,\n\t0x9a, 0x75, 0x0a, 0x9f, 0x87, 0x45, 0x6e, 0xa1, 0xb7, 0xf0, 0x06, 0xac, 0xb5, 0xda, 0x6a, 0xb7,\n\t0x51, 0x97, 0x55, 0xf9, 0xde, 0x3d, 0xb9, 0xd6, 0xeb, 0x8a, 0x17, 0x88, 0x88, 0xdd, 0x9b, 0xde,\n\t0xd4, 0xbf, 0x49, 0xc1, 0xc6, 0x02, 0x4f, 0x70, 0x35, 0xb8, 0x3b, 0x88, 0xeb, 0xcc, 0xf7, 0xcf,\n\t0xe2, 0x7d, 0x85, 0x1d, 0xf9, 0x1d, 0xe2, 0xfa, 0xc1, 0x55, 0xe3, 0x0a, 0xb0, 0x28, 0x59, 0xbe,\n\t0xd1, 0x37, 0xa8, 0x1b, 0x3c, 0xd8, 0x88, 0x0b, 0xc5, 0xda, 0x04, 0x17, 0x6f, 0x36, 0xdf, 0x03,\n\t0xec, 0xd8, 0x9e, 0xe1, 0x1b, 0x4f, 0xa8, 0x6a, 0x58, 0xe1, 0xeb, 0x0e, 0xbb, 0x60, 0xa4, 0x15,\n\t0x14, 0x4a, 0x1a, 0x96, 0x1f, 0xb1, 0x2d, 0x3a, 0x20, 0x33, 0x6c, 0x56, 0xc0, 0x53, 0x0a, 0x0a,\n\t0x25, 0x11, 0xfb, 0x12, 0x14, 0x75, 0x7b, 0xcc, 0xba, 0x2e, 0xc1, 0x63, 0xe7, 0x45, 0x42, 0x29,\n\t0x08, 0x2c, 0xa2, 0x04, 0xfd, 0xf4, 0xe4, 0x59, 0xa9, 0xa8, 0x14, 0x04, 0x26, 0x28, 0x97, 0x61,\n\t0x8d, 0x0c, 0x06, 0x2e, 0x33, 0x1e, 0x1a, 0x12, 0x37, 0x84, 0x52, 0x04, 0x73, 0xe2, 0xd6, 0x7d,\n\t0xc8, 0x85, 0x71, 0x60, 0x47, 0x32, 0x8b, 0x84, 0xea, 0x88, 0x6b, 0x6f, 0x72, 0x27, 0xaf, 0xe4,\n\t0xac, 0x50, 0x78, 0x09, 0x8a, 0x86, 0xa7, 0x4e, 0x5e, 0xc9, 0x93, 0xdb, 0xc9, 0x9d, 0x9c, 0x52,\n\t0x30, 0xbc, 0xe8, 0x85, 0xb1, 0xfc, 0x75, 0x12, 0x4a, 0xd3, 0xaf, 0xfc, 0xb8, 0x0e, 0x39, 0xd3,\n\t0xd6, 0x08, 0x4f, 0x2d, 0xf1, 0x13, 0xd3, 0xce, 0x2b, 0x7e, 0x18, 0xa8, 0x34, 0x03, 0xbe, 0x12,\n\t0x69, 0x6e, 0xfd, 0x2d, 0x01, 0xb9, 0x10, 0xc6, 0xe7, 0x20, 0xed, 0x10, 0x7f, 0xc8, 0xcd, 0x65,\n\t0x0e, 0x92, 0x28, 0xa1, 0xf0, 0x31, 0xc3, 0x3d, 0x87, 0x58, 0x3c, 0x05, 0x02, 0x9c, 0x8d, 0xd9,\n\t0xba, 0x9a, 0x94, 0xe8, 0xfc, 0xfa, 0x61, 0x8f, 0x46, 0xd4, 0xf2, 0xbd, 0x70, 0x5d, 0x03, 0xbc,\n\t0x16, 0xc0, 0xf8, 0x1a, 0xac, 0xfb, 0x2e, 0x31, 0xcc, 0x29, 0x6e, 0x9a, 0x73, 0x51, 0x28, 0x88,\n\t0xc8, 0xfb, 0x70, 0x21, 0xb4, 0xab, 0x53, 0x9f, 0x68, 0x43, 0xaa, 0x4f, 0x94, 0xb2, 0xfc, 0x99,\n\t0xe1, 0x7c, 0x40, 0xa8, 0x07, 0xf2, 0x50, 0xb7, 0xfc, 0xf7, 0x04, 0xac, 0x87, 0x17, 0x26, 0x3d,\n\t0x0a, 0xd6, 0x11, 0x00, 0xb1, 0x2c, 0xdb, 0x8f, 0x87, 0x6b, 0x3e, 0x95, 0xe7, 0xf4, 0x2a, 0xd5,\n\t0x48, 0x49, 0x89, 0x19, 0xd8, 0x1a, 0x01, 0x4c, 0x24, 0x4b, 0xc3, 0x76, 0x11, 0x0a, 0xc1, 0x4f,\n\t0x38, 0xfc, 0x77, 0x40, 0x71, 0xc5, 0x06, 0x01, 0xb1, 0x9b, 0x15, 0xde, 0x84, 0xcc, 0x09, 0x1d,\n\t0x18, 0x56, 0xf0, 0x30, 0x2b, 0x06, 0xe1, 0x43, 0x48, 0x3a, 0x7a, 0x08, 0x39, 0xf8, 0x19, 0x6c,\n\t0x68, 0xf6, 0x68, 0xd6, 0xdd, 0x03, 0x34, 0x73, 0xcd, 0xf7, 0x3e, 0x4f, 0x7c, 0x09, 0x93, 0x16,\n\t0xf3, 0x7f, 0x89, 0xc4, 0xef, 0x93, 0xa9, 0xc3, 0xce, 0xc1, 0x1f, 0x92, 0x5b, 0x87, 0x42, 0xb5,\n\t0x13, 0xce, 0x54, 0xa1, 0x7d, 0x93, 0x6a, 0xcc, 0xfb, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0xa3,\n\t0x58, 0x22, 0x30, 0xdf, 0x1c, 0x00, 0x00,\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor_gostring.gen.go",
    "content": "// Code generated by protoc-gen-gogo. DO NOT EDIT.\n// source: descriptor.proto\n\npackage descriptor\n\nimport fmt \"fmt\"\nimport strings \"strings\"\nimport github_com_gogo_protobuf_proto \"github.com/gogo/protobuf/proto\"\nimport sort \"sort\"\nimport strconv \"strconv\"\nimport reflect \"reflect\"\nimport proto \"github.com/gogo/protobuf/proto\"\nimport math \"math\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\nfunc (this *FileDescriptorSet) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 5)\n\ts = append(s, \"&descriptor.FileDescriptorSet{\")\n\tif this.File != nil {\n\t\ts = append(s, \"File: \"+fmt.Sprintf(\"%#v\", this.File)+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *FileDescriptorProto) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 16)\n\ts = append(s, \"&descriptor.FileDescriptorProto{\")\n\tif this.Name != nil {\n\t\ts = append(s, \"Name: \"+valueToGoStringDescriptor(this.Name, \"string\")+\",\\n\")\n\t}\n\tif this.Package != nil {\n\t\ts = append(s, \"Package: \"+valueToGoStringDescriptor(this.Package, \"string\")+\",\\n\")\n\t}\n\tif this.Dependency != nil {\n\t\ts = append(s, \"Dependency: \"+fmt.Sprintf(\"%#v\", this.Dependency)+\",\\n\")\n\t}\n\tif this.PublicDependency != nil {\n\t\ts = append(s, \"PublicDependency: \"+fmt.Sprintf(\"%#v\", this.PublicDependency)+\",\\n\")\n\t}\n\tif this.WeakDependency != nil {\n\t\ts = append(s, \"WeakDependency: \"+fmt.Sprintf(\"%#v\", this.WeakDependency)+\",\\n\")\n\t}\n\tif this.MessageType != nil {\n\t\ts = append(s, \"MessageType: \"+fmt.Sprintf(\"%#v\", this.MessageType)+\",\\n\")\n\t}\n\tif this.EnumType != nil {\n\t\ts = append(s, \"EnumType: \"+fmt.Sprintf(\"%#v\", this.EnumType)+\",\\n\")\n\t}\n\tif this.Service != nil {\n\t\ts = append(s, \"Service: \"+fmt.Sprintf(\"%#v\", this.Service)+\",\\n\")\n\t}\n\tif this.Extension != nil {\n\t\ts = append(s, \"Extension: \"+fmt.Sprintf(\"%#v\", this.Extension)+\",\\n\")\n\t}\n\tif this.Options != nil {\n\t\ts = append(s, \"Options: \"+fmt.Sprintf(\"%#v\", this.Options)+\",\\n\")\n\t}\n\tif this.SourceCodeInfo != nil {\n\t\ts = append(s, \"SourceCodeInfo: \"+fmt.Sprintf(\"%#v\", this.SourceCodeInfo)+\",\\n\")\n\t}\n\tif this.Syntax != nil {\n\t\ts = append(s, \"Syntax: \"+valueToGoStringDescriptor(this.Syntax, \"string\")+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *DescriptorProto) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 14)\n\ts = append(s, \"&descriptor.DescriptorProto{\")\n\tif this.Name != nil {\n\t\ts = append(s, \"Name: \"+valueToGoStringDescriptor(this.Name, \"string\")+\",\\n\")\n\t}\n\tif this.Field != nil {\n\t\ts = append(s, \"Field: \"+fmt.Sprintf(\"%#v\", this.Field)+\",\\n\")\n\t}\n\tif this.Extension != nil {\n\t\ts = append(s, \"Extension: \"+fmt.Sprintf(\"%#v\", this.Extension)+\",\\n\")\n\t}\n\tif this.NestedType != nil {\n\t\ts = append(s, \"NestedType: \"+fmt.Sprintf(\"%#v\", this.NestedType)+\",\\n\")\n\t}\n\tif this.EnumType != nil {\n\t\ts = append(s, \"EnumType: \"+fmt.Sprintf(\"%#v\", this.EnumType)+\",\\n\")\n\t}\n\tif this.ExtensionRange != nil {\n\t\ts = append(s, \"ExtensionRange: \"+fmt.Sprintf(\"%#v\", this.ExtensionRange)+\",\\n\")\n\t}\n\tif this.OneofDecl != nil {\n\t\ts = append(s, \"OneofDecl: \"+fmt.Sprintf(\"%#v\", this.OneofDecl)+\",\\n\")\n\t}\n\tif this.Options != nil {\n\t\ts = append(s, \"Options: \"+fmt.Sprintf(\"%#v\", this.Options)+\",\\n\")\n\t}\n\tif this.ReservedRange != nil {\n\t\ts = append(s, \"ReservedRange: \"+fmt.Sprintf(\"%#v\", this.ReservedRange)+\",\\n\")\n\t}\n\tif this.ReservedName != nil {\n\t\ts = append(s, \"ReservedName: \"+fmt.Sprintf(\"%#v\", this.ReservedName)+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *DescriptorProto_ExtensionRange) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 7)\n\ts = append(s, \"&descriptor.DescriptorProto_ExtensionRange{\")\n\tif this.Start != nil {\n\t\ts = append(s, \"Start: \"+valueToGoStringDescriptor(this.Start, \"int32\")+\",\\n\")\n\t}\n\tif this.End != nil {\n\t\ts = append(s, \"End: \"+valueToGoStringDescriptor(this.End, \"int32\")+\",\\n\")\n\t}\n\tif this.Options != nil {\n\t\ts = append(s, \"Options: \"+fmt.Sprintf(\"%#v\", this.Options)+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *DescriptorProto_ReservedRange) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 6)\n\ts = append(s, \"&descriptor.DescriptorProto_ReservedRange{\")\n\tif this.Start != nil {\n\t\ts = append(s, \"Start: \"+valueToGoStringDescriptor(this.Start, \"int32\")+\",\\n\")\n\t}\n\tif this.End != nil {\n\t\ts = append(s, \"End: \"+valueToGoStringDescriptor(this.End, \"int32\")+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *ExtensionRangeOptions) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 5)\n\ts = append(s, \"&descriptor.ExtensionRangeOptions{\")\n\tif this.UninterpretedOption != nil {\n\t\ts = append(s, \"UninterpretedOption: \"+fmt.Sprintf(\"%#v\", this.UninterpretedOption)+\",\\n\")\n\t}\n\ts = append(s, \"XXX_InternalExtensions: \"+extensionToGoStringDescriptor(this)+\",\\n\")\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *FieldDescriptorProto) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 14)\n\ts = append(s, \"&descriptor.FieldDescriptorProto{\")\n\tif this.Name != nil {\n\t\ts = append(s, \"Name: \"+valueToGoStringDescriptor(this.Name, \"string\")+\",\\n\")\n\t}\n\tif this.Number != nil {\n\t\ts = append(s, \"Number: \"+valueToGoStringDescriptor(this.Number, \"int32\")+\",\\n\")\n\t}\n\tif this.Label != nil {\n\t\ts = append(s, \"Label: \"+valueToGoStringDescriptor(this.Label, \"FieldDescriptorProto_Label\")+\",\\n\")\n\t}\n\tif this.Type != nil {\n\t\ts = append(s, \"Type: \"+valueToGoStringDescriptor(this.Type, \"FieldDescriptorProto_Type\")+\",\\n\")\n\t}\n\tif this.TypeName != nil {\n\t\ts = append(s, \"TypeName: \"+valueToGoStringDescriptor(this.TypeName, \"string\")+\",\\n\")\n\t}\n\tif this.Extendee != nil {\n\t\ts = append(s, \"Extendee: \"+valueToGoStringDescriptor(this.Extendee, \"string\")+\",\\n\")\n\t}\n\tif this.DefaultValue != nil {\n\t\ts = append(s, \"DefaultValue: \"+valueToGoStringDescriptor(this.DefaultValue, \"string\")+\",\\n\")\n\t}\n\tif this.OneofIndex != nil {\n\t\ts = append(s, \"OneofIndex: \"+valueToGoStringDescriptor(this.OneofIndex, \"int32\")+\",\\n\")\n\t}\n\tif this.JsonName != nil {\n\t\ts = append(s, \"JsonName: \"+valueToGoStringDescriptor(this.JsonName, \"string\")+\",\\n\")\n\t}\n\tif this.Options != nil {\n\t\ts = append(s, \"Options: \"+fmt.Sprintf(\"%#v\", this.Options)+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *OneofDescriptorProto) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 6)\n\ts = append(s, \"&descriptor.OneofDescriptorProto{\")\n\tif this.Name != nil {\n\t\ts = append(s, \"Name: \"+valueToGoStringDescriptor(this.Name, \"string\")+\",\\n\")\n\t}\n\tif this.Options != nil {\n\t\ts = append(s, \"Options: \"+fmt.Sprintf(\"%#v\", this.Options)+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *EnumDescriptorProto) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 9)\n\ts = append(s, \"&descriptor.EnumDescriptorProto{\")\n\tif this.Name != nil {\n\t\ts = append(s, \"Name: \"+valueToGoStringDescriptor(this.Name, \"string\")+\",\\n\")\n\t}\n\tif this.Value != nil {\n\t\ts = append(s, \"Value: \"+fmt.Sprintf(\"%#v\", this.Value)+\",\\n\")\n\t}\n\tif this.Options != nil {\n\t\ts = append(s, \"Options: \"+fmt.Sprintf(\"%#v\", this.Options)+\",\\n\")\n\t}\n\tif this.ReservedRange != nil {\n\t\ts = append(s, \"ReservedRange: \"+fmt.Sprintf(\"%#v\", this.ReservedRange)+\",\\n\")\n\t}\n\tif this.ReservedName != nil {\n\t\ts = append(s, \"ReservedName: \"+fmt.Sprintf(\"%#v\", this.ReservedName)+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *EnumDescriptorProto_EnumReservedRange) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 6)\n\ts = append(s, \"&descriptor.EnumDescriptorProto_EnumReservedRange{\")\n\tif this.Start != nil {\n\t\ts = append(s, \"Start: \"+valueToGoStringDescriptor(this.Start, \"int32\")+\",\\n\")\n\t}\n\tif this.End != nil {\n\t\ts = append(s, \"End: \"+valueToGoStringDescriptor(this.End, \"int32\")+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *EnumValueDescriptorProto) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 7)\n\ts = append(s, \"&descriptor.EnumValueDescriptorProto{\")\n\tif this.Name != nil {\n\t\ts = append(s, \"Name: \"+valueToGoStringDescriptor(this.Name, \"string\")+\",\\n\")\n\t}\n\tif this.Number != nil {\n\t\ts = append(s, \"Number: \"+valueToGoStringDescriptor(this.Number, \"int32\")+\",\\n\")\n\t}\n\tif this.Options != nil {\n\t\ts = append(s, \"Options: \"+fmt.Sprintf(\"%#v\", this.Options)+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *ServiceDescriptorProto) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 7)\n\ts = append(s, \"&descriptor.ServiceDescriptorProto{\")\n\tif this.Name != nil {\n\t\ts = append(s, \"Name: \"+valueToGoStringDescriptor(this.Name, \"string\")+\",\\n\")\n\t}\n\tif this.Method != nil {\n\t\ts = append(s, \"Method: \"+fmt.Sprintf(\"%#v\", this.Method)+\",\\n\")\n\t}\n\tif this.Options != nil {\n\t\ts = append(s, \"Options: \"+fmt.Sprintf(\"%#v\", this.Options)+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *MethodDescriptorProto) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 10)\n\ts = append(s, \"&descriptor.MethodDescriptorProto{\")\n\tif this.Name != nil {\n\t\ts = append(s, \"Name: \"+valueToGoStringDescriptor(this.Name, \"string\")+\",\\n\")\n\t}\n\tif this.InputType != nil {\n\t\ts = append(s, \"InputType: \"+valueToGoStringDescriptor(this.InputType, \"string\")+\",\\n\")\n\t}\n\tif this.OutputType != nil {\n\t\ts = append(s, \"OutputType: \"+valueToGoStringDescriptor(this.OutputType, \"string\")+\",\\n\")\n\t}\n\tif this.Options != nil {\n\t\ts = append(s, \"Options: \"+fmt.Sprintf(\"%#v\", this.Options)+\",\\n\")\n\t}\n\tif this.ClientStreaming != nil {\n\t\ts = append(s, \"ClientStreaming: \"+valueToGoStringDescriptor(this.ClientStreaming, \"bool\")+\",\\n\")\n\t}\n\tif this.ServerStreaming != nil {\n\t\ts = append(s, \"ServerStreaming: \"+valueToGoStringDescriptor(this.ServerStreaming, \"bool\")+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *FileOptions) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 23)\n\ts = append(s, \"&descriptor.FileOptions{\")\n\tif this.JavaPackage != nil {\n\t\ts = append(s, \"JavaPackage: \"+valueToGoStringDescriptor(this.JavaPackage, \"string\")+\",\\n\")\n\t}\n\tif this.JavaOuterClassname != nil {\n\t\ts = append(s, \"JavaOuterClassname: \"+valueToGoStringDescriptor(this.JavaOuterClassname, \"string\")+\",\\n\")\n\t}\n\tif this.JavaMultipleFiles != nil {\n\t\ts = append(s, \"JavaMultipleFiles: \"+valueToGoStringDescriptor(this.JavaMultipleFiles, \"bool\")+\",\\n\")\n\t}\n\tif this.JavaGenerateEqualsAndHash != nil {\n\t\ts = append(s, \"JavaGenerateEqualsAndHash: \"+valueToGoStringDescriptor(this.JavaGenerateEqualsAndHash, \"bool\")+\",\\n\")\n\t}\n\tif this.JavaStringCheckUtf8 != nil {\n\t\ts = append(s, \"JavaStringCheckUtf8: \"+valueToGoStringDescriptor(this.JavaStringCheckUtf8, \"bool\")+\",\\n\")\n\t}\n\tif this.OptimizeFor != nil {\n\t\ts = append(s, \"OptimizeFor: \"+valueToGoStringDescriptor(this.OptimizeFor, \"FileOptions_OptimizeMode\")+\",\\n\")\n\t}\n\tif this.GoPackage != nil {\n\t\ts = append(s, \"GoPackage: \"+valueToGoStringDescriptor(this.GoPackage, \"string\")+\",\\n\")\n\t}\n\tif this.CcGenericServices != nil {\n\t\ts = append(s, \"CcGenericServices: \"+valueToGoStringDescriptor(this.CcGenericServices, \"bool\")+\",\\n\")\n\t}\n\tif this.JavaGenericServices != nil {\n\t\ts = append(s, \"JavaGenericServices: \"+valueToGoStringDescriptor(this.JavaGenericServices, \"bool\")+\",\\n\")\n\t}\n\tif this.PyGenericServices != nil {\n\t\ts = append(s, \"PyGenericServices: \"+valueToGoStringDescriptor(this.PyGenericServices, \"bool\")+\",\\n\")\n\t}\n\tif this.PhpGenericServices != nil {\n\t\ts = append(s, \"PhpGenericServices: \"+valueToGoStringDescriptor(this.PhpGenericServices, \"bool\")+\",\\n\")\n\t}\n\tif this.Deprecated != nil {\n\t\ts = append(s, \"Deprecated: \"+valueToGoStringDescriptor(this.Deprecated, \"bool\")+\",\\n\")\n\t}\n\tif this.CcEnableArenas != nil {\n\t\ts = append(s, \"CcEnableArenas: \"+valueToGoStringDescriptor(this.CcEnableArenas, \"bool\")+\",\\n\")\n\t}\n\tif this.ObjcClassPrefix != nil {\n\t\ts = append(s, \"ObjcClassPrefix: \"+valueToGoStringDescriptor(this.ObjcClassPrefix, \"string\")+\",\\n\")\n\t}\n\tif this.CsharpNamespace != nil {\n\t\ts = append(s, \"CsharpNamespace: \"+valueToGoStringDescriptor(this.CsharpNamespace, \"string\")+\",\\n\")\n\t}\n\tif this.SwiftPrefix != nil {\n\t\ts = append(s, \"SwiftPrefix: \"+valueToGoStringDescriptor(this.SwiftPrefix, \"string\")+\",\\n\")\n\t}\n\tif this.PhpClassPrefix != nil {\n\t\ts = append(s, \"PhpClassPrefix: \"+valueToGoStringDescriptor(this.PhpClassPrefix, \"string\")+\",\\n\")\n\t}\n\tif this.PhpNamespace != nil {\n\t\ts = append(s, \"PhpNamespace: \"+valueToGoStringDescriptor(this.PhpNamespace, \"string\")+\",\\n\")\n\t}\n\tif this.UninterpretedOption != nil {\n\t\ts = append(s, \"UninterpretedOption: \"+fmt.Sprintf(\"%#v\", this.UninterpretedOption)+\",\\n\")\n\t}\n\ts = append(s, \"XXX_InternalExtensions: \"+extensionToGoStringDescriptor(this)+\",\\n\")\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *MessageOptions) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 9)\n\ts = append(s, \"&descriptor.MessageOptions{\")\n\tif this.MessageSetWireFormat != nil {\n\t\ts = append(s, \"MessageSetWireFormat: \"+valueToGoStringDescriptor(this.MessageSetWireFormat, \"bool\")+\",\\n\")\n\t}\n\tif this.NoStandardDescriptorAccessor != nil {\n\t\ts = append(s, \"NoStandardDescriptorAccessor: \"+valueToGoStringDescriptor(this.NoStandardDescriptorAccessor, \"bool\")+\",\\n\")\n\t}\n\tif this.Deprecated != nil {\n\t\ts = append(s, \"Deprecated: \"+valueToGoStringDescriptor(this.Deprecated, \"bool\")+\",\\n\")\n\t}\n\tif this.MapEntry != nil {\n\t\ts = append(s, \"MapEntry: \"+valueToGoStringDescriptor(this.MapEntry, \"bool\")+\",\\n\")\n\t}\n\tif this.UninterpretedOption != nil {\n\t\ts = append(s, \"UninterpretedOption: \"+fmt.Sprintf(\"%#v\", this.UninterpretedOption)+\",\\n\")\n\t}\n\ts = append(s, \"XXX_InternalExtensions: \"+extensionToGoStringDescriptor(this)+\",\\n\")\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *FieldOptions) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 11)\n\ts = append(s, \"&descriptor.FieldOptions{\")\n\tif this.Ctype != nil {\n\t\ts = append(s, \"Ctype: \"+valueToGoStringDescriptor(this.Ctype, \"FieldOptions_CType\")+\",\\n\")\n\t}\n\tif this.Packed != nil {\n\t\ts = append(s, \"Packed: \"+valueToGoStringDescriptor(this.Packed, \"bool\")+\",\\n\")\n\t}\n\tif this.Jstype != nil {\n\t\ts = append(s, \"Jstype: \"+valueToGoStringDescriptor(this.Jstype, \"FieldOptions_JSType\")+\",\\n\")\n\t}\n\tif this.Lazy != nil {\n\t\ts = append(s, \"Lazy: \"+valueToGoStringDescriptor(this.Lazy, \"bool\")+\",\\n\")\n\t}\n\tif this.Deprecated != nil {\n\t\ts = append(s, \"Deprecated: \"+valueToGoStringDescriptor(this.Deprecated, \"bool\")+\",\\n\")\n\t}\n\tif this.Weak != nil {\n\t\ts = append(s, \"Weak: \"+valueToGoStringDescriptor(this.Weak, \"bool\")+\",\\n\")\n\t}\n\tif this.UninterpretedOption != nil {\n\t\ts = append(s, \"UninterpretedOption: \"+fmt.Sprintf(\"%#v\", this.UninterpretedOption)+\",\\n\")\n\t}\n\ts = append(s, \"XXX_InternalExtensions: \"+extensionToGoStringDescriptor(this)+\",\\n\")\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *OneofOptions) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 5)\n\ts = append(s, \"&descriptor.OneofOptions{\")\n\tif this.UninterpretedOption != nil {\n\t\ts = append(s, \"UninterpretedOption: \"+fmt.Sprintf(\"%#v\", this.UninterpretedOption)+\",\\n\")\n\t}\n\ts = append(s, \"XXX_InternalExtensions: \"+extensionToGoStringDescriptor(this)+\",\\n\")\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *EnumOptions) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 7)\n\ts = append(s, \"&descriptor.EnumOptions{\")\n\tif this.AllowAlias != nil {\n\t\ts = append(s, \"AllowAlias: \"+valueToGoStringDescriptor(this.AllowAlias, \"bool\")+\",\\n\")\n\t}\n\tif this.Deprecated != nil {\n\t\ts = append(s, \"Deprecated: \"+valueToGoStringDescriptor(this.Deprecated, \"bool\")+\",\\n\")\n\t}\n\tif this.UninterpretedOption != nil {\n\t\ts = append(s, \"UninterpretedOption: \"+fmt.Sprintf(\"%#v\", this.UninterpretedOption)+\",\\n\")\n\t}\n\ts = append(s, \"XXX_InternalExtensions: \"+extensionToGoStringDescriptor(this)+\",\\n\")\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *EnumValueOptions) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 6)\n\ts = append(s, \"&descriptor.EnumValueOptions{\")\n\tif this.Deprecated != nil {\n\t\ts = append(s, \"Deprecated: \"+valueToGoStringDescriptor(this.Deprecated, \"bool\")+\",\\n\")\n\t}\n\tif this.UninterpretedOption != nil {\n\t\ts = append(s, \"UninterpretedOption: \"+fmt.Sprintf(\"%#v\", this.UninterpretedOption)+\",\\n\")\n\t}\n\ts = append(s, \"XXX_InternalExtensions: \"+extensionToGoStringDescriptor(this)+\",\\n\")\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *ServiceOptions) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 6)\n\ts = append(s, \"&descriptor.ServiceOptions{\")\n\tif this.Deprecated != nil {\n\t\ts = append(s, \"Deprecated: \"+valueToGoStringDescriptor(this.Deprecated, \"bool\")+\",\\n\")\n\t}\n\tif this.UninterpretedOption != nil {\n\t\ts = append(s, \"UninterpretedOption: \"+fmt.Sprintf(\"%#v\", this.UninterpretedOption)+\",\\n\")\n\t}\n\ts = append(s, \"XXX_InternalExtensions: \"+extensionToGoStringDescriptor(this)+\",\\n\")\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *MethodOptions) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 7)\n\ts = append(s, \"&descriptor.MethodOptions{\")\n\tif this.Deprecated != nil {\n\t\ts = append(s, \"Deprecated: \"+valueToGoStringDescriptor(this.Deprecated, \"bool\")+\",\\n\")\n\t}\n\tif this.IdempotencyLevel != nil {\n\t\ts = append(s, \"IdempotencyLevel: \"+valueToGoStringDescriptor(this.IdempotencyLevel, \"MethodOptions_IdempotencyLevel\")+\",\\n\")\n\t}\n\tif this.UninterpretedOption != nil {\n\t\ts = append(s, \"UninterpretedOption: \"+fmt.Sprintf(\"%#v\", this.UninterpretedOption)+\",\\n\")\n\t}\n\ts = append(s, \"XXX_InternalExtensions: \"+extensionToGoStringDescriptor(this)+\",\\n\")\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *UninterpretedOption) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 11)\n\ts = append(s, \"&descriptor.UninterpretedOption{\")\n\tif this.Name != nil {\n\t\ts = append(s, \"Name: \"+fmt.Sprintf(\"%#v\", this.Name)+\",\\n\")\n\t}\n\tif this.IdentifierValue != nil {\n\t\ts = append(s, \"IdentifierValue: \"+valueToGoStringDescriptor(this.IdentifierValue, \"string\")+\",\\n\")\n\t}\n\tif this.PositiveIntValue != nil {\n\t\ts = append(s, \"PositiveIntValue: \"+valueToGoStringDescriptor(this.PositiveIntValue, \"uint64\")+\",\\n\")\n\t}\n\tif this.NegativeIntValue != nil {\n\t\ts = append(s, \"NegativeIntValue: \"+valueToGoStringDescriptor(this.NegativeIntValue, \"int64\")+\",\\n\")\n\t}\n\tif this.DoubleValue != nil {\n\t\ts = append(s, \"DoubleValue: \"+valueToGoStringDescriptor(this.DoubleValue, \"float64\")+\",\\n\")\n\t}\n\tif this.StringValue != nil {\n\t\ts = append(s, \"StringValue: \"+valueToGoStringDescriptor(this.StringValue, \"byte\")+\",\\n\")\n\t}\n\tif this.AggregateValue != nil {\n\t\ts = append(s, \"AggregateValue: \"+valueToGoStringDescriptor(this.AggregateValue, \"string\")+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *UninterpretedOption_NamePart) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 6)\n\ts = append(s, \"&descriptor.UninterpretedOption_NamePart{\")\n\tif this.NamePart != nil {\n\t\ts = append(s, \"NamePart: \"+valueToGoStringDescriptor(this.NamePart, \"string\")+\",\\n\")\n\t}\n\tif this.IsExtension != nil {\n\t\ts = append(s, \"IsExtension: \"+valueToGoStringDescriptor(this.IsExtension, \"bool\")+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *SourceCodeInfo) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 5)\n\ts = append(s, \"&descriptor.SourceCodeInfo{\")\n\tif this.Location != nil {\n\t\ts = append(s, \"Location: \"+fmt.Sprintf(\"%#v\", this.Location)+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *SourceCodeInfo_Location) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 9)\n\ts = append(s, \"&descriptor.SourceCodeInfo_Location{\")\n\tif this.Path != nil {\n\t\ts = append(s, \"Path: \"+fmt.Sprintf(\"%#v\", this.Path)+\",\\n\")\n\t}\n\tif this.Span != nil {\n\t\ts = append(s, \"Span: \"+fmt.Sprintf(\"%#v\", this.Span)+\",\\n\")\n\t}\n\tif this.LeadingComments != nil {\n\t\ts = append(s, \"LeadingComments: \"+valueToGoStringDescriptor(this.LeadingComments, \"string\")+\",\\n\")\n\t}\n\tif this.TrailingComments != nil {\n\t\ts = append(s, \"TrailingComments: \"+valueToGoStringDescriptor(this.TrailingComments, \"string\")+\",\\n\")\n\t}\n\tif this.LeadingDetachedComments != nil {\n\t\ts = append(s, \"LeadingDetachedComments: \"+fmt.Sprintf(\"%#v\", this.LeadingDetachedComments)+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *GeneratedCodeInfo) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 5)\n\ts = append(s, \"&descriptor.GeneratedCodeInfo{\")\n\tif this.Annotation != nil {\n\t\ts = append(s, \"Annotation: \"+fmt.Sprintf(\"%#v\", this.Annotation)+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc (this *GeneratedCodeInfo_Annotation) GoString() string {\n\tif this == nil {\n\t\treturn \"nil\"\n\t}\n\ts := make([]string, 0, 8)\n\ts = append(s, \"&descriptor.GeneratedCodeInfo_Annotation{\")\n\tif this.Path != nil {\n\t\ts = append(s, \"Path: \"+fmt.Sprintf(\"%#v\", this.Path)+\",\\n\")\n\t}\n\tif this.SourceFile != nil {\n\t\ts = append(s, \"SourceFile: \"+valueToGoStringDescriptor(this.SourceFile, \"string\")+\",\\n\")\n\t}\n\tif this.Begin != nil {\n\t\ts = append(s, \"Begin: \"+valueToGoStringDescriptor(this.Begin, \"int32\")+\",\\n\")\n\t}\n\tif this.End != nil {\n\t\ts = append(s, \"End: \"+valueToGoStringDescriptor(this.End, \"int32\")+\",\\n\")\n\t}\n\tif this.XXX_unrecognized != nil {\n\t\ts = append(s, \"XXX_unrecognized:\"+fmt.Sprintf(\"%#v\", this.XXX_unrecognized)+\",\\n\")\n\t}\n\ts = append(s, \"}\")\n\treturn strings.Join(s, \"\")\n}\nfunc valueToGoStringDescriptor(v interface{}, typ string) string {\n\trv := reflect.ValueOf(v)\n\tif rv.IsNil() {\n\t\treturn \"nil\"\n\t}\n\tpv := reflect.Indirect(rv).Interface()\n\treturn fmt.Sprintf(\"func(v %v) *%v { return &v } ( %#v )\", typ, typ, pv)\n}\nfunc extensionToGoStringDescriptor(m github_com_gogo_protobuf_proto.Message) string {\n\te := github_com_gogo_protobuf_proto.GetUnsafeExtensionsMap(m)\n\tif e == nil {\n\t\treturn \"nil\"\n\t}\n\ts := \"proto.NewUnsafeXXX_InternalExtensions(map[int32]proto.Extension{\"\n\tkeys := make([]int, 0, len(e))\n\tfor k := range e {\n\t\tkeys = append(keys, int(k))\n\t}\n\tsort.Ints(keys)\n\tss := []string{}\n\tfor _, k := range keys {\n\t\tss = append(ss, strconv.Itoa(k)+\": \"+e[int32(k)].GoString())\n\t}\n\ts += strings.Join(ss, \",\") + \"})\"\n\treturn s\n}\n"
  },
  {
    "path": "vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/helper.go",
    "content": "// Protocol Buffers for Go with Gadgets\n//\n// Copyright (c) 2013, The GoGo Authors. All rights reserved.\n// http://github.com/gogo/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage descriptor\n\nimport (\n\t\"strings\"\n)\n\nfunc (msg *DescriptorProto) GetMapFields() (*FieldDescriptorProto, *FieldDescriptorProto) {\n\tif !msg.GetOptions().GetMapEntry() {\n\t\treturn nil, nil\n\t}\n\treturn msg.GetField()[0], msg.GetField()[1]\n}\n\nfunc dotToUnderscore(r rune) rune {\n\tif r == '.' {\n\t\treturn '_'\n\t}\n\treturn r\n}\n\nfunc (field *FieldDescriptorProto) WireType() (wire int) {\n\tswitch *field.Type {\n\tcase FieldDescriptorProto_TYPE_DOUBLE:\n\t\treturn 1\n\tcase FieldDescriptorProto_TYPE_FLOAT:\n\t\treturn 5\n\tcase FieldDescriptorProto_TYPE_INT64:\n\t\treturn 0\n\tcase FieldDescriptorProto_TYPE_UINT64:\n\t\treturn 0\n\tcase FieldDescriptorProto_TYPE_INT32:\n\t\treturn 0\n\tcase FieldDescriptorProto_TYPE_UINT32:\n\t\treturn 0\n\tcase FieldDescriptorProto_TYPE_FIXED64:\n\t\treturn 1\n\tcase FieldDescriptorProto_TYPE_FIXED32:\n\t\treturn 5\n\tcase FieldDescriptorProto_TYPE_BOOL:\n\t\treturn 0\n\tcase FieldDescriptorProto_TYPE_STRING:\n\t\treturn 2\n\tcase FieldDescriptorProto_TYPE_GROUP:\n\t\treturn 2\n\tcase FieldDescriptorProto_TYPE_MESSAGE:\n\t\treturn 2\n\tcase FieldDescriptorProto_TYPE_BYTES:\n\t\treturn 2\n\tcase FieldDescriptorProto_TYPE_ENUM:\n\t\treturn 0\n\tcase FieldDescriptorProto_TYPE_SFIXED32:\n\t\treturn 5\n\tcase FieldDescriptorProto_TYPE_SFIXED64:\n\t\treturn 1\n\tcase FieldDescriptorProto_TYPE_SINT32:\n\t\treturn 0\n\tcase FieldDescriptorProto_TYPE_SINT64:\n\t\treturn 0\n\t}\n\tpanic(\"unreachable\")\n}\n\nfunc (field *FieldDescriptorProto) GetKeyUint64() (x uint64) {\n\tpacked := field.IsPacked()\n\twireType := field.WireType()\n\tfieldNumber := field.GetNumber()\n\tif packed {\n\t\twireType = 2\n\t}\n\tx = uint64(uint32(fieldNumber)<<3 | uint32(wireType))\n\treturn x\n}\n\nfunc (field *FieldDescriptorProto) GetKey3Uint64() (x uint64) {\n\tpacked := field.IsPacked3()\n\twireType := field.WireType()\n\tfieldNumber := field.GetNumber()\n\tif packed {\n\t\twireType = 2\n\t}\n\tx = uint64(uint32(fieldNumber)<<3 | uint32(wireType))\n\treturn x\n}\n\nfunc (field *FieldDescriptorProto) GetKey() []byte {\n\tx := field.GetKeyUint64()\n\ti := 0\n\tkeybuf := make([]byte, 0)\n\tfor i = 0; x > 127; i++ {\n\t\tkeybuf = append(keybuf, 0x80|uint8(x&0x7F))\n\t\tx >>= 7\n\t}\n\tkeybuf = append(keybuf, uint8(x))\n\treturn keybuf\n}\n\nfunc (field *FieldDescriptorProto) GetKey3() []byte {\n\tx := field.GetKey3Uint64()\n\ti := 0\n\tkeybuf := make([]byte, 0)\n\tfor i = 0; x > 127; i++ {\n\t\tkeybuf = append(keybuf, 0x80|uint8(x&0x7F))\n\t\tx >>= 7\n\t}\n\tkeybuf = append(keybuf, uint8(x))\n\treturn keybuf\n}\n\nfunc (desc *FileDescriptorSet) GetField(packageName, messageName, fieldName string) *FieldDescriptorProto {\n\tmsg := desc.GetMessage(packageName, messageName)\n\tif msg == nil {\n\t\treturn nil\n\t}\n\tfor _, field := range msg.GetField() {\n\t\tif field.GetName() == fieldName {\n\t\t\treturn field\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (file *FileDescriptorProto) GetMessage(typeName string) *DescriptorProto {\n\tfor _, msg := range file.GetMessageType() {\n\t\tif msg.GetName() == typeName {\n\t\t\treturn msg\n\t\t}\n\t\tnes := file.GetNestedMessage(msg, strings.TrimPrefix(typeName, msg.GetName()+\".\"))\n\t\tif nes != nil {\n\t\t\treturn nes\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (file *FileDescriptorProto) GetNestedMessage(msg *DescriptorProto, typeName string) *DescriptorProto {\n\tfor _, nes := range msg.GetNestedType() {\n\t\tif nes.GetName() == typeName {\n\t\t\treturn nes\n\t\t}\n\t\tres := file.GetNestedMessage(nes, strings.TrimPrefix(typeName, nes.GetName()+\".\"))\n\t\tif res != nil {\n\t\t\treturn res\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (desc *FileDescriptorSet) GetMessage(packageName string, typeName string) *DescriptorProto {\n\tfor _, file := range desc.GetFile() {\n\t\tif strings.Map(dotToUnderscore, file.GetPackage()) != strings.Map(dotToUnderscore, packageName) {\n\t\t\tcontinue\n\t\t}\n\t\tfor _, msg := range file.GetMessageType() {\n\t\t\tif msg.GetName() == typeName {\n\t\t\t\treturn msg\n\t\t\t}\n\t\t}\n\t\tfor _, msg := range file.GetMessageType() {\n\t\t\tfor _, nes := range msg.GetNestedType() {\n\t\t\t\tif nes.GetName() == typeName {\n\t\t\t\t\treturn nes\n\t\t\t\t}\n\t\t\t\tif msg.GetName()+\".\"+nes.GetName() == typeName {\n\t\t\t\t\treturn nes\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (desc *FileDescriptorSet) IsProto3(packageName string, typeName string) bool {\n\tfor _, file := range desc.GetFile() {\n\t\tif strings.Map(dotToUnderscore, file.GetPackage()) != strings.Map(dotToUnderscore, packageName) {\n\t\t\tcontinue\n\t\t}\n\t\tfor _, msg := range file.GetMessageType() {\n\t\t\tif msg.GetName() == typeName {\n\t\t\t\treturn file.GetSyntax() == \"proto3\"\n\t\t\t}\n\t\t}\n\t\tfor _, msg := range file.GetMessageType() {\n\t\t\tfor _, nes := range msg.GetNestedType() {\n\t\t\t\tif nes.GetName() == typeName {\n\t\t\t\t\treturn file.GetSyntax() == \"proto3\"\n\t\t\t\t}\n\t\t\t\tif msg.GetName()+\".\"+nes.GetName() == typeName {\n\t\t\t\t\treturn file.GetSyntax() == \"proto3\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn false\n}\n\nfunc (msg *DescriptorProto) IsExtendable() bool {\n\treturn len(msg.GetExtensionRange()) > 0\n}\n\nfunc (desc *FileDescriptorSet) FindExtension(packageName string, typeName string, fieldName string) (extPackageName string, field *FieldDescriptorProto) {\n\tparent := desc.GetMessage(packageName, typeName)\n\tif parent == nil {\n\t\treturn \"\", nil\n\t}\n\tif !parent.IsExtendable() {\n\t\treturn \"\", nil\n\t}\n\textendee := \".\" + packageName + \".\" + typeName\n\tfor _, file := range desc.GetFile() {\n\t\tfor _, ext := range file.GetExtension() {\n\t\t\tif strings.Map(dotToUnderscore, file.GetPackage()) == strings.Map(dotToUnderscore, packageName) {\n\t\t\t\tif !(ext.GetExtendee() == typeName || ext.GetExtendee() == extendee) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ext.GetExtendee() != extendee {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ext.GetName() == fieldName {\n\t\t\t\treturn file.GetPackage(), ext\n\t\t\t}\n\t\t}\n\t}\n\treturn \"\", nil\n}\n\nfunc (desc *FileDescriptorSet) FindExtensionByFieldNumber(packageName string, typeName string, fieldNum int32) (extPackageName string, field *FieldDescriptorProto) {\n\tparent := desc.GetMessage(packageName, typeName)\n\tif parent == nil {\n\t\treturn \"\", nil\n\t}\n\tif !parent.IsExtendable() {\n\t\treturn \"\", nil\n\t}\n\textendee := \".\" + packageName + \".\" + typeName\n\tfor _, file := range desc.GetFile() {\n\t\tfor _, ext := range file.GetExtension() {\n\t\t\tif strings.Map(dotToUnderscore, file.GetPackage()) == strings.Map(dotToUnderscore, packageName) {\n\t\t\t\tif !(ext.GetExtendee() == typeName || ext.GetExtendee() == extendee) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ext.GetExtendee() != extendee {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ext.GetNumber() == fieldNum {\n\t\t\t\treturn file.GetPackage(), ext\n\t\t\t}\n\t\t}\n\t}\n\treturn \"\", nil\n}\n\nfunc (desc *FileDescriptorSet) FindMessage(packageName string, typeName string, fieldName string) (msgPackageName string, msgName string) {\n\tparent := desc.GetMessage(packageName, typeName)\n\tif parent == nil {\n\t\treturn \"\", \"\"\n\t}\n\tfield := parent.GetFieldDescriptor(fieldName)\n\tif field == nil {\n\t\tvar extPackageName string\n\t\textPackageName, field = desc.FindExtension(packageName, typeName, fieldName)\n\t\tif field == nil {\n\t\t\treturn \"\", \"\"\n\t\t}\n\t\tpackageName = extPackageName\n\t}\n\ttypeNames := strings.Split(field.GetTypeName(), \".\")\n\tif len(typeNames) == 1 {\n\t\tmsg := desc.GetMessage(packageName, typeName)\n\t\tif msg == nil {\n\t\t\treturn \"\", \"\"\n\t\t}\n\t\treturn packageName, msg.GetName()\n\t}\n\tif len(typeNames) > 2 {\n\t\tfor i := 1; i < len(typeNames)-1; i++ {\n\t\t\tpackageName = strings.Join(typeNames[1:len(typeNames)-i], \".\")\n\t\t\ttypeName = strings.Join(typeNames[len(typeNames)-i:], \".\")\n\t\t\tmsg := desc.GetMessage(packageName, typeName)\n\t\t\tif msg != nil {\n\t\t\t\ttypeNames := strings.Split(msg.GetName(), \".\")\n\t\t\t\tif len(typeNames) == 1 {\n\t\t\t\t\treturn packageName, msg.GetName()\n\t\t\t\t}\n\t\t\t\treturn strings.Join(typeNames[1:len(typeNames)-1], \".\"), typeNames[len(typeNames)-1]\n\t\t\t}\n\t\t}\n\t}\n\treturn \"\", \"\"\n}\n\nfunc (msg *DescriptorProto) GetFieldDescriptor(fieldName string) *FieldDescriptorProto {\n\tfor _, field := range msg.GetField() {\n\t\tif field.GetName() == fieldName {\n\t\t\treturn field\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (desc *FileDescriptorSet) GetEnum(packageName string, typeName string) *EnumDescriptorProto {\n\tfor _, file := range desc.GetFile() {\n\t\tif strings.Map(dotToUnderscore, file.GetPackage()) != strings.Map(dotToUnderscore, packageName) {\n\t\t\tcontinue\n\t\t}\n\t\tfor _, enum := range file.GetEnumType() {\n\t\t\tif enum.GetName() == typeName {\n\t\t\t\treturn enum\n\t\t\t}\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (f *FieldDescriptorProto) IsEnum() bool {\n\treturn *f.Type == FieldDescriptorProto_TYPE_ENUM\n}\n\nfunc (f *FieldDescriptorProto) IsMessage() bool {\n\treturn *f.Type == FieldDescriptorProto_TYPE_MESSAGE\n}\n\nfunc (f *FieldDescriptorProto) IsBytes() bool {\n\treturn *f.Type == FieldDescriptorProto_TYPE_BYTES\n}\n\nfunc (f *FieldDescriptorProto) IsRepeated() bool {\n\treturn f.Label != nil && *f.Label == FieldDescriptorProto_LABEL_REPEATED\n}\n\nfunc (f *FieldDescriptorProto) IsString() bool {\n\treturn *f.Type == FieldDescriptorProto_TYPE_STRING\n}\n\nfunc (f *FieldDescriptorProto) IsBool() bool {\n\treturn *f.Type == FieldDescriptorProto_TYPE_BOOL\n}\n\nfunc (f *FieldDescriptorProto) IsRequired() bool {\n\treturn f.Label != nil && *f.Label == FieldDescriptorProto_LABEL_REQUIRED\n}\n\nfunc (f *FieldDescriptorProto) IsPacked() bool {\n\treturn f.Options != nil && f.GetOptions().GetPacked()\n}\n\nfunc (f *FieldDescriptorProto) IsPacked3() bool {\n\tif f.IsRepeated() && f.IsScalar() {\n\t\tif f.Options == nil || f.GetOptions().Packed == nil {\n\t\t\treturn true\n\t\t}\n\t\treturn f.Options != nil && f.GetOptions().GetPacked()\n\t}\n\treturn false\n}\n\nfunc (m *DescriptorProto) HasExtension() bool {\n\treturn len(m.ExtensionRange) > 0\n}\n"
  },
  {
    "path": "vendor/github.com/gojuno/minimock/.gitignore",
    "content": "# Compiled Object files, Static and Dynamic libs (Shared Objects)\n*.o\n*.a\n*.so\n\n# Folders\n_obj\n_test\n\n# Architecture specific extensions/prefixes\n*.[568vq]\n[568vq].out\n\n*.cgo1.go\n*.cgo2.c\n_cgo_defun.c\n_cgo_gotypes.go\n_cgo_export.*\n\n_testmain.go\n\n*.exe\n*.test\n*.prof\n\n/examples/sample_interface_mock.go\n/cmd/minimock/minimock\n/minimock\n"
  },
  {
    "path": "vendor/github.com/gojuno/minimock/.travis.yml",
    "content": "language: go\n\ngo:\n  - 1.x\n  - master\n\ninstall:\n  - go get github.com/golang/lint/golint\n  - go get golang.org/x/tools/go/loader\n  - go get github.com/gojuno/generator\n  - go get github.com/stretchr/testify/assert\n\nscript:\n  - cd $TRAVIS_BUILD_DIR && make all\n"
  },
  {
    "path": "vendor/github.com/gojuno/minimock/LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2016 Juno Lab Ltd.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "vendor/github.com/gojuno/minimock/Makefile",
    "content": "all: test lint\n\ngenerate:\n\tgo run ./cmd/minimock/minimock.go -i github.com/gojuno/minimock.Tester -o ./tests -s _mock_test.go\n\tgo run ./cmd/minimock/minimock.go -i tests.Formatter -o ./tests -s _mock.go\n\nlint:\n\tgolint ./... && go vet ./...\n\ntest: generate\n\tgo test -race ./...\n"
  },
  {
    "path": "vendor/github.com/gojuno/minimock/README.md",
    "content": "![logo](https://rawgit.com/gojuno/minimock/master/logo.svg)\n[![GoDoc](https://godoc.org/github.com/gojuno/minimock?status.svg)](http://godoc.org/github.com/gojuno/minimock) [![Build Status](https://travis-ci.org/gojuno/minimock.svg?branch=master)](https://travis-ci.org/gojuno/minimock) [![Go Report Card](https://goreportcard.com/badge/github.com/gojuno/minimock)](https://goreportcard.com/report/github.com/gojuno/minimock) [![cover.run](https://cover.run/go/github.com/gojuno/minimock.svg?style=flat&tag=golang-1.10)](https://cover.run/go?tag=golang-1.10&repo=github.com%2Fgojuno%2Fminimock)\n\n## Summary \nMinimock parses the input Go source file that contains an interface declaration and generates\nimplementation of this interface that can be used as a mock.\n\nMain features of minimock:\n\n* It's integrated with the standard Go \"testing\" package\n* It supports variadic methods and embedded interfaces\n* It's very convenient to use generated mocks in table tests because it implements builder pattern to set up several mocks\n* It provides a useful Controller.Wait(time.Duration) helper method to test concurrent code\n* It generates helpers to check if the mocked methods have been called and keeps your tests clean and up to date\n* It generates concurrent-safe mock execution counters that you can use in your mocks to implement sophisticated mocks behaviour\n* It's integrated with [GoTests](https://github.com/hexdigest/gotests) which generates table driven tests using minimock\n\n## Installation\n\n```\ngo get github.com/gojuno/minimock/cmd/minimock\n```\n\n## Usage\nLet's say we have the following interface declaration in github.com/gojuno/minimock/tests package:\n```go\ntype Formatter interface {\n\tFormat(string, ...interface{}) string\n}\n```\n\nHere is how to generate the mock for this interface:\n```\nminimock -i github.com/gojuno/minimock/tests.Formatter -o ./tests/\n```\n\nThe result file ./tests/formatter_mock_test.go will be:\n```go\n\npackage tests\n\n/*\nDO NOT EDIT!\nThis code was generated automatically using github.com/gojuno/minimock v1.8\nThe original interface \"Formatter\" can be found in github.com/gojuno/minimock/tests\n*/\nimport (\n\t\"sync/atomic\"\n\t\"time\"\n\n\t\"github.com/gojuno/minimock\"\n\ttestify_assert \"github.com/stretchr/testify/assert\"\n)\n\n//FormatterMock implements github.com/gojuno/minimock/tests.Formatter\ntype FormatterMock struct {\n\tt minimock.Tester\n\n\tFormatFunc    func(p string, p1 ...interface{}) (r string)\n\tFormatCounter uint64\n\tFormatMock    mFormatterMockFormat\n}\n\n//NewFormatterMock returns a mock for github.com/gojuno/minimock/tests.Formatter\nfunc NewFormatterMock(t minimock.Tester) *FormatterMock {\n\tm := &FormatterMock{t: t}\n\n\tif controller, ok := t.(minimock.MockController); ok {\n\t\tcontroller.RegisterMocker(m)\n\t}\n\n\tm.FormatMock = mFormatterMockFormat{mock: m}\n\n\treturn m\n}\n\ntype mFormatterMockFormat struct {\n\tmock             *FormatterMock\n\tmockExpectations *FormatterMockFormatParams\n}\n\n//FormatterMockFormatParams represents input parameters of the Formatter.Format\ntype FormatterMockFormatParams struct {\n\tp  string\n\tp1 []interface{}\n}\n\n//Expect sets up expected params for the Formatter.Format\nfunc (m *mFormatterMockFormat) Expect(p string, p1 ...interface{}) *mFormatterMockFormat {\n\tm.mockExpectations = &FormatterMockFormatParams{p, p1}\n\treturn m\n}\n\n//Return sets up a mock for Formatter.Format to return Return's arguments\nfunc (m *mFormatterMockFormat) Return(r string) *FormatterMock {\n\tm.mock.FormatFunc = func(p string, p1 ...interface{}) string {\n\t\treturn r\n\t}\n\treturn m.mock\n}\n\n//Set uses given function f as a mock of Formatter.Format method\nfunc (m *mFormatterMockFormat) Set(f func(p string, p1 ...interface{}) (r string)) *FormatterMock {\n\tm.mock.FormatFunc = f\n\treturn m.mock\n}\n\n//Format implements github.com/gojuno/minimock/tests.Formatter interface\nfunc (m *FormatterMock) Format(p string, p1 ...interface{}) (r string) {\n\tdefer atomic.AddUint64(&m.FormatCounter, 1)\n\n\tif m.FormatMock.mockExpectations != nil {\n\t\ttestify_assert.Equal(m.t, *m.FormatMock.mockExpectations, FormatterMockFormatParams{p, p1},\n\t\t\t\"Formatter.Format got unexpected parameters\")\n\n\t\tif m.FormatFunc == nil {\n\t\t\tm.t.Fatal(\"No results are set for the FormatterMock.Format\")\n\t\t\treturn\n\t\t}\n\t}\n\n\tif m.FormatFunc == nil {\n\t\tm.t.Fatal(\"Unexpected call to FormatterMock.Format\")\n\t\treturn\n\t}\n\n\treturn m.FormatFunc(p, p1...)\n}\n\n//FormatMinimockCounter returns a count of Formatter.Format invocations\nfunc (m *FormatterMock) FormatMinimockCounter() uint64 {\n\treturn atomic.LoadUint64(&m.FormatCounter)\n}\n\n//MinimockFinish checks that all mocked methods of the interface have been called at least once\nfunc (m *FormatterMock) MinimockFinish() {\n\tif m.FormatFunc != nil && atomic.LoadUint64(&m.FormatCounter) == 0 {\n\t\tm.t.Fatal(\"Expected call to FormatterMock.Format\")\n\t}\n}\n\n//MinimockWait waits for all mocked methods to be called at least once\n//this method is called by minimock.Controller\nfunc (m *FormatterMock) MinimockWait(timeout time.Duration) {\n\ttimeoutCh := time.After(timeout)\n\tfor {\n\t\tok := true\n\t\tok = ok && (m.FormatFunc == nil || atomic.LoadUint64(&m.FormatCounter) > 0)\n\n\t\tif ok {\n\t\t\treturn\n\t\t}\n\n\t\tselect {\n\t\tcase <-timeoutCh:\n\n\t\t\tif m.FormatFunc != nil && atomic.LoadUint64(&m.FormatCounter) == 0 {\n\t\t\t\tm.t.Error(\"Expected call to FormatterMock.Format\")\n\t\t\t}\n\n\t\t\tm.t.Fatalf(\"Some mocks were not called on time: %s\", timeout)\n\t\t\treturn\n\t\tdefault:\n\t\t\ttime.Sleep(time.Millisecond)\n\t\t}\n\t}\n}\n```\n\n\nThere are several ways to set up a mock\n\nSetting up a mock using direct assignment:\n```go\nformatterMock := NewFormatterMock(mc)\nformatterMock.FormatFunc = func(string, ...interface{}) string {\n  return \"minimock\"\n}\n```\n\nSetting up a mock using builder pattern and Expect/Return methods:\n```go\nformatterMock := NewFormatterMock(mc).FormatMock.Expect(\"%s %d\", \"string\", 1).Return(\"minimock\")\n```\n\nSetting up a mock using builder and Set method:\n```go\nformatterMock := NewFormatterMock(mc).FormatMock.Set(func(string, ...interface{}) string {\n  return \"minimock\"\n})\n```\n\nBuilder pattern is convenient when you have to mock more than one method of an interface.\nLet's say we have an io.ReadCloser interface which has two methods: Read and Close\n```go\ntype ReadCloser interface {\n\tRead(p []byte) (n int, err error)\n\tClose() error\n}\n```\n\nThen you can set up a mock using just one assignment:\n```go\nreadCloserMock := NewReadCloserMock(mc).ReadMock.Expect([]byte(1,2,3)).Return(3, nil).CloseMock.Return(nil)\n```\n\nYou can also use invocation counters in your mocks and tests:\n```go\nformatterMock := NewFormatterMock(mc)\nformatterMock.FormatFunc = func(string, ...interface{}) string {\n  return fmt.Sprintf(\"minimock: %d\", formatterMock.FormatMinimockCounter())\n}\n```\n\n## minimock.Controller\nWhen you have to mock multiple dependencies in your test it's recommended to use minimock.Controller and its Finish or Wait methods.\nAll you have to do is instantiate the Controller and pass it as an argument to the mocks' constructors:\n```go\nfunc TestSomething(t *testing.T) {\n  mc := minimock.NewController(t)\n  defer mc.Finish()\n\n  formatterMock := NewFormatterMock(mc)\n  formatterMock.FormatMock.Return(\"minimock\")\n\n  readCloserMock := NewReadCloserMock(mc)\n  readCloserMock.ReadMock.Return(5, nil)\n\n  readCloserMock.Read([]byte{}) \n  formatterMock.Format()\n}\n```\nEvery mock is registered in the controller so by calling mc.Finish() you can verify that all the registered mocks have been called\nwithin your test.\n\n## Keep your tests clean\nSometimes we write tons of mocks for our tests but over time the tested code stops using mocked dependencies,\nhowever mocks are still present and being initialized in the test files. So while tested code can shrink, tests are only growing.\nTo prevent this minimock.Controller provides Finish() method that verifies that all your mocks have been called at least once during the test run.\n\n```go\nfunc TestSomething(t *testing.T) {\n  mc := minimock.NewController(t)\n  defer mc.Finish() //this will mark your test as failed because there are no calls to formatterMock.Format() and readCloserMock.Read() below\n\n  formatterMock := NewFormatterMock(mc)\n  formatterMock.FormatMock.Return(\"minimock\")\n\n  readCloserMock := NewReadCloserMock(mc)\n  readCloserMock.ReadMock.Return(5, nil)\n}\n```\n\n## Testing concurrent code\nTesting concurrent code is tough. Fortunately minimock provides you with the helper method that makes testing concurrent code easy.\nHere is how it works:\n\n```go\nfunc TestSomething(t *testing.T) {\n  mc := minimock.NewController(t)\n\n  //Wait ensures that all mocked methods have been called within given interval\n  //if any of the mocked methods have not been called Wait marks test as failed\n  defer mc.Wait(time.Second)\n\n  formatterMock := NewFormatterMock(mc)\n  formatterMock.FormatMock.Return(\"minimock\")\n\n  //tested code can run mocked method in a goroutine\n  go formatterMock.Format(\"\")\n}\n```\n\n## Using gotests with minimock\n\nDespite the fact that minimock does a lot of work for you, writing test is not only mocking the dependencies.\nThere is a nice tool called [GoTests](https://github.com/hexdigest/gotests) that generates table driven tests with minimock in mind.\n\nLet's say you have to test the following code:\n```go\ntype Dependency interface {\n\tSomeMethod() error\n}\n\ntype Service struct {\n\tDep Dependency\n}\n\nfunc (s Service) DoSomething() bool {\n\tif err := s.Dep.SomeMethod(); err != nil {\n\t\tlog.Printf(\"some method returned an error: %v\", err)\n\t\treturn false\n\t}\n\n\treturn true\n}\n```\n\nGoTests generates the following test for the DoSomething method:\n```go\nfunc TestService_DoSomething(t *testing.T) {\n\ttests := []struct {\n\t\tname  string\n\t\tsetup func(mc *minimock.Controller) Service\n\t\twant  bool\n\t}{\n\t// TODO: Add test cases.\n\t}\n\tfor _, tt := range tests {\n\t\tt.Run(tt.name, func(t *testing.T) {\n\t\t\tmc := minimock.NewController(t)\n\t\t\tdefer mc.Wait(time.Second)\n\t\t\ts := tt.setup(mc)\n\t\t\tif got := s.DoSomething(); got != tt.want {\n\t\t\t\tt.Errorf(\"Service.DoSomething() = %v, want %v\", got, tt.want)\n\t\t\t}\n\t\t})\n\t}\n}\n```\n\nSo all you need here is to fill the tests slice with:\n```go\n{\n  name: \"some method failed\",\n  setup: func(mc *minimock.Controller) Service {\n    return Service{\n      Dep: NewDependencyMock(mc).SomeMethodMock.Return(io.EOF),\n    }\n  },\n  want: false,\n},\n{\n  name: \"some method succeeded\",\n  setup: func(mc *minimock.Controller) Service {\n    return Service{\n      Dep: NewDependencyMock(mc).SomeMethodMock.Return(nil),\n    }\n  },\n  want: true,\n},\n```\n\nAnd your test is ready!\n\n## Minimock command line flags:\n```\n$ minimock -h\n  Usage of minimock:\n    -f string\n      \tDEPRECATED: input file or import path of the package that contains interface declaration\n    -h\tshow this help message\n    -i string\n      \tcomma-separated names of the interfaces to mock, i.e fmt.Stringer,io.Reader, use io.* notation to generate mocks for all interfaces in an io package\n    -o string\n      \tdestination file name to place the generated mock or path to destination package when multiple interfaces are given\n    -p string\n      \tDEPRECATED: destination package name\n    -s string\n      \toutput file name suffix which is added to file names when multiple interfaces are given (default \"_mock_test.go\")\n    -t string\n      \tDEPRECATED: mock struct name (default <interface name>Mock)\n    -withTests\n      \tparse *_test.go files in the source package\n```\n"
  },
  {
    "path": "vendor/github.com/gojuno/minimock/camel_to_snake.go",
    "content": "package minimock\n\nimport (\n\t\"unicode\"\n\t\"unicode/utf8\"\n)\n\ntype buffer struct {\n\tr         []byte\n\truneBytes [utf8.UTFMax]byte\n}\n\nfunc (b *buffer) write(r rune) {\n\tif r < utf8.RuneSelf {\n\t\tb.r = append(b.r, byte(r))\n\t\treturn\n\t}\n\tn := utf8.EncodeRune(b.runeBytes[0:], r)\n\tb.r = append(b.r, b.runeBytes[0:n]...)\n}\n\nfunc (b *buffer) indent() {\n\tif len(b.r) > 0 {\n\t\tb.r = append(b.r, '_')\n\t}\n}\n\n// CamelToSnake transforms strings from CamelCase to snake_case\nfunc CamelToSnake(s string) string {\n\tb := buffer{\n\t\tr: make([]byte, 0, len(s)),\n\t}\n\tvar m rune\n\tvar w bool\n\tfor _, ch := range s {\n\t\tif unicode.IsUpper(ch) {\n\t\t\tif m != 0 {\n\t\t\t\tif !w {\n\t\t\t\t\tb.indent()\n\t\t\t\t\tw = true\n\t\t\t\t}\n\t\t\t\tb.write(m)\n\t\t\t}\n\t\t\tm = unicode.ToLower(ch)\n\t\t} else {\n\t\t\tif m != 0 {\n\t\t\t\tb.indent()\n\t\t\t\tb.write(m)\n\t\t\t\tm = 0\n\t\t\t\tw = false\n\t\t\t}\n\t\t\tb.write(ch)\n\t\t}\n\t}\n\tif m != 0 {\n\t\tif !w {\n\t\t\tb.indent()\n\t\t}\n\t\tb.write(m)\n\t}\n\treturn string(b.r)\n}\n"
  },
  {
    "path": "vendor/github.com/gojuno/minimock/doc.go",
    "content": "/*\nPackage minimock is a command line tool that parses the input Go source file that contains an interface declaration and generates\nimplementation of this interface that can be used as a mock.\n\nMain features of minimock\n\n1. It's integrated with the standard Go \"testing\" package\n\n2. It supports variadic methods and embedded interfaces\n\n3. It's very convenient to use generated mocks in table tests because it implements builder pattern to set up several mocks\n\n4. It provides a useful Wait(time.Duration) helper to test concurrent code\n\n5. It generates helpers to check if the mocked methods have been called and keeps your tests clean and up to date\n\n6. It generates concurrent-safe mock execution counters that you can use in your mocks to implement sophisticated mocks behaviour\n\nLet's say we have the following interface declaration in github.com/gojuno/minimock/tests package:\n\n\ttype Formatter interface {\n\t\tFormat(string, ...interface{}) string\n\t}\n\nHere is how to generate the mock for this interface:\n\n\tminimock -i github.com/gojuno/minimock/tests.Formatter -o ./tests/\n\nThe result file ./tests/formatter_mock_test.go will contain the following code:\n\n\t//FormatterMock implements github.com/gojuno/minimock/tests.Formatter\n\ttype FormatterMock struct {\n\t\tt minimock.Tester\n\n\t\tFormatFunc    func(p string, p1 ...interface{}) (r string)\n\t\tFormatCounter uint64\n\t\tFormatMock    mFormatterMockFormat\n\t}\n\n\t//NewFormatterMock returns a mock for github.com/gojuno/minimock/tests.Formatter\n\tfunc NewFormatterMock(t minimock.Tester) *FormatterMock {\n\t\tm := &FormatterMock{t: t}\n\n\t\tif controller, ok := t.(minimock.MockController); ok {\n\t\t\tcontroller.RegisterMocker(m)\n\t\t}\n\n\t\tm.FormatMock = mFormatterMockFormat{mock: m}\n\n\t\treturn m\n\t}\n\n\ttype mFormatterMockFormat struct {\n\t\tmock             *FormatterMock\n\t\tmockExpectations *FormatterMockFormatParams\n\t}\n\n\t//FormatterMockFormatParams represents input parameters of the Formatter.Format\n\ttype FormatterMockFormatParams struct {\n\t\tp  string\n\t\tp1 []interface{}\n\t}\n\n\t//Expect sets up expected params for the Formatter.Format\n\tfunc (m *mFormatterMockFormat) Expect(p string, p1 ...interface{}) *mFormatterMockFormat {\n\t\tm.mockExpectations = &FormatterMockFormatParams{p, p1}\n\t\treturn m\n\t}\n\n\t//Return sets up a mock for Formatter.Format to return Return's arguments\n\tfunc (m *mFormatterMockFormat) Return(r string) *FormatterMock {\n\t\tm.mock.FormatFunc = func(p string, p1 ...interface{}) string {\n\t\t\treturn r\n\t\t}\n\t\treturn m.mock\n\t}\n\n\t//Set uses given function f as a mock of Formatter.Format method\n\tfunc (m *mFormatterMockFormat) Set(f func(p string, p1 ...interface{}) (r string)) *FormatterMock {\n\t\tm.mock.FormatFunc = f\n\t\treturn m.mock\n\t}\n\n\t//Format implements github.com/gojuno/minimock/tests.Formatter interface\n\tfunc (m *FormatterMock) Format(p string, p1 ...interface{}) (r string) {\n\t\tdefer atomic.AddUint64(&m.FormatCounter, 1)\n\n\t\tif m.FormatMock.mockExpectations != nil {\n\t\t\ttestify_assert.Equal(m.t, *m.FormatMock.mockExpectations, FormatterMockFormatParams{p, p1},\n\t\t\t\t\"Formatter.Format got unexpected parameters\")\n\n\t\t\tif m.FormatFunc == nil {\n\t\t\t\tm.t.Fatal(\"No results are set for the FormatterMock.Format\")\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\n\t\tif m.FormatFunc == nil {\n\t\t\tm.t.Fatal(\"Unexpected call to FormatterMock.Format\")\n\t\t\treturn\n\t\t}\n\n\t\treturn m.FormatFunc(p, p1...)\n\t}\n\n\t//FormatMinimockCounter returns a count of Formatter.Format invocations\n\tfunc (m *FormatterMock) FormatMinimockCounter() uint64 {\n\t\treturn atomic.LoadUint64(&m.FormatCounter)\n\t}\n\n\t//MinimockFinish checks that all mocked methods of the interface have been called at least once\n\tfunc (m *FormatterMock) MinimockFinish() {\n\t\tif m.FormatFunc != nil && atomic.LoadUint64(&m.FormatCounter) == 0 {\n\t\t\tm.t.Fatal(\"Expected call to FormatterMock.Format\")\n\t\t}\n\t}\n\n\t//MinimockWait waits for all mocked methods to be called at least once\n\t//this method is called by minimock.Controller\n\tfunc (m *FormatterMock) MinimockWait(timeout time.Duration) {\n\t\ttimeoutCh := time.After(timeout)\n\t\tfor {\n\t\t\tok := true\n\t\t\tok = ok && (m.FormatFunc == nil || atomic.LoadUint64(&m.FormatCounter) > 0)\n\n\t\t\tif ok {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tselect {\n\t\t\tcase <-timeoutCh:\n\n\t\t\t\tif m.FormatFunc != nil && atomic.LoadUint64(&m.FormatCounter) == 0 {\n\t\t\t\t\tm.t.Error(\"Expected call to FormatterMock.Format\")\n\t\t\t\t}\n\n\t\t\t\tm.t.Fatalf(\"Some mocks were not called on time: %s\", timeout)\n\t\t\t\treturn\n\t\t\tdefault:\n\t\t\t\ttime.Sleep(time.Millisecond)\n\t\t\t}\n\t\t}\n\t}\n\nThere are several ways to set up a mock\n\nSetting up a mock using direct assignment:\n\n\tformatterMock := NewFormatterMock(mc)\n\tformatterMock.FormatFunc = func(string, ...interface{}) string {\n\t\treturn \"minimock\"\n\t}\n\nSetting up a mock using builder pattern and Return method:\n\n\tformatterMock := NewFormatterMock(mc).FormatMock.Expect(\"%s %d\", \"string\", 1).Return(\"minimock\")\n\nSetting up a mock using builder and Set method:\n\n\tformatterMock := NewFormatterMock(mc).FormatMock.Set(func(string, ...interface{}) string {\n\t\treturn \"minimock\"\n\t})\n\nBuilder pattern is convenient when you have to mock more than one method of an interface.\nLet's say we have an io.ReadCloser interface which has two methods: Read and Close\n\n  type ReadCloser interface {\n\t\tRead(p []byte) (n int, err error)\n\t\tClose() error\n\t}\n\nThen you can set up a mock using just one assignment:\n\n\treadCloserMock := NewReadCloserMock(mc).ReadMock.Expect([]byte(1,2,3)).Return(3, nil).CloseMock.Return(nil)\n\nYou can also use invocation counters in your mocks and tests:\n\n\tformatterMock := NewFormatterMock(mc)\n\tformatterMock.FormatFunc = func(string, ...interface{}) string {\n\t\treturn fmt.Sprintf(\"minimock: %d\", formatterMock.FormatMinimockCounter())\n\t}\n\nminimock.Controller\n\nWhen you have to mock multiple dependencies in your test it's recommended to use minimock.Controller and its Finish or Wait methods.\nAll you have to do is instantiate the Controller and pass it as an argument to the mocks' constructors:\n\n\tfunc TestSomething(t *testing.T) {\n\t\tmc := minimock.NewController(t)\n\t\tdefer mc.Finish()\n\n\t\tformatterMock := NewFormatterMock(mc)\n\t\tformatterMock.FormatMock.Return(\"minimock\")\n\n\t\treadCloserMock := NewReadCloserMock(mc)\n\t\treadCloserMock.ReadMock.Return(5, nil)\n\n\t\treadCloserMock.Read([]byte{})\n\t\tformatterMock.Format()\n\t}\n\nEvery mock is registered in the controller so by calling mc.Finish() you can verify that all the registered mocks have been called\nwithin your test.\n\nKeep your tests clean\n\nSometimes we write tons of mocks for our tests but over time the tested code stops using mocked dependencies,\nhowever mocks are still present and being initialized in the test files. So while tested code can shrink, tests are only growing.\nTo prevent this minimock provides Finish() method that verifies that all your mocks have been called at least once during the test run.\n\n\tfunc TestSomething(t *testing.T) {\n\t\tmc := minimock.NewController(t)\n\t\tdefer mc.Finish()\n\n\t\tformatterMock := NewFormatterMock(mc)\n\t\tformatterMock.FormatMock.Return(\"minimock\")\n\n\t\treadCloserMock := NewReadCloserMock(mc)\n\t\treadCloserMock.ReadMock.Return(5, nil)\n\n \t\t//this test will fail because there are no calls to formatterMock.Format() and readCloserMock.Read()\n\t}\n\nTesting concurrent code\n\nTesting concurrent code is tough. Fortunately minimock provides you with the helper method that makes testing concurrent code easy.\nHere is how it works:\n\n\tfunc TestSomething(t *testing.T) {\n\t\tmc := minimock.NewController(t)\n\n\t\t//Wait ensures that all mocked methods have been called within given interval\n\t\t//if any of the mocked methods have not been called Wait marks test as failed\n\t\tdefer mc.Wait(time.Second)\n\n\t\tformatterMock := NewFormatterMock(mc)\n\t\tformatterMock.FormatMock.Return(\"minimock\")\n\n\t\t//tested code can run mocked method in a goroutine\n\t\tgo formatterMock.Format(\"\")\n\t}\n\nMinimock comman line args:\n\n\t$ minimock -h\n  Usage of minimock:\n    -f string\n      \tDEPRECATED: input file or import path of the package that contains interface declaration\n    -h\tshow this help message\n    -i string\n      \tcomma-separated names of the interfaces to mock, i.e fmt.Stringer,io.Reader, use io.* notation to generate mocks for all interfaces in an io package\n    -o string\n      \tdestination file name to place the generated mock or path to destination package when multiple interfaces are given\n    -p string\n      \tDEPRECATED: destination package name\n    -s string\n      \toutput file name suffix which is added to file names when multiple interfaces are given (default \"_mock_test.go\")\n    -t string\n      \tDEPRECATED: mock struct name (default <interface name>Mock)\n    -withTests\n      \tparse *_test.go files in the source package\n\n*/\npackage minimock\n"
  },
  {
    "path": "vendor/github.com/gojuno/minimock/mock_controller.go",
    "content": "package minimock\n\nimport (\n\t\"sync\"\n\t\"time\"\n)\n\n//Mocker describes common interface for all mocks generated by minimock\ntype Mocker interface {\n\tMinimockFinish()\n\tMinimockWait(time.Duration)\n}\n\n// Tester contains subset of the testing.T methods used by the generated code\ntype Tester interface {\n\tFatal(args ...interface{})\n\tFatalf(format string, args ...interface{})\n\tError(...interface{})\n\tErrorf(format string, args ...interface{})\n}\n\n//MockController can be passed to mocks generated by minimock\ntype MockController interface {\n\tTester\n\n\tRegisterMocker(Mocker)\n}\n\n//Controller implements MockController interface and has to be used in your tests:\n//mockController := minimock.NewController(t)\n//defer mockController.Finish()\n//stringerMock := NewStringerMock(mockController)\ntype Controller struct {\n\tTester\n\tsync.Mutex\n\n\tmockers []Mocker\n}\n\n// Check if Controller supports MockController interface\nvar _ MockController = &Controller{}\n\n//NewController returns an instance of Controller\nfunc NewController(t Tester) *Controller {\n\treturn &Controller{Tester: t}\n}\n\n//RegisterMocker puts mocker to the list of controller mockers\nfunc (c *Controller) RegisterMocker(m Mocker) {\n\tc.Lock()\n\tc.mockers = append(c.mockers, m)\n\tc.Unlock()\n}\n\n//Finish calls to MinimockFinish method for all registered mockers\nfunc (c *Controller) Finish() {\n\tc.Lock()\n\tfor _, m := range c.mockers {\n\t\tm.MinimockFinish()\n\t}\n\tc.Unlock()\n}\n\n//Wait calls to MinimockWait method for all registered mockers\nfunc (c *Controller) Wait(d time.Duration) {\n\twg := sync.WaitGroup{}\n\twg.Add(len(c.mockers))\n\tfor _, m := range c.mockers {\n\t\tgo func(m Mocker) {\n\t\t\tdefer wg.Done()\n\t\t\tm.MinimockWait(d)\n\t\t}(m)\n\t}\n\n\twg.Wait()\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/AUTHORS",
    "content": "# This source code refers to The Go Authors for copyright purposes.\n# The master list of authors is in the main Go distribution,\n# visible at http://tip.golang.org/AUTHORS.\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/CONTRIBUTORS",
    "content": "# This source code was written by the Go contributors.\n# The master list of contributors is in the main Go distribution,\n# visible at http://tip.golang.org/CONTRIBUTORS.\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/LICENSE",
    "content": "Go support for Protocol Buffers - Google's data interchange format\n\nCopyright 2010 The Go Authors.  All rights reserved.\nhttps://github.com/golang/protobuf\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n    * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n    * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n    * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/proto/clone.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2011 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n// Protocol buffer deep copy and merge.\n// TODO: RawMessage.\n\npackage proto\n\nimport (\n\t\"fmt\"\n\t\"log\"\n\t\"reflect\"\n\t\"strings\"\n)\n\n// Clone returns a deep copy of a protocol buffer.\nfunc Clone(src Message) Message {\n\tin := reflect.ValueOf(src)\n\tif in.IsNil() {\n\t\treturn src\n\t}\n\tout := reflect.New(in.Type().Elem())\n\tdst := out.Interface().(Message)\n\tMerge(dst, src)\n\treturn dst\n}\n\n// Merger is the interface representing objects that can merge messages of the same type.\ntype Merger interface {\n\t// Merge merges src into this message.\n\t// Required and optional fields that are set in src will be set to that value in dst.\n\t// Elements of repeated fields will be appended.\n\t//\n\t// Merge may panic if called with a different argument type than the receiver.\n\tMerge(src Message)\n}\n\n// generatedMerger is the custom merge method that generated protos will have.\n// We must add this method since a generate Merge method will conflict with\n// many existing protos that have a Merge data field already defined.\ntype generatedMerger interface {\n\tXXX_Merge(src Message)\n}\n\n// Merge merges src into dst.\n// Required and optional fields that are set in src will be set to that value in dst.\n// Elements of repeated fields will be appended.\n// Merge panics if src and dst are not the same type, or if dst is nil.\nfunc Merge(dst, src Message) {\n\tif m, ok := dst.(Merger); ok {\n\t\tm.Merge(src)\n\t\treturn\n\t}\n\n\tin := reflect.ValueOf(src)\n\tout := reflect.ValueOf(dst)\n\tif out.IsNil() {\n\t\tpanic(\"proto: nil destination\")\n\t}\n\tif in.Type() != out.Type() {\n\t\tpanic(fmt.Sprintf(\"proto.Merge(%T, %T) type mismatch\", dst, src))\n\t}\n\tif in.IsNil() {\n\t\treturn // Merge from nil src is a noop\n\t}\n\tif m, ok := dst.(generatedMerger); ok {\n\t\tm.XXX_Merge(src)\n\t\treturn\n\t}\n\tmergeStruct(out.Elem(), in.Elem())\n}\n\nfunc mergeStruct(out, in reflect.Value) {\n\tsprop := GetProperties(in.Type())\n\tfor i := 0; i < in.NumField(); i++ {\n\t\tf := in.Type().Field(i)\n\t\tif strings.HasPrefix(f.Name, \"XXX_\") {\n\t\t\tcontinue\n\t\t}\n\t\tmergeAny(out.Field(i), in.Field(i), false, sprop.Prop[i])\n\t}\n\n\tif emIn, err := extendable(in.Addr().Interface()); err == nil {\n\t\temOut, _ := extendable(out.Addr().Interface())\n\t\tmIn, muIn := emIn.extensionsRead()\n\t\tif mIn != nil {\n\t\t\tmOut := emOut.extensionsWrite()\n\t\t\tmuIn.Lock()\n\t\t\tmergeExtension(mOut, mIn)\n\t\t\tmuIn.Unlock()\n\t\t}\n\t}\n\n\tuf := in.FieldByName(\"XXX_unrecognized\")\n\tif !uf.IsValid() {\n\t\treturn\n\t}\n\tuin := uf.Bytes()\n\tif len(uin) > 0 {\n\t\tout.FieldByName(\"XXX_unrecognized\").SetBytes(append([]byte(nil), uin...))\n\t}\n}\n\n// mergeAny performs a merge between two values of the same type.\n// viaPtr indicates whether the values were indirected through a pointer (implying proto2).\n// prop is set if this is a struct field (it may be nil).\nfunc mergeAny(out, in reflect.Value, viaPtr bool, prop *Properties) {\n\tif in.Type() == protoMessageType {\n\t\tif !in.IsNil() {\n\t\t\tif out.IsNil() {\n\t\t\t\tout.Set(reflect.ValueOf(Clone(in.Interface().(Message))))\n\t\t\t} else {\n\t\t\t\tMerge(out.Interface().(Message), in.Interface().(Message))\n\t\t\t}\n\t\t}\n\t\treturn\n\t}\n\tswitch in.Kind() {\n\tcase reflect.Bool, reflect.Float32, reflect.Float64, reflect.Int32, reflect.Int64,\n\t\treflect.String, reflect.Uint32, reflect.Uint64:\n\t\tif !viaPtr && isProto3Zero(in) {\n\t\t\treturn\n\t\t}\n\t\tout.Set(in)\n\tcase reflect.Interface:\n\t\t// Probably a oneof field; copy non-nil values.\n\t\tif in.IsNil() {\n\t\t\treturn\n\t\t}\n\t\t// Allocate destination if it is not set, or set to a different type.\n\t\t// Otherwise we will merge as normal.\n\t\tif out.IsNil() || out.Elem().Type() != in.Elem().Type() {\n\t\t\tout.Set(reflect.New(in.Elem().Elem().Type())) // interface -> *T -> T -> new(T)\n\t\t}\n\t\tmergeAny(out.Elem(), in.Elem(), false, nil)\n\tcase reflect.Map:\n\t\tif in.Len() == 0 {\n\t\t\treturn\n\t\t}\n\t\tif out.IsNil() {\n\t\t\tout.Set(reflect.MakeMap(in.Type()))\n\t\t}\n\t\t// For maps with value types of *T or []byte we need to deep copy each value.\n\t\telemKind := in.Type().Elem().Kind()\n\t\tfor _, key := range in.MapKeys() {\n\t\t\tvar val reflect.Value\n\t\t\tswitch elemKind {\n\t\t\tcase reflect.Ptr:\n\t\t\t\tval = reflect.New(in.Type().Elem().Elem())\n\t\t\t\tmergeAny(val, in.MapIndex(key), false, nil)\n\t\t\tcase reflect.Slice:\n\t\t\t\tval = in.MapIndex(key)\n\t\t\t\tval = reflect.ValueOf(append([]byte{}, val.Bytes()...))\n\t\t\tdefault:\n\t\t\t\tval = in.MapIndex(key)\n\t\t\t}\n\t\t\tout.SetMapIndex(key, val)\n\t\t}\n\tcase reflect.Ptr:\n\t\tif in.IsNil() {\n\t\t\treturn\n\t\t}\n\t\tif out.IsNil() {\n\t\t\tout.Set(reflect.New(in.Elem().Type()))\n\t\t}\n\t\tmergeAny(out.Elem(), in.Elem(), true, nil)\n\tcase reflect.Slice:\n\t\tif in.IsNil() {\n\t\t\treturn\n\t\t}\n\t\tif in.Type().Elem().Kind() == reflect.Uint8 {\n\t\t\t// []byte is a scalar bytes field, not a repeated field.\n\n\t\t\t// Edge case: if this is in a proto3 message, a zero length\n\t\t\t// bytes field is considered the zero value, and should not\n\t\t\t// be merged.\n\t\t\tif prop != nil && prop.proto3 && in.Len() == 0 {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Make a deep copy.\n\t\t\t// Append to []byte{} instead of []byte(nil) so that we never end up\n\t\t\t// with a nil result.\n\t\t\tout.SetBytes(append([]byte{}, in.Bytes()...))\n\t\t\treturn\n\t\t}\n\t\tn := in.Len()\n\t\tif out.IsNil() {\n\t\t\tout.Set(reflect.MakeSlice(in.Type(), 0, n))\n\t\t}\n\t\tswitch in.Type().Elem().Kind() {\n\t\tcase reflect.Bool, reflect.Float32, reflect.Float64, reflect.Int32, reflect.Int64,\n\t\t\treflect.String, reflect.Uint32, reflect.Uint64:\n\t\t\tout.Set(reflect.AppendSlice(out, in))\n\t\tdefault:\n\t\t\tfor i := 0; i < n; i++ {\n\t\t\t\tx := reflect.Indirect(reflect.New(in.Type().Elem()))\n\t\t\t\tmergeAny(x, in.Index(i), false, nil)\n\t\t\t\tout.Set(reflect.Append(out, x))\n\t\t\t}\n\t\t}\n\tcase reflect.Struct:\n\t\tmergeStruct(out, in)\n\tdefault:\n\t\t// unknown type, so not a protocol buffer\n\t\tlog.Printf(\"proto: don't know how to copy %v\", in)\n\t}\n}\n\nfunc mergeExtension(out, in map[int32]Extension) {\n\tfor extNum, eIn := range in {\n\t\teOut := Extension{desc: eIn.desc}\n\t\tif eIn.value != nil {\n\t\t\tv := reflect.New(reflect.TypeOf(eIn.value)).Elem()\n\t\t\tmergeAny(v, reflect.ValueOf(eIn.value), false, nil)\n\t\t\teOut.value = v.Interface()\n\t\t}\n\t\tif eIn.enc != nil {\n\t\t\teOut.enc = make([]byte, len(eIn.enc))\n\t\t\tcopy(eOut.enc, eIn.enc)\n\t\t}\n\n\t\tout[extNum] = eOut\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/proto/decode.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\n/*\n * Routines for decoding protocol buffer data to construct in-memory representations.\n */\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n)\n\n// errOverflow is returned when an integer is too large to be represented.\nvar errOverflow = errors.New(\"proto: integer overflow\")\n\n// ErrInternalBadWireType is returned by generated code when an incorrect\n// wire type is encountered. It does not get returned to user code.\nvar ErrInternalBadWireType = errors.New(\"proto: internal error: bad wiretype for oneof\")\n\n// DecodeVarint reads a varint-encoded integer from the slice.\n// It returns the integer and the number of bytes consumed, or\n// zero if there is not enough.\n// This is the format for the\n// int32, int64, uint32, uint64, bool, and enum\n// protocol buffer types.\nfunc DecodeVarint(buf []byte) (x uint64, n int) {\n\tfor shift := uint(0); shift < 64; shift += 7 {\n\t\tif n >= len(buf) {\n\t\t\treturn 0, 0\n\t\t}\n\t\tb := uint64(buf[n])\n\t\tn++\n\t\tx |= (b & 0x7F) << shift\n\t\tif (b & 0x80) == 0 {\n\t\t\treturn x, n\n\t\t}\n\t}\n\n\t// The number is too large to represent in a 64-bit value.\n\treturn 0, 0\n}\n\nfunc (p *Buffer) decodeVarintSlow() (x uint64, err error) {\n\ti := p.index\n\tl := len(p.buf)\n\n\tfor shift := uint(0); shift < 64; shift += 7 {\n\t\tif i >= l {\n\t\t\terr = io.ErrUnexpectedEOF\n\t\t\treturn\n\t\t}\n\t\tb := p.buf[i]\n\t\ti++\n\t\tx |= (uint64(b) & 0x7F) << shift\n\t\tif b < 0x80 {\n\t\t\tp.index = i\n\t\t\treturn\n\t\t}\n\t}\n\n\t// The number is too large to represent in a 64-bit value.\n\terr = errOverflow\n\treturn\n}\n\n// DecodeVarint reads a varint-encoded integer from the Buffer.\n// This is the format for the\n// int32, int64, uint32, uint64, bool, and enum\n// protocol buffer types.\nfunc (p *Buffer) DecodeVarint() (x uint64, err error) {\n\ti := p.index\n\tbuf := p.buf\n\n\tif i >= len(buf) {\n\t\treturn 0, io.ErrUnexpectedEOF\n\t} else if buf[i] < 0x80 {\n\t\tp.index++\n\t\treturn uint64(buf[i]), nil\n\t} else if len(buf)-i < 10 {\n\t\treturn p.decodeVarintSlow()\n\t}\n\n\tvar b uint64\n\t// we already checked the first byte\n\tx = uint64(buf[i]) - 0x80\n\ti++\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 7\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\tx -= 0x80 << 7\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 14\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\tx -= 0x80 << 14\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 21\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\tx -= 0x80 << 21\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 28\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\tx -= 0x80 << 28\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 35\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\tx -= 0x80 << 35\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 42\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\tx -= 0x80 << 42\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 49\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\tx -= 0x80 << 49\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 56\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\tx -= 0x80 << 56\n\n\tb = uint64(buf[i])\n\ti++\n\tx += b << 63\n\tif b&0x80 == 0 {\n\t\tgoto done\n\t}\n\t// x -= 0x80 << 63 // Always zero.\n\n\treturn 0, errOverflow\n\ndone:\n\tp.index = i\n\treturn x, nil\n}\n\n// DecodeFixed64 reads a 64-bit integer from the Buffer.\n// This is the format for the\n// fixed64, sfixed64, and double protocol buffer types.\nfunc (p *Buffer) DecodeFixed64() (x uint64, err error) {\n\t// x, err already 0\n\ti := p.index + 8\n\tif i < 0 || i > len(p.buf) {\n\t\terr = io.ErrUnexpectedEOF\n\t\treturn\n\t}\n\tp.index = i\n\n\tx = uint64(p.buf[i-8])\n\tx |= uint64(p.buf[i-7]) << 8\n\tx |= uint64(p.buf[i-6]) << 16\n\tx |= uint64(p.buf[i-5]) << 24\n\tx |= uint64(p.buf[i-4]) << 32\n\tx |= uint64(p.buf[i-3]) << 40\n\tx |= uint64(p.buf[i-2]) << 48\n\tx |= uint64(p.buf[i-1]) << 56\n\treturn\n}\n\n// DecodeFixed32 reads a 32-bit integer from the Buffer.\n// This is the format for the\n// fixed32, sfixed32, and float protocol buffer types.\nfunc (p *Buffer) DecodeFixed32() (x uint64, err error) {\n\t// x, err already 0\n\ti := p.index + 4\n\tif i < 0 || i > len(p.buf) {\n\t\terr = io.ErrUnexpectedEOF\n\t\treturn\n\t}\n\tp.index = i\n\n\tx = uint64(p.buf[i-4])\n\tx |= uint64(p.buf[i-3]) << 8\n\tx |= uint64(p.buf[i-2]) << 16\n\tx |= uint64(p.buf[i-1]) << 24\n\treturn\n}\n\n// DecodeZigzag64 reads a zigzag-encoded 64-bit integer\n// from the Buffer.\n// This is the format used for the sint64 protocol buffer type.\nfunc (p *Buffer) DecodeZigzag64() (x uint64, err error) {\n\tx, err = p.DecodeVarint()\n\tif err != nil {\n\t\treturn\n\t}\n\tx = (x >> 1) ^ uint64((int64(x&1)<<63)>>63)\n\treturn\n}\n\n// DecodeZigzag32 reads a zigzag-encoded 32-bit integer\n// from  the Buffer.\n// This is the format used for the sint32 protocol buffer type.\nfunc (p *Buffer) DecodeZigzag32() (x uint64, err error) {\n\tx, err = p.DecodeVarint()\n\tif err != nil {\n\t\treturn\n\t}\n\tx = uint64((uint32(x) >> 1) ^ uint32((int32(x&1)<<31)>>31))\n\treturn\n}\n\n// DecodeRawBytes reads a count-delimited byte buffer from the Buffer.\n// This is the format used for the bytes protocol buffer\n// type and for embedded messages.\nfunc (p *Buffer) DecodeRawBytes(alloc bool) (buf []byte, err error) {\n\tn, err := p.DecodeVarint()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tnb := int(n)\n\tif nb < 0 {\n\t\treturn nil, fmt.Errorf(\"proto: bad byte length %d\", nb)\n\t}\n\tend := p.index + nb\n\tif end < p.index || end > len(p.buf) {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\n\tif !alloc {\n\t\t// todo: check if can get more uses of alloc=false\n\t\tbuf = p.buf[p.index:end]\n\t\tp.index += nb\n\t\treturn\n\t}\n\n\tbuf = make([]byte, nb)\n\tcopy(buf, p.buf[p.index:])\n\tp.index += nb\n\treturn\n}\n\n// DecodeStringBytes reads an encoded string from the Buffer.\n// This is the format used for the proto2 string type.\nfunc (p *Buffer) DecodeStringBytes() (s string, err error) {\n\tbuf, err := p.DecodeRawBytes(false)\n\tif err != nil {\n\t\treturn\n\t}\n\treturn string(buf), nil\n}\n\n// Unmarshaler is the interface representing objects that can\n// unmarshal themselves.  The argument points to data that may be\n// overwritten, so implementations should not keep references to the\n// buffer.\n// Unmarshal implementations should not clear the receiver.\n// Any unmarshaled data should be merged into the receiver.\n// Callers of Unmarshal that do not want to retain existing data\n// should Reset the receiver before calling Unmarshal.\ntype Unmarshaler interface {\n\tUnmarshal([]byte) error\n}\n\n// newUnmarshaler is the interface representing objects that can\n// unmarshal themselves. The semantics are identical to Unmarshaler.\n//\n// This exists to support protoc-gen-go generated messages.\n// The proto package will stop type-asserting to this interface in the future.\n//\n// DO NOT DEPEND ON THIS.\ntype newUnmarshaler interface {\n\tXXX_Unmarshal([]byte) error\n}\n\n// Unmarshal parses the protocol buffer representation in buf and places the\n// decoded result in pb.  If the struct underlying pb does not match\n// the data in buf, the results can be unpredictable.\n//\n// Unmarshal resets pb before starting to unmarshal, so any\n// existing data in pb is always removed. Use UnmarshalMerge\n// to preserve and append to existing data.\nfunc Unmarshal(buf []byte, pb Message) error {\n\tpb.Reset()\n\tif u, ok := pb.(newUnmarshaler); ok {\n\t\treturn u.XXX_Unmarshal(buf)\n\t}\n\tif u, ok := pb.(Unmarshaler); ok {\n\t\treturn u.Unmarshal(buf)\n\t}\n\treturn NewBuffer(buf).Unmarshal(pb)\n}\n\n// UnmarshalMerge parses the protocol buffer representation in buf and\n// writes the decoded result to pb.  If the struct underlying pb does not match\n// the data in buf, the results can be unpredictable.\n//\n// UnmarshalMerge merges into existing data in pb.\n// Most code should use Unmarshal instead.\nfunc UnmarshalMerge(buf []byte, pb Message) error {\n\tif u, ok := pb.(newUnmarshaler); ok {\n\t\treturn u.XXX_Unmarshal(buf)\n\t}\n\tif u, ok := pb.(Unmarshaler); ok {\n\t\t// NOTE: The history of proto have unfortunately been inconsistent\n\t\t// whether Unmarshaler should or should not implicitly clear itself.\n\t\t// Some implementations do, most do not.\n\t\t// Thus, calling this here may or may not do what people want.\n\t\t//\n\t\t// See https://github.com/golang/protobuf/issues/424\n\t\treturn u.Unmarshal(buf)\n\t}\n\treturn NewBuffer(buf).Unmarshal(pb)\n}\n\n// DecodeMessage reads a count-delimited message from the Buffer.\nfunc (p *Buffer) DecodeMessage(pb Message) error {\n\tenc, err := p.DecodeRawBytes(false)\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn NewBuffer(enc).Unmarshal(pb)\n}\n\n// DecodeGroup reads a tag-delimited group from the Buffer.\n// StartGroup tag is already consumed. This function consumes\n// EndGroup tag.\nfunc (p *Buffer) DecodeGroup(pb Message) error {\n\tb := p.buf[p.index:]\n\tx, y := findEndGroup(b)\n\tif x < 0 {\n\t\treturn io.ErrUnexpectedEOF\n\t}\n\terr := Unmarshal(b[:x], pb)\n\tp.index += y\n\treturn err\n}\n\n// Unmarshal parses the protocol buffer representation in the\n// Buffer and places the decoded result in pb.  If the struct\n// underlying pb does not match the data in the buffer, the results can be\n// unpredictable.\n//\n// Unlike proto.Unmarshal, this does not reset pb before starting to unmarshal.\nfunc (p *Buffer) Unmarshal(pb Message) error {\n\t// If the object can unmarshal itself, let it.\n\tif u, ok := pb.(newUnmarshaler); ok {\n\t\terr := u.XXX_Unmarshal(p.buf[p.index:])\n\t\tp.index = len(p.buf)\n\t\treturn err\n\t}\n\tif u, ok := pb.(Unmarshaler); ok {\n\t\t// NOTE: The history of proto have unfortunately been inconsistent\n\t\t// whether Unmarshaler should or should not implicitly clear itself.\n\t\t// Some implementations do, most do not.\n\t\t// Thus, calling this here may or may not do what people want.\n\t\t//\n\t\t// See https://github.com/golang/protobuf/issues/424\n\t\terr := u.Unmarshal(p.buf[p.index:])\n\t\tp.index = len(p.buf)\n\t\treturn err\n\t}\n\n\t// Slow workaround for messages that aren't Unmarshalers.\n\t// This includes some hand-coded .pb.go files and\n\t// bootstrap protos.\n\t// TODO: fix all of those and then add Unmarshal to\n\t// the Message interface. Then:\n\t// The cast above and code below can be deleted.\n\t// The old unmarshaler can be deleted.\n\t// Clients can call Unmarshal directly (can already do that, actually).\n\tvar info InternalMessageInfo\n\terr := info.Unmarshal(pb, p.buf[p.index:])\n\tp.index = len(p.buf)\n\treturn err\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/proto/discard.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2017 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\nimport (\n\t\"fmt\"\n\t\"reflect\"\n\t\"strings\"\n\t\"sync\"\n\t\"sync/atomic\"\n)\n\ntype generatedDiscarder interface {\n\tXXX_DiscardUnknown()\n}\n\n// DiscardUnknown recursively discards all unknown fields from this message\n// and all embedded messages.\n//\n// When unmarshaling a message with unrecognized fields, the tags and values\n// of such fields are preserved in the Message. This allows a later call to\n// marshal to be able to produce a message that continues to have those\n// unrecognized fields. To avoid this, DiscardUnknown is used to\n// explicitly clear the unknown fields after unmarshaling.\n//\n// For proto2 messages, the unknown fields of message extensions are only\n// discarded from messages that have been accessed via GetExtension.\nfunc DiscardUnknown(m Message) {\n\tif m, ok := m.(generatedDiscarder); ok {\n\t\tm.XXX_DiscardUnknown()\n\t\treturn\n\t}\n\t// TODO: Dynamically populate a InternalMessageInfo for legacy messages,\n\t// but the master branch has no implementation for InternalMessageInfo,\n\t// so it would be more work to replicate that approach.\n\tdiscardLegacy(m)\n}\n\n// DiscardUnknown recursively discards all unknown fields.\nfunc (a *InternalMessageInfo) DiscardUnknown(m Message) {\n\tdi := atomicLoadDiscardInfo(&a.discard)\n\tif di == nil {\n\t\tdi = getDiscardInfo(reflect.TypeOf(m).Elem())\n\t\tatomicStoreDiscardInfo(&a.discard, di)\n\t}\n\tdi.discard(toPointer(&m))\n}\n\ntype discardInfo struct {\n\ttyp reflect.Type\n\n\tinitialized int32 // 0: only typ is valid, 1: everything is valid\n\tlock        sync.Mutex\n\n\tfields       []discardFieldInfo\n\tunrecognized field\n}\n\ntype discardFieldInfo struct {\n\tfield   field // Offset of field, guaranteed to be valid\n\tdiscard func(src pointer)\n}\n\nvar (\n\tdiscardInfoMap  = map[reflect.Type]*discardInfo{}\n\tdiscardInfoLock sync.Mutex\n)\n\nfunc getDiscardInfo(t reflect.Type) *discardInfo {\n\tdiscardInfoLock.Lock()\n\tdefer discardInfoLock.Unlock()\n\tdi := discardInfoMap[t]\n\tif di == nil {\n\t\tdi = &discardInfo{typ: t}\n\t\tdiscardInfoMap[t] = di\n\t}\n\treturn di\n}\n\nfunc (di *discardInfo) discard(src pointer) {\n\tif src.isNil() {\n\t\treturn // Nothing to do.\n\t}\n\n\tif atomic.LoadInt32(&di.initialized) == 0 {\n\t\tdi.computeDiscardInfo()\n\t}\n\n\tfor _, fi := range di.fields {\n\t\tsfp := src.offset(fi.field)\n\t\tfi.discard(sfp)\n\t}\n\n\t// For proto2 messages, only discard unknown fields in message extensions\n\t// that have been accessed via GetExtension.\n\tif em, err := extendable(src.asPointerTo(di.typ).Interface()); err == nil {\n\t\t// Ignore lock since DiscardUnknown is not concurrency safe.\n\t\temm, _ := em.extensionsRead()\n\t\tfor _, mx := range emm {\n\t\t\tif m, ok := mx.value.(Message); ok {\n\t\t\t\tDiscardUnknown(m)\n\t\t\t}\n\t\t}\n\t}\n\n\tif di.unrecognized.IsValid() {\n\t\t*src.offset(di.unrecognized).toBytes() = nil\n\t}\n}\n\nfunc (di *discardInfo) computeDiscardInfo() {\n\tdi.lock.Lock()\n\tdefer di.lock.Unlock()\n\tif di.initialized != 0 {\n\t\treturn\n\t}\n\tt := di.typ\n\tn := t.NumField()\n\n\tfor i := 0; i < n; i++ {\n\t\tf := t.Field(i)\n\t\tif strings.HasPrefix(f.Name, \"XXX_\") {\n\t\t\tcontinue\n\t\t}\n\n\t\tdfi := discardFieldInfo{field: toField(&f)}\n\t\ttf := f.Type\n\n\t\t// Unwrap tf to get its most basic type.\n\t\tvar isPointer, isSlice bool\n\t\tif tf.Kind() == reflect.Slice && tf.Elem().Kind() != reflect.Uint8 {\n\t\t\tisSlice = true\n\t\t\ttf = tf.Elem()\n\t\t}\n\t\tif tf.Kind() == reflect.Ptr {\n\t\t\tisPointer = true\n\t\t\ttf = tf.Elem()\n\t\t}\n\t\tif isPointer && isSlice && tf.Kind() != reflect.Struct {\n\t\t\tpanic(fmt.Sprintf(\"%v.%s cannot be a slice of pointers to primitive types\", t, f.Name))\n\t\t}\n\n\t\tswitch tf.Kind() {\n\t\tcase reflect.Struct:\n\t\t\tswitch {\n\t\t\tcase !isPointer:\n\t\t\t\tpanic(fmt.Sprintf(\"%v.%s cannot be a direct struct value\", t, f.Name))\n\t\t\tcase isSlice: // E.g., []*pb.T\n\t\t\t\tdi := getDiscardInfo(tf)\n\t\t\t\tdfi.discard = func(src pointer) {\n\t\t\t\t\tsps := src.getPointerSlice()\n\t\t\t\t\tfor _, sp := range sps {\n\t\t\t\t\t\tif !sp.isNil() {\n\t\t\t\t\t\t\tdi.discard(sp)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tdefault: // E.g., *pb.T\n\t\t\t\tdi := getDiscardInfo(tf)\n\t\t\t\tdfi.discard = func(src pointer) {\n\t\t\t\t\tsp := src.getPointer()\n\t\t\t\t\tif !sp.isNil() {\n\t\t\t\t\t\tdi.discard(sp)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\tcase reflect.Map:\n\t\t\tswitch {\n\t\t\tcase isPointer || isSlice:\n\t\t\t\tpanic(fmt.Sprintf(\"%v.%s cannot be a pointer to a map or a slice of map values\", t, f.Name))\n\t\t\tdefault: // E.g., map[K]V\n\t\t\t\tif tf.Elem().Kind() == reflect.Ptr { // Proto struct (e.g., *T)\n\t\t\t\t\tdfi.discard = func(src pointer) {\n\t\t\t\t\t\tsm := src.asPointerTo(tf).Elem()\n\t\t\t\t\t\tif sm.Len() == 0 {\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfor _, key := range sm.MapKeys() {\n\t\t\t\t\t\t\tval := sm.MapIndex(key)\n\t\t\t\t\t\t\tDiscardUnknown(val.Interface().(Message))\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tdfi.discard = func(pointer) {} // Noop\n\t\t\t\t}\n\t\t\t}\n\t\tcase reflect.Interface:\n\t\t\t// Must be oneof field.\n\t\t\tswitch {\n\t\t\tcase isPointer || isSlice:\n\t\t\t\tpanic(fmt.Sprintf(\"%v.%s cannot be a pointer to a interface or a slice of interface values\", t, f.Name))\n\t\t\tdefault: // E.g., interface{}\n\t\t\t\t// TODO: Make this faster?\n\t\t\t\tdfi.discard = func(src pointer) {\n\t\t\t\t\tsu := src.asPointerTo(tf).Elem()\n\t\t\t\t\tif !su.IsNil() {\n\t\t\t\t\t\tsv := su.Elem().Elem().Field(0)\n\t\t\t\t\t\tif sv.Kind() == reflect.Ptr && sv.IsNil() {\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\t\t\t\t\t\tswitch sv.Type().Kind() {\n\t\t\t\t\t\tcase reflect.Ptr: // Proto struct (e.g., *T)\n\t\t\t\t\t\t\tDiscardUnknown(sv.Interface().(Message))\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tcontinue\n\t\t}\n\t\tdi.fields = append(di.fields, dfi)\n\t}\n\n\tdi.unrecognized = invalidField\n\tif f, ok := t.FieldByName(\"XXX_unrecognized\"); ok {\n\t\tif f.Type != reflect.TypeOf([]byte{}) {\n\t\t\tpanic(\"expected XXX_unrecognized to be of type []byte\")\n\t\t}\n\t\tdi.unrecognized = toField(&f)\n\t}\n\n\tatomic.StoreInt32(&di.initialized, 1)\n}\n\nfunc discardLegacy(m Message) {\n\tv := reflect.ValueOf(m)\n\tif v.Kind() != reflect.Ptr || v.IsNil() {\n\t\treturn\n\t}\n\tv = v.Elem()\n\tif v.Kind() != reflect.Struct {\n\t\treturn\n\t}\n\tt := v.Type()\n\n\tfor i := 0; i < v.NumField(); i++ {\n\t\tf := t.Field(i)\n\t\tif strings.HasPrefix(f.Name, \"XXX_\") {\n\t\t\tcontinue\n\t\t}\n\t\tvf := v.Field(i)\n\t\ttf := f.Type\n\n\t\t// Unwrap tf to get its most basic type.\n\t\tvar isPointer, isSlice bool\n\t\tif tf.Kind() == reflect.Slice && tf.Elem().Kind() != reflect.Uint8 {\n\t\t\tisSlice = true\n\t\t\ttf = tf.Elem()\n\t\t}\n\t\tif tf.Kind() == reflect.Ptr {\n\t\t\tisPointer = true\n\t\t\ttf = tf.Elem()\n\t\t}\n\t\tif isPointer && isSlice && tf.Kind() != reflect.Struct {\n\t\t\tpanic(fmt.Sprintf(\"%T.%s cannot be a slice of pointers to primitive types\", m, f.Name))\n\t\t}\n\n\t\tswitch tf.Kind() {\n\t\tcase reflect.Struct:\n\t\t\tswitch {\n\t\t\tcase !isPointer:\n\t\t\t\tpanic(fmt.Sprintf(\"%T.%s cannot be a direct struct value\", m, f.Name))\n\t\t\tcase isSlice: // E.g., []*pb.T\n\t\t\t\tfor j := 0; j < vf.Len(); j++ {\n\t\t\t\t\tdiscardLegacy(vf.Index(j).Interface().(Message))\n\t\t\t\t}\n\t\t\tdefault: // E.g., *pb.T\n\t\t\t\tdiscardLegacy(vf.Interface().(Message))\n\t\t\t}\n\t\tcase reflect.Map:\n\t\t\tswitch {\n\t\t\tcase isPointer || isSlice:\n\t\t\t\tpanic(fmt.Sprintf(\"%T.%s cannot be a pointer to a map or a slice of map values\", m, f.Name))\n\t\t\tdefault: // E.g., map[K]V\n\t\t\t\ttv := vf.Type().Elem()\n\t\t\t\tif tv.Kind() == reflect.Ptr && tv.Implements(protoMessageType) { // Proto struct (e.g., *T)\n\t\t\t\t\tfor _, key := range vf.MapKeys() {\n\t\t\t\t\t\tval := vf.MapIndex(key)\n\t\t\t\t\t\tdiscardLegacy(val.Interface().(Message))\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\tcase reflect.Interface:\n\t\t\t// Must be oneof field.\n\t\t\tswitch {\n\t\t\tcase isPointer || isSlice:\n\t\t\t\tpanic(fmt.Sprintf(\"%T.%s cannot be a pointer to a interface or a slice of interface values\", m, f.Name))\n\t\t\tdefault: // E.g., test_proto.isCommunique_Union interface\n\t\t\t\tif !vf.IsNil() && f.Tag.Get(\"protobuf_oneof\") != \"\" {\n\t\t\t\t\tvf = vf.Elem() // E.g., *test_proto.Communique_Msg\n\t\t\t\t\tif !vf.IsNil() {\n\t\t\t\t\t\tvf = vf.Elem()   // E.g., test_proto.Communique_Msg\n\t\t\t\t\t\tvf = vf.Field(0) // E.g., Proto struct (e.g., *T) or primitive value\n\t\t\t\t\t\tif vf.Kind() == reflect.Ptr {\n\t\t\t\t\t\t\tdiscardLegacy(vf.Interface().(Message))\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif vf := v.FieldByName(\"XXX_unrecognized\"); vf.IsValid() {\n\t\tif vf.Type() != reflect.TypeOf([]byte{}) {\n\t\t\tpanic(\"expected XXX_unrecognized to be of type []byte\")\n\t\t}\n\t\tvf.Set(reflect.ValueOf([]byte(nil)))\n\t}\n\n\t// For proto2 messages, only discard unknown fields in message extensions\n\t// that have been accessed via GetExtension.\n\tif em, err := extendable(m); err == nil {\n\t\t// Ignore lock since discardLegacy is not concurrency safe.\n\t\temm, _ := em.extensionsRead()\n\t\tfor _, mx := range emm {\n\t\t\tif m, ok := mx.value.(Message); ok {\n\t\t\t\tdiscardLegacy(m)\n\t\t\t}\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/proto/encode.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\n/*\n * Routines for encoding data into the wire format for protocol buffers.\n */\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"reflect\"\n)\n\n// RequiredNotSetError is the error returned if Marshal is called with\n// a protocol buffer struct whose required fields have not\n// all been initialized. It is also the error returned if Unmarshal is\n// called with an encoded protocol buffer that does not include all the\n// required fields.\n//\n// When printed, RequiredNotSetError reports the first unset required field in a\n// message. If the field cannot be precisely determined, it is reported as\n// \"{Unknown}\".\ntype RequiredNotSetError struct {\n\tfield string\n}\n\nfunc (e *RequiredNotSetError) Error() string {\n\treturn fmt.Sprintf(\"proto: required field %q not set\", e.field)\n}\n\nvar (\n\t// errRepeatedHasNil is the error returned if Marshal is called with\n\t// a struct with a repeated field containing a nil element.\n\terrRepeatedHasNil = errors.New(\"proto: repeated field has nil element\")\n\n\t// errOneofHasNil is the error returned if Marshal is called with\n\t// a struct with a oneof field containing a nil element.\n\terrOneofHasNil = errors.New(\"proto: oneof field has nil value\")\n\n\t// ErrNil is the error returned if Marshal is called with nil.\n\tErrNil = errors.New(\"proto: Marshal called with nil\")\n\n\t// ErrTooLarge is the error returned if Marshal is called with a\n\t// message that encodes to >2GB.\n\tErrTooLarge = errors.New(\"proto: message encodes to over 2 GB\")\n)\n\n// The fundamental encoders that put bytes on the wire.\n// Those that take integer types all accept uint64 and are\n// therefore of type valueEncoder.\n\nconst maxVarintBytes = 10 // maximum length of a varint\n\n// EncodeVarint returns the varint encoding of x.\n// This is the format for the\n// int32, int64, uint32, uint64, bool, and enum\n// protocol buffer types.\n// Not used by the package itself, but helpful to clients\n// wishing to use the same encoding.\nfunc EncodeVarint(x uint64) []byte {\n\tvar buf [maxVarintBytes]byte\n\tvar n int\n\tfor n = 0; x > 127; n++ {\n\t\tbuf[n] = 0x80 | uint8(x&0x7F)\n\t\tx >>= 7\n\t}\n\tbuf[n] = uint8(x)\n\tn++\n\treturn buf[0:n]\n}\n\n// EncodeVarint writes a varint-encoded integer to the Buffer.\n// This is the format for the\n// int32, int64, uint32, uint64, bool, and enum\n// protocol buffer types.\nfunc (p *Buffer) EncodeVarint(x uint64) error {\n\tfor x >= 1<<7 {\n\t\tp.buf = append(p.buf, uint8(x&0x7f|0x80))\n\t\tx >>= 7\n\t}\n\tp.buf = append(p.buf, uint8(x))\n\treturn nil\n}\n\n// SizeVarint returns the varint encoding size of an integer.\nfunc SizeVarint(x uint64) int {\n\tswitch {\n\tcase x < 1<<7:\n\t\treturn 1\n\tcase x < 1<<14:\n\t\treturn 2\n\tcase x < 1<<21:\n\t\treturn 3\n\tcase x < 1<<28:\n\t\treturn 4\n\tcase x < 1<<35:\n\t\treturn 5\n\tcase x < 1<<42:\n\t\treturn 6\n\tcase x < 1<<49:\n\t\treturn 7\n\tcase x < 1<<56:\n\t\treturn 8\n\tcase x < 1<<63:\n\t\treturn 9\n\t}\n\treturn 10\n}\n\n// EncodeFixed64 writes a 64-bit integer to the Buffer.\n// This is the format for the\n// fixed64, sfixed64, and double protocol buffer types.\nfunc (p *Buffer) EncodeFixed64(x uint64) error {\n\tp.buf = append(p.buf,\n\t\tuint8(x),\n\t\tuint8(x>>8),\n\t\tuint8(x>>16),\n\t\tuint8(x>>24),\n\t\tuint8(x>>32),\n\t\tuint8(x>>40),\n\t\tuint8(x>>48),\n\t\tuint8(x>>56))\n\treturn nil\n}\n\n// EncodeFixed32 writes a 32-bit integer to the Buffer.\n// This is the format for the\n// fixed32, sfixed32, and float protocol buffer types.\nfunc (p *Buffer) EncodeFixed32(x uint64) error {\n\tp.buf = append(p.buf,\n\t\tuint8(x),\n\t\tuint8(x>>8),\n\t\tuint8(x>>16),\n\t\tuint8(x>>24))\n\treturn nil\n}\n\n// EncodeZigzag64 writes a zigzag-encoded 64-bit integer\n// to the Buffer.\n// This is the format used for the sint64 protocol buffer type.\nfunc (p *Buffer) EncodeZigzag64(x uint64) error {\n\t// use signed number to get arithmetic right shift.\n\treturn p.EncodeVarint(uint64((x << 1) ^ uint64((int64(x) >> 63))))\n}\n\n// EncodeZigzag32 writes a zigzag-encoded 32-bit integer\n// to the Buffer.\n// This is the format used for the sint32 protocol buffer type.\nfunc (p *Buffer) EncodeZigzag32(x uint64) error {\n\t// use signed number to get arithmetic right shift.\n\treturn p.EncodeVarint(uint64((uint32(x) << 1) ^ uint32((int32(x) >> 31))))\n}\n\n// EncodeRawBytes writes a count-delimited byte buffer to the Buffer.\n// This is the format used for the bytes protocol buffer\n// type and for embedded messages.\nfunc (p *Buffer) EncodeRawBytes(b []byte) error {\n\tp.EncodeVarint(uint64(len(b)))\n\tp.buf = append(p.buf, b...)\n\treturn nil\n}\n\n// EncodeStringBytes writes an encoded string to the Buffer.\n// This is the format used for the proto2 string type.\nfunc (p *Buffer) EncodeStringBytes(s string) error {\n\tp.EncodeVarint(uint64(len(s)))\n\tp.buf = append(p.buf, s...)\n\treturn nil\n}\n\n// Marshaler is the interface representing objects that can marshal themselves.\ntype Marshaler interface {\n\tMarshal() ([]byte, error)\n}\n\n// EncodeMessage writes the protocol buffer to the Buffer,\n// prefixed by a varint-encoded length.\nfunc (p *Buffer) EncodeMessage(pb Message) error {\n\tsiz := Size(pb)\n\tp.EncodeVarint(uint64(siz))\n\treturn p.Marshal(pb)\n}\n\n// All protocol buffer fields are nillable, but be careful.\nfunc isNil(v reflect.Value) bool {\n\tswitch v.Kind() {\n\tcase reflect.Interface, reflect.Map, reflect.Ptr, reflect.Slice:\n\t\treturn v.IsNil()\n\t}\n\treturn false\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/proto/equal.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2011 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n// Protocol buffer comparison.\n\npackage proto\n\nimport (\n\t\"bytes\"\n\t\"log\"\n\t\"reflect\"\n\t\"strings\"\n)\n\n/*\nEqual returns true iff protocol buffers a and b are equal.\nThe arguments must both be pointers to protocol buffer structs.\n\nEquality is defined in this way:\n  - Two messages are equal iff they are the same type,\n    corresponding fields are equal, unknown field sets\n    are equal, and extensions sets are equal.\n  - Two set scalar fields are equal iff their values are equal.\n    If the fields are of a floating-point type, remember that\n    NaN != x for all x, including NaN. If the message is defined\n    in a proto3 .proto file, fields are not \"set\"; specifically,\n    zero length proto3 \"bytes\" fields are equal (nil == {}).\n  - Two repeated fields are equal iff their lengths are the same,\n    and their corresponding elements are equal. Note a \"bytes\" field,\n    although represented by []byte, is not a repeated field and the\n    rule for the scalar fields described above applies.\n  - Two unset fields are equal.\n  - Two unknown field sets are equal if their current\n    encoded state is equal.\n  - Two extension sets are equal iff they have corresponding\n    elements that are pairwise equal.\n  - Two map fields are equal iff their lengths are the same,\n    and they contain the same set of elements. Zero-length map\n    fields are equal.\n  - Every other combination of things are not equal.\n\nThe return value is undefined if a and b are not protocol buffers.\n*/\nfunc Equal(a, b Message) bool {\n\tif a == nil || b == nil {\n\t\treturn a == b\n\t}\n\tv1, v2 := reflect.ValueOf(a), reflect.ValueOf(b)\n\tif v1.Type() != v2.Type() {\n\t\treturn false\n\t}\n\tif v1.Kind() == reflect.Ptr {\n\t\tif v1.IsNil() {\n\t\t\treturn v2.IsNil()\n\t\t}\n\t\tif v2.IsNil() {\n\t\t\treturn false\n\t\t}\n\t\tv1, v2 = v1.Elem(), v2.Elem()\n\t}\n\tif v1.Kind() != reflect.Struct {\n\t\treturn false\n\t}\n\treturn equalStruct(v1, v2)\n}\n\n// v1 and v2 are known to have the same type.\nfunc equalStruct(v1, v2 reflect.Value) bool {\n\tsprop := GetProperties(v1.Type())\n\tfor i := 0; i < v1.NumField(); i++ {\n\t\tf := v1.Type().Field(i)\n\t\tif strings.HasPrefix(f.Name, \"XXX_\") {\n\t\t\tcontinue\n\t\t}\n\t\tf1, f2 := v1.Field(i), v2.Field(i)\n\t\tif f.Type.Kind() == reflect.Ptr {\n\t\t\tif n1, n2 := f1.IsNil(), f2.IsNil(); n1 && n2 {\n\t\t\t\t// both unset\n\t\t\t\tcontinue\n\t\t\t} else if n1 != n2 {\n\t\t\t\t// set/unset mismatch\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tf1, f2 = f1.Elem(), f2.Elem()\n\t\t}\n\t\tif !equalAny(f1, f2, sprop.Prop[i]) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\tif em1 := v1.FieldByName(\"XXX_InternalExtensions\"); em1.IsValid() {\n\t\tem2 := v2.FieldByName(\"XXX_InternalExtensions\")\n\t\tif !equalExtensions(v1.Type(), em1.Interface().(XXX_InternalExtensions), em2.Interface().(XXX_InternalExtensions)) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\tif em1 := v1.FieldByName(\"XXX_extensions\"); em1.IsValid() {\n\t\tem2 := v2.FieldByName(\"XXX_extensions\")\n\t\tif !equalExtMap(v1.Type(), em1.Interface().(map[int32]Extension), em2.Interface().(map[int32]Extension)) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\tuf := v1.FieldByName(\"XXX_unrecognized\")\n\tif !uf.IsValid() {\n\t\treturn true\n\t}\n\n\tu1 := uf.Bytes()\n\tu2 := v2.FieldByName(\"XXX_unrecognized\").Bytes()\n\treturn bytes.Equal(u1, u2)\n}\n\n// v1 and v2 are known to have the same type.\n// prop may be nil.\nfunc equalAny(v1, v2 reflect.Value, prop *Properties) bool {\n\tif v1.Type() == protoMessageType {\n\t\tm1, _ := v1.Interface().(Message)\n\t\tm2, _ := v2.Interface().(Message)\n\t\treturn Equal(m1, m2)\n\t}\n\tswitch v1.Kind() {\n\tcase reflect.Bool:\n\t\treturn v1.Bool() == v2.Bool()\n\tcase reflect.Float32, reflect.Float64:\n\t\treturn v1.Float() == v2.Float()\n\tcase reflect.Int32, reflect.Int64:\n\t\treturn v1.Int() == v2.Int()\n\tcase reflect.Interface:\n\t\t// Probably a oneof field; compare the inner values.\n\t\tn1, n2 := v1.IsNil(), v2.IsNil()\n\t\tif n1 || n2 {\n\t\t\treturn n1 == n2\n\t\t}\n\t\te1, e2 := v1.Elem(), v2.Elem()\n\t\tif e1.Type() != e2.Type() {\n\t\t\treturn false\n\t\t}\n\t\treturn equalAny(e1, e2, nil)\n\tcase reflect.Map:\n\t\tif v1.Len() != v2.Len() {\n\t\t\treturn false\n\t\t}\n\t\tfor _, key := range v1.MapKeys() {\n\t\t\tval2 := v2.MapIndex(key)\n\t\t\tif !val2.IsValid() {\n\t\t\t\t// This key was not found in the second map.\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif !equalAny(v1.MapIndex(key), val2, nil) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t\treturn true\n\tcase reflect.Ptr:\n\t\t// Maps may have nil values in them, so check for nil.\n\t\tif v1.IsNil() && v2.IsNil() {\n\t\t\treturn true\n\t\t}\n\t\tif v1.IsNil() != v2.IsNil() {\n\t\t\treturn false\n\t\t}\n\t\treturn equalAny(v1.Elem(), v2.Elem(), prop)\n\tcase reflect.Slice:\n\t\tif v1.Type().Elem().Kind() == reflect.Uint8 {\n\t\t\t// short circuit: []byte\n\n\t\t\t// Edge case: if this is in a proto3 message, a zero length\n\t\t\t// bytes field is considered the zero value.\n\t\t\tif prop != nil && prop.proto3 && v1.Len() == 0 && v2.Len() == 0 {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\tif v1.IsNil() != v2.IsNil() {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn bytes.Equal(v1.Interface().([]byte), v2.Interface().([]byte))\n\t\t}\n\n\t\tif v1.Len() != v2.Len() {\n\t\t\treturn false\n\t\t}\n\t\tfor i := 0; i < v1.Len(); i++ {\n\t\t\tif !equalAny(v1.Index(i), v2.Index(i), prop) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t\treturn true\n\tcase reflect.String:\n\t\treturn v1.Interface().(string) == v2.Interface().(string)\n\tcase reflect.Struct:\n\t\treturn equalStruct(v1, v2)\n\tcase reflect.Uint32, reflect.Uint64:\n\t\treturn v1.Uint() == v2.Uint()\n\t}\n\n\t// unknown type, so not a protocol buffer\n\tlog.Printf(\"proto: don't know how to compare %v\", v1)\n\treturn false\n}\n\n// base is the struct type that the extensions are based on.\n// x1 and x2 are InternalExtensions.\nfunc equalExtensions(base reflect.Type, x1, x2 XXX_InternalExtensions) bool {\n\tem1, _ := x1.extensionsRead()\n\tem2, _ := x2.extensionsRead()\n\treturn equalExtMap(base, em1, em2)\n}\n\nfunc equalExtMap(base reflect.Type, em1, em2 map[int32]Extension) bool {\n\tif len(em1) != len(em2) {\n\t\treturn false\n\t}\n\n\tfor extNum, e1 := range em1 {\n\t\te2, ok := em2[extNum]\n\t\tif !ok {\n\t\t\treturn false\n\t\t}\n\n\t\tm1, m2 := e1.value, e2.value\n\n\t\tif m1 == nil && m2 == nil {\n\t\t\t// Both have only encoded form.\n\t\t\tif bytes.Equal(e1.enc, e2.enc) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\t// The bytes are different, but the extensions might still be\n\t\t\t// equal. We need to decode them to compare.\n\t\t}\n\n\t\tif m1 != nil && m2 != nil {\n\t\t\t// Both are unencoded.\n\t\t\tif !equalAny(reflect.ValueOf(m1), reflect.ValueOf(m2), nil) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\n\t\t// At least one is encoded. To do a semantically correct comparison\n\t\t// we need to unmarshal them first.\n\t\tvar desc *ExtensionDesc\n\t\tif m := extensionMaps[base]; m != nil {\n\t\t\tdesc = m[extNum]\n\t\t}\n\t\tif desc == nil {\n\t\t\t// If both have only encoded form and the bytes are the same,\n\t\t\t// it is handled above. We get here when the bytes are different.\n\t\t\t// We don't know how to decode it, so just compare them as byte\n\t\t\t// slices.\n\t\t\tlog.Printf(\"proto: don't know how to compare extension %d of %v\", extNum, base)\n\t\t\treturn false\n\t\t}\n\t\tvar err error\n\t\tif m1 == nil {\n\t\t\tm1, err = decodeExtension(e1.enc, desc)\n\t\t}\n\t\tif m2 == nil && err == nil {\n\t\t\tm2, err = decodeExtension(e2.enc, desc)\n\t\t}\n\t\tif err != nil {\n\t\t\t// The encoded form is invalid.\n\t\t\tlog.Printf(\"proto: badly encoded extension %d of %v: %v\", extNum, base, err)\n\t\t\treturn false\n\t\t}\n\t\tif !equalAny(reflect.ValueOf(m1), reflect.ValueOf(m2), nil) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\treturn true\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/proto/extensions.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\n/*\n * Types and routines for supporting protocol buffer extensions.\n */\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"reflect\"\n\t\"strconv\"\n\t\"sync\"\n)\n\n// ErrMissingExtension is the error returned by GetExtension if the named extension is not in the message.\nvar ErrMissingExtension = errors.New(\"proto: missing extension\")\n\n// ExtensionRange represents a range of message extensions for a protocol buffer.\n// Used in code generated by the protocol compiler.\ntype ExtensionRange struct {\n\tStart, End int32 // both inclusive\n}\n\n// extendableProto is an interface implemented by any protocol buffer generated by the current\n// proto compiler that may be extended.\ntype extendableProto interface {\n\tMessage\n\tExtensionRangeArray() []ExtensionRange\n\textensionsWrite() map[int32]Extension\n\textensionsRead() (map[int32]Extension, sync.Locker)\n}\n\n// extendableProtoV1 is an interface implemented by a protocol buffer generated by the previous\n// version of the proto compiler that may be extended.\ntype extendableProtoV1 interface {\n\tMessage\n\tExtensionRangeArray() []ExtensionRange\n\tExtensionMap() map[int32]Extension\n}\n\n// extensionAdapter is a wrapper around extendableProtoV1 that implements extendableProto.\ntype extensionAdapter struct {\n\textendableProtoV1\n}\n\nfunc (e extensionAdapter) extensionsWrite() map[int32]Extension {\n\treturn e.ExtensionMap()\n}\n\nfunc (e extensionAdapter) extensionsRead() (map[int32]Extension, sync.Locker) {\n\treturn e.ExtensionMap(), notLocker{}\n}\n\n// notLocker is a sync.Locker whose Lock and Unlock methods are nops.\ntype notLocker struct{}\n\nfunc (n notLocker) Lock()   {}\nfunc (n notLocker) Unlock() {}\n\n// extendable returns the extendableProto interface for the given generated proto message.\n// If the proto message has the old extension format, it returns a wrapper that implements\n// the extendableProto interface.\nfunc extendable(p interface{}) (extendableProto, error) {\n\tswitch p := p.(type) {\n\tcase extendableProto:\n\t\tif isNilPtr(p) {\n\t\t\treturn nil, fmt.Errorf(\"proto: nil %T is not extendable\", p)\n\t\t}\n\t\treturn p, nil\n\tcase extendableProtoV1:\n\t\tif isNilPtr(p) {\n\t\t\treturn nil, fmt.Errorf(\"proto: nil %T is not extendable\", p)\n\t\t}\n\t\treturn extensionAdapter{p}, nil\n\t}\n\t// Don't allocate a specific error containing %T:\n\t// this is the hot path for Clone and MarshalText.\n\treturn nil, errNotExtendable\n}\n\nvar errNotExtendable = errors.New(\"proto: not an extendable proto.Message\")\n\nfunc isNilPtr(x interface{}) bool {\n\tv := reflect.ValueOf(x)\n\treturn v.Kind() == reflect.Ptr && v.IsNil()\n}\n\n// XXX_InternalExtensions is an internal representation of proto extensions.\n//\n// Each generated message struct type embeds an anonymous XXX_InternalExtensions field,\n// thus gaining the unexported 'extensions' method, which can be called only from the proto package.\n//\n// The methods of XXX_InternalExtensions are not concurrency safe in general,\n// but calls to logically read-only methods such as has and get may be executed concurrently.\ntype XXX_InternalExtensions struct {\n\t// The struct must be indirect so that if a user inadvertently copies a\n\t// generated message and its embedded XXX_InternalExtensions, they\n\t// avoid the mayhem of a copied mutex.\n\t//\n\t// The mutex serializes all logically read-only operations to p.extensionMap.\n\t// It is up to the client to ensure that write operations to p.extensionMap are\n\t// mutually exclusive with other accesses.\n\tp *struct {\n\t\tmu           sync.Mutex\n\t\textensionMap map[int32]Extension\n\t}\n}\n\n// extensionsWrite returns the extension map, creating it on first use.\nfunc (e *XXX_InternalExtensions) extensionsWrite() map[int32]Extension {\n\tif e.p == nil {\n\t\te.p = new(struct {\n\t\t\tmu           sync.Mutex\n\t\t\textensionMap map[int32]Extension\n\t\t})\n\t\te.p.extensionMap = make(map[int32]Extension)\n\t}\n\treturn e.p.extensionMap\n}\n\n// extensionsRead returns the extensions map for read-only use.  It may be nil.\n// The caller must hold the returned mutex's lock when accessing Elements within the map.\nfunc (e *XXX_InternalExtensions) extensionsRead() (map[int32]Extension, sync.Locker) {\n\tif e.p == nil {\n\t\treturn nil, nil\n\t}\n\treturn e.p.extensionMap, &e.p.mu\n}\n\n// ExtensionDesc represents an extension specification.\n// Used in generated code from the protocol compiler.\ntype ExtensionDesc struct {\n\tExtendedType  Message     // nil pointer to the type that is being extended\n\tExtensionType interface{} // nil pointer to the extension type\n\tField         int32       // field number\n\tName          string      // fully-qualified name of extension, for text formatting\n\tTag           string      // protobuf tag style\n\tFilename      string      // name of the file in which the extension is defined\n}\n\nfunc (ed *ExtensionDesc) repeated() bool {\n\tt := reflect.TypeOf(ed.ExtensionType)\n\treturn t.Kind() == reflect.Slice && t.Elem().Kind() != reflect.Uint8\n}\n\n// Extension represents an extension in a message.\ntype Extension struct {\n\t// When an extension is stored in a message using SetExtension\n\t// only desc and value are set. When the message is marshaled\n\t// enc will be set to the encoded form of the message.\n\t//\n\t// When a message is unmarshaled and contains extensions, each\n\t// extension will have only enc set. When such an extension is\n\t// accessed using GetExtension (or GetExtensions) desc and value\n\t// will be set.\n\tdesc  *ExtensionDesc\n\tvalue interface{}\n\tenc   []byte\n}\n\n// SetRawExtension is for testing only.\nfunc SetRawExtension(base Message, id int32, b []byte) {\n\tepb, err := extendable(base)\n\tif err != nil {\n\t\treturn\n\t}\n\textmap := epb.extensionsWrite()\n\textmap[id] = Extension{enc: b}\n}\n\n// isExtensionField returns true iff the given field number is in an extension range.\nfunc isExtensionField(pb extendableProto, field int32) bool {\n\tfor _, er := range pb.ExtensionRangeArray() {\n\t\tif er.Start <= field && field <= er.End {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\n// checkExtensionTypes checks that the given extension is valid for pb.\nfunc checkExtensionTypes(pb extendableProto, extension *ExtensionDesc) error {\n\tvar pbi interface{} = pb\n\t// Check the extended type.\n\tif ea, ok := pbi.(extensionAdapter); ok {\n\t\tpbi = ea.extendableProtoV1\n\t}\n\tif a, b := reflect.TypeOf(pbi), reflect.TypeOf(extension.ExtendedType); a != b {\n\t\treturn fmt.Errorf(\"proto: bad extended type; %v does not extend %v\", b, a)\n\t}\n\t// Check the range.\n\tif !isExtensionField(pb, extension.Field) {\n\t\treturn errors.New(\"proto: bad extension number; not in declared ranges\")\n\t}\n\treturn nil\n}\n\n// extPropKey is sufficient to uniquely identify an extension.\ntype extPropKey struct {\n\tbase  reflect.Type\n\tfield int32\n}\n\nvar extProp = struct {\n\tsync.RWMutex\n\tm map[extPropKey]*Properties\n}{\n\tm: make(map[extPropKey]*Properties),\n}\n\nfunc extensionProperties(ed *ExtensionDesc) *Properties {\n\tkey := extPropKey{base: reflect.TypeOf(ed.ExtendedType), field: ed.Field}\n\n\textProp.RLock()\n\tif prop, ok := extProp.m[key]; ok {\n\t\textProp.RUnlock()\n\t\treturn prop\n\t}\n\textProp.RUnlock()\n\n\textProp.Lock()\n\tdefer extProp.Unlock()\n\t// Check again.\n\tif prop, ok := extProp.m[key]; ok {\n\t\treturn prop\n\t}\n\n\tprop := new(Properties)\n\tprop.Init(reflect.TypeOf(ed.ExtensionType), \"unknown_name\", ed.Tag, nil)\n\textProp.m[key] = prop\n\treturn prop\n}\n\n// HasExtension returns whether the given extension is present in pb.\nfunc HasExtension(pb Message, extension *ExtensionDesc) bool {\n\t// TODO: Check types, field numbers, etc.?\n\tepb, err := extendable(pb)\n\tif err != nil {\n\t\treturn false\n\t}\n\textmap, mu := epb.extensionsRead()\n\tif extmap == nil {\n\t\treturn false\n\t}\n\tmu.Lock()\n\t_, ok := extmap[extension.Field]\n\tmu.Unlock()\n\treturn ok\n}\n\n// ClearExtension removes the given extension from pb.\nfunc ClearExtension(pb Message, extension *ExtensionDesc) {\n\tepb, err := extendable(pb)\n\tif err != nil {\n\t\treturn\n\t}\n\t// TODO: Check types, field numbers, etc.?\n\textmap := epb.extensionsWrite()\n\tdelete(extmap, extension.Field)\n}\n\n// GetExtension retrieves a proto2 extended field from pb.\n//\n// If the descriptor is type complete (i.e., ExtensionDesc.ExtensionType is non-nil),\n// then GetExtension parses the encoded field and returns a Go value of the specified type.\n// If the field is not present, then the default value is returned (if one is specified),\n// otherwise ErrMissingExtension is reported.\n//\n// If the descriptor is not type complete (i.e., ExtensionDesc.ExtensionType is nil),\n// then GetExtension returns the raw encoded bytes of the field extension.\nfunc GetExtension(pb Message, extension *ExtensionDesc) (interface{}, error) {\n\tepb, err := extendable(pb)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tif extension.ExtendedType != nil {\n\t\t// can only check type if this is a complete descriptor\n\t\tif err := checkExtensionTypes(epb, extension); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\n\temap, mu := epb.extensionsRead()\n\tif emap == nil {\n\t\treturn defaultExtensionValue(extension)\n\t}\n\tmu.Lock()\n\tdefer mu.Unlock()\n\te, ok := emap[extension.Field]\n\tif !ok {\n\t\t// defaultExtensionValue returns the default value or\n\t\t// ErrMissingExtension if there is no default.\n\t\treturn defaultExtensionValue(extension)\n\t}\n\n\tif e.value != nil {\n\t\t// Already decoded. Check the descriptor, though.\n\t\tif e.desc != extension {\n\t\t\t// This shouldn't happen. If it does, it means that\n\t\t\t// GetExtension was called twice with two different\n\t\t\t// descriptors with the same field number.\n\t\t\treturn nil, errors.New(\"proto: descriptor conflict\")\n\t\t}\n\t\treturn e.value, nil\n\t}\n\n\tif extension.ExtensionType == nil {\n\t\t// incomplete descriptor\n\t\treturn e.enc, nil\n\t}\n\n\tv, err := decodeExtension(e.enc, extension)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\t// Remember the decoded version and drop the encoded version.\n\t// That way it is safe to mutate what we return.\n\te.value = v\n\te.desc = extension\n\te.enc = nil\n\temap[extension.Field] = e\n\treturn e.value, nil\n}\n\n// defaultExtensionValue returns the default value for extension.\n// If no default for an extension is defined ErrMissingExtension is returned.\nfunc defaultExtensionValue(extension *ExtensionDesc) (interface{}, error) {\n\tif extension.ExtensionType == nil {\n\t\t// incomplete descriptor, so no default\n\t\treturn nil, ErrMissingExtension\n\t}\n\n\tt := reflect.TypeOf(extension.ExtensionType)\n\tprops := extensionProperties(extension)\n\n\tsf, _, err := fieldDefault(t, props)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tif sf == nil || sf.value == nil {\n\t\t// There is no default value.\n\t\treturn nil, ErrMissingExtension\n\t}\n\n\tif t.Kind() != reflect.Ptr {\n\t\t// We do not need to return a Ptr, we can directly return sf.value.\n\t\treturn sf.value, nil\n\t}\n\n\t// We need to return an interface{} that is a pointer to sf.value.\n\tvalue := reflect.New(t).Elem()\n\tvalue.Set(reflect.New(value.Type().Elem()))\n\tif sf.kind == reflect.Int32 {\n\t\t// We may have an int32 or an enum, but the underlying data is int32.\n\t\t// Since we can't set an int32 into a non int32 reflect.value directly\n\t\t// set it as a int32.\n\t\tvalue.Elem().SetInt(int64(sf.value.(int32)))\n\t} else {\n\t\tvalue.Elem().Set(reflect.ValueOf(sf.value))\n\t}\n\treturn value.Interface(), nil\n}\n\n// decodeExtension decodes an extension encoded in b.\nfunc decodeExtension(b []byte, extension *ExtensionDesc) (interface{}, error) {\n\tt := reflect.TypeOf(extension.ExtensionType)\n\tunmarshal := typeUnmarshaler(t, extension.Tag)\n\n\t// t is a pointer to a struct, pointer to basic type or a slice.\n\t// Allocate space to store the pointer/slice.\n\tvalue := reflect.New(t).Elem()\n\n\tvar err error\n\tfor {\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\twire := int(x) & 7\n\n\t\tb, err = unmarshal(b, valToPointer(value.Addr()), wire)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\n\t\tif len(b) == 0 {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn value.Interface(), nil\n}\n\n// GetExtensions returns a slice of the extensions present in pb that are also listed in es.\n// The returned slice has the same length as es; missing extensions will appear as nil elements.\nfunc GetExtensions(pb Message, es []*ExtensionDesc) (extensions []interface{}, err error) {\n\tepb, err := extendable(pb)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\textensions = make([]interface{}, len(es))\n\tfor i, e := range es {\n\t\textensions[i], err = GetExtension(epb, e)\n\t\tif err == ErrMissingExtension {\n\t\t\terr = nil\n\t\t}\n\t\tif err != nil {\n\t\t\treturn\n\t\t}\n\t}\n\treturn\n}\n\n// ExtensionDescs returns a new slice containing pb's extension descriptors, in undefined order.\n// For non-registered extensions, ExtensionDescs returns an incomplete descriptor containing\n// just the Field field, which defines the extension's field number.\nfunc ExtensionDescs(pb Message) ([]*ExtensionDesc, error) {\n\tepb, err := extendable(pb)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tregisteredExtensions := RegisteredExtensions(pb)\n\n\temap, mu := epb.extensionsRead()\n\tif emap == nil {\n\t\treturn nil, nil\n\t}\n\tmu.Lock()\n\tdefer mu.Unlock()\n\textensions := make([]*ExtensionDesc, 0, len(emap))\n\tfor extid, e := range emap {\n\t\tdesc := e.desc\n\t\tif desc == nil {\n\t\t\tdesc = registeredExtensions[extid]\n\t\t\tif desc == nil {\n\t\t\t\tdesc = &ExtensionDesc{Field: extid}\n\t\t\t}\n\t\t}\n\n\t\textensions = append(extensions, desc)\n\t}\n\treturn extensions, nil\n}\n\n// SetExtension sets the specified extension of pb to the specified value.\nfunc SetExtension(pb Message, extension *ExtensionDesc, value interface{}) error {\n\tepb, err := extendable(pb)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif err := checkExtensionTypes(epb, extension); err != nil {\n\t\treturn err\n\t}\n\ttyp := reflect.TypeOf(extension.ExtensionType)\n\tif typ != reflect.TypeOf(value) {\n\t\treturn errors.New(\"proto: bad extension value type\")\n\t}\n\t// nil extension values need to be caught early, because the\n\t// encoder can't distinguish an ErrNil due to a nil extension\n\t// from an ErrNil due to a missing field. Extensions are\n\t// always optional, so the encoder would just swallow the error\n\t// and drop all the extensions from the encoded message.\n\tif reflect.ValueOf(value).IsNil() {\n\t\treturn fmt.Errorf(\"proto: SetExtension called with nil value of type %T\", value)\n\t}\n\n\textmap := epb.extensionsWrite()\n\textmap[extension.Field] = Extension{desc: extension, value: value}\n\treturn nil\n}\n\n// ClearAllExtensions clears all extensions from pb.\nfunc ClearAllExtensions(pb Message) {\n\tepb, err := extendable(pb)\n\tif err != nil {\n\t\treturn\n\t}\n\tm := epb.extensionsWrite()\n\tfor k := range m {\n\t\tdelete(m, k)\n\t}\n}\n\n// A global registry of extensions.\n// The generated code will register the generated descriptors by calling RegisterExtension.\n\nvar extensionMaps = make(map[reflect.Type]map[int32]*ExtensionDesc)\n\n// RegisterExtension is called from the generated code.\nfunc RegisterExtension(desc *ExtensionDesc) {\n\tst := reflect.TypeOf(desc.ExtendedType).Elem()\n\tm := extensionMaps[st]\n\tif m == nil {\n\t\tm = make(map[int32]*ExtensionDesc)\n\t\textensionMaps[st] = m\n\t}\n\tif _, ok := m[desc.Field]; ok {\n\t\tpanic(\"proto: duplicate extension registered: \" + st.String() + \" \" + strconv.Itoa(int(desc.Field)))\n\t}\n\tm[desc.Field] = desc\n}\n\n// RegisteredExtensions returns a map of the registered extensions of a\n// protocol buffer struct, indexed by the extension number.\n// The argument pb should be a nil pointer to the struct type.\nfunc RegisteredExtensions(pb Message) map[int32]*ExtensionDesc {\n\treturn extensionMaps[reflect.TypeOf(pb).Elem()]\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/proto/lib.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n/*\nPackage proto converts data structures to and from the wire format of\nprotocol buffers.  It works in concert with the Go source code generated\nfor .proto files by the protocol compiler.\n\nA summary of the properties of the protocol buffer interface\nfor a protocol buffer variable v:\n\n  - Names are turned from camel_case to CamelCase for export.\n  - There are no methods on v to set fields; just treat\n\tthem as structure fields.\n  - There are getters that return a field's value if set,\n\tand return the field's default value if unset.\n\tThe getters work even if the receiver is a nil message.\n  - The zero value for a struct is its correct initialization state.\n\tAll desired fields must be set before marshaling.\n  - A Reset() method will restore a protobuf struct to its zero state.\n  - Non-repeated fields are pointers to the values; nil means unset.\n\tThat is, optional or required field int32 f becomes F *int32.\n  - Repeated fields are slices.\n  - Helper functions are available to aid the setting of fields.\n\tmsg.Foo = proto.String(\"hello\") // set field\n  - Constants are defined to hold the default values of all fields that\n\thave them.  They have the form Default_StructName_FieldName.\n\tBecause the getter methods handle defaulted values,\n\tdirect use of these constants should be rare.\n  - Enums are given type names and maps from names to values.\n\tEnum values are prefixed by the enclosing message's name, or by the\n\tenum's type name if it is a top-level enum. Enum types have a String\n\tmethod, and a Enum method to assist in message construction.\n  - Nested messages, groups and enums have type names prefixed with the name of\n\tthe surrounding message type.\n  - Extensions are given descriptor names that start with E_,\n\tfollowed by an underscore-delimited list of the nested messages\n\tthat contain it (if any) followed by the CamelCased name of the\n\textension field itself.  HasExtension, ClearExtension, GetExtension\n\tand SetExtension are functions for manipulating extensions.\n  - Oneof field sets are given a single field in their message,\n\twith distinguished wrapper types for each possible field value.\n  - Marshal and Unmarshal are functions to encode and decode the wire format.\n\nWhen the .proto file specifies `syntax=\"proto3\"`, there are some differences:\n\n  - Non-repeated fields of non-message type are values instead of pointers.\n  - Enum types do not get an Enum method.\n\nThe simplest way to describe this is to see an example.\nGiven file test.proto, containing\n\n\tpackage example;\n\n\tenum FOO { X = 17; }\n\n\tmessage Test {\n\t  required string label = 1;\n\t  optional int32 type = 2 [default=77];\n\t  repeated int64 reps = 3;\n\t  optional group OptionalGroup = 4 {\n\t    required string RequiredField = 5;\n\t  }\n\t  oneof union {\n\t    int32 number = 6;\n\t    string name = 7;\n\t  }\n\t}\n\nThe resulting file, test.pb.go, is:\n\n\tpackage example\n\n\timport proto \"github.com/golang/protobuf/proto\"\n\timport math \"math\"\n\n\ttype FOO int32\n\tconst (\n\t\tFOO_X FOO = 17\n\t)\n\tvar FOO_name = map[int32]string{\n\t\t17: \"X\",\n\t}\n\tvar FOO_value = map[string]int32{\n\t\t\"X\": 17,\n\t}\n\n\tfunc (x FOO) Enum() *FOO {\n\t\tp := new(FOO)\n\t\t*p = x\n\t\treturn p\n\t}\n\tfunc (x FOO) String() string {\n\t\treturn proto.EnumName(FOO_name, int32(x))\n\t}\n\tfunc (x *FOO) UnmarshalJSON(data []byte) error {\n\t\tvalue, err := proto.UnmarshalJSONEnum(FOO_value, data)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t*x = FOO(value)\n\t\treturn nil\n\t}\n\n\ttype Test struct {\n\t\tLabel         *string             `protobuf:\"bytes,1,req,name=label\" json:\"label,omitempty\"`\n\t\tType          *int32              `protobuf:\"varint,2,opt,name=type,def=77\" json:\"type,omitempty\"`\n\t\tReps          []int64             `protobuf:\"varint,3,rep,name=reps\" json:\"reps,omitempty\"`\n\t\tOptionalgroup *Test_OptionalGroup `protobuf:\"group,4,opt,name=OptionalGroup\" json:\"optionalgroup,omitempty\"`\n\t\t// Types that are valid to be assigned to Union:\n\t\t//\t*Test_Number\n\t\t//\t*Test_Name\n\t\tUnion            isTest_Union `protobuf_oneof:\"union\"`\n\t\tXXX_unrecognized []byte       `json:\"-\"`\n\t}\n\tfunc (m *Test) Reset()         { *m = Test{} }\n\tfunc (m *Test) String() string { return proto.CompactTextString(m) }\n\tfunc (*Test) ProtoMessage() {}\n\n\ttype isTest_Union interface {\n\t\tisTest_Union()\n\t}\n\n\ttype Test_Number struct {\n\t\tNumber int32 `protobuf:\"varint,6,opt,name=number\"`\n\t}\n\ttype Test_Name struct {\n\t\tName string `protobuf:\"bytes,7,opt,name=name\"`\n\t}\n\n\tfunc (*Test_Number) isTest_Union() {}\n\tfunc (*Test_Name) isTest_Union()   {}\n\n\tfunc (m *Test) GetUnion() isTest_Union {\n\t\tif m != nil {\n\t\t\treturn m.Union\n\t\t}\n\t\treturn nil\n\t}\n\tconst Default_Test_Type int32 = 77\n\n\tfunc (m *Test) GetLabel() string {\n\t\tif m != nil && m.Label != nil {\n\t\t\treturn *m.Label\n\t\t}\n\t\treturn \"\"\n\t}\n\n\tfunc (m *Test) GetType() int32 {\n\t\tif m != nil && m.Type != nil {\n\t\t\treturn *m.Type\n\t\t}\n\t\treturn Default_Test_Type\n\t}\n\n\tfunc (m *Test) GetOptionalgroup() *Test_OptionalGroup {\n\t\tif m != nil {\n\t\t\treturn m.Optionalgroup\n\t\t}\n\t\treturn nil\n\t}\n\n\ttype Test_OptionalGroup struct {\n\t\tRequiredField *string `protobuf:\"bytes,5,req\" json:\"RequiredField,omitempty\"`\n\t}\n\tfunc (m *Test_OptionalGroup) Reset()         { *m = Test_OptionalGroup{} }\n\tfunc (m *Test_OptionalGroup) String() string { return proto.CompactTextString(m) }\n\n\tfunc (m *Test_OptionalGroup) GetRequiredField() string {\n\t\tif m != nil && m.RequiredField != nil {\n\t\t\treturn *m.RequiredField\n\t\t}\n\t\treturn \"\"\n\t}\n\n\tfunc (m *Test) GetNumber() int32 {\n\t\tif x, ok := m.GetUnion().(*Test_Number); ok {\n\t\t\treturn x.Number\n\t\t}\n\t\treturn 0\n\t}\n\n\tfunc (m *Test) GetName() string {\n\t\tif x, ok := m.GetUnion().(*Test_Name); ok {\n\t\t\treturn x.Name\n\t\t}\n\t\treturn \"\"\n\t}\n\n\tfunc init() {\n\t\tproto.RegisterEnum(\"example.FOO\", FOO_name, FOO_value)\n\t}\n\nTo create and play with a Test object:\n\n\tpackage main\n\n\timport (\n\t\t\"log\"\n\n\t\t\"github.com/golang/protobuf/proto\"\n\t\tpb \"./example.pb\"\n\t)\n\n\tfunc main() {\n\t\ttest := &pb.Test{\n\t\t\tLabel: proto.String(\"hello\"),\n\t\t\tType:  proto.Int32(17),\n\t\t\tReps:  []int64{1, 2, 3},\n\t\t\tOptionalgroup: &pb.Test_OptionalGroup{\n\t\t\t\tRequiredField: proto.String(\"good bye\"),\n\t\t\t},\n\t\t\tUnion: &pb.Test_Name{\"fred\"},\n\t\t}\n\t\tdata, err := proto.Marshal(test)\n\t\tif err != nil {\n\t\t\tlog.Fatal(\"marshaling error: \", err)\n\t\t}\n\t\tnewTest := &pb.Test{}\n\t\terr = proto.Unmarshal(data, newTest)\n\t\tif err != nil {\n\t\t\tlog.Fatal(\"unmarshaling error: \", err)\n\t\t}\n\t\t// Now test and newTest contain the same data.\n\t\tif test.GetLabel() != newTest.GetLabel() {\n\t\t\tlog.Fatalf(\"data mismatch %q != %q\", test.GetLabel(), newTest.GetLabel())\n\t\t}\n\t\t// Use a type switch to determine which oneof was set.\n\t\tswitch u := test.Union.(type) {\n\t\tcase *pb.Test_Number: // u.Number contains the number.\n\t\tcase *pb.Test_Name: // u.Name contains the string.\n\t\t}\n\t\t// etc.\n\t}\n*/\npackage proto\n\nimport (\n\t\"encoding/json\"\n\t\"errors\"\n\t\"fmt\"\n\t\"log\"\n\t\"reflect\"\n\t\"sort\"\n\t\"strconv\"\n\t\"sync\"\n)\n\nvar errInvalidUTF8 = errors.New(\"proto: invalid UTF-8 string\")\n\n// Message is implemented by generated protocol buffer messages.\ntype Message interface {\n\tReset()\n\tString() string\n\tProtoMessage()\n}\n\n// Stats records allocation details about the protocol buffer encoders\n// and decoders.  Useful for tuning the library itself.\ntype Stats struct {\n\tEmalloc uint64 // mallocs in encode\n\tDmalloc uint64 // mallocs in decode\n\tEncode  uint64 // number of encodes\n\tDecode  uint64 // number of decodes\n\tChit    uint64 // number of cache hits\n\tCmiss   uint64 // number of cache misses\n\tSize    uint64 // number of sizes\n}\n\n// Set to true to enable stats collection.\nconst collectStats = false\n\nvar stats Stats\n\n// GetStats returns a copy of the global Stats structure.\nfunc GetStats() Stats { return stats }\n\n// A Buffer is a buffer manager for marshaling and unmarshaling\n// protocol buffers.  It may be reused between invocations to\n// reduce memory usage.  It is not necessary to use a Buffer;\n// the global functions Marshal and Unmarshal create a\n// temporary Buffer and are fine for most applications.\ntype Buffer struct {\n\tbuf   []byte // encode/decode byte stream\n\tindex int    // read point\n\n\tdeterministic bool\n}\n\n// NewBuffer allocates a new Buffer and initializes its internal data to\n// the contents of the argument slice.\nfunc NewBuffer(e []byte) *Buffer {\n\treturn &Buffer{buf: e}\n}\n\n// Reset resets the Buffer, ready for marshaling a new protocol buffer.\nfunc (p *Buffer) Reset() {\n\tp.buf = p.buf[0:0] // for reading/writing\n\tp.index = 0        // for reading\n}\n\n// SetBuf replaces the internal buffer with the slice,\n// ready for unmarshaling the contents of the slice.\nfunc (p *Buffer) SetBuf(s []byte) {\n\tp.buf = s\n\tp.index = 0\n}\n\n// Bytes returns the contents of the Buffer.\nfunc (p *Buffer) Bytes() []byte { return p.buf }\n\n// SetDeterministic sets whether to use deterministic serialization.\n//\n// Deterministic serialization guarantees that for a given binary, equal\n// messages will always be serialized to the same bytes. This implies:\n//\n//   - Repeated serialization of a message will return the same bytes.\n//   - Different processes of the same binary (which may be executing on\n//     different machines) will serialize equal messages to the same bytes.\n//\n// Note that the deterministic serialization is NOT canonical across\n// languages. It is not guaranteed to remain stable over time. It is unstable\n// across different builds with schema changes due to unknown fields.\n// Users who need canonical serialization (e.g., persistent storage in a\n// canonical form, fingerprinting, etc.) should define their own\n// canonicalization specification and implement their own serializer rather\n// than relying on this API.\n//\n// If deterministic serialization is requested, map entries will be sorted\n// by keys in lexographical order. This is an implementation detail and\n// subject to change.\nfunc (p *Buffer) SetDeterministic(deterministic bool) {\n\tp.deterministic = deterministic\n}\n\n/*\n * Helper routines for simplifying the creation of optional fields of basic type.\n */\n\n// Bool is a helper routine that allocates a new bool value\n// to store v and returns a pointer to it.\nfunc Bool(v bool) *bool {\n\treturn &v\n}\n\n// Int32 is a helper routine that allocates a new int32 value\n// to store v and returns a pointer to it.\nfunc Int32(v int32) *int32 {\n\treturn &v\n}\n\n// Int is a helper routine that allocates a new int32 value\n// to store v and returns a pointer to it, but unlike Int32\n// its argument value is an int.\nfunc Int(v int) *int32 {\n\tp := new(int32)\n\t*p = int32(v)\n\treturn p\n}\n\n// Int64 is a helper routine that allocates a new int64 value\n// to store v and returns a pointer to it.\nfunc Int64(v int64) *int64 {\n\treturn &v\n}\n\n// Float32 is a helper routine that allocates a new float32 value\n// to store v and returns a pointer to it.\nfunc Float32(v float32) *float32 {\n\treturn &v\n}\n\n// Float64 is a helper routine that allocates a new float64 value\n// to store v and returns a pointer to it.\nfunc Float64(v float64) *float64 {\n\treturn &v\n}\n\n// Uint32 is a helper routine that allocates a new uint32 value\n// to store v and returns a pointer to it.\nfunc Uint32(v uint32) *uint32 {\n\treturn &v\n}\n\n// Uint64 is a helper routine that allocates a new uint64 value\n// to store v and returns a pointer to it.\nfunc Uint64(v uint64) *uint64 {\n\treturn &v\n}\n\n// String is a helper routine that allocates a new string value\n// to store v and returns a pointer to it.\nfunc String(v string) *string {\n\treturn &v\n}\n\n// EnumName is a helper function to simplify printing protocol buffer enums\n// by name.  Given an enum map and a value, it returns a useful string.\nfunc EnumName(m map[int32]string, v int32) string {\n\ts, ok := m[v]\n\tif ok {\n\t\treturn s\n\t}\n\treturn strconv.Itoa(int(v))\n}\n\n// UnmarshalJSONEnum is a helper function to simplify recovering enum int values\n// from their JSON-encoded representation. Given a map from the enum's symbolic\n// names to its int values, and a byte buffer containing the JSON-encoded\n// value, it returns an int32 that can be cast to the enum type by the caller.\n//\n// The function can deal with both JSON representations, numeric and symbolic.\nfunc UnmarshalJSONEnum(m map[string]int32, data []byte, enumName string) (int32, error) {\n\tif data[0] == '\"' {\n\t\t// New style: enums are strings.\n\t\tvar repr string\n\t\tif err := json.Unmarshal(data, &repr); err != nil {\n\t\t\treturn -1, err\n\t\t}\n\t\tval, ok := m[repr]\n\t\tif !ok {\n\t\t\treturn 0, fmt.Errorf(\"unrecognized enum %s value %q\", enumName, repr)\n\t\t}\n\t\treturn val, nil\n\t}\n\t// Old style: enums are ints.\n\tvar val int32\n\tif err := json.Unmarshal(data, &val); err != nil {\n\t\treturn 0, fmt.Errorf(\"cannot unmarshal %#q into enum %s\", data, enumName)\n\t}\n\treturn val, nil\n}\n\n// DebugPrint dumps the encoded data in b in a debugging format with a header\n// including the string s. Used in testing but made available for general debugging.\nfunc (p *Buffer) DebugPrint(s string, b []byte) {\n\tvar u uint64\n\n\tobuf := p.buf\n\tindex := p.index\n\tp.buf = b\n\tp.index = 0\n\tdepth := 0\n\n\tfmt.Printf(\"\\n--- %s ---\\n\", s)\n\nout:\n\tfor {\n\t\tfor i := 0; i < depth; i++ {\n\t\t\tfmt.Print(\"  \")\n\t\t}\n\n\t\tindex := p.index\n\t\tif index == len(p.buf) {\n\t\t\tbreak\n\t\t}\n\n\t\top, err := p.DecodeVarint()\n\t\tif err != nil {\n\t\t\tfmt.Printf(\"%3d: fetching op err %v\\n\", index, err)\n\t\t\tbreak out\n\t\t}\n\t\ttag := op >> 3\n\t\twire := op & 7\n\n\t\tswitch wire {\n\t\tdefault:\n\t\t\tfmt.Printf(\"%3d: t=%3d unknown wire=%d\\n\",\n\t\t\t\tindex, tag, wire)\n\t\t\tbreak out\n\n\t\tcase WireBytes:\n\t\t\tvar r []byte\n\n\t\t\tr, err = p.DecodeRawBytes(false)\n\t\t\tif err != nil {\n\t\t\t\tbreak out\n\t\t\t}\n\t\t\tfmt.Printf(\"%3d: t=%3d bytes [%d]\", index, tag, len(r))\n\t\t\tif len(r) <= 6 {\n\t\t\t\tfor i := 0; i < len(r); i++ {\n\t\t\t\t\tfmt.Printf(\" %.2x\", r[i])\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor i := 0; i < 3; i++ {\n\t\t\t\t\tfmt.Printf(\" %.2x\", r[i])\n\t\t\t\t}\n\t\t\t\tfmt.Printf(\" ..\")\n\t\t\t\tfor i := len(r) - 3; i < len(r); i++ {\n\t\t\t\t\tfmt.Printf(\" %.2x\", r[i])\n\t\t\t\t}\n\t\t\t}\n\t\t\tfmt.Printf(\"\\n\")\n\n\t\tcase WireFixed32:\n\t\t\tu, err = p.DecodeFixed32()\n\t\t\tif err != nil {\n\t\t\t\tfmt.Printf(\"%3d: t=%3d fix32 err %v\\n\", index, tag, err)\n\t\t\t\tbreak out\n\t\t\t}\n\t\t\tfmt.Printf(\"%3d: t=%3d fix32 %d\\n\", index, tag, u)\n\n\t\tcase WireFixed64:\n\t\t\tu, err = p.DecodeFixed64()\n\t\t\tif err != nil {\n\t\t\t\tfmt.Printf(\"%3d: t=%3d fix64 err %v\\n\", index, tag, err)\n\t\t\t\tbreak out\n\t\t\t}\n\t\t\tfmt.Printf(\"%3d: t=%3d fix64 %d\\n\", index, tag, u)\n\n\t\tcase WireVarint:\n\t\t\tu, err = p.DecodeVarint()\n\t\t\tif err != nil {\n\t\t\t\tfmt.Printf(\"%3d: t=%3d varint err %v\\n\", index, tag, err)\n\t\t\t\tbreak out\n\t\t\t}\n\t\t\tfmt.Printf(\"%3d: t=%3d varint %d\\n\", index, tag, u)\n\n\t\tcase WireStartGroup:\n\t\t\tfmt.Printf(\"%3d: t=%3d start\\n\", index, tag)\n\t\t\tdepth++\n\n\t\tcase WireEndGroup:\n\t\t\tdepth--\n\t\t\tfmt.Printf(\"%3d: t=%3d end\\n\", index, tag)\n\t\t}\n\t}\n\n\tif depth != 0 {\n\t\tfmt.Printf(\"%3d: start-end not balanced %d\\n\", p.index, depth)\n\t}\n\tfmt.Printf(\"\\n\")\n\n\tp.buf = obuf\n\tp.index = index\n}\n\n// SetDefaults sets unset protocol buffer fields to their default values.\n// It only modifies fields that are both unset and have defined defaults.\n// It recursively sets default values in any non-nil sub-messages.\nfunc SetDefaults(pb Message) {\n\tsetDefaults(reflect.ValueOf(pb), true, false)\n}\n\n// v is a pointer to a struct.\nfunc setDefaults(v reflect.Value, recur, zeros bool) {\n\tv = v.Elem()\n\n\tdefaultMu.RLock()\n\tdm, ok := defaults[v.Type()]\n\tdefaultMu.RUnlock()\n\tif !ok {\n\t\tdm = buildDefaultMessage(v.Type())\n\t\tdefaultMu.Lock()\n\t\tdefaults[v.Type()] = dm\n\t\tdefaultMu.Unlock()\n\t}\n\n\tfor _, sf := range dm.scalars {\n\t\tf := v.Field(sf.index)\n\t\tif !f.IsNil() {\n\t\t\t// field already set\n\t\t\tcontinue\n\t\t}\n\t\tdv := sf.value\n\t\tif dv == nil && !zeros {\n\t\t\t// no explicit default, and don't want to set zeros\n\t\t\tcontinue\n\t\t}\n\t\tfptr := f.Addr().Interface() // **T\n\t\t// TODO: Consider batching the allocations we do here.\n\t\tswitch sf.kind {\n\t\tcase reflect.Bool:\n\t\t\tb := new(bool)\n\t\t\tif dv != nil {\n\t\t\t\t*b = dv.(bool)\n\t\t\t}\n\t\t\t*(fptr.(**bool)) = b\n\t\tcase reflect.Float32:\n\t\t\tf := new(float32)\n\t\t\tif dv != nil {\n\t\t\t\t*f = dv.(float32)\n\t\t\t}\n\t\t\t*(fptr.(**float32)) = f\n\t\tcase reflect.Float64:\n\t\t\tf := new(float64)\n\t\t\tif dv != nil {\n\t\t\t\t*f = dv.(float64)\n\t\t\t}\n\t\t\t*(fptr.(**float64)) = f\n\t\tcase reflect.Int32:\n\t\t\t// might be an enum\n\t\t\tif ft := f.Type(); ft != int32PtrType {\n\t\t\t\t// enum\n\t\t\t\tf.Set(reflect.New(ft.Elem()))\n\t\t\t\tif dv != nil {\n\t\t\t\t\tf.Elem().SetInt(int64(dv.(int32)))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// int32 field\n\t\t\t\ti := new(int32)\n\t\t\t\tif dv != nil {\n\t\t\t\t\t*i = dv.(int32)\n\t\t\t\t}\n\t\t\t\t*(fptr.(**int32)) = i\n\t\t\t}\n\t\tcase reflect.Int64:\n\t\t\ti := new(int64)\n\t\t\tif dv != nil {\n\t\t\t\t*i = dv.(int64)\n\t\t\t}\n\t\t\t*(fptr.(**int64)) = i\n\t\tcase reflect.String:\n\t\t\ts := new(string)\n\t\t\tif dv != nil {\n\t\t\t\t*s = dv.(string)\n\t\t\t}\n\t\t\t*(fptr.(**string)) = s\n\t\tcase reflect.Uint8:\n\t\t\t// exceptional case: []byte\n\t\t\tvar b []byte\n\t\t\tif dv != nil {\n\t\t\t\tdb := dv.([]byte)\n\t\t\t\tb = make([]byte, len(db))\n\t\t\t\tcopy(b, db)\n\t\t\t} else {\n\t\t\t\tb = []byte{}\n\t\t\t}\n\t\t\t*(fptr.(*[]byte)) = b\n\t\tcase reflect.Uint32:\n\t\t\tu := new(uint32)\n\t\t\tif dv != nil {\n\t\t\t\t*u = dv.(uint32)\n\t\t\t}\n\t\t\t*(fptr.(**uint32)) = u\n\t\tcase reflect.Uint64:\n\t\t\tu := new(uint64)\n\t\t\tif dv != nil {\n\t\t\t\t*u = dv.(uint64)\n\t\t\t}\n\t\t\t*(fptr.(**uint64)) = u\n\t\tdefault:\n\t\t\tlog.Printf(\"proto: can't set default for field %v (sf.kind=%v)\", f, sf.kind)\n\t\t}\n\t}\n\n\tfor _, ni := range dm.nested {\n\t\tf := v.Field(ni)\n\t\t// f is *T or []*T or map[T]*T\n\t\tswitch f.Kind() {\n\t\tcase reflect.Ptr:\n\t\t\tif f.IsNil() {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tsetDefaults(f, recur, zeros)\n\n\t\tcase reflect.Slice:\n\t\t\tfor i := 0; i < f.Len(); i++ {\n\t\t\t\te := f.Index(i)\n\t\t\t\tif e.IsNil() {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tsetDefaults(e, recur, zeros)\n\t\t\t}\n\n\t\tcase reflect.Map:\n\t\t\tfor _, k := range f.MapKeys() {\n\t\t\t\te := f.MapIndex(k)\n\t\t\t\tif e.IsNil() {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tsetDefaults(e, recur, zeros)\n\t\t\t}\n\t\t}\n\t}\n}\n\nvar (\n\t// defaults maps a protocol buffer struct type to a slice of the fields,\n\t// with its scalar fields set to their proto-declared non-zero default values.\n\tdefaultMu sync.RWMutex\n\tdefaults  = make(map[reflect.Type]defaultMessage)\n\n\tint32PtrType = reflect.TypeOf((*int32)(nil))\n)\n\n// defaultMessage represents information about the default values of a message.\ntype defaultMessage struct {\n\tscalars []scalarField\n\tnested  []int // struct field index of nested messages\n}\n\ntype scalarField struct {\n\tindex int          // struct field index\n\tkind  reflect.Kind // element type (the T in *T or []T)\n\tvalue interface{}  // the proto-declared default value, or nil\n}\n\n// t is a struct type.\nfunc buildDefaultMessage(t reflect.Type) (dm defaultMessage) {\n\tsprop := GetProperties(t)\n\tfor _, prop := range sprop.Prop {\n\t\tfi, ok := sprop.decoderTags.get(prop.Tag)\n\t\tif !ok {\n\t\t\t// XXX_unrecognized\n\t\t\tcontinue\n\t\t}\n\t\tft := t.Field(fi).Type\n\n\t\tsf, nested, err := fieldDefault(ft, prop)\n\t\tswitch {\n\t\tcase err != nil:\n\t\t\tlog.Print(err)\n\t\tcase nested:\n\t\t\tdm.nested = append(dm.nested, fi)\n\t\tcase sf != nil:\n\t\t\tsf.index = fi\n\t\t\tdm.scalars = append(dm.scalars, *sf)\n\t\t}\n\t}\n\n\treturn dm\n}\n\n// fieldDefault returns the scalarField for field type ft.\n// sf will be nil if the field can not have a default.\n// nestedMessage will be true if this is a nested message.\n// Note that sf.index is not set on return.\nfunc fieldDefault(ft reflect.Type, prop *Properties) (sf *scalarField, nestedMessage bool, err error) {\n\tvar canHaveDefault bool\n\tswitch ft.Kind() {\n\tcase reflect.Ptr:\n\t\tif ft.Elem().Kind() == reflect.Struct {\n\t\t\tnestedMessage = true\n\t\t} else {\n\t\t\tcanHaveDefault = true // proto2 scalar field\n\t\t}\n\n\tcase reflect.Slice:\n\t\tswitch ft.Elem().Kind() {\n\t\tcase reflect.Ptr:\n\t\t\tnestedMessage = true // repeated message\n\t\tcase reflect.Uint8:\n\t\t\tcanHaveDefault = true // bytes field\n\t\t}\n\n\tcase reflect.Map:\n\t\tif ft.Elem().Kind() == reflect.Ptr {\n\t\t\tnestedMessage = true // map with message values\n\t\t}\n\t}\n\n\tif !canHaveDefault {\n\t\tif nestedMessage {\n\t\t\treturn nil, true, nil\n\t\t}\n\t\treturn nil, false, nil\n\t}\n\n\t// We now know that ft is a pointer or slice.\n\tsf = &scalarField{kind: ft.Elem().Kind()}\n\n\t// scalar fields without defaults\n\tif !prop.HasDefault {\n\t\treturn sf, false, nil\n\t}\n\n\t// a scalar field: either *T or []byte\n\tswitch ft.Elem().Kind() {\n\tcase reflect.Bool:\n\t\tx, err := strconv.ParseBool(prop.Default)\n\t\tif err != nil {\n\t\t\treturn nil, false, fmt.Errorf(\"proto: bad default bool %q: %v\", prop.Default, err)\n\t\t}\n\t\tsf.value = x\n\tcase reflect.Float32:\n\t\tx, err := strconv.ParseFloat(prop.Default, 32)\n\t\tif err != nil {\n\t\t\treturn nil, false, fmt.Errorf(\"proto: bad default float32 %q: %v\", prop.Default, err)\n\t\t}\n\t\tsf.value = float32(x)\n\tcase reflect.Float64:\n\t\tx, err := strconv.ParseFloat(prop.Default, 64)\n\t\tif err != nil {\n\t\t\treturn nil, false, fmt.Errorf(\"proto: bad default float64 %q: %v\", prop.Default, err)\n\t\t}\n\t\tsf.value = x\n\tcase reflect.Int32:\n\t\tx, err := strconv.ParseInt(prop.Default, 10, 32)\n\t\tif err != nil {\n\t\t\treturn nil, false, fmt.Errorf(\"proto: bad default int32 %q: %v\", prop.Default, err)\n\t\t}\n\t\tsf.value = int32(x)\n\tcase reflect.Int64:\n\t\tx, err := strconv.ParseInt(prop.Default, 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, false, fmt.Errorf(\"proto: bad default int64 %q: %v\", prop.Default, err)\n\t\t}\n\t\tsf.value = x\n\tcase reflect.String:\n\t\tsf.value = prop.Default\n\tcase reflect.Uint8:\n\t\t// []byte (not *uint8)\n\t\tsf.value = []byte(prop.Default)\n\tcase reflect.Uint32:\n\t\tx, err := strconv.ParseUint(prop.Default, 10, 32)\n\t\tif err != nil {\n\t\t\treturn nil, false, fmt.Errorf(\"proto: bad default uint32 %q: %v\", prop.Default, err)\n\t\t}\n\t\tsf.value = uint32(x)\n\tcase reflect.Uint64:\n\t\tx, err := strconv.ParseUint(prop.Default, 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, false, fmt.Errorf(\"proto: bad default uint64 %q: %v\", prop.Default, err)\n\t\t}\n\t\tsf.value = x\n\tdefault:\n\t\treturn nil, false, fmt.Errorf(\"proto: unhandled def kind %v\", ft.Elem().Kind())\n\t}\n\n\treturn sf, false, nil\n}\n\n// mapKeys returns a sort.Interface to be used for sorting the map keys.\n// Map fields may have key types of non-float scalars, strings and enums.\nfunc mapKeys(vs []reflect.Value) sort.Interface {\n\ts := mapKeySorter{vs: vs}\n\n\t// Type specialization per https://developers.google.com/protocol-buffers/docs/proto#maps.\n\tif len(vs) == 0 {\n\t\treturn s\n\t}\n\tswitch vs[0].Kind() {\n\tcase reflect.Int32, reflect.Int64:\n\t\ts.less = func(a, b reflect.Value) bool { return a.Int() < b.Int() }\n\tcase reflect.Uint32, reflect.Uint64:\n\t\ts.less = func(a, b reflect.Value) bool { return a.Uint() < b.Uint() }\n\tcase reflect.Bool:\n\t\ts.less = func(a, b reflect.Value) bool { return !a.Bool() && b.Bool() } // false < true\n\tcase reflect.String:\n\t\ts.less = func(a, b reflect.Value) bool { return a.String() < b.String() }\n\tdefault:\n\t\tpanic(fmt.Sprintf(\"unsupported map key type: %v\", vs[0].Kind()))\n\t}\n\n\treturn s\n}\n\ntype mapKeySorter struct {\n\tvs   []reflect.Value\n\tless func(a, b reflect.Value) bool\n}\n\nfunc (s mapKeySorter) Len() int      { return len(s.vs) }\nfunc (s mapKeySorter) Swap(i, j int) { s.vs[i], s.vs[j] = s.vs[j], s.vs[i] }\nfunc (s mapKeySorter) Less(i, j int) bool {\n\treturn s.less(s.vs[i], s.vs[j])\n}\n\n// isProto3Zero reports whether v is a zero proto3 value.\nfunc isProto3Zero(v reflect.Value) bool {\n\tswitch v.Kind() {\n\tcase reflect.Bool:\n\t\treturn !v.Bool()\n\tcase reflect.Int32, reflect.Int64:\n\t\treturn v.Int() == 0\n\tcase reflect.Uint32, reflect.Uint64:\n\t\treturn v.Uint() == 0\n\tcase reflect.Float32, reflect.Float64:\n\t\treturn v.Float() == 0\n\tcase reflect.String:\n\t\treturn v.String() == \"\"\n\t}\n\treturn false\n}\n\n// ProtoPackageIsVersion2 is referenced from generated protocol buffer files\n// to assert that that code is compatible with this version of the proto package.\nconst ProtoPackageIsVersion2 = true\n\n// ProtoPackageIsVersion1 is referenced from generated protocol buffer files\n// to assert that that code is compatible with this version of the proto package.\nconst ProtoPackageIsVersion1 = true\n\n// InternalMessageInfo is a type used internally by generated .pb.go files.\n// This type is not intended to be used by non-generated code.\n// This type is not subject to any compatibility guarantee.\ntype InternalMessageInfo struct {\n\tmarshal   *marshalInfo\n\tunmarshal *unmarshalInfo\n\tmerge     *mergeInfo\n\tdiscard   *discardInfo\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/proto/message_set.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\n/*\n * Support for message sets.\n */\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"errors\"\n\t\"fmt\"\n\t\"reflect\"\n\t\"sort\"\n\t\"sync\"\n)\n\n// errNoMessageTypeID occurs when a protocol buffer does not have a message type ID.\n// A message type ID is required for storing a protocol buffer in a message set.\nvar errNoMessageTypeID = errors.New(\"proto does not have a message type ID\")\n\n// The first two types (_MessageSet_Item and messageSet)\n// model what the protocol compiler produces for the following protocol message:\n//   message MessageSet {\n//     repeated group Item = 1 {\n//       required int32 type_id = 2;\n//       required string message = 3;\n//     };\n//   }\n// That is the MessageSet wire format. We can't use a proto to generate these\n// because that would introduce a circular dependency between it and this package.\n\ntype _MessageSet_Item struct {\n\tTypeId  *int32 `protobuf:\"varint,2,req,name=type_id\"`\n\tMessage []byte `protobuf:\"bytes,3,req,name=message\"`\n}\n\ntype messageSet struct {\n\tItem             []*_MessageSet_Item `protobuf:\"group,1,rep\"`\n\tXXX_unrecognized []byte\n\t// TODO: caching?\n}\n\n// Make sure messageSet is a Message.\nvar _ Message = (*messageSet)(nil)\n\n// messageTypeIder is an interface satisfied by a protocol buffer type\n// that may be stored in a MessageSet.\ntype messageTypeIder interface {\n\tMessageTypeId() int32\n}\n\nfunc (ms *messageSet) find(pb Message) *_MessageSet_Item {\n\tmti, ok := pb.(messageTypeIder)\n\tif !ok {\n\t\treturn nil\n\t}\n\tid := mti.MessageTypeId()\n\tfor _, item := range ms.Item {\n\t\tif *item.TypeId == id {\n\t\t\treturn item\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (ms *messageSet) Has(pb Message) bool {\n\treturn ms.find(pb) != nil\n}\n\nfunc (ms *messageSet) Unmarshal(pb Message) error {\n\tif item := ms.find(pb); item != nil {\n\t\treturn Unmarshal(item.Message, pb)\n\t}\n\tif _, ok := pb.(messageTypeIder); !ok {\n\t\treturn errNoMessageTypeID\n\t}\n\treturn nil // TODO: return error instead?\n}\n\nfunc (ms *messageSet) Marshal(pb Message) error {\n\tmsg, err := Marshal(pb)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif item := ms.find(pb); item != nil {\n\t\t// reuse existing item\n\t\titem.Message = msg\n\t\treturn nil\n\t}\n\n\tmti, ok := pb.(messageTypeIder)\n\tif !ok {\n\t\treturn errNoMessageTypeID\n\t}\n\n\tmtid := mti.MessageTypeId()\n\tms.Item = append(ms.Item, &_MessageSet_Item{\n\t\tTypeId:  &mtid,\n\t\tMessage: msg,\n\t})\n\treturn nil\n}\n\nfunc (ms *messageSet) Reset()         { *ms = messageSet{} }\nfunc (ms *messageSet) String() string { return CompactTextString(ms) }\nfunc (*messageSet) ProtoMessage()     {}\n\n// Support for the message_set_wire_format message option.\n\nfunc skipVarint(buf []byte) []byte {\n\ti := 0\n\tfor ; buf[i]&0x80 != 0; i++ {\n\t}\n\treturn buf[i+1:]\n}\n\n// MarshalMessageSet encodes the extension map represented by m in the message set wire format.\n// It is called by generated Marshal methods on protocol buffer messages with the message_set_wire_format option.\nfunc MarshalMessageSet(exts interface{}) ([]byte, error) {\n\treturn marshalMessageSet(exts, false)\n}\n\n// marshaMessageSet implements above function, with the opt to turn on / off deterministic during Marshal.\nfunc marshalMessageSet(exts interface{}, deterministic bool) ([]byte, error) {\n\tswitch exts := exts.(type) {\n\tcase *XXX_InternalExtensions:\n\t\tvar u marshalInfo\n\t\tsiz := u.sizeMessageSet(exts)\n\t\tb := make([]byte, 0, siz)\n\t\treturn u.appendMessageSet(b, exts, deterministic)\n\n\tcase map[int32]Extension:\n\t\t// This is an old-style extension map.\n\t\t// Wrap it in a new-style XXX_InternalExtensions.\n\t\tie := XXX_InternalExtensions{\n\t\t\tp: &struct {\n\t\t\t\tmu           sync.Mutex\n\t\t\t\textensionMap map[int32]Extension\n\t\t\t}{\n\t\t\t\textensionMap: exts,\n\t\t\t},\n\t\t}\n\n\t\tvar u marshalInfo\n\t\tsiz := u.sizeMessageSet(&ie)\n\t\tb := make([]byte, 0, siz)\n\t\treturn u.appendMessageSet(b, &ie, deterministic)\n\n\tdefault:\n\t\treturn nil, errors.New(\"proto: not an extension map\")\n\t}\n}\n\n// UnmarshalMessageSet decodes the extension map encoded in buf in the message set wire format.\n// It is called by Unmarshal methods on protocol buffer messages with the message_set_wire_format option.\nfunc UnmarshalMessageSet(buf []byte, exts interface{}) error {\n\tvar m map[int32]Extension\n\tswitch exts := exts.(type) {\n\tcase *XXX_InternalExtensions:\n\t\tm = exts.extensionsWrite()\n\tcase map[int32]Extension:\n\t\tm = exts\n\tdefault:\n\t\treturn errors.New(\"proto: not an extension map\")\n\t}\n\n\tms := new(messageSet)\n\tif err := Unmarshal(buf, ms); err != nil {\n\t\treturn err\n\t}\n\tfor _, item := range ms.Item {\n\t\tid := *item.TypeId\n\t\tmsg := item.Message\n\n\t\t// Restore wire type and field number varint, plus length varint.\n\t\t// Be careful to preserve duplicate items.\n\t\tb := EncodeVarint(uint64(id)<<3 | WireBytes)\n\t\tif ext, ok := m[id]; ok {\n\t\t\t// Existing data; rip off the tag and length varint\n\t\t\t// so we join the new data correctly.\n\t\t\t// We can assume that ext.enc is set because we are unmarshaling.\n\t\t\to := ext.enc[len(b):]   // skip wire type and field number\n\t\t\t_, n := DecodeVarint(o) // calculate length of length varint\n\t\t\to = o[n:]               // skip length varint\n\t\t\tmsg = append(o, msg...) // join old data and new data\n\t\t}\n\t\tb = append(b, EncodeVarint(uint64(len(msg)))...)\n\t\tb = append(b, msg...)\n\n\t\tm[id] = Extension{enc: b}\n\t}\n\treturn nil\n}\n\n// MarshalMessageSetJSON encodes the extension map represented by m in JSON format.\n// It is called by generated MarshalJSON methods on protocol buffer messages with the message_set_wire_format option.\nfunc MarshalMessageSetJSON(exts interface{}) ([]byte, error) {\n\tvar m map[int32]Extension\n\tswitch exts := exts.(type) {\n\tcase *XXX_InternalExtensions:\n\t\tvar mu sync.Locker\n\t\tm, mu = exts.extensionsRead()\n\t\tif m != nil {\n\t\t\t// Keep the extensions map locked until we're done marshaling to prevent\n\t\t\t// races between marshaling and unmarshaling the lazily-{en,de}coded\n\t\t\t// values.\n\t\t\tmu.Lock()\n\t\t\tdefer mu.Unlock()\n\t\t}\n\tcase map[int32]Extension:\n\t\tm = exts\n\tdefault:\n\t\treturn nil, errors.New(\"proto: not an extension map\")\n\t}\n\tvar b bytes.Buffer\n\tb.WriteByte('{')\n\n\t// Process the map in key order for deterministic output.\n\tids := make([]int32, 0, len(m))\n\tfor id := range m {\n\t\tids = append(ids, id)\n\t}\n\tsort.Sort(int32Slice(ids)) // int32Slice defined in text.go\n\n\tfor i, id := range ids {\n\t\text := m[id]\n\t\tmsd, ok := messageSetMap[id]\n\t\tif !ok {\n\t\t\t// Unknown type; we can't render it, so skip it.\n\t\t\tcontinue\n\t\t}\n\n\t\tif i > 0 && b.Len() > 1 {\n\t\t\tb.WriteByte(',')\n\t\t}\n\n\t\tfmt.Fprintf(&b, `\"[%s]\":`, msd.name)\n\n\t\tx := ext.value\n\t\tif x == nil {\n\t\t\tx = reflect.New(msd.t.Elem()).Interface()\n\t\t\tif err := Unmarshal(ext.enc, x.(Message)); err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t}\n\t\td, err := json.Marshal(x)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tb.Write(d)\n\t}\n\tb.WriteByte('}')\n\treturn b.Bytes(), nil\n}\n\n// UnmarshalMessageSetJSON decodes the extension map encoded in buf in JSON format.\n// It is called by generated UnmarshalJSON methods on protocol buffer messages with the message_set_wire_format option.\nfunc UnmarshalMessageSetJSON(buf []byte, exts interface{}) error {\n\t// Common-case fast path.\n\tif len(buf) == 0 || bytes.Equal(buf, []byte(\"{}\")) {\n\t\treturn nil\n\t}\n\n\t// This is fairly tricky, and it's not clear that it is needed.\n\treturn errors.New(\"TODO: UnmarshalMessageSetJSON not yet implemented\")\n}\n\n// A global registry of types that can be used in a MessageSet.\n\nvar messageSetMap = make(map[int32]messageSetDesc)\n\ntype messageSetDesc struct {\n\tt    reflect.Type // pointer to struct\n\tname string\n}\n\n// RegisterMessageSetType is called from the generated code.\nfunc RegisterMessageSetType(m Message, fieldNum int32, name string) {\n\tmessageSetMap[fieldNum] = messageSetDesc{\n\t\tt:    reflect.TypeOf(m),\n\t\tname: name,\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/proto/pointer_reflect.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2012 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n// +build purego appengine js\n\n// This file contains an implementation of proto field accesses using package reflect.\n// It is slower than the code in pointer_unsafe.go but it avoids package unsafe and can\n// be used on App Engine.\n\npackage proto\n\nimport (\n\t\"reflect\"\n\t\"sync\"\n)\n\nconst unsafeAllowed = false\n\n// A field identifies a field in a struct, accessible from a pointer.\n// In this implementation, a field is identified by the sequence of field indices\n// passed to reflect's FieldByIndex.\ntype field []int\n\n// toField returns a field equivalent to the given reflect field.\nfunc toField(f *reflect.StructField) field {\n\treturn f.Index\n}\n\n// invalidField is an invalid field identifier.\nvar invalidField = field(nil)\n\n// zeroField is a noop when calling pointer.offset.\nvar zeroField = field([]int{})\n\n// IsValid reports whether the field identifier is valid.\nfunc (f field) IsValid() bool { return f != nil }\n\n// The pointer type is for the table-driven decoder.\n// The implementation here uses a reflect.Value of pointer type to\n// create a generic pointer. In pointer_unsafe.go we use unsafe\n// instead of reflect to implement the same (but faster) interface.\ntype pointer struct {\n\tv reflect.Value\n}\n\n// toPointer converts an interface of pointer type to a pointer\n// that points to the same target.\nfunc toPointer(i *Message) pointer {\n\treturn pointer{v: reflect.ValueOf(*i)}\n}\n\n// toAddrPointer converts an interface to a pointer that points to\n// the interface data.\nfunc toAddrPointer(i *interface{}, isptr bool) pointer {\n\tv := reflect.ValueOf(*i)\n\tu := reflect.New(v.Type())\n\tu.Elem().Set(v)\n\treturn pointer{v: u}\n}\n\n// valToPointer converts v to a pointer.  v must be of pointer type.\nfunc valToPointer(v reflect.Value) pointer {\n\treturn pointer{v: v}\n}\n\n// offset converts from a pointer to a structure to a pointer to\n// one of its fields.\nfunc (p pointer) offset(f field) pointer {\n\treturn pointer{v: p.v.Elem().FieldByIndex(f).Addr()}\n}\n\nfunc (p pointer) isNil() bool {\n\treturn p.v.IsNil()\n}\n\n// grow updates the slice s in place to make it one element longer.\n// s must be addressable.\n// Returns the (addressable) new element.\nfunc grow(s reflect.Value) reflect.Value {\n\tn, m := s.Len(), s.Cap()\n\tif n < m {\n\t\ts.SetLen(n + 1)\n\t} else {\n\t\ts.Set(reflect.Append(s, reflect.Zero(s.Type().Elem())))\n\t}\n\treturn s.Index(n)\n}\n\nfunc (p pointer) toInt64() *int64 {\n\treturn p.v.Interface().(*int64)\n}\nfunc (p pointer) toInt64Ptr() **int64 {\n\treturn p.v.Interface().(**int64)\n}\nfunc (p pointer) toInt64Slice() *[]int64 {\n\treturn p.v.Interface().(*[]int64)\n}\n\nvar int32ptr = reflect.TypeOf((*int32)(nil))\n\nfunc (p pointer) toInt32() *int32 {\n\treturn p.v.Convert(int32ptr).Interface().(*int32)\n}\n\n// The toInt32Ptr/Slice methods don't work because of enums.\n// Instead, we must use set/get methods for the int32ptr/slice case.\n/*\n\tfunc (p pointer) toInt32Ptr() **int32 {\n\t\treturn p.v.Interface().(**int32)\n}\n\tfunc (p pointer) toInt32Slice() *[]int32 {\n\t\treturn p.v.Interface().(*[]int32)\n}\n*/\nfunc (p pointer) getInt32Ptr() *int32 {\n\tif p.v.Type().Elem().Elem() == reflect.TypeOf(int32(0)) {\n\t\t// raw int32 type\n\t\treturn p.v.Elem().Interface().(*int32)\n\t}\n\t// an enum\n\treturn p.v.Elem().Convert(int32PtrType).Interface().(*int32)\n}\nfunc (p pointer) setInt32Ptr(v int32) {\n\t// Allocate value in a *int32. Possibly convert that to a *enum.\n\t// Then assign it to a **int32 or **enum.\n\t// Note: we can convert *int32 to *enum, but we can't convert\n\t// **int32 to **enum!\n\tp.v.Elem().Set(reflect.ValueOf(&v).Convert(p.v.Type().Elem()))\n}\n\n// getInt32Slice copies []int32 from p as a new slice.\n// This behavior differs from the implementation in pointer_unsafe.go.\nfunc (p pointer) getInt32Slice() []int32 {\n\tif p.v.Type().Elem().Elem() == reflect.TypeOf(int32(0)) {\n\t\t// raw int32 type\n\t\treturn p.v.Elem().Interface().([]int32)\n\t}\n\t// an enum\n\t// Allocate a []int32, then assign []enum's values into it.\n\t// Note: we can't convert []enum to []int32.\n\tslice := p.v.Elem()\n\ts := make([]int32, slice.Len())\n\tfor i := 0; i < slice.Len(); i++ {\n\t\ts[i] = int32(slice.Index(i).Int())\n\t}\n\treturn s\n}\n\n// setInt32Slice copies []int32 into p as a new slice.\n// This behavior differs from the implementation in pointer_unsafe.go.\nfunc (p pointer) setInt32Slice(v []int32) {\n\tif p.v.Type().Elem().Elem() == reflect.TypeOf(int32(0)) {\n\t\t// raw int32 type\n\t\tp.v.Elem().Set(reflect.ValueOf(v))\n\t\treturn\n\t}\n\t// an enum\n\t// Allocate a []enum, then assign []int32's values into it.\n\t// Note: we can't convert []enum to []int32.\n\tslice := reflect.MakeSlice(p.v.Type().Elem(), len(v), cap(v))\n\tfor i, x := range v {\n\t\tslice.Index(i).SetInt(int64(x))\n\t}\n\tp.v.Elem().Set(slice)\n}\nfunc (p pointer) appendInt32Slice(v int32) {\n\tgrow(p.v.Elem()).SetInt(int64(v))\n}\n\nfunc (p pointer) toUint64() *uint64 {\n\treturn p.v.Interface().(*uint64)\n}\nfunc (p pointer) toUint64Ptr() **uint64 {\n\treturn p.v.Interface().(**uint64)\n}\nfunc (p pointer) toUint64Slice() *[]uint64 {\n\treturn p.v.Interface().(*[]uint64)\n}\nfunc (p pointer) toUint32() *uint32 {\n\treturn p.v.Interface().(*uint32)\n}\nfunc (p pointer) toUint32Ptr() **uint32 {\n\treturn p.v.Interface().(**uint32)\n}\nfunc (p pointer) toUint32Slice() *[]uint32 {\n\treturn p.v.Interface().(*[]uint32)\n}\nfunc (p pointer) toBool() *bool {\n\treturn p.v.Interface().(*bool)\n}\nfunc (p pointer) toBoolPtr() **bool {\n\treturn p.v.Interface().(**bool)\n}\nfunc (p pointer) toBoolSlice() *[]bool {\n\treturn p.v.Interface().(*[]bool)\n}\nfunc (p pointer) toFloat64() *float64 {\n\treturn p.v.Interface().(*float64)\n}\nfunc (p pointer) toFloat64Ptr() **float64 {\n\treturn p.v.Interface().(**float64)\n}\nfunc (p pointer) toFloat64Slice() *[]float64 {\n\treturn p.v.Interface().(*[]float64)\n}\nfunc (p pointer) toFloat32() *float32 {\n\treturn p.v.Interface().(*float32)\n}\nfunc (p pointer) toFloat32Ptr() **float32 {\n\treturn p.v.Interface().(**float32)\n}\nfunc (p pointer) toFloat32Slice() *[]float32 {\n\treturn p.v.Interface().(*[]float32)\n}\nfunc (p pointer) toString() *string {\n\treturn p.v.Interface().(*string)\n}\nfunc (p pointer) toStringPtr() **string {\n\treturn p.v.Interface().(**string)\n}\nfunc (p pointer) toStringSlice() *[]string {\n\treturn p.v.Interface().(*[]string)\n}\nfunc (p pointer) toBytes() *[]byte {\n\treturn p.v.Interface().(*[]byte)\n}\nfunc (p pointer) toBytesSlice() *[][]byte {\n\treturn p.v.Interface().(*[][]byte)\n}\nfunc (p pointer) toExtensions() *XXX_InternalExtensions {\n\treturn p.v.Interface().(*XXX_InternalExtensions)\n}\nfunc (p pointer) toOldExtensions() *map[int32]Extension {\n\treturn p.v.Interface().(*map[int32]Extension)\n}\nfunc (p pointer) getPointer() pointer {\n\treturn pointer{v: p.v.Elem()}\n}\nfunc (p pointer) setPointer(q pointer) {\n\tp.v.Elem().Set(q.v)\n}\nfunc (p pointer) appendPointer(q pointer) {\n\tgrow(p.v.Elem()).Set(q.v)\n}\n\n// getPointerSlice copies []*T from p as a new []pointer.\n// This behavior differs from the implementation in pointer_unsafe.go.\nfunc (p pointer) getPointerSlice() []pointer {\n\tif p.v.IsNil() {\n\t\treturn nil\n\t}\n\tn := p.v.Elem().Len()\n\ts := make([]pointer, n)\n\tfor i := 0; i < n; i++ {\n\t\ts[i] = pointer{v: p.v.Elem().Index(i)}\n\t}\n\treturn s\n}\n\n// setPointerSlice copies []pointer into p as a new []*T.\n// This behavior differs from the implementation in pointer_unsafe.go.\nfunc (p pointer) setPointerSlice(v []pointer) {\n\tif v == nil {\n\t\tp.v.Elem().Set(reflect.New(p.v.Elem().Type()).Elem())\n\t\treturn\n\t}\n\ts := reflect.MakeSlice(p.v.Elem().Type(), 0, len(v))\n\tfor _, p := range v {\n\t\ts = reflect.Append(s, p.v)\n\t}\n\tp.v.Elem().Set(s)\n}\n\n// getInterfacePointer returns a pointer that points to the\n// interface data of the interface pointed by p.\nfunc (p pointer) getInterfacePointer() pointer {\n\tif p.v.Elem().IsNil() {\n\t\treturn pointer{v: p.v.Elem()}\n\t}\n\treturn pointer{v: p.v.Elem().Elem().Elem().Field(0).Addr()} // *interface -> interface -> *struct -> struct\n}\n\nfunc (p pointer) asPointerTo(t reflect.Type) reflect.Value {\n\t// TODO: check that p.v.Type().Elem() == t?\n\treturn p.v\n}\n\nfunc atomicLoadUnmarshalInfo(p **unmarshalInfo) *unmarshalInfo {\n\tatomicLock.Lock()\n\tdefer atomicLock.Unlock()\n\treturn *p\n}\nfunc atomicStoreUnmarshalInfo(p **unmarshalInfo, v *unmarshalInfo) {\n\tatomicLock.Lock()\n\tdefer atomicLock.Unlock()\n\t*p = v\n}\nfunc atomicLoadMarshalInfo(p **marshalInfo) *marshalInfo {\n\tatomicLock.Lock()\n\tdefer atomicLock.Unlock()\n\treturn *p\n}\nfunc atomicStoreMarshalInfo(p **marshalInfo, v *marshalInfo) {\n\tatomicLock.Lock()\n\tdefer atomicLock.Unlock()\n\t*p = v\n}\nfunc atomicLoadMergeInfo(p **mergeInfo) *mergeInfo {\n\tatomicLock.Lock()\n\tdefer atomicLock.Unlock()\n\treturn *p\n}\nfunc atomicStoreMergeInfo(p **mergeInfo, v *mergeInfo) {\n\tatomicLock.Lock()\n\tdefer atomicLock.Unlock()\n\t*p = v\n}\nfunc atomicLoadDiscardInfo(p **discardInfo) *discardInfo {\n\tatomicLock.Lock()\n\tdefer atomicLock.Unlock()\n\treturn *p\n}\nfunc atomicStoreDiscardInfo(p **discardInfo, v *discardInfo) {\n\tatomicLock.Lock()\n\tdefer atomicLock.Unlock()\n\t*p = v\n}\n\nvar atomicLock sync.Mutex\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/proto/pointer_unsafe.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2012 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n// +build !purego,!appengine,!js\n\n// This file contains the implementation of the proto field accesses using package unsafe.\n\npackage proto\n\nimport (\n\t\"reflect\"\n\t\"sync/atomic\"\n\t\"unsafe\"\n)\n\nconst unsafeAllowed = true\n\n// A field identifies a field in a struct, accessible from a pointer.\n// In this implementation, a field is identified by its byte offset from the start of the struct.\ntype field uintptr\n\n// toField returns a field equivalent to the given reflect field.\nfunc toField(f *reflect.StructField) field {\n\treturn field(f.Offset)\n}\n\n// invalidField is an invalid field identifier.\nconst invalidField = ^field(0)\n\n// zeroField is a noop when calling pointer.offset.\nconst zeroField = field(0)\n\n// IsValid reports whether the field identifier is valid.\nfunc (f field) IsValid() bool {\n\treturn f != invalidField\n}\n\n// The pointer type below is for the new table-driven encoder/decoder.\n// The implementation here uses unsafe.Pointer to create a generic pointer.\n// In pointer_reflect.go we use reflect instead of unsafe to implement\n// the same (but slower) interface.\ntype pointer struct {\n\tp unsafe.Pointer\n}\n\n// size of pointer\nvar ptrSize = unsafe.Sizeof(uintptr(0))\n\n// toPointer converts an interface of pointer type to a pointer\n// that points to the same target.\nfunc toPointer(i *Message) pointer {\n\t// Super-tricky - read pointer out of data word of interface value.\n\t// Saves ~25ns over the equivalent:\n\t// return valToPointer(reflect.ValueOf(*i))\n\treturn pointer{p: (*[2]unsafe.Pointer)(unsafe.Pointer(i))[1]}\n}\n\n// toAddrPointer converts an interface to a pointer that points to\n// the interface data.\nfunc toAddrPointer(i *interface{}, isptr bool) pointer {\n\t// Super-tricky - read or get the address of data word of interface value.\n\tif isptr {\n\t\t// The interface is of pointer type, thus it is a direct interface.\n\t\t// The data word is the pointer data itself. We take its address.\n\t\treturn pointer{p: unsafe.Pointer(uintptr(unsafe.Pointer(i)) + ptrSize)}\n\t}\n\t// The interface is not of pointer type. The data word is the pointer\n\t// to the data.\n\treturn pointer{p: (*[2]unsafe.Pointer)(unsafe.Pointer(i))[1]}\n}\n\n// valToPointer converts v to a pointer. v must be of pointer type.\nfunc valToPointer(v reflect.Value) pointer {\n\treturn pointer{p: unsafe.Pointer(v.Pointer())}\n}\n\n// offset converts from a pointer to a structure to a pointer to\n// one of its fields.\nfunc (p pointer) offset(f field) pointer {\n\t// For safety, we should panic if !f.IsValid, however calling panic causes\n\t// this to no longer be inlineable, which is a serious performance cost.\n\t/*\n\t\tif !f.IsValid() {\n\t\t\tpanic(\"invalid field\")\n\t\t}\n\t*/\n\treturn pointer{p: unsafe.Pointer(uintptr(p.p) + uintptr(f))}\n}\n\nfunc (p pointer) isNil() bool {\n\treturn p.p == nil\n}\n\nfunc (p pointer) toInt64() *int64 {\n\treturn (*int64)(p.p)\n}\nfunc (p pointer) toInt64Ptr() **int64 {\n\treturn (**int64)(p.p)\n}\nfunc (p pointer) toInt64Slice() *[]int64 {\n\treturn (*[]int64)(p.p)\n}\nfunc (p pointer) toInt32() *int32 {\n\treturn (*int32)(p.p)\n}\n\n// See pointer_reflect.go for why toInt32Ptr/Slice doesn't exist.\n/*\n\tfunc (p pointer) toInt32Ptr() **int32 {\n\t\treturn (**int32)(p.p)\n\t}\n\tfunc (p pointer) toInt32Slice() *[]int32 {\n\t\treturn (*[]int32)(p.p)\n\t}\n*/\nfunc (p pointer) getInt32Ptr() *int32 {\n\treturn *(**int32)(p.p)\n}\nfunc (p pointer) setInt32Ptr(v int32) {\n\t*(**int32)(p.p) = &v\n}\n\n// getInt32Slice loads a []int32 from p.\n// The value returned is aliased with the original slice.\n// This behavior differs from the implementation in pointer_reflect.go.\nfunc (p pointer) getInt32Slice() []int32 {\n\treturn *(*[]int32)(p.p)\n}\n\n// setInt32Slice stores a []int32 to p.\n// The value set is aliased with the input slice.\n// This behavior differs from the implementation in pointer_reflect.go.\nfunc (p pointer) setInt32Slice(v []int32) {\n\t*(*[]int32)(p.p) = v\n}\n\n// TODO: Can we get rid of appendInt32Slice and use setInt32Slice instead?\nfunc (p pointer) appendInt32Slice(v int32) {\n\ts := (*[]int32)(p.p)\n\t*s = append(*s, v)\n}\n\nfunc (p pointer) toUint64() *uint64 {\n\treturn (*uint64)(p.p)\n}\nfunc (p pointer) toUint64Ptr() **uint64 {\n\treturn (**uint64)(p.p)\n}\nfunc (p pointer) toUint64Slice() *[]uint64 {\n\treturn (*[]uint64)(p.p)\n}\nfunc (p pointer) toUint32() *uint32 {\n\treturn (*uint32)(p.p)\n}\nfunc (p pointer) toUint32Ptr() **uint32 {\n\treturn (**uint32)(p.p)\n}\nfunc (p pointer) toUint32Slice() *[]uint32 {\n\treturn (*[]uint32)(p.p)\n}\nfunc (p pointer) toBool() *bool {\n\treturn (*bool)(p.p)\n}\nfunc (p pointer) toBoolPtr() **bool {\n\treturn (**bool)(p.p)\n}\nfunc (p pointer) toBoolSlice() *[]bool {\n\treturn (*[]bool)(p.p)\n}\nfunc (p pointer) toFloat64() *float64 {\n\treturn (*float64)(p.p)\n}\nfunc (p pointer) toFloat64Ptr() **float64 {\n\treturn (**float64)(p.p)\n}\nfunc (p pointer) toFloat64Slice() *[]float64 {\n\treturn (*[]float64)(p.p)\n}\nfunc (p pointer) toFloat32() *float32 {\n\treturn (*float32)(p.p)\n}\nfunc (p pointer) toFloat32Ptr() **float32 {\n\treturn (**float32)(p.p)\n}\nfunc (p pointer) toFloat32Slice() *[]float32 {\n\treturn (*[]float32)(p.p)\n}\nfunc (p pointer) toString() *string {\n\treturn (*string)(p.p)\n}\nfunc (p pointer) toStringPtr() **string {\n\treturn (**string)(p.p)\n}\nfunc (p pointer) toStringSlice() *[]string {\n\treturn (*[]string)(p.p)\n}\nfunc (p pointer) toBytes() *[]byte {\n\treturn (*[]byte)(p.p)\n}\nfunc (p pointer) toBytesSlice() *[][]byte {\n\treturn (*[][]byte)(p.p)\n}\nfunc (p pointer) toExtensions() *XXX_InternalExtensions {\n\treturn (*XXX_InternalExtensions)(p.p)\n}\nfunc (p pointer) toOldExtensions() *map[int32]Extension {\n\treturn (*map[int32]Extension)(p.p)\n}\n\n// getPointerSlice loads []*T from p as a []pointer.\n// The value returned is aliased with the original slice.\n// This behavior differs from the implementation in pointer_reflect.go.\nfunc (p pointer) getPointerSlice() []pointer {\n\t// Super-tricky - p should point to a []*T where T is a\n\t// message type. We load it as []pointer.\n\treturn *(*[]pointer)(p.p)\n}\n\n// setPointerSlice stores []pointer into p as a []*T.\n// The value set is aliased with the input slice.\n// This behavior differs from the implementation in pointer_reflect.go.\nfunc (p pointer) setPointerSlice(v []pointer) {\n\t// Super-tricky - p should point to a []*T where T is a\n\t// message type. We store it as []pointer.\n\t*(*[]pointer)(p.p) = v\n}\n\n// getPointer loads the pointer at p and returns it.\nfunc (p pointer) getPointer() pointer {\n\treturn pointer{p: *(*unsafe.Pointer)(p.p)}\n}\n\n// setPointer stores the pointer q at p.\nfunc (p pointer) setPointer(q pointer) {\n\t*(*unsafe.Pointer)(p.p) = q.p\n}\n\n// append q to the slice pointed to by p.\nfunc (p pointer) appendPointer(q pointer) {\n\ts := (*[]unsafe.Pointer)(p.p)\n\t*s = append(*s, q.p)\n}\n\n// getInterfacePointer returns a pointer that points to the\n// interface data of the interface pointed by p.\nfunc (p pointer) getInterfacePointer() pointer {\n\t// Super-tricky - read pointer out of data word of interface value.\n\treturn pointer{p: (*(*[2]unsafe.Pointer)(p.p))[1]}\n}\n\n// asPointerTo returns a reflect.Value that is a pointer to an\n// object of type t stored at p.\nfunc (p pointer) asPointerTo(t reflect.Type) reflect.Value {\n\treturn reflect.NewAt(t, p.p)\n}\n\nfunc atomicLoadUnmarshalInfo(p **unmarshalInfo) *unmarshalInfo {\n\treturn (*unmarshalInfo)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(p))))\n}\nfunc atomicStoreUnmarshalInfo(p **unmarshalInfo, v *unmarshalInfo) {\n\tatomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(p)), unsafe.Pointer(v))\n}\nfunc atomicLoadMarshalInfo(p **marshalInfo) *marshalInfo {\n\treturn (*marshalInfo)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(p))))\n}\nfunc atomicStoreMarshalInfo(p **marshalInfo, v *marshalInfo) {\n\tatomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(p)), unsafe.Pointer(v))\n}\nfunc atomicLoadMergeInfo(p **mergeInfo) *mergeInfo {\n\treturn (*mergeInfo)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(p))))\n}\nfunc atomicStoreMergeInfo(p **mergeInfo, v *mergeInfo) {\n\tatomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(p)), unsafe.Pointer(v))\n}\nfunc atomicLoadDiscardInfo(p **discardInfo) *discardInfo {\n\treturn (*discardInfo)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(p))))\n}\nfunc atomicStoreDiscardInfo(p **discardInfo, v *discardInfo) {\n\tatomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(p)), unsafe.Pointer(v))\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/proto/properties.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\n/*\n * Routines for encoding data into the wire format for protocol buffers.\n */\n\nimport (\n\t\"fmt\"\n\t\"log\"\n\t\"os\"\n\t\"reflect\"\n\t\"sort\"\n\t\"strconv\"\n\t\"strings\"\n\t\"sync\"\n)\n\nconst debug bool = false\n\n// Constants that identify the encoding of a value on the wire.\nconst (\n\tWireVarint     = 0\n\tWireFixed64    = 1\n\tWireBytes      = 2\n\tWireStartGroup = 3\n\tWireEndGroup   = 4\n\tWireFixed32    = 5\n)\n\n// tagMap is an optimization over map[int]int for typical protocol buffer\n// use-cases. Encoded protocol buffers are often in tag order with small tag\n// numbers.\ntype tagMap struct {\n\tfastTags []int\n\tslowTags map[int]int\n}\n\n// tagMapFastLimit is the upper bound on the tag number that will be stored in\n// the tagMap slice rather than its map.\nconst tagMapFastLimit = 1024\n\nfunc (p *tagMap) get(t int) (int, bool) {\n\tif t > 0 && t < tagMapFastLimit {\n\t\tif t >= len(p.fastTags) {\n\t\t\treturn 0, false\n\t\t}\n\t\tfi := p.fastTags[t]\n\t\treturn fi, fi >= 0\n\t}\n\tfi, ok := p.slowTags[t]\n\treturn fi, ok\n}\n\nfunc (p *tagMap) put(t int, fi int) {\n\tif t > 0 && t < tagMapFastLimit {\n\t\tfor len(p.fastTags) < t+1 {\n\t\t\tp.fastTags = append(p.fastTags, -1)\n\t\t}\n\t\tp.fastTags[t] = fi\n\t\treturn\n\t}\n\tif p.slowTags == nil {\n\t\tp.slowTags = make(map[int]int)\n\t}\n\tp.slowTags[t] = fi\n}\n\n// StructProperties represents properties for all the fields of a struct.\n// decoderTags and decoderOrigNames should only be used by the decoder.\ntype StructProperties struct {\n\tProp             []*Properties  // properties for each field\n\treqCount         int            // required count\n\tdecoderTags      tagMap         // map from proto tag to struct field number\n\tdecoderOrigNames map[string]int // map from original name to struct field number\n\torder            []int          // list of struct field numbers in tag order\n\n\t// OneofTypes contains information about the oneof fields in this message.\n\t// It is keyed by the original name of a field.\n\tOneofTypes map[string]*OneofProperties\n}\n\n// OneofProperties represents information about a specific field in a oneof.\ntype OneofProperties struct {\n\tType  reflect.Type // pointer to generated struct type for this oneof field\n\tField int          // struct field number of the containing oneof in the message\n\tProp  *Properties\n}\n\n// Implement the sorting interface so we can sort the fields in tag order, as recommended by the spec.\n// See encode.go, (*Buffer).enc_struct.\n\nfunc (sp *StructProperties) Len() int { return len(sp.order) }\nfunc (sp *StructProperties) Less(i, j int) bool {\n\treturn sp.Prop[sp.order[i]].Tag < sp.Prop[sp.order[j]].Tag\n}\nfunc (sp *StructProperties) Swap(i, j int) { sp.order[i], sp.order[j] = sp.order[j], sp.order[i] }\n\n// Properties represents the protocol-specific behavior of a single struct field.\ntype Properties struct {\n\tName     string // name of the field, for error messages\n\tOrigName string // original name before protocol compiler (always set)\n\tJSONName string // name to use for JSON; determined by protoc\n\tWire     string\n\tWireType int\n\tTag      int\n\tRequired bool\n\tOptional bool\n\tRepeated bool\n\tPacked   bool   // relevant for repeated primitives only\n\tEnum     string // set for enum types only\n\tproto3   bool   // whether this is known to be a proto3 field; set for []byte only\n\toneof    bool   // whether this is a oneof field\n\n\tDefault    string // default value\n\tHasDefault bool   // whether an explicit default was provided\n\n\tstype reflect.Type      // set for struct types only\n\tsprop *StructProperties // set for struct types only\n\n\tmtype    reflect.Type // set for map types only\n\tmkeyprop *Properties  // set for map types only\n\tmvalprop *Properties  // set for map types only\n}\n\n// String formats the properties in the protobuf struct field tag style.\nfunc (p *Properties) String() string {\n\ts := p.Wire\n\ts += \",\"\n\ts += strconv.Itoa(p.Tag)\n\tif p.Required {\n\t\ts += \",req\"\n\t}\n\tif p.Optional {\n\t\ts += \",opt\"\n\t}\n\tif p.Repeated {\n\t\ts += \",rep\"\n\t}\n\tif p.Packed {\n\t\ts += \",packed\"\n\t}\n\ts += \",name=\" + p.OrigName\n\tif p.JSONName != p.OrigName {\n\t\ts += \",json=\" + p.JSONName\n\t}\n\tif p.proto3 {\n\t\ts += \",proto3\"\n\t}\n\tif p.oneof {\n\t\ts += \",oneof\"\n\t}\n\tif len(p.Enum) > 0 {\n\t\ts += \",enum=\" + p.Enum\n\t}\n\tif p.HasDefault {\n\t\ts += \",def=\" + p.Default\n\t}\n\treturn s\n}\n\n// Parse populates p by parsing a string in the protobuf struct field tag style.\nfunc (p *Properties) Parse(s string) {\n\t// \"bytes,49,opt,name=foo,def=hello!\"\n\tfields := strings.Split(s, \",\") // breaks def=, but handled below.\n\tif len(fields) < 2 {\n\t\tfmt.Fprintf(os.Stderr, \"proto: tag has too few fields: %q\\n\", s)\n\t\treturn\n\t}\n\n\tp.Wire = fields[0]\n\tswitch p.Wire {\n\tcase \"varint\":\n\t\tp.WireType = WireVarint\n\tcase \"fixed32\":\n\t\tp.WireType = WireFixed32\n\tcase \"fixed64\":\n\t\tp.WireType = WireFixed64\n\tcase \"zigzag32\":\n\t\tp.WireType = WireVarint\n\tcase \"zigzag64\":\n\t\tp.WireType = WireVarint\n\tcase \"bytes\", \"group\":\n\t\tp.WireType = WireBytes\n\t\t// no numeric converter for non-numeric types\n\tdefault:\n\t\tfmt.Fprintf(os.Stderr, \"proto: tag has unknown wire type: %q\\n\", s)\n\t\treturn\n\t}\n\n\tvar err error\n\tp.Tag, err = strconv.Atoi(fields[1])\n\tif err != nil {\n\t\treturn\n\t}\n\nouter:\n\tfor i := 2; i < len(fields); i++ {\n\t\tf := fields[i]\n\t\tswitch {\n\t\tcase f == \"req\":\n\t\t\tp.Required = true\n\t\tcase f == \"opt\":\n\t\t\tp.Optional = true\n\t\tcase f == \"rep\":\n\t\t\tp.Repeated = true\n\t\tcase f == \"packed\":\n\t\t\tp.Packed = true\n\t\tcase strings.HasPrefix(f, \"name=\"):\n\t\t\tp.OrigName = f[5:]\n\t\tcase strings.HasPrefix(f, \"json=\"):\n\t\t\tp.JSONName = f[5:]\n\t\tcase strings.HasPrefix(f, \"enum=\"):\n\t\t\tp.Enum = f[5:]\n\t\tcase f == \"proto3\":\n\t\t\tp.proto3 = true\n\t\tcase f == \"oneof\":\n\t\t\tp.oneof = true\n\t\tcase strings.HasPrefix(f, \"def=\"):\n\t\t\tp.HasDefault = true\n\t\t\tp.Default = f[4:] // rest of string\n\t\t\tif i+1 < len(fields) {\n\t\t\t\t// Commas aren't escaped, and def is always last.\n\t\t\t\tp.Default += \",\" + strings.Join(fields[i+1:], \",\")\n\t\t\t\tbreak outer\n\t\t\t}\n\t\t}\n\t}\n}\n\nvar protoMessageType = reflect.TypeOf((*Message)(nil)).Elem()\n\n// setFieldProps initializes the field properties for submessages and maps.\nfunc (p *Properties) setFieldProps(typ reflect.Type, f *reflect.StructField, lockGetProp bool) {\n\tswitch t1 := typ; t1.Kind() {\n\tcase reflect.Ptr:\n\t\tif t1.Elem().Kind() == reflect.Struct {\n\t\t\tp.stype = t1.Elem()\n\t\t}\n\n\tcase reflect.Slice:\n\t\tif t2 := t1.Elem(); t2.Kind() == reflect.Ptr && t2.Elem().Kind() == reflect.Struct {\n\t\t\tp.stype = t2.Elem()\n\t\t}\n\n\tcase reflect.Map:\n\t\tp.mtype = t1\n\t\tp.mkeyprop = &Properties{}\n\t\tp.mkeyprop.init(reflect.PtrTo(p.mtype.Key()), \"Key\", f.Tag.Get(\"protobuf_key\"), nil, lockGetProp)\n\t\tp.mvalprop = &Properties{}\n\t\tvtype := p.mtype.Elem()\n\t\tif vtype.Kind() != reflect.Ptr && vtype.Kind() != reflect.Slice {\n\t\t\t// The value type is not a message (*T) or bytes ([]byte),\n\t\t\t// so we need encoders for the pointer to this type.\n\t\t\tvtype = reflect.PtrTo(vtype)\n\t\t}\n\t\tp.mvalprop.init(vtype, \"Value\", f.Tag.Get(\"protobuf_val\"), nil, lockGetProp)\n\t}\n\n\tif p.stype != nil {\n\t\tif lockGetProp {\n\t\t\tp.sprop = GetProperties(p.stype)\n\t\t} else {\n\t\t\tp.sprop = getPropertiesLocked(p.stype)\n\t\t}\n\t}\n}\n\nvar (\n\tmarshalerType = reflect.TypeOf((*Marshaler)(nil)).Elem()\n)\n\n// Init populates the properties from a protocol buffer struct tag.\nfunc (p *Properties) Init(typ reflect.Type, name, tag string, f *reflect.StructField) {\n\tp.init(typ, name, tag, f, true)\n}\n\nfunc (p *Properties) init(typ reflect.Type, name, tag string, f *reflect.StructField, lockGetProp bool) {\n\t// \"bytes,49,opt,def=hello!\"\n\tp.Name = name\n\tp.OrigName = name\n\tif tag == \"\" {\n\t\treturn\n\t}\n\tp.Parse(tag)\n\tp.setFieldProps(typ, f, lockGetProp)\n}\n\nvar (\n\tpropertiesMu  sync.RWMutex\n\tpropertiesMap = make(map[reflect.Type]*StructProperties)\n)\n\n// GetProperties returns the list of properties for the type represented by t.\n// t must represent a generated struct type of a protocol message.\nfunc GetProperties(t reflect.Type) *StructProperties {\n\tif t.Kind() != reflect.Struct {\n\t\tpanic(\"proto: type must have kind struct\")\n\t}\n\n\t// Most calls to GetProperties in a long-running program will be\n\t// retrieving details for types we have seen before.\n\tpropertiesMu.RLock()\n\tsprop, ok := propertiesMap[t]\n\tpropertiesMu.RUnlock()\n\tif ok {\n\t\tif collectStats {\n\t\t\tstats.Chit++\n\t\t}\n\t\treturn sprop\n\t}\n\n\tpropertiesMu.Lock()\n\tsprop = getPropertiesLocked(t)\n\tpropertiesMu.Unlock()\n\treturn sprop\n}\n\n// getPropertiesLocked requires that propertiesMu is held.\nfunc getPropertiesLocked(t reflect.Type) *StructProperties {\n\tif prop, ok := propertiesMap[t]; ok {\n\t\tif collectStats {\n\t\t\tstats.Chit++\n\t\t}\n\t\treturn prop\n\t}\n\tif collectStats {\n\t\tstats.Cmiss++\n\t}\n\n\tprop := new(StructProperties)\n\t// in case of recursive protos, fill this in now.\n\tpropertiesMap[t] = prop\n\n\t// build properties\n\tprop.Prop = make([]*Properties, t.NumField())\n\tprop.order = make([]int, t.NumField())\n\n\tfor i := 0; i < t.NumField(); i++ {\n\t\tf := t.Field(i)\n\t\tp := new(Properties)\n\t\tname := f.Name\n\t\tp.init(f.Type, name, f.Tag.Get(\"protobuf\"), &f, false)\n\n\t\toneof := f.Tag.Get(\"protobuf_oneof\") // special case\n\t\tif oneof != \"\" {\n\t\t\t// Oneof fields don't use the traditional protobuf tag.\n\t\t\tp.OrigName = oneof\n\t\t}\n\t\tprop.Prop[i] = p\n\t\tprop.order[i] = i\n\t\tif debug {\n\t\t\tprint(i, \" \", f.Name, \" \", t.String(), \" \")\n\t\t\tif p.Tag > 0 {\n\t\t\t\tprint(p.String())\n\t\t\t}\n\t\t\tprint(\"\\n\")\n\t\t}\n\t}\n\n\t// Re-order prop.order.\n\tsort.Sort(prop)\n\n\ttype oneofMessage interface {\n\t\tXXX_OneofFuncs() (func(Message, *Buffer) error, func(Message, int, int, *Buffer) (bool, error), func(Message) int, []interface{})\n\t}\n\tif om, ok := reflect.Zero(reflect.PtrTo(t)).Interface().(oneofMessage); ok {\n\t\tvar oots []interface{}\n\t\t_, _, _, oots = om.XXX_OneofFuncs()\n\n\t\t// Interpret oneof metadata.\n\t\tprop.OneofTypes = make(map[string]*OneofProperties)\n\t\tfor _, oot := range oots {\n\t\t\toop := &OneofProperties{\n\t\t\t\tType: reflect.ValueOf(oot).Type(), // *T\n\t\t\t\tProp: new(Properties),\n\t\t\t}\n\t\t\tsft := oop.Type.Elem().Field(0)\n\t\t\toop.Prop.Name = sft.Name\n\t\t\toop.Prop.Parse(sft.Tag.Get(\"protobuf\"))\n\t\t\t// There will be exactly one interface field that\n\t\t\t// this new value is assignable to.\n\t\t\tfor i := 0; i < t.NumField(); i++ {\n\t\t\t\tf := t.Field(i)\n\t\t\t\tif f.Type.Kind() != reflect.Interface {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif !oop.Type.AssignableTo(f.Type) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\toop.Field = i\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tprop.OneofTypes[oop.Prop.OrigName] = oop\n\t\t}\n\t}\n\n\t// build required counts\n\t// build tags\n\treqCount := 0\n\tprop.decoderOrigNames = make(map[string]int)\n\tfor i, p := range prop.Prop {\n\t\tif strings.HasPrefix(p.Name, \"XXX_\") {\n\t\t\t// Internal fields should not appear in tags/origNames maps.\n\t\t\t// They are handled specially when encoding and decoding.\n\t\t\tcontinue\n\t\t}\n\t\tif p.Required {\n\t\t\treqCount++\n\t\t}\n\t\tprop.decoderTags.put(p.Tag, i)\n\t\tprop.decoderOrigNames[p.OrigName] = i\n\t}\n\tprop.reqCount = reqCount\n\n\treturn prop\n}\n\n// A global registry of enum types.\n// The generated code will register the generated maps by calling RegisterEnum.\n\nvar enumValueMaps = make(map[string]map[string]int32)\n\n// RegisterEnum is called from the generated code to install the enum descriptor\n// maps into the global table to aid parsing text format protocol buffers.\nfunc RegisterEnum(typeName string, unusedNameMap map[int32]string, valueMap map[string]int32) {\n\tif _, ok := enumValueMaps[typeName]; ok {\n\t\tpanic(\"proto: duplicate enum registered: \" + typeName)\n\t}\n\tenumValueMaps[typeName] = valueMap\n}\n\n// EnumValueMap returns the mapping from names to integers of the\n// enum type enumType, or a nil if not found.\nfunc EnumValueMap(enumType string) map[string]int32 {\n\treturn enumValueMaps[enumType]\n}\n\n// A registry of all linked message types.\n// The string is a fully-qualified proto name (\"pkg.Message\").\nvar (\n\tprotoTypedNils = make(map[string]Message)      // a map from proto names to typed nil pointers\n\tprotoMapTypes  = make(map[string]reflect.Type) // a map from proto names to map types\n\trevProtoTypes  = make(map[reflect.Type]string)\n)\n\n// RegisterType is called from generated code and maps from the fully qualified\n// proto name to the type (pointer to struct) of the protocol buffer.\nfunc RegisterType(x Message, name string) {\n\tif _, ok := protoTypedNils[name]; ok {\n\t\t// TODO: Some day, make this a panic.\n\t\tlog.Printf(\"proto: duplicate proto type registered: %s\", name)\n\t\treturn\n\t}\n\tt := reflect.TypeOf(x)\n\tif v := reflect.ValueOf(x); v.Kind() == reflect.Ptr && v.Pointer() == 0 {\n\t\t// Generated code always calls RegisterType with nil x.\n\t\t// This check is just for extra safety.\n\t\tprotoTypedNils[name] = x\n\t} else {\n\t\tprotoTypedNils[name] = reflect.Zero(t).Interface().(Message)\n\t}\n\trevProtoTypes[t] = name\n}\n\n// RegisterMapType is called from generated code and maps from the fully qualified\n// proto name to the native map type of the proto map definition.\nfunc RegisterMapType(x interface{}, name string) {\n\tif reflect.TypeOf(x).Kind() != reflect.Map {\n\t\tpanic(fmt.Sprintf(\"RegisterMapType(%T, %q); want map\", x, name))\n\t}\n\tif _, ok := protoMapTypes[name]; ok {\n\t\tlog.Printf(\"proto: duplicate proto type registered: %s\", name)\n\t\treturn\n\t}\n\tt := reflect.TypeOf(x)\n\tprotoMapTypes[name] = t\n\trevProtoTypes[t] = name\n}\n\n// MessageName returns the fully-qualified proto name for the given message type.\nfunc MessageName(x Message) string {\n\ttype xname interface {\n\t\tXXX_MessageName() string\n\t}\n\tif m, ok := x.(xname); ok {\n\t\treturn m.XXX_MessageName()\n\t}\n\treturn revProtoTypes[reflect.TypeOf(x)]\n}\n\n// MessageType returns the message type (pointer to struct) for a named message.\n// The type is not guaranteed to implement proto.Message if the name refers to a\n// map entry.\nfunc MessageType(name string) reflect.Type {\n\tif t, ok := protoTypedNils[name]; ok {\n\t\treturn reflect.TypeOf(t)\n\t}\n\treturn protoMapTypes[name]\n}\n\n// A registry of all linked proto files.\nvar (\n\tprotoFiles = make(map[string][]byte) // file name => fileDescriptor\n)\n\n// RegisterFile is called from generated code and maps from the\n// full file name of a .proto file to its compressed FileDescriptorProto.\nfunc RegisterFile(filename string, fileDescriptor []byte) {\n\tprotoFiles[filename] = fileDescriptor\n}\n\n// FileDescriptor returns the compressed FileDescriptorProto for a .proto file.\nfunc FileDescriptor(filename string) []byte { return protoFiles[filename] }\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/proto/table_marshal.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2016 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"math\"\n\t\"reflect\"\n\t\"sort\"\n\t\"strconv\"\n\t\"strings\"\n\t\"sync\"\n\t\"sync/atomic\"\n\t\"unicode/utf8\"\n)\n\n// a sizer takes a pointer to a field and the size of its tag, computes the size of\n// the encoded data.\ntype sizer func(pointer, int) int\n\n// a marshaler takes a byte slice, a pointer to a field, and its tag (in wire format),\n// marshals the field to the end of the slice, returns the slice and error (if any).\ntype marshaler func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error)\n\n// marshalInfo is the information used for marshaling a message.\ntype marshalInfo struct {\n\ttyp          reflect.Type\n\tfields       []*marshalFieldInfo\n\tunrecognized field                      // offset of XXX_unrecognized\n\textensions   field                      // offset of XXX_InternalExtensions\n\tv1extensions field                      // offset of XXX_extensions\n\tsizecache    field                      // offset of XXX_sizecache\n\tinitialized  int32                      // 0 -- only typ is set, 1 -- fully initialized\n\tmessageset   bool                       // uses message set wire format\n\thasmarshaler bool                       // has custom marshaler\n\tsync.RWMutex                            // protect extElems map, also for initialization\n\textElems     map[int32]*marshalElemInfo // info of extension elements\n}\n\n// marshalFieldInfo is the information used for marshaling a field of a message.\ntype marshalFieldInfo struct {\n\tfield      field\n\twiretag    uint64 // tag in wire format\n\ttagsize    int    // size of tag in wire format\n\tsizer      sizer\n\tmarshaler  marshaler\n\tisPointer  bool\n\trequired   bool                              // field is required\n\tname       string                            // name of the field, for error reporting\n\toneofElems map[reflect.Type]*marshalElemInfo // info of oneof elements\n}\n\n// marshalElemInfo is the information used for marshaling an extension or oneof element.\ntype marshalElemInfo struct {\n\twiretag   uint64 // tag in wire format\n\ttagsize   int    // size of tag in wire format\n\tsizer     sizer\n\tmarshaler marshaler\n\tisptr     bool // elem is pointer typed, thus interface of this type is a direct interface (extension only)\n}\n\nvar (\n\tmarshalInfoMap  = map[reflect.Type]*marshalInfo{}\n\tmarshalInfoLock sync.Mutex\n)\n\n// getMarshalInfo returns the information to marshal a given type of message.\n// The info it returns may not necessarily initialized.\n// t is the type of the message (NOT the pointer to it).\nfunc getMarshalInfo(t reflect.Type) *marshalInfo {\n\tmarshalInfoLock.Lock()\n\tu, ok := marshalInfoMap[t]\n\tif !ok {\n\t\tu = &marshalInfo{typ: t}\n\t\tmarshalInfoMap[t] = u\n\t}\n\tmarshalInfoLock.Unlock()\n\treturn u\n}\n\n// Size is the entry point from generated code,\n// and should be ONLY called by generated code.\n// It computes the size of encoded data of msg.\n// a is a pointer to a place to store cached marshal info.\nfunc (a *InternalMessageInfo) Size(msg Message) int {\n\tu := getMessageMarshalInfo(msg, a)\n\tptr := toPointer(&msg)\n\tif ptr.isNil() {\n\t\t// We get here if msg is a typed nil ((*SomeMessage)(nil)),\n\t\t// so it satisfies the interface, and msg == nil wouldn't\n\t\t// catch it. We don't want crash in this case.\n\t\treturn 0\n\t}\n\treturn u.size(ptr)\n}\n\n// Marshal is the entry point from generated code,\n// and should be ONLY called by generated code.\n// It marshals msg to the end of b.\n// a is a pointer to a place to store cached marshal info.\nfunc (a *InternalMessageInfo) Marshal(b []byte, msg Message, deterministic bool) ([]byte, error) {\n\tu := getMessageMarshalInfo(msg, a)\n\tptr := toPointer(&msg)\n\tif ptr.isNil() {\n\t\t// We get here if msg is a typed nil ((*SomeMessage)(nil)),\n\t\t// so it satisfies the interface, and msg == nil wouldn't\n\t\t// catch it. We don't want crash in this case.\n\t\treturn b, ErrNil\n\t}\n\treturn u.marshal(b, ptr, deterministic)\n}\n\nfunc getMessageMarshalInfo(msg interface{}, a *InternalMessageInfo) *marshalInfo {\n\t// u := a.marshal, but atomically.\n\t// We use an atomic here to ensure memory consistency.\n\tu := atomicLoadMarshalInfo(&a.marshal)\n\tif u == nil {\n\t\t// Get marshal information from type of message.\n\t\tt := reflect.ValueOf(msg).Type()\n\t\tif t.Kind() != reflect.Ptr {\n\t\t\tpanic(fmt.Sprintf(\"cannot handle non-pointer message type %v\", t))\n\t\t}\n\t\tu = getMarshalInfo(t.Elem())\n\t\t// Store it in the cache for later users.\n\t\t// a.marshal = u, but atomically.\n\t\tatomicStoreMarshalInfo(&a.marshal, u)\n\t}\n\treturn u\n}\n\n// size is the main function to compute the size of the encoded data of a message.\n// ptr is the pointer to the message.\nfunc (u *marshalInfo) size(ptr pointer) int {\n\tif atomic.LoadInt32(&u.initialized) == 0 {\n\t\tu.computeMarshalInfo()\n\t}\n\n\t// If the message can marshal itself, let it do it, for compatibility.\n\t// NOTE: This is not efficient.\n\tif u.hasmarshaler {\n\t\tm := ptr.asPointerTo(u.typ).Interface().(Marshaler)\n\t\tb, _ := m.Marshal()\n\t\treturn len(b)\n\t}\n\n\tn := 0\n\tfor _, f := range u.fields {\n\t\tif f.isPointer && ptr.offset(f.field).getPointer().isNil() {\n\t\t\t// nil pointer always marshals to nothing\n\t\t\tcontinue\n\t\t}\n\t\tn += f.sizer(ptr.offset(f.field), f.tagsize)\n\t}\n\tif u.extensions.IsValid() {\n\t\te := ptr.offset(u.extensions).toExtensions()\n\t\tif u.messageset {\n\t\t\tn += u.sizeMessageSet(e)\n\t\t} else {\n\t\t\tn += u.sizeExtensions(e)\n\t\t}\n\t}\n\tif u.v1extensions.IsValid() {\n\t\tm := *ptr.offset(u.v1extensions).toOldExtensions()\n\t\tn += u.sizeV1Extensions(m)\n\t}\n\tif u.unrecognized.IsValid() {\n\t\ts := *ptr.offset(u.unrecognized).toBytes()\n\t\tn += len(s)\n\t}\n\t// cache the result for use in marshal\n\tif u.sizecache.IsValid() {\n\t\tatomic.StoreInt32(ptr.offset(u.sizecache).toInt32(), int32(n))\n\t}\n\treturn n\n}\n\n// cachedsize gets the size from cache. If there is no cache (i.e. message is not generated),\n// fall back to compute the size.\nfunc (u *marshalInfo) cachedsize(ptr pointer) int {\n\tif u.sizecache.IsValid() {\n\t\treturn int(atomic.LoadInt32(ptr.offset(u.sizecache).toInt32()))\n\t}\n\treturn u.size(ptr)\n}\n\n// marshal is the main function to marshal a message. It takes a byte slice and appends\n// the encoded data to the end of the slice, returns the slice and error (if any).\n// ptr is the pointer to the message.\n// If deterministic is true, map is marshaled in deterministic order.\nfunc (u *marshalInfo) marshal(b []byte, ptr pointer, deterministic bool) ([]byte, error) {\n\tif atomic.LoadInt32(&u.initialized) == 0 {\n\t\tu.computeMarshalInfo()\n\t}\n\n\t// If the message can marshal itself, let it do it, for compatibility.\n\t// NOTE: This is not efficient.\n\tif u.hasmarshaler {\n\t\tm := ptr.asPointerTo(u.typ).Interface().(Marshaler)\n\t\tb1, err := m.Marshal()\n\t\tb = append(b, b1...)\n\t\treturn b, err\n\t}\n\n\tvar err, errreq error\n\t// The old marshaler encodes extensions at beginning.\n\tif u.extensions.IsValid() {\n\t\te := ptr.offset(u.extensions).toExtensions()\n\t\tif u.messageset {\n\t\t\tb, err = u.appendMessageSet(b, e, deterministic)\n\t\t} else {\n\t\t\tb, err = u.appendExtensions(b, e, deterministic)\n\t\t}\n\t\tif err != nil {\n\t\t\treturn b, err\n\t\t}\n\t}\n\tif u.v1extensions.IsValid() {\n\t\tm := *ptr.offset(u.v1extensions).toOldExtensions()\n\t\tb, err = u.appendV1Extensions(b, m, deterministic)\n\t\tif err != nil {\n\t\t\treturn b, err\n\t\t}\n\t}\n\tfor _, f := range u.fields {\n\t\tif f.required && errreq == nil {\n\t\t\tif ptr.offset(f.field).getPointer().isNil() {\n\t\t\t\t// Required field is not set.\n\t\t\t\t// We record the error but keep going, to give a complete marshaling.\n\t\t\t\terrreq = &RequiredNotSetError{f.name}\n\t\t\t\tcontinue\n\t\t\t}\n\t\t}\n\t\tif f.isPointer && ptr.offset(f.field).getPointer().isNil() {\n\t\t\t// nil pointer always marshals to nothing\n\t\t\tcontinue\n\t\t}\n\t\tb, err = f.marshaler(b, ptr.offset(f.field), f.wiretag, deterministic)\n\t\tif err != nil {\n\t\t\tif err1, ok := err.(*RequiredNotSetError); ok {\n\t\t\t\t// Required field in submessage is not set.\n\t\t\t\t// We record the error but keep going, to give a complete marshaling.\n\t\t\t\tif errreq == nil {\n\t\t\t\t\terrreq = &RequiredNotSetError{f.name + \".\" + err1.field}\n\t\t\t\t}\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif err == errRepeatedHasNil {\n\t\t\t\terr = errors.New(\"proto: repeated field \" + f.name + \" has nil element\")\n\t\t\t}\n\t\t\treturn b, err\n\t\t}\n\t}\n\tif u.unrecognized.IsValid() {\n\t\ts := *ptr.offset(u.unrecognized).toBytes()\n\t\tb = append(b, s...)\n\t}\n\treturn b, errreq\n}\n\n// computeMarshalInfo initializes the marshal info.\nfunc (u *marshalInfo) computeMarshalInfo() {\n\tu.Lock()\n\tdefer u.Unlock()\n\tif u.initialized != 0 { // non-atomic read is ok as it is protected by the lock\n\t\treturn\n\t}\n\n\tt := u.typ\n\tu.unrecognized = invalidField\n\tu.extensions = invalidField\n\tu.v1extensions = invalidField\n\tu.sizecache = invalidField\n\n\t// If the message can marshal itself, let it do it, for compatibility.\n\t// NOTE: This is not efficient.\n\tif reflect.PtrTo(t).Implements(marshalerType) {\n\t\tu.hasmarshaler = true\n\t\tatomic.StoreInt32(&u.initialized, 1)\n\t\treturn\n\t}\n\n\t// get oneof implementers\n\tvar oneofImplementers []interface{}\n\tif m, ok := reflect.Zero(reflect.PtrTo(t)).Interface().(oneofMessage); ok {\n\t\t_, _, _, oneofImplementers = m.XXX_OneofFuncs()\n\t}\n\n\tn := t.NumField()\n\n\t// deal with XXX fields first\n\tfor i := 0; i < t.NumField(); i++ {\n\t\tf := t.Field(i)\n\t\tif !strings.HasPrefix(f.Name, \"XXX_\") {\n\t\t\tcontinue\n\t\t}\n\t\tswitch f.Name {\n\t\tcase \"XXX_sizecache\":\n\t\t\tu.sizecache = toField(&f)\n\t\tcase \"XXX_unrecognized\":\n\t\t\tu.unrecognized = toField(&f)\n\t\tcase \"XXX_InternalExtensions\":\n\t\t\tu.extensions = toField(&f)\n\t\t\tu.messageset = f.Tag.Get(\"protobuf_messageset\") == \"1\"\n\t\tcase \"XXX_extensions\":\n\t\t\tu.v1extensions = toField(&f)\n\t\tcase \"XXX_NoUnkeyedLiteral\":\n\t\t\t// nothing to do\n\t\tdefault:\n\t\t\tpanic(\"unknown XXX field: \" + f.Name)\n\t\t}\n\t\tn--\n\t}\n\n\t// normal fields\n\tfields := make([]marshalFieldInfo, n) // batch allocation\n\tu.fields = make([]*marshalFieldInfo, 0, n)\n\tfor i, j := 0, 0; i < t.NumField(); i++ {\n\t\tf := t.Field(i)\n\n\t\tif strings.HasPrefix(f.Name, \"XXX_\") {\n\t\t\tcontinue\n\t\t}\n\t\tfield := &fields[j]\n\t\tj++\n\t\tfield.name = f.Name\n\t\tu.fields = append(u.fields, field)\n\t\tif f.Tag.Get(\"protobuf_oneof\") != \"\" {\n\t\t\tfield.computeOneofFieldInfo(&f, oneofImplementers)\n\t\t\tcontinue\n\t\t}\n\t\tif f.Tag.Get(\"protobuf\") == \"\" {\n\t\t\t// field has no tag (not in generated message), ignore it\n\t\t\tu.fields = u.fields[:len(u.fields)-1]\n\t\t\tj--\n\t\t\tcontinue\n\t\t}\n\t\tfield.computeMarshalFieldInfo(&f)\n\t}\n\n\t// fields are marshaled in tag order on the wire.\n\tsort.Sort(byTag(u.fields))\n\n\tatomic.StoreInt32(&u.initialized, 1)\n}\n\n// helper for sorting fields by tag\ntype byTag []*marshalFieldInfo\n\nfunc (a byTag) Len() int           { return len(a) }\nfunc (a byTag) Swap(i, j int)      { a[i], a[j] = a[j], a[i] }\nfunc (a byTag) Less(i, j int) bool { return a[i].wiretag < a[j].wiretag }\n\n// getExtElemInfo returns the information to marshal an extension element.\n// The info it returns is initialized.\nfunc (u *marshalInfo) getExtElemInfo(desc *ExtensionDesc) *marshalElemInfo {\n\t// get from cache first\n\tu.RLock()\n\te, ok := u.extElems[desc.Field]\n\tu.RUnlock()\n\tif ok {\n\t\treturn e\n\t}\n\n\tt := reflect.TypeOf(desc.ExtensionType) // pointer or slice to basic type or struct\n\ttags := strings.Split(desc.Tag, \",\")\n\ttag, err := strconv.Atoi(tags[1])\n\tif err != nil {\n\t\tpanic(\"tag is not an integer\")\n\t}\n\twt := wiretype(tags[0])\n\tsizer, marshaler := typeMarshaler(t, tags, false, false)\n\te = &marshalElemInfo{\n\t\twiretag:   uint64(tag)<<3 | wt,\n\t\ttagsize:   SizeVarint(uint64(tag) << 3),\n\t\tsizer:     sizer,\n\t\tmarshaler: marshaler,\n\t\tisptr:     t.Kind() == reflect.Ptr,\n\t}\n\n\t// update cache\n\tu.Lock()\n\tif u.extElems == nil {\n\t\tu.extElems = make(map[int32]*marshalElemInfo)\n\t}\n\tu.extElems[desc.Field] = e\n\tu.Unlock()\n\treturn e\n}\n\n// computeMarshalFieldInfo fills up the information to marshal a field.\nfunc (fi *marshalFieldInfo) computeMarshalFieldInfo(f *reflect.StructField) {\n\t// parse protobuf tag of the field.\n\t// tag has format of \"bytes,49,opt,name=foo,def=hello!\"\n\ttags := strings.Split(f.Tag.Get(\"protobuf\"), \",\")\n\tif tags[0] == \"\" {\n\t\treturn\n\t}\n\ttag, err := strconv.Atoi(tags[1])\n\tif err != nil {\n\t\tpanic(\"tag is not an integer\")\n\t}\n\twt := wiretype(tags[0])\n\tif tags[2] == \"req\" {\n\t\tfi.required = true\n\t}\n\tfi.setTag(f, tag, wt)\n\tfi.setMarshaler(f, tags)\n}\n\nfunc (fi *marshalFieldInfo) computeOneofFieldInfo(f *reflect.StructField, oneofImplementers []interface{}) {\n\tfi.field = toField(f)\n\tfi.wiretag = 1<<31 - 1 // Use a large tag number, make oneofs sorted at the end. This tag will not appear on the wire.\n\tfi.isPointer = true\n\tfi.sizer, fi.marshaler = makeOneOfMarshaler(fi, f)\n\tfi.oneofElems = make(map[reflect.Type]*marshalElemInfo)\n\n\tityp := f.Type // interface type\n\tfor _, o := range oneofImplementers {\n\t\tt := reflect.TypeOf(o)\n\t\tif !t.Implements(ityp) {\n\t\t\tcontinue\n\t\t}\n\t\tsf := t.Elem().Field(0) // oneof implementer is a struct with a single field\n\t\ttags := strings.Split(sf.Tag.Get(\"protobuf\"), \",\")\n\t\ttag, err := strconv.Atoi(tags[1])\n\t\tif err != nil {\n\t\t\tpanic(\"tag is not an integer\")\n\t\t}\n\t\twt := wiretype(tags[0])\n\t\tsizer, marshaler := typeMarshaler(sf.Type, tags, false, true) // oneof should not omit any zero value\n\t\tfi.oneofElems[t.Elem()] = &marshalElemInfo{\n\t\t\twiretag:   uint64(tag)<<3 | wt,\n\t\t\ttagsize:   SizeVarint(uint64(tag) << 3),\n\t\t\tsizer:     sizer,\n\t\t\tmarshaler: marshaler,\n\t\t}\n\t}\n}\n\ntype oneofMessage interface {\n\tXXX_OneofFuncs() (func(Message, *Buffer) error, func(Message, int, int, *Buffer) (bool, error), func(Message) int, []interface{})\n}\n\n// wiretype returns the wire encoding of the type.\nfunc wiretype(encoding string) uint64 {\n\tswitch encoding {\n\tcase \"fixed32\":\n\t\treturn WireFixed32\n\tcase \"fixed64\":\n\t\treturn WireFixed64\n\tcase \"varint\", \"zigzag32\", \"zigzag64\":\n\t\treturn WireVarint\n\tcase \"bytes\":\n\t\treturn WireBytes\n\tcase \"group\":\n\t\treturn WireStartGroup\n\t}\n\tpanic(\"unknown wire type \" + encoding)\n}\n\n// setTag fills up the tag (in wire format) and its size in the info of a field.\nfunc (fi *marshalFieldInfo) setTag(f *reflect.StructField, tag int, wt uint64) {\n\tfi.field = toField(f)\n\tfi.wiretag = uint64(tag)<<3 | wt\n\tfi.tagsize = SizeVarint(uint64(tag) << 3)\n}\n\n// setMarshaler fills up the sizer and marshaler in the info of a field.\nfunc (fi *marshalFieldInfo) setMarshaler(f *reflect.StructField, tags []string) {\n\tswitch f.Type.Kind() {\n\tcase reflect.Map:\n\t\t// map field\n\t\tfi.isPointer = true\n\t\tfi.sizer, fi.marshaler = makeMapMarshaler(f)\n\t\treturn\n\tcase reflect.Ptr, reflect.Slice:\n\t\tfi.isPointer = true\n\t}\n\tfi.sizer, fi.marshaler = typeMarshaler(f.Type, tags, true, false)\n}\n\n// typeMarshaler returns the sizer and marshaler of a given field.\n// t is the type of the field.\n// tags is the generated \"protobuf\" tag of the field.\n// If nozero is true, zero value is not marshaled to the wire.\n// If oneof is true, it is a oneof field.\nfunc typeMarshaler(t reflect.Type, tags []string, nozero, oneof bool) (sizer, marshaler) {\n\tencoding := tags[0]\n\n\tpointer := false\n\tslice := false\n\tif t.Kind() == reflect.Slice && t.Elem().Kind() != reflect.Uint8 {\n\t\tslice = true\n\t\tt = t.Elem()\n\t}\n\tif t.Kind() == reflect.Ptr {\n\t\tpointer = true\n\t\tt = t.Elem()\n\t}\n\n\tpacked := false\n\tproto3 := false\n\tfor i := 2; i < len(tags); i++ {\n\t\tif tags[i] == \"packed\" {\n\t\t\tpacked = true\n\t\t}\n\t\tif tags[i] == \"proto3\" {\n\t\t\tproto3 = true\n\t\t}\n\t}\n\n\tswitch t.Kind() {\n\tcase reflect.Bool:\n\t\tif pointer {\n\t\t\treturn sizeBoolPtr, appendBoolPtr\n\t\t}\n\t\tif slice {\n\t\t\tif packed {\n\t\t\t\treturn sizeBoolPackedSlice, appendBoolPackedSlice\n\t\t\t}\n\t\t\treturn sizeBoolSlice, appendBoolSlice\n\t\t}\n\t\tif nozero {\n\t\t\treturn sizeBoolValueNoZero, appendBoolValueNoZero\n\t\t}\n\t\treturn sizeBoolValue, appendBoolValue\n\tcase reflect.Uint32:\n\t\tswitch encoding {\n\t\tcase \"fixed32\":\n\t\t\tif pointer {\n\t\t\t\treturn sizeFixed32Ptr, appendFixed32Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\tif packed {\n\t\t\t\t\treturn sizeFixed32PackedSlice, appendFixed32PackedSlice\n\t\t\t\t}\n\t\t\t\treturn sizeFixed32Slice, appendFixed32Slice\n\t\t\t}\n\t\t\tif nozero {\n\t\t\t\treturn sizeFixed32ValueNoZero, appendFixed32ValueNoZero\n\t\t\t}\n\t\t\treturn sizeFixed32Value, appendFixed32Value\n\t\tcase \"varint\":\n\t\t\tif pointer {\n\t\t\t\treturn sizeVarint32Ptr, appendVarint32Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\tif packed {\n\t\t\t\t\treturn sizeVarint32PackedSlice, appendVarint32PackedSlice\n\t\t\t\t}\n\t\t\t\treturn sizeVarint32Slice, appendVarint32Slice\n\t\t\t}\n\t\t\tif nozero {\n\t\t\t\treturn sizeVarint32ValueNoZero, appendVarint32ValueNoZero\n\t\t\t}\n\t\t\treturn sizeVarint32Value, appendVarint32Value\n\t\t}\n\tcase reflect.Int32:\n\t\tswitch encoding {\n\t\tcase \"fixed32\":\n\t\t\tif pointer {\n\t\t\t\treturn sizeFixedS32Ptr, appendFixedS32Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\tif packed {\n\t\t\t\t\treturn sizeFixedS32PackedSlice, appendFixedS32PackedSlice\n\t\t\t\t}\n\t\t\t\treturn sizeFixedS32Slice, appendFixedS32Slice\n\t\t\t}\n\t\t\tif nozero {\n\t\t\t\treturn sizeFixedS32ValueNoZero, appendFixedS32ValueNoZero\n\t\t\t}\n\t\t\treturn sizeFixedS32Value, appendFixedS32Value\n\t\tcase \"varint\":\n\t\t\tif pointer {\n\t\t\t\treturn sizeVarintS32Ptr, appendVarintS32Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\tif packed {\n\t\t\t\t\treturn sizeVarintS32PackedSlice, appendVarintS32PackedSlice\n\t\t\t\t}\n\t\t\t\treturn sizeVarintS32Slice, appendVarintS32Slice\n\t\t\t}\n\t\t\tif nozero {\n\t\t\t\treturn sizeVarintS32ValueNoZero, appendVarintS32ValueNoZero\n\t\t\t}\n\t\t\treturn sizeVarintS32Value, appendVarintS32Value\n\t\tcase \"zigzag32\":\n\t\t\tif pointer {\n\t\t\t\treturn sizeZigzag32Ptr, appendZigzag32Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\tif packed {\n\t\t\t\t\treturn sizeZigzag32PackedSlice, appendZigzag32PackedSlice\n\t\t\t\t}\n\t\t\t\treturn sizeZigzag32Slice, appendZigzag32Slice\n\t\t\t}\n\t\t\tif nozero {\n\t\t\t\treturn sizeZigzag32ValueNoZero, appendZigzag32ValueNoZero\n\t\t\t}\n\t\t\treturn sizeZigzag32Value, appendZigzag32Value\n\t\t}\n\tcase reflect.Uint64:\n\t\tswitch encoding {\n\t\tcase \"fixed64\":\n\t\t\tif pointer {\n\t\t\t\treturn sizeFixed64Ptr, appendFixed64Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\tif packed {\n\t\t\t\t\treturn sizeFixed64PackedSlice, appendFixed64PackedSlice\n\t\t\t\t}\n\t\t\t\treturn sizeFixed64Slice, appendFixed64Slice\n\t\t\t}\n\t\t\tif nozero {\n\t\t\t\treturn sizeFixed64ValueNoZero, appendFixed64ValueNoZero\n\t\t\t}\n\t\t\treturn sizeFixed64Value, appendFixed64Value\n\t\tcase \"varint\":\n\t\t\tif pointer {\n\t\t\t\treturn sizeVarint64Ptr, appendVarint64Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\tif packed {\n\t\t\t\t\treturn sizeVarint64PackedSlice, appendVarint64PackedSlice\n\t\t\t\t}\n\t\t\t\treturn sizeVarint64Slice, appendVarint64Slice\n\t\t\t}\n\t\t\tif nozero {\n\t\t\t\treturn sizeVarint64ValueNoZero, appendVarint64ValueNoZero\n\t\t\t}\n\t\t\treturn sizeVarint64Value, appendVarint64Value\n\t\t}\n\tcase reflect.Int64:\n\t\tswitch encoding {\n\t\tcase \"fixed64\":\n\t\t\tif pointer {\n\t\t\t\treturn sizeFixedS64Ptr, appendFixedS64Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\tif packed {\n\t\t\t\t\treturn sizeFixedS64PackedSlice, appendFixedS64PackedSlice\n\t\t\t\t}\n\t\t\t\treturn sizeFixedS64Slice, appendFixedS64Slice\n\t\t\t}\n\t\t\tif nozero {\n\t\t\t\treturn sizeFixedS64ValueNoZero, appendFixedS64ValueNoZero\n\t\t\t}\n\t\t\treturn sizeFixedS64Value, appendFixedS64Value\n\t\tcase \"varint\":\n\t\t\tif pointer {\n\t\t\t\treturn sizeVarintS64Ptr, appendVarintS64Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\tif packed {\n\t\t\t\t\treturn sizeVarintS64PackedSlice, appendVarintS64PackedSlice\n\t\t\t\t}\n\t\t\t\treturn sizeVarintS64Slice, appendVarintS64Slice\n\t\t\t}\n\t\t\tif nozero {\n\t\t\t\treturn sizeVarintS64ValueNoZero, appendVarintS64ValueNoZero\n\t\t\t}\n\t\t\treturn sizeVarintS64Value, appendVarintS64Value\n\t\tcase \"zigzag64\":\n\t\t\tif pointer {\n\t\t\t\treturn sizeZigzag64Ptr, appendZigzag64Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\tif packed {\n\t\t\t\t\treturn sizeZigzag64PackedSlice, appendZigzag64PackedSlice\n\t\t\t\t}\n\t\t\t\treturn sizeZigzag64Slice, appendZigzag64Slice\n\t\t\t}\n\t\t\tif nozero {\n\t\t\t\treturn sizeZigzag64ValueNoZero, appendZigzag64ValueNoZero\n\t\t\t}\n\t\t\treturn sizeZigzag64Value, appendZigzag64Value\n\t\t}\n\tcase reflect.Float32:\n\t\tif pointer {\n\t\t\treturn sizeFloat32Ptr, appendFloat32Ptr\n\t\t}\n\t\tif slice {\n\t\t\tif packed {\n\t\t\t\treturn sizeFloat32PackedSlice, appendFloat32PackedSlice\n\t\t\t}\n\t\t\treturn sizeFloat32Slice, appendFloat32Slice\n\t\t}\n\t\tif nozero {\n\t\t\treturn sizeFloat32ValueNoZero, appendFloat32ValueNoZero\n\t\t}\n\t\treturn sizeFloat32Value, appendFloat32Value\n\tcase reflect.Float64:\n\t\tif pointer {\n\t\t\treturn sizeFloat64Ptr, appendFloat64Ptr\n\t\t}\n\t\tif slice {\n\t\t\tif packed {\n\t\t\t\treturn sizeFloat64PackedSlice, appendFloat64PackedSlice\n\t\t\t}\n\t\t\treturn sizeFloat64Slice, appendFloat64Slice\n\t\t}\n\t\tif nozero {\n\t\t\treturn sizeFloat64ValueNoZero, appendFloat64ValueNoZero\n\t\t}\n\t\treturn sizeFloat64Value, appendFloat64Value\n\tcase reflect.String:\n\t\tif pointer {\n\t\t\treturn sizeStringPtr, appendStringPtr\n\t\t}\n\t\tif slice {\n\t\t\treturn sizeStringSlice, appendStringSlice\n\t\t}\n\t\tif nozero {\n\t\t\treturn sizeStringValueNoZero, appendStringValueNoZero\n\t\t}\n\t\treturn sizeStringValue, appendStringValue\n\tcase reflect.Slice:\n\t\tif slice {\n\t\t\treturn sizeBytesSlice, appendBytesSlice\n\t\t}\n\t\tif oneof {\n\t\t\t// Oneof bytes field may also have \"proto3\" tag.\n\t\t\t// We want to marshal it as a oneof field. Do this\n\t\t\t// check before the proto3 check.\n\t\t\treturn sizeBytesOneof, appendBytesOneof\n\t\t}\n\t\tif proto3 {\n\t\t\treturn sizeBytes3, appendBytes3\n\t\t}\n\t\treturn sizeBytes, appendBytes\n\tcase reflect.Struct:\n\t\tswitch encoding {\n\t\tcase \"group\":\n\t\t\tif slice {\n\t\t\t\treturn makeGroupSliceMarshaler(getMarshalInfo(t))\n\t\t\t}\n\t\t\treturn makeGroupMarshaler(getMarshalInfo(t))\n\t\tcase \"bytes\":\n\t\t\tif slice {\n\t\t\t\treturn makeMessageSliceMarshaler(getMarshalInfo(t))\n\t\t\t}\n\t\t\treturn makeMessageMarshaler(getMarshalInfo(t))\n\t\t}\n\t}\n\tpanic(fmt.Sprintf(\"unknown or mismatched type: type: %v, wire type: %v\", t, encoding))\n}\n\n// Below are functions to size/marshal a specific type of a field.\n// They are stored in the field's info, and called by function pointers.\n// They have type sizer or marshaler.\n\nfunc sizeFixed32Value(_ pointer, tagsize int) int {\n\treturn 4 + tagsize\n}\nfunc sizeFixed32ValueNoZero(ptr pointer, tagsize int) int {\n\tv := *ptr.toUint32()\n\tif v == 0 {\n\t\treturn 0\n\t}\n\treturn 4 + tagsize\n}\nfunc sizeFixed32Ptr(ptr pointer, tagsize int) int {\n\tp := *ptr.toUint32Ptr()\n\tif p == nil {\n\t\treturn 0\n\t}\n\treturn 4 + tagsize\n}\nfunc sizeFixed32Slice(ptr pointer, tagsize int) int {\n\ts := *ptr.toUint32Slice()\n\treturn (4 + tagsize) * len(s)\n}\nfunc sizeFixed32PackedSlice(ptr pointer, tagsize int) int {\n\ts := *ptr.toUint32Slice()\n\tif len(s) == 0 {\n\t\treturn 0\n\t}\n\treturn 4*len(s) + SizeVarint(uint64(4*len(s))) + tagsize\n}\nfunc sizeFixedS32Value(_ pointer, tagsize int) int {\n\treturn 4 + tagsize\n}\nfunc sizeFixedS32ValueNoZero(ptr pointer, tagsize int) int {\n\tv := *ptr.toInt32()\n\tif v == 0 {\n\t\treturn 0\n\t}\n\treturn 4 + tagsize\n}\nfunc sizeFixedS32Ptr(ptr pointer, tagsize int) int {\n\tp := ptr.getInt32Ptr()\n\tif p == nil {\n\t\treturn 0\n\t}\n\treturn 4 + tagsize\n}\nfunc sizeFixedS32Slice(ptr pointer, tagsize int) int {\n\ts := ptr.getInt32Slice()\n\treturn (4 + tagsize) * len(s)\n}\nfunc sizeFixedS32PackedSlice(ptr pointer, tagsize int) int {\n\ts := ptr.getInt32Slice()\n\tif len(s) == 0 {\n\t\treturn 0\n\t}\n\treturn 4*len(s) + SizeVarint(uint64(4*len(s))) + tagsize\n}\nfunc sizeFloat32Value(_ pointer, tagsize int) int {\n\treturn 4 + tagsize\n}\nfunc sizeFloat32ValueNoZero(ptr pointer, tagsize int) int {\n\tv := math.Float32bits(*ptr.toFloat32())\n\tif v == 0 {\n\t\treturn 0\n\t}\n\treturn 4 + tagsize\n}\nfunc sizeFloat32Ptr(ptr pointer, tagsize int) int {\n\tp := *ptr.toFloat32Ptr()\n\tif p == nil {\n\t\treturn 0\n\t}\n\treturn 4 + tagsize\n}\nfunc sizeFloat32Slice(ptr pointer, tagsize int) int {\n\ts := *ptr.toFloat32Slice()\n\treturn (4 + tagsize) * len(s)\n}\nfunc sizeFloat32PackedSlice(ptr pointer, tagsize int) int {\n\ts := *ptr.toFloat32Slice()\n\tif len(s) == 0 {\n\t\treturn 0\n\t}\n\treturn 4*len(s) + SizeVarint(uint64(4*len(s))) + tagsize\n}\nfunc sizeFixed64Value(_ pointer, tagsize int) int {\n\treturn 8 + tagsize\n}\nfunc sizeFixed64ValueNoZero(ptr pointer, tagsize int) int {\n\tv := *ptr.toUint64()\n\tif v == 0 {\n\t\treturn 0\n\t}\n\treturn 8 + tagsize\n}\nfunc sizeFixed64Ptr(ptr pointer, tagsize int) int {\n\tp := *ptr.toUint64Ptr()\n\tif p == nil {\n\t\treturn 0\n\t}\n\treturn 8 + tagsize\n}\nfunc sizeFixed64Slice(ptr pointer, tagsize int) int {\n\ts := *ptr.toUint64Slice()\n\treturn (8 + tagsize) * len(s)\n}\nfunc sizeFixed64PackedSlice(ptr pointer, tagsize int) int {\n\ts := *ptr.toUint64Slice()\n\tif len(s) == 0 {\n\t\treturn 0\n\t}\n\treturn 8*len(s) + SizeVarint(uint64(8*len(s))) + tagsize\n}\nfunc sizeFixedS64Value(_ pointer, tagsize int) int {\n\treturn 8 + tagsize\n}\nfunc sizeFixedS64ValueNoZero(ptr pointer, tagsize int) int {\n\tv := *ptr.toInt64()\n\tif v == 0 {\n\t\treturn 0\n\t}\n\treturn 8 + tagsize\n}\nfunc sizeFixedS64Ptr(ptr pointer, tagsize int) int {\n\tp := *ptr.toInt64Ptr()\n\tif p == nil {\n\t\treturn 0\n\t}\n\treturn 8 + tagsize\n}\nfunc sizeFixedS64Slice(ptr pointer, tagsize int) int {\n\ts := *ptr.toInt64Slice()\n\treturn (8 + tagsize) * len(s)\n}\nfunc sizeFixedS64PackedSlice(ptr pointer, tagsize int) int {\n\ts := *ptr.toInt64Slice()\n\tif len(s) == 0 {\n\t\treturn 0\n\t}\n\treturn 8*len(s) + SizeVarint(uint64(8*len(s))) + tagsize\n}\nfunc sizeFloat64Value(_ pointer, tagsize int) int {\n\treturn 8 + tagsize\n}\nfunc sizeFloat64ValueNoZero(ptr pointer, tagsize int) int {\n\tv := math.Float64bits(*ptr.toFloat64())\n\tif v == 0 {\n\t\treturn 0\n\t}\n\treturn 8 + tagsize\n}\nfunc sizeFloat64Ptr(ptr pointer, tagsize int) int {\n\tp := *ptr.toFloat64Ptr()\n\tif p == nil {\n\t\treturn 0\n\t}\n\treturn 8 + tagsize\n}\nfunc sizeFloat64Slice(ptr pointer, tagsize int) int {\n\ts := *ptr.toFloat64Slice()\n\treturn (8 + tagsize) * len(s)\n}\nfunc sizeFloat64PackedSlice(ptr pointer, tagsize int) int {\n\ts := *ptr.toFloat64Slice()\n\tif len(s) == 0 {\n\t\treturn 0\n\t}\n\treturn 8*len(s) + SizeVarint(uint64(8*len(s))) + tagsize\n}\nfunc sizeVarint32Value(ptr pointer, tagsize int) int {\n\tv := *ptr.toUint32()\n\treturn SizeVarint(uint64(v)) + tagsize\n}\nfunc sizeVarint32ValueNoZero(ptr pointer, tagsize int) int {\n\tv := *ptr.toUint32()\n\tif v == 0 {\n\t\treturn 0\n\t}\n\treturn SizeVarint(uint64(v)) + tagsize\n}\nfunc sizeVarint32Ptr(ptr pointer, tagsize int) int {\n\tp := *ptr.toUint32Ptr()\n\tif p == nil {\n\t\treturn 0\n\t}\n\treturn SizeVarint(uint64(*p)) + tagsize\n}\nfunc sizeVarint32Slice(ptr pointer, tagsize int) int {\n\ts := *ptr.toUint32Slice()\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(uint64(v)) + tagsize\n\t}\n\treturn n\n}\nfunc sizeVarint32PackedSlice(ptr pointer, tagsize int) int {\n\ts := *ptr.toUint32Slice()\n\tif len(s) == 0 {\n\t\treturn 0\n\t}\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(uint64(v))\n\t}\n\treturn n + SizeVarint(uint64(n)) + tagsize\n}\nfunc sizeVarintS32Value(ptr pointer, tagsize int) int {\n\tv := *ptr.toInt32()\n\treturn SizeVarint(uint64(v)) + tagsize\n}\nfunc sizeVarintS32ValueNoZero(ptr pointer, tagsize int) int {\n\tv := *ptr.toInt32()\n\tif v == 0 {\n\t\treturn 0\n\t}\n\treturn SizeVarint(uint64(v)) + tagsize\n}\nfunc sizeVarintS32Ptr(ptr pointer, tagsize int) int {\n\tp := ptr.getInt32Ptr()\n\tif p == nil {\n\t\treturn 0\n\t}\n\treturn SizeVarint(uint64(*p)) + tagsize\n}\nfunc sizeVarintS32Slice(ptr pointer, tagsize int) int {\n\ts := ptr.getInt32Slice()\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(uint64(v)) + tagsize\n\t}\n\treturn n\n}\nfunc sizeVarintS32PackedSlice(ptr pointer, tagsize int) int {\n\ts := ptr.getInt32Slice()\n\tif len(s) == 0 {\n\t\treturn 0\n\t}\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(uint64(v))\n\t}\n\treturn n + SizeVarint(uint64(n)) + tagsize\n}\nfunc sizeVarint64Value(ptr pointer, tagsize int) int {\n\tv := *ptr.toUint64()\n\treturn SizeVarint(v) + tagsize\n}\nfunc sizeVarint64ValueNoZero(ptr pointer, tagsize int) int {\n\tv := *ptr.toUint64()\n\tif v == 0 {\n\t\treturn 0\n\t}\n\treturn SizeVarint(v) + tagsize\n}\nfunc sizeVarint64Ptr(ptr pointer, tagsize int) int {\n\tp := *ptr.toUint64Ptr()\n\tif p == nil {\n\t\treturn 0\n\t}\n\treturn SizeVarint(*p) + tagsize\n}\nfunc sizeVarint64Slice(ptr pointer, tagsize int) int {\n\ts := *ptr.toUint64Slice()\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(v) + tagsize\n\t}\n\treturn n\n}\nfunc sizeVarint64PackedSlice(ptr pointer, tagsize int) int {\n\ts := *ptr.toUint64Slice()\n\tif len(s) == 0 {\n\t\treturn 0\n\t}\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(v)\n\t}\n\treturn n + SizeVarint(uint64(n)) + tagsize\n}\nfunc sizeVarintS64Value(ptr pointer, tagsize int) int {\n\tv := *ptr.toInt64()\n\treturn SizeVarint(uint64(v)) + tagsize\n}\nfunc sizeVarintS64ValueNoZero(ptr pointer, tagsize int) int {\n\tv := *ptr.toInt64()\n\tif v == 0 {\n\t\treturn 0\n\t}\n\treturn SizeVarint(uint64(v)) + tagsize\n}\nfunc sizeVarintS64Ptr(ptr pointer, tagsize int) int {\n\tp := *ptr.toInt64Ptr()\n\tif p == nil {\n\t\treturn 0\n\t}\n\treturn SizeVarint(uint64(*p)) + tagsize\n}\nfunc sizeVarintS64Slice(ptr pointer, tagsize int) int {\n\ts := *ptr.toInt64Slice()\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(uint64(v)) + tagsize\n\t}\n\treturn n\n}\nfunc sizeVarintS64PackedSlice(ptr pointer, tagsize int) int {\n\ts := *ptr.toInt64Slice()\n\tif len(s) == 0 {\n\t\treturn 0\n\t}\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(uint64(v))\n\t}\n\treturn n + SizeVarint(uint64(n)) + tagsize\n}\nfunc sizeZigzag32Value(ptr pointer, tagsize int) int {\n\tv := *ptr.toInt32()\n\treturn SizeVarint(uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + tagsize\n}\nfunc sizeZigzag32ValueNoZero(ptr pointer, tagsize int) int {\n\tv := *ptr.toInt32()\n\tif v == 0 {\n\t\treturn 0\n\t}\n\treturn SizeVarint(uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + tagsize\n}\nfunc sizeZigzag32Ptr(ptr pointer, tagsize int) int {\n\tp := ptr.getInt32Ptr()\n\tif p == nil {\n\t\treturn 0\n\t}\n\tv := *p\n\treturn SizeVarint(uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + tagsize\n}\nfunc sizeZigzag32Slice(ptr pointer, tagsize int) int {\n\ts := ptr.getInt32Slice()\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + tagsize\n\t}\n\treturn n\n}\nfunc sizeZigzag32PackedSlice(ptr pointer, tagsize int) int {\n\ts := ptr.getInt32Slice()\n\tif len(s) == 0 {\n\t\treturn 0\n\t}\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(uint64((uint32(v) << 1) ^ uint32((int32(v) >> 31))))\n\t}\n\treturn n + SizeVarint(uint64(n)) + tagsize\n}\nfunc sizeZigzag64Value(ptr pointer, tagsize int) int {\n\tv := *ptr.toInt64()\n\treturn SizeVarint(uint64(v<<1)^uint64((int64(v)>>63))) + tagsize\n}\nfunc sizeZigzag64ValueNoZero(ptr pointer, tagsize int) int {\n\tv := *ptr.toInt64()\n\tif v == 0 {\n\t\treturn 0\n\t}\n\treturn SizeVarint(uint64(v<<1)^uint64((int64(v)>>63))) + tagsize\n}\nfunc sizeZigzag64Ptr(ptr pointer, tagsize int) int {\n\tp := *ptr.toInt64Ptr()\n\tif p == nil {\n\t\treturn 0\n\t}\n\tv := *p\n\treturn SizeVarint(uint64(v<<1)^uint64((int64(v)>>63))) + tagsize\n}\nfunc sizeZigzag64Slice(ptr pointer, tagsize int) int {\n\ts := *ptr.toInt64Slice()\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(uint64(v<<1)^uint64((int64(v)>>63))) + tagsize\n\t}\n\treturn n\n}\nfunc sizeZigzag64PackedSlice(ptr pointer, tagsize int) int {\n\ts := *ptr.toInt64Slice()\n\tif len(s) == 0 {\n\t\treturn 0\n\t}\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(uint64(v<<1) ^ uint64((int64(v) >> 63)))\n\t}\n\treturn n + SizeVarint(uint64(n)) + tagsize\n}\nfunc sizeBoolValue(_ pointer, tagsize int) int {\n\treturn 1 + tagsize\n}\nfunc sizeBoolValueNoZero(ptr pointer, tagsize int) int {\n\tv := *ptr.toBool()\n\tif !v {\n\t\treturn 0\n\t}\n\treturn 1 + tagsize\n}\nfunc sizeBoolPtr(ptr pointer, tagsize int) int {\n\tp := *ptr.toBoolPtr()\n\tif p == nil {\n\t\treturn 0\n\t}\n\treturn 1 + tagsize\n}\nfunc sizeBoolSlice(ptr pointer, tagsize int) int {\n\ts := *ptr.toBoolSlice()\n\treturn (1 + tagsize) * len(s)\n}\nfunc sizeBoolPackedSlice(ptr pointer, tagsize int) int {\n\ts := *ptr.toBoolSlice()\n\tif len(s) == 0 {\n\t\treturn 0\n\t}\n\treturn len(s) + SizeVarint(uint64(len(s))) + tagsize\n}\nfunc sizeStringValue(ptr pointer, tagsize int) int {\n\tv := *ptr.toString()\n\treturn len(v) + SizeVarint(uint64(len(v))) + tagsize\n}\nfunc sizeStringValueNoZero(ptr pointer, tagsize int) int {\n\tv := *ptr.toString()\n\tif v == \"\" {\n\t\treturn 0\n\t}\n\treturn len(v) + SizeVarint(uint64(len(v))) + tagsize\n}\nfunc sizeStringPtr(ptr pointer, tagsize int) int {\n\tp := *ptr.toStringPtr()\n\tif p == nil {\n\t\treturn 0\n\t}\n\tv := *p\n\treturn len(v) + SizeVarint(uint64(len(v))) + tagsize\n}\nfunc sizeStringSlice(ptr pointer, tagsize int) int {\n\ts := *ptr.toStringSlice()\n\tn := 0\n\tfor _, v := range s {\n\t\tn += len(v) + SizeVarint(uint64(len(v))) + tagsize\n\t}\n\treturn n\n}\nfunc sizeBytes(ptr pointer, tagsize int) int {\n\tv := *ptr.toBytes()\n\tif v == nil {\n\t\treturn 0\n\t}\n\treturn len(v) + SizeVarint(uint64(len(v))) + tagsize\n}\nfunc sizeBytes3(ptr pointer, tagsize int) int {\n\tv := *ptr.toBytes()\n\tif len(v) == 0 {\n\t\treturn 0\n\t}\n\treturn len(v) + SizeVarint(uint64(len(v))) + tagsize\n}\nfunc sizeBytesOneof(ptr pointer, tagsize int) int {\n\tv := *ptr.toBytes()\n\treturn len(v) + SizeVarint(uint64(len(v))) + tagsize\n}\nfunc sizeBytesSlice(ptr pointer, tagsize int) int {\n\ts := *ptr.toBytesSlice()\n\tn := 0\n\tfor _, v := range s {\n\t\tn += len(v) + SizeVarint(uint64(len(v))) + tagsize\n\t}\n\treturn n\n}\n\n// appendFixed32 appends an encoded fixed32 to b.\nfunc appendFixed32(b []byte, v uint32) []byte {\n\tb = append(b,\n\t\tbyte(v),\n\t\tbyte(v>>8),\n\t\tbyte(v>>16),\n\t\tbyte(v>>24))\n\treturn b\n}\n\n// appendFixed64 appends an encoded fixed64 to b.\nfunc appendFixed64(b []byte, v uint64) []byte {\n\tb = append(b,\n\t\tbyte(v),\n\t\tbyte(v>>8),\n\t\tbyte(v>>16),\n\t\tbyte(v>>24),\n\t\tbyte(v>>32),\n\t\tbyte(v>>40),\n\t\tbyte(v>>48),\n\t\tbyte(v>>56))\n\treturn b\n}\n\n// appendVarint appends an encoded varint to b.\nfunc appendVarint(b []byte, v uint64) []byte {\n\t// TODO: make 1-byte (maybe 2-byte) case inline-able, once we\n\t// have non-leaf inliner.\n\tswitch {\n\tcase v < 1<<7:\n\t\tb = append(b, byte(v))\n\tcase v < 1<<14:\n\t\tb = append(b,\n\t\t\tbyte(v&0x7f|0x80),\n\t\t\tbyte(v>>7))\n\tcase v < 1<<21:\n\t\tb = append(b,\n\t\t\tbyte(v&0x7f|0x80),\n\t\t\tbyte((v>>7)&0x7f|0x80),\n\t\t\tbyte(v>>14))\n\tcase v < 1<<28:\n\t\tb = append(b,\n\t\t\tbyte(v&0x7f|0x80),\n\t\t\tbyte((v>>7)&0x7f|0x80),\n\t\t\tbyte((v>>14)&0x7f|0x80),\n\t\t\tbyte(v>>21))\n\tcase v < 1<<35:\n\t\tb = append(b,\n\t\t\tbyte(v&0x7f|0x80),\n\t\t\tbyte((v>>7)&0x7f|0x80),\n\t\t\tbyte((v>>14)&0x7f|0x80),\n\t\t\tbyte((v>>21)&0x7f|0x80),\n\t\t\tbyte(v>>28))\n\tcase v < 1<<42:\n\t\tb = append(b,\n\t\t\tbyte(v&0x7f|0x80),\n\t\t\tbyte((v>>7)&0x7f|0x80),\n\t\t\tbyte((v>>14)&0x7f|0x80),\n\t\t\tbyte((v>>21)&0x7f|0x80),\n\t\t\tbyte((v>>28)&0x7f|0x80),\n\t\t\tbyte(v>>35))\n\tcase v < 1<<49:\n\t\tb = append(b,\n\t\t\tbyte(v&0x7f|0x80),\n\t\t\tbyte((v>>7)&0x7f|0x80),\n\t\t\tbyte((v>>14)&0x7f|0x80),\n\t\t\tbyte((v>>21)&0x7f|0x80),\n\t\t\tbyte((v>>28)&0x7f|0x80),\n\t\t\tbyte((v>>35)&0x7f|0x80),\n\t\t\tbyte(v>>42))\n\tcase v < 1<<56:\n\t\tb = append(b,\n\t\t\tbyte(v&0x7f|0x80),\n\t\t\tbyte((v>>7)&0x7f|0x80),\n\t\t\tbyte((v>>14)&0x7f|0x80),\n\t\t\tbyte((v>>21)&0x7f|0x80),\n\t\t\tbyte((v>>28)&0x7f|0x80),\n\t\t\tbyte((v>>35)&0x7f|0x80),\n\t\t\tbyte((v>>42)&0x7f|0x80),\n\t\t\tbyte(v>>49))\n\tcase v < 1<<63:\n\t\tb = append(b,\n\t\t\tbyte(v&0x7f|0x80),\n\t\t\tbyte((v>>7)&0x7f|0x80),\n\t\t\tbyte((v>>14)&0x7f|0x80),\n\t\t\tbyte((v>>21)&0x7f|0x80),\n\t\t\tbyte((v>>28)&0x7f|0x80),\n\t\t\tbyte((v>>35)&0x7f|0x80),\n\t\t\tbyte((v>>42)&0x7f|0x80),\n\t\t\tbyte((v>>49)&0x7f|0x80),\n\t\t\tbyte(v>>56))\n\tdefault:\n\t\tb = append(b,\n\t\t\tbyte(v&0x7f|0x80),\n\t\t\tbyte((v>>7)&0x7f|0x80),\n\t\t\tbyte((v>>14)&0x7f|0x80),\n\t\t\tbyte((v>>21)&0x7f|0x80),\n\t\t\tbyte((v>>28)&0x7f|0x80),\n\t\t\tbyte((v>>35)&0x7f|0x80),\n\t\t\tbyte((v>>42)&0x7f|0x80),\n\t\t\tbyte((v>>49)&0x7f|0x80),\n\t\t\tbyte((v>>56)&0x7f|0x80),\n\t\t\t1)\n\t}\n\treturn b\n}\n\nfunc appendFixed32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toUint32()\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed32(b, v)\n\treturn b, nil\n}\nfunc appendFixed32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toUint32()\n\tif v == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed32(b, v)\n\treturn b, nil\n}\nfunc appendFixed32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tp := *ptr.toUint32Ptr()\n\tif p == nil {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed32(b, *p)\n\treturn b, nil\n}\nfunc appendFixed32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toUint32Slice()\n\tfor _, v := range s {\n\t\tb = appendVarint(b, wiretag)\n\t\tb = appendFixed32(b, v)\n\t}\n\treturn b, nil\n}\nfunc appendFixed32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toUint32Slice()\n\tif len(s) == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag&^7|WireBytes)\n\tb = appendVarint(b, uint64(4*len(s)))\n\tfor _, v := range s {\n\t\tb = appendFixed32(b, v)\n\t}\n\treturn b, nil\n}\nfunc appendFixedS32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toInt32()\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed32(b, uint32(v))\n\treturn b, nil\n}\nfunc appendFixedS32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toInt32()\n\tif v == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed32(b, uint32(v))\n\treturn b, nil\n}\nfunc appendFixedS32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tp := ptr.getInt32Ptr()\n\tif p == nil {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed32(b, uint32(*p))\n\treturn b, nil\n}\nfunc appendFixedS32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := ptr.getInt32Slice()\n\tfor _, v := range s {\n\t\tb = appendVarint(b, wiretag)\n\t\tb = appendFixed32(b, uint32(v))\n\t}\n\treturn b, nil\n}\nfunc appendFixedS32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := ptr.getInt32Slice()\n\tif len(s) == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag&^7|WireBytes)\n\tb = appendVarint(b, uint64(4*len(s)))\n\tfor _, v := range s {\n\t\tb = appendFixed32(b, uint32(v))\n\t}\n\treturn b, nil\n}\nfunc appendFloat32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := math.Float32bits(*ptr.toFloat32())\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed32(b, v)\n\treturn b, nil\n}\nfunc appendFloat32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := math.Float32bits(*ptr.toFloat32())\n\tif v == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed32(b, v)\n\treturn b, nil\n}\nfunc appendFloat32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tp := *ptr.toFloat32Ptr()\n\tif p == nil {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed32(b, math.Float32bits(*p))\n\treturn b, nil\n}\nfunc appendFloat32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toFloat32Slice()\n\tfor _, v := range s {\n\t\tb = appendVarint(b, wiretag)\n\t\tb = appendFixed32(b, math.Float32bits(v))\n\t}\n\treturn b, nil\n}\nfunc appendFloat32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toFloat32Slice()\n\tif len(s) == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag&^7|WireBytes)\n\tb = appendVarint(b, uint64(4*len(s)))\n\tfor _, v := range s {\n\t\tb = appendFixed32(b, math.Float32bits(v))\n\t}\n\treturn b, nil\n}\nfunc appendFixed64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toUint64()\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed64(b, v)\n\treturn b, nil\n}\nfunc appendFixed64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toUint64()\n\tif v == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed64(b, v)\n\treturn b, nil\n}\nfunc appendFixed64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tp := *ptr.toUint64Ptr()\n\tif p == nil {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed64(b, *p)\n\treturn b, nil\n}\nfunc appendFixed64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toUint64Slice()\n\tfor _, v := range s {\n\t\tb = appendVarint(b, wiretag)\n\t\tb = appendFixed64(b, v)\n\t}\n\treturn b, nil\n}\nfunc appendFixed64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toUint64Slice()\n\tif len(s) == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag&^7|WireBytes)\n\tb = appendVarint(b, uint64(8*len(s)))\n\tfor _, v := range s {\n\t\tb = appendFixed64(b, v)\n\t}\n\treturn b, nil\n}\nfunc appendFixedS64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toInt64()\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed64(b, uint64(v))\n\treturn b, nil\n}\nfunc appendFixedS64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toInt64()\n\tif v == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed64(b, uint64(v))\n\treturn b, nil\n}\nfunc appendFixedS64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tp := *ptr.toInt64Ptr()\n\tif p == nil {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed64(b, uint64(*p))\n\treturn b, nil\n}\nfunc appendFixedS64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toInt64Slice()\n\tfor _, v := range s {\n\t\tb = appendVarint(b, wiretag)\n\t\tb = appendFixed64(b, uint64(v))\n\t}\n\treturn b, nil\n}\nfunc appendFixedS64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toInt64Slice()\n\tif len(s) == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag&^7|WireBytes)\n\tb = appendVarint(b, uint64(8*len(s)))\n\tfor _, v := range s {\n\t\tb = appendFixed64(b, uint64(v))\n\t}\n\treturn b, nil\n}\nfunc appendFloat64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := math.Float64bits(*ptr.toFloat64())\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed64(b, v)\n\treturn b, nil\n}\nfunc appendFloat64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := math.Float64bits(*ptr.toFloat64())\n\tif v == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed64(b, v)\n\treturn b, nil\n}\nfunc appendFloat64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tp := *ptr.toFloat64Ptr()\n\tif p == nil {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendFixed64(b, math.Float64bits(*p))\n\treturn b, nil\n}\nfunc appendFloat64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toFloat64Slice()\n\tfor _, v := range s {\n\t\tb = appendVarint(b, wiretag)\n\t\tb = appendFixed64(b, math.Float64bits(v))\n\t}\n\treturn b, nil\n}\nfunc appendFloat64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toFloat64Slice()\n\tif len(s) == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag&^7|WireBytes)\n\tb = appendVarint(b, uint64(8*len(s)))\n\tfor _, v := range s {\n\t\tb = appendFixed64(b, math.Float64bits(v))\n\t}\n\treturn b, nil\n}\nfunc appendVarint32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toUint32()\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64(v))\n\treturn b, nil\n}\nfunc appendVarint32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toUint32()\n\tif v == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64(v))\n\treturn b, nil\n}\nfunc appendVarint32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tp := *ptr.toUint32Ptr()\n\tif p == nil {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64(*p))\n\treturn b, nil\n}\nfunc appendVarint32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toUint32Slice()\n\tfor _, v := range s {\n\t\tb = appendVarint(b, wiretag)\n\t\tb = appendVarint(b, uint64(v))\n\t}\n\treturn b, nil\n}\nfunc appendVarint32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toUint32Slice()\n\tif len(s) == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag&^7|WireBytes)\n\t// compute size\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(uint64(v))\n\t}\n\tb = appendVarint(b, uint64(n))\n\tfor _, v := range s {\n\t\tb = appendVarint(b, uint64(v))\n\t}\n\treturn b, nil\n}\nfunc appendVarintS32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toInt32()\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64(v))\n\treturn b, nil\n}\nfunc appendVarintS32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toInt32()\n\tif v == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64(v))\n\treturn b, nil\n}\nfunc appendVarintS32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tp := ptr.getInt32Ptr()\n\tif p == nil {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64(*p))\n\treturn b, nil\n}\nfunc appendVarintS32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := ptr.getInt32Slice()\n\tfor _, v := range s {\n\t\tb = appendVarint(b, wiretag)\n\t\tb = appendVarint(b, uint64(v))\n\t}\n\treturn b, nil\n}\nfunc appendVarintS32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := ptr.getInt32Slice()\n\tif len(s) == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag&^7|WireBytes)\n\t// compute size\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(uint64(v))\n\t}\n\tb = appendVarint(b, uint64(n))\n\tfor _, v := range s {\n\t\tb = appendVarint(b, uint64(v))\n\t}\n\treturn b, nil\n}\nfunc appendVarint64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toUint64()\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, v)\n\treturn b, nil\n}\nfunc appendVarint64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toUint64()\n\tif v == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, v)\n\treturn b, nil\n}\nfunc appendVarint64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tp := *ptr.toUint64Ptr()\n\tif p == nil {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, *p)\n\treturn b, nil\n}\nfunc appendVarint64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toUint64Slice()\n\tfor _, v := range s {\n\t\tb = appendVarint(b, wiretag)\n\t\tb = appendVarint(b, v)\n\t}\n\treturn b, nil\n}\nfunc appendVarint64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toUint64Slice()\n\tif len(s) == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag&^7|WireBytes)\n\t// compute size\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(v)\n\t}\n\tb = appendVarint(b, uint64(n))\n\tfor _, v := range s {\n\t\tb = appendVarint(b, v)\n\t}\n\treturn b, nil\n}\nfunc appendVarintS64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toInt64()\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64(v))\n\treturn b, nil\n}\nfunc appendVarintS64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toInt64()\n\tif v == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64(v))\n\treturn b, nil\n}\nfunc appendVarintS64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tp := *ptr.toInt64Ptr()\n\tif p == nil {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64(*p))\n\treturn b, nil\n}\nfunc appendVarintS64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toInt64Slice()\n\tfor _, v := range s {\n\t\tb = appendVarint(b, wiretag)\n\t\tb = appendVarint(b, uint64(v))\n\t}\n\treturn b, nil\n}\nfunc appendVarintS64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toInt64Slice()\n\tif len(s) == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag&^7|WireBytes)\n\t// compute size\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(uint64(v))\n\t}\n\tb = appendVarint(b, uint64(n))\n\tfor _, v := range s {\n\t\tb = appendVarint(b, uint64(v))\n\t}\n\treturn b, nil\n}\nfunc appendZigzag32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toInt32()\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31))))\n\treturn b, nil\n}\nfunc appendZigzag32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toInt32()\n\tif v == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31))))\n\treturn b, nil\n}\nfunc appendZigzag32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tp := ptr.getInt32Ptr()\n\tif p == nil {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tv := *p\n\tb = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31))))\n\treturn b, nil\n}\nfunc appendZigzag32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := ptr.getInt32Slice()\n\tfor _, v := range s {\n\t\tb = appendVarint(b, wiretag)\n\t\tb = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31))))\n\t}\n\treturn b, nil\n}\nfunc appendZigzag32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := ptr.getInt32Slice()\n\tif len(s) == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag&^7|WireBytes)\n\t// compute size\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(uint64((uint32(v) << 1) ^ uint32((int32(v) >> 31))))\n\t}\n\tb = appendVarint(b, uint64(n))\n\tfor _, v := range s {\n\t\tb = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31))))\n\t}\n\treturn b, nil\n}\nfunc appendZigzag64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toInt64()\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63)))\n\treturn b, nil\n}\nfunc appendZigzag64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toInt64()\n\tif v == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63)))\n\treturn b, nil\n}\nfunc appendZigzag64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tp := *ptr.toInt64Ptr()\n\tif p == nil {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tv := *p\n\tb = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63)))\n\treturn b, nil\n}\nfunc appendZigzag64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toInt64Slice()\n\tfor _, v := range s {\n\t\tb = appendVarint(b, wiretag)\n\t\tb = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63)))\n\t}\n\treturn b, nil\n}\nfunc appendZigzag64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toInt64Slice()\n\tif len(s) == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag&^7|WireBytes)\n\t// compute size\n\tn := 0\n\tfor _, v := range s {\n\t\tn += SizeVarint(uint64(v<<1) ^ uint64((int64(v) >> 63)))\n\t}\n\tb = appendVarint(b, uint64(n))\n\tfor _, v := range s {\n\t\tb = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63)))\n\t}\n\treturn b, nil\n}\nfunc appendBoolValue(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toBool()\n\tb = appendVarint(b, wiretag)\n\tif v {\n\t\tb = append(b, 1)\n\t} else {\n\t\tb = append(b, 0)\n\t}\n\treturn b, nil\n}\nfunc appendBoolValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toBool()\n\tif !v {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = append(b, 1)\n\treturn b, nil\n}\n\nfunc appendBoolPtr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tp := *ptr.toBoolPtr()\n\tif p == nil {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tif *p {\n\t\tb = append(b, 1)\n\t} else {\n\t\tb = append(b, 0)\n\t}\n\treturn b, nil\n}\nfunc appendBoolSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toBoolSlice()\n\tfor _, v := range s {\n\t\tb = appendVarint(b, wiretag)\n\t\tif v {\n\t\t\tb = append(b, 1)\n\t\t} else {\n\t\t\tb = append(b, 0)\n\t\t}\n\t}\n\treturn b, nil\n}\nfunc appendBoolPackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toBoolSlice()\n\tif len(s) == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag&^7|WireBytes)\n\tb = appendVarint(b, uint64(len(s)))\n\tfor _, v := range s {\n\t\tif v {\n\t\t\tb = append(b, 1)\n\t\t} else {\n\t\t\tb = append(b, 0)\n\t\t}\n\t}\n\treturn b, nil\n}\nfunc appendStringValue(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toString()\n\tif !utf8.ValidString(v) {\n\t\treturn nil, errInvalidUTF8\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64(len(v)))\n\tb = append(b, v...)\n\treturn b, nil\n}\nfunc appendStringValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toString()\n\tif v == \"\" {\n\t\treturn b, nil\n\t}\n\tif !utf8.ValidString(v) {\n\t\treturn nil, errInvalidUTF8\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64(len(v)))\n\tb = append(b, v...)\n\treturn b, nil\n}\nfunc appendStringPtr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tp := *ptr.toStringPtr()\n\tif p == nil {\n\t\treturn b, nil\n\t}\n\tv := *p\n\tif !utf8.ValidString(v) {\n\t\treturn nil, errInvalidUTF8\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64(len(v)))\n\tb = append(b, v...)\n\treturn b, nil\n}\nfunc appendStringSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toStringSlice()\n\tfor _, v := range s {\n\t\tif !utf8.ValidString(v) {\n\t\t\treturn nil, errInvalidUTF8\n\t\t}\n\t\tb = appendVarint(b, wiretag)\n\t\tb = appendVarint(b, uint64(len(v)))\n\t\tb = append(b, v...)\n\t}\n\treturn b, nil\n}\nfunc appendBytes(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toBytes()\n\tif v == nil {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64(len(v)))\n\tb = append(b, v...)\n\treturn b, nil\n}\nfunc appendBytes3(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toBytes()\n\tif len(v) == 0 {\n\t\treturn b, nil\n\t}\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64(len(v)))\n\tb = append(b, v...)\n\treturn b, nil\n}\nfunc appendBytesOneof(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\tv := *ptr.toBytes()\n\tb = appendVarint(b, wiretag)\n\tb = appendVarint(b, uint64(len(v)))\n\tb = append(b, v...)\n\treturn b, nil\n}\nfunc appendBytesSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) {\n\ts := *ptr.toBytesSlice()\n\tfor _, v := range s {\n\t\tb = appendVarint(b, wiretag)\n\t\tb = appendVarint(b, uint64(len(v)))\n\t\tb = append(b, v...)\n\t}\n\treturn b, nil\n}\n\n// makeGroupMarshaler returns the sizer and marshaler for a group.\n// u is the marshal info of the underlying message.\nfunc makeGroupMarshaler(u *marshalInfo) (sizer, marshaler) {\n\treturn func(ptr pointer, tagsize int) int {\n\t\t\tp := ptr.getPointer()\n\t\t\tif p.isNil() {\n\t\t\t\treturn 0\n\t\t\t}\n\t\t\treturn u.size(p) + 2*tagsize\n\t\t},\n\t\tfunc(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {\n\t\t\tp := ptr.getPointer()\n\t\t\tif p.isNil() {\n\t\t\t\treturn b, nil\n\t\t\t}\n\t\t\tvar err error\n\t\t\tb = appendVarint(b, wiretag) // start group\n\t\t\tb, err = u.marshal(b, p, deterministic)\n\t\t\tb = appendVarint(b, wiretag+(WireEndGroup-WireStartGroup)) // end group\n\t\t\treturn b, err\n\t\t}\n}\n\n// makeGroupSliceMarshaler returns the sizer and marshaler for a group slice.\n// u is the marshal info of the underlying message.\nfunc makeGroupSliceMarshaler(u *marshalInfo) (sizer, marshaler) {\n\treturn func(ptr pointer, tagsize int) int {\n\t\t\ts := ptr.getPointerSlice()\n\t\t\tn := 0\n\t\t\tfor _, v := range s {\n\t\t\t\tif v.isNil() {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tn += u.size(v) + 2*tagsize\n\t\t\t}\n\t\t\treturn n\n\t\t},\n\t\tfunc(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {\n\t\t\ts := ptr.getPointerSlice()\n\t\t\tvar err, errreq error\n\t\t\tfor _, v := range s {\n\t\t\t\tif v.isNil() {\n\t\t\t\t\treturn b, errRepeatedHasNil\n\t\t\t\t}\n\t\t\t\tb = appendVarint(b, wiretag) // start group\n\t\t\t\tb, err = u.marshal(b, v, deterministic)\n\t\t\t\tb = appendVarint(b, wiretag+(WireEndGroup-WireStartGroup)) // end group\n\t\t\t\tif err != nil {\n\t\t\t\t\tif _, ok := err.(*RequiredNotSetError); ok {\n\t\t\t\t\t\t// Required field in submessage is not set.\n\t\t\t\t\t\t// We record the error but keep going, to give a complete marshaling.\n\t\t\t\t\t\tif errreq == nil {\n\t\t\t\t\t\t\terrreq = err\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tif err == ErrNil {\n\t\t\t\t\t\terr = errRepeatedHasNil\n\t\t\t\t\t}\n\t\t\t\t\treturn b, err\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn b, errreq\n\t\t}\n}\n\n// makeMessageMarshaler returns the sizer and marshaler for a message field.\n// u is the marshal info of the message.\nfunc makeMessageMarshaler(u *marshalInfo) (sizer, marshaler) {\n\treturn func(ptr pointer, tagsize int) int {\n\t\t\tp := ptr.getPointer()\n\t\t\tif p.isNil() {\n\t\t\t\treturn 0\n\t\t\t}\n\t\t\tsiz := u.size(p)\n\t\t\treturn siz + SizeVarint(uint64(siz)) + tagsize\n\t\t},\n\t\tfunc(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {\n\t\t\tp := ptr.getPointer()\n\t\t\tif p.isNil() {\n\t\t\t\treturn b, nil\n\t\t\t}\n\t\t\tb = appendVarint(b, wiretag)\n\t\t\tsiz := u.cachedsize(p)\n\t\t\tb = appendVarint(b, uint64(siz))\n\t\t\treturn u.marshal(b, p, deterministic)\n\t\t}\n}\n\n// makeMessageSliceMarshaler returns the sizer and marshaler for a message slice.\n// u is the marshal info of the message.\nfunc makeMessageSliceMarshaler(u *marshalInfo) (sizer, marshaler) {\n\treturn func(ptr pointer, tagsize int) int {\n\t\t\ts := ptr.getPointerSlice()\n\t\t\tn := 0\n\t\t\tfor _, v := range s {\n\t\t\t\tif v.isNil() {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tsiz := u.size(v)\n\t\t\t\tn += siz + SizeVarint(uint64(siz)) + tagsize\n\t\t\t}\n\t\t\treturn n\n\t\t},\n\t\tfunc(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) {\n\t\t\ts := ptr.getPointerSlice()\n\t\t\tvar err, errreq error\n\t\t\tfor _, v := range s {\n\t\t\t\tif v.isNil() {\n\t\t\t\t\treturn b, errRepeatedHasNil\n\t\t\t\t}\n\t\t\t\tb = appendVarint(b, wiretag)\n\t\t\t\tsiz := u.cachedsize(v)\n\t\t\t\tb = appendVarint(b, uint64(siz))\n\t\t\t\tb, err = u.marshal(b, v, deterministic)\n\n\t\t\t\tif err != nil {\n\t\t\t\t\tif _, ok := err.(*RequiredNotSetError); ok {\n\t\t\t\t\t\t// Required field in submessage is not set.\n\t\t\t\t\t\t// We record the error but keep going, to give a complete marshaling.\n\t\t\t\t\t\tif errreq == nil {\n\t\t\t\t\t\t\terrreq = err\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tif err == ErrNil {\n\t\t\t\t\t\terr = errRepeatedHasNil\n\t\t\t\t\t}\n\t\t\t\t\treturn b, err\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn b, errreq\n\t\t}\n}\n\n// makeMapMarshaler returns the sizer and marshaler for a map field.\n// f is the pointer to the reflect data structure of the field.\nfunc makeMapMarshaler(f *reflect.StructField) (sizer, marshaler) {\n\t// figure out key and value type\n\tt := f.Type\n\tkeyType := t.Key()\n\tvalType := t.Elem()\n\tkeyTags := strings.Split(f.Tag.Get(\"protobuf_key\"), \",\")\n\tvalTags := strings.Split(f.Tag.Get(\"protobuf_val\"), \",\")\n\tkeySizer, keyMarshaler := typeMarshaler(keyType, keyTags, false, false) // don't omit zero value in map\n\tvalSizer, valMarshaler := typeMarshaler(valType, valTags, false, false) // don't omit zero value in map\n\tkeyWireTag := 1<<3 | wiretype(keyTags[0])\n\tvalWireTag := 2<<3 | wiretype(valTags[0])\n\n\t// We create an interface to get the addresses of the map key and value.\n\t// If value is pointer-typed, the interface is a direct interface, the\n\t// idata itself is the value. Otherwise, the idata is the pointer to the\n\t// value.\n\t// Key cannot be pointer-typed.\n\tvalIsPtr := valType.Kind() == reflect.Ptr\n\treturn func(ptr pointer, tagsize int) int {\n\t\t\tm := ptr.asPointerTo(t).Elem() // the map\n\t\t\tn := 0\n\t\t\tfor _, k := range m.MapKeys() {\n\t\t\t\tki := k.Interface()\n\t\t\t\tvi := m.MapIndex(k).Interface()\n\t\t\t\tkaddr := toAddrPointer(&ki, false)             // pointer to key\n\t\t\t\tvaddr := toAddrPointer(&vi, valIsPtr)          // pointer to value\n\t\t\t\tsiz := keySizer(kaddr, 1) + valSizer(vaddr, 1) // tag of key = 1 (size=1), tag of val = 2 (size=1)\n\t\t\t\tn += siz + SizeVarint(uint64(siz)) + tagsize\n\t\t\t}\n\t\t\treturn n\n\t\t},\n\t\tfunc(b []byte, ptr pointer, tag uint64, deterministic bool) ([]byte, error) {\n\t\t\tm := ptr.asPointerTo(t).Elem() // the map\n\t\t\tvar err error\n\t\t\tkeys := m.MapKeys()\n\t\t\tif len(keys) > 1 && deterministic {\n\t\t\t\tsort.Sort(mapKeys(keys))\n\t\t\t}\n\t\t\tfor _, k := range keys {\n\t\t\t\tki := k.Interface()\n\t\t\t\tvi := m.MapIndex(k).Interface()\n\t\t\t\tkaddr := toAddrPointer(&ki, false)    // pointer to key\n\t\t\t\tvaddr := toAddrPointer(&vi, valIsPtr) // pointer to value\n\t\t\t\tb = appendVarint(b, tag)\n\t\t\t\tsiz := keySizer(kaddr, 1) + valSizer(vaddr, 1) // tag of key = 1 (size=1), tag of val = 2 (size=1)\n\t\t\t\tb = appendVarint(b, uint64(siz))\n\t\t\t\tb, err = keyMarshaler(b, kaddr, keyWireTag, deterministic)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn b, err\n\t\t\t\t}\n\t\t\t\tb, err = valMarshaler(b, vaddr, valWireTag, deterministic)\n\t\t\t\tif err != nil && err != ErrNil { // allow nil value in map\n\t\t\t\t\treturn b, err\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn b, nil\n\t\t}\n}\n\n// makeOneOfMarshaler returns the sizer and marshaler for a oneof field.\n// fi is the marshal info of the field.\n// f is the pointer to the reflect data structure of the field.\nfunc makeOneOfMarshaler(fi *marshalFieldInfo, f *reflect.StructField) (sizer, marshaler) {\n\t// Oneof field is an interface. We need to get the actual data type on the fly.\n\tt := f.Type\n\treturn func(ptr pointer, _ int) int {\n\t\t\tp := ptr.getInterfacePointer()\n\t\t\tif p.isNil() {\n\t\t\t\treturn 0\n\t\t\t}\n\t\t\tv := ptr.asPointerTo(t).Elem().Elem().Elem() // *interface -> interface -> *struct -> struct\n\t\t\ttelem := v.Type()\n\t\t\te := fi.oneofElems[telem]\n\t\t\treturn e.sizer(p, e.tagsize)\n\t\t},\n\t\tfunc(b []byte, ptr pointer, _ uint64, deterministic bool) ([]byte, error) {\n\t\t\tp := ptr.getInterfacePointer()\n\t\t\tif p.isNil() {\n\t\t\t\treturn b, nil\n\t\t\t}\n\t\t\tv := ptr.asPointerTo(t).Elem().Elem().Elem() // *interface -> interface -> *struct -> struct\n\t\t\ttelem := v.Type()\n\t\t\tif telem.Field(0).Type.Kind() == reflect.Ptr && p.getPointer().isNil() {\n\t\t\t\treturn b, errOneofHasNil\n\t\t\t}\n\t\t\te := fi.oneofElems[telem]\n\t\t\treturn e.marshaler(b, p, e.wiretag, deterministic)\n\t\t}\n}\n\n// sizeExtensions computes the size of encoded data for a XXX_InternalExtensions field.\nfunc (u *marshalInfo) sizeExtensions(ext *XXX_InternalExtensions) int {\n\tm, mu := ext.extensionsRead()\n\tif m == nil {\n\t\treturn 0\n\t}\n\tmu.Lock()\n\n\tn := 0\n\tfor _, e := range m {\n\t\tif e.value == nil || e.desc == nil {\n\t\t\t// Extension is only in its encoded form.\n\t\t\tn += len(e.enc)\n\t\t\tcontinue\n\t\t}\n\n\t\t// We don't skip extensions that have an encoded form set,\n\t\t// because the extension value may have been mutated after\n\t\t// the last time this function was called.\n\t\tei := u.getExtElemInfo(e.desc)\n\t\tv := e.value\n\t\tp := toAddrPointer(&v, ei.isptr)\n\t\tn += ei.sizer(p, ei.tagsize)\n\t}\n\tmu.Unlock()\n\treturn n\n}\n\n// appendExtensions marshals a XXX_InternalExtensions field to the end of byte slice b.\nfunc (u *marshalInfo) appendExtensions(b []byte, ext *XXX_InternalExtensions, deterministic bool) ([]byte, error) {\n\tm, mu := ext.extensionsRead()\n\tif m == nil {\n\t\treturn b, nil\n\t}\n\tmu.Lock()\n\tdefer mu.Unlock()\n\n\tvar err error\n\n\t// Fast-path for common cases: zero or one extensions.\n\t// Don't bother sorting the keys.\n\tif len(m) <= 1 {\n\t\tfor _, e := range m {\n\t\t\tif e.value == nil || e.desc == nil {\n\t\t\t\t// Extension is only in its encoded form.\n\t\t\t\tb = append(b, e.enc...)\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// We don't skip extensions that have an encoded form set,\n\t\t\t// because the extension value may have been mutated after\n\t\t\t// the last time this function was called.\n\n\t\t\tei := u.getExtElemInfo(e.desc)\n\t\t\tv := e.value\n\t\t\tp := toAddrPointer(&v, ei.isptr)\n\t\t\tb, err = ei.marshaler(b, p, ei.wiretag, deterministic)\n\t\t\tif err != nil {\n\t\t\t\treturn b, err\n\t\t\t}\n\t\t}\n\t\treturn b, nil\n\t}\n\n\t// Sort the keys to provide a deterministic encoding.\n\t// Not sure this is required, but the old code does it.\n\tkeys := make([]int, 0, len(m))\n\tfor k := range m {\n\t\tkeys = append(keys, int(k))\n\t}\n\tsort.Ints(keys)\n\n\tfor _, k := range keys {\n\t\te := m[int32(k)]\n\t\tif e.value == nil || e.desc == nil {\n\t\t\t// Extension is only in its encoded form.\n\t\t\tb = append(b, e.enc...)\n\t\t\tcontinue\n\t\t}\n\n\t\t// We don't skip extensions that have an encoded form set,\n\t\t// because the extension value may have been mutated after\n\t\t// the last time this function was called.\n\n\t\tei := u.getExtElemInfo(e.desc)\n\t\tv := e.value\n\t\tp := toAddrPointer(&v, ei.isptr)\n\t\tb, err = ei.marshaler(b, p, ei.wiretag, deterministic)\n\t\tif err != nil {\n\t\t\treturn b, err\n\t\t}\n\t}\n\treturn b, nil\n}\n\n// message set format is:\n//   message MessageSet {\n//     repeated group Item = 1 {\n//       required int32 type_id = 2;\n//       required string message = 3;\n//     };\n//   }\n\n// sizeMessageSet computes the size of encoded data for a XXX_InternalExtensions field\n// in message set format (above).\nfunc (u *marshalInfo) sizeMessageSet(ext *XXX_InternalExtensions) int {\n\tm, mu := ext.extensionsRead()\n\tif m == nil {\n\t\treturn 0\n\t}\n\tmu.Lock()\n\n\tn := 0\n\tfor id, e := range m {\n\t\tn += 2                          // start group, end group. tag = 1 (size=1)\n\t\tn += SizeVarint(uint64(id)) + 1 // type_id, tag = 2 (size=1)\n\n\t\tif e.value == nil || e.desc == nil {\n\t\t\t// Extension is only in its encoded form.\n\t\t\tmsgWithLen := skipVarint(e.enc) // skip old tag, but leave the length varint\n\t\t\tsiz := len(msgWithLen)\n\t\t\tn += siz + 1 // message, tag = 3 (size=1)\n\t\t\tcontinue\n\t\t}\n\n\t\t// We don't skip extensions that have an encoded form set,\n\t\t// because the extension value may have been mutated after\n\t\t// the last time this function was called.\n\n\t\tei := u.getExtElemInfo(e.desc)\n\t\tv := e.value\n\t\tp := toAddrPointer(&v, ei.isptr)\n\t\tn += ei.sizer(p, 1) // message, tag = 3 (size=1)\n\t}\n\tmu.Unlock()\n\treturn n\n}\n\n// appendMessageSet marshals a XXX_InternalExtensions field in message set format (above)\n// to the end of byte slice b.\nfunc (u *marshalInfo) appendMessageSet(b []byte, ext *XXX_InternalExtensions, deterministic bool) ([]byte, error) {\n\tm, mu := ext.extensionsRead()\n\tif m == nil {\n\t\treturn b, nil\n\t}\n\tmu.Lock()\n\tdefer mu.Unlock()\n\n\tvar err error\n\n\t// Fast-path for common cases: zero or one extensions.\n\t// Don't bother sorting the keys.\n\tif len(m) <= 1 {\n\t\tfor id, e := range m {\n\t\t\tb = append(b, 1<<3|WireStartGroup)\n\t\t\tb = append(b, 2<<3|WireVarint)\n\t\t\tb = appendVarint(b, uint64(id))\n\n\t\t\tif e.value == nil || e.desc == nil {\n\t\t\t\t// Extension is only in its encoded form.\n\t\t\t\tmsgWithLen := skipVarint(e.enc) // skip old tag, but leave the length varint\n\t\t\t\tb = append(b, 3<<3|WireBytes)\n\t\t\t\tb = append(b, msgWithLen...)\n\t\t\t\tb = append(b, 1<<3|WireEndGroup)\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// We don't skip extensions that have an encoded form set,\n\t\t\t// because the extension value may have been mutated after\n\t\t\t// the last time this function was called.\n\n\t\t\tei := u.getExtElemInfo(e.desc)\n\t\t\tv := e.value\n\t\t\tp := toAddrPointer(&v, ei.isptr)\n\t\t\tb, err = ei.marshaler(b, p, 3<<3|WireBytes, deterministic)\n\t\t\tif err != nil {\n\t\t\t\treturn b, err\n\t\t\t}\n\t\t\tb = append(b, 1<<3|WireEndGroup)\n\t\t}\n\t\treturn b, nil\n\t}\n\n\t// Sort the keys to provide a deterministic encoding.\n\tkeys := make([]int, 0, len(m))\n\tfor k := range m {\n\t\tkeys = append(keys, int(k))\n\t}\n\tsort.Ints(keys)\n\n\tfor _, id := range keys {\n\t\te := m[int32(id)]\n\t\tb = append(b, 1<<3|WireStartGroup)\n\t\tb = append(b, 2<<3|WireVarint)\n\t\tb = appendVarint(b, uint64(id))\n\n\t\tif e.value == nil || e.desc == nil {\n\t\t\t// Extension is only in its encoded form.\n\t\t\tmsgWithLen := skipVarint(e.enc) // skip old tag, but leave the length varint\n\t\t\tb = append(b, 3<<3|WireBytes)\n\t\t\tb = append(b, msgWithLen...)\n\t\t\tb = append(b, 1<<3|WireEndGroup)\n\t\t\tcontinue\n\t\t}\n\n\t\t// We don't skip extensions that have an encoded form set,\n\t\t// because the extension value may have been mutated after\n\t\t// the last time this function was called.\n\n\t\tei := u.getExtElemInfo(e.desc)\n\t\tv := e.value\n\t\tp := toAddrPointer(&v, ei.isptr)\n\t\tb, err = ei.marshaler(b, p, 3<<3|WireBytes, deterministic)\n\t\tb = append(b, 1<<3|WireEndGroup)\n\t\tif err != nil {\n\t\t\treturn b, err\n\t\t}\n\t}\n\treturn b, nil\n}\n\n// sizeV1Extensions computes the size of encoded data for a V1-API extension field.\nfunc (u *marshalInfo) sizeV1Extensions(m map[int32]Extension) int {\n\tif m == nil {\n\t\treturn 0\n\t}\n\n\tn := 0\n\tfor _, e := range m {\n\t\tif e.value == nil || e.desc == nil {\n\t\t\t// Extension is only in its encoded form.\n\t\t\tn += len(e.enc)\n\t\t\tcontinue\n\t\t}\n\n\t\t// We don't skip extensions that have an encoded form set,\n\t\t// because the extension value may have been mutated after\n\t\t// the last time this function was called.\n\n\t\tei := u.getExtElemInfo(e.desc)\n\t\tv := e.value\n\t\tp := toAddrPointer(&v, ei.isptr)\n\t\tn += ei.sizer(p, ei.tagsize)\n\t}\n\treturn n\n}\n\n// appendV1Extensions marshals a V1-API extension field to the end of byte slice b.\nfunc (u *marshalInfo) appendV1Extensions(b []byte, m map[int32]Extension, deterministic bool) ([]byte, error) {\n\tif m == nil {\n\t\treturn b, nil\n\t}\n\n\t// Sort the keys to provide a deterministic encoding.\n\tkeys := make([]int, 0, len(m))\n\tfor k := range m {\n\t\tkeys = append(keys, int(k))\n\t}\n\tsort.Ints(keys)\n\n\tvar err error\n\tfor _, k := range keys {\n\t\te := m[int32(k)]\n\t\tif e.value == nil || e.desc == nil {\n\t\t\t// Extension is only in its encoded form.\n\t\t\tb = append(b, e.enc...)\n\t\t\tcontinue\n\t\t}\n\n\t\t// We don't skip extensions that have an encoded form set,\n\t\t// because the extension value may have been mutated after\n\t\t// the last time this function was called.\n\n\t\tei := u.getExtElemInfo(e.desc)\n\t\tv := e.value\n\t\tp := toAddrPointer(&v, ei.isptr)\n\t\tb, err = ei.marshaler(b, p, ei.wiretag, deterministic)\n\t\tif err != nil {\n\t\t\treturn b, err\n\t\t}\n\t}\n\treturn b, nil\n}\n\n// newMarshaler is the interface representing objects that can marshal themselves.\n//\n// This exists to support protoc-gen-go generated messages.\n// The proto package will stop type-asserting to this interface in the future.\n//\n// DO NOT DEPEND ON THIS.\ntype newMarshaler interface {\n\tXXX_Size() int\n\tXXX_Marshal(b []byte, deterministic bool) ([]byte, error)\n}\n\n// Size returns the encoded size of a protocol buffer message.\n// This is the main entry point.\nfunc Size(pb Message) int {\n\tif m, ok := pb.(newMarshaler); ok {\n\t\treturn m.XXX_Size()\n\t}\n\tif m, ok := pb.(Marshaler); ok {\n\t\t// If the message can marshal itself, let it do it, for compatibility.\n\t\t// NOTE: This is not efficient.\n\t\tb, _ := m.Marshal()\n\t\treturn len(b)\n\t}\n\t// in case somehow we didn't generate the wrapper\n\tif pb == nil {\n\t\treturn 0\n\t}\n\tvar info InternalMessageInfo\n\treturn info.Size(pb)\n}\n\n// Marshal takes a protocol buffer message\n// and encodes it into the wire format, returning the data.\n// This is the main entry point.\nfunc Marshal(pb Message) ([]byte, error) {\n\tif m, ok := pb.(newMarshaler); ok {\n\t\tsiz := m.XXX_Size()\n\t\tb := make([]byte, 0, siz)\n\t\treturn m.XXX_Marshal(b, false)\n\t}\n\tif m, ok := pb.(Marshaler); ok {\n\t\t// If the message can marshal itself, let it do it, for compatibility.\n\t\t// NOTE: This is not efficient.\n\t\treturn m.Marshal()\n\t}\n\t// in case somehow we didn't generate the wrapper\n\tif pb == nil {\n\t\treturn nil, ErrNil\n\t}\n\tvar info InternalMessageInfo\n\tsiz := info.Size(pb)\n\tb := make([]byte, 0, siz)\n\treturn info.Marshal(b, pb, false)\n}\n\n// Marshal takes a protocol buffer message\n// and encodes it into the wire format, writing the result to the\n// Buffer.\n// This is an alternative entry point. It is not necessary to use\n// a Buffer for most applications.\nfunc (p *Buffer) Marshal(pb Message) error {\n\tvar err error\n\tif m, ok := pb.(newMarshaler); ok {\n\t\tsiz := m.XXX_Size()\n\t\tp.grow(siz) // make sure buf has enough capacity\n\t\tp.buf, err = m.XXX_Marshal(p.buf, p.deterministic)\n\t\treturn err\n\t}\n\tif m, ok := pb.(Marshaler); ok {\n\t\t// If the message can marshal itself, let it do it, for compatibility.\n\t\t// NOTE: This is not efficient.\n\t\tb, err := m.Marshal()\n\t\tp.buf = append(p.buf, b...)\n\t\treturn err\n\t}\n\t// in case somehow we didn't generate the wrapper\n\tif pb == nil {\n\t\treturn ErrNil\n\t}\n\tvar info InternalMessageInfo\n\tsiz := info.Size(pb)\n\tp.grow(siz) // make sure buf has enough capacity\n\tp.buf, err = info.Marshal(p.buf, pb, p.deterministic)\n\treturn err\n}\n\n// grow grows the buffer's capacity, if necessary, to guarantee space for\n// another n bytes. After grow(n), at least n bytes can be written to the\n// buffer without another allocation.\nfunc (p *Buffer) grow(n int) {\n\tneed := len(p.buf) + n\n\tif need <= cap(p.buf) {\n\t\treturn\n\t}\n\tnewCap := len(p.buf) * 2\n\tif newCap < need {\n\t\tnewCap = need\n\t}\n\tp.buf = append(make([]byte, 0, newCap), p.buf...)\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/proto/table_merge.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2016 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\nimport (\n\t\"fmt\"\n\t\"reflect\"\n\t\"strings\"\n\t\"sync\"\n\t\"sync/atomic\"\n)\n\n// Merge merges the src message into dst.\n// This assumes that dst and src of the same type and are non-nil.\nfunc (a *InternalMessageInfo) Merge(dst, src Message) {\n\tmi := atomicLoadMergeInfo(&a.merge)\n\tif mi == nil {\n\t\tmi = getMergeInfo(reflect.TypeOf(dst).Elem())\n\t\tatomicStoreMergeInfo(&a.merge, mi)\n\t}\n\tmi.merge(toPointer(&dst), toPointer(&src))\n}\n\ntype mergeInfo struct {\n\ttyp reflect.Type\n\n\tinitialized int32 // 0: only typ is valid, 1: everything is valid\n\tlock        sync.Mutex\n\n\tfields       []mergeFieldInfo\n\tunrecognized field // Offset of XXX_unrecognized\n}\n\ntype mergeFieldInfo struct {\n\tfield field // Offset of field, guaranteed to be valid\n\n\t// isPointer reports whether the value in the field is a pointer.\n\t// This is true for the following situations:\n\t//\t* Pointer to struct\n\t//\t* Pointer to basic type (proto2 only)\n\t//\t* Slice (first value in slice header is a pointer)\n\t//\t* String (first value in string header is a pointer)\n\tisPointer bool\n\n\t// basicWidth reports the width of the field assuming that it is directly\n\t// embedded in the struct (as is the case for basic types in proto3).\n\t// The possible values are:\n\t// \t0: invalid\n\t//\t1: bool\n\t//\t4: int32, uint32, float32\n\t//\t8: int64, uint64, float64\n\tbasicWidth int\n\n\t// Where dst and src are pointers to the types being merged.\n\tmerge func(dst, src pointer)\n}\n\nvar (\n\tmergeInfoMap  = map[reflect.Type]*mergeInfo{}\n\tmergeInfoLock sync.Mutex\n)\n\nfunc getMergeInfo(t reflect.Type) *mergeInfo {\n\tmergeInfoLock.Lock()\n\tdefer mergeInfoLock.Unlock()\n\tmi := mergeInfoMap[t]\n\tif mi == nil {\n\t\tmi = &mergeInfo{typ: t}\n\t\tmergeInfoMap[t] = mi\n\t}\n\treturn mi\n}\n\n// merge merges src into dst assuming they are both of type *mi.typ.\nfunc (mi *mergeInfo) merge(dst, src pointer) {\n\tif dst.isNil() {\n\t\tpanic(\"proto: nil destination\")\n\t}\n\tif src.isNil() {\n\t\treturn // Nothing to do.\n\t}\n\n\tif atomic.LoadInt32(&mi.initialized) == 0 {\n\t\tmi.computeMergeInfo()\n\t}\n\n\tfor _, fi := range mi.fields {\n\t\tsfp := src.offset(fi.field)\n\n\t\t// As an optimization, we can avoid the merge function call cost\n\t\t// if we know for sure that the source will have no effect\n\t\t// by checking if it is the zero value.\n\t\tif unsafeAllowed {\n\t\t\tif fi.isPointer && sfp.getPointer().isNil() { // Could be slice or string\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif fi.basicWidth > 0 {\n\t\t\t\tswitch {\n\t\t\t\tcase fi.basicWidth == 1 && !*sfp.toBool():\n\t\t\t\t\tcontinue\n\t\t\t\tcase fi.basicWidth == 4 && *sfp.toUint32() == 0:\n\t\t\t\t\tcontinue\n\t\t\t\tcase fi.basicWidth == 8 && *sfp.toUint64() == 0:\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tdfp := dst.offset(fi.field)\n\t\tfi.merge(dfp, sfp)\n\t}\n\n\t// TODO: Make this faster?\n\tout := dst.asPointerTo(mi.typ).Elem()\n\tin := src.asPointerTo(mi.typ).Elem()\n\tif emIn, err := extendable(in.Addr().Interface()); err == nil {\n\t\temOut, _ := extendable(out.Addr().Interface())\n\t\tmIn, muIn := emIn.extensionsRead()\n\t\tif mIn != nil {\n\t\t\tmOut := emOut.extensionsWrite()\n\t\t\tmuIn.Lock()\n\t\t\tmergeExtension(mOut, mIn)\n\t\t\tmuIn.Unlock()\n\t\t}\n\t}\n\n\tif mi.unrecognized.IsValid() {\n\t\tif b := *src.offset(mi.unrecognized).toBytes(); len(b) > 0 {\n\t\t\t*dst.offset(mi.unrecognized).toBytes() = append([]byte(nil), b...)\n\t\t}\n\t}\n}\n\nfunc (mi *mergeInfo) computeMergeInfo() {\n\tmi.lock.Lock()\n\tdefer mi.lock.Unlock()\n\tif mi.initialized != 0 {\n\t\treturn\n\t}\n\tt := mi.typ\n\tn := t.NumField()\n\n\tprops := GetProperties(t)\n\tfor i := 0; i < n; i++ {\n\t\tf := t.Field(i)\n\t\tif strings.HasPrefix(f.Name, \"XXX_\") {\n\t\t\tcontinue\n\t\t}\n\n\t\tmfi := mergeFieldInfo{field: toField(&f)}\n\t\ttf := f.Type\n\n\t\t// As an optimization, we can avoid the merge function call cost\n\t\t// if we know for sure that the source will have no effect\n\t\t// by checking if it is the zero value.\n\t\tif unsafeAllowed {\n\t\t\tswitch tf.Kind() {\n\t\t\tcase reflect.Ptr, reflect.Slice, reflect.String:\n\t\t\t\t// As a special case, we assume slices and strings are pointers\n\t\t\t\t// since we know that the first field in the SliceSlice or\n\t\t\t\t// StringHeader is a data pointer.\n\t\t\t\tmfi.isPointer = true\n\t\t\tcase reflect.Bool:\n\t\t\t\tmfi.basicWidth = 1\n\t\t\tcase reflect.Int32, reflect.Uint32, reflect.Float32:\n\t\t\t\tmfi.basicWidth = 4\n\t\t\tcase reflect.Int64, reflect.Uint64, reflect.Float64:\n\t\t\t\tmfi.basicWidth = 8\n\t\t\t}\n\t\t}\n\n\t\t// Unwrap tf to get at its most basic type.\n\t\tvar isPointer, isSlice bool\n\t\tif tf.Kind() == reflect.Slice && tf.Elem().Kind() != reflect.Uint8 {\n\t\t\tisSlice = true\n\t\t\ttf = tf.Elem()\n\t\t}\n\t\tif tf.Kind() == reflect.Ptr {\n\t\t\tisPointer = true\n\t\t\ttf = tf.Elem()\n\t\t}\n\t\tif isPointer && isSlice && tf.Kind() != reflect.Struct {\n\t\t\tpanic(\"both pointer and slice for basic type in \" + tf.Name())\n\t\t}\n\n\t\tswitch tf.Kind() {\n\t\tcase reflect.Int32:\n\t\t\tswitch {\n\t\t\tcase isSlice: // E.g., []int32\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\t// NOTE: toInt32Slice is not defined (see pointer_reflect.go).\n\t\t\t\t\t/*\n\t\t\t\t\t\tsfsp := src.toInt32Slice()\n\t\t\t\t\t\tif *sfsp != nil {\n\t\t\t\t\t\t\tdfsp := dst.toInt32Slice()\n\t\t\t\t\t\t\t*dfsp = append(*dfsp, *sfsp...)\n\t\t\t\t\t\t\tif *dfsp == nil {\n\t\t\t\t\t\t\t\t*dfsp = []int64{}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t*/\n\t\t\t\t\tsfs := src.getInt32Slice()\n\t\t\t\t\tif sfs != nil {\n\t\t\t\t\t\tdfs := dst.getInt32Slice()\n\t\t\t\t\t\tdfs = append(dfs, sfs...)\n\t\t\t\t\t\tif dfs == nil {\n\t\t\t\t\t\t\tdfs = []int32{}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdst.setInt32Slice(dfs)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tcase isPointer: // E.g., *int32\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\t// NOTE: toInt32Ptr is not defined (see pointer_reflect.go).\n\t\t\t\t\t/*\n\t\t\t\t\t\tsfpp := src.toInt32Ptr()\n\t\t\t\t\t\tif *sfpp != nil {\n\t\t\t\t\t\t\tdfpp := dst.toInt32Ptr()\n\t\t\t\t\t\t\tif *dfpp == nil {\n\t\t\t\t\t\t\t\t*dfpp = Int32(**sfpp)\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t**dfpp = **sfpp\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t*/\n\t\t\t\t\tsfp := src.getInt32Ptr()\n\t\t\t\t\tif sfp != nil {\n\t\t\t\t\t\tdfp := dst.getInt32Ptr()\n\t\t\t\t\t\tif dfp == nil {\n\t\t\t\t\t\t\tdst.setInt32Ptr(*sfp)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t*dfp = *sfp\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tdefault: // E.g., int32\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tif v := *src.toInt32(); v != 0 {\n\t\t\t\t\t\t*dst.toInt32() = v\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\tcase reflect.Int64:\n\t\t\tswitch {\n\t\t\tcase isSlice: // E.g., []int64\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsfsp := src.toInt64Slice()\n\t\t\t\t\tif *sfsp != nil {\n\t\t\t\t\t\tdfsp := dst.toInt64Slice()\n\t\t\t\t\t\t*dfsp = append(*dfsp, *sfsp...)\n\t\t\t\t\t\tif *dfsp == nil {\n\t\t\t\t\t\t\t*dfsp = []int64{}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tcase isPointer: // E.g., *int64\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsfpp := src.toInt64Ptr()\n\t\t\t\t\tif *sfpp != nil {\n\t\t\t\t\t\tdfpp := dst.toInt64Ptr()\n\t\t\t\t\t\tif *dfpp == nil {\n\t\t\t\t\t\t\t*dfpp = Int64(**sfpp)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t**dfpp = **sfpp\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tdefault: // E.g., int64\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tif v := *src.toInt64(); v != 0 {\n\t\t\t\t\t\t*dst.toInt64() = v\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\tcase reflect.Uint32:\n\t\t\tswitch {\n\t\t\tcase isSlice: // E.g., []uint32\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsfsp := src.toUint32Slice()\n\t\t\t\t\tif *sfsp != nil {\n\t\t\t\t\t\tdfsp := dst.toUint32Slice()\n\t\t\t\t\t\t*dfsp = append(*dfsp, *sfsp...)\n\t\t\t\t\t\tif *dfsp == nil {\n\t\t\t\t\t\t\t*dfsp = []uint32{}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tcase isPointer: // E.g., *uint32\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsfpp := src.toUint32Ptr()\n\t\t\t\t\tif *sfpp != nil {\n\t\t\t\t\t\tdfpp := dst.toUint32Ptr()\n\t\t\t\t\t\tif *dfpp == nil {\n\t\t\t\t\t\t\t*dfpp = Uint32(**sfpp)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t**dfpp = **sfpp\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tdefault: // E.g., uint32\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tif v := *src.toUint32(); v != 0 {\n\t\t\t\t\t\t*dst.toUint32() = v\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\tcase reflect.Uint64:\n\t\t\tswitch {\n\t\t\tcase isSlice: // E.g., []uint64\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsfsp := src.toUint64Slice()\n\t\t\t\t\tif *sfsp != nil {\n\t\t\t\t\t\tdfsp := dst.toUint64Slice()\n\t\t\t\t\t\t*dfsp = append(*dfsp, *sfsp...)\n\t\t\t\t\t\tif *dfsp == nil {\n\t\t\t\t\t\t\t*dfsp = []uint64{}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tcase isPointer: // E.g., *uint64\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsfpp := src.toUint64Ptr()\n\t\t\t\t\tif *sfpp != nil {\n\t\t\t\t\t\tdfpp := dst.toUint64Ptr()\n\t\t\t\t\t\tif *dfpp == nil {\n\t\t\t\t\t\t\t*dfpp = Uint64(**sfpp)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t**dfpp = **sfpp\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tdefault: // E.g., uint64\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tif v := *src.toUint64(); v != 0 {\n\t\t\t\t\t\t*dst.toUint64() = v\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\tcase reflect.Float32:\n\t\t\tswitch {\n\t\t\tcase isSlice: // E.g., []float32\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsfsp := src.toFloat32Slice()\n\t\t\t\t\tif *sfsp != nil {\n\t\t\t\t\t\tdfsp := dst.toFloat32Slice()\n\t\t\t\t\t\t*dfsp = append(*dfsp, *sfsp...)\n\t\t\t\t\t\tif *dfsp == nil {\n\t\t\t\t\t\t\t*dfsp = []float32{}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tcase isPointer: // E.g., *float32\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsfpp := src.toFloat32Ptr()\n\t\t\t\t\tif *sfpp != nil {\n\t\t\t\t\t\tdfpp := dst.toFloat32Ptr()\n\t\t\t\t\t\tif *dfpp == nil {\n\t\t\t\t\t\t\t*dfpp = Float32(**sfpp)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t**dfpp = **sfpp\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tdefault: // E.g., float32\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tif v := *src.toFloat32(); v != 0 {\n\t\t\t\t\t\t*dst.toFloat32() = v\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\tcase reflect.Float64:\n\t\t\tswitch {\n\t\t\tcase isSlice: // E.g., []float64\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsfsp := src.toFloat64Slice()\n\t\t\t\t\tif *sfsp != nil {\n\t\t\t\t\t\tdfsp := dst.toFloat64Slice()\n\t\t\t\t\t\t*dfsp = append(*dfsp, *sfsp...)\n\t\t\t\t\t\tif *dfsp == nil {\n\t\t\t\t\t\t\t*dfsp = []float64{}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tcase isPointer: // E.g., *float64\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsfpp := src.toFloat64Ptr()\n\t\t\t\t\tif *sfpp != nil {\n\t\t\t\t\t\tdfpp := dst.toFloat64Ptr()\n\t\t\t\t\t\tif *dfpp == nil {\n\t\t\t\t\t\t\t*dfpp = Float64(**sfpp)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t**dfpp = **sfpp\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tdefault: // E.g., float64\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tif v := *src.toFloat64(); v != 0 {\n\t\t\t\t\t\t*dst.toFloat64() = v\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\tcase reflect.Bool:\n\t\t\tswitch {\n\t\t\tcase isSlice: // E.g., []bool\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsfsp := src.toBoolSlice()\n\t\t\t\t\tif *sfsp != nil {\n\t\t\t\t\t\tdfsp := dst.toBoolSlice()\n\t\t\t\t\t\t*dfsp = append(*dfsp, *sfsp...)\n\t\t\t\t\t\tif *dfsp == nil {\n\t\t\t\t\t\t\t*dfsp = []bool{}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tcase isPointer: // E.g., *bool\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsfpp := src.toBoolPtr()\n\t\t\t\t\tif *sfpp != nil {\n\t\t\t\t\t\tdfpp := dst.toBoolPtr()\n\t\t\t\t\t\tif *dfpp == nil {\n\t\t\t\t\t\t\t*dfpp = Bool(**sfpp)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t**dfpp = **sfpp\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tdefault: // E.g., bool\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tif v := *src.toBool(); v {\n\t\t\t\t\t\t*dst.toBool() = v\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\tcase reflect.String:\n\t\t\tswitch {\n\t\t\tcase isSlice: // E.g., []string\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsfsp := src.toStringSlice()\n\t\t\t\t\tif *sfsp != nil {\n\t\t\t\t\t\tdfsp := dst.toStringSlice()\n\t\t\t\t\t\t*dfsp = append(*dfsp, *sfsp...)\n\t\t\t\t\t\tif *dfsp == nil {\n\t\t\t\t\t\t\t*dfsp = []string{}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tcase isPointer: // E.g., *string\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsfpp := src.toStringPtr()\n\t\t\t\t\tif *sfpp != nil {\n\t\t\t\t\t\tdfpp := dst.toStringPtr()\n\t\t\t\t\t\tif *dfpp == nil {\n\t\t\t\t\t\t\t*dfpp = String(**sfpp)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t**dfpp = **sfpp\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tdefault: // E.g., string\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tif v := *src.toString(); v != \"\" {\n\t\t\t\t\t\t*dst.toString() = v\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\tcase reflect.Slice:\n\t\t\tisProto3 := props.Prop[i].proto3\n\t\t\tswitch {\n\t\t\tcase isPointer:\n\t\t\t\tpanic(\"bad pointer in byte slice case in \" + tf.Name())\n\t\t\tcase tf.Elem().Kind() != reflect.Uint8:\n\t\t\t\tpanic(\"bad element kind in byte slice case in \" + tf.Name())\n\t\t\tcase isSlice: // E.g., [][]byte\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsbsp := src.toBytesSlice()\n\t\t\t\t\tif *sbsp != nil {\n\t\t\t\t\t\tdbsp := dst.toBytesSlice()\n\t\t\t\t\t\tfor _, sb := range *sbsp {\n\t\t\t\t\t\t\tif sb == nil {\n\t\t\t\t\t\t\t\t*dbsp = append(*dbsp, nil)\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t*dbsp = append(*dbsp, append([]byte{}, sb...))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif *dbsp == nil {\n\t\t\t\t\t\t\t*dbsp = [][]byte{}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tdefault: // E.g., []byte\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsbp := src.toBytes()\n\t\t\t\t\tif *sbp != nil {\n\t\t\t\t\t\tdbp := dst.toBytes()\n\t\t\t\t\t\tif !isProto3 || len(*sbp) > 0 {\n\t\t\t\t\t\t\t*dbp = append([]byte{}, *sbp...)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\tcase reflect.Struct:\n\t\t\tswitch {\n\t\t\tcase !isPointer:\n\t\t\t\tpanic(fmt.Sprintf(\"message field %s without pointer\", tf))\n\t\t\tcase isSlice: // E.g., []*pb.T\n\t\t\t\tmi := getMergeInfo(tf)\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsps := src.getPointerSlice()\n\t\t\t\t\tif sps != nil {\n\t\t\t\t\t\tdps := dst.getPointerSlice()\n\t\t\t\t\t\tfor _, sp := range sps {\n\t\t\t\t\t\t\tvar dp pointer\n\t\t\t\t\t\t\tif !sp.isNil() {\n\t\t\t\t\t\t\t\tdp = valToPointer(reflect.New(tf))\n\t\t\t\t\t\t\t\tmi.merge(dp, sp)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdps = append(dps, dp)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif dps == nil {\n\t\t\t\t\t\t\tdps = []pointer{}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdst.setPointerSlice(dps)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tdefault: // E.g., *pb.T\n\t\t\t\tmi := getMergeInfo(tf)\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsp := src.getPointer()\n\t\t\t\t\tif !sp.isNil() {\n\t\t\t\t\t\tdp := dst.getPointer()\n\t\t\t\t\t\tif dp.isNil() {\n\t\t\t\t\t\t\tdp = valToPointer(reflect.New(tf))\n\t\t\t\t\t\t\tdst.setPointer(dp)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmi.merge(dp, sp)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\tcase reflect.Map:\n\t\t\tswitch {\n\t\t\tcase isPointer || isSlice:\n\t\t\t\tpanic(\"bad pointer or slice in map case in \" + tf.Name())\n\t\t\tdefault: // E.g., map[K]V\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsm := src.asPointerTo(tf).Elem()\n\t\t\t\t\tif sm.Len() == 0 {\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tdm := dst.asPointerTo(tf).Elem()\n\t\t\t\t\tif dm.IsNil() {\n\t\t\t\t\t\tdm.Set(reflect.MakeMap(tf))\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch tf.Elem().Kind() {\n\t\t\t\t\tcase reflect.Ptr: // Proto struct (e.g., *T)\n\t\t\t\t\t\tfor _, key := range sm.MapKeys() {\n\t\t\t\t\t\t\tval := sm.MapIndex(key)\n\t\t\t\t\t\t\tval = reflect.ValueOf(Clone(val.Interface().(Message)))\n\t\t\t\t\t\t\tdm.SetMapIndex(key, val)\n\t\t\t\t\t\t}\n\t\t\t\t\tcase reflect.Slice: // E.g. Bytes type (e.g., []byte)\n\t\t\t\t\t\tfor _, key := range sm.MapKeys() {\n\t\t\t\t\t\t\tval := sm.MapIndex(key)\n\t\t\t\t\t\t\tval = reflect.ValueOf(append([]byte{}, val.Bytes()...))\n\t\t\t\t\t\t\tdm.SetMapIndex(key, val)\n\t\t\t\t\t\t}\n\t\t\t\t\tdefault: // Basic type (e.g., string)\n\t\t\t\t\t\tfor _, key := range sm.MapKeys() {\n\t\t\t\t\t\t\tval := sm.MapIndex(key)\n\t\t\t\t\t\t\tdm.SetMapIndex(key, val)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\tcase reflect.Interface:\n\t\t\t// Must be oneof field.\n\t\t\tswitch {\n\t\t\tcase isPointer || isSlice:\n\t\t\t\tpanic(\"bad pointer or slice in interface case in \" + tf.Name())\n\t\t\tdefault: // E.g., interface{}\n\t\t\t\t// TODO: Make this faster?\n\t\t\t\tmfi.merge = func(dst, src pointer) {\n\t\t\t\t\tsu := src.asPointerTo(tf).Elem()\n\t\t\t\t\tif !su.IsNil() {\n\t\t\t\t\t\tdu := dst.asPointerTo(tf).Elem()\n\t\t\t\t\t\ttyp := su.Elem().Type()\n\t\t\t\t\t\tif du.IsNil() || du.Elem().Type() != typ {\n\t\t\t\t\t\t\tdu.Set(reflect.New(typ.Elem())) // Initialize interface if empty\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsv := su.Elem().Elem().Field(0)\n\t\t\t\t\t\tif sv.Kind() == reflect.Ptr && sv.IsNil() {\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdv := du.Elem().Elem().Field(0)\n\t\t\t\t\t\tif dv.Kind() == reflect.Ptr && dv.IsNil() {\n\t\t\t\t\t\t\tdv.Set(reflect.New(sv.Type().Elem())) // Initialize proto message if empty\n\t\t\t\t\t\t}\n\t\t\t\t\t\tswitch sv.Type().Kind() {\n\t\t\t\t\t\tcase reflect.Ptr: // Proto struct (e.g., *T)\n\t\t\t\t\t\t\tMerge(dv.Interface().(Message), sv.Interface().(Message))\n\t\t\t\t\t\tcase reflect.Slice: // E.g. Bytes type (e.g., []byte)\n\t\t\t\t\t\t\tdv.Set(reflect.ValueOf(append([]byte{}, sv.Bytes()...)))\n\t\t\t\t\t\tdefault: // Basic type (e.g., string)\n\t\t\t\t\t\t\tdv.Set(sv)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tpanic(fmt.Sprintf(\"merger not found for type:%s\", tf))\n\t\t}\n\t\tmi.fields = append(mi.fields, mfi)\n\t}\n\n\tmi.unrecognized = invalidField\n\tif f, ok := t.FieldByName(\"XXX_unrecognized\"); ok {\n\t\tif f.Type != reflect.TypeOf([]byte{}) {\n\t\t\tpanic(\"expected XXX_unrecognized to be of type []byte\")\n\t\t}\n\t\tmi.unrecognized = toField(&f)\n\t}\n\n\tatomic.StoreInt32(&mi.initialized, 1)\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/proto/table_unmarshal.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2016 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"math\"\n\t\"reflect\"\n\t\"strconv\"\n\t\"strings\"\n\t\"sync\"\n\t\"sync/atomic\"\n\t\"unicode/utf8\"\n)\n\n// Unmarshal is the entry point from the generated .pb.go files.\n// This function is not intended to be used by non-generated code.\n// This function is not subject to any compatibility guarantee.\n// msg contains a pointer to a protocol buffer struct.\n// b is the data to be unmarshaled into the protocol buffer.\n// a is a pointer to a place to store cached unmarshal information.\nfunc (a *InternalMessageInfo) Unmarshal(msg Message, b []byte) error {\n\t// Load the unmarshal information for this message type.\n\t// The atomic load ensures memory consistency.\n\tu := atomicLoadUnmarshalInfo(&a.unmarshal)\n\tif u == nil {\n\t\t// Slow path: find unmarshal info for msg, update a with it.\n\t\tu = getUnmarshalInfo(reflect.TypeOf(msg).Elem())\n\t\tatomicStoreUnmarshalInfo(&a.unmarshal, u)\n\t}\n\t// Then do the unmarshaling.\n\terr := u.unmarshal(toPointer(&msg), b)\n\treturn err\n}\n\ntype unmarshalInfo struct {\n\ttyp reflect.Type // type of the protobuf struct\n\n\t// 0 = only typ field is initialized\n\t// 1 = completely initialized\n\tinitialized     int32\n\tlock            sync.Mutex                    // prevents double initialization\n\tdense           []unmarshalFieldInfo          // fields indexed by tag #\n\tsparse          map[uint64]unmarshalFieldInfo // fields indexed by tag #\n\treqFields       []string                      // names of required fields\n\treqMask         uint64                        // 1<<len(reqFields)-1\n\tunrecognized    field                         // offset of []byte to put unrecognized data (or invalidField if we should throw it away)\n\textensions      field                         // offset of extensions field (of type proto.XXX_InternalExtensions), or invalidField if it does not exist\n\toldExtensions   field                         // offset of old-form extensions field (of type map[int]Extension)\n\textensionRanges []ExtensionRange              // if non-nil, implies extensions field is valid\n\tisMessageSet    bool                          // if true, implies extensions field is valid\n}\n\n// An unmarshaler takes a stream of bytes and a pointer to a field of a message.\n// It decodes the field, stores it at f, and returns the unused bytes.\n// w is the wire encoding.\n// b is the data after the tag and wire encoding have been read.\ntype unmarshaler func(b []byte, f pointer, w int) ([]byte, error)\n\ntype unmarshalFieldInfo struct {\n\t// location of the field in the proto message structure.\n\tfield field\n\n\t// function to unmarshal the data for the field.\n\tunmarshal unmarshaler\n\n\t// if a required field, contains a single set bit at this field's index in the required field list.\n\treqMask uint64\n}\n\nvar (\n\tunmarshalInfoMap  = map[reflect.Type]*unmarshalInfo{}\n\tunmarshalInfoLock sync.Mutex\n)\n\n// getUnmarshalInfo returns the data structure which can be\n// subsequently used to unmarshal a message of the given type.\n// t is the type of the message (note: not pointer to message).\nfunc getUnmarshalInfo(t reflect.Type) *unmarshalInfo {\n\t// It would be correct to return a new unmarshalInfo\n\t// unconditionally. We would end up allocating one\n\t// per occurrence of that type as a message or submessage.\n\t// We use a cache here just to reduce memory usage.\n\tunmarshalInfoLock.Lock()\n\tdefer unmarshalInfoLock.Unlock()\n\tu := unmarshalInfoMap[t]\n\tif u == nil {\n\t\tu = &unmarshalInfo{typ: t}\n\t\t// Note: we just set the type here. The rest of the fields\n\t\t// will be initialized on first use.\n\t\tunmarshalInfoMap[t] = u\n\t}\n\treturn u\n}\n\n// unmarshal does the main work of unmarshaling a message.\n// u provides type information used to unmarshal the message.\n// m is a pointer to a protocol buffer message.\n// b is a byte stream to unmarshal into m.\n// This is top routine used when recursively unmarshaling submessages.\nfunc (u *unmarshalInfo) unmarshal(m pointer, b []byte) error {\n\tif atomic.LoadInt32(&u.initialized) == 0 {\n\t\tu.computeUnmarshalInfo()\n\t}\n\tif u.isMessageSet {\n\t\treturn UnmarshalMessageSet(b, m.offset(u.extensions).toExtensions())\n\t}\n\tvar reqMask uint64            // bitmask of required fields we've seen.\n\tvar rnse *RequiredNotSetError // an instance of a RequiredNotSetError returned by a submessage.\n\tfor len(b) > 0 {\n\t\t// Read tag and wire type.\n\t\t// Special case 1 and 2 byte varints.\n\t\tvar x uint64\n\t\tif b[0] < 128 {\n\t\t\tx = uint64(b[0])\n\t\t\tb = b[1:]\n\t\t} else if len(b) >= 2 && b[1] < 128 {\n\t\t\tx = uint64(b[0]&0x7f) + uint64(b[1])<<7\n\t\t\tb = b[2:]\n\t\t} else {\n\t\t\tvar n int\n\t\t\tx, n = decodeVarint(b)\n\t\t\tif n == 0 {\n\t\t\t\treturn io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb = b[n:]\n\t\t}\n\t\ttag := x >> 3\n\t\twire := int(x) & 7\n\n\t\t// Dispatch on the tag to one of the unmarshal* functions below.\n\t\tvar f unmarshalFieldInfo\n\t\tif tag < uint64(len(u.dense)) {\n\t\t\tf = u.dense[tag]\n\t\t} else {\n\t\t\tf = u.sparse[tag]\n\t\t}\n\t\tif fn := f.unmarshal; fn != nil {\n\t\t\tvar err error\n\t\t\tb, err = fn(b, m.offset(f.field), wire)\n\t\t\tif err == nil {\n\t\t\t\treqMask |= f.reqMask\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif r, ok := err.(*RequiredNotSetError); ok {\n\t\t\t\t// Remember this error, but keep parsing. We need to produce\n\t\t\t\t// a full parse even if a required field is missing.\n\t\t\t\trnse = r\n\t\t\t\treqMask |= f.reqMask\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif err != errInternalBadWireType {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\t// Fragments with bad wire type are treated as unknown fields.\n\t\t}\n\n\t\t// Unknown tag.\n\t\tif !u.unrecognized.IsValid() {\n\t\t\t// Don't keep unrecognized data; just skip it.\n\t\t\tvar err error\n\t\t\tb, err = skipField(b, wire)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\t// Keep unrecognized data around.\n\t\t// maybe in extensions, maybe in the unrecognized field.\n\t\tz := m.offset(u.unrecognized).toBytes()\n\t\tvar emap map[int32]Extension\n\t\tvar e Extension\n\t\tfor _, r := range u.extensionRanges {\n\t\t\tif uint64(r.Start) <= tag && tag <= uint64(r.End) {\n\t\t\t\tif u.extensions.IsValid() {\n\t\t\t\t\tmp := m.offset(u.extensions).toExtensions()\n\t\t\t\t\temap = mp.extensionsWrite()\n\t\t\t\t\te = emap[int32(tag)]\n\t\t\t\t\tz = &e.enc\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tif u.oldExtensions.IsValid() {\n\t\t\t\t\tp := m.offset(u.oldExtensions).toOldExtensions()\n\t\t\t\t\temap = *p\n\t\t\t\t\tif emap == nil {\n\t\t\t\t\t\temap = map[int32]Extension{}\n\t\t\t\t\t\t*p = emap\n\t\t\t\t\t}\n\t\t\t\t\te = emap[int32(tag)]\n\t\t\t\t\tz = &e.enc\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tpanic(\"no extensions field available\")\n\t\t\t}\n\t\t}\n\n\t\t// Use wire type to skip data.\n\t\tvar err error\n\t\tb0 := b\n\t\tb, err = skipField(b, wire)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t*z = encodeVarint(*z, tag<<3|uint64(wire))\n\t\t*z = append(*z, b0[:len(b0)-len(b)]...)\n\n\t\tif emap != nil {\n\t\t\temap[int32(tag)] = e\n\t\t}\n\t}\n\tif rnse != nil {\n\t\t// A required field of a submessage/group is missing. Return that error.\n\t\treturn rnse\n\t}\n\tif reqMask != u.reqMask {\n\t\t// A required field of this message is missing.\n\t\tfor _, n := range u.reqFields {\n\t\t\tif reqMask&1 == 0 {\n\t\t\t\treturn &RequiredNotSetError{n}\n\t\t\t}\n\t\t\treqMask >>= 1\n\t\t}\n\t}\n\treturn nil\n}\n\n// computeUnmarshalInfo fills in u with information for use\n// in unmarshaling protocol buffers of type u.typ.\nfunc (u *unmarshalInfo) computeUnmarshalInfo() {\n\tu.lock.Lock()\n\tdefer u.lock.Unlock()\n\tif u.initialized != 0 {\n\t\treturn\n\t}\n\tt := u.typ\n\tn := t.NumField()\n\n\t// Set up the \"not found\" value for the unrecognized byte buffer.\n\t// This is the default for proto3.\n\tu.unrecognized = invalidField\n\tu.extensions = invalidField\n\tu.oldExtensions = invalidField\n\n\t// List of the generated type and offset for each oneof field.\n\ttype oneofField struct {\n\t\tityp  reflect.Type // interface type of oneof field\n\t\tfield field        // offset in containing message\n\t}\n\tvar oneofFields []oneofField\n\n\tfor i := 0; i < n; i++ {\n\t\tf := t.Field(i)\n\t\tif f.Name == \"XXX_unrecognized\" {\n\t\t\t// The byte slice used to hold unrecognized input is special.\n\t\t\tif f.Type != reflect.TypeOf(([]byte)(nil)) {\n\t\t\t\tpanic(\"bad type for XXX_unrecognized field: \" + f.Type.Name())\n\t\t\t}\n\t\t\tu.unrecognized = toField(&f)\n\t\t\tcontinue\n\t\t}\n\t\tif f.Name == \"XXX_InternalExtensions\" {\n\t\t\t// Ditto here.\n\t\t\tif f.Type != reflect.TypeOf(XXX_InternalExtensions{}) {\n\t\t\t\tpanic(\"bad type for XXX_InternalExtensions field: \" + f.Type.Name())\n\t\t\t}\n\t\t\tu.extensions = toField(&f)\n\t\t\tif f.Tag.Get(\"protobuf_messageset\") == \"1\" {\n\t\t\t\tu.isMessageSet = true\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\tif f.Name == \"XXX_extensions\" {\n\t\t\t// An older form of the extensions field.\n\t\t\tif f.Type != reflect.TypeOf((map[int32]Extension)(nil)) {\n\t\t\t\tpanic(\"bad type for XXX_extensions field: \" + f.Type.Name())\n\t\t\t}\n\t\t\tu.oldExtensions = toField(&f)\n\t\t\tcontinue\n\t\t}\n\t\tif f.Name == \"XXX_NoUnkeyedLiteral\" || f.Name == \"XXX_sizecache\" {\n\t\t\tcontinue\n\t\t}\n\n\t\toneof := f.Tag.Get(\"protobuf_oneof\")\n\t\tif oneof != \"\" {\n\t\t\toneofFields = append(oneofFields, oneofField{f.Type, toField(&f)})\n\t\t\t// The rest of oneof processing happens below.\n\t\t\tcontinue\n\t\t}\n\n\t\ttags := f.Tag.Get(\"protobuf\")\n\t\ttagArray := strings.Split(tags, \",\")\n\t\tif len(tagArray) < 2 {\n\t\t\tpanic(\"protobuf tag not enough fields in \" + t.Name() + \".\" + f.Name + \": \" + tags)\n\t\t}\n\t\ttag, err := strconv.Atoi(tagArray[1])\n\t\tif err != nil {\n\t\t\tpanic(\"protobuf tag field not an integer: \" + tagArray[1])\n\t\t}\n\n\t\tname := \"\"\n\t\tfor _, tag := range tagArray[3:] {\n\t\t\tif strings.HasPrefix(tag, \"name=\") {\n\t\t\t\tname = tag[5:]\n\t\t\t}\n\t\t}\n\n\t\t// Extract unmarshaling function from the field (its type and tags).\n\t\tunmarshal := fieldUnmarshaler(&f)\n\n\t\t// Required field?\n\t\tvar reqMask uint64\n\t\tif tagArray[2] == \"req\" {\n\t\t\tbit := len(u.reqFields)\n\t\t\tu.reqFields = append(u.reqFields, name)\n\t\t\treqMask = uint64(1) << uint(bit)\n\t\t\t// TODO: if we have more than 64 required fields, we end up\n\t\t\t// not verifying that all required fields are present.\n\t\t\t// Fix this, perhaps using a count of required fields?\n\t\t}\n\n\t\t// Store the info in the correct slot in the message.\n\t\tu.setTag(tag, toField(&f), unmarshal, reqMask)\n\t}\n\n\t// Find any types associated with oneof fields.\n\t// TODO: XXX_OneofFuncs returns more info than we need.  Get rid of some of it?\n\tfn := reflect.Zero(reflect.PtrTo(t)).MethodByName(\"XXX_OneofFuncs\")\n\tif fn.IsValid() {\n\t\tres := fn.Call(nil)[3] // last return value from XXX_OneofFuncs: []interface{}\n\t\tfor i := res.Len() - 1; i >= 0; i-- {\n\t\t\tv := res.Index(i)                             // interface{}\n\t\t\ttptr := reflect.ValueOf(v.Interface()).Type() // *Msg_X\n\t\t\ttyp := tptr.Elem()                            // Msg_X\n\n\t\t\tf := typ.Field(0) // oneof implementers have one field\n\t\t\tbaseUnmarshal := fieldUnmarshaler(&f)\n\t\t\ttagstr := strings.Split(f.Tag.Get(\"protobuf\"), \",\")[1]\n\t\t\ttag, err := strconv.Atoi(tagstr)\n\t\t\tif err != nil {\n\t\t\t\tpanic(\"protobuf tag field not an integer: \" + tagstr)\n\t\t\t}\n\n\t\t\t// Find the oneof field that this struct implements.\n\t\t\t// Might take O(n^2) to process all of the oneofs, but who cares.\n\t\t\tfor _, of := range oneofFields {\n\t\t\t\tif tptr.Implements(of.ityp) {\n\t\t\t\t\t// We have found the corresponding interface for this struct.\n\t\t\t\t\t// That lets us know where this struct should be stored\n\t\t\t\t\t// when we encounter it during unmarshaling.\n\t\t\t\t\tunmarshal := makeUnmarshalOneof(typ, of.ityp, baseUnmarshal)\n\t\t\t\t\tu.setTag(tag, of.field, unmarshal, 0)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Get extension ranges, if any.\n\tfn = reflect.Zero(reflect.PtrTo(t)).MethodByName(\"ExtensionRangeArray\")\n\tif fn.IsValid() {\n\t\tif !u.extensions.IsValid() && !u.oldExtensions.IsValid() {\n\t\t\tpanic(\"a message with extensions, but no extensions field in \" + t.Name())\n\t\t}\n\t\tu.extensionRanges = fn.Call(nil)[0].Interface().([]ExtensionRange)\n\t}\n\n\t// Explicitly disallow tag 0. This will ensure we flag an error\n\t// when decoding a buffer of all zeros. Without this code, we\n\t// would decode and skip an all-zero buffer of even length.\n\t// [0 0] is [tag=0/wiretype=varint varint-encoded-0].\n\tu.setTag(0, zeroField, func(b []byte, f pointer, w int) ([]byte, error) {\n\t\treturn nil, fmt.Errorf(\"proto: %s: illegal tag 0 (wire type %d)\", t, w)\n\t}, 0)\n\n\t// Set mask for required field check.\n\tu.reqMask = uint64(1)<<uint(len(u.reqFields)) - 1\n\n\tatomic.StoreInt32(&u.initialized, 1)\n}\n\n// setTag stores the unmarshal information for the given tag.\n// tag = tag # for field\n// field/unmarshal = unmarshal info for that field.\n// reqMask = if required, bitmask for field position in required field list. 0 otherwise.\nfunc (u *unmarshalInfo) setTag(tag int, field field, unmarshal unmarshaler, reqMask uint64) {\n\ti := unmarshalFieldInfo{field: field, unmarshal: unmarshal, reqMask: reqMask}\n\tn := u.typ.NumField()\n\tif tag >= 0 && (tag < 16 || tag < 2*n) { // TODO: what are the right numbers here?\n\t\tfor len(u.dense) <= tag {\n\t\t\tu.dense = append(u.dense, unmarshalFieldInfo{})\n\t\t}\n\t\tu.dense[tag] = i\n\t\treturn\n\t}\n\tif u.sparse == nil {\n\t\tu.sparse = map[uint64]unmarshalFieldInfo{}\n\t}\n\tu.sparse[uint64(tag)] = i\n}\n\n// fieldUnmarshaler returns an unmarshaler for the given field.\nfunc fieldUnmarshaler(f *reflect.StructField) unmarshaler {\n\tif f.Type.Kind() == reflect.Map {\n\t\treturn makeUnmarshalMap(f)\n\t}\n\treturn typeUnmarshaler(f.Type, f.Tag.Get(\"protobuf\"))\n}\n\n// typeUnmarshaler returns an unmarshaler for the given field type / field tag pair.\nfunc typeUnmarshaler(t reflect.Type, tags string) unmarshaler {\n\ttagArray := strings.Split(tags, \",\")\n\tencoding := tagArray[0]\n\tname := \"unknown\"\n\tfor _, tag := range tagArray[3:] {\n\t\tif strings.HasPrefix(tag, \"name=\") {\n\t\t\tname = tag[5:]\n\t\t}\n\t}\n\n\t// Figure out packaging (pointer, slice, or both)\n\tslice := false\n\tpointer := false\n\tif t.Kind() == reflect.Slice && t.Elem().Kind() != reflect.Uint8 {\n\t\tslice = true\n\t\tt = t.Elem()\n\t}\n\tif t.Kind() == reflect.Ptr {\n\t\tpointer = true\n\t\tt = t.Elem()\n\t}\n\n\t// We'll never have both pointer and slice for basic types.\n\tif pointer && slice && t.Kind() != reflect.Struct {\n\t\tpanic(\"both pointer and slice for basic type in \" + t.Name())\n\t}\n\n\tswitch t.Kind() {\n\tcase reflect.Bool:\n\t\tif pointer {\n\t\t\treturn unmarshalBoolPtr\n\t\t}\n\t\tif slice {\n\t\t\treturn unmarshalBoolSlice\n\t\t}\n\t\treturn unmarshalBoolValue\n\tcase reflect.Int32:\n\t\tswitch encoding {\n\t\tcase \"fixed32\":\n\t\t\tif pointer {\n\t\t\t\treturn unmarshalFixedS32Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\treturn unmarshalFixedS32Slice\n\t\t\t}\n\t\t\treturn unmarshalFixedS32Value\n\t\tcase \"varint\":\n\t\t\t// this could be int32 or enum\n\t\t\tif pointer {\n\t\t\t\treturn unmarshalInt32Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\treturn unmarshalInt32Slice\n\t\t\t}\n\t\t\treturn unmarshalInt32Value\n\t\tcase \"zigzag32\":\n\t\t\tif pointer {\n\t\t\t\treturn unmarshalSint32Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\treturn unmarshalSint32Slice\n\t\t\t}\n\t\t\treturn unmarshalSint32Value\n\t\t}\n\tcase reflect.Int64:\n\t\tswitch encoding {\n\t\tcase \"fixed64\":\n\t\t\tif pointer {\n\t\t\t\treturn unmarshalFixedS64Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\treturn unmarshalFixedS64Slice\n\t\t\t}\n\t\t\treturn unmarshalFixedS64Value\n\t\tcase \"varint\":\n\t\t\tif pointer {\n\t\t\t\treturn unmarshalInt64Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\treturn unmarshalInt64Slice\n\t\t\t}\n\t\t\treturn unmarshalInt64Value\n\t\tcase \"zigzag64\":\n\t\t\tif pointer {\n\t\t\t\treturn unmarshalSint64Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\treturn unmarshalSint64Slice\n\t\t\t}\n\t\t\treturn unmarshalSint64Value\n\t\t}\n\tcase reflect.Uint32:\n\t\tswitch encoding {\n\t\tcase \"fixed32\":\n\t\t\tif pointer {\n\t\t\t\treturn unmarshalFixed32Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\treturn unmarshalFixed32Slice\n\t\t\t}\n\t\t\treturn unmarshalFixed32Value\n\t\tcase \"varint\":\n\t\t\tif pointer {\n\t\t\t\treturn unmarshalUint32Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\treturn unmarshalUint32Slice\n\t\t\t}\n\t\t\treturn unmarshalUint32Value\n\t\t}\n\tcase reflect.Uint64:\n\t\tswitch encoding {\n\t\tcase \"fixed64\":\n\t\t\tif pointer {\n\t\t\t\treturn unmarshalFixed64Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\treturn unmarshalFixed64Slice\n\t\t\t}\n\t\t\treturn unmarshalFixed64Value\n\t\tcase \"varint\":\n\t\t\tif pointer {\n\t\t\t\treturn unmarshalUint64Ptr\n\t\t\t}\n\t\t\tif slice {\n\t\t\t\treturn unmarshalUint64Slice\n\t\t\t}\n\t\t\treturn unmarshalUint64Value\n\t\t}\n\tcase reflect.Float32:\n\t\tif pointer {\n\t\t\treturn unmarshalFloat32Ptr\n\t\t}\n\t\tif slice {\n\t\t\treturn unmarshalFloat32Slice\n\t\t}\n\t\treturn unmarshalFloat32Value\n\tcase reflect.Float64:\n\t\tif pointer {\n\t\t\treturn unmarshalFloat64Ptr\n\t\t}\n\t\tif slice {\n\t\t\treturn unmarshalFloat64Slice\n\t\t}\n\t\treturn unmarshalFloat64Value\n\tcase reflect.Map:\n\t\tpanic(\"map type in typeUnmarshaler in \" + t.Name())\n\tcase reflect.Slice:\n\t\tif pointer {\n\t\t\tpanic(\"bad pointer in slice case in \" + t.Name())\n\t\t}\n\t\tif slice {\n\t\t\treturn unmarshalBytesSlice\n\t\t}\n\t\treturn unmarshalBytesValue\n\tcase reflect.String:\n\t\tif pointer {\n\t\t\treturn unmarshalStringPtr\n\t\t}\n\t\tif slice {\n\t\t\treturn unmarshalStringSlice\n\t\t}\n\t\treturn unmarshalStringValue\n\tcase reflect.Struct:\n\t\t// message or group field\n\t\tif !pointer {\n\t\t\tpanic(fmt.Sprintf(\"message/group field %s:%s without pointer\", t, encoding))\n\t\t}\n\t\tswitch encoding {\n\t\tcase \"bytes\":\n\t\t\tif slice {\n\t\t\t\treturn makeUnmarshalMessageSlicePtr(getUnmarshalInfo(t), name)\n\t\t\t}\n\t\t\treturn makeUnmarshalMessagePtr(getUnmarshalInfo(t), name)\n\t\tcase \"group\":\n\t\t\tif slice {\n\t\t\t\treturn makeUnmarshalGroupSlicePtr(getUnmarshalInfo(t), name)\n\t\t\t}\n\t\t\treturn makeUnmarshalGroupPtr(getUnmarshalInfo(t), name)\n\t\t}\n\t}\n\tpanic(fmt.Sprintf(\"unmarshaler not found type:%s encoding:%s\", t, encoding))\n}\n\n// Below are all the unmarshalers for individual fields of various types.\n\nfunc unmarshalInt64Value(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := int64(x)\n\t*f.toInt64() = v\n\treturn b, nil\n}\n\nfunc unmarshalInt64Ptr(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := int64(x)\n\t*f.toInt64Ptr() = &v\n\treturn b, nil\n}\n\nfunc unmarshalInt64Slice(b []byte, f pointer, w int) ([]byte, error) {\n\tif w == WireBytes { // packed\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tres := b[x:]\n\t\tb = b[:x]\n\t\tfor len(b) > 0 {\n\t\t\tx, n = decodeVarint(b)\n\t\t\tif n == 0 {\n\t\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb = b[n:]\n\t\t\tv := int64(x)\n\t\t\ts := f.toInt64Slice()\n\t\t\t*s = append(*s, v)\n\t\t}\n\t\treturn res, nil\n\t}\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := int64(x)\n\ts := f.toInt64Slice()\n\t*s = append(*s, v)\n\treturn b, nil\n}\n\nfunc unmarshalSint64Value(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := int64(x>>1) ^ int64(x)<<63>>63\n\t*f.toInt64() = v\n\treturn b, nil\n}\n\nfunc unmarshalSint64Ptr(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := int64(x>>1) ^ int64(x)<<63>>63\n\t*f.toInt64Ptr() = &v\n\treturn b, nil\n}\n\nfunc unmarshalSint64Slice(b []byte, f pointer, w int) ([]byte, error) {\n\tif w == WireBytes { // packed\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tres := b[x:]\n\t\tb = b[:x]\n\t\tfor len(b) > 0 {\n\t\t\tx, n = decodeVarint(b)\n\t\t\tif n == 0 {\n\t\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb = b[n:]\n\t\t\tv := int64(x>>1) ^ int64(x)<<63>>63\n\t\t\ts := f.toInt64Slice()\n\t\t\t*s = append(*s, v)\n\t\t}\n\t\treturn res, nil\n\t}\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := int64(x>>1) ^ int64(x)<<63>>63\n\ts := f.toInt64Slice()\n\t*s = append(*s, v)\n\treturn b, nil\n}\n\nfunc unmarshalUint64Value(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := uint64(x)\n\t*f.toUint64() = v\n\treturn b, nil\n}\n\nfunc unmarshalUint64Ptr(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := uint64(x)\n\t*f.toUint64Ptr() = &v\n\treturn b, nil\n}\n\nfunc unmarshalUint64Slice(b []byte, f pointer, w int) ([]byte, error) {\n\tif w == WireBytes { // packed\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tres := b[x:]\n\t\tb = b[:x]\n\t\tfor len(b) > 0 {\n\t\t\tx, n = decodeVarint(b)\n\t\t\tif n == 0 {\n\t\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb = b[n:]\n\t\t\tv := uint64(x)\n\t\t\ts := f.toUint64Slice()\n\t\t\t*s = append(*s, v)\n\t\t}\n\t\treturn res, nil\n\t}\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := uint64(x)\n\ts := f.toUint64Slice()\n\t*s = append(*s, v)\n\treturn b, nil\n}\n\nfunc unmarshalInt32Value(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := int32(x)\n\t*f.toInt32() = v\n\treturn b, nil\n}\n\nfunc unmarshalInt32Ptr(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := int32(x)\n\tf.setInt32Ptr(v)\n\treturn b, nil\n}\n\nfunc unmarshalInt32Slice(b []byte, f pointer, w int) ([]byte, error) {\n\tif w == WireBytes { // packed\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tres := b[x:]\n\t\tb = b[:x]\n\t\tfor len(b) > 0 {\n\t\t\tx, n = decodeVarint(b)\n\t\t\tif n == 0 {\n\t\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb = b[n:]\n\t\t\tv := int32(x)\n\t\t\tf.appendInt32Slice(v)\n\t\t}\n\t\treturn res, nil\n\t}\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := int32(x)\n\tf.appendInt32Slice(v)\n\treturn b, nil\n}\n\nfunc unmarshalSint32Value(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := int32(x>>1) ^ int32(x)<<31>>31\n\t*f.toInt32() = v\n\treturn b, nil\n}\n\nfunc unmarshalSint32Ptr(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := int32(x>>1) ^ int32(x)<<31>>31\n\tf.setInt32Ptr(v)\n\treturn b, nil\n}\n\nfunc unmarshalSint32Slice(b []byte, f pointer, w int) ([]byte, error) {\n\tif w == WireBytes { // packed\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tres := b[x:]\n\t\tb = b[:x]\n\t\tfor len(b) > 0 {\n\t\t\tx, n = decodeVarint(b)\n\t\t\tif n == 0 {\n\t\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb = b[n:]\n\t\t\tv := int32(x>>1) ^ int32(x)<<31>>31\n\t\t\tf.appendInt32Slice(v)\n\t\t}\n\t\treturn res, nil\n\t}\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := int32(x>>1) ^ int32(x)<<31>>31\n\tf.appendInt32Slice(v)\n\treturn b, nil\n}\n\nfunc unmarshalUint32Value(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := uint32(x)\n\t*f.toUint32() = v\n\treturn b, nil\n}\n\nfunc unmarshalUint32Ptr(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := uint32(x)\n\t*f.toUint32Ptr() = &v\n\treturn b, nil\n}\n\nfunc unmarshalUint32Slice(b []byte, f pointer, w int) ([]byte, error) {\n\tif w == WireBytes { // packed\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tres := b[x:]\n\t\tb = b[:x]\n\t\tfor len(b) > 0 {\n\t\t\tx, n = decodeVarint(b)\n\t\t\tif n == 0 {\n\t\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tb = b[n:]\n\t\t\tv := uint32(x)\n\t\t\ts := f.toUint32Slice()\n\t\t\t*s = append(*s, v)\n\t\t}\n\t\treturn res, nil\n\t}\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tv := uint32(x)\n\ts := f.toUint32Slice()\n\t*s = append(*s, v)\n\treturn b, nil\n}\n\nfunc unmarshalFixed64Value(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireFixed64 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 8 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56\n\t*f.toUint64() = v\n\treturn b[8:], nil\n}\n\nfunc unmarshalFixed64Ptr(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireFixed64 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 8 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56\n\t*f.toUint64Ptr() = &v\n\treturn b[8:], nil\n}\n\nfunc unmarshalFixed64Slice(b []byte, f pointer, w int) ([]byte, error) {\n\tif w == WireBytes { // packed\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tres := b[x:]\n\t\tb = b[:x]\n\t\tfor len(b) > 0 {\n\t\t\tif len(b) < 8 {\n\t\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tv := uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56\n\t\t\ts := f.toUint64Slice()\n\t\t\t*s = append(*s, v)\n\t\t\tb = b[8:]\n\t\t}\n\t\treturn res, nil\n\t}\n\tif w != WireFixed64 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 8 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56\n\ts := f.toUint64Slice()\n\t*s = append(*s, v)\n\treturn b[8:], nil\n}\n\nfunc unmarshalFixedS64Value(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireFixed64 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 8 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := int64(b[0]) | int64(b[1])<<8 | int64(b[2])<<16 | int64(b[3])<<24 | int64(b[4])<<32 | int64(b[5])<<40 | int64(b[6])<<48 | int64(b[7])<<56\n\t*f.toInt64() = v\n\treturn b[8:], nil\n}\n\nfunc unmarshalFixedS64Ptr(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireFixed64 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 8 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := int64(b[0]) | int64(b[1])<<8 | int64(b[2])<<16 | int64(b[3])<<24 | int64(b[4])<<32 | int64(b[5])<<40 | int64(b[6])<<48 | int64(b[7])<<56\n\t*f.toInt64Ptr() = &v\n\treturn b[8:], nil\n}\n\nfunc unmarshalFixedS64Slice(b []byte, f pointer, w int) ([]byte, error) {\n\tif w == WireBytes { // packed\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tres := b[x:]\n\t\tb = b[:x]\n\t\tfor len(b) > 0 {\n\t\t\tif len(b) < 8 {\n\t\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tv := int64(b[0]) | int64(b[1])<<8 | int64(b[2])<<16 | int64(b[3])<<24 | int64(b[4])<<32 | int64(b[5])<<40 | int64(b[6])<<48 | int64(b[7])<<56\n\t\t\ts := f.toInt64Slice()\n\t\t\t*s = append(*s, v)\n\t\t\tb = b[8:]\n\t\t}\n\t\treturn res, nil\n\t}\n\tif w != WireFixed64 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 8 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := int64(b[0]) | int64(b[1])<<8 | int64(b[2])<<16 | int64(b[3])<<24 | int64(b[4])<<32 | int64(b[5])<<40 | int64(b[6])<<48 | int64(b[7])<<56\n\ts := f.toInt64Slice()\n\t*s = append(*s, v)\n\treturn b[8:], nil\n}\n\nfunc unmarshalFixed32Value(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireFixed32 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 4 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24\n\t*f.toUint32() = v\n\treturn b[4:], nil\n}\n\nfunc unmarshalFixed32Ptr(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireFixed32 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 4 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24\n\t*f.toUint32Ptr() = &v\n\treturn b[4:], nil\n}\n\nfunc unmarshalFixed32Slice(b []byte, f pointer, w int) ([]byte, error) {\n\tif w == WireBytes { // packed\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tres := b[x:]\n\t\tb = b[:x]\n\t\tfor len(b) > 0 {\n\t\t\tif len(b) < 4 {\n\t\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tv := uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24\n\t\t\ts := f.toUint32Slice()\n\t\t\t*s = append(*s, v)\n\t\t\tb = b[4:]\n\t\t}\n\t\treturn res, nil\n\t}\n\tif w != WireFixed32 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 4 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24\n\ts := f.toUint32Slice()\n\t*s = append(*s, v)\n\treturn b[4:], nil\n}\n\nfunc unmarshalFixedS32Value(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireFixed32 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 4 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := int32(b[0]) | int32(b[1])<<8 | int32(b[2])<<16 | int32(b[3])<<24\n\t*f.toInt32() = v\n\treturn b[4:], nil\n}\n\nfunc unmarshalFixedS32Ptr(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireFixed32 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 4 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := int32(b[0]) | int32(b[1])<<8 | int32(b[2])<<16 | int32(b[3])<<24\n\tf.setInt32Ptr(v)\n\treturn b[4:], nil\n}\n\nfunc unmarshalFixedS32Slice(b []byte, f pointer, w int) ([]byte, error) {\n\tif w == WireBytes { // packed\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tres := b[x:]\n\t\tb = b[:x]\n\t\tfor len(b) > 0 {\n\t\t\tif len(b) < 4 {\n\t\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tv := int32(b[0]) | int32(b[1])<<8 | int32(b[2])<<16 | int32(b[3])<<24\n\t\t\tf.appendInt32Slice(v)\n\t\t\tb = b[4:]\n\t\t}\n\t\treturn res, nil\n\t}\n\tif w != WireFixed32 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 4 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := int32(b[0]) | int32(b[1])<<8 | int32(b[2])<<16 | int32(b[3])<<24\n\tf.appendInt32Slice(v)\n\treturn b[4:], nil\n}\n\nfunc unmarshalBoolValue(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\t// Note: any length varint is allowed, even though any sane\n\t// encoder will use one byte.\n\t// See https://github.com/golang/protobuf/issues/76\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\t// TODO: check if x>1? Tests seem to indicate no.\n\tv := x != 0\n\t*f.toBool() = v\n\treturn b[n:], nil\n}\n\nfunc unmarshalBoolPtr(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := x != 0\n\t*f.toBoolPtr() = &v\n\treturn b[n:], nil\n}\n\nfunc unmarshalBoolSlice(b []byte, f pointer, w int) ([]byte, error) {\n\tif w == WireBytes { // packed\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tres := b[x:]\n\t\tb = b[:x]\n\t\tfor len(b) > 0 {\n\t\t\tx, n = decodeVarint(b)\n\t\t\tif n == 0 {\n\t\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tv := x != 0\n\t\t\ts := f.toBoolSlice()\n\t\t\t*s = append(*s, v)\n\t\t\tb = b[n:]\n\t\t}\n\t\treturn res, nil\n\t}\n\tif w != WireVarint {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := x != 0\n\ts := f.toBoolSlice()\n\t*s = append(*s, v)\n\treturn b[n:], nil\n}\n\nfunc unmarshalFloat64Value(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireFixed64 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 8 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := math.Float64frombits(uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56)\n\t*f.toFloat64() = v\n\treturn b[8:], nil\n}\n\nfunc unmarshalFloat64Ptr(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireFixed64 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 8 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := math.Float64frombits(uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56)\n\t*f.toFloat64Ptr() = &v\n\treturn b[8:], nil\n}\n\nfunc unmarshalFloat64Slice(b []byte, f pointer, w int) ([]byte, error) {\n\tif w == WireBytes { // packed\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tres := b[x:]\n\t\tb = b[:x]\n\t\tfor len(b) > 0 {\n\t\t\tif len(b) < 8 {\n\t\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tv := math.Float64frombits(uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56)\n\t\t\ts := f.toFloat64Slice()\n\t\t\t*s = append(*s, v)\n\t\t\tb = b[8:]\n\t\t}\n\t\treturn res, nil\n\t}\n\tif w != WireFixed64 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 8 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := math.Float64frombits(uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56)\n\ts := f.toFloat64Slice()\n\t*s = append(*s, v)\n\treturn b[8:], nil\n}\n\nfunc unmarshalFloat32Value(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireFixed32 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 4 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := math.Float32frombits(uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24)\n\t*f.toFloat32() = v\n\treturn b[4:], nil\n}\n\nfunc unmarshalFloat32Ptr(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireFixed32 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 4 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := math.Float32frombits(uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24)\n\t*f.toFloat32Ptr() = &v\n\treturn b[4:], nil\n}\n\nfunc unmarshalFloat32Slice(b []byte, f pointer, w int) ([]byte, error) {\n\tif w == WireBytes { // packed\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tres := b[x:]\n\t\tb = b[:x]\n\t\tfor len(b) > 0 {\n\t\t\tif len(b) < 4 {\n\t\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\tv := math.Float32frombits(uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24)\n\t\t\ts := f.toFloat32Slice()\n\t\t\t*s = append(*s, v)\n\t\t\tb = b[4:]\n\t\t}\n\t\treturn res, nil\n\t}\n\tif w != WireFixed32 {\n\t\treturn b, errInternalBadWireType\n\t}\n\tif len(b) < 4 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := math.Float32frombits(uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24)\n\ts := f.toFloat32Slice()\n\t*s = append(*s, v)\n\treturn b[4:], nil\n}\n\nfunc unmarshalStringValue(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireBytes {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tif x > uint64(len(b)) {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := string(b[:x])\n\tif !utf8.ValidString(v) {\n\t\treturn nil, errInvalidUTF8\n\t}\n\t*f.toString() = v\n\treturn b[x:], nil\n}\n\nfunc unmarshalStringPtr(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireBytes {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tif x > uint64(len(b)) {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := string(b[:x])\n\tif !utf8.ValidString(v) {\n\t\treturn nil, errInvalidUTF8\n\t}\n\t*f.toStringPtr() = &v\n\treturn b[x:], nil\n}\n\nfunc unmarshalStringSlice(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireBytes {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tif x > uint64(len(b)) {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := string(b[:x])\n\tif !utf8.ValidString(v) {\n\t\treturn nil, errInvalidUTF8\n\t}\n\ts := f.toStringSlice()\n\t*s = append(*s, v)\n\treturn b[x:], nil\n}\n\nvar emptyBuf [0]byte\n\nfunc unmarshalBytesValue(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireBytes {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tif x > uint64(len(b)) {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\t// The use of append here is a trick which avoids the zeroing\n\t// that would be required if we used a make/copy pair.\n\t// We append to emptyBuf instead of nil because we want\n\t// a non-nil result even when the length is 0.\n\tv := append(emptyBuf[:], b[:x]...)\n\t*f.toBytes() = v\n\treturn b[x:], nil\n}\n\nfunc unmarshalBytesSlice(b []byte, f pointer, w int) ([]byte, error) {\n\tif w != WireBytes {\n\t\treturn b, errInternalBadWireType\n\t}\n\tx, n := decodeVarint(b)\n\tif n == 0 {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tb = b[n:]\n\tif x > uint64(len(b)) {\n\t\treturn nil, io.ErrUnexpectedEOF\n\t}\n\tv := append(emptyBuf[:], b[:x]...)\n\ts := f.toBytesSlice()\n\t*s = append(*s, v)\n\treturn b[x:], nil\n}\n\nfunc makeUnmarshalMessagePtr(sub *unmarshalInfo, name string) unmarshaler {\n\treturn func(b []byte, f pointer, w int) ([]byte, error) {\n\t\tif w != WireBytes {\n\t\t\treturn b, errInternalBadWireType\n\t\t}\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\t// First read the message field to see if something is there.\n\t\t// The semantics of multiple submessages are weird.  Instead of\n\t\t// the last one winning (as it is for all other fields), multiple\n\t\t// submessages are merged.\n\t\tv := f.getPointer()\n\t\tif v.isNil() {\n\t\t\tv = valToPointer(reflect.New(sub.typ))\n\t\t\tf.setPointer(v)\n\t\t}\n\t\terr := sub.unmarshal(v, b[:x])\n\t\tif err != nil {\n\t\t\tif r, ok := err.(*RequiredNotSetError); ok {\n\t\t\t\tr.field = name + \".\" + r.field\n\t\t\t} else {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t}\n\t\treturn b[x:], err\n\t}\n}\n\nfunc makeUnmarshalMessageSlicePtr(sub *unmarshalInfo, name string) unmarshaler {\n\treturn func(b []byte, f pointer, w int) ([]byte, error) {\n\t\tif w != WireBytes {\n\t\t\treturn b, errInternalBadWireType\n\t\t}\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tv := valToPointer(reflect.New(sub.typ))\n\t\terr := sub.unmarshal(v, b[:x])\n\t\tif err != nil {\n\t\t\tif r, ok := err.(*RequiredNotSetError); ok {\n\t\t\t\tr.field = name + \".\" + r.field\n\t\t\t} else {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t}\n\t\tf.appendPointer(v)\n\t\treturn b[x:], err\n\t}\n}\n\nfunc makeUnmarshalGroupPtr(sub *unmarshalInfo, name string) unmarshaler {\n\treturn func(b []byte, f pointer, w int) ([]byte, error) {\n\t\tif w != WireStartGroup {\n\t\t\treturn b, errInternalBadWireType\n\t\t}\n\t\tx, y := findEndGroup(b)\n\t\tif x < 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tv := f.getPointer()\n\t\tif v.isNil() {\n\t\t\tv = valToPointer(reflect.New(sub.typ))\n\t\t\tf.setPointer(v)\n\t\t}\n\t\terr := sub.unmarshal(v, b[:x])\n\t\tif err != nil {\n\t\t\tif r, ok := err.(*RequiredNotSetError); ok {\n\t\t\t\tr.field = name + \".\" + r.field\n\t\t\t} else {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t}\n\t\treturn b[y:], err\n\t}\n}\n\nfunc makeUnmarshalGroupSlicePtr(sub *unmarshalInfo, name string) unmarshaler {\n\treturn func(b []byte, f pointer, w int) ([]byte, error) {\n\t\tif w != WireStartGroup {\n\t\t\treturn b, errInternalBadWireType\n\t\t}\n\t\tx, y := findEndGroup(b)\n\t\tif x < 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tv := valToPointer(reflect.New(sub.typ))\n\t\terr := sub.unmarshal(v, b[:x])\n\t\tif err != nil {\n\t\t\tif r, ok := err.(*RequiredNotSetError); ok {\n\t\t\t\tr.field = name + \".\" + r.field\n\t\t\t} else {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t}\n\t\tf.appendPointer(v)\n\t\treturn b[y:], err\n\t}\n}\n\nfunc makeUnmarshalMap(f *reflect.StructField) unmarshaler {\n\tt := f.Type\n\tkt := t.Key()\n\tvt := t.Elem()\n\tunmarshalKey := typeUnmarshaler(kt, f.Tag.Get(\"protobuf_key\"))\n\tunmarshalVal := typeUnmarshaler(vt, f.Tag.Get(\"protobuf_val\"))\n\treturn func(b []byte, f pointer, w int) ([]byte, error) {\n\t\t// The map entry is a submessage. Figure out how big it is.\n\t\tif w != WireBytes {\n\t\t\treturn nil, fmt.Errorf(\"proto: bad wiretype for map field: got %d want %d\", w, WireBytes)\n\t\t}\n\t\tx, n := decodeVarint(b)\n\t\tif n == 0 {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[n:]\n\t\tif x > uint64(len(b)) {\n\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t}\n\t\tr := b[x:] // unused data to return\n\t\tb = b[:x]  // data for map entry\n\n\t\t// Note: we could use #keys * #values ~= 200 functions\n\t\t// to do map decoding without reflection. Probably not worth it.\n\t\t// Maps will be somewhat slow. Oh well.\n\n\t\t// Read key and value from data.\n\t\tk := reflect.New(kt)\n\t\tv := reflect.New(vt)\n\t\tfor len(b) > 0 {\n\t\t\tx, n := decodeVarint(b)\n\t\t\tif n == 0 {\n\t\t\t\treturn nil, io.ErrUnexpectedEOF\n\t\t\t}\n\t\t\twire := int(x) & 7\n\t\t\tb = b[n:]\n\n\t\t\tvar err error\n\t\t\tswitch x >> 3 {\n\t\t\tcase 1:\n\t\t\t\tb, err = unmarshalKey(b, valToPointer(k), wire)\n\t\t\tcase 2:\n\t\t\t\tb, err = unmarshalVal(b, valToPointer(v), wire)\n\t\t\tdefault:\n\t\t\t\terr = errInternalBadWireType // skip unknown tag\n\t\t\t}\n\n\t\t\tif err == nil {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif err != errInternalBadWireType {\n\t\t\t\treturn nil, err\n\t\t\t}\n\n\t\t\t// Skip past unknown fields.\n\t\t\tb, err = skipField(b, wire)\n\t\t\tif err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t}\n\n\t\t// Get map, allocate if needed.\n\t\tm := f.asPointerTo(t).Elem() // an addressable map[K]T\n\t\tif m.IsNil() {\n\t\t\tm.Set(reflect.MakeMap(t))\n\t\t}\n\n\t\t// Insert into map.\n\t\tm.SetMapIndex(k.Elem(), v.Elem())\n\n\t\treturn r, nil\n\t}\n}\n\n// makeUnmarshalOneof makes an unmarshaler for oneof fields.\n// for:\n// message Msg {\n//   oneof F {\n//     int64 X = 1;\n//     float64 Y = 2;\n//   }\n// }\n// typ is the type of the concrete entry for a oneof case (e.g. Msg_X).\n// ityp is the interface type of the oneof field (e.g. isMsg_F).\n// unmarshal is the unmarshaler for the base type of the oneof case (e.g. int64).\n// Note that this function will be called once for each case in the oneof.\nfunc makeUnmarshalOneof(typ, ityp reflect.Type, unmarshal unmarshaler) unmarshaler {\n\tsf := typ.Field(0)\n\tfield0 := toField(&sf)\n\treturn func(b []byte, f pointer, w int) ([]byte, error) {\n\t\t// Allocate holder for value.\n\t\tv := reflect.New(typ)\n\n\t\t// Unmarshal data into holder.\n\t\t// We unmarshal into the first field of the holder object.\n\t\tvar err error\n\t\tb, err = unmarshal(b, valToPointer(v).offset(field0), w)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\n\t\t// Write pointer to holder into target field.\n\t\tf.asPointerTo(ityp).Elem().Set(v)\n\n\t\treturn b, nil\n\t}\n}\n\n// Error used by decode internally.\nvar errInternalBadWireType = errors.New(\"proto: internal error: bad wiretype\")\n\n// skipField skips past a field of type wire and returns the remaining bytes.\nfunc skipField(b []byte, wire int) ([]byte, error) {\n\tswitch wire {\n\tcase WireVarint:\n\t\t_, k := decodeVarint(b)\n\t\tif k == 0 {\n\t\t\treturn b, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[k:]\n\tcase WireFixed32:\n\t\tif len(b) < 4 {\n\t\t\treturn b, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[4:]\n\tcase WireFixed64:\n\t\tif len(b) < 8 {\n\t\t\treturn b, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[8:]\n\tcase WireBytes:\n\t\tm, k := decodeVarint(b)\n\t\tif k == 0 || uint64(len(b)-k) < m {\n\t\t\treturn b, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[uint64(k)+m:]\n\tcase WireStartGroup:\n\t\t_, i := findEndGroup(b)\n\t\tif i == -1 {\n\t\t\treturn b, io.ErrUnexpectedEOF\n\t\t}\n\t\tb = b[i:]\n\tdefault:\n\t\treturn b, fmt.Errorf(\"proto: can't skip unknown wire type %d\", wire)\n\t}\n\treturn b, nil\n}\n\n// findEndGroup finds the index of the next EndGroup tag.\n// Groups may be nested, so the \"next\" EndGroup tag is the first\n// unpaired EndGroup.\n// findEndGroup returns the indexes of the start and end of the EndGroup tag.\n// Returns (-1,-1) if it can't find one.\nfunc findEndGroup(b []byte) (int, int) {\n\tdepth := 1\n\ti := 0\n\tfor {\n\t\tx, n := decodeVarint(b[i:])\n\t\tif n == 0 {\n\t\t\treturn -1, -1\n\t\t}\n\t\tj := i\n\t\ti += n\n\t\tswitch x & 7 {\n\t\tcase WireVarint:\n\t\t\t_, k := decodeVarint(b[i:])\n\t\t\tif k == 0 {\n\t\t\t\treturn -1, -1\n\t\t\t}\n\t\t\ti += k\n\t\tcase WireFixed32:\n\t\t\tif len(b)-4 < i {\n\t\t\t\treturn -1, -1\n\t\t\t}\n\t\t\ti += 4\n\t\tcase WireFixed64:\n\t\t\tif len(b)-8 < i {\n\t\t\t\treturn -1, -1\n\t\t\t}\n\t\t\ti += 8\n\t\tcase WireBytes:\n\t\t\tm, k := decodeVarint(b[i:])\n\t\t\tif k == 0 {\n\t\t\t\treturn -1, -1\n\t\t\t}\n\t\t\ti += k\n\t\t\tif uint64(len(b)-i) < m {\n\t\t\t\treturn -1, -1\n\t\t\t}\n\t\t\ti += int(m)\n\t\tcase WireStartGroup:\n\t\t\tdepth++\n\t\tcase WireEndGroup:\n\t\t\tdepth--\n\t\t\tif depth == 0 {\n\t\t\t\treturn j, i\n\t\t\t}\n\t\tdefault:\n\t\t\treturn -1, -1\n\t\t}\n\t}\n}\n\n// encodeVarint appends a varint-encoded integer to b and returns the result.\nfunc encodeVarint(b []byte, x uint64) []byte {\n\tfor x >= 1<<7 {\n\t\tb = append(b, byte(x&0x7f|0x80))\n\t\tx >>= 7\n\t}\n\treturn append(b, byte(x))\n}\n\n// decodeVarint reads a varint-encoded integer from b.\n// Returns the decoded integer and the number of bytes read.\n// If there is an error, it returns 0,0.\nfunc decodeVarint(b []byte) (uint64, int) {\n\tvar x, y uint64\n\tif len(b) <= 0 {\n\t\tgoto bad\n\t}\n\tx = uint64(b[0])\n\tif x < 0x80 {\n\t\treturn x, 1\n\t}\n\tx -= 0x80\n\n\tif len(b) <= 1 {\n\t\tgoto bad\n\t}\n\ty = uint64(b[1])\n\tx += y << 7\n\tif y < 0x80 {\n\t\treturn x, 2\n\t}\n\tx -= 0x80 << 7\n\n\tif len(b) <= 2 {\n\t\tgoto bad\n\t}\n\ty = uint64(b[2])\n\tx += y << 14\n\tif y < 0x80 {\n\t\treturn x, 3\n\t}\n\tx -= 0x80 << 14\n\n\tif len(b) <= 3 {\n\t\tgoto bad\n\t}\n\ty = uint64(b[3])\n\tx += y << 21\n\tif y < 0x80 {\n\t\treturn x, 4\n\t}\n\tx -= 0x80 << 21\n\n\tif len(b) <= 4 {\n\t\tgoto bad\n\t}\n\ty = uint64(b[4])\n\tx += y << 28\n\tif y < 0x80 {\n\t\treturn x, 5\n\t}\n\tx -= 0x80 << 28\n\n\tif len(b) <= 5 {\n\t\tgoto bad\n\t}\n\ty = uint64(b[5])\n\tx += y << 35\n\tif y < 0x80 {\n\t\treturn x, 6\n\t}\n\tx -= 0x80 << 35\n\n\tif len(b) <= 6 {\n\t\tgoto bad\n\t}\n\ty = uint64(b[6])\n\tx += y << 42\n\tif y < 0x80 {\n\t\treturn x, 7\n\t}\n\tx -= 0x80 << 42\n\n\tif len(b) <= 7 {\n\t\tgoto bad\n\t}\n\ty = uint64(b[7])\n\tx += y << 49\n\tif y < 0x80 {\n\t\treturn x, 8\n\t}\n\tx -= 0x80 << 49\n\n\tif len(b) <= 8 {\n\t\tgoto bad\n\t}\n\ty = uint64(b[8])\n\tx += y << 56\n\tif y < 0x80 {\n\t\treturn x, 9\n\t}\n\tx -= 0x80 << 56\n\n\tif len(b) <= 9 {\n\t\tgoto bad\n\t}\n\ty = uint64(b[9])\n\tx += y << 63\n\tif y < 2 {\n\t\treturn x, 10\n\t}\n\nbad:\n\treturn 0, 0\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/proto/text.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\n// Functions for writing the text protocol buffer format.\n\nimport (\n\t\"bufio\"\n\t\"bytes\"\n\t\"encoding\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"log\"\n\t\"math\"\n\t\"reflect\"\n\t\"sort\"\n\t\"strings\"\n)\n\nvar (\n\tnewline         = []byte(\"\\n\")\n\tspaces          = []byte(\"                                        \")\n\tendBraceNewline = []byte(\"}\\n\")\n\tbackslashN      = []byte{'\\\\', 'n'}\n\tbackslashR      = []byte{'\\\\', 'r'}\n\tbackslashT      = []byte{'\\\\', 't'}\n\tbackslashDQ     = []byte{'\\\\', '\"'}\n\tbackslashBS     = []byte{'\\\\', '\\\\'}\n\tposInf          = []byte(\"inf\")\n\tnegInf          = []byte(\"-inf\")\n\tnan             = []byte(\"nan\")\n)\n\ntype writer interface {\n\tio.Writer\n\tWriteByte(byte) error\n}\n\n// textWriter is an io.Writer that tracks its indentation level.\ntype textWriter struct {\n\tind      int\n\tcomplete bool // if the current position is a complete line\n\tcompact  bool // whether to write out as a one-liner\n\tw        writer\n}\n\nfunc (w *textWriter) WriteString(s string) (n int, err error) {\n\tif !strings.Contains(s, \"\\n\") {\n\t\tif !w.compact && w.complete {\n\t\t\tw.writeIndent()\n\t\t}\n\t\tw.complete = false\n\t\treturn io.WriteString(w.w, s)\n\t}\n\t// WriteString is typically called without newlines, so this\n\t// codepath and its copy are rare.  We copy to avoid\n\t// duplicating all of Write's logic here.\n\treturn w.Write([]byte(s))\n}\n\nfunc (w *textWriter) Write(p []byte) (n int, err error) {\n\tnewlines := bytes.Count(p, newline)\n\tif newlines == 0 {\n\t\tif !w.compact && w.complete {\n\t\t\tw.writeIndent()\n\t\t}\n\t\tn, err = w.w.Write(p)\n\t\tw.complete = false\n\t\treturn n, err\n\t}\n\n\tfrags := bytes.SplitN(p, newline, newlines+1)\n\tif w.compact {\n\t\tfor i, frag := range frags {\n\t\t\tif i > 0 {\n\t\t\t\tif err := w.w.WriteByte(' '); err != nil {\n\t\t\t\t\treturn n, err\n\t\t\t\t}\n\t\t\t\tn++\n\t\t\t}\n\t\t\tnn, err := w.w.Write(frag)\n\t\t\tn += nn\n\t\t\tif err != nil {\n\t\t\t\treturn n, err\n\t\t\t}\n\t\t}\n\t\treturn n, nil\n\t}\n\n\tfor i, frag := range frags {\n\t\tif w.complete {\n\t\t\tw.writeIndent()\n\t\t}\n\t\tnn, err := w.w.Write(frag)\n\t\tn += nn\n\t\tif err != nil {\n\t\t\treturn n, err\n\t\t}\n\t\tif i+1 < len(frags) {\n\t\t\tif err := w.w.WriteByte('\\n'); err != nil {\n\t\t\t\treturn n, err\n\t\t\t}\n\t\t\tn++\n\t\t}\n\t}\n\tw.complete = len(frags[len(frags)-1]) == 0\n\treturn n, nil\n}\n\nfunc (w *textWriter) WriteByte(c byte) error {\n\tif w.compact && c == '\\n' {\n\t\tc = ' '\n\t}\n\tif !w.compact && w.complete {\n\t\tw.writeIndent()\n\t}\n\terr := w.w.WriteByte(c)\n\tw.complete = c == '\\n'\n\treturn err\n}\n\nfunc (w *textWriter) indent() { w.ind++ }\n\nfunc (w *textWriter) unindent() {\n\tif w.ind == 0 {\n\t\tlog.Print(\"proto: textWriter unindented too far\")\n\t\treturn\n\t}\n\tw.ind--\n}\n\nfunc writeName(w *textWriter, props *Properties) error {\n\tif _, err := w.WriteString(props.OrigName); err != nil {\n\t\treturn err\n\t}\n\tif props.Wire != \"group\" {\n\t\treturn w.WriteByte(':')\n\t}\n\treturn nil\n}\n\nfunc requiresQuotes(u string) bool {\n\t// When type URL contains any characters except [0-9A-Za-z./\\-]*, it must be quoted.\n\tfor _, ch := range u {\n\t\tswitch {\n\t\tcase ch == '.' || ch == '/' || ch == '_':\n\t\t\tcontinue\n\t\tcase '0' <= ch && ch <= '9':\n\t\t\tcontinue\n\t\tcase 'A' <= ch && ch <= 'Z':\n\t\t\tcontinue\n\t\tcase 'a' <= ch && ch <= 'z':\n\t\t\tcontinue\n\t\tdefault:\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\n// isAny reports whether sv is a google.protobuf.Any message\nfunc isAny(sv reflect.Value) bool {\n\ttype wkt interface {\n\t\tXXX_WellKnownType() string\n\t}\n\tt, ok := sv.Addr().Interface().(wkt)\n\treturn ok && t.XXX_WellKnownType() == \"Any\"\n}\n\n// writeProto3Any writes an expanded google.protobuf.Any message.\n//\n// It returns (false, nil) if sv value can't be unmarshaled (e.g. because\n// required messages are not linked in).\n//\n// It returns (true, error) when sv was written in expanded format or an error\n// was encountered.\nfunc (tm *TextMarshaler) writeProto3Any(w *textWriter, sv reflect.Value) (bool, error) {\n\tturl := sv.FieldByName(\"TypeUrl\")\n\tval := sv.FieldByName(\"Value\")\n\tif !turl.IsValid() || !val.IsValid() {\n\t\treturn true, errors.New(\"proto: invalid google.protobuf.Any message\")\n\t}\n\n\tb, ok := val.Interface().([]byte)\n\tif !ok {\n\t\treturn true, errors.New(\"proto: invalid google.protobuf.Any message\")\n\t}\n\n\tparts := strings.Split(turl.String(), \"/\")\n\tmt := MessageType(parts[len(parts)-1])\n\tif mt == nil {\n\t\treturn false, nil\n\t}\n\tm := reflect.New(mt.Elem())\n\tif err := Unmarshal(b, m.Interface().(Message)); err != nil {\n\t\treturn false, nil\n\t}\n\tw.Write([]byte(\"[\"))\n\tu := turl.String()\n\tif requiresQuotes(u) {\n\t\twriteString(w, u)\n\t} else {\n\t\tw.Write([]byte(u))\n\t}\n\tif w.compact {\n\t\tw.Write([]byte(\"]:<\"))\n\t} else {\n\t\tw.Write([]byte(\"]: <\\n\"))\n\t\tw.ind++\n\t}\n\tif err := tm.writeStruct(w, m.Elem()); err != nil {\n\t\treturn true, err\n\t}\n\tif w.compact {\n\t\tw.Write([]byte(\"> \"))\n\t} else {\n\t\tw.ind--\n\t\tw.Write([]byte(\">\\n\"))\n\t}\n\treturn true, nil\n}\n\nfunc (tm *TextMarshaler) writeStruct(w *textWriter, sv reflect.Value) error {\n\tif tm.ExpandAny && isAny(sv) {\n\t\tif canExpand, err := tm.writeProto3Any(w, sv); canExpand {\n\t\t\treturn err\n\t\t}\n\t}\n\tst := sv.Type()\n\tsprops := GetProperties(st)\n\tfor i := 0; i < sv.NumField(); i++ {\n\t\tfv := sv.Field(i)\n\t\tprops := sprops.Prop[i]\n\t\tname := st.Field(i).Name\n\n\t\tif name == \"XXX_NoUnkeyedLiteral\" {\n\t\t\tcontinue\n\t\t}\n\n\t\tif strings.HasPrefix(name, \"XXX_\") {\n\t\t\t// There are two XXX_ fields:\n\t\t\t//   XXX_unrecognized []byte\n\t\t\t//   XXX_extensions   map[int32]proto.Extension\n\t\t\t// The first is handled here;\n\t\t\t// the second is handled at the bottom of this function.\n\t\t\tif name == \"XXX_unrecognized\" && !fv.IsNil() {\n\t\t\t\tif err := writeUnknownStruct(w, fv.Interface().([]byte)); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\tif fv.Kind() == reflect.Ptr && fv.IsNil() {\n\t\t\t// Field not filled in. This could be an optional field or\n\t\t\t// a required field that wasn't filled in. Either way, there\n\t\t\t// isn't anything we can show for it.\n\t\t\tcontinue\n\t\t}\n\t\tif fv.Kind() == reflect.Slice && fv.IsNil() {\n\t\t\t// Repeated field that is empty, or a bytes field that is unused.\n\t\t\tcontinue\n\t\t}\n\n\t\tif props.Repeated && fv.Kind() == reflect.Slice {\n\t\t\t// Repeated field.\n\t\t\tfor j := 0; j < fv.Len(); j++ {\n\t\t\t\tif err := writeName(w, props); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tif !w.compact {\n\t\t\t\t\tif err := w.WriteByte(' '); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tv := fv.Index(j)\n\t\t\t\tif v.Kind() == reflect.Ptr && v.IsNil() {\n\t\t\t\t\t// A nil message in a repeated field is not valid,\n\t\t\t\t\t// but we can handle that more gracefully than panicking.\n\t\t\t\t\tif _, err := w.Write([]byte(\"<nil>\\n\")); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif err := tm.writeAny(w, v, props); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tif err := w.WriteByte('\\n'); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\tif fv.Kind() == reflect.Map {\n\t\t\t// Map fields are rendered as a repeated struct with key/value fields.\n\t\t\tkeys := fv.MapKeys()\n\t\t\tsort.Sort(mapKeys(keys))\n\t\t\tfor _, key := range keys {\n\t\t\t\tval := fv.MapIndex(key)\n\t\t\t\tif err := writeName(w, props); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tif !w.compact {\n\t\t\t\t\tif err := w.WriteByte(' '); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// open struct\n\t\t\t\tif err := w.WriteByte('<'); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tif !w.compact {\n\t\t\t\t\tif err := w.WriteByte('\\n'); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tw.indent()\n\t\t\t\t// key\n\t\t\t\tif _, err := w.WriteString(\"key:\"); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tif !w.compact {\n\t\t\t\t\tif err := w.WriteByte(' '); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif err := tm.writeAny(w, key, props.mkeyprop); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tif err := w.WriteByte('\\n'); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\t// nil values aren't legal, but we can avoid panicking because of them.\n\t\t\t\tif val.Kind() != reflect.Ptr || !val.IsNil() {\n\t\t\t\t\t// value\n\t\t\t\t\tif _, err := w.WriteString(\"value:\"); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tif !w.compact {\n\t\t\t\t\t\tif err := w.WriteByte(' '); err != nil {\n\t\t\t\t\t\t\treturn err\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif err := tm.writeAny(w, val, props.mvalprop); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tif err := w.WriteByte('\\n'); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// close struct\n\t\t\t\tw.unindent()\n\t\t\t\tif err := w.WriteByte('>'); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tif err := w.WriteByte('\\n'); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\tif props.proto3 && fv.Kind() == reflect.Slice && fv.Len() == 0 {\n\t\t\t// empty bytes field\n\t\t\tcontinue\n\t\t}\n\t\tif fv.Kind() != reflect.Ptr && fv.Kind() != reflect.Slice {\n\t\t\t// proto3 non-repeated scalar field; skip if zero value\n\t\t\tif isProto3Zero(fv) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t}\n\n\t\tif fv.Kind() == reflect.Interface {\n\t\t\t// Check if it is a oneof.\n\t\t\tif st.Field(i).Tag.Get(\"protobuf_oneof\") != \"\" {\n\t\t\t\t// fv is nil, or holds a pointer to generated struct.\n\t\t\t\t// That generated struct has exactly one field,\n\t\t\t\t// which has a protobuf struct tag.\n\t\t\t\tif fv.IsNil() {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tinner := fv.Elem().Elem() // interface -> *T -> T\n\t\t\t\ttag := inner.Type().Field(0).Tag.Get(\"protobuf\")\n\t\t\t\tprops = new(Properties) // Overwrite the outer props var, but not its pointee.\n\t\t\t\tprops.Parse(tag)\n\t\t\t\t// Write the value in the oneof, not the oneof itself.\n\t\t\t\tfv = inner.Field(0)\n\n\t\t\t\t// Special case to cope with malformed messages gracefully:\n\t\t\t\t// If the value in the oneof is a nil pointer, don't panic\n\t\t\t\t// in writeAny.\n\t\t\t\tif fv.Kind() == reflect.Ptr && fv.IsNil() {\n\t\t\t\t\t// Use errors.New so writeAny won't render quotes.\n\t\t\t\t\tmsg := errors.New(\"/* nil */\")\n\t\t\t\t\tfv = reflect.ValueOf(&msg).Elem()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif err := writeName(w, props); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif !w.compact {\n\t\t\tif err := w.WriteByte(' '); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\n\t\t// Enums have a String method, so writeAny will work fine.\n\t\tif err := tm.writeAny(w, fv, props); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tif err := w.WriteByte('\\n'); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\t// Extensions (the XXX_extensions field).\n\tpv := sv.Addr()\n\tif _, err := extendable(pv.Interface()); err == nil {\n\t\tif err := tm.writeExtensions(w, pv); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\treturn nil\n}\n\n// writeAny writes an arbitrary field.\nfunc (tm *TextMarshaler) writeAny(w *textWriter, v reflect.Value, props *Properties) error {\n\tv = reflect.Indirect(v)\n\n\t// Floats have special cases.\n\tif v.Kind() == reflect.Float32 || v.Kind() == reflect.Float64 {\n\t\tx := v.Float()\n\t\tvar b []byte\n\t\tswitch {\n\t\tcase math.IsInf(x, 1):\n\t\t\tb = posInf\n\t\tcase math.IsInf(x, -1):\n\t\t\tb = negInf\n\t\tcase math.IsNaN(x):\n\t\t\tb = nan\n\t\t}\n\t\tif b != nil {\n\t\t\t_, err := w.Write(b)\n\t\t\treturn err\n\t\t}\n\t\t// Other values are handled below.\n\t}\n\n\t// We don't attempt to serialise every possible value type; only those\n\t// that can occur in protocol buffers.\n\tswitch v.Kind() {\n\tcase reflect.Slice:\n\t\t// Should only be a []byte; repeated fields are handled in writeStruct.\n\t\tif err := writeString(w, string(v.Bytes())); err != nil {\n\t\t\treturn err\n\t\t}\n\tcase reflect.String:\n\t\tif err := writeString(w, v.String()); err != nil {\n\t\t\treturn err\n\t\t}\n\tcase reflect.Struct:\n\t\t// Required/optional group/message.\n\t\tvar bra, ket byte = '<', '>'\n\t\tif props != nil && props.Wire == \"group\" {\n\t\t\tbra, ket = '{', '}'\n\t\t}\n\t\tif err := w.WriteByte(bra); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif !w.compact {\n\t\t\tif err := w.WriteByte('\\n'); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t\tw.indent()\n\t\tif v.CanAddr() {\n\t\t\t// Calling v.Interface on a struct causes the reflect package to\n\t\t\t// copy the entire struct. This is racy with the new Marshaler\n\t\t\t// since we atomically update the XXX_sizecache.\n\t\t\t//\n\t\t\t// Thus, we retrieve a pointer to the struct if possible to avoid\n\t\t\t// a race since v.Interface on the pointer doesn't copy the struct.\n\t\t\t//\n\t\t\t// If v is not addressable, then we are not worried about a race\n\t\t\t// since it implies that the binary Marshaler cannot possibly be\n\t\t\t// mutating this value.\n\t\t\tv = v.Addr()\n\t\t}\n\t\tif etm, ok := v.Interface().(encoding.TextMarshaler); ok {\n\t\t\ttext, err := etm.MarshalText()\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif _, err = w.Write(text); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t} else {\n\t\t\tif v.Kind() == reflect.Ptr {\n\t\t\t\tv = v.Elem()\n\t\t\t}\n\t\t\tif err := tm.writeStruct(w, v); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t\tw.unindent()\n\t\tif err := w.WriteByte(ket); err != nil {\n\t\t\treturn err\n\t\t}\n\tdefault:\n\t\t_, err := fmt.Fprint(w, v.Interface())\n\t\treturn err\n\t}\n\treturn nil\n}\n\n// equivalent to C's isprint.\nfunc isprint(c byte) bool {\n\treturn c >= 0x20 && c < 0x7f\n}\n\n// writeString writes a string in the protocol buffer text format.\n// It is similar to strconv.Quote except we don't use Go escape sequences,\n// we treat the string as a byte sequence, and we use octal escapes.\n// These differences are to maintain interoperability with the other\n// languages' implementations of the text format.\nfunc writeString(w *textWriter, s string) error {\n\t// use WriteByte here to get any needed indent\n\tif err := w.WriteByte('\"'); err != nil {\n\t\treturn err\n\t}\n\t// Loop over the bytes, not the runes.\n\tfor i := 0; i < len(s); i++ {\n\t\tvar err error\n\t\t// Divergence from C++: we don't escape apostrophes.\n\t\t// There's no need to escape them, and the C++ parser\n\t\t// copes with a naked apostrophe.\n\t\tswitch c := s[i]; c {\n\t\tcase '\\n':\n\t\t\t_, err = w.w.Write(backslashN)\n\t\tcase '\\r':\n\t\t\t_, err = w.w.Write(backslashR)\n\t\tcase '\\t':\n\t\t\t_, err = w.w.Write(backslashT)\n\t\tcase '\"':\n\t\t\t_, err = w.w.Write(backslashDQ)\n\t\tcase '\\\\':\n\t\t\t_, err = w.w.Write(backslashBS)\n\t\tdefault:\n\t\t\tif isprint(c) {\n\t\t\t\terr = w.w.WriteByte(c)\n\t\t\t} else {\n\t\t\t\t_, err = fmt.Fprintf(w.w, \"\\\\%03o\", c)\n\t\t\t}\n\t\t}\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn w.WriteByte('\"')\n}\n\nfunc writeUnknownStruct(w *textWriter, data []byte) (err error) {\n\tif !w.compact {\n\t\tif _, err := fmt.Fprintf(w, \"/* %d unknown bytes */\\n\", len(data)); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\tb := NewBuffer(data)\n\tfor b.index < len(b.buf) {\n\t\tx, err := b.DecodeVarint()\n\t\tif err != nil {\n\t\t\t_, err := fmt.Fprintf(w, \"/* %v */\\n\", err)\n\t\t\treturn err\n\t\t}\n\t\twire, tag := x&7, x>>3\n\t\tif wire == WireEndGroup {\n\t\t\tw.unindent()\n\t\t\tif _, err := w.Write(endBraceNewline); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\tif _, err := fmt.Fprint(w, tag); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif wire != WireStartGroup {\n\t\t\tif err := w.WriteByte(':'); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t\tif !w.compact || wire == WireStartGroup {\n\t\t\tif err := w.WriteByte(' '); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t\tswitch wire {\n\t\tcase WireBytes:\n\t\t\tbuf, e := b.DecodeRawBytes(false)\n\t\t\tif e == nil {\n\t\t\t\t_, err = fmt.Fprintf(w, \"%q\", buf)\n\t\t\t} else {\n\t\t\t\t_, err = fmt.Fprintf(w, \"/* %v */\", e)\n\t\t\t}\n\t\tcase WireFixed32:\n\t\t\tx, err = b.DecodeFixed32()\n\t\t\terr = writeUnknownInt(w, x, err)\n\t\tcase WireFixed64:\n\t\t\tx, err = b.DecodeFixed64()\n\t\t\terr = writeUnknownInt(w, x, err)\n\t\tcase WireStartGroup:\n\t\t\terr = w.WriteByte('{')\n\t\t\tw.indent()\n\t\tcase WireVarint:\n\t\t\tx, err = b.DecodeVarint()\n\t\t\terr = writeUnknownInt(w, x, err)\n\t\tdefault:\n\t\t\t_, err = fmt.Fprintf(w, \"/* unknown wire type %d */\", wire)\n\t\t}\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif err = w.WriteByte('\\n'); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc writeUnknownInt(w *textWriter, x uint64, err error) error {\n\tif err == nil {\n\t\t_, err = fmt.Fprint(w, x)\n\t} else {\n\t\t_, err = fmt.Fprintf(w, \"/* %v */\", err)\n\t}\n\treturn err\n}\n\ntype int32Slice []int32\n\nfunc (s int32Slice) Len() int           { return len(s) }\nfunc (s int32Slice) Less(i, j int) bool { return s[i] < s[j] }\nfunc (s int32Slice) Swap(i, j int)      { s[i], s[j] = s[j], s[i] }\n\n// writeExtensions writes all the extensions in pv.\n// pv is assumed to be a pointer to a protocol message struct that is extendable.\nfunc (tm *TextMarshaler) writeExtensions(w *textWriter, pv reflect.Value) error {\n\temap := extensionMaps[pv.Type().Elem()]\n\tep, _ := extendable(pv.Interface())\n\n\t// Order the extensions by ID.\n\t// This isn't strictly necessary, but it will give us\n\t// canonical output, which will also make testing easier.\n\tm, mu := ep.extensionsRead()\n\tif m == nil {\n\t\treturn nil\n\t}\n\tmu.Lock()\n\tids := make([]int32, 0, len(m))\n\tfor id := range m {\n\t\tids = append(ids, id)\n\t}\n\tsort.Sort(int32Slice(ids))\n\tmu.Unlock()\n\n\tfor _, extNum := range ids {\n\t\text := m[extNum]\n\t\tvar desc *ExtensionDesc\n\t\tif emap != nil {\n\t\t\tdesc = emap[extNum]\n\t\t}\n\t\tif desc == nil {\n\t\t\t// Unknown extension.\n\t\t\tif err := writeUnknownStruct(w, ext.enc); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\n\t\tpb, err := GetExtension(ep, desc)\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"failed getting extension: %v\", err)\n\t\t}\n\n\t\t// Repeated extensions will appear as a slice.\n\t\tif !desc.repeated() {\n\t\t\tif err := tm.writeExtension(w, desc.Name, pb); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t} else {\n\t\t\tv := reflect.ValueOf(pb)\n\t\t\tfor i := 0; i < v.Len(); i++ {\n\t\t\t\tif err := tm.writeExtension(w, desc.Name, v.Index(i).Interface()); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (tm *TextMarshaler) writeExtension(w *textWriter, name string, pb interface{}) error {\n\tif _, err := fmt.Fprintf(w, \"[%s]:\", name); err != nil {\n\t\treturn err\n\t}\n\tif !w.compact {\n\t\tif err := w.WriteByte(' '); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\tif err := tm.writeAny(w, reflect.ValueOf(pb), nil); err != nil {\n\t\treturn err\n\t}\n\tif err := w.WriteByte('\\n'); err != nil {\n\t\treturn err\n\t}\n\treturn nil\n}\n\nfunc (w *textWriter) writeIndent() {\n\tif !w.complete {\n\t\treturn\n\t}\n\tremain := w.ind * 2\n\tfor remain > 0 {\n\t\tn := remain\n\t\tif n > len(spaces) {\n\t\t\tn = len(spaces)\n\t\t}\n\t\tw.w.Write(spaces[:n])\n\t\tremain -= n\n\t}\n\tw.complete = false\n}\n\n// TextMarshaler is a configurable text format marshaler.\ntype TextMarshaler struct {\n\tCompact   bool // use compact text format (one line).\n\tExpandAny bool // expand google.protobuf.Any messages of known types\n}\n\n// Marshal writes a given protocol buffer in text format.\n// The only errors returned are from w.\nfunc (tm *TextMarshaler) Marshal(w io.Writer, pb Message) error {\n\tval := reflect.ValueOf(pb)\n\tif pb == nil || val.IsNil() {\n\t\tw.Write([]byte(\"<nil>\"))\n\t\treturn nil\n\t}\n\tvar bw *bufio.Writer\n\tww, ok := w.(writer)\n\tif !ok {\n\t\tbw = bufio.NewWriter(w)\n\t\tww = bw\n\t}\n\taw := &textWriter{\n\t\tw:        ww,\n\t\tcomplete: true,\n\t\tcompact:  tm.Compact,\n\t}\n\n\tif etm, ok := pb.(encoding.TextMarshaler); ok {\n\t\ttext, err := etm.MarshalText()\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif _, err = aw.Write(text); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif bw != nil {\n\t\t\treturn bw.Flush()\n\t\t}\n\t\treturn nil\n\t}\n\t// Dereference the received pointer so we don't have outer < and >.\n\tv := reflect.Indirect(val)\n\tif err := tm.writeStruct(aw, v); err != nil {\n\t\treturn err\n\t}\n\tif bw != nil {\n\t\treturn bw.Flush()\n\t}\n\treturn nil\n}\n\n// Text is the same as Marshal, but returns the string directly.\nfunc (tm *TextMarshaler) Text(pb Message) string {\n\tvar buf bytes.Buffer\n\ttm.Marshal(&buf, pb)\n\treturn buf.String()\n}\n\nvar (\n\tdefaultTextMarshaler = TextMarshaler{}\n\tcompactTextMarshaler = TextMarshaler{Compact: true}\n)\n\n// TODO: consider removing some of the Marshal functions below.\n\n// MarshalText writes a given protocol buffer in text format.\n// The only errors returned are from w.\nfunc MarshalText(w io.Writer, pb Message) error { return defaultTextMarshaler.Marshal(w, pb) }\n\n// MarshalTextString is the same as MarshalText, but returns the string directly.\nfunc MarshalTextString(pb Message) string { return defaultTextMarshaler.Text(pb) }\n\n// CompactText writes a given protocol buffer in compact text format (one line).\nfunc CompactText(w io.Writer, pb Message) error { return compactTextMarshaler.Marshal(w, pb) }\n\n// CompactTextString is the same as CompactText, but returns the string directly.\nfunc CompactTextString(pb Message) string { return compactTextMarshaler.Text(pb) }\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/proto/text_parser.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2010 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage proto\n\n// Functions for parsing the Text protocol buffer format.\n// TODO: message sets.\n\nimport (\n\t\"encoding\"\n\t\"errors\"\n\t\"fmt\"\n\t\"reflect\"\n\t\"strconv\"\n\t\"strings\"\n\t\"unicode/utf8\"\n)\n\n// Error string emitted when deserializing Any and fields are already set\nconst anyRepeatedlyUnpacked = \"Any message unpacked multiple times, or %q already set\"\n\ntype ParseError struct {\n\tMessage string\n\tLine    int // 1-based line number\n\tOffset  int // 0-based byte offset from start of input\n}\n\nfunc (p *ParseError) Error() string {\n\tif p.Line == 1 {\n\t\t// show offset only for first line\n\t\treturn fmt.Sprintf(\"line 1.%d: %v\", p.Offset, p.Message)\n\t}\n\treturn fmt.Sprintf(\"line %d: %v\", p.Line, p.Message)\n}\n\ntype token struct {\n\tvalue    string\n\terr      *ParseError\n\tline     int    // line number\n\toffset   int    // byte number from start of input, not start of line\n\tunquoted string // the unquoted version of value, if it was a quoted string\n}\n\nfunc (t *token) String() string {\n\tif t.err == nil {\n\t\treturn fmt.Sprintf(\"%q (line=%d, offset=%d)\", t.value, t.line, t.offset)\n\t}\n\treturn fmt.Sprintf(\"parse error: %v\", t.err)\n}\n\ntype textParser struct {\n\ts            string // remaining input\n\tdone         bool   // whether the parsing is finished (success or error)\n\tbacked       bool   // whether back() was called\n\toffset, line int\n\tcur          token\n}\n\nfunc newTextParser(s string) *textParser {\n\tp := new(textParser)\n\tp.s = s\n\tp.line = 1\n\tp.cur.line = 1\n\treturn p\n}\n\nfunc (p *textParser) errorf(format string, a ...interface{}) *ParseError {\n\tpe := &ParseError{fmt.Sprintf(format, a...), p.cur.line, p.cur.offset}\n\tp.cur.err = pe\n\tp.done = true\n\treturn pe\n}\n\n// Numbers and identifiers are matched by [-+._A-Za-z0-9]\nfunc isIdentOrNumberChar(c byte) bool {\n\tswitch {\n\tcase 'A' <= c && c <= 'Z', 'a' <= c && c <= 'z':\n\t\treturn true\n\tcase '0' <= c && c <= '9':\n\t\treturn true\n\t}\n\tswitch c {\n\tcase '-', '+', '.', '_':\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc isWhitespace(c byte) bool {\n\tswitch c {\n\tcase ' ', '\\t', '\\n', '\\r':\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc isQuote(c byte) bool {\n\tswitch c {\n\tcase '\"', '\\'':\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc (p *textParser) skipWhitespace() {\n\ti := 0\n\tfor i < len(p.s) && (isWhitespace(p.s[i]) || p.s[i] == '#') {\n\t\tif p.s[i] == '#' {\n\t\t\t// comment; skip to end of line or input\n\t\t\tfor i < len(p.s) && p.s[i] != '\\n' {\n\t\t\t\ti++\n\t\t\t}\n\t\t\tif i == len(p.s) {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tif p.s[i] == '\\n' {\n\t\t\tp.line++\n\t\t}\n\t\ti++\n\t}\n\tp.offset += i\n\tp.s = p.s[i:len(p.s)]\n\tif len(p.s) == 0 {\n\t\tp.done = true\n\t}\n}\n\nfunc (p *textParser) advance() {\n\t// Skip whitespace\n\tp.skipWhitespace()\n\tif p.done {\n\t\treturn\n\t}\n\n\t// Start of non-whitespace\n\tp.cur.err = nil\n\tp.cur.offset, p.cur.line = p.offset, p.line\n\tp.cur.unquoted = \"\"\n\tswitch p.s[0] {\n\tcase '<', '>', '{', '}', ':', '[', ']', ';', ',', '/':\n\t\t// Single symbol\n\t\tp.cur.value, p.s = p.s[0:1], p.s[1:len(p.s)]\n\tcase '\"', '\\'':\n\t\t// Quoted string\n\t\ti := 1\n\t\tfor i < len(p.s) && p.s[i] != p.s[0] && p.s[i] != '\\n' {\n\t\t\tif p.s[i] == '\\\\' && i+1 < len(p.s) {\n\t\t\t\t// skip escaped char\n\t\t\t\ti++\n\t\t\t}\n\t\t\ti++\n\t\t}\n\t\tif i >= len(p.s) || p.s[i] != p.s[0] {\n\t\t\tp.errorf(\"unmatched quote\")\n\t\t\treturn\n\t\t}\n\t\tunq, err := unquoteC(p.s[1:i], rune(p.s[0]))\n\t\tif err != nil {\n\t\t\tp.errorf(\"invalid quoted string %s: %v\", p.s[0:i+1], err)\n\t\t\treturn\n\t\t}\n\t\tp.cur.value, p.s = p.s[0:i+1], p.s[i+1:len(p.s)]\n\t\tp.cur.unquoted = unq\n\tdefault:\n\t\ti := 0\n\t\tfor i < len(p.s) && isIdentOrNumberChar(p.s[i]) {\n\t\t\ti++\n\t\t}\n\t\tif i == 0 {\n\t\t\tp.errorf(\"unexpected byte %#x\", p.s[0])\n\t\t\treturn\n\t\t}\n\t\tp.cur.value, p.s = p.s[0:i], p.s[i:len(p.s)]\n\t}\n\tp.offset += len(p.cur.value)\n}\n\nvar (\n\terrBadUTF8 = errors.New(\"proto: bad UTF-8\")\n)\n\nfunc unquoteC(s string, quote rune) (string, error) {\n\t// This is based on C++'s tokenizer.cc.\n\t// Despite its name, this is *not* parsing C syntax.\n\t// For instance, \"\\0\" is an invalid quoted string.\n\n\t// Avoid allocation in trivial cases.\n\tsimple := true\n\tfor _, r := range s {\n\t\tif r == '\\\\' || r == quote {\n\t\t\tsimple = false\n\t\t\tbreak\n\t\t}\n\t}\n\tif simple {\n\t\treturn s, nil\n\t}\n\n\tbuf := make([]byte, 0, 3*len(s)/2)\n\tfor len(s) > 0 {\n\t\tr, n := utf8.DecodeRuneInString(s)\n\t\tif r == utf8.RuneError && n == 1 {\n\t\t\treturn \"\", errBadUTF8\n\t\t}\n\t\ts = s[n:]\n\t\tif r != '\\\\' {\n\t\t\tif r < utf8.RuneSelf {\n\t\t\t\tbuf = append(buf, byte(r))\n\t\t\t} else {\n\t\t\t\tbuf = append(buf, string(r)...)\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\n\t\tch, tail, err := unescape(s)\n\t\tif err != nil {\n\t\t\treturn \"\", err\n\t\t}\n\t\tbuf = append(buf, ch...)\n\t\ts = tail\n\t}\n\treturn string(buf), nil\n}\n\nfunc unescape(s string) (ch string, tail string, err error) {\n\tr, n := utf8.DecodeRuneInString(s)\n\tif r == utf8.RuneError && n == 1 {\n\t\treturn \"\", \"\", errBadUTF8\n\t}\n\ts = s[n:]\n\tswitch r {\n\tcase 'a':\n\t\treturn \"\\a\", s, nil\n\tcase 'b':\n\t\treturn \"\\b\", s, nil\n\tcase 'f':\n\t\treturn \"\\f\", s, nil\n\tcase 'n':\n\t\treturn \"\\n\", s, nil\n\tcase 'r':\n\t\treturn \"\\r\", s, nil\n\tcase 't':\n\t\treturn \"\\t\", s, nil\n\tcase 'v':\n\t\treturn \"\\v\", s, nil\n\tcase '?':\n\t\treturn \"?\", s, nil // trigraph workaround\n\tcase '\\'', '\"', '\\\\':\n\t\treturn string(r), s, nil\n\tcase '0', '1', '2', '3', '4', '5', '6', '7':\n\t\tif len(s) < 2 {\n\t\t\treturn \"\", \"\", fmt.Errorf(`\\%c requires 2 following digits`, r)\n\t\t}\n\t\tss := string(r) + s[:2]\n\t\ts = s[2:]\n\t\ti, err := strconv.ParseUint(ss, 8, 8)\n\t\tif err != nil {\n\t\t\treturn \"\", \"\", fmt.Errorf(`\\%s contains non-octal digits`, ss)\n\t\t}\n\t\treturn string([]byte{byte(i)}), s, nil\n\tcase 'x', 'X', 'u', 'U':\n\t\tvar n int\n\t\tswitch r {\n\t\tcase 'x', 'X':\n\t\t\tn = 2\n\t\tcase 'u':\n\t\t\tn = 4\n\t\tcase 'U':\n\t\t\tn = 8\n\t\t}\n\t\tif len(s) < n {\n\t\t\treturn \"\", \"\", fmt.Errorf(`\\%c requires %d following digits`, r, n)\n\t\t}\n\t\tss := s[:n]\n\t\ts = s[n:]\n\t\ti, err := strconv.ParseUint(ss, 16, 64)\n\t\tif err != nil {\n\t\t\treturn \"\", \"\", fmt.Errorf(`\\%c%s contains non-hexadecimal digits`, r, ss)\n\t\t}\n\t\tif r == 'x' || r == 'X' {\n\t\t\treturn string([]byte{byte(i)}), s, nil\n\t\t}\n\t\tif i > utf8.MaxRune {\n\t\t\treturn \"\", \"\", fmt.Errorf(`\\%c%s is not a valid Unicode code point`, r, ss)\n\t\t}\n\t\treturn string(i), s, nil\n\t}\n\treturn \"\", \"\", fmt.Errorf(`unknown escape \\%c`, r)\n}\n\n// Back off the parser by one token. Can only be done between calls to next().\n// It makes the next advance() a no-op.\nfunc (p *textParser) back() { p.backed = true }\n\n// Advances the parser and returns the new current token.\nfunc (p *textParser) next() *token {\n\tif p.backed || p.done {\n\t\tp.backed = false\n\t\treturn &p.cur\n\t}\n\tp.advance()\n\tif p.done {\n\t\tp.cur.value = \"\"\n\t} else if len(p.cur.value) > 0 && isQuote(p.cur.value[0]) {\n\t\t// Look for multiple quoted strings separated by whitespace,\n\t\t// and concatenate them.\n\t\tcat := p.cur\n\t\tfor {\n\t\t\tp.skipWhitespace()\n\t\t\tif p.done || !isQuote(p.s[0]) {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tp.advance()\n\t\t\tif p.cur.err != nil {\n\t\t\t\treturn &p.cur\n\t\t\t}\n\t\t\tcat.value += \" \" + p.cur.value\n\t\t\tcat.unquoted += p.cur.unquoted\n\t\t}\n\t\tp.done = false // parser may have seen EOF, but we want to return cat\n\t\tp.cur = cat\n\t}\n\treturn &p.cur\n}\n\nfunc (p *textParser) consumeToken(s string) error {\n\ttok := p.next()\n\tif tok.err != nil {\n\t\treturn tok.err\n\t}\n\tif tok.value != s {\n\t\tp.back()\n\t\treturn p.errorf(\"expected %q, found %q\", s, tok.value)\n\t}\n\treturn nil\n}\n\n// Return a RequiredNotSetError indicating which required field was not set.\nfunc (p *textParser) missingRequiredFieldError(sv reflect.Value) *RequiredNotSetError {\n\tst := sv.Type()\n\tsprops := GetProperties(st)\n\tfor i := 0; i < st.NumField(); i++ {\n\t\tif !isNil(sv.Field(i)) {\n\t\t\tcontinue\n\t\t}\n\n\t\tprops := sprops.Prop[i]\n\t\tif props.Required {\n\t\t\treturn &RequiredNotSetError{fmt.Sprintf(\"%v.%v\", st, props.OrigName)}\n\t\t}\n\t}\n\treturn &RequiredNotSetError{fmt.Sprintf(\"%v.<unknown field name>\", st)} // should not happen\n}\n\n// Returns the index in the struct for the named field, as well as the parsed tag properties.\nfunc structFieldByName(sprops *StructProperties, name string) (int, *Properties, bool) {\n\ti, ok := sprops.decoderOrigNames[name]\n\tif ok {\n\t\treturn i, sprops.Prop[i], true\n\t}\n\treturn -1, nil, false\n}\n\n// Consume a ':' from the input stream (if the next token is a colon),\n// returning an error if a colon is needed but not present.\nfunc (p *textParser) checkForColon(props *Properties, typ reflect.Type) *ParseError {\n\ttok := p.next()\n\tif tok.err != nil {\n\t\treturn tok.err\n\t}\n\tif tok.value != \":\" {\n\t\t// Colon is optional when the field is a group or message.\n\t\tneedColon := true\n\t\tswitch props.Wire {\n\t\tcase \"group\":\n\t\t\tneedColon = false\n\t\tcase \"bytes\":\n\t\t\t// A \"bytes\" field is either a message, a string, or a repeated field;\n\t\t\t// those three become *T, *string and []T respectively, so we can check for\n\t\t\t// this field being a pointer to a non-string.\n\t\t\tif typ.Kind() == reflect.Ptr {\n\t\t\t\t// *T or *string\n\t\t\t\tif typ.Elem().Kind() == reflect.String {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t} else if typ.Kind() == reflect.Slice {\n\t\t\t\t// []T or []*T\n\t\t\t\tif typ.Elem().Kind() != reflect.Ptr {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t} else if typ.Kind() == reflect.String {\n\t\t\t\t// The proto3 exception is for a string field,\n\t\t\t\t// which requires a colon.\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tneedColon = false\n\t\t}\n\t\tif needColon {\n\t\t\treturn p.errorf(\"expected ':', found %q\", tok.value)\n\t\t}\n\t\tp.back()\n\t}\n\treturn nil\n}\n\nfunc (p *textParser) readStruct(sv reflect.Value, terminator string) error {\n\tst := sv.Type()\n\tsprops := GetProperties(st)\n\treqCount := sprops.reqCount\n\tvar reqFieldErr error\n\tfieldSet := make(map[string]bool)\n\t// A struct is a sequence of \"name: value\", terminated by one of\n\t// '>' or '}', or the end of the input.  A name may also be\n\t// \"[extension]\" or \"[type/url]\".\n\t//\n\t// The whole struct can also be an expanded Any message, like:\n\t// [type/url] < ... struct contents ... >\n\tfor {\n\t\ttok := p.next()\n\t\tif tok.err != nil {\n\t\t\treturn tok.err\n\t\t}\n\t\tif tok.value == terminator {\n\t\t\tbreak\n\t\t}\n\t\tif tok.value == \"[\" {\n\t\t\t// Looks like an extension or an Any.\n\t\t\t//\n\t\t\t// TODO: Check whether we need to handle\n\t\t\t// namespace rooted names (e.g. \".something.Foo\").\n\t\t\textName, err := p.consumeExtName()\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\n\t\t\tif s := strings.LastIndex(extName, \"/\"); s >= 0 {\n\t\t\t\t// If it contains a slash, it's an Any type URL.\n\t\t\t\tmessageName := extName[s+1:]\n\t\t\t\tmt := MessageType(messageName)\n\t\t\t\tif mt == nil {\n\t\t\t\t\treturn p.errorf(\"unrecognized message %q in google.protobuf.Any\", messageName)\n\t\t\t\t}\n\t\t\t\ttok = p.next()\n\t\t\t\tif tok.err != nil {\n\t\t\t\t\treturn tok.err\n\t\t\t\t}\n\t\t\t\t// consume an optional colon\n\t\t\t\tif tok.value == \":\" {\n\t\t\t\t\ttok = p.next()\n\t\t\t\t\tif tok.err != nil {\n\t\t\t\t\t\treturn tok.err\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvar terminator string\n\t\t\t\tswitch tok.value {\n\t\t\t\tcase \"<\":\n\t\t\t\t\tterminator = \">\"\n\t\t\t\tcase \"{\":\n\t\t\t\t\tterminator = \"}\"\n\t\t\t\tdefault:\n\t\t\t\t\treturn p.errorf(\"expected '{' or '<', found %q\", tok.value)\n\t\t\t\t}\n\t\t\t\tv := reflect.New(mt.Elem())\n\t\t\t\tif pe := p.readStruct(v.Elem(), terminator); pe != nil {\n\t\t\t\t\treturn pe\n\t\t\t\t}\n\t\t\t\tb, err := Marshal(v.Interface().(Message))\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn p.errorf(\"failed to marshal message of type %q: %v\", messageName, err)\n\t\t\t\t}\n\t\t\t\tif fieldSet[\"type_url\"] {\n\t\t\t\t\treturn p.errorf(anyRepeatedlyUnpacked, \"type_url\")\n\t\t\t\t}\n\t\t\t\tif fieldSet[\"value\"] {\n\t\t\t\t\treturn p.errorf(anyRepeatedlyUnpacked, \"value\")\n\t\t\t\t}\n\t\t\t\tsv.FieldByName(\"TypeUrl\").SetString(extName)\n\t\t\t\tsv.FieldByName(\"Value\").SetBytes(b)\n\t\t\t\tfieldSet[\"type_url\"] = true\n\t\t\t\tfieldSet[\"value\"] = true\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tvar desc *ExtensionDesc\n\t\t\t// This could be faster, but it's functional.\n\t\t\t// TODO: Do something smarter than a linear scan.\n\t\t\tfor _, d := range RegisteredExtensions(reflect.New(st).Interface().(Message)) {\n\t\t\t\tif d.Name == extName {\n\t\t\t\t\tdesc = d\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif desc == nil {\n\t\t\t\treturn p.errorf(\"unrecognized extension %q\", extName)\n\t\t\t}\n\n\t\t\tprops := &Properties{}\n\t\t\tprops.Parse(desc.Tag)\n\n\t\t\ttyp := reflect.TypeOf(desc.ExtensionType)\n\t\t\tif err := p.checkForColon(props, typ); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\n\t\t\trep := desc.repeated()\n\n\t\t\t// Read the extension structure, and set it in\n\t\t\t// the value we're constructing.\n\t\t\tvar ext reflect.Value\n\t\t\tif !rep {\n\t\t\t\text = reflect.New(typ).Elem()\n\t\t\t} else {\n\t\t\t\text = reflect.New(typ.Elem()).Elem()\n\t\t\t}\n\t\t\tif err := p.readAny(ext, props); err != nil {\n\t\t\t\tif _, ok := err.(*RequiredNotSetError); !ok {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\treqFieldErr = err\n\t\t\t}\n\t\t\tep := sv.Addr().Interface().(Message)\n\t\t\tif !rep {\n\t\t\t\tSetExtension(ep, desc, ext.Interface())\n\t\t\t} else {\n\t\t\t\told, err := GetExtension(ep, desc)\n\t\t\t\tvar sl reflect.Value\n\t\t\t\tif err == nil {\n\t\t\t\t\tsl = reflect.ValueOf(old) // existing slice\n\t\t\t\t} else {\n\t\t\t\t\tsl = reflect.MakeSlice(typ, 0, 1)\n\t\t\t\t}\n\t\t\t\tsl = reflect.Append(sl, ext)\n\t\t\t\tSetExtension(ep, desc, sl.Interface())\n\t\t\t}\n\t\t\tif err := p.consumeOptionalSeparator(); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\n\t\t// This is a normal, non-extension field.\n\t\tname := tok.value\n\t\tvar dst reflect.Value\n\t\tfi, props, ok := structFieldByName(sprops, name)\n\t\tif ok {\n\t\t\tdst = sv.Field(fi)\n\t\t} else if oop, ok := sprops.OneofTypes[name]; ok {\n\t\t\t// It is a oneof.\n\t\t\tprops = oop.Prop\n\t\t\tnv := reflect.New(oop.Type.Elem())\n\t\t\tdst = nv.Elem().Field(0)\n\t\t\tfield := sv.Field(oop.Field)\n\t\t\tif !field.IsNil() {\n\t\t\t\treturn p.errorf(\"field '%s' would overwrite already parsed oneof '%s'\", name, sv.Type().Field(oop.Field).Name)\n\t\t\t}\n\t\t\tfield.Set(nv)\n\t\t}\n\t\tif !dst.IsValid() {\n\t\t\treturn p.errorf(\"unknown field name %q in %v\", name, st)\n\t\t}\n\n\t\tif dst.Kind() == reflect.Map {\n\t\t\t// Consume any colon.\n\t\t\tif err := p.checkForColon(props, dst.Type()); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\n\t\t\t// Construct the map if it doesn't already exist.\n\t\t\tif dst.IsNil() {\n\t\t\t\tdst.Set(reflect.MakeMap(dst.Type()))\n\t\t\t}\n\t\t\tkey := reflect.New(dst.Type().Key()).Elem()\n\t\t\tval := reflect.New(dst.Type().Elem()).Elem()\n\n\t\t\t// The map entry should be this sequence of tokens:\n\t\t\t//\t< key : KEY value : VALUE >\n\t\t\t// However, implementations may omit key or value, and technically\n\t\t\t// we should support them in any order.  See b/28924776 for a time\n\t\t\t// this went wrong.\n\n\t\t\ttok := p.next()\n\t\t\tvar terminator string\n\t\t\tswitch tok.value {\n\t\t\tcase \"<\":\n\t\t\t\tterminator = \">\"\n\t\t\tcase \"{\":\n\t\t\t\tterminator = \"}\"\n\t\t\tdefault:\n\t\t\t\treturn p.errorf(\"expected '{' or '<', found %q\", tok.value)\n\t\t\t}\n\t\t\tfor {\n\t\t\t\ttok := p.next()\n\t\t\t\tif tok.err != nil {\n\t\t\t\t\treturn tok.err\n\t\t\t\t}\n\t\t\t\tif tok.value == terminator {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tswitch tok.value {\n\t\t\t\tcase \"key\":\n\t\t\t\t\tif err := p.consumeToken(\":\"); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tif err := p.readAny(key, props.mkeyprop); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tif err := p.consumeOptionalSeparator(); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\tcase \"value\":\n\t\t\t\t\tif err := p.checkForColon(props.mvalprop, dst.Type().Elem()); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tif err := p.readAny(val, props.mvalprop); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t\tif err := p.consumeOptionalSeparator(); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tp.back()\n\t\t\t\t\treturn p.errorf(`expected \"key\", \"value\", or %q, found %q`, terminator, tok.value)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tdst.SetMapIndex(key, val)\n\t\t\tcontinue\n\t\t}\n\n\t\t// Check that it's not already set if it's not a repeated field.\n\t\tif !props.Repeated && fieldSet[name] {\n\t\t\treturn p.errorf(\"non-repeated field %q was repeated\", name)\n\t\t}\n\n\t\tif err := p.checkForColon(props, dst.Type()); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\t// Parse into the field.\n\t\tfieldSet[name] = true\n\t\tif err := p.readAny(dst, props); err != nil {\n\t\t\tif _, ok := err.(*RequiredNotSetError); !ok {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\treqFieldErr = err\n\t\t}\n\t\tif props.Required {\n\t\t\treqCount--\n\t\t}\n\n\t\tif err := p.consumeOptionalSeparator(); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t}\n\n\tif reqCount > 0 {\n\t\treturn p.missingRequiredFieldError(sv)\n\t}\n\treturn reqFieldErr\n}\n\n// consumeExtName consumes extension name or expanded Any type URL and the\n// following ']'. It returns the name or URL consumed.\nfunc (p *textParser) consumeExtName() (string, error) {\n\ttok := p.next()\n\tif tok.err != nil {\n\t\treturn \"\", tok.err\n\t}\n\n\t// If extension name or type url is quoted, it's a single token.\n\tif len(tok.value) > 2 && isQuote(tok.value[0]) && tok.value[len(tok.value)-1] == tok.value[0] {\n\t\tname, err := unquoteC(tok.value[1:len(tok.value)-1], rune(tok.value[0]))\n\t\tif err != nil {\n\t\t\treturn \"\", err\n\t\t}\n\t\treturn name, p.consumeToken(\"]\")\n\t}\n\n\t// Consume everything up to \"]\"\n\tvar parts []string\n\tfor tok.value != \"]\" {\n\t\tparts = append(parts, tok.value)\n\t\ttok = p.next()\n\t\tif tok.err != nil {\n\t\t\treturn \"\", p.errorf(\"unrecognized type_url or extension name: %s\", tok.err)\n\t\t}\n\t\tif p.done && tok.value != \"]\" {\n\t\t\treturn \"\", p.errorf(\"unclosed type_url or extension name\")\n\t\t}\n\t}\n\treturn strings.Join(parts, \"\"), nil\n}\n\n// consumeOptionalSeparator consumes an optional semicolon or comma.\n// It is used in readStruct to provide backward compatibility.\nfunc (p *textParser) consumeOptionalSeparator() error {\n\ttok := p.next()\n\tif tok.err != nil {\n\t\treturn tok.err\n\t}\n\tif tok.value != \";\" && tok.value != \",\" {\n\t\tp.back()\n\t}\n\treturn nil\n}\n\nfunc (p *textParser) readAny(v reflect.Value, props *Properties) error {\n\ttok := p.next()\n\tif tok.err != nil {\n\t\treturn tok.err\n\t}\n\tif tok.value == \"\" {\n\t\treturn p.errorf(\"unexpected EOF\")\n\t}\n\n\tswitch fv := v; fv.Kind() {\n\tcase reflect.Slice:\n\t\tat := v.Type()\n\t\tif at.Elem().Kind() == reflect.Uint8 {\n\t\t\t// Special case for []byte\n\t\t\tif tok.value[0] != '\"' && tok.value[0] != '\\'' {\n\t\t\t\t// Deliberately written out here, as the error after\n\t\t\t\t// this switch statement would write \"invalid []byte: ...\",\n\t\t\t\t// which is not as user-friendly.\n\t\t\t\treturn p.errorf(\"invalid string: %v\", tok.value)\n\t\t\t}\n\t\t\tbytes := []byte(tok.unquoted)\n\t\t\tfv.Set(reflect.ValueOf(bytes))\n\t\t\treturn nil\n\t\t}\n\t\t// Repeated field.\n\t\tif tok.value == \"[\" {\n\t\t\t// Repeated field with list notation, like [1,2,3].\n\t\t\tfor {\n\t\t\t\tfv.Set(reflect.Append(fv, reflect.New(at.Elem()).Elem()))\n\t\t\t\terr := p.readAny(fv.Index(fv.Len()-1), props)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\ttok := p.next()\n\t\t\t\tif tok.err != nil {\n\t\t\t\t\treturn tok.err\n\t\t\t\t}\n\t\t\t\tif tok.value == \"]\" {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tif tok.value != \",\" {\n\t\t\t\t\treturn p.errorf(\"Expected ']' or ',' found %q\", tok.value)\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn nil\n\t\t}\n\t\t// One value of the repeated field.\n\t\tp.back()\n\t\tfv.Set(reflect.Append(fv, reflect.New(at.Elem()).Elem()))\n\t\treturn p.readAny(fv.Index(fv.Len()-1), props)\n\tcase reflect.Bool:\n\t\t// true/1/t/True or false/f/0/False.\n\t\tswitch tok.value {\n\t\tcase \"true\", \"1\", \"t\", \"True\":\n\t\t\tfv.SetBool(true)\n\t\t\treturn nil\n\t\tcase \"false\", \"0\", \"f\", \"False\":\n\t\t\tfv.SetBool(false)\n\t\t\treturn nil\n\t\t}\n\tcase reflect.Float32, reflect.Float64:\n\t\tv := tok.value\n\t\t// Ignore 'f' for compatibility with output generated by C++, but don't\n\t\t// remove 'f' when the value is \"-inf\" or \"inf\".\n\t\tif strings.HasSuffix(v, \"f\") && tok.value != \"-inf\" && tok.value != \"inf\" {\n\t\t\tv = v[:len(v)-1]\n\t\t}\n\t\tif f, err := strconv.ParseFloat(v, fv.Type().Bits()); err == nil {\n\t\t\tfv.SetFloat(f)\n\t\t\treturn nil\n\t\t}\n\tcase reflect.Int32:\n\t\tif x, err := strconv.ParseInt(tok.value, 0, 32); err == nil {\n\t\t\tfv.SetInt(x)\n\t\t\treturn nil\n\t\t}\n\n\t\tif len(props.Enum) == 0 {\n\t\t\tbreak\n\t\t}\n\t\tm, ok := enumValueMaps[props.Enum]\n\t\tif !ok {\n\t\t\tbreak\n\t\t}\n\t\tx, ok := m[tok.value]\n\t\tif !ok {\n\t\t\tbreak\n\t\t}\n\t\tfv.SetInt(int64(x))\n\t\treturn nil\n\tcase reflect.Int64:\n\t\tif x, err := strconv.ParseInt(tok.value, 0, 64); err == nil {\n\t\t\tfv.SetInt(x)\n\t\t\treturn nil\n\t\t}\n\n\tcase reflect.Ptr:\n\t\t// A basic field (indirected through pointer), or a repeated message/group\n\t\tp.back()\n\t\tfv.Set(reflect.New(fv.Type().Elem()))\n\t\treturn p.readAny(fv.Elem(), props)\n\tcase reflect.String:\n\t\tif tok.value[0] == '\"' || tok.value[0] == '\\'' {\n\t\t\tfv.SetString(tok.unquoted)\n\t\t\treturn nil\n\t\t}\n\tcase reflect.Struct:\n\t\tvar terminator string\n\t\tswitch tok.value {\n\t\tcase \"{\":\n\t\t\tterminator = \"}\"\n\t\tcase \"<\":\n\t\t\tterminator = \">\"\n\t\tdefault:\n\t\t\treturn p.errorf(\"expected '{' or '<', found %q\", tok.value)\n\t\t}\n\t\t// TODO: Handle nested messages which implement encoding.TextUnmarshaler.\n\t\treturn p.readStruct(fv, terminator)\n\tcase reflect.Uint32:\n\t\tif x, err := strconv.ParseUint(tok.value, 0, 32); err == nil {\n\t\t\tfv.SetUint(uint64(x))\n\t\t\treturn nil\n\t\t}\n\tcase reflect.Uint64:\n\t\tif x, err := strconv.ParseUint(tok.value, 0, 64); err == nil {\n\t\t\tfv.SetUint(x)\n\t\t\treturn nil\n\t\t}\n\t}\n\treturn p.errorf(\"invalid %v: %v\", v.Type(), tok.value)\n}\n\n// UnmarshalText reads a protocol buffer in Text format. UnmarshalText resets pb\n// before starting to unmarshal, so any existing data in pb is always removed.\n// If a required field is not set and no other error occurs,\n// UnmarshalText returns *RequiredNotSetError.\nfunc UnmarshalText(s string, pb Message) error {\n\tif um, ok := pb.(encoding.TextUnmarshaler); ok {\n\t\treturn um.UnmarshalText([]byte(s))\n\t}\n\tpb.Reset()\n\tv := reflect.ValueOf(pb)\n\treturn newTextParser(s).readStruct(v.Elem(), \"\")\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/ptypes/any/any.pb.go",
    "content": "// Code generated by protoc-gen-go. DO NOT EDIT.\n// source: google/protobuf/any.proto\n\npackage any // import \"github.com/golang/protobuf/ptypes/any\"\n\nimport proto \"github.com/golang/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\n// This is a compile-time assertion to ensure that this generated file\n// is compatible with the proto package it is being compiled against.\n// A compilation error at this line likely means your copy of the\n// proto package needs to be updated.\nconst _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package\n\n// `Any` contains an arbitrary serialized protocol buffer message along with a\n// URL that describes the type of the serialized message.\n//\n// Protobuf library provides support to pack/unpack Any values in the form\n// of utility functions or additional generated methods of the Any type.\n//\n// Example 1: Pack and unpack a message in C++.\n//\n//     Foo foo = ...;\n//     Any any;\n//     any.PackFrom(foo);\n//     ...\n//     if (any.UnpackTo(&foo)) {\n//       ...\n//     }\n//\n// Example 2: Pack and unpack a message in Java.\n//\n//     Foo foo = ...;\n//     Any any = Any.pack(foo);\n//     ...\n//     if (any.is(Foo.class)) {\n//       foo = any.unpack(Foo.class);\n//     }\n//\n//  Example 3: Pack and unpack a message in Python.\n//\n//     foo = Foo(...)\n//     any = Any()\n//     any.Pack(foo)\n//     ...\n//     if any.Is(Foo.DESCRIPTOR):\n//       any.Unpack(foo)\n//       ...\n//\n//  Example 4: Pack and unpack a message in Go\n//\n//      foo := &pb.Foo{...}\n//      any, err := ptypes.MarshalAny(foo)\n//      ...\n//      foo := &pb.Foo{}\n//      if err := ptypes.UnmarshalAny(any, foo); err != nil {\n//        ...\n//      }\n//\n// The pack methods provided by protobuf library will by default use\n// 'type.googleapis.com/full.type.name' as the type URL and the unpack\n// methods only use the fully qualified type name after the last '/'\n// in the type URL, for example \"foo.bar.com/x/y.z\" will yield type\n// name \"y.z\".\n//\n//\n// JSON\n// ====\n// The JSON representation of an `Any` value uses the regular\n// representation of the deserialized, embedded message, with an\n// additional field `@type` which contains the type URL. Example:\n//\n//     package google.profile;\n//     message Person {\n//       string first_name = 1;\n//       string last_name = 2;\n//     }\n//\n//     {\n//       \"@type\": \"type.googleapis.com/google.profile.Person\",\n//       \"firstName\": <string>,\n//       \"lastName\": <string>\n//     }\n//\n// If the embedded message type is well-known and has a custom JSON\n// representation, that representation will be embedded adding a field\n// `value` which holds the custom JSON in addition to the `@type`\n// field. Example (for message [google.protobuf.Duration][]):\n//\n//     {\n//       \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n//       \"value\": \"1.212s\"\n//     }\n//\ntype Any struct {\n\t// A URL/resource name whose content describes the type of the\n\t// serialized protocol buffer message.\n\t//\n\t// For URLs which use the scheme `http`, `https`, or no scheme, the\n\t// following restrictions and interpretations apply:\n\t//\n\t// * If no scheme is provided, `https` is assumed.\n\t// * The last segment of the URL's path must represent the fully\n\t//   qualified name of the type (as in `path/google.protobuf.Duration`).\n\t//   The name should be in a canonical form (e.g., leading \".\" is\n\t//   not accepted).\n\t// * An HTTP GET on the URL must yield a [google.protobuf.Type][]\n\t//   value in binary format, or produce an error.\n\t// * Applications are allowed to cache lookup results based on the\n\t//   URL, or have them precompiled into a binary to avoid any\n\t//   lookup. Therefore, binary compatibility needs to be preserved\n\t//   on changes to types. (Use versioned type names to manage\n\t//   breaking changes.)\n\t//\n\t// Schemes other than `http`, `https` (or the empty scheme) might be\n\t// used with implementation specific semantics.\n\t//\n\tTypeUrl string `protobuf:\"bytes,1,opt,name=type_url,json=typeUrl\" json:\"type_url,omitempty\"`\n\t// Must be a valid serialized protocol buffer of the above specified type.\n\tValue                []byte   `protobuf:\"bytes,2,opt,name=value,proto3\" json:\"value,omitempty\"`\n\tXXX_NoUnkeyedLiteral struct{} `json:\"-\"`\n\tXXX_unrecognized     []byte   `json:\"-\"`\n\tXXX_sizecache        int32    `json:\"-\"`\n}\n\nfunc (m *Any) Reset()         { *m = Any{} }\nfunc (m *Any) String() string { return proto.CompactTextString(m) }\nfunc (*Any) ProtoMessage()    {}\nfunc (*Any) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor_any_744b9ca530f228db, []int{0}\n}\nfunc (*Any) XXX_WellKnownType() string { return \"Any\" }\nfunc (m *Any) XXX_Unmarshal(b []byte) error {\n\treturn xxx_messageInfo_Any.Unmarshal(m, b)\n}\nfunc (m *Any) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {\n\treturn xxx_messageInfo_Any.Marshal(b, m, deterministic)\n}\nfunc (dst *Any) XXX_Merge(src proto.Message) {\n\txxx_messageInfo_Any.Merge(dst, src)\n}\nfunc (m *Any) XXX_Size() int {\n\treturn xxx_messageInfo_Any.Size(m)\n}\nfunc (m *Any) XXX_DiscardUnknown() {\n\txxx_messageInfo_Any.DiscardUnknown(m)\n}\n\nvar xxx_messageInfo_Any proto.InternalMessageInfo\n\nfunc (m *Any) GetTypeUrl() string {\n\tif m != nil {\n\t\treturn m.TypeUrl\n\t}\n\treturn \"\"\n}\n\nfunc (m *Any) GetValue() []byte {\n\tif m != nil {\n\t\treturn m.Value\n\t}\n\treturn nil\n}\n\nfunc init() {\n\tproto.RegisterType((*Any)(nil), \"google.protobuf.Any\")\n}\n\nfunc init() { proto.RegisterFile(\"google/protobuf/any.proto\", fileDescriptor_any_744b9ca530f228db) }\n\nvar fileDescriptor_any_744b9ca530f228db = []byte{\n\t// 185 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4c, 0xcf, 0xcf, 0x4f,\n\t0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0xcc, 0xab, 0xd4,\n\t0x03, 0x73, 0x84, 0xf8, 0x21, 0x52, 0x7a, 0x30, 0x29, 0x25, 0x33, 0x2e, 0x66, 0xc7, 0xbc, 0x4a,\n\t0x21, 0x49, 0x2e, 0x8e, 0x92, 0xca, 0x82, 0xd4, 0xf8, 0xd2, 0xa2, 0x1c, 0x09, 0x46, 0x05, 0x46,\n\t0x0d, 0xce, 0x20, 0x76, 0x10, 0x3f, 0xb4, 0x28, 0x47, 0x48, 0x84, 0x8b, 0xb5, 0x2c, 0x31, 0xa7,\n\t0x34, 0x55, 0x82, 0x49, 0x81, 0x51, 0x83, 0x27, 0x08, 0xc2, 0x71, 0xca, 0xe7, 0x12, 0x4e, 0xce,\n\t0xcf, 0xd5, 0x43, 0x33, 0xce, 0x89, 0xc3, 0x31, 0xaf, 0x32, 0x00, 0xc4, 0x09, 0x60, 0x8c, 0x52,\n\t0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, 0xcf, 0x49, 0xcc,\n\t0x4b, 0x47, 0xb8, 0xa8, 0x00, 0x64, 0x7a, 0x31, 0xc8, 0x61, 0x8b, 0x98, 0x98, 0xdd, 0x03, 0x9c,\n\t0x56, 0x31, 0xc9, 0xb9, 0x43, 0x8c, 0x0a, 0x80, 0x2a, 0xd1, 0x0b, 0x4f, 0xcd, 0xc9, 0xf1, 0xce,\n\t0xcb, 0x2f, 0xcf, 0x0b, 0x01, 0x29, 0x4d, 0x62, 0x03, 0xeb, 0x35, 0x06, 0x04, 0x00, 0x00, 0xff,\n\t0xff, 0x13, 0xf8, 0xe8, 0x42, 0xdd, 0x00, 0x00, 0x00,\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/ptypes/any/any.proto",
    "content": "// Protocol Buffers - Google's data interchange format\n// Copyright 2008 Google Inc.  All rights reserved.\n// https://developers.google.com/protocol-buffers/\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\nsyntax = \"proto3\";\n\npackage google.protobuf;\n\noption csharp_namespace = \"Google.Protobuf.WellKnownTypes\";\noption go_package = \"github.com/golang/protobuf/ptypes/any\";\noption java_package = \"com.google.protobuf\";\noption java_outer_classname = \"AnyProto\";\noption java_multiple_files = true;\noption objc_class_prefix = \"GPB\";\n\n// `Any` contains an arbitrary serialized protocol buffer message along with a\n// URL that describes the type of the serialized message.\n//\n// Protobuf library provides support to pack/unpack Any values in the form\n// of utility functions or additional generated methods of the Any type.\n//\n// Example 1: Pack and unpack a message in C++.\n//\n//     Foo foo = ...;\n//     Any any;\n//     any.PackFrom(foo);\n//     ...\n//     if (any.UnpackTo(&foo)) {\n//       ...\n//     }\n//\n// Example 2: Pack and unpack a message in Java.\n//\n//     Foo foo = ...;\n//     Any any = Any.pack(foo);\n//     ...\n//     if (any.is(Foo.class)) {\n//       foo = any.unpack(Foo.class);\n//     }\n//\n//  Example 3: Pack and unpack a message in Python.\n//\n//     foo = Foo(...)\n//     any = Any()\n//     any.Pack(foo)\n//     ...\n//     if any.Is(Foo.DESCRIPTOR):\n//       any.Unpack(foo)\n//       ...\n//\n//  Example 4: Pack and unpack a message in Go\n//\n//      foo := &pb.Foo{...}\n//      any, err := ptypes.MarshalAny(foo)\n//      ...\n//      foo := &pb.Foo{}\n//      if err := ptypes.UnmarshalAny(any, foo); err != nil {\n//        ...\n//      }\n//\n// The pack methods provided by protobuf library will by default use\n// 'type.googleapis.com/full.type.name' as the type URL and the unpack\n// methods only use the fully qualified type name after the last '/'\n// in the type URL, for example \"foo.bar.com/x/y.z\" will yield type\n// name \"y.z\".\n//\n//\n// JSON\n// ====\n// The JSON representation of an `Any` value uses the regular\n// representation of the deserialized, embedded message, with an\n// additional field `@type` which contains the type URL. Example:\n//\n//     package google.profile;\n//     message Person {\n//       string first_name = 1;\n//       string last_name = 2;\n//     }\n//\n//     {\n//       \"@type\": \"type.googleapis.com/google.profile.Person\",\n//       \"firstName\": <string>,\n//       \"lastName\": <string>\n//     }\n//\n// If the embedded message type is well-known and has a custom JSON\n// representation, that representation will be embedded adding a field\n// `value` which holds the custom JSON in addition to the `@type`\n// field. Example (for message [google.protobuf.Duration][]):\n//\n//     {\n//       \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n//       \"value\": \"1.212s\"\n//     }\n//\nmessage Any {\n  // A URL/resource name whose content describes the type of the\n  // serialized protocol buffer message.\n  //\n  // For URLs which use the scheme `http`, `https`, or no scheme, the\n  // following restrictions and interpretations apply:\n  //\n  // * If no scheme is provided, `https` is assumed.\n  // * The last segment of the URL's path must represent the fully\n  //   qualified name of the type (as in `path/google.protobuf.Duration`).\n  //   The name should be in a canonical form (e.g., leading \".\" is\n  //   not accepted).\n  // * An HTTP GET on the URL must yield a [google.protobuf.Type][]\n  //   value in binary format, or produce an error.\n  // * Applications are allowed to cache lookup results based on the\n  //   URL, or have them precompiled into a binary to avoid any\n  //   lookup. Therefore, binary compatibility needs to be preserved\n  //   on changes to types. (Use versioned type names to manage\n  //   breaking changes.)\n  //\n  // Schemes other than `http`, `https` (or the empty scheme) might be\n  // used with implementation specific semantics.\n  //\n  string type_url = 1;\n\n  // Must be a valid serialized protocol buffer of the above specified type.\n  bytes value = 2;\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/ptypes/any.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2016 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage ptypes\n\n// This file implements functions to marshal proto.Message to/from\n// google.protobuf.Any message.\n\nimport (\n\t\"fmt\"\n\t\"reflect\"\n\t\"strings\"\n\n\t\"github.com/golang/protobuf/proto\"\n\t\"github.com/golang/protobuf/ptypes/any\"\n)\n\nconst googleApis = \"type.googleapis.com/\"\n\n// AnyMessageName returns the name of the message contained in a google.protobuf.Any message.\n//\n// Note that regular type assertions should be done using the Is\n// function. AnyMessageName is provided for less common use cases like filtering a\n// sequence of Any messages based on a set of allowed message type names.\nfunc AnyMessageName(any *any.Any) (string, error) {\n\tif any == nil {\n\t\treturn \"\", fmt.Errorf(\"message is nil\")\n\t}\n\tslash := strings.LastIndex(any.TypeUrl, \"/\")\n\tif slash < 0 {\n\t\treturn \"\", fmt.Errorf(\"message type url %q is invalid\", any.TypeUrl)\n\t}\n\treturn any.TypeUrl[slash+1:], nil\n}\n\n// MarshalAny takes the protocol buffer and encodes it into google.protobuf.Any.\nfunc MarshalAny(pb proto.Message) (*any.Any, error) {\n\tvalue, err := proto.Marshal(pb)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn &any.Any{TypeUrl: googleApis + proto.MessageName(pb), Value: value}, nil\n}\n\n// DynamicAny is a value that can be passed to UnmarshalAny to automatically\n// allocate a proto.Message for the type specified in a google.protobuf.Any\n// message. The allocated message is stored in the embedded proto.Message.\n//\n// Example:\n//\n//   var x ptypes.DynamicAny\n//   if err := ptypes.UnmarshalAny(a, &x); err != nil { ... }\n//   fmt.Printf(\"unmarshaled message: %v\", x.Message)\ntype DynamicAny struct {\n\tproto.Message\n}\n\n// Empty returns a new proto.Message of the type specified in a\n// google.protobuf.Any message. It returns an error if corresponding message\n// type isn't linked in.\nfunc Empty(any *any.Any) (proto.Message, error) {\n\taname, err := AnyMessageName(any)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tt := proto.MessageType(aname)\n\tif t == nil {\n\t\treturn nil, fmt.Errorf(\"any: message type %q isn't linked in\", aname)\n\t}\n\treturn reflect.New(t.Elem()).Interface().(proto.Message), nil\n}\n\n// UnmarshalAny parses the protocol buffer representation in a google.protobuf.Any\n// message and places the decoded result in pb. It returns an error if type of\n// contents of Any message does not match type of pb message.\n//\n// pb can be a proto.Message, or a *DynamicAny.\nfunc UnmarshalAny(any *any.Any, pb proto.Message) error {\n\tif d, ok := pb.(*DynamicAny); ok {\n\t\tif d.Message == nil {\n\t\t\tvar err error\n\t\t\td.Message, err = Empty(any)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t\treturn UnmarshalAny(any, d.Message)\n\t}\n\n\taname, err := AnyMessageName(any)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tmname := proto.MessageName(pb)\n\tif aname != mname {\n\t\treturn fmt.Errorf(\"mismatched message type: got %q want %q\", aname, mname)\n\t}\n\treturn proto.Unmarshal(any.Value, pb)\n}\n\n// Is returns true if any value contains a given message type.\nfunc Is(any *any.Any, pb proto.Message) bool {\n\taname, err := AnyMessageName(any)\n\tif err != nil {\n\t\treturn false\n\t}\n\n\treturn aname == proto.MessageName(pb)\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/ptypes/doc.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2016 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n/*\nPackage ptypes contains code for interacting with well-known types.\n*/\npackage ptypes\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/ptypes/duration/duration.pb.go",
    "content": "// Code generated by protoc-gen-go. DO NOT EDIT.\n// source: google/protobuf/duration.proto\n\npackage duration // import \"github.com/golang/protobuf/ptypes/duration\"\n\nimport proto \"github.com/golang/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\n// This is a compile-time assertion to ensure that this generated file\n// is compatible with the proto package it is being compiled against.\n// A compilation error at this line likely means your copy of the\n// proto package needs to be updated.\nconst _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package\n\n// A Duration represents a signed, fixed-length span of time represented\n// as a count of seconds and fractions of seconds at nanosecond\n// resolution. It is independent of any calendar and concepts like \"day\"\n// or \"month\". It is related to Timestamp in that the difference between\n// two Timestamp values is a Duration and it can be added or subtracted\n// from a Timestamp. Range is approximately +-10,000 years.\n//\n// # Examples\n//\n// Example 1: Compute Duration from two Timestamps in pseudo code.\n//\n//     Timestamp start = ...;\n//     Timestamp end = ...;\n//     Duration duration = ...;\n//\n//     duration.seconds = end.seconds - start.seconds;\n//     duration.nanos = end.nanos - start.nanos;\n//\n//     if (duration.seconds < 0 && duration.nanos > 0) {\n//       duration.seconds += 1;\n//       duration.nanos -= 1000000000;\n//     } else if (durations.seconds > 0 && duration.nanos < 0) {\n//       duration.seconds -= 1;\n//       duration.nanos += 1000000000;\n//     }\n//\n// Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.\n//\n//     Timestamp start = ...;\n//     Duration duration = ...;\n//     Timestamp end = ...;\n//\n//     end.seconds = start.seconds + duration.seconds;\n//     end.nanos = start.nanos + duration.nanos;\n//\n//     if (end.nanos < 0) {\n//       end.seconds -= 1;\n//       end.nanos += 1000000000;\n//     } else if (end.nanos >= 1000000000) {\n//       end.seconds += 1;\n//       end.nanos -= 1000000000;\n//     }\n//\n// Example 3: Compute Duration from datetime.timedelta in Python.\n//\n//     td = datetime.timedelta(days=3, minutes=10)\n//     duration = Duration()\n//     duration.FromTimedelta(td)\n//\n// # JSON Mapping\n//\n// In JSON format, the Duration type is encoded as a string rather than an\n// object, where the string ends in the suffix \"s\" (indicating seconds) and\n// is preceded by the number of seconds, with nanoseconds expressed as\n// fractional seconds. For example, 3 seconds with 0 nanoseconds should be\n// encoded in JSON format as \"3s\", while 3 seconds and 1 nanosecond should\n// be expressed in JSON format as \"3.000000001s\", and 3 seconds and 1\n// microsecond should be expressed in JSON format as \"3.000001s\".\n//\n//\ntype Duration struct {\n\t// Signed seconds of the span of time. Must be from -315,576,000,000\n\t// to +315,576,000,000 inclusive. Note: these bounds are computed from:\n\t// 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years\n\tSeconds int64 `protobuf:\"varint,1,opt,name=seconds\" json:\"seconds,omitempty\"`\n\t// Signed fractions of a second at nanosecond resolution of the span\n\t// of time. Durations less than one second are represented with a 0\n\t// `seconds` field and a positive or negative `nanos` field. For durations\n\t// of one second or more, a non-zero value for the `nanos` field must be\n\t// of the same sign as the `seconds` field. Must be from -999,999,999\n\t// to +999,999,999 inclusive.\n\tNanos                int32    `protobuf:\"varint,2,opt,name=nanos\" json:\"nanos,omitempty\"`\n\tXXX_NoUnkeyedLiteral struct{} `json:\"-\"`\n\tXXX_unrecognized     []byte   `json:\"-\"`\n\tXXX_sizecache        int32    `json:\"-\"`\n}\n\nfunc (m *Duration) Reset()         { *m = Duration{} }\nfunc (m *Duration) String() string { return proto.CompactTextString(m) }\nfunc (*Duration) ProtoMessage()    {}\nfunc (*Duration) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor_duration_e7d612259e3f0613, []int{0}\n}\nfunc (*Duration) XXX_WellKnownType() string { return \"Duration\" }\nfunc (m *Duration) XXX_Unmarshal(b []byte) error {\n\treturn xxx_messageInfo_Duration.Unmarshal(m, b)\n}\nfunc (m *Duration) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {\n\treturn xxx_messageInfo_Duration.Marshal(b, m, deterministic)\n}\nfunc (dst *Duration) XXX_Merge(src proto.Message) {\n\txxx_messageInfo_Duration.Merge(dst, src)\n}\nfunc (m *Duration) XXX_Size() int {\n\treturn xxx_messageInfo_Duration.Size(m)\n}\nfunc (m *Duration) XXX_DiscardUnknown() {\n\txxx_messageInfo_Duration.DiscardUnknown(m)\n}\n\nvar xxx_messageInfo_Duration proto.InternalMessageInfo\n\nfunc (m *Duration) GetSeconds() int64 {\n\tif m != nil {\n\t\treturn m.Seconds\n\t}\n\treturn 0\n}\n\nfunc (m *Duration) GetNanos() int32 {\n\tif m != nil {\n\t\treturn m.Nanos\n\t}\n\treturn 0\n}\n\nfunc init() {\n\tproto.RegisterType((*Duration)(nil), \"google.protobuf.Duration\")\n}\n\nfunc init() {\n\tproto.RegisterFile(\"google/protobuf/duration.proto\", fileDescriptor_duration_e7d612259e3f0613)\n}\n\nvar fileDescriptor_duration_e7d612259e3f0613 = []byte{\n\t// 190 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4b, 0xcf, 0xcf, 0x4f,\n\t0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0x29, 0x2d, 0x4a,\n\t0x2c, 0xc9, 0xcc, 0xcf, 0xd3, 0x03, 0x8b, 0x08, 0xf1, 0x43, 0xe4, 0xf5, 0x60, 0xf2, 0x4a, 0x56,\n\t0x5c, 0x1c, 0x2e, 0x50, 0x25, 0x42, 0x12, 0x5c, 0xec, 0xc5, 0xa9, 0xc9, 0xf9, 0x79, 0x29, 0xc5,\n\t0x12, 0x8c, 0x0a, 0x8c, 0x1a, 0xcc, 0x41, 0x30, 0xae, 0x90, 0x08, 0x17, 0x6b, 0x5e, 0x62, 0x5e,\n\t0x7e, 0xb1, 0x04, 0x93, 0x02, 0xa3, 0x06, 0x6b, 0x10, 0x84, 0xe3, 0x54, 0xc3, 0x25, 0x9c, 0x9c,\n\t0x9f, 0xab, 0x87, 0x66, 0xa4, 0x13, 0x2f, 0xcc, 0xc0, 0x00, 0x90, 0x48, 0x00, 0x63, 0x94, 0x56,\n\t0x7a, 0x66, 0x49, 0x46, 0x69, 0x92, 0x5e, 0x72, 0x7e, 0xae, 0x7e, 0x7a, 0x7e, 0x4e, 0x62, 0x5e,\n\t0x3a, 0xc2, 0x7d, 0x05, 0x25, 0x95, 0x05, 0xa9, 0xc5, 0x70, 0x67, 0xfe, 0x60, 0x64, 0x5c, 0xc4,\n\t0xc4, 0xec, 0x1e, 0xe0, 0xb4, 0x8a, 0x49, 0xce, 0x1d, 0x62, 0x6e, 0x00, 0x54, 0xa9, 0x5e, 0x78,\n\t0x6a, 0x4e, 0x8e, 0x77, 0x5e, 0x7e, 0x79, 0x5e, 0x08, 0x48, 0x4b, 0x12, 0x1b, 0xd8, 0x0c, 0x63,\n\t0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0xdc, 0x84, 0x30, 0xff, 0xf3, 0x00, 0x00, 0x00,\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/ptypes/duration/duration.proto",
    "content": "// Protocol Buffers - Google's data interchange format\n// Copyright 2008 Google Inc.  All rights reserved.\n// https://developers.google.com/protocol-buffers/\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\nsyntax = \"proto3\";\n\npackage google.protobuf;\n\noption csharp_namespace = \"Google.Protobuf.WellKnownTypes\";\noption cc_enable_arenas = true;\noption go_package = \"github.com/golang/protobuf/ptypes/duration\";\noption java_package = \"com.google.protobuf\";\noption java_outer_classname = \"DurationProto\";\noption java_multiple_files = true;\noption objc_class_prefix = \"GPB\";\n\n// A Duration represents a signed, fixed-length span of time represented\n// as a count of seconds and fractions of seconds at nanosecond\n// resolution. It is independent of any calendar and concepts like \"day\"\n// or \"month\". It is related to Timestamp in that the difference between\n// two Timestamp values is a Duration and it can be added or subtracted\n// from a Timestamp. Range is approximately +-10,000 years.\n//\n// # Examples\n//\n// Example 1: Compute Duration from two Timestamps in pseudo code.\n//\n//     Timestamp start = ...;\n//     Timestamp end = ...;\n//     Duration duration = ...;\n//\n//     duration.seconds = end.seconds - start.seconds;\n//     duration.nanos = end.nanos - start.nanos;\n//\n//     if (duration.seconds < 0 && duration.nanos > 0) {\n//       duration.seconds += 1;\n//       duration.nanos -= 1000000000;\n//     } else if (durations.seconds > 0 && duration.nanos < 0) {\n//       duration.seconds -= 1;\n//       duration.nanos += 1000000000;\n//     }\n//\n// Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.\n//\n//     Timestamp start = ...;\n//     Duration duration = ...;\n//     Timestamp end = ...;\n//\n//     end.seconds = start.seconds + duration.seconds;\n//     end.nanos = start.nanos + duration.nanos;\n//\n//     if (end.nanos < 0) {\n//       end.seconds -= 1;\n//       end.nanos += 1000000000;\n//     } else if (end.nanos >= 1000000000) {\n//       end.seconds += 1;\n//       end.nanos -= 1000000000;\n//     }\n//\n// Example 3: Compute Duration from datetime.timedelta in Python.\n//\n//     td = datetime.timedelta(days=3, minutes=10)\n//     duration = Duration()\n//     duration.FromTimedelta(td)\n//\n// # JSON Mapping\n//\n// In JSON format, the Duration type is encoded as a string rather than an\n// object, where the string ends in the suffix \"s\" (indicating seconds) and\n// is preceded by the number of seconds, with nanoseconds expressed as\n// fractional seconds. For example, 3 seconds with 0 nanoseconds should be\n// encoded in JSON format as \"3s\", while 3 seconds and 1 nanosecond should\n// be expressed in JSON format as \"3.000000001s\", and 3 seconds and 1\n// microsecond should be expressed in JSON format as \"3.000001s\".\n//\n//\nmessage Duration {\n\n  // Signed seconds of the span of time. Must be from -315,576,000,000\n  // to +315,576,000,000 inclusive. Note: these bounds are computed from:\n  // 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years\n  int64 seconds = 1;\n\n  // Signed fractions of a second at nanosecond resolution of the span\n  // of time. Durations less than one second are represented with a 0\n  // `seconds` field and a positive or negative `nanos` field. For durations\n  // of one second or more, a non-zero value for the `nanos` field must be\n  // of the same sign as the `seconds` field. Must be from -999,999,999\n  // to +999,999,999 inclusive.\n  int32 nanos = 2;\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/ptypes/duration.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2016 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage ptypes\n\n// This file implements conversions between google.protobuf.Duration\n// and time.Duration.\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"time\"\n\n\tdurpb \"github.com/golang/protobuf/ptypes/duration\"\n)\n\nconst (\n\t// Range of a durpb.Duration in seconds, as specified in\n\t// google/protobuf/duration.proto. This is about 10,000 years in seconds.\n\tmaxSeconds = int64(10000 * 365.25 * 24 * 60 * 60)\n\tminSeconds = -maxSeconds\n)\n\n// validateDuration determines whether the durpb.Duration is valid according to the\n// definition in google/protobuf/duration.proto. A valid durpb.Duration\n// may still be too large to fit into a time.Duration (the range of durpb.Duration\n// is about 10,000 years, and the range of time.Duration is about 290).\nfunc validateDuration(d *durpb.Duration) error {\n\tif d == nil {\n\t\treturn errors.New(\"duration: nil Duration\")\n\t}\n\tif d.Seconds < minSeconds || d.Seconds > maxSeconds {\n\t\treturn fmt.Errorf(\"duration: %v: seconds out of range\", d)\n\t}\n\tif d.Nanos <= -1e9 || d.Nanos >= 1e9 {\n\t\treturn fmt.Errorf(\"duration: %v: nanos out of range\", d)\n\t}\n\t// Seconds and Nanos must have the same sign, unless d.Nanos is zero.\n\tif (d.Seconds < 0 && d.Nanos > 0) || (d.Seconds > 0 && d.Nanos < 0) {\n\t\treturn fmt.Errorf(\"duration: %v: seconds and nanos have different signs\", d)\n\t}\n\treturn nil\n}\n\n// Duration converts a durpb.Duration to a time.Duration. Duration\n// returns an error if the durpb.Duration is invalid or is too large to be\n// represented in a time.Duration.\nfunc Duration(p *durpb.Duration) (time.Duration, error) {\n\tif err := validateDuration(p); err != nil {\n\t\treturn 0, err\n\t}\n\td := time.Duration(p.Seconds) * time.Second\n\tif int64(d/time.Second) != p.Seconds {\n\t\treturn 0, fmt.Errorf(\"duration: %v is out of range for time.Duration\", p)\n\t}\n\tif p.Nanos != 0 {\n\t\td += time.Duration(p.Nanos)\n\t\tif (d < 0) != (p.Nanos < 0) {\n\t\t\treturn 0, fmt.Errorf(\"duration: %v is out of range for time.Duration\", p)\n\t\t}\n\t}\n\treturn d, nil\n}\n\n// DurationProto converts a time.Duration to a durpb.Duration.\nfunc DurationProto(d time.Duration) *durpb.Duration {\n\tnanos := d.Nanoseconds()\n\tsecs := nanos / 1e9\n\tnanos -= secs * 1e9\n\treturn &durpb.Duration{\n\t\tSeconds: secs,\n\t\tNanos:   int32(nanos),\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.pb.go",
    "content": "// Code generated by protoc-gen-go. DO NOT EDIT.\n// source: google/protobuf/timestamp.proto\n\npackage timestamp // import \"github.com/golang/protobuf/ptypes/timestamp\"\n\nimport proto \"github.com/golang/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\n// This is a compile-time assertion to ensure that this generated file\n// is compatible with the proto package it is being compiled against.\n// A compilation error at this line likely means your copy of the\n// proto package needs to be updated.\nconst _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package\n\n// A Timestamp represents a point in time independent of any time zone\n// or calendar, represented as seconds and fractions of seconds at\n// nanosecond resolution in UTC Epoch time. It is encoded using the\n// Proleptic Gregorian Calendar which extends the Gregorian calendar\n// backwards to year one. It is encoded assuming all minutes are 60\n// seconds long, i.e. leap seconds are \"smeared\" so that no leap second\n// table is needed for interpretation. Range is from\n// 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z.\n// By restricting to that range, we ensure that we can convert to\n// and from  RFC 3339 date strings.\n// See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt).\n//\n// # Examples\n//\n// Example 1: Compute Timestamp from POSIX `time()`.\n//\n//     Timestamp timestamp;\n//     timestamp.set_seconds(time(NULL));\n//     timestamp.set_nanos(0);\n//\n// Example 2: Compute Timestamp from POSIX `gettimeofday()`.\n//\n//     struct timeval tv;\n//     gettimeofday(&tv, NULL);\n//\n//     Timestamp timestamp;\n//     timestamp.set_seconds(tv.tv_sec);\n//     timestamp.set_nanos(tv.tv_usec * 1000);\n//\n// Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.\n//\n//     FILETIME ft;\n//     GetSystemTimeAsFileTime(&ft);\n//     UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;\n//\n//     // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z\n//     // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.\n//     Timestamp timestamp;\n//     timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));\n//     timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));\n//\n// Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.\n//\n//     long millis = System.currentTimeMillis();\n//\n//     Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)\n//         .setNanos((int) ((millis % 1000) * 1000000)).build();\n//\n//\n// Example 5: Compute Timestamp from current time in Python.\n//\n//     timestamp = Timestamp()\n//     timestamp.GetCurrentTime()\n//\n// # JSON Mapping\n//\n// In JSON format, the Timestamp type is encoded as a string in the\n// [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the\n// format is \"{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z\"\n// where {year} is always expressed using four digits while {month}, {day},\n// {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional\n// seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),\n// are optional. The \"Z\" suffix indicates the timezone (\"UTC\"); the timezone\n// is required, though only UTC (as indicated by \"Z\") is presently supported.\n//\n// For example, \"2017-01-15T01:30:15.01Z\" encodes 15.01 seconds past\n// 01:30 UTC on January 15, 2017.\n//\n// In JavaScript, one can convert a Date object to this format using the\n// standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString]\n// method. In Python, a standard `datetime.datetime` object can be converted\n// to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime)\n// with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one\n// can use the Joda Time's [`ISODateTimeFormat.dateTime()`](\n// http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime--)\n// to obtain a formatter capable of generating timestamps in this format.\n//\n//\ntype Timestamp struct {\n\t// Represents seconds of UTC time since Unix epoch\n\t// 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to\n\t// 9999-12-31T23:59:59Z inclusive.\n\tSeconds int64 `protobuf:\"varint,1,opt,name=seconds\" json:\"seconds,omitempty\"`\n\t// Non-negative fractions of a second at nanosecond resolution. Negative\n\t// second values with fractions must still have non-negative nanos values\n\t// that count forward in time. Must be from 0 to 999,999,999\n\t// inclusive.\n\tNanos                int32    `protobuf:\"varint,2,opt,name=nanos\" json:\"nanos,omitempty\"`\n\tXXX_NoUnkeyedLiteral struct{} `json:\"-\"`\n\tXXX_unrecognized     []byte   `json:\"-\"`\n\tXXX_sizecache        int32    `json:\"-\"`\n}\n\nfunc (m *Timestamp) Reset()         { *m = Timestamp{} }\nfunc (m *Timestamp) String() string { return proto.CompactTextString(m) }\nfunc (*Timestamp) ProtoMessage()    {}\nfunc (*Timestamp) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor_timestamp_b826e8e5fba671a8, []int{0}\n}\nfunc (*Timestamp) XXX_WellKnownType() string { return \"Timestamp\" }\nfunc (m *Timestamp) XXX_Unmarshal(b []byte) error {\n\treturn xxx_messageInfo_Timestamp.Unmarshal(m, b)\n}\nfunc (m *Timestamp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {\n\treturn xxx_messageInfo_Timestamp.Marshal(b, m, deterministic)\n}\nfunc (dst *Timestamp) XXX_Merge(src proto.Message) {\n\txxx_messageInfo_Timestamp.Merge(dst, src)\n}\nfunc (m *Timestamp) XXX_Size() int {\n\treturn xxx_messageInfo_Timestamp.Size(m)\n}\nfunc (m *Timestamp) XXX_DiscardUnknown() {\n\txxx_messageInfo_Timestamp.DiscardUnknown(m)\n}\n\nvar xxx_messageInfo_Timestamp proto.InternalMessageInfo\n\nfunc (m *Timestamp) GetSeconds() int64 {\n\tif m != nil {\n\t\treturn m.Seconds\n\t}\n\treturn 0\n}\n\nfunc (m *Timestamp) GetNanos() int32 {\n\tif m != nil {\n\t\treturn m.Nanos\n\t}\n\treturn 0\n}\n\nfunc init() {\n\tproto.RegisterType((*Timestamp)(nil), \"google.protobuf.Timestamp\")\n}\n\nfunc init() {\n\tproto.RegisterFile(\"google/protobuf/timestamp.proto\", fileDescriptor_timestamp_b826e8e5fba671a8)\n}\n\nvar fileDescriptor_timestamp_b826e8e5fba671a8 = []byte{\n\t// 191 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4f, 0xcf, 0xcf, 0x4f,\n\t0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0xc9, 0xcc, 0x4d,\n\t0x2d, 0x2e, 0x49, 0xcc, 0x2d, 0xd0, 0x03, 0x0b, 0x09, 0xf1, 0x43, 0x14, 0xe8, 0xc1, 0x14, 0x28,\n\t0x59, 0x73, 0x71, 0x86, 0xc0, 0xd4, 0x08, 0x49, 0x70, 0xb1, 0x17, 0xa7, 0x26, 0xe7, 0xe7, 0xa5,\n\t0x14, 0x4b, 0x30, 0x2a, 0x30, 0x6a, 0x30, 0x07, 0xc1, 0xb8, 0x42, 0x22, 0x5c, 0xac, 0x79, 0x89,\n\t0x79, 0xf9, 0xc5, 0x12, 0x4c, 0x0a, 0x8c, 0x1a, 0xac, 0x41, 0x10, 0x8e, 0x53, 0x1d, 0x97, 0x70,\n\t0x72, 0x7e, 0xae, 0x1e, 0x9a, 0x99, 0x4e, 0x7c, 0x70, 0x13, 0x03, 0x40, 0x42, 0x01, 0x8c, 0x51,\n\t0xda, 0xe9, 0x99, 0x25, 0x19, 0xa5, 0x49, 0x7a, 0xc9, 0xf9, 0xb9, 0xfa, 0xe9, 0xf9, 0x39, 0x89,\n\t0x79, 0xe9, 0x08, 0x27, 0x16, 0x94, 0x54, 0x16, 0xa4, 0x16, 0x23, 0x5c, 0xfa, 0x83, 0x91, 0x71,\n\t0x11, 0x13, 0xb3, 0x7b, 0x80, 0xd3, 0x2a, 0x26, 0x39, 0x77, 0x88, 0xc9, 0x01, 0x50, 0xb5, 0x7a,\n\t0xe1, 0xa9, 0x39, 0x39, 0xde, 0x79, 0xf9, 0xe5, 0x79, 0x21, 0x20, 0x3d, 0x49, 0x6c, 0x60, 0x43,\n\t0x8c, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xbc, 0x77, 0x4a, 0x07, 0xf7, 0x00, 0x00, 0x00,\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.proto",
    "content": "// Protocol Buffers - Google's data interchange format\n// Copyright 2008 Google Inc.  All rights reserved.\n// https://developers.google.com/protocol-buffers/\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\nsyntax = \"proto3\";\n\npackage google.protobuf;\n\noption csharp_namespace = \"Google.Protobuf.WellKnownTypes\";\noption cc_enable_arenas = true;\noption go_package = \"github.com/golang/protobuf/ptypes/timestamp\";\noption java_package = \"com.google.protobuf\";\noption java_outer_classname = \"TimestampProto\";\noption java_multiple_files = true;\noption objc_class_prefix = \"GPB\";\n\n// A Timestamp represents a point in time independent of any time zone\n// or calendar, represented as seconds and fractions of seconds at\n// nanosecond resolution in UTC Epoch time. It is encoded using the\n// Proleptic Gregorian Calendar which extends the Gregorian calendar\n// backwards to year one. It is encoded assuming all minutes are 60\n// seconds long, i.e. leap seconds are \"smeared\" so that no leap second\n// table is needed for interpretation. Range is from\n// 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z.\n// By restricting to that range, we ensure that we can convert to\n// and from  RFC 3339 date strings.\n// See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt).\n//\n// # Examples\n//\n// Example 1: Compute Timestamp from POSIX `time()`.\n//\n//     Timestamp timestamp;\n//     timestamp.set_seconds(time(NULL));\n//     timestamp.set_nanos(0);\n//\n// Example 2: Compute Timestamp from POSIX `gettimeofday()`.\n//\n//     struct timeval tv;\n//     gettimeofday(&tv, NULL);\n//\n//     Timestamp timestamp;\n//     timestamp.set_seconds(tv.tv_sec);\n//     timestamp.set_nanos(tv.tv_usec * 1000);\n//\n// Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.\n//\n//     FILETIME ft;\n//     GetSystemTimeAsFileTime(&ft);\n//     UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;\n//\n//     // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z\n//     // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.\n//     Timestamp timestamp;\n//     timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));\n//     timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));\n//\n// Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.\n//\n//     long millis = System.currentTimeMillis();\n//\n//     Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)\n//         .setNanos((int) ((millis % 1000) * 1000000)).build();\n//\n//\n// Example 5: Compute Timestamp from current time in Python.\n//\n//     timestamp = Timestamp()\n//     timestamp.GetCurrentTime()\n//\n// # JSON Mapping\n//\n// In JSON format, the Timestamp type is encoded as a string in the\n// [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the\n// format is \"{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z\"\n// where {year} is always expressed using four digits while {month}, {day},\n// {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional\n// seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),\n// are optional. The \"Z\" suffix indicates the timezone (\"UTC\"); the timezone\n// is required, though only UTC (as indicated by \"Z\") is presently supported.\n//\n// For example, \"2017-01-15T01:30:15.01Z\" encodes 15.01 seconds past\n// 01:30 UTC on January 15, 2017.\n//\n// In JavaScript, one can convert a Date object to this format using the\n// standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString]\n// method. In Python, a standard `datetime.datetime` object can be converted\n// to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime)\n// with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one\n// can use the Joda Time's [`ISODateTimeFormat.dateTime()`](\n// http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime--)\n// to obtain a formatter capable of generating timestamps in this format.\n//\n//\nmessage Timestamp {\n\n  // Represents seconds of UTC time since Unix epoch\n  // 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to\n  // 9999-12-31T23:59:59Z inclusive.\n  int64 seconds = 1;\n\n  // Non-negative fractions of a second at nanosecond resolution. Negative\n  // second values with fractions must still have non-negative nanos values\n  // that count forward in time. Must be from 0 to 999,999,999\n  // inclusive.\n  int32 nanos = 2;\n}\n"
  },
  {
    "path": "vendor/github.com/golang/protobuf/ptypes/timestamp.go",
    "content": "// Go support for Protocol Buffers - Google's data interchange format\n//\n// Copyright 2016 The Go Authors.  All rights reserved.\n// https://github.com/golang/protobuf\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n//     * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n//     * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n//     * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\npackage ptypes\n\n// This file implements operations on google.protobuf.Timestamp.\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"time\"\n\n\ttspb \"github.com/golang/protobuf/ptypes/timestamp\"\n)\n\nconst (\n\t// Seconds field of the earliest valid Timestamp.\n\t// This is time.Date(1, 1, 1, 0, 0, 0, 0, time.UTC).Unix().\n\tminValidSeconds = -62135596800\n\t// Seconds field just after the latest valid Timestamp.\n\t// This is time.Date(10000, 1, 1, 0, 0, 0, 0, time.UTC).Unix().\n\tmaxValidSeconds = 253402300800\n)\n\n// validateTimestamp determines whether a Timestamp is valid.\n// A valid timestamp represents a time in the range\n// [0001-01-01, 10000-01-01) and has a Nanos field\n// in the range [0, 1e9).\n//\n// If the Timestamp is valid, validateTimestamp returns nil.\n// Otherwise, it returns an error that describes\n// the problem.\n//\n// Every valid Timestamp can be represented by a time.Time, but the converse is not true.\nfunc validateTimestamp(ts *tspb.Timestamp) error {\n\tif ts == nil {\n\t\treturn errors.New(\"timestamp: nil Timestamp\")\n\t}\n\tif ts.Seconds < minValidSeconds {\n\t\treturn fmt.Errorf(\"timestamp: %v before 0001-01-01\", ts)\n\t}\n\tif ts.Seconds >= maxValidSeconds {\n\t\treturn fmt.Errorf(\"timestamp: %v after 10000-01-01\", ts)\n\t}\n\tif ts.Nanos < 0 || ts.Nanos >= 1e9 {\n\t\treturn fmt.Errorf(\"timestamp: %v: nanos not in range [0, 1e9)\", ts)\n\t}\n\treturn nil\n}\n\n// Timestamp converts a google.protobuf.Timestamp proto to a time.Time.\n// It returns an error if the argument is invalid.\n//\n// Unlike most Go functions, if Timestamp returns an error, the first return value\n// is not the zero time.Time. Instead, it is the value obtained from the\n// time.Unix function when passed the contents of the Timestamp, in the UTC\n// locale. This may or may not be a meaningful time; many invalid Timestamps\n// do map to valid time.Times.\n//\n// A nil Timestamp returns an error. The first return value in that case is\n// undefined.\nfunc Timestamp(ts *tspb.Timestamp) (time.Time, error) {\n\t// Don't return the zero value on error, because corresponds to a valid\n\t// timestamp. Instead return whatever time.Unix gives us.\n\tvar t time.Time\n\tif ts == nil {\n\t\tt = time.Unix(0, 0).UTC() // treat nil like the empty Timestamp\n\t} else {\n\t\tt = time.Unix(ts.Seconds, int64(ts.Nanos)).UTC()\n\t}\n\treturn t, validateTimestamp(ts)\n}\n\n// TimestampNow returns a google.protobuf.Timestamp for the current time.\nfunc TimestampNow() *tspb.Timestamp {\n\tts, err := TimestampProto(time.Now())\n\tif err != nil {\n\t\tpanic(\"ptypes: time.Now() out of Timestamp range\")\n\t}\n\treturn ts\n}\n\n// TimestampProto converts the time.Time to a google.protobuf.Timestamp proto.\n// It returns an error if the resulting Timestamp is invalid.\nfunc TimestampProto(t time.Time) (*tspb.Timestamp, error) {\n\tseconds := t.Unix()\n\tnanos := int32(t.Sub(time.Unix(seconds, 0)))\n\tts := &tspb.Timestamp{\n\t\tSeconds: seconds,\n\t\tNanos:   nanos,\n\t}\n\tif err := validateTimestamp(ts); err != nil {\n\t\treturn nil, err\n\t}\n\treturn ts, nil\n}\n\n// TimestampString returns the RFC 3339 string for valid Timestamps. For invalid\n// Timestamps, it returns an error message in parentheses.\nfunc TimestampString(ts *tspb.Timestamp) string {\n\tt, err := Timestamp(ts)\n\tif err != nil {\n\t\treturn fmt.Sprintf(\"(%v)\", err)\n\t}\n\treturn t.Format(time.RFC3339Nano)\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/errwrap/LICENSE",
    "content": "Mozilla Public License, version 2.0\n\n1. Definitions\n\n1.1. “Contributor”\n\n     means each individual or legal entity that creates, contributes to the\n     creation of, or owns Covered Software.\n\n1.2. “Contributor Version”\n\n     means the combination of the Contributions of others (if any) used by a\n     Contributor and that particular Contributor’s Contribution.\n\n1.3. “Contribution”\n\n     means Covered Software of a particular Contributor.\n\n1.4. “Covered Software”\n\n     means Source Code Form to which the initial Contributor has attached the\n     notice in Exhibit A, the Executable Form of such Source Code Form, and\n     Modifications of such Source Code Form, in each case including portions\n     thereof.\n\n1.5. “Incompatible With Secondary Licenses”\n     means\n\n     a. that the initial Contributor has attached the notice described in\n        Exhibit B to the Covered Software; or\n\n     b. that the Covered Software was made available under the terms of version\n        1.1 or earlier of the License, but not also under the terms of a\n        Secondary License.\n\n1.6. “Executable Form”\n\n     means any form of the work other than Source Code Form.\n\n1.7. “Larger Work”\n\n     means a work that combines Covered Software with other material, in a separate\n     file or files, that is not Covered Software.\n\n1.8. “License”\n\n     means this document.\n\n1.9. “Licensable”\n\n     means having the right to grant, to the maximum extent possible, whether at the\n     time of the initial grant or subsequently, any and all of the rights conveyed by\n     this License.\n\n1.10. “Modifications”\n\n     means any of the following:\n\n     a. any file in Source Code Form that results from an addition to, deletion\n        from, or modification of the contents of Covered Software; or\n\n     b. any new file in Source Code Form that contains any Covered Software.\n\n1.11. “Patent Claims” of a Contributor\n\n      means any patent claim(s), including without limitation, method, process,\n      and apparatus claims, in any patent Licensable by such Contributor that\n      would be infringed, but for the grant of the License, by the making,\n      using, selling, offering for sale, having made, import, or transfer of\n      either its Contributions or its Contributor Version.\n\n1.12. “Secondary License”\n\n      means either the GNU General Public License, Version 2.0, the GNU Lesser\n      General Public License, Version 2.1, the GNU Affero General Public\n      License, Version 3.0, or any later versions of those licenses.\n\n1.13. “Source Code Form”\n\n      means the form of the work preferred for making modifications.\n\n1.14. “You” (or “Your”)\n\n      means an individual or a legal entity exercising rights under this\n      License. For legal entities, “You” includes any entity that controls, is\n      controlled by, or is under common control with You. For purposes of this\n      definition, “control” means (a) the power, direct or indirect, to cause\n      the direction or management of such entity, whether by contract or\n      otherwise, or (b) ownership of more than fifty percent (50%) of the\n      outstanding shares or beneficial ownership of such entity.\n\n\n2. License Grants and Conditions\n\n2.1. Grants\n\n     Each Contributor hereby grants You a world-wide, royalty-free,\n     non-exclusive license:\n\n     a. under intellectual property rights (other than patent or trademark)\n        Licensable by such Contributor to use, reproduce, make available,\n        modify, display, perform, distribute, and otherwise exploit its\n        Contributions, either on an unmodified basis, with Modifications, or as\n        part of a Larger Work; and\n\n     b. under Patent Claims of such Contributor to make, use, sell, offer for\n        sale, have made, import, and otherwise transfer either its Contributions\n        or its Contributor Version.\n\n2.2. Effective Date\n\n     The licenses granted in Section 2.1 with respect to any Contribution become\n     effective for each Contribution on the date the Contributor first distributes\n     such Contribution.\n\n2.3. Limitations on Grant Scope\n\n     The licenses granted in this Section 2 are the only rights granted under this\n     License. No additional rights or licenses will be implied from the distribution\n     or licensing of Covered Software under this License. Notwithstanding Section\n     2.1(b) above, no patent license is granted by a Contributor:\n\n     a. for any code that a Contributor has removed from Covered Software; or\n\n     b. for infringements caused by: (i) Your and any other third party’s\n        modifications of Covered Software, or (ii) the combination of its\n        Contributions with other software (except as part of its Contributor\n        Version); or\n\n     c. under Patent Claims infringed by Covered Software in the absence of its\n        Contributions.\n\n     This License does not grant any rights in the trademarks, service marks, or\n     logos of any Contributor (except as may be necessary to comply with the\n     notice requirements in Section 3.4).\n\n2.4. Subsequent Licenses\n\n     No Contributor makes additional grants as a result of Your choice to\n     distribute the Covered Software under a subsequent version of this License\n     (see Section 10.2) or under the terms of a Secondary License (if permitted\n     under the terms of Section 3.3).\n\n2.5. Representation\n\n     Each Contributor represents that the Contributor believes its Contributions\n     are its original creation(s) or it has sufficient rights to grant the\n     rights to its Contributions conveyed by this License.\n\n2.6. Fair Use\n\n     This License is not intended to limit any rights You have under applicable\n     copyright doctrines of fair use, fair dealing, or other equivalents.\n\n2.7. Conditions\n\n     Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in\n     Section 2.1.\n\n\n3. Responsibilities\n\n3.1. Distribution of Source Form\n\n     All distribution of Covered Software in Source Code Form, including any\n     Modifications that You create or to which You contribute, must be under the\n     terms of this License. You must inform recipients that the Source Code Form\n     of the Covered Software is governed by the terms of this License, and how\n     they can obtain a copy of this License. You may not attempt to alter or\n     restrict the recipients’ rights in the Source Code Form.\n\n3.2. Distribution of Executable Form\n\n     If You distribute Covered Software in Executable Form then:\n\n     a. such Covered Software must also be made available in Source Code Form,\n        as described in Section 3.1, and You must inform recipients of the\n        Executable Form how they can obtain a copy of such Source Code Form by\n        reasonable means in a timely manner, at a charge no more than the cost\n        of distribution to the recipient; and\n\n     b. You may distribute such Executable Form under the terms of this License,\n        or sublicense it under different terms, provided that the license for\n        the Executable Form does not attempt to limit or alter the recipients’\n        rights in the Source Code Form under this License.\n\n3.3. Distribution of a Larger Work\n\n     You may create and distribute a Larger Work under terms of Your choice,\n     provided that You also comply with the requirements of this License for the\n     Covered Software. If the Larger Work is a combination of Covered Software\n     with a work governed by one or more Secondary Licenses, and the Covered\n     Software is not Incompatible With Secondary Licenses, this License permits\n     You to additionally distribute such Covered Software under the terms of\n     such Secondary License(s), so that the recipient of the Larger Work may, at\n     their option, further distribute the Covered Software under the terms of\n     either this License or such Secondary License(s).\n\n3.4. Notices\n\n     You may not remove or alter the substance of any license notices (including\n     copyright notices, patent notices, disclaimers of warranty, or limitations\n     of liability) contained within the Source Code Form of the Covered\n     Software, except that You may alter any license notices to the extent\n     required to remedy known factual inaccuracies.\n\n3.5. Application of Additional Terms\n\n     You may choose to offer, and to charge a fee for, warranty, support,\n     indemnity or liability obligations to one or more recipients of Covered\n     Software. However, You may do so only on Your own behalf, and not on behalf\n     of any Contributor. You must make it absolutely clear that any such\n     warranty, support, indemnity, or liability obligation is offered by You\n     alone, and You hereby agree to indemnify every Contributor for any\n     liability incurred by such Contributor as a result of warranty, support,\n     indemnity or liability terms You offer. You may include additional\n     disclaimers of warranty and limitations of liability specific to any\n     jurisdiction.\n\n4. Inability to Comply Due to Statute or Regulation\n\n   If it is impossible for You to comply with any of the terms of this License\n   with respect to some or all of the Covered Software due to statute, judicial\n   order, or regulation then You must: (a) comply with the terms of this License\n   to the maximum extent possible; and (b) describe the limitations and the code\n   they affect. Such description must be placed in a text file included with all\n   distributions of the Covered Software under this License. Except to the\n   extent prohibited by statute or regulation, such description must be\n   sufficiently detailed for a recipient of ordinary skill to be able to\n   understand it.\n\n5. Termination\n\n5.1. The rights granted under this License will terminate automatically if You\n     fail to comply with any of its terms. However, if You become compliant,\n     then the rights granted under this License from a particular Contributor\n     are reinstated (a) provisionally, unless and until such Contributor\n     explicitly and finally terminates Your grants, and (b) on an ongoing basis,\n     if such Contributor fails to notify You of the non-compliance by some\n     reasonable means prior to 60 days after You have come back into compliance.\n     Moreover, Your grants from a particular Contributor are reinstated on an\n     ongoing basis if such Contributor notifies You of the non-compliance by\n     some reasonable means, this is the first time You have received notice of\n     non-compliance with this License from such Contributor, and You become\n     compliant prior to 30 days after Your receipt of the notice.\n\n5.2. If You initiate litigation against any entity by asserting a patent\n     infringement claim (excluding declaratory judgment actions, counter-claims,\n     and cross-claims) alleging that a Contributor Version directly or\n     indirectly infringes any patent, then the rights granted to You by any and\n     all Contributors for the Covered Software under Section 2.1 of this License\n     shall terminate.\n\n5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user\n     license agreements (excluding distributors and resellers) which have been\n     validly granted by You or Your distributors under this License prior to\n     termination shall survive termination.\n\n6. Disclaimer of Warranty\n\n   Covered Software is provided under this License on an “as is” basis, without\n   warranty of any kind, either expressed, implied, or statutory, including,\n   without limitation, warranties that the Covered Software is free of defects,\n   merchantable, fit for a particular purpose or non-infringing. The entire\n   risk as to the quality and performance of the Covered Software is with You.\n   Should any Covered Software prove defective in any respect, You (not any\n   Contributor) assume the cost of any necessary servicing, repair, or\n   correction. This disclaimer of warranty constitutes an essential part of this\n   License. No use of  any Covered Software is authorized under this License\n   except under this disclaimer.\n\n7. Limitation of Liability\n\n   Under no circumstances and under no legal theory, whether tort (including\n   negligence), contract, or otherwise, shall any Contributor, or anyone who\n   distributes Covered Software as permitted above, be liable to You for any\n   direct, indirect, special, incidental, or consequential damages of any\n   character including, without limitation, damages for lost profits, loss of\n   goodwill, work stoppage, computer failure or malfunction, or any and all\n   other commercial damages or losses, even if such party shall have been\n   informed of the possibility of such damages. This limitation of liability\n   shall not apply to liability for death or personal injury resulting from such\n   party’s negligence to the extent applicable law prohibits such limitation.\n   Some jurisdictions do not allow the exclusion or limitation of incidental or\n   consequential damages, so this exclusion and limitation may not apply to You.\n\n8. Litigation\n\n   Any litigation relating to this License may be brought only in the courts of\n   a jurisdiction where the defendant maintains its principal place of business\n   and such litigation shall be governed by laws of that jurisdiction, without\n   reference to its conflict-of-law provisions. Nothing in this Section shall\n   prevent a party’s ability to bring cross-claims or counter-claims.\n\n9. Miscellaneous\n\n   This License represents the complete agreement concerning the subject matter\n   hereof. If any provision of this License is held to be unenforceable, such\n   provision shall be reformed only to the extent necessary to make it\n   enforceable. Any law or regulation which provides that the language of a\n   contract shall be construed against the drafter shall not be used to construe\n   this License against a Contributor.\n\n\n10. Versions of the License\n\n10.1. New Versions\n\n      Mozilla Foundation is the license steward. Except as provided in Section\n      10.3, no one other than the license steward has the right to modify or\n      publish new versions of this License. Each version will be given a\n      distinguishing version number.\n\n10.2. Effect of New Versions\n\n      You may distribute the Covered Software under the terms of the version of\n      the License under which You originally received the Covered Software, or\n      under the terms of any subsequent version published by the license\n      steward.\n\n10.3. Modified Versions\n\n      If you create software not governed by this License, and you want to\n      create a new license for such software, you may create and use a modified\n      version of this License if you rename the license and remove any\n      references to the name of the license steward (except to note that such\n      modified license differs from this License).\n\n10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses\n      If You choose to distribute Source Code Form that is Incompatible With\n      Secondary Licenses under the terms of this version of the License, the\n      notice described in Exhibit B of this License must be attached.\n\nExhibit A - Source Code Form License Notice\n\n      This Source Code Form is subject to the\n      terms of the Mozilla Public License, v.\n      2.0. If a copy of the MPL was not\n      distributed with this file, You can\n      obtain one at\n      http://mozilla.org/MPL/2.0/.\n\nIf it is not possible or desirable to put the notice in a particular file, then\nYou may include the notice in a location (such as a LICENSE file in a relevant\ndirectory) where a recipient would be likely to look for such a notice.\n\nYou may add additional accurate notices of copyright ownership.\n\nExhibit B - “Incompatible With Secondary Licenses” Notice\n\n      This Source Code Form is “Incompatible\n      With Secondary Licenses”, as defined by\n      the Mozilla Public License, v. 2.0.\n\n"
  },
  {
    "path": "vendor/github.com/hashicorp/errwrap/README.md",
    "content": "# errwrap\n\n`errwrap` is a package for Go that formalizes the pattern of wrapping errors\nand checking if an error contains another error.\n\nThere is a common pattern in Go of taking a returned `error` value and\nthen wrapping it (such as with `fmt.Errorf`) before returning it. The problem\nwith this pattern is that you completely lose the original `error` structure.\n\nArguably the _correct_ approach is that you should make a custom structure\nimplementing the `error` interface, and have the original error as a field\non that structure, such [as this example](http://golang.org/pkg/os/#PathError).\nThis is a good approach, but you have to know the entire chain of possible\nrewrapping that happens, when you might just care about one.\n\n`errwrap` formalizes this pattern (it doesn't matter what approach you use\nabove) by giving a single interface for wrapping errors, checking if a specific\nerror is wrapped, and extracting that error.\n\n## Installation and Docs\n\nInstall using `go get github.com/hashicorp/errwrap`.\n\nFull documentation is available at\nhttp://godoc.org/github.com/hashicorp/errwrap\n\n## Usage\n\n#### Basic Usage\n\nBelow is a very basic example of its usage:\n\n```go\n// A function that always returns an error, but wraps it, like a real\n// function might.\nfunc tryOpen() error {\n\t_, err := os.Open(\"/i/dont/exist\")\n\tif err != nil {\n\t\treturn errwrap.Wrapf(\"Doesn't exist: {{err}}\", err)\n\t}\n\n\treturn nil\n}\n\nfunc main() {\n\terr := tryOpen()\n\n\t// We can use the Contains helpers to check if an error contains\n\t// another error. It is safe to do this with a nil error, or with\n\t// an error that doesn't even use the errwrap package.\n\tif errwrap.Contains(err, \"does not exist\") {\n\t\t// Do something\n\t}\n\tif errwrap.ContainsType(err, new(os.PathError)) {\n\t\t// Do something\n\t}\n\n\t// Or we can use the associated `Get` functions to just extract\n\t// a specific error. This would return nil if that specific error doesn't\n\t// exist.\n\tperr := errwrap.GetType(err, new(os.PathError))\n}\n```\n\n#### Custom Types\n\nIf you're already making custom types that properly wrap errors, then\nyou can get all the functionality of `errwraps.Contains` and such by\nimplementing the `Wrapper` interface with just one function. Example:\n\n```go\ntype AppError {\n  Code ErrorCode\n  Err  error\n}\n\nfunc (e *AppError) WrappedErrors() []error {\n  return []error{e.Err}\n}\n```\n\nNow this works:\n\n```go\nerr := &AppError{Err: fmt.Errorf(\"an error\")}\nif errwrap.ContainsType(err, fmt.Errorf(\"\")) {\n\t// This will work!\n}\n```\n"
  },
  {
    "path": "vendor/github.com/hashicorp/errwrap/errwrap.go",
    "content": "// Package errwrap implements methods to formalize error wrapping in Go.\n//\n// All of the top-level functions that take an `error` are built to be able\n// to take any error, not just wrapped errors. This allows you to use errwrap\n// without having to type-check and type-cast everywhere.\npackage errwrap\n\nimport (\n\t\"errors\"\n\t\"reflect\"\n\t\"strings\"\n)\n\n// WalkFunc is the callback called for Walk.\ntype WalkFunc func(error)\n\n// Wrapper is an interface that can be implemented by custom types to\n// have all the Contains, Get, etc. functions in errwrap work.\n//\n// When Walk reaches a Wrapper, it will call the callback for every\n// wrapped error in addition to the wrapper itself. Since all the top-level\n// functions in errwrap use Walk, this means that all those functions work\n// with your custom type.\ntype Wrapper interface {\n\tWrappedErrors() []error\n}\n\n// Wrap defines that outer wraps inner, returning an error type that\n// can be cleanly used with the other methods in this package, such as\n// Contains, GetAll, etc.\n//\n// This function won't modify the error message at all (the outer message\n// will be used).\nfunc Wrap(outer, inner error) error {\n\treturn &wrappedError{\n\t\tOuter: outer,\n\t\tInner: inner,\n\t}\n}\n\n// Wrapf wraps an error with a formatting message. This is similar to using\n// `fmt.Errorf` to wrap an error. If you're using `fmt.Errorf` to wrap\n// errors, you should replace it with this.\n//\n// format is the format of the error message. The string '{{err}}' will\n// be replaced with the original error message.\nfunc Wrapf(format string, err error) error {\n\touterMsg := \"<nil>\"\n\tif err != nil {\n\t\touterMsg = err.Error()\n\t}\n\n\touter := errors.New(strings.Replace(\n\t\tformat, \"{{err}}\", outerMsg, -1))\n\n\treturn Wrap(outer, err)\n}\n\n// Contains checks if the given error contains an error with the\n// message msg. If err is not a wrapped error, this will always return\n// false unless the error itself happens to match this msg.\nfunc Contains(err error, msg string) bool {\n\treturn len(GetAll(err, msg)) > 0\n}\n\n// ContainsType checks if the given error contains an error with\n// the same concrete type as v. If err is not a wrapped error, this will\n// check the err itself.\nfunc ContainsType(err error, v interface{}) bool {\n\treturn len(GetAllType(err, v)) > 0\n}\n\n// Get is the same as GetAll but returns the deepest matching error.\nfunc Get(err error, msg string) error {\n\tes := GetAll(err, msg)\n\tif len(es) > 0 {\n\t\treturn es[len(es)-1]\n\t}\n\n\treturn nil\n}\n\n// GetType is the same as GetAllType but returns the deepest matching error.\nfunc GetType(err error, v interface{}) error {\n\tes := GetAllType(err, v)\n\tif len(es) > 0 {\n\t\treturn es[len(es)-1]\n\t}\n\n\treturn nil\n}\n\n// GetAll gets all the errors that might be wrapped in err with the\n// given message. The order of the errors is such that the outermost\n// matching error (the most recent wrap) is index zero, and so on.\nfunc GetAll(err error, msg string) []error {\n\tvar result []error\n\n\tWalk(err, func(err error) {\n\t\tif err.Error() == msg {\n\t\t\tresult = append(result, err)\n\t\t}\n\t})\n\n\treturn result\n}\n\n// GetAllType gets all the errors that are the same type as v.\n//\n// The order of the return value is the same as described in GetAll.\nfunc GetAllType(err error, v interface{}) []error {\n\tvar result []error\n\n\tvar search string\n\tif v != nil {\n\t\tsearch = reflect.TypeOf(v).String()\n\t}\n\tWalk(err, func(err error) {\n\t\tvar needle string\n\t\tif err != nil {\n\t\t\tneedle = reflect.TypeOf(err).String()\n\t\t}\n\n\t\tif needle == search {\n\t\t\tresult = append(result, err)\n\t\t}\n\t})\n\n\treturn result\n}\n\n// Walk walks all the wrapped errors in err and calls the callback. If\n// err isn't a wrapped error, this will be called once for err. If err\n// is a wrapped error, the callback will be called for both the wrapper\n// that implements error as well as the wrapped error itself.\nfunc Walk(err error, cb WalkFunc) {\n\tif err == nil {\n\t\treturn\n\t}\n\n\tswitch e := err.(type) {\n\tcase *wrappedError:\n\t\tcb(e.Outer)\n\t\tWalk(e.Inner, cb)\n\tcase Wrapper:\n\t\tcb(err)\n\n\t\tfor _, err := range e.WrappedErrors() {\n\t\t\tWalk(err, cb)\n\t\t}\n\tdefault:\n\t\tcb(err)\n\t}\n}\n\n// wrappedError is an implementation of error that has both the\n// outer and inner errors.\ntype wrappedError struct {\n\tOuter error\n\tInner error\n}\n\nfunc (w *wrappedError) Error() string {\n\treturn w.Outer.Error()\n}\n\nfunc (w *wrappedError) WrappedErrors() []error {\n\treturn []error{w.Outer, w.Inner}\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/errwrap/go.mod",
    "content": "module github.com/hashicorp/errwrap\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-immutable-radix/.gitignore",
    "content": "# Compiled Object files, Static and Dynamic libs (Shared Objects)\n*.o\n*.a\n*.so\n\n# Folders\n_obj\n_test\n\n# Architecture specific extensions/prefixes\n*.[568vq]\n[568vq].out\n\n*.cgo1.go\n*.cgo2.c\n_cgo_defun.c\n_cgo_gotypes.go\n_cgo_export.*\n\n_testmain.go\n\n*.exe\n*.test\n*.prof\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-immutable-radix/.travis.yml",
    "content": "language: go\ngo:\n  - tip\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-immutable-radix/LICENSE",
    "content": "Mozilla Public License, version 2.0\n\n1. Definitions\n\n1.1. \"Contributor\"\n\n     means each individual or legal entity that creates, contributes to the\n     creation of, or owns Covered Software.\n\n1.2. \"Contributor Version\"\n\n     means the combination of the Contributions of others (if any) used by a\n     Contributor and that particular Contributor's Contribution.\n\n1.3. \"Contribution\"\n\n     means Covered Software of a particular Contributor.\n\n1.4. \"Covered Software\"\n\n     means Source Code Form to which the initial Contributor has attached the\n     notice in Exhibit A, the Executable Form of such Source Code Form, and\n     Modifications of such Source Code Form, in each case including portions\n     thereof.\n\n1.5. \"Incompatible With Secondary Licenses\"\n     means\n\n     a. that the initial Contributor has attached the notice described in\n        Exhibit B to the Covered Software; or\n\n     b. that the Covered Software was made available under the terms of\n        version 1.1 or earlier of the License, but not also under the terms of\n        a Secondary License.\n\n1.6. \"Executable Form\"\n\n     means any form of the work other than Source Code Form.\n\n1.7. \"Larger Work\"\n\n     means a work that combines Covered Software with other material, in a\n     separate file or files, that is not Covered Software.\n\n1.8. \"License\"\n\n     means this document.\n\n1.9. \"Licensable\"\n\n     means having the right to grant, to the maximum extent possible, whether\n     at the time of the initial grant or subsequently, any and all of the\n     rights conveyed by this License.\n\n1.10. \"Modifications\"\n\n     means any of the following:\n\n     a. any file in Source Code Form that results from an addition to,\n        deletion from, or modification of the contents of Covered Software; or\n\n     b. any new file in Source Code Form that contains any Covered Software.\n\n1.11. \"Patent Claims\" of a Contributor\n\n      means any patent claim(s), including without limitation, method,\n      process, and apparatus claims, in any patent Licensable by such\n      Contributor that would be infringed, but for the grant of the License,\n      by the making, using, selling, offering for sale, having made, import,\n      or transfer of either its Contributions or its Contributor Version.\n\n1.12. \"Secondary License\"\n\n      means either the GNU General Public License, Version 2.0, the GNU Lesser\n      General Public License, Version 2.1, the GNU Affero General Public\n      License, Version 3.0, or any later versions of those licenses.\n\n1.13. \"Source Code Form\"\n\n      means the form of the work preferred for making modifications.\n\n1.14. \"You\" (or \"Your\")\n\n      means an individual or a legal entity exercising rights under this\n      License. For legal entities, \"You\" includes any entity that controls, is\n      controlled by, or is under common control with You. For purposes of this\n      definition, \"control\" means (a) the power, direct or indirect, to cause\n      the direction or management of such entity, whether by contract or\n      otherwise, or (b) ownership of more than fifty percent (50%) of the\n      outstanding shares or beneficial ownership of such entity.\n\n\n2. License Grants and Conditions\n\n2.1. Grants\n\n     Each Contributor hereby grants You a world-wide, royalty-free,\n     non-exclusive license:\n\n     a. under intellectual property rights (other than patent or trademark)\n        Licensable by such Contributor to use, reproduce, make available,\n        modify, display, perform, distribute, and otherwise exploit its\n        Contributions, either on an unmodified basis, with Modifications, or\n        as part of a Larger Work; and\n\n     b. under Patent Claims of such Contributor to make, use, sell, offer for\n        sale, have made, import, and otherwise transfer either its\n        Contributions or its Contributor Version.\n\n2.2. Effective Date\n\n     The licenses granted in Section 2.1 with respect to any Contribution\n     become effective for each Contribution on the date the Contributor first\n     distributes such Contribution.\n\n2.3. Limitations on Grant Scope\n\n     The licenses granted in this Section 2 are the only rights granted under\n     this License. No additional rights or licenses will be implied from the\n     distribution or licensing of Covered Software under this License.\n     Notwithstanding Section 2.1(b) above, no patent license is granted by a\n     Contributor:\n\n     a. for any code that a Contributor has removed from Covered Software; or\n\n     b. for infringements caused by: (i) Your and any other third party's\n        modifications of Covered Software, or (ii) the combination of its\n        Contributions with other software (except as part of its Contributor\n        Version); or\n\n     c. under Patent Claims infringed by Covered Software in the absence of\n        its Contributions.\n\n     This License does not grant any rights in the trademarks, service marks,\n     or logos of any Contributor (except as may be necessary to comply with\n     the notice requirements in Section 3.4).\n\n2.4. Subsequent Licenses\n\n     No Contributor makes additional grants as a result of Your choice to\n     distribute the Covered Software under a subsequent version of this\n     License (see Section 10.2) or under the terms of a Secondary License (if\n     permitted under the terms of Section 3.3).\n\n2.5. Representation\n\n     Each Contributor represents that the Contributor believes its\n     Contributions are its original creation(s) or it has sufficient rights to\n     grant the rights to its Contributions conveyed by this License.\n\n2.6. Fair Use\n\n     This License is not intended to limit any rights You have under\n     applicable copyright doctrines of fair use, fair dealing, or other\n     equivalents.\n\n2.7. Conditions\n\n     Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in\n     Section 2.1.\n\n\n3. Responsibilities\n\n3.1. Distribution of Source Form\n\n     All distribution of Covered Software in Source Code Form, including any\n     Modifications that You create or to which You contribute, must be under\n     the terms of this License. You must inform recipients that the Source\n     Code Form of the Covered Software is governed by the terms of this\n     License, and how they can obtain a copy of this License. You may not\n     attempt to alter or restrict the recipients' rights in the Source Code\n     Form.\n\n3.2. Distribution of Executable Form\n\n     If You distribute Covered Software in Executable Form then:\n\n     a. such Covered Software must also be made available in Source Code Form,\n        as described in Section 3.1, and You must inform recipients of the\n        Executable Form how they can obtain a copy of such Source Code Form by\n        reasonable means in a timely manner, at a charge no more than the cost\n        of distribution to the recipient; and\n\n     b. You may distribute such Executable Form under the terms of this\n        License, or sublicense it under different terms, provided that the\n        license for the Executable Form does not attempt to limit or alter the\n        recipients' rights in the Source Code Form under this License.\n\n3.3. Distribution of a Larger Work\n\n     You may create and distribute a Larger Work under terms of Your choice,\n     provided that You also comply with the requirements of this License for\n     the Covered Software. If the Larger Work is a combination of Covered\n     Software with a work governed by one or more Secondary Licenses, and the\n     Covered Software is not Incompatible With Secondary Licenses, this\n     License permits You to additionally distribute such Covered Software\n     under the terms of such Secondary License(s), so that the recipient of\n     the Larger Work may, at their option, further distribute the Covered\n     Software under the terms of either this License or such Secondary\n     License(s).\n\n3.4. Notices\n\n     You may not remove or alter the substance of any license notices\n     (including copyright notices, patent notices, disclaimers of warranty, or\n     limitations of liability) contained within the Source Code Form of the\n     Covered Software, except that You may alter any license notices to the\n     extent required to remedy known factual inaccuracies.\n\n3.5. Application of Additional Terms\n\n     You may choose to offer, and to charge a fee for, warranty, support,\n     indemnity or liability obligations to one or more recipients of Covered\n     Software. However, You may do so only on Your own behalf, and not on\n     behalf of any Contributor. You must make it absolutely clear that any\n     such warranty, support, indemnity, or liability obligation is offered by\n     You alone, and You hereby agree to indemnify every Contributor for any\n     liability incurred by such Contributor as a result of warranty, support,\n     indemnity or liability terms You offer. You may include additional\n     disclaimers of warranty and limitations of liability specific to any\n     jurisdiction.\n\n4. Inability to Comply Due to Statute or Regulation\n\n   If it is impossible for You to comply with any of the terms of this License\n   with respect to some or all of the Covered Software due to statute,\n   judicial order, or regulation then You must: (a) comply with the terms of\n   this License to the maximum extent possible; and (b) describe the\n   limitations and the code they affect. Such description must be placed in a\n   text file included with all distributions of the Covered Software under\n   this License. Except to the extent prohibited by statute or regulation,\n   such description must be sufficiently detailed for a recipient of ordinary\n   skill to be able to understand it.\n\n5. Termination\n\n5.1. The rights granted under this License will terminate automatically if You\n     fail to comply with any of its terms. However, if You become compliant,\n     then the rights granted under this License from a particular Contributor\n     are reinstated (a) provisionally, unless and until such Contributor\n     explicitly and finally terminates Your grants, and (b) on an ongoing\n     basis, if such Contributor fails to notify You of the non-compliance by\n     some reasonable means prior to 60 days after You have come back into\n     compliance. Moreover, Your grants from a particular Contributor are\n     reinstated on an ongoing basis if such Contributor notifies You of the\n     non-compliance by some reasonable means, this is the first time You have\n     received notice of non-compliance with this License from such\n     Contributor, and You become compliant prior to 30 days after Your receipt\n     of the notice.\n\n5.2. If You initiate litigation against any entity by asserting a patent\n     infringement claim (excluding declaratory judgment actions,\n     counter-claims, and cross-claims) alleging that a Contributor Version\n     directly or indirectly infringes any patent, then the rights granted to\n     You by any and all Contributors for the Covered Software under Section\n     2.1 of this License shall terminate.\n\n5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user\n     license agreements (excluding distributors and resellers) which have been\n     validly granted by You or Your distributors under this License prior to\n     termination shall survive termination.\n\n6. Disclaimer of Warranty\n\n   Covered Software is provided under this License on an \"as is\" basis,\n   without warranty of any kind, either expressed, implied, or statutory,\n   including, without limitation, warranties that the Covered Software is free\n   of defects, merchantable, fit for a particular purpose or non-infringing.\n   The entire risk as to the quality and performance of the Covered Software\n   is with You. Should any Covered Software prove defective in any respect,\n   You (not any Contributor) assume the cost of any necessary servicing,\n   repair, or correction. This disclaimer of warranty constitutes an essential\n   part of this License. No use of  any Covered Software is authorized under\n   this License except under this disclaimer.\n\n7. Limitation of Liability\n\n   Under no circumstances and under no legal theory, whether tort (including\n   negligence), contract, or otherwise, shall any Contributor, or anyone who\n   distributes Covered Software as permitted above, be liable to You for any\n   direct, indirect, special, incidental, or consequential damages of any\n   character including, without limitation, damages for lost profits, loss of\n   goodwill, work stoppage, computer failure or malfunction, or any and all\n   other commercial damages or losses, even if such party shall have been\n   informed of the possibility of such damages. This limitation of liability\n   shall not apply to liability for death or personal injury resulting from\n   such party's negligence to the extent applicable law prohibits such\n   limitation. Some jurisdictions do not allow the exclusion or limitation of\n   incidental or consequential damages, so this exclusion and limitation may\n   not apply to You.\n\n8. Litigation\n\n   Any litigation relating to this License may be brought only in the courts\n   of a jurisdiction where the defendant maintains its principal place of\n   business and such litigation shall be governed by laws of that\n   jurisdiction, without reference to its conflict-of-law provisions. Nothing\n   in this Section shall prevent a party's ability to bring cross-claims or\n   counter-claims.\n\n9. Miscellaneous\n\n   This License represents the complete agreement concerning the subject\n   matter hereof. If any provision of this License is held to be\n   unenforceable, such provision shall be reformed only to the extent\n   necessary to make it enforceable. Any law or regulation which provides that\n   the language of a contract shall be construed against the drafter shall not\n   be used to construe this License against a Contributor.\n\n\n10. Versions of the License\n\n10.1. New Versions\n\n      Mozilla Foundation is the license steward. Except as provided in Section\n      10.3, no one other than the license steward has the right to modify or\n      publish new versions of this License. Each version will be given a\n      distinguishing version number.\n\n10.2. Effect of New Versions\n\n      You may distribute the Covered Software under the terms of the version\n      of the License under which You originally received the Covered Software,\n      or under the terms of any subsequent version published by the license\n      steward.\n\n10.3. Modified Versions\n\n      If you create software not governed by this License, and you want to\n      create a new license for such software, you may create and use a\n      modified version of this License if you rename the license and remove\n      any references to the name of the license steward (except to note that\n      such modified license differs from this License).\n\n10.4. Distributing Source Code Form that is Incompatible With Secondary\n      Licenses If You choose to distribute Source Code Form that is\n      Incompatible With Secondary Licenses under the terms of this version of\n      the License, the notice described in Exhibit B of this License must be\n      attached.\n\nExhibit A - Source Code Form License Notice\n\n      This Source Code Form is subject to the\n      terms of the Mozilla Public License, v.\n      2.0. If a copy of the MPL was not\n      distributed with this file, You can\n      obtain one at\n      http://mozilla.org/MPL/2.0/.\n\nIf it is not possible or desirable to put the notice in a particular file,\nthen You may include the notice in a location (such as a LICENSE file in a\nrelevant directory) where a recipient would be likely to look for such a\nnotice.\n\nYou may add additional accurate notices of copyright ownership.\n\nExhibit B - \"Incompatible With Secondary Licenses\" Notice\n\n      This Source Code Form is \"Incompatible\n      With Secondary Licenses\", as defined by\n      the Mozilla Public License, v. 2.0.\n\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-immutable-radix/README.md",
    "content": "go-immutable-radix [![Build Status](https://travis-ci.org/hashicorp/go-immutable-radix.png)](https://travis-ci.org/hashicorp/go-immutable-radix)\n=========\n\nProvides the `iradix` package that implements an immutable [radix tree](http://en.wikipedia.org/wiki/Radix_tree).\nThe package only provides a single `Tree` implementation, optimized for sparse nodes.\n\nAs a radix tree, it provides the following:\n * O(k) operations. In many cases, this can be faster than a hash table since\n   the hash function is an O(k) operation, and hash tables have very poor cache locality.\n * Minimum / Maximum value lookups\n * Ordered iteration\n\nA tree supports using a transaction to batch multiple updates (insert, delete)\nin a more efficient manner than performing each operation one at a time.\n\nFor a mutable variant, see [go-radix](https://github.com/armon/go-radix).\n\nDocumentation\n=============\n\nThe full documentation is available on [Godoc](http://godoc.org/github.com/hashicorp/go-immutable-radix).\n\nExample\n=======\n\nBelow is a simple example of usage\n\n```go\n// Create a tree\nr := iradix.New()\nr, _, _ = r.Insert([]byte(\"foo\"), 1)\nr, _, _ = r.Insert([]byte(\"bar\"), 2)\nr, _, _ = r.Insert([]byte(\"foobar\"), 2)\n\n// Find the longest prefix match\nm, _, _ := r.Root().LongestPrefix([]byte(\"foozip\"))\nif string(m) != \"foo\" {\n    panic(\"should be foo\")\n}\n```\n\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-immutable-radix/edges.go",
    "content": "package iradix\n\nimport \"sort\"\n\ntype edges []edge\n\nfunc (e edges) Len() int {\n\treturn len(e)\n}\n\nfunc (e edges) Less(i, j int) bool {\n\treturn e[i].label < e[j].label\n}\n\nfunc (e edges) Swap(i, j int) {\n\te[i], e[j] = e[j], e[i]\n}\n\nfunc (e edges) Sort() {\n\tsort.Sort(e)\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-immutable-radix/iradix.go",
    "content": "package iradix\n\nimport (\n\t\"bytes\"\n\t\"strings\"\n\n\t\"github.com/hashicorp/golang-lru/simplelru\"\n)\n\nconst (\n\t// defaultModifiedCache is the default size of the modified node\n\t// cache used per transaction. This is used to cache the updates\n\t// to the nodes near the root, while the leaves do not need to be\n\t// cached. This is important for very large transactions to prevent\n\t// the modified cache from growing to be enormous. This is also used\n\t// to set the max size of the mutation notify maps since those should\n\t// also be bounded in a similar way.\n\tdefaultModifiedCache = 8192\n)\n\n// Tree implements an immutable radix tree. This can be treated as a\n// Dictionary abstract data type. The main advantage over a standard\n// hash map is prefix-based lookups and ordered iteration. The immutability\n// means that it is safe to concurrently read from a Tree without any\n// coordination.\ntype Tree struct {\n\troot *Node\n\tsize int\n}\n\n// New returns an empty Tree\nfunc New() *Tree {\n\tt := &Tree{\n\t\troot: &Node{\n\t\t\tmutateCh: make(chan struct{}),\n\t\t},\n\t}\n\treturn t\n}\n\n// Len is used to return the number of elements in the tree\nfunc (t *Tree) Len() int {\n\treturn t.size\n}\n\n// Txn is a transaction on the tree. This transaction is applied\n// atomically and returns a new tree when committed. A transaction\n// is not thread safe, and should only be used by a single goroutine.\ntype Txn struct {\n\t// root is the modified root for the transaction.\n\troot *Node\n\n\t// snap is a snapshot of the root node for use if we have to run the\n\t// slow notify algorithm.\n\tsnap *Node\n\n\t// size tracks the size of the tree as it is modified during the\n\t// transaction.\n\tsize int\n\n\t// writable is a cache of writable nodes that have been created during\n\t// the course of the transaction. This allows us to re-use the same\n\t// nodes for further writes and avoid unnecessary copies of nodes that\n\t// have never been exposed outside the transaction. This will only hold\n\t// up to defaultModifiedCache number of entries.\n\twritable *simplelru.LRU\n\n\t// trackChannels is used to hold channels that need to be notified to\n\t// signal mutation of the tree. This will only hold up to\n\t// defaultModifiedCache number of entries, after which we will set the\n\t// trackOverflow flag, which will cause us to use a more expensive\n\t// algorithm to perform the notifications. Mutation tracking is only\n\t// performed if trackMutate is true.\n\ttrackChannels map[chan struct{}]struct{}\n\ttrackOverflow bool\n\ttrackMutate   bool\n}\n\n// Txn starts a new transaction that can be used to mutate the tree\nfunc (t *Tree) Txn() *Txn {\n\ttxn := &Txn{\n\t\troot: t.root,\n\t\tsnap: t.root,\n\t\tsize: t.size,\n\t}\n\treturn txn\n}\n\n// TrackMutate can be used to toggle if mutations are tracked. If this is enabled\n// then notifications will be issued for affected internal nodes and leaves when\n// the transaction is committed.\nfunc (t *Txn) TrackMutate(track bool) {\n\tt.trackMutate = track\n}\n\n// trackChannel safely attempts to track the given mutation channel, setting the\n// overflow flag if we can no longer track any more. This limits the amount of\n// state that will accumulate during a transaction and we have a slower algorithm\n// to switch to if we overflow.\nfunc (t *Txn) trackChannel(ch chan struct{}) {\n\t// In overflow, make sure we don't store any more objects.\n\tif t.trackOverflow {\n\t\treturn\n\t}\n\n\t// If this would overflow the state we reject it and set the flag (since\n\t// we aren't tracking everything that's required any longer).\n\tif len(t.trackChannels) >= defaultModifiedCache {\n\t\t// Mark that we are in the overflow state\n\t\tt.trackOverflow = true\n\n\t\t// Clear the map so that the channels can be garbage collected. It is\n\t\t// safe to do this since we have already overflowed and will be using\n\t\t// the slow notify algorithm.\n\t\tt.trackChannels = nil\n\t\treturn\n\t}\n\n\t// Create the map on the fly when we need it.\n\tif t.trackChannels == nil {\n\t\tt.trackChannels = make(map[chan struct{}]struct{})\n\t}\n\n\t// Otherwise we are good to track it.\n\tt.trackChannels[ch] = struct{}{}\n}\n\n// writeNode returns a node to be modified, if the current node has already been\n// modified during the course of the transaction, it is used in-place. Set\n// forLeafUpdate to true if you are getting a write node to update the leaf,\n// which will set leaf mutation tracking appropriately as well.\nfunc (t *Txn) writeNode(n *Node, forLeafUpdate bool) *Node {\n\t// Ensure the writable set exists.\n\tif t.writable == nil {\n\t\tlru, err := simplelru.NewLRU(defaultModifiedCache, nil)\n\t\tif err != nil {\n\t\t\tpanic(err)\n\t\t}\n\t\tt.writable = lru\n\t}\n\n\t// If this node has already been modified, we can continue to use it\n\t// during this transaction. We know that we don't need to track it for\n\t// a node update since the node is writable, but if this is for a leaf\n\t// update we track it, in case the initial write to this node didn't\n\t// update the leaf.\n\tif _, ok := t.writable.Get(n); ok {\n\t\tif t.trackMutate && forLeafUpdate && n.leaf != nil {\n\t\t\tt.trackChannel(n.leaf.mutateCh)\n\t\t}\n\t\treturn n\n\t}\n\n\t// Mark this node as being mutated.\n\tif t.trackMutate {\n\t\tt.trackChannel(n.mutateCh)\n\t}\n\n\t// Mark its leaf as being mutated, if appropriate.\n\tif t.trackMutate && forLeafUpdate && n.leaf != nil {\n\t\tt.trackChannel(n.leaf.mutateCh)\n\t}\n\n\t// Copy the existing node. If you have set forLeafUpdate it will be\n\t// safe to replace this leaf with another after you get your node for\n\t// writing. You MUST replace it, because the channel associated with\n\t// this leaf will be closed when this transaction is committed.\n\tnc := &Node{\n\t\tmutateCh: make(chan struct{}),\n\t\tleaf:     n.leaf,\n\t}\n\tif n.prefix != nil {\n\t\tnc.prefix = make([]byte, len(n.prefix))\n\t\tcopy(nc.prefix, n.prefix)\n\t}\n\tif len(n.edges) != 0 {\n\t\tnc.edges = make([]edge, len(n.edges))\n\t\tcopy(nc.edges, n.edges)\n\t}\n\n\t// Mark this node as writable.\n\tt.writable.Add(nc, nil)\n\treturn nc\n}\n\n// Visit all the nodes in the tree under n, and add their mutateChannels to the transaction\n// Returns the size of the subtree visited\nfunc (t *Txn) trackChannelsAndCount(n *Node) int {\n\t// Count only leaf nodes\n\tleaves := 0\n\tif n.leaf != nil {\n\t\tleaves = 1\n\t}\n\t// Mark this node as being mutated.\n\tif t.trackMutate {\n\t\tt.trackChannel(n.mutateCh)\n\t}\n\n\t// Mark its leaf as being mutated, if appropriate.\n\tif t.trackMutate && n.leaf != nil {\n\t\tt.trackChannel(n.leaf.mutateCh)\n\t}\n\n\t// Recurse on the children\n\tfor _, e := range n.edges {\n\t\tleaves += t.trackChannelsAndCount(e.node)\n\t}\n\treturn leaves\n}\n\n// mergeChild is called to collapse the given node with its child. This is only\n// called when the given node is not a leaf and has a single edge.\nfunc (t *Txn) mergeChild(n *Node) {\n\t// Mark the child node as being mutated since we are about to abandon\n\t// it. We don't need to mark the leaf since we are retaining it if it\n\t// is there.\n\te := n.edges[0]\n\tchild := e.node\n\tif t.trackMutate {\n\t\tt.trackChannel(child.mutateCh)\n\t}\n\n\t// Merge the nodes.\n\tn.prefix = concat(n.prefix, child.prefix)\n\tn.leaf = child.leaf\n\tif len(child.edges) != 0 {\n\t\tn.edges = make([]edge, len(child.edges))\n\t\tcopy(n.edges, child.edges)\n\t} else {\n\t\tn.edges = nil\n\t}\n}\n\n// insert does a recursive insertion\nfunc (t *Txn) insert(n *Node, k, search []byte, v interface{}) (*Node, interface{}, bool) {\n\t// Handle key exhaustion\n\tif len(search) == 0 {\n\t\tvar oldVal interface{}\n\t\tdidUpdate := false\n\t\tif n.isLeaf() {\n\t\t\toldVal = n.leaf.val\n\t\t\tdidUpdate = true\n\t\t}\n\n\t\tnc := t.writeNode(n, true)\n\t\tnc.leaf = &leafNode{\n\t\t\tmutateCh: make(chan struct{}),\n\t\t\tkey:      k,\n\t\t\tval:      v,\n\t\t}\n\t\treturn nc, oldVal, didUpdate\n\t}\n\n\t// Look for the edge\n\tidx, child := n.getEdge(search[0])\n\n\t// No edge, create one\n\tif child == nil {\n\t\te := edge{\n\t\t\tlabel: search[0],\n\t\t\tnode: &Node{\n\t\t\t\tmutateCh: make(chan struct{}),\n\t\t\t\tleaf: &leafNode{\n\t\t\t\t\tmutateCh: make(chan struct{}),\n\t\t\t\t\tkey:      k,\n\t\t\t\t\tval:      v,\n\t\t\t\t},\n\t\t\t\tprefix: search,\n\t\t\t},\n\t\t}\n\t\tnc := t.writeNode(n, false)\n\t\tnc.addEdge(e)\n\t\treturn nc, nil, false\n\t}\n\n\t// Determine longest prefix of the search key on match\n\tcommonPrefix := longestPrefix(search, child.prefix)\n\tif commonPrefix == len(child.prefix) {\n\t\tsearch = search[commonPrefix:]\n\t\tnewChild, oldVal, didUpdate := t.insert(child, k, search, v)\n\t\tif newChild != nil {\n\t\t\tnc := t.writeNode(n, false)\n\t\t\tnc.edges[idx].node = newChild\n\t\t\treturn nc, oldVal, didUpdate\n\t\t}\n\t\treturn nil, oldVal, didUpdate\n\t}\n\n\t// Split the node\n\tnc := t.writeNode(n, false)\n\tsplitNode := &Node{\n\t\tmutateCh: make(chan struct{}),\n\t\tprefix:   search[:commonPrefix],\n\t}\n\tnc.replaceEdge(edge{\n\t\tlabel: search[0],\n\t\tnode:  splitNode,\n\t})\n\n\t// Restore the existing child node\n\tmodChild := t.writeNode(child, false)\n\tsplitNode.addEdge(edge{\n\t\tlabel: modChild.prefix[commonPrefix],\n\t\tnode:  modChild,\n\t})\n\tmodChild.prefix = modChild.prefix[commonPrefix:]\n\n\t// Create a new leaf node\n\tleaf := &leafNode{\n\t\tmutateCh: make(chan struct{}),\n\t\tkey:      k,\n\t\tval:      v,\n\t}\n\n\t// If the new key is a subset, add to to this node\n\tsearch = search[commonPrefix:]\n\tif len(search) == 0 {\n\t\tsplitNode.leaf = leaf\n\t\treturn nc, nil, false\n\t}\n\n\t// Create a new edge for the node\n\tsplitNode.addEdge(edge{\n\t\tlabel: search[0],\n\t\tnode: &Node{\n\t\t\tmutateCh: make(chan struct{}),\n\t\t\tleaf:     leaf,\n\t\t\tprefix:   search,\n\t\t},\n\t})\n\treturn nc, nil, false\n}\n\n// delete does a recursive deletion\nfunc (t *Txn) delete(parent, n *Node, search []byte) (*Node, *leafNode) {\n\t// Check for key exhaustion\n\tif len(search) == 0 {\n\t\tif !n.isLeaf() {\n\t\t\treturn nil, nil\n\t\t}\n\t\t// Copy the pointer in case we are in a transaction that already\n\t\t// modified this node since the node will be reused. Any changes\n\t\t// made to the node will not affect returning the original leaf\n\t\t// value.\n\t\toldLeaf := n.leaf\n\n\t\t// Remove the leaf node\n\t\tnc := t.writeNode(n, true)\n\t\tnc.leaf = nil\n\n\t\t// Check if this node should be merged\n\t\tif n != t.root && len(nc.edges) == 1 {\n\t\t\tt.mergeChild(nc)\n\t\t}\n\t\treturn nc, oldLeaf\n\t}\n\n\t// Look for an edge\n\tlabel := search[0]\n\tidx, child := n.getEdge(label)\n\tif child == nil || !bytes.HasPrefix(search, child.prefix) {\n\t\treturn nil, nil\n\t}\n\n\t// Consume the search prefix\n\tsearch = search[len(child.prefix):]\n\tnewChild, leaf := t.delete(n, child, search)\n\tif newChild == nil {\n\t\treturn nil, nil\n\t}\n\n\t// Copy this node. WATCH OUT - it's safe to pass \"false\" here because we\n\t// will only ADD a leaf via nc.mergeChild() if there isn't one due to\n\t// the !nc.isLeaf() check in the logic just below. This is pretty subtle,\n\t// so be careful if you change any of the logic here.\n\tnc := t.writeNode(n, false)\n\n\t// Delete the edge if the node has no edges\n\tif newChild.leaf == nil && len(newChild.edges) == 0 {\n\t\tnc.delEdge(label)\n\t\tif n != t.root && len(nc.edges) == 1 && !nc.isLeaf() {\n\t\t\tt.mergeChild(nc)\n\t\t}\n\t} else {\n\t\tnc.edges[idx].node = newChild\n\t}\n\treturn nc, leaf\n}\n\n// delete does a recursive deletion\nfunc (t *Txn) deletePrefix(parent, n *Node, search []byte) (*Node, int) {\n\t// Check for key exhaustion\n\tif len(search) == 0 {\n\t\tnc := t.writeNode(n, true)\n\t\tif n.isLeaf() {\n\t\t\tnc.leaf = nil\n\t\t}\n\t\tnc.edges = nil\n\t\treturn nc, t.trackChannelsAndCount(n)\n\t}\n\n\t// Look for an edge\n\tlabel := search[0]\n\tidx, child := n.getEdge(label)\n\t// We make sure that either the child node's prefix starts with the search term, or the search term starts with the child node's prefix\n\t// Need to do both so that we can delete prefixes that don't correspond to any node in the tree\n\tif child == nil || (!bytes.HasPrefix(child.prefix, search) && !bytes.HasPrefix(search, child.prefix)) {\n\t\treturn nil, 0\n\t}\n\n\t// Consume the search prefix\n\tif len(child.prefix) > len(search) {\n\t\tsearch = []byte(\"\")\n\t} else {\n\t\tsearch = search[len(child.prefix):]\n\t}\n\tnewChild, numDeletions := t.deletePrefix(n, child, search)\n\tif newChild == nil {\n\t\treturn nil, 0\n\t}\n\t// Copy this node. WATCH OUT - it's safe to pass \"false\" here because we\n\t// will only ADD a leaf via nc.mergeChild() if there isn't one due to\n\t// the !nc.isLeaf() check in the logic just below. This is pretty subtle,\n\t// so be careful if you change any of the logic here.\n\n\tnc := t.writeNode(n, false)\n\n\t// Delete the edge if the node has no edges\n\tif newChild.leaf == nil && len(newChild.edges) == 0 {\n\t\tnc.delEdge(label)\n\t\tif n != t.root && len(nc.edges) == 1 && !nc.isLeaf() {\n\t\t\tt.mergeChild(nc)\n\t\t}\n\t} else {\n\t\tnc.edges[idx].node = newChild\n\t}\n\treturn nc, numDeletions\n}\n\n// Insert is used to add or update a given key. The return provides\n// the previous value and a bool indicating if any was set.\nfunc (t *Txn) Insert(k []byte, v interface{}) (interface{}, bool) {\n\tnewRoot, oldVal, didUpdate := t.insert(t.root, k, k, v)\n\tif newRoot != nil {\n\t\tt.root = newRoot\n\t}\n\tif !didUpdate {\n\t\tt.size++\n\t}\n\treturn oldVal, didUpdate\n}\n\n// Delete is used to delete a given key. Returns the old value if any,\n// and a bool indicating if the key was set.\nfunc (t *Txn) Delete(k []byte) (interface{}, bool) {\n\tnewRoot, leaf := t.delete(nil, t.root, k)\n\tif newRoot != nil {\n\t\tt.root = newRoot\n\t}\n\tif leaf != nil {\n\t\tt.size--\n\t\treturn leaf.val, true\n\t}\n\treturn nil, false\n}\n\n// DeletePrefix is used to delete an entire subtree that matches the prefix\n// This will delete all nodes under that prefix\nfunc (t *Txn) DeletePrefix(prefix []byte) bool {\n\tnewRoot, numDeletions := t.deletePrefix(nil, t.root, prefix)\n\tif newRoot != nil {\n\t\tt.root = newRoot\n\t\tt.size = t.size - numDeletions\n\t\treturn true\n\t}\n\treturn false\n\n}\n\n// Root returns the current root of the radix tree within this\n// transaction. The root is not safe across insert and delete operations,\n// but can be used to read the current state during a transaction.\nfunc (t *Txn) Root() *Node {\n\treturn t.root\n}\n\n// Get is used to lookup a specific key, returning\n// the value and if it was found\nfunc (t *Txn) Get(k []byte) (interface{}, bool) {\n\treturn t.root.Get(k)\n}\n\n// GetWatch is used to lookup a specific key, returning\n// the watch channel, value and if it was found\nfunc (t *Txn) GetWatch(k []byte) (<-chan struct{}, interface{}, bool) {\n\treturn t.root.GetWatch(k)\n}\n\n// Commit is used to finalize the transaction and return a new tree. If mutation\n// tracking is turned on then notifications will also be issued.\nfunc (t *Txn) Commit() *Tree {\n\tnt := t.CommitOnly()\n\tif t.trackMutate {\n\t\tt.Notify()\n\t}\n\treturn nt\n}\n\n// CommitOnly is used to finalize the transaction and return a new tree, but\n// does not issue any notifications until Notify is called.\nfunc (t *Txn) CommitOnly() *Tree {\n\tnt := &Tree{t.root, t.size}\n\tt.writable = nil\n\treturn nt\n}\n\n// slowNotify does a complete comparison of the before and after trees in order\n// to trigger notifications. This doesn't require any additional state but it\n// is very expensive to compute.\nfunc (t *Txn) slowNotify() {\n\tsnapIter := t.snap.rawIterator()\n\trootIter := t.root.rawIterator()\n\tfor snapIter.Front() != nil || rootIter.Front() != nil {\n\t\t// If we've exhausted the nodes in the old snapshot, we know\n\t\t// there's nothing remaining to notify.\n\t\tif snapIter.Front() == nil {\n\t\t\treturn\n\t\t}\n\t\tsnapElem := snapIter.Front()\n\n\t\t// If we've exhausted the nodes in the new root, we know we need\n\t\t// to invalidate everything that remains in the old snapshot. We\n\t\t// know from the loop condition there's something in the old\n\t\t// snapshot.\n\t\tif rootIter.Front() == nil {\n\t\t\tclose(snapElem.mutateCh)\n\t\t\tif snapElem.isLeaf() {\n\t\t\t\tclose(snapElem.leaf.mutateCh)\n\t\t\t}\n\t\t\tsnapIter.Next()\n\t\t\tcontinue\n\t\t}\n\n\t\t// Do one string compare so we can check the various conditions\n\t\t// below without repeating the compare.\n\t\tcmp := strings.Compare(snapIter.Path(), rootIter.Path())\n\n\t\t// If the snapshot is behind the root, then we must have deleted\n\t\t// this node during the transaction.\n\t\tif cmp < 0 {\n\t\t\tclose(snapElem.mutateCh)\n\t\t\tif snapElem.isLeaf() {\n\t\t\t\tclose(snapElem.leaf.mutateCh)\n\t\t\t}\n\t\t\tsnapIter.Next()\n\t\t\tcontinue\n\t\t}\n\n\t\t// If the snapshot is ahead of the root, then we must have added\n\t\t// this node during the transaction.\n\t\tif cmp > 0 {\n\t\t\trootIter.Next()\n\t\t\tcontinue\n\t\t}\n\n\t\t// If we have the same path, then we need to see if we mutated a\n\t\t// node and possibly the leaf.\n\t\trootElem := rootIter.Front()\n\t\tif snapElem != rootElem {\n\t\t\tclose(snapElem.mutateCh)\n\t\t\tif snapElem.leaf != nil && (snapElem.leaf != rootElem.leaf) {\n\t\t\t\tclose(snapElem.leaf.mutateCh)\n\t\t\t}\n\t\t}\n\t\tsnapIter.Next()\n\t\trootIter.Next()\n\t}\n}\n\n// Notify is used along with TrackMutate to trigger notifications. This must\n// only be done once a transaction is committed via CommitOnly, and it is called\n// automatically by Commit.\nfunc (t *Txn) Notify() {\n\tif !t.trackMutate {\n\t\treturn\n\t}\n\n\t// If we've overflowed the tracking state we can't use it in any way and\n\t// need to do a full tree compare.\n\tif t.trackOverflow {\n\t\tt.slowNotify()\n\t} else {\n\t\tfor ch := range t.trackChannels {\n\t\t\tclose(ch)\n\t\t}\n\t}\n\n\t// Clean up the tracking state so that a re-notify is safe (will trigger\n\t// the else clause above which will be a no-op).\n\tt.trackChannels = nil\n\tt.trackOverflow = false\n}\n\n// Insert is used to add or update a given key. The return provides\n// the new tree, previous value and a bool indicating if any was set.\nfunc (t *Tree) Insert(k []byte, v interface{}) (*Tree, interface{}, bool) {\n\ttxn := t.Txn()\n\told, ok := txn.Insert(k, v)\n\treturn txn.Commit(), old, ok\n}\n\n// Delete is used to delete a given key. Returns the new tree,\n// old value if any, and a bool indicating if the key was set.\nfunc (t *Tree) Delete(k []byte) (*Tree, interface{}, bool) {\n\ttxn := t.Txn()\n\told, ok := txn.Delete(k)\n\treturn txn.Commit(), old, ok\n}\n\n// DeletePrefix is used to delete all nodes starting with a given prefix. Returns the new tree,\n// and a bool indicating if the prefix matched any nodes\nfunc (t *Tree) DeletePrefix(k []byte) (*Tree, bool) {\n\ttxn := t.Txn()\n\tok := txn.DeletePrefix(k)\n\treturn txn.Commit(), ok\n}\n\n// Root returns the root node of the tree which can be used for richer\n// query operations.\nfunc (t *Tree) Root() *Node {\n\treturn t.root\n}\n\n// Get is used to lookup a specific key, returning\n// the value and if it was found\nfunc (t *Tree) Get(k []byte) (interface{}, bool) {\n\treturn t.root.Get(k)\n}\n\n// longestPrefix finds the length of the shared prefix\n// of two strings\nfunc longestPrefix(k1, k2 []byte) int {\n\tmax := len(k1)\n\tif l := len(k2); l < max {\n\t\tmax = l\n\t}\n\tvar i int\n\tfor i = 0; i < max; i++ {\n\t\tif k1[i] != k2[i] {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn i\n}\n\n// concat two byte slices, returning a third new copy\nfunc concat(a, b []byte) []byte {\n\tc := make([]byte, len(a)+len(b))\n\tcopy(c, a)\n\tcopy(c[len(a):], b)\n\treturn c\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-immutable-radix/iter.go",
    "content": "package iradix\n\nimport \"bytes\"\n\n// Iterator is used to iterate over a set of nodes\n// in pre-order\ntype Iterator struct {\n\tnode  *Node\n\tstack []edges\n}\n\n// SeekPrefixWatch is used to seek the iterator to a given prefix\n// and returns the watch channel of the finest granularity\nfunc (i *Iterator) SeekPrefixWatch(prefix []byte) (watch <-chan struct{}) {\n\t// Wipe the stack\n\ti.stack = nil\n\tn := i.node\n\twatch = n.mutateCh\n\tsearch := prefix\n\tfor {\n\t\t// Check for key exhaution\n\t\tif len(search) == 0 {\n\t\t\ti.node = n\n\t\t\treturn\n\t\t}\n\n\t\t// Look for an edge\n\t\t_, n = n.getEdge(search[0])\n\t\tif n == nil {\n\t\t\ti.node = nil\n\t\t\treturn\n\t\t}\n\n\t\t// Update to the finest granularity as the search makes progress\n\t\twatch = n.mutateCh\n\n\t\t// Consume the search prefix\n\t\tif bytes.HasPrefix(search, n.prefix) {\n\t\t\tsearch = search[len(n.prefix):]\n\n\t\t} else if bytes.HasPrefix(n.prefix, search) {\n\t\t\ti.node = n\n\t\t\treturn\n\t\t} else {\n\t\t\ti.node = nil\n\t\t\treturn\n\t\t}\n\t}\n}\n\n// SeekPrefix is used to seek the iterator to a given prefix\nfunc (i *Iterator) SeekPrefix(prefix []byte) {\n\ti.SeekPrefixWatch(prefix)\n}\n\n// Next returns the next node in order\nfunc (i *Iterator) Next() ([]byte, interface{}, bool) {\n\t// Initialize our stack if needed\n\tif i.stack == nil && i.node != nil {\n\t\ti.stack = []edges{\n\t\t\tedges{\n\t\t\t\tedge{node: i.node},\n\t\t\t},\n\t\t}\n\t}\n\n\tfor len(i.stack) > 0 {\n\t\t// Inspect the last element of the stack\n\t\tn := len(i.stack)\n\t\tlast := i.stack[n-1]\n\t\telem := last[0].node\n\n\t\t// Update the stack\n\t\tif len(last) > 1 {\n\t\t\ti.stack[n-1] = last[1:]\n\t\t} else {\n\t\t\ti.stack = i.stack[:n-1]\n\t\t}\n\n\t\t// Push the edges onto the frontier\n\t\tif len(elem.edges) > 0 {\n\t\t\ti.stack = append(i.stack, elem.edges)\n\t\t}\n\n\t\t// Return the leaf values if any\n\t\tif elem.leaf != nil {\n\t\t\treturn elem.leaf.key, elem.leaf.val, true\n\t\t}\n\t}\n\treturn nil, nil, false\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-immutable-radix/node.go",
    "content": "package iradix\n\nimport (\n\t\"bytes\"\n\t\"sort\"\n)\n\n// WalkFn is used when walking the tree. Takes a\n// key and value, returning if iteration should\n// be terminated.\ntype WalkFn func(k []byte, v interface{}) bool\n\n// leafNode is used to represent a value\ntype leafNode struct {\n\tmutateCh chan struct{}\n\tkey      []byte\n\tval      interface{}\n}\n\n// edge is used to represent an edge node\ntype edge struct {\n\tlabel byte\n\tnode  *Node\n}\n\n// Node is an immutable node in the radix tree\ntype Node struct {\n\t// mutateCh is closed if this node is modified\n\tmutateCh chan struct{}\n\n\t// leaf is used to store possible leaf\n\tleaf *leafNode\n\n\t// prefix is the common prefix we ignore\n\tprefix []byte\n\n\t// Edges should be stored in-order for iteration.\n\t// We avoid a fully materialized slice to save memory,\n\t// since in most cases we expect to be sparse\n\tedges edges\n}\n\nfunc (n *Node) isLeaf() bool {\n\treturn n.leaf != nil\n}\n\nfunc (n *Node) addEdge(e edge) {\n\tnum := len(n.edges)\n\tidx := sort.Search(num, func(i int) bool {\n\t\treturn n.edges[i].label >= e.label\n\t})\n\tn.edges = append(n.edges, e)\n\tif idx != num {\n\t\tcopy(n.edges[idx+1:], n.edges[idx:num])\n\t\tn.edges[idx] = e\n\t}\n}\n\nfunc (n *Node) replaceEdge(e edge) {\n\tnum := len(n.edges)\n\tidx := sort.Search(num, func(i int) bool {\n\t\treturn n.edges[i].label >= e.label\n\t})\n\tif idx < num && n.edges[idx].label == e.label {\n\t\tn.edges[idx].node = e.node\n\t\treturn\n\t}\n\tpanic(\"replacing missing edge\")\n}\n\nfunc (n *Node) getEdge(label byte) (int, *Node) {\n\tnum := len(n.edges)\n\tidx := sort.Search(num, func(i int) bool {\n\t\treturn n.edges[i].label >= label\n\t})\n\tif idx < num && n.edges[idx].label == label {\n\t\treturn idx, n.edges[idx].node\n\t}\n\treturn -1, nil\n}\n\nfunc (n *Node) delEdge(label byte) {\n\tnum := len(n.edges)\n\tidx := sort.Search(num, func(i int) bool {\n\t\treturn n.edges[i].label >= label\n\t})\n\tif idx < num && n.edges[idx].label == label {\n\t\tcopy(n.edges[idx:], n.edges[idx+1:])\n\t\tn.edges[len(n.edges)-1] = edge{}\n\t\tn.edges = n.edges[:len(n.edges)-1]\n\t}\n}\n\nfunc (n *Node) GetWatch(k []byte) (<-chan struct{}, interface{}, bool) {\n\tsearch := k\n\twatch := n.mutateCh\n\tfor {\n\t\t// Check for key exhaustion\n\t\tif len(search) == 0 {\n\t\t\tif n.isLeaf() {\n\t\t\t\treturn n.leaf.mutateCh, n.leaf.val, true\n\t\t\t}\n\t\t\tbreak\n\t\t}\n\n\t\t// Look for an edge\n\t\t_, n = n.getEdge(search[0])\n\t\tif n == nil {\n\t\t\tbreak\n\t\t}\n\n\t\t// Update to the finest granularity as the search makes progress\n\t\twatch = n.mutateCh\n\n\t\t// Consume the search prefix\n\t\tif bytes.HasPrefix(search, n.prefix) {\n\t\t\tsearch = search[len(n.prefix):]\n\t\t} else {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn watch, nil, false\n}\n\nfunc (n *Node) Get(k []byte) (interface{}, bool) {\n\t_, val, ok := n.GetWatch(k)\n\treturn val, ok\n}\n\n// LongestPrefix is like Get, but instead of an\n// exact match, it will return the longest prefix match.\nfunc (n *Node) LongestPrefix(k []byte) ([]byte, interface{}, bool) {\n\tvar last *leafNode\n\tsearch := k\n\tfor {\n\t\t// Look for a leaf node\n\t\tif n.isLeaf() {\n\t\t\tlast = n.leaf\n\t\t}\n\n\t\t// Check for key exhaution\n\t\tif len(search) == 0 {\n\t\t\tbreak\n\t\t}\n\n\t\t// Look for an edge\n\t\t_, n = n.getEdge(search[0])\n\t\tif n == nil {\n\t\t\tbreak\n\t\t}\n\n\t\t// Consume the search prefix\n\t\tif bytes.HasPrefix(search, n.prefix) {\n\t\t\tsearch = search[len(n.prefix):]\n\t\t} else {\n\t\t\tbreak\n\t\t}\n\t}\n\tif last != nil {\n\t\treturn last.key, last.val, true\n\t}\n\treturn nil, nil, false\n}\n\n// Minimum is used to return the minimum value in the tree\nfunc (n *Node) Minimum() ([]byte, interface{}, bool) {\n\tfor {\n\t\tif n.isLeaf() {\n\t\t\treturn n.leaf.key, n.leaf.val, true\n\t\t}\n\t\tif len(n.edges) > 0 {\n\t\t\tn = n.edges[0].node\n\t\t} else {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn nil, nil, false\n}\n\n// Maximum is used to return the maximum value in the tree\nfunc (n *Node) Maximum() ([]byte, interface{}, bool) {\n\tfor {\n\t\tif num := len(n.edges); num > 0 {\n\t\t\tn = n.edges[num-1].node\n\t\t\tcontinue\n\t\t}\n\t\tif n.isLeaf() {\n\t\t\treturn n.leaf.key, n.leaf.val, true\n\t\t} else {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn nil, nil, false\n}\n\n// Iterator is used to return an iterator at\n// the given node to walk the tree\nfunc (n *Node) Iterator() *Iterator {\n\treturn &Iterator{node: n}\n}\n\n// rawIterator is used to return a raw iterator at the given node to walk the\n// tree.\nfunc (n *Node) rawIterator() *rawIterator {\n\titer := &rawIterator{node: n}\n\titer.Next()\n\treturn iter\n}\n\n// Walk is used to walk the tree\nfunc (n *Node) Walk(fn WalkFn) {\n\trecursiveWalk(n, fn)\n}\n\n// WalkPrefix is used to walk the tree under a prefix\nfunc (n *Node) WalkPrefix(prefix []byte, fn WalkFn) {\n\tsearch := prefix\n\tfor {\n\t\t// Check for key exhaution\n\t\tif len(search) == 0 {\n\t\t\trecursiveWalk(n, fn)\n\t\t\treturn\n\t\t}\n\n\t\t// Look for an edge\n\t\t_, n = n.getEdge(search[0])\n\t\tif n == nil {\n\t\t\tbreak\n\t\t}\n\n\t\t// Consume the search prefix\n\t\tif bytes.HasPrefix(search, n.prefix) {\n\t\t\tsearch = search[len(n.prefix):]\n\n\t\t} else if bytes.HasPrefix(n.prefix, search) {\n\t\t\t// Child may be under our search prefix\n\t\t\trecursiveWalk(n, fn)\n\t\t\treturn\n\t\t} else {\n\t\t\tbreak\n\t\t}\n\t}\n}\n\n// WalkPath is used to walk the tree, but only visiting nodes\n// from the root down to a given leaf. Where WalkPrefix walks\n// all the entries *under* the given prefix, this walks the\n// entries *above* the given prefix.\nfunc (n *Node) WalkPath(path []byte, fn WalkFn) {\n\tsearch := path\n\tfor {\n\t\t// Visit the leaf values if any\n\t\tif n.leaf != nil && fn(n.leaf.key, n.leaf.val) {\n\t\t\treturn\n\t\t}\n\n\t\t// Check for key exhaution\n\t\tif len(search) == 0 {\n\t\t\treturn\n\t\t}\n\n\t\t// Look for an edge\n\t\t_, n = n.getEdge(search[0])\n\t\tif n == nil {\n\t\t\treturn\n\t\t}\n\n\t\t// Consume the search prefix\n\t\tif bytes.HasPrefix(search, n.prefix) {\n\t\t\tsearch = search[len(n.prefix):]\n\t\t} else {\n\t\t\tbreak\n\t\t}\n\t}\n}\n\n// recursiveWalk is used to do a pre-order walk of a node\n// recursively. Returns true if the walk should be aborted\nfunc recursiveWalk(n *Node, fn WalkFn) bool {\n\t// Visit the leaf values if any\n\tif n.leaf != nil && fn(n.leaf.key, n.leaf.val) {\n\t\treturn true\n\t}\n\n\t// Recurse on the children\n\tfor _, e := range n.edges {\n\t\tif recursiveWalk(e.node, fn) {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-immutable-radix/raw_iter.go",
    "content": "package iradix\n\n// rawIterator visits each of the nodes in the tree, even the ones that are not\n// leaves. It keeps track of the effective path (what a leaf at a given node\n// would be called), which is useful for comparing trees.\ntype rawIterator struct {\n\t// node is the starting node in the tree for the iterator.\n\tnode *Node\n\n\t// stack keeps track of edges in the frontier.\n\tstack []rawStackEntry\n\n\t// pos is the current position of the iterator.\n\tpos *Node\n\n\t// path is the effective path of the current iterator position,\n\t// regardless of whether the current node is a leaf.\n\tpath string\n}\n\n// rawStackEntry is used to keep track of the cumulative common path as well as\n// its associated edges in the frontier.\ntype rawStackEntry struct {\n\tpath  string\n\tedges edges\n}\n\n// Front returns the current node that has been iterated to.\nfunc (i *rawIterator) Front() *Node {\n\treturn i.pos\n}\n\n// Path returns the effective path of the current node, even if it's not actually\n// a leaf.\nfunc (i *rawIterator) Path() string {\n\treturn i.path\n}\n\n// Next advances the iterator to the next node.\nfunc (i *rawIterator) Next() {\n\t// Initialize our stack if needed.\n\tif i.stack == nil && i.node != nil {\n\t\ti.stack = []rawStackEntry{\n\t\t\trawStackEntry{\n\t\t\t\tedges: edges{\n\t\t\t\t\tedge{node: i.node},\n\t\t\t\t},\n\t\t\t},\n\t\t}\n\t}\n\n\tfor len(i.stack) > 0 {\n\t\t// Inspect the last element of the stack.\n\t\tn := len(i.stack)\n\t\tlast := i.stack[n-1]\n\t\telem := last.edges[0].node\n\n\t\t// Update the stack.\n\t\tif len(last.edges) > 1 {\n\t\t\ti.stack[n-1].edges = last.edges[1:]\n\t\t} else {\n\t\t\ti.stack = i.stack[:n-1]\n\t\t}\n\n\t\t// Push the edges onto the frontier.\n\t\tif len(elem.edges) > 0 {\n\t\t\tpath := last.path + string(elem.prefix)\n\t\t\ti.stack = append(i.stack, rawStackEntry{path, elem.edges})\n\t\t}\n\n\t\ti.pos = elem\n\t\ti.path = last.path + string(elem.prefix)\n\t\treturn\n\t}\n\n\ti.pos = nil\n\ti.path = \"\"\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-msgpack/LICENSE",
    "content": "Copyright (c) 2012, 2013 Ugorji Nwoke.\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice,\n  this list of conditions and the following disclaimer.\n* Redistributions in binary form must reproduce the above copyright notice,\n  this list of conditions and the following disclaimer in the documentation\n  and/or other materials provided with the distribution.\n* Neither the name of the author nor the names of its contributors may be used\n  to endorse or promote products derived from this software\n  without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-msgpack/codec/0doc.go",
    "content": "// Copyright (c) 2012, 2013 Ugorji Nwoke. All rights reserved.\n// Use of this source code is governed by a BSD-style license found in the LICENSE file.\n\n/*\nHigh Performance, Feature-Rich Idiomatic Go encoding library for msgpack and binc .\n\nSupported Serialization formats are:\n\n  - msgpack: [https://github.com/msgpack/msgpack]\n  - binc: [http://github.com/ugorji/binc]\n\nTo install:\n\n    go get github.com/ugorji/go/codec\n\nThe idiomatic Go support is as seen in other encoding packages in\nthe standard library (ie json, xml, gob, etc).\n\nRich Feature Set includes:\n\n  - Simple but extremely powerful and feature-rich API\n  - Very High Performance.\n    Our extensive benchmarks show us outperforming Gob, Json and Bson by 2-4X.\n    This was achieved by taking extreme care on:\n      - managing allocation\n      - function frame size (important due to Go's use of split stacks),\n      - reflection use (and by-passing reflection for common types)\n      - recursion implications\n      - zero-copy mode (encoding/decoding to byte slice without using temp buffers)\n  - Correct.\n    Care was taken to precisely handle corner cases like:\n      overflows, nil maps and slices, nil value in stream, etc.\n  - Efficient zero-copying into temporary byte buffers\n    when encoding into or decoding from a byte slice.\n  - Standard field renaming via tags\n  - Encoding from any value\n    (struct, slice, map, primitives, pointers, interface{}, etc)\n  - Decoding into pointer to any non-nil typed value\n    (struct, slice, map, int, float32, bool, string, reflect.Value, etc)\n  - Supports extension functions to handle the encode/decode of custom types\n  - Support Go 1.2 encoding.BinaryMarshaler/BinaryUnmarshaler\n  - Schema-less decoding\n    (decode into a pointer to a nil interface{} as opposed to a typed non-nil value).\n    Includes Options to configure what specific map or slice type to use\n    when decoding an encoded list or map into a nil interface{}\n  - Provides a RPC Server and Client Codec for net/rpc communication protocol.\n  - Msgpack Specific:\n      - Provides extension functions to handle spec-defined extensions (binary, timestamp)\n      - Options to resolve ambiguities in handling raw bytes (as string or []byte)\n        during schema-less decoding (decoding into a nil interface{})\n      - RPC Server/Client Codec for msgpack-rpc protocol defined at:\n        https://github.com/msgpack-rpc/msgpack-rpc/blob/master/spec.md\n  - Fast Paths for some container types:\n    For some container types, we circumvent reflection and its associated overhead\n    and allocation costs, and encode/decode directly. These types are:\n\t    []interface{}\n\t    []int\n\t    []string\n\t    map[interface{}]interface{}\n\t    map[int]interface{}\n\t    map[string]interface{}\n\nExtension Support\n\nUsers can register a function to handle the encoding or decoding of\ntheir custom types.\n\nThere are no restrictions on what the custom type can be. Some examples:\n\n    type BisSet   []int\n    type BitSet64 uint64\n    type UUID     string\n    type MyStructWithUnexportedFields struct { a int; b bool; c []int; }\n    type GifImage struct { ... }\n\nAs an illustration, MyStructWithUnexportedFields would normally be\nencoded as an empty map because it has no exported fields, while UUID\nwould be encoded as a string. However, with extension support, you can\nencode any of these however you like.\n\nRPC\n\nRPC Client and Server Codecs are implemented, so the codecs can be used\nwith the standard net/rpc package.\n\nUsage\n\nTypical usage model:\n\n    // create and configure Handle\n    var (\n      bh codec.BincHandle\n      mh codec.MsgpackHandle\n    )\n\n    mh.MapType = reflect.TypeOf(map[string]interface{}(nil))\n\n    // configure extensions\n    // e.g. for msgpack, define functions and enable Time support for tag 1\n    // mh.AddExt(reflect.TypeOf(time.Time{}), 1, myMsgpackTimeEncodeExtFn, myMsgpackTimeDecodeExtFn)\n\n    // create and use decoder/encoder\n    var (\n      r io.Reader\n      w io.Writer\n      b []byte\n      h = &bh // or mh to use msgpack\n    )\n\n    dec = codec.NewDecoder(r, h)\n    dec = codec.NewDecoderBytes(b, h)\n    err = dec.Decode(&v)\n\n    enc = codec.NewEncoder(w, h)\n    enc = codec.NewEncoderBytes(&b, h)\n    err = enc.Encode(v)\n\n    //RPC Server\n    go func() {\n        for {\n            conn, err := listener.Accept()\n            rpcCodec := codec.GoRpc.ServerCodec(conn, h)\n            //OR rpcCodec := codec.MsgpackSpecRpc.ServerCodec(conn, h)\n            rpc.ServeCodec(rpcCodec)\n        }\n    }()\n\n    //RPC Communication (client side)\n    conn, err = net.Dial(\"tcp\", \"localhost:5555\")\n    rpcCodec := codec.GoRpc.ClientCodec(conn, h)\n    //OR rpcCodec := codec.MsgpackSpecRpc.ClientCodec(conn, h)\n    client := rpc.NewClientWithCodec(rpcCodec)\n\nRepresentative Benchmark Results\n\nRun the benchmark suite using:\n   go test -bi -bench=. -benchmem\n\nTo run full benchmark suite (including against vmsgpack and bson),\nsee notes in ext_dep_test.go\n\n*/\npackage codec\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-msgpack/codec/README.md",
    "content": "# Codec\n\nHigh Performance and Feature-Rich Idiomatic Go Library providing\nencode/decode support for different serialization formats.\n\nSupported Serialization formats are:\n\n  - msgpack: [https://github.com/msgpack/msgpack]\n  - binc: [http://github.com/ugorji/binc]\n\nTo install:\n\n    go get github.com/ugorji/go/codec\n\nOnline documentation: [http://godoc.org/github.com/ugorji/go/codec]\n\nThe idiomatic Go support is as seen in other encoding packages in\nthe standard library (ie json, xml, gob, etc).\n\nRich Feature Set includes:\n\n  - Simple but extremely powerful and feature-rich API\n  - Very High Performance.   \n    Our extensive benchmarks show us outperforming Gob, Json and Bson by 2-4X.\n    This was achieved by taking extreme care on:\n      - managing allocation\n      - function frame size (important due to Go's use of split stacks),\n      - reflection use (and by-passing reflection for common types)\n      - recursion implications\n      - zero-copy mode (encoding/decoding to byte slice without using temp buffers)\n  - Correct.  \n    Care was taken to precisely handle corner cases like: \n      overflows, nil maps and slices, nil value in stream, etc.\n  - Efficient zero-copying into temporary byte buffers  \n    when encoding into or decoding from a byte slice.\n  - Standard field renaming via tags\n  - Encoding from any value  \n    (struct, slice, map, primitives, pointers, interface{}, etc)\n  - Decoding into pointer to any non-nil typed value  \n    (struct, slice, map, int, float32, bool, string, reflect.Value, etc)\n  - Supports extension functions to handle the encode/decode of custom types\n  - Support Go 1.2 encoding.BinaryMarshaler/BinaryUnmarshaler\n  - Schema-less decoding  \n    (decode into a pointer to a nil interface{} as opposed to a typed non-nil value).  \n    Includes Options to configure what specific map or slice type to use \n    when decoding an encoded list or map into a nil interface{}\n  - Provides a RPC Server and Client Codec for net/rpc communication protocol.\n  - Msgpack Specific:\n      - Provides extension functions to handle spec-defined extensions (binary, timestamp)\n      - Options to resolve ambiguities in handling raw bytes (as string or []byte)  \n        during schema-less decoding (decoding into a nil interface{})\n      - RPC Server/Client Codec for msgpack-rpc protocol defined at: \n        https://github.com/msgpack-rpc/msgpack-rpc/blob/master/spec.md\n  - Fast Paths for some container types:  \n    For some container types, we circumvent reflection and its associated overhead\n    and allocation costs, and encode/decode directly. These types are:  \n\t    []interface{}\n\t    []int\n\t    []string\n\t    map[interface{}]interface{}\n\t    map[int]interface{}\n\t    map[string]interface{}\n\n## Extension Support\n\nUsers can register a function to handle the encoding or decoding of\ntheir custom types.\n\nThere are no restrictions on what the custom type can be. Some examples:\n\n    type BisSet   []int\n    type BitSet64 uint64\n    type UUID     string\n    type MyStructWithUnexportedFields struct { a int; b bool; c []int; }\n    type GifImage struct { ... }\n\nAs an illustration, MyStructWithUnexportedFields would normally be\nencoded as an empty map because it has no exported fields, while UUID\nwould be encoded as a string. However, with extension support, you can\nencode any of these however you like.\n\n## RPC\n\nRPC Client and Server Codecs are implemented, so the codecs can be used\nwith the standard net/rpc package.\n\n## Usage\n\nTypical usage model:\n\n    // create and configure Handle\n    var (\n      bh codec.BincHandle\n      mh codec.MsgpackHandle\n    )\n\n    mh.MapType = reflect.TypeOf(map[string]interface{}(nil))\n    \n    // configure extensions\n    // e.g. for msgpack, define functions and enable Time support for tag 1\n    // mh.AddExt(reflect.TypeOf(time.Time{}), 1, myMsgpackTimeEncodeExtFn, myMsgpackTimeDecodeExtFn)\n\n    // create and use decoder/encoder\n    var (\n      r io.Reader\n      w io.Writer\n      b []byte\n      h = &bh // or mh to use msgpack\n    )\n    \n    dec = codec.NewDecoder(r, h)\n    dec = codec.NewDecoderBytes(b, h)\n    err = dec.Decode(&v) \n    \n    enc = codec.NewEncoder(w, h)\n    enc = codec.NewEncoderBytes(&b, h)\n    err = enc.Encode(v)\n    \n    //RPC Server\n    go func() {\n        for {\n            conn, err := listener.Accept()\n            rpcCodec := codec.GoRpc.ServerCodec(conn, h)\n            //OR rpcCodec := codec.MsgpackSpecRpc.ServerCodec(conn, h)\n            rpc.ServeCodec(rpcCodec)\n        }\n    }()\n\n    //RPC Communication (client side)\n    conn, err = net.Dial(\"tcp\", \"localhost:5555\")\n    rpcCodec := codec.GoRpc.ClientCodec(conn, h)\n    //OR rpcCodec := codec.MsgpackSpecRpc.ClientCodec(conn, h)\n    client := rpc.NewClientWithCodec(rpcCodec)\n\n## Representative Benchmark Results\n\nA sample run of benchmark using \"go test -bi -bench=. -benchmem\":\n\n    /proc/cpuinfo: Intel(R) Core(TM) i7-2630QM CPU @ 2.00GHz (HT)\n    \n    ..............................................\n    BENCHMARK INIT: 2013-10-16 11:02:50.345970786 -0400 EDT\n    To run full benchmark comparing encodings (MsgPack, Binc, JSON, GOB, etc), use: \"go test -bench=.\"\n    Benchmark: \n    \tStruct recursive Depth:             1\n    \tApproxDeepSize Of benchmark Struct: 4694 bytes\n    Benchmark One-Pass Run:\n    \t v-msgpack: len: 1600 bytes\n    \t      bson: len: 3025 bytes\n    \t   msgpack: len: 1560 bytes\n    \t      binc: len: 1187 bytes\n    \t       gob: len: 1972 bytes\n    \t      json: len: 2538 bytes\n    ..............................................\n    PASS\n    Benchmark__Msgpack____Encode\t   50000\t     54359 ns/op\t   14953 B/op\t      83 allocs/op\n    Benchmark__Msgpack____Decode\t   10000\t    106531 ns/op\t   14990 B/op\t     410 allocs/op\n    Benchmark__Binc_NoSym_Encode\t   50000\t     53956 ns/op\t   14966 B/op\t      83 allocs/op\n    Benchmark__Binc_NoSym_Decode\t   10000\t    103751 ns/op\t   14529 B/op\t     386 allocs/op\n    Benchmark__Binc_Sym___Encode\t   50000\t     65961 ns/op\t   17130 B/op\t      88 allocs/op\n    Benchmark__Binc_Sym___Decode\t   10000\t    106310 ns/op\t   15857 B/op\t     287 allocs/op\n    Benchmark__Gob________Encode\t   10000\t    135944 ns/op\t   21189 B/op\t     237 allocs/op\n    Benchmark__Gob________Decode\t    5000\t    405390 ns/op\t   83460 B/op\t    1841 allocs/op\n    Benchmark__Json_______Encode\t   20000\t     79412 ns/op\t   13874 B/op\t     102 allocs/op\n    Benchmark__Json_______Decode\t   10000\t    247979 ns/op\t   14202 B/op\t     493 allocs/op\n    Benchmark__Bson_______Encode\t   10000\t    121762 ns/op\t   27814 B/op\t     514 allocs/op\n    Benchmark__Bson_______Decode\t   10000\t    162126 ns/op\t   16514 B/op\t     789 allocs/op\n    Benchmark__VMsgpack___Encode\t   50000\t     69155 ns/op\t   12370 B/op\t     344 allocs/op\n    Benchmark__VMsgpack___Decode\t   10000\t    151609 ns/op\t   20307 B/op\t     571 allocs/op\n    ok  \tugorji.net/codec\t30.827s\n\nTo run full benchmark suite (including against vmsgpack and bson), \nsee notes in ext\\_dep\\_test.go\n\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-msgpack/codec/binc.go",
    "content": "// Copyright (c) 2012, 2013 Ugorji Nwoke. All rights reserved.\n// Use of this source code is governed by a BSD-style license found in the LICENSE file.\n\npackage codec\n\nimport (\n\t\"math\"\n\t// \"reflect\"\n\t// \"sync/atomic\"\n\t\"time\"\n\t//\"fmt\"\n)\n\nconst bincDoPrune = true // No longer needed. Needed before as C lib did not support pruning.\n\n//var _ = fmt.Printf\n\n// vd as low 4 bits (there are 16 slots)\nconst (\n\tbincVdSpecial byte = iota\n\tbincVdPosInt\n\tbincVdNegInt\n\tbincVdFloat\n\n\tbincVdString\n\tbincVdByteArray\n\tbincVdArray\n\tbincVdMap\n\n\tbincVdTimestamp\n\tbincVdSmallInt\n\tbincVdUnicodeOther\n\tbincVdSymbol\n\n\tbincVdDecimal\n\t_               // open slot\n\t_               // open slot\n\tbincVdCustomExt = 0x0f\n)\n\nconst (\n\tbincSpNil byte = iota\n\tbincSpFalse\n\tbincSpTrue\n\tbincSpNan\n\tbincSpPosInf\n\tbincSpNegInf\n\tbincSpZeroFloat\n\tbincSpZero\n\tbincSpNegOne\n)\n\nconst (\n\tbincFlBin16 byte = iota\n\tbincFlBin32\n\t_ // bincFlBin32e\n\tbincFlBin64\n\t_ // bincFlBin64e\n\t// others not currently supported\n)\n\ntype bincEncDriver struct {\n\tw encWriter\n\tm map[string]uint16 // symbols\n\ts uint32            // symbols sequencer\n\tb [8]byte\n}\n\nfunc (e *bincEncDriver) isBuiltinType(rt uintptr) bool {\n\treturn rt == timeTypId\n}\n\nfunc (e *bincEncDriver) encodeBuiltin(rt uintptr, v interface{}) {\n\tswitch rt {\n\tcase timeTypId:\n\t\tbs := encodeTime(v.(time.Time))\n\t\te.w.writen1(bincVdTimestamp<<4 | uint8(len(bs)))\n\t\te.w.writeb(bs)\n\t}\n}\n\nfunc (e *bincEncDriver) encodeNil() {\n\te.w.writen1(bincVdSpecial<<4 | bincSpNil)\n}\n\nfunc (e *bincEncDriver) encodeBool(b bool) {\n\tif b {\n\t\te.w.writen1(bincVdSpecial<<4 | bincSpTrue)\n\t} else {\n\t\te.w.writen1(bincVdSpecial<<4 | bincSpFalse)\n\t}\n}\n\nfunc (e *bincEncDriver) encodeFloat32(f float32) {\n\tif f == 0 {\n\t\te.w.writen1(bincVdSpecial<<4 | bincSpZeroFloat)\n\t\treturn\n\t}\n\te.w.writen1(bincVdFloat<<4 | bincFlBin32)\n\te.w.writeUint32(math.Float32bits(f))\n}\n\nfunc (e *bincEncDriver) encodeFloat64(f float64) {\n\tif f == 0 {\n\t\te.w.writen1(bincVdSpecial<<4 | bincSpZeroFloat)\n\t\treturn\n\t}\n\tbigen.PutUint64(e.b[:], math.Float64bits(f))\n\tif bincDoPrune {\n\t\ti := 7\n\t\tfor ; i >= 0 && (e.b[i] == 0); i-- {\n\t\t}\n\t\ti++\n\t\tif i <= 6 {\n\t\t\te.w.writen1(bincVdFloat<<4 | 0x8 | bincFlBin64)\n\t\t\te.w.writen1(byte(i))\n\t\t\te.w.writeb(e.b[:i])\n\t\t\treturn\n\t\t}\n\t}\n\te.w.writen1(bincVdFloat<<4 | bincFlBin64)\n\te.w.writeb(e.b[:])\n}\n\nfunc (e *bincEncDriver) encIntegerPrune(bd byte, pos bool, v uint64, lim uint8) {\n\tif lim == 4 {\n\t\tbigen.PutUint32(e.b[:lim], uint32(v))\n\t} else {\n\t\tbigen.PutUint64(e.b[:lim], v)\n\t}\n\tif bincDoPrune {\n\t\ti := pruneSignExt(e.b[:lim], pos)\n\t\te.w.writen1(bd | lim - 1 - byte(i))\n\t\te.w.writeb(e.b[i:lim])\n\t} else {\n\t\te.w.writen1(bd | lim - 1)\n\t\te.w.writeb(e.b[:lim])\n\t}\n}\n\nfunc (e *bincEncDriver) encodeInt(v int64) {\n\tconst nbd byte = bincVdNegInt << 4\n\tswitch {\n\tcase v >= 0:\n\t\te.encUint(bincVdPosInt<<4, true, uint64(v))\n\tcase v == -1:\n\t\te.w.writen1(bincVdSpecial<<4 | bincSpNegOne)\n\tdefault:\n\t\te.encUint(bincVdNegInt<<4, false, uint64(-v))\n\t}\n}\n\nfunc (e *bincEncDriver) encodeUint(v uint64) {\n\te.encUint(bincVdPosInt<<4, true, v)\n}\n\nfunc (e *bincEncDriver) encUint(bd byte, pos bool, v uint64) {\n\tswitch {\n\tcase v == 0:\n\t\te.w.writen1(bincVdSpecial<<4 | bincSpZero)\n\tcase pos && v >= 1 && v <= 16:\n\t\te.w.writen1(bincVdSmallInt<<4 | byte(v-1))\n\tcase v <= math.MaxUint8:\n\t\te.w.writen2(bd|0x0, byte(v))\n\tcase v <= math.MaxUint16:\n\t\te.w.writen1(bd | 0x01)\n\t\te.w.writeUint16(uint16(v))\n\tcase v <= math.MaxUint32:\n\t\te.encIntegerPrune(bd, pos, v, 4)\n\tdefault:\n\t\te.encIntegerPrune(bd, pos, v, 8)\n\t}\n}\n\nfunc (e *bincEncDriver) encodeExtPreamble(xtag byte, length int) {\n\te.encLen(bincVdCustomExt<<4, uint64(length))\n\te.w.writen1(xtag)\n}\n\nfunc (e *bincEncDriver) encodeArrayPreamble(length int) {\n\te.encLen(bincVdArray<<4, uint64(length))\n}\n\nfunc (e *bincEncDriver) encodeMapPreamble(length int) {\n\te.encLen(bincVdMap<<4, uint64(length))\n}\n\nfunc (e *bincEncDriver) encodeString(c charEncoding, v string) {\n\tl := uint64(len(v))\n\te.encBytesLen(c, l)\n\tif l > 0 {\n\t\te.w.writestr(v)\n\t}\n}\n\nfunc (e *bincEncDriver) encodeSymbol(v string) {\n\t// if WriteSymbolsNoRefs {\n\t// \te.encodeString(c_UTF8, v)\n\t// \treturn\n\t// }\n\n\t//symbols only offer benefit when string length > 1.\n\t//This is because strings with length 1 take only 2 bytes to store\n\t//(bd with embedded length, and single byte for string val).\n\n\tl := len(v)\n\tswitch l {\n\tcase 0:\n\t\te.encBytesLen(c_UTF8, 0)\n\t\treturn\n\tcase 1:\n\t\te.encBytesLen(c_UTF8, 1)\n\t\te.w.writen1(v[0])\n\t\treturn\n\t}\n\tif e.m == nil {\n\t\te.m = make(map[string]uint16, 16)\n\t}\n\tui, ok := e.m[v]\n\tif ok {\n\t\tif ui <= math.MaxUint8 {\n\t\t\te.w.writen2(bincVdSymbol<<4, byte(ui))\n\t\t} else {\n\t\t\te.w.writen1(bincVdSymbol<<4 | 0x8)\n\t\t\te.w.writeUint16(ui)\n\t\t}\n\t} else {\n\t\te.s++\n\t\tui = uint16(e.s)\n\t\t//ui = uint16(atomic.AddUint32(&e.s, 1))\n\t\te.m[v] = ui\n\t\tvar lenprec uint8\n\t\tswitch {\n\t\tcase l <= math.MaxUint8:\n\t\t\t// lenprec = 0\n\t\tcase l <= math.MaxUint16:\n\t\t\tlenprec = 1\n\t\tcase int64(l) <= math.MaxUint32:\n\t\t\tlenprec = 2\n\t\tdefault:\n\t\t\tlenprec = 3\n\t\t}\n\t\tif ui <= math.MaxUint8 {\n\t\t\te.w.writen2(bincVdSymbol<<4|0x0|0x4|lenprec, byte(ui))\n\t\t} else {\n\t\t\te.w.writen1(bincVdSymbol<<4 | 0x8 | 0x4 | lenprec)\n\t\t\te.w.writeUint16(ui)\n\t\t}\n\t\tswitch lenprec {\n\t\tcase 0:\n\t\t\te.w.writen1(byte(l))\n\t\tcase 1:\n\t\t\te.w.writeUint16(uint16(l))\n\t\tcase 2:\n\t\t\te.w.writeUint32(uint32(l))\n\t\tdefault:\n\t\t\te.w.writeUint64(uint64(l))\n\t\t}\n\t\te.w.writestr(v)\n\t}\n}\n\nfunc (e *bincEncDriver) encodeStringBytes(c charEncoding, v []byte) {\n\tl := uint64(len(v))\n\te.encBytesLen(c, l)\n\tif l > 0 {\n\t\te.w.writeb(v)\n\t}\n}\n\nfunc (e *bincEncDriver) encBytesLen(c charEncoding, length uint64) {\n\t//TODO: support bincUnicodeOther (for now, just use string or bytearray)\n\tif c == c_RAW {\n\t\te.encLen(bincVdByteArray<<4, length)\n\t} else {\n\t\te.encLen(bincVdString<<4, length)\n\t}\n}\n\nfunc (e *bincEncDriver) encLen(bd byte, l uint64) {\n\tif l < 12 {\n\t\te.w.writen1(bd | uint8(l+4))\n\t} else {\n\t\te.encLenNumber(bd, l)\n\t}\n}\n\nfunc (e *bincEncDriver) encLenNumber(bd byte, v uint64) {\n\tswitch {\n\tcase v <= math.MaxUint8:\n\t\te.w.writen2(bd, byte(v))\n\tcase v <= math.MaxUint16:\n\t\te.w.writen1(bd | 0x01)\n\t\te.w.writeUint16(uint16(v))\n\tcase v <= math.MaxUint32:\n\t\te.w.writen1(bd | 0x02)\n\t\te.w.writeUint32(uint32(v))\n\tdefault:\n\t\te.w.writen1(bd | 0x03)\n\t\te.w.writeUint64(uint64(v))\n\t}\n}\n\n//------------------------------------\n\ntype bincDecDriver struct {\n\tr      decReader\n\tbdRead bool\n\tbdType valueType\n\tbd     byte\n\tvd     byte\n\tvs     byte\n\tb      [8]byte\n\tm      map[uint32]string // symbols (use uint32 as key, as map optimizes for it)\n}\n\nfunc (d *bincDecDriver) initReadNext() {\n\tif d.bdRead {\n\t\treturn\n\t}\n\td.bd = d.r.readn1()\n\td.vd = d.bd >> 4\n\td.vs = d.bd & 0x0f\n\td.bdRead = true\n\td.bdType = valueTypeUnset\n}\n\nfunc (d *bincDecDriver) currentEncodedType() valueType {\n\tif d.bdType == valueTypeUnset {\n\t\tswitch d.vd {\n\t\tcase bincVdSpecial:\n\t\t\tswitch d.vs {\n\t\t\tcase bincSpNil:\n\t\t\t\td.bdType = valueTypeNil\n\t\t\tcase bincSpFalse, bincSpTrue:\n\t\t\t\td.bdType = valueTypeBool\n\t\t\tcase bincSpNan, bincSpNegInf, bincSpPosInf, bincSpZeroFloat:\n\t\t\t\td.bdType = valueTypeFloat\n\t\t\tcase bincSpZero:\n\t\t\t\td.bdType = valueTypeUint\n\t\t\tcase bincSpNegOne:\n\t\t\t\td.bdType = valueTypeInt\n\t\t\tdefault:\n\t\t\t\tdecErr(\"currentEncodedType: Unrecognized special value 0x%x\", d.vs)\n\t\t\t}\n\t\tcase bincVdSmallInt:\n\t\t\td.bdType = valueTypeUint\n\t\tcase bincVdPosInt:\n\t\t\td.bdType = valueTypeUint\n\t\tcase bincVdNegInt:\n\t\t\td.bdType = valueTypeInt\n\t\tcase bincVdFloat:\n\t\t\td.bdType = valueTypeFloat\n\t\tcase bincVdString:\n\t\t\td.bdType = valueTypeString\n\t\tcase bincVdSymbol:\n\t\t\td.bdType = valueTypeSymbol\n\t\tcase bincVdByteArray:\n\t\t\td.bdType = valueTypeBytes\n\t\tcase bincVdTimestamp:\n\t\t\td.bdType = valueTypeTimestamp\n\t\tcase bincVdCustomExt:\n\t\t\td.bdType = valueTypeExt\n\t\tcase bincVdArray:\n\t\t\td.bdType = valueTypeArray\n\t\tcase bincVdMap:\n\t\t\td.bdType = valueTypeMap\n\t\tdefault:\n\t\t\tdecErr(\"currentEncodedType: Unrecognized d.vd: 0x%x\", d.vd)\n\t\t}\n\t}\n\treturn d.bdType\n}\n\nfunc (d *bincDecDriver) tryDecodeAsNil() bool {\n\tif d.bd == bincVdSpecial<<4|bincSpNil {\n\t\td.bdRead = false\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc (d *bincDecDriver) isBuiltinType(rt uintptr) bool {\n\treturn rt == timeTypId\n}\n\nfunc (d *bincDecDriver) decodeBuiltin(rt uintptr, v interface{}) {\n\tswitch rt {\n\tcase timeTypId:\n\t\tif d.vd != bincVdTimestamp {\n\t\t\tdecErr(\"Invalid d.vd. Expecting 0x%x. Received: 0x%x\", bincVdTimestamp, d.vd)\n\t\t}\n\t\ttt, err := decodeTime(d.r.readn(int(d.vs)))\n\t\tif err != nil {\n\t\t\tpanic(err)\n\t\t}\n\t\tvar vt *time.Time = v.(*time.Time)\n\t\t*vt = tt\n\t\td.bdRead = false\n\t}\n}\n\nfunc (d *bincDecDriver) decFloatPre(vs, defaultLen byte) {\n\tif vs&0x8 == 0 {\n\t\td.r.readb(d.b[0:defaultLen])\n\t} else {\n\t\tl := d.r.readn1()\n\t\tif l > 8 {\n\t\t\tdecErr(\"At most 8 bytes used to represent float. Received: %v bytes\", l)\n\t\t}\n\t\tfor i := l; i < 8; i++ {\n\t\t\td.b[i] = 0\n\t\t}\n\t\td.r.readb(d.b[0:l])\n\t}\n}\n\nfunc (d *bincDecDriver) decFloat() (f float64) {\n\t//if true { f = math.Float64frombits(d.r.readUint64()); break; }\n\tswitch vs := d.vs; vs & 0x7 {\n\tcase bincFlBin32:\n\t\td.decFloatPre(vs, 4)\n\t\tf = float64(math.Float32frombits(bigen.Uint32(d.b[0:4])))\n\tcase bincFlBin64:\n\t\td.decFloatPre(vs, 8)\n\t\tf = math.Float64frombits(bigen.Uint64(d.b[0:8]))\n\tdefault:\n\t\tdecErr(\"only float32 and float64 are supported. d.vd: 0x%x, d.vs: 0x%x\", d.vd, d.vs)\n\t}\n\treturn\n}\n\nfunc (d *bincDecDriver) decUint() (v uint64) {\n\t// need to inline the code (interface conversion and type assertion expensive)\n\tswitch d.vs {\n\tcase 0:\n\t\tv = uint64(d.r.readn1())\n\tcase 1:\n\t\td.r.readb(d.b[6:])\n\t\tv = uint64(bigen.Uint16(d.b[6:]))\n\tcase 2:\n\t\td.b[4] = 0\n\t\td.r.readb(d.b[5:])\n\t\tv = uint64(bigen.Uint32(d.b[4:]))\n\tcase 3:\n\t\td.r.readb(d.b[4:])\n\t\tv = uint64(bigen.Uint32(d.b[4:]))\n\tcase 4, 5, 6:\n\t\tlim := int(7 - d.vs)\n\t\td.r.readb(d.b[lim:])\n\t\tfor i := 0; i < lim; i++ {\n\t\t\td.b[i] = 0\n\t\t}\n\t\tv = uint64(bigen.Uint64(d.b[:]))\n\tcase 7:\n\t\td.r.readb(d.b[:])\n\t\tv = uint64(bigen.Uint64(d.b[:]))\n\tdefault:\n\t\tdecErr(\"unsigned integers with greater than 64 bits of precision not supported\")\n\t}\n\treturn\n}\n\nfunc (d *bincDecDriver) decIntAny() (ui uint64, i int64, neg bool) {\n\tswitch d.vd {\n\tcase bincVdPosInt:\n\t\tui = d.decUint()\n\t\ti = int64(ui)\n\tcase bincVdNegInt:\n\t\tui = d.decUint()\n\t\ti = -(int64(ui))\n\t\tneg = true\n\tcase bincVdSmallInt:\n\t\ti = int64(d.vs) + 1\n\t\tui = uint64(d.vs) + 1\n\tcase bincVdSpecial:\n\t\tswitch d.vs {\n\t\tcase bincSpZero:\n\t\t\t//i = 0\n\t\tcase bincSpNegOne:\n\t\t\tneg = true\n\t\t\tui = 1\n\t\t\ti = -1\n\t\tdefault:\n\t\t\tdecErr(\"numeric decode fails for special value: d.vs: 0x%x\", d.vs)\n\t\t}\n\tdefault:\n\t\tdecErr(\"number can only be decoded from uint or int values. d.bd: 0x%x, d.vd: 0x%x\", d.bd, d.vd)\n\t}\n\treturn\n}\n\nfunc (d *bincDecDriver) decodeInt(bitsize uint8) (i int64) {\n\t_, i, _ = d.decIntAny()\n\tcheckOverflow(0, i, bitsize)\n\td.bdRead = false\n\treturn\n}\n\nfunc (d *bincDecDriver) decodeUint(bitsize uint8) (ui uint64) {\n\tui, i, neg := d.decIntAny()\n\tif neg {\n\t\tdecErr(\"Assigning negative signed value: %v, to unsigned type\", i)\n\t}\n\tcheckOverflow(ui, 0, bitsize)\n\td.bdRead = false\n\treturn\n}\n\nfunc (d *bincDecDriver) decodeFloat(chkOverflow32 bool) (f float64) {\n\tswitch d.vd {\n\tcase bincVdSpecial:\n\t\td.bdRead = false\n\t\tswitch d.vs {\n\t\tcase bincSpNan:\n\t\t\treturn math.NaN()\n\t\tcase bincSpPosInf:\n\t\t\treturn math.Inf(1)\n\t\tcase bincSpZeroFloat, bincSpZero:\n\t\t\treturn\n\t\tcase bincSpNegInf:\n\t\t\treturn math.Inf(-1)\n\t\tdefault:\n\t\t\tdecErr(\"Invalid d.vs decoding float where d.vd=bincVdSpecial: %v\", d.vs)\n\t\t}\n\tcase bincVdFloat:\n\t\tf = d.decFloat()\n\tdefault:\n\t\t_, i, _ := d.decIntAny()\n\t\tf = float64(i)\n\t}\n\tcheckOverflowFloat32(f, chkOverflow32)\n\td.bdRead = false\n\treturn\n}\n\n// bool can be decoded from bool only (single byte).\nfunc (d *bincDecDriver) decodeBool() (b bool) {\n\tswitch d.bd {\n\tcase (bincVdSpecial | bincSpFalse):\n\t\t// b = false\n\tcase (bincVdSpecial | bincSpTrue):\n\t\tb = true\n\tdefault:\n\t\tdecErr(\"Invalid single-byte value for bool: %s: %x\", msgBadDesc, d.bd)\n\t}\n\td.bdRead = false\n\treturn\n}\n\nfunc (d *bincDecDriver) readMapLen() (length int) {\n\tif d.vd != bincVdMap {\n\t\tdecErr(\"Invalid d.vd for map. Expecting 0x%x. Got: 0x%x\", bincVdMap, d.vd)\n\t}\n\tlength = d.decLen()\n\td.bdRead = false\n\treturn\n}\n\nfunc (d *bincDecDriver) readArrayLen() (length int) {\n\tif d.vd != bincVdArray {\n\t\tdecErr(\"Invalid d.vd for array. Expecting 0x%x. Got: 0x%x\", bincVdArray, d.vd)\n\t}\n\tlength = d.decLen()\n\td.bdRead = false\n\treturn\n}\n\nfunc (d *bincDecDriver) decLen() int {\n\tif d.vs <= 3 {\n\t\treturn int(d.decUint())\n\t}\n\treturn int(d.vs - 4)\n}\n\nfunc (d *bincDecDriver) decodeString() (s string) {\n\tswitch d.vd {\n\tcase bincVdString, bincVdByteArray:\n\t\tif length := d.decLen(); length > 0 {\n\t\t\ts = string(d.r.readn(length))\n\t\t}\n\tcase bincVdSymbol:\n\t\t//from vs: extract numSymbolBytes, containsStringVal, strLenPrecision,\n\t\t//extract symbol\n\t\t//if containsStringVal, read it and put in map\n\t\t//else look in map for string value\n\t\tvar symbol uint32\n\t\tvs := d.vs\n\t\t//fmt.Printf(\">>>> d.vs: 0b%b, & 0x8: %v, & 0x4: %v\\n\", d.vs, vs & 0x8, vs & 0x4)\n\t\tif vs&0x8 == 0 {\n\t\t\tsymbol = uint32(d.r.readn1())\n\t\t} else {\n\t\t\tsymbol = uint32(d.r.readUint16())\n\t\t}\n\t\tif d.m == nil {\n\t\t\td.m = make(map[uint32]string, 16)\n\t\t}\n\n\t\tif vs&0x4 == 0 {\n\t\t\ts = d.m[symbol]\n\t\t} else {\n\t\t\tvar slen int\n\t\t\tswitch vs & 0x3 {\n\t\t\tcase 0:\n\t\t\t\tslen = int(d.r.readn1())\n\t\t\tcase 1:\n\t\t\t\tslen = int(d.r.readUint16())\n\t\t\tcase 2:\n\t\t\t\tslen = int(d.r.readUint32())\n\t\t\tcase 3:\n\t\t\t\tslen = int(d.r.readUint64())\n\t\t\t}\n\t\t\ts = string(d.r.readn(slen))\n\t\t\td.m[symbol] = s\n\t\t}\n\tdefault:\n\t\tdecErr(\"Invalid d.vd for string. Expecting string:0x%x, bytearray:0x%x or symbol: 0x%x. Got: 0x%x\",\n\t\t\tbincVdString, bincVdByteArray, bincVdSymbol, d.vd)\n\t}\n\td.bdRead = false\n\treturn\n}\n\nfunc (d *bincDecDriver) decodeBytes(bs []byte) (bsOut []byte, changed bool) {\n\tvar clen int\n\tswitch d.vd {\n\tcase bincVdString, bincVdByteArray:\n\t\tclen = d.decLen()\n\tdefault:\n\t\tdecErr(\"Invalid d.vd for bytes. Expecting string:0x%x or bytearray:0x%x. Got: 0x%x\",\n\t\t\tbincVdString, bincVdByteArray, d.vd)\n\t}\n\tif clen > 0 {\n\t\t// if no contents in stream, don't update the passed byteslice\n\t\tif len(bs) != clen {\n\t\t\tif len(bs) > clen {\n\t\t\t\tbs = bs[:clen]\n\t\t\t} else {\n\t\t\t\tbs = make([]byte, clen)\n\t\t\t}\n\t\t\tbsOut = bs\n\t\t\tchanged = true\n\t\t}\n\t\td.r.readb(bs)\n\t}\n\td.bdRead = false\n\treturn\n}\n\nfunc (d *bincDecDriver) decodeExt(verifyTag bool, tag byte) (xtag byte, xbs []byte) {\n\tswitch d.vd {\n\tcase bincVdCustomExt:\n\t\tl := d.decLen()\n\t\txtag = d.r.readn1()\n\t\tif verifyTag && xtag != tag {\n\t\t\tdecErr(\"Wrong extension tag. Got %b. Expecting: %v\", xtag, tag)\n\t\t}\n\t\txbs = d.r.readn(l)\n\tcase bincVdByteArray:\n\t\txbs, _ = d.decodeBytes(nil)\n\tdefault:\n\t\tdecErr(\"Invalid d.vd for extensions (Expecting extensions or byte array). Got: 0x%x\", d.vd)\n\t}\n\td.bdRead = false\n\treturn\n}\n\nfunc (d *bincDecDriver) decodeNaked() (v interface{}, vt valueType, decodeFurther bool) {\n\td.initReadNext()\n\n\tswitch d.vd {\n\tcase bincVdSpecial:\n\t\tswitch d.vs {\n\t\tcase bincSpNil:\n\t\t\tvt = valueTypeNil\n\t\tcase bincSpFalse:\n\t\t\tvt = valueTypeBool\n\t\t\tv = false\n\t\tcase bincSpTrue:\n\t\t\tvt = valueTypeBool\n\t\t\tv = true\n\t\tcase bincSpNan:\n\t\t\tvt = valueTypeFloat\n\t\t\tv = math.NaN()\n\t\tcase bincSpPosInf:\n\t\t\tvt = valueTypeFloat\n\t\t\tv = math.Inf(1)\n\t\tcase bincSpNegInf:\n\t\t\tvt = valueTypeFloat\n\t\t\tv = math.Inf(-1)\n\t\tcase bincSpZeroFloat:\n\t\t\tvt = valueTypeFloat\n\t\t\tv = float64(0)\n\t\tcase bincSpZero:\n\t\t\tvt = valueTypeUint\n\t\t\tv = int64(0) // int8(0)\n\t\tcase bincSpNegOne:\n\t\t\tvt = valueTypeInt\n\t\t\tv = int64(-1) // int8(-1)\n\t\tdefault:\n\t\t\tdecErr(\"decodeNaked: Unrecognized special value 0x%x\", d.vs)\n\t\t}\n\tcase bincVdSmallInt:\n\t\tvt = valueTypeUint\n\t\tv = uint64(int8(d.vs)) + 1 // int8(d.vs) + 1\n\tcase bincVdPosInt:\n\t\tvt = valueTypeUint\n\t\tv = d.decUint()\n\tcase bincVdNegInt:\n\t\tvt = valueTypeInt\n\t\tv = -(int64(d.decUint()))\n\tcase bincVdFloat:\n\t\tvt = valueTypeFloat\n\t\tv = d.decFloat()\n\tcase bincVdSymbol:\n\t\tvt = valueTypeSymbol\n\t\tv = d.decodeString()\n\tcase bincVdString:\n\t\tvt = valueTypeString\n\t\tv = d.decodeString()\n\tcase bincVdByteArray:\n\t\tvt = valueTypeBytes\n\t\tv, _ = d.decodeBytes(nil)\n\tcase bincVdTimestamp:\n\t\tvt = valueTypeTimestamp\n\t\ttt, err := decodeTime(d.r.readn(int(d.vs)))\n\t\tif err != nil {\n\t\t\tpanic(err)\n\t\t}\n\t\tv = tt\n\tcase bincVdCustomExt:\n\t\tvt = valueTypeExt\n\t\tl := d.decLen()\n\t\tvar re RawExt\n\t\tre.Tag = d.r.readn1()\n\t\tre.Data = d.r.readn(l)\n\t\tv = &re\n\t\tvt = valueTypeExt\n\tcase bincVdArray:\n\t\tvt = valueTypeArray\n\t\tdecodeFurther = true\n\tcase bincVdMap:\n\t\tvt = valueTypeMap\n\t\tdecodeFurther = true\n\tdefault:\n\t\tdecErr(\"decodeNaked: Unrecognized d.vd: 0x%x\", d.vd)\n\t}\n\n\tif !decodeFurther {\n\t\td.bdRead = false\n\t}\n\treturn\n}\n\n//------------------------------------\n\n//BincHandle is a Handle for the Binc Schema-Free Encoding Format\n//defined at https://github.com/ugorji/binc .\n//\n//BincHandle currently supports all Binc features with the following EXCEPTIONS:\n//  - only integers up to 64 bits of precision are supported.\n//    big integers are unsupported.\n//  - Only IEEE 754 binary32 and binary64 floats are supported (ie Go float32 and float64 types).\n//    extended precision and decimal IEEE 754 floats are unsupported.\n//  - Only UTF-8 strings supported.\n//    Unicode_Other Binc types (UTF16, UTF32) are currently unsupported.\n//Note that these EXCEPTIONS are temporary and full support is possible and may happen soon.\ntype BincHandle struct {\n\tBasicHandle\n}\n\nfunc (h *BincHandle) newEncDriver(w encWriter) encDriver {\n\treturn &bincEncDriver{w: w}\n}\n\nfunc (h *BincHandle) newDecDriver(r decReader) decDriver {\n\treturn &bincDecDriver{r: r}\n}\n\nfunc (_ *BincHandle) writeExt() bool {\n\treturn true\n}\n\nfunc (h *BincHandle) getBasicHandle() *BasicHandle {\n\treturn &h.BasicHandle\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-msgpack/codec/decode.go",
    "content": "// Copyright (c) 2012, 2013 Ugorji Nwoke. All rights reserved.\n// Use of this source code is governed by a BSD-style license found in the LICENSE file.\n\npackage codec\n\nimport (\n\t\"io\"\n\t\"reflect\"\n\t// \"runtime/debug\"\n)\n\n// Some tagging information for error messages.\nconst (\n\tmsgTagDec             = \"codec.decoder\"\n\tmsgBadDesc            = \"Unrecognized descriptor byte\"\n\tmsgDecCannotExpandArr = \"cannot expand go array from %v to stream length: %v\"\n)\n\n// decReader abstracts the reading source, allowing implementations that can\n// read from an io.Reader or directly off a byte slice with zero-copying.\ntype decReader interface {\n\treadn(n int) []byte\n\treadb([]byte)\n\treadn1() uint8\n\treadUint16() uint16\n\treadUint32() uint32\n\treadUint64() uint64\n}\n\ntype decDriver interface {\n\tinitReadNext()\n\ttryDecodeAsNil() bool\n\tcurrentEncodedType() valueType\n\tisBuiltinType(rt uintptr) bool\n\tdecodeBuiltin(rt uintptr, v interface{})\n\t//decodeNaked: Numbers are decoded as int64, uint64, float64 only (no smaller sized number types).\n\tdecodeNaked() (v interface{}, vt valueType, decodeFurther bool)\n\tdecodeInt(bitsize uint8) (i int64)\n\tdecodeUint(bitsize uint8) (ui uint64)\n\tdecodeFloat(chkOverflow32 bool) (f float64)\n\tdecodeBool() (b bool)\n\t// decodeString can also decode symbols\n\tdecodeString() (s string)\n\tdecodeBytes(bs []byte) (bsOut []byte, changed bool)\n\tdecodeExt(verifyTag bool, tag byte) (xtag byte, xbs []byte)\n\treadMapLen() int\n\treadArrayLen() int\n}\n\ntype DecodeOptions struct {\n\t// An instance of MapType is used during schema-less decoding of a map in the stream.\n\t// If nil, we use map[interface{}]interface{}\n\tMapType reflect.Type\n\t// An instance of SliceType is used during schema-less decoding of an array in the stream.\n\t// If nil, we use []interface{}\n\tSliceType reflect.Type\n\t// ErrorIfNoField controls whether an error is returned when decoding a map\n\t// from a codec stream into a struct, and no matching struct field is found.\n\tErrorIfNoField bool\n}\n\n// ------------------------------------\n\n// ioDecReader is a decReader that reads off an io.Reader\ntype ioDecReader struct {\n\tr  io.Reader\n\tbr io.ByteReader\n\tx  [8]byte //temp byte array re-used internally for efficiency\n}\n\nfunc (z *ioDecReader) readn(n int) (bs []byte) {\n\tif n <= 0 {\n\t\treturn\n\t}\n\tbs = make([]byte, n)\n\tif _, err := io.ReadAtLeast(z.r, bs, n); err != nil {\n\t\tpanic(err)\n\t}\n\treturn\n}\n\nfunc (z *ioDecReader) readb(bs []byte) {\n\tif _, err := io.ReadAtLeast(z.r, bs, len(bs)); err != nil {\n\t\tpanic(err)\n\t}\n}\n\nfunc (z *ioDecReader) readn1() uint8 {\n\tif z.br != nil {\n\t\tb, err := z.br.ReadByte()\n\t\tif err != nil {\n\t\t\tpanic(err)\n\t\t}\n\t\treturn b\n\t}\n\tz.readb(z.x[:1])\n\treturn z.x[0]\n}\n\nfunc (z *ioDecReader) readUint16() uint16 {\n\tz.readb(z.x[:2])\n\treturn bigen.Uint16(z.x[:2])\n}\n\nfunc (z *ioDecReader) readUint32() uint32 {\n\tz.readb(z.x[:4])\n\treturn bigen.Uint32(z.x[:4])\n}\n\nfunc (z *ioDecReader) readUint64() uint64 {\n\tz.readb(z.x[:8])\n\treturn bigen.Uint64(z.x[:8])\n}\n\n// ------------------------------------\n\n// bytesDecReader is a decReader that reads off a byte slice with zero copying\ntype bytesDecReader struct {\n\tb []byte // data\n\tc int    // cursor\n\ta int    // available\n}\n\nfunc (z *bytesDecReader) consume(n int) (oldcursor int) {\n\tif z.a == 0 {\n\t\tpanic(io.EOF)\n\t}\n\tif n > z.a {\n\t\tdecErr(\"Trying to read %v bytes. Only %v available\", n, z.a)\n\t}\n\t// z.checkAvailable(n)\n\toldcursor = z.c\n\tz.c = oldcursor + n\n\tz.a = z.a - n\n\treturn\n}\n\nfunc (z *bytesDecReader) readn(n int) (bs []byte) {\n\tif n <= 0 {\n\t\treturn\n\t}\n\tc0 := z.consume(n)\n\tbs = z.b[c0:z.c]\n\treturn\n}\n\nfunc (z *bytesDecReader) readb(bs []byte) {\n\tcopy(bs, z.readn(len(bs)))\n}\n\nfunc (z *bytesDecReader) readn1() uint8 {\n\tc0 := z.consume(1)\n\treturn z.b[c0]\n}\n\n// Use binaryEncoding helper for 4 and 8 bits, but inline it for 2 bits\n// creating temp slice variable and copying it to helper function is expensive\n// for just 2 bits.\n\nfunc (z *bytesDecReader) readUint16() uint16 {\n\tc0 := z.consume(2)\n\treturn uint16(z.b[c0+1]) | uint16(z.b[c0])<<8\n}\n\nfunc (z *bytesDecReader) readUint32() uint32 {\n\tc0 := z.consume(4)\n\treturn bigen.Uint32(z.b[c0:z.c])\n}\n\nfunc (z *bytesDecReader) readUint64() uint64 {\n\tc0 := z.consume(8)\n\treturn bigen.Uint64(z.b[c0:z.c])\n}\n\n// ------------------------------------\n\n// decFnInfo has methods for registering handling decoding of a specific type\n// based on some characteristics (builtin, extension, reflect Kind, etc)\ntype decFnInfo struct {\n\tti    *typeInfo\n\td     *Decoder\n\tdd    decDriver\n\txfFn  func(reflect.Value, []byte) error\n\txfTag byte\n\tarray bool\n}\n\nfunc (f *decFnInfo) builtin(rv reflect.Value) {\n\tf.dd.decodeBuiltin(f.ti.rtid, rv.Addr().Interface())\n}\n\nfunc (f *decFnInfo) rawExt(rv reflect.Value) {\n\txtag, xbs := f.dd.decodeExt(false, 0)\n\trv.Field(0).SetUint(uint64(xtag))\n\trv.Field(1).SetBytes(xbs)\n}\n\nfunc (f *decFnInfo) ext(rv reflect.Value) {\n\t_, xbs := f.dd.decodeExt(true, f.xfTag)\n\tif fnerr := f.xfFn(rv, xbs); fnerr != nil {\n\t\tpanic(fnerr)\n\t}\n}\n\nfunc (f *decFnInfo) binaryMarshal(rv reflect.Value) {\n\tvar bm binaryUnmarshaler\n\tif f.ti.unmIndir == -1 {\n\t\tbm = rv.Addr().Interface().(binaryUnmarshaler)\n\t} else if f.ti.unmIndir == 0 {\n\t\tbm = rv.Interface().(binaryUnmarshaler)\n\t} else {\n\t\tfor j, k := int8(0), f.ti.unmIndir; j < k; j++ {\n\t\t\tif rv.IsNil() {\n\t\t\t\trv.Set(reflect.New(rv.Type().Elem()))\n\t\t\t}\n\t\t\trv = rv.Elem()\n\t\t}\n\t\tbm = rv.Interface().(binaryUnmarshaler)\n\t}\n\txbs, _ := f.dd.decodeBytes(nil)\n\tif fnerr := bm.UnmarshalBinary(xbs); fnerr != nil {\n\t\tpanic(fnerr)\n\t}\n}\n\nfunc (f *decFnInfo) kErr(rv reflect.Value) {\n\tdecErr(\"Unhandled value for kind: %v: %s\", rv.Kind(), msgBadDesc)\n}\n\nfunc (f *decFnInfo) kString(rv reflect.Value) {\n\trv.SetString(f.dd.decodeString())\n}\n\nfunc (f *decFnInfo) kBool(rv reflect.Value) {\n\trv.SetBool(f.dd.decodeBool())\n}\n\nfunc (f *decFnInfo) kInt(rv reflect.Value) {\n\trv.SetInt(f.dd.decodeInt(intBitsize))\n}\n\nfunc (f *decFnInfo) kInt64(rv reflect.Value) {\n\trv.SetInt(f.dd.decodeInt(64))\n}\n\nfunc (f *decFnInfo) kInt32(rv reflect.Value) {\n\trv.SetInt(f.dd.decodeInt(32))\n}\n\nfunc (f *decFnInfo) kInt8(rv reflect.Value) {\n\trv.SetInt(f.dd.decodeInt(8))\n}\n\nfunc (f *decFnInfo) kInt16(rv reflect.Value) {\n\trv.SetInt(f.dd.decodeInt(16))\n}\n\nfunc (f *decFnInfo) kFloat32(rv reflect.Value) {\n\trv.SetFloat(f.dd.decodeFloat(true))\n}\n\nfunc (f *decFnInfo) kFloat64(rv reflect.Value) {\n\trv.SetFloat(f.dd.decodeFloat(false))\n}\n\nfunc (f *decFnInfo) kUint8(rv reflect.Value) {\n\trv.SetUint(f.dd.decodeUint(8))\n}\n\nfunc (f *decFnInfo) kUint64(rv reflect.Value) {\n\trv.SetUint(f.dd.decodeUint(64))\n}\n\nfunc (f *decFnInfo) kUint(rv reflect.Value) {\n\trv.SetUint(f.dd.decodeUint(uintBitsize))\n}\n\nfunc (f *decFnInfo) kUint32(rv reflect.Value) {\n\trv.SetUint(f.dd.decodeUint(32))\n}\n\nfunc (f *decFnInfo) kUint16(rv reflect.Value) {\n\trv.SetUint(f.dd.decodeUint(16))\n}\n\n// func (f *decFnInfo) kPtr(rv reflect.Value) {\n// \tdebugf(\">>>>>>> ??? decode kPtr called - shouldn't get called\")\n// \tif rv.IsNil() {\n// \t\trv.Set(reflect.New(rv.Type().Elem()))\n// \t}\n// \tf.d.decodeValue(rv.Elem())\n// }\n\nfunc (f *decFnInfo) kInterface(rv reflect.Value) {\n\t// debugf(\"\\t===> kInterface\")\n\tif !rv.IsNil() {\n\t\tf.d.decodeValue(rv.Elem())\n\t\treturn\n\t}\n\t// nil interface:\n\t// use some hieristics to set the nil interface to an\n\t// appropriate value based on the first byte read (byte descriptor bd)\n\tv, vt, decodeFurther := f.dd.decodeNaked()\n\tif vt == valueTypeNil {\n\t\treturn\n\t}\n\t// Cannot decode into nil interface with methods (e.g. error, io.Reader, etc)\n\t// if non-nil value in stream.\n\tif num := f.ti.rt.NumMethod(); num > 0 {\n\t\tdecErr(\"decodeValue: Cannot decode non-nil codec value into nil %v (%v methods)\",\n\t\t\tf.ti.rt, num)\n\t}\n\tvar rvn reflect.Value\n\tvar useRvn bool\n\tswitch vt {\n\tcase valueTypeMap:\n\t\tif f.d.h.MapType == nil {\n\t\t\tvar m2 map[interface{}]interface{}\n\t\t\tv = &m2\n\t\t} else {\n\t\t\trvn = reflect.New(f.d.h.MapType).Elem()\n\t\t\tuseRvn = true\n\t\t}\n\tcase valueTypeArray:\n\t\tif f.d.h.SliceType == nil {\n\t\t\tvar m2 []interface{}\n\t\t\tv = &m2\n\t\t} else {\n\t\t\trvn = reflect.New(f.d.h.SliceType).Elem()\n\t\t\tuseRvn = true\n\t\t}\n\tcase valueTypeExt:\n\t\tre := v.(*RawExt)\n\t\tvar bfn func(reflect.Value, []byte) error\n\t\trvn, bfn = f.d.h.getDecodeExtForTag(re.Tag)\n\t\tif bfn == nil {\n\t\t\trvn = reflect.ValueOf(*re)\n\t\t} else if fnerr := bfn(rvn, re.Data); fnerr != nil {\n\t\t\tpanic(fnerr)\n\t\t}\n\t\trv.Set(rvn)\n\t\treturn\n\t}\n\tif decodeFurther {\n\t\tif useRvn {\n\t\t\tf.d.decodeValue(rvn)\n\t\t} else if v != nil {\n\t\t\t// this v is a pointer, so we need to dereference it when done\n\t\t\tf.d.decode(v)\n\t\t\trvn = reflect.ValueOf(v).Elem()\n\t\t\tuseRvn = true\n\t\t}\n\t}\n\tif useRvn {\n\t\trv.Set(rvn)\n\t} else if v != nil {\n\t\trv.Set(reflect.ValueOf(v))\n\t}\n}\n\nfunc (f *decFnInfo) kStruct(rv reflect.Value) {\n\tfti := f.ti\n\tif currEncodedType := f.dd.currentEncodedType(); currEncodedType == valueTypeMap {\n\t\tcontainerLen := f.dd.readMapLen()\n\t\tif containerLen == 0 {\n\t\t\treturn\n\t\t}\n\t\ttisfi := fti.sfi\n\t\tfor j := 0; j < containerLen; j++ {\n\t\t\t// var rvkencname string\n\t\t\t// ddecode(&rvkencname)\n\t\t\tf.dd.initReadNext()\n\t\t\trvkencname := f.dd.decodeString()\n\t\t\t// rvksi := ti.getForEncName(rvkencname)\n\t\t\tif k := fti.indexForEncName(rvkencname); k > -1 {\n\t\t\t\tsfik := tisfi[k]\n\t\t\t\tif sfik.i != -1 {\n\t\t\t\t\tf.d.decodeValue(rv.Field(int(sfik.i)))\n\t\t\t\t} else {\n\t\t\t\t\tf.d.decEmbeddedField(rv, sfik.is)\n\t\t\t\t}\n\t\t\t\t// f.d.decodeValue(ti.field(k, rv))\n\t\t\t} else {\n\t\t\t\tif f.d.h.ErrorIfNoField {\n\t\t\t\t\tdecErr(\"No matching struct field found when decoding stream map with key: %v\",\n\t\t\t\t\t\trvkencname)\n\t\t\t\t} else {\n\t\t\t\t\tvar nilintf0 interface{}\n\t\t\t\t\tf.d.decodeValue(reflect.ValueOf(&nilintf0).Elem())\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else if currEncodedType == valueTypeArray {\n\t\tcontainerLen := f.dd.readArrayLen()\n\t\tif containerLen == 0 {\n\t\t\treturn\n\t\t}\n\t\tfor j, si := range fti.sfip {\n\t\t\tif j == containerLen {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tif si.i != -1 {\n\t\t\t\tf.d.decodeValue(rv.Field(int(si.i)))\n\t\t\t} else {\n\t\t\t\tf.d.decEmbeddedField(rv, si.is)\n\t\t\t}\n\t\t}\n\t\tif containerLen > len(fti.sfip) {\n\t\t\t// read remaining values and throw away\n\t\t\tfor j := len(fti.sfip); j < containerLen; j++ {\n\t\t\t\tvar nilintf0 interface{}\n\t\t\t\tf.d.decodeValue(reflect.ValueOf(&nilintf0).Elem())\n\t\t\t}\n\t\t}\n\t} else {\n\t\tdecErr(\"Only encoded map or array can be decoded into a struct. (valueType: %x)\",\n\t\t\tcurrEncodedType)\n\t}\n}\n\nfunc (f *decFnInfo) kSlice(rv reflect.Value) {\n\t// A slice can be set from a map or array in stream.\n\tcurrEncodedType := f.dd.currentEncodedType()\n\n\tswitch currEncodedType {\n\tcase valueTypeBytes, valueTypeString:\n\t\tif f.ti.rtid == uint8SliceTypId || f.ti.rt.Elem().Kind() == reflect.Uint8 {\n\t\t\tif bs2, changed2 := f.dd.decodeBytes(rv.Bytes()); changed2 {\n\t\t\t\trv.SetBytes(bs2)\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t}\n\n\tif shortCircuitReflectToFastPath && rv.CanAddr() {\n\t\tswitch f.ti.rtid {\n\t\tcase intfSliceTypId:\n\t\t\tf.d.decSliceIntf(rv.Addr().Interface().(*[]interface{}), currEncodedType, f.array)\n\t\t\treturn\n\t\tcase uint64SliceTypId:\n\t\t\tf.d.decSliceUint64(rv.Addr().Interface().(*[]uint64), currEncodedType, f.array)\n\t\t\treturn\n\t\tcase int64SliceTypId:\n\t\t\tf.d.decSliceInt64(rv.Addr().Interface().(*[]int64), currEncodedType, f.array)\n\t\t\treturn\n\t\tcase strSliceTypId:\n\t\t\tf.d.decSliceStr(rv.Addr().Interface().(*[]string), currEncodedType, f.array)\n\t\t\treturn\n\t\t}\n\t}\n\n\tcontainerLen, containerLenS := decContLens(f.dd, currEncodedType)\n\n\t// an array can never return a nil slice. so no need to check f.array here.\n\n\tif rv.IsNil() {\n\t\trv.Set(reflect.MakeSlice(f.ti.rt, containerLenS, containerLenS))\n\t}\n\n\tif containerLen == 0 {\n\t\treturn\n\t}\n\n\tif rvcap, rvlen := rv.Len(), rv.Cap(); containerLenS > rvcap {\n\t\tif f.array { // !rv.CanSet()\n\t\t\tdecErr(msgDecCannotExpandArr, rvcap, containerLenS)\n\t\t}\n\t\trvn := reflect.MakeSlice(f.ti.rt, containerLenS, containerLenS)\n\t\tif rvlen > 0 {\n\t\t\treflect.Copy(rvn, rv)\n\t\t}\n\t\trv.Set(rvn)\n\t} else if containerLenS > rvlen {\n\t\trv.SetLen(containerLenS)\n\t}\n\n\tfor j := 0; j < containerLenS; j++ {\n\t\tf.d.decodeValue(rv.Index(j))\n\t}\n}\n\nfunc (f *decFnInfo) kArray(rv reflect.Value) {\n\t// f.d.decodeValue(rv.Slice(0, rv.Len()))\n\tf.kSlice(rv.Slice(0, rv.Len()))\n}\n\nfunc (f *decFnInfo) kMap(rv reflect.Value) {\n\tif shortCircuitReflectToFastPath && rv.CanAddr() {\n\t\tswitch f.ti.rtid {\n\t\tcase mapStrIntfTypId:\n\t\t\tf.d.decMapStrIntf(rv.Addr().Interface().(*map[string]interface{}))\n\t\t\treturn\n\t\tcase mapIntfIntfTypId:\n\t\t\tf.d.decMapIntfIntf(rv.Addr().Interface().(*map[interface{}]interface{}))\n\t\t\treturn\n\t\tcase mapInt64IntfTypId:\n\t\t\tf.d.decMapInt64Intf(rv.Addr().Interface().(*map[int64]interface{}))\n\t\t\treturn\n\t\tcase mapUint64IntfTypId:\n\t\t\tf.d.decMapUint64Intf(rv.Addr().Interface().(*map[uint64]interface{}))\n\t\t\treturn\n\t\t}\n\t}\n\n\tcontainerLen := f.dd.readMapLen()\n\n\tif rv.IsNil() {\n\t\trv.Set(reflect.MakeMap(f.ti.rt))\n\t}\n\n\tif containerLen == 0 {\n\t\treturn\n\t}\n\n\tktype, vtype := f.ti.rt.Key(), f.ti.rt.Elem()\n\tktypeId := reflect.ValueOf(ktype).Pointer()\n\tfor j := 0; j < containerLen; j++ {\n\t\trvk := reflect.New(ktype).Elem()\n\t\tf.d.decodeValue(rvk)\n\n\t\t// special case if a byte array.\n\t\t// if ktype == intfTyp {\n\t\tif ktypeId == intfTypId {\n\t\t\trvk = rvk.Elem()\n\t\t\tif rvk.Type() == uint8SliceTyp {\n\t\t\t\trvk = reflect.ValueOf(string(rvk.Bytes()))\n\t\t\t}\n\t\t}\n\t\trvv := rv.MapIndex(rvk)\n\t\tif !rvv.IsValid() {\n\t\t\trvv = reflect.New(vtype).Elem()\n\t\t}\n\n\t\tf.d.decodeValue(rvv)\n\t\trv.SetMapIndex(rvk, rvv)\n\t}\n}\n\n// ----------------------------------------\n\ntype decFn struct {\n\ti *decFnInfo\n\tf func(*decFnInfo, reflect.Value)\n}\n\n// A Decoder reads and decodes an object from an input stream in the codec format.\ntype Decoder struct {\n\tr decReader\n\td decDriver\n\th *BasicHandle\n\tf map[uintptr]decFn\n\tx []uintptr\n\ts []decFn\n}\n\n// NewDecoder returns a Decoder for decoding a stream of bytes from an io.Reader.\n//\n// For efficiency, Users are encouraged to pass in a memory buffered writer\n// (eg bufio.Reader, bytes.Buffer).\nfunc NewDecoder(r io.Reader, h Handle) *Decoder {\n\tz := ioDecReader{\n\t\tr: r,\n\t}\n\tz.br, _ = r.(io.ByteReader)\n\treturn &Decoder{r: &z, d: h.newDecDriver(&z), h: h.getBasicHandle()}\n}\n\n// NewDecoderBytes returns a Decoder which efficiently decodes directly\n// from a byte slice with zero copying.\nfunc NewDecoderBytes(in []byte, h Handle) *Decoder {\n\tz := bytesDecReader{\n\t\tb: in,\n\t\ta: len(in),\n\t}\n\treturn &Decoder{r: &z, d: h.newDecDriver(&z), h: h.getBasicHandle()}\n}\n\n// Decode decodes the stream from reader and stores the result in the\n// value pointed to by v. v cannot be a nil pointer. v can also be\n// a reflect.Value of a pointer.\n//\n// Note that a pointer to a nil interface is not a nil pointer.\n// If you do not know what type of stream it is, pass in a pointer to a nil interface.\n// We will decode and store a value in that nil interface.\n//\n// Sample usages:\n//   // Decoding into a non-nil typed value\n//   var f float32\n//   err = codec.NewDecoder(r, handle).Decode(&f)\n//\n//   // Decoding into nil interface\n//   var v interface{}\n//   dec := codec.NewDecoder(r, handle)\n//   err = dec.Decode(&v)\n//\n// When decoding into a nil interface{}, we will decode into an appropriate value based\n// on the contents of the stream:\n//   - Numbers are decoded as float64, int64 or uint64.\n//   - Other values are decoded appropriately depending on the type:\n//     bool, string, []byte, time.Time, etc\n//   - Extensions are decoded as RawExt (if no ext function registered for the tag)\n// Configurations exist on the Handle to override defaults\n// (e.g. for MapType, SliceType and how to decode raw bytes).\n//\n// When decoding into a non-nil interface{} value, the mode of encoding is based on the\n// type of the value. When a value is seen:\n//   - If an extension is registered for it, call that extension function\n//   - If it implements BinaryUnmarshaler, call its UnmarshalBinary(data []byte) error\n//   - Else decode it based on its reflect.Kind\n//\n// There are some special rules when decoding into containers (slice/array/map/struct).\n// Decode will typically use the stream contents to UPDATE the container.\n//   - A map can be decoded from a stream map, by updating matching keys.\n//   - A slice can be decoded from a stream array,\n//     by updating the first n elements, where n is length of the stream.\n//   - A slice can be decoded from a stream map, by decoding as if\n//     it contains a sequence of key-value pairs.\n//   - A struct can be decoded from a stream map, by updating matching fields.\n//   - A struct can be decoded from a stream array,\n//     by updating fields as they occur in the struct (by index).\n//\n// When decoding a stream map or array with length of 0 into a nil map or slice,\n// we reset the destination map or slice to a zero-length value.\n//\n// However, when decoding a stream nil, we reset the destination container\n// to its \"zero\" value (e.g. nil for slice/map, etc).\n//\nfunc (d *Decoder) Decode(v interface{}) (err error) {\n\tdefer panicToErr(&err)\n\td.decode(v)\n\treturn\n}\n\nfunc (d *Decoder) decode(iv interface{}) {\n\td.d.initReadNext()\n\n\tswitch v := iv.(type) {\n\tcase nil:\n\t\tdecErr(\"Cannot decode into nil.\")\n\n\tcase reflect.Value:\n\t\td.chkPtrValue(v)\n\t\td.decodeValue(v.Elem())\n\n\tcase *string:\n\t\t*v = d.d.decodeString()\n\tcase *bool:\n\t\t*v = d.d.decodeBool()\n\tcase *int:\n\t\t*v = int(d.d.decodeInt(intBitsize))\n\tcase *int8:\n\t\t*v = int8(d.d.decodeInt(8))\n\tcase *int16:\n\t\t*v = int16(d.d.decodeInt(16))\n\tcase *int32:\n\t\t*v = int32(d.d.decodeInt(32))\n\tcase *int64:\n\t\t*v = d.d.decodeInt(64)\n\tcase *uint:\n\t\t*v = uint(d.d.decodeUint(uintBitsize))\n\tcase *uint8:\n\t\t*v = uint8(d.d.decodeUint(8))\n\tcase *uint16:\n\t\t*v = uint16(d.d.decodeUint(16))\n\tcase *uint32:\n\t\t*v = uint32(d.d.decodeUint(32))\n\tcase *uint64:\n\t\t*v = d.d.decodeUint(64)\n\tcase *float32:\n\t\t*v = float32(d.d.decodeFloat(true))\n\tcase *float64:\n\t\t*v = d.d.decodeFloat(false)\n\tcase *[]byte:\n\t\t*v, _ = d.d.decodeBytes(*v)\n\n\tcase *[]interface{}:\n\t\td.decSliceIntf(v, valueTypeInvalid, false)\n\tcase *[]uint64:\n\t\td.decSliceUint64(v, valueTypeInvalid, false)\n\tcase *[]int64:\n\t\td.decSliceInt64(v, valueTypeInvalid, false)\n\tcase *[]string:\n\t\td.decSliceStr(v, valueTypeInvalid, false)\n\tcase *map[string]interface{}:\n\t\td.decMapStrIntf(v)\n\tcase *map[interface{}]interface{}:\n\t\td.decMapIntfIntf(v)\n\tcase *map[uint64]interface{}:\n\t\td.decMapUint64Intf(v)\n\tcase *map[int64]interface{}:\n\t\td.decMapInt64Intf(v)\n\n\tcase *interface{}:\n\t\td.decodeValue(reflect.ValueOf(iv).Elem())\n\n\tdefault:\n\t\trv := reflect.ValueOf(iv)\n\t\td.chkPtrValue(rv)\n\t\td.decodeValue(rv.Elem())\n\t}\n}\n\nfunc (d *Decoder) decodeValue(rv reflect.Value) {\n\td.d.initReadNext()\n\n\tif d.d.tryDecodeAsNil() {\n\t\t// If value in stream is nil, set the dereferenced value to its \"zero\" value (if settable)\n\t\tif rv.Kind() == reflect.Ptr {\n\t\t\tif !rv.IsNil() {\n\t\t\t\trv.Set(reflect.Zero(rv.Type()))\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\t// for rv.Kind() == reflect.Ptr {\n\t\t// \trv = rv.Elem()\n\t\t// }\n\t\tif rv.IsValid() { // rv.CanSet() // always settable, except it's invalid\n\t\t\trv.Set(reflect.Zero(rv.Type()))\n\t\t}\n\t\treturn\n\t}\n\n\t// If stream is not containing a nil value, then we can deref to the base\n\t// non-pointer value, and decode into that.\n\tfor rv.Kind() == reflect.Ptr {\n\t\tif rv.IsNil() {\n\t\t\trv.Set(reflect.New(rv.Type().Elem()))\n\t\t}\n\t\trv = rv.Elem()\n\t}\n\n\trt := rv.Type()\n\trtid := reflect.ValueOf(rt).Pointer()\n\n\t// retrieve or register a focus'ed function for this type\n\t// to eliminate need to do the retrieval multiple times\n\n\t// if d.f == nil && d.s == nil { debugf(\"---->Creating new dec f map for type: %v\\n\", rt) }\n\tvar fn decFn\n\tvar ok bool\n\tif useMapForCodecCache {\n\t\tfn, ok = d.f[rtid]\n\t} else {\n\t\tfor i, v := range d.x {\n\t\t\tif v == rtid {\n\t\t\t\tfn, ok = d.s[i], true\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n\tif !ok {\n\t\t// debugf(\"\\tCreating new dec fn for type: %v\\n\", rt)\n\t\tfi := decFnInfo{ti: getTypeInfo(rtid, rt), d: d, dd: d.d}\n\t\tfn.i = &fi\n\t\t// An extension can be registered for any type, regardless of the Kind\n\t\t// (e.g. type BitSet int64, type MyStruct { / * unexported fields * / }, type X []int, etc.\n\t\t//\n\t\t// We can't check if it's an extension byte here first, because the user may have\n\t\t// registered a pointer or non-pointer type, meaning we may have to recurse first\n\t\t// before matching a mapped type, even though the extension byte is already detected.\n\t\t//\n\t\t// NOTE: if decoding into a nil interface{}, we return a non-nil\n\t\t// value except even if the container registers a length of 0.\n\t\tif rtid == rawExtTypId {\n\t\t\tfn.f = (*decFnInfo).rawExt\n\t\t} else if d.d.isBuiltinType(rtid) {\n\t\t\tfn.f = (*decFnInfo).builtin\n\t\t} else if xfTag, xfFn := d.h.getDecodeExt(rtid); xfFn != nil {\n\t\t\tfi.xfTag, fi.xfFn = xfTag, xfFn\n\t\t\tfn.f = (*decFnInfo).ext\n\t\t} else if supportBinaryMarshal && fi.ti.unm {\n\t\t\tfn.f = (*decFnInfo).binaryMarshal\n\t\t} else {\n\t\t\tswitch rk := rt.Kind(); rk {\n\t\t\tcase reflect.String:\n\t\t\t\tfn.f = (*decFnInfo).kString\n\t\t\tcase reflect.Bool:\n\t\t\t\tfn.f = (*decFnInfo).kBool\n\t\t\tcase reflect.Int:\n\t\t\t\tfn.f = (*decFnInfo).kInt\n\t\t\tcase reflect.Int64:\n\t\t\t\tfn.f = (*decFnInfo).kInt64\n\t\t\tcase reflect.Int32:\n\t\t\t\tfn.f = (*decFnInfo).kInt32\n\t\t\tcase reflect.Int8:\n\t\t\t\tfn.f = (*decFnInfo).kInt8\n\t\t\tcase reflect.Int16:\n\t\t\t\tfn.f = (*decFnInfo).kInt16\n\t\t\tcase reflect.Float32:\n\t\t\t\tfn.f = (*decFnInfo).kFloat32\n\t\t\tcase reflect.Float64:\n\t\t\t\tfn.f = (*decFnInfo).kFloat64\n\t\t\tcase reflect.Uint8:\n\t\t\t\tfn.f = (*decFnInfo).kUint8\n\t\t\tcase reflect.Uint64:\n\t\t\t\tfn.f = (*decFnInfo).kUint64\n\t\t\tcase reflect.Uint:\n\t\t\t\tfn.f = (*decFnInfo).kUint\n\t\t\tcase reflect.Uint32:\n\t\t\t\tfn.f = (*decFnInfo).kUint32\n\t\t\tcase reflect.Uint16:\n\t\t\t\tfn.f = (*decFnInfo).kUint16\n\t\t\t// case reflect.Ptr:\n\t\t\t// \tfn.f = (*decFnInfo).kPtr\n\t\t\tcase reflect.Interface:\n\t\t\t\tfn.f = (*decFnInfo).kInterface\n\t\t\tcase reflect.Struct:\n\t\t\t\tfn.f = (*decFnInfo).kStruct\n\t\t\tcase reflect.Slice:\n\t\t\t\tfn.f = (*decFnInfo).kSlice\n\t\t\tcase reflect.Array:\n\t\t\t\tfi.array = true\n\t\t\t\tfn.f = (*decFnInfo).kArray\n\t\t\tcase reflect.Map:\n\t\t\t\tfn.f = (*decFnInfo).kMap\n\t\t\tdefault:\n\t\t\t\tfn.f = (*decFnInfo).kErr\n\t\t\t}\n\t\t}\n\t\tif useMapForCodecCache {\n\t\t\tif d.f == nil {\n\t\t\t\td.f = make(map[uintptr]decFn, 16)\n\t\t\t}\n\t\t\td.f[rtid] = fn\n\t\t} else {\n\t\t\td.s = append(d.s, fn)\n\t\t\td.x = append(d.x, rtid)\n\t\t}\n\t}\n\n\tfn.f(fn.i, rv)\n\n\treturn\n}\n\nfunc (d *Decoder) chkPtrValue(rv reflect.Value) {\n\t// We can only decode into a non-nil pointer\n\tif rv.Kind() == reflect.Ptr && !rv.IsNil() {\n\t\treturn\n\t}\n\tif !rv.IsValid() {\n\t\tdecErr(\"Cannot decode into a zero (ie invalid) reflect.Value\")\n\t}\n\tif !rv.CanInterface() {\n\t\tdecErr(\"Cannot decode into a value without an interface: %v\", rv)\n\t}\n\trvi := rv.Interface()\n\tdecErr(\"Cannot decode into non-pointer or nil pointer. Got: %v, %T, %v\",\n\t\trv.Kind(), rvi, rvi)\n}\n\nfunc (d *Decoder) decEmbeddedField(rv reflect.Value, index []int) {\n\t// d.decodeValue(rv.FieldByIndex(index))\n\t// nil pointers may be here; so reproduce FieldByIndex logic + enhancements\n\tfor _, j := range index {\n\t\tif rv.Kind() == reflect.Ptr {\n\t\t\tif rv.IsNil() {\n\t\t\t\trv.Set(reflect.New(rv.Type().Elem()))\n\t\t\t}\n\t\t\t// If a pointer, it must be a pointer to struct (based on typeInfo contract)\n\t\t\trv = rv.Elem()\n\t\t}\n\t\trv = rv.Field(j)\n\t}\n\td.decodeValue(rv)\n}\n\n// --------------------------------------------------\n\n// short circuit functions for common maps and slices\n\nfunc (d *Decoder) decSliceIntf(v *[]interface{}, currEncodedType valueType, doNotReset bool) {\n\t_, containerLenS := decContLens(d.d, currEncodedType)\n\ts := *v\n\tif s == nil {\n\t\ts = make([]interface{}, containerLenS, containerLenS)\n\t} else if containerLenS > cap(s) {\n\t\tif doNotReset {\n\t\t\tdecErr(msgDecCannotExpandArr, cap(s), containerLenS)\n\t\t}\n\t\ts = make([]interface{}, containerLenS, containerLenS)\n\t\tcopy(s, *v)\n\t} else if containerLenS > len(s) {\n\t\ts = s[:containerLenS]\n\t}\n\tfor j := 0; j < containerLenS; j++ {\n\t\td.decode(&s[j])\n\t}\n\t*v = s\n}\n\nfunc (d *Decoder) decSliceInt64(v *[]int64, currEncodedType valueType, doNotReset bool) {\n\t_, containerLenS := decContLens(d.d, currEncodedType)\n\ts := *v\n\tif s == nil {\n\t\ts = make([]int64, containerLenS, containerLenS)\n\t} else if containerLenS > cap(s) {\n\t\tif doNotReset {\n\t\t\tdecErr(msgDecCannotExpandArr, cap(s), containerLenS)\n\t\t}\n\t\ts = make([]int64, containerLenS, containerLenS)\n\t\tcopy(s, *v)\n\t} else if containerLenS > len(s) {\n\t\ts = s[:containerLenS]\n\t}\n\tfor j := 0; j < containerLenS; j++ {\n\t\t// d.decode(&s[j])\n\t\td.d.initReadNext()\n\t\ts[j] = d.d.decodeInt(intBitsize)\n\t}\n\t*v = s\n}\n\nfunc (d *Decoder) decSliceUint64(v *[]uint64, currEncodedType valueType, doNotReset bool) {\n\t_, containerLenS := decContLens(d.d, currEncodedType)\n\ts := *v\n\tif s == nil {\n\t\ts = make([]uint64, containerLenS, containerLenS)\n\t} else if containerLenS > cap(s) {\n\t\tif doNotReset {\n\t\t\tdecErr(msgDecCannotExpandArr, cap(s), containerLenS)\n\t\t}\n\t\ts = make([]uint64, containerLenS, containerLenS)\n\t\tcopy(s, *v)\n\t} else if containerLenS > len(s) {\n\t\ts = s[:containerLenS]\n\t}\n\tfor j := 0; j < containerLenS; j++ {\n\t\t// d.decode(&s[j])\n\t\td.d.initReadNext()\n\t\ts[j] = d.d.decodeUint(intBitsize)\n\t}\n\t*v = s\n}\n\nfunc (d *Decoder) decSliceStr(v *[]string, currEncodedType valueType, doNotReset bool) {\n\t_, containerLenS := decContLens(d.d, currEncodedType)\n\ts := *v\n\tif s == nil {\n\t\ts = make([]string, containerLenS, containerLenS)\n\t} else if containerLenS > cap(s) {\n\t\tif doNotReset {\n\t\t\tdecErr(msgDecCannotExpandArr, cap(s), containerLenS)\n\t\t}\n\t\ts = make([]string, containerLenS, containerLenS)\n\t\tcopy(s, *v)\n\t} else if containerLenS > len(s) {\n\t\ts = s[:containerLenS]\n\t}\n\tfor j := 0; j < containerLenS; j++ {\n\t\t// d.decode(&s[j])\n\t\td.d.initReadNext()\n\t\ts[j] = d.d.decodeString()\n\t}\n\t*v = s\n}\n\nfunc (d *Decoder) decMapIntfIntf(v *map[interface{}]interface{}) {\n\tcontainerLen := d.d.readMapLen()\n\tm := *v\n\tif m == nil {\n\t\tm = make(map[interface{}]interface{}, containerLen)\n\t\t*v = m\n\t}\n\tfor j := 0; j < containerLen; j++ {\n\t\tvar mk interface{}\n\t\td.decode(&mk)\n\t\t// special case if a byte array.\n\t\tif bv, bok := mk.([]byte); bok {\n\t\t\tmk = string(bv)\n\t\t}\n\t\tmv := m[mk]\n\t\td.decode(&mv)\n\t\tm[mk] = mv\n\t}\n}\n\nfunc (d *Decoder) decMapInt64Intf(v *map[int64]interface{}) {\n\tcontainerLen := d.d.readMapLen()\n\tm := *v\n\tif m == nil {\n\t\tm = make(map[int64]interface{}, containerLen)\n\t\t*v = m\n\t}\n\tfor j := 0; j < containerLen; j++ {\n\t\td.d.initReadNext()\n\t\tmk := d.d.decodeInt(intBitsize)\n\t\tmv := m[mk]\n\t\td.decode(&mv)\n\t\tm[mk] = mv\n\t}\n}\n\nfunc (d *Decoder) decMapUint64Intf(v *map[uint64]interface{}) {\n\tcontainerLen := d.d.readMapLen()\n\tm := *v\n\tif m == nil {\n\t\tm = make(map[uint64]interface{}, containerLen)\n\t\t*v = m\n\t}\n\tfor j := 0; j < containerLen; j++ {\n\t\td.d.initReadNext()\n\t\tmk := d.d.decodeUint(intBitsize)\n\t\tmv := m[mk]\n\t\td.decode(&mv)\n\t\tm[mk] = mv\n\t}\n}\n\nfunc (d *Decoder) decMapStrIntf(v *map[string]interface{}) {\n\tcontainerLen := d.d.readMapLen()\n\tm := *v\n\tif m == nil {\n\t\tm = make(map[string]interface{}, containerLen)\n\t\t*v = m\n\t}\n\tfor j := 0; j < containerLen; j++ {\n\t\td.d.initReadNext()\n\t\tmk := d.d.decodeString()\n\t\tmv := m[mk]\n\t\td.decode(&mv)\n\t\tm[mk] = mv\n\t}\n}\n\n// ----------------------------------------\n\nfunc decContLens(dd decDriver, currEncodedType valueType) (containerLen, containerLenS int) {\n\tif currEncodedType == valueTypeInvalid {\n\t\tcurrEncodedType = dd.currentEncodedType()\n\t}\n\tswitch currEncodedType {\n\tcase valueTypeArray:\n\t\tcontainerLen = dd.readArrayLen()\n\t\tcontainerLenS = containerLen\n\tcase valueTypeMap:\n\t\tcontainerLen = dd.readMapLen()\n\t\tcontainerLenS = containerLen * 2\n\tdefault:\n\t\tdecErr(\"Only encoded map or array can be decoded into a slice. (valueType: %0x)\",\n\t\t\tcurrEncodedType)\n\t}\n\treturn\n}\n\nfunc decErr(format string, params ...interface{}) {\n\tdoPanic(msgTagDec, format, params...)\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-msgpack/codec/encode.go",
    "content": "// Copyright (c) 2012, 2013 Ugorji Nwoke. All rights reserved.\n// Use of this source code is governed by a BSD-style license found in the LICENSE file.\n\npackage codec\n\nimport (\n\t\"io\"\n\t\"reflect\"\n)\n\nconst (\n\t// Some tagging information for error messages.\n\tmsgTagEnc         = \"codec.encoder\"\n\tdefEncByteBufSize = 1 << 6 // 4:16, 6:64, 8:256, 10:1024\n\t// maxTimeSecs32 = math.MaxInt32 / 60 / 24 / 366\n)\n\n// AsSymbolFlag defines what should be encoded as symbols.\ntype AsSymbolFlag uint8\n\nconst (\n\t// AsSymbolDefault is default.\n\t// Currently, this means only encode struct field names as symbols.\n\t// The default is subject to change.\n\tAsSymbolDefault AsSymbolFlag = iota\n\n\t// AsSymbolAll means encode anything which could be a symbol as a symbol.\n\tAsSymbolAll = 0xfe\n\n\t// AsSymbolNone means do not encode anything as a symbol.\n\tAsSymbolNone = 1 << iota\n\n\t// AsSymbolMapStringKeys means encode keys in map[string]XXX as symbols.\n\tAsSymbolMapStringKeysFlag\n\n\t// AsSymbolStructFieldName means encode struct field names as symbols.\n\tAsSymbolStructFieldNameFlag\n)\n\n// encWriter abstracting writing to a byte array or to an io.Writer.\ntype encWriter interface {\n\twriteUint16(uint16)\n\twriteUint32(uint32)\n\twriteUint64(uint64)\n\twriteb([]byte)\n\twritestr(string)\n\twriten1(byte)\n\twriten2(byte, byte)\n\tatEndOfEncode()\n}\n\n// encDriver abstracts the actual codec (binc vs msgpack, etc)\ntype encDriver interface {\n\tisBuiltinType(rt uintptr) bool\n\tencodeBuiltin(rt uintptr, v interface{})\n\tencodeNil()\n\tencodeInt(i int64)\n\tencodeUint(i uint64)\n\tencodeBool(b bool)\n\tencodeFloat32(f float32)\n\tencodeFloat64(f float64)\n\tencodeExtPreamble(xtag byte, length int)\n\tencodeArrayPreamble(length int)\n\tencodeMapPreamble(length int)\n\tencodeString(c charEncoding, v string)\n\tencodeSymbol(v string)\n\tencodeStringBytes(c charEncoding, v []byte)\n\t//TODO\n\t//encBignum(f *big.Int)\n\t//encStringRunes(c charEncoding, v []rune)\n}\n\ntype ioEncWriterWriter interface {\n\tWriteByte(c byte) error\n\tWriteString(s string) (n int, err error)\n\tWrite(p []byte) (n int, err error)\n}\n\ntype ioEncStringWriter interface {\n\tWriteString(s string) (n int, err error)\n}\n\ntype EncodeOptions struct {\n\t// Encode a struct as an array, and not as a map.\n\tStructToArray bool\n\n\t// AsSymbols defines what should be encoded as symbols.\n\t//\n\t// Encoding as symbols can reduce the encoded size significantly.\n\t//\n\t// However, during decoding, each string to be encoded as a symbol must\n\t// be checked to see if it has been seen before. Consequently, encoding time\n\t// will increase if using symbols, because string comparisons has a clear cost.\n\t//\n\t// Sample values:\n\t//   AsSymbolNone\n\t//   AsSymbolAll\n\t//   AsSymbolMapStringKeys\n\t//   AsSymbolMapStringKeysFlag | AsSymbolStructFieldNameFlag\n\tAsSymbols AsSymbolFlag\n}\n\n// ---------------------------------------------\n\ntype simpleIoEncWriterWriter struct {\n\tw  io.Writer\n\tbw io.ByteWriter\n\tsw ioEncStringWriter\n}\n\nfunc (o *simpleIoEncWriterWriter) WriteByte(c byte) (err error) {\n\tif o.bw != nil {\n\t\treturn o.bw.WriteByte(c)\n\t}\n\t_, err = o.w.Write([]byte{c})\n\treturn\n}\n\nfunc (o *simpleIoEncWriterWriter) WriteString(s string) (n int, err error) {\n\tif o.sw != nil {\n\t\treturn o.sw.WriteString(s)\n\t}\n\treturn o.w.Write([]byte(s))\n}\n\nfunc (o *simpleIoEncWriterWriter) Write(p []byte) (n int, err error) {\n\treturn o.w.Write(p)\n}\n\n// ----------------------------------------\n\n// ioEncWriter implements encWriter and can write to an io.Writer implementation\ntype ioEncWriter struct {\n\tw ioEncWriterWriter\n\tx [8]byte // temp byte array re-used internally for efficiency\n}\n\nfunc (z *ioEncWriter) writeUint16(v uint16) {\n\tbigen.PutUint16(z.x[:2], v)\n\tz.writeb(z.x[:2])\n}\n\nfunc (z *ioEncWriter) writeUint32(v uint32) {\n\tbigen.PutUint32(z.x[:4], v)\n\tz.writeb(z.x[:4])\n}\n\nfunc (z *ioEncWriter) writeUint64(v uint64) {\n\tbigen.PutUint64(z.x[:8], v)\n\tz.writeb(z.x[:8])\n}\n\nfunc (z *ioEncWriter) writeb(bs []byte) {\n\tif len(bs) == 0 {\n\t\treturn\n\t}\n\tn, err := z.w.Write(bs)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\tif n != len(bs) {\n\t\tencErr(\"write: Incorrect num bytes written. Expecting: %v, Wrote: %v\", len(bs), n)\n\t}\n}\n\nfunc (z *ioEncWriter) writestr(s string) {\n\tn, err := z.w.WriteString(s)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\tif n != len(s) {\n\t\tencErr(\"write: Incorrect num bytes written. Expecting: %v, Wrote: %v\", len(s), n)\n\t}\n}\n\nfunc (z *ioEncWriter) writen1(b byte) {\n\tif err := z.w.WriteByte(b); err != nil {\n\t\tpanic(err)\n\t}\n}\n\nfunc (z *ioEncWriter) writen2(b1 byte, b2 byte) {\n\tz.writen1(b1)\n\tz.writen1(b2)\n}\n\nfunc (z *ioEncWriter) atEndOfEncode() {}\n\n// ----------------------------------------\n\n// bytesEncWriter implements encWriter and can write to an byte slice.\n// It is used by Marshal function.\ntype bytesEncWriter struct {\n\tb   []byte\n\tc   int     // cursor\n\tout *[]byte // write out on atEndOfEncode\n}\n\nfunc (z *bytesEncWriter) writeUint16(v uint16) {\n\tc := z.grow(2)\n\tz.b[c] = byte(v >> 8)\n\tz.b[c+1] = byte(v)\n}\n\nfunc (z *bytesEncWriter) writeUint32(v uint32) {\n\tc := z.grow(4)\n\tz.b[c] = byte(v >> 24)\n\tz.b[c+1] = byte(v >> 16)\n\tz.b[c+2] = byte(v >> 8)\n\tz.b[c+3] = byte(v)\n}\n\nfunc (z *bytesEncWriter) writeUint64(v uint64) {\n\tc := z.grow(8)\n\tz.b[c] = byte(v >> 56)\n\tz.b[c+1] = byte(v >> 48)\n\tz.b[c+2] = byte(v >> 40)\n\tz.b[c+3] = byte(v >> 32)\n\tz.b[c+4] = byte(v >> 24)\n\tz.b[c+5] = byte(v >> 16)\n\tz.b[c+6] = byte(v >> 8)\n\tz.b[c+7] = byte(v)\n}\n\nfunc (z *bytesEncWriter) writeb(s []byte) {\n\tif len(s) == 0 {\n\t\treturn\n\t}\n\tc := z.grow(len(s))\n\tcopy(z.b[c:], s)\n}\n\nfunc (z *bytesEncWriter) writestr(s string) {\n\tc := z.grow(len(s))\n\tcopy(z.b[c:], s)\n}\n\nfunc (z *bytesEncWriter) writen1(b1 byte) {\n\tc := z.grow(1)\n\tz.b[c] = b1\n}\n\nfunc (z *bytesEncWriter) writen2(b1 byte, b2 byte) {\n\tc := z.grow(2)\n\tz.b[c] = b1\n\tz.b[c+1] = b2\n}\n\nfunc (z *bytesEncWriter) atEndOfEncode() {\n\t*(z.out) = z.b[:z.c]\n}\n\nfunc (z *bytesEncWriter) grow(n int) (oldcursor int) {\n\toldcursor = z.c\n\tz.c = oldcursor + n\n\tif z.c > cap(z.b) {\n\t\t// Tried using appendslice logic: (if cap < 1024, *2, else *1.25).\n\t\t// However, it was too expensive, causing too many iterations of copy.\n\t\t// Using bytes.Buffer model was much better (2*cap + n)\n\t\tbs := make([]byte, 2*cap(z.b)+n)\n\t\tcopy(bs, z.b[:oldcursor])\n\t\tz.b = bs\n\t} else if z.c > len(z.b) {\n\t\tz.b = z.b[:cap(z.b)]\n\t}\n\treturn\n}\n\n// ---------------------------------------------\n\ntype encFnInfo struct {\n\tti    *typeInfo\n\te     *Encoder\n\tee    encDriver\n\txfFn  func(reflect.Value) ([]byte, error)\n\txfTag byte\n}\n\nfunc (f *encFnInfo) builtin(rv reflect.Value) {\n\tf.ee.encodeBuiltin(f.ti.rtid, rv.Interface())\n}\n\nfunc (f *encFnInfo) rawExt(rv reflect.Value) {\n\tf.e.encRawExt(rv.Interface().(RawExt))\n}\n\nfunc (f *encFnInfo) ext(rv reflect.Value) {\n\tbs, fnerr := f.xfFn(rv)\n\tif fnerr != nil {\n\t\tpanic(fnerr)\n\t}\n\tif bs == nil {\n\t\tf.ee.encodeNil()\n\t\treturn\n\t}\n\tif f.e.hh.writeExt() {\n\t\tf.ee.encodeExtPreamble(f.xfTag, len(bs))\n\t\tf.e.w.writeb(bs)\n\t} else {\n\t\tf.ee.encodeStringBytes(c_RAW, bs)\n\t}\n\n}\n\nfunc (f *encFnInfo) binaryMarshal(rv reflect.Value) {\n\tvar bm binaryMarshaler\n\tif f.ti.mIndir == 0 {\n\t\tbm = rv.Interface().(binaryMarshaler)\n\t} else if f.ti.mIndir == -1 {\n\t\tbm = rv.Addr().Interface().(binaryMarshaler)\n\t} else {\n\t\tfor j, k := int8(0), f.ti.mIndir; j < k; j++ {\n\t\t\tif rv.IsNil() {\n\t\t\t\tf.ee.encodeNil()\n\t\t\t\treturn\n\t\t\t}\n\t\t\trv = rv.Elem()\n\t\t}\n\t\tbm = rv.Interface().(binaryMarshaler)\n\t}\n\t// debugf(\">>>> binaryMarshaler: %T\", rv.Interface())\n\tbs, fnerr := bm.MarshalBinary()\n\tif fnerr != nil {\n\t\tpanic(fnerr)\n\t}\n\tif bs == nil {\n\t\tf.ee.encodeNil()\n\t} else {\n\t\tf.ee.encodeStringBytes(c_RAW, bs)\n\t}\n}\n\nfunc (f *encFnInfo) kBool(rv reflect.Value) {\n\tf.ee.encodeBool(rv.Bool())\n}\n\nfunc (f *encFnInfo) kString(rv reflect.Value) {\n\tf.ee.encodeString(c_UTF8, rv.String())\n}\n\nfunc (f *encFnInfo) kFloat64(rv reflect.Value) {\n\tf.ee.encodeFloat64(rv.Float())\n}\n\nfunc (f *encFnInfo) kFloat32(rv reflect.Value) {\n\tf.ee.encodeFloat32(float32(rv.Float()))\n}\n\nfunc (f *encFnInfo) kInt(rv reflect.Value) {\n\tf.ee.encodeInt(rv.Int())\n}\n\nfunc (f *encFnInfo) kUint(rv reflect.Value) {\n\tf.ee.encodeUint(rv.Uint())\n}\n\nfunc (f *encFnInfo) kInvalid(rv reflect.Value) {\n\tf.ee.encodeNil()\n}\n\nfunc (f *encFnInfo) kErr(rv reflect.Value) {\n\tencErr(\"Unsupported kind: %s, for: %#v\", rv.Kind(), rv)\n}\n\nfunc (f *encFnInfo) kSlice(rv reflect.Value) {\n\tif rv.IsNil() {\n\t\tf.ee.encodeNil()\n\t\treturn\n\t}\n\n\tif shortCircuitReflectToFastPath {\n\t\tswitch f.ti.rtid {\n\t\tcase intfSliceTypId:\n\t\t\tf.e.encSliceIntf(rv.Interface().([]interface{}))\n\t\t\treturn\n\t\tcase strSliceTypId:\n\t\t\tf.e.encSliceStr(rv.Interface().([]string))\n\t\t\treturn\n\t\tcase uint64SliceTypId:\n\t\t\tf.e.encSliceUint64(rv.Interface().([]uint64))\n\t\t\treturn\n\t\tcase int64SliceTypId:\n\t\t\tf.e.encSliceInt64(rv.Interface().([]int64))\n\t\t\treturn\n\t\t}\n\t}\n\n\t// If in this method, then there was no extension function defined.\n\t// So it's okay to treat as []byte.\n\tif f.ti.rtid == uint8SliceTypId || f.ti.rt.Elem().Kind() == reflect.Uint8 {\n\t\tf.ee.encodeStringBytes(c_RAW, rv.Bytes())\n\t\treturn\n\t}\n\n\tl := rv.Len()\n\tif f.ti.mbs {\n\t\tif l%2 == 1 {\n\t\t\tencErr(\"mapBySlice: invalid length (must be divisible by 2): %v\", l)\n\t\t}\n\t\tf.ee.encodeMapPreamble(l / 2)\n\t} else {\n\t\tf.ee.encodeArrayPreamble(l)\n\t}\n\tif l == 0 {\n\t\treturn\n\t}\n\tfor j := 0; j < l; j++ {\n\t\t// TODO: Consider perf implication of encoding odd index values as symbols if type is string\n\t\tf.e.encodeValue(rv.Index(j))\n\t}\n}\n\nfunc (f *encFnInfo) kArray(rv reflect.Value) {\n\t// We cannot share kSlice method, because the array may be non-addressable.\n\t// E.g. type struct S{B [2]byte}; Encode(S{}) will bomb on \"panic: slice of unaddressable array\".\n\t// So we have to duplicate the functionality here.\n\t// f.e.encodeValue(rv.Slice(0, rv.Len()))\n\t// f.kSlice(rv.Slice(0, rv.Len()))\n\n\tl := rv.Len()\n\t// Handle an array of bytes specially (in line with what is done for slices)\n\tif f.ti.rt.Elem().Kind() == reflect.Uint8 {\n\t\tif l == 0 {\n\t\t\tf.ee.encodeStringBytes(c_RAW, nil)\n\t\t\treturn\n\t\t}\n\t\tvar bs []byte\n\t\tif rv.CanAddr() {\n\t\t\tbs = rv.Slice(0, l).Bytes()\n\t\t} else {\n\t\t\tbs = make([]byte, l)\n\t\t\tfor i := 0; i < l; i++ {\n\t\t\t\tbs[i] = byte(rv.Index(i).Uint())\n\t\t\t}\n\t\t}\n\t\tf.ee.encodeStringBytes(c_RAW, bs)\n\t\treturn\n\t}\n\n\tif f.ti.mbs {\n\t\tif l%2 == 1 {\n\t\t\tencErr(\"mapBySlice: invalid length (must be divisible by 2): %v\", l)\n\t\t}\n\t\tf.ee.encodeMapPreamble(l / 2)\n\t} else {\n\t\tf.ee.encodeArrayPreamble(l)\n\t}\n\tif l == 0 {\n\t\treturn\n\t}\n\tfor j := 0; j < l; j++ {\n\t\t// TODO: Consider perf implication of encoding odd index values as symbols if type is string\n\t\tf.e.encodeValue(rv.Index(j))\n\t}\n}\n\nfunc (f *encFnInfo) kStruct(rv reflect.Value) {\n\tfti := f.ti\n\tnewlen := len(fti.sfi)\n\trvals := make([]reflect.Value, newlen)\n\tvar encnames []string\n\te := f.e\n\ttisfi := fti.sfip\n\ttoMap := !(fti.toArray || e.h.StructToArray)\n\t// if toMap, use the sorted array. If toArray, use unsorted array (to match sequence in struct)\n\tif toMap {\n\t\ttisfi = fti.sfi\n\t\tencnames = make([]string, newlen)\n\t}\n\tnewlen = 0\n\tfor _, si := range tisfi {\n\t\tif si.i != -1 {\n\t\t\trvals[newlen] = rv.Field(int(si.i))\n\t\t} else {\n\t\t\trvals[newlen] = rv.FieldByIndex(si.is)\n\t\t}\n\t\tif toMap {\n\t\t\tif si.omitEmpty && isEmptyValue(rvals[newlen]) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tencnames[newlen] = si.encName\n\t\t} else {\n\t\t\tif si.omitEmpty && isEmptyValue(rvals[newlen]) {\n\t\t\t\trvals[newlen] = reflect.Value{} //encode as nil\n\t\t\t}\n\t\t}\n\t\tnewlen++\n\t}\n\n\t// debugf(\">>>> kStruct: newlen: %v\", newlen)\n\tif toMap {\n\t\tee := f.ee //don't dereference everytime\n\t\tee.encodeMapPreamble(newlen)\n\t\t// asSymbols := e.h.AsSymbols&AsSymbolStructFieldNameFlag != 0\n\t\tasSymbols := e.h.AsSymbols == AsSymbolDefault || e.h.AsSymbols&AsSymbolStructFieldNameFlag != 0\n\t\tfor j := 0; j < newlen; j++ {\n\t\t\tif asSymbols {\n\t\t\t\tee.encodeSymbol(encnames[j])\n\t\t\t} else {\n\t\t\t\tee.encodeString(c_UTF8, encnames[j])\n\t\t\t}\n\t\t\te.encodeValue(rvals[j])\n\t\t}\n\t} else {\n\t\tf.ee.encodeArrayPreamble(newlen)\n\t\tfor j := 0; j < newlen; j++ {\n\t\t\te.encodeValue(rvals[j])\n\t\t}\n\t}\n}\n\n// func (f *encFnInfo) kPtr(rv reflect.Value) {\n// \tdebugf(\">>>>>>> ??? encode kPtr called - shouldn't get called\")\n// \tif rv.IsNil() {\n// \t\tf.ee.encodeNil()\n// \t\treturn\n// \t}\n// \tf.e.encodeValue(rv.Elem())\n// }\n\nfunc (f *encFnInfo) kInterface(rv reflect.Value) {\n\tif rv.IsNil() {\n\t\tf.ee.encodeNil()\n\t\treturn\n\t}\n\tf.e.encodeValue(rv.Elem())\n}\n\nfunc (f *encFnInfo) kMap(rv reflect.Value) {\n\tif rv.IsNil() {\n\t\tf.ee.encodeNil()\n\t\treturn\n\t}\n\n\tif shortCircuitReflectToFastPath {\n\t\tswitch f.ti.rtid {\n\t\tcase mapIntfIntfTypId:\n\t\t\tf.e.encMapIntfIntf(rv.Interface().(map[interface{}]interface{}))\n\t\t\treturn\n\t\tcase mapStrIntfTypId:\n\t\t\tf.e.encMapStrIntf(rv.Interface().(map[string]interface{}))\n\t\t\treturn\n\t\tcase mapStrStrTypId:\n\t\t\tf.e.encMapStrStr(rv.Interface().(map[string]string))\n\t\t\treturn\n\t\tcase mapInt64IntfTypId:\n\t\t\tf.e.encMapInt64Intf(rv.Interface().(map[int64]interface{}))\n\t\t\treturn\n\t\tcase mapUint64IntfTypId:\n\t\t\tf.e.encMapUint64Intf(rv.Interface().(map[uint64]interface{}))\n\t\t\treturn\n\t\t}\n\t}\n\n\tl := rv.Len()\n\tf.ee.encodeMapPreamble(l)\n\tif l == 0 {\n\t\treturn\n\t}\n\t// keyTypeIsString := f.ti.rt.Key().Kind() == reflect.String\n\tkeyTypeIsString := f.ti.rt.Key() == stringTyp\n\tvar asSymbols bool\n\tif keyTypeIsString {\n\t\tasSymbols = f.e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0\n\t}\n\tmks := rv.MapKeys()\n\t// for j, lmks := 0, len(mks); j < lmks; j++ {\n\tfor j := range mks {\n\t\tif keyTypeIsString {\n\t\t\tif asSymbols {\n\t\t\t\tf.ee.encodeSymbol(mks[j].String())\n\t\t\t} else {\n\t\t\t\tf.ee.encodeString(c_UTF8, mks[j].String())\n\t\t\t}\n\t\t} else {\n\t\t\tf.e.encodeValue(mks[j])\n\t\t}\n\t\tf.e.encodeValue(rv.MapIndex(mks[j]))\n\t}\n\n}\n\n// --------------------------------------------------\n\n// encFn encapsulates the captured variables and the encode function.\n// This way, we only do some calculations one times, and pass to the\n// code block that should be called (encapsulated in a function)\n// instead of executing the checks every time.\ntype encFn struct {\n\ti *encFnInfo\n\tf func(*encFnInfo, reflect.Value)\n}\n\n// --------------------------------------------------\n\n// An Encoder writes an object to an output stream in the codec format.\ntype Encoder struct {\n\tw  encWriter\n\te  encDriver\n\th  *BasicHandle\n\thh Handle\n\tf  map[uintptr]encFn\n\tx  []uintptr\n\ts  []encFn\n}\n\n// NewEncoder returns an Encoder for encoding into an io.Writer.\n//\n// For efficiency, Users are encouraged to pass in a memory buffered writer\n// (eg bufio.Writer, bytes.Buffer).\nfunc NewEncoder(w io.Writer, h Handle) *Encoder {\n\tww, ok := w.(ioEncWriterWriter)\n\tif !ok {\n\t\tsww := simpleIoEncWriterWriter{w: w}\n\t\tsww.bw, _ = w.(io.ByteWriter)\n\t\tsww.sw, _ = w.(ioEncStringWriter)\n\t\tww = &sww\n\t\t//ww = bufio.NewWriterSize(w, defEncByteBufSize)\n\t}\n\tz := ioEncWriter{\n\t\tw: ww,\n\t}\n\treturn &Encoder{w: &z, hh: h, h: h.getBasicHandle(), e: h.newEncDriver(&z)}\n}\n\n// NewEncoderBytes returns an encoder for encoding directly and efficiently\n// into a byte slice, using zero-copying to temporary slices.\n//\n// It will potentially replace the output byte slice pointed to.\n// After encoding, the out parameter contains the encoded contents.\nfunc NewEncoderBytes(out *[]byte, h Handle) *Encoder {\n\tin := *out\n\tif in == nil {\n\t\tin = make([]byte, defEncByteBufSize)\n\t}\n\tz := bytesEncWriter{\n\t\tb:   in,\n\t\tout: out,\n\t}\n\treturn &Encoder{w: &z, hh: h, h: h.getBasicHandle(), e: h.newEncDriver(&z)}\n}\n\n// Encode writes an object into a stream in the codec format.\n//\n// Encoding can be configured via the \"codec\" struct tag for the fields.\n//\n// The \"codec\" key in struct field's tag value is the key name,\n// followed by an optional comma and options.\n//\n// To set an option on all fields (e.g. omitempty on all fields), you\n// can create a field called _struct, and set flags on it.\n//\n// Struct values \"usually\" encode as maps. Each exported struct field is encoded unless:\n//    - the field's codec tag is \"-\", OR\n//    - the field is empty and its codec tag specifies the \"omitempty\" option.\n//\n// When encoding as a map, the first string in the tag (before the comma)\n// is the map key string to use when encoding.\n//\n// However, struct values may encode as arrays. This happens when:\n//    - StructToArray Encode option is set, OR\n//    - the codec tag on the _struct field sets the \"toarray\" option\n//\n// Values with types that implement MapBySlice are encoded as stream maps.\n//\n// The empty values (for omitempty option) are false, 0, any nil pointer\n// or interface value, and any array, slice, map, or string of length zero.\n//\n// Anonymous fields are encoded inline if no struct tag is present.\n// Else they are encoded as regular fields.\n//\n// Examples:\n//\n//      type MyStruct struct {\n//          _struct bool    `codec:\",omitempty\"`   //set omitempty for every field\n//          Field1 string   `codec:\"-\"`            //skip this field\n//          Field2 int      `codec:\"myName\"`       //Use key \"myName\" in encode stream\n//          Field3 int32    `codec:\",omitempty\"`   //use key \"Field3\". Omit if empty.\n//          Field4 bool     `codec:\"f4,omitempty\"` //use key \"f4\". Omit if empty.\n//          ...\n//      }\n//\n//      type MyStruct struct {\n//          _struct bool    `codec:\",omitempty,toarray\"`   //set omitempty for every field\n//                                                         //and encode struct as an array\n//      }\n//\n// The mode of encoding is based on the type of the value. When a value is seen:\n//   - If an extension is registered for it, call that extension function\n//   - If it implements BinaryMarshaler, call its MarshalBinary() (data []byte, err error)\n//   - Else encode it based on its reflect.Kind\n//\n// Note that struct field names and keys in map[string]XXX will be treated as symbols.\n// Some formats support symbols (e.g. binc) and will properly encode the string\n// only once in the stream, and use a tag to refer to it thereafter.\nfunc (e *Encoder) Encode(v interface{}) (err error) {\n\tdefer panicToErr(&err)\n\te.encode(v)\n\te.w.atEndOfEncode()\n\treturn\n}\n\nfunc (e *Encoder) encode(iv interface{}) {\n\tswitch v := iv.(type) {\n\tcase nil:\n\t\te.e.encodeNil()\n\n\tcase reflect.Value:\n\t\te.encodeValue(v)\n\n\tcase string:\n\t\te.e.encodeString(c_UTF8, v)\n\tcase bool:\n\t\te.e.encodeBool(v)\n\tcase int:\n\t\te.e.encodeInt(int64(v))\n\tcase int8:\n\t\te.e.encodeInt(int64(v))\n\tcase int16:\n\t\te.e.encodeInt(int64(v))\n\tcase int32:\n\t\te.e.encodeInt(int64(v))\n\tcase int64:\n\t\te.e.encodeInt(v)\n\tcase uint:\n\t\te.e.encodeUint(uint64(v))\n\tcase uint8:\n\t\te.e.encodeUint(uint64(v))\n\tcase uint16:\n\t\te.e.encodeUint(uint64(v))\n\tcase uint32:\n\t\te.e.encodeUint(uint64(v))\n\tcase uint64:\n\t\te.e.encodeUint(v)\n\tcase float32:\n\t\te.e.encodeFloat32(v)\n\tcase float64:\n\t\te.e.encodeFloat64(v)\n\n\tcase []interface{}:\n\t\te.encSliceIntf(v)\n\tcase []string:\n\t\te.encSliceStr(v)\n\tcase []int64:\n\t\te.encSliceInt64(v)\n\tcase []uint64:\n\t\te.encSliceUint64(v)\n\tcase []uint8:\n\t\te.e.encodeStringBytes(c_RAW, v)\n\n\tcase map[interface{}]interface{}:\n\t\te.encMapIntfIntf(v)\n\tcase map[string]interface{}:\n\t\te.encMapStrIntf(v)\n\tcase map[string]string:\n\t\te.encMapStrStr(v)\n\tcase map[int64]interface{}:\n\t\te.encMapInt64Intf(v)\n\tcase map[uint64]interface{}:\n\t\te.encMapUint64Intf(v)\n\n\tcase *string:\n\t\te.e.encodeString(c_UTF8, *v)\n\tcase *bool:\n\t\te.e.encodeBool(*v)\n\tcase *int:\n\t\te.e.encodeInt(int64(*v))\n\tcase *int8:\n\t\te.e.encodeInt(int64(*v))\n\tcase *int16:\n\t\te.e.encodeInt(int64(*v))\n\tcase *int32:\n\t\te.e.encodeInt(int64(*v))\n\tcase *int64:\n\t\te.e.encodeInt(*v)\n\tcase *uint:\n\t\te.e.encodeUint(uint64(*v))\n\tcase *uint8:\n\t\te.e.encodeUint(uint64(*v))\n\tcase *uint16:\n\t\te.e.encodeUint(uint64(*v))\n\tcase *uint32:\n\t\te.e.encodeUint(uint64(*v))\n\tcase *uint64:\n\t\te.e.encodeUint(*v)\n\tcase *float32:\n\t\te.e.encodeFloat32(*v)\n\tcase *float64:\n\t\te.e.encodeFloat64(*v)\n\n\tcase *[]interface{}:\n\t\te.encSliceIntf(*v)\n\tcase *[]string:\n\t\te.encSliceStr(*v)\n\tcase *[]int64:\n\t\te.encSliceInt64(*v)\n\tcase *[]uint64:\n\t\te.encSliceUint64(*v)\n\tcase *[]uint8:\n\t\te.e.encodeStringBytes(c_RAW, *v)\n\n\tcase *map[interface{}]interface{}:\n\t\te.encMapIntfIntf(*v)\n\tcase *map[string]interface{}:\n\t\te.encMapStrIntf(*v)\n\tcase *map[string]string:\n\t\te.encMapStrStr(*v)\n\tcase *map[int64]interface{}:\n\t\te.encMapInt64Intf(*v)\n\tcase *map[uint64]interface{}:\n\t\te.encMapUint64Intf(*v)\n\n\tdefault:\n\t\te.encodeValue(reflect.ValueOf(iv))\n\t}\n}\n\nfunc (e *Encoder) encodeValue(rv reflect.Value) {\n\tfor rv.Kind() == reflect.Ptr {\n\t\tif rv.IsNil() {\n\t\t\te.e.encodeNil()\n\t\t\treturn\n\t\t}\n\t\trv = rv.Elem()\n\t}\n\n\trt := rv.Type()\n\trtid := reflect.ValueOf(rt).Pointer()\n\n\t// if e.f == nil && e.s == nil { debugf(\"---->Creating new enc f map for type: %v\\n\", rt) }\n\tvar fn encFn\n\tvar ok bool\n\tif useMapForCodecCache {\n\t\tfn, ok = e.f[rtid]\n\t} else {\n\t\tfor i, v := range e.x {\n\t\t\tif v == rtid {\n\t\t\t\tfn, ok = e.s[i], true\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n\tif !ok {\n\t\t// debugf(\"\\tCreating new enc fn for type: %v\\n\", rt)\n\t\tfi := encFnInfo{ti: getTypeInfo(rtid, rt), e: e, ee: e.e}\n\t\tfn.i = &fi\n\t\tif rtid == rawExtTypId {\n\t\t\tfn.f = (*encFnInfo).rawExt\n\t\t} else if e.e.isBuiltinType(rtid) {\n\t\t\tfn.f = (*encFnInfo).builtin\n\t\t} else if xfTag, xfFn := e.h.getEncodeExt(rtid); xfFn != nil {\n\t\t\tfi.xfTag, fi.xfFn = xfTag, xfFn\n\t\t\tfn.f = (*encFnInfo).ext\n\t\t} else if supportBinaryMarshal && fi.ti.m {\n\t\t\tfn.f = (*encFnInfo).binaryMarshal\n\t\t} else {\n\t\t\tswitch rk := rt.Kind(); rk {\n\t\t\tcase reflect.Bool:\n\t\t\t\tfn.f = (*encFnInfo).kBool\n\t\t\tcase reflect.String:\n\t\t\t\tfn.f = (*encFnInfo).kString\n\t\t\tcase reflect.Float64:\n\t\t\t\tfn.f = (*encFnInfo).kFloat64\n\t\t\tcase reflect.Float32:\n\t\t\t\tfn.f = (*encFnInfo).kFloat32\n\t\t\tcase reflect.Int, reflect.Int8, reflect.Int64, reflect.Int32, reflect.Int16:\n\t\t\t\tfn.f = (*encFnInfo).kInt\n\t\t\tcase reflect.Uint8, reflect.Uint64, reflect.Uint, reflect.Uint32, reflect.Uint16:\n\t\t\t\tfn.f = (*encFnInfo).kUint\n\t\t\tcase reflect.Invalid:\n\t\t\t\tfn.f = (*encFnInfo).kInvalid\n\t\t\tcase reflect.Slice:\n\t\t\t\tfn.f = (*encFnInfo).kSlice\n\t\t\tcase reflect.Array:\n\t\t\t\tfn.f = (*encFnInfo).kArray\n\t\t\tcase reflect.Struct:\n\t\t\t\tfn.f = (*encFnInfo).kStruct\n\t\t\t// case reflect.Ptr:\n\t\t\t// \tfn.f = (*encFnInfo).kPtr\n\t\t\tcase reflect.Interface:\n\t\t\t\tfn.f = (*encFnInfo).kInterface\n\t\t\tcase reflect.Map:\n\t\t\t\tfn.f = (*encFnInfo).kMap\n\t\t\tdefault:\n\t\t\t\tfn.f = (*encFnInfo).kErr\n\t\t\t}\n\t\t}\n\t\tif useMapForCodecCache {\n\t\t\tif e.f == nil {\n\t\t\t\te.f = make(map[uintptr]encFn, 16)\n\t\t\t}\n\t\t\te.f[rtid] = fn\n\t\t} else {\n\t\t\te.s = append(e.s, fn)\n\t\t\te.x = append(e.x, rtid)\n\t\t}\n\t}\n\n\tfn.f(fn.i, rv)\n\n}\n\nfunc (e *Encoder) encRawExt(re RawExt) {\n\tif re.Data == nil {\n\t\te.e.encodeNil()\n\t\treturn\n\t}\n\tif e.hh.writeExt() {\n\t\te.e.encodeExtPreamble(re.Tag, len(re.Data))\n\t\te.w.writeb(re.Data)\n\t} else {\n\t\te.e.encodeStringBytes(c_RAW, re.Data)\n\t}\n}\n\n// ---------------------------------------------\n// short circuit functions for common maps and slices\n\nfunc (e *Encoder) encSliceIntf(v []interface{}) {\n\te.e.encodeArrayPreamble(len(v))\n\tfor _, v2 := range v {\n\t\te.encode(v2)\n\t}\n}\n\nfunc (e *Encoder) encSliceStr(v []string) {\n\te.e.encodeArrayPreamble(len(v))\n\tfor _, v2 := range v {\n\t\te.e.encodeString(c_UTF8, v2)\n\t}\n}\n\nfunc (e *Encoder) encSliceInt64(v []int64) {\n\te.e.encodeArrayPreamble(len(v))\n\tfor _, v2 := range v {\n\t\te.e.encodeInt(v2)\n\t}\n}\n\nfunc (e *Encoder) encSliceUint64(v []uint64) {\n\te.e.encodeArrayPreamble(len(v))\n\tfor _, v2 := range v {\n\t\te.e.encodeUint(v2)\n\t}\n}\n\nfunc (e *Encoder) encMapStrStr(v map[string]string) {\n\te.e.encodeMapPreamble(len(v))\n\tasSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0\n\tfor k2, v2 := range v {\n\t\tif asSymbols {\n\t\t\te.e.encodeSymbol(k2)\n\t\t} else {\n\t\t\te.e.encodeString(c_UTF8, k2)\n\t\t}\n\t\te.e.encodeString(c_UTF8, v2)\n\t}\n}\n\nfunc (e *Encoder) encMapStrIntf(v map[string]interface{}) {\n\te.e.encodeMapPreamble(len(v))\n\tasSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0\n\tfor k2, v2 := range v {\n\t\tif asSymbols {\n\t\t\te.e.encodeSymbol(k2)\n\t\t} else {\n\t\t\te.e.encodeString(c_UTF8, k2)\n\t\t}\n\t\te.encode(v2)\n\t}\n}\n\nfunc (e *Encoder) encMapInt64Intf(v map[int64]interface{}) {\n\te.e.encodeMapPreamble(len(v))\n\tfor k2, v2 := range v {\n\t\te.e.encodeInt(k2)\n\t\te.encode(v2)\n\t}\n}\n\nfunc (e *Encoder) encMapUint64Intf(v map[uint64]interface{}) {\n\te.e.encodeMapPreamble(len(v))\n\tfor k2, v2 := range v {\n\t\te.e.encodeUint(uint64(k2))\n\t\te.encode(v2)\n\t}\n}\n\nfunc (e *Encoder) encMapIntfIntf(v map[interface{}]interface{}) {\n\te.e.encodeMapPreamble(len(v))\n\tfor k2, v2 := range v {\n\t\te.encode(k2)\n\t\te.encode(v2)\n\t}\n}\n\n// ----------------------------------------\n\nfunc encErr(format string, params ...interface{}) {\n\tdoPanic(msgTagEnc, format, params...)\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-msgpack/codec/helper.go",
    "content": "// Copyright (c) 2012, 2013 Ugorji Nwoke. All rights reserved.\n// Use of this source code is governed by a BSD-style license found in the LICENSE file.\n\npackage codec\n\n// Contains code shared by both encode and decode.\n\nimport (\n\t\"encoding/binary\"\n\t\"fmt\"\n\t\"math\"\n\t\"reflect\"\n\t\"sort\"\n\t\"strings\"\n\t\"sync\"\n\t\"time\"\n\t\"unicode\"\n\t\"unicode/utf8\"\n)\n\nconst (\n\tstructTagName = \"codec\"\n\n\t// Support\n\t//    encoding.BinaryMarshaler: MarshalBinary() (data []byte, err error)\n\t//    encoding.BinaryUnmarshaler: UnmarshalBinary(data []byte) error\n\t// This constant flag will enable or disable it.\n\tsupportBinaryMarshal = true\n\n\t// Each Encoder or Decoder uses a cache of functions based on conditionals,\n\t// so that the conditionals are not run every time.\n\t//\n\t// Either a map or a slice is used to keep track of the functions.\n\t// The map is more natural, but has a higher cost than a slice/array.\n\t// This flag (useMapForCodecCache) controls which is used.\n\tuseMapForCodecCache = false\n\n\t// For some common container types, we can short-circuit an elaborate\n\t// reflection dance and call encode/decode directly.\n\t// The currently supported types are:\n\t//    - slices of strings, or id's (int64,uint64) or interfaces.\n\t//    - maps of str->str, str->intf, id(int64,uint64)->intf, intf->intf\n\tshortCircuitReflectToFastPath = true\n\n\t// for debugging, set this to false, to catch panic traces.\n\t// Note that this will always cause rpc tests to fail, since they need io.EOF sent via panic.\n\trecoverPanicToErr = true\n)\n\ntype charEncoding uint8\n\nconst (\n\tc_RAW charEncoding = iota\n\tc_UTF8\n\tc_UTF16LE\n\tc_UTF16BE\n\tc_UTF32LE\n\tc_UTF32BE\n)\n\n// valueType is the stream type\ntype valueType uint8\n\nconst (\n\tvalueTypeUnset valueType = iota\n\tvalueTypeNil\n\tvalueTypeInt\n\tvalueTypeUint\n\tvalueTypeFloat\n\tvalueTypeBool\n\tvalueTypeString\n\tvalueTypeSymbol\n\tvalueTypeBytes\n\tvalueTypeMap\n\tvalueTypeArray\n\tvalueTypeTimestamp\n\tvalueTypeExt\n\n\tvalueTypeInvalid = 0xff\n)\n\nvar (\n\tbigen               = binary.BigEndian\n\tstructInfoFieldName = \"_struct\"\n\n\tcachedTypeInfo      = make(map[uintptr]*typeInfo, 4)\n\tcachedTypeInfoMutex sync.RWMutex\n\n\tintfSliceTyp = reflect.TypeOf([]interface{}(nil))\n\tintfTyp      = intfSliceTyp.Elem()\n\n\tstrSliceTyp     = reflect.TypeOf([]string(nil))\n\tboolSliceTyp    = reflect.TypeOf([]bool(nil))\n\tuintSliceTyp    = reflect.TypeOf([]uint(nil))\n\tuint8SliceTyp   = reflect.TypeOf([]uint8(nil))\n\tuint16SliceTyp  = reflect.TypeOf([]uint16(nil))\n\tuint32SliceTyp  = reflect.TypeOf([]uint32(nil))\n\tuint64SliceTyp  = reflect.TypeOf([]uint64(nil))\n\tintSliceTyp     = reflect.TypeOf([]int(nil))\n\tint8SliceTyp    = reflect.TypeOf([]int8(nil))\n\tint16SliceTyp   = reflect.TypeOf([]int16(nil))\n\tint32SliceTyp   = reflect.TypeOf([]int32(nil))\n\tint64SliceTyp   = reflect.TypeOf([]int64(nil))\n\tfloat32SliceTyp = reflect.TypeOf([]float32(nil))\n\tfloat64SliceTyp = reflect.TypeOf([]float64(nil))\n\n\tmapIntfIntfTyp = reflect.TypeOf(map[interface{}]interface{}(nil))\n\tmapStrIntfTyp  = reflect.TypeOf(map[string]interface{}(nil))\n\tmapStrStrTyp   = reflect.TypeOf(map[string]string(nil))\n\n\tmapIntIntfTyp    = reflect.TypeOf(map[int]interface{}(nil))\n\tmapInt64IntfTyp  = reflect.TypeOf(map[int64]interface{}(nil))\n\tmapUintIntfTyp   = reflect.TypeOf(map[uint]interface{}(nil))\n\tmapUint64IntfTyp = reflect.TypeOf(map[uint64]interface{}(nil))\n\n\tstringTyp = reflect.TypeOf(\"\")\n\ttimeTyp   = reflect.TypeOf(time.Time{})\n\trawExtTyp = reflect.TypeOf(RawExt{})\n\n\tmapBySliceTyp        = reflect.TypeOf((*MapBySlice)(nil)).Elem()\n\tbinaryMarshalerTyp   = reflect.TypeOf((*binaryMarshaler)(nil)).Elem()\n\tbinaryUnmarshalerTyp = reflect.TypeOf((*binaryUnmarshaler)(nil)).Elem()\n\n\trawExtTypId = reflect.ValueOf(rawExtTyp).Pointer()\n\tintfTypId   = reflect.ValueOf(intfTyp).Pointer()\n\ttimeTypId   = reflect.ValueOf(timeTyp).Pointer()\n\n\tintfSliceTypId = reflect.ValueOf(intfSliceTyp).Pointer()\n\tstrSliceTypId  = reflect.ValueOf(strSliceTyp).Pointer()\n\n\tboolSliceTypId    = reflect.ValueOf(boolSliceTyp).Pointer()\n\tuintSliceTypId    = reflect.ValueOf(uintSliceTyp).Pointer()\n\tuint8SliceTypId   = reflect.ValueOf(uint8SliceTyp).Pointer()\n\tuint16SliceTypId  = reflect.ValueOf(uint16SliceTyp).Pointer()\n\tuint32SliceTypId  = reflect.ValueOf(uint32SliceTyp).Pointer()\n\tuint64SliceTypId  = reflect.ValueOf(uint64SliceTyp).Pointer()\n\tintSliceTypId     = reflect.ValueOf(intSliceTyp).Pointer()\n\tint8SliceTypId    = reflect.ValueOf(int8SliceTyp).Pointer()\n\tint16SliceTypId   = reflect.ValueOf(int16SliceTyp).Pointer()\n\tint32SliceTypId   = reflect.ValueOf(int32SliceTyp).Pointer()\n\tint64SliceTypId   = reflect.ValueOf(int64SliceTyp).Pointer()\n\tfloat32SliceTypId = reflect.ValueOf(float32SliceTyp).Pointer()\n\tfloat64SliceTypId = reflect.ValueOf(float64SliceTyp).Pointer()\n\n\tmapStrStrTypId     = reflect.ValueOf(mapStrStrTyp).Pointer()\n\tmapIntfIntfTypId   = reflect.ValueOf(mapIntfIntfTyp).Pointer()\n\tmapStrIntfTypId    = reflect.ValueOf(mapStrIntfTyp).Pointer()\n\tmapIntIntfTypId    = reflect.ValueOf(mapIntIntfTyp).Pointer()\n\tmapInt64IntfTypId  = reflect.ValueOf(mapInt64IntfTyp).Pointer()\n\tmapUintIntfTypId   = reflect.ValueOf(mapUintIntfTyp).Pointer()\n\tmapUint64IntfTypId = reflect.ValueOf(mapUint64IntfTyp).Pointer()\n\t// Id = reflect.ValueOf().Pointer()\n\t// mapBySliceTypId  = reflect.ValueOf(mapBySliceTyp).Pointer()\n\n\tbinaryMarshalerTypId   = reflect.ValueOf(binaryMarshalerTyp).Pointer()\n\tbinaryUnmarshalerTypId = reflect.ValueOf(binaryUnmarshalerTyp).Pointer()\n\n\tintBitsize  uint8 = uint8(reflect.TypeOf(int(0)).Bits())\n\tuintBitsize uint8 = uint8(reflect.TypeOf(uint(0)).Bits())\n\n\tbsAll0x00 = []byte{0, 0, 0, 0, 0, 0, 0, 0}\n\tbsAll0xff = []byte{0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}\n)\n\ntype binaryUnmarshaler interface {\n\tUnmarshalBinary(data []byte) error\n}\n\ntype binaryMarshaler interface {\n\tMarshalBinary() (data []byte, err error)\n}\n\n// MapBySlice represents a slice which should be encoded as a map in the stream.\n// The slice contains a sequence of key-value pairs.\ntype MapBySlice interface {\n\tMapBySlice()\n}\n\n// WARNING: DO NOT USE DIRECTLY. EXPORTED FOR GODOC BENEFIT. WILL BE REMOVED.\n//\n// BasicHandle encapsulates the common options and extension functions.\ntype BasicHandle struct {\n\textHandle\n\tEncodeOptions\n\tDecodeOptions\n}\n\n// Handle is the interface for a specific encoding format.\n//\n// Typically, a Handle is pre-configured before first time use,\n// and not modified while in use. Such a pre-configured Handle\n// is safe for concurrent access.\ntype Handle interface {\n\twriteExt() bool\n\tgetBasicHandle() *BasicHandle\n\tnewEncDriver(w encWriter) encDriver\n\tnewDecDriver(r decReader) decDriver\n}\n\n// RawExt represents raw unprocessed extension data.\ntype RawExt struct {\n\tTag  byte\n\tData []byte\n}\n\ntype extTypeTagFn struct {\n\trtid  uintptr\n\trt    reflect.Type\n\ttag   byte\n\tencFn func(reflect.Value) ([]byte, error)\n\tdecFn func(reflect.Value, []byte) error\n}\n\ntype extHandle []*extTypeTagFn\n\n// AddExt registers an encode and decode function for a reflect.Type.\n// Note that the type must be a named type, and specifically not\n// a pointer or Interface. An error is returned if that is not honored.\n//\n// To Deregister an ext, call AddExt with 0 tag, nil encfn and nil decfn.\nfunc (o *extHandle) AddExt(\n\trt reflect.Type,\n\ttag byte,\n\tencfn func(reflect.Value) ([]byte, error),\n\tdecfn func(reflect.Value, []byte) error,\n) (err error) {\n\t// o is a pointer, because we may need to initialize it\n\tif rt.PkgPath() == \"\" || rt.Kind() == reflect.Interface {\n\t\terr = fmt.Errorf(\"codec.Handle.AddExt: Takes named type, especially not a pointer or interface: %T\",\n\t\t\treflect.Zero(rt).Interface())\n\t\treturn\n\t}\n\n\t// o cannot be nil, since it is always embedded in a Handle.\n\t// if nil, let it panic.\n\t// if o == nil {\n\t// \terr = errors.New(\"codec.Handle.AddExt: extHandle cannot be a nil pointer.\")\n\t// \treturn\n\t// }\n\n\trtid := reflect.ValueOf(rt).Pointer()\n\tfor _, v := range *o {\n\t\tif v.rtid == rtid {\n\t\t\tv.tag, v.encFn, v.decFn = tag, encfn, decfn\n\t\t\treturn\n\t\t}\n\t}\n\n\t*o = append(*o, &extTypeTagFn{rtid, rt, tag, encfn, decfn})\n\treturn\n}\n\nfunc (o extHandle) getExt(rtid uintptr) *extTypeTagFn {\n\tfor _, v := range o {\n\t\tif v.rtid == rtid {\n\t\t\treturn v\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (o extHandle) getExtForTag(tag byte) *extTypeTagFn {\n\tfor _, v := range o {\n\t\tif v.tag == tag {\n\t\t\treturn v\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (o extHandle) getDecodeExtForTag(tag byte) (\n\trv reflect.Value, fn func(reflect.Value, []byte) error) {\n\tif x := o.getExtForTag(tag); x != nil {\n\t\t// ext is only registered for base\n\t\trv = reflect.New(x.rt).Elem()\n\t\tfn = x.decFn\n\t}\n\treturn\n}\n\nfunc (o extHandle) getDecodeExt(rtid uintptr) (tag byte, fn func(reflect.Value, []byte) error) {\n\tif x := o.getExt(rtid); x != nil {\n\t\ttag = x.tag\n\t\tfn = x.decFn\n\t}\n\treturn\n}\n\nfunc (o extHandle) getEncodeExt(rtid uintptr) (tag byte, fn func(reflect.Value) ([]byte, error)) {\n\tif x := o.getExt(rtid); x != nil {\n\t\ttag = x.tag\n\t\tfn = x.encFn\n\t}\n\treturn\n}\n\ntype structFieldInfo struct {\n\tencName string // encode name\n\n\t// only one of 'i' or 'is' can be set. If 'i' is -1, then 'is' has been set.\n\n\tis        []int // (recursive/embedded) field index in struct\n\ti         int16 // field index in struct\n\tomitEmpty bool\n\ttoArray   bool // if field is _struct, is the toArray set?\n\n\t// tag       string   // tag\n\t// name      string   // field name\n\t// encNameBs []byte   // encoded name as byte stream\n\t// ikind     int      // kind of the field as an int i.e. int(reflect.Kind)\n}\n\nfunc parseStructFieldInfo(fname string, stag string) *structFieldInfo {\n\tif fname == \"\" {\n\t\tpanic(\"parseStructFieldInfo: No Field Name\")\n\t}\n\tsi := structFieldInfo{\n\t\t// name: fname,\n\t\tencName: fname,\n\t\t// tag: stag,\n\t}\n\n\tif stag != \"\" {\n\t\tfor i, s := range strings.Split(stag, \",\") {\n\t\t\tif i == 0 {\n\t\t\t\tif s != \"\" {\n\t\t\t\t\tsi.encName = s\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tswitch s {\n\t\t\t\tcase \"omitempty\":\n\t\t\t\t\tsi.omitEmpty = true\n\t\t\t\tcase \"toarray\":\n\t\t\t\t\tsi.toArray = true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// si.encNameBs = []byte(si.encName)\n\treturn &si\n}\n\ntype sfiSortedByEncName []*structFieldInfo\n\nfunc (p sfiSortedByEncName) Len() int {\n\treturn len(p)\n}\n\nfunc (p sfiSortedByEncName) Less(i, j int) bool {\n\treturn p[i].encName < p[j].encName\n}\n\nfunc (p sfiSortedByEncName) Swap(i, j int) {\n\tp[i], p[j] = p[j], p[i]\n}\n\n// typeInfo keeps information about each type referenced in the encode/decode sequence.\n//\n// During an encode/decode sequence, we work as below:\n//   - If base is a built in type, en/decode base value\n//   - If base is registered as an extension, en/decode base value\n//   - If type is binary(M/Unm)arshaler, call Binary(M/Unm)arshal method\n//   - Else decode appropriately based on the reflect.Kind\ntype typeInfo struct {\n\tsfi  []*structFieldInfo // sorted. Used when enc/dec struct to map.\n\tsfip []*structFieldInfo // unsorted. Used when enc/dec struct to array.\n\n\trt   reflect.Type\n\trtid uintptr\n\n\t// baseId gives pointer to the base reflect.Type, after deferencing\n\t// the pointers. E.g. base type of ***time.Time is time.Time.\n\tbase      reflect.Type\n\tbaseId    uintptr\n\tbaseIndir int8 // number of indirections to get to base\n\n\tmbs bool // base type (T or *T) is a MapBySlice\n\n\tm        bool // base type (T or *T) is a binaryMarshaler\n\tunm      bool // base type (T or *T) is a binaryUnmarshaler\n\tmIndir   int8 // number of indirections to get to binaryMarshaler type\n\tunmIndir int8 // number of indirections to get to binaryUnmarshaler type\n\ttoArray  bool // whether this (struct) type should be encoded as an array\n}\n\nfunc (ti *typeInfo) indexForEncName(name string) int {\n\t//tisfi := ti.sfi\n\tconst binarySearchThreshold = 16\n\tif sfilen := len(ti.sfi); sfilen < binarySearchThreshold {\n\t\t// linear search. faster than binary search in my testing up to 16-field structs.\n\t\tfor i, si := range ti.sfi {\n\t\t\tif si.encName == name {\n\t\t\t\treturn i\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// binary search. adapted from sort/search.go.\n\t\th, i, j := 0, 0, sfilen\n\t\tfor i < j {\n\t\t\th = i + (j-i)/2\n\t\t\tif ti.sfi[h].encName < name {\n\t\t\t\ti = h + 1\n\t\t\t} else {\n\t\t\t\tj = h\n\t\t\t}\n\t\t}\n\t\tif i < sfilen && ti.sfi[i].encName == name {\n\t\t\treturn i\n\t\t}\n\t}\n\treturn -1\n}\n\nfunc getTypeInfo(rtid uintptr, rt reflect.Type) (pti *typeInfo) {\n\tvar ok bool\n\tcachedTypeInfoMutex.RLock()\n\tpti, ok = cachedTypeInfo[rtid]\n\tcachedTypeInfoMutex.RUnlock()\n\tif ok {\n\t\treturn\n\t}\n\n\tcachedTypeInfoMutex.Lock()\n\tdefer cachedTypeInfoMutex.Unlock()\n\tif pti, ok = cachedTypeInfo[rtid]; ok {\n\t\treturn\n\t}\n\n\tti := typeInfo{rt: rt, rtid: rtid}\n\tpti = &ti\n\n\tvar indir int8\n\tif ok, indir = implementsIntf(rt, binaryMarshalerTyp); ok {\n\t\tti.m, ti.mIndir = true, indir\n\t}\n\tif ok, indir = implementsIntf(rt, binaryUnmarshalerTyp); ok {\n\t\tti.unm, ti.unmIndir = true, indir\n\t}\n\tif ok, _ = implementsIntf(rt, mapBySliceTyp); ok {\n\t\tti.mbs = true\n\t}\n\n\tpt := rt\n\tvar ptIndir int8\n\t// for ; pt.Kind() == reflect.Ptr; pt, ptIndir = pt.Elem(), ptIndir+1 { }\n\tfor pt.Kind() == reflect.Ptr {\n\t\tpt = pt.Elem()\n\t\tptIndir++\n\t}\n\tif ptIndir == 0 {\n\t\tti.base = rt\n\t\tti.baseId = rtid\n\t} else {\n\t\tti.base = pt\n\t\tti.baseId = reflect.ValueOf(pt).Pointer()\n\t\tti.baseIndir = ptIndir\n\t}\n\n\tif rt.Kind() == reflect.Struct {\n\t\tvar siInfo *structFieldInfo\n\t\tif f, ok := rt.FieldByName(structInfoFieldName); ok {\n\t\t\tsiInfo = parseStructFieldInfo(structInfoFieldName, f.Tag.Get(structTagName))\n\t\t\tti.toArray = siInfo.toArray\n\t\t}\n\t\tsfip := make([]*structFieldInfo, 0, rt.NumField())\n\t\trgetTypeInfo(rt, nil, make(map[string]bool), &sfip, siInfo)\n\n\t\t// // try to put all si close together\n\t\t// const tryToPutAllStructFieldInfoTogether = true\n\t\t// if tryToPutAllStructFieldInfoTogether {\n\t\t// \tsfip2 := make([]structFieldInfo, len(sfip))\n\t\t// \tfor i, si := range sfip {\n\t\t// \t\tsfip2[i] = *si\n\t\t// \t}\n\t\t// \tfor i := range sfip {\n\t\t// \t\tsfip[i] = &sfip2[i]\n\t\t// \t}\n\t\t// }\n\n\t\tti.sfip = make([]*structFieldInfo, len(sfip))\n\t\tti.sfi = make([]*structFieldInfo, len(sfip))\n\t\tcopy(ti.sfip, sfip)\n\t\tsort.Sort(sfiSortedByEncName(sfip))\n\t\tcopy(ti.sfi, sfip)\n\t}\n\t// sfi = sfip\n\tcachedTypeInfo[rtid] = pti\n\treturn\n}\n\nfunc rgetTypeInfo(rt reflect.Type, indexstack []int, fnameToHastag map[string]bool,\n\tsfi *[]*structFieldInfo, siInfo *structFieldInfo,\n) {\n\t// for rt.Kind() == reflect.Ptr {\n\t// \t// indexstack = append(indexstack, 0)\n\t// \trt = rt.Elem()\n\t// }\n\tfor j := 0; j < rt.NumField(); j++ {\n\t\tf := rt.Field(j)\n\t\tstag := f.Tag.Get(structTagName)\n\t\tif stag == \"-\" {\n\t\t\tcontinue\n\t\t}\n\t\tif r1, _ := utf8.DecodeRuneInString(f.Name); r1 == utf8.RuneError || !unicode.IsUpper(r1) {\n\t\t\tcontinue\n\t\t}\n\t\t// if anonymous and there is no struct tag and its a struct (or pointer to struct), inline it.\n\t\tif f.Anonymous && stag == \"\" {\n\t\t\tft := f.Type\n\t\t\tfor ft.Kind() == reflect.Ptr {\n\t\t\t\tft = ft.Elem()\n\t\t\t}\n\t\t\tif ft.Kind() == reflect.Struct {\n\t\t\t\tindexstack2 := append(append(make([]int, 0, len(indexstack)+4), indexstack...), j)\n\t\t\t\trgetTypeInfo(ft, indexstack2, fnameToHastag, sfi, siInfo)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t}\n\t\t// do not let fields with same name in embedded structs override field at higher level.\n\t\t// this must be done after anonymous check, to allow anonymous field\n\t\t// still include their child fields\n\t\tif _, ok := fnameToHastag[f.Name]; ok {\n\t\t\tcontinue\n\t\t}\n\t\tsi := parseStructFieldInfo(f.Name, stag)\n\t\t// si.ikind = int(f.Type.Kind())\n\t\tif len(indexstack) == 0 {\n\t\t\tsi.i = int16(j)\n\t\t} else {\n\t\t\tsi.i = -1\n\t\t\tsi.is = append(append(make([]int, 0, len(indexstack)+4), indexstack...), j)\n\t\t}\n\n\t\tif siInfo != nil {\n\t\t\tif siInfo.omitEmpty {\n\t\t\t\tsi.omitEmpty = true\n\t\t\t}\n\t\t}\n\t\t*sfi = append(*sfi, si)\n\t\tfnameToHastag[f.Name] = stag != \"\"\n\t}\n}\n\nfunc panicToErr(err *error) {\n\tif recoverPanicToErr {\n\t\tif x := recover(); x != nil {\n\t\t\t//debug.PrintStack()\n\t\t\tpanicValToErr(x, err)\n\t\t}\n\t}\n}\n\nfunc doPanic(tag string, format string, params ...interface{}) {\n\tparams2 := make([]interface{}, len(params)+1)\n\tparams2[0] = tag\n\tcopy(params2[1:], params)\n\tpanic(fmt.Errorf(\"%s: \"+format, params2...))\n}\n\nfunc checkOverflowFloat32(f float64, doCheck bool) {\n\tif !doCheck {\n\t\treturn\n\t}\n\t// check overflow (logic adapted from std pkg reflect/value.go OverflowFloat()\n\tf2 := f\n\tif f2 < 0 {\n\t\tf2 = -f\n\t}\n\tif math.MaxFloat32 < f2 && f2 <= math.MaxFloat64 {\n\t\tdecErr(\"Overflow float32 value: %v\", f2)\n\t}\n}\n\nfunc checkOverflow(ui uint64, i int64, bitsize uint8) {\n\t// check overflow (logic adapted from std pkg reflect/value.go OverflowUint()\n\tif bitsize == 0 {\n\t\treturn\n\t}\n\tif i != 0 {\n\t\tif trunc := (i << (64 - bitsize)) >> (64 - bitsize); i != trunc {\n\t\t\tdecErr(\"Overflow int value: %v\", i)\n\t\t}\n\t}\n\tif ui != 0 {\n\t\tif trunc := (ui << (64 - bitsize)) >> (64 - bitsize); ui != trunc {\n\t\t\tdecErr(\"Overflow uint value: %v\", ui)\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-msgpack/codec/helper_internal.go",
    "content": "// Copyright (c) 2012, 2013 Ugorji Nwoke. All rights reserved.\n// Use of this source code is governed by a BSD-style license found in the LICENSE file.\n\npackage codec\n\n// All non-std package dependencies live in this file,\n// so porting to different environment is easy (just update functions).\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"math\"\n\t\"reflect\"\n)\n\nvar (\n\traisePanicAfterRecover = false\n\tdebugging              = true\n)\n\nfunc panicValToErr(panicVal interface{}, err *error) {\n\tswitch xerr := panicVal.(type) {\n\tcase error:\n\t\t*err = xerr\n\tcase string:\n\t\t*err = errors.New(xerr)\n\tdefault:\n\t\t*err = fmt.Errorf(\"%v\", panicVal)\n\t}\n\tif raisePanicAfterRecover {\n\t\tpanic(panicVal)\n\t}\n\treturn\n}\n\nfunc isEmptyValueDeref(v reflect.Value, deref bool) bool {\n\tswitch v.Kind() {\n\tcase reflect.Array, reflect.Map, reflect.Slice, reflect.String:\n\t\treturn v.Len() == 0\n\tcase reflect.Bool:\n\t\treturn !v.Bool()\n\tcase reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:\n\t\treturn v.Int() == 0\n\tcase reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:\n\t\treturn v.Uint() == 0\n\tcase reflect.Float32, reflect.Float64:\n\t\treturn v.Float() == 0\n\tcase reflect.Interface, reflect.Ptr:\n\t\tif deref {\n\t\t\tif v.IsNil() {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn isEmptyValueDeref(v.Elem(), deref)\n\t\t} else {\n\t\t\treturn v.IsNil()\n\t\t}\n\tcase reflect.Struct:\n\t\t// return true if all fields are empty. else return false.\n\n\t\t// we cannot use equality check, because some fields may be maps/slices/etc\n\t\t// and consequently the structs are not comparable.\n\t\t// return v.Interface() == reflect.Zero(v.Type()).Interface()\n\t\tfor i, n := 0, v.NumField(); i < n; i++ {\n\t\t\tif !isEmptyValueDeref(v.Field(i), deref) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc isEmptyValue(v reflect.Value) bool {\n\treturn isEmptyValueDeref(v, true)\n}\n\nfunc debugf(format string, args ...interface{}) {\n\tif debugging {\n\t\tif len(format) == 0 || format[len(format)-1] != '\\n' {\n\t\t\tformat = format + \"\\n\"\n\t\t}\n\t\tfmt.Printf(format, args...)\n\t}\n}\n\nfunc pruneSignExt(v []byte, pos bool) (n int) {\n\tif len(v) < 2 {\n\t} else if pos && v[0] == 0 {\n\t\tfor ; v[n] == 0 && n+1 < len(v) && (v[n+1]&(1<<7) == 0); n++ {\n\t\t}\n\t} else if !pos && v[0] == 0xff {\n\t\tfor ; v[n] == 0xff && n+1 < len(v) && (v[n+1]&(1<<7) != 0); n++ {\n\t\t}\n\t}\n\treturn\n}\n\nfunc implementsIntf(typ, iTyp reflect.Type) (success bool, indir int8) {\n\tif typ == nil {\n\t\treturn\n\t}\n\trt := typ\n\t// The type might be a pointer and we need to keep\n\t// dereferencing to the base type until we find an implementation.\n\tfor {\n\t\tif rt.Implements(iTyp) {\n\t\t\treturn true, indir\n\t\t}\n\t\tif p := rt; p.Kind() == reflect.Ptr {\n\t\t\tindir++\n\t\t\tif indir >= math.MaxInt8 { // insane number of indirections\n\t\t\t\treturn false, 0\n\t\t\t}\n\t\t\trt = p.Elem()\n\t\t\tcontinue\n\t\t}\n\t\tbreak\n\t}\n\t// No luck yet, but if this is a base type (non-pointer), the pointer might satisfy.\n\tif typ.Kind() != reflect.Ptr {\n\t\t// Not a pointer, but does the pointer work?\n\t\tif reflect.PtrTo(typ).Implements(iTyp) {\n\t\t\treturn true, -1\n\t\t}\n\t}\n\treturn false, 0\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-msgpack/codec/msgpack.go",
    "content": "// Copyright (c) 2012, 2013 Ugorji Nwoke. All rights reserved.\n// Use of this source code is governed by a BSD-style license found in the LICENSE file.\n\n/*\nMSGPACK\n\nMsgpack-c implementation powers the c, c++, python, ruby, etc libraries.\nWe need to maintain compatibility with it and how it encodes integer values\nwithout caring about the type.\n\nFor compatibility with behaviour of msgpack-c reference implementation:\n  - Go intX (>0) and uintX\n       IS ENCODED AS\n    msgpack +ve fixnum, unsigned\n  - Go intX (<0)\n       IS ENCODED AS\n    msgpack -ve fixnum, signed\n\n*/\npackage codec\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"math\"\n\t\"net/rpc\"\n)\n\nconst (\n\tmpPosFixNumMin byte = 0x00\n\tmpPosFixNumMax      = 0x7f\n\tmpFixMapMin         = 0x80\n\tmpFixMapMax         = 0x8f\n\tmpFixArrayMin       = 0x90\n\tmpFixArrayMax       = 0x9f\n\tmpFixStrMin         = 0xa0\n\tmpFixStrMax         = 0xbf\n\tmpNil               = 0xc0\n\t_                   = 0xc1\n\tmpFalse             = 0xc2\n\tmpTrue              = 0xc3\n\tmpFloat             = 0xca\n\tmpDouble            = 0xcb\n\tmpUint8             = 0xcc\n\tmpUint16            = 0xcd\n\tmpUint32            = 0xce\n\tmpUint64            = 0xcf\n\tmpInt8              = 0xd0\n\tmpInt16             = 0xd1\n\tmpInt32             = 0xd2\n\tmpInt64             = 0xd3\n\n\t// extensions below\n\tmpBin8     = 0xc4\n\tmpBin16    = 0xc5\n\tmpBin32    = 0xc6\n\tmpExt8     = 0xc7\n\tmpExt16    = 0xc8\n\tmpExt32    = 0xc9\n\tmpFixExt1  = 0xd4\n\tmpFixExt2  = 0xd5\n\tmpFixExt4  = 0xd6\n\tmpFixExt8  = 0xd7\n\tmpFixExt16 = 0xd8\n\n\tmpStr8  = 0xd9 // new\n\tmpStr16 = 0xda\n\tmpStr32 = 0xdb\n\n\tmpArray16 = 0xdc\n\tmpArray32 = 0xdd\n\n\tmpMap16 = 0xde\n\tmpMap32 = 0xdf\n\n\tmpNegFixNumMin = 0xe0\n\tmpNegFixNumMax = 0xff\n)\n\n// MsgpackSpecRpcMultiArgs is a special type which signifies to the MsgpackSpecRpcCodec\n// that the backend RPC service takes multiple arguments, which have been arranged\n// in sequence in the slice.\n//\n// The Codec then passes it AS-IS to the rpc service (without wrapping it in an\n// array of 1 element).\ntype MsgpackSpecRpcMultiArgs []interface{}\n\n// A MsgpackContainer type specifies the different types of msgpackContainers.\ntype msgpackContainerType struct {\n\tfixCutoff                   int\n\tbFixMin, b8, b16, b32       byte\n\thasFixMin, has8, has8Always bool\n}\n\nvar (\n\tmsgpackContainerStr  = msgpackContainerType{32, mpFixStrMin, mpStr8, mpStr16, mpStr32, true, true, false}\n\tmsgpackContainerBin  = msgpackContainerType{0, 0, mpBin8, mpBin16, mpBin32, false, true, true}\n\tmsgpackContainerList = msgpackContainerType{16, mpFixArrayMin, 0, mpArray16, mpArray32, true, false, false}\n\tmsgpackContainerMap  = msgpackContainerType{16, mpFixMapMin, 0, mpMap16, mpMap32, true, false, false}\n)\n\n//---------------------------------------------\n\ntype msgpackEncDriver struct {\n\tw encWriter\n\th *MsgpackHandle\n}\n\nfunc (e *msgpackEncDriver) isBuiltinType(rt uintptr) bool {\n\t//no builtin types. All encodings are based on kinds. Types supported as extensions.\n\treturn false\n}\n\nfunc (e *msgpackEncDriver) encodeBuiltin(rt uintptr, v interface{}) {}\n\nfunc (e *msgpackEncDriver) encodeNil() {\n\te.w.writen1(mpNil)\n}\n\nfunc (e *msgpackEncDriver) encodeInt(i int64) {\n\n\tswitch {\n\tcase i >= 0:\n\t\te.encodeUint(uint64(i))\n\tcase i >= -32:\n\t\te.w.writen1(byte(i))\n\tcase i >= math.MinInt8:\n\t\te.w.writen2(mpInt8, byte(i))\n\tcase i >= math.MinInt16:\n\t\te.w.writen1(mpInt16)\n\t\te.w.writeUint16(uint16(i))\n\tcase i >= math.MinInt32:\n\t\te.w.writen1(mpInt32)\n\t\te.w.writeUint32(uint32(i))\n\tdefault:\n\t\te.w.writen1(mpInt64)\n\t\te.w.writeUint64(uint64(i))\n\t}\n}\n\nfunc (e *msgpackEncDriver) encodeUint(i uint64) {\n\tswitch {\n\tcase i <= math.MaxInt8:\n\t\te.w.writen1(byte(i))\n\tcase i <= math.MaxUint8:\n\t\te.w.writen2(mpUint8, byte(i))\n\tcase i <= math.MaxUint16:\n\t\te.w.writen1(mpUint16)\n\t\te.w.writeUint16(uint16(i))\n\tcase i <= math.MaxUint32:\n\t\te.w.writen1(mpUint32)\n\t\te.w.writeUint32(uint32(i))\n\tdefault:\n\t\te.w.writen1(mpUint64)\n\t\te.w.writeUint64(uint64(i))\n\t}\n}\n\nfunc (e *msgpackEncDriver) encodeBool(b bool) {\n\tif b {\n\t\te.w.writen1(mpTrue)\n\t} else {\n\t\te.w.writen1(mpFalse)\n\t}\n}\n\nfunc (e *msgpackEncDriver) encodeFloat32(f float32) {\n\te.w.writen1(mpFloat)\n\te.w.writeUint32(math.Float32bits(f))\n}\n\nfunc (e *msgpackEncDriver) encodeFloat64(f float64) {\n\te.w.writen1(mpDouble)\n\te.w.writeUint64(math.Float64bits(f))\n}\n\nfunc (e *msgpackEncDriver) encodeExtPreamble(xtag byte, l int) {\n\tswitch {\n\tcase l == 1:\n\t\te.w.writen2(mpFixExt1, xtag)\n\tcase l == 2:\n\t\te.w.writen2(mpFixExt2, xtag)\n\tcase l == 4:\n\t\te.w.writen2(mpFixExt4, xtag)\n\tcase l == 8:\n\t\te.w.writen2(mpFixExt8, xtag)\n\tcase l == 16:\n\t\te.w.writen2(mpFixExt16, xtag)\n\tcase l < 256:\n\t\te.w.writen2(mpExt8, byte(l))\n\t\te.w.writen1(xtag)\n\tcase l < 65536:\n\t\te.w.writen1(mpExt16)\n\t\te.w.writeUint16(uint16(l))\n\t\te.w.writen1(xtag)\n\tdefault:\n\t\te.w.writen1(mpExt32)\n\t\te.w.writeUint32(uint32(l))\n\t\te.w.writen1(xtag)\n\t}\n}\n\nfunc (e *msgpackEncDriver) encodeArrayPreamble(length int) {\n\te.writeContainerLen(msgpackContainerList, length)\n}\n\nfunc (e *msgpackEncDriver) encodeMapPreamble(length int) {\n\te.writeContainerLen(msgpackContainerMap, length)\n}\n\nfunc (e *msgpackEncDriver) encodeString(c charEncoding, s string) {\n\tif c == c_RAW && e.h.WriteExt {\n\t\te.writeContainerLen(msgpackContainerBin, len(s))\n\t} else {\n\t\te.writeContainerLen(msgpackContainerStr, len(s))\n\t}\n\tif len(s) > 0 {\n\t\te.w.writestr(s)\n\t}\n}\n\nfunc (e *msgpackEncDriver) encodeSymbol(v string) {\n\te.encodeString(c_UTF8, v)\n}\n\nfunc (e *msgpackEncDriver) encodeStringBytes(c charEncoding, bs []byte) {\n\tif c == c_RAW && e.h.WriteExt {\n\t\te.writeContainerLen(msgpackContainerBin, len(bs))\n\t} else {\n\t\te.writeContainerLen(msgpackContainerStr, len(bs))\n\t}\n\tif len(bs) > 0 {\n\t\te.w.writeb(bs)\n\t}\n}\n\nfunc (e *msgpackEncDriver) writeContainerLen(ct msgpackContainerType, l int) {\n\tswitch {\n\tcase ct.hasFixMin && l < ct.fixCutoff:\n\t\te.w.writen1(ct.bFixMin | byte(l))\n\tcase ct.has8 && l < 256 && (ct.has8Always || e.h.WriteExt):\n\t\te.w.writen2(ct.b8, uint8(l))\n\tcase l < 65536:\n\t\te.w.writen1(ct.b16)\n\t\te.w.writeUint16(uint16(l))\n\tdefault:\n\t\te.w.writen1(ct.b32)\n\t\te.w.writeUint32(uint32(l))\n\t}\n}\n\n//---------------------------------------------\n\ntype msgpackDecDriver struct {\n\tr      decReader\n\th      *MsgpackHandle\n\tbd     byte\n\tbdRead bool\n\tbdType valueType\n}\n\nfunc (d *msgpackDecDriver) isBuiltinType(rt uintptr) bool {\n\t//no builtin types. All encodings are based on kinds. Types supported as extensions.\n\treturn false\n}\n\nfunc (d *msgpackDecDriver) decodeBuiltin(rt uintptr, v interface{}) {}\n\n// Note: This returns either a primitive (int, bool, etc) for non-containers,\n// or a containerType, or a specific type denoting nil or extension.\n// It is called when a nil interface{} is passed, leaving it up to the DecDriver\n// to introspect the stream and decide how best to decode.\n// It deciphers the value by looking at the stream first.\nfunc (d *msgpackDecDriver) decodeNaked() (v interface{}, vt valueType, decodeFurther bool) {\n\td.initReadNext()\n\tbd := d.bd\n\n\tswitch bd {\n\tcase mpNil:\n\t\tvt = valueTypeNil\n\t\td.bdRead = false\n\tcase mpFalse:\n\t\tvt = valueTypeBool\n\t\tv = false\n\tcase mpTrue:\n\t\tvt = valueTypeBool\n\t\tv = true\n\n\tcase mpFloat:\n\t\tvt = valueTypeFloat\n\t\tv = float64(math.Float32frombits(d.r.readUint32()))\n\tcase mpDouble:\n\t\tvt = valueTypeFloat\n\t\tv = math.Float64frombits(d.r.readUint64())\n\n\tcase mpUint8:\n\t\tvt = valueTypeUint\n\t\tv = uint64(d.r.readn1())\n\tcase mpUint16:\n\t\tvt = valueTypeUint\n\t\tv = uint64(d.r.readUint16())\n\tcase mpUint32:\n\t\tvt = valueTypeUint\n\t\tv = uint64(d.r.readUint32())\n\tcase mpUint64:\n\t\tvt = valueTypeUint\n\t\tv = uint64(d.r.readUint64())\n\n\tcase mpInt8:\n\t\tvt = valueTypeInt\n\t\tv = int64(int8(d.r.readn1()))\n\tcase mpInt16:\n\t\tvt = valueTypeInt\n\t\tv = int64(int16(d.r.readUint16()))\n\tcase mpInt32:\n\t\tvt = valueTypeInt\n\t\tv = int64(int32(d.r.readUint32()))\n\tcase mpInt64:\n\t\tvt = valueTypeInt\n\t\tv = int64(int64(d.r.readUint64()))\n\n\tdefault:\n\t\tswitch {\n\t\tcase bd >= mpPosFixNumMin && bd <= mpPosFixNumMax:\n\t\t\t// positive fixnum (always signed)\n\t\t\tvt = valueTypeInt\n\t\t\tv = int64(int8(bd))\n\t\tcase bd >= mpNegFixNumMin && bd <= mpNegFixNumMax:\n\t\t\t// negative fixnum\n\t\t\tvt = valueTypeInt\n\t\t\tv = int64(int8(bd))\n\t\tcase bd == mpStr8, bd == mpStr16, bd == mpStr32, bd >= mpFixStrMin && bd <= mpFixStrMax:\n\t\t\tif d.h.RawToString {\n\t\t\t\tvar rvm string\n\t\t\t\tvt = valueTypeString\n\t\t\t\tv = &rvm\n\t\t\t} else {\n\t\t\t\tvar rvm = []byte{}\n\t\t\t\tvt = valueTypeBytes\n\t\t\t\tv = &rvm\n\t\t\t}\n\t\t\tdecodeFurther = true\n\t\tcase bd == mpBin8, bd == mpBin16, bd == mpBin32:\n\t\t\tvar rvm = []byte{}\n\t\t\tvt = valueTypeBytes\n\t\t\tv = &rvm\n\t\t\tdecodeFurther = true\n\t\tcase bd == mpArray16, bd == mpArray32, bd >= mpFixArrayMin && bd <= mpFixArrayMax:\n\t\t\tvt = valueTypeArray\n\t\t\tdecodeFurther = true\n\t\tcase bd == mpMap16, bd == mpMap32, bd >= mpFixMapMin && bd <= mpFixMapMax:\n\t\t\tvt = valueTypeMap\n\t\t\tdecodeFurther = true\n\t\tcase bd >= mpFixExt1 && bd <= mpFixExt16, bd >= mpExt8 && bd <= mpExt32:\n\t\t\tclen := d.readExtLen()\n\t\t\tvar re RawExt\n\t\t\tre.Tag = d.r.readn1()\n\t\t\tre.Data = d.r.readn(clen)\n\t\t\tv = &re\n\t\t\tvt = valueTypeExt\n\t\tdefault:\n\t\t\tdecErr(\"Nil-Deciphered DecodeValue: %s: hex: %x, dec: %d\", msgBadDesc, bd, bd)\n\t\t}\n\t}\n\tif !decodeFurther {\n\t\td.bdRead = false\n\t}\n\treturn\n}\n\n// int can be decoded from msgpack type: intXXX or uintXXX\nfunc (d *msgpackDecDriver) decodeInt(bitsize uint8) (i int64) {\n\tswitch d.bd {\n\tcase mpUint8:\n\t\ti = int64(uint64(d.r.readn1()))\n\tcase mpUint16:\n\t\ti = int64(uint64(d.r.readUint16()))\n\tcase mpUint32:\n\t\ti = int64(uint64(d.r.readUint32()))\n\tcase mpUint64:\n\t\ti = int64(d.r.readUint64())\n\tcase mpInt8:\n\t\ti = int64(int8(d.r.readn1()))\n\tcase mpInt16:\n\t\ti = int64(int16(d.r.readUint16()))\n\tcase mpInt32:\n\t\ti = int64(int32(d.r.readUint32()))\n\tcase mpInt64:\n\t\ti = int64(d.r.readUint64())\n\tdefault:\n\t\tswitch {\n\t\tcase d.bd >= mpPosFixNumMin && d.bd <= mpPosFixNumMax:\n\t\t\ti = int64(int8(d.bd))\n\t\tcase d.bd >= mpNegFixNumMin && d.bd <= mpNegFixNumMax:\n\t\t\ti = int64(int8(d.bd))\n\t\tdefault:\n\t\t\tdecErr(\"Unhandled single-byte unsigned integer value: %s: %x\", msgBadDesc, d.bd)\n\t\t}\n\t}\n\t// check overflow (logic adapted from std pkg reflect/value.go OverflowUint()\n\tif bitsize > 0 {\n\t\tif trunc := (i << (64 - bitsize)) >> (64 - bitsize); i != trunc {\n\t\t\tdecErr(\"Overflow int value: %v\", i)\n\t\t}\n\t}\n\td.bdRead = false\n\treturn\n}\n\n// uint can be decoded from msgpack type: intXXX or uintXXX\nfunc (d *msgpackDecDriver) decodeUint(bitsize uint8) (ui uint64) {\n\tswitch d.bd {\n\tcase mpUint8:\n\t\tui = uint64(d.r.readn1())\n\tcase mpUint16:\n\t\tui = uint64(d.r.readUint16())\n\tcase mpUint32:\n\t\tui = uint64(d.r.readUint32())\n\tcase mpUint64:\n\t\tui = d.r.readUint64()\n\tcase mpInt8:\n\t\tif i := int64(int8(d.r.readn1())); i >= 0 {\n\t\t\tui = uint64(i)\n\t\t} else {\n\t\t\tdecErr(\"Assigning negative signed value: %v, to unsigned type\", i)\n\t\t}\n\tcase mpInt16:\n\t\tif i := int64(int16(d.r.readUint16())); i >= 0 {\n\t\t\tui = uint64(i)\n\t\t} else {\n\t\t\tdecErr(\"Assigning negative signed value: %v, to unsigned type\", i)\n\t\t}\n\tcase mpInt32:\n\t\tif i := int64(int32(d.r.readUint32())); i >= 0 {\n\t\t\tui = uint64(i)\n\t\t} else {\n\t\t\tdecErr(\"Assigning negative signed value: %v, to unsigned type\", i)\n\t\t}\n\tcase mpInt64:\n\t\tif i := int64(d.r.readUint64()); i >= 0 {\n\t\t\tui = uint64(i)\n\t\t} else {\n\t\t\tdecErr(\"Assigning negative signed value: %v, to unsigned type\", i)\n\t\t}\n\tdefault:\n\t\tswitch {\n\t\tcase d.bd >= mpPosFixNumMin && d.bd <= mpPosFixNumMax:\n\t\t\tui = uint64(d.bd)\n\t\tcase d.bd >= mpNegFixNumMin && d.bd <= mpNegFixNumMax:\n\t\t\tdecErr(\"Assigning negative signed value: %v, to unsigned type\", int(d.bd))\n\t\tdefault:\n\t\t\tdecErr(\"Unhandled single-byte unsigned integer value: %s: %x\", msgBadDesc, d.bd)\n\t\t}\n\t}\n\t// check overflow (logic adapted from std pkg reflect/value.go OverflowUint()\n\tif bitsize > 0 {\n\t\tif trunc := (ui << (64 - bitsize)) >> (64 - bitsize); ui != trunc {\n\t\t\tdecErr(\"Overflow uint value: %v\", ui)\n\t\t}\n\t}\n\td.bdRead = false\n\treturn\n}\n\n// float can either be decoded from msgpack type: float, double or intX\nfunc (d *msgpackDecDriver) decodeFloat(chkOverflow32 bool) (f float64) {\n\tswitch d.bd {\n\tcase mpFloat:\n\t\tf = float64(math.Float32frombits(d.r.readUint32()))\n\tcase mpDouble:\n\t\tf = math.Float64frombits(d.r.readUint64())\n\tdefault:\n\t\tf = float64(d.decodeInt(0))\n\t}\n\tcheckOverflowFloat32(f, chkOverflow32)\n\td.bdRead = false\n\treturn\n}\n\n// bool can be decoded from bool, fixnum 0 or 1.\nfunc (d *msgpackDecDriver) decodeBool() (b bool) {\n\tswitch d.bd {\n\tcase mpFalse, 0:\n\t\t// b = false\n\tcase mpTrue, 1:\n\t\tb = true\n\tdefault:\n\t\tdecErr(\"Invalid single-byte value for bool: %s: %x\", msgBadDesc, d.bd)\n\t}\n\td.bdRead = false\n\treturn\n}\n\nfunc (d *msgpackDecDriver) decodeString() (s string) {\n\tclen := d.readContainerLen(msgpackContainerStr)\n\tif clen > 0 {\n\t\ts = string(d.r.readn(clen))\n\t}\n\td.bdRead = false\n\treturn\n}\n\n// Callers must check if changed=true (to decide whether to replace the one they have)\nfunc (d *msgpackDecDriver) decodeBytes(bs []byte) (bsOut []byte, changed bool) {\n\t// bytes can be decoded from msgpackContainerStr or msgpackContainerBin\n\tvar clen int\n\tswitch d.bd {\n\tcase mpBin8, mpBin16, mpBin32:\n\t\tclen = d.readContainerLen(msgpackContainerBin)\n\tdefault:\n\t\tclen = d.readContainerLen(msgpackContainerStr)\n\t}\n\t// if clen < 0 {\n\t// \tchanged = true\n\t// \tpanic(\"length cannot be zero. this cannot be nil.\")\n\t// }\n\tif clen > 0 {\n\t\t// if no contents in stream, don't update the passed byteslice\n\t\tif len(bs) != clen {\n\t\t\t// Return changed=true if length of passed slice diff from length of bytes in stream\n\t\t\tif len(bs) > clen {\n\t\t\t\tbs = bs[:clen]\n\t\t\t} else {\n\t\t\t\tbs = make([]byte, clen)\n\t\t\t}\n\t\t\tbsOut = bs\n\t\t\tchanged = true\n\t\t}\n\t\td.r.readb(bs)\n\t}\n\td.bdRead = false\n\treturn\n}\n\n// Every top-level decode funcs (i.e. decodeValue, decode) must call this first.\nfunc (d *msgpackDecDriver) initReadNext() {\n\tif d.bdRead {\n\t\treturn\n\t}\n\td.bd = d.r.readn1()\n\td.bdRead = true\n\td.bdType = valueTypeUnset\n}\n\nfunc (d *msgpackDecDriver) currentEncodedType() valueType {\n\tif d.bdType == valueTypeUnset {\n\t\tbd := d.bd\n\t\tswitch bd {\n\t\tcase mpNil:\n\t\t\td.bdType = valueTypeNil\n\t\tcase mpFalse, mpTrue:\n\t\t\td.bdType = valueTypeBool\n\t\tcase mpFloat, mpDouble:\n\t\t\td.bdType = valueTypeFloat\n\t\tcase mpUint8, mpUint16, mpUint32, mpUint64:\n\t\t\td.bdType = valueTypeUint\n\t\tcase mpInt8, mpInt16, mpInt32, mpInt64:\n\t\t\td.bdType = valueTypeInt\n\t\tdefault:\n\t\t\tswitch {\n\t\t\tcase bd >= mpPosFixNumMin && bd <= mpPosFixNumMax:\n\t\t\t\td.bdType = valueTypeInt\n\t\t\tcase bd >= mpNegFixNumMin && bd <= mpNegFixNumMax:\n\t\t\t\td.bdType = valueTypeInt\n\t\t\tcase bd == mpStr8, bd == mpStr16, bd == mpStr32, bd >= mpFixStrMin && bd <= mpFixStrMax:\n\t\t\t\tif d.h.RawToString {\n\t\t\t\t\td.bdType = valueTypeString\n\t\t\t\t} else {\n\t\t\t\t\td.bdType = valueTypeBytes\n\t\t\t\t}\n\t\t\tcase bd == mpBin8, bd == mpBin16, bd == mpBin32:\n\t\t\t\td.bdType = valueTypeBytes\n\t\t\tcase bd == mpArray16, bd == mpArray32, bd >= mpFixArrayMin && bd <= mpFixArrayMax:\n\t\t\t\td.bdType = valueTypeArray\n\t\t\tcase bd == mpMap16, bd == mpMap32, bd >= mpFixMapMin && bd <= mpFixMapMax:\n\t\t\t\td.bdType = valueTypeMap\n\t\t\tcase bd >= mpFixExt1 && bd <= mpFixExt16, bd >= mpExt8 && bd <= mpExt32:\n\t\t\t\td.bdType = valueTypeExt\n\t\t\tdefault:\n\t\t\t\tdecErr(\"currentEncodedType: Undeciphered descriptor: %s: hex: %x, dec: %d\", msgBadDesc, bd, bd)\n\t\t\t}\n\t\t}\n\t}\n\treturn d.bdType\n}\n\nfunc (d *msgpackDecDriver) tryDecodeAsNil() bool {\n\tif d.bd == mpNil {\n\t\td.bdRead = false\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc (d *msgpackDecDriver) readContainerLen(ct msgpackContainerType) (clen int) {\n\tbd := d.bd\n\tswitch {\n\tcase bd == mpNil:\n\t\tclen = -1 // to represent nil\n\tcase bd == ct.b8:\n\t\tclen = int(d.r.readn1())\n\tcase bd == ct.b16:\n\t\tclen = int(d.r.readUint16())\n\tcase bd == ct.b32:\n\t\tclen = int(d.r.readUint32())\n\tcase (ct.bFixMin & bd) == ct.bFixMin:\n\t\tclen = int(ct.bFixMin ^ bd)\n\tdefault:\n\t\tdecErr(\"readContainerLen: %s: hex: %x, dec: %d\", msgBadDesc, bd, bd)\n\t}\n\td.bdRead = false\n\treturn\n}\n\nfunc (d *msgpackDecDriver) readMapLen() int {\n\treturn d.readContainerLen(msgpackContainerMap)\n}\n\nfunc (d *msgpackDecDriver) readArrayLen() int {\n\treturn d.readContainerLen(msgpackContainerList)\n}\n\nfunc (d *msgpackDecDriver) readExtLen() (clen int) {\n\tswitch d.bd {\n\tcase mpNil:\n\t\tclen = -1 // to represent nil\n\tcase mpFixExt1:\n\t\tclen = 1\n\tcase mpFixExt2:\n\t\tclen = 2\n\tcase mpFixExt4:\n\t\tclen = 4\n\tcase mpFixExt8:\n\t\tclen = 8\n\tcase mpFixExt16:\n\t\tclen = 16\n\tcase mpExt8:\n\t\tclen = int(d.r.readn1())\n\tcase mpExt16:\n\t\tclen = int(d.r.readUint16())\n\tcase mpExt32:\n\t\tclen = int(d.r.readUint32())\n\tdefault:\n\t\tdecErr(\"decoding ext bytes: found unexpected byte: %x\", d.bd)\n\t}\n\treturn\n}\n\nfunc (d *msgpackDecDriver) decodeExt(verifyTag bool, tag byte) (xtag byte, xbs []byte) {\n\txbd := d.bd\n\tswitch {\n\tcase xbd == mpBin8, xbd == mpBin16, xbd == mpBin32:\n\t\txbs, _ = d.decodeBytes(nil)\n\tcase xbd == mpStr8, xbd == mpStr16, xbd == mpStr32,\n\t\txbd >= mpFixStrMin && xbd <= mpFixStrMax:\n\t\txbs = []byte(d.decodeString())\n\tdefault:\n\t\tclen := d.readExtLen()\n\t\txtag = d.r.readn1()\n\t\tif verifyTag && xtag != tag {\n\t\t\tdecErr(\"Wrong extension tag. Got %b. Expecting: %v\", xtag, tag)\n\t\t}\n\t\txbs = d.r.readn(clen)\n\t}\n\td.bdRead = false\n\treturn\n}\n\n//--------------------------------------------------\n\n//MsgpackHandle is a Handle for the Msgpack Schema-Free Encoding Format.\ntype MsgpackHandle struct {\n\tBasicHandle\n\n\t// RawToString controls how raw bytes are decoded into a nil interface{}.\n\tRawToString bool\n\t// WriteExt flag supports encoding configured extensions with extension tags.\n\t// It also controls whether other elements of the new spec are encoded (ie Str8).\n\t//\n\t// With WriteExt=false, configured extensions are serialized as raw bytes\n\t// and Str8 is not encoded.\n\t//\n\t// A stream can still be decoded into a typed value, provided an appropriate value\n\t// is provided, but the type cannot be inferred from the stream. If no appropriate\n\t// type is provided (e.g. decoding into a nil interface{}), you get back\n\t// a []byte or string based on the setting of RawToString.\n\tWriteExt bool\n}\n\nfunc (h *MsgpackHandle) newEncDriver(w encWriter) encDriver {\n\treturn &msgpackEncDriver{w: w, h: h}\n}\n\nfunc (h *MsgpackHandle) newDecDriver(r decReader) decDriver {\n\treturn &msgpackDecDriver{r: r, h: h}\n}\n\nfunc (h *MsgpackHandle) writeExt() bool {\n\treturn h.WriteExt\n}\n\nfunc (h *MsgpackHandle) getBasicHandle() *BasicHandle {\n\treturn &h.BasicHandle\n}\n\n//--------------------------------------------------\n\ntype msgpackSpecRpcCodec struct {\n\trpcCodec\n}\n\n// /////////////// Spec RPC Codec ///////////////////\nfunc (c *msgpackSpecRpcCodec) WriteRequest(r *rpc.Request, body interface{}) error {\n\t// WriteRequest can write to both a Go service, and other services that do\n\t// not abide by the 1 argument rule of a Go service.\n\t// We discriminate based on if the body is a MsgpackSpecRpcMultiArgs\n\tvar bodyArr []interface{}\n\tif m, ok := body.(MsgpackSpecRpcMultiArgs); ok {\n\t\tbodyArr = ([]interface{})(m)\n\t} else {\n\t\tbodyArr = []interface{}{body}\n\t}\n\tr2 := []interface{}{0, uint32(r.Seq), r.ServiceMethod, bodyArr}\n\treturn c.write(r2, nil, false, true)\n}\n\nfunc (c *msgpackSpecRpcCodec) WriteResponse(r *rpc.Response, body interface{}) error {\n\tvar moe interface{}\n\tif r.Error != \"\" {\n\t\tmoe = r.Error\n\t}\n\tif moe != nil && body != nil {\n\t\tbody = nil\n\t}\n\tr2 := []interface{}{1, uint32(r.Seq), moe, body}\n\treturn c.write(r2, nil, false, true)\n}\n\nfunc (c *msgpackSpecRpcCodec) ReadResponseHeader(r *rpc.Response) error {\n\treturn c.parseCustomHeader(1, &r.Seq, &r.Error)\n}\n\nfunc (c *msgpackSpecRpcCodec) ReadRequestHeader(r *rpc.Request) error {\n\treturn c.parseCustomHeader(0, &r.Seq, &r.ServiceMethod)\n}\n\nfunc (c *msgpackSpecRpcCodec) ReadRequestBody(body interface{}) error {\n\tif body == nil { // read and discard\n\t\treturn c.read(nil)\n\t}\n\tbodyArr := []interface{}{body}\n\treturn c.read(&bodyArr)\n}\n\nfunc (c *msgpackSpecRpcCodec) parseCustomHeader(expectTypeByte byte, msgid *uint64, methodOrError *string) (err error) {\n\n\tif c.cls {\n\t\treturn io.EOF\n\t}\n\n\t// We read the response header by hand\n\t// so that the body can be decoded on its own from the stream at a later time.\n\n\tconst fia byte = 0x94 //four item array descriptor value\n\t// Not sure why the panic of EOF is swallowed above.\n\t// if bs1 := c.dec.r.readn1(); bs1 != fia {\n\t// \terr = fmt.Errorf(\"Unexpected value for array descriptor: Expecting %v. Received %v\", fia, bs1)\n\t// \treturn\n\t// }\n\tvar b byte\n\tb, err = c.br.ReadByte()\n\tif err != nil {\n\t\treturn\n\t}\n\tif b != fia {\n\t\terr = fmt.Errorf(\"Unexpected value for array descriptor: Expecting %v. Received %v\", fia, b)\n\t\treturn\n\t}\n\n\tif err = c.read(&b); err != nil {\n\t\treturn\n\t}\n\tif b != expectTypeByte {\n\t\terr = fmt.Errorf(\"Unexpected byte descriptor in header. Expecting %v. Received %v\", expectTypeByte, b)\n\t\treturn\n\t}\n\tif err = c.read(msgid); err != nil {\n\t\treturn\n\t}\n\tif err = c.read(methodOrError); err != nil {\n\t\treturn\n\t}\n\treturn\n}\n\n//--------------------------------------------------\n\n// msgpackSpecRpc is the implementation of Rpc that uses custom communication protocol\n// as defined in the msgpack spec at https://github.com/msgpack-rpc/msgpack-rpc/blob/master/spec.md\ntype msgpackSpecRpc struct{}\n\n// MsgpackSpecRpc implements Rpc using the communication protocol defined in\n// the msgpack spec at https://github.com/msgpack-rpc/msgpack-rpc/blob/master/spec.md .\n// Its methods (ServerCodec and ClientCodec) return values that implement RpcCodecBuffered.\nvar MsgpackSpecRpc msgpackSpecRpc\n\nfunc (x msgpackSpecRpc) ServerCodec(conn io.ReadWriteCloser, h Handle) rpc.ServerCodec {\n\treturn &msgpackSpecRpcCodec{newRPCCodec(conn, h)}\n}\n\nfunc (x msgpackSpecRpc) ClientCodec(conn io.ReadWriteCloser, h Handle) rpc.ClientCodec {\n\treturn &msgpackSpecRpcCodec{newRPCCodec(conn, h)}\n}\n\nvar _ decDriver = (*msgpackDecDriver)(nil)\nvar _ encDriver = (*msgpackEncDriver)(nil)\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-msgpack/codec/msgpack_test.py",
    "content": "#!/usr/bin/env python\n\n# This will create golden files in a directory passed to it.\n# A Test calls this internally to create the golden files\n# So it can process them (so we don't have to checkin the files).\n\nimport msgpack, msgpackrpc, sys, os, threading\n\ndef get_test_data_list():\n    # get list with all primitive types, and a combo type\n    l0 = [ \n        -8,\n         -1616,\n         -32323232,\n         -6464646464646464,\n         192,\n         1616,\n         32323232,\n         6464646464646464,\n         192,\n         -3232.0,\n         -6464646464.0,\n         3232.0,\n         6464646464.0,\n         False,\n         True,\n         None,\n         \"someday\",\n         \"\",\n         \"bytestring\",\n         1328176922000002000,\n         -2206187877999998000,\n         0,\n         -6795364578871345152\n         ]\n    l1 = [\n        { \"true\": True,\n          \"false\": False },\n        { \"true\": \"True\",\n          \"false\": False,\n          \"uint16(1616)\": 1616 },\n        { \"list\": [1616, 32323232, True, -3232.0, {\"TRUE\":True, \"FALSE\":False}, [True, False] ],\n          \"int32\":32323232, \"bool\": True, \n          \"LONG STRING\": \"123456789012345678901234567890123456789012345678901234567890\",\n          \"SHORT STRING\": \"1234567890\" },\t\n        { True: \"true\", 8: False, \"false\": 0 }\n        ]\n    \n    l = []\n    l.extend(l0)\n    l.append(l0)\n    l.extend(l1)\n    return l\n\ndef build_test_data(destdir):\n    l = get_test_data_list()\n    for i in range(len(l)):\n        packer = msgpack.Packer()\n        serialized = packer.pack(l[i])\n        f = open(os.path.join(destdir, str(i) + '.golden'), 'wb')\n        f.write(serialized)\n        f.close()\n\ndef doRpcServer(port, stopTimeSec):\n    class EchoHandler(object):\n        def Echo123(self, msg1, msg2, msg3):\n            return (\"1:%s 2:%s 3:%s\" % (msg1, msg2, msg3))\n        def EchoStruct(self, msg):\n            return (\"%s\" % msg)\n    \n    addr = msgpackrpc.Address('localhost', port)\n    server = msgpackrpc.Server(EchoHandler())\n    server.listen(addr)\n    # run thread to stop it after stopTimeSec seconds if > 0\n    if stopTimeSec > 0:\n        def myStopRpcServer():\n            server.stop()\n        t = threading.Timer(stopTimeSec, myStopRpcServer)\n        t.start()\n    server.start()\n\ndef doRpcClientToPythonSvc(port):\n    address = msgpackrpc.Address('localhost', port)\n    client = msgpackrpc.Client(address, unpack_encoding='utf-8')\n    print client.call(\"Echo123\", \"A1\", \"B2\", \"C3\")\n    print client.call(\"EchoStruct\", {\"A\" :\"Aa\", \"B\":\"Bb\", \"C\":\"Cc\"})\n   \ndef doRpcClientToGoSvc(port):\n    # print \">>>> port: \", port, \" <<<<<\"\n    address = msgpackrpc.Address('localhost', port)\n    client = msgpackrpc.Client(address, unpack_encoding='utf-8')\n    print client.call(\"TestRpcInt.Echo123\", [\"A1\", \"B2\", \"C3\"])\n    print client.call(\"TestRpcInt.EchoStruct\", {\"A\" :\"Aa\", \"B\":\"Bb\", \"C\":\"Cc\"})\n\ndef doMain(args):\n    if len(args) == 2 and args[0] == \"testdata\":\n        build_test_data(args[1])\n    elif len(args) == 3 and args[0] == \"rpc-server\":\n        doRpcServer(int(args[1]), int(args[2]))\n    elif len(args) == 2 and args[0] == \"rpc-client-python-service\":\n        doRpcClientToPythonSvc(int(args[1]))\n    elif len(args) == 2 and args[0] == \"rpc-client-go-service\":\n        doRpcClientToGoSvc(int(args[1]))\n    else:\n        print(\"Usage: msgpack_test.py \" + \n              \"[testdata|rpc-server|rpc-client-python-service|rpc-client-go-service] ...\")\n    \nif __name__ == \"__main__\":\n    doMain(sys.argv[1:])\n\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-msgpack/codec/rpc.go",
    "content": "// Copyright (c) 2012, 2013 Ugorji Nwoke. All rights reserved.\n// Use of this source code is governed by a BSD-style license found in the LICENSE file.\n\npackage codec\n\nimport (\n\t\"bufio\"\n\t\"io\"\n\t\"net/rpc\"\n\t\"sync\"\n)\n\n// Rpc provides a rpc Server or Client Codec for rpc communication.\ntype Rpc interface {\n\tServerCodec(conn io.ReadWriteCloser, h Handle) rpc.ServerCodec\n\tClientCodec(conn io.ReadWriteCloser, h Handle) rpc.ClientCodec\n}\n\n// RpcCodecBuffered allows access to the underlying bufio.Reader/Writer\n// used by the rpc connection. It accomodates use-cases where the connection\n// should be used by rpc and non-rpc functions, e.g. streaming a file after\n// sending an rpc response.\ntype RpcCodecBuffered interface {\n\tBufferedReader() *bufio.Reader\n\tBufferedWriter() *bufio.Writer\n}\n\n// -------------------------------------\n\n// rpcCodec defines the struct members and common methods.\ntype rpcCodec struct {\n\trwc io.ReadWriteCloser\n\tdec *Decoder\n\tenc *Encoder\n\tbw  *bufio.Writer\n\tbr  *bufio.Reader\n\tmu  sync.Mutex\n\tcls bool\n}\n\nfunc newRPCCodec(conn io.ReadWriteCloser, h Handle) rpcCodec {\n\tbw := bufio.NewWriter(conn)\n\tbr := bufio.NewReader(conn)\n\treturn rpcCodec{\n\t\trwc: conn,\n\t\tbw:  bw,\n\t\tbr:  br,\n\t\tenc: NewEncoder(bw, h),\n\t\tdec: NewDecoder(br, h),\n\t}\n}\n\nfunc (c *rpcCodec) BufferedReader() *bufio.Reader {\n\treturn c.br\n}\n\nfunc (c *rpcCodec) BufferedWriter() *bufio.Writer {\n\treturn c.bw\n}\n\nfunc (c *rpcCodec) write(obj1, obj2 interface{}, writeObj2, doFlush bool) (err error) {\n\tif c.cls {\n\t\treturn io.EOF\n\t}\n\tif err = c.enc.Encode(obj1); err != nil {\n\t\treturn\n\t}\n\tif writeObj2 {\n\t\tif err = c.enc.Encode(obj2); err != nil {\n\t\t\treturn\n\t\t}\n\t}\n\tif doFlush && c.bw != nil {\n\t\treturn c.bw.Flush()\n\t}\n\treturn\n}\n\nfunc (c *rpcCodec) read(obj interface{}) (err error) {\n\tif c.cls {\n\t\treturn io.EOF\n\t}\n\t//If nil is passed in, we should still attempt to read content to nowhere.\n\tif obj == nil {\n\t\tvar obj2 interface{}\n\t\treturn c.dec.Decode(&obj2)\n\t}\n\treturn c.dec.Decode(obj)\n}\n\nfunc (c *rpcCodec) Close() error {\n\tif c.cls {\n\t\treturn io.EOF\n\t}\n\tc.cls = true\n\treturn c.rwc.Close()\n}\n\nfunc (c *rpcCodec) ReadResponseBody(body interface{}) error {\n\treturn c.read(body)\n}\n\n// -------------------------------------\n\ntype goRpcCodec struct {\n\trpcCodec\n}\n\nfunc (c *goRpcCodec) WriteRequest(r *rpc.Request, body interface{}) error {\n\t// Must protect for concurrent access as per API\n\tc.mu.Lock()\n\tdefer c.mu.Unlock()\n\treturn c.write(r, body, true, true)\n}\n\nfunc (c *goRpcCodec) WriteResponse(r *rpc.Response, body interface{}) error {\n\tc.mu.Lock()\n\tdefer c.mu.Unlock()\n\treturn c.write(r, body, true, true)\n}\n\nfunc (c *goRpcCodec) ReadResponseHeader(r *rpc.Response) error {\n\treturn c.read(r)\n}\n\nfunc (c *goRpcCodec) ReadRequestHeader(r *rpc.Request) error {\n\treturn c.read(r)\n}\n\nfunc (c *goRpcCodec) ReadRequestBody(body interface{}) error {\n\treturn c.read(body)\n}\n\n// -------------------------------------\n\n// goRpc is the implementation of Rpc that uses the communication protocol\n// as defined in net/rpc package.\ntype goRpc struct{}\n\n// GoRpc implements Rpc using the communication protocol defined in net/rpc package.\n// Its methods (ServerCodec and ClientCodec) return values that implement RpcCodecBuffered.\nvar GoRpc goRpc\n\nfunc (x goRpc) ServerCodec(conn io.ReadWriteCloser, h Handle) rpc.ServerCodec {\n\treturn &goRpcCodec{newRPCCodec(conn, h)}\n}\n\nfunc (x goRpc) ClientCodec(conn io.ReadWriteCloser, h Handle) rpc.ClientCodec {\n\treturn &goRpcCodec{newRPCCodec(conn, h)}\n}\n\nvar _ RpcCodecBuffered = (*rpcCodec)(nil) // ensure *rpcCodec implements RpcCodecBuffered\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-msgpack/codec/simple.go",
    "content": "// Copyright (c) 2012, 2013 Ugorji Nwoke. All rights reserved.\n// Use of this source code is governed by a BSD-style license found in the LICENSE file.\n\npackage codec\n\nimport \"math\"\n\nconst (\n\t_               uint8 = iota\n\tsimpleVdNil           = 1\n\tsimpleVdFalse         = 2\n\tsimpleVdTrue          = 3\n\tsimpleVdFloat32       = 4\n\tsimpleVdFloat64       = 5\n\n\t// each lasts for 4 (ie n, n+1, n+2, n+3)\n\tsimpleVdPosInt = 8\n\tsimpleVdNegInt = 12\n\n\t// containers: each lasts for 4 (ie n, n+1, n+2, ... n+7)\n\tsimpleVdString    = 216\n\tsimpleVdByteArray = 224\n\tsimpleVdArray     = 232\n\tsimpleVdMap       = 240\n\tsimpleVdExt       = 248\n)\n\ntype simpleEncDriver struct {\n\th *SimpleHandle\n\tw encWriter\n\t//b [8]byte\n}\n\nfunc (e *simpleEncDriver) isBuiltinType(rt uintptr) bool {\n\treturn false\n}\n\nfunc (e *simpleEncDriver) encodeBuiltin(rt uintptr, v interface{}) {\n}\n\nfunc (e *simpleEncDriver) encodeNil() {\n\te.w.writen1(simpleVdNil)\n}\n\nfunc (e *simpleEncDriver) encodeBool(b bool) {\n\tif b {\n\t\te.w.writen1(simpleVdTrue)\n\t} else {\n\t\te.w.writen1(simpleVdFalse)\n\t}\n}\n\nfunc (e *simpleEncDriver) encodeFloat32(f float32) {\n\te.w.writen1(simpleVdFloat32)\n\te.w.writeUint32(math.Float32bits(f))\n}\n\nfunc (e *simpleEncDriver) encodeFloat64(f float64) {\n\te.w.writen1(simpleVdFloat64)\n\te.w.writeUint64(math.Float64bits(f))\n}\n\nfunc (e *simpleEncDriver) encodeInt(v int64) {\n\tif v < 0 {\n\t\te.encUint(uint64(-v), simpleVdNegInt)\n\t} else {\n\t\te.encUint(uint64(v), simpleVdPosInt)\n\t}\n}\n\nfunc (e *simpleEncDriver) encodeUint(v uint64) {\n\te.encUint(v, simpleVdPosInt)\n}\n\nfunc (e *simpleEncDriver) encUint(v uint64, bd uint8) {\n\tswitch {\n\tcase v <= math.MaxUint8:\n\t\te.w.writen2(bd, uint8(v))\n\tcase v <= math.MaxUint16:\n\t\te.w.writen1(bd + 1)\n\t\te.w.writeUint16(uint16(v))\n\tcase v <= math.MaxUint32:\n\t\te.w.writen1(bd + 2)\n\t\te.w.writeUint32(uint32(v))\n\tcase v <= math.MaxUint64:\n\t\te.w.writen1(bd + 3)\n\t\te.w.writeUint64(v)\n\t}\n}\n\nfunc (e *simpleEncDriver) encLen(bd byte, length int) {\n\tswitch {\n\tcase length == 0:\n\t\te.w.writen1(bd)\n\tcase length <= math.MaxUint8:\n\t\te.w.writen1(bd + 1)\n\t\te.w.writen1(uint8(length))\n\tcase length <= math.MaxUint16:\n\t\te.w.writen1(bd + 2)\n\t\te.w.writeUint16(uint16(length))\n\tcase int64(length) <= math.MaxUint32:\n\t\te.w.writen1(bd + 3)\n\t\te.w.writeUint32(uint32(length))\n\tdefault:\n\t\te.w.writen1(bd + 4)\n\t\te.w.writeUint64(uint64(length))\n\t}\n}\n\nfunc (e *simpleEncDriver) encodeExtPreamble(xtag byte, length int) {\n\te.encLen(simpleVdExt, length)\n\te.w.writen1(xtag)\n}\n\nfunc (e *simpleEncDriver) encodeArrayPreamble(length int) {\n\te.encLen(simpleVdArray, length)\n}\n\nfunc (e *simpleEncDriver) encodeMapPreamble(length int) {\n\te.encLen(simpleVdMap, length)\n}\n\nfunc (e *simpleEncDriver) encodeString(c charEncoding, v string) {\n\te.encLen(simpleVdString, len(v))\n\te.w.writestr(v)\n}\n\nfunc (e *simpleEncDriver) encodeSymbol(v string) {\n\te.encodeString(c_UTF8, v)\n}\n\nfunc (e *simpleEncDriver) encodeStringBytes(c charEncoding, v []byte) {\n\te.encLen(simpleVdByteArray, len(v))\n\te.w.writeb(v)\n}\n\n//------------------------------------\n\ntype simpleDecDriver struct {\n\th      *SimpleHandle\n\tr      decReader\n\tbdRead bool\n\tbdType valueType\n\tbd     byte\n\t//b      [8]byte\n}\n\nfunc (d *simpleDecDriver) initReadNext() {\n\tif d.bdRead {\n\t\treturn\n\t}\n\td.bd = d.r.readn1()\n\td.bdRead = true\n\td.bdType = valueTypeUnset\n}\n\nfunc (d *simpleDecDriver) currentEncodedType() valueType {\n\tif d.bdType == valueTypeUnset {\n\t\tswitch d.bd {\n\t\tcase simpleVdNil:\n\t\t\td.bdType = valueTypeNil\n\t\tcase simpleVdTrue, simpleVdFalse:\n\t\t\td.bdType = valueTypeBool\n\t\tcase simpleVdPosInt, simpleVdPosInt + 1, simpleVdPosInt + 2, simpleVdPosInt + 3:\n\t\t\td.bdType = valueTypeUint\n\t\tcase simpleVdNegInt, simpleVdNegInt + 1, simpleVdNegInt + 2, simpleVdNegInt + 3:\n\t\t\td.bdType = valueTypeInt\n\t\tcase simpleVdFloat32, simpleVdFloat64:\n\t\t\td.bdType = valueTypeFloat\n\t\tcase simpleVdString, simpleVdString + 1, simpleVdString + 2, simpleVdString + 3, simpleVdString + 4:\n\t\t\td.bdType = valueTypeString\n\t\tcase simpleVdByteArray, simpleVdByteArray + 1, simpleVdByteArray + 2, simpleVdByteArray + 3, simpleVdByteArray + 4:\n\t\t\td.bdType = valueTypeBytes\n\t\tcase simpleVdExt, simpleVdExt + 1, simpleVdExt + 2, simpleVdExt + 3, simpleVdExt + 4:\n\t\t\td.bdType = valueTypeExt\n\t\tcase simpleVdArray, simpleVdArray + 1, simpleVdArray + 2, simpleVdArray + 3, simpleVdArray + 4:\n\t\t\td.bdType = valueTypeArray\n\t\tcase simpleVdMap, simpleVdMap + 1, simpleVdMap + 2, simpleVdMap + 3, simpleVdMap + 4:\n\t\t\td.bdType = valueTypeMap\n\t\tdefault:\n\t\t\tdecErr(\"currentEncodedType: Unrecognized d.vd: 0x%x\", d.bd)\n\t\t}\n\t}\n\treturn d.bdType\n}\n\nfunc (d *simpleDecDriver) tryDecodeAsNil() bool {\n\tif d.bd == simpleVdNil {\n\t\td.bdRead = false\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc (d *simpleDecDriver) isBuiltinType(rt uintptr) bool {\n\treturn false\n}\n\nfunc (d *simpleDecDriver) decodeBuiltin(rt uintptr, v interface{}) {\n}\n\nfunc (d *simpleDecDriver) decIntAny() (ui uint64, i int64, neg bool) {\n\tswitch d.bd {\n\tcase simpleVdPosInt:\n\t\tui = uint64(d.r.readn1())\n\t\ti = int64(ui)\n\tcase simpleVdPosInt + 1:\n\t\tui = uint64(d.r.readUint16())\n\t\ti = int64(ui)\n\tcase simpleVdPosInt + 2:\n\t\tui = uint64(d.r.readUint32())\n\t\ti = int64(ui)\n\tcase simpleVdPosInt + 3:\n\t\tui = uint64(d.r.readUint64())\n\t\ti = int64(ui)\n\tcase simpleVdNegInt:\n\t\tui = uint64(d.r.readn1())\n\t\ti = -(int64(ui))\n\t\tneg = true\n\tcase simpleVdNegInt + 1:\n\t\tui = uint64(d.r.readUint16())\n\t\ti = -(int64(ui))\n\t\tneg = true\n\tcase simpleVdNegInt + 2:\n\t\tui = uint64(d.r.readUint32())\n\t\ti = -(int64(ui))\n\t\tneg = true\n\tcase simpleVdNegInt + 3:\n\t\tui = uint64(d.r.readUint64())\n\t\ti = -(int64(ui))\n\t\tneg = true\n\tdefault:\n\t\tdecErr(\"decIntAny: Integer only valid from pos/neg integer1..8. Invalid descriptor: %v\", d.bd)\n\t}\n\t// don't do this check, because callers may only want the unsigned value.\n\t// if ui > math.MaxInt64 {\n\t// \tdecErr(\"decIntAny: Integer out of range for signed int64: %v\", ui)\n\t// }\n\treturn\n}\n\nfunc (d *simpleDecDriver) decodeInt(bitsize uint8) (i int64) {\n\t_, i, _ = d.decIntAny()\n\tcheckOverflow(0, i, bitsize)\n\td.bdRead = false\n\treturn\n}\n\nfunc (d *simpleDecDriver) decodeUint(bitsize uint8) (ui uint64) {\n\tui, i, neg := d.decIntAny()\n\tif neg {\n\t\tdecErr(\"Assigning negative signed value: %v, to unsigned type\", i)\n\t}\n\tcheckOverflow(ui, 0, bitsize)\n\td.bdRead = false\n\treturn\n}\n\nfunc (d *simpleDecDriver) decodeFloat(chkOverflow32 bool) (f float64) {\n\tswitch d.bd {\n\tcase simpleVdFloat32:\n\t\tf = float64(math.Float32frombits(d.r.readUint32()))\n\tcase simpleVdFloat64:\n\t\tf = math.Float64frombits(d.r.readUint64())\n\tdefault:\n\t\tif d.bd >= simpleVdPosInt && d.bd <= simpleVdNegInt+3 {\n\t\t\t_, i, _ := d.decIntAny()\n\t\t\tf = float64(i)\n\t\t} else {\n\t\t\tdecErr(\"Float only valid from float32/64: Invalid descriptor: %v\", d.bd)\n\t\t}\n\t}\n\tcheckOverflowFloat32(f, chkOverflow32)\n\td.bdRead = false\n\treturn\n}\n\n// bool can be decoded from bool only (single byte).\nfunc (d *simpleDecDriver) decodeBool() (b bool) {\n\tswitch d.bd {\n\tcase simpleVdTrue:\n\t\tb = true\n\tcase simpleVdFalse:\n\tdefault:\n\t\tdecErr(\"Invalid single-byte value for bool: %s: %x\", msgBadDesc, d.bd)\n\t}\n\td.bdRead = false\n\treturn\n}\n\nfunc (d *simpleDecDriver) readMapLen() (length int) {\n\td.bdRead = false\n\treturn d.decLen()\n}\n\nfunc (d *simpleDecDriver) readArrayLen() (length int) {\n\td.bdRead = false\n\treturn d.decLen()\n}\n\nfunc (d *simpleDecDriver) decLen() int {\n\tswitch d.bd % 8 {\n\tcase 0:\n\t\treturn 0\n\tcase 1:\n\t\treturn int(d.r.readn1())\n\tcase 2:\n\t\treturn int(d.r.readUint16())\n\tcase 3:\n\t\tui := uint64(d.r.readUint32())\n\t\tcheckOverflow(ui, 0, intBitsize)\n\t\treturn int(ui)\n\tcase 4:\n\t\tui := d.r.readUint64()\n\t\tcheckOverflow(ui, 0, intBitsize)\n\t\treturn int(ui)\n\t}\n\tdecErr(\"decLen: Cannot read length: bd%8 must be in range 0..4. Got: %d\", d.bd%8)\n\treturn -1\n}\n\nfunc (d *simpleDecDriver) decodeString() (s string) {\n\ts = string(d.r.readn(d.decLen()))\n\td.bdRead = false\n\treturn\n}\n\nfunc (d *simpleDecDriver) decodeBytes(bs []byte) (bsOut []byte, changed bool) {\n\tif clen := d.decLen(); clen > 0 {\n\t\t// if no contents in stream, don't update the passed byteslice\n\t\tif len(bs) != clen {\n\t\t\tif len(bs) > clen {\n\t\t\t\tbs = bs[:clen]\n\t\t\t} else {\n\t\t\t\tbs = make([]byte, clen)\n\t\t\t}\n\t\t\tbsOut = bs\n\t\t\tchanged = true\n\t\t}\n\t\td.r.readb(bs)\n\t}\n\td.bdRead = false\n\treturn\n}\n\nfunc (d *simpleDecDriver) decodeExt(verifyTag bool, tag byte) (xtag byte, xbs []byte) {\n\tswitch d.bd {\n\tcase simpleVdExt, simpleVdExt + 1, simpleVdExt + 2, simpleVdExt + 3, simpleVdExt + 4:\n\t\tl := d.decLen()\n\t\txtag = d.r.readn1()\n\t\tif verifyTag && xtag != tag {\n\t\t\tdecErr(\"Wrong extension tag. Got %b. Expecting: %v\", xtag, tag)\n\t\t}\n\t\txbs = d.r.readn(l)\n\tcase simpleVdByteArray, simpleVdByteArray + 1, simpleVdByteArray + 2, simpleVdByteArray + 3, simpleVdByteArray + 4:\n\t\txbs, _ = d.decodeBytes(nil)\n\tdefault:\n\t\tdecErr(\"Invalid d.vd for extensions (Expecting extensions or byte array). Got: 0x%x\", d.bd)\n\t}\n\td.bdRead = false\n\treturn\n}\n\nfunc (d *simpleDecDriver) decodeNaked() (v interface{}, vt valueType, decodeFurther bool) {\n\td.initReadNext()\n\n\tswitch d.bd {\n\tcase simpleVdNil:\n\t\tvt = valueTypeNil\n\tcase simpleVdFalse:\n\t\tvt = valueTypeBool\n\t\tv = false\n\tcase simpleVdTrue:\n\t\tvt = valueTypeBool\n\t\tv = true\n\tcase simpleVdPosInt, simpleVdPosInt + 1, simpleVdPosInt + 2, simpleVdPosInt + 3:\n\t\tvt = valueTypeUint\n\t\tui, _, _ := d.decIntAny()\n\t\tv = ui\n\tcase simpleVdNegInt, simpleVdNegInt + 1, simpleVdNegInt + 2, simpleVdNegInt + 3:\n\t\tvt = valueTypeInt\n\t\t_, i, _ := d.decIntAny()\n\t\tv = i\n\tcase simpleVdFloat32:\n\t\tvt = valueTypeFloat\n\t\tv = d.decodeFloat(true)\n\tcase simpleVdFloat64:\n\t\tvt = valueTypeFloat\n\t\tv = d.decodeFloat(false)\n\tcase simpleVdString, simpleVdString + 1, simpleVdString + 2, simpleVdString + 3, simpleVdString + 4:\n\t\tvt = valueTypeString\n\t\tv = d.decodeString()\n\tcase simpleVdByteArray, simpleVdByteArray + 1, simpleVdByteArray + 2, simpleVdByteArray + 3, simpleVdByteArray + 4:\n\t\tvt = valueTypeBytes\n\t\tv, _ = d.decodeBytes(nil)\n\tcase simpleVdExt, simpleVdExt + 1, simpleVdExt + 2, simpleVdExt + 3, simpleVdExt + 4:\n\t\tvt = valueTypeExt\n\t\tl := d.decLen()\n\t\tvar re RawExt\n\t\tre.Tag = d.r.readn1()\n\t\tre.Data = d.r.readn(l)\n\t\tv = &re\n\t\tvt = valueTypeExt\n\tcase simpleVdArray, simpleVdArray + 1, simpleVdArray + 2, simpleVdArray + 3, simpleVdArray + 4:\n\t\tvt = valueTypeArray\n\t\tdecodeFurther = true\n\tcase simpleVdMap, simpleVdMap + 1, simpleVdMap + 2, simpleVdMap + 3, simpleVdMap + 4:\n\t\tvt = valueTypeMap\n\t\tdecodeFurther = true\n\tdefault:\n\t\tdecErr(\"decodeNaked: Unrecognized d.vd: 0x%x\", d.bd)\n\t}\n\n\tif !decodeFurther {\n\t\td.bdRead = false\n\t}\n\treturn\n}\n\n//------------------------------------\n\n// SimpleHandle is a Handle for a very simple encoding format.\n//\n// simple is a simplistic codec similar to binc, but not as compact.\n//   - Encoding of a value is always preceeded by the descriptor byte (bd)\n//   - True, false, nil are encoded fully in 1 byte (the descriptor)\n//   - Integers (intXXX, uintXXX) are encoded in 1, 2, 4 or 8 bytes (plus a descriptor byte).\n//     There are positive (uintXXX and intXXX >= 0) and negative (intXXX < 0) integers.\n//   - Floats are encoded in 4 or 8 bytes (plus a descriptor byte)\n//   - Lenght of containers (strings, bytes, array, map, extensions)\n//     are encoded in 0, 1, 2, 4 or 8 bytes.\n//     Zero-length containers have no length encoded.\n//     For others, the number of bytes is given by pow(2, bd%3)\n//   - maps are encoded as [bd] [length] [[key][value]]...\n//   - arrays are encoded as [bd] [length] [value]...\n//   - extensions are encoded as [bd] [length] [tag] [byte]...\n//   - strings/bytearrays are encoded as [bd] [length] [byte]...\n//\n// The full spec will be published soon.\ntype SimpleHandle struct {\n\tBasicHandle\n}\n\nfunc (h *SimpleHandle) newEncDriver(w encWriter) encDriver {\n\treturn &simpleEncDriver{w: w, h: h}\n}\n\nfunc (h *SimpleHandle) newDecDriver(r decReader) decDriver {\n\treturn &simpleDecDriver{r: r, h: h}\n}\n\nfunc (_ *SimpleHandle) writeExt() bool {\n\treturn true\n}\n\nfunc (h *SimpleHandle) getBasicHandle() *BasicHandle {\n\treturn &h.BasicHandle\n}\n\nvar _ decDriver = (*simpleDecDriver)(nil)\nvar _ encDriver = (*simpleEncDriver)(nil)\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-msgpack/codec/time.go",
    "content": "// Copyright (c) 2012, 2013 Ugorji Nwoke. All rights reserved.\n// Use of this source code is governed by a BSD-style license found in the LICENSE file.\n\npackage codec\n\nimport (\n\t\"time\"\n)\n\nvar (\n\ttimeDigits = [...]byte{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'}\n)\n\n// EncodeTime encodes a time.Time as a []byte, including\n// information on the instant in time and UTC offset.\n//\n// Format Description\n//\n//   A timestamp is composed of 3 components:\n//\n//   - secs: signed integer representing seconds since unix epoch\n//   - nsces: unsigned integer representing fractional seconds as a\n//     nanosecond offset within secs, in the range 0 <= nsecs < 1e9\n//   - tz: signed integer representing timezone offset in minutes east of UTC,\n//     and a dst (daylight savings time) flag\n//\n//   When encoding a timestamp, the first byte is the descriptor, which\n//   defines which components are encoded and how many bytes are used to\n//   encode secs and nsecs components. *If secs/nsecs is 0 or tz is UTC, it\n//   is not encoded in the byte array explicitly*.\n//\n//       Descriptor 8 bits are of the form `A B C DDD EE`:\n//           A:   Is secs component encoded? 1 = true\n//           B:   Is nsecs component encoded? 1 = true\n//           C:   Is tz component encoded? 1 = true\n//           DDD: Number of extra bytes for secs (range 0-7).\n//                If A = 1, secs encoded in DDD+1 bytes.\n//                    If A = 0, secs is not encoded, and is assumed to be 0.\n//                    If A = 1, then we need at least 1 byte to encode secs.\n//                    DDD says the number of extra bytes beyond that 1.\n//                    E.g. if DDD=0, then secs is represented in 1 byte.\n//                         if DDD=2, then secs is represented in 3 bytes.\n//           EE:  Number of extra bytes for nsecs (range 0-3).\n//                If B = 1, nsecs encoded in EE+1 bytes (similar to secs/DDD above)\n//\n//   Following the descriptor bytes, subsequent bytes are:\n//\n//       secs component encoded in `DDD + 1` bytes (if A == 1)\n//       nsecs component encoded in `EE + 1` bytes (if B == 1)\n//       tz component encoded in 2 bytes (if C == 1)\n//\n//   secs and nsecs components are integers encoded in a BigEndian\n//   2-complement encoding format.\n//\n//   tz component is encoded as 2 bytes (16 bits). Most significant bit 15 to\n//   Least significant bit 0 are described below:\n//\n//       Timezone offset has a range of -12:00 to +14:00 (ie -720 to +840 minutes).\n//       Bit 15 = have\\_dst: set to 1 if we set the dst flag.\n//       Bit 14 = dst\\_on: set to 1 if dst is in effect at the time, or 0 if not.\n//       Bits 13..0 = timezone offset in minutes. It is a signed integer in Big Endian format.\n//\nfunc encodeTime(t time.Time) []byte {\n\t//t := rv.Interface().(time.Time)\n\ttsecs, tnsecs := t.Unix(), t.Nanosecond()\n\tvar (\n\t\tbd   byte\n\t\tbtmp [8]byte\n\t\tbs   [16]byte\n\t\ti    int = 1\n\t)\n\tl := t.Location()\n\tif l == time.UTC {\n\t\tl = nil\n\t}\n\tif tsecs != 0 {\n\t\tbd = bd | 0x80\n\t\tbigen.PutUint64(btmp[:], uint64(tsecs))\n\t\tf := pruneSignExt(btmp[:], tsecs >= 0)\n\t\tbd = bd | (byte(7-f) << 2)\n\t\tcopy(bs[i:], btmp[f:])\n\t\ti = i + (8 - f)\n\t}\n\tif tnsecs != 0 {\n\t\tbd = bd | 0x40\n\t\tbigen.PutUint32(btmp[:4], uint32(tnsecs))\n\t\tf := pruneSignExt(btmp[:4], true)\n\t\tbd = bd | byte(3-f)\n\t\tcopy(bs[i:], btmp[f:4])\n\t\ti = i + (4 - f)\n\t}\n\tif l != nil {\n\t\tbd = bd | 0x20\n\t\t// Note that Go Libs do not give access to dst flag.\n\t\t_, zoneOffset := t.Zone()\n\t\t//zoneName, zoneOffset := t.Zone()\n\t\tzoneOffset /= 60\n\t\tz := uint16(zoneOffset)\n\t\tbigen.PutUint16(btmp[:2], z)\n\t\t// clear dst flags\n\t\tbs[i] = btmp[0] & 0x3f\n\t\tbs[i+1] = btmp[1]\n\t\ti = i + 2\n\t}\n\tbs[0] = bd\n\treturn bs[0:i]\n}\n\n// DecodeTime decodes a []byte into a time.Time.\nfunc decodeTime(bs []byte) (tt time.Time, err error) {\n\tbd := bs[0]\n\tvar (\n\t\ttsec  int64\n\t\ttnsec uint32\n\t\ttz    uint16\n\t\ti     byte = 1\n\t\ti2    byte\n\t\tn     byte\n\t)\n\tif bd&(1<<7) != 0 {\n\t\tvar btmp [8]byte\n\t\tn = ((bd >> 2) & 0x7) + 1\n\t\ti2 = i + n\n\t\tcopy(btmp[8-n:], bs[i:i2])\n\t\t//if first bit of bs[i] is set, then fill btmp[0..8-n] with 0xff (ie sign extend it)\n\t\tif bs[i]&(1<<7) != 0 {\n\t\t\tcopy(btmp[0:8-n], bsAll0xff)\n\t\t\t//for j,k := byte(0), 8-n; j < k; j++ {\tbtmp[j] = 0xff }\n\t\t}\n\t\ti = i2\n\t\ttsec = int64(bigen.Uint64(btmp[:]))\n\t}\n\tif bd&(1<<6) != 0 {\n\t\tvar btmp [4]byte\n\t\tn = (bd & 0x3) + 1\n\t\ti2 = i + n\n\t\tcopy(btmp[4-n:], bs[i:i2])\n\t\ti = i2\n\t\ttnsec = bigen.Uint32(btmp[:])\n\t}\n\tif bd&(1<<5) == 0 {\n\t\ttt = time.Unix(tsec, int64(tnsec)).UTC()\n\t\treturn\n\t}\n\t// In stdlib time.Parse, when a date is parsed without a zone name, it uses \"\" as zone name.\n\t// However, we need name here, so it can be shown when time is printed.\n\t// Zone name is in form: UTC-08:00.\n\t// Note that Go Libs do not give access to dst flag, so we ignore dst bits\n\n\ti2 = i + 2\n\ttz = bigen.Uint16(bs[i:i2])\n\ti = i2\n\t// sign extend sign bit into top 2 MSB (which were dst bits):\n\tif tz&(1<<13) == 0 { // positive\n\t\ttz = tz & 0x3fff //clear 2 MSBs: dst bits\n\t} else { // negative\n\t\ttz = tz | 0xc000 //set 2 MSBs: dst bits\n\t\t//tzname[3] = '-' (TODO: verify. this works here)\n\t}\n\ttzint := int16(tz)\n\tif tzint == 0 {\n\t\ttt = time.Unix(tsec, int64(tnsec)).UTC()\n\t} else {\n\t\t// For Go Time, do not use a descriptive timezone.\n\t\t// It's unnecessary, and makes it harder to do a reflect.DeepEqual.\n\t\t// The Offset already tells what the offset should be, if not on UTC and unknown zone name.\n\t\t// var zoneName = timeLocUTCName(tzint)\n\t\ttt = time.Unix(tsec, int64(tnsec)).In(time.FixedZone(\"\", int(tzint)*60))\n\t}\n\treturn\n}\n\nfunc timeLocUTCName(tzint int16) string {\n\tif tzint == 0 {\n\t\treturn \"UTC\"\n\t}\n\tvar tzname = []byte(\"UTC+00:00\")\n\t//tzname := fmt.Sprintf(\"UTC%s%02d:%02d\", tzsign, tz/60, tz%60) //perf issue using Sprintf. inline below.\n\t//tzhr, tzmin := tz/60, tz%60 //faster if u convert to int first\n\tvar tzhr, tzmin int16\n\tif tzint < 0 {\n\t\ttzname[3] = '-' // (TODO: verify. this works here)\n\t\ttzhr, tzmin = -tzint/60, (-tzint)%60\n\t} else {\n\t\ttzhr, tzmin = tzint/60, tzint%60\n\t}\n\ttzname[4] = timeDigits[tzhr/10]\n\ttzname[5] = timeDigits[tzhr%10]\n\ttzname[7] = timeDigits[tzmin/10]\n\ttzname[8] = timeDigits[tzmin%10]\n\treturn string(tzname)\n\t//return time.FixedZone(string(tzname), int(tzint)*60)\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-multierror/.travis.yml",
    "content": "sudo: false\n\nlanguage: go\n\ngo:\n  - 1.x\n\nbranches:\n  only:\n    - master\n\nscript: make test testrace\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-multierror/LICENSE",
    "content": "Mozilla Public License, version 2.0\n\n1. Definitions\n\n1.1. “Contributor”\n\n     means each individual or legal entity that creates, contributes to the\n     creation of, or owns Covered Software.\n\n1.2. “Contributor Version”\n\n     means the combination of the Contributions of others (if any) used by a\n     Contributor and that particular Contributor’s Contribution.\n\n1.3. “Contribution”\n\n     means Covered Software of a particular Contributor.\n\n1.4. “Covered Software”\n\n     means Source Code Form to which the initial Contributor has attached the\n     notice in Exhibit A, the Executable Form of such Source Code Form, and\n     Modifications of such Source Code Form, in each case including portions\n     thereof.\n\n1.5. “Incompatible With Secondary Licenses”\n     means\n\n     a. that the initial Contributor has attached the notice described in\n        Exhibit B to the Covered Software; or\n\n     b. that the Covered Software was made available under the terms of version\n        1.1 or earlier of the License, but not also under the terms of a\n        Secondary License.\n\n1.6. “Executable Form”\n\n     means any form of the work other than Source Code Form.\n\n1.7. “Larger Work”\n\n     means a work that combines Covered Software with other material, in a separate\n     file or files, that is not Covered Software.\n\n1.8. “License”\n\n     means this document.\n\n1.9. “Licensable”\n\n     means having the right to grant, to the maximum extent possible, whether at the\n     time of the initial grant or subsequently, any and all of the rights conveyed by\n     this License.\n\n1.10. “Modifications”\n\n     means any of the following:\n\n     a. any file in Source Code Form that results from an addition to, deletion\n        from, or modification of the contents of Covered Software; or\n\n     b. any new file in Source Code Form that contains any Covered Software.\n\n1.11. “Patent Claims” of a Contributor\n\n      means any patent claim(s), including without limitation, method, process,\n      and apparatus claims, in any patent Licensable by such Contributor that\n      would be infringed, but for the grant of the License, by the making,\n      using, selling, offering for sale, having made, import, or transfer of\n      either its Contributions or its Contributor Version.\n\n1.12. “Secondary License”\n\n      means either the GNU General Public License, Version 2.0, the GNU Lesser\n      General Public License, Version 2.1, the GNU Affero General Public\n      License, Version 3.0, or any later versions of those licenses.\n\n1.13. “Source Code Form”\n\n      means the form of the work preferred for making modifications.\n\n1.14. “You” (or “Your”)\n\n      means an individual or a legal entity exercising rights under this\n      License. For legal entities, “You” includes any entity that controls, is\n      controlled by, or is under common control with You. For purposes of this\n      definition, “control” means (a) the power, direct or indirect, to cause\n      the direction or management of such entity, whether by contract or\n      otherwise, or (b) ownership of more than fifty percent (50%) of the\n      outstanding shares or beneficial ownership of such entity.\n\n\n2. License Grants and Conditions\n\n2.1. Grants\n\n     Each Contributor hereby grants You a world-wide, royalty-free,\n     non-exclusive license:\n\n     a. under intellectual property rights (other than patent or trademark)\n        Licensable by such Contributor to use, reproduce, make available,\n        modify, display, perform, distribute, and otherwise exploit its\n        Contributions, either on an unmodified basis, with Modifications, or as\n        part of a Larger Work; and\n\n     b. under Patent Claims of such Contributor to make, use, sell, offer for\n        sale, have made, import, and otherwise transfer either its Contributions\n        or its Contributor Version.\n\n2.2. Effective Date\n\n     The licenses granted in Section 2.1 with respect to any Contribution become\n     effective for each Contribution on the date the Contributor first distributes\n     such Contribution.\n\n2.3. Limitations on Grant Scope\n\n     The licenses granted in this Section 2 are the only rights granted under this\n     License. No additional rights or licenses will be implied from the distribution\n     or licensing of Covered Software under this License. Notwithstanding Section\n     2.1(b) above, no patent license is granted by a Contributor:\n\n     a. for any code that a Contributor has removed from Covered Software; or\n\n     b. for infringements caused by: (i) Your and any other third party’s\n        modifications of Covered Software, or (ii) the combination of its\n        Contributions with other software (except as part of its Contributor\n        Version); or\n\n     c. under Patent Claims infringed by Covered Software in the absence of its\n        Contributions.\n\n     This License does not grant any rights in the trademarks, service marks, or\n     logos of any Contributor (except as may be necessary to comply with the\n     notice requirements in Section 3.4).\n\n2.4. Subsequent Licenses\n\n     No Contributor makes additional grants as a result of Your choice to\n     distribute the Covered Software under a subsequent version of this License\n     (see Section 10.2) or under the terms of a Secondary License (if permitted\n     under the terms of Section 3.3).\n\n2.5. Representation\n\n     Each Contributor represents that the Contributor believes its Contributions\n     are its original creation(s) or it has sufficient rights to grant the\n     rights to its Contributions conveyed by this License.\n\n2.6. Fair Use\n\n     This License is not intended to limit any rights You have under applicable\n     copyright doctrines of fair use, fair dealing, or other equivalents.\n\n2.7. Conditions\n\n     Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in\n     Section 2.1.\n\n\n3. Responsibilities\n\n3.1. Distribution of Source Form\n\n     All distribution of Covered Software in Source Code Form, including any\n     Modifications that You create or to which You contribute, must be under the\n     terms of this License. You must inform recipients that the Source Code Form\n     of the Covered Software is governed by the terms of this License, and how\n     they can obtain a copy of this License. You may not attempt to alter or\n     restrict the recipients’ rights in the Source Code Form.\n\n3.2. Distribution of Executable Form\n\n     If You distribute Covered Software in Executable Form then:\n\n     a. such Covered Software must also be made available in Source Code Form,\n        as described in Section 3.1, and You must inform recipients of the\n        Executable Form how they can obtain a copy of such Source Code Form by\n        reasonable means in a timely manner, at a charge no more than the cost\n        of distribution to the recipient; and\n\n     b. You may distribute such Executable Form under the terms of this License,\n        or sublicense it under different terms, provided that the license for\n        the Executable Form does not attempt to limit or alter the recipients’\n        rights in the Source Code Form under this License.\n\n3.3. Distribution of a Larger Work\n\n     You may create and distribute a Larger Work under terms of Your choice,\n     provided that You also comply with the requirements of this License for the\n     Covered Software. If the Larger Work is a combination of Covered Software\n     with a work governed by one or more Secondary Licenses, and the Covered\n     Software is not Incompatible With Secondary Licenses, this License permits\n     You to additionally distribute such Covered Software under the terms of\n     such Secondary License(s), so that the recipient of the Larger Work may, at\n     their option, further distribute the Covered Software under the terms of\n     either this License or such Secondary License(s).\n\n3.4. Notices\n\n     You may not remove or alter the substance of any license notices (including\n     copyright notices, patent notices, disclaimers of warranty, or limitations\n     of liability) contained within the Source Code Form of the Covered\n     Software, except that You may alter any license notices to the extent\n     required to remedy known factual inaccuracies.\n\n3.5. Application of Additional Terms\n\n     You may choose to offer, and to charge a fee for, warranty, support,\n     indemnity or liability obligations to one or more recipients of Covered\n     Software. However, You may do so only on Your own behalf, and not on behalf\n     of any Contributor. You must make it absolutely clear that any such\n     warranty, support, indemnity, or liability obligation is offered by You\n     alone, and You hereby agree to indemnify every Contributor for any\n     liability incurred by such Contributor as a result of warranty, support,\n     indemnity or liability terms You offer. You may include additional\n     disclaimers of warranty and limitations of liability specific to any\n     jurisdiction.\n\n4. Inability to Comply Due to Statute or Regulation\n\n   If it is impossible for You to comply with any of the terms of this License\n   with respect to some or all of the Covered Software due to statute, judicial\n   order, or regulation then You must: (a) comply with the terms of this License\n   to the maximum extent possible; and (b) describe the limitations and the code\n   they affect. Such description must be placed in a text file included with all\n   distributions of the Covered Software under this License. Except to the\n   extent prohibited by statute or regulation, such description must be\n   sufficiently detailed for a recipient of ordinary skill to be able to\n   understand it.\n\n5. Termination\n\n5.1. The rights granted under this License will terminate automatically if You\n     fail to comply with any of its terms. However, if You become compliant,\n     then the rights granted under this License from a particular Contributor\n     are reinstated (a) provisionally, unless and until such Contributor\n     explicitly and finally terminates Your grants, and (b) on an ongoing basis,\n     if such Contributor fails to notify You of the non-compliance by some\n     reasonable means prior to 60 days after You have come back into compliance.\n     Moreover, Your grants from a particular Contributor are reinstated on an\n     ongoing basis if such Contributor notifies You of the non-compliance by\n     some reasonable means, this is the first time You have received notice of\n     non-compliance with this License from such Contributor, and You become\n     compliant prior to 30 days after Your receipt of the notice.\n\n5.2. If You initiate litigation against any entity by asserting a patent\n     infringement claim (excluding declaratory judgment actions, counter-claims,\n     and cross-claims) alleging that a Contributor Version directly or\n     indirectly infringes any patent, then the rights granted to You by any and\n     all Contributors for the Covered Software under Section 2.1 of this License\n     shall terminate.\n\n5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user\n     license agreements (excluding distributors and resellers) which have been\n     validly granted by You or Your distributors under this License prior to\n     termination shall survive termination.\n\n6. Disclaimer of Warranty\n\n   Covered Software is provided under this License on an “as is” basis, without\n   warranty of any kind, either expressed, implied, or statutory, including,\n   without limitation, warranties that the Covered Software is free of defects,\n   merchantable, fit for a particular purpose or non-infringing. The entire\n   risk as to the quality and performance of the Covered Software is with You.\n   Should any Covered Software prove defective in any respect, You (not any\n   Contributor) assume the cost of any necessary servicing, repair, or\n   correction. This disclaimer of warranty constitutes an essential part of this\n   License. No use of  any Covered Software is authorized under this License\n   except under this disclaimer.\n\n7. Limitation of Liability\n\n   Under no circumstances and under no legal theory, whether tort (including\n   negligence), contract, or otherwise, shall any Contributor, or anyone who\n   distributes Covered Software as permitted above, be liable to You for any\n   direct, indirect, special, incidental, or consequential damages of any\n   character including, without limitation, damages for lost profits, loss of\n   goodwill, work stoppage, computer failure or malfunction, or any and all\n   other commercial damages or losses, even if such party shall have been\n   informed of the possibility of such damages. This limitation of liability\n   shall not apply to liability for death or personal injury resulting from such\n   party’s negligence to the extent applicable law prohibits such limitation.\n   Some jurisdictions do not allow the exclusion or limitation of incidental or\n   consequential damages, so this exclusion and limitation may not apply to You.\n\n8. Litigation\n\n   Any litigation relating to this License may be brought only in the courts of\n   a jurisdiction where the defendant maintains its principal place of business\n   and such litigation shall be governed by laws of that jurisdiction, without\n   reference to its conflict-of-law provisions. Nothing in this Section shall\n   prevent a party’s ability to bring cross-claims or counter-claims.\n\n9. Miscellaneous\n\n   This License represents the complete agreement concerning the subject matter\n   hereof. If any provision of this License is held to be unenforceable, such\n   provision shall be reformed only to the extent necessary to make it\n   enforceable. Any law or regulation which provides that the language of a\n   contract shall be construed against the drafter shall not be used to construe\n   this License against a Contributor.\n\n\n10. Versions of the License\n\n10.1. New Versions\n\n      Mozilla Foundation is the license steward. Except as provided in Section\n      10.3, no one other than the license steward has the right to modify or\n      publish new versions of this License. Each version will be given a\n      distinguishing version number.\n\n10.2. Effect of New Versions\n\n      You may distribute the Covered Software under the terms of the version of\n      the License under which You originally received the Covered Software, or\n      under the terms of any subsequent version published by the license\n      steward.\n\n10.3. Modified Versions\n\n      If you create software not governed by this License, and you want to\n      create a new license for such software, you may create and use a modified\n      version of this License if you rename the license and remove any\n      references to the name of the license steward (except to note that such\n      modified license differs from this License).\n\n10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses\n      If You choose to distribute Source Code Form that is Incompatible With\n      Secondary Licenses under the terms of this version of the License, the\n      notice described in Exhibit B of this License must be attached.\n\nExhibit A - Source Code Form License Notice\n\n      This Source Code Form is subject to the\n      terms of the Mozilla Public License, v.\n      2.0. If a copy of the MPL was not\n      distributed with this file, You can\n      obtain one at\n      http://mozilla.org/MPL/2.0/.\n\nIf it is not possible or desirable to put the notice in a particular file, then\nYou may include the notice in a location (such as a LICENSE file in a relevant\ndirectory) where a recipient would be likely to look for such a notice.\n\nYou may add additional accurate notices of copyright ownership.\n\nExhibit B - “Incompatible With Secondary Licenses” Notice\n\n      This Source Code Form is “Incompatible\n      With Secondary Licenses”, as defined by\n      the Mozilla Public License, v. 2.0.\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-multierror/Makefile",
    "content": "TEST?=./...\n\ndefault: test\n\n# test runs the test suite and vets the code.\ntest: generate\n\t@echo \"==> Running tests...\"\n\t@go list $(TEST) \\\n\t\t| grep -v \"/vendor/\" \\\n\t\t| xargs -n1 go test -timeout=60s -parallel=10 ${TESTARGS}\n\n# testrace runs the race checker\ntestrace: generate\n\t@echo \"==> Running tests (race)...\"\n\t@go list $(TEST) \\\n\t\t| grep -v \"/vendor/\" \\\n\t\t| xargs -n1 go test -timeout=60s -race ${TESTARGS}\n\n# updatedeps installs all the dependencies needed to run and build.\nupdatedeps:\n\t@sh -c \"'${CURDIR}/scripts/deps.sh' '${NAME}'\"\n\n# generate runs `go generate` to build the dynamically generated source files.\ngenerate:\n\t@echo \"==> Generating...\"\n\t@find . -type f -name '.DS_Store' -delete\n\t@go list ./... \\\n\t\t| grep -v \"/vendor/\" \\\n\t\t| xargs -n1 go generate\n\n.PHONY: default test testrace updatedeps generate\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-multierror/README.md",
    "content": "# go-multierror\n\n[![Build Status](http://img.shields.io/travis/hashicorp/go-multierror.svg?style=flat-square)][travis]\n[![Go Documentation](http://img.shields.io/badge/go-documentation-blue.svg?style=flat-square)][godocs]\n\n[travis]: https://travis-ci.org/hashicorp/go-multierror\n[godocs]: https://godoc.org/github.com/hashicorp/go-multierror\n\n`go-multierror` is a package for Go that provides a mechanism for\nrepresenting a list of `error` values as a single `error`.\n\nThis allows a function in Go to return an `error` that might actually\nbe a list of errors. If the caller knows this, they can unwrap the\nlist and access the errors. If the caller doesn't know, the error\nformats to a nice human-readable format.\n\n`go-multierror` implements the\n[errwrap](https://github.com/hashicorp/errwrap) interface so that it can\nbe used with that library, as well.\n\n## Installation and Docs\n\nInstall using `go get github.com/hashicorp/go-multierror`.\n\nFull documentation is available at\nhttp://godoc.org/github.com/hashicorp/go-multierror\n\n## Usage\n\ngo-multierror is easy to use and purposely built to be unobtrusive in\nexisting Go applications/libraries that may not be aware of it.\n\n**Building a list of errors**\n\nThe `Append` function is used to create a list of errors. This function\nbehaves a lot like the Go built-in `append` function: it doesn't matter\nif the first argument is nil, a `multierror.Error`, or any other `error`,\nthe function behaves as you would expect.\n\n```go\nvar result error\n\nif err := step1(); err != nil {\n\tresult = multierror.Append(result, err)\n}\nif err := step2(); err != nil {\n\tresult = multierror.Append(result, err)\n}\n\nreturn result\n```\n\n**Customizing the formatting of the errors**\n\nBy specifying a custom `ErrorFormat`, you can customize the format\nof the `Error() string` function:\n\n```go\nvar result *multierror.Error\n\n// ... accumulate errors here, maybe using Append\n\nif result != nil {\n\tresult.ErrorFormat = func([]error) string {\n\t\treturn \"errors!\"\n\t}\n}\n```\n\n**Accessing the list of errors**\n\n`multierror.Error` implements `error` so if the caller doesn't know about\nmultierror, it will work just fine. But if you're aware a multierror might\nbe returned, you can use type switches to access the list of errors:\n\n```go\nif err := something(); err != nil {\n\tif merr, ok := err.(*multierror.Error); ok {\n\t\t// Use merr.Errors\n\t}\n}\n```\n\n**Returning a multierror only if there are errors**\n\nIf you build a `multierror.Error`, you can use the `ErrorOrNil` function\nto return an `error` implementation only if there are errors to return:\n\n```go\nvar result *multierror.Error\n\n// ... accumulate errors here\n\n// Return the `error` only if errors were added to the multierror, otherwise\n// return nil since there are no errors.\nreturn result.ErrorOrNil()\n```\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-multierror/append.go",
    "content": "package multierror\n\n// Append is a helper function that will append more errors\n// onto an Error in order to create a larger multi-error.\n//\n// If err is not a multierror.Error, then it will be turned into\n// one. If any of the errs are multierr.Error, they will be flattened\n// one level into err.\nfunc Append(err error, errs ...error) *Error {\n\tswitch err := err.(type) {\n\tcase *Error:\n\t\t// Typed nils can reach here, so initialize if we are nil\n\t\tif err == nil {\n\t\t\terr = new(Error)\n\t\t}\n\n\t\t// Go through each error and flatten\n\t\tfor _, e := range errs {\n\t\t\tswitch e := e.(type) {\n\t\t\tcase *Error:\n\t\t\t\tif e != nil {\n\t\t\t\t\terr.Errors = append(err.Errors, e.Errors...)\n\t\t\t\t}\n\t\t\tdefault:\n\t\t\t\tif e != nil {\n\t\t\t\t\terr.Errors = append(err.Errors, e)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn err\n\tdefault:\n\t\tnewErrs := make([]error, 0, len(errs)+1)\n\t\tif err != nil {\n\t\t\tnewErrs = append(newErrs, err)\n\t\t}\n\t\tnewErrs = append(newErrs, errs...)\n\n\t\treturn Append(&Error{}, newErrs...)\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-multierror/flatten.go",
    "content": "package multierror\n\n// Flatten flattens the given error, merging any *Errors together into\n// a single *Error.\nfunc Flatten(err error) error {\n\t// If it isn't an *Error, just return the error as-is\n\tif _, ok := err.(*Error); !ok {\n\t\treturn err\n\t}\n\n\t// Otherwise, make the result and flatten away!\n\tflatErr := new(Error)\n\tflatten(err, flatErr)\n\treturn flatErr\n}\n\nfunc flatten(err error, flatErr *Error) {\n\tswitch err := err.(type) {\n\tcase *Error:\n\t\tfor _, e := range err.Errors {\n\t\t\tflatten(e, flatErr)\n\t\t}\n\tdefault:\n\t\tflatErr.Errors = append(flatErr.Errors, err)\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-multierror/format.go",
    "content": "package multierror\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n)\n\n// ErrorFormatFunc is a function callback that is called by Error to\n// turn the list of errors into a string.\ntype ErrorFormatFunc func([]error) string\n\n// ListFormatFunc is a basic formatter that outputs the number of errors\n// that occurred along with a bullet point list of the errors.\nfunc ListFormatFunc(es []error) string {\n\tif len(es) == 1 {\n\t\treturn fmt.Sprintf(\"1 error occurred:\\n\\t* %s\\n\\n\", es[0])\n\t}\n\n\tpoints := make([]string, len(es))\n\tfor i, err := range es {\n\t\tpoints[i] = fmt.Sprintf(\"* %s\", err)\n\t}\n\n\treturn fmt.Sprintf(\n\t\t\"%d errors occurred:\\n\\t%s\\n\\n\",\n\t\tlen(es), strings.Join(points, \"\\n\\t\"))\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-multierror/go.mod",
    "content": "module github.com/hashicorp/go-multierror\n\nrequire github.com/hashicorp/errwrap v1.0.0\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-multierror/go.sum",
    "content": "github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce h1:prjrVgOk2Yg6w+PflHoszQNLTUh4kaByUcEWM/9uin4=\ngithub.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=\ngithub.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA=\ngithub.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-multierror/multierror.go",
    "content": "package multierror\n\nimport (\n\t\"fmt\"\n)\n\n// Error is an error type to track multiple errors. This is used to\n// accumulate errors in cases and return them as a single \"error\".\ntype Error struct {\n\tErrors      []error\n\tErrorFormat ErrorFormatFunc\n}\n\nfunc (e *Error) Error() string {\n\tfn := e.ErrorFormat\n\tif fn == nil {\n\t\tfn = ListFormatFunc\n\t}\n\n\treturn fn(e.Errors)\n}\n\n// ErrorOrNil returns an error interface if this Error represents\n// a list of errors, or returns nil if the list of errors is empty. This\n// function is useful at the end of accumulation to make sure that the value\n// returned represents the existence of errors.\nfunc (e *Error) ErrorOrNil() error {\n\tif e == nil {\n\t\treturn nil\n\t}\n\tif len(e.Errors) == 0 {\n\t\treturn nil\n\t}\n\n\treturn e\n}\n\nfunc (e *Error) GoString() string {\n\treturn fmt.Sprintf(\"*%#v\", *e)\n}\n\n// WrappedErrors returns the list of errors that this Error is wrapping.\n// It is an implementation of the errwrap.Wrapper interface so that\n// multierror.Error can be used with that library.\n//\n// This method is not safe to be called concurrently and is no different\n// than accessing the Errors field directly. It is implemented only to\n// satisfy the errwrap.Wrapper interface.\nfunc (e *Error) WrappedErrors() []error {\n\treturn e.Errors\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-multierror/prefix.go",
    "content": "package multierror\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/hashicorp/errwrap\"\n)\n\n// Prefix is a helper function that will prefix some text\n// to the given error. If the error is a multierror.Error, then\n// it will be prefixed to each wrapped error.\n//\n// This is useful to use when appending multiple multierrors\n// together in order to give better scoping.\nfunc Prefix(err error, prefix string) error {\n\tif err == nil {\n\t\treturn nil\n\t}\n\n\tformat := fmt.Sprintf(\"%s {{err}}\", prefix)\n\tswitch err := err.(type) {\n\tcase *Error:\n\t\t// Typed nils can reach here, so initialize if we are nil\n\t\tif err == nil {\n\t\t\terr = new(Error)\n\t\t}\n\n\t\t// Wrap each of the errors\n\t\tfor i, e := range err.Errors {\n\t\t\terr.Errors[i] = errwrap.Wrapf(format, e)\n\t\t}\n\n\t\treturn err\n\tdefault:\n\t\treturn errwrap.Wrapf(format, err)\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/go-multierror/sort.go",
    "content": "package multierror\n\n// Len implements sort.Interface function for length\nfunc (err Error) Len() int {\n\treturn len(err.Errors)\n}\n\n// Swap implements sort.Interface function for swapping elements\nfunc (err Error) Swap(i, j int) {\n\terr.Errors[i], err.Errors[j] = err.Errors[j], err.Errors[i]\n}\n\n// Less implements sort.Interface function for determining order\nfunc (err Error) Less(i, j int) bool {\n\treturn err.Errors[i].Error() < err.Errors[j].Error()\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/golang-lru/LICENSE",
    "content": "Mozilla Public License, version 2.0\n\n1. Definitions\n\n1.1. \"Contributor\"\n\n     means each individual or legal entity that creates, contributes to the\n     creation of, or owns Covered Software.\n\n1.2. \"Contributor Version\"\n\n     means the combination of the Contributions of others (if any) used by a\n     Contributor and that particular Contributor's Contribution.\n\n1.3. \"Contribution\"\n\n     means Covered Software of a particular Contributor.\n\n1.4. \"Covered Software\"\n\n     means Source Code Form to which the initial Contributor has attached the\n     notice in Exhibit A, the Executable Form of such Source Code Form, and\n     Modifications of such Source Code Form, in each case including portions\n     thereof.\n\n1.5. \"Incompatible With Secondary Licenses\"\n     means\n\n     a. that the initial Contributor has attached the notice described in\n        Exhibit B to the Covered Software; or\n\n     b. that the Covered Software was made available under the terms of\n        version 1.1 or earlier of the License, but not also under the terms of\n        a Secondary License.\n\n1.6. \"Executable Form\"\n\n     means any form of the work other than Source Code Form.\n\n1.7. \"Larger Work\"\n\n     means a work that combines Covered Software with other material, in a\n     separate file or files, that is not Covered Software.\n\n1.8. \"License\"\n\n     means this document.\n\n1.9. \"Licensable\"\n\n     means having the right to grant, to the maximum extent possible, whether\n     at the time of the initial grant or subsequently, any and all of the\n     rights conveyed by this License.\n\n1.10. \"Modifications\"\n\n     means any of the following:\n\n     a. any file in Source Code Form that results from an addition to,\n        deletion from, or modification of the contents of Covered Software; or\n\n     b. any new file in Source Code Form that contains any Covered Software.\n\n1.11. \"Patent Claims\" of a Contributor\n\n      means any patent claim(s), including without limitation, method,\n      process, and apparatus claims, in any patent Licensable by such\n      Contributor that would be infringed, but for the grant of the License,\n      by the making, using, selling, offering for sale, having made, import,\n      or transfer of either its Contributions or its Contributor Version.\n\n1.12. \"Secondary License\"\n\n      means either the GNU General Public License, Version 2.0, the GNU Lesser\n      General Public License, Version 2.1, the GNU Affero General Public\n      License, Version 3.0, or any later versions of those licenses.\n\n1.13. \"Source Code Form\"\n\n      means the form of the work preferred for making modifications.\n\n1.14. \"You\" (or \"Your\")\n\n      means an individual or a legal entity exercising rights under this\n      License. For legal entities, \"You\" includes any entity that controls, is\n      controlled by, or is under common control with You. For purposes of this\n      definition, \"control\" means (a) the power, direct or indirect, to cause\n      the direction or management of such entity, whether by contract or\n      otherwise, or (b) ownership of more than fifty percent (50%) of the\n      outstanding shares or beneficial ownership of such entity.\n\n\n2. License Grants and Conditions\n\n2.1. Grants\n\n     Each Contributor hereby grants You a world-wide, royalty-free,\n     non-exclusive license:\n\n     a. under intellectual property rights (other than patent or trademark)\n        Licensable by such Contributor to use, reproduce, make available,\n        modify, display, perform, distribute, and otherwise exploit its\n        Contributions, either on an unmodified basis, with Modifications, or\n        as part of a Larger Work; and\n\n     b. under Patent Claims of such Contributor to make, use, sell, offer for\n        sale, have made, import, and otherwise transfer either its\n        Contributions or its Contributor Version.\n\n2.2. Effective Date\n\n     The licenses granted in Section 2.1 with respect to any Contribution\n     become effective for each Contribution on the date the Contributor first\n     distributes such Contribution.\n\n2.3. Limitations on Grant Scope\n\n     The licenses granted in this Section 2 are the only rights granted under\n     this License. No additional rights or licenses will be implied from the\n     distribution or licensing of Covered Software under this License.\n     Notwithstanding Section 2.1(b) above, no patent license is granted by a\n     Contributor:\n\n     a. for any code that a Contributor has removed from Covered Software; or\n\n     b. for infringements caused by: (i) Your and any other third party's\n        modifications of Covered Software, or (ii) the combination of its\n        Contributions with other software (except as part of its Contributor\n        Version); or\n\n     c. under Patent Claims infringed by Covered Software in the absence of\n        its Contributions.\n\n     This License does not grant any rights in the trademarks, service marks,\n     or logos of any Contributor (except as may be necessary to comply with\n     the notice requirements in Section 3.4).\n\n2.4. Subsequent Licenses\n\n     No Contributor makes additional grants as a result of Your choice to\n     distribute the Covered Software under a subsequent version of this\n     License (see Section 10.2) or under the terms of a Secondary License (if\n     permitted under the terms of Section 3.3).\n\n2.5. Representation\n\n     Each Contributor represents that the Contributor believes its\n     Contributions are its original creation(s) or it has sufficient rights to\n     grant the rights to its Contributions conveyed by this License.\n\n2.6. Fair Use\n\n     This License is not intended to limit any rights You have under\n     applicable copyright doctrines of fair use, fair dealing, or other\n     equivalents.\n\n2.7. Conditions\n\n     Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in\n     Section 2.1.\n\n\n3. Responsibilities\n\n3.1. Distribution of Source Form\n\n     All distribution of Covered Software in Source Code Form, including any\n     Modifications that You create or to which You contribute, must be under\n     the terms of this License. You must inform recipients that the Source\n     Code Form of the Covered Software is governed by the terms of this\n     License, and how they can obtain a copy of this License. You may not\n     attempt to alter or restrict the recipients' rights in the Source Code\n     Form.\n\n3.2. Distribution of Executable Form\n\n     If You distribute Covered Software in Executable Form then:\n\n     a. such Covered Software must also be made available in Source Code Form,\n        as described in Section 3.1, and You must inform recipients of the\n        Executable Form how they can obtain a copy of such Source Code Form by\n        reasonable means in a timely manner, at a charge no more than the cost\n        of distribution to the recipient; and\n\n     b. You may distribute such Executable Form under the terms of this\n        License, or sublicense it under different terms, provided that the\n        license for the Executable Form does not attempt to limit or alter the\n        recipients' rights in the Source Code Form under this License.\n\n3.3. Distribution of a Larger Work\n\n     You may create and distribute a Larger Work under terms of Your choice,\n     provided that You also comply with the requirements of this License for\n     the Covered Software. If the Larger Work is a combination of Covered\n     Software with a work governed by one or more Secondary Licenses, and the\n     Covered Software is not Incompatible With Secondary Licenses, this\n     License permits You to additionally distribute such Covered Software\n     under the terms of such Secondary License(s), so that the recipient of\n     the Larger Work may, at their option, further distribute the Covered\n     Software under the terms of either this License or such Secondary\n     License(s).\n\n3.4. Notices\n\n     You may not remove or alter the substance of any license notices\n     (including copyright notices, patent notices, disclaimers of warranty, or\n     limitations of liability) contained within the Source Code Form of the\n     Covered Software, except that You may alter any license notices to the\n     extent required to remedy known factual inaccuracies.\n\n3.5. Application of Additional Terms\n\n     You may choose to offer, and to charge a fee for, warranty, support,\n     indemnity or liability obligations to one or more recipients of Covered\n     Software. However, You may do so only on Your own behalf, and not on\n     behalf of any Contributor. You must make it absolutely clear that any\n     such warranty, support, indemnity, or liability obligation is offered by\n     You alone, and You hereby agree to indemnify every Contributor for any\n     liability incurred by such Contributor as a result of warranty, support,\n     indemnity or liability terms You offer. You may include additional\n     disclaimers of warranty and limitations of liability specific to any\n     jurisdiction.\n\n4. Inability to Comply Due to Statute or Regulation\n\n   If it is impossible for You to comply with any of the terms of this License\n   with respect to some or all of the Covered Software due to statute,\n   judicial order, or regulation then You must: (a) comply with the terms of\n   this License to the maximum extent possible; and (b) describe the\n   limitations and the code they affect. Such description must be placed in a\n   text file included with all distributions of the Covered Software under\n   this License. Except to the extent prohibited by statute or regulation,\n   such description must be sufficiently detailed for a recipient of ordinary\n   skill to be able to understand it.\n\n5. Termination\n\n5.1. The rights granted under this License will terminate automatically if You\n     fail to comply with any of its terms. However, if You become compliant,\n     then the rights granted under this License from a particular Contributor\n     are reinstated (a) provisionally, unless and until such Contributor\n     explicitly and finally terminates Your grants, and (b) on an ongoing\n     basis, if such Contributor fails to notify You of the non-compliance by\n     some reasonable means prior to 60 days after You have come back into\n     compliance. Moreover, Your grants from a particular Contributor are\n     reinstated on an ongoing basis if such Contributor notifies You of the\n     non-compliance by some reasonable means, this is the first time You have\n     received notice of non-compliance with this License from such\n     Contributor, and You become compliant prior to 30 days after Your receipt\n     of the notice.\n\n5.2. If You initiate litigation against any entity by asserting a patent\n     infringement claim (excluding declaratory judgment actions,\n     counter-claims, and cross-claims) alleging that a Contributor Version\n     directly or indirectly infringes any patent, then the rights granted to\n     You by any and all Contributors for the Covered Software under Section\n     2.1 of this License shall terminate.\n\n5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user\n     license agreements (excluding distributors and resellers) which have been\n     validly granted by You or Your distributors under this License prior to\n     termination shall survive termination.\n\n6. Disclaimer of Warranty\n\n   Covered Software is provided under this License on an \"as is\" basis,\n   without warranty of any kind, either expressed, implied, or statutory,\n   including, without limitation, warranties that the Covered Software is free\n   of defects, merchantable, fit for a particular purpose or non-infringing.\n   The entire risk as to the quality and performance of the Covered Software\n   is with You. Should any Covered Software prove defective in any respect,\n   You (not any Contributor) assume the cost of any necessary servicing,\n   repair, or correction. This disclaimer of warranty constitutes an essential\n   part of this License. No use of  any Covered Software is authorized under\n   this License except under this disclaimer.\n\n7. Limitation of Liability\n\n   Under no circumstances and under no legal theory, whether tort (including\n   negligence), contract, or otherwise, shall any Contributor, or anyone who\n   distributes Covered Software as permitted above, be liable to You for any\n   direct, indirect, special, incidental, or consequential damages of any\n   character including, without limitation, damages for lost profits, loss of\n   goodwill, work stoppage, computer failure or malfunction, or any and all\n   other commercial damages or losses, even if such party shall have been\n   informed of the possibility of such damages. This limitation of liability\n   shall not apply to liability for death or personal injury resulting from\n   such party's negligence to the extent applicable law prohibits such\n   limitation. Some jurisdictions do not allow the exclusion or limitation of\n   incidental or consequential damages, so this exclusion and limitation may\n   not apply to You.\n\n8. Litigation\n\n   Any litigation relating to this License may be brought only in the courts\n   of a jurisdiction where the defendant maintains its principal place of\n   business and such litigation shall be governed by laws of that\n   jurisdiction, without reference to its conflict-of-law provisions. Nothing\n   in this Section shall prevent a party's ability to bring cross-claims or\n   counter-claims.\n\n9. Miscellaneous\n\n   This License represents the complete agreement concerning the subject\n   matter hereof. If any provision of this License is held to be\n   unenforceable, such provision shall be reformed only to the extent\n   necessary to make it enforceable. Any law or regulation which provides that\n   the language of a contract shall be construed against the drafter shall not\n   be used to construe this License against a Contributor.\n\n\n10. Versions of the License\n\n10.1. New Versions\n\n      Mozilla Foundation is the license steward. Except as provided in Section\n      10.3, no one other than the license steward has the right to modify or\n      publish new versions of this License. Each version will be given a\n      distinguishing version number.\n\n10.2. Effect of New Versions\n\n      You may distribute the Covered Software under the terms of the version\n      of the License under which You originally received the Covered Software,\n      or under the terms of any subsequent version published by the license\n      steward.\n\n10.3. Modified Versions\n\n      If you create software not governed by this License, and you want to\n      create a new license for such software, you may create and use a\n      modified version of this License if you rename the license and remove\n      any references to the name of the license steward (except to note that\n      such modified license differs from this License).\n\n10.4. Distributing Source Code Form that is Incompatible With Secondary\n      Licenses If You choose to distribute Source Code Form that is\n      Incompatible With Secondary Licenses under the terms of this version of\n      the License, the notice described in Exhibit B of this License must be\n      attached.\n\nExhibit A - Source Code Form License Notice\n\n      This Source Code Form is subject to the\n      terms of the Mozilla Public License, v.\n      2.0. If a copy of the MPL was not\n      distributed with this file, You can\n      obtain one at\n      http://mozilla.org/MPL/2.0/.\n\nIf it is not possible or desirable to put the notice in a particular file,\nthen You may include the notice in a location (such as a LICENSE file in a\nrelevant directory) where a recipient would be likely to look for such a\nnotice.\n\nYou may add additional accurate notices of copyright ownership.\n\nExhibit B - \"Incompatible With Secondary Licenses\" Notice\n\n      This Source Code Form is \"Incompatible\n      With Secondary Licenses\", as defined by\n      the Mozilla Public License, v. 2.0.\n"
  },
  {
    "path": "vendor/github.com/hashicorp/golang-lru/simplelru/lru.go",
    "content": "package simplelru\n\nimport (\n\t\"container/list\"\n\t\"errors\"\n)\n\n// EvictCallback is used to get a callback when a cache entry is evicted\ntype EvictCallback func(key interface{}, value interface{})\n\n// LRU implements a non-thread safe fixed size LRU cache\ntype LRU struct {\n\tsize      int\n\tevictList *list.List\n\titems     map[interface{}]*list.Element\n\tonEvict   EvictCallback\n}\n\n// entry is used to hold a value in the evictList\ntype entry struct {\n\tkey   interface{}\n\tvalue interface{}\n}\n\n// NewLRU constructs an LRU of the given size\nfunc NewLRU(size int, onEvict EvictCallback) (*LRU, error) {\n\tif size <= 0 {\n\t\treturn nil, errors.New(\"Must provide a positive size\")\n\t}\n\tc := &LRU{\n\t\tsize:      size,\n\t\tevictList: list.New(),\n\t\titems:     make(map[interface{}]*list.Element),\n\t\tonEvict:   onEvict,\n\t}\n\treturn c, nil\n}\n\n// Purge is used to completely clear the cache.\nfunc (c *LRU) Purge() {\n\tfor k, v := range c.items {\n\t\tif c.onEvict != nil {\n\t\t\tc.onEvict(k, v.Value.(*entry).value)\n\t\t}\n\t\tdelete(c.items, k)\n\t}\n\tc.evictList.Init()\n}\n\n// Add adds a value to the cache.  Returns true if an eviction occurred.\nfunc (c *LRU) Add(key, value interface{}) (evicted bool) {\n\t// Check for existing item\n\tif ent, ok := c.items[key]; ok {\n\t\tc.evictList.MoveToFront(ent)\n\t\tent.Value.(*entry).value = value\n\t\treturn false\n\t}\n\n\t// Add new item\n\tent := &entry{key, value}\n\tentry := c.evictList.PushFront(ent)\n\tc.items[key] = entry\n\n\tevict := c.evictList.Len() > c.size\n\t// Verify size not exceeded\n\tif evict {\n\t\tc.removeOldest()\n\t}\n\treturn evict\n}\n\n// Get looks up a key's value from the cache.\nfunc (c *LRU) Get(key interface{}) (value interface{}, ok bool) {\n\tif ent, ok := c.items[key]; ok {\n\t\tc.evictList.MoveToFront(ent)\n\t\treturn ent.Value.(*entry).value, true\n\t}\n\treturn\n}\n\n// Contains checks if a key is in the cache, without updating the recent-ness\n// or deleting it for being stale.\nfunc (c *LRU) Contains(key interface{}) (ok bool) {\n\t_, ok = c.items[key]\n\treturn ok\n}\n\n// Peek returns the key value (or undefined if not found) without updating\n// the \"recently used\"-ness of the key.\nfunc (c *LRU) Peek(key interface{}) (value interface{}, ok bool) {\n\tvar ent *list.Element\n\tif ent, ok = c.items[key]; ok {\n\t\treturn ent.Value.(*entry).value, true\n\t}\n\treturn nil, ok\n}\n\n// Remove removes the provided key from the cache, returning if the\n// key was contained.\nfunc (c *LRU) Remove(key interface{}) (present bool) {\n\tif ent, ok := c.items[key]; ok {\n\t\tc.removeElement(ent)\n\t\treturn true\n\t}\n\treturn false\n}\n\n// RemoveOldest removes the oldest item from the cache.\nfunc (c *LRU) RemoveOldest() (key interface{}, value interface{}, ok bool) {\n\tent := c.evictList.Back()\n\tif ent != nil {\n\t\tc.removeElement(ent)\n\t\tkv := ent.Value.(*entry)\n\t\treturn kv.key, kv.value, true\n\t}\n\treturn nil, nil, false\n}\n\n// GetOldest returns the oldest entry\nfunc (c *LRU) GetOldest() (key interface{}, value interface{}, ok bool) {\n\tent := c.evictList.Back()\n\tif ent != nil {\n\t\tkv := ent.Value.(*entry)\n\t\treturn kv.key, kv.value, true\n\t}\n\treturn nil, nil, false\n}\n\n// Keys returns a slice of the keys in the cache, from oldest to newest.\nfunc (c *LRU) Keys() []interface{} {\n\tkeys := make([]interface{}, len(c.items))\n\ti := 0\n\tfor ent := c.evictList.Back(); ent != nil; ent = ent.Prev() {\n\t\tkeys[i] = ent.Value.(*entry).key\n\t\ti++\n\t}\n\treturn keys\n}\n\n// Len returns the number of items in the cache.\nfunc (c *LRU) Len() int {\n\treturn c.evictList.Len()\n}\n\n// removeOldest removes the oldest item from the cache.\nfunc (c *LRU) removeOldest() {\n\tent := c.evictList.Back()\n\tif ent != nil {\n\t\tc.removeElement(ent)\n\t}\n}\n\n// removeElement is used to remove a given list element from the cache\nfunc (c *LRU) removeElement(e *list.Element) {\n\tc.evictList.Remove(e)\n\tkv := e.Value.(*entry)\n\tdelete(c.items, kv.key)\n\tif c.onEvict != nil {\n\t\tc.onEvict(kv.key, kv.value)\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/golang-lru/simplelru/lru_interface.go",
    "content": "package simplelru\n\n\n// LRUCache is the interface for simple LRU cache.\ntype LRUCache interface {\n  // Adds a value to the cache, returns true if an eviction occurred and\n  // updates the \"recently used\"-ness of the key.\n  Add(key, value interface{}) bool\n\n  // Returns key's value from the cache and\n  // updates the \"recently used\"-ness of the key. #value, isFound\n  Get(key interface{}) (value interface{}, ok bool)\n\n  // Check if a key exsists in cache without updating the recent-ness.\n  Contains(key interface{}) (ok bool)\n\n  // Returns key's value without updating the \"recently used\"-ness of the key.\n  Peek(key interface{}) (value interface{}, ok bool)\n\n  // Removes a key from the cache.\n  Remove(key interface{}) bool\n\n  // Removes the oldest entry from cache.\n  RemoveOldest() (interface{}, interface{}, bool)\n\n  // Returns the oldest entry from the cache. #key, value, isFound\n  GetOldest() (interface{}, interface{}, bool)\n\n  // Returns a slice of the keys in the cache, from oldest to newest.\n  Keys() []interface{}\n\n  // Returns the number of items in the cache.\n  Len() int\n\n  // Clear all cache entries\n  Purge()\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft/.gitignore",
    "content": "# Compiled Object files, Static and Dynamic libs (Shared Objects)\n*.o\n*.a\n*.so\n\n# Folders\n_obj\n_test\n\n# Architecture specific extensions/prefixes\n*.[568vq]\n[568vq].out\n\n*.cgo1.go\n*.cgo2.c\n_cgo_defun.c\n_cgo_gotypes.go\n_cgo_export.*\n\n_testmain.go\n\n*.exe\n*.test\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft/.travis.yml",
    "content": "language: go\n\ngo:\n    - 1.6\n    - tip\n\ninstall: make deps\nscript:\n    - make integ\n\nnotifications:\n    flowdock:\n        secure: fZrcf9rlh2IrQrlch1sHkn3YI7SKvjGnAl/zyV5D6NROe1Bbr6d3QRMuCXWWdhJHzjKmXk5rIzbqJhUc0PNF7YjxGNKSzqWMQ56KcvN1k8DzlqxpqkcA3Jbs6fXCWo2fssRtZ7hj/wOP1f5n6cc7kzHDt9dgaYJ6nO2fqNPJiTc=\n\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft/LICENSE",
    "content": "Mozilla Public License, version 2.0\n\n1. Definitions\n\n1.1. “Contributor”\n\n     means each individual or legal entity that creates, contributes to the\n     creation of, or owns Covered Software.\n\n1.2. “Contributor Version”\n\n     means the combination of the Contributions of others (if any) used by a\n     Contributor and that particular Contributor’s Contribution.\n\n1.3. “Contribution”\n\n     means Covered Software of a particular Contributor.\n\n1.4. “Covered Software”\n\n     means Source Code Form to which the initial Contributor has attached the\n     notice in Exhibit A, the Executable Form of such Source Code Form, and\n     Modifications of such Source Code Form, in each case including portions\n     thereof.\n\n1.5. “Incompatible With Secondary Licenses”\n     means\n\n     a. that the initial Contributor has attached the notice described in\n        Exhibit B to the Covered Software; or\n\n     b. that the Covered Software was made available under the terms of version\n        1.1 or earlier of the License, but not also under the terms of a\n        Secondary License.\n\n1.6. “Executable Form”\n\n     means any form of the work other than Source Code Form.\n\n1.7. “Larger Work”\n\n     means a work that combines Covered Software with other material, in a separate\n     file or files, that is not Covered Software.\n\n1.8. “License”\n\n     means this document.\n\n1.9. “Licensable”\n\n     means having the right to grant, to the maximum extent possible, whether at the\n     time of the initial grant or subsequently, any and all of the rights conveyed by\n     this License.\n\n1.10. “Modifications”\n\n     means any of the following:\n\n     a. any file in Source Code Form that results from an addition to, deletion\n        from, or modification of the contents of Covered Software; or\n\n     b. any new file in Source Code Form that contains any Covered Software.\n\n1.11. “Patent Claims” of a Contributor\n\n      means any patent claim(s), including without limitation, method, process,\n      and apparatus claims, in any patent Licensable by such Contributor that\n      would be infringed, but for the grant of the License, by the making,\n      using, selling, offering for sale, having made, import, or transfer of\n      either its Contributions or its Contributor Version.\n\n1.12. “Secondary License”\n\n      means either the GNU General Public License, Version 2.0, the GNU Lesser\n      General Public License, Version 2.1, the GNU Affero General Public\n      License, Version 3.0, or any later versions of those licenses.\n\n1.13. “Source Code Form”\n\n      means the form of the work preferred for making modifications.\n\n1.14. “You” (or “Your”)\n\n      means an individual or a legal entity exercising rights under this\n      License. For legal entities, “You” includes any entity that controls, is\n      controlled by, or is under common control with You. For purposes of this\n      definition, “control” means (a) the power, direct or indirect, to cause\n      the direction or management of such entity, whether by contract or\n      otherwise, or (b) ownership of more than fifty percent (50%) of the\n      outstanding shares or beneficial ownership of such entity.\n\n\n2. License Grants and Conditions\n\n2.1. Grants\n\n     Each Contributor hereby grants You a world-wide, royalty-free,\n     non-exclusive license:\n\n     a. under intellectual property rights (other than patent or trademark)\n        Licensable by such Contributor to use, reproduce, make available,\n        modify, display, perform, distribute, and otherwise exploit its\n        Contributions, either on an unmodified basis, with Modifications, or as\n        part of a Larger Work; and\n\n     b. under Patent Claims of such Contributor to make, use, sell, offer for\n        sale, have made, import, and otherwise transfer either its Contributions\n        or its Contributor Version.\n\n2.2. Effective Date\n\n     The licenses granted in Section 2.1 with respect to any Contribution become\n     effective for each Contribution on the date the Contributor first distributes\n     such Contribution.\n\n2.3. Limitations on Grant Scope\n\n     The licenses granted in this Section 2 are the only rights granted under this\n     License. No additional rights or licenses will be implied from the distribution\n     or licensing of Covered Software under this License. Notwithstanding Section\n     2.1(b) above, no patent license is granted by a Contributor:\n\n     a. for any code that a Contributor has removed from Covered Software; or\n\n     b. for infringements caused by: (i) Your and any other third party’s\n        modifications of Covered Software, or (ii) the combination of its\n        Contributions with other software (except as part of its Contributor\n        Version); or\n\n     c. under Patent Claims infringed by Covered Software in the absence of its\n        Contributions.\n\n     This License does not grant any rights in the trademarks, service marks, or\n     logos of any Contributor (except as may be necessary to comply with the\n     notice requirements in Section 3.4).\n\n2.4. Subsequent Licenses\n\n     No Contributor makes additional grants as a result of Your choice to\n     distribute the Covered Software under a subsequent version of this License\n     (see Section 10.2) or under the terms of a Secondary License (if permitted\n     under the terms of Section 3.3).\n\n2.5. Representation\n\n     Each Contributor represents that the Contributor believes its Contributions\n     are its original creation(s) or it has sufficient rights to grant the\n     rights to its Contributions conveyed by this License.\n\n2.6. Fair Use\n\n     This License is not intended to limit any rights You have under applicable\n     copyright doctrines of fair use, fair dealing, or other equivalents.\n\n2.7. Conditions\n\n     Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in\n     Section 2.1.\n\n\n3. Responsibilities\n\n3.1. Distribution of Source Form\n\n     All distribution of Covered Software in Source Code Form, including any\n     Modifications that You create or to which You contribute, must be under the\n     terms of this License. You must inform recipients that the Source Code Form\n     of the Covered Software is governed by the terms of this License, and how\n     they can obtain a copy of this License. You may not attempt to alter or\n     restrict the recipients’ rights in the Source Code Form.\n\n3.2. Distribution of Executable Form\n\n     If You distribute Covered Software in Executable Form then:\n\n     a. such Covered Software must also be made available in Source Code Form,\n        as described in Section 3.1, and You must inform recipients of the\n        Executable Form how they can obtain a copy of such Source Code Form by\n        reasonable means in a timely manner, at a charge no more than the cost\n        of distribution to the recipient; and\n\n     b. You may distribute such Executable Form under the terms of this License,\n        or sublicense it under different terms, provided that the license for\n        the Executable Form does not attempt to limit or alter the recipients’\n        rights in the Source Code Form under this License.\n\n3.3. Distribution of a Larger Work\n\n     You may create and distribute a Larger Work under terms of Your choice,\n     provided that You also comply with the requirements of this License for the\n     Covered Software. If the Larger Work is a combination of Covered Software\n     with a work governed by one or more Secondary Licenses, and the Covered\n     Software is not Incompatible With Secondary Licenses, this License permits\n     You to additionally distribute such Covered Software under the terms of\n     such Secondary License(s), so that the recipient of the Larger Work may, at\n     their option, further distribute the Covered Software under the terms of\n     either this License or such Secondary License(s).\n\n3.4. Notices\n\n     You may not remove or alter the substance of any license notices (including\n     copyright notices, patent notices, disclaimers of warranty, or limitations\n     of liability) contained within the Source Code Form of the Covered\n     Software, except that You may alter any license notices to the extent\n     required to remedy known factual inaccuracies.\n\n3.5. Application of Additional Terms\n\n     You may choose to offer, and to charge a fee for, warranty, support,\n     indemnity or liability obligations to one or more recipients of Covered\n     Software. However, You may do so only on Your own behalf, and not on behalf\n     of any Contributor. You must make it absolutely clear that any such\n     warranty, support, indemnity, or liability obligation is offered by You\n     alone, and You hereby agree to indemnify every Contributor for any\n     liability incurred by such Contributor as a result of warranty, support,\n     indemnity or liability terms You offer. You may include additional\n     disclaimers of warranty and limitations of liability specific to any\n     jurisdiction.\n\n4. Inability to Comply Due to Statute or Regulation\n\n   If it is impossible for You to comply with any of the terms of this License\n   with respect to some or all of the Covered Software due to statute, judicial\n   order, or regulation then You must: (a) comply with the terms of this License\n   to the maximum extent possible; and (b) describe the limitations and the code\n   they affect. Such description must be placed in a text file included with all\n   distributions of the Covered Software under this License. Except to the\n   extent prohibited by statute or regulation, such description must be\n   sufficiently detailed for a recipient of ordinary skill to be able to\n   understand it.\n\n5. Termination\n\n5.1. The rights granted under this License will terminate automatically if You\n     fail to comply with any of its terms. However, if You become compliant,\n     then the rights granted under this License from a particular Contributor\n     are reinstated (a) provisionally, unless and until such Contributor\n     explicitly and finally terminates Your grants, and (b) on an ongoing basis,\n     if such Contributor fails to notify You of the non-compliance by some\n     reasonable means prior to 60 days after You have come back into compliance.\n     Moreover, Your grants from a particular Contributor are reinstated on an\n     ongoing basis if such Contributor notifies You of the non-compliance by\n     some reasonable means, this is the first time You have received notice of\n     non-compliance with this License from such Contributor, and You become\n     compliant prior to 30 days after Your receipt of the notice.\n\n5.2. If You initiate litigation against any entity by asserting a patent\n     infringement claim (excluding declaratory judgment actions, counter-claims,\n     and cross-claims) alleging that a Contributor Version directly or\n     indirectly infringes any patent, then the rights granted to You by any and\n     all Contributors for the Covered Software under Section 2.1 of this License\n     shall terminate.\n\n5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user\n     license agreements (excluding distributors and resellers) which have been\n     validly granted by You or Your distributors under this License prior to\n     termination shall survive termination.\n\n6. Disclaimer of Warranty\n\n   Covered Software is provided under this License on an “as is” basis, without\n   warranty of any kind, either expressed, implied, or statutory, including,\n   without limitation, warranties that the Covered Software is free of defects,\n   merchantable, fit for a particular purpose or non-infringing. The entire\n   risk as to the quality and performance of the Covered Software is with You.\n   Should any Covered Software prove defective in any respect, You (not any\n   Contributor) assume the cost of any necessary servicing, repair, or\n   correction. This disclaimer of warranty constitutes an essential part of this\n   License. No use of  any Covered Software is authorized under this License\n   except under this disclaimer.\n\n7. Limitation of Liability\n\n   Under no circumstances and under no legal theory, whether tort (including\n   negligence), contract, or otherwise, shall any Contributor, or anyone who\n   distributes Covered Software as permitted above, be liable to You for any\n   direct, indirect, special, incidental, or consequential damages of any\n   character including, without limitation, damages for lost profits, loss of\n   goodwill, work stoppage, computer failure or malfunction, or any and all\n   other commercial damages or losses, even if such party shall have been\n   informed of the possibility of such damages. This limitation of liability\n   shall not apply to liability for death or personal injury resulting from such\n   party’s negligence to the extent applicable law prohibits such limitation.\n   Some jurisdictions do not allow the exclusion or limitation of incidental or\n   consequential damages, so this exclusion and limitation may not apply to You.\n\n8. Litigation\n\n   Any litigation relating to this License may be brought only in the courts of\n   a jurisdiction where the defendant maintains its principal place of business\n   and such litigation shall be governed by laws of that jurisdiction, without\n   reference to its conflict-of-law provisions. Nothing in this Section shall\n   prevent a party’s ability to bring cross-claims or counter-claims.\n\n9. Miscellaneous\n\n   This License represents the complete agreement concerning the subject matter\n   hereof. If any provision of this License is held to be unenforceable, such\n   provision shall be reformed only to the extent necessary to make it\n   enforceable. Any law or regulation which provides that the language of a\n   contract shall be construed against the drafter shall not be used to construe\n   this License against a Contributor.\n\n\n10. Versions of the License\n\n10.1. New Versions\n\n      Mozilla Foundation is the license steward. Except as provided in Section\n      10.3, no one other than the license steward has the right to modify or\n      publish new versions of this License. Each version will be given a\n      distinguishing version number.\n\n10.2. Effect of New Versions\n\n      You may distribute the Covered Software under the terms of the version of\n      the License under which You originally received the Covered Software, or\n      under the terms of any subsequent version published by the license\n      steward.\n\n10.3. Modified Versions\n\n      If you create software not governed by this License, and you want to\n      create a new license for such software, you may create and use a modified\n      version of this License if you rename the license and remove any\n      references to the name of the license steward (except to note that such\n      modified license differs from this License).\n\n10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses\n      If You choose to distribute Source Code Form that is Incompatible With\n      Secondary Licenses under the terms of this version of the License, the\n      notice described in Exhibit B of this License must be attached.\n\nExhibit A - Source Code Form License Notice\n\n      This Source Code Form is subject to the\n      terms of the Mozilla Public License, v.\n      2.0. If a copy of the MPL was not\n      distributed with this file, You can\n      obtain one at\n      http://mozilla.org/MPL/2.0/.\n\nIf it is not possible or desirable to put the notice in a particular file, then\nYou may include the notice in a location (such as a LICENSE file in a relevant\ndirectory) where a recipient would be likely to look for such a notice.\n\nYou may add additional accurate notices of copyright ownership.\n\nExhibit B - “Incompatible With Secondary Licenses” Notice\n\n      This Source Code Form is “Incompatible\n      With Secondary Licenses”, as defined by\n      the Mozilla Public License, v. 2.0.\n\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft/Makefile",
    "content": "DEPS = $(go list -f '{{range .TestImports}}{{.}} {{end}}' ./...)\n\ntest:\n\tgo test -timeout=60s .\n\ninteg: test\n\tINTEG_TESTS=yes go test -timeout=25s -run=Integ .\n\nfuzz:\n\tgo test -timeout=300s ./fuzzy\n\t\ndeps:\n\tgo get -d -v ./...\n\techo $(DEPS) | xargs -n1 go get -d\n\ncov:\n\tINTEG_TESTS=yes gocov test github.com/hashicorp/raft | gocov-html > /tmp/coverage.html\n\topen /tmp/coverage.html\n\n.PHONY: test cov integ deps\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft/README.md",
    "content": "raft [![Build Status](https://travis-ci.org/hashicorp/raft.png)](https://travis-ci.org/hashicorp/raft)\n====\n\nraft is a [Go](http://www.golang.org) library that manages a replicated\nlog and can be used with an FSM to manage replicated state machines. It\nis a library for providing [consensus](http://en.wikipedia.org/wiki/Consensus_(computer_science)).\n\nThe use cases for such a library are far-reaching as replicated state\nmachines are a key component of many distributed systems. They enable\nbuilding Consistent, Partition Tolerant (CP) systems, with limited\nfault tolerance as well.\n\n## Building\n\nIf you wish to build raft you'll need Go version 1.2+ installed.\n\nPlease check your installation with:\n\n```\ngo version\n```\n\n## Documentation\n\nFor complete documentation, see the associated [Godoc](http://godoc.org/github.com/hashicorp/raft).\n\nTo prevent complications with cgo, the primary backend `MDBStore` is in a separate repository,\ncalled [raft-mdb](http://github.com/hashicorp/raft-mdb). That is the recommended implementation\nfor the `LogStore` and `StableStore`.\n\nA pure Go backend using [BoltDB](https://github.com/boltdb/bolt) is also available called\n[raft-boltdb](https://github.com/hashicorp/raft-boltdb). It can also be used as a `LogStore`\nand `StableStore`.\n\n## Tagged Releases\n\nAs of September 2017, Hashicorp will start using tags for this library to clearly indicate\nmajor version updates. We recommend you vendor your application's dependency on this library.\n\n* v0.1.0 is the original stable version of the library that was in master and has been maintained\nwith no breaking API changes. This was in use by Consul prior to version 0.7.0.\n\n* v1.0.0 takes the changes that were staged in the library-v2-stage-one branch. This version\nmanages server identities using a UUID, so introduces some breaking API changes. It also versions\nthe Raft protocol, and requires some special steps when interoperating with Raft servers running\nolder versions of the library (see the detailed comment in config.go about version compatibility).\nYou can reference https://github.com/hashicorp/consul/pull/2222 for an idea of what was required\nto port Consul to these new interfaces.\n\n    This version includes some new features as well, including non voting servers, a new address\n    provider abstraction in the transport layer, and more resilient snapshots.\n\n## Protocol\n\nraft is based on [\"Raft: In Search of an Understandable Consensus Algorithm\"](https://ramcloud.stanford.edu/wiki/download/attachments/11370504/raft.pdf)\n\nA high level overview of the Raft protocol is described below, but for details please read the full\n[Raft paper](https://ramcloud.stanford.edu/wiki/download/attachments/11370504/raft.pdf)\nfollowed by the raft source. Any questions about the raft protocol should be sent to the\n[raft-dev mailing list](https://groups.google.com/forum/#!forum/raft-dev).\n\n### Protocol Description\n\nRaft nodes are always in one of three states: follower, candidate or leader. All\nnodes initially start out as a follower. In this state, nodes can accept log entries\nfrom a leader and cast votes. If no entries are received for some time, nodes\nself-promote to the candidate state. In the candidate state nodes request votes from\ntheir peers. If a candidate receives a quorum of votes, then it is promoted to a leader.\nThe leader must accept new log entries and replicate to all the other followers.\nIn addition, if stale reads are not acceptable, all queries must also be performed on\nthe leader.\n\nOnce a cluster has a leader, it is able to accept new log entries. A client can\nrequest that a leader append a new log entry, which is an opaque binary blob to\nRaft. The leader then writes the entry to durable storage and attempts to replicate\nto a quorum of followers. Once the log entry is considered *committed*, it can be\n*applied* to a finite state machine. The finite state machine is application specific,\nand is implemented using an interface.\n\nAn obvious question relates to the unbounded nature of a replicated log. Raft provides\na mechanism by which the current state is snapshotted, and the log is compacted. Because\nof the FSM abstraction, restoring the state of the FSM must result in the same state\nas a replay of old logs. This allows Raft to capture the FSM state at a point in time,\nand then remove all the logs that were used to reach that state. This is performed automatically\nwithout user intervention, and prevents unbounded disk usage as well as minimizing\ntime spent replaying logs.\n\nLastly, there is the issue of updating the peer set when new servers are joining\nor existing servers are leaving. As long as a quorum of nodes is available, this\nis not an issue as Raft provides mechanisms to dynamically update the peer set.\nIf a quorum of nodes is unavailable, then this becomes a very challenging issue.\nFor example, suppose there are only 2 peers, A and B. The quorum size is also\n2, meaning both nodes must agree to commit a log entry. If either A or B fails,\nit is now impossible to reach quorum. This means the cluster is unable to add,\nor remove a node, or commit any additional log entries. This results in *unavailability*.\nAt this point, manual intervention would be required to remove either A or B,\nand to restart the remaining node in bootstrap mode.\n\nA Raft cluster of 3 nodes can tolerate a single node failure, while a cluster\nof 5 can tolerate 2 node failures. The recommended configuration is to either\nrun 3 or 5 raft servers. This maximizes availability without\ngreatly sacrificing performance.\n\nIn terms of performance, Raft is comparable to Paxos. Assuming stable leadership,\ncommitting a log entry requires a single round trip to half of the cluster.\nThus performance is bound by disk I/O and network latency.\n\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft/api.go",
    "content": "package raft\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"log\"\n\t\"os\"\n\t\"strconv\"\n\t\"sync\"\n\t\"time\"\n\n\t\"github.com/armon/go-metrics\"\n)\n\nvar (\n\t// ErrLeader is returned when an operation can't be completed on a\n\t// leader node.\n\tErrLeader = errors.New(\"node is the leader\")\n\n\t// ErrNotLeader is returned when an operation can't be completed on a\n\t// follower or candidate node.\n\tErrNotLeader = errors.New(\"node is not the leader\")\n\n\t// ErrLeadershipLost is returned when a leader fails to commit a log entry\n\t// because it's been deposed in the process.\n\tErrLeadershipLost = errors.New(\"leadership lost while committing log\")\n\n\t// ErrAbortedByRestore is returned when a leader fails to commit a log\n\t// entry because it's been superseded by a user snapshot restore.\n\tErrAbortedByRestore = errors.New(\"snapshot restored while committing log\")\n\n\t// ErrRaftShutdown is returned when operations are requested against an\n\t// inactive Raft.\n\tErrRaftShutdown = errors.New(\"raft is already shutdown\")\n\n\t// ErrEnqueueTimeout is returned when a command fails due to a timeout.\n\tErrEnqueueTimeout = errors.New(\"timed out enqueuing operation\")\n\n\t// ErrNothingNewToSnapshot is returned when trying to create a snapshot\n\t// but there's nothing new commited to the FSM since we started.\n\tErrNothingNewToSnapshot = errors.New(\"nothing new to snapshot\")\n\n\t// ErrUnsupportedProtocol is returned when an operation is attempted\n\t// that's not supported by the current protocol version.\n\tErrUnsupportedProtocol = errors.New(\"operation not supported with current protocol version\")\n\n\t// ErrCantBootstrap is returned when attempt is made to bootstrap a\n\t// cluster that already has state present.\n\tErrCantBootstrap = errors.New(\"bootstrap only works on new clusters\")\n)\n\n// Raft implements a Raft node.\ntype Raft struct {\n\traftState\n\n\t// protocolVersion is used to inter-operate with Raft servers running\n\t// different versions of the library. See comments in config.go for more\n\t// details.\n\tprotocolVersion ProtocolVersion\n\n\t// applyCh is used to async send logs to the main thread to\n\t// be committed and applied to the FSM.\n\tapplyCh chan *logFuture\n\n\t// Configuration provided at Raft initialization\n\tconf Config\n\n\t// FSM is the client state machine to apply commands to\n\tfsm FSM\n\n\t// fsmMutateCh is used to send state-changing updates to the FSM. This\n\t// receives pointers to commitTuple structures when applying logs or\n\t// pointers to restoreFuture structures when restoring a snapshot. We\n\t// need control over the order of these operations when doing user\n\t// restores so that we finish applying any old log applies before we\n\t// take a user snapshot on the leader, otherwise we might restore the\n\t// snapshot and apply old logs to it that were in the pipe.\n\tfsmMutateCh chan interface{}\n\n\t// fsmSnapshotCh is used to trigger a new snapshot being taken\n\tfsmSnapshotCh chan *reqSnapshotFuture\n\n\t// lastContact is the last time we had contact from the\n\t// leader node. This can be used to gauge staleness.\n\tlastContact     time.Time\n\tlastContactLock sync.RWMutex\n\n\t// Leader is the current cluster leader\n\tleader     ServerAddress\n\tleaderLock sync.RWMutex\n\n\t// leaderCh is used to notify of leadership changes\n\tleaderCh chan bool\n\n\t// leaderState used only while state is leader\n\tleaderState leaderState\n\n\t// Stores our local server ID, used to avoid sending RPCs to ourself\n\tlocalID ServerID\n\n\t// Stores our local addr\n\tlocalAddr ServerAddress\n\n\t// Used for our logging\n\tlogger *log.Logger\n\n\t// LogStore provides durable storage for logs\n\tlogs LogStore\n\n\t// Used to request the leader to make configuration changes.\n\tconfigurationChangeCh chan *configurationChangeFuture\n\n\t// Tracks the latest configuration and latest committed configuration from\n\t// the log/snapshot.\n\tconfigurations configurations\n\n\t// RPC chan comes from the transport layer\n\trpcCh <-chan RPC\n\n\t// Shutdown channel to exit, protected to prevent concurrent exits\n\tshutdown     bool\n\tshutdownCh   chan struct{}\n\tshutdownLock sync.Mutex\n\n\t// snapshots is used to store and retrieve snapshots\n\tsnapshots SnapshotStore\n\n\t// userSnapshotCh is used for user-triggered snapshots\n\tuserSnapshotCh chan *userSnapshotFuture\n\n\t// userRestoreCh is used for user-triggered restores of external\n\t// snapshots\n\tuserRestoreCh chan *userRestoreFuture\n\n\t// stable is a StableStore implementation for durable state\n\t// It provides stable storage for many fields in raftState\n\tstable StableStore\n\n\t// The transport layer we use\n\ttrans Transport\n\n\t// verifyCh is used to async send verify futures to the main thread\n\t// to verify we are still the leader\n\tverifyCh chan *verifyFuture\n\n\t// configurationsCh is used to get the configuration data safely from\n\t// outside of the main thread.\n\tconfigurationsCh chan *configurationsFuture\n\n\t// bootstrapCh is used to attempt an initial bootstrap from outside of\n\t// the main thread.\n\tbootstrapCh chan *bootstrapFuture\n\n\t// List of observers and the mutex that protects them. The observers list\n\t// is indexed by an artificial ID which is used for deregistration.\n\tobserversLock sync.RWMutex\n\tobservers     map[uint64]*Observer\n}\n\n// BootstrapCluster initializes a server's storage with the given cluster\n// configuration. This should only be called at the beginning of time for the\n// cluster, and you absolutely must make sure that you call it with the same\n// configuration on all the Voter servers. There is no need to bootstrap\n// Nonvoter and Staging servers.\n//\n// One sane approach is to boostrap a single server with a configuration\n// listing just itself as a Voter, then invoke AddVoter() on it to add other\n// servers to the cluster.\nfunc BootstrapCluster(conf *Config, logs LogStore, stable StableStore,\n\tsnaps SnapshotStore, trans Transport, configuration Configuration) error {\n\t// Validate the Raft server config.\n\tif err := ValidateConfig(conf); err != nil {\n\t\treturn err\n\t}\n\n\t// Sanity check the Raft peer configuration.\n\tif err := checkConfiguration(configuration); err != nil {\n\t\treturn err\n\t}\n\n\t// Make sure the cluster is in a clean state.\n\thasState, err := HasExistingState(logs, stable, snaps)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"failed to check for existing state: %v\", err)\n\t}\n\tif hasState {\n\t\treturn ErrCantBootstrap\n\t}\n\n\t// Set current term to 1.\n\tif err := stable.SetUint64(keyCurrentTerm, 1); err != nil {\n\t\treturn fmt.Errorf(\"failed to save current term: %v\", err)\n\t}\n\n\t// Append configuration entry to log.\n\tentry := &Log{\n\t\tIndex: 1,\n\t\tTerm:  1,\n\t}\n\tif conf.ProtocolVersion < 3 {\n\t\tentry.Type = LogRemovePeerDeprecated\n\t\tentry.Data = encodePeers(configuration, trans)\n\t} else {\n\t\tentry.Type = LogConfiguration\n\t\tentry.Data = encodeConfiguration(configuration)\n\t}\n\tif err := logs.StoreLog(entry); err != nil {\n\t\treturn fmt.Errorf(\"failed to append configuration entry to log: %v\", err)\n\t}\n\n\treturn nil\n}\n\n// RecoverCluster is used to manually force a new configuration in order to\n// recover from a loss of quorum where the current configuration cannot be\n// restored, such as when several servers die at the same time. This works by\n// reading all the current state for this server, creating a snapshot with the\n// supplied configuration, and then truncating the Raft log. This is the only\n// safe way to force a given configuration without actually altering the log to\n// insert any new entries, which could cause conflicts with other servers with\n// different state.\n//\n// WARNING! This operation implicitly commits all entries in the Raft log, so\n// in general this is an extremely unsafe operation. If you've lost your other\n// servers and are performing a manual recovery, then you've also lost the\n// commit information, so this is likely the best you can do, but you should be\n// aware that calling this can cause Raft log entries that were in the process\n// of being replicated but not yet be committed to be committed.\n//\n// Note the FSM passed here is used for the snapshot operations and will be\n// left in a state that should not be used by the application. Be sure to\n// discard this FSM and any associated state and provide a fresh one when\n// calling NewRaft later.\n//\n// A typical way to recover the cluster is to shut down all servers and then\n// run RecoverCluster on every server using an identical configuration. When\n// the cluster is then restarted, and election should occur and then Raft will\n// resume normal operation. If it's desired to make a particular server the\n// leader, this can be used to inject a new configuration with that server as\n// the sole voter, and then join up other new clean-state peer servers using\n// the usual APIs in order to bring the cluster back into a known state.\nfunc RecoverCluster(conf *Config, fsm FSM, logs LogStore, stable StableStore,\n\tsnaps SnapshotStore, trans Transport, configuration Configuration) error {\n\t// Validate the Raft server config.\n\tif err := ValidateConfig(conf); err != nil {\n\t\treturn err\n\t}\n\n\t// Sanity check the Raft peer configuration.\n\tif err := checkConfiguration(configuration); err != nil {\n\t\treturn err\n\t}\n\n\t// Refuse to recover if there's no existing state. This would be safe to\n\t// do, but it is likely an indication of an operator error where they\n\t// expect data to be there and it's not. By refusing, we force them\n\t// to show intent to start a cluster fresh by explicitly doing a\n\t// bootstrap, rather than quietly fire up a fresh cluster here.\n\thasState, err := HasExistingState(logs, stable, snaps)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"failed to check for existing state: %v\", err)\n\t}\n\tif !hasState {\n\t\treturn fmt.Errorf(\"refused to recover cluster with no initial state, this is probably an operator error\")\n\t}\n\n\t// Attempt to restore any snapshots we find, newest to oldest.\n\tvar snapshotIndex uint64\n\tvar snapshotTerm uint64\n\tsnapshots, err := snaps.List()\n\tif err != nil {\n\t\treturn fmt.Errorf(\"failed to list snapshots: %v\", err)\n\t}\n\tfor _, snapshot := range snapshots {\n\t\t_, source, err := snaps.Open(snapshot.ID)\n\t\tif err != nil {\n\t\t\t// Skip this one and try the next. We will detect if we\n\t\t\t// couldn't open any snapshots.\n\t\t\tcontinue\n\t\t}\n\t\tdefer source.Close()\n\n\t\tif err := fsm.Restore(source); err != nil {\n\t\t\t// Same here, skip and try the next one.\n\t\t\tcontinue\n\t\t}\n\n\t\tsnapshotIndex = snapshot.Index\n\t\tsnapshotTerm = snapshot.Term\n\t\tbreak\n\t}\n\tif len(snapshots) > 0 && (snapshotIndex == 0 || snapshotTerm == 0) {\n\t\treturn fmt.Errorf(\"failed to restore any of the available snapshots\")\n\t}\n\n\t// The snapshot information is the best known end point for the data\n\t// until we play back the Raft log entries.\n\tlastIndex := snapshotIndex\n\tlastTerm := snapshotTerm\n\n\t// Apply any Raft log entries past the snapshot.\n\tlastLogIndex, err := logs.LastIndex()\n\tif err != nil {\n\t\treturn fmt.Errorf(\"failed to find last log: %v\", err)\n\t}\n\tfor index := snapshotIndex + 1; index <= lastLogIndex; index++ {\n\t\tvar entry Log\n\t\tif err := logs.GetLog(index, &entry); err != nil {\n\t\t\treturn fmt.Errorf(\"failed to get log at index %d: %v\", index, err)\n\t\t}\n\t\tif entry.Type == LogCommand {\n\t\t\t_ = fsm.Apply(&entry)\n\t\t}\n\t\tlastIndex = entry.Index\n\t\tlastTerm = entry.Term\n\t}\n\n\t// Create a new snapshot, placing the configuration in as if it was\n\t// committed at index 1.\n\tsnapshot, err := fsm.Snapshot()\n\tif err != nil {\n\t\treturn fmt.Errorf(\"failed to snapshot FSM: %v\", err)\n\t}\n\tversion := getSnapshotVersion(conf.ProtocolVersion)\n\tsink, err := snaps.Create(version, lastIndex, lastTerm, configuration, 1, trans)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"failed to create snapshot: %v\", err)\n\t}\n\tif err := snapshot.Persist(sink); err != nil {\n\t\treturn fmt.Errorf(\"failed to persist snapshot: %v\", err)\n\t}\n\tif err := sink.Close(); err != nil {\n\t\treturn fmt.Errorf(\"failed to finalize snapshot: %v\", err)\n\t}\n\n\t// Compact the log so that we don't get bad interference from any\n\t// configuration change log entries that might be there.\n\tfirstLogIndex, err := logs.FirstIndex()\n\tif err != nil {\n\t\treturn fmt.Errorf(\"failed to get first log index: %v\", err)\n\t}\n\tif err := logs.DeleteRange(firstLogIndex, lastLogIndex); err != nil {\n\t\treturn fmt.Errorf(\"log compaction failed: %v\", err)\n\t}\n\n\treturn nil\n}\n\n// HasExistingState returns true if the server has any existing state (logs,\n// knowledge of a current term, or any snapshots).\nfunc HasExistingState(logs LogStore, stable StableStore, snaps SnapshotStore) (bool, error) {\n\t// Make sure we don't have a current term.\n\tcurrentTerm, err := stable.GetUint64(keyCurrentTerm)\n\tif err == nil {\n\t\tif currentTerm > 0 {\n\t\t\treturn true, nil\n\t\t}\n\t} else {\n\t\tif err.Error() != \"not found\" {\n\t\t\treturn false, fmt.Errorf(\"failed to read current term: %v\", err)\n\t\t}\n\t}\n\n\t// Make sure we have an empty log.\n\tlastIndex, err := logs.LastIndex()\n\tif err != nil {\n\t\treturn false, fmt.Errorf(\"failed to get last log index: %v\", err)\n\t}\n\tif lastIndex > 0 {\n\t\treturn true, nil\n\t}\n\n\t// Make sure we have no snapshots\n\tsnapshots, err := snaps.List()\n\tif err != nil {\n\t\treturn false, fmt.Errorf(\"failed to list snapshots: %v\", err)\n\t}\n\tif len(snapshots) > 0 {\n\t\treturn true, nil\n\t}\n\n\treturn false, nil\n}\n\n// NewRaft is used to construct a new Raft node. It takes a configuration, as well\n// as implementations of various interfaces that are required. If we have any\n// old state, such as snapshots, logs, peers, etc, all those will be restored\n// when creating the Raft node.\nfunc NewRaft(conf *Config, fsm FSM, logs LogStore, stable StableStore, snaps SnapshotStore, trans Transport) (*Raft, error) {\n\t// Validate the configuration.\n\tif err := ValidateConfig(conf); err != nil {\n\t\treturn nil, err\n\t}\n\n\t// Ensure we have a LogOutput.\n\tvar logger *log.Logger\n\tif conf.Logger != nil {\n\t\tlogger = conf.Logger\n\t} else {\n\t\tif conf.LogOutput == nil {\n\t\t\tconf.LogOutput = os.Stderr\n\t\t}\n\t\tlogger = log.New(conf.LogOutput, \"\", log.LstdFlags)\n\t}\n\n\t// Try to restore the current term.\n\tcurrentTerm, err := stable.GetUint64(keyCurrentTerm)\n\tif err != nil && err.Error() != \"not found\" {\n\t\treturn nil, fmt.Errorf(\"failed to load current term: %v\", err)\n\t}\n\n\t// Read the index of the last log entry.\n\tlastIndex, err := logs.LastIndex()\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"failed to find last log: %v\", err)\n\t}\n\n\t// Get the last log entry.\n\tvar lastLog Log\n\tif lastIndex > 0 {\n\t\tif err = logs.GetLog(lastIndex, &lastLog); err != nil {\n\t\t\treturn nil, fmt.Errorf(\"failed to get last log at index %d: %v\", lastIndex, err)\n\t\t}\n\t}\n\n\t// Make sure we have a valid server address and ID.\n\tprotocolVersion := conf.ProtocolVersion\n\tlocalAddr := ServerAddress(trans.LocalAddr())\n\tlocalID := conf.LocalID\n\n\t// TODO (slackpad) - When we deprecate protocol version 2, remove this\n\t// along with the AddPeer() and RemovePeer() APIs.\n\tif protocolVersion < 3 && string(localID) != string(localAddr) {\n\t\treturn nil, fmt.Errorf(\"when running with ProtocolVersion < 3, LocalID must be set to the network address\")\n\t}\n\n\t// Create Raft struct.\n\tr := &Raft{\n\t\tprotocolVersion: protocolVersion,\n\t\tapplyCh:         make(chan *logFuture),\n\t\tconf:            *conf,\n\t\tfsm:             fsm,\n\t\tfsmMutateCh:     make(chan interface{}, 128),\n\t\tfsmSnapshotCh:   make(chan *reqSnapshotFuture),\n\t\tleaderCh:        make(chan bool),\n\t\tlocalID:         localID,\n\t\tlocalAddr:       localAddr,\n\t\tlogger:          logger,\n\t\tlogs:            logs,\n\t\tconfigurationChangeCh: make(chan *configurationChangeFuture),\n\t\tconfigurations:        configurations{},\n\t\trpcCh:                 trans.Consumer(),\n\t\tsnapshots:             snaps,\n\t\tuserSnapshotCh:        make(chan *userSnapshotFuture),\n\t\tuserRestoreCh:         make(chan *userRestoreFuture),\n\t\tshutdownCh:            make(chan struct{}),\n\t\tstable:                stable,\n\t\ttrans:                 trans,\n\t\tverifyCh:              make(chan *verifyFuture, 64),\n\t\tconfigurationsCh:      make(chan *configurationsFuture, 8),\n\t\tbootstrapCh:           make(chan *bootstrapFuture),\n\t\tobservers:             make(map[uint64]*Observer),\n\t}\n\n\t// Initialize as a follower.\n\tr.setState(Follower)\n\n\t// Start as leader if specified. This should only be used\n\t// for testing purposes.\n\tif conf.StartAsLeader {\n\t\tr.setState(Leader)\n\t\tr.setLeader(r.localAddr)\n\t}\n\n\t// Restore the current term and the last log.\n\tr.setCurrentTerm(currentTerm)\n\tr.setLastLog(lastLog.Index, lastLog.Term)\n\n\t// Attempt to restore a snapshot if there are any.\n\tif err := r.restoreSnapshot(); err != nil {\n\t\treturn nil, err\n\t}\n\n\t// Scan through the log for any configuration change entries.\n\tsnapshotIndex, _ := r.getLastSnapshot()\n\tfor index := snapshotIndex + 1; index <= lastLog.Index; index++ {\n\t\tvar entry Log\n\t\tif err := r.logs.GetLog(index, &entry); err != nil {\n\t\t\tr.logger.Printf(\"[ERR] raft: Failed to get log at %d: %v\", index, err)\n\t\t\tpanic(err)\n\t\t}\n\t\tr.processConfigurationLogEntry(&entry)\n\t}\n\n\tr.logger.Printf(\"[INFO] raft: Initial configuration (index=%d): %+v\",\n\t\tr.configurations.latestIndex, r.configurations.latest.Servers)\n\n\t// Setup a heartbeat fast-path to avoid head-of-line\n\t// blocking where possible. It MUST be safe for this\n\t// to be called concurrently with a blocking RPC.\n\ttrans.SetHeartbeatHandler(r.processHeartbeat)\n\n\t// Start the background work.\n\tr.goFunc(r.run)\n\tr.goFunc(r.runFSM)\n\tr.goFunc(r.runSnapshots)\n\treturn r, nil\n}\n\n// restoreSnapshot attempts to restore the latest snapshots, and fails if none\n// of them can be restored. This is called at initialization time, and is\n// completely unsafe to call at any other time.\nfunc (r *Raft) restoreSnapshot() error {\n\tsnapshots, err := r.snapshots.List()\n\tif err != nil {\n\t\tr.logger.Printf(\"[ERR] raft: Failed to list snapshots: %v\", err)\n\t\treturn err\n\t}\n\n\t// Try to load in order of newest to oldest\n\tfor _, snapshot := range snapshots {\n\t\t_, source, err := r.snapshots.Open(snapshot.ID)\n\t\tif err != nil {\n\t\t\tr.logger.Printf(\"[ERR] raft: Failed to open snapshot %v: %v\", snapshot.ID, err)\n\t\t\tcontinue\n\t\t}\n\t\tdefer source.Close()\n\n\t\tif err := r.fsm.Restore(source); err != nil {\n\t\t\tr.logger.Printf(\"[ERR] raft: Failed to restore snapshot %v: %v\", snapshot.ID, err)\n\t\t\tcontinue\n\t\t}\n\n\t\t// Log success\n\t\tr.logger.Printf(\"[INFO] raft: Restored from snapshot %v\", snapshot.ID)\n\n\t\t// Update the lastApplied so we don't replay old logs\n\t\tr.setLastApplied(snapshot.Index)\n\n\t\t// Update the last stable snapshot info\n\t\tr.setLastSnapshot(snapshot.Index, snapshot.Term)\n\n\t\t// Update the configuration\n\t\tif snapshot.Version > 0 {\n\t\t\tr.configurations.committed = snapshot.Configuration\n\t\t\tr.configurations.committedIndex = snapshot.ConfigurationIndex\n\t\t\tr.configurations.latest = snapshot.Configuration\n\t\t\tr.configurations.latestIndex = snapshot.ConfigurationIndex\n\t\t} else {\n\t\t\tconfiguration := decodePeers(snapshot.Peers, r.trans)\n\t\t\tr.configurations.committed = configuration\n\t\t\tr.configurations.committedIndex = snapshot.Index\n\t\t\tr.configurations.latest = configuration\n\t\t\tr.configurations.latestIndex = snapshot.Index\n\t\t}\n\n\t\t// Success!\n\t\treturn nil\n\t}\n\n\t// If we had snapshots and failed to load them, its an error\n\tif len(snapshots) > 0 {\n\t\treturn fmt.Errorf(\"failed to load any existing snapshots\")\n\t}\n\treturn nil\n}\n\n// BootstrapCluster is equivalent to non-member BootstrapCluster but can be\n// called on an un-bootstrapped Raft instance after it has been created. This\n// should only be called at the beginning of time for the cluster, and you\n// absolutely must make sure that you call it with the same configuration on all\n// the Voter servers. There is no need to bootstrap Nonvoter and Staging\n// servers.\nfunc (r *Raft) BootstrapCluster(configuration Configuration) Future {\n\tbootstrapReq := &bootstrapFuture{}\n\tbootstrapReq.init()\n\tbootstrapReq.configuration = configuration\n\tselect {\n\tcase <-r.shutdownCh:\n\t\treturn errorFuture{ErrRaftShutdown}\n\tcase r.bootstrapCh <- bootstrapReq:\n\t\treturn bootstrapReq\n\t}\n}\n\n// Leader is used to return the current leader of the cluster.\n// It may return empty string if there is no current leader\n// or the leader is unknown.\nfunc (r *Raft) Leader() ServerAddress {\n\tr.leaderLock.RLock()\n\tleader := r.leader\n\tr.leaderLock.RUnlock()\n\treturn leader\n}\n\n// Apply is used to apply a command to the FSM in a highly consistent\n// manner. This returns a future that can be used to wait on the application.\n// An optional timeout can be provided to limit the amount of time we wait\n// for the command to be started. This must be run on the leader or it\n// will fail.\nfunc (r *Raft) Apply(cmd []byte, timeout time.Duration) ApplyFuture {\n\tmetrics.IncrCounter([]string{\"raft\", \"apply\"}, 1)\n\tvar timer <-chan time.Time\n\tif timeout > 0 {\n\t\ttimer = time.After(timeout)\n\t}\n\n\t// Create a log future, no index or term yet\n\tlogFuture := &logFuture{\n\t\tlog: Log{\n\t\t\tType: LogCommand,\n\t\t\tData: cmd,\n\t\t},\n\t}\n\tlogFuture.init()\n\n\tselect {\n\tcase <-timer:\n\t\treturn errorFuture{ErrEnqueueTimeout}\n\tcase <-r.shutdownCh:\n\t\treturn errorFuture{ErrRaftShutdown}\n\tcase r.applyCh <- logFuture:\n\t\treturn logFuture\n\t}\n}\n\n// Barrier is used to issue a command that blocks until all preceeding\n// operations have been applied to the FSM. It can be used to ensure the\n// FSM reflects all queued writes. An optional timeout can be provided to\n// limit the amount of time we wait for the command to be started. This\n// must be run on the leader or it will fail.\nfunc (r *Raft) Barrier(timeout time.Duration) Future {\n\tmetrics.IncrCounter([]string{\"raft\", \"barrier\"}, 1)\n\tvar timer <-chan time.Time\n\tif timeout > 0 {\n\t\ttimer = time.After(timeout)\n\t}\n\n\t// Create a log future, no index or term yet\n\tlogFuture := &logFuture{\n\t\tlog: Log{\n\t\t\tType: LogBarrier,\n\t\t},\n\t}\n\tlogFuture.init()\n\n\tselect {\n\tcase <-timer:\n\t\treturn errorFuture{ErrEnqueueTimeout}\n\tcase <-r.shutdownCh:\n\t\treturn errorFuture{ErrRaftShutdown}\n\tcase r.applyCh <- logFuture:\n\t\treturn logFuture\n\t}\n}\n\n// VerifyLeader is used to ensure the current node is still\n// the leader. This can be done to prevent stale reads when a\n// new leader has potentially been elected.\nfunc (r *Raft) VerifyLeader() Future {\n\tmetrics.IncrCounter([]string{\"raft\", \"verify_leader\"}, 1)\n\tverifyFuture := &verifyFuture{}\n\tverifyFuture.init()\n\tselect {\n\tcase <-r.shutdownCh:\n\t\treturn errorFuture{ErrRaftShutdown}\n\tcase r.verifyCh <- verifyFuture:\n\t\treturn verifyFuture\n\t}\n}\n\n// GetConfiguration returns the latest configuration and its associated index\n// currently in use. This may not yet be committed. This must not be called on\n// the main thread (which can access the information directly).\nfunc (r *Raft) GetConfiguration() ConfigurationFuture {\n\tconfigReq := &configurationsFuture{}\n\tconfigReq.init()\n\tselect {\n\tcase <-r.shutdownCh:\n\t\tconfigReq.respond(ErrRaftShutdown)\n\t\treturn configReq\n\tcase r.configurationsCh <- configReq:\n\t\treturn configReq\n\t}\n}\n\n// AddPeer (deprecated) is used to add a new peer into the cluster. This must be\n// run on the leader or it will fail. Use AddVoter/AddNonvoter instead.\nfunc (r *Raft) AddPeer(peer ServerAddress) Future {\n\tif r.protocolVersion > 2 {\n\t\treturn errorFuture{ErrUnsupportedProtocol}\n\t}\n\n\treturn r.requestConfigChange(configurationChangeRequest{\n\t\tcommand:       AddStaging,\n\t\tserverID:      ServerID(peer),\n\t\tserverAddress: peer,\n\t\tprevIndex:     0,\n\t}, 0)\n}\n\n// RemovePeer (deprecated) is used to remove a peer from the cluster. If the\n// current leader is being removed, it will cause a new election\n// to occur. This must be run on the leader or it will fail.\n// Use RemoveServer instead.\nfunc (r *Raft) RemovePeer(peer ServerAddress) Future {\n\tif r.protocolVersion > 2 {\n\t\treturn errorFuture{ErrUnsupportedProtocol}\n\t}\n\n\treturn r.requestConfigChange(configurationChangeRequest{\n\t\tcommand:   RemoveServer,\n\t\tserverID:  ServerID(peer),\n\t\tprevIndex: 0,\n\t}, 0)\n}\n\n// AddVoter will add the given server to the cluster as a staging server. If the\n// server is already in the cluster as a voter, this does nothing. This must be\n// run on the leader or it will fail. The leader will promote the staging server\n// to a voter once that server is ready. If nonzero, prevIndex is the index of\n// the only configuration upon which this change may be applied; if another\n// configuration entry has been added in the meantime, this request will fail.\n// If nonzero, timeout is how long this server should wait before the\n// configuration change log entry is appended.\nfunc (r *Raft) AddVoter(id ServerID, address ServerAddress, prevIndex uint64, timeout time.Duration) IndexFuture {\n\tif r.protocolVersion < 2 {\n\t\treturn errorFuture{ErrUnsupportedProtocol}\n\t}\n\n\treturn r.requestConfigChange(configurationChangeRequest{\n\t\tcommand:       AddStaging,\n\t\tserverID:      id,\n\t\tserverAddress: address,\n\t\tprevIndex:     prevIndex,\n\t}, timeout)\n}\n\n// AddNonvoter will add the given server to the cluster but won't assign it a\n// vote. The server will receive log entries, but it won't participate in\n// elections or log entry commitment. If the server is already in the cluster as\n// a staging server or voter, this does nothing. This must be run on the leader\n// or it will fail. For prevIndex and timeout, see AddVoter.\nfunc (r *Raft) AddNonvoter(id ServerID, address ServerAddress, prevIndex uint64, timeout time.Duration) IndexFuture {\n\tif r.protocolVersion < 3 {\n\t\treturn errorFuture{ErrUnsupportedProtocol}\n\t}\n\n\treturn r.requestConfigChange(configurationChangeRequest{\n\t\tcommand:       AddNonvoter,\n\t\tserverID:      id,\n\t\tserverAddress: address,\n\t\tprevIndex:     prevIndex,\n\t}, timeout)\n}\n\n// RemoveServer will remove the given server from the cluster. If the current\n// leader is being removed, it will cause a new election to occur. This must be\n// run on the leader or it will fail. For prevIndex and timeout, see AddVoter.\nfunc (r *Raft) RemoveServer(id ServerID, prevIndex uint64, timeout time.Duration) IndexFuture {\n\tif r.protocolVersion < 2 {\n\t\treturn errorFuture{ErrUnsupportedProtocol}\n\t}\n\n\treturn r.requestConfigChange(configurationChangeRequest{\n\t\tcommand:   RemoveServer,\n\t\tserverID:  id,\n\t\tprevIndex: prevIndex,\n\t}, timeout)\n}\n\n// DemoteVoter will take away a server's vote, if it has one. If present, the\n// server will continue to receive log entries, but it won't participate in\n// elections or log entry commitment. If the server is not in the cluster, this\n// does nothing. This must be run on the leader or it will fail. For prevIndex\n// and timeout, see AddVoter.\nfunc (r *Raft) DemoteVoter(id ServerID, prevIndex uint64, timeout time.Duration) IndexFuture {\n\tif r.protocolVersion < 3 {\n\t\treturn errorFuture{ErrUnsupportedProtocol}\n\t}\n\n\treturn r.requestConfigChange(configurationChangeRequest{\n\t\tcommand:   DemoteVoter,\n\t\tserverID:  id,\n\t\tprevIndex: prevIndex,\n\t}, timeout)\n}\n\n// Shutdown is used to stop the Raft background routines.\n// This is not a graceful operation. Provides a future that\n// can be used to block until all background routines have exited.\nfunc (r *Raft) Shutdown() Future {\n\tr.shutdownLock.Lock()\n\tdefer r.shutdownLock.Unlock()\n\n\tif !r.shutdown {\n\t\tclose(r.shutdownCh)\n\t\tr.shutdown = true\n\t\tr.setState(Shutdown)\n\t\treturn &shutdownFuture{r}\n\t}\n\n\t// avoid closing transport twice\n\treturn &shutdownFuture{nil}\n}\n\n// Snapshot is used to manually force Raft to take a snapshot. Returns a future\n// that can be used to block until complete, and that contains a function that\n// can be used to open the snapshot.\nfunc (r *Raft) Snapshot() SnapshotFuture {\n\tfuture := &userSnapshotFuture{}\n\tfuture.init()\n\tselect {\n\tcase r.userSnapshotCh <- future:\n\t\treturn future\n\tcase <-r.shutdownCh:\n\t\tfuture.respond(ErrRaftShutdown)\n\t\treturn future\n\t}\n}\n\n// Restore is used to manually force Raft to consume an external snapshot, such\n// as if restoring from a backup. We will use the current Raft configuration,\n// not the one from the snapshot, so that we can restore into a new cluster. We\n// will also use the higher of the index of the snapshot, or the current index,\n// and then add 1 to that, so we force a new state with a hole in the Raft log,\n// so that the snapshot will be sent to followers and used for any new joiners.\n// This can only be run on the leader, and blocks until the restore is complete\n// or an error occurs.\n//\n// WARNING! This operation has the leader take on the state of the snapshot and\n// then sets itself up so that it replicates that to its followers though the\n// install snapshot process. This involves a potentially dangerous period where\n// the leader commits ahead of its followers, so should only be used for disaster\n// recovery into a fresh cluster, and should not be used in normal operations.\nfunc (r *Raft) Restore(meta *SnapshotMeta, reader io.Reader, timeout time.Duration) error {\n\tmetrics.IncrCounter([]string{\"raft\", \"restore\"}, 1)\n\tvar timer <-chan time.Time\n\tif timeout > 0 {\n\t\ttimer = time.After(timeout)\n\t}\n\n\t// Perform the restore.\n\trestore := &userRestoreFuture{\n\t\tmeta:   meta,\n\t\treader: reader,\n\t}\n\trestore.init()\n\tselect {\n\tcase <-timer:\n\t\treturn ErrEnqueueTimeout\n\tcase <-r.shutdownCh:\n\t\treturn ErrRaftShutdown\n\tcase r.userRestoreCh <- restore:\n\t\t// If the restore is ingested then wait for it to complete.\n\t\tif err := restore.Error(); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\t// Apply a no-op log entry. Waiting for this allows us to wait until the\n\t// followers have gotten the restore and replicated at least this new\n\t// entry, which shows that we've also faulted and installed the\n\t// snapshot with the contents of the restore.\n\tnoop := &logFuture{\n\t\tlog: Log{\n\t\t\tType: LogNoop,\n\t\t},\n\t}\n\tnoop.init()\n\tselect {\n\tcase <-timer:\n\t\treturn ErrEnqueueTimeout\n\tcase <-r.shutdownCh:\n\t\treturn ErrRaftShutdown\n\tcase r.applyCh <- noop:\n\t\treturn noop.Error()\n\t}\n}\n\n// State is used to return the current raft state.\nfunc (r *Raft) State() RaftState {\n\treturn r.getState()\n}\n\n// LeaderCh is used to get a channel which delivers signals on\n// acquiring or losing leadership. It sends true if we become\n// the leader, and false if we lose it. The channel is not buffered,\n// and does not block on writes.\nfunc (r *Raft) LeaderCh() <-chan bool {\n\treturn r.leaderCh\n}\n\n// String returns a string representation of this Raft node.\nfunc (r *Raft) String() string {\n\treturn fmt.Sprintf(\"Node at %s [%v]\", r.localAddr, r.getState())\n}\n\n// LastContact returns the time of last contact by a leader.\n// This only makes sense if we are currently a follower.\nfunc (r *Raft) LastContact() time.Time {\n\tr.lastContactLock.RLock()\n\tlast := r.lastContact\n\tr.lastContactLock.RUnlock()\n\treturn last\n}\n\n// Stats is used to return a map of various internal stats. This\n// should only be used for informative purposes or debugging.\n//\n// Keys are: \"state\", \"term\", \"last_log_index\", \"last_log_term\",\n// \"commit_index\", \"applied_index\", \"fsm_pending\",\n// \"last_snapshot_index\", \"last_snapshot_term\",\n// \"latest_configuration\", \"last_contact\", and \"num_peers\".\n//\n// The value of \"state\" is a numerical value representing a\n// RaftState const.\n//\n// The value of \"latest_configuration\" is a string which contains\n// the id of each server, its suffrage status, and its address.\n//\n// The value of \"last_contact\" is either \"never\" if there\n// has been no contact with a leader, \"0\" if the node is in the\n// leader state, or the time since last contact with a leader\n// formatted as a string.\n//\n// The value of \"num_peers\" is the number of other voting servers in the\n// cluster, not including this node. If this node isn't part of the\n// configuration then this will be \"0\".\n//\n// All other values are uint64s, formatted as strings.\nfunc (r *Raft) Stats() map[string]string {\n\ttoString := func(v uint64) string {\n\t\treturn strconv.FormatUint(v, 10)\n\t}\n\tlastLogIndex, lastLogTerm := r.getLastLog()\n\tlastSnapIndex, lastSnapTerm := r.getLastSnapshot()\n\ts := map[string]string{\n\t\t\"state\":                r.getState().String(),\n\t\t\"term\":                 toString(r.getCurrentTerm()),\n\t\t\"last_log_index\":       toString(lastLogIndex),\n\t\t\"last_log_term\":        toString(lastLogTerm),\n\t\t\"commit_index\":         toString(r.getCommitIndex()),\n\t\t\"applied_index\":        toString(r.getLastApplied()),\n\t\t\"fsm_pending\":          toString(uint64(len(r.fsmMutateCh))),\n\t\t\"last_snapshot_index\":  toString(lastSnapIndex),\n\t\t\"last_snapshot_term\":   toString(lastSnapTerm),\n\t\t\"protocol_version\":     toString(uint64(r.protocolVersion)),\n\t\t\"protocol_version_min\": toString(uint64(ProtocolVersionMin)),\n\t\t\"protocol_version_max\": toString(uint64(ProtocolVersionMax)),\n\t\t\"snapshot_version_min\": toString(uint64(SnapshotVersionMin)),\n\t\t\"snapshot_version_max\": toString(uint64(SnapshotVersionMax)),\n\t}\n\n\tfuture := r.GetConfiguration()\n\tif err := future.Error(); err != nil {\n\t\tr.logger.Printf(\"[WARN] raft: could not get configuration for Stats: %v\", err)\n\t} else {\n\t\tconfiguration := future.Configuration()\n\t\ts[\"latest_configuration_index\"] = toString(future.Index())\n\t\ts[\"latest_configuration\"] = fmt.Sprintf(\"%+v\", configuration.Servers)\n\n\t\t// This is a legacy metric that we've seen people use in the wild.\n\t\thasUs := false\n\t\tnumPeers := 0\n\t\tfor _, server := range configuration.Servers {\n\t\t\tif server.Suffrage == Voter {\n\t\t\t\tif server.ID == r.localID {\n\t\t\t\t\thasUs = true\n\t\t\t\t} else {\n\t\t\t\t\tnumPeers++\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif !hasUs {\n\t\t\tnumPeers = 0\n\t\t}\n\t\ts[\"num_peers\"] = toString(uint64(numPeers))\n\t}\n\n\tlast := r.LastContact()\n\tif r.getState() == Leader {\n\t\ts[\"last_contact\"] = \"0\"\n\t} else if last.IsZero() {\n\t\ts[\"last_contact\"] = \"never\"\n\t} else {\n\t\ts[\"last_contact\"] = fmt.Sprintf(\"%v\", time.Now().Sub(last))\n\t}\n\treturn s\n}\n\n// LastIndex returns the last index in stable storage,\n// either from the last log or from the last snapshot.\nfunc (r *Raft) LastIndex() uint64 {\n\treturn r.getLastIndex()\n}\n\n// AppliedIndex returns the last index applied to the FSM. This is generally\n// lagging behind the last index, especially for indexes that are persisted but\n// have not yet been considered committed by the leader. NOTE - this reflects\n// the last index that was sent to the application's FSM over the apply channel\n// but DOES NOT mean that the application's FSM has yet consumed it and applied\n// it to its internal state. Thus, the application's state may lag behind this\n// index.\nfunc (r *Raft) AppliedIndex() uint64 {\n\treturn r.getLastApplied()\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft/commands.go",
    "content": "package raft\n\n// RPCHeader is a common sub-structure used to pass along protocol version and\n// other information about the cluster. For older Raft implementations before\n// versioning was added this will default to a zero-valued structure when read\n// by newer Raft versions.\ntype RPCHeader struct {\n\t// ProtocolVersion is the version of the protocol the sender is\n\t// speaking.\n\tProtocolVersion ProtocolVersion\n}\n\n// WithRPCHeader is an interface that exposes the RPC header.\ntype WithRPCHeader interface {\n\tGetRPCHeader() RPCHeader\n}\n\n// AppendEntriesRequest is the command used to append entries to the\n// replicated log.\ntype AppendEntriesRequest struct {\n\tRPCHeader\n\n\t// Provide the current term and leader\n\tTerm   uint64\n\tLeader []byte\n\n\t// Provide the previous entries for integrity checking\n\tPrevLogEntry uint64\n\tPrevLogTerm  uint64\n\n\t// New entries to commit\n\tEntries []*Log\n\n\t// Commit index on the leader\n\tLeaderCommitIndex uint64\n}\n\n// See WithRPCHeader.\nfunc (r *AppendEntriesRequest) GetRPCHeader() RPCHeader {\n\treturn r.RPCHeader\n}\n\n// AppendEntriesResponse is the response returned from an\n// AppendEntriesRequest.\ntype AppendEntriesResponse struct {\n\tRPCHeader\n\n\t// Newer term if leader is out of date\n\tTerm uint64\n\n\t// Last Log is a hint to help accelerate rebuilding slow nodes\n\tLastLog uint64\n\n\t// We may not succeed if we have a conflicting entry\n\tSuccess bool\n\n\t// There are scenarios where this request didn't succeed\n\t// but there's no need to wait/back-off the next attempt.\n\tNoRetryBackoff bool\n}\n\n// See WithRPCHeader.\nfunc (r *AppendEntriesResponse) GetRPCHeader() RPCHeader {\n\treturn r.RPCHeader\n}\n\n// RequestVoteRequest is the command used by a candidate to ask a Raft peer\n// for a vote in an election.\ntype RequestVoteRequest struct {\n\tRPCHeader\n\n\t// Provide the term and our id\n\tTerm      uint64\n\tCandidate []byte\n\n\t// Used to ensure safety\n\tLastLogIndex uint64\n\tLastLogTerm  uint64\n}\n\n// See WithRPCHeader.\nfunc (r *RequestVoteRequest) GetRPCHeader() RPCHeader {\n\treturn r.RPCHeader\n}\n\n// RequestVoteResponse is the response returned from a RequestVoteRequest.\ntype RequestVoteResponse struct {\n\tRPCHeader\n\n\t// Newer term if leader is out of date.\n\tTerm uint64\n\n\t// Peers is deprecated, but required by servers that only understand\n\t// protocol version 0. This is not populated in protocol version 2\n\t// and later.\n\tPeers []byte\n\n\t// Is the vote granted.\n\tGranted bool\n}\n\n// See WithRPCHeader.\nfunc (r *RequestVoteResponse) GetRPCHeader() RPCHeader {\n\treturn r.RPCHeader\n}\n\n// InstallSnapshotRequest is the command sent to a Raft peer to bootstrap its\n// log (and state machine) from a snapshot on another peer.\ntype InstallSnapshotRequest struct {\n\tRPCHeader\n\tSnapshotVersion SnapshotVersion\n\n\tTerm   uint64\n\tLeader []byte\n\n\t// These are the last index/term included in the snapshot\n\tLastLogIndex uint64\n\tLastLogTerm  uint64\n\n\t// Peer Set in the snapshot. This is deprecated in favor of Configuration\n\t// but remains here in case we receive an InstallSnapshot from a leader\n\t// that's running old code.\n\tPeers []byte\n\n\t// Cluster membership.\n\tConfiguration []byte\n\t// Log index where 'Configuration' entry was originally written.\n\tConfigurationIndex uint64\n\n\t// Size of the snapshot\n\tSize int64\n}\n\n// See WithRPCHeader.\nfunc (r *InstallSnapshotRequest) GetRPCHeader() RPCHeader {\n\treturn r.RPCHeader\n}\n\n// InstallSnapshotResponse is the response returned from an\n// InstallSnapshotRequest.\ntype InstallSnapshotResponse struct {\n\tRPCHeader\n\n\tTerm    uint64\n\tSuccess bool\n}\n\n// See WithRPCHeader.\nfunc (r *InstallSnapshotResponse) GetRPCHeader() RPCHeader {\n\treturn r.RPCHeader\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft/commitment.go",
    "content": "package raft\n\nimport (\n\t\"sort\"\n\t\"sync\"\n)\n\n// Commitment is used to advance the leader's commit index. The leader and\n// replication goroutines report in newly written entries with Match(), and\n// this notifies on commitCh when the commit index has advanced.\ntype commitment struct {\n\t// protectes matchIndexes and commitIndex\n\tsync.Mutex\n\t// notified when commitIndex increases\n\tcommitCh chan struct{}\n\t// voter ID to log index: the server stores up through this log entry\n\tmatchIndexes map[ServerID]uint64\n\t// a quorum stores up through this log entry. monotonically increases.\n\tcommitIndex uint64\n\t// the first index of this leader's term: this needs to be replicated to a\n\t// majority of the cluster before this leader may mark anything committed\n\t// (per Raft's commitment rule)\n\tstartIndex uint64\n}\n\n// newCommitment returns an commitment struct that notifies the provided\n// channel when log entries have been committed. A new commitment struct is\n// created each time this server becomes leader for a particular term.\n// 'configuration' is the servers in the cluster.\n// 'startIndex' is the first index created in this term (see\n// its description above).\nfunc newCommitment(commitCh chan struct{}, configuration Configuration, startIndex uint64) *commitment {\n\tmatchIndexes := make(map[ServerID]uint64)\n\tfor _, server := range configuration.Servers {\n\t\tif server.Suffrage == Voter {\n\t\t\tmatchIndexes[server.ID] = 0\n\t\t}\n\t}\n\treturn &commitment{\n\t\tcommitCh:     commitCh,\n\t\tmatchIndexes: matchIndexes,\n\t\tcommitIndex:  0,\n\t\tstartIndex:   startIndex,\n\t}\n}\n\n// Called when a new cluster membership configuration is created: it will be\n// used to determine commitment from now on. 'configuration' is the servers in\n// the cluster.\nfunc (c *commitment) setConfiguration(configuration Configuration) {\n\tc.Lock()\n\tdefer c.Unlock()\n\toldMatchIndexes := c.matchIndexes\n\tc.matchIndexes = make(map[ServerID]uint64)\n\tfor _, server := range configuration.Servers {\n\t\tif server.Suffrage == Voter {\n\t\t\tc.matchIndexes[server.ID] = oldMatchIndexes[server.ID] // defaults to 0\n\t\t}\n\t}\n\tc.recalculate()\n}\n\n// Called by leader after commitCh is notified\nfunc (c *commitment) getCommitIndex() uint64 {\n\tc.Lock()\n\tdefer c.Unlock()\n\treturn c.commitIndex\n}\n\n// Match is called once a server completes writing entries to disk: either the\n// leader has written the new entry or a follower has replied to an\n// AppendEntries RPC. The given server's disk agrees with this server's log up\n// through the given index.\nfunc (c *commitment) match(server ServerID, matchIndex uint64) {\n\tc.Lock()\n\tdefer c.Unlock()\n\tif prev, hasVote := c.matchIndexes[server]; hasVote && matchIndex > prev {\n\t\tc.matchIndexes[server] = matchIndex\n\t\tc.recalculate()\n\t}\n}\n\n// Internal helper to calculate new commitIndex from matchIndexes.\n// Must be called with lock held.\nfunc (c *commitment) recalculate() {\n\tif len(c.matchIndexes) == 0 {\n\t\treturn\n\t}\n\n\tmatched := make([]uint64, 0, len(c.matchIndexes))\n\tfor _, idx := range c.matchIndexes {\n\t\tmatched = append(matched, idx)\n\t}\n\tsort.Sort(uint64Slice(matched))\n\tquorumMatchIndex := matched[(len(matched)-1)/2]\n\n\tif quorumMatchIndex > c.commitIndex && quorumMatchIndex >= c.startIndex {\n\t\tc.commitIndex = quorumMatchIndex\n\t\tasyncNotifyCh(c.commitCh)\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft/config.go",
    "content": "package raft\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"log\"\n\t\"time\"\n)\n\n// These are the versions of the protocol (which includes RPC messages as\n// well as Raft-specific log entries) that this server can _understand_. Use\n// the ProtocolVersion member of the Config object to control the version of\n// the protocol to use when _speaking_ to other servers. Note that depending on\n// the protocol version being spoken, some otherwise understood RPC messages\n// may be refused. See dispositionRPC for details of this logic.\n//\n// There are notes about the upgrade path in the description of the versions\n// below. If you are starting a fresh cluster then there's no reason not to\n// jump right to the latest protocol version. If you need to interoperate with\n// older, version 0 Raft servers you'll need to drive the cluster through the\n// different versions in order.\n//\n// The version details are complicated, but here's a summary of what's required\n// to get from a version 0 cluster to version 3:\n//\n// 1. In version N of your app that starts using the new Raft library with\n//    versioning, set ProtocolVersion to 1.\n// 2. Make version N+1 of your app require version N as a prerequisite (all\n//    servers must be upgraded). For version N+1 of your app set ProtocolVersion\n//    to 2.\n// 3. Similarly, make version N+2 of your app require version N+1 as a\n//    prerequisite. For version N+2 of your app, set ProtocolVersion to 3.\n//\n// During this upgrade, older cluster members will still have Server IDs equal\n// to their network addresses. To upgrade an older member and give it an ID, it\n// needs to leave the cluster and re-enter:\n//\n// 1. Remove the server from the cluster with RemoveServer, using its network\n//    address as its ServerID.\n// 2. Update the server's config to a better ID (restarting the server).\n// 3. Add the server back to the cluster with AddVoter, using its new ID.\n//\n// You can do this during the rolling upgrade from N+1 to N+2 of your app, or\n// as a rolling change at any time after the upgrade.\n//\n// Version History\n//\n// 0: Original Raft library before versioning was added. Servers running this\n//    version of the Raft library use AddPeerDeprecated/RemovePeerDeprecated\n//    for all configuration changes, and have no support for LogConfiguration.\n// 1: First versioned protocol, used to interoperate with old servers, and begin\n//    the migration path to newer versions of the protocol. Under this version\n//    all configuration changes are propagated using the now-deprecated\n//    RemovePeerDeprecated Raft log entry. This means that server IDs are always\n//    set to be the same as the server addresses (since the old log entry type\n//    cannot transmit an ID), and only AddPeer/RemovePeer APIs are supported.\n//    Servers running this version of the protocol can understand the new\n//    LogConfiguration Raft log entry but will never generate one so they can\n//    remain compatible with version 0 Raft servers in the cluster.\n// 2: Transitional protocol used when migrating an existing cluster to the new\n//    server ID system. Server IDs are still set to be the same as server\n//    addresses, but all configuration changes are propagated using the new\n//    LogConfiguration Raft log entry type, which can carry full ID information.\n//    This version supports the old AddPeer/RemovePeer APIs as well as the new\n//    ID-based AddVoter/RemoveServer APIs which should be used when adding\n//    version 3 servers to the cluster later. This version sheds all\n//    interoperability with version 0 servers, but can interoperate with newer\n//    Raft servers running with protocol version 1 since they can understand the\n//    new LogConfiguration Raft log entry, and this version can still understand\n//    their RemovePeerDeprecated Raft log entries. We need this protocol version\n//    as an intermediate step between 1 and 3 so that servers will propagate the\n//    ID information that will come from newly-added (or -rolled) servers using\n//    protocol version 3, but since they are still using their address-based IDs\n//    from the previous step they will still be able to track commitments and\n//    their own voting status properly. If we skipped this step, servers would\n//    be started with their new IDs, but they wouldn't see themselves in the old\n//    address-based configuration, so none of the servers would think they had a\n//    vote.\n// 3: Protocol adding full support for server IDs and new ID-based server APIs\n//    (AddVoter, AddNonvoter, etc.), old AddPeer/RemovePeer APIs are no longer\n//    supported. Version 2 servers should be swapped out by removing them from\n//    the cluster one-by-one and re-adding them with updated configuration for\n//    this protocol version, along with their server ID. The remove/add cycle\n//    is required to populate their server ID. Note that removing must be done\n//    by ID, which will be the old server's address.\ntype ProtocolVersion int\n\nconst (\n\tProtocolVersionMin ProtocolVersion = 0\n\tProtocolVersionMax                 = 3\n)\n\n// These are versions of snapshots that this server can _understand_. Currently,\n// it is always assumed that this server generates the latest version, though\n// this may be changed in the future to include a configurable version.\n//\n// Version History\n//\n// 0: Original Raft library before versioning was added. The peers portion of\n//    these snapshots is encoded in the legacy format which requires decodePeers\n//    to parse. This version of snapshots should only be produced by the\n//    unversioned Raft library.\n// 1: New format which adds support for a full configuration structure and its\n//    associated log index, with support for server IDs and non-voting server\n//    modes. To ease upgrades, this also includes the legacy peers structure but\n//    that will never be used by servers that understand version 1 snapshots.\n//    Since the original Raft library didn't enforce any versioning, we must\n//    include the legacy peers structure for this version, but we can deprecate\n//    it in the next snapshot version.\ntype SnapshotVersion int\n\nconst (\n\tSnapshotVersionMin SnapshotVersion = 0\n\tSnapshotVersionMax                 = 1\n)\n\n// Config provides any necessary configuration for the Raft server.\ntype Config struct {\n\t// ProtocolVersion allows a Raft server to inter-operate with older\n\t// Raft servers running an older version of the code. This is used to\n\t// version the wire protocol as well as Raft-specific log entries that\n\t// the server uses when _speaking_ to other servers. There is currently\n\t// no auto-negotiation of versions so all servers must be manually\n\t// configured with compatible versions. See ProtocolVersionMin and\n\t// ProtocolVersionMax for the versions of the protocol that this server\n\t// can _understand_.\n\tProtocolVersion ProtocolVersion\n\n\t// HeartbeatTimeout specifies the time in follower state without\n\t// a leader before we attempt an election.\n\tHeartbeatTimeout time.Duration\n\n\t// ElectionTimeout specifies the time in candidate state without\n\t// a leader before we attempt an election.\n\tElectionTimeout time.Duration\n\n\t// CommitTimeout controls the time without an Apply() operation\n\t// before we heartbeat to ensure a timely commit. Due to random\n\t// staggering, may be delayed as much as 2x this value.\n\tCommitTimeout time.Duration\n\n\t// MaxAppendEntries controls the maximum number of append entries\n\t// to send at once. We want to strike a balance between efficiency\n\t// and avoiding waste if the follower is going to reject because of\n\t// an inconsistent log.\n\tMaxAppendEntries int\n\n\t// If we are a member of a cluster, and RemovePeer is invoked for the\n\t// local node, then we forget all peers and transition into the follower state.\n\t// If ShutdownOnRemove is is set, we additional shutdown Raft. Otherwise,\n\t// we can become a leader of a cluster containing only this node.\n\tShutdownOnRemove bool\n\n\t// TrailingLogs controls how many logs we leave after a snapshot. This is\n\t// used so that we can quickly replay logs on a follower instead of being\n\t// forced to send an entire snapshot.\n\tTrailingLogs uint64\n\n\t// SnapshotInterval controls how often we check if we should perform a snapshot.\n\t// We randomly stagger between this value and 2x this value to avoid the entire\n\t// cluster from performing a snapshot at once.\n\tSnapshotInterval time.Duration\n\n\t// SnapshotThreshold controls how many outstanding logs there must be before\n\t// we perform a snapshot. This is to prevent excessive snapshots when we can\n\t// just replay a small set of logs.\n\tSnapshotThreshold uint64\n\n\t// LeaderLeaseTimeout is used to control how long the \"lease\" lasts\n\t// for being the leader without being able to contact a quorum\n\t// of nodes. If we reach this interval without contact, we will\n\t// step down as leader.\n\tLeaderLeaseTimeout time.Duration\n\n\t// StartAsLeader forces Raft to start in the leader state. This should\n\t// never be used except for testing purposes, as it can cause a split-brain.\n\tStartAsLeader bool\n\n\t// The unique ID for this server across all time. When running with\n\t// ProtocolVersion < 3, you must set this to be the same as the network\n\t// address of your transport.\n\tLocalID ServerID\n\n\t// NotifyCh is used to provide a channel that will be notified of leadership\n\t// changes. Raft will block writing to this channel, so it should either be\n\t// buffered or aggressively consumed.\n\tNotifyCh chan<- bool\n\n\t// LogOutput is used as a sink for logs, unless Logger is specified.\n\t// Defaults to os.Stderr.\n\tLogOutput io.Writer\n\n\t// Logger is a user-provided logger. If nil, a logger writing to LogOutput\n\t// is used.\n\tLogger *log.Logger\n}\n\n// DefaultConfig returns a Config with usable defaults.\nfunc DefaultConfig() *Config {\n\treturn &Config{\n\t\tProtocolVersion:    ProtocolVersionMax,\n\t\tHeartbeatTimeout:   1000 * time.Millisecond,\n\t\tElectionTimeout:    1000 * time.Millisecond,\n\t\tCommitTimeout:      50 * time.Millisecond,\n\t\tMaxAppendEntries:   64,\n\t\tShutdownOnRemove:   true,\n\t\tTrailingLogs:       10240,\n\t\tSnapshotInterval:   120 * time.Second,\n\t\tSnapshotThreshold:  8192,\n\t\tLeaderLeaseTimeout: 500 * time.Millisecond,\n\t}\n}\n\n// ValidateConfig is used to validate a sane configuration\nfunc ValidateConfig(config *Config) error {\n\t// We don't actually support running as 0 in the library any more, but\n\t// we do understand it.\n\tprotocolMin := ProtocolVersionMin\n\tif protocolMin == 0 {\n\t\tprotocolMin = 1\n\t}\n\tif config.ProtocolVersion < protocolMin ||\n\t\tconfig.ProtocolVersion > ProtocolVersionMax {\n\t\treturn fmt.Errorf(\"Protocol version %d must be >= %d and <= %d\",\n\t\t\tconfig.ProtocolVersion, protocolMin, ProtocolVersionMax)\n\t}\n\tif len(config.LocalID) == 0 {\n\t\treturn fmt.Errorf(\"LocalID cannot be empty\")\n\t}\n\tif config.HeartbeatTimeout < 5*time.Millisecond {\n\t\treturn fmt.Errorf(\"Heartbeat timeout is too low\")\n\t}\n\tif config.ElectionTimeout < 5*time.Millisecond {\n\t\treturn fmt.Errorf(\"Election timeout is too low\")\n\t}\n\tif config.CommitTimeout < time.Millisecond {\n\t\treturn fmt.Errorf(\"Commit timeout is too low\")\n\t}\n\tif config.MaxAppendEntries <= 0 {\n\t\treturn fmt.Errorf(\"MaxAppendEntries must be positive\")\n\t}\n\tif config.MaxAppendEntries > 1024 {\n\t\treturn fmt.Errorf(\"MaxAppendEntries is too large\")\n\t}\n\tif config.SnapshotInterval < 5*time.Millisecond {\n\t\treturn fmt.Errorf(\"Snapshot interval is too low\")\n\t}\n\tif config.LeaderLeaseTimeout < 5*time.Millisecond {\n\t\treturn fmt.Errorf(\"Leader lease timeout is too low\")\n\t}\n\tif config.LeaderLeaseTimeout > config.HeartbeatTimeout {\n\t\treturn fmt.Errorf(\"Leader lease timeout cannot be larger than heartbeat timeout\")\n\t}\n\tif config.ElectionTimeout < config.HeartbeatTimeout {\n\t\treturn fmt.Errorf(\"Election timeout must be equal or greater than Heartbeat Timeout\")\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft/configuration.go",
    "content": "package raft\n\nimport \"fmt\"\n\n// ServerSuffrage determines whether a Server in a Configuration gets a vote.\ntype ServerSuffrage int\n\n// Note: Don't renumber these, since the numbers are written into the log.\nconst (\n\t// Voter is a server whose vote is counted in elections and whose match index\n\t// is used in advancing the leader's commit index.\n\tVoter ServerSuffrage = iota\n\t// Nonvoter is a server that receives log entries but is not considered for\n\t// elections or commitment purposes.\n\tNonvoter\n\t// Staging is a server that acts like a nonvoter with one exception: once a\n\t// staging server receives enough log entries to be sufficiently caught up to\n\t// the leader's log, the leader will invoke a  membership change to change\n\t// the Staging server to a Voter.\n\tStaging\n)\n\nfunc (s ServerSuffrage) String() string {\n\tswitch s {\n\tcase Voter:\n\t\treturn \"Voter\"\n\tcase Nonvoter:\n\t\treturn \"Nonvoter\"\n\tcase Staging:\n\t\treturn \"Staging\"\n\t}\n\treturn \"ServerSuffrage\"\n}\n\n// ServerID is a unique string identifying a server for all time.\ntype ServerID string\n\n// ServerAddress is a network address for a server that a transport can contact.\ntype ServerAddress string\n\n// Server tracks the information about a single server in a configuration.\ntype Server struct {\n\t// Suffrage determines whether the server gets a vote.\n\tSuffrage ServerSuffrage\n\t// ID is a unique string identifying this server for all time.\n\tID ServerID\n\t// Address is its network address that a transport can contact.\n\tAddress ServerAddress\n}\n\n// Configuration tracks which servers are in the cluster, and whether they have\n// votes. This should include the local server, if it's a member of the cluster.\n// The servers are listed no particular order, but each should only appear once.\n// These entries are appended to the log during membership changes.\ntype Configuration struct {\n\tServers []Server\n}\n\n// Clone makes a deep copy of a Configuration.\nfunc (c *Configuration) Clone() (copy Configuration) {\n\tcopy.Servers = append(copy.Servers, c.Servers...)\n\treturn\n}\n\n// ConfigurationChangeCommand is the different ways to change the cluster\n// configuration.\ntype ConfigurationChangeCommand uint8\n\nconst (\n\t// AddStaging makes a server Staging unless its Voter.\n\tAddStaging ConfigurationChangeCommand = iota\n\t// AddNonvoter makes a server Nonvoter unless its Staging or Voter.\n\tAddNonvoter\n\t// DemoteVoter makes a server Nonvoter unless its absent.\n\tDemoteVoter\n\t// RemoveServer removes a server entirely from the cluster membership.\n\tRemoveServer\n\t// Promote is created automatically by a leader; it turns a Staging server\n\t// into a Voter.\n\tPromote\n)\n\nfunc (c ConfigurationChangeCommand) String() string {\n\tswitch c {\n\tcase AddStaging:\n\t\treturn \"AddStaging\"\n\tcase AddNonvoter:\n\t\treturn \"AddNonvoter\"\n\tcase DemoteVoter:\n\t\treturn \"DemoteVoter\"\n\tcase RemoveServer:\n\t\treturn \"RemoveServer\"\n\tcase Promote:\n\t\treturn \"Promote\"\n\t}\n\treturn \"ConfigurationChangeCommand\"\n}\n\n// configurationChangeRequest describes a change that a leader would like to\n// make to its current configuration. It's used only within a single server\n// (never serialized into the log), as part of `configurationChangeFuture`.\ntype configurationChangeRequest struct {\n\tcommand       ConfigurationChangeCommand\n\tserverID      ServerID\n\tserverAddress ServerAddress // only present for AddStaging, AddNonvoter\n\t// prevIndex, if nonzero, is the index of the only configuration upon which\n\t// this change may be applied; if another configuration entry has been\n\t// added in the meantime, this request will fail.\n\tprevIndex uint64\n}\n\n// configurations is state tracked on every server about its Configurations.\n// Note that, per Diego's dissertation, there can be at most one uncommitted\n// configuration at a time (the next configuration may not be created until the\n// prior one has been committed).\n//\n// One downside to storing just two configurations is that if you try to take a\n// snahpsot when your state machine hasn't yet applied the committedIndex, we\n// have no record of the configuration that would logically fit into that\n// snapshot. We disallow snapshots in that case now. An alternative approach,\n// which LogCabin uses, is to track every configuration change in the\n// log.\ntype configurations struct {\n\t// committed is the latest configuration in the log/snapshot that has been\n\t// committed (the one with the largest index).\n\tcommitted Configuration\n\t// committedIndex is the log index where 'committed' was written.\n\tcommittedIndex uint64\n\t// latest is the latest configuration in the log/snapshot (may be committed\n\t// or uncommitted)\n\tlatest Configuration\n\t// latestIndex is the log index where 'latest' was written.\n\tlatestIndex uint64\n}\n\n// Clone makes a deep copy of a configurations object.\nfunc (c *configurations) Clone() (copy configurations) {\n\tcopy.committed = c.committed.Clone()\n\tcopy.committedIndex = c.committedIndex\n\tcopy.latest = c.latest.Clone()\n\tcopy.latestIndex = c.latestIndex\n\treturn\n}\n\n// hasVote returns true if the server identified by 'id' is a Voter in the\n// provided Configuration.\nfunc hasVote(configuration Configuration, id ServerID) bool {\n\tfor _, server := range configuration.Servers {\n\t\tif server.ID == id {\n\t\t\treturn server.Suffrage == Voter\n\t\t}\n\t}\n\treturn false\n}\n\n// checkConfiguration tests a cluster membership configuration for common\n// errors.\nfunc checkConfiguration(configuration Configuration) error {\n\tidSet := make(map[ServerID]bool)\n\taddressSet := make(map[ServerAddress]bool)\n\tvar voters int\n\tfor _, server := range configuration.Servers {\n\t\tif server.ID == \"\" {\n\t\t\treturn fmt.Errorf(\"Empty ID in configuration: %v\", configuration)\n\t\t}\n\t\tif server.Address == \"\" {\n\t\t\treturn fmt.Errorf(\"Empty address in configuration: %v\", server)\n\t\t}\n\t\tif idSet[server.ID] {\n\t\t\treturn fmt.Errorf(\"Found duplicate ID in configuration: %v\", server.ID)\n\t\t}\n\t\tidSet[server.ID] = true\n\t\tif addressSet[server.Address] {\n\t\t\treturn fmt.Errorf(\"Found duplicate address in configuration: %v\", server.Address)\n\t\t}\n\t\taddressSet[server.Address] = true\n\t\tif server.Suffrage == Voter {\n\t\t\tvoters++\n\t\t}\n\t}\n\tif voters == 0 {\n\t\treturn fmt.Errorf(\"Need at least one voter in configuration: %v\", configuration)\n\t}\n\treturn nil\n}\n\n// nextConfiguration generates a new Configuration from the current one and a\n// configuration change request. It's split from appendConfigurationEntry so\n// that it can be unit tested easily.\nfunc nextConfiguration(current Configuration, currentIndex uint64, change configurationChangeRequest) (Configuration, error) {\n\tif change.prevIndex > 0 && change.prevIndex != currentIndex {\n\t\treturn Configuration{}, fmt.Errorf(\"Configuration changed since %v (latest is %v)\", change.prevIndex, currentIndex)\n\t}\n\n\tconfiguration := current.Clone()\n\tswitch change.command {\n\tcase AddStaging:\n\t\t// TODO: barf on new address?\n\t\tnewServer := Server{\n\t\t\t// TODO: This should add the server as Staging, to be automatically\n\t\t\t// promoted to Voter later. However, the promoton to Voter is not yet\n\t\t\t// implemented, and doing so is not trivial with the way the leader loop\n\t\t\t// coordinates with the replication goroutines today. So, for now, the\n\t\t\t// server will have a vote right away, and the Promote case below is\n\t\t\t// unused.\n\t\t\tSuffrage: Voter,\n\t\t\tID:       change.serverID,\n\t\t\tAddress:  change.serverAddress,\n\t\t}\n\t\tfound := false\n\t\tfor i, server := range configuration.Servers {\n\t\t\tif server.ID == change.serverID {\n\t\t\t\tif server.Suffrage == Voter {\n\t\t\t\t\tconfiguration.Servers[i].Address = change.serverAddress\n\t\t\t\t} else {\n\t\t\t\t\tconfiguration.Servers[i] = newServer\n\t\t\t\t}\n\t\t\t\tfound = true\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tif !found {\n\t\t\tconfiguration.Servers = append(configuration.Servers, newServer)\n\t\t}\n\tcase AddNonvoter:\n\t\tnewServer := Server{\n\t\t\tSuffrage: Nonvoter,\n\t\t\tID:       change.serverID,\n\t\t\tAddress:  change.serverAddress,\n\t\t}\n\t\tfound := false\n\t\tfor i, server := range configuration.Servers {\n\t\t\tif server.ID == change.serverID {\n\t\t\t\tif server.Suffrage != Nonvoter {\n\t\t\t\t\tconfiguration.Servers[i].Address = change.serverAddress\n\t\t\t\t} else {\n\t\t\t\t\tconfiguration.Servers[i] = newServer\n\t\t\t\t}\n\t\t\t\tfound = true\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tif !found {\n\t\t\tconfiguration.Servers = append(configuration.Servers, newServer)\n\t\t}\n\tcase DemoteVoter:\n\t\tfor i, server := range configuration.Servers {\n\t\t\tif server.ID == change.serverID {\n\t\t\t\tconfiguration.Servers[i].Suffrage = Nonvoter\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\tcase RemoveServer:\n\t\tfor i, server := range configuration.Servers {\n\t\t\tif server.ID == change.serverID {\n\t\t\t\tconfiguration.Servers = append(configuration.Servers[:i], configuration.Servers[i+1:]...)\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\tcase Promote:\n\t\tfor i, server := range configuration.Servers {\n\t\t\tif server.ID == change.serverID && server.Suffrage == Staging {\n\t\t\t\tconfiguration.Servers[i].Suffrage = Voter\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n\n\t// Make sure we didn't do something bad like remove the last voter\n\tif err := checkConfiguration(configuration); err != nil {\n\t\treturn Configuration{}, err\n\t}\n\n\treturn configuration, nil\n}\n\n// encodePeers is used to serialize a Configuration into the old peers format.\n// This is here for backwards compatibility when operating with a mix of old\n// servers and should be removed once we deprecate support for protocol version 1.\nfunc encodePeers(configuration Configuration, trans Transport) []byte {\n\t// Gather up all the voters, other suffrage types are not supported by\n\t// this data format.\n\tvar encPeers [][]byte\n\tfor _, server := range configuration.Servers {\n\t\tif server.Suffrage == Voter {\n\t\t\tencPeers = append(encPeers, trans.EncodePeer(server.ID, server.Address))\n\t\t}\n\t}\n\n\t// Encode the entire array.\n\tbuf, err := encodeMsgPack(encPeers)\n\tif err != nil {\n\t\tpanic(fmt.Errorf(\"failed to encode peers: %v\", err))\n\t}\n\n\treturn buf.Bytes()\n}\n\n// decodePeers is used to deserialize an old list of peers into a Configuration.\n// This is here for backwards compatibility with old log entries and snapshots;\n// it should be removed eventually.\nfunc decodePeers(buf []byte, trans Transport) Configuration {\n\t// Decode the buffer first.\n\tvar encPeers [][]byte\n\tif err := decodeMsgPack(buf, &encPeers); err != nil {\n\t\tpanic(fmt.Errorf(\"failed to decode peers: %v\", err))\n\t}\n\n\t// Deserialize each peer.\n\tvar servers []Server\n\tfor _, enc := range encPeers {\n\t\tp := trans.DecodePeer(enc)\n\t\tservers = append(servers, Server{\n\t\t\tSuffrage: Voter,\n\t\t\tID:       ServerID(p),\n\t\t\tAddress:  ServerAddress(p),\n\t\t})\n\t}\n\n\treturn Configuration{\n\t\tServers: servers,\n\t}\n}\n\n// encodeConfiguration serializes a Configuration using MsgPack, or panics on\n// errors.\nfunc encodeConfiguration(configuration Configuration) []byte {\n\tbuf, err := encodeMsgPack(configuration)\n\tif err != nil {\n\t\tpanic(fmt.Errorf(\"failed to encode configuration: %v\", err))\n\t}\n\treturn buf.Bytes()\n}\n\n// decodeConfiguration deserializes a Configuration using MsgPack, or panics on\n// errors.\nfunc decodeConfiguration(buf []byte) Configuration {\n\tvar configuration Configuration\n\tif err := decodeMsgPack(buf, &configuration); err != nil {\n\t\tpanic(fmt.Errorf(\"failed to decode configuration: %v\", err))\n\t}\n\treturn configuration\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft/discard_snapshot.go",
    "content": "package raft\n\nimport (\n\t\"fmt\"\n\t\"io\"\n)\n\n// DiscardSnapshotStore is used to successfully snapshot while\n// always discarding the snapshot. This is useful for when the\n// log should be truncated but no snapshot should be retained.\n// This should never be used for production use, and is only\n// suitable for testing.\ntype DiscardSnapshotStore struct{}\n\ntype DiscardSnapshotSink struct{}\n\n// NewDiscardSnapshotStore is used to create a new DiscardSnapshotStore.\nfunc NewDiscardSnapshotStore() *DiscardSnapshotStore {\n\treturn &DiscardSnapshotStore{}\n}\n\nfunc (d *DiscardSnapshotStore) Create(version SnapshotVersion, index, term uint64,\n\tconfiguration Configuration, configurationIndex uint64, trans Transport) (SnapshotSink, error) {\n\treturn &DiscardSnapshotSink{}, nil\n}\n\nfunc (d *DiscardSnapshotStore) List() ([]*SnapshotMeta, error) {\n\treturn nil, nil\n}\n\nfunc (d *DiscardSnapshotStore) Open(id string) (*SnapshotMeta, io.ReadCloser, error) {\n\treturn nil, nil, fmt.Errorf(\"open is not supported\")\n}\n\nfunc (d *DiscardSnapshotSink) Write(b []byte) (int, error) {\n\treturn len(b), nil\n}\n\nfunc (d *DiscardSnapshotSink) Close() error {\n\treturn nil\n}\n\nfunc (d *DiscardSnapshotSink) ID() string {\n\treturn \"discard\"\n}\n\nfunc (d *DiscardSnapshotSink) Cancel() error {\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft/file_snapshot.go",
    "content": "package raft\n\nimport (\n\t\"bufio\"\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"hash\"\n\t\"hash/crc64\"\n\t\"io\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"os\"\n\t\"path/filepath\"\n\t\"runtime\"\n\t\"sort\"\n\t\"strings\"\n\t\"time\"\n)\n\nconst (\n\ttestPath      = \"permTest\"\n\tsnapPath      = \"snapshots\"\n\tmetaFilePath  = \"meta.json\"\n\tstateFilePath = \"state.bin\"\n\ttmpSuffix     = \".tmp\"\n)\n\n// FileSnapshotStore implements the SnapshotStore interface and allows\n// snapshots to be made on the local disk.\ntype FileSnapshotStore struct {\n\tpath   string\n\tretain int\n\tlogger *log.Logger\n}\n\ntype snapMetaSlice []*fileSnapshotMeta\n\n// FileSnapshotSink implements SnapshotSink with a file.\ntype FileSnapshotSink struct {\n\tstore     *FileSnapshotStore\n\tlogger    *log.Logger\n\tdir       string\n\tparentDir string\n\tmeta      fileSnapshotMeta\n\n\tstateFile *os.File\n\tstateHash hash.Hash64\n\tbuffered  *bufio.Writer\n\n\tclosed bool\n}\n\n// fileSnapshotMeta is stored on disk. We also put a CRC\n// on disk so that we can verify the snapshot.\ntype fileSnapshotMeta struct {\n\tSnapshotMeta\n\tCRC []byte\n}\n\n// bufferedFile is returned when we open a snapshot. This way\n// reads are buffered and the file still gets closed.\ntype bufferedFile struct {\n\tbh *bufio.Reader\n\tfh *os.File\n}\n\nfunc (b *bufferedFile) Read(p []byte) (n int, err error) {\n\treturn b.bh.Read(p)\n}\n\nfunc (b *bufferedFile) Close() error {\n\treturn b.fh.Close()\n}\n\n// NewFileSnapshotStoreWithLogger creates a new FileSnapshotStore based\n// on a base directory. The `retain` parameter controls how many\n// snapshots are retained. Must be at least 1.\nfunc NewFileSnapshotStoreWithLogger(base string, retain int, logger *log.Logger) (*FileSnapshotStore, error) {\n\tif retain < 1 {\n\t\treturn nil, fmt.Errorf(\"must retain at least one snapshot\")\n\t}\n\tif logger == nil {\n\t\tlogger = log.New(os.Stderr, \"\", log.LstdFlags)\n\t}\n\n\t// Ensure our path exists\n\tpath := filepath.Join(base, snapPath)\n\tif err := os.MkdirAll(path, 0755); err != nil && !os.IsExist(err) {\n\t\treturn nil, fmt.Errorf(\"snapshot path not accessible: %v\", err)\n\t}\n\n\t// Setup the store\n\tstore := &FileSnapshotStore{\n\t\tpath:   path,\n\t\tretain: retain,\n\t\tlogger: logger,\n\t}\n\n\t// Do a permissions test\n\tif err := store.testPermissions(); err != nil {\n\t\treturn nil, fmt.Errorf(\"permissions test failed: %v\", err)\n\t}\n\treturn store, nil\n}\n\n// NewFileSnapshotStore creates a new FileSnapshotStore based\n// on a base directory. The `retain` parameter controls how many\n// snapshots are retained. Must be at least 1.\nfunc NewFileSnapshotStore(base string, retain int, logOutput io.Writer) (*FileSnapshotStore, error) {\n\tif logOutput == nil {\n\t\tlogOutput = os.Stderr\n\t}\n\treturn NewFileSnapshotStoreWithLogger(base, retain, log.New(logOutput, \"\", log.LstdFlags))\n}\n\n// testPermissions tries to touch a file in our path to see if it works.\nfunc (f *FileSnapshotStore) testPermissions() error {\n\tpath := filepath.Join(f.path, testPath)\n\tfh, err := os.Create(path)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tif err = fh.Close(); err != nil {\n\t\treturn err\n\t}\n\n\tif err = os.Remove(path); err != nil {\n\t\treturn err\n\t}\n\treturn nil\n}\n\n// snapshotName generates a name for the snapshot.\nfunc snapshotName(term, index uint64) string {\n\tnow := time.Now()\n\tmsec := now.UnixNano() / int64(time.Millisecond)\n\treturn fmt.Sprintf(\"%d-%d-%d\", term, index, msec)\n}\n\n// Create is used to start a new snapshot\nfunc (f *FileSnapshotStore) Create(version SnapshotVersion, index, term uint64,\n\tconfiguration Configuration, configurationIndex uint64, trans Transport) (SnapshotSink, error) {\n\t// We only support version 1 snapshots at this time.\n\tif version != 1 {\n\t\treturn nil, fmt.Errorf(\"unsupported snapshot version %d\", version)\n\t}\n\n\t// Create a new path\n\tname := snapshotName(term, index)\n\tpath := filepath.Join(f.path, name+tmpSuffix)\n\tf.logger.Printf(\"[INFO] snapshot: Creating new snapshot at %s\", path)\n\n\t// Make the directory\n\tif err := os.MkdirAll(path, 0755); err != nil {\n\t\tf.logger.Printf(\"[ERR] snapshot: Failed to make snapshot directory: %v\", err)\n\t\treturn nil, err\n\t}\n\n\t// Create the sink\n\tsink := &FileSnapshotSink{\n\t\tstore:     f,\n\t\tlogger:    f.logger,\n\t\tdir:       path,\n\t\tparentDir: f.path,\n\t\tmeta: fileSnapshotMeta{\n\t\t\tSnapshotMeta: SnapshotMeta{\n\t\t\t\tVersion:            version,\n\t\t\t\tID:                 name,\n\t\t\t\tIndex:              index,\n\t\t\t\tTerm:               term,\n\t\t\t\tPeers:              encodePeers(configuration, trans),\n\t\t\t\tConfiguration:      configuration,\n\t\t\t\tConfigurationIndex: configurationIndex,\n\t\t\t},\n\t\t\tCRC: nil,\n\t\t},\n\t}\n\n\t// Write out the meta data\n\tif err := sink.writeMeta(); err != nil {\n\t\tf.logger.Printf(\"[ERR] snapshot: Failed to write metadata: %v\", err)\n\t\treturn nil, err\n\t}\n\n\t// Open the state file\n\tstatePath := filepath.Join(path, stateFilePath)\n\tfh, err := os.Create(statePath)\n\tif err != nil {\n\t\tf.logger.Printf(\"[ERR] snapshot: Failed to create state file: %v\", err)\n\t\treturn nil, err\n\t}\n\tsink.stateFile = fh\n\n\t// Create a CRC64 hash\n\tsink.stateHash = crc64.New(crc64.MakeTable(crc64.ECMA))\n\n\t// Wrap both the hash and file in a MultiWriter with buffering\n\tmulti := io.MultiWriter(sink.stateFile, sink.stateHash)\n\tsink.buffered = bufio.NewWriter(multi)\n\n\t// Done\n\treturn sink, nil\n}\n\n// List returns available snapshots in the store.\nfunc (f *FileSnapshotStore) List() ([]*SnapshotMeta, error) {\n\t// Get the eligible snapshots\n\tsnapshots, err := f.getSnapshots()\n\tif err != nil {\n\t\tf.logger.Printf(\"[ERR] snapshot: Failed to get snapshots: %v\", err)\n\t\treturn nil, err\n\t}\n\n\tvar snapMeta []*SnapshotMeta\n\tfor _, meta := range snapshots {\n\t\tsnapMeta = append(snapMeta, &meta.SnapshotMeta)\n\t\tif len(snapMeta) == f.retain {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn snapMeta, nil\n}\n\n// getSnapshots returns all the known snapshots.\nfunc (f *FileSnapshotStore) getSnapshots() ([]*fileSnapshotMeta, error) {\n\t// Get the eligible snapshots\n\tsnapshots, err := ioutil.ReadDir(f.path)\n\tif err != nil {\n\t\tf.logger.Printf(\"[ERR] snapshot: Failed to scan snapshot dir: %v\", err)\n\t\treturn nil, err\n\t}\n\n\t// Populate the metadata\n\tvar snapMeta []*fileSnapshotMeta\n\tfor _, snap := range snapshots {\n\t\t// Ignore any files\n\t\tif !snap.IsDir() {\n\t\t\tcontinue\n\t\t}\n\n\t\t// Ignore any temporary snapshots\n\t\tdirName := snap.Name()\n\t\tif strings.HasSuffix(dirName, tmpSuffix) {\n\t\t\tf.logger.Printf(\"[WARN] snapshot: Found temporary snapshot: %v\", dirName)\n\t\t\tcontinue\n\t\t}\n\n\t\t// Try to read the meta data\n\t\tmeta, err := f.readMeta(dirName)\n\t\tif err != nil {\n\t\t\tf.logger.Printf(\"[WARN] snapshot: Failed to read metadata for %v: %v\", dirName, err)\n\t\t\tcontinue\n\t\t}\n\n\t\t// Make sure we can understand this version.\n\t\tif meta.Version < SnapshotVersionMin || meta.Version > SnapshotVersionMax {\n\t\t\tf.logger.Printf(\"[WARN] snapshot: Snapshot version for %v not supported: %d\", dirName, meta.Version)\n\t\t\tcontinue\n\t\t}\n\n\t\t// Append, but only return up to the retain count\n\t\tsnapMeta = append(snapMeta, meta)\n\t}\n\n\t// Sort the snapshot, reverse so we get new -> old\n\tsort.Sort(sort.Reverse(snapMetaSlice(snapMeta)))\n\n\treturn snapMeta, nil\n}\n\n// readMeta is used to read the meta data for a given named backup\nfunc (f *FileSnapshotStore) readMeta(name string) (*fileSnapshotMeta, error) {\n\t// Open the meta file\n\tmetaPath := filepath.Join(f.path, name, metaFilePath)\n\tfh, err := os.Open(metaPath)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer fh.Close()\n\n\t// Buffer the file IO\n\tbuffered := bufio.NewReader(fh)\n\n\t// Read in the JSON\n\tmeta := &fileSnapshotMeta{}\n\tdec := json.NewDecoder(buffered)\n\tif err := dec.Decode(meta); err != nil {\n\t\treturn nil, err\n\t}\n\treturn meta, nil\n}\n\n// Open takes a snapshot ID and returns a ReadCloser for that snapshot.\nfunc (f *FileSnapshotStore) Open(id string) (*SnapshotMeta, io.ReadCloser, error) {\n\t// Get the metadata\n\tmeta, err := f.readMeta(id)\n\tif err != nil {\n\t\tf.logger.Printf(\"[ERR] snapshot: Failed to get meta data to open snapshot: %v\", err)\n\t\treturn nil, nil, err\n\t}\n\n\t// Open the state file\n\tstatePath := filepath.Join(f.path, id, stateFilePath)\n\tfh, err := os.Open(statePath)\n\tif err != nil {\n\t\tf.logger.Printf(\"[ERR] snapshot: Failed to open state file: %v\", err)\n\t\treturn nil, nil, err\n\t}\n\n\t// Create a CRC64 hash\n\tstateHash := crc64.New(crc64.MakeTable(crc64.ECMA))\n\n\t// Compute the hash\n\t_, err = io.Copy(stateHash, fh)\n\tif err != nil {\n\t\tf.logger.Printf(\"[ERR] snapshot: Failed to read state file: %v\", err)\n\t\tfh.Close()\n\t\treturn nil, nil, err\n\t}\n\n\t// Verify the hash\n\tcomputed := stateHash.Sum(nil)\n\tif bytes.Compare(meta.CRC, computed) != 0 {\n\t\tf.logger.Printf(\"[ERR] snapshot: CRC checksum failed (stored: %v computed: %v)\",\n\t\t\tmeta.CRC, computed)\n\t\tfh.Close()\n\t\treturn nil, nil, fmt.Errorf(\"CRC mismatch\")\n\t}\n\n\t// Seek to the start\n\tif _, err := fh.Seek(0, 0); err != nil {\n\t\tf.logger.Printf(\"[ERR] snapshot: State file seek failed: %v\", err)\n\t\tfh.Close()\n\t\treturn nil, nil, err\n\t}\n\n\t// Return a buffered file\n\tbuffered := &bufferedFile{\n\t\tbh: bufio.NewReader(fh),\n\t\tfh: fh,\n\t}\n\n\treturn &meta.SnapshotMeta, buffered, nil\n}\n\n// ReapSnapshots reaps any snapshots beyond the retain count.\nfunc (f *FileSnapshotStore) ReapSnapshots() error {\n\tsnapshots, err := f.getSnapshots()\n\tif err != nil {\n\t\tf.logger.Printf(\"[ERR] snapshot: Failed to get snapshots: %v\", err)\n\t\treturn err\n\t}\n\n\tfor i := f.retain; i < len(snapshots); i++ {\n\t\tpath := filepath.Join(f.path, snapshots[i].ID)\n\t\tf.logger.Printf(\"[INFO] snapshot: reaping snapshot %v\", path)\n\t\tif err := os.RemoveAll(path); err != nil {\n\t\t\tf.logger.Printf(\"[ERR] snapshot: Failed to reap snapshot %v: %v\", path, err)\n\t\t\treturn err\n\t\t}\n\t}\n\treturn nil\n}\n\n// ID returns the ID of the snapshot, can be used with Open()\n// after the snapshot is finalized.\nfunc (s *FileSnapshotSink) ID() string {\n\treturn s.meta.ID\n}\n\n// Write is used to append to the state file. We write to the\n// buffered IO object to reduce the amount of context switches.\nfunc (s *FileSnapshotSink) Write(b []byte) (int, error) {\n\treturn s.buffered.Write(b)\n}\n\n// Close is used to indicate a successful end.\nfunc (s *FileSnapshotSink) Close() error {\n\t// Make sure close is idempotent\n\tif s.closed {\n\t\treturn nil\n\t}\n\ts.closed = true\n\n\t// Close the open handles\n\tif err := s.finalize(); err != nil {\n\t\ts.logger.Printf(\"[ERR] snapshot: Failed to finalize snapshot: %v\", err)\n\t\tif delErr := os.RemoveAll(s.dir); delErr != nil {\n\t\t\ts.logger.Printf(\"[ERR] snapshot: Failed to delete temporary snapshot directory at path %v: %v\", s.dir, delErr)\n\t\t\treturn delErr\n\t\t}\n\t\treturn err\n\t}\n\n\t// Write out the meta data\n\tif err := s.writeMeta(); err != nil {\n\t\ts.logger.Printf(\"[ERR] snapshot: Failed to write metadata: %v\", err)\n\t\treturn err\n\t}\n\n\t// Move the directory into place\n\tnewPath := strings.TrimSuffix(s.dir, tmpSuffix)\n\tif err := os.Rename(s.dir, newPath); err != nil {\n\t\ts.logger.Printf(\"[ERR] snapshot: Failed to move snapshot into place: %v\", err)\n\t\treturn err\n\t}\n\n\tif runtime.GOOS != \"windows\" { //skipping fsync for directory entry edits on Windows, only needed for *nix style file systems\n\t\tparentFH, err := os.Open(s.parentDir)\n\t\tdefer parentFH.Close()\n\t\tif err != nil {\n\t\t\ts.logger.Printf(\"[ERR] snapshot: Failed to open snapshot parent directory %v, error: %v\", s.parentDir, err)\n\t\t\treturn err\n\t\t}\n\n\t\tif err = parentFH.Sync(); err != nil {\n\t\t\ts.logger.Printf(\"[ERR] snapshot: Failed syncing parent directory %v, error: %v\", s.parentDir, err)\n\t\t\treturn err\n\t\t}\n\t}\n\n\t// Reap any old snapshots\n\tif err := s.store.ReapSnapshots(); err != nil {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n\n// Cancel is used to indicate an unsuccessful end.\nfunc (s *FileSnapshotSink) Cancel() error {\n\t// Make sure close is idempotent\n\tif s.closed {\n\t\treturn nil\n\t}\n\ts.closed = true\n\n\t// Close the open handles\n\tif err := s.finalize(); err != nil {\n\t\ts.logger.Printf(\"[ERR] snapshot: Failed to finalize snapshot: %v\", err)\n\t\treturn err\n\t}\n\n\t// Attempt to remove all artifacts\n\treturn os.RemoveAll(s.dir)\n}\n\n// finalize is used to close all of our resources.\nfunc (s *FileSnapshotSink) finalize() error {\n\t// Flush any remaining data\n\tif err := s.buffered.Flush(); err != nil {\n\t\treturn err\n\t}\n\n\t// Sync to force fsync to disk\n\tif err := s.stateFile.Sync(); err != nil {\n\t\treturn err\n\t}\n\n\t// Get the file size\n\tstat, statErr := s.stateFile.Stat()\n\n\t// Close the file\n\tif err := s.stateFile.Close(); err != nil {\n\t\treturn err\n\t}\n\n\t// Set the file size, check after we close\n\tif statErr != nil {\n\t\treturn statErr\n\t}\n\ts.meta.Size = stat.Size()\n\n\t// Set the CRC\n\ts.meta.CRC = s.stateHash.Sum(nil)\n\treturn nil\n}\n\n// writeMeta is used to write out the metadata we have.\nfunc (s *FileSnapshotSink) writeMeta() error {\n\t// Open the meta file\n\tmetaPath := filepath.Join(s.dir, metaFilePath)\n\tfh, err := os.Create(metaPath)\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer fh.Close()\n\n\t// Buffer the file IO\n\tbuffered := bufio.NewWriter(fh)\n\n\t// Write out as JSON\n\tenc := json.NewEncoder(buffered)\n\tif err := enc.Encode(&s.meta); err != nil {\n\t\treturn err\n\t}\n\n\tif err = buffered.Flush(); err != nil {\n\t\treturn err\n\t}\n\n\tif err = fh.Sync(); err != nil {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n\n// Implement the sort interface for []*fileSnapshotMeta.\nfunc (s snapMetaSlice) Len() int {\n\treturn len(s)\n}\n\nfunc (s snapMetaSlice) Less(i, j int) bool {\n\tif s[i].Term != s[j].Term {\n\t\treturn s[i].Term < s[j].Term\n\t}\n\tif s[i].Index != s[j].Index {\n\t\treturn s[i].Index < s[j].Index\n\t}\n\treturn s[i].ID < s[j].ID\n}\n\nfunc (s snapMetaSlice) Swap(i, j int) {\n\ts[i], s[j] = s[j], s[i]\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft/fsm.go",
    "content": "package raft\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"time\"\n\n\t\"github.com/armon/go-metrics\"\n)\n\n// FSM provides an interface that can be implemented by\n// clients to make use of the replicated log.\ntype FSM interface {\n\t// Apply log is invoked once a log entry is committed.\n\t// It returns a value which will be made available in the\n\t// ApplyFuture returned by Raft.Apply method if that\n\t// method was called on the same Raft node as the FSM.\n\tApply(*Log) interface{}\n\n\t// Snapshot is used to support log compaction. This call should\n\t// return an FSMSnapshot which can be used to save a point-in-time\n\t// snapshot of the FSM. Apply and Snapshot are not called in multiple\n\t// threads, but Apply will be called concurrently with Persist. This means\n\t// the FSM should be implemented in a fashion that allows for concurrent\n\t// updates while a snapshot is happening.\n\tSnapshot() (FSMSnapshot, error)\n\n\t// Restore is used to restore an FSM from a snapshot. It is not called\n\t// concurrently with any other command. The FSM must discard all previous\n\t// state.\n\tRestore(io.ReadCloser) error\n}\n\n// FSMSnapshot is returned by an FSM in response to a Snapshot\n// It must be safe to invoke FSMSnapshot methods with concurrent\n// calls to Apply.\ntype FSMSnapshot interface {\n\t// Persist should dump all necessary state to the WriteCloser 'sink',\n\t// and call sink.Close() when finished or call sink.Cancel() on error.\n\tPersist(sink SnapshotSink) error\n\n\t// Release is invoked when we are finished with the snapshot.\n\tRelease()\n}\n\n// runFSM is a long running goroutine responsible for applying logs\n// to the FSM. This is done async of other logs since we don't want\n// the FSM to block our internal operations.\nfunc (r *Raft) runFSM() {\n\tvar lastIndex, lastTerm uint64\n\n\tcommit := func(req *commitTuple) {\n\t\t// Apply the log if a command\n\t\tvar resp interface{}\n\t\tif req.log.Type == LogCommand {\n\t\t\tstart := time.Now()\n\t\t\tresp = r.fsm.Apply(req.log)\n\t\t\tmetrics.MeasureSince([]string{\"raft\", \"fsm\", \"apply\"}, start)\n\t\t}\n\n\t\t// Update the indexes\n\t\tlastIndex = req.log.Index\n\t\tlastTerm = req.log.Term\n\n\t\t// Invoke the future if given\n\t\tif req.future != nil {\n\t\t\treq.future.response = resp\n\t\t\treq.future.respond(nil)\n\t\t}\n\t}\n\n\trestore := func(req *restoreFuture) {\n\t\t// Open the snapshot\n\t\tmeta, source, err := r.snapshots.Open(req.ID)\n\t\tif err != nil {\n\t\t\treq.respond(fmt.Errorf(\"failed to open snapshot %v: %v\", req.ID, err))\n\t\t\treturn\n\t\t}\n\n\t\t// Attempt to restore\n\t\tstart := time.Now()\n\t\tif err := r.fsm.Restore(source); err != nil {\n\t\t\treq.respond(fmt.Errorf(\"failed to restore snapshot %v: %v\", req.ID, err))\n\t\t\tsource.Close()\n\t\t\treturn\n\t\t}\n\t\tsource.Close()\n\t\tmetrics.MeasureSince([]string{\"raft\", \"fsm\", \"restore\"}, start)\n\n\t\t// Update the last index and term\n\t\tlastIndex = meta.Index\n\t\tlastTerm = meta.Term\n\t\treq.respond(nil)\n\t}\n\n\tsnapshot := func(req *reqSnapshotFuture) {\n\t\t// Is there something to snapshot?\n\t\tif lastIndex == 0 {\n\t\t\treq.respond(ErrNothingNewToSnapshot)\n\t\t\treturn\n\t\t}\n\n\t\t// Start a snapshot\n\t\tstart := time.Now()\n\t\tsnap, err := r.fsm.Snapshot()\n\t\tmetrics.MeasureSince([]string{\"raft\", \"fsm\", \"snapshot\"}, start)\n\n\t\t// Respond to the request\n\t\treq.index = lastIndex\n\t\treq.term = lastTerm\n\t\treq.snapshot = snap\n\t\treq.respond(err)\n\t}\n\n\tfor {\n\t\tselect {\n\t\tcase ptr := <-r.fsmMutateCh:\n\t\t\tswitch req := ptr.(type) {\n\t\t\tcase *commitTuple:\n\t\t\t\tcommit(req)\n\n\t\t\tcase *restoreFuture:\n\t\t\t\trestore(req)\n\n\t\t\tdefault:\n\t\t\t\tpanic(fmt.Errorf(\"bad type passed to fsmMutateCh: %#v\", ptr))\n\t\t\t}\n\n\t\tcase req := <-r.fsmSnapshotCh:\n\t\t\tsnapshot(req)\n\n\t\tcase <-r.shutdownCh:\n\t\t\treturn\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft/future.go",
    "content": "package raft\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"sync\"\n\t\"time\"\n)\n\n// Future is used to represent an action that may occur in the future.\ntype Future interface {\n\t// Error blocks until the future arrives and then\n\t// returns the error status of the future.\n\t// This may be called any number of times - all\n\t// calls will return the same value.\n\t// Note that it is not OK to call this method\n\t// twice concurrently on the same Future instance.\n\tError() error\n}\n\n// IndexFuture is used for future actions that can result in a raft log entry\n// being created.\ntype IndexFuture interface {\n\tFuture\n\n\t// Index holds the index of the newly applied log entry.\n\t// This must not be called until after the Error method has returned.\n\tIndex() uint64\n}\n\n// ApplyFuture is used for Apply and can return the FSM response.\ntype ApplyFuture interface {\n\tIndexFuture\n\n\t// Response returns the FSM response as returned\n\t// by the FSM.Apply method. This must not be called\n\t// until after the Error method has returned.\n\tResponse() interface{}\n}\n\n// ConfigurationFuture is used for GetConfiguration and can return the\n// latest configuration in use by Raft.\ntype ConfigurationFuture interface {\n\tIndexFuture\n\n\t// Configuration contains the latest configuration. This must\n\t// not be called until after the Error method has returned.\n\tConfiguration() Configuration\n}\n\n// SnapshotFuture is used for waiting on a user-triggered snapshot to complete.\ntype SnapshotFuture interface {\n\tFuture\n\n\t// Open is a function you can call to access the underlying snapshot and\n\t// its metadata. This must not be called until after the Error method\n\t// has returned.\n\tOpen() (*SnapshotMeta, io.ReadCloser, error)\n}\n\n// errorFuture is used to return a static error.\ntype errorFuture struct {\n\terr error\n}\n\nfunc (e errorFuture) Error() error {\n\treturn e.err\n}\n\nfunc (e errorFuture) Response() interface{} {\n\treturn nil\n}\n\nfunc (e errorFuture) Index() uint64 {\n\treturn 0\n}\n\n// deferError can be embedded to allow a future\n// to provide an error in the future.\ntype deferError struct {\n\terr       error\n\terrCh     chan error\n\tresponded bool\n}\n\nfunc (d *deferError) init() {\n\td.errCh = make(chan error, 1)\n}\n\nfunc (d *deferError) Error() error {\n\tif d.err != nil {\n\t\t// Note that when we've received a nil error, this\n\t\t// won't trigger, but the channel is closed after\n\t\t// send so we'll still return nil below.\n\t\treturn d.err\n\t}\n\tif d.errCh == nil {\n\t\tpanic(\"waiting for response on nil channel\")\n\t}\n\td.err = <-d.errCh\n\treturn d.err\n}\n\nfunc (d *deferError) respond(err error) {\n\tif d.errCh == nil {\n\t\treturn\n\t}\n\tif d.responded {\n\t\treturn\n\t}\n\td.errCh <- err\n\tclose(d.errCh)\n\td.responded = true\n}\n\n// There are several types of requests that cause a configuration entry to\n// be appended to the log. These are encoded here for leaderLoop() to process.\n// This is internal to a single server.\ntype configurationChangeFuture struct {\n\tlogFuture\n\treq configurationChangeRequest\n}\n\n// bootstrapFuture is used to attempt a live bootstrap of the cluster. See the\n// Raft object's BootstrapCluster member function for more details.\ntype bootstrapFuture struct {\n\tdeferError\n\n\t// configuration is the proposed bootstrap configuration to apply.\n\tconfiguration Configuration\n}\n\n// logFuture is used to apply a log entry and waits until\n// the log is considered committed.\ntype logFuture struct {\n\tdeferError\n\tlog      Log\n\tresponse interface{}\n\tdispatch time.Time\n}\n\nfunc (l *logFuture) Response() interface{} {\n\treturn l.response\n}\n\nfunc (l *logFuture) Index() uint64 {\n\treturn l.log.Index\n}\n\ntype shutdownFuture struct {\n\traft *Raft\n}\n\nfunc (s *shutdownFuture) Error() error {\n\tif s.raft == nil {\n\t\treturn nil\n\t}\n\ts.raft.waitShutdown()\n\tif closeable, ok := s.raft.trans.(WithClose); ok {\n\t\tcloseable.Close()\n\t}\n\treturn nil\n}\n\n// userSnapshotFuture is used for waiting on a user-triggered snapshot to\n// complete.\ntype userSnapshotFuture struct {\n\tdeferError\n\n\t// opener is a function used to open the snapshot. This is filled in\n\t// once the future returns with no error.\n\topener func() (*SnapshotMeta, io.ReadCloser, error)\n}\n\n// Open is a function you can call to access the underlying snapshot and its\n// metadata.\nfunc (u *userSnapshotFuture) Open() (*SnapshotMeta, io.ReadCloser, error) {\n\tif u.opener == nil {\n\t\treturn nil, nil, fmt.Errorf(\"no snapshot available\")\n\t} else {\n\t\t// Invalidate the opener so it can't get called multiple times,\n\t\t// which isn't generally safe.\n\t\tdefer func() {\n\t\t\tu.opener = nil\n\t\t}()\n\t\treturn u.opener()\n\t}\n}\n\n// userRestoreFuture is used for waiting on a user-triggered restore of an\n// external snapshot to complete.\ntype userRestoreFuture struct {\n\tdeferError\n\n\t// meta is the metadata that belongs with the snapshot.\n\tmeta *SnapshotMeta\n\n\t// reader is the interface to read the snapshot contents from.\n\treader io.Reader\n}\n\n// reqSnapshotFuture is used for requesting a snapshot start.\n// It is only used internally.\ntype reqSnapshotFuture struct {\n\tdeferError\n\n\t// snapshot details provided by the FSM runner before responding\n\tindex    uint64\n\tterm     uint64\n\tsnapshot FSMSnapshot\n}\n\n// restoreFuture is used for requesting an FSM to perform a\n// snapshot restore. Used internally only.\ntype restoreFuture struct {\n\tdeferError\n\tID string\n}\n\n// verifyFuture is used to verify the current node is still\n// the leader. This is to prevent a stale read.\ntype verifyFuture struct {\n\tdeferError\n\tnotifyCh   chan *verifyFuture\n\tquorumSize int\n\tvotes      int\n\tvoteLock   sync.Mutex\n}\n\n// configurationsFuture is used to retrieve the current configurations. This is\n// used to allow safe access to this information outside of the main thread.\ntype configurationsFuture struct {\n\tdeferError\n\tconfigurations configurations\n}\n\n// Configuration returns the latest configuration in use by Raft.\nfunc (c *configurationsFuture) Configuration() Configuration {\n\treturn c.configurations.latest\n}\n\n// Index returns the index of the latest configuration in use by Raft.\nfunc (c *configurationsFuture) Index() uint64 {\n\treturn c.configurations.latestIndex\n}\n\n// vote is used to respond to a verifyFuture.\n// This may block when responding on the notifyCh.\nfunc (v *verifyFuture) vote(leader bool) {\n\tv.voteLock.Lock()\n\tdefer v.voteLock.Unlock()\n\n\t// Guard against having notified already\n\tif v.notifyCh == nil {\n\t\treturn\n\t}\n\n\tif leader {\n\t\tv.votes++\n\t\tif v.votes >= v.quorumSize {\n\t\t\tv.notifyCh <- v\n\t\t\tv.notifyCh = nil\n\t\t}\n\t} else {\n\t\tv.notifyCh <- v\n\t\tv.notifyCh = nil\n\t}\n}\n\n// appendFuture is used for waiting on a pipelined append\n// entries RPC.\ntype appendFuture struct {\n\tdeferError\n\tstart time.Time\n\targs  *AppendEntriesRequest\n\tresp  *AppendEntriesResponse\n}\n\nfunc (a *appendFuture) Start() time.Time {\n\treturn a.start\n}\n\nfunc (a *appendFuture) Request() *AppendEntriesRequest {\n\treturn a.args\n}\n\nfunc (a *appendFuture) Response() *AppendEntriesResponse {\n\treturn a.resp\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft/inmem_snapshot.go",
    "content": "package raft\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"io\"\n\t\"io/ioutil\"\n\t\"sync\"\n)\n\n// InmemSnapshotStore implements the SnapshotStore interface and\n// retains only the most recent snapshot\ntype InmemSnapshotStore struct {\n\tlatest      *InmemSnapshotSink\n\thasSnapshot bool\n\tsync.RWMutex\n}\n\n// InmemSnapshotSink implements SnapshotSink in memory\ntype InmemSnapshotSink struct {\n\tmeta     SnapshotMeta\n\tcontents *bytes.Buffer\n}\n\n// NewInmemSnapshotStore creates a blank new InmemSnapshotStore\nfunc NewInmemSnapshotStore() *InmemSnapshotStore {\n\treturn &InmemSnapshotStore{\n\t\tlatest: &InmemSnapshotSink{\n\t\t\tcontents: &bytes.Buffer{},\n\t\t},\n\t}\n}\n\n// Create replaces the stored snapshot with a new one using the given args\nfunc (m *InmemSnapshotStore) Create(version SnapshotVersion, index, term uint64,\n\tconfiguration Configuration, configurationIndex uint64, trans Transport) (SnapshotSink, error) {\n\t// We only support version 1 snapshots at this time.\n\tif version != 1 {\n\t\treturn nil, fmt.Errorf(\"unsupported snapshot version %d\", version)\n\t}\n\n\tname := snapshotName(term, index)\n\n\tm.Lock()\n\tdefer m.Unlock()\n\n\tsink := &InmemSnapshotSink{\n\t\tmeta: SnapshotMeta{\n\t\t\tVersion:            version,\n\t\t\tID:                 name,\n\t\t\tIndex:              index,\n\t\t\tTerm:               term,\n\t\t\tPeers:              encodePeers(configuration, trans),\n\t\t\tConfiguration:      configuration,\n\t\t\tConfigurationIndex: configurationIndex,\n\t\t},\n\t\tcontents: &bytes.Buffer{},\n\t}\n\tm.hasSnapshot = true\n\tm.latest = sink\n\n\treturn sink, nil\n}\n\n// List returns the latest snapshot taken\nfunc (m *InmemSnapshotStore) List() ([]*SnapshotMeta, error) {\n\tm.RLock()\n\tdefer m.RUnlock()\n\n\tif !m.hasSnapshot {\n\t\treturn []*SnapshotMeta{}, nil\n\t}\n\treturn []*SnapshotMeta{&m.latest.meta}, nil\n}\n\n// Open wraps an io.ReadCloser around the snapshot contents\nfunc (m *InmemSnapshotStore) Open(id string) (*SnapshotMeta, io.ReadCloser, error) {\n\tm.RLock()\n\tdefer m.RUnlock()\n\n\tif m.latest.meta.ID != id {\n\t\treturn nil, nil, fmt.Errorf(\"[ERR] snapshot: failed to open snapshot id: %s\", id)\n\t}\n\n\treturn &m.latest.meta, ioutil.NopCloser(m.latest.contents), nil\n}\n\n// Write appends the given bytes to the snapshot contents\nfunc (s *InmemSnapshotSink) Write(p []byte) (n int, err error) {\n\twritten, err := io.Copy(s.contents, bytes.NewReader(p))\n\ts.meta.Size += written\n\treturn int(written), err\n}\n\n// Close updates the Size and is otherwise a no-op\nfunc (s *InmemSnapshotSink) Close() error {\n\treturn nil\n}\n\nfunc (s *InmemSnapshotSink) ID() string {\n\treturn s.meta.ID\n}\n\nfunc (s *InmemSnapshotSink) Cancel() error {\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft/inmem_store.go",
    "content": "package raft\n\nimport (\n\t\"sync\"\n)\n\n// InmemStore implements the LogStore and StableStore interface.\n// It should NOT EVER be used for production. It is used only for\n// unit tests. Use the MDBStore implementation instead.\ntype InmemStore struct {\n\tl         sync.RWMutex\n\tlowIndex  uint64\n\thighIndex uint64\n\tlogs      map[uint64]*Log\n\tkv        map[string][]byte\n\tkvInt     map[string]uint64\n}\n\n// NewInmemStore returns a new in-memory backend. Do not ever\n// use for production. Only for testing.\nfunc NewInmemStore() *InmemStore {\n\ti := &InmemStore{\n\t\tlogs:  make(map[uint64]*Log),\n\t\tkv:    make(map[string][]byte),\n\t\tkvInt: make(map[string]uint64),\n\t}\n\treturn i\n}\n\n// FirstIndex implements the LogStore interface.\nfunc (i *InmemStore) FirstIndex() (uint64, error) {\n\ti.l.RLock()\n\tdefer i.l.RUnlock()\n\treturn i.lowIndex, nil\n}\n\n// LastIndex implements the LogStore interface.\nfunc (i *InmemStore) LastIndex() (uint64, error) {\n\ti.l.RLock()\n\tdefer i.l.RUnlock()\n\treturn i.highIndex, nil\n}\n\n// GetLog implements the LogStore interface.\nfunc (i *InmemStore) GetLog(index uint64, log *Log) error {\n\ti.l.RLock()\n\tdefer i.l.RUnlock()\n\tl, ok := i.logs[index]\n\tif !ok {\n\t\treturn ErrLogNotFound\n\t}\n\t*log = *l\n\treturn nil\n}\n\n// StoreLog implements the LogStore interface.\nfunc (i *InmemStore) StoreLog(log *Log) error {\n\treturn i.StoreLogs([]*Log{log})\n}\n\n// StoreLogs implements the LogStore interface.\nfunc (i *InmemStore) StoreLogs(logs []*Log) error {\n\ti.l.Lock()\n\tdefer i.l.Unlock()\n\tfor _, l := range logs {\n\t\ti.logs[l.Index] = l\n\t\tif i.lowIndex == 0 {\n\t\t\ti.lowIndex = l.Index\n\t\t}\n\t\tif l.Index > i.highIndex {\n\t\t\ti.highIndex = l.Index\n\t\t}\n\t}\n\treturn nil\n}\n\n// DeleteRange implements the LogStore interface.\nfunc (i *InmemStore) DeleteRange(min, max uint64) error {\n\ti.l.Lock()\n\tdefer i.l.Unlock()\n\tfor j := min; j <= max; j++ {\n\t\tdelete(i.logs, j)\n\t}\n\tif min <= i.lowIndex {\n\t\ti.lowIndex = max + 1\n\t}\n\tif max >= i.highIndex {\n\t\ti.highIndex = min - 1\n\t}\n\tif i.lowIndex > i.highIndex {\n\t\ti.lowIndex = 0\n\t\ti.highIndex = 0\n\t}\n\treturn nil\n}\n\n// Set implements the StableStore interface.\nfunc (i *InmemStore) Set(key []byte, val []byte) error {\n\ti.l.Lock()\n\tdefer i.l.Unlock()\n\ti.kv[string(key)] = val\n\treturn nil\n}\n\n// Get implements the StableStore interface.\nfunc (i *InmemStore) Get(key []byte) ([]byte, error) {\n\ti.l.RLock()\n\tdefer i.l.RUnlock()\n\treturn i.kv[string(key)], nil\n}\n\n// SetUint64 implements the StableStore interface.\nfunc (i *InmemStore) SetUint64(key []byte, val uint64) error {\n\ti.l.Lock()\n\tdefer i.l.Unlock()\n\ti.kvInt[string(key)] = val\n\treturn nil\n}\n\n// GetUint64 implements the StableStore interface.\nfunc (i *InmemStore) GetUint64(key []byte) (uint64, error) {\n\ti.l.RLock()\n\tdefer i.l.RUnlock()\n\treturn i.kvInt[string(key)], nil\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft/inmem_transport.go",
    "content": "package raft\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"sync\"\n\t\"time\"\n)\n\n// NewInmemAddr returns a new in-memory addr with\n// a randomly generate UUID as the ID.\nfunc NewInmemAddr() ServerAddress {\n\treturn ServerAddress(generateUUID())\n}\n\n// inmemPipeline is used to pipeline requests for the in-mem transport.\ntype inmemPipeline struct {\n\ttrans    *InmemTransport\n\tpeer     *InmemTransport\n\tpeerAddr ServerAddress\n\n\tdoneCh       chan AppendFuture\n\tinprogressCh chan *inmemPipelineInflight\n\n\tshutdown     bool\n\tshutdownCh   chan struct{}\n\tshutdownLock sync.Mutex\n}\n\ntype inmemPipelineInflight struct {\n\tfuture *appendFuture\n\trespCh <-chan RPCResponse\n}\n\n// InmemTransport Implements the Transport interface, to allow Raft to be\n// tested in-memory without going over a network.\ntype InmemTransport struct {\n\tsync.RWMutex\n\tconsumerCh chan RPC\n\tlocalAddr  ServerAddress\n\tpeers      map[ServerAddress]*InmemTransport\n\tpipelines  []*inmemPipeline\n\ttimeout    time.Duration\n}\n\n// NewInmemTransport is used to initialize a new transport\n// and generates a random local address if none is specified\nfunc NewInmemTransport(addr ServerAddress) (ServerAddress, *InmemTransport) {\n\tif string(addr) == \"\" {\n\t\taddr = NewInmemAddr()\n\t}\n\ttrans := &InmemTransport{\n\t\tconsumerCh: make(chan RPC, 16),\n\t\tlocalAddr:  addr,\n\t\tpeers:      make(map[ServerAddress]*InmemTransport),\n\t\ttimeout:    50 * time.Millisecond,\n\t}\n\treturn addr, trans\n}\n\n// SetHeartbeatHandler is used to set optional fast-path for\n// heartbeats, not supported for this transport.\nfunc (i *InmemTransport) SetHeartbeatHandler(cb func(RPC)) {\n}\n\n// Consumer implements the Transport interface.\nfunc (i *InmemTransport) Consumer() <-chan RPC {\n\treturn i.consumerCh\n}\n\n// LocalAddr implements the Transport interface.\nfunc (i *InmemTransport) LocalAddr() ServerAddress {\n\treturn i.localAddr\n}\n\n// AppendEntriesPipeline returns an interface that can be used to pipeline\n// AppendEntries requests.\nfunc (i *InmemTransport) AppendEntriesPipeline(id ServerID, target ServerAddress) (AppendPipeline, error) {\n\ti.RLock()\n\tpeer, ok := i.peers[target]\n\ti.RUnlock()\n\tif !ok {\n\t\treturn nil, fmt.Errorf(\"failed to connect to peer: %v\", target)\n\t}\n\tpipeline := newInmemPipeline(i, peer, target)\n\ti.Lock()\n\ti.pipelines = append(i.pipelines, pipeline)\n\ti.Unlock()\n\treturn pipeline, nil\n}\n\n// AppendEntries implements the Transport interface.\nfunc (i *InmemTransport) AppendEntries(id ServerID, target ServerAddress, args *AppendEntriesRequest, resp *AppendEntriesResponse) error {\n\trpcResp, err := i.makeRPC(target, args, nil, i.timeout)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Copy the result back\n\tout := rpcResp.Response.(*AppendEntriesResponse)\n\t*resp = *out\n\treturn nil\n}\n\n// RequestVote implements the Transport interface.\nfunc (i *InmemTransport) RequestVote(id ServerID, target ServerAddress, args *RequestVoteRequest, resp *RequestVoteResponse) error {\n\trpcResp, err := i.makeRPC(target, args, nil, i.timeout)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Copy the result back\n\tout := rpcResp.Response.(*RequestVoteResponse)\n\t*resp = *out\n\treturn nil\n}\n\n// InstallSnapshot implements the Transport interface.\nfunc (i *InmemTransport) InstallSnapshot(id ServerID, target ServerAddress, args *InstallSnapshotRequest, resp *InstallSnapshotResponse, data io.Reader) error {\n\trpcResp, err := i.makeRPC(target, args, data, 10*i.timeout)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Copy the result back\n\tout := rpcResp.Response.(*InstallSnapshotResponse)\n\t*resp = *out\n\treturn nil\n}\n\nfunc (i *InmemTransport) makeRPC(target ServerAddress, args interface{}, r io.Reader, timeout time.Duration) (rpcResp RPCResponse, err error) {\n\ti.RLock()\n\tpeer, ok := i.peers[target]\n\ti.RUnlock()\n\n\tif !ok {\n\t\terr = fmt.Errorf(\"failed to connect to peer: %v\", target)\n\t\treturn\n\t}\n\n\t// Send the RPC over\n\trespCh := make(chan RPCResponse)\n\tpeer.consumerCh <- RPC{\n\t\tCommand:  args,\n\t\tReader:   r,\n\t\tRespChan: respCh,\n\t}\n\n\t// Wait for a response\n\tselect {\n\tcase rpcResp = <-respCh:\n\t\tif rpcResp.Error != nil {\n\t\t\terr = rpcResp.Error\n\t\t}\n\tcase <-time.After(timeout):\n\t\terr = fmt.Errorf(\"command timed out\")\n\t}\n\treturn\n}\n\n// EncodePeer implements the Transport interface.\nfunc (i *InmemTransport) EncodePeer(id ServerID, p ServerAddress) []byte {\n\treturn []byte(p)\n}\n\n// DecodePeer implements the Transport interface.\nfunc (i *InmemTransport) DecodePeer(buf []byte) ServerAddress {\n\treturn ServerAddress(buf)\n}\n\n// Connect is used to connect this transport to another transport for\n// a given peer name. This allows for local routing.\nfunc (i *InmemTransport) Connect(peer ServerAddress, t Transport) {\n\ttrans := t.(*InmemTransport)\n\ti.Lock()\n\tdefer i.Unlock()\n\ti.peers[peer] = trans\n}\n\n// Disconnect is used to remove the ability to route to a given peer.\nfunc (i *InmemTransport) Disconnect(peer ServerAddress) {\n\ti.Lock()\n\tdefer i.Unlock()\n\tdelete(i.peers, peer)\n\n\t// Disconnect any pipelines\n\tn := len(i.pipelines)\n\tfor idx := 0; idx < n; idx++ {\n\t\tif i.pipelines[idx].peerAddr == peer {\n\t\t\ti.pipelines[idx].Close()\n\t\t\ti.pipelines[idx], i.pipelines[n-1] = i.pipelines[n-1], nil\n\t\t\tidx--\n\t\t\tn--\n\t\t}\n\t}\n\ti.pipelines = i.pipelines[:n]\n}\n\n// DisconnectAll is used to remove all routes to peers.\nfunc (i *InmemTransport) DisconnectAll() {\n\ti.Lock()\n\tdefer i.Unlock()\n\ti.peers = make(map[ServerAddress]*InmemTransport)\n\n\t// Handle pipelines\n\tfor _, pipeline := range i.pipelines {\n\t\tpipeline.Close()\n\t}\n\ti.pipelines = nil\n}\n\n// Close is used to permanently disable the transport\nfunc (i *InmemTransport) Close() error {\n\ti.DisconnectAll()\n\treturn nil\n}\n\nfunc newInmemPipeline(trans *InmemTransport, peer *InmemTransport, addr ServerAddress) *inmemPipeline {\n\ti := &inmemPipeline{\n\t\ttrans:        trans,\n\t\tpeer:         peer,\n\t\tpeerAddr:     addr,\n\t\tdoneCh:       make(chan AppendFuture, 16),\n\t\tinprogressCh: make(chan *inmemPipelineInflight, 16),\n\t\tshutdownCh:   make(chan struct{}),\n\t}\n\tgo i.decodeResponses()\n\treturn i\n}\n\nfunc (i *inmemPipeline) decodeResponses() {\n\ttimeout := i.trans.timeout\n\tfor {\n\t\tselect {\n\t\tcase inp := <-i.inprogressCh:\n\t\t\tvar timeoutCh <-chan time.Time\n\t\t\tif timeout > 0 {\n\t\t\t\ttimeoutCh = time.After(timeout)\n\t\t\t}\n\n\t\t\tselect {\n\t\t\tcase rpcResp := <-inp.respCh:\n\t\t\t\t// Copy the result back\n\t\t\t\t*inp.future.resp = *rpcResp.Response.(*AppendEntriesResponse)\n\t\t\t\tinp.future.respond(rpcResp.Error)\n\n\t\t\t\tselect {\n\t\t\t\tcase i.doneCh <- inp.future:\n\t\t\t\tcase <-i.shutdownCh:\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\tcase <-timeoutCh:\n\t\t\t\tinp.future.respond(fmt.Errorf(\"command timed out\"))\n\t\t\t\tselect {\n\t\t\t\tcase i.doneCh <- inp.future:\n\t\t\t\tcase <-i.shutdownCh:\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\tcase <-i.shutdownCh:\n\t\t\t\treturn\n\t\t\t}\n\t\tcase <-i.shutdownCh:\n\t\t\treturn\n\t\t}\n\t}\n}\n\nfunc (i *inmemPipeline) AppendEntries(args *AppendEntriesRequest, resp *AppendEntriesResponse) (AppendFuture, error) {\n\t// Create a new future\n\tfuture := &appendFuture{\n\t\tstart: time.Now(),\n\t\targs:  args,\n\t\tresp:  resp,\n\t}\n\tfuture.init()\n\n\t// Handle a timeout\n\tvar timeout <-chan time.Time\n\tif i.trans.timeout > 0 {\n\t\ttimeout = time.After(i.trans.timeout)\n\t}\n\n\t// Send the RPC over\n\trespCh := make(chan RPCResponse, 1)\n\trpc := RPC{\n\t\tCommand:  args,\n\t\tRespChan: respCh,\n\t}\n\tselect {\n\tcase i.peer.consumerCh <- rpc:\n\tcase <-timeout:\n\t\treturn nil, fmt.Errorf(\"command enqueue timeout\")\n\tcase <-i.shutdownCh:\n\t\treturn nil, ErrPipelineShutdown\n\t}\n\n\t// Send to be decoded\n\tselect {\n\tcase i.inprogressCh <- &inmemPipelineInflight{future, respCh}:\n\t\treturn future, nil\n\tcase <-i.shutdownCh:\n\t\treturn nil, ErrPipelineShutdown\n\t}\n}\n\nfunc (i *inmemPipeline) Consumer() <-chan AppendFuture {\n\treturn i.doneCh\n}\n\nfunc (i *inmemPipeline) Close() error {\n\ti.shutdownLock.Lock()\n\tdefer i.shutdownLock.Unlock()\n\tif i.shutdown {\n\t\treturn nil\n\t}\n\n\ti.shutdown = true\n\tclose(i.shutdownCh)\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft/log.go",
    "content": "package raft\n\n// LogType describes various types of log entries.\ntype LogType uint8\n\nconst (\n\t// LogCommand is applied to a user FSM.\n\tLogCommand LogType = iota\n\n\t// LogNoop is used to assert leadership.\n\tLogNoop\n\n\t// LogAddPeer is used to add a new peer. This should only be used with\n\t// older protocol versions designed to be compatible with unversioned\n\t// Raft servers. See comments in config.go for details.\n\tLogAddPeerDeprecated\n\n\t// LogRemovePeer is used to remove an existing peer. This should only be\n\t// used with older protocol versions designed to be compatible with\n\t// unversioned Raft servers. See comments in config.go for details.\n\tLogRemovePeerDeprecated\n\n\t// LogBarrier is used to ensure all preceding operations have been\n\t// applied to the FSM. It is similar to LogNoop, but instead of returning\n\t// once committed, it only returns once the FSM manager acks it. Otherwise\n\t// it is possible there are operations committed but not yet applied to\n\t// the FSM.\n\tLogBarrier\n\n\t// LogConfiguration establishes a membership change configuration. It is\n\t// created when a server is added, removed, promoted, etc. Only used\n\t// when protocol version 1 or greater is in use.\n\tLogConfiguration\n)\n\n// Log entries are replicated to all members of the Raft cluster\n// and form the heart of the replicated state machine.\ntype Log struct {\n\t// Index holds the index of the log entry.\n\tIndex uint64\n\n\t// Term holds the election term of the log entry.\n\tTerm uint64\n\n\t// Type holds the type of the log entry.\n\tType LogType\n\n\t// Data holds the log entry's type-specific data.\n\tData []byte\n}\n\n// LogStore is used to provide an interface for storing\n// and retrieving logs in a durable fashion.\ntype LogStore interface {\n\t// FirstIndex returns the first index written. 0 for no entries.\n\tFirstIndex() (uint64, error)\n\n\t// LastIndex returns the last index written. 0 for no entries.\n\tLastIndex() (uint64, error)\n\n\t// GetLog gets a log entry at a given index.\n\tGetLog(index uint64, log *Log) error\n\n\t// StoreLog stores a log entry.\n\tStoreLog(log *Log) error\n\n\t// StoreLogs stores multiple log entries.\n\tStoreLogs(logs []*Log) error\n\n\t// DeleteRange deletes a range of log entries. The range is inclusive.\n\tDeleteRange(min, max uint64) error\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft/log_cache.go",
    "content": "package raft\n\nimport (\n\t\"fmt\"\n\t\"sync\"\n)\n\n// LogCache wraps any LogStore implementation to provide an\n// in-memory ring buffer. This is used to cache access to\n// the recently written entries. For implementations that do not\n// cache themselves, this can provide a substantial boost by\n// avoiding disk I/O on recent entries.\ntype LogCache struct {\n\tstore LogStore\n\n\tcache []*Log\n\tl     sync.RWMutex\n}\n\n// NewLogCache is used to create a new LogCache with the\n// given capacity and backend store.\nfunc NewLogCache(capacity int, store LogStore) (*LogCache, error) {\n\tif capacity <= 0 {\n\t\treturn nil, fmt.Errorf(\"capacity must be positive\")\n\t}\n\tc := &LogCache{\n\t\tstore: store,\n\t\tcache: make([]*Log, capacity),\n\t}\n\treturn c, nil\n}\n\nfunc (c *LogCache) GetLog(idx uint64, log *Log) error {\n\t// Check the buffer for an entry\n\tc.l.RLock()\n\tcached := c.cache[idx%uint64(len(c.cache))]\n\tc.l.RUnlock()\n\n\t// Check if entry is valid\n\tif cached != nil && cached.Index == idx {\n\t\t*log = *cached\n\t\treturn nil\n\t}\n\n\t// Forward request on cache miss\n\treturn c.store.GetLog(idx, log)\n}\n\nfunc (c *LogCache) StoreLog(log *Log) error {\n\treturn c.StoreLogs([]*Log{log})\n}\n\nfunc (c *LogCache) StoreLogs(logs []*Log) error {\n\t// Insert the logs into the ring buffer\n\tc.l.Lock()\n\tfor _, l := range logs {\n\t\tc.cache[l.Index%uint64(len(c.cache))] = l\n\t}\n\tc.l.Unlock()\n\n\treturn c.store.StoreLogs(logs)\n}\n\nfunc (c *LogCache) FirstIndex() (uint64, error) {\n\treturn c.store.FirstIndex()\n}\n\nfunc (c *LogCache) LastIndex() (uint64, error) {\n\treturn c.store.LastIndex()\n}\n\nfunc (c *LogCache) DeleteRange(min, max uint64) error {\n\t// Invalidate the cache on deletes\n\tc.l.Lock()\n\tc.cache = make([]*Log, len(c.cache))\n\tc.l.Unlock()\n\n\treturn c.store.DeleteRange(min, max)\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft/membership.md",
    "content": "Simon (@superfell) and I (@ongardie) talked through reworking this library's cluster membership changes last Friday. We don't see a way to split this into independent patches, so we're taking the next best approach: submitting the plan here for review, then working on an enormous PR. Your feedback would be appreciated. (@superfell is out this week, however, so don't expect him to respond quickly.)\n\nThese are the main goals:\n - Bringing things in line with the description in my PhD dissertation;\n - Catching up new servers prior to granting them a vote, as well as allowing permanent non-voting members; and\n - Eliminating the `peers.json` file, to avoid issues of consistency between that and the log/snapshot.\n\n## Data-centric view\n\nWe propose to re-define a *configuration* as a set of servers, where each server includes an address (as it does today) and a mode that is either:\n - *Voter*: a server whose vote is counted in elections and whose match index is used in advancing the leader's commit index.\n - *Nonvoter*: a server that receives log entries but is not considered for elections or commitment purposes.\n - *Staging*: a server that acts like a nonvoter with one exception: once a staging server receives enough log entries to catch up sufficiently to the leader's log, the leader will invoke a  membership change to change the staging server to a voter.\n\nAll changes to the configuration will be done by writing a new configuration to the log. The new configuration will be in affect as soon as it is appended to the log (not when it is committed like a normal state machine command). Note that, per my dissertation, there can be at most one uncommitted configuration at a time (the next configuration may not be created until the prior one has been committed). It's not strictly necessary to follow these same rules for the nonvoter/staging servers, but we think its best to treat all changes uniformly.\n\nEach server will track two configurations:\n 1. its *committed configuration*: the latest configuration in the log/snapshot that has been committed, along with its index.\n 2. its *latest configuration*: the latest configuration in the log/snapshot (may be committed or uncommitted), along with its index.\n\nWhen there's no membership change happening, these two will be the same. The latest configuration is almost always the one used, except:\n - When followers truncate the suffix of their logs, they may need to fall back to the committed configuration.\n - When snapshotting, the committed configuration is written, to correspond with the committed log prefix that is being snapshotted.\n\n\n## Application API\n\nWe propose the following operations for clients to manipulate the cluster configuration:\n - AddVoter: server becomes staging unless voter,\n - AddNonvoter: server becomes nonvoter unless staging or voter,\n - DemoteVoter: server becomes nonvoter unless absent,\n - RemovePeer: server removed from configuration,\n - GetConfiguration: waits for latest config to commit, returns committed config.\n\nThis diagram, of which I'm quite proud, shows the possible transitions:\n```\n+-----------------------------------------------------------------------------+\n|                                                                             |\n|                      Start ->  +--------+                                   |\n|            ,------<------------|        |                                   |\n|           /                    | absent |                                   |\n|          /       RemovePeer--> |        | <---RemovePeer                    |\n|         /            |         +--------+               \\                   |\n|        /             |            |                      \\                  |\n|   AddNonvoter        |         AddVoter                   \\                 |\n|       |       ,->---' `--<-.      |                        \\                |\n|       v      /              \\     v                         \\               |\n|  +----------+                +----------+                    +----------+   |\n|  |          | ---AddVoter--> |          | -log caught up --> |          |   |\n|  | nonvoter |                | staging  |                    |  voter   |   |\n|  |          | <-DemoteVoter- |          |                 ,- |          |   |\n|  +----------+         \\      +----------+                /   +----------+   |\n|                        \\                                /                   |\n|                         `--------------<---------------'                    |\n|                                                                             |\n+-----------------------------------------------------------------------------+\n```\n\nWhile these operations aren't quite symmetric, we think they're a good set to capture\nthe possible intent of the user. For example, if I want to make sure a server doesn't have a vote, but the server isn't part of the configuration at all, it probably shouldn't be added as a nonvoting server.\n\nEach of these application-level operations will be interpreted by the leader and, if it has an effect, will cause the leader to write a new configuration entry to its log. Which particular application-level operation caused the log entry to be written need not be part of the log entry.\n\n## Code implications\n\nThis is a non-exhaustive list, but we came up with a few things:\n- Remove the PeerStore: the `peers.json` file introduces the possibility of getting out of sync with the log and snapshot, and it's hard to maintain this atomically as the log changes. It's not clear whether it's meant to track the committed or latest configuration, either.\n- Servers will have to search their snapshot and log to find the committed configuration and the latest configuration on startup.\n- Bootstrap will no longer use `peers.json` but should initialize the log or snapshot with an application-provided configuration entry.\n- Snapshots should store the index of their configuration along with the configuration itself. In my experience with LogCabin, the original log index of the configuration is very useful to include in debug log messages.\n- As noted in hashicorp/raft#84, configuration change requests should come in via a separate channel, and one may not proceed until the last has been committed.\n- As to deciding when a log is sufficiently caught up, implementing a sophisticated algorithm *is* something that can be done in a separate PR. An easy and decent placeholder is: once the staging server has reached 95% of the leader's commit index, promote it.\n\n## Feedback\n\nAgain, we're looking for feedback here before we start working on this. Here are some questions to think about:\n - Does this seem like where we want things to go?\n - Is there anything here that should be left out?\n - Is there anything else we're forgetting about?\n - Is there a good way to break this up?\n - What do we need to worry about in terms of backwards compatibility?\n - What implication will this have on current tests?\n - What's the best way to test this code, in particular the small changes that will be sprinkled all over the library?\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft/net_transport.go",
    "content": "package raft\n\nimport (\n\t\"bufio\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"log\"\n\t\"net\"\n\t\"os\"\n\t\"sync\"\n\t\"time\"\n\n\t\"github.com/hashicorp/go-msgpack/codec\"\n)\n\nconst (\n\trpcAppendEntries uint8 = iota\n\trpcRequestVote\n\trpcInstallSnapshot\n\n\t// DefaultTimeoutScale is the default TimeoutScale in a NetworkTransport.\n\tDefaultTimeoutScale = 256 * 1024 // 256KB\n\n\t// rpcMaxPipeline controls the maximum number of outstanding\n\t// AppendEntries RPC calls.\n\trpcMaxPipeline = 128\n)\n\nvar (\n\t// ErrTransportShutdown is returned when operations on a transport are\n\t// invoked after it's been terminated.\n\tErrTransportShutdown = errors.New(\"transport shutdown\")\n\n\t// ErrPipelineShutdown is returned when the pipeline is closed.\n\tErrPipelineShutdown = errors.New(\"append pipeline closed\")\n)\n\n/*\n\nNetworkTransport provides a network based transport that can be\nused to communicate with Raft on remote machines. It requires\nan underlying stream layer to provide a stream abstraction, which can\nbe simple TCP, TLS, etc.\n\nThis transport is very simple and lightweight. Each RPC request is\nframed by sending a byte that indicates the message type, followed\nby the MsgPack encoded request.\n\nThe response is an error string followed by the response object,\nboth are encoded using MsgPack.\n\nInstallSnapshot is special, in that after the RPC request we stream\nthe entire state. That socket is not re-used as the connection state\nis not known if there is an error.\n\n*/\ntype NetworkTransport struct {\n\tconnPool     map[ServerAddress][]*netConn\n\tconnPoolLock sync.Mutex\n\n\tconsumeCh chan RPC\n\n\theartbeatFn     func(RPC)\n\theartbeatFnLock sync.Mutex\n\n\tlogger *log.Logger\n\n\tmaxPool int\n\n\tserverAddressProvider ServerAddressProvider\n\n\tshutdown     bool\n\tshutdownCh   chan struct{}\n\tshutdownLock sync.Mutex\n\n\tstream StreamLayer\n\n\ttimeout      time.Duration\n\tTimeoutScale int\n}\n\n// NetworkTransportConfig encapsulates configuration for the network transport layer.\ntype NetworkTransportConfig struct {\n\t// ServerAddressProvider is used to override the target address when establishing a connection to invoke an RPC\n\tServerAddressProvider ServerAddressProvider\n\n\tLogger *log.Logger\n\n\t// Dialer\n\tStream StreamLayer\n\n\t// MaxPool controls how many connections we will pool\n\tMaxPool int\n\n\t// Timeout is used to apply I/O deadlines. For InstallSnapshot, we multiply\n\t// the timeout by (SnapshotSize / TimeoutScale).\n\tTimeout time.Duration\n}\n\ntype ServerAddressProvider interface {\n\tServerAddr(id ServerID) (ServerAddress, error)\n}\n\n// StreamLayer is used with the NetworkTransport to provide\n// the low level stream abstraction.\ntype StreamLayer interface {\n\tnet.Listener\n\n\t// Dial is used to create a new outgoing connection\n\tDial(address ServerAddress, timeout time.Duration) (net.Conn, error)\n}\n\ntype netConn struct {\n\ttarget ServerAddress\n\tconn   net.Conn\n\tr      *bufio.Reader\n\tw      *bufio.Writer\n\tdec    *codec.Decoder\n\tenc    *codec.Encoder\n}\n\nfunc (n *netConn) Release() error {\n\treturn n.conn.Close()\n}\n\ntype netPipeline struct {\n\tconn  *netConn\n\ttrans *NetworkTransport\n\n\tdoneCh       chan AppendFuture\n\tinprogressCh chan *appendFuture\n\n\tshutdown     bool\n\tshutdownCh   chan struct{}\n\tshutdownLock sync.Mutex\n}\n\n// NewNetworkTransportWithConfig creates a new network transport with the given config struct\nfunc NewNetworkTransportWithConfig(\n\tconfig *NetworkTransportConfig,\n) *NetworkTransport {\n\tif config.Logger == nil {\n\t\tconfig.Logger = log.New(os.Stderr, \"\", log.LstdFlags)\n\t}\n\ttrans := &NetworkTransport{\n\t\tconnPool:              make(map[ServerAddress][]*netConn),\n\t\tconsumeCh:             make(chan RPC),\n\t\tlogger:                config.Logger,\n\t\tmaxPool:               config.MaxPool,\n\t\tshutdownCh:            make(chan struct{}),\n\t\tstream:                config.Stream,\n\t\ttimeout:               config.Timeout,\n\t\tTimeoutScale:          DefaultTimeoutScale,\n\t\tserverAddressProvider: config.ServerAddressProvider,\n\t}\n\tgo trans.listen()\n\treturn trans\n}\n\n// NewNetworkTransport creates a new network transport with the given dialer\n// and listener. The maxPool controls how many connections we will pool. The\n// timeout is used to apply I/O deadlines. For InstallSnapshot, we multiply\n// the timeout by (SnapshotSize / TimeoutScale).\nfunc NewNetworkTransport(\n\tstream StreamLayer,\n\tmaxPool int,\n\ttimeout time.Duration,\n\tlogOutput io.Writer,\n) *NetworkTransport {\n\tif logOutput == nil {\n\t\tlogOutput = os.Stderr\n\t}\n\tlogger := log.New(logOutput, \"\", log.LstdFlags)\n\tconfig := &NetworkTransportConfig{Stream: stream, MaxPool: maxPool, Timeout: timeout, Logger: logger}\n\treturn NewNetworkTransportWithConfig(config)\n}\n\n// NewNetworkTransportWithLogger creates a new network transport with the given logger, dialer\n// and listener. The maxPool controls how many connections we will pool. The\n// timeout is used to apply I/O deadlines. For InstallSnapshot, we multiply\n// the timeout by (SnapshotSize / TimeoutScale).\nfunc NewNetworkTransportWithLogger(\n\tstream StreamLayer,\n\tmaxPool int,\n\ttimeout time.Duration,\n\tlogger *log.Logger,\n) *NetworkTransport {\n\tconfig := &NetworkTransportConfig{Stream: stream, MaxPool: maxPool, Timeout: timeout, Logger: logger}\n\treturn NewNetworkTransportWithConfig(config)\n}\n\n// SetHeartbeatHandler is used to setup a heartbeat handler\n// as a fast-pass. This is to avoid head-of-line blocking from\n// disk IO.\nfunc (n *NetworkTransport) SetHeartbeatHandler(cb func(rpc RPC)) {\n\tn.heartbeatFnLock.Lock()\n\tdefer n.heartbeatFnLock.Unlock()\n\tn.heartbeatFn = cb\n}\n\n// Close is used to stop the network transport.\nfunc (n *NetworkTransport) Close() error {\n\tn.shutdownLock.Lock()\n\tdefer n.shutdownLock.Unlock()\n\n\tif !n.shutdown {\n\t\tclose(n.shutdownCh)\n\t\tn.stream.Close()\n\t\tn.shutdown = true\n\t}\n\treturn nil\n}\n\n// Consumer implements the Transport interface.\nfunc (n *NetworkTransport) Consumer() <-chan RPC {\n\treturn n.consumeCh\n}\n\n// LocalAddr implements the Transport interface.\nfunc (n *NetworkTransport) LocalAddr() ServerAddress {\n\treturn ServerAddress(n.stream.Addr().String())\n}\n\n// IsShutdown is used to check if the transport is shutdown.\nfunc (n *NetworkTransport) IsShutdown() bool {\n\tselect {\n\tcase <-n.shutdownCh:\n\t\treturn true\n\tdefault:\n\t\treturn false\n\t}\n}\n\n// getExistingConn is used to grab a pooled connection.\nfunc (n *NetworkTransport) getPooledConn(target ServerAddress) *netConn {\n\tn.connPoolLock.Lock()\n\tdefer n.connPoolLock.Unlock()\n\n\tconns, ok := n.connPool[target]\n\tif !ok || len(conns) == 0 {\n\t\treturn nil\n\t}\n\n\tvar conn *netConn\n\tnum := len(conns)\n\tconn, conns[num-1] = conns[num-1], nil\n\tn.connPool[target] = conns[:num-1]\n\treturn conn\n}\n\n// getConnFromAddressProvider returns a connection from the server address provider if available, or defaults to a connection using the target server address\nfunc (n *NetworkTransport) getConnFromAddressProvider(id ServerID, target ServerAddress) (*netConn, error) {\n\taddress := n.getProviderAddressOrFallback(id, target)\n\treturn n.getConn(address)\n}\n\nfunc (n *NetworkTransport) getProviderAddressOrFallback(id ServerID, target ServerAddress) ServerAddress {\n\tif n.serverAddressProvider != nil {\n\t\tserverAddressOverride, err := n.serverAddressProvider.ServerAddr(id)\n\t\tif err != nil {\n\t\t\tn.logger.Printf(\"[WARN] Unable to get address for server id %v, using fallback address %v: %v\", id, target, err)\n\t\t} else {\n\t\t\treturn serverAddressOverride\n\t\t}\n\t}\n\treturn target\n}\n\n// getConn is used to get a connection from the pool.\nfunc (n *NetworkTransport) getConn(target ServerAddress) (*netConn, error) {\n\t// Check for a pooled conn\n\tif conn := n.getPooledConn(target); conn != nil {\n\t\treturn conn, nil\n\t}\n\n\t// Dial a new connection\n\tconn, err := n.stream.Dial(target, n.timeout)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\t// Wrap the conn\n\tnetConn := &netConn{\n\t\ttarget: target,\n\t\tconn:   conn,\n\t\tr:      bufio.NewReader(conn),\n\t\tw:      bufio.NewWriter(conn),\n\t}\n\n\t// Setup encoder/decoders\n\tnetConn.dec = codec.NewDecoder(netConn.r, &codec.MsgpackHandle{})\n\tnetConn.enc = codec.NewEncoder(netConn.w, &codec.MsgpackHandle{})\n\n\t// Done\n\treturn netConn, nil\n}\n\n// returnConn returns a connection back to the pool.\nfunc (n *NetworkTransport) returnConn(conn *netConn) {\n\tn.connPoolLock.Lock()\n\tdefer n.connPoolLock.Unlock()\n\n\tkey := conn.target\n\tconns, _ := n.connPool[key]\n\n\tif !n.IsShutdown() && len(conns) < n.maxPool {\n\t\tn.connPool[key] = append(conns, conn)\n\t} else {\n\t\tconn.Release()\n\t}\n}\n\n// AppendEntriesPipeline returns an interface that can be used to pipeline\n// AppendEntries requests.\nfunc (n *NetworkTransport) AppendEntriesPipeline(id ServerID, target ServerAddress) (AppendPipeline, error) {\n\t// Get a connection\n\tconn, err := n.getConnFromAddressProvider(id, target)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\t// Create the pipeline\n\treturn newNetPipeline(n, conn), nil\n}\n\n// AppendEntries implements the Transport interface.\nfunc (n *NetworkTransport) AppendEntries(id ServerID, target ServerAddress, args *AppendEntriesRequest, resp *AppendEntriesResponse) error {\n\treturn n.genericRPC(id, target, rpcAppendEntries, args, resp)\n}\n\n// RequestVote implements the Transport interface.\nfunc (n *NetworkTransport) RequestVote(id ServerID, target ServerAddress, args *RequestVoteRequest, resp *RequestVoteResponse) error {\n\treturn n.genericRPC(id, target, rpcRequestVote, args, resp)\n}\n\n// genericRPC handles a simple request/response RPC.\nfunc (n *NetworkTransport) genericRPC(id ServerID, target ServerAddress, rpcType uint8, args interface{}, resp interface{}) error {\n\t// Get a conn\n\tconn, err := n.getConnFromAddressProvider(id, target)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Set a deadline\n\tif n.timeout > 0 {\n\t\tconn.conn.SetDeadline(time.Now().Add(n.timeout))\n\t}\n\n\t// Send the RPC\n\tif err = sendRPC(conn, rpcType, args); err != nil {\n\t\treturn err\n\t}\n\n\t// Decode the response\n\tcanReturn, err := decodeResponse(conn, resp)\n\tif canReturn {\n\t\tn.returnConn(conn)\n\t}\n\treturn err\n}\n\n// InstallSnapshot implements the Transport interface.\nfunc (n *NetworkTransport) InstallSnapshot(id ServerID, target ServerAddress, args *InstallSnapshotRequest, resp *InstallSnapshotResponse, data io.Reader) error {\n\t// Get a conn, always close for InstallSnapshot\n\tconn, err := n.getConnFromAddressProvider(id, target)\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer conn.Release()\n\n\t// Set a deadline, scaled by request size\n\tif n.timeout > 0 {\n\t\ttimeout := n.timeout * time.Duration(args.Size/int64(n.TimeoutScale))\n\t\tif timeout < n.timeout {\n\t\t\ttimeout = n.timeout\n\t\t}\n\t\tconn.conn.SetDeadline(time.Now().Add(timeout))\n\t}\n\n\t// Send the RPC\n\tif err = sendRPC(conn, rpcInstallSnapshot, args); err != nil {\n\t\treturn err\n\t}\n\n\t// Stream the state\n\tif _, err = io.Copy(conn.w, data); err != nil {\n\t\treturn err\n\t}\n\n\t// Flush\n\tif err = conn.w.Flush(); err != nil {\n\t\treturn err\n\t}\n\n\t// Decode the response, do not return conn\n\t_, err = decodeResponse(conn, resp)\n\treturn err\n}\n\n// EncodePeer implements the Transport interface.\nfunc (n *NetworkTransport) EncodePeer(id ServerID, p ServerAddress) []byte {\n\taddress := n.getProviderAddressOrFallback(id, p)\n\treturn []byte(address)\n}\n\n// DecodePeer implements the Transport interface.\nfunc (n *NetworkTransport) DecodePeer(buf []byte) ServerAddress {\n\treturn ServerAddress(buf)\n}\n\n// listen is used to handling incoming connections.\nfunc (n *NetworkTransport) listen() {\n\tfor {\n\t\t// Accept incoming connections\n\t\tconn, err := n.stream.Accept()\n\t\tif err != nil {\n\t\t\tif n.IsShutdown() {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tn.logger.Printf(\"[ERR] raft-net: Failed to accept connection: %v\", err)\n\t\t\tcontinue\n\t\t}\n\t\tn.logger.Printf(\"[DEBUG] raft-net: %v accepted connection from: %v\", n.LocalAddr(), conn.RemoteAddr())\n\n\t\t// Handle the connection in dedicated routine\n\t\tgo n.handleConn(conn)\n\t}\n}\n\n// handleConn is used to handle an inbound connection for its lifespan.\nfunc (n *NetworkTransport) handleConn(conn net.Conn) {\n\tdefer conn.Close()\n\tr := bufio.NewReader(conn)\n\tw := bufio.NewWriter(conn)\n\tdec := codec.NewDecoder(r, &codec.MsgpackHandle{})\n\tenc := codec.NewEncoder(w, &codec.MsgpackHandle{})\n\n\tfor {\n\t\tif err := n.handleCommand(r, dec, enc); err != nil {\n\t\t\tif err != io.EOF {\n\t\t\t\tn.logger.Printf(\"[ERR] raft-net: Failed to decode incoming command: %v\", err)\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tif err := w.Flush(); err != nil {\n\t\t\tn.logger.Printf(\"[ERR] raft-net: Failed to flush response: %v\", err)\n\t\t\treturn\n\t\t}\n\t}\n}\n\n// handleCommand is used to decode and dispatch a single command.\nfunc (n *NetworkTransport) handleCommand(r *bufio.Reader, dec *codec.Decoder, enc *codec.Encoder) error {\n\t// Get the rpc type\n\trpcType, err := r.ReadByte()\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Create the RPC object\n\trespCh := make(chan RPCResponse, 1)\n\trpc := RPC{\n\t\tRespChan: respCh,\n\t}\n\n\t// Decode the command\n\tisHeartbeat := false\n\tswitch rpcType {\n\tcase rpcAppendEntries:\n\t\tvar req AppendEntriesRequest\n\t\tif err := dec.Decode(&req); err != nil {\n\t\t\treturn err\n\t\t}\n\t\trpc.Command = &req\n\n\t\t// Check if this is a heartbeat\n\t\tif req.Term != 0 && req.Leader != nil &&\n\t\t\treq.PrevLogEntry == 0 && req.PrevLogTerm == 0 &&\n\t\t\tlen(req.Entries) == 0 && req.LeaderCommitIndex == 0 {\n\t\t\tisHeartbeat = true\n\t\t}\n\n\tcase rpcRequestVote:\n\t\tvar req RequestVoteRequest\n\t\tif err := dec.Decode(&req); err != nil {\n\t\t\treturn err\n\t\t}\n\t\trpc.Command = &req\n\n\tcase rpcInstallSnapshot:\n\t\tvar req InstallSnapshotRequest\n\t\tif err := dec.Decode(&req); err != nil {\n\t\t\treturn err\n\t\t}\n\t\trpc.Command = &req\n\t\trpc.Reader = io.LimitReader(r, req.Size)\n\n\tdefault:\n\t\treturn fmt.Errorf(\"unknown rpc type %d\", rpcType)\n\t}\n\n\t// Check for heartbeat fast-path\n\tif isHeartbeat {\n\t\tn.heartbeatFnLock.Lock()\n\t\tfn := n.heartbeatFn\n\t\tn.heartbeatFnLock.Unlock()\n\t\tif fn != nil {\n\t\t\tfn(rpc)\n\t\t\tgoto RESP\n\t\t}\n\t}\n\n\t// Dispatch the RPC\n\tselect {\n\tcase n.consumeCh <- rpc:\n\tcase <-n.shutdownCh:\n\t\treturn ErrTransportShutdown\n\t}\n\n\t// Wait for response\nRESP:\n\tselect {\n\tcase resp := <-respCh:\n\t\t// Send the error first\n\t\trespErr := \"\"\n\t\tif resp.Error != nil {\n\t\t\trespErr = resp.Error.Error()\n\t\t}\n\t\tif err := enc.Encode(respErr); err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\t// Send the response\n\t\tif err := enc.Encode(resp.Response); err != nil {\n\t\t\treturn err\n\t\t}\n\tcase <-n.shutdownCh:\n\t\treturn ErrTransportShutdown\n\t}\n\treturn nil\n}\n\n// decodeResponse is used to decode an RPC response and reports whether\n// the connection can be reused.\nfunc decodeResponse(conn *netConn, resp interface{}) (bool, error) {\n\t// Decode the error if any\n\tvar rpcError string\n\tif err := conn.dec.Decode(&rpcError); err != nil {\n\t\tconn.Release()\n\t\treturn false, err\n\t}\n\n\t// Decode the response\n\tif err := conn.dec.Decode(resp); err != nil {\n\t\tconn.Release()\n\t\treturn false, err\n\t}\n\n\t// Format an error if any\n\tif rpcError != \"\" {\n\t\treturn true, fmt.Errorf(rpcError)\n\t}\n\treturn true, nil\n}\n\n// sendRPC is used to encode and send the RPC.\nfunc sendRPC(conn *netConn, rpcType uint8, args interface{}) error {\n\t// Write the request type\n\tif err := conn.w.WriteByte(rpcType); err != nil {\n\t\tconn.Release()\n\t\treturn err\n\t}\n\n\t// Send the request\n\tif err := conn.enc.Encode(args); err != nil {\n\t\tconn.Release()\n\t\treturn err\n\t}\n\n\t// Flush\n\tif err := conn.w.Flush(); err != nil {\n\t\tconn.Release()\n\t\treturn err\n\t}\n\treturn nil\n}\n\n// newNetPipeline is used to construct a netPipeline from a given\n// transport and connection.\nfunc newNetPipeline(trans *NetworkTransport, conn *netConn) *netPipeline {\n\tn := &netPipeline{\n\t\tconn:         conn,\n\t\ttrans:        trans,\n\t\tdoneCh:       make(chan AppendFuture, rpcMaxPipeline),\n\t\tinprogressCh: make(chan *appendFuture, rpcMaxPipeline),\n\t\tshutdownCh:   make(chan struct{}),\n\t}\n\tgo n.decodeResponses()\n\treturn n\n}\n\n// decodeResponses is a long running routine that decodes the responses\n// sent on the connection.\nfunc (n *netPipeline) decodeResponses() {\n\ttimeout := n.trans.timeout\n\tfor {\n\t\tselect {\n\t\tcase future := <-n.inprogressCh:\n\t\t\tif timeout > 0 {\n\t\t\t\tn.conn.conn.SetReadDeadline(time.Now().Add(timeout))\n\t\t\t}\n\n\t\t\t_, err := decodeResponse(n.conn, future.resp)\n\t\t\tfuture.respond(err)\n\t\t\tselect {\n\t\t\tcase n.doneCh <- future:\n\t\t\tcase <-n.shutdownCh:\n\t\t\t\treturn\n\t\t\t}\n\t\tcase <-n.shutdownCh:\n\t\t\treturn\n\t\t}\n\t}\n}\n\n// AppendEntries is used to pipeline a new append entries request.\nfunc (n *netPipeline) AppendEntries(args *AppendEntriesRequest, resp *AppendEntriesResponse) (AppendFuture, error) {\n\t// Create a new future\n\tfuture := &appendFuture{\n\t\tstart: time.Now(),\n\t\targs:  args,\n\t\tresp:  resp,\n\t}\n\tfuture.init()\n\n\t// Add a send timeout\n\tif timeout := n.trans.timeout; timeout > 0 {\n\t\tn.conn.conn.SetWriteDeadline(time.Now().Add(timeout))\n\t}\n\n\t// Send the RPC\n\tif err := sendRPC(n.conn, rpcAppendEntries, future.args); err != nil {\n\t\treturn nil, err\n\t}\n\n\t// Hand-off for decoding, this can also cause back-pressure\n\t// to prevent too many inflight requests\n\tselect {\n\tcase n.inprogressCh <- future:\n\t\treturn future, nil\n\tcase <-n.shutdownCh:\n\t\treturn nil, ErrPipelineShutdown\n\t}\n}\n\n// Consumer returns a channel that can be used to consume complete futures.\nfunc (n *netPipeline) Consumer() <-chan AppendFuture {\n\treturn n.doneCh\n}\n\n// Closed is used to shutdown the pipeline connection.\nfunc (n *netPipeline) Close() error {\n\tn.shutdownLock.Lock()\n\tdefer n.shutdownLock.Unlock()\n\tif n.shutdown {\n\t\treturn nil\n\t}\n\n\t// Release the connection\n\tn.conn.Release()\n\n\tn.shutdown = true\n\tclose(n.shutdownCh)\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft/observer.go",
    "content": "package raft\n\nimport (\n\t\"sync/atomic\"\n)\n\n// Observation is sent along the given channel to observers when an event occurs.\ntype Observation struct {\n\t// Raft holds the Raft instance generating the observation.\n\tRaft *Raft\n\t// Data holds observation-specific data. Possible types are\n\t// *RequestVoteRequest and RaftState.\n\tData interface{}\n}\n\n// nextObserverId is used to provide a unique ID for each observer to aid in\n// deregistration.\nvar nextObserverID uint64\n\n// FilterFn is a function that can be registered in order to filter observations.\n// The function reports whether the observation should be included - if\n// it returns false, the observation will be filtered out.\ntype FilterFn func(o *Observation) bool\n\n// Observer describes what to do with a given observation.\ntype Observer struct {\n\t// numObserved and numDropped are performance counters for this observer.\n\t// 64 bit types must be 64 bit aligned to use with atomic operations on\n\t// 32 bit platforms, so keep them at the top of the struct.\n\tnumObserved uint64\n\tnumDropped  uint64\n\n\t// channel receives observations.\n\tchannel chan Observation\n\n\t// blocking, if true, will cause Raft to block when sending an observation\n\t// to this observer. This should generally be set to false.\n\tblocking bool\n\n\t// filter will be called to determine if an observation should be sent to\n\t// the channel.\n\tfilter FilterFn\n\n\t// id is the ID of this observer in the Raft map.\n\tid uint64\n}\n\n// NewObserver creates a new observer that can be registered\n// to make observations on a Raft instance. Observations\n// will be sent on the given channel if they satisfy the\n// given filter.\n//\n// If blocking is true, the observer will block when it can't\n// send on the channel, otherwise it may discard events.\nfunc NewObserver(channel chan Observation, blocking bool, filter FilterFn) *Observer {\n\treturn &Observer{\n\t\tchannel:  channel,\n\t\tblocking: blocking,\n\t\tfilter:   filter,\n\t\tid:       atomic.AddUint64(&nextObserverID, 1),\n\t}\n}\n\n// GetNumObserved returns the number of observations.\nfunc (or *Observer) GetNumObserved() uint64 {\n\treturn atomic.LoadUint64(&or.numObserved)\n}\n\n// GetNumDropped returns the number of dropped observations due to blocking.\nfunc (or *Observer) GetNumDropped() uint64 {\n\treturn atomic.LoadUint64(&or.numDropped)\n}\n\n// RegisterObserver registers a new observer.\nfunc (r *Raft) RegisterObserver(or *Observer) {\n\tr.observersLock.Lock()\n\tdefer r.observersLock.Unlock()\n\tr.observers[or.id] = or\n}\n\n// DeregisterObserver deregisters an observer.\nfunc (r *Raft) DeregisterObserver(or *Observer) {\n\tr.observersLock.Lock()\n\tdefer r.observersLock.Unlock()\n\tdelete(r.observers, or.id)\n}\n\n// observe sends an observation to every observer.\nfunc (r *Raft) observe(o interface{}) {\n\t// In general observers should not block. But in any case this isn't\n\t// disastrous as we only hold a read lock, which merely prevents\n\t// registration / deregistration of observers.\n\tr.observersLock.RLock()\n\tdefer r.observersLock.RUnlock()\n\tfor _, or := range r.observers {\n\t\t// It's wasteful to do this in the loop, but for the common case\n\t\t// where there are no observers we won't create any objects.\n\t\tob := Observation{Raft: r, Data: o}\n\t\tif or.filter != nil && !or.filter(&ob) {\n\t\t\tcontinue\n\t\t}\n\t\tif or.channel == nil {\n\t\t\tcontinue\n\t\t}\n\t\tif or.blocking {\n\t\t\tor.channel <- ob\n\t\t\tatomic.AddUint64(&or.numObserved, 1)\n\t\t} else {\n\t\t\tselect {\n\t\t\tcase or.channel <- ob:\n\t\t\t\tatomic.AddUint64(&or.numObserved, 1)\n\t\t\tdefault:\n\t\t\t\tatomic.AddUint64(&or.numDropped, 1)\n\t\t\t}\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft/peersjson.go",
    "content": "package raft\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"io/ioutil\"\n)\n\n// ReadPeersJSON consumes a legacy peers.json file in the format of the old JSON\n// peer store and creates a new-style configuration structure. This can be used\n// to migrate this data or perform manual recovery when running protocol versions\n// that can interoperate with older, unversioned Raft servers. This should not be\n// used once server IDs are in use, because the old peers.json file didn't have\n// support for these, nor non-voter suffrage types.\nfunc ReadPeersJSON(path string) (Configuration, error) {\n\t// Read in the file.\n\tbuf, err := ioutil.ReadFile(path)\n\tif err != nil {\n\t\treturn Configuration{}, err\n\t}\n\n\t// Parse it as JSON.\n\tvar peers []string\n\tdec := json.NewDecoder(bytes.NewReader(buf))\n\tif err := dec.Decode(&peers); err != nil {\n\t\treturn Configuration{}, err\n\t}\n\n\t// Map it into the new-style configuration structure. We can only specify\n\t// voter roles here, and the ID has to be the same as the address.\n\tvar configuration Configuration\n\tfor _, peer := range peers {\n\t\tserver := Server{\n\t\t\tSuffrage: Voter,\n\t\t\tID:       ServerID(peer),\n\t\t\tAddress:  ServerAddress(peer),\n\t\t}\n\t\tconfiguration.Servers = append(configuration.Servers, server)\n\t}\n\n\t// We should only ingest valid configurations.\n\tif err := checkConfiguration(configuration); err != nil {\n\t\treturn Configuration{}, err\n\t}\n\treturn configuration, nil\n}\n\n// configEntry is used when decoding a new-style peers.json.\ntype configEntry struct {\n\t// ID is the ID of the server (a UUID, usually).\n\tID ServerID `json:\"id\"`\n\n\t// Address is the host:port of the server.\n\tAddress ServerAddress `json:\"address\"`\n\n\t// NonVoter controls the suffrage. We choose this sense so people\n\t// can leave this out and get a Voter by default.\n\tNonVoter bool `json:\"non_voter\"`\n}\n\n// ReadConfigJSON reads a new-style peers.json and returns a configuration\n// structure. This can be used to perform manual recovery when running protocol\n// versions that use server IDs.\nfunc ReadConfigJSON(path string) (Configuration, error) {\n\t// Read in the file.\n\tbuf, err := ioutil.ReadFile(path)\n\tif err != nil {\n\t\treturn Configuration{}, err\n\t}\n\n\t// Parse it as JSON.\n\tvar peers []configEntry\n\tdec := json.NewDecoder(bytes.NewReader(buf))\n\tif err := dec.Decode(&peers); err != nil {\n\t\treturn Configuration{}, err\n\t}\n\n\t// Map it into the new-style configuration structure.\n\tvar configuration Configuration\n\tfor _, peer := range peers {\n\t\tsuffrage := Voter\n\t\tif peer.NonVoter {\n\t\t\tsuffrage = Nonvoter\n\t\t}\n\t\tserver := Server{\n\t\t\tSuffrage: suffrage,\n\t\t\tID:       peer.ID,\n\t\t\tAddress:  peer.Address,\n\t\t}\n\t\tconfiguration.Servers = append(configuration.Servers, server)\n\t}\n\n\t// We should only ingest valid configurations.\n\tif err := checkConfiguration(configuration); err != nil {\n\t\treturn Configuration{}, err\n\t}\n\treturn configuration, nil\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft/raft.go",
    "content": "package raft\n\nimport (\n\t\"bytes\"\n\t\"container/list\"\n\t\"fmt\"\n\t\"io\"\n\t\"io/ioutil\"\n\t\"time\"\n\n\t\"github.com/armon/go-metrics\"\n)\n\nconst (\n\tminCheckInterval = 10 * time.Millisecond\n)\n\nvar (\n\tkeyCurrentTerm  = []byte(\"CurrentTerm\")\n\tkeyLastVoteTerm = []byte(\"LastVoteTerm\")\n\tkeyLastVoteCand = []byte(\"LastVoteCand\")\n)\n\n// getRPCHeader returns an initialized RPCHeader struct for the given\n// Raft instance. This structure is sent along with RPC requests and\n// responses.\nfunc (r *Raft) getRPCHeader() RPCHeader {\n\treturn RPCHeader{\n\t\tProtocolVersion: r.conf.ProtocolVersion,\n\t}\n}\n\n// checkRPCHeader houses logic about whether this instance of Raft can process\n// the given RPC message.\nfunc (r *Raft) checkRPCHeader(rpc RPC) error {\n\t// Get the header off the RPC message.\n\twh, ok := rpc.Command.(WithRPCHeader)\n\tif !ok {\n\t\treturn fmt.Errorf(\"RPC does not have a header\")\n\t}\n\theader := wh.GetRPCHeader()\n\n\t// First check is to just make sure the code can understand the\n\t// protocol at all.\n\tif header.ProtocolVersion < ProtocolVersionMin ||\n\t\theader.ProtocolVersion > ProtocolVersionMax {\n\t\treturn ErrUnsupportedProtocol\n\t}\n\n\t// Second check is whether we should support this message, given the\n\t// current protocol we are configured to run. This will drop support\n\t// for protocol version 0 starting at protocol version 2, which is\n\t// currently what we want, and in general support one version back. We\n\t// may need to revisit this policy depending on how future protocol\n\t// changes evolve.\n\tif header.ProtocolVersion < r.conf.ProtocolVersion-1 {\n\t\treturn ErrUnsupportedProtocol\n\t}\n\n\treturn nil\n}\n\n// getSnapshotVersion returns the snapshot version that should be used when\n// creating snapshots, given the protocol version in use.\nfunc getSnapshotVersion(protocolVersion ProtocolVersion) SnapshotVersion {\n\t// Right now we only have two versions and they are backwards compatible\n\t// so we don't need to look at the protocol version.\n\treturn 1\n}\n\n// commitTuple is used to send an index that was committed,\n// with an optional associated future that should be invoked.\ntype commitTuple struct {\n\tlog    *Log\n\tfuture *logFuture\n}\n\n// leaderState is state that is used while we are a leader.\ntype leaderState struct {\n\tcommitCh   chan struct{}\n\tcommitment *commitment\n\tinflight   *list.List // list of logFuture in log index order\n\treplState  map[ServerID]*followerReplication\n\tnotify     map[*verifyFuture]struct{}\n\tstepDown   chan struct{}\n}\n\n// setLeader is used to modify the current leader of the cluster\nfunc (r *Raft) setLeader(leader ServerAddress) {\n\tr.leaderLock.Lock()\n\tr.leader = leader\n\tr.leaderLock.Unlock()\n}\n\n// requestConfigChange is a helper for the above functions that make\n// configuration change requests. 'req' describes the change. For timeout,\n// see AddVoter.\nfunc (r *Raft) requestConfigChange(req configurationChangeRequest, timeout time.Duration) IndexFuture {\n\tvar timer <-chan time.Time\n\tif timeout > 0 {\n\t\ttimer = time.After(timeout)\n\t}\n\tfuture := &configurationChangeFuture{\n\t\treq: req,\n\t}\n\tfuture.init()\n\tselect {\n\tcase <-timer:\n\t\treturn errorFuture{ErrEnqueueTimeout}\n\tcase r.configurationChangeCh <- future:\n\t\treturn future\n\tcase <-r.shutdownCh:\n\t\treturn errorFuture{ErrRaftShutdown}\n\t}\n}\n\n// run is a long running goroutine that runs the Raft FSM.\nfunc (r *Raft) run() {\n\tfor {\n\t\t// Check if we are doing a shutdown\n\t\tselect {\n\t\tcase <-r.shutdownCh:\n\t\t\t// Clear the leader to prevent forwarding\n\t\t\tr.setLeader(\"\")\n\t\t\treturn\n\t\tdefault:\n\t\t}\n\n\t\t// Enter into a sub-FSM\n\t\tswitch r.getState() {\n\t\tcase Follower:\n\t\t\tr.runFollower()\n\t\tcase Candidate:\n\t\t\tr.runCandidate()\n\t\tcase Leader:\n\t\t\tr.runLeader()\n\t\t}\n\t}\n}\n\n// runFollower runs the FSM for a follower.\nfunc (r *Raft) runFollower() {\n\tdidWarn := false\n\tr.logger.Printf(\"[INFO] raft: %v entering Follower state (Leader: %q)\", r, r.Leader())\n\tmetrics.IncrCounter([]string{\"raft\", \"state\", \"follower\"}, 1)\n\theartbeatTimer := randomTimeout(r.conf.HeartbeatTimeout)\n\tfor {\n\t\tselect {\n\t\tcase rpc := <-r.rpcCh:\n\t\t\tr.processRPC(rpc)\n\n\t\tcase c := <-r.configurationChangeCh:\n\t\t\t// Reject any operations since we are not the leader\n\t\t\tc.respond(ErrNotLeader)\n\n\t\tcase a := <-r.applyCh:\n\t\t\t// Reject any operations since we are not the leader\n\t\t\ta.respond(ErrNotLeader)\n\n\t\tcase v := <-r.verifyCh:\n\t\t\t// Reject any operations since we are not the leader\n\t\t\tv.respond(ErrNotLeader)\n\n\t\tcase r := <-r.userRestoreCh:\n\t\t\t// Reject any restores since we are not the leader\n\t\t\tr.respond(ErrNotLeader)\n\n\t\tcase c := <-r.configurationsCh:\n\t\t\tc.configurations = r.configurations.Clone()\n\t\t\tc.respond(nil)\n\n\t\tcase b := <-r.bootstrapCh:\n\t\t\tb.respond(r.liveBootstrap(b.configuration))\n\n\t\tcase <-heartbeatTimer:\n\t\t\t// Restart the heartbeat timer\n\t\t\theartbeatTimer = randomTimeout(r.conf.HeartbeatTimeout)\n\n\t\t\t// Check if we have had a successful contact\n\t\t\tlastContact := r.LastContact()\n\t\t\tif time.Now().Sub(lastContact) < r.conf.HeartbeatTimeout {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// Heartbeat failed! Transition to the candidate state\n\t\t\tlastLeader := r.Leader()\n\t\t\tr.setLeader(\"\")\n\n\t\t\tif r.configurations.latestIndex == 0 {\n\t\t\t\tif !didWarn {\n\t\t\t\t\tr.logger.Printf(\"[WARN] raft: no known peers, aborting election\")\n\t\t\t\t\tdidWarn = true\n\t\t\t\t}\n\t\t\t} else if r.configurations.latestIndex == r.configurations.committedIndex &&\n\t\t\t\t!hasVote(r.configurations.latest, r.localID) {\n\t\t\t\tif !didWarn {\n\t\t\t\t\tr.logger.Printf(\"[WARN] raft: not part of stable configuration, aborting election\")\n\t\t\t\t\tdidWarn = true\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.logger.Printf(`[WARN] raft: Heartbeat timeout from %q reached, starting election`, lastLeader)\n\t\t\t\tmetrics.IncrCounter([]string{\"raft\", \"transition\", \"heartbeat_timeout\"}, 1)\n\t\t\t\tr.setState(Candidate)\n\t\t\t\treturn\n\t\t\t}\n\n\t\tcase <-r.shutdownCh:\n\t\t\treturn\n\t\t}\n\t}\n}\n\n// liveBootstrap attempts to seed an initial configuration for the cluster. See\n// the Raft object's member BootstrapCluster for more details. This must only be\n// called on the main thread, and only makes sense in the follower state.\nfunc (r *Raft) liveBootstrap(configuration Configuration) error {\n\t// Use the pre-init API to make the static updates.\n\terr := BootstrapCluster(&r.conf, r.logs, r.stable, r.snapshots,\n\t\tr.trans, configuration)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// Make the configuration live.\n\tvar entry Log\n\tif err := r.logs.GetLog(1, &entry); err != nil {\n\t\tpanic(err)\n\t}\n\tr.setCurrentTerm(1)\n\tr.setLastLog(entry.Index, entry.Term)\n\tr.processConfigurationLogEntry(&entry)\n\treturn nil\n}\n\n// runCandidate runs the FSM for a candidate.\nfunc (r *Raft) runCandidate() {\n\tr.logger.Printf(\"[INFO] raft: %v entering Candidate state in term %v\",\n\t\tr, r.getCurrentTerm()+1)\n\tmetrics.IncrCounter([]string{\"raft\", \"state\", \"candidate\"}, 1)\n\n\t// Start vote for us, and set a timeout\n\tvoteCh := r.electSelf()\n\telectionTimer := randomTimeout(r.conf.ElectionTimeout)\n\n\t// Tally the votes, need a simple majority\n\tgrantedVotes := 0\n\tvotesNeeded := r.quorumSize()\n\tr.logger.Printf(\"[DEBUG] raft: Votes needed: %d\", votesNeeded)\n\n\tfor r.getState() == Candidate {\n\t\tselect {\n\t\tcase rpc := <-r.rpcCh:\n\t\t\tr.processRPC(rpc)\n\n\t\tcase vote := <-voteCh:\n\t\t\t// Check if the term is greater than ours, bail\n\t\t\tif vote.Term > r.getCurrentTerm() {\n\t\t\t\tr.logger.Printf(\"[DEBUG] raft: Newer term discovered, fallback to follower\")\n\t\t\t\tr.setState(Follower)\n\t\t\t\tr.setCurrentTerm(vote.Term)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Check if the vote is granted\n\t\t\tif vote.Granted {\n\t\t\t\tgrantedVotes++\n\t\t\t\tr.logger.Printf(\"[DEBUG] raft: Vote granted from %s in term %v. Tally: %d\",\n\t\t\t\t\tvote.voterID, vote.Term, grantedVotes)\n\t\t\t}\n\n\t\t\t// Check if we've become the leader\n\t\t\tif grantedVotes >= votesNeeded {\n\t\t\t\tr.logger.Printf(\"[INFO] raft: Election won. Tally: %d\", grantedVotes)\n\t\t\t\tr.setState(Leader)\n\t\t\t\tr.setLeader(r.localAddr)\n\t\t\t\treturn\n\t\t\t}\n\n\t\tcase c := <-r.configurationChangeCh:\n\t\t\t// Reject any operations since we are not the leader\n\t\t\tc.respond(ErrNotLeader)\n\n\t\tcase a := <-r.applyCh:\n\t\t\t// Reject any operations since we are not the leader\n\t\t\ta.respond(ErrNotLeader)\n\n\t\tcase v := <-r.verifyCh:\n\t\t\t// Reject any operations since we are not the leader\n\t\t\tv.respond(ErrNotLeader)\n\n\t\tcase r := <-r.userRestoreCh:\n\t\t\t// Reject any restores since we are not the leader\n\t\t\tr.respond(ErrNotLeader)\n\n\t\tcase c := <-r.configurationsCh:\n\t\t\tc.configurations = r.configurations.Clone()\n\t\t\tc.respond(nil)\n\n\t\tcase b := <-r.bootstrapCh:\n\t\t\tb.respond(ErrCantBootstrap)\n\n\t\tcase <-electionTimer:\n\t\t\t// Election failed! Restart the election. We simply return,\n\t\t\t// which will kick us back into runCandidate\n\t\t\tr.logger.Printf(\"[WARN] raft: Election timeout reached, restarting election\")\n\t\t\treturn\n\n\t\tcase <-r.shutdownCh:\n\t\t\treturn\n\t\t}\n\t}\n}\n\n// runLeader runs the FSM for a leader. Do the setup here and drop into\n// the leaderLoop for the hot loop.\nfunc (r *Raft) runLeader() {\n\tr.logger.Printf(\"[INFO] raft: %v entering Leader state\", r)\n\tmetrics.IncrCounter([]string{\"raft\", \"state\", \"leader\"}, 1)\n\n\t// Notify that we are the leader\n\tasyncNotifyBool(r.leaderCh, true)\n\n\t// Push to the notify channel if given\n\tif notify := r.conf.NotifyCh; notify != nil {\n\t\tselect {\n\t\tcase notify <- true:\n\t\tcase <-r.shutdownCh:\n\t\t}\n\t}\n\n\t// Setup leader state\n\tr.leaderState.commitCh = make(chan struct{}, 1)\n\tr.leaderState.commitment = newCommitment(r.leaderState.commitCh,\n\t\tr.configurations.latest,\n\t\tr.getLastIndex()+1 /* first index that may be committed in this term */)\n\tr.leaderState.inflight = list.New()\n\tr.leaderState.replState = make(map[ServerID]*followerReplication)\n\tr.leaderState.notify = make(map[*verifyFuture]struct{})\n\tr.leaderState.stepDown = make(chan struct{}, 1)\n\n\t// Cleanup state on step down\n\tdefer func() {\n\t\t// Since we were the leader previously, we update our\n\t\t// last contact time when we step down, so that we are not\n\t\t// reporting a last contact time from before we were the\n\t\t// leader. Otherwise, to a client it would seem our data\n\t\t// is extremely stale.\n\t\tr.setLastContact()\n\n\t\t// Stop replication\n\t\tfor _, p := range r.leaderState.replState {\n\t\t\tclose(p.stopCh)\n\t\t}\n\n\t\t// Respond to all inflight operations\n\t\tfor e := r.leaderState.inflight.Front(); e != nil; e = e.Next() {\n\t\t\te.Value.(*logFuture).respond(ErrLeadershipLost)\n\t\t}\n\n\t\t// Respond to any pending verify requests\n\t\tfor future := range r.leaderState.notify {\n\t\t\tfuture.respond(ErrLeadershipLost)\n\t\t}\n\n\t\t// Clear all the state\n\t\tr.leaderState.commitCh = nil\n\t\tr.leaderState.commitment = nil\n\t\tr.leaderState.inflight = nil\n\t\tr.leaderState.replState = nil\n\t\tr.leaderState.notify = nil\n\t\tr.leaderState.stepDown = nil\n\n\t\t// If we are stepping down for some reason, no known leader.\n\t\t// We may have stepped down due to an RPC call, which would\n\t\t// provide the leader, so we cannot always blank this out.\n\t\tr.leaderLock.Lock()\n\t\tif r.leader == r.localAddr {\n\t\t\tr.leader = \"\"\n\t\t}\n\t\tr.leaderLock.Unlock()\n\n\t\t// Notify that we are not the leader\n\t\tasyncNotifyBool(r.leaderCh, false)\n\n\t\t// Push to the notify channel if given\n\t\tif notify := r.conf.NotifyCh; notify != nil {\n\t\t\tselect {\n\t\t\tcase notify <- false:\n\t\t\tcase <-r.shutdownCh:\n\t\t\t\t// On shutdown, make a best effort but do not block\n\t\t\t\tselect {\n\t\t\t\tcase notify <- false:\n\t\t\t\tdefault:\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}()\n\n\t// Start a replication routine for each peer\n\tr.startStopReplication()\n\n\t// Dispatch a no-op log entry first. This gets this leader up to the latest\n\t// possible commit index, even in the absence of client commands. This used\n\t// to append a configuration entry instead of a noop. However, that permits\n\t// an unbounded number of uncommitted configurations in the log. We now\n\t// maintain that there exists at most one uncommitted configuration entry in\n\t// any log, so we have to do proper no-ops here.\n\tnoop := &logFuture{\n\t\tlog: Log{\n\t\t\tType: LogNoop,\n\t\t},\n\t}\n\tr.dispatchLogs([]*logFuture{noop})\n\n\t// Sit in the leader loop until we step down\n\tr.leaderLoop()\n}\n\n// startStopReplication will set up state and start asynchronous replication to\n// new peers, and stop replication to removed peers. Before removing a peer,\n// it'll instruct the replication routines to try to replicate to the current\n// index. This must only be called from the main thread.\nfunc (r *Raft) startStopReplication() {\n\tinConfig := make(map[ServerID]bool, len(r.configurations.latest.Servers))\n\tlastIdx := r.getLastIndex()\n\n\t// Start replication goroutines that need starting\n\tfor _, server := range r.configurations.latest.Servers {\n\t\tif server.ID == r.localID {\n\t\t\tcontinue\n\t\t}\n\t\tinConfig[server.ID] = true\n\t\tif _, ok := r.leaderState.replState[server.ID]; !ok {\n\t\t\tr.logger.Printf(\"[INFO] raft: Added peer %v, starting replication\", server.ID)\n\t\t\ts := &followerReplication{\n\t\t\t\tpeer:        server,\n\t\t\t\tcommitment:  r.leaderState.commitment,\n\t\t\t\tstopCh:      make(chan uint64, 1),\n\t\t\t\ttriggerCh:   make(chan struct{}, 1),\n\t\t\t\tcurrentTerm: r.getCurrentTerm(),\n\t\t\t\tnextIndex:   lastIdx + 1,\n\t\t\t\tlastContact: time.Now(),\n\t\t\t\tnotifyCh:    make(chan struct{}, 1),\n\t\t\t\tstepDown:    r.leaderState.stepDown,\n\t\t\t}\n\t\t\tr.leaderState.replState[server.ID] = s\n\t\t\tr.goFunc(func() { r.replicate(s) })\n\t\t\tasyncNotifyCh(s.triggerCh)\n\t\t}\n\t}\n\n\t// Stop replication goroutines that need stopping\n\tfor serverID, repl := range r.leaderState.replState {\n\t\tif inConfig[serverID] {\n\t\t\tcontinue\n\t\t}\n\t\t// Replicate up to lastIdx and stop\n\t\tr.logger.Printf(\"[INFO] raft: Removed peer %v, stopping replication after %v\", serverID, lastIdx)\n\t\trepl.stopCh <- lastIdx\n\t\tclose(repl.stopCh)\n\t\tdelete(r.leaderState.replState, serverID)\n\t}\n}\n\n// configurationChangeChIfStable returns r.configurationChangeCh if it's safe\n// to process requests from it, or nil otherwise. This must only be called\n// from the main thread.\n//\n// Note that if the conditions here were to change outside of leaderLoop to take\n// this from nil to non-nil, we would need leaderLoop to be kicked.\nfunc (r *Raft) configurationChangeChIfStable() chan *configurationChangeFuture {\n\t// Have to wait until:\n\t// 1. The latest configuration is committed, and\n\t// 2. This leader has committed some entry (the noop) in this term\n\t//    https://groups.google.com/forum/#!msg/raft-dev/t4xj6dJTP6E/d2D9LrWRza8J\n\tif r.configurations.latestIndex == r.configurations.committedIndex &&\n\t\tr.getCommitIndex() >= r.leaderState.commitment.startIndex {\n\t\treturn r.configurationChangeCh\n\t}\n\treturn nil\n}\n\n// leaderLoop is the hot loop for a leader. It is invoked\n// after all the various leader setup is done.\nfunc (r *Raft) leaderLoop() {\n\t// stepDown is used to track if there is an inflight log that\n\t// would cause us to lose leadership (specifically a RemovePeer of\n\t// ourselves). If this is the case, we must not allow any logs to\n\t// be processed in parallel, otherwise we are basing commit on\n\t// only a single peer (ourself) and replicating to an undefined set\n\t// of peers.\n\tstepDown := false\n\n\tlease := time.After(r.conf.LeaderLeaseTimeout)\n\tfor r.getState() == Leader {\n\t\tselect {\n\t\tcase rpc := <-r.rpcCh:\n\t\t\tr.processRPC(rpc)\n\n\t\tcase <-r.leaderState.stepDown:\n\t\t\tr.setState(Follower)\n\n\t\tcase <-r.leaderState.commitCh:\n\t\t\t// Process the newly committed entries\n\t\t\toldCommitIndex := r.getCommitIndex()\n\t\t\tcommitIndex := r.leaderState.commitment.getCommitIndex()\n\t\t\tr.setCommitIndex(commitIndex)\n\n\t\t\tif r.configurations.latestIndex > oldCommitIndex &&\n\t\t\t\tr.configurations.latestIndex <= commitIndex {\n\t\t\t\tr.configurations.committed = r.configurations.latest\n\t\t\t\tr.configurations.committedIndex = r.configurations.latestIndex\n\t\t\t\tif !hasVote(r.configurations.committed, r.localID) {\n\t\t\t\t\tstepDown = true\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor {\n\t\t\t\te := r.leaderState.inflight.Front()\n\t\t\t\tif e == nil {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tcommitLog := e.Value.(*logFuture)\n\t\t\t\tidx := commitLog.log.Index\n\t\t\t\tif idx > commitIndex {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\t// Measure the commit time\n\t\t\t\tmetrics.MeasureSince([]string{\"raft\", \"commitTime\"}, commitLog.dispatch)\n\t\t\t\tr.processLogs(idx, commitLog)\n\t\t\t\tr.leaderState.inflight.Remove(e)\n\t\t\t}\n\n\t\t\tif stepDown {\n\t\t\t\tif r.conf.ShutdownOnRemove {\n\t\t\t\t\tr.logger.Printf(\"[INFO] raft: Removed ourself, shutting down\")\n\t\t\t\t\tr.Shutdown()\n\t\t\t\t} else {\n\t\t\t\t\tr.logger.Printf(\"[INFO] raft: Removed ourself, transitioning to follower\")\n\t\t\t\t\tr.setState(Follower)\n\t\t\t\t}\n\t\t\t}\n\n\t\tcase v := <-r.verifyCh:\n\t\t\tif v.quorumSize == 0 {\n\t\t\t\t// Just dispatched, start the verification\n\t\t\t\tr.verifyLeader(v)\n\n\t\t\t} else if v.votes < v.quorumSize {\n\t\t\t\t// Early return, means there must be a new leader\n\t\t\t\tr.logger.Printf(\"[WARN] raft: New leader elected, stepping down\")\n\t\t\t\tr.setState(Follower)\n\t\t\t\tdelete(r.leaderState.notify, v)\n\t\t\t\tv.respond(ErrNotLeader)\n\n\t\t\t} else {\n\t\t\t\t// Quorum of members agree, we are still leader\n\t\t\t\tdelete(r.leaderState.notify, v)\n\t\t\t\tv.respond(nil)\n\t\t\t}\n\n\t\tcase future := <-r.userRestoreCh:\n\t\t\terr := r.restoreUserSnapshot(future.meta, future.reader)\n\t\t\tfuture.respond(err)\n\n\t\tcase c := <-r.configurationsCh:\n\t\t\tc.configurations = r.configurations.Clone()\n\t\t\tc.respond(nil)\n\n\t\tcase future := <-r.configurationChangeChIfStable():\n\t\t\tr.appendConfigurationEntry(future)\n\n\t\tcase b := <-r.bootstrapCh:\n\t\t\tb.respond(ErrCantBootstrap)\n\n\t\tcase newLog := <-r.applyCh:\n\t\t\t// Group commit, gather all the ready commits\n\t\t\tready := []*logFuture{newLog}\n\t\t\tfor i := 0; i < r.conf.MaxAppendEntries; i++ {\n\t\t\t\tselect {\n\t\t\t\tcase newLog := <-r.applyCh:\n\t\t\t\t\tready = append(ready, newLog)\n\t\t\t\tdefault:\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Dispatch the logs\n\t\t\tif stepDown {\n\t\t\t\t// we're in the process of stepping down as leader, don't process anything new\n\t\t\t\tfor i := range ready {\n\t\t\t\t\tready[i].respond(ErrNotLeader)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.dispatchLogs(ready)\n\t\t\t}\n\n\t\tcase <-lease:\n\t\t\t// Check if we've exceeded the lease, potentially stepping down\n\t\t\tmaxDiff := r.checkLeaderLease()\n\n\t\t\t// Next check interval should adjust for the last node we've\n\t\t\t// contacted, without going negative\n\t\t\tcheckInterval := r.conf.LeaderLeaseTimeout - maxDiff\n\t\t\tif checkInterval < minCheckInterval {\n\t\t\t\tcheckInterval = minCheckInterval\n\t\t\t}\n\n\t\t\t// Renew the lease timer\n\t\t\tlease = time.After(checkInterval)\n\n\t\tcase <-r.shutdownCh:\n\t\t\treturn\n\t\t}\n\t}\n}\n\n// verifyLeader must be called from the main thread for safety.\n// Causes the followers to attempt an immediate heartbeat.\nfunc (r *Raft) verifyLeader(v *verifyFuture) {\n\t// Current leader always votes for self\n\tv.votes = 1\n\n\t// Set the quorum size, hot-path for single node\n\tv.quorumSize = r.quorumSize()\n\tif v.quorumSize == 1 {\n\t\tv.respond(nil)\n\t\treturn\n\t}\n\n\t// Track this request\n\tv.notifyCh = r.verifyCh\n\tr.leaderState.notify[v] = struct{}{}\n\n\t// Trigger immediate heartbeats\n\tfor _, repl := range r.leaderState.replState {\n\t\trepl.notifyLock.Lock()\n\t\trepl.notify = append(repl.notify, v)\n\t\trepl.notifyLock.Unlock()\n\t\tasyncNotifyCh(repl.notifyCh)\n\t}\n}\n\n// checkLeaderLease is used to check if we can contact a quorum of nodes\n// within the last leader lease interval. If not, we need to step down,\n// as we may have lost connectivity. Returns the maximum duration without\n// contact. This must only be called from the main thread.\nfunc (r *Raft) checkLeaderLease() time.Duration {\n\t// Track contacted nodes, we can always contact ourself\n\tcontacted := 1\n\n\t// Check each follower\n\tvar maxDiff time.Duration\n\tnow := time.Now()\n\tfor peer, f := range r.leaderState.replState {\n\t\tdiff := now.Sub(f.LastContact())\n\t\tif diff <= r.conf.LeaderLeaseTimeout {\n\t\t\tcontacted++\n\t\t\tif diff > maxDiff {\n\t\t\t\tmaxDiff = diff\n\t\t\t}\n\t\t} else {\n\t\t\t// Log at least once at high value, then debug. Otherwise it gets very verbose.\n\t\t\tif diff <= 3*r.conf.LeaderLeaseTimeout {\n\t\t\t\tr.logger.Printf(\"[WARN] raft: Failed to contact %v in %v\", peer, diff)\n\t\t\t} else {\n\t\t\t\tr.logger.Printf(\"[DEBUG] raft: Failed to contact %v in %v\", peer, diff)\n\t\t\t}\n\t\t}\n\t\tmetrics.AddSample([]string{\"raft\", \"leader\", \"lastContact\"}, float32(diff/time.Millisecond))\n\t}\n\n\t// Verify we can contact a quorum\n\tquorum := r.quorumSize()\n\tif contacted < quorum {\n\t\tr.logger.Printf(\"[WARN] raft: Failed to contact quorum of nodes, stepping down\")\n\t\tr.setState(Follower)\n\t\tmetrics.IncrCounter([]string{\"raft\", \"transition\", \"leader_lease_timeout\"}, 1)\n\t}\n\treturn maxDiff\n}\n\n// quorumSize is used to return the quorum size. This must only be called on\n// the main thread.\n// TODO: revisit usage\nfunc (r *Raft) quorumSize() int {\n\tvoters := 0\n\tfor _, server := range r.configurations.latest.Servers {\n\t\tif server.Suffrage == Voter {\n\t\t\tvoters++\n\t\t}\n\t}\n\treturn voters/2 + 1\n}\n\n// restoreUserSnapshot is used to manually consume an external snapshot, such\n// as if restoring from a backup. We will use the current Raft configuration,\n// not the one from the snapshot, so that we can restore into a new cluster. We\n// will also use the higher of the index of the snapshot, or the current index,\n// and then add 1 to that, so we force a new state with a hole in the Raft log,\n// so that the snapshot will be sent to followers and used for any new joiners.\n// This can only be run on the leader, and returns a future that can be used to\n// block until complete.\nfunc (r *Raft) restoreUserSnapshot(meta *SnapshotMeta, reader io.Reader) error {\n\tdefer metrics.MeasureSince([]string{\"raft\", \"restoreUserSnapshot\"}, time.Now())\n\n\t// Sanity check the version.\n\tversion := meta.Version\n\tif version < SnapshotVersionMin || version > SnapshotVersionMax {\n\t\treturn fmt.Errorf(\"unsupported snapshot version %d\", version)\n\t}\n\n\t// We don't support snapshots while there's a config change\n\t// outstanding since the snapshot doesn't have a means to\n\t// represent this state.\n\tcommittedIndex := r.configurations.committedIndex\n\tlatestIndex := r.configurations.latestIndex\n\tif committedIndex != latestIndex {\n\t\treturn fmt.Errorf(\"cannot restore snapshot now, wait until the configuration entry at %v has been applied (have applied %v)\",\n\t\t\tlatestIndex, committedIndex)\n\t}\n\n\t// Cancel any inflight requests.\n\tfor {\n\t\te := r.leaderState.inflight.Front()\n\t\tif e == nil {\n\t\t\tbreak\n\t\t}\n\t\te.Value.(*logFuture).respond(ErrAbortedByRestore)\n\t\tr.leaderState.inflight.Remove(e)\n\t}\n\n\t// We will overwrite the snapshot metadata with the current term,\n\t// an index that's greater than the current index, or the last\n\t// index in the snapshot. It's important that we leave a hole in\n\t// the index so we know there's nothing in the Raft log there and\n\t// replication will fault and send the snapshot.\n\tterm := r.getCurrentTerm()\n\tlastIndex := r.getLastIndex()\n\tif meta.Index > lastIndex {\n\t\tlastIndex = meta.Index\n\t}\n\tlastIndex++\n\n\t// Dump the snapshot. Note that we use the latest configuration,\n\t// not the one that came with the snapshot.\n\tsink, err := r.snapshots.Create(version, lastIndex, term,\n\t\tr.configurations.latest, r.configurations.latestIndex, r.trans)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"failed to create snapshot: %v\", err)\n\t}\n\tn, err := io.Copy(sink, reader)\n\tif err != nil {\n\t\tsink.Cancel()\n\t\treturn fmt.Errorf(\"failed to write snapshot: %v\", err)\n\t}\n\tif n != meta.Size {\n\t\tsink.Cancel()\n\t\treturn fmt.Errorf(\"failed to write snapshot, size didn't match (%d != %d)\", n, meta.Size)\n\t}\n\tif err := sink.Close(); err != nil {\n\t\treturn fmt.Errorf(\"failed to close snapshot: %v\", err)\n\t}\n\tr.logger.Printf(\"[INFO] raft: Copied %d bytes to local snapshot\", n)\n\n\t// Restore the snapshot into the FSM. If this fails we are in a\n\t// bad state so we panic to take ourselves out.\n\tfsm := &restoreFuture{ID: sink.ID()}\n\tfsm.init()\n\tselect {\n\tcase r.fsmMutateCh <- fsm:\n\tcase <-r.shutdownCh:\n\t\treturn ErrRaftShutdown\n\t}\n\tif err := fsm.Error(); err != nil {\n\t\tpanic(fmt.Errorf(\"failed to restore snapshot: %v\", err))\n\t}\n\n\t// We set the last log so it looks like we've stored the empty\n\t// index we burned. The last applied is set because we made the\n\t// FSM take the snapshot state, and we store the last snapshot\n\t// in the stable store since we created a snapshot as part of\n\t// this process.\n\tr.setLastLog(lastIndex, term)\n\tr.setLastApplied(lastIndex)\n\tr.setLastSnapshot(lastIndex, term)\n\n\tr.logger.Printf(\"[INFO] raft: Restored user snapshot (index %d)\", lastIndex)\n\treturn nil\n}\n\n// appendConfigurationEntry changes the configuration and adds a new\n// configuration entry to the log. This must only be called from the\n// main thread.\nfunc (r *Raft) appendConfigurationEntry(future *configurationChangeFuture) {\n\tconfiguration, err := nextConfiguration(r.configurations.latest, r.configurations.latestIndex, future.req)\n\tif err != nil {\n\t\tfuture.respond(err)\n\t\treturn\n\t}\n\n\tr.logger.Printf(\"[INFO] raft: Updating configuration with %s (%v, %v) to %+v\",\n\t\tfuture.req.command, future.req.serverID, future.req.serverAddress, configuration.Servers)\n\n\t// In pre-ID compatibility mode we translate all configuration changes\n\t// in to an old remove peer message, which can handle all supported\n\t// cases for peer changes in the pre-ID world (adding and removing\n\t// voters). Both add peer and remove peer log entries are handled\n\t// similarly on old Raft servers, but remove peer does extra checks to\n\t// see if a leader needs to step down. Since they both assert the full\n\t// configuration, then we can safely call remove peer for everything.\n\tif r.protocolVersion < 2 {\n\t\tfuture.log = Log{\n\t\t\tType: LogRemovePeerDeprecated,\n\t\t\tData: encodePeers(configuration, r.trans),\n\t\t}\n\t} else {\n\t\tfuture.log = Log{\n\t\t\tType: LogConfiguration,\n\t\t\tData: encodeConfiguration(configuration),\n\t\t}\n\t}\n\n\tr.dispatchLogs([]*logFuture{&future.logFuture})\n\tindex := future.Index()\n\tr.configurations.latest = configuration\n\tr.configurations.latestIndex = index\n\tr.leaderState.commitment.setConfiguration(configuration)\n\tr.startStopReplication()\n}\n\n// dispatchLog is called on the leader to push a log to disk, mark it\n// as inflight and begin replication of it.\nfunc (r *Raft) dispatchLogs(applyLogs []*logFuture) {\n\tnow := time.Now()\n\tdefer metrics.MeasureSince([]string{\"raft\", \"leader\", \"dispatchLog\"}, now)\n\n\tterm := r.getCurrentTerm()\n\tlastIndex := r.getLastIndex()\n\tlogs := make([]*Log, len(applyLogs))\n\n\tfor idx, applyLog := range applyLogs {\n\t\tapplyLog.dispatch = now\n\t\tlastIndex++\n\t\tapplyLog.log.Index = lastIndex\n\t\tapplyLog.log.Term = term\n\t\tlogs[idx] = &applyLog.log\n\t\tr.leaderState.inflight.PushBack(applyLog)\n\t}\n\n\t// Write the log entry locally\n\tif err := r.logs.StoreLogs(logs); err != nil {\n\t\tr.logger.Printf(\"[ERR] raft: Failed to commit logs: %v\", err)\n\t\tfor _, applyLog := range applyLogs {\n\t\t\tapplyLog.respond(err)\n\t\t}\n\t\tr.setState(Follower)\n\t\treturn\n\t}\n\tr.leaderState.commitment.match(r.localID, lastIndex)\n\n\t// Update the last log since it's on disk now\n\tr.setLastLog(lastIndex, term)\n\n\t// Notify the replicators of the new log\n\tfor _, f := range r.leaderState.replState {\n\t\tasyncNotifyCh(f.triggerCh)\n\t}\n}\n\n// processLogs is used to apply all the committed entires that haven't been\n// applied up to the given index limit.\n// This can be called from both leaders and followers.\n// Followers call this from AppendEntires, for n entires at a time, and always\n// pass future=nil.\n// Leaders call this once per inflight when entries are committed. They pass\n// the future from inflights.\nfunc (r *Raft) processLogs(index uint64, future *logFuture) {\n\t// Reject logs we've applied already\n\tlastApplied := r.getLastApplied()\n\tif index <= lastApplied {\n\t\tr.logger.Printf(\"[WARN] raft: Skipping application of old log: %d\", index)\n\t\treturn\n\t}\n\n\t// Apply all the preceding logs\n\tfor idx := r.getLastApplied() + 1; idx <= index; idx++ {\n\t\t// Get the log, either from the future or from our log store\n\t\tif future != nil && future.log.Index == idx {\n\t\t\tr.processLog(&future.log, future)\n\n\t\t} else {\n\t\t\tl := new(Log)\n\t\t\tif err := r.logs.GetLog(idx, l); err != nil {\n\t\t\t\tr.logger.Printf(\"[ERR] raft: Failed to get log at %d: %v\", idx, err)\n\t\t\t\tpanic(err)\n\t\t\t}\n\t\t\tr.processLog(l, nil)\n\t\t}\n\n\t\t// Update the lastApplied index and term\n\t\tr.setLastApplied(idx)\n\t}\n}\n\n// processLog is invoked to process the application of a single committed log entry.\nfunc (r *Raft) processLog(l *Log, future *logFuture) {\n\tswitch l.Type {\n\tcase LogBarrier:\n\t\t// Barrier is handled by the FSM\n\t\tfallthrough\n\n\tcase LogCommand:\n\t\t// Forward to the fsm handler\n\t\tselect {\n\t\tcase r.fsmMutateCh <- &commitTuple{l, future}:\n\t\tcase <-r.shutdownCh:\n\t\t\tif future != nil {\n\t\t\t\tfuture.respond(ErrRaftShutdown)\n\t\t\t}\n\t\t}\n\n\t\t// Return so that the future is only responded to\n\t\t// by the FSM handler when the application is done\n\t\treturn\n\n\tcase LogConfiguration:\n\tcase LogAddPeerDeprecated:\n\tcase LogRemovePeerDeprecated:\n\tcase LogNoop:\n\t\t// Ignore the no-op\n\n\tdefault:\n\t\tpanic(fmt.Errorf(\"unrecognized log type: %#v\", l))\n\t}\n\n\t// Invoke the future if given\n\tif future != nil {\n\t\tfuture.respond(nil)\n\t}\n}\n\n// processRPC is called to handle an incoming RPC request. This must only be\n// called from the main thread.\nfunc (r *Raft) processRPC(rpc RPC) {\n\tif err := r.checkRPCHeader(rpc); err != nil {\n\t\trpc.Respond(nil, err)\n\t\treturn\n\t}\n\n\tswitch cmd := rpc.Command.(type) {\n\tcase *AppendEntriesRequest:\n\t\tr.appendEntries(rpc, cmd)\n\tcase *RequestVoteRequest:\n\t\tr.requestVote(rpc, cmd)\n\tcase *InstallSnapshotRequest:\n\t\tr.installSnapshot(rpc, cmd)\n\tdefault:\n\t\tr.logger.Printf(\"[ERR] raft: Got unexpected command: %#v\", rpc.Command)\n\t\trpc.Respond(nil, fmt.Errorf(\"unexpected command\"))\n\t}\n}\n\n// processHeartbeat is a special handler used just for heartbeat requests\n// so that they can be fast-pathed if a transport supports it. This must only\n// be called from the main thread.\nfunc (r *Raft) processHeartbeat(rpc RPC) {\n\tdefer metrics.MeasureSince([]string{\"raft\", \"rpc\", \"processHeartbeat\"}, time.Now())\n\n\t// Check if we are shutdown, just ignore the RPC\n\tselect {\n\tcase <-r.shutdownCh:\n\t\treturn\n\tdefault:\n\t}\n\n\t// Ensure we are only handling a heartbeat\n\tswitch cmd := rpc.Command.(type) {\n\tcase *AppendEntriesRequest:\n\t\tr.appendEntries(rpc, cmd)\n\tdefault:\n\t\tr.logger.Printf(\"[ERR] raft: Expected heartbeat, got command: %#v\", rpc.Command)\n\t\trpc.Respond(nil, fmt.Errorf(\"unexpected command\"))\n\t}\n}\n\n// appendEntries is invoked when we get an append entries RPC call. This must\n// only be called from the main thread.\nfunc (r *Raft) appendEntries(rpc RPC, a *AppendEntriesRequest) {\n\tdefer metrics.MeasureSince([]string{\"raft\", \"rpc\", \"appendEntries\"}, time.Now())\n\t// Setup a response\n\tresp := &AppendEntriesResponse{\n\t\tRPCHeader:      r.getRPCHeader(),\n\t\tTerm:           r.getCurrentTerm(),\n\t\tLastLog:        r.getLastIndex(),\n\t\tSuccess:        false,\n\t\tNoRetryBackoff: false,\n\t}\n\tvar rpcErr error\n\tdefer func() {\n\t\trpc.Respond(resp, rpcErr)\n\t}()\n\n\t// Ignore an older term\n\tif a.Term < r.getCurrentTerm() {\n\t\treturn\n\t}\n\n\t// Increase the term if we see a newer one, also transition to follower\n\t// if we ever get an appendEntries call\n\tif a.Term > r.getCurrentTerm() || r.getState() != Follower {\n\t\t// Ensure transition to follower\n\t\tr.setState(Follower)\n\t\tr.setCurrentTerm(a.Term)\n\t\tresp.Term = a.Term\n\t}\n\n\t// Save the current leader\n\tr.setLeader(ServerAddress(r.trans.DecodePeer(a.Leader)))\n\n\t// Verify the last log entry\n\tif a.PrevLogEntry > 0 {\n\t\tlastIdx, lastTerm := r.getLastEntry()\n\n\t\tvar prevLogTerm uint64\n\t\tif a.PrevLogEntry == lastIdx {\n\t\t\tprevLogTerm = lastTerm\n\n\t\t} else {\n\t\t\tvar prevLog Log\n\t\t\tif err := r.logs.GetLog(a.PrevLogEntry, &prevLog); err != nil {\n\t\t\t\tr.logger.Printf(\"[WARN] raft: Failed to get previous log: %d %v (last: %d)\",\n\t\t\t\t\ta.PrevLogEntry, err, lastIdx)\n\t\t\t\tresp.NoRetryBackoff = true\n\t\t\t\treturn\n\t\t\t}\n\t\t\tprevLogTerm = prevLog.Term\n\t\t}\n\n\t\tif a.PrevLogTerm != prevLogTerm {\n\t\t\tr.logger.Printf(\"[WARN] raft: Previous log term mis-match: ours: %d remote: %d\",\n\t\t\t\tprevLogTerm, a.PrevLogTerm)\n\t\t\tresp.NoRetryBackoff = true\n\t\t\treturn\n\t\t}\n\t}\n\n\t// Process any new entries\n\tif len(a.Entries) > 0 {\n\t\tstart := time.Now()\n\n\t\t// Delete any conflicting entries, skip any duplicates\n\t\tlastLogIdx, _ := r.getLastLog()\n\t\tvar newEntries []*Log\n\t\tfor i, entry := range a.Entries {\n\t\t\tif entry.Index > lastLogIdx {\n\t\t\t\tnewEntries = a.Entries[i:]\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tvar storeEntry Log\n\t\t\tif err := r.logs.GetLog(entry.Index, &storeEntry); err != nil {\n\t\t\t\tr.logger.Printf(\"[WARN] raft: Failed to get log entry %d: %v\",\n\t\t\t\t\tentry.Index, err)\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif entry.Term != storeEntry.Term {\n\t\t\t\tr.logger.Printf(\"[WARN] raft: Clearing log suffix from %d to %d\", entry.Index, lastLogIdx)\n\t\t\t\tif err := r.logs.DeleteRange(entry.Index, lastLogIdx); err != nil {\n\t\t\t\t\tr.logger.Printf(\"[ERR] raft: Failed to clear log suffix: %v\", err)\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tif entry.Index <= r.configurations.latestIndex {\n\t\t\t\t\tr.configurations.latest = r.configurations.committed\n\t\t\t\t\tr.configurations.latestIndex = r.configurations.committedIndex\n\t\t\t\t}\n\t\t\t\tnewEntries = a.Entries[i:]\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\tif n := len(newEntries); n > 0 {\n\t\t\t// Append the new entries\n\t\t\tif err := r.logs.StoreLogs(newEntries); err != nil {\n\t\t\t\tr.logger.Printf(\"[ERR] raft: Failed to append to logs: %v\", err)\n\t\t\t\t// TODO: leaving r.getLastLog() in the wrong\n\t\t\t\t// state if there was a truncation above\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Handle any new configuration changes\n\t\t\tfor _, newEntry := range newEntries {\n\t\t\t\tr.processConfigurationLogEntry(newEntry)\n\t\t\t}\n\n\t\t\t// Update the lastLog\n\t\t\tlast := newEntries[n-1]\n\t\t\tr.setLastLog(last.Index, last.Term)\n\t\t}\n\n\t\tmetrics.MeasureSince([]string{\"raft\", \"rpc\", \"appendEntries\", \"storeLogs\"}, start)\n\t}\n\n\t// Update the commit index\n\tif a.LeaderCommitIndex > 0 && a.LeaderCommitIndex > r.getCommitIndex() {\n\t\tstart := time.Now()\n\t\tidx := min(a.LeaderCommitIndex, r.getLastIndex())\n\t\tr.setCommitIndex(idx)\n\t\tif r.configurations.latestIndex <= idx {\n\t\t\tr.configurations.committed = r.configurations.latest\n\t\t\tr.configurations.committedIndex = r.configurations.latestIndex\n\t\t}\n\t\tr.processLogs(idx, nil)\n\t\tmetrics.MeasureSince([]string{\"raft\", \"rpc\", \"appendEntries\", \"processLogs\"}, start)\n\t}\n\n\t// Everything went well, set success\n\tresp.Success = true\n\tr.setLastContact()\n\treturn\n}\n\n// processConfigurationLogEntry takes a log entry and updates the latest\n// configuration if the entry results in a new configuration. This must only be\n// called from the main thread, or from NewRaft() before any threads have begun.\nfunc (r *Raft) processConfigurationLogEntry(entry *Log) {\n\tif entry.Type == LogConfiguration {\n\t\tr.configurations.committed = r.configurations.latest\n\t\tr.configurations.committedIndex = r.configurations.latestIndex\n\t\tr.configurations.latest = decodeConfiguration(entry.Data)\n\t\tr.configurations.latestIndex = entry.Index\n\t} else if entry.Type == LogAddPeerDeprecated || entry.Type == LogRemovePeerDeprecated {\n\t\tr.configurations.committed = r.configurations.latest\n\t\tr.configurations.committedIndex = r.configurations.latestIndex\n\t\tr.configurations.latest = decodePeers(entry.Data, r.trans)\n\t\tr.configurations.latestIndex = entry.Index\n\t}\n}\n\n// requestVote is invoked when we get an request vote RPC call.\nfunc (r *Raft) requestVote(rpc RPC, req *RequestVoteRequest) {\n\tdefer metrics.MeasureSince([]string{\"raft\", \"rpc\", \"requestVote\"}, time.Now())\n\tr.observe(*req)\n\n\t// Setup a response\n\tresp := &RequestVoteResponse{\n\t\tRPCHeader: r.getRPCHeader(),\n\t\tTerm:      r.getCurrentTerm(),\n\t\tGranted:   false,\n\t}\n\tvar rpcErr error\n\tdefer func() {\n\t\trpc.Respond(resp, rpcErr)\n\t}()\n\n\t// Version 0 servers will panic unless the peers is present. It's only\n\t// used on them to produce a warning message.\n\tif r.protocolVersion < 2 {\n\t\tresp.Peers = encodePeers(r.configurations.latest, r.trans)\n\t}\n\n\t// Check if we have an existing leader [who's not the candidate]\n\tcandidate := r.trans.DecodePeer(req.Candidate)\n\tif leader := r.Leader(); leader != \"\" && leader != candidate {\n\t\tr.logger.Printf(\"[WARN] raft: Rejecting vote request from %v since we have a leader: %v\",\n\t\t\tcandidate, leader)\n\t\treturn\n\t}\n\n\t// Ignore an older term\n\tif req.Term < r.getCurrentTerm() {\n\t\treturn\n\t}\n\n\t// Increase the term if we see a newer one\n\tif req.Term > r.getCurrentTerm() {\n\t\t// Ensure transition to follower\n\t\tr.setState(Follower)\n\t\tr.setCurrentTerm(req.Term)\n\t\tresp.Term = req.Term\n\t}\n\n\t// Check if we have voted yet\n\tlastVoteTerm, err := r.stable.GetUint64(keyLastVoteTerm)\n\tif err != nil && err.Error() != \"not found\" {\n\t\tr.logger.Printf(\"[ERR] raft: Failed to get last vote term: %v\", err)\n\t\treturn\n\t}\n\tlastVoteCandBytes, err := r.stable.Get(keyLastVoteCand)\n\tif err != nil && err.Error() != \"not found\" {\n\t\tr.logger.Printf(\"[ERR] raft: Failed to get last vote candidate: %v\", err)\n\t\treturn\n\t}\n\n\t// Check if we've voted in this election before\n\tif lastVoteTerm == req.Term && lastVoteCandBytes != nil {\n\t\tr.logger.Printf(\"[INFO] raft: Duplicate RequestVote for same term: %d\", req.Term)\n\t\tif bytes.Compare(lastVoteCandBytes, req.Candidate) == 0 {\n\t\t\tr.logger.Printf(\"[WARN] raft: Duplicate RequestVote from candidate: %s\", req.Candidate)\n\t\t\tresp.Granted = true\n\t\t}\n\t\treturn\n\t}\n\n\t// Reject if their term is older\n\tlastIdx, lastTerm := r.getLastEntry()\n\tif lastTerm > req.LastLogTerm {\n\t\tr.logger.Printf(\"[WARN] raft: Rejecting vote request from %v since our last term is greater (%d, %d)\",\n\t\t\tcandidate, lastTerm, req.LastLogTerm)\n\t\treturn\n\t}\n\n\tif lastTerm == req.LastLogTerm && lastIdx > req.LastLogIndex {\n\t\tr.logger.Printf(\"[WARN] raft: Rejecting vote request from %v since our last index is greater (%d, %d)\",\n\t\t\tcandidate, lastIdx, req.LastLogIndex)\n\t\treturn\n\t}\n\n\t// Persist a vote for safety\n\tif err := r.persistVote(req.Term, req.Candidate); err != nil {\n\t\tr.logger.Printf(\"[ERR] raft: Failed to persist vote: %v\", err)\n\t\treturn\n\t}\n\n\tresp.Granted = true\n\tr.setLastContact()\n\treturn\n}\n\n// installSnapshot is invoked when we get a InstallSnapshot RPC call.\n// We must be in the follower state for this, since it means we are\n// too far behind a leader for log replay. This must only be called\n// from the main thread.\nfunc (r *Raft) installSnapshot(rpc RPC, req *InstallSnapshotRequest) {\n\tdefer metrics.MeasureSince([]string{\"raft\", \"rpc\", \"installSnapshot\"}, time.Now())\n\t// Setup a response\n\tresp := &InstallSnapshotResponse{\n\t\tTerm:    r.getCurrentTerm(),\n\t\tSuccess: false,\n\t}\n\tvar rpcErr error\n\tdefer func() {\n\t\tio.Copy(ioutil.Discard, rpc.Reader) // ensure we always consume all the snapshot data from the stream [see issue #212]\n\t\trpc.Respond(resp, rpcErr)\n\t}()\n\n\t// Sanity check the version\n\tif req.SnapshotVersion < SnapshotVersionMin ||\n\t\treq.SnapshotVersion > SnapshotVersionMax {\n\t\trpcErr = fmt.Errorf(\"unsupported snapshot version %d\", req.SnapshotVersion)\n\t\treturn\n\t}\n\n\t// Ignore an older term\n\tif req.Term < r.getCurrentTerm() {\n\t\tr.logger.Printf(\"[INFO] raft: Ignoring installSnapshot request with older term of %d vs currentTerm %d\", req.Term, r.getCurrentTerm())\n\t\treturn\n\t}\n\n\t// Increase the term if we see a newer one\n\tif req.Term > r.getCurrentTerm() {\n\t\t// Ensure transition to follower\n\t\tr.setState(Follower)\n\t\tr.setCurrentTerm(req.Term)\n\t\tresp.Term = req.Term\n\t}\n\n\t// Save the current leader\n\tr.setLeader(ServerAddress(r.trans.DecodePeer(req.Leader)))\n\n\t// Create a new snapshot\n\tvar reqConfiguration Configuration\n\tvar reqConfigurationIndex uint64\n\tif req.SnapshotVersion > 0 {\n\t\treqConfiguration = decodeConfiguration(req.Configuration)\n\t\treqConfigurationIndex = req.ConfigurationIndex\n\t} else {\n\t\treqConfiguration = decodePeers(req.Peers, r.trans)\n\t\treqConfigurationIndex = req.LastLogIndex\n\t}\n\tversion := getSnapshotVersion(r.protocolVersion)\n\tsink, err := r.snapshots.Create(version, req.LastLogIndex, req.LastLogTerm,\n\t\treqConfiguration, reqConfigurationIndex, r.trans)\n\tif err != nil {\n\t\tr.logger.Printf(\"[ERR] raft: Failed to create snapshot to install: %v\", err)\n\t\trpcErr = fmt.Errorf(\"failed to create snapshot: %v\", err)\n\t\treturn\n\t}\n\n\t// Spill the remote snapshot to disk\n\tn, err := io.Copy(sink, rpc.Reader)\n\tif err != nil {\n\t\tsink.Cancel()\n\t\tr.logger.Printf(\"[ERR] raft: Failed to copy snapshot: %v\", err)\n\t\trpcErr = err\n\t\treturn\n\t}\n\n\t// Check that we received it all\n\tif n != req.Size {\n\t\tsink.Cancel()\n\t\tr.logger.Printf(\"[ERR] raft: Failed to receive whole snapshot: %d / %d\", n, req.Size)\n\t\trpcErr = fmt.Errorf(\"short read\")\n\t\treturn\n\t}\n\n\t// Finalize the snapshot\n\tif err := sink.Close(); err != nil {\n\t\tr.logger.Printf(\"[ERR] raft: Failed to finalize snapshot: %v\", err)\n\t\trpcErr = err\n\t\treturn\n\t}\n\tr.logger.Printf(\"[INFO] raft: Copied %d bytes to local snapshot\", n)\n\n\t// Restore snapshot\n\tfuture := &restoreFuture{ID: sink.ID()}\n\tfuture.init()\n\tselect {\n\tcase r.fsmMutateCh <- future:\n\tcase <-r.shutdownCh:\n\t\tfuture.respond(ErrRaftShutdown)\n\t\treturn\n\t}\n\n\t// Wait for the restore to happen\n\tif err := future.Error(); err != nil {\n\t\tr.logger.Printf(\"[ERR] raft: Failed to restore snapshot: %v\", err)\n\t\trpcErr = err\n\t\treturn\n\t}\n\n\t// Update the lastApplied so we don't replay old logs\n\tr.setLastApplied(req.LastLogIndex)\n\n\t// Update the last stable snapshot info\n\tr.setLastSnapshot(req.LastLogIndex, req.LastLogTerm)\n\n\t// Restore the peer set\n\tr.configurations.latest = reqConfiguration\n\tr.configurations.latestIndex = reqConfigurationIndex\n\tr.configurations.committed = reqConfiguration\n\tr.configurations.committedIndex = reqConfigurationIndex\n\n\t// Compact logs, continue even if this fails\n\tif err := r.compactLogs(req.LastLogIndex); err != nil {\n\t\tr.logger.Printf(\"[ERR] raft: Failed to compact logs: %v\", err)\n\t}\n\n\tr.logger.Printf(\"[INFO] raft: Installed remote snapshot\")\n\tresp.Success = true\n\tr.setLastContact()\n\treturn\n}\n\n// setLastContact is used to set the last contact time to now\nfunc (r *Raft) setLastContact() {\n\tr.lastContactLock.Lock()\n\tr.lastContact = time.Now()\n\tr.lastContactLock.Unlock()\n}\n\ntype voteResult struct {\n\tRequestVoteResponse\n\tvoterID ServerID\n}\n\n// electSelf is used to send a RequestVote RPC to all peers, and vote for\n// ourself. This has the side affecting of incrementing the current term. The\n// response channel returned is used to wait for all the responses (including a\n// vote for ourself). This must only be called from the main thread.\nfunc (r *Raft) electSelf() <-chan *voteResult {\n\t// Create a response channel\n\trespCh := make(chan *voteResult, len(r.configurations.latest.Servers))\n\n\t// Increment the term\n\tr.setCurrentTerm(r.getCurrentTerm() + 1)\n\n\t// Construct the request\n\tlastIdx, lastTerm := r.getLastEntry()\n\treq := &RequestVoteRequest{\n\t\tRPCHeader:    r.getRPCHeader(),\n\t\tTerm:         r.getCurrentTerm(),\n\t\tCandidate:    r.trans.EncodePeer(r.localID, r.localAddr),\n\t\tLastLogIndex: lastIdx,\n\t\tLastLogTerm:  lastTerm,\n\t}\n\n\t// Construct a function to ask for a vote\n\taskPeer := func(peer Server) {\n\t\tr.goFunc(func() {\n\t\t\tdefer metrics.MeasureSince([]string{\"raft\", \"candidate\", \"electSelf\"}, time.Now())\n\t\t\tresp := &voteResult{voterID: peer.ID}\n\t\t\terr := r.trans.RequestVote(peer.ID, peer.Address, req, &resp.RequestVoteResponse)\n\t\t\tif err != nil {\n\t\t\t\tr.logger.Printf(\"[ERR] raft: Failed to make RequestVote RPC to %v: %v\", peer, err)\n\t\t\t\tresp.Term = req.Term\n\t\t\t\tresp.Granted = false\n\t\t\t}\n\t\t\trespCh <- resp\n\t\t})\n\t}\n\n\t// For each peer, request a vote\n\tfor _, server := range r.configurations.latest.Servers {\n\t\tif server.Suffrage == Voter {\n\t\t\tif server.ID == r.localID {\n\t\t\t\t// Persist a vote for ourselves\n\t\t\t\tif err := r.persistVote(req.Term, req.Candidate); err != nil {\n\t\t\t\t\tr.logger.Printf(\"[ERR] raft: Failed to persist vote : %v\", err)\n\t\t\t\t\treturn nil\n\t\t\t\t}\n\t\t\t\t// Include our own vote\n\t\t\t\trespCh <- &voteResult{\n\t\t\t\t\tRequestVoteResponse: RequestVoteResponse{\n\t\t\t\t\t\tRPCHeader: r.getRPCHeader(),\n\t\t\t\t\t\tTerm:      req.Term,\n\t\t\t\t\t\tGranted:   true,\n\t\t\t\t\t},\n\t\t\t\t\tvoterID: r.localID,\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\taskPeer(server)\n\t\t\t}\n\t\t}\n\t}\n\n\treturn respCh\n}\n\n// persistVote is used to persist our vote for safety.\nfunc (r *Raft) persistVote(term uint64, candidate []byte) error {\n\tif err := r.stable.SetUint64(keyLastVoteTerm, term); err != nil {\n\t\treturn err\n\t}\n\tif err := r.stable.Set(keyLastVoteCand, candidate); err != nil {\n\t\treturn err\n\t}\n\treturn nil\n}\n\n// setCurrentTerm is used to set the current term in a durable manner.\nfunc (r *Raft) setCurrentTerm(t uint64) {\n\t// Persist to disk first\n\tif err := r.stable.SetUint64(keyCurrentTerm, t); err != nil {\n\t\tpanic(fmt.Errorf(\"failed to save current term: %v\", err))\n\t}\n\tr.raftState.setCurrentTerm(t)\n}\n\n// setState is used to update the current state. Any state\n// transition causes the known leader to be cleared. This means\n// that leader should be set only after updating the state.\nfunc (r *Raft) setState(state RaftState) {\n\tr.setLeader(\"\")\n\toldState := r.raftState.getState()\n\tr.raftState.setState(state)\n\tif oldState != state {\n\t\tr.observe(state)\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft/replication.go",
    "content": "package raft\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"sync\"\n\t\"time\"\n\n\t\"github.com/armon/go-metrics\"\n)\n\nconst (\n\tmaxFailureScale = 12\n\tfailureWait     = 10 * time.Millisecond\n)\n\nvar (\n\t// ErrLogNotFound indicates a given log entry is not available.\n\tErrLogNotFound = errors.New(\"log not found\")\n\n\t// ErrPipelineReplicationNotSupported can be returned by the transport to\n\t// signal that pipeline replication is not supported in general, and that\n\t// no error message should be produced.\n\tErrPipelineReplicationNotSupported = errors.New(\"pipeline replication not supported\")\n)\n\n// followerReplication is in charge of sending snapshots and log entries from\n// this leader during this particular term to a remote follower.\ntype followerReplication struct {\n\t// peer contains the network address and ID of the remote follower.\n\tpeer Server\n\n\t// commitment tracks the entries acknowledged by followers so that the\n\t// leader's commit index can advance. It is updated on successsful\n\t// AppendEntries responses.\n\tcommitment *commitment\n\n\t// stopCh is notified/closed when this leader steps down or the follower is\n\t// removed from the cluster. In the follower removed case, it carries a log\n\t// index; replication should be attempted with a best effort up through that\n\t// index, before exiting.\n\tstopCh chan uint64\n\t// triggerCh is notified every time new entries are appended to the log.\n\ttriggerCh chan struct{}\n\n\t// currentTerm is the term of this leader, to be included in AppendEntries\n\t// requests.\n\tcurrentTerm uint64\n\t// nextIndex is the index of the next log entry to send to the follower,\n\t// which may fall past the end of the log.\n\tnextIndex uint64\n\n\t// lastContact is updated to the current time whenever any response is\n\t// received from the follower (successful or not). This is used to check\n\t// whether the leader should step down (Raft.checkLeaderLease()).\n\tlastContact time.Time\n\t// lastContactLock protects 'lastContact'.\n\tlastContactLock sync.RWMutex\n\n\t// failures counts the number of failed RPCs since the last success, which is\n\t// used to apply backoff.\n\tfailures uint64\n\n\t// notifyCh is notified to send out a heartbeat, which is used to check that\n\t// this server is still leader.\n\tnotifyCh chan struct{}\n\t// notify is a list of futures to be resolved upon receipt of an\n\t// acknowledgement, then cleared from this list.\n\tnotify []*verifyFuture\n\t// notifyLock protects 'notify'.\n\tnotifyLock sync.Mutex\n\n\t// stepDown is used to indicate to the leader that we\n\t// should step down based on information from a follower.\n\tstepDown chan struct{}\n\n\t// allowPipeline is used to determine when to pipeline the AppendEntries RPCs.\n\t// It is private to this replication goroutine.\n\tallowPipeline bool\n}\n\n// notifyAll is used to notify all the waiting verify futures\n// if the follower believes we are still the leader.\nfunc (s *followerReplication) notifyAll(leader bool) {\n\t// Clear the waiting notifies minimizing lock time\n\ts.notifyLock.Lock()\n\tn := s.notify\n\ts.notify = nil\n\ts.notifyLock.Unlock()\n\n\t// Submit our votes\n\tfor _, v := range n {\n\t\tv.vote(leader)\n\t}\n}\n\n// LastContact returns the time of last contact.\nfunc (s *followerReplication) LastContact() time.Time {\n\ts.lastContactLock.RLock()\n\tlast := s.lastContact\n\ts.lastContactLock.RUnlock()\n\treturn last\n}\n\n// setLastContact sets the last contact to the current time.\nfunc (s *followerReplication) setLastContact() {\n\ts.lastContactLock.Lock()\n\ts.lastContact = time.Now()\n\ts.lastContactLock.Unlock()\n}\n\n// replicate is a long running routine that replicates log entries to a single\n// follower.\nfunc (r *Raft) replicate(s *followerReplication) {\n\t// Start an async heartbeating routing\n\tstopHeartbeat := make(chan struct{})\n\tdefer close(stopHeartbeat)\n\tr.goFunc(func() { r.heartbeat(s, stopHeartbeat) })\n\nRPC:\n\tshouldStop := false\n\tfor !shouldStop {\n\t\tselect {\n\t\tcase maxIndex := <-s.stopCh:\n\t\t\t// Make a best effort to replicate up to this index\n\t\t\tif maxIndex > 0 {\n\t\t\t\tr.replicateTo(s, maxIndex)\n\t\t\t}\n\t\t\treturn\n\t\tcase <-s.triggerCh:\n\t\t\tlastLogIdx, _ := r.getLastLog()\n\t\t\tshouldStop = r.replicateTo(s, lastLogIdx)\n\t\tcase <-randomTimeout(r.conf.CommitTimeout): // TODO: what is this?\n\t\t\tlastLogIdx, _ := r.getLastLog()\n\t\t\tshouldStop = r.replicateTo(s, lastLogIdx)\n\t\t}\n\n\t\t// If things looks healthy, switch to pipeline mode\n\t\tif !shouldStop && s.allowPipeline {\n\t\t\tgoto PIPELINE\n\t\t}\n\t}\n\treturn\n\nPIPELINE:\n\t// Disable until re-enabled\n\ts.allowPipeline = false\n\n\t// Replicates using a pipeline for high performance. This method\n\t// is not able to gracefully recover from errors, and so we fall back\n\t// to standard mode on failure.\n\tif err := r.pipelineReplicate(s); err != nil {\n\t\tif err != ErrPipelineReplicationNotSupported {\n\t\t\tr.logger.Printf(\"[ERR] raft: Failed to start pipeline replication to %s: %s\", s.peer, err)\n\t\t}\n\t}\n\tgoto RPC\n}\n\n// replicateTo is a helper to replicate(), used to replicate the logs up to a\n// given last index.\n// If the follower log is behind, we take care to bring them up to date.\nfunc (r *Raft) replicateTo(s *followerReplication, lastIndex uint64) (shouldStop bool) {\n\t// Create the base request\n\tvar req AppendEntriesRequest\n\tvar resp AppendEntriesResponse\n\tvar start time.Time\nSTART:\n\t// Prevent an excessive retry rate on errors\n\tif s.failures > 0 {\n\t\tselect {\n\t\tcase <-time.After(backoff(failureWait, s.failures, maxFailureScale)):\n\t\tcase <-r.shutdownCh:\n\t\t}\n\t}\n\n\t// Setup the request\n\tif err := r.setupAppendEntries(s, &req, s.nextIndex, lastIndex); err == ErrLogNotFound {\n\t\tgoto SEND_SNAP\n\t} else if err != nil {\n\t\treturn\n\t}\n\n\t// Make the RPC call\n\tstart = time.Now()\n\tif err := r.trans.AppendEntries(s.peer.ID, s.peer.Address, &req, &resp); err != nil {\n\t\tr.logger.Printf(\"[ERR] raft: Failed to AppendEntries to %v: %v\", s.peer, err)\n\t\ts.failures++\n\t\treturn\n\t}\n\tappendStats(string(s.peer.ID), start, float32(len(req.Entries)))\n\n\t// Check for a newer term, stop running\n\tif resp.Term > req.Term {\n\t\tr.handleStaleTerm(s)\n\t\treturn true\n\t}\n\n\t// Update the last contact\n\ts.setLastContact()\n\n\t// Update s based on success\n\tif resp.Success {\n\t\t// Update our replication state\n\t\tupdateLastAppended(s, &req)\n\n\t\t// Clear any failures, allow pipelining\n\t\ts.failures = 0\n\t\ts.allowPipeline = true\n\t} else {\n\t\ts.nextIndex = max(min(s.nextIndex-1, resp.LastLog+1), 1)\n\t\tif resp.NoRetryBackoff {\n\t\t\ts.failures = 0\n\t\t} else {\n\t\t\ts.failures++\n\t\t}\n\t\tr.logger.Printf(\"[WARN] raft: AppendEntries to %v rejected, sending older logs (next: %d)\", s.peer, s.nextIndex)\n\t}\n\nCHECK_MORE:\n\t// Poll the stop channel here in case we are looping and have been asked\n\t// to stop, or have stepped down as leader. Even for the best effort case\n\t// where we are asked to replicate to a given index and then shutdown,\n\t// it's better to not loop in here to send lots of entries to a straggler\n\t// that's leaving the cluster anyways.\n\tselect {\n\tcase <-s.stopCh:\n\t\treturn true\n\tdefault:\n\t}\n\n\t// Check if there are more logs to replicate\n\tif s.nextIndex <= lastIndex {\n\t\tgoto START\n\t}\n\treturn\n\n\t// SEND_SNAP is used when we fail to get a log, usually because the follower\n\t// is too far behind, and we must ship a snapshot down instead\nSEND_SNAP:\n\tif stop, err := r.sendLatestSnapshot(s); stop {\n\t\treturn true\n\t} else if err != nil {\n\t\tr.logger.Printf(\"[ERR] raft: Failed to send snapshot to %v: %v\", s.peer, err)\n\t\treturn\n\t}\n\n\t// Check if there is more to replicate\n\tgoto CHECK_MORE\n}\n\n// sendLatestSnapshot is used to send the latest snapshot we have\n// down to our follower.\nfunc (r *Raft) sendLatestSnapshot(s *followerReplication) (bool, error) {\n\t// Get the snapshots\n\tsnapshots, err := r.snapshots.List()\n\tif err != nil {\n\t\tr.logger.Printf(\"[ERR] raft: Failed to list snapshots: %v\", err)\n\t\treturn false, err\n\t}\n\n\t// Check we have at least a single snapshot\n\tif len(snapshots) == 0 {\n\t\treturn false, fmt.Errorf(\"no snapshots found\")\n\t}\n\n\t// Open the most recent snapshot\n\tsnapID := snapshots[0].ID\n\tmeta, snapshot, err := r.snapshots.Open(snapID)\n\tif err != nil {\n\t\tr.logger.Printf(\"[ERR] raft: Failed to open snapshot %v: %v\", snapID, err)\n\t\treturn false, err\n\t}\n\tdefer snapshot.Close()\n\n\t// Setup the request\n\treq := InstallSnapshotRequest{\n\t\tRPCHeader:          r.getRPCHeader(),\n\t\tSnapshotVersion:    meta.Version,\n\t\tTerm:               s.currentTerm,\n\t\tLeader:             r.trans.EncodePeer(r.localID, r.localAddr),\n\t\tLastLogIndex:       meta.Index,\n\t\tLastLogTerm:        meta.Term,\n\t\tPeers:              meta.Peers,\n\t\tSize:               meta.Size,\n\t\tConfiguration:      encodeConfiguration(meta.Configuration),\n\t\tConfigurationIndex: meta.ConfigurationIndex,\n\t}\n\n\t// Make the call\n\tstart := time.Now()\n\tvar resp InstallSnapshotResponse\n\tif err := r.trans.InstallSnapshot(s.peer.ID, s.peer.Address, &req, &resp, snapshot); err != nil {\n\t\tr.logger.Printf(\"[ERR] raft: Failed to install snapshot %v: %v\", snapID, err)\n\t\ts.failures++\n\t\treturn false, err\n\t}\n\tmetrics.MeasureSince([]string{\"raft\", \"replication\", \"installSnapshot\", string(s.peer.ID)}, start)\n\n\t// Check for a newer term, stop running\n\tif resp.Term > req.Term {\n\t\tr.handleStaleTerm(s)\n\t\treturn true, nil\n\t}\n\n\t// Update the last contact\n\ts.setLastContact()\n\n\t// Check for success\n\tif resp.Success {\n\t\t// Update the indexes\n\t\ts.nextIndex = meta.Index + 1\n\t\ts.commitment.match(s.peer.ID, meta.Index)\n\n\t\t// Clear any failures\n\t\ts.failures = 0\n\n\t\t// Notify we are still leader\n\t\ts.notifyAll(true)\n\t} else {\n\t\ts.failures++\n\t\tr.logger.Printf(\"[WARN] raft: InstallSnapshot to %v rejected\", s.peer)\n\t}\n\treturn false, nil\n}\n\n// heartbeat is used to periodically invoke AppendEntries on a peer\n// to ensure they don't time out. This is done async of replicate(),\n// since that routine could potentially be blocked on disk IO.\nfunc (r *Raft) heartbeat(s *followerReplication, stopCh chan struct{}) {\n\tvar failures uint64\n\treq := AppendEntriesRequest{\n\t\tRPCHeader: r.getRPCHeader(),\n\t\tTerm:      s.currentTerm,\n\t\tLeader:    r.trans.EncodePeer(r.localID, r.localAddr),\n\t}\n\tvar resp AppendEntriesResponse\n\tfor {\n\t\t// Wait for the next heartbeat interval or forced notify\n\t\tselect {\n\t\tcase <-s.notifyCh:\n\t\tcase <-randomTimeout(r.conf.HeartbeatTimeout / 10):\n\t\tcase <-stopCh:\n\t\t\treturn\n\t\t}\n\n\t\tstart := time.Now()\n\t\tif err := r.trans.AppendEntries(s.peer.ID, s.peer.Address, &req, &resp); err != nil {\n\t\t\tr.logger.Printf(\"[ERR] raft: Failed to heartbeat to %v: %v\", s.peer.Address, err)\n\t\t\tfailures++\n\t\t\tselect {\n\t\t\tcase <-time.After(backoff(failureWait, failures, maxFailureScale)):\n\t\t\tcase <-stopCh:\n\t\t\t}\n\t\t} else {\n\t\t\ts.setLastContact()\n\t\t\tfailures = 0\n\t\t\tmetrics.MeasureSince([]string{\"raft\", \"replication\", \"heartbeat\", string(s.peer.ID)}, start)\n\t\t\ts.notifyAll(resp.Success)\n\t\t}\n\t}\n}\n\n// pipelineReplicate is used when we have synchronized our state with the follower,\n// and want to switch to a higher performance pipeline mode of replication.\n// We only pipeline AppendEntries commands, and if we ever hit an error, we fall\n// back to the standard replication which can handle more complex situations.\nfunc (r *Raft) pipelineReplicate(s *followerReplication) error {\n\t// Create a new pipeline\n\tpipeline, err := r.trans.AppendEntriesPipeline(s.peer.ID, s.peer.Address)\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer pipeline.Close()\n\n\t// Log start and stop of pipeline\n\tr.logger.Printf(\"[INFO] raft: pipelining replication to peer %v\", s.peer)\n\tdefer r.logger.Printf(\"[INFO] raft: aborting pipeline replication to peer %v\", s.peer)\n\n\t// Create a shutdown and finish channel\n\tstopCh := make(chan struct{})\n\tfinishCh := make(chan struct{})\n\n\t// Start a dedicated decoder\n\tr.goFunc(func() { r.pipelineDecode(s, pipeline, stopCh, finishCh) })\n\n\t// Start pipeline sends at the last good nextIndex\n\tnextIndex := s.nextIndex\n\n\tshouldStop := false\nSEND:\n\tfor !shouldStop {\n\t\tselect {\n\t\tcase <-finishCh:\n\t\t\tbreak SEND\n\t\tcase maxIndex := <-s.stopCh:\n\t\t\t// Make a best effort to replicate up to this index\n\t\t\tif maxIndex > 0 {\n\t\t\t\tr.pipelineSend(s, pipeline, &nextIndex, maxIndex)\n\t\t\t}\n\t\t\tbreak SEND\n\t\tcase <-s.triggerCh:\n\t\t\tlastLogIdx, _ := r.getLastLog()\n\t\t\tshouldStop = r.pipelineSend(s, pipeline, &nextIndex, lastLogIdx)\n\t\tcase <-randomTimeout(r.conf.CommitTimeout):\n\t\t\tlastLogIdx, _ := r.getLastLog()\n\t\t\tshouldStop = r.pipelineSend(s, pipeline, &nextIndex, lastLogIdx)\n\t\t}\n\t}\n\n\t// Stop our decoder, and wait for it to finish\n\tclose(stopCh)\n\tselect {\n\tcase <-finishCh:\n\tcase <-r.shutdownCh:\n\t}\n\treturn nil\n}\n\n// pipelineSend is used to send data over a pipeline. It is a helper to\n// pipelineReplicate.\nfunc (r *Raft) pipelineSend(s *followerReplication, p AppendPipeline, nextIdx *uint64, lastIndex uint64) (shouldStop bool) {\n\t// Create a new append request\n\treq := new(AppendEntriesRequest)\n\tif err := r.setupAppendEntries(s, req, *nextIdx, lastIndex); err != nil {\n\t\treturn true\n\t}\n\n\t// Pipeline the append entries\n\tif _, err := p.AppendEntries(req, new(AppendEntriesResponse)); err != nil {\n\t\tr.logger.Printf(\"[ERR] raft: Failed to pipeline AppendEntries to %v: %v\", s.peer, err)\n\t\treturn true\n\t}\n\n\t// Increase the next send log to avoid re-sending old logs\n\tif n := len(req.Entries); n > 0 {\n\t\tlast := req.Entries[n-1]\n\t\t*nextIdx = last.Index + 1\n\t}\n\treturn false\n}\n\n// pipelineDecode is used to decode the responses of pipelined requests.\nfunc (r *Raft) pipelineDecode(s *followerReplication, p AppendPipeline, stopCh, finishCh chan struct{}) {\n\tdefer close(finishCh)\n\trespCh := p.Consumer()\n\tfor {\n\t\tselect {\n\t\tcase ready := <-respCh:\n\t\t\treq, resp := ready.Request(), ready.Response()\n\t\t\tappendStats(string(s.peer.ID), ready.Start(), float32(len(req.Entries)))\n\n\t\t\t// Check for a newer term, stop running\n\t\t\tif resp.Term > req.Term {\n\t\t\t\tr.handleStaleTerm(s)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Update the last contact\n\t\t\ts.setLastContact()\n\n\t\t\t// Abort pipeline if not successful\n\t\t\tif !resp.Success {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Update our replication state\n\t\t\tupdateLastAppended(s, req)\n\t\tcase <-stopCh:\n\t\t\treturn\n\t\t}\n\t}\n}\n\n// setupAppendEntries is used to setup an append entries request.\nfunc (r *Raft) setupAppendEntries(s *followerReplication, req *AppendEntriesRequest, nextIndex, lastIndex uint64) error {\n\treq.RPCHeader = r.getRPCHeader()\n\treq.Term = s.currentTerm\n\treq.Leader = r.trans.EncodePeer(r.localID, r.localAddr)\n\treq.LeaderCommitIndex = r.getCommitIndex()\n\tif err := r.setPreviousLog(req, nextIndex); err != nil {\n\t\treturn err\n\t}\n\tif err := r.setNewLogs(req, nextIndex, lastIndex); err != nil {\n\t\treturn err\n\t}\n\treturn nil\n}\n\n// setPreviousLog is used to setup the PrevLogEntry and PrevLogTerm for an\n// AppendEntriesRequest given the next index to replicate.\nfunc (r *Raft) setPreviousLog(req *AppendEntriesRequest, nextIndex uint64) error {\n\t// Guard for the first index, since there is no 0 log entry\n\t// Guard against the previous index being a snapshot as well\n\tlastSnapIdx, lastSnapTerm := r.getLastSnapshot()\n\tif nextIndex == 1 {\n\t\treq.PrevLogEntry = 0\n\t\treq.PrevLogTerm = 0\n\n\t} else if (nextIndex - 1) == lastSnapIdx {\n\t\treq.PrevLogEntry = lastSnapIdx\n\t\treq.PrevLogTerm = lastSnapTerm\n\n\t} else {\n\t\tvar l Log\n\t\tif err := r.logs.GetLog(nextIndex-1, &l); err != nil {\n\t\t\tr.logger.Printf(\"[ERR] raft: Failed to get log at index %d: %v\",\n\t\t\t\tnextIndex-1, err)\n\t\t\treturn err\n\t\t}\n\n\t\t// Set the previous index and term (0 if nextIndex is 1)\n\t\treq.PrevLogEntry = l.Index\n\t\treq.PrevLogTerm = l.Term\n\t}\n\treturn nil\n}\n\n// setNewLogs is used to setup the logs which should be appended for a request.\nfunc (r *Raft) setNewLogs(req *AppendEntriesRequest, nextIndex, lastIndex uint64) error {\n\t// Append up to MaxAppendEntries or up to the lastIndex\n\treq.Entries = make([]*Log, 0, r.conf.MaxAppendEntries)\n\tmaxIndex := min(nextIndex+uint64(r.conf.MaxAppendEntries)-1, lastIndex)\n\tfor i := nextIndex; i <= maxIndex; i++ {\n\t\toldLog := new(Log)\n\t\tif err := r.logs.GetLog(i, oldLog); err != nil {\n\t\t\tr.logger.Printf(\"[ERR] raft: Failed to get log at index %d: %v\", i, err)\n\t\t\treturn err\n\t\t}\n\t\treq.Entries = append(req.Entries, oldLog)\n\t}\n\treturn nil\n}\n\n// appendStats is used to emit stats about an AppendEntries invocation.\nfunc appendStats(peer string, start time.Time, logs float32) {\n\tmetrics.MeasureSince([]string{\"raft\", \"replication\", \"appendEntries\", \"rpc\", peer}, start)\n\tmetrics.IncrCounter([]string{\"raft\", \"replication\", \"appendEntries\", \"logs\", peer}, logs)\n}\n\n// handleStaleTerm is used when a follower indicates that we have a stale term.\nfunc (r *Raft) handleStaleTerm(s *followerReplication) {\n\tr.logger.Printf(\"[ERR] raft: peer %v has newer term, stopping replication\", s.peer)\n\ts.notifyAll(false) // No longer leader\n\tasyncNotifyCh(s.stepDown)\n}\n\n// updateLastAppended is used to update follower replication state after a\n// successful AppendEntries RPC.\n// TODO: This isn't used during InstallSnapshot, but the code there is similar.\nfunc updateLastAppended(s *followerReplication, req *AppendEntriesRequest) {\n\t// Mark any inflight logs as committed\n\tif logs := req.Entries; len(logs) > 0 {\n\t\tlast := logs[len(logs)-1]\n\t\ts.nextIndex = last.Index + 1\n\t\ts.commitment.match(s.peer.ID, last.Index)\n\t}\n\n\t// Notify still leader\n\ts.notifyAll(true)\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft/snapshot.go",
    "content": "package raft\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"time\"\n\n\t\"github.com/armon/go-metrics\"\n)\n\n// SnapshotMeta is for metadata of a snapshot.\ntype SnapshotMeta struct {\n\t// Version is the version number of the snapshot metadata. This does not cover\n\t// the application's data in the snapshot, that should be versioned\n\t// separately.\n\tVersion SnapshotVersion\n\n\t// ID is opaque to the store, and is used for opening.\n\tID string\n\n\t// Index and Term store when the snapshot was taken.\n\tIndex uint64\n\tTerm  uint64\n\n\t// Peers is deprecated and used to support version 0 snapshots, but will\n\t// be populated in version 1 snapshots as well to help with upgrades.\n\tPeers []byte\n\n\t// Configuration and ConfigurationIndex are present in version 1\n\t// snapshots and later.\n\tConfiguration      Configuration\n\tConfigurationIndex uint64\n\n\t// Size is the size of the snapshot in bytes.\n\tSize int64\n}\n\n// SnapshotStore interface is used to allow for flexible implementations\n// of snapshot storage and retrieval. For example, a client could implement\n// a shared state store such as S3, allowing new nodes to restore snapshots\n// without streaming from the leader.\ntype SnapshotStore interface {\n\t// Create is used to begin a snapshot at a given index and term, and with\n\t// the given committed configuration. The version parameter controls\n\t// which snapshot version to create.\n\tCreate(version SnapshotVersion, index, term uint64, configuration Configuration,\n\t\tconfigurationIndex uint64, trans Transport) (SnapshotSink, error)\n\n\t// List is used to list the available snapshots in the store.\n\t// It should return then in descending order, with the highest index first.\n\tList() ([]*SnapshotMeta, error)\n\n\t// Open takes a snapshot ID and provides a ReadCloser. Once close is\n\t// called it is assumed the snapshot is no longer needed.\n\tOpen(id string) (*SnapshotMeta, io.ReadCloser, error)\n}\n\n// SnapshotSink is returned by StartSnapshot. The FSM will Write state\n// to the sink and call Close on completion. On error, Cancel will be invoked.\ntype SnapshotSink interface {\n\tio.WriteCloser\n\tID() string\n\tCancel() error\n}\n\n// runSnapshots is a long running goroutine used to manage taking\n// new snapshots of the FSM. It runs in parallel to the FSM and\n// main goroutines, so that snapshots do not block normal operation.\nfunc (r *Raft) runSnapshots() {\n\tfor {\n\t\tselect {\n\t\tcase <-randomTimeout(r.conf.SnapshotInterval):\n\t\t\t// Check if we should snapshot\n\t\t\tif !r.shouldSnapshot() {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// Trigger a snapshot\n\t\t\tif _, err := r.takeSnapshot(); err != nil {\n\t\t\t\tr.logger.Printf(\"[ERR] raft: Failed to take snapshot: %v\", err)\n\t\t\t}\n\n\t\tcase future := <-r.userSnapshotCh:\n\t\t\t// User-triggered, run immediately\n\t\t\tid, err := r.takeSnapshot()\n\t\t\tif err != nil {\n\t\t\t\tr.logger.Printf(\"[ERR] raft: Failed to take snapshot: %v\", err)\n\t\t\t} else {\n\t\t\t\tfuture.opener = func() (*SnapshotMeta, io.ReadCloser, error) {\n\t\t\t\t\treturn r.snapshots.Open(id)\n\t\t\t\t}\n\t\t\t}\n\t\t\tfuture.respond(err)\n\n\t\tcase <-r.shutdownCh:\n\t\t\treturn\n\t\t}\n\t}\n}\n\n// shouldSnapshot checks if we meet the conditions to take\n// a new snapshot.\nfunc (r *Raft) shouldSnapshot() bool {\n\t// Check the last snapshot index\n\tlastSnap, _ := r.getLastSnapshot()\n\n\t// Check the last log index\n\tlastIdx, err := r.logs.LastIndex()\n\tif err != nil {\n\t\tr.logger.Printf(\"[ERR] raft: Failed to get last log index: %v\", err)\n\t\treturn false\n\t}\n\n\t// Compare the delta to the threshold\n\tdelta := lastIdx - lastSnap\n\treturn delta >= r.conf.SnapshotThreshold\n}\n\n// takeSnapshot is used to take a new snapshot. This must only be called from\n// the snapshot thread, never the main thread. This returns the ID of the new\n// snapshot, along with an error.\nfunc (r *Raft) takeSnapshot() (string, error) {\n\tdefer metrics.MeasureSince([]string{\"raft\", \"snapshot\", \"takeSnapshot\"}, time.Now())\n\n\t// Create a request for the FSM to perform a snapshot.\n\tsnapReq := &reqSnapshotFuture{}\n\tsnapReq.init()\n\n\t// Wait for dispatch or shutdown.\n\tselect {\n\tcase r.fsmSnapshotCh <- snapReq:\n\tcase <-r.shutdownCh:\n\t\treturn \"\", ErrRaftShutdown\n\t}\n\n\t// Wait until we get a response\n\tif err := snapReq.Error(); err != nil {\n\t\tif err != ErrNothingNewToSnapshot {\n\t\t\terr = fmt.Errorf(\"failed to start snapshot: %v\", err)\n\t\t}\n\t\treturn \"\", err\n\t}\n\tdefer snapReq.snapshot.Release()\n\n\t// Make a request for the configurations and extract the committed info.\n\t// We have to use the future here to safely get this information since\n\t// it is owned by the main thread.\n\tconfigReq := &configurationsFuture{}\n\tconfigReq.init()\n\tselect {\n\tcase r.configurationsCh <- configReq:\n\tcase <-r.shutdownCh:\n\t\treturn \"\", ErrRaftShutdown\n\t}\n\tif err := configReq.Error(); err != nil {\n\t\treturn \"\", err\n\t}\n\tcommitted := configReq.configurations.committed\n\tcommittedIndex := configReq.configurations.committedIndex\n\n\t// We don't support snapshots while there's a config change outstanding\n\t// since the snapshot doesn't have a means to represent this state. This\n\t// is a little weird because we need the FSM to apply an index that's\n\t// past the configuration change, even though the FSM itself doesn't see\n\t// the configuration changes. It should be ok in practice with normal\n\t// application traffic flowing through the FSM. If there's none of that\n\t// then it's not crucial that we snapshot, since there's not much going\n\t// on Raft-wise.\n\tif snapReq.index < committedIndex {\n\t\treturn \"\", fmt.Errorf(\"cannot take snapshot now, wait until the configuration entry at %v has been applied (have applied %v)\",\n\t\t\tcommittedIndex, snapReq.index)\n\t}\n\n\t// Create a new snapshot.\n\tr.logger.Printf(\"[INFO] raft: Starting snapshot up to %d\", snapReq.index)\n\tstart := time.Now()\n\tversion := getSnapshotVersion(r.protocolVersion)\n\tsink, err := r.snapshots.Create(version, snapReq.index, snapReq.term, committed, committedIndex, r.trans)\n\tif err != nil {\n\t\treturn \"\", fmt.Errorf(\"failed to create snapshot: %v\", err)\n\t}\n\tmetrics.MeasureSince([]string{\"raft\", \"snapshot\", \"create\"}, start)\n\n\t// Try to persist the snapshot.\n\tstart = time.Now()\n\tif err := snapReq.snapshot.Persist(sink); err != nil {\n\t\tsink.Cancel()\n\t\treturn \"\", fmt.Errorf(\"failed to persist snapshot: %v\", err)\n\t}\n\tmetrics.MeasureSince([]string{\"raft\", \"snapshot\", \"persist\"}, start)\n\n\t// Close and check for error.\n\tif err := sink.Close(); err != nil {\n\t\treturn \"\", fmt.Errorf(\"failed to close snapshot: %v\", err)\n\t}\n\n\t// Update the last stable snapshot info.\n\tr.setLastSnapshot(snapReq.index, snapReq.term)\n\n\t// Compact the logs.\n\tif err := r.compactLogs(snapReq.index); err != nil {\n\t\treturn \"\", err\n\t}\n\n\tr.logger.Printf(\"[INFO] raft: Snapshot to %d complete\", snapReq.index)\n\treturn sink.ID(), nil\n}\n\n// compactLogs takes the last inclusive index of a snapshot\n// and trims the logs that are no longer needed.\nfunc (r *Raft) compactLogs(snapIdx uint64) error {\n\tdefer metrics.MeasureSince([]string{\"raft\", \"compactLogs\"}, time.Now())\n\t// Determine log ranges to compact\n\tminLog, err := r.logs.FirstIndex()\n\tif err != nil {\n\t\treturn fmt.Errorf(\"failed to get first log index: %v\", err)\n\t}\n\n\t// Check if we have enough logs to truncate\n\tlastLogIdx, _ := r.getLastLog()\n\tif lastLogIdx <= r.conf.TrailingLogs {\n\t\treturn nil\n\t}\n\n\t// Truncate up to the end of the snapshot, or `TrailingLogs`\n\t// back from the head, which ever is further back. This ensures\n\t// at least `TrailingLogs` entries, but does not allow logs\n\t// after the snapshot to be removed.\n\tmaxLog := min(snapIdx, lastLogIdx-r.conf.TrailingLogs)\n\n\t// Log this\n\tr.logger.Printf(\"[INFO] raft: Compacting logs from %d to %d\", minLog, maxLog)\n\n\t// Compact the logs\n\tif err := r.logs.DeleteRange(minLog, maxLog); err != nil {\n\t\treturn fmt.Errorf(\"log compaction failed: %v\", err)\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft/stable.go",
    "content": "package raft\n\n// StableStore is used to provide stable storage\n// of key configurations to ensure safety.\ntype StableStore interface {\n\tSet(key []byte, val []byte) error\n\n\t// Get returns the value for key, or an empty byte slice if key was not found.\n\tGet(key []byte) ([]byte, error)\n\n\tSetUint64(key []byte, val uint64) error\n\n\t// GetUint64 returns the uint64 value for key, or 0 if key was not found.\n\tGetUint64(key []byte) (uint64, error)\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft/state.go",
    "content": "package raft\n\nimport (\n\t\"sync\"\n\t\"sync/atomic\"\n)\n\n// RaftState captures the state of a Raft node: Follower, Candidate, Leader,\n// or Shutdown.\ntype RaftState uint32\n\nconst (\n\t// Follower is the initial state of a Raft node.\n\tFollower RaftState = iota\n\n\t// Candidate is one of the valid states of a Raft node.\n\tCandidate\n\n\t// Leader is one of the valid states of a Raft node.\n\tLeader\n\n\t// Shutdown is the terminal state of a Raft node.\n\tShutdown\n)\n\nfunc (s RaftState) String() string {\n\tswitch s {\n\tcase Follower:\n\t\treturn \"Follower\"\n\tcase Candidate:\n\t\treturn \"Candidate\"\n\tcase Leader:\n\t\treturn \"Leader\"\n\tcase Shutdown:\n\t\treturn \"Shutdown\"\n\tdefault:\n\t\treturn \"Unknown\"\n\t}\n}\n\n// raftState is used to maintain various state variables\n// and provides an interface to set/get the variables in a\n// thread safe manner.\ntype raftState struct {\n\t// currentTerm commitIndex, lastApplied,  must be kept at the top of\n\t// the struct so they're 64 bit aligned which is a requirement for\n\t// atomic ops on 32 bit platforms.\n\n\t// The current term, cache of StableStore\n\tcurrentTerm uint64\n\n\t// Highest committed log entry\n\tcommitIndex uint64\n\n\t// Last applied log to the FSM\n\tlastApplied uint64\n\n\t// protects 4 next fields\n\tlastLock sync.Mutex\n\n\t// Cache the latest snapshot index/term\n\tlastSnapshotIndex uint64\n\tlastSnapshotTerm  uint64\n\n\t// Cache the latest log from LogStore\n\tlastLogIndex uint64\n\tlastLogTerm  uint64\n\n\t// Tracks running goroutines\n\troutinesGroup sync.WaitGroup\n\n\t// The current state\n\tstate RaftState\n}\n\nfunc (r *raftState) getState() RaftState {\n\tstateAddr := (*uint32)(&r.state)\n\treturn RaftState(atomic.LoadUint32(stateAddr))\n}\n\nfunc (r *raftState) setState(s RaftState) {\n\tstateAddr := (*uint32)(&r.state)\n\tatomic.StoreUint32(stateAddr, uint32(s))\n}\n\nfunc (r *raftState) getCurrentTerm() uint64 {\n\treturn atomic.LoadUint64(&r.currentTerm)\n}\n\nfunc (r *raftState) setCurrentTerm(term uint64) {\n\tatomic.StoreUint64(&r.currentTerm, term)\n}\n\nfunc (r *raftState) getLastLog() (index, term uint64) {\n\tr.lastLock.Lock()\n\tindex = r.lastLogIndex\n\tterm = r.lastLogTerm\n\tr.lastLock.Unlock()\n\treturn\n}\n\nfunc (r *raftState) setLastLog(index, term uint64) {\n\tr.lastLock.Lock()\n\tr.lastLogIndex = index\n\tr.lastLogTerm = term\n\tr.lastLock.Unlock()\n}\n\nfunc (r *raftState) getLastSnapshot() (index, term uint64) {\n\tr.lastLock.Lock()\n\tindex = r.lastSnapshotIndex\n\tterm = r.lastSnapshotTerm\n\tr.lastLock.Unlock()\n\treturn\n}\n\nfunc (r *raftState) setLastSnapshot(index, term uint64) {\n\tr.lastLock.Lock()\n\tr.lastSnapshotIndex = index\n\tr.lastSnapshotTerm = term\n\tr.lastLock.Unlock()\n}\n\nfunc (r *raftState) getCommitIndex() uint64 {\n\treturn atomic.LoadUint64(&r.commitIndex)\n}\n\nfunc (r *raftState) setCommitIndex(index uint64) {\n\tatomic.StoreUint64(&r.commitIndex, index)\n}\n\nfunc (r *raftState) getLastApplied() uint64 {\n\treturn atomic.LoadUint64(&r.lastApplied)\n}\n\nfunc (r *raftState) setLastApplied(index uint64) {\n\tatomic.StoreUint64(&r.lastApplied, index)\n}\n\n// Start a goroutine and properly handle the race between a routine\n// starting and incrementing, and exiting and decrementing.\nfunc (r *raftState) goFunc(f func()) {\n\tr.routinesGroup.Add(1)\n\tgo func() {\n\t\tdefer r.routinesGroup.Done()\n\t\tf()\n\t}()\n}\n\nfunc (r *raftState) waitShutdown() {\n\tr.routinesGroup.Wait()\n}\n\n// getLastIndex returns the last index in stable storage.\n// Either from the last log or from the last snapshot.\nfunc (r *raftState) getLastIndex() uint64 {\n\tr.lastLock.Lock()\n\tdefer r.lastLock.Unlock()\n\treturn max(r.lastLogIndex, r.lastSnapshotIndex)\n}\n\n// getLastEntry returns the last index and term in stable storage.\n// Either from the last log or from the last snapshot.\nfunc (r *raftState) getLastEntry() (uint64, uint64) {\n\tr.lastLock.Lock()\n\tdefer r.lastLock.Unlock()\n\tif r.lastLogIndex >= r.lastSnapshotIndex {\n\t\treturn r.lastLogIndex, r.lastLogTerm\n\t}\n\treturn r.lastSnapshotIndex, r.lastSnapshotTerm\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft/tag.sh",
    "content": "#!/usr/bin/env bash\nset -e\n\n# The version must be supplied from the environment. Do not include the\n# leading \"v\".\nif [ -z $VERSION ]; then\n    echo \"Please specify a version.\"\n    exit 1\nfi\n\n# Generate the tag.\necho \"==> Tagging version $VERSION...\"\ngit commit --allow-empty -a --gpg-sign=348FFC4C -m \"Release v$VERSION\"\ngit tag -a -m \"Version $VERSION\" -s -u 348FFC4C \"v${VERSION}\" master\n\nexit 0\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft/tcp_transport.go",
    "content": "package raft\n\nimport (\n\t\"errors\"\n\t\"io\"\n\t\"log\"\n\t\"net\"\n\t\"time\"\n)\n\nvar (\n\terrNotAdvertisable = errors.New(\"local bind address is not advertisable\")\n\terrNotTCP          = errors.New(\"local address is not a TCP address\")\n)\n\n// TCPStreamLayer implements StreamLayer interface for plain TCP.\ntype TCPStreamLayer struct {\n\tadvertise net.Addr\n\tlistener  *net.TCPListener\n}\n\n// NewTCPTransport returns a NetworkTransport that is built on top of\n// a TCP streaming transport layer.\nfunc NewTCPTransport(\n\tbindAddr string,\n\tadvertise net.Addr,\n\tmaxPool int,\n\ttimeout time.Duration,\n\tlogOutput io.Writer,\n) (*NetworkTransport, error) {\n\treturn newTCPTransport(bindAddr, advertise, func(stream StreamLayer) *NetworkTransport {\n\t\treturn NewNetworkTransport(stream, maxPool, timeout, logOutput)\n\t})\n}\n\n// NewTCPTransportWithLogger returns a NetworkTransport that is built on top of\n// a TCP streaming transport layer, with log output going to the supplied Logger\nfunc NewTCPTransportWithLogger(\n\tbindAddr string,\n\tadvertise net.Addr,\n\tmaxPool int,\n\ttimeout time.Duration,\n\tlogger *log.Logger,\n) (*NetworkTransport, error) {\n\treturn newTCPTransport(bindAddr, advertise, func(stream StreamLayer) *NetworkTransport {\n\t\treturn NewNetworkTransportWithLogger(stream, maxPool, timeout, logger)\n\t})\n}\n\n// NewTCPTransportWithLogger returns a NetworkTransport that is built on top of\n// a TCP streaming transport layer, using a default logger and the address provider\nfunc NewTCPTransportWithConfig(\n\tbindAddr string,\n\tadvertise net.Addr,\n\tconfig *NetworkTransportConfig,\n) (*NetworkTransport, error) {\n\treturn newTCPTransport(bindAddr, advertise, func(stream StreamLayer) *NetworkTransport {\n\t\tconfig.Stream = stream\n\t\treturn NewNetworkTransportWithConfig(config)\n\t})\n}\n\nfunc newTCPTransport(bindAddr string,\n\tadvertise net.Addr,\n\ttransportCreator func(stream StreamLayer) *NetworkTransport) (*NetworkTransport, error) {\n\t// Try to bind\n\tlist, err := net.Listen(\"tcp\", bindAddr)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\t// Create stream\n\tstream := &TCPStreamLayer{\n\t\tadvertise: advertise,\n\t\tlistener:  list.(*net.TCPListener),\n\t}\n\n\t// Verify that we have a usable advertise address\n\taddr, ok := stream.Addr().(*net.TCPAddr)\n\tif !ok {\n\t\tlist.Close()\n\t\treturn nil, errNotTCP\n\t}\n\tif addr.IP.IsUnspecified() {\n\t\tlist.Close()\n\t\treturn nil, errNotAdvertisable\n\t}\n\n\t// Create the network transport\n\ttrans := transportCreator(stream)\n\treturn trans, nil\n}\n\n// Dial implements the StreamLayer interface.\nfunc (t *TCPStreamLayer) Dial(address ServerAddress, timeout time.Duration) (net.Conn, error) {\n\treturn net.DialTimeout(\"tcp\", string(address), timeout)\n}\n\n// Accept implements the net.Listener interface.\nfunc (t *TCPStreamLayer) Accept() (c net.Conn, err error) {\n\treturn t.listener.Accept()\n}\n\n// Close implements the net.Listener interface.\nfunc (t *TCPStreamLayer) Close() (err error) {\n\treturn t.listener.Close()\n}\n\n// Addr implements the net.Listener interface.\nfunc (t *TCPStreamLayer) Addr() net.Addr {\n\t// Use an advertise addr if provided\n\tif t.advertise != nil {\n\t\treturn t.advertise\n\t}\n\treturn t.listener.Addr()\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft/transport.go",
    "content": "package raft\n\nimport (\n\t\"io\"\n\t\"time\"\n)\n\n// RPCResponse captures both a response and a potential error.\ntype RPCResponse struct {\n\tResponse interface{}\n\tError    error\n}\n\n// RPC has a command, and provides a response mechanism.\ntype RPC struct {\n\tCommand  interface{}\n\tReader   io.Reader // Set only for InstallSnapshot\n\tRespChan chan<- RPCResponse\n}\n\n// Respond is used to respond with a response, error or both\nfunc (r *RPC) Respond(resp interface{}, err error) {\n\tr.RespChan <- RPCResponse{resp, err}\n}\n\n// Transport provides an interface for network transports\n// to allow Raft to communicate with other nodes.\ntype Transport interface {\n\t// Consumer returns a channel that can be used to\n\t// consume and respond to RPC requests.\n\tConsumer() <-chan RPC\n\n\t// LocalAddr is used to return our local address to distinguish from our peers.\n\tLocalAddr() ServerAddress\n\n\t// AppendEntriesPipeline returns an interface that can be used to pipeline\n\t// AppendEntries requests.\n\tAppendEntriesPipeline(id ServerID, target ServerAddress) (AppendPipeline, error)\n\n\t// AppendEntries sends the appropriate RPC to the target node.\n\tAppendEntries(id ServerID, target ServerAddress, args *AppendEntriesRequest, resp *AppendEntriesResponse) error\n\n\t// RequestVote sends the appropriate RPC to the target node.\n\tRequestVote(id ServerID, target ServerAddress, args *RequestVoteRequest, resp *RequestVoteResponse) error\n\n\t// InstallSnapshot is used to push a snapshot down to a follower. The data is read from\n\t// the ReadCloser and streamed to the client.\n\tInstallSnapshot(id ServerID, target ServerAddress, args *InstallSnapshotRequest, resp *InstallSnapshotResponse, data io.Reader) error\n\n\t// EncodePeer is used to serialize a peer's address.\n\tEncodePeer(id ServerID, addr ServerAddress) []byte\n\n\t// DecodePeer is used to deserialize a peer's address.\n\tDecodePeer([]byte) ServerAddress\n\n\t// SetHeartbeatHandler is used to setup a heartbeat handler\n\t// as a fast-pass. This is to avoid head-of-line blocking from\n\t// disk IO. If a Transport does not support this, it can simply\n\t// ignore the call, and push the heartbeat onto the Consumer channel.\n\tSetHeartbeatHandler(cb func(rpc RPC))\n}\n\n// WithClose is an interface that a transport may provide which\n// allows a transport to be shut down cleanly when a Raft instance\n// shuts down.\n//\n// It is defined separately from Transport as unfortunately it wasn't in the\n// original interface specification.\ntype WithClose interface {\n\t// Close permanently closes a transport, stopping\n\t// any associated goroutines and freeing other resources.\n\tClose() error\n}\n\n// LoopbackTransport is an interface that provides a loopback transport suitable for testing\n// e.g. InmemTransport. It's there so we don't have to rewrite tests.\ntype LoopbackTransport interface {\n\tTransport // Embedded transport reference\n\tWithPeers // Embedded peer management\n\tWithClose // with a close routine\n}\n\n// WithPeers is an interface that a transport may provide which allows for connection and\n// disconnection. Unless the transport is a loopback transport, the transport specified to\n// \"Connect\" is likely to be nil.\ntype WithPeers interface {\n\tConnect(peer ServerAddress, t Transport) // Connect a peer\n\tDisconnect(peer ServerAddress)           // Disconnect a given peer\n\tDisconnectAll()                          // Disconnect all peers, possibly to reconnect them later\n}\n\n// AppendPipeline is used for pipelining AppendEntries requests. It is used\n// to increase the replication throughput by masking latency and better\n// utilizing bandwidth.\ntype AppendPipeline interface {\n\t// AppendEntries is used to add another request to the pipeline.\n\t// The send may block which is an effective form of back-pressure.\n\tAppendEntries(args *AppendEntriesRequest, resp *AppendEntriesResponse) (AppendFuture, error)\n\n\t// Consumer returns a channel that can be used to consume\n\t// response futures when they are ready.\n\tConsumer() <-chan AppendFuture\n\n\t// Close closes the pipeline and cancels all inflight RPCs\n\tClose() error\n}\n\n// AppendFuture is used to return information about a pipelined AppendEntries request.\ntype AppendFuture interface {\n\tFuture\n\n\t// Start returns the time that the append request was started.\n\t// It is always OK to call this method.\n\tStart() time.Time\n\n\t// Request holds the parameters of the AppendEntries call.\n\t// It is always OK to call this method.\n\tRequest() *AppendEntriesRequest\n\n\t// Response holds the results of the AppendEntries call.\n\t// This method must only be called after the Error\n\t// method returns, and will only be valid on success.\n\tResponse() *AppendEntriesResponse\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft/util.go",
    "content": "package raft\n\nimport (\n\t\"bytes\"\n\tcrand \"crypto/rand\"\n\t\"fmt\"\n\t\"math\"\n\t\"math/big\"\n\t\"math/rand\"\n\t\"time\"\n\n\t\"github.com/hashicorp/go-msgpack/codec\"\n)\n\nfunc init() {\n\t// Ensure we use a high-entropy seed for the psuedo-random generator\n\trand.Seed(newSeed())\n}\n\n// returns an int64 from a crypto random source\n// can be used to seed a source for a math/rand.\nfunc newSeed() int64 {\n\tr, err := crand.Int(crand.Reader, big.NewInt(math.MaxInt64))\n\tif err != nil {\n\t\tpanic(fmt.Errorf(\"failed to read random bytes: %v\", err))\n\t}\n\treturn r.Int64()\n}\n\n// randomTimeout returns a value that is between the minVal and 2x minVal.\nfunc randomTimeout(minVal time.Duration) <-chan time.Time {\n\tif minVal == 0 {\n\t\treturn nil\n\t}\n\textra := (time.Duration(rand.Int63()) % minVal)\n\treturn time.After(minVal + extra)\n}\n\n// min returns the minimum.\nfunc min(a, b uint64) uint64 {\n\tif a <= b {\n\t\treturn a\n\t}\n\treturn b\n}\n\n// max returns the maximum.\nfunc max(a, b uint64) uint64 {\n\tif a >= b {\n\t\treturn a\n\t}\n\treturn b\n}\n\n// generateUUID is used to generate a random UUID.\nfunc generateUUID() string {\n\tbuf := make([]byte, 16)\n\tif _, err := crand.Read(buf); err != nil {\n\t\tpanic(fmt.Errorf(\"failed to read random bytes: %v\", err))\n\t}\n\n\treturn fmt.Sprintf(\"%08x-%04x-%04x-%04x-%12x\",\n\t\tbuf[0:4],\n\t\tbuf[4:6],\n\t\tbuf[6:8],\n\t\tbuf[8:10],\n\t\tbuf[10:16])\n}\n\n// asyncNotifyCh is used to do an async channel send\n// to a single channel without blocking.\nfunc asyncNotifyCh(ch chan struct{}) {\n\tselect {\n\tcase ch <- struct{}{}:\n\tdefault:\n\t}\n}\n\n// drainNotifyCh empties out a single-item notification channel without\n// blocking, and returns whether it received anything.\nfunc drainNotifyCh(ch chan struct{}) bool {\n\tselect {\n\tcase <-ch:\n\t\treturn true\n\tdefault:\n\t\treturn false\n\t}\n}\n\n// asyncNotifyBool is used to do an async notification\n// on a bool channel.\nfunc asyncNotifyBool(ch chan bool, v bool) {\n\tselect {\n\tcase ch <- v:\n\tdefault:\n\t}\n}\n\n// Decode reverses the encode operation on a byte slice input.\nfunc decodeMsgPack(buf []byte, out interface{}) error {\n\tr := bytes.NewBuffer(buf)\n\thd := codec.MsgpackHandle{}\n\tdec := codec.NewDecoder(r, &hd)\n\treturn dec.Decode(out)\n}\n\n// Encode writes an encoded object to a new bytes buffer.\nfunc encodeMsgPack(in interface{}) (*bytes.Buffer, error) {\n\tbuf := bytes.NewBuffer(nil)\n\thd := codec.MsgpackHandle{}\n\tenc := codec.NewEncoder(buf, &hd)\n\terr := enc.Encode(in)\n\treturn buf, err\n}\n\n// backoff is used to compute an exponential backoff\n// duration. Base time is scaled by the current round,\n// up to some maximum scale factor.\nfunc backoff(base time.Duration, round, limit uint64) time.Duration {\n\tpower := min(round, limit)\n\tfor power > 2 {\n\t\tbase *= 2\n\t\tpower--\n\t}\n\treturn base\n}\n\n// Needed for sorting []uint64, used to determine commitment\ntype uint64Slice []uint64\n\nfunc (p uint64Slice) Len() int           { return len(p) }\nfunc (p uint64Slice) Less(i, j int) bool { return p[i] < p[j] }\nfunc (p uint64Slice) Swap(i, j int)      { p[i], p[j] = p[j], p[i] }\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft-boltdb/.travis.yml",
    "content": "language: go\n\ngo:\n    - 1.6\n    - 1.7\n    - tip\n\ninstall: make deps\nscript:\n    - make test\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft-boltdb/LICENSE",
    "content": "Mozilla Public License, version 2.0\n\n1. Definitions\n\n1.1. \"Contributor\"\n\n     means each individual or legal entity that creates, contributes to the\n     creation of, or owns Covered Software.\n\n1.2. \"Contributor Version\"\n\n     means the combination of the Contributions of others (if any) used by a\n     Contributor and that particular Contributor's Contribution.\n\n1.3. \"Contribution\"\n\n     means Covered Software of a particular Contributor.\n\n1.4. \"Covered Software\"\n\n     means Source Code Form to which the initial Contributor has attached the\n     notice in Exhibit A, the Executable Form of such Source Code Form, and\n     Modifications of such Source Code Form, in each case including portions\n     thereof.\n\n1.5. \"Incompatible With Secondary Licenses\"\n     means\n\n     a. that the initial Contributor has attached the notice described in\n        Exhibit B to the Covered Software; or\n\n     b. that the Covered Software was made available under the terms of\n        version 1.1 or earlier of the License, but not also under the terms of\n        a Secondary License.\n\n1.6. \"Executable Form\"\n\n     means any form of the work other than Source Code Form.\n\n1.7. \"Larger Work\"\n\n     means a work that combines Covered Software with other material, in a\n     separate file or files, that is not Covered Software.\n\n1.8. \"License\"\n\n     means this document.\n\n1.9. \"Licensable\"\n\n     means having the right to grant, to the maximum extent possible, whether\n     at the time of the initial grant or subsequently, any and all of the\n     rights conveyed by this License.\n\n1.10. \"Modifications\"\n\n     means any of the following:\n\n     a. any file in Source Code Form that results from an addition to,\n        deletion from, or modification of the contents of Covered Software; or\n\n     b. any new file in Source Code Form that contains any Covered Software.\n\n1.11. \"Patent Claims\" of a Contributor\n\n      means any patent claim(s), including without limitation, method,\n      process, and apparatus claims, in any patent Licensable by such\n      Contributor that would be infringed, but for the grant of the License,\n      by the making, using, selling, offering for sale, having made, import,\n      or transfer of either its Contributions or its Contributor Version.\n\n1.12. \"Secondary License\"\n\n      means either the GNU General Public License, Version 2.0, the GNU Lesser\n      General Public License, Version 2.1, the GNU Affero General Public\n      License, Version 3.0, or any later versions of those licenses.\n\n1.13. \"Source Code Form\"\n\n      means the form of the work preferred for making modifications.\n\n1.14. \"You\" (or \"Your\")\n\n      means an individual or a legal entity exercising rights under this\n      License. For legal entities, \"You\" includes any entity that controls, is\n      controlled by, or is under common control with You. For purposes of this\n      definition, \"control\" means (a) the power, direct or indirect, to cause\n      the direction or management of such entity, whether by contract or\n      otherwise, or (b) ownership of more than fifty percent (50%) of the\n      outstanding shares or beneficial ownership of such entity.\n\n\n2. License Grants and Conditions\n\n2.1. Grants\n\n     Each Contributor hereby grants You a world-wide, royalty-free,\n     non-exclusive license:\n\n     a. under intellectual property rights (other than patent or trademark)\n        Licensable by such Contributor to use, reproduce, make available,\n        modify, display, perform, distribute, and otherwise exploit its\n        Contributions, either on an unmodified basis, with Modifications, or\n        as part of a Larger Work; and\n\n     b. under Patent Claims of such Contributor to make, use, sell, offer for\n        sale, have made, import, and otherwise transfer either its\n        Contributions or its Contributor Version.\n\n2.2. Effective Date\n\n     The licenses granted in Section 2.1 with respect to any Contribution\n     become effective for each Contribution on the date the Contributor first\n     distributes such Contribution.\n\n2.3. Limitations on Grant Scope\n\n     The licenses granted in this Section 2 are the only rights granted under\n     this License. No additional rights or licenses will be implied from the\n     distribution or licensing of Covered Software under this License.\n     Notwithstanding Section 2.1(b) above, no patent license is granted by a\n     Contributor:\n\n     a. for any code that a Contributor has removed from Covered Software; or\n\n     b. for infringements caused by: (i) Your and any other third party's\n        modifications of Covered Software, or (ii) the combination of its\n        Contributions with other software (except as part of its Contributor\n        Version); or\n\n     c. under Patent Claims infringed by Covered Software in the absence of\n        its Contributions.\n\n     This License does not grant any rights in the trademarks, service marks,\n     or logos of any Contributor (except as may be necessary to comply with\n     the notice requirements in Section 3.4).\n\n2.4. Subsequent Licenses\n\n     No Contributor makes additional grants as a result of Your choice to\n     distribute the Covered Software under a subsequent version of this\n     License (see Section 10.2) or under the terms of a Secondary License (if\n     permitted under the terms of Section 3.3).\n\n2.5. Representation\n\n     Each Contributor represents that the Contributor believes its\n     Contributions are its original creation(s) or it has sufficient rights to\n     grant the rights to its Contributions conveyed by this License.\n\n2.6. Fair Use\n\n     This License is not intended to limit any rights You have under\n     applicable copyright doctrines of fair use, fair dealing, or other\n     equivalents.\n\n2.7. Conditions\n\n     Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in\n     Section 2.1.\n\n\n3. Responsibilities\n\n3.1. Distribution of Source Form\n\n     All distribution of Covered Software in Source Code Form, including any\n     Modifications that You create or to which You contribute, must be under\n     the terms of this License. You must inform recipients that the Source\n     Code Form of the Covered Software is governed by the terms of this\n     License, and how they can obtain a copy of this License. You may not\n     attempt to alter or restrict the recipients' rights in the Source Code\n     Form.\n\n3.2. Distribution of Executable Form\n\n     If You distribute Covered Software in Executable Form then:\n\n     a. such Covered Software must also be made available in Source Code Form,\n        as described in Section 3.1, and You must inform recipients of the\n        Executable Form how they can obtain a copy of such Source Code Form by\n        reasonable means in a timely manner, at a charge no more than the cost\n        of distribution to the recipient; and\n\n     b. You may distribute such Executable Form under the terms of this\n        License, or sublicense it under different terms, provided that the\n        license for the Executable Form does not attempt to limit or alter the\n        recipients' rights in the Source Code Form under this License.\n\n3.3. Distribution of a Larger Work\n\n     You may create and distribute a Larger Work under terms of Your choice,\n     provided that You also comply with the requirements of this License for\n     the Covered Software. If the Larger Work is a combination of Covered\n     Software with a work governed by one or more Secondary Licenses, and the\n     Covered Software is not Incompatible With Secondary Licenses, this\n     License permits You to additionally distribute such Covered Software\n     under the terms of such Secondary License(s), so that the recipient of\n     the Larger Work may, at their option, further distribute the Covered\n     Software under the terms of either this License or such Secondary\n     License(s).\n\n3.4. Notices\n\n     You may not remove or alter the substance of any license notices\n     (including copyright notices, patent notices, disclaimers of warranty, or\n     limitations of liability) contained within the Source Code Form of the\n     Covered Software, except that You may alter any license notices to the\n     extent required to remedy known factual inaccuracies.\n\n3.5. Application of Additional Terms\n\n     You may choose to offer, and to charge a fee for, warranty, support,\n     indemnity or liability obligations to one or more recipients of Covered\n     Software. However, You may do so only on Your own behalf, and not on\n     behalf of any Contributor. You must make it absolutely clear that any\n     such warranty, support, indemnity, or liability obligation is offered by\n     You alone, and You hereby agree to indemnify every Contributor for any\n     liability incurred by such Contributor as a result of warranty, support,\n     indemnity or liability terms You offer. You may include additional\n     disclaimers of warranty and limitations of liability specific to any\n     jurisdiction.\n\n4. Inability to Comply Due to Statute or Regulation\n\n   If it is impossible for You to comply with any of the terms of this License\n   with respect to some or all of the Covered Software due to statute,\n   judicial order, or regulation then You must: (a) comply with the terms of\n   this License to the maximum extent possible; and (b) describe the\n   limitations and the code they affect. Such description must be placed in a\n   text file included with all distributions of the Covered Software under\n   this License. Except to the extent prohibited by statute or regulation,\n   such description must be sufficiently detailed for a recipient of ordinary\n   skill to be able to understand it.\n\n5. Termination\n\n5.1. The rights granted under this License will terminate automatically if You\n     fail to comply with any of its terms. However, if You become compliant,\n     then the rights granted under this License from a particular Contributor\n     are reinstated (a) provisionally, unless and until such Contributor\n     explicitly and finally terminates Your grants, and (b) on an ongoing\n     basis, if such Contributor fails to notify You of the non-compliance by\n     some reasonable means prior to 60 days after You have come back into\n     compliance. Moreover, Your grants from a particular Contributor are\n     reinstated on an ongoing basis if such Contributor notifies You of the\n     non-compliance by some reasonable means, this is the first time You have\n     received notice of non-compliance with this License from such\n     Contributor, and You become compliant prior to 30 days after Your receipt\n     of the notice.\n\n5.2. If You initiate litigation against any entity by asserting a patent\n     infringement claim (excluding declaratory judgment actions,\n     counter-claims, and cross-claims) alleging that a Contributor Version\n     directly or indirectly infringes any patent, then the rights granted to\n     You by any and all Contributors for the Covered Software under Section\n     2.1 of this License shall terminate.\n\n5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user\n     license agreements (excluding distributors and resellers) which have been\n     validly granted by You or Your distributors under this License prior to\n     termination shall survive termination.\n\n6. Disclaimer of Warranty\n\n   Covered Software is provided under this License on an \"as is\" basis,\n   without warranty of any kind, either expressed, implied, or statutory,\n   including, without limitation, warranties that the Covered Software is free\n   of defects, merchantable, fit for a particular purpose or non-infringing.\n   The entire risk as to the quality and performance of the Covered Software\n   is with You. Should any Covered Software prove defective in any respect,\n   You (not any Contributor) assume the cost of any necessary servicing,\n   repair, or correction. This disclaimer of warranty constitutes an essential\n   part of this License. No use of  any Covered Software is authorized under\n   this License except under this disclaimer.\n\n7. Limitation of Liability\n\n   Under no circumstances and under no legal theory, whether tort (including\n   negligence), contract, or otherwise, shall any Contributor, or anyone who\n   distributes Covered Software as permitted above, be liable to You for any\n   direct, indirect, special, incidental, or consequential damages of any\n   character including, without limitation, damages for lost profits, loss of\n   goodwill, work stoppage, computer failure or malfunction, or any and all\n   other commercial damages or losses, even if such party shall have been\n   informed of the possibility of such damages. This limitation of liability\n   shall not apply to liability for death or personal injury resulting from\n   such party's negligence to the extent applicable law prohibits such\n   limitation. Some jurisdictions do not allow the exclusion or limitation of\n   incidental or consequential damages, so this exclusion and limitation may\n   not apply to You.\n\n8. Litigation\n\n   Any litigation relating to this License may be brought only in the courts\n   of a jurisdiction where the defendant maintains its principal place of\n   business and such litigation shall be governed by laws of that\n   jurisdiction, without reference to its conflict-of-law provisions. Nothing\n   in this Section shall prevent a party's ability to bring cross-claims or\n   counter-claims.\n\n9. Miscellaneous\n\n   This License represents the complete agreement concerning the subject\n   matter hereof. If any provision of this License is held to be\n   unenforceable, such provision shall be reformed only to the extent\n   necessary to make it enforceable. Any law or regulation which provides that\n   the language of a contract shall be construed against the drafter shall not\n   be used to construe this License against a Contributor.\n\n\n10. Versions of the License\n\n10.1. New Versions\n\n      Mozilla Foundation is the license steward. Except as provided in Section\n      10.3, no one other than the license steward has the right to modify or\n      publish new versions of this License. Each version will be given a\n      distinguishing version number.\n\n10.2. Effect of New Versions\n\n      You may distribute the Covered Software under the terms of the version\n      of the License under which You originally received the Covered Software,\n      or under the terms of any subsequent version published by the license\n      steward.\n\n10.3. Modified Versions\n\n      If you create software not governed by this License, and you want to\n      create a new license for such software, you may create and use a\n      modified version of this License if you rename the license and remove\n      any references to the name of the license steward (except to note that\n      such modified license differs from this License).\n\n10.4. Distributing Source Code Form that is Incompatible With Secondary\n      Licenses If You choose to distribute Source Code Form that is\n      Incompatible With Secondary Licenses under the terms of this version of\n      the License, the notice described in Exhibit B of this License must be\n      attached.\n\nExhibit A - Source Code Form License Notice\n\n      This Source Code Form is subject to the\n      terms of the Mozilla Public License, v.\n      2.0. If a copy of the MPL was not\n      distributed with this file, You can\n      obtain one at\n      http://mozilla.org/MPL/2.0/.\n\nIf it is not possible or desirable to put the notice in a particular file,\nthen You may include the notice in a location (such as a LICENSE file in a\nrelevant directory) where a recipient would be likely to look for such a\nnotice.\n\nYou may add additional accurate notices of copyright ownership.\n\nExhibit B - \"Incompatible With Secondary Licenses\" Notice\n\n      This Source Code Form is \"Incompatible\n      With Secondary Licenses\", as defined by\n      the Mozilla Public License, v. 2.0."
  },
  {
    "path": "vendor/github.com/hashicorp/raft-boltdb/Makefile",
    "content": "DEPS = $(go list -f '{{range .TestImports}}{{.}} {{end}}' ./...)\n\n.PHONY: test deps\n\ntest:\n\tgo test -timeout=30s ./...\n\ndeps:\n\tgo get -d -v ./...\n\techo $(DEPS) | xargs -n1 go get -d\n\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft-boltdb/README.md",
    "content": "raft-boltdb\n===========\n\nThis repository provides the `raftboltdb` package. The package exports the\n`BoltStore` which is an implementation of both a `LogStore` and `StableStore`.\n\nIt is meant to be used as a backend for the `raft` [package\nhere](https://github.com/hashicorp/raft).\n\nThis implementation uses [BoltDB](https://github.com/boltdb/bolt). BoltDB is\na simple key/value store implemented in pure Go, and inspired by LMDB.\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft-boltdb/bolt_store.go",
    "content": "package raftboltdb\n\nimport (\n\t\"errors\"\n\n\t\"github.com/boltdb/bolt\"\n\t\"github.com/hashicorp/raft\"\n)\n\nconst (\n\t// Permissions to use on the db file. This is only used if the\n\t// database file does not exist and needs to be created.\n\tdbFileMode = 0600\n)\n\nvar (\n\t// Bucket names we perform transactions in\n\tdbLogs = []byte(\"logs\")\n\tdbConf = []byte(\"conf\")\n\n\t// An error indicating a given key does not exist\n\tErrKeyNotFound = errors.New(\"not found\")\n)\n\n// BoltStore provides access to BoltDB for Raft to store and retrieve\n// log entries. It also provides key/value storage, and can be used as\n// a LogStore and StableStore.\ntype BoltStore struct {\n\t// conn is the underlying handle to the db.\n\tconn *bolt.DB\n\n\t// The path to the Bolt database file\n\tpath string\n}\n\n// Options contains all the configuraiton used to open the BoltDB\ntype Options struct {\n\t// Path is the file path to the BoltDB to use\n\tPath string\n\n\t// BoltOptions contains any specific BoltDB options you might\n\t// want to specify [e.g. open timeout]\n\tBoltOptions *bolt.Options\n\n\t// NoSync causes the database to skip fsync calls after each\n\t// write to the log. This is unsafe, so it should be used\n\t// with caution.\n\tNoSync bool\n}\n\n// readOnly returns true if the contained bolt options say to open\n// the DB in readOnly mode [this can be useful to tools that want\n// to examine the log]\nfunc (o *Options) readOnly() bool {\n\treturn o != nil && o.BoltOptions != nil && o.BoltOptions.ReadOnly\n}\n\n// NewBoltStore takes a file path and returns a connected Raft backend.\nfunc NewBoltStore(path string) (*BoltStore, error) {\n\treturn New(Options{Path: path})\n}\n\n// New uses the supplied options to open the BoltDB and prepare it for use as a raft backend.\nfunc New(options Options) (*BoltStore, error) {\n\t// Try to connect\n\thandle, err := bolt.Open(options.Path, dbFileMode, options.BoltOptions)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\thandle.NoSync = options.NoSync\n\n\t// Create the new store\n\tstore := &BoltStore{\n\t\tconn: handle,\n\t\tpath: options.Path,\n\t}\n\n\t// If the store was opened read-only, don't try and create buckets\n\tif !options.readOnly() {\n\t\t// Set up our buckets\n\t\tif err := store.initialize(); err != nil {\n\t\t\tstore.Close()\n\t\t\treturn nil, err\n\t\t}\n\t}\n\treturn store, nil\n}\n\n// initialize is used to set up all of the buckets.\nfunc (b *BoltStore) initialize() error {\n\ttx, err := b.conn.Begin(true)\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer tx.Rollback()\n\n\t// Create all the buckets\n\tif _, err := tx.CreateBucketIfNotExists(dbLogs); err != nil {\n\t\treturn err\n\t}\n\tif _, err := tx.CreateBucketIfNotExists(dbConf); err != nil {\n\t\treturn err\n\t}\n\n\treturn tx.Commit()\n}\n\n// Close is used to gracefully close the DB connection.\nfunc (b *BoltStore) Close() error {\n\treturn b.conn.Close()\n}\n\n// FirstIndex returns the first known index from the Raft log.\nfunc (b *BoltStore) FirstIndex() (uint64, error) {\n\ttx, err := b.conn.Begin(false)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\tdefer tx.Rollback()\n\n\tcurs := tx.Bucket(dbLogs).Cursor()\n\tif first, _ := curs.First(); first == nil {\n\t\treturn 0, nil\n\t} else {\n\t\treturn bytesToUint64(first), nil\n\t}\n}\n\n// LastIndex returns the last known index from the Raft log.\nfunc (b *BoltStore) LastIndex() (uint64, error) {\n\ttx, err := b.conn.Begin(false)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\tdefer tx.Rollback()\n\n\tcurs := tx.Bucket(dbLogs).Cursor()\n\tif last, _ := curs.Last(); last == nil {\n\t\treturn 0, nil\n\t} else {\n\t\treturn bytesToUint64(last), nil\n\t}\n}\n\n// GetLog is used to retrieve a log from BoltDB at a given index.\nfunc (b *BoltStore) GetLog(idx uint64, log *raft.Log) error {\n\ttx, err := b.conn.Begin(false)\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer tx.Rollback()\n\n\tbucket := tx.Bucket(dbLogs)\n\tval := bucket.Get(uint64ToBytes(idx))\n\n\tif val == nil {\n\t\treturn raft.ErrLogNotFound\n\t}\n\treturn decodeMsgPack(val, log)\n}\n\n// StoreLog is used to store a single raft log\nfunc (b *BoltStore) StoreLog(log *raft.Log) error {\n\treturn b.StoreLogs([]*raft.Log{log})\n}\n\n// StoreLogs is used to store a set of raft logs\nfunc (b *BoltStore) StoreLogs(logs []*raft.Log) error {\n\ttx, err := b.conn.Begin(true)\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer tx.Rollback()\n\n\tfor _, log := range logs {\n\t\tkey := uint64ToBytes(log.Index)\n\t\tval, err := encodeMsgPack(log)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucket := tx.Bucket(dbLogs)\n\t\tif err := bucket.Put(key, val.Bytes()); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\treturn tx.Commit()\n}\n\n// DeleteRange is used to delete logs within a given range inclusively.\nfunc (b *BoltStore) DeleteRange(min, max uint64) error {\n\tminKey := uint64ToBytes(min)\n\n\ttx, err := b.conn.Begin(true)\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer tx.Rollback()\n\n\tcurs := tx.Bucket(dbLogs).Cursor()\n\tfor k, _ := curs.Seek(minKey); k != nil; k, _ = curs.Next() {\n\t\t// Handle out-of-range log index\n\t\tif bytesToUint64(k) > max {\n\t\t\tbreak\n\t\t}\n\n\t\t// Delete in-range log index\n\t\tif err := curs.Delete(); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\treturn tx.Commit()\n}\n\n// Set is used to set a key/value set outside of the raft log\nfunc (b *BoltStore) Set(k, v []byte) error {\n\ttx, err := b.conn.Begin(true)\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer tx.Rollback()\n\n\tbucket := tx.Bucket(dbConf)\n\tif err := bucket.Put(k, v); err != nil {\n\t\treturn err\n\t}\n\n\treturn tx.Commit()\n}\n\n// Get is used to retrieve a value from the k/v store by key\nfunc (b *BoltStore) Get(k []byte) ([]byte, error) {\n\ttx, err := b.conn.Begin(false)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tdefer tx.Rollback()\n\n\tbucket := tx.Bucket(dbConf)\n\tval := bucket.Get(k)\n\n\tif val == nil {\n\t\treturn nil, ErrKeyNotFound\n\t}\n\treturn append([]byte(nil), val...), nil\n}\n\n// SetUint64 is like Set, but handles uint64 values\nfunc (b *BoltStore) SetUint64(key []byte, val uint64) error {\n\treturn b.Set(key, uint64ToBytes(val))\n}\n\n// GetUint64 is like Get, but handles uint64 values\nfunc (b *BoltStore) GetUint64(key []byte) (uint64, error) {\n\tval, err := b.Get(key)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\treturn bytesToUint64(val), nil\n}\n\n// Sync performs an fsync on the database file handle. This is not necessary\n// under normal operation unless NoSync is enabled, in which this forces the\n// database file to sync against the disk.\nfunc (b *BoltStore) Sync() error {\n\treturn b.conn.Sync()\n}\n"
  },
  {
    "path": "vendor/github.com/hashicorp/raft-boltdb/util.go",
    "content": "package raftboltdb\n\nimport (\n\t\"bytes\"\n\t\"encoding/binary\"\n\n\t\"github.com/hashicorp/go-msgpack/codec\"\n)\n\n// Decode reverses the encode operation on a byte slice input\nfunc decodeMsgPack(buf []byte, out interface{}) error {\n\tr := bytes.NewBuffer(buf)\n\thd := codec.MsgpackHandle{}\n\tdec := codec.NewDecoder(r, &hd)\n\treturn dec.Decode(out)\n}\n\n// Encode writes an encoded object to a new bytes buffer\nfunc encodeMsgPack(in interface{}) (*bytes.Buffer, error) {\n\tbuf := bytes.NewBuffer(nil)\n\thd := codec.MsgpackHandle{}\n\tenc := codec.NewEncoder(buf, &hd)\n\terr := enc.Encode(in)\n\treturn buf, err\n}\n\n// Converts bytes to an integer\nfunc bytesToUint64(b []byte) uint64 {\n\treturn binary.BigEndian.Uint64(b)\n}\n\n// Converts a uint to a byte slice\nfunc uint64ToBytes(u uint64) []byte {\n\tbuf := make([]byte, 8)\n\tbinary.BigEndian.PutUint64(buf, u)\n\treturn buf\n}\n"
  },
  {
    "path": "vendor/github.com/mattn/go-colorable/.travis.yml",
    "content": "language: go\ngo:\n  - tip\n\nbefore_install:\n  - go get github.com/mattn/goveralls\n  - go get golang.org/x/tools/cmd/cover\nscript:\n  - $HOME/gopath/bin/goveralls -repotoken xnXqRGwgW3SXIguzxf90ZSK1GPYZPaGrw\n"
  },
  {
    "path": "vendor/github.com/mattn/go-colorable/LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2016 Yasuhiro Matsumoto\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "vendor/github.com/mattn/go-colorable/README.md",
    "content": "# go-colorable\n\n[![Godoc Reference](https://godoc.org/github.com/mattn/go-colorable?status.svg)](http://godoc.org/github.com/mattn/go-colorable)\n[![Build Status](https://travis-ci.org/mattn/go-colorable.svg?branch=master)](https://travis-ci.org/mattn/go-colorable)\n[![Coverage Status](https://coveralls.io/repos/github/mattn/go-colorable/badge.svg?branch=master)](https://coveralls.io/github/mattn/go-colorable?branch=master)\n[![Go Report Card](https://goreportcard.com/badge/mattn/go-colorable)](https://goreportcard.com/report/mattn/go-colorable)\n\nColorable writer for windows.\n\nFor example, most of logger packages doesn't show colors on windows. (I know we can do it with ansicon. But I don't want.)\nThis package is possible to handle escape sequence for ansi color on windows.\n\n## Too Bad!\n\n![](https://raw.githubusercontent.com/mattn/go-colorable/gh-pages/bad.png)\n\n\n## So Good!\n\n![](https://raw.githubusercontent.com/mattn/go-colorable/gh-pages/good.png)\n\n## Usage\n\n```go\nlogrus.SetFormatter(&logrus.TextFormatter{ForceColors: true})\nlogrus.SetOutput(colorable.NewColorableStdout())\n\nlogrus.Info(\"succeeded\")\nlogrus.Warn(\"not correct\")\nlogrus.Error(\"something error\")\nlogrus.Fatal(\"panic\")\n```\n\nYou can compile above code on non-windows OSs.\n\n## Installation\n\n```\n$ go get github.com/mattn/go-colorable\n```\n\n# License\n\nMIT\n\n# Author\n\nYasuhiro Matsumoto (a.k.a mattn)\n"
  },
  {
    "path": "vendor/github.com/mattn/go-colorable/colorable_appengine.go",
    "content": "// +build appengine\n\npackage colorable\n\nimport (\n\t\"io\"\n\t\"os\"\n\n\t_ \"github.com/mattn/go-isatty\"\n)\n\n// NewColorable return new instance of Writer which handle escape sequence.\nfunc NewColorable(file *os.File) io.Writer {\n\tif file == nil {\n\t\tpanic(\"nil passed instead of *os.File to NewColorable()\")\n\t}\n\n\treturn file\n}\n\n// NewColorableStdout return new instance of Writer which handle escape sequence for stdout.\nfunc NewColorableStdout() io.Writer {\n\treturn os.Stdout\n}\n\n// NewColorableStderr return new instance of Writer which handle escape sequence for stderr.\nfunc NewColorableStderr() io.Writer {\n\treturn os.Stderr\n}\n"
  },
  {
    "path": "vendor/github.com/mattn/go-colorable/colorable_others.go",
    "content": "// +build !windows\n// +build !appengine\n\npackage colorable\n\nimport (\n\t\"io\"\n\t\"os\"\n\n\t_ \"github.com/mattn/go-isatty\"\n)\n\n// NewColorable return new instance of Writer which handle escape sequence.\nfunc NewColorable(file *os.File) io.Writer {\n\tif file == nil {\n\t\tpanic(\"nil passed instead of *os.File to NewColorable()\")\n\t}\n\n\treturn file\n}\n\n// NewColorableStdout return new instance of Writer which handle escape sequence for stdout.\nfunc NewColorableStdout() io.Writer {\n\treturn os.Stdout\n}\n\n// NewColorableStderr return new instance of Writer which handle escape sequence for stderr.\nfunc NewColorableStderr() io.Writer {\n\treturn os.Stderr\n}\n"
  },
  {
    "path": "vendor/github.com/mattn/go-colorable/colorable_windows.go",
    "content": "// +build windows\n// +build !appengine\n\npackage colorable\n\nimport (\n\t\"bytes\"\n\t\"io\"\n\t\"math\"\n\t\"os\"\n\t\"strconv\"\n\t\"strings\"\n\t\"syscall\"\n\t\"unsafe\"\n\n\t\"github.com/mattn/go-isatty\"\n)\n\nconst (\n\tforegroundBlue      = 0x1\n\tforegroundGreen     = 0x2\n\tforegroundRed       = 0x4\n\tforegroundIntensity = 0x8\n\tforegroundMask      = (foregroundRed | foregroundBlue | foregroundGreen | foregroundIntensity)\n\tbackgroundBlue      = 0x10\n\tbackgroundGreen     = 0x20\n\tbackgroundRed       = 0x40\n\tbackgroundIntensity = 0x80\n\tbackgroundMask      = (backgroundRed | backgroundBlue | backgroundGreen | backgroundIntensity)\n)\n\ntype wchar uint16\ntype short int16\ntype dword uint32\ntype word uint16\n\ntype coord struct {\n\tx short\n\ty short\n}\n\ntype smallRect struct {\n\tleft   short\n\ttop    short\n\tright  short\n\tbottom short\n}\n\ntype consoleScreenBufferInfo struct {\n\tsize              coord\n\tcursorPosition    coord\n\tattributes        word\n\twindow            smallRect\n\tmaximumWindowSize coord\n}\n\ntype consoleCursorInfo struct {\n\tsize    dword\n\tvisible int32\n}\n\nvar (\n\tkernel32                       = syscall.NewLazyDLL(\"kernel32.dll\")\n\tprocGetConsoleScreenBufferInfo = kernel32.NewProc(\"GetConsoleScreenBufferInfo\")\n\tprocSetConsoleTextAttribute    = kernel32.NewProc(\"SetConsoleTextAttribute\")\n\tprocSetConsoleCursorPosition   = kernel32.NewProc(\"SetConsoleCursorPosition\")\n\tprocFillConsoleOutputCharacter = kernel32.NewProc(\"FillConsoleOutputCharacterW\")\n\tprocFillConsoleOutputAttribute = kernel32.NewProc(\"FillConsoleOutputAttribute\")\n\tprocGetConsoleCursorInfo       = kernel32.NewProc(\"GetConsoleCursorInfo\")\n\tprocSetConsoleCursorInfo       = kernel32.NewProc(\"SetConsoleCursorInfo\")\n\tprocSetConsoleTitle            = kernel32.NewProc(\"SetConsoleTitleW\")\n)\n\n// Writer provide colorable Writer to the console\ntype Writer struct {\n\tout     io.Writer\n\thandle  syscall.Handle\n\toldattr word\n\toldpos  coord\n}\n\n// NewColorable return new instance of Writer which handle escape sequence from File.\nfunc NewColorable(file *os.File) io.Writer {\n\tif file == nil {\n\t\tpanic(\"nil passed instead of *os.File to NewColorable()\")\n\t}\n\n\tif isatty.IsTerminal(file.Fd()) {\n\t\tvar csbi consoleScreenBufferInfo\n\t\thandle := syscall.Handle(file.Fd())\n\t\tprocGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi)))\n\t\treturn &Writer{out: file, handle: handle, oldattr: csbi.attributes, oldpos: coord{0, 0}}\n\t}\n\treturn file\n}\n\n// NewColorableStdout return new instance of Writer which handle escape sequence for stdout.\nfunc NewColorableStdout() io.Writer {\n\treturn NewColorable(os.Stdout)\n}\n\n// NewColorableStderr return new instance of Writer which handle escape sequence for stderr.\nfunc NewColorableStderr() io.Writer {\n\treturn NewColorable(os.Stderr)\n}\n\nvar color256 = map[int]int{\n\t0:   0x000000,\n\t1:   0x800000,\n\t2:   0x008000,\n\t3:   0x808000,\n\t4:   0x000080,\n\t5:   0x800080,\n\t6:   0x008080,\n\t7:   0xc0c0c0,\n\t8:   0x808080,\n\t9:   0xff0000,\n\t10:  0x00ff00,\n\t11:  0xffff00,\n\t12:  0x0000ff,\n\t13:  0xff00ff,\n\t14:  0x00ffff,\n\t15:  0xffffff,\n\t16:  0x000000,\n\t17:  0x00005f,\n\t18:  0x000087,\n\t19:  0x0000af,\n\t20:  0x0000d7,\n\t21:  0x0000ff,\n\t22:  0x005f00,\n\t23:  0x005f5f,\n\t24:  0x005f87,\n\t25:  0x005faf,\n\t26:  0x005fd7,\n\t27:  0x005fff,\n\t28:  0x008700,\n\t29:  0x00875f,\n\t30:  0x008787,\n\t31:  0x0087af,\n\t32:  0x0087d7,\n\t33:  0x0087ff,\n\t34:  0x00af00,\n\t35:  0x00af5f,\n\t36:  0x00af87,\n\t37:  0x00afaf,\n\t38:  0x00afd7,\n\t39:  0x00afff,\n\t40:  0x00d700,\n\t41:  0x00d75f,\n\t42:  0x00d787,\n\t43:  0x00d7af,\n\t44:  0x00d7d7,\n\t45:  0x00d7ff,\n\t46:  0x00ff00,\n\t47:  0x00ff5f,\n\t48:  0x00ff87,\n\t49:  0x00ffaf,\n\t50:  0x00ffd7,\n\t51:  0x00ffff,\n\t52:  0x5f0000,\n\t53:  0x5f005f,\n\t54:  0x5f0087,\n\t55:  0x5f00af,\n\t56:  0x5f00d7,\n\t57:  0x5f00ff,\n\t58:  0x5f5f00,\n\t59:  0x5f5f5f,\n\t60:  0x5f5f87,\n\t61:  0x5f5faf,\n\t62:  0x5f5fd7,\n\t63:  0x5f5fff,\n\t64:  0x5f8700,\n\t65:  0x5f875f,\n\t66:  0x5f8787,\n\t67:  0x5f87af,\n\t68:  0x5f87d7,\n\t69:  0x5f87ff,\n\t70:  0x5faf00,\n\t71:  0x5faf5f,\n\t72:  0x5faf87,\n\t73:  0x5fafaf,\n\t74:  0x5fafd7,\n\t75:  0x5fafff,\n\t76:  0x5fd700,\n\t77:  0x5fd75f,\n\t78:  0x5fd787,\n\t79:  0x5fd7af,\n\t80:  0x5fd7d7,\n\t81:  0x5fd7ff,\n\t82:  0x5fff00,\n\t83:  0x5fff5f,\n\t84:  0x5fff87,\n\t85:  0x5fffaf,\n\t86:  0x5fffd7,\n\t87:  0x5fffff,\n\t88:  0x870000,\n\t89:  0x87005f,\n\t90:  0x870087,\n\t91:  0x8700af,\n\t92:  0x8700d7,\n\t93:  0x8700ff,\n\t94:  0x875f00,\n\t95:  0x875f5f,\n\t96:  0x875f87,\n\t97:  0x875faf,\n\t98:  0x875fd7,\n\t99:  0x875fff,\n\t100: 0x878700,\n\t101: 0x87875f,\n\t102: 0x878787,\n\t103: 0x8787af,\n\t104: 0x8787d7,\n\t105: 0x8787ff,\n\t106: 0x87af00,\n\t107: 0x87af5f,\n\t108: 0x87af87,\n\t109: 0x87afaf,\n\t110: 0x87afd7,\n\t111: 0x87afff,\n\t112: 0x87d700,\n\t113: 0x87d75f,\n\t114: 0x87d787,\n\t115: 0x87d7af,\n\t116: 0x87d7d7,\n\t117: 0x87d7ff,\n\t118: 0x87ff00,\n\t119: 0x87ff5f,\n\t120: 0x87ff87,\n\t121: 0x87ffaf,\n\t122: 0x87ffd7,\n\t123: 0x87ffff,\n\t124: 0xaf0000,\n\t125: 0xaf005f,\n\t126: 0xaf0087,\n\t127: 0xaf00af,\n\t128: 0xaf00d7,\n\t129: 0xaf00ff,\n\t130: 0xaf5f00,\n\t131: 0xaf5f5f,\n\t132: 0xaf5f87,\n\t133: 0xaf5faf,\n\t134: 0xaf5fd7,\n\t135: 0xaf5fff,\n\t136: 0xaf8700,\n\t137: 0xaf875f,\n\t138: 0xaf8787,\n\t139: 0xaf87af,\n\t140: 0xaf87d7,\n\t141: 0xaf87ff,\n\t142: 0xafaf00,\n\t143: 0xafaf5f,\n\t144: 0xafaf87,\n\t145: 0xafafaf,\n\t146: 0xafafd7,\n\t147: 0xafafff,\n\t148: 0xafd700,\n\t149: 0xafd75f,\n\t150: 0xafd787,\n\t151: 0xafd7af,\n\t152: 0xafd7d7,\n\t153: 0xafd7ff,\n\t154: 0xafff00,\n\t155: 0xafff5f,\n\t156: 0xafff87,\n\t157: 0xafffaf,\n\t158: 0xafffd7,\n\t159: 0xafffff,\n\t160: 0xd70000,\n\t161: 0xd7005f,\n\t162: 0xd70087,\n\t163: 0xd700af,\n\t164: 0xd700d7,\n\t165: 0xd700ff,\n\t166: 0xd75f00,\n\t167: 0xd75f5f,\n\t168: 0xd75f87,\n\t169: 0xd75faf,\n\t170: 0xd75fd7,\n\t171: 0xd75fff,\n\t172: 0xd78700,\n\t173: 0xd7875f,\n\t174: 0xd78787,\n\t175: 0xd787af,\n\t176: 0xd787d7,\n\t177: 0xd787ff,\n\t178: 0xd7af00,\n\t179: 0xd7af5f,\n\t180: 0xd7af87,\n\t181: 0xd7afaf,\n\t182: 0xd7afd7,\n\t183: 0xd7afff,\n\t184: 0xd7d700,\n\t185: 0xd7d75f,\n\t186: 0xd7d787,\n\t187: 0xd7d7af,\n\t188: 0xd7d7d7,\n\t189: 0xd7d7ff,\n\t190: 0xd7ff00,\n\t191: 0xd7ff5f,\n\t192: 0xd7ff87,\n\t193: 0xd7ffaf,\n\t194: 0xd7ffd7,\n\t195: 0xd7ffff,\n\t196: 0xff0000,\n\t197: 0xff005f,\n\t198: 0xff0087,\n\t199: 0xff00af,\n\t200: 0xff00d7,\n\t201: 0xff00ff,\n\t202: 0xff5f00,\n\t203: 0xff5f5f,\n\t204: 0xff5f87,\n\t205: 0xff5faf,\n\t206: 0xff5fd7,\n\t207: 0xff5fff,\n\t208: 0xff8700,\n\t209: 0xff875f,\n\t210: 0xff8787,\n\t211: 0xff87af,\n\t212: 0xff87d7,\n\t213: 0xff87ff,\n\t214: 0xffaf00,\n\t215: 0xffaf5f,\n\t216: 0xffaf87,\n\t217: 0xffafaf,\n\t218: 0xffafd7,\n\t219: 0xffafff,\n\t220: 0xffd700,\n\t221: 0xffd75f,\n\t222: 0xffd787,\n\t223: 0xffd7af,\n\t224: 0xffd7d7,\n\t225: 0xffd7ff,\n\t226: 0xffff00,\n\t227: 0xffff5f,\n\t228: 0xffff87,\n\t229: 0xffffaf,\n\t230: 0xffffd7,\n\t231: 0xffffff,\n\t232: 0x080808,\n\t233: 0x121212,\n\t234: 0x1c1c1c,\n\t235: 0x262626,\n\t236: 0x303030,\n\t237: 0x3a3a3a,\n\t238: 0x444444,\n\t239: 0x4e4e4e,\n\t240: 0x585858,\n\t241: 0x626262,\n\t242: 0x6c6c6c,\n\t243: 0x767676,\n\t244: 0x808080,\n\t245: 0x8a8a8a,\n\t246: 0x949494,\n\t247: 0x9e9e9e,\n\t248: 0xa8a8a8,\n\t249: 0xb2b2b2,\n\t250: 0xbcbcbc,\n\t251: 0xc6c6c6,\n\t252: 0xd0d0d0,\n\t253: 0xdadada,\n\t254: 0xe4e4e4,\n\t255: 0xeeeeee,\n}\n\n// `\\033]0;TITLESTR\\007`\nfunc doTitleSequence(er *bytes.Reader) error {\n\tvar c byte\n\tvar err error\n\n\tc, err = er.ReadByte()\n\tif err != nil {\n\t\treturn err\n\t}\n\tif c != '0' && c != '2' {\n\t\treturn nil\n\t}\n\tc, err = er.ReadByte()\n\tif err != nil {\n\t\treturn err\n\t}\n\tif c != ';' {\n\t\treturn nil\n\t}\n\ttitle := make([]byte, 0, 80)\n\tfor {\n\t\tc, err = er.ReadByte()\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif c == 0x07 || c == '\\n' {\n\t\t\tbreak\n\t\t}\n\t\ttitle = append(title, c)\n\t}\n\tif len(title) > 0 {\n\t\ttitle8, err := syscall.UTF16PtrFromString(string(title))\n\t\tif err == nil {\n\t\t\tprocSetConsoleTitle.Call(uintptr(unsafe.Pointer(title8)))\n\t\t}\n\t}\n\treturn nil\n}\n\n// Write write data on console\nfunc (w *Writer) Write(data []byte) (n int, err error) {\n\tvar csbi consoleScreenBufferInfo\n\tprocGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi)))\n\n\ter := bytes.NewReader(data)\n\tvar bw [1]byte\nloop:\n\tfor {\n\t\tc1, err := er.ReadByte()\n\t\tif err != nil {\n\t\t\tbreak loop\n\t\t}\n\t\tif c1 != 0x1b {\n\t\t\tbw[0] = c1\n\t\t\tw.out.Write(bw[:])\n\t\t\tcontinue\n\t\t}\n\t\tc2, err := er.ReadByte()\n\t\tif err != nil {\n\t\t\tbreak loop\n\t\t}\n\n\t\tif c2 == ']' {\n\t\t\tif err := doTitleSequence(er); err != nil {\n\t\t\t\tbreak loop\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\tif c2 != 0x5b {\n\t\t\tcontinue\n\t\t}\n\n\t\tvar buf bytes.Buffer\n\t\tvar m byte\n\t\tfor {\n\t\t\tc, err := er.ReadByte()\n\t\t\tif err != nil {\n\t\t\t\tbreak loop\n\t\t\t}\n\t\t\tif ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || c == '@' {\n\t\t\t\tm = c\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tbuf.Write([]byte(string(c)))\n\t\t}\n\n\t\tswitch m {\n\t\tcase 'A':\n\t\t\tn, err = strconv.Atoi(buf.String())\n\t\t\tif err != nil {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tprocGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi)))\n\t\t\tcsbi.cursorPosition.y -= short(n)\n\t\t\tprocSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition)))\n\t\tcase 'B':\n\t\t\tn, err = strconv.Atoi(buf.String())\n\t\t\tif err != nil {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tprocGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi)))\n\t\t\tcsbi.cursorPosition.y += short(n)\n\t\t\tprocSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition)))\n\t\tcase 'C':\n\t\t\tn, err = strconv.Atoi(buf.String())\n\t\t\tif err != nil {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tprocGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi)))\n\t\t\tcsbi.cursorPosition.x += short(n)\n\t\t\tprocSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition)))\n\t\tcase 'D':\n\t\t\tn, err = strconv.Atoi(buf.String())\n\t\t\tif err != nil {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tprocGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi)))\n\t\t\tcsbi.cursorPosition.x -= short(n)\n\t\t\tprocSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition)))\n\t\tcase 'E':\n\t\t\tn, err = strconv.Atoi(buf.String())\n\t\t\tif err != nil {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tprocGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi)))\n\t\t\tcsbi.cursorPosition.x = 0\n\t\t\tcsbi.cursorPosition.y += short(n)\n\t\t\tprocSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition)))\n\t\tcase 'F':\n\t\t\tn, err = strconv.Atoi(buf.String())\n\t\t\tif err != nil {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tprocGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi)))\n\t\t\tcsbi.cursorPosition.x = 0\n\t\t\tcsbi.cursorPosition.y -= short(n)\n\t\t\tprocSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition)))\n\t\tcase 'G':\n\t\t\tn, err = strconv.Atoi(buf.String())\n\t\t\tif err != nil {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tprocGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi)))\n\t\t\tcsbi.cursorPosition.x = short(n - 1)\n\t\t\tprocSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition)))\n\t\tcase 'H', 'f':\n\t\t\tprocGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi)))\n\t\t\tif buf.Len() > 0 {\n\t\t\t\ttoken := strings.Split(buf.String(), \";\")\n\t\t\t\tswitch len(token) {\n\t\t\t\tcase 1:\n\t\t\t\t\tn1, err := strconv.Atoi(token[0])\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tcsbi.cursorPosition.y = short(n1 - 1)\n\t\t\t\tcase 2:\n\t\t\t\t\tn1, err := strconv.Atoi(token[0])\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tn2, err := strconv.Atoi(token[1])\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tcsbi.cursorPosition.x = short(n2 - 1)\n\t\t\t\t\tcsbi.cursorPosition.y = short(n1 - 1)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcsbi.cursorPosition.y = 0\n\t\t\t}\n\t\t\tprocSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&csbi.cursorPosition)))\n\t\tcase 'J':\n\t\t\tn := 0\n\t\t\tif buf.Len() > 0 {\n\t\t\t\tn, err = strconv.Atoi(buf.String())\n\t\t\t\tif err != nil {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\t\t\tvar count, written dword\n\t\t\tvar cursor coord\n\t\t\tprocGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi)))\n\t\t\tswitch n {\n\t\t\tcase 0:\n\t\t\t\tcursor = coord{x: csbi.cursorPosition.x, y: csbi.cursorPosition.y}\n\t\t\t\tcount = dword(csbi.size.x - csbi.cursorPosition.x + (csbi.size.y-csbi.cursorPosition.y)*csbi.size.x)\n\t\t\tcase 1:\n\t\t\t\tcursor = coord{x: csbi.window.left, y: csbi.window.top}\n\t\t\t\tcount = dword(csbi.size.x - csbi.cursorPosition.x + (csbi.window.top-csbi.cursorPosition.y)*csbi.size.x)\n\t\t\tcase 2:\n\t\t\t\tcursor = coord{x: csbi.window.left, y: csbi.window.top}\n\t\t\t\tcount = dword(csbi.size.x - csbi.cursorPosition.x + (csbi.size.y-csbi.cursorPosition.y)*csbi.size.x)\n\t\t\t}\n\t\t\tprocFillConsoleOutputCharacter.Call(uintptr(w.handle), uintptr(' '), uintptr(count), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&written)))\n\t\t\tprocFillConsoleOutputAttribute.Call(uintptr(w.handle), uintptr(csbi.attributes), uintptr(count), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&written)))\n\t\tcase 'K':\n\t\t\tn := 0\n\t\t\tif buf.Len() > 0 {\n\t\t\t\tn, err = strconv.Atoi(buf.String())\n\t\t\t\tif err != nil {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\t\t\tprocGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi)))\n\t\t\tvar cursor coord\n\t\t\tvar count, written dword\n\t\t\tswitch n {\n\t\t\tcase 0:\n\t\t\t\tcursor = coord{x: csbi.cursorPosition.x + 1, y: csbi.cursorPosition.y}\n\t\t\t\tcount = dword(csbi.size.x - csbi.cursorPosition.x - 1)\n\t\t\tcase 1:\n\t\t\t\tcursor = coord{x: csbi.window.left, y: csbi.window.top + csbi.cursorPosition.y}\n\t\t\t\tcount = dword(csbi.size.x - csbi.cursorPosition.x)\n\t\t\tcase 2:\n\t\t\t\tcursor = coord{x: csbi.window.left, y: csbi.window.top + csbi.cursorPosition.y}\n\t\t\t\tcount = dword(csbi.size.x)\n\t\t\t}\n\t\t\tprocFillConsoleOutputCharacter.Call(uintptr(w.handle), uintptr(' '), uintptr(count), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&written)))\n\t\t\tprocFillConsoleOutputAttribute.Call(uintptr(w.handle), uintptr(csbi.attributes), uintptr(count), *(*uintptr)(unsafe.Pointer(&cursor)), uintptr(unsafe.Pointer(&written)))\n\t\tcase 'm':\n\t\t\tprocGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi)))\n\t\t\tattr := csbi.attributes\n\t\t\tcs := buf.String()\n\t\t\tif cs == \"\" {\n\t\t\t\tprocSetConsoleTextAttribute.Call(uintptr(w.handle), uintptr(w.oldattr))\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\ttoken := strings.Split(cs, \";\")\n\t\t\tfor i := 0; i < len(token); i++ {\n\t\t\t\tns := token[i]\n\t\t\t\tif n, err = strconv.Atoi(ns); err == nil {\n\t\t\t\t\tswitch {\n\t\t\t\t\tcase n == 0 || n == 100:\n\t\t\t\t\t\tattr = w.oldattr\n\t\t\t\t\tcase 1 <= n && n <= 5:\n\t\t\t\t\t\tattr |= foregroundIntensity\n\t\t\t\t\tcase n == 7:\n\t\t\t\t\t\tattr = ((attr & foregroundMask) << 4) | ((attr & backgroundMask) >> 4)\n\t\t\t\t\tcase n == 22 || n == 25:\n\t\t\t\t\t\tattr |= foregroundIntensity\n\t\t\t\t\tcase n == 27:\n\t\t\t\t\t\tattr = ((attr & foregroundMask) << 4) | ((attr & backgroundMask) >> 4)\n\t\t\t\t\tcase 30 <= n && n <= 37:\n\t\t\t\t\t\tattr &= backgroundMask\n\t\t\t\t\t\tif (n-30)&1 != 0 {\n\t\t\t\t\t\t\tattr |= foregroundRed\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (n-30)&2 != 0 {\n\t\t\t\t\t\t\tattr |= foregroundGreen\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (n-30)&4 != 0 {\n\t\t\t\t\t\t\tattr |= foregroundBlue\n\t\t\t\t\t\t}\n\t\t\t\t\tcase n == 38: // set foreground color.\n\t\t\t\t\t\tif i < len(token)-2 && (token[i+1] == \"5\" || token[i+1] == \"05\") {\n\t\t\t\t\t\t\tif n256, err := strconv.Atoi(token[i+2]); err == nil {\n\t\t\t\t\t\t\t\tif n256foreAttr == nil {\n\t\t\t\t\t\t\t\t\tn256setup()\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tattr &= backgroundMask\n\t\t\t\t\t\t\t\tattr |= n256foreAttr[n256]\n\t\t\t\t\t\t\t\ti += 2\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tattr = attr & (w.oldattr & backgroundMask)\n\t\t\t\t\t\t}\n\t\t\t\t\tcase n == 39: // reset foreground color.\n\t\t\t\t\t\tattr &= backgroundMask\n\t\t\t\t\t\tattr |= w.oldattr & foregroundMask\n\t\t\t\t\tcase 40 <= n && n <= 47:\n\t\t\t\t\t\tattr &= foregroundMask\n\t\t\t\t\t\tif (n-40)&1 != 0 {\n\t\t\t\t\t\t\tattr |= backgroundRed\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (n-40)&2 != 0 {\n\t\t\t\t\t\t\tattr |= backgroundGreen\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (n-40)&4 != 0 {\n\t\t\t\t\t\t\tattr |= backgroundBlue\n\t\t\t\t\t\t}\n\t\t\t\t\tcase n == 48: // set background color.\n\t\t\t\t\t\tif i < len(token)-2 && token[i+1] == \"5\" {\n\t\t\t\t\t\t\tif n256, err := strconv.Atoi(token[i+2]); err == nil {\n\t\t\t\t\t\t\t\tif n256backAttr == nil {\n\t\t\t\t\t\t\t\t\tn256setup()\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tattr &= foregroundMask\n\t\t\t\t\t\t\t\tattr |= n256backAttr[n256]\n\t\t\t\t\t\t\t\ti += 2\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tattr = attr & (w.oldattr & foregroundMask)\n\t\t\t\t\t\t}\n\t\t\t\t\tcase n == 49: // reset foreground color.\n\t\t\t\t\t\tattr &= foregroundMask\n\t\t\t\t\t\tattr |= w.oldattr & backgroundMask\n\t\t\t\t\tcase 90 <= n && n <= 97:\n\t\t\t\t\t\tattr = (attr & backgroundMask)\n\t\t\t\t\t\tattr |= foregroundIntensity\n\t\t\t\t\t\tif (n-90)&1 != 0 {\n\t\t\t\t\t\t\tattr |= foregroundRed\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (n-90)&2 != 0 {\n\t\t\t\t\t\t\tattr |= foregroundGreen\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (n-90)&4 != 0 {\n\t\t\t\t\t\t\tattr |= foregroundBlue\n\t\t\t\t\t\t}\n\t\t\t\t\tcase 100 <= n && n <= 107:\n\t\t\t\t\t\tattr = (attr & foregroundMask)\n\t\t\t\t\t\tattr |= backgroundIntensity\n\t\t\t\t\t\tif (n-100)&1 != 0 {\n\t\t\t\t\t\t\tattr |= backgroundRed\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (n-100)&2 != 0 {\n\t\t\t\t\t\t\tattr |= backgroundGreen\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (n-100)&4 != 0 {\n\t\t\t\t\t\t\tattr |= backgroundBlue\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tprocSetConsoleTextAttribute.Call(uintptr(w.handle), uintptr(attr))\n\t\t\t\t}\n\t\t\t}\n\t\tcase 'h':\n\t\t\tvar ci consoleCursorInfo\n\t\t\tcs := buf.String()\n\t\t\tif cs == \"5>\" {\n\t\t\t\tprocGetConsoleCursorInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&ci)))\n\t\t\t\tci.visible = 0\n\t\t\t\tprocSetConsoleCursorInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&ci)))\n\t\t\t} else if cs == \"?25\" {\n\t\t\t\tprocGetConsoleCursorInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&ci)))\n\t\t\t\tci.visible = 1\n\t\t\t\tprocSetConsoleCursorInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&ci)))\n\t\t\t}\n\t\tcase 'l':\n\t\t\tvar ci consoleCursorInfo\n\t\t\tcs := buf.String()\n\t\t\tif cs == \"5>\" {\n\t\t\t\tprocGetConsoleCursorInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&ci)))\n\t\t\t\tci.visible = 1\n\t\t\t\tprocSetConsoleCursorInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&ci)))\n\t\t\t} else if cs == \"?25\" {\n\t\t\t\tprocGetConsoleCursorInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&ci)))\n\t\t\t\tci.visible = 0\n\t\t\t\tprocSetConsoleCursorInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&ci)))\n\t\t\t}\n\t\tcase 's':\n\t\t\tprocGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi)))\n\t\t\tw.oldpos = csbi.cursorPosition\n\t\tcase 'u':\n\t\t\tprocSetConsoleCursorPosition.Call(uintptr(w.handle), *(*uintptr)(unsafe.Pointer(&w.oldpos)))\n\t\t}\n\t}\n\n\treturn len(data), nil\n}\n\ntype consoleColor struct {\n\trgb       int\n\tred       bool\n\tgreen     bool\n\tblue      bool\n\tintensity bool\n}\n\nfunc (c consoleColor) foregroundAttr() (attr word) {\n\tif c.red {\n\t\tattr |= foregroundRed\n\t}\n\tif c.green {\n\t\tattr |= foregroundGreen\n\t}\n\tif c.blue {\n\t\tattr |= foregroundBlue\n\t}\n\tif c.intensity {\n\t\tattr |= foregroundIntensity\n\t}\n\treturn\n}\n\nfunc (c consoleColor) backgroundAttr() (attr word) {\n\tif c.red {\n\t\tattr |= backgroundRed\n\t}\n\tif c.green {\n\t\tattr |= backgroundGreen\n\t}\n\tif c.blue {\n\t\tattr |= backgroundBlue\n\t}\n\tif c.intensity {\n\t\tattr |= backgroundIntensity\n\t}\n\treturn\n}\n\nvar color16 = []consoleColor{\n\t{0x000000, false, false, false, false},\n\t{0x000080, false, false, true, false},\n\t{0x008000, false, true, false, false},\n\t{0x008080, false, true, true, false},\n\t{0x800000, true, false, false, false},\n\t{0x800080, true, false, true, false},\n\t{0x808000, true, true, false, false},\n\t{0xc0c0c0, true, true, true, false},\n\t{0x808080, false, false, false, true},\n\t{0x0000ff, false, false, true, true},\n\t{0x00ff00, false, true, false, true},\n\t{0x00ffff, false, true, true, true},\n\t{0xff0000, true, false, false, true},\n\t{0xff00ff, true, false, true, true},\n\t{0xffff00, true, true, false, true},\n\t{0xffffff, true, true, true, true},\n}\n\ntype hsv struct {\n\th, s, v float32\n}\n\nfunc (a hsv) dist(b hsv) float32 {\n\tdh := a.h - b.h\n\tswitch {\n\tcase dh > 0.5:\n\t\tdh = 1 - dh\n\tcase dh < -0.5:\n\t\tdh = -1 - dh\n\t}\n\tds := a.s - b.s\n\tdv := a.v - b.v\n\treturn float32(math.Sqrt(float64(dh*dh + ds*ds + dv*dv)))\n}\n\nfunc toHSV(rgb int) hsv {\n\tr, g, b := float32((rgb&0xFF0000)>>16)/256.0,\n\t\tfloat32((rgb&0x00FF00)>>8)/256.0,\n\t\tfloat32(rgb&0x0000FF)/256.0\n\tmin, max := minmax3f(r, g, b)\n\th := max - min\n\tif h > 0 {\n\t\tif max == r {\n\t\t\th = (g - b) / h\n\t\t\tif h < 0 {\n\t\t\t\th += 6\n\t\t\t}\n\t\t} else if max == g {\n\t\t\th = 2 + (b-r)/h\n\t\t} else {\n\t\t\th = 4 + (r-g)/h\n\t\t}\n\t}\n\th /= 6.0\n\ts := max - min\n\tif max != 0 {\n\t\ts /= max\n\t}\n\tv := max\n\treturn hsv{h: h, s: s, v: v}\n}\n\ntype hsvTable []hsv\n\nfunc toHSVTable(rgbTable []consoleColor) hsvTable {\n\tt := make(hsvTable, len(rgbTable))\n\tfor i, c := range rgbTable {\n\t\tt[i] = toHSV(c.rgb)\n\t}\n\treturn t\n}\n\nfunc (t hsvTable) find(rgb int) consoleColor {\n\thsv := toHSV(rgb)\n\tn := 7\n\tl := float32(5.0)\n\tfor i, p := range t {\n\t\td := hsv.dist(p)\n\t\tif d < l {\n\t\t\tl, n = d, i\n\t\t}\n\t}\n\treturn color16[n]\n}\n\nfunc minmax3f(a, b, c float32) (min, max float32) {\n\tif a < b {\n\t\tif b < c {\n\t\t\treturn a, c\n\t\t} else if a < c {\n\t\t\treturn a, b\n\t\t} else {\n\t\t\treturn c, b\n\t\t}\n\t} else {\n\t\tif a < c {\n\t\t\treturn b, c\n\t\t} else if b < c {\n\t\t\treturn b, a\n\t\t} else {\n\t\t\treturn c, a\n\t\t}\n\t}\n}\n\nvar n256foreAttr []word\nvar n256backAttr []word\n\nfunc n256setup() {\n\tn256foreAttr = make([]word, 256)\n\tn256backAttr = make([]word, 256)\n\tt := toHSVTable(color16)\n\tfor i, rgb := range color256 {\n\t\tc := t.find(rgb)\n\t\tn256foreAttr[i] = c.foregroundAttr()\n\t\tn256backAttr[i] = c.backgroundAttr()\n\t}\n}\n"
  },
  {
    "path": "vendor/github.com/mattn/go-colorable/noncolorable.go",
    "content": "package colorable\n\nimport (\n\t\"bytes\"\n\t\"io\"\n)\n\n// NonColorable hold writer but remove escape sequence.\ntype NonColorable struct {\n\tout io.Writer\n}\n\n// NewNonColorable return new instance of Writer which remove escape sequence from Writer.\nfunc NewNonColorable(w io.Writer) io.Writer {\n\treturn &NonColorable{out: w}\n}\n\n// Write write data on console\nfunc (w *NonColorable) Write(data []byte) (n int, err error) {\n\ter := bytes.NewReader(data)\n\tvar bw [1]byte\nloop:\n\tfor {\n\t\tc1, err := er.ReadByte()\n\t\tif err != nil {\n\t\t\tbreak loop\n\t\t}\n\t\tif c1 != 0x1b {\n\t\t\tbw[0] = c1\n\t\t\tw.out.Write(bw[:])\n\t\t\tcontinue\n\t\t}\n\t\tc2, err := er.ReadByte()\n\t\tif err != nil {\n\t\t\tbreak loop\n\t\t}\n\t\tif c2 != 0x5b {\n\t\t\tcontinue\n\t\t}\n\n\t\tvar buf bytes.Buffer\n\t\tfor {\n\t\t\tc, err := er.ReadByte()\n\t\t\tif err != nil {\n\t\t\t\tbreak loop\n\t\t\t}\n\t\t\tif ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || c == '@' {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tbuf.Write([]byte(string(c)))\n\t\t}\n\t}\n\n\treturn len(data), nil\n}\n"
  },
  {
    "path": "vendor/github.com/mattn/go-isatty/.travis.yml",
    "content": "language: go\ngo:\n  - tip\n\nbefore_install:\n  - go get github.com/mattn/goveralls\n  - go get golang.org/x/tools/cmd/cover\nscript:\n  - $HOME/gopath/bin/goveralls -repotoken 3gHdORO5k5ziZcWMBxnd9LrMZaJs8m9x5\n"
  },
  {
    "path": "vendor/github.com/mattn/go-isatty/LICENSE",
    "content": "Copyright (c) Yasuhiro MATSUMOTO <mattn.jp@gmail.com>\n\nMIT License (Expat)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"
  },
  {
    "path": "vendor/github.com/mattn/go-isatty/README.md",
    "content": "# go-isatty\n\n[![Godoc Reference](https://godoc.org/github.com/mattn/go-isatty?status.svg)](http://godoc.org/github.com/mattn/go-isatty)\n[![Build Status](https://travis-ci.org/mattn/go-isatty.svg?branch=master)](https://travis-ci.org/mattn/go-isatty)\n[![Coverage Status](https://coveralls.io/repos/github/mattn/go-isatty/badge.svg?branch=master)](https://coveralls.io/github/mattn/go-isatty?branch=master)\n[![Go Report Card](https://goreportcard.com/badge/mattn/go-isatty)](https://goreportcard.com/report/mattn/go-isatty)\n\nisatty for golang\n\n## Usage\n\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\t\"github.com/mattn/go-isatty\"\n\t\"os\"\n)\n\nfunc main() {\n\tif isatty.IsTerminal(os.Stdout.Fd()) {\n\t\tfmt.Println(\"Is Terminal\")\n\t} else if isatty.IsCygwinTerminal(os.Stdout.Fd()) {\n\t\tfmt.Println(\"Is Cygwin/MSYS2 Terminal\")\n\t} else {\n\t\tfmt.Println(\"Is Not Terminal\")\n\t}\n}\n```\n\n## Installation\n\n```\n$ go get github.com/mattn/go-isatty\n```\n\n## License\n\nMIT\n\n## Author\n\nYasuhiro Matsumoto (a.k.a mattn)\n\n## Thanks\n\n* k-takata: base idea for IsCygwinTerminal\n\n    https://github.com/k-takata/go-iscygpty\n"
  },
  {
    "path": "vendor/github.com/mattn/go-isatty/doc.go",
    "content": "// Package isatty implements interface to isatty\npackage isatty\n"
  },
  {
    "path": "vendor/github.com/mattn/go-isatty/isatty_appengine.go",
    "content": "// +build appengine\n\npackage isatty\n\n// IsTerminal returns true if the file descriptor is terminal which\n// is always false on on appengine classic which is a sandboxed PaaS.\nfunc IsTerminal(fd uintptr) bool {\n\treturn false\n}\n\n// IsCygwinTerminal() return true if the file descriptor is a cygwin or msys2\n// terminal. This is also always false on this environment.\nfunc IsCygwinTerminal(fd uintptr) bool {\n\treturn false\n}\n"
  },
  {
    "path": "vendor/github.com/mattn/go-isatty/isatty_bsd.go",
    "content": "// +build darwin freebsd openbsd netbsd dragonfly\n// +build !appengine\n\npackage isatty\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nconst ioctlReadTermios = syscall.TIOCGETA\n\n// IsTerminal return true if the file descriptor is terminal.\nfunc IsTerminal(fd uintptr) bool {\n\tvar termios syscall.Termios\n\t_, _, err := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0)\n\treturn err == 0\n}\n"
  },
  {
    "path": "vendor/github.com/mattn/go-isatty/isatty_linux.go",
    "content": "// +build linux\n// +build !appengine,!ppc64,!ppc64le\n\npackage isatty\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nconst ioctlReadTermios = syscall.TCGETS\n\n// IsTerminal return true if the file descriptor is terminal.\nfunc IsTerminal(fd uintptr) bool {\n\tvar termios syscall.Termios\n\t_, _, err := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0)\n\treturn err == 0\n}\n"
  },
  {
    "path": "vendor/github.com/mattn/go-isatty/isatty_linux_ppc64x.go",
    "content": "// +build linux\n// +build ppc64 ppc64le\n\npackage isatty\n\nimport (\n\t\"unsafe\"\n\n\tsyscall \"golang.org/x/sys/unix\"\n)\n\nconst ioctlReadTermios = syscall.TCGETS\n\n// IsTerminal return true if the file descriptor is terminal.\nfunc IsTerminal(fd uintptr) bool {\n\tvar termios syscall.Termios\n\t_, _, err := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0)\n\treturn err == 0\n}\n"
  },
  {
    "path": "vendor/github.com/mattn/go-isatty/isatty_others.go",
    "content": "// +build !windows\n// +build !appengine\n\npackage isatty\n\n// IsCygwinTerminal() return true if the file descriptor is a cygwin or msys2\n// terminal. This is also always false on this environment.\nfunc IsCygwinTerminal(fd uintptr) bool {\n\treturn false\n}\n"
  },
  {
    "path": "vendor/github.com/mattn/go-isatty/isatty_solaris.go",
    "content": "// +build solaris\n// +build !appengine\n\npackage isatty\n\nimport (\n\t\"golang.org/x/sys/unix\"\n)\n\n// IsTerminal returns true if the given file descriptor is a terminal.\n// see: http://src.illumos.org/source/xref/illumos-gate/usr/src/lib/libbc/libc/gen/common/isatty.c\nfunc IsTerminal(fd uintptr) bool {\n\tvar termio unix.Termio\n\terr := unix.IoctlSetTermio(int(fd), unix.TCGETA, &termio)\n\treturn err == nil\n}\n"
  },
  {
    "path": "vendor/github.com/mattn/go-isatty/isatty_windows.go",
    "content": "// +build windows\n// +build !appengine\n\npackage isatty\n\nimport (\n\t\"strings\"\n\t\"syscall\"\n\t\"unicode/utf16\"\n\t\"unsafe\"\n)\n\nconst (\n\tfileNameInfo uintptr = 2\n\tfileTypePipe         = 3\n)\n\nvar (\n\tkernel32                         = syscall.NewLazyDLL(\"kernel32.dll\")\n\tprocGetConsoleMode               = kernel32.NewProc(\"GetConsoleMode\")\n\tprocGetFileInformationByHandleEx = kernel32.NewProc(\"GetFileInformationByHandleEx\")\n\tprocGetFileType                  = kernel32.NewProc(\"GetFileType\")\n)\n\nfunc init() {\n\t// Check if GetFileInformationByHandleEx is available.\n\tif procGetFileInformationByHandleEx.Find() != nil {\n\t\tprocGetFileInformationByHandleEx = nil\n\t}\n}\n\n// IsTerminal return true if the file descriptor is terminal.\nfunc IsTerminal(fd uintptr) bool {\n\tvar st uint32\n\tr, _, e := syscall.Syscall(procGetConsoleMode.Addr(), 2, fd, uintptr(unsafe.Pointer(&st)), 0)\n\treturn r != 0 && e == 0\n}\n\n// Check pipe name is used for cygwin/msys2 pty.\n// Cygwin/MSYS2 PTY has a name like:\n//   \\{cygwin,msys}-XXXXXXXXXXXXXXXX-ptyN-{from,to}-master\nfunc isCygwinPipeName(name string) bool {\n\ttoken := strings.Split(name, \"-\")\n\tif len(token) < 5 {\n\t\treturn false\n\t}\n\n\tif token[0] != `\\msys` && token[0] != `\\cygwin` {\n\t\treturn false\n\t}\n\n\tif token[1] == \"\" {\n\t\treturn false\n\t}\n\n\tif !strings.HasPrefix(token[2], \"pty\") {\n\t\treturn false\n\t}\n\n\tif token[3] != `from` && token[3] != `to` {\n\t\treturn false\n\t}\n\n\tif token[4] != \"master\" {\n\t\treturn false\n\t}\n\n\treturn true\n}\n\n// IsCygwinTerminal() return true if the file descriptor is a cygwin or msys2\n// terminal.\nfunc IsCygwinTerminal(fd uintptr) bool {\n\tif procGetFileInformationByHandleEx == nil {\n\t\treturn false\n\t}\n\n\t// Cygwin/msys's pty is a pipe.\n\tft, _, e := syscall.Syscall(procGetFileType.Addr(), 1, fd, 0, 0)\n\tif ft != fileTypePipe || e != 0 {\n\t\treturn false\n\t}\n\n\tvar buf [2 + syscall.MAX_PATH]uint16\n\tr, _, e := syscall.Syscall6(procGetFileInformationByHandleEx.Addr(),\n\t\t4, fd, fileNameInfo, uintptr(unsafe.Pointer(&buf)),\n\t\tuintptr(len(buf)*2), 0, 0)\n\tif r == 0 || e != 0 {\n\t\treturn false\n\t}\n\n\tl := *(*uint32)(unsafe.Pointer(&buf))\n\treturn isCygwinPipeName(string(utf16.Decode(buf[2 : 2+l/2])))\n}\n"
  },
  {
    "path": "vendor/github.com/pkg/errors/.gitignore",
    "content": "# Compiled Object files, Static and Dynamic libs (Shared Objects)\n*.o\n*.a\n*.so\n\n# Folders\n_obj\n_test\n\n# Architecture specific extensions/prefixes\n*.[568vq]\n[568vq].out\n\n*.cgo1.go\n*.cgo2.c\n_cgo_defun.c\n_cgo_gotypes.go\n_cgo_export.*\n\n_testmain.go\n\n*.exe\n*.test\n*.prof\n"
  },
  {
    "path": "vendor/github.com/pkg/errors/.travis.yml",
    "content": "language: go\ngo_import_path: github.com/pkg/errors\ngo:\n  - 1.4.3\n  - 1.5.4\n  - 1.6.2\n  - 1.7.1\n  - tip\n\nscript:\n  - go test -v ./...\n"
  },
  {
    "path": "vendor/github.com/pkg/errors/LICENSE",
    "content": "Copyright (c) 2015, Dave Cheney <dave@cheney.net>\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n  list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n  this list of conditions and the following disclaimer in the documentation\n  and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
  },
  {
    "path": "vendor/github.com/pkg/errors/README.md",
    "content": "# errors [![Travis-CI](https://travis-ci.org/pkg/errors.svg)](https://travis-ci.org/pkg/errors) [![AppVeyor](https://ci.appveyor.com/api/projects/status/b98mptawhudj53ep/branch/master?svg=true)](https://ci.appveyor.com/project/davecheney/errors/branch/master) [![GoDoc](https://godoc.org/github.com/pkg/errors?status.svg)](http://godoc.org/github.com/pkg/errors) [![Report card](https://goreportcard.com/badge/github.com/pkg/errors)](https://goreportcard.com/report/github.com/pkg/errors)\n\nPackage errors provides simple error handling primitives.\n\n`go get github.com/pkg/errors`\n\nThe traditional error handling idiom in Go is roughly akin to\n```go\nif err != nil {\n        return err\n}\n```\nwhich applied recursively up the call stack results in error reports without context or debugging information. The errors package allows programmers to add context to the failure path in their code in a way that does not destroy the original value of the error.\n\n## Adding context to an error\n\nThe errors.Wrap function returns a new error that adds context to the original error. For example\n```go\n_, err := ioutil.ReadAll(r)\nif err != nil {\n        return errors.Wrap(err, \"read failed\")\n}\n```\n## Retrieving the cause of an error\n\nUsing `errors.Wrap` constructs a stack of errors, adding context to the preceding error. Depending on the nature of the error it may be necessary to reverse the operation of errors.Wrap to retrieve the original error for inspection. Any error value which implements this interface can be inspected by `errors.Cause`.\n```go\ntype causer interface {\n        Cause() error\n}\n```\n`errors.Cause` will recursively retrieve the topmost error which does not implement `causer`, which is assumed to be the original cause. For example:\n```go\nswitch err := errors.Cause(err).(type) {\ncase *MyError:\n        // handle specifically\ndefault:\n        // unknown error\n}\n```\n\n[Read the package documentation for more information](https://godoc.org/github.com/pkg/errors).\n\n## Contributing\n\nWe welcome pull requests, bug fixes and issue reports. With that said, the bar for adding new symbols to this package is intentionally set high.\n\nBefore proposing a change, please discuss your change by raising an issue.\n\n## Licence\n\nBSD-2-Clause\n"
  },
  {
    "path": "vendor/github.com/pkg/errors/appveyor.yml",
    "content": "version: build-{build}.{branch}\n\nclone_folder: C:\\gopath\\src\\github.com\\pkg\\errors\nshallow_clone: true # for startup speed\n\nenvironment:\n  GOPATH: C:\\gopath\n\nplatform:\n  - x64\n\n# http://www.appveyor.com/docs/installed-software\ninstall:\n  # some helpful output for debugging builds\n  - go version\n  - go env\n  # pre-installed MinGW at C:\\MinGW is 32bit only\n  # but MSYS2 at C:\\msys64 has mingw64\n  - set PATH=C:\\msys64\\mingw64\\bin;%PATH%\n  - gcc --version\n  - g++ --version\n\nbuild_script:\n  - go install -v ./...\n\ntest_script:\n  - set PATH=C:\\gopath\\bin;%PATH%\n  - go test -v ./...\n\n#artifacts:\n#  - path: '%GOPATH%\\bin\\*.exe'\ndeploy: off\n"
  },
  {
    "path": "vendor/github.com/pkg/errors/errors.go",
    "content": "// Package errors provides simple error handling primitives.\n//\n// The traditional error handling idiom in Go is roughly akin to\n//\n//     if err != nil {\n//             return err\n//     }\n//\n// which applied recursively up the call stack results in error reports\n// without context or debugging information. The errors package allows\n// programmers to add context to the failure path in their code in a way\n// that does not destroy the original value of the error.\n//\n// Adding context to an error\n//\n// The errors.Wrap function returns a new error that adds context to the\n// original error by recording a stack trace at the point Wrap is called,\n// and the supplied message. For example\n//\n//     _, err := ioutil.ReadAll(r)\n//     if err != nil {\n//             return errors.Wrap(err, \"read failed\")\n//     }\n//\n// If additional control is required the errors.WithStack and errors.WithMessage\n// functions destructure errors.Wrap into its component operations of annotating\n// an error with a stack trace and an a message, respectively.\n//\n// Retrieving the cause of an error\n//\n// Using errors.Wrap constructs a stack of errors, adding context to the\n// preceding error. Depending on the nature of the error it may be necessary\n// to reverse the operation of errors.Wrap to retrieve the original error\n// for inspection. Any error value which implements this interface\n//\n//     type causer interface {\n//             Cause() error\n//     }\n//\n// can be inspected by errors.Cause. errors.Cause will recursively retrieve\n// the topmost error which does not implement causer, which is assumed to be\n// the original cause. For example:\n//\n//     switch err := errors.Cause(err).(type) {\n//     case *MyError:\n//             // handle specifically\n//     default:\n//             // unknown error\n//     }\n//\n// causer interface is not exported by this package, but is considered a part\n// of stable public API.\n//\n// Formatted printing of errors\n//\n// All error values returned from this package implement fmt.Formatter and can\n// be formatted by the fmt package. The following verbs are supported\n//\n//     %s    print the error. If the error has a Cause it will be\n//           printed recursively\n//     %v    see %s\n//     %+v   extended format. Each Frame of the error's StackTrace will\n//           be printed in detail.\n//\n// Retrieving the stack trace of an error or wrapper\n//\n// New, Errorf, Wrap, and Wrapf record a stack trace at the point they are\n// invoked. This information can be retrieved with the following interface.\n//\n//     type stackTracer interface {\n//             StackTrace() errors.StackTrace\n//     }\n//\n// Where errors.StackTrace is defined as\n//\n//     type StackTrace []Frame\n//\n// The Frame type represents a call site in the stack trace. Frame supports\n// the fmt.Formatter interface that can be used for printing information about\n// the stack trace of this error. For example:\n//\n//     if err, ok := err.(stackTracer); ok {\n//             for _, f := range err.StackTrace() {\n//                     fmt.Printf(\"%+s:%d\", f)\n//             }\n//     }\n//\n// stackTracer interface is not exported by this package, but is considered a part\n// of stable public API.\n//\n// See the documentation for Frame.Format for more details.\npackage errors\n\nimport (\n\t\"fmt\"\n\t\"io\"\n)\n\n// New returns an error with the supplied message.\n// New also records the stack trace at the point it was called.\nfunc New(message string) error {\n\treturn &fundamental{\n\t\tmsg:   message,\n\t\tstack: callers(),\n\t}\n}\n\n// Errorf formats according to a format specifier and returns the string\n// as a value that satisfies error.\n// Errorf also records the stack trace at the point it was called.\nfunc Errorf(format string, args ...interface{}) error {\n\treturn &fundamental{\n\t\tmsg:   fmt.Sprintf(format, args...),\n\t\tstack: callers(),\n\t}\n}\n\n// fundamental is an error that has a message and a stack, but no caller.\ntype fundamental struct {\n\tmsg string\n\t*stack\n}\n\nfunc (f *fundamental) Error() string { return f.msg }\n\nfunc (f *fundamental) Format(s fmt.State, verb rune) {\n\tswitch verb {\n\tcase 'v':\n\t\tif s.Flag('+') {\n\t\t\tio.WriteString(s, f.msg)\n\t\t\tf.stack.Format(s, verb)\n\t\t\treturn\n\t\t}\n\t\tfallthrough\n\tcase 's':\n\t\tio.WriteString(s, f.msg)\n\tcase 'q':\n\t\tfmt.Fprintf(s, \"%q\", f.msg)\n\t}\n}\n\n// WithStack annotates err with a stack trace at the point WithStack was called.\n// If err is nil, WithStack returns nil.\nfunc WithStack(err error) error {\n\tif err == nil {\n\t\treturn nil\n\t}\n\treturn &withStack{\n\t\terr,\n\t\tcallers(),\n\t}\n}\n\ntype withStack struct {\n\terror\n\t*stack\n}\n\nfunc (w *withStack) Cause() error { return w.error }\n\nfunc (w *withStack) Format(s fmt.State, verb rune) {\n\tswitch verb {\n\tcase 'v':\n\t\tif s.Flag('+') {\n\t\t\tfmt.Fprintf(s, \"%+v\", w.Cause())\n\t\t\tw.stack.Format(s, verb)\n\t\t\treturn\n\t\t}\n\t\tfallthrough\n\tcase 's':\n\t\tio.WriteString(s, w.Error())\n\tcase 'q':\n\t\tfmt.Fprintf(s, \"%q\", w.Error())\n\t}\n}\n\n// Wrap returns an error annotating err with a stack trace\n// at the point Wrap is called, and the supplied message.\n// If err is nil, Wrap returns nil.\nfunc Wrap(err error, message string) error {\n\tif err == nil {\n\t\treturn nil\n\t}\n\terr = &withMessage{\n\t\tcause: err,\n\t\tmsg:   message,\n\t}\n\treturn &withStack{\n\t\terr,\n\t\tcallers(),\n\t}\n}\n\n// Wrapf returns an error annotating err with a stack trace\n// at the point Wrapf is call, and the format specifier.\n// If err is nil, Wrapf returns nil.\nfunc Wrapf(err error, format string, args ...interface{}) error {\n\tif err == nil {\n\t\treturn nil\n\t}\n\terr = &withMessage{\n\t\tcause: err,\n\t\tmsg:   fmt.Sprintf(format, args...),\n\t}\n\treturn &withStack{\n\t\terr,\n\t\tcallers(),\n\t}\n}\n\n// WithMessage annotates err with a new message.\n// If err is nil, WithMessage returns nil.\nfunc WithMessage(err error, message string) error {\n\tif err == nil {\n\t\treturn nil\n\t}\n\treturn &withMessage{\n\t\tcause: err,\n\t\tmsg:   message,\n\t}\n}\n\ntype withMessage struct {\n\tcause error\n\tmsg   string\n}\n\nfunc (w *withMessage) Error() string { return w.msg + \": \" + w.cause.Error() }\nfunc (w *withMessage) Cause() error  { return w.cause }\n\nfunc (w *withMessage) Format(s fmt.State, verb rune) {\n\tswitch verb {\n\tcase 'v':\n\t\tif s.Flag('+') {\n\t\t\tfmt.Fprintf(s, \"%+v\\n\", w.Cause())\n\t\t\tio.WriteString(s, w.msg)\n\t\t\treturn\n\t\t}\n\t\tfallthrough\n\tcase 's', 'q':\n\t\tio.WriteString(s, w.Error())\n\t}\n}\n\n// Cause returns the underlying cause of the error, if possible.\n// An error value has a cause if it implements the following\n// interface:\n//\n//     type causer interface {\n//            Cause() error\n//     }\n//\n// If the error does not implement Cause, the original error will\n// be returned. If the error is nil, nil will be returned without further\n// investigation.\nfunc Cause(err error) error {\n\ttype causer interface {\n\t\tCause() error\n\t}\n\n\tfor err != nil {\n\t\tcause, ok := err.(causer)\n\t\tif !ok {\n\t\t\tbreak\n\t\t}\n\t\terr = cause.Cause()\n\t}\n\treturn err\n}\n"
  },
  {
    "path": "vendor/github.com/pkg/errors/stack.go",
    "content": "package errors\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"path\"\n\t\"runtime\"\n\t\"strings\"\n)\n\n// Frame represents a program counter inside a stack frame.\ntype Frame uintptr\n\n// pc returns the program counter for this frame;\n// multiple frames may have the same PC value.\nfunc (f Frame) pc() uintptr { return uintptr(f) - 1 }\n\n// file returns the full path to the file that contains the\n// function for this Frame's pc.\nfunc (f Frame) file() string {\n\tfn := runtime.FuncForPC(f.pc())\n\tif fn == nil {\n\t\treturn \"unknown\"\n\t}\n\tfile, _ := fn.FileLine(f.pc())\n\treturn file\n}\n\n// line returns the line number of source code of the\n// function for this Frame's pc.\nfunc (f Frame) line() int {\n\tfn := runtime.FuncForPC(f.pc())\n\tif fn == nil {\n\t\treturn 0\n\t}\n\t_, line := fn.FileLine(f.pc())\n\treturn line\n}\n\n// Format formats the frame according to the fmt.Formatter interface.\n//\n//    %s    source file\n//    %d    source line\n//    %n    function name\n//    %v    equivalent to %s:%d\n//\n// Format accepts flags that alter the printing of some verbs, as follows:\n//\n//    %+s   path of source file relative to the compile time GOPATH\n//    %+v   equivalent to %+s:%d\nfunc (f Frame) Format(s fmt.State, verb rune) {\n\tswitch verb {\n\tcase 's':\n\t\tswitch {\n\t\tcase s.Flag('+'):\n\t\t\tpc := f.pc()\n\t\t\tfn := runtime.FuncForPC(pc)\n\t\t\tif fn == nil {\n\t\t\t\tio.WriteString(s, \"unknown\")\n\t\t\t} else {\n\t\t\t\tfile, _ := fn.FileLine(pc)\n\t\t\t\tfmt.Fprintf(s, \"%s\\n\\t%s\", fn.Name(), file)\n\t\t\t}\n\t\tdefault:\n\t\t\tio.WriteString(s, path.Base(f.file()))\n\t\t}\n\tcase 'd':\n\t\tfmt.Fprintf(s, \"%d\", f.line())\n\tcase 'n':\n\t\tname := runtime.FuncForPC(f.pc()).Name()\n\t\tio.WriteString(s, funcname(name))\n\tcase 'v':\n\t\tf.Format(s, 's')\n\t\tio.WriteString(s, \":\")\n\t\tf.Format(s, 'd')\n\t}\n}\n\n// StackTrace is stack of Frames from innermost (newest) to outermost (oldest).\ntype StackTrace []Frame\n\nfunc (st StackTrace) Format(s fmt.State, verb rune) {\n\tswitch verb {\n\tcase 'v':\n\t\tswitch {\n\t\tcase s.Flag('+'):\n\t\t\tfor _, f := range st {\n\t\t\t\tfmt.Fprintf(s, \"\\n%+v\", f)\n\t\t\t}\n\t\tcase s.Flag('#'):\n\t\t\tfmt.Fprintf(s, \"%#v\", []Frame(st))\n\t\tdefault:\n\t\t\tfmt.Fprintf(s, \"%v\", []Frame(st))\n\t\t}\n\tcase 's':\n\t\tfmt.Fprintf(s, \"%s\", []Frame(st))\n\t}\n}\n\n// stack represents a stack of program counters.\ntype stack []uintptr\n\nfunc (s *stack) Format(st fmt.State, verb rune) {\n\tswitch verb {\n\tcase 'v':\n\t\tswitch {\n\t\tcase st.Flag('+'):\n\t\t\tfor _, pc := range *s {\n\t\t\t\tf := Frame(pc)\n\t\t\t\tfmt.Fprintf(st, \"\\n%+v\", f)\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (s *stack) StackTrace() StackTrace {\n\tf := make([]Frame, len(*s))\n\tfor i := 0; i < len(f); i++ {\n\t\tf[i] = Frame((*s)[i])\n\t}\n\treturn f\n}\n\nfunc callers() *stack {\n\tconst depth = 32\n\tvar pcs [depth]uintptr\n\tn := runtime.Callers(3, pcs[:])\n\tvar st stack = pcs[0:n]\n\treturn &st\n}\n\n// funcname removes the path prefix component of a function's name reported by func.Name().\nfunc funcname(name string) string {\n\ti := strings.LastIndex(name, \"/\")\n\tname = name[i+1:]\n\ti = strings.Index(name, \".\")\n\treturn name[i+1:]\n}\n\nfunc trimGOPATH(name, file string) string {\n\t// Here we want to get the source file path relative to the compile time\n\t// GOPATH. As of Go 1.6.x there is no direct way to know the compiled\n\t// GOPATH at runtime, but we can infer the number of path segments in the\n\t// GOPATH. We note that fn.Name() returns the function name qualified by\n\t// the import path, which does not include the GOPATH. Thus we can trim\n\t// segments from the beginning of the file path until the number of path\n\t// separators remaining is one more than the number of path separators in\n\t// the function name. For example, given:\n\t//\n\t//    GOPATH     /home/user\n\t//    file       /home/user/src/pkg/sub/file.go\n\t//    fn.Name()  pkg/sub.Type.Method\n\t//\n\t// We want to produce:\n\t//\n\t//    pkg/sub/file.go\n\t//\n\t// From this we can easily see that fn.Name() has one less path separator\n\t// than our desired output. We count separators from the end of the file\n\t// path until it finds two more than in the function name and then move\n\t// one character forward to preserve the initial path segment without a\n\t// leading separator.\n\tconst sep = \"/\"\n\tgoal := strings.Count(name, sep) + 2\n\ti := len(file)\n\tfor n := 0; n < goal; n++ {\n\t\ti = strings.LastIndex(file[:i], sep)\n\t\tif i == -1 {\n\t\t\t// not enough separators found, set i so that the slice expression\n\t\t\t// below leaves file unmodified\n\t\t\ti = -len(sep)\n\t\t\tbreak\n\t\t}\n\t}\n\t// get back to 0 or trim the leading separator\n\tfile = file[i+len(sep):]\n\treturn file\n}\n"
  },
  {
    "path": "vendor/github.com/pmezard/go-difflib/LICENSE",
    "content": "Copyright (c) 2013, Patrick Mezard\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n    Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n    Redistributions in binary form must reproduce the above copyright\nnotice, this list of conditions and the following disclaimer in the\ndocumentation and/or other materials provided with the distribution.\n    The names of its contributors may not be used to endorse or promote\nproducts derived from this software without specific prior written\npermission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\nIS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED\nTO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A\nPARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nHOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED\nTO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\nPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\nLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\nNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
  },
  {
    "path": "vendor/github.com/pmezard/go-difflib/difflib/difflib.go",
    "content": "// Package difflib is a partial port of Python difflib module.\n//\n// It provides tools to compare sequences of strings and generate textual diffs.\n//\n// The following class and functions have been ported:\n//\n// - SequenceMatcher\n//\n// - unified_diff\n//\n// - context_diff\n//\n// Getting unified diffs was the main goal of the port. Keep in mind this code\n// is mostly suitable to output text differences in a human friendly way, there\n// are no guarantees generated diffs are consumable by patch(1).\npackage difflib\n\nimport (\n\t\"bufio\"\n\t\"bytes\"\n\t\"fmt\"\n\t\"io\"\n\t\"strings\"\n)\n\nfunc min(a, b int) int {\n\tif a < b {\n\t\treturn a\n\t}\n\treturn b\n}\n\nfunc max(a, b int) int {\n\tif a > b {\n\t\treturn a\n\t}\n\treturn b\n}\n\nfunc calculateRatio(matches, length int) float64 {\n\tif length > 0 {\n\t\treturn 2.0 * float64(matches) / float64(length)\n\t}\n\treturn 1.0\n}\n\ntype Match struct {\n\tA    int\n\tB    int\n\tSize int\n}\n\ntype OpCode struct {\n\tTag byte\n\tI1  int\n\tI2  int\n\tJ1  int\n\tJ2  int\n}\n\n// SequenceMatcher compares sequence of strings. The basic\n// algorithm predates, and is a little fancier than, an algorithm\n// published in the late 1980's by Ratcliff and Obershelp under the\n// hyperbolic name \"gestalt pattern matching\".  The basic idea is to find\n// the longest contiguous matching subsequence that contains no \"junk\"\n// elements (R-O doesn't address junk).  The same idea is then applied\n// recursively to the pieces of the sequences to the left and to the right\n// of the matching subsequence.  This does not yield minimal edit\n// sequences, but does tend to yield matches that \"look right\" to people.\n//\n// SequenceMatcher tries to compute a \"human-friendly diff\" between two\n// sequences.  Unlike e.g. UNIX(tm) diff, the fundamental notion is the\n// longest *contiguous* & junk-free matching subsequence.  That's what\n// catches peoples' eyes.  The Windows(tm) windiff has another interesting\n// notion, pairing up elements that appear uniquely in each sequence.\n// That, and the method here, appear to yield more intuitive difference\n// reports than does diff.  This method appears to be the least vulnerable\n// to synching up on blocks of \"junk lines\", though (like blank lines in\n// ordinary text files, or maybe \"<P>\" lines in HTML files).  That may be\n// because this is the only method of the 3 that has a *concept* of\n// \"junk\" <wink>.\n//\n// Timing:  Basic R-O is cubic time worst case and quadratic time expected\n// case.  SequenceMatcher is quadratic time for the worst case and has\n// expected-case behavior dependent in a complicated way on how many\n// elements the sequences have in common; best case time is linear.\ntype SequenceMatcher struct {\n\ta              []string\n\tb              []string\n\tb2j            map[string][]int\n\tIsJunk         func(string) bool\n\tautoJunk       bool\n\tbJunk          map[string]struct{}\n\tmatchingBlocks []Match\n\tfullBCount     map[string]int\n\tbPopular       map[string]struct{}\n\topCodes        []OpCode\n}\n\nfunc NewMatcher(a, b []string) *SequenceMatcher {\n\tm := SequenceMatcher{autoJunk: true}\n\tm.SetSeqs(a, b)\n\treturn &m\n}\n\nfunc NewMatcherWithJunk(a, b []string, autoJunk bool,\n\tisJunk func(string) bool) *SequenceMatcher {\n\n\tm := SequenceMatcher{IsJunk: isJunk, autoJunk: autoJunk}\n\tm.SetSeqs(a, b)\n\treturn &m\n}\n\n// Set two sequences to be compared.\nfunc (m *SequenceMatcher) SetSeqs(a, b []string) {\n\tm.SetSeq1(a)\n\tm.SetSeq2(b)\n}\n\n// Set the first sequence to be compared. The second sequence to be compared is\n// not changed.\n//\n// SequenceMatcher computes and caches detailed information about the second\n// sequence, so if you want to compare one sequence S against many sequences,\n// use .SetSeq2(s) once and call .SetSeq1(x) repeatedly for each of the other\n// sequences.\n//\n// See also SetSeqs() and SetSeq2().\nfunc (m *SequenceMatcher) SetSeq1(a []string) {\n\tif &a == &m.a {\n\t\treturn\n\t}\n\tm.a = a\n\tm.matchingBlocks = nil\n\tm.opCodes = nil\n}\n\n// Set the second sequence to be compared. The first sequence to be compared is\n// not changed.\nfunc (m *SequenceMatcher) SetSeq2(b []string) {\n\tif &b == &m.b {\n\t\treturn\n\t}\n\tm.b = b\n\tm.matchingBlocks = nil\n\tm.opCodes = nil\n\tm.fullBCount = nil\n\tm.chainB()\n}\n\nfunc (m *SequenceMatcher) chainB() {\n\t// Populate line -> index mapping\n\tb2j := map[string][]int{}\n\tfor i, s := range m.b {\n\t\tindices := b2j[s]\n\t\tindices = append(indices, i)\n\t\tb2j[s] = indices\n\t}\n\n\t// Purge junk elements\n\tm.bJunk = map[string]struct{}{}\n\tif m.IsJunk != nil {\n\t\tjunk := m.bJunk\n\t\tfor s, _ := range b2j {\n\t\t\tif m.IsJunk(s) {\n\t\t\t\tjunk[s] = struct{}{}\n\t\t\t}\n\t\t}\n\t\tfor s, _ := range junk {\n\t\t\tdelete(b2j, s)\n\t\t}\n\t}\n\n\t// Purge remaining popular elements\n\tpopular := map[string]struct{}{}\n\tn := len(m.b)\n\tif m.autoJunk && n >= 200 {\n\t\tntest := n/100 + 1\n\t\tfor s, indices := range b2j {\n\t\t\tif len(indices) > ntest {\n\t\t\t\tpopular[s] = struct{}{}\n\t\t\t}\n\t\t}\n\t\tfor s, _ := range popular {\n\t\t\tdelete(b2j, s)\n\t\t}\n\t}\n\tm.bPopular = popular\n\tm.b2j = b2j\n}\n\nfunc (m *SequenceMatcher) isBJunk(s string) bool {\n\t_, ok := m.bJunk[s]\n\treturn ok\n}\n\n// Find longest matching block in a[alo:ahi] and b[blo:bhi].\n//\n// If IsJunk is not defined:\n//\n// Return (i,j,k) such that a[i:i+k] is equal to b[j:j+k], where\n//     alo <= i <= i+k <= ahi\n//     blo <= j <= j+k <= bhi\n// and for all (i',j',k') meeting those conditions,\n//     k >= k'\n//     i <= i'\n//     and if i == i', j <= j'\n//\n// In other words, of all maximal matching blocks, return one that\n// starts earliest in a, and of all those maximal matching blocks that\n// start earliest in a, return the one that starts earliest in b.\n//\n// If IsJunk is defined, first the longest matching block is\n// determined as above, but with the additional restriction that no\n// junk element appears in the block.  Then that block is extended as\n// far as possible by matching (only) junk elements on both sides.  So\n// the resulting block never matches on junk except as identical junk\n// happens to be adjacent to an \"interesting\" match.\n//\n// If no blocks match, return (alo, blo, 0).\nfunc (m *SequenceMatcher) findLongestMatch(alo, ahi, blo, bhi int) Match {\n\t// CAUTION:  stripping common prefix or suffix would be incorrect.\n\t// E.g.,\n\t//    ab\n\t//    acab\n\t// Longest matching block is \"ab\", but if common prefix is\n\t// stripped, it's \"a\" (tied with \"b\").  UNIX(tm) diff does so\n\t// strip, so ends up claiming that ab is changed to acab by\n\t// inserting \"ca\" in the middle.  That's minimal but unintuitive:\n\t// \"it's obvious\" that someone inserted \"ac\" at the front.\n\t// Windiff ends up at the same place as diff, but by pairing up\n\t// the unique 'b's and then matching the first two 'a's.\n\tbesti, bestj, bestsize := alo, blo, 0\n\n\t// find longest junk-free match\n\t// during an iteration of the loop, j2len[j] = length of longest\n\t// junk-free match ending with a[i-1] and b[j]\n\tj2len := map[int]int{}\n\tfor i := alo; i != ahi; i++ {\n\t\t// look at all instances of a[i] in b; note that because\n\t\t// b2j has no junk keys, the loop is skipped if a[i] is junk\n\t\tnewj2len := map[int]int{}\n\t\tfor _, j := range m.b2j[m.a[i]] {\n\t\t\t// a[i] matches b[j]\n\t\t\tif j < blo {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif j >= bhi {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tk := j2len[j-1] + 1\n\t\t\tnewj2len[j] = k\n\t\t\tif k > bestsize {\n\t\t\t\tbesti, bestj, bestsize = i-k+1, j-k+1, k\n\t\t\t}\n\t\t}\n\t\tj2len = newj2len\n\t}\n\n\t// Extend the best by non-junk elements on each end.  In particular,\n\t// \"popular\" non-junk elements aren't in b2j, which greatly speeds\n\t// the inner loop above, but also means \"the best\" match so far\n\t// doesn't contain any junk *or* popular non-junk elements.\n\tfor besti > alo && bestj > blo && !m.isBJunk(m.b[bestj-1]) &&\n\t\tm.a[besti-1] == m.b[bestj-1] {\n\t\tbesti, bestj, bestsize = besti-1, bestj-1, bestsize+1\n\t}\n\tfor besti+bestsize < ahi && bestj+bestsize < bhi &&\n\t\t!m.isBJunk(m.b[bestj+bestsize]) &&\n\t\tm.a[besti+bestsize] == m.b[bestj+bestsize] {\n\t\tbestsize += 1\n\t}\n\n\t// Now that we have a wholly interesting match (albeit possibly\n\t// empty!), we may as well suck up the matching junk on each\n\t// side of it too.  Can't think of a good reason not to, and it\n\t// saves post-processing the (possibly considerable) expense of\n\t// figuring out what to do with it.  In the case of an empty\n\t// interesting match, this is clearly the right thing to do,\n\t// because no other kind of match is possible in the regions.\n\tfor besti > alo && bestj > blo && m.isBJunk(m.b[bestj-1]) &&\n\t\tm.a[besti-1] == m.b[bestj-1] {\n\t\tbesti, bestj, bestsize = besti-1, bestj-1, bestsize+1\n\t}\n\tfor besti+bestsize < ahi && bestj+bestsize < bhi &&\n\t\tm.isBJunk(m.b[bestj+bestsize]) &&\n\t\tm.a[besti+bestsize] == m.b[bestj+bestsize] {\n\t\tbestsize += 1\n\t}\n\n\treturn Match{A: besti, B: bestj, Size: bestsize}\n}\n\n// Return list of triples describing matching subsequences.\n//\n// Each triple is of the form (i, j, n), and means that\n// a[i:i+n] == b[j:j+n].  The triples are monotonically increasing in\n// i and in j. It's also guaranteed that if (i, j, n) and (i', j', n') are\n// adjacent triples in the list, and the second is not the last triple in the\n// list, then i+n != i' or j+n != j'. IOW, adjacent triples never describe\n// adjacent equal blocks.\n//\n// The last triple is a dummy, (len(a), len(b), 0), and is the only\n// triple with n==0.\nfunc (m *SequenceMatcher) GetMatchingBlocks() []Match {\n\tif m.matchingBlocks != nil {\n\t\treturn m.matchingBlocks\n\t}\n\n\tvar matchBlocks func(alo, ahi, blo, bhi int, matched []Match) []Match\n\tmatchBlocks = func(alo, ahi, blo, bhi int, matched []Match) []Match {\n\t\tmatch := m.findLongestMatch(alo, ahi, blo, bhi)\n\t\ti, j, k := match.A, match.B, match.Size\n\t\tif match.Size > 0 {\n\t\t\tif alo < i && blo < j {\n\t\t\t\tmatched = matchBlocks(alo, i, blo, j, matched)\n\t\t\t}\n\t\t\tmatched = append(matched, match)\n\t\t\tif i+k < ahi && j+k < bhi {\n\t\t\t\tmatched = matchBlocks(i+k, ahi, j+k, bhi, matched)\n\t\t\t}\n\t\t}\n\t\treturn matched\n\t}\n\tmatched := matchBlocks(0, len(m.a), 0, len(m.b), nil)\n\n\t// It's possible that we have adjacent equal blocks in the\n\t// matching_blocks list now.\n\tnonAdjacent := []Match{}\n\ti1, j1, k1 := 0, 0, 0\n\tfor _, b := range matched {\n\t\t// Is this block adjacent to i1, j1, k1?\n\t\ti2, j2, k2 := b.A, b.B, b.Size\n\t\tif i1+k1 == i2 && j1+k1 == j2 {\n\t\t\t// Yes, so collapse them -- this just increases the length of\n\t\t\t// the first block by the length of the second, and the first\n\t\t\t// block so lengthened remains the block to compare against.\n\t\t\tk1 += k2\n\t\t} else {\n\t\t\t// Not adjacent.  Remember the first block (k1==0 means it's\n\t\t\t// the dummy we started with), and make the second block the\n\t\t\t// new block to compare against.\n\t\t\tif k1 > 0 {\n\t\t\t\tnonAdjacent = append(nonAdjacent, Match{i1, j1, k1})\n\t\t\t}\n\t\t\ti1, j1, k1 = i2, j2, k2\n\t\t}\n\t}\n\tif k1 > 0 {\n\t\tnonAdjacent = append(nonAdjacent, Match{i1, j1, k1})\n\t}\n\n\tnonAdjacent = append(nonAdjacent, Match{len(m.a), len(m.b), 0})\n\tm.matchingBlocks = nonAdjacent\n\treturn m.matchingBlocks\n}\n\n// Return list of 5-tuples describing how to turn a into b.\n//\n// Each tuple is of the form (tag, i1, i2, j1, j2).  The first tuple\n// has i1 == j1 == 0, and remaining tuples have i1 == the i2 from the\n// tuple preceding it, and likewise for j1 == the previous j2.\n//\n// The tags are characters, with these meanings:\n//\n// 'r' (replace):  a[i1:i2] should be replaced by b[j1:j2]\n//\n// 'd' (delete):   a[i1:i2] should be deleted, j1==j2 in this case.\n//\n// 'i' (insert):   b[j1:j2] should be inserted at a[i1:i1], i1==i2 in this case.\n//\n// 'e' (equal):    a[i1:i2] == b[j1:j2]\nfunc (m *SequenceMatcher) GetOpCodes() []OpCode {\n\tif m.opCodes != nil {\n\t\treturn m.opCodes\n\t}\n\ti, j := 0, 0\n\tmatching := m.GetMatchingBlocks()\n\topCodes := make([]OpCode, 0, len(matching))\n\tfor _, m := range matching {\n\t\t//  invariant:  we've pumped out correct diffs to change\n\t\t//  a[:i] into b[:j], and the next matching block is\n\t\t//  a[ai:ai+size] == b[bj:bj+size]. So we need to pump\n\t\t//  out a diff to change a[i:ai] into b[j:bj], pump out\n\t\t//  the matching block, and move (i,j) beyond the match\n\t\tai, bj, size := m.A, m.B, m.Size\n\t\ttag := byte(0)\n\t\tif i < ai && j < bj {\n\t\t\ttag = 'r'\n\t\t} else if i < ai {\n\t\t\ttag = 'd'\n\t\t} else if j < bj {\n\t\t\ttag = 'i'\n\t\t}\n\t\tif tag > 0 {\n\t\t\topCodes = append(opCodes, OpCode{tag, i, ai, j, bj})\n\t\t}\n\t\ti, j = ai+size, bj+size\n\t\t// the list of matching blocks is terminated by a\n\t\t// sentinel with size 0\n\t\tif size > 0 {\n\t\t\topCodes = append(opCodes, OpCode{'e', ai, i, bj, j})\n\t\t}\n\t}\n\tm.opCodes = opCodes\n\treturn m.opCodes\n}\n\n// Isolate change clusters by eliminating ranges with no changes.\n//\n// Return a generator of groups with up to n lines of context.\n// Each group is in the same format as returned by GetOpCodes().\nfunc (m *SequenceMatcher) GetGroupedOpCodes(n int) [][]OpCode {\n\tif n < 0 {\n\t\tn = 3\n\t}\n\tcodes := m.GetOpCodes()\n\tif len(codes) == 0 {\n\t\tcodes = []OpCode{OpCode{'e', 0, 1, 0, 1}}\n\t}\n\t// Fixup leading and trailing groups if they show no changes.\n\tif codes[0].Tag == 'e' {\n\t\tc := codes[0]\n\t\ti1, i2, j1, j2 := c.I1, c.I2, c.J1, c.J2\n\t\tcodes[0] = OpCode{c.Tag, max(i1, i2-n), i2, max(j1, j2-n), j2}\n\t}\n\tif codes[len(codes)-1].Tag == 'e' {\n\t\tc := codes[len(codes)-1]\n\t\ti1, i2, j1, j2 := c.I1, c.I2, c.J1, c.J2\n\t\tcodes[len(codes)-1] = OpCode{c.Tag, i1, min(i2, i1+n), j1, min(j2, j1+n)}\n\t}\n\tnn := n + n\n\tgroups := [][]OpCode{}\n\tgroup := []OpCode{}\n\tfor _, c := range codes {\n\t\ti1, i2, j1, j2 := c.I1, c.I2, c.J1, c.J2\n\t\t// End the current group and start a new one whenever\n\t\t// there is a large range with no changes.\n\t\tif c.Tag == 'e' && i2-i1 > nn {\n\t\t\tgroup = append(group, OpCode{c.Tag, i1, min(i2, i1+n),\n\t\t\t\tj1, min(j2, j1+n)})\n\t\t\tgroups = append(groups, group)\n\t\t\tgroup = []OpCode{}\n\t\t\ti1, j1 = max(i1, i2-n), max(j1, j2-n)\n\t\t}\n\t\tgroup = append(group, OpCode{c.Tag, i1, i2, j1, j2})\n\t}\n\tif len(group) > 0 && !(len(group) == 1 && group[0].Tag == 'e') {\n\t\tgroups = append(groups, group)\n\t}\n\treturn groups\n}\n\n// Return a measure of the sequences' similarity (float in [0,1]).\n//\n// Where T is the total number of elements in both sequences, and\n// M is the number of matches, this is 2.0*M / T.\n// Note that this is 1 if the sequences are identical, and 0 if\n// they have nothing in common.\n//\n// .Ratio() is expensive to compute if you haven't already computed\n// .GetMatchingBlocks() or .GetOpCodes(), in which case you may\n// want to try .QuickRatio() or .RealQuickRation() first to get an\n// upper bound.\nfunc (m *SequenceMatcher) Ratio() float64 {\n\tmatches := 0\n\tfor _, m := range m.GetMatchingBlocks() {\n\t\tmatches += m.Size\n\t}\n\treturn calculateRatio(matches, len(m.a)+len(m.b))\n}\n\n// Return an upper bound on ratio() relatively quickly.\n//\n// This isn't defined beyond that it is an upper bound on .Ratio(), and\n// is faster to compute.\nfunc (m *SequenceMatcher) QuickRatio() float64 {\n\t// viewing a and b as multisets, set matches to the cardinality\n\t// of their intersection; this counts the number of matches\n\t// without regard to order, so is clearly an upper bound\n\tif m.fullBCount == nil {\n\t\tm.fullBCount = map[string]int{}\n\t\tfor _, s := range m.b {\n\t\t\tm.fullBCount[s] = m.fullBCount[s] + 1\n\t\t}\n\t}\n\n\t// avail[x] is the number of times x appears in 'b' less the\n\t// number of times we've seen it in 'a' so far ... kinda\n\tavail := map[string]int{}\n\tmatches := 0\n\tfor _, s := range m.a {\n\t\tn, ok := avail[s]\n\t\tif !ok {\n\t\t\tn = m.fullBCount[s]\n\t\t}\n\t\tavail[s] = n - 1\n\t\tif n > 0 {\n\t\t\tmatches += 1\n\t\t}\n\t}\n\treturn calculateRatio(matches, len(m.a)+len(m.b))\n}\n\n// Return an upper bound on ratio() very quickly.\n//\n// This isn't defined beyond that it is an upper bound on .Ratio(), and\n// is faster to compute than either .Ratio() or .QuickRatio().\nfunc (m *SequenceMatcher) RealQuickRatio() float64 {\n\tla, lb := len(m.a), len(m.b)\n\treturn calculateRatio(min(la, lb), la+lb)\n}\n\n// Convert range to the \"ed\" format\nfunc formatRangeUnified(start, stop int) string {\n\t// Per the diff spec at http://www.unix.org/single_unix_specification/\n\tbeginning := start + 1 // lines start numbering with one\n\tlength := stop - start\n\tif length == 1 {\n\t\treturn fmt.Sprintf(\"%d\", beginning)\n\t}\n\tif length == 0 {\n\t\tbeginning -= 1 // empty ranges begin at line just before the range\n\t}\n\treturn fmt.Sprintf(\"%d,%d\", beginning, length)\n}\n\n// Unified diff parameters\ntype UnifiedDiff struct {\n\tA        []string // First sequence lines\n\tFromFile string   // First file name\n\tFromDate string   // First file time\n\tB        []string // Second sequence lines\n\tToFile   string   // Second file name\n\tToDate   string   // Second file time\n\tEol      string   // Headers end of line, defaults to LF\n\tContext  int      // Number of context lines\n}\n\n// Compare two sequences of lines; generate the delta as a unified diff.\n//\n// Unified diffs are a compact way of showing line changes and a few\n// lines of context.  The number of context lines is set by 'n' which\n// defaults to three.\n//\n// By default, the diff control lines (those with ---, +++, or @@) are\n// created with a trailing newline.  This is helpful so that inputs\n// created from file.readlines() result in diffs that are suitable for\n// file.writelines() since both the inputs and outputs have trailing\n// newlines.\n//\n// For inputs that do not have trailing newlines, set the lineterm\n// argument to \"\" so that the output will be uniformly newline free.\n//\n// The unidiff format normally has a header for filenames and modification\n// times.  Any or all of these may be specified using strings for\n// 'fromfile', 'tofile', 'fromfiledate', and 'tofiledate'.\n// The modification times are normally expressed in the ISO 8601 format.\nfunc WriteUnifiedDiff(writer io.Writer, diff UnifiedDiff) error {\n\tbuf := bufio.NewWriter(writer)\n\tdefer buf.Flush()\n\twf := func(format string, args ...interface{}) error {\n\t\t_, err := buf.WriteString(fmt.Sprintf(format, args...))\n\t\treturn err\n\t}\n\tws := func(s string) error {\n\t\t_, err := buf.WriteString(s)\n\t\treturn err\n\t}\n\n\tif len(diff.Eol) == 0 {\n\t\tdiff.Eol = \"\\n\"\n\t}\n\n\tstarted := false\n\tm := NewMatcher(diff.A, diff.B)\n\tfor _, g := range m.GetGroupedOpCodes(diff.Context) {\n\t\tif !started {\n\t\t\tstarted = true\n\t\t\tfromDate := \"\"\n\t\t\tif len(diff.FromDate) > 0 {\n\t\t\t\tfromDate = \"\\t\" + diff.FromDate\n\t\t\t}\n\t\t\ttoDate := \"\"\n\t\t\tif len(diff.ToDate) > 0 {\n\t\t\t\ttoDate = \"\\t\" + diff.ToDate\n\t\t\t}\n\t\t\tif diff.FromFile != \"\" || diff.ToFile != \"\" {\n\t\t\t\terr := wf(\"--- %s%s%s\", diff.FromFile, fromDate, diff.Eol)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\terr = wf(\"+++ %s%s%s\", diff.ToFile, toDate, diff.Eol)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tfirst, last := g[0], g[len(g)-1]\n\t\trange1 := formatRangeUnified(first.I1, last.I2)\n\t\trange2 := formatRangeUnified(first.J1, last.J2)\n\t\tif err := wf(\"@@ -%s +%s @@%s\", range1, range2, diff.Eol); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfor _, c := range g {\n\t\t\ti1, i2, j1, j2 := c.I1, c.I2, c.J1, c.J2\n\t\t\tif c.Tag == 'e' {\n\t\t\t\tfor _, line := range diff.A[i1:i2] {\n\t\t\t\t\tif err := ws(\" \" + line); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif c.Tag == 'r' || c.Tag == 'd' {\n\t\t\t\tfor _, line := range diff.A[i1:i2] {\n\t\t\t\t\tif err := ws(\"-\" + line); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif c.Tag == 'r' || c.Tag == 'i' {\n\t\t\t\tfor _, line := range diff.B[j1:j2] {\n\t\t\t\t\tif err := ws(\"+\" + line); err != nil {\n\t\t\t\t\t\treturn err\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn nil\n}\n\n// Like WriteUnifiedDiff but returns the diff a string.\nfunc GetUnifiedDiffString(diff UnifiedDiff) (string, error) {\n\tw := &bytes.Buffer{}\n\terr := WriteUnifiedDiff(w, diff)\n\treturn string(w.Bytes()), err\n}\n\n// Convert range to the \"ed\" format.\nfunc formatRangeContext(start, stop int) string {\n\t// Per the diff spec at http://www.unix.org/single_unix_specification/\n\tbeginning := start + 1 // lines start numbering with one\n\tlength := stop - start\n\tif length == 0 {\n\t\tbeginning -= 1 // empty ranges begin at line just before the range\n\t}\n\tif length <= 1 {\n\t\treturn fmt.Sprintf(\"%d\", beginning)\n\t}\n\treturn fmt.Sprintf(\"%d,%d\", beginning, beginning+length-1)\n}\n\ntype ContextDiff UnifiedDiff\n\n// Compare two sequences of lines; generate the delta as a context diff.\n//\n// Context diffs are a compact way of showing line changes and a few\n// lines of context. The number of context lines is set by diff.Context\n// which defaults to three.\n//\n// By default, the diff control lines (those with *** or ---) are\n// created with a trailing newline.\n//\n// For inputs that do not have trailing newlines, set the diff.Eol\n// argument to \"\" so that the output will be uniformly newline free.\n//\n// The context diff format normally has a header for filenames and\n// modification times.  Any or all of these may be specified using\n// strings for diff.FromFile, diff.ToFile, diff.FromDate, diff.ToDate.\n// The modification times are normally expressed in the ISO 8601 format.\n// If not specified, the strings default to blanks.\nfunc WriteContextDiff(writer io.Writer, diff ContextDiff) error {\n\tbuf := bufio.NewWriter(writer)\n\tdefer buf.Flush()\n\tvar diffErr error\n\twf := func(format string, args ...interface{}) {\n\t\t_, err := buf.WriteString(fmt.Sprintf(format, args...))\n\t\tif diffErr == nil && err != nil {\n\t\t\tdiffErr = err\n\t\t}\n\t}\n\tws := func(s string) {\n\t\t_, err := buf.WriteString(s)\n\t\tif diffErr == nil && err != nil {\n\t\t\tdiffErr = err\n\t\t}\n\t}\n\n\tif len(diff.Eol) == 0 {\n\t\tdiff.Eol = \"\\n\"\n\t}\n\n\tprefix := map[byte]string{\n\t\t'i': \"+ \",\n\t\t'd': \"- \",\n\t\t'r': \"! \",\n\t\t'e': \"  \",\n\t}\n\n\tstarted := false\n\tm := NewMatcher(diff.A, diff.B)\n\tfor _, g := range m.GetGroupedOpCodes(diff.Context) {\n\t\tif !started {\n\t\t\tstarted = true\n\t\t\tfromDate := \"\"\n\t\t\tif len(diff.FromDate) > 0 {\n\t\t\t\tfromDate = \"\\t\" + diff.FromDate\n\t\t\t}\n\t\t\ttoDate := \"\"\n\t\t\tif len(diff.ToDate) > 0 {\n\t\t\t\ttoDate = \"\\t\" + diff.ToDate\n\t\t\t}\n\t\t\tif diff.FromFile != \"\" || diff.ToFile != \"\" {\n\t\t\t\twf(\"*** %s%s%s\", diff.FromFile, fromDate, diff.Eol)\n\t\t\t\twf(\"--- %s%s%s\", diff.ToFile, toDate, diff.Eol)\n\t\t\t}\n\t\t}\n\n\t\tfirst, last := g[0], g[len(g)-1]\n\t\tws(\"***************\" + diff.Eol)\n\n\t\trange1 := formatRangeContext(first.I1, last.I2)\n\t\twf(\"*** %s ****%s\", range1, diff.Eol)\n\t\tfor _, c := range g {\n\t\t\tif c.Tag == 'r' || c.Tag == 'd' {\n\t\t\t\tfor _, cc := range g {\n\t\t\t\t\tif cc.Tag == 'i' {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tfor _, line := range diff.A[cc.I1:cc.I2] {\n\t\t\t\t\t\tws(prefix[cc.Tag] + line)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\trange2 := formatRangeContext(first.J1, last.J2)\n\t\twf(\"--- %s ----%s\", range2, diff.Eol)\n\t\tfor _, c := range g {\n\t\t\tif c.Tag == 'r' || c.Tag == 'i' {\n\t\t\t\tfor _, cc := range g {\n\t\t\t\t\tif cc.Tag == 'd' {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tfor _, line := range diff.B[cc.J1:cc.J2] {\n\t\t\t\t\t\tws(prefix[cc.Tag] + line)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n\treturn diffErr\n}\n\n// Like WriteContextDiff but returns the diff a string.\nfunc GetContextDiffString(diff ContextDiff) (string, error) {\n\tw := &bytes.Buffer{}\n\terr := WriteContextDiff(w, diff)\n\treturn string(w.Bytes()), err\n}\n\n// Split a string on \"\\n\" while preserving them. The output can be used\n// as input for UnifiedDiff and ContextDiff structures.\nfunc SplitLines(s string) []string {\n\tlines := strings.SplitAfter(s, \"\\n\")\n\tlines[len(lines)-1] += \"\\n\"\n\treturn lines\n}\n"
  },
  {
    "path": "vendor/github.com/stretchr/testify/LICENSE",
    "content": "Copyright (c) 2012 - 2013 Mat Ryer and Tyler Bunnell\n\nPlease consider promoting this project if you find it useful.\n\nPermission is hereby granted, free of charge, to any person \nobtaining a copy of this software and associated documentation \nfiles (the \"Software\"), to deal in the Software without restriction, \nincluding without limitation the rights to use, copy, modify, merge, \npublish, distribute, sublicense, and/or sell copies of the Software, \nand to permit persons to whom the Software is furnished to do so, \nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included\nin all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, \nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES \nOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. \nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, \nDAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT \nOR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE \nOR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"
  },
  {
    "path": "vendor/github.com/stretchr/testify/assert/assertion_format.go",
    "content": "/*\n* CODE GENERATED AUTOMATICALLY WITH github.com/stretchr/testify/_codegen\n* THIS FILE MUST NOT BE EDITED BY HAND\n */\n\npackage assert\n\nimport (\n\thttp \"net/http\"\n\turl \"net/url\"\n\ttime \"time\"\n)\n\n// Conditionf uses a Comparison to assert a complex condition.\nfunc Conditionf(t TestingT, comp Comparison, msg string, args ...interface{}) bool {\n\treturn Condition(t, comp, append([]interface{}{msg}, args...)...)\n}\n\n// Containsf asserts that the specified string, list(array, slice...) or map contains the\n// specified substring or element.\n//\n//    assert.Containsf(t, \"Hello World\", \"World\", \"error message %s\", \"formatted\")\n//    assert.Containsf(t, [\"Hello\", \"World\"], \"World\", \"error message %s\", \"formatted\")\n//    assert.Containsf(t, {\"Hello\": \"World\"}, \"Hello\", \"error message %s\", \"formatted\")\nfunc Containsf(t TestingT, s interface{}, contains interface{}, msg string, args ...interface{}) bool {\n\treturn Contains(t, s, contains, append([]interface{}{msg}, args...)...)\n}\n\n// DirExistsf checks whether a directory exists in the given path. It also fails if the path is a file rather a directory or there is an error checking whether it exists.\nfunc DirExistsf(t TestingT, path string, msg string, args ...interface{}) bool {\n\treturn DirExists(t, path, append([]interface{}{msg}, args...)...)\n}\n\n// ElementsMatchf asserts that the specified listA(array, slice...) is equal to specified\n// listB(array, slice...) ignoring the order of the elements. If there are duplicate elements,\n// the number of appearances of each of them in both lists should match.\n//\n// assert.ElementsMatchf(t, [1, 3, 2, 3], [1, 3, 3, 2], \"error message %s\", \"formatted\")\nfunc ElementsMatchf(t TestingT, listA interface{}, listB interface{}, msg string, args ...interface{}) bool {\n\treturn ElementsMatch(t, listA, listB, append([]interface{}{msg}, args...)...)\n}\n\n// Emptyf asserts that the specified object is empty.  I.e. nil, \"\", false, 0 or either\n// a slice or a channel with len == 0.\n//\n//  assert.Emptyf(t, obj, \"error message %s\", \"formatted\")\nfunc Emptyf(t TestingT, object interface{}, msg string, args ...interface{}) bool {\n\treturn Empty(t, object, append([]interface{}{msg}, args...)...)\n}\n\n// Equalf asserts that two objects are equal.\n//\n//    assert.Equalf(t, 123, 123, \"error message %s\", \"formatted\")\n//\n// Pointer variable equality is determined based on the equality of the\n// referenced values (as opposed to the memory addresses). Function equality\n// cannot be determined and will always fail.\nfunc Equalf(t TestingT, expected interface{}, actual interface{}, msg string, args ...interface{}) bool {\n\treturn Equal(t, expected, actual, append([]interface{}{msg}, args...)...)\n}\n\n// EqualErrorf asserts that a function returned an error (i.e. not `nil`)\n// and that it is equal to the provided error.\n//\n//   actualObj, err := SomeFunction()\n//   assert.EqualErrorf(t, err,  expectedErrorString, \"error message %s\", \"formatted\")\nfunc EqualErrorf(t TestingT, theError error, errString string, msg string, args ...interface{}) bool {\n\treturn EqualError(t, theError, errString, append([]interface{}{msg}, args...)...)\n}\n\n// EqualValuesf asserts that two objects are equal or convertable to the same types\n// and equal.\n//\n//    assert.EqualValuesf(t, uint32(123, \"error message %s\", \"formatted\"), int32(123))\nfunc EqualValuesf(t TestingT, expected interface{}, actual interface{}, msg string, args ...interface{}) bool {\n\treturn EqualValues(t, expected, actual, append([]interface{}{msg}, args...)...)\n}\n\n// Errorf asserts that a function returned an error (i.e. not `nil`).\n//\n//   actualObj, err := SomeFunction()\n//   if assert.Errorf(t, err, \"error message %s\", \"formatted\") {\n// \t   assert.Equal(t, expectedErrorf, err)\n//   }\nfunc Errorf(t TestingT, err error, msg string, args ...interface{}) bool {\n\treturn Error(t, err, append([]interface{}{msg}, args...)...)\n}\n\n// Exactlyf asserts that two objects are equal in value and type.\n//\n//    assert.Exactlyf(t, int32(123, \"error message %s\", \"formatted\"), int64(123))\nfunc Exactlyf(t TestingT, expected interface{}, actual interface{}, msg string, args ...interface{}) bool {\n\treturn Exactly(t, expected, actual, append([]interface{}{msg}, args...)...)\n}\n\n// Failf reports a failure through\nfunc Failf(t TestingT, failureMessage string, msg string, args ...interface{}) bool {\n\treturn Fail(t, failureMessage, append([]interface{}{msg}, args...)...)\n}\n\n// FailNowf fails test\nfunc FailNowf(t TestingT, failureMessage string, msg string, args ...interface{}) bool {\n\treturn FailNow(t, failureMessage, append([]interface{}{msg}, args...)...)\n}\n\n// Falsef asserts that the specified value is false.\n//\n//    assert.Falsef(t, myBool, \"error message %s\", \"formatted\")\nfunc Falsef(t TestingT, value bool, msg string, args ...interface{}) bool {\n\treturn False(t, value, append([]interface{}{msg}, args...)...)\n}\n\n// FileExistsf checks whether a file exists in the given path. It also fails if the path points to a directory or there is an error when trying to check the file.\nfunc FileExistsf(t TestingT, path string, msg string, args ...interface{}) bool {\n\treturn FileExists(t, path, append([]interface{}{msg}, args...)...)\n}\n\n// HTTPBodyContainsf asserts that a specified handler returns a\n// body that contains a string.\n//\n//  assert.HTTPBodyContainsf(t, myHandler, \"www.google.com\", nil, \"I'm Feeling Lucky\", \"error message %s\", \"formatted\")\n//\n// Returns whether the assertion was successful (true) or not (false).\nfunc HTTPBodyContainsf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msg string, args ...interface{}) bool {\n\treturn HTTPBodyContains(t, handler, method, url, values, str, append([]interface{}{msg}, args...)...)\n}\n\n// HTTPBodyNotContainsf asserts that a specified handler returns a\n// body that does not contain a string.\n//\n//  assert.HTTPBodyNotContainsf(t, myHandler, \"www.google.com\", nil, \"I'm Feeling Lucky\", \"error message %s\", \"formatted\")\n//\n// Returns whether the assertion was successful (true) or not (false).\nfunc HTTPBodyNotContainsf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msg string, args ...interface{}) bool {\n\treturn HTTPBodyNotContains(t, handler, method, url, values, str, append([]interface{}{msg}, args...)...)\n}\n\n// HTTPErrorf asserts that a specified handler returns an error status code.\n//\n//  assert.HTTPErrorf(t, myHandler, \"POST\", \"/a/b/c\", url.Values{\"a\": []string{\"b\", \"c\"}}\n//\n// Returns whether the assertion was successful (true, \"error message %s\", \"formatted\") or not (false).\nfunc HTTPErrorf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) bool {\n\treturn HTTPError(t, handler, method, url, values, append([]interface{}{msg}, args...)...)\n}\n\n// HTTPRedirectf asserts that a specified handler returns a redirect status code.\n//\n//  assert.HTTPRedirectf(t, myHandler, \"GET\", \"/a/b/c\", url.Values{\"a\": []string{\"b\", \"c\"}}\n//\n// Returns whether the assertion was successful (true, \"error message %s\", \"formatted\") or not (false).\nfunc HTTPRedirectf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) bool {\n\treturn HTTPRedirect(t, handler, method, url, values, append([]interface{}{msg}, args...)...)\n}\n\n// HTTPSuccessf asserts that a specified handler returns a success status code.\n//\n//  assert.HTTPSuccessf(t, myHandler, \"POST\", \"http://www.google.com\", nil, \"error message %s\", \"formatted\")\n//\n// Returns whether the assertion was successful (true) or not (false).\nfunc HTTPSuccessf(t TestingT, handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) bool {\n\treturn HTTPSuccess(t, handler, method, url, values, append([]interface{}{msg}, args...)...)\n}\n\n// Implementsf asserts that an object is implemented by the specified interface.\n//\n//    assert.Implementsf(t, (*MyInterface, \"error message %s\", \"formatted\")(nil), new(MyObject))\nfunc Implementsf(t TestingT, interfaceObject interface{}, object interface{}, msg string, args ...interface{}) bool {\n\treturn Implements(t, interfaceObject, object, append([]interface{}{msg}, args...)...)\n}\n\n// InDeltaf asserts that the two numerals are within delta of each other.\n//\n// \t assert.InDeltaf(t, math.Pi, (22 / 7.0, \"error message %s\", \"formatted\"), 0.01)\nfunc InDeltaf(t TestingT, expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) bool {\n\treturn InDelta(t, expected, actual, delta, append([]interface{}{msg}, args...)...)\n}\n\n// InDeltaMapValuesf is the same as InDelta, but it compares all values between two maps. Both maps must have exactly the same keys.\nfunc InDeltaMapValuesf(t TestingT, expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) bool {\n\treturn InDeltaMapValues(t, expected, actual, delta, append([]interface{}{msg}, args...)...)\n}\n\n// InDeltaSlicef is the same as InDelta, except it compares two slices.\nfunc InDeltaSlicef(t TestingT, expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) bool {\n\treturn InDeltaSlice(t, expected, actual, delta, append([]interface{}{msg}, args...)...)\n}\n\n// InEpsilonf asserts that expected and actual have a relative error less than epsilon\nfunc InEpsilonf(t TestingT, expected interface{}, actual interface{}, epsilon float64, msg string, args ...interface{}) bool {\n\treturn InEpsilon(t, expected, actual, epsilon, append([]interface{}{msg}, args...)...)\n}\n\n// InEpsilonSlicef is the same as InEpsilon, except it compares each value from two slices.\nfunc InEpsilonSlicef(t TestingT, expected interface{}, actual interface{}, epsilon float64, msg string, args ...interface{}) bool {\n\treturn InEpsilonSlice(t, expected, actual, epsilon, append([]interface{}{msg}, args...)...)\n}\n\n// IsTypef asserts that the specified objects are of the same type.\nfunc IsTypef(t TestingT, expectedType interface{}, object interface{}, msg string, args ...interface{}) bool {\n\treturn IsType(t, expectedType, object, append([]interface{}{msg}, args...)...)\n}\n\n// JSONEqf asserts that two JSON strings are equivalent.\n//\n//  assert.JSONEqf(t, `{\"hello\": \"world\", \"foo\": \"bar\"}`, `{\"foo\": \"bar\", \"hello\": \"world\"}`, \"error message %s\", \"formatted\")\nfunc JSONEqf(t TestingT, expected string, actual string, msg string, args ...interface{}) bool {\n\treturn JSONEq(t, expected, actual, append([]interface{}{msg}, args...)...)\n}\n\n// Lenf asserts that the specified object has specific length.\n// Lenf also fails if the object has a type that len() not accept.\n//\n//    assert.Lenf(t, mySlice, 3, \"error message %s\", \"formatted\")\nfunc Lenf(t TestingT, object interface{}, length int, msg string, args ...interface{}) bool {\n\treturn Len(t, object, length, append([]interface{}{msg}, args...)...)\n}\n\n// Nilf asserts that the specified object is nil.\n//\n//    assert.Nilf(t, err, \"error message %s\", \"formatted\")\nfunc Nilf(t TestingT, object interface{}, msg string, args ...interface{}) bool {\n\treturn Nil(t, object, append([]interface{}{msg}, args...)...)\n}\n\n// NoErrorf asserts that a function returned no error (i.e. `nil`).\n//\n//   actualObj, err := SomeFunction()\n//   if assert.NoErrorf(t, err, \"error message %s\", \"formatted\") {\n// \t   assert.Equal(t, expectedObj, actualObj)\n//   }\nfunc NoErrorf(t TestingT, err error, msg string, args ...interface{}) bool {\n\treturn NoError(t, err, append([]interface{}{msg}, args...)...)\n}\n\n// NotContainsf asserts that the specified string, list(array, slice...) or map does NOT contain the\n// specified substring or element.\n//\n//    assert.NotContainsf(t, \"Hello World\", \"Earth\", \"error message %s\", \"formatted\")\n//    assert.NotContainsf(t, [\"Hello\", \"World\"], \"Earth\", \"error message %s\", \"formatted\")\n//    assert.NotContainsf(t, {\"Hello\": \"World\"}, \"Earth\", \"error message %s\", \"formatted\")\nfunc NotContainsf(t TestingT, s interface{}, contains interface{}, msg string, args ...interface{}) bool {\n\treturn NotContains(t, s, contains, append([]interface{}{msg}, args...)...)\n}\n\n// NotEmptyf asserts that the specified object is NOT empty.  I.e. not nil, \"\", false, 0 or either\n// a slice or a channel with len == 0.\n//\n//  if assert.NotEmptyf(t, obj, \"error message %s\", \"formatted\") {\n//    assert.Equal(t, \"two\", obj[1])\n//  }\nfunc NotEmptyf(t TestingT, object interface{}, msg string, args ...interface{}) bool {\n\treturn NotEmpty(t, object, append([]interface{}{msg}, args...)...)\n}\n\n// NotEqualf asserts that the specified values are NOT equal.\n//\n//    assert.NotEqualf(t, obj1, obj2, \"error message %s\", \"formatted\")\n//\n// Pointer variable equality is determined based on the equality of the\n// referenced values (as opposed to the memory addresses).\nfunc NotEqualf(t TestingT, expected interface{}, actual interface{}, msg string, args ...interface{}) bool {\n\treturn NotEqual(t, expected, actual, append([]interface{}{msg}, args...)...)\n}\n\n// NotNilf asserts that the specified object is not nil.\n//\n//    assert.NotNilf(t, err, \"error message %s\", \"formatted\")\nfunc NotNilf(t TestingT, object interface{}, msg string, args ...interface{}) bool {\n\treturn NotNil(t, object, append([]interface{}{msg}, args...)...)\n}\n\n// NotPanicsf asserts that the code inside the specified PanicTestFunc does NOT panic.\n//\n//   assert.NotPanicsf(t, func(){ RemainCalm() }, \"error message %s\", \"formatted\")\nfunc NotPanicsf(t TestingT, f PanicTestFunc, msg string, args ...interface{}) bool {\n\treturn NotPanics(t, f, append([]interface{}{msg}, args...)...)\n}\n\n// NotRegexpf asserts that a specified regexp does not match a string.\n//\n//  assert.NotRegexpf(t, regexp.MustCompile(\"starts\", \"error message %s\", \"formatted\"), \"it's starting\")\n//  assert.NotRegexpf(t, \"^start\", \"it's not starting\", \"error message %s\", \"formatted\")\nfunc NotRegexpf(t TestingT, rx interface{}, str interface{}, msg string, args ...interface{}) bool {\n\treturn NotRegexp(t, rx, str, append([]interface{}{msg}, args...)...)\n}\n\n// NotSubsetf asserts that the specified list(array, slice...) contains not all\n// elements given in the specified subset(array, slice...).\n//\n//    assert.NotSubsetf(t, [1, 3, 4], [1, 2], \"But [1, 3, 4] does not contain [1, 2]\", \"error message %s\", \"formatted\")\nfunc NotSubsetf(t TestingT, list interface{}, subset interface{}, msg string, args ...interface{}) bool {\n\treturn NotSubset(t, list, subset, append([]interface{}{msg}, args...)...)\n}\n\n// NotZerof asserts that i is not the zero value for its type.\nfunc NotZerof(t TestingT, i interface{}, msg string, args ...interface{}) bool {\n\treturn NotZero(t, i, append([]interface{}{msg}, args...)...)\n}\n\n// Panicsf asserts that the code inside the specified PanicTestFunc panics.\n//\n//   assert.Panicsf(t, func(){ GoCrazy() }, \"error message %s\", \"formatted\")\nfunc Panicsf(t TestingT, f PanicTestFunc, msg string, args ...interface{}) bool {\n\treturn Panics(t, f, append([]interface{}{msg}, args...)...)\n}\n\n// PanicsWithValuef asserts that the code inside the specified PanicTestFunc panics, and that\n// the recovered panic value equals the expected panic value.\n//\n//   assert.PanicsWithValuef(t, \"crazy error\", func(){ GoCrazy() }, \"error message %s\", \"formatted\")\nfunc PanicsWithValuef(t TestingT, expected interface{}, f PanicTestFunc, msg string, args ...interface{}) bool {\n\treturn PanicsWithValue(t, expected, f, append([]interface{}{msg}, args...)...)\n}\n\n// Regexpf asserts that a specified regexp matches a string.\n//\n//  assert.Regexpf(t, regexp.MustCompile(\"start\", \"error message %s\", \"formatted\"), \"it's starting\")\n//  assert.Regexpf(t, \"start...$\", \"it's not starting\", \"error message %s\", \"formatted\")\nfunc Regexpf(t TestingT, rx interface{}, str interface{}, msg string, args ...interface{}) bool {\n\treturn Regexp(t, rx, str, append([]interface{}{msg}, args...)...)\n}\n\n// Subsetf asserts that the specified list(array, slice...) contains all\n// elements given in the specified subset(array, slice...).\n//\n//    assert.Subsetf(t, [1, 2, 3], [1, 2], \"But [1, 2, 3] does contain [1, 2]\", \"error message %s\", \"formatted\")\nfunc Subsetf(t TestingT, list interface{}, subset interface{}, msg string, args ...interface{}) bool {\n\treturn Subset(t, list, subset, append([]interface{}{msg}, args...)...)\n}\n\n// Truef asserts that the specified value is true.\n//\n//    assert.Truef(t, myBool, \"error message %s\", \"formatted\")\nfunc Truef(t TestingT, value bool, msg string, args ...interface{}) bool {\n\treturn True(t, value, append([]interface{}{msg}, args...)...)\n}\n\n// WithinDurationf asserts that the two times are within duration delta of each other.\n//\n//   assert.WithinDurationf(t, time.Now(), time.Now(), 10*time.Second, \"error message %s\", \"formatted\")\nfunc WithinDurationf(t TestingT, expected time.Time, actual time.Time, delta time.Duration, msg string, args ...interface{}) bool {\n\treturn WithinDuration(t, expected, actual, delta, append([]interface{}{msg}, args...)...)\n}\n\n// Zerof asserts that i is the zero value for its type.\nfunc Zerof(t TestingT, i interface{}, msg string, args ...interface{}) bool {\n\treturn Zero(t, i, append([]interface{}{msg}, args...)...)\n}\n"
  },
  {
    "path": "vendor/github.com/stretchr/testify/assert/assertion_format.go.tmpl",
    "content": "{{.CommentFormat}}\nfunc {{.DocInfo.Name}}f(t TestingT, {{.ParamsFormat}}) bool {\n\treturn {{.DocInfo.Name}}(t, {{.ForwardedParamsFormat}})\n}\n"
  },
  {
    "path": "vendor/github.com/stretchr/testify/assert/assertion_forward.go",
    "content": "/*\n* CODE GENERATED AUTOMATICALLY WITH github.com/stretchr/testify/_codegen\n* THIS FILE MUST NOT BE EDITED BY HAND\n */\n\npackage assert\n\nimport (\n\thttp \"net/http\"\n\turl \"net/url\"\n\ttime \"time\"\n)\n\n// Condition uses a Comparison to assert a complex condition.\nfunc (a *Assertions) Condition(comp Comparison, msgAndArgs ...interface{}) bool {\n\treturn Condition(a.t, comp, msgAndArgs...)\n}\n\n// Conditionf uses a Comparison to assert a complex condition.\nfunc (a *Assertions) Conditionf(comp Comparison, msg string, args ...interface{}) bool {\n\treturn Conditionf(a.t, comp, msg, args...)\n}\n\n// Contains asserts that the specified string, list(array, slice...) or map contains the\n// specified substring or element.\n//\n//    a.Contains(\"Hello World\", \"World\")\n//    a.Contains([\"Hello\", \"World\"], \"World\")\n//    a.Contains({\"Hello\": \"World\"}, \"Hello\")\nfunc (a *Assertions) Contains(s interface{}, contains interface{}, msgAndArgs ...interface{}) bool {\n\treturn Contains(a.t, s, contains, msgAndArgs...)\n}\n\n// Containsf asserts that the specified string, list(array, slice...) or map contains the\n// specified substring or element.\n//\n//    a.Containsf(\"Hello World\", \"World\", \"error message %s\", \"formatted\")\n//    a.Containsf([\"Hello\", \"World\"], \"World\", \"error message %s\", \"formatted\")\n//    a.Containsf({\"Hello\": \"World\"}, \"Hello\", \"error message %s\", \"formatted\")\nfunc (a *Assertions) Containsf(s interface{}, contains interface{}, msg string, args ...interface{}) bool {\n\treturn Containsf(a.t, s, contains, msg, args...)\n}\n\n// DirExists checks whether a directory exists in the given path. It also fails if the path is a file rather a directory or there is an error checking whether it exists.\nfunc (a *Assertions) DirExists(path string, msgAndArgs ...interface{}) bool {\n\treturn DirExists(a.t, path, msgAndArgs...)\n}\n\n// DirExistsf checks whether a directory exists in the given path. It also fails if the path is a file rather a directory or there is an error checking whether it exists.\nfunc (a *Assertions) DirExistsf(path string, msg string, args ...interface{}) bool {\n\treturn DirExistsf(a.t, path, msg, args...)\n}\n\n// ElementsMatch asserts that the specified listA(array, slice...) is equal to specified\n// listB(array, slice...) ignoring the order of the elements. If there are duplicate elements,\n// the number of appearances of each of them in both lists should match.\n//\n// a.ElementsMatch([1, 3, 2, 3], [1, 3, 3, 2])\nfunc (a *Assertions) ElementsMatch(listA interface{}, listB interface{}, msgAndArgs ...interface{}) bool {\n\treturn ElementsMatch(a.t, listA, listB, msgAndArgs...)\n}\n\n// ElementsMatchf asserts that the specified listA(array, slice...) is equal to specified\n// listB(array, slice...) ignoring the order of the elements. If there are duplicate elements,\n// the number of appearances of each of them in both lists should match.\n//\n// a.ElementsMatchf([1, 3, 2, 3], [1, 3, 3, 2], \"error message %s\", \"formatted\")\nfunc (a *Assertions) ElementsMatchf(listA interface{}, listB interface{}, msg string, args ...interface{}) bool {\n\treturn ElementsMatchf(a.t, listA, listB, msg, args...)\n}\n\n// Empty asserts that the specified object is empty.  I.e. nil, \"\", false, 0 or either\n// a slice or a channel with len == 0.\n//\n//  a.Empty(obj)\nfunc (a *Assertions) Empty(object interface{}, msgAndArgs ...interface{}) bool {\n\treturn Empty(a.t, object, msgAndArgs...)\n}\n\n// Emptyf asserts that the specified object is empty.  I.e. nil, \"\", false, 0 or either\n// a slice or a channel with len == 0.\n//\n//  a.Emptyf(obj, \"error message %s\", \"formatted\")\nfunc (a *Assertions) Emptyf(object interface{}, msg string, args ...interface{}) bool {\n\treturn Emptyf(a.t, object, msg, args...)\n}\n\n// Equal asserts that two objects are equal.\n//\n//    a.Equal(123, 123)\n//\n// Pointer variable equality is determined based on the equality of the\n// referenced values (as opposed to the memory addresses). Function equality\n// cannot be determined and will always fail.\nfunc (a *Assertions) Equal(expected interface{}, actual interface{}, msgAndArgs ...interface{}) bool {\n\treturn Equal(a.t, expected, actual, msgAndArgs...)\n}\n\n// EqualError asserts that a function returned an error (i.e. not `nil`)\n// and that it is equal to the provided error.\n//\n//   actualObj, err := SomeFunction()\n//   a.EqualError(err,  expectedErrorString)\nfunc (a *Assertions) EqualError(theError error, errString string, msgAndArgs ...interface{}) bool {\n\treturn EqualError(a.t, theError, errString, msgAndArgs...)\n}\n\n// EqualErrorf asserts that a function returned an error (i.e. not `nil`)\n// and that it is equal to the provided error.\n//\n//   actualObj, err := SomeFunction()\n//   a.EqualErrorf(err,  expectedErrorString, \"error message %s\", \"formatted\")\nfunc (a *Assertions) EqualErrorf(theError error, errString string, msg string, args ...interface{}) bool {\n\treturn EqualErrorf(a.t, theError, errString, msg, args...)\n}\n\n// EqualValues asserts that two objects are equal or convertable to the same types\n// and equal.\n//\n//    a.EqualValues(uint32(123), int32(123))\nfunc (a *Assertions) EqualValues(expected interface{}, actual interface{}, msgAndArgs ...interface{}) bool {\n\treturn EqualValues(a.t, expected, actual, msgAndArgs...)\n}\n\n// EqualValuesf asserts that two objects are equal or convertable to the same types\n// and equal.\n//\n//    a.EqualValuesf(uint32(123, \"error message %s\", \"formatted\"), int32(123))\nfunc (a *Assertions) EqualValuesf(expected interface{}, actual interface{}, msg string, args ...interface{}) bool {\n\treturn EqualValuesf(a.t, expected, actual, msg, args...)\n}\n\n// Equalf asserts that two objects are equal.\n//\n//    a.Equalf(123, 123, \"error message %s\", \"formatted\")\n//\n// Pointer variable equality is determined based on the equality of the\n// referenced values (as opposed to the memory addresses). Function equality\n// cannot be determined and will always fail.\nfunc (a *Assertions) Equalf(expected interface{}, actual interface{}, msg string, args ...interface{}) bool {\n\treturn Equalf(a.t, expected, actual, msg, args...)\n}\n\n// Error asserts that a function returned an error (i.e. not `nil`).\n//\n//   actualObj, err := SomeFunction()\n//   if a.Error(err) {\n// \t   assert.Equal(t, expectedError, err)\n//   }\nfunc (a *Assertions) Error(err error, msgAndArgs ...interface{}) bool {\n\treturn Error(a.t, err, msgAndArgs...)\n}\n\n// Errorf asserts that a function returned an error (i.e. not `nil`).\n//\n//   actualObj, err := SomeFunction()\n//   if a.Errorf(err, \"error message %s\", \"formatted\") {\n// \t   assert.Equal(t, expectedErrorf, err)\n//   }\nfunc (a *Assertions) Errorf(err error, msg string, args ...interface{}) bool {\n\treturn Errorf(a.t, err, msg, args...)\n}\n\n// Exactly asserts that two objects are equal in value and type.\n//\n//    a.Exactly(int32(123), int64(123))\nfunc (a *Assertions) Exactly(expected interface{}, actual interface{}, msgAndArgs ...interface{}) bool {\n\treturn Exactly(a.t, expected, actual, msgAndArgs...)\n}\n\n// Exactlyf asserts that two objects are equal in value and type.\n//\n//    a.Exactlyf(int32(123, \"error message %s\", \"formatted\"), int64(123))\nfunc (a *Assertions) Exactlyf(expected interface{}, actual interface{}, msg string, args ...interface{}) bool {\n\treturn Exactlyf(a.t, expected, actual, msg, args...)\n}\n\n// Fail reports a failure through\nfunc (a *Assertions) Fail(failureMessage string, msgAndArgs ...interface{}) bool {\n\treturn Fail(a.t, failureMessage, msgAndArgs...)\n}\n\n// FailNow fails test\nfunc (a *Assertions) FailNow(failureMessage string, msgAndArgs ...interface{}) bool {\n\treturn FailNow(a.t, failureMessage, msgAndArgs...)\n}\n\n// FailNowf fails test\nfunc (a *Assertions) FailNowf(failureMessage string, msg string, args ...interface{}) bool {\n\treturn FailNowf(a.t, failureMessage, msg, args...)\n}\n\n// Failf reports a failure through\nfunc (a *Assertions) Failf(failureMessage string, msg string, args ...interface{}) bool {\n\treturn Failf(a.t, failureMessage, msg, args...)\n}\n\n// False asserts that the specified value is false.\n//\n//    a.False(myBool)\nfunc (a *Assertions) False(value bool, msgAndArgs ...interface{}) bool {\n\treturn False(a.t, value, msgAndArgs...)\n}\n\n// Falsef asserts that the specified value is false.\n//\n//    a.Falsef(myBool, \"error message %s\", \"formatted\")\nfunc (a *Assertions) Falsef(value bool, msg string, args ...interface{}) bool {\n\treturn Falsef(a.t, value, msg, args...)\n}\n\n// FileExists checks whether a file exists in the given path. It also fails if the path points to a directory or there is an error when trying to check the file.\nfunc (a *Assertions) FileExists(path string, msgAndArgs ...interface{}) bool {\n\treturn FileExists(a.t, path, msgAndArgs...)\n}\n\n// FileExistsf checks whether a file exists in the given path. It also fails if the path points to a directory or there is an error when trying to check the file.\nfunc (a *Assertions) FileExistsf(path string, msg string, args ...interface{}) bool {\n\treturn FileExistsf(a.t, path, msg, args...)\n}\n\n// HTTPBodyContains asserts that a specified handler returns a\n// body that contains a string.\n//\n//  a.HTTPBodyContains(myHandler, \"www.google.com\", nil, \"I'm Feeling Lucky\")\n//\n// Returns whether the assertion was successful (true) or not (false).\nfunc (a *Assertions) HTTPBodyContains(handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msgAndArgs ...interface{}) bool {\n\treturn HTTPBodyContains(a.t, handler, method, url, values, str, msgAndArgs...)\n}\n\n// HTTPBodyContainsf asserts that a specified handler returns a\n// body that contains a string.\n//\n//  a.HTTPBodyContainsf(myHandler, \"www.google.com\", nil, \"I'm Feeling Lucky\", \"error message %s\", \"formatted\")\n//\n// Returns whether the assertion was successful (true) or not (false).\nfunc (a *Assertions) HTTPBodyContainsf(handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msg string, args ...interface{}) bool {\n\treturn HTTPBodyContainsf(a.t, handler, method, url, values, str, msg, args...)\n}\n\n// HTTPBodyNotContains asserts that a specified handler returns a\n// body that does not contain a string.\n//\n//  a.HTTPBodyNotContains(myHandler, \"www.google.com\", nil, \"I'm Feeling Lucky\")\n//\n// Returns whether the assertion was successful (true) or not (false).\nfunc (a *Assertions) HTTPBodyNotContains(handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msgAndArgs ...interface{}) bool {\n\treturn HTTPBodyNotContains(a.t, handler, method, url, values, str, msgAndArgs...)\n}\n\n// HTTPBodyNotContainsf asserts that a specified handler returns a\n// body that does not contain a string.\n//\n//  a.HTTPBodyNotContainsf(myHandler, \"www.google.com\", nil, \"I'm Feeling Lucky\", \"error message %s\", \"formatted\")\n//\n// Returns whether the assertion was successful (true) or not (false).\nfunc (a *Assertions) HTTPBodyNotContainsf(handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msg string, args ...interface{}) bool {\n\treturn HTTPBodyNotContainsf(a.t, handler, method, url, values, str, msg, args...)\n}\n\n// HTTPError asserts that a specified handler returns an error status code.\n//\n//  a.HTTPError(myHandler, \"POST\", \"/a/b/c\", url.Values{\"a\": []string{\"b\", \"c\"}}\n//\n// Returns whether the assertion was successful (true) or not (false).\nfunc (a *Assertions) HTTPError(handler http.HandlerFunc, method string, url string, values url.Values, msgAndArgs ...interface{}) bool {\n\treturn HTTPError(a.t, handler, method, url, values, msgAndArgs...)\n}\n\n// HTTPErrorf asserts that a specified handler returns an error status code.\n//\n//  a.HTTPErrorf(myHandler, \"POST\", \"/a/b/c\", url.Values{\"a\": []string{\"b\", \"c\"}}\n//\n// Returns whether the assertion was successful (true, \"error message %s\", \"formatted\") or not (false).\nfunc (a *Assertions) HTTPErrorf(handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) bool {\n\treturn HTTPErrorf(a.t, handler, method, url, values, msg, args...)\n}\n\n// HTTPRedirect asserts that a specified handler returns a redirect status code.\n//\n//  a.HTTPRedirect(myHandler, \"GET\", \"/a/b/c\", url.Values{\"a\": []string{\"b\", \"c\"}}\n//\n// Returns whether the assertion was successful (true) or not (false).\nfunc (a *Assertions) HTTPRedirect(handler http.HandlerFunc, method string, url string, values url.Values, msgAndArgs ...interface{}) bool {\n\treturn HTTPRedirect(a.t, handler, method, url, values, msgAndArgs...)\n}\n\n// HTTPRedirectf asserts that a specified handler returns a redirect status code.\n//\n//  a.HTTPRedirectf(myHandler, \"GET\", \"/a/b/c\", url.Values{\"a\": []string{\"b\", \"c\"}}\n//\n// Returns whether the assertion was successful (true, \"error message %s\", \"formatted\") or not (false).\nfunc (a *Assertions) HTTPRedirectf(handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) bool {\n\treturn HTTPRedirectf(a.t, handler, method, url, values, msg, args...)\n}\n\n// HTTPSuccess asserts that a specified handler returns a success status code.\n//\n//  a.HTTPSuccess(myHandler, \"POST\", \"http://www.google.com\", nil)\n//\n// Returns whether the assertion was successful (true) or not (false).\nfunc (a *Assertions) HTTPSuccess(handler http.HandlerFunc, method string, url string, values url.Values, msgAndArgs ...interface{}) bool {\n\treturn HTTPSuccess(a.t, handler, method, url, values, msgAndArgs...)\n}\n\n// HTTPSuccessf asserts that a specified handler returns a success status code.\n//\n//  a.HTTPSuccessf(myHandler, \"POST\", \"http://www.google.com\", nil, \"error message %s\", \"formatted\")\n//\n// Returns whether the assertion was successful (true) or not (false).\nfunc (a *Assertions) HTTPSuccessf(handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) bool {\n\treturn HTTPSuccessf(a.t, handler, method, url, values, msg, args...)\n}\n\n// Implements asserts that an object is implemented by the specified interface.\n//\n//    a.Implements((*MyInterface)(nil), new(MyObject))\nfunc (a *Assertions) Implements(interfaceObject interface{}, object interface{}, msgAndArgs ...interface{}) bool {\n\treturn Implements(a.t, interfaceObject, object, msgAndArgs...)\n}\n\n// Implementsf asserts that an object is implemented by the specified interface.\n//\n//    a.Implementsf((*MyInterface, \"error message %s\", \"formatted\")(nil), new(MyObject))\nfunc (a *Assertions) Implementsf(interfaceObject interface{}, object interface{}, msg string, args ...interface{}) bool {\n\treturn Implementsf(a.t, interfaceObject, object, msg, args...)\n}\n\n// InDelta asserts that the two numerals are within delta of each other.\n//\n// \t a.InDelta(math.Pi, (22 / 7.0), 0.01)\nfunc (a *Assertions) InDelta(expected interface{}, actual interface{}, delta float64, msgAndArgs ...interface{}) bool {\n\treturn InDelta(a.t, expected, actual, delta, msgAndArgs...)\n}\n\n// InDeltaMapValues is the same as InDelta, but it compares all values between two maps. Both maps must have exactly the same keys.\nfunc (a *Assertions) InDeltaMapValues(expected interface{}, actual interface{}, delta float64, msgAndArgs ...interface{}) bool {\n\treturn InDeltaMapValues(a.t, expected, actual, delta, msgAndArgs...)\n}\n\n// InDeltaMapValuesf is the same as InDelta, but it compares all values between two maps. Both maps must have exactly the same keys.\nfunc (a *Assertions) InDeltaMapValuesf(expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) bool {\n\treturn InDeltaMapValuesf(a.t, expected, actual, delta, msg, args...)\n}\n\n// InDeltaSlice is the same as InDelta, except it compares two slices.\nfunc (a *Assertions) InDeltaSlice(expected interface{}, actual interface{}, delta float64, msgAndArgs ...interface{}) bool {\n\treturn InDeltaSlice(a.t, expected, actual, delta, msgAndArgs...)\n}\n\n// InDeltaSlicef is the same as InDelta, except it compares two slices.\nfunc (a *Assertions) InDeltaSlicef(expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) bool {\n\treturn InDeltaSlicef(a.t, expected, actual, delta, msg, args...)\n}\n\n// InDeltaf asserts that the two numerals are within delta of each other.\n//\n// \t a.InDeltaf(math.Pi, (22 / 7.0, \"error message %s\", \"formatted\"), 0.01)\nfunc (a *Assertions) InDeltaf(expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) bool {\n\treturn InDeltaf(a.t, expected, actual, delta, msg, args...)\n}\n\n// InEpsilon asserts that expected and actual have a relative error less than epsilon\nfunc (a *Assertions) InEpsilon(expected interface{}, actual interface{}, epsilon float64, msgAndArgs ...interface{}) bool {\n\treturn InEpsilon(a.t, expected, actual, epsilon, msgAndArgs...)\n}\n\n// InEpsilonSlice is the same as InEpsilon, except it compares each value from two slices.\nfunc (a *Assertions) InEpsilonSlice(expected interface{}, actual interface{}, epsilon float64, msgAndArgs ...interface{}) bool {\n\treturn InEpsilonSlice(a.t, expected, actual, epsilon, msgAndArgs...)\n}\n\n// InEpsilonSlicef is the same as InEpsilon, except it compares each value from two slices.\nfunc (a *Assertions) InEpsilonSlicef(expected interface{}, actual interface{}, epsilon float64, msg string, args ...interface{}) bool {\n\treturn InEpsilonSlicef(a.t, expected, actual, epsilon, msg, args...)\n}\n\n// InEpsilonf asserts that expected and actual have a relative error less than epsilon\nfunc (a *Assertions) InEpsilonf(expected interface{}, actual interface{}, epsilon float64, msg string, args ...interface{}) bool {\n\treturn InEpsilonf(a.t, expected, actual, epsilon, msg, args...)\n}\n\n// IsType asserts that the specified objects are of the same type.\nfunc (a *Assertions) IsType(expectedType interface{}, object interface{}, msgAndArgs ...interface{}) bool {\n\treturn IsType(a.t, expectedType, object, msgAndArgs...)\n}\n\n// IsTypef asserts that the specified objects are of the same type.\nfunc (a *Assertions) IsTypef(expectedType interface{}, object interface{}, msg string, args ...interface{}) bool {\n\treturn IsTypef(a.t, expectedType, object, msg, args...)\n}\n\n// JSONEq asserts that two JSON strings are equivalent.\n//\n//  a.JSONEq(`{\"hello\": \"world\", \"foo\": \"bar\"}`, `{\"foo\": \"bar\", \"hello\": \"world\"}`)\nfunc (a *Assertions) JSONEq(expected string, actual string, msgAndArgs ...interface{}) bool {\n\treturn JSONEq(a.t, expected, actual, msgAndArgs...)\n}\n\n// JSONEqf asserts that two JSON strings are equivalent.\n//\n//  a.JSONEqf(`{\"hello\": \"world\", \"foo\": \"bar\"}`, `{\"foo\": \"bar\", \"hello\": \"world\"}`, \"error message %s\", \"formatted\")\nfunc (a *Assertions) JSONEqf(expected string, actual string, msg string, args ...interface{}) bool {\n\treturn JSONEqf(a.t, expected, actual, msg, args...)\n}\n\n// Len asserts that the specified object has specific length.\n// Len also fails if the object has a type that len() not accept.\n//\n//    a.Len(mySlice, 3)\nfunc (a *Assertions) Len(object interface{}, length int, msgAndArgs ...interface{}) bool {\n\treturn Len(a.t, object, length, msgAndArgs...)\n}\n\n// Lenf asserts that the specified object has specific length.\n// Lenf also fails if the object has a type that len() not accept.\n//\n//    a.Lenf(mySlice, 3, \"error message %s\", \"formatted\")\nfunc (a *Assertions) Lenf(object interface{}, length int, msg string, args ...interface{}) bool {\n\treturn Lenf(a.t, object, length, msg, args...)\n}\n\n// Nil asserts that the specified object is nil.\n//\n//    a.Nil(err)\nfunc (a *Assertions) Nil(object interface{}, msgAndArgs ...interface{}) bool {\n\treturn Nil(a.t, object, msgAndArgs...)\n}\n\n// Nilf asserts that the specified object is nil.\n//\n//    a.Nilf(err, \"error message %s\", \"formatted\")\nfunc (a *Assertions) Nilf(object interface{}, msg string, args ...interface{}) bool {\n\treturn Nilf(a.t, object, msg, args...)\n}\n\n// NoError asserts that a function returned no error (i.e. `nil`).\n//\n//   actualObj, err := SomeFunction()\n//   if a.NoError(err) {\n// \t   assert.Equal(t, expectedObj, actualObj)\n//   }\nfunc (a *Assertions) NoError(err error, msgAndArgs ...interface{}) bool {\n\treturn NoError(a.t, err, msgAndArgs...)\n}\n\n// NoErrorf asserts that a function returned no error (i.e. `nil`).\n//\n//   actualObj, err := SomeFunction()\n//   if a.NoErrorf(err, \"error message %s\", \"formatted\") {\n// \t   assert.Equal(t, expectedObj, actualObj)\n//   }\nfunc (a *Assertions) NoErrorf(err error, msg string, args ...interface{}) bool {\n\treturn NoErrorf(a.t, err, msg, args...)\n}\n\n// NotContains asserts that the specified string, list(array, slice...) or map does NOT contain the\n// specified substring or element.\n//\n//    a.NotContains(\"Hello World\", \"Earth\")\n//    a.NotContains([\"Hello\", \"World\"], \"Earth\")\n//    a.NotContains({\"Hello\": \"World\"}, \"Earth\")\nfunc (a *Assertions) NotContains(s interface{}, contains interface{}, msgAndArgs ...interface{}) bool {\n\treturn NotContains(a.t, s, contains, msgAndArgs...)\n}\n\n// NotContainsf asserts that the specified string, list(array, slice...) or map does NOT contain the\n// specified substring or element.\n//\n//    a.NotContainsf(\"Hello World\", \"Earth\", \"error message %s\", \"formatted\")\n//    a.NotContainsf([\"Hello\", \"World\"], \"Earth\", \"error message %s\", \"formatted\")\n//    a.NotContainsf({\"Hello\": \"World\"}, \"Earth\", \"error message %s\", \"formatted\")\nfunc (a *Assertions) NotContainsf(s interface{}, contains interface{}, msg string, args ...interface{}) bool {\n\treturn NotContainsf(a.t, s, contains, msg, args...)\n}\n\n// NotEmpty asserts that the specified object is NOT empty.  I.e. not nil, \"\", false, 0 or either\n// a slice or a channel with len == 0.\n//\n//  if a.NotEmpty(obj) {\n//    assert.Equal(t, \"two\", obj[1])\n//  }\nfunc (a *Assertions) NotEmpty(object interface{}, msgAndArgs ...interface{}) bool {\n\treturn NotEmpty(a.t, object, msgAndArgs...)\n}\n\n// NotEmptyf asserts that the specified object is NOT empty.  I.e. not nil, \"\", false, 0 or either\n// a slice or a channel with len == 0.\n//\n//  if a.NotEmptyf(obj, \"error message %s\", \"formatted\") {\n//    assert.Equal(t, \"two\", obj[1])\n//  }\nfunc (a *Assertions) NotEmptyf(object interface{}, msg string, args ...interface{}) bool {\n\treturn NotEmptyf(a.t, object, msg, args...)\n}\n\n// NotEqual asserts that the specified values are NOT equal.\n//\n//    a.NotEqual(obj1, obj2)\n//\n// Pointer variable equality is determined based on the equality of the\n// referenced values (as opposed to the memory addresses).\nfunc (a *Assertions) NotEqual(expected interface{}, actual interface{}, msgAndArgs ...interface{}) bool {\n\treturn NotEqual(a.t, expected, actual, msgAndArgs...)\n}\n\n// NotEqualf asserts that the specified values are NOT equal.\n//\n//    a.NotEqualf(obj1, obj2, \"error message %s\", \"formatted\")\n//\n// Pointer variable equality is determined based on the equality of the\n// referenced values (as opposed to the memory addresses).\nfunc (a *Assertions) NotEqualf(expected interface{}, actual interface{}, msg string, args ...interface{}) bool {\n\treturn NotEqualf(a.t, expected, actual, msg, args...)\n}\n\n// NotNil asserts that the specified object is not nil.\n//\n//    a.NotNil(err)\nfunc (a *Assertions) NotNil(object interface{}, msgAndArgs ...interface{}) bool {\n\treturn NotNil(a.t, object, msgAndArgs...)\n}\n\n// NotNilf asserts that the specified object is not nil.\n//\n//    a.NotNilf(err, \"error message %s\", \"formatted\")\nfunc (a *Assertions) NotNilf(object interface{}, msg string, args ...interface{}) bool {\n\treturn NotNilf(a.t, object, msg, args...)\n}\n\n// NotPanics asserts that the code inside the specified PanicTestFunc does NOT panic.\n//\n//   a.NotPanics(func(){ RemainCalm() })\nfunc (a *Assertions) NotPanics(f PanicTestFunc, msgAndArgs ...interface{}) bool {\n\treturn NotPanics(a.t, f, msgAndArgs...)\n}\n\n// NotPanicsf asserts that the code inside the specified PanicTestFunc does NOT panic.\n//\n//   a.NotPanicsf(func(){ RemainCalm() }, \"error message %s\", \"formatted\")\nfunc (a *Assertions) NotPanicsf(f PanicTestFunc, msg string, args ...interface{}) bool {\n\treturn NotPanicsf(a.t, f, msg, args...)\n}\n\n// NotRegexp asserts that a specified regexp does not match a string.\n//\n//  a.NotRegexp(regexp.MustCompile(\"starts\"), \"it's starting\")\n//  a.NotRegexp(\"^start\", \"it's not starting\")\nfunc (a *Assertions) NotRegexp(rx interface{}, str interface{}, msgAndArgs ...interface{}) bool {\n\treturn NotRegexp(a.t, rx, str, msgAndArgs...)\n}\n\n// NotRegexpf asserts that a specified regexp does not match a string.\n//\n//  a.NotRegexpf(regexp.MustCompile(\"starts\", \"error message %s\", \"formatted\"), \"it's starting\")\n//  a.NotRegexpf(\"^start\", \"it's not starting\", \"error message %s\", \"formatted\")\nfunc (a *Assertions) NotRegexpf(rx interface{}, str interface{}, msg string, args ...interface{}) bool {\n\treturn NotRegexpf(a.t, rx, str, msg, args...)\n}\n\n// NotSubset asserts that the specified list(array, slice...) contains not all\n// elements given in the specified subset(array, slice...).\n//\n//    a.NotSubset([1, 3, 4], [1, 2], \"But [1, 3, 4] does not contain [1, 2]\")\nfunc (a *Assertions) NotSubset(list interface{}, subset interface{}, msgAndArgs ...interface{}) bool {\n\treturn NotSubset(a.t, list, subset, msgAndArgs...)\n}\n\n// NotSubsetf asserts that the specified list(array, slice...) contains not all\n// elements given in the specified subset(array, slice...).\n//\n//    a.NotSubsetf([1, 3, 4], [1, 2], \"But [1, 3, 4] does not contain [1, 2]\", \"error message %s\", \"formatted\")\nfunc (a *Assertions) NotSubsetf(list interface{}, subset interface{}, msg string, args ...interface{}) bool {\n\treturn NotSubsetf(a.t, list, subset, msg, args...)\n}\n\n// NotZero asserts that i is not the zero value for its type.\nfunc (a *Assertions) NotZero(i interface{}, msgAndArgs ...interface{}) bool {\n\treturn NotZero(a.t, i, msgAndArgs...)\n}\n\n// NotZerof asserts that i is not the zero value for its type.\nfunc (a *Assertions) NotZerof(i interface{}, msg string, args ...interface{}) bool {\n\treturn NotZerof(a.t, i, msg, args...)\n}\n\n// Panics asserts that the code inside the specified PanicTestFunc panics.\n//\n//   a.Panics(func(){ GoCrazy() })\nfunc (a *Assertions) Panics(f PanicTestFunc, msgAndArgs ...interface{}) bool {\n\treturn Panics(a.t, f, msgAndArgs...)\n}\n\n// PanicsWithValue asserts that the code inside the specified PanicTestFunc panics, and that\n// the recovered panic value equals the expected panic value.\n//\n//   a.PanicsWithValue(\"crazy error\", func(){ GoCrazy() })\nfunc (a *Assertions) PanicsWithValue(expected interface{}, f PanicTestFunc, msgAndArgs ...interface{}) bool {\n\treturn PanicsWithValue(a.t, expected, f, msgAndArgs...)\n}\n\n// PanicsWithValuef asserts that the code inside the specified PanicTestFunc panics, and that\n// the recovered panic value equals the expected panic value.\n//\n//   a.PanicsWithValuef(\"crazy error\", func(){ GoCrazy() }, \"error message %s\", \"formatted\")\nfunc (a *Assertions) PanicsWithValuef(expected interface{}, f PanicTestFunc, msg string, args ...interface{}) bool {\n\treturn PanicsWithValuef(a.t, expected, f, msg, args...)\n}\n\n// Panicsf asserts that the code inside the specified PanicTestFunc panics.\n//\n//   a.Panicsf(func(){ GoCrazy() }, \"error message %s\", \"formatted\")\nfunc (a *Assertions) Panicsf(f PanicTestFunc, msg string, args ...interface{}) bool {\n\treturn Panicsf(a.t, f, msg, args...)\n}\n\n// Regexp asserts that a specified regexp matches a string.\n//\n//  a.Regexp(regexp.MustCompile(\"start\"), \"it's starting\")\n//  a.Regexp(\"start...$\", \"it's not starting\")\nfunc (a *Assertions) Regexp(rx interface{}, str interface{}, msgAndArgs ...interface{}) bool {\n\treturn Regexp(a.t, rx, str, msgAndArgs...)\n}\n\n// Regexpf asserts that a specified regexp matches a string.\n//\n//  a.Regexpf(regexp.MustCompile(\"start\", \"error message %s\", \"formatted\"), \"it's starting\")\n//  a.Regexpf(\"start...$\", \"it's not starting\", \"error message %s\", \"formatted\")\nfunc (a *Assertions) Regexpf(rx interface{}, str interface{}, msg string, args ...interface{}) bool {\n\treturn Regexpf(a.t, rx, str, msg, args...)\n}\n\n// Subset asserts that the specified list(array, slice...) contains all\n// elements given in the specified subset(array, slice...).\n//\n//    a.Subset([1, 2, 3], [1, 2], \"But [1, 2, 3] does contain [1, 2]\")\nfunc (a *Assertions) Subset(list interface{}, subset interface{}, msgAndArgs ...interface{}) bool {\n\treturn Subset(a.t, list, subset, msgAndArgs...)\n}\n\n// Subsetf asserts that the specified list(array, slice...) contains all\n// elements given in the specified subset(array, slice...).\n//\n//    a.Subsetf([1, 2, 3], [1, 2], \"But [1, 2, 3] does contain [1, 2]\", \"error message %s\", \"formatted\")\nfunc (a *Assertions) Subsetf(list interface{}, subset interface{}, msg string, args ...interface{}) bool {\n\treturn Subsetf(a.t, list, subset, msg, args...)\n}\n\n// True asserts that the specified value is true.\n//\n//    a.True(myBool)\nfunc (a *Assertions) True(value bool, msgAndArgs ...interface{}) bool {\n\treturn True(a.t, value, msgAndArgs...)\n}\n\n// Truef asserts that the specified value is true.\n//\n//    a.Truef(myBool, \"error message %s\", \"formatted\")\nfunc (a *Assertions) Truef(value bool, msg string, args ...interface{}) bool {\n\treturn Truef(a.t, value, msg, args...)\n}\n\n// WithinDuration asserts that the two times are within duration delta of each other.\n//\n//   a.WithinDuration(time.Now(), time.Now(), 10*time.Second)\nfunc (a *Assertions) WithinDuration(expected time.Time, actual time.Time, delta time.Duration, msgAndArgs ...interface{}) bool {\n\treturn WithinDuration(a.t, expected, actual, delta, msgAndArgs...)\n}\n\n// WithinDurationf asserts that the two times are within duration delta of each other.\n//\n//   a.WithinDurationf(time.Now(), time.Now(), 10*time.Second, \"error message %s\", \"formatted\")\nfunc (a *Assertions) WithinDurationf(expected time.Time, actual time.Time, delta time.Duration, msg string, args ...interface{}) bool {\n\treturn WithinDurationf(a.t, expected, actual, delta, msg, args...)\n}\n\n// Zero asserts that i is the zero value for its type.\nfunc (a *Assertions) Zero(i interface{}, msgAndArgs ...interface{}) bool {\n\treturn Zero(a.t, i, msgAndArgs...)\n}\n\n// Zerof asserts that i is the zero value for its type.\nfunc (a *Assertions) Zerof(i interface{}, msg string, args ...interface{}) bool {\n\treturn Zerof(a.t, i, msg, args...)\n}\n"
  },
  {
    "path": "vendor/github.com/stretchr/testify/assert/assertion_forward.go.tmpl",
    "content": "{{.CommentWithoutT \"a\"}}\nfunc (a *Assertions) {{.DocInfo.Name}}({{.Params}}) bool {\n\treturn {{.DocInfo.Name}}(a.t, {{.ForwardedParams}})\n}\n"
  },
  {
    "path": "vendor/github.com/stretchr/testify/assert/assertions.go",
    "content": "package assert\n\nimport (\n\t\"bufio\"\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"errors\"\n\t\"fmt\"\n\t\"math\"\n\t\"os\"\n\t\"reflect\"\n\t\"regexp\"\n\t\"runtime\"\n\t\"strings\"\n\t\"time\"\n\t\"unicode\"\n\t\"unicode/utf8\"\n\n\t\"github.com/davecgh/go-spew/spew\"\n\t\"github.com/pmezard/go-difflib/difflib\"\n)\n\n//go:generate go run ../_codegen/main.go -output-package=assert -template=assertion_format.go.tmpl\n\n// TestingT is an interface wrapper around *testing.T\ntype TestingT interface {\n\tErrorf(format string, args ...interface{})\n}\n\n// Comparison a custom function that returns true on success and false on failure\ntype Comparison func() (success bool)\n\n/*\n\tHelper functions\n*/\n\n// ObjectsAreEqual determines if two objects are considered equal.\n//\n// This function does no assertion of any kind.\nfunc ObjectsAreEqual(expected, actual interface{}) bool {\n\n\tif expected == nil || actual == nil {\n\t\treturn expected == actual\n\t}\n\tif exp, ok := expected.([]byte); ok {\n\t\tact, ok := actual.([]byte)\n\t\tif !ok {\n\t\t\treturn false\n\t\t} else if exp == nil || act == nil {\n\t\t\treturn exp == nil && act == nil\n\t\t}\n\t\treturn bytes.Equal(exp, act)\n\t}\n\treturn reflect.DeepEqual(expected, actual)\n\n}\n\n// ObjectsAreEqualValues gets whether two objects are equal, or if their\n// values are equal.\nfunc ObjectsAreEqualValues(expected, actual interface{}) bool {\n\tif ObjectsAreEqual(expected, actual) {\n\t\treturn true\n\t}\n\n\tactualType := reflect.TypeOf(actual)\n\tif actualType == nil {\n\t\treturn false\n\t}\n\texpectedValue := reflect.ValueOf(expected)\n\tif expectedValue.IsValid() && expectedValue.Type().ConvertibleTo(actualType) {\n\t\t// Attempt comparison after type conversion\n\t\treturn reflect.DeepEqual(expectedValue.Convert(actualType).Interface(), actual)\n\t}\n\n\treturn false\n}\n\n/* CallerInfo is necessary because the assert functions use the testing object\ninternally, causing it to print the file:line of the assert method, rather than where\nthe problem actually occurred in calling code.*/\n\n// CallerInfo returns an array of strings containing the file and line number\n// of each stack frame leading from the current test to the assert call that\n// failed.\nfunc CallerInfo() []string {\n\n\tpc := uintptr(0)\n\tfile := \"\"\n\tline := 0\n\tok := false\n\tname := \"\"\n\n\tcallers := []string{}\n\tfor i := 0; ; i++ {\n\t\tpc, file, line, ok = runtime.Caller(i)\n\t\tif !ok {\n\t\t\t// The breaks below failed to terminate the loop, and we ran off the\n\t\t\t// end of the call stack.\n\t\t\tbreak\n\t\t}\n\n\t\t// This is a huge edge case, but it will panic if this is the case, see #180\n\t\tif file == \"<autogenerated>\" {\n\t\t\tbreak\n\t\t}\n\n\t\tf := runtime.FuncForPC(pc)\n\t\tif f == nil {\n\t\t\tbreak\n\t\t}\n\t\tname = f.Name()\n\n\t\t// testing.tRunner is the standard library function that calls\n\t\t// tests. Subtests are called directly by tRunner, without going through\n\t\t// the Test/Benchmark/Example function that contains the t.Run calls, so\n\t\t// with subtests we should break when we hit tRunner, without adding it\n\t\t// to the list of callers.\n\t\tif name == \"testing.tRunner\" {\n\t\t\tbreak\n\t\t}\n\n\t\tparts := strings.Split(file, \"/\")\n\t\tfile = parts[len(parts)-1]\n\t\tif len(parts) > 1 {\n\t\t\tdir := parts[len(parts)-2]\n\t\t\tif (dir != \"assert\" && dir != \"mock\" && dir != \"require\") || file == \"mock_test.go\" {\n\t\t\t\tcallers = append(callers, fmt.Sprintf(\"%s:%d\", file, line))\n\t\t\t}\n\t\t}\n\n\t\t// Drop the package\n\t\tsegments := strings.Split(name, \".\")\n\t\tname = segments[len(segments)-1]\n\t\tif isTest(name, \"Test\") ||\n\t\t\tisTest(name, \"Benchmark\") ||\n\t\t\tisTest(name, \"Example\") {\n\t\t\tbreak\n\t\t}\n\t}\n\n\treturn callers\n}\n\n// Stolen from the `go test` tool.\n// isTest tells whether name looks like a test (or benchmark, according to prefix).\n// It is a Test (say) if there is a character after Test that is not a lower-case letter.\n// We don't want TesticularCancer.\nfunc isTest(name, prefix string) bool {\n\tif !strings.HasPrefix(name, prefix) {\n\t\treturn false\n\t}\n\tif len(name) == len(prefix) { // \"Test\" is ok\n\t\treturn true\n\t}\n\trune, _ := utf8.DecodeRuneInString(name[len(prefix):])\n\treturn !unicode.IsLower(rune)\n}\n\n// getWhitespaceString returns a string that is long enough to overwrite the default\n// output from the go testing framework.\nfunc getWhitespaceString() string {\n\n\t_, file, line, ok := runtime.Caller(1)\n\tif !ok {\n\t\treturn \"\"\n\t}\n\tparts := strings.Split(file, \"/\")\n\tfile = parts[len(parts)-1]\n\n\treturn strings.Repeat(\" \", len(fmt.Sprintf(\"%s:%d:        \", file, line)))\n\n}\n\nfunc messageFromMsgAndArgs(msgAndArgs ...interface{}) string {\n\tif len(msgAndArgs) == 0 || msgAndArgs == nil {\n\t\treturn \"\"\n\t}\n\tif len(msgAndArgs) == 1 {\n\t\treturn msgAndArgs[0].(string)\n\t}\n\tif len(msgAndArgs) > 1 {\n\t\treturn fmt.Sprintf(msgAndArgs[0].(string), msgAndArgs[1:]...)\n\t}\n\treturn \"\"\n}\n\n// Aligns the provided message so that all lines after the first line start at the same location as the first line.\n// Assumes that the first line starts at the correct location (after carriage return, tab, label, spacer and tab).\n// The longestLabelLen parameter specifies the length of the longest label in the output (required becaues this is the\n// basis on which the alignment occurs).\nfunc indentMessageLines(message string, longestLabelLen int) string {\n\toutBuf := new(bytes.Buffer)\n\n\tfor i, scanner := 0, bufio.NewScanner(strings.NewReader(message)); scanner.Scan(); i++ {\n\t\t// no need to align first line because it starts at the correct location (after the label)\n\t\tif i != 0 {\n\t\t\t// append alignLen+1 spaces to align with \"{{longestLabel}}:\" before adding tab\n\t\t\toutBuf.WriteString(\"\\n\\r\\t\" + strings.Repeat(\" \", longestLabelLen+1) + \"\\t\")\n\t\t}\n\t\toutBuf.WriteString(scanner.Text())\n\t}\n\n\treturn outBuf.String()\n}\n\ntype failNower interface {\n\tFailNow()\n}\n\n// FailNow fails test\nfunc FailNow(t TestingT, failureMessage string, msgAndArgs ...interface{}) bool {\n\tFail(t, failureMessage, msgAndArgs...)\n\n\t// We cannot extend TestingT with FailNow() and\n\t// maintain backwards compatibility, so we fallback\n\t// to panicking when FailNow is not available in\n\t// TestingT.\n\t// See issue #263\n\n\tif t, ok := t.(failNower); ok {\n\t\tt.FailNow()\n\t} else {\n\t\tpanic(\"test failed and t is missing `FailNow()`\")\n\t}\n\treturn false\n}\n\n// Fail reports a failure through\nfunc Fail(t TestingT, failureMessage string, msgAndArgs ...interface{}) bool {\n\tcontent := []labeledContent{\n\t\t{\"Error Trace\", strings.Join(CallerInfo(), \"\\n\\r\\t\\t\\t\")},\n\t\t{\"Error\", failureMessage},\n\t}\n\n\t// Add test name if the Go version supports it\n\tif n, ok := t.(interface {\n\t\tName() string\n\t}); ok {\n\t\tcontent = append(content, labeledContent{\"Test\", n.Name()})\n\t}\n\n\tmessage := messageFromMsgAndArgs(msgAndArgs...)\n\tif len(message) > 0 {\n\t\tcontent = append(content, labeledContent{\"Messages\", message})\n\t}\n\n\tt.Errorf(\"%s\", \"\\r\"+getWhitespaceString()+labeledOutput(content...))\n\n\treturn false\n}\n\ntype labeledContent struct {\n\tlabel   string\n\tcontent string\n}\n\n// labeledOutput returns a string consisting of the provided labeledContent. Each labeled output is appended in the following manner:\n//\n//   \\r\\t{{label}}:{{align_spaces}}\\t{{content}}\\n\n//\n// The initial carriage return is required to undo/erase any padding added by testing.T.Errorf. The \"\\t{{label}}:\" is for the label.\n// If a label is shorter than the longest label provided, padding spaces are added to make all the labels match in length. Once this\n// alignment is achieved, \"\\t{{content}}\\n\" is added for the output.\n//\n// If the content of the labeledOutput contains line breaks, the subsequent lines are aligned so that they start at the same location as the first line.\nfunc labeledOutput(content ...labeledContent) string {\n\tlongestLabel := 0\n\tfor _, v := range content {\n\t\tif len(v.label) > longestLabel {\n\t\t\tlongestLabel = len(v.label)\n\t\t}\n\t}\n\tvar output string\n\tfor _, v := range content {\n\t\toutput += \"\\r\\t\" + v.label + \":\" + strings.Repeat(\" \", longestLabel-len(v.label)) + \"\\t\" + indentMessageLines(v.content, longestLabel) + \"\\n\"\n\t}\n\treturn output\n}\n\n// Implements asserts that an object is implemented by the specified interface.\n//\n//    assert.Implements(t, (*MyInterface)(nil), new(MyObject))\nfunc Implements(t TestingT, interfaceObject interface{}, object interface{}, msgAndArgs ...interface{}) bool {\n\tinterfaceType := reflect.TypeOf(interfaceObject).Elem()\n\n\tif object == nil {\n\t\treturn Fail(t, fmt.Sprintf(\"Cannot check if nil implements %v\", interfaceType), msgAndArgs...)\n\t}\n\tif !reflect.TypeOf(object).Implements(interfaceType) {\n\t\treturn Fail(t, fmt.Sprintf(\"%T must implement %v\", object, interfaceType), msgAndArgs...)\n\t}\n\n\treturn true\n}\n\n// IsType asserts that the specified objects are of the same type.\nfunc IsType(t TestingT, expectedType interface{}, object interface{}, msgAndArgs ...interface{}) bool {\n\n\tif !ObjectsAreEqual(reflect.TypeOf(object), reflect.TypeOf(expectedType)) {\n\t\treturn Fail(t, fmt.Sprintf(\"Object expected to be of type %v, but was %v\", reflect.TypeOf(expectedType), reflect.TypeOf(object)), msgAndArgs...)\n\t}\n\n\treturn true\n}\n\n// Equal asserts that two objects are equal.\n//\n//    assert.Equal(t, 123, 123)\n//\n// Pointer variable equality is determined based on the equality of the\n// referenced values (as opposed to the memory addresses). Function equality\n// cannot be determined and will always fail.\nfunc Equal(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) bool {\n\tif err := validateEqualArgs(expected, actual); err != nil {\n\t\treturn Fail(t, fmt.Sprintf(\"Invalid operation: %#v == %#v (%s)\",\n\t\t\texpected, actual, err), msgAndArgs...)\n\t}\n\n\tif !ObjectsAreEqual(expected, actual) {\n\t\tdiff := diff(expected, actual)\n\t\texpected, actual = formatUnequalValues(expected, actual)\n\t\treturn Fail(t, fmt.Sprintf(\"Not equal: \\n\"+\n\t\t\t\"expected: %s\\n\"+\n\t\t\t\"actual  : %s%s\", expected, actual, diff), msgAndArgs...)\n\t}\n\n\treturn true\n\n}\n\n// formatUnequalValues takes two values of arbitrary types and returns string\n// representations appropriate to be presented to the user.\n//\n// If the values are not of like type, the returned strings will be prefixed\n// with the type name, and the value will be enclosed in parenthesis similar\n// to a type conversion in the Go grammar.\nfunc formatUnequalValues(expected, actual interface{}) (e string, a string) {\n\tif reflect.TypeOf(expected) != reflect.TypeOf(actual) {\n\t\treturn fmt.Sprintf(\"%T(%#v)\", expected, expected),\n\t\t\tfmt.Sprintf(\"%T(%#v)\", actual, actual)\n\t}\n\n\treturn fmt.Sprintf(\"%#v\", expected),\n\t\tfmt.Sprintf(\"%#v\", actual)\n}\n\n// EqualValues asserts that two objects are equal or convertable to the same types\n// and equal.\n//\n//    assert.EqualValues(t, uint32(123), int32(123))\nfunc EqualValues(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) bool {\n\n\tif !ObjectsAreEqualValues(expected, actual) {\n\t\tdiff := diff(expected, actual)\n\t\texpected, actual = formatUnequalValues(expected, actual)\n\t\treturn Fail(t, fmt.Sprintf(\"Not equal: \\n\"+\n\t\t\t\"expected: %s\\n\"+\n\t\t\t\"actual  : %s%s\", expected, actual, diff), msgAndArgs...)\n\t}\n\n\treturn true\n\n}\n\n// Exactly asserts that two objects are equal in value and type.\n//\n//    assert.Exactly(t, int32(123), int64(123))\nfunc Exactly(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) bool {\n\n\taType := reflect.TypeOf(expected)\n\tbType := reflect.TypeOf(actual)\n\n\tif aType != bType {\n\t\treturn Fail(t, fmt.Sprintf(\"Types expected to match exactly\\n\\r\\t%v != %v\", aType, bType), msgAndArgs...)\n\t}\n\n\treturn Equal(t, expected, actual, msgAndArgs...)\n\n}\n\n// NotNil asserts that the specified object is not nil.\n//\n//    assert.NotNil(t, err)\nfunc NotNil(t TestingT, object interface{}, msgAndArgs ...interface{}) bool {\n\tif !isNil(object) {\n\t\treturn true\n\t}\n\treturn Fail(t, \"Expected value not to be nil.\", msgAndArgs...)\n}\n\n// isNil checks if a specified object is nil or not, without Failing.\nfunc isNil(object interface{}) bool {\n\tif object == nil {\n\t\treturn true\n\t}\n\n\tvalue := reflect.ValueOf(object)\n\tkind := value.Kind()\n\tif kind >= reflect.Chan && kind <= reflect.Slice && value.IsNil() {\n\t\treturn true\n\t}\n\n\treturn false\n}\n\n// Nil asserts that the specified object is nil.\n//\n//    assert.Nil(t, err)\nfunc Nil(t TestingT, object interface{}, msgAndArgs ...interface{}) bool {\n\tif isNil(object) {\n\t\treturn true\n\t}\n\treturn Fail(t, fmt.Sprintf(\"Expected nil, but got: %#v\", object), msgAndArgs...)\n}\n\n// isEmpty gets whether the specified object is considered empty or not.\nfunc isEmpty(object interface{}) bool {\n\n\t// get nil case out of the way\n\tif object == nil {\n\t\treturn true\n\t}\n\n\tobjValue := reflect.ValueOf(object)\n\n\tswitch objValue.Kind() {\n\t// collection types are empty when they have no element\n\tcase reflect.Array, reflect.Chan, reflect.Map, reflect.Slice:\n\t\treturn objValue.Len() == 0\n\t// pointers are empty if nil or if the value they point to is empty\n\tcase reflect.Ptr:\n\t\tif objValue.IsNil() {\n\t\t\treturn true\n\t\t}\n\t\tderef := objValue.Elem().Interface()\n\t\treturn isEmpty(deref)\n\t// for all other types, compare against the zero value\n\tdefault:\n\t\tzero := reflect.Zero(objValue.Type())\n\t\treturn reflect.DeepEqual(object, zero.Interface())\n\t}\n}\n\n// Empty asserts that the specified object is empty.  I.e. nil, \"\", false, 0 or either\n// a slice or a channel with len == 0.\n//\n//  assert.Empty(t, obj)\nfunc Empty(t TestingT, object interface{}, msgAndArgs ...interface{}) bool {\n\n\tpass := isEmpty(object)\n\tif !pass {\n\t\tFail(t, fmt.Sprintf(\"Should be empty, but was %v\", object), msgAndArgs...)\n\t}\n\n\treturn pass\n\n}\n\n// NotEmpty asserts that the specified object is NOT empty.  I.e. not nil, \"\", false, 0 or either\n// a slice or a channel with len == 0.\n//\n//  if assert.NotEmpty(t, obj) {\n//    assert.Equal(t, \"two\", obj[1])\n//  }\nfunc NotEmpty(t TestingT, object interface{}, msgAndArgs ...interface{}) bool {\n\n\tpass := !isEmpty(object)\n\tif !pass {\n\t\tFail(t, fmt.Sprintf(\"Should NOT be empty, but was %v\", object), msgAndArgs...)\n\t}\n\n\treturn pass\n\n}\n\n// getLen try to get length of object.\n// return (false, 0) if impossible.\nfunc getLen(x interface{}) (ok bool, length int) {\n\tv := reflect.ValueOf(x)\n\tdefer func() {\n\t\tif e := recover(); e != nil {\n\t\t\tok = false\n\t\t}\n\t}()\n\treturn true, v.Len()\n}\n\n// Len asserts that the specified object has specific length.\n// Len also fails if the object has a type that len() not accept.\n//\n//    assert.Len(t, mySlice, 3)\nfunc Len(t TestingT, object interface{}, length int, msgAndArgs ...interface{}) bool {\n\tok, l := getLen(object)\n\tif !ok {\n\t\treturn Fail(t, fmt.Sprintf(\"\\\"%s\\\" could not be applied builtin len()\", object), msgAndArgs...)\n\t}\n\n\tif l != length {\n\t\treturn Fail(t, fmt.Sprintf(\"\\\"%s\\\" should have %d item(s), but has %d\", object, length, l), msgAndArgs...)\n\t}\n\treturn true\n}\n\n// True asserts that the specified value is true.\n//\n//    assert.True(t, myBool)\nfunc True(t TestingT, value bool, msgAndArgs ...interface{}) bool {\n\n\tif value != true {\n\t\treturn Fail(t, \"Should be true\", msgAndArgs...)\n\t}\n\n\treturn true\n\n}\n\n// False asserts that the specified value is false.\n//\n//    assert.False(t, myBool)\nfunc False(t TestingT, value bool, msgAndArgs ...interface{}) bool {\n\n\tif value != false {\n\t\treturn Fail(t, \"Should be false\", msgAndArgs...)\n\t}\n\n\treturn true\n\n}\n\n// NotEqual asserts that the specified values are NOT equal.\n//\n//    assert.NotEqual(t, obj1, obj2)\n//\n// Pointer variable equality is determined based on the equality of the\n// referenced values (as opposed to the memory addresses).\nfunc NotEqual(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) bool {\n\tif err := validateEqualArgs(expected, actual); err != nil {\n\t\treturn Fail(t, fmt.Sprintf(\"Invalid operation: %#v != %#v (%s)\",\n\t\t\texpected, actual, err), msgAndArgs...)\n\t}\n\n\tif ObjectsAreEqual(expected, actual) {\n\t\treturn Fail(t, fmt.Sprintf(\"Should not be: %#v\\n\", actual), msgAndArgs...)\n\t}\n\n\treturn true\n\n}\n\n// containsElement try loop over the list check if the list includes the element.\n// return (false, false) if impossible.\n// return (true, false) if element was not found.\n// return (true, true) if element was found.\nfunc includeElement(list interface{}, element interface{}) (ok, found bool) {\n\n\tlistValue := reflect.ValueOf(list)\n\telementValue := reflect.ValueOf(element)\n\tdefer func() {\n\t\tif e := recover(); e != nil {\n\t\t\tok = false\n\t\t\tfound = false\n\t\t}\n\t}()\n\n\tif reflect.TypeOf(list).Kind() == reflect.String {\n\t\treturn true, strings.Contains(listValue.String(), elementValue.String())\n\t}\n\n\tif reflect.TypeOf(list).Kind() == reflect.Map {\n\t\tmapKeys := listValue.MapKeys()\n\t\tfor i := 0; i < len(mapKeys); i++ {\n\t\t\tif ObjectsAreEqual(mapKeys[i].Interface(), element) {\n\t\t\t\treturn true, true\n\t\t\t}\n\t\t}\n\t\treturn true, false\n\t}\n\n\tfor i := 0; i < listValue.Len(); i++ {\n\t\tif ObjectsAreEqual(listValue.Index(i).Interface(), element) {\n\t\t\treturn true, true\n\t\t}\n\t}\n\treturn true, false\n\n}\n\n// Contains asserts that the specified string, list(array, slice...) or map contains the\n// specified substring or element.\n//\n//    assert.Contains(t, \"Hello World\", \"World\")\n//    assert.Contains(t, [\"Hello\", \"World\"], \"World\")\n//    assert.Contains(t, {\"Hello\": \"World\"}, \"Hello\")\nfunc Contains(t TestingT, s, contains interface{}, msgAndArgs ...interface{}) bool {\n\n\tok, found := includeElement(s, contains)\n\tif !ok {\n\t\treturn Fail(t, fmt.Sprintf(\"\\\"%s\\\" could not be applied builtin len()\", s), msgAndArgs...)\n\t}\n\tif !found {\n\t\treturn Fail(t, fmt.Sprintf(\"\\\"%s\\\" does not contain \\\"%s\\\"\", s, contains), msgAndArgs...)\n\t}\n\n\treturn true\n\n}\n\n// NotContains asserts that the specified string, list(array, slice...) or map does NOT contain the\n// specified substring or element.\n//\n//    assert.NotContains(t, \"Hello World\", \"Earth\")\n//    assert.NotContains(t, [\"Hello\", \"World\"], \"Earth\")\n//    assert.NotContains(t, {\"Hello\": \"World\"}, \"Earth\")\nfunc NotContains(t TestingT, s, contains interface{}, msgAndArgs ...interface{}) bool {\n\n\tok, found := includeElement(s, contains)\n\tif !ok {\n\t\treturn Fail(t, fmt.Sprintf(\"\\\"%s\\\" could not be applied builtin len()\", s), msgAndArgs...)\n\t}\n\tif found {\n\t\treturn Fail(t, fmt.Sprintf(\"\\\"%s\\\" should not contain \\\"%s\\\"\", s, contains), msgAndArgs...)\n\t}\n\n\treturn true\n\n}\n\n// Subset asserts that the specified list(array, slice...) contains all\n// elements given in the specified subset(array, slice...).\n//\n//    assert.Subset(t, [1, 2, 3], [1, 2], \"But [1, 2, 3] does contain [1, 2]\")\nfunc Subset(t TestingT, list, subset interface{}, msgAndArgs ...interface{}) (ok bool) {\n\tif subset == nil {\n\t\treturn true // we consider nil to be equal to the nil set\n\t}\n\n\tsubsetValue := reflect.ValueOf(subset)\n\tdefer func() {\n\t\tif e := recover(); e != nil {\n\t\t\tok = false\n\t\t}\n\t}()\n\n\tlistKind := reflect.TypeOf(list).Kind()\n\tsubsetKind := reflect.TypeOf(subset).Kind()\n\n\tif listKind != reflect.Array && listKind != reflect.Slice {\n\t\treturn Fail(t, fmt.Sprintf(\"%q has an unsupported type %s\", list, listKind), msgAndArgs...)\n\t}\n\n\tif subsetKind != reflect.Array && subsetKind != reflect.Slice {\n\t\treturn Fail(t, fmt.Sprintf(\"%q has an unsupported type %s\", subset, subsetKind), msgAndArgs...)\n\t}\n\n\tfor i := 0; i < subsetValue.Len(); i++ {\n\t\telement := subsetValue.Index(i).Interface()\n\t\tok, found := includeElement(list, element)\n\t\tif !ok {\n\t\t\treturn Fail(t, fmt.Sprintf(\"\\\"%s\\\" could not be applied builtin len()\", list), msgAndArgs...)\n\t\t}\n\t\tif !found {\n\t\t\treturn Fail(t, fmt.Sprintf(\"\\\"%s\\\" does not contain \\\"%s\\\"\", list, element), msgAndArgs...)\n\t\t}\n\t}\n\n\treturn true\n}\n\n// NotSubset asserts that the specified list(array, slice...) contains not all\n// elements given in the specified subset(array, slice...).\n//\n//    assert.NotSubset(t, [1, 3, 4], [1, 2], \"But [1, 3, 4] does not contain [1, 2]\")\nfunc NotSubset(t TestingT, list, subset interface{}, msgAndArgs ...interface{}) (ok bool) {\n\tif subset == nil {\n\t\treturn Fail(t, fmt.Sprintf(\"nil is the empty set which is a subset of every set\"), msgAndArgs...)\n\t}\n\n\tsubsetValue := reflect.ValueOf(subset)\n\tdefer func() {\n\t\tif e := recover(); e != nil {\n\t\t\tok = false\n\t\t}\n\t}()\n\n\tlistKind := reflect.TypeOf(list).Kind()\n\tsubsetKind := reflect.TypeOf(subset).Kind()\n\n\tif listKind != reflect.Array && listKind != reflect.Slice {\n\t\treturn Fail(t, fmt.Sprintf(\"%q has an unsupported type %s\", list, listKind), msgAndArgs...)\n\t}\n\n\tif subsetKind != reflect.Array && subsetKind != reflect.Slice {\n\t\treturn Fail(t, fmt.Sprintf(\"%q has an unsupported type %s\", subset, subsetKind), msgAndArgs...)\n\t}\n\n\tfor i := 0; i < subsetValue.Len(); i++ {\n\t\telement := subsetValue.Index(i).Interface()\n\t\tok, found := includeElement(list, element)\n\t\tif !ok {\n\t\t\treturn Fail(t, fmt.Sprintf(\"\\\"%s\\\" could not be applied builtin len()\", list), msgAndArgs...)\n\t\t}\n\t\tif !found {\n\t\t\treturn true\n\t\t}\n\t}\n\n\treturn Fail(t, fmt.Sprintf(\"%q is a subset of %q\", subset, list), msgAndArgs...)\n}\n\n// ElementsMatch asserts that the specified listA(array, slice...) is equal to specified\n// listB(array, slice...) ignoring the order of the elements. If there are duplicate elements,\n// the number of appearances of each of them in both lists should match.\n//\n// assert.ElementsMatch(t, [1, 3, 2, 3], [1, 3, 3, 2])\nfunc ElementsMatch(t TestingT, listA, listB interface{}, msgAndArgs ...interface{}) (ok bool) {\n\tif isEmpty(listA) && isEmpty(listB) {\n\t\treturn true\n\t}\n\n\taKind := reflect.TypeOf(listA).Kind()\n\tbKind := reflect.TypeOf(listB).Kind()\n\n\tif aKind != reflect.Array && aKind != reflect.Slice {\n\t\treturn Fail(t, fmt.Sprintf(\"%q has an unsupported type %s\", listA, aKind), msgAndArgs...)\n\t}\n\n\tif bKind != reflect.Array && bKind != reflect.Slice {\n\t\treturn Fail(t, fmt.Sprintf(\"%q has an unsupported type %s\", listB, bKind), msgAndArgs...)\n\t}\n\n\taValue := reflect.ValueOf(listA)\n\tbValue := reflect.ValueOf(listB)\n\n\taLen := aValue.Len()\n\tbLen := bValue.Len()\n\n\tif aLen != bLen {\n\t\treturn Fail(t, fmt.Sprintf(\"lengths don't match: %d != %d\", aLen, bLen), msgAndArgs...)\n\t}\n\n\t// Mark indexes in bValue that we already used\n\tvisited := make([]bool, bLen)\n\tfor i := 0; i < aLen; i++ {\n\t\telement := aValue.Index(i).Interface()\n\t\tfound := false\n\t\tfor j := 0; j < bLen; j++ {\n\t\t\tif visited[j] {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif ObjectsAreEqual(bValue.Index(j).Interface(), element) {\n\t\t\t\tvisited[j] = true\n\t\t\t\tfound = true\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tif !found {\n\t\t\treturn Fail(t, fmt.Sprintf(\"element %s appears more times in %s than in %s\", element, aValue, bValue), msgAndArgs...)\n\t\t}\n\t}\n\n\treturn true\n}\n\n// Condition uses a Comparison to assert a complex condition.\nfunc Condition(t TestingT, comp Comparison, msgAndArgs ...interface{}) bool {\n\tresult := comp()\n\tif !result {\n\t\tFail(t, \"Condition failed!\", msgAndArgs...)\n\t}\n\treturn result\n}\n\n// PanicTestFunc defines a func that should be passed to the assert.Panics and assert.NotPanics\n// methods, and represents a simple func that takes no arguments, and returns nothing.\ntype PanicTestFunc func()\n\n// didPanic returns true if the function passed to it panics. Otherwise, it returns false.\nfunc didPanic(f PanicTestFunc) (bool, interface{}) {\n\n\tdidPanic := false\n\tvar message interface{}\n\tfunc() {\n\n\t\tdefer func() {\n\t\t\tif message = recover(); message != nil {\n\t\t\t\tdidPanic = true\n\t\t\t}\n\t\t}()\n\n\t\t// call the target function\n\t\tf()\n\n\t}()\n\n\treturn didPanic, message\n\n}\n\n// Panics asserts that the code inside the specified PanicTestFunc panics.\n//\n//   assert.Panics(t, func(){ GoCrazy() })\nfunc Panics(t TestingT, f PanicTestFunc, msgAndArgs ...interface{}) bool {\n\n\tif funcDidPanic, panicValue := didPanic(f); !funcDidPanic {\n\t\treturn Fail(t, fmt.Sprintf(\"func %#v should panic\\n\\r\\tPanic value:\\t%v\", f, panicValue), msgAndArgs...)\n\t}\n\n\treturn true\n}\n\n// PanicsWithValue asserts that the code inside the specified PanicTestFunc panics, and that\n// the recovered panic value equals the expected panic value.\n//\n//   assert.PanicsWithValue(t, \"crazy error\", func(){ GoCrazy() })\nfunc PanicsWithValue(t TestingT, expected interface{}, f PanicTestFunc, msgAndArgs ...interface{}) bool {\n\n\tfuncDidPanic, panicValue := didPanic(f)\n\tif !funcDidPanic {\n\t\treturn Fail(t, fmt.Sprintf(\"func %#v should panic\\n\\r\\tPanic value:\\t%v\", f, panicValue), msgAndArgs...)\n\t}\n\tif panicValue != expected {\n\t\treturn Fail(t, fmt.Sprintf(\"func %#v should panic with value:\\t%v\\n\\r\\tPanic value:\\t%v\", f, expected, panicValue), msgAndArgs...)\n\t}\n\n\treturn true\n}\n\n// NotPanics asserts that the code inside the specified PanicTestFunc does NOT panic.\n//\n//   assert.NotPanics(t, func(){ RemainCalm() })\nfunc NotPanics(t TestingT, f PanicTestFunc, msgAndArgs ...interface{}) bool {\n\n\tif funcDidPanic, panicValue := didPanic(f); funcDidPanic {\n\t\treturn Fail(t, fmt.Sprintf(\"func %#v should not panic\\n\\r\\tPanic value:\\t%v\", f, panicValue), msgAndArgs...)\n\t}\n\n\treturn true\n}\n\n// WithinDuration asserts that the two times are within duration delta of each other.\n//\n//   assert.WithinDuration(t, time.Now(), time.Now(), 10*time.Second)\nfunc WithinDuration(t TestingT, expected, actual time.Time, delta time.Duration, msgAndArgs ...interface{}) bool {\n\n\tdt := expected.Sub(actual)\n\tif dt < -delta || dt > delta {\n\t\treturn Fail(t, fmt.Sprintf(\"Max difference between %v and %v allowed is %v, but difference was %v\", expected, actual, delta, dt), msgAndArgs...)\n\t}\n\n\treturn true\n}\n\nfunc toFloat(x interface{}) (float64, bool) {\n\tvar xf float64\n\txok := true\n\n\tswitch xn := x.(type) {\n\tcase uint8:\n\t\txf = float64(xn)\n\tcase uint16:\n\t\txf = float64(xn)\n\tcase uint32:\n\t\txf = float64(xn)\n\tcase uint64:\n\t\txf = float64(xn)\n\tcase int:\n\t\txf = float64(xn)\n\tcase int8:\n\t\txf = float64(xn)\n\tcase int16:\n\t\txf = float64(xn)\n\tcase int32:\n\t\txf = float64(xn)\n\tcase int64:\n\t\txf = float64(xn)\n\tcase float32:\n\t\txf = float64(xn)\n\tcase float64:\n\t\txf = float64(xn)\n\tcase time.Duration:\n\t\txf = float64(xn)\n\tdefault:\n\t\txok = false\n\t}\n\n\treturn xf, xok\n}\n\n// InDelta asserts that the two numerals are within delta of each other.\n//\n// \t assert.InDelta(t, math.Pi, (22 / 7.0), 0.01)\nfunc InDelta(t TestingT, expected, actual interface{}, delta float64, msgAndArgs ...interface{}) bool {\n\n\taf, aok := toFloat(expected)\n\tbf, bok := toFloat(actual)\n\n\tif !aok || !bok {\n\t\treturn Fail(t, fmt.Sprintf(\"Parameters must be numerical\"), msgAndArgs...)\n\t}\n\n\tif math.IsNaN(af) {\n\t\treturn Fail(t, fmt.Sprintf(\"Expected must not be NaN\"), msgAndArgs...)\n\t}\n\n\tif math.IsNaN(bf) {\n\t\treturn Fail(t, fmt.Sprintf(\"Expected %v with delta %v, but was NaN\", expected, delta), msgAndArgs...)\n\t}\n\n\tdt := af - bf\n\tif dt < -delta || dt > delta {\n\t\treturn Fail(t, fmt.Sprintf(\"Max difference between %v and %v allowed is %v, but difference was %v\", expected, actual, delta, dt), msgAndArgs...)\n\t}\n\n\treturn true\n}\n\n// InDeltaSlice is the same as InDelta, except it compares two slices.\nfunc InDeltaSlice(t TestingT, expected, actual interface{}, delta float64, msgAndArgs ...interface{}) bool {\n\tif expected == nil || actual == nil ||\n\t\treflect.TypeOf(actual).Kind() != reflect.Slice ||\n\t\treflect.TypeOf(expected).Kind() != reflect.Slice {\n\t\treturn Fail(t, fmt.Sprintf(\"Parameters must be slice\"), msgAndArgs...)\n\t}\n\n\tactualSlice := reflect.ValueOf(actual)\n\texpectedSlice := reflect.ValueOf(expected)\n\n\tfor i := 0; i < actualSlice.Len(); i++ {\n\t\tresult := InDelta(t, actualSlice.Index(i).Interface(), expectedSlice.Index(i).Interface(), delta, msgAndArgs...)\n\t\tif !result {\n\t\t\treturn result\n\t\t}\n\t}\n\n\treturn true\n}\n\n// InDeltaMapValues is the same as InDelta, but it compares all values between two maps. Both maps must have exactly the same keys.\nfunc InDeltaMapValues(t TestingT, expected, actual interface{}, delta float64, msgAndArgs ...interface{}) bool {\n\tif expected == nil || actual == nil ||\n\t\treflect.TypeOf(actual).Kind() != reflect.Map ||\n\t\treflect.TypeOf(expected).Kind() != reflect.Map {\n\t\treturn Fail(t, \"Arguments must be maps\", msgAndArgs...)\n\t}\n\n\texpectedMap := reflect.ValueOf(expected)\n\tactualMap := reflect.ValueOf(actual)\n\n\tif expectedMap.Len() != actualMap.Len() {\n\t\treturn Fail(t, \"Arguments must have the same number of keys\", msgAndArgs...)\n\t}\n\n\tfor _, k := range expectedMap.MapKeys() {\n\t\tev := expectedMap.MapIndex(k)\n\t\tav := actualMap.MapIndex(k)\n\n\t\tif !ev.IsValid() {\n\t\t\treturn Fail(t, fmt.Sprintf(\"missing key %q in expected map\", k), msgAndArgs...)\n\t\t}\n\n\t\tif !av.IsValid() {\n\t\t\treturn Fail(t, fmt.Sprintf(\"missing key %q in actual map\", k), msgAndArgs...)\n\t\t}\n\n\t\tif !InDelta(\n\t\t\tt,\n\t\t\tev.Interface(),\n\t\t\tav.Interface(),\n\t\t\tdelta,\n\t\t\tmsgAndArgs...,\n\t\t) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\treturn true\n}\n\nfunc calcRelativeError(expected, actual interface{}) (float64, error) {\n\taf, aok := toFloat(expected)\n\tif !aok {\n\t\treturn 0, fmt.Errorf(\"expected value %q cannot be converted to float\", expected)\n\t}\n\tif af == 0 {\n\t\treturn 0, fmt.Errorf(\"expected value must have a value other than zero to calculate the relative error\")\n\t}\n\tbf, bok := toFloat(actual)\n\tif !bok {\n\t\treturn 0, fmt.Errorf(\"actual value %q cannot be converted to float\", actual)\n\t}\n\n\treturn math.Abs(af-bf) / math.Abs(af), nil\n}\n\n// InEpsilon asserts that expected and actual have a relative error less than epsilon\nfunc InEpsilon(t TestingT, expected, actual interface{}, epsilon float64, msgAndArgs ...interface{}) bool {\n\tactualEpsilon, err := calcRelativeError(expected, actual)\n\tif err != nil {\n\t\treturn Fail(t, err.Error(), msgAndArgs...)\n\t}\n\tif actualEpsilon > epsilon {\n\t\treturn Fail(t, fmt.Sprintf(\"Relative error is too high: %#v (expected)\\n\"+\n\t\t\t\"        < %#v (actual)\", epsilon, actualEpsilon), msgAndArgs...)\n\t}\n\n\treturn true\n}\n\n// InEpsilonSlice is the same as InEpsilon, except it compares each value from two slices.\nfunc InEpsilonSlice(t TestingT, expected, actual interface{}, epsilon float64, msgAndArgs ...interface{}) bool {\n\tif expected == nil || actual == nil ||\n\t\treflect.TypeOf(actual).Kind() != reflect.Slice ||\n\t\treflect.TypeOf(expected).Kind() != reflect.Slice {\n\t\treturn Fail(t, fmt.Sprintf(\"Parameters must be slice\"), msgAndArgs...)\n\t}\n\n\tactualSlice := reflect.ValueOf(actual)\n\texpectedSlice := reflect.ValueOf(expected)\n\n\tfor i := 0; i < actualSlice.Len(); i++ {\n\t\tresult := InEpsilon(t, actualSlice.Index(i).Interface(), expectedSlice.Index(i).Interface(), epsilon)\n\t\tif !result {\n\t\t\treturn result\n\t\t}\n\t}\n\n\treturn true\n}\n\n/*\n\tErrors\n*/\n\n// NoError asserts that a function returned no error (i.e. `nil`).\n//\n//   actualObj, err := SomeFunction()\n//   if assert.NoError(t, err) {\n//\t   assert.Equal(t, expectedObj, actualObj)\n//   }\nfunc NoError(t TestingT, err error, msgAndArgs ...interface{}) bool {\n\tif err != nil {\n\t\treturn Fail(t, fmt.Sprintf(\"Received unexpected error:\\n%+v\", err), msgAndArgs...)\n\t}\n\n\treturn true\n}\n\n// Error asserts that a function returned an error (i.e. not `nil`).\n//\n//   actualObj, err := SomeFunction()\n//   if assert.Error(t, err) {\n//\t   assert.Equal(t, expectedError, err)\n//   }\nfunc Error(t TestingT, err error, msgAndArgs ...interface{}) bool {\n\n\tif err == nil {\n\t\treturn Fail(t, \"An error is expected but got nil.\", msgAndArgs...)\n\t}\n\n\treturn true\n}\n\n// EqualError asserts that a function returned an error (i.e. not `nil`)\n// and that it is equal to the provided error.\n//\n//   actualObj, err := SomeFunction()\n//   assert.EqualError(t, err,  expectedErrorString)\nfunc EqualError(t TestingT, theError error, errString string, msgAndArgs ...interface{}) bool {\n\tif !Error(t, theError, msgAndArgs...) {\n\t\treturn false\n\t}\n\texpected := errString\n\tactual := theError.Error()\n\t// don't need to use deep equals here, we know they are both strings\n\tif expected != actual {\n\t\treturn Fail(t, fmt.Sprintf(\"Error message not equal:\\n\"+\n\t\t\t\"expected: %q\\n\"+\n\t\t\t\"actual  : %q\", expected, actual), msgAndArgs...)\n\t}\n\treturn true\n}\n\n// matchRegexp return true if a specified regexp matches a string.\nfunc matchRegexp(rx interface{}, str interface{}) bool {\n\n\tvar r *regexp.Regexp\n\tif rr, ok := rx.(*regexp.Regexp); ok {\n\t\tr = rr\n\t} else {\n\t\tr = regexp.MustCompile(fmt.Sprint(rx))\n\t}\n\n\treturn (r.FindStringIndex(fmt.Sprint(str)) != nil)\n\n}\n\n// Regexp asserts that a specified regexp matches a string.\n//\n//  assert.Regexp(t, regexp.MustCompile(\"start\"), \"it's starting\")\n//  assert.Regexp(t, \"start...$\", \"it's not starting\")\nfunc Regexp(t TestingT, rx interface{}, str interface{}, msgAndArgs ...interface{}) bool {\n\n\tmatch := matchRegexp(rx, str)\n\n\tif !match {\n\t\tFail(t, fmt.Sprintf(\"Expect \\\"%v\\\" to match \\\"%v\\\"\", str, rx), msgAndArgs...)\n\t}\n\n\treturn match\n}\n\n// NotRegexp asserts that a specified regexp does not match a string.\n//\n//  assert.NotRegexp(t, regexp.MustCompile(\"starts\"), \"it's starting\")\n//  assert.NotRegexp(t, \"^start\", \"it's not starting\")\nfunc NotRegexp(t TestingT, rx interface{}, str interface{}, msgAndArgs ...interface{}) bool {\n\tmatch := matchRegexp(rx, str)\n\n\tif match {\n\t\tFail(t, fmt.Sprintf(\"Expect \\\"%v\\\" to NOT match \\\"%v\\\"\", str, rx), msgAndArgs...)\n\t}\n\n\treturn !match\n\n}\n\n// Zero asserts that i is the zero value for its type.\nfunc Zero(t TestingT, i interface{}, msgAndArgs ...interface{}) bool {\n\tif i != nil && !reflect.DeepEqual(i, reflect.Zero(reflect.TypeOf(i)).Interface()) {\n\t\treturn Fail(t, fmt.Sprintf(\"Should be zero, but was %v\", i), msgAndArgs...)\n\t}\n\treturn true\n}\n\n// NotZero asserts that i is not the zero value for its type.\nfunc NotZero(t TestingT, i interface{}, msgAndArgs ...interface{}) bool {\n\tif i == nil || reflect.DeepEqual(i, reflect.Zero(reflect.TypeOf(i)).Interface()) {\n\t\treturn Fail(t, fmt.Sprintf(\"Should not be zero, but was %v\", i), msgAndArgs...)\n\t}\n\treturn true\n}\n\n// FileExists checks whether a file exists in the given path. It also fails if the path points to a directory or there is an error when trying to check the file.\nfunc FileExists(t TestingT, path string, msgAndArgs ...interface{}) bool {\n\tinfo, err := os.Lstat(path)\n\tif err != nil {\n\t\tif os.IsNotExist(err) {\n\t\t\treturn Fail(t, fmt.Sprintf(\"unable to find file %q\", path), msgAndArgs...)\n\t\t}\n\t\treturn Fail(t, fmt.Sprintf(\"error when running os.Lstat(%q): %s\", path, err), msgAndArgs...)\n\t}\n\tif info.IsDir() {\n\t\treturn Fail(t, fmt.Sprintf(\"%q is a directory\", path), msgAndArgs...)\n\t}\n\treturn true\n}\n\n// DirExists checks whether a directory exists in the given path. It also fails if the path is a file rather a directory or there is an error checking whether it exists.\nfunc DirExists(t TestingT, path string, msgAndArgs ...interface{}) bool {\n\tinfo, err := os.Lstat(path)\n\tif err != nil {\n\t\tif os.IsNotExist(err) {\n\t\t\treturn Fail(t, fmt.Sprintf(\"unable to find file %q\", path), msgAndArgs...)\n\t\t}\n\t\treturn Fail(t, fmt.Sprintf(\"error when running os.Lstat(%q): %s\", path, err), msgAndArgs...)\n\t}\n\tif !info.IsDir() {\n\t\treturn Fail(t, fmt.Sprintf(\"%q is a file\", path), msgAndArgs...)\n\t}\n\treturn true\n}\n\n// JSONEq asserts that two JSON strings are equivalent.\n//\n//  assert.JSONEq(t, `{\"hello\": \"world\", \"foo\": \"bar\"}`, `{\"foo\": \"bar\", \"hello\": \"world\"}`)\nfunc JSONEq(t TestingT, expected string, actual string, msgAndArgs ...interface{}) bool {\n\tvar expectedJSONAsInterface, actualJSONAsInterface interface{}\n\n\tif err := json.Unmarshal([]byte(expected), &expectedJSONAsInterface); err != nil {\n\t\treturn Fail(t, fmt.Sprintf(\"Expected value ('%s') is not valid json.\\nJSON parsing error: '%s'\", expected, err.Error()), msgAndArgs...)\n\t}\n\n\tif err := json.Unmarshal([]byte(actual), &actualJSONAsInterface); err != nil {\n\t\treturn Fail(t, fmt.Sprintf(\"Input ('%s') needs to be valid json.\\nJSON parsing error: '%s'\", actual, err.Error()), msgAndArgs...)\n\t}\n\n\treturn Equal(t, expectedJSONAsInterface, actualJSONAsInterface, msgAndArgs...)\n}\n\nfunc typeAndKind(v interface{}) (reflect.Type, reflect.Kind) {\n\tt := reflect.TypeOf(v)\n\tk := t.Kind()\n\n\tif k == reflect.Ptr {\n\t\tt = t.Elem()\n\t\tk = t.Kind()\n\t}\n\treturn t, k\n}\n\n// diff returns a diff of both values as long as both are of the same type and\n// are a struct, map, slice or array. Otherwise it returns an empty string.\nfunc diff(expected interface{}, actual interface{}) string {\n\tif expected == nil || actual == nil {\n\t\treturn \"\"\n\t}\n\n\tet, ek := typeAndKind(expected)\n\tat, _ := typeAndKind(actual)\n\n\tif et != at {\n\t\treturn \"\"\n\t}\n\n\tif ek != reflect.Struct && ek != reflect.Map && ek != reflect.Slice && ek != reflect.Array {\n\t\treturn \"\"\n\t}\n\n\te := spewConfig.Sdump(expected)\n\ta := spewConfig.Sdump(actual)\n\n\tdiff, _ := difflib.GetUnifiedDiffString(difflib.UnifiedDiff{\n\t\tA:        difflib.SplitLines(e),\n\t\tB:        difflib.SplitLines(a),\n\t\tFromFile: \"Expected\",\n\t\tFromDate: \"\",\n\t\tToFile:   \"Actual\",\n\t\tToDate:   \"\",\n\t\tContext:  1,\n\t})\n\n\treturn \"\\n\\nDiff:\\n\" + diff\n}\n\n// validateEqualArgs checks whether provided arguments can be safely used in the\n// Equal/NotEqual functions.\nfunc validateEqualArgs(expected, actual interface{}) error {\n\tif isFunction(expected) || isFunction(actual) {\n\t\treturn errors.New(\"cannot take func type as argument\")\n\t}\n\treturn nil\n}\n\nfunc isFunction(arg interface{}) bool {\n\tif arg == nil {\n\t\treturn false\n\t}\n\treturn reflect.TypeOf(arg).Kind() == reflect.Func\n}\n\nvar spewConfig = spew.ConfigState{\n\tIndent:                  \" \",\n\tDisablePointerAddresses: true,\n\tDisableCapacities:       true,\n\tSortKeys:                true,\n}\n"
  },
  {
    "path": "vendor/github.com/stretchr/testify/assert/doc.go",
    "content": "// Package assert provides a set of comprehensive testing tools for use with the normal Go testing system.\n//\n// Example Usage\n//\n// The following is a complete example using assert in a standard test function:\n//    import (\n//      \"testing\"\n//      \"github.com/stretchr/testify/assert\"\n//    )\n//\n//    func TestSomething(t *testing.T) {\n//\n//      var a string = \"Hello\"\n//      var b string = \"Hello\"\n//\n//      assert.Equal(t, a, b, \"The two words should be the same.\")\n//\n//    }\n//\n// if you assert many times, use the format below:\n//\n//    import (\n//      \"testing\"\n//      \"github.com/stretchr/testify/assert\"\n//    )\n//\n//    func TestSomething(t *testing.T) {\n//      assert := assert.New(t)\n//\n//      var a string = \"Hello\"\n//      var b string = \"Hello\"\n//\n//      assert.Equal(a, b, \"The two words should be the same.\")\n//    }\n//\n// Assertions\n//\n// Assertions allow you to easily write test code, and are global funcs in the `assert` package.\n// All assertion functions take, as the first argument, the `*testing.T` object provided by the\n// testing framework. This allows the assertion funcs to write the failings and other details to\n// the correct place.\n//\n// Every assertion function also takes an optional string message as the final argument,\n// allowing custom error messages to be appended to the message the assertion method outputs.\npackage assert\n"
  },
  {
    "path": "vendor/github.com/stretchr/testify/assert/errors.go",
    "content": "package assert\n\nimport (\n\t\"errors\"\n)\n\n// AnError is an error instance useful for testing.  If the code does not care\n// about error specifics, and only needs to return the error for example, this\n// error should be used to make the test code more readable.\nvar AnError = errors.New(\"assert.AnError general error for testing\")\n"
  },
  {
    "path": "vendor/github.com/stretchr/testify/assert/forward_assertions.go",
    "content": "package assert\n\n// Assertions provides assertion methods around the\n// TestingT interface.\ntype Assertions struct {\n\tt TestingT\n}\n\n// New makes a new Assertions object for the specified TestingT.\nfunc New(t TestingT) *Assertions {\n\treturn &Assertions{\n\t\tt: t,\n\t}\n}\n\n//go:generate go run ../_codegen/main.go -output-package=assert -template=assertion_forward.go.tmpl -include-format-funcs\n"
  },
  {
    "path": "vendor/github.com/stretchr/testify/assert/http_assertions.go",
    "content": "package assert\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"net/http/httptest\"\n\t\"net/url\"\n\t\"strings\"\n)\n\n// httpCode is a helper that returns HTTP code of the response. It returns -1 and\n// an error if building a new request fails.\nfunc httpCode(handler http.HandlerFunc, method, url string, values url.Values) (int, error) {\n\tw := httptest.NewRecorder()\n\treq, err := http.NewRequest(method, url+\"?\"+values.Encode(), nil)\n\tif err != nil {\n\t\treturn -1, err\n\t}\n\thandler(w, req)\n\treturn w.Code, nil\n}\n\n// HTTPSuccess asserts that a specified handler returns a success status code.\n//\n//  assert.HTTPSuccess(t, myHandler, \"POST\", \"http://www.google.com\", nil)\n//\n// Returns whether the assertion was successful (true) or not (false).\nfunc HTTPSuccess(t TestingT, handler http.HandlerFunc, method, url string, values url.Values, msgAndArgs ...interface{}) bool {\n\tcode, err := httpCode(handler, method, url, values)\n\tif err != nil {\n\t\tFail(t, fmt.Sprintf(\"Failed to build test request, got error: %s\", err))\n\t\treturn false\n\t}\n\n\tisSuccessCode := code >= http.StatusOK && code <= http.StatusPartialContent\n\tif !isSuccessCode {\n\t\tFail(t, fmt.Sprintf(\"Expected HTTP success status code for %q but received %d\", url+\"?\"+values.Encode(), code))\n\t}\n\n\treturn isSuccessCode\n}\n\n// HTTPRedirect asserts that a specified handler returns a redirect status code.\n//\n//  assert.HTTPRedirect(t, myHandler, \"GET\", \"/a/b/c\", url.Values{\"a\": []string{\"b\", \"c\"}}\n//\n// Returns whether the assertion was successful (true) or not (false).\nfunc HTTPRedirect(t TestingT, handler http.HandlerFunc, method, url string, values url.Values, msgAndArgs ...interface{}) bool {\n\tcode, err := httpCode(handler, method, url, values)\n\tif err != nil {\n\t\tFail(t, fmt.Sprintf(\"Failed to build test request, got error: %s\", err))\n\t\treturn false\n\t}\n\n\tisRedirectCode := code >= http.StatusMultipleChoices && code <= http.StatusTemporaryRedirect\n\tif !isRedirectCode {\n\t\tFail(t, fmt.Sprintf(\"Expected HTTP redirect status code for %q but received %d\", url+\"?\"+values.Encode(), code))\n\t}\n\n\treturn isRedirectCode\n}\n\n// HTTPError asserts that a specified handler returns an error status code.\n//\n//  assert.HTTPError(t, myHandler, \"POST\", \"/a/b/c\", url.Values{\"a\": []string{\"b\", \"c\"}}\n//\n// Returns whether the assertion was successful (true) or not (false).\nfunc HTTPError(t TestingT, handler http.HandlerFunc, method, url string, values url.Values, msgAndArgs ...interface{}) bool {\n\tcode, err := httpCode(handler, method, url, values)\n\tif err != nil {\n\t\tFail(t, fmt.Sprintf(\"Failed to build test request, got error: %s\", err))\n\t\treturn false\n\t}\n\n\tisErrorCode := code >= http.StatusBadRequest\n\tif !isErrorCode {\n\t\tFail(t, fmt.Sprintf(\"Expected HTTP error status code for %q but received %d\", url+\"?\"+values.Encode(), code))\n\t}\n\n\treturn isErrorCode\n}\n\n// HTTPBody is a helper that returns HTTP body of the response. It returns\n// empty string if building a new request fails.\nfunc HTTPBody(handler http.HandlerFunc, method, url string, values url.Values) string {\n\tw := httptest.NewRecorder()\n\treq, err := http.NewRequest(method, url+\"?\"+values.Encode(), nil)\n\tif err != nil {\n\t\treturn \"\"\n\t}\n\thandler(w, req)\n\treturn w.Body.String()\n}\n\n// HTTPBodyContains asserts that a specified handler returns a\n// body that contains a string.\n//\n//  assert.HTTPBodyContains(t, myHandler, \"www.google.com\", nil, \"I'm Feeling Lucky\")\n//\n// Returns whether the assertion was successful (true) or not (false).\nfunc HTTPBodyContains(t TestingT, handler http.HandlerFunc, method, url string, values url.Values, str interface{}, msgAndArgs ...interface{}) bool {\n\tbody := HTTPBody(handler, method, url, values)\n\n\tcontains := strings.Contains(body, fmt.Sprint(str))\n\tif !contains {\n\t\tFail(t, fmt.Sprintf(\"Expected response body for \\\"%s\\\" to contain \\\"%s\\\" but found \\\"%s\\\"\", url+\"?\"+values.Encode(), str, body))\n\t}\n\n\treturn contains\n}\n\n// HTTPBodyNotContains asserts that a specified handler returns a\n// body that does not contain a string.\n//\n//  assert.HTTPBodyNotContains(t, myHandler, \"www.google.com\", nil, \"I'm Feeling Lucky\")\n//\n// Returns whether the assertion was successful (true) or not (false).\nfunc HTTPBodyNotContains(t TestingT, handler http.HandlerFunc, method, url string, values url.Values, str interface{}, msgAndArgs ...interface{}) bool {\n\tbody := HTTPBody(handler, method, url, values)\n\n\tcontains := strings.Contains(body, fmt.Sprint(str))\n\tif contains {\n\t\tFail(t, fmt.Sprintf(\"Expected response body for \\\"%s\\\" to NOT contain \\\"%s\\\" but found \\\"%s\\\"\", url+\"?\"+values.Encode(), str, body))\n\t}\n\n\treturn !contains\n}\n"
  },
  {
    "path": "vendor/github.com/tidwall/redcon/.travis.yml",
    "content": "language: go\n"
  },
  {
    "path": "vendor/github.com/tidwall/redcon/LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2016 Josh Baker\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"
  },
  {
    "path": "vendor/github.com/tidwall/redcon/README.md",
    "content": "<p align=\"center\">\n<img \n    src=\"logo.png\" \n    width=\"336\" height=\"75\" border=\"0\" alt=\"REDCON\">\n<br>\n<a href=\"https://travis-ci.org/tidwall/redcon\"><img src=\"https://img.shields.io/travis/tidwall/redcon.svg?style=flat-square\" alt=\"Build Status\"></a>\n<a href=\"https://godoc.org/github.com/tidwall/redcon\"><img src=\"https://img.shields.io/badge/api-reference-blue.svg?style=flat-square\" alt=\"GoDoc\"></a>\n</p>\n\n<p align=\"center\">Fast Redis compatible server framework for Go</p>\n\nRedcon is a custom Redis server framework for Go that is fast and simple to use. The reason for this library it to give an efficient server front-end for the [BuntDB](https://github.com/tidwall/buntdb) and [Tile38](https://github.com/tidwall/tile38) projects.\n\nFeatures\n--------\n- Create a [Fast](#benchmarks) custom Redis compatible server in Go\n- Simple interface. One function `ListenAndServe` and two types `Conn` & `Command`\n- Support for pipelining and telnet commands\n- Works with Redis clients such as [redigo](https://github.com/garyburd/redigo), [redis-py](https://github.com/andymccurdy/redis-py), [node_redis](https://github.com/NodeRedis/node_redis), and [jedis](https://github.com/xetorthio/jedis)\n- [TLS Support](#tls-example)\n\nInstalling\n----------\n\n```\ngo get -u github.com/tidwall/redcon\n```\n\nExample\n-------\n\nHere's a full example of a Redis clone that accepts:\n\n- SET key value\n- GET key\n- DEL key\n- PING\n- QUIT\n\nYou can run this example from a terminal:\n\n```sh\ngo run example/clone.go\n```\n\n```go\npackage main\n\nimport (\n\t\"log\"\n\t\"strings\"\n\t\"sync\"\n\n\t\"github.com/tidwall/redcon\"\n)\n\nvar addr = \":6380\"\n\nfunc main() {\n\tvar mu sync.RWMutex\n\tvar items = make(map[string][]byte)\n\tgo log.Printf(\"started server at %s\", addr)\n\terr := redcon.ListenAndServe(addr,\n\t\tfunc(conn redcon.Conn, cmd redcon.Command) {\n\t\t\tswitch strings.ToLower(string(cmd.Args[0])) {\n\t\t\tdefault:\n\t\t\t\tconn.WriteError(\"ERR unknown command '\" + string(cmd.Args[0]) + \"'\")\n\t\t\tcase \"ping\":\n\t\t\t\tconn.WriteString(\"PONG\")\n\t\t\tcase \"quit\":\n\t\t\t\tconn.WriteString(\"OK\")\n\t\t\t\tconn.Close()\n\t\t\tcase \"set\":\n\t\t\t\tif len(cmd.Args) != 3 {\n\t\t\t\t\tconn.WriteError(\"ERR wrong number of arguments for '\" + string(cmd.Args[0]) + \"' command\")\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tmu.Lock()\n\t\t\t\titems[string(cmd.Args[1])] = cmd.Args[2]\n\t\t\t\tmu.Unlock()\n\t\t\t\tconn.WriteString(\"OK\")\n\t\t\tcase \"get\":\n\t\t\t\tif len(cmd.Args) != 2 {\n\t\t\t\t\tconn.WriteError(\"ERR wrong number of arguments for '\" + string(cmd.Args[0]) + \"' command\")\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tmu.RLock()\n\t\t\t\tval, ok := items[string(cmd.Args[1])]\n\t\t\t\tmu.RUnlock()\n\t\t\t\tif !ok {\n\t\t\t\t\tconn.WriteNull()\n\t\t\t\t} else {\n\t\t\t\t\tconn.WriteBulk(val)\n\t\t\t\t}\n\t\t\tcase \"del\":\n\t\t\t\tif len(cmd.Args) != 2 {\n\t\t\t\t\tconn.WriteError(\"ERR wrong number of arguments for '\" + string(cmd.Args[0]) + \"' command\")\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tmu.Lock()\n\t\t\t\t_, ok := items[string(cmd.Args[1])]\n\t\t\t\tdelete(items, string(cmd.Args[1]))\n\t\t\t\tmu.Unlock()\n\t\t\t\tif !ok {\n\t\t\t\t\tconn.WriteInt(0)\n\t\t\t\t} else {\n\t\t\t\t\tconn.WriteInt(1)\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tfunc(conn redcon.Conn) bool {\n\t\t\t// use this function to accept or deny the connection.\n\t\t\t// log.Printf(\"accept: %s\", conn.RemoteAddr())\n\t\t\treturn true\n\t\t},\n\t\tfunc(conn redcon.Conn, err error) {\n\t\t\t// this is called when the connection has been closed\n\t\t\t// log.Printf(\"closed: %s, err: %v\", conn.RemoteAddr(), err)\n\t\t},\n\t)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n}\n```\n\nTLS Example\n-----------\n\nRedcon has full TLS support through the `ListenAndServeTLS` function.\n\nThe [same example](example/tls/clone.go) is also provided for serving Redcon over TLS. \n\n```sh\ngo run example/tls/clone.go\n```\n\nBenchmarks\n----------\n\n**Redis**: Single-threaded, no disk persistence.\n\n```\n$ redis-server --port 6379 --appendonly no\n```\n```\nredis-benchmark -p 6379 -t set,get -n 10000000 -q -P 512 -c 512\nSET: 941265.12 requests per second\nGET: 1189909.50 requests per second\n```\n\n**Redcon**: Single-threaded, no disk persistence.\n\n```\n$ GOMAXPROCS=1 go run example/clone.go\n```\n```\nredis-benchmark -p 6380 -t set,get -n 10000000 -q -P 512 -c 512\nSET: 2018570.88 requests per second\nGET: 2403846.25 requests per second\n```\n\n**Redcon**: Multi-threaded, no disk persistence.\n\n```\n$ GOMAXPROCS=0 go run example/clone.go\n```\n```\n$ redis-benchmark -p 6380 -t set,get -n 10000000 -q -P 512 -c 512\nSET: 1944390.38 requests per second\nGET: 3993610.25 requests per second\n```\n\n*Running on a MacBook Pro 15\" 2.8 GHz Intel Core i7 using Go 1.7*\n\nContact\n-------\nJosh Baker [@tidwall](http://twitter.com/tidwall)\n\nLicense\n-------\nRedcon source code is available under the MIT [License](/LICENSE).\n"
  },
  {
    "path": "vendor/github.com/tidwall/redcon/append.go",
    "content": "package redcon\n\nimport (\n\t\"strconv\"\n\t\"strings\"\n)\n\n// Kind is the kind of command\ntype Kind int\n\nconst (\n\t// Redis is returned for Redis protocol commands\n\tRedis Kind = iota\n\t// Tile38 is returnd for Tile38 native protocol commands\n\tTile38\n\t// Telnet is returnd for plain telnet commands\n\tTelnet\n)\n\nvar errInvalidMessage = &errProtocol{\"invalid message\"}\n\n// ReadNextCommand reads the next command from the provided packet. It's\n// possible that the packet contains multiple commands, or zero commands\n// when the packet is incomplete.\n// 'argsbuf' is an optional reusable buffer and it can be nil.\n// 'complete' indicates that a command was read. false means no more commands.\n// 'args' are the output arguments for the command.\n// 'kind' is the type of command that was read.\n// 'leftover' is any remaining unused bytes which belong to the next command.\n// 'err' is returned when a protocol error was encountered.\nfunc ReadNextCommand(packet []byte, argsbuf [][]byte) (\n\tcomplete bool, args [][]byte, kind Kind, leftover []byte, err error,\n) {\n\targs = argsbuf[:0]\n\tif len(packet) > 0 {\n\t\tif packet[0] != '*' {\n\t\t\tif packet[0] == '$' {\n\t\t\t\treturn readTile38Command(packet, args)\n\t\t\t}\n\t\t\treturn readTelnetCommand(packet, args)\n\t\t}\n\t\t// standard redis command\n\t\tfor s, i := 1, 1; i < len(packet); i++ {\n\t\t\tif packet[i] == '\\n' {\n\t\t\t\tif packet[i-1] != '\\r' {\n\t\t\t\t\treturn false, args[:0], Redis, packet, errInvalidMultiBulkLength\n\t\t\t\t}\n\t\t\t\tcount, ok := parseInt(packet[s : i-1])\n\t\t\t\tif !ok || count < 0 {\n\t\t\t\t\treturn false, args[:0], Redis, packet, errInvalidMultiBulkLength\n\t\t\t\t}\n\t\t\t\ti++\n\t\t\t\tif count == 0 {\n\t\t\t\t\treturn true, args[:0], Redis, packet[i:], nil\n\t\t\t\t}\n\t\t\tnextArg:\n\t\t\t\tfor j := 0; j < count; j++ {\n\t\t\t\t\tif i == len(packet) {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tif packet[i] != '$' {\n\t\t\t\t\t\treturn false, args[:0], Redis, packet,\n\t\t\t\t\t\t\t&errProtocol{\"expected '$', got '\" +\n\t\t\t\t\t\t\t\tstring(packet[i]) + \"'\"}\n\t\t\t\t\t}\n\t\t\t\t\tfor s := i + 1; i < len(packet); i++ {\n\t\t\t\t\t\tif packet[i] == '\\n' {\n\t\t\t\t\t\t\tif packet[i-1] != '\\r' {\n\t\t\t\t\t\t\t\treturn false, args[:0], Redis, packet, errInvalidBulkLength\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tn, ok := parseInt(packet[s : i-1])\n\t\t\t\t\t\t\tif !ok || count <= 0 {\n\t\t\t\t\t\t\t\treturn false, args[:0], Redis, packet, errInvalidBulkLength\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ti++\n\t\t\t\t\t\t\tif len(packet)-i >= n+2 {\n\t\t\t\t\t\t\t\tif packet[i+n] != '\\r' || packet[i+n+1] != '\\n' {\n\t\t\t\t\t\t\t\t\treturn false, args[:0], Redis, packet, errInvalidBulkLength\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\targs = append(args, packet[i:i+n])\n\t\t\t\t\t\t\t\ti += n + 2\n\t\t\t\t\t\t\t\tif j == count-1 {\n\t\t\t\t\t\t\t\t\t// done reading\n\t\t\t\t\t\t\t\t\treturn true, args, Redis, packet[i:], nil\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcontinue nextArg\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n\treturn false, args[:0], Redis, packet, nil\n}\n\nfunc readTile38Command(packet []byte, argsbuf [][]byte) (\n\tcomplete bool, args [][]byte, kind Kind, leftover []byte, err error,\n) {\n\tfor i := 1; i < len(packet); i++ {\n\t\tif packet[i] == ' ' {\n\t\t\tn, ok := parseInt(packet[1:i])\n\t\t\tif !ok || n < 0 {\n\t\t\t\treturn false, args[:0], Tile38, packet, errInvalidMessage\n\t\t\t}\n\t\t\ti++\n\t\t\tif len(packet) >= i+n+2 {\n\t\t\t\tif packet[i+n] != '\\r' || packet[i+n+1] != '\\n' {\n\t\t\t\t\treturn false, args[:0], Tile38, packet, errInvalidMessage\n\t\t\t\t}\n\t\t\t\tline := packet[i : i+n]\n\t\t\treading:\n\t\t\t\tfor len(line) != 0 {\n\t\t\t\t\tif line[0] == '{' {\n\t\t\t\t\t\t// The native protocol cannot understand json boundaries so it assumes that\n\t\t\t\t\t\t// a json element must be at the end of the line.\n\t\t\t\t\t\targs = append(args, line)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tif line[0] == '\"' && line[len(line)-1] == '\"' {\n\t\t\t\t\t\tif len(args) > 0 &&\n\t\t\t\t\t\t\tstrings.ToLower(string(args[0])) == \"set\" &&\n\t\t\t\t\t\t\tstrings.ToLower(string(args[len(args)-1])) == \"string\" {\n\t\t\t\t\t\t\t// Setting a string value that is contained inside double quotes.\n\t\t\t\t\t\t\t// This is only because of the boundary issues of the native protocol.\n\t\t\t\t\t\t\targs = append(args, line[1:len(line)-1])\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\ti := 0\n\t\t\t\t\tfor ; i < len(line); i++ {\n\t\t\t\t\t\tif line[i] == ' ' {\n\t\t\t\t\t\t\tvalue := line[:i]\n\t\t\t\t\t\t\tif len(value) > 0 {\n\t\t\t\t\t\t\t\targs = append(args, value)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tline = line[i+1:]\n\t\t\t\t\t\t\tcontinue reading\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\targs = append(args, line)\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\treturn true, args, Tile38, packet[i+n+2:], nil\n\t\t\t}\n\t\t\tbreak\n\t\t}\n\t}\n\treturn false, args[:0], Tile38, packet, nil\n}\nfunc readTelnetCommand(packet []byte, argsbuf [][]byte) (\n\tcomplete bool, args [][]byte, kind Kind, leftover []byte, err error,\n) {\n\t// just a plain text command\n\tfor i := 0; i < len(packet); i++ {\n\t\tif packet[i] == '\\n' {\n\t\t\tvar line []byte\n\t\t\tif i > 0 && packet[i-1] == '\\r' {\n\t\t\t\tline = packet[:i-1]\n\t\t\t} else {\n\t\t\t\tline = packet[:i]\n\t\t\t}\n\t\t\tvar quote bool\n\t\t\tvar quotech byte\n\t\t\tvar escape bool\n\t\touter:\n\t\t\tfor {\n\t\t\t\tnline := make([]byte, 0, len(line))\n\t\t\t\tfor i := 0; i < len(line); i++ {\n\t\t\t\t\tc := line[i]\n\t\t\t\t\tif !quote {\n\t\t\t\t\t\tif c == ' ' {\n\t\t\t\t\t\t\tif len(nline) > 0 {\n\t\t\t\t\t\t\t\targs = append(args, nline)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tline = line[i+1:]\n\t\t\t\t\t\t\tcontinue outer\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif c == '\"' || c == '\\'' {\n\t\t\t\t\t\t\tif i != 0 {\n\t\t\t\t\t\t\t\treturn false, args[:0], Telnet, packet, errUnbalancedQuotes\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tquotech = c\n\t\t\t\t\t\t\tquote = true\n\t\t\t\t\t\t\tline = line[i+1:]\n\t\t\t\t\t\t\tcontinue outer\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif escape {\n\t\t\t\t\t\t\tescape = false\n\t\t\t\t\t\t\tswitch c {\n\t\t\t\t\t\t\tcase 'n':\n\t\t\t\t\t\t\t\tc = '\\n'\n\t\t\t\t\t\t\tcase 'r':\n\t\t\t\t\t\t\t\tc = '\\r'\n\t\t\t\t\t\t\tcase 't':\n\t\t\t\t\t\t\t\tc = '\\t'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if c == quotech {\n\t\t\t\t\t\t\tquote = false\n\t\t\t\t\t\t\tquotech = 0\n\t\t\t\t\t\t\targs = append(args, nline)\n\t\t\t\t\t\t\tline = line[i+1:]\n\t\t\t\t\t\t\tif len(line) > 0 && line[0] != ' ' {\n\t\t\t\t\t\t\t\treturn false, args[:0], Telnet, packet, errUnbalancedQuotes\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcontinue outer\n\t\t\t\t\t\t} else if c == '\\\\' {\n\t\t\t\t\t\t\tescape = true\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tnline = append(nline, c)\n\t\t\t\t}\n\t\t\t\tif quote {\n\t\t\t\t\treturn false, args[:0], Telnet, packet, errUnbalancedQuotes\n\t\t\t\t}\n\t\t\t\tif len(line) > 0 {\n\t\t\t\t\targs = append(args, line)\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\t\t\treturn true, args, Telnet, packet[i+1:], nil\n\t\t}\n\t}\n\treturn false, args[:0], Telnet, packet, nil\n}\n\n// appendPrefix will append a \"$3\\r\\n\" style redis prefix for a message.\nfunc appendPrefix(b []byte, c byte, n int64) []byte {\n\tif n >= 0 && n <= 9 {\n\t\treturn append(b, c, byte('0'+n), '\\r', '\\n')\n\t}\n\tb = append(b, c)\n\tb = strconv.AppendInt(b, n, 10)\n\treturn append(b, '\\r', '\\n')\n}\n\n// AppendUint appends a Redis protocol uint64 to the input bytes.\nfunc AppendUint(b []byte, n uint64) []byte {\n\tb = append(b, ':')\n\tb = strconv.AppendUint(b, n, 10)\n\treturn append(b, '\\r', '\\n')\n}\n\n// AppendInt appends a Redis protocol int64 to the input bytes.\nfunc AppendInt(b []byte, n int64) []byte {\n\treturn appendPrefix(b, ':', n)\n}\n\n// AppendArray appends a Redis protocol array to the input bytes.\nfunc AppendArray(b []byte, n int) []byte {\n\treturn appendPrefix(b, '*', int64(n))\n}\n\n// AppendBulk appends a Redis protocol bulk byte slice to the input bytes.\nfunc AppendBulk(b []byte, bulk []byte) []byte {\n\tb = appendPrefix(b, '$', int64(len(bulk)))\n\tb = append(b, bulk...)\n\treturn append(b, '\\r', '\\n')\n}\n\n// AppendBulkString appends a Redis protocol bulk string to the input bytes.\nfunc AppendBulkString(b []byte, bulk string) []byte {\n\tb = appendPrefix(b, '$', int64(len(bulk)))\n\tb = append(b, bulk...)\n\treturn append(b, '\\r', '\\n')\n}\n\n// AppendString appends a Redis protocol string to the input bytes.\nfunc AppendString(b []byte, s string) []byte {\n\tb = append(b, '+')\n\tb = append(b, stripNewlines(s)...)\n\treturn append(b, '\\r', '\\n')\n}\n\n// AppendError appends a Redis protocol error to the input bytes.\nfunc AppendError(b []byte, s string) []byte {\n\tb = append(b, '-')\n\tb = append(b, stripNewlines(s)...)\n\treturn append(b, '\\r', '\\n')\n}\n\n// AppendOK appends a Redis protocol OK to the input bytes.\nfunc AppendOK(b []byte) []byte {\n\treturn append(b, '+', 'O', 'K', '\\r', '\\n')\n}\nfunc stripNewlines(s string) string {\n\tfor i := 0; i < len(s); i++ {\n\t\tif s[i] == '\\r' || s[i] == '\\n' {\n\t\t\ts = strings.Replace(s, \"\\r\", \" \", -1)\n\t\t\ts = strings.Replace(s, \"\\n\", \" \", -1)\n\t\t\tbreak\n\t\t}\n\t}\n\treturn s\n}\n\n// AppendTile38 appends a Tile38 message to the input bytes.\nfunc AppendTile38(b []byte, data []byte) []byte {\n\tb = append(b, '$')\n\tb = strconv.AppendInt(b, int64(len(data)), 10)\n\tb = append(b, ' ')\n\tb = append(b, data...)\n\treturn append(b, '\\r', '\\n')\n}\n\n// AppendNull appends a Redis protocol null to the input bytes.\nfunc AppendNull(b []byte) []byte {\n\treturn append(b, '$', '-', '1', '\\r', '\\n')\n}\n"
  },
  {
    "path": "vendor/github.com/tidwall/redcon/redcon.go",
    "content": "// Package redcon implements a Redis compatible server framework\npackage redcon\n\nimport (\n\t\"bufio\"\n\t\"crypto/tls\"\n\t\"errors\"\n\t\"io\"\n\t\"net\"\n\t\"sync\"\n)\n\nvar (\n\terrUnbalancedQuotes       = &errProtocol{\"unbalanced quotes in request\"}\n\terrInvalidBulkLength      = &errProtocol{\"invalid bulk length\"}\n\terrInvalidMultiBulkLength = &errProtocol{\"invalid multibulk length\"}\n\terrDetached               = errors.New(\"detached\")\n\terrIncompleteCommand      = errors.New(\"incomplete command\")\n\terrTooMuchData            = errors.New(\"too much data\")\n)\n\ntype errProtocol struct {\n\tmsg string\n}\n\nfunc (err *errProtocol) Error() string {\n\treturn \"Protocol error: \" + err.msg\n}\n\n// Conn represents a client connection\ntype Conn interface {\n\t// RemoteAddr returns the remote address of the client connection.\n\tRemoteAddr() string\n\t// Close closes the connection.\n\tClose() error\n\t// WriteError writes an error to the client.\n\tWriteError(msg string)\n\t// WriteString writes a string to the client.\n\tWriteString(str string)\n\t// WriteBulk writes bulk bytes to the client.\n\tWriteBulk(bulk []byte)\n\t// WriteBulkString writes a bulk string to the client.\n\tWriteBulkString(bulk string)\n\t// WriteInt writes an integer to the client.\n\tWriteInt(num int)\n\t// WriteInt64 writes a 64-but signed integer to the client.\n\tWriteInt64(num int64)\n\t// WriteArray writes an array header. You must then write additional\n\t// sub-responses to the client to complete the response.\n\t// For example to write two strings:\n\t//\n\t//   c.WriteArray(2)\n\t//   c.WriteBulk(\"item 1\")\n\t//   c.WriteBulk(\"item 2\")\n\tWriteArray(count int)\n\t// WriteNull writes a null to the client\n\tWriteNull()\n\t// WriteRaw writes raw data to the client.\n\tWriteRaw(data []byte)\n\t// Context returns a user-defined context\n\tContext() interface{}\n\t// SetContext sets a user-defined context\n\tSetContext(v interface{})\n\t// SetReadBuffer updates the buffer read size for the connection\n\tSetReadBuffer(bytes int)\n\t// Detach return a connection that is detached from the server.\n\t// Useful for operations like PubSub.\n\t//\n\t//   dconn := conn.Detach()\n\t//   go func(){\n\t//       defer dconn.Close()\n\t//       cmd, err := dconn.ReadCommand()\n\t//       if err != nil{\n\t//           fmt.Printf(\"read failed: %v\\n\", err)\n\t//\t         return\n\t//       }\n\t//       fmt.Printf(\"received command: %v\", cmd)\n\t//       hconn.WriteString(\"OK\")\n\t//       if err := dconn.Flush(); err != nil{\n\t//           fmt.Printf(\"write failed: %v\\n\", err)\n\t//\t         return\n\t//       }\n\t//   }()\n\tDetach() DetachedConn\n\t// ReadPipeline returns all commands in current pipeline, if any\n\t// The commands are removed from the pipeline.\n\tReadPipeline() []Command\n\t// PeekPipeline returns all commands in current pipeline, if any.\n\t// The commands remain in the pipeline.\n\tPeekPipeline() []Command\n\t// NetConn returns the base net.Conn connection\n\tNetConn() net.Conn\n}\n\n// NewServer returns a new Redcon server configured on \"tcp\" network net.\nfunc NewServer(addr string,\n\thandler func(conn Conn, cmd Command),\n\taccept func(conn Conn) bool,\n\tclosed func(conn Conn, err error),\n) *Server {\n\treturn NewServerNetwork(\"tcp\", addr, handler, accept, closed)\n}\n\n// NewServerTLS returns a new Redcon TLS server configured on \"tcp\" network net.\nfunc NewServerTLS(addr string,\n\thandler func(conn Conn, cmd Command),\n\taccept func(conn Conn) bool,\n\tclosed func(conn Conn, err error),\n\tconfig *tls.Config,\n) *TLSServer {\n\treturn NewServerNetworkTLS(\"tcp\", addr, handler, accept, closed, config)\n}\n\n// NewServerNetwork returns a new Redcon server. The network net must be\n// a stream-oriented network: \"tcp\", \"tcp4\", \"tcp6\", \"unix\" or \"unixpacket\"\nfunc NewServerNetwork(\n\tnet, laddr string,\n\thandler func(conn Conn, cmd Command),\n\taccept func(conn Conn) bool,\n\tclosed func(conn Conn, err error),\n) *Server {\n\tif handler == nil {\n\t\tpanic(\"handler is nil\")\n\t}\n\ts := &Server{\n\t\tnet:     net,\n\t\tladdr:   laddr,\n\t\thandler: handler,\n\t\taccept:  accept,\n\t\tclosed:  closed,\n\t\tconns:   make(map[*conn]bool),\n\t}\n\treturn s\n}\n\n// NewServerNetworkTLS returns a new TLS Redcon server. The network net must be\n// a stream-oriented network: \"tcp\", \"tcp4\", \"tcp6\", \"unix\" or \"unixpacket\"\nfunc NewServerNetworkTLS(\n\tnet, laddr string,\n\thandler func(conn Conn, cmd Command),\n\taccept func(conn Conn) bool,\n\tclosed func(conn Conn, err error),\n\tconfig *tls.Config,\n) *TLSServer {\n\tif handler == nil {\n\t\tpanic(\"handler is nil\")\n\t}\n\ts := Server{\n\t\tnet:     net,\n\t\tladdr:   laddr,\n\t\thandler: handler,\n\t\taccept:  accept,\n\t\tclosed:  closed,\n\t\tconns:   make(map[*conn]bool),\n\t}\n\n\ttls := &TLSServer{\n\t\tconfig: config,\n\t\tServer: &s,\n\t}\n\treturn tls\n}\n\n// Close stops listening on the TCP address.\n// Already Accepted connections will be closed.\nfunc (s *Server) Close() error {\n\ts.mu.Lock()\n\tdefer s.mu.Unlock()\n\tif s.ln == nil {\n\t\treturn errors.New(\"not serving\")\n\t}\n\ts.done = true\n\treturn s.ln.Close()\n}\n\n// ListenAndServe serves incoming connections.\nfunc (s *Server) ListenAndServe() error {\n\treturn s.ListenServeAndSignal(nil)\n}\n\n// Addr returns server's listen address\nfunc (s *Server) Addr() net.Addr {\n\treturn s.ln.Addr()\n}\n\n// Close stops listening on the TCP address.\n// Already Accepted connections will be closed.\nfunc (s *TLSServer) Close() error {\n\ts.mu.Lock()\n\tdefer s.mu.Unlock()\n\tif s.ln == nil {\n\t\treturn errors.New(\"not serving\")\n\t}\n\ts.done = true\n\treturn s.ln.Close()\n}\n\n// ListenAndServe serves incoming connections.\nfunc (s *TLSServer) ListenAndServe() error {\n\treturn s.ListenServeAndSignal(nil)\n}\n\n// ListenAndServe creates a new server and binds to addr configured on \"tcp\" network net.\nfunc ListenAndServe(addr string,\n\thandler func(conn Conn, cmd Command),\n\taccept func(conn Conn) bool,\n\tclosed func(conn Conn, err error),\n) error {\n\treturn ListenAndServeNetwork(\"tcp\", addr, handler, accept, closed)\n}\n\n// ListenAndServeTLS creates a new TLS server and binds to addr configured on \"tcp\" network net.\nfunc ListenAndServeTLS(addr string,\n\thandler func(conn Conn, cmd Command),\n\taccept func(conn Conn) bool,\n\tclosed func(conn Conn, err error),\n\tconfig *tls.Config,\n) error {\n\treturn ListenAndServeNetworkTLS(\"tcp\", addr, handler, accept, closed, config)\n}\n\n// ListenAndServeNetwork creates a new server and binds to addr. The network net must be\n// a stream-oriented network: \"tcp\", \"tcp4\", \"tcp6\", \"unix\" or \"unixpacket\"\nfunc ListenAndServeNetwork(\n\tnet, laddr string,\n\thandler func(conn Conn, cmd Command),\n\taccept func(conn Conn) bool,\n\tclosed func(conn Conn, err error),\n) error {\n\treturn NewServerNetwork(net, laddr, handler, accept, closed).ListenAndServe()\n}\n\n// ListenAndServeNetworkTLS creates a new TLS server and binds to addr. The network net must be\n// a stream-oriented network: \"tcp\", \"tcp4\", \"tcp6\", \"unix\" or \"unixpacket\"\nfunc ListenAndServeNetworkTLS(\n\tnet, laddr string,\n\thandler func(conn Conn, cmd Command),\n\taccept func(conn Conn) bool,\n\tclosed func(conn Conn, err error),\n\tconfig *tls.Config,\n) error {\n\treturn NewServerNetworkTLS(net, laddr, handler, accept, closed, config).ListenAndServe()\n}\n\n// ListenServeAndSignal serves incoming connections and passes nil or error\n// when listening. signal can be nil.\nfunc (s *Server) ListenServeAndSignal(signal chan error) error {\n\tln, err := net.Listen(s.net, s.laddr)\n\tif err != nil {\n\t\tif signal != nil {\n\t\t\tsignal <- err\n\t\t}\n\t\treturn err\n\t}\n\ts.ln = ln\n\tif signal != nil {\n\t\tsignal <- nil\n\t}\n\treturn serve(s)\n}\n\n// ListenServeAndSignal serves incoming connections and passes nil or error\n// when listening. signal can be nil.\nfunc (s *TLSServer) ListenServeAndSignal(signal chan error) error {\n\tln, err := tls.Listen(s.net, s.laddr, s.config)\n\tif err != nil {\n\t\tif signal != nil {\n\t\t\tsignal <- err\n\t\t}\n\t\treturn err\n\t}\n\ts.ln = ln\n\tif signal != nil {\n\t\tsignal <- nil\n\t}\n\treturn serve(s.Server)\n}\n\nfunc serve(s *Server) error {\n\tdefer func() {\n\t\ts.ln.Close()\n\t\tfunc() {\n\t\t\ts.mu.Lock()\n\t\t\tdefer s.mu.Unlock()\n\t\t\tfor c := range s.conns {\n\t\t\t\tc.Close()\n\t\t\t}\n\t\t\ts.conns = nil\n\t\t}()\n\t}()\n\tfor {\n\t\tlnconn, err := s.ln.Accept()\n\t\tif err != nil {\n\t\t\ts.mu.Lock()\n\t\t\tdone := s.done\n\t\t\ts.mu.Unlock()\n\t\t\tif done {\n\t\t\t\treturn nil\n\t\t\t}\n\t\t\treturn err\n\t\t}\n\t\tc := &conn{\n\t\t\tconn: lnconn,\n\t\t\taddr: lnconn.RemoteAddr().String(),\n\t\t\twr:   NewWriter(lnconn),\n\t\t\trd:   NewReader(lnconn),\n\t\t}\n\t\ts.mu.Lock()\n\t\ts.conns[c] = true\n\t\ts.mu.Unlock()\n\t\tif s.accept != nil && !s.accept(c) {\n\t\t\ts.mu.Lock()\n\t\t\tdelete(s.conns, c)\n\t\t\ts.mu.Unlock()\n\t\t\tc.Close()\n\t\t\tcontinue\n\t\t}\n\t\tgo handle(s, c)\n\t}\n}\n\n// handle manages the server connection.\nfunc handle(s *Server, c *conn) {\n\tvar err error\n\tdefer func() {\n\t\tif err != errDetached {\n\t\t\t// do not close the connection when a detach is detected.\n\t\t\tc.conn.Close()\n\t\t}\n\t\tfunc() {\n\t\t\t// remove the conn from the server\n\t\t\ts.mu.Lock()\n\t\t\tdefer s.mu.Unlock()\n\t\t\tdelete(s.conns, c)\n\t\t\tif s.closed != nil {\n\t\t\t\tif err == io.EOF {\n\t\t\t\t\terr = nil\n\t\t\t\t}\n\t\t\t\ts.closed(c, err)\n\t\t\t}\n\t\t}()\n\t}()\n\n\terr = func() error {\n\t\t// read commands and feed back to the client\n\t\tfor {\n\t\t\t// read pipeline commands\n\t\t\tcmds, err := c.rd.readCommands(nil)\n\t\t\tif err != nil {\n\t\t\t\tif err, ok := err.(*errProtocol); ok {\n\t\t\t\t\t// All protocol errors should attempt a response to\n\t\t\t\t\t// the client. Ignore write errors.\n\t\t\t\t\tc.wr.WriteError(\"ERR \" + err.Error())\n\t\t\t\t\tc.wr.Flush()\n\t\t\t\t}\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tc.cmds = cmds\n\t\t\tfor len(c.cmds) > 0 {\n\t\t\t\tcmd := c.cmds[0]\n\t\t\t\tif len(c.cmds) == 1 {\n\t\t\t\t\tc.cmds = nil\n\t\t\t\t} else {\n\t\t\t\t\tc.cmds = c.cmds[1:]\n\t\t\t\t}\n\t\t\t\ts.handler(c, cmd)\n\t\t\t}\n\t\t\tif c.detached {\n\t\t\t\t// client has been detached\n\t\t\t\treturn errDetached\n\t\t\t}\n\t\t\tif c.closed {\n\t\t\t\treturn nil\n\t\t\t}\n\t\t\tif err := c.wr.Flush(); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t}()\n}\n\n// conn represents a client connection\ntype conn struct {\n\tconn     net.Conn\n\twr       *Writer\n\trd       *Reader\n\taddr     string\n\tctx      interface{}\n\tdetached bool\n\tclosed   bool\n\tcmds     []Command\n}\n\nfunc (c *conn) Close() error {\n\tc.wr.Flush()\n\tc.closed = true\n\treturn c.conn.Close()\n}\nfunc (c *conn) Context() interface{}        { return c.ctx }\nfunc (c *conn) SetContext(v interface{})    { c.ctx = v }\nfunc (c *conn) SetReadBuffer(n int)         {}\nfunc (c *conn) WriteString(str string)      { c.wr.WriteString(str) }\nfunc (c *conn) WriteBulk(bulk []byte)       { c.wr.WriteBulk(bulk) }\nfunc (c *conn) WriteBulkString(bulk string) { c.wr.WriteBulkString(bulk) }\nfunc (c *conn) WriteInt(num int)            { c.wr.WriteInt(num) }\nfunc (c *conn) WriteInt64(num int64)        { c.wr.WriteInt64(num) }\nfunc (c *conn) WriteError(msg string)       { c.wr.WriteError(msg) }\nfunc (c *conn) WriteArray(count int)        { c.wr.WriteArray(count) }\nfunc (c *conn) WriteNull()                  { c.wr.WriteNull() }\nfunc (c *conn) WriteRaw(data []byte)        { c.wr.WriteRaw(data) }\nfunc (c *conn) RemoteAddr() string          { return c.addr }\nfunc (c *conn) ReadPipeline() []Command {\n\tcmds := c.cmds\n\tc.cmds = nil\n\treturn cmds\n}\nfunc (c *conn) PeekPipeline() []Command {\n\treturn c.cmds\n}\nfunc (c *conn) NetConn() net.Conn {\n\treturn c.conn\n}\n\n// BaseWriter returns the underlying connection writer, if any\nfunc BaseWriter(c Conn) *Writer {\n\tif c, ok := c.(*conn); ok {\n\t\treturn c.wr\n\t}\n\treturn nil\n}\n\n// DetachedConn represents a connection that is detached from the server\ntype DetachedConn interface {\n\t// Conn is the original connection\n\tConn\n\t// ReadCommand reads the next client command.\n\tReadCommand() (Command, error)\n\t// Flush flushes any writes to the network.\n\tFlush() error\n}\n\n// Detach removes the current connection from the server loop and returns\n// a detached connection. This is useful for operations such as PubSub.\n// The detached connection must be closed by calling Close() when done.\n// All writes such as WriteString() will not be written to the client\n// until Flush() is called.\nfunc (c *conn) Detach() DetachedConn {\n\tc.detached = true\n\tcmds := c.cmds\n\tc.cmds = nil\n\treturn &detachedConn{conn: c, cmds: cmds}\n}\n\ntype detachedConn struct {\n\t*conn\n\tcmds []Command\n}\n\n// Flush writes and Write* calls to the client.\nfunc (dc *detachedConn) Flush() error {\n\treturn dc.conn.wr.Flush()\n}\n\n// ReadCommand read the next command from the client.\nfunc (dc *detachedConn) ReadCommand() (Command, error) {\n\tif dc.closed {\n\t\treturn Command{}, errors.New(\"closed\")\n\t}\n\tif len(dc.cmds) > 0 {\n\t\tcmd := dc.cmds[0]\n\t\tif len(dc.cmds) == 1 {\n\t\t\tdc.cmds = nil\n\t\t} else {\n\t\t\tdc.cmds = dc.cmds[1:]\n\t\t}\n\t\treturn cmd, nil\n\t}\n\tcmd, err := dc.rd.ReadCommand()\n\tif err != nil {\n\t\treturn Command{}, err\n\t}\n\treturn cmd, nil\n}\n\n// Command represent a command\ntype Command struct {\n\t// Raw is a encoded RESP message.\n\tRaw []byte\n\t// Args is a series of arguments that make up the command.\n\tArgs [][]byte\n}\n\n// Server defines a server for clients for managing client connections.\ntype Server struct {\n\tmu      sync.Mutex\n\tnet     string\n\tladdr   string\n\thandler func(conn Conn, cmd Command)\n\taccept  func(conn Conn) bool\n\tclosed  func(conn Conn, err error)\n\tconns   map[*conn]bool\n\tln      net.Listener\n\tdone    bool\n}\n\n// TLSServer defines a server for clients for managing client connections.\ntype TLSServer struct {\n\t*Server\n\tconfig *tls.Config\n}\n\n// Writer allows for writing RESP messages.\ntype Writer struct {\n\tw io.Writer\n\tb []byte\n}\n\n// NewWriter creates a new RESP writer.\nfunc NewWriter(wr io.Writer) *Writer {\n\treturn &Writer{\n\t\tw: wr,\n\t}\n}\n\n// WriteNull writes a null to the client\nfunc (w *Writer) WriteNull() {\n\tw.b = AppendNull(w.b)\n}\n\n// WriteArray writes an array header. You must then write additional\n// sub-responses to the client to complete the response.\n// For example to write two strings:\n//\n//   c.WriteArray(2)\n//   c.WriteBulk(\"item 1\")\n//   c.WriteBulk(\"item 2\")\nfunc (w *Writer) WriteArray(count int) {\n\tw.b = AppendArray(w.b, count)\n}\n\n// WriteBulk writes bulk bytes to the client.\nfunc (w *Writer) WriteBulk(bulk []byte) {\n\tw.b = AppendBulk(w.b, bulk)\n}\n\n// WriteBulkString writes a bulk string to the client.\nfunc (w *Writer) WriteBulkString(bulk string) {\n\tw.b = AppendBulkString(w.b, bulk)\n}\n\n// Buffer returns the unflushed buffer. This is a copy so changes\n// to the resulting []byte will not affect the writer.\nfunc (w *Writer) Buffer() []byte {\n\treturn append([]byte(nil), w.b...)\n}\n\n// SetBuffer replaces the unflushed buffer with new bytes.\nfunc (w *Writer) SetBuffer(raw []byte) {\n\tw.b = w.b[:0]\n\tw.b = append(w.b, raw...)\n}\n\n// Flush writes all unflushed Write* calls to the underlying writer.\nfunc (w *Writer) Flush() error {\n\tif _, err := w.w.Write(w.b); err != nil {\n\t\treturn err\n\t}\n\tw.b = w.b[:0]\n\treturn nil\n}\n\n// WriteError writes an error to the client.\nfunc (w *Writer) WriteError(msg string) {\n\tw.b = AppendError(w.b, msg)\n}\n\n// WriteString writes a string to the client.\nfunc (w *Writer) WriteString(msg string) {\n\tw.b = AppendString(w.b, msg)\n}\n\n// WriteInt writes an integer to the client.\nfunc (w *Writer) WriteInt(num int) {\n\tw.WriteInt64(int64(num))\n}\n\n// WriteInt64 writes a 64-bit signed integer to the client.\nfunc (w *Writer) WriteInt64(num int64) {\n\tw.b = AppendInt(w.b, num)\n}\n\n// WriteRaw writes raw data to the client.\nfunc (w *Writer) WriteRaw(data []byte) {\n\tw.b = append(w.b, data...)\n}\n\n// Reader represent a reader for RESP or telnet commands.\ntype Reader struct {\n\trd    *bufio.Reader\n\tbuf   []byte\n\tstart int\n\tend   int\n\tcmds  []Command\n}\n\n// NewReader returns a command reader which will read RESP or telnet commands.\nfunc NewReader(rd io.Reader) *Reader {\n\treturn &Reader{\n\t\trd:  bufio.NewReader(rd),\n\t\tbuf: make([]byte, 4096),\n\t}\n}\n\nfunc parseInt(b []byte) (int, bool) {\n\tif len(b) == 1 && b[0] >= '0' && b[0] <= '9' {\n\t\treturn int(b[0] - '0'), true\n\t}\n\tvar n int\n\tvar sign bool\n\tvar i int\n\tif len(b) > 0 && b[0] == '-' {\n\t\tsign = true\n\t\ti++\n\t}\n\tfor ; i < len(b); i++ {\n\t\tif b[i] < '0' || b[i] > '9' {\n\t\t\treturn 0, false\n\t\t}\n\t\tn = n*10 + int(b[i]-'0')\n\t}\n\tif sign {\n\t\tn *= -1\n\t}\n\treturn n, true\n}\n\nfunc (rd *Reader) readCommands(leftover *int) ([]Command, error) {\n\tvar cmds []Command\n\tb := rd.buf[rd.start:rd.end]\n\tif rd.end-rd.start == 0 && len(rd.buf) > 4096 {\n\t\trd.buf = rd.buf[:4096]\n\t\trd.start = 0\n\t\trd.end = 0\n\t}\n\tif len(b) > 0 {\n\t\t// we have data, yay!\n\t\t// but is this enough data for a complete command? or multiple?\n\tnext:\n\t\tswitch b[0] {\n\t\tdefault:\n\t\t\t// just a plain text command\n\t\t\tfor i := 0; i < len(b); i++ {\n\t\t\t\tif b[i] == '\\n' {\n\t\t\t\t\tvar line []byte\n\t\t\t\t\tif i > 0 && b[i-1] == '\\r' {\n\t\t\t\t\t\tline = b[:i-1]\n\t\t\t\t\t} else {\n\t\t\t\t\t\tline = b[:i]\n\t\t\t\t\t}\n\t\t\t\t\tvar cmd Command\n\t\t\t\t\tvar quote bool\n\t\t\t\t\tvar quotech byte\n\t\t\t\t\tvar escape bool\n\t\t\t\touter:\n\t\t\t\t\tfor {\n\t\t\t\t\t\tnline := make([]byte, 0, len(line))\n\t\t\t\t\t\tfor i := 0; i < len(line); i++ {\n\t\t\t\t\t\t\tc := line[i]\n\t\t\t\t\t\t\tif !quote {\n\t\t\t\t\t\t\t\tif c == ' ' {\n\t\t\t\t\t\t\t\t\tif len(nline) > 0 {\n\t\t\t\t\t\t\t\t\t\tcmd.Args = append(cmd.Args, nline)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tline = line[i+1:]\n\t\t\t\t\t\t\t\t\tcontinue outer\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif c == '\"' || c == '\\'' {\n\t\t\t\t\t\t\t\t\tif i != 0 {\n\t\t\t\t\t\t\t\t\t\treturn nil, errUnbalancedQuotes\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tquotech = c\n\t\t\t\t\t\t\t\t\tquote = true\n\t\t\t\t\t\t\t\t\tline = line[i+1:]\n\t\t\t\t\t\t\t\t\tcontinue outer\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tif escape {\n\t\t\t\t\t\t\t\t\tescape = false\n\t\t\t\t\t\t\t\t\tswitch c {\n\t\t\t\t\t\t\t\t\tcase 'n':\n\t\t\t\t\t\t\t\t\t\tc = '\\n'\n\t\t\t\t\t\t\t\t\tcase 'r':\n\t\t\t\t\t\t\t\t\t\tc = '\\r'\n\t\t\t\t\t\t\t\t\tcase 't':\n\t\t\t\t\t\t\t\t\t\tc = '\\t'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else if c == quotech {\n\t\t\t\t\t\t\t\t\tquote = false\n\t\t\t\t\t\t\t\t\tquotech = 0\n\t\t\t\t\t\t\t\t\tcmd.Args = append(cmd.Args, nline)\n\t\t\t\t\t\t\t\t\tline = line[i+1:]\n\t\t\t\t\t\t\t\t\tif len(line) > 0 && line[0] != ' ' {\n\t\t\t\t\t\t\t\t\t\treturn nil, errUnbalancedQuotes\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcontinue outer\n\t\t\t\t\t\t\t\t} else if c == '\\\\' {\n\t\t\t\t\t\t\t\t\tescape = true\n\t\t\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tnline = append(nline, c)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif quote {\n\t\t\t\t\t\t\treturn nil, errUnbalancedQuotes\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif len(line) > 0 {\n\t\t\t\t\t\t\tcmd.Args = append(cmd.Args, line)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tif len(cmd.Args) > 0 {\n\t\t\t\t\t\t// convert this to resp command syntax\n\t\t\t\t\t\tvar wr Writer\n\t\t\t\t\t\twr.WriteArray(len(cmd.Args))\n\t\t\t\t\t\tfor i := range cmd.Args {\n\t\t\t\t\t\t\twr.WriteBulk(cmd.Args[i])\n\t\t\t\t\t\t\tcmd.Args[i] = append([]byte(nil), cmd.Args[i]...)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcmd.Raw = wr.b\n\t\t\t\t\t\tcmds = append(cmds, cmd)\n\t\t\t\t\t}\n\t\t\t\t\tb = b[i+1:]\n\t\t\t\t\tif len(b) > 0 {\n\t\t\t\t\t\tgoto next\n\t\t\t\t\t} else {\n\t\t\t\t\t\tgoto done\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\tcase '*':\n\t\t\t// resp formatted command\n\t\t\tmarks := make([]int, 0, 16)\n\t\touter2:\n\t\t\tfor i := 1; i < len(b); i++ {\n\t\t\t\tif b[i] == '\\n' {\n\t\t\t\t\tif b[i-1] != '\\r' {\n\t\t\t\t\t\treturn nil, errInvalidMultiBulkLength\n\t\t\t\t\t}\n\t\t\t\t\tcount, ok := parseInt(b[1 : i-1])\n\t\t\t\t\tif !ok || count <= 0 {\n\t\t\t\t\t\treturn nil, errInvalidMultiBulkLength\n\t\t\t\t\t}\n\t\t\t\t\tmarks = marks[:0]\n\t\t\t\t\tfor j := 0; j < count; j++ {\n\t\t\t\t\t\t// read bulk length\n\t\t\t\t\t\ti++\n\t\t\t\t\t\tif i < len(b) {\n\t\t\t\t\t\t\tif b[i] != '$' {\n\t\t\t\t\t\t\t\treturn nil, &errProtocol{\"expected '$', got '\" +\n\t\t\t\t\t\t\t\t\tstring(b[i]) + \"'\"}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsi := i\n\t\t\t\t\t\t\tfor ; i < len(b); i++ {\n\t\t\t\t\t\t\t\tif b[i] == '\\n' {\n\t\t\t\t\t\t\t\t\tif b[i-1] != '\\r' {\n\t\t\t\t\t\t\t\t\t\treturn nil, errInvalidBulkLength\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tsize, ok := parseInt(b[si+1 : i-1])\n\t\t\t\t\t\t\t\t\tif !ok || size < 0 {\n\t\t\t\t\t\t\t\t\t\treturn nil, errInvalidBulkLength\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif i+size+2 >= len(b) {\n\t\t\t\t\t\t\t\t\t\t// not ready\n\t\t\t\t\t\t\t\t\t\tbreak outer2\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif b[i+size+2] != '\\n' ||\n\t\t\t\t\t\t\t\t\t\tb[i+size+1] != '\\r' {\n\t\t\t\t\t\t\t\t\t\treturn nil, errInvalidBulkLength\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\ti++\n\t\t\t\t\t\t\t\t\tmarks = append(marks, i, i+size)\n\t\t\t\t\t\t\t\t\ti += size + 1\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif len(marks) == count*2 {\n\t\t\t\t\t\tvar cmd Command\n\t\t\t\t\t\tif rd.rd != nil {\n\t\t\t\t\t\t\t// make a raw copy of the entire command when\n\t\t\t\t\t\t\t// there's a underlying reader.\n\t\t\t\t\t\t\tcmd.Raw = append([]byte(nil), b[:i+1]...)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// just assign the slice\n\t\t\t\t\t\t\tcmd.Raw = b[:i+1]\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcmd.Args = make([][]byte, len(marks)/2)\n\t\t\t\t\t\t// slice up the raw command into the args based on\n\t\t\t\t\t\t// the recorded marks.\n\t\t\t\t\t\tfor h := 0; h < len(marks); h += 2 {\n\t\t\t\t\t\t\tcmd.Args[h/2] = cmd.Raw[marks[h]:marks[h+1]]\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcmds = append(cmds, cmd)\n\t\t\t\t\t\tb = b[i+1:]\n\t\t\t\t\t\tif len(b) > 0 {\n\t\t\t\t\t\t\tgoto next\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tgoto done\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\tdone:\n\t\trd.start = rd.end - len(b)\n\t}\n\tif leftover != nil {\n\t\t*leftover = rd.end - rd.start\n\t}\n\tif len(cmds) > 0 {\n\t\treturn cmds, nil\n\t}\n\tif rd.rd == nil {\n\t\treturn nil, errIncompleteCommand\n\t}\n\tif rd.end == len(rd.buf) {\n\t\t// at the end of the buffer.\n\t\tif rd.start == rd.end {\n\t\t\t// rewind the to the beginning\n\t\t\trd.start, rd.end = 0, 0\n\t\t} else {\n\t\t\t// must grow the buffer\n\t\t\tnewbuf := make([]byte, len(rd.buf)*2)\n\t\t\tcopy(newbuf, rd.buf)\n\t\t\trd.buf = newbuf\n\t\t}\n\t}\n\tn, err := rd.rd.Read(rd.buf[rd.end:])\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\trd.end += n\n\treturn rd.readCommands(leftover)\n}\n\n// ReadCommand reads the next command.\nfunc (rd *Reader) ReadCommand() (Command, error) {\n\tif len(rd.cmds) > 0 {\n\t\tcmd := rd.cmds[0]\n\t\trd.cmds = rd.cmds[1:]\n\t\treturn cmd, nil\n\t}\n\tcmds, err := rd.readCommands(nil)\n\tif err != nil {\n\t\treturn Command{}, err\n\t}\n\trd.cmds = cmds\n\treturn rd.ReadCommand()\n}\n\n// Parse parses a raw RESP message and returns a command.\nfunc Parse(raw []byte) (Command, error) {\n\trd := Reader{buf: raw, end: len(raw)}\n\tvar leftover int\n\tcmds, err := rd.readCommands(&leftover)\n\tif err != nil {\n\t\treturn Command{}, err\n\t}\n\tif leftover > 0 {\n\t\treturn Command{}, errTooMuchData\n\t}\n\treturn cmds[0], nil\n\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/AUTHORS",
    "content": "# This source code refers to The Go Authors for copyright purposes.\n# The master list of authors is in the main Go distribution,\n# visible at http://tip.golang.org/AUTHORS.\n"
  },
  {
    "path": "vendor/golang.org/x/net/CONTRIBUTORS",
    "content": "# This source code was written by the Go contributors.\n# The master list of contributors is in the main Go distribution,\n# visible at http://tip.golang.org/CONTRIBUTORS.\n"
  },
  {
    "path": "vendor/golang.org/x/net/LICENSE",
    "content": "Copyright (c) 2009 The Go Authors. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n   * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n   * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n   * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
  },
  {
    "path": "vendor/golang.org/x/net/PATENTS",
    "content": "Additional IP Rights Grant (Patents)\n\n\"This implementation\" means the copyrightable works distributed by\nGoogle as part of the Go project.\n\nGoogle hereby grants to You a perpetual, worldwide, non-exclusive,\nno-charge, royalty-free, irrevocable (except as stated in this section)\npatent license to make, have made, use, offer to sell, sell, import,\ntransfer and otherwise run, modify and propagate the contents of this\nimplementation of Go, where such license applies only to those patent\nclaims, both currently owned or controlled by Google and acquired in\nthe future, licensable by Google that are necessarily infringed by this\nimplementation of Go.  This grant does not include claims that would be\ninfringed only as a consequence of further modification of this\nimplementation.  If you or your agent or exclusive licensee institute or\norder or agree to the institution of patent litigation against any\nentity (including a cross-claim or counterclaim in a lawsuit) alleging\nthat this implementation of Go or any code incorporated within this\nimplementation of Go constitutes direct or contributory patent\ninfringement, or inducement of patent infringement, then any patent\nrights granted to you under this License for this implementation of Go\nshall terminate as of the date such litigation is filed.\n"
  },
  {
    "path": "vendor/golang.org/x/net/context/context.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package context defines the Context type, which carries deadlines,\n// cancelation signals, and other request-scoped values across API boundaries\n// and between processes.\n// As of Go 1.7 this package is available in the standard library under the\n// name context.  https://golang.org/pkg/context.\n//\n// Incoming requests to a server should create a Context, and outgoing calls to\n// servers should accept a Context. The chain of function calls between must\n// propagate the Context, optionally replacing it with a modified copy created\n// using WithDeadline, WithTimeout, WithCancel, or WithValue.\n//\n// Programs that use Contexts should follow these rules to keep interfaces\n// consistent across packages and enable static analysis tools to check context\n// propagation:\n//\n// Do not store Contexts inside a struct type; instead, pass a Context\n// explicitly to each function that needs it. The Context should be the first\n// parameter, typically named ctx:\n//\n// \tfunc DoSomething(ctx context.Context, arg Arg) error {\n// \t\t// ... use ctx ...\n// \t}\n//\n// Do not pass a nil Context, even if a function permits it. Pass context.TODO\n// if you are unsure about which Context to use.\n//\n// Use context Values only for request-scoped data that transits processes and\n// APIs, not for passing optional parameters to functions.\n//\n// The same Context may be passed to functions running in different goroutines;\n// Contexts are safe for simultaneous use by multiple goroutines.\n//\n// See http://blog.golang.org/context for example code for a server that uses\n// Contexts.\npackage context // import \"golang.org/x/net/context\"\n\n// Background returns a non-nil, empty Context. It is never canceled, has no\n// values, and has no deadline. It is typically used by the main function,\n// initialization, and tests, and as the top-level Context for incoming\n// requests.\nfunc Background() Context {\n\treturn background\n}\n\n// TODO returns a non-nil, empty Context. Code should use context.TODO when\n// it's unclear which Context to use or it is not yet available (because the\n// surrounding function has not yet been extended to accept a Context\n// parameter).  TODO is recognized by static analysis tools that determine\n// whether Contexts are propagated correctly in a program.\nfunc TODO() Context {\n\treturn todo\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/context/go17.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build go1.7\n\npackage context\n\nimport (\n\t\"context\" // standard library's context, as of Go 1.7\n\t\"time\"\n)\n\nvar (\n\ttodo       = context.TODO()\n\tbackground = context.Background()\n)\n\n// Canceled is the error returned by Context.Err when the context is canceled.\nvar Canceled = context.Canceled\n\n// DeadlineExceeded is the error returned by Context.Err when the context's\n// deadline passes.\nvar DeadlineExceeded = context.DeadlineExceeded\n\n// WithCancel returns a copy of parent with a new Done channel. The returned\n// context's Done channel is closed when the returned cancel function is called\n// or when the parent context's Done channel is closed, whichever happens first.\n//\n// Canceling this context releases resources associated with it, so code should\n// call cancel as soon as the operations running in this Context complete.\nfunc WithCancel(parent Context) (ctx Context, cancel CancelFunc) {\n\tctx, f := context.WithCancel(parent)\n\treturn ctx, CancelFunc(f)\n}\n\n// WithDeadline returns a copy of the parent context with the deadline adjusted\n// to be no later than d. If the parent's deadline is already earlier than d,\n// WithDeadline(parent, d) is semantically equivalent to parent. The returned\n// context's Done channel is closed when the deadline expires, when the returned\n// cancel function is called, or when the parent context's Done channel is\n// closed, whichever happens first.\n//\n// Canceling this context releases resources associated with it, so code should\n// call cancel as soon as the operations running in this Context complete.\nfunc WithDeadline(parent Context, deadline time.Time) (Context, CancelFunc) {\n\tctx, f := context.WithDeadline(parent, deadline)\n\treturn ctx, CancelFunc(f)\n}\n\n// WithTimeout returns WithDeadline(parent, time.Now().Add(timeout)).\n//\n// Canceling this context releases resources associated with it, so code should\n// call cancel as soon as the operations running in this Context complete:\n//\n// \tfunc slowOperationWithTimeout(ctx context.Context) (Result, error) {\n// \t\tctx, cancel := context.WithTimeout(ctx, 100*time.Millisecond)\n// \t\tdefer cancel()  // releases resources if slowOperation completes before timeout elapses\n// \t\treturn slowOperation(ctx)\n// \t}\nfunc WithTimeout(parent Context, timeout time.Duration) (Context, CancelFunc) {\n\treturn WithDeadline(parent, time.Now().Add(timeout))\n}\n\n// WithValue returns a copy of parent in which the value associated with key is\n// val.\n//\n// Use context Values only for request-scoped data that transits processes and\n// APIs, not for passing optional parameters to functions.\nfunc WithValue(parent Context, key interface{}, val interface{}) Context {\n\treturn context.WithValue(parent, key, val)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/context/go19.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build go1.9\n\npackage context\n\nimport \"context\" // standard library's context, as of Go 1.7\n\n// A Context carries a deadline, a cancelation signal, and other values across\n// API boundaries.\n//\n// Context's methods may be called by multiple goroutines simultaneously.\ntype Context = context.Context\n\n// A CancelFunc tells an operation to abandon its work.\n// A CancelFunc does not wait for the work to stop.\n// After the first call, subsequent calls to a CancelFunc do nothing.\ntype CancelFunc = context.CancelFunc\n"
  },
  {
    "path": "vendor/golang.org/x/net/context/pre_go17.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !go1.7\n\npackage context\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"sync\"\n\t\"time\"\n)\n\n// An emptyCtx is never canceled, has no values, and has no deadline. It is not\n// struct{}, since vars of this type must have distinct addresses.\ntype emptyCtx int\n\nfunc (*emptyCtx) Deadline() (deadline time.Time, ok bool) {\n\treturn\n}\n\nfunc (*emptyCtx) Done() <-chan struct{} {\n\treturn nil\n}\n\nfunc (*emptyCtx) Err() error {\n\treturn nil\n}\n\nfunc (*emptyCtx) Value(key interface{}) interface{} {\n\treturn nil\n}\n\nfunc (e *emptyCtx) String() string {\n\tswitch e {\n\tcase background:\n\t\treturn \"context.Background\"\n\tcase todo:\n\t\treturn \"context.TODO\"\n\t}\n\treturn \"unknown empty Context\"\n}\n\nvar (\n\tbackground = new(emptyCtx)\n\ttodo       = new(emptyCtx)\n)\n\n// Canceled is the error returned by Context.Err when the context is canceled.\nvar Canceled = errors.New(\"context canceled\")\n\n// DeadlineExceeded is the error returned by Context.Err when the context's\n// deadline passes.\nvar DeadlineExceeded = errors.New(\"context deadline exceeded\")\n\n// WithCancel returns a copy of parent with a new Done channel. The returned\n// context's Done channel is closed when the returned cancel function is called\n// or when the parent context's Done channel is closed, whichever happens first.\n//\n// Canceling this context releases resources associated with it, so code should\n// call cancel as soon as the operations running in this Context complete.\nfunc WithCancel(parent Context) (ctx Context, cancel CancelFunc) {\n\tc := newCancelCtx(parent)\n\tpropagateCancel(parent, c)\n\treturn c, func() { c.cancel(true, Canceled) }\n}\n\n// newCancelCtx returns an initialized cancelCtx.\nfunc newCancelCtx(parent Context) *cancelCtx {\n\treturn &cancelCtx{\n\t\tContext: parent,\n\t\tdone:    make(chan struct{}),\n\t}\n}\n\n// propagateCancel arranges for child to be canceled when parent is.\nfunc propagateCancel(parent Context, child canceler) {\n\tif parent.Done() == nil {\n\t\treturn // parent is never canceled\n\t}\n\tif p, ok := parentCancelCtx(parent); ok {\n\t\tp.mu.Lock()\n\t\tif p.err != nil {\n\t\t\t// parent has already been canceled\n\t\t\tchild.cancel(false, p.err)\n\t\t} else {\n\t\t\tif p.children == nil {\n\t\t\t\tp.children = make(map[canceler]bool)\n\t\t\t}\n\t\t\tp.children[child] = true\n\t\t}\n\t\tp.mu.Unlock()\n\t} else {\n\t\tgo func() {\n\t\t\tselect {\n\t\t\tcase <-parent.Done():\n\t\t\t\tchild.cancel(false, parent.Err())\n\t\t\tcase <-child.Done():\n\t\t\t}\n\t\t}()\n\t}\n}\n\n// parentCancelCtx follows a chain of parent references until it finds a\n// *cancelCtx. This function understands how each of the concrete types in this\n// package represents its parent.\nfunc parentCancelCtx(parent Context) (*cancelCtx, bool) {\n\tfor {\n\t\tswitch c := parent.(type) {\n\t\tcase *cancelCtx:\n\t\t\treturn c, true\n\t\tcase *timerCtx:\n\t\t\treturn c.cancelCtx, true\n\t\tcase *valueCtx:\n\t\t\tparent = c.Context\n\t\tdefault:\n\t\t\treturn nil, false\n\t\t}\n\t}\n}\n\n// removeChild removes a context from its parent.\nfunc removeChild(parent Context, child canceler) {\n\tp, ok := parentCancelCtx(parent)\n\tif !ok {\n\t\treturn\n\t}\n\tp.mu.Lock()\n\tif p.children != nil {\n\t\tdelete(p.children, child)\n\t}\n\tp.mu.Unlock()\n}\n\n// A canceler is a context type that can be canceled directly. The\n// implementations are *cancelCtx and *timerCtx.\ntype canceler interface {\n\tcancel(removeFromParent bool, err error)\n\tDone() <-chan struct{}\n}\n\n// A cancelCtx can be canceled. When canceled, it also cancels any children\n// that implement canceler.\ntype cancelCtx struct {\n\tContext\n\n\tdone chan struct{} // closed by the first cancel call.\n\n\tmu       sync.Mutex\n\tchildren map[canceler]bool // set to nil by the first cancel call\n\terr      error             // set to non-nil by the first cancel call\n}\n\nfunc (c *cancelCtx) Done() <-chan struct{} {\n\treturn c.done\n}\n\nfunc (c *cancelCtx) Err() error {\n\tc.mu.Lock()\n\tdefer c.mu.Unlock()\n\treturn c.err\n}\n\nfunc (c *cancelCtx) String() string {\n\treturn fmt.Sprintf(\"%v.WithCancel\", c.Context)\n}\n\n// cancel closes c.done, cancels each of c's children, and, if\n// removeFromParent is true, removes c from its parent's children.\nfunc (c *cancelCtx) cancel(removeFromParent bool, err error) {\n\tif err == nil {\n\t\tpanic(\"context: internal error: missing cancel error\")\n\t}\n\tc.mu.Lock()\n\tif c.err != nil {\n\t\tc.mu.Unlock()\n\t\treturn // already canceled\n\t}\n\tc.err = err\n\tclose(c.done)\n\tfor child := range c.children {\n\t\t// NOTE: acquiring the child's lock while holding parent's lock.\n\t\tchild.cancel(false, err)\n\t}\n\tc.children = nil\n\tc.mu.Unlock()\n\n\tif removeFromParent {\n\t\tremoveChild(c.Context, c)\n\t}\n}\n\n// WithDeadline returns a copy of the parent context with the deadline adjusted\n// to be no later than d. If the parent's deadline is already earlier than d,\n// WithDeadline(parent, d) is semantically equivalent to parent. The returned\n// context's Done channel is closed when the deadline expires, when the returned\n// cancel function is called, or when the parent context's Done channel is\n// closed, whichever happens first.\n//\n// Canceling this context releases resources associated with it, so code should\n// call cancel as soon as the operations running in this Context complete.\nfunc WithDeadline(parent Context, deadline time.Time) (Context, CancelFunc) {\n\tif cur, ok := parent.Deadline(); ok && cur.Before(deadline) {\n\t\t// The current deadline is already sooner than the new one.\n\t\treturn WithCancel(parent)\n\t}\n\tc := &timerCtx{\n\t\tcancelCtx: newCancelCtx(parent),\n\t\tdeadline:  deadline,\n\t}\n\tpropagateCancel(parent, c)\n\td := deadline.Sub(time.Now())\n\tif d <= 0 {\n\t\tc.cancel(true, DeadlineExceeded) // deadline has already passed\n\t\treturn c, func() { c.cancel(true, Canceled) }\n\t}\n\tc.mu.Lock()\n\tdefer c.mu.Unlock()\n\tif c.err == nil {\n\t\tc.timer = time.AfterFunc(d, func() {\n\t\t\tc.cancel(true, DeadlineExceeded)\n\t\t})\n\t}\n\treturn c, func() { c.cancel(true, Canceled) }\n}\n\n// A timerCtx carries a timer and a deadline. It embeds a cancelCtx to\n// implement Done and Err. It implements cancel by stopping its timer then\n// delegating to cancelCtx.cancel.\ntype timerCtx struct {\n\t*cancelCtx\n\ttimer *time.Timer // Under cancelCtx.mu.\n\n\tdeadline time.Time\n}\n\nfunc (c *timerCtx) Deadline() (deadline time.Time, ok bool) {\n\treturn c.deadline, true\n}\n\nfunc (c *timerCtx) String() string {\n\treturn fmt.Sprintf(\"%v.WithDeadline(%s [%s])\", c.cancelCtx.Context, c.deadline, c.deadline.Sub(time.Now()))\n}\n\nfunc (c *timerCtx) cancel(removeFromParent bool, err error) {\n\tc.cancelCtx.cancel(false, err)\n\tif removeFromParent {\n\t\t// Remove this timerCtx from its parent cancelCtx's children.\n\t\tremoveChild(c.cancelCtx.Context, c)\n\t}\n\tc.mu.Lock()\n\tif c.timer != nil {\n\t\tc.timer.Stop()\n\t\tc.timer = nil\n\t}\n\tc.mu.Unlock()\n}\n\n// WithTimeout returns WithDeadline(parent, time.Now().Add(timeout)).\n//\n// Canceling this context releases resources associated with it, so code should\n// call cancel as soon as the operations running in this Context complete:\n//\n// \tfunc slowOperationWithTimeout(ctx context.Context) (Result, error) {\n// \t\tctx, cancel := context.WithTimeout(ctx, 100*time.Millisecond)\n// \t\tdefer cancel()  // releases resources if slowOperation completes before timeout elapses\n// \t\treturn slowOperation(ctx)\n// \t}\nfunc WithTimeout(parent Context, timeout time.Duration) (Context, CancelFunc) {\n\treturn WithDeadline(parent, time.Now().Add(timeout))\n}\n\n// WithValue returns a copy of parent in which the value associated with key is\n// val.\n//\n// Use context Values only for request-scoped data that transits processes and\n// APIs, not for passing optional parameters to functions.\nfunc WithValue(parent Context, key interface{}, val interface{}) Context {\n\treturn &valueCtx{parent, key, val}\n}\n\n// A valueCtx carries a key-value pair. It implements Value for that key and\n// delegates all other calls to the embedded Context.\ntype valueCtx struct {\n\tContext\n\tkey, val interface{}\n}\n\nfunc (c *valueCtx) String() string {\n\treturn fmt.Sprintf(\"%v.WithValue(%#v, %#v)\", c.Context, c.key, c.val)\n}\n\nfunc (c *valueCtx) Value(key interface{}) interface{} {\n\tif c.key == key {\n\t\treturn c.val\n\t}\n\treturn c.Context.Value(key)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/context/pre_go19.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !go1.9\n\npackage context\n\nimport \"time\"\n\n// A Context carries a deadline, a cancelation signal, and other values across\n// API boundaries.\n//\n// Context's methods may be called by multiple goroutines simultaneously.\ntype Context interface {\n\t// Deadline returns the time when work done on behalf of this context\n\t// should be canceled. Deadline returns ok==false when no deadline is\n\t// set. Successive calls to Deadline return the same results.\n\tDeadline() (deadline time.Time, ok bool)\n\n\t// Done returns a channel that's closed when work done on behalf of this\n\t// context should be canceled. Done may return nil if this context can\n\t// never be canceled. Successive calls to Done return the same value.\n\t//\n\t// WithCancel arranges for Done to be closed when cancel is called;\n\t// WithDeadline arranges for Done to be closed when the deadline\n\t// expires; WithTimeout arranges for Done to be closed when the timeout\n\t// elapses.\n\t//\n\t// Done is provided for use in select statements:\n\t//\n\t//  // Stream generates values with DoSomething and sends them to out\n\t//  // until DoSomething returns an error or ctx.Done is closed.\n\t//  func Stream(ctx context.Context, out chan<- Value) error {\n\t//  \tfor {\n\t//  \t\tv, err := DoSomething(ctx)\n\t//  \t\tif err != nil {\n\t//  \t\t\treturn err\n\t//  \t\t}\n\t//  \t\tselect {\n\t//  \t\tcase <-ctx.Done():\n\t//  \t\t\treturn ctx.Err()\n\t//  \t\tcase out <- v:\n\t//  \t\t}\n\t//  \t}\n\t//  }\n\t//\n\t// See http://blog.golang.org/pipelines for more examples of how to use\n\t// a Done channel for cancelation.\n\tDone() <-chan struct{}\n\n\t// Err returns a non-nil error value after Done is closed. Err returns\n\t// Canceled if the context was canceled or DeadlineExceeded if the\n\t// context's deadline passed. No other values for Err are defined.\n\t// After Done is closed, successive calls to Err return the same value.\n\tErr() error\n\n\t// Value returns the value associated with this context for key, or nil\n\t// if no value is associated with key. Successive calls to Value with\n\t// the same key returns the same result.\n\t//\n\t// Use context values only for request-scoped data that transits\n\t// processes and API boundaries, not for passing optional parameters to\n\t// functions.\n\t//\n\t// A key identifies a specific value in a Context. Functions that wish\n\t// to store values in Context typically allocate a key in a global\n\t// variable then use that key as the argument to context.WithValue and\n\t// Context.Value. A key can be any type that supports equality;\n\t// packages should define keys as an unexported type to avoid\n\t// collisions.\n\t//\n\t// Packages that define a Context key should provide type-safe accessors\n\t// for the values stores using that key:\n\t//\n\t// \t// Package user defines a User type that's stored in Contexts.\n\t// \tpackage user\n\t//\n\t// \timport \"golang.org/x/net/context\"\n\t//\n\t// \t// User is the type of value stored in the Contexts.\n\t// \ttype User struct {...}\n\t//\n\t// \t// key is an unexported type for keys defined in this package.\n\t// \t// This prevents collisions with keys defined in other packages.\n\t// \ttype key int\n\t//\n\t// \t// userKey is the key for user.User values in Contexts. It is\n\t// \t// unexported; clients use user.NewContext and user.FromContext\n\t// \t// instead of using this key directly.\n\t// \tvar userKey key = 0\n\t//\n\t// \t// NewContext returns a new Context that carries value u.\n\t// \tfunc NewContext(ctx context.Context, u *User) context.Context {\n\t// \t\treturn context.WithValue(ctx, userKey, u)\n\t// \t}\n\t//\n\t// \t// FromContext returns the User value stored in ctx, if any.\n\t// \tfunc FromContext(ctx context.Context) (*User, bool) {\n\t// \t\tu, ok := ctx.Value(userKey).(*User)\n\t// \t\treturn u, ok\n\t// \t}\n\tValue(key interface{}) interface{}\n}\n\n// A CancelFunc tells an operation to abandon its work.\n// A CancelFunc does not wait for the work to stop.\n// After the first call, subsequent calls to a CancelFunc do nothing.\ntype CancelFunc func()\n"
  },
  {
    "path": "vendor/golang.org/x/net/http/httpguts/guts.go",
    "content": "// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package httpguts provides functions implementing various details\n// of the HTTP specification.\n//\n// This package is shared by the standard library (which vendors it)\n// and x/net/http2. It comes with no API stability promise.\npackage httpguts\n\nimport (\n\t\"net/textproto\"\n\t\"strings\"\n)\n\n// ValidTrailerHeader reports whether name is a valid header field name to appear\n// in trailers.\n// See RFC 7230, Section 4.1.2\nfunc ValidTrailerHeader(name string) bool {\n\tname = textproto.CanonicalMIMEHeaderKey(name)\n\tif strings.HasPrefix(name, \"If-\") || badTrailer[name] {\n\t\treturn false\n\t}\n\treturn true\n}\n\nvar badTrailer = map[string]bool{\n\t\"Authorization\":       true,\n\t\"Cache-Control\":       true,\n\t\"Connection\":          true,\n\t\"Content-Encoding\":    true,\n\t\"Content-Length\":      true,\n\t\"Content-Range\":       true,\n\t\"Content-Type\":        true,\n\t\"Expect\":              true,\n\t\"Host\":                true,\n\t\"Keep-Alive\":          true,\n\t\"Max-Forwards\":        true,\n\t\"Pragma\":              true,\n\t\"Proxy-Authenticate\":  true,\n\t\"Proxy-Authorization\": true,\n\t\"Proxy-Connection\":    true,\n\t\"Range\":               true,\n\t\"Realm\":               true,\n\t\"Te\":                  true,\n\t\"Trailer\":             true,\n\t\"Transfer-Encoding\":   true,\n\t\"Www-Authenticate\":    true,\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http/httpguts/httplex.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage httpguts\n\nimport (\n\t\"net\"\n\t\"strings\"\n\t\"unicode/utf8\"\n\n\t\"golang.org/x/net/idna\"\n)\n\nvar isTokenTable = [127]bool{\n\t'!':  true,\n\t'#':  true,\n\t'$':  true,\n\t'%':  true,\n\t'&':  true,\n\t'\\'': true,\n\t'*':  true,\n\t'+':  true,\n\t'-':  true,\n\t'.':  true,\n\t'0':  true,\n\t'1':  true,\n\t'2':  true,\n\t'3':  true,\n\t'4':  true,\n\t'5':  true,\n\t'6':  true,\n\t'7':  true,\n\t'8':  true,\n\t'9':  true,\n\t'A':  true,\n\t'B':  true,\n\t'C':  true,\n\t'D':  true,\n\t'E':  true,\n\t'F':  true,\n\t'G':  true,\n\t'H':  true,\n\t'I':  true,\n\t'J':  true,\n\t'K':  true,\n\t'L':  true,\n\t'M':  true,\n\t'N':  true,\n\t'O':  true,\n\t'P':  true,\n\t'Q':  true,\n\t'R':  true,\n\t'S':  true,\n\t'T':  true,\n\t'U':  true,\n\t'W':  true,\n\t'V':  true,\n\t'X':  true,\n\t'Y':  true,\n\t'Z':  true,\n\t'^':  true,\n\t'_':  true,\n\t'`':  true,\n\t'a':  true,\n\t'b':  true,\n\t'c':  true,\n\t'd':  true,\n\t'e':  true,\n\t'f':  true,\n\t'g':  true,\n\t'h':  true,\n\t'i':  true,\n\t'j':  true,\n\t'k':  true,\n\t'l':  true,\n\t'm':  true,\n\t'n':  true,\n\t'o':  true,\n\t'p':  true,\n\t'q':  true,\n\t'r':  true,\n\t's':  true,\n\t't':  true,\n\t'u':  true,\n\t'v':  true,\n\t'w':  true,\n\t'x':  true,\n\t'y':  true,\n\t'z':  true,\n\t'|':  true,\n\t'~':  true,\n}\n\nfunc IsTokenRune(r rune) bool {\n\ti := int(r)\n\treturn i < len(isTokenTable) && isTokenTable[i]\n}\n\nfunc isNotToken(r rune) bool {\n\treturn !IsTokenRune(r)\n}\n\n// HeaderValuesContainsToken reports whether any string in values\n// contains the provided token, ASCII case-insensitively.\nfunc HeaderValuesContainsToken(values []string, token string) bool {\n\tfor _, v := range values {\n\t\tif headerValueContainsToken(v, token) {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\n// isOWS reports whether b is an optional whitespace byte, as defined\n// by RFC 7230 section 3.2.3.\nfunc isOWS(b byte) bool { return b == ' ' || b == '\\t' }\n\n// trimOWS returns x with all optional whitespace removes from the\n// beginning and end.\nfunc trimOWS(x string) string {\n\t// TODO: consider using strings.Trim(x, \" \\t\") instead,\n\t// if and when it's fast enough. See issue 10292.\n\t// But this ASCII-only code will probably always beat UTF-8\n\t// aware code.\n\tfor len(x) > 0 && isOWS(x[0]) {\n\t\tx = x[1:]\n\t}\n\tfor len(x) > 0 && isOWS(x[len(x)-1]) {\n\t\tx = x[:len(x)-1]\n\t}\n\treturn x\n}\n\n// headerValueContainsToken reports whether v (assumed to be a\n// 0#element, in the ABNF extension described in RFC 7230 section 7)\n// contains token amongst its comma-separated tokens, ASCII\n// case-insensitively.\nfunc headerValueContainsToken(v string, token string) bool {\n\tv = trimOWS(v)\n\tif comma := strings.IndexByte(v, ','); comma != -1 {\n\t\treturn tokenEqual(trimOWS(v[:comma]), token) || headerValueContainsToken(v[comma+1:], token)\n\t}\n\treturn tokenEqual(v, token)\n}\n\n// lowerASCII returns the ASCII lowercase version of b.\nfunc lowerASCII(b byte) byte {\n\tif 'A' <= b && b <= 'Z' {\n\t\treturn b + ('a' - 'A')\n\t}\n\treturn b\n}\n\n// tokenEqual reports whether t1 and t2 are equal, ASCII case-insensitively.\nfunc tokenEqual(t1, t2 string) bool {\n\tif len(t1) != len(t2) {\n\t\treturn false\n\t}\n\tfor i, b := range t1 {\n\t\tif b >= utf8.RuneSelf {\n\t\t\t// No UTF-8 or non-ASCII allowed in tokens.\n\t\t\treturn false\n\t\t}\n\t\tif lowerASCII(byte(b)) != lowerASCII(t2[i]) {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\n// isLWS reports whether b is linear white space, according\n// to http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2\n//      LWS            = [CRLF] 1*( SP | HT )\nfunc isLWS(b byte) bool { return b == ' ' || b == '\\t' }\n\n// isCTL reports whether b is a control byte, according\n// to http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2\n//      CTL            = <any US-ASCII control character\n//                       (octets 0 - 31) and DEL (127)>\nfunc isCTL(b byte) bool {\n\tconst del = 0x7f // a CTL\n\treturn b < ' ' || b == del\n}\n\n// ValidHeaderFieldName reports whether v is a valid HTTP/1.x header name.\n// HTTP/2 imposes the additional restriction that uppercase ASCII\n// letters are not allowed.\n//\n//  RFC 7230 says:\n//   header-field   = field-name \":\" OWS field-value OWS\n//   field-name     = token\n//   token          = 1*tchar\n//   tchar = \"!\" / \"#\" / \"$\" / \"%\" / \"&\" / \"'\" / \"*\" / \"+\" / \"-\" / \".\" /\n//           \"^\" / \"_\" / \"`\" / \"|\" / \"~\" / DIGIT / ALPHA\nfunc ValidHeaderFieldName(v string) bool {\n\tif len(v) == 0 {\n\t\treturn false\n\t}\n\tfor _, r := range v {\n\t\tif !IsTokenRune(r) {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\n// ValidHostHeader reports whether h is a valid host header.\nfunc ValidHostHeader(h string) bool {\n\t// The latest spec is actually this:\n\t//\n\t// http://tools.ietf.org/html/rfc7230#section-5.4\n\t//     Host = uri-host [ \":\" port ]\n\t//\n\t// Where uri-host is:\n\t//     http://tools.ietf.org/html/rfc3986#section-3.2.2\n\t//\n\t// But we're going to be much more lenient for now and just\n\t// search for any byte that's not a valid byte in any of those\n\t// expressions.\n\tfor i := 0; i < len(h); i++ {\n\t\tif !validHostByte[h[i]] {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\n// See the validHostHeader comment.\nvar validHostByte = [256]bool{\n\t'0': true, '1': true, '2': true, '3': true, '4': true, '5': true, '6': true, '7': true,\n\t'8': true, '9': true,\n\n\t'a': true, 'b': true, 'c': true, 'd': true, 'e': true, 'f': true, 'g': true, 'h': true,\n\t'i': true, 'j': true, 'k': true, 'l': true, 'm': true, 'n': true, 'o': true, 'p': true,\n\t'q': true, 'r': true, 's': true, 't': true, 'u': true, 'v': true, 'w': true, 'x': true,\n\t'y': true, 'z': true,\n\n\t'A': true, 'B': true, 'C': true, 'D': true, 'E': true, 'F': true, 'G': true, 'H': true,\n\t'I': true, 'J': true, 'K': true, 'L': true, 'M': true, 'N': true, 'O': true, 'P': true,\n\t'Q': true, 'R': true, 'S': true, 'T': true, 'U': true, 'V': true, 'W': true, 'X': true,\n\t'Y': true, 'Z': true,\n\n\t'!':  true, // sub-delims\n\t'$':  true, // sub-delims\n\t'%':  true, // pct-encoded (and used in IPv6 zones)\n\t'&':  true, // sub-delims\n\t'(':  true, // sub-delims\n\t')':  true, // sub-delims\n\t'*':  true, // sub-delims\n\t'+':  true, // sub-delims\n\t',':  true, // sub-delims\n\t'-':  true, // unreserved\n\t'.':  true, // unreserved\n\t':':  true, // IPv6address + Host expression's optional port\n\t';':  true, // sub-delims\n\t'=':  true, // sub-delims\n\t'[':  true,\n\t'\\'': true, // sub-delims\n\t']':  true,\n\t'_':  true, // unreserved\n\t'~':  true, // unreserved\n}\n\n// ValidHeaderFieldValue reports whether v is a valid \"field-value\" according to\n// http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2 :\n//\n//        message-header = field-name \":\" [ field-value ]\n//        field-value    = *( field-content | LWS )\n//        field-content  = <the OCTETs making up the field-value\n//                         and consisting of either *TEXT or combinations\n//                         of token, separators, and quoted-string>\n//\n// http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2 :\n//\n//        TEXT           = <any OCTET except CTLs,\n//                          but including LWS>\n//        LWS            = [CRLF] 1*( SP | HT )\n//        CTL            = <any US-ASCII control character\n//                         (octets 0 - 31) and DEL (127)>\n//\n// RFC 7230 says:\n//  field-value    = *( field-content / obs-fold )\n//  obj-fold       =  N/A to http2, and deprecated\n//  field-content  = field-vchar [ 1*( SP / HTAB ) field-vchar ]\n//  field-vchar    = VCHAR / obs-text\n//  obs-text       = %x80-FF\n//  VCHAR          = \"any visible [USASCII] character\"\n//\n// http2 further says: \"Similarly, HTTP/2 allows header field values\n// that are not valid. While most of the values that can be encoded\n// will not alter header field parsing, carriage return (CR, ASCII\n// 0xd), line feed (LF, ASCII 0xa), and the zero character (NUL, ASCII\n// 0x0) might be exploited by an attacker if they are translated\n// verbatim. Any request or response that contains a character not\n// permitted in a header field value MUST be treated as malformed\n// (Section 8.1.2.6). Valid characters are defined by the\n// field-content ABNF rule in Section 3.2 of [RFC7230].\"\n//\n// This function does not (yet?) properly handle the rejection of\n// strings that begin or end with SP or HTAB.\nfunc ValidHeaderFieldValue(v string) bool {\n\tfor i := 0; i < len(v); i++ {\n\t\tb := v[i]\n\t\tif isCTL(b) && !isLWS(b) {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\nfunc isASCII(s string) bool {\n\tfor i := 0; i < len(s); i++ {\n\t\tif s[i] >= utf8.RuneSelf {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\n// PunycodeHostPort returns the IDNA Punycode version\n// of the provided \"host\" or \"host:port\" string.\nfunc PunycodeHostPort(v string) (string, error) {\n\tif isASCII(v) {\n\t\treturn v, nil\n\t}\n\n\thost, port, err := net.SplitHostPort(v)\n\tif err != nil {\n\t\t// The input 'v' argument was just a \"host\" argument,\n\t\t// without a port. This error should not be returned\n\t\t// to the caller.\n\t\thost = v\n\t\tport = \"\"\n\t}\n\thost, err = idna.ToASCII(host)\n\tif err != nil {\n\t\t// Non-UTF-8? Not representable in Punycode, in any\n\t\t// case.\n\t\treturn \"\", err\n\t}\n\tif port == \"\" {\n\t\treturn host, nil\n\t}\n\treturn net.JoinHostPort(host, port), nil\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/.gitignore",
    "content": "*~\nh2i/h2i\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/Dockerfile",
    "content": "#\n# This Dockerfile builds a recent curl with HTTP/2 client support, using\n# a recent nghttp2 build.\n#\n# See the Makefile for how to tag it. If Docker and that image is found, the\n# Go tests use this curl binary for integration tests.\n#\n\nFROM ubuntu:trusty\n\nRUN apt-get update && \\\n    apt-get upgrade -y && \\\n    apt-get install -y git-core build-essential wget\n\nRUN apt-get install -y --no-install-recommends \\\n       autotools-dev libtool pkg-config zlib1g-dev \\\n       libcunit1-dev libssl-dev libxml2-dev libevent-dev \\\n       automake autoconf\n\n# The list of packages nghttp2 recommends for h2load:\nRUN apt-get install -y --no-install-recommends make binutils \\\n        autoconf automake autotools-dev \\\n        libtool pkg-config zlib1g-dev libcunit1-dev libssl-dev libxml2-dev \\\n        libev-dev libevent-dev libjansson-dev libjemalloc-dev \\\n        cython python3.4-dev python-setuptools\n\n# Note: setting NGHTTP2_VER before the git clone, so an old git clone isn't cached:\nENV NGHTTP2_VER 895da9a\nRUN cd /root && git clone https://github.com/tatsuhiro-t/nghttp2.git\n\nWORKDIR /root/nghttp2\nRUN git reset --hard $NGHTTP2_VER\nRUN autoreconf -i\nRUN automake\nRUN autoconf\nRUN ./configure\nRUN make\nRUN make install\n\nWORKDIR /root\nRUN wget http://curl.haxx.se/download/curl-7.45.0.tar.gz\nRUN tar -zxvf curl-7.45.0.tar.gz\nWORKDIR /root/curl-7.45.0\nRUN ./configure --with-ssl --with-nghttp2=/usr/local\nRUN make\nRUN make install\nRUN ldconfig\n\nCMD [\"-h\"]\nENTRYPOINT [\"/usr/local/bin/curl\"]\n\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/Makefile",
    "content": "curlimage:\n\tdocker build -t gohttp2/curl .\n\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/README",
    "content": "This is a work-in-progress HTTP/2 implementation for Go.\n\nIt will eventually live in the Go standard library and won't require\nany changes to your code to use.  It will just be automatic.\n\nStatus:\n\n* The server support is pretty good. A few things are missing\n  but are being worked on.\n* The client work has just started but shares a lot of code\n  is coming along much quicker.\n\nDocs are at https://godoc.org/golang.org/x/net/http2\n\nDemo test server at https://http2.golang.org/\n\nHelp & bug reports welcome!\n\nContributing: https://golang.org/doc/contribute.html\nBugs:         https://golang.org/issue/new?title=x/net/http2:+\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/ciphers.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage http2\n\n// A list of the possible cipher suite ids. Taken from\n// https://www.iana.org/assignments/tls-parameters/tls-parameters.txt\n\nconst (\n\tcipher_TLS_NULL_WITH_NULL_NULL               uint16 = 0x0000\n\tcipher_TLS_RSA_WITH_NULL_MD5                 uint16 = 0x0001\n\tcipher_TLS_RSA_WITH_NULL_SHA                 uint16 = 0x0002\n\tcipher_TLS_RSA_EXPORT_WITH_RC4_40_MD5        uint16 = 0x0003\n\tcipher_TLS_RSA_WITH_RC4_128_MD5              uint16 = 0x0004\n\tcipher_TLS_RSA_WITH_RC4_128_SHA              uint16 = 0x0005\n\tcipher_TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5    uint16 = 0x0006\n\tcipher_TLS_RSA_WITH_IDEA_CBC_SHA             uint16 = 0x0007\n\tcipher_TLS_RSA_EXPORT_WITH_DES40_CBC_SHA     uint16 = 0x0008\n\tcipher_TLS_RSA_WITH_DES_CBC_SHA              uint16 = 0x0009\n\tcipher_TLS_RSA_WITH_3DES_EDE_CBC_SHA         uint16 = 0x000A\n\tcipher_TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA  uint16 = 0x000B\n\tcipher_TLS_DH_DSS_WITH_DES_CBC_SHA           uint16 = 0x000C\n\tcipher_TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA      uint16 = 0x000D\n\tcipher_TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA  uint16 = 0x000E\n\tcipher_TLS_DH_RSA_WITH_DES_CBC_SHA           uint16 = 0x000F\n\tcipher_TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA      uint16 = 0x0010\n\tcipher_TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA uint16 = 0x0011\n\tcipher_TLS_DHE_DSS_WITH_DES_CBC_SHA          uint16 = 0x0012\n\tcipher_TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA     uint16 = 0x0013\n\tcipher_TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA uint16 = 0x0014\n\tcipher_TLS_DHE_RSA_WITH_DES_CBC_SHA          uint16 = 0x0015\n\tcipher_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA     uint16 = 0x0016\n\tcipher_TLS_DH_anon_EXPORT_WITH_RC4_40_MD5    uint16 = 0x0017\n\tcipher_TLS_DH_anon_WITH_RC4_128_MD5          uint16 = 0x0018\n\tcipher_TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA uint16 = 0x0019\n\tcipher_TLS_DH_anon_WITH_DES_CBC_SHA          uint16 = 0x001A\n\tcipher_TLS_DH_anon_WITH_3DES_EDE_CBC_SHA     uint16 = 0x001B\n\t// Reserved uint16 =  0x001C-1D\n\tcipher_TLS_KRB5_WITH_DES_CBC_SHA             uint16 = 0x001E\n\tcipher_TLS_KRB5_WITH_3DES_EDE_CBC_SHA        uint16 = 0x001F\n\tcipher_TLS_KRB5_WITH_RC4_128_SHA             uint16 = 0x0020\n\tcipher_TLS_KRB5_WITH_IDEA_CBC_SHA            uint16 = 0x0021\n\tcipher_TLS_KRB5_WITH_DES_CBC_MD5             uint16 = 0x0022\n\tcipher_TLS_KRB5_WITH_3DES_EDE_CBC_MD5        uint16 = 0x0023\n\tcipher_TLS_KRB5_WITH_RC4_128_MD5             uint16 = 0x0024\n\tcipher_TLS_KRB5_WITH_IDEA_CBC_MD5            uint16 = 0x0025\n\tcipher_TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA   uint16 = 0x0026\n\tcipher_TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA   uint16 = 0x0027\n\tcipher_TLS_KRB5_EXPORT_WITH_RC4_40_SHA       uint16 = 0x0028\n\tcipher_TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5   uint16 = 0x0029\n\tcipher_TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5   uint16 = 0x002A\n\tcipher_TLS_KRB5_EXPORT_WITH_RC4_40_MD5       uint16 = 0x002B\n\tcipher_TLS_PSK_WITH_NULL_SHA                 uint16 = 0x002C\n\tcipher_TLS_DHE_PSK_WITH_NULL_SHA             uint16 = 0x002D\n\tcipher_TLS_RSA_PSK_WITH_NULL_SHA             uint16 = 0x002E\n\tcipher_TLS_RSA_WITH_AES_128_CBC_SHA          uint16 = 0x002F\n\tcipher_TLS_DH_DSS_WITH_AES_128_CBC_SHA       uint16 = 0x0030\n\tcipher_TLS_DH_RSA_WITH_AES_128_CBC_SHA       uint16 = 0x0031\n\tcipher_TLS_DHE_DSS_WITH_AES_128_CBC_SHA      uint16 = 0x0032\n\tcipher_TLS_DHE_RSA_WITH_AES_128_CBC_SHA      uint16 = 0x0033\n\tcipher_TLS_DH_anon_WITH_AES_128_CBC_SHA      uint16 = 0x0034\n\tcipher_TLS_RSA_WITH_AES_256_CBC_SHA          uint16 = 0x0035\n\tcipher_TLS_DH_DSS_WITH_AES_256_CBC_SHA       uint16 = 0x0036\n\tcipher_TLS_DH_RSA_WITH_AES_256_CBC_SHA       uint16 = 0x0037\n\tcipher_TLS_DHE_DSS_WITH_AES_256_CBC_SHA      uint16 = 0x0038\n\tcipher_TLS_DHE_RSA_WITH_AES_256_CBC_SHA      uint16 = 0x0039\n\tcipher_TLS_DH_anon_WITH_AES_256_CBC_SHA      uint16 = 0x003A\n\tcipher_TLS_RSA_WITH_NULL_SHA256              uint16 = 0x003B\n\tcipher_TLS_RSA_WITH_AES_128_CBC_SHA256       uint16 = 0x003C\n\tcipher_TLS_RSA_WITH_AES_256_CBC_SHA256       uint16 = 0x003D\n\tcipher_TLS_DH_DSS_WITH_AES_128_CBC_SHA256    uint16 = 0x003E\n\tcipher_TLS_DH_RSA_WITH_AES_128_CBC_SHA256    uint16 = 0x003F\n\tcipher_TLS_DHE_DSS_WITH_AES_128_CBC_SHA256   uint16 = 0x0040\n\tcipher_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA     uint16 = 0x0041\n\tcipher_TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA  uint16 = 0x0042\n\tcipher_TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA  uint16 = 0x0043\n\tcipher_TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA uint16 = 0x0044\n\tcipher_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA uint16 = 0x0045\n\tcipher_TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA uint16 = 0x0046\n\t// Reserved uint16 =  0x0047-4F\n\t// Reserved uint16 =  0x0050-58\n\t// Reserved uint16 =  0x0059-5C\n\t// Unassigned uint16 =  0x005D-5F\n\t// Reserved uint16 =  0x0060-66\n\tcipher_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 uint16 = 0x0067\n\tcipher_TLS_DH_DSS_WITH_AES_256_CBC_SHA256  uint16 = 0x0068\n\tcipher_TLS_DH_RSA_WITH_AES_256_CBC_SHA256  uint16 = 0x0069\n\tcipher_TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 uint16 = 0x006A\n\tcipher_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 uint16 = 0x006B\n\tcipher_TLS_DH_anon_WITH_AES_128_CBC_SHA256 uint16 = 0x006C\n\tcipher_TLS_DH_anon_WITH_AES_256_CBC_SHA256 uint16 = 0x006D\n\t// Unassigned uint16 =  0x006E-83\n\tcipher_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA        uint16 = 0x0084\n\tcipher_TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA     uint16 = 0x0085\n\tcipher_TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA     uint16 = 0x0086\n\tcipher_TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA    uint16 = 0x0087\n\tcipher_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA    uint16 = 0x0088\n\tcipher_TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA    uint16 = 0x0089\n\tcipher_TLS_PSK_WITH_RC4_128_SHA                 uint16 = 0x008A\n\tcipher_TLS_PSK_WITH_3DES_EDE_CBC_SHA            uint16 = 0x008B\n\tcipher_TLS_PSK_WITH_AES_128_CBC_SHA             uint16 = 0x008C\n\tcipher_TLS_PSK_WITH_AES_256_CBC_SHA             uint16 = 0x008D\n\tcipher_TLS_DHE_PSK_WITH_RC4_128_SHA             uint16 = 0x008E\n\tcipher_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA        uint16 = 0x008F\n\tcipher_TLS_DHE_PSK_WITH_AES_128_CBC_SHA         uint16 = 0x0090\n\tcipher_TLS_DHE_PSK_WITH_AES_256_CBC_SHA         uint16 = 0x0091\n\tcipher_TLS_RSA_PSK_WITH_RC4_128_SHA             uint16 = 0x0092\n\tcipher_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA        uint16 = 0x0093\n\tcipher_TLS_RSA_PSK_WITH_AES_128_CBC_SHA         uint16 = 0x0094\n\tcipher_TLS_RSA_PSK_WITH_AES_256_CBC_SHA         uint16 = 0x0095\n\tcipher_TLS_RSA_WITH_SEED_CBC_SHA                uint16 = 0x0096\n\tcipher_TLS_DH_DSS_WITH_SEED_CBC_SHA             uint16 = 0x0097\n\tcipher_TLS_DH_RSA_WITH_SEED_CBC_SHA             uint16 = 0x0098\n\tcipher_TLS_DHE_DSS_WITH_SEED_CBC_SHA            uint16 = 0x0099\n\tcipher_TLS_DHE_RSA_WITH_SEED_CBC_SHA            uint16 = 0x009A\n\tcipher_TLS_DH_anon_WITH_SEED_CBC_SHA            uint16 = 0x009B\n\tcipher_TLS_RSA_WITH_AES_128_GCM_SHA256          uint16 = 0x009C\n\tcipher_TLS_RSA_WITH_AES_256_GCM_SHA384          uint16 = 0x009D\n\tcipher_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256      uint16 = 0x009E\n\tcipher_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384      uint16 = 0x009F\n\tcipher_TLS_DH_RSA_WITH_AES_128_GCM_SHA256       uint16 = 0x00A0\n\tcipher_TLS_DH_RSA_WITH_AES_256_GCM_SHA384       uint16 = 0x00A1\n\tcipher_TLS_DHE_DSS_WITH_AES_128_GCM_SHA256      uint16 = 0x00A2\n\tcipher_TLS_DHE_DSS_WITH_AES_256_GCM_SHA384      uint16 = 0x00A3\n\tcipher_TLS_DH_DSS_WITH_AES_128_GCM_SHA256       uint16 = 0x00A4\n\tcipher_TLS_DH_DSS_WITH_AES_256_GCM_SHA384       uint16 = 0x00A5\n\tcipher_TLS_DH_anon_WITH_AES_128_GCM_SHA256      uint16 = 0x00A6\n\tcipher_TLS_DH_anon_WITH_AES_256_GCM_SHA384      uint16 = 0x00A7\n\tcipher_TLS_PSK_WITH_AES_128_GCM_SHA256          uint16 = 0x00A8\n\tcipher_TLS_PSK_WITH_AES_256_GCM_SHA384          uint16 = 0x00A9\n\tcipher_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256      uint16 = 0x00AA\n\tcipher_TLS_DHE_PSK_WITH_AES_256_GCM_SHA384      uint16 = 0x00AB\n\tcipher_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256      uint16 = 0x00AC\n\tcipher_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384      uint16 = 0x00AD\n\tcipher_TLS_PSK_WITH_AES_128_CBC_SHA256          uint16 = 0x00AE\n\tcipher_TLS_PSK_WITH_AES_256_CBC_SHA384          uint16 = 0x00AF\n\tcipher_TLS_PSK_WITH_NULL_SHA256                 uint16 = 0x00B0\n\tcipher_TLS_PSK_WITH_NULL_SHA384                 uint16 = 0x00B1\n\tcipher_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256      uint16 = 0x00B2\n\tcipher_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384      uint16 = 0x00B3\n\tcipher_TLS_DHE_PSK_WITH_NULL_SHA256             uint16 = 0x00B4\n\tcipher_TLS_DHE_PSK_WITH_NULL_SHA384             uint16 = 0x00B5\n\tcipher_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256      uint16 = 0x00B6\n\tcipher_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384      uint16 = 0x00B7\n\tcipher_TLS_RSA_PSK_WITH_NULL_SHA256             uint16 = 0x00B8\n\tcipher_TLS_RSA_PSK_WITH_NULL_SHA384             uint16 = 0x00B9\n\tcipher_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256     uint16 = 0x00BA\n\tcipher_TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256  uint16 = 0x00BB\n\tcipher_TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256  uint16 = 0x00BC\n\tcipher_TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0x00BD\n\tcipher_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0x00BE\n\tcipher_TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0x00BF\n\tcipher_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256     uint16 = 0x00C0\n\tcipher_TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256  uint16 = 0x00C1\n\tcipher_TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256  uint16 = 0x00C2\n\tcipher_TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 uint16 = 0x00C3\n\tcipher_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 uint16 = 0x00C4\n\tcipher_TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256 uint16 = 0x00C5\n\t// Unassigned uint16 =  0x00C6-FE\n\tcipher_TLS_EMPTY_RENEGOTIATION_INFO_SCSV uint16 = 0x00FF\n\t// Unassigned uint16 =  0x01-55,*\n\tcipher_TLS_FALLBACK_SCSV uint16 = 0x5600\n\t// Unassigned                                   uint16 = 0x5601 - 0xC000\n\tcipher_TLS_ECDH_ECDSA_WITH_NULL_SHA                 uint16 = 0xC001\n\tcipher_TLS_ECDH_ECDSA_WITH_RC4_128_SHA              uint16 = 0xC002\n\tcipher_TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA         uint16 = 0xC003\n\tcipher_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA          uint16 = 0xC004\n\tcipher_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA          uint16 = 0xC005\n\tcipher_TLS_ECDHE_ECDSA_WITH_NULL_SHA                uint16 = 0xC006\n\tcipher_TLS_ECDHE_ECDSA_WITH_RC4_128_SHA             uint16 = 0xC007\n\tcipher_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA        uint16 = 0xC008\n\tcipher_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA         uint16 = 0xC009\n\tcipher_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA         uint16 = 0xC00A\n\tcipher_TLS_ECDH_RSA_WITH_NULL_SHA                   uint16 = 0xC00B\n\tcipher_TLS_ECDH_RSA_WITH_RC4_128_SHA                uint16 = 0xC00C\n\tcipher_TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA           uint16 = 0xC00D\n\tcipher_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA            uint16 = 0xC00E\n\tcipher_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA            uint16 = 0xC00F\n\tcipher_TLS_ECDHE_RSA_WITH_NULL_SHA                  uint16 = 0xC010\n\tcipher_TLS_ECDHE_RSA_WITH_RC4_128_SHA               uint16 = 0xC011\n\tcipher_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA          uint16 = 0xC012\n\tcipher_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA           uint16 = 0xC013\n\tcipher_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA           uint16 = 0xC014\n\tcipher_TLS_ECDH_anon_WITH_NULL_SHA                  uint16 = 0xC015\n\tcipher_TLS_ECDH_anon_WITH_RC4_128_SHA               uint16 = 0xC016\n\tcipher_TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA          uint16 = 0xC017\n\tcipher_TLS_ECDH_anon_WITH_AES_128_CBC_SHA           uint16 = 0xC018\n\tcipher_TLS_ECDH_anon_WITH_AES_256_CBC_SHA           uint16 = 0xC019\n\tcipher_TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA            uint16 = 0xC01A\n\tcipher_TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA        uint16 = 0xC01B\n\tcipher_TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA        uint16 = 0xC01C\n\tcipher_TLS_SRP_SHA_WITH_AES_128_CBC_SHA             uint16 = 0xC01D\n\tcipher_TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA         uint16 = 0xC01E\n\tcipher_TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA         uint16 = 0xC01F\n\tcipher_TLS_SRP_SHA_WITH_AES_256_CBC_SHA             uint16 = 0xC020\n\tcipher_TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA         uint16 = 0xC021\n\tcipher_TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA         uint16 = 0xC022\n\tcipher_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256      uint16 = 0xC023\n\tcipher_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384      uint16 = 0xC024\n\tcipher_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256       uint16 = 0xC025\n\tcipher_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384       uint16 = 0xC026\n\tcipher_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256        uint16 = 0xC027\n\tcipher_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384        uint16 = 0xC028\n\tcipher_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256         uint16 = 0xC029\n\tcipher_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384         uint16 = 0xC02A\n\tcipher_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256      uint16 = 0xC02B\n\tcipher_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384      uint16 = 0xC02C\n\tcipher_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256       uint16 = 0xC02D\n\tcipher_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384       uint16 = 0xC02E\n\tcipher_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256        uint16 = 0xC02F\n\tcipher_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384        uint16 = 0xC030\n\tcipher_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256         uint16 = 0xC031\n\tcipher_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384         uint16 = 0xC032\n\tcipher_TLS_ECDHE_PSK_WITH_RC4_128_SHA               uint16 = 0xC033\n\tcipher_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA          uint16 = 0xC034\n\tcipher_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA           uint16 = 0xC035\n\tcipher_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA           uint16 = 0xC036\n\tcipher_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256        uint16 = 0xC037\n\tcipher_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384        uint16 = 0xC038\n\tcipher_TLS_ECDHE_PSK_WITH_NULL_SHA                  uint16 = 0xC039\n\tcipher_TLS_ECDHE_PSK_WITH_NULL_SHA256               uint16 = 0xC03A\n\tcipher_TLS_ECDHE_PSK_WITH_NULL_SHA384               uint16 = 0xC03B\n\tcipher_TLS_RSA_WITH_ARIA_128_CBC_SHA256             uint16 = 0xC03C\n\tcipher_TLS_RSA_WITH_ARIA_256_CBC_SHA384             uint16 = 0xC03D\n\tcipher_TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256          uint16 = 0xC03E\n\tcipher_TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384          uint16 = 0xC03F\n\tcipher_TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256          uint16 = 0xC040\n\tcipher_TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384          uint16 = 0xC041\n\tcipher_TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256         uint16 = 0xC042\n\tcipher_TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384         uint16 = 0xC043\n\tcipher_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256         uint16 = 0xC044\n\tcipher_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384         uint16 = 0xC045\n\tcipher_TLS_DH_anon_WITH_ARIA_128_CBC_SHA256         uint16 = 0xC046\n\tcipher_TLS_DH_anon_WITH_ARIA_256_CBC_SHA384         uint16 = 0xC047\n\tcipher_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256     uint16 = 0xC048\n\tcipher_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384     uint16 = 0xC049\n\tcipher_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256      uint16 = 0xC04A\n\tcipher_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384      uint16 = 0xC04B\n\tcipher_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256       uint16 = 0xC04C\n\tcipher_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384       uint16 = 0xC04D\n\tcipher_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256        uint16 = 0xC04E\n\tcipher_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384        uint16 = 0xC04F\n\tcipher_TLS_RSA_WITH_ARIA_128_GCM_SHA256             uint16 = 0xC050\n\tcipher_TLS_RSA_WITH_ARIA_256_GCM_SHA384             uint16 = 0xC051\n\tcipher_TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256         uint16 = 0xC052\n\tcipher_TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384         uint16 = 0xC053\n\tcipher_TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256          uint16 = 0xC054\n\tcipher_TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384          uint16 = 0xC055\n\tcipher_TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256         uint16 = 0xC056\n\tcipher_TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384         uint16 = 0xC057\n\tcipher_TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256          uint16 = 0xC058\n\tcipher_TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384          uint16 = 0xC059\n\tcipher_TLS_DH_anon_WITH_ARIA_128_GCM_SHA256         uint16 = 0xC05A\n\tcipher_TLS_DH_anon_WITH_ARIA_256_GCM_SHA384         uint16 = 0xC05B\n\tcipher_TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256     uint16 = 0xC05C\n\tcipher_TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384     uint16 = 0xC05D\n\tcipher_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256      uint16 = 0xC05E\n\tcipher_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384      uint16 = 0xC05F\n\tcipher_TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256       uint16 = 0xC060\n\tcipher_TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384       uint16 = 0xC061\n\tcipher_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256        uint16 = 0xC062\n\tcipher_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384        uint16 = 0xC063\n\tcipher_TLS_PSK_WITH_ARIA_128_CBC_SHA256             uint16 = 0xC064\n\tcipher_TLS_PSK_WITH_ARIA_256_CBC_SHA384             uint16 = 0xC065\n\tcipher_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256         uint16 = 0xC066\n\tcipher_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384         uint16 = 0xC067\n\tcipher_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256         uint16 = 0xC068\n\tcipher_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384         uint16 = 0xC069\n\tcipher_TLS_PSK_WITH_ARIA_128_GCM_SHA256             uint16 = 0xC06A\n\tcipher_TLS_PSK_WITH_ARIA_256_GCM_SHA384             uint16 = 0xC06B\n\tcipher_TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256         uint16 = 0xC06C\n\tcipher_TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384         uint16 = 0xC06D\n\tcipher_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256         uint16 = 0xC06E\n\tcipher_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384         uint16 = 0xC06F\n\tcipher_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256       uint16 = 0xC070\n\tcipher_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384       uint16 = 0xC071\n\tcipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0xC072\n\tcipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 uint16 = 0xC073\n\tcipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256  uint16 = 0xC074\n\tcipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384  uint16 = 0xC075\n\tcipher_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256   uint16 = 0xC076\n\tcipher_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384   uint16 = 0xC077\n\tcipher_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256    uint16 = 0xC078\n\tcipher_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384    uint16 = 0xC079\n\tcipher_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256         uint16 = 0xC07A\n\tcipher_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384         uint16 = 0xC07B\n\tcipher_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256     uint16 = 0xC07C\n\tcipher_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384     uint16 = 0xC07D\n\tcipher_TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256      uint16 = 0xC07E\n\tcipher_TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384      uint16 = 0xC07F\n\tcipher_TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256     uint16 = 0xC080\n\tcipher_TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384     uint16 = 0xC081\n\tcipher_TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256      uint16 = 0xC082\n\tcipher_TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384      uint16 = 0xC083\n\tcipher_TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256     uint16 = 0xC084\n\tcipher_TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384     uint16 = 0xC085\n\tcipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC086\n\tcipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC087\n\tcipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256  uint16 = 0xC088\n\tcipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384  uint16 = 0xC089\n\tcipher_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256   uint16 = 0xC08A\n\tcipher_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384   uint16 = 0xC08B\n\tcipher_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256    uint16 = 0xC08C\n\tcipher_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384    uint16 = 0xC08D\n\tcipher_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256         uint16 = 0xC08E\n\tcipher_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384         uint16 = 0xC08F\n\tcipher_TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256     uint16 = 0xC090\n\tcipher_TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384     uint16 = 0xC091\n\tcipher_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256     uint16 = 0xC092\n\tcipher_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384     uint16 = 0xC093\n\tcipher_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256         uint16 = 0xC094\n\tcipher_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384         uint16 = 0xC095\n\tcipher_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256     uint16 = 0xC096\n\tcipher_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384     uint16 = 0xC097\n\tcipher_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256     uint16 = 0xC098\n\tcipher_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384     uint16 = 0xC099\n\tcipher_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256   uint16 = 0xC09A\n\tcipher_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384   uint16 = 0xC09B\n\tcipher_TLS_RSA_WITH_AES_128_CCM                     uint16 = 0xC09C\n\tcipher_TLS_RSA_WITH_AES_256_CCM                     uint16 = 0xC09D\n\tcipher_TLS_DHE_RSA_WITH_AES_128_CCM                 uint16 = 0xC09E\n\tcipher_TLS_DHE_RSA_WITH_AES_256_CCM                 uint16 = 0xC09F\n\tcipher_TLS_RSA_WITH_AES_128_CCM_8                   uint16 = 0xC0A0\n\tcipher_TLS_RSA_WITH_AES_256_CCM_8                   uint16 = 0xC0A1\n\tcipher_TLS_DHE_RSA_WITH_AES_128_CCM_8               uint16 = 0xC0A2\n\tcipher_TLS_DHE_RSA_WITH_AES_256_CCM_8               uint16 = 0xC0A3\n\tcipher_TLS_PSK_WITH_AES_128_CCM                     uint16 = 0xC0A4\n\tcipher_TLS_PSK_WITH_AES_256_CCM                     uint16 = 0xC0A5\n\tcipher_TLS_DHE_PSK_WITH_AES_128_CCM                 uint16 = 0xC0A6\n\tcipher_TLS_DHE_PSK_WITH_AES_256_CCM                 uint16 = 0xC0A7\n\tcipher_TLS_PSK_WITH_AES_128_CCM_8                   uint16 = 0xC0A8\n\tcipher_TLS_PSK_WITH_AES_256_CCM_8                   uint16 = 0xC0A9\n\tcipher_TLS_PSK_DHE_WITH_AES_128_CCM_8               uint16 = 0xC0AA\n\tcipher_TLS_PSK_DHE_WITH_AES_256_CCM_8               uint16 = 0xC0AB\n\tcipher_TLS_ECDHE_ECDSA_WITH_AES_128_CCM             uint16 = 0xC0AC\n\tcipher_TLS_ECDHE_ECDSA_WITH_AES_256_CCM             uint16 = 0xC0AD\n\tcipher_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8           uint16 = 0xC0AE\n\tcipher_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8           uint16 = 0xC0AF\n\t// Unassigned uint16 =  0xC0B0-FF\n\t// Unassigned uint16 =  0xC1-CB,*\n\t// Unassigned uint16 =  0xCC00-A7\n\tcipher_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256   uint16 = 0xCCA8\n\tcipher_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 uint16 = 0xCCA9\n\tcipher_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256     uint16 = 0xCCAA\n\tcipher_TLS_PSK_WITH_CHACHA20_POLY1305_SHA256         uint16 = 0xCCAB\n\tcipher_TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256   uint16 = 0xCCAC\n\tcipher_TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256     uint16 = 0xCCAD\n\tcipher_TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256     uint16 = 0xCCAE\n)\n\n// isBadCipher reports whether the cipher is blacklisted by the HTTP/2 spec.\n// References:\n// https://tools.ietf.org/html/rfc7540#appendix-A\n// Reject cipher suites from Appendix A.\n// \"This list includes those cipher suites that do not\n// offer an ephemeral key exchange and those that are\n// based on the TLS null, stream or block cipher type\"\nfunc isBadCipher(cipher uint16) bool {\n\tswitch cipher {\n\tcase cipher_TLS_NULL_WITH_NULL_NULL,\n\t\tcipher_TLS_RSA_WITH_NULL_MD5,\n\t\tcipher_TLS_RSA_WITH_NULL_SHA,\n\t\tcipher_TLS_RSA_EXPORT_WITH_RC4_40_MD5,\n\t\tcipher_TLS_RSA_WITH_RC4_128_MD5,\n\t\tcipher_TLS_RSA_WITH_RC4_128_SHA,\n\t\tcipher_TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5,\n\t\tcipher_TLS_RSA_WITH_IDEA_CBC_SHA,\n\t\tcipher_TLS_RSA_EXPORT_WITH_DES40_CBC_SHA,\n\t\tcipher_TLS_RSA_WITH_DES_CBC_SHA,\n\t\tcipher_TLS_RSA_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA,\n\t\tcipher_TLS_DH_DSS_WITH_DES_CBC_SHA,\n\t\tcipher_TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA,\n\t\tcipher_TLS_DH_RSA_WITH_DES_CBC_SHA,\n\t\tcipher_TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA,\n\t\tcipher_TLS_DHE_DSS_WITH_DES_CBC_SHA,\n\t\tcipher_TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,\n\t\tcipher_TLS_DHE_RSA_WITH_DES_CBC_SHA,\n\t\tcipher_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_DH_anon_EXPORT_WITH_RC4_40_MD5,\n\t\tcipher_TLS_DH_anon_WITH_RC4_128_MD5,\n\t\tcipher_TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA,\n\t\tcipher_TLS_DH_anon_WITH_DES_CBC_SHA,\n\t\tcipher_TLS_DH_anon_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_KRB5_WITH_DES_CBC_SHA,\n\t\tcipher_TLS_KRB5_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_KRB5_WITH_RC4_128_SHA,\n\t\tcipher_TLS_KRB5_WITH_IDEA_CBC_SHA,\n\t\tcipher_TLS_KRB5_WITH_DES_CBC_MD5,\n\t\tcipher_TLS_KRB5_WITH_3DES_EDE_CBC_MD5,\n\t\tcipher_TLS_KRB5_WITH_RC4_128_MD5,\n\t\tcipher_TLS_KRB5_WITH_IDEA_CBC_MD5,\n\t\tcipher_TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA,\n\t\tcipher_TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA,\n\t\tcipher_TLS_KRB5_EXPORT_WITH_RC4_40_SHA,\n\t\tcipher_TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5,\n\t\tcipher_TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5,\n\t\tcipher_TLS_KRB5_EXPORT_WITH_RC4_40_MD5,\n\t\tcipher_TLS_PSK_WITH_NULL_SHA,\n\t\tcipher_TLS_DHE_PSK_WITH_NULL_SHA,\n\t\tcipher_TLS_RSA_PSK_WITH_NULL_SHA,\n\t\tcipher_TLS_RSA_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_DH_DSS_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_DH_RSA_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_DHE_DSS_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_DHE_RSA_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_DH_anon_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_RSA_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_DH_DSS_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_DH_RSA_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_DHE_DSS_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_DHE_RSA_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_DH_anon_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_RSA_WITH_NULL_SHA256,\n\t\tcipher_TLS_RSA_WITH_AES_128_CBC_SHA256,\n\t\tcipher_TLS_RSA_WITH_AES_256_CBC_SHA256,\n\t\tcipher_TLS_DH_DSS_WITH_AES_128_CBC_SHA256,\n\t\tcipher_TLS_DH_RSA_WITH_AES_128_CBC_SHA256,\n\t\tcipher_TLS_DHE_DSS_WITH_AES_128_CBC_SHA256,\n\t\tcipher_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA,\n\t\tcipher_TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA,\n\t\tcipher_TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA,\n\t\tcipher_TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA,\n\t\tcipher_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA,\n\t\tcipher_TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA,\n\t\tcipher_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,\n\t\tcipher_TLS_DH_DSS_WITH_AES_256_CBC_SHA256,\n\t\tcipher_TLS_DH_RSA_WITH_AES_256_CBC_SHA256,\n\t\tcipher_TLS_DHE_DSS_WITH_AES_256_CBC_SHA256,\n\t\tcipher_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,\n\t\tcipher_TLS_DH_anon_WITH_AES_128_CBC_SHA256,\n\t\tcipher_TLS_DH_anon_WITH_AES_256_CBC_SHA256,\n\t\tcipher_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA,\n\t\tcipher_TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA,\n\t\tcipher_TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA,\n\t\tcipher_TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA,\n\t\tcipher_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA,\n\t\tcipher_TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA,\n\t\tcipher_TLS_PSK_WITH_RC4_128_SHA,\n\t\tcipher_TLS_PSK_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_PSK_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_PSK_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_DHE_PSK_WITH_RC4_128_SHA,\n\t\tcipher_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_DHE_PSK_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_DHE_PSK_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_RSA_PSK_WITH_RC4_128_SHA,\n\t\tcipher_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_RSA_PSK_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_RSA_PSK_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_RSA_WITH_SEED_CBC_SHA,\n\t\tcipher_TLS_DH_DSS_WITH_SEED_CBC_SHA,\n\t\tcipher_TLS_DH_RSA_WITH_SEED_CBC_SHA,\n\t\tcipher_TLS_DHE_DSS_WITH_SEED_CBC_SHA,\n\t\tcipher_TLS_DHE_RSA_WITH_SEED_CBC_SHA,\n\t\tcipher_TLS_DH_anon_WITH_SEED_CBC_SHA,\n\t\tcipher_TLS_RSA_WITH_AES_128_GCM_SHA256,\n\t\tcipher_TLS_RSA_WITH_AES_256_GCM_SHA384,\n\t\tcipher_TLS_DH_RSA_WITH_AES_128_GCM_SHA256,\n\t\tcipher_TLS_DH_RSA_WITH_AES_256_GCM_SHA384,\n\t\tcipher_TLS_DH_DSS_WITH_AES_128_GCM_SHA256,\n\t\tcipher_TLS_DH_DSS_WITH_AES_256_GCM_SHA384,\n\t\tcipher_TLS_DH_anon_WITH_AES_128_GCM_SHA256,\n\t\tcipher_TLS_DH_anon_WITH_AES_256_GCM_SHA384,\n\t\tcipher_TLS_PSK_WITH_AES_128_GCM_SHA256,\n\t\tcipher_TLS_PSK_WITH_AES_256_GCM_SHA384,\n\t\tcipher_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256,\n\t\tcipher_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384,\n\t\tcipher_TLS_PSK_WITH_AES_128_CBC_SHA256,\n\t\tcipher_TLS_PSK_WITH_AES_256_CBC_SHA384,\n\t\tcipher_TLS_PSK_WITH_NULL_SHA256,\n\t\tcipher_TLS_PSK_WITH_NULL_SHA384,\n\t\tcipher_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256,\n\t\tcipher_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384,\n\t\tcipher_TLS_DHE_PSK_WITH_NULL_SHA256,\n\t\tcipher_TLS_DHE_PSK_WITH_NULL_SHA384,\n\t\tcipher_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256,\n\t\tcipher_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384,\n\t\tcipher_TLS_RSA_PSK_WITH_NULL_SHA256,\n\t\tcipher_TLS_RSA_PSK_WITH_NULL_SHA384,\n\t\tcipher_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256,\n\t\tcipher_TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256,\n\t\tcipher_TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256,\n\t\tcipher_TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256,\n\t\tcipher_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,\n\t\tcipher_TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256,\n\t\tcipher_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256,\n\t\tcipher_TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256,\n\t\tcipher_TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256,\n\t\tcipher_TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256,\n\t\tcipher_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256,\n\t\tcipher_TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256,\n\t\tcipher_TLS_EMPTY_RENEGOTIATION_INFO_SCSV,\n\t\tcipher_TLS_ECDH_ECDSA_WITH_NULL_SHA,\n\t\tcipher_TLS_ECDH_ECDSA_WITH_RC4_128_SHA,\n\t\tcipher_TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_ECDHE_ECDSA_WITH_NULL_SHA,\n\t\tcipher_TLS_ECDHE_ECDSA_WITH_RC4_128_SHA,\n\t\tcipher_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_ECDH_RSA_WITH_NULL_SHA,\n\t\tcipher_TLS_ECDH_RSA_WITH_RC4_128_SHA,\n\t\tcipher_TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_ECDHE_RSA_WITH_NULL_SHA,\n\t\tcipher_TLS_ECDHE_RSA_WITH_RC4_128_SHA,\n\t\tcipher_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_ECDH_anon_WITH_NULL_SHA,\n\t\tcipher_TLS_ECDH_anon_WITH_RC4_128_SHA,\n\t\tcipher_TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_ECDH_anon_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_ECDH_anon_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_SRP_SHA_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_SRP_SHA_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,\n\t\tcipher_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,\n\t\tcipher_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256,\n\t\tcipher_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384,\n\t\tcipher_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,\n\t\tcipher_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,\n\t\tcipher_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256,\n\t\tcipher_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384,\n\t\tcipher_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256,\n\t\tcipher_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384,\n\t\tcipher_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256,\n\t\tcipher_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384,\n\t\tcipher_TLS_ECDHE_PSK_WITH_RC4_128_SHA,\n\t\tcipher_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA,\n\t\tcipher_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA,\n\t\tcipher_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA,\n\t\tcipher_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256,\n\t\tcipher_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384,\n\t\tcipher_TLS_ECDHE_PSK_WITH_NULL_SHA,\n\t\tcipher_TLS_ECDHE_PSK_WITH_NULL_SHA256,\n\t\tcipher_TLS_ECDHE_PSK_WITH_NULL_SHA384,\n\t\tcipher_TLS_RSA_WITH_ARIA_128_CBC_SHA256,\n\t\tcipher_TLS_RSA_WITH_ARIA_256_CBC_SHA384,\n\t\tcipher_TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256,\n\t\tcipher_TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384,\n\t\tcipher_TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256,\n\t\tcipher_TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384,\n\t\tcipher_TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256,\n\t\tcipher_TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384,\n\t\tcipher_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256,\n\t\tcipher_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384,\n\t\tcipher_TLS_DH_anon_WITH_ARIA_128_CBC_SHA256,\n\t\tcipher_TLS_DH_anon_WITH_ARIA_256_CBC_SHA384,\n\t\tcipher_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256,\n\t\tcipher_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384,\n\t\tcipher_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256,\n\t\tcipher_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384,\n\t\tcipher_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256,\n\t\tcipher_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384,\n\t\tcipher_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256,\n\t\tcipher_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384,\n\t\tcipher_TLS_RSA_WITH_ARIA_128_GCM_SHA256,\n\t\tcipher_TLS_RSA_WITH_ARIA_256_GCM_SHA384,\n\t\tcipher_TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256,\n\t\tcipher_TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384,\n\t\tcipher_TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256,\n\t\tcipher_TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384,\n\t\tcipher_TLS_DH_anon_WITH_ARIA_128_GCM_SHA256,\n\t\tcipher_TLS_DH_anon_WITH_ARIA_256_GCM_SHA384,\n\t\tcipher_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256,\n\t\tcipher_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384,\n\t\tcipher_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256,\n\t\tcipher_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384,\n\t\tcipher_TLS_PSK_WITH_ARIA_128_CBC_SHA256,\n\t\tcipher_TLS_PSK_WITH_ARIA_256_CBC_SHA384,\n\t\tcipher_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256,\n\t\tcipher_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384,\n\t\tcipher_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256,\n\t\tcipher_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384,\n\t\tcipher_TLS_PSK_WITH_ARIA_128_GCM_SHA256,\n\t\tcipher_TLS_PSK_WITH_ARIA_256_GCM_SHA384,\n\t\tcipher_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256,\n\t\tcipher_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384,\n\t\tcipher_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256,\n\t\tcipher_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384,\n\t\tcipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,\n\t\tcipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,\n\t\tcipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,\n\t\tcipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,\n\t\tcipher_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,\n\t\tcipher_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384,\n\t\tcipher_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256,\n\t\tcipher_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384,\n\t\tcipher_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256,\n\t\tcipher_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384,\n\t\tcipher_TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256,\n\t\tcipher_TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384,\n\t\tcipher_TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256,\n\t\tcipher_TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384,\n\t\tcipher_TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256,\n\t\tcipher_TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384,\n\t\tcipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256,\n\t\tcipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384,\n\t\tcipher_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256,\n\t\tcipher_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384,\n\t\tcipher_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256,\n\t\tcipher_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384,\n\t\tcipher_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256,\n\t\tcipher_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384,\n\t\tcipher_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256,\n\t\tcipher_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384,\n\t\tcipher_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,\n\t\tcipher_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,\n\t\tcipher_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256,\n\t\tcipher_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384,\n\t\tcipher_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,\n\t\tcipher_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,\n\t\tcipher_TLS_RSA_WITH_AES_128_CCM,\n\t\tcipher_TLS_RSA_WITH_AES_256_CCM,\n\t\tcipher_TLS_RSA_WITH_AES_128_CCM_8,\n\t\tcipher_TLS_RSA_WITH_AES_256_CCM_8,\n\t\tcipher_TLS_PSK_WITH_AES_128_CCM,\n\t\tcipher_TLS_PSK_WITH_AES_256_CCM,\n\t\tcipher_TLS_PSK_WITH_AES_128_CCM_8,\n\t\tcipher_TLS_PSK_WITH_AES_256_CCM_8:\n\t\treturn true\n\tdefault:\n\t\treturn false\n\t}\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/client_conn_pool.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Transport code's client connection pooling.\n\npackage http2\n\nimport (\n\t\"crypto/tls\"\n\t\"net/http\"\n\t\"sync\"\n)\n\n// ClientConnPool manages a pool of HTTP/2 client connections.\ntype ClientConnPool interface {\n\tGetClientConn(req *http.Request, addr string) (*ClientConn, error)\n\tMarkDead(*ClientConn)\n}\n\n// clientConnPoolIdleCloser is the interface implemented by ClientConnPool\n// implementations which can close their idle connections.\ntype clientConnPoolIdleCloser interface {\n\tClientConnPool\n\tcloseIdleConnections()\n}\n\nvar (\n\t_ clientConnPoolIdleCloser = (*clientConnPool)(nil)\n\t_ clientConnPoolIdleCloser = noDialClientConnPool{}\n)\n\n// TODO: use singleflight for dialing and addConnCalls?\ntype clientConnPool struct {\n\tt *Transport\n\n\tmu sync.Mutex // TODO: maybe switch to RWMutex\n\t// TODO: add support for sharing conns based on cert names\n\t// (e.g. share conn for googleapis.com and appspot.com)\n\tconns        map[string][]*ClientConn // key is host:port\n\tdialing      map[string]*dialCall     // currently in-flight dials\n\tkeys         map[*ClientConn][]string\n\taddConnCalls map[string]*addConnCall // in-flight addConnIfNeede calls\n}\n\nfunc (p *clientConnPool) GetClientConn(req *http.Request, addr string) (*ClientConn, error) {\n\treturn p.getClientConn(req, addr, dialOnMiss)\n}\n\nconst (\n\tdialOnMiss   = true\n\tnoDialOnMiss = false\n)\n\n// shouldTraceGetConn reports whether getClientConn should call any\n// ClientTrace.GetConn hook associated with the http.Request.\n//\n// This complexity is needed to avoid double calls of the GetConn hook\n// during the back-and-forth between net/http and x/net/http2 (when the\n// net/http.Transport is upgraded to also speak http2), as well as support\n// the case where x/net/http2 is being used directly.\nfunc (p *clientConnPool) shouldTraceGetConn(st clientConnIdleState) bool {\n\t// If our Transport wasn't made via ConfigureTransport, always\n\t// trace the GetConn hook if provided, because that means the\n\t// http2 package is being used directly and it's the one\n\t// dialing, as opposed to net/http.\n\tif _, ok := p.t.ConnPool.(noDialClientConnPool); !ok {\n\t\treturn true\n\t}\n\t// Otherwise, only use the GetConn hook if this connection has\n\t// been used previously for other requests. For fresh\n\t// connections, the net/http package does the dialing.\n\treturn !st.freshConn\n}\n\nfunc (p *clientConnPool) getClientConn(req *http.Request, addr string, dialOnMiss bool) (*ClientConn, error) {\n\tif isConnectionCloseRequest(req) && dialOnMiss {\n\t\t// It gets its own connection.\n\t\ttraceGetConn(req, addr)\n\t\tconst singleUse = true\n\t\tcc, err := p.t.dialClientConn(addr, singleUse)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\treturn cc, nil\n\t}\n\tp.mu.Lock()\n\tfor _, cc := range p.conns[addr] {\n\t\tif st := cc.idleState(); st.canTakeNewRequest {\n\t\t\tif p.shouldTraceGetConn(st) {\n\t\t\t\ttraceGetConn(req, addr)\n\t\t\t}\n\t\t\tp.mu.Unlock()\n\t\t\treturn cc, nil\n\t\t}\n\t}\n\tif !dialOnMiss {\n\t\tp.mu.Unlock()\n\t\treturn nil, ErrNoCachedConn\n\t}\n\ttraceGetConn(req, addr)\n\tcall := p.getStartDialLocked(addr)\n\tp.mu.Unlock()\n\t<-call.done\n\treturn call.res, call.err\n}\n\n// dialCall is an in-flight Transport dial call to a host.\ntype dialCall struct {\n\tp    *clientConnPool\n\tdone chan struct{} // closed when done\n\tres  *ClientConn   // valid after done is closed\n\terr  error         // valid after done is closed\n}\n\n// requires p.mu is held.\nfunc (p *clientConnPool) getStartDialLocked(addr string) *dialCall {\n\tif call, ok := p.dialing[addr]; ok {\n\t\t// A dial is already in-flight. Don't start another.\n\t\treturn call\n\t}\n\tcall := &dialCall{p: p, done: make(chan struct{})}\n\tif p.dialing == nil {\n\t\tp.dialing = make(map[string]*dialCall)\n\t}\n\tp.dialing[addr] = call\n\tgo call.dial(addr)\n\treturn call\n}\n\n// run in its own goroutine.\nfunc (c *dialCall) dial(addr string) {\n\tconst singleUse = false // shared conn\n\tc.res, c.err = c.p.t.dialClientConn(addr, singleUse)\n\tclose(c.done)\n\n\tc.p.mu.Lock()\n\tdelete(c.p.dialing, addr)\n\tif c.err == nil {\n\t\tc.p.addConnLocked(addr, c.res)\n\t}\n\tc.p.mu.Unlock()\n}\n\n// addConnIfNeeded makes a NewClientConn out of c if a connection for key doesn't\n// already exist. It coalesces concurrent calls with the same key.\n// This is used by the http1 Transport code when it creates a new connection. Because\n// the http1 Transport doesn't de-dup TCP dials to outbound hosts (because it doesn't know\n// the protocol), it can get into a situation where it has multiple TLS connections.\n// This code decides which ones live or die.\n// The return value used is whether c was used.\n// c is never closed.\nfunc (p *clientConnPool) addConnIfNeeded(key string, t *Transport, c *tls.Conn) (used bool, err error) {\n\tp.mu.Lock()\n\tfor _, cc := range p.conns[key] {\n\t\tif cc.CanTakeNewRequest() {\n\t\t\tp.mu.Unlock()\n\t\t\treturn false, nil\n\t\t}\n\t}\n\tcall, dup := p.addConnCalls[key]\n\tif !dup {\n\t\tif p.addConnCalls == nil {\n\t\t\tp.addConnCalls = make(map[string]*addConnCall)\n\t\t}\n\t\tcall = &addConnCall{\n\t\t\tp:    p,\n\t\t\tdone: make(chan struct{}),\n\t\t}\n\t\tp.addConnCalls[key] = call\n\t\tgo call.run(t, key, c)\n\t}\n\tp.mu.Unlock()\n\n\t<-call.done\n\tif call.err != nil {\n\t\treturn false, call.err\n\t}\n\treturn !dup, nil\n}\n\ntype addConnCall struct {\n\tp    *clientConnPool\n\tdone chan struct{} // closed when done\n\terr  error\n}\n\nfunc (c *addConnCall) run(t *Transport, key string, tc *tls.Conn) {\n\tcc, err := t.NewClientConn(tc)\n\n\tp := c.p\n\tp.mu.Lock()\n\tif err != nil {\n\t\tc.err = err\n\t} else {\n\t\tp.addConnLocked(key, cc)\n\t}\n\tdelete(p.addConnCalls, key)\n\tp.mu.Unlock()\n\tclose(c.done)\n}\n\nfunc (p *clientConnPool) addConn(key string, cc *ClientConn) {\n\tp.mu.Lock()\n\tp.addConnLocked(key, cc)\n\tp.mu.Unlock()\n}\n\n// p.mu must be held\nfunc (p *clientConnPool) addConnLocked(key string, cc *ClientConn) {\n\tfor _, v := range p.conns[key] {\n\t\tif v == cc {\n\t\t\treturn\n\t\t}\n\t}\n\tif p.conns == nil {\n\t\tp.conns = make(map[string][]*ClientConn)\n\t}\n\tif p.keys == nil {\n\t\tp.keys = make(map[*ClientConn][]string)\n\t}\n\tp.conns[key] = append(p.conns[key], cc)\n\tp.keys[cc] = append(p.keys[cc], key)\n}\n\nfunc (p *clientConnPool) MarkDead(cc *ClientConn) {\n\tp.mu.Lock()\n\tdefer p.mu.Unlock()\n\tfor _, key := range p.keys[cc] {\n\t\tvv, ok := p.conns[key]\n\t\tif !ok {\n\t\t\tcontinue\n\t\t}\n\t\tnewList := filterOutClientConn(vv, cc)\n\t\tif len(newList) > 0 {\n\t\t\tp.conns[key] = newList\n\t\t} else {\n\t\t\tdelete(p.conns, key)\n\t\t}\n\t}\n\tdelete(p.keys, cc)\n}\n\nfunc (p *clientConnPool) closeIdleConnections() {\n\tp.mu.Lock()\n\tdefer p.mu.Unlock()\n\t// TODO: don't close a cc if it was just added to the pool\n\t// milliseconds ago and has never been used. There's currently\n\t// a small race window with the HTTP/1 Transport's integration\n\t// where it can add an idle conn just before using it, and\n\t// somebody else can concurrently call CloseIdleConns and\n\t// break some caller's RoundTrip.\n\tfor _, vv := range p.conns {\n\t\tfor _, cc := range vv {\n\t\t\tcc.closeIfIdle()\n\t\t}\n\t}\n}\n\nfunc filterOutClientConn(in []*ClientConn, exclude *ClientConn) []*ClientConn {\n\tout := in[:0]\n\tfor _, v := range in {\n\t\tif v != exclude {\n\t\t\tout = append(out, v)\n\t\t}\n\t}\n\t// If we filtered it out, zero out the last item to prevent\n\t// the GC from seeing it.\n\tif len(in) != len(out) {\n\t\tin[len(in)-1] = nil\n\t}\n\treturn out\n}\n\n// noDialClientConnPool is an implementation of http2.ClientConnPool\n// which never dials. We let the HTTP/1.1 client dial and use its TLS\n// connection instead.\ntype noDialClientConnPool struct{ *clientConnPool }\n\nfunc (p noDialClientConnPool) GetClientConn(req *http.Request, addr string) (*ClientConn, error) {\n\treturn p.getClientConn(req, addr, noDialOnMiss)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/configure_transport.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build go1.6\n\npackage http2\n\nimport (\n\t\"crypto/tls\"\n\t\"fmt\"\n\t\"net/http\"\n)\n\nfunc configureTransport(t1 *http.Transport) (*Transport, error) {\n\tconnPool := new(clientConnPool)\n\tt2 := &Transport{\n\t\tConnPool: noDialClientConnPool{connPool},\n\t\tt1:       t1,\n\t}\n\tconnPool.t = t2\n\tif err := registerHTTPSProtocol(t1, noDialH2RoundTripper{t2}); err != nil {\n\t\treturn nil, err\n\t}\n\tif t1.TLSClientConfig == nil {\n\t\tt1.TLSClientConfig = new(tls.Config)\n\t}\n\tif !strSliceContains(t1.TLSClientConfig.NextProtos, \"h2\") {\n\t\tt1.TLSClientConfig.NextProtos = append([]string{\"h2\"}, t1.TLSClientConfig.NextProtos...)\n\t}\n\tif !strSliceContains(t1.TLSClientConfig.NextProtos, \"http/1.1\") {\n\t\tt1.TLSClientConfig.NextProtos = append(t1.TLSClientConfig.NextProtos, \"http/1.1\")\n\t}\n\tupgradeFn := func(authority string, c *tls.Conn) http.RoundTripper {\n\t\taddr := authorityAddr(\"https\", authority)\n\t\tif used, err := connPool.addConnIfNeeded(addr, t2, c); err != nil {\n\t\t\tgo c.Close()\n\t\t\treturn erringRoundTripper{err}\n\t\t} else if !used {\n\t\t\t// Turns out we don't need this c.\n\t\t\t// For example, two goroutines made requests to the same host\n\t\t\t// at the same time, both kicking off TCP dials. (since protocol\n\t\t\t// was unknown)\n\t\t\tgo c.Close()\n\t\t}\n\t\treturn t2\n\t}\n\tif m := t1.TLSNextProto; len(m) == 0 {\n\t\tt1.TLSNextProto = map[string]func(string, *tls.Conn) http.RoundTripper{\n\t\t\t\"h2\": upgradeFn,\n\t\t}\n\t} else {\n\t\tm[\"h2\"] = upgradeFn\n\t}\n\treturn t2, nil\n}\n\n// registerHTTPSProtocol calls Transport.RegisterProtocol but\n// converting panics into errors.\nfunc registerHTTPSProtocol(t *http.Transport, rt noDialH2RoundTripper) (err error) {\n\tdefer func() {\n\t\tif e := recover(); e != nil {\n\t\t\terr = fmt.Errorf(\"%v\", e)\n\t\t}\n\t}()\n\tt.RegisterProtocol(\"https\", rt)\n\treturn nil\n}\n\n// noDialH2RoundTripper is a RoundTripper which only tries to complete the request\n// if there's already has a cached connection to the host.\n// (The field is exported so it can be accessed via reflect from net/http; tested\n// by TestNoDialH2RoundTripperType)\ntype noDialH2RoundTripper struct{ *Transport }\n\nfunc (rt noDialH2RoundTripper) RoundTrip(req *http.Request) (*http.Response, error) {\n\tres, err := rt.Transport.RoundTrip(req)\n\tif isNoCachedConnError(err) {\n\t\treturn nil, http.ErrSkipAltProtocol\n\t}\n\treturn res, err\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/databuffer.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage http2\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"sync\"\n)\n\n// Buffer chunks are allocated from a pool to reduce pressure on GC.\n// The maximum wasted space per dataBuffer is 2x the largest size class,\n// which happens when the dataBuffer has multiple chunks and there is\n// one unread byte in both the first and last chunks. We use a few size\n// classes to minimize overheads for servers that typically receive very\n// small request bodies.\n//\n// TODO: Benchmark to determine if the pools are necessary. The GC may have\n// improved enough that we can instead allocate chunks like this:\n// make([]byte, max(16<<10, expectedBytesRemaining))\nvar (\n\tdataChunkSizeClasses = []int{\n\t\t1 << 10,\n\t\t2 << 10,\n\t\t4 << 10,\n\t\t8 << 10,\n\t\t16 << 10,\n\t}\n\tdataChunkPools = [...]sync.Pool{\n\t\t{New: func() interface{} { return make([]byte, 1<<10) }},\n\t\t{New: func() interface{} { return make([]byte, 2<<10) }},\n\t\t{New: func() interface{} { return make([]byte, 4<<10) }},\n\t\t{New: func() interface{} { return make([]byte, 8<<10) }},\n\t\t{New: func() interface{} { return make([]byte, 16<<10) }},\n\t}\n)\n\nfunc getDataBufferChunk(size int64) []byte {\n\ti := 0\n\tfor ; i < len(dataChunkSizeClasses)-1; i++ {\n\t\tif size <= int64(dataChunkSizeClasses[i]) {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn dataChunkPools[i].Get().([]byte)\n}\n\nfunc putDataBufferChunk(p []byte) {\n\tfor i, n := range dataChunkSizeClasses {\n\t\tif len(p) == n {\n\t\t\tdataChunkPools[i].Put(p)\n\t\t\treturn\n\t\t}\n\t}\n\tpanic(fmt.Sprintf(\"unexpected buffer len=%v\", len(p)))\n}\n\n// dataBuffer is an io.ReadWriter backed by a list of data chunks.\n// Each dataBuffer is used to read DATA frames on a single stream.\n// The buffer is divided into chunks so the server can limit the\n// total memory used by a single connection without limiting the\n// request body size on any single stream.\ntype dataBuffer struct {\n\tchunks   [][]byte\n\tr        int   // next byte to read is chunks[0][r]\n\tw        int   // next byte to write is chunks[len(chunks)-1][w]\n\tsize     int   // total buffered bytes\n\texpected int64 // we expect at least this many bytes in future Write calls (ignored if <= 0)\n}\n\nvar errReadEmpty = errors.New(\"read from empty dataBuffer\")\n\n// Read copies bytes from the buffer into p.\n// It is an error to read when no data is available.\nfunc (b *dataBuffer) Read(p []byte) (int, error) {\n\tif b.size == 0 {\n\t\treturn 0, errReadEmpty\n\t}\n\tvar ntotal int\n\tfor len(p) > 0 && b.size > 0 {\n\t\treadFrom := b.bytesFromFirstChunk()\n\t\tn := copy(p, readFrom)\n\t\tp = p[n:]\n\t\tntotal += n\n\t\tb.r += n\n\t\tb.size -= n\n\t\t// If the first chunk has been consumed, advance to the next chunk.\n\t\tif b.r == len(b.chunks[0]) {\n\t\t\tputDataBufferChunk(b.chunks[0])\n\t\t\tend := len(b.chunks) - 1\n\t\t\tcopy(b.chunks[:end], b.chunks[1:])\n\t\t\tb.chunks[end] = nil\n\t\t\tb.chunks = b.chunks[:end]\n\t\t\tb.r = 0\n\t\t}\n\t}\n\treturn ntotal, nil\n}\n\nfunc (b *dataBuffer) bytesFromFirstChunk() []byte {\n\tif len(b.chunks) == 1 {\n\t\treturn b.chunks[0][b.r:b.w]\n\t}\n\treturn b.chunks[0][b.r:]\n}\n\n// Len returns the number of bytes of the unread portion of the buffer.\nfunc (b *dataBuffer) Len() int {\n\treturn b.size\n}\n\n// Write appends p to the buffer.\nfunc (b *dataBuffer) Write(p []byte) (int, error) {\n\tntotal := len(p)\n\tfor len(p) > 0 {\n\t\t// If the last chunk is empty, allocate a new chunk. Try to allocate\n\t\t// enough to fully copy p plus any additional bytes we expect to\n\t\t// receive. However, this may allocate less than len(p).\n\t\twant := int64(len(p))\n\t\tif b.expected > want {\n\t\t\twant = b.expected\n\t\t}\n\t\tchunk := b.lastChunkOrAlloc(want)\n\t\tn := copy(chunk[b.w:], p)\n\t\tp = p[n:]\n\t\tb.w += n\n\t\tb.size += n\n\t\tb.expected -= int64(n)\n\t}\n\treturn ntotal, nil\n}\n\nfunc (b *dataBuffer) lastChunkOrAlloc(want int64) []byte {\n\tif len(b.chunks) != 0 {\n\t\tlast := b.chunks[len(b.chunks)-1]\n\t\tif b.w < len(last) {\n\t\t\treturn last\n\t\t}\n\t}\n\tchunk := getDataBufferChunk(want)\n\tb.chunks = append(b.chunks, chunk)\n\tb.w = 0\n\treturn chunk\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/errors.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage http2\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n)\n\n// An ErrCode is an unsigned 32-bit error code as defined in the HTTP/2 spec.\ntype ErrCode uint32\n\nconst (\n\tErrCodeNo                 ErrCode = 0x0\n\tErrCodeProtocol           ErrCode = 0x1\n\tErrCodeInternal           ErrCode = 0x2\n\tErrCodeFlowControl        ErrCode = 0x3\n\tErrCodeSettingsTimeout    ErrCode = 0x4\n\tErrCodeStreamClosed       ErrCode = 0x5\n\tErrCodeFrameSize          ErrCode = 0x6\n\tErrCodeRefusedStream      ErrCode = 0x7\n\tErrCodeCancel             ErrCode = 0x8\n\tErrCodeCompression        ErrCode = 0x9\n\tErrCodeConnect            ErrCode = 0xa\n\tErrCodeEnhanceYourCalm    ErrCode = 0xb\n\tErrCodeInadequateSecurity ErrCode = 0xc\n\tErrCodeHTTP11Required     ErrCode = 0xd\n)\n\nvar errCodeName = map[ErrCode]string{\n\tErrCodeNo:                 \"NO_ERROR\",\n\tErrCodeProtocol:           \"PROTOCOL_ERROR\",\n\tErrCodeInternal:           \"INTERNAL_ERROR\",\n\tErrCodeFlowControl:        \"FLOW_CONTROL_ERROR\",\n\tErrCodeSettingsTimeout:    \"SETTINGS_TIMEOUT\",\n\tErrCodeStreamClosed:       \"STREAM_CLOSED\",\n\tErrCodeFrameSize:          \"FRAME_SIZE_ERROR\",\n\tErrCodeRefusedStream:      \"REFUSED_STREAM\",\n\tErrCodeCancel:             \"CANCEL\",\n\tErrCodeCompression:        \"COMPRESSION_ERROR\",\n\tErrCodeConnect:            \"CONNECT_ERROR\",\n\tErrCodeEnhanceYourCalm:    \"ENHANCE_YOUR_CALM\",\n\tErrCodeInadequateSecurity: \"INADEQUATE_SECURITY\",\n\tErrCodeHTTP11Required:     \"HTTP_1_1_REQUIRED\",\n}\n\nfunc (e ErrCode) String() string {\n\tif s, ok := errCodeName[e]; ok {\n\t\treturn s\n\t}\n\treturn fmt.Sprintf(\"unknown error code 0x%x\", uint32(e))\n}\n\n// ConnectionError is an error that results in the termination of the\n// entire connection.\ntype ConnectionError ErrCode\n\nfunc (e ConnectionError) Error() string { return fmt.Sprintf(\"connection error: %s\", ErrCode(e)) }\n\n// StreamError is an error that only affects one stream within an\n// HTTP/2 connection.\ntype StreamError struct {\n\tStreamID uint32\n\tCode     ErrCode\n\tCause    error // optional additional detail\n}\n\nfunc streamError(id uint32, code ErrCode) StreamError {\n\treturn StreamError{StreamID: id, Code: code}\n}\n\nfunc (e StreamError) Error() string {\n\tif e.Cause != nil {\n\t\treturn fmt.Sprintf(\"stream error: stream ID %d; %v; %v\", e.StreamID, e.Code, e.Cause)\n\t}\n\treturn fmt.Sprintf(\"stream error: stream ID %d; %v\", e.StreamID, e.Code)\n}\n\n// 6.9.1 The Flow Control Window\n// \"If a sender receives a WINDOW_UPDATE that causes a flow control\n// window to exceed this maximum it MUST terminate either the stream\n// or the connection, as appropriate. For streams, [...]; for the\n// connection, a GOAWAY frame with a FLOW_CONTROL_ERROR code.\"\ntype goAwayFlowError struct{}\n\nfunc (goAwayFlowError) Error() string { return \"connection exceeded flow control window size\" }\n\n// connError represents an HTTP/2 ConnectionError error code, along\n// with a string (for debugging) explaining why.\n//\n// Errors of this type are only returned by the frame parser functions\n// and converted into ConnectionError(Code), after stashing away\n// the Reason into the Framer's errDetail field, accessible via\n// the (*Framer).ErrorDetail method.\ntype connError struct {\n\tCode   ErrCode // the ConnectionError error code\n\tReason string  // additional reason\n}\n\nfunc (e connError) Error() string {\n\treturn fmt.Sprintf(\"http2: connection error: %v: %v\", e.Code, e.Reason)\n}\n\ntype pseudoHeaderError string\n\nfunc (e pseudoHeaderError) Error() string {\n\treturn fmt.Sprintf(\"invalid pseudo-header %q\", string(e))\n}\n\ntype duplicatePseudoHeaderError string\n\nfunc (e duplicatePseudoHeaderError) Error() string {\n\treturn fmt.Sprintf(\"duplicate pseudo-header %q\", string(e))\n}\n\ntype headerFieldNameError string\n\nfunc (e headerFieldNameError) Error() string {\n\treturn fmt.Sprintf(\"invalid header field name %q\", string(e))\n}\n\ntype headerFieldValueError string\n\nfunc (e headerFieldValueError) Error() string {\n\treturn fmt.Sprintf(\"invalid header field value %q\", string(e))\n}\n\nvar (\n\terrMixPseudoHeaderTypes = errors.New(\"mix of request and response pseudo headers\")\n\terrPseudoAfterRegular   = errors.New(\"pseudo header field after regular\")\n)\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/flow.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Flow control\n\npackage http2\n\n// flow is the flow control window's size.\ntype flow struct {\n\t// n is the number of DATA bytes we're allowed to send.\n\t// A flow is kept both on a conn and a per-stream.\n\tn int32\n\n\t// conn points to the shared connection-level flow that is\n\t// shared by all streams on that conn. It is nil for the flow\n\t// that's on the conn directly.\n\tconn *flow\n}\n\nfunc (f *flow) setConnFlow(cf *flow) { f.conn = cf }\n\nfunc (f *flow) available() int32 {\n\tn := f.n\n\tif f.conn != nil && f.conn.n < n {\n\t\tn = f.conn.n\n\t}\n\treturn n\n}\n\nfunc (f *flow) take(n int32) {\n\tif n > f.available() {\n\t\tpanic(\"internal error: took too much\")\n\t}\n\tf.n -= n\n\tif f.conn != nil {\n\t\tf.conn.n -= n\n\t}\n}\n\n// add adds n bytes (positive or negative) to the flow control window.\n// It returns false if the sum would exceed 2^31-1.\nfunc (f *flow) add(n int32) bool {\n\tsum := f.n + n\n\tif (sum > n) == (f.n > 0) {\n\t\tf.n = sum\n\t\treturn true\n\t}\n\treturn false\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/frame.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage http2\n\nimport (\n\t\"bytes\"\n\t\"encoding/binary\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"log\"\n\t\"strings\"\n\t\"sync\"\n\n\t\"golang.org/x/net/http/httpguts\"\n\t\"golang.org/x/net/http2/hpack\"\n)\n\nconst frameHeaderLen = 9\n\nvar padZeros = make([]byte, 255) // zeros for padding\n\n// A FrameType is a registered frame type as defined in\n// http://http2.github.io/http2-spec/#rfc.section.11.2\ntype FrameType uint8\n\nconst (\n\tFrameData         FrameType = 0x0\n\tFrameHeaders      FrameType = 0x1\n\tFramePriority     FrameType = 0x2\n\tFrameRSTStream    FrameType = 0x3\n\tFrameSettings     FrameType = 0x4\n\tFramePushPromise  FrameType = 0x5\n\tFramePing         FrameType = 0x6\n\tFrameGoAway       FrameType = 0x7\n\tFrameWindowUpdate FrameType = 0x8\n\tFrameContinuation FrameType = 0x9\n)\n\nvar frameName = map[FrameType]string{\n\tFrameData:         \"DATA\",\n\tFrameHeaders:      \"HEADERS\",\n\tFramePriority:     \"PRIORITY\",\n\tFrameRSTStream:    \"RST_STREAM\",\n\tFrameSettings:     \"SETTINGS\",\n\tFramePushPromise:  \"PUSH_PROMISE\",\n\tFramePing:         \"PING\",\n\tFrameGoAway:       \"GOAWAY\",\n\tFrameWindowUpdate: \"WINDOW_UPDATE\",\n\tFrameContinuation: \"CONTINUATION\",\n}\n\nfunc (t FrameType) String() string {\n\tif s, ok := frameName[t]; ok {\n\t\treturn s\n\t}\n\treturn fmt.Sprintf(\"UNKNOWN_FRAME_TYPE_%d\", uint8(t))\n}\n\n// Flags is a bitmask of HTTP/2 flags.\n// The meaning of flags varies depending on the frame type.\ntype Flags uint8\n\n// Has reports whether f contains all (0 or more) flags in v.\nfunc (f Flags) Has(v Flags) bool {\n\treturn (f & v) == v\n}\n\n// Frame-specific FrameHeader flag bits.\nconst (\n\t// Data Frame\n\tFlagDataEndStream Flags = 0x1\n\tFlagDataPadded    Flags = 0x8\n\n\t// Headers Frame\n\tFlagHeadersEndStream  Flags = 0x1\n\tFlagHeadersEndHeaders Flags = 0x4\n\tFlagHeadersPadded     Flags = 0x8\n\tFlagHeadersPriority   Flags = 0x20\n\n\t// Settings Frame\n\tFlagSettingsAck Flags = 0x1\n\n\t// Ping Frame\n\tFlagPingAck Flags = 0x1\n\n\t// Continuation Frame\n\tFlagContinuationEndHeaders Flags = 0x4\n\n\tFlagPushPromiseEndHeaders Flags = 0x4\n\tFlagPushPromisePadded     Flags = 0x8\n)\n\nvar flagName = map[FrameType]map[Flags]string{\n\tFrameData: {\n\t\tFlagDataEndStream: \"END_STREAM\",\n\t\tFlagDataPadded:    \"PADDED\",\n\t},\n\tFrameHeaders: {\n\t\tFlagHeadersEndStream:  \"END_STREAM\",\n\t\tFlagHeadersEndHeaders: \"END_HEADERS\",\n\t\tFlagHeadersPadded:     \"PADDED\",\n\t\tFlagHeadersPriority:   \"PRIORITY\",\n\t},\n\tFrameSettings: {\n\t\tFlagSettingsAck: \"ACK\",\n\t},\n\tFramePing: {\n\t\tFlagPingAck: \"ACK\",\n\t},\n\tFrameContinuation: {\n\t\tFlagContinuationEndHeaders: \"END_HEADERS\",\n\t},\n\tFramePushPromise: {\n\t\tFlagPushPromiseEndHeaders: \"END_HEADERS\",\n\t\tFlagPushPromisePadded:     \"PADDED\",\n\t},\n}\n\n// a frameParser parses a frame given its FrameHeader and payload\n// bytes. The length of payload will always equal fh.Length (which\n// might be 0).\ntype frameParser func(fc *frameCache, fh FrameHeader, payload []byte) (Frame, error)\n\nvar frameParsers = map[FrameType]frameParser{\n\tFrameData:         parseDataFrame,\n\tFrameHeaders:      parseHeadersFrame,\n\tFramePriority:     parsePriorityFrame,\n\tFrameRSTStream:    parseRSTStreamFrame,\n\tFrameSettings:     parseSettingsFrame,\n\tFramePushPromise:  parsePushPromise,\n\tFramePing:         parsePingFrame,\n\tFrameGoAway:       parseGoAwayFrame,\n\tFrameWindowUpdate: parseWindowUpdateFrame,\n\tFrameContinuation: parseContinuationFrame,\n}\n\nfunc typeFrameParser(t FrameType) frameParser {\n\tif f := frameParsers[t]; f != nil {\n\t\treturn f\n\t}\n\treturn parseUnknownFrame\n}\n\n// A FrameHeader is the 9 byte header of all HTTP/2 frames.\n//\n// See http://http2.github.io/http2-spec/#FrameHeader\ntype FrameHeader struct {\n\tvalid bool // caller can access []byte fields in the Frame\n\n\t// Type is the 1 byte frame type. There are ten standard frame\n\t// types, but extension frame types may be written by WriteRawFrame\n\t// and will be returned by ReadFrame (as UnknownFrame).\n\tType FrameType\n\n\t// Flags are the 1 byte of 8 potential bit flags per frame.\n\t// They are specific to the frame type.\n\tFlags Flags\n\n\t// Length is the length of the frame, not including the 9 byte header.\n\t// The maximum size is one byte less than 16MB (uint24), but only\n\t// frames up to 16KB are allowed without peer agreement.\n\tLength uint32\n\n\t// StreamID is which stream this frame is for. Certain frames\n\t// are not stream-specific, in which case this field is 0.\n\tStreamID uint32\n}\n\n// Header returns h. It exists so FrameHeaders can be embedded in other\n// specific frame types and implement the Frame interface.\nfunc (h FrameHeader) Header() FrameHeader { return h }\n\nfunc (h FrameHeader) String() string {\n\tvar buf bytes.Buffer\n\tbuf.WriteString(\"[FrameHeader \")\n\th.writeDebug(&buf)\n\tbuf.WriteByte(']')\n\treturn buf.String()\n}\n\nfunc (h FrameHeader) writeDebug(buf *bytes.Buffer) {\n\tbuf.WriteString(h.Type.String())\n\tif h.Flags != 0 {\n\t\tbuf.WriteString(\" flags=\")\n\t\tset := 0\n\t\tfor i := uint8(0); i < 8; i++ {\n\t\t\tif h.Flags&(1<<i) == 0 {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tset++\n\t\t\tif set > 1 {\n\t\t\t\tbuf.WriteByte('|')\n\t\t\t}\n\t\t\tname := flagName[h.Type][Flags(1<<i)]\n\t\t\tif name != \"\" {\n\t\t\t\tbuf.WriteString(name)\n\t\t\t} else {\n\t\t\t\tfmt.Fprintf(buf, \"0x%x\", 1<<i)\n\t\t\t}\n\t\t}\n\t}\n\tif h.StreamID != 0 {\n\t\tfmt.Fprintf(buf, \" stream=%d\", h.StreamID)\n\t}\n\tfmt.Fprintf(buf, \" len=%d\", h.Length)\n}\n\nfunc (h *FrameHeader) checkValid() {\n\tif !h.valid {\n\t\tpanic(\"Frame accessor called on non-owned Frame\")\n\t}\n}\n\nfunc (h *FrameHeader) invalidate() { h.valid = false }\n\n// frame header bytes.\n// Used only by ReadFrameHeader.\nvar fhBytes = sync.Pool{\n\tNew: func() interface{} {\n\t\tbuf := make([]byte, frameHeaderLen)\n\t\treturn &buf\n\t},\n}\n\n// ReadFrameHeader reads 9 bytes from r and returns a FrameHeader.\n// Most users should use Framer.ReadFrame instead.\nfunc ReadFrameHeader(r io.Reader) (FrameHeader, error) {\n\tbufp := fhBytes.Get().(*[]byte)\n\tdefer fhBytes.Put(bufp)\n\treturn readFrameHeader(*bufp, r)\n}\n\nfunc readFrameHeader(buf []byte, r io.Reader) (FrameHeader, error) {\n\t_, err := io.ReadFull(r, buf[:frameHeaderLen])\n\tif err != nil {\n\t\treturn FrameHeader{}, err\n\t}\n\treturn FrameHeader{\n\t\tLength:   (uint32(buf[0])<<16 | uint32(buf[1])<<8 | uint32(buf[2])),\n\t\tType:     FrameType(buf[3]),\n\t\tFlags:    Flags(buf[4]),\n\t\tStreamID: binary.BigEndian.Uint32(buf[5:]) & (1<<31 - 1),\n\t\tvalid:    true,\n\t}, nil\n}\n\n// A Frame is the base interface implemented by all frame types.\n// Callers will generally type-assert the specific frame type:\n// *HeadersFrame, *SettingsFrame, *WindowUpdateFrame, etc.\n//\n// Frames are only valid until the next call to Framer.ReadFrame.\ntype Frame interface {\n\tHeader() FrameHeader\n\n\t// invalidate is called by Framer.ReadFrame to make this\n\t// frame's buffers as being invalid, since the subsequent\n\t// frame will reuse them.\n\tinvalidate()\n}\n\n// A Framer reads and writes Frames.\ntype Framer struct {\n\tr         io.Reader\n\tlastFrame Frame\n\terrDetail error\n\n\t// lastHeaderStream is non-zero if the last frame was an\n\t// unfinished HEADERS/CONTINUATION.\n\tlastHeaderStream uint32\n\n\tmaxReadSize uint32\n\theaderBuf   [frameHeaderLen]byte\n\n\t// TODO: let getReadBuf be configurable, and use a less memory-pinning\n\t// allocator in server.go to minimize memory pinned for many idle conns.\n\t// Will probably also need to make frame invalidation have a hook too.\n\tgetReadBuf func(size uint32) []byte\n\treadBuf    []byte // cache for default getReadBuf\n\n\tmaxWriteSize uint32 // zero means unlimited; TODO: implement\n\n\tw    io.Writer\n\twbuf []byte\n\n\t// AllowIllegalWrites permits the Framer's Write methods to\n\t// write frames that do not conform to the HTTP/2 spec. This\n\t// permits using the Framer to test other HTTP/2\n\t// implementations' conformance to the spec.\n\t// If false, the Write methods will prefer to return an error\n\t// rather than comply.\n\tAllowIllegalWrites bool\n\n\t// AllowIllegalReads permits the Framer's ReadFrame method\n\t// to return non-compliant frames or frame orders.\n\t// This is for testing and permits using the Framer to test\n\t// other HTTP/2 implementations' conformance to the spec.\n\t// It is not compatible with ReadMetaHeaders.\n\tAllowIllegalReads bool\n\n\t// ReadMetaHeaders if non-nil causes ReadFrame to merge\n\t// HEADERS and CONTINUATION frames together and return\n\t// MetaHeadersFrame instead.\n\tReadMetaHeaders *hpack.Decoder\n\n\t// MaxHeaderListSize is the http2 MAX_HEADER_LIST_SIZE.\n\t// It's used only if ReadMetaHeaders is set; 0 means a sane default\n\t// (currently 16MB)\n\t// If the limit is hit, MetaHeadersFrame.Truncated is set true.\n\tMaxHeaderListSize uint32\n\n\t// TODO: track which type of frame & with which flags was sent\n\t// last. Then return an error (unless AllowIllegalWrites) if\n\t// we're in the middle of a header block and a\n\t// non-Continuation or Continuation on a different stream is\n\t// attempted to be written.\n\n\tlogReads, logWrites bool\n\n\tdebugFramer       *Framer // only use for logging written writes\n\tdebugFramerBuf    *bytes.Buffer\n\tdebugReadLoggerf  func(string, ...interface{})\n\tdebugWriteLoggerf func(string, ...interface{})\n\n\tframeCache *frameCache // nil if frames aren't reused (default)\n}\n\nfunc (fr *Framer) maxHeaderListSize() uint32 {\n\tif fr.MaxHeaderListSize == 0 {\n\t\treturn 16 << 20 // sane default, per docs\n\t}\n\treturn fr.MaxHeaderListSize\n}\n\nfunc (f *Framer) startWrite(ftype FrameType, flags Flags, streamID uint32) {\n\t// Write the FrameHeader.\n\tf.wbuf = append(f.wbuf[:0],\n\t\t0, // 3 bytes of length, filled in in endWrite\n\t\t0,\n\t\t0,\n\t\tbyte(ftype),\n\t\tbyte(flags),\n\t\tbyte(streamID>>24),\n\t\tbyte(streamID>>16),\n\t\tbyte(streamID>>8),\n\t\tbyte(streamID))\n}\n\nfunc (f *Framer) endWrite() error {\n\t// Now that we know the final size, fill in the FrameHeader in\n\t// the space previously reserved for it. Abuse append.\n\tlength := len(f.wbuf) - frameHeaderLen\n\tif length >= (1 << 24) {\n\t\treturn ErrFrameTooLarge\n\t}\n\t_ = append(f.wbuf[:0],\n\t\tbyte(length>>16),\n\t\tbyte(length>>8),\n\t\tbyte(length))\n\tif f.logWrites {\n\t\tf.logWrite()\n\t}\n\n\tn, err := f.w.Write(f.wbuf)\n\tif err == nil && n != len(f.wbuf) {\n\t\terr = io.ErrShortWrite\n\t}\n\treturn err\n}\n\nfunc (f *Framer) logWrite() {\n\tif f.debugFramer == nil {\n\t\tf.debugFramerBuf = new(bytes.Buffer)\n\t\tf.debugFramer = NewFramer(nil, f.debugFramerBuf)\n\t\tf.debugFramer.logReads = false // we log it ourselves, saying \"wrote\" below\n\t\t// Let us read anything, even if we accidentally wrote it\n\t\t// in the wrong order:\n\t\tf.debugFramer.AllowIllegalReads = true\n\t}\n\tf.debugFramerBuf.Write(f.wbuf)\n\tfr, err := f.debugFramer.ReadFrame()\n\tif err != nil {\n\t\tf.debugWriteLoggerf(\"http2: Framer %p: failed to decode just-written frame\", f)\n\t\treturn\n\t}\n\tf.debugWriteLoggerf(\"http2: Framer %p: wrote %v\", f, summarizeFrame(fr))\n}\n\nfunc (f *Framer) writeByte(v byte)     { f.wbuf = append(f.wbuf, v) }\nfunc (f *Framer) writeBytes(v []byte)  { f.wbuf = append(f.wbuf, v...) }\nfunc (f *Framer) writeUint16(v uint16) { f.wbuf = append(f.wbuf, byte(v>>8), byte(v)) }\nfunc (f *Framer) writeUint32(v uint32) {\n\tf.wbuf = append(f.wbuf, byte(v>>24), byte(v>>16), byte(v>>8), byte(v))\n}\n\nconst (\n\tminMaxFrameSize = 1 << 14\n\tmaxFrameSize    = 1<<24 - 1\n)\n\n// SetReuseFrames allows the Framer to reuse Frames.\n// If called on a Framer, Frames returned by calls to ReadFrame are only\n// valid until the next call to ReadFrame.\nfunc (fr *Framer) SetReuseFrames() {\n\tif fr.frameCache != nil {\n\t\treturn\n\t}\n\tfr.frameCache = &frameCache{}\n}\n\ntype frameCache struct {\n\tdataFrame DataFrame\n}\n\nfunc (fc *frameCache) getDataFrame() *DataFrame {\n\tif fc == nil {\n\t\treturn &DataFrame{}\n\t}\n\treturn &fc.dataFrame\n}\n\n// NewFramer returns a Framer that writes frames to w and reads them from r.\nfunc NewFramer(w io.Writer, r io.Reader) *Framer {\n\tfr := &Framer{\n\t\tw:                 w,\n\t\tr:                 r,\n\t\tlogReads:          logFrameReads,\n\t\tlogWrites:         logFrameWrites,\n\t\tdebugReadLoggerf:  log.Printf,\n\t\tdebugWriteLoggerf: log.Printf,\n\t}\n\tfr.getReadBuf = func(size uint32) []byte {\n\t\tif cap(fr.readBuf) >= int(size) {\n\t\t\treturn fr.readBuf[:size]\n\t\t}\n\t\tfr.readBuf = make([]byte, size)\n\t\treturn fr.readBuf\n\t}\n\tfr.SetMaxReadFrameSize(maxFrameSize)\n\treturn fr\n}\n\n// SetMaxReadFrameSize sets the maximum size of a frame\n// that will be read by a subsequent call to ReadFrame.\n// It is the caller's responsibility to advertise this\n// limit with a SETTINGS frame.\nfunc (fr *Framer) SetMaxReadFrameSize(v uint32) {\n\tif v > maxFrameSize {\n\t\tv = maxFrameSize\n\t}\n\tfr.maxReadSize = v\n}\n\n// ErrorDetail returns a more detailed error of the last error\n// returned by Framer.ReadFrame. For instance, if ReadFrame\n// returns a StreamError with code PROTOCOL_ERROR, ErrorDetail\n// will say exactly what was invalid. ErrorDetail is not guaranteed\n// to return a non-nil value and like the rest of the http2 package,\n// its return value is not protected by an API compatibility promise.\n// ErrorDetail is reset after the next call to ReadFrame.\nfunc (fr *Framer) ErrorDetail() error {\n\treturn fr.errDetail\n}\n\n// ErrFrameTooLarge is returned from Framer.ReadFrame when the peer\n// sends a frame that is larger than declared with SetMaxReadFrameSize.\nvar ErrFrameTooLarge = errors.New(\"http2: frame too large\")\n\n// terminalReadFrameError reports whether err is an unrecoverable\n// error from ReadFrame and no other frames should be read.\nfunc terminalReadFrameError(err error) bool {\n\tif _, ok := err.(StreamError); ok {\n\t\treturn false\n\t}\n\treturn err != nil\n}\n\n// ReadFrame reads a single frame. The returned Frame is only valid\n// until the next call to ReadFrame.\n//\n// If the frame is larger than previously set with SetMaxReadFrameSize, the\n// returned error is ErrFrameTooLarge. Other errors may be of type\n// ConnectionError, StreamError, or anything else from the underlying\n// reader.\nfunc (fr *Framer) ReadFrame() (Frame, error) {\n\tfr.errDetail = nil\n\tif fr.lastFrame != nil {\n\t\tfr.lastFrame.invalidate()\n\t}\n\tfh, err := readFrameHeader(fr.headerBuf[:], fr.r)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tif fh.Length > fr.maxReadSize {\n\t\treturn nil, ErrFrameTooLarge\n\t}\n\tpayload := fr.getReadBuf(fh.Length)\n\tif _, err := io.ReadFull(fr.r, payload); err != nil {\n\t\treturn nil, err\n\t}\n\tf, err := typeFrameParser(fh.Type)(fr.frameCache, fh, payload)\n\tif err != nil {\n\t\tif ce, ok := err.(connError); ok {\n\t\t\treturn nil, fr.connError(ce.Code, ce.Reason)\n\t\t}\n\t\treturn nil, err\n\t}\n\tif err := fr.checkFrameOrder(f); err != nil {\n\t\treturn nil, err\n\t}\n\tif fr.logReads {\n\t\tfr.debugReadLoggerf(\"http2: Framer %p: read %v\", fr, summarizeFrame(f))\n\t}\n\tif fh.Type == FrameHeaders && fr.ReadMetaHeaders != nil {\n\t\treturn fr.readMetaFrame(f.(*HeadersFrame))\n\t}\n\treturn f, nil\n}\n\n// connError returns ConnectionError(code) but first\n// stashes away a public reason to the caller can optionally relay it\n// to the peer before hanging up on them. This might help others debug\n// their implementations.\nfunc (fr *Framer) connError(code ErrCode, reason string) error {\n\tfr.errDetail = errors.New(reason)\n\treturn ConnectionError(code)\n}\n\n// checkFrameOrder reports an error if f is an invalid frame to return\n// next from ReadFrame. Mostly it checks whether HEADERS and\n// CONTINUATION frames are contiguous.\nfunc (fr *Framer) checkFrameOrder(f Frame) error {\n\tlast := fr.lastFrame\n\tfr.lastFrame = f\n\tif fr.AllowIllegalReads {\n\t\treturn nil\n\t}\n\n\tfh := f.Header()\n\tif fr.lastHeaderStream != 0 {\n\t\tif fh.Type != FrameContinuation {\n\t\t\treturn fr.connError(ErrCodeProtocol,\n\t\t\t\tfmt.Sprintf(\"got %s for stream %d; expected CONTINUATION following %s for stream %d\",\n\t\t\t\t\tfh.Type, fh.StreamID,\n\t\t\t\t\tlast.Header().Type, fr.lastHeaderStream))\n\t\t}\n\t\tif fh.StreamID != fr.lastHeaderStream {\n\t\t\treturn fr.connError(ErrCodeProtocol,\n\t\t\t\tfmt.Sprintf(\"got CONTINUATION for stream %d; expected stream %d\",\n\t\t\t\t\tfh.StreamID, fr.lastHeaderStream))\n\t\t}\n\t} else if fh.Type == FrameContinuation {\n\t\treturn fr.connError(ErrCodeProtocol, fmt.Sprintf(\"unexpected CONTINUATION for stream %d\", fh.StreamID))\n\t}\n\n\tswitch fh.Type {\n\tcase FrameHeaders, FrameContinuation:\n\t\tif fh.Flags.Has(FlagHeadersEndHeaders) {\n\t\t\tfr.lastHeaderStream = 0\n\t\t} else {\n\t\t\tfr.lastHeaderStream = fh.StreamID\n\t\t}\n\t}\n\n\treturn nil\n}\n\n// A DataFrame conveys arbitrary, variable-length sequences of octets\n// associated with a stream.\n// See http://http2.github.io/http2-spec/#rfc.section.6.1\ntype DataFrame struct {\n\tFrameHeader\n\tdata []byte\n}\n\nfunc (f *DataFrame) StreamEnded() bool {\n\treturn f.FrameHeader.Flags.Has(FlagDataEndStream)\n}\n\n// Data returns the frame's data octets, not including any padding\n// size byte or padding suffix bytes.\n// The caller must not retain the returned memory past the next\n// call to ReadFrame.\nfunc (f *DataFrame) Data() []byte {\n\tf.checkValid()\n\treturn f.data\n}\n\nfunc parseDataFrame(fc *frameCache, fh FrameHeader, payload []byte) (Frame, error) {\n\tif fh.StreamID == 0 {\n\t\t// DATA frames MUST be associated with a stream. If a\n\t\t// DATA frame is received whose stream identifier\n\t\t// field is 0x0, the recipient MUST respond with a\n\t\t// connection error (Section 5.4.1) of type\n\t\t// PROTOCOL_ERROR.\n\t\treturn nil, connError{ErrCodeProtocol, \"DATA frame with stream ID 0\"}\n\t}\n\tf := fc.getDataFrame()\n\tf.FrameHeader = fh\n\n\tvar padSize byte\n\tif fh.Flags.Has(FlagDataPadded) {\n\t\tvar err error\n\t\tpayload, padSize, err = readByte(payload)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\tif int(padSize) > len(payload) {\n\t\t// If the length of the padding is greater than the\n\t\t// length of the frame payload, the recipient MUST\n\t\t// treat this as a connection error.\n\t\t// Filed: https://github.com/http2/http2-spec/issues/610\n\t\treturn nil, connError{ErrCodeProtocol, \"pad size larger than data payload\"}\n\t}\n\tf.data = payload[:len(payload)-int(padSize)]\n\treturn f, nil\n}\n\nvar (\n\terrStreamID    = errors.New(\"invalid stream ID\")\n\terrDepStreamID = errors.New(\"invalid dependent stream ID\")\n\terrPadLength   = errors.New(\"pad length too large\")\n\terrPadBytes    = errors.New(\"padding bytes must all be zeros unless AllowIllegalWrites is enabled\")\n)\n\nfunc validStreamIDOrZero(streamID uint32) bool {\n\treturn streamID&(1<<31) == 0\n}\n\nfunc validStreamID(streamID uint32) bool {\n\treturn streamID != 0 && streamID&(1<<31) == 0\n}\n\n// WriteData writes a DATA frame.\n//\n// It will perform exactly one Write to the underlying Writer.\n// It is the caller's responsibility not to violate the maximum frame size\n// and to not call other Write methods concurrently.\nfunc (f *Framer) WriteData(streamID uint32, endStream bool, data []byte) error {\n\treturn f.WriteDataPadded(streamID, endStream, data, nil)\n}\n\n// WriteData writes a DATA frame with optional padding.\n//\n// If pad is nil, the padding bit is not sent.\n// The length of pad must not exceed 255 bytes.\n// The bytes of pad must all be zero, unless f.AllowIllegalWrites is set.\n//\n// It will perform exactly one Write to the underlying Writer.\n// It is the caller's responsibility not to violate the maximum frame size\n// and to not call other Write methods concurrently.\nfunc (f *Framer) WriteDataPadded(streamID uint32, endStream bool, data, pad []byte) error {\n\tif !validStreamID(streamID) && !f.AllowIllegalWrites {\n\t\treturn errStreamID\n\t}\n\tif len(pad) > 0 {\n\t\tif len(pad) > 255 {\n\t\t\treturn errPadLength\n\t\t}\n\t\tif !f.AllowIllegalWrites {\n\t\t\tfor _, b := range pad {\n\t\t\t\tif b != 0 {\n\t\t\t\t\t// \"Padding octets MUST be set to zero when sending.\"\n\t\t\t\t\treturn errPadBytes\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tvar flags Flags\n\tif endStream {\n\t\tflags |= FlagDataEndStream\n\t}\n\tif pad != nil {\n\t\tflags |= FlagDataPadded\n\t}\n\tf.startWrite(FrameData, flags, streamID)\n\tif pad != nil {\n\t\tf.wbuf = append(f.wbuf, byte(len(pad)))\n\t}\n\tf.wbuf = append(f.wbuf, data...)\n\tf.wbuf = append(f.wbuf, pad...)\n\treturn f.endWrite()\n}\n\n// A SettingsFrame conveys configuration parameters that affect how\n// endpoints communicate, such as preferences and constraints on peer\n// behavior.\n//\n// See http://http2.github.io/http2-spec/#SETTINGS\ntype SettingsFrame struct {\n\tFrameHeader\n\tp []byte\n}\n\nfunc parseSettingsFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) {\n\tif fh.Flags.Has(FlagSettingsAck) && fh.Length > 0 {\n\t\t// When this (ACK 0x1) bit is set, the payload of the\n\t\t// SETTINGS frame MUST be empty. Receipt of a\n\t\t// SETTINGS frame with the ACK flag set and a length\n\t\t// field value other than 0 MUST be treated as a\n\t\t// connection error (Section 5.4.1) of type\n\t\t// FRAME_SIZE_ERROR.\n\t\treturn nil, ConnectionError(ErrCodeFrameSize)\n\t}\n\tif fh.StreamID != 0 {\n\t\t// SETTINGS frames always apply to a connection,\n\t\t// never a single stream. The stream identifier for a\n\t\t// SETTINGS frame MUST be zero (0x0).  If an endpoint\n\t\t// receives a SETTINGS frame whose stream identifier\n\t\t// field is anything other than 0x0, the endpoint MUST\n\t\t// respond with a connection error (Section 5.4.1) of\n\t\t// type PROTOCOL_ERROR.\n\t\treturn nil, ConnectionError(ErrCodeProtocol)\n\t}\n\tif len(p)%6 != 0 {\n\t\t// Expecting even number of 6 byte settings.\n\t\treturn nil, ConnectionError(ErrCodeFrameSize)\n\t}\n\tf := &SettingsFrame{FrameHeader: fh, p: p}\n\tif v, ok := f.Value(SettingInitialWindowSize); ok && v > (1<<31)-1 {\n\t\t// Values above the maximum flow control window size of 2^31 - 1 MUST\n\t\t// be treated as a connection error (Section 5.4.1) of type\n\t\t// FLOW_CONTROL_ERROR.\n\t\treturn nil, ConnectionError(ErrCodeFlowControl)\n\t}\n\treturn f, nil\n}\n\nfunc (f *SettingsFrame) IsAck() bool {\n\treturn f.FrameHeader.Flags.Has(FlagSettingsAck)\n}\n\nfunc (f *SettingsFrame) Value(id SettingID) (v uint32, ok bool) {\n\tf.checkValid()\n\tfor i := 0; i < f.NumSettings(); i++ {\n\t\tif s := f.Setting(i); s.ID == id {\n\t\t\treturn s.Val, true\n\t\t}\n\t}\n\treturn 0, false\n}\n\n// Setting returns the setting from the frame at the given 0-based index.\n// The index must be >= 0 and less than f.NumSettings().\nfunc (f *SettingsFrame) Setting(i int) Setting {\n\tbuf := f.p\n\treturn Setting{\n\t\tID:  SettingID(binary.BigEndian.Uint16(buf[i*6 : i*6+2])),\n\t\tVal: binary.BigEndian.Uint32(buf[i*6+2 : i*6+6]),\n\t}\n}\n\nfunc (f *SettingsFrame) NumSettings() int { return len(f.p) / 6 }\n\n// HasDuplicates reports whether f contains any duplicate setting IDs.\nfunc (f *SettingsFrame) HasDuplicates() bool {\n\tnum := f.NumSettings()\n\tif num == 0 {\n\t\treturn false\n\t}\n\t// If it's small enough (the common case), just do the n^2\n\t// thing and avoid a map allocation.\n\tif num < 10 {\n\t\tfor i := 0; i < num; i++ {\n\t\t\tidi := f.Setting(i).ID\n\t\t\tfor j := i + 1; j < num; j++ {\n\t\t\t\tidj := f.Setting(j).ID\n\t\t\t\tif idi == idj {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false\n\t}\n\tseen := map[SettingID]bool{}\n\tfor i := 0; i < num; i++ {\n\t\tid := f.Setting(i).ID\n\t\tif seen[id] {\n\t\t\treturn true\n\t\t}\n\t\tseen[id] = true\n\t}\n\treturn false\n}\n\n// ForeachSetting runs fn for each setting.\n// It stops and returns the first error.\nfunc (f *SettingsFrame) ForeachSetting(fn func(Setting) error) error {\n\tf.checkValid()\n\tfor i := 0; i < f.NumSettings(); i++ {\n\t\tif err := fn(f.Setting(i)); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn nil\n}\n\n// WriteSettings writes a SETTINGS frame with zero or more settings\n// specified and the ACK bit not set.\n//\n// It will perform exactly one Write to the underlying Writer.\n// It is the caller's responsibility to not call other Write methods concurrently.\nfunc (f *Framer) WriteSettings(settings ...Setting) error {\n\tf.startWrite(FrameSettings, 0, 0)\n\tfor _, s := range settings {\n\t\tf.writeUint16(uint16(s.ID))\n\t\tf.writeUint32(s.Val)\n\t}\n\treturn f.endWrite()\n}\n\n// WriteSettingsAck writes an empty SETTINGS frame with the ACK bit set.\n//\n// It will perform exactly one Write to the underlying Writer.\n// It is the caller's responsibility to not call other Write methods concurrently.\nfunc (f *Framer) WriteSettingsAck() error {\n\tf.startWrite(FrameSettings, FlagSettingsAck, 0)\n\treturn f.endWrite()\n}\n\n// A PingFrame is a mechanism for measuring a minimal round trip time\n// from the sender, as well as determining whether an idle connection\n// is still functional.\n// See http://http2.github.io/http2-spec/#rfc.section.6.7\ntype PingFrame struct {\n\tFrameHeader\n\tData [8]byte\n}\n\nfunc (f *PingFrame) IsAck() bool { return f.Flags.Has(FlagPingAck) }\n\nfunc parsePingFrame(_ *frameCache, fh FrameHeader, payload []byte) (Frame, error) {\n\tif len(payload) != 8 {\n\t\treturn nil, ConnectionError(ErrCodeFrameSize)\n\t}\n\tif fh.StreamID != 0 {\n\t\treturn nil, ConnectionError(ErrCodeProtocol)\n\t}\n\tf := &PingFrame{FrameHeader: fh}\n\tcopy(f.Data[:], payload)\n\treturn f, nil\n}\n\nfunc (f *Framer) WritePing(ack bool, data [8]byte) error {\n\tvar flags Flags\n\tif ack {\n\t\tflags = FlagPingAck\n\t}\n\tf.startWrite(FramePing, flags, 0)\n\tf.writeBytes(data[:])\n\treturn f.endWrite()\n}\n\n// A GoAwayFrame informs the remote peer to stop creating streams on this connection.\n// See http://http2.github.io/http2-spec/#rfc.section.6.8\ntype GoAwayFrame struct {\n\tFrameHeader\n\tLastStreamID uint32\n\tErrCode      ErrCode\n\tdebugData    []byte\n}\n\n// DebugData returns any debug data in the GOAWAY frame. Its contents\n// are not defined.\n// The caller must not retain the returned memory past the next\n// call to ReadFrame.\nfunc (f *GoAwayFrame) DebugData() []byte {\n\tf.checkValid()\n\treturn f.debugData\n}\n\nfunc parseGoAwayFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) {\n\tif fh.StreamID != 0 {\n\t\treturn nil, ConnectionError(ErrCodeProtocol)\n\t}\n\tif len(p) < 8 {\n\t\treturn nil, ConnectionError(ErrCodeFrameSize)\n\t}\n\treturn &GoAwayFrame{\n\t\tFrameHeader:  fh,\n\t\tLastStreamID: binary.BigEndian.Uint32(p[:4]) & (1<<31 - 1),\n\t\tErrCode:      ErrCode(binary.BigEndian.Uint32(p[4:8])),\n\t\tdebugData:    p[8:],\n\t}, nil\n}\n\nfunc (f *Framer) WriteGoAway(maxStreamID uint32, code ErrCode, debugData []byte) error {\n\tf.startWrite(FrameGoAway, 0, 0)\n\tf.writeUint32(maxStreamID & (1<<31 - 1))\n\tf.writeUint32(uint32(code))\n\tf.writeBytes(debugData)\n\treturn f.endWrite()\n}\n\n// An UnknownFrame is the frame type returned when the frame type is unknown\n// or no specific frame type parser exists.\ntype UnknownFrame struct {\n\tFrameHeader\n\tp []byte\n}\n\n// Payload returns the frame's payload (after the header).  It is not\n// valid to call this method after a subsequent call to\n// Framer.ReadFrame, nor is it valid to retain the returned slice.\n// The memory is owned by the Framer and is invalidated when the next\n// frame is read.\nfunc (f *UnknownFrame) Payload() []byte {\n\tf.checkValid()\n\treturn f.p\n}\n\nfunc parseUnknownFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) {\n\treturn &UnknownFrame{fh, p}, nil\n}\n\n// A WindowUpdateFrame is used to implement flow control.\n// See http://http2.github.io/http2-spec/#rfc.section.6.9\ntype WindowUpdateFrame struct {\n\tFrameHeader\n\tIncrement uint32 // never read with high bit set\n}\n\nfunc parseWindowUpdateFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) {\n\tif len(p) != 4 {\n\t\treturn nil, ConnectionError(ErrCodeFrameSize)\n\t}\n\tinc := binary.BigEndian.Uint32(p[:4]) & 0x7fffffff // mask off high reserved bit\n\tif inc == 0 {\n\t\t// A receiver MUST treat the receipt of a\n\t\t// WINDOW_UPDATE frame with an flow control window\n\t\t// increment of 0 as a stream error (Section 5.4.2) of\n\t\t// type PROTOCOL_ERROR; errors on the connection flow\n\t\t// control window MUST be treated as a connection\n\t\t// error (Section 5.4.1).\n\t\tif fh.StreamID == 0 {\n\t\t\treturn nil, ConnectionError(ErrCodeProtocol)\n\t\t}\n\t\treturn nil, streamError(fh.StreamID, ErrCodeProtocol)\n\t}\n\treturn &WindowUpdateFrame{\n\t\tFrameHeader: fh,\n\t\tIncrement:   inc,\n\t}, nil\n}\n\n// WriteWindowUpdate writes a WINDOW_UPDATE frame.\n// The increment value must be between 1 and 2,147,483,647, inclusive.\n// If the Stream ID is zero, the window update applies to the\n// connection as a whole.\nfunc (f *Framer) WriteWindowUpdate(streamID, incr uint32) error {\n\t// \"The legal range for the increment to the flow control window is 1 to 2^31-1 (2,147,483,647) octets.\"\n\tif (incr < 1 || incr > 2147483647) && !f.AllowIllegalWrites {\n\t\treturn errors.New(\"illegal window increment value\")\n\t}\n\tf.startWrite(FrameWindowUpdate, 0, streamID)\n\tf.writeUint32(incr)\n\treturn f.endWrite()\n}\n\n// A HeadersFrame is used to open a stream and additionally carries a\n// header block fragment.\ntype HeadersFrame struct {\n\tFrameHeader\n\n\t// Priority is set if FlagHeadersPriority is set in the FrameHeader.\n\tPriority PriorityParam\n\n\theaderFragBuf []byte // not owned\n}\n\nfunc (f *HeadersFrame) HeaderBlockFragment() []byte {\n\tf.checkValid()\n\treturn f.headerFragBuf\n}\n\nfunc (f *HeadersFrame) HeadersEnded() bool {\n\treturn f.FrameHeader.Flags.Has(FlagHeadersEndHeaders)\n}\n\nfunc (f *HeadersFrame) StreamEnded() bool {\n\treturn f.FrameHeader.Flags.Has(FlagHeadersEndStream)\n}\n\nfunc (f *HeadersFrame) HasPriority() bool {\n\treturn f.FrameHeader.Flags.Has(FlagHeadersPriority)\n}\n\nfunc parseHeadersFrame(_ *frameCache, fh FrameHeader, p []byte) (_ Frame, err error) {\n\thf := &HeadersFrame{\n\t\tFrameHeader: fh,\n\t}\n\tif fh.StreamID == 0 {\n\t\t// HEADERS frames MUST be associated with a stream. If a HEADERS frame\n\t\t// is received whose stream identifier field is 0x0, the recipient MUST\n\t\t// respond with a connection error (Section 5.4.1) of type\n\t\t// PROTOCOL_ERROR.\n\t\treturn nil, connError{ErrCodeProtocol, \"HEADERS frame with stream ID 0\"}\n\t}\n\tvar padLength uint8\n\tif fh.Flags.Has(FlagHeadersPadded) {\n\t\tif p, padLength, err = readByte(p); err != nil {\n\t\t\treturn\n\t\t}\n\t}\n\tif fh.Flags.Has(FlagHeadersPriority) {\n\t\tvar v uint32\n\t\tp, v, err = readUint32(p)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\thf.Priority.StreamDep = v & 0x7fffffff\n\t\thf.Priority.Exclusive = (v != hf.Priority.StreamDep) // high bit was set\n\t\tp, hf.Priority.Weight, err = readByte(p)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\tif len(p)-int(padLength) <= 0 {\n\t\treturn nil, streamError(fh.StreamID, ErrCodeProtocol)\n\t}\n\thf.headerFragBuf = p[:len(p)-int(padLength)]\n\treturn hf, nil\n}\n\n// HeadersFrameParam are the parameters for writing a HEADERS frame.\ntype HeadersFrameParam struct {\n\t// StreamID is the required Stream ID to initiate.\n\tStreamID uint32\n\t// BlockFragment is part (or all) of a Header Block.\n\tBlockFragment []byte\n\n\t// EndStream indicates that the header block is the last that\n\t// the endpoint will send for the identified stream. Setting\n\t// this flag causes the stream to enter one of \"half closed\"\n\t// states.\n\tEndStream bool\n\n\t// EndHeaders indicates that this frame contains an entire\n\t// header block and is not followed by any\n\t// CONTINUATION frames.\n\tEndHeaders bool\n\n\t// PadLength is the optional number of bytes of zeros to add\n\t// to this frame.\n\tPadLength uint8\n\n\t// Priority, if non-zero, includes stream priority information\n\t// in the HEADER frame.\n\tPriority PriorityParam\n}\n\n// WriteHeaders writes a single HEADERS frame.\n//\n// This is a low-level header writing method. Encoding headers and\n// splitting them into any necessary CONTINUATION frames is handled\n// elsewhere.\n//\n// It will perform exactly one Write to the underlying Writer.\n// It is the caller's responsibility to not call other Write methods concurrently.\nfunc (f *Framer) WriteHeaders(p HeadersFrameParam) error {\n\tif !validStreamID(p.StreamID) && !f.AllowIllegalWrites {\n\t\treturn errStreamID\n\t}\n\tvar flags Flags\n\tif p.PadLength != 0 {\n\t\tflags |= FlagHeadersPadded\n\t}\n\tif p.EndStream {\n\t\tflags |= FlagHeadersEndStream\n\t}\n\tif p.EndHeaders {\n\t\tflags |= FlagHeadersEndHeaders\n\t}\n\tif !p.Priority.IsZero() {\n\t\tflags |= FlagHeadersPriority\n\t}\n\tf.startWrite(FrameHeaders, flags, p.StreamID)\n\tif p.PadLength != 0 {\n\t\tf.writeByte(p.PadLength)\n\t}\n\tif !p.Priority.IsZero() {\n\t\tv := p.Priority.StreamDep\n\t\tif !validStreamIDOrZero(v) && !f.AllowIllegalWrites {\n\t\t\treturn errDepStreamID\n\t\t}\n\t\tif p.Priority.Exclusive {\n\t\t\tv |= 1 << 31\n\t\t}\n\t\tf.writeUint32(v)\n\t\tf.writeByte(p.Priority.Weight)\n\t}\n\tf.wbuf = append(f.wbuf, p.BlockFragment...)\n\tf.wbuf = append(f.wbuf, padZeros[:p.PadLength]...)\n\treturn f.endWrite()\n}\n\n// A PriorityFrame specifies the sender-advised priority of a stream.\n// See http://http2.github.io/http2-spec/#rfc.section.6.3\ntype PriorityFrame struct {\n\tFrameHeader\n\tPriorityParam\n}\n\n// PriorityParam are the stream prioritzation parameters.\ntype PriorityParam struct {\n\t// StreamDep is a 31-bit stream identifier for the\n\t// stream that this stream depends on. Zero means no\n\t// dependency.\n\tStreamDep uint32\n\n\t// Exclusive is whether the dependency is exclusive.\n\tExclusive bool\n\n\t// Weight is the stream's zero-indexed weight. It should be\n\t// set together with StreamDep, or neither should be set. Per\n\t// the spec, \"Add one to the value to obtain a weight between\n\t// 1 and 256.\"\n\tWeight uint8\n}\n\nfunc (p PriorityParam) IsZero() bool {\n\treturn p == PriorityParam{}\n}\n\nfunc parsePriorityFrame(_ *frameCache, fh FrameHeader, payload []byte) (Frame, error) {\n\tif fh.StreamID == 0 {\n\t\treturn nil, connError{ErrCodeProtocol, \"PRIORITY frame with stream ID 0\"}\n\t}\n\tif len(payload) != 5 {\n\t\treturn nil, connError{ErrCodeFrameSize, fmt.Sprintf(\"PRIORITY frame payload size was %d; want 5\", len(payload))}\n\t}\n\tv := binary.BigEndian.Uint32(payload[:4])\n\tstreamID := v & 0x7fffffff // mask off high bit\n\treturn &PriorityFrame{\n\t\tFrameHeader: fh,\n\t\tPriorityParam: PriorityParam{\n\t\t\tWeight:    payload[4],\n\t\t\tStreamDep: streamID,\n\t\t\tExclusive: streamID != v, // was high bit set?\n\t\t},\n\t}, nil\n}\n\n// WritePriority writes a PRIORITY frame.\n//\n// It will perform exactly one Write to the underlying Writer.\n// It is the caller's responsibility to not call other Write methods concurrently.\nfunc (f *Framer) WritePriority(streamID uint32, p PriorityParam) error {\n\tif !validStreamID(streamID) && !f.AllowIllegalWrites {\n\t\treturn errStreamID\n\t}\n\tif !validStreamIDOrZero(p.StreamDep) {\n\t\treturn errDepStreamID\n\t}\n\tf.startWrite(FramePriority, 0, streamID)\n\tv := p.StreamDep\n\tif p.Exclusive {\n\t\tv |= 1 << 31\n\t}\n\tf.writeUint32(v)\n\tf.writeByte(p.Weight)\n\treturn f.endWrite()\n}\n\n// A RSTStreamFrame allows for abnormal termination of a stream.\n// See http://http2.github.io/http2-spec/#rfc.section.6.4\ntype RSTStreamFrame struct {\n\tFrameHeader\n\tErrCode ErrCode\n}\n\nfunc parseRSTStreamFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) {\n\tif len(p) != 4 {\n\t\treturn nil, ConnectionError(ErrCodeFrameSize)\n\t}\n\tif fh.StreamID == 0 {\n\t\treturn nil, ConnectionError(ErrCodeProtocol)\n\t}\n\treturn &RSTStreamFrame{fh, ErrCode(binary.BigEndian.Uint32(p[:4]))}, nil\n}\n\n// WriteRSTStream writes a RST_STREAM frame.\n//\n// It will perform exactly one Write to the underlying Writer.\n// It is the caller's responsibility to not call other Write methods concurrently.\nfunc (f *Framer) WriteRSTStream(streamID uint32, code ErrCode) error {\n\tif !validStreamID(streamID) && !f.AllowIllegalWrites {\n\t\treturn errStreamID\n\t}\n\tf.startWrite(FrameRSTStream, 0, streamID)\n\tf.writeUint32(uint32(code))\n\treturn f.endWrite()\n}\n\n// A ContinuationFrame is used to continue a sequence of header block fragments.\n// See http://http2.github.io/http2-spec/#rfc.section.6.10\ntype ContinuationFrame struct {\n\tFrameHeader\n\theaderFragBuf []byte\n}\n\nfunc parseContinuationFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) {\n\tif fh.StreamID == 0 {\n\t\treturn nil, connError{ErrCodeProtocol, \"CONTINUATION frame with stream ID 0\"}\n\t}\n\treturn &ContinuationFrame{fh, p}, nil\n}\n\nfunc (f *ContinuationFrame) HeaderBlockFragment() []byte {\n\tf.checkValid()\n\treturn f.headerFragBuf\n}\n\nfunc (f *ContinuationFrame) HeadersEnded() bool {\n\treturn f.FrameHeader.Flags.Has(FlagContinuationEndHeaders)\n}\n\n// WriteContinuation writes a CONTINUATION frame.\n//\n// It will perform exactly one Write to the underlying Writer.\n// It is the caller's responsibility to not call other Write methods concurrently.\nfunc (f *Framer) WriteContinuation(streamID uint32, endHeaders bool, headerBlockFragment []byte) error {\n\tif !validStreamID(streamID) && !f.AllowIllegalWrites {\n\t\treturn errStreamID\n\t}\n\tvar flags Flags\n\tif endHeaders {\n\t\tflags |= FlagContinuationEndHeaders\n\t}\n\tf.startWrite(FrameContinuation, flags, streamID)\n\tf.wbuf = append(f.wbuf, headerBlockFragment...)\n\treturn f.endWrite()\n}\n\n// A PushPromiseFrame is used to initiate a server stream.\n// See http://http2.github.io/http2-spec/#rfc.section.6.6\ntype PushPromiseFrame struct {\n\tFrameHeader\n\tPromiseID     uint32\n\theaderFragBuf []byte // not owned\n}\n\nfunc (f *PushPromiseFrame) HeaderBlockFragment() []byte {\n\tf.checkValid()\n\treturn f.headerFragBuf\n}\n\nfunc (f *PushPromiseFrame) HeadersEnded() bool {\n\treturn f.FrameHeader.Flags.Has(FlagPushPromiseEndHeaders)\n}\n\nfunc parsePushPromise(_ *frameCache, fh FrameHeader, p []byte) (_ Frame, err error) {\n\tpp := &PushPromiseFrame{\n\t\tFrameHeader: fh,\n\t}\n\tif pp.StreamID == 0 {\n\t\t// PUSH_PROMISE frames MUST be associated with an existing,\n\t\t// peer-initiated stream. The stream identifier of a\n\t\t// PUSH_PROMISE frame indicates the stream it is associated\n\t\t// with. If the stream identifier field specifies the value\n\t\t// 0x0, a recipient MUST respond with a connection error\n\t\t// (Section 5.4.1) of type PROTOCOL_ERROR.\n\t\treturn nil, ConnectionError(ErrCodeProtocol)\n\t}\n\t// The PUSH_PROMISE frame includes optional padding.\n\t// Padding fields and flags are identical to those defined for DATA frames\n\tvar padLength uint8\n\tif fh.Flags.Has(FlagPushPromisePadded) {\n\t\tif p, padLength, err = readByte(p); err != nil {\n\t\t\treturn\n\t\t}\n\t}\n\n\tp, pp.PromiseID, err = readUint32(p)\n\tif err != nil {\n\t\treturn\n\t}\n\tpp.PromiseID = pp.PromiseID & (1<<31 - 1)\n\n\tif int(padLength) > len(p) {\n\t\t// like the DATA frame, error out if padding is longer than the body.\n\t\treturn nil, ConnectionError(ErrCodeProtocol)\n\t}\n\tpp.headerFragBuf = p[:len(p)-int(padLength)]\n\treturn pp, nil\n}\n\n// PushPromiseParam are the parameters for writing a PUSH_PROMISE frame.\ntype PushPromiseParam struct {\n\t// StreamID is the required Stream ID to initiate.\n\tStreamID uint32\n\n\t// PromiseID is the required Stream ID which this\n\t// Push Promises\n\tPromiseID uint32\n\n\t// BlockFragment is part (or all) of a Header Block.\n\tBlockFragment []byte\n\n\t// EndHeaders indicates that this frame contains an entire\n\t// header block and is not followed by any\n\t// CONTINUATION frames.\n\tEndHeaders bool\n\n\t// PadLength is the optional number of bytes of zeros to add\n\t// to this frame.\n\tPadLength uint8\n}\n\n// WritePushPromise writes a single PushPromise Frame.\n//\n// As with Header Frames, This is the low level call for writing\n// individual frames. Continuation frames are handled elsewhere.\n//\n// It will perform exactly one Write to the underlying Writer.\n// It is the caller's responsibility to not call other Write methods concurrently.\nfunc (f *Framer) WritePushPromise(p PushPromiseParam) error {\n\tif !validStreamID(p.StreamID) && !f.AllowIllegalWrites {\n\t\treturn errStreamID\n\t}\n\tvar flags Flags\n\tif p.PadLength != 0 {\n\t\tflags |= FlagPushPromisePadded\n\t}\n\tif p.EndHeaders {\n\t\tflags |= FlagPushPromiseEndHeaders\n\t}\n\tf.startWrite(FramePushPromise, flags, p.StreamID)\n\tif p.PadLength != 0 {\n\t\tf.writeByte(p.PadLength)\n\t}\n\tif !validStreamID(p.PromiseID) && !f.AllowIllegalWrites {\n\t\treturn errStreamID\n\t}\n\tf.writeUint32(p.PromiseID)\n\tf.wbuf = append(f.wbuf, p.BlockFragment...)\n\tf.wbuf = append(f.wbuf, padZeros[:p.PadLength]...)\n\treturn f.endWrite()\n}\n\n// WriteRawFrame writes a raw frame. This can be used to write\n// extension frames unknown to this package.\nfunc (f *Framer) WriteRawFrame(t FrameType, flags Flags, streamID uint32, payload []byte) error {\n\tf.startWrite(t, flags, streamID)\n\tf.writeBytes(payload)\n\treturn f.endWrite()\n}\n\nfunc readByte(p []byte) (remain []byte, b byte, err error) {\n\tif len(p) == 0 {\n\t\treturn nil, 0, io.ErrUnexpectedEOF\n\t}\n\treturn p[1:], p[0], nil\n}\n\nfunc readUint32(p []byte) (remain []byte, v uint32, err error) {\n\tif len(p) < 4 {\n\t\treturn nil, 0, io.ErrUnexpectedEOF\n\t}\n\treturn p[4:], binary.BigEndian.Uint32(p[:4]), nil\n}\n\ntype streamEnder interface {\n\tStreamEnded() bool\n}\n\ntype headersEnder interface {\n\tHeadersEnded() bool\n}\n\ntype headersOrContinuation interface {\n\theadersEnder\n\tHeaderBlockFragment() []byte\n}\n\n// A MetaHeadersFrame is the representation of one HEADERS frame and\n// zero or more contiguous CONTINUATION frames and the decoding of\n// their HPACK-encoded contents.\n//\n// This type of frame does not appear on the wire and is only returned\n// by the Framer when Framer.ReadMetaHeaders is set.\ntype MetaHeadersFrame struct {\n\t*HeadersFrame\n\n\t// Fields are the fields contained in the HEADERS and\n\t// CONTINUATION frames. The underlying slice is owned by the\n\t// Framer and must not be retained after the next call to\n\t// ReadFrame.\n\t//\n\t// Fields are guaranteed to be in the correct http2 order and\n\t// not have unknown pseudo header fields or invalid header\n\t// field names or values. Required pseudo header fields may be\n\t// missing, however. Use the MetaHeadersFrame.Pseudo accessor\n\t// method access pseudo headers.\n\tFields []hpack.HeaderField\n\n\t// Truncated is whether the max header list size limit was hit\n\t// and Fields is incomplete. The hpack decoder state is still\n\t// valid, however.\n\tTruncated bool\n}\n\n// PseudoValue returns the given pseudo header field's value.\n// The provided pseudo field should not contain the leading colon.\nfunc (mh *MetaHeadersFrame) PseudoValue(pseudo string) string {\n\tfor _, hf := range mh.Fields {\n\t\tif !hf.IsPseudo() {\n\t\t\treturn \"\"\n\t\t}\n\t\tif hf.Name[1:] == pseudo {\n\t\t\treturn hf.Value\n\t\t}\n\t}\n\treturn \"\"\n}\n\n// RegularFields returns the regular (non-pseudo) header fields of mh.\n// The caller does not own the returned slice.\nfunc (mh *MetaHeadersFrame) RegularFields() []hpack.HeaderField {\n\tfor i, hf := range mh.Fields {\n\t\tif !hf.IsPseudo() {\n\t\t\treturn mh.Fields[i:]\n\t\t}\n\t}\n\treturn nil\n}\n\n// PseudoFields returns the pseudo header fields of mh.\n// The caller does not own the returned slice.\nfunc (mh *MetaHeadersFrame) PseudoFields() []hpack.HeaderField {\n\tfor i, hf := range mh.Fields {\n\t\tif !hf.IsPseudo() {\n\t\t\treturn mh.Fields[:i]\n\t\t}\n\t}\n\treturn mh.Fields\n}\n\nfunc (mh *MetaHeadersFrame) checkPseudos() error {\n\tvar isRequest, isResponse bool\n\tpf := mh.PseudoFields()\n\tfor i, hf := range pf {\n\t\tswitch hf.Name {\n\t\tcase \":method\", \":path\", \":scheme\", \":authority\":\n\t\t\tisRequest = true\n\t\tcase \":status\":\n\t\t\tisResponse = true\n\t\tdefault:\n\t\t\treturn pseudoHeaderError(hf.Name)\n\t\t}\n\t\t// Check for duplicates.\n\t\t// This would be a bad algorithm, but N is 4.\n\t\t// And this doesn't allocate.\n\t\tfor _, hf2 := range pf[:i] {\n\t\t\tif hf.Name == hf2.Name {\n\t\t\t\treturn duplicatePseudoHeaderError(hf.Name)\n\t\t\t}\n\t\t}\n\t}\n\tif isRequest && isResponse {\n\t\treturn errMixPseudoHeaderTypes\n\t}\n\treturn nil\n}\n\nfunc (fr *Framer) maxHeaderStringLen() int {\n\tv := fr.maxHeaderListSize()\n\tif uint32(int(v)) == v {\n\t\treturn int(v)\n\t}\n\t// They had a crazy big number for MaxHeaderBytes anyway,\n\t// so give them unlimited header lengths:\n\treturn 0\n}\n\n// readMetaFrame returns 0 or more CONTINUATION frames from fr and\n// merge them into into the provided hf and returns a MetaHeadersFrame\n// with the decoded hpack values.\nfunc (fr *Framer) readMetaFrame(hf *HeadersFrame) (*MetaHeadersFrame, error) {\n\tif fr.AllowIllegalReads {\n\t\treturn nil, errors.New(\"illegal use of AllowIllegalReads with ReadMetaHeaders\")\n\t}\n\tmh := &MetaHeadersFrame{\n\t\tHeadersFrame: hf,\n\t}\n\tvar remainSize = fr.maxHeaderListSize()\n\tvar sawRegular bool\n\n\tvar invalid error // pseudo header field errors\n\thdec := fr.ReadMetaHeaders\n\thdec.SetEmitEnabled(true)\n\thdec.SetMaxStringLength(fr.maxHeaderStringLen())\n\thdec.SetEmitFunc(func(hf hpack.HeaderField) {\n\t\tif VerboseLogs && fr.logReads {\n\t\t\tfr.debugReadLoggerf(\"http2: decoded hpack field %+v\", hf)\n\t\t}\n\t\tif !httpguts.ValidHeaderFieldValue(hf.Value) {\n\t\t\tinvalid = headerFieldValueError(hf.Value)\n\t\t}\n\t\tisPseudo := strings.HasPrefix(hf.Name, \":\")\n\t\tif isPseudo {\n\t\t\tif sawRegular {\n\t\t\t\tinvalid = errPseudoAfterRegular\n\t\t\t}\n\t\t} else {\n\t\t\tsawRegular = true\n\t\t\tif !validWireHeaderFieldName(hf.Name) {\n\t\t\t\tinvalid = headerFieldNameError(hf.Name)\n\t\t\t}\n\t\t}\n\n\t\tif invalid != nil {\n\t\t\thdec.SetEmitEnabled(false)\n\t\t\treturn\n\t\t}\n\n\t\tsize := hf.Size()\n\t\tif size > remainSize {\n\t\t\thdec.SetEmitEnabled(false)\n\t\t\tmh.Truncated = true\n\t\t\treturn\n\t\t}\n\t\tremainSize -= size\n\n\t\tmh.Fields = append(mh.Fields, hf)\n\t})\n\t// Lose reference to MetaHeadersFrame:\n\tdefer hdec.SetEmitFunc(func(hf hpack.HeaderField) {})\n\n\tvar hc headersOrContinuation = hf\n\tfor {\n\t\tfrag := hc.HeaderBlockFragment()\n\t\tif _, err := hdec.Write(frag); err != nil {\n\t\t\treturn nil, ConnectionError(ErrCodeCompression)\n\t\t}\n\n\t\tif hc.HeadersEnded() {\n\t\t\tbreak\n\t\t}\n\t\tif f, err := fr.ReadFrame(); err != nil {\n\t\t\treturn nil, err\n\t\t} else {\n\t\t\thc = f.(*ContinuationFrame) // guaranteed by checkFrameOrder\n\t\t}\n\t}\n\n\tmh.HeadersFrame.headerFragBuf = nil\n\tmh.HeadersFrame.invalidate()\n\n\tif err := hdec.Close(); err != nil {\n\t\treturn nil, ConnectionError(ErrCodeCompression)\n\t}\n\tif invalid != nil {\n\t\tfr.errDetail = invalid\n\t\tif VerboseLogs {\n\t\t\tlog.Printf(\"http2: invalid header: %v\", invalid)\n\t\t}\n\t\treturn nil, StreamError{mh.StreamID, ErrCodeProtocol, invalid}\n\t}\n\tif err := mh.checkPseudos(); err != nil {\n\t\tfr.errDetail = err\n\t\tif VerboseLogs {\n\t\t\tlog.Printf(\"http2: invalid pseudo headers: %v\", err)\n\t\t}\n\t\treturn nil, StreamError{mh.StreamID, ErrCodeProtocol, err}\n\t}\n\treturn mh, nil\n}\n\nfunc summarizeFrame(f Frame) string {\n\tvar buf bytes.Buffer\n\tf.Header().writeDebug(&buf)\n\tswitch f := f.(type) {\n\tcase *SettingsFrame:\n\t\tn := 0\n\t\tf.ForeachSetting(func(s Setting) error {\n\t\t\tn++\n\t\t\tif n == 1 {\n\t\t\t\tbuf.WriteString(\", settings:\")\n\t\t\t}\n\t\t\tfmt.Fprintf(&buf, \" %v=%v,\", s.ID, s.Val)\n\t\t\treturn nil\n\t\t})\n\t\tif n > 0 {\n\t\t\tbuf.Truncate(buf.Len() - 1) // remove trailing comma\n\t\t}\n\tcase *DataFrame:\n\t\tdata := f.Data()\n\t\tconst max = 256\n\t\tif len(data) > max {\n\t\t\tdata = data[:max]\n\t\t}\n\t\tfmt.Fprintf(&buf, \" data=%q\", data)\n\t\tif len(f.Data()) > max {\n\t\t\tfmt.Fprintf(&buf, \" (%d bytes omitted)\", len(f.Data())-max)\n\t\t}\n\tcase *WindowUpdateFrame:\n\t\tif f.StreamID == 0 {\n\t\t\tbuf.WriteString(\" (conn)\")\n\t\t}\n\t\tfmt.Fprintf(&buf, \" incr=%v\", f.Increment)\n\tcase *PingFrame:\n\t\tfmt.Fprintf(&buf, \" ping=%q\", f.Data[:])\n\tcase *GoAwayFrame:\n\t\tfmt.Fprintf(&buf, \" LastStreamID=%v ErrCode=%v Debug=%q\",\n\t\t\tf.LastStreamID, f.ErrCode, f.debugData)\n\tcase *RSTStreamFrame:\n\t\tfmt.Fprintf(&buf, \" ErrCode=%v\", f.ErrCode)\n\t}\n\treturn buf.String()\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/go111.go",
    "content": "// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build go1.11\n\npackage http2\n\nimport \"net/textproto\"\n\nfunc traceHasWroteHeaderField(trace *clientTrace) bool {\n\treturn trace != nil && trace.WroteHeaderField != nil\n}\n\nfunc traceWroteHeaderField(trace *clientTrace, k, v string) {\n\tif trace != nil && trace.WroteHeaderField != nil {\n\t\ttrace.WroteHeaderField(k, []string{v})\n\t}\n}\n\nfunc traceGot1xxResponseFunc(trace *clientTrace) func(int, textproto.MIMEHeader) error {\n\tif trace != nil {\n\t\treturn trace.Got1xxResponse\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/go16.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build go1.6\n\npackage http2\n\nimport (\n\t\"net/http\"\n\t\"time\"\n)\n\nfunc transportExpectContinueTimeout(t1 *http.Transport) time.Duration {\n\treturn t1.ExpectContinueTimeout\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/go17.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build go1.7\n\npackage http2\n\nimport (\n\t\"context\"\n\t\"net\"\n\t\"net/http\"\n\t\"net/http/httptrace\"\n\t\"time\"\n)\n\ntype contextContext interface {\n\tcontext.Context\n}\n\nvar errCanceled = context.Canceled\n\nfunc serverConnBaseContext(c net.Conn, opts *ServeConnOpts) (ctx contextContext, cancel func()) {\n\tctx, cancel = context.WithCancel(context.Background())\n\tctx = context.WithValue(ctx, http.LocalAddrContextKey, c.LocalAddr())\n\tif hs := opts.baseConfig(); hs != nil {\n\t\tctx = context.WithValue(ctx, http.ServerContextKey, hs)\n\t}\n\treturn\n}\n\nfunc contextWithCancel(ctx contextContext) (_ contextContext, cancel func()) {\n\treturn context.WithCancel(ctx)\n}\n\nfunc requestWithContext(req *http.Request, ctx contextContext) *http.Request {\n\treturn req.WithContext(ctx)\n}\n\ntype clientTrace httptrace.ClientTrace\n\nfunc reqContext(r *http.Request) context.Context { return r.Context() }\n\nfunc (t *Transport) idleConnTimeout() time.Duration {\n\tif t.t1 != nil {\n\t\treturn t.t1.IdleConnTimeout\n\t}\n\treturn 0\n}\n\nfunc setResponseUncompressed(res *http.Response) { res.Uncompressed = true }\n\nfunc traceGetConn(req *http.Request, hostPort string) {\n\ttrace := httptrace.ContextClientTrace(req.Context())\n\tif trace == nil || trace.GetConn == nil {\n\t\treturn\n\t}\n\ttrace.GetConn(hostPort)\n}\n\nfunc traceGotConn(req *http.Request, cc *ClientConn) {\n\ttrace := httptrace.ContextClientTrace(req.Context())\n\tif trace == nil || trace.GotConn == nil {\n\t\treturn\n\t}\n\tci := httptrace.GotConnInfo{Conn: cc.tconn}\n\tcc.mu.Lock()\n\tci.Reused = cc.nextStreamID > 1\n\tci.WasIdle = len(cc.streams) == 0 && ci.Reused\n\tif ci.WasIdle && !cc.lastActive.IsZero() {\n\t\tci.IdleTime = time.Now().Sub(cc.lastActive)\n\t}\n\tcc.mu.Unlock()\n\n\ttrace.GotConn(ci)\n}\n\nfunc traceWroteHeaders(trace *clientTrace) {\n\tif trace != nil && trace.WroteHeaders != nil {\n\t\ttrace.WroteHeaders()\n\t}\n}\n\nfunc traceGot100Continue(trace *clientTrace) {\n\tif trace != nil && trace.Got100Continue != nil {\n\t\ttrace.Got100Continue()\n\t}\n}\n\nfunc traceWait100Continue(trace *clientTrace) {\n\tif trace != nil && trace.Wait100Continue != nil {\n\t\ttrace.Wait100Continue()\n\t}\n}\n\nfunc traceWroteRequest(trace *clientTrace, err error) {\n\tif trace != nil && trace.WroteRequest != nil {\n\t\ttrace.WroteRequest(httptrace.WroteRequestInfo{Err: err})\n\t}\n}\n\nfunc traceFirstResponseByte(trace *clientTrace) {\n\tif trace != nil && trace.GotFirstResponseByte != nil {\n\t\ttrace.GotFirstResponseByte()\n\t}\n}\n\nfunc requestTrace(req *http.Request) *clientTrace {\n\ttrace := httptrace.ContextClientTrace(req.Context())\n\treturn (*clientTrace)(trace)\n}\n\n// Ping sends a PING frame to the server and waits for the ack.\nfunc (cc *ClientConn) Ping(ctx context.Context) error {\n\treturn cc.ping(ctx)\n}\n\n// Shutdown gracefully closes the client connection, waiting for running streams to complete.\nfunc (cc *ClientConn) Shutdown(ctx context.Context) error {\n\treturn cc.shutdown(ctx)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/go17_not18.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build go1.7,!go1.8\n\npackage http2\n\nimport \"crypto/tls\"\n\n// temporary copy of Go 1.7's private tls.Config.clone:\nfunc cloneTLSConfig(c *tls.Config) *tls.Config {\n\treturn &tls.Config{\n\t\tRand:                        c.Rand,\n\t\tTime:                        c.Time,\n\t\tCertificates:                c.Certificates,\n\t\tNameToCertificate:           c.NameToCertificate,\n\t\tGetCertificate:              c.GetCertificate,\n\t\tRootCAs:                     c.RootCAs,\n\t\tNextProtos:                  c.NextProtos,\n\t\tServerName:                  c.ServerName,\n\t\tClientAuth:                  c.ClientAuth,\n\t\tClientCAs:                   c.ClientCAs,\n\t\tInsecureSkipVerify:          c.InsecureSkipVerify,\n\t\tCipherSuites:                c.CipherSuites,\n\t\tPreferServerCipherSuites:    c.PreferServerCipherSuites,\n\t\tSessionTicketsDisabled:      c.SessionTicketsDisabled,\n\t\tSessionTicketKey:            c.SessionTicketKey,\n\t\tClientSessionCache:          c.ClientSessionCache,\n\t\tMinVersion:                  c.MinVersion,\n\t\tMaxVersion:                  c.MaxVersion,\n\t\tCurvePreferences:            c.CurvePreferences,\n\t\tDynamicRecordSizingDisabled: c.DynamicRecordSizingDisabled,\n\t\tRenegotiation:               c.Renegotiation,\n\t}\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/go18.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build go1.8\n\npackage http2\n\nimport (\n\t\"crypto/tls\"\n\t\"io\"\n\t\"net/http\"\n)\n\nfunc cloneTLSConfig(c *tls.Config) *tls.Config {\n\tc2 := c.Clone()\n\tc2.GetClientCertificate = c.GetClientCertificate // golang.org/issue/19264\n\treturn c2\n}\n\nvar _ http.Pusher = (*responseWriter)(nil)\n\n// Push implements http.Pusher.\nfunc (w *responseWriter) Push(target string, opts *http.PushOptions) error {\n\tinternalOpts := pushOptions{}\n\tif opts != nil {\n\t\tinternalOpts.Method = opts.Method\n\t\tinternalOpts.Header = opts.Header\n\t}\n\treturn w.push(target, internalOpts)\n}\n\nfunc configureServer18(h1 *http.Server, h2 *Server) error {\n\tif h2.IdleTimeout == 0 {\n\t\tif h1.IdleTimeout != 0 {\n\t\t\th2.IdleTimeout = h1.IdleTimeout\n\t\t} else {\n\t\t\th2.IdleTimeout = h1.ReadTimeout\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc shouldLogPanic(panicValue interface{}) bool {\n\treturn panicValue != nil && panicValue != http.ErrAbortHandler\n}\n\nfunc reqGetBody(req *http.Request) func() (io.ReadCloser, error) {\n\treturn req.GetBody\n}\n\nfunc reqBodyIsNoBody(body io.ReadCloser) bool {\n\treturn body == http.NoBody\n}\n\nfunc go18httpNoBody() io.ReadCloser { return http.NoBody } // for tests only\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/go19.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build go1.9\n\npackage http2\n\nimport (\n\t\"net/http\"\n)\n\nfunc configureServer19(s *http.Server, conf *Server) error {\n\ts.RegisterOnShutdown(conf.state.startGracefulShutdown)\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/gotrack.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Defensive debug-only utility to track that functions run on the\n// goroutine that they're supposed to.\n\npackage http2\n\nimport (\n\t\"bytes\"\n\t\"errors\"\n\t\"fmt\"\n\t\"os\"\n\t\"runtime\"\n\t\"strconv\"\n\t\"sync\"\n)\n\nvar DebugGoroutines = os.Getenv(\"DEBUG_HTTP2_GOROUTINES\") == \"1\"\n\ntype goroutineLock uint64\n\nfunc newGoroutineLock() goroutineLock {\n\tif !DebugGoroutines {\n\t\treturn 0\n\t}\n\treturn goroutineLock(curGoroutineID())\n}\n\nfunc (g goroutineLock) check() {\n\tif !DebugGoroutines {\n\t\treturn\n\t}\n\tif curGoroutineID() != uint64(g) {\n\t\tpanic(\"running on the wrong goroutine\")\n\t}\n}\n\nfunc (g goroutineLock) checkNotOn() {\n\tif !DebugGoroutines {\n\t\treturn\n\t}\n\tif curGoroutineID() == uint64(g) {\n\t\tpanic(\"running on the wrong goroutine\")\n\t}\n}\n\nvar goroutineSpace = []byte(\"goroutine \")\n\nfunc curGoroutineID() uint64 {\n\tbp := littleBuf.Get().(*[]byte)\n\tdefer littleBuf.Put(bp)\n\tb := *bp\n\tb = b[:runtime.Stack(b, false)]\n\t// Parse the 4707 out of \"goroutine 4707 [\"\n\tb = bytes.TrimPrefix(b, goroutineSpace)\n\ti := bytes.IndexByte(b, ' ')\n\tif i < 0 {\n\t\tpanic(fmt.Sprintf(\"No space found in %q\", b))\n\t}\n\tb = b[:i]\n\tn, err := parseUintBytes(b, 10, 64)\n\tif err != nil {\n\t\tpanic(fmt.Sprintf(\"Failed to parse goroutine ID out of %q: %v\", b, err))\n\t}\n\treturn n\n}\n\nvar littleBuf = sync.Pool{\n\tNew: func() interface{} {\n\t\tbuf := make([]byte, 64)\n\t\treturn &buf\n\t},\n}\n\n// parseUintBytes is like strconv.ParseUint, but using a []byte.\nfunc parseUintBytes(s []byte, base int, bitSize int) (n uint64, err error) {\n\tvar cutoff, maxVal uint64\n\n\tif bitSize == 0 {\n\t\tbitSize = int(strconv.IntSize)\n\t}\n\n\ts0 := s\n\tswitch {\n\tcase len(s) < 1:\n\t\terr = strconv.ErrSyntax\n\t\tgoto Error\n\n\tcase 2 <= base && base <= 36:\n\t\t// valid base; nothing to do\n\n\tcase base == 0:\n\t\t// Look for octal, hex prefix.\n\t\tswitch {\n\t\tcase s[0] == '0' && len(s) > 1 && (s[1] == 'x' || s[1] == 'X'):\n\t\t\tbase = 16\n\t\t\ts = s[2:]\n\t\t\tif len(s) < 1 {\n\t\t\t\terr = strconv.ErrSyntax\n\t\t\t\tgoto Error\n\t\t\t}\n\t\tcase s[0] == '0':\n\t\t\tbase = 8\n\t\tdefault:\n\t\t\tbase = 10\n\t\t}\n\n\tdefault:\n\t\terr = errors.New(\"invalid base \" + strconv.Itoa(base))\n\t\tgoto Error\n\t}\n\n\tn = 0\n\tcutoff = cutoff64(base)\n\tmaxVal = 1<<uint(bitSize) - 1\n\n\tfor i := 0; i < len(s); i++ {\n\t\tvar v byte\n\t\td := s[i]\n\t\tswitch {\n\t\tcase '0' <= d && d <= '9':\n\t\t\tv = d - '0'\n\t\tcase 'a' <= d && d <= 'z':\n\t\t\tv = d - 'a' + 10\n\t\tcase 'A' <= d && d <= 'Z':\n\t\t\tv = d - 'A' + 10\n\t\tdefault:\n\t\t\tn = 0\n\t\t\terr = strconv.ErrSyntax\n\t\t\tgoto Error\n\t\t}\n\t\tif int(v) >= base {\n\t\t\tn = 0\n\t\t\terr = strconv.ErrSyntax\n\t\t\tgoto Error\n\t\t}\n\n\t\tif n >= cutoff {\n\t\t\t// n*base overflows\n\t\t\tn = 1<<64 - 1\n\t\t\terr = strconv.ErrRange\n\t\t\tgoto Error\n\t\t}\n\t\tn *= uint64(base)\n\n\t\tn1 := n + uint64(v)\n\t\tif n1 < n || n1 > maxVal {\n\t\t\t// n+v overflows\n\t\t\tn = 1<<64 - 1\n\t\t\terr = strconv.ErrRange\n\t\t\tgoto Error\n\t\t}\n\t\tn = n1\n\t}\n\n\treturn n, nil\n\nError:\n\treturn n, &strconv.NumError{Func: \"ParseUint\", Num: string(s0), Err: err}\n}\n\n// Return the first number n such that n*base >= 1<<64.\nfunc cutoff64(base int) uint64 {\n\tif base < 2 {\n\t\treturn 0\n\t}\n\treturn (1<<64-1)/uint64(base) + 1\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/headermap.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage http2\n\nimport (\n\t\"net/http\"\n\t\"strings\"\n)\n\nvar (\n\tcommonLowerHeader = map[string]string{} // Go-Canonical-Case -> lower-case\n\tcommonCanonHeader = map[string]string{} // lower-case -> Go-Canonical-Case\n)\n\nfunc init() {\n\tfor _, v := range []string{\n\t\t\"accept\",\n\t\t\"accept-charset\",\n\t\t\"accept-encoding\",\n\t\t\"accept-language\",\n\t\t\"accept-ranges\",\n\t\t\"age\",\n\t\t\"access-control-allow-origin\",\n\t\t\"allow\",\n\t\t\"authorization\",\n\t\t\"cache-control\",\n\t\t\"content-disposition\",\n\t\t\"content-encoding\",\n\t\t\"content-language\",\n\t\t\"content-length\",\n\t\t\"content-location\",\n\t\t\"content-range\",\n\t\t\"content-type\",\n\t\t\"cookie\",\n\t\t\"date\",\n\t\t\"etag\",\n\t\t\"expect\",\n\t\t\"expires\",\n\t\t\"from\",\n\t\t\"host\",\n\t\t\"if-match\",\n\t\t\"if-modified-since\",\n\t\t\"if-none-match\",\n\t\t\"if-unmodified-since\",\n\t\t\"last-modified\",\n\t\t\"link\",\n\t\t\"location\",\n\t\t\"max-forwards\",\n\t\t\"proxy-authenticate\",\n\t\t\"proxy-authorization\",\n\t\t\"range\",\n\t\t\"referer\",\n\t\t\"refresh\",\n\t\t\"retry-after\",\n\t\t\"server\",\n\t\t\"set-cookie\",\n\t\t\"strict-transport-security\",\n\t\t\"trailer\",\n\t\t\"transfer-encoding\",\n\t\t\"user-agent\",\n\t\t\"vary\",\n\t\t\"via\",\n\t\t\"www-authenticate\",\n\t} {\n\t\tchk := http.CanonicalHeaderKey(v)\n\t\tcommonLowerHeader[chk] = v\n\t\tcommonCanonHeader[v] = chk\n\t}\n}\n\nfunc lowerHeader(v string) string {\n\tif s, ok := commonLowerHeader[v]; ok {\n\t\treturn s\n\t}\n\treturn strings.ToLower(v)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/hpack/encode.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage hpack\n\nimport (\n\t\"io\"\n)\n\nconst (\n\tuint32Max              = ^uint32(0)\n\tinitialHeaderTableSize = 4096\n)\n\ntype Encoder struct {\n\tdynTab dynamicTable\n\t// minSize is the minimum table size set by\n\t// SetMaxDynamicTableSize after the previous Header Table Size\n\t// Update.\n\tminSize uint32\n\t// maxSizeLimit is the maximum table size this encoder\n\t// supports. This will protect the encoder from too large\n\t// size.\n\tmaxSizeLimit uint32\n\t// tableSizeUpdate indicates whether \"Header Table Size\n\t// Update\" is required.\n\ttableSizeUpdate bool\n\tw               io.Writer\n\tbuf             []byte\n}\n\n// NewEncoder returns a new Encoder which performs HPACK encoding. An\n// encoded data is written to w.\nfunc NewEncoder(w io.Writer) *Encoder {\n\te := &Encoder{\n\t\tminSize:         uint32Max,\n\t\tmaxSizeLimit:    initialHeaderTableSize,\n\t\ttableSizeUpdate: false,\n\t\tw:               w,\n\t}\n\te.dynTab.table.init()\n\te.dynTab.setMaxSize(initialHeaderTableSize)\n\treturn e\n}\n\n// WriteField encodes f into a single Write to e's underlying Writer.\n// This function may also produce bytes for \"Header Table Size Update\"\n// if necessary. If produced, it is done before encoding f.\nfunc (e *Encoder) WriteField(f HeaderField) error {\n\te.buf = e.buf[:0]\n\n\tif e.tableSizeUpdate {\n\t\te.tableSizeUpdate = false\n\t\tif e.minSize < e.dynTab.maxSize {\n\t\t\te.buf = appendTableSize(e.buf, e.minSize)\n\t\t}\n\t\te.minSize = uint32Max\n\t\te.buf = appendTableSize(e.buf, e.dynTab.maxSize)\n\t}\n\n\tidx, nameValueMatch := e.searchTable(f)\n\tif nameValueMatch {\n\t\te.buf = appendIndexed(e.buf, idx)\n\t} else {\n\t\tindexing := e.shouldIndex(f)\n\t\tif indexing {\n\t\t\te.dynTab.add(f)\n\t\t}\n\n\t\tif idx == 0 {\n\t\t\te.buf = appendNewName(e.buf, f, indexing)\n\t\t} else {\n\t\t\te.buf = appendIndexedName(e.buf, f, idx, indexing)\n\t\t}\n\t}\n\tn, err := e.w.Write(e.buf)\n\tif err == nil && n != len(e.buf) {\n\t\terr = io.ErrShortWrite\n\t}\n\treturn err\n}\n\n// searchTable searches f in both stable and dynamic header tables.\n// The static header table is searched first. Only when there is no\n// exact match for both name and value, the dynamic header table is\n// then searched. If there is no match, i is 0. If both name and value\n// match, i is the matched index and nameValueMatch becomes true. If\n// only name matches, i points to that index and nameValueMatch\n// becomes false.\nfunc (e *Encoder) searchTable(f HeaderField) (i uint64, nameValueMatch bool) {\n\ti, nameValueMatch = staticTable.search(f)\n\tif nameValueMatch {\n\t\treturn i, true\n\t}\n\n\tj, nameValueMatch := e.dynTab.table.search(f)\n\tif nameValueMatch || (i == 0 && j != 0) {\n\t\treturn j + uint64(staticTable.len()), nameValueMatch\n\t}\n\n\treturn i, false\n}\n\n// SetMaxDynamicTableSize changes the dynamic header table size to v.\n// The actual size is bounded by the value passed to\n// SetMaxDynamicTableSizeLimit.\nfunc (e *Encoder) SetMaxDynamicTableSize(v uint32) {\n\tif v > e.maxSizeLimit {\n\t\tv = e.maxSizeLimit\n\t}\n\tif v < e.minSize {\n\t\te.minSize = v\n\t}\n\te.tableSizeUpdate = true\n\te.dynTab.setMaxSize(v)\n}\n\n// SetMaxDynamicTableSizeLimit changes the maximum value that can be\n// specified in SetMaxDynamicTableSize to v. By default, it is set to\n// 4096, which is the same size of the default dynamic header table\n// size described in HPACK specification. If the current maximum\n// dynamic header table size is strictly greater than v, \"Header Table\n// Size Update\" will be done in the next WriteField call and the\n// maximum dynamic header table size is truncated to v.\nfunc (e *Encoder) SetMaxDynamicTableSizeLimit(v uint32) {\n\te.maxSizeLimit = v\n\tif e.dynTab.maxSize > v {\n\t\te.tableSizeUpdate = true\n\t\te.dynTab.setMaxSize(v)\n\t}\n}\n\n// shouldIndex reports whether f should be indexed.\nfunc (e *Encoder) shouldIndex(f HeaderField) bool {\n\treturn !f.Sensitive && f.Size() <= e.dynTab.maxSize\n}\n\n// appendIndexed appends index i, as encoded in \"Indexed Header Field\"\n// representation, to dst and returns the extended buffer.\nfunc appendIndexed(dst []byte, i uint64) []byte {\n\tfirst := len(dst)\n\tdst = appendVarInt(dst, 7, i)\n\tdst[first] |= 0x80\n\treturn dst\n}\n\n// appendNewName appends f, as encoded in one of \"Literal Header field\n// - New Name\" representation variants, to dst and returns the\n// extended buffer.\n//\n// If f.Sensitive is true, \"Never Indexed\" representation is used. If\n// f.Sensitive is false and indexing is true, \"Inremental Indexing\"\n// representation is used.\nfunc appendNewName(dst []byte, f HeaderField, indexing bool) []byte {\n\tdst = append(dst, encodeTypeByte(indexing, f.Sensitive))\n\tdst = appendHpackString(dst, f.Name)\n\treturn appendHpackString(dst, f.Value)\n}\n\n// appendIndexedName appends f and index i referring indexed name\n// entry, as encoded in one of \"Literal Header field - Indexed Name\"\n// representation variants, to dst and returns the extended buffer.\n//\n// If f.Sensitive is true, \"Never Indexed\" representation is used. If\n// f.Sensitive is false and indexing is true, \"Incremental Indexing\"\n// representation is used.\nfunc appendIndexedName(dst []byte, f HeaderField, i uint64, indexing bool) []byte {\n\tfirst := len(dst)\n\tvar n byte\n\tif indexing {\n\t\tn = 6\n\t} else {\n\t\tn = 4\n\t}\n\tdst = appendVarInt(dst, n, i)\n\tdst[first] |= encodeTypeByte(indexing, f.Sensitive)\n\treturn appendHpackString(dst, f.Value)\n}\n\n// appendTableSize appends v, as encoded in \"Header Table Size Update\"\n// representation, to dst and returns the extended buffer.\nfunc appendTableSize(dst []byte, v uint32) []byte {\n\tfirst := len(dst)\n\tdst = appendVarInt(dst, 5, uint64(v))\n\tdst[first] |= 0x20\n\treturn dst\n}\n\n// appendVarInt appends i, as encoded in variable integer form using n\n// bit prefix, to dst and returns the extended buffer.\n//\n// See\n// http://http2.github.io/http2-spec/compression.html#integer.representation\nfunc appendVarInt(dst []byte, n byte, i uint64) []byte {\n\tk := uint64((1 << n) - 1)\n\tif i < k {\n\t\treturn append(dst, byte(i))\n\t}\n\tdst = append(dst, byte(k))\n\ti -= k\n\tfor ; i >= 128; i >>= 7 {\n\t\tdst = append(dst, byte(0x80|(i&0x7f)))\n\t}\n\treturn append(dst, byte(i))\n}\n\n// appendHpackString appends s, as encoded in \"String Literal\"\n// representation, to dst and returns the extended buffer.\n//\n// s will be encoded in Huffman codes only when it produces strictly\n// shorter byte string.\nfunc appendHpackString(dst []byte, s string) []byte {\n\thuffmanLength := HuffmanEncodeLength(s)\n\tif huffmanLength < uint64(len(s)) {\n\t\tfirst := len(dst)\n\t\tdst = appendVarInt(dst, 7, huffmanLength)\n\t\tdst = AppendHuffmanString(dst, s)\n\t\tdst[first] |= 0x80\n\t} else {\n\t\tdst = appendVarInt(dst, 7, uint64(len(s)))\n\t\tdst = append(dst, s...)\n\t}\n\treturn dst\n}\n\n// encodeTypeByte returns type byte. If sensitive is true, type byte\n// for \"Never Indexed\" representation is returned. If sensitive is\n// false and indexing is true, type byte for \"Incremental Indexing\"\n// representation is returned. Otherwise, type byte for \"Without\n// Indexing\" is returned.\nfunc encodeTypeByte(indexing, sensitive bool) byte {\n\tif sensitive {\n\t\treturn 0x10\n\t}\n\tif indexing {\n\t\treturn 0x40\n\t}\n\treturn 0\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/hpack/hpack.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package hpack implements HPACK, a compression format for\n// efficiently representing HTTP header fields in the context of HTTP/2.\n//\n// See http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-09\npackage hpack\n\nimport (\n\t\"bytes\"\n\t\"errors\"\n\t\"fmt\"\n)\n\n// A DecodingError is something the spec defines as a decoding error.\ntype DecodingError struct {\n\tErr error\n}\n\nfunc (de DecodingError) Error() string {\n\treturn fmt.Sprintf(\"decoding error: %v\", de.Err)\n}\n\n// An InvalidIndexError is returned when an encoder references a table\n// entry before the static table or after the end of the dynamic table.\ntype InvalidIndexError int\n\nfunc (e InvalidIndexError) Error() string {\n\treturn fmt.Sprintf(\"invalid indexed representation index %d\", int(e))\n}\n\n// A HeaderField is a name-value pair. Both the name and value are\n// treated as opaque sequences of octets.\ntype HeaderField struct {\n\tName, Value string\n\n\t// Sensitive means that this header field should never be\n\t// indexed.\n\tSensitive bool\n}\n\n// IsPseudo reports whether the header field is an http2 pseudo header.\n// That is, it reports whether it starts with a colon.\n// It is not otherwise guaranteed to be a valid pseudo header field,\n// though.\nfunc (hf HeaderField) IsPseudo() bool {\n\treturn len(hf.Name) != 0 && hf.Name[0] == ':'\n}\n\nfunc (hf HeaderField) String() string {\n\tvar suffix string\n\tif hf.Sensitive {\n\t\tsuffix = \" (sensitive)\"\n\t}\n\treturn fmt.Sprintf(\"header field %q = %q%s\", hf.Name, hf.Value, suffix)\n}\n\n// Size returns the size of an entry per RFC 7541 section 4.1.\nfunc (hf HeaderField) Size() uint32 {\n\t// http://http2.github.io/http2-spec/compression.html#rfc.section.4.1\n\t// \"The size of the dynamic table is the sum of the size of\n\t// its entries. The size of an entry is the sum of its name's\n\t// length in octets (as defined in Section 5.2), its value's\n\t// length in octets (see Section 5.2), plus 32.  The size of\n\t// an entry is calculated using the length of the name and\n\t// value without any Huffman encoding applied.\"\n\n\t// This can overflow if somebody makes a large HeaderField\n\t// Name and/or Value by hand, but we don't care, because that\n\t// won't happen on the wire because the encoding doesn't allow\n\t// it.\n\treturn uint32(len(hf.Name) + len(hf.Value) + 32)\n}\n\n// A Decoder is the decoding context for incremental processing of\n// header blocks.\ntype Decoder struct {\n\tdynTab dynamicTable\n\temit   func(f HeaderField)\n\n\temitEnabled bool // whether calls to emit are enabled\n\tmaxStrLen   int  // 0 means unlimited\n\n\t// buf is the unparsed buffer. It's only written to\n\t// saveBuf if it was truncated in the middle of a header\n\t// block. Because it's usually not owned, we can only\n\t// process it under Write.\n\tbuf []byte // not owned; only valid during Write\n\n\t// saveBuf is previous data passed to Write which we weren't able\n\t// to fully parse before. Unlike buf, we own this data.\n\tsaveBuf bytes.Buffer\n}\n\n// NewDecoder returns a new decoder with the provided maximum dynamic\n// table size. The emitFunc will be called for each valid field\n// parsed, in the same goroutine as calls to Write, before Write returns.\nfunc NewDecoder(maxDynamicTableSize uint32, emitFunc func(f HeaderField)) *Decoder {\n\td := &Decoder{\n\t\temit:        emitFunc,\n\t\temitEnabled: true,\n\t}\n\td.dynTab.table.init()\n\td.dynTab.allowedMaxSize = maxDynamicTableSize\n\td.dynTab.setMaxSize(maxDynamicTableSize)\n\treturn d\n}\n\n// ErrStringLength is returned by Decoder.Write when the max string length\n// (as configured by Decoder.SetMaxStringLength) would be violated.\nvar ErrStringLength = errors.New(\"hpack: string too long\")\n\n// SetMaxStringLength sets the maximum size of a HeaderField name or\n// value string. If a string exceeds this length (even after any\n// decompression), Write will return ErrStringLength.\n// A value of 0 means unlimited and is the default from NewDecoder.\nfunc (d *Decoder) SetMaxStringLength(n int) {\n\td.maxStrLen = n\n}\n\n// SetEmitFunc changes the callback used when new header fields\n// are decoded.\n// It must be non-nil. It does not affect EmitEnabled.\nfunc (d *Decoder) SetEmitFunc(emitFunc func(f HeaderField)) {\n\td.emit = emitFunc\n}\n\n// SetEmitEnabled controls whether the emitFunc provided to NewDecoder\n// should be called. The default is true.\n//\n// This facility exists to let servers enforce MAX_HEADER_LIST_SIZE\n// while still decoding and keeping in-sync with decoder state, but\n// without doing unnecessary decompression or generating unnecessary\n// garbage for header fields past the limit.\nfunc (d *Decoder) SetEmitEnabled(v bool) { d.emitEnabled = v }\n\n// EmitEnabled reports whether calls to the emitFunc provided to NewDecoder\n// are currently enabled. The default is true.\nfunc (d *Decoder) EmitEnabled() bool { return d.emitEnabled }\n\n// TODO: add method *Decoder.Reset(maxSize, emitFunc) to let callers re-use Decoders and their\n// underlying buffers for garbage reasons.\n\nfunc (d *Decoder) SetMaxDynamicTableSize(v uint32) {\n\td.dynTab.setMaxSize(v)\n}\n\n// SetAllowedMaxDynamicTableSize sets the upper bound that the encoded\n// stream (via dynamic table size updates) may set the maximum size\n// to.\nfunc (d *Decoder) SetAllowedMaxDynamicTableSize(v uint32) {\n\td.dynTab.allowedMaxSize = v\n}\n\ntype dynamicTable struct {\n\t// http://http2.github.io/http2-spec/compression.html#rfc.section.2.3.2\n\ttable          headerFieldTable\n\tsize           uint32 // in bytes\n\tmaxSize        uint32 // current maxSize\n\tallowedMaxSize uint32 // maxSize may go up to this, inclusive\n}\n\nfunc (dt *dynamicTable) setMaxSize(v uint32) {\n\tdt.maxSize = v\n\tdt.evict()\n}\n\nfunc (dt *dynamicTable) add(f HeaderField) {\n\tdt.table.addEntry(f)\n\tdt.size += f.Size()\n\tdt.evict()\n}\n\n// If we're too big, evict old stuff.\nfunc (dt *dynamicTable) evict() {\n\tvar n int\n\tfor dt.size > dt.maxSize && n < dt.table.len() {\n\t\tdt.size -= dt.table.ents[n].Size()\n\t\tn++\n\t}\n\tdt.table.evictOldest(n)\n}\n\nfunc (d *Decoder) maxTableIndex() int {\n\t// This should never overflow. RFC 7540 Section 6.5.2 limits the size of\n\t// the dynamic table to 2^32 bytes, where each entry will occupy more than\n\t// one byte. Further, the staticTable has a fixed, small length.\n\treturn d.dynTab.table.len() + staticTable.len()\n}\n\nfunc (d *Decoder) at(i uint64) (hf HeaderField, ok bool) {\n\t// See Section 2.3.3.\n\tif i == 0 {\n\t\treturn\n\t}\n\tif i <= uint64(staticTable.len()) {\n\t\treturn staticTable.ents[i-1], true\n\t}\n\tif i > uint64(d.maxTableIndex()) {\n\t\treturn\n\t}\n\t// In the dynamic table, newer entries have lower indices.\n\t// However, dt.ents[0] is the oldest entry. Hence, dt.ents is\n\t// the reversed dynamic table.\n\tdt := d.dynTab.table\n\treturn dt.ents[dt.len()-(int(i)-staticTable.len())], true\n}\n\n// Decode decodes an entire block.\n//\n// TODO: remove this method and make it incremental later? This is\n// easier for debugging now.\nfunc (d *Decoder) DecodeFull(p []byte) ([]HeaderField, error) {\n\tvar hf []HeaderField\n\tsaveFunc := d.emit\n\tdefer func() { d.emit = saveFunc }()\n\td.emit = func(f HeaderField) { hf = append(hf, f) }\n\tif _, err := d.Write(p); err != nil {\n\t\treturn nil, err\n\t}\n\tif err := d.Close(); err != nil {\n\t\treturn nil, err\n\t}\n\treturn hf, nil\n}\n\nfunc (d *Decoder) Close() error {\n\tif d.saveBuf.Len() > 0 {\n\t\td.saveBuf.Reset()\n\t\treturn DecodingError{errors.New(\"truncated headers\")}\n\t}\n\treturn nil\n}\n\nfunc (d *Decoder) Write(p []byte) (n int, err error) {\n\tif len(p) == 0 {\n\t\t// Prevent state machine CPU attacks (making us redo\n\t\t// work up to the point of finding out we don't have\n\t\t// enough data)\n\t\treturn\n\t}\n\t// Only copy the data if we have to. Optimistically assume\n\t// that p will contain a complete header block.\n\tif d.saveBuf.Len() == 0 {\n\t\td.buf = p\n\t} else {\n\t\td.saveBuf.Write(p)\n\t\td.buf = d.saveBuf.Bytes()\n\t\td.saveBuf.Reset()\n\t}\n\n\tfor len(d.buf) > 0 {\n\t\terr = d.parseHeaderFieldRepr()\n\t\tif err == errNeedMore {\n\t\t\t// Extra paranoia, making sure saveBuf won't\n\t\t\t// get too large. All the varint and string\n\t\t\t// reading code earlier should already catch\n\t\t\t// overlong things and return ErrStringLength,\n\t\t\t// but keep this as a last resort.\n\t\t\tconst varIntOverhead = 8 // conservative\n\t\t\tif d.maxStrLen != 0 && int64(len(d.buf)) > 2*(int64(d.maxStrLen)+varIntOverhead) {\n\t\t\t\treturn 0, ErrStringLength\n\t\t\t}\n\t\t\td.saveBuf.Write(d.buf)\n\t\t\treturn len(p), nil\n\t\t}\n\t\tif err != nil {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn len(p), err\n}\n\n// errNeedMore is an internal sentinel error value that means the\n// buffer is truncated and we need to read more data before we can\n// continue parsing.\nvar errNeedMore = errors.New(\"need more data\")\n\ntype indexType int\n\nconst (\n\tindexedTrue indexType = iota\n\tindexedFalse\n\tindexedNever\n)\n\nfunc (v indexType) indexed() bool   { return v == indexedTrue }\nfunc (v indexType) sensitive() bool { return v == indexedNever }\n\n// returns errNeedMore if there isn't enough data available.\n// any other error is fatal.\n// consumes d.buf iff it returns nil.\n// precondition: must be called with len(d.buf) > 0\nfunc (d *Decoder) parseHeaderFieldRepr() error {\n\tb := d.buf[0]\n\tswitch {\n\tcase b&128 != 0:\n\t\t// Indexed representation.\n\t\t// High bit set?\n\t\t// http://http2.github.io/http2-spec/compression.html#rfc.section.6.1\n\t\treturn d.parseFieldIndexed()\n\tcase b&192 == 64:\n\t\t// 6.2.1 Literal Header Field with Incremental Indexing\n\t\t// 0b10xxxxxx: top two bits are 10\n\t\t// http://http2.github.io/http2-spec/compression.html#rfc.section.6.2.1\n\t\treturn d.parseFieldLiteral(6, indexedTrue)\n\tcase b&240 == 0:\n\t\t// 6.2.2 Literal Header Field without Indexing\n\t\t// 0b0000xxxx: top four bits are 0000\n\t\t// http://http2.github.io/http2-spec/compression.html#rfc.section.6.2.2\n\t\treturn d.parseFieldLiteral(4, indexedFalse)\n\tcase b&240 == 16:\n\t\t// 6.2.3 Literal Header Field never Indexed\n\t\t// 0b0001xxxx: top four bits are 0001\n\t\t// http://http2.github.io/http2-spec/compression.html#rfc.section.6.2.3\n\t\treturn d.parseFieldLiteral(4, indexedNever)\n\tcase b&224 == 32:\n\t\t// 6.3 Dynamic Table Size Update\n\t\t// Top three bits are '001'.\n\t\t// http://http2.github.io/http2-spec/compression.html#rfc.section.6.3\n\t\treturn d.parseDynamicTableSizeUpdate()\n\t}\n\n\treturn DecodingError{errors.New(\"invalid encoding\")}\n}\n\n// (same invariants and behavior as parseHeaderFieldRepr)\nfunc (d *Decoder) parseFieldIndexed() error {\n\tbuf := d.buf\n\tidx, buf, err := readVarInt(7, buf)\n\tif err != nil {\n\t\treturn err\n\t}\n\thf, ok := d.at(idx)\n\tif !ok {\n\t\treturn DecodingError{InvalidIndexError(idx)}\n\t}\n\td.buf = buf\n\treturn d.callEmit(HeaderField{Name: hf.Name, Value: hf.Value})\n}\n\n// (same invariants and behavior as parseHeaderFieldRepr)\nfunc (d *Decoder) parseFieldLiteral(n uint8, it indexType) error {\n\tbuf := d.buf\n\tnameIdx, buf, err := readVarInt(n, buf)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tvar hf HeaderField\n\twantStr := d.emitEnabled || it.indexed()\n\tif nameIdx > 0 {\n\t\tihf, ok := d.at(nameIdx)\n\t\tif !ok {\n\t\t\treturn DecodingError{InvalidIndexError(nameIdx)}\n\t\t}\n\t\thf.Name = ihf.Name\n\t} else {\n\t\thf.Name, buf, err = d.readString(buf, wantStr)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\thf.Value, buf, err = d.readString(buf, wantStr)\n\tif err != nil {\n\t\treturn err\n\t}\n\td.buf = buf\n\tif it.indexed() {\n\t\td.dynTab.add(hf)\n\t}\n\thf.Sensitive = it.sensitive()\n\treturn d.callEmit(hf)\n}\n\nfunc (d *Decoder) callEmit(hf HeaderField) error {\n\tif d.maxStrLen != 0 {\n\t\tif len(hf.Name) > d.maxStrLen || len(hf.Value) > d.maxStrLen {\n\t\t\treturn ErrStringLength\n\t\t}\n\t}\n\tif d.emitEnabled {\n\t\td.emit(hf)\n\t}\n\treturn nil\n}\n\n// (same invariants and behavior as parseHeaderFieldRepr)\nfunc (d *Decoder) parseDynamicTableSizeUpdate() error {\n\t// RFC 7541, sec 4.2: This dynamic table size update MUST occur at the\n\t// beginning of the first header block following the change to the dynamic table size.\n\tif d.dynTab.size > 0 {\n\t\treturn DecodingError{errors.New(\"dynamic table size update MUST occur at the beginning of a header block\")}\n\t}\n\n\tbuf := d.buf\n\tsize, buf, err := readVarInt(5, buf)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif size > uint64(d.dynTab.allowedMaxSize) {\n\t\treturn DecodingError{errors.New(\"dynamic table size update too large\")}\n\t}\n\td.dynTab.setMaxSize(uint32(size))\n\td.buf = buf\n\treturn nil\n}\n\nvar errVarintOverflow = DecodingError{errors.New(\"varint integer overflow\")}\n\n// readVarInt reads an unsigned variable length integer off the\n// beginning of p. n is the parameter as described in\n// http://http2.github.io/http2-spec/compression.html#rfc.section.5.1.\n//\n// n must always be between 1 and 8.\n//\n// The returned remain buffer is either a smaller suffix of p, or err != nil.\n// The error is errNeedMore if p doesn't contain a complete integer.\nfunc readVarInt(n byte, p []byte) (i uint64, remain []byte, err error) {\n\tif n < 1 || n > 8 {\n\t\tpanic(\"bad n\")\n\t}\n\tif len(p) == 0 {\n\t\treturn 0, p, errNeedMore\n\t}\n\ti = uint64(p[0])\n\tif n < 8 {\n\t\ti &= (1 << uint64(n)) - 1\n\t}\n\tif i < (1<<uint64(n))-1 {\n\t\treturn i, p[1:], nil\n\t}\n\n\torigP := p\n\tp = p[1:]\n\tvar m uint64\n\tfor len(p) > 0 {\n\t\tb := p[0]\n\t\tp = p[1:]\n\t\ti += uint64(b&127) << m\n\t\tif b&128 == 0 {\n\t\t\treturn i, p, nil\n\t\t}\n\t\tm += 7\n\t\tif m >= 63 { // TODO: proper overflow check. making this up.\n\t\t\treturn 0, origP, errVarintOverflow\n\t\t}\n\t}\n\treturn 0, origP, errNeedMore\n}\n\n// readString decodes an hpack string from p.\n//\n// wantStr is whether s will be used. If false, decompression and\n// []byte->string garbage are skipped if s will be ignored\n// anyway. This does mean that huffman decoding errors for non-indexed\n// strings past the MAX_HEADER_LIST_SIZE are ignored, but the server\n// is returning an error anyway, and because they're not indexed, the error\n// won't affect the decoding state.\nfunc (d *Decoder) readString(p []byte, wantStr bool) (s string, remain []byte, err error) {\n\tif len(p) == 0 {\n\t\treturn \"\", p, errNeedMore\n\t}\n\tisHuff := p[0]&128 != 0\n\tstrLen, p, err := readVarInt(7, p)\n\tif err != nil {\n\t\treturn \"\", p, err\n\t}\n\tif d.maxStrLen != 0 && strLen > uint64(d.maxStrLen) {\n\t\treturn \"\", nil, ErrStringLength\n\t}\n\tif uint64(len(p)) < strLen {\n\t\treturn \"\", p, errNeedMore\n\t}\n\tif !isHuff {\n\t\tif wantStr {\n\t\t\ts = string(p[:strLen])\n\t\t}\n\t\treturn s, p[strLen:], nil\n\t}\n\n\tif wantStr {\n\t\tbuf := bufPool.Get().(*bytes.Buffer)\n\t\tbuf.Reset() // don't trust others\n\t\tdefer bufPool.Put(buf)\n\t\tif err := huffmanDecode(buf, d.maxStrLen, p[:strLen]); err != nil {\n\t\t\tbuf.Reset()\n\t\t\treturn \"\", nil, err\n\t\t}\n\t\ts = buf.String()\n\t\tbuf.Reset() // be nice to GC\n\t}\n\treturn s, p[strLen:], nil\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/hpack/huffman.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage hpack\n\nimport (\n\t\"bytes\"\n\t\"errors\"\n\t\"io\"\n\t\"sync\"\n)\n\nvar bufPool = sync.Pool{\n\tNew: func() interface{} { return new(bytes.Buffer) },\n}\n\n// HuffmanDecode decodes the string in v and writes the expanded\n// result to w, returning the number of bytes written to w and the\n// Write call's return value. At most one Write call is made.\nfunc HuffmanDecode(w io.Writer, v []byte) (int, error) {\n\tbuf := bufPool.Get().(*bytes.Buffer)\n\tbuf.Reset()\n\tdefer bufPool.Put(buf)\n\tif err := huffmanDecode(buf, 0, v); err != nil {\n\t\treturn 0, err\n\t}\n\treturn w.Write(buf.Bytes())\n}\n\n// HuffmanDecodeToString decodes the string in v.\nfunc HuffmanDecodeToString(v []byte) (string, error) {\n\tbuf := bufPool.Get().(*bytes.Buffer)\n\tbuf.Reset()\n\tdefer bufPool.Put(buf)\n\tif err := huffmanDecode(buf, 0, v); err != nil {\n\t\treturn \"\", err\n\t}\n\treturn buf.String(), nil\n}\n\n// ErrInvalidHuffman is returned for errors found decoding\n// Huffman-encoded strings.\nvar ErrInvalidHuffman = errors.New(\"hpack: invalid Huffman-encoded data\")\n\n// huffmanDecode decodes v to buf.\n// If maxLen is greater than 0, attempts to write more to buf than\n// maxLen bytes will return ErrStringLength.\nfunc huffmanDecode(buf *bytes.Buffer, maxLen int, v []byte) error {\n\trootHuffmanNode := getRootHuffmanNode()\n\tn := rootHuffmanNode\n\t// cur is the bit buffer that has not been fed into n.\n\t// cbits is the number of low order bits in cur that are valid.\n\t// sbits is the number of bits of the symbol prefix being decoded.\n\tcur, cbits, sbits := uint(0), uint8(0), uint8(0)\n\tfor _, b := range v {\n\t\tcur = cur<<8 | uint(b)\n\t\tcbits += 8\n\t\tsbits += 8\n\t\tfor cbits >= 8 {\n\t\t\tidx := byte(cur >> (cbits - 8))\n\t\t\tn = n.children[idx]\n\t\t\tif n == nil {\n\t\t\t\treturn ErrInvalidHuffman\n\t\t\t}\n\t\t\tif n.children == nil {\n\t\t\t\tif maxLen != 0 && buf.Len() == maxLen {\n\t\t\t\t\treturn ErrStringLength\n\t\t\t\t}\n\t\t\t\tbuf.WriteByte(n.sym)\n\t\t\t\tcbits -= n.codeLen\n\t\t\t\tn = rootHuffmanNode\n\t\t\t\tsbits = cbits\n\t\t\t} else {\n\t\t\t\tcbits -= 8\n\t\t\t}\n\t\t}\n\t}\n\tfor cbits > 0 {\n\t\tn = n.children[byte(cur<<(8-cbits))]\n\t\tif n == nil {\n\t\t\treturn ErrInvalidHuffman\n\t\t}\n\t\tif n.children != nil || n.codeLen > cbits {\n\t\t\tbreak\n\t\t}\n\t\tif maxLen != 0 && buf.Len() == maxLen {\n\t\t\treturn ErrStringLength\n\t\t}\n\t\tbuf.WriteByte(n.sym)\n\t\tcbits -= n.codeLen\n\t\tn = rootHuffmanNode\n\t\tsbits = cbits\n\t}\n\tif sbits > 7 {\n\t\t// Either there was an incomplete symbol, or overlong padding.\n\t\t// Both are decoding errors per RFC 7541 section 5.2.\n\t\treturn ErrInvalidHuffman\n\t}\n\tif mask := uint(1<<cbits - 1); cur&mask != mask {\n\t\t// Trailing bits must be a prefix of EOS per RFC 7541 section 5.2.\n\t\treturn ErrInvalidHuffman\n\t}\n\n\treturn nil\n}\n\ntype node struct {\n\t// children is non-nil for internal nodes\n\tchildren *[256]*node\n\n\t// The following are only valid if children is nil:\n\tcodeLen uint8 // number of bits that led to the output of sym\n\tsym     byte  // output symbol\n}\n\nfunc newInternalNode() *node {\n\treturn &node{children: new([256]*node)}\n}\n\nvar (\n\tbuildRootOnce       sync.Once\n\tlazyRootHuffmanNode *node\n)\n\nfunc getRootHuffmanNode() *node {\n\tbuildRootOnce.Do(buildRootHuffmanNode)\n\treturn lazyRootHuffmanNode\n}\n\nfunc buildRootHuffmanNode() {\n\tif len(huffmanCodes) != 256 {\n\t\tpanic(\"unexpected size\")\n\t}\n\tlazyRootHuffmanNode = newInternalNode()\n\tfor i, code := range huffmanCodes {\n\t\taddDecoderNode(byte(i), code, huffmanCodeLen[i])\n\t}\n}\n\nfunc addDecoderNode(sym byte, code uint32, codeLen uint8) {\n\tcur := lazyRootHuffmanNode\n\tfor codeLen > 8 {\n\t\tcodeLen -= 8\n\t\ti := uint8(code >> codeLen)\n\t\tif cur.children[i] == nil {\n\t\t\tcur.children[i] = newInternalNode()\n\t\t}\n\t\tcur = cur.children[i]\n\t}\n\tshift := 8 - codeLen\n\tstart, end := int(uint8(code<<shift)), int(1<<shift)\n\tfor i := start; i < start+end; i++ {\n\t\tcur.children[i] = &node{sym: sym, codeLen: codeLen}\n\t}\n}\n\n// AppendHuffmanString appends s, as encoded in Huffman codes, to dst\n// and returns the extended buffer.\nfunc AppendHuffmanString(dst []byte, s string) []byte {\n\trembits := uint8(8)\n\n\tfor i := 0; i < len(s); i++ {\n\t\tif rembits == 8 {\n\t\t\tdst = append(dst, 0)\n\t\t}\n\t\tdst, rembits = appendByteToHuffmanCode(dst, rembits, s[i])\n\t}\n\n\tif rembits < 8 {\n\t\t// special EOS symbol\n\t\tcode := uint32(0x3fffffff)\n\t\tnbits := uint8(30)\n\n\t\tt := uint8(code >> (nbits - rembits))\n\t\tdst[len(dst)-1] |= t\n\t}\n\n\treturn dst\n}\n\n// HuffmanEncodeLength returns the number of bytes required to encode\n// s in Huffman codes. The result is round up to byte boundary.\nfunc HuffmanEncodeLength(s string) uint64 {\n\tn := uint64(0)\n\tfor i := 0; i < len(s); i++ {\n\t\tn += uint64(huffmanCodeLen[s[i]])\n\t}\n\treturn (n + 7) / 8\n}\n\n// appendByteToHuffmanCode appends Huffman code for c to dst and\n// returns the extended buffer and the remaining bits in the last\n// element. The appending is not byte aligned and the remaining bits\n// in the last element of dst is given in rembits.\nfunc appendByteToHuffmanCode(dst []byte, rembits uint8, c byte) ([]byte, uint8) {\n\tcode := huffmanCodes[c]\n\tnbits := huffmanCodeLen[c]\n\n\tfor {\n\t\tif rembits > nbits {\n\t\t\tt := uint8(code << (rembits - nbits))\n\t\t\tdst[len(dst)-1] |= t\n\t\t\trembits -= nbits\n\t\t\tbreak\n\t\t}\n\n\t\tt := uint8(code >> (nbits - rembits))\n\t\tdst[len(dst)-1] |= t\n\n\t\tnbits -= rembits\n\t\trembits = 8\n\n\t\tif nbits == 0 {\n\t\t\tbreak\n\t\t}\n\n\t\tdst = append(dst, 0)\n\t}\n\n\treturn dst, rembits\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/hpack/tables.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage hpack\n\nimport (\n\t\"fmt\"\n)\n\n// headerFieldTable implements a list of HeaderFields.\n// This is used to implement the static and dynamic tables.\ntype headerFieldTable struct {\n\t// For static tables, entries are never evicted.\n\t//\n\t// For dynamic tables, entries are evicted from ents[0] and added to the end.\n\t// Each entry has a unique id that starts at one and increments for each\n\t// entry that is added. This unique id is stable across evictions, meaning\n\t// it can be used as a pointer to a specific entry. As in hpack, unique ids\n\t// are 1-based. The unique id for ents[k] is k + evictCount + 1.\n\t//\n\t// Zero is not a valid unique id.\n\t//\n\t// evictCount should not overflow in any remotely practical situation. In\n\t// practice, we will have one dynamic table per HTTP/2 connection. If we\n\t// assume a very powerful server that handles 1M QPS per connection and each\n\t// request adds (then evicts) 100 entries from the table, it would still take\n\t// 2M years for evictCount to overflow.\n\tents       []HeaderField\n\tevictCount uint64\n\n\t// byName maps a HeaderField name to the unique id of the newest entry with\n\t// the same name. See above for a definition of \"unique id\".\n\tbyName map[string]uint64\n\n\t// byNameValue maps a HeaderField name/value pair to the unique id of the newest\n\t// entry with the same name and value. See above for a definition of \"unique id\".\n\tbyNameValue map[pairNameValue]uint64\n}\n\ntype pairNameValue struct {\n\tname, value string\n}\n\nfunc (t *headerFieldTable) init() {\n\tt.byName = make(map[string]uint64)\n\tt.byNameValue = make(map[pairNameValue]uint64)\n}\n\n// len reports the number of entries in the table.\nfunc (t *headerFieldTable) len() int {\n\treturn len(t.ents)\n}\n\n// addEntry adds a new entry.\nfunc (t *headerFieldTable) addEntry(f HeaderField) {\n\tid := uint64(t.len()) + t.evictCount + 1\n\tt.byName[f.Name] = id\n\tt.byNameValue[pairNameValue{f.Name, f.Value}] = id\n\tt.ents = append(t.ents, f)\n}\n\n// evictOldest evicts the n oldest entries in the table.\nfunc (t *headerFieldTable) evictOldest(n int) {\n\tif n > t.len() {\n\t\tpanic(fmt.Sprintf(\"evictOldest(%v) on table with %v entries\", n, t.len()))\n\t}\n\tfor k := 0; k < n; k++ {\n\t\tf := t.ents[k]\n\t\tid := t.evictCount + uint64(k) + 1\n\t\tif t.byName[f.Name] == id {\n\t\t\tdelete(t.byName, f.Name)\n\t\t}\n\t\tif p := (pairNameValue{f.Name, f.Value}); t.byNameValue[p] == id {\n\t\t\tdelete(t.byNameValue, p)\n\t\t}\n\t}\n\tcopy(t.ents, t.ents[n:])\n\tfor k := t.len() - n; k < t.len(); k++ {\n\t\tt.ents[k] = HeaderField{} // so strings can be garbage collected\n\t}\n\tt.ents = t.ents[:t.len()-n]\n\tif t.evictCount+uint64(n) < t.evictCount {\n\t\tpanic(\"evictCount overflow\")\n\t}\n\tt.evictCount += uint64(n)\n}\n\n// search finds f in the table. If there is no match, i is 0.\n// If both name and value match, i is the matched index and nameValueMatch\n// becomes true. If only name matches, i points to that index and\n// nameValueMatch becomes false.\n//\n// The returned index is a 1-based HPACK index. For dynamic tables, HPACK says\n// that index 1 should be the newest entry, but t.ents[0] is the oldest entry,\n// meaning t.ents is reversed for dynamic tables. Hence, when t is a dynamic\n// table, the return value i actually refers to the entry t.ents[t.len()-i].\n//\n// All tables are assumed to be a dynamic tables except for the global\n// staticTable pointer.\n//\n// See Section 2.3.3.\nfunc (t *headerFieldTable) search(f HeaderField) (i uint64, nameValueMatch bool) {\n\tif !f.Sensitive {\n\t\tif id := t.byNameValue[pairNameValue{f.Name, f.Value}]; id != 0 {\n\t\t\treturn t.idToIndex(id), true\n\t\t}\n\t}\n\tif id := t.byName[f.Name]; id != 0 {\n\t\treturn t.idToIndex(id), false\n\t}\n\treturn 0, false\n}\n\n// idToIndex converts a unique id to an HPACK index.\n// See Section 2.3.3.\nfunc (t *headerFieldTable) idToIndex(id uint64) uint64 {\n\tif id <= t.evictCount {\n\t\tpanic(fmt.Sprintf(\"id (%v) <= evictCount (%v)\", id, t.evictCount))\n\t}\n\tk := id - t.evictCount - 1 // convert id to an index t.ents[k]\n\tif t != staticTable {\n\t\treturn uint64(t.len()) - k // dynamic table\n\t}\n\treturn k + 1\n}\n\n// http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-07#appendix-B\nvar staticTable = newStaticTable()\nvar staticTableEntries = [...]HeaderField{\n\t{Name: \":authority\"},\n\t{Name: \":method\", Value: \"GET\"},\n\t{Name: \":method\", Value: \"POST\"},\n\t{Name: \":path\", Value: \"/\"},\n\t{Name: \":path\", Value: \"/index.html\"},\n\t{Name: \":scheme\", Value: \"http\"},\n\t{Name: \":scheme\", Value: \"https\"},\n\t{Name: \":status\", Value: \"200\"},\n\t{Name: \":status\", Value: \"204\"},\n\t{Name: \":status\", Value: \"206\"},\n\t{Name: \":status\", Value: \"304\"},\n\t{Name: \":status\", Value: \"400\"},\n\t{Name: \":status\", Value: \"404\"},\n\t{Name: \":status\", Value: \"500\"},\n\t{Name: \"accept-charset\"},\n\t{Name: \"accept-encoding\", Value: \"gzip, deflate\"},\n\t{Name: \"accept-language\"},\n\t{Name: \"accept-ranges\"},\n\t{Name: \"accept\"},\n\t{Name: \"access-control-allow-origin\"},\n\t{Name: \"age\"},\n\t{Name: \"allow\"},\n\t{Name: \"authorization\"},\n\t{Name: \"cache-control\"},\n\t{Name: \"content-disposition\"},\n\t{Name: \"content-encoding\"},\n\t{Name: \"content-language\"},\n\t{Name: \"content-length\"},\n\t{Name: \"content-location\"},\n\t{Name: \"content-range\"},\n\t{Name: \"content-type\"},\n\t{Name: \"cookie\"},\n\t{Name: \"date\"},\n\t{Name: \"etag\"},\n\t{Name: \"expect\"},\n\t{Name: \"expires\"},\n\t{Name: \"from\"},\n\t{Name: \"host\"},\n\t{Name: \"if-match\"},\n\t{Name: \"if-modified-since\"},\n\t{Name: \"if-none-match\"},\n\t{Name: \"if-range\"},\n\t{Name: \"if-unmodified-since\"},\n\t{Name: \"last-modified\"},\n\t{Name: \"link\"},\n\t{Name: \"location\"},\n\t{Name: \"max-forwards\"},\n\t{Name: \"proxy-authenticate\"},\n\t{Name: \"proxy-authorization\"},\n\t{Name: \"range\"},\n\t{Name: \"referer\"},\n\t{Name: \"refresh\"},\n\t{Name: \"retry-after\"},\n\t{Name: \"server\"},\n\t{Name: \"set-cookie\"},\n\t{Name: \"strict-transport-security\"},\n\t{Name: \"transfer-encoding\"},\n\t{Name: \"user-agent\"},\n\t{Name: \"vary\"},\n\t{Name: \"via\"},\n\t{Name: \"www-authenticate\"},\n}\n\nfunc newStaticTable() *headerFieldTable {\n\tt := &headerFieldTable{}\n\tt.init()\n\tfor _, e := range staticTableEntries[:] {\n\t\tt.addEntry(e)\n\t}\n\treturn t\n}\n\nvar huffmanCodes = [256]uint32{\n\t0x1ff8,\n\t0x7fffd8,\n\t0xfffffe2,\n\t0xfffffe3,\n\t0xfffffe4,\n\t0xfffffe5,\n\t0xfffffe6,\n\t0xfffffe7,\n\t0xfffffe8,\n\t0xffffea,\n\t0x3ffffffc,\n\t0xfffffe9,\n\t0xfffffea,\n\t0x3ffffffd,\n\t0xfffffeb,\n\t0xfffffec,\n\t0xfffffed,\n\t0xfffffee,\n\t0xfffffef,\n\t0xffffff0,\n\t0xffffff1,\n\t0xffffff2,\n\t0x3ffffffe,\n\t0xffffff3,\n\t0xffffff4,\n\t0xffffff5,\n\t0xffffff6,\n\t0xffffff7,\n\t0xffffff8,\n\t0xffffff9,\n\t0xffffffa,\n\t0xffffffb,\n\t0x14,\n\t0x3f8,\n\t0x3f9,\n\t0xffa,\n\t0x1ff9,\n\t0x15,\n\t0xf8,\n\t0x7fa,\n\t0x3fa,\n\t0x3fb,\n\t0xf9,\n\t0x7fb,\n\t0xfa,\n\t0x16,\n\t0x17,\n\t0x18,\n\t0x0,\n\t0x1,\n\t0x2,\n\t0x19,\n\t0x1a,\n\t0x1b,\n\t0x1c,\n\t0x1d,\n\t0x1e,\n\t0x1f,\n\t0x5c,\n\t0xfb,\n\t0x7ffc,\n\t0x20,\n\t0xffb,\n\t0x3fc,\n\t0x1ffa,\n\t0x21,\n\t0x5d,\n\t0x5e,\n\t0x5f,\n\t0x60,\n\t0x61,\n\t0x62,\n\t0x63,\n\t0x64,\n\t0x65,\n\t0x66,\n\t0x67,\n\t0x68,\n\t0x69,\n\t0x6a,\n\t0x6b,\n\t0x6c,\n\t0x6d,\n\t0x6e,\n\t0x6f,\n\t0x70,\n\t0x71,\n\t0x72,\n\t0xfc,\n\t0x73,\n\t0xfd,\n\t0x1ffb,\n\t0x7fff0,\n\t0x1ffc,\n\t0x3ffc,\n\t0x22,\n\t0x7ffd,\n\t0x3,\n\t0x23,\n\t0x4,\n\t0x24,\n\t0x5,\n\t0x25,\n\t0x26,\n\t0x27,\n\t0x6,\n\t0x74,\n\t0x75,\n\t0x28,\n\t0x29,\n\t0x2a,\n\t0x7,\n\t0x2b,\n\t0x76,\n\t0x2c,\n\t0x8,\n\t0x9,\n\t0x2d,\n\t0x77,\n\t0x78,\n\t0x79,\n\t0x7a,\n\t0x7b,\n\t0x7ffe,\n\t0x7fc,\n\t0x3ffd,\n\t0x1ffd,\n\t0xffffffc,\n\t0xfffe6,\n\t0x3fffd2,\n\t0xfffe7,\n\t0xfffe8,\n\t0x3fffd3,\n\t0x3fffd4,\n\t0x3fffd5,\n\t0x7fffd9,\n\t0x3fffd6,\n\t0x7fffda,\n\t0x7fffdb,\n\t0x7fffdc,\n\t0x7fffdd,\n\t0x7fffde,\n\t0xffffeb,\n\t0x7fffdf,\n\t0xffffec,\n\t0xffffed,\n\t0x3fffd7,\n\t0x7fffe0,\n\t0xffffee,\n\t0x7fffe1,\n\t0x7fffe2,\n\t0x7fffe3,\n\t0x7fffe4,\n\t0x1fffdc,\n\t0x3fffd8,\n\t0x7fffe5,\n\t0x3fffd9,\n\t0x7fffe6,\n\t0x7fffe7,\n\t0xffffef,\n\t0x3fffda,\n\t0x1fffdd,\n\t0xfffe9,\n\t0x3fffdb,\n\t0x3fffdc,\n\t0x7fffe8,\n\t0x7fffe9,\n\t0x1fffde,\n\t0x7fffea,\n\t0x3fffdd,\n\t0x3fffde,\n\t0xfffff0,\n\t0x1fffdf,\n\t0x3fffdf,\n\t0x7fffeb,\n\t0x7fffec,\n\t0x1fffe0,\n\t0x1fffe1,\n\t0x3fffe0,\n\t0x1fffe2,\n\t0x7fffed,\n\t0x3fffe1,\n\t0x7fffee,\n\t0x7fffef,\n\t0xfffea,\n\t0x3fffe2,\n\t0x3fffe3,\n\t0x3fffe4,\n\t0x7ffff0,\n\t0x3fffe5,\n\t0x3fffe6,\n\t0x7ffff1,\n\t0x3ffffe0,\n\t0x3ffffe1,\n\t0xfffeb,\n\t0x7fff1,\n\t0x3fffe7,\n\t0x7ffff2,\n\t0x3fffe8,\n\t0x1ffffec,\n\t0x3ffffe2,\n\t0x3ffffe3,\n\t0x3ffffe4,\n\t0x7ffffde,\n\t0x7ffffdf,\n\t0x3ffffe5,\n\t0xfffff1,\n\t0x1ffffed,\n\t0x7fff2,\n\t0x1fffe3,\n\t0x3ffffe6,\n\t0x7ffffe0,\n\t0x7ffffe1,\n\t0x3ffffe7,\n\t0x7ffffe2,\n\t0xfffff2,\n\t0x1fffe4,\n\t0x1fffe5,\n\t0x3ffffe8,\n\t0x3ffffe9,\n\t0xffffffd,\n\t0x7ffffe3,\n\t0x7ffffe4,\n\t0x7ffffe5,\n\t0xfffec,\n\t0xfffff3,\n\t0xfffed,\n\t0x1fffe6,\n\t0x3fffe9,\n\t0x1fffe7,\n\t0x1fffe8,\n\t0x7ffff3,\n\t0x3fffea,\n\t0x3fffeb,\n\t0x1ffffee,\n\t0x1ffffef,\n\t0xfffff4,\n\t0xfffff5,\n\t0x3ffffea,\n\t0x7ffff4,\n\t0x3ffffeb,\n\t0x7ffffe6,\n\t0x3ffffec,\n\t0x3ffffed,\n\t0x7ffffe7,\n\t0x7ffffe8,\n\t0x7ffffe9,\n\t0x7ffffea,\n\t0x7ffffeb,\n\t0xffffffe,\n\t0x7ffffec,\n\t0x7ffffed,\n\t0x7ffffee,\n\t0x7ffffef,\n\t0x7fffff0,\n\t0x3ffffee,\n}\n\nvar huffmanCodeLen = [256]uint8{\n\t13, 23, 28, 28, 28, 28, 28, 28, 28, 24, 30, 28, 28, 30, 28, 28,\n\t28, 28, 28, 28, 28, 28, 30, 28, 28, 28, 28, 28, 28, 28, 28, 28,\n\t6, 10, 10, 12, 13, 6, 8, 11, 10, 10, 8, 11, 8, 6, 6, 6,\n\t5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 8, 15, 6, 12, 10,\n\t13, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,\n\t7, 7, 7, 7, 7, 7, 7, 7, 8, 7, 8, 13, 19, 13, 14, 6,\n\t15, 5, 6, 5, 6, 5, 6, 6, 6, 5, 7, 7, 6, 6, 6, 5,\n\t6, 7, 6, 5, 5, 6, 7, 7, 7, 7, 7, 15, 11, 14, 13, 28,\n\t20, 22, 20, 20, 22, 22, 22, 23, 22, 23, 23, 23, 23, 23, 24, 23,\n\t24, 24, 22, 23, 24, 23, 23, 23, 23, 21, 22, 23, 22, 23, 23, 24,\n\t22, 21, 20, 22, 22, 23, 23, 21, 23, 22, 22, 24, 21, 22, 23, 23,\n\t21, 21, 22, 21, 23, 22, 23, 23, 20, 22, 22, 22, 23, 22, 22, 23,\n\t26, 26, 20, 19, 22, 23, 22, 25, 26, 26, 26, 27, 27, 26, 24, 25,\n\t19, 21, 26, 27, 27, 26, 27, 24, 21, 21, 26, 26, 28, 27, 27, 27,\n\t20, 24, 20, 21, 22, 21, 21, 23, 22, 22, 25, 25, 24, 24, 26, 23,\n\t26, 27, 26, 26, 27, 27, 27, 27, 27, 28, 27, 27, 27, 27, 27, 26,\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/http2.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package http2 implements the HTTP/2 protocol.\n//\n// This package is low-level and intended to be used directly by very\n// few people. Most users will use it indirectly through the automatic\n// use by the net/http package (from Go 1.6 and later).\n// For use in earlier Go versions see ConfigureServer. (Transport support\n// requires Go 1.6 or later)\n//\n// See https://http2.github.io/ for more information on HTTP/2.\n//\n// See https://http2.golang.org/ for a test server running this code.\n//\npackage http2 // import \"golang.org/x/net/http2\"\n\nimport (\n\t\"bufio\"\n\t\"crypto/tls\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"net/http\"\n\t\"os\"\n\t\"sort\"\n\t\"strconv\"\n\t\"strings\"\n\t\"sync\"\n\n\t\"golang.org/x/net/http/httpguts\"\n)\n\nvar (\n\tVerboseLogs    bool\n\tlogFrameWrites bool\n\tlogFrameReads  bool\n\tinTests        bool\n)\n\nfunc init() {\n\te := os.Getenv(\"GODEBUG\")\n\tif strings.Contains(e, \"http2debug=1\") {\n\t\tVerboseLogs = true\n\t}\n\tif strings.Contains(e, \"http2debug=2\") {\n\t\tVerboseLogs = true\n\t\tlogFrameWrites = true\n\t\tlogFrameReads = true\n\t}\n}\n\nconst (\n\t// ClientPreface is the string that must be sent by new\n\t// connections from clients.\n\tClientPreface = \"PRI * HTTP/2.0\\r\\n\\r\\nSM\\r\\n\\r\\n\"\n\n\t// SETTINGS_MAX_FRAME_SIZE default\n\t// http://http2.github.io/http2-spec/#rfc.section.6.5.2\n\tinitialMaxFrameSize = 16384\n\n\t// NextProtoTLS is the NPN/ALPN protocol negotiated during\n\t// HTTP/2's TLS setup.\n\tNextProtoTLS = \"h2\"\n\n\t// http://http2.github.io/http2-spec/#SettingValues\n\tinitialHeaderTableSize = 4096\n\n\tinitialWindowSize = 65535 // 6.9.2 Initial Flow Control Window Size\n\n\tdefaultMaxReadFrameSize = 1 << 20\n)\n\nvar (\n\tclientPreface = []byte(ClientPreface)\n)\n\ntype streamState int\n\n// HTTP/2 stream states.\n//\n// See http://tools.ietf.org/html/rfc7540#section-5.1.\n//\n// For simplicity, the server code merges \"reserved (local)\" into\n// \"half-closed (remote)\". This is one less state transition to track.\n// The only downside is that we send PUSH_PROMISEs slightly less\n// liberally than allowable. More discussion here:\n// https://lists.w3.org/Archives/Public/ietf-http-wg/2016JulSep/0599.html\n//\n// \"reserved (remote)\" is omitted since the client code does not\n// support server push.\nconst (\n\tstateIdle streamState = iota\n\tstateOpen\n\tstateHalfClosedLocal\n\tstateHalfClosedRemote\n\tstateClosed\n)\n\nvar stateName = [...]string{\n\tstateIdle:             \"Idle\",\n\tstateOpen:             \"Open\",\n\tstateHalfClosedLocal:  \"HalfClosedLocal\",\n\tstateHalfClosedRemote: \"HalfClosedRemote\",\n\tstateClosed:           \"Closed\",\n}\n\nfunc (st streamState) String() string {\n\treturn stateName[st]\n}\n\n// Setting is a setting parameter: which setting it is, and its value.\ntype Setting struct {\n\t// ID is which setting is being set.\n\t// See http://http2.github.io/http2-spec/#SettingValues\n\tID SettingID\n\n\t// Val is the value.\n\tVal uint32\n}\n\nfunc (s Setting) String() string {\n\treturn fmt.Sprintf(\"[%v = %d]\", s.ID, s.Val)\n}\n\n// Valid reports whether the setting is valid.\nfunc (s Setting) Valid() error {\n\t// Limits and error codes from 6.5.2 Defined SETTINGS Parameters\n\tswitch s.ID {\n\tcase SettingEnablePush:\n\t\tif s.Val != 1 && s.Val != 0 {\n\t\t\treturn ConnectionError(ErrCodeProtocol)\n\t\t}\n\tcase SettingInitialWindowSize:\n\t\tif s.Val > 1<<31-1 {\n\t\t\treturn ConnectionError(ErrCodeFlowControl)\n\t\t}\n\tcase SettingMaxFrameSize:\n\t\tif s.Val < 16384 || s.Val > 1<<24-1 {\n\t\t\treturn ConnectionError(ErrCodeProtocol)\n\t\t}\n\t}\n\treturn nil\n}\n\n// A SettingID is an HTTP/2 setting as defined in\n// http://http2.github.io/http2-spec/#iana-settings\ntype SettingID uint16\n\nconst (\n\tSettingHeaderTableSize      SettingID = 0x1\n\tSettingEnablePush           SettingID = 0x2\n\tSettingMaxConcurrentStreams SettingID = 0x3\n\tSettingInitialWindowSize    SettingID = 0x4\n\tSettingMaxFrameSize         SettingID = 0x5\n\tSettingMaxHeaderListSize    SettingID = 0x6\n)\n\nvar settingName = map[SettingID]string{\n\tSettingHeaderTableSize:      \"HEADER_TABLE_SIZE\",\n\tSettingEnablePush:           \"ENABLE_PUSH\",\n\tSettingMaxConcurrentStreams: \"MAX_CONCURRENT_STREAMS\",\n\tSettingInitialWindowSize:    \"INITIAL_WINDOW_SIZE\",\n\tSettingMaxFrameSize:         \"MAX_FRAME_SIZE\",\n\tSettingMaxHeaderListSize:    \"MAX_HEADER_LIST_SIZE\",\n}\n\nfunc (s SettingID) String() string {\n\tif v, ok := settingName[s]; ok {\n\t\treturn v\n\t}\n\treturn fmt.Sprintf(\"UNKNOWN_SETTING_%d\", uint16(s))\n}\n\nvar (\n\terrInvalidHeaderFieldName  = errors.New(\"http2: invalid header field name\")\n\terrInvalidHeaderFieldValue = errors.New(\"http2: invalid header field value\")\n)\n\n// validWireHeaderFieldName reports whether v is a valid header field\n// name (key). See httpguts.ValidHeaderName for the base rules.\n//\n// Further, http2 says:\n//   \"Just as in HTTP/1.x, header field names are strings of ASCII\n//   characters that are compared in a case-insensitive\n//   fashion. However, header field names MUST be converted to\n//   lowercase prior to their encoding in HTTP/2. \"\nfunc validWireHeaderFieldName(v string) bool {\n\tif len(v) == 0 {\n\t\treturn false\n\t}\n\tfor _, r := range v {\n\t\tif !httpguts.IsTokenRune(r) {\n\t\t\treturn false\n\t\t}\n\t\tif 'A' <= r && r <= 'Z' {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\nvar httpCodeStringCommon = map[int]string{} // n -> strconv.Itoa(n)\n\nfunc init() {\n\tfor i := 100; i <= 999; i++ {\n\t\tif v := http.StatusText(i); v != \"\" {\n\t\t\thttpCodeStringCommon[i] = strconv.Itoa(i)\n\t\t}\n\t}\n}\n\nfunc httpCodeString(code int) string {\n\tif s, ok := httpCodeStringCommon[code]; ok {\n\t\treturn s\n\t}\n\treturn strconv.Itoa(code)\n}\n\n// from pkg io\ntype stringWriter interface {\n\tWriteString(s string) (n int, err error)\n}\n\n// A gate lets two goroutines coordinate their activities.\ntype gate chan struct{}\n\nfunc (g gate) Done() { g <- struct{}{} }\nfunc (g gate) Wait() { <-g }\n\n// A closeWaiter is like a sync.WaitGroup but only goes 1 to 0 (open to closed).\ntype closeWaiter chan struct{}\n\n// Init makes a closeWaiter usable.\n// It exists because so a closeWaiter value can be placed inside a\n// larger struct and have the Mutex and Cond's memory in the same\n// allocation.\nfunc (cw *closeWaiter) Init() {\n\t*cw = make(chan struct{})\n}\n\n// Close marks the closeWaiter as closed and unblocks any waiters.\nfunc (cw closeWaiter) Close() {\n\tclose(cw)\n}\n\n// Wait waits for the closeWaiter to become closed.\nfunc (cw closeWaiter) Wait() {\n\t<-cw\n}\n\n// bufferedWriter is a buffered writer that writes to w.\n// Its buffered writer is lazily allocated as needed, to minimize\n// idle memory usage with many connections.\ntype bufferedWriter struct {\n\tw  io.Writer     // immutable\n\tbw *bufio.Writer // non-nil when data is buffered\n}\n\nfunc newBufferedWriter(w io.Writer) *bufferedWriter {\n\treturn &bufferedWriter{w: w}\n}\n\n// bufWriterPoolBufferSize is the size of bufio.Writer's\n// buffers created using bufWriterPool.\n//\n// TODO: pick a less arbitrary value? this is a bit under\n// (3 x typical 1500 byte MTU) at least. Other than that,\n// not much thought went into it.\nconst bufWriterPoolBufferSize = 4 << 10\n\nvar bufWriterPool = sync.Pool{\n\tNew: func() interface{} {\n\t\treturn bufio.NewWriterSize(nil, bufWriterPoolBufferSize)\n\t},\n}\n\nfunc (w *bufferedWriter) Available() int {\n\tif w.bw == nil {\n\t\treturn bufWriterPoolBufferSize\n\t}\n\treturn w.bw.Available()\n}\n\nfunc (w *bufferedWriter) Write(p []byte) (n int, err error) {\n\tif w.bw == nil {\n\t\tbw := bufWriterPool.Get().(*bufio.Writer)\n\t\tbw.Reset(w.w)\n\t\tw.bw = bw\n\t}\n\treturn w.bw.Write(p)\n}\n\nfunc (w *bufferedWriter) Flush() error {\n\tbw := w.bw\n\tif bw == nil {\n\t\treturn nil\n\t}\n\terr := bw.Flush()\n\tbw.Reset(nil)\n\tbufWriterPool.Put(bw)\n\tw.bw = nil\n\treturn err\n}\n\nfunc mustUint31(v int32) uint32 {\n\tif v < 0 || v > 2147483647 {\n\t\tpanic(\"out of range\")\n\t}\n\treturn uint32(v)\n}\n\n// bodyAllowedForStatus reports whether a given response status code\n// permits a body. See RFC 7230, section 3.3.\nfunc bodyAllowedForStatus(status int) bool {\n\tswitch {\n\tcase status >= 100 && status <= 199:\n\t\treturn false\n\tcase status == 204:\n\t\treturn false\n\tcase status == 304:\n\t\treturn false\n\t}\n\treturn true\n}\n\ntype httpError struct {\n\tmsg     string\n\ttimeout bool\n}\n\nfunc (e *httpError) Error() string   { return e.msg }\nfunc (e *httpError) Timeout() bool   { return e.timeout }\nfunc (e *httpError) Temporary() bool { return true }\n\nvar errTimeout error = &httpError{msg: \"http2: timeout awaiting response headers\", timeout: true}\n\ntype connectionStater interface {\n\tConnectionState() tls.ConnectionState\n}\n\nvar sorterPool = sync.Pool{New: func() interface{} { return new(sorter) }}\n\ntype sorter struct {\n\tv []string // owned by sorter\n}\n\nfunc (s *sorter) Len() int           { return len(s.v) }\nfunc (s *sorter) Swap(i, j int)      { s.v[i], s.v[j] = s.v[j], s.v[i] }\nfunc (s *sorter) Less(i, j int) bool { return s.v[i] < s.v[j] }\n\n// Keys returns the sorted keys of h.\n//\n// The returned slice is only valid until s used again or returned to\n// its pool.\nfunc (s *sorter) Keys(h http.Header) []string {\n\tkeys := s.v[:0]\n\tfor k := range h {\n\t\tkeys = append(keys, k)\n\t}\n\ts.v = keys\n\tsort.Sort(s)\n\treturn keys\n}\n\nfunc (s *sorter) SortStrings(ss []string) {\n\t// Our sorter works on s.v, which sorter owns, so\n\t// stash it away while we sort the user's buffer.\n\tsave := s.v\n\ts.v = ss\n\tsort.Sort(s)\n\ts.v = save\n}\n\n// validPseudoPath reports whether v is a valid :path pseudo-header\n// value. It must be either:\n//\n//     *) a non-empty string starting with '/'\n//     *) the string '*', for OPTIONS requests.\n//\n// For now this is only used a quick check for deciding when to clean\n// up Opaque URLs before sending requests from the Transport.\n// See golang.org/issue/16847\n//\n// We used to enforce that the path also didn't start with \"//\", but\n// Google's GFE accepts such paths and Chrome sends them, so ignore\n// that part of the spec. See golang.org/issue/19103.\nfunc validPseudoPath(v string) bool {\n\treturn (len(v) > 0 && v[0] == '/') || v == \"*\"\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/not_go111.go",
    "content": "// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !go1.11\n\npackage http2\n\nimport \"net/textproto\"\n\nfunc traceHasWroteHeaderField(trace *clientTrace) bool { return false }\n\nfunc traceWroteHeaderField(trace *clientTrace, k, v string) {}\n\nfunc traceGot1xxResponseFunc(trace *clientTrace) func(int, textproto.MIMEHeader) error {\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/not_go16.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !go1.6\n\npackage http2\n\nimport (\n\t\"net/http\"\n\t\"time\"\n)\n\nfunc configureTransport(t1 *http.Transport) (*Transport, error) {\n\treturn nil, errTransportVersion\n}\n\nfunc transportExpectContinueTimeout(t1 *http.Transport) time.Duration {\n\treturn 0\n\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/not_go17.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !go1.7\n\npackage http2\n\nimport (\n\t\"crypto/tls\"\n\t\"errors\"\n\t\"net\"\n\t\"net/http\"\n\t\"time\"\n)\n\ntype contextContext interface {\n\tDone() <-chan struct{}\n\tErr() error\n}\n\nvar errCanceled = errors.New(\"canceled\")\n\ntype fakeContext struct{}\n\nfunc (fakeContext) Done() <-chan struct{} { return nil }\nfunc (fakeContext) Err() error            { panic(\"should not be called\") }\n\nfunc reqContext(r *http.Request) fakeContext {\n\treturn fakeContext{}\n}\n\nfunc setResponseUncompressed(res *http.Response) {\n\t// Nothing.\n}\n\ntype clientTrace struct{}\n\nfunc requestTrace(*http.Request) *clientTrace { return nil }\nfunc traceGetConn(*http.Request, string)      {}\nfunc traceGotConn(*http.Request, *ClientConn) {}\nfunc traceFirstResponseByte(*clientTrace)     {}\nfunc traceWroteHeaders(*clientTrace)          {}\nfunc traceWroteRequest(*clientTrace, error)   {}\nfunc traceGot100Continue(trace *clientTrace)  {}\nfunc traceWait100Continue(trace *clientTrace) {}\n\nfunc nop() {}\n\nfunc serverConnBaseContext(c net.Conn, opts *ServeConnOpts) (ctx contextContext, cancel func()) {\n\treturn nil, nop\n}\n\nfunc contextWithCancel(ctx contextContext) (_ contextContext, cancel func()) {\n\treturn ctx, nop\n}\n\nfunc requestWithContext(req *http.Request, ctx contextContext) *http.Request {\n\treturn req\n}\n\n// temporary copy of Go 1.6's private tls.Config.clone:\nfunc cloneTLSConfig(c *tls.Config) *tls.Config {\n\treturn &tls.Config{\n\t\tRand:                     c.Rand,\n\t\tTime:                     c.Time,\n\t\tCertificates:             c.Certificates,\n\t\tNameToCertificate:        c.NameToCertificate,\n\t\tGetCertificate:           c.GetCertificate,\n\t\tRootCAs:                  c.RootCAs,\n\t\tNextProtos:               c.NextProtos,\n\t\tServerName:               c.ServerName,\n\t\tClientAuth:               c.ClientAuth,\n\t\tClientCAs:                c.ClientCAs,\n\t\tInsecureSkipVerify:       c.InsecureSkipVerify,\n\t\tCipherSuites:             c.CipherSuites,\n\t\tPreferServerCipherSuites: c.PreferServerCipherSuites,\n\t\tSessionTicketsDisabled:   c.SessionTicketsDisabled,\n\t\tSessionTicketKey:         c.SessionTicketKey,\n\t\tClientSessionCache:       c.ClientSessionCache,\n\t\tMinVersion:               c.MinVersion,\n\t\tMaxVersion:               c.MaxVersion,\n\t\tCurvePreferences:         c.CurvePreferences,\n\t}\n}\n\nfunc (cc *ClientConn) Ping(ctx contextContext) error {\n\treturn cc.ping(ctx)\n}\n\nfunc (cc *ClientConn) Shutdown(ctx contextContext) error {\n\treturn cc.shutdown(ctx)\n}\n\nfunc (t *Transport) idleConnTimeout() time.Duration { return 0 }\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/not_go18.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !go1.8\n\npackage http2\n\nimport (\n\t\"io\"\n\t\"net/http\"\n)\n\nfunc configureServer18(h1 *http.Server, h2 *Server) error {\n\t// No IdleTimeout to sync prior to Go 1.8.\n\treturn nil\n}\n\nfunc shouldLogPanic(panicValue interface{}) bool {\n\treturn panicValue != nil\n}\n\nfunc reqGetBody(req *http.Request) func() (io.ReadCloser, error) {\n\treturn nil\n}\n\nfunc reqBodyIsNoBody(io.ReadCloser) bool { return false }\n\nfunc go18httpNoBody() io.ReadCloser { return nil } // for tests only\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/not_go19.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !go1.9\n\npackage http2\n\nimport (\n\t\"net/http\"\n)\n\nfunc configureServer19(s *http.Server, conf *Server) error {\n\t// not supported prior to go1.9\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/pipe.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage http2\n\nimport (\n\t\"errors\"\n\t\"io\"\n\t\"sync\"\n)\n\n// pipe is a goroutine-safe io.Reader/io.Writer pair. It's like\n// io.Pipe except there are no PipeReader/PipeWriter halves, and the\n// underlying buffer is an interface. (io.Pipe is always unbuffered)\ntype pipe struct {\n\tmu       sync.Mutex\n\tc        sync.Cond     // c.L lazily initialized to &p.mu\n\tb        pipeBuffer    // nil when done reading\n\terr      error         // read error once empty. non-nil means closed.\n\tbreakErr error         // immediate read error (caller doesn't see rest of b)\n\tdonec    chan struct{} // closed on error\n\treadFn   func()        // optional code to run in Read before error\n}\n\ntype pipeBuffer interface {\n\tLen() int\n\tio.Writer\n\tio.Reader\n}\n\nfunc (p *pipe) Len() int {\n\tp.mu.Lock()\n\tdefer p.mu.Unlock()\n\tif p.b == nil {\n\t\treturn 0\n\t}\n\treturn p.b.Len()\n}\n\n// Read waits until data is available and copies bytes\n// from the buffer into p.\nfunc (p *pipe) Read(d []byte) (n int, err error) {\n\tp.mu.Lock()\n\tdefer p.mu.Unlock()\n\tif p.c.L == nil {\n\t\tp.c.L = &p.mu\n\t}\n\tfor {\n\t\tif p.breakErr != nil {\n\t\t\treturn 0, p.breakErr\n\t\t}\n\t\tif p.b != nil && p.b.Len() > 0 {\n\t\t\treturn p.b.Read(d)\n\t\t}\n\t\tif p.err != nil {\n\t\t\tif p.readFn != nil {\n\t\t\t\tp.readFn()     // e.g. copy trailers\n\t\t\t\tp.readFn = nil // not sticky like p.err\n\t\t\t}\n\t\t\tp.b = nil\n\t\t\treturn 0, p.err\n\t\t}\n\t\tp.c.Wait()\n\t}\n}\n\nvar errClosedPipeWrite = errors.New(\"write on closed buffer\")\n\n// Write copies bytes from p into the buffer and wakes a reader.\n// It is an error to write more data than the buffer can hold.\nfunc (p *pipe) Write(d []byte) (n int, err error) {\n\tp.mu.Lock()\n\tdefer p.mu.Unlock()\n\tif p.c.L == nil {\n\t\tp.c.L = &p.mu\n\t}\n\tdefer p.c.Signal()\n\tif p.err != nil {\n\t\treturn 0, errClosedPipeWrite\n\t}\n\tif p.breakErr != nil {\n\t\treturn len(d), nil // discard when there is no reader\n\t}\n\treturn p.b.Write(d)\n}\n\n// CloseWithError causes the next Read (waking up a current blocked\n// Read if needed) to return the provided err after all data has been\n// read.\n//\n// The error must be non-nil.\nfunc (p *pipe) CloseWithError(err error) { p.closeWithError(&p.err, err, nil) }\n\n// BreakWithError causes the next Read (waking up a current blocked\n// Read if needed) to return the provided err immediately, without\n// waiting for unread data.\nfunc (p *pipe) BreakWithError(err error) { p.closeWithError(&p.breakErr, err, nil) }\n\n// closeWithErrorAndCode is like CloseWithError but also sets some code to run\n// in the caller's goroutine before returning the error.\nfunc (p *pipe) closeWithErrorAndCode(err error, fn func()) { p.closeWithError(&p.err, err, fn) }\n\nfunc (p *pipe) closeWithError(dst *error, err error, fn func()) {\n\tif err == nil {\n\t\tpanic(\"err must be non-nil\")\n\t}\n\tp.mu.Lock()\n\tdefer p.mu.Unlock()\n\tif p.c.L == nil {\n\t\tp.c.L = &p.mu\n\t}\n\tdefer p.c.Signal()\n\tif *dst != nil {\n\t\t// Already been done.\n\t\treturn\n\t}\n\tp.readFn = fn\n\tif dst == &p.breakErr {\n\t\tp.b = nil\n\t}\n\t*dst = err\n\tp.closeDoneLocked()\n}\n\n// requires p.mu be held.\nfunc (p *pipe) closeDoneLocked() {\n\tif p.donec == nil {\n\t\treturn\n\t}\n\t// Close if unclosed. This isn't racy since we always\n\t// hold p.mu while closing.\n\tselect {\n\tcase <-p.donec:\n\tdefault:\n\t\tclose(p.donec)\n\t}\n}\n\n// Err returns the error (if any) first set by BreakWithError or CloseWithError.\nfunc (p *pipe) Err() error {\n\tp.mu.Lock()\n\tdefer p.mu.Unlock()\n\tif p.breakErr != nil {\n\t\treturn p.breakErr\n\t}\n\treturn p.err\n}\n\n// Done returns a channel which is closed if and when this pipe is closed\n// with CloseWithError.\nfunc (p *pipe) Done() <-chan struct{} {\n\tp.mu.Lock()\n\tdefer p.mu.Unlock()\n\tif p.donec == nil {\n\t\tp.donec = make(chan struct{})\n\t\tif p.err != nil || p.breakErr != nil {\n\t\t\t// Already hit an error.\n\t\t\tp.closeDoneLocked()\n\t\t}\n\t}\n\treturn p.donec\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/server.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// TODO: turn off the serve goroutine when idle, so\n// an idle conn only has the readFrames goroutine active. (which could\n// also be optimized probably to pin less memory in crypto/tls). This\n// would involve tracking when the serve goroutine is active (atomic\n// int32 read/CAS probably?) and starting it up when frames arrive,\n// and shutting it down when all handlers exit. the occasional PING\n// packets could use time.AfterFunc to call sc.wakeStartServeLoop()\n// (which is a no-op if already running) and then queue the PING write\n// as normal. The serve loop would then exit in most cases (if no\n// Handlers running) and not be woken up again until the PING packet\n// returns.\n\n// TODO (maybe): add a mechanism for Handlers to going into\n// half-closed-local mode (rw.(io.Closer) test?) but not exit their\n// handler, and continue to be able to read from the\n// Request.Body. This would be a somewhat semantic change from HTTP/1\n// (or at least what we expose in net/http), so I'd probably want to\n// add it there too. For now, this package says that returning from\n// the Handler ServeHTTP function means you're both done reading and\n// done writing, without a way to stop just one or the other.\n\npackage http2\n\nimport (\n\t\"bufio\"\n\t\"bytes\"\n\t\"crypto/tls\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"log\"\n\t\"math\"\n\t\"net\"\n\t\"net/http\"\n\t\"net/textproto\"\n\t\"net/url\"\n\t\"os\"\n\t\"reflect\"\n\t\"runtime\"\n\t\"strconv\"\n\t\"strings\"\n\t\"sync\"\n\t\"time\"\n\n\t\"golang.org/x/net/http/httpguts\"\n\t\"golang.org/x/net/http2/hpack\"\n)\n\nconst (\n\tprefaceTimeout        = 10 * time.Second\n\tfirstSettingsTimeout  = 2 * time.Second // should be in-flight with preface anyway\n\thandlerChunkWriteSize = 4 << 10\n\tdefaultMaxStreams     = 250 // TODO: make this 100 as the GFE seems to?\n)\n\nvar (\n\terrClientDisconnected = errors.New(\"client disconnected\")\n\terrClosedBody         = errors.New(\"body closed by handler\")\n\terrHandlerComplete    = errors.New(\"http2: request body closed due to handler exiting\")\n\terrStreamClosed       = errors.New(\"http2: stream closed\")\n)\n\nvar responseWriterStatePool = sync.Pool{\n\tNew: func() interface{} {\n\t\trws := &responseWriterState{}\n\t\trws.bw = bufio.NewWriterSize(chunkWriter{rws}, handlerChunkWriteSize)\n\t\treturn rws\n\t},\n}\n\n// Test hooks.\nvar (\n\ttestHookOnConn        func()\n\ttestHookGetServerConn func(*serverConn)\n\ttestHookOnPanicMu     *sync.Mutex // nil except in tests\n\ttestHookOnPanic       func(sc *serverConn, panicVal interface{}) (rePanic bool)\n)\n\n// Server is an HTTP/2 server.\ntype Server struct {\n\t// MaxHandlers limits the number of http.Handler ServeHTTP goroutines\n\t// which may run at a time over all connections.\n\t// Negative or zero no limit.\n\t// TODO: implement\n\tMaxHandlers int\n\n\t// MaxConcurrentStreams optionally specifies the number of\n\t// concurrent streams that each client may have open at a\n\t// time. This is unrelated to the number of http.Handler goroutines\n\t// which may be active globally, which is MaxHandlers.\n\t// If zero, MaxConcurrentStreams defaults to at least 100, per\n\t// the HTTP/2 spec's recommendations.\n\tMaxConcurrentStreams uint32\n\n\t// MaxReadFrameSize optionally specifies the largest frame\n\t// this server is willing to read. A valid value is between\n\t// 16k and 16M, inclusive. If zero or otherwise invalid, a\n\t// default value is used.\n\tMaxReadFrameSize uint32\n\n\t// PermitProhibitedCipherSuites, if true, permits the use of\n\t// cipher suites prohibited by the HTTP/2 spec.\n\tPermitProhibitedCipherSuites bool\n\n\t// IdleTimeout specifies how long until idle clients should be\n\t// closed with a GOAWAY frame. PING frames are not considered\n\t// activity for the purposes of IdleTimeout.\n\tIdleTimeout time.Duration\n\n\t// MaxUploadBufferPerConnection is the size of the initial flow\n\t// control window for each connections. The HTTP/2 spec does not\n\t// allow this to be smaller than 65535 or larger than 2^32-1.\n\t// If the value is outside this range, a default value will be\n\t// used instead.\n\tMaxUploadBufferPerConnection int32\n\n\t// MaxUploadBufferPerStream is the size of the initial flow control\n\t// window for each stream. The HTTP/2 spec does not allow this to\n\t// be larger than 2^32-1. If the value is zero or larger than the\n\t// maximum, a default value will be used instead.\n\tMaxUploadBufferPerStream int32\n\n\t// NewWriteScheduler constructs a write scheduler for a connection.\n\t// If nil, a default scheduler is chosen.\n\tNewWriteScheduler func() WriteScheduler\n\n\t// Internal state. This is a pointer (rather than embedded directly)\n\t// so that we don't embed a Mutex in this struct, which will make the\n\t// struct non-copyable, which might break some callers.\n\tstate *serverInternalState\n}\n\nfunc (s *Server) initialConnRecvWindowSize() int32 {\n\tif s.MaxUploadBufferPerConnection > initialWindowSize {\n\t\treturn s.MaxUploadBufferPerConnection\n\t}\n\treturn 1 << 20\n}\n\nfunc (s *Server) initialStreamRecvWindowSize() int32 {\n\tif s.MaxUploadBufferPerStream > 0 {\n\t\treturn s.MaxUploadBufferPerStream\n\t}\n\treturn 1 << 20\n}\n\nfunc (s *Server) maxReadFrameSize() uint32 {\n\tif v := s.MaxReadFrameSize; v >= minMaxFrameSize && v <= maxFrameSize {\n\t\treturn v\n\t}\n\treturn defaultMaxReadFrameSize\n}\n\nfunc (s *Server) maxConcurrentStreams() uint32 {\n\tif v := s.MaxConcurrentStreams; v > 0 {\n\t\treturn v\n\t}\n\treturn defaultMaxStreams\n}\n\ntype serverInternalState struct {\n\tmu          sync.Mutex\n\tactiveConns map[*serverConn]struct{}\n}\n\nfunc (s *serverInternalState) registerConn(sc *serverConn) {\n\tif s == nil {\n\t\treturn // if the Server was used without calling ConfigureServer\n\t}\n\ts.mu.Lock()\n\ts.activeConns[sc] = struct{}{}\n\ts.mu.Unlock()\n}\n\nfunc (s *serverInternalState) unregisterConn(sc *serverConn) {\n\tif s == nil {\n\t\treturn // if the Server was used without calling ConfigureServer\n\t}\n\ts.mu.Lock()\n\tdelete(s.activeConns, sc)\n\ts.mu.Unlock()\n}\n\nfunc (s *serverInternalState) startGracefulShutdown() {\n\tif s == nil {\n\t\treturn // if the Server was used without calling ConfigureServer\n\t}\n\ts.mu.Lock()\n\tfor sc := range s.activeConns {\n\t\tsc.startGracefulShutdown()\n\t}\n\ts.mu.Unlock()\n}\n\n// ConfigureServer adds HTTP/2 support to a net/http Server.\n//\n// The configuration conf may be nil.\n//\n// ConfigureServer must be called before s begins serving.\nfunc ConfigureServer(s *http.Server, conf *Server) error {\n\tif s == nil {\n\t\tpanic(\"nil *http.Server\")\n\t}\n\tif conf == nil {\n\t\tconf = new(Server)\n\t}\n\tconf.state = &serverInternalState{activeConns: make(map[*serverConn]struct{})}\n\tif err := configureServer18(s, conf); err != nil {\n\t\treturn err\n\t}\n\tif err := configureServer19(s, conf); err != nil {\n\t\treturn err\n\t}\n\n\tif s.TLSConfig == nil {\n\t\ts.TLSConfig = new(tls.Config)\n\t} else if s.TLSConfig.CipherSuites != nil {\n\t\t// If they already provided a CipherSuite list, return\n\t\t// an error if it has a bad order or is missing\n\t\t// ECDHE_RSA_WITH_AES_128_GCM_SHA256 or ECDHE_ECDSA_WITH_AES_128_GCM_SHA256.\n\t\thaveRequired := false\n\t\tsawBad := false\n\t\tfor i, cs := range s.TLSConfig.CipherSuites {\n\t\t\tswitch cs {\n\t\t\tcase tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,\n\t\t\t\t// Alternative MTI cipher to not discourage ECDSA-only servers.\n\t\t\t\t// See http://golang.org/cl/30721 for further information.\n\t\t\t\ttls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256:\n\t\t\t\thaveRequired = true\n\t\t\t}\n\t\t\tif isBadCipher(cs) {\n\t\t\t\tsawBad = true\n\t\t\t} else if sawBad {\n\t\t\t\treturn fmt.Errorf(\"http2: TLSConfig.CipherSuites index %d contains an HTTP/2-approved cipher suite (%#04x), but it comes after unapproved cipher suites. With this configuration, clients that don't support previous, approved cipher suites may be given an unapproved one and reject the connection.\", i, cs)\n\t\t\t}\n\t\t}\n\t\tif !haveRequired {\n\t\t\treturn fmt.Errorf(\"http2: TLSConfig.CipherSuites is missing an HTTP/2-required AES_128_GCM_SHA256 cipher.\")\n\t\t}\n\t}\n\n\t// Note: not setting MinVersion to tls.VersionTLS12,\n\t// as we don't want to interfere with HTTP/1.1 traffic\n\t// on the user's server. We enforce TLS 1.2 later once\n\t// we accept a connection. Ideally this should be done\n\t// during next-proto selection, but using TLS <1.2 with\n\t// HTTP/2 is still the client's bug.\n\n\ts.TLSConfig.PreferServerCipherSuites = true\n\n\thaveNPN := false\n\tfor _, p := range s.TLSConfig.NextProtos {\n\t\tif p == NextProtoTLS {\n\t\t\thaveNPN = true\n\t\t\tbreak\n\t\t}\n\t}\n\tif !haveNPN {\n\t\ts.TLSConfig.NextProtos = append(s.TLSConfig.NextProtos, NextProtoTLS)\n\t}\n\n\tif s.TLSNextProto == nil {\n\t\ts.TLSNextProto = map[string]func(*http.Server, *tls.Conn, http.Handler){}\n\t}\n\tprotoHandler := func(hs *http.Server, c *tls.Conn, h http.Handler) {\n\t\tif testHookOnConn != nil {\n\t\t\ttestHookOnConn()\n\t\t}\n\t\tconf.ServeConn(c, &ServeConnOpts{\n\t\t\tHandler:    h,\n\t\t\tBaseConfig: hs,\n\t\t})\n\t}\n\ts.TLSNextProto[NextProtoTLS] = protoHandler\n\treturn nil\n}\n\n// ServeConnOpts are options for the Server.ServeConn method.\ntype ServeConnOpts struct {\n\t// BaseConfig optionally sets the base configuration\n\t// for values. If nil, defaults are used.\n\tBaseConfig *http.Server\n\n\t// Handler specifies which handler to use for processing\n\t// requests. If nil, BaseConfig.Handler is used. If BaseConfig\n\t// or BaseConfig.Handler is nil, http.DefaultServeMux is used.\n\tHandler http.Handler\n}\n\nfunc (o *ServeConnOpts) baseConfig() *http.Server {\n\tif o != nil && o.BaseConfig != nil {\n\t\treturn o.BaseConfig\n\t}\n\treturn new(http.Server)\n}\n\nfunc (o *ServeConnOpts) handler() http.Handler {\n\tif o != nil {\n\t\tif o.Handler != nil {\n\t\t\treturn o.Handler\n\t\t}\n\t\tif o.BaseConfig != nil && o.BaseConfig.Handler != nil {\n\t\t\treturn o.BaseConfig.Handler\n\t\t}\n\t}\n\treturn http.DefaultServeMux\n}\n\n// ServeConn serves HTTP/2 requests on the provided connection and\n// blocks until the connection is no longer readable.\n//\n// ServeConn starts speaking HTTP/2 assuming that c has not had any\n// reads or writes. It writes its initial settings frame and expects\n// to be able to read the preface and settings frame from the\n// client. If c has a ConnectionState method like a *tls.Conn, the\n// ConnectionState is used to verify the TLS ciphersuite and to set\n// the Request.TLS field in Handlers.\n//\n// ServeConn does not support h2c by itself. Any h2c support must be\n// implemented in terms of providing a suitably-behaving net.Conn.\n//\n// The opts parameter is optional. If nil, default values are used.\nfunc (s *Server) ServeConn(c net.Conn, opts *ServeConnOpts) {\n\tbaseCtx, cancel := serverConnBaseContext(c, opts)\n\tdefer cancel()\n\n\tsc := &serverConn{\n\t\tsrv:                         s,\n\t\ths:                          opts.baseConfig(),\n\t\tconn:                        c,\n\t\tbaseCtx:                     baseCtx,\n\t\tremoteAddrStr:               c.RemoteAddr().String(),\n\t\tbw:                          newBufferedWriter(c),\n\t\thandler:                     opts.handler(),\n\t\tstreams:                     make(map[uint32]*stream),\n\t\treadFrameCh:                 make(chan readFrameResult),\n\t\twantWriteFrameCh:            make(chan FrameWriteRequest, 8),\n\t\tserveMsgCh:                  make(chan interface{}, 8),\n\t\twroteFrameCh:                make(chan frameWriteResult, 1), // buffered; one send in writeFrameAsync\n\t\tbodyReadCh:                  make(chan bodyReadMsg),         // buffering doesn't matter either way\n\t\tdoneServing:                 make(chan struct{}),\n\t\tclientMaxStreams:            math.MaxUint32, // Section 6.5.2: \"Initially, there is no limit to this value\"\n\t\tadvMaxStreams:               s.maxConcurrentStreams(),\n\t\tinitialStreamSendWindowSize: initialWindowSize,\n\t\tmaxFrameSize:                initialMaxFrameSize,\n\t\theaderTableSize:             initialHeaderTableSize,\n\t\tserveG:                      newGoroutineLock(),\n\t\tpushEnabled:                 true,\n\t}\n\n\ts.state.registerConn(sc)\n\tdefer s.state.unregisterConn(sc)\n\n\t// The net/http package sets the write deadline from the\n\t// http.Server.WriteTimeout during the TLS handshake, but then\n\t// passes the connection off to us with the deadline already set.\n\t// Write deadlines are set per stream in serverConn.newStream.\n\t// Disarm the net.Conn write deadline here.\n\tif sc.hs.WriteTimeout != 0 {\n\t\tsc.conn.SetWriteDeadline(time.Time{})\n\t}\n\n\tif s.NewWriteScheduler != nil {\n\t\tsc.writeSched = s.NewWriteScheduler()\n\t} else {\n\t\tsc.writeSched = NewRandomWriteScheduler()\n\t}\n\n\t// These start at the RFC-specified defaults. If there is a higher\n\t// configured value for inflow, that will be updated when we send a\n\t// WINDOW_UPDATE shortly after sending SETTINGS.\n\tsc.flow.add(initialWindowSize)\n\tsc.inflow.add(initialWindowSize)\n\tsc.hpackEncoder = hpack.NewEncoder(&sc.headerWriteBuf)\n\n\tfr := NewFramer(sc.bw, c)\n\tfr.ReadMetaHeaders = hpack.NewDecoder(initialHeaderTableSize, nil)\n\tfr.MaxHeaderListSize = sc.maxHeaderListSize()\n\tfr.SetMaxReadFrameSize(s.maxReadFrameSize())\n\tsc.framer = fr\n\n\tif tc, ok := c.(connectionStater); ok {\n\t\tsc.tlsState = new(tls.ConnectionState)\n\t\t*sc.tlsState = tc.ConnectionState()\n\t\t// 9.2 Use of TLS Features\n\t\t// An implementation of HTTP/2 over TLS MUST use TLS\n\t\t// 1.2 or higher with the restrictions on feature set\n\t\t// and cipher suite described in this section. Due to\n\t\t// implementation limitations, it might not be\n\t\t// possible to fail TLS negotiation. An endpoint MUST\n\t\t// immediately terminate an HTTP/2 connection that\n\t\t// does not meet the TLS requirements described in\n\t\t// this section with a connection error (Section\n\t\t// 5.4.1) of type INADEQUATE_SECURITY.\n\t\tif sc.tlsState.Version < tls.VersionTLS12 {\n\t\t\tsc.rejectConn(ErrCodeInadequateSecurity, \"TLS version too low\")\n\t\t\treturn\n\t\t}\n\n\t\tif sc.tlsState.ServerName == \"\" {\n\t\t\t// Client must use SNI, but we don't enforce that anymore,\n\t\t\t// since it was causing problems when connecting to bare IP\n\t\t\t// addresses during development.\n\t\t\t//\n\t\t\t// TODO: optionally enforce? Or enforce at the time we receive\n\t\t\t// a new request, and verify the ServerName matches the :authority?\n\t\t\t// But that precludes proxy situations, perhaps.\n\t\t\t//\n\t\t\t// So for now, do nothing here again.\n\t\t}\n\n\t\tif !s.PermitProhibitedCipherSuites && isBadCipher(sc.tlsState.CipherSuite) {\n\t\t\t// \"Endpoints MAY choose to generate a connection error\n\t\t\t// (Section 5.4.1) of type INADEQUATE_SECURITY if one of\n\t\t\t// the prohibited cipher suites are negotiated.\"\n\t\t\t//\n\t\t\t// We choose that. In my opinion, the spec is weak\n\t\t\t// here. It also says both parties must support at least\n\t\t\t// TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 so there's no\n\t\t\t// excuses here. If we really must, we could allow an\n\t\t\t// \"AllowInsecureWeakCiphers\" option on the server later.\n\t\t\t// Let's see how it plays out first.\n\t\t\tsc.rejectConn(ErrCodeInadequateSecurity, fmt.Sprintf(\"Prohibited TLS 1.2 Cipher Suite: %x\", sc.tlsState.CipherSuite))\n\t\t\treturn\n\t\t}\n\t}\n\n\tif hook := testHookGetServerConn; hook != nil {\n\t\thook(sc)\n\t}\n\tsc.serve()\n}\n\nfunc (sc *serverConn) rejectConn(err ErrCode, debug string) {\n\tsc.vlogf(\"http2: server rejecting conn: %v, %s\", err, debug)\n\t// ignoring errors. hanging up anyway.\n\tsc.framer.WriteGoAway(0, err, []byte(debug))\n\tsc.bw.Flush()\n\tsc.conn.Close()\n}\n\ntype serverConn struct {\n\t// Immutable:\n\tsrv              *Server\n\ths               *http.Server\n\tconn             net.Conn\n\tbw               *bufferedWriter // writing to conn\n\thandler          http.Handler\n\tbaseCtx          contextContext\n\tframer           *Framer\n\tdoneServing      chan struct{}          // closed when serverConn.serve ends\n\treadFrameCh      chan readFrameResult   // written by serverConn.readFrames\n\twantWriteFrameCh chan FrameWriteRequest // from handlers -> serve\n\twroteFrameCh     chan frameWriteResult  // from writeFrameAsync -> serve, tickles more frame writes\n\tbodyReadCh       chan bodyReadMsg       // from handlers -> serve\n\tserveMsgCh       chan interface{}       // misc messages & code to send to / run on the serve loop\n\tflow             flow                   // conn-wide (not stream-specific) outbound flow control\n\tinflow           flow                   // conn-wide inbound flow control\n\ttlsState         *tls.ConnectionState   // shared by all handlers, like net/http\n\tremoteAddrStr    string\n\twriteSched       WriteScheduler\n\n\t// Everything following is owned by the serve loop; use serveG.check():\n\tserveG                      goroutineLock // used to verify funcs are on serve()\n\tpushEnabled                 bool\n\tsawFirstSettings            bool // got the initial SETTINGS frame after the preface\n\tneedToSendSettingsAck       bool\n\tunackedSettings             int    // how many SETTINGS have we sent without ACKs?\n\tclientMaxStreams            uint32 // SETTINGS_MAX_CONCURRENT_STREAMS from client (our PUSH_PROMISE limit)\n\tadvMaxStreams               uint32 // our SETTINGS_MAX_CONCURRENT_STREAMS advertised the client\n\tcurClientStreams            uint32 // number of open streams initiated by the client\n\tcurPushedStreams            uint32 // number of open streams initiated by server push\n\tmaxClientStreamID           uint32 // max ever seen from client (odd), or 0 if there have been no client requests\n\tmaxPushPromiseID            uint32 // ID of the last push promise (even), or 0 if there have been no pushes\n\tstreams                     map[uint32]*stream\n\tinitialStreamSendWindowSize int32\n\tmaxFrameSize                int32\n\theaderTableSize             uint32\n\tpeerMaxHeaderListSize       uint32            // zero means unknown (default)\n\tcanonHeader                 map[string]string // http2-lower-case -> Go-Canonical-Case\n\twritingFrame                bool              // started writing a frame (on serve goroutine or separate)\n\twritingFrameAsync           bool              // started a frame on its own goroutine but haven't heard back on wroteFrameCh\n\tneedsFrameFlush             bool              // last frame write wasn't a flush\n\tinGoAway                    bool              // we've started to or sent GOAWAY\n\tinFrameScheduleLoop         bool              // whether we're in the scheduleFrameWrite loop\n\tneedToSendGoAway            bool              // we need to schedule a GOAWAY frame write\n\tgoAwayCode                  ErrCode\n\tshutdownTimer               *time.Timer // nil until used\n\tidleTimer                   *time.Timer // nil if unused\n\n\t// Owned by the writeFrameAsync goroutine:\n\theaderWriteBuf bytes.Buffer\n\thpackEncoder   *hpack.Encoder\n\n\t// Used by startGracefulShutdown.\n\tshutdownOnce sync.Once\n}\n\nfunc (sc *serverConn) maxHeaderListSize() uint32 {\n\tn := sc.hs.MaxHeaderBytes\n\tif n <= 0 {\n\t\tn = http.DefaultMaxHeaderBytes\n\t}\n\t// http2's count is in a slightly different unit and includes 32 bytes per pair.\n\t// So, take the net/http.Server value and pad it up a bit, assuming 10 headers.\n\tconst perFieldOverhead = 32 // per http2 spec\n\tconst typicalHeaders = 10   // conservative\n\treturn uint32(n + typicalHeaders*perFieldOverhead)\n}\n\nfunc (sc *serverConn) curOpenStreams() uint32 {\n\tsc.serveG.check()\n\treturn sc.curClientStreams + sc.curPushedStreams\n}\n\n// stream represents a stream. This is the minimal metadata needed by\n// the serve goroutine. Most of the actual stream state is owned by\n// the http.Handler's goroutine in the responseWriter. Because the\n// responseWriter's responseWriterState is recycled at the end of a\n// handler, this struct intentionally has no pointer to the\n// *responseWriter{,State} itself, as the Handler ending nils out the\n// responseWriter's state field.\ntype stream struct {\n\t// immutable:\n\tsc        *serverConn\n\tid        uint32\n\tbody      *pipe       // non-nil if expecting DATA frames\n\tcw        closeWaiter // closed wait stream transitions to closed state\n\tctx       contextContext\n\tcancelCtx func()\n\n\t// owned by serverConn's serve loop:\n\tbodyBytes        int64   // body bytes seen so far\n\tdeclBodyBytes    int64   // or -1 if undeclared\n\tflow             flow    // limits writing from Handler to client\n\tinflow           flow    // what the client is allowed to POST/etc to us\n\tparent           *stream // or nil\n\tnumTrailerValues int64\n\tweight           uint8\n\tstate            streamState\n\tresetQueued      bool        // RST_STREAM queued for write; set by sc.resetStream\n\tgotTrailerHeader bool        // HEADER frame for trailers was seen\n\twroteHeaders     bool        // whether we wrote headers (not status 100)\n\twriteDeadline    *time.Timer // nil if unused\n\n\ttrailer    http.Header // accumulated trailers\n\treqTrailer http.Header // handler's Request.Trailer\n}\n\nfunc (sc *serverConn) Framer() *Framer  { return sc.framer }\nfunc (sc *serverConn) CloseConn() error { return sc.conn.Close() }\nfunc (sc *serverConn) Flush() error     { return sc.bw.Flush() }\nfunc (sc *serverConn) HeaderEncoder() (*hpack.Encoder, *bytes.Buffer) {\n\treturn sc.hpackEncoder, &sc.headerWriteBuf\n}\n\nfunc (sc *serverConn) state(streamID uint32) (streamState, *stream) {\n\tsc.serveG.check()\n\t// http://tools.ietf.org/html/rfc7540#section-5.1\n\tif st, ok := sc.streams[streamID]; ok {\n\t\treturn st.state, st\n\t}\n\t// \"The first use of a new stream identifier implicitly closes all\n\t// streams in the \"idle\" state that might have been initiated by\n\t// that peer with a lower-valued stream identifier. For example, if\n\t// a client sends a HEADERS frame on stream 7 without ever sending a\n\t// frame on stream 5, then stream 5 transitions to the \"closed\"\n\t// state when the first frame for stream 7 is sent or received.\"\n\tif streamID%2 == 1 {\n\t\tif streamID <= sc.maxClientStreamID {\n\t\t\treturn stateClosed, nil\n\t\t}\n\t} else {\n\t\tif streamID <= sc.maxPushPromiseID {\n\t\t\treturn stateClosed, nil\n\t\t}\n\t}\n\treturn stateIdle, nil\n}\n\n// setConnState calls the net/http ConnState hook for this connection, if configured.\n// Note that the net/http package does StateNew and StateClosed for us.\n// There is currently no plan for StateHijacked or hijacking HTTP/2 connections.\nfunc (sc *serverConn) setConnState(state http.ConnState) {\n\tif sc.hs.ConnState != nil {\n\t\tsc.hs.ConnState(sc.conn, state)\n\t}\n}\n\nfunc (sc *serverConn) vlogf(format string, args ...interface{}) {\n\tif VerboseLogs {\n\t\tsc.logf(format, args...)\n\t}\n}\n\nfunc (sc *serverConn) logf(format string, args ...interface{}) {\n\tif lg := sc.hs.ErrorLog; lg != nil {\n\t\tlg.Printf(format, args...)\n\t} else {\n\t\tlog.Printf(format, args...)\n\t}\n}\n\n// errno returns v's underlying uintptr, else 0.\n//\n// TODO: remove this helper function once http2 can use build\n// tags. See comment in isClosedConnError.\nfunc errno(v error) uintptr {\n\tif rv := reflect.ValueOf(v); rv.Kind() == reflect.Uintptr {\n\t\treturn uintptr(rv.Uint())\n\t}\n\treturn 0\n}\n\n// isClosedConnError reports whether err is an error from use of a closed\n// network connection.\nfunc isClosedConnError(err error) bool {\n\tif err == nil {\n\t\treturn false\n\t}\n\n\t// TODO: remove this string search and be more like the Windows\n\t// case below. That might involve modifying the standard library\n\t// to return better error types.\n\tstr := err.Error()\n\tif strings.Contains(str, \"use of closed network connection\") {\n\t\treturn true\n\t}\n\n\t// TODO(bradfitz): x/tools/cmd/bundle doesn't really support\n\t// build tags, so I can't make an http2_windows.go file with\n\t// Windows-specific stuff. Fix that and move this, once we\n\t// have a way to bundle this into std's net/http somehow.\n\tif runtime.GOOS == \"windows\" {\n\t\tif oe, ok := err.(*net.OpError); ok && oe.Op == \"read\" {\n\t\t\tif se, ok := oe.Err.(*os.SyscallError); ok && se.Syscall == \"wsarecv\" {\n\t\t\t\tconst WSAECONNABORTED = 10053\n\t\t\t\tconst WSAECONNRESET = 10054\n\t\t\t\tif n := errno(se.Err); n == WSAECONNRESET || n == WSAECONNABORTED {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn false\n}\n\nfunc (sc *serverConn) condlogf(err error, format string, args ...interface{}) {\n\tif err == nil {\n\t\treturn\n\t}\n\tif err == io.EOF || err == io.ErrUnexpectedEOF || isClosedConnError(err) || err == errPrefaceTimeout {\n\t\t// Boring, expected errors.\n\t\tsc.vlogf(format, args...)\n\t} else {\n\t\tsc.logf(format, args...)\n\t}\n}\n\nfunc (sc *serverConn) canonicalHeader(v string) string {\n\tsc.serveG.check()\n\tcv, ok := commonCanonHeader[v]\n\tif ok {\n\t\treturn cv\n\t}\n\tcv, ok = sc.canonHeader[v]\n\tif ok {\n\t\treturn cv\n\t}\n\tif sc.canonHeader == nil {\n\t\tsc.canonHeader = make(map[string]string)\n\t}\n\tcv = http.CanonicalHeaderKey(v)\n\tsc.canonHeader[v] = cv\n\treturn cv\n}\n\ntype readFrameResult struct {\n\tf   Frame // valid until readMore is called\n\terr error\n\n\t// readMore should be called once the consumer no longer needs or\n\t// retains f. After readMore, f is invalid and more frames can be\n\t// read.\n\treadMore func()\n}\n\n// readFrames is the loop that reads incoming frames.\n// It takes care to only read one frame at a time, blocking until the\n// consumer is done with the frame.\n// It's run on its own goroutine.\nfunc (sc *serverConn) readFrames() {\n\tgate := make(gate)\n\tgateDone := gate.Done\n\tfor {\n\t\tf, err := sc.framer.ReadFrame()\n\t\tselect {\n\t\tcase sc.readFrameCh <- readFrameResult{f, err, gateDone}:\n\t\tcase <-sc.doneServing:\n\t\t\treturn\n\t\t}\n\t\tselect {\n\t\tcase <-gate:\n\t\tcase <-sc.doneServing:\n\t\t\treturn\n\t\t}\n\t\tif terminalReadFrameError(err) {\n\t\t\treturn\n\t\t}\n\t}\n}\n\n// frameWriteResult is the message passed from writeFrameAsync to the serve goroutine.\ntype frameWriteResult struct {\n\twr  FrameWriteRequest // what was written (or attempted)\n\terr error             // result of the writeFrame call\n}\n\n// writeFrameAsync runs in its own goroutine and writes a single frame\n// and then reports when it's done.\n// At most one goroutine can be running writeFrameAsync at a time per\n// serverConn.\nfunc (sc *serverConn) writeFrameAsync(wr FrameWriteRequest) {\n\terr := wr.write.writeFrame(sc)\n\tsc.wroteFrameCh <- frameWriteResult{wr, err}\n}\n\nfunc (sc *serverConn) closeAllStreamsOnConnClose() {\n\tsc.serveG.check()\n\tfor _, st := range sc.streams {\n\t\tsc.closeStream(st, errClientDisconnected)\n\t}\n}\n\nfunc (sc *serverConn) stopShutdownTimer() {\n\tsc.serveG.check()\n\tif t := sc.shutdownTimer; t != nil {\n\t\tt.Stop()\n\t}\n}\n\nfunc (sc *serverConn) notePanic() {\n\t// Note: this is for serverConn.serve panicking, not http.Handler code.\n\tif testHookOnPanicMu != nil {\n\t\ttestHookOnPanicMu.Lock()\n\t\tdefer testHookOnPanicMu.Unlock()\n\t}\n\tif testHookOnPanic != nil {\n\t\tif e := recover(); e != nil {\n\t\t\tif testHookOnPanic(sc, e) {\n\t\t\t\tpanic(e)\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (sc *serverConn) serve() {\n\tsc.serveG.check()\n\tdefer sc.notePanic()\n\tdefer sc.conn.Close()\n\tdefer sc.closeAllStreamsOnConnClose()\n\tdefer sc.stopShutdownTimer()\n\tdefer close(sc.doneServing) // unblocks handlers trying to send\n\n\tif VerboseLogs {\n\t\tsc.vlogf(\"http2: server connection from %v on %p\", sc.conn.RemoteAddr(), sc.hs)\n\t}\n\n\tsc.writeFrame(FrameWriteRequest{\n\t\twrite: writeSettings{\n\t\t\t{SettingMaxFrameSize, sc.srv.maxReadFrameSize()},\n\t\t\t{SettingMaxConcurrentStreams, sc.advMaxStreams},\n\t\t\t{SettingMaxHeaderListSize, sc.maxHeaderListSize()},\n\t\t\t{SettingInitialWindowSize, uint32(sc.srv.initialStreamRecvWindowSize())},\n\t\t},\n\t})\n\tsc.unackedSettings++\n\n\t// Each connection starts with intialWindowSize inflow tokens.\n\t// If a higher value is configured, we add more tokens.\n\tif diff := sc.srv.initialConnRecvWindowSize() - initialWindowSize; diff > 0 {\n\t\tsc.sendWindowUpdate(nil, int(diff))\n\t}\n\n\tif err := sc.readPreface(); err != nil {\n\t\tsc.condlogf(err, \"http2: server: error reading preface from client %v: %v\", sc.conn.RemoteAddr(), err)\n\t\treturn\n\t}\n\t// Now that we've got the preface, get us out of the\n\t// \"StateNew\" state. We can't go directly to idle, though.\n\t// Active means we read some data and anticipate a request. We'll\n\t// do another Active when we get a HEADERS frame.\n\tsc.setConnState(http.StateActive)\n\tsc.setConnState(http.StateIdle)\n\n\tif sc.srv.IdleTimeout != 0 {\n\t\tsc.idleTimer = time.AfterFunc(sc.srv.IdleTimeout, sc.onIdleTimer)\n\t\tdefer sc.idleTimer.Stop()\n\t}\n\n\tgo sc.readFrames() // closed by defer sc.conn.Close above\n\n\tsettingsTimer := time.AfterFunc(firstSettingsTimeout, sc.onSettingsTimer)\n\tdefer settingsTimer.Stop()\n\n\tloopNum := 0\n\tfor {\n\t\tloopNum++\n\t\tselect {\n\t\tcase wr := <-sc.wantWriteFrameCh:\n\t\t\tif se, ok := wr.write.(StreamError); ok {\n\t\t\t\tsc.resetStream(se)\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tsc.writeFrame(wr)\n\t\tcase res := <-sc.wroteFrameCh:\n\t\t\tsc.wroteFrame(res)\n\t\tcase res := <-sc.readFrameCh:\n\t\t\tif !sc.processFrameFromReader(res) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tres.readMore()\n\t\t\tif settingsTimer != nil {\n\t\t\t\tsettingsTimer.Stop()\n\t\t\t\tsettingsTimer = nil\n\t\t\t}\n\t\tcase m := <-sc.bodyReadCh:\n\t\t\tsc.noteBodyRead(m.st, m.n)\n\t\tcase msg := <-sc.serveMsgCh:\n\t\t\tswitch v := msg.(type) {\n\t\t\tcase func(int):\n\t\t\t\tv(loopNum) // for testing\n\t\t\tcase *serverMessage:\n\t\t\t\tswitch v {\n\t\t\t\tcase settingsTimerMsg:\n\t\t\t\t\tsc.logf(\"timeout waiting for SETTINGS frames from %v\", sc.conn.RemoteAddr())\n\t\t\t\t\treturn\n\t\t\t\tcase idleTimerMsg:\n\t\t\t\t\tsc.vlogf(\"connection is idle\")\n\t\t\t\t\tsc.goAway(ErrCodeNo)\n\t\t\t\tcase shutdownTimerMsg:\n\t\t\t\t\tsc.vlogf(\"GOAWAY close timer fired; closing conn from %v\", sc.conn.RemoteAddr())\n\t\t\t\t\treturn\n\t\t\t\tcase gracefulShutdownMsg:\n\t\t\t\t\tsc.startGracefulShutdownInternal()\n\t\t\t\tdefault:\n\t\t\t\t\tpanic(\"unknown timer\")\n\t\t\t\t}\n\t\t\tcase *startPushRequest:\n\t\t\t\tsc.startPush(v)\n\t\t\tdefault:\n\t\t\t\tpanic(fmt.Sprintf(\"unexpected type %T\", v))\n\t\t\t}\n\t\t}\n\n\t\t// Start the shutdown timer after sending a GOAWAY. When sending GOAWAY\n\t\t// with no error code (graceful shutdown), don't start the timer until\n\t\t// all open streams have been completed.\n\t\tsentGoAway := sc.inGoAway && !sc.needToSendGoAway && !sc.writingFrame\n\t\tgracefulShutdownComplete := sc.goAwayCode == ErrCodeNo && sc.curOpenStreams() == 0\n\t\tif sentGoAway && sc.shutdownTimer == nil && (sc.goAwayCode != ErrCodeNo || gracefulShutdownComplete) {\n\t\t\tsc.shutDownIn(goAwayTimeout)\n\t\t}\n\t}\n}\n\nfunc (sc *serverConn) awaitGracefulShutdown(sharedCh <-chan struct{}, privateCh chan struct{}) {\n\tselect {\n\tcase <-sc.doneServing:\n\tcase <-sharedCh:\n\t\tclose(privateCh)\n\t}\n}\n\ntype serverMessage int\n\n// Message values sent to serveMsgCh.\nvar (\n\tsettingsTimerMsg    = new(serverMessage)\n\tidleTimerMsg        = new(serverMessage)\n\tshutdownTimerMsg    = new(serverMessage)\n\tgracefulShutdownMsg = new(serverMessage)\n)\n\nfunc (sc *serverConn) onSettingsTimer() { sc.sendServeMsg(settingsTimerMsg) }\nfunc (sc *serverConn) onIdleTimer()     { sc.sendServeMsg(idleTimerMsg) }\nfunc (sc *serverConn) onShutdownTimer() { sc.sendServeMsg(shutdownTimerMsg) }\n\nfunc (sc *serverConn) sendServeMsg(msg interface{}) {\n\tsc.serveG.checkNotOn() // NOT\n\tselect {\n\tcase sc.serveMsgCh <- msg:\n\tcase <-sc.doneServing:\n\t}\n}\n\nvar errPrefaceTimeout = errors.New(\"timeout waiting for client preface\")\n\n// readPreface reads the ClientPreface greeting from the peer or\n// returns errPrefaceTimeout on timeout, or an error if the greeting\n// is invalid.\nfunc (sc *serverConn) readPreface() error {\n\terrc := make(chan error, 1)\n\tgo func() {\n\t\t// Read the client preface\n\t\tbuf := make([]byte, len(ClientPreface))\n\t\tif _, err := io.ReadFull(sc.conn, buf); err != nil {\n\t\t\terrc <- err\n\t\t} else if !bytes.Equal(buf, clientPreface) {\n\t\t\terrc <- fmt.Errorf(\"bogus greeting %q\", buf)\n\t\t} else {\n\t\t\terrc <- nil\n\t\t}\n\t}()\n\ttimer := time.NewTimer(prefaceTimeout) // TODO: configurable on *Server?\n\tdefer timer.Stop()\n\tselect {\n\tcase <-timer.C:\n\t\treturn errPrefaceTimeout\n\tcase err := <-errc:\n\t\tif err == nil {\n\t\t\tif VerboseLogs {\n\t\t\t\tsc.vlogf(\"http2: server: client %v said hello\", sc.conn.RemoteAddr())\n\t\t\t}\n\t\t}\n\t\treturn err\n\t}\n}\n\nvar errChanPool = sync.Pool{\n\tNew: func() interface{} { return make(chan error, 1) },\n}\n\nvar writeDataPool = sync.Pool{\n\tNew: func() interface{} { return new(writeData) },\n}\n\n// writeDataFromHandler writes DATA response frames from a handler on\n// the given stream.\nfunc (sc *serverConn) writeDataFromHandler(stream *stream, data []byte, endStream bool) error {\n\tch := errChanPool.Get().(chan error)\n\twriteArg := writeDataPool.Get().(*writeData)\n\t*writeArg = writeData{stream.id, data, endStream}\n\terr := sc.writeFrameFromHandler(FrameWriteRequest{\n\t\twrite:  writeArg,\n\t\tstream: stream,\n\t\tdone:   ch,\n\t})\n\tif err != nil {\n\t\treturn err\n\t}\n\tvar frameWriteDone bool // the frame write is done (successfully or not)\n\tselect {\n\tcase err = <-ch:\n\t\tframeWriteDone = true\n\tcase <-sc.doneServing:\n\t\treturn errClientDisconnected\n\tcase <-stream.cw:\n\t\t// If both ch and stream.cw were ready (as might\n\t\t// happen on the final Write after an http.Handler\n\t\t// ends), prefer the write result. Otherwise this\n\t\t// might just be us successfully closing the stream.\n\t\t// The writeFrameAsync and serve goroutines guarantee\n\t\t// that the ch send will happen before the stream.cw\n\t\t// close.\n\t\tselect {\n\t\tcase err = <-ch:\n\t\t\tframeWriteDone = true\n\t\tdefault:\n\t\t\treturn errStreamClosed\n\t\t}\n\t}\n\terrChanPool.Put(ch)\n\tif frameWriteDone {\n\t\twriteDataPool.Put(writeArg)\n\t}\n\treturn err\n}\n\n// writeFrameFromHandler sends wr to sc.wantWriteFrameCh, but aborts\n// if the connection has gone away.\n//\n// This must not be run from the serve goroutine itself, else it might\n// deadlock writing to sc.wantWriteFrameCh (which is only mildly\n// buffered and is read by serve itself). If you're on the serve\n// goroutine, call writeFrame instead.\nfunc (sc *serverConn) writeFrameFromHandler(wr FrameWriteRequest) error {\n\tsc.serveG.checkNotOn() // NOT\n\tselect {\n\tcase sc.wantWriteFrameCh <- wr:\n\t\treturn nil\n\tcase <-sc.doneServing:\n\t\t// Serve loop is gone.\n\t\t// Client has closed their connection to the server.\n\t\treturn errClientDisconnected\n\t}\n}\n\n// writeFrame schedules a frame to write and sends it if there's nothing\n// already being written.\n//\n// There is no pushback here (the serve goroutine never blocks). It's\n// the http.Handlers that block, waiting for their previous frames to\n// make it onto the wire\n//\n// If you're not on the serve goroutine, use writeFrameFromHandler instead.\nfunc (sc *serverConn) writeFrame(wr FrameWriteRequest) {\n\tsc.serveG.check()\n\n\t// If true, wr will not be written and wr.done will not be signaled.\n\tvar ignoreWrite bool\n\n\t// We are not allowed to write frames on closed streams. RFC 7540 Section\n\t// 5.1.1 says: \"An endpoint MUST NOT send frames other than PRIORITY on\n\t// a closed stream.\" Our server never sends PRIORITY, so that exception\n\t// does not apply.\n\t//\n\t// The serverConn might close an open stream while the stream's handler\n\t// is still running. For example, the server might close a stream when it\n\t// receives bad data from the client. If this happens, the handler might\n\t// attempt to write a frame after the stream has been closed (since the\n\t// handler hasn't yet been notified of the close). In this case, we simply\n\t// ignore the frame. The handler will notice that the stream is closed when\n\t// it waits for the frame to be written.\n\t//\n\t// As an exception to this rule, we allow sending RST_STREAM after close.\n\t// This allows us to immediately reject new streams without tracking any\n\t// state for those streams (except for the queued RST_STREAM frame). This\n\t// may result in duplicate RST_STREAMs in some cases, but the client should\n\t// ignore those.\n\tif wr.StreamID() != 0 {\n\t\t_, isReset := wr.write.(StreamError)\n\t\tif state, _ := sc.state(wr.StreamID()); state == stateClosed && !isReset {\n\t\t\tignoreWrite = true\n\t\t}\n\t}\n\n\t// Don't send a 100-continue response if we've already sent headers.\n\t// See golang.org/issue/14030.\n\tswitch wr.write.(type) {\n\tcase *writeResHeaders:\n\t\twr.stream.wroteHeaders = true\n\tcase write100ContinueHeadersFrame:\n\t\tif wr.stream.wroteHeaders {\n\t\t\t// We do not need to notify wr.done because this frame is\n\t\t\t// never written with wr.done != nil.\n\t\t\tif wr.done != nil {\n\t\t\t\tpanic(\"wr.done != nil for write100ContinueHeadersFrame\")\n\t\t\t}\n\t\t\tignoreWrite = true\n\t\t}\n\t}\n\n\tif !ignoreWrite {\n\t\tsc.writeSched.Push(wr)\n\t}\n\tsc.scheduleFrameWrite()\n}\n\n// startFrameWrite starts a goroutine to write wr (in a separate\n// goroutine since that might block on the network), and updates the\n// serve goroutine's state about the world, updated from info in wr.\nfunc (sc *serverConn) startFrameWrite(wr FrameWriteRequest) {\n\tsc.serveG.check()\n\tif sc.writingFrame {\n\t\tpanic(\"internal error: can only be writing one frame at a time\")\n\t}\n\n\tst := wr.stream\n\tif st != nil {\n\t\tswitch st.state {\n\t\tcase stateHalfClosedLocal:\n\t\t\tswitch wr.write.(type) {\n\t\t\tcase StreamError, handlerPanicRST, writeWindowUpdate:\n\t\t\t\t// RFC 7540 Section 5.1 allows sending RST_STREAM, PRIORITY, and WINDOW_UPDATE\n\t\t\t\t// in this state. (We never send PRIORITY from the server, so that is not checked.)\n\t\t\tdefault:\n\t\t\t\tpanic(fmt.Sprintf(\"internal error: attempt to send frame on a half-closed-local stream: %v\", wr))\n\t\t\t}\n\t\tcase stateClosed:\n\t\t\tpanic(fmt.Sprintf(\"internal error: attempt to send frame on a closed stream: %v\", wr))\n\t\t}\n\t}\n\tif wpp, ok := wr.write.(*writePushPromise); ok {\n\t\tvar err error\n\t\twpp.promisedID, err = wpp.allocatePromisedID()\n\t\tif err != nil {\n\t\t\tsc.writingFrameAsync = false\n\t\t\twr.replyToWriter(err)\n\t\t\treturn\n\t\t}\n\t}\n\n\tsc.writingFrame = true\n\tsc.needsFrameFlush = true\n\tif wr.write.staysWithinBuffer(sc.bw.Available()) {\n\t\tsc.writingFrameAsync = false\n\t\terr := wr.write.writeFrame(sc)\n\t\tsc.wroteFrame(frameWriteResult{wr, err})\n\t} else {\n\t\tsc.writingFrameAsync = true\n\t\tgo sc.writeFrameAsync(wr)\n\t}\n}\n\n// errHandlerPanicked is the error given to any callers blocked in a read from\n// Request.Body when the main goroutine panics. Since most handlers read in the\n// the main ServeHTTP goroutine, this will show up rarely.\nvar errHandlerPanicked = errors.New(\"http2: handler panicked\")\n\n// wroteFrame is called on the serve goroutine with the result of\n// whatever happened on writeFrameAsync.\nfunc (sc *serverConn) wroteFrame(res frameWriteResult) {\n\tsc.serveG.check()\n\tif !sc.writingFrame {\n\t\tpanic(\"internal error: expected to be already writing a frame\")\n\t}\n\tsc.writingFrame = false\n\tsc.writingFrameAsync = false\n\n\twr := res.wr\n\n\tif writeEndsStream(wr.write) {\n\t\tst := wr.stream\n\t\tif st == nil {\n\t\t\tpanic(\"internal error: expecting non-nil stream\")\n\t\t}\n\t\tswitch st.state {\n\t\tcase stateOpen:\n\t\t\t// Here we would go to stateHalfClosedLocal in\n\t\t\t// theory, but since our handler is done and\n\t\t\t// the net/http package provides no mechanism\n\t\t\t// for closing a ResponseWriter while still\n\t\t\t// reading data (see possible TODO at top of\n\t\t\t// this file), we go into closed state here\n\t\t\t// anyway, after telling the peer we're\n\t\t\t// hanging up on them. We'll transition to\n\t\t\t// stateClosed after the RST_STREAM frame is\n\t\t\t// written.\n\t\t\tst.state = stateHalfClosedLocal\n\t\t\t// Section 8.1: a server MAY request that the client abort\n\t\t\t// transmission of a request without error by sending a\n\t\t\t// RST_STREAM with an error code of NO_ERROR after sending\n\t\t\t// a complete response.\n\t\t\tsc.resetStream(streamError(st.id, ErrCodeNo))\n\t\tcase stateHalfClosedRemote:\n\t\t\tsc.closeStream(st, errHandlerComplete)\n\t\t}\n\t} else {\n\t\tswitch v := wr.write.(type) {\n\t\tcase StreamError:\n\t\t\t// st may be unknown if the RST_STREAM was generated to reject bad input.\n\t\t\tif st, ok := sc.streams[v.StreamID]; ok {\n\t\t\t\tsc.closeStream(st, v)\n\t\t\t}\n\t\tcase handlerPanicRST:\n\t\t\tsc.closeStream(wr.stream, errHandlerPanicked)\n\t\t}\n\t}\n\n\t// Reply (if requested) to unblock the ServeHTTP goroutine.\n\twr.replyToWriter(res.err)\n\n\tsc.scheduleFrameWrite()\n}\n\n// scheduleFrameWrite tickles the frame writing scheduler.\n//\n// If a frame is already being written, nothing happens. This will be called again\n// when the frame is done being written.\n//\n// If a frame isn't being written we need to send one, the best frame\n// to send is selected, preferring first things that aren't\n// stream-specific (e.g. ACKing settings), and then finding the\n// highest priority stream.\n//\n// If a frame isn't being written and there's nothing else to send, we\n// flush the write buffer.\nfunc (sc *serverConn) scheduleFrameWrite() {\n\tsc.serveG.check()\n\tif sc.writingFrame || sc.inFrameScheduleLoop {\n\t\treturn\n\t}\n\tsc.inFrameScheduleLoop = true\n\tfor !sc.writingFrameAsync {\n\t\tif sc.needToSendGoAway {\n\t\t\tsc.needToSendGoAway = false\n\t\t\tsc.startFrameWrite(FrameWriteRequest{\n\t\t\t\twrite: &writeGoAway{\n\t\t\t\t\tmaxStreamID: sc.maxClientStreamID,\n\t\t\t\t\tcode:        sc.goAwayCode,\n\t\t\t\t},\n\t\t\t})\n\t\t\tcontinue\n\t\t}\n\t\tif sc.needToSendSettingsAck {\n\t\t\tsc.needToSendSettingsAck = false\n\t\t\tsc.startFrameWrite(FrameWriteRequest{write: writeSettingsAck{}})\n\t\t\tcontinue\n\t\t}\n\t\tif !sc.inGoAway || sc.goAwayCode == ErrCodeNo {\n\t\t\tif wr, ok := sc.writeSched.Pop(); ok {\n\t\t\t\tsc.startFrameWrite(wr)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t}\n\t\tif sc.needsFrameFlush {\n\t\t\tsc.startFrameWrite(FrameWriteRequest{write: flushFrameWriter{}})\n\t\t\tsc.needsFrameFlush = false // after startFrameWrite, since it sets this true\n\t\t\tcontinue\n\t\t}\n\t\tbreak\n\t}\n\tsc.inFrameScheduleLoop = false\n}\n\n// startGracefulShutdown gracefully shuts down a connection. This\n// sends GOAWAY with ErrCodeNo to tell the client we're gracefully\n// shutting down. The connection isn't closed until all current\n// streams are done.\n//\n// startGracefulShutdown returns immediately; it does not wait until\n// the connection has shut down.\nfunc (sc *serverConn) startGracefulShutdown() {\n\tsc.serveG.checkNotOn() // NOT\n\tsc.shutdownOnce.Do(func() { sc.sendServeMsg(gracefulShutdownMsg) })\n}\n\n// After sending GOAWAY, the connection will close after goAwayTimeout.\n// If we close the connection immediately after sending GOAWAY, there may\n// be unsent data in our kernel receive buffer, which will cause the kernel\n// to send a TCP RST on close() instead of a FIN. This RST will abort the\n// connection immediately, whether or not the client had received the GOAWAY.\n//\n// Ideally we should delay for at least 1 RTT + epsilon so the client has\n// a chance to read the GOAWAY and stop sending messages. Measuring RTT\n// is hard, so we approximate with 1 second. See golang.org/issue/18701.\n//\n// This is a var so it can be shorter in tests, where all requests uses the\n// loopback interface making the expected RTT very small.\n//\n// TODO: configurable?\nvar goAwayTimeout = 1 * time.Second\n\nfunc (sc *serverConn) startGracefulShutdownInternal() {\n\tsc.goAway(ErrCodeNo)\n}\n\nfunc (sc *serverConn) goAway(code ErrCode) {\n\tsc.serveG.check()\n\tif sc.inGoAway {\n\t\treturn\n\t}\n\tsc.inGoAway = true\n\tsc.needToSendGoAway = true\n\tsc.goAwayCode = code\n\tsc.scheduleFrameWrite()\n}\n\nfunc (sc *serverConn) shutDownIn(d time.Duration) {\n\tsc.serveG.check()\n\tsc.shutdownTimer = time.AfterFunc(d, sc.onShutdownTimer)\n}\n\nfunc (sc *serverConn) resetStream(se StreamError) {\n\tsc.serveG.check()\n\tsc.writeFrame(FrameWriteRequest{write: se})\n\tif st, ok := sc.streams[se.StreamID]; ok {\n\t\tst.resetQueued = true\n\t}\n}\n\n// processFrameFromReader processes the serve loop's read from readFrameCh from the\n// frame-reading goroutine.\n// processFrameFromReader returns whether the connection should be kept open.\nfunc (sc *serverConn) processFrameFromReader(res readFrameResult) bool {\n\tsc.serveG.check()\n\terr := res.err\n\tif err != nil {\n\t\tif err == ErrFrameTooLarge {\n\t\t\tsc.goAway(ErrCodeFrameSize)\n\t\t\treturn true // goAway will close the loop\n\t\t}\n\t\tclientGone := err == io.EOF || err == io.ErrUnexpectedEOF || isClosedConnError(err)\n\t\tif clientGone {\n\t\t\t// TODO: could we also get into this state if\n\t\t\t// the peer does a half close\n\t\t\t// (e.g. CloseWrite) because they're done\n\t\t\t// sending frames but they're still wanting\n\t\t\t// our open replies?  Investigate.\n\t\t\t// TODO: add CloseWrite to crypto/tls.Conn first\n\t\t\t// so we have a way to test this? I suppose\n\t\t\t// just for testing we could have a non-TLS mode.\n\t\t\treturn false\n\t\t}\n\t} else {\n\t\tf := res.f\n\t\tif VerboseLogs {\n\t\t\tsc.vlogf(\"http2: server read frame %v\", summarizeFrame(f))\n\t\t}\n\t\terr = sc.processFrame(f)\n\t\tif err == nil {\n\t\t\treturn true\n\t\t}\n\t}\n\n\tswitch ev := err.(type) {\n\tcase StreamError:\n\t\tsc.resetStream(ev)\n\t\treturn true\n\tcase goAwayFlowError:\n\t\tsc.goAway(ErrCodeFlowControl)\n\t\treturn true\n\tcase ConnectionError:\n\t\tsc.logf(\"http2: server connection error from %v: %v\", sc.conn.RemoteAddr(), ev)\n\t\tsc.goAway(ErrCode(ev))\n\t\treturn true // goAway will handle shutdown\n\tdefault:\n\t\tif res.err != nil {\n\t\t\tsc.vlogf(\"http2: server closing client connection; error reading frame from client %s: %v\", sc.conn.RemoteAddr(), err)\n\t\t} else {\n\t\t\tsc.logf(\"http2: server closing client connection: %v\", err)\n\t\t}\n\t\treturn false\n\t}\n}\n\nfunc (sc *serverConn) processFrame(f Frame) error {\n\tsc.serveG.check()\n\n\t// First frame received must be SETTINGS.\n\tif !sc.sawFirstSettings {\n\t\tif _, ok := f.(*SettingsFrame); !ok {\n\t\t\treturn ConnectionError(ErrCodeProtocol)\n\t\t}\n\t\tsc.sawFirstSettings = true\n\t}\n\n\tswitch f := f.(type) {\n\tcase *SettingsFrame:\n\t\treturn sc.processSettings(f)\n\tcase *MetaHeadersFrame:\n\t\treturn sc.processHeaders(f)\n\tcase *WindowUpdateFrame:\n\t\treturn sc.processWindowUpdate(f)\n\tcase *PingFrame:\n\t\treturn sc.processPing(f)\n\tcase *DataFrame:\n\t\treturn sc.processData(f)\n\tcase *RSTStreamFrame:\n\t\treturn sc.processResetStream(f)\n\tcase *PriorityFrame:\n\t\treturn sc.processPriority(f)\n\tcase *GoAwayFrame:\n\t\treturn sc.processGoAway(f)\n\tcase *PushPromiseFrame:\n\t\t// A client cannot push. Thus, servers MUST treat the receipt of a PUSH_PROMISE\n\t\t// frame as a connection error (Section 5.4.1) of type PROTOCOL_ERROR.\n\t\treturn ConnectionError(ErrCodeProtocol)\n\tdefault:\n\t\tsc.vlogf(\"http2: server ignoring frame: %v\", f.Header())\n\t\treturn nil\n\t}\n}\n\nfunc (sc *serverConn) processPing(f *PingFrame) error {\n\tsc.serveG.check()\n\tif f.IsAck() {\n\t\t// 6.7 PING: \" An endpoint MUST NOT respond to PING frames\n\t\t// containing this flag.\"\n\t\treturn nil\n\t}\n\tif f.StreamID != 0 {\n\t\t// \"PING frames are not associated with any individual\n\t\t// stream. If a PING frame is received with a stream\n\t\t// identifier field value other than 0x0, the recipient MUST\n\t\t// respond with a connection error (Section 5.4.1) of type\n\t\t// PROTOCOL_ERROR.\"\n\t\treturn ConnectionError(ErrCodeProtocol)\n\t}\n\tif sc.inGoAway && sc.goAwayCode != ErrCodeNo {\n\t\treturn nil\n\t}\n\tsc.writeFrame(FrameWriteRequest{write: writePingAck{f}})\n\treturn nil\n}\n\nfunc (sc *serverConn) processWindowUpdate(f *WindowUpdateFrame) error {\n\tsc.serveG.check()\n\tswitch {\n\tcase f.StreamID != 0: // stream-level flow control\n\t\tstate, st := sc.state(f.StreamID)\n\t\tif state == stateIdle {\n\t\t\t// Section 5.1: \"Receiving any frame other than HEADERS\n\t\t\t// or PRIORITY on a stream in this state MUST be\n\t\t\t// treated as a connection error (Section 5.4.1) of\n\t\t\t// type PROTOCOL_ERROR.\"\n\t\t\treturn ConnectionError(ErrCodeProtocol)\n\t\t}\n\t\tif st == nil {\n\t\t\t// \"WINDOW_UPDATE can be sent by a peer that has sent a\n\t\t\t// frame bearing the END_STREAM flag. This means that a\n\t\t\t// receiver could receive a WINDOW_UPDATE frame on a \"half\n\t\t\t// closed (remote)\" or \"closed\" stream. A receiver MUST\n\t\t\t// NOT treat this as an error, see Section 5.1.\"\n\t\t\treturn nil\n\t\t}\n\t\tif !st.flow.add(int32(f.Increment)) {\n\t\t\treturn streamError(f.StreamID, ErrCodeFlowControl)\n\t\t}\n\tdefault: // connection-level flow control\n\t\tif !sc.flow.add(int32(f.Increment)) {\n\t\t\treturn goAwayFlowError{}\n\t\t}\n\t}\n\tsc.scheduleFrameWrite()\n\treturn nil\n}\n\nfunc (sc *serverConn) processResetStream(f *RSTStreamFrame) error {\n\tsc.serveG.check()\n\n\tstate, st := sc.state(f.StreamID)\n\tif state == stateIdle {\n\t\t// 6.4 \"RST_STREAM frames MUST NOT be sent for a\n\t\t// stream in the \"idle\" state. If a RST_STREAM frame\n\t\t// identifying an idle stream is received, the\n\t\t// recipient MUST treat this as a connection error\n\t\t// (Section 5.4.1) of type PROTOCOL_ERROR.\n\t\treturn ConnectionError(ErrCodeProtocol)\n\t}\n\tif st != nil {\n\t\tst.cancelCtx()\n\t\tsc.closeStream(st, streamError(f.StreamID, f.ErrCode))\n\t}\n\treturn nil\n}\n\nfunc (sc *serverConn) closeStream(st *stream, err error) {\n\tsc.serveG.check()\n\tif st.state == stateIdle || st.state == stateClosed {\n\t\tpanic(fmt.Sprintf(\"invariant; can't close stream in state %v\", st.state))\n\t}\n\tst.state = stateClosed\n\tif st.writeDeadline != nil {\n\t\tst.writeDeadline.Stop()\n\t}\n\tif st.isPushed() {\n\t\tsc.curPushedStreams--\n\t} else {\n\t\tsc.curClientStreams--\n\t}\n\tdelete(sc.streams, st.id)\n\tif len(sc.streams) == 0 {\n\t\tsc.setConnState(http.StateIdle)\n\t\tif sc.srv.IdleTimeout != 0 {\n\t\t\tsc.idleTimer.Reset(sc.srv.IdleTimeout)\n\t\t}\n\t\tif h1ServerKeepAlivesDisabled(sc.hs) {\n\t\t\tsc.startGracefulShutdownInternal()\n\t\t}\n\t}\n\tif p := st.body; p != nil {\n\t\t// Return any buffered unread bytes worth of conn-level flow control.\n\t\t// See golang.org/issue/16481\n\t\tsc.sendWindowUpdate(nil, p.Len())\n\n\t\tp.CloseWithError(err)\n\t}\n\tst.cw.Close() // signals Handler's CloseNotifier, unblocks writes, etc\n\tsc.writeSched.CloseStream(st.id)\n}\n\nfunc (sc *serverConn) processSettings(f *SettingsFrame) error {\n\tsc.serveG.check()\n\tif f.IsAck() {\n\t\tsc.unackedSettings--\n\t\tif sc.unackedSettings < 0 {\n\t\t\t// Why is the peer ACKing settings we never sent?\n\t\t\t// The spec doesn't mention this case, but\n\t\t\t// hang up on them anyway.\n\t\t\treturn ConnectionError(ErrCodeProtocol)\n\t\t}\n\t\treturn nil\n\t}\n\tif f.NumSettings() > 100 || f.HasDuplicates() {\n\t\t// This isn't actually in the spec, but hang up on\n\t\t// suspiciously large settings frames or those with\n\t\t// duplicate entries.\n\t\treturn ConnectionError(ErrCodeProtocol)\n\t}\n\tif err := f.ForeachSetting(sc.processSetting); err != nil {\n\t\treturn err\n\t}\n\tsc.needToSendSettingsAck = true\n\tsc.scheduleFrameWrite()\n\treturn nil\n}\n\nfunc (sc *serverConn) processSetting(s Setting) error {\n\tsc.serveG.check()\n\tif err := s.Valid(); err != nil {\n\t\treturn err\n\t}\n\tif VerboseLogs {\n\t\tsc.vlogf(\"http2: server processing setting %v\", s)\n\t}\n\tswitch s.ID {\n\tcase SettingHeaderTableSize:\n\t\tsc.headerTableSize = s.Val\n\t\tsc.hpackEncoder.SetMaxDynamicTableSize(s.Val)\n\tcase SettingEnablePush:\n\t\tsc.pushEnabled = s.Val != 0\n\tcase SettingMaxConcurrentStreams:\n\t\tsc.clientMaxStreams = s.Val\n\tcase SettingInitialWindowSize:\n\t\treturn sc.processSettingInitialWindowSize(s.Val)\n\tcase SettingMaxFrameSize:\n\t\tsc.maxFrameSize = int32(s.Val) // the maximum valid s.Val is < 2^31\n\tcase SettingMaxHeaderListSize:\n\t\tsc.peerMaxHeaderListSize = s.Val\n\tdefault:\n\t\t// Unknown setting: \"An endpoint that receives a SETTINGS\n\t\t// frame with any unknown or unsupported identifier MUST\n\t\t// ignore that setting.\"\n\t\tif VerboseLogs {\n\t\t\tsc.vlogf(\"http2: server ignoring unknown setting %v\", s)\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (sc *serverConn) processSettingInitialWindowSize(val uint32) error {\n\tsc.serveG.check()\n\t// Note: val already validated to be within range by\n\t// processSetting's Valid call.\n\n\t// \"A SETTINGS frame can alter the initial flow control window\n\t// size for all current streams. When the value of\n\t// SETTINGS_INITIAL_WINDOW_SIZE changes, a receiver MUST\n\t// adjust the size of all stream flow control windows that it\n\t// maintains by the difference between the new value and the\n\t// old value.\"\n\told := sc.initialStreamSendWindowSize\n\tsc.initialStreamSendWindowSize = int32(val)\n\tgrowth := int32(val) - old // may be negative\n\tfor _, st := range sc.streams {\n\t\tif !st.flow.add(growth) {\n\t\t\t// 6.9.2 Initial Flow Control Window Size\n\t\t\t// \"An endpoint MUST treat a change to\n\t\t\t// SETTINGS_INITIAL_WINDOW_SIZE that causes any flow\n\t\t\t// control window to exceed the maximum size as a\n\t\t\t// connection error (Section 5.4.1) of type\n\t\t\t// FLOW_CONTROL_ERROR.\"\n\t\t\treturn ConnectionError(ErrCodeFlowControl)\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (sc *serverConn) processData(f *DataFrame) error {\n\tsc.serveG.check()\n\tif sc.inGoAway && sc.goAwayCode != ErrCodeNo {\n\t\treturn nil\n\t}\n\tdata := f.Data()\n\n\t// \"If a DATA frame is received whose stream is not in \"open\"\n\t// or \"half closed (local)\" state, the recipient MUST respond\n\t// with a stream error (Section 5.4.2) of type STREAM_CLOSED.\"\n\tid := f.Header().StreamID\n\tstate, st := sc.state(id)\n\tif id == 0 || state == stateIdle {\n\t\t// Section 5.1: \"Receiving any frame other than HEADERS\n\t\t// or PRIORITY on a stream in this state MUST be\n\t\t// treated as a connection error (Section 5.4.1) of\n\t\t// type PROTOCOL_ERROR.\"\n\t\treturn ConnectionError(ErrCodeProtocol)\n\t}\n\t// RFC 7540, sec 6.1: If a DATA frame is received whose stream is not in\n\t// \"open\" or \"half-closed (local)\" state, the recipient MUST respond with a\n\t// stream error (Section 5.4.2) of type STREAM_CLOSED.\n\tif state == stateClosed {\n\t\treturn streamError(id, ErrCodeStreamClosed)\n\t}\n\tif st == nil || state != stateOpen || st.gotTrailerHeader || st.resetQueued {\n\t\t// This includes sending a RST_STREAM if the stream is\n\t\t// in stateHalfClosedLocal (which currently means that\n\t\t// the http.Handler returned, so it's done reading &\n\t\t// done writing). Try to stop the client from sending\n\t\t// more DATA.\n\n\t\t// But still enforce their connection-level flow control,\n\t\t// and return any flow control bytes since we're not going\n\t\t// to consume them.\n\t\tif sc.inflow.available() < int32(f.Length) {\n\t\t\treturn streamError(id, ErrCodeFlowControl)\n\t\t}\n\t\t// Deduct the flow control from inflow, since we're\n\t\t// going to immediately add it back in\n\t\t// sendWindowUpdate, which also schedules sending the\n\t\t// frames.\n\t\tsc.inflow.take(int32(f.Length))\n\t\tsc.sendWindowUpdate(nil, int(f.Length)) // conn-level\n\n\t\tif st != nil && st.resetQueued {\n\t\t\t// Already have a stream error in flight. Don't send another.\n\t\t\treturn nil\n\t\t}\n\t\treturn streamError(id, ErrCodeStreamClosed)\n\t}\n\tif st.body == nil {\n\t\tpanic(\"internal error: should have a body in this state\")\n\t}\n\n\t// Sender sending more than they'd declared?\n\tif st.declBodyBytes != -1 && st.bodyBytes+int64(len(data)) > st.declBodyBytes {\n\t\tst.body.CloseWithError(fmt.Errorf(\"sender tried to send more than declared Content-Length of %d bytes\", st.declBodyBytes))\n\t\t// RFC 7540, sec 8.1.2.6: A request or response is also malformed if the\n\t\t// value of a content-length header field does not equal the sum of the\n\t\t// DATA frame payload lengths that form the body.\n\t\treturn streamError(id, ErrCodeProtocol)\n\t}\n\tif f.Length > 0 {\n\t\t// Check whether the client has flow control quota.\n\t\tif st.inflow.available() < int32(f.Length) {\n\t\t\treturn streamError(id, ErrCodeFlowControl)\n\t\t}\n\t\tst.inflow.take(int32(f.Length))\n\n\t\tif len(data) > 0 {\n\t\t\twrote, err := st.body.Write(data)\n\t\t\tif err != nil {\n\t\t\t\treturn streamError(id, ErrCodeStreamClosed)\n\t\t\t}\n\t\t\tif wrote != len(data) {\n\t\t\t\tpanic(\"internal error: bad Writer\")\n\t\t\t}\n\t\t\tst.bodyBytes += int64(len(data))\n\t\t}\n\n\t\t// Return any padded flow control now, since we won't\n\t\t// refund it later on body reads.\n\t\tif pad := int32(f.Length) - int32(len(data)); pad > 0 {\n\t\t\tsc.sendWindowUpdate32(nil, pad)\n\t\t\tsc.sendWindowUpdate32(st, pad)\n\t\t}\n\t}\n\tif f.StreamEnded() {\n\t\tst.endStream()\n\t}\n\treturn nil\n}\n\nfunc (sc *serverConn) processGoAway(f *GoAwayFrame) error {\n\tsc.serveG.check()\n\tif f.ErrCode != ErrCodeNo {\n\t\tsc.logf(\"http2: received GOAWAY %+v, starting graceful shutdown\", f)\n\t} else {\n\t\tsc.vlogf(\"http2: received GOAWAY %+v, starting graceful shutdown\", f)\n\t}\n\tsc.startGracefulShutdownInternal()\n\t// http://tools.ietf.org/html/rfc7540#section-6.8\n\t// We should not create any new streams, which means we should disable push.\n\tsc.pushEnabled = false\n\treturn nil\n}\n\n// isPushed reports whether the stream is server-initiated.\nfunc (st *stream) isPushed() bool {\n\treturn st.id%2 == 0\n}\n\n// endStream closes a Request.Body's pipe. It is called when a DATA\n// frame says a request body is over (or after trailers).\nfunc (st *stream) endStream() {\n\tsc := st.sc\n\tsc.serveG.check()\n\n\tif st.declBodyBytes != -1 && st.declBodyBytes != st.bodyBytes {\n\t\tst.body.CloseWithError(fmt.Errorf(\"request declared a Content-Length of %d but only wrote %d bytes\",\n\t\t\tst.declBodyBytes, st.bodyBytes))\n\t} else {\n\t\tst.body.closeWithErrorAndCode(io.EOF, st.copyTrailersToHandlerRequest)\n\t\tst.body.CloseWithError(io.EOF)\n\t}\n\tst.state = stateHalfClosedRemote\n}\n\n// copyTrailersToHandlerRequest is run in the Handler's goroutine in\n// its Request.Body.Read just before it gets io.EOF.\nfunc (st *stream) copyTrailersToHandlerRequest() {\n\tfor k, vv := range st.trailer {\n\t\tif _, ok := st.reqTrailer[k]; ok {\n\t\t\t// Only copy it over it was pre-declared.\n\t\t\tst.reqTrailer[k] = vv\n\t\t}\n\t}\n}\n\n// onWriteTimeout is run on its own goroutine (from time.AfterFunc)\n// when the stream's WriteTimeout has fired.\nfunc (st *stream) onWriteTimeout() {\n\tst.sc.writeFrameFromHandler(FrameWriteRequest{write: streamError(st.id, ErrCodeInternal)})\n}\n\nfunc (sc *serverConn) processHeaders(f *MetaHeadersFrame) error {\n\tsc.serveG.check()\n\tid := f.StreamID\n\tif sc.inGoAway {\n\t\t// Ignore.\n\t\treturn nil\n\t}\n\t// http://tools.ietf.org/html/rfc7540#section-5.1.1\n\t// Streams initiated by a client MUST use odd-numbered stream\n\t// identifiers. [...] An endpoint that receives an unexpected\n\t// stream identifier MUST respond with a connection error\n\t// (Section 5.4.1) of type PROTOCOL_ERROR.\n\tif id%2 != 1 {\n\t\treturn ConnectionError(ErrCodeProtocol)\n\t}\n\t// A HEADERS frame can be used to create a new stream or\n\t// send a trailer for an open one. If we already have a stream\n\t// open, let it process its own HEADERS frame (trailers at this\n\t// point, if it's valid).\n\tif st := sc.streams[f.StreamID]; st != nil {\n\t\tif st.resetQueued {\n\t\t\t// We're sending RST_STREAM to close the stream, so don't bother\n\t\t\t// processing this frame.\n\t\t\treturn nil\n\t\t}\n\t\t// RFC 7540, sec 5.1: If an endpoint receives additional frames, other than\n\t\t// WINDOW_UPDATE, PRIORITY, or RST_STREAM, for a stream that is in\n\t\t// this state, it MUST respond with a stream error (Section 5.4.2) of\n\t\t// type STREAM_CLOSED.\n\t\tif st.state == stateHalfClosedRemote {\n\t\t\treturn streamError(id, ErrCodeStreamClosed)\n\t\t}\n\t\treturn st.processTrailerHeaders(f)\n\t}\n\n\t// [...] The identifier of a newly established stream MUST be\n\t// numerically greater than all streams that the initiating\n\t// endpoint has opened or reserved. [...]  An endpoint that\n\t// receives an unexpected stream identifier MUST respond with\n\t// a connection error (Section 5.4.1) of type PROTOCOL_ERROR.\n\tif id <= sc.maxClientStreamID {\n\t\treturn ConnectionError(ErrCodeProtocol)\n\t}\n\tsc.maxClientStreamID = id\n\n\tif sc.idleTimer != nil {\n\t\tsc.idleTimer.Stop()\n\t}\n\n\t// http://tools.ietf.org/html/rfc7540#section-5.1.2\n\t// [...] Endpoints MUST NOT exceed the limit set by their peer. An\n\t// endpoint that receives a HEADERS frame that causes their\n\t// advertised concurrent stream limit to be exceeded MUST treat\n\t// this as a stream error (Section 5.4.2) of type PROTOCOL_ERROR\n\t// or REFUSED_STREAM.\n\tif sc.curClientStreams+1 > sc.advMaxStreams {\n\t\tif sc.unackedSettings == 0 {\n\t\t\t// They should know better.\n\t\t\treturn streamError(id, ErrCodeProtocol)\n\t\t}\n\t\t// Assume it's a network race, where they just haven't\n\t\t// received our last SETTINGS update. But actually\n\t\t// this can't happen yet, because we don't yet provide\n\t\t// a way for users to adjust server parameters at\n\t\t// runtime.\n\t\treturn streamError(id, ErrCodeRefusedStream)\n\t}\n\n\tinitialState := stateOpen\n\tif f.StreamEnded() {\n\t\tinitialState = stateHalfClosedRemote\n\t}\n\tst := sc.newStream(id, 0, initialState)\n\n\tif f.HasPriority() {\n\t\tif err := checkPriority(f.StreamID, f.Priority); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsc.writeSched.AdjustStream(st.id, f.Priority)\n\t}\n\n\trw, req, err := sc.newWriterAndRequest(st, f)\n\tif err != nil {\n\t\treturn err\n\t}\n\tst.reqTrailer = req.Trailer\n\tif st.reqTrailer != nil {\n\t\tst.trailer = make(http.Header)\n\t}\n\tst.body = req.Body.(*requestBody).pipe // may be nil\n\tst.declBodyBytes = req.ContentLength\n\n\thandler := sc.handler.ServeHTTP\n\tif f.Truncated {\n\t\t// Their header list was too long. Send a 431 error.\n\t\thandler = handleHeaderListTooLong\n\t} else if err := checkValidHTTP2RequestHeaders(req.Header); err != nil {\n\t\thandler = new400Handler(err)\n\t}\n\n\t// The net/http package sets the read deadline from the\n\t// http.Server.ReadTimeout during the TLS handshake, but then\n\t// passes the connection off to us with the deadline already\n\t// set. Disarm it here after the request headers are read,\n\t// similar to how the http1 server works. Here it's\n\t// technically more like the http1 Server's ReadHeaderTimeout\n\t// (in Go 1.8), though. That's a more sane option anyway.\n\tif sc.hs.ReadTimeout != 0 {\n\t\tsc.conn.SetReadDeadline(time.Time{})\n\t}\n\n\tgo sc.runHandler(rw, req, handler)\n\treturn nil\n}\n\nfunc (st *stream) processTrailerHeaders(f *MetaHeadersFrame) error {\n\tsc := st.sc\n\tsc.serveG.check()\n\tif st.gotTrailerHeader {\n\t\treturn ConnectionError(ErrCodeProtocol)\n\t}\n\tst.gotTrailerHeader = true\n\tif !f.StreamEnded() {\n\t\treturn streamError(st.id, ErrCodeProtocol)\n\t}\n\n\tif len(f.PseudoFields()) > 0 {\n\t\treturn streamError(st.id, ErrCodeProtocol)\n\t}\n\tif st.trailer != nil {\n\t\tfor _, hf := range f.RegularFields() {\n\t\t\tkey := sc.canonicalHeader(hf.Name)\n\t\t\tif !httpguts.ValidTrailerHeader(key) {\n\t\t\t\t// TODO: send more details to the peer somehow. But http2 has\n\t\t\t\t// no way to send debug data at a stream level. Discuss with\n\t\t\t\t// HTTP folk.\n\t\t\t\treturn streamError(st.id, ErrCodeProtocol)\n\t\t\t}\n\t\t\tst.trailer[key] = append(st.trailer[key], hf.Value)\n\t\t}\n\t}\n\tst.endStream()\n\treturn nil\n}\n\nfunc checkPriority(streamID uint32, p PriorityParam) error {\n\tif streamID == p.StreamDep {\n\t\t// Section 5.3.1: \"A stream cannot depend on itself. An endpoint MUST treat\n\t\t// this as a stream error (Section 5.4.2) of type PROTOCOL_ERROR.\"\n\t\t// Section 5.3.3 says that a stream can depend on one of its dependencies,\n\t\t// so it's only self-dependencies that are forbidden.\n\t\treturn streamError(streamID, ErrCodeProtocol)\n\t}\n\treturn nil\n}\n\nfunc (sc *serverConn) processPriority(f *PriorityFrame) error {\n\tif sc.inGoAway {\n\t\treturn nil\n\t}\n\tif err := checkPriority(f.StreamID, f.PriorityParam); err != nil {\n\t\treturn err\n\t}\n\tsc.writeSched.AdjustStream(f.StreamID, f.PriorityParam)\n\treturn nil\n}\n\nfunc (sc *serverConn) newStream(id, pusherID uint32, state streamState) *stream {\n\tsc.serveG.check()\n\tif id == 0 {\n\t\tpanic(\"internal error: cannot create stream with id 0\")\n\t}\n\n\tctx, cancelCtx := contextWithCancel(sc.baseCtx)\n\tst := &stream{\n\t\tsc:        sc,\n\t\tid:        id,\n\t\tstate:     state,\n\t\tctx:       ctx,\n\t\tcancelCtx: cancelCtx,\n\t}\n\tst.cw.Init()\n\tst.flow.conn = &sc.flow // link to conn-level counter\n\tst.flow.add(sc.initialStreamSendWindowSize)\n\tst.inflow.conn = &sc.inflow // link to conn-level counter\n\tst.inflow.add(sc.srv.initialStreamRecvWindowSize())\n\tif sc.hs.WriteTimeout != 0 {\n\t\tst.writeDeadline = time.AfterFunc(sc.hs.WriteTimeout, st.onWriteTimeout)\n\t}\n\n\tsc.streams[id] = st\n\tsc.writeSched.OpenStream(st.id, OpenStreamOptions{PusherID: pusherID})\n\tif st.isPushed() {\n\t\tsc.curPushedStreams++\n\t} else {\n\t\tsc.curClientStreams++\n\t}\n\tif sc.curOpenStreams() == 1 {\n\t\tsc.setConnState(http.StateActive)\n\t}\n\n\treturn st\n}\n\nfunc (sc *serverConn) newWriterAndRequest(st *stream, f *MetaHeadersFrame) (*responseWriter, *http.Request, error) {\n\tsc.serveG.check()\n\n\trp := requestParam{\n\t\tmethod:    f.PseudoValue(\"method\"),\n\t\tscheme:    f.PseudoValue(\"scheme\"),\n\t\tauthority: f.PseudoValue(\"authority\"),\n\t\tpath:      f.PseudoValue(\"path\"),\n\t}\n\n\tisConnect := rp.method == \"CONNECT\"\n\tif isConnect {\n\t\tif rp.path != \"\" || rp.scheme != \"\" || rp.authority == \"\" {\n\t\t\treturn nil, nil, streamError(f.StreamID, ErrCodeProtocol)\n\t\t}\n\t} else if rp.method == \"\" || rp.path == \"\" || (rp.scheme != \"https\" && rp.scheme != \"http\") {\n\t\t// See 8.1.2.6 Malformed Requests and Responses:\n\t\t//\n\t\t// Malformed requests or responses that are detected\n\t\t// MUST be treated as a stream error (Section 5.4.2)\n\t\t// of type PROTOCOL_ERROR.\"\n\t\t//\n\t\t// 8.1.2.3 Request Pseudo-Header Fields\n\t\t// \"All HTTP/2 requests MUST include exactly one valid\n\t\t// value for the :method, :scheme, and :path\n\t\t// pseudo-header fields\"\n\t\treturn nil, nil, streamError(f.StreamID, ErrCodeProtocol)\n\t}\n\n\tbodyOpen := !f.StreamEnded()\n\tif rp.method == \"HEAD\" && bodyOpen {\n\t\t// HEAD requests can't have bodies\n\t\treturn nil, nil, streamError(f.StreamID, ErrCodeProtocol)\n\t}\n\n\trp.header = make(http.Header)\n\tfor _, hf := range f.RegularFields() {\n\t\trp.header.Add(sc.canonicalHeader(hf.Name), hf.Value)\n\t}\n\tif rp.authority == \"\" {\n\t\trp.authority = rp.header.Get(\"Host\")\n\t}\n\n\trw, req, err := sc.newWriterAndRequestNoBody(st, rp)\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\tif bodyOpen {\n\t\tif vv, ok := rp.header[\"Content-Length\"]; ok {\n\t\t\treq.ContentLength, _ = strconv.ParseInt(vv[0], 10, 64)\n\t\t} else {\n\t\t\treq.ContentLength = -1\n\t\t}\n\t\treq.Body.(*requestBody).pipe = &pipe{\n\t\t\tb: &dataBuffer{expected: req.ContentLength},\n\t\t}\n\t}\n\treturn rw, req, nil\n}\n\ntype requestParam struct {\n\tmethod                  string\n\tscheme, authority, path string\n\theader                  http.Header\n}\n\nfunc (sc *serverConn) newWriterAndRequestNoBody(st *stream, rp requestParam) (*responseWriter, *http.Request, error) {\n\tsc.serveG.check()\n\n\tvar tlsState *tls.ConnectionState // nil if not scheme https\n\tif rp.scheme == \"https\" {\n\t\ttlsState = sc.tlsState\n\t}\n\n\tneedsContinue := rp.header.Get(\"Expect\") == \"100-continue\"\n\tif needsContinue {\n\t\trp.header.Del(\"Expect\")\n\t}\n\t// Merge Cookie headers into one \"; \"-delimited value.\n\tif cookies := rp.header[\"Cookie\"]; len(cookies) > 1 {\n\t\trp.header.Set(\"Cookie\", strings.Join(cookies, \"; \"))\n\t}\n\n\t// Setup Trailers\n\tvar trailer http.Header\n\tfor _, v := range rp.header[\"Trailer\"] {\n\t\tfor _, key := range strings.Split(v, \",\") {\n\t\t\tkey = http.CanonicalHeaderKey(strings.TrimSpace(key))\n\t\t\tswitch key {\n\t\t\tcase \"Transfer-Encoding\", \"Trailer\", \"Content-Length\":\n\t\t\t\t// Bogus. (copy of http1 rules)\n\t\t\t\t// Ignore.\n\t\t\tdefault:\n\t\t\t\tif trailer == nil {\n\t\t\t\t\ttrailer = make(http.Header)\n\t\t\t\t}\n\t\t\t\ttrailer[key] = nil\n\t\t\t}\n\t\t}\n\t}\n\tdelete(rp.header, \"Trailer\")\n\n\tvar url_ *url.URL\n\tvar requestURI string\n\tif rp.method == \"CONNECT\" {\n\t\turl_ = &url.URL{Host: rp.authority}\n\t\trequestURI = rp.authority // mimic HTTP/1 server behavior\n\t} else {\n\t\tvar err error\n\t\turl_, err = url.ParseRequestURI(rp.path)\n\t\tif err != nil {\n\t\t\treturn nil, nil, streamError(st.id, ErrCodeProtocol)\n\t\t}\n\t\trequestURI = rp.path\n\t}\n\n\tbody := &requestBody{\n\t\tconn:          sc,\n\t\tstream:        st,\n\t\tneedsContinue: needsContinue,\n\t}\n\treq := &http.Request{\n\t\tMethod:     rp.method,\n\t\tURL:        url_,\n\t\tRemoteAddr: sc.remoteAddrStr,\n\t\tHeader:     rp.header,\n\t\tRequestURI: requestURI,\n\t\tProto:      \"HTTP/2.0\",\n\t\tProtoMajor: 2,\n\t\tProtoMinor: 0,\n\t\tTLS:        tlsState,\n\t\tHost:       rp.authority,\n\t\tBody:       body,\n\t\tTrailer:    trailer,\n\t}\n\treq = requestWithContext(req, st.ctx)\n\n\trws := responseWriterStatePool.Get().(*responseWriterState)\n\tbwSave := rws.bw\n\t*rws = responseWriterState{} // zero all the fields\n\trws.conn = sc\n\trws.bw = bwSave\n\trws.bw.Reset(chunkWriter{rws})\n\trws.stream = st\n\trws.req = req\n\trws.body = body\n\n\trw := &responseWriter{rws: rws}\n\treturn rw, req, nil\n}\n\n// Run on its own goroutine.\nfunc (sc *serverConn) runHandler(rw *responseWriter, req *http.Request, handler func(http.ResponseWriter, *http.Request)) {\n\tdidPanic := true\n\tdefer func() {\n\t\trw.rws.stream.cancelCtx()\n\t\tif didPanic {\n\t\t\te := recover()\n\t\t\tsc.writeFrameFromHandler(FrameWriteRequest{\n\t\t\t\twrite:  handlerPanicRST{rw.rws.stream.id},\n\t\t\t\tstream: rw.rws.stream,\n\t\t\t})\n\t\t\t// Same as net/http:\n\t\t\tif shouldLogPanic(e) {\n\t\t\t\tconst size = 64 << 10\n\t\t\t\tbuf := make([]byte, size)\n\t\t\t\tbuf = buf[:runtime.Stack(buf, false)]\n\t\t\t\tsc.logf(\"http2: panic serving %v: %v\\n%s\", sc.conn.RemoteAddr(), e, buf)\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\trw.handlerDone()\n\t}()\n\thandler(rw, req)\n\tdidPanic = false\n}\n\nfunc handleHeaderListTooLong(w http.ResponseWriter, r *http.Request) {\n\t// 10.5.1 Limits on Header Block Size:\n\t// .. \"A server that receives a larger header block than it is\n\t// willing to handle can send an HTTP 431 (Request Header Fields Too\n\t// Large) status code\"\n\tconst statusRequestHeaderFieldsTooLarge = 431 // only in Go 1.6+\n\tw.WriteHeader(statusRequestHeaderFieldsTooLarge)\n\tio.WriteString(w, \"<h1>HTTP Error 431</h1><p>Request Header Field(s) Too Large</p>\")\n}\n\n// called from handler goroutines.\n// h may be nil.\nfunc (sc *serverConn) writeHeaders(st *stream, headerData *writeResHeaders) error {\n\tsc.serveG.checkNotOn() // NOT on\n\tvar errc chan error\n\tif headerData.h != nil {\n\t\t// If there's a header map (which we don't own), so we have to block on\n\t\t// waiting for this frame to be written, so an http.Flush mid-handler\n\t\t// writes out the correct value of keys, before a handler later potentially\n\t\t// mutates it.\n\t\terrc = errChanPool.Get().(chan error)\n\t}\n\tif err := sc.writeFrameFromHandler(FrameWriteRequest{\n\t\twrite:  headerData,\n\t\tstream: st,\n\t\tdone:   errc,\n\t}); err != nil {\n\t\treturn err\n\t}\n\tif errc != nil {\n\t\tselect {\n\t\tcase err := <-errc:\n\t\t\terrChanPool.Put(errc)\n\t\t\treturn err\n\t\tcase <-sc.doneServing:\n\t\t\treturn errClientDisconnected\n\t\tcase <-st.cw:\n\t\t\treturn errStreamClosed\n\t\t}\n\t}\n\treturn nil\n}\n\n// called from handler goroutines.\nfunc (sc *serverConn) write100ContinueHeaders(st *stream) {\n\tsc.writeFrameFromHandler(FrameWriteRequest{\n\t\twrite:  write100ContinueHeadersFrame{st.id},\n\t\tstream: st,\n\t})\n}\n\n// A bodyReadMsg tells the server loop that the http.Handler read n\n// bytes of the DATA from the client on the given stream.\ntype bodyReadMsg struct {\n\tst *stream\n\tn  int\n}\n\n// called from handler goroutines.\n// Notes that the handler for the given stream ID read n bytes of its body\n// and schedules flow control tokens to be sent.\nfunc (sc *serverConn) noteBodyReadFromHandler(st *stream, n int, err error) {\n\tsc.serveG.checkNotOn() // NOT on\n\tif n > 0 {\n\t\tselect {\n\t\tcase sc.bodyReadCh <- bodyReadMsg{st, n}:\n\t\tcase <-sc.doneServing:\n\t\t}\n\t}\n}\n\nfunc (sc *serverConn) noteBodyRead(st *stream, n int) {\n\tsc.serveG.check()\n\tsc.sendWindowUpdate(nil, n) // conn-level\n\tif st.state != stateHalfClosedRemote && st.state != stateClosed {\n\t\t// Don't send this WINDOW_UPDATE if the stream is closed\n\t\t// remotely.\n\t\tsc.sendWindowUpdate(st, n)\n\t}\n}\n\n// st may be nil for conn-level\nfunc (sc *serverConn) sendWindowUpdate(st *stream, n int) {\n\tsc.serveG.check()\n\t// \"The legal range for the increment to the flow control\n\t// window is 1 to 2^31-1 (2,147,483,647) octets.\"\n\t// A Go Read call on 64-bit machines could in theory read\n\t// a larger Read than this. Very unlikely, but we handle it here\n\t// rather than elsewhere for now.\n\tconst maxUint31 = 1<<31 - 1\n\tfor n >= maxUint31 {\n\t\tsc.sendWindowUpdate32(st, maxUint31)\n\t\tn -= maxUint31\n\t}\n\tsc.sendWindowUpdate32(st, int32(n))\n}\n\n// st may be nil for conn-level\nfunc (sc *serverConn) sendWindowUpdate32(st *stream, n int32) {\n\tsc.serveG.check()\n\tif n == 0 {\n\t\treturn\n\t}\n\tif n < 0 {\n\t\tpanic(\"negative update\")\n\t}\n\tvar streamID uint32\n\tif st != nil {\n\t\tstreamID = st.id\n\t}\n\tsc.writeFrame(FrameWriteRequest{\n\t\twrite:  writeWindowUpdate{streamID: streamID, n: uint32(n)},\n\t\tstream: st,\n\t})\n\tvar ok bool\n\tif st == nil {\n\t\tok = sc.inflow.add(n)\n\t} else {\n\t\tok = st.inflow.add(n)\n\t}\n\tif !ok {\n\t\tpanic(\"internal error; sent too many window updates without decrements?\")\n\t}\n}\n\n// requestBody is the Handler's Request.Body type.\n// Read and Close may be called concurrently.\ntype requestBody struct {\n\tstream        *stream\n\tconn          *serverConn\n\tclosed        bool  // for use by Close only\n\tsawEOF        bool  // for use by Read only\n\tpipe          *pipe // non-nil if we have a HTTP entity message body\n\tneedsContinue bool  // need to send a 100-continue\n}\n\nfunc (b *requestBody) Close() error {\n\tif b.pipe != nil && !b.closed {\n\t\tb.pipe.BreakWithError(errClosedBody)\n\t}\n\tb.closed = true\n\treturn nil\n}\n\nfunc (b *requestBody) Read(p []byte) (n int, err error) {\n\tif b.needsContinue {\n\t\tb.needsContinue = false\n\t\tb.conn.write100ContinueHeaders(b.stream)\n\t}\n\tif b.pipe == nil || b.sawEOF {\n\t\treturn 0, io.EOF\n\t}\n\tn, err = b.pipe.Read(p)\n\tif err == io.EOF {\n\t\tb.sawEOF = true\n\t}\n\tif b.conn == nil && inTests {\n\t\treturn\n\t}\n\tb.conn.noteBodyReadFromHandler(b.stream, n, err)\n\treturn\n}\n\n// responseWriter is the http.ResponseWriter implementation. It's\n// intentionally small (1 pointer wide) to minimize garbage. The\n// responseWriterState pointer inside is zeroed at the end of a\n// request (in handlerDone) and calls on the responseWriter thereafter\n// simply crash (caller's mistake), but the much larger responseWriterState\n// and buffers are reused between multiple requests.\ntype responseWriter struct {\n\trws *responseWriterState\n}\n\n// Optional http.ResponseWriter interfaces implemented.\nvar (\n\t_ http.CloseNotifier = (*responseWriter)(nil)\n\t_ http.Flusher       = (*responseWriter)(nil)\n\t_ stringWriter       = (*responseWriter)(nil)\n)\n\ntype responseWriterState struct {\n\t// immutable within a request:\n\tstream *stream\n\treq    *http.Request\n\tbody   *requestBody // to close at end of request, if DATA frames didn't\n\tconn   *serverConn\n\n\t// TODO: adjust buffer writing sizes based on server config, frame size updates from peer, etc\n\tbw *bufio.Writer // writing to a chunkWriter{this *responseWriterState}\n\n\t// mutated by http.Handler goroutine:\n\thandlerHeader http.Header // nil until called\n\tsnapHeader    http.Header // snapshot of handlerHeader at WriteHeader time\n\ttrailers      []string    // set in writeChunk\n\tstatus        int         // status code passed to WriteHeader\n\twroteHeader   bool        // WriteHeader called (explicitly or implicitly). Not necessarily sent to user yet.\n\tsentHeader    bool        // have we sent the header frame?\n\thandlerDone   bool        // handler has finished\n\tdirty         bool        // a Write failed; don't reuse this responseWriterState\n\n\tsentContentLen int64 // non-zero if handler set a Content-Length header\n\twroteBytes     int64\n\n\tcloseNotifierMu sync.Mutex // guards closeNotifierCh\n\tcloseNotifierCh chan bool  // nil until first used\n}\n\ntype chunkWriter struct{ rws *responseWriterState }\n\nfunc (cw chunkWriter) Write(p []byte) (n int, err error) { return cw.rws.writeChunk(p) }\n\nfunc (rws *responseWriterState) hasTrailers() bool { return len(rws.trailers) != 0 }\n\n// declareTrailer is called for each Trailer header when the\n// response header is written. It notes that a header will need to be\n// written in the trailers at the end of the response.\nfunc (rws *responseWriterState) declareTrailer(k string) {\n\tk = http.CanonicalHeaderKey(k)\n\tif !httpguts.ValidTrailerHeader(k) {\n\t\t// Forbidden by RFC 7230, section 4.1.2.\n\t\trws.conn.logf(\"ignoring invalid trailer %q\", k)\n\t\treturn\n\t}\n\tif !strSliceContains(rws.trailers, k) {\n\t\trws.trailers = append(rws.trailers, k)\n\t}\n}\n\n// writeChunk writes chunks from the bufio.Writer. But because\n// bufio.Writer may bypass its chunking, sometimes p may be\n// arbitrarily large.\n//\n// writeChunk is also responsible (on the first chunk) for sending the\n// HEADER response.\nfunc (rws *responseWriterState) writeChunk(p []byte) (n int, err error) {\n\tif !rws.wroteHeader {\n\t\trws.writeHeader(200)\n\t}\n\n\tisHeadResp := rws.req.Method == \"HEAD\"\n\tif !rws.sentHeader {\n\t\trws.sentHeader = true\n\t\tvar ctype, clen string\n\t\tif clen = rws.snapHeader.Get(\"Content-Length\"); clen != \"\" {\n\t\t\trws.snapHeader.Del(\"Content-Length\")\n\t\t\tclen64, err := strconv.ParseInt(clen, 10, 64)\n\t\t\tif err == nil && clen64 >= 0 {\n\t\t\t\trws.sentContentLen = clen64\n\t\t\t} else {\n\t\t\t\tclen = \"\"\n\t\t\t}\n\t\t}\n\t\tif clen == \"\" && rws.handlerDone && bodyAllowedForStatus(rws.status) && (len(p) > 0 || !isHeadResp) {\n\t\t\tclen = strconv.Itoa(len(p))\n\t\t}\n\t\t_, hasContentType := rws.snapHeader[\"Content-Type\"]\n\t\tif !hasContentType && bodyAllowedForStatus(rws.status) && len(p) > 0 {\n\t\t\tctype = http.DetectContentType(p)\n\t\t}\n\t\tvar date string\n\t\tif _, ok := rws.snapHeader[\"Date\"]; !ok {\n\t\t\t// TODO(bradfitz): be faster here, like net/http? measure.\n\t\t\tdate = time.Now().UTC().Format(http.TimeFormat)\n\t\t}\n\n\t\tfor _, v := range rws.snapHeader[\"Trailer\"] {\n\t\t\tforeachHeaderElement(v, rws.declareTrailer)\n\t\t}\n\n\t\t// \"Connection\" headers aren't allowed in HTTP/2 (RFC 7540, 8.1.2.2),\n\t\t// but respect \"Connection\" == \"close\" to mean sending a GOAWAY and tearing\n\t\t// down the TCP connection when idle, like we do for HTTP/1.\n\t\t// TODO: remove more Connection-specific header fields here, in addition\n\t\t// to \"Connection\".\n\t\tif _, ok := rws.snapHeader[\"Connection\"]; ok {\n\t\t\tv := rws.snapHeader.Get(\"Connection\")\n\t\t\tdelete(rws.snapHeader, \"Connection\")\n\t\t\tif v == \"close\" {\n\t\t\t\trws.conn.startGracefulShutdown()\n\t\t\t}\n\t\t}\n\n\t\tendStream := (rws.handlerDone && !rws.hasTrailers() && len(p) == 0) || isHeadResp\n\t\terr = rws.conn.writeHeaders(rws.stream, &writeResHeaders{\n\t\t\tstreamID:      rws.stream.id,\n\t\t\thttpResCode:   rws.status,\n\t\t\th:             rws.snapHeader,\n\t\t\tendStream:     endStream,\n\t\t\tcontentType:   ctype,\n\t\t\tcontentLength: clen,\n\t\t\tdate:          date,\n\t\t})\n\t\tif err != nil {\n\t\t\trws.dirty = true\n\t\t\treturn 0, err\n\t\t}\n\t\tif endStream {\n\t\t\treturn 0, nil\n\t\t}\n\t}\n\tif isHeadResp {\n\t\treturn len(p), nil\n\t}\n\tif len(p) == 0 && !rws.handlerDone {\n\t\treturn 0, nil\n\t}\n\n\tif rws.handlerDone {\n\t\trws.promoteUndeclaredTrailers()\n\t}\n\n\tendStream := rws.handlerDone && !rws.hasTrailers()\n\tif len(p) > 0 || endStream {\n\t\t// only send a 0 byte DATA frame if we're ending the stream.\n\t\tif err := rws.conn.writeDataFromHandler(rws.stream, p, endStream); err != nil {\n\t\t\trws.dirty = true\n\t\t\treturn 0, err\n\t\t}\n\t}\n\n\tif rws.handlerDone && rws.hasTrailers() {\n\t\terr = rws.conn.writeHeaders(rws.stream, &writeResHeaders{\n\t\t\tstreamID:  rws.stream.id,\n\t\t\th:         rws.handlerHeader,\n\t\t\ttrailers:  rws.trailers,\n\t\t\tendStream: true,\n\t\t})\n\t\tif err != nil {\n\t\t\trws.dirty = true\n\t\t}\n\t\treturn len(p), err\n\t}\n\treturn len(p), nil\n}\n\n// TrailerPrefix is a magic prefix for ResponseWriter.Header map keys\n// that, if present, signals that the map entry is actually for\n// the response trailers, and not the response headers. The prefix\n// is stripped after the ServeHTTP call finishes and the values are\n// sent in the trailers.\n//\n// This mechanism is intended only for trailers that are not known\n// prior to the headers being written. If the set of trailers is fixed\n// or known before the header is written, the normal Go trailers mechanism\n// is preferred:\n//    https://golang.org/pkg/net/http/#ResponseWriter\n//    https://golang.org/pkg/net/http/#example_ResponseWriter_trailers\nconst TrailerPrefix = \"Trailer:\"\n\n// promoteUndeclaredTrailers permits http.Handlers to set trailers\n// after the header has already been flushed. Because the Go\n// ResponseWriter interface has no way to set Trailers (only the\n// Header), and because we didn't want to expand the ResponseWriter\n// interface, and because nobody used trailers, and because RFC 7230\n// says you SHOULD (but not must) predeclare any trailers in the\n// header, the official ResponseWriter rules said trailers in Go must\n// be predeclared, and then we reuse the same ResponseWriter.Header()\n// map to mean both Headers and Trailers. When it's time to write the\n// Trailers, we pick out the fields of Headers that were declared as\n// trailers. That worked for a while, until we found the first major\n// user of Trailers in the wild: gRPC (using them only over http2),\n// and gRPC libraries permit setting trailers mid-stream without\n// predeclarnig them. So: change of plans. We still permit the old\n// way, but we also permit this hack: if a Header() key begins with\n// \"Trailer:\", the suffix of that key is a Trailer. Because ':' is an\n// invalid token byte anyway, there is no ambiguity. (And it's already\n// filtered out) It's mildly hacky, but not terrible.\n//\n// This method runs after the Handler is done and promotes any Header\n// fields to be trailers.\nfunc (rws *responseWriterState) promoteUndeclaredTrailers() {\n\tfor k, vv := range rws.handlerHeader {\n\t\tif !strings.HasPrefix(k, TrailerPrefix) {\n\t\t\tcontinue\n\t\t}\n\t\ttrailerKey := strings.TrimPrefix(k, TrailerPrefix)\n\t\trws.declareTrailer(trailerKey)\n\t\trws.handlerHeader[http.CanonicalHeaderKey(trailerKey)] = vv\n\t}\n\n\tif len(rws.trailers) > 1 {\n\t\tsorter := sorterPool.Get().(*sorter)\n\t\tsorter.SortStrings(rws.trailers)\n\t\tsorterPool.Put(sorter)\n\t}\n}\n\nfunc (w *responseWriter) Flush() {\n\trws := w.rws\n\tif rws == nil {\n\t\tpanic(\"Header called after Handler finished\")\n\t}\n\tif rws.bw.Buffered() > 0 {\n\t\tif err := rws.bw.Flush(); err != nil {\n\t\t\t// Ignore the error. The frame writer already knows.\n\t\t\treturn\n\t\t}\n\t} else {\n\t\t// The bufio.Writer won't call chunkWriter.Write\n\t\t// (writeChunk with zero bytes, so we have to do it\n\t\t// ourselves to force the HTTP response header and/or\n\t\t// final DATA frame (with END_STREAM) to be sent.\n\t\trws.writeChunk(nil)\n\t}\n}\n\nfunc (w *responseWriter) CloseNotify() <-chan bool {\n\trws := w.rws\n\tif rws == nil {\n\t\tpanic(\"CloseNotify called after Handler finished\")\n\t}\n\trws.closeNotifierMu.Lock()\n\tch := rws.closeNotifierCh\n\tif ch == nil {\n\t\tch = make(chan bool, 1)\n\t\trws.closeNotifierCh = ch\n\t\tcw := rws.stream.cw\n\t\tgo func() {\n\t\t\tcw.Wait() // wait for close\n\t\t\tch <- true\n\t\t}()\n\t}\n\trws.closeNotifierMu.Unlock()\n\treturn ch\n}\n\nfunc (w *responseWriter) Header() http.Header {\n\trws := w.rws\n\tif rws == nil {\n\t\tpanic(\"Header called after Handler finished\")\n\t}\n\tif rws.handlerHeader == nil {\n\t\trws.handlerHeader = make(http.Header)\n\t}\n\treturn rws.handlerHeader\n}\n\n// checkWriteHeaderCode is a copy of net/http's checkWriteHeaderCode.\nfunc checkWriteHeaderCode(code int) {\n\t// Issue 22880: require valid WriteHeader status codes.\n\t// For now we only enforce that it's three digits.\n\t// In the future we might block things over 599 (600 and above aren't defined\n\t// at http://httpwg.org/specs/rfc7231.html#status.codes)\n\t// and we might block under 200 (once we have more mature 1xx support).\n\t// But for now any three digits.\n\t//\n\t// We used to send \"HTTP/1.1 000 0\" on the wire in responses but there's\n\t// no equivalent bogus thing we can realistically send in HTTP/2,\n\t// so we'll consistently panic instead and help people find their bugs\n\t// early. (We can't return an error from WriteHeader even if we wanted to.)\n\tif code < 100 || code > 999 {\n\t\tpanic(fmt.Sprintf(\"invalid WriteHeader code %v\", code))\n\t}\n}\n\nfunc (w *responseWriter) WriteHeader(code int) {\n\trws := w.rws\n\tif rws == nil {\n\t\tpanic(\"WriteHeader called after Handler finished\")\n\t}\n\trws.writeHeader(code)\n}\n\nfunc (rws *responseWriterState) writeHeader(code int) {\n\tif !rws.wroteHeader {\n\t\tcheckWriteHeaderCode(code)\n\t\trws.wroteHeader = true\n\t\trws.status = code\n\t\tif len(rws.handlerHeader) > 0 {\n\t\t\trws.snapHeader = cloneHeader(rws.handlerHeader)\n\t\t}\n\t}\n}\n\nfunc cloneHeader(h http.Header) http.Header {\n\th2 := make(http.Header, len(h))\n\tfor k, vv := range h {\n\t\tvv2 := make([]string, len(vv))\n\t\tcopy(vv2, vv)\n\t\th2[k] = vv2\n\t}\n\treturn h2\n}\n\n// The Life Of A Write is like this:\n//\n// * Handler calls w.Write or w.WriteString ->\n// * -> rws.bw (*bufio.Writer) ->\n// * (Handler might call Flush)\n// * -> chunkWriter{rws}\n// * -> responseWriterState.writeChunk(p []byte)\n// * -> responseWriterState.writeChunk (most of the magic; see comment there)\nfunc (w *responseWriter) Write(p []byte) (n int, err error) {\n\treturn w.write(len(p), p, \"\")\n}\n\nfunc (w *responseWriter) WriteString(s string) (n int, err error) {\n\treturn w.write(len(s), nil, s)\n}\n\n// either dataB or dataS is non-zero.\nfunc (w *responseWriter) write(lenData int, dataB []byte, dataS string) (n int, err error) {\n\trws := w.rws\n\tif rws == nil {\n\t\tpanic(\"Write called after Handler finished\")\n\t}\n\tif !rws.wroteHeader {\n\t\tw.WriteHeader(200)\n\t}\n\tif !bodyAllowedForStatus(rws.status) {\n\t\treturn 0, http.ErrBodyNotAllowed\n\t}\n\trws.wroteBytes += int64(len(dataB)) + int64(len(dataS)) // only one can be set\n\tif rws.sentContentLen != 0 && rws.wroteBytes > rws.sentContentLen {\n\t\t// TODO: send a RST_STREAM\n\t\treturn 0, errors.New(\"http2: handler wrote more than declared Content-Length\")\n\t}\n\n\tif dataB != nil {\n\t\treturn rws.bw.Write(dataB)\n\t} else {\n\t\treturn rws.bw.WriteString(dataS)\n\t}\n}\n\nfunc (w *responseWriter) handlerDone() {\n\trws := w.rws\n\tdirty := rws.dirty\n\trws.handlerDone = true\n\tw.Flush()\n\tw.rws = nil\n\tif !dirty {\n\t\t// Only recycle the pool if all prior Write calls to\n\t\t// the serverConn goroutine completed successfully. If\n\t\t// they returned earlier due to resets from the peer\n\t\t// there might still be write goroutines outstanding\n\t\t// from the serverConn referencing the rws memory. See\n\t\t// issue 20704.\n\t\tresponseWriterStatePool.Put(rws)\n\t}\n}\n\n// Push errors.\nvar (\n\tErrRecursivePush    = errors.New(\"http2: recursive push not allowed\")\n\tErrPushLimitReached = errors.New(\"http2: push would exceed peer's SETTINGS_MAX_CONCURRENT_STREAMS\")\n)\n\n// pushOptions is the internal version of http.PushOptions, which we\n// cannot include here because it's only defined in Go 1.8 and later.\ntype pushOptions struct {\n\tMethod string\n\tHeader http.Header\n}\n\nfunc (w *responseWriter) push(target string, opts pushOptions) error {\n\tst := w.rws.stream\n\tsc := st.sc\n\tsc.serveG.checkNotOn()\n\n\t// No recursive pushes: \"PUSH_PROMISE frames MUST only be sent on a peer-initiated stream.\"\n\t// http://tools.ietf.org/html/rfc7540#section-6.6\n\tif st.isPushed() {\n\t\treturn ErrRecursivePush\n\t}\n\n\t// Default options.\n\tif opts.Method == \"\" {\n\t\topts.Method = \"GET\"\n\t}\n\tif opts.Header == nil {\n\t\topts.Header = http.Header{}\n\t}\n\twantScheme := \"http\"\n\tif w.rws.req.TLS != nil {\n\t\twantScheme = \"https\"\n\t}\n\n\t// Validate the request.\n\tu, err := url.Parse(target)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif u.Scheme == \"\" {\n\t\tif !strings.HasPrefix(target, \"/\") {\n\t\t\treturn fmt.Errorf(\"target must be an absolute URL or an absolute path: %q\", target)\n\t\t}\n\t\tu.Scheme = wantScheme\n\t\tu.Host = w.rws.req.Host\n\t} else {\n\t\tif u.Scheme != wantScheme {\n\t\t\treturn fmt.Errorf(\"cannot push URL with scheme %q from request with scheme %q\", u.Scheme, wantScheme)\n\t\t}\n\t\tif u.Host == \"\" {\n\t\t\treturn errors.New(\"URL must have a host\")\n\t\t}\n\t}\n\tfor k := range opts.Header {\n\t\tif strings.HasPrefix(k, \":\") {\n\t\t\treturn fmt.Errorf(\"promised request headers cannot include pseudo header %q\", k)\n\t\t}\n\t\t// These headers are meaningful only if the request has a body,\n\t\t// but PUSH_PROMISE requests cannot have a body.\n\t\t// http://tools.ietf.org/html/rfc7540#section-8.2\n\t\t// Also disallow Host, since the promised URL must be absolute.\n\t\tswitch strings.ToLower(k) {\n\t\tcase \"content-length\", \"content-encoding\", \"trailer\", \"te\", \"expect\", \"host\":\n\t\t\treturn fmt.Errorf(\"promised request headers cannot include %q\", k)\n\t\t}\n\t}\n\tif err := checkValidHTTP2RequestHeaders(opts.Header); err != nil {\n\t\treturn err\n\t}\n\n\t// The RFC effectively limits promised requests to GET and HEAD:\n\t// \"Promised requests MUST be cacheable [GET, HEAD, or POST], and MUST be safe [GET or HEAD]\"\n\t// http://tools.ietf.org/html/rfc7540#section-8.2\n\tif opts.Method != \"GET\" && opts.Method != \"HEAD\" {\n\t\treturn fmt.Errorf(\"method %q must be GET or HEAD\", opts.Method)\n\t}\n\n\tmsg := &startPushRequest{\n\t\tparent: st,\n\t\tmethod: opts.Method,\n\t\turl:    u,\n\t\theader: cloneHeader(opts.Header),\n\t\tdone:   errChanPool.Get().(chan error),\n\t}\n\n\tselect {\n\tcase <-sc.doneServing:\n\t\treturn errClientDisconnected\n\tcase <-st.cw:\n\t\treturn errStreamClosed\n\tcase sc.serveMsgCh <- msg:\n\t}\n\n\tselect {\n\tcase <-sc.doneServing:\n\t\treturn errClientDisconnected\n\tcase <-st.cw:\n\t\treturn errStreamClosed\n\tcase err := <-msg.done:\n\t\terrChanPool.Put(msg.done)\n\t\treturn err\n\t}\n}\n\ntype startPushRequest struct {\n\tparent *stream\n\tmethod string\n\turl    *url.URL\n\theader http.Header\n\tdone   chan error\n}\n\nfunc (sc *serverConn) startPush(msg *startPushRequest) {\n\tsc.serveG.check()\n\n\t// http://tools.ietf.org/html/rfc7540#section-6.6.\n\t// PUSH_PROMISE frames MUST only be sent on a peer-initiated stream that\n\t// is in either the \"open\" or \"half-closed (remote)\" state.\n\tif msg.parent.state != stateOpen && msg.parent.state != stateHalfClosedRemote {\n\t\t// responseWriter.Push checks that the stream is peer-initiaed.\n\t\tmsg.done <- errStreamClosed\n\t\treturn\n\t}\n\n\t// http://tools.ietf.org/html/rfc7540#section-6.6.\n\tif !sc.pushEnabled {\n\t\tmsg.done <- http.ErrNotSupported\n\t\treturn\n\t}\n\n\t// PUSH_PROMISE frames must be sent in increasing order by stream ID, so\n\t// we allocate an ID for the promised stream lazily, when the PUSH_PROMISE\n\t// is written. Once the ID is allocated, we start the request handler.\n\tallocatePromisedID := func() (uint32, error) {\n\t\tsc.serveG.check()\n\n\t\t// Check this again, just in case. Technically, we might have received\n\t\t// an updated SETTINGS by the time we got around to writing this frame.\n\t\tif !sc.pushEnabled {\n\t\t\treturn 0, http.ErrNotSupported\n\t\t}\n\t\t// http://tools.ietf.org/html/rfc7540#section-6.5.2.\n\t\tif sc.curPushedStreams+1 > sc.clientMaxStreams {\n\t\t\treturn 0, ErrPushLimitReached\n\t\t}\n\n\t\t// http://tools.ietf.org/html/rfc7540#section-5.1.1.\n\t\t// Streams initiated by the server MUST use even-numbered identifiers.\n\t\t// A server that is unable to establish a new stream identifier can send a GOAWAY\n\t\t// frame so that the client is forced to open a new connection for new streams.\n\t\tif sc.maxPushPromiseID+2 >= 1<<31 {\n\t\t\tsc.startGracefulShutdownInternal()\n\t\t\treturn 0, ErrPushLimitReached\n\t\t}\n\t\tsc.maxPushPromiseID += 2\n\t\tpromisedID := sc.maxPushPromiseID\n\n\t\t// http://tools.ietf.org/html/rfc7540#section-8.2.\n\t\t// Strictly speaking, the new stream should start in \"reserved (local)\", then\n\t\t// transition to \"half closed (remote)\" after sending the initial HEADERS, but\n\t\t// we start in \"half closed (remote)\" for simplicity.\n\t\t// See further comments at the definition of stateHalfClosedRemote.\n\t\tpromised := sc.newStream(promisedID, msg.parent.id, stateHalfClosedRemote)\n\t\trw, req, err := sc.newWriterAndRequestNoBody(promised, requestParam{\n\t\t\tmethod:    msg.method,\n\t\t\tscheme:    msg.url.Scheme,\n\t\t\tauthority: msg.url.Host,\n\t\t\tpath:      msg.url.RequestURI(),\n\t\t\theader:    cloneHeader(msg.header), // clone since handler runs concurrently with writing the PUSH_PROMISE\n\t\t})\n\t\tif err != nil {\n\t\t\t// Should not happen, since we've already validated msg.url.\n\t\t\tpanic(fmt.Sprintf(\"newWriterAndRequestNoBody(%+v): %v\", msg.url, err))\n\t\t}\n\n\t\tgo sc.runHandler(rw, req, sc.handler.ServeHTTP)\n\t\treturn promisedID, nil\n\t}\n\n\tsc.writeFrame(FrameWriteRequest{\n\t\twrite: &writePushPromise{\n\t\t\tstreamID:           msg.parent.id,\n\t\t\tmethod:             msg.method,\n\t\t\turl:                msg.url,\n\t\t\th:                  msg.header,\n\t\t\tallocatePromisedID: allocatePromisedID,\n\t\t},\n\t\tstream: msg.parent,\n\t\tdone:   msg.done,\n\t})\n}\n\n// foreachHeaderElement splits v according to the \"#rule\" construction\n// in RFC 7230 section 7 and calls fn for each non-empty element.\nfunc foreachHeaderElement(v string, fn func(string)) {\n\tv = textproto.TrimString(v)\n\tif v == \"\" {\n\t\treturn\n\t}\n\tif !strings.Contains(v, \",\") {\n\t\tfn(v)\n\t\treturn\n\t}\n\tfor _, f := range strings.Split(v, \",\") {\n\t\tif f = textproto.TrimString(f); f != \"\" {\n\t\t\tfn(f)\n\t\t}\n\t}\n}\n\n// From http://httpwg.org/specs/rfc7540.html#rfc.section.8.1.2.2\nvar connHeaders = []string{\n\t\"Connection\",\n\t\"Keep-Alive\",\n\t\"Proxy-Connection\",\n\t\"Transfer-Encoding\",\n\t\"Upgrade\",\n}\n\n// checkValidHTTP2RequestHeaders checks whether h is a valid HTTP/2 request,\n// per RFC 7540 Section 8.1.2.2.\n// The returned error is reported to users.\nfunc checkValidHTTP2RequestHeaders(h http.Header) error {\n\tfor _, k := range connHeaders {\n\t\tif _, ok := h[k]; ok {\n\t\t\treturn fmt.Errorf(\"request header %q is not valid in HTTP/2\", k)\n\t\t}\n\t}\n\tte := h[\"Te\"]\n\tif len(te) > 0 && (len(te) > 1 || (te[0] != \"trailers\" && te[0] != \"\")) {\n\t\treturn errors.New(`request header \"TE\" may only be \"trailers\" in HTTP/2`)\n\t}\n\treturn nil\n}\n\nfunc new400Handler(err error) http.HandlerFunc {\n\treturn func(w http.ResponseWriter, r *http.Request) {\n\t\thttp.Error(w, err.Error(), http.StatusBadRequest)\n\t}\n}\n\n// h1ServerKeepAlivesDisabled reports whether hs has its keep-alives\n// disabled. See comments on h1ServerShutdownChan above for why\n// the code is written this way.\nfunc h1ServerKeepAlivesDisabled(hs *http.Server) bool {\n\tvar x interface{} = hs\n\ttype I interface {\n\t\tdoKeepAlives() bool\n\t}\n\tif hs, ok := x.(I); ok {\n\t\treturn !hs.doKeepAlives()\n\t}\n\treturn false\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/transport.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Transport code.\n\npackage http2\n\nimport (\n\t\"bufio\"\n\t\"bytes\"\n\t\"compress/gzip\"\n\t\"crypto/rand\"\n\t\"crypto/tls\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"math\"\n\tmathrand \"math/rand\"\n\t\"net\"\n\t\"net/http\"\n\t\"net/textproto\"\n\t\"sort\"\n\t\"strconv\"\n\t\"strings\"\n\t\"sync\"\n\t\"time\"\n\n\t\"golang.org/x/net/http/httpguts\"\n\t\"golang.org/x/net/http2/hpack\"\n\t\"golang.org/x/net/idna\"\n)\n\nconst (\n\t// transportDefaultConnFlow is how many connection-level flow control\n\t// tokens we give the server at start-up, past the default 64k.\n\ttransportDefaultConnFlow = 1 << 30\n\n\t// transportDefaultStreamFlow is how many stream-level flow\n\t// control tokens we announce to the peer, and how many bytes\n\t// we buffer per stream.\n\ttransportDefaultStreamFlow = 4 << 20\n\n\t// transportDefaultStreamMinRefresh is the minimum number of bytes we'll send\n\t// a stream-level WINDOW_UPDATE for at a time.\n\ttransportDefaultStreamMinRefresh = 4 << 10\n\n\tdefaultUserAgent = \"Go-http-client/2.0\"\n)\n\n// Transport is an HTTP/2 Transport.\n//\n// A Transport internally caches connections to servers. It is safe\n// for concurrent use by multiple goroutines.\ntype Transport struct {\n\t// DialTLS specifies an optional dial function for creating\n\t// TLS connections for requests.\n\t//\n\t// If DialTLS is nil, tls.Dial is used.\n\t//\n\t// If the returned net.Conn has a ConnectionState method like tls.Conn,\n\t// it will be used to set http.Response.TLS.\n\tDialTLS func(network, addr string, cfg *tls.Config) (net.Conn, error)\n\n\t// TLSClientConfig specifies the TLS configuration to use with\n\t// tls.Client. If nil, the default configuration is used.\n\tTLSClientConfig *tls.Config\n\n\t// ConnPool optionally specifies an alternate connection pool to use.\n\t// If nil, the default is used.\n\tConnPool ClientConnPool\n\n\t// DisableCompression, if true, prevents the Transport from\n\t// requesting compression with an \"Accept-Encoding: gzip\"\n\t// request header when the Request contains no existing\n\t// Accept-Encoding value. If the Transport requests gzip on\n\t// its own and gets a gzipped response, it's transparently\n\t// decoded in the Response.Body. However, if the user\n\t// explicitly requested gzip it is not automatically\n\t// uncompressed.\n\tDisableCompression bool\n\n\t// AllowHTTP, if true, permits HTTP/2 requests using the insecure,\n\t// plain-text \"http\" scheme. Note that this does not enable h2c support.\n\tAllowHTTP bool\n\n\t// MaxHeaderListSize is the http2 SETTINGS_MAX_HEADER_LIST_SIZE to\n\t// send in the initial settings frame. It is how many bytes\n\t// of response headers are allowed. Unlike the http2 spec, zero here\n\t// means to use a default limit (currently 10MB). If you actually\n\t// want to advertise an ulimited value to the peer, Transport\n\t// interprets the highest possible value here (0xffffffff or 1<<32-1)\n\t// to mean no limit.\n\tMaxHeaderListSize uint32\n\n\t// t1, if non-nil, is the standard library Transport using\n\t// this transport. Its settings are used (but not its\n\t// RoundTrip method, etc).\n\tt1 *http.Transport\n\n\tconnPoolOnce  sync.Once\n\tconnPoolOrDef ClientConnPool // non-nil version of ConnPool\n}\n\nfunc (t *Transport) maxHeaderListSize() uint32 {\n\tif t.MaxHeaderListSize == 0 {\n\t\treturn 10 << 20\n\t}\n\tif t.MaxHeaderListSize == 0xffffffff {\n\t\treturn 0\n\t}\n\treturn t.MaxHeaderListSize\n}\n\nfunc (t *Transport) disableCompression() bool {\n\treturn t.DisableCompression || (t.t1 != nil && t.t1.DisableCompression)\n}\n\nvar errTransportVersion = errors.New(\"http2: ConfigureTransport is only supported starting at Go 1.6\")\n\n// ConfigureTransport configures a net/http HTTP/1 Transport to use HTTP/2.\n// It requires Go 1.6 or later and returns an error if the net/http package is too old\n// or if t1 has already been HTTP/2-enabled.\nfunc ConfigureTransport(t1 *http.Transport) error {\n\t_, err := configureTransport(t1) // in configure_transport.go (go1.6) or not_go16.go\n\treturn err\n}\n\nfunc (t *Transport) connPool() ClientConnPool {\n\tt.connPoolOnce.Do(t.initConnPool)\n\treturn t.connPoolOrDef\n}\n\nfunc (t *Transport) initConnPool() {\n\tif t.ConnPool != nil {\n\t\tt.connPoolOrDef = t.ConnPool\n\t} else {\n\t\tt.connPoolOrDef = &clientConnPool{t: t}\n\t}\n}\n\n// ClientConn is the state of a single HTTP/2 client connection to an\n// HTTP/2 server.\ntype ClientConn struct {\n\tt         *Transport\n\ttconn     net.Conn             // usually *tls.Conn, except specialized impls\n\ttlsState  *tls.ConnectionState // nil only for specialized impls\n\tsingleUse bool                 // whether being used for a single http.Request\n\n\t// readLoop goroutine fields:\n\treaderDone chan struct{} // closed on error\n\treaderErr  error         // set before readerDone is closed\n\n\tidleTimeout time.Duration // or 0 for never\n\tidleTimer   *time.Timer\n\n\tmu              sync.Mutex // guards following\n\tcond            *sync.Cond // hold mu; broadcast on flow/closed changes\n\tflow            flow       // our conn-level flow control quota (cs.flow is per stream)\n\tinflow          flow       // peer's conn-level flow control\n\tclosing         bool\n\tclosed          bool\n\twantSettingsAck bool                     // we sent a SETTINGS frame and haven't heard back\n\tgoAway          *GoAwayFrame             // if non-nil, the GoAwayFrame we received\n\tgoAwayDebug     string                   // goAway frame's debug data, retained as a string\n\tstreams         map[uint32]*clientStream // client-initiated\n\tnextStreamID    uint32\n\tpendingRequests int                       // requests blocked and waiting to be sent because len(streams) == maxConcurrentStreams\n\tpings           map[[8]byte]chan struct{} // in flight ping data to notification channel\n\tbw              *bufio.Writer\n\tbr              *bufio.Reader\n\tfr              *Framer\n\tlastActive      time.Time\n\t// Settings from peer: (also guarded by mu)\n\tmaxFrameSize          uint32\n\tmaxConcurrentStreams  uint32\n\tpeerMaxHeaderListSize uint64\n\tinitialWindowSize     uint32\n\n\thbuf    bytes.Buffer // HPACK encoder writes into this\n\thenc    *hpack.Encoder\n\tfreeBuf [][]byte\n\n\twmu  sync.Mutex // held while writing; acquire AFTER mu if holding both\n\twerr error      // first write error that has occurred\n}\n\n// clientStream is the state for a single HTTP/2 stream. One of these\n// is created for each Transport.RoundTrip call.\ntype clientStream struct {\n\tcc            *ClientConn\n\treq           *http.Request\n\ttrace         *clientTrace // or nil\n\tID            uint32\n\tresc          chan resAndError\n\tbufPipe       pipe // buffered pipe with the flow-controlled response payload\n\tstartedWrite  bool // started request body write; guarded by cc.mu\n\trequestedGzip bool\n\ton100         func() // optional code to run if get a 100 continue response\n\n\tflow        flow  // guarded by cc.mu\n\tinflow      flow  // guarded by cc.mu\n\tbytesRemain int64 // -1 means unknown; owned by transportResponseBody.Read\n\treadErr     error // sticky read error; owned by transportResponseBody.Read\n\tstopReqBody error // if non-nil, stop writing req body; guarded by cc.mu\n\tdidReset    bool  // whether we sent a RST_STREAM to the server; guarded by cc.mu\n\n\tpeerReset chan struct{} // closed on peer reset\n\tresetErr  error         // populated before peerReset is closed\n\n\tdone chan struct{} // closed when stream remove from cc.streams map; close calls guarded by cc.mu\n\n\t// owned by clientConnReadLoop:\n\tfirstByte    bool  // got the first response byte\n\tpastHeaders  bool  // got first MetaHeadersFrame (actual headers)\n\tpastTrailers bool  // got optional second MetaHeadersFrame (trailers)\n\tnum1xx       uint8 // number of 1xx responses seen\n\n\ttrailer    http.Header  // accumulated trailers\n\tresTrailer *http.Header // client's Response.Trailer\n}\n\n// awaitRequestCancel waits for the user to cancel a request or for the done\n// channel to be signaled. A non-nil error is returned only if the request was\n// canceled.\nfunc awaitRequestCancel(req *http.Request, done <-chan struct{}) error {\n\tctx := reqContext(req)\n\tif req.Cancel == nil && ctx.Done() == nil {\n\t\treturn nil\n\t}\n\tselect {\n\tcase <-req.Cancel:\n\t\treturn errRequestCanceled\n\tcase <-ctx.Done():\n\t\treturn ctx.Err()\n\tcase <-done:\n\t\treturn nil\n\t}\n}\n\nvar got1xxFuncForTests func(int, textproto.MIMEHeader) error\n\n// get1xxTraceFunc returns the value of request's httptrace.ClientTrace.Got1xxResponse func,\n// if any. It returns nil if not set or if the Go version is too old.\nfunc (cs *clientStream) get1xxTraceFunc() func(int, textproto.MIMEHeader) error {\n\tif fn := got1xxFuncForTests; fn != nil {\n\t\treturn fn\n\t}\n\treturn traceGot1xxResponseFunc(cs.trace)\n}\n\n// awaitRequestCancel waits for the user to cancel a request, its context to\n// expire, or for the request to be done (any way it might be removed from the\n// cc.streams map: peer reset, successful completion, TCP connection breakage,\n// etc). If the request is canceled, then cs will be canceled and closed.\nfunc (cs *clientStream) awaitRequestCancel(req *http.Request) {\n\tif err := awaitRequestCancel(req, cs.done); err != nil {\n\t\tcs.cancelStream()\n\t\tcs.bufPipe.CloseWithError(err)\n\t}\n}\n\nfunc (cs *clientStream) cancelStream() {\n\tcc := cs.cc\n\tcc.mu.Lock()\n\tdidReset := cs.didReset\n\tcs.didReset = true\n\tcc.mu.Unlock()\n\n\tif !didReset {\n\t\tcc.writeStreamReset(cs.ID, ErrCodeCancel, nil)\n\t\tcc.forgetStreamID(cs.ID)\n\t}\n}\n\n// checkResetOrDone reports any error sent in a RST_STREAM frame by the\n// server, or errStreamClosed if the stream is complete.\nfunc (cs *clientStream) checkResetOrDone() error {\n\tselect {\n\tcase <-cs.peerReset:\n\t\treturn cs.resetErr\n\tcase <-cs.done:\n\t\treturn errStreamClosed\n\tdefault:\n\t\treturn nil\n\t}\n}\n\nfunc (cs *clientStream) getStartedWrite() bool {\n\tcc := cs.cc\n\tcc.mu.Lock()\n\tdefer cc.mu.Unlock()\n\treturn cs.startedWrite\n}\n\nfunc (cs *clientStream) abortRequestBodyWrite(err error) {\n\tif err == nil {\n\t\tpanic(\"nil error\")\n\t}\n\tcc := cs.cc\n\tcc.mu.Lock()\n\tcs.stopReqBody = err\n\tcc.cond.Broadcast()\n\tcc.mu.Unlock()\n}\n\ntype stickyErrWriter struct {\n\tw   io.Writer\n\terr *error\n}\n\nfunc (sew stickyErrWriter) Write(p []byte) (n int, err error) {\n\tif *sew.err != nil {\n\t\treturn 0, *sew.err\n\t}\n\tn, err = sew.w.Write(p)\n\t*sew.err = err\n\treturn\n}\n\n// noCachedConnError is the concrete type of ErrNoCachedConn, which\n// needs to be detected by net/http regardless of whether it's its\n// bundled version (in h2_bundle.go with a rewritten type name) or\n// from a user's x/net/http2. As such, as it has a unique method name\n// (IsHTTP2NoCachedConnError) that net/http sniffs for via func\n// isNoCachedConnError.\ntype noCachedConnError struct{}\n\nfunc (noCachedConnError) IsHTTP2NoCachedConnError() {}\nfunc (noCachedConnError) Error() string             { return \"http2: no cached connection was available\" }\n\n// isNoCachedConnError reports whether err is of type noCachedConnError\n// or its equivalent renamed type in net/http2's h2_bundle.go. Both types\n// may coexist in the same running program.\nfunc isNoCachedConnError(err error) bool {\n\t_, ok := err.(interface{ IsHTTP2NoCachedConnError() })\n\treturn ok\n}\n\nvar ErrNoCachedConn error = noCachedConnError{}\n\n// RoundTripOpt are options for the Transport.RoundTripOpt method.\ntype RoundTripOpt struct {\n\t// OnlyCachedConn controls whether RoundTripOpt may\n\t// create a new TCP connection. If set true and\n\t// no cached connection is available, RoundTripOpt\n\t// will return ErrNoCachedConn.\n\tOnlyCachedConn bool\n}\n\nfunc (t *Transport) RoundTrip(req *http.Request) (*http.Response, error) {\n\treturn t.RoundTripOpt(req, RoundTripOpt{})\n}\n\n// authorityAddr returns a given authority (a host/IP, or host:port / ip:port)\n// and returns a host:port. The port 443 is added if needed.\nfunc authorityAddr(scheme string, authority string) (addr string) {\n\thost, port, err := net.SplitHostPort(authority)\n\tif err != nil { // authority didn't have a port\n\t\tport = \"443\"\n\t\tif scheme == \"http\" {\n\t\t\tport = \"80\"\n\t\t}\n\t\thost = authority\n\t}\n\tif a, err := idna.ToASCII(host); err == nil {\n\t\thost = a\n\t}\n\t// IPv6 address literal, without a port:\n\tif strings.HasPrefix(host, \"[\") && strings.HasSuffix(host, \"]\") {\n\t\treturn host + \":\" + port\n\t}\n\treturn net.JoinHostPort(host, port)\n}\n\n// RoundTripOpt is like RoundTrip, but takes options.\nfunc (t *Transport) RoundTripOpt(req *http.Request, opt RoundTripOpt) (*http.Response, error) {\n\tif !(req.URL.Scheme == \"https\" || (req.URL.Scheme == \"http\" && t.AllowHTTP)) {\n\t\treturn nil, errors.New(\"http2: unsupported scheme\")\n\t}\n\n\taddr := authorityAddr(req.URL.Scheme, req.URL.Host)\n\tfor retry := 0; ; retry++ {\n\t\tcc, err := t.connPool().GetClientConn(req, addr)\n\t\tif err != nil {\n\t\t\tt.vlogf(\"http2: Transport failed to get client conn for %s: %v\", addr, err)\n\t\t\treturn nil, err\n\t\t}\n\t\ttraceGotConn(req, cc)\n\t\tres, gotErrAfterReqBodyWrite, err := cc.roundTrip(req)\n\t\tif err != nil && retry <= 6 {\n\t\t\tif req, err = shouldRetryRequest(req, err, gotErrAfterReqBodyWrite); err == nil {\n\t\t\t\t// After the first retry, do exponential backoff with 10% jitter.\n\t\t\t\tif retry == 0 {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tbackoff := float64(uint(1) << (uint(retry) - 1))\n\t\t\t\tbackoff += backoff * (0.1 * mathrand.Float64())\n\t\t\t\tselect {\n\t\t\t\tcase <-time.After(time.Second * time.Duration(backoff)):\n\t\t\t\t\tcontinue\n\t\t\t\tcase <-reqContext(req).Done():\n\t\t\t\t\treturn nil, reqContext(req).Err()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif err != nil {\n\t\t\tt.vlogf(\"RoundTrip failure: %v\", err)\n\t\t\treturn nil, err\n\t\t}\n\t\treturn res, nil\n\t}\n}\n\n// CloseIdleConnections closes any connections which were previously\n// connected from previous requests but are now sitting idle.\n// It does not interrupt any connections currently in use.\nfunc (t *Transport) CloseIdleConnections() {\n\tif cp, ok := t.connPool().(clientConnPoolIdleCloser); ok {\n\t\tcp.closeIdleConnections()\n\t}\n}\n\nvar (\n\terrClientConnClosed    = errors.New(\"http2: client conn is closed\")\n\terrClientConnUnusable  = errors.New(\"http2: client conn not usable\")\n\terrClientConnGotGoAway = errors.New(\"http2: Transport received Server's graceful shutdown GOAWAY\")\n)\n\n// shouldRetryRequest is called by RoundTrip when a request fails to get\n// response headers. It is always called with a non-nil error.\n// It returns either a request to retry (either the same request, or a\n// modified clone), or an error if the request can't be replayed.\nfunc shouldRetryRequest(req *http.Request, err error, afterBodyWrite bool) (*http.Request, error) {\n\tif !canRetryError(err) {\n\t\treturn nil, err\n\t}\n\t// If the Body is nil (or http.NoBody), it's safe to reuse\n\t// this request and its Body.\n\tif req.Body == nil || reqBodyIsNoBody(req.Body) {\n\t\treturn req, nil\n\t}\n\n\t// If the request body can be reset back to its original\n\t// state via the optional req.GetBody, do that.\n\tgetBody := reqGetBody(req) // Go 1.8: getBody = req.GetBody\n\tif getBody != nil {\n\t\t// TODO: consider a req.Body.Close here? or audit that all caller paths do?\n\t\tbody, err := getBody()\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tnewReq := *req\n\t\tnewReq.Body = body\n\t\treturn &newReq, nil\n\t}\n\n\t// The Request.Body can't reset back to the beginning, but we\n\t// don't seem to have started to read from it yet, so reuse\n\t// the request directly. The \"afterBodyWrite\" means the\n\t// bodyWrite process has started, which becomes true before\n\t// the first Read.\n\tif !afterBodyWrite {\n\t\treturn req, nil\n\t}\n\n\treturn nil, fmt.Errorf(\"http2: Transport: cannot retry err [%v] after Request.Body was written; define Request.GetBody to avoid this error\", err)\n}\n\nfunc canRetryError(err error) bool {\n\tif err == errClientConnUnusable || err == errClientConnGotGoAway {\n\t\treturn true\n\t}\n\tif se, ok := err.(StreamError); ok {\n\t\treturn se.Code == ErrCodeRefusedStream\n\t}\n\treturn false\n}\n\nfunc (t *Transport) dialClientConn(addr string, singleUse bool) (*ClientConn, error) {\n\thost, _, err := net.SplitHostPort(addr)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\ttconn, err := t.dialTLS()(\"tcp\", addr, t.newTLSConfig(host))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn t.newClientConn(tconn, singleUse)\n}\n\nfunc (t *Transport) newTLSConfig(host string) *tls.Config {\n\tcfg := new(tls.Config)\n\tif t.TLSClientConfig != nil {\n\t\t*cfg = *cloneTLSConfig(t.TLSClientConfig)\n\t}\n\tif !strSliceContains(cfg.NextProtos, NextProtoTLS) {\n\t\tcfg.NextProtos = append([]string{NextProtoTLS}, cfg.NextProtos...)\n\t}\n\tif cfg.ServerName == \"\" {\n\t\tcfg.ServerName = host\n\t}\n\treturn cfg\n}\n\nfunc (t *Transport) dialTLS() func(string, string, *tls.Config) (net.Conn, error) {\n\tif t.DialTLS != nil {\n\t\treturn t.DialTLS\n\t}\n\treturn t.dialTLSDefault\n}\n\nfunc (t *Transport) dialTLSDefault(network, addr string, cfg *tls.Config) (net.Conn, error) {\n\tcn, err := tls.Dial(network, addr, cfg)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tif err := cn.Handshake(); err != nil {\n\t\treturn nil, err\n\t}\n\tif !cfg.InsecureSkipVerify {\n\t\tif err := cn.VerifyHostname(cfg.ServerName); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\tstate := cn.ConnectionState()\n\tif p := state.NegotiatedProtocol; p != NextProtoTLS {\n\t\treturn nil, fmt.Errorf(\"http2: unexpected ALPN protocol %q; want %q\", p, NextProtoTLS)\n\t}\n\tif !state.NegotiatedProtocolIsMutual {\n\t\treturn nil, errors.New(\"http2: could not negotiate protocol mutually\")\n\t}\n\treturn cn, nil\n}\n\n// disableKeepAlives reports whether connections should be closed as\n// soon as possible after handling the first request.\nfunc (t *Transport) disableKeepAlives() bool {\n\treturn t.t1 != nil && t.t1.DisableKeepAlives\n}\n\nfunc (t *Transport) expectContinueTimeout() time.Duration {\n\tif t.t1 == nil {\n\t\treturn 0\n\t}\n\treturn transportExpectContinueTimeout(t.t1)\n}\n\nfunc (t *Transport) NewClientConn(c net.Conn) (*ClientConn, error) {\n\treturn t.newClientConn(c, false)\n}\n\nfunc (t *Transport) newClientConn(c net.Conn, singleUse bool) (*ClientConn, error) {\n\tcc := &ClientConn{\n\t\tt:                     t,\n\t\ttconn:                 c,\n\t\treaderDone:            make(chan struct{}),\n\t\tnextStreamID:          1,\n\t\tmaxFrameSize:          16 << 10,           // spec default\n\t\tinitialWindowSize:     65535,              // spec default\n\t\tmaxConcurrentStreams:  1000,               // \"infinite\", per spec. 1000 seems good enough.\n\t\tpeerMaxHeaderListSize: 0xffffffffffffffff, // \"infinite\", per spec. Use 2^64-1 instead.\n\t\tstreams:               make(map[uint32]*clientStream),\n\t\tsingleUse:             singleUse,\n\t\twantSettingsAck:       true,\n\t\tpings:                 make(map[[8]byte]chan struct{}),\n\t}\n\tif d := t.idleConnTimeout(); d != 0 {\n\t\tcc.idleTimeout = d\n\t\tcc.idleTimer = time.AfterFunc(d, cc.onIdleTimeout)\n\t}\n\tif VerboseLogs {\n\t\tt.vlogf(\"http2: Transport creating client conn %p to %v\", cc, c.RemoteAddr())\n\t}\n\n\tcc.cond = sync.NewCond(&cc.mu)\n\tcc.flow.add(int32(initialWindowSize))\n\n\t// TODO: adjust this writer size to account for frame size +\n\t// MTU + crypto/tls record padding.\n\tcc.bw = bufio.NewWriter(stickyErrWriter{c, &cc.werr})\n\tcc.br = bufio.NewReader(c)\n\tcc.fr = NewFramer(cc.bw, cc.br)\n\tcc.fr.ReadMetaHeaders = hpack.NewDecoder(initialHeaderTableSize, nil)\n\tcc.fr.MaxHeaderListSize = t.maxHeaderListSize()\n\n\t// TODO: SetMaxDynamicTableSize, SetMaxDynamicTableSizeLimit on\n\t// henc in response to SETTINGS frames?\n\tcc.henc = hpack.NewEncoder(&cc.hbuf)\n\n\tif t.AllowHTTP {\n\t\tcc.nextStreamID = 3\n\t}\n\n\tif cs, ok := c.(connectionStater); ok {\n\t\tstate := cs.ConnectionState()\n\t\tcc.tlsState = &state\n\t}\n\n\tinitialSettings := []Setting{\n\t\t{ID: SettingEnablePush, Val: 0},\n\t\t{ID: SettingInitialWindowSize, Val: transportDefaultStreamFlow},\n\t}\n\tif max := t.maxHeaderListSize(); max != 0 {\n\t\tinitialSettings = append(initialSettings, Setting{ID: SettingMaxHeaderListSize, Val: max})\n\t}\n\n\tcc.bw.Write(clientPreface)\n\tcc.fr.WriteSettings(initialSettings...)\n\tcc.fr.WriteWindowUpdate(0, transportDefaultConnFlow)\n\tcc.inflow.add(transportDefaultConnFlow + initialWindowSize)\n\tcc.bw.Flush()\n\tif cc.werr != nil {\n\t\treturn nil, cc.werr\n\t}\n\n\tgo cc.readLoop()\n\treturn cc, nil\n}\n\nfunc (cc *ClientConn) setGoAway(f *GoAwayFrame) {\n\tcc.mu.Lock()\n\tdefer cc.mu.Unlock()\n\n\told := cc.goAway\n\tcc.goAway = f\n\n\t// Merge the previous and current GoAway error frames.\n\tif cc.goAwayDebug == \"\" {\n\t\tcc.goAwayDebug = string(f.DebugData())\n\t}\n\tif old != nil && old.ErrCode != ErrCodeNo {\n\t\tcc.goAway.ErrCode = old.ErrCode\n\t}\n\tlast := f.LastStreamID\n\tfor streamID, cs := range cc.streams {\n\t\tif streamID > last {\n\t\t\tselect {\n\t\t\tcase cs.resc <- resAndError{err: errClientConnGotGoAway}:\n\t\t\tdefault:\n\t\t\t}\n\t\t}\n\t}\n}\n\n// CanTakeNewRequest reports whether the connection can take a new request,\n// meaning it has not been closed or received or sent a GOAWAY.\nfunc (cc *ClientConn) CanTakeNewRequest() bool {\n\tcc.mu.Lock()\n\tdefer cc.mu.Unlock()\n\treturn cc.canTakeNewRequestLocked()\n}\n\n// clientConnIdleState describes the suitability of a client\n// connection to initiate a new RoundTrip request.\ntype clientConnIdleState struct {\n\tcanTakeNewRequest bool\n\tfreshConn         bool // whether it's unused by any previous request\n}\n\nfunc (cc *ClientConn) idleState() clientConnIdleState {\n\tcc.mu.Lock()\n\tdefer cc.mu.Unlock()\n\treturn cc.idleStateLocked()\n}\n\nfunc (cc *ClientConn) idleStateLocked() (st clientConnIdleState) {\n\tif cc.singleUse && cc.nextStreamID > 1 {\n\t\treturn\n\t}\n\tst.canTakeNewRequest = cc.goAway == nil && !cc.closed && !cc.closing &&\n\t\tint64(cc.nextStreamID)+int64(cc.pendingRequests) < math.MaxInt32\n\tst.freshConn = cc.nextStreamID == 1 && st.canTakeNewRequest\n\treturn\n}\n\nfunc (cc *ClientConn) canTakeNewRequestLocked() bool {\n\tst := cc.idleStateLocked()\n\treturn st.canTakeNewRequest\n}\n\n// onIdleTimeout is called from a time.AfterFunc goroutine. It will\n// only be called when we're idle, but because we're coming from a new\n// goroutine, there could be a new request coming in at the same time,\n// so this simply calls the synchronized closeIfIdle to shut down this\n// connection. The timer could just call closeIfIdle, but this is more\n// clear.\nfunc (cc *ClientConn) onIdleTimeout() {\n\tcc.closeIfIdle()\n}\n\nfunc (cc *ClientConn) closeIfIdle() {\n\tcc.mu.Lock()\n\tif len(cc.streams) > 0 {\n\t\tcc.mu.Unlock()\n\t\treturn\n\t}\n\tcc.closed = true\n\tnextID := cc.nextStreamID\n\t// TODO: do clients send GOAWAY too? maybe? Just Close:\n\tcc.mu.Unlock()\n\n\tif VerboseLogs {\n\t\tcc.vlogf(\"http2: Transport closing idle conn %p (forSingleUse=%v, maxStream=%v)\", cc, cc.singleUse, nextID-2)\n\t}\n\tcc.tconn.Close()\n}\n\nvar shutdownEnterWaitStateHook = func() {}\n\n// Shutdown gracefully close the client connection, waiting for running streams to complete.\n// Public implementation is in go17.go and not_go17.go\nfunc (cc *ClientConn) shutdown(ctx contextContext) error {\n\tif err := cc.sendGoAway(); err != nil {\n\t\treturn err\n\t}\n\t// Wait for all in-flight streams to complete or connection to close\n\tdone := make(chan error, 1)\n\tcancelled := false // guarded by cc.mu\n\tgo func() {\n\t\tcc.mu.Lock()\n\t\tdefer cc.mu.Unlock()\n\t\tfor {\n\t\t\tif len(cc.streams) == 0 || cc.closed {\n\t\t\t\tcc.closed = true\n\t\t\t\tdone <- cc.tconn.Close()\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tif cancelled {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tcc.cond.Wait()\n\t\t}\n\t}()\n\tshutdownEnterWaitStateHook()\n\tselect {\n\tcase err := <-done:\n\t\treturn err\n\tcase <-ctx.Done():\n\t\tcc.mu.Lock()\n\t\t// Free the goroutine above\n\t\tcancelled = true\n\t\tcc.cond.Broadcast()\n\t\tcc.mu.Unlock()\n\t\treturn ctx.Err()\n\t}\n}\n\nfunc (cc *ClientConn) sendGoAway() error {\n\tcc.mu.Lock()\n\tdefer cc.mu.Unlock()\n\tcc.wmu.Lock()\n\tdefer cc.wmu.Unlock()\n\tif cc.closing {\n\t\t// GOAWAY sent already\n\t\treturn nil\n\t}\n\t// Send a graceful shutdown frame to server\n\tmaxStreamID := cc.nextStreamID\n\tif err := cc.fr.WriteGoAway(maxStreamID, ErrCodeNo, nil); err != nil {\n\t\treturn err\n\t}\n\tif err := cc.bw.Flush(); err != nil {\n\t\treturn err\n\t}\n\t// Prevent new requests\n\tcc.closing = true\n\treturn nil\n}\n\n// Close closes the client connection immediately.\n//\n// In-flight requests are interrupted. For a graceful shutdown, use Shutdown instead.\nfunc (cc *ClientConn) Close() error {\n\tcc.mu.Lock()\n\tdefer cc.cond.Broadcast()\n\tdefer cc.mu.Unlock()\n\terr := errors.New(\"http2: client connection force closed via ClientConn.Close\")\n\tfor id, cs := range cc.streams {\n\t\tselect {\n\t\tcase cs.resc <- resAndError{err: err}:\n\t\tdefault:\n\t\t}\n\t\tcs.bufPipe.CloseWithError(err)\n\t\tdelete(cc.streams, id)\n\t}\n\tcc.closed = true\n\treturn cc.tconn.Close()\n}\n\nconst maxAllocFrameSize = 512 << 10\n\n// frameBuffer returns a scratch buffer suitable for writing DATA frames.\n// They're capped at the min of the peer's max frame size or 512KB\n// (kinda arbitrarily), but definitely capped so we don't allocate 4GB\n// bufers.\nfunc (cc *ClientConn) frameScratchBuffer() []byte {\n\tcc.mu.Lock()\n\tsize := cc.maxFrameSize\n\tif size > maxAllocFrameSize {\n\t\tsize = maxAllocFrameSize\n\t}\n\tfor i, buf := range cc.freeBuf {\n\t\tif len(buf) >= int(size) {\n\t\t\tcc.freeBuf[i] = nil\n\t\t\tcc.mu.Unlock()\n\t\t\treturn buf[:size]\n\t\t}\n\t}\n\tcc.mu.Unlock()\n\treturn make([]byte, size)\n}\n\nfunc (cc *ClientConn) putFrameScratchBuffer(buf []byte) {\n\tcc.mu.Lock()\n\tdefer cc.mu.Unlock()\n\tconst maxBufs = 4 // arbitrary; 4 concurrent requests per conn? investigate.\n\tif len(cc.freeBuf) < maxBufs {\n\t\tcc.freeBuf = append(cc.freeBuf, buf)\n\t\treturn\n\t}\n\tfor i, old := range cc.freeBuf {\n\t\tif old == nil {\n\t\t\tcc.freeBuf[i] = buf\n\t\t\treturn\n\t\t}\n\t}\n\t// forget about it.\n}\n\n// errRequestCanceled is a copy of net/http's errRequestCanceled because it's not\n// exported. At least they'll be DeepEqual for h1-vs-h2 comparisons tests.\nvar errRequestCanceled = errors.New(\"net/http: request canceled\")\n\nfunc commaSeparatedTrailers(req *http.Request) (string, error) {\n\tkeys := make([]string, 0, len(req.Trailer))\n\tfor k := range req.Trailer {\n\t\tk = http.CanonicalHeaderKey(k)\n\t\tswitch k {\n\t\tcase \"Transfer-Encoding\", \"Trailer\", \"Content-Length\":\n\t\t\treturn \"\", &badStringError{\"invalid Trailer key\", k}\n\t\t}\n\t\tkeys = append(keys, k)\n\t}\n\tif len(keys) > 0 {\n\t\tsort.Strings(keys)\n\t\treturn strings.Join(keys, \",\"), nil\n\t}\n\treturn \"\", nil\n}\n\nfunc (cc *ClientConn) responseHeaderTimeout() time.Duration {\n\tif cc.t.t1 != nil {\n\t\treturn cc.t.t1.ResponseHeaderTimeout\n\t}\n\t// No way to do this (yet?) with just an http2.Transport. Probably\n\t// no need. Request.Cancel this is the new way. We only need to support\n\t// this for compatibility with the old http.Transport fields when\n\t// we're doing transparent http2.\n\treturn 0\n}\n\n// checkConnHeaders checks whether req has any invalid connection-level headers.\n// per RFC 7540 section 8.1.2.2: Connection-Specific Header Fields.\n// Certain headers are special-cased as okay but not transmitted later.\nfunc checkConnHeaders(req *http.Request) error {\n\tif v := req.Header.Get(\"Upgrade\"); v != \"\" {\n\t\treturn fmt.Errorf(\"http2: invalid Upgrade request header: %q\", req.Header[\"Upgrade\"])\n\t}\n\tif vv := req.Header[\"Transfer-Encoding\"]; len(vv) > 0 && (len(vv) > 1 || vv[0] != \"\" && vv[0] != \"chunked\") {\n\t\treturn fmt.Errorf(\"http2: invalid Transfer-Encoding request header: %q\", vv)\n\t}\n\tif vv := req.Header[\"Connection\"]; len(vv) > 0 && (len(vv) > 1 || vv[0] != \"\" && !strings.EqualFold(vv[0], \"close\") && !strings.EqualFold(vv[0], \"keep-alive\")) {\n\t\treturn fmt.Errorf(\"http2: invalid Connection request header: %q\", vv)\n\t}\n\treturn nil\n}\n\n// actualContentLength returns a sanitized version of\n// req.ContentLength, where 0 actually means zero (not unknown) and -1\n// means unknown.\nfunc actualContentLength(req *http.Request) int64 {\n\tif req.Body == nil || reqBodyIsNoBody(req.Body) {\n\t\treturn 0\n\t}\n\tif req.ContentLength != 0 {\n\t\treturn req.ContentLength\n\t}\n\treturn -1\n}\n\nfunc (cc *ClientConn) RoundTrip(req *http.Request) (*http.Response, error) {\n\tresp, _, err := cc.roundTrip(req)\n\treturn resp, err\n}\n\nfunc (cc *ClientConn) roundTrip(req *http.Request) (res *http.Response, gotErrAfterReqBodyWrite bool, err error) {\n\tif err := checkConnHeaders(req); err != nil {\n\t\treturn nil, false, err\n\t}\n\tif cc.idleTimer != nil {\n\t\tcc.idleTimer.Stop()\n\t}\n\n\ttrailers, err := commaSeparatedTrailers(req)\n\tif err != nil {\n\t\treturn nil, false, err\n\t}\n\thasTrailers := trailers != \"\"\n\n\tcc.mu.Lock()\n\tif err := cc.awaitOpenSlotForRequest(req); err != nil {\n\t\tcc.mu.Unlock()\n\t\treturn nil, false, err\n\t}\n\n\tbody := req.Body\n\tcontentLen := actualContentLength(req)\n\thasBody := contentLen != 0\n\n\t// TODO(bradfitz): this is a copy of the logic in net/http. Unify somewhere?\n\tvar requestedGzip bool\n\tif !cc.t.disableCompression() &&\n\t\treq.Header.Get(\"Accept-Encoding\") == \"\" &&\n\t\treq.Header.Get(\"Range\") == \"\" &&\n\t\treq.Method != \"HEAD\" {\n\t\t// Request gzip only, not deflate. Deflate is ambiguous and\n\t\t// not as universally supported anyway.\n\t\t// See: http://www.gzip.org/zlib/zlib_faq.html#faq38\n\t\t//\n\t\t// Note that we don't request this for HEAD requests,\n\t\t// due to a bug in nginx:\n\t\t//   http://trac.nginx.org/nginx/ticket/358\n\t\t//   https://golang.org/issue/5522\n\t\t//\n\t\t// We don't request gzip if the request is for a range, since\n\t\t// auto-decoding a portion of a gzipped document will just fail\n\t\t// anyway. See https://golang.org/issue/8923\n\t\trequestedGzip = true\n\t}\n\n\t// we send: HEADERS{1}, CONTINUATION{0,} + DATA{0,} (DATA is\n\t// sent by writeRequestBody below, along with any Trailers,\n\t// again in form HEADERS{1}, CONTINUATION{0,})\n\thdrs, err := cc.encodeHeaders(req, requestedGzip, trailers, contentLen)\n\tif err != nil {\n\t\tcc.mu.Unlock()\n\t\treturn nil, false, err\n\t}\n\n\tcs := cc.newStream()\n\tcs.req = req\n\tcs.trace = requestTrace(req)\n\tcs.requestedGzip = requestedGzip\n\tbodyWriter := cc.t.getBodyWriterState(cs, body)\n\tcs.on100 = bodyWriter.on100\n\n\tcc.wmu.Lock()\n\tendStream := !hasBody && !hasTrailers\n\twerr := cc.writeHeaders(cs.ID, endStream, int(cc.maxFrameSize), hdrs)\n\tcc.wmu.Unlock()\n\ttraceWroteHeaders(cs.trace)\n\tcc.mu.Unlock()\n\n\tif werr != nil {\n\t\tif hasBody {\n\t\t\treq.Body.Close() // per RoundTripper contract\n\t\t\tbodyWriter.cancel()\n\t\t}\n\t\tcc.forgetStreamID(cs.ID)\n\t\t// Don't bother sending a RST_STREAM (our write already failed;\n\t\t// no need to keep writing)\n\t\ttraceWroteRequest(cs.trace, werr)\n\t\treturn nil, false, werr\n\t}\n\n\tvar respHeaderTimer <-chan time.Time\n\tif hasBody {\n\t\tbodyWriter.scheduleBodyWrite()\n\t} else {\n\t\ttraceWroteRequest(cs.trace, nil)\n\t\tif d := cc.responseHeaderTimeout(); d != 0 {\n\t\t\ttimer := time.NewTimer(d)\n\t\t\tdefer timer.Stop()\n\t\t\trespHeaderTimer = timer.C\n\t\t}\n\t}\n\n\treadLoopResCh := cs.resc\n\tbodyWritten := false\n\tctx := reqContext(req)\n\n\thandleReadLoopResponse := func(re resAndError) (*http.Response, bool, error) {\n\t\tres := re.res\n\t\tif re.err != nil || res.StatusCode > 299 {\n\t\t\t// On error or status code 3xx, 4xx, 5xx, etc abort any\n\t\t\t// ongoing write, assuming that the server doesn't care\n\t\t\t// about our request body. If the server replied with 1xx or\n\t\t\t// 2xx, however, then assume the server DOES potentially\n\t\t\t// want our body (e.g. full-duplex streaming:\n\t\t\t// golang.org/issue/13444). If it turns out the server\n\t\t\t// doesn't, they'll RST_STREAM us soon enough. This is a\n\t\t\t// heuristic to avoid adding knobs to Transport. Hopefully\n\t\t\t// we can keep it.\n\t\t\tbodyWriter.cancel()\n\t\t\tcs.abortRequestBodyWrite(errStopReqBodyWrite)\n\t\t}\n\t\tif re.err != nil {\n\t\t\tcc.forgetStreamID(cs.ID)\n\t\t\treturn nil, cs.getStartedWrite(), re.err\n\t\t}\n\t\tres.Request = req\n\t\tres.TLS = cc.tlsState\n\t\treturn res, false, nil\n\t}\n\n\tfor {\n\t\tselect {\n\t\tcase re := <-readLoopResCh:\n\t\t\treturn handleReadLoopResponse(re)\n\t\tcase <-respHeaderTimer:\n\t\t\tif !hasBody || bodyWritten {\n\t\t\t\tcc.writeStreamReset(cs.ID, ErrCodeCancel, nil)\n\t\t\t} else {\n\t\t\t\tbodyWriter.cancel()\n\t\t\t\tcs.abortRequestBodyWrite(errStopReqBodyWriteAndCancel)\n\t\t\t}\n\t\t\tcc.forgetStreamID(cs.ID)\n\t\t\treturn nil, cs.getStartedWrite(), errTimeout\n\t\tcase <-ctx.Done():\n\t\t\tif !hasBody || bodyWritten {\n\t\t\t\tcc.writeStreamReset(cs.ID, ErrCodeCancel, nil)\n\t\t\t} else {\n\t\t\t\tbodyWriter.cancel()\n\t\t\t\tcs.abortRequestBodyWrite(errStopReqBodyWriteAndCancel)\n\t\t\t}\n\t\t\tcc.forgetStreamID(cs.ID)\n\t\t\treturn nil, cs.getStartedWrite(), ctx.Err()\n\t\tcase <-req.Cancel:\n\t\t\tif !hasBody || bodyWritten {\n\t\t\t\tcc.writeStreamReset(cs.ID, ErrCodeCancel, nil)\n\t\t\t} else {\n\t\t\t\tbodyWriter.cancel()\n\t\t\t\tcs.abortRequestBodyWrite(errStopReqBodyWriteAndCancel)\n\t\t\t}\n\t\t\tcc.forgetStreamID(cs.ID)\n\t\t\treturn nil, cs.getStartedWrite(), errRequestCanceled\n\t\tcase <-cs.peerReset:\n\t\t\t// processResetStream already removed the\n\t\t\t// stream from the streams map; no need for\n\t\t\t// forgetStreamID.\n\t\t\treturn nil, cs.getStartedWrite(), cs.resetErr\n\t\tcase err := <-bodyWriter.resc:\n\t\t\t// Prefer the read loop's response, if available. Issue 16102.\n\t\t\tselect {\n\t\t\tcase re := <-readLoopResCh:\n\t\t\t\treturn handleReadLoopResponse(re)\n\t\t\tdefault:\n\t\t\t}\n\t\t\tif err != nil {\n\t\t\t\treturn nil, cs.getStartedWrite(), err\n\t\t\t}\n\t\t\tbodyWritten = true\n\t\t\tif d := cc.responseHeaderTimeout(); d != 0 {\n\t\t\t\ttimer := time.NewTimer(d)\n\t\t\t\tdefer timer.Stop()\n\t\t\t\trespHeaderTimer = timer.C\n\t\t\t}\n\t\t}\n\t}\n}\n\n// awaitOpenSlotForRequest waits until len(streams) < maxConcurrentStreams.\n// Must hold cc.mu.\nfunc (cc *ClientConn) awaitOpenSlotForRequest(req *http.Request) error {\n\tvar waitingForConn chan struct{}\n\tvar waitingForConnErr error // guarded by cc.mu\n\tfor {\n\t\tcc.lastActive = time.Now()\n\t\tif cc.closed || !cc.canTakeNewRequestLocked() {\n\t\t\tif waitingForConn != nil {\n\t\t\t\tclose(waitingForConn)\n\t\t\t}\n\t\t\treturn errClientConnUnusable\n\t\t}\n\t\tif int64(len(cc.streams))+1 <= int64(cc.maxConcurrentStreams) {\n\t\t\tif waitingForConn != nil {\n\t\t\t\tclose(waitingForConn)\n\t\t\t}\n\t\t\treturn nil\n\t\t}\n\t\t// Unfortunately, we cannot wait on a condition variable and channel at\n\t\t// the same time, so instead, we spin up a goroutine to check if the\n\t\t// request is canceled while we wait for a slot to open in the connection.\n\t\tif waitingForConn == nil {\n\t\t\twaitingForConn = make(chan struct{})\n\t\t\tgo func() {\n\t\t\t\tif err := awaitRequestCancel(req, waitingForConn); err != nil {\n\t\t\t\t\tcc.mu.Lock()\n\t\t\t\t\twaitingForConnErr = err\n\t\t\t\t\tcc.cond.Broadcast()\n\t\t\t\t\tcc.mu.Unlock()\n\t\t\t\t}\n\t\t\t}()\n\t\t}\n\t\tcc.pendingRequests++\n\t\tcc.cond.Wait()\n\t\tcc.pendingRequests--\n\t\tif waitingForConnErr != nil {\n\t\t\treturn waitingForConnErr\n\t\t}\n\t}\n}\n\n// requires cc.wmu be held\nfunc (cc *ClientConn) writeHeaders(streamID uint32, endStream bool, maxFrameSize int, hdrs []byte) error {\n\tfirst := true // first frame written (HEADERS is first, then CONTINUATION)\n\tfor len(hdrs) > 0 && cc.werr == nil {\n\t\tchunk := hdrs\n\t\tif len(chunk) > maxFrameSize {\n\t\t\tchunk = chunk[:maxFrameSize]\n\t\t}\n\t\thdrs = hdrs[len(chunk):]\n\t\tendHeaders := len(hdrs) == 0\n\t\tif first {\n\t\t\tcc.fr.WriteHeaders(HeadersFrameParam{\n\t\t\t\tStreamID:      streamID,\n\t\t\t\tBlockFragment: chunk,\n\t\t\t\tEndStream:     endStream,\n\t\t\t\tEndHeaders:    endHeaders,\n\t\t\t})\n\t\t\tfirst = false\n\t\t} else {\n\t\t\tcc.fr.WriteContinuation(streamID, endHeaders, chunk)\n\t\t}\n\t}\n\t// TODO(bradfitz): this Flush could potentially block (as\n\t// could the WriteHeaders call(s) above), which means they\n\t// wouldn't respond to Request.Cancel being readable. That's\n\t// rare, but this should probably be in a goroutine.\n\tcc.bw.Flush()\n\treturn cc.werr\n}\n\n// internal error values; they don't escape to callers\nvar (\n\t// abort request body write; don't send cancel\n\terrStopReqBodyWrite = errors.New(\"http2: aborting request body write\")\n\n\t// abort request body write, but send stream reset of cancel.\n\terrStopReqBodyWriteAndCancel = errors.New(\"http2: canceling request\")\n)\n\nfunc (cs *clientStream) writeRequestBody(body io.Reader, bodyCloser io.Closer) (err error) {\n\tcc := cs.cc\n\tsentEnd := false // whether we sent the final DATA frame w/ END_STREAM\n\tbuf := cc.frameScratchBuffer()\n\tdefer cc.putFrameScratchBuffer(buf)\n\n\tdefer func() {\n\t\ttraceWroteRequest(cs.trace, err)\n\t\t// TODO: write h12Compare test showing whether\n\t\t// Request.Body is closed by the Transport,\n\t\t// and in multiple cases: server replies <=299 and >299\n\t\t// while still writing request body\n\t\tcerr := bodyCloser.Close()\n\t\tif err == nil {\n\t\t\terr = cerr\n\t\t}\n\t}()\n\n\treq := cs.req\n\thasTrailers := req.Trailer != nil\n\n\tvar sawEOF bool\n\tfor !sawEOF {\n\t\tn, err := body.Read(buf)\n\t\tif err == io.EOF {\n\t\t\tsawEOF = true\n\t\t\terr = nil\n\t\t} else if err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tremain := buf[:n]\n\t\tfor len(remain) > 0 && err == nil {\n\t\t\tvar allowed int32\n\t\t\tallowed, err = cs.awaitFlowControl(len(remain))\n\t\t\tswitch {\n\t\t\tcase err == errStopReqBodyWrite:\n\t\t\t\treturn err\n\t\t\tcase err == errStopReqBodyWriteAndCancel:\n\t\t\t\tcc.writeStreamReset(cs.ID, ErrCodeCancel, nil)\n\t\t\t\treturn err\n\t\t\tcase err != nil:\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tcc.wmu.Lock()\n\t\t\tdata := remain[:allowed]\n\t\t\tremain = remain[allowed:]\n\t\t\tsentEnd = sawEOF && len(remain) == 0 && !hasTrailers\n\t\t\terr = cc.fr.WriteData(cs.ID, sentEnd, data)\n\t\t\tif err == nil {\n\t\t\t\t// TODO(bradfitz): this flush is for latency, not bandwidth.\n\t\t\t\t// Most requests won't need this. Make this opt-in or\n\t\t\t\t// opt-out?  Use some heuristic on the body type? Nagel-like\n\t\t\t\t// timers?  Based on 'n'? Only last chunk of this for loop,\n\t\t\t\t// unless flow control tokens are low? For now, always.\n\t\t\t\t// If we change this, see comment below.\n\t\t\t\terr = cc.bw.Flush()\n\t\t\t}\n\t\t\tcc.wmu.Unlock()\n\t\t}\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\tif sentEnd {\n\t\t// Already sent END_STREAM (which implies we have no\n\t\t// trailers) and flushed, because currently all\n\t\t// WriteData frames above get a flush. So we're done.\n\t\treturn nil\n\t}\n\n\tvar trls []byte\n\tif hasTrailers {\n\t\tcc.mu.Lock()\n\t\ttrls, err = cc.encodeTrailers(req)\n\t\tcc.mu.Unlock()\n\t\tif err != nil {\n\t\t\tcc.writeStreamReset(cs.ID, ErrCodeInternal, err)\n\t\t\tcc.forgetStreamID(cs.ID)\n\t\t\treturn err\n\t\t}\n\t}\n\n\tcc.mu.Lock()\n\tmaxFrameSize := int(cc.maxFrameSize)\n\tcc.mu.Unlock()\n\n\tcc.wmu.Lock()\n\tdefer cc.wmu.Unlock()\n\n\t// Two ways to send END_STREAM: either with trailers, or\n\t// with an empty DATA frame.\n\tif len(trls) > 0 {\n\t\terr = cc.writeHeaders(cs.ID, true, maxFrameSize, trls)\n\t} else {\n\t\terr = cc.fr.WriteData(cs.ID, true, nil)\n\t}\n\tif ferr := cc.bw.Flush(); ferr != nil && err == nil {\n\t\terr = ferr\n\t}\n\treturn err\n}\n\n// awaitFlowControl waits for [1, min(maxBytes, cc.cs.maxFrameSize)] flow\n// control tokens from the server.\n// It returns either the non-zero number of tokens taken or an error\n// if the stream is dead.\nfunc (cs *clientStream) awaitFlowControl(maxBytes int) (taken int32, err error) {\n\tcc := cs.cc\n\tcc.mu.Lock()\n\tdefer cc.mu.Unlock()\n\tfor {\n\t\tif cc.closed {\n\t\t\treturn 0, errClientConnClosed\n\t\t}\n\t\tif cs.stopReqBody != nil {\n\t\t\treturn 0, cs.stopReqBody\n\t\t}\n\t\tif err := cs.checkResetOrDone(); err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\tif a := cs.flow.available(); a > 0 {\n\t\t\ttake := a\n\t\t\tif int(take) > maxBytes {\n\n\t\t\t\ttake = int32(maxBytes) // can't truncate int; take is int32\n\t\t\t}\n\t\t\tif take > int32(cc.maxFrameSize) {\n\t\t\t\ttake = int32(cc.maxFrameSize)\n\t\t\t}\n\t\t\tcs.flow.take(take)\n\t\t\treturn take, nil\n\t\t}\n\t\tcc.cond.Wait()\n\t}\n}\n\ntype badStringError struct {\n\twhat string\n\tstr  string\n}\n\nfunc (e *badStringError) Error() string { return fmt.Sprintf(\"%s %q\", e.what, e.str) }\n\n// requires cc.mu be held.\nfunc (cc *ClientConn) encodeHeaders(req *http.Request, addGzipHeader bool, trailers string, contentLength int64) ([]byte, error) {\n\tcc.hbuf.Reset()\n\n\thost := req.Host\n\tif host == \"\" {\n\t\thost = req.URL.Host\n\t}\n\thost, err := httpguts.PunycodeHostPort(host)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tvar path string\n\tif req.Method != \"CONNECT\" {\n\t\tpath = req.URL.RequestURI()\n\t\tif !validPseudoPath(path) {\n\t\t\torig := path\n\t\t\tpath = strings.TrimPrefix(path, req.URL.Scheme+\"://\"+host)\n\t\t\tif !validPseudoPath(path) {\n\t\t\t\tif req.URL.Opaque != \"\" {\n\t\t\t\t\treturn nil, fmt.Errorf(\"invalid request :path %q from URL.Opaque = %q\", orig, req.URL.Opaque)\n\t\t\t\t} else {\n\t\t\t\t\treturn nil, fmt.Errorf(\"invalid request :path %q\", orig)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Check for any invalid headers and return an error before we\n\t// potentially pollute our hpack state. (We want to be able to\n\t// continue to reuse the hpack encoder for future requests)\n\tfor k, vv := range req.Header {\n\t\tif !httpguts.ValidHeaderFieldName(k) {\n\t\t\treturn nil, fmt.Errorf(\"invalid HTTP header name %q\", k)\n\t\t}\n\t\tfor _, v := range vv {\n\t\t\tif !httpguts.ValidHeaderFieldValue(v) {\n\t\t\t\treturn nil, fmt.Errorf(\"invalid HTTP header value %q for header %q\", v, k)\n\t\t\t}\n\t\t}\n\t}\n\n\tenumerateHeaders := func(f func(name, value string)) {\n\t\t// 8.1.2.3 Request Pseudo-Header Fields\n\t\t// The :path pseudo-header field includes the path and query parts of the\n\t\t// target URI (the path-absolute production and optionally a '?' character\n\t\t// followed by the query production (see Sections 3.3 and 3.4 of\n\t\t// [RFC3986]).\n\t\tf(\":authority\", host)\n\t\tf(\":method\", req.Method)\n\t\tif req.Method != \"CONNECT\" {\n\t\t\tf(\":path\", path)\n\t\t\tf(\":scheme\", req.URL.Scheme)\n\t\t}\n\t\tif trailers != \"\" {\n\t\t\tf(\"trailer\", trailers)\n\t\t}\n\n\t\tvar didUA bool\n\t\tfor k, vv := range req.Header {\n\t\t\tif strings.EqualFold(k, \"host\") || strings.EqualFold(k, \"content-length\") {\n\t\t\t\t// Host is :authority, already sent.\n\t\t\t\t// Content-Length is automatic, set below.\n\t\t\t\tcontinue\n\t\t\t} else if strings.EqualFold(k, \"connection\") || strings.EqualFold(k, \"proxy-connection\") ||\n\t\t\t\tstrings.EqualFold(k, \"transfer-encoding\") || strings.EqualFold(k, \"upgrade\") ||\n\t\t\t\tstrings.EqualFold(k, \"keep-alive\") {\n\t\t\t\t// Per 8.1.2.2 Connection-Specific Header\n\t\t\t\t// Fields, don't send connection-specific\n\t\t\t\t// fields. We have already checked if any\n\t\t\t\t// are error-worthy so just ignore the rest.\n\t\t\t\tcontinue\n\t\t\t} else if strings.EqualFold(k, \"user-agent\") {\n\t\t\t\t// Match Go's http1 behavior: at most one\n\t\t\t\t// User-Agent. If set to nil or empty string,\n\t\t\t\t// then omit it. Otherwise if not mentioned,\n\t\t\t\t// include the default (below).\n\t\t\t\tdidUA = true\n\t\t\t\tif len(vv) < 1 {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tvv = vv[:1]\n\t\t\t\tif vv[0] == \"\" {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tfor _, v := range vv {\n\t\t\t\tf(k, v)\n\t\t\t}\n\t\t}\n\t\tif shouldSendReqContentLength(req.Method, contentLength) {\n\t\t\tf(\"content-length\", strconv.FormatInt(contentLength, 10))\n\t\t}\n\t\tif addGzipHeader {\n\t\t\tf(\"accept-encoding\", \"gzip\")\n\t\t}\n\t\tif !didUA {\n\t\t\tf(\"user-agent\", defaultUserAgent)\n\t\t}\n\t}\n\n\t// Do a first pass over the headers counting bytes to ensure\n\t// we don't exceed cc.peerMaxHeaderListSize. This is done as a\n\t// separate pass before encoding the headers to prevent\n\t// modifying the hpack state.\n\thlSize := uint64(0)\n\tenumerateHeaders(func(name, value string) {\n\t\thf := hpack.HeaderField{Name: name, Value: value}\n\t\thlSize += uint64(hf.Size())\n\t})\n\n\tif hlSize > cc.peerMaxHeaderListSize {\n\t\treturn nil, errRequestHeaderListSize\n\t}\n\n\ttrace := requestTrace(req)\n\ttraceHeaders := traceHasWroteHeaderField(trace)\n\n\t// Header list size is ok. Write the headers.\n\tenumerateHeaders(func(name, value string) {\n\t\tname = strings.ToLower(name)\n\t\tcc.writeHeader(name, value)\n\t\tif traceHeaders {\n\t\t\ttraceWroteHeaderField(trace, name, value)\n\t\t}\n\t})\n\n\treturn cc.hbuf.Bytes(), nil\n}\n\n// shouldSendReqContentLength reports whether the http2.Transport should send\n// a \"content-length\" request header. This logic is basically a copy of the net/http\n// transferWriter.shouldSendContentLength.\n// The contentLength is the corrected contentLength (so 0 means actually 0, not unknown).\n// -1 means unknown.\nfunc shouldSendReqContentLength(method string, contentLength int64) bool {\n\tif contentLength > 0 {\n\t\treturn true\n\t}\n\tif contentLength < 0 {\n\t\treturn false\n\t}\n\t// For zero bodies, whether we send a content-length depends on the method.\n\t// It also kinda doesn't matter for http2 either way, with END_STREAM.\n\tswitch method {\n\tcase \"POST\", \"PUT\", \"PATCH\":\n\t\treturn true\n\tdefault:\n\t\treturn false\n\t}\n}\n\n// requires cc.mu be held.\nfunc (cc *ClientConn) encodeTrailers(req *http.Request) ([]byte, error) {\n\tcc.hbuf.Reset()\n\n\thlSize := uint64(0)\n\tfor k, vv := range req.Trailer {\n\t\tfor _, v := range vv {\n\t\t\thf := hpack.HeaderField{Name: k, Value: v}\n\t\t\thlSize += uint64(hf.Size())\n\t\t}\n\t}\n\tif hlSize > cc.peerMaxHeaderListSize {\n\t\treturn nil, errRequestHeaderListSize\n\t}\n\n\tfor k, vv := range req.Trailer {\n\t\t// Transfer-Encoding, etc.. have already been filtered at the\n\t\t// start of RoundTrip\n\t\tlowKey := strings.ToLower(k)\n\t\tfor _, v := range vv {\n\t\t\tcc.writeHeader(lowKey, v)\n\t\t}\n\t}\n\treturn cc.hbuf.Bytes(), nil\n}\n\nfunc (cc *ClientConn) writeHeader(name, value string) {\n\tif VerboseLogs {\n\t\tlog.Printf(\"http2: Transport encoding header %q = %q\", name, value)\n\t}\n\tcc.henc.WriteField(hpack.HeaderField{Name: name, Value: value})\n}\n\ntype resAndError struct {\n\tres *http.Response\n\terr error\n}\n\n// requires cc.mu be held.\nfunc (cc *ClientConn) newStream() *clientStream {\n\tcs := &clientStream{\n\t\tcc:        cc,\n\t\tID:        cc.nextStreamID,\n\t\tresc:      make(chan resAndError, 1),\n\t\tpeerReset: make(chan struct{}),\n\t\tdone:      make(chan struct{}),\n\t}\n\tcs.flow.add(int32(cc.initialWindowSize))\n\tcs.flow.setConnFlow(&cc.flow)\n\tcs.inflow.add(transportDefaultStreamFlow)\n\tcs.inflow.setConnFlow(&cc.inflow)\n\tcc.nextStreamID += 2\n\tcc.streams[cs.ID] = cs\n\treturn cs\n}\n\nfunc (cc *ClientConn) forgetStreamID(id uint32) {\n\tcc.streamByID(id, true)\n}\n\nfunc (cc *ClientConn) streamByID(id uint32, andRemove bool) *clientStream {\n\tcc.mu.Lock()\n\tdefer cc.mu.Unlock()\n\tcs := cc.streams[id]\n\tif andRemove && cs != nil && !cc.closed {\n\t\tcc.lastActive = time.Now()\n\t\tdelete(cc.streams, id)\n\t\tif len(cc.streams) == 0 && cc.idleTimer != nil {\n\t\t\tcc.idleTimer.Reset(cc.idleTimeout)\n\t\t}\n\t\tclose(cs.done)\n\t\t// Wake up checkResetOrDone via clientStream.awaitFlowControl and\n\t\t// wake up RoundTrip if there is a pending request.\n\t\tcc.cond.Broadcast()\n\t}\n\treturn cs\n}\n\n// clientConnReadLoop is the state owned by the clientConn's frame-reading readLoop.\ntype clientConnReadLoop struct {\n\tcc            *ClientConn\n\tcloseWhenIdle bool\n}\n\n// readLoop runs in its own goroutine and reads and dispatches frames.\nfunc (cc *ClientConn) readLoop() {\n\trl := &clientConnReadLoop{cc: cc}\n\tdefer rl.cleanup()\n\tcc.readerErr = rl.run()\n\tif ce, ok := cc.readerErr.(ConnectionError); ok {\n\t\tcc.wmu.Lock()\n\t\tcc.fr.WriteGoAway(0, ErrCode(ce), nil)\n\t\tcc.wmu.Unlock()\n\t}\n}\n\n// GoAwayError is returned by the Transport when the server closes the\n// TCP connection after sending a GOAWAY frame.\ntype GoAwayError struct {\n\tLastStreamID uint32\n\tErrCode      ErrCode\n\tDebugData    string\n}\n\nfunc (e GoAwayError) Error() string {\n\treturn fmt.Sprintf(\"http2: server sent GOAWAY and closed the connection; LastStreamID=%v, ErrCode=%v, debug=%q\",\n\t\te.LastStreamID, e.ErrCode, e.DebugData)\n}\n\nfunc isEOFOrNetReadError(err error) bool {\n\tif err == io.EOF {\n\t\treturn true\n\t}\n\tne, ok := err.(*net.OpError)\n\treturn ok && ne.Op == \"read\"\n}\n\nfunc (rl *clientConnReadLoop) cleanup() {\n\tcc := rl.cc\n\tdefer cc.tconn.Close()\n\tdefer cc.t.connPool().MarkDead(cc)\n\tdefer close(cc.readerDone)\n\n\tif cc.idleTimer != nil {\n\t\tcc.idleTimer.Stop()\n\t}\n\n\t// Close any response bodies if the server closes prematurely.\n\t// TODO: also do this if we've written the headers but not\n\t// gotten a response yet.\n\terr := cc.readerErr\n\tcc.mu.Lock()\n\tif cc.goAway != nil && isEOFOrNetReadError(err) {\n\t\terr = GoAwayError{\n\t\t\tLastStreamID: cc.goAway.LastStreamID,\n\t\t\tErrCode:      cc.goAway.ErrCode,\n\t\t\tDebugData:    cc.goAwayDebug,\n\t\t}\n\t} else if err == io.EOF {\n\t\terr = io.ErrUnexpectedEOF\n\t}\n\tfor _, cs := range cc.streams {\n\t\tcs.bufPipe.CloseWithError(err) // no-op if already closed\n\t\tselect {\n\t\tcase cs.resc <- resAndError{err: err}:\n\t\tdefault:\n\t\t}\n\t\tclose(cs.done)\n\t}\n\tcc.closed = true\n\tcc.cond.Broadcast()\n\tcc.mu.Unlock()\n}\n\nfunc (rl *clientConnReadLoop) run() error {\n\tcc := rl.cc\n\trl.closeWhenIdle = cc.t.disableKeepAlives() || cc.singleUse\n\tgotReply := false // ever saw a HEADERS reply\n\tgotSettings := false\n\tfor {\n\t\tf, err := cc.fr.ReadFrame()\n\t\tif err != nil {\n\t\t\tcc.vlogf(\"http2: Transport readFrame error on conn %p: (%T) %v\", cc, err, err)\n\t\t}\n\t\tif se, ok := err.(StreamError); ok {\n\t\t\tif cs := cc.streamByID(se.StreamID, false); cs != nil {\n\t\t\t\tcs.cc.writeStreamReset(cs.ID, se.Code, err)\n\t\t\t\tcs.cc.forgetStreamID(cs.ID)\n\t\t\t\tif se.Cause == nil {\n\t\t\t\t\tse.Cause = cc.fr.errDetail\n\t\t\t\t}\n\t\t\t\trl.endStreamError(cs, se)\n\t\t\t}\n\t\t\tcontinue\n\t\t} else if err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif VerboseLogs {\n\t\t\tcc.vlogf(\"http2: Transport received %s\", summarizeFrame(f))\n\t\t}\n\t\tif !gotSettings {\n\t\t\tif _, ok := f.(*SettingsFrame); !ok {\n\t\t\t\tcc.logf(\"protocol error: received %T before a SETTINGS frame\", f)\n\t\t\t\treturn ConnectionError(ErrCodeProtocol)\n\t\t\t}\n\t\t\tgotSettings = true\n\t\t}\n\t\tmaybeIdle := false // whether frame might transition us to idle\n\n\t\tswitch f := f.(type) {\n\t\tcase *MetaHeadersFrame:\n\t\t\terr = rl.processHeaders(f)\n\t\t\tmaybeIdle = true\n\t\t\tgotReply = true\n\t\tcase *DataFrame:\n\t\t\terr = rl.processData(f)\n\t\t\tmaybeIdle = true\n\t\tcase *GoAwayFrame:\n\t\t\terr = rl.processGoAway(f)\n\t\t\tmaybeIdle = true\n\t\tcase *RSTStreamFrame:\n\t\t\terr = rl.processResetStream(f)\n\t\t\tmaybeIdle = true\n\t\tcase *SettingsFrame:\n\t\t\terr = rl.processSettings(f)\n\t\tcase *PushPromiseFrame:\n\t\t\terr = rl.processPushPromise(f)\n\t\tcase *WindowUpdateFrame:\n\t\t\terr = rl.processWindowUpdate(f)\n\t\tcase *PingFrame:\n\t\t\terr = rl.processPing(f)\n\t\tdefault:\n\t\t\tcc.logf(\"Transport: unhandled response frame type %T\", f)\n\t\t}\n\t\tif err != nil {\n\t\t\tif VerboseLogs {\n\t\t\t\tcc.vlogf(\"http2: Transport conn %p received error from processing frame %v: %v\", cc, summarizeFrame(f), err)\n\t\t\t}\n\t\t\treturn err\n\t\t}\n\t\tif rl.closeWhenIdle && gotReply && maybeIdle {\n\t\t\tcc.closeIfIdle()\n\t\t}\n\t}\n}\n\nfunc (rl *clientConnReadLoop) processHeaders(f *MetaHeadersFrame) error {\n\tcc := rl.cc\n\tcs := cc.streamByID(f.StreamID, false)\n\tif cs == nil {\n\t\t// We'd get here if we canceled a request while the\n\t\t// server had its response still in flight. So if this\n\t\t// was just something we canceled, ignore it.\n\t\treturn nil\n\t}\n\tif f.StreamEnded() {\n\t\t// Issue 20521: If the stream has ended, streamByID() causes\n\t\t// clientStream.done to be closed, which causes the request's bodyWriter\n\t\t// to be closed with an errStreamClosed, which may be received by\n\t\t// clientConn.RoundTrip before the result of processing these headers.\n\t\t// Deferring stream closure allows the header processing to occur first.\n\t\t// clientConn.RoundTrip may still receive the bodyWriter error first, but\n\t\t// the fix for issue 16102 prioritises any response.\n\t\t//\n\t\t// Issue 22413: If there is no request body, we should close the\n\t\t// stream before writing to cs.resc so that the stream is closed\n\t\t// immediately once RoundTrip returns.\n\t\tif cs.req.Body != nil {\n\t\t\tdefer cc.forgetStreamID(f.StreamID)\n\t\t} else {\n\t\t\tcc.forgetStreamID(f.StreamID)\n\t\t}\n\t}\n\tif !cs.firstByte {\n\t\tif cs.trace != nil {\n\t\t\t// TODO(bradfitz): move first response byte earlier,\n\t\t\t// when we first read the 9 byte header, not waiting\n\t\t\t// until all the HEADERS+CONTINUATION frames have been\n\t\t\t// merged. This works for now.\n\t\t\ttraceFirstResponseByte(cs.trace)\n\t\t}\n\t\tcs.firstByte = true\n\t}\n\tif !cs.pastHeaders {\n\t\tcs.pastHeaders = true\n\t} else {\n\t\treturn rl.processTrailers(cs, f)\n\t}\n\n\tres, err := rl.handleResponse(cs, f)\n\tif err != nil {\n\t\tif _, ok := err.(ConnectionError); ok {\n\t\t\treturn err\n\t\t}\n\t\t// Any other error type is a stream error.\n\t\tcs.cc.writeStreamReset(f.StreamID, ErrCodeProtocol, err)\n\t\tcc.forgetStreamID(cs.ID)\n\t\tcs.resc <- resAndError{err: err}\n\t\treturn nil // return nil from process* funcs to keep conn alive\n\t}\n\tif res == nil {\n\t\t// (nil, nil) special case. See handleResponse docs.\n\t\treturn nil\n\t}\n\tcs.resTrailer = &res.Trailer\n\tcs.resc <- resAndError{res: res}\n\treturn nil\n}\n\n// may return error types nil, or ConnectionError. Any other error value\n// is a StreamError of type ErrCodeProtocol. The returned error in that case\n// is the detail.\n//\n// As a special case, handleResponse may return (nil, nil) to skip the\n// frame (currently only used for 1xx responses).\nfunc (rl *clientConnReadLoop) handleResponse(cs *clientStream, f *MetaHeadersFrame) (*http.Response, error) {\n\tif f.Truncated {\n\t\treturn nil, errResponseHeaderListSize\n\t}\n\n\tstatus := f.PseudoValue(\"status\")\n\tif status == \"\" {\n\t\treturn nil, errors.New(\"malformed response from server: missing status pseudo header\")\n\t}\n\tstatusCode, err := strconv.Atoi(status)\n\tif err != nil {\n\t\treturn nil, errors.New(\"malformed response from server: malformed non-numeric status pseudo header\")\n\t}\n\n\theader := make(http.Header)\n\tres := &http.Response{\n\t\tProto:      \"HTTP/2.0\",\n\t\tProtoMajor: 2,\n\t\tHeader:     header,\n\t\tStatusCode: statusCode,\n\t\tStatus:     status + \" \" + http.StatusText(statusCode),\n\t}\n\tfor _, hf := range f.RegularFields() {\n\t\tkey := http.CanonicalHeaderKey(hf.Name)\n\t\tif key == \"Trailer\" {\n\t\t\tt := res.Trailer\n\t\t\tif t == nil {\n\t\t\t\tt = make(http.Header)\n\t\t\t\tres.Trailer = t\n\t\t\t}\n\t\t\tforeachHeaderElement(hf.Value, func(v string) {\n\t\t\t\tt[http.CanonicalHeaderKey(v)] = nil\n\t\t\t})\n\t\t} else {\n\t\t\theader[key] = append(header[key], hf.Value)\n\t\t}\n\t}\n\n\tif statusCode >= 100 && statusCode <= 199 {\n\t\tcs.num1xx++\n\t\tconst max1xxResponses = 5 // arbitrary bound on number of informational responses, same as net/http\n\t\tif cs.num1xx > max1xxResponses {\n\t\t\treturn nil, errors.New(\"http2: too many 1xx informational responses\")\n\t\t}\n\t\tif fn := cs.get1xxTraceFunc(); fn != nil {\n\t\t\tif err := fn(statusCode, textproto.MIMEHeader(header)); err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t}\n\t\tif statusCode == 100 {\n\t\t\ttraceGot100Continue(cs.trace)\n\t\t\tif cs.on100 != nil {\n\t\t\t\tcs.on100() // forces any write delay timer to fire\n\t\t\t}\n\t\t}\n\t\tcs.pastHeaders = false // do it all again\n\t\treturn nil, nil\n\t}\n\n\tstreamEnded := f.StreamEnded()\n\tisHead := cs.req.Method == \"HEAD\"\n\tif !streamEnded || isHead {\n\t\tres.ContentLength = -1\n\t\tif clens := res.Header[\"Content-Length\"]; len(clens) == 1 {\n\t\t\tif clen64, err := strconv.ParseInt(clens[0], 10, 64); err == nil {\n\t\t\t\tres.ContentLength = clen64\n\t\t\t} else {\n\t\t\t\t// TODO: care? unlike http/1, it won't mess up our framing, so it's\n\t\t\t\t// more safe smuggling-wise to ignore.\n\t\t\t}\n\t\t} else if len(clens) > 1 {\n\t\t\t// TODO: care? unlike http/1, it won't mess up our framing, so it's\n\t\t\t// more safe smuggling-wise to ignore.\n\t\t}\n\t}\n\n\tif streamEnded || isHead {\n\t\tres.Body = noBody\n\t\treturn res, nil\n\t}\n\n\tcs.bufPipe = pipe{b: &dataBuffer{expected: res.ContentLength}}\n\tcs.bytesRemain = res.ContentLength\n\tres.Body = transportResponseBody{cs}\n\tgo cs.awaitRequestCancel(cs.req)\n\n\tif cs.requestedGzip && res.Header.Get(\"Content-Encoding\") == \"gzip\" {\n\t\tres.Header.Del(\"Content-Encoding\")\n\t\tres.Header.Del(\"Content-Length\")\n\t\tres.ContentLength = -1\n\t\tres.Body = &gzipReader{body: res.Body}\n\t\tsetResponseUncompressed(res)\n\t}\n\treturn res, nil\n}\n\nfunc (rl *clientConnReadLoop) processTrailers(cs *clientStream, f *MetaHeadersFrame) error {\n\tif cs.pastTrailers {\n\t\t// Too many HEADERS frames for this stream.\n\t\treturn ConnectionError(ErrCodeProtocol)\n\t}\n\tcs.pastTrailers = true\n\tif !f.StreamEnded() {\n\t\t// We expect that any headers for trailers also\n\t\t// has END_STREAM.\n\t\treturn ConnectionError(ErrCodeProtocol)\n\t}\n\tif len(f.PseudoFields()) > 0 {\n\t\t// No pseudo header fields are defined for trailers.\n\t\t// TODO: ConnectionError might be overly harsh? Check.\n\t\treturn ConnectionError(ErrCodeProtocol)\n\t}\n\n\ttrailer := make(http.Header)\n\tfor _, hf := range f.RegularFields() {\n\t\tkey := http.CanonicalHeaderKey(hf.Name)\n\t\ttrailer[key] = append(trailer[key], hf.Value)\n\t}\n\tcs.trailer = trailer\n\n\trl.endStream(cs)\n\treturn nil\n}\n\n// transportResponseBody is the concrete type of Transport.RoundTrip's\n// Response.Body. It is an io.ReadCloser. On Read, it reads from cs.body.\n// On Close it sends RST_STREAM if EOF wasn't already seen.\ntype transportResponseBody struct {\n\tcs *clientStream\n}\n\nfunc (b transportResponseBody) Read(p []byte) (n int, err error) {\n\tcs := b.cs\n\tcc := cs.cc\n\n\tif cs.readErr != nil {\n\t\treturn 0, cs.readErr\n\t}\n\tn, err = b.cs.bufPipe.Read(p)\n\tif cs.bytesRemain != -1 {\n\t\tif int64(n) > cs.bytesRemain {\n\t\t\tn = int(cs.bytesRemain)\n\t\t\tif err == nil {\n\t\t\t\terr = errors.New(\"net/http: server replied with more than declared Content-Length; truncated\")\n\t\t\t\tcc.writeStreamReset(cs.ID, ErrCodeProtocol, err)\n\t\t\t}\n\t\t\tcs.readErr = err\n\t\t\treturn int(cs.bytesRemain), err\n\t\t}\n\t\tcs.bytesRemain -= int64(n)\n\t\tif err == io.EOF && cs.bytesRemain > 0 {\n\t\t\terr = io.ErrUnexpectedEOF\n\t\t\tcs.readErr = err\n\t\t\treturn n, err\n\t\t}\n\t}\n\tif n == 0 {\n\t\t// No flow control tokens to send back.\n\t\treturn\n\t}\n\n\tcc.mu.Lock()\n\tdefer cc.mu.Unlock()\n\n\tvar connAdd, streamAdd int32\n\t// Check the conn-level first, before the stream-level.\n\tif v := cc.inflow.available(); v < transportDefaultConnFlow/2 {\n\t\tconnAdd = transportDefaultConnFlow - v\n\t\tcc.inflow.add(connAdd)\n\t}\n\tif err == nil { // No need to refresh if the stream is over or failed.\n\t\t// Consider any buffered body data (read from the conn but not\n\t\t// consumed by the client) when computing flow control for this\n\t\t// stream.\n\t\tv := int(cs.inflow.available()) + cs.bufPipe.Len()\n\t\tif v < transportDefaultStreamFlow-transportDefaultStreamMinRefresh {\n\t\t\tstreamAdd = int32(transportDefaultStreamFlow - v)\n\t\t\tcs.inflow.add(streamAdd)\n\t\t}\n\t}\n\tif connAdd != 0 || streamAdd != 0 {\n\t\tcc.wmu.Lock()\n\t\tdefer cc.wmu.Unlock()\n\t\tif connAdd != 0 {\n\t\t\tcc.fr.WriteWindowUpdate(0, mustUint31(connAdd))\n\t\t}\n\t\tif streamAdd != 0 {\n\t\t\tcc.fr.WriteWindowUpdate(cs.ID, mustUint31(streamAdd))\n\t\t}\n\t\tcc.bw.Flush()\n\t}\n\treturn\n}\n\nvar errClosedResponseBody = errors.New(\"http2: response body closed\")\n\nfunc (b transportResponseBody) Close() error {\n\tcs := b.cs\n\tcc := cs.cc\n\n\tserverSentStreamEnd := cs.bufPipe.Err() == io.EOF\n\tunread := cs.bufPipe.Len()\n\n\tif unread > 0 || !serverSentStreamEnd {\n\t\tcc.mu.Lock()\n\t\tcc.wmu.Lock()\n\t\tif !serverSentStreamEnd {\n\t\t\tcc.fr.WriteRSTStream(cs.ID, ErrCodeCancel)\n\t\t\tcs.didReset = true\n\t\t}\n\t\t// Return connection-level flow control.\n\t\tif unread > 0 {\n\t\t\tcc.inflow.add(int32(unread))\n\t\t\tcc.fr.WriteWindowUpdate(0, uint32(unread))\n\t\t}\n\t\tcc.bw.Flush()\n\t\tcc.wmu.Unlock()\n\t\tcc.mu.Unlock()\n\t}\n\n\tcs.bufPipe.BreakWithError(errClosedResponseBody)\n\tcc.forgetStreamID(cs.ID)\n\treturn nil\n}\n\nfunc (rl *clientConnReadLoop) processData(f *DataFrame) error {\n\tcc := rl.cc\n\tcs := cc.streamByID(f.StreamID, f.StreamEnded())\n\tdata := f.Data()\n\tif cs == nil {\n\t\tcc.mu.Lock()\n\t\tneverSent := cc.nextStreamID\n\t\tcc.mu.Unlock()\n\t\tif f.StreamID >= neverSent {\n\t\t\t// We never asked for this.\n\t\t\tcc.logf(\"http2: Transport received unsolicited DATA frame; closing connection\")\n\t\t\treturn ConnectionError(ErrCodeProtocol)\n\t\t}\n\t\t// We probably did ask for this, but canceled. Just ignore it.\n\t\t// TODO: be stricter here? only silently ignore things which\n\t\t// we canceled, but not things which were closed normally\n\t\t// by the peer? Tough without accumulating too much state.\n\n\t\t// But at least return their flow control:\n\t\tif f.Length > 0 {\n\t\t\tcc.mu.Lock()\n\t\t\tcc.inflow.add(int32(f.Length))\n\t\t\tcc.mu.Unlock()\n\n\t\t\tcc.wmu.Lock()\n\t\t\tcc.fr.WriteWindowUpdate(0, uint32(f.Length))\n\t\t\tcc.bw.Flush()\n\t\t\tcc.wmu.Unlock()\n\t\t}\n\t\treturn nil\n\t}\n\tif !cs.firstByte {\n\t\tcc.logf(\"protocol error: received DATA before a HEADERS frame\")\n\t\trl.endStreamError(cs, StreamError{\n\t\t\tStreamID: f.StreamID,\n\t\t\tCode:     ErrCodeProtocol,\n\t\t})\n\t\treturn nil\n\t}\n\tif f.Length > 0 {\n\t\tif cs.req.Method == \"HEAD\" && len(data) > 0 {\n\t\t\tcc.logf(\"protocol error: received DATA on a HEAD request\")\n\t\t\trl.endStreamError(cs, StreamError{\n\t\t\t\tStreamID: f.StreamID,\n\t\t\t\tCode:     ErrCodeProtocol,\n\t\t\t})\n\t\t\treturn nil\n\t\t}\n\t\t// Check connection-level flow control.\n\t\tcc.mu.Lock()\n\t\tif cs.inflow.available() >= int32(f.Length) {\n\t\t\tcs.inflow.take(int32(f.Length))\n\t\t} else {\n\t\t\tcc.mu.Unlock()\n\t\t\treturn ConnectionError(ErrCodeFlowControl)\n\t\t}\n\t\t// Return any padded flow control now, since we won't\n\t\t// refund it later on body reads.\n\t\tvar refund int\n\t\tif pad := int(f.Length) - len(data); pad > 0 {\n\t\t\trefund += pad\n\t\t}\n\t\t// Return len(data) now if the stream is already closed,\n\t\t// since data will never be read.\n\t\tdidReset := cs.didReset\n\t\tif didReset {\n\t\t\trefund += len(data)\n\t\t}\n\t\tif refund > 0 {\n\t\t\tcc.inflow.add(int32(refund))\n\t\t\tcc.wmu.Lock()\n\t\t\tcc.fr.WriteWindowUpdate(0, uint32(refund))\n\t\t\tif !didReset {\n\t\t\t\tcs.inflow.add(int32(refund))\n\t\t\t\tcc.fr.WriteWindowUpdate(cs.ID, uint32(refund))\n\t\t\t}\n\t\t\tcc.bw.Flush()\n\t\t\tcc.wmu.Unlock()\n\t\t}\n\t\tcc.mu.Unlock()\n\n\t\tif len(data) > 0 && !didReset {\n\t\t\tif _, err := cs.bufPipe.Write(data); err != nil {\n\t\t\t\trl.endStreamError(cs, err)\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t}\n\n\tif f.StreamEnded() {\n\t\trl.endStream(cs)\n\t}\n\treturn nil\n}\n\nvar errInvalidTrailers = errors.New(\"http2: invalid trailers\")\n\nfunc (rl *clientConnReadLoop) endStream(cs *clientStream) {\n\t// TODO: check that any declared content-length matches, like\n\t// server.go's (*stream).endStream method.\n\trl.endStreamError(cs, nil)\n}\n\nfunc (rl *clientConnReadLoop) endStreamError(cs *clientStream, err error) {\n\tvar code func()\n\tif err == nil {\n\t\terr = io.EOF\n\t\tcode = cs.copyTrailers\n\t}\n\tif isConnectionCloseRequest(cs.req) {\n\t\trl.closeWhenIdle = true\n\t}\n\tcs.bufPipe.closeWithErrorAndCode(err, code)\n\n\tselect {\n\tcase cs.resc <- resAndError{err: err}:\n\tdefault:\n\t}\n}\n\nfunc (cs *clientStream) copyTrailers() {\n\tfor k, vv := range cs.trailer {\n\t\tt := cs.resTrailer\n\t\tif *t == nil {\n\t\t\t*t = make(http.Header)\n\t\t}\n\t\t(*t)[k] = vv\n\t}\n}\n\nfunc (rl *clientConnReadLoop) processGoAway(f *GoAwayFrame) error {\n\tcc := rl.cc\n\tcc.t.connPool().MarkDead(cc)\n\tif f.ErrCode != 0 {\n\t\t// TODO: deal with GOAWAY more. particularly the error code\n\t\tcc.vlogf(\"transport got GOAWAY with error code = %v\", f.ErrCode)\n\t}\n\tcc.setGoAway(f)\n\treturn nil\n}\n\nfunc (rl *clientConnReadLoop) processSettings(f *SettingsFrame) error {\n\tcc := rl.cc\n\tcc.mu.Lock()\n\tdefer cc.mu.Unlock()\n\n\tif f.IsAck() {\n\t\tif cc.wantSettingsAck {\n\t\t\tcc.wantSettingsAck = false\n\t\t\treturn nil\n\t\t}\n\t\treturn ConnectionError(ErrCodeProtocol)\n\t}\n\n\terr := f.ForeachSetting(func(s Setting) error {\n\t\tswitch s.ID {\n\t\tcase SettingMaxFrameSize:\n\t\t\tcc.maxFrameSize = s.Val\n\t\tcase SettingMaxConcurrentStreams:\n\t\t\tcc.maxConcurrentStreams = s.Val\n\t\tcase SettingMaxHeaderListSize:\n\t\t\tcc.peerMaxHeaderListSize = uint64(s.Val)\n\t\tcase SettingInitialWindowSize:\n\t\t\t// Values above the maximum flow-control\n\t\t\t// window size of 2^31-1 MUST be treated as a\n\t\t\t// connection error (Section 5.4.1) of type\n\t\t\t// FLOW_CONTROL_ERROR.\n\t\t\tif s.Val > math.MaxInt32 {\n\t\t\t\treturn ConnectionError(ErrCodeFlowControl)\n\t\t\t}\n\n\t\t\t// Adjust flow control of currently-open\n\t\t\t// frames by the difference of the old initial\n\t\t\t// window size and this one.\n\t\t\tdelta := int32(s.Val) - int32(cc.initialWindowSize)\n\t\t\tfor _, cs := range cc.streams {\n\t\t\t\tcs.flow.add(delta)\n\t\t\t}\n\t\t\tcc.cond.Broadcast()\n\n\t\t\tcc.initialWindowSize = s.Val\n\t\tdefault:\n\t\t\t// TODO(bradfitz): handle more settings? SETTINGS_HEADER_TABLE_SIZE probably.\n\t\t\tcc.vlogf(\"Unhandled Setting: %v\", s)\n\t\t}\n\t\treturn nil\n\t})\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tcc.wmu.Lock()\n\tdefer cc.wmu.Unlock()\n\n\tcc.fr.WriteSettingsAck()\n\tcc.bw.Flush()\n\treturn cc.werr\n}\n\nfunc (rl *clientConnReadLoop) processWindowUpdate(f *WindowUpdateFrame) error {\n\tcc := rl.cc\n\tcs := cc.streamByID(f.StreamID, false)\n\tif f.StreamID != 0 && cs == nil {\n\t\treturn nil\n\t}\n\n\tcc.mu.Lock()\n\tdefer cc.mu.Unlock()\n\n\tfl := &cc.flow\n\tif cs != nil {\n\t\tfl = &cs.flow\n\t}\n\tif !fl.add(int32(f.Increment)) {\n\t\treturn ConnectionError(ErrCodeFlowControl)\n\t}\n\tcc.cond.Broadcast()\n\treturn nil\n}\n\nfunc (rl *clientConnReadLoop) processResetStream(f *RSTStreamFrame) error {\n\tcs := rl.cc.streamByID(f.StreamID, true)\n\tif cs == nil {\n\t\t// TODO: return error if server tries to RST_STEAM an idle stream\n\t\treturn nil\n\t}\n\tselect {\n\tcase <-cs.peerReset:\n\t\t// Already reset.\n\t\t// This is the only goroutine\n\t\t// which closes this, so there\n\t\t// isn't a race.\n\tdefault:\n\t\terr := streamError(cs.ID, f.ErrCode)\n\t\tcs.resetErr = err\n\t\tclose(cs.peerReset)\n\t\tcs.bufPipe.CloseWithError(err)\n\t\tcs.cc.cond.Broadcast() // wake up checkResetOrDone via clientStream.awaitFlowControl\n\t}\n\treturn nil\n}\n\n// Ping sends a PING frame to the server and waits for the ack.\n// Public implementation is in go17.go and not_go17.go\nfunc (cc *ClientConn) ping(ctx contextContext) error {\n\tc := make(chan struct{})\n\t// Generate a random payload\n\tvar p [8]byte\n\tfor {\n\t\tif _, err := rand.Read(p[:]); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcc.mu.Lock()\n\t\t// check for dup before insert\n\t\tif _, found := cc.pings[p]; !found {\n\t\t\tcc.pings[p] = c\n\t\t\tcc.mu.Unlock()\n\t\t\tbreak\n\t\t}\n\t\tcc.mu.Unlock()\n\t}\n\tcc.wmu.Lock()\n\tif err := cc.fr.WritePing(false, p); err != nil {\n\t\tcc.wmu.Unlock()\n\t\treturn err\n\t}\n\tif err := cc.bw.Flush(); err != nil {\n\t\tcc.wmu.Unlock()\n\t\treturn err\n\t}\n\tcc.wmu.Unlock()\n\tselect {\n\tcase <-c:\n\t\treturn nil\n\tcase <-ctx.Done():\n\t\treturn ctx.Err()\n\tcase <-cc.readerDone:\n\t\t// connection closed\n\t\treturn cc.readerErr\n\t}\n}\n\nfunc (rl *clientConnReadLoop) processPing(f *PingFrame) error {\n\tif f.IsAck() {\n\t\tcc := rl.cc\n\t\tcc.mu.Lock()\n\t\tdefer cc.mu.Unlock()\n\t\t// If ack, notify listener if any\n\t\tif c, ok := cc.pings[f.Data]; ok {\n\t\t\tclose(c)\n\t\t\tdelete(cc.pings, f.Data)\n\t\t}\n\t\treturn nil\n\t}\n\tcc := rl.cc\n\tcc.wmu.Lock()\n\tdefer cc.wmu.Unlock()\n\tif err := cc.fr.WritePing(true, f.Data); err != nil {\n\t\treturn err\n\t}\n\treturn cc.bw.Flush()\n}\n\nfunc (rl *clientConnReadLoop) processPushPromise(f *PushPromiseFrame) error {\n\t// We told the peer we don't want them.\n\t// Spec says:\n\t// \"PUSH_PROMISE MUST NOT be sent if the SETTINGS_ENABLE_PUSH\n\t// setting of the peer endpoint is set to 0. An endpoint that\n\t// has set this setting and has received acknowledgement MUST\n\t// treat the receipt of a PUSH_PROMISE frame as a connection\n\t// error (Section 5.4.1) of type PROTOCOL_ERROR.\"\n\treturn ConnectionError(ErrCodeProtocol)\n}\n\nfunc (cc *ClientConn) writeStreamReset(streamID uint32, code ErrCode, err error) {\n\t// TODO: map err to more interesting error codes, once the\n\t// HTTP community comes up with some. But currently for\n\t// RST_STREAM there's no equivalent to GOAWAY frame's debug\n\t// data, and the error codes are all pretty vague (\"cancel\").\n\tcc.wmu.Lock()\n\tcc.fr.WriteRSTStream(streamID, code)\n\tcc.bw.Flush()\n\tcc.wmu.Unlock()\n}\n\nvar (\n\terrResponseHeaderListSize = errors.New(\"http2: response header list larger than advertised limit\")\n\terrRequestHeaderListSize  = errors.New(\"http2: request header list larger than peer's advertised limit\")\n\terrPseudoTrailers         = errors.New(\"http2: invalid pseudo header in trailers\")\n)\n\nfunc (cc *ClientConn) logf(format string, args ...interface{}) {\n\tcc.t.logf(format, args...)\n}\n\nfunc (cc *ClientConn) vlogf(format string, args ...interface{}) {\n\tcc.t.vlogf(format, args...)\n}\n\nfunc (t *Transport) vlogf(format string, args ...interface{}) {\n\tif VerboseLogs {\n\t\tt.logf(format, args...)\n\t}\n}\n\nfunc (t *Transport) logf(format string, args ...interface{}) {\n\tlog.Printf(format, args...)\n}\n\nvar noBody io.ReadCloser = ioutil.NopCloser(bytes.NewReader(nil))\n\nfunc strSliceContains(ss []string, s string) bool {\n\tfor _, v := range ss {\n\t\tif v == s {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\ntype erringRoundTripper struct{ err error }\n\nfunc (rt erringRoundTripper) RoundTrip(*http.Request) (*http.Response, error) { return nil, rt.err }\n\n// gzipReader wraps a response body so it can lazily\n// call gzip.NewReader on the first call to Read\ntype gzipReader struct {\n\tbody io.ReadCloser // underlying Response.Body\n\tzr   *gzip.Reader  // lazily-initialized gzip reader\n\tzerr error         // sticky error\n}\n\nfunc (gz *gzipReader) Read(p []byte) (n int, err error) {\n\tif gz.zerr != nil {\n\t\treturn 0, gz.zerr\n\t}\n\tif gz.zr == nil {\n\t\tgz.zr, err = gzip.NewReader(gz.body)\n\t\tif err != nil {\n\t\t\tgz.zerr = err\n\t\t\treturn 0, err\n\t\t}\n\t}\n\treturn gz.zr.Read(p)\n}\n\nfunc (gz *gzipReader) Close() error {\n\treturn gz.body.Close()\n}\n\ntype errorReader struct{ err error }\n\nfunc (r errorReader) Read(p []byte) (int, error) { return 0, r.err }\n\n// bodyWriterState encapsulates various state around the Transport's writing\n// of the request body, particularly regarding doing delayed writes of the body\n// when the request contains \"Expect: 100-continue\".\ntype bodyWriterState struct {\n\tcs     *clientStream\n\ttimer  *time.Timer   // if non-nil, we're doing a delayed write\n\tfnonce *sync.Once    // to call fn with\n\tfn     func()        // the code to run in the goroutine, writing the body\n\tresc   chan error    // result of fn's execution\n\tdelay  time.Duration // how long we should delay a delayed write for\n}\n\nfunc (t *Transport) getBodyWriterState(cs *clientStream, body io.Reader) (s bodyWriterState) {\n\ts.cs = cs\n\tif body == nil {\n\t\treturn\n\t}\n\tresc := make(chan error, 1)\n\ts.resc = resc\n\ts.fn = func() {\n\t\tcs.cc.mu.Lock()\n\t\tcs.startedWrite = true\n\t\tcs.cc.mu.Unlock()\n\t\tresc <- cs.writeRequestBody(body, cs.req.Body)\n\t}\n\ts.delay = t.expectContinueTimeout()\n\tif s.delay == 0 ||\n\t\t!httpguts.HeaderValuesContainsToken(\n\t\t\tcs.req.Header[\"Expect\"],\n\t\t\t\"100-continue\") {\n\t\treturn\n\t}\n\ts.fnonce = new(sync.Once)\n\n\t// Arm the timer with a very large duration, which we'll\n\t// intentionally lower later. It has to be large now because\n\t// we need a handle to it before writing the headers, but the\n\t// s.delay value is defined to not start until after the\n\t// request headers were written.\n\tconst hugeDuration = 365 * 24 * time.Hour\n\ts.timer = time.AfterFunc(hugeDuration, func() {\n\t\ts.fnonce.Do(s.fn)\n\t})\n\treturn\n}\n\nfunc (s bodyWriterState) cancel() {\n\tif s.timer != nil {\n\t\ts.timer.Stop()\n\t}\n}\n\nfunc (s bodyWriterState) on100() {\n\tif s.timer == nil {\n\t\t// If we didn't do a delayed write, ignore the server's\n\t\t// bogus 100 continue response.\n\t\treturn\n\t}\n\ts.timer.Stop()\n\tgo func() { s.fnonce.Do(s.fn) }()\n}\n\n// scheduleBodyWrite starts writing the body, either immediately (in\n// the common case) or after the delay timeout. It should not be\n// called until after the headers have been written.\nfunc (s bodyWriterState) scheduleBodyWrite() {\n\tif s.timer == nil {\n\t\t// We're not doing a delayed write (see\n\t\t// getBodyWriterState), so just start the writing\n\t\t// goroutine immediately.\n\t\tgo s.fn()\n\t\treturn\n\t}\n\ttraceWait100Continue(s.cs.trace)\n\tif s.timer.Stop() {\n\t\ts.timer.Reset(s.delay)\n\t}\n}\n\n// isConnectionCloseRequest reports whether req should use its own\n// connection for a single request and then close the connection.\nfunc isConnectionCloseRequest(req *http.Request) bool {\n\treturn req.Close || httpguts.HeaderValuesContainsToken(req.Header[\"Connection\"], \"close\")\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/write.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage http2\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"log\"\n\t\"net/http\"\n\t\"net/url\"\n\n\t\"golang.org/x/net/http/httpguts\"\n\t\"golang.org/x/net/http2/hpack\"\n)\n\n// writeFramer is implemented by any type that is used to write frames.\ntype writeFramer interface {\n\twriteFrame(writeContext) error\n\n\t// staysWithinBuffer reports whether this writer promises that\n\t// it will only write less than or equal to size bytes, and it\n\t// won't Flush the write context.\n\tstaysWithinBuffer(size int) bool\n}\n\n// writeContext is the interface needed by the various frame writer\n// types below. All the writeFrame methods below are scheduled via the\n// frame writing scheduler (see writeScheduler in writesched.go).\n//\n// This interface is implemented by *serverConn.\n//\n// TODO: decide whether to a) use this in the client code (which didn't\n// end up using this yet, because it has a simpler design, not\n// currently implementing priorities), or b) delete this and\n// make the server code a bit more concrete.\ntype writeContext interface {\n\tFramer() *Framer\n\tFlush() error\n\tCloseConn() error\n\t// HeaderEncoder returns an HPACK encoder that writes to the\n\t// returned buffer.\n\tHeaderEncoder() (*hpack.Encoder, *bytes.Buffer)\n}\n\n// writeEndsStream reports whether w writes a frame that will transition\n// the stream to a half-closed local state. This returns false for RST_STREAM,\n// which closes the entire stream (not just the local half).\nfunc writeEndsStream(w writeFramer) bool {\n\tswitch v := w.(type) {\n\tcase *writeData:\n\t\treturn v.endStream\n\tcase *writeResHeaders:\n\t\treturn v.endStream\n\tcase nil:\n\t\t// This can only happen if the caller reuses w after it's\n\t\t// been intentionally nil'ed out to prevent use. Keep this\n\t\t// here to catch future refactoring breaking it.\n\t\tpanic(\"writeEndsStream called on nil writeFramer\")\n\t}\n\treturn false\n}\n\ntype flushFrameWriter struct{}\n\nfunc (flushFrameWriter) writeFrame(ctx writeContext) error {\n\treturn ctx.Flush()\n}\n\nfunc (flushFrameWriter) staysWithinBuffer(max int) bool { return false }\n\ntype writeSettings []Setting\n\nfunc (s writeSettings) staysWithinBuffer(max int) bool {\n\tconst settingSize = 6 // uint16 + uint32\n\treturn frameHeaderLen+settingSize*len(s) <= max\n\n}\n\nfunc (s writeSettings) writeFrame(ctx writeContext) error {\n\treturn ctx.Framer().WriteSettings([]Setting(s)...)\n}\n\ntype writeGoAway struct {\n\tmaxStreamID uint32\n\tcode        ErrCode\n}\n\nfunc (p *writeGoAway) writeFrame(ctx writeContext) error {\n\terr := ctx.Framer().WriteGoAway(p.maxStreamID, p.code, nil)\n\tctx.Flush() // ignore error: we're hanging up on them anyway\n\treturn err\n}\n\nfunc (*writeGoAway) staysWithinBuffer(max int) bool { return false } // flushes\n\ntype writeData struct {\n\tstreamID  uint32\n\tp         []byte\n\tendStream bool\n}\n\nfunc (w *writeData) String() string {\n\treturn fmt.Sprintf(\"writeData(stream=%d, p=%d, endStream=%v)\", w.streamID, len(w.p), w.endStream)\n}\n\nfunc (w *writeData) writeFrame(ctx writeContext) error {\n\treturn ctx.Framer().WriteData(w.streamID, w.endStream, w.p)\n}\n\nfunc (w *writeData) staysWithinBuffer(max int) bool {\n\treturn frameHeaderLen+len(w.p) <= max\n}\n\n// handlerPanicRST is the message sent from handler goroutines when\n// the handler panics.\ntype handlerPanicRST struct {\n\tStreamID uint32\n}\n\nfunc (hp handlerPanicRST) writeFrame(ctx writeContext) error {\n\treturn ctx.Framer().WriteRSTStream(hp.StreamID, ErrCodeInternal)\n}\n\nfunc (hp handlerPanicRST) staysWithinBuffer(max int) bool { return frameHeaderLen+4 <= max }\n\nfunc (se StreamError) writeFrame(ctx writeContext) error {\n\treturn ctx.Framer().WriteRSTStream(se.StreamID, se.Code)\n}\n\nfunc (se StreamError) staysWithinBuffer(max int) bool { return frameHeaderLen+4 <= max }\n\ntype writePingAck struct{ pf *PingFrame }\n\nfunc (w writePingAck) writeFrame(ctx writeContext) error {\n\treturn ctx.Framer().WritePing(true, w.pf.Data)\n}\n\nfunc (w writePingAck) staysWithinBuffer(max int) bool { return frameHeaderLen+len(w.pf.Data) <= max }\n\ntype writeSettingsAck struct{}\n\nfunc (writeSettingsAck) writeFrame(ctx writeContext) error {\n\treturn ctx.Framer().WriteSettingsAck()\n}\n\nfunc (writeSettingsAck) staysWithinBuffer(max int) bool { return frameHeaderLen <= max }\n\n// splitHeaderBlock splits headerBlock into fragments so that each fragment fits\n// in a single frame, then calls fn for each fragment. firstFrag/lastFrag are true\n// for the first/last fragment, respectively.\nfunc splitHeaderBlock(ctx writeContext, headerBlock []byte, fn func(ctx writeContext, frag []byte, firstFrag, lastFrag bool) error) error {\n\t// For now we're lazy and just pick the minimum MAX_FRAME_SIZE\n\t// that all peers must support (16KB). Later we could care\n\t// more and send larger frames if the peer advertised it, but\n\t// there's little point. Most headers are small anyway (so we\n\t// generally won't have CONTINUATION frames), and extra frames\n\t// only waste 9 bytes anyway.\n\tconst maxFrameSize = 16384\n\n\tfirst := true\n\tfor len(headerBlock) > 0 {\n\t\tfrag := headerBlock\n\t\tif len(frag) > maxFrameSize {\n\t\t\tfrag = frag[:maxFrameSize]\n\t\t}\n\t\theaderBlock = headerBlock[len(frag):]\n\t\tif err := fn(ctx, frag, first, len(headerBlock) == 0); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirst = false\n\t}\n\treturn nil\n}\n\n// writeResHeaders is a request to write a HEADERS and 0+ CONTINUATION frames\n// for HTTP response headers or trailers from a server handler.\ntype writeResHeaders struct {\n\tstreamID    uint32\n\thttpResCode int         // 0 means no \":status\" line\n\th           http.Header // may be nil\n\ttrailers    []string    // if non-nil, which keys of h to write. nil means all.\n\tendStream   bool\n\n\tdate          string\n\tcontentType   string\n\tcontentLength string\n}\n\nfunc encKV(enc *hpack.Encoder, k, v string) {\n\tif VerboseLogs {\n\t\tlog.Printf(\"http2: server encoding header %q = %q\", k, v)\n\t}\n\tenc.WriteField(hpack.HeaderField{Name: k, Value: v})\n}\n\nfunc (w *writeResHeaders) staysWithinBuffer(max int) bool {\n\t// TODO: this is a common one. It'd be nice to return true\n\t// here and get into the fast path if we could be clever and\n\t// calculate the size fast enough, or at least a conservative\n\t// uppper bound that usually fires. (Maybe if w.h and\n\t// w.trailers are nil, so we don't need to enumerate it.)\n\t// Otherwise I'm afraid that just calculating the length to\n\t// answer this question would be slower than the ~2µs benefit.\n\treturn false\n}\n\nfunc (w *writeResHeaders) writeFrame(ctx writeContext) error {\n\tenc, buf := ctx.HeaderEncoder()\n\tbuf.Reset()\n\n\tif w.httpResCode != 0 {\n\t\tencKV(enc, \":status\", httpCodeString(w.httpResCode))\n\t}\n\n\tencodeHeaders(enc, w.h, w.trailers)\n\n\tif w.contentType != \"\" {\n\t\tencKV(enc, \"content-type\", w.contentType)\n\t}\n\tif w.contentLength != \"\" {\n\t\tencKV(enc, \"content-length\", w.contentLength)\n\t}\n\tif w.date != \"\" {\n\t\tencKV(enc, \"date\", w.date)\n\t}\n\n\theaderBlock := buf.Bytes()\n\tif len(headerBlock) == 0 && w.trailers == nil {\n\t\tpanic(\"unexpected empty hpack\")\n\t}\n\n\treturn splitHeaderBlock(ctx, headerBlock, w.writeHeaderBlock)\n}\n\nfunc (w *writeResHeaders) writeHeaderBlock(ctx writeContext, frag []byte, firstFrag, lastFrag bool) error {\n\tif firstFrag {\n\t\treturn ctx.Framer().WriteHeaders(HeadersFrameParam{\n\t\t\tStreamID:      w.streamID,\n\t\t\tBlockFragment: frag,\n\t\t\tEndStream:     w.endStream,\n\t\t\tEndHeaders:    lastFrag,\n\t\t})\n\t} else {\n\t\treturn ctx.Framer().WriteContinuation(w.streamID, lastFrag, frag)\n\t}\n}\n\n// writePushPromise is a request to write a PUSH_PROMISE and 0+ CONTINUATION frames.\ntype writePushPromise struct {\n\tstreamID uint32   // pusher stream\n\tmethod   string   // for :method\n\turl      *url.URL // for :scheme, :authority, :path\n\th        http.Header\n\n\t// Creates an ID for a pushed stream. This runs on serveG just before\n\t// the frame is written. The returned ID is copied to promisedID.\n\tallocatePromisedID func() (uint32, error)\n\tpromisedID         uint32\n}\n\nfunc (w *writePushPromise) staysWithinBuffer(max int) bool {\n\t// TODO: see writeResHeaders.staysWithinBuffer\n\treturn false\n}\n\nfunc (w *writePushPromise) writeFrame(ctx writeContext) error {\n\tenc, buf := ctx.HeaderEncoder()\n\tbuf.Reset()\n\n\tencKV(enc, \":method\", w.method)\n\tencKV(enc, \":scheme\", w.url.Scheme)\n\tencKV(enc, \":authority\", w.url.Host)\n\tencKV(enc, \":path\", w.url.RequestURI())\n\tencodeHeaders(enc, w.h, nil)\n\n\theaderBlock := buf.Bytes()\n\tif len(headerBlock) == 0 {\n\t\tpanic(\"unexpected empty hpack\")\n\t}\n\n\treturn splitHeaderBlock(ctx, headerBlock, w.writeHeaderBlock)\n}\n\nfunc (w *writePushPromise) writeHeaderBlock(ctx writeContext, frag []byte, firstFrag, lastFrag bool) error {\n\tif firstFrag {\n\t\treturn ctx.Framer().WritePushPromise(PushPromiseParam{\n\t\t\tStreamID:      w.streamID,\n\t\t\tPromiseID:     w.promisedID,\n\t\t\tBlockFragment: frag,\n\t\t\tEndHeaders:    lastFrag,\n\t\t})\n\t} else {\n\t\treturn ctx.Framer().WriteContinuation(w.streamID, lastFrag, frag)\n\t}\n}\n\ntype write100ContinueHeadersFrame struct {\n\tstreamID uint32\n}\n\nfunc (w write100ContinueHeadersFrame) writeFrame(ctx writeContext) error {\n\tenc, buf := ctx.HeaderEncoder()\n\tbuf.Reset()\n\tencKV(enc, \":status\", \"100\")\n\treturn ctx.Framer().WriteHeaders(HeadersFrameParam{\n\t\tStreamID:      w.streamID,\n\t\tBlockFragment: buf.Bytes(),\n\t\tEndStream:     false,\n\t\tEndHeaders:    true,\n\t})\n}\n\nfunc (w write100ContinueHeadersFrame) staysWithinBuffer(max int) bool {\n\t// Sloppy but conservative:\n\treturn 9+2*(len(\":status\")+len(\"100\")) <= max\n}\n\ntype writeWindowUpdate struct {\n\tstreamID uint32 // or 0 for conn-level\n\tn        uint32\n}\n\nfunc (wu writeWindowUpdate) staysWithinBuffer(max int) bool { return frameHeaderLen+4 <= max }\n\nfunc (wu writeWindowUpdate) writeFrame(ctx writeContext) error {\n\treturn ctx.Framer().WriteWindowUpdate(wu.streamID, wu.n)\n}\n\n// encodeHeaders encodes an http.Header. If keys is not nil, then (k, h[k])\n// is encoded only only if k is in keys.\nfunc encodeHeaders(enc *hpack.Encoder, h http.Header, keys []string) {\n\tif keys == nil {\n\t\tsorter := sorterPool.Get().(*sorter)\n\t\t// Using defer here, since the returned keys from the\n\t\t// sorter.Keys method is only valid until the sorter\n\t\t// is returned:\n\t\tdefer sorterPool.Put(sorter)\n\t\tkeys = sorter.Keys(h)\n\t}\n\tfor _, k := range keys {\n\t\tvv := h[k]\n\t\tk = lowerHeader(k)\n\t\tif !validWireHeaderFieldName(k) {\n\t\t\t// Skip it as backup paranoia. Per\n\t\t\t// golang.org/issue/14048, these should\n\t\t\t// already be rejected at a higher level.\n\t\t\tcontinue\n\t\t}\n\t\tisTE := k == \"transfer-encoding\"\n\t\tfor _, v := range vv {\n\t\t\tif !httpguts.ValidHeaderFieldValue(v) {\n\t\t\t\t// TODO: return an error? golang.org/issue/14048\n\t\t\t\t// For now just omit it.\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\t// TODO: more of \"8.1.2.2 Connection-Specific Header Fields\"\n\t\t\tif isTE && v != \"trailers\" {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tencKV(enc, k, v)\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/writesched.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage http2\n\nimport \"fmt\"\n\n// WriteScheduler is the interface implemented by HTTP/2 write schedulers.\n// Methods are never called concurrently.\ntype WriteScheduler interface {\n\t// OpenStream opens a new stream in the write scheduler.\n\t// It is illegal to call this with streamID=0 or with a streamID that is\n\t// already open -- the call may panic.\n\tOpenStream(streamID uint32, options OpenStreamOptions)\n\n\t// CloseStream closes a stream in the write scheduler. Any frames queued on\n\t// this stream should be discarded. It is illegal to call this on a stream\n\t// that is not open -- the call may panic.\n\tCloseStream(streamID uint32)\n\n\t// AdjustStream adjusts the priority of the given stream. This may be called\n\t// on a stream that has not yet been opened or has been closed. Note that\n\t// RFC 7540 allows PRIORITY frames to be sent on streams in any state. See:\n\t// https://tools.ietf.org/html/rfc7540#section-5.1\n\tAdjustStream(streamID uint32, priority PriorityParam)\n\n\t// Push queues a frame in the scheduler. In most cases, this will not be\n\t// called with wr.StreamID()!=0 unless that stream is currently open. The one\n\t// exception is RST_STREAM frames, which may be sent on idle or closed streams.\n\tPush(wr FrameWriteRequest)\n\n\t// Pop dequeues the next frame to write. Returns false if no frames can\n\t// be written. Frames with a given wr.StreamID() are Pop'd in the same\n\t// order they are Push'd.\n\tPop() (wr FrameWriteRequest, ok bool)\n}\n\n// OpenStreamOptions specifies extra options for WriteScheduler.OpenStream.\ntype OpenStreamOptions struct {\n\t// PusherID is zero if the stream was initiated by the client. Otherwise,\n\t// PusherID names the stream that pushed the newly opened stream.\n\tPusherID uint32\n}\n\n// FrameWriteRequest is a request to write a frame.\ntype FrameWriteRequest struct {\n\t// write is the interface value that does the writing, once the\n\t// WriteScheduler has selected this frame to write. The write\n\t// functions are all defined in write.go.\n\twrite writeFramer\n\n\t// stream is the stream on which this frame will be written.\n\t// nil for non-stream frames like PING and SETTINGS.\n\tstream *stream\n\n\t// done, if non-nil, must be a buffered channel with space for\n\t// 1 message and is sent the return value from write (or an\n\t// earlier error) when the frame has been written.\n\tdone chan error\n}\n\n// StreamID returns the id of the stream this frame will be written to.\n// 0 is used for non-stream frames such as PING and SETTINGS.\nfunc (wr FrameWriteRequest) StreamID() uint32 {\n\tif wr.stream == nil {\n\t\tif se, ok := wr.write.(StreamError); ok {\n\t\t\t// (*serverConn).resetStream doesn't set\n\t\t\t// stream because it doesn't necessarily have\n\t\t\t// one. So special case this type of write\n\t\t\t// message.\n\t\t\treturn se.StreamID\n\t\t}\n\t\treturn 0\n\t}\n\treturn wr.stream.id\n}\n\n// DataSize returns the number of flow control bytes that must be consumed\n// to write this entire frame. This is 0 for non-DATA frames.\nfunc (wr FrameWriteRequest) DataSize() int {\n\tif wd, ok := wr.write.(*writeData); ok {\n\t\treturn len(wd.p)\n\t}\n\treturn 0\n}\n\n// Consume consumes min(n, available) bytes from this frame, where available\n// is the number of flow control bytes available on the stream. Consume returns\n// 0, 1, or 2 frames, where the integer return value gives the number of frames\n// returned.\n//\n// If flow control prevents consuming any bytes, this returns (_, _, 0). If\n// the entire frame was consumed, this returns (wr, _, 1). Otherwise, this\n// returns (consumed, rest, 2), where 'consumed' contains the consumed bytes and\n// 'rest' contains the remaining bytes. The consumed bytes are deducted from the\n// underlying stream's flow control budget.\nfunc (wr FrameWriteRequest) Consume(n int32) (FrameWriteRequest, FrameWriteRequest, int) {\n\tvar empty FrameWriteRequest\n\n\t// Non-DATA frames are always consumed whole.\n\twd, ok := wr.write.(*writeData)\n\tif !ok || len(wd.p) == 0 {\n\t\treturn wr, empty, 1\n\t}\n\n\t// Might need to split after applying limits.\n\tallowed := wr.stream.flow.available()\n\tif n < allowed {\n\t\tallowed = n\n\t}\n\tif wr.stream.sc.maxFrameSize < allowed {\n\t\tallowed = wr.stream.sc.maxFrameSize\n\t}\n\tif allowed <= 0 {\n\t\treturn empty, empty, 0\n\t}\n\tif len(wd.p) > int(allowed) {\n\t\twr.stream.flow.take(allowed)\n\t\tconsumed := FrameWriteRequest{\n\t\t\tstream: wr.stream,\n\t\t\twrite: &writeData{\n\t\t\t\tstreamID: wd.streamID,\n\t\t\t\tp:        wd.p[:allowed],\n\t\t\t\t// Even if the original had endStream set, there\n\t\t\t\t// are bytes remaining because len(wd.p) > allowed,\n\t\t\t\t// so we know endStream is false.\n\t\t\t\tendStream: false,\n\t\t\t},\n\t\t\t// Our caller is blocking on the final DATA frame, not\n\t\t\t// this intermediate frame, so no need to wait.\n\t\t\tdone: nil,\n\t\t}\n\t\trest := FrameWriteRequest{\n\t\t\tstream: wr.stream,\n\t\t\twrite: &writeData{\n\t\t\t\tstreamID:  wd.streamID,\n\t\t\t\tp:         wd.p[allowed:],\n\t\t\t\tendStream: wd.endStream,\n\t\t\t},\n\t\t\tdone: wr.done,\n\t\t}\n\t\treturn consumed, rest, 2\n\t}\n\n\t// The frame is consumed whole.\n\t// NB: This cast cannot overflow because allowed is <= math.MaxInt32.\n\twr.stream.flow.take(int32(len(wd.p)))\n\treturn wr, empty, 1\n}\n\n// String is for debugging only.\nfunc (wr FrameWriteRequest) String() string {\n\tvar des string\n\tif s, ok := wr.write.(fmt.Stringer); ok {\n\t\tdes = s.String()\n\t} else {\n\t\tdes = fmt.Sprintf(\"%T\", wr.write)\n\t}\n\treturn fmt.Sprintf(\"[FrameWriteRequest stream=%d, ch=%v, writer=%v]\", wr.StreamID(), wr.done != nil, des)\n}\n\n// replyToWriter sends err to wr.done and panics if the send must block\n// This does nothing if wr.done is nil.\nfunc (wr *FrameWriteRequest) replyToWriter(err error) {\n\tif wr.done == nil {\n\t\treturn\n\t}\n\tselect {\n\tcase wr.done <- err:\n\tdefault:\n\t\tpanic(fmt.Sprintf(\"unbuffered done channel passed in for type %T\", wr.write))\n\t}\n\twr.write = nil // prevent use (assume it's tainted after wr.done send)\n}\n\n// writeQueue is used by implementations of WriteScheduler.\ntype writeQueue struct {\n\ts []FrameWriteRequest\n}\n\nfunc (q *writeQueue) empty() bool { return len(q.s) == 0 }\n\nfunc (q *writeQueue) push(wr FrameWriteRequest) {\n\tq.s = append(q.s, wr)\n}\n\nfunc (q *writeQueue) shift() FrameWriteRequest {\n\tif len(q.s) == 0 {\n\t\tpanic(\"invalid use of queue\")\n\t}\n\twr := q.s[0]\n\t// TODO: less copy-happy queue.\n\tcopy(q.s, q.s[1:])\n\tq.s[len(q.s)-1] = FrameWriteRequest{}\n\tq.s = q.s[:len(q.s)-1]\n\treturn wr\n}\n\n// consume consumes up to n bytes from q.s[0]. If the frame is\n// entirely consumed, it is removed from the queue. If the frame\n// is partially consumed, the frame is kept with the consumed\n// bytes removed. Returns true iff any bytes were consumed.\nfunc (q *writeQueue) consume(n int32) (FrameWriteRequest, bool) {\n\tif len(q.s) == 0 {\n\t\treturn FrameWriteRequest{}, false\n\t}\n\tconsumed, rest, numresult := q.s[0].Consume(n)\n\tswitch numresult {\n\tcase 0:\n\t\treturn FrameWriteRequest{}, false\n\tcase 1:\n\t\tq.shift()\n\tcase 2:\n\t\tq.s[0] = rest\n\t}\n\treturn consumed, true\n}\n\ntype writeQueuePool []*writeQueue\n\n// put inserts an unused writeQueue into the pool.\nfunc (p *writeQueuePool) put(q *writeQueue) {\n\tfor i := range q.s {\n\t\tq.s[i] = FrameWriteRequest{}\n\t}\n\tq.s = q.s[:0]\n\t*p = append(*p, q)\n}\n\n// get returns an empty writeQueue.\nfunc (p *writeQueuePool) get() *writeQueue {\n\tln := len(*p)\n\tif ln == 0 {\n\t\treturn new(writeQueue)\n\t}\n\tx := ln - 1\n\tq := (*p)[x]\n\t(*p)[x] = nil\n\t*p = (*p)[:x]\n\treturn q\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/writesched_priority.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage http2\n\nimport (\n\t\"fmt\"\n\t\"math\"\n\t\"sort\"\n)\n\n// RFC 7540, Section 5.3.5: the default weight is 16.\nconst priorityDefaultWeight = 15 // 16 = 15 + 1\n\n// PriorityWriteSchedulerConfig configures a priorityWriteScheduler.\ntype PriorityWriteSchedulerConfig struct {\n\t// MaxClosedNodesInTree controls the maximum number of closed streams to\n\t// retain in the priority tree. Setting this to zero saves a small amount\n\t// of memory at the cost of performance.\n\t//\n\t// See RFC 7540, Section 5.3.4:\n\t//   \"It is possible for a stream to become closed while prioritization\n\t//   information ... is in transit. ... This potentially creates suboptimal\n\t//   prioritization, since the stream could be given a priority that is\n\t//   different from what is intended. To avoid these problems, an endpoint\n\t//   SHOULD retain stream prioritization state for a period after streams\n\t//   become closed. The longer state is retained, the lower the chance that\n\t//   streams are assigned incorrect or default priority values.\"\n\tMaxClosedNodesInTree int\n\n\t// MaxIdleNodesInTree controls the maximum number of idle streams to\n\t// retain in the priority tree. Setting this to zero saves a small amount\n\t// of memory at the cost of performance.\n\t//\n\t// See RFC 7540, Section 5.3.4:\n\t//   Similarly, streams that are in the \"idle\" state can be assigned\n\t//   priority or become a parent of other streams. This allows for the\n\t//   creation of a grouping node in the dependency tree, which enables\n\t//   more flexible expressions of priority. Idle streams begin with a\n\t//   default priority (Section 5.3.5).\n\tMaxIdleNodesInTree int\n\n\t// ThrottleOutOfOrderWrites enables write throttling to help ensure that\n\t// data is delivered in priority order. This works around a race where\n\t// stream B depends on stream A and both streams are about to call Write\n\t// to queue DATA frames. If B wins the race, a naive scheduler would eagerly\n\t// write as much data from B as possible, but this is suboptimal because A\n\t// is a higher-priority stream. With throttling enabled, we write a small\n\t// amount of data from B to minimize the amount of bandwidth that B can\n\t// steal from A.\n\tThrottleOutOfOrderWrites bool\n}\n\n// NewPriorityWriteScheduler constructs a WriteScheduler that schedules\n// frames by following HTTP/2 priorities as described in RFC 7540 Section 5.3.\n// If cfg is nil, default options are used.\nfunc NewPriorityWriteScheduler(cfg *PriorityWriteSchedulerConfig) WriteScheduler {\n\tif cfg == nil {\n\t\t// For justification of these defaults, see:\n\t\t// https://docs.google.com/document/d/1oLhNg1skaWD4_DtaoCxdSRN5erEXrH-KnLrMwEpOtFY\n\t\tcfg = &PriorityWriteSchedulerConfig{\n\t\t\tMaxClosedNodesInTree:     10,\n\t\t\tMaxIdleNodesInTree:       10,\n\t\t\tThrottleOutOfOrderWrites: false,\n\t\t}\n\t}\n\n\tws := &priorityWriteScheduler{\n\t\tnodes:                make(map[uint32]*priorityNode),\n\t\tmaxClosedNodesInTree: cfg.MaxClosedNodesInTree,\n\t\tmaxIdleNodesInTree:   cfg.MaxIdleNodesInTree,\n\t\tenableWriteThrottle:  cfg.ThrottleOutOfOrderWrites,\n\t}\n\tws.nodes[0] = &ws.root\n\tif cfg.ThrottleOutOfOrderWrites {\n\t\tws.writeThrottleLimit = 1024\n\t} else {\n\t\tws.writeThrottleLimit = math.MaxInt32\n\t}\n\treturn ws\n}\n\ntype priorityNodeState int\n\nconst (\n\tpriorityNodeOpen priorityNodeState = iota\n\tpriorityNodeClosed\n\tpriorityNodeIdle\n)\n\n// priorityNode is a node in an HTTP/2 priority tree.\n// Each node is associated with a single stream ID.\n// See RFC 7540, Section 5.3.\ntype priorityNode struct {\n\tq            writeQueue        // queue of pending frames to write\n\tid           uint32            // id of the stream, or 0 for the root of the tree\n\tweight       uint8             // the actual weight is weight+1, so the value is in [1,256]\n\tstate        priorityNodeState // open | closed | idle\n\tbytes        int64             // number of bytes written by this node, or 0 if closed\n\tsubtreeBytes int64             // sum(node.bytes) of all nodes in this subtree\n\n\t// These links form the priority tree.\n\tparent     *priorityNode\n\tkids       *priorityNode // start of the kids list\n\tprev, next *priorityNode // doubly-linked list of siblings\n}\n\nfunc (n *priorityNode) setParent(parent *priorityNode) {\n\tif n == parent {\n\t\tpanic(\"setParent to self\")\n\t}\n\tif n.parent == parent {\n\t\treturn\n\t}\n\t// Unlink from current parent.\n\tif parent := n.parent; parent != nil {\n\t\tif n.prev == nil {\n\t\t\tparent.kids = n.next\n\t\t} else {\n\t\t\tn.prev.next = n.next\n\t\t}\n\t\tif n.next != nil {\n\t\t\tn.next.prev = n.prev\n\t\t}\n\t}\n\t// Link to new parent.\n\t// If parent=nil, remove n from the tree.\n\t// Always insert at the head of parent.kids (this is assumed by walkReadyInOrder).\n\tn.parent = parent\n\tif parent == nil {\n\t\tn.next = nil\n\t\tn.prev = nil\n\t} else {\n\t\tn.next = parent.kids\n\t\tn.prev = nil\n\t\tif n.next != nil {\n\t\t\tn.next.prev = n\n\t\t}\n\t\tparent.kids = n\n\t}\n}\n\nfunc (n *priorityNode) addBytes(b int64) {\n\tn.bytes += b\n\tfor ; n != nil; n = n.parent {\n\t\tn.subtreeBytes += b\n\t}\n}\n\n// walkReadyInOrder iterates over the tree in priority order, calling f for each node\n// with a non-empty write queue. When f returns true, this funcion returns true and the\n// walk halts. tmp is used as scratch space for sorting.\n//\n// f(n, openParent) takes two arguments: the node to visit, n, and a bool that is true\n// if any ancestor p of n is still open (ignoring the root node).\nfunc (n *priorityNode) walkReadyInOrder(openParent bool, tmp *[]*priorityNode, f func(*priorityNode, bool) bool) bool {\n\tif !n.q.empty() && f(n, openParent) {\n\t\treturn true\n\t}\n\tif n.kids == nil {\n\t\treturn false\n\t}\n\n\t// Don't consider the root \"open\" when updating openParent since\n\t// we can't send data frames on the root stream (only control frames).\n\tif n.id != 0 {\n\t\topenParent = openParent || (n.state == priorityNodeOpen)\n\t}\n\n\t// Common case: only one kid or all kids have the same weight.\n\t// Some clients don't use weights; other clients (like web browsers)\n\t// use mostly-linear priority trees.\n\tw := n.kids.weight\n\tneedSort := false\n\tfor k := n.kids.next; k != nil; k = k.next {\n\t\tif k.weight != w {\n\t\t\tneedSort = true\n\t\t\tbreak\n\t\t}\n\t}\n\tif !needSort {\n\t\tfor k := n.kids; k != nil; k = k.next {\n\t\t\tif k.walkReadyInOrder(openParent, tmp, f) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t}\n\t\treturn false\n\t}\n\n\t// Uncommon case: sort the child nodes. We remove the kids from the parent,\n\t// then re-insert after sorting so we can reuse tmp for future sort calls.\n\t*tmp = (*tmp)[:0]\n\tfor n.kids != nil {\n\t\t*tmp = append(*tmp, n.kids)\n\t\tn.kids.setParent(nil)\n\t}\n\tsort.Sort(sortPriorityNodeSiblings(*tmp))\n\tfor i := len(*tmp) - 1; i >= 0; i-- {\n\t\t(*tmp)[i].setParent(n) // setParent inserts at the head of n.kids\n\t}\n\tfor k := n.kids; k != nil; k = k.next {\n\t\tif k.walkReadyInOrder(openParent, tmp, f) {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\ntype sortPriorityNodeSiblings []*priorityNode\n\nfunc (z sortPriorityNodeSiblings) Len() int      { return len(z) }\nfunc (z sortPriorityNodeSiblings) Swap(i, k int) { z[i], z[k] = z[k], z[i] }\nfunc (z sortPriorityNodeSiblings) Less(i, k int) bool {\n\t// Prefer the subtree that has sent fewer bytes relative to its weight.\n\t// See sections 5.3.2 and 5.3.4.\n\twi, bi := float64(z[i].weight+1), float64(z[i].subtreeBytes)\n\twk, bk := float64(z[k].weight+1), float64(z[k].subtreeBytes)\n\tif bi == 0 && bk == 0 {\n\t\treturn wi >= wk\n\t}\n\tif bk == 0 {\n\t\treturn false\n\t}\n\treturn bi/bk <= wi/wk\n}\n\ntype priorityWriteScheduler struct {\n\t// root is the root of the priority tree, where root.id = 0.\n\t// The root queues control frames that are not associated with any stream.\n\troot priorityNode\n\n\t// nodes maps stream ids to priority tree nodes.\n\tnodes map[uint32]*priorityNode\n\n\t// maxID is the maximum stream id in nodes.\n\tmaxID uint32\n\n\t// lists of nodes that have been closed or are idle, but are kept in\n\t// the tree for improved prioritization. When the lengths exceed either\n\t// maxClosedNodesInTree or maxIdleNodesInTree, old nodes are discarded.\n\tclosedNodes, idleNodes []*priorityNode\n\n\t// From the config.\n\tmaxClosedNodesInTree int\n\tmaxIdleNodesInTree   int\n\twriteThrottleLimit   int32\n\tenableWriteThrottle  bool\n\n\t// tmp is scratch space for priorityNode.walkReadyInOrder to reduce allocations.\n\ttmp []*priorityNode\n\n\t// pool of empty queues for reuse.\n\tqueuePool writeQueuePool\n}\n\nfunc (ws *priorityWriteScheduler) OpenStream(streamID uint32, options OpenStreamOptions) {\n\t// The stream may be currently idle but cannot be opened or closed.\n\tif curr := ws.nodes[streamID]; curr != nil {\n\t\tif curr.state != priorityNodeIdle {\n\t\t\tpanic(fmt.Sprintf(\"stream %d already opened\", streamID))\n\t\t}\n\t\tcurr.state = priorityNodeOpen\n\t\treturn\n\t}\n\n\t// RFC 7540, Section 5.3.5:\n\t//  \"All streams are initially assigned a non-exclusive dependency on stream 0x0.\n\t//  Pushed streams initially depend on their associated stream. In both cases,\n\t//  streams are assigned a default weight of 16.\"\n\tparent := ws.nodes[options.PusherID]\n\tif parent == nil {\n\t\tparent = &ws.root\n\t}\n\tn := &priorityNode{\n\t\tq:      *ws.queuePool.get(),\n\t\tid:     streamID,\n\t\tweight: priorityDefaultWeight,\n\t\tstate:  priorityNodeOpen,\n\t}\n\tn.setParent(parent)\n\tws.nodes[streamID] = n\n\tif streamID > ws.maxID {\n\t\tws.maxID = streamID\n\t}\n}\n\nfunc (ws *priorityWriteScheduler) CloseStream(streamID uint32) {\n\tif streamID == 0 {\n\t\tpanic(\"violation of WriteScheduler interface: cannot close stream 0\")\n\t}\n\tif ws.nodes[streamID] == nil {\n\t\tpanic(fmt.Sprintf(\"violation of WriteScheduler interface: unknown stream %d\", streamID))\n\t}\n\tif ws.nodes[streamID].state != priorityNodeOpen {\n\t\tpanic(fmt.Sprintf(\"violation of WriteScheduler interface: stream %d already closed\", streamID))\n\t}\n\n\tn := ws.nodes[streamID]\n\tn.state = priorityNodeClosed\n\tn.addBytes(-n.bytes)\n\n\tq := n.q\n\tws.queuePool.put(&q)\n\tn.q.s = nil\n\tif ws.maxClosedNodesInTree > 0 {\n\t\tws.addClosedOrIdleNode(&ws.closedNodes, ws.maxClosedNodesInTree, n)\n\t} else {\n\t\tws.removeNode(n)\n\t}\n}\n\nfunc (ws *priorityWriteScheduler) AdjustStream(streamID uint32, priority PriorityParam) {\n\tif streamID == 0 {\n\t\tpanic(\"adjustPriority on root\")\n\t}\n\n\t// If streamID does not exist, there are two cases:\n\t// - A closed stream that has been removed (this will have ID <= maxID)\n\t// - An idle stream that is being used for \"grouping\" (this will have ID > maxID)\n\tn := ws.nodes[streamID]\n\tif n == nil {\n\t\tif streamID <= ws.maxID || ws.maxIdleNodesInTree == 0 {\n\t\t\treturn\n\t\t}\n\t\tws.maxID = streamID\n\t\tn = &priorityNode{\n\t\t\tq:      *ws.queuePool.get(),\n\t\t\tid:     streamID,\n\t\t\tweight: priorityDefaultWeight,\n\t\t\tstate:  priorityNodeIdle,\n\t\t}\n\t\tn.setParent(&ws.root)\n\t\tws.nodes[streamID] = n\n\t\tws.addClosedOrIdleNode(&ws.idleNodes, ws.maxIdleNodesInTree, n)\n\t}\n\n\t// Section 5.3.1: A dependency on a stream that is not currently in the tree\n\t// results in that stream being given a default priority (Section 5.3.5).\n\tparent := ws.nodes[priority.StreamDep]\n\tif parent == nil {\n\t\tn.setParent(&ws.root)\n\t\tn.weight = priorityDefaultWeight\n\t\treturn\n\t}\n\n\t// Ignore if the client tries to make a node its own parent.\n\tif n == parent {\n\t\treturn\n\t}\n\n\t// Section 5.3.3:\n\t//   \"If a stream is made dependent on one of its own dependencies, the\n\t//   formerly dependent stream is first moved to be dependent on the\n\t//   reprioritized stream's previous parent. The moved dependency retains\n\t//   its weight.\"\n\t//\n\t// That is: if parent depends on n, move parent to depend on n.parent.\n\tfor x := parent.parent; x != nil; x = x.parent {\n\t\tif x == n {\n\t\t\tparent.setParent(n.parent)\n\t\t\tbreak\n\t\t}\n\t}\n\n\t// Section 5.3.3: The exclusive flag causes the stream to become the sole\n\t// dependency of its parent stream, causing other dependencies to become\n\t// dependent on the exclusive stream.\n\tif priority.Exclusive {\n\t\tk := parent.kids\n\t\tfor k != nil {\n\t\t\tnext := k.next\n\t\t\tif k != n {\n\t\t\t\tk.setParent(n)\n\t\t\t}\n\t\t\tk = next\n\t\t}\n\t}\n\n\tn.setParent(parent)\n\tn.weight = priority.Weight\n}\n\nfunc (ws *priorityWriteScheduler) Push(wr FrameWriteRequest) {\n\tvar n *priorityNode\n\tif id := wr.StreamID(); id == 0 {\n\t\tn = &ws.root\n\t} else {\n\t\tn = ws.nodes[id]\n\t\tif n == nil {\n\t\t\t// id is an idle or closed stream. wr should not be a HEADERS or\n\t\t\t// DATA frame. However, wr can be a RST_STREAM. In this case, we\n\t\t\t// push wr onto the root, rather than creating a new priorityNode,\n\t\t\t// since RST_STREAM is tiny and the stream's priority is unknown\n\t\t\t// anyway. See issue #17919.\n\t\t\tif wr.DataSize() > 0 {\n\t\t\t\tpanic(\"add DATA on non-open stream\")\n\t\t\t}\n\t\t\tn = &ws.root\n\t\t}\n\t}\n\tn.q.push(wr)\n}\n\nfunc (ws *priorityWriteScheduler) Pop() (wr FrameWriteRequest, ok bool) {\n\tws.root.walkReadyInOrder(false, &ws.tmp, func(n *priorityNode, openParent bool) bool {\n\t\tlimit := int32(math.MaxInt32)\n\t\tif openParent {\n\t\t\tlimit = ws.writeThrottleLimit\n\t\t}\n\t\twr, ok = n.q.consume(limit)\n\t\tif !ok {\n\t\t\treturn false\n\t\t}\n\t\tn.addBytes(int64(wr.DataSize()))\n\t\t// If B depends on A and B continuously has data available but A\n\t\t// does not, gradually increase the throttling limit to allow B to\n\t\t// steal more and more bandwidth from A.\n\t\tif openParent {\n\t\t\tws.writeThrottleLimit += 1024\n\t\t\tif ws.writeThrottleLimit < 0 {\n\t\t\t\tws.writeThrottleLimit = math.MaxInt32\n\t\t\t}\n\t\t} else if ws.enableWriteThrottle {\n\t\t\tws.writeThrottleLimit = 1024\n\t\t}\n\t\treturn true\n\t})\n\treturn wr, ok\n}\n\nfunc (ws *priorityWriteScheduler) addClosedOrIdleNode(list *[]*priorityNode, maxSize int, n *priorityNode) {\n\tif maxSize == 0 {\n\t\treturn\n\t}\n\tif len(*list) == maxSize {\n\t\t// Remove the oldest node, then shift left.\n\t\tws.removeNode((*list)[0])\n\t\tx := (*list)[1:]\n\t\tcopy(*list, x)\n\t\t*list = (*list)[:len(x)]\n\t}\n\t*list = append(*list, n)\n}\n\nfunc (ws *priorityWriteScheduler) removeNode(n *priorityNode) {\n\tfor k := n.kids; k != nil; k = k.next {\n\t\tk.setParent(n.parent)\n\t}\n\tn.setParent(nil)\n\tdelete(ws.nodes, n.id)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/http2/writesched_random.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage http2\n\nimport \"math\"\n\n// NewRandomWriteScheduler constructs a WriteScheduler that ignores HTTP/2\n// priorities. Control frames like SETTINGS and PING are written before DATA\n// frames, but if no control frames are queued and multiple streams have queued\n// HEADERS or DATA frames, Pop selects a ready stream arbitrarily.\nfunc NewRandomWriteScheduler() WriteScheduler {\n\treturn &randomWriteScheduler{sq: make(map[uint32]*writeQueue)}\n}\n\ntype randomWriteScheduler struct {\n\t// zero are frames not associated with a specific stream.\n\tzero writeQueue\n\n\t// sq contains the stream-specific queues, keyed by stream ID.\n\t// When a stream is idle or closed, it's deleted from the map.\n\tsq map[uint32]*writeQueue\n\n\t// pool of empty queues for reuse.\n\tqueuePool writeQueuePool\n}\n\nfunc (ws *randomWriteScheduler) OpenStream(streamID uint32, options OpenStreamOptions) {\n\t// no-op: idle streams are not tracked\n}\n\nfunc (ws *randomWriteScheduler) CloseStream(streamID uint32) {\n\tq, ok := ws.sq[streamID]\n\tif !ok {\n\t\treturn\n\t}\n\tdelete(ws.sq, streamID)\n\tws.queuePool.put(q)\n}\n\nfunc (ws *randomWriteScheduler) AdjustStream(streamID uint32, priority PriorityParam) {\n\t// no-op: priorities are ignored\n}\n\nfunc (ws *randomWriteScheduler) Push(wr FrameWriteRequest) {\n\tid := wr.StreamID()\n\tif id == 0 {\n\t\tws.zero.push(wr)\n\t\treturn\n\t}\n\tq, ok := ws.sq[id]\n\tif !ok {\n\t\tq = ws.queuePool.get()\n\t\tws.sq[id] = q\n\t}\n\tq.push(wr)\n}\n\nfunc (ws *randomWriteScheduler) Pop() (FrameWriteRequest, bool) {\n\t// Control frames first.\n\tif !ws.zero.empty() {\n\t\treturn ws.zero.shift(), true\n\t}\n\t// Iterate over all non-idle streams until finding one that can be consumed.\n\tfor _, q := range ws.sq {\n\t\tif wr, ok := q.consume(math.MaxInt32); ok {\n\t\t\treturn wr, true\n\t\t}\n\t}\n\treturn FrameWriteRequest{}, false\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/idna/idna.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\n// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package idna implements IDNA2008 using the compatibility processing\n// defined by UTS (Unicode Technical Standard) #46, which defines a standard to\n// deal with the transition from IDNA2003.\n//\n// IDNA2008 (Internationalized Domain Names for Applications), is defined in RFC\n// 5890, RFC 5891, RFC 5892, RFC 5893 and RFC 5894.\n// UTS #46 is defined in http://www.unicode.org/reports/tr46.\n// See http://unicode.org/cldr/utility/idna.jsp for a visualization of the\n// differences between these two standards.\npackage idna // import \"golang.org/x/net/idna\"\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"unicode/utf8\"\n\n\t\"golang.org/x/text/secure/bidirule\"\n\t\"golang.org/x/text/unicode/bidi\"\n\t\"golang.org/x/text/unicode/norm\"\n)\n\n// NOTE: Unlike common practice in Go APIs, the functions will return a\n// sanitized domain name in case of errors. Browsers sometimes use a partially\n// evaluated string as lookup.\n// TODO: the current error handling is, in my opinion, the least opinionated.\n// Other strategies are also viable, though:\n// Option 1) Return an empty string in case of error, but allow the user to\n//    specify explicitly which errors to ignore.\n// Option 2) Return the partially evaluated string if it is itself a valid\n//    string, otherwise return the empty string in case of error.\n// Option 3) Option 1 and 2.\n// Option 4) Always return an empty string for now and implement Option 1 as\n//    needed, and document that the return string may not be empty in case of\n//    error in the future.\n// I think Option 1 is best, but it is quite opinionated.\n\n// ToASCII is a wrapper for Punycode.ToASCII.\nfunc ToASCII(s string) (string, error) {\n\treturn Punycode.process(s, true)\n}\n\n// ToUnicode is a wrapper for Punycode.ToUnicode.\nfunc ToUnicode(s string) (string, error) {\n\treturn Punycode.process(s, false)\n}\n\n// An Option configures a Profile at creation time.\ntype Option func(*options)\n\n// Transitional sets a Profile to use the Transitional mapping as defined in UTS\n// #46. This will cause, for example, \"ß\" to be mapped to \"ss\". Using the\n// transitional mapping provides a compromise between IDNA2003 and IDNA2008\n// compatibility. It is used by most browsers when resolving domain names. This\n// option is only meaningful if combined with MapForLookup.\nfunc Transitional(transitional bool) Option {\n\treturn func(o *options) { o.transitional = true }\n}\n\n// VerifyDNSLength sets whether a Profile should fail if any of the IDN parts\n// are longer than allowed by the RFC.\nfunc VerifyDNSLength(verify bool) Option {\n\treturn func(o *options) { o.verifyDNSLength = verify }\n}\n\n// RemoveLeadingDots removes leading label separators. Leading runes that map to\n// dots, such as U+3002 IDEOGRAPHIC FULL STOP, are removed as well.\n//\n// This is the behavior suggested by the UTS #46 and is adopted by some\n// browsers.\nfunc RemoveLeadingDots(remove bool) Option {\n\treturn func(o *options) { o.removeLeadingDots = remove }\n}\n\n// ValidateLabels sets whether to check the mandatory label validation criteria\n// as defined in Section 5.4 of RFC 5891. This includes testing for correct use\n// of hyphens ('-'), normalization, validity of runes, and the context rules.\nfunc ValidateLabels(enable bool) Option {\n\treturn func(o *options) {\n\t\t// Don't override existing mappings, but set one that at least checks\n\t\t// normalization if it is not set.\n\t\tif o.mapping == nil && enable {\n\t\t\to.mapping = normalize\n\t\t}\n\t\to.trie = trie\n\t\to.validateLabels = enable\n\t\to.fromPuny = validateFromPunycode\n\t}\n}\n\n// StrictDomainName limits the set of permissible ASCII characters to those\n// allowed in domain names as defined in RFC 1034 (A-Z, a-z, 0-9 and the\n// hyphen). This is set by default for MapForLookup and ValidateForRegistration.\n//\n// This option is useful, for instance, for browsers that allow characters\n// outside this range, for example a '_' (U+005F LOW LINE). See\n// http://www.rfc-editor.org/std/std3.txt for more details This option\n// corresponds to the UseSTD3ASCIIRules option in UTS #46.\nfunc StrictDomainName(use bool) Option {\n\treturn func(o *options) {\n\t\to.trie = trie\n\t\to.useSTD3Rules = use\n\t\to.fromPuny = validateFromPunycode\n\t}\n}\n\n// NOTE: the following options pull in tables. The tables should not be linked\n// in as long as the options are not used.\n\n// BidiRule enables the Bidi rule as defined in RFC 5893. Any application\n// that relies on proper validation of labels should include this rule.\nfunc BidiRule() Option {\n\treturn func(o *options) { o.bidirule = bidirule.ValidString }\n}\n\n// ValidateForRegistration sets validation options to verify that a given IDN is\n// properly formatted for registration as defined by Section 4 of RFC 5891.\nfunc ValidateForRegistration() Option {\n\treturn func(o *options) {\n\t\to.mapping = validateRegistration\n\t\tStrictDomainName(true)(o)\n\t\tValidateLabels(true)(o)\n\t\tVerifyDNSLength(true)(o)\n\t\tBidiRule()(o)\n\t}\n}\n\n// MapForLookup sets validation and mapping options such that a given IDN is\n// transformed for domain name lookup according to the requirements set out in\n// Section 5 of RFC 5891. The mappings follow the recommendations of RFC 5894,\n// RFC 5895 and UTS 46. It does not add the Bidi Rule. Use the BidiRule option\n// to add this check.\n//\n// The mappings include normalization and mapping case, width and other\n// compatibility mappings.\nfunc MapForLookup() Option {\n\treturn func(o *options) {\n\t\to.mapping = validateAndMap\n\t\tStrictDomainName(true)(o)\n\t\tValidateLabels(true)(o)\n\t}\n}\n\ntype options struct {\n\ttransitional      bool\n\tuseSTD3Rules      bool\n\tvalidateLabels    bool\n\tverifyDNSLength   bool\n\tremoveLeadingDots bool\n\n\ttrie *idnaTrie\n\n\t// fromPuny calls validation rules when converting A-labels to U-labels.\n\tfromPuny func(p *Profile, s string) error\n\n\t// mapping implements a validation and mapping step as defined in RFC 5895\n\t// or UTS 46, tailored to, for example, domain registration or lookup.\n\tmapping func(p *Profile, s string) (mapped string, isBidi bool, err error)\n\n\t// bidirule, if specified, checks whether s conforms to the Bidi Rule\n\t// defined in RFC 5893.\n\tbidirule func(s string) bool\n}\n\n// A Profile defines the configuration of an IDNA mapper.\ntype Profile struct {\n\toptions\n}\n\nfunc apply(o *options, opts []Option) {\n\tfor _, f := range opts {\n\t\tf(o)\n\t}\n}\n\n// New creates a new Profile.\n//\n// With no options, the returned Profile is the most permissive and equals the\n// Punycode Profile. Options can be passed to further restrict the Profile. The\n// MapForLookup and ValidateForRegistration options set a collection of options,\n// for lookup and registration purposes respectively, which can be tailored by\n// adding more fine-grained options, where later options override earlier\n// options.\nfunc New(o ...Option) *Profile {\n\tp := &Profile{}\n\tapply(&p.options, o)\n\treturn p\n}\n\n// ToASCII converts a domain or domain label to its ASCII form. For example,\n// ToASCII(\"bücher.example.com\") is \"xn--bcher-kva.example.com\", and\n// ToASCII(\"golang\") is \"golang\". If an error is encountered it will return\n// an error and a (partially) processed result.\nfunc (p *Profile) ToASCII(s string) (string, error) {\n\treturn p.process(s, true)\n}\n\n// ToUnicode converts a domain or domain label to its Unicode form. For example,\n// ToUnicode(\"xn--bcher-kva.example.com\") is \"bücher.example.com\", and\n// ToUnicode(\"golang\") is \"golang\". If an error is encountered it will return\n// an error and a (partially) processed result.\nfunc (p *Profile) ToUnicode(s string) (string, error) {\n\tpp := *p\n\tpp.transitional = false\n\treturn pp.process(s, false)\n}\n\n// String reports a string with a description of the profile for debugging\n// purposes. The string format may change with different versions.\nfunc (p *Profile) String() string {\n\ts := \"\"\n\tif p.transitional {\n\t\ts = \"Transitional\"\n\t} else {\n\t\ts = \"NonTransitional\"\n\t}\n\tif p.useSTD3Rules {\n\t\ts += \":UseSTD3Rules\"\n\t}\n\tif p.validateLabels {\n\t\ts += \":ValidateLabels\"\n\t}\n\tif p.verifyDNSLength {\n\t\ts += \":VerifyDNSLength\"\n\t}\n\treturn s\n}\n\nvar (\n\t// Punycode is a Profile that does raw punycode processing with a minimum\n\t// of validation.\n\tPunycode *Profile = punycode\n\n\t// Lookup is the recommended profile for looking up domain names, according\n\t// to Section 5 of RFC 5891. The exact configuration of this profile may\n\t// change over time.\n\tLookup *Profile = lookup\n\n\t// Display is the recommended profile for displaying domain names.\n\t// The configuration of this profile may change over time.\n\tDisplay *Profile = display\n\n\t// Registration is the recommended profile for checking whether a given\n\t// IDN is valid for registration, according to Section 4 of RFC 5891.\n\tRegistration *Profile = registration\n\n\tpunycode = &Profile{}\n\tlookup   = &Profile{options{\n\t\ttransitional:   true,\n\t\tuseSTD3Rules:   true,\n\t\tvalidateLabels: true,\n\t\ttrie:           trie,\n\t\tfromPuny:       validateFromPunycode,\n\t\tmapping:        validateAndMap,\n\t\tbidirule:       bidirule.ValidString,\n\t}}\n\tdisplay = &Profile{options{\n\t\tuseSTD3Rules:   true,\n\t\tvalidateLabels: true,\n\t\ttrie:           trie,\n\t\tfromPuny:       validateFromPunycode,\n\t\tmapping:        validateAndMap,\n\t\tbidirule:       bidirule.ValidString,\n\t}}\n\tregistration = &Profile{options{\n\t\tuseSTD3Rules:    true,\n\t\tvalidateLabels:  true,\n\t\tverifyDNSLength: true,\n\t\ttrie:            trie,\n\t\tfromPuny:        validateFromPunycode,\n\t\tmapping:         validateRegistration,\n\t\tbidirule:        bidirule.ValidString,\n\t}}\n\n\t// TODO: profiles\n\t// Register: recommended for approving domain names: don't do any mappings\n\t// but rather reject on invalid input. Bundle or block deviation characters.\n)\n\ntype labelError struct{ label, code_ string }\n\nfunc (e labelError) code() string { return e.code_ }\nfunc (e labelError) Error() string {\n\treturn fmt.Sprintf(\"idna: invalid label %q\", e.label)\n}\n\ntype runeError rune\n\nfunc (e runeError) code() string { return \"P1\" }\nfunc (e runeError) Error() string {\n\treturn fmt.Sprintf(\"idna: disallowed rune %U\", e)\n}\n\n// process implements the algorithm described in section 4 of UTS #46,\n// see http://www.unicode.org/reports/tr46.\nfunc (p *Profile) process(s string, toASCII bool) (string, error) {\n\tvar err error\n\tvar isBidi bool\n\tif p.mapping != nil {\n\t\ts, isBidi, err = p.mapping(p, s)\n\t}\n\t// Remove leading empty labels.\n\tif p.removeLeadingDots {\n\t\tfor ; len(s) > 0 && s[0] == '.'; s = s[1:] {\n\t\t}\n\t}\n\t// TODO: allow for a quick check of the tables data.\n\t// It seems like we should only create this error on ToASCII, but the\n\t// UTS 46 conformance tests suggests we should always check this.\n\tif err == nil && p.verifyDNSLength && s == \"\" {\n\t\terr = &labelError{s, \"A4\"}\n\t}\n\tlabels := labelIter{orig: s}\n\tfor ; !labels.done(); labels.next() {\n\t\tlabel := labels.label()\n\t\tif label == \"\" {\n\t\t\t// Empty labels are not okay. The label iterator skips the last\n\t\t\t// label if it is empty.\n\t\t\tif err == nil && p.verifyDNSLength {\n\t\t\t\terr = &labelError{s, \"A4\"}\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\tif strings.HasPrefix(label, acePrefix) {\n\t\t\tu, err2 := decode(label[len(acePrefix):])\n\t\t\tif err2 != nil {\n\t\t\t\tif err == nil {\n\t\t\t\t\terr = err2\n\t\t\t\t}\n\t\t\t\t// Spec says keep the old label.\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tisBidi = isBidi || bidirule.DirectionString(u) != bidi.LeftToRight\n\t\t\tlabels.set(u)\n\t\t\tif err == nil && p.validateLabels {\n\t\t\t\terr = p.fromPuny(p, u)\n\t\t\t}\n\t\t\tif err == nil {\n\t\t\t\t// This should be called on NonTransitional, according to the\n\t\t\t\t// spec, but that currently does not have any effect. Use the\n\t\t\t\t// original profile to preserve options.\n\t\t\t\terr = p.validateLabel(u)\n\t\t\t}\n\t\t} else if err == nil {\n\t\t\terr = p.validateLabel(label)\n\t\t}\n\t}\n\tif isBidi && p.bidirule != nil && err == nil {\n\t\tfor labels.reset(); !labels.done(); labels.next() {\n\t\t\tif !p.bidirule(labels.label()) {\n\t\t\t\terr = &labelError{s, \"B\"}\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n\tif toASCII {\n\t\tfor labels.reset(); !labels.done(); labels.next() {\n\t\t\tlabel := labels.label()\n\t\t\tif !ascii(label) {\n\t\t\t\ta, err2 := encode(acePrefix, label)\n\t\t\t\tif err == nil {\n\t\t\t\t\terr = err2\n\t\t\t\t}\n\t\t\t\tlabel = a\n\t\t\t\tlabels.set(a)\n\t\t\t}\n\t\t\tn := len(label)\n\t\t\tif p.verifyDNSLength && err == nil && (n == 0 || n > 63) {\n\t\t\t\terr = &labelError{label, \"A4\"}\n\t\t\t}\n\t\t}\n\t}\n\ts = labels.result()\n\tif toASCII && p.verifyDNSLength && err == nil {\n\t\t// Compute the length of the domain name minus the root label and its dot.\n\t\tn := len(s)\n\t\tif n > 0 && s[n-1] == '.' {\n\t\t\tn--\n\t\t}\n\t\tif len(s) < 1 || n > 253 {\n\t\t\terr = &labelError{s, \"A4\"}\n\t\t}\n\t}\n\treturn s, err\n}\n\nfunc normalize(p *Profile, s string) (mapped string, isBidi bool, err error) {\n\t// TODO: consider first doing a quick check to see if any of these checks\n\t// need to be done. This will make it slower in the general case, but\n\t// faster in the common case.\n\tmapped = norm.NFC.String(s)\n\tisBidi = bidirule.DirectionString(mapped) == bidi.RightToLeft\n\treturn mapped, isBidi, nil\n}\n\nfunc validateRegistration(p *Profile, s string) (idem string, bidi bool, err error) {\n\t// TODO: filter need for normalization in loop below.\n\tif !norm.NFC.IsNormalString(s) {\n\t\treturn s, false, &labelError{s, \"V1\"}\n\t}\n\tfor i := 0; i < len(s); {\n\t\tv, sz := trie.lookupString(s[i:])\n\t\tif sz == 0 {\n\t\t\treturn s, bidi, runeError(utf8.RuneError)\n\t\t}\n\t\tbidi = bidi || info(v).isBidi(s[i:])\n\t\t// Copy bytes not copied so far.\n\t\tswitch p.simplify(info(v).category()) {\n\t\t// TODO: handle the NV8 defined in the Unicode idna data set to allow\n\t\t// for strict conformance to IDNA2008.\n\t\tcase valid, deviation:\n\t\tcase disallowed, mapped, unknown, ignored:\n\t\t\tr, _ := utf8.DecodeRuneInString(s[i:])\n\t\t\treturn s, bidi, runeError(r)\n\t\t}\n\t\ti += sz\n\t}\n\treturn s, bidi, nil\n}\n\nfunc (c info) isBidi(s string) bool {\n\tif !c.isMapped() {\n\t\treturn c&attributesMask == rtl\n\t}\n\t// TODO: also store bidi info for mapped data. This is possible, but a bit\n\t// cumbersome and not for the common case.\n\tp, _ := bidi.LookupString(s)\n\tswitch p.Class() {\n\tcase bidi.R, bidi.AL, bidi.AN:\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc validateAndMap(p *Profile, s string) (vm string, bidi bool, err error) {\n\tvar (\n\t\tb []byte\n\t\tk int\n\t)\n\t// combinedInfoBits contains the or-ed bits of all runes. We use this\n\t// to derive the mayNeedNorm bit later. This may trigger normalization\n\t// overeagerly, but it will not do so in the common case. The end result\n\t// is another 10% saving on BenchmarkProfile for the common case.\n\tvar combinedInfoBits info\n\tfor i := 0; i < len(s); {\n\t\tv, sz := trie.lookupString(s[i:])\n\t\tif sz == 0 {\n\t\t\tb = append(b, s[k:i]...)\n\t\t\tb = append(b, \"\\ufffd\"...)\n\t\t\tk = len(s)\n\t\t\tif err == nil {\n\t\t\t\terr = runeError(utf8.RuneError)\n\t\t\t}\n\t\t\tbreak\n\t\t}\n\t\tcombinedInfoBits |= info(v)\n\t\tbidi = bidi || info(v).isBidi(s[i:])\n\t\tstart := i\n\t\ti += sz\n\t\t// Copy bytes not copied so far.\n\t\tswitch p.simplify(info(v).category()) {\n\t\tcase valid:\n\t\t\tcontinue\n\t\tcase disallowed:\n\t\t\tif err == nil {\n\t\t\t\tr, _ := utf8.DecodeRuneInString(s[start:])\n\t\t\t\terr = runeError(r)\n\t\t\t}\n\t\t\tcontinue\n\t\tcase mapped, deviation:\n\t\t\tb = append(b, s[k:start]...)\n\t\t\tb = info(v).appendMapping(b, s[start:i])\n\t\tcase ignored:\n\t\t\tb = append(b, s[k:start]...)\n\t\t\t// drop the rune\n\t\tcase unknown:\n\t\t\tb = append(b, s[k:start]...)\n\t\t\tb = append(b, \"\\ufffd\"...)\n\t\t}\n\t\tk = i\n\t}\n\tif k == 0 {\n\t\t// No changes so far.\n\t\tif combinedInfoBits&mayNeedNorm != 0 {\n\t\t\ts = norm.NFC.String(s)\n\t\t}\n\t} else {\n\t\tb = append(b, s[k:]...)\n\t\tif norm.NFC.QuickSpan(b) != len(b) {\n\t\t\tb = norm.NFC.Bytes(b)\n\t\t}\n\t\t// TODO: the punycode converters require strings as input.\n\t\ts = string(b)\n\t}\n\treturn s, bidi, err\n}\n\n// A labelIter allows iterating over domain name labels.\ntype labelIter struct {\n\torig     string\n\tslice    []string\n\tcurStart int\n\tcurEnd   int\n\ti        int\n}\n\nfunc (l *labelIter) reset() {\n\tl.curStart = 0\n\tl.curEnd = 0\n\tl.i = 0\n}\n\nfunc (l *labelIter) done() bool {\n\treturn l.curStart >= len(l.orig)\n}\n\nfunc (l *labelIter) result() string {\n\tif l.slice != nil {\n\t\treturn strings.Join(l.slice, \".\")\n\t}\n\treturn l.orig\n}\n\nfunc (l *labelIter) label() string {\n\tif l.slice != nil {\n\t\treturn l.slice[l.i]\n\t}\n\tp := strings.IndexByte(l.orig[l.curStart:], '.')\n\tl.curEnd = l.curStart + p\n\tif p == -1 {\n\t\tl.curEnd = len(l.orig)\n\t}\n\treturn l.orig[l.curStart:l.curEnd]\n}\n\n// next sets the value to the next label. It skips the last label if it is empty.\nfunc (l *labelIter) next() {\n\tl.i++\n\tif l.slice != nil {\n\t\tif l.i >= len(l.slice) || l.i == len(l.slice)-1 && l.slice[l.i] == \"\" {\n\t\t\tl.curStart = len(l.orig)\n\t\t}\n\t} else {\n\t\tl.curStart = l.curEnd + 1\n\t\tif l.curStart == len(l.orig)-1 && l.orig[l.curStart] == '.' {\n\t\t\tl.curStart = len(l.orig)\n\t\t}\n\t}\n}\n\nfunc (l *labelIter) set(s string) {\n\tif l.slice == nil {\n\t\tl.slice = strings.Split(l.orig, \".\")\n\t}\n\tl.slice[l.i] = s\n}\n\n// acePrefix is the ASCII Compatible Encoding prefix.\nconst acePrefix = \"xn--\"\n\nfunc (p *Profile) simplify(cat category) category {\n\tswitch cat {\n\tcase disallowedSTD3Mapped:\n\t\tif p.useSTD3Rules {\n\t\t\tcat = disallowed\n\t\t} else {\n\t\t\tcat = mapped\n\t\t}\n\tcase disallowedSTD3Valid:\n\t\tif p.useSTD3Rules {\n\t\t\tcat = disallowed\n\t\t} else {\n\t\t\tcat = valid\n\t\t}\n\tcase deviation:\n\t\tif !p.transitional {\n\t\t\tcat = valid\n\t\t}\n\tcase validNV8, validXV8:\n\t\t// TODO: handle V2008\n\t\tcat = valid\n\t}\n\treturn cat\n}\n\nfunc validateFromPunycode(p *Profile, s string) error {\n\tif !norm.NFC.IsNormalString(s) {\n\t\treturn &labelError{s, \"V1\"}\n\t}\n\t// TODO: detect whether string may have to be normalized in the following\n\t// loop.\n\tfor i := 0; i < len(s); {\n\t\tv, sz := trie.lookupString(s[i:])\n\t\tif sz == 0 {\n\t\t\treturn runeError(utf8.RuneError)\n\t\t}\n\t\tif c := p.simplify(info(v).category()); c != valid && c != deviation {\n\t\t\treturn &labelError{s, \"V6\"}\n\t\t}\n\t\ti += sz\n\t}\n\treturn nil\n}\n\nconst (\n\tzwnj = \"\\u200c\"\n\tzwj  = \"\\u200d\"\n)\n\ntype joinState int8\n\nconst (\n\tstateStart joinState = iota\n\tstateVirama\n\tstateBefore\n\tstateBeforeVirama\n\tstateAfter\n\tstateFAIL\n)\n\nvar joinStates = [][numJoinTypes]joinState{\n\tstateStart: {\n\t\tjoiningL:   stateBefore,\n\t\tjoiningD:   stateBefore,\n\t\tjoinZWNJ:   stateFAIL,\n\t\tjoinZWJ:    stateFAIL,\n\t\tjoinVirama: stateVirama,\n\t},\n\tstateVirama: {\n\t\tjoiningL: stateBefore,\n\t\tjoiningD: stateBefore,\n\t},\n\tstateBefore: {\n\t\tjoiningL:   stateBefore,\n\t\tjoiningD:   stateBefore,\n\t\tjoiningT:   stateBefore,\n\t\tjoinZWNJ:   stateAfter,\n\t\tjoinZWJ:    stateFAIL,\n\t\tjoinVirama: stateBeforeVirama,\n\t},\n\tstateBeforeVirama: {\n\t\tjoiningL: stateBefore,\n\t\tjoiningD: stateBefore,\n\t\tjoiningT: stateBefore,\n\t},\n\tstateAfter: {\n\t\tjoiningL:   stateFAIL,\n\t\tjoiningD:   stateBefore,\n\t\tjoiningT:   stateAfter,\n\t\tjoiningR:   stateStart,\n\t\tjoinZWNJ:   stateFAIL,\n\t\tjoinZWJ:    stateFAIL,\n\t\tjoinVirama: stateAfter, // no-op as we can't accept joiners here\n\t},\n\tstateFAIL: {\n\t\t0:          stateFAIL,\n\t\tjoiningL:   stateFAIL,\n\t\tjoiningD:   stateFAIL,\n\t\tjoiningT:   stateFAIL,\n\t\tjoiningR:   stateFAIL,\n\t\tjoinZWNJ:   stateFAIL,\n\t\tjoinZWJ:    stateFAIL,\n\t\tjoinVirama: stateFAIL,\n\t},\n}\n\n// validateLabel validates the criteria from Section 4.1. Item 1, 4, and 6 are\n// already implicitly satisfied by the overall implementation.\nfunc (p *Profile) validateLabel(s string) (err error) {\n\tif s == \"\" {\n\t\tif p.verifyDNSLength {\n\t\t\treturn &labelError{s, \"A4\"}\n\t\t}\n\t\treturn nil\n\t}\n\tif !p.validateLabels {\n\t\treturn nil\n\t}\n\ttrie := p.trie // p.validateLabels is only set if trie is set.\n\tif len(s) > 4 && s[2] == '-' && s[3] == '-' {\n\t\treturn &labelError{s, \"V2\"}\n\t}\n\tif s[0] == '-' || s[len(s)-1] == '-' {\n\t\treturn &labelError{s, \"V3\"}\n\t}\n\t// TODO: merge the use of this in the trie.\n\tv, sz := trie.lookupString(s)\n\tx := info(v)\n\tif x.isModifier() {\n\t\treturn &labelError{s, \"V5\"}\n\t}\n\t// Quickly return in the absence of zero-width (non) joiners.\n\tif strings.Index(s, zwj) == -1 && strings.Index(s, zwnj) == -1 {\n\t\treturn nil\n\t}\n\tst := stateStart\n\tfor i := 0; ; {\n\t\tjt := x.joinType()\n\t\tif s[i:i+sz] == zwj {\n\t\t\tjt = joinZWJ\n\t\t} else if s[i:i+sz] == zwnj {\n\t\t\tjt = joinZWNJ\n\t\t}\n\t\tst = joinStates[st][jt]\n\t\tif x.isViramaModifier() {\n\t\t\tst = joinStates[st][joinVirama]\n\t\t}\n\t\tif i += sz; i == len(s) {\n\t\t\tbreak\n\t\t}\n\t\tv, sz = trie.lookupString(s[i:])\n\t\tx = info(v)\n\t}\n\tif st == stateFAIL || st == stateAfter {\n\t\treturn &labelError{s, \"C\"}\n\t}\n\treturn nil\n}\n\nfunc ascii(s string) bool {\n\tfor i := 0; i < len(s); i++ {\n\t\tif s[i] >= utf8.RuneSelf {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/idna/punycode.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\n// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage idna\n\n// This file implements the Punycode algorithm from RFC 3492.\n\nimport (\n\t\"math\"\n\t\"strings\"\n\t\"unicode/utf8\"\n)\n\n// These parameter values are specified in section 5.\n//\n// All computation is done with int32s, so that overflow behavior is identical\n// regardless of whether int is 32-bit or 64-bit.\nconst (\n\tbase        int32 = 36\n\tdamp        int32 = 700\n\tinitialBias int32 = 72\n\tinitialN    int32 = 128\n\tskew        int32 = 38\n\ttmax        int32 = 26\n\ttmin        int32 = 1\n)\n\nfunc punyError(s string) error { return &labelError{s, \"A3\"} }\n\n// decode decodes a string as specified in section 6.2.\nfunc decode(encoded string) (string, error) {\n\tif encoded == \"\" {\n\t\treturn \"\", nil\n\t}\n\tpos := 1 + strings.LastIndex(encoded, \"-\")\n\tif pos == 1 {\n\t\treturn \"\", punyError(encoded)\n\t}\n\tif pos == len(encoded) {\n\t\treturn encoded[:len(encoded)-1], nil\n\t}\n\toutput := make([]rune, 0, len(encoded))\n\tif pos != 0 {\n\t\tfor _, r := range encoded[:pos-1] {\n\t\t\toutput = append(output, r)\n\t\t}\n\t}\n\ti, n, bias := int32(0), initialN, initialBias\n\tfor pos < len(encoded) {\n\t\toldI, w := i, int32(1)\n\t\tfor k := base; ; k += base {\n\t\t\tif pos == len(encoded) {\n\t\t\t\treturn \"\", punyError(encoded)\n\t\t\t}\n\t\t\tdigit, ok := decodeDigit(encoded[pos])\n\t\t\tif !ok {\n\t\t\t\treturn \"\", punyError(encoded)\n\t\t\t}\n\t\t\tpos++\n\t\t\ti += digit * w\n\t\t\tif i < 0 {\n\t\t\t\treturn \"\", punyError(encoded)\n\t\t\t}\n\t\t\tt := k - bias\n\t\t\tif t < tmin {\n\t\t\t\tt = tmin\n\t\t\t} else if t > tmax {\n\t\t\t\tt = tmax\n\t\t\t}\n\t\t\tif digit < t {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tw *= base - t\n\t\t\tif w >= math.MaxInt32/base {\n\t\t\t\treturn \"\", punyError(encoded)\n\t\t\t}\n\t\t}\n\t\tx := int32(len(output) + 1)\n\t\tbias = adapt(i-oldI, x, oldI == 0)\n\t\tn += i / x\n\t\ti %= x\n\t\tif n > utf8.MaxRune || len(output) >= 1024 {\n\t\t\treturn \"\", punyError(encoded)\n\t\t}\n\t\toutput = append(output, 0)\n\t\tcopy(output[i+1:], output[i:])\n\t\toutput[i] = n\n\t\ti++\n\t}\n\treturn string(output), nil\n}\n\n// encode encodes a string as specified in section 6.3 and prepends prefix to\n// the result.\n//\n// The \"while h < length(input)\" line in the specification becomes \"for\n// remaining != 0\" in the Go code, because len(s) in Go is in bytes, not runes.\nfunc encode(prefix, s string) (string, error) {\n\toutput := make([]byte, len(prefix), len(prefix)+1+2*len(s))\n\tcopy(output, prefix)\n\tdelta, n, bias := int32(0), initialN, initialBias\n\tb, remaining := int32(0), int32(0)\n\tfor _, r := range s {\n\t\tif r < 0x80 {\n\t\t\tb++\n\t\t\toutput = append(output, byte(r))\n\t\t} else {\n\t\t\tremaining++\n\t\t}\n\t}\n\th := b\n\tif b > 0 {\n\t\toutput = append(output, '-')\n\t}\n\tfor remaining != 0 {\n\t\tm := int32(0x7fffffff)\n\t\tfor _, r := range s {\n\t\t\tif m > r && r >= n {\n\t\t\t\tm = r\n\t\t\t}\n\t\t}\n\t\tdelta += (m - n) * (h + 1)\n\t\tif delta < 0 {\n\t\t\treturn \"\", punyError(s)\n\t\t}\n\t\tn = m\n\t\tfor _, r := range s {\n\t\t\tif r < n {\n\t\t\t\tdelta++\n\t\t\t\tif delta < 0 {\n\t\t\t\t\treturn \"\", punyError(s)\n\t\t\t\t}\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif r > n {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tq := delta\n\t\t\tfor k := base; ; k += base {\n\t\t\t\tt := k - bias\n\t\t\t\tif t < tmin {\n\t\t\t\t\tt = tmin\n\t\t\t\t} else if t > tmax {\n\t\t\t\t\tt = tmax\n\t\t\t\t}\n\t\t\t\tif q < t {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\toutput = append(output, encodeDigit(t+(q-t)%(base-t)))\n\t\t\t\tq = (q - t) / (base - t)\n\t\t\t}\n\t\t\toutput = append(output, encodeDigit(q))\n\t\t\tbias = adapt(delta, h+1, h == b)\n\t\t\tdelta = 0\n\t\t\th++\n\t\t\tremaining--\n\t\t}\n\t\tdelta++\n\t\tn++\n\t}\n\treturn string(output), nil\n}\n\nfunc decodeDigit(x byte) (digit int32, ok bool) {\n\tswitch {\n\tcase '0' <= x && x <= '9':\n\t\treturn int32(x - ('0' - 26)), true\n\tcase 'A' <= x && x <= 'Z':\n\t\treturn int32(x - 'A'), true\n\tcase 'a' <= x && x <= 'z':\n\t\treturn int32(x - 'a'), true\n\t}\n\treturn 0, false\n}\n\nfunc encodeDigit(digit int32) byte {\n\tswitch {\n\tcase 0 <= digit && digit < 26:\n\t\treturn byte(digit + 'a')\n\tcase 26 <= digit && digit < 36:\n\t\treturn byte(digit + ('0' - 26))\n\t}\n\tpanic(\"idna: internal error in punycode encoding\")\n}\n\n// adapt is the bias adaptation function specified in section 6.1.\nfunc adapt(delta, numPoints int32, firstTime bool) int32 {\n\tif firstTime {\n\t\tdelta /= damp\n\t} else {\n\t\tdelta /= 2\n\t}\n\tdelta += delta / numPoints\n\tk := int32(0)\n\tfor delta > ((base-tmin)*tmax)/2 {\n\t\tdelta /= base - tmin\n\t\tk += base\n\t}\n\treturn k + (base-tmin+1)*delta/(delta+skew)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/idna/tables.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\npackage idna\n\n// UnicodeVersion is the Unicode version from which the tables in this package are derived.\nconst UnicodeVersion = \"10.0.0\"\n\nvar mappings string = \"\" + // Size: 8176 bytes\n\t\"\\x00\\x01 \\x03 ̈\\x01a\\x03 ̄\\x012\\x013\\x03 ́\\x03 ̧\\x011\\x01o\\x051⁄4\\x051⁄2\" +\n\t\"\\x053⁄4\\x03i̇\\x03l·\\x03ʼn\\x01s\\x03dž\\x03ⱥ\\x03ⱦ\\x01h\\x01j\\x01r\\x01w\\x01y\" +\n\t\"\\x03 ̆\\x03 ̇\\x03 ̊\\x03 ̨\\x03 ̃\\x03 ̋\\x01l\\x01x\\x04̈́\\x03 ι\\x01;\\x05 ̈́\" +\n\t\"\\x04եւ\\x04اٴ\\x04وٴ\\x04ۇٴ\\x04يٴ\\x06क़\\x06ख़\\x06ग़\\x06ज़\\x06ड़\\x06ढ़\\x06फ़\" +\n\t\"\\x06य़\\x06ড়\\x06ঢ়\\x06য়\\x06ਲ਼\\x06ਸ਼\\x06ਖ਼\\x06ਗ਼\\x06ਜ਼\\x06ਫ਼\\x06ଡ଼\\x06ଢ଼\" +\n\t\"\\x06ํา\\x06ໍາ\\x06ຫນ\\x06ຫມ\\x06གྷ\\x06ཌྷ\\x06དྷ\\x06བྷ\\x06ཛྷ\\x06ཀྵ\\x06ཱི\\x06ཱུ\" +\n\t\"\\x06ྲྀ\\x09ྲཱྀ\\x06ླྀ\\x09ླཱྀ\\x06ཱྀ\\x06ྒྷ\\x06ྜྷ\\x06ྡྷ\\x06ྦྷ\\x06ྫྷ\\x06ྐྵ\\x02\" +\n\t\"в\\x02д\\x02о\\x02с\\x02т\\x02ъ\\x02ѣ\\x02æ\\x01b\\x01d\\x01e\\x02ǝ\\x01g\\x01i\\x01k\" +\n\t\"\\x01m\\x01n\\x02ȣ\\x01p\\x01t\\x01u\\x02ɐ\\x02ɑ\\x02ə\\x02ɛ\\x02ɜ\\x02ŋ\\x02ɔ\\x02ɯ\" +\n\t\"\\x01v\\x02β\\x02γ\\x02δ\\x02φ\\x02χ\\x02ρ\\x02н\\x02ɒ\\x01c\\x02ɕ\\x02ð\\x01f\\x02ɟ\" +\n\t\"\\x02ɡ\\x02ɥ\\x02ɨ\\x02ɩ\\x02ɪ\\x02ʝ\\x02ɭ\\x02ʟ\\x02ɱ\\x02ɰ\\x02ɲ\\x02ɳ\\x02ɴ\\x02ɵ\" +\n\t\"\\x02ɸ\\x02ʂ\\x02ʃ\\x02ƫ\\x02ʉ\\x02ʊ\\x02ʋ\\x02ʌ\\x01z\\x02ʐ\\x02ʑ\\x02ʒ\\x02θ\\x02ss\" +\n\t\"\\x02ά\\x02έ\\x02ή\\x02ί\\x02ό\\x02ύ\\x02ώ\\x05ἀι\\x05ἁι\\x05ἂι\\x05ἃι\\x05ἄι\\x05ἅι\" +\n\t\"\\x05ἆι\\x05ἇι\\x05ἠι\\x05ἡι\\x05ἢι\\x05ἣι\\x05ἤι\\x05ἥι\\x05ἦι\\x05ἧι\\x05ὠι\\x05ὡι\" +\n\t\"\\x05ὢι\\x05ὣι\\x05ὤι\\x05ὥι\\x05ὦι\\x05ὧι\\x05ὰι\\x04αι\\x04άι\\x05ᾶι\\x02ι\\x05 ̈͂\" +\n\t\"\\x05ὴι\\x04ηι\\x04ήι\\x05ῆι\\x05 ̓̀\\x05 ̓́\\x05 ̓͂\\x02ΐ\\x05 ̔̀\\x05 ̔́\\x05 ̔͂\" +\n\t\"\\x02ΰ\\x05 ̈̀\\x01`\\x05ὼι\\x04ωι\\x04ώι\\x05ῶι\\x06′′\\x09′′′\\x06‵‵\\x09‵‵‵\\x02!\" +\n\t\"!\\x02??\\x02?!\\x02!?\\x0c′′′′\\x010\\x014\\x015\\x016\\x017\\x018\\x019\\x01+\\x01=\" +\n\t\"\\x01(\\x01)\\x02rs\\x02ħ\\x02no\\x01q\\x02sm\\x02tm\\x02ω\\x02å\\x02א\\x02ב\\x02ג\" +\n\t\"\\x02ד\\x02π\\x051⁄7\\x051⁄9\\x061⁄10\\x051⁄3\\x052⁄3\\x051⁄5\\x052⁄5\\x053⁄5\\x054\" +\n\t\"⁄5\\x051⁄6\\x055⁄6\\x051⁄8\\x053⁄8\\x055⁄8\\x057⁄8\\x041⁄\\x02ii\\x02iv\\x02vi\" +\n\t\"\\x04viii\\x02ix\\x02xi\\x050⁄3\\x06∫∫\\x09∫∫∫\\x06∮∮\\x09∮∮∮\\x0210\\x0211\\x0212\" +\n\t\"\\x0213\\x0214\\x0215\\x0216\\x0217\\x0218\\x0219\\x0220\\x04(10)\\x04(11)\\x04(12)\" +\n\t\"\\x04(13)\\x04(14)\\x04(15)\\x04(16)\\x04(17)\\x04(18)\\x04(19)\\x04(20)\\x0c∫∫∫∫\" +\n\t\"\\x02==\\x05⫝̸\\x02ɫ\\x02ɽ\\x02ȿ\\x02ɀ\\x01.\\x04 ゙\\x04 ゚\\x06より\\x06コト\\x05(ᄀ)\\x05\" +\n\t\"(ᄂ)\\x05(ᄃ)\\x05(ᄅ)\\x05(ᄆ)\\x05(ᄇ)\\x05(ᄉ)\\x05(ᄋ)\\x05(ᄌ)\\x05(ᄎ)\\x05(ᄏ)\\x05(ᄐ\" +\n\t\")\\x05(ᄑ)\\x05(ᄒ)\\x05(가)\\x05(나)\\x05(다)\\x05(라)\\x05(마)\\x05(바)\\x05(사)\\x05(아)\" +\n\t\"\\x05(자)\\x05(차)\\x05(카)\\x05(타)\\x05(파)\\x05(하)\\x05(주)\\x08(오전)\\x08(오후)\\x05(一)\" +\n\t\"\\x05(二)\\x05(三)\\x05(四)\\x05(五)\\x05(六)\\x05(七)\\x05(八)\\x05(九)\\x05(十)\\x05(月)\" +\n\t\"\\x05(火)\\x05(水)\\x05(木)\\x05(金)\\x05(土)\\x05(日)\\x05(株)\\x05(有)\\x05(社)\\x05(名)\" +\n\t\"\\x05(特)\\x05(財)\\x05(祝)\\x05(労)\\x05(代)\\x05(呼)\\x05(学)\\x05(監)\\x05(企)\\x05(資)\" +\n\t\"\\x05(協)\\x05(祭)\\x05(休)\\x05(自)\\x05(至)\\x0221\\x0222\\x0223\\x0224\\x0225\\x0226\" +\n\t\"\\x0227\\x0228\\x0229\\x0230\\x0231\\x0232\\x0233\\x0234\\x0235\\x06참고\\x06주의\\x0236\" +\n\t\"\\x0237\\x0238\\x0239\\x0240\\x0241\\x0242\\x0243\\x0244\\x0245\\x0246\\x0247\\x0248\" +\n\t\"\\x0249\\x0250\\x041月\\x042月\\x043月\\x044月\\x045月\\x046月\\x047月\\x048月\\x049月\\x0510\" +\n\t\"月\\x0511月\\x0512月\\x02hg\\x02ev\\x0cアパート\\x0cアルファ\\x0cアンペア\\x09アール\\x0cイニング\\x09\" +\n\t\"インチ\\x09ウォン\\x0fエスクード\\x0cエーカー\\x09オンス\\x09オーム\\x09カイリ\\x0cカラット\\x0cカロリー\\x09ガロ\" +\n\t\"ン\\x09ガンマ\\x06ギガ\\x09ギニー\\x0cキュリー\\x0cギルダー\\x06キロ\\x0fキログラム\\x12キロメートル\\x0fキロワッ\" +\n\t\"ト\\x09グラム\\x0fグラムトン\\x0fクルゼイロ\\x0cクローネ\\x09ケース\\x09コルナ\\x09コーポ\\x0cサイクル\\x0fサンチ\" +\n\t\"ーム\\x0cシリング\\x09センチ\\x09セント\\x09ダース\\x06デシ\\x06ドル\\x06トン\\x06ナノ\\x09ノット\\x09ハイツ\" +\n\t\"\\x0fパーセント\\x09パーツ\\x0cバーレル\\x0fピアストル\\x09ピクル\\x06ピコ\\x06ビル\\x0fファラッド\\x0cフィート\" +\n\t\"\\x0fブッシェル\\x09フラン\\x0fヘクタール\\x06ペソ\\x09ペニヒ\\x09ヘルツ\\x09ペンス\\x09ページ\\x09ベータ\\x0cポイ\" +\n\t\"ント\\x09ボルト\\x06ホン\\x09ポンド\\x09ホール\\x09ホーン\\x0cマイクロ\\x09マイル\\x09マッハ\\x09マルク\\x0fマ\" +\n\t\"ンション\\x0cミクロン\\x06ミリ\\x0fミリバール\\x06メガ\\x0cメガトン\\x0cメートル\\x09ヤード\\x09ヤール\\x09ユアン\" +\n\t\"\\x0cリットル\\x06リラ\\x09ルピー\\x0cルーブル\\x06レム\\x0fレントゲン\\x09ワット\\x040点\\x041点\\x042点\" +\n\t\"\\x043点\\x044点\\x045点\\x046点\\x047点\\x048点\\x049点\\x0510点\\x0511点\\x0512点\\x0513点\" +\n\t\"\\x0514点\\x0515点\\x0516点\\x0517点\\x0518点\\x0519点\\x0520点\\x0521点\\x0522点\\x0523点\" +\n\t\"\\x0524点\\x02da\\x02au\\x02ov\\x02pc\\x02dm\\x02iu\\x06平成\\x06昭和\\x06大正\\x06明治\\x0c株\" +\n\t\"式会社\\x02pa\\x02na\\x02ma\\x02ka\\x02kb\\x02mb\\x02gb\\x04kcal\\x02pf\\x02nf\\x02m\" +\n\t\"g\\x02kg\\x02hz\\x02ml\\x02dl\\x02kl\\x02fm\\x02nm\\x02mm\\x02cm\\x02km\\x02m2\\x02m\" +\n\t\"3\\x05m∕s\\x06m∕s2\\x07rad∕s\\x08rad∕s2\\x02ps\\x02ns\\x02ms\\x02pv\\x02nv\\x02mv\" +\n\t\"\\x02kv\\x02pw\\x02nw\\x02mw\\x02kw\\x02bq\\x02cc\\x02cd\\x06c∕kg\\x02db\\x02gy\\x02\" +\n\t\"ha\\x02hp\\x02in\\x02kk\\x02kt\\x02lm\\x02ln\\x02lx\\x02ph\\x02pr\\x02sr\\x02sv\\x02\" +\n\t\"wb\\x05v∕m\\x05a∕m\\x041日\\x042日\\x043日\\x044日\\x045日\\x046日\\x047日\\x048日\\x049日\" +\n\t\"\\x0510日\\x0511日\\x0512日\\x0513日\\x0514日\\x0515日\\x0516日\\x0517日\\x0518日\\x0519日\" +\n\t\"\\x0520日\\x0521日\\x0522日\\x0523日\\x0524日\\x0525日\\x0526日\\x0527日\\x0528日\\x0529日\" +\n\t\"\\x0530日\\x0531日\\x02ь\\x02ɦ\\x02ɬ\\x02ʞ\\x02ʇ\\x02œ\\x04𤋮\\x04𢡊\\x04𢡄\\x04𣏕\\x04𥉉\" +\n\t\"\\x04𥳐\\x04𧻓\\x02ff\\x02fi\\x02fl\\x02st\\x04մն\\x04մե\\x04մի\\x04վն\\x04մխ\\x04יִ\" +\n\t\"\\x04ײַ\\x02ע\\x02ה\\x02כ\\x02ל\\x02ם\\x02ר\\x02ת\\x04שׁ\\x04שׂ\\x06שּׁ\\x06שּׂ\\x04א\" +\n\t\"ַ\\x04אָ\\x04אּ\\x04בּ\\x04גּ\\x04דּ\\x04הּ\\x04וּ\\x04זּ\\x04טּ\\x04יּ\\x04ךּ\\x04\" +\n\t\"כּ\\x04לּ\\x04מּ\\x04נּ\\x04סּ\\x04ףּ\\x04פּ\\x04צּ\\x04קּ\\x04רּ\\x04שּ\\x04תּ\" +\n\t\"\\x04וֹ\\x04בֿ\\x04כֿ\\x04פֿ\\x04אל\\x02ٱ\\x02ٻ\\x02پ\\x02ڀ\\x02ٺ\\x02ٿ\\x02ٹ\\x02ڤ\" +\n\t\"\\x02ڦ\\x02ڄ\\x02ڃ\\x02چ\\x02ڇ\\x02ڍ\\x02ڌ\\x02ڎ\\x02ڈ\\x02ژ\\x02ڑ\\x02ک\\x02گ\\x02ڳ\" +\n\t\"\\x02ڱ\\x02ں\\x02ڻ\\x02ۀ\\x02ہ\\x02ھ\\x02ے\\x02ۓ\\x02ڭ\\x02ۇ\\x02ۆ\\x02ۈ\\x02ۋ\\x02ۅ\" +\n\t\"\\x02ۉ\\x02ې\\x02ى\\x04ئا\\x04ئە\\x04ئو\\x04ئۇ\\x04ئۆ\\x04ئۈ\\x04ئې\\x04ئى\\x02ی\\x04\" +\n\t\"ئج\\x04ئح\\x04ئم\\x04ئي\\x04بج\\x04بح\\x04بخ\\x04بم\\x04بى\\x04بي\\x04تج\\x04تح\" +\n\t\"\\x04تخ\\x04تم\\x04تى\\x04تي\\x04ثج\\x04ثم\\x04ثى\\x04ثي\\x04جح\\x04جم\\x04حج\\x04حم\" +\n\t\"\\x04خج\\x04خح\\x04خم\\x04سج\\x04سح\\x04سخ\\x04سم\\x04صح\\x04صم\\x04ضج\\x04ضح\\x04ضخ\" +\n\t\"\\x04ضم\\x04طح\\x04طم\\x04ظم\\x04عج\\x04عم\\x04غج\\x04غم\\x04فج\\x04فح\\x04فخ\\x04فم\" +\n\t\"\\x04فى\\x04في\\x04قح\\x04قم\\x04قى\\x04قي\\x04كا\\x04كج\\x04كح\\x04كخ\\x04كل\\x04كم\" +\n\t\"\\x04كى\\x04كي\\x04لج\\x04لح\\x04لخ\\x04لم\\x04لى\\x04لي\\x04مج\\x04مح\\x04مخ\\x04مم\" +\n\t\"\\x04مى\\x04مي\\x04نج\\x04نح\\x04نخ\\x04نم\\x04نى\\x04ني\\x04هج\\x04هم\\x04هى\\x04هي\" +\n\t\"\\x04يج\\x04يح\\x04يخ\\x04يم\\x04يى\\x04يي\\x04ذٰ\\x04رٰ\\x04ىٰ\\x05 ٌّ\\x05 ٍّ\\x05\" +\n\t\" َّ\\x05 ُّ\\x05 ِّ\\x05 ّٰ\\x04ئر\\x04ئز\\x04ئن\\x04بر\\x04بز\\x04بن\\x04تر\\x04تز\" +\n\t\"\\x04تن\\x04ثر\\x04ثز\\x04ثن\\x04ما\\x04نر\\x04نز\\x04نن\\x04ير\\x04يز\\x04ين\\x04ئخ\" +\n\t\"\\x04ئه\\x04به\\x04ته\\x04صخ\\x04له\\x04نه\\x04هٰ\\x04يه\\x04ثه\\x04سه\\x04شم\\x04شه\" +\n\t\"\\x06ـَّ\\x06ـُّ\\x06ـِّ\\x04طى\\x04طي\\x04عى\\x04عي\\x04غى\\x04غي\\x04سى\\x04سي\" +\n\t\"\\x04شى\\x04شي\\x04حى\\x04حي\\x04جى\\x04جي\\x04خى\\x04خي\\x04صى\\x04صي\\x04ضى\\x04ضي\" +\n\t\"\\x04شج\\x04شح\\x04شخ\\x04شر\\x04سر\\x04صر\\x04ضر\\x04اً\\x06تجم\\x06تحج\\x06تحم\" +\n\t\"\\x06تخم\\x06تمج\\x06تمح\\x06تمخ\\x06جمح\\x06حمي\\x06حمى\\x06سحج\\x06سجح\\x06سجى\" +\n\t\"\\x06سمح\\x06سمج\\x06سمم\\x06صحح\\x06صمم\\x06شحم\\x06شجي\\x06شمخ\\x06شمم\\x06ضحى\" +\n\t\"\\x06ضخم\\x06طمح\\x06طمم\\x06طمي\\x06عجم\\x06عمم\\x06عمى\\x06غمم\\x06غمي\\x06غمى\" +\n\t\"\\x06فخم\\x06قمح\\x06قمم\\x06لحم\\x06لحي\\x06لحى\\x06لجج\\x06لخم\\x06لمح\\x06محج\" +\n\t\"\\x06محم\\x06محي\\x06مجح\\x06مجم\\x06مخج\\x06مخم\\x06مجخ\\x06همج\\x06همم\\x06نحم\" +\n\t\"\\x06نحى\\x06نجم\\x06نجى\\x06نمي\\x06نمى\\x06يمم\\x06بخي\\x06تجي\\x06تجى\\x06تخي\" +\n\t\"\\x06تخى\\x06تمي\\x06تمى\\x06جمي\\x06جحى\\x06جمى\\x06سخى\\x06صحي\\x06شحي\\x06ضحي\" +\n\t\"\\x06لجي\\x06لمي\\x06يحي\\x06يجي\\x06يمي\\x06ممي\\x06قمي\\x06نحي\\x06عمي\\x06كمي\" +\n\t\"\\x06نجح\\x06مخي\\x06لجم\\x06كمم\\x06جحي\\x06حجي\\x06مجي\\x06فمي\\x06بحي\\x06سخي\" +\n\t\"\\x06نجي\\x06صلے\\x06قلے\\x08الله\\x08اكبر\\x08محمد\\x08صلعم\\x08رسول\\x08عليه\" +\n\t\"\\x08وسلم\\x06صلى!صلى الله عليه وسلم\\x0fجل جلاله\\x08ریال\\x01,\\x01:\\x01!\" +\n\t\"\\x01?\\x01_\\x01{\\x01}\\x01[\\x01]\\x01#\\x01&\\x01*\\x01-\\x01<\\x01>\\x01\\\\\\x01$\" +\n\t\"\\x01%\\x01@\\x04ـً\\x04ـَ\\x04ـُ\\x04ـِ\\x04ـّ\\x04ـْ\\x02ء\\x02آ\\x02أ\\x02ؤ\\x02إ\" +\n\t\"\\x02ئ\\x02ا\\x02ب\\x02ة\\x02ت\\x02ث\\x02ج\\x02ح\\x02خ\\x02د\\x02ذ\\x02ر\\x02ز\\x02س\" +\n\t\"\\x02ش\\x02ص\\x02ض\\x02ط\\x02ظ\\x02ع\\x02غ\\x02ف\\x02ق\\x02ك\\x02ل\\x02م\\x02ن\\x02ه\" +\n\t\"\\x02و\\x02ي\\x04لآ\\x04لأ\\x04لإ\\x04لا\\x01\\x22\\x01'\\x01/\\x01^\\x01|\\x01~\\x02¢\" +\n\t\"\\x02£\\x02¬\\x02¦\\x02¥\\x08𝅗𝅥\\x08𝅘𝅥\\x0c𝅘𝅥𝅮\\x0c𝅘𝅥𝅯\\x0c𝅘𝅥𝅰\\x0c𝅘𝅥𝅱\\x0c𝅘𝅥𝅲\\x08𝆹\" +\n\t\"𝅥\\x08𝆺𝅥\\x0c𝆹𝅥𝅮\\x0c𝆺𝅥𝅮\\x0c𝆹𝅥𝅯\\x0c𝆺𝅥𝅯\\x02ı\\x02ȷ\\x02α\\x02ε\\x02ζ\\x02η\\x02\" +\n\t\"κ\\x02λ\\x02μ\\x02ν\\x02ξ\\x02ο\\x02σ\\x02τ\\x02υ\\x02ψ\\x03∇\\x03∂\\x02ϝ\\x02ٮ\\x02ڡ\" +\n\t\"\\x02ٯ\\x020,\\x021,\\x022,\\x023,\\x024,\\x025,\\x026,\\x027,\\x028,\\x029,\\x03(a)\" +\n\t\"\\x03(b)\\x03(c)\\x03(d)\\x03(e)\\x03(f)\\x03(g)\\x03(h)\\x03(i)\\x03(j)\\x03(k)\" +\n\t\"\\x03(l)\\x03(m)\\x03(n)\\x03(o)\\x03(p)\\x03(q)\\x03(r)\\x03(s)\\x03(t)\\x03(u)\" +\n\t\"\\x03(v)\\x03(w)\\x03(x)\\x03(y)\\x03(z)\\x07〔s〕\\x02wz\\x02hv\\x02sd\\x03ppv\\x02w\" +\n\t\"c\\x02mc\\x02md\\x02dj\\x06ほか\\x06ココ\\x03サ\\x03手\\x03字\\x03双\\x03デ\\x03二\\x03多\\x03解\" +\n\t\"\\x03天\\x03交\\x03映\\x03無\\x03料\\x03前\\x03後\\x03再\\x03新\\x03初\\x03終\\x03生\\x03販\\x03声\" +\n\t\"\\x03吹\\x03演\\x03投\\x03捕\\x03一\\x03三\\x03遊\\x03左\\x03中\\x03右\\x03指\\x03走\\x03打\\x03禁\" +\n\t\"\\x03空\\x03合\\x03満\\x03有\\x03月\\x03申\\x03割\\x03営\\x03配\\x09〔本〕\\x09〔三〕\\x09〔二〕\\x09〔安\" +\n\t\"〕\\x09〔点〕\\x09〔打〕\\x09〔盗〕\\x09〔勝〕\\x09〔敗〕\\x03得\\x03可\\x03丽\\x03丸\\x03乁\\x03你\\x03\" +\n\t\"侮\\x03侻\\x03倂\\x03偺\\x03備\\x03僧\\x03像\\x03㒞\\x03免\\x03兔\\x03兤\\x03具\\x03㒹\\x03內\\x03\" +\n\t\"冗\\x03冤\\x03仌\\x03冬\\x03况\\x03凵\\x03刃\\x03㓟\\x03刻\\x03剆\\x03剷\\x03㔕\\x03勇\\x03勉\\x03\" +\n\t\"勤\\x03勺\\x03包\\x03匆\\x03北\\x03卉\\x03卑\\x03博\\x03即\\x03卽\\x03卿\\x03灰\\x03及\\x03叟\\x03\" +\n\t\"叫\\x03叱\\x03吆\\x03咞\\x03吸\\x03呈\\x03周\\x03咢\\x03哶\\x03唐\\x03啓\\x03啣\\x03善\\x03喙\\x03\" +\n\t\"喫\\x03喳\\x03嗂\\x03圖\\x03嘆\\x03圗\\x03噑\\x03噴\\x03切\\x03壮\\x03城\\x03埴\\x03堍\\x03型\\x03\" +\n\t\"堲\\x03報\\x03墬\\x03売\\x03壷\\x03夆\\x03夢\\x03奢\\x03姬\\x03娛\\x03娧\\x03姘\\x03婦\\x03㛮\\x03\" +\n\t\"嬈\\x03嬾\\x03寃\\x03寘\\x03寧\\x03寳\\x03寿\\x03将\\x03尢\\x03㞁\\x03屠\\x03屮\\x03峀\\x03岍\\x03\" +\n\t\"嵃\\x03嵮\\x03嵫\\x03嵼\\x03巡\\x03巢\\x03㠯\\x03巽\\x03帨\\x03帽\\x03幩\\x03㡢\\x03㡼\\x03庰\\x03\" +\n\t\"庳\\x03庶\\x03廊\\x03廾\\x03舁\\x03弢\\x03㣇\\x03形\\x03彫\\x03㣣\\x03徚\\x03忍\\x03志\\x03忹\\x03\" +\n\t\"悁\\x03㤺\\x03㤜\\x03悔\\x03惇\\x03慈\\x03慌\\x03慎\\x03慺\\x03憎\\x03憲\\x03憤\\x03憯\\x03懞\\x03\" +\n\t\"懲\\x03懶\\x03成\\x03戛\\x03扝\\x03抱\\x03拔\\x03捐\\x03挽\\x03拼\\x03捨\\x03掃\\x03揤\\x03搢\\x03\" +\n\t\"揅\\x03掩\\x03㨮\\x03摩\\x03摾\\x03撝\\x03摷\\x03㩬\\x03敏\\x03敬\\x03旣\\x03書\\x03晉\\x03㬙\\x03\" +\n\t\"暑\\x03㬈\\x03㫤\\x03冒\\x03冕\\x03最\\x03暜\\x03肭\\x03䏙\\x03朗\\x03望\\x03朡\\x03杞\\x03杓\\x03\" +\n\t\"㭉\\x03柺\\x03枅\\x03桒\\x03梅\\x03梎\\x03栟\\x03椔\\x03㮝\\x03楂\\x03榣\\x03槪\\x03檨\\x03櫛\\x03\" +\n\t\"㰘\\x03次\\x03歔\\x03㱎\\x03歲\\x03殟\\x03殺\\x03殻\\x03汎\\x03沿\\x03泍\\x03汧\\x03洖\\x03派\\x03\" +\n\t\"海\\x03流\\x03浩\\x03浸\\x03涅\\x03洴\\x03港\\x03湮\\x03㴳\\x03滋\\x03滇\\x03淹\\x03潮\\x03濆\\x03\" +\n\t\"瀹\\x03瀞\\x03瀛\\x03㶖\\x03灊\\x03災\\x03灷\\x03炭\\x03煅\\x03熜\\x03爨\\x03爵\\x03牐\\x03犀\\x03\" +\n\t\"犕\\x03獺\\x03王\\x03㺬\\x03玥\\x03㺸\\x03瑇\\x03瑜\\x03瑱\\x03璅\\x03瓊\\x03㼛\\x03甤\\x03甾\\x03\" +\n\t\"異\\x03瘐\\x03㿼\\x03䀈\\x03直\\x03眞\\x03真\\x03睊\\x03䀹\\x03瞋\\x03䁆\\x03䂖\\x03硎\\x03碌\\x03\" +\n\t\"磌\\x03䃣\\x03祖\\x03福\\x03秫\\x03䄯\\x03穀\\x03穊\\x03穏\\x03䈂\\x03篆\\x03築\\x03䈧\\x03糒\\x03\" +\n\t\"䊠\\x03糨\\x03糣\\x03紀\\x03絣\\x03䌁\\x03緇\\x03縂\\x03繅\\x03䌴\\x03䍙\\x03罺\\x03羕\\x03翺\\x03\" +\n\t\"者\\x03聠\\x03聰\\x03䏕\\x03育\\x03脃\\x03䐋\\x03脾\\x03媵\\x03舄\\x03辞\\x03䑫\\x03芑\\x03芋\\x03\" +\n\t\"芝\\x03劳\\x03花\\x03芳\\x03芽\\x03苦\\x03若\\x03茝\\x03荣\\x03莭\\x03茣\\x03莽\\x03菧\\x03著\\x03\" +\n\t\"荓\\x03菊\\x03菌\\x03菜\\x03䔫\\x03蓱\\x03蓳\\x03蔖\\x03蕤\\x03䕝\\x03䕡\\x03䕫\\x03虐\\x03虜\\x03\" +\n\t\"虧\\x03虩\\x03蚩\\x03蚈\\x03蜎\\x03蛢\\x03蝹\\x03蜨\\x03蝫\\x03螆\\x03蟡\\x03蠁\\x03䗹\\x03衠\\x03\" +\n\t\"衣\\x03裗\\x03裞\\x03䘵\\x03裺\\x03㒻\\x03䚾\\x03䛇\\x03誠\\x03諭\\x03變\\x03豕\\x03貫\\x03賁\\x03\" +\n\t\"贛\\x03起\\x03跋\\x03趼\\x03跰\\x03軔\\x03輸\\x03邔\\x03郱\\x03鄑\\x03鄛\\x03鈸\\x03鋗\\x03鋘\\x03\" +\n\t\"鉼\\x03鏹\\x03鐕\\x03開\\x03䦕\\x03閷\\x03䧦\\x03雃\\x03嶲\\x03霣\\x03䩮\\x03䩶\\x03韠\\x03䪲\\x03\" +\n\t\"頋\\x03頩\\x03飢\\x03䬳\\x03餩\\x03馧\\x03駂\\x03駾\\x03䯎\\x03鬒\\x03鱀\\x03鳽\\x03䳎\\x03䳭\\x03\" +\n\t\"鵧\\x03䳸\\x03麻\\x03䵖\\x03黹\\x03黾\\x03鼅\\x03鼏\\x03鼖\\x03鼻\"\n\nvar xorData string = \"\" + // Size: 4855 bytes\n\t\"\\x02\\x0c\\x09\\x02\\xb0\\xec\\x02\\xad\\xd8\\x02\\xad\\xd9\\x02\\x06\\x07\\x02\\x0f\\x12\" +\n\t\"\\x02\\x0f\\x1f\\x02\\x0f\\x1d\\x02\\x01\\x13\\x02\\x0f\\x16\\x02\\x0f\\x0b\\x02\\x0f3\" +\n\t\"\\x02\\x0f7\\x02\\x0f?\\x02\\x0f/\\x02\\x0f*\\x02\\x0c&\\x02\\x0c*\\x02\\x0c;\\x02\\x0c9\" +\n\t\"\\x02\\x0c%\\x02\\xab\\xed\\x02\\xab\\xe2\\x02\\xab\\xe3\\x02\\xa9\\xe0\\x02\\xa9\\xe1\" +\n\t\"\\x02\\xa9\\xe6\\x02\\xa3\\xcb\\x02\\xa3\\xc8\\x02\\xa3\\xc9\\x02\\x01#\\x02\\x01\\x08\" +\n\t\"\\x02\\x0e>\\x02\\x0e'\\x02\\x0f\\x03\\x02\\x03\\x0d\\x02\\x03\\x09\\x02\\x03\\x17\\x02\" +\n\t\"\\x03\\x0e\\x02\\x02\\x03\\x02\\x011\\x02\\x01\\x00\\x02\\x01\\x10\\x02\\x03<\\x02\\x07\" +\n\t\"\\x0d\\x02\\x02\\x0c\\x02\\x0c0\\x02\\x01\\x03\\x02\\x01\\x01\\x02\\x01 \\x02\\x01\\x22\" +\n\t\"\\x02\\x01)\\x02\\x01\\x0a\\x02\\x01\\x0c\\x02\\x02\\x06\\x02\\x02\\x02\\x02\\x03\\x10\" +\n\t\"\\x03\\x037 \\x03\\x0b+\\x03\\x02\\x01\\x04\\x02\\x01\\x02\\x02\\x019\\x02\\x03\\x1c\\x02\" +\n\t\"\\x02$\\x03\\x80p$\\x02\\x03:\\x02\\x03\\x0a\\x03\\xc1r.\\x03\\xc1r,\\x03\\xc1r\\x02\" +\n\t\"\\x02\\x02:\\x02\\x02>\\x02\\x02,\\x02\\x02\\x10\\x02\\x02\\x00\\x03\\xc1s<\\x03\\xc1s*\" +\n\t\"\\x03\\xc2L$\\x03\\xc2L;\\x02\\x09)\\x02\\x0a\\x19\\x03\\x83\\xab\\xe3\\x03\\x83\\xab\" +\n\t\"\\xf2\\x03 4\\xe0\\x03\\x81\\xab\\xea\\x03\\x81\\xab\\xf3\\x03 4\\xef\\x03\\x96\\xe1\\xcd\" +\n\t\"\\x03\\x84\\xe5\\xc3\\x02\\x0d\\x11\\x03\\x8b\\xec\\xcb\\x03\\x94\\xec\\xcf\\x03\\x9a\\xec\" +\n\t\"\\xc2\\x03\\x8b\\xec\\xdb\\x03\\x94\\xec\\xdf\\x03\\x9a\\xec\\xd2\\x03\\x01\\x0c!\\x03\" +\n\t\"\\x01\\x0c#\\x03ʠ\\x9d\\x03ʣ\\x9c\\x03ʢ\\x9f\\x03ʥ\\x9e\\x03ʤ\\x91\\x03ʧ\\x90\\x03ʦ\\x93\" +\n\t\"\\x03ʩ\\x92\\x03ʨ\\x95\\x03\\xca\\xf3\\xb5\\x03\\xca\\xf0\\xb4\\x03\\xca\\xf1\\xb7\\x03\" +\n\t\"\\xca\\xf6\\xb6\\x03\\xca\\xf7\\x89\\x03\\xca\\xf4\\x88\\x03\\xca\\xf5\\x8b\\x03\\xca\\xfa\" +\n\t\"\\x8a\\x03\\xca\\xfb\\x8d\\x03\\xca\\xf8\\x8c\\x03\\xca\\xf9\\x8f\\x03\\xca\\xfe\\x8e\\x03\" +\n\t\"\\xca\\xff\\x81\\x03\\xca\\xfc\\x80\\x03\\xca\\xfd\\x83\\x03\\xca\\xe2\\x82\\x03\\xca\\xe3\" +\n\t\"\\x85\\x03\\xca\\xe0\\x84\\x03\\xca\\xe1\\x87\\x03\\xca\\xe6\\x86\\x03\\xca\\xe7\\x99\\x03\" +\n\t\"\\xca\\xe4\\x98\\x03\\xca\\xe5\\x9b\\x03\\xca\\xea\\x9a\\x03\\xca\\xeb\\x9d\\x03\\xca\\xe8\" +\n\t\"\\x9c\\x03ؓ\\x89\\x03ߔ\\x8b\\x02\\x010\\x03\\x03\\x04\\x1e\\x03\\x04\\x15\\x12\\x03\\x0b\" +\n\t\"\\x05,\\x03\\x06\\x04\\x00\\x03\\x06\\x04)\\x03\\x06\\x044\\x03\\x06\\x04<\\x03\\x06\\x05\" +\n\t\"\\x1d\\x03\\x06\\x06\\x00\\x03\\x06\\x06\\x0a\\x03\\x06\\x06'\\x03\\x06\\x062\\x03\\x0786\" +\n\t\"\\x03\\x079/\\x03\\x079 \\x03\\x07:\\x0e\\x03\\x07:\\x1b\\x03\\x07:%\\x03\\x07;/\\x03\" +\n\t\"\\x07;%\\x03\\x074\\x11\\x03\\x076\\x09\\x03\\x077*\\x03\\x070\\x01\\x03\\x070\\x0f\\x03\" +\n\t\"\\x070.\\x03\\x071\\x16\\x03\\x071\\x04\\x03\\x0710\\x03\\x072\\x18\\x03\\x072-\\x03\" +\n\t\"\\x073\\x14\\x03\\x073>\\x03\\x07'\\x09\\x03\\x07 \\x00\\x03\\x07\\x1f\\x0b\\x03\\x07\" +\n\t\"\\x18#\\x03\\x07\\x18(\\x03\\x07\\x186\\x03\\x07\\x18\\x03\\x03\\x07\\x19\\x16\\x03\\x07\" +\n\t\"\\x116\\x03\\x07\\x12'\\x03\\x07\\x13\\x10\\x03\\x07\\x0c&\\x03\\x07\\x0c\\x08\\x03\\x07\" +\n\t\"\\x0c\\x13\\x03\\x07\\x0d\\x02\\x03\\x07\\x0d\\x1c\\x03\\x07\\x0b5\\x03\\x07\\x0b\\x0a\" +\n\t\"\\x03\\x07\\x0b\\x01\\x03\\x07\\x0b\\x0f\\x03\\x07\\x05\\x00\\x03\\x07\\x05\\x09\\x03\\x07\" +\n\t\"\\x05\\x0b\\x03\\x07\\x07\\x01\\x03\\x07\\x07\\x08\\x03\\x07\\x00<\\x03\\x07\\x00+\\x03\" +\n\t\"\\x07\\x01)\\x03\\x07\\x01\\x1b\\x03\\x07\\x01\\x08\\x03\\x07\\x03?\\x03\\x0445\\x03\\x04\" +\n\t\"4\\x08\\x03\\x0454\\x03\\x04)/\\x03\\x04)5\\x03\\x04+\\x05\\x03\\x04+\\x14\\x03\\x04+ \" +\n\t\"\\x03\\x04+<\\x03\\x04*&\\x03\\x04*\\x22\\x03\\x04&8\\x03\\x04!\\x01\\x03\\x04!\\x22\" +\n\t\"\\x03\\x04\\x11+\\x03\\x04\\x10.\\x03\\x04\\x104\\x03\\x04\\x13=\\x03\\x04\\x12\\x04\\x03\" +\n\t\"\\x04\\x12\\x0a\\x03\\x04\\x0d\\x1d\\x03\\x04\\x0d\\x07\\x03\\x04\\x0d \\x03\\x05<>\\x03\" +\n\t\"\\x055<\\x03\\x055!\\x03\\x055#\\x03\\x055&\\x03\\x054\\x1d\\x03\\x054\\x02\\x03\\x054\" +\n\t\"\\x07\\x03\\x0571\\x03\\x053\\x1a\\x03\\x053\\x16\\x03\\x05.<\\x03\\x05.\\x07\\x03\\x05)\" +\n\t\":\\x03\\x05)<\\x03\\x05)\\x0c\\x03\\x05)\\x15\\x03\\x05+-\\x03\\x05+5\\x03\\x05$\\x1e\" +\n\t\"\\x03\\x05$\\x14\\x03\\x05'\\x04\\x03\\x05'\\x14\\x03\\x05&\\x02\\x03\\x05\\x226\\x03\" +\n\t\"\\x05\\x22\\x0c\\x03\\x05\\x22\\x1c\\x03\\x05\\x19\\x0a\\x03\\x05\\x1b\\x09\\x03\\x05\\x1b\" +\n\t\"\\x0c\\x03\\x05\\x14\\x07\\x03\\x05\\x16?\\x03\\x05\\x16\\x0c\\x03\\x05\\x0c\\x05\\x03\" +\n\t\"\\x05\\x0e\\x0f\\x03\\x05\\x01\\x0e\\x03\\x05\\x00(\\x03\\x05\\x030\\x03\\x05\\x03\\x06\" +\n\t\"\\x03\\x0a==\\x03\\x0a=1\\x03\\x0a=,\\x03\\x0a=\\x0c\\x03\\x0a??\\x03\\x0a<\\x08\\x03\" +\n\t\"\\x0a9!\\x03\\x0a9)\\x03\\x0a97\\x03\\x0a99\\x03\\x0a6\\x0a\\x03\\x0a6\\x1c\\x03\\x0a6\" +\n\t\"\\x17\\x03\\x0a7'\\x03\\x0a78\\x03\\x0a73\\x03\\x0a'\\x01\\x03\\x0a'&\\x03\\x0a\\x1f\" +\n\t\"\\x0e\\x03\\x0a\\x1f\\x03\\x03\\x0a\\x1f3\\x03\\x0a\\x1b/\\x03\\x0a\\x18\\x19\\x03\\x0a\" +\n\t\"\\x19\\x01\\x03\\x0a\\x16\\x14\\x03\\x0a\\x0e\\x22\\x03\\x0a\\x0f\\x10\\x03\\x0a\\x0f\\x02\" +\n\t\"\\x03\\x0a\\x0f \\x03\\x0a\\x0c\\x04\\x03\\x0a\\x0b>\\x03\\x0a\\x0b+\\x03\\x0a\\x08/\\x03\" +\n\t\"\\x0a\\x046\\x03\\x0a\\x05\\x14\\x03\\x0a\\x00\\x04\\x03\\x0a\\x00\\x10\\x03\\x0a\\x00\" +\n\t\"\\x14\\x03\\x0b<3\\x03\\x0b;*\\x03\\x0b9\\x22\\x03\\x0b9)\\x03\\x0b97\\x03\\x0b+\\x10\" +\n\t\"\\x03\\x0b((\\x03\\x0b&5\\x03\\x0b$\\x1c\\x03\\x0b$\\x12\\x03\\x0b%\\x04\\x03\\x0b#<\" +\n\t\"\\x03\\x0b#0\\x03\\x0b#\\x0d\\x03\\x0b#\\x19\\x03\\x0b!:\\x03\\x0b!\\x1f\\x03\\x0b!\\x00\" +\n\t\"\\x03\\x0b\\x1e5\\x03\\x0b\\x1c\\x1d\\x03\\x0b\\x1d-\\x03\\x0b\\x1d(\\x03\\x0b\\x18.\\x03\" +\n\t\"\\x0b\\x18 \\x03\\x0b\\x18\\x16\\x03\\x0b\\x14\\x13\\x03\\x0b\\x15$\\x03\\x0b\\x15\\x22\" +\n\t\"\\x03\\x0b\\x12\\x1b\\x03\\x0b\\x12\\x10\\x03\\x0b\\x132\\x03\\x0b\\x13=\\x03\\x0b\\x12\" +\n\t\"\\x18\\x03\\x0b\\x0c&\\x03\\x0b\\x061\\x03\\x0b\\x06:\\x03\\x0b\\x05#\\x03\\x0b\\x05<\" +\n\t\"\\x03\\x0b\\x04\\x0b\\x03\\x0b\\x04\\x04\\x03\\x0b\\x04\\x1b\\x03\\x0b\\x042\\x03\\x0b\" +\n\t\"\\x041\\x03\\x0b\\x03\\x03\\x03\\x0b\\x03\\x1d\\x03\\x0b\\x03/\\x03\\x0b\\x03+\\x03\\x0b\" +\n\t\"\\x02\\x1b\\x03\\x0b\\x02\\x00\\x03\\x0b\\x01\\x1e\\x03\\x0b\\x01\\x08\\x03\\x0b\\x015\" +\n\t\"\\x03\\x06\\x0d9\\x03\\x06\\x0d=\\x03\\x06\\x0d?\\x03\\x02\\x001\\x03\\x02\\x003\\x03\" +\n\t\"\\x02\\x02\\x19\\x03\\x02\\x006\\x03\\x02\\x02\\x1b\\x03\\x02\\x004\\x03\\x02\\x00<\\x03\" +\n\t\"\\x02\\x02\\x0a\\x03\\x02\\x02\\x0e\\x03\\x02\\x01\\x1a\\x03\\x02\\x01\\x07\\x03\\x02\\x01\" +\n\t\"\\x05\\x03\\x02\\x01\\x0b\\x03\\x02\\x01%\\x03\\x02\\x01\\x0c\\x03\\x02\\x01\\x04\\x03\" +\n\t\"\\x02\\x01\\x1c\\x03\\x02\\x00.\\x03\\x02\\x002\\x03\\x02\\x00>\\x03\\x02\\x00\\x12\\x03\" +\n\t\"\\x02\\x00\\x16\\x03\\x02\\x011\\x03\\x02\\x013\\x03\\x02\\x02 \\x03\\x02\\x02%\\x03\\x02\" +\n\t\"\\x02$\\x03\\x02\\x028\\x03\\x02\\x02;\\x03\\x02\\x024\\x03\\x02\\x012\\x03\\x02\\x022\" +\n\t\"\\x03\\x02\\x02/\\x03\\x02\\x01,\\x03\\x02\\x01\\x13\\x03\\x02\\x01\\x16\\x03\\x02\\x01\" +\n\t\"\\x11\\x03\\x02\\x01\\x1e\\x03\\x02\\x01\\x15\\x03\\x02\\x01\\x17\\x03\\x02\\x01\\x0f\\x03\" +\n\t\"\\x02\\x01\\x08\\x03\\x02\\x00?\\x03\\x02\\x03\\x07\\x03\\x02\\x03\\x0d\\x03\\x02\\x03\" +\n\t\"\\x13\\x03\\x02\\x03\\x1d\\x03\\x02\\x03\\x1f\\x03\\x02\\x00\\x03\\x03\\x02\\x00\\x0d\\x03\" +\n\t\"\\x02\\x00\\x01\\x03\\x02\\x00\\x1b\\x03\\x02\\x00\\x19\\x03\\x02\\x00\\x18\\x03\\x02\\x00\" +\n\t\"\\x13\\x03\\x02\\x00/\\x03\\x07>\\x12\\x03\\x07<\\x1f\\x03\\x07>\\x1d\\x03\\x06\\x1d\\x0e\" +\n\t\"\\x03\\x07>\\x1c\\x03\\x07>:\\x03\\x07>\\x13\\x03\\x04\\x12+\\x03\\x07?\\x03\\x03\\x07>\" +\n\t\"\\x02\\x03\\x06\\x224\\x03\\x06\\x1a.\\x03\\x07<%\\x03\\x06\\x1c\\x0b\\x03\\x0609\\x03\" +\n\t\"\\x05\\x1f\\x01\\x03\\x04'\\x08\\x03\\x93\\xfd\\xf5\\x03\\x02\\x0d \\x03\\x02\\x0d#\\x03\" +\n\t\"\\x02\\x0d!\\x03\\x02\\x0d&\\x03\\x02\\x0d\\x22\\x03\\x02\\x0d/\\x03\\x02\\x0d,\\x03\\x02\" +\n\t\"\\x0d$\\x03\\x02\\x0d'\\x03\\x02\\x0d%\\x03\\x02\\x0d;\\x03\\x02\\x0d=\\x03\\x02\\x0d?\" +\n\t\"\\x03\\x099.\\x03\\x08\\x0b7\\x03\\x08\\x02\\x14\\x03\\x08\\x14\\x0d\\x03\\x08.:\\x03\" +\n\t\"\\x089'\\x03\\x0f\\x0b\\x18\\x03\\x0f\\x1c1\\x03\\x0f\\x17&\\x03\\x0f9\\x1f\\x03\\x0f0\" +\n\t\"\\x0c\\x03\\x0e\\x0a9\\x03\\x0e\\x056\\x03\\x0e\\x1c#\\x03\\x0f\\x13\\x0e\\x03\\x072\\x00\" +\n\t\"\\x03\\x070\\x0d\\x03\\x072\\x0b\\x03\\x06\\x11\\x18\\x03\\x070\\x10\\x03\\x06\\x0f(\\x03\" +\n\t\"\\x072\\x05\\x03\\x06\\x0f,\\x03\\x073\\x15\\x03\\x06\\x07\\x08\\x03\\x05\\x16\\x02\\x03\" +\n\t\"\\x04\\x0b \\x03\\x05:8\\x03\\x05\\x16%\\x03\\x0a\\x0d\\x1f\\x03\\x06\\x16\\x10\\x03\\x05\" +\n\t\"\\x1d5\\x03\\x05*;\\x03\\x05\\x16\\x1b\\x03\\x04.-\\x03\\x06\\x1a\\x19\\x03\\x04\\x03,\" +\n\t\"\\x03\\x0b87\\x03\\x04/\\x0a\\x03\\x06\\x00,\\x03\\x04-\\x01\\x03\\x04\\x1e-\\x03\\x06/(\" +\n\t\"\\x03\\x0a\\x0b5\\x03\\x06\\x0e7\\x03\\x06\\x07.\\x03\\x0597\\x03\\x0a*%\\x03\\x0760\" +\n\t\"\\x03\\x06\\x0c;\\x03\\x05'\\x00\\x03\\x072.\\x03\\x072\\x08\\x03\\x06=\\x01\\x03\\x06\" +\n\t\"\\x05\\x1b\\x03\\x06\\x06\\x12\\x03\\x06$=\\x03\\x06'\\x0d\\x03\\x04\\x11\\x0f\\x03\\x076\" +\n\t\",\\x03\\x06\\x07;\\x03\\x06.,\\x03\\x86\\xf9\\xea\\x03\\x8f\\xff\\xeb\\x02\\x092\\x02\" +\n\t\"\\x095\\x02\\x094\\x02\\x09;\\x02\\x09>\\x02\\x098\\x02\\x09*\\x02\\x09/\\x02\\x09,\\x02\" +\n\t\"\\x09%\\x02\\x09&\\x02\\x09#\\x02\\x09 \\x02\\x08!\\x02\\x08%\\x02\\x08$\\x02\\x08+\\x02\" +\n\t\"\\x08.\\x02\\x08*\\x02\\x08&\\x02\\x088\\x02\\x08>\\x02\\x084\\x02\\x086\\x02\\x080\\x02\" +\n\t\"\\x08\\x10\\x02\\x08\\x17\\x02\\x08\\x12\\x02\\x08\\x1d\\x02\\x08\\x1f\\x02\\x08\\x13\\x02\" +\n\t\"\\x08\\x15\\x02\\x08\\x14\\x02\\x08\\x0c\\x03\\x8b\\xfd\\xd0\\x03\\x81\\xec\\xc6\\x03\\x87\" +\n\t\"\\xe0\\x8a\\x03-2\\xe3\\x03\\x80\\xef\\xe4\\x03-2\\xea\\x03\\x88\\xe6\\xeb\\x03\\x8e\\xe6\" +\n\t\"\\xe8\\x03\\x84\\xe6\\xe9\\x03\\x97\\xe6\\xee\\x03-2\\xf9\\x03-2\\xf6\\x03\\x8e\\xe3\\xad\" +\n\t\"\\x03\\x80\\xe3\\x92\\x03\\x88\\xe3\\x90\\x03\\x8e\\xe3\\x90\\x03\\x80\\xe3\\x97\\x03\\x88\" +\n\t\"\\xe3\\x95\\x03\\x88\\xfe\\xcb\\x03\\x8e\\xfe\\xca\\x03\\x84\\xfe\\xcd\\x03\\x91\\xef\\xc9\" +\n\t\"\\x03-2\\xc1\\x03-2\\xc0\\x03-2\\xcb\\x03\\x88@\\x09\\x03\\x8e@\\x08\\x03\\x8f\\xe0\\xf5\" +\n\t\"\\x03\\x8e\\xe6\\xf9\\x03\\x8e\\xe0\\xfa\\x03\\x93\\xff\\xf4\\x03\\x84\\xee\\xd3\\x03\\x0b\" +\n\t\"(\\x04\\x023 \\x021;\\x02\\x01*\\x03\\x0b#\\x10\\x03\\x0b 0\\x03\\x0b!\\x10\\x03\\x0b!0\" +\n\t\"\\x03\\x07\\x15\\x08\\x03\\x09?5\\x03\\x07\\x1f\\x08\\x03\\x07\\x17\\x0b\\x03\\x09\\x1f\" +\n\t\"\\x15\\x03\\x0b\\x1c7\\x03\\x0a+#\\x03\\x06\\x1a\\x1b\\x03\\x06\\x1a\\x14\\x03\\x0a\\x01\" +\n\t\"\\x18\\x03\\x06#\\x1b\\x03\\x0a2\\x0c\\x03\\x0a\\x01\\x04\\x03\\x09#;\\x03\\x08='\\x03\" +\n\t\"\\x08\\x1a\\x0a\\x03\\x07</\\x03\\x07:+\\x03\\x07\\x07*\\x03\\x06&\\x1c\\x03\\x09\\x0c\" +\n\t\"\\x16\\x03\\x09\\x10\\x0e\\x03\\x08'\\x0f\\x03\\x08+\\x09\\x03\\x074%\\x03\\x06!3\\x03\" +\n\t\"\\x06\\x03+\\x03\\x0b\\x1e\\x19\\x03\\x0a))\\x03\\x09\\x08\\x19\\x03\\x08,\\x05\\x03\\x07\" +\n\t\"<2\\x03\\x06\\x1c>\\x03\\x0a\\x111\\x03\\x09\\x1b\\x09\\x03\\x073.\\x03\\x07\\x01\\x00\" +\n\t\"\\x03\\x09/,\\x03\\x07#>\\x03\\x07\\x048\\x03\\x0a\\x1f\\x22\\x03\\x098>\\x03\\x09\\x11\" +\n\t\"\\x00\\x03\\x08/\\x17\\x03\\x06'\\x22\\x03\\x0b\\x1a+\\x03\\x0a\\x22\\x19\\x03\\x0a/1\" +\n\t\"\\x03\\x0974\\x03\\x09\\x0f\\x22\\x03\\x08,\\x22\\x03\\x08?\\x14\\x03\\x07$5\\x03\\x07<3\" +\n\t\"\\x03\\x07=*\\x03\\x07\\x13\\x18\\x03\\x068\\x0a\\x03\\x06\\x09\\x16\\x03\\x06\\x13\\x00\" +\n\t\"\\x03\\x08\\x067\\x03\\x08\\x01\\x03\\x03\\x08\\x12\\x1d\\x03\\x07+7\\x03\\x06(;\\x03\" +\n\t\"\\x06\\x1c?\\x03\\x07\\x0e\\x17\\x03\\x0a\\x06\\x1d\\x03\\x0a\\x19\\x07\\x03\\x08\\x14$\" +\n\t\"\\x03\\x07$;\\x03\\x08,$\\x03\\x08\\x06\\x0d\\x03\\x07\\x16\\x0a\\x03\\x06>>\\x03\\x0a\" +\n\t\"\\x06\\x12\\x03\\x0a\\x14)\\x03\\x09\\x0d\\x1f\\x03\\x09\\x12\\x17\\x03\\x09\\x19\\x01\" +\n\t\"\\x03\\x08\\x11 \\x03\\x08\\x1d'\\x03\\x06<\\x1a\\x03\\x0a.\\x00\\x03\\x07'\\x18\\x03\" +\n\t\"\\x0a\\x22\\x08\\x03\\x08\\x0d\\x0a\\x03\\x08\\x13)\\x03\\x07*)\\x03\\x06<,\\x03\\x07\" +\n\t\"\\x0b\\x1a\\x03\\x09.\\x14\\x03\\x09\\x0d\\x1e\\x03\\x07\\x0e#\\x03\\x0b\\x1d'\\x03\\x0a\" +\n\t\"\\x0a8\\x03\\x09%2\\x03\\x08+&\\x03\\x080\\x12\\x03\\x0a)4\\x03\\x08\\x06\\x1f\\x03\\x0b\" +\n\t\"\\x1b\\x1a\\x03\\x0a\\x1b\\x0f\\x03\\x0b\\x1d*\\x03\\x09\\x16$\\x03\\x090\\x11\\x03\\x08\" +\n\t\"\\x11\\x08\\x03\\x0a*(\\x03\\x0a\\x042\\x03\\x089,\\x03\\x074'\\x03\\x07\\x0f\\x05\\x03\" +\n\t\"\\x09\\x0b\\x0a\\x03\\x07\\x1b\\x01\\x03\\x09\\x17:\\x03\\x09.\\x0d\\x03\\x07.\\x11\\x03\" +\n\t\"\\x09+\\x15\\x03\\x080\\x13\\x03\\x0b\\x1f\\x19\\x03\\x0a \\x11\\x03\\x0a\\x220\\x03\\x09\" +\n\t\"\\x07;\\x03\\x08\\x16\\x1c\\x03\\x07,\\x13\\x03\\x07\\x0e/\\x03\\x06\\x221\\x03\\x0a.\" +\n\t\"\\x0a\\x03\\x0a7\\x02\\x03\\x0a\\x032\\x03\\x0a\\x1d.\\x03\\x091\\x06\\x03\\x09\\x19:\" +\n\t\"\\x03\\x08\\x02/\\x03\\x060+\\x03\\x06\\x0f-\\x03\\x06\\x1c\\x1f\\x03\\x06\\x1d\\x07\\x03\" +\n\t\"\\x0a,\\x11\\x03\\x09=\\x0d\\x03\\x09\\x0b;\\x03\\x07\\x1b/\\x03\\x0a\\x1f:\\x03\\x09 \" +\n\t\"\\x1f\\x03\\x09.\\x10\\x03\\x094\\x0b\\x03\\x09\\x1a1\\x03\\x08#\\x1a\\x03\\x084\\x1d\" +\n\t\"\\x03\\x08\\x01\\x1f\\x03\\x08\\x11\\x22\\x03\\x07'8\\x03\\x07\\x1a>\\x03\\x0757\\x03\" +\n\t\"\\x06&9\\x03\\x06+\\x11\\x03\\x0a.\\x0b\\x03\\x0a,>\\x03\\x0a4#\\x03\\x08%\\x17\\x03\" +\n\t\"\\x07\\x05\\x22\\x03\\x07\\x0c\\x0b\\x03\\x0a\\x1d+\\x03\\x0a\\x19\\x16\\x03\\x09+\\x1f\" +\n\t\"\\x03\\x09\\x08\\x0b\\x03\\x08\\x16\\x18\\x03\\x08+\\x12\\x03\\x0b\\x1d\\x0c\\x03\\x0a=\" +\n\t\"\\x10\\x03\\x0a\\x09\\x0d\\x03\\x0a\\x10\\x11\\x03\\x09&0\\x03\\x08(\\x1f\\x03\\x087\\x07\" +\n\t\"\\x03\\x08\\x185\\x03\\x07'6\\x03\\x06.\\x05\\x03\\x06=\\x04\\x03\\x06;;\\x03\\x06\\x06,\" +\n\t\"\\x03\\x0b\\x18>\\x03\\x08\\x00\\x18\\x03\\x06 \\x03\\x03\\x06<\\x00\\x03\\x09%\\x18\\x03\" +\n\t\"\\x0b\\x1c<\\x03\\x0a%!\\x03\\x0a\\x09\\x12\\x03\\x0a\\x16\\x02\\x03\\x090'\\x03\\x09\" +\n\t\"\\x0e=\\x03\\x08 \\x0e\\x03\\x08>\\x03\\x03\\x074>\\x03\\x06&?\\x03\\x06\\x19\\x09\\x03\" +\n\t\"\\x06?(\\x03\\x0a-\\x0e\\x03\\x09:3\\x03\\x098:\\x03\\x09\\x12\\x0b\\x03\\x09\\x1d\\x17\" +\n\t\"\\x03\\x087\\x05\\x03\\x082\\x14\\x03\\x08\\x06%\\x03\\x08\\x13\\x1f\\x03\\x06\\x06\\x0e\" +\n\t\"\\x03\\x0a\\x22<\\x03\\x09/<\\x03\\x06>+\\x03\\x0a'?\\x03\\x0a\\x13\\x0c\\x03\\x09\\x10<\" +\n\t\"\\x03\\x07\\x1b=\\x03\\x0a\\x19\\x13\\x03\\x09\\x22\\x1d\\x03\\x09\\x07\\x0d\\x03\\x08)\" +\n\t\"\\x1c\\x03\\x06=\\x1a\\x03\\x0a/4\\x03\\x0a7\\x11\\x03\\x0a\\x16:\\x03\\x09?3\\x03\\x09:\" +\n\t\"/\\x03\\x09\\x05\\x0a\\x03\\x09\\x14\\x06\\x03\\x087\\x22\\x03\\x080\\x07\\x03\\x08\\x1a\" +\n\t\"\\x1f\\x03\\x07\\x04(\\x03\\x07\\x04\\x09\\x03\\x06 %\\x03\\x06<\\x08\\x03\\x0a+\\x14\" +\n\t\"\\x03\\x09\\x1d\\x16\\x03\\x0a70\\x03\\x08 >\\x03\\x0857\\x03\\x070\\x0a\\x03\\x06=\\x12\" +\n\t\"\\x03\\x06\\x16%\\x03\\x06\\x1d,\\x03\\x099#\\x03\\x09\\x10>\\x03\\x07 \\x1e\\x03\\x08\" +\n\t\"\\x0c<\\x03\\x08\\x0b\\x18\\x03\\x08\\x15+\\x03\\x08,:\\x03\\x08%\\x22\\x03\\x07\\x0a$\" +\n\t\"\\x03\\x0b\\x1c=\\x03\\x07+\\x08\\x03\\x0a/\\x05\\x03\\x0a \\x07\\x03\\x0a\\x12'\\x03\" +\n\t\"\\x09#\\x11\\x03\\x08\\x1b\\x15\\x03\\x0a\\x06\\x01\\x03\\x09\\x1c\\x1b\\x03\\x0922\\x03\" +\n\t\"\\x07\\x14<\\x03\\x07\\x09\\x04\\x03\\x061\\x04\\x03\\x07\\x0e\\x01\\x03\\x0a\\x13\\x18\" +\n\t\"\\x03\\x0a-\\x0c\\x03\\x0a?\\x0d\\x03\\x0a\\x09\\x0a\\x03\\x091&\\x03\\x0a/\\x0b\\x03\" +\n\t\"\\x08$<\\x03\\x083\\x1d\\x03\\x08\\x0c$\\x03\\x08\\x0d\\x07\\x03\\x08\\x0d?\\x03\\x08\" +\n\t\"\\x0e\\x14\\x03\\x065\\x0a\\x03\\x08\\x1a#\\x03\\x08\\x16#\\x03\\x0702\\x03\\x07\\x03\" +\n\t\"\\x1a\\x03\\x06(\\x1d\\x03\\x06+\\x1b\\x03\\x06\\x0b\\x05\\x03\\x06\\x0b\\x17\\x03\\x06\" +\n\t\"\\x0c\\x04\\x03\\x06\\x1e\\x19\\x03\\x06+0\\x03\\x062\\x18\\x03\\x0b\\x16\\x1e\\x03\\x0a+\" +\n\t\"\\x16\\x03\\x0a-?\\x03\\x0a#:\\x03\\x0a#\\x10\\x03\\x0a%$\\x03\\x0a>+\\x03\\x0a01\\x03\" +\n\t\"\\x0a1\\x10\\x03\\x0a\\x099\\x03\\x0a\\x0a\\x12\\x03\\x0a\\x19\\x1f\\x03\\x0a\\x19\\x12\" +\n\t\"\\x03\\x09*)\\x03\\x09-\\x16\\x03\\x09.1\\x03\\x09.2\\x03\\x09<\\x0e\\x03\\x09> \\x03\" +\n\t\"\\x093\\x12\\x03\\x09\\x0b\\x01\\x03\\x09\\x1c2\\x03\\x09\\x11\\x1c\\x03\\x09\\x15%\\x03\" +\n\t\"\\x08,&\\x03\\x08!\\x22\\x03\\x089(\\x03\\x08\\x0b\\x1a\\x03\\x08\\x0d2\\x03\\x08\\x0c\" +\n\t\"\\x04\\x03\\x08\\x0c\\x06\\x03\\x08\\x0c\\x1f\\x03\\x08\\x0c\\x0c\\x03\\x08\\x0f\\x1f\\x03\" +\n\t\"\\x08\\x0f\\x1d\\x03\\x08\\x00\\x14\\x03\\x08\\x03\\x14\\x03\\x08\\x06\\x16\\x03\\x08\\x1e\" +\n\t\"#\\x03\\x08\\x11\\x11\\x03\\x08\\x10\\x18\\x03\\x08\\x14(\\x03\\x07)\\x1e\\x03\\x07.1\" +\n\t\"\\x03\\x07 $\\x03\\x07 '\\x03\\x078\\x08\\x03\\x07\\x0d0\\x03\\x07\\x0f7\\x03\\x07\\x05#\" +\n\t\"\\x03\\x07\\x05\\x1a\\x03\\x07\\x1a7\\x03\\x07\\x1d-\\x03\\x07\\x17\\x10\\x03\\x06)\\x1f\" +\n\t\"\\x03\\x062\\x0b\\x03\\x066\\x16\\x03\\x06\\x09\\x11\\x03\\x09(\\x1e\\x03\\x07!5\\x03\" +\n\t\"\\x0b\\x11\\x16\\x03\\x0a/\\x04\\x03\\x0a,\\x1a\\x03\\x0b\\x173\\x03\\x0a,1\\x03\\x0a/5\" +\n\t\"\\x03\\x0a\\x221\\x03\\x0a\\x22\\x0d\\x03\\x0a?%\\x03\\x0a<,\\x03\\x0a?#\\x03\\x0a>\\x19\" +\n\t\"\\x03\\x0a\\x08&\\x03\\x0a\\x0b\\x0e\\x03\\x0a\\x0c:\\x03\\x0a\\x0c+\\x03\\x0a\\x03\\x22\" +\n\t\"\\x03\\x0a\\x06)\\x03\\x0a\\x11\\x10\\x03\\x0a\\x11\\x1a\\x03\\x0a\\x17-\\x03\\x0a\\x14(\" +\n\t\"\\x03\\x09)\\x1e\\x03\\x09/\\x09\\x03\\x09.\\x00\\x03\\x09,\\x07\\x03\\x09/*\\x03\\x09-9\" +\n\t\"\\x03\\x09\\x228\\x03\\x09%\\x09\\x03\\x09:\\x12\\x03\\x09;\\x1d\\x03\\x09?\\x06\\x03\" +\n\t\"\\x093%\\x03\\x096\\x05\\x03\\x096\\x08\\x03\\x097\\x02\\x03\\x09\\x07,\\x03\\x09\\x04,\" +\n\t\"\\x03\\x09\\x1f\\x16\\x03\\x09\\x11\\x03\\x03\\x09\\x11\\x12\\x03\\x09\\x168\\x03\\x08*\" +\n\t\"\\x05\\x03\\x08/2\\x03\\x084:\\x03\\x08\\x22+\\x03\\x08 0\\x03\\x08&\\x0a\\x03\\x08;\" +\n\t\"\\x10\\x03\\x08>$\\x03\\x08>\\x18\\x03\\x0829\\x03\\x082:\\x03\\x081,\\x03\\x081<\\x03\" +\n\t\"\\x081\\x1c\\x03\\x087#\\x03\\x087*\\x03\\x08\\x09'\\x03\\x08\\x00\\x1d\\x03\\x08\\x05-\" +\n\t\"\\x03\\x08\\x1f4\\x03\\x08\\x1d\\x04\\x03\\x08\\x16\\x0f\\x03\\x07*7\\x03\\x07'!\\x03\" +\n\t\"\\x07%\\x1b\\x03\\x077\\x0c\\x03\\x07\\x0c1\\x03\\x07\\x0c.\\x03\\x07\\x00\\x06\\x03\\x07\" +\n\t\"\\x01\\x02\\x03\\x07\\x010\\x03\\x07\\x06=\\x03\\x07\\x01\\x03\\x03\\x07\\x01\\x13\\x03\" +\n\t\"\\x07\\x06\\x06\\x03\\x07\\x05\\x0a\\x03\\x07\\x1f\\x09\\x03\\x07\\x17:\\x03\\x06*1\\x03\" +\n\t\"\\x06-\\x1d\\x03\\x06\\x223\\x03\\x062:\\x03\\x060$\\x03\\x066\\x1e\\x03\\x064\\x12\\x03\" +\n\t\"\\x0645\\x03\\x06\\x0b\\x00\\x03\\x06\\x0b7\\x03\\x06\\x07\\x1f\\x03\\x06\\x15\\x12\\x03\" +\n\t\"\\x0c\\x05\\x0f\\x03\\x0b+\\x0b\\x03\\x0b+-\\x03\\x06\\x16\\x1b\\x03\\x06\\x15\\x17\\x03\" +\n\t\"\\x89\\xca\\xea\\x03\\x89\\xca\\xe8\\x03\\x0c8\\x10\\x03\\x0c8\\x01\\x03\\x0c8\\x0f\\x03\" +\n\t\"\\x0d8%\\x03\\x0d8!\\x03\\x0c8-\\x03\\x0c8/\\x03\\x0c8+\\x03\\x0c87\\x03\\x0c85\\x03\" +\n\t\"\\x0c9\\x09\\x03\\x0c9\\x0d\\x03\\x0c9\\x0f\\x03\\x0c9\\x0b\\x03\\xcfu\\x0c\\x03\\xcfu\" +\n\t\"\\x0f\\x03\\xcfu\\x0e\\x03\\xcfu\\x09\\x03\\x0c9\\x10\\x03\\x0d9\\x0c\\x03\\xcf`;\\x03\" +\n\t\"\\xcf`>\\x03\\xcf`9\\x03\\xcf`8\\x03\\xcf`7\\x03\\xcf`*\\x03\\xcf`-\\x03\\xcf`,\\x03\" +\n\t\"\\x0d\\x1b\\x1a\\x03\\x0d\\x1b&\\x03\\x0c=.\\x03\\x0c=%\\x03\\x0c>\\x1e\\x03\\x0c>\\x14\" +\n\t\"\\x03\\x0c?\\x06\\x03\\x0c?\\x0b\\x03\\x0c?\\x0c\\x03\\x0c?\\x0d\\x03\\x0c?\\x02\\x03\" +\n\t\"\\x0c>\\x0f\\x03\\x0c>\\x08\\x03\\x0c>\\x09\\x03\\x0c>,\\x03\\x0c>\\x0c\\x03\\x0c?\\x13\" +\n\t\"\\x03\\x0c?\\x16\\x03\\x0c?\\x15\\x03\\x0c?\\x1c\\x03\\x0c?\\x1f\\x03\\x0c?\\x1d\\x03\" +\n\t\"\\x0c?\\x1a\\x03\\x0c?\\x17\\x03\\x0c?\\x08\\x03\\x0c?\\x09\\x03\\x0c?\\x0e\\x03\\x0c?\" +\n\t\"\\x04\\x03\\x0c?\\x05\\x03\\x0c<?\\x03\\x0c=\\x00\\x03\\x0c=\\x06\\x03\\x0c=\\x05\\x03\" +\n\t\"\\x0c=\\x0c\\x03\\x0c=\\x0f\\x03\\x0c=\\x0d\\x03\\x0c=\\x0b\\x03\\x0c=\\x07\\x03\\x0c=\" +\n\t\"\\x19\\x03\\x0c=\\x15\\x03\\x0c=\\x11\\x03\\x0c=1\\x03\\x0c=3\\x03\\x0c=0\\x03\\x0c=>\" +\n\t\"\\x03\\x0c=2\\x03\\x0c=6\\x03\\x0c<\\x07\\x03\\x0c<\\x05\\x03\\x0e:!\\x03\\x0e:#\\x03\" +\n\t\"\\x0e8\\x09\\x03\\x0e:&\\x03\\x0e8\\x0b\\x03\\x0e:$\\x03\\x0e:,\\x03\\x0e8\\x1a\\x03\" +\n\t\"\\x0e8\\x1e\\x03\\x0e:*\\x03\\x0e:7\\x03\\x0e:5\\x03\\x0e:;\\x03\\x0e:\\x15\\x03\\x0e:<\" +\n\t\"\\x03\\x0e:4\\x03\\x0e:'\\x03\\x0e:-\\x03\\x0e:%\\x03\\x0e:?\\x03\\x0e:=\\x03\\x0e:)\" +\n\t\"\\x03\\x0e:/\\x03\\xcfs'\\x03\\x0d=\\x0f\\x03\\x0d+*\\x03\\x0d99\\x03\\x0d9;\\x03\\x0d9\" +\n\t\"?\\x03\\x0d)\\x0d\\x03\\x0d(%\\x02\\x01\\x18\\x02\\x01(\\x02\\x01\\x1e\\x03\\x0f$!\\x03\" +\n\t\"\\x0f87\\x03\\x0f4\\x0e\\x03\\x0f5\\x1d\\x03\\x06'\\x03\\x03\\x0f\\x08\\x18\\x03\\x0f\" +\n\t\"\\x0d\\x1b\\x03\\x0e2=\\x03\\x0e;\\x08\\x03\\x0e:\\x0b\\x03\\x0e\\x06$\\x03\\x0e\\x0d)\" +\n\t\"\\x03\\x0e\\x16\\x1f\\x03\\x0e\\x16\\x1b\\x03\\x0d$\\x0a\\x03\\x05,\\x1d\\x03\\x0d. \\x03\" +\n\t\"\\x0d.#\\x03\\x0c(/\\x03\\x09%\\x02\\x03\\x0d90\\x03\\x0d\\x0e4\\x03\\x0d\\x0d\\x0f\\x03\" +\n\t\"\\x0c#\\x00\\x03\\x0c,\\x1e\\x03\\x0c2\\x0e\\x03\\x0c\\x01\\x17\\x03\\x0c\\x09:\\x03\\x0e\" +\n\t\"\\x173\\x03\\x0c\\x08\\x03\\x03\\x0c\\x11\\x07\\x03\\x0c\\x10\\x18\\x03\\x0c\\x1f\\x1c\" +\n\t\"\\x03\\x0c\\x19\\x0e\\x03\\x0c\\x1a\\x1f\\x03\\x0f0>\\x03\\x0b->\\x03\\x0b<+\\x03\\x0b8\" +\n\t\"\\x13\\x03\\x0b\\x043\\x03\\x0b\\x14\\x03\\x03\\x0b\\x16%\\x03\\x0d\\x22&\\x03\\x0b\\x1a\" +\n\t\"\\x1a\\x03\\x0b\\x1a\\x04\\x03\\x0a%9\\x03\\x0a&2\\x03\\x0a&0\\x03\\x0a!\\x1a\\x03\\x0a!\" +\n\t\"7\\x03\\x0a5\\x10\\x03\\x0a=4\\x03\\x0a?\\x0e\\x03\\x0a>\\x10\\x03\\x0a\\x00 \\x03\\x0a\" +\n\t\"\\x0f:\\x03\\x0a\\x0f9\\x03\\x0a\\x0b\\x0a\\x03\\x0a\\x17%\\x03\\x0a\\x1b-\\x03\\x09-\" +\n\t\"\\x1a\\x03\\x09,4\\x03\\x09.,\\x03\\x09)\\x09\\x03\\x096!\\x03\\x091\\x1f\\x03\\x093\" +\n\t\"\\x16\\x03\\x0c+\\x1f\\x03\\x098 \\x03\\x098=\\x03\\x0c(\\x1a\\x03\\x0c(\\x16\\x03\\x09\" +\n\t\"\\x0a+\\x03\\x09\\x16\\x12\\x03\\x09\\x13\\x0e\\x03\\x09\\x153\\x03\\x08)!\\x03\\x09\\x1a\" +\n\t\"\\x01\\x03\\x09\\x18\\x01\\x03\\x08%#\\x03\\x08>\\x22\\x03\\x08\\x05%\\x03\\x08\\x02*\" +\n\t\"\\x03\\x08\\x15;\\x03\\x08\\x1b7\\x03\\x0f\\x07\\x1d\\x03\\x0f\\x04\\x03\\x03\\x070\\x0c\" +\n\t\"\\x03\\x07;\\x0b\\x03\\x07\\x08\\x17\\x03\\x07\\x12\\x06\\x03\\x06/-\\x03\\x0671\\x03\" +\n\t\"\\x065+\\x03\\x06>7\\x03\\x06\\x049\\x03\\x05+\\x1e\\x03\\x05,\\x17\\x03\\x05 \\x1d\\x03\" +\n\t\"\\x05\\x22\\x05\\x03\\x050\\x1d\"\n\n// lookup returns the trie value for the first UTF-8 encoding in s and\n// the width in bytes of this encoding. The size will be 0 if s does not\n// hold enough bytes to complete the encoding. len(s) must be greater than 0.\nfunc (t *idnaTrie) lookup(s []byte) (v uint16, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < 0x80: // is ASCII\n\t\treturn idnaValues[c0], 1\n\tcase c0 < 0xC2:\n\t\treturn 0, 1 // Illegal UTF-8: not a starter, not ASCII.\n\tcase c0 < 0xE0: // 2-byte UTF-8\n\t\tif len(s) < 2 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := idnaIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c1), 2\n\tcase c0 < 0xF0: // 3-byte UTF-8\n\t\tif len(s) < 3 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := idnaIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = idnaIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c2), 3\n\tcase c0 < 0xF8: // 4-byte UTF-8\n\t\tif len(s) < 4 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := idnaIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = idnaIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to = uint32(i)<<6 + uint32(c2)\n\t\ti = idnaIndex[o]\n\t\tc3 := s[3]\n\t\tif c3 < 0x80 || 0xC0 <= c3 {\n\t\t\treturn 0, 3 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c3), 4\n\t}\n\t// Illegal rune\n\treturn 0, 1\n}\n\n// lookupUnsafe returns the trie value for the first UTF-8 encoding in s.\n// s must start with a full and valid UTF-8 encoded rune.\nfunc (t *idnaTrie) lookupUnsafe(s []byte) uint16 {\n\tc0 := s[0]\n\tif c0 < 0x80 { // is ASCII\n\t\treturn idnaValues[c0]\n\t}\n\ti := idnaIndex[c0]\n\tif c0 < 0xE0 { // 2-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[1])\n\t}\n\ti = idnaIndex[uint32(i)<<6+uint32(s[1])]\n\tif c0 < 0xF0 { // 3-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[2])\n\t}\n\ti = idnaIndex[uint32(i)<<6+uint32(s[2])]\n\tif c0 < 0xF8 { // 4-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[3])\n\t}\n\treturn 0\n}\n\n// lookupString returns the trie value for the first UTF-8 encoding in s and\n// the width in bytes of this encoding. The size will be 0 if s does not\n// hold enough bytes to complete the encoding. len(s) must be greater than 0.\nfunc (t *idnaTrie) lookupString(s string) (v uint16, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < 0x80: // is ASCII\n\t\treturn idnaValues[c0], 1\n\tcase c0 < 0xC2:\n\t\treturn 0, 1 // Illegal UTF-8: not a starter, not ASCII.\n\tcase c0 < 0xE0: // 2-byte UTF-8\n\t\tif len(s) < 2 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := idnaIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c1), 2\n\tcase c0 < 0xF0: // 3-byte UTF-8\n\t\tif len(s) < 3 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := idnaIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = idnaIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c2), 3\n\tcase c0 < 0xF8: // 4-byte UTF-8\n\t\tif len(s) < 4 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := idnaIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = idnaIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to = uint32(i)<<6 + uint32(c2)\n\t\ti = idnaIndex[o]\n\t\tc3 := s[3]\n\t\tif c3 < 0x80 || 0xC0 <= c3 {\n\t\t\treturn 0, 3 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c3), 4\n\t}\n\t// Illegal rune\n\treturn 0, 1\n}\n\n// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s.\n// s must start with a full and valid UTF-8 encoded rune.\nfunc (t *idnaTrie) lookupStringUnsafe(s string) uint16 {\n\tc0 := s[0]\n\tif c0 < 0x80 { // is ASCII\n\t\treturn idnaValues[c0]\n\t}\n\ti := idnaIndex[c0]\n\tif c0 < 0xE0 { // 2-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[1])\n\t}\n\ti = idnaIndex[uint32(i)<<6+uint32(s[1])]\n\tif c0 < 0xF0 { // 3-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[2])\n\t}\n\ti = idnaIndex[uint32(i)<<6+uint32(s[2])]\n\tif c0 < 0xF8 { // 4-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[3])\n\t}\n\treturn 0\n}\n\n// idnaTrie. Total size: 29052 bytes (28.37 KiB). Checksum: ef06e7ecc26f36dd.\ntype idnaTrie struct{}\n\nfunc newIdnaTrie(i int) *idnaTrie {\n\treturn &idnaTrie{}\n}\n\n// lookupValue determines the type of block n and looks up the value for b.\nfunc (t *idnaTrie) lookupValue(n uint32, b byte) uint16 {\n\tswitch {\n\tcase n < 125:\n\t\treturn uint16(idnaValues[n<<6+uint32(b)])\n\tdefault:\n\t\tn -= 125\n\t\treturn uint16(idnaSparse.lookup(n, b))\n\t}\n}\n\n// idnaValues: 127 blocks, 8128 entries, 16256 bytes\n// The third block is the zero block.\nvar idnaValues = [8128]uint16{\n\t// Block 0x0, offset 0x0\n\t0x00: 0x0080, 0x01: 0x0080, 0x02: 0x0080, 0x03: 0x0080, 0x04: 0x0080, 0x05: 0x0080,\n\t0x06: 0x0080, 0x07: 0x0080, 0x08: 0x0080, 0x09: 0x0080, 0x0a: 0x0080, 0x0b: 0x0080,\n\t0x0c: 0x0080, 0x0d: 0x0080, 0x0e: 0x0080, 0x0f: 0x0080, 0x10: 0x0080, 0x11: 0x0080,\n\t0x12: 0x0080, 0x13: 0x0080, 0x14: 0x0080, 0x15: 0x0080, 0x16: 0x0080, 0x17: 0x0080,\n\t0x18: 0x0080, 0x19: 0x0080, 0x1a: 0x0080, 0x1b: 0x0080, 0x1c: 0x0080, 0x1d: 0x0080,\n\t0x1e: 0x0080, 0x1f: 0x0080, 0x20: 0x0080, 0x21: 0x0080, 0x22: 0x0080, 0x23: 0x0080,\n\t0x24: 0x0080, 0x25: 0x0080, 0x26: 0x0080, 0x27: 0x0080, 0x28: 0x0080, 0x29: 0x0080,\n\t0x2a: 0x0080, 0x2b: 0x0080, 0x2c: 0x0080, 0x2d: 0x0008, 0x2e: 0x0008, 0x2f: 0x0080,\n\t0x30: 0x0008, 0x31: 0x0008, 0x32: 0x0008, 0x33: 0x0008, 0x34: 0x0008, 0x35: 0x0008,\n\t0x36: 0x0008, 0x37: 0x0008, 0x38: 0x0008, 0x39: 0x0008, 0x3a: 0x0080, 0x3b: 0x0080,\n\t0x3c: 0x0080, 0x3d: 0x0080, 0x3e: 0x0080, 0x3f: 0x0080,\n\t// Block 0x1, offset 0x40\n\t0x40: 0x0080, 0x41: 0xe105, 0x42: 0xe105, 0x43: 0xe105, 0x44: 0xe105, 0x45: 0xe105,\n\t0x46: 0xe105, 0x47: 0xe105, 0x48: 0xe105, 0x49: 0xe105, 0x4a: 0xe105, 0x4b: 0xe105,\n\t0x4c: 0xe105, 0x4d: 0xe105, 0x4e: 0xe105, 0x4f: 0xe105, 0x50: 0xe105, 0x51: 0xe105,\n\t0x52: 0xe105, 0x53: 0xe105, 0x54: 0xe105, 0x55: 0xe105, 0x56: 0xe105, 0x57: 0xe105,\n\t0x58: 0xe105, 0x59: 0xe105, 0x5a: 0xe105, 0x5b: 0x0080, 0x5c: 0x0080, 0x5d: 0x0080,\n\t0x5e: 0x0080, 0x5f: 0x0080, 0x60: 0x0080, 0x61: 0x0008, 0x62: 0x0008, 0x63: 0x0008,\n\t0x64: 0x0008, 0x65: 0x0008, 0x66: 0x0008, 0x67: 0x0008, 0x68: 0x0008, 0x69: 0x0008,\n\t0x6a: 0x0008, 0x6b: 0x0008, 0x6c: 0x0008, 0x6d: 0x0008, 0x6e: 0x0008, 0x6f: 0x0008,\n\t0x70: 0x0008, 0x71: 0x0008, 0x72: 0x0008, 0x73: 0x0008, 0x74: 0x0008, 0x75: 0x0008,\n\t0x76: 0x0008, 0x77: 0x0008, 0x78: 0x0008, 0x79: 0x0008, 0x7a: 0x0008, 0x7b: 0x0080,\n\t0x7c: 0x0080, 0x7d: 0x0080, 0x7e: 0x0080, 0x7f: 0x0080,\n\t// Block 0x2, offset 0x80\n\t// Block 0x3, offset 0xc0\n\t0xc0: 0x0040, 0xc1: 0x0040, 0xc2: 0x0040, 0xc3: 0x0040, 0xc4: 0x0040, 0xc5: 0x0040,\n\t0xc6: 0x0040, 0xc7: 0x0040, 0xc8: 0x0040, 0xc9: 0x0040, 0xca: 0x0040, 0xcb: 0x0040,\n\t0xcc: 0x0040, 0xcd: 0x0040, 0xce: 0x0040, 0xcf: 0x0040, 0xd0: 0x0040, 0xd1: 0x0040,\n\t0xd2: 0x0040, 0xd3: 0x0040, 0xd4: 0x0040, 0xd5: 0x0040, 0xd6: 0x0040, 0xd7: 0x0040,\n\t0xd8: 0x0040, 0xd9: 0x0040, 0xda: 0x0040, 0xdb: 0x0040, 0xdc: 0x0040, 0xdd: 0x0040,\n\t0xde: 0x0040, 0xdf: 0x0040, 0xe0: 0x000a, 0xe1: 0x0018, 0xe2: 0x0018, 0xe3: 0x0018,\n\t0xe4: 0x0018, 0xe5: 0x0018, 0xe6: 0x0018, 0xe7: 0x0018, 0xe8: 0x001a, 0xe9: 0x0018,\n\t0xea: 0x0039, 0xeb: 0x0018, 0xec: 0x0018, 0xed: 0x03c0, 0xee: 0x0018, 0xef: 0x004a,\n\t0xf0: 0x0018, 0xf1: 0x0018, 0xf2: 0x0069, 0xf3: 0x0079, 0xf4: 0x008a, 0xf5: 0x0005,\n\t0xf6: 0x0018, 0xf7: 0x0008, 0xf8: 0x00aa, 0xf9: 0x00c9, 0xfa: 0x00d9, 0xfb: 0x0018,\n\t0xfc: 0x00e9, 0xfd: 0x0119, 0xfe: 0x0149, 0xff: 0x0018,\n\t// Block 0x4, offset 0x100\n\t0x100: 0xe00d, 0x101: 0x0008, 0x102: 0xe00d, 0x103: 0x0008, 0x104: 0xe00d, 0x105: 0x0008,\n\t0x106: 0xe00d, 0x107: 0x0008, 0x108: 0xe00d, 0x109: 0x0008, 0x10a: 0xe00d, 0x10b: 0x0008,\n\t0x10c: 0xe00d, 0x10d: 0x0008, 0x10e: 0xe00d, 0x10f: 0x0008, 0x110: 0xe00d, 0x111: 0x0008,\n\t0x112: 0xe00d, 0x113: 0x0008, 0x114: 0xe00d, 0x115: 0x0008, 0x116: 0xe00d, 0x117: 0x0008,\n\t0x118: 0xe00d, 0x119: 0x0008, 0x11a: 0xe00d, 0x11b: 0x0008, 0x11c: 0xe00d, 0x11d: 0x0008,\n\t0x11e: 0xe00d, 0x11f: 0x0008, 0x120: 0xe00d, 0x121: 0x0008, 0x122: 0xe00d, 0x123: 0x0008,\n\t0x124: 0xe00d, 0x125: 0x0008, 0x126: 0xe00d, 0x127: 0x0008, 0x128: 0xe00d, 0x129: 0x0008,\n\t0x12a: 0xe00d, 0x12b: 0x0008, 0x12c: 0xe00d, 0x12d: 0x0008, 0x12e: 0xe00d, 0x12f: 0x0008,\n\t0x130: 0x0179, 0x131: 0x0008, 0x132: 0x0035, 0x133: 0x004d, 0x134: 0xe00d, 0x135: 0x0008,\n\t0x136: 0xe00d, 0x137: 0x0008, 0x138: 0x0008, 0x139: 0xe01d, 0x13a: 0x0008, 0x13b: 0xe03d,\n\t0x13c: 0x0008, 0x13d: 0xe01d, 0x13e: 0x0008, 0x13f: 0x0199,\n\t// Block 0x5, offset 0x140\n\t0x140: 0x0199, 0x141: 0xe01d, 0x142: 0x0008, 0x143: 0xe03d, 0x144: 0x0008, 0x145: 0xe01d,\n\t0x146: 0x0008, 0x147: 0xe07d, 0x148: 0x0008, 0x149: 0x01b9, 0x14a: 0xe00d, 0x14b: 0x0008,\n\t0x14c: 0xe00d, 0x14d: 0x0008, 0x14e: 0xe00d, 0x14f: 0x0008, 0x150: 0xe00d, 0x151: 0x0008,\n\t0x152: 0xe00d, 0x153: 0x0008, 0x154: 0xe00d, 0x155: 0x0008, 0x156: 0xe00d, 0x157: 0x0008,\n\t0x158: 0xe00d, 0x159: 0x0008, 0x15a: 0xe00d, 0x15b: 0x0008, 0x15c: 0xe00d, 0x15d: 0x0008,\n\t0x15e: 0xe00d, 0x15f: 0x0008, 0x160: 0xe00d, 0x161: 0x0008, 0x162: 0xe00d, 0x163: 0x0008,\n\t0x164: 0xe00d, 0x165: 0x0008, 0x166: 0xe00d, 0x167: 0x0008, 0x168: 0xe00d, 0x169: 0x0008,\n\t0x16a: 0xe00d, 0x16b: 0x0008, 0x16c: 0xe00d, 0x16d: 0x0008, 0x16e: 0xe00d, 0x16f: 0x0008,\n\t0x170: 0xe00d, 0x171: 0x0008, 0x172: 0xe00d, 0x173: 0x0008, 0x174: 0xe00d, 0x175: 0x0008,\n\t0x176: 0xe00d, 0x177: 0x0008, 0x178: 0x0065, 0x179: 0xe01d, 0x17a: 0x0008, 0x17b: 0xe03d,\n\t0x17c: 0x0008, 0x17d: 0xe01d, 0x17e: 0x0008, 0x17f: 0x01d9,\n\t// Block 0x6, offset 0x180\n\t0x180: 0x0008, 0x181: 0x007d, 0x182: 0xe00d, 0x183: 0x0008, 0x184: 0xe00d, 0x185: 0x0008,\n\t0x186: 0x007d, 0x187: 0xe07d, 0x188: 0x0008, 0x189: 0x0095, 0x18a: 0x00ad, 0x18b: 0xe03d,\n\t0x18c: 0x0008, 0x18d: 0x0008, 0x18e: 0x00c5, 0x18f: 0x00dd, 0x190: 0x00f5, 0x191: 0xe01d,\n\t0x192: 0x0008, 0x193: 0x010d, 0x194: 0x0125, 0x195: 0x0008, 0x196: 0x013d, 0x197: 0x013d,\n\t0x198: 0xe00d, 0x199: 0x0008, 0x19a: 0x0008, 0x19b: 0x0008, 0x19c: 0x010d, 0x19d: 0x0155,\n\t0x19e: 0x0008, 0x19f: 0x016d, 0x1a0: 0xe00d, 0x1a1: 0x0008, 0x1a2: 0xe00d, 0x1a3: 0x0008,\n\t0x1a4: 0xe00d, 0x1a5: 0x0008, 0x1a6: 0x0185, 0x1a7: 0xe07d, 0x1a8: 0x0008, 0x1a9: 0x019d,\n\t0x1aa: 0x0008, 0x1ab: 0x0008, 0x1ac: 0xe00d, 0x1ad: 0x0008, 0x1ae: 0x0185, 0x1af: 0xe0fd,\n\t0x1b0: 0x0008, 0x1b1: 0x01b5, 0x1b2: 0x01cd, 0x1b3: 0xe03d, 0x1b4: 0x0008, 0x1b5: 0xe01d,\n\t0x1b6: 0x0008, 0x1b7: 0x01e5, 0x1b8: 0xe00d, 0x1b9: 0x0008, 0x1ba: 0x0008, 0x1bb: 0x0008,\n\t0x1bc: 0xe00d, 0x1bd: 0x0008, 0x1be: 0x0008, 0x1bf: 0x0008,\n\t// Block 0x7, offset 0x1c0\n\t0x1c0: 0x0008, 0x1c1: 0x0008, 0x1c2: 0x0008, 0x1c3: 0x0008, 0x1c4: 0x01e9, 0x1c5: 0x01e9,\n\t0x1c6: 0x01e9, 0x1c7: 0x01fd, 0x1c8: 0x0215, 0x1c9: 0x022d, 0x1ca: 0x0245, 0x1cb: 0x025d,\n\t0x1cc: 0x0275, 0x1cd: 0xe01d, 0x1ce: 0x0008, 0x1cf: 0xe0fd, 0x1d0: 0x0008, 0x1d1: 0xe01d,\n\t0x1d2: 0x0008, 0x1d3: 0xe03d, 0x1d4: 0x0008, 0x1d5: 0xe01d, 0x1d6: 0x0008, 0x1d7: 0xe07d,\n\t0x1d8: 0x0008, 0x1d9: 0xe01d, 0x1da: 0x0008, 0x1db: 0xe03d, 0x1dc: 0x0008, 0x1dd: 0x0008,\n\t0x1de: 0xe00d, 0x1df: 0x0008, 0x1e0: 0xe00d, 0x1e1: 0x0008, 0x1e2: 0xe00d, 0x1e3: 0x0008,\n\t0x1e4: 0xe00d, 0x1e5: 0x0008, 0x1e6: 0xe00d, 0x1e7: 0x0008, 0x1e8: 0xe00d, 0x1e9: 0x0008,\n\t0x1ea: 0xe00d, 0x1eb: 0x0008, 0x1ec: 0xe00d, 0x1ed: 0x0008, 0x1ee: 0xe00d, 0x1ef: 0x0008,\n\t0x1f0: 0x0008, 0x1f1: 0x028d, 0x1f2: 0x02a5, 0x1f3: 0x02bd, 0x1f4: 0xe00d, 0x1f5: 0x0008,\n\t0x1f6: 0x02d5, 0x1f7: 0x02ed, 0x1f8: 0xe00d, 0x1f9: 0x0008, 0x1fa: 0xe00d, 0x1fb: 0x0008,\n\t0x1fc: 0xe00d, 0x1fd: 0x0008, 0x1fe: 0xe00d, 0x1ff: 0x0008,\n\t// Block 0x8, offset 0x200\n\t0x200: 0xe00d, 0x201: 0x0008, 0x202: 0xe00d, 0x203: 0x0008, 0x204: 0xe00d, 0x205: 0x0008,\n\t0x206: 0xe00d, 0x207: 0x0008, 0x208: 0xe00d, 0x209: 0x0008, 0x20a: 0xe00d, 0x20b: 0x0008,\n\t0x20c: 0xe00d, 0x20d: 0x0008, 0x20e: 0xe00d, 0x20f: 0x0008, 0x210: 0xe00d, 0x211: 0x0008,\n\t0x212: 0xe00d, 0x213: 0x0008, 0x214: 0xe00d, 0x215: 0x0008, 0x216: 0xe00d, 0x217: 0x0008,\n\t0x218: 0xe00d, 0x219: 0x0008, 0x21a: 0xe00d, 0x21b: 0x0008, 0x21c: 0xe00d, 0x21d: 0x0008,\n\t0x21e: 0xe00d, 0x21f: 0x0008, 0x220: 0x0305, 0x221: 0x0008, 0x222: 0xe00d, 0x223: 0x0008,\n\t0x224: 0xe00d, 0x225: 0x0008, 0x226: 0xe00d, 0x227: 0x0008, 0x228: 0xe00d, 0x229: 0x0008,\n\t0x22a: 0xe00d, 0x22b: 0x0008, 0x22c: 0xe00d, 0x22d: 0x0008, 0x22e: 0xe00d, 0x22f: 0x0008,\n\t0x230: 0xe00d, 0x231: 0x0008, 0x232: 0xe00d, 0x233: 0x0008, 0x234: 0x0008, 0x235: 0x0008,\n\t0x236: 0x0008, 0x237: 0x0008, 0x238: 0x0008, 0x239: 0x0008, 0x23a: 0x0209, 0x23b: 0xe03d,\n\t0x23c: 0x0008, 0x23d: 0x031d, 0x23e: 0x0229, 0x23f: 0x0008,\n\t// Block 0x9, offset 0x240\n\t0x240: 0x0008, 0x241: 0x0008, 0x242: 0x0018, 0x243: 0x0018, 0x244: 0x0018, 0x245: 0x0018,\n\t0x246: 0x0008, 0x247: 0x0008, 0x248: 0x0008, 0x249: 0x0008, 0x24a: 0x0008, 0x24b: 0x0008,\n\t0x24c: 0x0008, 0x24d: 0x0008, 0x24e: 0x0008, 0x24f: 0x0008, 0x250: 0x0008, 0x251: 0x0008,\n\t0x252: 0x0018, 0x253: 0x0018, 0x254: 0x0018, 0x255: 0x0018, 0x256: 0x0018, 0x257: 0x0018,\n\t0x258: 0x029a, 0x259: 0x02ba, 0x25a: 0x02da, 0x25b: 0x02fa, 0x25c: 0x031a, 0x25d: 0x033a,\n\t0x25e: 0x0018, 0x25f: 0x0018, 0x260: 0x03ad, 0x261: 0x0359, 0x262: 0x01d9, 0x263: 0x0369,\n\t0x264: 0x03c5, 0x265: 0x0018, 0x266: 0x0018, 0x267: 0x0018, 0x268: 0x0018, 0x269: 0x0018,\n\t0x26a: 0x0018, 0x26b: 0x0018, 0x26c: 0x0008, 0x26d: 0x0018, 0x26e: 0x0008, 0x26f: 0x0018,\n\t0x270: 0x0018, 0x271: 0x0018, 0x272: 0x0018, 0x273: 0x0018, 0x274: 0x0018, 0x275: 0x0018,\n\t0x276: 0x0018, 0x277: 0x0018, 0x278: 0x0018, 0x279: 0x0018, 0x27a: 0x0018, 0x27b: 0x0018,\n\t0x27c: 0x0018, 0x27d: 0x0018, 0x27e: 0x0018, 0x27f: 0x0018,\n\t// Block 0xa, offset 0x280\n\t0x280: 0x03dd, 0x281: 0x03dd, 0x282: 0x3308, 0x283: 0x03f5, 0x284: 0x0379, 0x285: 0x040d,\n\t0x286: 0x3308, 0x287: 0x3308, 0x288: 0x3308, 0x289: 0x3308, 0x28a: 0x3308, 0x28b: 0x3308,\n\t0x28c: 0x3308, 0x28d: 0x3308, 0x28e: 0x3308, 0x28f: 0x33c0, 0x290: 0x3308, 0x291: 0x3308,\n\t0x292: 0x3308, 0x293: 0x3308, 0x294: 0x3308, 0x295: 0x3308, 0x296: 0x3308, 0x297: 0x3308,\n\t0x298: 0x3308, 0x299: 0x3308, 0x29a: 0x3308, 0x29b: 0x3308, 0x29c: 0x3308, 0x29d: 0x3308,\n\t0x29e: 0x3308, 0x29f: 0x3308, 0x2a0: 0x3308, 0x2a1: 0x3308, 0x2a2: 0x3308, 0x2a3: 0x3308,\n\t0x2a4: 0x3308, 0x2a5: 0x3308, 0x2a6: 0x3308, 0x2a7: 0x3308, 0x2a8: 0x3308, 0x2a9: 0x3308,\n\t0x2aa: 0x3308, 0x2ab: 0x3308, 0x2ac: 0x3308, 0x2ad: 0x3308, 0x2ae: 0x3308, 0x2af: 0x3308,\n\t0x2b0: 0xe00d, 0x2b1: 0x0008, 0x2b2: 0xe00d, 0x2b3: 0x0008, 0x2b4: 0x0425, 0x2b5: 0x0008,\n\t0x2b6: 0xe00d, 0x2b7: 0x0008, 0x2b8: 0x0040, 0x2b9: 0x0040, 0x2ba: 0x03a2, 0x2bb: 0x0008,\n\t0x2bc: 0x0008, 0x2bd: 0x0008, 0x2be: 0x03c2, 0x2bf: 0x043d,\n\t// Block 0xb, offset 0x2c0\n\t0x2c0: 0x0040, 0x2c1: 0x0040, 0x2c2: 0x0040, 0x2c3: 0x0040, 0x2c4: 0x008a, 0x2c5: 0x03d2,\n\t0x2c6: 0xe155, 0x2c7: 0x0455, 0x2c8: 0xe12d, 0x2c9: 0xe13d, 0x2ca: 0xe12d, 0x2cb: 0x0040,\n\t0x2cc: 0x03dd, 0x2cd: 0x0040, 0x2ce: 0x046d, 0x2cf: 0x0485, 0x2d0: 0x0008, 0x2d1: 0xe105,\n\t0x2d2: 0xe105, 0x2d3: 0xe105, 0x2d4: 0xe105, 0x2d5: 0xe105, 0x2d6: 0xe105, 0x2d7: 0xe105,\n\t0x2d8: 0xe105, 0x2d9: 0xe105, 0x2da: 0xe105, 0x2db: 0xe105, 0x2dc: 0xe105, 0x2dd: 0xe105,\n\t0x2de: 0xe105, 0x2df: 0xe105, 0x2e0: 0x049d, 0x2e1: 0x049d, 0x2e2: 0x0040, 0x2e3: 0x049d,\n\t0x2e4: 0x049d, 0x2e5: 0x049d, 0x2e6: 0x049d, 0x2e7: 0x049d, 0x2e8: 0x049d, 0x2e9: 0x049d,\n\t0x2ea: 0x049d, 0x2eb: 0x049d, 0x2ec: 0x0008, 0x2ed: 0x0008, 0x2ee: 0x0008, 0x2ef: 0x0008,\n\t0x2f0: 0x0008, 0x2f1: 0x0008, 0x2f2: 0x0008, 0x2f3: 0x0008, 0x2f4: 0x0008, 0x2f5: 0x0008,\n\t0x2f6: 0x0008, 0x2f7: 0x0008, 0x2f8: 0x0008, 0x2f9: 0x0008, 0x2fa: 0x0008, 0x2fb: 0x0008,\n\t0x2fc: 0x0008, 0x2fd: 0x0008, 0x2fe: 0x0008, 0x2ff: 0x0008,\n\t// Block 0xc, offset 0x300\n\t0x300: 0x0008, 0x301: 0x0008, 0x302: 0xe00f, 0x303: 0x0008, 0x304: 0x0008, 0x305: 0x0008,\n\t0x306: 0x0008, 0x307: 0x0008, 0x308: 0x0008, 0x309: 0x0008, 0x30a: 0x0008, 0x30b: 0x0008,\n\t0x30c: 0x0008, 0x30d: 0x0008, 0x30e: 0x0008, 0x30f: 0xe0c5, 0x310: 0x04b5, 0x311: 0x04cd,\n\t0x312: 0xe0bd, 0x313: 0xe0f5, 0x314: 0xe0fd, 0x315: 0xe09d, 0x316: 0xe0b5, 0x317: 0x0008,\n\t0x318: 0xe00d, 0x319: 0x0008, 0x31a: 0xe00d, 0x31b: 0x0008, 0x31c: 0xe00d, 0x31d: 0x0008,\n\t0x31e: 0xe00d, 0x31f: 0x0008, 0x320: 0xe00d, 0x321: 0x0008, 0x322: 0xe00d, 0x323: 0x0008,\n\t0x324: 0xe00d, 0x325: 0x0008, 0x326: 0xe00d, 0x327: 0x0008, 0x328: 0xe00d, 0x329: 0x0008,\n\t0x32a: 0xe00d, 0x32b: 0x0008, 0x32c: 0xe00d, 0x32d: 0x0008, 0x32e: 0xe00d, 0x32f: 0x0008,\n\t0x330: 0x04e5, 0x331: 0xe185, 0x332: 0xe18d, 0x333: 0x0008, 0x334: 0x04fd, 0x335: 0x03dd,\n\t0x336: 0x0018, 0x337: 0xe07d, 0x338: 0x0008, 0x339: 0xe1d5, 0x33a: 0xe00d, 0x33b: 0x0008,\n\t0x33c: 0x0008, 0x33d: 0x0515, 0x33e: 0x052d, 0x33f: 0x052d,\n\t// Block 0xd, offset 0x340\n\t0x340: 0x0008, 0x341: 0x0008, 0x342: 0x0008, 0x343: 0x0008, 0x344: 0x0008, 0x345: 0x0008,\n\t0x346: 0x0008, 0x347: 0x0008, 0x348: 0x0008, 0x349: 0x0008, 0x34a: 0x0008, 0x34b: 0x0008,\n\t0x34c: 0x0008, 0x34d: 0x0008, 0x34e: 0x0008, 0x34f: 0x0008, 0x350: 0x0008, 0x351: 0x0008,\n\t0x352: 0x0008, 0x353: 0x0008, 0x354: 0x0008, 0x355: 0x0008, 0x356: 0x0008, 0x357: 0x0008,\n\t0x358: 0x0008, 0x359: 0x0008, 0x35a: 0x0008, 0x35b: 0x0008, 0x35c: 0x0008, 0x35d: 0x0008,\n\t0x35e: 0x0008, 0x35f: 0x0008, 0x360: 0xe00d, 0x361: 0x0008, 0x362: 0xe00d, 0x363: 0x0008,\n\t0x364: 0xe00d, 0x365: 0x0008, 0x366: 0xe00d, 0x367: 0x0008, 0x368: 0xe00d, 0x369: 0x0008,\n\t0x36a: 0xe00d, 0x36b: 0x0008, 0x36c: 0xe00d, 0x36d: 0x0008, 0x36e: 0xe00d, 0x36f: 0x0008,\n\t0x370: 0xe00d, 0x371: 0x0008, 0x372: 0xe00d, 0x373: 0x0008, 0x374: 0xe00d, 0x375: 0x0008,\n\t0x376: 0xe00d, 0x377: 0x0008, 0x378: 0xe00d, 0x379: 0x0008, 0x37a: 0xe00d, 0x37b: 0x0008,\n\t0x37c: 0xe00d, 0x37d: 0x0008, 0x37e: 0xe00d, 0x37f: 0x0008,\n\t// Block 0xe, offset 0x380\n\t0x380: 0xe00d, 0x381: 0x0008, 0x382: 0x0018, 0x383: 0x3308, 0x384: 0x3308, 0x385: 0x3308,\n\t0x386: 0x3308, 0x387: 0x3308, 0x388: 0x3318, 0x389: 0x3318, 0x38a: 0xe00d, 0x38b: 0x0008,\n\t0x38c: 0xe00d, 0x38d: 0x0008, 0x38e: 0xe00d, 0x38f: 0x0008, 0x390: 0xe00d, 0x391: 0x0008,\n\t0x392: 0xe00d, 0x393: 0x0008, 0x394: 0xe00d, 0x395: 0x0008, 0x396: 0xe00d, 0x397: 0x0008,\n\t0x398: 0xe00d, 0x399: 0x0008, 0x39a: 0xe00d, 0x39b: 0x0008, 0x39c: 0xe00d, 0x39d: 0x0008,\n\t0x39e: 0xe00d, 0x39f: 0x0008, 0x3a0: 0xe00d, 0x3a1: 0x0008, 0x3a2: 0xe00d, 0x3a3: 0x0008,\n\t0x3a4: 0xe00d, 0x3a5: 0x0008, 0x3a6: 0xe00d, 0x3a7: 0x0008, 0x3a8: 0xe00d, 0x3a9: 0x0008,\n\t0x3aa: 0xe00d, 0x3ab: 0x0008, 0x3ac: 0xe00d, 0x3ad: 0x0008, 0x3ae: 0xe00d, 0x3af: 0x0008,\n\t0x3b0: 0xe00d, 0x3b1: 0x0008, 0x3b2: 0xe00d, 0x3b3: 0x0008, 0x3b4: 0xe00d, 0x3b5: 0x0008,\n\t0x3b6: 0xe00d, 0x3b7: 0x0008, 0x3b8: 0xe00d, 0x3b9: 0x0008, 0x3ba: 0xe00d, 0x3bb: 0x0008,\n\t0x3bc: 0xe00d, 0x3bd: 0x0008, 0x3be: 0xe00d, 0x3bf: 0x0008,\n\t// Block 0xf, offset 0x3c0\n\t0x3c0: 0x0040, 0x3c1: 0xe01d, 0x3c2: 0x0008, 0x3c3: 0xe03d, 0x3c4: 0x0008, 0x3c5: 0xe01d,\n\t0x3c6: 0x0008, 0x3c7: 0xe07d, 0x3c8: 0x0008, 0x3c9: 0xe01d, 0x3ca: 0x0008, 0x3cb: 0xe03d,\n\t0x3cc: 0x0008, 0x3cd: 0xe01d, 0x3ce: 0x0008, 0x3cf: 0x0008, 0x3d0: 0xe00d, 0x3d1: 0x0008,\n\t0x3d2: 0xe00d, 0x3d3: 0x0008, 0x3d4: 0xe00d, 0x3d5: 0x0008, 0x3d6: 0xe00d, 0x3d7: 0x0008,\n\t0x3d8: 0xe00d, 0x3d9: 0x0008, 0x3da: 0xe00d, 0x3db: 0x0008, 0x3dc: 0xe00d, 0x3dd: 0x0008,\n\t0x3de: 0xe00d, 0x3df: 0x0008, 0x3e0: 0xe00d, 0x3e1: 0x0008, 0x3e2: 0xe00d, 0x3e3: 0x0008,\n\t0x3e4: 0xe00d, 0x3e5: 0x0008, 0x3e6: 0xe00d, 0x3e7: 0x0008, 0x3e8: 0xe00d, 0x3e9: 0x0008,\n\t0x3ea: 0xe00d, 0x3eb: 0x0008, 0x3ec: 0xe00d, 0x3ed: 0x0008, 0x3ee: 0xe00d, 0x3ef: 0x0008,\n\t0x3f0: 0xe00d, 0x3f1: 0x0008, 0x3f2: 0xe00d, 0x3f3: 0x0008, 0x3f4: 0xe00d, 0x3f5: 0x0008,\n\t0x3f6: 0xe00d, 0x3f7: 0x0008, 0x3f8: 0xe00d, 0x3f9: 0x0008, 0x3fa: 0xe00d, 0x3fb: 0x0008,\n\t0x3fc: 0xe00d, 0x3fd: 0x0008, 0x3fe: 0xe00d, 0x3ff: 0x0008,\n\t// Block 0x10, offset 0x400\n\t0x400: 0xe00d, 0x401: 0x0008, 0x402: 0xe00d, 0x403: 0x0008, 0x404: 0xe00d, 0x405: 0x0008,\n\t0x406: 0xe00d, 0x407: 0x0008, 0x408: 0xe00d, 0x409: 0x0008, 0x40a: 0xe00d, 0x40b: 0x0008,\n\t0x40c: 0xe00d, 0x40d: 0x0008, 0x40e: 0xe00d, 0x40f: 0x0008, 0x410: 0xe00d, 0x411: 0x0008,\n\t0x412: 0xe00d, 0x413: 0x0008, 0x414: 0xe00d, 0x415: 0x0008, 0x416: 0xe00d, 0x417: 0x0008,\n\t0x418: 0xe00d, 0x419: 0x0008, 0x41a: 0xe00d, 0x41b: 0x0008, 0x41c: 0xe00d, 0x41d: 0x0008,\n\t0x41e: 0xe00d, 0x41f: 0x0008, 0x420: 0xe00d, 0x421: 0x0008, 0x422: 0xe00d, 0x423: 0x0008,\n\t0x424: 0xe00d, 0x425: 0x0008, 0x426: 0xe00d, 0x427: 0x0008, 0x428: 0xe00d, 0x429: 0x0008,\n\t0x42a: 0xe00d, 0x42b: 0x0008, 0x42c: 0xe00d, 0x42d: 0x0008, 0x42e: 0xe00d, 0x42f: 0x0008,\n\t0x430: 0x0040, 0x431: 0x03f5, 0x432: 0x03f5, 0x433: 0x03f5, 0x434: 0x03f5, 0x435: 0x03f5,\n\t0x436: 0x03f5, 0x437: 0x03f5, 0x438: 0x03f5, 0x439: 0x03f5, 0x43a: 0x03f5, 0x43b: 0x03f5,\n\t0x43c: 0x03f5, 0x43d: 0x03f5, 0x43e: 0x03f5, 0x43f: 0x03f5,\n\t// Block 0x11, offset 0x440\n\t0x440: 0x0840, 0x441: 0x0840, 0x442: 0x0840, 0x443: 0x0840, 0x444: 0x0840, 0x445: 0x0840,\n\t0x446: 0x0018, 0x447: 0x0018, 0x448: 0x0818, 0x449: 0x0018, 0x44a: 0x0018, 0x44b: 0x0818,\n\t0x44c: 0x0018, 0x44d: 0x0818, 0x44e: 0x0018, 0x44f: 0x0018, 0x450: 0x3308, 0x451: 0x3308,\n\t0x452: 0x3308, 0x453: 0x3308, 0x454: 0x3308, 0x455: 0x3308, 0x456: 0x3308, 0x457: 0x3308,\n\t0x458: 0x3308, 0x459: 0x3308, 0x45a: 0x3308, 0x45b: 0x0818, 0x45c: 0x0b40, 0x45d: 0x0040,\n\t0x45e: 0x0818, 0x45f: 0x0818, 0x460: 0x0a08, 0x461: 0x0808, 0x462: 0x0c08, 0x463: 0x0c08,\n\t0x464: 0x0c08, 0x465: 0x0c08, 0x466: 0x0a08, 0x467: 0x0c08, 0x468: 0x0a08, 0x469: 0x0c08,\n\t0x46a: 0x0a08, 0x46b: 0x0a08, 0x46c: 0x0a08, 0x46d: 0x0a08, 0x46e: 0x0a08, 0x46f: 0x0c08,\n\t0x470: 0x0c08, 0x471: 0x0c08, 0x472: 0x0c08, 0x473: 0x0a08, 0x474: 0x0a08, 0x475: 0x0a08,\n\t0x476: 0x0a08, 0x477: 0x0a08, 0x478: 0x0a08, 0x479: 0x0a08, 0x47a: 0x0a08, 0x47b: 0x0a08,\n\t0x47c: 0x0a08, 0x47d: 0x0a08, 0x47e: 0x0a08, 0x47f: 0x0a08,\n\t// Block 0x12, offset 0x480\n\t0x480: 0x0818, 0x481: 0x0a08, 0x482: 0x0a08, 0x483: 0x0a08, 0x484: 0x0a08, 0x485: 0x0a08,\n\t0x486: 0x0a08, 0x487: 0x0a08, 0x488: 0x0c08, 0x489: 0x0a08, 0x48a: 0x0a08, 0x48b: 0x3308,\n\t0x48c: 0x3308, 0x48d: 0x3308, 0x48e: 0x3308, 0x48f: 0x3308, 0x490: 0x3308, 0x491: 0x3308,\n\t0x492: 0x3308, 0x493: 0x3308, 0x494: 0x3308, 0x495: 0x3308, 0x496: 0x3308, 0x497: 0x3308,\n\t0x498: 0x3308, 0x499: 0x3308, 0x49a: 0x3308, 0x49b: 0x3308, 0x49c: 0x3308, 0x49d: 0x3308,\n\t0x49e: 0x3308, 0x49f: 0x3308, 0x4a0: 0x0808, 0x4a1: 0x0808, 0x4a2: 0x0808, 0x4a3: 0x0808,\n\t0x4a4: 0x0808, 0x4a5: 0x0808, 0x4a6: 0x0808, 0x4a7: 0x0808, 0x4a8: 0x0808, 0x4a9: 0x0808,\n\t0x4aa: 0x0018, 0x4ab: 0x0818, 0x4ac: 0x0818, 0x4ad: 0x0818, 0x4ae: 0x0a08, 0x4af: 0x0a08,\n\t0x4b0: 0x3308, 0x4b1: 0x0c08, 0x4b2: 0x0c08, 0x4b3: 0x0c08, 0x4b4: 0x0808, 0x4b5: 0x0429,\n\t0x4b6: 0x0451, 0x4b7: 0x0479, 0x4b8: 0x04a1, 0x4b9: 0x0a08, 0x4ba: 0x0a08, 0x4bb: 0x0a08,\n\t0x4bc: 0x0a08, 0x4bd: 0x0a08, 0x4be: 0x0a08, 0x4bf: 0x0a08,\n\t// Block 0x13, offset 0x4c0\n\t0x4c0: 0x0c08, 0x4c1: 0x0a08, 0x4c2: 0x0a08, 0x4c3: 0x0c08, 0x4c4: 0x0c08, 0x4c5: 0x0c08,\n\t0x4c6: 0x0c08, 0x4c7: 0x0c08, 0x4c8: 0x0c08, 0x4c9: 0x0c08, 0x4ca: 0x0c08, 0x4cb: 0x0c08,\n\t0x4cc: 0x0a08, 0x4cd: 0x0c08, 0x4ce: 0x0a08, 0x4cf: 0x0c08, 0x4d0: 0x0a08, 0x4d1: 0x0a08,\n\t0x4d2: 0x0c08, 0x4d3: 0x0c08, 0x4d4: 0x0818, 0x4d5: 0x0c08, 0x4d6: 0x3308, 0x4d7: 0x3308,\n\t0x4d8: 0x3308, 0x4d9: 0x3308, 0x4da: 0x3308, 0x4db: 0x3308, 0x4dc: 0x3308, 0x4dd: 0x0840,\n\t0x4de: 0x0018, 0x4df: 0x3308, 0x4e0: 0x3308, 0x4e1: 0x3308, 0x4e2: 0x3308, 0x4e3: 0x3308,\n\t0x4e4: 0x3308, 0x4e5: 0x0808, 0x4e6: 0x0808, 0x4e7: 0x3308, 0x4e8: 0x3308, 0x4e9: 0x0018,\n\t0x4ea: 0x3308, 0x4eb: 0x3308, 0x4ec: 0x3308, 0x4ed: 0x3308, 0x4ee: 0x0c08, 0x4ef: 0x0c08,\n\t0x4f0: 0x0008, 0x4f1: 0x0008, 0x4f2: 0x0008, 0x4f3: 0x0008, 0x4f4: 0x0008, 0x4f5: 0x0008,\n\t0x4f6: 0x0008, 0x4f7: 0x0008, 0x4f8: 0x0008, 0x4f9: 0x0008, 0x4fa: 0x0a08, 0x4fb: 0x0a08,\n\t0x4fc: 0x0a08, 0x4fd: 0x0808, 0x4fe: 0x0808, 0x4ff: 0x0a08,\n\t// Block 0x14, offset 0x500\n\t0x500: 0x0818, 0x501: 0x0818, 0x502: 0x0818, 0x503: 0x0818, 0x504: 0x0818, 0x505: 0x0818,\n\t0x506: 0x0818, 0x507: 0x0818, 0x508: 0x0818, 0x509: 0x0818, 0x50a: 0x0818, 0x50b: 0x0818,\n\t0x50c: 0x0818, 0x50d: 0x0818, 0x50e: 0x0040, 0x50f: 0x0b40, 0x510: 0x0c08, 0x511: 0x3308,\n\t0x512: 0x0a08, 0x513: 0x0a08, 0x514: 0x0a08, 0x515: 0x0c08, 0x516: 0x0c08, 0x517: 0x0c08,\n\t0x518: 0x0c08, 0x519: 0x0c08, 0x51a: 0x0a08, 0x51b: 0x0a08, 0x51c: 0x0a08, 0x51d: 0x0a08,\n\t0x51e: 0x0c08, 0x51f: 0x0a08, 0x520: 0x0a08, 0x521: 0x0a08, 0x522: 0x0a08, 0x523: 0x0a08,\n\t0x524: 0x0a08, 0x525: 0x0a08, 0x526: 0x0a08, 0x527: 0x0a08, 0x528: 0x0c08, 0x529: 0x0a08,\n\t0x52a: 0x0c08, 0x52b: 0x0a08, 0x52c: 0x0c08, 0x52d: 0x0a08, 0x52e: 0x0a08, 0x52f: 0x0c08,\n\t0x530: 0x3308, 0x531: 0x3308, 0x532: 0x3308, 0x533: 0x3308, 0x534: 0x3308, 0x535: 0x3308,\n\t0x536: 0x3308, 0x537: 0x3308, 0x538: 0x3308, 0x539: 0x3308, 0x53a: 0x3308, 0x53b: 0x3308,\n\t0x53c: 0x3308, 0x53d: 0x3308, 0x53e: 0x3308, 0x53f: 0x3308,\n\t// Block 0x15, offset 0x540\n\t0x540: 0x0c08, 0x541: 0x0a08, 0x542: 0x0a08, 0x543: 0x0a08, 0x544: 0x0a08, 0x545: 0x0a08,\n\t0x546: 0x0c08, 0x547: 0x0c08, 0x548: 0x0a08, 0x549: 0x0c08, 0x54a: 0x0a08, 0x54b: 0x0a08,\n\t0x54c: 0x0a08, 0x54d: 0x0a08, 0x54e: 0x0a08, 0x54f: 0x0a08, 0x550: 0x0a08, 0x551: 0x0a08,\n\t0x552: 0x0a08, 0x553: 0x0a08, 0x554: 0x0c08, 0x555: 0x0a08, 0x556: 0x0808, 0x557: 0x0808,\n\t0x558: 0x0808, 0x559: 0x3308, 0x55a: 0x3308, 0x55b: 0x3308, 0x55c: 0x0040, 0x55d: 0x0040,\n\t0x55e: 0x0818, 0x55f: 0x0040, 0x560: 0x0a08, 0x561: 0x0808, 0x562: 0x0a08, 0x563: 0x0a08,\n\t0x564: 0x0a08, 0x565: 0x0a08, 0x566: 0x0808, 0x567: 0x0c08, 0x568: 0x0a08, 0x569: 0x0c08,\n\t0x56a: 0x0c08, 0x56b: 0x0040, 0x56c: 0x0040, 0x56d: 0x0040, 0x56e: 0x0040, 0x56f: 0x0040,\n\t0x570: 0x0040, 0x571: 0x0040, 0x572: 0x0040, 0x573: 0x0040, 0x574: 0x0040, 0x575: 0x0040,\n\t0x576: 0x0040, 0x577: 0x0040, 0x578: 0x0040, 0x579: 0x0040, 0x57a: 0x0040, 0x57b: 0x0040,\n\t0x57c: 0x0040, 0x57d: 0x0040, 0x57e: 0x0040, 0x57f: 0x0040,\n\t// Block 0x16, offset 0x580\n\t0x580: 0x3008, 0x581: 0x3308, 0x582: 0x3308, 0x583: 0x3308, 0x584: 0x3308, 0x585: 0x3308,\n\t0x586: 0x3308, 0x587: 0x3308, 0x588: 0x3308, 0x589: 0x3008, 0x58a: 0x3008, 0x58b: 0x3008,\n\t0x58c: 0x3008, 0x58d: 0x3b08, 0x58e: 0x3008, 0x58f: 0x3008, 0x590: 0x0008, 0x591: 0x3308,\n\t0x592: 0x3308, 0x593: 0x3308, 0x594: 0x3308, 0x595: 0x3308, 0x596: 0x3308, 0x597: 0x3308,\n\t0x598: 0x04c9, 0x599: 0x0501, 0x59a: 0x0539, 0x59b: 0x0571, 0x59c: 0x05a9, 0x59d: 0x05e1,\n\t0x59e: 0x0619, 0x59f: 0x0651, 0x5a0: 0x0008, 0x5a1: 0x0008, 0x5a2: 0x3308, 0x5a3: 0x3308,\n\t0x5a4: 0x0018, 0x5a5: 0x0018, 0x5a6: 0x0008, 0x5a7: 0x0008, 0x5a8: 0x0008, 0x5a9: 0x0008,\n\t0x5aa: 0x0008, 0x5ab: 0x0008, 0x5ac: 0x0008, 0x5ad: 0x0008, 0x5ae: 0x0008, 0x5af: 0x0008,\n\t0x5b0: 0x0018, 0x5b1: 0x0008, 0x5b2: 0x0008, 0x5b3: 0x0008, 0x5b4: 0x0008, 0x5b5: 0x0008,\n\t0x5b6: 0x0008, 0x5b7: 0x0008, 0x5b8: 0x0008, 0x5b9: 0x0008, 0x5ba: 0x0008, 0x5bb: 0x0008,\n\t0x5bc: 0x0008, 0x5bd: 0x0008, 0x5be: 0x0008, 0x5bf: 0x0008,\n\t// Block 0x17, offset 0x5c0\n\t0x5c0: 0x0008, 0x5c1: 0x3308, 0x5c2: 0x3008, 0x5c3: 0x3008, 0x5c4: 0x0040, 0x5c5: 0x0008,\n\t0x5c6: 0x0008, 0x5c7: 0x0008, 0x5c8: 0x0008, 0x5c9: 0x0008, 0x5ca: 0x0008, 0x5cb: 0x0008,\n\t0x5cc: 0x0008, 0x5cd: 0x0040, 0x5ce: 0x0040, 0x5cf: 0x0008, 0x5d0: 0x0008, 0x5d1: 0x0040,\n\t0x5d2: 0x0040, 0x5d3: 0x0008, 0x5d4: 0x0008, 0x5d5: 0x0008, 0x5d6: 0x0008, 0x5d7: 0x0008,\n\t0x5d8: 0x0008, 0x5d9: 0x0008, 0x5da: 0x0008, 0x5db: 0x0008, 0x5dc: 0x0008, 0x5dd: 0x0008,\n\t0x5de: 0x0008, 0x5df: 0x0008, 0x5e0: 0x0008, 0x5e1: 0x0008, 0x5e2: 0x0008, 0x5e3: 0x0008,\n\t0x5e4: 0x0008, 0x5e5: 0x0008, 0x5e6: 0x0008, 0x5e7: 0x0008, 0x5e8: 0x0008, 0x5e9: 0x0040,\n\t0x5ea: 0x0008, 0x5eb: 0x0008, 0x5ec: 0x0008, 0x5ed: 0x0008, 0x5ee: 0x0008, 0x5ef: 0x0008,\n\t0x5f0: 0x0008, 0x5f1: 0x0040, 0x5f2: 0x0008, 0x5f3: 0x0040, 0x5f4: 0x0040, 0x5f5: 0x0040,\n\t0x5f6: 0x0008, 0x5f7: 0x0008, 0x5f8: 0x0008, 0x5f9: 0x0008, 0x5fa: 0x0040, 0x5fb: 0x0040,\n\t0x5fc: 0x3308, 0x5fd: 0x0008, 0x5fe: 0x3008, 0x5ff: 0x3008,\n\t// Block 0x18, offset 0x600\n\t0x600: 0x3008, 0x601: 0x3308, 0x602: 0x3308, 0x603: 0x3308, 0x604: 0x3308, 0x605: 0x0040,\n\t0x606: 0x0040, 0x607: 0x3008, 0x608: 0x3008, 0x609: 0x0040, 0x60a: 0x0040, 0x60b: 0x3008,\n\t0x60c: 0x3008, 0x60d: 0x3b08, 0x60e: 0x0008, 0x60f: 0x0040, 0x610: 0x0040, 0x611: 0x0040,\n\t0x612: 0x0040, 0x613: 0x0040, 0x614: 0x0040, 0x615: 0x0040, 0x616: 0x0040, 0x617: 0x3008,\n\t0x618: 0x0040, 0x619: 0x0040, 0x61a: 0x0040, 0x61b: 0x0040, 0x61c: 0x0689, 0x61d: 0x06c1,\n\t0x61e: 0x0040, 0x61f: 0x06f9, 0x620: 0x0008, 0x621: 0x0008, 0x622: 0x3308, 0x623: 0x3308,\n\t0x624: 0x0040, 0x625: 0x0040, 0x626: 0x0008, 0x627: 0x0008, 0x628: 0x0008, 0x629: 0x0008,\n\t0x62a: 0x0008, 0x62b: 0x0008, 0x62c: 0x0008, 0x62d: 0x0008, 0x62e: 0x0008, 0x62f: 0x0008,\n\t0x630: 0x0008, 0x631: 0x0008, 0x632: 0x0018, 0x633: 0x0018, 0x634: 0x0018, 0x635: 0x0018,\n\t0x636: 0x0018, 0x637: 0x0018, 0x638: 0x0018, 0x639: 0x0018, 0x63a: 0x0018, 0x63b: 0x0018,\n\t0x63c: 0x0008, 0x63d: 0x0018, 0x63e: 0x0040, 0x63f: 0x0040,\n\t// Block 0x19, offset 0x640\n\t0x640: 0x0040, 0x641: 0x3308, 0x642: 0x3308, 0x643: 0x3008, 0x644: 0x0040, 0x645: 0x0008,\n\t0x646: 0x0008, 0x647: 0x0008, 0x648: 0x0008, 0x649: 0x0008, 0x64a: 0x0008, 0x64b: 0x0040,\n\t0x64c: 0x0040, 0x64d: 0x0040, 0x64e: 0x0040, 0x64f: 0x0008, 0x650: 0x0008, 0x651: 0x0040,\n\t0x652: 0x0040, 0x653: 0x0008, 0x654: 0x0008, 0x655: 0x0008, 0x656: 0x0008, 0x657: 0x0008,\n\t0x658: 0x0008, 0x659: 0x0008, 0x65a: 0x0008, 0x65b: 0x0008, 0x65c: 0x0008, 0x65d: 0x0008,\n\t0x65e: 0x0008, 0x65f: 0x0008, 0x660: 0x0008, 0x661: 0x0008, 0x662: 0x0008, 0x663: 0x0008,\n\t0x664: 0x0008, 0x665: 0x0008, 0x666: 0x0008, 0x667: 0x0008, 0x668: 0x0008, 0x669: 0x0040,\n\t0x66a: 0x0008, 0x66b: 0x0008, 0x66c: 0x0008, 0x66d: 0x0008, 0x66e: 0x0008, 0x66f: 0x0008,\n\t0x670: 0x0008, 0x671: 0x0040, 0x672: 0x0008, 0x673: 0x0731, 0x674: 0x0040, 0x675: 0x0008,\n\t0x676: 0x0769, 0x677: 0x0040, 0x678: 0x0008, 0x679: 0x0008, 0x67a: 0x0040, 0x67b: 0x0040,\n\t0x67c: 0x3308, 0x67d: 0x0040, 0x67e: 0x3008, 0x67f: 0x3008,\n\t// Block 0x1a, offset 0x680\n\t0x680: 0x3008, 0x681: 0x3308, 0x682: 0x3308, 0x683: 0x0040, 0x684: 0x0040, 0x685: 0x0040,\n\t0x686: 0x0040, 0x687: 0x3308, 0x688: 0x3308, 0x689: 0x0040, 0x68a: 0x0040, 0x68b: 0x3308,\n\t0x68c: 0x3308, 0x68d: 0x3b08, 0x68e: 0x0040, 0x68f: 0x0040, 0x690: 0x0040, 0x691: 0x3308,\n\t0x692: 0x0040, 0x693: 0x0040, 0x694: 0x0040, 0x695: 0x0040, 0x696: 0x0040, 0x697: 0x0040,\n\t0x698: 0x0040, 0x699: 0x07a1, 0x69a: 0x07d9, 0x69b: 0x0811, 0x69c: 0x0008, 0x69d: 0x0040,\n\t0x69e: 0x0849, 0x69f: 0x0040, 0x6a0: 0x0040, 0x6a1: 0x0040, 0x6a2: 0x0040, 0x6a3: 0x0040,\n\t0x6a4: 0x0040, 0x6a5: 0x0040, 0x6a6: 0x0008, 0x6a7: 0x0008, 0x6a8: 0x0008, 0x6a9: 0x0008,\n\t0x6aa: 0x0008, 0x6ab: 0x0008, 0x6ac: 0x0008, 0x6ad: 0x0008, 0x6ae: 0x0008, 0x6af: 0x0008,\n\t0x6b0: 0x3308, 0x6b1: 0x3308, 0x6b2: 0x0008, 0x6b3: 0x0008, 0x6b4: 0x0008, 0x6b5: 0x3308,\n\t0x6b6: 0x0040, 0x6b7: 0x0040, 0x6b8: 0x0040, 0x6b9: 0x0040, 0x6ba: 0x0040, 0x6bb: 0x0040,\n\t0x6bc: 0x0040, 0x6bd: 0x0040, 0x6be: 0x0040, 0x6bf: 0x0040,\n\t// Block 0x1b, offset 0x6c0\n\t0x6c0: 0x0040, 0x6c1: 0x3308, 0x6c2: 0x3308, 0x6c3: 0x3008, 0x6c4: 0x0040, 0x6c5: 0x0008,\n\t0x6c6: 0x0008, 0x6c7: 0x0008, 0x6c8: 0x0008, 0x6c9: 0x0008, 0x6ca: 0x0008, 0x6cb: 0x0008,\n\t0x6cc: 0x0008, 0x6cd: 0x0008, 0x6ce: 0x0040, 0x6cf: 0x0008, 0x6d0: 0x0008, 0x6d1: 0x0008,\n\t0x6d2: 0x0040, 0x6d3: 0x0008, 0x6d4: 0x0008, 0x6d5: 0x0008, 0x6d6: 0x0008, 0x6d7: 0x0008,\n\t0x6d8: 0x0008, 0x6d9: 0x0008, 0x6da: 0x0008, 0x6db: 0x0008, 0x6dc: 0x0008, 0x6dd: 0x0008,\n\t0x6de: 0x0008, 0x6df: 0x0008, 0x6e0: 0x0008, 0x6e1: 0x0008, 0x6e2: 0x0008, 0x6e3: 0x0008,\n\t0x6e4: 0x0008, 0x6e5: 0x0008, 0x6e6: 0x0008, 0x6e7: 0x0008, 0x6e8: 0x0008, 0x6e9: 0x0040,\n\t0x6ea: 0x0008, 0x6eb: 0x0008, 0x6ec: 0x0008, 0x6ed: 0x0008, 0x6ee: 0x0008, 0x6ef: 0x0008,\n\t0x6f0: 0x0008, 0x6f1: 0x0040, 0x6f2: 0x0008, 0x6f3: 0x0008, 0x6f4: 0x0040, 0x6f5: 0x0008,\n\t0x6f6: 0x0008, 0x6f7: 0x0008, 0x6f8: 0x0008, 0x6f9: 0x0008, 0x6fa: 0x0040, 0x6fb: 0x0040,\n\t0x6fc: 0x3308, 0x6fd: 0x0008, 0x6fe: 0x3008, 0x6ff: 0x3008,\n\t// Block 0x1c, offset 0x700\n\t0x700: 0x3008, 0x701: 0x3308, 0x702: 0x3308, 0x703: 0x3308, 0x704: 0x3308, 0x705: 0x3308,\n\t0x706: 0x0040, 0x707: 0x3308, 0x708: 0x3308, 0x709: 0x3008, 0x70a: 0x0040, 0x70b: 0x3008,\n\t0x70c: 0x3008, 0x70d: 0x3b08, 0x70e: 0x0040, 0x70f: 0x0040, 0x710: 0x0008, 0x711: 0x0040,\n\t0x712: 0x0040, 0x713: 0x0040, 0x714: 0x0040, 0x715: 0x0040, 0x716: 0x0040, 0x717: 0x0040,\n\t0x718: 0x0040, 0x719: 0x0040, 0x71a: 0x0040, 0x71b: 0x0040, 0x71c: 0x0040, 0x71d: 0x0040,\n\t0x71e: 0x0040, 0x71f: 0x0040, 0x720: 0x0008, 0x721: 0x0008, 0x722: 0x3308, 0x723: 0x3308,\n\t0x724: 0x0040, 0x725: 0x0040, 0x726: 0x0008, 0x727: 0x0008, 0x728: 0x0008, 0x729: 0x0008,\n\t0x72a: 0x0008, 0x72b: 0x0008, 0x72c: 0x0008, 0x72d: 0x0008, 0x72e: 0x0008, 0x72f: 0x0008,\n\t0x730: 0x0018, 0x731: 0x0018, 0x732: 0x0040, 0x733: 0x0040, 0x734: 0x0040, 0x735: 0x0040,\n\t0x736: 0x0040, 0x737: 0x0040, 0x738: 0x0040, 0x739: 0x0008, 0x73a: 0x3308, 0x73b: 0x3308,\n\t0x73c: 0x3308, 0x73d: 0x3308, 0x73e: 0x3308, 0x73f: 0x3308,\n\t// Block 0x1d, offset 0x740\n\t0x740: 0x0040, 0x741: 0x3308, 0x742: 0x3008, 0x743: 0x3008, 0x744: 0x0040, 0x745: 0x0008,\n\t0x746: 0x0008, 0x747: 0x0008, 0x748: 0x0008, 0x749: 0x0008, 0x74a: 0x0008, 0x74b: 0x0008,\n\t0x74c: 0x0008, 0x74d: 0x0040, 0x74e: 0x0040, 0x74f: 0x0008, 0x750: 0x0008, 0x751: 0x0040,\n\t0x752: 0x0040, 0x753: 0x0008, 0x754: 0x0008, 0x755: 0x0008, 0x756: 0x0008, 0x757: 0x0008,\n\t0x758: 0x0008, 0x759: 0x0008, 0x75a: 0x0008, 0x75b: 0x0008, 0x75c: 0x0008, 0x75d: 0x0008,\n\t0x75e: 0x0008, 0x75f: 0x0008, 0x760: 0x0008, 0x761: 0x0008, 0x762: 0x0008, 0x763: 0x0008,\n\t0x764: 0x0008, 0x765: 0x0008, 0x766: 0x0008, 0x767: 0x0008, 0x768: 0x0008, 0x769: 0x0040,\n\t0x76a: 0x0008, 0x76b: 0x0008, 0x76c: 0x0008, 0x76d: 0x0008, 0x76e: 0x0008, 0x76f: 0x0008,\n\t0x770: 0x0008, 0x771: 0x0040, 0x772: 0x0008, 0x773: 0x0008, 0x774: 0x0040, 0x775: 0x0008,\n\t0x776: 0x0008, 0x777: 0x0008, 0x778: 0x0008, 0x779: 0x0008, 0x77a: 0x0040, 0x77b: 0x0040,\n\t0x77c: 0x3308, 0x77d: 0x0008, 0x77e: 0x3008, 0x77f: 0x3308,\n\t// Block 0x1e, offset 0x780\n\t0x780: 0x3008, 0x781: 0x3308, 0x782: 0x3308, 0x783: 0x3308, 0x784: 0x3308, 0x785: 0x0040,\n\t0x786: 0x0040, 0x787: 0x3008, 0x788: 0x3008, 0x789: 0x0040, 0x78a: 0x0040, 0x78b: 0x3008,\n\t0x78c: 0x3008, 0x78d: 0x3b08, 0x78e: 0x0040, 0x78f: 0x0040, 0x790: 0x0040, 0x791: 0x0040,\n\t0x792: 0x0040, 0x793: 0x0040, 0x794: 0x0040, 0x795: 0x0040, 0x796: 0x3308, 0x797: 0x3008,\n\t0x798: 0x0040, 0x799: 0x0040, 0x79a: 0x0040, 0x79b: 0x0040, 0x79c: 0x0881, 0x79d: 0x08b9,\n\t0x79e: 0x0040, 0x79f: 0x0008, 0x7a0: 0x0008, 0x7a1: 0x0008, 0x7a2: 0x3308, 0x7a3: 0x3308,\n\t0x7a4: 0x0040, 0x7a5: 0x0040, 0x7a6: 0x0008, 0x7a7: 0x0008, 0x7a8: 0x0008, 0x7a9: 0x0008,\n\t0x7aa: 0x0008, 0x7ab: 0x0008, 0x7ac: 0x0008, 0x7ad: 0x0008, 0x7ae: 0x0008, 0x7af: 0x0008,\n\t0x7b0: 0x0018, 0x7b1: 0x0008, 0x7b2: 0x0018, 0x7b3: 0x0018, 0x7b4: 0x0018, 0x7b5: 0x0018,\n\t0x7b6: 0x0018, 0x7b7: 0x0018, 0x7b8: 0x0040, 0x7b9: 0x0040, 0x7ba: 0x0040, 0x7bb: 0x0040,\n\t0x7bc: 0x0040, 0x7bd: 0x0040, 0x7be: 0x0040, 0x7bf: 0x0040,\n\t// Block 0x1f, offset 0x7c0\n\t0x7c0: 0x0040, 0x7c1: 0x0040, 0x7c2: 0x3308, 0x7c3: 0x0008, 0x7c4: 0x0040, 0x7c5: 0x0008,\n\t0x7c6: 0x0008, 0x7c7: 0x0008, 0x7c8: 0x0008, 0x7c9: 0x0008, 0x7ca: 0x0008, 0x7cb: 0x0040,\n\t0x7cc: 0x0040, 0x7cd: 0x0040, 0x7ce: 0x0008, 0x7cf: 0x0008, 0x7d0: 0x0008, 0x7d1: 0x0040,\n\t0x7d2: 0x0008, 0x7d3: 0x0008, 0x7d4: 0x0008, 0x7d5: 0x0008, 0x7d6: 0x0040, 0x7d7: 0x0040,\n\t0x7d8: 0x0040, 0x7d9: 0x0008, 0x7da: 0x0008, 0x7db: 0x0040, 0x7dc: 0x0008, 0x7dd: 0x0040,\n\t0x7de: 0x0008, 0x7df: 0x0008, 0x7e0: 0x0040, 0x7e1: 0x0040, 0x7e2: 0x0040, 0x7e3: 0x0008,\n\t0x7e4: 0x0008, 0x7e5: 0x0040, 0x7e6: 0x0040, 0x7e7: 0x0040, 0x7e8: 0x0008, 0x7e9: 0x0008,\n\t0x7ea: 0x0008, 0x7eb: 0x0040, 0x7ec: 0x0040, 0x7ed: 0x0040, 0x7ee: 0x0008, 0x7ef: 0x0008,\n\t0x7f0: 0x0008, 0x7f1: 0x0008, 0x7f2: 0x0008, 0x7f3: 0x0008, 0x7f4: 0x0008, 0x7f5: 0x0008,\n\t0x7f6: 0x0008, 0x7f7: 0x0008, 0x7f8: 0x0008, 0x7f9: 0x0008, 0x7fa: 0x0040, 0x7fb: 0x0040,\n\t0x7fc: 0x0040, 0x7fd: 0x0040, 0x7fe: 0x3008, 0x7ff: 0x3008,\n\t// Block 0x20, offset 0x800\n\t0x800: 0x3308, 0x801: 0x3008, 0x802: 0x3008, 0x803: 0x3008, 0x804: 0x3008, 0x805: 0x0040,\n\t0x806: 0x3308, 0x807: 0x3308, 0x808: 0x3308, 0x809: 0x0040, 0x80a: 0x3308, 0x80b: 0x3308,\n\t0x80c: 0x3308, 0x80d: 0x3b08, 0x80e: 0x0040, 0x80f: 0x0040, 0x810: 0x0040, 0x811: 0x0040,\n\t0x812: 0x0040, 0x813: 0x0040, 0x814: 0x0040, 0x815: 0x3308, 0x816: 0x3308, 0x817: 0x0040,\n\t0x818: 0x0008, 0x819: 0x0008, 0x81a: 0x0008, 0x81b: 0x0040, 0x81c: 0x0040, 0x81d: 0x0040,\n\t0x81e: 0x0040, 0x81f: 0x0040, 0x820: 0x0008, 0x821: 0x0008, 0x822: 0x3308, 0x823: 0x3308,\n\t0x824: 0x0040, 0x825: 0x0040, 0x826: 0x0008, 0x827: 0x0008, 0x828: 0x0008, 0x829: 0x0008,\n\t0x82a: 0x0008, 0x82b: 0x0008, 0x82c: 0x0008, 0x82d: 0x0008, 0x82e: 0x0008, 0x82f: 0x0008,\n\t0x830: 0x0040, 0x831: 0x0040, 0x832: 0x0040, 0x833: 0x0040, 0x834: 0x0040, 0x835: 0x0040,\n\t0x836: 0x0040, 0x837: 0x0040, 0x838: 0x0018, 0x839: 0x0018, 0x83a: 0x0018, 0x83b: 0x0018,\n\t0x83c: 0x0018, 0x83d: 0x0018, 0x83e: 0x0018, 0x83f: 0x0018,\n\t// Block 0x21, offset 0x840\n\t0x840: 0x0008, 0x841: 0x3308, 0x842: 0x3008, 0x843: 0x3008, 0x844: 0x0040, 0x845: 0x0008,\n\t0x846: 0x0008, 0x847: 0x0008, 0x848: 0x0008, 0x849: 0x0008, 0x84a: 0x0008, 0x84b: 0x0008,\n\t0x84c: 0x0008, 0x84d: 0x0040, 0x84e: 0x0008, 0x84f: 0x0008, 0x850: 0x0008, 0x851: 0x0040,\n\t0x852: 0x0008, 0x853: 0x0008, 0x854: 0x0008, 0x855: 0x0008, 0x856: 0x0008, 0x857: 0x0008,\n\t0x858: 0x0008, 0x859: 0x0008, 0x85a: 0x0008, 0x85b: 0x0008, 0x85c: 0x0008, 0x85d: 0x0008,\n\t0x85e: 0x0008, 0x85f: 0x0008, 0x860: 0x0008, 0x861: 0x0008, 0x862: 0x0008, 0x863: 0x0008,\n\t0x864: 0x0008, 0x865: 0x0008, 0x866: 0x0008, 0x867: 0x0008, 0x868: 0x0008, 0x869: 0x0040,\n\t0x86a: 0x0008, 0x86b: 0x0008, 0x86c: 0x0008, 0x86d: 0x0008, 0x86e: 0x0008, 0x86f: 0x0008,\n\t0x870: 0x0008, 0x871: 0x0008, 0x872: 0x0008, 0x873: 0x0008, 0x874: 0x0040, 0x875: 0x0008,\n\t0x876: 0x0008, 0x877: 0x0008, 0x878: 0x0008, 0x879: 0x0008, 0x87a: 0x0040, 0x87b: 0x0040,\n\t0x87c: 0x3308, 0x87d: 0x0008, 0x87e: 0x3008, 0x87f: 0x3308,\n\t// Block 0x22, offset 0x880\n\t0x880: 0x3008, 0x881: 0x3008, 0x882: 0x3008, 0x883: 0x3008, 0x884: 0x3008, 0x885: 0x0040,\n\t0x886: 0x3308, 0x887: 0x3008, 0x888: 0x3008, 0x889: 0x0040, 0x88a: 0x3008, 0x88b: 0x3008,\n\t0x88c: 0x3308, 0x88d: 0x3b08, 0x88e: 0x0040, 0x88f: 0x0040, 0x890: 0x0040, 0x891: 0x0040,\n\t0x892: 0x0040, 0x893: 0x0040, 0x894: 0x0040, 0x895: 0x3008, 0x896: 0x3008, 0x897: 0x0040,\n\t0x898: 0x0040, 0x899: 0x0040, 0x89a: 0x0040, 0x89b: 0x0040, 0x89c: 0x0040, 0x89d: 0x0040,\n\t0x89e: 0x0008, 0x89f: 0x0040, 0x8a0: 0x0008, 0x8a1: 0x0008, 0x8a2: 0x3308, 0x8a3: 0x3308,\n\t0x8a4: 0x0040, 0x8a5: 0x0040, 0x8a6: 0x0008, 0x8a7: 0x0008, 0x8a8: 0x0008, 0x8a9: 0x0008,\n\t0x8aa: 0x0008, 0x8ab: 0x0008, 0x8ac: 0x0008, 0x8ad: 0x0008, 0x8ae: 0x0008, 0x8af: 0x0008,\n\t0x8b0: 0x0040, 0x8b1: 0x0008, 0x8b2: 0x0008, 0x8b3: 0x0040, 0x8b4: 0x0040, 0x8b5: 0x0040,\n\t0x8b6: 0x0040, 0x8b7: 0x0040, 0x8b8: 0x0040, 0x8b9: 0x0040, 0x8ba: 0x0040, 0x8bb: 0x0040,\n\t0x8bc: 0x0040, 0x8bd: 0x0040, 0x8be: 0x0040, 0x8bf: 0x0040,\n\t// Block 0x23, offset 0x8c0\n\t0x8c0: 0x3008, 0x8c1: 0x3308, 0x8c2: 0x3308, 0x8c3: 0x3308, 0x8c4: 0x3308, 0x8c5: 0x0040,\n\t0x8c6: 0x3008, 0x8c7: 0x3008, 0x8c8: 0x3008, 0x8c9: 0x0040, 0x8ca: 0x3008, 0x8cb: 0x3008,\n\t0x8cc: 0x3008, 0x8cd: 0x3b08, 0x8ce: 0x0008, 0x8cf: 0x0018, 0x8d0: 0x0040, 0x8d1: 0x0040,\n\t0x8d2: 0x0040, 0x8d3: 0x0040, 0x8d4: 0x0008, 0x8d5: 0x0008, 0x8d6: 0x0008, 0x8d7: 0x3008,\n\t0x8d8: 0x0018, 0x8d9: 0x0018, 0x8da: 0x0018, 0x8db: 0x0018, 0x8dc: 0x0018, 0x8dd: 0x0018,\n\t0x8de: 0x0018, 0x8df: 0x0008, 0x8e0: 0x0008, 0x8e1: 0x0008, 0x8e2: 0x3308, 0x8e3: 0x3308,\n\t0x8e4: 0x0040, 0x8e5: 0x0040, 0x8e6: 0x0008, 0x8e7: 0x0008, 0x8e8: 0x0008, 0x8e9: 0x0008,\n\t0x8ea: 0x0008, 0x8eb: 0x0008, 0x8ec: 0x0008, 0x8ed: 0x0008, 0x8ee: 0x0008, 0x8ef: 0x0008,\n\t0x8f0: 0x0018, 0x8f1: 0x0018, 0x8f2: 0x0018, 0x8f3: 0x0018, 0x8f4: 0x0018, 0x8f5: 0x0018,\n\t0x8f6: 0x0018, 0x8f7: 0x0018, 0x8f8: 0x0018, 0x8f9: 0x0018, 0x8fa: 0x0008, 0x8fb: 0x0008,\n\t0x8fc: 0x0008, 0x8fd: 0x0008, 0x8fe: 0x0008, 0x8ff: 0x0008,\n\t// Block 0x24, offset 0x900\n\t0x900: 0x0040, 0x901: 0x0008, 0x902: 0x0008, 0x903: 0x0040, 0x904: 0x0008, 0x905: 0x0040,\n\t0x906: 0x0040, 0x907: 0x0008, 0x908: 0x0008, 0x909: 0x0040, 0x90a: 0x0008, 0x90b: 0x0040,\n\t0x90c: 0x0040, 0x90d: 0x0008, 0x90e: 0x0040, 0x90f: 0x0040, 0x910: 0x0040, 0x911: 0x0040,\n\t0x912: 0x0040, 0x913: 0x0040, 0x914: 0x0008, 0x915: 0x0008, 0x916: 0x0008, 0x917: 0x0008,\n\t0x918: 0x0040, 0x919: 0x0008, 0x91a: 0x0008, 0x91b: 0x0008, 0x91c: 0x0008, 0x91d: 0x0008,\n\t0x91e: 0x0008, 0x91f: 0x0008, 0x920: 0x0040, 0x921: 0x0008, 0x922: 0x0008, 0x923: 0x0008,\n\t0x924: 0x0040, 0x925: 0x0008, 0x926: 0x0040, 0x927: 0x0008, 0x928: 0x0040, 0x929: 0x0040,\n\t0x92a: 0x0008, 0x92b: 0x0008, 0x92c: 0x0040, 0x92d: 0x0008, 0x92e: 0x0008, 0x92f: 0x0008,\n\t0x930: 0x0008, 0x931: 0x3308, 0x932: 0x0008, 0x933: 0x0929, 0x934: 0x3308, 0x935: 0x3308,\n\t0x936: 0x3308, 0x937: 0x3308, 0x938: 0x3308, 0x939: 0x3308, 0x93a: 0x0040, 0x93b: 0x3308,\n\t0x93c: 0x3308, 0x93d: 0x0008, 0x93e: 0x0040, 0x93f: 0x0040,\n\t// Block 0x25, offset 0x940\n\t0x940: 0x0008, 0x941: 0x0008, 0x942: 0x0008, 0x943: 0x09d1, 0x944: 0x0008, 0x945: 0x0008,\n\t0x946: 0x0008, 0x947: 0x0008, 0x948: 0x0040, 0x949: 0x0008, 0x94a: 0x0008, 0x94b: 0x0008,\n\t0x94c: 0x0008, 0x94d: 0x0a09, 0x94e: 0x0008, 0x94f: 0x0008, 0x950: 0x0008, 0x951: 0x0008,\n\t0x952: 0x0a41, 0x953: 0x0008, 0x954: 0x0008, 0x955: 0x0008, 0x956: 0x0008, 0x957: 0x0a79,\n\t0x958: 0x0008, 0x959: 0x0008, 0x95a: 0x0008, 0x95b: 0x0008, 0x95c: 0x0ab1, 0x95d: 0x0008,\n\t0x95e: 0x0008, 0x95f: 0x0008, 0x960: 0x0008, 0x961: 0x0008, 0x962: 0x0008, 0x963: 0x0008,\n\t0x964: 0x0008, 0x965: 0x0008, 0x966: 0x0008, 0x967: 0x0008, 0x968: 0x0008, 0x969: 0x0ae9,\n\t0x96a: 0x0008, 0x96b: 0x0008, 0x96c: 0x0008, 0x96d: 0x0040, 0x96e: 0x0040, 0x96f: 0x0040,\n\t0x970: 0x0040, 0x971: 0x3308, 0x972: 0x3308, 0x973: 0x0b21, 0x974: 0x3308, 0x975: 0x0b59,\n\t0x976: 0x0b91, 0x977: 0x0bc9, 0x978: 0x0c19, 0x979: 0x0c51, 0x97a: 0x3308, 0x97b: 0x3308,\n\t0x97c: 0x3308, 0x97d: 0x3308, 0x97e: 0x3308, 0x97f: 0x3008,\n\t// Block 0x26, offset 0x980\n\t0x980: 0x3308, 0x981: 0x0ca1, 0x982: 0x3308, 0x983: 0x3308, 0x984: 0x3b08, 0x985: 0x0018,\n\t0x986: 0x3308, 0x987: 0x3308, 0x988: 0x0008, 0x989: 0x0008, 0x98a: 0x0008, 0x98b: 0x0008,\n\t0x98c: 0x0008, 0x98d: 0x3308, 0x98e: 0x3308, 0x98f: 0x3308, 0x990: 0x3308, 0x991: 0x3308,\n\t0x992: 0x3308, 0x993: 0x0cd9, 0x994: 0x3308, 0x995: 0x3308, 0x996: 0x3308, 0x997: 0x3308,\n\t0x998: 0x0040, 0x999: 0x3308, 0x99a: 0x3308, 0x99b: 0x3308, 0x99c: 0x3308, 0x99d: 0x0d11,\n\t0x99e: 0x3308, 0x99f: 0x3308, 0x9a0: 0x3308, 0x9a1: 0x3308, 0x9a2: 0x0d49, 0x9a3: 0x3308,\n\t0x9a4: 0x3308, 0x9a5: 0x3308, 0x9a6: 0x3308, 0x9a7: 0x0d81, 0x9a8: 0x3308, 0x9a9: 0x3308,\n\t0x9aa: 0x3308, 0x9ab: 0x3308, 0x9ac: 0x0db9, 0x9ad: 0x3308, 0x9ae: 0x3308, 0x9af: 0x3308,\n\t0x9b0: 0x3308, 0x9b1: 0x3308, 0x9b2: 0x3308, 0x9b3: 0x3308, 0x9b4: 0x3308, 0x9b5: 0x3308,\n\t0x9b6: 0x3308, 0x9b7: 0x3308, 0x9b8: 0x3308, 0x9b9: 0x0df1, 0x9ba: 0x3308, 0x9bb: 0x3308,\n\t0x9bc: 0x3308, 0x9bd: 0x0040, 0x9be: 0x0018, 0x9bf: 0x0018,\n\t// Block 0x27, offset 0x9c0\n\t0x9c0: 0x0008, 0x9c1: 0x0008, 0x9c2: 0x0008, 0x9c3: 0x0008, 0x9c4: 0x0008, 0x9c5: 0x0008,\n\t0x9c6: 0x0008, 0x9c7: 0x0008, 0x9c8: 0x0008, 0x9c9: 0x0008, 0x9ca: 0x0008, 0x9cb: 0x0008,\n\t0x9cc: 0x0008, 0x9cd: 0x0008, 0x9ce: 0x0008, 0x9cf: 0x0008, 0x9d0: 0x0008, 0x9d1: 0x0008,\n\t0x9d2: 0x0008, 0x9d3: 0x0008, 0x9d4: 0x0008, 0x9d5: 0x0008, 0x9d6: 0x0008, 0x9d7: 0x0008,\n\t0x9d8: 0x0008, 0x9d9: 0x0008, 0x9da: 0x0008, 0x9db: 0x0008, 0x9dc: 0x0008, 0x9dd: 0x0008,\n\t0x9de: 0x0008, 0x9df: 0x0008, 0x9e0: 0x0008, 0x9e1: 0x0008, 0x9e2: 0x0008, 0x9e3: 0x0008,\n\t0x9e4: 0x0008, 0x9e5: 0x0008, 0x9e6: 0x0008, 0x9e7: 0x0008, 0x9e8: 0x0008, 0x9e9: 0x0008,\n\t0x9ea: 0x0008, 0x9eb: 0x0008, 0x9ec: 0x0039, 0x9ed: 0x0ed1, 0x9ee: 0x0ee9, 0x9ef: 0x0008,\n\t0x9f0: 0x0ef9, 0x9f1: 0x0f09, 0x9f2: 0x0f19, 0x9f3: 0x0f31, 0x9f4: 0x0249, 0x9f5: 0x0f41,\n\t0x9f6: 0x0259, 0x9f7: 0x0f51, 0x9f8: 0x0359, 0x9f9: 0x0f61, 0x9fa: 0x0f71, 0x9fb: 0x0008,\n\t0x9fc: 0x00d9, 0x9fd: 0x0f81, 0x9fe: 0x0f99, 0x9ff: 0x0269,\n\t// Block 0x28, offset 0xa00\n\t0xa00: 0x0fa9, 0xa01: 0x0fb9, 0xa02: 0x0279, 0xa03: 0x0039, 0xa04: 0x0fc9, 0xa05: 0x0fe1,\n\t0xa06: 0x059d, 0xa07: 0x0ee9, 0xa08: 0x0ef9, 0xa09: 0x0f09, 0xa0a: 0x0ff9, 0xa0b: 0x1011,\n\t0xa0c: 0x1029, 0xa0d: 0x0f31, 0xa0e: 0x0008, 0xa0f: 0x0f51, 0xa10: 0x0f61, 0xa11: 0x1041,\n\t0xa12: 0x00d9, 0xa13: 0x1059, 0xa14: 0x05b5, 0xa15: 0x05b5, 0xa16: 0x0f99, 0xa17: 0x0fa9,\n\t0xa18: 0x0fb9, 0xa19: 0x059d, 0xa1a: 0x1071, 0xa1b: 0x1089, 0xa1c: 0x05cd, 0xa1d: 0x1099,\n\t0xa1e: 0x10b1, 0xa1f: 0x10c9, 0xa20: 0x10e1, 0xa21: 0x10f9, 0xa22: 0x0f41, 0xa23: 0x0269,\n\t0xa24: 0x0fb9, 0xa25: 0x1089, 0xa26: 0x1099, 0xa27: 0x10b1, 0xa28: 0x1111, 0xa29: 0x10e1,\n\t0xa2a: 0x10f9, 0xa2b: 0x0008, 0xa2c: 0x0008, 0xa2d: 0x0008, 0xa2e: 0x0008, 0xa2f: 0x0008,\n\t0xa30: 0x0008, 0xa31: 0x0008, 0xa32: 0x0008, 0xa33: 0x0008, 0xa34: 0x0008, 0xa35: 0x0008,\n\t0xa36: 0x0008, 0xa37: 0x0008, 0xa38: 0x1129, 0xa39: 0x0008, 0xa3a: 0x0008, 0xa3b: 0x0008,\n\t0xa3c: 0x0008, 0xa3d: 0x0008, 0xa3e: 0x0008, 0xa3f: 0x0008,\n\t// Block 0x29, offset 0xa40\n\t0xa40: 0x0008, 0xa41: 0x0008, 0xa42: 0x0008, 0xa43: 0x0008, 0xa44: 0x0008, 0xa45: 0x0008,\n\t0xa46: 0x0008, 0xa47: 0x0008, 0xa48: 0x0008, 0xa49: 0x0008, 0xa4a: 0x0008, 0xa4b: 0x0008,\n\t0xa4c: 0x0008, 0xa4d: 0x0008, 0xa4e: 0x0008, 0xa4f: 0x0008, 0xa50: 0x0008, 0xa51: 0x0008,\n\t0xa52: 0x0008, 0xa53: 0x0008, 0xa54: 0x0008, 0xa55: 0x0008, 0xa56: 0x0008, 0xa57: 0x0008,\n\t0xa58: 0x0008, 0xa59: 0x0008, 0xa5a: 0x0008, 0xa5b: 0x1141, 0xa5c: 0x1159, 0xa5d: 0x1169,\n\t0xa5e: 0x1181, 0xa5f: 0x1029, 0xa60: 0x1199, 0xa61: 0x11a9, 0xa62: 0x11c1, 0xa63: 0x11d9,\n\t0xa64: 0x11f1, 0xa65: 0x1209, 0xa66: 0x1221, 0xa67: 0x05e5, 0xa68: 0x1239, 0xa69: 0x1251,\n\t0xa6a: 0xe17d, 0xa6b: 0x1269, 0xa6c: 0x1281, 0xa6d: 0x1299, 0xa6e: 0x12b1, 0xa6f: 0x12c9,\n\t0xa70: 0x12e1, 0xa71: 0x12f9, 0xa72: 0x1311, 0xa73: 0x1329, 0xa74: 0x1341, 0xa75: 0x1359,\n\t0xa76: 0x1371, 0xa77: 0x1389, 0xa78: 0x05fd, 0xa79: 0x13a1, 0xa7a: 0x13b9, 0xa7b: 0x13d1,\n\t0xa7c: 0x13e1, 0xa7d: 0x13f9, 0xa7e: 0x1411, 0xa7f: 0x1429,\n\t// Block 0x2a, offset 0xa80\n\t0xa80: 0xe00d, 0xa81: 0x0008, 0xa82: 0xe00d, 0xa83: 0x0008, 0xa84: 0xe00d, 0xa85: 0x0008,\n\t0xa86: 0xe00d, 0xa87: 0x0008, 0xa88: 0xe00d, 0xa89: 0x0008, 0xa8a: 0xe00d, 0xa8b: 0x0008,\n\t0xa8c: 0xe00d, 0xa8d: 0x0008, 0xa8e: 0xe00d, 0xa8f: 0x0008, 0xa90: 0xe00d, 0xa91: 0x0008,\n\t0xa92: 0xe00d, 0xa93: 0x0008, 0xa94: 0xe00d, 0xa95: 0x0008, 0xa96: 0xe00d, 0xa97: 0x0008,\n\t0xa98: 0xe00d, 0xa99: 0x0008, 0xa9a: 0xe00d, 0xa9b: 0x0008, 0xa9c: 0xe00d, 0xa9d: 0x0008,\n\t0xa9e: 0xe00d, 0xa9f: 0x0008, 0xaa0: 0xe00d, 0xaa1: 0x0008, 0xaa2: 0xe00d, 0xaa3: 0x0008,\n\t0xaa4: 0xe00d, 0xaa5: 0x0008, 0xaa6: 0xe00d, 0xaa7: 0x0008, 0xaa8: 0xe00d, 0xaa9: 0x0008,\n\t0xaaa: 0xe00d, 0xaab: 0x0008, 0xaac: 0xe00d, 0xaad: 0x0008, 0xaae: 0xe00d, 0xaaf: 0x0008,\n\t0xab0: 0xe00d, 0xab1: 0x0008, 0xab2: 0xe00d, 0xab3: 0x0008, 0xab4: 0xe00d, 0xab5: 0x0008,\n\t0xab6: 0xe00d, 0xab7: 0x0008, 0xab8: 0xe00d, 0xab9: 0x0008, 0xaba: 0xe00d, 0xabb: 0x0008,\n\t0xabc: 0xe00d, 0xabd: 0x0008, 0xabe: 0xe00d, 0xabf: 0x0008,\n\t// Block 0x2b, offset 0xac0\n\t0xac0: 0xe00d, 0xac1: 0x0008, 0xac2: 0xe00d, 0xac3: 0x0008, 0xac4: 0xe00d, 0xac5: 0x0008,\n\t0xac6: 0xe00d, 0xac7: 0x0008, 0xac8: 0xe00d, 0xac9: 0x0008, 0xaca: 0xe00d, 0xacb: 0x0008,\n\t0xacc: 0xe00d, 0xacd: 0x0008, 0xace: 0xe00d, 0xacf: 0x0008, 0xad0: 0xe00d, 0xad1: 0x0008,\n\t0xad2: 0xe00d, 0xad3: 0x0008, 0xad4: 0xe00d, 0xad5: 0x0008, 0xad6: 0x0008, 0xad7: 0x0008,\n\t0xad8: 0x0008, 0xad9: 0x0008, 0xada: 0x0615, 0xadb: 0x0635, 0xadc: 0x0008, 0xadd: 0x0008,\n\t0xade: 0x1441, 0xadf: 0x0008, 0xae0: 0xe00d, 0xae1: 0x0008, 0xae2: 0xe00d, 0xae3: 0x0008,\n\t0xae4: 0xe00d, 0xae5: 0x0008, 0xae6: 0xe00d, 0xae7: 0x0008, 0xae8: 0xe00d, 0xae9: 0x0008,\n\t0xaea: 0xe00d, 0xaeb: 0x0008, 0xaec: 0xe00d, 0xaed: 0x0008, 0xaee: 0xe00d, 0xaef: 0x0008,\n\t0xaf0: 0xe00d, 0xaf1: 0x0008, 0xaf2: 0xe00d, 0xaf3: 0x0008, 0xaf4: 0xe00d, 0xaf5: 0x0008,\n\t0xaf6: 0xe00d, 0xaf7: 0x0008, 0xaf8: 0xe00d, 0xaf9: 0x0008, 0xafa: 0xe00d, 0xafb: 0x0008,\n\t0xafc: 0xe00d, 0xafd: 0x0008, 0xafe: 0xe00d, 0xaff: 0x0008,\n\t// Block 0x2c, offset 0xb00\n\t0xb00: 0x0008, 0xb01: 0x0008, 0xb02: 0x0008, 0xb03: 0x0008, 0xb04: 0x0008, 0xb05: 0x0008,\n\t0xb06: 0x0040, 0xb07: 0x0040, 0xb08: 0xe045, 0xb09: 0xe045, 0xb0a: 0xe045, 0xb0b: 0xe045,\n\t0xb0c: 0xe045, 0xb0d: 0xe045, 0xb0e: 0x0040, 0xb0f: 0x0040, 0xb10: 0x0008, 0xb11: 0x0008,\n\t0xb12: 0x0008, 0xb13: 0x0008, 0xb14: 0x0008, 0xb15: 0x0008, 0xb16: 0x0008, 0xb17: 0x0008,\n\t0xb18: 0x0040, 0xb19: 0xe045, 0xb1a: 0x0040, 0xb1b: 0xe045, 0xb1c: 0x0040, 0xb1d: 0xe045,\n\t0xb1e: 0x0040, 0xb1f: 0xe045, 0xb20: 0x0008, 0xb21: 0x0008, 0xb22: 0x0008, 0xb23: 0x0008,\n\t0xb24: 0x0008, 0xb25: 0x0008, 0xb26: 0x0008, 0xb27: 0x0008, 0xb28: 0xe045, 0xb29: 0xe045,\n\t0xb2a: 0xe045, 0xb2b: 0xe045, 0xb2c: 0xe045, 0xb2d: 0xe045, 0xb2e: 0xe045, 0xb2f: 0xe045,\n\t0xb30: 0x0008, 0xb31: 0x1459, 0xb32: 0x0008, 0xb33: 0x1471, 0xb34: 0x0008, 0xb35: 0x1489,\n\t0xb36: 0x0008, 0xb37: 0x14a1, 0xb38: 0x0008, 0xb39: 0x14b9, 0xb3a: 0x0008, 0xb3b: 0x14d1,\n\t0xb3c: 0x0008, 0xb3d: 0x14e9, 0xb3e: 0x0040, 0xb3f: 0x0040,\n\t// Block 0x2d, offset 0xb40\n\t0xb40: 0x1501, 0xb41: 0x1531, 0xb42: 0x1561, 0xb43: 0x1591, 0xb44: 0x15c1, 0xb45: 0x15f1,\n\t0xb46: 0x1621, 0xb47: 0x1651, 0xb48: 0x1501, 0xb49: 0x1531, 0xb4a: 0x1561, 0xb4b: 0x1591,\n\t0xb4c: 0x15c1, 0xb4d: 0x15f1, 0xb4e: 0x1621, 0xb4f: 0x1651, 0xb50: 0x1681, 0xb51: 0x16b1,\n\t0xb52: 0x16e1, 0xb53: 0x1711, 0xb54: 0x1741, 0xb55: 0x1771, 0xb56: 0x17a1, 0xb57: 0x17d1,\n\t0xb58: 0x1681, 0xb59: 0x16b1, 0xb5a: 0x16e1, 0xb5b: 0x1711, 0xb5c: 0x1741, 0xb5d: 0x1771,\n\t0xb5e: 0x17a1, 0xb5f: 0x17d1, 0xb60: 0x1801, 0xb61: 0x1831, 0xb62: 0x1861, 0xb63: 0x1891,\n\t0xb64: 0x18c1, 0xb65: 0x18f1, 0xb66: 0x1921, 0xb67: 0x1951, 0xb68: 0x1801, 0xb69: 0x1831,\n\t0xb6a: 0x1861, 0xb6b: 0x1891, 0xb6c: 0x18c1, 0xb6d: 0x18f1, 0xb6e: 0x1921, 0xb6f: 0x1951,\n\t0xb70: 0x0008, 0xb71: 0x0008, 0xb72: 0x1981, 0xb73: 0x19b1, 0xb74: 0x19d9, 0xb75: 0x0040,\n\t0xb76: 0x0008, 0xb77: 0x1a01, 0xb78: 0xe045, 0xb79: 0xe045, 0xb7a: 0x064d, 0xb7b: 0x1459,\n\t0xb7c: 0x19b1, 0xb7d: 0x0666, 0xb7e: 0x1a31, 0xb7f: 0x0686,\n\t// Block 0x2e, offset 0xb80\n\t0xb80: 0x06a6, 0xb81: 0x1a4a, 0xb82: 0x1a79, 0xb83: 0x1aa9, 0xb84: 0x1ad1, 0xb85: 0x0040,\n\t0xb86: 0x0008, 0xb87: 0x1af9, 0xb88: 0x06c5, 0xb89: 0x1471, 0xb8a: 0x06dd, 0xb8b: 0x1489,\n\t0xb8c: 0x1aa9, 0xb8d: 0x1b2a, 0xb8e: 0x1b5a, 0xb8f: 0x1b8a, 0xb90: 0x0008, 0xb91: 0x0008,\n\t0xb92: 0x0008, 0xb93: 0x1bb9, 0xb94: 0x0040, 0xb95: 0x0040, 0xb96: 0x0008, 0xb97: 0x0008,\n\t0xb98: 0xe045, 0xb99: 0xe045, 0xb9a: 0x06f5, 0xb9b: 0x14a1, 0xb9c: 0x0040, 0xb9d: 0x1bd2,\n\t0xb9e: 0x1c02, 0xb9f: 0x1c32, 0xba0: 0x0008, 0xba1: 0x0008, 0xba2: 0x0008, 0xba3: 0x1c61,\n\t0xba4: 0x0008, 0xba5: 0x0008, 0xba6: 0x0008, 0xba7: 0x0008, 0xba8: 0xe045, 0xba9: 0xe045,\n\t0xbaa: 0x070d, 0xbab: 0x14d1, 0xbac: 0xe04d, 0xbad: 0x1c7a, 0xbae: 0x03d2, 0xbaf: 0x1caa,\n\t0xbb0: 0x0040, 0xbb1: 0x0040, 0xbb2: 0x1cb9, 0xbb3: 0x1ce9, 0xbb4: 0x1d11, 0xbb5: 0x0040,\n\t0xbb6: 0x0008, 0xbb7: 0x1d39, 0xbb8: 0x0725, 0xbb9: 0x14b9, 0xbba: 0x0515, 0xbbb: 0x14e9,\n\t0xbbc: 0x1ce9, 0xbbd: 0x073e, 0xbbe: 0x075e, 0xbbf: 0x0040,\n\t// Block 0x2f, offset 0xbc0\n\t0xbc0: 0x000a, 0xbc1: 0x000a, 0xbc2: 0x000a, 0xbc3: 0x000a, 0xbc4: 0x000a, 0xbc5: 0x000a,\n\t0xbc6: 0x000a, 0xbc7: 0x000a, 0xbc8: 0x000a, 0xbc9: 0x000a, 0xbca: 0x000a, 0xbcb: 0x03c0,\n\t0xbcc: 0x0003, 0xbcd: 0x0003, 0xbce: 0x0340, 0xbcf: 0x0b40, 0xbd0: 0x0018, 0xbd1: 0xe00d,\n\t0xbd2: 0x0018, 0xbd3: 0x0018, 0xbd4: 0x0018, 0xbd5: 0x0018, 0xbd6: 0x0018, 0xbd7: 0x077e,\n\t0xbd8: 0x0018, 0xbd9: 0x0018, 0xbda: 0x0018, 0xbdb: 0x0018, 0xbdc: 0x0018, 0xbdd: 0x0018,\n\t0xbde: 0x0018, 0xbdf: 0x0018, 0xbe0: 0x0018, 0xbe1: 0x0018, 0xbe2: 0x0018, 0xbe3: 0x0018,\n\t0xbe4: 0x0040, 0xbe5: 0x0040, 0xbe6: 0x0040, 0xbe7: 0x0018, 0xbe8: 0x0040, 0xbe9: 0x0040,\n\t0xbea: 0x0340, 0xbeb: 0x0340, 0xbec: 0x0340, 0xbed: 0x0340, 0xbee: 0x0340, 0xbef: 0x000a,\n\t0xbf0: 0x0018, 0xbf1: 0x0018, 0xbf2: 0x0018, 0xbf3: 0x1d69, 0xbf4: 0x1da1, 0xbf5: 0x0018,\n\t0xbf6: 0x1df1, 0xbf7: 0x1e29, 0xbf8: 0x0018, 0xbf9: 0x0018, 0xbfa: 0x0018, 0xbfb: 0x0018,\n\t0xbfc: 0x1e7a, 0xbfd: 0x0018, 0xbfe: 0x079e, 0xbff: 0x0018,\n\t// Block 0x30, offset 0xc00\n\t0xc00: 0x0018, 0xc01: 0x0018, 0xc02: 0x0018, 0xc03: 0x0018, 0xc04: 0x0018, 0xc05: 0x0018,\n\t0xc06: 0x0018, 0xc07: 0x1e92, 0xc08: 0x1eaa, 0xc09: 0x1ec2, 0xc0a: 0x0018, 0xc0b: 0x0018,\n\t0xc0c: 0x0018, 0xc0d: 0x0018, 0xc0e: 0x0018, 0xc0f: 0x0018, 0xc10: 0x0018, 0xc11: 0x0018,\n\t0xc12: 0x0018, 0xc13: 0x0018, 0xc14: 0x0018, 0xc15: 0x0018, 0xc16: 0x0018, 0xc17: 0x1ed9,\n\t0xc18: 0x0018, 0xc19: 0x0018, 0xc1a: 0x0018, 0xc1b: 0x0018, 0xc1c: 0x0018, 0xc1d: 0x0018,\n\t0xc1e: 0x0018, 0xc1f: 0x000a, 0xc20: 0x03c0, 0xc21: 0x0340, 0xc22: 0x0340, 0xc23: 0x0340,\n\t0xc24: 0x03c0, 0xc25: 0x0040, 0xc26: 0x0040, 0xc27: 0x0040, 0xc28: 0x0040, 0xc29: 0x0040,\n\t0xc2a: 0x0340, 0xc2b: 0x0340, 0xc2c: 0x0340, 0xc2d: 0x0340, 0xc2e: 0x0340, 0xc2f: 0x0340,\n\t0xc30: 0x1f41, 0xc31: 0x0f41, 0xc32: 0x0040, 0xc33: 0x0040, 0xc34: 0x1f51, 0xc35: 0x1f61,\n\t0xc36: 0x1f71, 0xc37: 0x1f81, 0xc38: 0x1f91, 0xc39: 0x1fa1, 0xc3a: 0x1fb2, 0xc3b: 0x07bd,\n\t0xc3c: 0x1fc2, 0xc3d: 0x1fd2, 0xc3e: 0x1fe2, 0xc3f: 0x0f71,\n\t// Block 0x31, offset 0xc40\n\t0xc40: 0x1f41, 0xc41: 0x00c9, 0xc42: 0x0069, 0xc43: 0x0079, 0xc44: 0x1f51, 0xc45: 0x1f61,\n\t0xc46: 0x1f71, 0xc47: 0x1f81, 0xc48: 0x1f91, 0xc49: 0x1fa1, 0xc4a: 0x1fb2, 0xc4b: 0x07d5,\n\t0xc4c: 0x1fc2, 0xc4d: 0x1fd2, 0xc4e: 0x1fe2, 0xc4f: 0x0040, 0xc50: 0x0039, 0xc51: 0x0f09,\n\t0xc52: 0x00d9, 0xc53: 0x0369, 0xc54: 0x0ff9, 0xc55: 0x0249, 0xc56: 0x0f51, 0xc57: 0x0359,\n\t0xc58: 0x0f61, 0xc59: 0x0f71, 0xc5a: 0x0f99, 0xc5b: 0x01d9, 0xc5c: 0x0fa9, 0xc5d: 0x0040,\n\t0xc5e: 0x0040, 0xc5f: 0x0040, 0xc60: 0x0018, 0xc61: 0x0018, 0xc62: 0x0018, 0xc63: 0x0018,\n\t0xc64: 0x0018, 0xc65: 0x0018, 0xc66: 0x0018, 0xc67: 0x0018, 0xc68: 0x1ff1, 0xc69: 0x0018,\n\t0xc6a: 0x0018, 0xc6b: 0x0018, 0xc6c: 0x0018, 0xc6d: 0x0018, 0xc6e: 0x0018, 0xc6f: 0x0018,\n\t0xc70: 0x0018, 0xc71: 0x0018, 0xc72: 0x0018, 0xc73: 0x0018, 0xc74: 0x0018, 0xc75: 0x0018,\n\t0xc76: 0x0018, 0xc77: 0x0018, 0xc78: 0x0018, 0xc79: 0x0018, 0xc7a: 0x0018, 0xc7b: 0x0018,\n\t0xc7c: 0x0018, 0xc7d: 0x0018, 0xc7e: 0x0018, 0xc7f: 0x0018,\n\t// Block 0x32, offset 0xc80\n\t0xc80: 0x07ee, 0xc81: 0x080e, 0xc82: 0x1159, 0xc83: 0x082d, 0xc84: 0x0018, 0xc85: 0x084e,\n\t0xc86: 0x086e, 0xc87: 0x1011, 0xc88: 0x0018, 0xc89: 0x088d, 0xc8a: 0x0f31, 0xc8b: 0x0249,\n\t0xc8c: 0x0249, 0xc8d: 0x0249, 0xc8e: 0x0249, 0xc8f: 0x2009, 0xc90: 0x0f41, 0xc91: 0x0f41,\n\t0xc92: 0x0359, 0xc93: 0x0359, 0xc94: 0x0018, 0xc95: 0x0f71, 0xc96: 0x2021, 0xc97: 0x0018,\n\t0xc98: 0x0018, 0xc99: 0x0f99, 0xc9a: 0x2039, 0xc9b: 0x0269, 0xc9c: 0x0269, 0xc9d: 0x0269,\n\t0xc9e: 0x0018, 0xc9f: 0x0018, 0xca0: 0x2049, 0xca1: 0x08ad, 0xca2: 0x2061, 0xca3: 0x0018,\n\t0xca4: 0x13d1, 0xca5: 0x0018, 0xca6: 0x2079, 0xca7: 0x0018, 0xca8: 0x13d1, 0xca9: 0x0018,\n\t0xcaa: 0x0f51, 0xcab: 0x2091, 0xcac: 0x0ee9, 0xcad: 0x1159, 0xcae: 0x0018, 0xcaf: 0x0f09,\n\t0xcb0: 0x0f09, 0xcb1: 0x1199, 0xcb2: 0x0040, 0xcb3: 0x0f61, 0xcb4: 0x00d9, 0xcb5: 0x20a9,\n\t0xcb6: 0x20c1, 0xcb7: 0x20d9, 0xcb8: 0x20f1, 0xcb9: 0x0f41, 0xcba: 0x0018, 0xcbb: 0x08cd,\n\t0xcbc: 0x2109, 0xcbd: 0x10b1, 0xcbe: 0x10b1, 0xcbf: 0x2109,\n\t// Block 0x33, offset 0xcc0\n\t0xcc0: 0x08ed, 0xcc1: 0x0018, 0xcc2: 0x0018, 0xcc3: 0x0018, 0xcc4: 0x0018, 0xcc5: 0x0ef9,\n\t0xcc6: 0x0ef9, 0xcc7: 0x0f09, 0xcc8: 0x0f41, 0xcc9: 0x0259, 0xcca: 0x0018, 0xccb: 0x0018,\n\t0xccc: 0x0018, 0xccd: 0x0018, 0xcce: 0x0008, 0xccf: 0x0018, 0xcd0: 0x2121, 0xcd1: 0x2151,\n\t0xcd2: 0x2181, 0xcd3: 0x21b9, 0xcd4: 0x21e9, 0xcd5: 0x2219, 0xcd6: 0x2249, 0xcd7: 0x2279,\n\t0xcd8: 0x22a9, 0xcd9: 0x22d9, 0xcda: 0x2309, 0xcdb: 0x2339, 0xcdc: 0x2369, 0xcdd: 0x2399,\n\t0xcde: 0x23c9, 0xcdf: 0x23f9, 0xce0: 0x0f41, 0xce1: 0x2421, 0xce2: 0x0905, 0xce3: 0x2439,\n\t0xce4: 0x1089, 0xce5: 0x2451, 0xce6: 0x0925, 0xce7: 0x2469, 0xce8: 0x2491, 0xce9: 0x0369,\n\t0xcea: 0x24a9, 0xceb: 0x0945, 0xcec: 0x0359, 0xced: 0x1159, 0xcee: 0x0ef9, 0xcef: 0x0f61,\n\t0xcf0: 0x0f41, 0xcf1: 0x2421, 0xcf2: 0x0965, 0xcf3: 0x2439, 0xcf4: 0x1089, 0xcf5: 0x2451,\n\t0xcf6: 0x0985, 0xcf7: 0x2469, 0xcf8: 0x2491, 0xcf9: 0x0369, 0xcfa: 0x24a9, 0xcfb: 0x09a5,\n\t0xcfc: 0x0359, 0xcfd: 0x1159, 0xcfe: 0x0ef9, 0xcff: 0x0f61,\n\t// Block 0x34, offset 0xd00\n\t0xd00: 0x0018, 0xd01: 0x0018, 0xd02: 0x0018, 0xd03: 0x0018, 0xd04: 0x0018, 0xd05: 0x0018,\n\t0xd06: 0x0018, 0xd07: 0x0018, 0xd08: 0x0018, 0xd09: 0x0018, 0xd0a: 0x0018, 0xd0b: 0x0040,\n\t0xd0c: 0x0040, 0xd0d: 0x0040, 0xd0e: 0x0040, 0xd0f: 0x0040, 0xd10: 0x0040, 0xd11: 0x0040,\n\t0xd12: 0x0040, 0xd13: 0x0040, 0xd14: 0x0040, 0xd15: 0x0040, 0xd16: 0x0040, 0xd17: 0x0040,\n\t0xd18: 0x0040, 0xd19: 0x0040, 0xd1a: 0x0040, 0xd1b: 0x0040, 0xd1c: 0x0040, 0xd1d: 0x0040,\n\t0xd1e: 0x0040, 0xd1f: 0x0040, 0xd20: 0x00c9, 0xd21: 0x0069, 0xd22: 0x0079, 0xd23: 0x1f51,\n\t0xd24: 0x1f61, 0xd25: 0x1f71, 0xd26: 0x1f81, 0xd27: 0x1f91, 0xd28: 0x1fa1, 0xd29: 0x2601,\n\t0xd2a: 0x2619, 0xd2b: 0x2631, 0xd2c: 0x2649, 0xd2d: 0x2661, 0xd2e: 0x2679, 0xd2f: 0x2691,\n\t0xd30: 0x26a9, 0xd31: 0x26c1, 0xd32: 0x26d9, 0xd33: 0x26f1, 0xd34: 0x0a06, 0xd35: 0x0a26,\n\t0xd36: 0x0a46, 0xd37: 0x0a66, 0xd38: 0x0a86, 0xd39: 0x0aa6, 0xd3a: 0x0ac6, 0xd3b: 0x0ae6,\n\t0xd3c: 0x0b06, 0xd3d: 0x270a, 0xd3e: 0x2732, 0xd3f: 0x275a,\n\t// Block 0x35, offset 0xd40\n\t0xd40: 0x2782, 0xd41: 0x27aa, 0xd42: 0x27d2, 0xd43: 0x27fa, 0xd44: 0x2822, 0xd45: 0x284a,\n\t0xd46: 0x2872, 0xd47: 0x289a, 0xd48: 0x0040, 0xd49: 0x0040, 0xd4a: 0x0040, 0xd4b: 0x0040,\n\t0xd4c: 0x0040, 0xd4d: 0x0040, 0xd4e: 0x0040, 0xd4f: 0x0040, 0xd50: 0x0040, 0xd51: 0x0040,\n\t0xd52: 0x0040, 0xd53: 0x0040, 0xd54: 0x0040, 0xd55: 0x0040, 0xd56: 0x0040, 0xd57: 0x0040,\n\t0xd58: 0x0040, 0xd59: 0x0040, 0xd5a: 0x0040, 0xd5b: 0x0040, 0xd5c: 0x0b26, 0xd5d: 0x0b46,\n\t0xd5e: 0x0b66, 0xd5f: 0x0b86, 0xd60: 0x0ba6, 0xd61: 0x0bc6, 0xd62: 0x0be6, 0xd63: 0x0c06,\n\t0xd64: 0x0c26, 0xd65: 0x0c46, 0xd66: 0x0c66, 0xd67: 0x0c86, 0xd68: 0x0ca6, 0xd69: 0x0cc6,\n\t0xd6a: 0x0ce6, 0xd6b: 0x0d06, 0xd6c: 0x0d26, 0xd6d: 0x0d46, 0xd6e: 0x0d66, 0xd6f: 0x0d86,\n\t0xd70: 0x0da6, 0xd71: 0x0dc6, 0xd72: 0x0de6, 0xd73: 0x0e06, 0xd74: 0x0e26, 0xd75: 0x0e46,\n\t0xd76: 0x0039, 0xd77: 0x0ee9, 0xd78: 0x1159, 0xd79: 0x0ef9, 0xd7a: 0x0f09, 0xd7b: 0x1199,\n\t0xd7c: 0x0f31, 0xd7d: 0x0249, 0xd7e: 0x0f41, 0xd7f: 0x0259,\n\t// Block 0x36, offset 0xd80\n\t0xd80: 0x0f51, 0xd81: 0x0359, 0xd82: 0x0f61, 0xd83: 0x0f71, 0xd84: 0x00d9, 0xd85: 0x0f99,\n\t0xd86: 0x2039, 0xd87: 0x0269, 0xd88: 0x01d9, 0xd89: 0x0fa9, 0xd8a: 0x0fb9, 0xd8b: 0x1089,\n\t0xd8c: 0x0279, 0xd8d: 0x0369, 0xd8e: 0x0289, 0xd8f: 0x13d1, 0xd90: 0x0039, 0xd91: 0x0ee9,\n\t0xd92: 0x1159, 0xd93: 0x0ef9, 0xd94: 0x0f09, 0xd95: 0x1199, 0xd96: 0x0f31, 0xd97: 0x0249,\n\t0xd98: 0x0f41, 0xd99: 0x0259, 0xd9a: 0x0f51, 0xd9b: 0x0359, 0xd9c: 0x0f61, 0xd9d: 0x0f71,\n\t0xd9e: 0x00d9, 0xd9f: 0x0f99, 0xda0: 0x2039, 0xda1: 0x0269, 0xda2: 0x01d9, 0xda3: 0x0fa9,\n\t0xda4: 0x0fb9, 0xda5: 0x1089, 0xda6: 0x0279, 0xda7: 0x0369, 0xda8: 0x0289, 0xda9: 0x13d1,\n\t0xdaa: 0x1f41, 0xdab: 0x0018, 0xdac: 0x0018, 0xdad: 0x0018, 0xdae: 0x0018, 0xdaf: 0x0018,\n\t0xdb0: 0x0018, 0xdb1: 0x0018, 0xdb2: 0x0018, 0xdb3: 0x0018, 0xdb4: 0x0018, 0xdb5: 0x0018,\n\t0xdb6: 0x0018, 0xdb7: 0x0018, 0xdb8: 0x0018, 0xdb9: 0x0018, 0xdba: 0x0018, 0xdbb: 0x0018,\n\t0xdbc: 0x0018, 0xdbd: 0x0018, 0xdbe: 0x0018, 0xdbf: 0x0018,\n\t// Block 0x37, offset 0xdc0\n\t0xdc0: 0x0008, 0xdc1: 0x0008, 0xdc2: 0x0008, 0xdc3: 0x0008, 0xdc4: 0x0008, 0xdc5: 0x0008,\n\t0xdc6: 0x0008, 0xdc7: 0x0008, 0xdc8: 0x0008, 0xdc9: 0x0008, 0xdca: 0x0008, 0xdcb: 0x0008,\n\t0xdcc: 0x0008, 0xdcd: 0x0008, 0xdce: 0x0008, 0xdcf: 0x0008, 0xdd0: 0x0008, 0xdd1: 0x0008,\n\t0xdd2: 0x0008, 0xdd3: 0x0008, 0xdd4: 0x0008, 0xdd5: 0x0008, 0xdd6: 0x0008, 0xdd7: 0x0008,\n\t0xdd8: 0x0008, 0xdd9: 0x0008, 0xdda: 0x0008, 0xddb: 0x0008, 0xddc: 0x0008, 0xddd: 0x0008,\n\t0xdde: 0x0008, 0xddf: 0x0040, 0xde0: 0xe00d, 0xde1: 0x0008, 0xde2: 0x2971, 0xde3: 0x0ebd,\n\t0xde4: 0x2989, 0xde5: 0x0008, 0xde6: 0x0008, 0xde7: 0xe07d, 0xde8: 0x0008, 0xde9: 0xe01d,\n\t0xdea: 0x0008, 0xdeb: 0xe03d, 0xdec: 0x0008, 0xded: 0x0fe1, 0xdee: 0x1281, 0xdef: 0x0fc9,\n\t0xdf0: 0x1141, 0xdf1: 0x0008, 0xdf2: 0xe00d, 0xdf3: 0x0008, 0xdf4: 0x0008, 0xdf5: 0xe01d,\n\t0xdf6: 0x0008, 0xdf7: 0x0008, 0xdf8: 0x0008, 0xdf9: 0x0008, 0xdfa: 0x0008, 0xdfb: 0x0008,\n\t0xdfc: 0x0259, 0xdfd: 0x1089, 0xdfe: 0x29a1, 0xdff: 0x29b9,\n\t// Block 0x38, offset 0xe00\n\t0xe00: 0xe00d, 0xe01: 0x0008, 0xe02: 0xe00d, 0xe03: 0x0008, 0xe04: 0xe00d, 0xe05: 0x0008,\n\t0xe06: 0xe00d, 0xe07: 0x0008, 0xe08: 0xe00d, 0xe09: 0x0008, 0xe0a: 0xe00d, 0xe0b: 0x0008,\n\t0xe0c: 0xe00d, 0xe0d: 0x0008, 0xe0e: 0xe00d, 0xe0f: 0x0008, 0xe10: 0xe00d, 0xe11: 0x0008,\n\t0xe12: 0xe00d, 0xe13: 0x0008, 0xe14: 0xe00d, 0xe15: 0x0008, 0xe16: 0xe00d, 0xe17: 0x0008,\n\t0xe18: 0xe00d, 0xe19: 0x0008, 0xe1a: 0xe00d, 0xe1b: 0x0008, 0xe1c: 0xe00d, 0xe1d: 0x0008,\n\t0xe1e: 0xe00d, 0xe1f: 0x0008, 0xe20: 0xe00d, 0xe21: 0x0008, 0xe22: 0xe00d, 0xe23: 0x0008,\n\t0xe24: 0x0008, 0xe25: 0x0018, 0xe26: 0x0018, 0xe27: 0x0018, 0xe28: 0x0018, 0xe29: 0x0018,\n\t0xe2a: 0x0018, 0xe2b: 0xe03d, 0xe2c: 0x0008, 0xe2d: 0xe01d, 0xe2e: 0x0008, 0xe2f: 0x3308,\n\t0xe30: 0x3308, 0xe31: 0x3308, 0xe32: 0xe00d, 0xe33: 0x0008, 0xe34: 0x0040, 0xe35: 0x0040,\n\t0xe36: 0x0040, 0xe37: 0x0040, 0xe38: 0x0040, 0xe39: 0x0018, 0xe3a: 0x0018, 0xe3b: 0x0018,\n\t0xe3c: 0x0018, 0xe3d: 0x0018, 0xe3e: 0x0018, 0xe3f: 0x0018,\n\t// Block 0x39, offset 0xe40\n\t0xe40: 0x26fd, 0xe41: 0x271d, 0xe42: 0x273d, 0xe43: 0x275d, 0xe44: 0x277d, 0xe45: 0x279d,\n\t0xe46: 0x27bd, 0xe47: 0x27dd, 0xe48: 0x27fd, 0xe49: 0x281d, 0xe4a: 0x283d, 0xe4b: 0x285d,\n\t0xe4c: 0x287d, 0xe4d: 0x289d, 0xe4e: 0x28bd, 0xe4f: 0x28dd, 0xe50: 0x28fd, 0xe51: 0x291d,\n\t0xe52: 0x293d, 0xe53: 0x295d, 0xe54: 0x297d, 0xe55: 0x299d, 0xe56: 0x0040, 0xe57: 0x0040,\n\t0xe58: 0x0040, 0xe59: 0x0040, 0xe5a: 0x0040, 0xe5b: 0x0040, 0xe5c: 0x0040, 0xe5d: 0x0040,\n\t0xe5e: 0x0040, 0xe5f: 0x0040, 0xe60: 0x0040, 0xe61: 0x0040, 0xe62: 0x0040, 0xe63: 0x0040,\n\t0xe64: 0x0040, 0xe65: 0x0040, 0xe66: 0x0040, 0xe67: 0x0040, 0xe68: 0x0040, 0xe69: 0x0040,\n\t0xe6a: 0x0040, 0xe6b: 0x0040, 0xe6c: 0x0040, 0xe6d: 0x0040, 0xe6e: 0x0040, 0xe6f: 0x0040,\n\t0xe70: 0x0040, 0xe71: 0x0040, 0xe72: 0x0040, 0xe73: 0x0040, 0xe74: 0x0040, 0xe75: 0x0040,\n\t0xe76: 0x0040, 0xe77: 0x0040, 0xe78: 0x0040, 0xe79: 0x0040, 0xe7a: 0x0040, 0xe7b: 0x0040,\n\t0xe7c: 0x0040, 0xe7d: 0x0040, 0xe7e: 0x0040, 0xe7f: 0x0040,\n\t// Block 0x3a, offset 0xe80\n\t0xe80: 0x000a, 0xe81: 0x0018, 0xe82: 0x29d1, 0xe83: 0x0018, 0xe84: 0x0018, 0xe85: 0x0008,\n\t0xe86: 0x0008, 0xe87: 0x0008, 0xe88: 0x0018, 0xe89: 0x0018, 0xe8a: 0x0018, 0xe8b: 0x0018,\n\t0xe8c: 0x0018, 0xe8d: 0x0018, 0xe8e: 0x0018, 0xe8f: 0x0018, 0xe90: 0x0018, 0xe91: 0x0018,\n\t0xe92: 0x0018, 0xe93: 0x0018, 0xe94: 0x0018, 0xe95: 0x0018, 0xe96: 0x0018, 0xe97: 0x0018,\n\t0xe98: 0x0018, 0xe99: 0x0018, 0xe9a: 0x0018, 0xe9b: 0x0018, 0xe9c: 0x0018, 0xe9d: 0x0018,\n\t0xe9e: 0x0018, 0xe9f: 0x0018, 0xea0: 0x0018, 0xea1: 0x0018, 0xea2: 0x0018, 0xea3: 0x0018,\n\t0xea4: 0x0018, 0xea5: 0x0018, 0xea6: 0x0018, 0xea7: 0x0018, 0xea8: 0x0018, 0xea9: 0x0018,\n\t0xeaa: 0x3308, 0xeab: 0x3308, 0xeac: 0x3308, 0xead: 0x3308, 0xeae: 0x3018, 0xeaf: 0x3018,\n\t0xeb0: 0x0018, 0xeb1: 0x0018, 0xeb2: 0x0018, 0xeb3: 0x0018, 0xeb4: 0x0018, 0xeb5: 0x0018,\n\t0xeb6: 0xe125, 0xeb7: 0x0018, 0xeb8: 0x29bd, 0xeb9: 0x29dd, 0xeba: 0x29fd, 0xebb: 0x0018,\n\t0xebc: 0x0008, 0xebd: 0x0018, 0xebe: 0x0018, 0xebf: 0x0018,\n\t// Block 0x3b, offset 0xec0\n\t0xec0: 0x2b3d, 0xec1: 0x2b5d, 0xec2: 0x2b7d, 0xec3: 0x2b9d, 0xec4: 0x2bbd, 0xec5: 0x2bdd,\n\t0xec6: 0x2bdd, 0xec7: 0x2bdd, 0xec8: 0x2bfd, 0xec9: 0x2bfd, 0xeca: 0x2bfd, 0xecb: 0x2bfd,\n\t0xecc: 0x2c1d, 0xecd: 0x2c1d, 0xece: 0x2c1d, 0xecf: 0x2c3d, 0xed0: 0x2c5d, 0xed1: 0x2c5d,\n\t0xed2: 0x2a7d, 0xed3: 0x2a7d, 0xed4: 0x2c5d, 0xed5: 0x2c5d, 0xed6: 0x2c7d, 0xed7: 0x2c7d,\n\t0xed8: 0x2c5d, 0xed9: 0x2c5d, 0xeda: 0x2a7d, 0xedb: 0x2a7d, 0xedc: 0x2c5d, 0xedd: 0x2c5d,\n\t0xede: 0x2c3d, 0xedf: 0x2c3d, 0xee0: 0x2c9d, 0xee1: 0x2c9d, 0xee2: 0x2cbd, 0xee3: 0x2cbd,\n\t0xee4: 0x0040, 0xee5: 0x2cdd, 0xee6: 0x2cfd, 0xee7: 0x2d1d, 0xee8: 0x2d1d, 0xee9: 0x2d3d,\n\t0xeea: 0x2d5d, 0xeeb: 0x2d7d, 0xeec: 0x2d9d, 0xeed: 0x2dbd, 0xeee: 0x2ddd, 0xeef: 0x2dfd,\n\t0xef0: 0x2e1d, 0xef1: 0x2e3d, 0xef2: 0x2e3d, 0xef3: 0x2e5d, 0xef4: 0x2e7d, 0xef5: 0x2e7d,\n\t0xef6: 0x2e9d, 0xef7: 0x2ebd, 0xef8: 0x2e5d, 0xef9: 0x2edd, 0xefa: 0x2efd, 0xefb: 0x2edd,\n\t0xefc: 0x2e5d, 0xefd: 0x2f1d, 0xefe: 0x2f3d, 0xeff: 0x2f5d,\n\t// Block 0x3c, offset 0xf00\n\t0xf00: 0x2f7d, 0xf01: 0x2f9d, 0xf02: 0x2cfd, 0xf03: 0x2cdd, 0xf04: 0x2fbd, 0xf05: 0x2fdd,\n\t0xf06: 0x2ffd, 0xf07: 0x301d, 0xf08: 0x303d, 0xf09: 0x305d, 0xf0a: 0x307d, 0xf0b: 0x309d,\n\t0xf0c: 0x30bd, 0xf0d: 0x30dd, 0xf0e: 0x30fd, 0xf0f: 0x0040, 0xf10: 0x0018, 0xf11: 0x0018,\n\t0xf12: 0x311d, 0xf13: 0x313d, 0xf14: 0x315d, 0xf15: 0x317d, 0xf16: 0x319d, 0xf17: 0x31bd,\n\t0xf18: 0x31dd, 0xf19: 0x31fd, 0xf1a: 0x321d, 0xf1b: 0x323d, 0xf1c: 0x315d, 0xf1d: 0x325d,\n\t0xf1e: 0x327d, 0xf1f: 0x329d, 0xf20: 0x0008, 0xf21: 0x0008, 0xf22: 0x0008, 0xf23: 0x0008,\n\t0xf24: 0x0008, 0xf25: 0x0008, 0xf26: 0x0008, 0xf27: 0x0008, 0xf28: 0x0008, 0xf29: 0x0008,\n\t0xf2a: 0x0008, 0xf2b: 0x0008, 0xf2c: 0x0008, 0xf2d: 0x0008, 0xf2e: 0x0008, 0xf2f: 0x0008,\n\t0xf30: 0x0008, 0xf31: 0x0008, 0xf32: 0x0008, 0xf33: 0x0008, 0xf34: 0x0008, 0xf35: 0x0008,\n\t0xf36: 0x0008, 0xf37: 0x0008, 0xf38: 0x0008, 0xf39: 0x0008, 0xf3a: 0x0008, 0xf3b: 0x0040,\n\t0xf3c: 0x0040, 0xf3d: 0x0040, 0xf3e: 0x0040, 0xf3f: 0x0040,\n\t// Block 0x3d, offset 0xf40\n\t0xf40: 0x36a2, 0xf41: 0x36d2, 0xf42: 0x3702, 0xf43: 0x3732, 0xf44: 0x32bd, 0xf45: 0x32dd,\n\t0xf46: 0x32fd, 0xf47: 0x331d, 0xf48: 0x0018, 0xf49: 0x0018, 0xf4a: 0x0018, 0xf4b: 0x0018,\n\t0xf4c: 0x0018, 0xf4d: 0x0018, 0xf4e: 0x0018, 0xf4f: 0x0018, 0xf50: 0x333d, 0xf51: 0x3761,\n\t0xf52: 0x3779, 0xf53: 0x3791, 0xf54: 0x37a9, 0xf55: 0x37c1, 0xf56: 0x37d9, 0xf57: 0x37f1,\n\t0xf58: 0x3809, 0xf59: 0x3821, 0xf5a: 0x3839, 0xf5b: 0x3851, 0xf5c: 0x3869, 0xf5d: 0x3881,\n\t0xf5e: 0x3899, 0xf5f: 0x38b1, 0xf60: 0x335d, 0xf61: 0x337d, 0xf62: 0x339d, 0xf63: 0x33bd,\n\t0xf64: 0x33dd, 0xf65: 0x33dd, 0xf66: 0x33fd, 0xf67: 0x341d, 0xf68: 0x343d, 0xf69: 0x345d,\n\t0xf6a: 0x347d, 0xf6b: 0x349d, 0xf6c: 0x34bd, 0xf6d: 0x34dd, 0xf6e: 0x34fd, 0xf6f: 0x351d,\n\t0xf70: 0x353d, 0xf71: 0x355d, 0xf72: 0x357d, 0xf73: 0x359d, 0xf74: 0x35bd, 0xf75: 0x35dd,\n\t0xf76: 0x35fd, 0xf77: 0x361d, 0xf78: 0x363d, 0xf79: 0x365d, 0xf7a: 0x367d, 0xf7b: 0x369d,\n\t0xf7c: 0x38c9, 0xf7d: 0x3901, 0xf7e: 0x36bd, 0xf7f: 0x0018,\n\t// Block 0x3e, offset 0xf80\n\t0xf80: 0x36dd, 0xf81: 0x36fd, 0xf82: 0x371d, 0xf83: 0x373d, 0xf84: 0x375d, 0xf85: 0x377d,\n\t0xf86: 0x379d, 0xf87: 0x37bd, 0xf88: 0x37dd, 0xf89: 0x37fd, 0xf8a: 0x381d, 0xf8b: 0x383d,\n\t0xf8c: 0x385d, 0xf8d: 0x387d, 0xf8e: 0x389d, 0xf8f: 0x38bd, 0xf90: 0x38dd, 0xf91: 0x38fd,\n\t0xf92: 0x391d, 0xf93: 0x393d, 0xf94: 0x395d, 0xf95: 0x397d, 0xf96: 0x399d, 0xf97: 0x39bd,\n\t0xf98: 0x39dd, 0xf99: 0x39fd, 0xf9a: 0x3a1d, 0xf9b: 0x3a3d, 0xf9c: 0x3a5d, 0xf9d: 0x3a7d,\n\t0xf9e: 0x3a9d, 0xf9f: 0x3abd, 0xfa0: 0x3add, 0xfa1: 0x3afd, 0xfa2: 0x3b1d, 0xfa3: 0x3b3d,\n\t0xfa4: 0x3b5d, 0xfa5: 0x3b7d, 0xfa6: 0x127d, 0xfa7: 0x3b9d, 0xfa8: 0x3bbd, 0xfa9: 0x3bdd,\n\t0xfaa: 0x3bfd, 0xfab: 0x3c1d, 0xfac: 0x3c3d, 0xfad: 0x3c5d, 0xfae: 0x239d, 0xfaf: 0x3c7d,\n\t0xfb0: 0x3c9d, 0xfb1: 0x3939, 0xfb2: 0x3951, 0xfb3: 0x3969, 0xfb4: 0x3981, 0xfb5: 0x3999,\n\t0xfb6: 0x39b1, 0xfb7: 0x39c9, 0xfb8: 0x39e1, 0xfb9: 0x39f9, 0xfba: 0x3a11, 0xfbb: 0x3a29,\n\t0xfbc: 0x3a41, 0xfbd: 0x3a59, 0xfbe: 0x3a71, 0xfbf: 0x3a89,\n\t// Block 0x3f, offset 0xfc0\n\t0xfc0: 0x3aa1, 0xfc1: 0x3ac9, 0xfc2: 0x3af1, 0xfc3: 0x3b19, 0xfc4: 0x3b41, 0xfc5: 0x3b69,\n\t0xfc6: 0x3b91, 0xfc7: 0x3bb9, 0xfc8: 0x3be1, 0xfc9: 0x3c09, 0xfca: 0x3c39, 0xfcb: 0x3c69,\n\t0xfcc: 0x3c99, 0xfcd: 0x3cbd, 0xfce: 0x3cb1, 0xfcf: 0x3cdd, 0xfd0: 0x3cfd, 0xfd1: 0x3d15,\n\t0xfd2: 0x3d2d, 0xfd3: 0x3d45, 0xfd4: 0x3d5d, 0xfd5: 0x3d5d, 0xfd6: 0x3d45, 0xfd7: 0x3d75,\n\t0xfd8: 0x07bd, 0xfd9: 0x3d8d, 0xfda: 0x3da5, 0xfdb: 0x3dbd, 0xfdc: 0x3dd5, 0xfdd: 0x3ded,\n\t0xfde: 0x3e05, 0xfdf: 0x3e1d, 0xfe0: 0x3e35, 0xfe1: 0x3e4d, 0xfe2: 0x3e65, 0xfe3: 0x3e7d,\n\t0xfe4: 0x3e95, 0xfe5: 0x3e95, 0xfe6: 0x3ead, 0xfe7: 0x3ead, 0xfe8: 0x3ec5, 0xfe9: 0x3ec5,\n\t0xfea: 0x3edd, 0xfeb: 0x3ef5, 0xfec: 0x3f0d, 0xfed: 0x3f25, 0xfee: 0x3f3d, 0xfef: 0x3f3d,\n\t0xff0: 0x3f55, 0xff1: 0x3f55, 0xff2: 0x3f55, 0xff3: 0x3f6d, 0xff4: 0x3f85, 0xff5: 0x3f9d,\n\t0xff6: 0x3fb5, 0xff7: 0x3f9d, 0xff8: 0x3fcd, 0xff9: 0x3fe5, 0xffa: 0x3f6d, 0xffb: 0x3ffd,\n\t0xffc: 0x4015, 0xffd: 0x4015, 0xffe: 0x4015, 0xfff: 0x0040,\n\t// Block 0x40, offset 0x1000\n\t0x1000: 0x3cc9, 0x1001: 0x3d31, 0x1002: 0x3d99, 0x1003: 0x3e01, 0x1004: 0x3e51, 0x1005: 0x3eb9,\n\t0x1006: 0x3f09, 0x1007: 0x3f59, 0x1008: 0x3fd9, 0x1009: 0x4041, 0x100a: 0x4091, 0x100b: 0x40e1,\n\t0x100c: 0x4131, 0x100d: 0x4199, 0x100e: 0x4201, 0x100f: 0x4251, 0x1010: 0x42a1, 0x1011: 0x42d9,\n\t0x1012: 0x4329, 0x1013: 0x4391, 0x1014: 0x43f9, 0x1015: 0x4431, 0x1016: 0x44b1, 0x1017: 0x4549,\n\t0x1018: 0x45c9, 0x1019: 0x4619, 0x101a: 0x4699, 0x101b: 0x4719, 0x101c: 0x4781, 0x101d: 0x47d1,\n\t0x101e: 0x4821, 0x101f: 0x4871, 0x1020: 0x48d9, 0x1021: 0x4959, 0x1022: 0x49c1, 0x1023: 0x4a11,\n\t0x1024: 0x4a61, 0x1025: 0x4ab1, 0x1026: 0x4ae9, 0x1027: 0x4b21, 0x1028: 0x4b59, 0x1029: 0x4b91,\n\t0x102a: 0x4be1, 0x102b: 0x4c31, 0x102c: 0x4cb1, 0x102d: 0x4d01, 0x102e: 0x4d69, 0x102f: 0x4de9,\n\t0x1030: 0x4e39, 0x1031: 0x4e71, 0x1032: 0x4ea9, 0x1033: 0x4f29, 0x1034: 0x4f91, 0x1035: 0x5011,\n\t0x1036: 0x5061, 0x1037: 0x50e1, 0x1038: 0x5119, 0x1039: 0x5169, 0x103a: 0x51b9, 0x103b: 0x5209,\n\t0x103c: 0x5259, 0x103d: 0x52a9, 0x103e: 0x5311, 0x103f: 0x5361,\n\t// Block 0x41, offset 0x1040\n\t0x1040: 0x5399, 0x1041: 0x53e9, 0x1042: 0x5439, 0x1043: 0x5489, 0x1044: 0x54f1, 0x1045: 0x5541,\n\t0x1046: 0x5591, 0x1047: 0x55e1, 0x1048: 0x5661, 0x1049: 0x56c9, 0x104a: 0x5701, 0x104b: 0x5781,\n\t0x104c: 0x57b9, 0x104d: 0x5821, 0x104e: 0x5889, 0x104f: 0x58d9, 0x1050: 0x5929, 0x1051: 0x5979,\n\t0x1052: 0x59e1, 0x1053: 0x5a19, 0x1054: 0x5a69, 0x1055: 0x5ad1, 0x1056: 0x5b09, 0x1057: 0x5b89,\n\t0x1058: 0x5bd9, 0x1059: 0x5c01, 0x105a: 0x5c29, 0x105b: 0x5c51, 0x105c: 0x5c79, 0x105d: 0x5ca1,\n\t0x105e: 0x5cc9, 0x105f: 0x5cf1, 0x1060: 0x5d19, 0x1061: 0x5d41, 0x1062: 0x5d69, 0x1063: 0x5d99,\n\t0x1064: 0x5dc9, 0x1065: 0x5df9, 0x1066: 0x5e29, 0x1067: 0x5e59, 0x1068: 0x5e89, 0x1069: 0x5eb9,\n\t0x106a: 0x5ee9, 0x106b: 0x5f19, 0x106c: 0x5f49, 0x106d: 0x5f79, 0x106e: 0x5fa9, 0x106f: 0x5fd9,\n\t0x1070: 0x6009, 0x1071: 0x402d, 0x1072: 0x6039, 0x1073: 0x6051, 0x1074: 0x404d, 0x1075: 0x6069,\n\t0x1076: 0x6081, 0x1077: 0x6099, 0x1078: 0x406d, 0x1079: 0x406d, 0x107a: 0x60b1, 0x107b: 0x60c9,\n\t0x107c: 0x6101, 0x107d: 0x6139, 0x107e: 0x6171, 0x107f: 0x61a9,\n\t// Block 0x42, offset 0x1080\n\t0x1080: 0x6211, 0x1081: 0x6229, 0x1082: 0x408d, 0x1083: 0x6241, 0x1084: 0x6259, 0x1085: 0x6271,\n\t0x1086: 0x6289, 0x1087: 0x62a1, 0x1088: 0x40ad, 0x1089: 0x62b9, 0x108a: 0x62e1, 0x108b: 0x62f9,\n\t0x108c: 0x40cd, 0x108d: 0x40cd, 0x108e: 0x6311, 0x108f: 0x6329, 0x1090: 0x6341, 0x1091: 0x40ed,\n\t0x1092: 0x410d, 0x1093: 0x412d, 0x1094: 0x414d, 0x1095: 0x416d, 0x1096: 0x6359, 0x1097: 0x6371,\n\t0x1098: 0x6389, 0x1099: 0x63a1, 0x109a: 0x63b9, 0x109b: 0x418d, 0x109c: 0x63d1, 0x109d: 0x63e9,\n\t0x109e: 0x6401, 0x109f: 0x41ad, 0x10a0: 0x41cd, 0x10a1: 0x6419, 0x10a2: 0x41ed, 0x10a3: 0x420d,\n\t0x10a4: 0x422d, 0x10a5: 0x6431, 0x10a6: 0x424d, 0x10a7: 0x6449, 0x10a8: 0x6479, 0x10a9: 0x6211,\n\t0x10aa: 0x426d, 0x10ab: 0x428d, 0x10ac: 0x42ad, 0x10ad: 0x42cd, 0x10ae: 0x64b1, 0x10af: 0x64f1,\n\t0x10b0: 0x6539, 0x10b1: 0x6551, 0x10b2: 0x42ed, 0x10b3: 0x6569, 0x10b4: 0x6581, 0x10b5: 0x6599,\n\t0x10b6: 0x430d, 0x10b7: 0x65b1, 0x10b8: 0x65c9, 0x10b9: 0x65b1, 0x10ba: 0x65e1, 0x10bb: 0x65f9,\n\t0x10bc: 0x432d, 0x10bd: 0x6611, 0x10be: 0x6629, 0x10bf: 0x6611,\n\t// Block 0x43, offset 0x10c0\n\t0x10c0: 0x434d, 0x10c1: 0x436d, 0x10c2: 0x0040, 0x10c3: 0x6641, 0x10c4: 0x6659, 0x10c5: 0x6671,\n\t0x10c6: 0x6689, 0x10c7: 0x0040, 0x10c8: 0x66c1, 0x10c9: 0x66d9, 0x10ca: 0x66f1, 0x10cb: 0x6709,\n\t0x10cc: 0x6721, 0x10cd: 0x6739, 0x10ce: 0x6401, 0x10cf: 0x6751, 0x10d0: 0x6769, 0x10d1: 0x6781,\n\t0x10d2: 0x438d, 0x10d3: 0x6799, 0x10d4: 0x6289, 0x10d5: 0x43ad, 0x10d6: 0x43cd, 0x10d7: 0x67b1,\n\t0x10d8: 0x0040, 0x10d9: 0x43ed, 0x10da: 0x67c9, 0x10db: 0x67e1, 0x10dc: 0x67f9, 0x10dd: 0x6811,\n\t0x10de: 0x6829, 0x10df: 0x6859, 0x10e0: 0x6889, 0x10e1: 0x68b1, 0x10e2: 0x68d9, 0x10e3: 0x6901,\n\t0x10e4: 0x6929, 0x10e5: 0x6951, 0x10e6: 0x6979, 0x10e7: 0x69a1, 0x10e8: 0x69c9, 0x10e9: 0x69f1,\n\t0x10ea: 0x6a21, 0x10eb: 0x6a51, 0x10ec: 0x6a81, 0x10ed: 0x6ab1, 0x10ee: 0x6ae1, 0x10ef: 0x6b11,\n\t0x10f0: 0x6b41, 0x10f1: 0x6b71, 0x10f2: 0x6ba1, 0x10f3: 0x6bd1, 0x10f4: 0x6c01, 0x10f5: 0x6c31,\n\t0x10f6: 0x6c61, 0x10f7: 0x6c91, 0x10f8: 0x6cc1, 0x10f9: 0x6cf1, 0x10fa: 0x6d21, 0x10fb: 0x6d51,\n\t0x10fc: 0x6d81, 0x10fd: 0x6db1, 0x10fe: 0x6de1, 0x10ff: 0x440d,\n\t// Block 0x44, offset 0x1100\n\t0x1100: 0xe00d, 0x1101: 0x0008, 0x1102: 0xe00d, 0x1103: 0x0008, 0x1104: 0xe00d, 0x1105: 0x0008,\n\t0x1106: 0xe00d, 0x1107: 0x0008, 0x1108: 0xe00d, 0x1109: 0x0008, 0x110a: 0xe00d, 0x110b: 0x0008,\n\t0x110c: 0xe00d, 0x110d: 0x0008, 0x110e: 0xe00d, 0x110f: 0x0008, 0x1110: 0xe00d, 0x1111: 0x0008,\n\t0x1112: 0xe00d, 0x1113: 0x0008, 0x1114: 0xe00d, 0x1115: 0x0008, 0x1116: 0xe00d, 0x1117: 0x0008,\n\t0x1118: 0xe00d, 0x1119: 0x0008, 0x111a: 0xe00d, 0x111b: 0x0008, 0x111c: 0xe00d, 0x111d: 0x0008,\n\t0x111e: 0xe00d, 0x111f: 0x0008, 0x1120: 0xe00d, 0x1121: 0x0008, 0x1122: 0xe00d, 0x1123: 0x0008,\n\t0x1124: 0xe00d, 0x1125: 0x0008, 0x1126: 0xe00d, 0x1127: 0x0008, 0x1128: 0xe00d, 0x1129: 0x0008,\n\t0x112a: 0xe00d, 0x112b: 0x0008, 0x112c: 0xe00d, 0x112d: 0x0008, 0x112e: 0x0008, 0x112f: 0x3308,\n\t0x1130: 0x3318, 0x1131: 0x3318, 0x1132: 0x3318, 0x1133: 0x0018, 0x1134: 0x3308, 0x1135: 0x3308,\n\t0x1136: 0x3308, 0x1137: 0x3308, 0x1138: 0x3308, 0x1139: 0x3308, 0x113a: 0x3308, 0x113b: 0x3308,\n\t0x113c: 0x3308, 0x113d: 0x3308, 0x113e: 0x0018, 0x113f: 0x0008,\n\t// Block 0x45, offset 0x1140\n\t0x1140: 0xe00d, 0x1141: 0x0008, 0x1142: 0xe00d, 0x1143: 0x0008, 0x1144: 0xe00d, 0x1145: 0x0008,\n\t0x1146: 0xe00d, 0x1147: 0x0008, 0x1148: 0xe00d, 0x1149: 0x0008, 0x114a: 0xe00d, 0x114b: 0x0008,\n\t0x114c: 0xe00d, 0x114d: 0x0008, 0x114e: 0xe00d, 0x114f: 0x0008, 0x1150: 0xe00d, 0x1151: 0x0008,\n\t0x1152: 0xe00d, 0x1153: 0x0008, 0x1154: 0xe00d, 0x1155: 0x0008, 0x1156: 0xe00d, 0x1157: 0x0008,\n\t0x1158: 0xe00d, 0x1159: 0x0008, 0x115a: 0xe00d, 0x115b: 0x0008, 0x115c: 0x0ea1, 0x115d: 0x6e11,\n\t0x115e: 0x3308, 0x115f: 0x3308, 0x1160: 0x0008, 0x1161: 0x0008, 0x1162: 0x0008, 0x1163: 0x0008,\n\t0x1164: 0x0008, 0x1165: 0x0008, 0x1166: 0x0008, 0x1167: 0x0008, 0x1168: 0x0008, 0x1169: 0x0008,\n\t0x116a: 0x0008, 0x116b: 0x0008, 0x116c: 0x0008, 0x116d: 0x0008, 0x116e: 0x0008, 0x116f: 0x0008,\n\t0x1170: 0x0008, 0x1171: 0x0008, 0x1172: 0x0008, 0x1173: 0x0008, 0x1174: 0x0008, 0x1175: 0x0008,\n\t0x1176: 0x0008, 0x1177: 0x0008, 0x1178: 0x0008, 0x1179: 0x0008, 0x117a: 0x0008, 0x117b: 0x0008,\n\t0x117c: 0x0008, 0x117d: 0x0008, 0x117e: 0x0008, 0x117f: 0x0008,\n\t// Block 0x46, offset 0x1180\n\t0x1180: 0x0018, 0x1181: 0x0018, 0x1182: 0x0018, 0x1183: 0x0018, 0x1184: 0x0018, 0x1185: 0x0018,\n\t0x1186: 0x0018, 0x1187: 0x0018, 0x1188: 0x0018, 0x1189: 0x0018, 0x118a: 0x0018, 0x118b: 0x0018,\n\t0x118c: 0x0018, 0x118d: 0x0018, 0x118e: 0x0018, 0x118f: 0x0018, 0x1190: 0x0018, 0x1191: 0x0018,\n\t0x1192: 0x0018, 0x1193: 0x0018, 0x1194: 0x0018, 0x1195: 0x0018, 0x1196: 0x0018, 0x1197: 0x0008,\n\t0x1198: 0x0008, 0x1199: 0x0008, 0x119a: 0x0008, 0x119b: 0x0008, 0x119c: 0x0008, 0x119d: 0x0008,\n\t0x119e: 0x0008, 0x119f: 0x0008, 0x11a0: 0x0018, 0x11a1: 0x0018, 0x11a2: 0xe00d, 0x11a3: 0x0008,\n\t0x11a4: 0xe00d, 0x11a5: 0x0008, 0x11a6: 0xe00d, 0x11a7: 0x0008, 0x11a8: 0xe00d, 0x11a9: 0x0008,\n\t0x11aa: 0xe00d, 0x11ab: 0x0008, 0x11ac: 0xe00d, 0x11ad: 0x0008, 0x11ae: 0xe00d, 0x11af: 0x0008,\n\t0x11b0: 0x0008, 0x11b1: 0x0008, 0x11b2: 0xe00d, 0x11b3: 0x0008, 0x11b4: 0xe00d, 0x11b5: 0x0008,\n\t0x11b6: 0xe00d, 0x11b7: 0x0008, 0x11b8: 0xe00d, 0x11b9: 0x0008, 0x11ba: 0xe00d, 0x11bb: 0x0008,\n\t0x11bc: 0xe00d, 0x11bd: 0x0008, 0x11be: 0xe00d, 0x11bf: 0x0008,\n\t// Block 0x47, offset 0x11c0\n\t0x11c0: 0xe00d, 0x11c1: 0x0008, 0x11c2: 0xe00d, 0x11c3: 0x0008, 0x11c4: 0xe00d, 0x11c5: 0x0008,\n\t0x11c6: 0xe00d, 0x11c7: 0x0008, 0x11c8: 0xe00d, 0x11c9: 0x0008, 0x11ca: 0xe00d, 0x11cb: 0x0008,\n\t0x11cc: 0xe00d, 0x11cd: 0x0008, 0x11ce: 0xe00d, 0x11cf: 0x0008, 0x11d0: 0xe00d, 0x11d1: 0x0008,\n\t0x11d2: 0xe00d, 0x11d3: 0x0008, 0x11d4: 0xe00d, 0x11d5: 0x0008, 0x11d6: 0xe00d, 0x11d7: 0x0008,\n\t0x11d8: 0xe00d, 0x11d9: 0x0008, 0x11da: 0xe00d, 0x11db: 0x0008, 0x11dc: 0xe00d, 0x11dd: 0x0008,\n\t0x11de: 0xe00d, 0x11df: 0x0008, 0x11e0: 0xe00d, 0x11e1: 0x0008, 0x11e2: 0xe00d, 0x11e3: 0x0008,\n\t0x11e4: 0xe00d, 0x11e5: 0x0008, 0x11e6: 0xe00d, 0x11e7: 0x0008, 0x11e8: 0xe00d, 0x11e9: 0x0008,\n\t0x11ea: 0xe00d, 0x11eb: 0x0008, 0x11ec: 0xe00d, 0x11ed: 0x0008, 0x11ee: 0xe00d, 0x11ef: 0x0008,\n\t0x11f0: 0xe0fd, 0x11f1: 0x0008, 0x11f2: 0x0008, 0x11f3: 0x0008, 0x11f4: 0x0008, 0x11f5: 0x0008,\n\t0x11f6: 0x0008, 0x11f7: 0x0008, 0x11f8: 0x0008, 0x11f9: 0xe01d, 0x11fa: 0x0008, 0x11fb: 0xe03d,\n\t0x11fc: 0x0008, 0x11fd: 0x442d, 0x11fe: 0xe00d, 0x11ff: 0x0008,\n\t// Block 0x48, offset 0x1200\n\t0x1200: 0xe00d, 0x1201: 0x0008, 0x1202: 0xe00d, 0x1203: 0x0008, 0x1204: 0xe00d, 0x1205: 0x0008,\n\t0x1206: 0xe00d, 0x1207: 0x0008, 0x1208: 0x0008, 0x1209: 0x0018, 0x120a: 0x0018, 0x120b: 0xe03d,\n\t0x120c: 0x0008, 0x120d: 0x11d9, 0x120e: 0x0008, 0x120f: 0x0008, 0x1210: 0xe00d, 0x1211: 0x0008,\n\t0x1212: 0xe00d, 0x1213: 0x0008, 0x1214: 0x0008, 0x1215: 0x0008, 0x1216: 0xe00d, 0x1217: 0x0008,\n\t0x1218: 0xe00d, 0x1219: 0x0008, 0x121a: 0xe00d, 0x121b: 0x0008, 0x121c: 0xe00d, 0x121d: 0x0008,\n\t0x121e: 0xe00d, 0x121f: 0x0008, 0x1220: 0xe00d, 0x1221: 0x0008, 0x1222: 0xe00d, 0x1223: 0x0008,\n\t0x1224: 0xe00d, 0x1225: 0x0008, 0x1226: 0xe00d, 0x1227: 0x0008, 0x1228: 0xe00d, 0x1229: 0x0008,\n\t0x122a: 0x6e29, 0x122b: 0x1029, 0x122c: 0x11c1, 0x122d: 0x6e41, 0x122e: 0x1221, 0x122f: 0x0040,\n\t0x1230: 0x6e59, 0x1231: 0x6e71, 0x1232: 0x1239, 0x1233: 0x444d, 0x1234: 0xe00d, 0x1235: 0x0008,\n\t0x1236: 0xe00d, 0x1237: 0x0008, 0x1238: 0x0040, 0x1239: 0x0040, 0x123a: 0x0040, 0x123b: 0x0040,\n\t0x123c: 0x0040, 0x123d: 0x0040, 0x123e: 0x0040, 0x123f: 0x0040,\n\t// Block 0x49, offset 0x1240\n\t0x1240: 0x64d5, 0x1241: 0x64f5, 0x1242: 0x6515, 0x1243: 0x6535, 0x1244: 0x6555, 0x1245: 0x6575,\n\t0x1246: 0x6595, 0x1247: 0x65b5, 0x1248: 0x65d5, 0x1249: 0x65f5, 0x124a: 0x6615, 0x124b: 0x6635,\n\t0x124c: 0x6655, 0x124d: 0x6675, 0x124e: 0x0008, 0x124f: 0x0008, 0x1250: 0x6695, 0x1251: 0x0008,\n\t0x1252: 0x66b5, 0x1253: 0x0008, 0x1254: 0x0008, 0x1255: 0x66d5, 0x1256: 0x66f5, 0x1257: 0x6715,\n\t0x1258: 0x6735, 0x1259: 0x6755, 0x125a: 0x6775, 0x125b: 0x6795, 0x125c: 0x67b5, 0x125d: 0x67d5,\n\t0x125e: 0x67f5, 0x125f: 0x0008, 0x1260: 0x6815, 0x1261: 0x0008, 0x1262: 0x6835, 0x1263: 0x0008,\n\t0x1264: 0x0008, 0x1265: 0x6855, 0x1266: 0x6875, 0x1267: 0x0008, 0x1268: 0x0008, 0x1269: 0x0008,\n\t0x126a: 0x6895, 0x126b: 0x68b5, 0x126c: 0x68d5, 0x126d: 0x68f5, 0x126e: 0x6915, 0x126f: 0x6935,\n\t0x1270: 0x6955, 0x1271: 0x6975, 0x1272: 0x6995, 0x1273: 0x69b5, 0x1274: 0x69d5, 0x1275: 0x69f5,\n\t0x1276: 0x6a15, 0x1277: 0x6a35, 0x1278: 0x6a55, 0x1279: 0x6a75, 0x127a: 0x6a95, 0x127b: 0x6ab5,\n\t0x127c: 0x6ad5, 0x127d: 0x6af5, 0x127e: 0x6b15, 0x127f: 0x6b35,\n\t// Block 0x4a, offset 0x1280\n\t0x1280: 0x7a95, 0x1281: 0x7ab5, 0x1282: 0x7ad5, 0x1283: 0x7af5, 0x1284: 0x7b15, 0x1285: 0x7b35,\n\t0x1286: 0x7b55, 0x1287: 0x7b75, 0x1288: 0x7b95, 0x1289: 0x7bb5, 0x128a: 0x7bd5, 0x128b: 0x7bf5,\n\t0x128c: 0x7c15, 0x128d: 0x7c35, 0x128e: 0x7c55, 0x128f: 0x6ec9, 0x1290: 0x6ef1, 0x1291: 0x6f19,\n\t0x1292: 0x7c75, 0x1293: 0x7c95, 0x1294: 0x7cb5, 0x1295: 0x6f41, 0x1296: 0x6f69, 0x1297: 0x6f91,\n\t0x1298: 0x7cd5, 0x1299: 0x7cf5, 0x129a: 0x0040, 0x129b: 0x0040, 0x129c: 0x0040, 0x129d: 0x0040,\n\t0x129e: 0x0040, 0x129f: 0x0040, 0x12a0: 0x0040, 0x12a1: 0x0040, 0x12a2: 0x0040, 0x12a3: 0x0040,\n\t0x12a4: 0x0040, 0x12a5: 0x0040, 0x12a6: 0x0040, 0x12a7: 0x0040, 0x12a8: 0x0040, 0x12a9: 0x0040,\n\t0x12aa: 0x0040, 0x12ab: 0x0040, 0x12ac: 0x0040, 0x12ad: 0x0040, 0x12ae: 0x0040, 0x12af: 0x0040,\n\t0x12b0: 0x0040, 0x12b1: 0x0040, 0x12b2: 0x0040, 0x12b3: 0x0040, 0x12b4: 0x0040, 0x12b5: 0x0040,\n\t0x12b6: 0x0040, 0x12b7: 0x0040, 0x12b8: 0x0040, 0x12b9: 0x0040, 0x12ba: 0x0040, 0x12bb: 0x0040,\n\t0x12bc: 0x0040, 0x12bd: 0x0040, 0x12be: 0x0040, 0x12bf: 0x0040,\n\t// Block 0x4b, offset 0x12c0\n\t0x12c0: 0x6fb9, 0x12c1: 0x6fd1, 0x12c2: 0x6fe9, 0x12c3: 0x7d15, 0x12c4: 0x7d35, 0x12c5: 0x7001,\n\t0x12c6: 0x7001, 0x12c7: 0x0040, 0x12c8: 0x0040, 0x12c9: 0x0040, 0x12ca: 0x0040, 0x12cb: 0x0040,\n\t0x12cc: 0x0040, 0x12cd: 0x0040, 0x12ce: 0x0040, 0x12cf: 0x0040, 0x12d0: 0x0040, 0x12d1: 0x0040,\n\t0x12d2: 0x0040, 0x12d3: 0x7019, 0x12d4: 0x7041, 0x12d5: 0x7069, 0x12d6: 0x7091, 0x12d7: 0x70b9,\n\t0x12d8: 0x0040, 0x12d9: 0x0040, 0x12da: 0x0040, 0x12db: 0x0040, 0x12dc: 0x0040, 0x12dd: 0x70e1,\n\t0x12de: 0x3308, 0x12df: 0x7109, 0x12e0: 0x7131, 0x12e1: 0x20a9, 0x12e2: 0x20f1, 0x12e3: 0x7149,\n\t0x12e4: 0x7161, 0x12e5: 0x7179, 0x12e6: 0x7191, 0x12e7: 0x71a9, 0x12e8: 0x71c1, 0x12e9: 0x1fb2,\n\t0x12ea: 0x71d9, 0x12eb: 0x7201, 0x12ec: 0x7229, 0x12ed: 0x7261, 0x12ee: 0x7299, 0x12ef: 0x72c1,\n\t0x12f0: 0x72e9, 0x12f1: 0x7311, 0x12f2: 0x7339, 0x12f3: 0x7361, 0x12f4: 0x7389, 0x12f5: 0x73b1,\n\t0x12f6: 0x73d9, 0x12f7: 0x0040, 0x12f8: 0x7401, 0x12f9: 0x7429, 0x12fa: 0x7451, 0x12fb: 0x7479,\n\t0x12fc: 0x74a1, 0x12fd: 0x0040, 0x12fe: 0x74c9, 0x12ff: 0x0040,\n\t// Block 0x4c, offset 0x1300\n\t0x1300: 0x74f1, 0x1301: 0x7519, 0x1302: 0x0040, 0x1303: 0x7541, 0x1304: 0x7569, 0x1305: 0x0040,\n\t0x1306: 0x7591, 0x1307: 0x75b9, 0x1308: 0x75e1, 0x1309: 0x7609, 0x130a: 0x7631, 0x130b: 0x7659,\n\t0x130c: 0x7681, 0x130d: 0x76a9, 0x130e: 0x76d1, 0x130f: 0x76f9, 0x1310: 0x7721, 0x1311: 0x7721,\n\t0x1312: 0x7739, 0x1313: 0x7739, 0x1314: 0x7739, 0x1315: 0x7739, 0x1316: 0x7751, 0x1317: 0x7751,\n\t0x1318: 0x7751, 0x1319: 0x7751, 0x131a: 0x7769, 0x131b: 0x7769, 0x131c: 0x7769, 0x131d: 0x7769,\n\t0x131e: 0x7781, 0x131f: 0x7781, 0x1320: 0x7781, 0x1321: 0x7781, 0x1322: 0x7799, 0x1323: 0x7799,\n\t0x1324: 0x7799, 0x1325: 0x7799, 0x1326: 0x77b1, 0x1327: 0x77b1, 0x1328: 0x77b1, 0x1329: 0x77b1,\n\t0x132a: 0x77c9, 0x132b: 0x77c9, 0x132c: 0x77c9, 0x132d: 0x77c9, 0x132e: 0x77e1, 0x132f: 0x77e1,\n\t0x1330: 0x77e1, 0x1331: 0x77e1, 0x1332: 0x77f9, 0x1333: 0x77f9, 0x1334: 0x77f9, 0x1335: 0x77f9,\n\t0x1336: 0x7811, 0x1337: 0x7811, 0x1338: 0x7811, 0x1339: 0x7811, 0x133a: 0x7829, 0x133b: 0x7829,\n\t0x133c: 0x7829, 0x133d: 0x7829, 0x133e: 0x7841, 0x133f: 0x7841,\n\t// Block 0x4d, offset 0x1340\n\t0x1340: 0x7841, 0x1341: 0x7841, 0x1342: 0x7859, 0x1343: 0x7859, 0x1344: 0x7871, 0x1345: 0x7871,\n\t0x1346: 0x7889, 0x1347: 0x7889, 0x1348: 0x78a1, 0x1349: 0x78a1, 0x134a: 0x78b9, 0x134b: 0x78b9,\n\t0x134c: 0x78d1, 0x134d: 0x78d1, 0x134e: 0x78e9, 0x134f: 0x78e9, 0x1350: 0x78e9, 0x1351: 0x78e9,\n\t0x1352: 0x7901, 0x1353: 0x7901, 0x1354: 0x7901, 0x1355: 0x7901, 0x1356: 0x7919, 0x1357: 0x7919,\n\t0x1358: 0x7919, 0x1359: 0x7919, 0x135a: 0x7931, 0x135b: 0x7931, 0x135c: 0x7931, 0x135d: 0x7931,\n\t0x135e: 0x7949, 0x135f: 0x7949, 0x1360: 0x7961, 0x1361: 0x7961, 0x1362: 0x7961, 0x1363: 0x7961,\n\t0x1364: 0x7979, 0x1365: 0x7979, 0x1366: 0x7991, 0x1367: 0x7991, 0x1368: 0x7991, 0x1369: 0x7991,\n\t0x136a: 0x79a9, 0x136b: 0x79a9, 0x136c: 0x79a9, 0x136d: 0x79a9, 0x136e: 0x79c1, 0x136f: 0x79c1,\n\t0x1370: 0x79d9, 0x1371: 0x79d9, 0x1372: 0x0818, 0x1373: 0x0818, 0x1374: 0x0818, 0x1375: 0x0818,\n\t0x1376: 0x0818, 0x1377: 0x0818, 0x1378: 0x0818, 0x1379: 0x0818, 0x137a: 0x0818, 0x137b: 0x0818,\n\t0x137c: 0x0818, 0x137d: 0x0818, 0x137e: 0x0818, 0x137f: 0x0818,\n\t// Block 0x4e, offset 0x1380\n\t0x1380: 0x0818, 0x1381: 0x0818, 0x1382: 0x0040, 0x1383: 0x0040, 0x1384: 0x0040, 0x1385: 0x0040,\n\t0x1386: 0x0040, 0x1387: 0x0040, 0x1388: 0x0040, 0x1389: 0x0040, 0x138a: 0x0040, 0x138b: 0x0040,\n\t0x138c: 0x0040, 0x138d: 0x0040, 0x138e: 0x0040, 0x138f: 0x0040, 0x1390: 0x0040, 0x1391: 0x0040,\n\t0x1392: 0x0040, 0x1393: 0x79f1, 0x1394: 0x79f1, 0x1395: 0x79f1, 0x1396: 0x79f1, 0x1397: 0x7a09,\n\t0x1398: 0x7a09, 0x1399: 0x7a21, 0x139a: 0x7a21, 0x139b: 0x7a39, 0x139c: 0x7a39, 0x139d: 0x0479,\n\t0x139e: 0x7a51, 0x139f: 0x7a51, 0x13a0: 0x7a69, 0x13a1: 0x7a69, 0x13a2: 0x7a81, 0x13a3: 0x7a81,\n\t0x13a4: 0x7a99, 0x13a5: 0x7a99, 0x13a6: 0x7a99, 0x13a7: 0x7a99, 0x13a8: 0x7ab1, 0x13a9: 0x7ab1,\n\t0x13aa: 0x7ac9, 0x13ab: 0x7ac9, 0x13ac: 0x7af1, 0x13ad: 0x7af1, 0x13ae: 0x7b19, 0x13af: 0x7b19,\n\t0x13b0: 0x7b41, 0x13b1: 0x7b41, 0x13b2: 0x7b69, 0x13b3: 0x7b69, 0x13b4: 0x7b91, 0x13b5: 0x7b91,\n\t0x13b6: 0x7bb9, 0x13b7: 0x7bb9, 0x13b8: 0x7bb9, 0x13b9: 0x7be1, 0x13ba: 0x7be1, 0x13bb: 0x7be1,\n\t0x13bc: 0x7c09, 0x13bd: 0x7c09, 0x13be: 0x7c09, 0x13bf: 0x7c09,\n\t// Block 0x4f, offset 0x13c0\n\t0x13c0: 0x85f9, 0x13c1: 0x8621, 0x13c2: 0x8649, 0x13c3: 0x8671, 0x13c4: 0x8699, 0x13c5: 0x86c1,\n\t0x13c6: 0x86e9, 0x13c7: 0x8711, 0x13c8: 0x8739, 0x13c9: 0x8761, 0x13ca: 0x8789, 0x13cb: 0x87b1,\n\t0x13cc: 0x87d9, 0x13cd: 0x8801, 0x13ce: 0x8829, 0x13cf: 0x8851, 0x13d0: 0x8879, 0x13d1: 0x88a1,\n\t0x13d2: 0x88c9, 0x13d3: 0x88f1, 0x13d4: 0x8919, 0x13d5: 0x8941, 0x13d6: 0x8969, 0x13d7: 0x8991,\n\t0x13d8: 0x89b9, 0x13d9: 0x89e1, 0x13da: 0x8a09, 0x13db: 0x8a31, 0x13dc: 0x8a59, 0x13dd: 0x8a81,\n\t0x13de: 0x8aaa, 0x13df: 0x8ada, 0x13e0: 0x8b0a, 0x13e1: 0x8b3a, 0x13e2: 0x8b6a, 0x13e3: 0x8b9a,\n\t0x13e4: 0x8bc9, 0x13e5: 0x8bf1, 0x13e6: 0x7c71, 0x13e7: 0x8c19, 0x13e8: 0x7be1, 0x13e9: 0x7c99,\n\t0x13ea: 0x8c41, 0x13eb: 0x8c69, 0x13ec: 0x7d39, 0x13ed: 0x8c91, 0x13ee: 0x7d61, 0x13ef: 0x7d89,\n\t0x13f0: 0x8cb9, 0x13f1: 0x8ce1, 0x13f2: 0x7e29, 0x13f3: 0x8d09, 0x13f4: 0x7e51, 0x13f5: 0x7e79,\n\t0x13f6: 0x8d31, 0x13f7: 0x8d59, 0x13f8: 0x7ec9, 0x13f9: 0x8d81, 0x13fa: 0x7ef1, 0x13fb: 0x7f19,\n\t0x13fc: 0x83a1, 0x13fd: 0x83c9, 0x13fe: 0x8441, 0x13ff: 0x8469,\n\t// Block 0x50, offset 0x1400\n\t0x1400: 0x8491, 0x1401: 0x8531, 0x1402: 0x8559, 0x1403: 0x8581, 0x1404: 0x85a9, 0x1405: 0x8649,\n\t0x1406: 0x8671, 0x1407: 0x8699, 0x1408: 0x8da9, 0x1409: 0x8739, 0x140a: 0x8dd1, 0x140b: 0x8df9,\n\t0x140c: 0x8829, 0x140d: 0x8e21, 0x140e: 0x8851, 0x140f: 0x8879, 0x1410: 0x8a81, 0x1411: 0x8e49,\n\t0x1412: 0x8e71, 0x1413: 0x89b9, 0x1414: 0x8e99, 0x1415: 0x89e1, 0x1416: 0x8a09, 0x1417: 0x7c21,\n\t0x1418: 0x7c49, 0x1419: 0x8ec1, 0x141a: 0x7c71, 0x141b: 0x8ee9, 0x141c: 0x7cc1, 0x141d: 0x7ce9,\n\t0x141e: 0x7d11, 0x141f: 0x7d39, 0x1420: 0x8f11, 0x1421: 0x7db1, 0x1422: 0x7dd9, 0x1423: 0x7e01,\n\t0x1424: 0x7e29, 0x1425: 0x8f39, 0x1426: 0x7ec9, 0x1427: 0x7f41, 0x1428: 0x7f69, 0x1429: 0x7f91,\n\t0x142a: 0x7fb9, 0x142b: 0x7fe1, 0x142c: 0x8031, 0x142d: 0x8059, 0x142e: 0x8081, 0x142f: 0x80a9,\n\t0x1430: 0x80d1, 0x1431: 0x80f9, 0x1432: 0x8f61, 0x1433: 0x8121, 0x1434: 0x8149, 0x1435: 0x8171,\n\t0x1436: 0x8199, 0x1437: 0x81c1, 0x1438: 0x81e9, 0x1439: 0x8239, 0x143a: 0x8261, 0x143b: 0x8289,\n\t0x143c: 0x82b1, 0x143d: 0x82d9, 0x143e: 0x8301, 0x143f: 0x8329,\n\t// Block 0x51, offset 0x1440\n\t0x1440: 0x8351, 0x1441: 0x8379, 0x1442: 0x83f1, 0x1443: 0x8419, 0x1444: 0x84b9, 0x1445: 0x84e1,\n\t0x1446: 0x8509, 0x1447: 0x8531, 0x1448: 0x8559, 0x1449: 0x85d1, 0x144a: 0x85f9, 0x144b: 0x8621,\n\t0x144c: 0x8649, 0x144d: 0x8f89, 0x144e: 0x86c1, 0x144f: 0x86e9, 0x1450: 0x8711, 0x1451: 0x8739,\n\t0x1452: 0x87b1, 0x1453: 0x87d9, 0x1454: 0x8801, 0x1455: 0x8829, 0x1456: 0x8fb1, 0x1457: 0x88a1,\n\t0x1458: 0x88c9, 0x1459: 0x8fd9, 0x145a: 0x8941, 0x145b: 0x8969, 0x145c: 0x8991, 0x145d: 0x89b9,\n\t0x145e: 0x9001, 0x145f: 0x7c71, 0x1460: 0x8ee9, 0x1461: 0x7d39, 0x1462: 0x8f11, 0x1463: 0x7e29,\n\t0x1464: 0x8f39, 0x1465: 0x7ec9, 0x1466: 0x9029, 0x1467: 0x80d1, 0x1468: 0x9051, 0x1469: 0x9079,\n\t0x146a: 0x90a1, 0x146b: 0x8531, 0x146c: 0x8559, 0x146d: 0x8649, 0x146e: 0x8829, 0x146f: 0x8fb1,\n\t0x1470: 0x89b9, 0x1471: 0x9001, 0x1472: 0x90c9, 0x1473: 0x9101, 0x1474: 0x9139, 0x1475: 0x9171,\n\t0x1476: 0x9199, 0x1477: 0x91c1, 0x1478: 0x91e9, 0x1479: 0x9211, 0x147a: 0x9239, 0x147b: 0x9261,\n\t0x147c: 0x9289, 0x147d: 0x92b1, 0x147e: 0x92d9, 0x147f: 0x9301,\n\t// Block 0x52, offset 0x1480\n\t0x1480: 0x9329, 0x1481: 0x9351, 0x1482: 0x9379, 0x1483: 0x93a1, 0x1484: 0x93c9, 0x1485: 0x93f1,\n\t0x1486: 0x9419, 0x1487: 0x9441, 0x1488: 0x9469, 0x1489: 0x9491, 0x148a: 0x94b9, 0x148b: 0x94e1,\n\t0x148c: 0x9079, 0x148d: 0x9509, 0x148e: 0x9531, 0x148f: 0x9559, 0x1490: 0x9581, 0x1491: 0x9171,\n\t0x1492: 0x9199, 0x1493: 0x91c1, 0x1494: 0x91e9, 0x1495: 0x9211, 0x1496: 0x9239, 0x1497: 0x9261,\n\t0x1498: 0x9289, 0x1499: 0x92b1, 0x149a: 0x92d9, 0x149b: 0x9301, 0x149c: 0x9329, 0x149d: 0x9351,\n\t0x149e: 0x9379, 0x149f: 0x93a1, 0x14a0: 0x93c9, 0x14a1: 0x93f1, 0x14a2: 0x9419, 0x14a3: 0x9441,\n\t0x14a4: 0x9469, 0x14a5: 0x9491, 0x14a6: 0x94b9, 0x14a7: 0x94e1, 0x14a8: 0x9079, 0x14a9: 0x9509,\n\t0x14aa: 0x9531, 0x14ab: 0x9559, 0x14ac: 0x9581, 0x14ad: 0x9491, 0x14ae: 0x94b9, 0x14af: 0x94e1,\n\t0x14b0: 0x9079, 0x14b1: 0x9051, 0x14b2: 0x90a1, 0x14b3: 0x8211, 0x14b4: 0x8059, 0x14b5: 0x8081,\n\t0x14b6: 0x80a9, 0x14b7: 0x9491, 0x14b8: 0x94b9, 0x14b9: 0x94e1, 0x14ba: 0x8211, 0x14bb: 0x8239,\n\t0x14bc: 0x95a9, 0x14bd: 0x95a9, 0x14be: 0x0018, 0x14bf: 0x0018,\n\t// Block 0x53, offset 0x14c0\n\t0x14c0: 0x0040, 0x14c1: 0x0040, 0x14c2: 0x0040, 0x14c3: 0x0040, 0x14c4: 0x0040, 0x14c5: 0x0040,\n\t0x14c6: 0x0040, 0x14c7: 0x0040, 0x14c8: 0x0040, 0x14c9: 0x0040, 0x14ca: 0x0040, 0x14cb: 0x0040,\n\t0x14cc: 0x0040, 0x14cd: 0x0040, 0x14ce: 0x0040, 0x14cf: 0x0040, 0x14d0: 0x95d1, 0x14d1: 0x9609,\n\t0x14d2: 0x9609, 0x14d3: 0x9641, 0x14d4: 0x9679, 0x14d5: 0x96b1, 0x14d6: 0x96e9, 0x14d7: 0x9721,\n\t0x14d8: 0x9759, 0x14d9: 0x9759, 0x14da: 0x9791, 0x14db: 0x97c9, 0x14dc: 0x9801, 0x14dd: 0x9839,\n\t0x14de: 0x9871, 0x14df: 0x98a9, 0x14e0: 0x98a9, 0x14e1: 0x98e1, 0x14e2: 0x9919, 0x14e3: 0x9919,\n\t0x14e4: 0x9951, 0x14e5: 0x9951, 0x14e6: 0x9989, 0x14e7: 0x99c1, 0x14e8: 0x99c1, 0x14e9: 0x99f9,\n\t0x14ea: 0x9a31, 0x14eb: 0x9a31, 0x14ec: 0x9a69, 0x14ed: 0x9a69, 0x14ee: 0x9aa1, 0x14ef: 0x9ad9,\n\t0x14f0: 0x9ad9, 0x14f1: 0x9b11, 0x14f2: 0x9b11, 0x14f3: 0x9b49, 0x14f4: 0x9b81, 0x14f5: 0x9bb9,\n\t0x14f6: 0x9bf1, 0x14f7: 0x9bf1, 0x14f8: 0x9c29, 0x14f9: 0x9c61, 0x14fa: 0x9c99, 0x14fb: 0x9cd1,\n\t0x14fc: 0x9d09, 0x14fd: 0x9d09, 0x14fe: 0x9d41, 0x14ff: 0x9d79,\n\t// Block 0x54, offset 0x1500\n\t0x1500: 0xa949, 0x1501: 0xa981, 0x1502: 0xa9b9, 0x1503: 0xa8a1, 0x1504: 0x9bb9, 0x1505: 0x9989,\n\t0x1506: 0xa9f1, 0x1507: 0xaa29, 0x1508: 0x0040, 0x1509: 0x0040, 0x150a: 0x0040, 0x150b: 0x0040,\n\t0x150c: 0x0040, 0x150d: 0x0040, 0x150e: 0x0040, 0x150f: 0x0040, 0x1510: 0x0040, 0x1511: 0x0040,\n\t0x1512: 0x0040, 0x1513: 0x0040, 0x1514: 0x0040, 0x1515: 0x0040, 0x1516: 0x0040, 0x1517: 0x0040,\n\t0x1518: 0x0040, 0x1519: 0x0040, 0x151a: 0x0040, 0x151b: 0x0040, 0x151c: 0x0040, 0x151d: 0x0040,\n\t0x151e: 0x0040, 0x151f: 0x0040, 0x1520: 0x0040, 0x1521: 0x0040, 0x1522: 0x0040, 0x1523: 0x0040,\n\t0x1524: 0x0040, 0x1525: 0x0040, 0x1526: 0x0040, 0x1527: 0x0040, 0x1528: 0x0040, 0x1529: 0x0040,\n\t0x152a: 0x0040, 0x152b: 0x0040, 0x152c: 0x0040, 0x152d: 0x0040, 0x152e: 0x0040, 0x152f: 0x0040,\n\t0x1530: 0xaa61, 0x1531: 0xaa99, 0x1532: 0xaad1, 0x1533: 0xab19, 0x1534: 0xab61, 0x1535: 0xaba9,\n\t0x1536: 0xabf1, 0x1537: 0xac39, 0x1538: 0xac81, 0x1539: 0xacc9, 0x153a: 0xad02, 0x153b: 0xae12,\n\t0x153c: 0xae91, 0x153d: 0x0018, 0x153e: 0x0040, 0x153f: 0x0040,\n\t// Block 0x55, offset 0x1540\n\t0x1540: 0x33c0, 0x1541: 0x33c0, 0x1542: 0x33c0, 0x1543: 0x33c0, 0x1544: 0x33c0, 0x1545: 0x33c0,\n\t0x1546: 0x33c0, 0x1547: 0x33c0, 0x1548: 0x33c0, 0x1549: 0x33c0, 0x154a: 0x33c0, 0x154b: 0x33c0,\n\t0x154c: 0x33c0, 0x154d: 0x33c0, 0x154e: 0x33c0, 0x154f: 0x33c0, 0x1550: 0xaeda, 0x1551: 0x7d55,\n\t0x1552: 0x0040, 0x1553: 0xaeea, 0x1554: 0x03c2, 0x1555: 0xaefa, 0x1556: 0xaf0a, 0x1557: 0x7d75,\n\t0x1558: 0x7d95, 0x1559: 0x0040, 0x155a: 0x0040, 0x155b: 0x0040, 0x155c: 0x0040, 0x155d: 0x0040,\n\t0x155e: 0x0040, 0x155f: 0x0040, 0x1560: 0x3308, 0x1561: 0x3308, 0x1562: 0x3308, 0x1563: 0x3308,\n\t0x1564: 0x3308, 0x1565: 0x3308, 0x1566: 0x3308, 0x1567: 0x3308, 0x1568: 0x3308, 0x1569: 0x3308,\n\t0x156a: 0x3308, 0x156b: 0x3308, 0x156c: 0x3308, 0x156d: 0x3308, 0x156e: 0x3308, 0x156f: 0x3308,\n\t0x1570: 0x0040, 0x1571: 0x7db5, 0x1572: 0x7dd5, 0x1573: 0xaf1a, 0x1574: 0xaf1a, 0x1575: 0x1fd2,\n\t0x1576: 0x1fe2, 0x1577: 0xaf2a, 0x1578: 0xaf3a, 0x1579: 0x7df5, 0x157a: 0x7e15, 0x157b: 0x7e35,\n\t0x157c: 0x7df5, 0x157d: 0x7e55, 0x157e: 0x7e75, 0x157f: 0x7e55,\n\t// Block 0x56, offset 0x1580\n\t0x1580: 0x7e95, 0x1581: 0x7eb5, 0x1582: 0x7ed5, 0x1583: 0x7eb5, 0x1584: 0x7ef5, 0x1585: 0x0018,\n\t0x1586: 0x0018, 0x1587: 0xaf4a, 0x1588: 0xaf5a, 0x1589: 0x7f16, 0x158a: 0x7f36, 0x158b: 0x7f56,\n\t0x158c: 0x7f76, 0x158d: 0xaf1a, 0x158e: 0xaf1a, 0x158f: 0xaf1a, 0x1590: 0xaeda, 0x1591: 0x7f95,\n\t0x1592: 0x0040, 0x1593: 0x0040, 0x1594: 0x03c2, 0x1595: 0xaeea, 0x1596: 0xaf0a, 0x1597: 0xaefa,\n\t0x1598: 0x7fb5, 0x1599: 0x1fd2, 0x159a: 0x1fe2, 0x159b: 0xaf2a, 0x159c: 0xaf3a, 0x159d: 0x7e95,\n\t0x159e: 0x7ef5, 0x159f: 0xaf6a, 0x15a0: 0xaf7a, 0x15a1: 0xaf8a, 0x15a2: 0x1fb2, 0x15a3: 0xaf99,\n\t0x15a4: 0xafaa, 0x15a5: 0xafba, 0x15a6: 0x1fc2, 0x15a7: 0x0040, 0x15a8: 0xafca, 0x15a9: 0xafda,\n\t0x15aa: 0xafea, 0x15ab: 0xaffa, 0x15ac: 0x0040, 0x15ad: 0x0040, 0x15ae: 0x0040, 0x15af: 0x0040,\n\t0x15b0: 0x7fd6, 0x15b1: 0xb009, 0x15b2: 0x7ff6, 0x15b3: 0x0808, 0x15b4: 0x8016, 0x15b5: 0x0040,\n\t0x15b6: 0x8036, 0x15b7: 0xb031, 0x15b8: 0x8056, 0x15b9: 0xb059, 0x15ba: 0x8076, 0x15bb: 0xb081,\n\t0x15bc: 0x8096, 0x15bd: 0xb0a9, 0x15be: 0x80b6, 0x15bf: 0xb0d1,\n\t// Block 0x57, offset 0x15c0\n\t0x15c0: 0xb0f9, 0x15c1: 0xb111, 0x15c2: 0xb111, 0x15c3: 0xb129, 0x15c4: 0xb129, 0x15c5: 0xb141,\n\t0x15c6: 0xb141, 0x15c7: 0xb159, 0x15c8: 0xb159, 0x15c9: 0xb171, 0x15ca: 0xb171, 0x15cb: 0xb171,\n\t0x15cc: 0xb171, 0x15cd: 0xb189, 0x15ce: 0xb189, 0x15cf: 0xb1a1, 0x15d0: 0xb1a1, 0x15d1: 0xb1a1,\n\t0x15d2: 0xb1a1, 0x15d3: 0xb1b9, 0x15d4: 0xb1b9, 0x15d5: 0xb1d1, 0x15d6: 0xb1d1, 0x15d7: 0xb1d1,\n\t0x15d8: 0xb1d1, 0x15d9: 0xb1e9, 0x15da: 0xb1e9, 0x15db: 0xb1e9, 0x15dc: 0xb1e9, 0x15dd: 0xb201,\n\t0x15de: 0xb201, 0x15df: 0xb201, 0x15e0: 0xb201, 0x15e1: 0xb219, 0x15e2: 0xb219, 0x15e3: 0xb219,\n\t0x15e4: 0xb219, 0x15e5: 0xb231, 0x15e6: 0xb231, 0x15e7: 0xb231, 0x15e8: 0xb231, 0x15e9: 0xb249,\n\t0x15ea: 0xb249, 0x15eb: 0xb261, 0x15ec: 0xb261, 0x15ed: 0xb279, 0x15ee: 0xb279, 0x15ef: 0xb291,\n\t0x15f0: 0xb291, 0x15f1: 0xb2a9, 0x15f2: 0xb2a9, 0x15f3: 0xb2a9, 0x15f4: 0xb2a9, 0x15f5: 0xb2c1,\n\t0x15f6: 0xb2c1, 0x15f7: 0xb2c1, 0x15f8: 0xb2c1, 0x15f9: 0xb2d9, 0x15fa: 0xb2d9, 0x15fb: 0xb2d9,\n\t0x15fc: 0xb2d9, 0x15fd: 0xb2f1, 0x15fe: 0xb2f1, 0x15ff: 0xb2f1,\n\t// Block 0x58, offset 0x1600\n\t0x1600: 0xb2f1, 0x1601: 0xb309, 0x1602: 0xb309, 0x1603: 0xb309, 0x1604: 0xb309, 0x1605: 0xb321,\n\t0x1606: 0xb321, 0x1607: 0xb321, 0x1608: 0xb321, 0x1609: 0xb339, 0x160a: 0xb339, 0x160b: 0xb339,\n\t0x160c: 0xb339, 0x160d: 0xb351, 0x160e: 0xb351, 0x160f: 0xb351, 0x1610: 0xb351, 0x1611: 0xb369,\n\t0x1612: 0xb369, 0x1613: 0xb369, 0x1614: 0xb369, 0x1615: 0xb381, 0x1616: 0xb381, 0x1617: 0xb381,\n\t0x1618: 0xb381, 0x1619: 0xb399, 0x161a: 0xb399, 0x161b: 0xb399, 0x161c: 0xb399, 0x161d: 0xb3b1,\n\t0x161e: 0xb3b1, 0x161f: 0xb3b1, 0x1620: 0xb3b1, 0x1621: 0xb3c9, 0x1622: 0xb3c9, 0x1623: 0xb3c9,\n\t0x1624: 0xb3c9, 0x1625: 0xb3e1, 0x1626: 0xb3e1, 0x1627: 0xb3e1, 0x1628: 0xb3e1, 0x1629: 0xb3f9,\n\t0x162a: 0xb3f9, 0x162b: 0xb3f9, 0x162c: 0xb3f9, 0x162d: 0xb411, 0x162e: 0xb411, 0x162f: 0x7ab1,\n\t0x1630: 0x7ab1, 0x1631: 0xb429, 0x1632: 0xb429, 0x1633: 0xb429, 0x1634: 0xb429, 0x1635: 0xb441,\n\t0x1636: 0xb441, 0x1637: 0xb469, 0x1638: 0xb469, 0x1639: 0xb491, 0x163a: 0xb491, 0x163b: 0xb4b9,\n\t0x163c: 0xb4b9, 0x163d: 0x0040, 0x163e: 0x0040, 0x163f: 0x03c0,\n\t// Block 0x59, offset 0x1640\n\t0x1640: 0x0040, 0x1641: 0xaefa, 0x1642: 0xb4e2, 0x1643: 0xaf6a, 0x1644: 0xafda, 0x1645: 0xafea,\n\t0x1646: 0xaf7a, 0x1647: 0xb4f2, 0x1648: 0x1fd2, 0x1649: 0x1fe2, 0x164a: 0xaf8a, 0x164b: 0x1fb2,\n\t0x164c: 0xaeda, 0x164d: 0xaf99, 0x164e: 0x29d1, 0x164f: 0xb502, 0x1650: 0x1f41, 0x1651: 0x00c9,\n\t0x1652: 0x0069, 0x1653: 0x0079, 0x1654: 0x1f51, 0x1655: 0x1f61, 0x1656: 0x1f71, 0x1657: 0x1f81,\n\t0x1658: 0x1f91, 0x1659: 0x1fa1, 0x165a: 0xaeea, 0x165b: 0x03c2, 0x165c: 0xafaa, 0x165d: 0x1fc2,\n\t0x165e: 0xafba, 0x165f: 0xaf0a, 0x1660: 0xaffa, 0x1661: 0x0039, 0x1662: 0x0ee9, 0x1663: 0x1159,\n\t0x1664: 0x0ef9, 0x1665: 0x0f09, 0x1666: 0x1199, 0x1667: 0x0f31, 0x1668: 0x0249, 0x1669: 0x0f41,\n\t0x166a: 0x0259, 0x166b: 0x0f51, 0x166c: 0x0359, 0x166d: 0x0f61, 0x166e: 0x0f71, 0x166f: 0x00d9,\n\t0x1670: 0x0f99, 0x1671: 0x2039, 0x1672: 0x0269, 0x1673: 0x01d9, 0x1674: 0x0fa9, 0x1675: 0x0fb9,\n\t0x1676: 0x1089, 0x1677: 0x0279, 0x1678: 0x0369, 0x1679: 0x0289, 0x167a: 0x13d1, 0x167b: 0xaf4a,\n\t0x167c: 0xafca, 0x167d: 0xaf5a, 0x167e: 0xb512, 0x167f: 0xaf1a,\n\t// Block 0x5a, offset 0x1680\n\t0x1680: 0x1caa, 0x1681: 0x0039, 0x1682: 0x0ee9, 0x1683: 0x1159, 0x1684: 0x0ef9, 0x1685: 0x0f09,\n\t0x1686: 0x1199, 0x1687: 0x0f31, 0x1688: 0x0249, 0x1689: 0x0f41, 0x168a: 0x0259, 0x168b: 0x0f51,\n\t0x168c: 0x0359, 0x168d: 0x0f61, 0x168e: 0x0f71, 0x168f: 0x00d9, 0x1690: 0x0f99, 0x1691: 0x2039,\n\t0x1692: 0x0269, 0x1693: 0x01d9, 0x1694: 0x0fa9, 0x1695: 0x0fb9, 0x1696: 0x1089, 0x1697: 0x0279,\n\t0x1698: 0x0369, 0x1699: 0x0289, 0x169a: 0x13d1, 0x169b: 0xaf2a, 0x169c: 0xb522, 0x169d: 0xaf3a,\n\t0x169e: 0xb532, 0x169f: 0x80d5, 0x16a0: 0x80f5, 0x16a1: 0x29d1, 0x16a2: 0x8115, 0x16a3: 0x8115,\n\t0x16a4: 0x8135, 0x16a5: 0x8155, 0x16a6: 0x8175, 0x16a7: 0x8195, 0x16a8: 0x81b5, 0x16a9: 0x81d5,\n\t0x16aa: 0x81f5, 0x16ab: 0x8215, 0x16ac: 0x8235, 0x16ad: 0x8255, 0x16ae: 0x8275, 0x16af: 0x8295,\n\t0x16b0: 0x82b5, 0x16b1: 0x82d5, 0x16b2: 0x82f5, 0x16b3: 0x8315, 0x16b4: 0x8335, 0x16b5: 0x8355,\n\t0x16b6: 0x8375, 0x16b7: 0x8395, 0x16b8: 0x83b5, 0x16b9: 0x83d5, 0x16ba: 0x83f5, 0x16bb: 0x8415,\n\t0x16bc: 0x81b5, 0x16bd: 0x8435, 0x16be: 0x8455, 0x16bf: 0x8215,\n\t// Block 0x5b, offset 0x16c0\n\t0x16c0: 0x8475, 0x16c1: 0x8495, 0x16c2: 0x84b5, 0x16c3: 0x84d5, 0x16c4: 0x84f5, 0x16c5: 0x8515,\n\t0x16c6: 0x8535, 0x16c7: 0x8555, 0x16c8: 0x84d5, 0x16c9: 0x8575, 0x16ca: 0x84d5, 0x16cb: 0x8595,\n\t0x16cc: 0x8595, 0x16cd: 0x85b5, 0x16ce: 0x85b5, 0x16cf: 0x85d5, 0x16d0: 0x8515, 0x16d1: 0x85f5,\n\t0x16d2: 0x8615, 0x16d3: 0x85f5, 0x16d4: 0x8635, 0x16d5: 0x8615, 0x16d6: 0x8655, 0x16d7: 0x8655,\n\t0x16d8: 0x8675, 0x16d9: 0x8675, 0x16da: 0x8695, 0x16db: 0x8695, 0x16dc: 0x8615, 0x16dd: 0x8115,\n\t0x16de: 0x86b5, 0x16df: 0x86d5, 0x16e0: 0x0040, 0x16e1: 0x86f5, 0x16e2: 0x8715, 0x16e3: 0x8735,\n\t0x16e4: 0x8755, 0x16e5: 0x8735, 0x16e6: 0x8775, 0x16e7: 0x8795, 0x16e8: 0x87b5, 0x16e9: 0x87b5,\n\t0x16ea: 0x87d5, 0x16eb: 0x87d5, 0x16ec: 0x87f5, 0x16ed: 0x87f5, 0x16ee: 0x87d5, 0x16ef: 0x87d5,\n\t0x16f0: 0x8815, 0x16f1: 0x8835, 0x16f2: 0x8855, 0x16f3: 0x8875, 0x16f4: 0x8895, 0x16f5: 0x88b5,\n\t0x16f6: 0x88b5, 0x16f7: 0x88b5, 0x16f8: 0x88d5, 0x16f9: 0x88d5, 0x16fa: 0x88d5, 0x16fb: 0x88d5,\n\t0x16fc: 0x87b5, 0x16fd: 0x87b5, 0x16fe: 0x87b5, 0x16ff: 0x0040,\n\t// Block 0x5c, offset 0x1700\n\t0x1700: 0x0040, 0x1701: 0x0040, 0x1702: 0x8715, 0x1703: 0x86f5, 0x1704: 0x88f5, 0x1705: 0x86f5,\n\t0x1706: 0x8715, 0x1707: 0x86f5, 0x1708: 0x0040, 0x1709: 0x0040, 0x170a: 0x8915, 0x170b: 0x8715,\n\t0x170c: 0x8935, 0x170d: 0x88f5, 0x170e: 0x8935, 0x170f: 0x8715, 0x1710: 0x0040, 0x1711: 0x0040,\n\t0x1712: 0x8955, 0x1713: 0x8975, 0x1714: 0x8875, 0x1715: 0x8935, 0x1716: 0x88f5, 0x1717: 0x8935,\n\t0x1718: 0x0040, 0x1719: 0x0040, 0x171a: 0x8995, 0x171b: 0x89b5, 0x171c: 0x8995, 0x171d: 0x0040,\n\t0x171e: 0x0040, 0x171f: 0x0040, 0x1720: 0xb541, 0x1721: 0xb559, 0x1722: 0xb571, 0x1723: 0x89d6,\n\t0x1724: 0xb589, 0x1725: 0xb5a1, 0x1726: 0x89f5, 0x1727: 0x0040, 0x1728: 0x8a15, 0x1729: 0x8a35,\n\t0x172a: 0x8a55, 0x172b: 0x8a35, 0x172c: 0x8a75, 0x172d: 0x8a95, 0x172e: 0x8ab5, 0x172f: 0x0040,\n\t0x1730: 0x0040, 0x1731: 0x0040, 0x1732: 0x0040, 0x1733: 0x0040, 0x1734: 0x0040, 0x1735: 0x0040,\n\t0x1736: 0x0040, 0x1737: 0x0040, 0x1738: 0x0040, 0x1739: 0x0340, 0x173a: 0x0340, 0x173b: 0x0340,\n\t0x173c: 0x0040, 0x173d: 0x0040, 0x173e: 0x0040, 0x173f: 0x0040,\n\t// Block 0x5d, offset 0x1740\n\t0x1740: 0x0a08, 0x1741: 0x0a08, 0x1742: 0x0a08, 0x1743: 0x0a08, 0x1744: 0x0a08, 0x1745: 0x0c08,\n\t0x1746: 0x0808, 0x1747: 0x0c08, 0x1748: 0x0818, 0x1749: 0x0c08, 0x174a: 0x0c08, 0x174b: 0x0808,\n\t0x174c: 0x0808, 0x174d: 0x0908, 0x174e: 0x0c08, 0x174f: 0x0c08, 0x1750: 0x0c08, 0x1751: 0x0c08,\n\t0x1752: 0x0c08, 0x1753: 0x0a08, 0x1754: 0x0a08, 0x1755: 0x0a08, 0x1756: 0x0a08, 0x1757: 0x0908,\n\t0x1758: 0x0a08, 0x1759: 0x0a08, 0x175a: 0x0a08, 0x175b: 0x0a08, 0x175c: 0x0a08, 0x175d: 0x0c08,\n\t0x175e: 0x0a08, 0x175f: 0x0a08, 0x1760: 0x0a08, 0x1761: 0x0c08, 0x1762: 0x0808, 0x1763: 0x0808,\n\t0x1764: 0x0c08, 0x1765: 0x3308, 0x1766: 0x3308, 0x1767: 0x0040, 0x1768: 0x0040, 0x1769: 0x0040,\n\t0x176a: 0x0040, 0x176b: 0x0a18, 0x176c: 0x0a18, 0x176d: 0x0a18, 0x176e: 0x0a18, 0x176f: 0x0c18,\n\t0x1770: 0x0818, 0x1771: 0x0818, 0x1772: 0x0818, 0x1773: 0x0818, 0x1774: 0x0818, 0x1775: 0x0818,\n\t0x1776: 0x0818, 0x1777: 0x0040, 0x1778: 0x0040, 0x1779: 0x0040, 0x177a: 0x0040, 0x177b: 0x0040,\n\t0x177c: 0x0040, 0x177d: 0x0040, 0x177e: 0x0040, 0x177f: 0x0040,\n\t// Block 0x5e, offset 0x1780\n\t0x1780: 0x0a08, 0x1781: 0x0c08, 0x1782: 0x0a08, 0x1783: 0x0c08, 0x1784: 0x0c08, 0x1785: 0x0c08,\n\t0x1786: 0x0a08, 0x1787: 0x0a08, 0x1788: 0x0a08, 0x1789: 0x0c08, 0x178a: 0x0a08, 0x178b: 0x0a08,\n\t0x178c: 0x0c08, 0x178d: 0x0a08, 0x178e: 0x0c08, 0x178f: 0x0c08, 0x1790: 0x0a08, 0x1791: 0x0c08,\n\t0x1792: 0x0040, 0x1793: 0x0040, 0x1794: 0x0040, 0x1795: 0x0040, 0x1796: 0x0040, 0x1797: 0x0040,\n\t0x1798: 0x0040, 0x1799: 0x0818, 0x179a: 0x0818, 0x179b: 0x0818, 0x179c: 0x0818, 0x179d: 0x0040,\n\t0x179e: 0x0040, 0x179f: 0x0040, 0x17a0: 0x0040, 0x17a1: 0x0040, 0x17a2: 0x0040, 0x17a3: 0x0040,\n\t0x17a4: 0x0040, 0x17a5: 0x0040, 0x17a6: 0x0040, 0x17a7: 0x0040, 0x17a8: 0x0040, 0x17a9: 0x0c18,\n\t0x17aa: 0x0c18, 0x17ab: 0x0c18, 0x17ac: 0x0c18, 0x17ad: 0x0a18, 0x17ae: 0x0a18, 0x17af: 0x0818,\n\t0x17b0: 0x0040, 0x17b1: 0x0040, 0x17b2: 0x0040, 0x17b3: 0x0040, 0x17b4: 0x0040, 0x17b5: 0x0040,\n\t0x17b6: 0x0040, 0x17b7: 0x0040, 0x17b8: 0x0040, 0x17b9: 0x0040, 0x17ba: 0x0040, 0x17bb: 0x0040,\n\t0x17bc: 0x0040, 0x17bd: 0x0040, 0x17be: 0x0040, 0x17bf: 0x0040,\n\t// Block 0x5f, offset 0x17c0\n\t0x17c0: 0x3308, 0x17c1: 0x3308, 0x17c2: 0x3008, 0x17c3: 0x3008, 0x17c4: 0x0040, 0x17c5: 0x0008,\n\t0x17c6: 0x0008, 0x17c7: 0x0008, 0x17c8: 0x0008, 0x17c9: 0x0008, 0x17ca: 0x0008, 0x17cb: 0x0008,\n\t0x17cc: 0x0008, 0x17cd: 0x0040, 0x17ce: 0x0040, 0x17cf: 0x0008, 0x17d0: 0x0008, 0x17d1: 0x0040,\n\t0x17d2: 0x0040, 0x17d3: 0x0008, 0x17d4: 0x0008, 0x17d5: 0x0008, 0x17d6: 0x0008, 0x17d7: 0x0008,\n\t0x17d8: 0x0008, 0x17d9: 0x0008, 0x17da: 0x0008, 0x17db: 0x0008, 0x17dc: 0x0008, 0x17dd: 0x0008,\n\t0x17de: 0x0008, 0x17df: 0x0008, 0x17e0: 0x0008, 0x17e1: 0x0008, 0x17e2: 0x0008, 0x17e3: 0x0008,\n\t0x17e4: 0x0008, 0x17e5: 0x0008, 0x17e6: 0x0008, 0x17e7: 0x0008, 0x17e8: 0x0008, 0x17e9: 0x0040,\n\t0x17ea: 0x0008, 0x17eb: 0x0008, 0x17ec: 0x0008, 0x17ed: 0x0008, 0x17ee: 0x0008, 0x17ef: 0x0008,\n\t0x17f0: 0x0008, 0x17f1: 0x0040, 0x17f2: 0x0008, 0x17f3: 0x0008, 0x17f4: 0x0040, 0x17f5: 0x0008,\n\t0x17f6: 0x0008, 0x17f7: 0x0008, 0x17f8: 0x0008, 0x17f9: 0x0008, 0x17fa: 0x0040, 0x17fb: 0x0040,\n\t0x17fc: 0x3308, 0x17fd: 0x0008, 0x17fe: 0x3008, 0x17ff: 0x3008,\n\t// Block 0x60, offset 0x1800\n\t0x1800: 0x3308, 0x1801: 0x3008, 0x1802: 0x3008, 0x1803: 0x3008, 0x1804: 0x3008, 0x1805: 0x0040,\n\t0x1806: 0x0040, 0x1807: 0x3008, 0x1808: 0x3008, 0x1809: 0x0040, 0x180a: 0x0040, 0x180b: 0x3008,\n\t0x180c: 0x3008, 0x180d: 0x3808, 0x180e: 0x0040, 0x180f: 0x0040, 0x1810: 0x0008, 0x1811: 0x0040,\n\t0x1812: 0x0040, 0x1813: 0x0040, 0x1814: 0x0040, 0x1815: 0x0040, 0x1816: 0x0040, 0x1817: 0x3008,\n\t0x1818: 0x0040, 0x1819: 0x0040, 0x181a: 0x0040, 0x181b: 0x0040, 0x181c: 0x0040, 0x181d: 0x0008,\n\t0x181e: 0x0008, 0x181f: 0x0008, 0x1820: 0x0008, 0x1821: 0x0008, 0x1822: 0x3008, 0x1823: 0x3008,\n\t0x1824: 0x0040, 0x1825: 0x0040, 0x1826: 0x3308, 0x1827: 0x3308, 0x1828: 0x3308, 0x1829: 0x3308,\n\t0x182a: 0x3308, 0x182b: 0x3308, 0x182c: 0x3308, 0x182d: 0x0040, 0x182e: 0x0040, 0x182f: 0x0040,\n\t0x1830: 0x3308, 0x1831: 0x3308, 0x1832: 0x3308, 0x1833: 0x3308, 0x1834: 0x3308, 0x1835: 0x0040,\n\t0x1836: 0x0040, 0x1837: 0x0040, 0x1838: 0x0040, 0x1839: 0x0040, 0x183a: 0x0040, 0x183b: 0x0040,\n\t0x183c: 0x0040, 0x183d: 0x0040, 0x183e: 0x0040, 0x183f: 0x0040,\n\t// Block 0x61, offset 0x1840\n\t0x1840: 0x0039, 0x1841: 0x0ee9, 0x1842: 0x1159, 0x1843: 0x0ef9, 0x1844: 0x0f09, 0x1845: 0x1199,\n\t0x1846: 0x0f31, 0x1847: 0x0249, 0x1848: 0x0f41, 0x1849: 0x0259, 0x184a: 0x0f51, 0x184b: 0x0359,\n\t0x184c: 0x0f61, 0x184d: 0x0f71, 0x184e: 0x00d9, 0x184f: 0x0f99, 0x1850: 0x2039, 0x1851: 0x0269,\n\t0x1852: 0x01d9, 0x1853: 0x0fa9, 0x1854: 0x0fb9, 0x1855: 0x1089, 0x1856: 0x0279, 0x1857: 0x0369,\n\t0x1858: 0x0289, 0x1859: 0x13d1, 0x185a: 0x0039, 0x185b: 0x0ee9, 0x185c: 0x1159, 0x185d: 0x0ef9,\n\t0x185e: 0x0f09, 0x185f: 0x1199, 0x1860: 0x0f31, 0x1861: 0x0249, 0x1862: 0x0f41, 0x1863: 0x0259,\n\t0x1864: 0x0f51, 0x1865: 0x0359, 0x1866: 0x0f61, 0x1867: 0x0f71, 0x1868: 0x00d9, 0x1869: 0x0f99,\n\t0x186a: 0x2039, 0x186b: 0x0269, 0x186c: 0x01d9, 0x186d: 0x0fa9, 0x186e: 0x0fb9, 0x186f: 0x1089,\n\t0x1870: 0x0279, 0x1871: 0x0369, 0x1872: 0x0289, 0x1873: 0x13d1, 0x1874: 0x0039, 0x1875: 0x0ee9,\n\t0x1876: 0x1159, 0x1877: 0x0ef9, 0x1878: 0x0f09, 0x1879: 0x1199, 0x187a: 0x0f31, 0x187b: 0x0249,\n\t0x187c: 0x0f41, 0x187d: 0x0259, 0x187e: 0x0f51, 0x187f: 0x0359,\n\t// Block 0x62, offset 0x1880\n\t0x1880: 0x0f61, 0x1881: 0x0f71, 0x1882: 0x00d9, 0x1883: 0x0f99, 0x1884: 0x2039, 0x1885: 0x0269,\n\t0x1886: 0x01d9, 0x1887: 0x0fa9, 0x1888: 0x0fb9, 0x1889: 0x1089, 0x188a: 0x0279, 0x188b: 0x0369,\n\t0x188c: 0x0289, 0x188d: 0x13d1, 0x188e: 0x0039, 0x188f: 0x0ee9, 0x1890: 0x1159, 0x1891: 0x0ef9,\n\t0x1892: 0x0f09, 0x1893: 0x1199, 0x1894: 0x0f31, 0x1895: 0x0040, 0x1896: 0x0f41, 0x1897: 0x0259,\n\t0x1898: 0x0f51, 0x1899: 0x0359, 0x189a: 0x0f61, 0x189b: 0x0f71, 0x189c: 0x00d9, 0x189d: 0x0f99,\n\t0x189e: 0x2039, 0x189f: 0x0269, 0x18a0: 0x01d9, 0x18a1: 0x0fa9, 0x18a2: 0x0fb9, 0x18a3: 0x1089,\n\t0x18a4: 0x0279, 0x18a5: 0x0369, 0x18a6: 0x0289, 0x18a7: 0x13d1, 0x18a8: 0x0039, 0x18a9: 0x0ee9,\n\t0x18aa: 0x1159, 0x18ab: 0x0ef9, 0x18ac: 0x0f09, 0x18ad: 0x1199, 0x18ae: 0x0f31, 0x18af: 0x0249,\n\t0x18b0: 0x0f41, 0x18b1: 0x0259, 0x18b2: 0x0f51, 0x18b3: 0x0359, 0x18b4: 0x0f61, 0x18b5: 0x0f71,\n\t0x18b6: 0x00d9, 0x18b7: 0x0f99, 0x18b8: 0x2039, 0x18b9: 0x0269, 0x18ba: 0x01d9, 0x18bb: 0x0fa9,\n\t0x18bc: 0x0fb9, 0x18bd: 0x1089, 0x18be: 0x0279, 0x18bf: 0x0369,\n\t// Block 0x63, offset 0x18c0\n\t0x18c0: 0x0289, 0x18c1: 0x13d1, 0x18c2: 0x0039, 0x18c3: 0x0ee9, 0x18c4: 0x1159, 0x18c5: 0x0ef9,\n\t0x18c6: 0x0f09, 0x18c7: 0x1199, 0x18c8: 0x0f31, 0x18c9: 0x0249, 0x18ca: 0x0f41, 0x18cb: 0x0259,\n\t0x18cc: 0x0f51, 0x18cd: 0x0359, 0x18ce: 0x0f61, 0x18cf: 0x0f71, 0x18d0: 0x00d9, 0x18d1: 0x0f99,\n\t0x18d2: 0x2039, 0x18d3: 0x0269, 0x18d4: 0x01d9, 0x18d5: 0x0fa9, 0x18d6: 0x0fb9, 0x18d7: 0x1089,\n\t0x18d8: 0x0279, 0x18d9: 0x0369, 0x18da: 0x0289, 0x18db: 0x13d1, 0x18dc: 0x0039, 0x18dd: 0x0040,\n\t0x18de: 0x1159, 0x18df: 0x0ef9, 0x18e0: 0x0040, 0x18e1: 0x0040, 0x18e2: 0x0f31, 0x18e3: 0x0040,\n\t0x18e4: 0x0040, 0x18e5: 0x0259, 0x18e6: 0x0f51, 0x18e7: 0x0040, 0x18e8: 0x0040, 0x18e9: 0x0f71,\n\t0x18ea: 0x00d9, 0x18eb: 0x0f99, 0x18ec: 0x2039, 0x18ed: 0x0040, 0x18ee: 0x01d9, 0x18ef: 0x0fa9,\n\t0x18f0: 0x0fb9, 0x18f1: 0x1089, 0x18f2: 0x0279, 0x18f3: 0x0369, 0x18f4: 0x0289, 0x18f5: 0x13d1,\n\t0x18f6: 0x0039, 0x18f7: 0x0ee9, 0x18f8: 0x1159, 0x18f9: 0x0ef9, 0x18fa: 0x0040, 0x18fb: 0x1199,\n\t0x18fc: 0x0040, 0x18fd: 0x0249, 0x18fe: 0x0f41, 0x18ff: 0x0259,\n\t// Block 0x64, offset 0x1900\n\t0x1900: 0x0f51, 0x1901: 0x0359, 0x1902: 0x0f61, 0x1903: 0x0f71, 0x1904: 0x0040, 0x1905: 0x0f99,\n\t0x1906: 0x2039, 0x1907: 0x0269, 0x1908: 0x01d9, 0x1909: 0x0fa9, 0x190a: 0x0fb9, 0x190b: 0x1089,\n\t0x190c: 0x0279, 0x190d: 0x0369, 0x190e: 0x0289, 0x190f: 0x13d1, 0x1910: 0x0039, 0x1911: 0x0ee9,\n\t0x1912: 0x1159, 0x1913: 0x0ef9, 0x1914: 0x0f09, 0x1915: 0x1199, 0x1916: 0x0f31, 0x1917: 0x0249,\n\t0x1918: 0x0f41, 0x1919: 0x0259, 0x191a: 0x0f51, 0x191b: 0x0359, 0x191c: 0x0f61, 0x191d: 0x0f71,\n\t0x191e: 0x00d9, 0x191f: 0x0f99, 0x1920: 0x2039, 0x1921: 0x0269, 0x1922: 0x01d9, 0x1923: 0x0fa9,\n\t0x1924: 0x0fb9, 0x1925: 0x1089, 0x1926: 0x0279, 0x1927: 0x0369, 0x1928: 0x0289, 0x1929: 0x13d1,\n\t0x192a: 0x0039, 0x192b: 0x0ee9, 0x192c: 0x1159, 0x192d: 0x0ef9, 0x192e: 0x0f09, 0x192f: 0x1199,\n\t0x1930: 0x0f31, 0x1931: 0x0249, 0x1932: 0x0f41, 0x1933: 0x0259, 0x1934: 0x0f51, 0x1935: 0x0359,\n\t0x1936: 0x0f61, 0x1937: 0x0f71, 0x1938: 0x00d9, 0x1939: 0x0f99, 0x193a: 0x2039, 0x193b: 0x0269,\n\t0x193c: 0x01d9, 0x193d: 0x0fa9, 0x193e: 0x0fb9, 0x193f: 0x1089,\n\t// Block 0x65, offset 0x1940\n\t0x1940: 0x0279, 0x1941: 0x0369, 0x1942: 0x0289, 0x1943: 0x13d1, 0x1944: 0x0039, 0x1945: 0x0ee9,\n\t0x1946: 0x0040, 0x1947: 0x0ef9, 0x1948: 0x0f09, 0x1949: 0x1199, 0x194a: 0x0f31, 0x194b: 0x0040,\n\t0x194c: 0x0040, 0x194d: 0x0259, 0x194e: 0x0f51, 0x194f: 0x0359, 0x1950: 0x0f61, 0x1951: 0x0f71,\n\t0x1952: 0x00d9, 0x1953: 0x0f99, 0x1954: 0x2039, 0x1955: 0x0040, 0x1956: 0x01d9, 0x1957: 0x0fa9,\n\t0x1958: 0x0fb9, 0x1959: 0x1089, 0x195a: 0x0279, 0x195b: 0x0369, 0x195c: 0x0289, 0x195d: 0x0040,\n\t0x195e: 0x0039, 0x195f: 0x0ee9, 0x1960: 0x1159, 0x1961: 0x0ef9, 0x1962: 0x0f09, 0x1963: 0x1199,\n\t0x1964: 0x0f31, 0x1965: 0x0249, 0x1966: 0x0f41, 0x1967: 0x0259, 0x1968: 0x0f51, 0x1969: 0x0359,\n\t0x196a: 0x0f61, 0x196b: 0x0f71, 0x196c: 0x00d9, 0x196d: 0x0f99, 0x196e: 0x2039, 0x196f: 0x0269,\n\t0x1970: 0x01d9, 0x1971: 0x0fa9, 0x1972: 0x0fb9, 0x1973: 0x1089, 0x1974: 0x0279, 0x1975: 0x0369,\n\t0x1976: 0x0289, 0x1977: 0x13d1, 0x1978: 0x0039, 0x1979: 0x0ee9, 0x197a: 0x0040, 0x197b: 0x0ef9,\n\t0x197c: 0x0f09, 0x197d: 0x1199, 0x197e: 0x0f31, 0x197f: 0x0040,\n\t// Block 0x66, offset 0x1980\n\t0x1980: 0x0f41, 0x1981: 0x0259, 0x1982: 0x0f51, 0x1983: 0x0359, 0x1984: 0x0f61, 0x1985: 0x0040,\n\t0x1986: 0x00d9, 0x1987: 0x0040, 0x1988: 0x0040, 0x1989: 0x0040, 0x198a: 0x01d9, 0x198b: 0x0fa9,\n\t0x198c: 0x0fb9, 0x198d: 0x1089, 0x198e: 0x0279, 0x198f: 0x0369, 0x1990: 0x0289, 0x1991: 0x0040,\n\t0x1992: 0x0039, 0x1993: 0x0ee9, 0x1994: 0x1159, 0x1995: 0x0ef9, 0x1996: 0x0f09, 0x1997: 0x1199,\n\t0x1998: 0x0f31, 0x1999: 0x0249, 0x199a: 0x0f41, 0x199b: 0x0259, 0x199c: 0x0f51, 0x199d: 0x0359,\n\t0x199e: 0x0f61, 0x199f: 0x0f71, 0x19a0: 0x00d9, 0x19a1: 0x0f99, 0x19a2: 0x2039, 0x19a3: 0x0269,\n\t0x19a4: 0x01d9, 0x19a5: 0x0fa9, 0x19a6: 0x0fb9, 0x19a7: 0x1089, 0x19a8: 0x0279, 0x19a9: 0x0369,\n\t0x19aa: 0x0289, 0x19ab: 0x13d1, 0x19ac: 0x0039, 0x19ad: 0x0ee9, 0x19ae: 0x1159, 0x19af: 0x0ef9,\n\t0x19b0: 0x0f09, 0x19b1: 0x1199, 0x19b2: 0x0f31, 0x19b3: 0x0249, 0x19b4: 0x0f41, 0x19b5: 0x0259,\n\t0x19b6: 0x0f51, 0x19b7: 0x0359, 0x19b8: 0x0f61, 0x19b9: 0x0f71, 0x19ba: 0x00d9, 0x19bb: 0x0f99,\n\t0x19bc: 0x2039, 0x19bd: 0x0269, 0x19be: 0x01d9, 0x19bf: 0x0fa9,\n\t// Block 0x67, offset 0x19c0\n\t0x19c0: 0x0fb9, 0x19c1: 0x1089, 0x19c2: 0x0279, 0x19c3: 0x0369, 0x19c4: 0x0289, 0x19c5: 0x13d1,\n\t0x19c6: 0x0039, 0x19c7: 0x0ee9, 0x19c8: 0x1159, 0x19c9: 0x0ef9, 0x19ca: 0x0f09, 0x19cb: 0x1199,\n\t0x19cc: 0x0f31, 0x19cd: 0x0249, 0x19ce: 0x0f41, 0x19cf: 0x0259, 0x19d0: 0x0f51, 0x19d1: 0x0359,\n\t0x19d2: 0x0f61, 0x19d3: 0x0f71, 0x19d4: 0x00d9, 0x19d5: 0x0f99, 0x19d6: 0x2039, 0x19d7: 0x0269,\n\t0x19d8: 0x01d9, 0x19d9: 0x0fa9, 0x19da: 0x0fb9, 0x19db: 0x1089, 0x19dc: 0x0279, 0x19dd: 0x0369,\n\t0x19de: 0x0289, 0x19df: 0x13d1, 0x19e0: 0x0039, 0x19e1: 0x0ee9, 0x19e2: 0x1159, 0x19e3: 0x0ef9,\n\t0x19e4: 0x0f09, 0x19e5: 0x1199, 0x19e6: 0x0f31, 0x19e7: 0x0249, 0x19e8: 0x0f41, 0x19e9: 0x0259,\n\t0x19ea: 0x0f51, 0x19eb: 0x0359, 0x19ec: 0x0f61, 0x19ed: 0x0f71, 0x19ee: 0x00d9, 0x19ef: 0x0f99,\n\t0x19f0: 0x2039, 0x19f1: 0x0269, 0x19f2: 0x01d9, 0x19f3: 0x0fa9, 0x19f4: 0x0fb9, 0x19f5: 0x1089,\n\t0x19f6: 0x0279, 0x19f7: 0x0369, 0x19f8: 0x0289, 0x19f9: 0x13d1, 0x19fa: 0x0039, 0x19fb: 0x0ee9,\n\t0x19fc: 0x1159, 0x19fd: 0x0ef9, 0x19fe: 0x0f09, 0x19ff: 0x1199,\n\t// Block 0x68, offset 0x1a00\n\t0x1a00: 0x0f31, 0x1a01: 0x0249, 0x1a02: 0x0f41, 0x1a03: 0x0259, 0x1a04: 0x0f51, 0x1a05: 0x0359,\n\t0x1a06: 0x0f61, 0x1a07: 0x0f71, 0x1a08: 0x00d9, 0x1a09: 0x0f99, 0x1a0a: 0x2039, 0x1a0b: 0x0269,\n\t0x1a0c: 0x01d9, 0x1a0d: 0x0fa9, 0x1a0e: 0x0fb9, 0x1a0f: 0x1089, 0x1a10: 0x0279, 0x1a11: 0x0369,\n\t0x1a12: 0x0289, 0x1a13: 0x13d1, 0x1a14: 0x0039, 0x1a15: 0x0ee9, 0x1a16: 0x1159, 0x1a17: 0x0ef9,\n\t0x1a18: 0x0f09, 0x1a19: 0x1199, 0x1a1a: 0x0f31, 0x1a1b: 0x0249, 0x1a1c: 0x0f41, 0x1a1d: 0x0259,\n\t0x1a1e: 0x0f51, 0x1a1f: 0x0359, 0x1a20: 0x0f61, 0x1a21: 0x0f71, 0x1a22: 0x00d9, 0x1a23: 0x0f99,\n\t0x1a24: 0x2039, 0x1a25: 0x0269, 0x1a26: 0x01d9, 0x1a27: 0x0fa9, 0x1a28: 0x0fb9, 0x1a29: 0x1089,\n\t0x1a2a: 0x0279, 0x1a2b: 0x0369, 0x1a2c: 0x0289, 0x1a2d: 0x13d1, 0x1a2e: 0x0039, 0x1a2f: 0x0ee9,\n\t0x1a30: 0x1159, 0x1a31: 0x0ef9, 0x1a32: 0x0f09, 0x1a33: 0x1199, 0x1a34: 0x0f31, 0x1a35: 0x0249,\n\t0x1a36: 0x0f41, 0x1a37: 0x0259, 0x1a38: 0x0f51, 0x1a39: 0x0359, 0x1a3a: 0x0f61, 0x1a3b: 0x0f71,\n\t0x1a3c: 0x00d9, 0x1a3d: 0x0f99, 0x1a3e: 0x2039, 0x1a3f: 0x0269,\n\t// Block 0x69, offset 0x1a40\n\t0x1a40: 0x01d9, 0x1a41: 0x0fa9, 0x1a42: 0x0fb9, 0x1a43: 0x1089, 0x1a44: 0x0279, 0x1a45: 0x0369,\n\t0x1a46: 0x0289, 0x1a47: 0x13d1, 0x1a48: 0x0039, 0x1a49: 0x0ee9, 0x1a4a: 0x1159, 0x1a4b: 0x0ef9,\n\t0x1a4c: 0x0f09, 0x1a4d: 0x1199, 0x1a4e: 0x0f31, 0x1a4f: 0x0249, 0x1a50: 0x0f41, 0x1a51: 0x0259,\n\t0x1a52: 0x0f51, 0x1a53: 0x0359, 0x1a54: 0x0f61, 0x1a55: 0x0f71, 0x1a56: 0x00d9, 0x1a57: 0x0f99,\n\t0x1a58: 0x2039, 0x1a59: 0x0269, 0x1a5a: 0x01d9, 0x1a5b: 0x0fa9, 0x1a5c: 0x0fb9, 0x1a5d: 0x1089,\n\t0x1a5e: 0x0279, 0x1a5f: 0x0369, 0x1a60: 0x0289, 0x1a61: 0x13d1, 0x1a62: 0x0039, 0x1a63: 0x0ee9,\n\t0x1a64: 0x1159, 0x1a65: 0x0ef9, 0x1a66: 0x0f09, 0x1a67: 0x1199, 0x1a68: 0x0f31, 0x1a69: 0x0249,\n\t0x1a6a: 0x0f41, 0x1a6b: 0x0259, 0x1a6c: 0x0f51, 0x1a6d: 0x0359, 0x1a6e: 0x0f61, 0x1a6f: 0x0f71,\n\t0x1a70: 0x00d9, 0x1a71: 0x0f99, 0x1a72: 0x2039, 0x1a73: 0x0269, 0x1a74: 0x01d9, 0x1a75: 0x0fa9,\n\t0x1a76: 0x0fb9, 0x1a77: 0x1089, 0x1a78: 0x0279, 0x1a79: 0x0369, 0x1a7a: 0x0289, 0x1a7b: 0x13d1,\n\t0x1a7c: 0x0039, 0x1a7d: 0x0ee9, 0x1a7e: 0x1159, 0x1a7f: 0x0ef9,\n\t// Block 0x6a, offset 0x1a80\n\t0x1a80: 0x0f09, 0x1a81: 0x1199, 0x1a82: 0x0f31, 0x1a83: 0x0249, 0x1a84: 0x0f41, 0x1a85: 0x0259,\n\t0x1a86: 0x0f51, 0x1a87: 0x0359, 0x1a88: 0x0f61, 0x1a89: 0x0f71, 0x1a8a: 0x00d9, 0x1a8b: 0x0f99,\n\t0x1a8c: 0x2039, 0x1a8d: 0x0269, 0x1a8e: 0x01d9, 0x1a8f: 0x0fa9, 0x1a90: 0x0fb9, 0x1a91: 0x1089,\n\t0x1a92: 0x0279, 0x1a93: 0x0369, 0x1a94: 0x0289, 0x1a95: 0x13d1, 0x1a96: 0x0039, 0x1a97: 0x0ee9,\n\t0x1a98: 0x1159, 0x1a99: 0x0ef9, 0x1a9a: 0x0f09, 0x1a9b: 0x1199, 0x1a9c: 0x0f31, 0x1a9d: 0x0249,\n\t0x1a9e: 0x0f41, 0x1a9f: 0x0259, 0x1aa0: 0x0f51, 0x1aa1: 0x0359, 0x1aa2: 0x0f61, 0x1aa3: 0x0f71,\n\t0x1aa4: 0x00d9, 0x1aa5: 0x0f99, 0x1aa6: 0x2039, 0x1aa7: 0x0269, 0x1aa8: 0x01d9, 0x1aa9: 0x0fa9,\n\t0x1aaa: 0x0fb9, 0x1aab: 0x1089, 0x1aac: 0x0279, 0x1aad: 0x0369, 0x1aae: 0x0289, 0x1aaf: 0x13d1,\n\t0x1ab0: 0x0039, 0x1ab1: 0x0ee9, 0x1ab2: 0x1159, 0x1ab3: 0x0ef9, 0x1ab4: 0x0f09, 0x1ab5: 0x1199,\n\t0x1ab6: 0x0f31, 0x1ab7: 0x0249, 0x1ab8: 0x0f41, 0x1ab9: 0x0259, 0x1aba: 0x0f51, 0x1abb: 0x0359,\n\t0x1abc: 0x0f61, 0x1abd: 0x0f71, 0x1abe: 0x00d9, 0x1abf: 0x0f99,\n\t// Block 0x6b, offset 0x1ac0\n\t0x1ac0: 0x2039, 0x1ac1: 0x0269, 0x1ac2: 0x01d9, 0x1ac3: 0x0fa9, 0x1ac4: 0x0fb9, 0x1ac5: 0x1089,\n\t0x1ac6: 0x0279, 0x1ac7: 0x0369, 0x1ac8: 0x0289, 0x1ac9: 0x13d1, 0x1aca: 0x0039, 0x1acb: 0x0ee9,\n\t0x1acc: 0x1159, 0x1acd: 0x0ef9, 0x1ace: 0x0f09, 0x1acf: 0x1199, 0x1ad0: 0x0f31, 0x1ad1: 0x0249,\n\t0x1ad2: 0x0f41, 0x1ad3: 0x0259, 0x1ad4: 0x0f51, 0x1ad5: 0x0359, 0x1ad6: 0x0f61, 0x1ad7: 0x0f71,\n\t0x1ad8: 0x00d9, 0x1ad9: 0x0f99, 0x1ada: 0x2039, 0x1adb: 0x0269, 0x1adc: 0x01d9, 0x1add: 0x0fa9,\n\t0x1ade: 0x0fb9, 0x1adf: 0x1089, 0x1ae0: 0x0279, 0x1ae1: 0x0369, 0x1ae2: 0x0289, 0x1ae3: 0x13d1,\n\t0x1ae4: 0xba81, 0x1ae5: 0xba99, 0x1ae6: 0x0040, 0x1ae7: 0x0040, 0x1ae8: 0xbab1, 0x1ae9: 0x1099,\n\t0x1aea: 0x10b1, 0x1aeb: 0x10c9, 0x1aec: 0xbac9, 0x1aed: 0xbae1, 0x1aee: 0xbaf9, 0x1aef: 0x1429,\n\t0x1af0: 0x1a31, 0x1af1: 0xbb11, 0x1af2: 0xbb29, 0x1af3: 0xbb41, 0x1af4: 0xbb59, 0x1af5: 0xbb71,\n\t0x1af6: 0xbb89, 0x1af7: 0x2109, 0x1af8: 0x1111, 0x1af9: 0x1429, 0x1afa: 0xbba1, 0x1afb: 0xbbb9,\n\t0x1afc: 0xbbd1, 0x1afd: 0x10e1, 0x1afe: 0x10f9, 0x1aff: 0xbbe9,\n\t// Block 0x6c, offset 0x1b00\n\t0x1b00: 0x2079, 0x1b01: 0xbc01, 0x1b02: 0xbab1, 0x1b03: 0x1099, 0x1b04: 0x10b1, 0x1b05: 0x10c9,\n\t0x1b06: 0xbac9, 0x1b07: 0xbae1, 0x1b08: 0xbaf9, 0x1b09: 0x1429, 0x1b0a: 0x1a31, 0x1b0b: 0xbb11,\n\t0x1b0c: 0xbb29, 0x1b0d: 0xbb41, 0x1b0e: 0xbb59, 0x1b0f: 0xbb71, 0x1b10: 0xbb89, 0x1b11: 0x2109,\n\t0x1b12: 0x1111, 0x1b13: 0xbba1, 0x1b14: 0xbba1, 0x1b15: 0xbbb9, 0x1b16: 0xbbd1, 0x1b17: 0x10e1,\n\t0x1b18: 0x10f9, 0x1b19: 0xbbe9, 0x1b1a: 0x2079, 0x1b1b: 0xbc21, 0x1b1c: 0xbac9, 0x1b1d: 0x1429,\n\t0x1b1e: 0xbb11, 0x1b1f: 0x10e1, 0x1b20: 0x1111, 0x1b21: 0x2109, 0x1b22: 0xbab1, 0x1b23: 0x1099,\n\t0x1b24: 0x10b1, 0x1b25: 0x10c9, 0x1b26: 0xbac9, 0x1b27: 0xbae1, 0x1b28: 0xbaf9, 0x1b29: 0x1429,\n\t0x1b2a: 0x1a31, 0x1b2b: 0xbb11, 0x1b2c: 0xbb29, 0x1b2d: 0xbb41, 0x1b2e: 0xbb59, 0x1b2f: 0xbb71,\n\t0x1b30: 0xbb89, 0x1b31: 0x2109, 0x1b32: 0x1111, 0x1b33: 0x1429, 0x1b34: 0xbba1, 0x1b35: 0xbbb9,\n\t0x1b36: 0xbbd1, 0x1b37: 0x10e1, 0x1b38: 0x10f9, 0x1b39: 0xbbe9, 0x1b3a: 0x2079, 0x1b3b: 0xbc01,\n\t0x1b3c: 0xbab1, 0x1b3d: 0x1099, 0x1b3e: 0x10b1, 0x1b3f: 0x10c9,\n\t// Block 0x6d, offset 0x1b40\n\t0x1b40: 0xbac9, 0x1b41: 0xbae1, 0x1b42: 0xbaf9, 0x1b43: 0x1429, 0x1b44: 0x1a31, 0x1b45: 0xbb11,\n\t0x1b46: 0xbb29, 0x1b47: 0xbb41, 0x1b48: 0xbb59, 0x1b49: 0xbb71, 0x1b4a: 0xbb89, 0x1b4b: 0x2109,\n\t0x1b4c: 0x1111, 0x1b4d: 0xbba1, 0x1b4e: 0xbba1, 0x1b4f: 0xbbb9, 0x1b50: 0xbbd1, 0x1b51: 0x10e1,\n\t0x1b52: 0x10f9, 0x1b53: 0xbbe9, 0x1b54: 0x2079, 0x1b55: 0xbc21, 0x1b56: 0xbac9, 0x1b57: 0x1429,\n\t0x1b58: 0xbb11, 0x1b59: 0x10e1, 0x1b5a: 0x1111, 0x1b5b: 0x2109, 0x1b5c: 0xbab1, 0x1b5d: 0x1099,\n\t0x1b5e: 0x10b1, 0x1b5f: 0x10c9, 0x1b60: 0xbac9, 0x1b61: 0xbae1, 0x1b62: 0xbaf9, 0x1b63: 0x1429,\n\t0x1b64: 0x1a31, 0x1b65: 0xbb11, 0x1b66: 0xbb29, 0x1b67: 0xbb41, 0x1b68: 0xbb59, 0x1b69: 0xbb71,\n\t0x1b6a: 0xbb89, 0x1b6b: 0x2109, 0x1b6c: 0x1111, 0x1b6d: 0x1429, 0x1b6e: 0xbba1, 0x1b6f: 0xbbb9,\n\t0x1b70: 0xbbd1, 0x1b71: 0x10e1, 0x1b72: 0x10f9, 0x1b73: 0xbbe9, 0x1b74: 0x2079, 0x1b75: 0xbc01,\n\t0x1b76: 0xbab1, 0x1b77: 0x1099, 0x1b78: 0x10b1, 0x1b79: 0x10c9, 0x1b7a: 0xbac9, 0x1b7b: 0xbae1,\n\t0x1b7c: 0xbaf9, 0x1b7d: 0x1429, 0x1b7e: 0x1a31, 0x1b7f: 0xbb11,\n\t// Block 0x6e, offset 0x1b80\n\t0x1b80: 0xbb29, 0x1b81: 0xbb41, 0x1b82: 0xbb59, 0x1b83: 0xbb71, 0x1b84: 0xbb89, 0x1b85: 0x2109,\n\t0x1b86: 0x1111, 0x1b87: 0xbba1, 0x1b88: 0xbba1, 0x1b89: 0xbbb9, 0x1b8a: 0xbbd1, 0x1b8b: 0x10e1,\n\t0x1b8c: 0x10f9, 0x1b8d: 0xbbe9, 0x1b8e: 0x2079, 0x1b8f: 0xbc21, 0x1b90: 0xbac9, 0x1b91: 0x1429,\n\t0x1b92: 0xbb11, 0x1b93: 0x10e1, 0x1b94: 0x1111, 0x1b95: 0x2109, 0x1b96: 0xbab1, 0x1b97: 0x1099,\n\t0x1b98: 0x10b1, 0x1b99: 0x10c9, 0x1b9a: 0xbac9, 0x1b9b: 0xbae1, 0x1b9c: 0xbaf9, 0x1b9d: 0x1429,\n\t0x1b9e: 0x1a31, 0x1b9f: 0xbb11, 0x1ba0: 0xbb29, 0x1ba1: 0xbb41, 0x1ba2: 0xbb59, 0x1ba3: 0xbb71,\n\t0x1ba4: 0xbb89, 0x1ba5: 0x2109, 0x1ba6: 0x1111, 0x1ba7: 0x1429, 0x1ba8: 0xbba1, 0x1ba9: 0xbbb9,\n\t0x1baa: 0xbbd1, 0x1bab: 0x10e1, 0x1bac: 0x10f9, 0x1bad: 0xbbe9, 0x1bae: 0x2079, 0x1baf: 0xbc01,\n\t0x1bb0: 0xbab1, 0x1bb1: 0x1099, 0x1bb2: 0x10b1, 0x1bb3: 0x10c9, 0x1bb4: 0xbac9, 0x1bb5: 0xbae1,\n\t0x1bb6: 0xbaf9, 0x1bb7: 0x1429, 0x1bb8: 0x1a31, 0x1bb9: 0xbb11, 0x1bba: 0xbb29, 0x1bbb: 0xbb41,\n\t0x1bbc: 0xbb59, 0x1bbd: 0xbb71, 0x1bbe: 0xbb89, 0x1bbf: 0x2109,\n\t// Block 0x6f, offset 0x1bc0\n\t0x1bc0: 0x1111, 0x1bc1: 0xbba1, 0x1bc2: 0xbba1, 0x1bc3: 0xbbb9, 0x1bc4: 0xbbd1, 0x1bc5: 0x10e1,\n\t0x1bc6: 0x10f9, 0x1bc7: 0xbbe9, 0x1bc8: 0x2079, 0x1bc9: 0xbc21, 0x1bca: 0xbac9, 0x1bcb: 0x1429,\n\t0x1bcc: 0xbb11, 0x1bcd: 0x10e1, 0x1bce: 0x1111, 0x1bcf: 0x2109, 0x1bd0: 0xbab1, 0x1bd1: 0x1099,\n\t0x1bd2: 0x10b1, 0x1bd3: 0x10c9, 0x1bd4: 0xbac9, 0x1bd5: 0xbae1, 0x1bd6: 0xbaf9, 0x1bd7: 0x1429,\n\t0x1bd8: 0x1a31, 0x1bd9: 0xbb11, 0x1bda: 0xbb29, 0x1bdb: 0xbb41, 0x1bdc: 0xbb59, 0x1bdd: 0xbb71,\n\t0x1bde: 0xbb89, 0x1bdf: 0x2109, 0x1be0: 0x1111, 0x1be1: 0x1429, 0x1be2: 0xbba1, 0x1be3: 0xbbb9,\n\t0x1be4: 0xbbd1, 0x1be5: 0x10e1, 0x1be6: 0x10f9, 0x1be7: 0xbbe9, 0x1be8: 0x2079, 0x1be9: 0xbc01,\n\t0x1bea: 0xbab1, 0x1beb: 0x1099, 0x1bec: 0x10b1, 0x1bed: 0x10c9, 0x1bee: 0xbac9, 0x1bef: 0xbae1,\n\t0x1bf0: 0xbaf9, 0x1bf1: 0x1429, 0x1bf2: 0x1a31, 0x1bf3: 0xbb11, 0x1bf4: 0xbb29, 0x1bf5: 0xbb41,\n\t0x1bf6: 0xbb59, 0x1bf7: 0xbb71, 0x1bf8: 0xbb89, 0x1bf9: 0x2109, 0x1bfa: 0x1111, 0x1bfb: 0xbba1,\n\t0x1bfc: 0xbba1, 0x1bfd: 0xbbb9, 0x1bfe: 0xbbd1, 0x1bff: 0x10e1,\n\t// Block 0x70, offset 0x1c00\n\t0x1c00: 0x10f9, 0x1c01: 0xbbe9, 0x1c02: 0x2079, 0x1c03: 0xbc21, 0x1c04: 0xbac9, 0x1c05: 0x1429,\n\t0x1c06: 0xbb11, 0x1c07: 0x10e1, 0x1c08: 0x1111, 0x1c09: 0x2109, 0x1c0a: 0xbc41, 0x1c0b: 0xbc41,\n\t0x1c0c: 0x0040, 0x1c0d: 0x0040, 0x1c0e: 0x1f41, 0x1c0f: 0x00c9, 0x1c10: 0x0069, 0x1c11: 0x0079,\n\t0x1c12: 0x1f51, 0x1c13: 0x1f61, 0x1c14: 0x1f71, 0x1c15: 0x1f81, 0x1c16: 0x1f91, 0x1c17: 0x1fa1,\n\t0x1c18: 0x1f41, 0x1c19: 0x00c9, 0x1c1a: 0x0069, 0x1c1b: 0x0079, 0x1c1c: 0x1f51, 0x1c1d: 0x1f61,\n\t0x1c1e: 0x1f71, 0x1c1f: 0x1f81, 0x1c20: 0x1f91, 0x1c21: 0x1fa1, 0x1c22: 0x1f41, 0x1c23: 0x00c9,\n\t0x1c24: 0x0069, 0x1c25: 0x0079, 0x1c26: 0x1f51, 0x1c27: 0x1f61, 0x1c28: 0x1f71, 0x1c29: 0x1f81,\n\t0x1c2a: 0x1f91, 0x1c2b: 0x1fa1, 0x1c2c: 0x1f41, 0x1c2d: 0x00c9, 0x1c2e: 0x0069, 0x1c2f: 0x0079,\n\t0x1c30: 0x1f51, 0x1c31: 0x1f61, 0x1c32: 0x1f71, 0x1c33: 0x1f81, 0x1c34: 0x1f91, 0x1c35: 0x1fa1,\n\t0x1c36: 0x1f41, 0x1c37: 0x00c9, 0x1c38: 0x0069, 0x1c39: 0x0079, 0x1c3a: 0x1f51, 0x1c3b: 0x1f61,\n\t0x1c3c: 0x1f71, 0x1c3d: 0x1f81, 0x1c3e: 0x1f91, 0x1c3f: 0x1fa1,\n\t// Block 0x71, offset 0x1c40\n\t0x1c40: 0xe115, 0x1c41: 0xe115, 0x1c42: 0xe135, 0x1c43: 0xe135, 0x1c44: 0xe115, 0x1c45: 0xe115,\n\t0x1c46: 0xe175, 0x1c47: 0xe175, 0x1c48: 0xe115, 0x1c49: 0xe115, 0x1c4a: 0xe135, 0x1c4b: 0xe135,\n\t0x1c4c: 0xe115, 0x1c4d: 0xe115, 0x1c4e: 0xe1f5, 0x1c4f: 0xe1f5, 0x1c50: 0xe115, 0x1c51: 0xe115,\n\t0x1c52: 0xe135, 0x1c53: 0xe135, 0x1c54: 0xe115, 0x1c55: 0xe115, 0x1c56: 0xe175, 0x1c57: 0xe175,\n\t0x1c58: 0xe115, 0x1c59: 0xe115, 0x1c5a: 0xe135, 0x1c5b: 0xe135, 0x1c5c: 0xe115, 0x1c5d: 0xe115,\n\t0x1c5e: 0x8b05, 0x1c5f: 0x8b05, 0x1c60: 0x04b5, 0x1c61: 0x04b5, 0x1c62: 0x0a08, 0x1c63: 0x0a08,\n\t0x1c64: 0x0a08, 0x1c65: 0x0a08, 0x1c66: 0x0a08, 0x1c67: 0x0a08, 0x1c68: 0x0a08, 0x1c69: 0x0a08,\n\t0x1c6a: 0x0a08, 0x1c6b: 0x0a08, 0x1c6c: 0x0a08, 0x1c6d: 0x0a08, 0x1c6e: 0x0a08, 0x1c6f: 0x0a08,\n\t0x1c70: 0x0a08, 0x1c71: 0x0a08, 0x1c72: 0x0a08, 0x1c73: 0x0a08, 0x1c74: 0x0a08, 0x1c75: 0x0a08,\n\t0x1c76: 0x0a08, 0x1c77: 0x0a08, 0x1c78: 0x0a08, 0x1c79: 0x0a08, 0x1c7a: 0x0a08, 0x1c7b: 0x0a08,\n\t0x1c7c: 0x0a08, 0x1c7d: 0x0a08, 0x1c7e: 0x0a08, 0x1c7f: 0x0a08,\n\t// Block 0x72, offset 0x1c80\n\t0x1c80: 0xb189, 0x1c81: 0xb1a1, 0x1c82: 0xb201, 0x1c83: 0xb249, 0x1c84: 0x0040, 0x1c85: 0xb411,\n\t0x1c86: 0xb291, 0x1c87: 0xb219, 0x1c88: 0xb309, 0x1c89: 0xb429, 0x1c8a: 0xb399, 0x1c8b: 0xb3b1,\n\t0x1c8c: 0xb3c9, 0x1c8d: 0xb3e1, 0x1c8e: 0xb2a9, 0x1c8f: 0xb339, 0x1c90: 0xb369, 0x1c91: 0xb2d9,\n\t0x1c92: 0xb381, 0x1c93: 0xb279, 0x1c94: 0xb2c1, 0x1c95: 0xb1d1, 0x1c96: 0xb1e9, 0x1c97: 0xb231,\n\t0x1c98: 0xb261, 0x1c99: 0xb2f1, 0x1c9a: 0xb321, 0x1c9b: 0xb351, 0x1c9c: 0xbc59, 0x1c9d: 0x7949,\n\t0x1c9e: 0xbc71, 0x1c9f: 0xbc89, 0x1ca0: 0x0040, 0x1ca1: 0xb1a1, 0x1ca2: 0xb201, 0x1ca3: 0x0040,\n\t0x1ca4: 0xb3f9, 0x1ca5: 0x0040, 0x1ca6: 0x0040, 0x1ca7: 0xb219, 0x1ca8: 0x0040, 0x1ca9: 0xb429,\n\t0x1caa: 0xb399, 0x1cab: 0xb3b1, 0x1cac: 0xb3c9, 0x1cad: 0xb3e1, 0x1cae: 0xb2a9, 0x1caf: 0xb339,\n\t0x1cb0: 0xb369, 0x1cb1: 0xb2d9, 0x1cb2: 0xb381, 0x1cb3: 0x0040, 0x1cb4: 0xb2c1, 0x1cb5: 0xb1d1,\n\t0x1cb6: 0xb1e9, 0x1cb7: 0xb231, 0x1cb8: 0x0040, 0x1cb9: 0xb2f1, 0x1cba: 0x0040, 0x1cbb: 0xb351,\n\t0x1cbc: 0x0040, 0x1cbd: 0x0040, 0x1cbe: 0x0040, 0x1cbf: 0x0040,\n\t// Block 0x73, offset 0x1cc0\n\t0x1cc0: 0x0040, 0x1cc1: 0x0040, 0x1cc2: 0xb201, 0x1cc3: 0x0040, 0x1cc4: 0x0040, 0x1cc5: 0x0040,\n\t0x1cc6: 0x0040, 0x1cc7: 0xb219, 0x1cc8: 0x0040, 0x1cc9: 0xb429, 0x1cca: 0x0040, 0x1ccb: 0xb3b1,\n\t0x1ccc: 0x0040, 0x1ccd: 0xb3e1, 0x1cce: 0xb2a9, 0x1ccf: 0xb339, 0x1cd0: 0x0040, 0x1cd1: 0xb2d9,\n\t0x1cd2: 0xb381, 0x1cd3: 0x0040, 0x1cd4: 0xb2c1, 0x1cd5: 0x0040, 0x1cd6: 0x0040, 0x1cd7: 0xb231,\n\t0x1cd8: 0x0040, 0x1cd9: 0xb2f1, 0x1cda: 0x0040, 0x1cdb: 0xb351, 0x1cdc: 0x0040, 0x1cdd: 0x7949,\n\t0x1cde: 0x0040, 0x1cdf: 0xbc89, 0x1ce0: 0x0040, 0x1ce1: 0xb1a1, 0x1ce2: 0xb201, 0x1ce3: 0x0040,\n\t0x1ce4: 0xb3f9, 0x1ce5: 0x0040, 0x1ce6: 0x0040, 0x1ce7: 0xb219, 0x1ce8: 0xb309, 0x1ce9: 0xb429,\n\t0x1cea: 0xb399, 0x1ceb: 0x0040, 0x1cec: 0xb3c9, 0x1ced: 0xb3e1, 0x1cee: 0xb2a9, 0x1cef: 0xb339,\n\t0x1cf0: 0xb369, 0x1cf1: 0xb2d9, 0x1cf2: 0xb381, 0x1cf3: 0x0040, 0x1cf4: 0xb2c1, 0x1cf5: 0xb1d1,\n\t0x1cf6: 0xb1e9, 0x1cf7: 0xb231, 0x1cf8: 0x0040, 0x1cf9: 0xb2f1, 0x1cfa: 0xb321, 0x1cfb: 0xb351,\n\t0x1cfc: 0xbc59, 0x1cfd: 0x0040, 0x1cfe: 0xbc71, 0x1cff: 0x0040,\n\t// Block 0x74, offset 0x1d00\n\t0x1d00: 0xb189, 0x1d01: 0xb1a1, 0x1d02: 0xb201, 0x1d03: 0xb249, 0x1d04: 0xb3f9, 0x1d05: 0xb411,\n\t0x1d06: 0xb291, 0x1d07: 0xb219, 0x1d08: 0xb309, 0x1d09: 0xb429, 0x1d0a: 0x0040, 0x1d0b: 0xb3b1,\n\t0x1d0c: 0xb3c9, 0x1d0d: 0xb3e1, 0x1d0e: 0xb2a9, 0x1d0f: 0xb339, 0x1d10: 0xb369, 0x1d11: 0xb2d9,\n\t0x1d12: 0xb381, 0x1d13: 0xb279, 0x1d14: 0xb2c1, 0x1d15: 0xb1d1, 0x1d16: 0xb1e9, 0x1d17: 0xb231,\n\t0x1d18: 0xb261, 0x1d19: 0xb2f1, 0x1d1a: 0xb321, 0x1d1b: 0xb351, 0x1d1c: 0x0040, 0x1d1d: 0x0040,\n\t0x1d1e: 0x0040, 0x1d1f: 0x0040, 0x1d20: 0x0040, 0x1d21: 0xb1a1, 0x1d22: 0xb201, 0x1d23: 0xb249,\n\t0x1d24: 0x0040, 0x1d25: 0xb411, 0x1d26: 0xb291, 0x1d27: 0xb219, 0x1d28: 0xb309, 0x1d29: 0xb429,\n\t0x1d2a: 0x0040, 0x1d2b: 0xb3b1, 0x1d2c: 0xb3c9, 0x1d2d: 0xb3e1, 0x1d2e: 0xb2a9, 0x1d2f: 0xb339,\n\t0x1d30: 0xb369, 0x1d31: 0xb2d9, 0x1d32: 0xb381, 0x1d33: 0xb279, 0x1d34: 0xb2c1, 0x1d35: 0xb1d1,\n\t0x1d36: 0xb1e9, 0x1d37: 0xb231, 0x1d38: 0xb261, 0x1d39: 0xb2f1, 0x1d3a: 0xb321, 0x1d3b: 0xb351,\n\t0x1d3c: 0x0040, 0x1d3d: 0x0040, 0x1d3e: 0x0040, 0x1d3f: 0x0040,\n\t// Block 0x75, offset 0x1d40\n\t0x1d40: 0x0040, 0x1d41: 0xbca2, 0x1d42: 0xbcba, 0x1d43: 0xbcd2, 0x1d44: 0xbcea, 0x1d45: 0xbd02,\n\t0x1d46: 0xbd1a, 0x1d47: 0xbd32, 0x1d48: 0xbd4a, 0x1d49: 0xbd62, 0x1d4a: 0xbd7a, 0x1d4b: 0x0018,\n\t0x1d4c: 0x0018, 0x1d4d: 0x0040, 0x1d4e: 0x0040, 0x1d4f: 0x0040, 0x1d50: 0xbd92, 0x1d51: 0xbdb2,\n\t0x1d52: 0xbdd2, 0x1d53: 0xbdf2, 0x1d54: 0xbe12, 0x1d55: 0xbe32, 0x1d56: 0xbe52, 0x1d57: 0xbe72,\n\t0x1d58: 0xbe92, 0x1d59: 0xbeb2, 0x1d5a: 0xbed2, 0x1d5b: 0xbef2, 0x1d5c: 0xbf12, 0x1d5d: 0xbf32,\n\t0x1d5e: 0xbf52, 0x1d5f: 0xbf72, 0x1d60: 0xbf92, 0x1d61: 0xbfb2, 0x1d62: 0xbfd2, 0x1d63: 0xbff2,\n\t0x1d64: 0xc012, 0x1d65: 0xc032, 0x1d66: 0xc052, 0x1d67: 0xc072, 0x1d68: 0xc092, 0x1d69: 0xc0b2,\n\t0x1d6a: 0xc0d1, 0x1d6b: 0x1159, 0x1d6c: 0x0269, 0x1d6d: 0x6671, 0x1d6e: 0xc111, 0x1d6f: 0x0040,\n\t0x1d70: 0x0039, 0x1d71: 0x0ee9, 0x1d72: 0x1159, 0x1d73: 0x0ef9, 0x1d74: 0x0f09, 0x1d75: 0x1199,\n\t0x1d76: 0x0f31, 0x1d77: 0x0249, 0x1d78: 0x0f41, 0x1d79: 0x0259, 0x1d7a: 0x0f51, 0x1d7b: 0x0359,\n\t0x1d7c: 0x0f61, 0x1d7d: 0x0f71, 0x1d7e: 0x00d9, 0x1d7f: 0x0f99,\n\t// Block 0x76, offset 0x1d80\n\t0x1d80: 0x2039, 0x1d81: 0x0269, 0x1d82: 0x01d9, 0x1d83: 0x0fa9, 0x1d84: 0x0fb9, 0x1d85: 0x1089,\n\t0x1d86: 0x0279, 0x1d87: 0x0369, 0x1d88: 0x0289, 0x1d89: 0x13d1, 0x1d8a: 0xc129, 0x1d8b: 0x65b1,\n\t0x1d8c: 0xc141, 0x1d8d: 0x1441, 0x1d8e: 0xc159, 0x1d8f: 0xc179, 0x1d90: 0x0018, 0x1d91: 0x0018,\n\t0x1d92: 0x0018, 0x1d93: 0x0018, 0x1d94: 0x0018, 0x1d95: 0x0018, 0x1d96: 0x0018, 0x1d97: 0x0018,\n\t0x1d98: 0x0018, 0x1d99: 0x0018, 0x1d9a: 0x0018, 0x1d9b: 0x0018, 0x1d9c: 0x0018, 0x1d9d: 0x0018,\n\t0x1d9e: 0x0018, 0x1d9f: 0x0018, 0x1da0: 0x0018, 0x1da1: 0x0018, 0x1da2: 0x0018, 0x1da3: 0x0018,\n\t0x1da4: 0x0018, 0x1da5: 0x0018, 0x1da6: 0x0018, 0x1da7: 0x0018, 0x1da8: 0x0018, 0x1da9: 0x0018,\n\t0x1daa: 0xc191, 0x1dab: 0xc1a9, 0x1dac: 0x0040, 0x1dad: 0x0040, 0x1dae: 0x0040, 0x1daf: 0x0040,\n\t0x1db0: 0x0018, 0x1db1: 0x0018, 0x1db2: 0x0018, 0x1db3: 0x0018, 0x1db4: 0x0018, 0x1db5: 0x0018,\n\t0x1db6: 0x0018, 0x1db7: 0x0018, 0x1db8: 0x0018, 0x1db9: 0x0018, 0x1dba: 0x0018, 0x1dbb: 0x0018,\n\t0x1dbc: 0x0018, 0x1dbd: 0x0018, 0x1dbe: 0x0018, 0x1dbf: 0x0018,\n\t// Block 0x77, offset 0x1dc0\n\t0x1dc0: 0xc1d9, 0x1dc1: 0xc211, 0x1dc2: 0xc249, 0x1dc3: 0x0040, 0x1dc4: 0x0040, 0x1dc5: 0x0040,\n\t0x1dc6: 0x0040, 0x1dc7: 0x0040, 0x1dc8: 0x0040, 0x1dc9: 0x0040, 0x1dca: 0x0040, 0x1dcb: 0x0040,\n\t0x1dcc: 0x0040, 0x1dcd: 0x0040, 0x1dce: 0x0040, 0x1dcf: 0x0040, 0x1dd0: 0xc269, 0x1dd1: 0xc289,\n\t0x1dd2: 0xc2a9, 0x1dd3: 0xc2c9, 0x1dd4: 0xc2e9, 0x1dd5: 0xc309, 0x1dd6: 0xc329, 0x1dd7: 0xc349,\n\t0x1dd8: 0xc369, 0x1dd9: 0xc389, 0x1dda: 0xc3a9, 0x1ddb: 0xc3c9, 0x1ddc: 0xc3e9, 0x1ddd: 0xc409,\n\t0x1dde: 0xc429, 0x1ddf: 0xc449, 0x1de0: 0xc469, 0x1de1: 0xc489, 0x1de2: 0xc4a9, 0x1de3: 0xc4c9,\n\t0x1de4: 0xc4e9, 0x1de5: 0xc509, 0x1de6: 0xc529, 0x1de7: 0xc549, 0x1de8: 0xc569, 0x1de9: 0xc589,\n\t0x1dea: 0xc5a9, 0x1deb: 0xc5c9, 0x1dec: 0xc5e9, 0x1ded: 0xc609, 0x1dee: 0xc629, 0x1def: 0xc649,\n\t0x1df0: 0xc669, 0x1df1: 0xc689, 0x1df2: 0xc6a9, 0x1df3: 0xc6c9, 0x1df4: 0xc6e9, 0x1df5: 0xc709,\n\t0x1df6: 0xc729, 0x1df7: 0xc749, 0x1df8: 0xc769, 0x1df9: 0xc789, 0x1dfa: 0xc7a9, 0x1dfb: 0xc7c9,\n\t0x1dfc: 0x0040, 0x1dfd: 0x0040, 0x1dfe: 0x0040, 0x1dff: 0x0040,\n\t// Block 0x78, offset 0x1e00\n\t0x1e00: 0xcaf9, 0x1e01: 0xcb19, 0x1e02: 0xcb39, 0x1e03: 0x8b1d, 0x1e04: 0xcb59, 0x1e05: 0xcb79,\n\t0x1e06: 0xcb99, 0x1e07: 0xcbb9, 0x1e08: 0xcbd9, 0x1e09: 0xcbf9, 0x1e0a: 0xcc19, 0x1e0b: 0xcc39,\n\t0x1e0c: 0xcc59, 0x1e0d: 0x8b3d, 0x1e0e: 0xcc79, 0x1e0f: 0xcc99, 0x1e10: 0xccb9, 0x1e11: 0xccd9,\n\t0x1e12: 0x8b5d, 0x1e13: 0xccf9, 0x1e14: 0xcd19, 0x1e15: 0xc429, 0x1e16: 0x8b7d, 0x1e17: 0xcd39,\n\t0x1e18: 0xcd59, 0x1e19: 0xcd79, 0x1e1a: 0xcd99, 0x1e1b: 0xcdb9, 0x1e1c: 0x8b9d, 0x1e1d: 0xcdd9,\n\t0x1e1e: 0xcdf9, 0x1e1f: 0xce19, 0x1e20: 0xce39, 0x1e21: 0xce59, 0x1e22: 0xc789, 0x1e23: 0xce79,\n\t0x1e24: 0xce99, 0x1e25: 0xceb9, 0x1e26: 0xced9, 0x1e27: 0xcef9, 0x1e28: 0xcf19, 0x1e29: 0xcf39,\n\t0x1e2a: 0xcf59, 0x1e2b: 0xcf79, 0x1e2c: 0xcf99, 0x1e2d: 0xcfb9, 0x1e2e: 0xcfd9, 0x1e2f: 0xcff9,\n\t0x1e30: 0xd019, 0x1e31: 0xd039, 0x1e32: 0xd039, 0x1e33: 0xd039, 0x1e34: 0x8bbd, 0x1e35: 0xd059,\n\t0x1e36: 0xd079, 0x1e37: 0xd099, 0x1e38: 0x8bdd, 0x1e39: 0xd0b9, 0x1e3a: 0xd0d9, 0x1e3b: 0xd0f9,\n\t0x1e3c: 0xd119, 0x1e3d: 0xd139, 0x1e3e: 0xd159, 0x1e3f: 0xd179,\n\t// Block 0x79, offset 0x1e40\n\t0x1e40: 0xd199, 0x1e41: 0xd1b9, 0x1e42: 0xd1d9, 0x1e43: 0xd1f9, 0x1e44: 0xd219, 0x1e45: 0xd239,\n\t0x1e46: 0xd239, 0x1e47: 0xd259, 0x1e48: 0xd279, 0x1e49: 0xd299, 0x1e4a: 0xd2b9, 0x1e4b: 0xd2d9,\n\t0x1e4c: 0xd2f9, 0x1e4d: 0xd319, 0x1e4e: 0xd339, 0x1e4f: 0xd359, 0x1e50: 0xd379, 0x1e51: 0xd399,\n\t0x1e52: 0xd3b9, 0x1e53: 0xd3d9, 0x1e54: 0xd3f9, 0x1e55: 0xd419, 0x1e56: 0xd439, 0x1e57: 0xd459,\n\t0x1e58: 0xd479, 0x1e59: 0x8bfd, 0x1e5a: 0xd499, 0x1e5b: 0xd4b9, 0x1e5c: 0xd4d9, 0x1e5d: 0xc309,\n\t0x1e5e: 0xd4f9, 0x1e5f: 0xd519, 0x1e60: 0x8c1d, 0x1e61: 0x8c3d, 0x1e62: 0xd539, 0x1e63: 0xd559,\n\t0x1e64: 0xd579, 0x1e65: 0xd599, 0x1e66: 0xd5b9, 0x1e67: 0xd5d9, 0x1e68: 0x2040, 0x1e69: 0xd5f9,\n\t0x1e6a: 0xd619, 0x1e6b: 0xd619, 0x1e6c: 0x8c5d, 0x1e6d: 0xd639, 0x1e6e: 0xd659, 0x1e6f: 0xd679,\n\t0x1e70: 0xd699, 0x1e71: 0x8c7d, 0x1e72: 0xd6b9, 0x1e73: 0xd6d9, 0x1e74: 0x2040, 0x1e75: 0xd6f9,\n\t0x1e76: 0xd719, 0x1e77: 0xd739, 0x1e78: 0xd759, 0x1e79: 0xd779, 0x1e7a: 0xd799, 0x1e7b: 0x8c9d,\n\t0x1e7c: 0xd7b9, 0x1e7d: 0x8cbd, 0x1e7e: 0xd7d9, 0x1e7f: 0xd7f9,\n\t// Block 0x7a, offset 0x1e80\n\t0x1e80: 0xd819, 0x1e81: 0xd839, 0x1e82: 0xd859, 0x1e83: 0xd879, 0x1e84: 0xd899, 0x1e85: 0xd8b9,\n\t0x1e86: 0xd8d9, 0x1e87: 0xd8f9, 0x1e88: 0xd919, 0x1e89: 0x8cdd, 0x1e8a: 0xd939, 0x1e8b: 0xd959,\n\t0x1e8c: 0xd979, 0x1e8d: 0xd999, 0x1e8e: 0xd9b9, 0x1e8f: 0x8cfd, 0x1e90: 0xd9d9, 0x1e91: 0x8d1d,\n\t0x1e92: 0x8d3d, 0x1e93: 0xd9f9, 0x1e94: 0xda19, 0x1e95: 0xda19, 0x1e96: 0xda39, 0x1e97: 0x8d5d,\n\t0x1e98: 0x8d7d, 0x1e99: 0xda59, 0x1e9a: 0xda79, 0x1e9b: 0xda99, 0x1e9c: 0xdab9, 0x1e9d: 0xdad9,\n\t0x1e9e: 0xdaf9, 0x1e9f: 0xdb19, 0x1ea0: 0xdb39, 0x1ea1: 0xdb59, 0x1ea2: 0xdb79, 0x1ea3: 0xdb99,\n\t0x1ea4: 0x8d9d, 0x1ea5: 0xdbb9, 0x1ea6: 0xdbd9, 0x1ea7: 0xdbf9, 0x1ea8: 0xdc19, 0x1ea9: 0xdbf9,\n\t0x1eaa: 0xdc39, 0x1eab: 0xdc59, 0x1eac: 0xdc79, 0x1ead: 0xdc99, 0x1eae: 0xdcb9, 0x1eaf: 0xdcd9,\n\t0x1eb0: 0xdcf9, 0x1eb1: 0xdd19, 0x1eb2: 0xdd39, 0x1eb3: 0xdd59, 0x1eb4: 0xdd79, 0x1eb5: 0xdd99,\n\t0x1eb6: 0xddb9, 0x1eb7: 0xddd9, 0x1eb8: 0x8dbd, 0x1eb9: 0xddf9, 0x1eba: 0xde19, 0x1ebb: 0xde39,\n\t0x1ebc: 0xde59, 0x1ebd: 0xde79, 0x1ebe: 0x8ddd, 0x1ebf: 0xde99,\n\t// Block 0x7b, offset 0x1ec0\n\t0x1ec0: 0xe599, 0x1ec1: 0xe5b9, 0x1ec2: 0xe5d9, 0x1ec3: 0xe5f9, 0x1ec4: 0xe619, 0x1ec5: 0xe639,\n\t0x1ec6: 0x8efd, 0x1ec7: 0xe659, 0x1ec8: 0xe679, 0x1ec9: 0xe699, 0x1eca: 0xe6b9, 0x1ecb: 0xe6d9,\n\t0x1ecc: 0xe6f9, 0x1ecd: 0x8f1d, 0x1ece: 0xe719, 0x1ecf: 0xe739, 0x1ed0: 0x8f3d, 0x1ed1: 0x8f5d,\n\t0x1ed2: 0xe759, 0x1ed3: 0xe779, 0x1ed4: 0xe799, 0x1ed5: 0xe7b9, 0x1ed6: 0xe7d9, 0x1ed7: 0xe7f9,\n\t0x1ed8: 0xe819, 0x1ed9: 0xe839, 0x1eda: 0xe859, 0x1edb: 0x8f7d, 0x1edc: 0xe879, 0x1edd: 0x8f9d,\n\t0x1ede: 0xe899, 0x1edf: 0x2040, 0x1ee0: 0xe8b9, 0x1ee1: 0xe8d9, 0x1ee2: 0xe8f9, 0x1ee3: 0x8fbd,\n\t0x1ee4: 0xe919, 0x1ee5: 0xe939, 0x1ee6: 0x8fdd, 0x1ee7: 0x8ffd, 0x1ee8: 0xe959, 0x1ee9: 0xe979,\n\t0x1eea: 0xe999, 0x1eeb: 0xe9b9, 0x1eec: 0xe9d9, 0x1eed: 0xe9d9, 0x1eee: 0xe9f9, 0x1eef: 0xea19,\n\t0x1ef0: 0xea39, 0x1ef1: 0xea59, 0x1ef2: 0xea79, 0x1ef3: 0xea99, 0x1ef4: 0xeab9, 0x1ef5: 0x901d,\n\t0x1ef6: 0xead9, 0x1ef7: 0x903d, 0x1ef8: 0xeaf9, 0x1ef9: 0x905d, 0x1efa: 0xeb19, 0x1efb: 0x907d,\n\t0x1efc: 0x909d, 0x1efd: 0x90bd, 0x1efe: 0xeb39, 0x1eff: 0xeb59,\n\t// Block 0x7c, offset 0x1f00\n\t0x1f00: 0xeb79, 0x1f01: 0x90dd, 0x1f02: 0x90fd, 0x1f03: 0x911d, 0x1f04: 0x913d, 0x1f05: 0xeb99,\n\t0x1f06: 0xebb9, 0x1f07: 0xebb9, 0x1f08: 0xebd9, 0x1f09: 0xebf9, 0x1f0a: 0xec19, 0x1f0b: 0xec39,\n\t0x1f0c: 0xec59, 0x1f0d: 0x915d, 0x1f0e: 0xec79, 0x1f0f: 0xec99, 0x1f10: 0xecb9, 0x1f11: 0xecd9,\n\t0x1f12: 0x917d, 0x1f13: 0xecf9, 0x1f14: 0x919d, 0x1f15: 0x91bd, 0x1f16: 0xed19, 0x1f17: 0xed39,\n\t0x1f18: 0xed59, 0x1f19: 0xed79, 0x1f1a: 0xed99, 0x1f1b: 0xedb9, 0x1f1c: 0x91dd, 0x1f1d: 0x91fd,\n\t0x1f1e: 0x921d, 0x1f1f: 0x2040, 0x1f20: 0xedd9, 0x1f21: 0x923d, 0x1f22: 0xedf9, 0x1f23: 0xee19,\n\t0x1f24: 0xee39, 0x1f25: 0x925d, 0x1f26: 0xee59, 0x1f27: 0xee79, 0x1f28: 0xee99, 0x1f29: 0xeeb9,\n\t0x1f2a: 0xeed9, 0x1f2b: 0x927d, 0x1f2c: 0xeef9, 0x1f2d: 0xef19, 0x1f2e: 0xef39, 0x1f2f: 0xef59,\n\t0x1f30: 0xef79, 0x1f31: 0xef99, 0x1f32: 0x929d, 0x1f33: 0x92bd, 0x1f34: 0xefb9, 0x1f35: 0x92dd,\n\t0x1f36: 0xefd9, 0x1f37: 0x92fd, 0x1f38: 0xeff9, 0x1f39: 0xf019, 0x1f3a: 0xf039, 0x1f3b: 0x931d,\n\t0x1f3c: 0x933d, 0x1f3d: 0xf059, 0x1f3e: 0x935d, 0x1f3f: 0xf079,\n\t// Block 0x7d, offset 0x1f40\n\t0x1f40: 0xf6b9, 0x1f41: 0xf6d9, 0x1f42: 0xf6f9, 0x1f43: 0xf719, 0x1f44: 0xf739, 0x1f45: 0x951d,\n\t0x1f46: 0xf759, 0x1f47: 0xf779, 0x1f48: 0xf799, 0x1f49: 0xf7b9, 0x1f4a: 0xf7d9, 0x1f4b: 0x953d,\n\t0x1f4c: 0x955d, 0x1f4d: 0xf7f9, 0x1f4e: 0xf819, 0x1f4f: 0xf839, 0x1f50: 0xf859, 0x1f51: 0xf879,\n\t0x1f52: 0xf899, 0x1f53: 0x957d, 0x1f54: 0xf8b9, 0x1f55: 0xf8d9, 0x1f56: 0xf8f9, 0x1f57: 0xf919,\n\t0x1f58: 0x959d, 0x1f59: 0x95bd, 0x1f5a: 0xf939, 0x1f5b: 0xf959, 0x1f5c: 0xf979, 0x1f5d: 0x95dd,\n\t0x1f5e: 0xf999, 0x1f5f: 0xf9b9, 0x1f60: 0x6815, 0x1f61: 0x95fd, 0x1f62: 0xf9d9, 0x1f63: 0xf9f9,\n\t0x1f64: 0xfa19, 0x1f65: 0x961d, 0x1f66: 0xfa39, 0x1f67: 0xfa59, 0x1f68: 0xfa79, 0x1f69: 0xfa99,\n\t0x1f6a: 0xfab9, 0x1f6b: 0xfad9, 0x1f6c: 0xfaf9, 0x1f6d: 0x963d, 0x1f6e: 0xfb19, 0x1f6f: 0xfb39,\n\t0x1f70: 0xfb59, 0x1f71: 0x965d, 0x1f72: 0xfb79, 0x1f73: 0xfb99, 0x1f74: 0xfbb9, 0x1f75: 0xfbd9,\n\t0x1f76: 0x7b35, 0x1f77: 0x967d, 0x1f78: 0xfbf9, 0x1f79: 0xfc19, 0x1f7a: 0xfc39, 0x1f7b: 0x969d,\n\t0x1f7c: 0xfc59, 0x1f7d: 0x96bd, 0x1f7e: 0xfc79, 0x1f7f: 0xfc79,\n\t// Block 0x7e, offset 0x1f80\n\t0x1f80: 0xfc99, 0x1f81: 0x96dd, 0x1f82: 0xfcb9, 0x1f83: 0xfcd9, 0x1f84: 0xfcf9, 0x1f85: 0xfd19,\n\t0x1f86: 0xfd39, 0x1f87: 0xfd59, 0x1f88: 0xfd79, 0x1f89: 0x96fd, 0x1f8a: 0xfd99, 0x1f8b: 0xfdb9,\n\t0x1f8c: 0xfdd9, 0x1f8d: 0xfdf9, 0x1f8e: 0xfe19, 0x1f8f: 0xfe39, 0x1f90: 0x971d, 0x1f91: 0xfe59,\n\t0x1f92: 0x973d, 0x1f93: 0x975d, 0x1f94: 0x977d, 0x1f95: 0xfe79, 0x1f96: 0xfe99, 0x1f97: 0xfeb9,\n\t0x1f98: 0xfed9, 0x1f99: 0xfef9, 0x1f9a: 0xff19, 0x1f9b: 0xff39, 0x1f9c: 0xff59, 0x1f9d: 0x979d,\n\t0x1f9e: 0x0040, 0x1f9f: 0x0040, 0x1fa0: 0x0040, 0x1fa1: 0x0040, 0x1fa2: 0x0040, 0x1fa3: 0x0040,\n\t0x1fa4: 0x0040, 0x1fa5: 0x0040, 0x1fa6: 0x0040, 0x1fa7: 0x0040, 0x1fa8: 0x0040, 0x1fa9: 0x0040,\n\t0x1faa: 0x0040, 0x1fab: 0x0040, 0x1fac: 0x0040, 0x1fad: 0x0040, 0x1fae: 0x0040, 0x1faf: 0x0040,\n\t0x1fb0: 0x0040, 0x1fb1: 0x0040, 0x1fb2: 0x0040, 0x1fb3: 0x0040, 0x1fb4: 0x0040, 0x1fb5: 0x0040,\n\t0x1fb6: 0x0040, 0x1fb7: 0x0040, 0x1fb8: 0x0040, 0x1fb9: 0x0040, 0x1fba: 0x0040, 0x1fbb: 0x0040,\n\t0x1fbc: 0x0040, 0x1fbd: 0x0040, 0x1fbe: 0x0040, 0x1fbf: 0x0040,\n}\n\n// idnaIndex: 36 blocks, 2304 entries, 4608 bytes\n// Block 0 is the zero block.\nvar idnaIndex = [2304]uint16{\n\t// Block 0x0, offset 0x0\n\t// Block 0x1, offset 0x40\n\t// Block 0x2, offset 0x80\n\t// Block 0x3, offset 0xc0\n\t0xc2: 0x01, 0xc3: 0x7d, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x04, 0xc7: 0x05,\n\t0xc8: 0x06, 0xc9: 0x7e, 0xca: 0x7f, 0xcb: 0x07, 0xcc: 0x80, 0xcd: 0x08, 0xce: 0x09, 0xcf: 0x0a,\n\t0xd0: 0x81, 0xd1: 0x0b, 0xd2: 0x0c, 0xd3: 0x0d, 0xd4: 0x0e, 0xd5: 0x82, 0xd6: 0x83, 0xd7: 0x84,\n\t0xd8: 0x0f, 0xd9: 0x10, 0xda: 0x85, 0xdb: 0x11, 0xdc: 0x12, 0xdd: 0x86, 0xde: 0x87, 0xdf: 0x88,\n\t0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, 0xe5: 0x07, 0xe6: 0x07, 0xe7: 0x07,\n\t0xe8: 0x07, 0xe9: 0x08, 0xea: 0x09, 0xeb: 0x07, 0xec: 0x07, 0xed: 0x0a, 0xee: 0x0b, 0xef: 0x0c,\n\t0xf0: 0x1d, 0xf1: 0x1e, 0xf2: 0x1e, 0xf3: 0x20, 0xf4: 0x21,\n\t// Block 0x4, offset 0x100\n\t0x120: 0x89, 0x121: 0x13, 0x122: 0x8a, 0x123: 0x8b, 0x124: 0x8c, 0x125: 0x14, 0x126: 0x15, 0x127: 0x16,\n\t0x128: 0x17, 0x129: 0x18, 0x12a: 0x19, 0x12b: 0x1a, 0x12c: 0x1b, 0x12d: 0x1c, 0x12e: 0x1d, 0x12f: 0x8d,\n\t0x130: 0x8e, 0x131: 0x1e, 0x132: 0x1f, 0x133: 0x20, 0x134: 0x8f, 0x135: 0x21, 0x136: 0x90, 0x137: 0x91,\n\t0x138: 0x92, 0x139: 0x93, 0x13a: 0x22, 0x13b: 0x94, 0x13c: 0x95, 0x13d: 0x23, 0x13e: 0x24, 0x13f: 0x96,\n\t// Block 0x5, offset 0x140\n\t0x140: 0x97, 0x141: 0x98, 0x142: 0x99, 0x143: 0x9a, 0x144: 0x9b, 0x145: 0x9c, 0x146: 0x9d, 0x147: 0x9e,\n\t0x148: 0x9f, 0x149: 0xa0, 0x14a: 0xa1, 0x14b: 0xa2, 0x14c: 0xa3, 0x14d: 0xa4, 0x14e: 0xa5, 0x14f: 0xa6,\n\t0x150: 0xa7, 0x151: 0x9f, 0x152: 0x9f, 0x153: 0x9f, 0x154: 0x9f, 0x155: 0x9f, 0x156: 0x9f, 0x157: 0x9f,\n\t0x158: 0x9f, 0x159: 0xa8, 0x15a: 0xa9, 0x15b: 0xaa, 0x15c: 0xab, 0x15d: 0xac, 0x15e: 0xad, 0x15f: 0xae,\n\t0x160: 0xaf, 0x161: 0xb0, 0x162: 0xb1, 0x163: 0xb2, 0x164: 0xb3, 0x165: 0xb4, 0x166: 0xb5, 0x167: 0xb6,\n\t0x168: 0xb7, 0x169: 0xb8, 0x16a: 0xb9, 0x16b: 0xba, 0x16c: 0xbb, 0x16d: 0xbc, 0x16e: 0xbd, 0x16f: 0xbe,\n\t0x170: 0xbf, 0x171: 0xc0, 0x172: 0xc1, 0x173: 0xc2, 0x174: 0x25, 0x175: 0x26, 0x176: 0x27, 0x177: 0xc3,\n\t0x178: 0x28, 0x179: 0x28, 0x17a: 0x29, 0x17b: 0x28, 0x17c: 0xc4, 0x17d: 0x2a, 0x17e: 0x2b, 0x17f: 0x2c,\n\t// Block 0x6, offset 0x180\n\t0x180: 0x2d, 0x181: 0x2e, 0x182: 0x2f, 0x183: 0xc5, 0x184: 0x30, 0x185: 0x31, 0x186: 0xc6, 0x187: 0x9b,\n\t0x188: 0xc7, 0x189: 0xc8, 0x18a: 0x9b, 0x18b: 0x9b, 0x18c: 0xc9, 0x18d: 0x9b, 0x18e: 0x9b, 0x18f: 0x9b,\n\t0x190: 0xca, 0x191: 0x32, 0x192: 0x33, 0x193: 0x34, 0x194: 0x9b, 0x195: 0x9b, 0x196: 0x9b, 0x197: 0x9b,\n\t0x198: 0x9b, 0x199: 0x9b, 0x19a: 0x9b, 0x19b: 0x9b, 0x19c: 0x9b, 0x19d: 0x9b, 0x19e: 0x9b, 0x19f: 0x9b,\n\t0x1a0: 0x9b, 0x1a1: 0x9b, 0x1a2: 0x9b, 0x1a3: 0x9b, 0x1a4: 0x9b, 0x1a5: 0x9b, 0x1a6: 0x9b, 0x1a7: 0x9b,\n\t0x1a8: 0xcb, 0x1a9: 0xcc, 0x1aa: 0x9b, 0x1ab: 0xcd, 0x1ac: 0x9b, 0x1ad: 0xce, 0x1ae: 0xcf, 0x1af: 0xd0,\n\t0x1b0: 0xd1, 0x1b1: 0x35, 0x1b2: 0x28, 0x1b3: 0x36, 0x1b4: 0xd2, 0x1b5: 0xd3, 0x1b6: 0xd4, 0x1b7: 0xd5,\n\t0x1b8: 0xd6, 0x1b9: 0xd7, 0x1ba: 0xd8, 0x1bb: 0xd9, 0x1bc: 0xda, 0x1bd: 0xdb, 0x1be: 0xdc, 0x1bf: 0x37,\n\t// Block 0x7, offset 0x1c0\n\t0x1c0: 0x38, 0x1c1: 0xdd, 0x1c2: 0xde, 0x1c3: 0xdf, 0x1c4: 0xe0, 0x1c5: 0x39, 0x1c6: 0x3a, 0x1c7: 0xe1,\n\t0x1c8: 0xe2, 0x1c9: 0x3b, 0x1ca: 0x3c, 0x1cb: 0x3d, 0x1cc: 0x3e, 0x1cd: 0x3f, 0x1ce: 0x40, 0x1cf: 0x41,\n\t0x1d0: 0x9f, 0x1d1: 0x9f, 0x1d2: 0x9f, 0x1d3: 0x9f, 0x1d4: 0x9f, 0x1d5: 0x9f, 0x1d6: 0x9f, 0x1d7: 0x9f,\n\t0x1d8: 0x9f, 0x1d9: 0x9f, 0x1da: 0x9f, 0x1db: 0x9f, 0x1dc: 0x9f, 0x1dd: 0x9f, 0x1de: 0x9f, 0x1df: 0x9f,\n\t0x1e0: 0x9f, 0x1e1: 0x9f, 0x1e2: 0x9f, 0x1e3: 0x9f, 0x1e4: 0x9f, 0x1e5: 0x9f, 0x1e6: 0x9f, 0x1e7: 0x9f,\n\t0x1e8: 0x9f, 0x1e9: 0x9f, 0x1ea: 0x9f, 0x1eb: 0x9f, 0x1ec: 0x9f, 0x1ed: 0x9f, 0x1ee: 0x9f, 0x1ef: 0x9f,\n\t0x1f0: 0x9f, 0x1f1: 0x9f, 0x1f2: 0x9f, 0x1f3: 0x9f, 0x1f4: 0x9f, 0x1f5: 0x9f, 0x1f6: 0x9f, 0x1f7: 0x9f,\n\t0x1f8: 0x9f, 0x1f9: 0x9f, 0x1fa: 0x9f, 0x1fb: 0x9f, 0x1fc: 0x9f, 0x1fd: 0x9f, 0x1fe: 0x9f, 0x1ff: 0x9f,\n\t// Block 0x8, offset 0x200\n\t0x200: 0x9f, 0x201: 0x9f, 0x202: 0x9f, 0x203: 0x9f, 0x204: 0x9f, 0x205: 0x9f, 0x206: 0x9f, 0x207: 0x9f,\n\t0x208: 0x9f, 0x209: 0x9f, 0x20a: 0x9f, 0x20b: 0x9f, 0x20c: 0x9f, 0x20d: 0x9f, 0x20e: 0x9f, 0x20f: 0x9f,\n\t0x210: 0x9f, 0x211: 0x9f, 0x212: 0x9f, 0x213: 0x9f, 0x214: 0x9f, 0x215: 0x9f, 0x216: 0x9f, 0x217: 0x9f,\n\t0x218: 0x9f, 0x219: 0x9f, 0x21a: 0x9f, 0x21b: 0x9f, 0x21c: 0x9f, 0x21d: 0x9f, 0x21e: 0x9f, 0x21f: 0x9f,\n\t0x220: 0x9f, 0x221: 0x9f, 0x222: 0x9f, 0x223: 0x9f, 0x224: 0x9f, 0x225: 0x9f, 0x226: 0x9f, 0x227: 0x9f,\n\t0x228: 0x9f, 0x229: 0x9f, 0x22a: 0x9f, 0x22b: 0x9f, 0x22c: 0x9f, 0x22d: 0x9f, 0x22e: 0x9f, 0x22f: 0x9f,\n\t0x230: 0x9f, 0x231: 0x9f, 0x232: 0x9f, 0x233: 0x9f, 0x234: 0x9f, 0x235: 0x9f, 0x236: 0xb2, 0x237: 0x9b,\n\t0x238: 0x9f, 0x239: 0x9f, 0x23a: 0x9f, 0x23b: 0x9f, 0x23c: 0x9f, 0x23d: 0x9f, 0x23e: 0x9f, 0x23f: 0x9f,\n\t// Block 0x9, offset 0x240\n\t0x240: 0x9f, 0x241: 0x9f, 0x242: 0x9f, 0x243: 0x9f, 0x244: 0x9f, 0x245: 0x9f, 0x246: 0x9f, 0x247: 0x9f,\n\t0x248: 0x9f, 0x249: 0x9f, 0x24a: 0x9f, 0x24b: 0x9f, 0x24c: 0x9f, 0x24d: 0x9f, 0x24e: 0x9f, 0x24f: 0x9f,\n\t0x250: 0x9f, 0x251: 0x9f, 0x252: 0x9f, 0x253: 0x9f, 0x254: 0x9f, 0x255: 0x9f, 0x256: 0x9f, 0x257: 0x9f,\n\t0x258: 0x9f, 0x259: 0x9f, 0x25a: 0x9f, 0x25b: 0x9f, 0x25c: 0x9f, 0x25d: 0x9f, 0x25e: 0x9f, 0x25f: 0x9f,\n\t0x260: 0x9f, 0x261: 0x9f, 0x262: 0x9f, 0x263: 0x9f, 0x264: 0x9f, 0x265: 0x9f, 0x266: 0x9f, 0x267: 0x9f,\n\t0x268: 0x9f, 0x269: 0x9f, 0x26a: 0x9f, 0x26b: 0x9f, 0x26c: 0x9f, 0x26d: 0x9f, 0x26e: 0x9f, 0x26f: 0x9f,\n\t0x270: 0x9f, 0x271: 0x9f, 0x272: 0x9f, 0x273: 0x9f, 0x274: 0x9f, 0x275: 0x9f, 0x276: 0x9f, 0x277: 0x9f,\n\t0x278: 0x9f, 0x279: 0x9f, 0x27a: 0x9f, 0x27b: 0x9f, 0x27c: 0x9f, 0x27d: 0x9f, 0x27e: 0x9f, 0x27f: 0x9f,\n\t// Block 0xa, offset 0x280\n\t0x280: 0x9f, 0x281: 0x9f, 0x282: 0x9f, 0x283: 0x9f, 0x284: 0x9f, 0x285: 0x9f, 0x286: 0x9f, 0x287: 0x9f,\n\t0x288: 0x9f, 0x289: 0x9f, 0x28a: 0x9f, 0x28b: 0x9f, 0x28c: 0x9f, 0x28d: 0x9f, 0x28e: 0x9f, 0x28f: 0x9f,\n\t0x290: 0x9f, 0x291: 0x9f, 0x292: 0x9f, 0x293: 0x9f, 0x294: 0x9f, 0x295: 0x9f, 0x296: 0x9f, 0x297: 0x9f,\n\t0x298: 0x9f, 0x299: 0x9f, 0x29a: 0x9f, 0x29b: 0x9f, 0x29c: 0x9f, 0x29d: 0x9f, 0x29e: 0x9f, 0x29f: 0x9f,\n\t0x2a0: 0x9f, 0x2a1: 0x9f, 0x2a2: 0x9f, 0x2a3: 0x9f, 0x2a4: 0x9f, 0x2a5: 0x9f, 0x2a6: 0x9f, 0x2a7: 0x9f,\n\t0x2a8: 0x9f, 0x2a9: 0x9f, 0x2aa: 0x9f, 0x2ab: 0x9f, 0x2ac: 0x9f, 0x2ad: 0x9f, 0x2ae: 0x9f, 0x2af: 0x9f,\n\t0x2b0: 0x9f, 0x2b1: 0x9f, 0x2b2: 0x9f, 0x2b3: 0x9f, 0x2b4: 0x9f, 0x2b5: 0x9f, 0x2b6: 0x9f, 0x2b7: 0x9f,\n\t0x2b8: 0x9f, 0x2b9: 0x9f, 0x2ba: 0x9f, 0x2bb: 0x9f, 0x2bc: 0x9f, 0x2bd: 0x9f, 0x2be: 0x9f, 0x2bf: 0xe3,\n\t// Block 0xb, offset 0x2c0\n\t0x2c0: 0x9f, 0x2c1: 0x9f, 0x2c2: 0x9f, 0x2c3: 0x9f, 0x2c4: 0x9f, 0x2c5: 0x9f, 0x2c6: 0x9f, 0x2c7: 0x9f,\n\t0x2c8: 0x9f, 0x2c9: 0x9f, 0x2ca: 0x9f, 0x2cb: 0x9f, 0x2cc: 0x9f, 0x2cd: 0x9f, 0x2ce: 0x9f, 0x2cf: 0x9f,\n\t0x2d0: 0x9f, 0x2d1: 0x9f, 0x2d2: 0xe4, 0x2d3: 0xe5, 0x2d4: 0x9f, 0x2d5: 0x9f, 0x2d6: 0x9f, 0x2d7: 0x9f,\n\t0x2d8: 0xe6, 0x2d9: 0x42, 0x2da: 0x43, 0x2db: 0xe7, 0x2dc: 0x44, 0x2dd: 0x45, 0x2de: 0x46, 0x2df: 0xe8,\n\t0x2e0: 0xe9, 0x2e1: 0xea, 0x2e2: 0xeb, 0x2e3: 0xec, 0x2e4: 0xed, 0x2e5: 0xee, 0x2e6: 0xef, 0x2e7: 0xf0,\n\t0x2e8: 0xf1, 0x2e9: 0xf2, 0x2ea: 0xf3, 0x2eb: 0xf4, 0x2ec: 0xf5, 0x2ed: 0xf6, 0x2ee: 0xf7, 0x2ef: 0xf8,\n\t0x2f0: 0x9f, 0x2f1: 0x9f, 0x2f2: 0x9f, 0x2f3: 0x9f, 0x2f4: 0x9f, 0x2f5: 0x9f, 0x2f6: 0x9f, 0x2f7: 0x9f,\n\t0x2f8: 0x9f, 0x2f9: 0x9f, 0x2fa: 0x9f, 0x2fb: 0x9f, 0x2fc: 0x9f, 0x2fd: 0x9f, 0x2fe: 0x9f, 0x2ff: 0x9f,\n\t// Block 0xc, offset 0x300\n\t0x300: 0x9f, 0x301: 0x9f, 0x302: 0x9f, 0x303: 0x9f, 0x304: 0x9f, 0x305: 0x9f, 0x306: 0x9f, 0x307: 0x9f,\n\t0x308: 0x9f, 0x309: 0x9f, 0x30a: 0x9f, 0x30b: 0x9f, 0x30c: 0x9f, 0x30d: 0x9f, 0x30e: 0x9f, 0x30f: 0x9f,\n\t0x310: 0x9f, 0x311: 0x9f, 0x312: 0x9f, 0x313: 0x9f, 0x314: 0x9f, 0x315: 0x9f, 0x316: 0x9f, 0x317: 0x9f,\n\t0x318: 0x9f, 0x319: 0x9f, 0x31a: 0x9f, 0x31b: 0x9f, 0x31c: 0x9f, 0x31d: 0x9f, 0x31e: 0xf9, 0x31f: 0xfa,\n\t// Block 0xd, offset 0x340\n\t0x340: 0xba, 0x341: 0xba, 0x342: 0xba, 0x343: 0xba, 0x344: 0xba, 0x345: 0xba, 0x346: 0xba, 0x347: 0xba,\n\t0x348: 0xba, 0x349: 0xba, 0x34a: 0xba, 0x34b: 0xba, 0x34c: 0xba, 0x34d: 0xba, 0x34e: 0xba, 0x34f: 0xba,\n\t0x350: 0xba, 0x351: 0xba, 0x352: 0xba, 0x353: 0xba, 0x354: 0xba, 0x355: 0xba, 0x356: 0xba, 0x357: 0xba,\n\t0x358: 0xba, 0x359: 0xba, 0x35a: 0xba, 0x35b: 0xba, 0x35c: 0xba, 0x35d: 0xba, 0x35e: 0xba, 0x35f: 0xba,\n\t0x360: 0xba, 0x361: 0xba, 0x362: 0xba, 0x363: 0xba, 0x364: 0xba, 0x365: 0xba, 0x366: 0xba, 0x367: 0xba,\n\t0x368: 0xba, 0x369: 0xba, 0x36a: 0xba, 0x36b: 0xba, 0x36c: 0xba, 0x36d: 0xba, 0x36e: 0xba, 0x36f: 0xba,\n\t0x370: 0xba, 0x371: 0xba, 0x372: 0xba, 0x373: 0xba, 0x374: 0xba, 0x375: 0xba, 0x376: 0xba, 0x377: 0xba,\n\t0x378: 0xba, 0x379: 0xba, 0x37a: 0xba, 0x37b: 0xba, 0x37c: 0xba, 0x37d: 0xba, 0x37e: 0xba, 0x37f: 0xba,\n\t// Block 0xe, offset 0x380\n\t0x380: 0xba, 0x381: 0xba, 0x382: 0xba, 0x383: 0xba, 0x384: 0xba, 0x385: 0xba, 0x386: 0xba, 0x387: 0xba,\n\t0x388: 0xba, 0x389: 0xba, 0x38a: 0xba, 0x38b: 0xba, 0x38c: 0xba, 0x38d: 0xba, 0x38e: 0xba, 0x38f: 0xba,\n\t0x390: 0xba, 0x391: 0xba, 0x392: 0xba, 0x393: 0xba, 0x394: 0xba, 0x395: 0xba, 0x396: 0xba, 0x397: 0xba,\n\t0x398: 0xba, 0x399: 0xba, 0x39a: 0xba, 0x39b: 0xba, 0x39c: 0xba, 0x39d: 0xba, 0x39e: 0xba, 0x39f: 0xba,\n\t0x3a0: 0xba, 0x3a1: 0xba, 0x3a2: 0xba, 0x3a3: 0xba, 0x3a4: 0xfb, 0x3a5: 0xfc, 0x3a6: 0xfd, 0x3a7: 0xfe,\n\t0x3a8: 0x47, 0x3a9: 0xff, 0x3aa: 0x100, 0x3ab: 0x48, 0x3ac: 0x49, 0x3ad: 0x4a, 0x3ae: 0x4b, 0x3af: 0x4c,\n\t0x3b0: 0x101, 0x3b1: 0x4d, 0x3b2: 0x4e, 0x3b3: 0x4f, 0x3b4: 0x50, 0x3b5: 0x51, 0x3b6: 0x102, 0x3b7: 0x52,\n\t0x3b8: 0x53, 0x3b9: 0x54, 0x3ba: 0x55, 0x3bb: 0x56, 0x3bc: 0x57, 0x3bd: 0x58, 0x3be: 0x59, 0x3bf: 0x5a,\n\t// Block 0xf, offset 0x3c0\n\t0x3c0: 0x103, 0x3c1: 0x104, 0x3c2: 0x9f, 0x3c3: 0x105, 0x3c4: 0x106, 0x3c5: 0x9b, 0x3c6: 0x107, 0x3c7: 0x108,\n\t0x3c8: 0xba, 0x3c9: 0xba, 0x3ca: 0x109, 0x3cb: 0x10a, 0x3cc: 0x10b, 0x3cd: 0x10c, 0x3ce: 0x10d, 0x3cf: 0x10e,\n\t0x3d0: 0x10f, 0x3d1: 0x9f, 0x3d2: 0x110, 0x3d3: 0x111, 0x3d4: 0x112, 0x3d5: 0x113, 0x3d6: 0xba, 0x3d7: 0xba,\n\t0x3d8: 0x9f, 0x3d9: 0x9f, 0x3da: 0x9f, 0x3db: 0x9f, 0x3dc: 0x114, 0x3dd: 0x115, 0x3de: 0xba, 0x3df: 0xba,\n\t0x3e0: 0x116, 0x3e1: 0x117, 0x3e2: 0x118, 0x3e3: 0x119, 0x3e4: 0x11a, 0x3e5: 0xba, 0x3e6: 0x11b, 0x3e7: 0x11c,\n\t0x3e8: 0x11d, 0x3e9: 0x11e, 0x3ea: 0x11f, 0x3eb: 0x5b, 0x3ec: 0x120, 0x3ed: 0x121, 0x3ee: 0x5c, 0x3ef: 0xba,\n\t0x3f0: 0x122, 0x3f1: 0x123, 0x3f2: 0x124, 0x3f3: 0x125, 0x3f4: 0xba, 0x3f5: 0xba, 0x3f6: 0xba, 0x3f7: 0xba,\n\t0x3f8: 0xba, 0x3f9: 0x126, 0x3fa: 0xba, 0x3fb: 0xba, 0x3fc: 0xba, 0x3fd: 0xba, 0x3fe: 0xba, 0x3ff: 0xba,\n\t// Block 0x10, offset 0x400\n\t0x400: 0x127, 0x401: 0x128, 0x402: 0x129, 0x403: 0x12a, 0x404: 0x12b, 0x405: 0x12c, 0x406: 0x12d, 0x407: 0x12e,\n\t0x408: 0x12f, 0x409: 0xba, 0x40a: 0x130, 0x40b: 0x131, 0x40c: 0x5d, 0x40d: 0x5e, 0x40e: 0xba, 0x40f: 0xba,\n\t0x410: 0x132, 0x411: 0x133, 0x412: 0x134, 0x413: 0x135, 0x414: 0xba, 0x415: 0xba, 0x416: 0x136, 0x417: 0x137,\n\t0x418: 0x138, 0x419: 0x139, 0x41a: 0x13a, 0x41b: 0x13b, 0x41c: 0x13c, 0x41d: 0xba, 0x41e: 0xba, 0x41f: 0xba,\n\t0x420: 0xba, 0x421: 0xba, 0x422: 0x13d, 0x423: 0x13e, 0x424: 0xba, 0x425: 0xba, 0x426: 0xba, 0x427: 0xba,\n\t0x428: 0x13f, 0x429: 0x140, 0x42a: 0x141, 0x42b: 0x142, 0x42c: 0xba, 0x42d: 0xba, 0x42e: 0xba, 0x42f: 0xba,\n\t0x430: 0x143, 0x431: 0x144, 0x432: 0x145, 0x433: 0xba, 0x434: 0x146, 0x435: 0x147, 0x436: 0xba, 0x437: 0xba,\n\t0x438: 0xba, 0x439: 0xba, 0x43a: 0xba, 0x43b: 0xba, 0x43c: 0xba, 0x43d: 0xba, 0x43e: 0xba, 0x43f: 0xba,\n\t// Block 0x11, offset 0x440\n\t0x440: 0x9f, 0x441: 0x9f, 0x442: 0x9f, 0x443: 0x9f, 0x444: 0x9f, 0x445: 0x9f, 0x446: 0x9f, 0x447: 0x9f,\n\t0x448: 0x9f, 0x449: 0x9f, 0x44a: 0x9f, 0x44b: 0x9f, 0x44c: 0x9f, 0x44d: 0x9f, 0x44e: 0x148, 0x44f: 0xba,\n\t0x450: 0x9b, 0x451: 0x149, 0x452: 0x9f, 0x453: 0x9f, 0x454: 0x9f, 0x455: 0x14a, 0x456: 0xba, 0x457: 0xba,\n\t0x458: 0xba, 0x459: 0xba, 0x45a: 0xba, 0x45b: 0xba, 0x45c: 0xba, 0x45d: 0xba, 0x45e: 0xba, 0x45f: 0xba,\n\t0x460: 0xba, 0x461: 0xba, 0x462: 0xba, 0x463: 0xba, 0x464: 0xba, 0x465: 0xba, 0x466: 0xba, 0x467: 0xba,\n\t0x468: 0xba, 0x469: 0xba, 0x46a: 0xba, 0x46b: 0xba, 0x46c: 0xba, 0x46d: 0xba, 0x46e: 0xba, 0x46f: 0xba,\n\t0x470: 0xba, 0x471: 0xba, 0x472: 0xba, 0x473: 0xba, 0x474: 0xba, 0x475: 0xba, 0x476: 0xba, 0x477: 0xba,\n\t0x478: 0xba, 0x479: 0xba, 0x47a: 0xba, 0x47b: 0xba, 0x47c: 0xba, 0x47d: 0xba, 0x47e: 0xba, 0x47f: 0xba,\n\t// Block 0x12, offset 0x480\n\t0x480: 0x9f, 0x481: 0x9f, 0x482: 0x9f, 0x483: 0x9f, 0x484: 0x9f, 0x485: 0x9f, 0x486: 0x9f, 0x487: 0x9f,\n\t0x488: 0x9f, 0x489: 0x9f, 0x48a: 0x9f, 0x48b: 0x9f, 0x48c: 0x9f, 0x48d: 0x9f, 0x48e: 0x9f, 0x48f: 0x9f,\n\t0x490: 0x14b, 0x491: 0xba, 0x492: 0xba, 0x493: 0xba, 0x494: 0xba, 0x495: 0xba, 0x496: 0xba, 0x497: 0xba,\n\t0x498: 0xba, 0x499: 0xba, 0x49a: 0xba, 0x49b: 0xba, 0x49c: 0xba, 0x49d: 0xba, 0x49e: 0xba, 0x49f: 0xba,\n\t0x4a0: 0xba, 0x4a1: 0xba, 0x4a2: 0xba, 0x4a3: 0xba, 0x4a4: 0xba, 0x4a5: 0xba, 0x4a6: 0xba, 0x4a7: 0xba,\n\t0x4a8: 0xba, 0x4a9: 0xba, 0x4aa: 0xba, 0x4ab: 0xba, 0x4ac: 0xba, 0x4ad: 0xba, 0x4ae: 0xba, 0x4af: 0xba,\n\t0x4b0: 0xba, 0x4b1: 0xba, 0x4b2: 0xba, 0x4b3: 0xba, 0x4b4: 0xba, 0x4b5: 0xba, 0x4b6: 0xba, 0x4b7: 0xba,\n\t0x4b8: 0xba, 0x4b9: 0xba, 0x4ba: 0xba, 0x4bb: 0xba, 0x4bc: 0xba, 0x4bd: 0xba, 0x4be: 0xba, 0x4bf: 0xba,\n\t// Block 0x13, offset 0x4c0\n\t0x4c0: 0xba, 0x4c1: 0xba, 0x4c2: 0xba, 0x4c3: 0xba, 0x4c4: 0xba, 0x4c5: 0xba, 0x4c6: 0xba, 0x4c7: 0xba,\n\t0x4c8: 0xba, 0x4c9: 0xba, 0x4ca: 0xba, 0x4cb: 0xba, 0x4cc: 0xba, 0x4cd: 0xba, 0x4ce: 0xba, 0x4cf: 0xba,\n\t0x4d0: 0x9f, 0x4d1: 0x9f, 0x4d2: 0x9f, 0x4d3: 0x9f, 0x4d4: 0x9f, 0x4d5: 0x9f, 0x4d6: 0x9f, 0x4d7: 0x9f,\n\t0x4d8: 0x9f, 0x4d9: 0x14c, 0x4da: 0xba, 0x4db: 0xba, 0x4dc: 0xba, 0x4dd: 0xba, 0x4de: 0xba, 0x4df: 0xba,\n\t0x4e0: 0xba, 0x4e1: 0xba, 0x4e2: 0xba, 0x4e3: 0xba, 0x4e4: 0xba, 0x4e5: 0xba, 0x4e6: 0xba, 0x4e7: 0xba,\n\t0x4e8: 0xba, 0x4e9: 0xba, 0x4ea: 0xba, 0x4eb: 0xba, 0x4ec: 0xba, 0x4ed: 0xba, 0x4ee: 0xba, 0x4ef: 0xba,\n\t0x4f0: 0xba, 0x4f1: 0xba, 0x4f2: 0xba, 0x4f3: 0xba, 0x4f4: 0xba, 0x4f5: 0xba, 0x4f6: 0xba, 0x4f7: 0xba,\n\t0x4f8: 0xba, 0x4f9: 0xba, 0x4fa: 0xba, 0x4fb: 0xba, 0x4fc: 0xba, 0x4fd: 0xba, 0x4fe: 0xba, 0x4ff: 0xba,\n\t// Block 0x14, offset 0x500\n\t0x500: 0xba, 0x501: 0xba, 0x502: 0xba, 0x503: 0xba, 0x504: 0xba, 0x505: 0xba, 0x506: 0xba, 0x507: 0xba,\n\t0x508: 0xba, 0x509: 0xba, 0x50a: 0xba, 0x50b: 0xba, 0x50c: 0xba, 0x50d: 0xba, 0x50e: 0xba, 0x50f: 0xba,\n\t0x510: 0xba, 0x511: 0xba, 0x512: 0xba, 0x513: 0xba, 0x514: 0xba, 0x515: 0xba, 0x516: 0xba, 0x517: 0xba,\n\t0x518: 0xba, 0x519: 0xba, 0x51a: 0xba, 0x51b: 0xba, 0x51c: 0xba, 0x51d: 0xba, 0x51e: 0xba, 0x51f: 0xba,\n\t0x520: 0x9f, 0x521: 0x9f, 0x522: 0x9f, 0x523: 0x9f, 0x524: 0x9f, 0x525: 0x9f, 0x526: 0x9f, 0x527: 0x9f,\n\t0x528: 0x142, 0x529: 0x14d, 0x52a: 0xba, 0x52b: 0x14e, 0x52c: 0x14f, 0x52d: 0x150, 0x52e: 0x151, 0x52f: 0xba,\n\t0x530: 0xba, 0x531: 0xba, 0x532: 0xba, 0x533: 0xba, 0x534: 0xba, 0x535: 0xba, 0x536: 0xba, 0x537: 0xba,\n\t0x538: 0xba, 0x539: 0xba, 0x53a: 0xba, 0x53b: 0xba, 0x53c: 0x9f, 0x53d: 0x152, 0x53e: 0x153, 0x53f: 0x154,\n\t// Block 0x15, offset 0x540\n\t0x540: 0x9f, 0x541: 0x9f, 0x542: 0x9f, 0x543: 0x9f, 0x544: 0x9f, 0x545: 0x9f, 0x546: 0x9f, 0x547: 0x9f,\n\t0x548: 0x9f, 0x549: 0x9f, 0x54a: 0x9f, 0x54b: 0x9f, 0x54c: 0x9f, 0x54d: 0x9f, 0x54e: 0x9f, 0x54f: 0x9f,\n\t0x550: 0x9f, 0x551: 0x9f, 0x552: 0x9f, 0x553: 0x9f, 0x554: 0x9f, 0x555: 0x9f, 0x556: 0x9f, 0x557: 0x9f,\n\t0x558: 0x9f, 0x559: 0x9f, 0x55a: 0x9f, 0x55b: 0x9f, 0x55c: 0x9f, 0x55d: 0x9f, 0x55e: 0x9f, 0x55f: 0x155,\n\t0x560: 0x9f, 0x561: 0x9f, 0x562: 0x9f, 0x563: 0x9f, 0x564: 0x9f, 0x565: 0x9f, 0x566: 0x9f, 0x567: 0x9f,\n\t0x568: 0x9f, 0x569: 0x9f, 0x56a: 0x9f, 0x56b: 0x156, 0x56c: 0xba, 0x56d: 0xba, 0x56e: 0xba, 0x56f: 0xba,\n\t0x570: 0xba, 0x571: 0xba, 0x572: 0xba, 0x573: 0xba, 0x574: 0xba, 0x575: 0xba, 0x576: 0xba, 0x577: 0xba,\n\t0x578: 0xba, 0x579: 0xba, 0x57a: 0xba, 0x57b: 0xba, 0x57c: 0xba, 0x57d: 0xba, 0x57e: 0xba, 0x57f: 0xba,\n\t// Block 0x16, offset 0x580\n\t0x580: 0x9f, 0x581: 0x9f, 0x582: 0x9f, 0x583: 0x9f, 0x584: 0x157, 0x585: 0x158, 0x586: 0x9f, 0x587: 0x9f,\n\t0x588: 0x9f, 0x589: 0x9f, 0x58a: 0x9f, 0x58b: 0x159, 0x58c: 0xba, 0x58d: 0xba, 0x58e: 0xba, 0x58f: 0xba,\n\t0x590: 0xba, 0x591: 0xba, 0x592: 0xba, 0x593: 0xba, 0x594: 0xba, 0x595: 0xba, 0x596: 0xba, 0x597: 0xba,\n\t0x598: 0xba, 0x599: 0xba, 0x59a: 0xba, 0x59b: 0xba, 0x59c: 0xba, 0x59d: 0xba, 0x59e: 0xba, 0x59f: 0xba,\n\t0x5a0: 0xba, 0x5a1: 0xba, 0x5a2: 0xba, 0x5a3: 0xba, 0x5a4: 0xba, 0x5a5: 0xba, 0x5a6: 0xba, 0x5a7: 0xba,\n\t0x5a8: 0xba, 0x5a9: 0xba, 0x5aa: 0xba, 0x5ab: 0xba, 0x5ac: 0xba, 0x5ad: 0xba, 0x5ae: 0xba, 0x5af: 0xba,\n\t0x5b0: 0x9f, 0x5b1: 0x15a, 0x5b2: 0x15b, 0x5b3: 0xba, 0x5b4: 0xba, 0x5b5: 0xba, 0x5b6: 0xba, 0x5b7: 0xba,\n\t0x5b8: 0xba, 0x5b9: 0xba, 0x5ba: 0xba, 0x5bb: 0xba, 0x5bc: 0xba, 0x5bd: 0xba, 0x5be: 0xba, 0x5bf: 0xba,\n\t// Block 0x17, offset 0x5c0\n\t0x5c0: 0x9b, 0x5c1: 0x9b, 0x5c2: 0x9b, 0x5c3: 0x15c, 0x5c4: 0x15d, 0x5c5: 0x15e, 0x5c6: 0x15f, 0x5c7: 0x160,\n\t0x5c8: 0x9b, 0x5c9: 0x161, 0x5ca: 0xba, 0x5cb: 0xba, 0x5cc: 0x9b, 0x5cd: 0x162, 0x5ce: 0xba, 0x5cf: 0xba,\n\t0x5d0: 0x5f, 0x5d1: 0x60, 0x5d2: 0x61, 0x5d3: 0x62, 0x5d4: 0x63, 0x5d5: 0x64, 0x5d6: 0x65, 0x5d7: 0x66,\n\t0x5d8: 0x67, 0x5d9: 0x68, 0x5da: 0x69, 0x5db: 0x6a, 0x5dc: 0x6b, 0x5dd: 0x6c, 0x5de: 0x6d, 0x5df: 0x6e,\n\t0x5e0: 0x9b, 0x5e1: 0x9b, 0x5e2: 0x9b, 0x5e3: 0x9b, 0x5e4: 0x9b, 0x5e5: 0x9b, 0x5e6: 0x9b, 0x5e7: 0x9b,\n\t0x5e8: 0x163, 0x5e9: 0x164, 0x5ea: 0x165, 0x5eb: 0xba, 0x5ec: 0xba, 0x5ed: 0xba, 0x5ee: 0xba, 0x5ef: 0xba,\n\t0x5f0: 0xba, 0x5f1: 0xba, 0x5f2: 0xba, 0x5f3: 0xba, 0x5f4: 0xba, 0x5f5: 0xba, 0x5f6: 0xba, 0x5f7: 0xba,\n\t0x5f8: 0xba, 0x5f9: 0xba, 0x5fa: 0xba, 0x5fb: 0xba, 0x5fc: 0xba, 0x5fd: 0xba, 0x5fe: 0xba, 0x5ff: 0xba,\n\t// Block 0x18, offset 0x600\n\t0x600: 0x166, 0x601: 0xba, 0x602: 0xba, 0x603: 0xba, 0x604: 0xba, 0x605: 0xba, 0x606: 0xba, 0x607: 0xba,\n\t0x608: 0xba, 0x609: 0xba, 0x60a: 0xba, 0x60b: 0xba, 0x60c: 0xba, 0x60d: 0xba, 0x60e: 0xba, 0x60f: 0xba,\n\t0x610: 0xba, 0x611: 0xba, 0x612: 0xba, 0x613: 0xba, 0x614: 0xba, 0x615: 0xba, 0x616: 0xba, 0x617: 0xba,\n\t0x618: 0xba, 0x619: 0xba, 0x61a: 0xba, 0x61b: 0xba, 0x61c: 0xba, 0x61d: 0xba, 0x61e: 0xba, 0x61f: 0xba,\n\t0x620: 0x122, 0x621: 0x122, 0x622: 0x122, 0x623: 0x167, 0x624: 0x6f, 0x625: 0x168, 0x626: 0xba, 0x627: 0xba,\n\t0x628: 0xba, 0x629: 0xba, 0x62a: 0xba, 0x62b: 0xba, 0x62c: 0xba, 0x62d: 0xba, 0x62e: 0xba, 0x62f: 0xba,\n\t0x630: 0xba, 0x631: 0xba, 0x632: 0xba, 0x633: 0xba, 0x634: 0xba, 0x635: 0xba, 0x636: 0xba, 0x637: 0xba,\n\t0x638: 0x70, 0x639: 0x71, 0x63a: 0x72, 0x63b: 0x169, 0x63c: 0xba, 0x63d: 0xba, 0x63e: 0xba, 0x63f: 0xba,\n\t// Block 0x19, offset 0x640\n\t0x640: 0x16a, 0x641: 0x9b, 0x642: 0x16b, 0x643: 0x16c, 0x644: 0x73, 0x645: 0x74, 0x646: 0x16d, 0x647: 0x16e,\n\t0x648: 0x75, 0x649: 0x16f, 0x64a: 0xba, 0x64b: 0xba, 0x64c: 0x9b, 0x64d: 0x9b, 0x64e: 0x9b, 0x64f: 0x9b,\n\t0x650: 0x9b, 0x651: 0x9b, 0x652: 0x9b, 0x653: 0x9b, 0x654: 0x9b, 0x655: 0x9b, 0x656: 0x9b, 0x657: 0x9b,\n\t0x658: 0x9b, 0x659: 0x9b, 0x65a: 0x9b, 0x65b: 0x170, 0x65c: 0x9b, 0x65d: 0x171, 0x65e: 0x9b, 0x65f: 0x172,\n\t0x660: 0x173, 0x661: 0x174, 0x662: 0x175, 0x663: 0xba, 0x664: 0x176, 0x665: 0x177, 0x666: 0x178, 0x667: 0x179,\n\t0x668: 0xba, 0x669: 0xba, 0x66a: 0xba, 0x66b: 0xba, 0x66c: 0xba, 0x66d: 0xba, 0x66e: 0xba, 0x66f: 0xba,\n\t0x670: 0xba, 0x671: 0xba, 0x672: 0xba, 0x673: 0xba, 0x674: 0xba, 0x675: 0xba, 0x676: 0xba, 0x677: 0xba,\n\t0x678: 0xba, 0x679: 0xba, 0x67a: 0xba, 0x67b: 0xba, 0x67c: 0xba, 0x67d: 0xba, 0x67e: 0xba, 0x67f: 0xba,\n\t// Block 0x1a, offset 0x680\n\t0x680: 0x9f, 0x681: 0x9f, 0x682: 0x9f, 0x683: 0x9f, 0x684: 0x9f, 0x685: 0x9f, 0x686: 0x9f, 0x687: 0x9f,\n\t0x688: 0x9f, 0x689: 0x9f, 0x68a: 0x9f, 0x68b: 0x9f, 0x68c: 0x9f, 0x68d: 0x9f, 0x68e: 0x9f, 0x68f: 0x9f,\n\t0x690: 0x9f, 0x691: 0x9f, 0x692: 0x9f, 0x693: 0x9f, 0x694: 0x9f, 0x695: 0x9f, 0x696: 0x9f, 0x697: 0x9f,\n\t0x698: 0x9f, 0x699: 0x9f, 0x69a: 0x9f, 0x69b: 0x17a, 0x69c: 0x9f, 0x69d: 0x9f, 0x69e: 0x9f, 0x69f: 0x9f,\n\t0x6a0: 0x9f, 0x6a1: 0x9f, 0x6a2: 0x9f, 0x6a3: 0x9f, 0x6a4: 0x9f, 0x6a5: 0x9f, 0x6a6: 0x9f, 0x6a7: 0x9f,\n\t0x6a8: 0x9f, 0x6a9: 0x9f, 0x6aa: 0x9f, 0x6ab: 0x9f, 0x6ac: 0x9f, 0x6ad: 0x9f, 0x6ae: 0x9f, 0x6af: 0x9f,\n\t0x6b0: 0x9f, 0x6b1: 0x9f, 0x6b2: 0x9f, 0x6b3: 0x9f, 0x6b4: 0x9f, 0x6b5: 0x9f, 0x6b6: 0x9f, 0x6b7: 0x9f,\n\t0x6b8: 0x9f, 0x6b9: 0x9f, 0x6ba: 0x9f, 0x6bb: 0x9f, 0x6bc: 0x9f, 0x6bd: 0x9f, 0x6be: 0x9f, 0x6bf: 0x9f,\n\t// Block 0x1b, offset 0x6c0\n\t0x6c0: 0x9f, 0x6c1: 0x9f, 0x6c2: 0x9f, 0x6c3: 0x9f, 0x6c4: 0x9f, 0x6c5: 0x9f, 0x6c6: 0x9f, 0x6c7: 0x9f,\n\t0x6c8: 0x9f, 0x6c9: 0x9f, 0x6ca: 0x9f, 0x6cb: 0x9f, 0x6cc: 0x9f, 0x6cd: 0x9f, 0x6ce: 0x9f, 0x6cf: 0x9f,\n\t0x6d0: 0x9f, 0x6d1: 0x9f, 0x6d2: 0x9f, 0x6d3: 0x9f, 0x6d4: 0x9f, 0x6d5: 0x9f, 0x6d6: 0x9f, 0x6d7: 0x9f,\n\t0x6d8: 0x9f, 0x6d9: 0x9f, 0x6da: 0x9f, 0x6db: 0x9f, 0x6dc: 0x17b, 0x6dd: 0x9f, 0x6de: 0x9f, 0x6df: 0x9f,\n\t0x6e0: 0x17c, 0x6e1: 0x9f, 0x6e2: 0x9f, 0x6e3: 0x9f, 0x6e4: 0x9f, 0x6e5: 0x9f, 0x6e6: 0x9f, 0x6e7: 0x9f,\n\t0x6e8: 0x9f, 0x6e9: 0x9f, 0x6ea: 0x9f, 0x6eb: 0x9f, 0x6ec: 0x9f, 0x6ed: 0x9f, 0x6ee: 0x9f, 0x6ef: 0x9f,\n\t0x6f0: 0x9f, 0x6f1: 0x9f, 0x6f2: 0x9f, 0x6f3: 0x9f, 0x6f4: 0x9f, 0x6f5: 0x9f, 0x6f6: 0x9f, 0x6f7: 0x9f,\n\t0x6f8: 0x9f, 0x6f9: 0x9f, 0x6fa: 0x9f, 0x6fb: 0x9f, 0x6fc: 0x9f, 0x6fd: 0x9f, 0x6fe: 0x9f, 0x6ff: 0x9f,\n\t// Block 0x1c, offset 0x700\n\t0x700: 0x9f, 0x701: 0x9f, 0x702: 0x9f, 0x703: 0x9f, 0x704: 0x9f, 0x705: 0x9f, 0x706: 0x9f, 0x707: 0x9f,\n\t0x708: 0x9f, 0x709: 0x9f, 0x70a: 0x9f, 0x70b: 0x9f, 0x70c: 0x9f, 0x70d: 0x9f, 0x70e: 0x9f, 0x70f: 0x9f,\n\t0x710: 0x9f, 0x711: 0x9f, 0x712: 0x9f, 0x713: 0x9f, 0x714: 0x9f, 0x715: 0x9f, 0x716: 0x9f, 0x717: 0x9f,\n\t0x718: 0x9f, 0x719: 0x9f, 0x71a: 0x9f, 0x71b: 0x9f, 0x71c: 0x9f, 0x71d: 0x9f, 0x71e: 0x9f, 0x71f: 0x9f,\n\t0x720: 0x9f, 0x721: 0x9f, 0x722: 0x9f, 0x723: 0x9f, 0x724: 0x9f, 0x725: 0x9f, 0x726: 0x9f, 0x727: 0x9f,\n\t0x728: 0x9f, 0x729: 0x9f, 0x72a: 0x9f, 0x72b: 0x9f, 0x72c: 0x9f, 0x72d: 0x9f, 0x72e: 0x9f, 0x72f: 0x9f,\n\t0x730: 0x9f, 0x731: 0x9f, 0x732: 0x9f, 0x733: 0x9f, 0x734: 0x9f, 0x735: 0x9f, 0x736: 0x9f, 0x737: 0x9f,\n\t0x738: 0x9f, 0x739: 0x9f, 0x73a: 0x17d, 0x73b: 0x9f, 0x73c: 0x9f, 0x73d: 0x9f, 0x73e: 0x9f, 0x73f: 0x9f,\n\t// Block 0x1d, offset 0x740\n\t0x740: 0x9f, 0x741: 0x9f, 0x742: 0x9f, 0x743: 0x9f, 0x744: 0x9f, 0x745: 0x9f, 0x746: 0x9f, 0x747: 0x9f,\n\t0x748: 0x9f, 0x749: 0x9f, 0x74a: 0x9f, 0x74b: 0x9f, 0x74c: 0x9f, 0x74d: 0x9f, 0x74e: 0x9f, 0x74f: 0x9f,\n\t0x750: 0x9f, 0x751: 0x9f, 0x752: 0x9f, 0x753: 0x9f, 0x754: 0x9f, 0x755: 0x9f, 0x756: 0x9f, 0x757: 0x9f,\n\t0x758: 0x9f, 0x759: 0x9f, 0x75a: 0x9f, 0x75b: 0x9f, 0x75c: 0x9f, 0x75d: 0x9f, 0x75e: 0x9f, 0x75f: 0x9f,\n\t0x760: 0x9f, 0x761: 0x9f, 0x762: 0x9f, 0x763: 0x9f, 0x764: 0x9f, 0x765: 0x9f, 0x766: 0x9f, 0x767: 0x9f,\n\t0x768: 0x9f, 0x769: 0x9f, 0x76a: 0x9f, 0x76b: 0x9f, 0x76c: 0x9f, 0x76d: 0x9f, 0x76e: 0x9f, 0x76f: 0x17e,\n\t0x770: 0xba, 0x771: 0xba, 0x772: 0xba, 0x773: 0xba, 0x774: 0xba, 0x775: 0xba, 0x776: 0xba, 0x777: 0xba,\n\t0x778: 0xba, 0x779: 0xba, 0x77a: 0xba, 0x77b: 0xba, 0x77c: 0xba, 0x77d: 0xba, 0x77e: 0xba, 0x77f: 0xba,\n\t// Block 0x1e, offset 0x780\n\t0x780: 0xba, 0x781: 0xba, 0x782: 0xba, 0x783: 0xba, 0x784: 0xba, 0x785: 0xba, 0x786: 0xba, 0x787: 0xba,\n\t0x788: 0xba, 0x789: 0xba, 0x78a: 0xba, 0x78b: 0xba, 0x78c: 0xba, 0x78d: 0xba, 0x78e: 0xba, 0x78f: 0xba,\n\t0x790: 0xba, 0x791: 0xba, 0x792: 0xba, 0x793: 0xba, 0x794: 0xba, 0x795: 0xba, 0x796: 0xba, 0x797: 0xba,\n\t0x798: 0xba, 0x799: 0xba, 0x79a: 0xba, 0x79b: 0xba, 0x79c: 0xba, 0x79d: 0xba, 0x79e: 0xba, 0x79f: 0xba,\n\t0x7a0: 0x76, 0x7a1: 0x77, 0x7a2: 0x78, 0x7a3: 0x17f, 0x7a4: 0x79, 0x7a5: 0x7a, 0x7a6: 0x180, 0x7a7: 0x7b,\n\t0x7a8: 0x7c, 0x7a9: 0xba, 0x7aa: 0xba, 0x7ab: 0xba, 0x7ac: 0xba, 0x7ad: 0xba, 0x7ae: 0xba, 0x7af: 0xba,\n\t0x7b0: 0xba, 0x7b1: 0xba, 0x7b2: 0xba, 0x7b3: 0xba, 0x7b4: 0xba, 0x7b5: 0xba, 0x7b6: 0xba, 0x7b7: 0xba,\n\t0x7b8: 0xba, 0x7b9: 0xba, 0x7ba: 0xba, 0x7bb: 0xba, 0x7bc: 0xba, 0x7bd: 0xba, 0x7be: 0xba, 0x7bf: 0xba,\n\t// Block 0x1f, offset 0x7c0\n\t0x7d0: 0x0d, 0x7d1: 0x0e, 0x7d2: 0x0f, 0x7d3: 0x10, 0x7d4: 0x11, 0x7d5: 0x0b, 0x7d6: 0x12, 0x7d7: 0x07,\n\t0x7d8: 0x13, 0x7d9: 0x0b, 0x7da: 0x0b, 0x7db: 0x14, 0x7dc: 0x0b, 0x7dd: 0x15, 0x7de: 0x16, 0x7df: 0x17,\n\t0x7e0: 0x07, 0x7e1: 0x07, 0x7e2: 0x07, 0x7e3: 0x07, 0x7e4: 0x07, 0x7e5: 0x07, 0x7e6: 0x07, 0x7e7: 0x07,\n\t0x7e8: 0x07, 0x7e9: 0x07, 0x7ea: 0x18, 0x7eb: 0x19, 0x7ec: 0x1a, 0x7ed: 0x07, 0x7ee: 0x1b, 0x7ef: 0x1c,\n\t0x7f0: 0x0b, 0x7f1: 0x0b, 0x7f2: 0x0b, 0x7f3: 0x0b, 0x7f4: 0x0b, 0x7f5: 0x0b, 0x7f6: 0x0b, 0x7f7: 0x0b,\n\t0x7f8: 0x0b, 0x7f9: 0x0b, 0x7fa: 0x0b, 0x7fb: 0x0b, 0x7fc: 0x0b, 0x7fd: 0x0b, 0x7fe: 0x0b, 0x7ff: 0x0b,\n\t// Block 0x20, offset 0x800\n\t0x800: 0x0b, 0x801: 0x0b, 0x802: 0x0b, 0x803: 0x0b, 0x804: 0x0b, 0x805: 0x0b, 0x806: 0x0b, 0x807: 0x0b,\n\t0x808: 0x0b, 0x809: 0x0b, 0x80a: 0x0b, 0x80b: 0x0b, 0x80c: 0x0b, 0x80d: 0x0b, 0x80e: 0x0b, 0x80f: 0x0b,\n\t0x810: 0x0b, 0x811: 0x0b, 0x812: 0x0b, 0x813: 0x0b, 0x814: 0x0b, 0x815: 0x0b, 0x816: 0x0b, 0x817: 0x0b,\n\t0x818: 0x0b, 0x819: 0x0b, 0x81a: 0x0b, 0x81b: 0x0b, 0x81c: 0x0b, 0x81d: 0x0b, 0x81e: 0x0b, 0x81f: 0x0b,\n\t0x820: 0x0b, 0x821: 0x0b, 0x822: 0x0b, 0x823: 0x0b, 0x824: 0x0b, 0x825: 0x0b, 0x826: 0x0b, 0x827: 0x0b,\n\t0x828: 0x0b, 0x829: 0x0b, 0x82a: 0x0b, 0x82b: 0x0b, 0x82c: 0x0b, 0x82d: 0x0b, 0x82e: 0x0b, 0x82f: 0x0b,\n\t0x830: 0x0b, 0x831: 0x0b, 0x832: 0x0b, 0x833: 0x0b, 0x834: 0x0b, 0x835: 0x0b, 0x836: 0x0b, 0x837: 0x0b,\n\t0x838: 0x0b, 0x839: 0x0b, 0x83a: 0x0b, 0x83b: 0x0b, 0x83c: 0x0b, 0x83d: 0x0b, 0x83e: 0x0b, 0x83f: 0x0b,\n\t// Block 0x21, offset 0x840\n\t0x840: 0x181, 0x841: 0x182, 0x842: 0xba, 0x843: 0xba, 0x844: 0x183, 0x845: 0x183, 0x846: 0x183, 0x847: 0x184,\n\t0x848: 0xba, 0x849: 0xba, 0x84a: 0xba, 0x84b: 0xba, 0x84c: 0xba, 0x84d: 0xba, 0x84e: 0xba, 0x84f: 0xba,\n\t0x850: 0xba, 0x851: 0xba, 0x852: 0xba, 0x853: 0xba, 0x854: 0xba, 0x855: 0xba, 0x856: 0xba, 0x857: 0xba,\n\t0x858: 0xba, 0x859: 0xba, 0x85a: 0xba, 0x85b: 0xba, 0x85c: 0xba, 0x85d: 0xba, 0x85e: 0xba, 0x85f: 0xba,\n\t0x860: 0xba, 0x861: 0xba, 0x862: 0xba, 0x863: 0xba, 0x864: 0xba, 0x865: 0xba, 0x866: 0xba, 0x867: 0xba,\n\t0x868: 0xba, 0x869: 0xba, 0x86a: 0xba, 0x86b: 0xba, 0x86c: 0xba, 0x86d: 0xba, 0x86e: 0xba, 0x86f: 0xba,\n\t0x870: 0xba, 0x871: 0xba, 0x872: 0xba, 0x873: 0xba, 0x874: 0xba, 0x875: 0xba, 0x876: 0xba, 0x877: 0xba,\n\t0x878: 0xba, 0x879: 0xba, 0x87a: 0xba, 0x87b: 0xba, 0x87c: 0xba, 0x87d: 0xba, 0x87e: 0xba, 0x87f: 0xba,\n\t// Block 0x22, offset 0x880\n\t0x880: 0x0b, 0x881: 0x0b, 0x882: 0x0b, 0x883: 0x0b, 0x884: 0x0b, 0x885: 0x0b, 0x886: 0x0b, 0x887: 0x0b,\n\t0x888: 0x0b, 0x889: 0x0b, 0x88a: 0x0b, 0x88b: 0x0b, 0x88c: 0x0b, 0x88d: 0x0b, 0x88e: 0x0b, 0x88f: 0x0b,\n\t0x890: 0x0b, 0x891: 0x0b, 0x892: 0x0b, 0x893: 0x0b, 0x894: 0x0b, 0x895: 0x0b, 0x896: 0x0b, 0x897: 0x0b,\n\t0x898: 0x0b, 0x899: 0x0b, 0x89a: 0x0b, 0x89b: 0x0b, 0x89c: 0x0b, 0x89d: 0x0b, 0x89e: 0x0b, 0x89f: 0x0b,\n\t0x8a0: 0x1f, 0x8a1: 0x0b, 0x8a2: 0x0b, 0x8a3: 0x0b, 0x8a4: 0x0b, 0x8a5: 0x0b, 0x8a6: 0x0b, 0x8a7: 0x0b,\n\t0x8a8: 0x0b, 0x8a9: 0x0b, 0x8aa: 0x0b, 0x8ab: 0x0b, 0x8ac: 0x0b, 0x8ad: 0x0b, 0x8ae: 0x0b, 0x8af: 0x0b,\n\t0x8b0: 0x0b, 0x8b1: 0x0b, 0x8b2: 0x0b, 0x8b3: 0x0b, 0x8b4: 0x0b, 0x8b5: 0x0b, 0x8b6: 0x0b, 0x8b7: 0x0b,\n\t0x8b8: 0x0b, 0x8b9: 0x0b, 0x8ba: 0x0b, 0x8bb: 0x0b, 0x8bc: 0x0b, 0x8bd: 0x0b, 0x8be: 0x0b, 0x8bf: 0x0b,\n\t// Block 0x23, offset 0x8c0\n\t0x8c0: 0x0b, 0x8c1: 0x0b, 0x8c2: 0x0b, 0x8c3: 0x0b, 0x8c4: 0x0b, 0x8c5: 0x0b, 0x8c6: 0x0b, 0x8c7: 0x0b,\n\t0x8c8: 0x0b, 0x8c9: 0x0b, 0x8ca: 0x0b, 0x8cb: 0x0b, 0x8cc: 0x0b, 0x8cd: 0x0b, 0x8ce: 0x0b, 0x8cf: 0x0b,\n}\n\n// idnaSparseOffset: 264 entries, 528 bytes\nvar idnaSparseOffset = []uint16{0x0, 0x8, 0x19, 0x25, 0x27, 0x2c, 0x34, 0x3f, 0x4b, 0x4f, 0x5e, 0x63, 0x6b, 0x77, 0x85, 0x8a, 0x93, 0xa3, 0xb1, 0xbd, 0xc9, 0xda, 0xe4, 0xeb, 0xf8, 0x109, 0x110, 0x11b, 0x12a, 0x138, 0x142, 0x144, 0x149, 0x14c, 0x14f, 0x151, 0x15d, 0x168, 0x170, 0x176, 0x17c, 0x181, 0x186, 0x189, 0x18d, 0x193, 0x198, 0x1a4, 0x1ae, 0x1b4, 0x1c5, 0x1cf, 0x1d2, 0x1da, 0x1dd, 0x1ea, 0x1f2, 0x1f6, 0x1fd, 0x205, 0x215, 0x221, 0x223, 0x22d, 0x239, 0x245, 0x251, 0x259, 0x25e, 0x268, 0x279, 0x27d, 0x288, 0x28c, 0x295, 0x29d, 0x2a3, 0x2a8, 0x2ab, 0x2af, 0x2b5, 0x2b9, 0x2bd, 0x2c3, 0x2ca, 0x2d0, 0x2d8, 0x2df, 0x2ea, 0x2f4, 0x2f8, 0x2fb, 0x301, 0x305, 0x307, 0x30a, 0x30c, 0x30f, 0x319, 0x31c, 0x32b, 0x32f, 0x334, 0x337, 0x33b, 0x340, 0x345, 0x34b, 0x351, 0x360, 0x366, 0x36a, 0x379, 0x37e, 0x386, 0x390, 0x39b, 0x3a3, 0x3b4, 0x3bd, 0x3cd, 0x3da, 0x3e4, 0x3e9, 0x3f6, 0x3fa, 0x3ff, 0x401, 0x405, 0x407, 0x40b, 0x414, 0x41a, 0x41e, 0x42e, 0x438, 0x43d, 0x440, 0x446, 0x44d, 0x452, 0x456, 0x45c, 0x461, 0x46a, 0x46f, 0x475, 0x47c, 0x483, 0x48a, 0x48e, 0x493, 0x496, 0x49b, 0x4a7, 0x4ad, 0x4b2, 0x4b9, 0x4c1, 0x4c6, 0x4ca, 0x4da, 0x4e1, 0x4e5, 0x4e9, 0x4f0, 0x4f2, 0x4f5, 0x4f8, 0x4fc, 0x500, 0x506, 0x50f, 0x51b, 0x522, 0x52b, 0x533, 0x53a, 0x548, 0x555, 0x562, 0x56b, 0x56f, 0x57d, 0x585, 0x590, 0x599, 0x59f, 0x5a7, 0x5b0, 0x5ba, 0x5bd, 0x5c9, 0x5cc, 0x5d1, 0x5de, 0x5e7, 0x5f3, 0x5f6, 0x600, 0x609, 0x615, 0x622, 0x62a, 0x62d, 0x632, 0x635, 0x638, 0x63b, 0x642, 0x649, 0x64d, 0x658, 0x65b, 0x661, 0x666, 0x66a, 0x66d, 0x670, 0x673, 0x676, 0x679, 0x67e, 0x688, 0x68b, 0x68f, 0x69e, 0x6aa, 0x6ae, 0x6b3, 0x6b8, 0x6bc, 0x6c1, 0x6ca, 0x6d5, 0x6db, 0x6e3, 0x6e7, 0x6eb, 0x6f1, 0x6f7, 0x6fc, 0x6ff, 0x70f, 0x716, 0x719, 0x71c, 0x720, 0x726, 0x72b, 0x730, 0x735, 0x738, 0x73d, 0x740, 0x743, 0x747, 0x74b, 0x74e, 0x75e, 0x76f, 0x774, 0x776, 0x778}\n\n// idnaSparseValues: 1915 entries, 7660 bytes\nvar idnaSparseValues = [1915]valueRange{\n\t// Block 0x0, offset 0x0\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0xe105, lo: 0x80, hi: 0x96},\n\t{value: 0x0018, lo: 0x97, hi: 0x97},\n\t{value: 0xe105, lo: 0x98, hi: 0x9e},\n\t{value: 0x001f, lo: 0x9f, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xb6},\n\t{value: 0x0018, lo: 0xb7, hi: 0xb7},\n\t{value: 0x0008, lo: 0xb8, hi: 0xbf},\n\t// Block 0x1, offset 0x8\n\t{value: 0x0000, lo: 0x10},\n\t{value: 0x0008, lo: 0x80, hi: 0x80},\n\t{value: 0xe01d, lo: 0x81, hi: 0x81},\n\t{value: 0x0008, lo: 0x82, hi: 0x82},\n\t{value: 0x0335, lo: 0x83, hi: 0x83},\n\t{value: 0x034d, lo: 0x84, hi: 0x84},\n\t{value: 0x0365, lo: 0x85, hi: 0x85},\n\t{value: 0xe00d, lo: 0x86, hi: 0x86},\n\t{value: 0x0008, lo: 0x87, hi: 0x87},\n\t{value: 0xe00d, lo: 0x88, hi: 0x88},\n\t{value: 0x0008, lo: 0x89, hi: 0x89},\n\t{value: 0xe00d, lo: 0x8a, hi: 0x8a},\n\t{value: 0x0008, lo: 0x8b, hi: 0x8b},\n\t{value: 0xe00d, lo: 0x8c, hi: 0x8c},\n\t{value: 0x0008, lo: 0x8d, hi: 0x8d},\n\t{value: 0xe00d, lo: 0x8e, hi: 0x8e},\n\t{value: 0x0008, lo: 0x8f, hi: 0xbf},\n\t// Block 0x2, offset 0x19\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x0008, lo: 0x80, hi: 0xaf},\n\t{value: 0x0249, lo: 0xb0, hi: 0xb0},\n\t{value: 0x037d, lo: 0xb1, hi: 0xb1},\n\t{value: 0x0259, lo: 0xb2, hi: 0xb2},\n\t{value: 0x0269, lo: 0xb3, hi: 0xb3},\n\t{value: 0x034d, lo: 0xb4, hi: 0xb4},\n\t{value: 0x0395, lo: 0xb5, hi: 0xb5},\n\t{value: 0xe1bd, lo: 0xb6, hi: 0xb6},\n\t{value: 0x0279, lo: 0xb7, hi: 0xb7},\n\t{value: 0x0289, lo: 0xb8, hi: 0xb8},\n\t{value: 0x0008, lo: 0xb9, hi: 0xbf},\n\t// Block 0x3, offset 0x25\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x3308, lo: 0x80, hi: 0xbf},\n\t// Block 0x4, offset 0x27\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x03f5, lo: 0x80, hi: 0x8f},\n\t{value: 0xe105, lo: 0x90, hi: 0x9f},\n\t{value: 0x049d, lo: 0xa0, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xbf},\n\t// Block 0x5, offset 0x2c\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0xe185, lo: 0x80, hi: 0x8f},\n\t{value: 0x0545, lo: 0x90, hi: 0x96},\n\t{value: 0x0040, lo: 0x97, hi: 0x98},\n\t{value: 0x0008, lo: 0x99, hi: 0x99},\n\t{value: 0x0018, lo: 0x9a, hi: 0x9f},\n\t{value: 0x0040, lo: 0xa0, hi: 0xa0},\n\t{value: 0x0008, lo: 0xa1, hi: 0xbf},\n\t// Block 0x6, offset 0x34\n\t{value: 0x0000, lo: 0x0a},\n\t{value: 0x0008, lo: 0x80, hi: 0x86},\n\t{value: 0x0401, lo: 0x87, hi: 0x87},\n\t{value: 0x0040, lo: 0x88, hi: 0x88},\n\t{value: 0x0018, lo: 0x89, hi: 0x8a},\n\t{value: 0x0040, lo: 0x8b, hi: 0x8c},\n\t{value: 0x0018, lo: 0x8d, hi: 0x8f},\n\t{value: 0x0040, lo: 0x90, hi: 0x90},\n\t{value: 0x3308, lo: 0x91, hi: 0xbd},\n\t{value: 0x0818, lo: 0xbe, hi: 0xbe},\n\t{value: 0x3308, lo: 0xbf, hi: 0xbf},\n\t// Block 0x7, offset 0x3f\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x0818, lo: 0x80, hi: 0x80},\n\t{value: 0x3308, lo: 0x81, hi: 0x82},\n\t{value: 0x0818, lo: 0x83, hi: 0x83},\n\t{value: 0x3308, lo: 0x84, hi: 0x85},\n\t{value: 0x0818, lo: 0x86, hi: 0x86},\n\t{value: 0x3308, lo: 0x87, hi: 0x87},\n\t{value: 0x0040, lo: 0x88, hi: 0x8f},\n\t{value: 0x0808, lo: 0x90, hi: 0xaa},\n\t{value: 0x0040, lo: 0xab, hi: 0xaf},\n\t{value: 0x0808, lo: 0xb0, hi: 0xb4},\n\t{value: 0x0040, lo: 0xb5, hi: 0xbf},\n\t// Block 0x8, offset 0x4b\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0a08, lo: 0x80, hi: 0x87},\n\t{value: 0x0c08, lo: 0x88, hi: 0x99},\n\t{value: 0x0a08, lo: 0x9a, hi: 0xbf},\n\t// Block 0x9, offset 0x4f\n\t{value: 0x0000, lo: 0x0e},\n\t{value: 0x3308, lo: 0x80, hi: 0x8a},\n\t{value: 0x0040, lo: 0x8b, hi: 0x8c},\n\t{value: 0x0c08, lo: 0x8d, hi: 0x8d},\n\t{value: 0x0a08, lo: 0x8e, hi: 0x98},\n\t{value: 0x0c08, lo: 0x99, hi: 0x9b},\n\t{value: 0x0a08, lo: 0x9c, hi: 0xaa},\n\t{value: 0x0c08, lo: 0xab, hi: 0xac},\n\t{value: 0x0a08, lo: 0xad, hi: 0xb0},\n\t{value: 0x0c08, lo: 0xb1, hi: 0xb1},\n\t{value: 0x0a08, lo: 0xb2, hi: 0xb2},\n\t{value: 0x0c08, lo: 0xb3, hi: 0xb4},\n\t{value: 0x0a08, lo: 0xb5, hi: 0xb7},\n\t{value: 0x0c08, lo: 0xb8, hi: 0xb9},\n\t{value: 0x0a08, lo: 0xba, hi: 0xbf},\n\t// Block 0xa, offset 0x5e\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0808, lo: 0x80, hi: 0xa5},\n\t{value: 0x3308, lo: 0xa6, hi: 0xb0},\n\t{value: 0x0808, lo: 0xb1, hi: 0xb1},\n\t{value: 0x0040, lo: 0xb2, hi: 0xbf},\n\t// Block 0xb, offset 0x63\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x0808, lo: 0x80, hi: 0x89},\n\t{value: 0x0a08, lo: 0x8a, hi: 0xaa},\n\t{value: 0x3308, lo: 0xab, hi: 0xb3},\n\t{value: 0x0808, lo: 0xb4, hi: 0xb5},\n\t{value: 0x0018, lo: 0xb6, hi: 0xb9},\n\t{value: 0x0818, lo: 0xba, hi: 0xba},\n\t{value: 0x0040, lo: 0xbb, hi: 0xbf},\n\t// Block 0xc, offset 0x6b\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x0808, lo: 0x80, hi: 0x95},\n\t{value: 0x3308, lo: 0x96, hi: 0x99},\n\t{value: 0x0808, lo: 0x9a, hi: 0x9a},\n\t{value: 0x3308, lo: 0x9b, hi: 0xa3},\n\t{value: 0x0808, lo: 0xa4, hi: 0xa4},\n\t{value: 0x3308, lo: 0xa5, hi: 0xa7},\n\t{value: 0x0808, lo: 0xa8, hi: 0xa8},\n\t{value: 0x3308, lo: 0xa9, hi: 0xad},\n\t{value: 0x0040, lo: 0xae, hi: 0xaf},\n\t{value: 0x0818, lo: 0xb0, hi: 0xbe},\n\t{value: 0x0040, lo: 0xbf, hi: 0xbf},\n\t// Block 0xd, offset 0x77\n\t{value: 0x0000, lo: 0x0d},\n\t{value: 0x0040, lo: 0x80, hi: 0x9f},\n\t{value: 0x0a08, lo: 0xa0, hi: 0xa9},\n\t{value: 0x0c08, lo: 0xaa, hi: 0xac},\n\t{value: 0x0808, lo: 0xad, hi: 0xad},\n\t{value: 0x0c08, lo: 0xae, hi: 0xae},\n\t{value: 0x0a08, lo: 0xaf, hi: 0xb0},\n\t{value: 0x0c08, lo: 0xb1, hi: 0xb2},\n\t{value: 0x0a08, lo: 0xb3, hi: 0xb4},\n\t{value: 0x0040, lo: 0xb5, hi: 0xb5},\n\t{value: 0x0a08, lo: 0xb6, hi: 0xb8},\n\t{value: 0x0c08, lo: 0xb9, hi: 0xb9},\n\t{value: 0x0a08, lo: 0xba, hi: 0xbd},\n\t{value: 0x0040, lo: 0xbe, hi: 0xbf},\n\t// Block 0xe, offset 0x85\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0040, lo: 0x80, hi: 0x93},\n\t{value: 0x3308, lo: 0x94, hi: 0xa1},\n\t{value: 0x0840, lo: 0xa2, hi: 0xa2},\n\t{value: 0x3308, lo: 0xa3, hi: 0xbf},\n\t// Block 0xf, offset 0x8a\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0x3308, lo: 0x80, hi: 0x82},\n\t{value: 0x3008, lo: 0x83, hi: 0x83},\n\t{value: 0x0008, lo: 0x84, hi: 0xb9},\n\t{value: 0x3308, lo: 0xba, hi: 0xba},\n\t{value: 0x3008, lo: 0xbb, hi: 0xbb},\n\t{value: 0x3308, lo: 0xbc, hi: 0xbc},\n\t{value: 0x0008, lo: 0xbd, hi: 0xbd},\n\t{value: 0x3008, lo: 0xbe, hi: 0xbf},\n\t// Block 0x10, offset 0x93\n\t{value: 0x0000, lo: 0x0f},\n\t{value: 0x3308, lo: 0x80, hi: 0x80},\n\t{value: 0x3008, lo: 0x81, hi: 0x82},\n\t{value: 0x0040, lo: 0x83, hi: 0x85},\n\t{value: 0x3008, lo: 0x86, hi: 0x88},\n\t{value: 0x0040, lo: 0x89, hi: 0x89},\n\t{value: 0x3008, lo: 0x8a, hi: 0x8c},\n\t{value: 0x3b08, lo: 0x8d, hi: 0x8d},\n\t{value: 0x0040, lo: 0x8e, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x90},\n\t{value: 0x0040, lo: 0x91, hi: 0x96},\n\t{value: 0x3008, lo: 0x97, hi: 0x97},\n\t{value: 0x0040, lo: 0x98, hi: 0xa5},\n\t{value: 0x0008, lo: 0xa6, hi: 0xaf},\n\t{value: 0x0018, lo: 0xb0, hi: 0xba},\n\t{value: 0x0040, lo: 0xbb, hi: 0xbf},\n\t// Block 0x11, offset 0xa3\n\t{value: 0x0000, lo: 0x0d},\n\t{value: 0x3308, lo: 0x80, hi: 0x80},\n\t{value: 0x3008, lo: 0x81, hi: 0x83},\n\t{value: 0x0040, lo: 0x84, hi: 0x84},\n\t{value: 0x0008, lo: 0x85, hi: 0x8c},\n\t{value: 0x0040, lo: 0x8d, hi: 0x8d},\n\t{value: 0x0008, lo: 0x8e, hi: 0x90},\n\t{value: 0x0040, lo: 0x91, hi: 0x91},\n\t{value: 0x0008, lo: 0x92, hi: 0xa8},\n\t{value: 0x0040, lo: 0xa9, hi: 0xa9},\n\t{value: 0x0008, lo: 0xaa, hi: 0xb9},\n\t{value: 0x0040, lo: 0xba, hi: 0xbc},\n\t{value: 0x0008, lo: 0xbd, hi: 0xbd},\n\t{value: 0x3308, lo: 0xbe, hi: 0xbf},\n\t// Block 0x12, offset 0xb1\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x3308, lo: 0x80, hi: 0x81},\n\t{value: 0x3008, lo: 0x82, hi: 0x83},\n\t{value: 0x0040, lo: 0x84, hi: 0x84},\n\t{value: 0x0008, lo: 0x85, hi: 0x8c},\n\t{value: 0x0040, lo: 0x8d, hi: 0x8d},\n\t{value: 0x0008, lo: 0x8e, hi: 0x90},\n\t{value: 0x0040, lo: 0x91, hi: 0x91},\n\t{value: 0x0008, lo: 0x92, hi: 0xba},\n\t{value: 0x3b08, lo: 0xbb, hi: 0xbc},\n\t{value: 0x0008, lo: 0xbd, hi: 0xbd},\n\t{value: 0x3008, lo: 0xbe, hi: 0xbf},\n\t// Block 0x13, offset 0xbd\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x0040, lo: 0x80, hi: 0x81},\n\t{value: 0x3008, lo: 0x82, hi: 0x83},\n\t{value: 0x0040, lo: 0x84, hi: 0x84},\n\t{value: 0x0008, lo: 0x85, hi: 0x96},\n\t{value: 0x0040, lo: 0x97, hi: 0x99},\n\t{value: 0x0008, lo: 0x9a, hi: 0xb1},\n\t{value: 0x0040, lo: 0xb2, hi: 0xb2},\n\t{value: 0x0008, lo: 0xb3, hi: 0xbb},\n\t{value: 0x0040, lo: 0xbc, hi: 0xbc},\n\t{value: 0x0008, lo: 0xbd, hi: 0xbd},\n\t{value: 0x0040, lo: 0xbe, hi: 0xbf},\n\t// Block 0x14, offset 0xc9\n\t{value: 0x0000, lo: 0x10},\n\t{value: 0x0008, lo: 0x80, hi: 0x86},\n\t{value: 0x0040, lo: 0x87, hi: 0x89},\n\t{value: 0x3b08, lo: 0x8a, hi: 0x8a},\n\t{value: 0x0040, lo: 0x8b, hi: 0x8e},\n\t{value: 0x3008, lo: 0x8f, hi: 0x91},\n\t{value: 0x3308, lo: 0x92, hi: 0x94},\n\t{value: 0x0040, lo: 0x95, hi: 0x95},\n\t{value: 0x3308, lo: 0x96, hi: 0x96},\n\t{value: 0x0040, lo: 0x97, hi: 0x97},\n\t{value: 0x3008, lo: 0x98, hi: 0x9f},\n\t{value: 0x0040, lo: 0xa0, hi: 0xa5},\n\t{value: 0x0008, lo: 0xa6, hi: 0xaf},\n\t{value: 0x0040, lo: 0xb0, hi: 0xb1},\n\t{value: 0x3008, lo: 0xb2, hi: 0xb3},\n\t{value: 0x0018, lo: 0xb4, hi: 0xb4},\n\t{value: 0x0040, lo: 0xb5, hi: 0xbf},\n\t// Block 0x15, offset 0xda\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x0040, lo: 0x80, hi: 0x80},\n\t{value: 0x0008, lo: 0x81, hi: 0xb0},\n\t{value: 0x3308, lo: 0xb1, hi: 0xb1},\n\t{value: 0x0008, lo: 0xb2, hi: 0xb2},\n\t{value: 0x08f1, lo: 0xb3, hi: 0xb3},\n\t{value: 0x3308, lo: 0xb4, hi: 0xb9},\n\t{value: 0x3b08, lo: 0xba, hi: 0xba},\n\t{value: 0x0040, lo: 0xbb, hi: 0xbe},\n\t{value: 0x0018, lo: 0xbf, hi: 0xbf},\n\t// Block 0x16, offset 0xe4\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x0008, lo: 0x80, hi: 0x86},\n\t{value: 0x3308, lo: 0x87, hi: 0x8e},\n\t{value: 0x0018, lo: 0x8f, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x99},\n\t{value: 0x0018, lo: 0x9a, hi: 0x9b},\n\t{value: 0x0040, lo: 0x9c, hi: 0xbf},\n\t// Block 0x17, offset 0xeb\n\t{value: 0x0000, lo: 0x0c},\n\t{value: 0x0008, lo: 0x80, hi: 0x84},\n\t{value: 0x0040, lo: 0x85, hi: 0x85},\n\t{value: 0x0008, lo: 0x86, hi: 0x86},\n\t{value: 0x0040, lo: 0x87, hi: 0x87},\n\t{value: 0x3308, lo: 0x88, hi: 0x8d},\n\t{value: 0x0040, lo: 0x8e, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0x9b},\n\t{value: 0x0961, lo: 0x9c, hi: 0x9c},\n\t{value: 0x0999, lo: 0x9d, hi: 0x9d},\n\t{value: 0x0008, lo: 0x9e, hi: 0x9f},\n\t{value: 0x0040, lo: 0xa0, hi: 0xbf},\n\t// Block 0x18, offset 0xf8\n\t{value: 0x0000, lo: 0x10},\n\t{value: 0x0008, lo: 0x80, hi: 0x80},\n\t{value: 0x0018, lo: 0x81, hi: 0x8a},\n\t{value: 0x0008, lo: 0x8b, hi: 0x8b},\n\t{value: 0xe03d, lo: 0x8c, hi: 0x8c},\n\t{value: 0x0018, lo: 0x8d, hi: 0x97},\n\t{value: 0x3308, lo: 0x98, hi: 0x99},\n\t{value: 0x0018, lo: 0x9a, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xa9},\n\t{value: 0x0018, lo: 0xaa, hi: 0xb4},\n\t{value: 0x3308, lo: 0xb5, hi: 0xb5},\n\t{value: 0x0018, lo: 0xb6, hi: 0xb6},\n\t{value: 0x3308, lo: 0xb7, hi: 0xb7},\n\t{value: 0x0018, lo: 0xb8, hi: 0xb8},\n\t{value: 0x3308, lo: 0xb9, hi: 0xb9},\n\t{value: 0x0018, lo: 0xba, hi: 0xbd},\n\t{value: 0x3008, lo: 0xbe, hi: 0xbf},\n\t// Block 0x19, offset 0x109\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x0018, lo: 0x80, hi: 0x85},\n\t{value: 0x3308, lo: 0x86, hi: 0x86},\n\t{value: 0x0018, lo: 0x87, hi: 0x8c},\n\t{value: 0x0040, lo: 0x8d, hi: 0x8d},\n\t{value: 0x0018, lo: 0x8e, hi: 0x9a},\n\t{value: 0x0040, lo: 0x9b, hi: 0xbf},\n\t// Block 0x1a, offset 0x110\n\t{value: 0x0000, lo: 0x0a},\n\t{value: 0x0008, lo: 0x80, hi: 0xaa},\n\t{value: 0x3008, lo: 0xab, hi: 0xac},\n\t{value: 0x3308, lo: 0xad, hi: 0xb0},\n\t{value: 0x3008, lo: 0xb1, hi: 0xb1},\n\t{value: 0x3308, lo: 0xb2, hi: 0xb7},\n\t{value: 0x3008, lo: 0xb8, hi: 0xb8},\n\t{value: 0x3b08, lo: 0xb9, hi: 0xba},\n\t{value: 0x3008, lo: 0xbb, hi: 0xbc},\n\t{value: 0x3308, lo: 0xbd, hi: 0xbe},\n\t{value: 0x0008, lo: 0xbf, hi: 0xbf},\n\t// Block 0x1b, offset 0x11b\n\t{value: 0x0000, lo: 0x0e},\n\t{value: 0x0008, lo: 0x80, hi: 0x89},\n\t{value: 0x0018, lo: 0x8a, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x95},\n\t{value: 0x3008, lo: 0x96, hi: 0x97},\n\t{value: 0x3308, lo: 0x98, hi: 0x99},\n\t{value: 0x0008, lo: 0x9a, hi: 0x9d},\n\t{value: 0x3308, lo: 0x9e, hi: 0xa0},\n\t{value: 0x0008, lo: 0xa1, hi: 0xa1},\n\t{value: 0x3008, lo: 0xa2, hi: 0xa4},\n\t{value: 0x0008, lo: 0xa5, hi: 0xa6},\n\t{value: 0x3008, lo: 0xa7, hi: 0xad},\n\t{value: 0x0008, lo: 0xae, hi: 0xb0},\n\t{value: 0x3308, lo: 0xb1, hi: 0xb4},\n\t{value: 0x0008, lo: 0xb5, hi: 0xbf},\n\t// Block 0x1c, offset 0x12a\n\t{value: 0x0000, lo: 0x0d},\n\t{value: 0x0008, lo: 0x80, hi: 0x81},\n\t{value: 0x3308, lo: 0x82, hi: 0x82},\n\t{value: 0x3008, lo: 0x83, hi: 0x84},\n\t{value: 0x3308, lo: 0x85, hi: 0x86},\n\t{value: 0x3008, lo: 0x87, hi: 0x8c},\n\t{value: 0x3308, lo: 0x8d, hi: 0x8d},\n\t{value: 0x0008, lo: 0x8e, hi: 0x8e},\n\t{value: 0x3008, lo: 0x8f, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x99},\n\t{value: 0x3008, lo: 0x9a, hi: 0x9c},\n\t{value: 0x3308, lo: 0x9d, hi: 0x9d},\n\t{value: 0x0018, lo: 0x9e, hi: 0x9f},\n\t{value: 0x0040, lo: 0xa0, hi: 0xbf},\n\t// Block 0x1d, offset 0x138\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x0040, lo: 0x80, hi: 0x86},\n\t{value: 0x055d, lo: 0x87, hi: 0x87},\n\t{value: 0x0040, lo: 0x88, hi: 0x8c},\n\t{value: 0x055d, lo: 0x8d, hi: 0x8d},\n\t{value: 0x0040, lo: 0x8e, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0xba},\n\t{value: 0x0018, lo: 0xbb, hi: 0xbb},\n\t{value: 0xe105, lo: 0xbc, hi: 0xbc},\n\t{value: 0x0008, lo: 0xbd, hi: 0xbf},\n\t// Block 0x1e, offset 0x142\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x0018, lo: 0x80, hi: 0xbf},\n\t// Block 0x1f, offset 0x144\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0018, lo: 0x80, hi: 0x9e},\n\t{value: 0x0040, lo: 0x9f, hi: 0xa0},\n\t{value: 0x2018, lo: 0xa1, hi: 0xb5},\n\t{value: 0x0018, lo: 0xb6, hi: 0xbf},\n\t// Block 0x20, offset 0x149\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0018, lo: 0x80, hi: 0xa7},\n\t{value: 0x2018, lo: 0xa8, hi: 0xbf},\n\t// Block 0x21, offset 0x14c\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x2018, lo: 0x80, hi: 0x82},\n\t{value: 0x0018, lo: 0x83, hi: 0xbf},\n\t// Block 0x22, offset 0x14f\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x0008, lo: 0x80, hi: 0xbf},\n\t// Block 0x23, offset 0x151\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x0008, lo: 0x80, hi: 0x88},\n\t{value: 0x0040, lo: 0x89, hi: 0x89},\n\t{value: 0x0008, lo: 0x8a, hi: 0x8d},\n\t{value: 0x0040, lo: 0x8e, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x96},\n\t{value: 0x0040, lo: 0x97, hi: 0x97},\n\t{value: 0x0008, lo: 0x98, hi: 0x98},\n\t{value: 0x0040, lo: 0x99, hi: 0x99},\n\t{value: 0x0008, lo: 0x9a, hi: 0x9d},\n\t{value: 0x0040, lo: 0x9e, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xbf},\n\t// Block 0x24, offset 0x15d\n\t{value: 0x0000, lo: 0x0a},\n\t{value: 0x0008, lo: 0x80, hi: 0x88},\n\t{value: 0x0040, lo: 0x89, hi: 0x89},\n\t{value: 0x0008, lo: 0x8a, hi: 0x8d},\n\t{value: 0x0040, lo: 0x8e, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0xb0},\n\t{value: 0x0040, lo: 0xb1, hi: 0xb1},\n\t{value: 0x0008, lo: 0xb2, hi: 0xb5},\n\t{value: 0x0040, lo: 0xb6, hi: 0xb7},\n\t{value: 0x0008, lo: 0xb8, hi: 0xbe},\n\t{value: 0x0040, lo: 0xbf, hi: 0xbf},\n\t// Block 0x25, offset 0x168\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x0008, lo: 0x80, hi: 0x80},\n\t{value: 0x0040, lo: 0x81, hi: 0x81},\n\t{value: 0x0008, lo: 0x82, hi: 0x85},\n\t{value: 0x0040, lo: 0x86, hi: 0x87},\n\t{value: 0x0008, lo: 0x88, hi: 0x96},\n\t{value: 0x0040, lo: 0x97, hi: 0x97},\n\t{value: 0x0008, lo: 0x98, hi: 0xbf},\n\t// Block 0x26, offset 0x170\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0008, lo: 0x80, hi: 0x90},\n\t{value: 0x0040, lo: 0x91, hi: 0x91},\n\t{value: 0x0008, lo: 0x92, hi: 0x95},\n\t{value: 0x0040, lo: 0x96, hi: 0x97},\n\t{value: 0x0008, lo: 0x98, hi: 0xbf},\n\t// Block 0x27, offset 0x176\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0008, lo: 0x80, hi: 0x9a},\n\t{value: 0x0040, lo: 0x9b, hi: 0x9c},\n\t{value: 0x3308, lo: 0x9d, hi: 0x9f},\n\t{value: 0x0018, lo: 0xa0, hi: 0xbc},\n\t{value: 0x0040, lo: 0xbd, hi: 0xbf},\n\t// Block 0x28, offset 0x17c\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0008, lo: 0x80, hi: 0x8f},\n\t{value: 0x0018, lo: 0x90, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xbf},\n\t// Block 0x29, offset 0x181\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0008, lo: 0x80, hi: 0xb5},\n\t{value: 0x0040, lo: 0xb6, hi: 0xb7},\n\t{value: 0xe045, lo: 0xb8, hi: 0xbd},\n\t{value: 0x0040, lo: 0xbe, hi: 0xbf},\n\t// Block 0x2a, offset 0x186\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0018, lo: 0x80, hi: 0x80},\n\t{value: 0x0008, lo: 0x81, hi: 0xbf},\n\t// Block 0x2b, offset 0x189\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0008, lo: 0x80, hi: 0xac},\n\t{value: 0x0018, lo: 0xad, hi: 0xae},\n\t{value: 0x0008, lo: 0xaf, hi: 0xbf},\n\t// Block 0x2c, offset 0x18d\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0040, lo: 0x80, hi: 0x80},\n\t{value: 0x0008, lo: 0x81, hi: 0x9a},\n\t{value: 0x0018, lo: 0x9b, hi: 0x9c},\n\t{value: 0x0040, lo: 0x9d, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xbf},\n\t// Block 0x2d, offset 0x193\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0008, lo: 0x80, hi: 0xaa},\n\t{value: 0x0018, lo: 0xab, hi: 0xb0},\n\t{value: 0x0008, lo: 0xb1, hi: 0xb8},\n\t{value: 0x0040, lo: 0xb9, hi: 0xbf},\n\t// Block 0x2e, offset 0x198\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x0008, lo: 0x80, hi: 0x8c},\n\t{value: 0x0040, lo: 0x8d, hi: 0x8d},\n\t{value: 0x0008, lo: 0x8e, hi: 0x91},\n\t{value: 0x3308, lo: 0x92, hi: 0x93},\n\t{value: 0x3b08, lo: 0x94, hi: 0x94},\n\t{value: 0x0040, lo: 0x95, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xb1},\n\t{value: 0x3308, lo: 0xb2, hi: 0xb3},\n\t{value: 0x3b08, lo: 0xb4, hi: 0xb4},\n\t{value: 0x0018, lo: 0xb5, hi: 0xb6},\n\t{value: 0x0040, lo: 0xb7, hi: 0xbf},\n\t// Block 0x2f, offset 0x1a4\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x0008, lo: 0x80, hi: 0x91},\n\t{value: 0x3308, lo: 0x92, hi: 0x93},\n\t{value: 0x0040, lo: 0x94, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xac},\n\t{value: 0x0040, lo: 0xad, hi: 0xad},\n\t{value: 0x0008, lo: 0xae, hi: 0xb0},\n\t{value: 0x0040, lo: 0xb1, hi: 0xb1},\n\t{value: 0x3308, lo: 0xb2, hi: 0xb3},\n\t{value: 0x0040, lo: 0xb4, hi: 0xbf},\n\t// Block 0x30, offset 0x1ae\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0008, lo: 0x80, hi: 0xb3},\n\t{value: 0x3340, lo: 0xb4, hi: 0xb5},\n\t{value: 0x3008, lo: 0xb6, hi: 0xb6},\n\t{value: 0x3308, lo: 0xb7, hi: 0xbd},\n\t{value: 0x3008, lo: 0xbe, hi: 0xbf},\n\t// Block 0x31, offset 0x1b4\n\t{value: 0x0000, lo: 0x10},\n\t{value: 0x3008, lo: 0x80, hi: 0x85},\n\t{value: 0x3308, lo: 0x86, hi: 0x86},\n\t{value: 0x3008, lo: 0x87, hi: 0x88},\n\t{value: 0x3308, lo: 0x89, hi: 0x91},\n\t{value: 0x3b08, lo: 0x92, hi: 0x92},\n\t{value: 0x3308, lo: 0x93, hi: 0x93},\n\t{value: 0x0018, lo: 0x94, hi: 0x96},\n\t{value: 0x0008, lo: 0x97, hi: 0x97},\n\t{value: 0x0018, lo: 0x98, hi: 0x9b},\n\t{value: 0x0008, lo: 0x9c, hi: 0x9c},\n\t{value: 0x3308, lo: 0x9d, hi: 0x9d},\n\t{value: 0x0040, lo: 0x9e, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xa9},\n\t{value: 0x0040, lo: 0xaa, hi: 0xaf},\n\t{value: 0x0018, lo: 0xb0, hi: 0xb9},\n\t{value: 0x0040, lo: 0xba, hi: 0xbf},\n\t// Block 0x32, offset 0x1c5\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x0018, lo: 0x80, hi: 0x85},\n\t{value: 0x0040, lo: 0x86, hi: 0x86},\n\t{value: 0x0218, lo: 0x87, hi: 0x87},\n\t{value: 0x0018, lo: 0x88, hi: 0x8a},\n\t{value: 0x33c0, lo: 0x8b, hi: 0x8d},\n\t{value: 0x0040, lo: 0x8e, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0x9f},\n\t{value: 0x0208, lo: 0xa0, hi: 0xbf},\n\t// Block 0x33, offset 0x1cf\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0208, lo: 0x80, hi: 0xb7},\n\t{value: 0x0040, lo: 0xb8, hi: 0xbf},\n\t// Block 0x34, offset 0x1d2\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x0008, lo: 0x80, hi: 0x84},\n\t{value: 0x3308, lo: 0x85, hi: 0x86},\n\t{value: 0x0208, lo: 0x87, hi: 0xa8},\n\t{value: 0x3308, lo: 0xa9, hi: 0xa9},\n\t{value: 0x0208, lo: 0xaa, hi: 0xaa},\n\t{value: 0x0040, lo: 0xab, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xbf},\n\t// Block 0x35, offset 0x1da\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0xb5},\n\t{value: 0x0040, lo: 0xb6, hi: 0xbf},\n\t// Block 0x36, offset 0x1dd\n\t{value: 0x0000, lo: 0x0c},\n\t{value: 0x0008, lo: 0x80, hi: 0x9e},\n\t{value: 0x0040, lo: 0x9f, hi: 0x9f},\n\t{value: 0x3308, lo: 0xa0, hi: 0xa2},\n\t{value: 0x3008, lo: 0xa3, hi: 0xa6},\n\t{value: 0x3308, lo: 0xa7, hi: 0xa8},\n\t{value: 0x3008, lo: 0xa9, hi: 0xab},\n\t{value: 0x0040, lo: 0xac, hi: 0xaf},\n\t{value: 0x3008, lo: 0xb0, hi: 0xb1},\n\t{value: 0x3308, lo: 0xb2, hi: 0xb2},\n\t{value: 0x3008, lo: 0xb3, hi: 0xb8},\n\t{value: 0x3308, lo: 0xb9, hi: 0xbb},\n\t{value: 0x0040, lo: 0xbc, hi: 0xbf},\n\t// Block 0x37, offset 0x1ea\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x0018, lo: 0x80, hi: 0x80},\n\t{value: 0x0040, lo: 0x81, hi: 0x83},\n\t{value: 0x0018, lo: 0x84, hi: 0x85},\n\t{value: 0x0008, lo: 0x86, hi: 0xad},\n\t{value: 0x0040, lo: 0xae, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xb4},\n\t{value: 0x0040, lo: 0xb5, hi: 0xbf},\n\t// Block 0x38, offset 0x1f2\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0008, lo: 0x80, hi: 0xab},\n\t{value: 0x0040, lo: 0xac, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xbf},\n\t// Block 0x39, offset 0x1f6\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x0008, lo: 0x80, hi: 0x89},\n\t{value: 0x0040, lo: 0x8a, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x99},\n\t{value: 0x0028, lo: 0x9a, hi: 0x9a},\n\t{value: 0x0040, lo: 0x9b, hi: 0x9d},\n\t{value: 0x0018, lo: 0x9e, hi: 0xbf},\n\t// Block 0x3a, offset 0x1fd\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x0008, lo: 0x80, hi: 0x96},\n\t{value: 0x3308, lo: 0x97, hi: 0x98},\n\t{value: 0x3008, lo: 0x99, hi: 0x9a},\n\t{value: 0x3308, lo: 0x9b, hi: 0x9b},\n\t{value: 0x0040, lo: 0x9c, hi: 0x9d},\n\t{value: 0x0018, lo: 0x9e, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xbf},\n\t// Block 0x3b, offset 0x205\n\t{value: 0x0000, lo: 0x0f},\n\t{value: 0x0008, lo: 0x80, hi: 0x94},\n\t{value: 0x3008, lo: 0x95, hi: 0x95},\n\t{value: 0x3308, lo: 0x96, hi: 0x96},\n\t{value: 0x3008, lo: 0x97, hi: 0x97},\n\t{value: 0x3308, lo: 0x98, hi: 0x9e},\n\t{value: 0x0040, lo: 0x9f, hi: 0x9f},\n\t{value: 0x3b08, lo: 0xa0, hi: 0xa0},\n\t{value: 0x3008, lo: 0xa1, hi: 0xa1},\n\t{value: 0x3308, lo: 0xa2, hi: 0xa2},\n\t{value: 0x3008, lo: 0xa3, hi: 0xa4},\n\t{value: 0x3308, lo: 0xa5, hi: 0xac},\n\t{value: 0x3008, lo: 0xad, hi: 0xb2},\n\t{value: 0x3308, lo: 0xb3, hi: 0xbc},\n\t{value: 0x0040, lo: 0xbd, hi: 0xbe},\n\t{value: 0x3308, lo: 0xbf, hi: 0xbf},\n\t// Block 0x3c, offset 0x215\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x0008, lo: 0x80, hi: 0x89},\n\t{value: 0x0040, lo: 0x8a, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0x9f},\n\t{value: 0x0018, lo: 0xa0, hi: 0xa6},\n\t{value: 0x0008, lo: 0xa7, hi: 0xa7},\n\t{value: 0x0018, lo: 0xa8, hi: 0xad},\n\t{value: 0x0040, lo: 0xae, hi: 0xaf},\n\t{value: 0x3308, lo: 0xb0, hi: 0xbd},\n\t{value: 0x3318, lo: 0xbe, hi: 0xbe},\n\t{value: 0x0040, lo: 0xbf, hi: 0xbf},\n\t// Block 0x3d, offset 0x221\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x0040, lo: 0x80, hi: 0xbf},\n\t// Block 0x3e, offset 0x223\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x3308, lo: 0x80, hi: 0x83},\n\t{value: 0x3008, lo: 0x84, hi: 0x84},\n\t{value: 0x0008, lo: 0x85, hi: 0xb3},\n\t{value: 0x3308, lo: 0xb4, hi: 0xb4},\n\t{value: 0x3008, lo: 0xb5, hi: 0xb5},\n\t{value: 0x3308, lo: 0xb6, hi: 0xba},\n\t{value: 0x3008, lo: 0xbb, hi: 0xbb},\n\t{value: 0x3308, lo: 0xbc, hi: 0xbc},\n\t{value: 0x3008, lo: 0xbd, hi: 0xbf},\n\t// Block 0x3f, offset 0x22d\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x3008, lo: 0x80, hi: 0x81},\n\t{value: 0x3308, lo: 0x82, hi: 0x82},\n\t{value: 0x3008, lo: 0x83, hi: 0x83},\n\t{value: 0x3808, lo: 0x84, hi: 0x84},\n\t{value: 0x0008, lo: 0x85, hi: 0x8b},\n\t{value: 0x0040, lo: 0x8c, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x99},\n\t{value: 0x0018, lo: 0x9a, hi: 0xaa},\n\t{value: 0x3308, lo: 0xab, hi: 0xb3},\n\t{value: 0x0018, lo: 0xb4, hi: 0xbc},\n\t{value: 0x0040, lo: 0xbd, hi: 0xbf},\n\t// Block 0x40, offset 0x239\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x3308, lo: 0x80, hi: 0x81},\n\t{value: 0x3008, lo: 0x82, hi: 0x82},\n\t{value: 0x0008, lo: 0x83, hi: 0xa0},\n\t{value: 0x3008, lo: 0xa1, hi: 0xa1},\n\t{value: 0x3308, lo: 0xa2, hi: 0xa5},\n\t{value: 0x3008, lo: 0xa6, hi: 0xa7},\n\t{value: 0x3308, lo: 0xa8, hi: 0xa9},\n\t{value: 0x3808, lo: 0xaa, hi: 0xaa},\n\t{value: 0x3b08, lo: 0xab, hi: 0xab},\n\t{value: 0x3308, lo: 0xac, hi: 0xad},\n\t{value: 0x0008, lo: 0xae, hi: 0xbf},\n\t// Block 0x41, offset 0x245\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x0008, lo: 0x80, hi: 0xa5},\n\t{value: 0x3308, lo: 0xa6, hi: 0xa6},\n\t{value: 0x3008, lo: 0xa7, hi: 0xa7},\n\t{value: 0x3308, lo: 0xa8, hi: 0xa9},\n\t{value: 0x3008, lo: 0xaa, hi: 0xac},\n\t{value: 0x3308, lo: 0xad, hi: 0xad},\n\t{value: 0x3008, lo: 0xae, hi: 0xae},\n\t{value: 0x3308, lo: 0xaf, hi: 0xb1},\n\t{value: 0x3808, lo: 0xb2, hi: 0xb3},\n\t{value: 0x0040, lo: 0xb4, hi: 0xbb},\n\t{value: 0x0018, lo: 0xbc, hi: 0xbf},\n\t// Block 0x42, offset 0x251\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x0008, lo: 0x80, hi: 0xa3},\n\t{value: 0x3008, lo: 0xa4, hi: 0xab},\n\t{value: 0x3308, lo: 0xac, hi: 0xb3},\n\t{value: 0x3008, lo: 0xb4, hi: 0xb5},\n\t{value: 0x3308, lo: 0xb6, hi: 0xb7},\n\t{value: 0x0040, lo: 0xb8, hi: 0xba},\n\t{value: 0x0018, lo: 0xbb, hi: 0xbf},\n\t// Block 0x43, offset 0x259\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0008, lo: 0x80, hi: 0x89},\n\t{value: 0x0040, lo: 0x8a, hi: 0x8c},\n\t{value: 0x0008, lo: 0x8d, hi: 0xbd},\n\t{value: 0x0018, lo: 0xbe, hi: 0xbf},\n\t// Block 0x44, offset 0x25e\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x0e29, lo: 0x80, hi: 0x80},\n\t{value: 0x0e41, lo: 0x81, hi: 0x81},\n\t{value: 0x0e59, lo: 0x82, hi: 0x82},\n\t{value: 0x0e71, lo: 0x83, hi: 0x83},\n\t{value: 0x0e89, lo: 0x84, hi: 0x85},\n\t{value: 0x0ea1, lo: 0x86, hi: 0x86},\n\t{value: 0x0eb9, lo: 0x87, hi: 0x87},\n\t{value: 0x057d, lo: 0x88, hi: 0x88},\n\t{value: 0x0040, lo: 0x89, hi: 0xbf},\n\t// Block 0x45, offset 0x268\n\t{value: 0x0000, lo: 0x10},\n\t{value: 0x0018, lo: 0x80, hi: 0x87},\n\t{value: 0x0040, lo: 0x88, hi: 0x8f},\n\t{value: 0x3308, lo: 0x90, hi: 0x92},\n\t{value: 0x0018, lo: 0x93, hi: 0x93},\n\t{value: 0x3308, lo: 0x94, hi: 0xa0},\n\t{value: 0x3008, lo: 0xa1, hi: 0xa1},\n\t{value: 0x3308, lo: 0xa2, hi: 0xa8},\n\t{value: 0x0008, lo: 0xa9, hi: 0xac},\n\t{value: 0x3308, lo: 0xad, hi: 0xad},\n\t{value: 0x0008, lo: 0xae, hi: 0xb1},\n\t{value: 0x3008, lo: 0xb2, hi: 0xb3},\n\t{value: 0x3308, lo: 0xb4, hi: 0xb4},\n\t{value: 0x0008, lo: 0xb5, hi: 0xb6},\n\t{value: 0x3008, lo: 0xb7, hi: 0xb7},\n\t{value: 0x3308, lo: 0xb8, hi: 0xb9},\n\t{value: 0x0040, lo: 0xba, hi: 0xbf},\n\t// Block 0x46, offset 0x279\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x3308, lo: 0x80, hi: 0xb9},\n\t{value: 0x0040, lo: 0xba, hi: 0xba},\n\t{value: 0x3308, lo: 0xbb, hi: 0xbf},\n\t// Block 0x47, offset 0x27d\n\t{value: 0x0000, lo: 0x0a},\n\t{value: 0x0008, lo: 0x80, hi: 0x87},\n\t{value: 0xe045, lo: 0x88, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x95},\n\t{value: 0x0040, lo: 0x96, hi: 0x97},\n\t{value: 0xe045, lo: 0x98, hi: 0x9d},\n\t{value: 0x0040, lo: 0x9e, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xa7},\n\t{value: 0xe045, lo: 0xa8, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xb7},\n\t{value: 0xe045, lo: 0xb8, hi: 0xbf},\n\t// Block 0x48, offset 0x288\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0040, lo: 0x80, hi: 0x8f},\n\t{value: 0x3318, lo: 0x90, hi: 0xb0},\n\t{value: 0x0040, lo: 0xb1, hi: 0xbf},\n\t// Block 0x49, offset 0x28c\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0x0018, lo: 0x80, hi: 0x82},\n\t{value: 0x0040, lo: 0x83, hi: 0x83},\n\t{value: 0x0008, lo: 0x84, hi: 0x84},\n\t{value: 0x0018, lo: 0x85, hi: 0x88},\n\t{value: 0x24c1, lo: 0x89, hi: 0x89},\n\t{value: 0x0018, lo: 0x8a, hi: 0x8b},\n\t{value: 0x0040, lo: 0x8c, hi: 0x8f},\n\t{value: 0x0018, lo: 0x90, hi: 0xbf},\n\t// Block 0x4a, offset 0x295\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x0018, lo: 0x80, hi: 0xab},\n\t{value: 0x24f1, lo: 0xac, hi: 0xac},\n\t{value: 0x2529, lo: 0xad, hi: 0xad},\n\t{value: 0x0018, lo: 0xae, hi: 0xae},\n\t{value: 0x2579, lo: 0xaf, hi: 0xaf},\n\t{value: 0x25b1, lo: 0xb0, hi: 0xb0},\n\t{value: 0x0018, lo: 0xb1, hi: 0xbf},\n\t// Block 0x4b, offset 0x29d\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0018, lo: 0x80, hi: 0x9f},\n\t{value: 0x0080, lo: 0xa0, hi: 0xa0},\n\t{value: 0x0018, lo: 0xa1, hi: 0xad},\n\t{value: 0x0080, lo: 0xae, hi: 0xaf},\n\t{value: 0x0018, lo: 0xb0, hi: 0xbf},\n\t// Block 0x4c, offset 0x2a3\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0018, lo: 0x80, hi: 0xa8},\n\t{value: 0x09c5, lo: 0xa9, hi: 0xa9},\n\t{value: 0x09e5, lo: 0xaa, hi: 0xaa},\n\t{value: 0x0018, lo: 0xab, hi: 0xbf},\n\t// Block 0x4d, offset 0x2a8\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0018, lo: 0x80, hi: 0xa6},\n\t{value: 0x0040, lo: 0xa7, hi: 0xbf},\n\t// Block 0x4e, offset 0x2ab\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0018, lo: 0x80, hi: 0x8b},\n\t{value: 0x28c1, lo: 0x8c, hi: 0x8c},\n\t{value: 0x0018, lo: 0x8d, hi: 0xbf},\n\t// Block 0x4f, offset 0x2af\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0018, lo: 0x80, hi: 0xb3},\n\t{value: 0x0e66, lo: 0xb4, hi: 0xb4},\n\t{value: 0x292a, lo: 0xb5, hi: 0xb5},\n\t{value: 0x0e86, lo: 0xb6, hi: 0xb6},\n\t{value: 0x0018, lo: 0xb7, hi: 0xbf},\n\t// Block 0x50, offset 0x2b5\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0018, lo: 0x80, hi: 0x9b},\n\t{value: 0x2941, lo: 0x9c, hi: 0x9c},\n\t{value: 0x0018, lo: 0x9d, hi: 0xbf},\n\t// Block 0x51, offset 0x2b9\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0018, lo: 0x80, hi: 0xb3},\n\t{value: 0x0040, lo: 0xb4, hi: 0xb5},\n\t{value: 0x0018, lo: 0xb6, hi: 0xbf},\n\t// Block 0x52, offset 0x2bd\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0018, lo: 0x80, hi: 0x95},\n\t{value: 0x0040, lo: 0x96, hi: 0x97},\n\t{value: 0x0018, lo: 0x98, hi: 0xb9},\n\t{value: 0x0040, lo: 0xba, hi: 0xbc},\n\t{value: 0x0018, lo: 0xbd, hi: 0xbf},\n\t// Block 0x53, offset 0x2c3\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x0018, lo: 0x80, hi: 0x88},\n\t{value: 0x0040, lo: 0x89, hi: 0x89},\n\t{value: 0x0018, lo: 0x8a, hi: 0x92},\n\t{value: 0x0040, lo: 0x93, hi: 0xab},\n\t{value: 0x0018, lo: 0xac, hi: 0xaf},\n\t{value: 0x0040, lo: 0xb0, hi: 0xbf},\n\t// Block 0x54, offset 0x2ca\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xe185, lo: 0x80, hi: 0x8f},\n\t{value: 0x03f5, lo: 0x90, hi: 0x9f},\n\t{value: 0x0ea5, lo: 0xa0, hi: 0xae},\n\t{value: 0x0040, lo: 0xaf, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xbf},\n\t// Block 0x55, offset 0x2d0\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x0008, lo: 0x80, hi: 0xa5},\n\t{value: 0x0040, lo: 0xa6, hi: 0xa6},\n\t{value: 0x0008, lo: 0xa7, hi: 0xa7},\n\t{value: 0x0040, lo: 0xa8, hi: 0xac},\n\t{value: 0x0008, lo: 0xad, hi: 0xad},\n\t{value: 0x0040, lo: 0xae, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xbf},\n\t// Block 0x56, offset 0x2d8\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x0008, lo: 0x80, hi: 0xa7},\n\t{value: 0x0040, lo: 0xa8, hi: 0xae},\n\t{value: 0xe075, lo: 0xaf, hi: 0xaf},\n\t{value: 0x0018, lo: 0xb0, hi: 0xb0},\n\t{value: 0x0040, lo: 0xb1, hi: 0xbe},\n\t{value: 0x3b08, lo: 0xbf, hi: 0xbf},\n\t// Block 0x57, offset 0x2df\n\t{value: 0x0000, lo: 0x0a},\n\t{value: 0x0008, lo: 0x80, hi: 0x96},\n\t{value: 0x0040, lo: 0x97, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xa6},\n\t{value: 0x0040, lo: 0xa7, hi: 0xa7},\n\t{value: 0x0008, lo: 0xa8, hi: 0xae},\n\t{value: 0x0040, lo: 0xaf, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xb6},\n\t{value: 0x0040, lo: 0xb7, hi: 0xb7},\n\t{value: 0x0008, lo: 0xb8, hi: 0xbe},\n\t{value: 0x0040, lo: 0xbf, hi: 0xbf},\n\t// Block 0x58, offset 0x2ea\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x0008, lo: 0x80, hi: 0x86},\n\t{value: 0x0040, lo: 0x87, hi: 0x87},\n\t{value: 0x0008, lo: 0x88, hi: 0x8e},\n\t{value: 0x0040, lo: 0x8f, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x96},\n\t{value: 0x0040, lo: 0x97, hi: 0x97},\n\t{value: 0x0008, lo: 0x98, hi: 0x9e},\n\t{value: 0x0040, lo: 0x9f, hi: 0x9f},\n\t{value: 0x3308, lo: 0xa0, hi: 0xbf},\n\t// Block 0x59, offset 0x2f4\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0018, lo: 0x80, hi: 0xae},\n\t{value: 0x0008, lo: 0xaf, hi: 0xaf},\n\t{value: 0x0018, lo: 0xb0, hi: 0xbf},\n\t// Block 0x5a, offset 0x2f8\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0018, lo: 0x80, hi: 0x89},\n\t{value: 0x0040, lo: 0x8a, hi: 0xbf},\n\t// Block 0x5b, offset 0x2fb\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0018, lo: 0x80, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0x9a},\n\t{value: 0x0018, lo: 0x9b, hi: 0x9e},\n\t{value: 0x0edd, lo: 0x9f, hi: 0x9f},\n\t{value: 0x0018, lo: 0xa0, hi: 0xbf},\n\t// Block 0x5c, offset 0x301\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0018, lo: 0x80, hi: 0xb2},\n\t{value: 0x0efd, lo: 0xb3, hi: 0xb3},\n\t{value: 0x0040, lo: 0xb4, hi: 0xbf},\n\t// Block 0x5d, offset 0x305\n\t{value: 0x0020, lo: 0x01},\n\t{value: 0x0f1d, lo: 0x80, hi: 0xbf},\n\t// Block 0x5e, offset 0x307\n\t{value: 0x0020, lo: 0x02},\n\t{value: 0x171d, lo: 0x80, hi: 0x8f},\n\t{value: 0x18fd, lo: 0x90, hi: 0xbf},\n\t// Block 0x5f, offset 0x30a\n\t{value: 0x0020, lo: 0x01},\n\t{value: 0x1efd, lo: 0x80, hi: 0xbf},\n\t// Block 0x60, offset 0x30c\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0040, lo: 0x80, hi: 0x80},\n\t{value: 0x0008, lo: 0x81, hi: 0xbf},\n\t// Block 0x61, offset 0x30f\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x0008, lo: 0x80, hi: 0x96},\n\t{value: 0x0040, lo: 0x97, hi: 0x98},\n\t{value: 0x3308, lo: 0x99, hi: 0x9a},\n\t{value: 0x29e2, lo: 0x9b, hi: 0x9b},\n\t{value: 0x2a0a, lo: 0x9c, hi: 0x9c},\n\t{value: 0x0008, lo: 0x9d, hi: 0x9e},\n\t{value: 0x2a31, lo: 0x9f, hi: 0x9f},\n\t{value: 0x0018, lo: 0xa0, hi: 0xa0},\n\t{value: 0x0008, lo: 0xa1, hi: 0xbf},\n\t// Block 0x62, offset 0x319\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0xbe},\n\t{value: 0x2a69, lo: 0xbf, hi: 0xbf},\n\t// Block 0x63, offset 0x31c\n\t{value: 0x0000, lo: 0x0e},\n\t{value: 0x0040, lo: 0x80, hi: 0x84},\n\t{value: 0x0008, lo: 0x85, hi: 0xae},\n\t{value: 0x0040, lo: 0xaf, hi: 0xb0},\n\t{value: 0x2a1d, lo: 0xb1, hi: 0xb1},\n\t{value: 0x2a3d, lo: 0xb2, hi: 0xb2},\n\t{value: 0x2a5d, lo: 0xb3, hi: 0xb3},\n\t{value: 0x2a7d, lo: 0xb4, hi: 0xb4},\n\t{value: 0x2a5d, lo: 0xb5, hi: 0xb5},\n\t{value: 0x2a9d, lo: 0xb6, hi: 0xb6},\n\t{value: 0x2abd, lo: 0xb7, hi: 0xb7},\n\t{value: 0x2add, lo: 0xb8, hi: 0xb9},\n\t{value: 0x2afd, lo: 0xba, hi: 0xbb},\n\t{value: 0x2b1d, lo: 0xbc, hi: 0xbd},\n\t{value: 0x2afd, lo: 0xbe, hi: 0xbf},\n\t// Block 0x64, offset 0x32b\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0018, lo: 0x80, hi: 0xa3},\n\t{value: 0x0040, lo: 0xa4, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xbf},\n\t// Block 0x65, offset 0x32f\n\t{value: 0x0030, lo: 0x04},\n\t{value: 0x2aa2, lo: 0x80, hi: 0x9d},\n\t{value: 0x305a, lo: 0x9e, hi: 0x9e},\n\t{value: 0x0040, lo: 0x9f, hi: 0x9f},\n\t{value: 0x30a2, lo: 0xa0, hi: 0xbf},\n\t// Block 0x66, offset 0x334\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0xaa},\n\t{value: 0x0040, lo: 0xab, hi: 0xbf},\n\t// Block 0x67, offset 0x337\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0008, lo: 0x80, hi: 0x8c},\n\t{value: 0x0040, lo: 0x8d, hi: 0x8f},\n\t{value: 0x0018, lo: 0x90, hi: 0xbf},\n\t// Block 0x68, offset 0x33b\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0018, lo: 0x80, hi: 0x86},\n\t{value: 0x0040, lo: 0x87, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0xbd},\n\t{value: 0x0018, lo: 0xbe, hi: 0xbf},\n\t// Block 0x69, offset 0x340\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0008, lo: 0x80, hi: 0x8c},\n\t{value: 0x0018, lo: 0x8d, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0xab},\n\t{value: 0x0040, lo: 0xac, hi: 0xbf},\n\t// Block 0x6a, offset 0x345\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0008, lo: 0x80, hi: 0xa5},\n\t{value: 0x0018, lo: 0xa6, hi: 0xaf},\n\t{value: 0x3308, lo: 0xb0, hi: 0xb1},\n\t{value: 0x0018, lo: 0xb2, hi: 0xb7},\n\t{value: 0x0040, lo: 0xb8, hi: 0xbf},\n\t// Block 0x6b, offset 0x34b\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0040, lo: 0x80, hi: 0xb6},\n\t{value: 0x0008, lo: 0xb7, hi: 0xb7},\n\t{value: 0x2009, lo: 0xb8, hi: 0xb8},\n\t{value: 0x6e89, lo: 0xb9, hi: 0xb9},\n\t{value: 0x0008, lo: 0xba, hi: 0xbf},\n\t// Block 0x6c, offset 0x351\n\t{value: 0x0000, lo: 0x0e},\n\t{value: 0x0008, lo: 0x80, hi: 0x81},\n\t{value: 0x3308, lo: 0x82, hi: 0x82},\n\t{value: 0x0008, lo: 0x83, hi: 0x85},\n\t{value: 0x3b08, lo: 0x86, hi: 0x86},\n\t{value: 0x0008, lo: 0x87, hi: 0x8a},\n\t{value: 0x3308, lo: 0x8b, hi: 0x8b},\n\t{value: 0x0008, lo: 0x8c, hi: 0xa2},\n\t{value: 0x3008, lo: 0xa3, hi: 0xa4},\n\t{value: 0x3308, lo: 0xa5, hi: 0xa6},\n\t{value: 0x3008, lo: 0xa7, hi: 0xa7},\n\t{value: 0x0018, lo: 0xa8, hi: 0xab},\n\t{value: 0x0040, lo: 0xac, hi: 0xaf},\n\t{value: 0x0018, lo: 0xb0, hi: 0xb9},\n\t{value: 0x0040, lo: 0xba, hi: 0xbf},\n\t// Block 0x6d, offset 0x360\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0208, lo: 0x80, hi: 0xb1},\n\t{value: 0x0108, lo: 0xb2, hi: 0xb2},\n\t{value: 0x0008, lo: 0xb3, hi: 0xb3},\n\t{value: 0x0018, lo: 0xb4, hi: 0xb7},\n\t{value: 0x0040, lo: 0xb8, hi: 0xbf},\n\t// Block 0x6e, offset 0x366\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x3008, lo: 0x80, hi: 0x81},\n\t{value: 0x0008, lo: 0x82, hi: 0xb3},\n\t{value: 0x3008, lo: 0xb4, hi: 0xbf},\n\t// Block 0x6f, offset 0x36a\n\t{value: 0x0000, lo: 0x0e},\n\t{value: 0x3008, lo: 0x80, hi: 0x83},\n\t{value: 0x3b08, lo: 0x84, hi: 0x84},\n\t{value: 0x3308, lo: 0x85, hi: 0x85},\n\t{value: 0x0040, lo: 0x86, hi: 0x8d},\n\t{value: 0x0018, lo: 0x8e, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0x9f},\n\t{value: 0x3308, lo: 0xa0, hi: 0xb1},\n\t{value: 0x0008, lo: 0xb2, hi: 0xb7},\n\t{value: 0x0018, lo: 0xb8, hi: 0xba},\n\t{value: 0x0008, lo: 0xbb, hi: 0xbb},\n\t{value: 0x0018, lo: 0xbc, hi: 0xbc},\n\t{value: 0x0008, lo: 0xbd, hi: 0xbd},\n\t{value: 0x0040, lo: 0xbe, hi: 0xbf},\n\t// Block 0x70, offset 0x379\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0008, lo: 0x80, hi: 0xa5},\n\t{value: 0x3308, lo: 0xa6, hi: 0xad},\n\t{value: 0x0018, lo: 0xae, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xbf},\n\t// Block 0x71, offset 0x37e\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x0008, lo: 0x80, hi: 0x86},\n\t{value: 0x3308, lo: 0x87, hi: 0x91},\n\t{value: 0x3008, lo: 0x92, hi: 0x92},\n\t{value: 0x3808, lo: 0x93, hi: 0x93},\n\t{value: 0x0040, lo: 0x94, hi: 0x9e},\n\t{value: 0x0018, lo: 0x9f, hi: 0xbc},\n\t{value: 0x0040, lo: 0xbd, hi: 0xbf},\n\t// Block 0x72, offset 0x386\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x3308, lo: 0x80, hi: 0x82},\n\t{value: 0x3008, lo: 0x83, hi: 0x83},\n\t{value: 0x0008, lo: 0x84, hi: 0xb2},\n\t{value: 0x3308, lo: 0xb3, hi: 0xb3},\n\t{value: 0x3008, lo: 0xb4, hi: 0xb5},\n\t{value: 0x3308, lo: 0xb6, hi: 0xb9},\n\t{value: 0x3008, lo: 0xba, hi: 0xbb},\n\t{value: 0x3308, lo: 0xbc, hi: 0xbc},\n\t{value: 0x3008, lo: 0xbd, hi: 0xbf},\n\t// Block 0x73, offset 0x390\n\t{value: 0x0000, lo: 0x0a},\n\t{value: 0x3808, lo: 0x80, hi: 0x80},\n\t{value: 0x0018, lo: 0x81, hi: 0x8d},\n\t{value: 0x0040, lo: 0x8e, hi: 0x8e},\n\t{value: 0x0008, lo: 0x8f, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0x9d},\n\t{value: 0x0018, lo: 0x9e, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xa4},\n\t{value: 0x3308, lo: 0xa5, hi: 0xa5},\n\t{value: 0x0008, lo: 0xa6, hi: 0xbe},\n\t{value: 0x0040, lo: 0xbf, hi: 0xbf},\n\t// Block 0x74, offset 0x39b\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x0008, lo: 0x80, hi: 0xa8},\n\t{value: 0x3308, lo: 0xa9, hi: 0xae},\n\t{value: 0x3008, lo: 0xaf, hi: 0xb0},\n\t{value: 0x3308, lo: 0xb1, hi: 0xb2},\n\t{value: 0x3008, lo: 0xb3, hi: 0xb4},\n\t{value: 0x3308, lo: 0xb5, hi: 0xb6},\n\t{value: 0x0040, lo: 0xb7, hi: 0xbf},\n\t// Block 0x75, offset 0x3a3\n\t{value: 0x0000, lo: 0x10},\n\t{value: 0x0008, lo: 0x80, hi: 0x82},\n\t{value: 0x3308, lo: 0x83, hi: 0x83},\n\t{value: 0x0008, lo: 0x84, hi: 0x8b},\n\t{value: 0x3308, lo: 0x8c, hi: 0x8c},\n\t{value: 0x3008, lo: 0x8d, hi: 0x8d},\n\t{value: 0x0040, lo: 0x8e, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0x9b},\n\t{value: 0x0018, lo: 0x9c, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xb6},\n\t{value: 0x0018, lo: 0xb7, hi: 0xb9},\n\t{value: 0x0008, lo: 0xba, hi: 0xba},\n\t{value: 0x3008, lo: 0xbb, hi: 0xbb},\n\t{value: 0x3308, lo: 0xbc, hi: 0xbc},\n\t{value: 0x3008, lo: 0xbd, hi: 0xbd},\n\t{value: 0x0008, lo: 0xbe, hi: 0xbf},\n\t// Block 0x76, offset 0x3b4\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0x0008, lo: 0x80, hi: 0xaf},\n\t{value: 0x3308, lo: 0xb0, hi: 0xb0},\n\t{value: 0x0008, lo: 0xb1, hi: 0xb1},\n\t{value: 0x3308, lo: 0xb2, hi: 0xb4},\n\t{value: 0x0008, lo: 0xb5, hi: 0xb6},\n\t{value: 0x3308, lo: 0xb7, hi: 0xb8},\n\t{value: 0x0008, lo: 0xb9, hi: 0xbd},\n\t{value: 0x3308, lo: 0xbe, hi: 0xbf},\n\t// Block 0x77, offset 0x3bd\n\t{value: 0x0000, lo: 0x0f},\n\t{value: 0x0008, lo: 0x80, hi: 0x80},\n\t{value: 0x3308, lo: 0x81, hi: 0x81},\n\t{value: 0x0008, lo: 0x82, hi: 0x82},\n\t{value: 0x0040, lo: 0x83, hi: 0x9a},\n\t{value: 0x0008, lo: 0x9b, hi: 0x9d},\n\t{value: 0x0018, lo: 0x9e, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xaa},\n\t{value: 0x3008, lo: 0xab, hi: 0xab},\n\t{value: 0x3308, lo: 0xac, hi: 0xad},\n\t{value: 0x3008, lo: 0xae, hi: 0xaf},\n\t{value: 0x0018, lo: 0xb0, hi: 0xb1},\n\t{value: 0x0008, lo: 0xb2, hi: 0xb4},\n\t{value: 0x3008, lo: 0xb5, hi: 0xb5},\n\t{value: 0x3b08, lo: 0xb6, hi: 0xb6},\n\t{value: 0x0040, lo: 0xb7, hi: 0xbf},\n\t// Block 0x78, offset 0x3cd\n\t{value: 0x0000, lo: 0x0c},\n\t{value: 0x0040, lo: 0x80, hi: 0x80},\n\t{value: 0x0008, lo: 0x81, hi: 0x86},\n\t{value: 0x0040, lo: 0x87, hi: 0x88},\n\t{value: 0x0008, lo: 0x89, hi: 0x8e},\n\t{value: 0x0040, lo: 0x8f, hi: 0x90},\n\t{value: 0x0008, lo: 0x91, hi: 0x96},\n\t{value: 0x0040, lo: 0x97, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xa6},\n\t{value: 0x0040, lo: 0xa7, hi: 0xa7},\n\t{value: 0x0008, lo: 0xa8, hi: 0xae},\n\t{value: 0x0040, lo: 0xaf, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xbf},\n\t// Block 0x79, offset 0x3da\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x0008, lo: 0x80, hi: 0x9a},\n\t{value: 0x0018, lo: 0x9b, hi: 0x9b},\n\t{value: 0x4465, lo: 0x9c, hi: 0x9c},\n\t{value: 0x447d, lo: 0x9d, hi: 0x9d},\n\t{value: 0x2971, lo: 0x9e, hi: 0x9e},\n\t{value: 0xe06d, lo: 0x9f, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xa5},\n\t{value: 0x0040, lo: 0xa6, hi: 0xaf},\n\t{value: 0x4495, lo: 0xb0, hi: 0xbf},\n\t// Block 0x7a, offset 0x3e4\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x44b5, lo: 0x80, hi: 0x8f},\n\t{value: 0x44d5, lo: 0x90, hi: 0x9f},\n\t{value: 0x44f5, lo: 0xa0, hi: 0xaf},\n\t{value: 0x44d5, lo: 0xb0, hi: 0xbf},\n\t// Block 0x7b, offset 0x3e9\n\t{value: 0x0000, lo: 0x0c},\n\t{value: 0x0008, lo: 0x80, hi: 0xa2},\n\t{value: 0x3008, lo: 0xa3, hi: 0xa4},\n\t{value: 0x3308, lo: 0xa5, hi: 0xa5},\n\t{value: 0x3008, lo: 0xa6, hi: 0xa7},\n\t{value: 0x3308, lo: 0xa8, hi: 0xa8},\n\t{value: 0x3008, lo: 0xa9, hi: 0xaa},\n\t{value: 0x0018, lo: 0xab, hi: 0xab},\n\t{value: 0x3008, lo: 0xac, hi: 0xac},\n\t{value: 0x3b08, lo: 0xad, hi: 0xad},\n\t{value: 0x0040, lo: 0xae, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xb9},\n\t{value: 0x0040, lo: 0xba, hi: 0xbf},\n\t// Block 0x7c, offset 0x3f6\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0008, lo: 0x80, hi: 0xa3},\n\t{value: 0x0040, lo: 0xa4, hi: 0xaf},\n\t{value: 0x0018, lo: 0xb0, hi: 0xbf},\n\t// Block 0x7d, offset 0x3fa\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0018, lo: 0x80, hi: 0x86},\n\t{value: 0x0040, lo: 0x87, hi: 0x8a},\n\t{value: 0x0018, lo: 0x8b, hi: 0xbb},\n\t{value: 0x0040, lo: 0xbc, hi: 0xbf},\n\t// Block 0x7e, offset 0x3ff\n\t{value: 0x0020, lo: 0x01},\n\t{value: 0x4515, lo: 0x80, hi: 0xbf},\n\t// Block 0x7f, offset 0x401\n\t{value: 0x0020, lo: 0x03},\n\t{value: 0x4d15, lo: 0x80, hi: 0x94},\n\t{value: 0x4ad5, lo: 0x95, hi: 0x95},\n\t{value: 0x4fb5, lo: 0x96, hi: 0xbf},\n\t// Block 0x80, offset 0x405\n\t{value: 0x0020, lo: 0x01},\n\t{value: 0x54f5, lo: 0x80, hi: 0xbf},\n\t// Block 0x81, offset 0x407\n\t{value: 0x0020, lo: 0x03},\n\t{value: 0x5cf5, lo: 0x80, hi: 0x84},\n\t{value: 0x5655, lo: 0x85, hi: 0x85},\n\t{value: 0x5d95, lo: 0x86, hi: 0xbf},\n\t// Block 0x82, offset 0x40b\n\t{value: 0x0020, lo: 0x08},\n\t{value: 0x6b55, lo: 0x80, hi: 0x8f},\n\t{value: 0x6d15, lo: 0x90, hi: 0x90},\n\t{value: 0x6d55, lo: 0x91, hi: 0xab},\n\t{value: 0x6ea1, lo: 0xac, hi: 0xac},\n\t{value: 0x70b5, lo: 0xad, hi: 0xad},\n\t{value: 0x0040, lo: 0xae, hi: 0xae},\n\t{value: 0x0040, lo: 0xaf, hi: 0xaf},\n\t{value: 0x70d5, lo: 0xb0, hi: 0xbf},\n\t// Block 0x83, offset 0x414\n\t{value: 0x0020, lo: 0x05},\n\t{value: 0x72d5, lo: 0x80, hi: 0xad},\n\t{value: 0x6535, lo: 0xae, hi: 0xae},\n\t{value: 0x7895, lo: 0xaf, hi: 0xb5},\n\t{value: 0x6f55, lo: 0xb6, hi: 0xb6},\n\t{value: 0x7975, lo: 0xb7, hi: 0xbf},\n\t// Block 0x84, offset 0x41a\n\t{value: 0x0028, lo: 0x03},\n\t{value: 0x7c21, lo: 0x80, hi: 0x82},\n\t{value: 0x7be1, lo: 0x83, hi: 0x83},\n\t{value: 0x7c99, lo: 0x84, hi: 0xbf},\n\t// Block 0x85, offset 0x41e\n\t{value: 0x0038, lo: 0x0f},\n\t{value: 0x9db1, lo: 0x80, hi: 0x83},\n\t{value: 0x9e59, lo: 0x84, hi: 0x85},\n\t{value: 0x9e91, lo: 0x86, hi: 0x87},\n\t{value: 0x9ec9, lo: 0x88, hi: 0x8f},\n\t{value: 0x0040, lo: 0x90, hi: 0x90},\n\t{value: 0x0040, lo: 0x91, hi: 0x91},\n\t{value: 0xa089, lo: 0x92, hi: 0x97},\n\t{value: 0xa1a1, lo: 0x98, hi: 0x9c},\n\t{value: 0xa281, lo: 0x9d, hi: 0xb3},\n\t{value: 0x9d41, lo: 0xb4, hi: 0xb4},\n\t{value: 0x9db1, lo: 0xb5, hi: 0xb5},\n\t{value: 0xa789, lo: 0xb6, hi: 0xbb},\n\t{value: 0xa869, lo: 0xbc, hi: 0xbc},\n\t{value: 0xa7f9, lo: 0xbd, hi: 0xbd},\n\t{value: 0xa8d9, lo: 0xbe, hi: 0xbf},\n\t// Block 0x86, offset 0x42e\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x0008, lo: 0x80, hi: 0x8b},\n\t{value: 0x0040, lo: 0x8c, hi: 0x8c},\n\t{value: 0x0008, lo: 0x8d, hi: 0xa6},\n\t{value: 0x0040, lo: 0xa7, hi: 0xa7},\n\t{value: 0x0008, lo: 0xa8, hi: 0xba},\n\t{value: 0x0040, lo: 0xbb, hi: 0xbb},\n\t{value: 0x0008, lo: 0xbc, hi: 0xbd},\n\t{value: 0x0040, lo: 0xbe, hi: 0xbe},\n\t{value: 0x0008, lo: 0xbf, hi: 0xbf},\n\t// Block 0x87, offset 0x438\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0008, lo: 0x80, hi: 0x8d},\n\t{value: 0x0040, lo: 0x8e, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x9d},\n\t{value: 0x0040, lo: 0x9e, hi: 0xbf},\n\t// Block 0x88, offset 0x43d\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0xba},\n\t{value: 0x0040, lo: 0xbb, hi: 0xbf},\n\t// Block 0x89, offset 0x440\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0018, lo: 0x80, hi: 0x82},\n\t{value: 0x0040, lo: 0x83, hi: 0x86},\n\t{value: 0x0018, lo: 0x87, hi: 0xb3},\n\t{value: 0x0040, lo: 0xb4, hi: 0xb6},\n\t{value: 0x0018, lo: 0xb7, hi: 0xbf},\n\t// Block 0x8a, offset 0x446\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x0018, lo: 0x80, hi: 0x8e},\n\t{value: 0x0040, lo: 0x8f, hi: 0x8f},\n\t{value: 0x0018, lo: 0x90, hi: 0x9b},\n\t{value: 0x0040, lo: 0x9c, hi: 0x9f},\n\t{value: 0x0018, lo: 0xa0, hi: 0xa0},\n\t{value: 0x0040, lo: 0xa1, hi: 0xbf},\n\t// Block 0x8b, offset 0x44d\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0040, lo: 0x80, hi: 0x8f},\n\t{value: 0x0018, lo: 0x90, hi: 0xbc},\n\t{value: 0x3308, lo: 0xbd, hi: 0xbd},\n\t{value: 0x0040, lo: 0xbe, hi: 0xbf},\n\t// Block 0x8c, offset 0x452\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0008, lo: 0x80, hi: 0x9c},\n\t{value: 0x0040, lo: 0x9d, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xbf},\n\t// Block 0x8d, offset 0x456\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0008, lo: 0x80, hi: 0x90},\n\t{value: 0x0040, lo: 0x91, hi: 0x9f},\n\t{value: 0x3308, lo: 0xa0, hi: 0xa0},\n\t{value: 0x0018, lo: 0xa1, hi: 0xbb},\n\t{value: 0x0040, lo: 0xbc, hi: 0xbf},\n\t// Block 0x8e, offset 0x45c\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0008, lo: 0x80, hi: 0x9f},\n\t{value: 0x0018, lo: 0xa0, hi: 0xa3},\n\t{value: 0x0040, lo: 0xa4, hi: 0xac},\n\t{value: 0x0008, lo: 0xad, hi: 0xbf},\n\t// Block 0x8f, offset 0x461\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0x0008, lo: 0x80, hi: 0x80},\n\t{value: 0x0018, lo: 0x81, hi: 0x81},\n\t{value: 0x0008, lo: 0x82, hi: 0x89},\n\t{value: 0x0018, lo: 0x8a, hi: 0x8a},\n\t{value: 0x0040, lo: 0x8b, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0xb5},\n\t{value: 0x3308, lo: 0xb6, hi: 0xba},\n\t{value: 0x0040, lo: 0xbb, hi: 0xbf},\n\t// Block 0x90, offset 0x46a\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0008, lo: 0x80, hi: 0x9d},\n\t{value: 0x0040, lo: 0x9e, hi: 0x9e},\n\t{value: 0x0018, lo: 0x9f, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xbf},\n\t// Block 0x91, offset 0x46f\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0008, lo: 0x80, hi: 0x83},\n\t{value: 0x0040, lo: 0x84, hi: 0x87},\n\t{value: 0x0008, lo: 0x88, hi: 0x8f},\n\t{value: 0x0018, lo: 0x90, hi: 0x95},\n\t{value: 0x0040, lo: 0x96, hi: 0xbf},\n\t// Block 0x92, offset 0x475\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0xe145, lo: 0x80, hi: 0x87},\n\t{value: 0xe1c5, lo: 0x88, hi: 0x8f},\n\t{value: 0xe145, lo: 0x90, hi: 0x97},\n\t{value: 0x8ad5, lo: 0x98, hi: 0x9f},\n\t{value: 0x8aed, lo: 0xa0, hi: 0xa7},\n\t{value: 0x0008, lo: 0xa8, hi: 0xbf},\n\t// Block 0x93, offset 0x47c\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x0008, lo: 0x80, hi: 0x9d},\n\t{value: 0x0040, lo: 0x9e, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xa9},\n\t{value: 0x0040, lo: 0xaa, hi: 0xaf},\n\t{value: 0x8aed, lo: 0xb0, hi: 0xb7},\n\t{value: 0x8ad5, lo: 0xb8, hi: 0xbf},\n\t// Block 0x94, offset 0x483\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0xe145, lo: 0x80, hi: 0x87},\n\t{value: 0xe1c5, lo: 0x88, hi: 0x8f},\n\t{value: 0xe145, lo: 0x90, hi: 0x93},\n\t{value: 0x0040, lo: 0x94, hi: 0x97},\n\t{value: 0x0008, lo: 0x98, hi: 0xbb},\n\t{value: 0x0040, lo: 0xbc, hi: 0xbf},\n\t// Block 0x95, offset 0x48a\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0008, lo: 0x80, hi: 0xa7},\n\t{value: 0x0040, lo: 0xa8, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xbf},\n\t// Block 0x96, offset 0x48e\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0008, lo: 0x80, hi: 0xa3},\n\t{value: 0x0040, lo: 0xa4, hi: 0xae},\n\t{value: 0x0018, lo: 0xaf, hi: 0xaf},\n\t{value: 0x0040, lo: 0xb0, hi: 0xbf},\n\t// Block 0x97, offset 0x493\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0xb6},\n\t{value: 0x0040, lo: 0xb7, hi: 0xbf},\n\t// Block 0x98, offset 0x496\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0008, lo: 0x80, hi: 0x95},\n\t{value: 0x0040, lo: 0x96, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xa7},\n\t{value: 0x0040, lo: 0xa8, hi: 0xbf},\n\t// Block 0x99, offset 0x49b\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x0808, lo: 0x80, hi: 0x85},\n\t{value: 0x0040, lo: 0x86, hi: 0x87},\n\t{value: 0x0808, lo: 0x88, hi: 0x88},\n\t{value: 0x0040, lo: 0x89, hi: 0x89},\n\t{value: 0x0808, lo: 0x8a, hi: 0xb5},\n\t{value: 0x0040, lo: 0xb6, hi: 0xb6},\n\t{value: 0x0808, lo: 0xb7, hi: 0xb8},\n\t{value: 0x0040, lo: 0xb9, hi: 0xbb},\n\t{value: 0x0808, lo: 0xbc, hi: 0xbc},\n\t{value: 0x0040, lo: 0xbd, hi: 0xbe},\n\t{value: 0x0808, lo: 0xbf, hi: 0xbf},\n\t// Block 0x9a, offset 0x4a7\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0808, lo: 0x80, hi: 0x95},\n\t{value: 0x0040, lo: 0x96, hi: 0x96},\n\t{value: 0x0818, lo: 0x97, hi: 0x9f},\n\t{value: 0x0808, lo: 0xa0, hi: 0xb6},\n\t{value: 0x0818, lo: 0xb7, hi: 0xbf},\n\t// Block 0x9b, offset 0x4ad\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0808, lo: 0x80, hi: 0x9e},\n\t{value: 0x0040, lo: 0x9f, hi: 0xa6},\n\t{value: 0x0818, lo: 0xa7, hi: 0xaf},\n\t{value: 0x0040, lo: 0xb0, hi: 0xbf},\n\t// Block 0x9c, offset 0x4b2\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x0040, lo: 0x80, hi: 0x9f},\n\t{value: 0x0808, lo: 0xa0, hi: 0xb2},\n\t{value: 0x0040, lo: 0xb3, hi: 0xb3},\n\t{value: 0x0808, lo: 0xb4, hi: 0xb5},\n\t{value: 0x0040, lo: 0xb6, hi: 0xba},\n\t{value: 0x0818, lo: 0xbb, hi: 0xbf},\n\t// Block 0x9d, offset 0x4b9\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x0808, lo: 0x80, hi: 0x95},\n\t{value: 0x0818, lo: 0x96, hi: 0x9b},\n\t{value: 0x0040, lo: 0x9c, hi: 0x9e},\n\t{value: 0x0018, lo: 0x9f, hi: 0x9f},\n\t{value: 0x0808, lo: 0xa0, hi: 0xb9},\n\t{value: 0x0040, lo: 0xba, hi: 0xbe},\n\t{value: 0x0818, lo: 0xbf, hi: 0xbf},\n\t// Block 0x9e, offset 0x4c1\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0808, lo: 0x80, hi: 0xb7},\n\t{value: 0x0040, lo: 0xb8, hi: 0xbb},\n\t{value: 0x0818, lo: 0xbc, hi: 0xbd},\n\t{value: 0x0808, lo: 0xbe, hi: 0xbf},\n\t// Block 0x9f, offset 0x4c6\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0818, lo: 0x80, hi: 0x8f},\n\t{value: 0x0040, lo: 0x90, hi: 0x91},\n\t{value: 0x0818, lo: 0x92, hi: 0xbf},\n\t// Block 0xa0, offset 0x4ca\n\t{value: 0x0000, lo: 0x0f},\n\t{value: 0x0808, lo: 0x80, hi: 0x80},\n\t{value: 0x3308, lo: 0x81, hi: 0x83},\n\t{value: 0x0040, lo: 0x84, hi: 0x84},\n\t{value: 0x3308, lo: 0x85, hi: 0x86},\n\t{value: 0x0040, lo: 0x87, hi: 0x8b},\n\t{value: 0x3308, lo: 0x8c, hi: 0x8f},\n\t{value: 0x0808, lo: 0x90, hi: 0x93},\n\t{value: 0x0040, lo: 0x94, hi: 0x94},\n\t{value: 0x0808, lo: 0x95, hi: 0x97},\n\t{value: 0x0040, lo: 0x98, hi: 0x98},\n\t{value: 0x0808, lo: 0x99, hi: 0xb3},\n\t{value: 0x0040, lo: 0xb4, hi: 0xb7},\n\t{value: 0x3308, lo: 0xb8, hi: 0xba},\n\t{value: 0x0040, lo: 0xbb, hi: 0xbe},\n\t{value: 0x3b08, lo: 0xbf, hi: 0xbf},\n\t// Block 0xa1, offset 0x4da\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x0818, lo: 0x80, hi: 0x87},\n\t{value: 0x0040, lo: 0x88, hi: 0x8f},\n\t{value: 0x0818, lo: 0x90, hi: 0x98},\n\t{value: 0x0040, lo: 0x99, hi: 0x9f},\n\t{value: 0x0808, lo: 0xa0, hi: 0xbc},\n\t{value: 0x0818, lo: 0xbd, hi: 0xbf},\n\t// Block 0xa2, offset 0x4e1\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0808, lo: 0x80, hi: 0x9c},\n\t{value: 0x0818, lo: 0x9d, hi: 0x9f},\n\t{value: 0x0040, lo: 0xa0, hi: 0xbf},\n\t// Block 0xa3, offset 0x4e5\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0808, lo: 0x80, hi: 0xb5},\n\t{value: 0x0040, lo: 0xb6, hi: 0xb8},\n\t{value: 0x0018, lo: 0xb9, hi: 0xbf},\n\t// Block 0xa4, offset 0x4e9\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x0808, lo: 0x80, hi: 0x95},\n\t{value: 0x0040, lo: 0x96, hi: 0x97},\n\t{value: 0x0818, lo: 0x98, hi: 0x9f},\n\t{value: 0x0808, lo: 0xa0, hi: 0xb2},\n\t{value: 0x0040, lo: 0xb3, hi: 0xb7},\n\t{value: 0x0818, lo: 0xb8, hi: 0xbf},\n\t// Block 0xa5, offset 0x4f0\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x0808, lo: 0x80, hi: 0xbf},\n\t// Block 0xa6, offset 0x4f2\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0808, lo: 0x80, hi: 0x88},\n\t{value: 0x0040, lo: 0x89, hi: 0xbf},\n\t// Block 0xa7, offset 0x4f5\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x03dd, lo: 0x80, hi: 0xb2},\n\t{value: 0x0040, lo: 0xb3, hi: 0xbf},\n\t// Block 0xa8, offset 0x4f8\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0808, lo: 0x80, hi: 0xb2},\n\t{value: 0x0040, lo: 0xb3, hi: 0xb9},\n\t{value: 0x0818, lo: 0xba, hi: 0xbf},\n\t// Block 0xa9, offset 0x4fc\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0040, lo: 0x80, hi: 0x9f},\n\t{value: 0x0818, lo: 0xa0, hi: 0xbe},\n\t{value: 0x0040, lo: 0xbf, hi: 0xbf},\n\t// Block 0xaa, offset 0x500\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x3008, lo: 0x80, hi: 0x80},\n\t{value: 0x3308, lo: 0x81, hi: 0x81},\n\t{value: 0x3008, lo: 0x82, hi: 0x82},\n\t{value: 0x0008, lo: 0x83, hi: 0xb7},\n\t{value: 0x3308, lo: 0xb8, hi: 0xbf},\n\t// Block 0xab, offset 0x506\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0x3308, lo: 0x80, hi: 0x85},\n\t{value: 0x3b08, lo: 0x86, hi: 0x86},\n\t{value: 0x0018, lo: 0x87, hi: 0x8d},\n\t{value: 0x0040, lo: 0x8e, hi: 0x91},\n\t{value: 0x0018, lo: 0x92, hi: 0xa5},\n\t{value: 0x0008, lo: 0xa6, hi: 0xaf},\n\t{value: 0x0040, lo: 0xb0, hi: 0xbe},\n\t{value: 0x3b08, lo: 0xbf, hi: 0xbf},\n\t// Block 0xac, offset 0x50f\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x3308, lo: 0x80, hi: 0x81},\n\t{value: 0x3008, lo: 0x82, hi: 0x82},\n\t{value: 0x0008, lo: 0x83, hi: 0xaf},\n\t{value: 0x3008, lo: 0xb0, hi: 0xb2},\n\t{value: 0x3308, lo: 0xb3, hi: 0xb6},\n\t{value: 0x3008, lo: 0xb7, hi: 0xb8},\n\t{value: 0x3b08, lo: 0xb9, hi: 0xb9},\n\t{value: 0x3308, lo: 0xba, hi: 0xba},\n\t{value: 0x0018, lo: 0xbb, hi: 0xbc},\n\t{value: 0x0340, lo: 0xbd, hi: 0xbd},\n\t{value: 0x0018, lo: 0xbe, hi: 0xbf},\n\t// Block 0xad, offset 0x51b\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x0018, lo: 0x80, hi: 0x81},\n\t{value: 0x0040, lo: 0x82, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0xa8},\n\t{value: 0x0040, lo: 0xa9, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xb9},\n\t{value: 0x0040, lo: 0xba, hi: 0xbf},\n\t// Block 0xae, offset 0x522\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0x3308, lo: 0x80, hi: 0x82},\n\t{value: 0x0008, lo: 0x83, hi: 0xa6},\n\t{value: 0x3308, lo: 0xa7, hi: 0xab},\n\t{value: 0x3008, lo: 0xac, hi: 0xac},\n\t{value: 0x3308, lo: 0xad, hi: 0xb2},\n\t{value: 0x3b08, lo: 0xb3, hi: 0xb4},\n\t{value: 0x0040, lo: 0xb5, hi: 0xb5},\n\t{value: 0x0008, lo: 0xb6, hi: 0xbf},\n\t// Block 0xaf, offset 0x52b\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x0018, lo: 0x80, hi: 0x83},\n\t{value: 0x0040, lo: 0x84, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0xb2},\n\t{value: 0x3308, lo: 0xb3, hi: 0xb3},\n\t{value: 0x0018, lo: 0xb4, hi: 0xb5},\n\t{value: 0x0008, lo: 0xb6, hi: 0xb6},\n\t{value: 0x0040, lo: 0xb7, hi: 0xbf},\n\t// Block 0xb0, offset 0x533\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x3308, lo: 0x80, hi: 0x81},\n\t{value: 0x3008, lo: 0x82, hi: 0x82},\n\t{value: 0x0008, lo: 0x83, hi: 0xb2},\n\t{value: 0x3008, lo: 0xb3, hi: 0xb5},\n\t{value: 0x3308, lo: 0xb6, hi: 0xbe},\n\t{value: 0x3008, lo: 0xbf, hi: 0xbf},\n\t// Block 0xb1, offset 0x53a\n\t{value: 0x0000, lo: 0x0d},\n\t{value: 0x3808, lo: 0x80, hi: 0x80},\n\t{value: 0x0008, lo: 0x81, hi: 0x84},\n\t{value: 0x0018, lo: 0x85, hi: 0x89},\n\t{value: 0x3308, lo: 0x8a, hi: 0x8c},\n\t{value: 0x0018, lo: 0x8d, hi: 0x8d},\n\t{value: 0x0040, lo: 0x8e, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x9a},\n\t{value: 0x0018, lo: 0x9b, hi: 0x9b},\n\t{value: 0x0008, lo: 0x9c, hi: 0x9c},\n\t{value: 0x0018, lo: 0x9d, hi: 0x9f},\n\t{value: 0x0040, lo: 0xa0, hi: 0xa0},\n\t{value: 0x0018, lo: 0xa1, hi: 0xb4},\n\t{value: 0x0040, lo: 0xb5, hi: 0xbf},\n\t// Block 0xb2, offset 0x548\n\t{value: 0x0000, lo: 0x0c},\n\t{value: 0x0008, lo: 0x80, hi: 0x91},\n\t{value: 0x0040, lo: 0x92, hi: 0x92},\n\t{value: 0x0008, lo: 0x93, hi: 0xab},\n\t{value: 0x3008, lo: 0xac, hi: 0xae},\n\t{value: 0x3308, lo: 0xaf, hi: 0xb1},\n\t{value: 0x3008, lo: 0xb2, hi: 0xb3},\n\t{value: 0x3308, lo: 0xb4, hi: 0xb4},\n\t{value: 0x3808, lo: 0xb5, hi: 0xb5},\n\t{value: 0x3308, lo: 0xb6, hi: 0xb7},\n\t{value: 0x0018, lo: 0xb8, hi: 0xbd},\n\t{value: 0x3308, lo: 0xbe, hi: 0xbe},\n\t{value: 0x0040, lo: 0xbf, hi: 0xbf},\n\t// Block 0xb3, offset 0x555\n\t{value: 0x0000, lo: 0x0c},\n\t{value: 0x0008, lo: 0x80, hi: 0x86},\n\t{value: 0x0040, lo: 0x87, hi: 0x87},\n\t{value: 0x0008, lo: 0x88, hi: 0x88},\n\t{value: 0x0040, lo: 0x89, hi: 0x89},\n\t{value: 0x0008, lo: 0x8a, hi: 0x8d},\n\t{value: 0x0040, lo: 0x8e, hi: 0x8e},\n\t{value: 0x0008, lo: 0x8f, hi: 0x9d},\n\t{value: 0x0040, lo: 0x9e, hi: 0x9e},\n\t{value: 0x0008, lo: 0x9f, hi: 0xa8},\n\t{value: 0x0018, lo: 0xa9, hi: 0xa9},\n\t{value: 0x0040, lo: 0xaa, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xbf},\n\t// Block 0xb4, offset 0x562\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0x0008, lo: 0x80, hi: 0x9e},\n\t{value: 0x3308, lo: 0x9f, hi: 0x9f},\n\t{value: 0x3008, lo: 0xa0, hi: 0xa2},\n\t{value: 0x3308, lo: 0xa3, hi: 0xa9},\n\t{value: 0x3b08, lo: 0xaa, hi: 0xaa},\n\t{value: 0x0040, lo: 0xab, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xb9},\n\t{value: 0x0040, lo: 0xba, hi: 0xbf},\n\t// Block 0xb5, offset 0x56b\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0008, lo: 0x80, hi: 0xb4},\n\t{value: 0x3008, lo: 0xb5, hi: 0xb7},\n\t{value: 0x3308, lo: 0xb8, hi: 0xbf},\n\t// Block 0xb6, offset 0x56f\n\t{value: 0x0000, lo: 0x0d},\n\t{value: 0x3008, lo: 0x80, hi: 0x81},\n\t{value: 0x3b08, lo: 0x82, hi: 0x82},\n\t{value: 0x3308, lo: 0x83, hi: 0x84},\n\t{value: 0x3008, lo: 0x85, hi: 0x85},\n\t{value: 0x3308, lo: 0x86, hi: 0x86},\n\t{value: 0x0008, lo: 0x87, hi: 0x8a},\n\t{value: 0x0018, lo: 0x8b, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0x9a},\n\t{value: 0x0018, lo: 0x9b, hi: 0x9b},\n\t{value: 0x0040, lo: 0x9c, hi: 0x9c},\n\t{value: 0x0018, lo: 0x9d, hi: 0x9d},\n\t{value: 0x0040, lo: 0x9e, hi: 0xbf},\n\t// Block 0xb7, offset 0x57d\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x0008, lo: 0x80, hi: 0xaf},\n\t{value: 0x3008, lo: 0xb0, hi: 0xb2},\n\t{value: 0x3308, lo: 0xb3, hi: 0xb8},\n\t{value: 0x3008, lo: 0xb9, hi: 0xb9},\n\t{value: 0x3308, lo: 0xba, hi: 0xba},\n\t{value: 0x3008, lo: 0xbb, hi: 0xbe},\n\t{value: 0x3308, lo: 0xbf, hi: 0xbf},\n\t// Block 0xb8, offset 0x585\n\t{value: 0x0000, lo: 0x0a},\n\t{value: 0x3308, lo: 0x80, hi: 0x80},\n\t{value: 0x3008, lo: 0x81, hi: 0x81},\n\t{value: 0x3b08, lo: 0x82, hi: 0x82},\n\t{value: 0x3308, lo: 0x83, hi: 0x83},\n\t{value: 0x0008, lo: 0x84, hi: 0x85},\n\t{value: 0x0018, lo: 0x86, hi: 0x86},\n\t{value: 0x0008, lo: 0x87, hi: 0x87},\n\t{value: 0x0040, lo: 0x88, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0xbf},\n\t// Block 0xb9, offset 0x590\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0x0008, lo: 0x80, hi: 0xae},\n\t{value: 0x3008, lo: 0xaf, hi: 0xb1},\n\t{value: 0x3308, lo: 0xb2, hi: 0xb5},\n\t{value: 0x0040, lo: 0xb6, hi: 0xb7},\n\t{value: 0x3008, lo: 0xb8, hi: 0xbb},\n\t{value: 0x3308, lo: 0xbc, hi: 0xbd},\n\t{value: 0x3008, lo: 0xbe, hi: 0xbe},\n\t{value: 0x3b08, lo: 0xbf, hi: 0xbf},\n\t// Block 0xba, offset 0x599\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x3308, lo: 0x80, hi: 0x80},\n\t{value: 0x0018, lo: 0x81, hi: 0x97},\n\t{value: 0x0008, lo: 0x98, hi: 0x9b},\n\t{value: 0x3308, lo: 0x9c, hi: 0x9d},\n\t{value: 0x0040, lo: 0x9e, hi: 0xbf},\n\t// Block 0xbb, offset 0x59f\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x0008, lo: 0x80, hi: 0xaf},\n\t{value: 0x3008, lo: 0xb0, hi: 0xb2},\n\t{value: 0x3308, lo: 0xb3, hi: 0xba},\n\t{value: 0x3008, lo: 0xbb, hi: 0xbc},\n\t{value: 0x3308, lo: 0xbd, hi: 0xbd},\n\t{value: 0x3008, lo: 0xbe, hi: 0xbe},\n\t{value: 0x3b08, lo: 0xbf, hi: 0xbf},\n\t// Block 0xbc, offset 0x5a7\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0x3308, lo: 0x80, hi: 0x80},\n\t{value: 0x0018, lo: 0x81, hi: 0x83},\n\t{value: 0x0008, lo: 0x84, hi: 0x84},\n\t{value: 0x0040, lo: 0x85, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0x9f},\n\t{value: 0x0018, lo: 0xa0, hi: 0xac},\n\t{value: 0x0040, lo: 0xad, hi: 0xbf},\n\t// Block 0xbd, offset 0x5b0\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x0008, lo: 0x80, hi: 0xaa},\n\t{value: 0x3308, lo: 0xab, hi: 0xab},\n\t{value: 0x3008, lo: 0xac, hi: 0xac},\n\t{value: 0x3308, lo: 0xad, hi: 0xad},\n\t{value: 0x3008, lo: 0xae, hi: 0xaf},\n\t{value: 0x3308, lo: 0xb0, hi: 0xb5},\n\t{value: 0x3808, lo: 0xb6, hi: 0xb6},\n\t{value: 0x3308, lo: 0xb7, hi: 0xb7},\n\t{value: 0x0040, lo: 0xb8, hi: 0xbf},\n\t// Block 0xbe, offset 0x5ba\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0x89},\n\t{value: 0x0040, lo: 0x8a, hi: 0xbf},\n\t// Block 0xbf, offset 0x5bd\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x0008, lo: 0x80, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0x9c},\n\t{value: 0x3308, lo: 0x9d, hi: 0x9f},\n\t{value: 0x3008, lo: 0xa0, hi: 0xa1},\n\t{value: 0x3308, lo: 0xa2, hi: 0xa5},\n\t{value: 0x3008, lo: 0xa6, hi: 0xa6},\n\t{value: 0x3308, lo: 0xa7, hi: 0xaa},\n\t{value: 0x3b08, lo: 0xab, hi: 0xab},\n\t{value: 0x0040, lo: 0xac, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xb9},\n\t{value: 0x0018, lo: 0xba, hi: 0xbf},\n\t// Block 0xc0, offset 0x5c9\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0040, lo: 0x80, hi: 0x9f},\n\t{value: 0x049d, lo: 0xa0, hi: 0xbf},\n\t// Block 0xc1, offset 0x5cc\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0008, lo: 0x80, hi: 0xa9},\n\t{value: 0x0018, lo: 0xaa, hi: 0xb2},\n\t{value: 0x0040, lo: 0xb3, hi: 0xbe},\n\t{value: 0x0008, lo: 0xbf, hi: 0xbf},\n\t// Block 0xc2, offset 0x5d1\n\t{value: 0x0000, lo: 0x0c},\n\t{value: 0x0008, lo: 0x80, hi: 0x80},\n\t{value: 0x3308, lo: 0x81, hi: 0x86},\n\t{value: 0x3008, lo: 0x87, hi: 0x88},\n\t{value: 0x3308, lo: 0x89, hi: 0x8a},\n\t{value: 0x0008, lo: 0x8b, hi: 0xb2},\n\t{value: 0x3308, lo: 0xb3, hi: 0xb3},\n\t{value: 0x3b08, lo: 0xb4, hi: 0xb4},\n\t{value: 0x3308, lo: 0xb5, hi: 0xb8},\n\t{value: 0x3008, lo: 0xb9, hi: 0xb9},\n\t{value: 0x0008, lo: 0xba, hi: 0xba},\n\t{value: 0x3308, lo: 0xbb, hi: 0xbe},\n\t{value: 0x0018, lo: 0xbf, hi: 0xbf},\n\t// Block 0xc3, offset 0x5de\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0x0018, lo: 0x80, hi: 0x86},\n\t{value: 0x3b08, lo: 0x87, hi: 0x87},\n\t{value: 0x0040, lo: 0x88, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x90},\n\t{value: 0x3308, lo: 0x91, hi: 0x96},\n\t{value: 0x3008, lo: 0x97, hi: 0x98},\n\t{value: 0x3308, lo: 0x99, hi: 0x9b},\n\t{value: 0x0008, lo: 0x9c, hi: 0xbf},\n\t// Block 0xc4, offset 0x5e7\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x0008, lo: 0x80, hi: 0x83},\n\t{value: 0x0040, lo: 0x84, hi: 0x85},\n\t{value: 0x0008, lo: 0x86, hi: 0x89},\n\t{value: 0x3308, lo: 0x8a, hi: 0x96},\n\t{value: 0x3008, lo: 0x97, hi: 0x97},\n\t{value: 0x3308, lo: 0x98, hi: 0x98},\n\t{value: 0x3b08, lo: 0x99, hi: 0x99},\n\t{value: 0x0018, lo: 0x9a, hi: 0x9c},\n\t{value: 0x0040, lo: 0x9d, hi: 0x9d},\n\t{value: 0x0018, lo: 0x9e, hi: 0xa2},\n\t{value: 0x0040, lo: 0xa3, hi: 0xbf},\n\t// Block 0xc5, offset 0x5f3\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0xb8},\n\t{value: 0x0040, lo: 0xb9, hi: 0xbf},\n\t// Block 0xc6, offset 0x5f6\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x0008, lo: 0x80, hi: 0x88},\n\t{value: 0x0040, lo: 0x89, hi: 0x89},\n\t{value: 0x0008, lo: 0x8a, hi: 0xae},\n\t{value: 0x3008, lo: 0xaf, hi: 0xaf},\n\t{value: 0x3308, lo: 0xb0, hi: 0xb6},\n\t{value: 0x0040, lo: 0xb7, hi: 0xb7},\n\t{value: 0x3308, lo: 0xb8, hi: 0xbd},\n\t{value: 0x3008, lo: 0xbe, hi: 0xbe},\n\t{value: 0x3b08, lo: 0xbf, hi: 0xbf},\n\t// Block 0xc7, offset 0x600\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0x0008, lo: 0x80, hi: 0x80},\n\t{value: 0x0018, lo: 0x81, hi: 0x85},\n\t{value: 0x0040, lo: 0x86, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x99},\n\t{value: 0x0018, lo: 0x9a, hi: 0xac},\n\t{value: 0x0040, lo: 0xad, hi: 0xaf},\n\t{value: 0x0018, lo: 0xb0, hi: 0xb1},\n\t{value: 0x0008, lo: 0xb2, hi: 0xbf},\n\t// Block 0xc8, offset 0x609\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x0008, lo: 0x80, hi: 0x8f},\n\t{value: 0x0040, lo: 0x90, hi: 0x91},\n\t{value: 0x3308, lo: 0x92, hi: 0xa7},\n\t{value: 0x0040, lo: 0xa8, hi: 0xa8},\n\t{value: 0x3008, lo: 0xa9, hi: 0xa9},\n\t{value: 0x3308, lo: 0xaa, hi: 0xb0},\n\t{value: 0x3008, lo: 0xb1, hi: 0xb1},\n\t{value: 0x3308, lo: 0xb2, hi: 0xb3},\n\t{value: 0x3008, lo: 0xb4, hi: 0xb4},\n\t{value: 0x3308, lo: 0xb5, hi: 0xb6},\n\t{value: 0x0040, lo: 0xb7, hi: 0xbf},\n\t// Block 0xc9, offset 0x615\n\t{value: 0x0000, lo: 0x0c},\n\t{value: 0x0008, lo: 0x80, hi: 0x86},\n\t{value: 0x0040, lo: 0x87, hi: 0x87},\n\t{value: 0x0008, lo: 0x88, hi: 0x89},\n\t{value: 0x0040, lo: 0x8a, hi: 0x8a},\n\t{value: 0x0008, lo: 0x8b, hi: 0xb0},\n\t{value: 0x3308, lo: 0xb1, hi: 0xb6},\n\t{value: 0x0040, lo: 0xb7, hi: 0xb9},\n\t{value: 0x3308, lo: 0xba, hi: 0xba},\n\t{value: 0x0040, lo: 0xbb, hi: 0xbb},\n\t{value: 0x3308, lo: 0xbc, hi: 0xbd},\n\t{value: 0x0040, lo: 0xbe, hi: 0xbe},\n\t{value: 0x3308, lo: 0xbf, hi: 0xbf},\n\t// Block 0xca, offset 0x622\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x3308, lo: 0x80, hi: 0x83},\n\t{value: 0x3b08, lo: 0x84, hi: 0x85},\n\t{value: 0x0008, lo: 0x86, hi: 0x86},\n\t{value: 0x3308, lo: 0x87, hi: 0x87},\n\t{value: 0x0040, lo: 0x88, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0xbf},\n\t// Block 0xcb, offset 0x62a\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0xbf},\n\t// Block 0xcc, offset 0x62d\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0018, lo: 0x80, hi: 0xae},\n\t{value: 0x0040, lo: 0xaf, hi: 0xaf},\n\t{value: 0x0018, lo: 0xb0, hi: 0xb4},\n\t{value: 0x0040, lo: 0xb5, hi: 0xbf},\n\t// Block 0xcd, offset 0x632\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0x83},\n\t{value: 0x0040, lo: 0x84, hi: 0xbf},\n\t// Block 0xce, offset 0x635\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0xae},\n\t{value: 0x0040, lo: 0xaf, hi: 0xbf},\n\t// Block 0xcf, offset 0x638\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0x86},\n\t{value: 0x0040, lo: 0x87, hi: 0xbf},\n\t// Block 0xd0, offset 0x63b\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x0008, lo: 0x80, hi: 0x9e},\n\t{value: 0x0040, lo: 0x9f, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xa9},\n\t{value: 0x0040, lo: 0xaa, hi: 0xad},\n\t{value: 0x0018, lo: 0xae, hi: 0xaf},\n\t{value: 0x0040, lo: 0xb0, hi: 0xbf},\n\t// Block 0xd1, offset 0x642\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x0040, lo: 0x80, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0xad},\n\t{value: 0x0040, lo: 0xae, hi: 0xaf},\n\t{value: 0x3308, lo: 0xb0, hi: 0xb4},\n\t{value: 0x0018, lo: 0xb5, hi: 0xb5},\n\t{value: 0x0040, lo: 0xb6, hi: 0xbf},\n\t// Block 0xd2, offset 0x649\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0008, lo: 0x80, hi: 0xaf},\n\t{value: 0x3308, lo: 0xb0, hi: 0xb6},\n\t{value: 0x0018, lo: 0xb7, hi: 0xbf},\n\t// Block 0xd3, offset 0x64d\n\t{value: 0x0000, lo: 0x0a},\n\t{value: 0x0008, lo: 0x80, hi: 0x83},\n\t{value: 0x0018, lo: 0x84, hi: 0x85},\n\t{value: 0x0040, lo: 0x86, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0x9a},\n\t{value: 0x0018, lo: 0x9b, hi: 0xa1},\n\t{value: 0x0040, lo: 0xa2, hi: 0xa2},\n\t{value: 0x0008, lo: 0xa3, hi: 0xb7},\n\t{value: 0x0040, lo: 0xb8, hi: 0xbc},\n\t{value: 0x0008, lo: 0xbd, hi: 0xbf},\n\t// Block 0xd4, offset 0x658\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0x8f},\n\t{value: 0x0040, lo: 0x90, hi: 0xbf},\n\t// Block 0xd5, offset 0x65b\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0008, lo: 0x80, hi: 0x84},\n\t{value: 0x0040, lo: 0x85, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x90},\n\t{value: 0x3008, lo: 0x91, hi: 0xbe},\n\t{value: 0x0040, lo: 0xbf, hi: 0xbf},\n\t// Block 0xd6, offset 0x661\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0040, lo: 0x80, hi: 0x8e},\n\t{value: 0x3308, lo: 0x8f, hi: 0x92},\n\t{value: 0x0008, lo: 0x93, hi: 0x9f},\n\t{value: 0x0040, lo: 0xa0, hi: 0xbf},\n\t// Block 0xd7, offset 0x666\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0040, lo: 0x80, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xa1},\n\t{value: 0x0040, lo: 0xa2, hi: 0xbf},\n\t// Block 0xd8, offset 0x66a\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0xac},\n\t{value: 0x0040, lo: 0xad, hi: 0xbf},\n\t// Block 0xd9, offset 0x66d\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0xb2},\n\t{value: 0x0040, lo: 0xb3, hi: 0xbf},\n\t// Block 0xda, offset 0x670\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0x9e},\n\t{value: 0x0040, lo: 0x9f, hi: 0xbf},\n\t// Block 0xdb, offset 0x673\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0040, lo: 0x80, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xbf},\n\t// Block 0xdc, offset 0x676\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0xbb},\n\t{value: 0x0040, lo: 0xbc, hi: 0xbf},\n\t// Block 0xdd, offset 0x679\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0008, lo: 0x80, hi: 0xaa},\n\t{value: 0x0040, lo: 0xab, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xbc},\n\t{value: 0x0040, lo: 0xbd, hi: 0xbf},\n\t// Block 0xde, offset 0x67e\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x0008, lo: 0x80, hi: 0x88},\n\t{value: 0x0040, lo: 0x89, hi: 0x8f},\n\t{value: 0x0008, lo: 0x90, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0x9b},\n\t{value: 0x0018, lo: 0x9c, hi: 0x9c},\n\t{value: 0x3308, lo: 0x9d, hi: 0x9e},\n\t{value: 0x0018, lo: 0x9f, hi: 0x9f},\n\t{value: 0x03c0, lo: 0xa0, hi: 0xa3},\n\t{value: 0x0040, lo: 0xa4, hi: 0xbf},\n\t// Block 0xdf, offset 0x688\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0018, lo: 0x80, hi: 0xb5},\n\t{value: 0x0040, lo: 0xb6, hi: 0xbf},\n\t// Block 0xe0, offset 0x68b\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0018, lo: 0x80, hi: 0xa6},\n\t{value: 0x0040, lo: 0xa7, hi: 0xa8},\n\t{value: 0x0018, lo: 0xa9, hi: 0xbf},\n\t// Block 0xe1, offset 0x68f\n\t{value: 0x0000, lo: 0x0e},\n\t{value: 0x0018, lo: 0x80, hi: 0x9d},\n\t{value: 0xb5b9, lo: 0x9e, hi: 0x9e},\n\t{value: 0xb601, lo: 0x9f, hi: 0x9f},\n\t{value: 0xb649, lo: 0xa0, hi: 0xa0},\n\t{value: 0xb6b1, lo: 0xa1, hi: 0xa1},\n\t{value: 0xb719, lo: 0xa2, hi: 0xa2},\n\t{value: 0xb781, lo: 0xa3, hi: 0xa3},\n\t{value: 0xb7e9, lo: 0xa4, hi: 0xa4},\n\t{value: 0x3018, lo: 0xa5, hi: 0xa6},\n\t{value: 0x3318, lo: 0xa7, hi: 0xa9},\n\t{value: 0x0018, lo: 0xaa, hi: 0xac},\n\t{value: 0x3018, lo: 0xad, hi: 0xb2},\n\t{value: 0x0340, lo: 0xb3, hi: 0xba},\n\t{value: 0x3318, lo: 0xbb, hi: 0xbf},\n\t// Block 0xe2, offset 0x69e\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x3318, lo: 0x80, hi: 0x82},\n\t{value: 0x0018, lo: 0x83, hi: 0x84},\n\t{value: 0x3318, lo: 0x85, hi: 0x8b},\n\t{value: 0x0018, lo: 0x8c, hi: 0xa9},\n\t{value: 0x3318, lo: 0xaa, hi: 0xad},\n\t{value: 0x0018, lo: 0xae, hi: 0xba},\n\t{value: 0xb851, lo: 0xbb, hi: 0xbb},\n\t{value: 0xb899, lo: 0xbc, hi: 0xbc},\n\t{value: 0xb8e1, lo: 0xbd, hi: 0xbd},\n\t{value: 0xb949, lo: 0xbe, hi: 0xbe},\n\t{value: 0xb9b1, lo: 0xbf, hi: 0xbf},\n\t// Block 0xe3, offset 0x6aa\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0xba19, lo: 0x80, hi: 0x80},\n\t{value: 0x0018, lo: 0x81, hi: 0xa8},\n\t{value: 0x0040, lo: 0xa9, hi: 0xbf},\n\t// Block 0xe4, offset 0x6ae\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0018, lo: 0x80, hi: 0x81},\n\t{value: 0x3318, lo: 0x82, hi: 0x84},\n\t{value: 0x0018, lo: 0x85, hi: 0x85},\n\t{value: 0x0040, lo: 0x86, hi: 0xbf},\n\t// Block 0xe5, offset 0x6b3\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0018, lo: 0x80, hi: 0x96},\n\t{value: 0x0040, lo: 0x97, hi: 0x9f},\n\t{value: 0x0018, lo: 0xa0, hi: 0xb1},\n\t{value: 0x0040, lo: 0xb2, hi: 0xbf},\n\t// Block 0xe6, offset 0x6b8\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x3308, lo: 0x80, hi: 0xb6},\n\t{value: 0x0018, lo: 0xb7, hi: 0xba},\n\t{value: 0x3308, lo: 0xbb, hi: 0xbf},\n\t// Block 0xe7, offset 0x6bc\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x3308, lo: 0x80, hi: 0xac},\n\t{value: 0x0018, lo: 0xad, hi: 0xb4},\n\t{value: 0x3308, lo: 0xb5, hi: 0xb5},\n\t{value: 0x0018, lo: 0xb6, hi: 0xbf},\n\t// Block 0xe8, offset 0x6c1\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0x0018, lo: 0x80, hi: 0x83},\n\t{value: 0x3308, lo: 0x84, hi: 0x84},\n\t{value: 0x0018, lo: 0x85, hi: 0x8b},\n\t{value: 0x0040, lo: 0x8c, hi: 0x9a},\n\t{value: 0x3308, lo: 0x9b, hi: 0x9f},\n\t{value: 0x0040, lo: 0xa0, hi: 0xa0},\n\t{value: 0x3308, lo: 0xa1, hi: 0xaf},\n\t{value: 0x0040, lo: 0xb0, hi: 0xbf},\n\t// Block 0xe9, offset 0x6ca\n\t{value: 0x0000, lo: 0x0a},\n\t{value: 0x3308, lo: 0x80, hi: 0x86},\n\t{value: 0x0040, lo: 0x87, hi: 0x87},\n\t{value: 0x3308, lo: 0x88, hi: 0x98},\n\t{value: 0x0040, lo: 0x99, hi: 0x9a},\n\t{value: 0x3308, lo: 0x9b, hi: 0xa1},\n\t{value: 0x0040, lo: 0xa2, hi: 0xa2},\n\t{value: 0x3308, lo: 0xa3, hi: 0xa4},\n\t{value: 0x0040, lo: 0xa5, hi: 0xa5},\n\t{value: 0x3308, lo: 0xa6, hi: 0xaa},\n\t{value: 0x0040, lo: 0xab, hi: 0xbf},\n\t// Block 0xea, offset 0x6d5\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0808, lo: 0x80, hi: 0x84},\n\t{value: 0x0040, lo: 0x85, hi: 0x86},\n\t{value: 0x0818, lo: 0x87, hi: 0x8f},\n\t{value: 0x3308, lo: 0x90, hi: 0x96},\n\t{value: 0x0040, lo: 0x97, hi: 0xbf},\n\t// Block 0xeb, offset 0x6db\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x0a08, lo: 0x80, hi: 0x83},\n\t{value: 0x3308, lo: 0x84, hi: 0x8a},\n\t{value: 0x0040, lo: 0x8b, hi: 0x8f},\n\t{value: 0x0808, lo: 0x90, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0x9d},\n\t{value: 0x0818, lo: 0x9e, hi: 0x9f},\n\t{value: 0x0040, lo: 0xa0, hi: 0xbf},\n\t// Block 0xec, offset 0x6e3\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0040, lo: 0x80, hi: 0xaf},\n\t{value: 0x0018, lo: 0xb0, hi: 0xb1},\n\t{value: 0x0040, lo: 0xb2, hi: 0xbf},\n\t// Block 0xed, offset 0x6e7\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0018, lo: 0x80, hi: 0xab},\n\t{value: 0x0040, lo: 0xac, hi: 0xaf},\n\t{value: 0x0018, lo: 0xb0, hi: 0xbf},\n\t// Block 0xee, offset 0x6eb\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0018, lo: 0x80, hi: 0x93},\n\t{value: 0x0040, lo: 0x94, hi: 0x9f},\n\t{value: 0x0018, lo: 0xa0, hi: 0xae},\n\t{value: 0x0040, lo: 0xaf, hi: 0xb0},\n\t{value: 0x0018, lo: 0xb1, hi: 0xbf},\n\t// Block 0xef, offset 0x6f1\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0040, lo: 0x80, hi: 0x80},\n\t{value: 0x0018, lo: 0x81, hi: 0x8f},\n\t{value: 0x0040, lo: 0x90, hi: 0x90},\n\t{value: 0x0018, lo: 0x91, hi: 0xb5},\n\t{value: 0x0040, lo: 0xb6, hi: 0xbf},\n\t// Block 0xf0, offset 0x6f7\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0018, lo: 0x80, hi: 0x8f},\n\t{value: 0xc1c1, lo: 0x90, hi: 0x90},\n\t{value: 0x0018, lo: 0x91, hi: 0xac},\n\t{value: 0x0040, lo: 0xad, hi: 0xbf},\n\t// Block 0xf1, offset 0x6fc\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0040, lo: 0x80, hi: 0xa5},\n\t{value: 0x0018, lo: 0xa6, hi: 0xbf},\n\t// Block 0xf2, offset 0x6ff\n\t{value: 0x0000, lo: 0x0f},\n\t{value: 0xc7e9, lo: 0x80, hi: 0x80},\n\t{value: 0xc839, lo: 0x81, hi: 0x81},\n\t{value: 0xc889, lo: 0x82, hi: 0x82},\n\t{value: 0xc8d9, lo: 0x83, hi: 0x83},\n\t{value: 0xc929, lo: 0x84, hi: 0x84},\n\t{value: 0xc979, lo: 0x85, hi: 0x85},\n\t{value: 0xc9c9, lo: 0x86, hi: 0x86},\n\t{value: 0xca19, lo: 0x87, hi: 0x87},\n\t{value: 0xca69, lo: 0x88, hi: 0x88},\n\t{value: 0x0040, lo: 0x89, hi: 0x8f},\n\t{value: 0xcab9, lo: 0x90, hi: 0x90},\n\t{value: 0xcad9, lo: 0x91, hi: 0x91},\n\t{value: 0x0040, lo: 0x92, hi: 0x9f},\n\t{value: 0x0018, lo: 0xa0, hi: 0xa5},\n\t{value: 0x0040, lo: 0xa6, hi: 0xbf},\n\t// Block 0xf3, offset 0x70f\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x0018, lo: 0x80, hi: 0x94},\n\t{value: 0x0040, lo: 0x95, hi: 0x9f},\n\t{value: 0x0018, lo: 0xa0, hi: 0xac},\n\t{value: 0x0040, lo: 0xad, hi: 0xaf},\n\t{value: 0x0018, lo: 0xb0, hi: 0xb8},\n\t{value: 0x0040, lo: 0xb9, hi: 0xbf},\n\t// Block 0xf4, offset 0x716\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0018, lo: 0x80, hi: 0xb3},\n\t{value: 0x0040, lo: 0xb4, hi: 0xbf},\n\t// Block 0xf5, offset 0x719\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0018, lo: 0x80, hi: 0x94},\n\t{value: 0x0040, lo: 0x95, hi: 0xbf},\n\t// Block 0xf6, offset 0x71c\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0018, lo: 0x80, hi: 0x8b},\n\t{value: 0x0040, lo: 0x8c, hi: 0x8f},\n\t{value: 0x0018, lo: 0x90, hi: 0xbf},\n\t// Block 0xf7, offset 0x720\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x0018, lo: 0x80, hi: 0x87},\n\t{value: 0x0040, lo: 0x88, hi: 0x8f},\n\t{value: 0x0018, lo: 0x90, hi: 0x99},\n\t{value: 0x0040, lo: 0x9a, hi: 0x9f},\n\t{value: 0x0018, lo: 0xa0, hi: 0xbf},\n\t// Block 0xf8, offset 0x726\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0018, lo: 0x80, hi: 0x87},\n\t{value: 0x0040, lo: 0x88, hi: 0x8f},\n\t{value: 0x0018, lo: 0x90, hi: 0xad},\n\t{value: 0x0040, lo: 0xae, hi: 0xbf},\n\t// Block 0xf9, offset 0x72b\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0018, lo: 0x80, hi: 0x8b},\n\t{value: 0x0040, lo: 0x8c, hi: 0x8f},\n\t{value: 0x0018, lo: 0x90, hi: 0xbe},\n\t{value: 0x0040, lo: 0xbf, hi: 0xbf},\n\t// Block 0xfa, offset 0x730\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0018, lo: 0x80, hi: 0x8c},\n\t{value: 0x0040, lo: 0x8d, hi: 0x8f},\n\t{value: 0x0018, lo: 0x90, hi: 0xab},\n\t{value: 0x0040, lo: 0xac, hi: 0xbf},\n\t// Block 0xfb, offset 0x735\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0018, lo: 0x80, hi: 0x97},\n\t{value: 0x0040, lo: 0x98, hi: 0xbf},\n\t// Block 0xfc, offset 0x738\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0018, lo: 0x80, hi: 0x80},\n\t{value: 0x0040, lo: 0x81, hi: 0x8f},\n\t{value: 0x0018, lo: 0x90, hi: 0xa6},\n\t{value: 0x0040, lo: 0xa7, hi: 0xbf},\n\t// Block 0xfd, offset 0x73d\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0x96},\n\t{value: 0x0040, lo: 0x97, hi: 0xbf},\n\t// Block 0xfe, offset 0x740\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0xb4},\n\t{value: 0x0040, lo: 0xb5, hi: 0xbf},\n\t// Block 0xff, offset 0x743\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0008, lo: 0x80, hi: 0x9d},\n\t{value: 0x0040, lo: 0x9e, hi: 0x9f},\n\t{value: 0x0008, lo: 0xa0, hi: 0xbf},\n\t// Block 0x100, offset 0x747\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x0008, lo: 0x80, hi: 0xa1},\n\t{value: 0x0040, lo: 0xa2, hi: 0xaf},\n\t{value: 0x0008, lo: 0xb0, hi: 0xbf},\n\t// Block 0x101, offset 0x74b\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0008, lo: 0x80, hi: 0xa0},\n\t{value: 0x0040, lo: 0xa1, hi: 0xbf},\n\t// Block 0x102, offset 0x74e\n\t{value: 0x0020, lo: 0x0f},\n\t{value: 0xdeb9, lo: 0x80, hi: 0x89},\n\t{value: 0x8dfd, lo: 0x8a, hi: 0x8a},\n\t{value: 0xdff9, lo: 0x8b, hi: 0x9c},\n\t{value: 0x8e1d, lo: 0x9d, hi: 0x9d},\n\t{value: 0xe239, lo: 0x9e, hi: 0xa2},\n\t{value: 0x8e3d, lo: 0xa3, hi: 0xa3},\n\t{value: 0xe2d9, lo: 0xa4, hi: 0xab},\n\t{value: 0x7ed5, lo: 0xac, hi: 0xac},\n\t{value: 0xe3d9, lo: 0xad, hi: 0xaf},\n\t{value: 0x8e5d, lo: 0xb0, hi: 0xb0},\n\t{value: 0xe439, lo: 0xb1, hi: 0xb6},\n\t{value: 0x8e7d, lo: 0xb7, hi: 0xb9},\n\t{value: 0xe4f9, lo: 0xba, hi: 0xba},\n\t{value: 0x8edd, lo: 0xbb, hi: 0xbb},\n\t{value: 0xe519, lo: 0xbc, hi: 0xbf},\n\t// Block 0x103, offset 0x75e\n\t{value: 0x0020, lo: 0x10},\n\t{value: 0x937d, lo: 0x80, hi: 0x80},\n\t{value: 0xf099, lo: 0x81, hi: 0x86},\n\t{value: 0x939d, lo: 0x87, hi: 0x8a},\n\t{value: 0xd9f9, lo: 0x8b, hi: 0x8b},\n\t{value: 0xf159, lo: 0x8c, hi: 0x96},\n\t{value: 0x941d, lo: 0x97, hi: 0x97},\n\t{value: 0xf2b9, lo: 0x98, hi: 0xa3},\n\t{value: 0x943d, lo: 0xa4, hi: 0xa6},\n\t{value: 0xf439, lo: 0xa7, hi: 0xaa},\n\t{value: 0x949d, lo: 0xab, hi: 0xab},\n\t{value: 0xf4b9, lo: 0xac, hi: 0xac},\n\t{value: 0x94bd, lo: 0xad, hi: 0xad},\n\t{value: 0xf4d9, lo: 0xae, hi: 0xaf},\n\t{value: 0x94dd, lo: 0xb0, hi: 0xb1},\n\t{value: 0xf519, lo: 0xb2, hi: 0xbe},\n\t{value: 0x2040, lo: 0xbf, hi: 0xbf},\n\t// Block 0x104, offset 0x76f\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x0040, lo: 0x80, hi: 0x80},\n\t{value: 0x0340, lo: 0x81, hi: 0x81},\n\t{value: 0x0040, lo: 0x82, hi: 0x9f},\n\t{value: 0x0340, lo: 0xa0, hi: 0xbf},\n\t// Block 0x105, offset 0x774\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x0340, lo: 0x80, hi: 0xbf},\n\t// Block 0x106, offset 0x776\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x33c0, lo: 0x80, hi: 0xbf},\n\t// Block 0x107, offset 0x778\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x33c0, lo: 0x80, hi: 0xaf},\n\t{value: 0x0040, lo: 0xb0, hi: 0xbf},\n}\n\n// Total table size 42115 bytes (41KiB); checksum: F4A1FA4E\n"
  },
  {
    "path": "vendor/golang.org/x/net/idna/trie.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\n// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage idna\n\n// appendMapping appends the mapping for the respective rune. isMapped must be\n// true. A mapping is a categorization of a rune as defined in UTS #46.\nfunc (c info) appendMapping(b []byte, s string) []byte {\n\tindex := int(c >> indexShift)\n\tif c&xorBit == 0 {\n\t\ts := mappings[index:]\n\t\treturn append(b, s[1:s[0]+1]...)\n\t}\n\tb = append(b, s...)\n\tif c&inlineXOR == inlineXOR {\n\t\t// TODO: support and handle two-byte inline masks\n\t\tb[len(b)-1] ^= byte(index)\n\t} else {\n\t\tfor p := len(b) - int(xorData[index]); p < len(b); p++ {\n\t\t\tindex++\n\t\t\tb[p] ^= xorData[index]\n\t\t}\n\t}\n\treturn b\n}\n\n// Sparse block handling code.\n\ntype valueRange struct {\n\tvalue  uint16 // header: value:stride\n\tlo, hi byte   // header: lo:n\n}\n\ntype sparseBlocks struct {\n\tvalues []valueRange\n\toffset []uint16\n}\n\nvar idnaSparse = sparseBlocks{\n\tvalues: idnaSparseValues[:],\n\toffset: idnaSparseOffset[:],\n}\n\n// Don't use newIdnaTrie to avoid unconditional linking in of the table.\nvar trie = &idnaTrie{}\n\n// lookup determines the type of block n and looks up the value for b.\n// For n < t.cutoff, the block is a simple lookup table. Otherwise, the block\n// is a list of ranges with an accompanying value. Given a matching range r,\n// the value for b is by r.value + (b - r.lo) * stride.\nfunc (t *sparseBlocks) lookup(n uint32, b byte) uint16 {\n\toffset := t.offset[n]\n\theader := t.values[offset]\n\tlo := offset + 1\n\thi := lo + uint16(header.lo)\n\tfor lo < hi {\n\t\tm := lo + (hi-lo)/2\n\t\tr := t.values[m]\n\t\tif r.lo <= b && b <= r.hi {\n\t\t\treturn r.value + uint16(b-r.lo)*header.value\n\t\t}\n\t\tif b < r.lo {\n\t\t\thi = m\n\t\t} else {\n\t\t\tlo = m + 1\n\t\t}\n\t}\n\treturn 0\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/idna/trieval.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\npackage idna\n\n// This file contains definitions for interpreting the trie value of the idna\n// trie generated by \"go run gen*.go\". It is shared by both the generator\n// program and the resultant package. Sharing is achieved by the generator\n// copying gen_trieval.go to trieval.go and changing what's above this comment.\n\n// info holds information from the IDNA mapping table for a single rune. It is\n// the value returned by a trie lookup. In most cases, all information fits in\n// a 16-bit value. For mappings, this value may contain an index into a slice\n// with the mapped string. Such mappings can consist of the actual mapped value\n// or an XOR pattern to be applied to the bytes of the UTF8 encoding of the\n// input rune. This technique is used by the cases packages and reduces the\n// table size significantly.\n//\n// The per-rune values have the following format:\n//\n//   if mapped {\n//     if inlinedXOR {\n//       15..13 inline XOR marker\n//       12..11 unused\n//       10..3  inline XOR mask\n//     } else {\n//       15..3  index into xor or mapping table\n//     }\n//   } else {\n//       15..14 unused\n//       13     mayNeedNorm\n//       12..11 attributes\n//       10..8  joining type\n//        7..3  category type\n//   }\n//      2  use xor pattern\n//   1..0  mapped category\n//\n// See the definitions below for a more detailed description of the various\n// bits.\ntype info uint16\n\nconst (\n\tcatSmallMask = 0x3\n\tcatBigMask   = 0xF8\n\tindexShift   = 3\n\txorBit       = 0x4    // interpret the index as an xor pattern\n\tinlineXOR    = 0xE000 // These bits are set if the XOR pattern is inlined.\n\n\tjoinShift = 8\n\tjoinMask  = 0x07\n\n\t// Attributes\n\tattributesMask = 0x1800\n\tviramaModifier = 0x1800\n\tmodifier       = 0x1000\n\trtl            = 0x0800\n\n\tmayNeedNorm = 0x2000\n)\n\n// A category corresponds to a category defined in the IDNA mapping table.\ntype category uint16\n\nconst (\n\tunknown              category = 0 // not currently defined in unicode.\n\tmapped               category = 1\n\tdisallowedSTD3Mapped category = 2\n\tdeviation            category = 3\n)\n\nconst (\n\tvalid               category = 0x08\n\tvalidNV8            category = 0x18\n\tvalidXV8            category = 0x28\n\tdisallowed          category = 0x40\n\tdisallowedSTD3Valid category = 0x80\n\tignored             category = 0xC0\n)\n\n// join types and additional rune information\nconst (\n\tjoiningL = (iota + 1)\n\tjoiningD\n\tjoiningT\n\tjoiningR\n\n\t//the following types are derived during processing\n\tjoinZWJ\n\tjoinZWNJ\n\tjoinVirama\n\tnumJoinTypes\n)\n\nfunc (c info) isMapped() bool {\n\treturn c&0x3 != 0\n}\n\nfunc (c info) category() category {\n\tsmall := c & catSmallMask\n\tif small != 0 {\n\t\treturn category(small)\n\t}\n\treturn category(c & catBigMask)\n}\n\nfunc (c info) joinType() info {\n\tif c.isMapped() {\n\t\treturn 0\n\t}\n\treturn (c >> joinShift) & joinMask\n}\n\nfunc (c info) isModifier() bool {\n\treturn c&(modifier|catSmallMask) == modifier\n}\n\nfunc (c info) isViramaModifier() bool {\n\treturn c&(attributesMask|catSmallMask) == viramaModifier\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/internal/timeseries/timeseries.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package timeseries implements a time series structure for stats collection.\npackage timeseries // import \"golang.org/x/net/internal/timeseries\"\n\nimport (\n\t\"fmt\"\n\t\"log\"\n\t\"time\"\n)\n\nconst (\n\ttimeSeriesNumBuckets       = 64\n\tminuteHourSeriesNumBuckets = 60\n)\n\nvar timeSeriesResolutions = []time.Duration{\n\t1 * time.Second,\n\t10 * time.Second,\n\t1 * time.Minute,\n\t10 * time.Minute,\n\t1 * time.Hour,\n\t6 * time.Hour,\n\t24 * time.Hour,          // 1 day\n\t7 * 24 * time.Hour,      // 1 week\n\t4 * 7 * 24 * time.Hour,  // 4 weeks\n\t16 * 7 * 24 * time.Hour, // 16 weeks\n}\n\nvar minuteHourSeriesResolutions = []time.Duration{\n\t1 * time.Second,\n\t1 * time.Minute,\n}\n\n// An Observable is a kind of data that can be aggregated in a time series.\ntype Observable interface {\n\tMultiply(ratio float64)    // Multiplies the data in self by a given ratio\n\tAdd(other Observable)      // Adds the data from a different observation to self\n\tClear()                    // Clears the observation so it can be reused.\n\tCopyFrom(other Observable) // Copies the contents of a given observation to self\n}\n\n// Float attaches the methods of Observable to a float64.\ntype Float float64\n\n// NewFloat returns a Float.\nfunc NewFloat() Observable {\n\tf := Float(0)\n\treturn &f\n}\n\n// String returns the float as a string.\nfunc (f *Float) String() string { return fmt.Sprintf(\"%g\", f.Value()) }\n\n// Value returns the float's value.\nfunc (f *Float) Value() float64 { return float64(*f) }\n\nfunc (f *Float) Multiply(ratio float64) { *f *= Float(ratio) }\n\nfunc (f *Float) Add(other Observable) {\n\to := other.(*Float)\n\t*f += *o\n}\n\nfunc (f *Float) Clear() { *f = 0 }\n\nfunc (f *Float) CopyFrom(other Observable) {\n\to := other.(*Float)\n\t*f = *o\n}\n\n// A Clock tells the current time.\ntype Clock interface {\n\tTime() time.Time\n}\n\ntype defaultClock int\n\nvar defaultClockInstance defaultClock\n\nfunc (defaultClock) Time() time.Time { return time.Now() }\n\n// Information kept per level. Each level consists of a circular list of\n// observations. The start of the level may be derived from end and the\n// len(buckets) * sizeInMillis.\ntype tsLevel struct {\n\toldest   int               // index to oldest bucketed Observable\n\tnewest   int               // index to newest bucketed Observable\n\tend      time.Time         // end timestamp for this level\n\tsize     time.Duration     // duration of the bucketed Observable\n\tbuckets  []Observable      // collections of observations\n\tprovider func() Observable // used for creating new Observable\n}\n\nfunc (l *tsLevel) Clear() {\n\tl.oldest = 0\n\tl.newest = len(l.buckets) - 1\n\tl.end = time.Time{}\n\tfor i := range l.buckets {\n\t\tif l.buckets[i] != nil {\n\t\t\tl.buckets[i].Clear()\n\t\t\tl.buckets[i] = nil\n\t\t}\n\t}\n}\n\nfunc (l *tsLevel) InitLevel(size time.Duration, numBuckets int, f func() Observable) {\n\tl.size = size\n\tl.provider = f\n\tl.buckets = make([]Observable, numBuckets)\n}\n\n// Keeps a sequence of levels. Each level is responsible for storing data at\n// a given resolution. For example, the first level stores data at a one\n// minute resolution while the second level stores data at a one hour\n// resolution.\n\n// Each level is represented by a sequence of buckets. Each bucket spans an\n// interval equal to the resolution of the level. New observations are added\n// to the last bucket.\ntype timeSeries struct {\n\tprovider    func() Observable // make more Observable\n\tnumBuckets  int               // number of buckets in each level\n\tlevels      []*tsLevel        // levels of bucketed Observable\n\tlastAdd     time.Time         // time of last Observable tracked\n\ttotal       Observable        // convenient aggregation of all Observable\n\tclock       Clock             // Clock for getting current time\n\tpending     Observable        // observations not yet bucketed\n\tpendingTime time.Time         // what time are we keeping in pending\n\tdirty       bool              // if there are pending observations\n}\n\n// init initializes a level according to the supplied criteria.\nfunc (ts *timeSeries) init(resolutions []time.Duration, f func() Observable, numBuckets int, clock Clock) {\n\tts.provider = f\n\tts.numBuckets = numBuckets\n\tts.clock = clock\n\tts.levels = make([]*tsLevel, len(resolutions))\n\n\tfor i := range resolutions {\n\t\tif i > 0 && resolutions[i-1] >= resolutions[i] {\n\t\t\tlog.Print(\"timeseries: resolutions must be monotonically increasing\")\n\t\t\tbreak\n\t\t}\n\t\tnewLevel := new(tsLevel)\n\t\tnewLevel.InitLevel(resolutions[i], ts.numBuckets, ts.provider)\n\t\tts.levels[i] = newLevel\n\t}\n\n\tts.Clear()\n}\n\n// Clear removes all observations from the time series.\nfunc (ts *timeSeries) Clear() {\n\tts.lastAdd = time.Time{}\n\tts.total = ts.resetObservation(ts.total)\n\tts.pending = ts.resetObservation(ts.pending)\n\tts.pendingTime = time.Time{}\n\tts.dirty = false\n\n\tfor i := range ts.levels {\n\t\tts.levels[i].Clear()\n\t}\n}\n\n// Add records an observation at the current time.\nfunc (ts *timeSeries) Add(observation Observable) {\n\tts.AddWithTime(observation, ts.clock.Time())\n}\n\n// AddWithTime records an observation at the specified time.\nfunc (ts *timeSeries) AddWithTime(observation Observable, t time.Time) {\n\n\tsmallBucketDuration := ts.levels[0].size\n\n\tif t.After(ts.lastAdd) {\n\t\tts.lastAdd = t\n\t}\n\n\tif t.After(ts.pendingTime) {\n\t\tts.advance(t)\n\t\tts.mergePendingUpdates()\n\t\tts.pendingTime = ts.levels[0].end\n\t\tts.pending.CopyFrom(observation)\n\t\tts.dirty = true\n\t} else if t.After(ts.pendingTime.Add(-1 * smallBucketDuration)) {\n\t\t// The observation is close enough to go into the pending bucket.\n\t\t// This compensates for clock skewing and small scheduling delays\n\t\t// by letting the update stay in the fast path.\n\t\tts.pending.Add(observation)\n\t\tts.dirty = true\n\t} else {\n\t\tts.mergeValue(observation, t)\n\t}\n}\n\n// mergeValue inserts the observation at the specified time in the past into all levels.\nfunc (ts *timeSeries) mergeValue(observation Observable, t time.Time) {\n\tfor _, level := range ts.levels {\n\t\tindex := (ts.numBuckets - 1) - int(level.end.Sub(t)/level.size)\n\t\tif 0 <= index && index < ts.numBuckets {\n\t\t\tbucketNumber := (level.oldest + index) % ts.numBuckets\n\t\t\tif level.buckets[bucketNumber] == nil {\n\t\t\t\tlevel.buckets[bucketNumber] = level.provider()\n\t\t\t}\n\t\t\tlevel.buckets[bucketNumber].Add(observation)\n\t\t}\n\t}\n\tts.total.Add(observation)\n}\n\n// mergePendingUpdates applies the pending updates into all levels.\nfunc (ts *timeSeries) mergePendingUpdates() {\n\tif ts.dirty {\n\t\tts.mergeValue(ts.pending, ts.pendingTime)\n\t\tts.pending = ts.resetObservation(ts.pending)\n\t\tts.dirty = false\n\t}\n}\n\n// advance cycles the buckets at each level until the latest bucket in\n// each level can hold the time specified.\nfunc (ts *timeSeries) advance(t time.Time) {\n\tif !t.After(ts.levels[0].end) {\n\t\treturn\n\t}\n\tfor i := 0; i < len(ts.levels); i++ {\n\t\tlevel := ts.levels[i]\n\t\tif !level.end.Before(t) {\n\t\t\tbreak\n\t\t}\n\n\t\t// If the time is sufficiently far, just clear the level and advance\n\t\t// directly.\n\t\tif !t.Before(level.end.Add(level.size * time.Duration(ts.numBuckets))) {\n\t\t\tfor _, b := range level.buckets {\n\t\t\t\tts.resetObservation(b)\n\t\t\t}\n\t\t\tlevel.end = time.Unix(0, (t.UnixNano()/level.size.Nanoseconds())*level.size.Nanoseconds())\n\t\t}\n\n\t\tfor t.After(level.end) {\n\t\t\tlevel.end = level.end.Add(level.size)\n\t\t\tlevel.newest = level.oldest\n\t\t\tlevel.oldest = (level.oldest + 1) % ts.numBuckets\n\t\t\tts.resetObservation(level.buckets[level.newest])\n\t\t}\n\n\t\tt = level.end\n\t}\n}\n\n// Latest returns the sum of the num latest buckets from the level.\nfunc (ts *timeSeries) Latest(level, num int) Observable {\n\tnow := ts.clock.Time()\n\tif ts.levels[0].end.Before(now) {\n\t\tts.advance(now)\n\t}\n\n\tts.mergePendingUpdates()\n\n\tresult := ts.provider()\n\tl := ts.levels[level]\n\tindex := l.newest\n\n\tfor i := 0; i < num; i++ {\n\t\tif l.buckets[index] != nil {\n\t\t\tresult.Add(l.buckets[index])\n\t\t}\n\t\tif index == 0 {\n\t\t\tindex = ts.numBuckets\n\t\t}\n\t\tindex--\n\t}\n\n\treturn result\n}\n\n// LatestBuckets returns a copy of the num latest buckets from level.\nfunc (ts *timeSeries) LatestBuckets(level, num int) []Observable {\n\tif level < 0 || level > len(ts.levels) {\n\t\tlog.Print(\"timeseries: bad level argument: \", level)\n\t\treturn nil\n\t}\n\tif num < 0 || num >= ts.numBuckets {\n\t\tlog.Print(\"timeseries: bad num argument: \", num)\n\t\treturn nil\n\t}\n\n\tresults := make([]Observable, num)\n\tnow := ts.clock.Time()\n\tif ts.levels[0].end.Before(now) {\n\t\tts.advance(now)\n\t}\n\n\tts.mergePendingUpdates()\n\n\tl := ts.levels[level]\n\tindex := l.newest\n\n\tfor i := 0; i < num; i++ {\n\t\tresult := ts.provider()\n\t\tresults[i] = result\n\t\tif l.buckets[index] != nil {\n\t\t\tresult.CopyFrom(l.buckets[index])\n\t\t}\n\n\t\tif index == 0 {\n\t\t\tindex = ts.numBuckets\n\t\t}\n\t\tindex -= 1\n\t}\n\treturn results\n}\n\n// ScaleBy updates observations by scaling by factor.\nfunc (ts *timeSeries) ScaleBy(factor float64) {\n\tfor _, l := range ts.levels {\n\t\tfor i := 0; i < ts.numBuckets; i++ {\n\t\t\tl.buckets[i].Multiply(factor)\n\t\t}\n\t}\n\n\tts.total.Multiply(factor)\n\tts.pending.Multiply(factor)\n}\n\n// Range returns the sum of observations added over the specified time range.\n// If start or finish times don't fall on bucket boundaries of the same\n// level, then return values are approximate answers.\nfunc (ts *timeSeries) Range(start, finish time.Time) Observable {\n\treturn ts.ComputeRange(start, finish, 1)[0]\n}\n\n// Recent returns the sum of observations from the last delta.\nfunc (ts *timeSeries) Recent(delta time.Duration) Observable {\n\tnow := ts.clock.Time()\n\treturn ts.Range(now.Add(-delta), now)\n}\n\n// Total returns the total of all observations.\nfunc (ts *timeSeries) Total() Observable {\n\tts.mergePendingUpdates()\n\treturn ts.total\n}\n\n// ComputeRange computes a specified number of values into a slice using\n// the observations recorded over the specified time period. The return\n// values are approximate if the start or finish times don't fall on the\n// bucket boundaries at the same level or if the number of buckets spanning\n// the range is not an integral multiple of num.\nfunc (ts *timeSeries) ComputeRange(start, finish time.Time, num int) []Observable {\n\tif start.After(finish) {\n\t\tlog.Printf(\"timeseries: start > finish, %v>%v\", start, finish)\n\t\treturn nil\n\t}\n\n\tif num < 0 {\n\t\tlog.Printf(\"timeseries: num < 0, %v\", num)\n\t\treturn nil\n\t}\n\n\tresults := make([]Observable, num)\n\n\tfor _, l := range ts.levels {\n\t\tif !start.Before(l.end.Add(-l.size * time.Duration(ts.numBuckets))) {\n\t\t\tts.extract(l, start, finish, num, results)\n\t\t\treturn results\n\t\t}\n\t}\n\n\t// Failed to find a level that covers the desired range. So just\n\t// extract from the last level, even if it doesn't cover the entire\n\t// desired range.\n\tts.extract(ts.levels[len(ts.levels)-1], start, finish, num, results)\n\n\treturn results\n}\n\n// RecentList returns the specified number of values in slice over the most\n// recent time period of the specified range.\nfunc (ts *timeSeries) RecentList(delta time.Duration, num int) []Observable {\n\tif delta < 0 {\n\t\treturn nil\n\t}\n\tnow := ts.clock.Time()\n\treturn ts.ComputeRange(now.Add(-delta), now, num)\n}\n\n// extract returns a slice of specified number of observations from a given\n// level over a given range.\nfunc (ts *timeSeries) extract(l *tsLevel, start, finish time.Time, num int, results []Observable) {\n\tts.mergePendingUpdates()\n\n\tsrcInterval := l.size\n\tdstInterval := finish.Sub(start) / time.Duration(num)\n\tdstStart := start\n\tsrcStart := l.end.Add(-srcInterval * time.Duration(ts.numBuckets))\n\n\tsrcIndex := 0\n\n\t// Where should scanning start?\n\tif dstStart.After(srcStart) {\n\t\tadvance := dstStart.Sub(srcStart) / srcInterval\n\t\tsrcIndex += int(advance)\n\t\tsrcStart = srcStart.Add(advance * srcInterval)\n\t}\n\n\t// The i'th value is computed as show below.\n\t// interval = (finish/start)/num\n\t// i'th value = sum of observation in range\n\t//   [ start + i       * interval,\n\t//     start + (i + 1) * interval )\n\tfor i := 0; i < num; i++ {\n\t\tresults[i] = ts.resetObservation(results[i])\n\t\tdstEnd := dstStart.Add(dstInterval)\n\t\tfor srcIndex < ts.numBuckets && srcStart.Before(dstEnd) {\n\t\t\tsrcEnd := srcStart.Add(srcInterval)\n\t\t\tif srcEnd.After(ts.lastAdd) {\n\t\t\t\tsrcEnd = ts.lastAdd\n\t\t\t}\n\n\t\t\tif !srcEnd.Before(dstStart) {\n\t\t\t\tsrcValue := l.buckets[(srcIndex+l.oldest)%ts.numBuckets]\n\t\t\t\tif !srcStart.Before(dstStart) && !srcEnd.After(dstEnd) {\n\t\t\t\t\t// dst completely contains src.\n\t\t\t\t\tif srcValue != nil {\n\t\t\t\t\t\tresults[i].Add(srcValue)\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// dst partially overlaps src.\n\t\t\t\t\toverlapStart := maxTime(srcStart, dstStart)\n\t\t\t\t\toverlapEnd := minTime(srcEnd, dstEnd)\n\t\t\t\t\tbase := srcEnd.Sub(srcStart)\n\t\t\t\t\tfraction := overlapEnd.Sub(overlapStart).Seconds() / base.Seconds()\n\n\t\t\t\t\tused := ts.provider()\n\t\t\t\t\tif srcValue != nil {\n\t\t\t\t\t\tused.CopyFrom(srcValue)\n\t\t\t\t\t}\n\t\t\t\t\tused.Multiply(fraction)\n\t\t\t\t\tresults[i].Add(used)\n\t\t\t\t}\n\n\t\t\t\tif srcEnd.After(dstEnd) {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tsrcIndex++\n\t\t\tsrcStart = srcStart.Add(srcInterval)\n\t\t}\n\t\tdstStart = dstStart.Add(dstInterval)\n\t}\n}\n\n// resetObservation clears the content so the struct may be reused.\nfunc (ts *timeSeries) resetObservation(observation Observable) Observable {\n\tif observation == nil {\n\t\tobservation = ts.provider()\n\t} else {\n\t\tobservation.Clear()\n\t}\n\treturn observation\n}\n\n// TimeSeries tracks data at granularities from 1 second to 16 weeks.\ntype TimeSeries struct {\n\ttimeSeries\n}\n\n// NewTimeSeries creates a new TimeSeries using the function provided for creating new Observable.\nfunc NewTimeSeries(f func() Observable) *TimeSeries {\n\treturn NewTimeSeriesWithClock(f, defaultClockInstance)\n}\n\n// NewTimeSeriesWithClock creates a new TimeSeries using the function provided for creating new Observable and the clock for\n// assigning timestamps.\nfunc NewTimeSeriesWithClock(f func() Observable, clock Clock) *TimeSeries {\n\tts := new(TimeSeries)\n\tts.timeSeries.init(timeSeriesResolutions, f, timeSeriesNumBuckets, clock)\n\treturn ts\n}\n\n// MinuteHourSeries tracks data at granularities of 1 minute and 1 hour.\ntype MinuteHourSeries struct {\n\ttimeSeries\n}\n\n// NewMinuteHourSeries creates a new MinuteHourSeries using the function provided for creating new Observable.\nfunc NewMinuteHourSeries(f func() Observable) *MinuteHourSeries {\n\treturn NewMinuteHourSeriesWithClock(f, defaultClockInstance)\n}\n\n// NewMinuteHourSeriesWithClock creates a new MinuteHourSeries using the function provided for creating new Observable and the clock for\n// assigning timestamps.\nfunc NewMinuteHourSeriesWithClock(f func() Observable, clock Clock) *MinuteHourSeries {\n\tts := new(MinuteHourSeries)\n\tts.timeSeries.init(minuteHourSeriesResolutions, f,\n\t\tminuteHourSeriesNumBuckets, clock)\n\treturn ts\n}\n\nfunc (ts *MinuteHourSeries) Minute() Observable {\n\treturn ts.timeSeries.Latest(0, 60)\n}\n\nfunc (ts *MinuteHourSeries) Hour() Observable {\n\treturn ts.timeSeries.Latest(1, 60)\n}\n\nfunc minTime(a, b time.Time) time.Time {\n\tif a.Before(b) {\n\t\treturn a\n\t}\n\treturn b\n}\n\nfunc maxTime(a, b time.Time) time.Time {\n\tif a.After(b) {\n\t\treturn a\n\t}\n\treturn b\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/trace/events.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage trace\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"html/template\"\n\t\"io\"\n\t\"log\"\n\t\"net/http\"\n\t\"runtime\"\n\t\"sort\"\n\t\"strconv\"\n\t\"strings\"\n\t\"sync\"\n\t\"sync/atomic\"\n\t\"text/tabwriter\"\n\t\"time\"\n)\n\nconst maxEventsPerLog = 100\n\ntype bucket struct {\n\tMaxErrAge time.Duration\n\tString    string\n}\n\nvar buckets = []bucket{\n\t{0, \"total\"},\n\t{10 * time.Second, \"errs<10s\"},\n\t{1 * time.Minute, \"errs<1m\"},\n\t{10 * time.Minute, \"errs<10m\"},\n\t{1 * time.Hour, \"errs<1h\"},\n\t{10 * time.Hour, \"errs<10h\"},\n\t{24000 * time.Hour, \"errors\"},\n}\n\n// RenderEvents renders the HTML page typically served at /debug/events.\n// It does not do any auth checking. The request may be nil.\n//\n// Most users will use the Events handler.\nfunc RenderEvents(w http.ResponseWriter, req *http.Request, sensitive bool) {\n\tnow := time.Now()\n\tdata := &struct {\n\t\tFamilies []string // family names\n\t\tBuckets  []bucket\n\t\tCounts   [][]int // eventLog count per family/bucket\n\n\t\t// Set when a bucket has been selected.\n\t\tFamily    string\n\t\tBucket    int\n\t\tEventLogs eventLogs\n\t\tExpanded  bool\n\t}{\n\t\tBuckets: buckets,\n\t}\n\n\tdata.Families = make([]string, 0, len(families))\n\tfamMu.RLock()\n\tfor name := range families {\n\t\tdata.Families = append(data.Families, name)\n\t}\n\tfamMu.RUnlock()\n\tsort.Strings(data.Families)\n\n\t// Count the number of eventLogs in each family for each error age.\n\tdata.Counts = make([][]int, len(data.Families))\n\tfor i, name := range data.Families {\n\t\t// TODO(sameer): move this loop under the family lock.\n\t\tf := getEventFamily(name)\n\t\tdata.Counts[i] = make([]int, len(data.Buckets))\n\t\tfor j, b := range data.Buckets {\n\t\t\tdata.Counts[i][j] = f.Count(now, b.MaxErrAge)\n\t\t}\n\t}\n\n\tif req != nil {\n\t\tvar ok bool\n\t\tdata.Family, data.Bucket, ok = parseEventsArgs(req)\n\t\tif !ok {\n\t\t\t// No-op\n\t\t} else {\n\t\t\tdata.EventLogs = getEventFamily(data.Family).Copy(now, buckets[data.Bucket].MaxErrAge)\n\t\t}\n\t\tif data.EventLogs != nil {\n\t\t\tdefer data.EventLogs.Free()\n\t\t\tsort.Sort(data.EventLogs)\n\t\t}\n\t\tif exp, err := strconv.ParseBool(req.FormValue(\"exp\")); err == nil {\n\t\t\tdata.Expanded = exp\n\t\t}\n\t}\n\n\tfamMu.RLock()\n\tdefer famMu.RUnlock()\n\tif err := eventsTmpl().Execute(w, data); err != nil {\n\t\tlog.Printf(\"net/trace: Failed executing template: %v\", err)\n\t}\n}\n\nfunc parseEventsArgs(req *http.Request) (fam string, b int, ok bool) {\n\tfam, bStr := req.FormValue(\"fam\"), req.FormValue(\"b\")\n\tif fam == \"\" || bStr == \"\" {\n\t\treturn \"\", 0, false\n\t}\n\tb, err := strconv.Atoi(bStr)\n\tif err != nil || b < 0 || b >= len(buckets) {\n\t\treturn \"\", 0, false\n\t}\n\treturn fam, b, true\n}\n\n// An EventLog provides a log of events associated with a specific object.\ntype EventLog interface {\n\t// Printf formats its arguments with fmt.Sprintf and adds the\n\t// result to the event log.\n\tPrintf(format string, a ...interface{})\n\n\t// Errorf is like Printf, but it marks this event as an error.\n\tErrorf(format string, a ...interface{})\n\n\t// Finish declares that this event log is complete.\n\t// The event log should not be used after calling this method.\n\tFinish()\n}\n\n// NewEventLog returns a new EventLog with the specified family name\n// and title.\nfunc NewEventLog(family, title string) EventLog {\n\tel := newEventLog()\n\tel.ref()\n\tel.Family, el.Title = family, title\n\tel.Start = time.Now()\n\tel.events = make([]logEntry, 0, maxEventsPerLog)\n\tel.stack = make([]uintptr, 32)\n\tn := runtime.Callers(2, el.stack)\n\tel.stack = el.stack[:n]\n\n\tgetEventFamily(family).add(el)\n\treturn el\n}\n\nfunc (el *eventLog) Finish() {\n\tgetEventFamily(el.Family).remove(el)\n\tel.unref() // matches ref in New\n}\n\nvar (\n\tfamMu    sync.RWMutex\n\tfamilies = make(map[string]*eventFamily) // family name => family\n)\n\nfunc getEventFamily(fam string) *eventFamily {\n\tfamMu.Lock()\n\tdefer famMu.Unlock()\n\tf := families[fam]\n\tif f == nil {\n\t\tf = &eventFamily{}\n\t\tfamilies[fam] = f\n\t}\n\treturn f\n}\n\ntype eventFamily struct {\n\tmu        sync.RWMutex\n\teventLogs eventLogs\n}\n\nfunc (f *eventFamily) add(el *eventLog) {\n\tf.mu.Lock()\n\tf.eventLogs = append(f.eventLogs, el)\n\tf.mu.Unlock()\n}\n\nfunc (f *eventFamily) remove(el *eventLog) {\n\tf.mu.Lock()\n\tdefer f.mu.Unlock()\n\tfor i, el0 := range f.eventLogs {\n\t\tif el == el0 {\n\t\t\tcopy(f.eventLogs[i:], f.eventLogs[i+1:])\n\t\t\tf.eventLogs = f.eventLogs[:len(f.eventLogs)-1]\n\t\t\treturn\n\t\t}\n\t}\n}\n\nfunc (f *eventFamily) Count(now time.Time, maxErrAge time.Duration) (n int) {\n\tf.mu.RLock()\n\tdefer f.mu.RUnlock()\n\tfor _, el := range f.eventLogs {\n\t\tif el.hasRecentError(now, maxErrAge) {\n\t\t\tn++\n\t\t}\n\t}\n\treturn\n}\n\nfunc (f *eventFamily) Copy(now time.Time, maxErrAge time.Duration) (els eventLogs) {\n\tf.mu.RLock()\n\tdefer f.mu.RUnlock()\n\tels = make(eventLogs, 0, len(f.eventLogs))\n\tfor _, el := range f.eventLogs {\n\t\tif el.hasRecentError(now, maxErrAge) {\n\t\t\tel.ref()\n\t\t\tels = append(els, el)\n\t\t}\n\t}\n\treturn\n}\n\ntype eventLogs []*eventLog\n\n// Free calls unref on each element of the list.\nfunc (els eventLogs) Free() {\n\tfor _, el := range els {\n\t\tel.unref()\n\t}\n}\n\n// eventLogs may be sorted in reverse chronological order.\nfunc (els eventLogs) Len() int           { return len(els) }\nfunc (els eventLogs) Less(i, j int) bool { return els[i].Start.After(els[j].Start) }\nfunc (els eventLogs) Swap(i, j int)      { els[i], els[j] = els[j], els[i] }\n\n// A logEntry is a timestamped log entry in an event log.\ntype logEntry struct {\n\tWhen    time.Time\n\tElapsed time.Duration // since previous event in log\n\tNewDay  bool          // whether this event is on a different day to the previous event\n\tWhat    string\n\tIsErr   bool\n}\n\n// WhenString returns a string representation of the elapsed time of the event.\n// It will include the date if midnight was crossed.\nfunc (e logEntry) WhenString() string {\n\tif e.NewDay {\n\t\treturn e.When.Format(\"2006/01/02 15:04:05.000000\")\n\t}\n\treturn e.When.Format(\"15:04:05.000000\")\n}\n\n// An eventLog represents an active event log.\ntype eventLog struct {\n\t// Family is the top-level grouping of event logs to which this belongs.\n\tFamily string\n\n\t// Title is the title of this event log.\n\tTitle string\n\n\t// Timing information.\n\tStart time.Time\n\n\t// Call stack where this event log was created.\n\tstack []uintptr\n\n\t// Append-only sequence of events.\n\t//\n\t// TODO(sameer): change this to a ring buffer to avoid the array copy\n\t// when we hit maxEventsPerLog.\n\tmu            sync.RWMutex\n\tevents        []logEntry\n\tLastErrorTime time.Time\n\tdiscarded     int\n\n\trefs int32 // how many buckets this is in\n}\n\nfunc (el *eventLog) reset() {\n\t// Clear all but the mutex. Mutexes may not be copied, even when unlocked.\n\tel.Family = \"\"\n\tel.Title = \"\"\n\tel.Start = time.Time{}\n\tel.stack = nil\n\tel.events = nil\n\tel.LastErrorTime = time.Time{}\n\tel.discarded = 0\n\tel.refs = 0\n}\n\nfunc (el *eventLog) hasRecentError(now time.Time, maxErrAge time.Duration) bool {\n\tif maxErrAge == 0 {\n\t\treturn true\n\t}\n\tel.mu.RLock()\n\tdefer el.mu.RUnlock()\n\treturn now.Sub(el.LastErrorTime) < maxErrAge\n}\n\n// delta returns the elapsed time since the last event or the log start,\n// and whether it spans midnight.\n// L >= el.mu\nfunc (el *eventLog) delta(t time.Time) (time.Duration, bool) {\n\tif len(el.events) == 0 {\n\t\treturn t.Sub(el.Start), false\n\t}\n\tprev := el.events[len(el.events)-1].When\n\treturn t.Sub(prev), prev.Day() != t.Day()\n\n}\n\nfunc (el *eventLog) Printf(format string, a ...interface{}) {\n\tel.printf(false, format, a...)\n}\n\nfunc (el *eventLog) Errorf(format string, a ...interface{}) {\n\tel.printf(true, format, a...)\n}\n\nfunc (el *eventLog) printf(isErr bool, format string, a ...interface{}) {\n\te := logEntry{When: time.Now(), IsErr: isErr, What: fmt.Sprintf(format, a...)}\n\tel.mu.Lock()\n\te.Elapsed, e.NewDay = el.delta(e.When)\n\tif len(el.events) < maxEventsPerLog {\n\t\tel.events = append(el.events, e)\n\t} else {\n\t\t// Discard the oldest event.\n\t\tif el.discarded == 0 {\n\t\t\t// el.discarded starts at two to count for the event it\n\t\t\t// is replacing, plus the next one that we are about to\n\t\t\t// drop.\n\t\t\tel.discarded = 2\n\t\t} else {\n\t\t\tel.discarded++\n\t\t}\n\t\t// TODO(sameer): if this causes allocations on a critical path,\n\t\t// change eventLog.What to be a fmt.Stringer, as in trace.go.\n\t\tel.events[0].What = fmt.Sprintf(\"(%d events discarded)\", el.discarded)\n\t\t// The timestamp of the discarded meta-event should be\n\t\t// the time of the last event it is representing.\n\t\tel.events[0].When = el.events[1].When\n\t\tcopy(el.events[1:], el.events[2:])\n\t\tel.events[maxEventsPerLog-1] = e\n\t}\n\tif e.IsErr {\n\t\tel.LastErrorTime = e.When\n\t}\n\tel.mu.Unlock()\n}\n\nfunc (el *eventLog) ref() {\n\tatomic.AddInt32(&el.refs, 1)\n}\n\nfunc (el *eventLog) unref() {\n\tif atomic.AddInt32(&el.refs, -1) == 0 {\n\t\tfreeEventLog(el)\n\t}\n}\n\nfunc (el *eventLog) When() string {\n\treturn el.Start.Format(\"2006/01/02 15:04:05.000000\")\n}\n\nfunc (el *eventLog) ElapsedTime() string {\n\telapsed := time.Since(el.Start)\n\treturn fmt.Sprintf(\"%.6f\", elapsed.Seconds())\n}\n\nfunc (el *eventLog) Stack() string {\n\tbuf := new(bytes.Buffer)\n\ttw := tabwriter.NewWriter(buf, 1, 8, 1, '\\t', 0)\n\tprintStackRecord(tw, el.stack)\n\ttw.Flush()\n\treturn buf.String()\n}\n\n// printStackRecord prints the function + source line information\n// for a single stack trace.\n// Adapted from runtime/pprof/pprof.go.\nfunc printStackRecord(w io.Writer, stk []uintptr) {\n\tfor _, pc := range stk {\n\t\tf := runtime.FuncForPC(pc)\n\t\tif f == nil {\n\t\t\tcontinue\n\t\t}\n\t\tfile, line := f.FileLine(pc)\n\t\tname := f.Name()\n\t\t// Hide runtime.goexit and any runtime functions at the beginning.\n\t\tif strings.HasPrefix(name, \"runtime.\") {\n\t\t\tcontinue\n\t\t}\n\t\tfmt.Fprintf(w, \"#   %s\\t%s:%d\\n\", name, file, line)\n\t}\n}\n\nfunc (el *eventLog) Events() []logEntry {\n\tel.mu.RLock()\n\tdefer el.mu.RUnlock()\n\treturn el.events\n}\n\n// freeEventLogs is a freelist of *eventLog\nvar freeEventLogs = make(chan *eventLog, 1000)\n\n// newEventLog returns a event log ready to use.\nfunc newEventLog() *eventLog {\n\tselect {\n\tcase el := <-freeEventLogs:\n\t\treturn el\n\tdefault:\n\t\treturn new(eventLog)\n\t}\n}\n\n// freeEventLog adds el to freeEventLogs if there's room.\n// This is non-blocking.\nfunc freeEventLog(el *eventLog) {\n\tel.reset()\n\tselect {\n\tcase freeEventLogs <- el:\n\tdefault:\n\t}\n}\n\nvar eventsTmplCache *template.Template\nvar eventsTmplOnce sync.Once\n\nfunc eventsTmpl() *template.Template {\n\teventsTmplOnce.Do(func() {\n\t\teventsTmplCache = template.Must(template.New(\"events\").Funcs(template.FuncMap{\n\t\t\t\"elapsed\":   elapsed,\n\t\t\t\"trimSpace\": strings.TrimSpace,\n\t\t}).Parse(eventsHTML))\n\t})\n\treturn eventsTmplCache\n}\n\nconst eventsHTML = `\n<html>\n\t<head>\n\t\t<title>events</title>\n\t</head>\n\t<style type=\"text/css\">\n\t\tbody {\n\t\t\tfont-family: sans-serif;\n\t\t}\n\t\ttable#req-status td.family {\n\t\t\tpadding-right: 2em;\n\t\t}\n\t\ttable#req-status td.active {\n\t\t\tpadding-right: 1em;\n\t\t}\n\t\ttable#req-status td.empty {\n\t\t\tcolor: #aaa;\n\t\t}\n\t\ttable#reqs {\n\t\t\tmargin-top: 1em;\n\t\t}\n\t\ttable#reqs tr.first {\n\t\t\t{{if $.Expanded}}font-weight: bold;{{end}}\n\t\t}\n\t\ttable#reqs td {\n\t\t\tfont-family: monospace;\n\t\t}\n\t\ttable#reqs td.when {\n\t\t\ttext-align: right;\n\t\t\twhite-space: nowrap;\n\t\t}\n\t\ttable#reqs td.elapsed {\n\t\t\tpadding: 0 0.5em;\n\t\t\ttext-align: right;\n\t\t\twhite-space: pre;\n\t\t\twidth: 10em;\n\t\t}\n\t\taddress {\n\t\t\tfont-size: smaller;\n\t\t\tmargin-top: 5em;\n\t\t}\n\t</style>\n\t<body>\n\n<h1>/debug/events</h1>\n\n<table id=\"req-status\">\n\t{{range $i, $fam := .Families}}\n\t<tr>\n\t\t<td class=\"family\">{{$fam}}</td>\n\n\t        {{range $j, $bucket := $.Buckets}}\n\t        {{$n := index $.Counts $i $j}}\n\t\t<td class=\"{{if not $bucket.MaxErrAge}}active{{end}}{{if not $n}}empty{{end}}\">\n\t                {{if $n}}<a href=\"?fam={{$fam}}&b={{$j}}{{if $.Expanded}}&exp=1{{end}}\">{{end}}\n\t\t        [{{$n}} {{$bucket.String}}]\n\t\t\t{{if $n}}</a>{{end}}\n\t\t</td>\n                {{end}}\n\n\t</tr>{{end}}\n</table>\n\n{{if $.EventLogs}}\n<hr />\n<h3>Family: {{$.Family}}</h3>\n\n{{if $.Expanded}}<a href=\"?fam={{$.Family}}&b={{$.Bucket}}\">{{end}}\n[Summary]{{if $.Expanded}}</a>{{end}}\n\n{{if not $.Expanded}}<a href=\"?fam={{$.Family}}&b={{$.Bucket}}&exp=1\">{{end}}\n[Expanded]{{if not $.Expanded}}</a>{{end}}\n\n<table id=\"reqs\">\n\t<tr><th>When</th><th>Elapsed</th></tr>\n\t{{range $el := $.EventLogs}}\n\t<tr class=\"first\">\n\t\t<td class=\"when\">{{$el.When}}</td>\n\t\t<td class=\"elapsed\">{{$el.ElapsedTime}}</td>\n\t\t<td>{{$el.Title}}\n\t</tr>\n\t{{if $.Expanded}}\n\t<tr>\n\t\t<td class=\"when\"></td>\n\t\t<td class=\"elapsed\"></td>\n\t\t<td><pre>{{$el.Stack|trimSpace}}</pre></td>\n\t</tr>\n\t{{range $el.Events}}\n\t<tr>\n\t\t<td class=\"when\">{{.WhenString}}</td>\n\t\t<td class=\"elapsed\">{{elapsed .Elapsed}}</td>\n\t\t<td>.{{if .IsErr}}E{{else}}.{{end}}. {{.What}}</td>\n\t</tr>\n\t{{end}}\n\t{{end}}\n\t{{end}}\n</table>\n{{end}}\n\t</body>\n</html>\n`\n"
  },
  {
    "path": "vendor/golang.org/x/net/trace/histogram.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage trace\n\n// This file implements histogramming for RPC statistics collection.\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"html/template\"\n\t\"log\"\n\t\"math\"\n\t\"sync\"\n\n\t\"golang.org/x/net/internal/timeseries\"\n)\n\nconst (\n\tbucketCount = 38\n)\n\n// histogram keeps counts of values in buckets that are spaced\n// out in powers of 2: 0-1, 2-3, 4-7...\n// histogram implements timeseries.Observable\ntype histogram struct {\n\tsum          int64   // running total of measurements\n\tsumOfSquares float64 // square of running total\n\tbuckets      []int64 // bucketed values for histogram\n\tvalue        int     // holds a single value as an optimization\n\tvalueCount   int64   // number of values recorded for single value\n}\n\n// AddMeasurement records a value measurement observation to the histogram.\nfunc (h *histogram) addMeasurement(value int64) {\n\t// TODO: assert invariant\n\th.sum += value\n\th.sumOfSquares += float64(value) * float64(value)\n\n\tbucketIndex := getBucket(value)\n\n\tif h.valueCount == 0 || (h.valueCount > 0 && h.value == bucketIndex) {\n\t\th.value = bucketIndex\n\t\th.valueCount++\n\t} else {\n\t\th.allocateBuckets()\n\t\th.buckets[bucketIndex]++\n\t}\n}\n\nfunc (h *histogram) allocateBuckets() {\n\tif h.buckets == nil {\n\t\th.buckets = make([]int64, bucketCount)\n\t\th.buckets[h.value] = h.valueCount\n\t\th.value = 0\n\t\th.valueCount = -1\n\t}\n}\n\nfunc log2(i int64) int {\n\tn := 0\n\tfor ; i >= 0x100; i >>= 8 {\n\t\tn += 8\n\t}\n\tfor ; i > 0; i >>= 1 {\n\t\tn += 1\n\t}\n\treturn n\n}\n\nfunc getBucket(i int64) (index int) {\n\tindex = log2(i) - 1\n\tif index < 0 {\n\t\tindex = 0\n\t}\n\tif index >= bucketCount {\n\t\tindex = bucketCount - 1\n\t}\n\treturn\n}\n\n// Total returns the number of recorded observations.\nfunc (h *histogram) total() (total int64) {\n\tif h.valueCount >= 0 {\n\t\ttotal = h.valueCount\n\t}\n\tfor _, val := range h.buckets {\n\t\ttotal += int64(val)\n\t}\n\treturn\n}\n\n// Average returns the average value of recorded observations.\nfunc (h *histogram) average() float64 {\n\tt := h.total()\n\tif t == 0 {\n\t\treturn 0\n\t}\n\treturn float64(h.sum) / float64(t)\n}\n\n// Variance returns the variance of recorded observations.\nfunc (h *histogram) variance() float64 {\n\tt := float64(h.total())\n\tif t == 0 {\n\t\treturn 0\n\t}\n\ts := float64(h.sum) / t\n\treturn h.sumOfSquares/t - s*s\n}\n\n// StandardDeviation returns the standard deviation of recorded observations.\nfunc (h *histogram) standardDeviation() float64 {\n\treturn math.Sqrt(h.variance())\n}\n\n// PercentileBoundary estimates the value that the given fraction of recorded\n// observations are less than.\nfunc (h *histogram) percentileBoundary(percentile float64) int64 {\n\ttotal := h.total()\n\n\t// Corner cases (make sure result is strictly less than Total())\n\tif total == 0 {\n\t\treturn 0\n\t} else if total == 1 {\n\t\treturn int64(h.average())\n\t}\n\n\tpercentOfTotal := round(float64(total) * percentile)\n\tvar runningTotal int64\n\n\tfor i := range h.buckets {\n\t\tvalue := h.buckets[i]\n\t\trunningTotal += value\n\t\tif runningTotal == percentOfTotal {\n\t\t\t// We hit an exact bucket boundary. If the next bucket has data, it is a\n\t\t\t// good estimate of the value. If the bucket is empty, we interpolate the\n\t\t\t// midpoint between the next bucket's boundary and the next non-zero\n\t\t\t// bucket. If the remaining buckets are all empty, then we use the\n\t\t\t// boundary for the next bucket as the estimate.\n\t\t\tj := uint8(i + 1)\n\t\t\tmin := bucketBoundary(j)\n\t\t\tif runningTotal < total {\n\t\t\t\tfor h.buckets[j] == 0 {\n\t\t\t\t\tj++\n\t\t\t\t}\n\t\t\t}\n\t\t\tmax := bucketBoundary(j)\n\t\t\treturn min + round(float64(max-min)/2)\n\t\t} else if runningTotal > percentOfTotal {\n\t\t\t// The value is in this bucket. Interpolate the value.\n\t\t\tdelta := runningTotal - percentOfTotal\n\t\t\tpercentBucket := float64(value-delta) / float64(value)\n\t\t\tbucketMin := bucketBoundary(uint8(i))\n\t\t\tnextBucketMin := bucketBoundary(uint8(i + 1))\n\t\t\tbucketSize := nextBucketMin - bucketMin\n\t\t\treturn bucketMin + round(percentBucket*float64(bucketSize))\n\t\t}\n\t}\n\treturn bucketBoundary(bucketCount - 1)\n}\n\n// Median returns the estimated median of the observed values.\nfunc (h *histogram) median() int64 {\n\treturn h.percentileBoundary(0.5)\n}\n\n// Add adds other to h.\nfunc (h *histogram) Add(other timeseries.Observable) {\n\to := other.(*histogram)\n\tif o.valueCount == 0 {\n\t\t// Other histogram is empty\n\t} else if h.valueCount >= 0 && o.valueCount > 0 && h.value == o.value {\n\t\t// Both have a single bucketed value, aggregate them\n\t\th.valueCount += o.valueCount\n\t} else {\n\t\t// Two different values necessitate buckets in this histogram\n\t\th.allocateBuckets()\n\t\tif o.valueCount >= 0 {\n\t\t\th.buckets[o.value] += o.valueCount\n\t\t} else {\n\t\t\tfor i := range h.buckets {\n\t\t\t\th.buckets[i] += o.buckets[i]\n\t\t\t}\n\t\t}\n\t}\n\th.sumOfSquares += o.sumOfSquares\n\th.sum += o.sum\n}\n\n// Clear resets the histogram to an empty state, removing all observed values.\nfunc (h *histogram) Clear() {\n\th.buckets = nil\n\th.value = 0\n\th.valueCount = 0\n\th.sum = 0\n\th.sumOfSquares = 0\n}\n\n// CopyFrom copies from other, which must be a *histogram, into h.\nfunc (h *histogram) CopyFrom(other timeseries.Observable) {\n\to := other.(*histogram)\n\tif o.valueCount == -1 {\n\t\th.allocateBuckets()\n\t\tcopy(h.buckets, o.buckets)\n\t}\n\th.sum = o.sum\n\th.sumOfSquares = o.sumOfSquares\n\th.value = o.value\n\th.valueCount = o.valueCount\n}\n\n// Multiply scales the histogram by the specified ratio.\nfunc (h *histogram) Multiply(ratio float64) {\n\tif h.valueCount == -1 {\n\t\tfor i := range h.buckets {\n\t\t\th.buckets[i] = int64(float64(h.buckets[i]) * ratio)\n\t\t}\n\t} else {\n\t\th.valueCount = int64(float64(h.valueCount) * ratio)\n\t}\n\th.sum = int64(float64(h.sum) * ratio)\n\th.sumOfSquares = h.sumOfSquares * ratio\n}\n\n// New creates a new histogram.\nfunc (h *histogram) New() timeseries.Observable {\n\tr := new(histogram)\n\tr.Clear()\n\treturn r\n}\n\nfunc (h *histogram) String() string {\n\treturn fmt.Sprintf(\"%d, %f, %d, %d, %v\",\n\t\th.sum, h.sumOfSquares, h.value, h.valueCount, h.buckets)\n}\n\n// round returns the closest int64 to the argument\nfunc round(in float64) int64 {\n\treturn int64(math.Floor(in + 0.5))\n}\n\n// bucketBoundary returns the first value in the bucket.\nfunc bucketBoundary(bucket uint8) int64 {\n\tif bucket == 0 {\n\t\treturn 0\n\t}\n\treturn 1 << bucket\n}\n\n// bucketData holds data about a specific bucket for use in distTmpl.\ntype bucketData struct {\n\tLower, Upper       int64\n\tN                  int64\n\tPct, CumulativePct float64\n\tGraphWidth         int\n}\n\n// data holds data about a Distribution for use in distTmpl.\ntype data struct {\n\tBuckets                 []*bucketData\n\tCount, Median           int64\n\tMean, StandardDeviation float64\n}\n\n// maxHTMLBarWidth is the maximum width of the HTML bar for visualizing buckets.\nconst maxHTMLBarWidth = 350.0\n\n// newData returns data representing h for use in distTmpl.\nfunc (h *histogram) newData() *data {\n\t// Force the allocation of buckets to simplify the rendering implementation\n\th.allocateBuckets()\n\t// We scale the bars on the right so that the largest bar is\n\t// maxHTMLBarWidth pixels in width.\n\tmaxBucket := int64(0)\n\tfor _, n := range h.buckets {\n\t\tif n > maxBucket {\n\t\t\tmaxBucket = n\n\t\t}\n\t}\n\ttotal := h.total()\n\tbarsizeMult := maxHTMLBarWidth / float64(maxBucket)\n\tvar pctMult float64\n\tif total == 0 {\n\t\tpctMult = 1.0\n\t} else {\n\t\tpctMult = 100.0 / float64(total)\n\t}\n\n\tbuckets := make([]*bucketData, len(h.buckets))\n\trunningTotal := int64(0)\n\tfor i, n := range h.buckets {\n\t\tif n == 0 {\n\t\t\tcontinue\n\t\t}\n\t\trunningTotal += n\n\t\tvar upperBound int64\n\t\tif i < bucketCount-1 {\n\t\t\tupperBound = bucketBoundary(uint8(i + 1))\n\t\t} else {\n\t\t\tupperBound = math.MaxInt64\n\t\t}\n\t\tbuckets[i] = &bucketData{\n\t\t\tLower:         bucketBoundary(uint8(i)),\n\t\t\tUpper:         upperBound,\n\t\t\tN:             n,\n\t\t\tPct:           float64(n) * pctMult,\n\t\t\tCumulativePct: float64(runningTotal) * pctMult,\n\t\t\tGraphWidth:    int(float64(n) * barsizeMult),\n\t\t}\n\t}\n\treturn &data{\n\t\tBuckets:           buckets,\n\t\tCount:             total,\n\t\tMedian:            h.median(),\n\t\tMean:              h.average(),\n\t\tStandardDeviation: h.standardDeviation(),\n\t}\n}\n\nfunc (h *histogram) html() template.HTML {\n\tbuf := new(bytes.Buffer)\n\tif err := distTmpl().Execute(buf, h.newData()); err != nil {\n\t\tbuf.Reset()\n\t\tlog.Printf(\"net/trace: couldn't execute template: %v\", err)\n\t}\n\treturn template.HTML(buf.String())\n}\n\nvar distTmplCache *template.Template\nvar distTmplOnce sync.Once\n\nfunc distTmpl() *template.Template {\n\tdistTmplOnce.Do(func() {\n\t\t// Input: data\n\t\tdistTmplCache = template.Must(template.New(\"distTmpl\").Parse(`\n<table>\n<tr>\n    <td style=\"padding:0.25em\">Count: {{.Count}}</td>\n    <td style=\"padding:0.25em\">Mean: {{printf \"%.0f\" .Mean}}</td>\n    <td style=\"padding:0.25em\">StdDev: {{printf \"%.0f\" .StandardDeviation}}</td>\n    <td style=\"padding:0.25em\">Median: {{.Median}}</td>\n</tr>\n</table>\n<hr>\n<table>\n{{range $b := .Buckets}}\n{{if $b}}\n  <tr>\n    <td style=\"padding:0 0 0 0.25em\">[</td>\n    <td style=\"text-align:right;padding:0 0.25em\">{{.Lower}},</td>\n    <td style=\"text-align:right;padding:0 0.25em\">{{.Upper}})</td>\n    <td style=\"text-align:right;padding:0 0.25em\">{{.N}}</td>\n    <td style=\"text-align:right;padding:0 0.25em\">{{printf \"%#.3f\" .Pct}}%</td>\n    <td style=\"text-align:right;padding:0 0.25em\">{{printf \"%#.3f\" .CumulativePct}}%</td>\n    <td><div style=\"background-color: blue; height: 1em; width: {{.GraphWidth}};\"></div></td>\n  </tr>\n{{end}}\n{{end}}\n</table>\n`))\n\t})\n\treturn distTmplCache\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/trace/trace.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n/*\nPackage trace implements tracing of requests and long-lived objects.\nIt exports HTTP interfaces on /debug/requests and /debug/events.\n\nA trace.Trace provides tracing for short-lived objects, usually requests.\nA request handler might be implemented like this:\n\n\tfunc fooHandler(w http.ResponseWriter, req *http.Request) {\n\t\ttr := trace.New(\"mypkg.Foo\", req.URL.Path)\n\t\tdefer tr.Finish()\n\t\t...\n\t\ttr.LazyPrintf(\"some event %q happened\", str)\n\t\t...\n\t\tif err := somethingImportant(); err != nil {\n\t\t\ttr.LazyPrintf(\"somethingImportant failed: %v\", err)\n\t\t\ttr.SetError()\n\t\t}\n\t}\n\nThe /debug/requests HTTP endpoint organizes the traces by family,\nerrors, and duration.  It also provides histogram of request duration\nfor each family.\n\nA trace.EventLog provides tracing for long-lived objects, such as RPC\nconnections.\n\n\t// A Fetcher fetches URL paths for a single domain.\n\ttype Fetcher struct {\n\t\tdomain string\n\t\tevents trace.EventLog\n\t}\n\n\tfunc NewFetcher(domain string) *Fetcher {\n\t\treturn &Fetcher{\n\t\t\tdomain,\n\t\t\ttrace.NewEventLog(\"mypkg.Fetcher\", domain),\n\t\t}\n\t}\n\n\tfunc (f *Fetcher) Fetch(path string) (string, error) {\n\t\tresp, err := http.Get(\"http://\" + f.domain + \"/\" + path)\n\t\tif err != nil {\n\t\t\tf.events.Errorf(\"Get(%q) = %v\", path, err)\n\t\t\treturn \"\", err\n\t\t}\n\t\tf.events.Printf(\"Get(%q) = %s\", path, resp.Status)\n\t\t...\n\t}\n\n\tfunc (f *Fetcher) Close() error {\n\t\tf.events.Finish()\n\t\treturn nil\n\t}\n\nThe /debug/events HTTP endpoint organizes the event logs by family and\nby time since the last error.  The expanded view displays recent log\nentries and the log's call stack.\n*/\npackage trace // import \"golang.org/x/net/trace\"\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"html/template\"\n\t\"io\"\n\t\"log\"\n\t\"net\"\n\t\"net/http\"\n\t\"net/url\"\n\t\"runtime\"\n\t\"sort\"\n\t\"strconv\"\n\t\"sync\"\n\t\"sync/atomic\"\n\t\"time\"\n\n\t\"golang.org/x/net/internal/timeseries\"\n)\n\n// DebugUseAfterFinish controls whether to debug uses of Trace values after finishing.\n// FOR DEBUGGING ONLY. This will slow down the program.\nvar DebugUseAfterFinish = false\n\n// AuthRequest determines whether a specific request is permitted to load the\n// /debug/requests or /debug/events pages.\n//\n// It returns two bools; the first indicates whether the page may be viewed at all,\n// and the second indicates whether sensitive events will be shown.\n//\n// AuthRequest may be replaced by a program to customize its authorization requirements.\n//\n// The default AuthRequest function returns (true, true) if and only if the request\n// comes from localhost/127.0.0.1/[::1].\nvar AuthRequest = func(req *http.Request) (any, sensitive bool) {\n\t// RemoteAddr is commonly in the form \"IP\" or \"IP:port\".\n\t// If it is in the form \"IP:port\", split off the port.\n\thost, _, err := net.SplitHostPort(req.RemoteAddr)\n\tif err != nil {\n\t\thost = req.RemoteAddr\n\t}\n\tswitch host {\n\tcase \"localhost\", \"127.0.0.1\", \"::1\":\n\t\treturn true, true\n\tdefault:\n\t\treturn false, false\n\t}\n}\n\nfunc init() {\n\t_, pat := http.DefaultServeMux.Handler(&http.Request{URL: &url.URL{Path: \"/debug/requests\"}})\n\tif pat != \"\" {\n\t\tpanic(\"/debug/requests is already registered. You may have two independent copies of \" +\n\t\t\t\"golang.org/x/net/trace in your binary, trying to maintain separate state. This may \" +\n\t\t\t\"involve a vendored copy of golang.org/x/net/trace.\")\n\t}\n\n\t// TODO(jbd): Serve Traces from /debug/traces in the future?\n\t// There is no requirement for a request to be present to have traces.\n\thttp.HandleFunc(\"/debug/requests\", Traces)\n\thttp.HandleFunc(\"/debug/events\", Events)\n}\n\n// Traces responds with traces from the program.\n// The package initialization registers it in http.DefaultServeMux\n// at /debug/requests.\n//\n// It performs authorization by running AuthRequest.\nfunc Traces(w http.ResponseWriter, req *http.Request) {\n\tany, sensitive := AuthRequest(req)\n\tif !any {\n\t\thttp.Error(w, \"not allowed\", http.StatusUnauthorized)\n\t\treturn\n\t}\n\tw.Header().Set(\"Content-Type\", \"text/html; charset=utf-8\")\n\tRender(w, req, sensitive)\n}\n\n// Events responds with a page of events collected by EventLogs.\n// The package initialization registers it in http.DefaultServeMux\n// at /debug/events.\n//\n// It performs authorization by running AuthRequest.\nfunc Events(w http.ResponseWriter, req *http.Request) {\n\tany, sensitive := AuthRequest(req)\n\tif !any {\n\t\thttp.Error(w, \"not allowed\", http.StatusUnauthorized)\n\t\treturn\n\t}\n\tw.Header().Set(\"Content-Type\", \"text/html; charset=utf-8\")\n\tRenderEvents(w, req, sensitive)\n}\n\n// Render renders the HTML page typically served at /debug/requests.\n// It does not do any auth checking. The request may be nil.\n//\n// Most users will use the Traces handler.\nfunc Render(w io.Writer, req *http.Request, sensitive bool) {\n\tdata := &struct {\n\t\tFamilies         []string\n\t\tActiveTraceCount map[string]int\n\t\tCompletedTraces  map[string]*family\n\n\t\t// Set when a bucket has been selected.\n\t\tTraces        traceList\n\t\tFamily        string\n\t\tBucket        int\n\t\tExpanded      bool\n\t\tTraced        bool\n\t\tActive        bool\n\t\tShowSensitive bool // whether to show sensitive events\n\n\t\tHistogram       template.HTML\n\t\tHistogramWindow string // e.g. \"last minute\", \"last hour\", \"all time\"\n\n\t\t// If non-zero, the set of traces is a partial set,\n\t\t// and this is the total number.\n\t\tTotal int\n\t}{\n\t\tCompletedTraces: completedTraces,\n\t}\n\n\tdata.ShowSensitive = sensitive\n\tif req != nil {\n\t\t// Allow show_sensitive=0 to force hiding of sensitive data for testing.\n\t\t// This only goes one way; you can't use show_sensitive=1 to see things.\n\t\tif req.FormValue(\"show_sensitive\") == \"0\" {\n\t\t\tdata.ShowSensitive = false\n\t\t}\n\n\t\tif exp, err := strconv.ParseBool(req.FormValue(\"exp\")); err == nil {\n\t\t\tdata.Expanded = exp\n\t\t}\n\t\tif exp, err := strconv.ParseBool(req.FormValue(\"rtraced\")); err == nil {\n\t\t\tdata.Traced = exp\n\t\t}\n\t}\n\n\tcompletedMu.RLock()\n\tdata.Families = make([]string, 0, len(completedTraces))\n\tfor fam := range completedTraces {\n\t\tdata.Families = append(data.Families, fam)\n\t}\n\tcompletedMu.RUnlock()\n\tsort.Strings(data.Families)\n\n\t// We are careful here to minimize the time spent locking activeMu,\n\t// since that lock is required every time an RPC starts and finishes.\n\tdata.ActiveTraceCount = make(map[string]int, len(data.Families))\n\tactiveMu.RLock()\n\tfor fam, s := range activeTraces {\n\t\tdata.ActiveTraceCount[fam] = s.Len()\n\t}\n\tactiveMu.RUnlock()\n\n\tvar ok bool\n\tdata.Family, data.Bucket, ok = parseArgs(req)\n\tswitch {\n\tcase !ok:\n\t\t// No-op\n\tcase data.Bucket == -1:\n\t\tdata.Active = true\n\t\tn := data.ActiveTraceCount[data.Family]\n\t\tdata.Traces = getActiveTraces(data.Family)\n\t\tif len(data.Traces) < n {\n\t\t\tdata.Total = n\n\t\t}\n\tcase data.Bucket < bucketsPerFamily:\n\t\tif b := lookupBucket(data.Family, data.Bucket); b != nil {\n\t\t\tdata.Traces = b.Copy(data.Traced)\n\t\t}\n\tdefault:\n\t\tif f := getFamily(data.Family, false); f != nil {\n\t\t\tvar obs timeseries.Observable\n\t\t\tf.LatencyMu.RLock()\n\t\t\tswitch o := data.Bucket - bucketsPerFamily; o {\n\t\t\tcase 0:\n\t\t\t\tobs = f.Latency.Minute()\n\t\t\t\tdata.HistogramWindow = \"last minute\"\n\t\t\tcase 1:\n\t\t\t\tobs = f.Latency.Hour()\n\t\t\t\tdata.HistogramWindow = \"last hour\"\n\t\t\tcase 2:\n\t\t\t\tobs = f.Latency.Total()\n\t\t\t\tdata.HistogramWindow = \"all time\"\n\t\t\t}\n\t\t\tf.LatencyMu.RUnlock()\n\t\t\tif obs != nil {\n\t\t\t\tdata.Histogram = obs.(*histogram).html()\n\t\t\t}\n\t\t}\n\t}\n\n\tif data.Traces != nil {\n\t\tdefer data.Traces.Free()\n\t\tsort.Sort(data.Traces)\n\t}\n\n\tcompletedMu.RLock()\n\tdefer completedMu.RUnlock()\n\tif err := pageTmpl().ExecuteTemplate(w, \"Page\", data); err != nil {\n\t\tlog.Printf(\"net/trace: Failed executing template: %v\", err)\n\t}\n}\n\nfunc parseArgs(req *http.Request) (fam string, b int, ok bool) {\n\tif req == nil {\n\t\treturn \"\", 0, false\n\t}\n\tfam, bStr := req.FormValue(\"fam\"), req.FormValue(\"b\")\n\tif fam == \"\" || bStr == \"\" {\n\t\treturn \"\", 0, false\n\t}\n\tb, err := strconv.Atoi(bStr)\n\tif err != nil || b < -1 {\n\t\treturn \"\", 0, false\n\t}\n\n\treturn fam, b, true\n}\n\nfunc lookupBucket(fam string, b int) *traceBucket {\n\tf := getFamily(fam, false)\n\tif f == nil || b < 0 || b >= len(f.Buckets) {\n\t\treturn nil\n\t}\n\treturn f.Buckets[b]\n}\n\ntype contextKeyT string\n\nvar contextKey = contextKeyT(\"golang.org/x/net/trace.Trace\")\n\n// Trace represents an active request.\ntype Trace interface {\n\t// LazyLog adds x to the event log. It will be evaluated each time the\n\t// /debug/requests page is rendered. Any memory referenced by x will be\n\t// pinned until the trace is finished and later discarded.\n\tLazyLog(x fmt.Stringer, sensitive bool)\n\n\t// LazyPrintf evaluates its arguments with fmt.Sprintf each time the\n\t// /debug/requests page is rendered. Any memory referenced by a will be\n\t// pinned until the trace is finished and later discarded.\n\tLazyPrintf(format string, a ...interface{})\n\n\t// SetError declares that this trace resulted in an error.\n\tSetError()\n\n\t// SetRecycler sets a recycler for the trace.\n\t// f will be called for each event passed to LazyLog at a time when\n\t// it is no longer required, whether while the trace is still active\n\t// and the event is discarded, or when a completed trace is discarded.\n\tSetRecycler(f func(interface{}))\n\n\t// SetTraceInfo sets the trace info for the trace.\n\t// This is currently unused.\n\tSetTraceInfo(traceID, spanID uint64)\n\n\t// SetMaxEvents sets the maximum number of events that will be stored\n\t// in the trace. This has no effect if any events have already been\n\t// added to the trace.\n\tSetMaxEvents(m int)\n\n\t// Finish declares that this trace is complete.\n\t// The trace should not be used after calling this method.\n\tFinish()\n}\n\ntype lazySprintf struct {\n\tformat string\n\ta      []interface{}\n}\n\nfunc (l *lazySprintf) String() string {\n\treturn fmt.Sprintf(l.format, l.a...)\n}\n\n// New returns a new Trace with the specified family and title.\nfunc New(family, title string) Trace {\n\ttr := newTrace()\n\ttr.ref()\n\ttr.Family, tr.Title = family, title\n\ttr.Start = time.Now()\n\ttr.maxEvents = maxEventsPerTrace\n\ttr.events = tr.eventsBuf[:0]\n\n\tactiveMu.RLock()\n\ts := activeTraces[tr.Family]\n\tactiveMu.RUnlock()\n\tif s == nil {\n\t\tactiveMu.Lock()\n\t\ts = activeTraces[tr.Family] // check again\n\t\tif s == nil {\n\t\t\ts = new(traceSet)\n\t\t\tactiveTraces[tr.Family] = s\n\t\t}\n\t\tactiveMu.Unlock()\n\t}\n\ts.Add(tr)\n\n\t// Trigger allocation of the completed trace structure for this family.\n\t// This will cause the family to be present in the request page during\n\t// the first trace of this family. We don't care about the return value,\n\t// nor is there any need for this to run inline, so we execute it in its\n\t// own goroutine, but only if the family isn't allocated yet.\n\tcompletedMu.RLock()\n\tif _, ok := completedTraces[tr.Family]; !ok {\n\t\tgo allocFamily(tr.Family)\n\t}\n\tcompletedMu.RUnlock()\n\n\treturn tr\n}\n\nfunc (tr *trace) Finish() {\n\telapsed := time.Now().Sub(tr.Start)\n\ttr.mu.Lock()\n\ttr.Elapsed = elapsed\n\ttr.mu.Unlock()\n\n\tif DebugUseAfterFinish {\n\t\tbuf := make([]byte, 4<<10) // 4 KB should be enough\n\t\tn := runtime.Stack(buf, false)\n\t\ttr.finishStack = buf[:n]\n\t}\n\n\tactiveMu.RLock()\n\tm := activeTraces[tr.Family]\n\tactiveMu.RUnlock()\n\tm.Remove(tr)\n\n\tf := getFamily(tr.Family, true)\n\ttr.mu.RLock() // protects tr fields in Cond.match calls\n\tfor _, b := range f.Buckets {\n\t\tif b.Cond.match(tr) {\n\t\t\tb.Add(tr)\n\t\t}\n\t}\n\ttr.mu.RUnlock()\n\n\t// Add a sample of elapsed time as microseconds to the family's timeseries\n\th := new(histogram)\n\th.addMeasurement(elapsed.Nanoseconds() / 1e3)\n\tf.LatencyMu.Lock()\n\tf.Latency.Add(h)\n\tf.LatencyMu.Unlock()\n\n\ttr.unref() // matches ref in New\n}\n\nconst (\n\tbucketsPerFamily    = 9\n\ttracesPerBucket     = 10\n\tmaxActiveTraces     = 20 // Maximum number of active traces to show.\n\tmaxEventsPerTrace   = 10\n\tnumHistogramBuckets = 38\n)\n\nvar (\n\t// The active traces.\n\tactiveMu     sync.RWMutex\n\tactiveTraces = make(map[string]*traceSet) // family -> traces\n\n\t// Families of completed traces.\n\tcompletedMu     sync.RWMutex\n\tcompletedTraces = make(map[string]*family) // family -> traces\n)\n\ntype traceSet struct {\n\tmu sync.RWMutex\n\tm  map[*trace]bool\n\n\t// We could avoid the entire map scan in FirstN by having a slice of all the traces\n\t// ordered by start time, and an index into that from the trace struct, with a periodic\n\t// repack of the slice after enough traces finish; we could also use a skip list or similar.\n\t// However, that would shift some of the expense from /debug/requests time to RPC time,\n\t// which is probably the wrong trade-off.\n}\n\nfunc (ts *traceSet) Len() int {\n\tts.mu.RLock()\n\tdefer ts.mu.RUnlock()\n\treturn len(ts.m)\n}\n\nfunc (ts *traceSet) Add(tr *trace) {\n\tts.mu.Lock()\n\tif ts.m == nil {\n\t\tts.m = make(map[*trace]bool)\n\t}\n\tts.m[tr] = true\n\tts.mu.Unlock()\n}\n\nfunc (ts *traceSet) Remove(tr *trace) {\n\tts.mu.Lock()\n\tdelete(ts.m, tr)\n\tts.mu.Unlock()\n}\n\n// FirstN returns the first n traces ordered by time.\nfunc (ts *traceSet) FirstN(n int) traceList {\n\tts.mu.RLock()\n\tdefer ts.mu.RUnlock()\n\n\tif n > len(ts.m) {\n\t\tn = len(ts.m)\n\t}\n\ttrl := make(traceList, 0, n)\n\n\t// Fast path for when no selectivity is needed.\n\tif n == len(ts.m) {\n\t\tfor tr := range ts.m {\n\t\t\ttr.ref()\n\t\t\ttrl = append(trl, tr)\n\t\t}\n\t\tsort.Sort(trl)\n\t\treturn trl\n\t}\n\n\t// Pick the oldest n traces.\n\t// This is inefficient. See the comment in the traceSet struct.\n\tfor tr := range ts.m {\n\t\t// Put the first n traces into trl in the order they occur.\n\t\t// When we have n, sort trl, and thereafter maintain its order.\n\t\tif len(trl) < n {\n\t\t\ttr.ref()\n\t\t\ttrl = append(trl, tr)\n\t\t\tif len(trl) == n {\n\t\t\t\t// This is guaranteed to happen exactly once during this loop.\n\t\t\t\tsort.Sort(trl)\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\t\tif tr.Start.After(trl[n-1].Start) {\n\t\t\tcontinue\n\t\t}\n\n\t\t// Find where to insert this one.\n\t\ttr.ref()\n\t\ti := sort.Search(n, func(i int) bool { return trl[i].Start.After(tr.Start) })\n\t\ttrl[n-1].unref()\n\t\tcopy(trl[i+1:], trl[i:])\n\t\ttrl[i] = tr\n\t}\n\n\treturn trl\n}\n\nfunc getActiveTraces(fam string) traceList {\n\tactiveMu.RLock()\n\ts := activeTraces[fam]\n\tactiveMu.RUnlock()\n\tif s == nil {\n\t\treturn nil\n\t}\n\treturn s.FirstN(maxActiveTraces)\n}\n\nfunc getFamily(fam string, allocNew bool) *family {\n\tcompletedMu.RLock()\n\tf := completedTraces[fam]\n\tcompletedMu.RUnlock()\n\tif f == nil && allocNew {\n\t\tf = allocFamily(fam)\n\t}\n\treturn f\n}\n\nfunc allocFamily(fam string) *family {\n\tcompletedMu.Lock()\n\tdefer completedMu.Unlock()\n\tf := completedTraces[fam]\n\tif f == nil {\n\t\tf = newFamily()\n\t\tcompletedTraces[fam] = f\n\t}\n\treturn f\n}\n\n// family represents a set of trace buckets and associated latency information.\ntype family struct {\n\t// traces may occur in multiple buckets.\n\tBuckets [bucketsPerFamily]*traceBucket\n\n\t// latency time series\n\tLatencyMu sync.RWMutex\n\tLatency   *timeseries.MinuteHourSeries\n}\n\nfunc newFamily() *family {\n\treturn &family{\n\t\tBuckets: [bucketsPerFamily]*traceBucket{\n\t\t\t{Cond: minCond(0)},\n\t\t\t{Cond: minCond(50 * time.Millisecond)},\n\t\t\t{Cond: minCond(100 * time.Millisecond)},\n\t\t\t{Cond: minCond(200 * time.Millisecond)},\n\t\t\t{Cond: minCond(500 * time.Millisecond)},\n\t\t\t{Cond: minCond(1 * time.Second)},\n\t\t\t{Cond: minCond(10 * time.Second)},\n\t\t\t{Cond: minCond(100 * time.Second)},\n\t\t\t{Cond: errorCond{}},\n\t\t},\n\t\tLatency: timeseries.NewMinuteHourSeries(func() timeseries.Observable { return new(histogram) }),\n\t}\n}\n\n// traceBucket represents a size-capped bucket of historic traces,\n// along with a condition for a trace to belong to the bucket.\ntype traceBucket struct {\n\tCond cond\n\n\t// Ring buffer implementation of a fixed-size FIFO queue.\n\tmu     sync.RWMutex\n\tbuf    [tracesPerBucket]*trace\n\tstart  int // < tracesPerBucket\n\tlength int // <= tracesPerBucket\n}\n\nfunc (b *traceBucket) Add(tr *trace) {\n\tb.mu.Lock()\n\tdefer b.mu.Unlock()\n\n\ti := b.start + b.length\n\tif i >= tracesPerBucket {\n\t\ti -= tracesPerBucket\n\t}\n\tif b.length == tracesPerBucket {\n\t\t// \"Remove\" an element from the bucket.\n\t\tb.buf[i].unref()\n\t\tb.start++\n\t\tif b.start == tracesPerBucket {\n\t\t\tb.start = 0\n\t\t}\n\t}\n\tb.buf[i] = tr\n\tif b.length < tracesPerBucket {\n\t\tb.length++\n\t}\n\ttr.ref()\n}\n\n// Copy returns a copy of the traces in the bucket.\n// If tracedOnly is true, only the traces with trace information will be returned.\n// The logs will be ref'd before returning; the caller should call\n// the Free method when it is done with them.\n// TODO(dsymonds): keep track of traced requests in separate buckets.\nfunc (b *traceBucket) Copy(tracedOnly bool) traceList {\n\tb.mu.RLock()\n\tdefer b.mu.RUnlock()\n\n\ttrl := make(traceList, 0, b.length)\n\tfor i, x := 0, b.start; i < b.length; i++ {\n\t\ttr := b.buf[x]\n\t\tif !tracedOnly || tr.spanID != 0 {\n\t\t\ttr.ref()\n\t\t\ttrl = append(trl, tr)\n\t\t}\n\t\tx++\n\t\tif x == b.length {\n\t\t\tx = 0\n\t\t}\n\t}\n\treturn trl\n}\n\nfunc (b *traceBucket) Empty() bool {\n\tb.mu.RLock()\n\tdefer b.mu.RUnlock()\n\treturn b.length == 0\n}\n\n// cond represents a condition on a trace.\ntype cond interface {\n\tmatch(t *trace) bool\n\tString() string\n}\n\ntype minCond time.Duration\n\nfunc (m minCond) match(t *trace) bool { return t.Elapsed >= time.Duration(m) }\nfunc (m minCond) String() string      { return fmt.Sprintf(\"≥%gs\", time.Duration(m).Seconds()) }\n\ntype errorCond struct{}\n\nfunc (e errorCond) match(t *trace) bool { return t.IsError }\nfunc (e errorCond) String() string      { return \"errors\" }\n\ntype traceList []*trace\n\n// Free calls unref on each element of the list.\nfunc (trl traceList) Free() {\n\tfor _, t := range trl {\n\t\tt.unref()\n\t}\n}\n\n// traceList may be sorted in reverse chronological order.\nfunc (trl traceList) Len() int           { return len(trl) }\nfunc (trl traceList) Less(i, j int) bool { return trl[i].Start.After(trl[j].Start) }\nfunc (trl traceList) Swap(i, j int)      { trl[i], trl[j] = trl[j], trl[i] }\n\n// An event is a timestamped log entry in a trace.\ntype event struct {\n\tWhen       time.Time\n\tElapsed    time.Duration // since previous event in trace\n\tNewDay     bool          // whether this event is on a different day to the previous event\n\tRecyclable bool          // whether this event was passed via LazyLog\n\tSensitive  bool          // whether this event contains sensitive information\n\tWhat       interface{}   // string or fmt.Stringer\n}\n\n// WhenString returns a string representation of the elapsed time of the event.\n// It will include the date if midnight was crossed.\nfunc (e event) WhenString() string {\n\tif e.NewDay {\n\t\treturn e.When.Format(\"2006/01/02 15:04:05.000000\")\n\t}\n\treturn e.When.Format(\"15:04:05.000000\")\n}\n\n// discarded represents a number of discarded events.\n// It is stored as *discarded to make it easier to update in-place.\ntype discarded int\n\nfunc (d *discarded) String() string {\n\treturn fmt.Sprintf(\"(%d events discarded)\", int(*d))\n}\n\n// trace represents an active or complete request,\n// either sent or received by this program.\ntype trace struct {\n\t// Family is the top-level grouping of traces to which this belongs.\n\tFamily string\n\n\t// Title is the title of this trace.\n\tTitle string\n\n\t// Start time of the this trace.\n\tStart time.Time\n\n\tmu        sync.RWMutex\n\tevents    []event // Append-only sequence of events (modulo discards).\n\tmaxEvents int\n\trecycler  func(interface{})\n\tIsError   bool          // Whether this trace resulted in an error.\n\tElapsed   time.Duration // Elapsed time for this trace, zero while active.\n\ttraceID   uint64        // Trace information if non-zero.\n\tspanID    uint64\n\n\trefs int32     // how many buckets this is in\n\tdisc discarded // scratch space to avoid allocation\n\n\tfinishStack []byte // where finish was called, if DebugUseAfterFinish is set\n\n\teventsBuf [4]event // preallocated buffer in case we only log a few events\n}\n\nfunc (tr *trace) reset() {\n\t// Clear all but the mutex. Mutexes may not be copied, even when unlocked.\n\ttr.Family = \"\"\n\ttr.Title = \"\"\n\ttr.Start = time.Time{}\n\n\ttr.mu.Lock()\n\ttr.Elapsed = 0\n\ttr.traceID = 0\n\ttr.spanID = 0\n\ttr.IsError = false\n\ttr.maxEvents = 0\n\ttr.events = nil\n\ttr.recycler = nil\n\ttr.mu.Unlock()\n\n\ttr.refs = 0\n\ttr.disc = 0\n\ttr.finishStack = nil\n\tfor i := range tr.eventsBuf {\n\t\ttr.eventsBuf[i] = event{}\n\t}\n}\n\n// delta returns the elapsed time since the last event or the trace start,\n// and whether it spans midnight.\n// L >= tr.mu\nfunc (tr *trace) delta(t time.Time) (time.Duration, bool) {\n\tif len(tr.events) == 0 {\n\t\treturn t.Sub(tr.Start), false\n\t}\n\tprev := tr.events[len(tr.events)-1].When\n\treturn t.Sub(prev), prev.Day() != t.Day()\n}\n\nfunc (tr *trace) addEvent(x interface{}, recyclable, sensitive bool) {\n\tif DebugUseAfterFinish && tr.finishStack != nil {\n\t\tbuf := make([]byte, 4<<10) // 4 KB should be enough\n\t\tn := runtime.Stack(buf, false)\n\t\tlog.Printf(\"net/trace: trace used after finish:\\nFinished at:\\n%s\\nUsed at:\\n%s\", tr.finishStack, buf[:n])\n\t}\n\n\t/*\n\t\tNOTE TO DEBUGGERS\n\n\t\tIf you are here because your program panicked in this code,\n\t\tit is almost definitely the fault of code using this package,\n\t\tand very unlikely to be the fault of this code.\n\n\t\tThe most likely scenario is that some code elsewhere is using\n\t\ta trace.Trace after its Finish method is called.\n\t\tYou can temporarily set the DebugUseAfterFinish var\n\t\tto help discover where that is; do not leave that var set,\n\t\tsince it makes this package much less efficient.\n\t*/\n\n\te := event{When: time.Now(), What: x, Recyclable: recyclable, Sensitive: sensitive}\n\ttr.mu.Lock()\n\te.Elapsed, e.NewDay = tr.delta(e.When)\n\tif len(tr.events) < tr.maxEvents {\n\t\ttr.events = append(tr.events, e)\n\t} else {\n\t\t// Discard the middle events.\n\t\tdi := int((tr.maxEvents - 1) / 2)\n\t\tif d, ok := tr.events[di].What.(*discarded); ok {\n\t\t\t(*d)++\n\t\t} else {\n\t\t\t// disc starts at two to count for the event it is replacing,\n\t\t\t// plus the next one that we are about to drop.\n\t\t\ttr.disc = 2\n\t\t\tif tr.recycler != nil && tr.events[di].Recyclable {\n\t\t\t\tgo tr.recycler(tr.events[di].What)\n\t\t\t}\n\t\t\ttr.events[di].What = &tr.disc\n\t\t}\n\t\t// The timestamp of the discarded meta-event should be\n\t\t// the time of the last event it is representing.\n\t\ttr.events[di].When = tr.events[di+1].When\n\n\t\tif tr.recycler != nil && tr.events[di+1].Recyclable {\n\t\t\tgo tr.recycler(tr.events[di+1].What)\n\t\t}\n\t\tcopy(tr.events[di+1:], tr.events[di+2:])\n\t\ttr.events[tr.maxEvents-1] = e\n\t}\n\ttr.mu.Unlock()\n}\n\nfunc (tr *trace) LazyLog(x fmt.Stringer, sensitive bool) {\n\ttr.addEvent(x, true, sensitive)\n}\n\nfunc (tr *trace) LazyPrintf(format string, a ...interface{}) {\n\ttr.addEvent(&lazySprintf{format, a}, false, false)\n}\n\nfunc (tr *trace) SetError() {\n\ttr.mu.Lock()\n\ttr.IsError = true\n\ttr.mu.Unlock()\n}\n\nfunc (tr *trace) SetRecycler(f func(interface{})) {\n\ttr.mu.Lock()\n\ttr.recycler = f\n\ttr.mu.Unlock()\n}\n\nfunc (tr *trace) SetTraceInfo(traceID, spanID uint64) {\n\ttr.mu.Lock()\n\ttr.traceID, tr.spanID = traceID, spanID\n\ttr.mu.Unlock()\n}\n\nfunc (tr *trace) SetMaxEvents(m int) {\n\ttr.mu.Lock()\n\t// Always keep at least three events: first, discarded count, last.\n\tif len(tr.events) == 0 && m > 3 {\n\t\ttr.maxEvents = m\n\t}\n\ttr.mu.Unlock()\n}\n\nfunc (tr *trace) ref() {\n\tatomic.AddInt32(&tr.refs, 1)\n}\n\nfunc (tr *trace) unref() {\n\tif atomic.AddInt32(&tr.refs, -1) == 0 {\n\t\ttr.mu.RLock()\n\t\tif tr.recycler != nil {\n\t\t\t// freeTrace clears tr, so we hold tr.recycler and tr.events here.\n\t\t\tgo func(f func(interface{}), es []event) {\n\t\t\t\tfor _, e := range es {\n\t\t\t\t\tif e.Recyclable {\n\t\t\t\t\t\tf(e.What)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}(tr.recycler, tr.events)\n\t\t}\n\t\ttr.mu.RUnlock()\n\n\t\tfreeTrace(tr)\n\t}\n}\n\nfunc (tr *trace) When() string {\n\treturn tr.Start.Format(\"2006/01/02 15:04:05.000000\")\n}\n\nfunc (tr *trace) ElapsedTime() string {\n\ttr.mu.RLock()\n\tt := tr.Elapsed\n\ttr.mu.RUnlock()\n\n\tif t == 0 {\n\t\t// Active trace.\n\t\tt = time.Since(tr.Start)\n\t}\n\treturn fmt.Sprintf(\"%.6f\", t.Seconds())\n}\n\nfunc (tr *trace) Events() []event {\n\ttr.mu.RLock()\n\tdefer tr.mu.RUnlock()\n\treturn tr.events\n}\n\nvar traceFreeList = make(chan *trace, 1000) // TODO(dsymonds): Use sync.Pool?\n\n// newTrace returns a trace ready to use.\nfunc newTrace() *trace {\n\tselect {\n\tcase tr := <-traceFreeList:\n\t\treturn tr\n\tdefault:\n\t\treturn new(trace)\n\t}\n}\n\n// freeTrace adds tr to traceFreeList if there's room.\n// This is non-blocking.\nfunc freeTrace(tr *trace) {\n\tif DebugUseAfterFinish {\n\t\treturn // never reuse\n\t}\n\ttr.reset()\n\tselect {\n\tcase traceFreeList <- tr:\n\tdefault:\n\t}\n}\n\nfunc elapsed(d time.Duration) string {\n\tb := []byte(fmt.Sprintf(\"%.6f\", d.Seconds()))\n\n\t// For subsecond durations, blank all zeros before decimal point,\n\t// and all zeros between the decimal point and the first non-zero digit.\n\tif d < time.Second {\n\t\tdot := bytes.IndexByte(b, '.')\n\t\tfor i := 0; i < dot; i++ {\n\t\t\tb[i] = ' '\n\t\t}\n\t\tfor i := dot + 1; i < len(b); i++ {\n\t\t\tif b[i] == '0' {\n\t\t\t\tb[i] = ' '\n\t\t\t} else {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n\n\treturn string(b)\n}\n\nvar pageTmplCache *template.Template\nvar pageTmplOnce sync.Once\n\nfunc pageTmpl() *template.Template {\n\tpageTmplOnce.Do(func() {\n\t\tpageTmplCache = template.Must(template.New(\"Page\").Funcs(template.FuncMap{\n\t\t\t\"elapsed\": elapsed,\n\t\t\t\"add\":     func(a, b int) int { return a + b },\n\t\t}).Parse(pageHTML))\n\t})\n\treturn pageTmplCache\n}\n\nconst pageHTML = `\n{{template \"Prolog\" .}}\n{{template \"StatusTable\" .}}\n{{template \"Epilog\" .}}\n\n{{define \"Prolog\"}}\n<html>\n\t<head>\n\t<title>/debug/requests</title>\n\t<style type=\"text/css\">\n\t\tbody {\n\t\t\tfont-family: sans-serif;\n\t\t}\n\t\ttable#tr-status td.family {\n\t\t\tpadding-right: 2em;\n\t\t}\n\t\ttable#tr-status td.active {\n\t\t\tpadding-right: 1em;\n\t\t}\n\t\ttable#tr-status td.latency-first {\n\t\t\tpadding-left: 1em;\n\t\t}\n\t\ttable#tr-status td.empty {\n\t\t\tcolor: #aaa;\n\t\t}\n\t\ttable#reqs {\n\t\t\tmargin-top: 1em;\n\t\t}\n\t\ttable#reqs tr.first {\n\t\t\t{{if $.Expanded}}font-weight: bold;{{end}}\n\t\t}\n\t\ttable#reqs td {\n\t\t\tfont-family: monospace;\n\t\t}\n\t\ttable#reqs td.when {\n\t\t\ttext-align: right;\n\t\t\twhite-space: nowrap;\n\t\t}\n\t\ttable#reqs td.elapsed {\n\t\t\tpadding: 0 0.5em;\n\t\t\ttext-align: right;\n\t\t\twhite-space: pre;\n\t\t\twidth: 10em;\n\t\t}\n\t\taddress {\n\t\t\tfont-size: smaller;\n\t\t\tmargin-top: 5em;\n\t\t}\n\t</style>\n\t</head>\n\t<body>\n\n<h1>/debug/requests</h1>\n{{end}} {{/* end of Prolog */}}\n\n{{define \"StatusTable\"}}\n<table id=\"tr-status\">\n\t{{range $fam := .Families}}\n\t<tr>\n\t\t<td class=\"family\">{{$fam}}</td>\n\n\t\t{{$n := index $.ActiveTraceCount $fam}}\n\t\t<td class=\"active {{if not $n}}empty{{end}}\">\n\t\t\t{{if $n}}<a href=\"?fam={{$fam}}&b=-1{{if $.Expanded}}&exp=1{{end}}\">{{end}}\n\t\t\t[{{$n}} active]\n\t\t\t{{if $n}}</a>{{end}}\n\t\t</td>\n\n\t\t{{$f := index $.CompletedTraces $fam}}\n\t\t{{range $i, $b := $f.Buckets}}\n\t\t{{$empty := $b.Empty}}\n\t\t<td {{if $empty}}class=\"empty\"{{end}}>\n\t\t{{if not $empty}}<a href=\"?fam={{$fam}}&b={{$i}}{{if $.Expanded}}&exp=1{{end}}\">{{end}}\n\t\t[{{.Cond}}]\n\t\t{{if not $empty}}</a>{{end}}\n\t\t</td>\n\t\t{{end}}\n\n\t\t{{$nb := len $f.Buckets}}\n\t\t<td class=\"latency-first\">\n\t\t<a href=\"?fam={{$fam}}&b={{$nb}}\">[minute]</a>\n\t\t</td>\n\t\t<td>\n\t\t<a href=\"?fam={{$fam}}&b={{add $nb 1}}\">[hour]</a>\n\t\t</td>\n\t\t<td>\n\t\t<a href=\"?fam={{$fam}}&b={{add $nb 2}}\">[total]</a>\n\t\t</td>\n\n\t</tr>\n\t{{end}}\n</table>\n{{end}} {{/* end of StatusTable */}}\n\n{{define \"Epilog\"}}\n{{if $.Traces}}\n<hr />\n<h3>Family: {{$.Family}}</h3>\n\n{{if or $.Expanded $.Traced}}\n  <a href=\"?fam={{$.Family}}&b={{$.Bucket}}\">[Normal/Summary]</a>\n{{else}}\n  [Normal/Summary]\n{{end}}\n\n{{if or (not $.Expanded) $.Traced}}\n  <a href=\"?fam={{$.Family}}&b={{$.Bucket}}&exp=1\">[Normal/Expanded]</a>\n{{else}}\n  [Normal/Expanded]\n{{end}}\n\n{{if not $.Active}}\n\t{{if or $.Expanded (not $.Traced)}}\n\t<a href=\"?fam={{$.Family}}&b={{$.Bucket}}&rtraced=1\">[Traced/Summary]</a>\n\t{{else}}\n\t[Traced/Summary]\n\t{{end}}\n\t{{if or (not $.Expanded) (not $.Traced)}}\n\t<a href=\"?fam={{$.Family}}&b={{$.Bucket}}&exp=1&rtraced=1\">[Traced/Expanded]</a>\n        {{else}}\n\t[Traced/Expanded]\n\t{{end}}\n{{end}}\n\n{{if $.Total}}\n<p><em>Showing <b>{{len $.Traces}}</b> of <b>{{$.Total}}</b> traces.</em></p>\n{{end}}\n\n<table id=\"reqs\">\n\t<caption>\n\t\t{{if $.Active}}Active{{else}}Completed{{end}} Requests\n\t</caption>\n\t<tr><th>When</th><th>Elapsed&nbsp;(s)</th></tr>\n\t{{range $tr := $.Traces}}\n\t<tr class=\"first\">\n\t\t<td class=\"when\">{{$tr.When}}</td>\n\t\t<td class=\"elapsed\">{{$tr.ElapsedTime}}</td>\n\t\t<td>{{$tr.Title}}</td>\n\t\t{{/* TODO: include traceID/spanID */}}\n\t</tr>\n\t{{if $.Expanded}}\n\t{{range $tr.Events}}\n\t<tr>\n\t\t<td class=\"when\">{{.WhenString}}</td>\n\t\t<td class=\"elapsed\">{{elapsed .Elapsed}}</td>\n\t\t<td>{{if or $.ShowSensitive (not .Sensitive)}}... {{.What}}{{else}}<em>[redacted]</em>{{end}}</td>\n\t</tr>\n\t{{end}}\n\t{{end}}\n\t{{end}}\n</table>\n{{end}} {{/* if $.Traces */}}\n\n{{if $.Histogram}}\n<h4>Latency (&micro;s) of {{$.Family}} over {{$.HistogramWindow}}</h4>\n{{$.Histogram}}\n{{end}} {{/* if $.Histogram */}}\n\n\t</body>\n</html>\n{{end}} {{/* end of Epilog */}}\n`\n"
  },
  {
    "path": "vendor/golang.org/x/net/trace/trace_go16.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !go1.7\n\npackage trace\n\nimport \"golang.org/x/net/context\"\n\n// NewContext returns a copy of the parent context\n// and associates it with a Trace.\nfunc NewContext(ctx context.Context, tr Trace) context.Context {\n\treturn context.WithValue(ctx, contextKey, tr)\n}\n\n// FromContext returns the Trace bound to the context, if any.\nfunc FromContext(ctx context.Context) (tr Trace, ok bool) {\n\ttr, ok = ctx.Value(contextKey).(Trace)\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/net/trace/trace_go17.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build go1.7\n\npackage trace\n\nimport \"context\"\n\n// NewContext returns a copy of the parent context\n// and associates it with a Trace.\nfunc NewContext(ctx context.Context, tr Trace) context.Context {\n\treturn context.WithValue(ctx, contextKey, tr)\n}\n\n// FromContext returns the Trace bound to the context, if any.\nfunc FromContext(ctx context.Context) (tr Trace, ok bool) {\n\ttr, ok = ctx.Value(contextKey).(Trace)\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/AUTHORS",
    "content": "# This source code refers to The Go Authors for copyright purposes.\n# The master list of authors is in the main Go distribution,\n# visible at http://tip.golang.org/AUTHORS.\n"
  },
  {
    "path": "vendor/golang.org/x/sys/CONTRIBUTORS",
    "content": "# This source code was written by the Go contributors.\n# The master list of contributors is in the main Go distribution,\n# visible at http://tip.golang.org/CONTRIBUTORS.\n"
  },
  {
    "path": "vendor/golang.org/x/sys/LICENSE",
    "content": "Copyright (c) 2009 The Go Authors. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n   * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n   * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n   * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
  },
  {
    "path": "vendor/golang.org/x/sys/PATENTS",
    "content": "Additional IP Rights Grant (Patents)\n\n\"This implementation\" means the copyrightable works distributed by\nGoogle as part of the Go project.\n\nGoogle hereby grants to You a perpetual, worldwide, non-exclusive,\nno-charge, royalty-free, irrevocable (except as stated in this section)\npatent license to make, have made, use, offer to sell, sell, import,\ntransfer and otherwise run, modify and propagate the contents of this\nimplementation of Go, where such license applies only to those patent\nclaims, both currently owned or controlled by Google and acquired in\nthe future, licensable by Google that are necessarily infringed by this\nimplementation of Go.  This grant does not include claims that would be\ninfringed only as a consequence of further modification of this\nimplementation.  If you or your agent or exclusive licensee institute or\norder or agree to the institution of patent litigation against any\nentity (including a cross-claim or counterclaim in a lawsuit) alleging\nthat this implementation of Go or any code incorporated within this\nimplementation of Go constitutes direct or contributory patent\ninfringement, or inducement of patent infringement, then any patent\nrights granted to you under this License for this implementation of Go\nshall terminate as of the date such litigation is filed.\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/.gitignore",
    "content": "_obj/\nunix.test\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/README.md",
    "content": "# Building `sys/unix`\n\nThe sys/unix package provides access to the raw system call interface of the\nunderlying operating system. See: https://godoc.org/golang.org/x/sys/unix\n\nPorting Go to a new architecture/OS combination or adding syscalls, types, or\nconstants to an existing architecture/OS pair requires some manual effort;\nhowever, there are tools that automate much of the process.\n\n## Build Systems\n\nThere are currently two ways we generate the necessary files. We are currently\nmigrating the build system to use containers so the builds are reproducible.\nThis is being done on an OS-by-OS basis. Please update this documentation as\ncomponents of the build system change.\n\n### Old Build System (currently for `GOOS != \"Linux\" || GOARCH == \"sparc64\"`)\n\nThe old build system generates the Go files based on the C header files\npresent on your system. This means that files\nfor a given GOOS/GOARCH pair must be generated on a system with that OS and\narchitecture. This also means that the generated code can differ from system\nto system, based on differences in the header files.\n\nTo avoid this, if you are using the old build system, only generate the Go\nfiles on an installation with unmodified header files. It is also important to\nkeep track of which version of the OS the files were generated from (ex.\nDarwin 14 vs Darwin 15). This makes it easier to track the progress of changes\nand have each OS upgrade correspond to a single change.\n\nTo build the files for your current OS and architecture, make sure GOOS and\nGOARCH are set correctly and run `mkall.sh`. This will generate the files for\nyour specific system. Running `mkall.sh -n` shows the commands that will be run.\n\nRequirements: bash, perl, go\n\n### New Build System (currently for `GOOS == \"Linux\" && GOARCH != \"sparc64\"`)\n\nThe new build system uses a Docker container to generate the go files directly\nfrom source checkouts of the kernel and various system libraries. This means\nthat on any platform that supports Docker, all the files using the new build\nsystem can be generated at once, and generated files will not change based on\nwhat the person running the scripts has installed on their computer.\n\nThe OS specific files for the new build system are located in the `${GOOS}`\ndirectory, and the build is coordinated by the `${GOOS}/mkall.go` program. When\nthe kernel or system library updates, modify the Dockerfile at\n`${GOOS}/Dockerfile` to checkout the new release of the source.\n\nTo build all the files under the new build system, you must be on an amd64/Linux\nsystem and have your GOOS and GOARCH set accordingly. Running `mkall.sh` will\nthen generate all of the files for all of the GOOS/GOARCH pairs in the new build\nsystem. Running `mkall.sh -n` shows the commands that will be run.\n\nRequirements: bash, perl, go, docker\n\n## Component files\n\nThis section describes the various files used in the code generation process.\nIt also contains instructions on how to modify these files to add a new\narchitecture/OS or to add additional syscalls, types, or constants. Note that\nif you are using the new build system, the scripts cannot be called normally.\nThey must be called from within the docker container.\n\n### asm files\n\nThe hand-written assembly file at `asm_${GOOS}_${GOARCH}.s` implements system\ncall dispatch. There are three entry points:\n```\n  func Syscall(trap, a1, a2, a3 uintptr) (r1, r2, err uintptr)\n  func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, err uintptr)\n  func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2, err uintptr)\n```\nThe first and second are the standard ones; they differ only in how many\narguments can be passed to the kernel. The third is for low-level use by the\nForkExec wrapper. Unlike the first two, it does not call into the scheduler to\nlet it know that a system call is running.\n\nWhen porting Go to an new architecture/OS, this file must be implemented for\neach GOOS/GOARCH pair.\n\n### mksysnum\n\nMksysnum is a script located at `${GOOS}/mksysnum.pl` (or `mksysnum_${GOOS}.pl`\nfor the old system). This script takes in a list of header files containing the\nsyscall number declarations and parses them to produce the corresponding list of\nGo numeric constants. See `zsysnum_${GOOS}_${GOARCH}.go` for the generated\nconstants.\n\nAdding new syscall numbers is mostly done by running the build on a sufficiently\nnew installation of the target OS (or updating the source checkouts for the\nnew build system). However, depending on the OS, you make need to update the\nparsing in mksysnum.\n\n### mksyscall.pl\n\nThe `syscall.go`, `syscall_${GOOS}.go`, `syscall_${GOOS}_${GOARCH}.go` are\nhand-written Go files which implement system calls (for unix, the specific OS,\nor the specific OS/Architecture pair respectively) that need special handling\nand list `//sys` comments giving prototypes for ones that can be generated.\n\nThe mksyscall.pl script takes the `//sys` and `//sysnb` comments and converts\nthem into syscalls. This requires the name of the prototype in the comment to\nmatch a syscall number in the `zsysnum_${GOOS}_${GOARCH}.go` file. The function\nprototype can be exported (capitalized) or not.\n\nAdding a new syscall often just requires adding a new `//sys` function prototype\nwith the desired arguments and a capitalized name so it is exported. However, if\nyou want the interface to the syscall to be different, often one will make an\nunexported `//sys` prototype, an then write a custom wrapper in\n`syscall_${GOOS}.go`.\n\n### types files\n\nFor each OS, there is a hand-written Go file at `${GOOS}/types.go` (or\n`types_${GOOS}.go` on the old system). This file includes standard C headers and\ncreates Go type aliases to the corresponding C types. The file is then fed\nthrough godef to get the Go compatible definitions. Finally, the generated code\nis fed though mkpost.go to format the code correctly and remove any hidden or\nprivate identifiers. This cleaned-up code is written to\n`ztypes_${GOOS}_${GOARCH}.go`.\n\nThe hardest part about preparing this file is figuring out which headers to\ninclude and which symbols need to be `#define`d to get the actual data\nstructures that pass through to the kernel system calls. Some C libraries\npreset alternate versions for binary compatibility and translate them on the\nway in and out of system calls, but there is almost always a `#define` that can\nget the real ones.\nSee `types_darwin.go` and `linux/types.go` for examples.\n\nTo add a new type, add in the necessary include statement at the top of the\nfile (if it is not already there) and add in a type alias line. Note that if\nyour type is significantly different on different architectures, you may need\nsome `#if/#elif` macros in your include statements.\n\n### mkerrors.sh\n\nThis script is used to generate the system's various constants. This doesn't\njust include the error numbers and error strings, but also the signal numbers\nan a wide variety of miscellaneous constants. The constants come from the list\nof include files in the `includes_${uname}` variable. A regex then picks out\nthe desired `#define` statements, and generates the corresponding Go constants.\nThe error numbers and strings are generated from `#include <errno.h>`, and the\nsignal numbers and strings are generated from `#include <signal.h>`. All of\nthese constants are written to `zerrors_${GOOS}_${GOARCH}.go` via a C program,\n`_errors.c`, which prints out all the constants.\n\nTo add a constant, add the header that includes it to the appropriate variable.\nThen, edit the regex (if necessary) to match the desired constant. Avoid making\nthe regex too broad to avoid matching unintended constants.\n\n\n## Generated files\n\n### `zerror_${GOOS}_${GOARCH}.go`\n\nA file containing all of the system's generated error numbers, error strings,\nsignal numbers, and constants. Generated by `mkerrors.sh` (see above).\n\n### `zsyscall_${GOOS}_${GOARCH}.go`\n\nA file containing all the generated syscalls for a specific GOOS and GOARCH.\nGenerated by `mksyscall.pl` (see above).\n\n### `zsysnum_${GOOS}_${GOARCH}.go`\n\nA list of numeric constants for all the syscall number of the specific GOOS\nand GOARCH. Generated by mksysnum (see above).\n\n### `ztypes_${GOOS}_${GOARCH}.go`\n\nA file containing Go types for passing into (or returning from) syscalls.\nGenerated by godefs and the types file (see above).\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/affinity_linux.go",
    "content": "// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// CPU affinity functions\n\npackage unix\n\nimport (\n\t\"unsafe\"\n)\n\nconst cpuSetSize = _CPU_SETSIZE / _NCPUBITS\n\n// CPUSet represents a CPU affinity mask.\ntype CPUSet [cpuSetSize]cpuMask\n\nfunc schedAffinity(trap uintptr, pid int, set *CPUSet) error {\n\t_, _, e := RawSyscall(trap, uintptr(pid), uintptr(unsafe.Sizeof(*set)), uintptr(unsafe.Pointer(set)))\n\tif e != 0 {\n\t\treturn errnoErr(e)\n\t}\n\treturn nil\n}\n\n// SchedGetaffinity gets the CPU affinity mask of the thread specified by pid.\n// If pid is 0 the calling thread is used.\nfunc SchedGetaffinity(pid int, set *CPUSet) error {\n\treturn schedAffinity(SYS_SCHED_GETAFFINITY, pid, set)\n}\n\n// SchedSetaffinity sets the CPU affinity mask of the thread specified by pid.\n// If pid is 0 the calling thread is used.\nfunc SchedSetaffinity(pid int, set *CPUSet) error {\n\treturn schedAffinity(SYS_SCHED_SETAFFINITY, pid, set)\n}\n\n// Zero clears the set s, so that it contains no CPUs.\nfunc (s *CPUSet) Zero() {\n\tfor i := range s {\n\t\ts[i] = 0\n\t}\n}\n\nfunc cpuBitsIndex(cpu int) int {\n\treturn cpu / _NCPUBITS\n}\n\nfunc cpuBitsMask(cpu int) cpuMask {\n\treturn cpuMask(1 << (uint(cpu) % _NCPUBITS))\n}\n\n// Set adds cpu to the set s.\nfunc (s *CPUSet) Set(cpu int) {\n\ti := cpuBitsIndex(cpu)\n\tif i < len(s) {\n\t\ts[i] |= cpuBitsMask(cpu)\n\t}\n}\n\n// Clear removes cpu from the set s.\nfunc (s *CPUSet) Clear(cpu int) {\n\ti := cpuBitsIndex(cpu)\n\tif i < len(s) {\n\t\ts[i] &^= cpuBitsMask(cpu)\n\t}\n}\n\n// IsSet reports whether cpu is in the set s.\nfunc (s *CPUSet) IsSet(cpu int) bool {\n\ti := cpuBitsIndex(cpu)\n\tif i < len(s) {\n\t\treturn s[i]&cpuBitsMask(cpu) != 0\n\t}\n\treturn false\n}\n\n// Count returns the number of CPUs in the set s.\nfunc (s *CPUSet) Count() int {\n\tc := 0\n\tfor _, b := range s {\n\t\tc += onesCount64(uint64(b))\n\t}\n\treturn c\n}\n\n// onesCount64 is a copy of Go 1.9's math/bits.OnesCount64.\n// Once this package can require Go 1.9, we can delete this\n// and update the caller to use bits.OnesCount64.\nfunc onesCount64(x uint64) int {\n\tconst m0 = 0x5555555555555555 // 01010101 ...\n\tconst m1 = 0x3333333333333333 // 00110011 ...\n\tconst m2 = 0x0f0f0f0f0f0f0f0f // 00001111 ...\n\tconst m3 = 0x00ff00ff00ff00ff // etc.\n\tconst m4 = 0x0000ffff0000ffff\n\n\t// Implementation: Parallel summing of adjacent bits.\n\t// See \"Hacker's Delight\", Chap. 5: Counting Bits.\n\t// The following pattern shows the general approach:\n\t//\n\t//   x = x>>1&(m0&m) + x&(m0&m)\n\t//   x = x>>2&(m1&m) + x&(m1&m)\n\t//   x = x>>4&(m2&m) + x&(m2&m)\n\t//   x = x>>8&(m3&m) + x&(m3&m)\n\t//   x = x>>16&(m4&m) + x&(m4&m)\n\t//   x = x>>32&(m5&m) + x&(m5&m)\n\t//   return int(x)\n\t//\n\t// Masking (& operations) can be left away when there's no\n\t// danger that a field's sum will carry over into the next\n\t// field: Since the result cannot be > 64, 8 bits is enough\n\t// and we can ignore the masks for the shifts by 8 and up.\n\t// Per \"Hacker's Delight\", the first line can be simplified\n\t// more, but it saves at best one instruction, so we leave\n\t// it alone for clarity.\n\tconst m = 1<<64 - 1\n\tx = x>>1&(m0&m) + x&(m0&m)\n\tx = x>>2&(m1&m) + x&(m1&m)\n\tx = (x>>4 + x) & (m2 & m)\n\tx += x >> 8\n\tx += x >> 16\n\tx += x >> 32\n\treturn int(x) & (1<<7 - 1)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/aliases.go",
    "content": "// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build darwin dragonfly freebsd linux netbsd openbsd solaris\n// +build go1.9\n\npackage unix\n\nimport \"syscall\"\n\ntype Signal = syscall.Signal\ntype Errno = syscall.Errno\ntype SysProcAttr = syscall.SysProcAttr\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_darwin_386.s",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System call support for 386, Darwin\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT\t·Syscall(SB),NOSPLIT,$0-28\n\tJMP\tsyscall·Syscall(SB)\n\nTEXT\t·Syscall6(SB),NOSPLIT,$0-40\n\tJMP\tsyscall·Syscall6(SB)\n\nTEXT\t·Syscall9(SB),NOSPLIT,$0-52\n\tJMP\tsyscall·Syscall9(SB)\n\nTEXT ·RawSyscall(SB),NOSPLIT,$0-28\n\tJMP\tsyscall·RawSyscall(SB)\n\nTEXT\t·RawSyscall6(SB),NOSPLIT,$0-40\n\tJMP\tsyscall·RawSyscall6(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_darwin_amd64.s",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System call support for AMD64, Darwin\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT\t·Syscall(SB),NOSPLIT,$0-56\n\tJMP\tsyscall·Syscall(SB)\n\nTEXT\t·Syscall6(SB),NOSPLIT,$0-80\n\tJMP\tsyscall·Syscall6(SB)\n\nTEXT\t·Syscall9(SB),NOSPLIT,$0-104\n\tJMP\tsyscall·Syscall9(SB)\n\nTEXT\t·RawSyscall(SB),NOSPLIT,$0-56\n\tJMP\tsyscall·RawSyscall(SB)\n\nTEXT\t·RawSyscall6(SB),NOSPLIT,$0-80\n\tJMP\tsyscall·RawSyscall6(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_darwin_arm.s",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n// +build arm,darwin\n\n#include \"textflag.h\"\n\n//\n// System call support for ARM, Darwin\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT\t·Syscall(SB),NOSPLIT,$0-28\n\tB\tsyscall·Syscall(SB)\n\nTEXT\t·Syscall6(SB),NOSPLIT,$0-40\n\tB\tsyscall·Syscall6(SB)\n\nTEXT\t·Syscall9(SB),NOSPLIT,$0-52\n\tB\tsyscall·Syscall9(SB)\n\nTEXT\t·RawSyscall(SB),NOSPLIT,$0-28\n\tB\tsyscall·RawSyscall(SB)\n\nTEXT\t·RawSyscall6(SB),NOSPLIT,$0-40\n\tB\tsyscall·RawSyscall6(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_darwin_arm64.s",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n// +build arm64,darwin\n\n#include \"textflag.h\"\n\n//\n// System call support for AMD64, Darwin\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT\t·Syscall(SB),NOSPLIT,$0-56\n\tB\tsyscall·Syscall(SB)\n\nTEXT\t·Syscall6(SB),NOSPLIT,$0-80\n\tB\tsyscall·Syscall6(SB)\n\nTEXT\t·Syscall9(SB),NOSPLIT,$0-104\n\tB\tsyscall·Syscall9(SB)\n\nTEXT\t·RawSyscall(SB),NOSPLIT,$0-56\n\tB\tsyscall·RawSyscall(SB)\n\nTEXT\t·RawSyscall6(SB),NOSPLIT,$0-80\n\tB\tsyscall·RawSyscall6(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System call support for AMD64, DragonFly\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT\t·Syscall(SB),NOSPLIT,$0-56\n\tJMP\tsyscall·Syscall(SB)\n\nTEXT\t·Syscall6(SB),NOSPLIT,$0-80\n\tJMP\tsyscall·Syscall6(SB)\n\nTEXT\t·Syscall9(SB),NOSPLIT,$0-104\n\tJMP\tsyscall·Syscall9(SB)\n\nTEXT ·RawSyscall(SB),NOSPLIT,$0-56\n\tJMP\tsyscall·RawSyscall(SB)\n\nTEXT\t·RawSyscall6(SB),NOSPLIT,$0-80\n\tJMP\tsyscall·RawSyscall6(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_freebsd_386.s",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System call support for 386, FreeBSD\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT\t·Syscall(SB),NOSPLIT,$0-28\n\tJMP\tsyscall·Syscall(SB)\n\nTEXT\t·Syscall6(SB),NOSPLIT,$0-40\n\tJMP\tsyscall·Syscall6(SB)\n\nTEXT\t·Syscall9(SB),NOSPLIT,$0-52\n\tJMP\tsyscall·Syscall9(SB)\n\nTEXT ·RawSyscall(SB),NOSPLIT,$0-28\n\tJMP\tsyscall·RawSyscall(SB)\n\nTEXT\t·RawSyscall6(SB),NOSPLIT,$0-40\n\tJMP\tsyscall·RawSyscall6(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System call support for AMD64, FreeBSD\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT\t·Syscall(SB),NOSPLIT,$0-56\n\tJMP\tsyscall·Syscall(SB)\n\nTEXT\t·Syscall6(SB),NOSPLIT,$0-80\n\tJMP\tsyscall·Syscall6(SB)\n\nTEXT\t·Syscall9(SB),NOSPLIT,$0-104\n\tJMP\tsyscall·Syscall9(SB)\n\nTEXT ·RawSyscall(SB),NOSPLIT,$0-56\n\tJMP\tsyscall·RawSyscall(SB)\n\nTEXT\t·RawSyscall6(SB),NOSPLIT,$0-80\n\tJMP\tsyscall·RawSyscall6(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_freebsd_arm.s",
    "content": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System call support for ARM, FreeBSD\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT\t·Syscall(SB),NOSPLIT,$0-28\n\tB\tsyscall·Syscall(SB)\n\nTEXT\t·Syscall6(SB),NOSPLIT,$0-40\n\tB\tsyscall·Syscall6(SB)\n\nTEXT\t·Syscall9(SB),NOSPLIT,$0-52\n\tB\tsyscall·Syscall9(SB)\n\nTEXT\t·RawSyscall(SB),NOSPLIT,$0-28\n\tB\tsyscall·RawSyscall(SB)\n\nTEXT\t·RawSyscall6(SB),NOSPLIT,$0-40\n\tB\tsyscall·RawSyscall6(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_linux_386.s",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System calls for 386, Linux\n//\n\n// See ../runtime/sys_linux_386.s for the reason why we always use int 0x80\n// instead of the glibc-specific \"CALL 0x10(GS)\".\n#define INVOKE_SYSCALL\tINT\t$0x80\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT ·Syscall(SB),NOSPLIT,$0-28\n\tJMP\tsyscall·Syscall(SB)\n\nTEXT ·Syscall6(SB),NOSPLIT,$0-40\n\tJMP\tsyscall·Syscall6(SB)\n\nTEXT ·SyscallNoError(SB),NOSPLIT,$0-24\n\tCALL\truntime·entersyscall(SB)\n\tMOVL\ttrap+0(FP), AX  // syscall entry\n\tMOVL\ta1+4(FP), BX\n\tMOVL\ta2+8(FP), CX\n\tMOVL\ta3+12(FP), DX\n\tMOVL\t$0, SI\n\tMOVL\t$0, DI\n\tINVOKE_SYSCALL\n\tMOVL\tAX, r1+16(FP)\n\tMOVL\tDX, r2+20(FP)\n\tCALL\truntime·exitsyscall(SB)\n\tRET\n\nTEXT ·RawSyscall(SB),NOSPLIT,$0-28\n\tJMP\tsyscall·RawSyscall(SB)\n\nTEXT ·RawSyscall6(SB),NOSPLIT,$0-40\n\tJMP\tsyscall·RawSyscall6(SB)\n\nTEXT ·RawSyscallNoError(SB),NOSPLIT,$0-24\n\tMOVL\ttrap+0(FP), AX  // syscall entry\n\tMOVL\ta1+4(FP), BX\n\tMOVL\ta2+8(FP), CX\n\tMOVL\ta3+12(FP), DX\n\tMOVL\t$0, SI\n\tMOVL\t$0, DI\n\tINVOKE_SYSCALL\n\tMOVL\tAX, r1+16(FP)\n\tMOVL\tDX, r2+20(FP)\n\tRET\n\nTEXT ·socketcall(SB),NOSPLIT,$0-36\n\tJMP\tsyscall·socketcall(SB)\n\nTEXT ·rawsocketcall(SB),NOSPLIT,$0-36\n\tJMP\tsyscall·rawsocketcall(SB)\n\nTEXT ·seek(SB),NOSPLIT,$0-28\n\tJMP\tsyscall·seek(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_linux_amd64.s",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System calls for AMD64, Linux\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT ·Syscall(SB),NOSPLIT,$0-56\n\tJMP\tsyscall·Syscall(SB)\n\nTEXT ·Syscall6(SB),NOSPLIT,$0-80\n\tJMP\tsyscall·Syscall6(SB)\n\nTEXT ·SyscallNoError(SB),NOSPLIT,$0-48\n\tCALL\truntime·entersyscall(SB)\n\tMOVQ\ta1+8(FP), DI\n\tMOVQ\ta2+16(FP), SI\n\tMOVQ\ta3+24(FP), DX\n\tMOVQ\t$0, R10\n\tMOVQ\t$0, R8\n\tMOVQ\t$0, R9\n\tMOVQ\ttrap+0(FP), AX\t// syscall entry\n\tSYSCALL\n\tMOVQ\tAX, r1+32(FP)\n\tMOVQ\tDX, r2+40(FP)\n\tCALL\truntime·exitsyscall(SB)\n\tRET\n\nTEXT ·RawSyscall(SB),NOSPLIT,$0-56\n\tJMP\tsyscall·RawSyscall(SB)\n\nTEXT ·RawSyscall6(SB),NOSPLIT,$0-80\n\tJMP\tsyscall·RawSyscall6(SB)\n\nTEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48\n\tMOVQ\ta1+8(FP), DI\n\tMOVQ\ta2+16(FP), SI\n\tMOVQ\ta3+24(FP), DX\n\tMOVQ\t$0, R10\n\tMOVQ\t$0, R8\n\tMOVQ\t$0, R9\n\tMOVQ\ttrap+0(FP), AX\t// syscall entry\n\tSYSCALL\n\tMOVQ\tAX, r1+32(FP)\n\tMOVQ\tDX, r2+40(FP)\n\tRET\n\nTEXT ·gettimeofday(SB),NOSPLIT,$0-16\n\tJMP\tsyscall·gettimeofday(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_linux_arm.s",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System calls for arm, Linux\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT ·Syscall(SB),NOSPLIT,$0-28\n\tB\tsyscall·Syscall(SB)\n\nTEXT ·Syscall6(SB),NOSPLIT,$0-40\n\tB\tsyscall·Syscall6(SB)\n\nTEXT ·SyscallNoError(SB),NOSPLIT,$0-24\n\tBL\truntime·entersyscall(SB)\n\tMOVW\ttrap+0(FP), R7\n\tMOVW\ta1+4(FP), R0\n\tMOVW\ta2+8(FP), R1\n\tMOVW\ta3+12(FP), R2\n\tMOVW\t$0, R3\n\tMOVW\t$0, R4\n\tMOVW\t$0, R5\n\tSWI\t$0\n\tMOVW\tR0, r1+16(FP)\n\tMOVW\t$0, R0\n\tMOVW\tR0, r2+20(FP)\n\tBL\truntime·exitsyscall(SB)\n\tRET\n\nTEXT ·RawSyscall(SB),NOSPLIT,$0-28\n\tB\tsyscall·RawSyscall(SB)\n\nTEXT ·RawSyscall6(SB),NOSPLIT,$0-40\n\tB\tsyscall·RawSyscall6(SB)\n\nTEXT ·RawSyscallNoError(SB),NOSPLIT,$0-24\n\tMOVW\ttrap+0(FP), R7\t// syscall entry\n\tMOVW\ta1+4(FP), R0\n\tMOVW\ta2+8(FP), R1\n\tMOVW\ta3+12(FP), R2\n\tSWI\t$0\n\tMOVW\tR0, r1+16(FP)\n\tMOVW\t$0, R0\n\tMOVW\tR0, r2+20(FP)\n\tRET\n\nTEXT ·seek(SB),NOSPLIT,$0-28\n\tB\tsyscall·seek(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_linux_arm64.s",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build linux\n// +build arm64\n// +build !gccgo\n\n#include \"textflag.h\"\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT ·Syscall(SB),NOSPLIT,$0-56\n\tB\tsyscall·Syscall(SB)\n\nTEXT ·Syscall6(SB),NOSPLIT,$0-80\n\tB\tsyscall·Syscall6(SB)\n\nTEXT ·SyscallNoError(SB),NOSPLIT,$0-48\n\tBL\truntime·entersyscall(SB)\n\tMOVD\ta1+8(FP), R0\n\tMOVD\ta2+16(FP), R1\n\tMOVD\ta3+24(FP), R2\n\tMOVD\t$0, R3\n\tMOVD\t$0, R4\n\tMOVD\t$0, R5\n\tMOVD\ttrap+0(FP), R8\t// syscall entry\n\tSVC\n\tMOVD\tR0, r1+32(FP)\t// r1\n\tMOVD\tR1, r2+40(FP)\t// r2\n\tBL\truntime·exitsyscall(SB)\n\tRET\n\nTEXT ·RawSyscall(SB),NOSPLIT,$0-56\n\tB\tsyscall·RawSyscall(SB)\n\nTEXT ·RawSyscall6(SB),NOSPLIT,$0-80\n\tB\tsyscall·RawSyscall6(SB)\n\nTEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48\n\tMOVD\ta1+8(FP), R0\n\tMOVD\ta2+16(FP), R1\n\tMOVD\ta3+24(FP), R2\n\tMOVD\t$0, R3\n\tMOVD\t$0, R4\n\tMOVD\t$0, R5\n\tMOVD\ttrap+0(FP), R8\t// syscall entry\n\tSVC\n\tMOVD\tR0, r1+32(FP)\n\tMOVD\tR1, r2+40(FP)\n\tRET\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_linux_mips64x.s",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build linux\n// +build mips64 mips64le\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System calls for mips64, Linux\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT ·Syscall(SB),NOSPLIT,$0-56\n\tJMP\tsyscall·Syscall(SB)\n\nTEXT ·Syscall6(SB),NOSPLIT,$0-80\n\tJMP\tsyscall·Syscall6(SB)\n\nTEXT ·SyscallNoError(SB),NOSPLIT,$0-48\n\tJAL\truntime·entersyscall(SB)\n\tMOVV\ta1+8(FP), R4\n\tMOVV\ta2+16(FP), R5\n\tMOVV\ta3+24(FP), R6\n\tMOVV\tR0, R7\n\tMOVV\tR0, R8\n\tMOVV\tR0, R9\n\tMOVV\ttrap+0(FP), R2\t// syscall entry\n\tSYSCALL\n\tMOVV\tR2, r1+32(FP)\n\tMOVV\tR3, r2+40(FP)\n\tJAL\truntime·exitsyscall(SB)\n\tRET\n\nTEXT ·RawSyscall(SB),NOSPLIT,$0-56\n\tJMP\tsyscall·RawSyscall(SB)\n\nTEXT ·RawSyscall6(SB),NOSPLIT,$0-80\n\tJMP\tsyscall·RawSyscall6(SB)\n\nTEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48\n\tMOVV\ta1+8(FP), R4\n\tMOVV\ta2+16(FP), R5\n\tMOVV\ta3+24(FP), R6\n\tMOVV\tR0, R7\n\tMOVV\tR0, R8\n\tMOVV\tR0, R9\n\tMOVV\ttrap+0(FP), R2\t// syscall entry\n\tSYSCALL\n\tMOVV\tR2, r1+32(FP)\n\tMOVV\tR3, r2+40(FP)\n\tRET\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_linux_mipsx.s",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build linux\n// +build mips mipsle\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System calls for mips, Linux\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT ·Syscall(SB),NOSPLIT,$0-28\n\tJMP syscall·Syscall(SB)\n\nTEXT ·Syscall6(SB),NOSPLIT,$0-40\n\tJMP syscall·Syscall6(SB)\n\nTEXT ·Syscall9(SB),NOSPLIT,$0-52\n\tJMP syscall·Syscall9(SB)\n\nTEXT ·SyscallNoError(SB),NOSPLIT,$0-24\n\tJAL\truntime·entersyscall(SB)\n\tMOVW\ta1+4(FP), R4\n\tMOVW\ta2+8(FP), R5\n\tMOVW\ta3+12(FP), R6\n\tMOVW\tR0, R7\n\tMOVW\ttrap+0(FP), R2\t// syscall entry\n\tSYSCALL\n\tMOVW\tR2, r1+16(FP)\t// r1\n\tMOVW\tR3, r2+20(FP)\t// r2\n\tJAL\truntime·exitsyscall(SB)\n\tRET\n\nTEXT ·RawSyscall(SB),NOSPLIT,$0-28\n\tJMP syscall·RawSyscall(SB)\n\nTEXT ·RawSyscall6(SB),NOSPLIT,$0-40\n\tJMP syscall·RawSyscall6(SB)\n\nTEXT ·RawSyscallNoError(SB),NOSPLIT,$0-24\n\tMOVW\ta1+4(FP), R4\n\tMOVW\ta2+8(FP), R5\n\tMOVW\ta3+12(FP), R6\n\tMOVW\ttrap+0(FP), R2\t// syscall entry\n\tSYSCALL\n\tMOVW\tR2, r1+16(FP)\n\tMOVW\tR3, r2+20(FP)\n\tRET\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build linux\n// +build ppc64 ppc64le\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System calls for ppc64, Linux\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT ·Syscall(SB),NOSPLIT,$0-56\n\tBR\tsyscall·Syscall(SB)\n\nTEXT ·Syscall6(SB),NOSPLIT,$0-80\n\tBR\tsyscall·Syscall6(SB)\n\nTEXT ·SyscallNoError(SB),NOSPLIT,$0-48\n\tBL\truntime·entersyscall(SB)\n\tMOVD\ta1+8(FP), R3\n\tMOVD\ta2+16(FP), R4\n\tMOVD\ta3+24(FP), R5\n\tMOVD\tR0, R6\n\tMOVD\tR0, R7\n\tMOVD\tR0, R8\n\tMOVD\ttrap+0(FP), R9\t// syscall entry\n\tSYSCALL R9\n\tMOVD\tR3, r1+32(FP)\n\tMOVD\tR4, r2+40(FP)\n\tBL\truntime·exitsyscall(SB)\n\tRET\n\nTEXT ·RawSyscall(SB),NOSPLIT,$0-56\n\tBR\tsyscall·RawSyscall(SB)\n\nTEXT ·RawSyscall6(SB),NOSPLIT,$0-80\n\tBR\tsyscall·RawSyscall6(SB)\n\nTEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48\n\tMOVD\ta1+8(FP), R3\n\tMOVD\ta2+16(FP), R4\n\tMOVD\ta3+24(FP), R5\n\tMOVD\tR0, R6\n\tMOVD\tR0, R7\n\tMOVD\tR0, R8\n\tMOVD\ttrap+0(FP), R9\t// syscall entry\n\tSYSCALL R9\n\tMOVD\tR3, r1+32(FP)\n\tMOVD\tR4, r2+40(FP)\n\tRET\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_linux_s390x.s",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build s390x\n// +build linux\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System calls for s390x, Linux\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT ·Syscall(SB),NOSPLIT,$0-56\n\tBR\tsyscall·Syscall(SB)\n\nTEXT ·Syscall6(SB),NOSPLIT,$0-80\n\tBR\tsyscall·Syscall6(SB)\n\nTEXT ·SyscallNoError(SB),NOSPLIT,$0-48\n\tBL\truntime·entersyscall(SB)\n\tMOVD\ta1+8(FP), R2\n\tMOVD\ta2+16(FP), R3\n\tMOVD\ta3+24(FP), R4\n\tMOVD\t$0, R5\n\tMOVD\t$0, R6\n\tMOVD\t$0, R7\n\tMOVD\ttrap+0(FP), R1\t// syscall entry\n\tSYSCALL\n\tMOVD\tR2, r1+32(FP)\n\tMOVD\tR3, r2+40(FP)\n\tBL\truntime·exitsyscall(SB)\n\tRET\n\nTEXT ·RawSyscall(SB),NOSPLIT,$0-56\n\tBR\tsyscall·RawSyscall(SB)\n\nTEXT ·RawSyscall6(SB),NOSPLIT,$0-80\n\tBR\tsyscall·RawSyscall6(SB)\n\nTEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48\n\tMOVD\ta1+8(FP), R2\n\tMOVD\ta2+16(FP), R3\n\tMOVD\ta3+24(FP), R4\n\tMOVD\t$0, R5\n\tMOVD\t$0, R6\n\tMOVD\t$0, R7\n\tMOVD\ttrap+0(FP), R1\t// syscall entry\n\tSYSCALL\n\tMOVD\tR2, r1+32(FP)\n\tMOVD\tR3, r2+40(FP)\n\tRET\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_netbsd_386.s",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System call support for 386, NetBSD\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT\t·Syscall(SB),NOSPLIT,$0-28\n\tJMP\tsyscall·Syscall(SB)\n\nTEXT\t·Syscall6(SB),NOSPLIT,$0-40\n\tJMP\tsyscall·Syscall6(SB)\n\nTEXT\t·Syscall9(SB),NOSPLIT,$0-52\n\tJMP\tsyscall·Syscall9(SB)\n\nTEXT ·RawSyscall(SB),NOSPLIT,$0-28\n\tJMP\tsyscall·RawSyscall(SB)\n\nTEXT\t·RawSyscall6(SB),NOSPLIT,$0-40\n\tJMP\tsyscall·RawSyscall6(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System call support for AMD64, NetBSD\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT\t·Syscall(SB),NOSPLIT,$0-56\n\tJMP\tsyscall·Syscall(SB)\n\nTEXT\t·Syscall6(SB),NOSPLIT,$0-80\n\tJMP\tsyscall·Syscall6(SB)\n\nTEXT\t·Syscall9(SB),NOSPLIT,$0-104\n\tJMP\tsyscall·Syscall9(SB)\n\nTEXT\t·RawSyscall(SB),NOSPLIT,$0-56\n\tJMP\tsyscall·RawSyscall(SB)\n\nTEXT\t·RawSyscall6(SB),NOSPLIT,$0-80\n\tJMP\tsyscall·RawSyscall6(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_netbsd_arm.s",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System call support for ARM, NetBSD\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT\t·Syscall(SB),NOSPLIT,$0-28\n\tB\tsyscall·Syscall(SB)\n\nTEXT\t·Syscall6(SB),NOSPLIT,$0-40\n\tB\tsyscall·Syscall6(SB)\n\nTEXT\t·Syscall9(SB),NOSPLIT,$0-52\n\tB\tsyscall·Syscall9(SB)\n\nTEXT\t·RawSyscall(SB),NOSPLIT,$0-28\n\tB\tsyscall·RawSyscall(SB)\n\nTEXT\t·RawSyscall6(SB),NOSPLIT,$0-40\n\tB\tsyscall·RawSyscall6(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_openbsd_386.s",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System call support for 386, OpenBSD\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT\t·Syscall(SB),NOSPLIT,$0-28\n\tJMP\tsyscall·Syscall(SB)\n\nTEXT\t·Syscall6(SB),NOSPLIT,$0-40\n\tJMP\tsyscall·Syscall6(SB)\n\nTEXT\t·Syscall9(SB),NOSPLIT,$0-52\n\tJMP\tsyscall·Syscall9(SB)\n\nTEXT ·RawSyscall(SB),NOSPLIT,$0-28\n\tJMP\tsyscall·RawSyscall(SB)\n\nTEXT\t·RawSyscall6(SB),NOSPLIT,$0-40\n\tJMP\tsyscall·RawSyscall6(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System call support for AMD64, OpenBSD\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT\t·Syscall(SB),NOSPLIT,$0-56\n\tJMP\tsyscall·Syscall(SB)\n\nTEXT\t·Syscall6(SB),NOSPLIT,$0-80\n\tJMP\tsyscall·Syscall6(SB)\n\nTEXT\t·Syscall9(SB),NOSPLIT,$0-104\n\tJMP\tsyscall·Syscall9(SB)\n\nTEXT\t·RawSyscall(SB),NOSPLIT,$0-56\n\tJMP\tsyscall·RawSyscall(SB)\n\nTEXT\t·RawSyscall6(SB),NOSPLIT,$0-80\n\tJMP\tsyscall·RawSyscall6(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_openbsd_arm.s",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System call support for ARM, OpenBSD\n//\n\n// Just jump to package syscall's implementation for all these functions.\n// The runtime may know about them.\n\nTEXT\t·Syscall(SB),NOSPLIT,$0-28\n\tB\tsyscall·Syscall(SB)\n\nTEXT\t·Syscall6(SB),NOSPLIT,$0-40\n\tB\tsyscall·Syscall6(SB)\n\nTEXT\t·Syscall9(SB),NOSPLIT,$0-52\n\tB\tsyscall·Syscall9(SB)\n\nTEXT\t·RawSyscall(SB),NOSPLIT,$0-28\n\tB\tsyscall·RawSyscall(SB)\n\nTEXT\t·RawSyscall6(SB),NOSPLIT,$0-40\n\tB\tsyscall·RawSyscall6(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/asm_solaris_amd64.s",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !gccgo\n\n#include \"textflag.h\"\n\n//\n// System calls for amd64, Solaris are implemented in runtime/syscall_solaris.go\n//\n\nTEXT ·sysvicall6(SB),NOSPLIT,$0-88\n\tJMP\tsyscall·sysvicall6(SB)\n\nTEXT ·rawSysvicall6(SB),NOSPLIT,$0-88\n\tJMP\tsyscall·rawSysvicall6(SB)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/bluetooth_linux.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Bluetooth sockets and messages\n\npackage unix\n\n// Bluetooth Protocols\nconst (\n\tBTPROTO_L2CAP  = 0\n\tBTPROTO_HCI    = 1\n\tBTPROTO_SCO    = 2\n\tBTPROTO_RFCOMM = 3\n\tBTPROTO_BNEP   = 4\n\tBTPROTO_CMTP   = 5\n\tBTPROTO_HIDP   = 6\n\tBTPROTO_AVDTP  = 7\n)\n\nconst (\n\tHCI_CHANNEL_RAW     = 0\n\tHCI_CHANNEL_USER    = 1\n\tHCI_CHANNEL_MONITOR = 2\n\tHCI_CHANNEL_CONTROL = 3\n)\n\n// Socketoption Level\nconst (\n\tSOL_BLUETOOTH = 0x112\n\tSOL_HCI       = 0x0\n\tSOL_L2CAP     = 0x6\n\tSOL_RFCOMM    = 0x12\n\tSOL_SCO       = 0x11\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/cap_freebsd.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build freebsd\n\npackage unix\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n)\n\n// Go implementation of C mostly found in /usr/src/sys/kern/subr_capability.c\n\nconst (\n\t// This is the version of CapRights this package understands. See C implementation for parallels.\n\tcapRightsGoVersion = CAP_RIGHTS_VERSION_00\n\tcapArSizeMin       = CAP_RIGHTS_VERSION_00 + 2\n\tcapArSizeMax       = capRightsGoVersion + 2\n)\n\nvar (\n\tbit2idx = []int{\n\t\t-1, 0, 1, -1, 2, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, -1,\n\t\t4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n\t}\n)\n\nfunc capidxbit(right uint64) int {\n\treturn int((right >> 57) & 0x1f)\n}\n\nfunc rightToIndex(right uint64) (int, error) {\n\tidx := capidxbit(right)\n\tif idx < 0 || idx >= len(bit2idx) {\n\t\treturn -2, fmt.Errorf(\"index for right 0x%x out of range\", right)\n\t}\n\treturn bit2idx[idx], nil\n}\n\nfunc caprver(right uint64) int {\n\treturn int(right >> 62)\n}\n\nfunc capver(rights *CapRights) int {\n\treturn caprver(rights.Rights[0])\n}\n\nfunc caparsize(rights *CapRights) int {\n\treturn capver(rights) + 2\n}\n\n// CapRightsSet sets the permissions in setrights in rights.\nfunc CapRightsSet(rights *CapRights, setrights []uint64) error {\n\t// This is essentially a copy of cap_rights_vset()\n\tif capver(rights) != CAP_RIGHTS_VERSION_00 {\n\t\treturn fmt.Errorf(\"bad rights version %d\", capver(rights))\n\t}\n\n\tn := caparsize(rights)\n\tif n < capArSizeMin || n > capArSizeMax {\n\t\treturn errors.New(\"bad rights size\")\n\t}\n\n\tfor _, right := range setrights {\n\t\tif caprver(right) != CAP_RIGHTS_VERSION_00 {\n\t\t\treturn errors.New(\"bad right version\")\n\t\t}\n\t\ti, err := rightToIndex(right)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif i >= n {\n\t\t\treturn errors.New(\"index overflow\")\n\t\t}\n\t\tif capidxbit(rights.Rights[i]) != capidxbit(right) {\n\t\t\treturn errors.New(\"index mismatch\")\n\t\t}\n\t\trights.Rights[i] |= right\n\t\tif capidxbit(rights.Rights[i]) != capidxbit(right) {\n\t\t\treturn errors.New(\"index mismatch (after assign)\")\n\t\t}\n\t}\n\n\treturn nil\n}\n\n// CapRightsClear clears the permissions in clearrights from rights.\nfunc CapRightsClear(rights *CapRights, clearrights []uint64) error {\n\t// This is essentially a copy of cap_rights_vclear()\n\tif capver(rights) != CAP_RIGHTS_VERSION_00 {\n\t\treturn fmt.Errorf(\"bad rights version %d\", capver(rights))\n\t}\n\n\tn := caparsize(rights)\n\tif n < capArSizeMin || n > capArSizeMax {\n\t\treturn errors.New(\"bad rights size\")\n\t}\n\n\tfor _, right := range clearrights {\n\t\tif caprver(right) != CAP_RIGHTS_VERSION_00 {\n\t\t\treturn errors.New(\"bad right version\")\n\t\t}\n\t\ti, err := rightToIndex(right)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif i >= n {\n\t\t\treturn errors.New(\"index overflow\")\n\t\t}\n\t\tif capidxbit(rights.Rights[i]) != capidxbit(right) {\n\t\t\treturn errors.New(\"index mismatch\")\n\t\t}\n\t\trights.Rights[i] &= ^(right & 0x01FFFFFFFFFFFFFF)\n\t\tif capidxbit(rights.Rights[i]) != capidxbit(right) {\n\t\t\treturn errors.New(\"index mismatch (after assign)\")\n\t\t}\n\t}\n\n\treturn nil\n}\n\n// CapRightsIsSet checks whether all the permissions in setrights are present in rights.\nfunc CapRightsIsSet(rights *CapRights, setrights []uint64) (bool, error) {\n\t// This is essentially a copy of cap_rights_is_vset()\n\tif capver(rights) != CAP_RIGHTS_VERSION_00 {\n\t\treturn false, fmt.Errorf(\"bad rights version %d\", capver(rights))\n\t}\n\n\tn := caparsize(rights)\n\tif n < capArSizeMin || n > capArSizeMax {\n\t\treturn false, errors.New(\"bad rights size\")\n\t}\n\n\tfor _, right := range setrights {\n\t\tif caprver(right) != CAP_RIGHTS_VERSION_00 {\n\t\t\treturn false, errors.New(\"bad right version\")\n\t\t}\n\t\ti, err := rightToIndex(right)\n\t\tif err != nil {\n\t\t\treturn false, err\n\t\t}\n\t\tif i >= n {\n\t\t\treturn false, errors.New(\"index overflow\")\n\t\t}\n\t\tif capidxbit(rights.Rights[i]) != capidxbit(right) {\n\t\t\treturn false, errors.New(\"index mismatch\")\n\t\t}\n\t\tif (rights.Rights[i] & right) != right {\n\t\t\treturn false, nil\n\t\t}\n\t}\n\n\treturn true, nil\n}\n\nfunc capright(idx uint64, bit uint64) uint64 {\n\treturn ((1 << (57 + idx)) | bit)\n}\n\n// CapRightsInit returns a pointer to an initialised CapRights structure filled with rights.\n// See man cap_rights_init(3) and rights(4).\nfunc CapRightsInit(rights []uint64) (*CapRights, error) {\n\tvar r CapRights\n\tr.Rights[0] = (capRightsGoVersion << 62) | capright(0, 0)\n\tr.Rights[1] = capright(1, 0)\n\n\terr := CapRightsSet(&r, rights)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn &r, nil\n}\n\n// CapRightsLimit reduces the operations permitted on fd to at most those contained in rights.\n// The capability rights on fd can never be increased by CapRightsLimit.\n// See man cap_rights_limit(2) and rights(4).\nfunc CapRightsLimit(fd uintptr, rights *CapRights) error {\n\treturn capRightsLimit(int(fd), rights)\n}\n\n// CapRightsGet returns a CapRights structure containing the operations permitted on fd.\n// See man cap_rights_get(3) and rights(4).\nfunc CapRightsGet(fd uintptr) (*CapRights, error) {\n\tr, err := CapRightsInit(nil)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\terr = capRightsGet(capRightsGoVersion, int(fd), r)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn r, nil\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/constants.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build darwin dragonfly freebsd linux netbsd openbsd solaris\n\npackage unix\n\nconst (\n\tR_OK = 0x4\n\tW_OK = 0x2\n\tX_OK = 0x1\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/dev_darwin.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Functions to access/create device major and minor numbers matching the\n// encoding used in Darwin's sys/types.h header.\n\npackage unix\n\n// Major returns the major component of a Darwin device number.\nfunc Major(dev uint64) uint32 {\n\treturn uint32((dev >> 24) & 0xff)\n}\n\n// Minor returns the minor component of a Darwin device number.\nfunc Minor(dev uint64) uint32 {\n\treturn uint32(dev & 0xffffff)\n}\n\n// Mkdev returns a Darwin device number generated from the given major and minor\n// components.\nfunc Mkdev(major, minor uint32) uint64 {\n\treturn (uint64(major) << 24) | uint64(minor)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/dev_dragonfly.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Functions to access/create device major and minor numbers matching the\n// encoding used in Dragonfly's sys/types.h header.\n//\n// The information below is extracted and adapted from sys/types.h:\n//\n// Minor gives a cookie instead of an index since in order to avoid changing the\n// meanings of bits 0-15 or wasting time and space shifting bits 16-31 for\n// devices that don't use them.\n\npackage unix\n\n// Major returns the major component of a DragonFlyBSD device number.\nfunc Major(dev uint64) uint32 {\n\treturn uint32((dev >> 8) & 0xff)\n}\n\n// Minor returns the minor component of a DragonFlyBSD device number.\nfunc Minor(dev uint64) uint32 {\n\treturn uint32(dev & 0xffff00ff)\n}\n\n// Mkdev returns a DragonFlyBSD device number generated from the given major and\n// minor components.\nfunc Mkdev(major, minor uint32) uint64 {\n\treturn (uint64(major) << 8) | uint64(minor)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/dev_freebsd.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Functions to access/create device major and minor numbers matching the\n// encoding used in FreeBSD's sys/types.h header.\n//\n// The information below is extracted and adapted from sys/types.h:\n//\n// Minor gives a cookie instead of an index since in order to avoid changing the\n// meanings of bits 0-15 or wasting time and space shifting bits 16-31 for\n// devices that don't use them.\n\npackage unix\n\n// Major returns the major component of a FreeBSD device number.\nfunc Major(dev uint64) uint32 {\n\treturn uint32((dev >> 8) & 0xff)\n}\n\n// Minor returns the minor component of a FreeBSD device number.\nfunc Minor(dev uint64) uint32 {\n\treturn uint32(dev & 0xffff00ff)\n}\n\n// Mkdev returns a FreeBSD device number generated from the given major and\n// minor components.\nfunc Mkdev(major, minor uint32) uint64 {\n\treturn (uint64(major) << 8) | uint64(minor)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/dev_linux.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Functions to access/create device major and minor numbers matching the\n// encoding used by the Linux kernel and glibc.\n//\n// The information below is extracted and adapted from bits/sysmacros.h in the\n// glibc sources:\n//\n// dev_t in glibc is 64-bit, with 32-bit major and minor numbers. glibc's\n// default encoding is MMMM Mmmm mmmM MMmm, where M is a hex digit of the major\n// number and m is a hex digit of the minor number. This is backward compatible\n// with legacy systems where dev_t is 16 bits wide, encoded as MMmm. It is also\n// backward compatible with the Linux kernel, which for some architectures uses\n// 32-bit dev_t, encoded as mmmM MMmm.\n\npackage unix\n\n// Major returns the major component of a Linux device number.\nfunc Major(dev uint64) uint32 {\n\tmajor := uint32((dev & 0x00000000000fff00) >> 8)\n\tmajor |= uint32((dev & 0xfffff00000000000) >> 32)\n\treturn major\n}\n\n// Minor returns the minor component of a Linux device number.\nfunc Minor(dev uint64) uint32 {\n\tminor := uint32((dev & 0x00000000000000ff) >> 0)\n\tminor |= uint32((dev & 0x00000ffffff00000) >> 12)\n\treturn minor\n}\n\n// Mkdev returns a Linux device number generated from the given major and minor\n// components.\nfunc Mkdev(major, minor uint32) uint64 {\n\tdev := (uint64(major) & 0x00000fff) << 8\n\tdev |= (uint64(major) & 0xfffff000) << 32\n\tdev |= (uint64(minor) & 0x000000ff) << 0\n\tdev |= (uint64(minor) & 0xffffff00) << 12\n\treturn dev\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/dev_netbsd.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Functions to access/create device major and minor numbers matching the\n// encoding used in NetBSD's sys/types.h header.\n\npackage unix\n\n// Major returns the major component of a NetBSD device number.\nfunc Major(dev uint64) uint32 {\n\treturn uint32((dev & 0x000fff00) >> 8)\n}\n\n// Minor returns the minor component of a NetBSD device number.\nfunc Minor(dev uint64) uint32 {\n\tminor := uint32((dev & 0x000000ff) >> 0)\n\tminor |= uint32((dev & 0xfff00000) >> 12)\n\treturn minor\n}\n\n// Mkdev returns a NetBSD device number generated from the given major and minor\n// components.\nfunc Mkdev(major, minor uint32) uint64 {\n\tdev := (uint64(major) << 8) & 0x000fff00\n\tdev |= (uint64(minor) << 12) & 0xfff00000\n\tdev |= (uint64(minor) << 0) & 0x000000ff\n\treturn dev\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/dev_openbsd.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Functions to access/create device major and minor numbers matching the\n// encoding used in OpenBSD's sys/types.h header.\n\npackage unix\n\n// Major returns the major component of an OpenBSD device number.\nfunc Major(dev uint64) uint32 {\n\treturn uint32((dev & 0x0000ff00) >> 8)\n}\n\n// Minor returns the minor component of an OpenBSD device number.\nfunc Minor(dev uint64) uint32 {\n\tminor := uint32((dev & 0x000000ff) >> 0)\n\tminor |= uint32((dev & 0xffff0000) >> 8)\n\treturn minor\n}\n\n// Mkdev returns an OpenBSD device number generated from the given major and minor\n// components.\nfunc Mkdev(major, minor uint32) uint64 {\n\tdev := (uint64(major) << 8) & 0x0000ff00\n\tdev |= (uint64(minor) << 8) & 0xffff0000\n\tdev |= (uint64(minor) << 0) & 0x000000ff\n\treturn dev\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/dirent.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build darwin dragonfly freebsd linux nacl netbsd openbsd solaris\n\npackage unix\n\nimport \"syscall\"\n\n// ParseDirent parses up to max directory entries in buf,\n// appending the names to names. It returns the number of\n// bytes consumed from buf, the number of entries added\n// to names, and the new names slice.\nfunc ParseDirent(buf []byte, max int, names []string) (consumed int, count int, newnames []string) {\n\treturn syscall.ParseDirent(buf, max, names)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/endian_big.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n//\n// +build ppc64 s390x mips mips64\n\npackage unix\n\nconst isBigEndian = true\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/endian_little.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n//\n// +build 386 amd64 amd64p32 arm arm64 ppc64le mipsle mips64le\n\npackage unix\n\nconst isBigEndian = false\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/env_unix.go",
    "content": "// Copyright 2010 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build darwin dragonfly freebsd linux netbsd openbsd solaris\n\n// Unix environment variables.\n\npackage unix\n\nimport \"syscall\"\n\nfunc Getenv(key string) (value string, found bool) {\n\treturn syscall.Getenv(key)\n}\n\nfunc Setenv(key, value string) error {\n\treturn syscall.Setenv(key, value)\n}\n\nfunc Clearenv() {\n\tsyscall.Clearenv()\n}\n\nfunc Environ() []string {\n\treturn syscall.Environ()\n}\n\nfunc Unsetenv(key string) error {\n\treturn syscall.Unsetenv(key)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/errors_freebsd_386.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Constants that were deprecated or moved to enums in the FreeBSD headers. Keep\n// them here for backwards compatibility.\n\npackage unix\n\nconst (\n\tIFF_SMART                         = 0x20\n\tIFT_1822                          = 0x2\n\tIFT_A12MPPSWITCH                  = 0x82\n\tIFT_AAL2                          = 0xbb\n\tIFT_AAL5                          = 0x31\n\tIFT_ADSL                          = 0x5e\n\tIFT_AFLANE8023                    = 0x3b\n\tIFT_AFLANE8025                    = 0x3c\n\tIFT_ARAP                          = 0x58\n\tIFT_ARCNET                        = 0x23\n\tIFT_ARCNETPLUS                    = 0x24\n\tIFT_ASYNC                         = 0x54\n\tIFT_ATM                           = 0x25\n\tIFT_ATMDXI                        = 0x69\n\tIFT_ATMFUNI                       = 0x6a\n\tIFT_ATMIMA                        = 0x6b\n\tIFT_ATMLOGICAL                    = 0x50\n\tIFT_ATMRADIO                      = 0xbd\n\tIFT_ATMSUBINTERFACE               = 0x86\n\tIFT_ATMVCIENDPT                   = 0xc2\n\tIFT_ATMVIRTUAL                    = 0x95\n\tIFT_BGPPOLICYACCOUNTING           = 0xa2\n\tIFT_BSC                           = 0x53\n\tIFT_CCTEMUL                       = 0x3d\n\tIFT_CEPT                          = 0x13\n\tIFT_CES                           = 0x85\n\tIFT_CHANNEL                       = 0x46\n\tIFT_CNR                           = 0x55\n\tIFT_COFFEE                        = 0x84\n\tIFT_COMPOSITELINK                 = 0x9b\n\tIFT_DCN                           = 0x8d\n\tIFT_DIGITALPOWERLINE              = 0x8a\n\tIFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba\n\tIFT_DLSW                          = 0x4a\n\tIFT_DOCSCABLEDOWNSTREAM           = 0x80\n\tIFT_DOCSCABLEMACLAYER             = 0x7f\n\tIFT_DOCSCABLEUPSTREAM             = 0x81\n\tIFT_DS0                           = 0x51\n\tIFT_DS0BUNDLE                     = 0x52\n\tIFT_DS1FDL                        = 0xaa\n\tIFT_DS3                           = 0x1e\n\tIFT_DTM                           = 0x8c\n\tIFT_DVBASILN                      = 0xac\n\tIFT_DVBASIOUT                     = 0xad\n\tIFT_DVBRCCDOWNSTREAM              = 0x93\n\tIFT_DVBRCCMACLAYER                = 0x92\n\tIFT_DVBRCCUPSTREAM                = 0x94\n\tIFT_ENC                           = 0xf4\n\tIFT_EON                           = 0x19\n\tIFT_EPLRS                         = 0x57\n\tIFT_ESCON                         = 0x49\n\tIFT_ETHER                         = 0x6\n\tIFT_FAITH                         = 0xf2\n\tIFT_FAST                          = 0x7d\n\tIFT_FASTETHER                     = 0x3e\n\tIFT_FASTETHERFX                   = 0x45\n\tIFT_FDDI                          = 0xf\n\tIFT_FIBRECHANNEL                  = 0x38\n\tIFT_FRAMERELAYINTERCONNECT        = 0x3a\n\tIFT_FRAMERELAYMPI                 = 0x5c\n\tIFT_FRDLCIENDPT                   = 0xc1\n\tIFT_FRELAY                        = 0x20\n\tIFT_FRELAYDCE                     = 0x2c\n\tIFT_FRF16MFRBUNDLE                = 0xa3\n\tIFT_FRFORWARD                     = 0x9e\n\tIFT_G703AT2MB                     = 0x43\n\tIFT_G703AT64K                     = 0x42\n\tIFT_GIF                           = 0xf0\n\tIFT_GIGABITETHERNET               = 0x75\n\tIFT_GR303IDT                      = 0xb2\n\tIFT_GR303RDT                      = 0xb1\n\tIFT_H323GATEKEEPER                = 0xa4\n\tIFT_H323PROXY                     = 0xa5\n\tIFT_HDH1822                       = 0x3\n\tIFT_HDLC                          = 0x76\n\tIFT_HDSL2                         = 0xa8\n\tIFT_HIPERLAN2                     = 0xb7\n\tIFT_HIPPI                         = 0x2f\n\tIFT_HIPPIINTERFACE                = 0x39\n\tIFT_HOSTPAD                       = 0x5a\n\tIFT_HSSI                          = 0x2e\n\tIFT_HY                            = 0xe\n\tIFT_IBM370PARCHAN                 = 0x48\n\tIFT_IDSL                          = 0x9a\n\tIFT_IEEE80211                     = 0x47\n\tIFT_IEEE80212                     = 0x37\n\tIFT_IEEE8023ADLAG                 = 0xa1\n\tIFT_IFGSN                         = 0x91\n\tIFT_IMT                           = 0xbe\n\tIFT_INTERLEAVE                    = 0x7c\n\tIFT_IP                            = 0x7e\n\tIFT_IPFORWARD                     = 0x8e\n\tIFT_IPOVERATM                     = 0x72\n\tIFT_IPOVERCDLC                    = 0x6d\n\tIFT_IPOVERCLAW                    = 0x6e\n\tIFT_IPSWITCH                      = 0x4e\n\tIFT_IPXIP                         = 0xf9\n\tIFT_ISDN                          = 0x3f\n\tIFT_ISDNBASIC                     = 0x14\n\tIFT_ISDNPRIMARY                   = 0x15\n\tIFT_ISDNS                         = 0x4b\n\tIFT_ISDNU                         = 0x4c\n\tIFT_ISO88022LLC                   = 0x29\n\tIFT_ISO88023                      = 0x7\n\tIFT_ISO88024                      = 0x8\n\tIFT_ISO88025                      = 0x9\n\tIFT_ISO88025CRFPINT               = 0x62\n\tIFT_ISO88025DTR                   = 0x56\n\tIFT_ISO88025FIBER                 = 0x73\n\tIFT_ISO88026                      = 0xa\n\tIFT_ISUP                          = 0xb3\n\tIFT_L3IPXVLAN                     = 0x89\n\tIFT_LAPB                          = 0x10\n\tIFT_LAPD                          = 0x4d\n\tIFT_LAPF                          = 0x77\n\tIFT_LOCALTALK                     = 0x2a\n\tIFT_LOOP                          = 0x18\n\tIFT_MEDIAMAILOVERIP               = 0x8b\n\tIFT_MFSIGLINK                     = 0xa7\n\tIFT_MIOX25                        = 0x26\n\tIFT_MODEM                         = 0x30\n\tIFT_MPC                           = 0x71\n\tIFT_MPLS                          = 0xa6\n\tIFT_MPLSTUNNEL                    = 0x96\n\tIFT_MSDSL                         = 0x8f\n\tIFT_MVL                           = 0xbf\n\tIFT_MYRINET                       = 0x63\n\tIFT_NFAS                          = 0xaf\n\tIFT_NSIP                          = 0x1b\n\tIFT_OPTICALCHANNEL                = 0xc3\n\tIFT_OPTICALTRANSPORT              = 0xc4\n\tIFT_OTHER                         = 0x1\n\tIFT_P10                           = 0xc\n\tIFT_P80                           = 0xd\n\tIFT_PARA                          = 0x22\n\tIFT_PFLOG                         = 0xf6\n\tIFT_PFSYNC                        = 0xf7\n\tIFT_PLC                           = 0xae\n\tIFT_POS                           = 0xab\n\tIFT_PPPMULTILINKBUNDLE            = 0x6c\n\tIFT_PROPBWAP2MP                   = 0xb8\n\tIFT_PROPCNLS                      = 0x59\n\tIFT_PROPDOCSWIRELESSDOWNSTREAM    = 0xb5\n\tIFT_PROPDOCSWIRELESSMACLAYER      = 0xb4\n\tIFT_PROPDOCSWIRELESSUPSTREAM      = 0xb6\n\tIFT_PROPMUX                       = 0x36\n\tIFT_PROPWIRELESSP2P               = 0x9d\n\tIFT_PTPSERIAL                     = 0x16\n\tIFT_PVC                           = 0xf1\n\tIFT_QLLC                          = 0x44\n\tIFT_RADIOMAC                      = 0xbc\n\tIFT_RADSL                         = 0x5f\n\tIFT_REACHDSL                      = 0xc0\n\tIFT_RFC1483                       = 0x9f\n\tIFT_RS232                         = 0x21\n\tIFT_RSRB                          = 0x4f\n\tIFT_SDLC                          = 0x11\n\tIFT_SDSL                          = 0x60\n\tIFT_SHDSL                         = 0xa9\n\tIFT_SIP                           = 0x1f\n\tIFT_SLIP                          = 0x1c\n\tIFT_SMDSDXI                       = 0x2b\n\tIFT_SMDSICIP                      = 0x34\n\tIFT_SONET                         = 0x27\n\tIFT_SONETOVERHEADCHANNEL          = 0xb9\n\tIFT_SONETPATH                     = 0x32\n\tIFT_SONETVT                       = 0x33\n\tIFT_SRP                           = 0x97\n\tIFT_SS7SIGLINK                    = 0x9c\n\tIFT_STACKTOSTACK                  = 0x6f\n\tIFT_STARLAN                       = 0xb\n\tIFT_STF                           = 0xd7\n\tIFT_T1                            = 0x12\n\tIFT_TDLC                          = 0x74\n\tIFT_TERMPAD                       = 0x5b\n\tIFT_TR008                         = 0xb0\n\tIFT_TRANSPHDLC                    = 0x7b\n\tIFT_TUNNEL                        = 0x83\n\tIFT_ULTRA                         = 0x1d\n\tIFT_USB                           = 0xa0\n\tIFT_V11                           = 0x40\n\tIFT_V35                           = 0x2d\n\tIFT_V36                           = 0x41\n\tIFT_V37                           = 0x78\n\tIFT_VDSL                          = 0x61\n\tIFT_VIRTUALIPADDRESS              = 0x70\n\tIFT_VOICEEM                       = 0x64\n\tIFT_VOICEENCAP                    = 0x67\n\tIFT_VOICEFXO                      = 0x65\n\tIFT_VOICEFXS                      = 0x66\n\tIFT_VOICEOVERATM                  = 0x98\n\tIFT_VOICEOVERFRAMERELAY           = 0x99\n\tIFT_VOICEOVERIP                   = 0x68\n\tIFT_X213                          = 0x5d\n\tIFT_X25                           = 0x5\n\tIFT_X25DDN                        = 0x4\n\tIFT_X25HUNTGROUP                  = 0x7a\n\tIFT_X25MLP                        = 0x79\n\tIFT_X25PLE                        = 0x28\n\tIFT_XETHER                        = 0x1a\n\tIPPROTO_MAXID                     = 0x34\n\tIPV6_FAITH                        = 0x1d\n\tIP_FAITH                          = 0x16\n\tMAP_NORESERVE                     = 0x40\n\tMAP_RENAME                        = 0x20\n\tNET_RT_MAXID                      = 0x6\n\tRTF_PRCLONING                     = 0x10000\n\tRTM_OLDADD                        = 0x9\n\tRTM_OLDDEL                        = 0xa\n\tSIOCADDRT                         = 0x8030720a\n\tSIOCALIFADDR                      = 0x8118691b\n\tSIOCDELRT                         = 0x8030720b\n\tSIOCDLIFADDR                      = 0x8118691d\n\tSIOCGLIFADDR                      = 0xc118691c\n\tSIOCGLIFPHYADDR                   = 0xc118694b\n\tSIOCSLIFPHYADDR                   = 0x8118694a\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Constants that were deprecated or moved to enums in the FreeBSD headers. Keep\n// them here for backwards compatibility.\n\npackage unix\n\nconst (\n\tIFF_SMART                         = 0x20\n\tIFT_1822                          = 0x2\n\tIFT_A12MPPSWITCH                  = 0x82\n\tIFT_AAL2                          = 0xbb\n\tIFT_AAL5                          = 0x31\n\tIFT_ADSL                          = 0x5e\n\tIFT_AFLANE8023                    = 0x3b\n\tIFT_AFLANE8025                    = 0x3c\n\tIFT_ARAP                          = 0x58\n\tIFT_ARCNET                        = 0x23\n\tIFT_ARCNETPLUS                    = 0x24\n\tIFT_ASYNC                         = 0x54\n\tIFT_ATM                           = 0x25\n\tIFT_ATMDXI                        = 0x69\n\tIFT_ATMFUNI                       = 0x6a\n\tIFT_ATMIMA                        = 0x6b\n\tIFT_ATMLOGICAL                    = 0x50\n\tIFT_ATMRADIO                      = 0xbd\n\tIFT_ATMSUBINTERFACE               = 0x86\n\tIFT_ATMVCIENDPT                   = 0xc2\n\tIFT_ATMVIRTUAL                    = 0x95\n\tIFT_BGPPOLICYACCOUNTING           = 0xa2\n\tIFT_BSC                           = 0x53\n\tIFT_CCTEMUL                       = 0x3d\n\tIFT_CEPT                          = 0x13\n\tIFT_CES                           = 0x85\n\tIFT_CHANNEL                       = 0x46\n\tIFT_CNR                           = 0x55\n\tIFT_COFFEE                        = 0x84\n\tIFT_COMPOSITELINK                 = 0x9b\n\tIFT_DCN                           = 0x8d\n\tIFT_DIGITALPOWERLINE              = 0x8a\n\tIFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba\n\tIFT_DLSW                          = 0x4a\n\tIFT_DOCSCABLEDOWNSTREAM           = 0x80\n\tIFT_DOCSCABLEMACLAYER             = 0x7f\n\tIFT_DOCSCABLEUPSTREAM             = 0x81\n\tIFT_DS0                           = 0x51\n\tIFT_DS0BUNDLE                     = 0x52\n\tIFT_DS1FDL                        = 0xaa\n\tIFT_DS3                           = 0x1e\n\tIFT_DTM                           = 0x8c\n\tIFT_DVBASILN                      = 0xac\n\tIFT_DVBASIOUT                     = 0xad\n\tIFT_DVBRCCDOWNSTREAM              = 0x93\n\tIFT_DVBRCCMACLAYER                = 0x92\n\tIFT_DVBRCCUPSTREAM                = 0x94\n\tIFT_ENC                           = 0xf4\n\tIFT_EON                           = 0x19\n\tIFT_EPLRS                         = 0x57\n\tIFT_ESCON                         = 0x49\n\tIFT_ETHER                         = 0x6\n\tIFT_FAITH                         = 0xf2\n\tIFT_FAST                          = 0x7d\n\tIFT_FASTETHER                     = 0x3e\n\tIFT_FASTETHERFX                   = 0x45\n\tIFT_FDDI                          = 0xf\n\tIFT_FIBRECHANNEL                  = 0x38\n\tIFT_FRAMERELAYINTERCONNECT        = 0x3a\n\tIFT_FRAMERELAYMPI                 = 0x5c\n\tIFT_FRDLCIENDPT                   = 0xc1\n\tIFT_FRELAY                        = 0x20\n\tIFT_FRELAYDCE                     = 0x2c\n\tIFT_FRF16MFRBUNDLE                = 0xa3\n\tIFT_FRFORWARD                     = 0x9e\n\tIFT_G703AT2MB                     = 0x43\n\tIFT_G703AT64K                     = 0x42\n\tIFT_GIF                           = 0xf0\n\tIFT_GIGABITETHERNET               = 0x75\n\tIFT_GR303IDT                      = 0xb2\n\tIFT_GR303RDT                      = 0xb1\n\tIFT_H323GATEKEEPER                = 0xa4\n\tIFT_H323PROXY                     = 0xa5\n\tIFT_HDH1822                       = 0x3\n\tIFT_HDLC                          = 0x76\n\tIFT_HDSL2                         = 0xa8\n\tIFT_HIPERLAN2                     = 0xb7\n\tIFT_HIPPI                         = 0x2f\n\tIFT_HIPPIINTERFACE                = 0x39\n\tIFT_HOSTPAD                       = 0x5a\n\tIFT_HSSI                          = 0x2e\n\tIFT_HY                            = 0xe\n\tIFT_IBM370PARCHAN                 = 0x48\n\tIFT_IDSL                          = 0x9a\n\tIFT_IEEE80211                     = 0x47\n\tIFT_IEEE80212                     = 0x37\n\tIFT_IEEE8023ADLAG                 = 0xa1\n\tIFT_IFGSN                         = 0x91\n\tIFT_IMT                           = 0xbe\n\tIFT_INTERLEAVE                    = 0x7c\n\tIFT_IP                            = 0x7e\n\tIFT_IPFORWARD                     = 0x8e\n\tIFT_IPOVERATM                     = 0x72\n\tIFT_IPOVERCDLC                    = 0x6d\n\tIFT_IPOVERCLAW                    = 0x6e\n\tIFT_IPSWITCH                      = 0x4e\n\tIFT_IPXIP                         = 0xf9\n\tIFT_ISDN                          = 0x3f\n\tIFT_ISDNBASIC                     = 0x14\n\tIFT_ISDNPRIMARY                   = 0x15\n\tIFT_ISDNS                         = 0x4b\n\tIFT_ISDNU                         = 0x4c\n\tIFT_ISO88022LLC                   = 0x29\n\tIFT_ISO88023                      = 0x7\n\tIFT_ISO88024                      = 0x8\n\tIFT_ISO88025                      = 0x9\n\tIFT_ISO88025CRFPINT               = 0x62\n\tIFT_ISO88025DTR                   = 0x56\n\tIFT_ISO88025FIBER                 = 0x73\n\tIFT_ISO88026                      = 0xa\n\tIFT_ISUP                          = 0xb3\n\tIFT_L3IPXVLAN                     = 0x89\n\tIFT_LAPB                          = 0x10\n\tIFT_LAPD                          = 0x4d\n\tIFT_LAPF                          = 0x77\n\tIFT_LOCALTALK                     = 0x2a\n\tIFT_LOOP                          = 0x18\n\tIFT_MEDIAMAILOVERIP               = 0x8b\n\tIFT_MFSIGLINK                     = 0xa7\n\tIFT_MIOX25                        = 0x26\n\tIFT_MODEM                         = 0x30\n\tIFT_MPC                           = 0x71\n\tIFT_MPLS                          = 0xa6\n\tIFT_MPLSTUNNEL                    = 0x96\n\tIFT_MSDSL                         = 0x8f\n\tIFT_MVL                           = 0xbf\n\tIFT_MYRINET                       = 0x63\n\tIFT_NFAS                          = 0xaf\n\tIFT_NSIP                          = 0x1b\n\tIFT_OPTICALCHANNEL                = 0xc3\n\tIFT_OPTICALTRANSPORT              = 0xc4\n\tIFT_OTHER                         = 0x1\n\tIFT_P10                           = 0xc\n\tIFT_P80                           = 0xd\n\tIFT_PARA                          = 0x22\n\tIFT_PFLOG                         = 0xf6\n\tIFT_PFSYNC                        = 0xf7\n\tIFT_PLC                           = 0xae\n\tIFT_POS                           = 0xab\n\tIFT_PPPMULTILINKBUNDLE            = 0x6c\n\tIFT_PROPBWAP2MP                   = 0xb8\n\tIFT_PROPCNLS                      = 0x59\n\tIFT_PROPDOCSWIRELESSDOWNSTREAM    = 0xb5\n\tIFT_PROPDOCSWIRELESSMACLAYER      = 0xb4\n\tIFT_PROPDOCSWIRELESSUPSTREAM      = 0xb6\n\tIFT_PROPMUX                       = 0x36\n\tIFT_PROPWIRELESSP2P               = 0x9d\n\tIFT_PTPSERIAL                     = 0x16\n\tIFT_PVC                           = 0xf1\n\tIFT_QLLC                          = 0x44\n\tIFT_RADIOMAC                      = 0xbc\n\tIFT_RADSL                         = 0x5f\n\tIFT_REACHDSL                      = 0xc0\n\tIFT_RFC1483                       = 0x9f\n\tIFT_RS232                         = 0x21\n\tIFT_RSRB                          = 0x4f\n\tIFT_SDLC                          = 0x11\n\tIFT_SDSL                          = 0x60\n\tIFT_SHDSL                         = 0xa9\n\tIFT_SIP                           = 0x1f\n\tIFT_SLIP                          = 0x1c\n\tIFT_SMDSDXI                       = 0x2b\n\tIFT_SMDSICIP                      = 0x34\n\tIFT_SONET                         = 0x27\n\tIFT_SONETOVERHEADCHANNEL          = 0xb9\n\tIFT_SONETPATH                     = 0x32\n\tIFT_SONETVT                       = 0x33\n\tIFT_SRP                           = 0x97\n\tIFT_SS7SIGLINK                    = 0x9c\n\tIFT_STACKTOSTACK                  = 0x6f\n\tIFT_STARLAN                       = 0xb\n\tIFT_STF                           = 0xd7\n\tIFT_T1                            = 0x12\n\tIFT_TDLC                          = 0x74\n\tIFT_TERMPAD                       = 0x5b\n\tIFT_TR008                         = 0xb0\n\tIFT_TRANSPHDLC                    = 0x7b\n\tIFT_TUNNEL                        = 0x83\n\tIFT_ULTRA                         = 0x1d\n\tIFT_USB                           = 0xa0\n\tIFT_V11                           = 0x40\n\tIFT_V35                           = 0x2d\n\tIFT_V36                           = 0x41\n\tIFT_V37                           = 0x78\n\tIFT_VDSL                          = 0x61\n\tIFT_VIRTUALIPADDRESS              = 0x70\n\tIFT_VOICEEM                       = 0x64\n\tIFT_VOICEENCAP                    = 0x67\n\tIFT_VOICEFXO                      = 0x65\n\tIFT_VOICEFXS                      = 0x66\n\tIFT_VOICEOVERATM                  = 0x98\n\tIFT_VOICEOVERFRAMERELAY           = 0x99\n\tIFT_VOICEOVERIP                   = 0x68\n\tIFT_X213                          = 0x5d\n\tIFT_X25                           = 0x5\n\tIFT_X25DDN                        = 0x4\n\tIFT_X25HUNTGROUP                  = 0x7a\n\tIFT_X25MLP                        = 0x79\n\tIFT_X25PLE                        = 0x28\n\tIFT_XETHER                        = 0x1a\n\tIPPROTO_MAXID                     = 0x34\n\tIPV6_FAITH                        = 0x1d\n\tIP_FAITH                          = 0x16\n\tMAP_NORESERVE                     = 0x40\n\tMAP_RENAME                        = 0x20\n\tNET_RT_MAXID                      = 0x6\n\tRTF_PRCLONING                     = 0x10000\n\tRTM_OLDADD                        = 0x9\n\tRTM_OLDDEL                        = 0xa\n\tSIOCADDRT                         = 0x8040720a\n\tSIOCALIFADDR                      = 0x8118691b\n\tSIOCDELRT                         = 0x8040720b\n\tSIOCDLIFADDR                      = 0x8118691d\n\tSIOCGLIFADDR                      = 0xc118691c\n\tSIOCGLIFPHYADDR                   = 0xc118694b\n\tSIOCSLIFPHYADDR                   = 0x8118694a\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/errors_freebsd_arm.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage unix\n\nconst (\n\tIFT_1822                          = 0x2\n\tIFT_A12MPPSWITCH                  = 0x82\n\tIFT_AAL2                          = 0xbb\n\tIFT_AAL5                          = 0x31\n\tIFT_ADSL                          = 0x5e\n\tIFT_AFLANE8023                    = 0x3b\n\tIFT_AFLANE8025                    = 0x3c\n\tIFT_ARAP                          = 0x58\n\tIFT_ARCNET                        = 0x23\n\tIFT_ARCNETPLUS                    = 0x24\n\tIFT_ASYNC                         = 0x54\n\tIFT_ATM                           = 0x25\n\tIFT_ATMDXI                        = 0x69\n\tIFT_ATMFUNI                       = 0x6a\n\tIFT_ATMIMA                        = 0x6b\n\tIFT_ATMLOGICAL                    = 0x50\n\tIFT_ATMRADIO                      = 0xbd\n\tIFT_ATMSUBINTERFACE               = 0x86\n\tIFT_ATMVCIENDPT                   = 0xc2\n\tIFT_ATMVIRTUAL                    = 0x95\n\tIFT_BGPPOLICYACCOUNTING           = 0xa2\n\tIFT_BSC                           = 0x53\n\tIFT_CCTEMUL                       = 0x3d\n\tIFT_CEPT                          = 0x13\n\tIFT_CES                           = 0x85\n\tIFT_CHANNEL                       = 0x46\n\tIFT_CNR                           = 0x55\n\tIFT_COFFEE                        = 0x84\n\tIFT_COMPOSITELINK                 = 0x9b\n\tIFT_DCN                           = 0x8d\n\tIFT_DIGITALPOWERLINE              = 0x8a\n\tIFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba\n\tIFT_DLSW                          = 0x4a\n\tIFT_DOCSCABLEDOWNSTREAM           = 0x80\n\tIFT_DOCSCABLEMACLAYER             = 0x7f\n\tIFT_DOCSCABLEUPSTREAM             = 0x81\n\tIFT_DS0                           = 0x51\n\tIFT_DS0BUNDLE                     = 0x52\n\tIFT_DS1FDL                        = 0xaa\n\tIFT_DS3                           = 0x1e\n\tIFT_DTM                           = 0x8c\n\tIFT_DVBASILN                      = 0xac\n\tIFT_DVBASIOUT                     = 0xad\n\tIFT_DVBRCCDOWNSTREAM              = 0x93\n\tIFT_DVBRCCMACLAYER                = 0x92\n\tIFT_DVBRCCUPSTREAM                = 0x94\n\tIFT_ENC                           = 0xf4\n\tIFT_EON                           = 0x19\n\tIFT_EPLRS                         = 0x57\n\tIFT_ESCON                         = 0x49\n\tIFT_ETHER                         = 0x6\n\tIFT_FAST                          = 0x7d\n\tIFT_FASTETHER                     = 0x3e\n\tIFT_FASTETHERFX                   = 0x45\n\tIFT_FDDI                          = 0xf\n\tIFT_FIBRECHANNEL                  = 0x38\n\tIFT_FRAMERELAYINTERCONNECT        = 0x3a\n\tIFT_FRAMERELAYMPI                 = 0x5c\n\tIFT_FRDLCIENDPT                   = 0xc1\n\tIFT_FRELAY                        = 0x20\n\tIFT_FRELAYDCE                     = 0x2c\n\tIFT_FRF16MFRBUNDLE                = 0xa3\n\tIFT_FRFORWARD                     = 0x9e\n\tIFT_G703AT2MB                     = 0x43\n\tIFT_G703AT64K                     = 0x42\n\tIFT_GIF                           = 0xf0\n\tIFT_GIGABITETHERNET               = 0x75\n\tIFT_GR303IDT                      = 0xb2\n\tIFT_GR303RDT                      = 0xb1\n\tIFT_H323GATEKEEPER                = 0xa4\n\tIFT_H323PROXY                     = 0xa5\n\tIFT_HDH1822                       = 0x3\n\tIFT_HDLC                          = 0x76\n\tIFT_HDSL2                         = 0xa8\n\tIFT_HIPERLAN2                     = 0xb7\n\tIFT_HIPPI                         = 0x2f\n\tIFT_HIPPIINTERFACE                = 0x39\n\tIFT_HOSTPAD                       = 0x5a\n\tIFT_HSSI                          = 0x2e\n\tIFT_HY                            = 0xe\n\tIFT_IBM370PARCHAN                 = 0x48\n\tIFT_IDSL                          = 0x9a\n\tIFT_IEEE80211                     = 0x47\n\tIFT_IEEE80212                     = 0x37\n\tIFT_IEEE8023ADLAG                 = 0xa1\n\tIFT_IFGSN                         = 0x91\n\tIFT_IMT                           = 0xbe\n\tIFT_INTERLEAVE                    = 0x7c\n\tIFT_IP                            = 0x7e\n\tIFT_IPFORWARD                     = 0x8e\n\tIFT_IPOVERATM                     = 0x72\n\tIFT_IPOVERCDLC                    = 0x6d\n\tIFT_IPOVERCLAW                    = 0x6e\n\tIFT_IPSWITCH                      = 0x4e\n\tIFT_ISDN                          = 0x3f\n\tIFT_ISDNBASIC                     = 0x14\n\tIFT_ISDNPRIMARY                   = 0x15\n\tIFT_ISDNS                         = 0x4b\n\tIFT_ISDNU                         = 0x4c\n\tIFT_ISO88022LLC                   = 0x29\n\tIFT_ISO88023                      = 0x7\n\tIFT_ISO88024                      = 0x8\n\tIFT_ISO88025                      = 0x9\n\tIFT_ISO88025CRFPINT               = 0x62\n\tIFT_ISO88025DTR                   = 0x56\n\tIFT_ISO88025FIBER                 = 0x73\n\tIFT_ISO88026                      = 0xa\n\tIFT_ISUP                          = 0xb3\n\tIFT_L3IPXVLAN                     = 0x89\n\tIFT_LAPB                          = 0x10\n\tIFT_LAPD                          = 0x4d\n\tIFT_LAPF                          = 0x77\n\tIFT_LOCALTALK                     = 0x2a\n\tIFT_LOOP                          = 0x18\n\tIFT_MEDIAMAILOVERIP               = 0x8b\n\tIFT_MFSIGLINK                     = 0xa7\n\tIFT_MIOX25                        = 0x26\n\tIFT_MODEM                         = 0x30\n\tIFT_MPC                           = 0x71\n\tIFT_MPLS                          = 0xa6\n\tIFT_MPLSTUNNEL                    = 0x96\n\tIFT_MSDSL                         = 0x8f\n\tIFT_MVL                           = 0xbf\n\tIFT_MYRINET                       = 0x63\n\tIFT_NFAS                          = 0xaf\n\tIFT_NSIP                          = 0x1b\n\tIFT_OPTICALCHANNEL                = 0xc3\n\tIFT_OPTICALTRANSPORT              = 0xc4\n\tIFT_OTHER                         = 0x1\n\tIFT_P10                           = 0xc\n\tIFT_P80                           = 0xd\n\tIFT_PARA                          = 0x22\n\tIFT_PFLOG                         = 0xf6\n\tIFT_PFSYNC                        = 0xf7\n\tIFT_PLC                           = 0xae\n\tIFT_POS                           = 0xab\n\tIFT_PPPMULTILINKBUNDLE            = 0x6c\n\tIFT_PROPBWAP2MP                   = 0xb8\n\tIFT_PROPCNLS                      = 0x59\n\tIFT_PROPDOCSWIRELESSDOWNSTREAM    = 0xb5\n\tIFT_PROPDOCSWIRELESSMACLAYER      = 0xb4\n\tIFT_PROPDOCSWIRELESSUPSTREAM      = 0xb6\n\tIFT_PROPMUX                       = 0x36\n\tIFT_PROPWIRELESSP2P               = 0x9d\n\tIFT_PTPSERIAL                     = 0x16\n\tIFT_PVC                           = 0xf1\n\tIFT_QLLC                          = 0x44\n\tIFT_RADIOMAC                      = 0xbc\n\tIFT_RADSL                         = 0x5f\n\tIFT_REACHDSL                      = 0xc0\n\tIFT_RFC1483                       = 0x9f\n\tIFT_RS232                         = 0x21\n\tIFT_RSRB                          = 0x4f\n\tIFT_SDLC                          = 0x11\n\tIFT_SDSL                          = 0x60\n\tIFT_SHDSL                         = 0xa9\n\tIFT_SIP                           = 0x1f\n\tIFT_SLIP                          = 0x1c\n\tIFT_SMDSDXI                       = 0x2b\n\tIFT_SMDSICIP                      = 0x34\n\tIFT_SONET                         = 0x27\n\tIFT_SONETOVERHEADCHANNEL          = 0xb9\n\tIFT_SONETPATH                     = 0x32\n\tIFT_SONETVT                       = 0x33\n\tIFT_SRP                           = 0x97\n\tIFT_SS7SIGLINK                    = 0x9c\n\tIFT_STACKTOSTACK                  = 0x6f\n\tIFT_STARLAN                       = 0xb\n\tIFT_STF                           = 0xd7\n\tIFT_T1                            = 0x12\n\tIFT_TDLC                          = 0x74\n\tIFT_TERMPAD                       = 0x5b\n\tIFT_TR008                         = 0xb0\n\tIFT_TRANSPHDLC                    = 0x7b\n\tIFT_TUNNEL                        = 0x83\n\tIFT_ULTRA                         = 0x1d\n\tIFT_USB                           = 0xa0\n\tIFT_V11                           = 0x40\n\tIFT_V35                           = 0x2d\n\tIFT_V36                           = 0x41\n\tIFT_V37                           = 0x78\n\tIFT_VDSL                          = 0x61\n\tIFT_VIRTUALIPADDRESS              = 0x70\n\tIFT_VOICEEM                       = 0x64\n\tIFT_VOICEENCAP                    = 0x67\n\tIFT_VOICEFXO                      = 0x65\n\tIFT_VOICEFXS                      = 0x66\n\tIFT_VOICEOVERATM                  = 0x98\n\tIFT_VOICEOVERFRAMERELAY           = 0x99\n\tIFT_VOICEOVERIP                   = 0x68\n\tIFT_X213                          = 0x5d\n\tIFT_X25                           = 0x5\n\tIFT_X25DDN                        = 0x4\n\tIFT_X25HUNTGROUP                  = 0x7a\n\tIFT_X25MLP                        = 0x79\n\tIFT_X25PLE                        = 0x28\n\tIFT_XETHER                        = 0x1a\n\n\t// missing constants on FreeBSD-11.1-RELEASE, copied from old values in ztypes_freebsd_arm.go\n\tIFF_SMART       = 0x20\n\tIFT_FAITH       = 0xf2\n\tIFT_IPXIP       = 0xf9\n\tIPPROTO_MAXID   = 0x34\n\tIPV6_FAITH      = 0x1d\n\tIP_FAITH        = 0x16\n\tMAP_NORESERVE   = 0x40\n\tMAP_RENAME      = 0x20\n\tNET_RT_MAXID    = 0x6\n\tRTF_PRCLONING   = 0x10000\n\tRTM_OLDADD      = 0x9\n\tRTM_OLDDEL      = 0xa\n\tSIOCADDRT       = 0x8030720a\n\tSIOCALIFADDR    = 0x8118691b\n\tSIOCDELRT       = 0x8030720b\n\tSIOCDLIFADDR    = 0x8118691d\n\tSIOCGLIFADDR    = 0xc118691c\n\tSIOCGLIFPHYADDR = 0xc118694b\n\tSIOCSLIFPHYADDR = 0x8118694a\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/fcntl.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build darwin dragonfly freebsd linux netbsd openbsd\n\npackage unix\n\nimport \"unsafe\"\n\n// fcntl64Syscall is usually SYS_FCNTL, but is overridden on 32-bit Linux\n// systems by flock_linux_32bit.go to be SYS_FCNTL64.\nvar fcntl64Syscall uintptr = SYS_FCNTL\n\n// FcntlInt performs a fcntl syscall on fd with the provided command and argument.\nfunc FcntlInt(fd uintptr, cmd, arg int) (int, error) {\n\tvalptr, _, errno := Syscall(fcntl64Syscall, fd, uintptr(cmd), uintptr(arg))\n\tvar err error\n\tif errno != 0 {\n\t\terr = errno\n\t}\n\treturn int(valptr), err\n}\n\n// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command.\nfunc FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error {\n\t_, _, errno := Syscall(fcntl64Syscall, fd, uintptr(cmd), uintptr(unsafe.Pointer(lk)))\n\tif errno == 0 {\n\t\treturn nil\n\t}\n\treturn errno\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go",
    "content": "// +build linux,386 linux,arm linux,mips linux,mipsle\n\n// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage unix\n\nfunc init() {\n\t// On 32-bit Linux systems, the fcntl syscall that matches Go's\n\t// Flock_t type is SYS_FCNTL64, not SYS_FCNTL.\n\tfcntl64Syscall = SYS_FCNTL64\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/gccgo.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build gccgo\n\npackage unix\n\nimport \"syscall\"\n\n// We can't use the gc-syntax .s files for gccgo. On the plus side\n// much of the functionality can be written directly in Go.\n\n//extern gccgoRealSyscallNoError\nfunc realSyscallNoError(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r uintptr)\n\n//extern gccgoRealSyscall\nfunc realSyscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r, errno uintptr)\n\nfunc SyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) {\n\tsyscall.Entersyscall()\n\tr := realSyscallNoError(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0)\n\tsyscall.Exitsyscall()\n\treturn r, 0\n}\n\nfunc Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) {\n\tsyscall.Entersyscall()\n\tr, errno := realSyscall(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0)\n\tsyscall.Exitsyscall()\n\treturn r, 0, syscall.Errno(errno)\n}\n\nfunc Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) {\n\tsyscall.Entersyscall()\n\tr, errno := realSyscall(trap, a1, a2, a3, a4, a5, a6, 0, 0, 0)\n\tsyscall.Exitsyscall()\n\treturn r, 0, syscall.Errno(errno)\n}\n\nfunc Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) {\n\tsyscall.Entersyscall()\n\tr, errno := realSyscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9)\n\tsyscall.Exitsyscall()\n\treturn r, 0, syscall.Errno(errno)\n}\n\nfunc RawSyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) {\n\tr := realSyscallNoError(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0)\n\treturn r, 0\n}\n\nfunc RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) {\n\tr, errno := realSyscall(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0)\n\treturn r, 0, syscall.Errno(errno)\n}\n\nfunc RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) {\n\tr, errno := realSyscall(trap, a1, a2, a3, a4, a5, a6, 0, 0, 0)\n\treturn r, 0, syscall.Errno(errno)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/gccgo_c.c",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build gccgo\n\n#include <errno.h>\n#include <stdint.h>\n#include <unistd.h>\n\n#define _STRINGIFY2_(x) #x\n#define _STRINGIFY_(x) _STRINGIFY2_(x)\n#define GOSYM_PREFIX _STRINGIFY_(__USER_LABEL_PREFIX__)\n\n// Call syscall from C code because the gccgo support for calling from\n// Go to C does not support varargs functions.\n\nstruct ret {\n\tuintptr_t r;\n\tuintptr_t err;\n};\n\nstruct ret\ngccgoRealSyscall(uintptr_t trap, uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4, uintptr_t a5, uintptr_t a6, uintptr_t a7, uintptr_t a8, uintptr_t a9)\n{\n\tstruct ret r;\n\n\terrno = 0;\n\tr.r = syscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9);\n\tr.err = errno;\n\treturn r;\n}\n\nuintptr_t\ngccgoRealSyscallNoError(uintptr_t trap, uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4, uintptr_t a5, uintptr_t a6, uintptr_t a7, uintptr_t a8, uintptr_t a9)\n{\n\treturn syscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9);\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build gccgo,linux,amd64\n\npackage unix\n\nimport \"syscall\"\n\n//extern gettimeofday\nfunc realGettimeofday(*Timeval, *byte) int32\n\nfunc gettimeofday(tv *Timeval) (err syscall.Errno) {\n\tr := realGettimeofday(tv, nil)\n\tif r < 0 {\n\t\treturn syscall.GetErrno()\n\t}\n\treturn 0\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ioctl.go",
    "content": "// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build darwin dragonfly freebsd linux netbsd openbsd solaris\n\npackage unix\n\nimport \"runtime\"\n\n// IoctlSetWinsize performs an ioctl on fd with a *Winsize argument.\n//\n// To change fd's window size, the req argument should be TIOCSWINSZ.\nfunc IoctlSetWinsize(fd int, req uint, value *Winsize) error {\n\t// TODO: if we get the chance, remove the req parameter and\n\t// hardcode TIOCSWINSZ.\n\terr := ioctlSetWinsize(fd, req, value)\n\truntime.KeepAlive(value)\n\treturn err\n}\n\n// IoctlSetTermios performs an ioctl on fd with a *Termios.\n//\n// The req value will usually be TCSETA or TIOCSETA.\nfunc IoctlSetTermios(fd int, req uint, value *Termios) error {\n\t// TODO: if we get the chance, remove the req parameter.\n\terr := ioctlSetTermios(fd, req, value)\n\truntime.KeepAlive(value)\n\treturn err\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/mkall.sh",
    "content": "#!/usr/bin/env bash\n# Copyright 2009 The Go Authors. All rights reserved.\n# Use of this source code is governed by a BSD-style\n# license that can be found in the LICENSE file.\n\n# This script runs or (given -n) prints suggested commands to generate files for\n# the Architecture/OS specified by the GOARCH and GOOS environment variables.\n# See README.md for more information about how the build system works.\n\nGOOSARCH=\"${GOOS}_${GOARCH}\"\n\n# defaults\nmksyscall=\"./mksyscall.pl\"\nmkerrors=\"./mkerrors.sh\"\nzerrors=\"zerrors_$GOOSARCH.go\"\nmksysctl=\"\"\nzsysctl=\"zsysctl_$GOOSARCH.go\"\nmksysnum=\nmktypes=\nrun=\"sh\"\ncmd=\"\"\n\ncase \"$1\" in\n-syscalls)\n\tfor i in zsyscall*go\n\tdo\n\t\t# Run the command line that appears in the first line\n\t\t# of the generated file to regenerate it.\n\t\tsed 1q $i | sed 's;^// ;;' | sh > _$i && gofmt < _$i > $i\n\t\trm _$i\n\tdone\n\texit 0\n\t;;\n-n)\n\trun=\"cat\"\n\tcmd=\"echo\"\n\tshift\nesac\n\ncase \"$#\" in\n0)\n\t;;\n*)\n\techo 'usage: mkall.sh [-n]' 1>&2\n\texit 2\nesac\n\nif [[ \"$GOOS\" = \"linux\" ]] && [[ \"$GOARCH\" != \"sparc64\" ]]; then\n\t# Use then new build system\n\t# Files generated through docker (use $cmd so you can Ctl-C the build or run)\n\t$cmd docker build --tag generate:$GOOS $GOOS\n\t$cmd docker run --interactive --tty --volume $(dirname \"$(readlink -f \"$0\")\"):/build generate:$GOOS\n\texit\nfi\n\nGOOSARCH_in=syscall_$GOOSARCH.go\ncase \"$GOOSARCH\" in\n_* | *_ | _)\n\techo 'undefined $GOOS_$GOARCH:' \"$GOOSARCH\" 1>&2\n\texit 1\n\t;;\ndarwin_386)\n\tmkerrors=\"$mkerrors -m32\"\n\tmksyscall=\"./mksyscall.pl -l32\"\n\tmksysnum=\"./mksysnum_darwin.pl $(xcrun --show-sdk-path --sdk macosx)/usr/include/sys/syscall.h\"\n\tmktypes=\"GOARCH=$GOARCH go tool cgo -godefs\"\n\t;;\ndarwin_amd64)\n\tmkerrors=\"$mkerrors -m64\"\n\tmksysnum=\"./mksysnum_darwin.pl $(xcrun --show-sdk-path --sdk macosx)/usr/include/sys/syscall.h\"\n\tmktypes=\"GOARCH=$GOARCH go tool cgo -godefs\"\n\t;;\ndarwin_arm)\n\tmkerrors=\"$mkerrors\"\n\tmksysnum=\"./mksysnum_darwin.pl $(xcrun --show-sdk-path --sdk iphoneos)/usr/include/sys/syscall.h\"\n\tmktypes=\"GOARCH=$GOARCH go tool cgo -godefs\"\n\t;;\ndarwin_arm64)\n\tmkerrors=\"$mkerrors -m64\"\n\tmksysnum=\"./mksysnum_darwin.pl $(xcrun --show-sdk-path --sdk iphoneos)/usr/include/sys/syscall.h\"\n\tmktypes=\"GOARCH=$GOARCH go tool cgo -godefs\"\n\t;;\ndragonfly_amd64)\n\tmkerrors=\"$mkerrors -m64\"\n\tmksyscall=\"./mksyscall.pl -dragonfly\"\n\tmksysnum=\"curl -s 'http://gitweb.dragonflybsd.org/dragonfly.git/blob_plain/HEAD:/sys/kern/syscalls.master' | ./mksysnum_dragonfly.pl\"\n\tmktypes=\"GOARCH=$GOARCH go tool cgo -godefs\"\n\t;;\nfreebsd_386)\n\tmkerrors=\"$mkerrors -m32\"\n\tmksyscall=\"./mksyscall.pl -l32\"\n\tmksysnum=\"curl -s 'http://svn.freebsd.org/base/stable/10/sys/kern/syscalls.master' | ./mksysnum_freebsd.pl\"\n\tmktypes=\"GOARCH=$GOARCH go tool cgo -godefs\"\n\t;;\nfreebsd_amd64)\n\tmkerrors=\"$mkerrors -m64\"\n\tmksysnum=\"curl -s 'http://svn.freebsd.org/base/stable/10/sys/kern/syscalls.master' | ./mksysnum_freebsd.pl\"\n\tmktypes=\"GOARCH=$GOARCH go tool cgo -godefs\"\n\t;;\nfreebsd_arm)\n\tmkerrors=\"$mkerrors\"\n\tmksyscall=\"./mksyscall.pl -l32 -arm\"\n\tmksysnum=\"curl -s 'http://svn.freebsd.org/base/stable/10/sys/kern/syscalls.master' | ./mksysnum_freebsd.pl\"\n\t# Let the type of C char be signed for making the bare syscall\n\t# API consistent across platforms.\n\tmktypes=\"GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char\"\n\t;;\nlinux_sparc64)\n\tGOOSARCH_in=syscall_linux_sparc64.go\n\tunistd_h=/usr/include/sparc64-linux-gnu/asm/unistd.h\n\tmkerrors=\"$mkerrors -m64\"\n\tmksysnum=\"./mksysnum_linux.pl $unistd_h\"\n\tmktypes=\"GOARCH=$GOARCH go tool cgo -godefs\"\n\t;;\nnetbsd_386)\n\tmkerrors=\"$mkerrors -m32\"\n\tmksyscall=\"./mksyscall.pl -l32 -netbsd\"\n\tmksysnum=\"curl -s 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master' | ./mksysnum_netbsd.pl\"\n\tmktypes=\"GOARCH=$GOARCH go tool cgo -godefs\"\n\t;;\nnetbsd_amd64)\n\tmkerrors=\"$mkerrors -m64\"\n\tmksyscall=\"./mksyscall.pl -netbsd\"\n\tmksysnum=\"curl -s 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master' | ./mksysnum_netbsd.pl\"\n\tmktypes=\"GOARCH=$GOARCH go tool cgo -godefs\"\n\t;;\nnetbsd_arm)\n\tmkerrors=\"$mkerrors\"\n\tmksyscall=\"./mksyscall.pl -l32 -netbsd -arm\"\n\tmksysnum=\"curl -s 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master' | ./mksysnum_netbsd.pl\"\n\t# Let the type of C char be signed for making the bare syscall\n\t# API consistent across platforms.\n\tmktypes=\"GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char\"\n\t;;\nopenbsd_386)\n\tmkerrors=\"$mkerrors -m32\"\n\tmksyscall=\"./mksyscall.pl -l32 -openbsd\"\n\tmksysctl=\"./mksysctl_openbsd.pl\"\n\tmksysnum=\"curl -s 'http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master' | ./mksysnum_openbsd.pl\"\n\tmktypes=\"GOARCH=$GOARCH go tool cgo -godefs\"\n\t;;\nopenbsd_amd64)\n\tmkerrors=\"$mkerrors -m64\"\n\tmksyscall=\"./mksyscall.pl -openbsd\"\n\tmksysctl=\"./mksysctl_openbsd.pl\"\n\tmksysnum=\"curl -s 'http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master' | ./mksysnum_openbsd.pl\"\n\tmktypes=\"GOARCH=$GOARCH go tool cgo -godefs\"\n\t;;\nopenbsd_arm)\n\tmkerrors=\"$mkerrors\"\n\tmksyscall=\"./mksyscall.pl -l32 -openbsd -arm\"\n\tmksysctl=\"./mksysctl_openbsd.pl\"\n\tmksysnum=\"curl -s 'http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master' | ./mksysnum_openbsd.pl\"\n\t# Let the type of C char be signed for making the bare syscall\n\t# API consistent across platforms.\n\tmktypes=\"GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char\"\n\t;;\nsolaris_amd64)\n\tmksyscall=\"./mksyscall_solaris.pl\"\n\tmkerrors=\"$mkerrors -m64\"\n\tmksysnum=\n\tmktypes=\"GOARCH=$GOARCH go tool cgo -godefs\"\n\t;;\n*)\n\techo 'unrecognized $GOOS_$GOARCH: ' \"$GOOSARCH\" 1>&2\n\texit 1\n\t;;\nesac\n\n(\n\tif [ -n \"$mkerrors\" ]; then echo \"$mkerrors |gofmt >$zerrors\"; fi\n\tcase \"$GOOS\" in\n\t*)\n\t\tsyscall_goos=\"syscall_$GOOS.go\"\n\t\tcase \"$GOOS\" in\n\t\tdarwin | dragonfly | freebsd | netbsd | openbsd)\n\t\t\tsyscall_goos=\"syscall_bsd.go $syscall_goos\"\n\t\t\t;;\n\t\tesac\n\t\tif [ -n \"$mksyscall\" ]; then echo \"$mksyscall -tags $GOOS,$GOARCH $syscall_goos $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.go\"; fi\n\t\t;;\n\tesac\n\tif [ -n \"$mksysctl\" ]; then echo \"$mksysctl |gofmt >$zsysctl\"; fi\n\tif [ -n \"$mksysnum\" ]; then echo \"$mksysnum |gofmt >zsysnum_$GOOSARCH.go\"; fi\n\tif [ -n \"$mktypes\" ]; then\n\t\techo \"$mktypes types_$GOOS.go | go run mkpost.go > ztypes_$GOOSARCH.go\";\n\tfi\n) | $run\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/mkerrors.sh",
    "content": "#!/usr/bin/env bash\n# Copyright 2009 The Go Authors. All rights reserved.\n# Use of this source code is governed by a BSD-style\n# license that can be found in the LICENSE file.\n\n# Generate Go code listing errors and other #defined constant\n# values (ENAMETOOLONG etc.), by asking the preprocessor\n# about the definitions.\n\nunset LANG\nexport LC_ALL=C\nexport LC_CTYPE=C\n\nif test -z \"$GOARCH\" -o -z \"$GOOS\"; then\n\techo 1>&2 \"GOARCH or GOOS not defined in environment\"\n\texit 1\nfi\n\n# Check that we are using the new build system if we should\nif [[ \"$GOOS\" = \"linux\" ]] && [[ \"$GOARCH\" != \"sparc64\" ]]; then\n\tif [[ \"$GOLANG_SYS_BUILD\" != \"docker\" ]]; then\n\t\techo 1>&2 \"In the new build system, mkerrors should not be called directly.\"\n\t\techo 1>&2 \"See README.md\"\n\t\texit 1\n\tfi\nfi\n\nCC=${CC:-cc}\n\nif [[ \"$GOOS\" = \"solaris\" ]]; then\n\t# Assumes GNU versions of utilities in PATH.\n\texport PATH=/usr/gnu/bin:$PATH\nfi\n\nuname=$(uname)\n\nincludes_Darwin='\n#define _DARWIN_C_SOURCE\n#define KERNEL\n#define _DARWIN_USE_64_BIT_INODE\n#include <stdint.h>\n#include <sys/attr.h>\n#include <sys/types.h>\n#include <sys/event.h>\n#include <sys/ptrace.h>\n#include <sys/socket.h>\n#include <sys/sockio.h>\n#include <sys/sysctl.h>\n#include <sys/mman.h>\n#include <sys/mount.h>\n#include <sys/utsname.h>\n#include <sys/wait.h>\n#include <sys/xattr.h>\n#include <net/bpf.h>\n#include <net/if.h>\n#include <net/if_types.h>\n#include <net/route.h>\n#include <netinet/in.h>\n#include <netinet/ip.h>\n#include <termios.h>\n'\n\nincludes_DragonFly='\n#include <sys/types.h>\n#include <sys/event.h>\n#include <sys/socket.h>\n#include <sys/sockio.h>\n#include <sys/stat.h>\n#include <sys/sysctl.h>\n#include <sys/mman.h>\n#include <sys/wait.h>\n#include <sys/ioctl.h>\n#include <net/bpf.h>\n#include <net/if.h>\n#include <net/if_types.h>\n#include <net/route.h>\n#include <netinet/in.h>\n#include <termios.h>\n#include <netinet/ip.h>\n#include <net/ip_mroute/ip_mroute.h>\n'\n\nincludes_FreeBSD='\n#include <sys/capability.h>\n#include <sys/param.h>\n#include <sys/types.h>\n#include <sys/event.h>\n#include <sys/socket.h>\n#include <sys/sockio.h>\n#include <sys/stat.h>\n#include <sys/sysctl.h>\n#include <sys/mman.h>\n#include <sys/mount.h>\n#include <sys/wait.h>\n#include <sys/ioctl.h>\n#include <net/bpf.h>\n#include <net/if.h>\n#include <net/if_types.h>\n#include <net/route.h>\n#include <netinet/in.h>\n#include <termios.h>\n#include <netinet/ip.h>\n#include <netinet/ip_mroute.h>\n#include <sys/extattr.h>\n\n#if __FreeBSD__ >= 10\n#define IFT_CARP\t0xf8\t// IFT_CARP is deprecated in FreeBSD 10\n#undef SIOCAIFADDR\n#define SIOCAIFADDR\t_IOW(105, 26, struct oifaliasreq)\t// ifaliasreq contains if_data\n#undef SIOCSIFPHYADDR\n#define SIOCSIFPHYADDR\t_IOW(105, 70, struct oifaliasreq)\t// ifaliasreq contains if_data\n#endif\n'\n\nincludes_Linux='\n#define _LARGEFILE_SOURCE\n#define _LARGEFILE64_SOURCE\n#ifndef __LP64__\n#define _FILE_OFFSET_BITS 64\n#endif\n#define _GNU_SOURCE\n\n// <sys/ioctl.h> is broken on powerpc64, as it fails to include definitions of\n// these structures. We just include them copied from <bits/termios.h>.\n#if defined(__powerpc__)\nstruct sgttyb {\n        char    sg_ispeed;\n        char    sg_ospeed;\n        char    sg_erase;\n        char    sg_kill;\n        short   sg_flags;\n};\n\nstruct tchars {\n        char    t_intrc;\n        char    t_quitc;\n        char    t_startc;\n        char    t_stopc;\n        char    t_eofc;\n        char    t_brkc;\n};\n\nstruct ltchars {\n        char    t_suspc;\n        char    t_dsuspc;\n        char    t_rprntc;\n        char    t_flushc;\n        char    t_werasc;\n        char    t_lnextc;\n};\n#endif\n\n#include <bits/sockaddr.h>\n#include <sys/epoll.h>\n#include <sys/eventfd.h>\n#include <sys/inotify.h>\n#include <sys/ioctl.h>\n#include <sys/mman.h>\n#include <sys/mount.h>\n#include <sys/prctl.h>\n#include <sys/stat.h>\n#include <sys/types.h>\n#include <sys/time.h>\n#include <sys/socket.h>\n#include <sys/xattr.h>\n#include <linux/if.h>\n#include <linux/if_alg.h>\n#include <linux/if_arp.h>\n#include <linux/if_ether.h>\n#include <linux/if_tun.h>\n#include <linux/if_packet.h>\n#include <linux/if_addr.h>\n#include <linux/falloc.h>\n#include <linux/filter.h>\n#include <linux/fs.h>\n#include <linux/keyctl.h>\n#include <linux/magic.h>\n#include <linux/netfilter/nfnetlink.h>\n#include <linux/netlink.h>\n#include <linux/net_namespace.h>\n#include <linux/perf_event.h>\n#include <linux/random.h>\n#include <linux/reboot.h>\n#include <linux/rtnetlink.h>\n#include <linux/ptrace.h>\n#include <linux/sched.h>\n#include <linux/seccomp.h>\n#include <linux/sockios.h>\n#include <linux/wait.h>\n#include <linux/icmpv6.h>\n#include <linux/serial.h>\n#include <linux/can.h>\n#include <linux/vm_sockets.h>\n#include <linux/taskstats.h>\n#include <linux/genetlink.h>\n#include <linux/watchdog.h>\n#include <linux/hdreg.h>\n#include <linux/rtc.h>\n#include <net/route.h>\n#include <asm/termbits.h>\n\n#ifndef MSG_FASTOPEN\n#define MSG_FASTOPEN    0x20000000\n#endif\n\n#ifndef PTRACE_GETREGS\n#define PTRACE_GETREGS\t0xc\n#endif\n\n#ifndef PTRACE_SETREGS\n#define PTRACE_SETREGS\t0xd\n#endif\n\n#ifndef SOL_NETLINK\n#define SOL_NETLINK\t270\n#endif\n\n#ifdef SOL_BLUETOOTH\n// SPARC includes this in /usr/include/sparc64-linux-gnu/bits/socket.h\n// but it is already in bluetooth_linux.go\n#undef SOL_BLUETOOTH\n#endif\n\n// Certain constants are missing from the fs/crypto UAPI\n#define FS_KEY_DESC_PREFIX              \"fscrypt:\"\n#define FS_KEY_DESC_PREFIX_SIZE         8\n#define FS_MAX_KEY_SIZE                 64\n'\n\nincludes_NetBSD='\n#include <sys/types.h>\n#include <sys/param.h>\n#include <sys/event.h>\n#include <sys/extattr.h>\n#include <sys/mman.h>\n#include <sys/socket.h>\n#include <sys/sockio.h>\n#include <sys/sysctl.h>\n#include <sys/termios.h>\n#include <sys/ttycom.h>\n#include <sys/wait.h>\n#include <net/bpf.h>\n#include <net/if.h>\n#include <net/if_types.h>\n#include <net/route.h>\n#include <netinet/in.h>\n#include <netinet/in_systm.h>\n#include <netinet/ip.h>\n#include <netinet/ip_mroute.h>\n#include <netinet/if_ether.h>\n\n// Needed since <sys/param.h> refers to it...\n#define schedppq 1\n'\n\nincludes_OpenBSD='\n#include <sys/types.h>\n#include <sys/param.h>\n#include <sys/event.h>\n#include <sys/mman.h>\n#include <sys/socket.h>\n#include <sys/sockio.h>\n#include <sys/stat.h>\n#include <sys/sysctl.h>\n#include <sys/termios.h>\n#include <sys/ttycom.h>\n#include <sys/unistd.h>\n#include <sys/wait.h>\n#include <net/bpf.h>\n#include <net/if.h>\n#include <net/if_types.h>\n#include <net/if_var.h>\n#include <net/route.h>\n#include <netinet/in.h>\n#include <netinet/in_systm.h>\n#include <netinet/ip.h>\n#include <netinet/ip_mroute.h>\n#include <netinet/if_ether.h>\n#include <net/if_bridge.h>\n\n// We keep some constants not supported in OpenBSD 5.5 and beyond for\n// the promise of compatibility.\n#define EMUL_ENABLED\t\t0x1\n#define EMUL_NATIVE\t\t0x2\n#define IPV6_FAITH\t\t0x1d\n#define IPV6_OPTIONS\t\t0x1\n#define IPV6_RTHDR_STRICT\t0x1\n#define IPV6_SOCKOPT_RESERVED1\t0x3\n#define SIOCGIFGENERIC\t\t0xc020693a\n#define SIOCSIFGENERIC\t\t0x80206939\n#define WALTSIG\t\t\t0x4\n'\n\nincludes_SunOS='\n#include <limits.h>\n#include <sys/types.h>\n#include <sys/socket.h>\n#include <sys/sockio.h>\n#include <sys/mman.h>\n#include <sys/wait.h>\n#include <sys/ioctl.h>\n#include <sys/mkdev.h>\n#include <net/bpf.h>\n#include <net/if.h>\n#include <net/if_arp.h>\n#include <net/if_types.h>\n#include <net/route.h>\n#include <netinet/in.h>\n#include <termios.h>\n#include <netinet/ip.h>\n#include <netinet/ip_mroute.h>\n'\n\n\nincludes='\n#include <sys/types.h>\n#include <sys/file.h>\n#include <fcntl.h>\n#include <dirent.h>\n#include <sys/socket.h>\n#include <netinet/in.h>\n#include <netinet/ip.h>\n#include <netinet/ip6.h>\n#include <netinet/tcp.h>\n#include <errno.h>\n#include <sys/signal.h>\n#include <signal.h>\n#include <sys/resource.h>\n#include <time.h>\n'\nccflags=\"$@\"\n\n# Write go tool cgo -godefs input.\n(\n\techo package unix\n\techo\n\techo '/*'\n\tindirect=\"includes_$(uname)\"\n\techo \"${!indirect} $includes\"\n\techo '*/'\n\techo 'import \"C\"'\n\techo 'import \"syscall\"'\n\techo\n\techo 'const ('\n\n\t# The gcc command line prints all the #defines\n\t# it encounters while processing the input\n\techo \"${!indirect} $includes\" | $CC -x c - -E -dM $ccflags |\n\tawk '\n\t\t$1 != \"#define\" || $2 ~ /\\(/ || $3 == \"\" {next}\n\n\t\t$2 ~ /^E([ABCD]X|[BIS]P|[SD]I|S|FL)$/ {next}  # 386 registers\n\t\t$2 ~ /^(SIGEV_|SIGSTKSZ|SIGRT(MIN|MAX))/ {next}\n\t\t$2 ~ /^(SCM_SRCRT)$/ {next}\n\t\t$2 ~ /^(MAP_FAILED)$/ {next}\n\t\t$2 ~ /^ELF_.*$/ {next}# <asm/elf.h> contains ELF_ARCH, etc.\n\n\t\t$2 ~ /^EXTATTR_NAMESPACE_NAMES/ ||\n\t\t$2 ~ /^EXTATTR_NAMESPACE_[A-Z]+_STRING/ {next}\n\n\t\t$2 !~ /^ETH_/ &&\n\t\t$2 !~ /^EPROC_/ &&\n\t\t$2 !~ /^EQUIV_/ &&\n\t\t$2 !~ /^EXPR_/ &&\n\t\t$2 ~ /^E[A-Z0-9_]+$/ ||\n\t\t$2 ~ /^B[0-9_]+$/ ||\n\t\t$2 ~ /^(OLD|NEW)DEV$/ ||\n\t\t$2 == \"BOTHER\" ||\n\t\t$2 ~ /^CI?BAUD(EX)?$/ ||\n\t\t$2 == \"IBSHIFT\" ||\n\t\t$2 ~ /^V[A-Z0-9]+$/ ||\n\t\t$2 ~ /^CS[A-Z0-9]/ ||\n\t\t$2 ~ /^I(SIG|CANON|CRNL|UCLC|EXTEN|MAXBEL|STRIP|UTF8)$/ ||\n\t\t$2 ~ /^IGN/ ||\n\t\t$2 ~ /^IX(ON|ANY|OFF)$/ ||\n\t\t$2 ~ /^IN(LCR|PCK)$/ ||\n\t\t$2 !~ \"X86_CR3_PCID_NOFLUSH\" &&\n\t\t$2 ~ /(^FLU?SH)|(FLU?SH$)/ ||\n\t\t$2 ~ /^C(LOCAL|READ|MSPAR|RTSCTS)$/ ||\n\t\t$2 == \"BRKINT\" ||\n\t\t$2 == \"HUPCL\" ||\n\t\t$2 == \"PENDIN\" ||\n\t\t$2 == \"TOSTOP\" ||\n\t\t$2 == \"XCASE\" ||\n\t\t$2 == \"ALTWERASE\" ||\n\t\t$2 == \"NOKERNINFO\" ||\n\t\t$2 ~ /^PAR/ ||\n\t\t$2 ~ /^SIG[^_]/ ||\n\t\t$2 ~ /^O[CNPFPL][A-Z]+[^_][A-Z]+$/ ||\n\t\t$2 ~ /^(NL|CR|TAB|BS|VT|FF)DLY$/ ||\n\t\t$2 ~ /^(NL|CR|TAB|BS|VT|FF)[0-9]$/ ||\n\t\t$2 ~ /^O?XTABS$/ ||\n\t\t$2 ~ /^TC[IO](ON|OFF)$/ ||\n\t\t$2 ~ /^IN_/ ||\n\t\t$2 ~ /^LOCK_(SH|EX|NB|UN)$/ ||\n\t\t$2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|ICMP6|TCP|EVFILT|NOTE|EV|SHUT|PROT|MAP|T?PACKET|MSG|SCM|MCL|DT|MADV|PR)_/ ||\n\t\t$2 ~ /^TP_STATUS_/ ||\n\t\t$2 ~ /^FALLOC_/ ||\n\t\t$2 == \"ICMPV6_FILTER\" ||\n\t\t$2 == \"SOMAXCONN\" ||\n\t\t$2 == \"NAME_MAX\" ||\n\t\t$2 == \"IFNAMSIZ\" ||\n\t\t$2 ~ /^CTL_(HW|KERN|MAXNAME|NET|QUERY)$/ ||\n\t\t$2 ~ /^KERN_(HOSTNAME|OS(RELEASE|TYPE)|VERSION)$/ ||\n\t\t$2 ~ /^HW_MACHINE$/ ||\n\t\t$2 ~ /^SYSCTL_VERS/ ||\n\t\t$2 ~ /^(MS|MNT|UMOUNT)_/ ||\n\t\t$2 ~ /^TUN(SET|GET|ATTACH|DETACH)/ ||\n\t\t$2 ~ /^(O|F|E?FD|NAME|S|PTRACE|PT)_/ ||\n\t\t$2 ~ /^LINUX_REBOOT_CMD_/ ||\n\t\t$2 ~ /^LINUX_REBOOT_MAGIC[12]$/ ||\n\t\t$2 !~ \"NLA_TYPE_MASK\" &&\n\t\t$2 ~ /^(NETLINK|NLM|NLMSG|NLA|IFA|IFAN|RT|RTC|RTCF|RTN|RTPROT|RTNH|ARPHRD|ETH_P|NETNSA)_/ ||\n\t\t$2 ~ /^SIOC/ ||\n\t\t$2 ~ /^TIOC/ ||\n\t\t$2 ~ /^TCGET/ ||\n\t\t$2 ~ /^TCSET/ ||\n\t\t$2 ~ /^TC(FLSH|SBRKP?|XONC)$/ ||\n\t\t$2 !~ \"RTF_BITS\" &&\n\t\t$2 ~ /^(IFF|IFT|NET_RT|RTM|RTF|RTV|RTA|RTAX)_/ ||\n\t\t$2 ~ /^BIOC/ ||\n\t\t$2 ~ /^RUSAGE_(SELF|CHILDREN|THREAD)/ ||\n\t\t$2 ~ /^RLIMIT_(AS|CORE|CPU|DATA|FSIZE|LOCKS|MEMLOCK|MSGQUEUE|NICE|NOFILE|NPROC|RSS|RTPRIO|RTTIME|SIGPENDING|STACK)|RLIM_INFINITY/ ||\n\t\t$2 ~ /^PRIO_(PROCESS|PGRP|USER)/ ||\n\t\t$2 ~ /^CLONE_[A-Z_]+/ ||\n\t\t$2 !~ /^(BPF_TIMEVAL)$/ &&\n\t\t$2 ~ /^(BPF|DLT)_/ ||\n\t\t$2 ~ /^CLOCK_/ ||\n\t\t$2 ~ /^CAN_/ ||\n\t\t$2 ~ /^CAP_/ ||\n\t\t$2 ~ /^ALG_/ ||\n\t\t$2 ~ /^FS_(POLICY_FLAGS|KEY_DESC|ENCRYPTION_MODE|[A-Z0-9_]+_KEY_SIZE|IOC_(GET|SET)_ENCRYPTION)/ ||\n\t\t$2 ~ /^GRND_/ ||\n\t\t$2 ~ /^KEY_(SPEC|REQKEY_DEFL)_/ ||\n\t\t$2 ~ /^KEYCTL_/ ||\n\t\t$2 ~ /^PERF_EVENT_IOC_/ ||\n\t\t$2 ~ /^SECCOMP_MODE_/ ||\n\t\t$2 ~ /^SPLICE_/ ||\n\t\t$2 !~ /^AUDIT_RECORD_MAGIC/ &&\n\t\t$2 ~ /^[A-Z0-9_]+_MAGIC2?$/ ||\n\t\t$2 ~ /^(VM|VMADDR)_/ ||\n\t\t$2 ~ /^IOCTL_VM_SOCKETS_/ ||\n\t\t$2 ~ /^(TASKSTATS|TS)_/ ||\n\t\t$2 ~ /^CGROUPSTATS_/ ||\n\t\t$2 ~ /^GENL_/ ||\n\t\t$2 ~ /^STATX_/ ||\n\t\t$2 ~ /^RENAME/ ||\n\t\t$2 ~ /^UTIME_/ ||\n\t\t$2 ~ /^XATTR_(CREATE|REPLACE|NO(DEFAULT|FOLLOW|SECURITY)|SHOWCOMPRESSION)/ ||\n\t\t$2 ~ /^ATTR_(BIT_MAP_COUNT|(CMN|VOL|FILE)_)/ ||\n\t\t$2 ~ /^FSOPT_/ ||\n\t\t$2 ~ /^WDIOC_/ ||\n\t\t$2 ~ /^NFN/ ||\n\t\t$2 ~ /^(HDIO|WIN|SMART)_/ ||\n\t\t$2 !~ \"WMESGLEN\" &&\n\t\t$2 ~ /^W[A-Z0-9]+$/ ||\n\t\t$2 ~ /^BLK[A-Z]*(GET$|SET$|BUF$|PART$|SIZE)/ {printf(\"\\t%s = C.%s\\n\", $2, $2)}\n\t\t$2 ~ /^__WCOREFLAG$/ {next}\n\t\t$2 ~ /^__W[A-Z0-9]+$/ {printf(\"\\t%s = C.%s\\n\", substr($2,3), $2)}\n\n\t\t{next}\n\t' | sort\n\n\techo ')'\n) >_const.go\n\n# Pull out the error names for later.\nerrors=$(\n\techo '#include <errno.h>' | $CC -x c - -E -dM $ccflags |\n\tawk '$1==\"#define\" && $2 ~ /^E[A-Z0-9_]+$/ { print $2 }' |\n\tsort\n)\n\n# Pull out the signal names for later.\nsignals=$(\n\techo '#include <signal.h>' | $CC -x c - -E -dM $ccflags |\n\tawk '$1==\"#define\" && $2 ~ /^SIG[A-Z0-9]+$/ { print $2 }' |\n\tegrep -v '(SIGSTKSIZE|SIGSTKSZ|SIGRT)' |\n\tsort\n)\n\n# Again, writing regexps to a file.\necho '#include <errno.h>' | $CC -x c - -E -dM $ccflags |\n\tawk '$1==\"#define\" && $2 ~ /^E[A-Z0-9_]+$/ { print \"^\\t\" $2 \"[ \\t]*=\" }' |\n\tsort >_error.grep\necho '#include <signal.h>' | $CC -x c - -E -dM $ccflags |\n\tawk '$1==\"#define\" && $2 ~ /^SIG[A-Z0-9]+$/ { print \"^\\t\" $2 \"[ \\t]*=\" }' |\n\tegrep -v '(SIGSTKSIZE|SIGSTKSZ|SIGRT)' |\n\tsort >_signal.grep\n\necho '// mkerrors.sh' \"$@\"\necho '// Code generated by the command above; see README.md. DO NOT EDIT.'\necho\necho \"// +build ${GOARCH},${GOOS}\"\necho\ngo tool cgo -godefs -- \"$@\" _const.go >_error.out\ncat _error.out | grep -vf _error.grep | grep -vf _signal.grep\necho\necho '// Errors'\necho 'const ('\ncat _error.out | grep -f _error.grep | sed 's/=\\(.*\\)/= syscall.Errno(\\1)/'\necho ')'\n\necho\necho '// Signals'\necho 'const ('\ncat _error.out | grep -f _signal.grep | sed 's/=\\(.*\\)/= syscall.Signal(\\1)/'\necho ')'\n\n# Run C program to print error and syscall strings.\n(\n\techo -E \"\n#include <stdio.h>\n#include <stdlib.h>\n#include <errno.h>\n#include <ctype.h>\n#include <string.h>\n#include <signal.h>\n\n#define nelem(x) (sizeof(x)/sizeof((x)[0]))\n\nenum { A = 'A', Z = 'Z', a = 'a', z = 'z' }; // avoid need for single quotes below\n\nstruct tuple {\n\tint num;\n\tconst char *name;\n};\n\nstruct tuple errors[] = {\n\"\n\tfor i in $errors\n\tdo\n\t\techo -E '\t{'$i', \"'$i'\" },'\n\tdone\n\n\techo -E \"\n};\n\nstruct tuple signals[] = {\n\"\n\tfor i in $signals\n\tdo\n\t\techo -E '\t{'$i', \"'$i'\" },'\n\tdone\n\n\t# Use -E because on some systems bash builtin interprets \\n itself.\n\techo -E '\n};\n\nstatic int\ntuplecmp(const void *a, const void *b)\n{\n\treturn ((struct tuple *)a)->num - ((struct tuple *)b)->num;\n}\n\nint\nmain(void)\n{\n\tint i, e;\n\tchar buf[1024], *p;\n\n\tprintf(\"\\n\\n// Error table\\n\");\n\tprintf(\"var errorList = [...]struct {\\n\");\n\tprintf(\"\\tnum  syscall.Errno\\n\");\n\tprintf(\"\\tname string\\n\");\n\tprintf(\"\\tdesc string\\n\");\n\tprintf(\"} {\\n\");\n\tqsort(errors, nelem(errors), sizeof errors[0], tuplecmp);\n\tfor(i=0; i<nelem(errors); i++) {\n\t\te = errors[i].num;\n\t\tif(i > 0 && errors[i-1].num == e)\n\t\t\tcontinue;\n\t\tstrcpy(buf, strerror(e));\n\t\t// lowercase first letter: Bad -> bad, but STREAM -> STREAM.\n\t\tif(A <= buf[0] && buf[0] <= Z && a <= buf[1] && buf[1] <= z)\n\t\t\tbuf[0] += a - A;\n\t\tprintf(\"\\t{ %d, \\\"%s\\\", \\\"%s\\\" },\\n\", e, errors[i].name, buf);\n\t}\n\tprintf(\"}\\n\\n\");\n\n\tprintf(\"\\n\\n// Signal table\\n\");\n\tprintf(\"var signalList = [...]struct {\\n\");\n\tprintf(\"\\tnum  syscall.Signal\\n\");\n\tprintf(\"\\tname string\\n\");\n\tprintf(\"\\tdesc string\\n\");\n\tprintf(\"} {\\n\");\n\tqsort(signals, nelem(signals), sizeof signals[0], tuplecmp);\n\tfor(i=0; i<nelem(signals); i++) {\n\t\te = signals[i].num;\n\t\tif(i > 0 && signals[i-1].num == e)\n\t\t\tcontinue;\n\t\tstrcpy(buf, strsignal(e));\n\t\t// lowercase first letter: Bad -> bad, but STREAM -> STREAM.\n\t\tif(A <= buf[0] && buf[0] <= Z && a <= buf[1] && buf[1] <= z)\n\t\t\tbuf[0] += a - A;\n\t\t// cut trailing : number.\n\t\tp = strrchr(buf, \":\"[0]);\n\t\tif(p)\n\t\t\t*p = '\\0';\n\t\tprintf(\"\\t{ %d, \\\"%s\\\", \\\"%s\\\" },\\n\", e, signals[i].name, buf);\n\t}\n\tprintf(\"}\\n\\n\");\n\n\treturn 0;\n}\n\n'\n) >_errors.c\n\n$CC $ccflags -o _errors _errors.c && $GORUN ./_errors && rm -f _errors.c _errors _const.go _error.grep _signal.grep _error.out\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/mkpost.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\n// mkpost processes the output of cgo -godefs to\n// modify the generated types. It is used to clean up\n// the sys API in an architecture specific manner.\n//\n// mkpost is run after cgo -godefs; see README.md.\npackage main\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"go/format\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"os\"\n\t\"regexp\"\n)\n\nfunc main() {\n\t// Get the OS and architecture (using GOARCH_TARGET if it exists)\n\tgoos := os.Getenv(\"GOOS\")\n\tgoarch := os.Getenv(\"GOARCH_TARGET\")\n\tif goarch == \"\" {\n\t\tgoarch = os.Getenv(\"GOARCH\")\n\t}\n\t// Check that we are using the new build system if we should be.\n\tif goos == \"linux\" && goarch != \"sparc64\" {\n\t\tif os.Getenv(\"GOLANG_SYS_BUILD\") != \"docker\" {\n\t\t\tos.Stderr.WriteString(\"In the new build system, mkpost should not be called directly.\\n\")\n\t\t\tos.Stderr.WriteString(\"See README.md\\n\")\n\t\t\tos.Exit(1)\n\t\t}\n\t}\n\n\tb, err := ioutil.ReadAll(os.Stdin)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\t// Intentionally export __val fields in Fsid and Sigset_t\n\tvalRegex := regexp.MustCompile(`type (Fsid|Sigset_t) struct {(\\s+)X__val(\\s+\\S+\\s+)}`)\n\tb = valRegex.ReplaceAll(b, []byte(\"type $1 struct {${2}Val$3}\"))\n\n\t// If we have empty Ptrace structs, we should delete them. Only s390x emits\n\t// nonempty Ptrace structs.\n\tptraceRexexp := regexp.MustCompile(`type Ptrace((Psw|Fpregs|Per) struct {\\s*})`)\n\tb = ptraceRexexp.ReplaceAll(b, nil)\n\n\t// Replace the control_regs union with a blank identifier for now.\n\tcontrolRegsRegex := regexp.MustCompile(`(Control_regs)\\s+\\[0\\]uint64`)\n\tb = controlRegsRegex.ReplaceAll(b, []byte(\"_ [0]uint64\"))\n\n\t// Remove fields that are added by glibc\n\t// Note that this is unstable as the identifers are private.\n\tremoveFieldsRegex := regexp.MustCompile(`X__glibc\\S*`)\n\tb = removeFieldsRegex.ReplaceAll(b, []byte(\"_\"))\n\n\t// Convert [65]int8 to [65]byte in Utsname members to simplify\n\t// conversion to string; see golang.org/issue/20753\n\tconvertUtsnameRegex := regexp.MustCompile(`((Sys|Node|Domain)name|Release|Version|Machine)(\\s+)\\[(\\d+)\\]u?int8`)\n\tb = convertUtsnameRegex.ReplaceAll(b, []byte(\"$1$3[$4]byte\"))\n\n\t// Remove spare fields (e.g. in Statx_t)\n\tspareFieldsRegex := regexp.MustCompile(`X__spare\\S*`)\n\tb = spareFieldsRegex.ReplaceAll(b, []byte(\"_\"))\n\n\t// Remove cgo padding fields\n\tremovePaddingFieldsRegex := regexp.MustCompile(`Pad_cgo_\\d+`)\n\tb = removePaddingFieldsRegex.ReplaceAll(b, []byte(\"_\"))\n\n\t// Remove padding, hidden, or unused fields\n\tremoveFieldsRegex = regexp.MustCompile(`\\b(X_\\S+|Padding)`)\n\tb = removeFieldsRegex.ReplaceAll(b, []byte(\"_\"))\n\n\t// Remove the first line of warning from cgo\n\tb = b[bytes.IndexByte(b, '\\n')+1:]\n\t// Modify the command in the header to include:\n\t//  mkpost, our own warning, and a build tag.\n\treplacement := fmt.Sprintf(`$1 | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build %s,%s`, goarch, goos)\n\tcgoCommandRegex := regexp.MustCompile(`(cgo -godefs .*)`)\n\tb = cgoCommandRegex.ReplaceAll(b, []byte(replacement))\n\n\t// gofmt\n\tb, err = format.Source(b)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tos.Stdout.Write(b)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/mksyscall.pl",
    "content": "#!/usr/bin/env perl\n# Copyright 2009 The Go Authors. All rights reserved.\n# Use of this source code is governed by a BSD-style\n# license that can be found in the LICENSE file.\n\n# This program reads a file containing function prototypes\n# (like syscall_darwin.go) and generates system call bodies.\n# The prototypes are marked by lines beginning with \"//sys\"\n# and read like func declarations if //sys is replaced by func, but:\n#\t* The parameter lists must give a name for each argument.\n#\t  This includes return parameters.\n#\t* The parameter lists must give a type for each argument:\n#\t  the (x, y, z int) shorthand is not allowed.\n#\t* If the return parameter is an error number, it must be named errno.\n\n# A line beginning with //sysnb is like //sys, except that the\n# goroutine will not be suspended during the execution of the system\n# call.  This must only be used for system calls which can never\n# block, as otherwise the system call could cause all goroutines to\n# hang.\n\nuse strict;\n\nmy $cmdline = \"mksyscall.pl \" . join(' ', @ARGV);\nmy $errors = 0;\nmy $_32bit = \"\";\nmy $plan9 = 0;\nmy $openbsd = 0;\nmy $netbsd = 0;\nmy $dragonfly = 0;\nmy $arm = 0; # 64-bit value should use (even, odd)-pair\nmy $tags = \"\";  # build tags\n\nif($ARGV[0] eq \"-b32\") {\n\t$_32bit = \"big-endian\";\n\tshift;\n} elsif($ARGV[0] eq \"-l32\") {\n\t$_32bit = \"little-endian\";\n\tshift;\n}\nif($ARGV[0] eq \"-plan9\") {\n\t$plan9 = 1;\n\tshift;\n}\nif($ARGV[0] eq \"-openbsd\") {\n\t$openbsd = 1;\n\tshift;\n}\nif($ARGV[0] eq \"-netbsd\") {\n\t$netbsd = 1;\n\tshift;\n}\nif($ARGV[0] eq \"-dragonfly\") {\n\t$dragonfly = 1;\n\tshift;\n}\nif($ARGV[0] eq \"-arm\") {\n\t$arm = 1;\n\tshift;\n}\nif($ARGV[0] eq \"-tags\") {\n\tshift;\n\t$tags = $ARGV[0];\n\tshift;\n}\n\nif($ARGV[0] =~ /^-/) {\n\tprint STDERR \"usage: mksyscall.pl [-b32 | -l32] [-tags x,y] [file ...]\\n\";\n\texit 1;\n}\n\n# Check that we are using the new build system if we should\nif($ENV{'GOOS'} eq \"linux\" && $ENV{'GOARCH'} ne \"sparc64\") {\n\tif($ENV{'GOLANG_SYS_BUILD'} ne \"docker\") {\n\t\tprint STDERR \"In the new build system, mksyscall should not be called directly.\\n\";\n\t\tprint STDERR \"See README.md\\n\";\n\t\texit 1;\n\t}\n}\n\n\nsub parseparamlist($) {\n\tmy ($list) = @_;\n\t$list =~ s/^\\s*//;\n\t$list =~ s/\\s*$//;\n\tif($list eq \"\") {\n\t\treturn ();\n\t}\n\treturn split(/\\s*,\\s*/, $list);\n}\n\nsub parseparam($) {\n\tmy ($p) = @_;\n\tif($p !~ /^(\\S*) (\\S*)$/) {\n\t\tprint STDERR \"$ARGV:$.: malformed parameter: $p\\n\";\n\t\t$errors = 1;\n\t\treturn (\"xx\", \"int\");\n\t}\n\treturn ($1, $2);\n}\n\nmy $text = \"\";\nwhile(<>) {\n\tchomp;\n\ts/\\s+/ /g;\n\ts/^\\s+//;\n\ts/\\s+$//;\n\tmy $nonblock = /^\\/\\/sysnb /;\n\tnext if !/^\\/\\/sys / && !$nonblock;\n\n\t# Line must be of the form\n\t#\tfunc Open(path string, mode int, perm int) (fd int, errno error)\n\t# Split into name, in params, out params.\n\tif(!/^\\/\\/sys(nb)? (\\w+)\\(([^()]*)\\)\\s*(?:\\(([^()]+)\\))?\\s*(?:=\\s*((?i)SYS_[A-Z0-9_]+))?$/) {\n\t\tprint STDERR \"$ARGV:$.: malformed //sys declaration\\n\";\n\t\t$errors = 1;\n\t\tnext;\n\t}\n\tmy ($func, $in, $out, $sysname) = ($2, $3, $4, $5);\n\n\t# Split argument lists on comma.\n\tmy @in = parseparamlist($in);\n\tmy @out = parseparamlist($out);\n\n\t# Try in vain to keep people from editing this file.\n\t# The theory is that they jump into the middle of the file\n\t# without reading the header.\n\t$text .= \"// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\\n\\n\";\n\n\t# Go function header.\n\tmy $out_decl = @out ? sprintf(\" (%s)\", join(', ', @out)) : \"\";\n\t$text .= sprintf \"func %s(%s)%s {\\n\", $func, join(', ', @in), $out_decl;\n\n\t# Check if err return available\n\tmy $errvar = \"\";\n\tforeach my $p (@out) {\n\t\tmy ($name, $type) = parseparam($p);\n\t\tif($type eq \"error\") {\n\t\t\t$errvar = $name;\n\t\t\tlast;\n\t\t}\n\t}\n\n\t# Prepare arguments to Syscall.\n\tmy @args = ();\n\tmy $n = 0;\n\tforeach my $p (@in) {\n\t\tmy ($name, $type) = parseparam($p);\n\t\tif($type =~ /^\\*/) {\n\t\t\tpush @args, \"uintptr(unsafe.Pointer($name))\";\n\t\t} elsif($type eq \"string\" && $errvar ne \"\") {\n\t\t\t$text .= \"\\tvar _p$n *byte\\n\";\n\t\t\t$text .= \"\\t_p$n, $errvar = BytePtrFromString($name)\\n\";\n\t\t\t$text .= \"\\tif $errvar != nil {\\n\\t\\treturn\\n\\t}\\n\";\n\t\t\tpush @args, \"uintptr(unsafe.Pointer(_p$n))\";\n\t\t\t$n++;\n\t\t} elsif($type eq \"string\") {\n\t\t\tprint STDERR \"$ARGV:$.: $func uses string arguments, but has no error return\\n\";\n\t\t\t$text .= \"\\tvar _p$n *byte\\n\";\n\t\t\t$text .= \"\\t_p$n, _ = BytePtrFromString($name)\\n\";\n\t\t\tpush @args, \"uintptr(unsafe.Pointer(_p$n))\";\n\t\t\t$n++;\n\t\t} elsif($type =~ /^\\[\\](.*)/) {\n\t\t\t# Convert slice into pointer, length.\n\t\t\t# Have to be careful not to take address of &a[0] if len == 0:\n\t\t\t# pass dummy pointer in that case.\n\t\t\t# Used to pass nil, but some OSes or simulators reject write(fd, nil, 0).\n\t\t\t$text .= \"\\tvar _p$n unsafe.Pointer\\n\";\n\t\t\t$text .= \"\\tif len($name) > 0 {\\n\\t\\t_p$n = unsafe.Pointer(\\&${name}[0])\\n\\t}\";\n\t\t\t$text .= \" else {\\n\\t\\t_p$n = unsafe.Pointer(&_zero)\\n\\t}\";\n\t\t\t$text .= \"\\n\";\n\t\t\tpush @args, \"uintptr(_p$n)\", \"uintptr(len($name))\";\n\t\t\t$n++;\n\t\t} elsif($type eq \"int64\" && ($openbsd || $netbsd)) {\n\t\t\tpush @args, \"0\";\n\t\t\tif($_32bit eq \"big-endian\") {\n\t\t\t\tpush @args, \"uintptr($name>>32)\", \"uintptr($name)\";\n\t\t\t} elsif($_32bit eq \"little-endian\") {\n\t\t\t\tpush @args, \"uintptr($name)\", \"uintptr($name>>32)\";\n\t\t\t} else {\n\t\t\t\tpush @args, \"uintptr($name)\";\n\t\t\t}\n\t\t} elsif($type eq \"int64\" && $dragonfly) {\n\t\t\tif ($func !~ /^extp(read|write)/i) {\n\t\t\t\tpush @args, \"0\";\n\t\t\t}\n\t\t\tif($_32bit eq \"big-endian\") {\n\t\t\t\tpush @args, \"uintptr($name>>32)\", \"uintptr($name)\";\n\t\t\t} elsif($_32bit eq \"little-endian\") {\n\t\t\t\tpush @args, \"uintptr($name)\", \"uintptr($name>>32)\";\n\t\t\t} else {\n\t\t\t\tpush @args, \"uintptr($name)\";\n\t\t\t}\n\t\t} elsif($type eq \"int64\" && $_32bit ne \"\") {\n\t\t\tif(@args % 2 && $arm) {\n\t\t\t\t# arm abi specifies 64-bit argument uses\n\t\t\t\t# (even, odd) pair\n\t\t\t\tpush @args, \"0\"\n\t\t\t}\n\t\t\tif($_32bit eq \"big-endian\") {\n\t\t\t\tpush @args, \"uintptr($name>>32)\", \"uintptr($name)\";\n\t\t\t} else {\n\t\t\t\tpush @args, \"uintptr($name)\", \"uintptr($name>>32)\";\n\t\t\t}\n\t\t} else {\n\t\t\tpush @args, \"uintptr($name)\";\n\t\t}\n\t}\n\n\t# Determine which form to use; pad args with zeros.\n\tmy $asm = \"Syscall\";\n\tif ($nonblock) {\n\t\tif ($errvar eq \"\" && $ENV{'GOOS'} eq \"linux\") {\n\t\t\t$asm = \"RawSyscallNoError\";\n\t\t} else {\n\t\t\t$asm = \"RawSyscall\";\n\t\t}\n\t} else {\n\t\tif ($errvar eq \"\" && $ENV{'GOOS'} eq \"linux\") {\n\t\t\t$asm = \"SyscallNoError\";\n\t\t}\n\t}\n\tif(@args <= 3) {\n\t\twhile(@args < 3) {\n\t\t\tpush @args, \"0\";\n\t\t}\n\t} elsif(@args <= 6) {\n\t\t$asm .= \"6\";\n\t\twhile(@args < 6) {\n\t\t\tpush @args, \"0\";\n\t\t}\n\t} elsif(@args <= 9) {\n\t\t$asm .= \"9\";\n\t\twhile(@args < 9) {\n\t\t\tpush @args, \"0\";\n\t\t}\n\t} else {\n\t\tprint STDERR \"$ARGV:$.: too many arguments to system call\\n\";\n\t}\n\n\t# System call number.\n\tif($sysname eq \"\") {\n\t\t$sysname = \"SYS_$func\";\n\t\t$sysname =~ s/([a-z])([A-Z])/${1}_$2/g;\t# turn FooBar into Foo_Bar\n\t\t$sysname =~ y/a-z/A-Z/;\n\t}\n\n\t# Actual call.\n\tmy $args = join(', ', @args);\n\tmy $call = \"$asm($sysname, $args)\";\n\n\t# Assign return values.\n\tmy $body = \"\";\n\tmy @ret = (\"_\", \"_\", \"_\");\n\tmy $do_errno = 0;\n\tfor(my $i=0; $i<@out; $i++) {\n\t\tmy $p = $out[$i];\n\t\tmy ($name, $type) = parseparam($p);\n\t\tmy $reg = \"\";\n\t\tif($name eq \"err\" && !$plan9) {\n\t\t\t$reg = \"e1\";\n\t\t\t$ret[2] = $reg;\n\t\t\t$do_errno = 1;\n\t\t} elsif($name eq \"err\" && $plan9) {\n\t\t\t$ret[0] = \"r0\";\n\t\t\t$ret[2] = \"e1\";\n\t\t\tnext;\n\t\t} else {\n\t\t\t$reg = sprintf(\"r%d\", $i);\n\t\t\t$ret[$i] = $reg;\n\t\t}\n\t\tif($type eq \"bool\") {\n\t\t\t$reg = \"$reg != 0\";\n\t\t}\n\t\tif($type eq \"int64\" && $_32bit ne \"\") {\n\t\t\t# 64-bit number in r1:r0 or r0:r1.\n\t\t\tif($i+2 > @out) {\n\t\t\t\tprint STDERR \"$ARGV:$.: not enough registers for int64 return\\n\";\n\t\t\t}\n\t\t\tif($_32bit eq \"big-endian\") {\n\t\t\t\t$reg = sprintf(\"int64(r%d)<<32 | int64(r%d)\", $i, $i+1);\n\t\t\t} else {\n\t\t\t\t$reg = sprintf(\"int64(r%d)<<32 | int64(r%d)\", $i+1, $i);\n\t\t\t}\n\t\t\t$ret[$i] = sprintf(\"r%d\", $i);\n\t\t\t$ret[$i+1] = sprintf(\"r%d\", $i+1);\n\t\t}\n\t\tif($reg ne \"e1\" || $plan9) {\n\t\t\t$body .= \"\\t$name = $type($reg)\\n\";\n\t\t}\n\t}\n\tif ($ret[0] eq \"_\" && $ret[1] eq \"_\" && $ret[2] eq \"_\") {\n\t\t$text .= \"\\t$call\\n\";\n\t} else {\n\t\tif ($errvar eq \"\" && $ENV{'GOOS'} eq \"linux\") {\n\t\t\t# raw syscall without error on Linux, see golang.org/issue/22924\n\t\t\t$text .= \"\\t$ret[0], $ret[1] := $call\\n\";\n\t\t} else {\n\t\t\t$text .= \"\\t$ret[0], $ret[1], $ret[2] := $call\\n\";\n\t\t}\n\t}\n\t$text .= $body;\n\n\tif ($plan9 && $ret[2] eq \"e1\") {\n\t\t$text .= \"\\tif int32(r0) == -1 {\\n\";\n\t\t$text .= \"\\t\\terr = e1\\n\";\n\t\t$text .= \"\\t}\\n\";\n\t} elsif ($do_errno) {\n\t\t$text .= \"\\tif e1 != 0 {\\n\";\n\t\t$text .= \"\\t\\terr = errnoErr(e1)\\n\";\n\t\t$text .= \"\\t}\\n\";\n\t}\n\t$text .= \"\\treturn\\n\";\n\t$text .= \"}\\n\\n\";\n}\n\nchomp $text;\nchomp $text;\n\nif($errors) {\n\texit 1;\n}\n\nprint <<EOF;\n// $cmdline\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build $tags\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n$text\nEOF\nexit 0;\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/mksyscall_solaris.pl",
    "content": "#!/usr/bin/env perl\n# Copyright 2009 The Go Authors. All rights reserved.\n# Use of this source code is governed by a BSD-style\n# license that can be found in the LICENSE file.\n\n# This program reads a file containing function prototypes\n# (like syscall_solaris.go) and generates system call bodies.\n# The prototypes are marked by lines beginning with \"//sys\"\n# and read like func declarations if //sys is replaced by func, but:\n#\t* The parameter lists must give a name for each argument.\n#\t  This includes return parameters.\n#\t* The parameter lists must give a type for each argument:\n#\t  the (x, y, z int) shorthand is not allowed.\n#\t* If the return parameter is an error number, it must be named err.\n#\t* If go func name needs to be different than its libc name,\n#\t* or the function is not in libc, name could be specified\n#\t* at the end, after \"=\" sign, like\n#\t  //sys getsockopt(s int, level int, name int, val uintptr, vallen *_Socklen) (err error) = libsocket.getsockopt\n\nuse strict;\n\nmy $cmdline = \"mksyscall_solaris.pl \" . join(' ', @ARGV);\nmy $errors = 0;\nmy $_32bit = \"\";\nmy $tags = \"\";  # build tags\n\nbinmode STDOUT;\n\nif($ARGV[0] eq \"-b32\") {\n\t$_32bit = \"big-endian\";\n\tshift;\n} elsif($ARGV[0] eq \"-l32\") {\n\t$_32bit = \"little-endian\";\n\tshift;\n}\nif($ARGV[0] eq \"-tags\") {\n\tshift;\n\t$tags = $ARGV[0];\n\tshift;\n}\n\nif($ARGV[0] =~ /^-/) {\n\tprint STDERR \"usage: mksyscall_solaris.pl [-b32 | -l32] [-tags x,y] [file ...]\\n\";\n\texit 1;\n}\n\nsub parseparamlist($) {\n\tmy ($list) = @_;\n\t$list =~ s/^\\s*//;\n\t$list =~ s/\\s*$//;\n\tif($list eq \"\") {\n\t\treturn ();\n\t}\n\treturn split(/\\s*,\\s*/, $list);\n}\n\nsub parseparam($) {\n\tmy ($p) = @_;\n\tif($p !~ /^(\\S*) (\\S*)$/) {\n\t\tprint STDERR \"$ARGV:$.: malformed parameter: $p\\n\";\n\t\t$errors = 1;\n\t\treturn (\"xx\", \"int\");\n\t}\n\treturn ($1, $2);\n}\n\nmy $package = \"\";\nmy $text = \"\";\nmy $dynimports = \"\";\nmy $linknames = \"\";\nmy @vars = ();\nwhile(<>) {\n\tchomp;\n\ts/\\s+/ /g;\n\ts/^\\s+//;\n\ts/\\s+$//;\n\t$package = $1 if !$package && /^package (\\S+)$/;\n\tmy $nonblock = /^\\/\\/sysnb /;\n\tnext if !/^\\/\\/sys / && !$nonblock;\n\n\t# Line must be of the form\n\t#\tfunc Open(path string, mode int, perm int) (fd int, err error)\n\t# Split into name, in params, out params.\n\tif(!/^\\/\\/sys(nb)? (\\w+)\\(([^()]*)\\)\\s*(?:\\(([^()]+)\\))?\\s*(?:=\\s*(?:(\\w*)\\.)?(\\w*))?$/) {\n\t\tprint STDERR \"$ARGV:$.: malformed //sys declaration\\n\";\n\t\t$errors = 1;\n\t\tnext;\n\t}\n\tmy ($nb, $func, $in, $out, $modname, $sysname) = ($1, $2, $3, $4, $5, $6);\n\n\t# Split argument lists on comma.\n\tmy @in = parseparamlist($in);\n\tmy @out = parseparamlist($out);\n\n\t# So file name.\n\tif($modname eq \"\") {\n\t\t$modname = \"libc\";\n\t}\n\n\t# System call name.\n\tif($sysname eq \"\") {\n\t\t$sysname = \"$func\";\n\t}\n\n\t# System call pointer variable name.\n\tmy $sysvarname = \"proc$sysname\";\n\n\tmy $strconvfunc = \"BytePtrFromString\";\n\tmy $strconvtype = \"*byte\";\n\n\t$sysname =~ y/A-Z/a-z/; # All libc functions are lowercase.\n\n\t# Runtime import of function to allow cross-platform builds.\n\t$dynimports .= \"//go:cgo_import_dynamic libc_${sysname} ${sysname} \\\"$modname.so\\\"\\n\";\n\t# Link symbol to proc address variable.\n\t$linknames .= \"//go:linkname ${sysvarname} libc_${sysname}\\n\";\n\t# Library proc address variable.\n\tpush @vars, $sysvarname;\n\n\t# Go function header.\n\t$out = join(', ', @out);\n\tif($out ne \"\") {\n\t\t$out = \" ($out)\";\n\t}\n\tif($text ne \"\") {\n\t\t$text .= \"\\n\"\n\t}\n\t$text .= sprintf \"func %s(%s)%s {\\n\", $func, join(', ', @in), $out;\n\n\t# Check if err return available\n\tmy $errvar = \"\";\n\tforeach my $p (@out) {\n\t\tmy ($name, $type) = parseparam($p);\n\t\tif($type eq \"error\") {\n\t\t\t$errvar = $name;\n\t\t\tlast;\n\t\t}\n\t}\n\n\t# Prepare arguments to Syscall.\n\tmy @args = ();\n\tmy $n = 0;\n\tforeach my $p (@in) {\n\t\tmy ($name, $type) = parseparam($p);\n\t\tif($type =~ /^\\*/) {\n\t\t\tpush @args, \"uintptr(unsafe.Pointer($name))\";\n\t\t} elsif($type eq \"string\" && $errvar ne \"\") {\n\t\t\t$text .= \"\\tvar _p$n $strconvtype\\n\";\n\t\t\t$text .= \"\\t_p$n, $errvar = $strconvfunc($name)\\n\";\n\t\t\t$text .= \"\\tif $errvar != nil {\\n\\t\\treturn\\n\\t}\\n\";\n\t\t\tpush @args, \"uintptr(unsafe.Pointer(_p$n))\";\n\t\t\t$n++;\n\t\t} elsif($type eq \"string\") {\n\t\t\tprint STDERR \"$ARGV:$.: $func uses string arguments, but has no error return\\n\";\n\t\t\t$text .= \"\\tvar _p$n $strconvtype\\n\";\n\t\t\t$text .= \"\\t_p$n, _ = $strconvfunc($name)\\n\";\n\t\t\tpush @args, \"uintptr(unsafe.Pointer(_p$n))\";\n\t\t\t$n++;\n\t\t} elsif($type =~ /^\\[\\](.*)/) {\n\t\t\t# Convert slice into pointer, length.\n\t\t\t# Have to be careful not to take address of &a[0] if len == 0:\n\t\t\t# pass nil in that case.\n\t\t\t$text .= \"\\tvar _p$n *$1\\n\";\n\t\t\t$text .= \"\\tif len($name) > 0 {\\n\\t\\t_p$n = \\&$name\\[0]\\n\\t}\\n\";\n\t\t\tpush @args, \"uintptr(unsafe.Pointer(_p$n))\", \"uintptr(len($name))\";\n\t\t\t$n++;\n\t\t} elsif($type eq \"int64\" && $_32bit ne \"\") {\n\t\t\tif($_32bit eq \"big-endian\") {\n\t\t\t\tpush @args, \"uintptr($name >> 32)\", \"uintptr($name)\";\n\t\t\t} else {\n\t\t\t\tpush @args, \"uintptr($name)\", \"uintptr($name >> 32)\";\n\t\t\t}\n\t\t} elsif($type eq \"bool\") {\n \t\t\t$text .= \"\\tvar _p$n uint32\\n\";\n\t\t\t$text .= \"\\tif $name {\\n\\t\\t_p$n = 1\\n\\t} else {\\n\\t\\t_p$n = 0\\n\\t}\\n\";\n\t\t\tpush @args, \"uintptr(_p$n)\";\n\t\t\t$n++;\n\t\t} else {\n\t\t\tpush @args, \"uintptr($name)\";\n\t\t}\n\t}\n\tmy $nargs = @args;\n\n\t# Determine which form to use; pad args with zeros.\n\tmy $asm = \"sysvicall6\";\n\tif ($nonblock) {\n\t\t$asm = \"rawSysvicall6\";\n\t}\n\tif(@args <= 6) {\n\t\twhile(@args < 6) {\n\t\t\tpush @args, \"0\";\n\t\t}\n\t} else {\n\t\tprint STDERR \"$ARGV:$.: too many arguments to system call\\n\";\n\t}\n\n\t# Actual call.\n\tmy $args = join(', ', @args);\n\tmy $call = \"$asm(uintptr(unsafe.Pointer(&$sysvarname)), $nargs, $args)\";\n\n\t# Assign return values.\n\tmy $body = \"\";\n\tmy $failexpr = \"\";\n\tmy @ret = (\"_\", \"_\", \"_\");\n\tmy @pout= ();\n\tmy $do_errno = 0;\n\tfor(my $i=0; $i<@out; $i++) {\n\t\tmy $p = $out[$i];\n\t\tmy ($name, $type) = parseparam($p);\n\t\tmy $reg = \"\";\n\t\tif($name eq \"err\") {\n\t\t\t$reg = \"e1\";\n\t\t\t$ret[2] = $reg;\n\t\t\t$do_errno = 1;\n\t\t} else {\n\t\t\t$reg = sprintf(\"r%d\", $i);\n\t\t\t$ret[$i] = $reg;\n\t\t}\n\t\tif($type eq \"bool\") {\n\t\t\t$reg = \"$reg != 0\";\n\t\t}\n\t\tif($type eq \"int64\" && $_32bit ne \"\") {\n\t\t\t# 64-bit number in r1:r0 or r0:r1.\n\t\t\tif($i+2 > @out) {\n\t\t\t\tprint STDERR \"$ARGV:$.: not enough registers for int64 return\\n\";\n\t\t\t}\n\t\t\tif($_32bit eq \"big-endian\") {\n\t\t\t\t$reg = sprintf(\"int64(r%d)<<32 | int64(r%d)\", $i, $i+1);\n\t\t\t} else {\n\t\t\t\t$reg = sprintf(\"int64(r%d)<<32 | int64(r%d)\", $i+1, $i);\n\t\t\t}\n\t\t\t$ret[$i] = sprintf(\"r%d\", $i);\n\t\t\t$ret[$i+1] = sprintf(\"r%d\", $i+1);\n\t\t}\n\t\tif($reg ne \"e1\") {\n\t\t\t$body .= \"\\t$name = $type($reg)\\n\";\n\t\t}\n\t}\n\tif ($ret[0] eq \"_\" && $ret[1] eq \"_\" && $ret[2] eq \"_\") {\n\t\t$text .= \"\\t$call\\n\";\n\t} else {\n\t\t$text .= \"\\t$ret[0], $ret[1], $ret[2] := $call\\n\";\n\t}\n\t$text .= $body;\n\n\tif ($do_errno) {\n\t\t$text .= \"\\tif e1 != 0 {\\n\";\n\t\t$text .= \"\\t\\terr = e1\\n\";\n\t\t$text .= \"\\t}\\n\";\n\t}\n\t$text .= \"\\treturn\\n\";\n\t$text .= \"}\\n\";\n}\n\nif($errors) {\n\texit 1;\n}\n\nprint <<EOF;\n// $cmdline\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build $tags\n\npackage $package\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\nEOF\n\nprint \"import \\\"golang.org/x/sys/unix\\\"\\n\" if $package ne \"unix\";\n\nmy $vardecls = \"\\t\" . join(\",\\n\\t\", @vars);\n$vardecls .= \" syscallFunc\";\n\nchomp($_=<<EOF);\n\n$dynimports\n$linknames\nvar (\n$vardecls\n)\n\n$text\nEOF\nprint $_;\nexit 0;\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/mksysctl_openbsd.pl",
    "content": "#!/usr/bin/env perl\n\n# Copyright 2011 The Go Authors. All rights reserved.\n# Use of this source code is governed by a BSD-style\n# license that can be found in the LICENSE file.\n\n#\n# Parse the header files for OpenBSD and generate a Go usable sysctl MIB.\n#\n# Build a MIB with each entry being an array containing the level, type and\n# a hash that will contain additional entries if the current entry is a node.\n# We then walk this MIB and create a flattened sysctl name to OID hash.\n#\n\nuse strict;\n\nif($ENV{'GOARCH'} eq \"\" || $ENV{'GOOS'} eq \"\") {\n\tprint STDERR \"GOARCH or GOOS not defined in environment\\n\";\n\texit 1;\n}\n\nmy $debug = 0;\nmy %ctls = ();\n\nmy @headers = qw (\n\tsys/sysctl.h\n\tsys/socket.h\n\tsys/tty.h\n\tsys/malloc.h\n\tsys/mount.h\n\tsys/namei.h\n\tsys/sem.h\n\tsys/shm.h\n\tsys/vmmeter.h\n\tuvm/uvm_param.h\n\tuvm/uvm_swap_encrypt.h\n\tddb/db_var.h\n\tnet/if.h\n\tnet/if_pfsync.h\n\tnet/pipex.h\n\tnetinet/in.h\n\tnetinet/icmp_var.h\n\tnetinet/igmp_var.h\n\tnetinet/ip_ah.h\n\tnetinet/ip_carp.h\n\tnetinet/ip_divert.h\n\tnetinet/ip_esp.h\n\tnetinet/ip_ether.h\n\tnetinet/ip_gre.h\n\tnetinet/ip_ipcomp.h\n\tnetinet/ip_ipip.h\n\tnetinet/pim_var.h\n\tnetinet/tcp_var.h\n\tnetinet/udp_var.h\n\tnetinet6/in6.h\n\tnetinet6/ip6_divert.h\n\tnetinet6/pim6_var.h\n\tnetinet/icmp6.h\n\tnetmpls/mpls.h\n);\n\nmy @ctls = qw (\n\tkern\n\tvm\n\tfs\n\tnet\n\t#debug\t\t\t\t# Special handling required\n\thw\n\t#machdep\t\t\t# Arch specific\n\tuser\n\tddb\n\t#vfs\t\t\t\t# Special handling required\n\tfs.posix\n\tkern.forkstat\n\tkern.intrcnt\n\tkern.malloc\n\tkern.nchstats\n\tkern.seminfo\n\tkern.shminfo\n\tkern.timecounter\n\tkern.tty\n\tkern.watchdog\n\tnet.bpf\n\tnet.ifq\n\tnet.inet\n\tnet.inet.ah\n\tnet.inet.carp\n\tnet.inet.divert\n\tnet.inet.esp\n\tnet.inet.etherip\n\tnet.inet.gre\n\tnet.inet.icmp\n\tnet.inet.igmp\n\tnet.inet.ip\n\tnet.inet.ip.ifq\n\tnet.inet.ipcomp\n\tnet.inet.ipip\n\tnet.inet.mobileip\n\tnet.inet.pfsync\n\tnet.inet.pim\n\tnet.inet.tcp\n\tnet.inet.udp\n\tnet.inet6\n\tnet.inet6.divert\n\tnet.inet6.ip6\n\tnet.inet6.icmp6\n\tnet.inet6.pim6\n\tnet.inet6.tcp6\n\tnet.inet6.udp6\n\tnet.mpls\n\tnet.mpls.ifq\n\tnet.key\n\tnet.pflow\n\tnet.pfsync\n\tnet.pipex\n\tnet.rt\n\tvm.swapencrypt\n\t#vfsgenctl\t\t\t# Special handling required\n);\n\n# Node name \"fixups\"\nmy %ctl_map = (\n\t\"ipproto\" => \"net.inet\",\n\t\"net.inet.ipproto\" => \"net.inet\",\n\t\"net.inet6.ipv6proto\" => \"net.inet6\",\n\t\"net.inet6.ipv6\" => \"net.inet6.ip6\",\n\t\"net.inet.icmpv6\" => \"net.inet6.icmp6\",\n\t\"net.inet6.divert6\" => \"net.inet6.divert\",\n\t\"net.inet6.tcp6\" => \"net.inet.tcp\",\n\t\"net.inet6.udp6\" => \"net.inet.udp\",\n\t\"mpls\" => \"net.mpls\",\n\t\"swpenc\" => \"vm.swapencrypt\"\n);\n\n# Node mappings\nmy %node_map = (\n\t\"net.inet.ip.ifq\" => \"net.ifq\",\n\t\"net.inet.pfsync\" => \"net.pfsync\",\n\t\"net.mpls.ifq\" => \"net.ifq\"\n);\n\nmy $ctlname;\nmy %mib = ();\nmy %sysctl = ();\nmy $node;\n\nsub debug() {\n\tprint STDERR \"$_[0]\\n\" if $debug;\n}\n\n# Walk the MIB and build a sysctl name to OID mapping.\nsub build_sysctl() {\n\tmy ($node, $name, $oid) = @_;\n\tmy %node = %{$node};\n\tmy @oid = @{$oid};\n\n\tforeach my $key (sort keys %node) {\n\t\tmy @node = @{$node{$key}};\n\t\tmy $nodename = $name.($name ne '' ? '.' : '').$key;\n\t\tmy @nodeoid = (@oid, $node[0]);\n\t\tif ($node[1] eq 'CTLTYPE_NODE') {\n\t\t\tif (exists $node_map{$nodename}) {\n\t\t\t\t$node = \\%mib;\n\t\t\t\t$ctlname = $node_map{$nodename};\n\t\t\t\tforeach my $part (split /\\./, $ctlname) {\n\t\t\t\t\t$node = \\%{@{$$node{$part}}[2]};\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t$node = $node[2];\n\t\t\t}\n\t\t\t&build_sysctl($node, $nodename, \\@nodeoid);\n\t\t} elsif ($node[1] ne '') {\n\t\t\t$sysctl{$nodename} = \\@nodeoid;\n\t\t}\n\t}\n}\n\nforeach my $ctl (@ctls) {\n\t$ctls{$ctl} = $ctl;\n}\n\n# Build MIB\nforeach my $header (@headers) {\n\t&debug(\"Processing $header...\");\n\topen HEADER, \"/usr/include/$header\" ||\n\t    print STDERR \"Failed to open $header\\n\";\n\twhile (<HEADER>) {\n\t\tif ($_ =~ /^#define\\s+(CTL_NAMES)\\s+{/ ||\n\t\t    $_ =~ /^#define\\s+(CTL_(.*)_NAMES)\\s+{/ ||\n\t\t    $_ =~ /^#define\\s+((.*)CTL_NAMES)\\s+{/) {\n\t\t\tif ($1 eq 'CTL_NAMES') {\n\t\t\t\t# Top level.\n\t\t\t\t$node = \\%mib;\n\t\t\t} else {\n\t\t\t\t# Node.\n\t\t\t\tmy $nodename = lc($2);\n\t\t\t\tif ($header =~ /^netinet\\//) {\n\t\t\t\t\t$ctlname = \"net.inet.$nodename\";\n\t\t\t\t} elsif ($header =~ /^netinet6\\//) {\n\t\t\t\t\t$ctlname = \"net.inet6.$nodename\";\n\t\t\t\t} elsif ($header =~ /^net\\//) {\n\t\t\t\t\t$ctlname = \"net.$nodename\";\n\t\t\t\t} else {\n\t\t\t\t\t$ctlname = \"$nodename\";\n\t\t\t\t\t$ctlname =~ s/^(fs|net|kern)_/$1\\./;\n\t\t\t\t}\n\t\t\t\tif (exists $ctl_map{$ctlname}) {\n\t\t\t\t\t$ctlname = $ctl_map{$ctlname};\n\t\t\t\t}\n\t\t\t\tif (not exists $ctls{$ctlname}) {\n\t\t\t\t\t&debug(\"Ignoring $ctlname...\");\n\t\t\t\t\tnext;\n\t\t\t\t}\n\n\t\t\t\t# Walk down from the top of the MIB.\n\t\t\t\t$node = \\%mib;\n\t\t\t\tforeach my $part (split /\\./, $ctlname) {\n\t\t\t\t\tif (not exists $$node{$part}) {\n\t\t\t\t\t\t&debug(\"Missing node $part\");\n\t\t\t\t\t\t$$node{$part} = [ 0, '', {} ];\n\t\t\t\t\t}\n\t\t\t\t\t$node = \\%{@{$$node{$part}}[2]};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t# Populate current node with entries.\n\t\t\tmy $i = -1;\n\t\t\twhile (defined($_) && $_ !~ /^}/) {\n\t\t\t\t$_ = <HEADER>;\n\t\t\t\t$i++ if $_ =~ /{.*}/;\n\t\t\t\tnext if $_ !~ /{\\s+\"(\\w+)\",\\s+(CTLTYPE_[A-Z]+)\\s+}/;\n\t\t\t\t$$node{$1} = [ $i, $2, {} ];\n\t\t\t}\n\t\t}\n\t}\n\tclose HEADER;\n}\n\n&build_sysctl(\\%mib, \"\", []);\n\nprint <<EOF;\n// mksysctl_openbsd.pl\n// Code generated by the command above; DO NOT EDIT.\n\n// +build $ENV{'GOARCH'},$ENV{'GOOS'}\n\npackage unix;\n\ntype mibentry struct {\n\tctlname string\n\tctloid []_C_int\n}\n\nvar sysctlMib = []mibentry {\nEOF\n\nforeach my $name (sort keys %sysctl) {\n\tmy @oid = @{$sysctl{$name}};\n\tprint \"\\t{ \\\"$name\\\", []_C_int{ \", join(', ', @oid), \" } }, \\n\";\n}\n\nprint <<EOF;\n}\nEOF\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/mksysnum_darwin.pl",
    "content": "#!/usr/bin/env perl\n# Copyright 2009 The Go Authors. All rights reserved.\n# Use of this source code is governed by a BSD-style\n# license that can be found in the LICENSE file.\n#\n# Generate system call table for Darwin from sys/syscall.h\n\nuse strict;\n\nif($ENV{'GOARCH'} eq \"\" || $ENV{'GOOS'} eq \"\") {\n\tprint STDERR \"GOARCH or GOOS not defined in environment\\n\";\n\texit 1;\n}\n\nmy $command = \"mksysnum_darwin.pl \" . join(' ', @ARGV);\n\nprint <<EOF;\n// $command\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build $ENV{'GOARCH'},$ENV{'GOOS'}\n\npackage unix\n\nconst (\nEOF\n\nwhile(<>){\n\tif(/^#define\\s+SYS_(\\w+)\\s+([0-9]+)/){\n\t\tmy $name = $1;\n\t\tmy $num = $2;\n\t\t$name =~ y/a-z/A-Z/;\n\t\tprint \"\tSYS_$name = $num;\"\n\t}\n}\n\nprint <<EOF;\n)\nEOF\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/mksysnum_dragonfly.pl",
    "content": "#!/usr/bin/env perl\n# Copyright 2009 The Go Authors. All rights reserved.\n# Use of this source code is governed by a BSD-style\n# license that can be found in the LICENSE file.\n#\n# Generate system call table for DragonFly from master list\n# (for example, /usr/src/sys/kern/syscalls.master).\n\nuse strict;\n\nif($ENV{'GOARCH'} eq \"\" || $ENV{'GOOS'} eq \"\") {\n\tprint STDERR \"GOARCH or GOOS not defined in environment\\n\";\n\texit 1;\n}\n\nmy $command = \"mksysnum_dragonfly.pl \" . join(' ', @ARGV);\n\nprint <<EOF;\n// $command\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build $ENV{'GOARCH'},$ENV{'GOOS'}\n\npackage unix\n\nconst (\nEOF\n\nwhile(<>){\n\tif(/^([0-9]+)\\s+STD\\s+({ \\S+\\s+(\\w+).*)$/){\n\t\tmy $num = $1;\n\t\tmy $proto = $2;\n\t\tmy $name = \"SYS_$3\";\n\t\t$name =~ y/a-z/A-Z/;\n\n\t\t# There are multiple entries for enosys and nosys, so comment them out.\n\t\tif($name =~ /^SYS_E?NOSYS$/){\n\t\t\t$name = \"// $name\";\n\t\t}\n\t\tif($name eq 'SYS_SYS_EXIT'){\n\t\t\t$name = 'SYS_EXIT';\n\t\t}\n\n\t\tprint \"\t$name = $num;  // $proto\\n\";\n\t}\n}\n\nprint <<EOF;\n)\nEOF\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl",
    "content": "#!/usr/bin/env perl\n# Copyright 2009 The Go Authors. All rights reserved.\n# Use of this source code is governed by a BSD-style\n# license that can be found in the LICENSE file.\n#\n# Generate system call table for FreeBSD from master list\n# (for example, /usr/src/sys/kern/syscalls.master).\n\nuse strict;\n\nif($ENV{'GOARCH'} eq \"\" || $ENV{'GOOS'} eq \"\") {\n\tprint STDERR \"GOARCH or GOOS not defined in environment\\n\";\n\texit 1;\n}\n\nmy $command = \"mksysnum_freebsd.pl \" . join(' ', @ARGV);\n\nprint <<EOF;\n// $command\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build $ENV{'GOARCH'},$ENV{'GOOS'}\n\npackage unix\n\nconst (\nEOF\n\nwhile(<>){\n\tif(/^([0-9]+)\\s+\\S+\\s+STD\\s+({ \\S+\\s+(\\w+).*)$/){\n\t\tmy $num = $1;\n\t\tmy $proto = $2;\n\t\tmy $name = \"SYS_$3\";\n\t\t$name =~ y/a-z/A-Z/;\n\n\t\t# There are multiple entries for enosys and nosys, so comment them out.\n\t\tif($name =~ /^SYS_E?NOSYS$/){\n\t\t\t$name = \"// $name\";\n\t\t}\n\t\tif($name eq 'SYS_SYS_EXIT'){\n\t\t\t$name = 'SYS_EXIT';\n\t\t}\n\n\t\tprint \"\t$name = $num;  // $proto\\n\";\n\t}\n}\n\nprint <<EOF;\n)\nEOF\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl",
    "content": "#!/usr/bin/env perl\n# Copyright 2009 The Go Authors. All rights reserved.\n# Use of this source code is governed by a BSD-style\n# license that can be found in the LICENSE file.\n#\n# Generate system call table for OpenBSD from master list\n# (for example, /usr/src/sys/kern/syscalls.master).\n\nuse strict;\n\nif($ENV{'GOARCH'} eq \"\" || $ENV{'GOOS'} eq \"\") {\n\tprint STDERR \"GOARCH or GOOS not defined in environment\\n\";\n\texit 1;\n}\n\nmy $command = \"mksysnum_netbsd.pl \" . join(' ', @ARGV);\n\nprint <<EOF;\n// $command\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build $ENV{'GOARCH'},$ENV{'GOOS'}\n\npackage unix\n\nconst (\nEOF\n\nmy $line = '';\nwhile(<>){\n\tif($line =~ /^(.*)\\\\$/) {\n\t\t# Handle continuation\n\t\t$line = $1;\n\t\t$_ =~ s/^\\s+//;\n\t\t$line .= $_;\n\t} else {\n\t\t# New line\n\t\t$line = $_;\n\t}\n\tnext if $line =~ /\\\\$/;\n\tif($line =~ /^([0-9]+)\\s+((STD)|(NOERR))\\s+(RUMP\\s+)?({\\s+\\S+\\s*\\*?\\s*\\|(\\S+)\\|(\\S*)\\|(\\w+).*\\s+})(\\s+(\\S+))?$/) {\n\t\tmy $num = $1;\n\t\tmy $proto = $6;\n\t\tmy $compat = $8;\n\t\tmy $name = \"$7_$9\";\n\n\t\t$name = \"$7_$11\" if $11 ne '';\n\t\t$name =~ y/a-z/A-Z/;\n\n\t\tif($compat eq '' || $compat eq '13' || $compat eq '30' || $compat eq '50') {\n\t\t\tprint \"\t$name = $num;  // $proto\\n\";\n\t\t}\n\t}\n}\n\nprint <<EOF;\n)\nEOF\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/mksysnum_openbsd.pl",
    "content": "#!/usr/bin/env perl\n# Copyright 2009 The Go Authors. All rights reserved.\n# Use of this source code is governed by a BSD-style\n# license that can be found in the LICENSE file.\n#\n# Generate system call table for OpenBSD from master list\n# (for example, /usr/src/sys/kern/syscalls.master).\n\nuse strict;\n\nif($ENV{'GOARCH'} eq \"\" || $ENV{'GOOS'} eq \"\") {\n\tprint STDERR \"GOARCH or GOOS not defined in environment\\n\";\n\texit 1;\n}\n\nmy $command = \"mksysnum_openbsd.pl \" . join(' ', @ARGV);\n\nprint <<EOF;\n// $command\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build $ENV{'GOARCH'},$ENV{'GOOS'}\n\npackage unix\n\nconst (\nEOF\n\nwhile(<>){\n\tif(/^([0-9]+)\\s+STD\\s+(NOLOCK\\s+)?({ \\S+\\s+\\*?(\\w+).*)$/){\n\t\tmy $num = $1;\n\t\tmy $proto = $3;\n\t\tmy $name = $4;\n\t\t$name =~ y/a-z/A-Z/;\n\n\t\t# There are multiple entries for enosys and nosys, so comment them out.\n\t\tif($name =~ /^SYS_E?NOSYS$/){\n\t\t\t$name = \"// $name\";\n\t\t}\n\t\tif($name eq 'SYS_SYS_EXIT'){\n\t\t\t$name = 'SYS_EXIT';\n\t\t}\n\n\t\tprint \"\t$name = $num;  // $proto\\n\";\n\t}\n}\n\nprint <<EOF;\n)\nEOF\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/openbsd_pledge.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build openbsd\n// +build 386 amd64 arm\n\npackage unix\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"strconv\"\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nconst (\n\t_SYS_PLEDGE = 108\n)\n\n// Pledge implements the pledge syscall.\n//\n// The pledge syscall does not accept execpromises on OpenBSD releases\n// before 6.3.\n//\n// execpromises must be empty when Pledge is called on OpenBSD\n// releases predating 6.3, otherwise an error will be returned.\n//\n// For more information see pledge(2).\nfunc Pledge(promises, execpromises string) error {\n\tmaj, min, err := majmin()\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// If OpenBSD <= 5.9, pledge is not available.\n\tif (maj == 5 && min != 9) || maj < 5 {\n\t\treturn fmt.Errorf(\"pledge syscall is not available on OpenBSD %d.%d\", maj, min)\n\t}\n\n\t// If OpenBSD <= 6.2 and execpromises is not empty\n\t// return an error - execpromises is not available before 6.3\n\tif (maj < 6 || (maj == 6 && min <= 2)) && execpromises != \"\" {\n\t\treturn fmt.Errorf(\"cannot use execpromises on OpenBSD %d.%d\", maj, min)\n\t}\n\n\tpptr, err := syscall.BytePtrFromString(promises)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\t// This variable will hold either a nil unsafe.Pointer or\n\t// an unsafe.Pointer to a string (execpromises).\n\tvar expr unsafe.Pointer\n\n\t// If we're running on OpenBSD > 6.2, pass execpromises to the syscall.\n\tif maj > 6 || (maj == 6 && min > 2) {\n\t\texptr, err := syscall.BytePtrFromString(execpromises)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texpr = unsafe.Pointer(exptr)\n\t}\n\n\t_, _, e := syscall.Syscall(_SYS_PLEDGE, uintptr(unsafe.Pointer(pptr)), uintptr(expr), 0)\n\tif e != 0 {\n\t\treturn e\n\t}\n\n\treturn nil\n}\n\n// majmin returns major and minor version number for an OpenBSD system.\nfunc majmin() (major int, minor int, err error) {\n\tvar v Utsname\n\terr = Uname(&v)\n\tif err != nil {\n\t\treturn\n\t}\n\n\tmajor, err = strconv.Atoi(string(v.Release[0]))\n\tif err != nil {\n\t\terr = errors.New(\"cannot parse major version number returned by uname\")\n\t\treturn\n\t}\n\n\tminor, err = strconv.Atoi(string(v.Release[2]))\n\tif err != nil {\n\t\terr = errors.New(\"cannot parse minor version number returned by uname\")\n\t\treturn\n\t}\n\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/pagesize_unix.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build darwin dragonfly freebsd linux netbsd openbsd solaris\n\n// For Unix, get the pagesize from the runtime.\n\npackage unix\n\nimport \"syscall\"\n\nfunc Getpagesize() int {\n\treturn syscall.Getpagesize()\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/race.go",
    "content": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build darwin,race linux,race freebsd,race\n\npackage unix\n\nimport (\n\t\"runtime\"\n\t\"unsafe\"\n)\n\nconst raceenabled = true\n\nfunc raceAcquire(addr unsafe.Pointer) {\n\truntime.RaceAcquire(addr)\n}\n\nfunc raceReleaseMerge(addr unsafe.Pointer) {\n\truntime.RaceReleaseMerge(addr)\n}\n\nfunc raceReadRange(addr unsafe.Pointer, len int) {\n\truntime.RaceReadRange(addr, len)\n}\n\nfunc raceWriteRange(addr unsafe.Pointer, len int) {\n\truntime.RaceWriteRange(addr, len)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/race0.go",
    "content": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build darwin,!race linux,!race freebsd,!race netbsd openbsd solaris dragonfly\n\npackage unix\n\nimport (\n\t\"unsafe\"\n)\n\nconst raceenabled = false\n\nfunc raceAcquire(addr unsafe.Pointer) {\n}\n\nfunc raceReleaseMerge(addr unsafe.Pointer) {\n}\n\nfunc raceReadRange(addr unsafe.Pointer, len int) {\n}\n\nfunc raceWriteRange(addr unsafe.Pointer, len int) {\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/sockcmsg_linux.go",
    "content": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Socket control messages\n\npackage unix\n\nimport \"unsafe\"\n\n// UnixCredentials encodes credentials into a socket control message\n// for sending to another process. This can be used for\n// authentication.\nfunc UnixCredentials(ucred *Ucred) []byte {\n\tb := make([]byte, CmsgSpace(SizeofUcred))\n\th := (*Cmsghdr)(unsafe.Pointer(&b[0]))\n\th.Level = SOL_SOCKET\n\th.Type = SCM_CREDENTIALS\n\th.SetLen(CmsgLen(SizeofUcred))\n\t*((*Ucred)(cmsgData(h))) = *ucred\n\treturn b\n}\n\n// ParseUnixCredentials decodes a socket control message that contains\n// credentials in a Ucred structure. To receive such a message, the\n// SO_PASSCRED option must be enabled on the socket.\nfunc ParseUnixCredentials(m *SocketControlMessage) (*Ucred, error) {\n\tif m.Header.Level != SOL_SOCKET {\n\t\treturn nil, EINVAL\n\t}\n\tif m.Header.Type != SCM_CREDENTIALS {\n\t\treturn nil, EINVAL\n\t}\n\tucred := *(*Ucred)(unsafe.Pointer(&m.Data[0]))\n\treturn &ucred, nil\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/sockcmsg_unix.go",
    "content": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build darwin dragonfly freebsd linux netbsd openbsd solaris\n\n// Socket control messages\n\npackage unix\n\nimport \"unsafe\"\n\n// Round the length of a raw sockaddr up to align it properly.\nfunc cmsgAlignOf(salen int) int {\n\tsalign := sizeofPtr\n\t// NOTE: It seems like 64-bit Darwin, DragonFly BSD and\n\t// Solaris kernels still require 32-bit aligned access to\n\t// network subsystem.\n\tif darwin64Bit || dragonfly64Bit || solaris64Bit {\n\t\tsalign = 4\n\t}\n\treturn (salen + salign - 1) & ^(salign - 1)\n}\n\n// CmsgLen returns the value to store in the Len field of the Cmsghdr\n// structure, taking into account any necessary alignment.\nfunc CmsgLen(datalen int) int {\n\treturn cmsgAlignOf(SizeofCmsghdr) + datalen\n}\n\n// CmsgSpace returns the number of bytes an ancillary element with\n// payload of the passed data length occupies.\nfunc CmsgSpace(datalen int) int {\n\treturn cmsgAlignOf(SizeofCmsghdr) + cmsgAlignOf(datalen)\n}\n\nfunc cmsgData(h *Cmsghdr) unsafe.Pointer {\n\treturn unsafe.Pointer(uintptr(unsafe.Pointer(h)) + uintptr(cmsgAlignOf(SizeofCmsghdr)))\n}\n\n// SocketControlMessage represents a socket control message.\ntype SocketControlMessage struct {\n\tHeader Cmsghdr\n\tData   []byte\n}\n\n// ParseSocketControlMessage parses b as an array of socket control\n// messages.\nfunc ParseSocketControlMessage(b []byte) ([]SocketControlMessage, error) {\n\tvar msgs []SocketControlMessage\n\ti := 0\n\tfor i+CmsgLen(0) <= len(b) {\n\t\th, dbuf, err := socketControlMessageHeaderAndData(b[i:])\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tm := SocketControlMessage{Header: *h, Data: dbuf}\n\t\tmsgs = append(msgs, m)\n\t\ti += cmsgAlignOf(int(h.Len))\n\t}\n\treturn msgs, nil\n}\n\nfunc socketControlMessageHeaderAndData(b []byte) (*Cmsghdr, []byte, error) {\n\th := (*Cmsghdr)(unsafe.Pointer(&b[0]))\n\tif h.Len < SizeofCmsghdr || uint64(h.Len) > uint64(len(b)) {\n\t\treturn nil, nil, EINVAL\n\t}\n\treturn h, b[cmsgAlignOf(SizeofCmsghdr):h.Len], nil\n}\n\n// UnixRights encodes a set of open file descriptors into a socket\n// control message for sending to another process.\nfunc UnixRights(fds ...int) []byte {\n\tdatalen := len(fds) * 4\n\tb := make([]byte, CmsgSpace(datalen))\n\th := (*Cmsghdr)(unsafe.Pointer(&b[0]))\n\th.Level = SOL_SOCKET\n\th.Type = SCM_RIGHTS\n\th.SetLen(CmsgLen(datalen))\n\tdata := cmsgData(h)\n\tfor _, fd := range fds {\n\t\t*(*int32)(data) = int32(fd)\n\t\tdata = unsafe.Pointer(uintptr(data) + 4)\n\t}\n\treturn b\n}\n\n// ParseUnixRights decodes a socket control message that contains an\n// integer array of open file descriptors from another process.\nfunc ParseUnixRights(m *SocketControlMessage) ([]int, error) {\n\tif m.Header.Level != SOL_SOCKET {\n\t\treturn nil, EINVAL\n\t}\n\tif m.Header.Type != SCM_RIGHTS {\n\t\treturn nil, EINVAL\n\t}\n\tfds := make([]int, len(m.Data)>>2)\n\tfor i, j := 0, 0; i < len(m.Data); i += 4 {\n\t\tfds[j] = int(*(*int32)(unsafe.Pointer(&m.Data[i])))\n\t\tj++\n\t}\n\treturn fds, nil\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/str.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build darwin dragonfly freebsd linux netbsd openbsd solaris\n\npackage unix\n\nfunc itoa(val int) string { // do it here rather than with fmt to avoid dependency\n\tif val < 0 {\n\t\treturn \"-\" + uitoa(uint(-val))\n\t}\n\treturn uitoa(uint(val))\n}\n\nfunc uitoa(val uint) string {\n\tvar buf [32]byte // big enough for int64\n\ti := len(buf) - 1\n\tfor val >= 10 {\n\t\tbuf[i] = byte(val%10 + '0')\n\t\ti--\n\t\tval /= 10\n\t}\n\tbuf[i] = byte(val + '0')\n\treturn string(buf[i:])\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build darwin dragonfly freebsd linux netbsd openbsd solaris\n\n// Package unix contains an interface to the low-level operating system\n// primitives. OS details vary depending on the underlying system, and\n// by default, godoc will display OS-specific documentation for the current\n// system. If you want godoc to display OS documentation for another\n// system, set $GOOS and $GOARCH to the desired system. For example, if\n// you want to view documentation for freebsd/arm on linux/amd64, set $GOOS\n// to freebsd and $GOARCH to arm.\n//\n// The primary use of this package is inside other packages that provide a more\n// portable interface to the system, such as \"os\", \"time\" and \"net\".  Use\n// those packages rather than this one if you can.\n//\n// For details of the functions and data types in this package consult\n// the manuals for the appropriate operating system.\n//\n// These calls return err == nil to indicate success; otherwise\n// err represents an operating system error describing the failure and\n// holds a value of type syscall.Errno.\npackage unix // import \"golang.org/x/sys/unix\"\n\nimport \"strings\"\n\n// ByteSliceFromString returns a NUL-terminated slice of bytes\n// containing the text of s. If s contains a NUL byte at any\n// location, it returns (nil, EINVAL).\nfunc ByteSliceFromString(s string) ([]byte, error) {\n\tif strings.IndexByte(s, 0) != -1 {\n\t\treturn nil, EINVAL\n\t}\n\ta := make([]byte, len(s)+1)\n\tcopy(a, s)\n\treturn a, nil\n}\n\n// BytePtrFromString returns a pointer to a NUL-terminated array of\n// bytes containing the text of s. If s contains a NUL byte at any\n// location, it returns (nil, EINVAL).\nfunc BytePtrFromString(s string) (*byte, error) {\n\ta, err := ByteSliceFromString(s)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn &a[0], nil\n}\n\n// Single-word zero for use when we need a valid pointer to 0 bytes.\n// See mkunix.pl.\nvar _zero uintptr\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_bsd.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build darwin dragonfly freebsd netbsd openbsd\n\n// BSD system call wrappers shared by *BSD based systems\n// including OS X (Darwin) and FreeBSD.  Like the other\n// syscall_*.go files it is compiled as Go code but also\n// used as input to mksyscall which parses the //sys\n// lines and generates system call stubs.\n\npackage unix\n\nimport (\n\t\"runtime\"\n\t\"syscall\"\n\t\"unsafe\"\n)\n\n/*\n * Wrapped\n */\n\n//sysnb\tgetgroups(ngid int, gid *_Gid_t) (n int, err error)\n//sysnb\tsetgroups(ngid int, gid *_Gid_t) (err error)\n\nfunc Getgroups() (gids []int, err error) {\n\tn, err := getgroups(0, nil)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tif n == 0 {\n\t\treturn nil, nil\n\t}\n\n\t// Sanity check group count. Max is 16 on BSD.\n\tif n < 0 || n > 1000 {\n\t\treturn nil, EINVAL\n\t}\n\n\ta := make([]_Gid_t, n)\n\tn, err = getgroups(n, &a[0])\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tgids = make([]int, n)\n\tfor i, v := range a[0:n] {\n\t\tgids[i] = int(v)\n\t}\n\treturn\n}\n\nfunc Setgroups(gids []int) (err error) {\n\tif len(gids) == 0 {\n\t\treturn setgroups(0, nil)\n\t}\n\n\ta := make([]_Gid_t, len(gids))\n\tfor i, v := range gids {\n\t\ta[i] = _Gid_t(v)\n\t}\n\treturn setgroups(len(a), &a[0])\n}\n\nfunc ReadDirent(fd int, buf []byte) (n int, err error) {\n\t// Final argument is (basep *uintptr) and the syscall doesn't take nil.\n\t// 64 bits should be enough. (32 bits isn't even on 386). Since the\n\t// actual system call is getdirentries64, 64 is a good guess.\n\t// TODO(rsc): Can we use a single global basep for all calls?\n\tvar base = (*uintptr)(unsafe.Pointer(new(uint64)))\n\treturn Getdirentries(fd, buf, base)\n}\n\n// Wait status is 7 bits at bottom, either 0 (exited),\n// 0x7F (stopped), or a signal number that caused an exit.\n// The 0x80 bit is whether there was a core dump.\n// An extra number (exit code, signal causing a stop)\n// is in the high bits.\n\ntype WaitStatus uint32\n\nconst (\n\tmask  = 0x7F\n\tcore  = 0x80\n\tshift = 8\n\n\texited  = 0\n\tstopped = 0x7F\n)\n\nfunc (w WaitStatus) Exited() bool { return w&mask == exited }\n\nfunc (w WaitStatus) ExitStatus() int {\n\tif w&mask != exited {\n\t\treturn -1\n\t}\n\treturn int(w >> shift)\n}\n\nfunc (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != 0 }\n\nfunc (w WaitStatus) Signal() syscall.Signal {\n\tsig := syscall.Signal(w & mask)\n\tif sig == stopped || sig == 0 {\n\t\treturn -1\n\t}\n\treturn sig\n}\n\nfunc (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 }\n\nfunc (w WaitStatus) Stopped() bool { return w&mask == stopped && syscall.Signal(w>>shift) != SIGSTOP }\n\nfunc (w WaitStatus) Continued() bool { return w&mask == stopped && syscall.Signal(w>>shift) == SIGSTOP }\n\nfunc (w WaitStatus) StopSignal() syscall.Signal {\n\tif !w.Stopped() {\n\t\treturn -1\n\t}\n\treturn syscall.Signal(w>>shift) & 0xFF\n}\n\nfunc (w WaitStatus) TrapCause() int { return -1 }\n\n//sys\twait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error)\n\nfunc Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) {\n\tvar status _C_int\n\twpid, err = wait4(pid, &status, options, rusage)\n\tif wstatus != nil {\n\t\t*wstatus = WaitStatus(status)\n\t}\n\treturn\n}\n\n//sys\taccept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)\n//sys\tbind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)\n//sys\tconnect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)\n//sysnb\tsocket(domain int, typ int, proto int) (fd int, err error)\n//sys\tgetsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error)\n//sys\tsetsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error)\n//sysnb\tgetpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)\n//sysnb\tgetsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)\n//sys\tShutdown(s int, how int) (err error)\n\nfunc (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) {\n\tif sa.Port < 0 || sa.Port > 0xFFFF {\n\t\treturn nil, 0, EINVAL\n\t}\n\tsa.raw.Len = SizeofSockaddrInet4\n\tsa.raw.Family = AF_INET\n\tp := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))\n\tp[0] = byte(sa.Port >> 8)\n\tp[1] = byte(sa.Port)\n\tfor i := 0; i < len(sa.Addr); i++ {\n\t\tsa.raw.Addr[i] = sa.Addr[i]\n\t}\n\treturn unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil\n}\n\nfunc (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) {\n\tif sa.Port < 0 || sa.Port > 0xFFFF {\n\t\treturn nil, 0, EINVAL\n\t}\n\tsa.raw.Len = SizeofSockaddrInet6\n\tsa.raw.Family = AF_INET6\n\tp := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))\n\tp[0] = byte(sa.Port >> 8)\n\tp[1] = byte(sa.Port)\n\tsa.raw.Scope_id = sa.ZoneId\n\tfor i := 0; i < len(sa.Addr); i++ {\n\t\tsa.raw.Addr[i] = sa.Addr[i]\n\t}\n\treturn unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil\n}\n\nfunc (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) {\n\tname := sa.Name\n\tn := len(name)\n\tif n >= len(sa.raw.Path) || n == 0 {\n\t\treturn nil, 0, EINVAL\n\t}\n\tsa.raw.Len = byte(3 + n) // 2 for Family, Len; 1 for NUL\n\tsa.raw.Family = AF_UNIX\n\tfor i := 0; i < n; i++ {\n\t\tsa.raw.Path[i] = int8(name[i])\n\t}\n\treturn unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil\n}\n\nfunc (sa *SockaddrDatalink) sockaddr() (unsafe.Pointer, _Socklen, error) {\n\tif sa.Index == 0 {\n\t\treturn nil, 0, EINVAL\n\t}\n\tsa.raw.Len = sa.Len\n\tsa.raw.Family = AF_LINK\n\tsa.raw.Index = sa.Index\n\tsa.raw.Type = sa.Type\n\tsa.raw.Nlen = sa.Nlen\n\tsa.raw.Alen = sa.Alen\n\tsa.raw.Slen = sa.Slen\n\tfor i := 0; i < len(sa.raw.Data); i++ {\n\t\tsa.raw.Data[i] = sa.Data[i]\n\t}\n\treturn unsafe.Pointer(&sa.raw), SizeofSockaddrDatalink, nil\n}\n\nfunc anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {\n\tswitch rsa.Addr.Family {\n\tcase AF_LINK:\n\t\tpp := (*RawSockaddrDatalink)(unsafe.Pointer(rsa))\n\t\tsa := new(SockaddrDatalink)\n\t\tsa.Len = pp.Len\n\t\tsa.Family = pp.Family\n\t\tsa.Index = pp.Index\n\t\tsa.Type = pp.Type\n\t\tsa.Nlen = pp.Nlen\n\t\tsa.Alen = pp.Alen\n\t\tsa.Slen = pp.Slen\n\t\tfor i := 0; i < len(sa.Data); i++ {\n\t\t\tsa.Data[i] = pp.Data[i]\n\t\t}\n\t\treturn sa, nil\n\n\tcase AF_UNIX:\n\t\tpp := (*RawSockaddrUnix)(unsafe.Pointer(rsa))\n\t\tif pp.Len < 2 || pp.Len > SizeofSockaddrUnix {\n\t\t\treturn nil, EINVAL\n\t\t}\n\t\tsa := new(SockaddrUnix)\n\n\t\t// Some BSDs include the trailing NUL in the length, whereas\n\t\t// others do not. Work around this by subtracting the leading\n\t\t// family and len. The path is then scanned to see if a NUL\n\t\t// terminator still exists within the length.\n\t\tn := int(pp.Len) - 2 // subtract leading Family, Len\n\t\tfor i := 0; i < n; i++ {\n\t\t\tif pp.Path[i] == 0 {\n\t\t\t\t// found early NUL; assume Len included the NUL\n\t\t\t\t// or was overestimating.\n\t\t\t\tn = i\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tbytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n]\n\t\tsa.Name = string(bytes)\n\t\treturn sa, nil\n\n\tcase AF_INET:\n\t\tpp := (*RawSockaddrInet4)(unsafe.Pointer(rsa))\n\t\tsa := new(SockaddrInet4)\n\t\tp := (*[2]byte)(unsafe.Pointer(&pp.Port))\n\t\tsa.Port = int(p[0])<<8 + int(p[1])\n\t\tfor i := 0; i < len(sa.Addr); i++ {\n\t\t\tsa.Addr[i] = pp.Addr[i]\n\t\t}\n\t\treturn sa, nil\n\n\tcase AF_INET6:\n\t\tpp := (*RawSockaddrInet6)(unsafe.Pointer(rsa))\n\t\tsa := new(SockaddrInet6)\n\t\tp := (*[2]byte)(unsafe.Pointer(&pp.Port))\n\t\tsa.Port = int(p[0])<<8 + int(p[1])\n\t\tsa.ZoneId = pp.Scope_id\n\t\tfor i := 0; i < len(sa.Addr); i++ {\n\t\t\tsa.Addr[i] = pp.Addr[i]\n\t\t}\n\t\treturn sa, nil\n\t}\n\treturn nil, EAFNOSUPPORT\n}\n\nfunc Accept(fd int) (nfd int, sa Sockaddr, err error) {\n\tvar rsa RawSockaddrAny\n\tvar len _Socklen = SizeofSockaddrAny\n\tnfd, err = accept(fd, &rsa, &len)\n\tif err != nil {\n\t\treturn\n\t}\n\tif runtime.GOOS == \"darwin\" && len == 0 {\n\t\t// Accepted socket has no address.\n\t\t// This is likely due to a bug in xnu kernels,\n\t\t// where instead of ECONNABORTED error socket\n\t\t// is accepted, but has no address.\n\t\tClose(nfd)\n\t\treturn 0, nil, ECONNABORTED\n\t}\n\tsa, err = anyToSockaddr(fd, &rsa)\n\tif err != nil {\n\t\tClose(nfd)\n\t\tnfd = 0\n\t}\n\treturn\n}\n\nfunc Getsockname(fd int) (sa Sockaddr, err error) {\n\tvar rsa RawSockaddrAny\n\tvar len _Socklen = SizeofSockaddrAny\n\tif err = getsockname(fd, &rsa, &len); err != nil {\n\t\treturn\n\t}\n\t// TODO(jsing): DragonFly has a \"bug\" (see issue 3349), which should be\n\t// reported upstream.\n\tif runtime.GOOS == \"dragonfly\" && rsa.Addr.Family == AF_UNSPEC && rsa.Addr.Len == 0 {\n\t\trsa.Addr.Family = AF_UNIX\n\t\trsa.Addr.Len = SizeofSockaddrUnix\n\t}\n\treturn anyToSockaddr(fd, &rsa)\n}\n\n//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error)\n\n// GetsockoptString returns the string value of the socket option opt for the\n// socket associated with fd at the given socket level.\nfunc GetsockoptString(fd, level, opt int) (string, error) {\n\tbuf := make([]byte, 256)\n\tvallen := _Socklen(len(buf))\n\terr := getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen)\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\treturn string(buf[:vallen-1]), nil\n}\n\n//sys   recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error)\n//sys   sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error)\n//sys\trecvmsg(s int, msg *Msghdr, flags int) (n int, err error)\n\nfunc Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) {\n\tvar msg Msghdr\n\tvar rsa RawSockaddrAny\n\tmsg.Name = (*byte)(unsafe.Pointer(&rsa))\n\tmsg.Namelen = uint32(SizeofSockaddrAny)\n\tvar iov Iovec\n\tif len(p) > 0 {\n\t\tiov.Base = (*byte)(unsafe.Pointer(&p[0]))\n\t\tiov.SetLen(len(p))\n\t}\n\tvar dummy byte\n\tif len(oob) > 0 {\n\t\t// receive at least one normal byte\n\t\tif len(p) == 0 {\n\t\t\tiov.Base = &dummy\n\t\t\tiov.SetLen(1)\n\t\t}\n\t\tmsg.Control = (*byte)(unsafe.Pointer(&oob[0]))\n\t\tmsg.SetControllen(len(oob))\n\t}\n\tmsg.Iov = &iov\n\tmsg.Iovlen = 1\n\tif n, err = recvmsg(fd, &msg, flags); err != nil {\n\t\treturn\n\t}\n\toobn = int(msg.Controllen)\n\trecvflags = int(msg.Flags)\n\t// source address is only specified if the socket is unconnected\n\tif rsa.Addr.Family != AF_UNSPEC {\n\t\tfrom, err = anyToSockaddr(fd, &rsa)\n\t}\n\treturn\n}\n\n//sys\tsendmsg(s int, msg *Msghdr, flags int) (n int, err error)\n\nfunc Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) {\n\t_, err = SendmsgN(fd, p, oob, to, flags)\n\treturn\n}\n\nfunc SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) {\n\tvar ptr unsafe.Pointer\n\tvar salen _Socklen\n\tif to != nil {\n\t\tptr, salen, err = to.sockaddr()\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t}\n\tvar msg Msghdr\n\tmsg.Name = (*byte)(unsafe.Pointer(ptr))\n\tmsg.Namelen = uint32(salen)\n\tvar iov Iovec\n\tif len(p) > 0 {\n\t\tiov.Base = (*byte)(unsafe.Pointer(&p[0]))\n\t\tiov.SetLen(len(p))\n\t}\n\tvar dummy byte\n\tif len(oob) > 0 {\n\t\t// send at least one normal byte\n\t\tif len(p) == 0 {\n\t\t\tiov.Base = &dummy\n\t\t\tiov.SetLen(1)\n\t\t}\n\t\tmsg.Control = (*byte)(unsafe.Pointer(&oob[0]))\n\t\tmsg.SetControllen(len(oob))\n\t}\n\tmsg.Iov = &iov\n\tmsg.Iovlen = 1\n\tif n, err = sendmsg(fd, &msg, flags); err != nil {\n\t\treturn 0, err\n\t}\n\tif len(oob) > 0 && len(p) == 0 {\n\t\tn = 0\n\t}\n\treturn n, nil\n}\n\n//sys\tkevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error)\n\nfunc Kevent(kq int, changes, events []Kevent_t, timeout *Timespec) (n int, err error) {\n\tvar change, event unsafe.Pointer\n\tif len(changes) > 0 {\n\t\tchange = unsafe.Pointer(&changes[0])\n\t}\n\tif len(events) > 0 {\n\t\tevent = unsafe.Pointer(&events[0])\n\t}\n\treturn kevent(kq, change, len(changes), event, len(events), timeout)\n}\n\n//sys\tsysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL\n\n// sysctlmib translates name to mib number and appends any additional args.\nfunc sysctlmib(name string, args ...int) ([]_C_int, error) {\n\t// Translate name to mib number.\n\tmib, err := nametomib(name)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tfor _, a := range args {\n\t\tmib = append(mib, _C_int(a))\n\t}\n\n\treturn mib, nil\n}\n\nfunc Sysctl(name string) (string, error) {\n\treturn SysctlArgs(name)\n}\n\nfunc SysctlArgs(name string, args ...int) (string, error) {\n\tbuf, err := SysctlRaw(name, args...)\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tn := len(buf)\n\n\t// Throw away terminating NUL.\n\tif n > 0 && buf[n-1] == '\\x00' {\n\t\tn--\n\t}\n\treturn string(buf[0:n]), nil\n}\n\nfunc SysctlUint32(name string) (uint32, error) {\n\treturn SysctlUint32Args(name)\n}\n\nfunc SysctlUint32Args(name string, args ...int) (uint32, error) {\n\tmib, err := sysctlmib(name, args...)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\n\tn := uintptr(4)\n\tbuf := make([]byte, 4)\n\tif err := sysctl(mib, &buf[0], &n, nil, 0); err != nil {\n\t\treturn 0, err\n\t}\n\tif n != 4 {\n\t\treturn 0, EIO\n\t}\n\treturn *(*uint32)(unsafe.Pointer(&buf[0])), nil\n}\n\nfunc SysctlUint64(name string, args ...int) (uint64, error) {\n\tmib, err := sysctlmib(name, args...)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\n\tn := uintptr(8)\n\tbuf := make([]byte, 8)\n\tif err := sysctl(mib, &buf[0], &n, nil, 0); err != nil {\n\t\treturn 0, err\n\t}\n\tif n != 8 {\n\t\treturn 0, EIO\n\t}\n\treturn *(*uint64)(unsafe.Pointer(&buf[0])), nil\n}\n\nfunc SysctlRaw(name string, args ...int) ([]byte, error) {\n\tmib, err := sysctlmib(name, args...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\t// Find size.\n\tn := uintptr(0)\n\tif err := sysctl(mib, nil, &n, nil, 0); err != nil {\n\t\treturn nil, err\n\t}\n\tif n == 0 {\n\t\treturn nil, nil\n\t}\n\n\t// Read into buffer of that size.\n\tbuf := make([]byte, n)\n\tif err := sysctl(mib, &buf[0], &n, nil, 0); err != nil {\n\t\treturn nil, err\n\t}\n\n\t// The actual call may return less than the original reported required\n\t// size so ensure we deal with that.\n\treturn buf[:n], nil\n}\n\n//sys\tutimes(path string, timeval *[2]Timeval) (err error)\n\nfunc Utimes(path string, tv []Timeval) error {\n\tif tv == nil {\n\t\treturn utimes(path, nil)\n\t}\n\tif len(tv) != 2 {\n\t\treturn EINVAL\n\t}\n\treturn utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0])))\n}\n\nfunc UtimesNano(path string, ts []Timespec) error {\n\tif ts == nil {\n\t\terr := utimensat(AT_FDCWD, path, nil, 0)\n\t\tif err != ENOSYS {\n\t\t\treturn err\n\t\t}\n\t\treturn utimes(path, nil)\n\t}\n\tif len(ts) != 2 {\n\t\treturn EINVAL\n\t}\n\t// Darwin setattrlist can set nanosecond timestamps\n\terr := setattrlistTimes(path, ts, 0)\n\tif err != ENOSYS {\n\t\treturn err\n\t}\n\terr = utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)\n\tif err != ENOSYS {\n\t\treturn err\n\t}\n\t// Not as efficient as it could be because Timespec and\n\t// Timeval have different types in the different OSes\n\ttv := [2]Timeval{\n\t\tNsecToTimeval(TimespecToNsec(ts[0])),\n\t\tNsecToTimeval(TimespecToNsec(ts[1])),\n\t}\n\treturn utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0])))\n}\n\nfunc UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error {\n\tif ts == nil {\n\t\treturn utimensat(dirfd, path, nil, flags)\n\t}\n\tif len(ts) != 2 {\n\t\treturn EINVAL\n\t}\n\terr := setattrlistTimes(path, ts, flags)\n\tif err != ENOSYS {\n\t\treturn err\n\t}\n\treturn utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags)\n}\n\n//sys\tfutimes(fd int, timeval *[2]Timeval) (err error)\n\nfunc Futimes(fd int, tv []Timeval) error {\n\tif tv == nil {\n\t\treturn futimes(fd, nil)\n\t}\n\tif len(tv) != 2 {\n\t\treturn EINVAL\n\t}\n\treturn futimes(fd, (*[2]Timeval)(unsafe.Pointer(&tv[0])))\n}\n\n//sys\tfcntl(fd int, cmd int, arg int) (val int, err error)\n\n//sys   poll(fds *PollFd, nfds int, timeout int) (n int, err error)\n\nfunc Poll(fds []PollFd, timeout int) (n int, err error) {\n\tif len(fds) == 0 {\n\t\treturn poll(nil, 0, timeout)\n\t}\n\treturn poll(&fds[0], len(fds), timeout)\n}\n\n// TODO: wrap\n//\tAcct(name nil-string) (err error)\n//\tGethostuuid(uuid *byte, timeout *Timespec) (err error)\n//\tPtrace(req int, pid int, addr uintptr, data int) (ret uintptr, err error)\n\nvar mapper = &mmapper{\n\tactive: make(map[*byte][]byte),\n\tmmap:   mmap,\n\tmunmap: munmap,\n}\n\nfunc Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) {\n\treturn mapper.Mmap(fd, offset, length, prot, flags)\n}\n\nfunc Munmap(b []byte) (err error) {\n\treturn mapper.Munmap(b)\n}\n\n//sys\tMadvise(b []byte, behav int) (err error)\n//sys\tMlock(b []byte) (err error)\n//sys\tMlockall(flags int) (err error)\n//sys\tMprotect(b []byte, prot int) (err error)\n//sys\tMsync(b []byte, flags int) (err error)\n//sys\tMunlock(b []byte) (err error)\n//sys\tMunlockall() (err error)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_darwin.go",
    "content": "// Copyright 2009,2010 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Darwin system calls.\n// This file is compiled as ordinary Go code,\n// but it is also input to mksyscall,\n// which parses the //sys lines and generates system call stubs.\n// Note that sometimes we use a lowercase //sys name and wrap\n// it in our own nicer implementation, either here or in\n// syscall_bsd.go or syscall_unix.go.\n\npackage unix\n\nimport (\n\t\"errors\"\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nconst ImplementsGetwd = true\n\nfunc Getwd() (string, error) {\n\tbuf := make([]byte, 2048)\n\tattrs, err := getAttrList(\".\", attrList{CommonAttr: attrCmnFullpath}, buf, 0)\n\tif err == nil && len(attrs) == 1 && len(attrs[0]) >= 2 {\n\t\twd := string(attrs[0])\n\t\t// Sanity check that it's an absolute path and ends\n\t\t// in a null byte, which we then strip.\n\t\tif wd[0] == '/' && wd[len(wd)-1] == 0 {\n\t\t\treturn wd[:len(wd)-1], nil\n\t\t}\n\t}\n\t// If pkg/os/getwd.go gets ENOTSUP, it will fall back to the\n\t// slow algorithm.\n\treturn \"\", ENOTSUP\n}\n\n// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets.\ntype SockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [12]int8\n\traw    RawSockaddrDatalink\n}\n\n// Translate \"kern.hostname\" to []_C_int{0,1,2,3}.\nfunc nametomib(name string) (mib []_C_int, err error) {\n\tconst siz = unsafe.Sizeof(mib[0])\n\n\t// NOTE(rsc): It seems strange to set the buffer to have\n\t// size CTL_MAXNAME+2 but use only CTL_MAXNAME\n\t// as the size. I don't know why the +2 is here, but the\n\t// kernel uses +2 for its own implementation of this function.\n\t// I am scared that if we don't include the +2 here, the kernel\n\t// will silently write 2 words farther than we specify\n\t// and we'll get memory corruption.\n\tvar buf [CTL_MAXNAME + 2]_C_int\n\tn := uintptr(CTL_MAXNAME) * siz\n\n\tp := (*byte)(unsafe.Pointer(&buf[0]))\n\tbytes, err := ByteSliceFromString(name)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\t// Magic sysctl: \"setting\" 0.3 to a string name\n\t// lets you read back the array of integers form.\n\tif err = sysctl([]_C_int{0, 3}, p, &n, &bytes[0], uintptr(len(name))); err != nil {\n\t\treturn nil, err\n\t}\n\treturn buf[0 : n/siz], nil\n}\n\n//sys   ptrace(request int, pid int, addr uintptr, data uintptr) (err error)\nfunc PtraceAttach(pid int) (err error) { return ptrace(PT_ATTACH, pid, 0, 0) }\nfunc PtraceDetach(pid int) (err error) { return ptrace(PT_DETACH, pid, 0, 0) }\n\nconst (\n\tattrBitMapCount = 5\n\tattrCmnFullpath = 0x08000000\n)\n\ntype attrList struct {\n\tbitmapCount uint16\n\t_           uint16\n\tCommonAttr  uint32\n\tVolAttr     uint32\n\tDirAttr     uint32\n\tFileAttr    uint32\n\tForkattr    uint32\n}\n\nfunc getAttrList(path string, attrList attrList, attrBuf []byte, options uint) (attrs [][]byte, err error) {\n\tif len(attrBuf) < 4 {\n\t\treturn nil, errors.New(\"attrBuf too small\")\n\t}\n\tattrList.bitmapCount = attrBitMapCount\n\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\t_, _, e1 := Syscall6(\n\t\tSYS_GETATTRLIST,\n\t\tuintptr(unsafe.Pointer(_p0)),\n\t\tuintptr(unsafe.Pointer(&attrList)),\n\t\tuintptr(unsafe.Pointer(&attrBuf[0])),\n\t\tuintptr(len(attrBuf)),\n\t\tuintptr(options),\n\t\t0,\n\t)\n\tif e1 != 0 {\n\t\treturn nil, e1\n\t}\n\tsize := *(*uint32)(unsafe.Pointer(&attrBuf[0]))\n\n\t// dat is the section of attrBuf that contains valid data,\n\t// without the 4 byte length header. All attribute offsets\n\t// are relative to dat.\n\tdat := attrBuf\n\tif int(size) < len(attrBuf) {\n\t\tdat = dat[:size]\n\t}\n\tdat = dat[4:] // remove length prefix\n\n\tfor i := uint32(0); int(i) < len(dat); {\n\t\theader := dat[i:]\n\t\tif len(header) < 8 {\n\t\t\treturn attrs, errors.New(\"truncated attribute header\")\n\t\t}\n\t\tdatOff := *(*int32)(unsafe.Pointer(&header[0]))\n\t\tattrLen := *(*uint32)(unsafe.Pointer(&header[4]))\n\t\tif datOff < 0 || uint32(datOff)+attrLen > uint32(len(dat)) {\n\t\t\treturn attrs, errors.New(\"truncated results; attrBuf too small\")\n\t\t}\n\t\tend := uint32(datOff) + attrLen\n\t\tattrs = append(attrs, dat[datOff:end])\n\t\ti = end\n\t\tif r := i % 4; r != 0 {\n\t\t\ti += (4 - r)\n\t\t}\n\t}\n\treturn\n}\n\n//sysnb pipe() (r int, w int, err error)\n\nfunc Pipe(p []int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tp[0], p[1], err = pipe()\n\treturn\n}\n\nfunc Getfsstat(buf []Statfs_t, flags int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tvar bufsize uintptr\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t\tbufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf))\n\t}\n\tr0, _, e1 := Syscall(SYS_GETFSSTAT64, uintptr(_p0), bufsize, uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc xattrPointer(dest []byte) *byte {\n\t// It's only when dest is set to NULL that the OS X implementations of\n\t// getxattr() and listxattr() return the current sizes of the named attributes.\n\t// An empty byte array is not sufficient. To maintain the same behaviour as the\n\t// linux implementation, we wrap around the system calls and pass in NULL when\n\t// dest is empty.\n\tvar destp *byte\n\tif len(dest) > 0 {\n\t\tdestp = &dest[0]\n\t}\n\treturn destp\n}\n\n//sys\tgetxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error)\n\nfunc Getxattr(path string, attr string, dest []byte) (sz int, err error) {\n\treturn getxattr(path, attr, xattrPointer(dest), len(dest), 0, 0)\n}\n\nfunc Lgetxattr(link string, attr string, dest []byte) (sz int, err error) {\n\treturn getxattr(link, attr, xattrPointer(dest), len(dest), 0, XATTR_NOFOLLOW)\n}\n\n//sys\tfgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error)\n\nfunc Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {\n\treturn fgetxattr(fd, attr, xattrPointer(dest), len(dest), 0, 0)\n}\n\n//sys\tsetxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error)\n\nfunc Setxattr(path string, attr string, data []byte, flags int) (err error) {\n\t// The parameters for the OS X implementation vary slightly compared to the\n\t// linux system call, specifically the position parameter:\n\t//\n\t//  linux:\n\t//      int setxattr(\n\t//          const char *path,\n\t//          const char *name,\n\t//          const void *value,\n\t//          size_t size,\n\t//          int flags\n\t//      );\n\t//\n\t//  darwin:\n\t//      int setxattr(\n\t//          const char *path,\n\t//          const char *name,\n\t//          void *value,\n\t//          size_t size,\n\t//          u_int32_t position,\n\t//          int options\n\t//      );\n\t//\n\t// position specifies the offset within the extended attribute. In the\n\t// current implementation, only the resource fork extended attribute makes\n\t// use of this argument. For all others, position is reserved. We simply\n\t// default to setting it to zero.\n\treturn setxattr(path, attr, xattrPointer(data), len(data), 0, flags)\n}\n\nfunc Lsetxattr(link string, attr string, data []byte, flags int) (err error) {\n\treturn setxattr(link, attr, xattrPointer(data), len(data), 0, flags|XATTR_NOFOLLOW)\n}\n\n//sys\tfsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error)\n\nfunc Fsetxattr(fd int, attr string, data []byte, flags int) (err error) {\n\treturn fsetxattr(fd, attr, xattrPointer(data), len(data), 0, 0)\n}\n\n//sys\tremovexattr(path string, attr string, options int) (err error)\n\nfunc Removexattr(path string, attr string) (err error) {\n\t// We wrap around and explicitly zero out the options provided to the OS X\n\t// implementation of removexattr, we do so for interoperability with the\n\t// linux variant.\n\treturn removexattr(path, attr, 0)\n}\n\nfunc Lremovexattr(link string, attr string) (err error) {\n\treturn removexattr(link, attr, XATTR_NOFOLLOW)\n}\n\n//sys\tfremovexattr(fd int, attr string, options int) (err error)\n\nfunc Fremovexattr(fd int, attr string) (err error) {\n\treturn fremovexattr(fd, attr, 0)\n}\n\n//sys\tlistxattr(path string, dest *byte, size int, options int) (sz int, err error)\n\nfunc Listxattr(path string, dest []byte) (sz int, err error) {\n\treturn listxattr(path, xattrPointer(dest), len(dest), 0)\n}\n\nfunc Llistxattr(link string, dest []byte) (sz int, err error) {\n\treturn listxattr(link, xattrPointer(dest), len(dest), XATTR_NOFOLLOW)\n}\n\n//sys\tflistxattr(fd int, dest *byte, size int, options int) (sz int, err error)\n\nfunc Flistxattr(fd int, dest []byte) (sz int, err error) {\n\treturn flistxattr(fd, xattrPointer(dest), len(dest), 0)\n}\n\nfunc setattrlistTimes(path string, times []Timespec, flags int) error {\n\t_p0, err := BytePtrFromString(path)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tvar attrList attrList\n\tattrList.bitmapCount = ATTR_BIT_MAP_COUNT\n\tattrList.CommonAttr = ATTR_CMN_MODTIME | ATTR_CMN_ACCTIME\n\n\t// order is mtime, atime: the opposite of Chtimes\n\tattributes := [2]Timespec{times[1], times[0]}\n\toptions := 0\n\tif flags&AT_SYMLINK_NOFOLLOW != 0 {\n\t\toptions |= FSOPT_NOFOLLOW\n\t}\n\t_, _, e1 := Syscall6(\n\t\tSYS_SETATTRLIST,\n\t\tuintptr(unsafe.Pointer(_p0)),\n\t\tuintptr(unsafe.Pointer(&attrList)),\n\t\tuintptr(unsafe.Pointer(&attributes)),\n\t\tuintptr(unsafe.Sizeof(attributes)),\n\t\tuintptr(options),\n\t\t0,\n\t)\n\tif e1 != 0 {\n\t\treturn e1\n\t}\n\treturn nil\n}\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) error {\n\t// Darwin doesn't support SYS_UTIMENSAT\n\treturn ENOSYS\n}\n\n/*\n * Wrapped\n */\n\n//sys\tkill(pid int, signum int, posix int) (err error)\n\nfunc Kill(pid int, signum syscall.Signal) (err error) { return kill(pid, int(signum), 1) }\n\n//sys\tioctl(fd int, req uint, arg uintptr) (err error)\n\n// ioctl itself should not be exposed directly, but additional get/set\n// functions for specific types are permissible.\n\n// IoctlSetInt performs an ioctl operation which sets an integer value\n// on fd, using the specified request number.\nfunc IoctlSetInt(fd int, req uint, value int) error {\n\treturn ioctl(fd, req, uintptr(value))\n}\n\nfunc ioctlSetWinsize(fd int, req uint, value *Winsize) error {\n\treturn ioctl(fd, req, uintptr(unsafe.Pointer(value)))\n}\n\nfunc ioctlSetTermios(fd int, req uint, value *Termios) error {\n\treturn ioctl(fd, req, uintptr(unsafe.Pointer(value)))\n}\n\n// IoctlGetInt performs an ioctl operation which gets an integer value\n// from fd, using the specified request number.\nfunc IoctlGetInt(fd int, req uint) (int, error) {\n\tvar value int\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn value, err\n}\n\nfunc IoctlGetWinsize(fd int, req uint) (*Winsize, error) {\n\tvar value Winsize\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn &value, err\n}\n\nfunc IoctlGetTermios(fd int, req uint) (*Termios, error) {\n\tvar value Termios\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn &value, err\n}\n\nfunc Uname(uname *Utsname) error {\n\tmib := []_C_int{CTL_KERN, KERN_OSTYPE}\n\tn := unsafe.Sizeof(uname.Sysname)\n\tif err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\tmib = []_C_int{CTL_KERN, KERN_HOSTNAME}\n\tn = unsafe.Sizeof(uname.Nodename)\n\tif err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\tmib = []_C_int{CTL_KERN, KERN_OSRELEASE}\n\tn = unsafe.Sizeof(uname.Release)\n\tif err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\tmib = []_C_int{CTL_KERN, KERN_VERSION}\n\tn = unsafe.Sizeof(uname.Version)\n\tif err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\t// The version might have newlines or tabs in it, convert them to\n\t// spaces.\n\tfor i, b := range uname.Version {\n\t\tif b == '\\n' || b == '\\t' {\n\t\t\tif i == len(uname.Version)-1 {\n\t\t\t\tuname.Version[i] = 0\n\t\t\t} else {\n\t\t\t\tuname.Version[i] = ' '\n\t\t\t}\n\t\t}\n\t}\n\n\tmib = []_C_int{CTL_HW, HW_MACHINE}\n\tn = unsafe.Sizeof(uname.Machine)\n\tif err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n\n/*\n * Exposed directly\n */\n//sys\tAccess(path string, mode uint32) (err error)\n//sys\tAdjtime(delta *Timeval, olddelta *Timeval) (err error)\n//sys\tChdir(path string) (err error)\n//sys\tChflags(path string, flags int) (err error)\n//sys\tChmod(path string, mode uint32) (err error)\n//sys\tChown(path string, uid int, gid int) (err error)\n//sys\tChroot(path string) (err error)\n//sys\tClose(fd int) (err error)\n//sys\tDup(fd int) (nfd int, err error)\n//sys\tDup2(from int, to int) (err error)\n//sys\tExchangedata(path1 string, path2 string, options int) (err error)\n//sys\tExit(code int)\n//sys\tFaccessat(dirfd int, path string, mode uint32, flags int) (err error)\n//sys\tFchdir(fd int) (err error)\n//sys\tFchflags(fd int, flags int) (err error)\n//sys\tFchmod(fd int, mode uint32) (err error)\n//sys\tFchmodat(dirfd int, path string, mode uint32, flags int) (err error)\n//sys\tFchown(fd int, uid int, gid int) (err error)\n//sys\tFchownat(dirfd int, path string, uid int, gid int, flags int) (err error)\n//sys\tFlock(fd int, how int) (err error)\n//sys\tFpathconf(fd int, name int) (val int, err error)\n//sys\tFstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64\n//sys\tFstatat(fd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64\n//sys\tFstatfs(fd int, stat *Statfs_t) (err error) = SYS_FSTATFS64\n//sys\tFsync(fd int) (err error)\n//sys\tFtruncate(fd int, length int64) (err error)\n//sys\tGetdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) = SYS_GETDIRENTRIES64\n//sys\tGetdtablesize() (size int)\n//sysnb\tGetegid() (egid int)\n//sysnb\tGeteuid() (uid int)\n//sysnb\tGetgid() (gid int)\n//sysnb\tGetpgid(pid int) (pgid int, err error)\n//sysnb\tGetpgrp() (pgrp int)\n//sysnb\tGetpid() (pid int)\n//sysnb\tGetppid() (ppid int)\n//sys\tGetpriority(which int, who int) (prio int, err error)\n//sysnb\tGetrlimit(which int, lim *Rlimit) (err error)\n//sysnb\tGetrusage(who int, rusage *Rusage) (err error)\n//sysnb\tGetsid(pid int) (sid int, err error)\n//sysnb\tGetuid() (uid int)\n//sysnb\tIssetugid() (tainted bool)\n//sys\tKqueue() (fd int, err error)\n//sys\tLchown(path string, uid int, gid int) (err error)\n//sys\tLink(path string, link string) (err error)\n//sys\tLinkat(pathfd int, path string, linkfd int, link string, flags int) (err error)\n//sys\tListen(s int, backlog int) (err error)\n//sys\tLstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64\n//sys\tMkdir(path string, mode uint32) (err error)\n//sys\tMkdirat(dirfd int, path string, mode uint32) (err error)\n//sys\tMkfifo(path string, mode uint32) (err error)\n//sys\tMknod(path string, mode uint32, dev int) (err error)\n//sys\tOpen(path string, mode int, perm uint32) (fd int, err error)\n//sys\tOpenat(dirfd int, path string, mode int, perm uint32) (fd int, err error)\n//sys\tPathconf(path string, name int) (val int, err error)\n//sys\tPread(fd int, p []byte, offset int64) (n int, err error)\n//sys\tPwrite(fd int, p []byte, offset int64) (n int, err error)\n//sys\tread(fd int, p []byte) (n int, err error)\n//sys\tReadlink(path string, buf []byte) (n int, err error)\n//sys\tReadlinkat(dirfd int, path string, buf []byte) (n int, err error)\n//sys\tRename(from string, to string) (err error)\n//sys\tRenameat(fromfd int, from string, tofd int, to string) (err error)\n//sys\tRevoke(path string) (err error)\n//sys\tRmdir(path string) (err error)\n//sys\tSeek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK\n//sys\tSelect(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error)\n//sys\tSetegid(egid int) (err error)\n//sysnb\tSeteuid(euid int) (err error)\n//sysnb\tSetgid(gid int) (err error)\n//sys\tSetlogin(name string) (err error)\n//sysnb\tSetpgid(pid int, pgid int) (err error)\n//sys\tSetpriority(which int, who int, prio int) (err error)\n//sys\tSetprivexec(flag int) (err error)\n//sysnb\tSetregid(rgid int, egid int) (err error)\n//sysnb\tSetreuid(ruid int, euid int) (err error)\n//sysnb\tSetrlimit(which int, lim *Rlimit) (err error)\n//sysnb\tSetsid() (pid int, err error)\n//sysnb\tSettimeofday(tp *Timeval) (err error)\n//sysnb\tSetuid(uid int) (err error)\n//sys\tStat(path string, stat *Stat_t) (err error) = SYS_STAT64\n//sys\tStatfs(path string, stat *Statfs_t) (err error) = SYS_STATFS64\n//sys\tSymlink(path string, link string) (err error)\n//sys\tSymlinkat(oldpath string, newdirfd int, newpath string) (err error)\n//sys\tSync() (err error)\n//sys\tTruncate(path string, length int64) (err error)\n//sys\tUmask(newmask int) (oldmask int)\n//sys\tUndelete(path string) (err error)\n//sys\tUnlink(path string) (err error)\n//sys\tUnlinkat(dirfd int, path string, flags int) (err error)\n//sys\tUnmount(path string, flags int) (err error)\n//sys\twrite(fd int, p []byte) (n int, err error)\n//sys   mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)\n//sys   munmap(addr uintptr, length uintptr) (err error)\n//sys\treadlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ\n//sys\twritelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE\n\n/*\n * Unimplemented\n */\n// Profil\n// Sigaction\n// Sigprocmask\n// Getlogin\n// Sigpending\n// Sigaltstack\n// Ioctl\n// Reboot\n// Execve\n// Vfork\n// Sbrk\n// Sstk\n// Ovadvise\n// Mincore\n// Setitimer\n// Swapon\n// Select\n// Sigsuspend\n// Readv\n// Writev\n// Nfssvc\n// Getfh\n// Quotactl\n// Mount\n// Csops\n// Waitid\n// Add_profil\n// Kdebug_trace\n// Sigreturn\n// Atsocket\n// Kqueue_from_portset_np\n// Kqueue_portset\n// Getattrlist\n// Setattrlist\n// Getdirentriesattr\n// Searchfs\n// Delete\n// Copyfile\n// Watchevent\n// Waitevent\n// Modwatch\n// Fsctl\n// Initgroups\n// Posix_spawn\n// Nfsclnt\n// Fhopen\n// Minherit\n// Semsys\n// Msgsys\n// Shmsys\n// Semctl\n// Semget\n// Semop\n// Msgctl\n// Msgget\n// Msgsnd\n// Msgrcv\n// Shmat\n// Shmctl\n// Shmdt\n// Shmget\n// Shm_open\n// Shm_unlink\n// Sem_open\n// Sem_close\n// Sem_unlink\n// Sem_wait\n// Sem_trywait\n// Sem_post\n// Sem_getvalue\n// Sem_init\n// Sem_destroy\n// Open_extended\n// Umask_extended\n// Stat_extended\n// Lstat_extended\n// Fstat_extended\n// Chmod_extended\n// Fchmod_extended\n// Access_extended\n// Settid\n// Gettid\n// Setsgroups\n// Getsgroups\n// Setwgroups\n// Getwgroups\n// Mkfifo_extended\n// Mkdir_extended\n// Identitysvc\n// Shared_region_check_np\n// Shared_region_map_np\n// __pthread_mutex_destroy\n// __pthread_mutex_init\n// __pthread_mutex_lock\n// __pthread_mutex_trylock\n// __pthread_mutex_unlock\n// __pthread_cond_init\n// __pthread_cond_destroy\n// __pthread_cond_broadcast\n// __pthread_cond_signal\n// Setsid_with_pid\n// __pthread_cond_timedwait\n// Aio_fsync\n// Aio_return\n// Aio_suspend\n// Aio_cancel\n// Aio_error\n// Aio_read\n// Aio_write\n// Lio_listio\n// __pthread_cond_wait\n// Iopolicysys\n// __pthread_kill\n// __pthread_sigmask\n// __sigwait\n// __disable_threadsignal\n// __pthread_markcancel\n// __pthread_canceled\n// __semwait_signal\n// Proc_info\n// sendfile\n// Stat64_extended\n// Lstat64_extended\n// Fstat64_extended\n// __pthread_chdir\n// __pthread_fchdir\n// Audit\n// Auditon\n// Getauid\n// Setauid\n// Getaudit\n// Setaudit\n// Getaudit_addr\n// Setaudit_addr\n// Auditctl\n// Bsdthread_create\n// Bsdthread_terminate\n// Stack_snapshot\n// Bsdthread_register\n// Workq_open\n// Workq_ops\n// __mac_execve\n// __mac_syscall\n// __mac_get_file\n// __mac_set_file\n// __mac_get_link\n// __mac_set_link\n// __mac_get_proc\n// __mac_set_proc\n// __mac_get_fd\n// __mac_set_fd\n// __mac_get_pid\n// __mac_get_lcid\n// __mac_get_lctx\n// __mac_set_lctx\n// Setlcid\n// Read_nocancel\n// Write_nocancel\n// Open_nocancel\n// Close_nocancel\n// Wait4_nocancel\n// Recvmsg_nocancel\n// Sendmsg_nocancel\n// Recvfrom_nocancel\n// Accept_nocancel\n// Fcntl_nocancel\n// Select_nocancel\n// Fsync_nocancel\n// Connect_nocancel\n// Sigsuspend_nocancel\n// Readv_nocancel\n// Writev_nocancel\n// Sendto_nocancel\n// Pread_nocancel\n// Pwrite_nocancel\n// Waitid_nocancel\n// Poll_nocancel\n// Msgsnd_nocancel\n// Msgrcv_nocancel\n// Sem_wait_nocancel\n// Aio_suspend_nocancel\n// __sigwait_nocancel\n// __semwait_signal_nocancel\n// __mac_mount\n// __mac_get_mount\n// __mac_getfsstat\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_darwin_386.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build 386,darwin\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: int32(sec), Nsec: int32(nsec)}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: int32(sec), Usec: int32(usec)}\n}\n\n//sysnb\tgettimeofday(tp *Timeval) (sec int32, usec int32, err error)\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t// The tv passed to gettimeofday must be non-nil\n\t// but is otherwise unused. The answers come back\n\t// in the two registers.\n\tsec, usec, err := gettimeofday(tv)\n\ttv.Sec = int32(sec)\n\ttv.Usec = int32(usec)\n\treturn err\n}\n\nfunc SetKevent(k *Kevent_t, fd, mode, flags int) {\n\tk.Ident = uint32(fd)\n\tk.Filter = int16(mode)\n\tk.Flags = uint16(flags)\n}\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint32(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint32(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tvar length = uint64(count)\n\n\t_, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(*offset>>32), uintptr(unsafe.Pointer(&length)), 0, 0, 0, 0)\n\n\twritten = int(length)\n\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)\n\n// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions\n// of darwin/386 the syscall is called sysctl instead of __sysctl.\nconst SYS___SYSCTL = SYS_SYSCTL\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build amd64,darwin\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: nsec}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: int32(usec)}\n}\n\n//sysnb\tgettimeofday(tp *Timeval) (sec int64, usec int32, err error)\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t// The tv passed to gettimeofday must be non-nil\n\t// but is otherwise unused. The answers come back\n\t// in the two registers.\n\tsec, usec, err := gettimeofday(tv)\n\ttv.Sec = sec\n\ttv.Usec = usec\n\treturn err\n}\n\nfunc SetKevent(k *Kevent_t, fd, mode, flags int) {\n\tk.Ident = uint64(fd)\n\tk.Filter = int16(mode)\n\tk.Flags = uint16(flags)\n}\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint64(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint32(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tvar length = uint64(count)\n\n\t_, _, e1 := Syscall6(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(unsafe.Pointer(&length)), 0, 0)\n\n\twritten = int(length)\n\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)\n\n// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions\n// of darwin/amd64 the syscall is called sysctl instead of __sysctl.\nconst SYS___SYSCTL = SYS_SYSCTL\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_darwin_arm.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: int32(sec), Nsec: int32(nsec)}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: int32(sec), Usec: int32(usec)}\n}\n\n//sysnb\tgettimeofday(tp *Timeval) (sec int32, usec int32, err error)\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t// The tv passed to gettimeofday must be non-nil\n\t// but is otherwise unused. The answers come back\n\t// in the two registers.\n\tsec, usec, err := gettimeofday(tv)\n\ttv.Sec = int32(sec)\n\ttv.Usec = int32(usec)\n\treturn err\n}\n\nfunc SetKevent(k *Kevent_t, fd, mode, flags int) {\n\tk.Ident = uint32(fd)\n\tk.Filter = int16(mode)\n\tk.Flags = uint16(flags)\n}\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint32(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint32(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tvar length = uint64(count)\n\n\t_, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(*offset>>32), uintptr(unsafe.Pointer(&length)), 0, 0, 0, 0)\n\n\twritten = int(length)\n\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) // sic\n\n// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions\n// of darwin/arm the syscall is called sysctl instead of __sysctl.\nconst SYS___SYSCTL = SYS_SYSCTL\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build arm64,darwin\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: nsec}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: int32(usec)}\n}\n\n//sysnb\tgettimeofday(tp *Timeval) (sec int64, usec int32, err error)\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t// The tv passed to gettimeofday must be non-nil\n\t// but is otherwise unused. The answers come back\n\t// in the two registers.\n\tsec, usec, err := gettimeofday(tv)\n\ttv.Sec = sec\n\ttv.Usec = usec\n\treturn err\n}\n\nfunc SetKevent(k *Kevent_t, fd, mode, flags int) {\n\tk.Ident = uint64(fd)\n\tk.Filter = int16(mode)\n\tk.Flags = uint16(flags)\n}\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint64(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint32(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tvar length = uint64(count)\n\n\t_, _, e1 := Syscall6(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(unsafe.Pointer(&length)), 0, 0)\n\n\twritten = int(length)\n\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) // sic\n\n// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions\n// of darwin/arm64 the syscall is called sysctl instead of __sysctl.\nconst SYS___SYSCTL = SYS_SYSCTL\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_dragonfly.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// DragonFly BSD system calls.\n// This file is compiled as ordinary Go code,\n// but it is also input to mksyscall,\n// which parses the //sys lines and generates system call stubs.\n// Note that sometimes we use a lowercase //sys name and wrap\n// it in our own nicer implementation, either here or in\n// syscall_bsd.go or syscall_unix.go.\n\npackage unix\n\nimport \"unsafe\"\n\n// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets.\ntype SockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [12]int8\n\tRcf    uint16\n\tRoute  [16]uint16\n\traw    RawSockaddrDatalink\n}\n\n// Translate \"kern.hostname\" to []_C_int{0,1,2,3}.\nfunc nametomib(name string) (mib []_C_int, err error) {\n\tconst siz = unsafe.Sizeof(mib[0])\n\n\t// NOTE(rsc): It seems strange to set the buffer to have\n\t// size CTL_MAXNAME+2 but use only CTL_MAXNAME\n\t// as the size. I don't know why the +2 is here, but the\n\t// kernel uses +2 for its own implementation of this function.\n\t// I am scared that if we don't include the +2 here, the kernel\n\t// will silently write 2 words farther than we specify\n\t// and we'll get memory corruption.\n\tvar buf [CTL_MAXNAME + 2]_C_int\n\tn := uintptr(CTL_MAXNAME) * siz\n\n\tp := (*byte)(unsafe.Pointer(&buf[0]))\n\tbytes, err := ByteSliceFromString(name)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\t// Magic sysctl: \"setting\" 0.3 to a string name\n\t// lets you read back the array of integers form.\n\tif err = sysctl([]_C_int{0, 3}, p, &n, &bytes[0], uintptr(len(name))); err != nil {\n\t\treturn nil, err\n\t}\n\treturn buf[0 : n/siz], nil\n}\n\n//sysnb pipe() (r int, w int, err error)\n\nfunc Pipe(p []int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tp[0], p[1], err = pipe()\n\treturn\n}\n\n//sys\textpread(fd int, p []byte, flags int, offset int64) (n int, err error)\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\treturn extpread(fd, p, 0, offset)\n}\n\n//sys\textpwrite(fd int, p []byte, flags int, offset int64) (n int, err error)\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\treturn extpwrite(fd, p, 0, offset)\n}\n\nfunc Accept4(fd, flags int) (nfd int, sa Sockaddr, err error) {\n\tvar rsa RawSockaddrAny\n\tvar len _Socklen = SizeofSockaddrAny\n\tnfd, err = accept4(fd, &rsa, &len, flags)\n\tif err != nil {\n\t\treturn\n\t}\n\tif len > SizeofSockaddrAny {\n\t\tpanic(\"RawSockaddrAny too small\")\n\t}\n\tsa, err = anyToSockaddr(fd, &rsa)\n\tif err != nil {\n\t\tClose(nfd)\n\t\tnfd = 0\n\t}\n\treturn\n}\n\nconst ImplementsGetwd = true\n\n//sys\tGetcwd(buf []byte) (n int, err error) = SYS___GETCWD\n\nfunc Getwd() (string, error) {\n\tvar buf [PathMax]byte\n\t_, err := Getcwd(buf[0:])\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tn := clen(buf[:])\n\tif n < 1 {\n\t\treturn \"\", EINVAL\n\t}\n\treturn string(buf[:n]), nil\n}\n\nfunc Getfsstat(buf []Statfs_t, flags int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tvar bufsize uintptr\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t\tbufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf))\n\t}\n\tr0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(_p0), bufsize, uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc setattrlistTimes(path string, times []Timespec, flags int) error {\n\t// used on Darwin for UtimesNano\n\treturn ENOSYS\n}\n\n//sys\tioctl(fd int, req uint, arg uintptr) (err error)\n\n// ioctl itself should not be exposed directly, but additional get/set\n// functions for specific types are permissible.\n\n// IoctlSetInt performs an ioctl operation which sets an integer value\n// on fd, using the specified request number.\nfunc IoctlSetInt(fd int, req uint, value int) error {\n\treturn ioctl(fd, req, uintptr(value))\n}\n\nfunc ioctlSetWinsize(fd int, req uint, value *Winsize) error {\n\treturn ioctl(fd, req, uintptr(unsafe.Pointer(value)))\n}\n\nfunc ioctlSetTermios(fd int, req uint, value *Termios) error {\n\treturn ioctl(fd, req, uintptr(unsafe.Pointer(value)))\n}\n\n// IoctlGetInt performs an ioctl operation which gets an integer value\n// from fd, using the specified request number.\nfunc IoctlGetInt(fd int, req uint) (int, error) {\n\tvar value int\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn value, err\n}\n\nfunc IoctlGetWinsize(fd int, req uint) (*Winsize, error) {\n\tvar value Winsize\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn &value, err\n}\n\nfunc IoctlGetTermios(fd int, req uint) (*Termios, error) {\n\tvar value Termios\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn &value, err\n}\n\nfunc sysctlUname(mib []_C_int, old *byte, oldlen *uintptr) error {\n\terr := sysctl(mib, old, oldlen, nil, 0)\n\tif err != nil {\n\t\t// Utsname members on Dragonfly are only 32 bytes and\n\t\t// the syscall returns ENOMEM in case the actual value\n\t\t// is longer.\n\t\tif err == ENOMEM {\n\t\t\terr = nil\n\t\t}\n\t}\n\treturn err\n}\n\nfunc Uname(uname *Utsname) error {\n\tmib := []_C_int{CTL_KERN, KERN_OSTYPE}\n\tn := unsafe.Sizeof(uname.Sysname)\n\tif err := sysctlUname(mib, &uname.Sysname[0], &n); err != nil {\n\t\treturn err\n\t}\n\tuname.Sysname[unsafe.Sizeof(uname.Sysname)-1] = 0\n\n\tmib = []_C_int{CTL_KERN, KERN_HOSTNAME}\n\tn = unsafe.Sizeof(uname.Nodename)\n\tif err := sysctlUname(mib, &uname.Nodename[0], &n); err != nil {\n\t\treturn err\n\t}\n\tuname.Nodename[unsafe.Sizeof(uname.Nodename)-1] = 0\n\n\tmib = []_C_int{CTL_KERN, KERN_OSRELEASE}\n\tn = unsafe.Sizeof(uname.Release)\n\tif err := sysctlUname(mib, &uname.Release[0], &n); err != nil {\n\t\treturn err\n\t}\n\tuname.Release[unsafe.Sizeof(uname.Release)-1] = 0\n\n\tmib = []_C_int{CTL_KERN, KERN_VERSION}\n\tn = unsafe.Sizeof(uname.Version)\n\tif err := sysctlUname(mib, &uname.Version[0], &n); err != nil {\n\t\treturn err\n\t}\n\n\t// The version might have newlines or tabs in it, convert them to\n\t// spaces.\n\tfor i, b := range uname.Version {\n\t\tif b == '\\n' || b == '\\t' {\n\t\t\tif i == len(uname.Version)-1 {\n\t\t\t\tuname.Version[i] = 0\n\t\t\t} else {\n\t\t\t\tuname.Version[i] = ' '\n\t\t\t}\n\t\t}\n\t}\n\n\tmib = []_C_int{CTL_HW, HW_MACHINE}\n\tn = unsafe.Sizeof(uname.Machine)\n\tif err := sysctlUname(mib, &uname.Machine[0], &n); err != nil {\n\t\treturn err\n\t}\n\tuname.Machine[unsafe.Sizeof(uname.Machine)-1] = 0\n\n\treturn nil\n}\n\n/*\n * Exposed directly\n */\n//sys\tAccess(path string, mode uint32) (err error)\n//sys\tAdjtime(delta *Timeval, olddelta *Timeval) (err error)\n//sys\tChdir(path string) (err error)\n//sys\tChflags(path string, flags int) (err error)\n//sys\tChmod(path string, mode uint32) (err error)\n//sys\tChown(path string, uid int, gid int) (err error)\n//sys\tChroot(path string) (err error)\n//sys\tClose(fd int) (err error)\n//sys\tDup(fd int) (nfd int, err error)\n//sys\tDup2(from int, to int) (err error)\n//sys\tExit(code int)\n//sys\tFchdir(fd int) (err error)\n//sys\tFchflags(fd int, flags int) (err error)\n//sys\tFchmod(fd int, mode uint32) (err error)\n//sys\tFchmodat(dirfd int, path string, mode uint32, flags int) (err error)\n//sys\tFchown(fd int, uid int, gid int) (err error)\n//sys\tFlock(fd int, how int) (err error)\n//sys\tFpathconf(fd int, name int) (val int, err error)\n//sys\tFstat(fd int, stat *Stat_t) (err error)\n//sys\tFstatat(fd int, path string, stat *Stat_t, flags int) (err error)\n//sys\tFstatfs(fd int, stat *Statfs_t) (err error)\n//sys\tFsync(fd int) (err error)\n//sys\tFtruncate(fd int, length int64) (err error)\n//sys\tGetdirentries(fd int, buf []byte, basep *uintptr) (n int, err error)\n//sys\tGetdtablesize() (size int)\n//sysnb\tGetegid() (egid int)\n//sysnb\tGeteuid() (uid int)\n//sysnb\tGetgid() (gid int)\n//sysnb\tGetpgid(pid int) (pgid int, err error)\n//sysnb\tGetpgrp() (pgrp int)\n//sysnb\tGetpid() (pid int)\n//sysnb\tGetppid() (ppid int)\n//sys\tGetpriority(which int, who int) (prio int, err error)\n//sysnb\tGetrlimit(which int, lim *Rlimit) (err error)\n//sysnb\tGetrusage(who int, rusage *Rusage) (err error)\n//sysnb\tGetsid(pid int) (sid int, err error)\n//sysnb\tGettimeofday(tv *Timeval) (err error)\n//sysnb\tGetuid() (uid int)\n//sys\tIssetugid() (tainted bool)\n//sys\tKill(pid int, signum syscall.Signal) (err error)\n//sys\tKqueue() (fd int, err error)\n//sys\tLchown(path string, uid int, gid int) (err error)\n//sys\tLink(path string, link string) (err error)\n//sys\tListen(s int, backlog int) (err error)\n//sys\tLstat(path string, stat *Stat_t) (err error)\n//sys\tMkdir(path string, mode uint32) (err error)\n//sys\tMkfifo(path string, mode uint32) (err error)\n//sys\tMknod(path string, mode uint32, dev int) (err error)\n//sys\tNanosleep(time *Timespec, leftover *Timespec) (err error)\n//sys\tOpen(path string, mode int, perm uint32) (fd int, err error)\n//sys\tPathconf(path string, name int) (val int, err error)\n//sys\tread(fd int, p []byte) (n int, err error)\n//sys\tReadlink(path string, buf []byte) (n int, err error)\n//sys\tRename(from string, to string) (err error)\n//sys\tRevoke(path string) (err error)\n//sys\tRmdir(path string) (err error)\n//sys\tSeek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK\n//sys\tSelect(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error)\n//sysnb\tSetegid(egid int) (err error)\n//sysnb\tSeteuid(euid int) (err error)\n//sysnb\tSetgid(gid int) (err error)\n//sys\tSetlogin(name string) (err error)\n//sysnb\tSetpgid(pid int, pgid int) (err error)\n//sys\tSetpriority(which int, who int, prio int) (err error)\n//sysnb\tSetregid(rgid int, egid int) (err error)\n//sysnb\tSetreuid(ruid int, euid int) (err error)\n//sysnb\tSetresgid(rgid int, egid int, sgid int) (err error)\n//sysnb\tSetresuid(ruid int, euid int, suid int) (err error)\n//sysnb\tSetrlimit(which int, lim *Rlimit) (err error)\n//sysnb\tSetsid() (pid int, err error)\n//sysnb\tSettimeofday(tp *Timeval) (err error)\n//sysnb\tSetuid(uid int) (err error)\n//sys\tStat(path string, stat *Stat_t) (err error)\n//sys\tStatfs(path string, stat *Statfs_t) (err error)\n//sys\tSymlink(path string, link string) (err error)\n//sys\tSync() (err error)\n//sys\tTruncate(path string, length int64) (err error)\n//sys\tUmask(newmask int) (oldmask int)\n//sys\tUndelete(path string) (err error)\n//sys\tUnlink(path string) (err error)\n//sys\tUnmount(path string, flags int) (err error)\n//sys\twrite(fd int, p []byte) (n int, err error)\n//sys   mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)\n//sys   munmap(addr uintptr, length uintptr) (err error)\n//sys\treadlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ\n//sys\twritelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE\n//sys\taccept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error)\n//sys\tutimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error)\n\n/*\n * Unimplemented\n * TODO(jsing): Update this list for DragonFly.\n */\n// Profil\n// Sigaction\n// Sigprocmask\n// Getlogin\n// Sigpending\n// Sigaltstack\n// Reboot\n// Execve\n// Vfork\n// Sbrk\n// Sstk\n// Ovadvise\n// Mincore\n// Setitimer\n// Swapon\n// Select\n// Sigsuspend\n// Readv\n// Writev\n// Nfssvc\n// Getfh\n// Quotactl\n// Mount\n// Csops\n// Waitid\n// Add_profil\n// Kdebug_trace\n// Sigreturn\n// Atsocket\n// Kqueue_from_portset_np\n// Kqueue_portset\n// Getattrlist\n// Setattrlist\n// Getdirentriesattr\n// Searchfs\n// Delete\n// Copyfile\n// Watchevent\n// Waitevent\n// Modwatch\n// Getxattr\n// Fgetxattr\n// Setxattr\n// Fsetxattr\n// Removexattr\n// Fremovexattr\n// Listxattr\n// Flistxattr\n// Fsctl\n// Initgroups\n// Posix_spawn\n// Nfsclnt\n// Fhopen\n// Minherit\n// Semsys\n// Msgsys\n// Shmsys\n// Semctl\n// Semget\n// Semop\n// Msgctl\n// Msgget\n// Msgsnd\n// Msgrcv\n// Shmat\n// Shmctl\n// Shmdt\n// Shmget\n// Shm_open\n// Shm_unlink\n// Sem_open\n// Sem_close\n// Sem_unlink\n// Sem_wait\n// Sem_trywait\n// Sem_post\n// Sem_getvalue\n// Sem_init\n// Sem_destroy\n// Open_extended\n// Umask_extended\n// Stat_extended\n// Lstat_extended\n// Fstat_extended\n// Chmod_extended\n// Fchmod_extended\n// Access_extended\n// Settid\n// Gettid\n// Setsgroups\n// Getsgroups\n// Setwgroups\n// Getwgroups\n// Mkfifo_extended\n// Mkdir_extended\n// Identitysvc\n// Shared_region_check_np\n// Shared_region_map_np\n// __pthread_mutex_destroy\n// __pthread_mutex_init\n// __pthread_mutex_lock\n// __pthread_mutex_trylock\n// __pthread_mutex_unlock\n// __pthread_cond_init\n// __pthread_cond_destroy\n// __pthread_cond_broadcast\n// __pthread_cond_signal\n// Setsid_with_pid\n// __pthread_cond_timedwait\n// Aio_fsync\n// Aio_return\n// Aio_suspend\n// Aio_cancel\n// Aio_error\n// Aio_read\n// Aio_write\n// Lio_listio\n// __pthread_cond_wait\n// Iopolicysys\n// __pthread_kill\n// __pthread_sigmask\n// __sigwait\n// __disable_threadsignal\n// __pthread_markcancel\n// __pthread_canceled\n// __semwait_signal\n// Proc_info\n// Stat64_extended\n// Lstat64_extended\n// Fstat64_extended\n// __pthread_chdir\n// __pthread_fchdir\n// Audit\n// Auditon\n// Getauid\n// Setauid\n// Getaudit\n// Setaudit\n// Getaudit_addr\n// Setaudit_addr\n// Auditctl\n// Bsdthread_create\n// Bsdthread_terminate\n// Stack_snapshot\n// Bsdthread_register\n// Workq_open\n// Workq_ops\n// __mac_execve\n// __mac_syscall\n// __mac_get_file\n// __mac_set_file\n// __mac_get_link\n// __mac_set_link\n// __mac_get_proc\n// __mac_set_proc\n// __mac_get_fd\n// __mac_set_fd\n// __mac_get_pid\n// __mac_get_lcid\n// __mac_get_lctx\n// __mac_set_lctx\n// Setlcid\n// Read_nocancel\n// Write_nocancel\n// Open_nocancel\n// Close_nocancel\n// Wait4_nocancel\n// Recvmsg_nocancel\n// Sendmsg_nocancel\n// Recvfrom_nocancel\n// Accept_nocancel\n// Fcntl_nocancel\n// Select_nocancel\n// Fsync_nocancel\n// Connect_nocancel\n// Sigsuspend_nocancel\n// Readv_nocancel\n// Writev_nocancel\n// Sendto_nocancel\n// Pread_nocancel\n// Pwrite_nocancel\n// Waitid_nocancel\n// Msgsnd_nocancel\n// Msgrcv_nocancel\n// Sem_wait_nocancel\n// Aio_suspend_nocancel\n// __sigwait_nocancel\n// __semwait_signal_nocancel\n// __mac_mount\n// __mac_get_mount\n// __mac_getfsstat\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build amd64,dragonfly\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: nsec}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: usec}\n}\n\nfunc SetKevent(k *Kevent_t, fd, mode, flags int) {\n\tk.Ident = uint64(fd)\n\tk.Filter = int16(mode)\n\tk.Flags = uint16(flags)\n}\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint64(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint32(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tvar writtenOut uint64 = 0\n\t_, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0, 0)\n\n\twritten = int(writtenOut)\n\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_freebsd.go",
    "content": "// Copyright 2009,2010 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// FreeBSD system calls.\n// This file is compiled as ordinary Go code,\n// but it is also input to mksyscall,\n// which parses the //sys lines and generates system call stubs.\n// Note that sometimes we use a lowercase //sys name and wrap\n// it in our own nicer implementation, either here or in\n// syscall_bsd.go or syscall_unix.go.\n\npackage unix\n\nimport (\n\t\"unsafe\"\n)\n\n// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets.\ntype SockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [46]int8\n\traw    RawSockaddrDatalink\n}\n\n// Translate \"kern.hostname\" to []_C_int{0,1,2,3}.\nfunc nametomib(name string) (mib []_C_int, err error) {\n\tconst siz = unsafe.Sizeof(mib[0])\n\n\t// NOTE(rsc): It seems strange to set the buffer to have\n\t// size CTL_MAXNAME+2 but use only CTL_MAXNAME\n\t// as the size. I don't know why the +2 is here, but the\n\t// kernel uses +2 for its own implementation of this function.\n\t// I am scared that if we don't include the +2 here, the kernel\n\t// will silently write 2 words farther than we specify\n\t// and we'll get memory corruption.\n\tvar buf [CTL_MAXNAME + 2]_C_int\n\tn := uintptr(CTL_MAXNAME) * siz\n\n\tp := (*byte)(unsafe.Pointer(&buf[0]))\n\tbytes, err := ByteSliceFromString(name)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\t// Magic sysctl: \"setting\" 0.3 to a string name\n\t// lets you read back the array of integers form.\n\tif err = sysctl([]_C_int{0, 3}, p, &n, &bytes[0], uintptr(len(name))); err != nil {\n\t\treturn nil, err\n\t}\n\treturn buf[0 : n/siz], nil\n}\n\n//sysnb pipe() (r int, w int, err error)\n\nfunc Pipe(p []int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tp[0], p[1], err = pipe()\n\treturn\n}\n\nfunc GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error) {\n\tvar value IPMreqn\n\tvallen := _Socklen(SizeofIPMreqn)\n\terrno := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)\n\treturn &value, errno\n}\n\nfunc SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) {\n\treturn setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq))\n}\n\nfunc Accept4(fd, flags int) (nfd int, sa Sockaddr, err error) {\n\tvar rsa RawSockaddrAny\n\tvar len _Socklen = SizeofSockaddrAny\n\tnfd, err = accept4(fd, &rsa, &len, flags)\n\tif err != nil {\n\t\treturn\n\t}\n\tif len > SizeofSockaddrAny {\n\t\tpanic(\"RawSockaddrAny too small\")\n\t}\n\tsa, err = anyToSockaddr(fd, &rsa)\n\tif err != nil {\n\t\tClose(nfd)\n\t\tnfd = 0\n\t}\n\treturn\n}\n\nconst ImplementsGetwd = true\n\n//sys\tGetcwd(buf []byte) (n int, err error) = SYS___GETCWD\n\nfunc Getwd() (string, error) {\n\tvar buf [PathMax]byte\n\t_, err := Getcwd(buf[0:])\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tn := clen(buf[:])\n\tif n < 1 {\n\t\treturn \"\", EINVAL\n\t}\n\treturn string(buf[:n]), nil\n}\n\nfunc Getfsstat(buf []Statfs_t, flags int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tvar bufsize uintptr\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t\tbufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf))\n\t}\n\tr0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(_p0), bufsize, uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc setattrlistTimes(path string, times []Timespec, flags int) error {\n\t// used on Darwin for UtimesNano\n\treturn ENOSYS\n}\n\n//sys   ioctl(fd int, req uint, arg uintptr) (err error)\n\n// ioctl itself should not be exposed directly, but additional get/set\n// functions for specific types are permissible.\n\n// IoctlSetInt performs an ioctl operation which sets an integer value\n// on fd, using the specified request number.\nfunc IoctlSetInt(fd int, req uint, value int) error {\n\treturn ioctl(fd, req, uintptr(value))\n}\n\nfunc ioctlSetWinsize(fd int, req uint, value *Winsize) error {\n\treturn ioctl(fd, req, uintptr(unsafe.Pointer(value)))\n}\n\nfunc ioctlSetTermios(fd int, req uint, value *Termios) error {\n\treturn ioctl(fd, req, uintptr(unsafe.Pointer(value)))\n}\n\n// IoctlGetInt performs an ioctl operation which gets an integer value\n// from fd, using the specified request number.\nfunc IoctlGetInt(fd int, req uint) (int, error) {\n\tvar value int\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn value, err\n}\n\nfunc IoctlGetWinsize(fd int, req uint) (*Winsize, error) {\n\tvar value Winsize\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn &value, err\n}\n\nfunc IoctlGetTermios(fd int, req uint) (*Termios, error) {\n\tvar value Termios\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn &value, err\n}\n\nfunc Uname(uname *Utsname) error {\n\tmib := []_C_int{CTL_KERN, KERN_OSTYPE}\n\tn := unsafe.Sizeof(uname.Sysname)\n\tif err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\tmib = []_C_int{CTL_KERN, KERN_HOSTNAME}\n\tn = unsafe.Sizeof(uname.Nodename)\n\tif err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\tmib = []_C_int{CTL_KERN, KERN_OSRELEASE}\n\tn = unsafe.Sizeof(uname.Release)\n\tif err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\tmib = []_C_int{CTL_KERN, KERN_VERSION}\n\tn = unsafe.Sizeof(uname.Version)\n\tif err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\t// The version might have newlines or tabs in it, convert them to\n\t// spaces.\n\tfor i, b := range uname.Version {\n\t\tif b == '\\n' || b == '\\t' {\n\t\t\tif i == len(uname.Version)-1 {\n\t\t\t\tuname.Version[i] = 0\n\t\t\t} else {\n\t\t\t\tuname.Version[i] = ' '\n\t\t\t}\n\t\t}\n\t}\n\n\tmib = []_C_int{CTL_HW, HW_MACHINE}\n\tn = unsafe.Sizeof(uname.Machine)\n\tif err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n\n/*\n * Exposed directly\n */\n//sys\tAccess(path string, mode uint32) (err error)\n//sys\tAdjtime(delta *Timeval, olddelta *Timeval) (err error)\n//sys\tCapEnter() (err error)\n//sys\tcapRightsGet(version int, fd int, rightsp *CapRights) (err error) = SYS___CAP_RIGHTS_GET\n//sys\tcapRightsLimit(fd int, rightsp *CapRights) (err error)\n//sys\tChdir(path string) (err error)\n//sys\tChflags(path string, flags int) (err error)\n//sys\tChmod(path string, mode uint32) (err error)\n//sys\tChown(path string, uid int, gid int) (err error)\n//sys\tChroot(path string) (err error)\n//sys\tClose(fd int) (err error)\n//sys\tDup(fd int) (nfd int, err error)\n//sys\tDup2(from int, to int) (err error)\n//sys\tExit(code int)\n//sys\tExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)\n//sys\tExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)\n//sys\tExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error)\n//sys\tExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error)\n//sys\tExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)\n//sys\tExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)\n//sys\tExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error)\n//sys\tExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error)\n//sys\tExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)\n//sys\tExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)\n//sys\tExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error)\n//sys\tExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error)\n//sys\tFadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_POSIX_FADVISE\n//sys\tFaccessat(dirfd int, path string, mode uint32, flags int) (err error)\n//sys\tFchdir(fd int) (err error)\n//sys\tFchflags(fd int, flags int) (err error)\n//sys\tFchmod(fd int, mode uint32) (err error)\n//sys\tFchmodat(dirfd int, path string, mode uint32, flags int) (err error)\n//sys\tFchown(fd int, uid int, gid int) (err error)\n//sys\tFchownat(dirfd int, path string, uid int, gid int, flags int) (err error)\n//sys\tFlock(fd int, how int) (err error)\n//sys\tFpathconf(fd int, name int) (val int, err error)\n//sys\tFstat(fd int, stat *Stat_t) (err error)\n//sys\tFstatat(fd int, path string, stat *Stat_t, flags int) (err error)\n//sys\tFstatfs(fd int, stat *Statfs_t) (err error)\n//sys\tFsync(fd int) (err error)\n//sys\tFtruncate(fd int, length int64) (err error)\n//sys\tGetdents(fd int, buf []byte) (n int, err error)\n//sys\tGetdirentries(fd int, buf []byte, basep *uintptr) (n int, err error)\n//sys\tGetdtablesize() (size int)\n//sysnb\tGetegid() (egid int)\n//sysnb\tGeteuid() (uid int)\n//sysnb\tGetgid() (gid int)\n//sysnb\tGetpgid(pid int) (pgid int, err error)\n//sysnb\tGetpgrp() (pgrp int)\n//sysnb\tGetpid() (pid int)\n//sysnb\tGetppid() (ppid int)\n//sys\tGetpriority(which int, who int) (prio int, err error)\n//sysnb\tGetrlimit(which int, lim *Rlimit) (err error)\n//sysnb\tGetrusage(who int, rusage *Rusage) (err error)\n//sysnb\tGetsid(pid int) (sid int, err error)\n//sysnb\tGettimeofday(tv *Timeval) (err error)\n//sysnb\tGetuid() (uid int)\n//sys\tIssetugid() (tainted bool)\n//sys\tKill(pid int, signum syscall.Signal) (err error)\n//sys\tKqueue() (fd int, err error)\n//sys\tLchown(path string, uid int, gid int) (err error)\n//sys\tLink(path string, link string) (err error)\n//sys\tLinkat(pathfd int, path string, linkfd int, link string, flags int) (err error)\n//sys\tListen(s int, backlog int) (err error)\n//sys\tLstat(path string, stat *Stat_t) (err error)\n//sys\tMkdir(path string, mode uint32) (err error)\n//sys\tMkdirat(dirfd int, path string, mode uint32) (err error)\n//sys\tMkfifo(path string, mode uint32) (err error)\n//sys\tMknod(path string, mode uint32, dev int) (err error)\n//sys\tNanosleep(time *Timespec, leftover *Timespec) (err error)\n//sys\tOpen(path string, mode int, perm uint32) (fd int, err error)\n//sys\tOpenat(fdat int, path string, mode int, perm uint32) (fd int, err error)\n//sys\tPathconf(path string, name int) (val int, err error)\n//sys\tPread(fd int, p []byte, offset int64) (n int, err error)\n//sys\tPwrite(fd int, p []byte, offset int64) (n int, err error)\n//sys\tread(fd int, p []byte) (n int, err error)\n//sys\tReadlink(path string, buf []byte) (n int, err error)\n//sys\tReadlinkat(dirfd int, path string, buf []byte) (n int, err error)\n//sys\tRename(from string, to string) (err error)\n//sys\tRenameat(fromfd int, from string, tofd int, to string) (err error)\n//sys\tRevoke(path string) (err error)\n//sys\tRmdir(path string) (err error)\n//sys\tSeek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK\n//sys\tSelect(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error)\n//sysnb\tSetegid(egid int) (err error)\n//sysnb\tSeteuid(euid int) (err error)\n//sysnb\tSetgid(gid int) (err error)\n//sys\tSetlogin(name string) (err error)\n//sysnb\tSetpgid(pid int, pgid int) (err error)\n//sys\tSetpriority(which int, who int, prio int) (err error)\n//sysnb\tSetregid(rgid int, egid int) (err error)\n//sysnb\tSetreuid(ruid int, euid int) (err error)\n//sysnb\tSetresgid(rgid int, egid int, sgid int) (err error)\n//sysnb\tSetresuid(ruid int, euid int, suid int) (err error)\n//sysnb\tSetrlimit(which int, lim *Rlimit) (err error)\n//sysnb\tSetsid() (pid int, err error)\n//sysnb\tSettimeofday(tp *Timeval) (err error)\n//sysnb\tSetuid(uid int) (err error)\n//sys\tStat(path string, stat *Stat_t) (err error)\n//sys\tStatfs(path string, stat *Statfs_t) (err error)\n//sys\tSymlink(path string, link string) (err error)\n//sys\tSymlinkat(oldpath string, newdirfd int, newpath string) (err error)\n//sys\tSync() (err error)\n//sys\tTruncate(path string, length int64) (err error)\n//sys\tUmask(newmask int) (oldmask int)\n//sys\tUndelete(path string) (err error)\n//sys\tUnlink(path string) (err error)\n//sys\tUnlinkat(dirfd int, path string, flags int) (err error)\n//sys\tUnmount(path string, flags int) (err error)\n//sys\twrite(fd int, p []byte) (n int, err error)\n//sys   mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)\n//sys   munmap(addr uintptr, length uintptr) (err error)\n//sys\treadlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ\n//sys\twritelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE\n//sys\taccept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error)\n//sys\tutimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error)\n\n/*\n * Unimplemented\n */\n// Profil\n// Sigaction\n// Sigprocmask\n// Getlogin\n// Sigpending\n// Sigaltstack\n// Ioctl\n// Reboot\n// Execve\n// Vfork\n// Sbrk\n// Sstk\n// Ovadvise\n// Mincore\n// Setitimer\n// Swapon\n// Select\n// Sigsuspend\n// Readv\n// Writev\n// Nfssvc\n// Getfh\n// Quotactl\n// Mount\n// Csops\n// Waitid\n// Add_profil\n// Kdebug_trace\n// Sigreturn\n// Atsocket\n// Kqueue_from_portset_np\n// Kqueue_portset\n// Getattrlist\n// Setattrlist\n// Getdirentriesattr\n// Searchfs\n// Delete\n// Copyfile\n// Watchevent\n// Waitevent\n// Modwatch\n// Fsctl\n// Initgroups\n// Posix_spawn\n// Nfsclnt\n// Fhopen\n// Minherit\n// Semsys\n// Msgsys\n// Shmsys\n// Semctl\n// Semget\n// Semop\n// Msgctl\n// Msgget\n// Msgsnd\n// Msgrcv\n// Shmat\n// Shmctl\n// Shmdt\n// Shmget\n// Shm_open\n// Shm_unlink\n// Sem_open\n// Sem_close\n// Sem_unlink\n// Sem_wait\n// Sem_trywait\n// Sem_post\n// Sem_getvalue\n// Sem_init\n// Sem_destroy\n// Open_extended\n// Umask_extended\n// Stat_extended\n// Lstat_extended\n// Fstat_extended\n// Chmod_extended\n// Fchmod_extended\n// Access_extended\n// Settid\n// Gettid\n// Setsgroups\n// Getsgroups\n// Setwgroups\n// Getwgroups\n// Mkfifo_extended\n// Mkdir_extended\n// Identitysvc\n// Shared_region_check_np\n// Shared_region_map_np\n// __pthread_mutex_destroy\n// __pthread_mutex_init\n// __pthread_mutex_lock\n// __pthread_mutex_trylock\n// __pthread_mutex_unlock\n// __pthread_cond_init\n// __pthread_cond_destroy\n// __pthread_cond_broadcast\n// __pthread_cond_signal\n// Setsid_with_pid\n// __pthread_cond_timedwait\n// Aio_fsync\n// Aio_return\n// Aio_suspend\n// Aio_cancel\n// Aio_error\n// Aio_read\n// Aio_write\n// Lio_listio\n// __pthread_cond_wait\n// Iopolicysys\n// __pthread_kill\n// __pthread_sigmask\n// __sigwait\n// __disable_threadsignal\n// __pthread_markcancel\n// __pthread_canceled\n// __semwait_signal\n// Proc_info\n// Stat64_extended\n// Lstat64_extended\n// Fstat64_extended\n// __pthread_chdir\n// __pthread_fchdir\n// Audit\n// Auditon\n// Getauid\n// Setauid\n// Getaudit\n// Setaudit\n// Getaudit_addr\n// Setaudit_addr\n// Auditctl\n// Bsdthread_create\n// Bsdthread_terminate\n// Stack_snapshot\n// Bsdthread_register\n// Workq_open\n// Workq_ops\n// __mac_execve\n// __mac_syscall\n// __mac_get_file\n// __mac_set_file\n// __mac_get_link\n// __mac_set_link\n// __mac_get_proc\n// __mac_set_proc\n// __mac_get_fd\n// __mac_set_fd\n// __mac_get_pid\n// __mac_get_lcid\n// __mac_get_lctx\n// __mac_set_lctx\n// Setlcid\n// Read_nocancel\n// Write_nocancel\n// Open_nocancel\n// Close_nocancel\n// Wait4_nocancel\n// Recvmsg_nocancel\n// Sendmsg_nocancel\n// Recvfrom_nocancel\n// Accept_nocancel\n// Fcntl_nocancel\n// Select_nocancel\n// Fsync_nocancel\n// Connect_nocancel\n// Sigsuspend_nocancel\n// Readv_nocancel\n// Writev_nocancel\n// Sendto_nocancel\n// Pread_nocancel\n// Pwrite_nocancel\n// Waitid_nocancel\n// Poll_nocancel\n// Msgsnd_nocancel\n// Msgrcv_nocancel\n// Sem_wait_nocancel\n// Aio_suspend_nocancel\n// __sigwait_nocancel\n// __semwait_signal_nocancel\n// __mac_mount\n// __mac_get_mount\n// __mac_getfsstat\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_freebsd_386.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build 386,freebsd\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: int32(sec), Nsec: int32(nsec)}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: int32(sec), Usec: int32(usec)}\n}\n\nfunc SetKevent(k *Kevent_t, fd, mode, flags int) {\n\tk.Ident = uint32(fd)\n\tk.Filter = int16(mode)\n\tk.Flags = uint16(flags)\n}\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint32(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint32(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tvar writtenOut uint64 = 0\n\t_, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr((*offset)>>32), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0)\n\n\twritten = int(writtenOut)\n\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build amd64,freebsd\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: nsec}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: usec}\n}\n\nfunc SetKevent(k *Kevent_t, fd, mode, flags int) {\n\tk.Ident = uint64(fd)\n\tk.Filter = int16(mode)\n\tk.Flags = uint16(flags)\n}\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint64(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint32(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tvar writtenOut uint64 = 0\n\t_, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0, 0)\n\n\twritten = int(writtenOut)\n\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go",
    "content": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build arm,freebsd\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: int32(nsec)}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: int32(usec)}\n}\n\nfunc SetKevent(k *Kevent_t, fd, mode, flags int) {\n\tk.Ident = uint32(fd)\n\tk.Filter = int16(mode)\n\tk.Flags = uint16(flags)\n}\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint32(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint32(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tvar writtenOut uint64 = 0\n\t_, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr((*offset)>>32), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0)\n\n\twritten = int(writtenOut)\n\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Linux system calls.\n// This file is compiled as ordinary Go code,\n// but it is also input to mksyscall,\n// which parses the //sys lines and generates system call stubs.\n// Note that sometimes we use a lowercase //sys name and\n// wrap it in our own nicer implementation.\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\n/*\n * Wrapped\n */\n\nfunc Access(path string, mode uint32) (err error) {\n\treturn Faccessat(AT_FDCWD, path, mode, 0)\n}\n\nfunc Chmod(path string, mode uint32) (err error) {\n\treturn Fchmodat(AT_FDCWD, path, mode, 0)\n}\n\nfunc Chown(path string, uid int, gid int) (err error) {\n\treturn Fchownat(AT_FDCWD, path, uid, gid, 0)\n}\n\nfunc Creat(path string, mode uint32) (fd int, err error) {\n\treturn Open(path, O_CREAT|O_WRONLY|O_TRUNC, mode)\n}\n\n//sys\tfchmodat(dirfd int, path string, mode uint32) (err error)\n\nfunc Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {\n\t// Linux fchmodat doesn't support the flags parameter. Mimick glibc's behavior\n\t// and check the flags. Otherwise the mode would be applied to the symlink\n\t// destination which is not what the user expects.\n\tif flags&^AT_SYMLINK_NOFOLLOW != 0 {\n\t\treturn EINVAL\n\t} else if flags&AT_SYMLINK_NOFOLLOW != 0 {\n\t\treturn EOPNOTSUPP\n\t}\n\treturn fchmodat(dirfd, path, mode)\n}\n\n//sys\tioctl(fd int, req uint, arg uintptr) (err error)\n\n// ioctl itself should not be exposed directly, but additional get/set\n// functions for specific types are permissible.\n\n// IoctlSetInt performs an ioctl operation which sets an integer value\n// on fd, using the specified request number.\nfunc IoctlSetInt(fd int, req uint, value int) error {\n\treturn ioctl(fd, req, uintptr(value))\n}\n\nfunc ioctlSetWinsize(fd int, req uint, value *Winsize) error {\n\treturn ioctl(fd, req, uintptr(unsafe.Pointer(value)))\n}\n\nfunc ioctlSetTermios(fd int, req uint, value *Termios) error {\n\treturn ioctl(fd, req, uintptr(unsafe.Pointer(value)))\n}\n\n// IoctlGetInt performs an ioctl operation which gets an integer value\n// from fd, using the specified request number.\nfunc IoctlGetInt(fd int, req uint) (int, error) {\n\tvar value int\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn value, err\n}\n\nfunc IoctlGetWinsize(fd int, req uint) (*Winsize, error) {\n\tvar value Winsize\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn &value, err\n}\n\nfunc IoctlGetTermios(fd int, req uint) (*Termios, error) {\n\tvar value Termios\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn &value, err\n}\n\n//sys\tLinkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error)\n\nfunc Link(oldpath string, newpath string) (err error) {\n\treturn Linkat(AT_FDCWD, oldpath, AT_FDCWD, newpath, 0)\n}\n\nfunc Mkdir(path string, mode uint32) (err error) {\n\treturn Mkdirat(AT_FDCWD, path, mode)\n}\n\nfunc Mknod(path string, mode uint32, dev int) (err error) {\n\treturn Mknodat(AT_FDCWD, path, mode, dev)\n}\n\nfunc Open(path string, mode int, perm uint32) (fd int, err error) {\n\treturn openat(AT_FDCWD, path, mode|O_LARGEFILE, perm)\n}\n\n//sys\topenat(dirfd int, path string, flags int, mode uint32) (fd int, err error)\n\nfunc Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {\n\treturn openat(dirfd, path, flags|O_LARGEFILE, mode)\n}\n\n//sys\tppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error)\n\nfunc Ppoll(fds []PollFd, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tif len(fds) == 0 {\n\t\treturn ppoll(nil, 0, timeout, sigmask)\n\t}\n\treturn ppoll(&fds[0], len(fds), timeout, sigmask)\n}\n\n//sys\tReadlinkat(dirfd int, path string, buf []byte) (n int, err error)\n\nfunc Readlink(path string, buf []byte) (n int, err error) {\n\treturn Readlinkat(AT_FDCWD, path, buf)\n}\n\nfunc Rename(oldpath string, newpath string) (err error) {\n\treturn Renameat(AT_FDCWD, oldpath, AT_FDCWD, newpath)\n}\n\nfunc Rmdir(path string) error {\n\treturn Unlinkat(AT_FDCWD, path, AT_REMOVEDIR)\n}\n\n//sys\tSymlinkat(oldpath string, newdirfd int, newpath string) (err error)\n\nfunc Symlink(oldpath string, newpath string) (err error) {\n\treturn Symlinkat(oldpath, AT_FDCWD, newpath)\n}\n\nfunc Unlink(path string) error {\n\treturn Unlinkat(AT_FDCWD, path, 0)\n}\n\n//sys\tUnlinkat(dirfd int, path string, flags int) (err error)\n\nfunc Utimes(path string, tv []Timeval) error {\n\tif tv == nil {\n\t\terr := utimensat(AT_FDCWD, path, nil, 0)\n\t\tif err != ENOSYS {\n\t\t\treturn err\n\t\t}\n\t\treturn utimes(path, nil)\n\t}\n\tif len(tv) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar ts [2]Timespec\n\tts[0] = NsecToTimespec(TimevalToNsec(tv[0]))\n\tts[1] = NsecToTimespec(TimevalToNsec(tv[1]))\n\terr := utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)\n\tif err != ENOSYS {\n\t\treturn err\n\t}\n\treturn utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0])))\n}\n\n//sys\tutimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error)\n\nfunc UtimesNano(path string, ts []Timespec) error {\n\tif ts == nil {\n\t\terr := utimensat(AT_FDCWD, path, nil, 0)\n\t\tif err != ENOSYS {\n\t\t\treturn err\n\t\t}\n\t\treturn utimes(path, nil)\n\t}\n\tif len(ts) != 2 {\n\t\treturn EINVAL\n\t}\n\terr := utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)\n\tif err != ENOSYS {\n\t\treturn err\n\t}\n\t// If the utimensat syscall isn't available (utimensat was added to Linux\n\t// in 2.6.22, Released, 8 July 2007) then fall back to utimes\n\tvar tv [2]Timeval\n\tfor i := 0; i < 2; i++ {\n\t\ttv[i] = NsecToTimeval(TimespecToNsec(ts[i]))\n\t}\n\treturn utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0])))\n}\n\nfunc UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error {\n\tif ts == nil {\n\t\treturn utimensat(dirfd, path, nil, flags)\n\t}\n\tif len(ts) != 2 {\n\t\treturn EINVAL\n\t}\n\treturn utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags)\n}\n\nfunc Futimesat(dirfd int, path string, tv []Timeval) error {\n\tif tv == nil {\n\t\treturn futimesat(dirfd, path, nil)\n\t}\n\tif len(tv) != 2 {\n\t\treturn EINVAL\n\t}\n\treturn futimesat(dirfd, path, (*[2]Timeval)(unsafe.Pointer(&tv[0])))\n}\n\nfunc Futimes(fd int, tv []Timeval) (err error) {\n\t// Believe it or not, this is the best we can do on Linux\n\t// (and is what glibc does).\n\treturn Utimes(\"/proc/self/fd/\"+itoa(fd), tv)\n}\n\nconst ImplementsGetwd = true\n\n//sys\tGetcwd(buf []byte) (n int, err error)\n\nfunc Getwd() (wd string, err error) {\n\tvar buf [PathMax]byte\n\tn, err := Getcwd(buf[0:])\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\t// Getcwd returns the number of bytes written to buf, including the NUL.\n\tif n < 1 || n > len(buf) || buf[n-1] != 0 {\n\t\treturn \"\", EINVAL\n\t}\n\treturn string(buf[0 : n-1]), nil\n}\n\nfunc Getgroups() (gids []int, err error) {\n\tn, err := getgroups(0, nil)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tif n == 0 {\n\t\treturn nil, nil\n\t}\n\n\t// Sanity check group count. Max is 1<<16 on Linux.\n\tif n < 0 || n > 1<<20 {\n\t\treturn nil, EINVAL\n\t}\n\n\ta := make([]_Gid_t, n)\n\tn, err = getgroups(n, &a[0])\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tgids = make([]int, n)\n\tfor i, v := range a[0:n] {\n\t\tgids[i] = int(v)\n\t}\n\treturn\n}\n\nfunc Setgroups(gids []int) (err error) {\n\tif len(gids) == 0 {\n\t\treturn setgroups(0, nil)\n\t}\n\n\ta := make([]_Gid_t, len(gids))\n\tfor i, v := range gids {\n\t\ta[i] = _Gid_t(v)\n\t}\n\treturn setgroups(len(a), &a[0])\n}\n\ntype WaitStatus uint32\n\n// Wait status is 7 bits at bottom, either 0 (exited),\n// 0x7F (stopped), or a signal number that caused an exit.\n// The 0x80 bit is whether there was a core dump.\n// An extra number (exit code, signal causing a stop)\n// is in the high bits. At least that's the idea.\n// There are various irregularities. For example, the\n// \"continued\" status is 0xFFFF, distinguishing itself\n// from stopped via the core dump bit.\n\nconst (\n\tmask    = 0x7F\n\tcore    = 0x80\n\texited  = 0x00\n\tstopped = 0x7F\n\tshift   = 8\n)\n\nfunc (w WaitStatus) Exited() bool { return w&mask == exited }\n\nfunc (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != exited }\n\nfunc (w WaitStatus) Stopped() bool { return w&0xFF == stopped }\n\nfunc (w WaitStatus) Continued() bool { return w == 0xFFFF }\n\nfunc (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 }\n\nfunc (w WaitStatus) ExitStatus() int {\n\tif !w.Exited() {\n\t\treturn -1\n\t}\n\treturn int(w>>shift) & 0xFF\n}\n\nfunc (w WaitStatus) Signal() syscall.Signal {\n\tif !w.Signaled() {\n\t\treturn -1\n\t}\n\treturn syscall.Signal(w & mask)\n}\n\nfunc (w WaitStatus) StopSignal() syscall.Signal {\n\tif !w.Stopped() {\n\t\treturn -1\n\t}\n\treturn syscall.Signal(w>>shift) & 0xFF\n}\n\nfunc (w WaitStatus) TrapCause() int {\n\tif w.StopSignal() != SIGTRAP {\n\t\treturn -1\n\t}\n\treturn int(w>>shift) >> 8\n}\n\n//sys\twait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error)\n\nfunc Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) {\n\tvar status _C_int\n\twpid, err = wait4(pid, &status, options, rusage)\n\tif wstatus != nil {\n\t\t*wstatus = WaitStatus(status)\n\t}\n\treturn\n}\n\nfunc Mkfifo(path string, mode uint32) error {\n\treturn Mknod(path, mode|S_IFIFO, 0)\n}\n\nfunc Mkfifoat(dirfd int, path string, mode uint32) error {\n\treturn Mknodat(dirfd, path, mode|S_IFIFO, 0)\n}\n\nfunc (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) {\n\tif sa.Port < 0 || sa.Port > 0xFFFF {\n\t\treturn nil, 0, EINVAL\n\t}\n\tsa.raw.Family = AF_INET\n\tp := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))\n\tp[0] = byte(sa.Port >> 8)\n\tp[1] = byte(sa.Port)\n\tfor i := 0; i < len(sa.Addr); i++ {\n\t\tsa.raw.Addr[i] = sa.Addr[i]\n\t}\n\treturn unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil\n}\n\nfunc (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) {\n\tif sa.Port < 0 || sa.Port > 0xFFFF {\n\t\treturn nil, 0, EINVAL\n\t}\n\tsa.raw.Family = AF_INET6\n\tp := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))\n\tp[0] = byte(sa.Port >> 8)\n\tp[1] = byte(sa.Port)\n\tsa.raw.Scope_id = sa.ZoneId\n\tfor i := 0; i < len(sa.Addr); i++ {\n\t\tsa.raw.Addr[i] = sa.Addr[i]\n\t}\n\treturn unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil\n}\n\nfunc (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) {\n\tname := sa.Name\n\tn := len(name)\n\tif n >= len(sa.raw.Path) {\n\t\treturn nil, 0, EINVAL\n\t}\n\tsa.raw.Family = AF_UNIX\n\tfor i := 0; i < n; i++ {\n\t\tsa.raw.Path[i] = int8(name[i])\n\t}\n\t// length is family (uint16), name, NUL.\n\tsl := _Socklen(2)\n\tif n > 0 {\n\t\tsl += _Socklen(n) + 1\n\t}\n\tif sa.raw.Path[0] == '@' {\n\t\tsa.raw.Path[0] = 0\n\t\t// Don't count trailing NUL for abstract address.\n\t\tsl--\n\t}\n\n\treturn unsafe.Pointer(&sa.raw), sl, nil\n}\n\n// SockaddrLinklayer implements the Sockaddr interface for AF_PACKET type sockets.\ntype SockaddrLinklayer struct {\n\tProtocol uint16\n\tIfindex  int\n\tHatype   uint16\n\tPkttype  uint8\n\tHalen    uint8\n\tAddr     [8]byte\n\traw      RawSockaddrLinklayer\n}\n\nfunc (sa *SockaddrLinklayer) sockaddr() (unsafe.Pointer, _Socklen, error) {\n\tif sa.Ifindex < 0 || sa.Ifindex > 0x7fffffff {\n\t\treturn nil, 0, EINVAL\n\t}\n\tsa.raw.Family = AF_PACKET\n\tsa.raw.Protocol = sa.Protocol\n\tsa.raw.Ifindex = int32(sa.Ifindex)\n\tsa.raw.Hatype = sa.Hatype\n\tsa.raw.Pkttype = sa.Pkttype\n\tsa.raw.Halen = sa.Halen\n\tfor i := 0; i < len(sa.Addr); i++ {\n\t\tsa.raw.Addr[i] = sa.Addr[i]\n\t}\n\treturn unsafe.Pointer(&sa.raw), SizeofSockaddrLinklayer, nil\n}\n\n// SockaddrNetlink implements the Sockaddr interface for AF_NETLINK type sockets.\ntype SockaddrNetlink struct {\n\tFamily uint16\n\tPad    uint16\n\tPid    uint32\n\tGroups uint32\n\traw    RawSockaddrNetlink\n}\n\nfunc (sa *SockaddrNetlink) sockaddr() (unsafe.Pointer, _Socklen, error) {\n\tsa.raw.Family = AF_NETLINK\n\tsa.raw.Pad = sa.Pad\n\tsa.raw.Pid = sa.Pid\n\tsa.raw.Groups = sa.Groups\n\treturn unsafe.Pointer(&sa.raw), SizeofSockaddrNetlink, nil\n}\n\n// SockaddrHCI implements the Sockaddr interface for AF_BLUETOOTH type sockets\n// using the HCI protocol.\ntype SockaddrHCI struct {\n\tDev     uint16\n\tChannel uint16\n\traw     RawSockaddrHCI\n}\n\nfunc (sa *SockaddrHCI) sockaddr() (unsafe.Pointer, _Socklen, error) {\n\tsa.raw.Family = AF_BLUETOOTH\n\tsa.raw.Dev = sa.Dev\n\tsa.raw.Channel = sa.Channel\n\treturn unsafe.Pointer(&sa.raw), SizeofSockaddrHCI, nil\n}\n\n// SockaddrL2 implements the Sockaddr interface for AF_BLUETOOTH type sockets\n// using the L2CAP protocol.\ntype SockaddrL2 struct {\n\tPSM      uint16\n\tCID      uint16\n\tAddr     [6]uint8\n\tAddrType uint8\n\traw      RawSockaddrL2\n}\n\nfunc (sa *SockaddrL2) sockaddr() (unsafe.Pointer, _Socklen, error) {\n\tsa.raw.Family = AF_BLUETOOTH\n\tpsm := (*[2]byte)(unsafe.Pointer(&sa.raw.Psm))\n\tpsm[0] = byte(sa.PSM)\n\tpsm[1] = byte(sa.PSM >> 8)\n\tfor i := 0; i < len(sa.Addr); i++ {\n\t\tsa.raw.Bdaddr[i] = sa.Addr[len(sa.Addr)-1-i]\n\t}\n\tcid := (*[2]byte)(unsafe.Pointer(&sa.raw.Cid))\n\tcid[0] = byte(sa.CID)\n\tcid[1] = byte(sa.CID >> 8)\n\tsa.raw.Bdaddr_type = sa.AddrType\n\treturn unsafe.Pointer(&sa.raw), SizeofSockaddrL2, nil\n}\n\n// SockaddrRFCOMM implements the Sockaddr interface for AF_BLUETOOTH type sockets\n// using the RFCOMM protocol.\n//\n// Server example:\n//\n//      fd, _ := Socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM)\n//      _ = unix.Bind(fd, &unix.SockaddrRFCOMM{\n//      \tChannel: 1,\n//      \tAddr:    [6]uint8{0, 0, 0, 0, 0, 0}, // BDADDR_ANY or 00:00:00:00:00:00\n//      })\n//      _ = Listen(fd, 1)\n//      nfd, sa, _ := Accept(fd)\n//      fmt.Printf(\"conn addr=%v fd=%d\", sa.(*unix.SockaddrRFCOMM).Addr, nfd)\n//      Read(nfd, buf)\n//\n// Client example:\n//\n//      fd, _ := Socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM)\n//      _ = Connect(fd, &SockaddrRFCOMM{\n//      \tChannel: 1,\n//      \tAddr:    [6]byte{0x11, 0x22, 0x33, 0xaa, 0xbb, 0xcc}, // CC:BB:AA:33:22:11\n//      })\n//      Write(fd, []byte(`hello`))\ntype SockaddrRFCOMM struct {\n\t// Addr represents a bluetooth address, byte ordering is little-endian.\n\tAddr [6]uint8\n\n\t// Channel is a designated bluetooth channel, only 1-30 are available for use.\n\t// Since Linux 2.6.7 and further zero value is the first available channel.\n\tChannel uint8\n\n\traw RawSockaddrRFCOMM\n}\n\nfunc (sa *SockaddrRFCOMM) sockaddr() (unsafe.Pointer, _Socklen, error) {\n\tsa.raw.Family = AF_BLUETOOTH\n\tsa.raw.Channel = sa.Channel\n\tsa.raw.Bdaddr = sa.Addr\n\treturn unsafe.Pointer(&sa.raw), SizeofSockaddrRFCOMM, nil\n}\n\n// SockaddrCAN implements the Sockaddr interface for AF_CAN type sockets.\n// The RxID and TxID fields are used for transport protocol addressing in\n// (CAN_TP16, CAN_TP20, CAN_MCNET, and CAN_ISOTP), they can be left with\n// zero values for CAN_RAW and CAN_BCM sockets as they have no meaning.\n//\n// The SockaddrCAN struct must be bound to the socket file descriptor\n// using Bind before the CAN socket can be used.\n//\n//      // Read one raw CAN frame\n//      fd, _ := Socket(AF_CAN, SOCK_RAW, CAN_RAW)\n//      addr := &SockaddrCAN{Ifindex: index}\n//      Bind(fd, addr)\n//      frame := make([]byte, 16)\n//      Read(fd, frame)\n//\n// The full SocketCAN documentation can be found in the linux kernel\n// archives at: https://www.kernel.org/doc/Documentation/networking/can.txt\ntype SockaddrCAN struct {\n\tIfindex int\n\tRxID    uint32\n\tTxID    uint32\n\traw     RawSockaddrCAN\n}\n\nfunc (sa *SockaddrCAN) sockaddr() (unsafe.Pointer, _Socklen, error) {\n\tif sa.Ifindex < 0 || sa.Ifindex > 0x7fffffff {\n\t\treturn nil, 0, EINVAL\n\t}\n\tsa.raw.Family = AF_CAN\n\tsa.raw.Ifindex = int32(sa.Ifindex)\n\trx := (*[4]byte)(unsafe.Pointer(&sa.RxID))\n\tfor i := 0; i < 4; i++ {\n\t\tsa.raw.Addr[i] = rx[i]\n\t}\n\ttx := (*[4]byte)(unsafe.Pointer(&sa.TxID))\n\tfor i := 0; i < 4; i++ {\n\t\tsa.raw.Addr[i+4] = tx[i]\n\t}\n\treturn unsafe.Pointer(&sa.raw), SizeofSockaddrCAN, nil\n}\n\n// SockaddrALG implements the Sockaddr interface for AF_ALG type sockets.\n// SockaddrALG enables userspace access to the Linux kernel's cryptography\n// subsystem. The Type and Name fields specify which type of hash or cipher\n// should be used with a given socket.\n//\n// To create a file descriptor that provides access to a hash or cipher, both\n// Bind and Accept must be used. Once the setup process is complete, input\n// data can be written to the socket, processed by the kernel, and then read\n// back as hash output or ciphertext.\n//\n// Here is an example of using an AF_ALG socket with SHA1 hashing.\n// The initial socket setup process is as follows:\n//\n//      // Open a socket to perform SHA1 hashing.\n//      fd, _ := unix.Socket(unix.AF_ALG, unix.SOCK_SEQPACKET, 0)\n//      addr := &unix.SockaddrALG{Type: \"hash\", Name: \"sha1\"}\n//      unix.Bind(fd, addr)\n//      // Note: unix.Accept does not work at this time; must invoke accept()\n//      // manually using unix.Syscall.\n//      hashfd, _, _ := unix.Syscall(unix.SYS_ACCEPT, uintptr(fd), 0, 0)\n//\n// Once a file descriptor has been returned from Accept, it may be used to\n// perform SHA1 hashing. The descriptor is not safe for concurrent use, but\n// may be re-used repeatedly with subsequent Write and Read operations.\n//\n// When hashing a small byte slice or string, a single Write and Read may\n// be used:\n//\n//      // Assume hashfd is already configured using the setup process.\n//      hash := os.NewFile(hashfd, \"sha1\")\n//      // Hash an input string and read the results. Each Write discards\n//      // previous hash state. Read always reads the current state.\n//      b := make([]byte, 20)\n//      for i := 0; i < 2; i++ {\n//          io.WriteString(hash, \"Hello, world.\")\n//          hash.Read(b)\n//          fmt.Println(hex.EncodeToString(b))\n//      }\n//      // Output:\n//      // 2ae01472317d1935a84797ec1983ae243fc6aa28\n//      // 2ae01472317d1935a84797ec1983ae243fc6aa28\n//\n// For hashing larger byte slices, or byte streams such as those read from\n// a file or socket, use Sendto with MSG_MORE to instruct the kernel to update\n// the hash digest instead of creating a new one for a given chunk and finalizing it.\n//\n//      // Assume hashfd and addr are already configured using the setup process.\n//      hash := os.NewFile(hashfd, \"sha1\")\n//      // Hash the contents of a file.\n//      f, _ := os.Open(\"/tmp/linux-4.10-rc7.tar.xz\")\n//      b := make([]byte, 4096)\n//      for {\n//          n, err := f.Read(b)\n//          if err == io.EOF {\n//              break\n//          }\n//          unix.Sendto(hashfd, b[:n], unix.MSG_MORE, addr)\n//      }\n//      hash.Read(b)\n//      fmt.Println(hex.EncodeToString(b))\n//      // Output: 85cdcad0c06eef66f805ecce353bec9accbeecc5\n//\n// For more information, see: http://www.chronox.de/crypto-API/crypto/userspace-if.html.\ntype SockaddrALG struct {\n\tType    string\n\tName    string\n\tFeature uint32\n\tMask    uint32\n\traw     RawSockaddrALG\n}\n\nfunc (sa *SockaddrALG) sockaddr() (unsafe.Pointer, _Socklen, error) {\n\t// Leave room for NUL byte terminator.\n\tif len(sa.Type) > 13 {\n\t\treturn nil, 0, EINVAL\n\t}\n\tif len(sa.Name) > 63 {\n\t\treturn nil, 0, EINVAL\n\t}\n\n\tsa.raw.Family = AF_ALG\n\tsa.raw.Feat = sa.Feature\n\tsa.raw.Mask = sa.Mask\n\n\ttyp, err := ByteSliceFromString(sa.Type)\n\tif err != nil {\n\t\treturn nil, 0, err\n\t}\n\tname, err := ByteSliceFromString(sa.Name)\n\tif err != nil {\n\t\treturn nil, 0, err\n\t}\n\n\tcopy(sa.raw.Type[:], typ)\n\tcopy(sa.raw.Name[:], name)\n\n\treturn unsafe.Pointer(&sa.raw), SizeofSockaddrALG, nil\n}\n\n// SockaddrVM implements the Sockaddr interface for AF_VSOCK type sockets.\n// SockaddrVM provides access to Linux VM sockets: a mechanism that enables\n// bidirectional communication between a hypervisor and its guest virtual\n// machines.\ntype SockaddrVM struct {\n\t// CID and Port specify a context ID and port address for a VM socket.\n\t// Guests have a unique CID, and hosts may have a well-known CID of:\n\t//  - VMADDR_CID_HYPERVISOR: refers to the hypervisor process.\n\t//  - VMADDR_CID_HOST: refers to other processes on the host.\n\tCID  uint32\n\tPort uint32\n\traw  RawSockaddrVM\n}\n\nfunc (sa *SockaddrVM) sockaddr() (unsafe.Pointer, _Socklen, error) {\n\tsa.raw.Family = AF_VSOCK\n\tsa.raw.Port = sa.Port\n\tsa.raw.Cid = sa.CID\n\n\treturn unsafe.Pointer(&sa.raw), SizeofSockaddrVM, nil\n}\n\nfunc anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {\n\tswitch rsa.Addr.Family {\n\tcase AF_NETLINK:\n\t\tpp := (*RawSockaddrNetlink)(unsafe.Pointer(rsa))\n\t\tsa := new(SockaddrNetlink)\n\t\tsa.Family = pp.Family\n\t\tsa.Pad = pp.Pad\n\t\tsa.Pid = pp.Pid\n\t\tsa.Groups = pp.Groups\n\t\treturn sa, nil\n\n\tcase AF_PACKET:\n\t\tpp := (*RawSockaddrLinklayer)(unsafe.Pointer(rsa))\n\t\tsa := new(SockaddrLinklayer)\n\t\tsa.Protocol = pp.Protocol\n\t\tsa.Ifindex = int(pp.Ifindex)\n\t\tsa.Hatype = pp.Hatype\n\t\tsa.Pkttype = pp.Pkttype\n\t\tsa.Halen = pp.Halen\n\t\tfor i := 0; i < len(sa.Addr); i++ {\n\t\t\tsa.Addr[i] = pp.Addr[i]\n\t\t}\n\t\treturn sa, nil\n\n\tcase AF_UNIX:\n\t\tpp := (*RawSockaddrUnix)(unsafe.Pointer(rsa))\n\t\tsa := new(SockaddrUnix)\n\t\tif pp.Path[0] == 0 {\n\t\t\t// \"Abstract\" Unix domain socket.\n\t\t\t// Rewrite leading NUL as @ for textual display.\n\t\t\t// (This is the standard convention.)\n\t\t\t// Not friendly to overwrite in place,\n\t\t\t// but the callers below don't care.\n\t\t\tpp.Path[0] = '@'\n\t\t}\n\n\t\t// Assume path ends at NUL.\n\t\t// This is not technically the Linux semantics for\n\t\t// abstract Unix domain sockets--they are supposed\n\t\t// to be uninterpreted fixed-size binary blobs--but\n\t\t// everyone uses this convention.\n\t\tn := 0\n\t\tfor n < len(pp.Path) && pp.Path[n] != 0 {\n\t\t\tn++\n\t\t}\n\t\tbytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n]\n\t\tsa.Name = string(bytes)\n\t\treturn sa, nil\n\n\tcase AF_INET:\n\t\tpp := (*RawSockaddrInet4)(unsafe.Pointer(rsa))\n\t\tsa := new(SockaddrInet4)\n\t\tp := (*[2]byte)(unsafe.Pointer(&pp.Port))\n\t\tsa.Port = int(p[0])<<8 + int(p[1])\n\t\tfor i := 0; i < len(sa.Addr); i++ {\n\t\t\tsa.Addr[i] = pp.Addr[i]\n\t\t}\n\t\treturn sa, nil\n\n\tcase AF_INET6:\n\t\tpp := (*RawSockaddrInet6)(unsafe.Pointer(rsa))\n\t\tsa := new(SockaddrInet6)\n\t\tp := (*[2]byte)(unsafe.Pointer(&pp.Port))\n\t\tsa.Port = int(p[0])<<8 + int(p[1])\n\t\tsa.ZoneId = pp.Scope_id\n\t\tfor i := 0; i < len(sa.Addr); i++ {\n\t\t\tsa.Addr[i] = pp.Addr[i]\n\t\t}\n\t\treturn sa, nil\n\n\tcase AF_VSOCK:\n\t\tpp := (*RawSockaddrVM)(unsafe.Pointer(rsa))\n\t\tsa := &SockaddrVM{\n\t\t\tCID:  pp.Cid,\n\t\t\tPort: pp.Port,\n\t\t}\n\t\treturn sa, nil\n\tcase AF_BLUETOOTH:\n\t\tproto, err := GetsockoptInt(fd, SOL_SOCKET, SO_PROTOCOL)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\t// only BTPROTO_L2CAP and BTPROTO_RFCOMM can accept connections\n\t\tswitch proto {\n\t\tcase BTPROTO_L2CAP:\n\t\t\tpp := (*RawSockaddrL2)(unsafe.Pointer(rsa))\n\t\t\tsa := &SockaddrL2{\n\t\t\t\tPSM:      pp.Psm,\n\t\t\t\tCID:      pp.Cid,\n\t\t\t\tAddr:     pp.Bdaddr,\n\t\t\t\tAddrType: pp.Bdaddr_type,\n\t\t\t}\n\t\t\treturn sa, nil\n\t\tcase BTPROTO_RFCOMM:\n\t\t\tpp := (*RawSockaddrRFCOMM)(unsafe.Pointer(rsa))\n\t\t\tsa := &SockaddrRFCOMM{\n\t\t\t\tChannel: pp.Channel,\n\t\t\t\tAddr:    pp.Bdaddr,\n\t\t\t}\n\t\t\treturn sa, nil\n\t\t}\n\t}\n\treturn nil, EAFNOSUPPORT\n}\n\nfunc Accept(fd int) (nfd int, sa Sockaddr, err error) {\n\tvar rsa RawSockaddrAny\n\tvar len _Socklen = SizeofSockaddrAny\n\tnfd, err = accept(fd, &rsa, &len)\n\tif err != nil {\n\t\treturn\n\t}\n\tsa, err = anyToSockaddr(fd, &rsa)\n\tif err != nil {\n\t\tClose(nfd)\n\t\tnfd = 0\n\t}\n\treturn\n}\n\nfunc Accept4(fd int, flags int) (nfd int, sa Sockaddr, err error) {\n\tvar rsa RawSockaddrAny\n\tvar len _Socklen = SizeofSockaddrAny\n\tnfd, err = accept4(fd, &rsa, &len, flags)\n\tif err != nil {\n\t\treturn\n\t}\n\tif len > SizeofSockaddrAny {\n\t\tpanic(\"RawSockaddrAny too small\")\n\t}\n\tsa, err = anyToSockaddr(fd, &rsa)\n\tif err != nil {\n\t\tClose(nfd)\n\t\tnfd = 0\n\t}\n\treturn\n}\n\nfunc Getsockname(fd int) (sa Sockaddr, err error) {\n\tvar rsa RawSockaddrAny\n\tvar len _Socklen = SizeofSockaddrAny\n\tif err = getsockname(fd, &rsa, &len); err != nil {\n\t\treturn\n\t}\n\treturn anyToSockaddr(fd, &rsa)\n}\n\nfunc GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error) {\n\tvar value IPMreqn\n\tvallen := _Socklen(SizeofIPMreqn)\n\terr := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)\n\treturn &value, err\n}\n\nfunc GetsockoptUcred(fd, level, opt int) (*Ucred, error) {\n\tvar value Ucred\n\tvallen := _Socklen(SizeofUcred)\n\terr := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)\n\treturn &value, err\n}\n\nfunc GetsockoptTCPInfo(fd, level, opt int) (*TCPInfo, error) {\n\tvar value TCPInfo\n\tvallen := _Socklen(SizeofTCPInfo)\n\terr := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)\n\treturn &value, err\n}\n\n// GetsockoptString returns the string value of the socket option opt for the\n// socket associated with fd at the given socket level.\nfunc GetsockoptString(fd, level, opt int) (string, error) {\n\tbuf := make([]byte, 256)\n\tvallen := _Socklen(len(buf))\n\terr := getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen)\n\tif err != nil {\n\t\tif err == ERANGE {\n\t\t\tbuf = make([]byte, vallen)\n\t\t\terr = getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen)\n\t\t}\n\t\tif err != nil {\n\t\t\treturn \"\", err\n\t\t}\n\t}\n\treturn string(buf[:vallen-1]), nil\n}\n\nfunc SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) {\n\treturn setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq))\n}\n\n// Keyctl Commands (http://man7.org/linux/man-pages/man2/keyctl.2.html)\n\n// KeyctlInt calls keyctl commands in which each argument is an int.\n// These commands are KEYCTL_REVOKE, KEYCTL_CHOWN, KEYCTL_CLEAR, KEYCTL_LINK,\n// KEYCTL_UNLINK, KEYCTL_NEGATE, KEYCTL_SET_REQKEY_KEYRING, KEYCTL_SET_TIMEOUT,\n// KEYCTL_ASSUME_AUTHORITY, KEYCTL_SESSION_TO_PARENT, KEYCTL_REJECT,\n// KEYCTL_INVALIDATE, and KEYCTL_GET_PERSISTENT.\n//sys\tKeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) = SYS_KEYCTL\n\n// KeyctlBuffer calls keyctl commands in which the third and fourth\n// arguments are a buffer and its length, respectively.\n// These commands are KEYCTL_UPDATE, KEYCTL_READ, and KEYCTL_INSTANTIATE.\n//sys\tKeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) = SYS_KEYCTL\n\n// KeyctlString calls keyctl commands which return a string.\n// These commands are KEYCTL_DESCRIBE and KEYCTL_GET_SECURITY.\nfunc KeyctlString(cmd int, id int) (string, error) {\n\t// We must loop as the string data may change in between the syscalls.\n\t// We could allocate a large buffer here to reduce the chance that the\n\t// syscall needs to be called twice; however, this is unnecessary as\n\t// the performance loss is negligible.\n\tvar buffer []byte\n\tfor {\n\t\t// Try to fill the buffer with data\n\t\tlength, err := KeyctlBuffer(cmd, id, buffer, 0)\n\t\tif err != nil {\n\t\t\treturn \"\", err\n\t\t}\n\n\t\t// Check if the data was written\n\t\tif length <= len(buffer) {\n\t\t\t// Exclude the null terminator\n\t\t\treturn string(buffer[:length-1]), nil\n\t\t}\n\n\t\t// Make a bigger buffer if needed\n\t\tbuffer = make([]byte, length)\n\t}\n}\n\n// Keyctl commands with special signatures.\n\n// KeyctlGetKeyringID implements the KEYCTL_GET_KEYRING_ID command.\n// See the full documentation at:\n// http://man7.org/linux/man-pages/man3/keyctl_get_keyring_ID.3.html\nfunc KeyctlGetKeyringID(id int, create bool) (ringid int, err error) {\n\tcreateInt := 0\n\tif create {\n\t\tcreateInt = 1\n\t}\n\treturn KeyctlInt(KEYCTL_GET_KEYRING_ID, id, createInt, 0, 0)\n}\n\n// KeyctlSetperm implements the KEYCTL_SETPERM command. The perm value is the\n// key handle permission mask as described in the \"keyctl setperm\" section of\n// http://man7.org/linux/man-pages/man1/keyctl.1.html.\n// See the full documentation at:\n// http://man7.org/linux/man-pages/man3/keyctl_setperm.3.html\nfunc KeyctlSetperm(id int, perm uint32) error {\n\t_, err := KeyctlInt(KEYCTL_SETPERM, id, int(perm), 0, 0)\n\treturn err\n}\n\n//sys\tkeyctlJoin(cmd int, arg2 string) (ret int, err error) = SYS_KEYCTL\n\n// KeyctlJoinSessionKeyring implements the KEYCTL_JOIN_SESSION_KEYRING command.\n// See the full documentation at:\n// http://man7.org/linux/man-pages/man3/keyctl_join_session_keyring.3.html\nfunc KeyctlJoinSessionKeyring(name string) (ringid int, err error) {\n\treturn keyctlJoin(KEYCTL_JOIN_SESSION_KEYRING, name)\n}\n\n//sys\tkeyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) = SYS_KEYCTL\n\n// KeyctlSearch implements the KEYCTL_SEARCH command.\n// See the full documentation at:\n// http://man7.org/linux/man-pages/man3/keyctl_search.3.html\nfunc KeyctlSearch(ringid int, keyType, description string, destRingid int) (id int, err error) {\n\treturn keyctlSearch(KEYCTL_SEARCH, ringid, keyType, description, destRingid)\n}\n\n//sys\tkeyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) = SYS_KEYCTL\n\n// KeyctlInstantiateIOV implements the KEYCTL_INSTANTIATE_IOV command. This\n// command is similar to KEYCTL_INSTANTIATE, except that the payload is a slice\n// of Iovec (each of which represents a buffer) instead of a single buffer.\n// See the full documentation at:\n// http://man7.org/linux/man-pages/man3/keyctl_instantiate_iov.3.html\nfunc KeyctlInstantiateIOV(id int, payload []Iovec, ringid int) error {\n\treturn keyctlIOV(KEYCTL_INSTANTIATE_IOV, id, payload, ringid)\n}\n\n//sys\tkeyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) = SYS_KEYCTL\n\n// KeyctlDHCompute implements the KEYCTL_DH_COMPUTE command. This command\n// computes a Diffie-Hellman shared secret based on the provide params. The\n// secret is written to the provided buffer and the returned size is the number\n// of bytes written (returning an error if there is insufficient space in the\n// buffer). If a nil buffer is passed in, this function returns the minimum\n// buffer length needed to store the appropriate data. Note that this differs\n// from KEYCTL_READ's behavior which always returns the requested payload size.\n// See the full documentation at:\n// http://man7.org/linux/man-pages/man3/keyctl_dh_compute.3.html\nfunc KeyctlDHCompute(params *KeyctlDHParams, buffer []byte) (size int, err error) {\n\treturn keyctlDH(KEYCTL_DH_COMPUTE, params, buffer)\n}\n\nfunc Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) {\n\tvar msg Msghdr\n\tvar rsa RawSockaddrAny\n\tmsg.Name = (*byte)(unsafe.Pointer(&rsa))\n\tmsg.Namelen = uint32(SizeofSockaddrAny)\n\tvar iov Iovec\n\tif len(p) > 0 {\n\t\tiov.Base = &p[0]\n\t\tiov.SetLen(len(p))\n\t}\n\tvar dummy byte\n\tif len(oob) > 0 {\n\t\tif len(p) == 0 {\n\t\t\tvar sockType int\n\t\t\tsockType, err = GetsockoptInt(fd, SOL_SOCKET, SO_TYPE)\n\t\t\tif err != nil {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// receive at least one normal byte\n\t\t\tif sockType != SOCK_DGRAM {\n\t\t\t\tiov.Base = &dummy\n\t\t\t\tiov.SetLen(1)\n\t\t\t}\n\t\t}\n\t\tmsg.Control = &oob[0]\n\t\tmsg.SetControllen(len(oob))\n\t}\n\tmsg.Iov = &iov\n\tmsg.Iovlen = 1\n\tif n, err = recvmsg(fd, &msg, flags); err != nil {\n\t\treturn\n\t}\n\toobn = int(msg.Controllen)\n\trecvflags = int(msg.Flags)\n\t// source address is only specified if the socket is unconnected\n\tif rsa.Addr.Family != AF_UNSPEC {\n\t\tfrom, err = anyToSockaddr(fd, &rsa)\n\t}\n\treturn\n}\n\nfunc Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) {\n\t_, err = SendmsgN(fd, p, oob, to, flags)\n\treturn\n}\n\nfunc SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) {\n\tvar ptr unsafe.Pointer\n\tvar salen _Socklen\n\tif to != nil {\n\t\tvar err error\n\t\tptr, salen, err = to.sockaddr()\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t}\n\tvar msg Msghdr\n\tmsg.Name = (*byte)(ptr)\n\tmsg.Namelen = uint32(salen)\n\tvar iov Iovec\n\tif len(p) > 0 {\n\t\tiov.Base = &p[0]\n\t\tiov.SetLen(len(p))\n\t}\n\tvar dummy byte\n\tif len(oob) > 0 {\n\t\tif len(p) == 0 {\n\t\t\tvar sockType int\n\t\t\tsockType, err = GetsockoptInt(fd, SOL_SOCKET, SO_TYPE)\n\t\t\tif err != nil {\n\t\t\t\treturn 0, err\n\t\t\t}\n\t\t\t// send at least one normal byte\n\t\t\tif sockType != SOCK_DGRAM {\n\t\t\t\tiov.Base = &dummy\n\t\t\t\tiov.SetLen(1)\n\t\t\t}\n\t\t}\n\t\tmsg.Control = &oob[0]\n\t\tmsg.SetControllen(len(oob))\n\t}\n\tmsg.Iov = &iov\n\tmsg.Iovlen = 1\n\tif n, err = sendmsg(fd, &msg, flags); err != nil {\n\t\treturn 0, err\n\t}\n\tif len(oob) > 0 && len(p) == 0 {\n\t\tn = 0\n\t}\n\treturn n, nil\n}\n\n// BindToDevice binds the socket associated with fd to device.\nfunc BindToDevice(fd int, device string) (err error) {\n\treturn SetsockoptString(fd, SOL_SOCKET, SO_BINDTODEVICE, device)\n}\n\n//sys\tptrace(request int, pid int, addr uintptr, data uintptr) (err error)\n\nfunc ptracePeek(req int, pid int, addr uintptr, out []byte) (count int, err error) {\n\t// The peek requests are machine-size oriented, so we wrap it\n\t// to retrieve arbitrary-length data.\n\n\t// The ptrace syscall differs from glibc's ptrace.\n\t// Peeks returns the word in *data, not as the return value.\n\n\tvar buf [sizeofPtr]byte\n\n\t// Leading edge. PEEKTEXT/PEEKDATA don't require aligned\n\t// access (PEEKUSER warns that it might), but if we don't\n\t// align our reads, we might straddle an unmapped page\n\t// boundary and not get the bytes leading up to the page\n\t// boundary.\n\tn := 0\n\tif addr%sizeofPtr != 0 {\n\t\terr = ptrace(req, pid, addr-addr%sizeofPtr, uintptr(unsafe.Pointer(&buf[0])))\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\tn += copy(out, buf[addr%sizeofPtr:])\n\t\tout = out[n:]\n\t}\n\n\t// Remainder.\n\tfor len(out) > 0 {\n\t\t// We use an internal buffer to guarantee alignment.\n\t\t// It's not documented if this is necessary, but we're paranoid.\n\t\terr = ptrace(req, pid, addr+uintptr(n), uintptr(unsafe.Pointer(&buf[0])))\n\t\tif err != nil {\n\t\t\treturn n, err\n\t\t}\n\t\tcopied := copy(out, buf[0:])\n\t\tn += copied\n\t\tout = out[copied:]\n\t}\n\n\treturn n, nil\n}\n\nfunc PtracePeekText(pid int, addr uintptr, out []byte) (count int, err error) {\n\treturn ptracePeek(PTRACE_PEEKTEXT, pid, addr, out)\n}\n\nfunc PtracePeekData(pid int, addr uintptr, out []byte) (count int, err error) {\n\treturn ptracePeek(PTRACE_PEEKDATA, pid, addr, out)\n}\n\nfunc PtracePeekUser(pid int, addr uintptr, out []byte) (count int, err error) {\n\treturn ptracePeek(PTRACE_PEEKUSR, pid, addr, out)\n}\n\nfunc ptracePoke(pokeReq int, peekReq int, pid int, addr uintptr, data []byte) (count int, err error) {\n\t// As for ptracePeek, we need to align our accesses to deal\n\t// with the possibility of straddling an invalid page.\n\n\t// Leading edge.\n\tn := 0\n\tif addr%sizeofPtr != 0 {\n\t\tvar buf [sizeofPtr]byte\n\t\terr = ptrace(peekReq, pid, addr-addr%sizeofPtr, uintptr(unsafe.Pointer(&buf[0])))\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\tn += copy(buf[addr%sizeofPtr:], data)\n\t\tword := *((*uintptr)(unsafe.Pointer(&buf[0])))\n\t\terr = ptrace(pokeReq, pid, addr-addr%sizeofPtr, word)\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t\tdata = data[n:]\n\t}\n\n\t// Interior.\n\tfor len(data) > sizeofPtr {\n\t\tword := *((*uintptr)(unsafe.Pointer(&data[0])))\n\t\terr = ptrace(pokeReq, pid, addr+uintptr(n), word)\n\t\tif err != nil {\n\t\t\treturn n, err\n\t\t}\n\t\tn += sizeofPtr\n\t\tdata = data[sizeofPtr:]\n\t}\n\n\t// Trailing edge.\n\tif len(data) > 0 {\n\t\tvar buf [sizeofPtr]byte\n\t\terr = ptrace(peekReq, pid, addr+uintptr(n), uintptr(unsafe.Pointer(&buf[0])))\n\t\tif err != nil {\n\t\t\treturn n, err\n\t\t}\n\t\tcopy(buf[0:], data)\n\t\tword := *((*uintptr)(unsafe.Pointer(&buf[0])))\n\t\terr = ptrace(pokeReq, pid, addr+uintptr(n), word)\n\t\tif err != nil {\n\t\t\treturn n, err\n\t\t}\n\t\tn += len(data)\n\t}\n\n\treturn n, nil\n}\n\nfunc PtracePokeText(pid int, addr uintptr, data []byte) (count int, err error) {\n\treturn ptracePoke(PTRACE_POKETEXT, PTRACE_PEEKTEXT, pid, addr, data)\n}\n\nfunc PtracePokeData(pid int, addr uintptr, data []byte) (count int, err error) {\n\treturn ptracePoke(PTRACE_POKEDATA, PTRACE_PEEKDATA, pid, addr, data)\n}\n\nfunc PtracePokeUser(pid int, addr uintptr, data []byte) (count int, err error) {\n\treturn ptracePoke(PTRACE_POKEUSR, PTRACE_PEEKUSR, pid, addr, data)\n}\n\nfunc PtraceGetRegs(pid int, regsout *PtraceRegs) (err error) {\n\treturn ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))\n}\n\nfunc PtraceSetRegs(pid int, regs *PtraceRegs) (err error) {\n\treturn ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))\n}\n\nfunc PtraceSetOptions(pid int, options int) (err error) {\n\treturn ptrace(PTRACE_SETOPTIONS, pid, 0, uintptr(options))\n}\n\nfunc PtraceGetEventMsg(pid int) (msg uint, err error) {\n\tvar data _C_long\n\terr = ptrace(PTRACE_GETEVENTMSG, pid, 0, uintptr(unsafe.Pointer(&data)))\n\tmsg = uint(data)\n\treturn\n}\n\nfunc PtraceCont(pid int, signal int) (err error) {\n\treturn ptrace(PTRACE_CONT, pid, 0, uintptr(signal))\n}\n\nfunc PtraceSyscall(pid int, signal int) (err error) {\n\treturn ptrace(PTRACE_SYSCALL, pid, 0, uintptr(signal))\n}\n\nfunc PtraceSingleStep(pid int) (err error) { return ptrace(PTRACE_SINGLESTEP, pid, 0, 0) }\n\nfunc PtraceAttach(pid int) (err error) { return ptrace(PTRACE_ATTACH, pid, 0, 0) }\n\nfunc PtraceDetach(pid int) (err error) { return ptrace(PTRACE_DETACH, pid, 0, 0) }\n\n//sys\treboot(magic1 uint, magic2 uint, cmd int, arg string) (err error)\n\nfunc Reboot(cmd int) (err error) {\n\treturn reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, cmd, \"\")\n}\n\nfunc ReadDirent(fd int, buf []byte) (n int, err error) {\n\treturn Getdents(fd, buf)\n}\n\n//sys\tmount(source string, target string, fstype string, flags uintptr, data *byte) (err error)\n\nfunc Mount(source string, target string, fstype string, flags uintptr, data string) (err error) {\n\t// Certain file systems get rather angry and EINVAL if you give\n\t// them an empty string of data, rather than NULL.\n\tif data == \"\" {\n\t\treturn mount(source, target, fstype, flags, nil)\n\t}\n\tdatap, err := BytePtrFromString(data)\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn mount(source, target, fstype, flags, datap)\n}\n\n// Sendto\n// Recvfrom\n// Socketpair\n\n/*\n * Direct access\n */\n//sys\tAcct(path string) (err error)\n//sys\tAddKey(keyType string, description string, payload []byte, ringid int) (id int, err error)\n//sys\tAdjtimex(buf *Timex) (state int, err error)\n//sys\tChdir(path string) (err error)\n//sys\tChroot(path string) (err error)\n//sys\tClockGettime(clockid int32, time *Timespec) (err error)\n//sys\tClose(fd int) (err error)\n//sys\tCopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error)\n//sys\tDup(oldfd int) (fd int, err error)\n//sys\tDup3(oldfd int, newfd int, flags int) (err error)\n//sysnb\tEpollCreate1(flag int) (fd int, err error)\n//sysnb\tEpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error)\n//sys\tEventfd(initval uint, flags int) (fd int, err error) = SYS_EVENTFD2\n//sys\tExit(code int) = SYS_EXIT_GROUP\n//sys\tFallocate(fd int, mode uint32, off int64, len int64) (err error)\n//sys\tFchdir(fd int) (err error)\n//sys\tFchmod(fd int, mode uint32) (err error)\n//sys\tFchownat(dirfd int, path string, uid int, gid int, flags int) (err error)\n//sys\tfcntl(fd int, cmd int, arg int) (val int, err error)\n//sys\tFdatasync(fd int) (err error)\n//sys\tFgetxattr(fd int, attr string, dest []byte) (sz int, err error)\n//sys\tFlistxattr(fd int, dest []byte) (sz int, err error)\n//sys\tFlock(fd int, how int) (err error)\n//sys\tFremovexattr(fd int, attr string) (err error)\n//sys\tFsetxattr(fd int, attr string, dest []byte, flags int) (err error)\n//sys\tFsync(fd int) (err error)\n//sys\tGetdents(fd int, buf []byte) (n int, err error) = SYS_GETDENTS64\n//sysnb\tGetpgid(pid int) (pgid int, err error)\n\nfunc Getpgrp() (pid int) {\n\tpid, _ = Getpgid(0)\n\treturn\n}\n\n//sysnb\tGetpid() (pid int)\n//sysnb\tGetppid() (ppid int)\n//sys\tGetpriority(which int, who int) (prio int, err error)\n//sys\tGetrandom(buf []byte, flags int) (n int, err error)\n//sysnb\tGetrusage(who int, rusage *Rusage) (err error)\n//sysnb\tGetsid(pid int) (sid int, err error)\n//sysnb\tGettid() (tid int)\n//sys\tGetxattr(path string, attr string, dest []byte) (sz int, err error)\n//sys\tInotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error)\n//sysnb\tInotifyInit1(flags int) (fd int, err error)\n//sysnb\tInotifyRmWatch(fd int, watchdesc uint32) (success int, err error)\n//sysnb\tKill(pid int, sig syscall.Signal) (err error)\n//sys\tKlogctl(typ int, buf []byte) (n int, err error) = SYS_SYSLOG\n//sys\tLgetxattr(path string, attr string, dest []byte) (sz int, err error)\n//sys\tListxattr(path string, dest []byte) (sz int, err error)\n//sys\tLlistxattr(path string, dest []byte) (sz int, err error)\n//sys\tLremovexattr(path string, attr string) (err error)\n//sys\tLsetxattr(path string, attr string, data []byte, flags int) (err error)\n//sys\tMkdirat(dirfd int, path string, mode uint32) (err error)\n//sys\tMknodat(dirfd int, path string, mode uint32, dev int) (err error)\n//sys\tNanosleep(time *Timespec, leftover *Timespec) (err error)\n//sys\tPerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error)\n//sys\tPivotRoot(newroot string, putold string) (err error) = SYS_PIVOT_ROOT\n//sysnb prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) = SYS_PRLIMIT64\n//sys   Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error)\n//sys\tPselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) = SYS_PSELECT6\n//sys\tread(fd int, p []byte) (n int, err error)\n//sys\tRemovexattr(path string, attr string) (err error)\n//sys\tRenameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)\n//sys\tRenameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error)\n//sys\tRequestKey(keyType string, description string, callback string, destRingid int) (id int, err error)\n//sys\tSetdomainname(p []byte) (err error)\n//sys\tSethostname(p []byte) (err error)\n//sysnb\tSetpgid(pid int, pgid int) (err error)\n//sysnb\tSetsid() (pid int, err error)\n//sysnb\tSettimeofday(tv *Timeval) (err error)\n//sys\tSetns(fd int, nstype int) (err error)\n\n// issue 1435.\n// On linux Setuid and Setgid only affects the current thread, not the process.\n// This does not match what most callers expect so we must return an error\n// here rather than letting the caller think that the call succeeded.\n\nfunc Setuid(uid int) (err error) {\n\treturn EOPNOTSUPP\n}\n\nfunc Setgid(uid int) (err error) {\n\treturn EOPNOTSUPP\n}\n\n//sys\tSetpriority(which int, who int, prio int) (err error)\n//sys\tSetxattr(path string, attr string, data []byte, flags int) (err error)\n//sys\tStatx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error)\n//sys\tSync()\n//sys\tSyncfs(fd int) (err error)\n//sysnb\tSysinfo(info *Sysinfo_t) (err error)\n//sys\tTee(rfd int, wfd int, len int, flags int) (n int64, err error)\n//sysnb\tTgkill(tgid int, tid int, sig syscall.Signal) (err error)\n//sysnb\tTimes(tms *Tms) (ticks uintptr, err error)\n//sysnb\tUmask(mask int) (oldmask int)\n//sysnb\tUname(buf *Utsname) (err error)\n//sys\tUnmount(target string, flags int) (err error) = SYS_UMOUNT2\n//sys\tUnshare(flags int) (err error)\n//sys\twrite(fd int, p []byte) (n int, err error)\n//sys\texitThread(code int) (err error) = SYS_EXIT\n//sys\treadlen(fd int, p *byte, np int) (n int, err error) = SYS_READ\n//sys\twritelen(fd int, p *byte, np int) (n int, err error) = SYS_WRITE\n\n// mmap varies by architecture; see syscall_linux_*.go.\n//sys\tmunmap(addr uintptr, length uintptr) (err error)\n\nvar mapper = &mmapper{\n\tactive: make(map[*byte][]byte),\n\tmmap:   mmap,\n\tmunmap: munmap,\n}\n\nfunc Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) {\n\treturn mapper.Mmap(fd, offset, length, prot, flags)\n}\n\nfunc Munmap(b []byte) (err error) {\n\treturn mapper.Munmap(b)\n}\n\n//sys\tMadvise(b []byte, advice int) (err error)\n//sys\tMprotect(b []byte, prot int) (err error)\n//sys\tMlock(b []byte) (err error)\n//sys\tMlockall(flags int) (err error)\n//sys\tMsync(b []byte, flags int) (err error)\n//sys\tMunlock(b []byte) (err error)\n//sys\tMunlockall() (err error)\n\n// Vmsplice splices user pages from a slice of Iovecs into a pipe specified by fd,\n// using the specified flags.\nfunc Vmsplice(fd int, iovs []Iovec, flags int) (int, error) {\n\tn, _, errno := Syscall6(\n\t\tSYS_VMSPLICE,\n\t\tuintptr(fd),\n\t\tuintptr(unsafe.Pointer(&iovs[0])),\n\t\tuintptr(len(iovs)),\n\t\tuintptr(flags),\n\t\t0,\n\t\t0,\n\t)\n\tif errno != 0 {\n\t\treturn 0, syscall.Errno(errno)\n\t}\n\n\treturn int(n), nil\n}\n\n//sys\tfaccessat(dirfd int, path string, mode uint32) (err error)\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tif flags & ^(AT_SYMLINK_NOFOLLOW|AT_EACCESS) != 0 {\n\t\treturn EINVAL\n\t}\n\n\t// The Linux kernel faccessat system call does not take any flags.\n\t// The glibc faccessat implements the flags itself; see\n\t// https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/faccessat.c;hb=HEAD\n\t// Because people naturally expect syscall.Faccessat to act\n\t// like C faccessat, we do the same.\n\n\tif flags == 0 {\n\t\treturn faccessat(dirfd, path, mode)\n\t}\n\n\tvar st Stat_t\n\tif err := Fstatat(dirfd, path, &st, flags&AT_SYMLINK_NOFOLLOW); err != nil {\n\t\treturn err\n\t}\n\n\tmode &= 7\n\tif mode == 0 {\n\t\treturn nil\n\t}\n\n\tvar uid int\n\tif flags&AT_EACCESS != 0 {\n\t\tuid = Geteuid()\n\t} else {\n\t\tuid = Getuid()\n\t}\n\n\tif uid == 0 {\n\t\tif mode&1 == 0 {\n\t\t\t// Root can read and write any file.\n\t\t\treturn nil\n\t\t}\n\t\tif st.Mode&0111 != 0 {\n\t\t\t// Root can execute any file that anybody can execute.\n\t\t\treturn nil\n\t\t}\n\t\treturn EACCES\n\t}\n\n\tvar fmode uint32\n\tif uint32(uid) == st.Uid {\n\t\tfmode = (st.Mode >> 6) & 7\n\t} else {\n\t\tvar gid int\n\t\tif flags&AT_EACCESS != 0 {\n\t\t\tgid = Getegid()\n\t\t} else {\n\t\t\tgid = Getgid()\n\t\t}\n\n\t\tif uint32(gid) == st.Gid {\n\t\t\tfmode = (st.Mode >> 3) & 7\n\t\t} else {\n\t\t\tfmode = st.Mode & 7\n\t\t}\n\t}\n\n\tif fmode&mode == mode {\n\t\treturn nil\n\t}\n\n\treturn EACCES\n}\n\n/*\n * Unimplemented\n */\n// AfsSyscall\n// Alarm\n// ArchPrctl\n// Brk\n// Capget\n// Capset\n// ClockGetres\n// ClockNanosleep\n// ClockSettime\n// Clone\n// CreateModule\n// DeleteModule\n// EpollCtlOld\n// EpollPwait\n// EpollWaitOld\n// Execve\n// Fork\n// Futex\n// GetKernelSyms\n// GetMempolicy\n// GetRobustList\n// GetThreadArea\n// Getitimer\n// Getpmsg\n// IoCancel\n// IoDestroy\n// IoGetevents\n// IoSetup\n// IoSubmit\n// IoprioGet\n// IoprioSet\n// KexecLoad\n// LookupDcookie\n// Mbind\n// MigratePages\n// Mincore\n// ModifyLdt\n// Mount\n// MovePages\n// MqGetsetattr\n// MqNotify\n// MqOpen\n// MqTimedreceive\n// MqTimedsend\n// MqUnlink\n// Mremap\n// Msgctl\n// Msgget\n// Msgrcv\n// Msgsnd\n// Nfsservctl\n// Personality\n// Pselect6\n// Ptrace\n// Putpmsg\n// QueryModule\n// Quotactl\n// Readahead\n// Readv\n// RemapFilePages\n// RestartSyscall\n// RtSigaction\n// RtSigpending\n// RtSigprocmask\n// RtSigqueueinfo\n// RtSigreturn\n// RtSigsuspend\n// RtSigtimedwait\n// SchedGetPriorityMax\n// SchedGetPriorityMin\n// SchedGetparam\n// SchedGetscheduler\n// SchedRrGetInterval\n// SchedSetparam\n// SchedYield\n// Security\n// Semctl\n// Semget\n// Semop\n// Semtimedop\n// SetMempolicy\n// SetRobustList\n// SetThreadArea\n// SetTidAddress\n// Shmat\n// Shmctl\n// Shmdt\n// Shmget\n// Sigaltstack\n// Signalfd\n// Swapoff\n// Swapon\n// Sysfs\n// TimerCreate\n// TimerDelete\n// TimerGetoverrun\n// TimerGettime\n// TimerSettime\n// Timerfd\n// Tkill (obsolete)\n// Tuxcall\n// Umount2\n// Uselib\n// Utimensat\n// Vfork\n// Vhangup\n// Vserver\n// Waitid\n// _Sysctl\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_386.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// TODO(rsc): Rewrite all nn(SP) references into name+(nn-8)(FP)\n// so that go vet can check that they are correct.\n\n// +build 386,linux\n\npackage unix\n\nimport (\n\t\"unsafe\"\n)\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: int32(sec), Nsec: int32(nsec)}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: int32(sec), Usec: int32(usec)}\n}\n\n//sysnb\tpipe(p *[2]_C_int) (err error)\n\nfunc Pipe(p []int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe(&pp)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\n//sysnb pipe2(p *[2]_C_int, flags int) (err error)\n\nfunc Pipe2(p []int, flags int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe2(&pp, flags)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\n// 64-bit file system and 32-bit uid calls\n// (386 default is 32-bit file system and 16-bit uid).\n//sys\tDup2(oldfd int, newfd int) (err error)\n//sysnb\tEpollCreate(size int) (fd int, err error)\n//sys\tEpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)\n//sys\tFadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64_64\n//sys\tFchown(fd int, uid int, gid int) (err error) = SYS_FCHOWN32\n//sys\tFstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64\n//sys\tFstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64\n//sys\tFtruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64\n//sysnb\tGetegid() (egid int) = SYS_GETEGID32\n//sysnb\tGeteuid() (euid int) = SYS_GETEUID32\n//sysnb\tGetgid() (gid int) = SYS_GETGID32\n//sysnb\tGetuid() (uid int) = SYS_GETUID32\n//sysnb\tInotifyInit() (fd int, err error)\n//sys\tIoperm(from int, num int, on int) (err error)\n//sys\tIopl(level int) (err error)\n//sys\tLchown(path string, uid int, gid int) (err error) = SYS_LCHOWN32\n//sys\tLstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64\n//sys\tPread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64\n//sys\tPwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64\n//sys\tsendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64\n//sys\tSetfsgid(gid int) (err error) = SYS_SETFSGID32\n//sys\tSetfsuid(uid int) (err error) = SYS_SETFSUID32\n//sysnb\tSetregid(rgid int, egid int) (err error) = SYS_SETREGID32\n//sysnb\tSetresgid(rgid int, egid int, sgid int) (err error) = SYS_SETRESGID32\n//sysnb\tSetresuid(ruid int, euid int, suid int) (err error) = SYS_SETRESUID32\n//sysnb\tSetreuid(ruid int, euid int) (err error) = SYS_SETREUID32\n//sys\tSplice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error)\n//sys\tStat(path string, stat *Stat_t) (err error) = SYS_STAT64\n//sys\tSyncFileRange(fd int, off int64, n int64, flags int) (err error)\n//sys\tTruncate(path string, length int64) (err error) = SYS_TRUNCATE64\n//sys\tUstat(dev int, ubuf *Ustat_t) (err error)\n//sysnb\tgetgroups(n int, list *_Gid_t) (nn int, err error) = SYS_GETGROUPS32\n//sysnb\tsetgroups(n int, list *_Gid_t) (err error) = SYS_SETGROUPS32\n//sys\tSelect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT\n\n//sys\tmmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error)\n//sys\tPause() (err error)\n\nfunc mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) {\n\tpage := uintptr(offset / 4096)\n\tif offset != int64(page)*4096 {\n\t\treturn 0, EINVAL\n\t}\n\treturn mmap2(addr, length, prot, flags, fd, page)\n}\n\ntype rlimit32 struct {\n\tCur uint32\n\tMax uint32\n}\n\n//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT\n\nconst rlimInf32 = ^uint32(0)\nconst rlimInf64 = ^uint64(0)\n\nfunc Getrlimit(resource int, rlim *Rlimit) (err error) {\n\terr = prlimit(0, resource, nil, rlim)\n\tif err != ENOSYS {\n\t\treturn err\n\t}\n\n\trl := rlimit32{}\n\terr = getrlimit(resource, &rl)\n\tif err != nil {\n\t\treturn\n\t}\n\n\tif rl.Cur == rlimInf32 {\n\t\trlim.Cur = rlimInf64\n\t} else {\n\t\trlim.Cur = uint64(rl.Cur)\n\t}\n\n\tif rl.Max == rlimInf32 {\n\t\trlim.Max = rlimInf64\n\t} else {\n\t\trlim.Max = uint64(rl.Max)\n\t}\n\treturn\n}\n\n//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT\n\nfunc Setrlimit(resource int, rlim *Rlimit) (err error) {\n\terr = prlimit(0, resource, rlim, nil)\n\tif err != ENOSYS {\n\t\treturn err\n\t}\n\n\trl := rlimit32{}\n\tif rlim.Cur == rlimInf64 {\n\t\trl.Cur = rlimInf32\n\t} else if rlim.Cur < uint64(rlimInf32) {\n\t\trl.Cur = uint32(rlim.Cur)\n\t} else {\n\t\treturn EINVAL\n\t}\n\tif rlim.Max == rlimInf64 {\n\t\trl.Max = rlimInf32\n\t} else if rlim.Max < uint64(rlimInf32) {\n\t\trl.Max = uint32(rlim.Max)\n\t} else {\n\t\treturn EINVAL\n\t}\n\n\treturn setrlimit(resource, &rl)\n}\n\nfunc Seek(fd int, offset int64, whence int) (newoffset int64, err error) {\n\tnewoffset, errno := seek(fd, offset, whence)\n\tif errno != 0 {\n\t\treturn 0, errno\n\t}\n\treturn newoffset, nil\n}\n\n//sys\tfutimesat(dirfd int, path string, times *[2]Timeval) (err error)\n//sysnb\tGettimeofday(tv *Timeval) (err error)\n//sysnb\tTime(t *Time_t) (tt Time_t, err error)\n//sys\tUtime(path string, buf *Utimbuf) (err error)\n//sys\tutimes(path string, times *[2]Timeval) (err error)\n\n// On x86 Linux, all the socket calls go through an extra indirection,\n// I think because the 5-register system call interface can't handle\n// the 6-argument calls like sendto and recvfrom. Instead the\n// arguments to the underlying system call are the number below\n// and a pointer to an array of uintptr. We hide the pointer in the\n// socketcall assembly to avoid allocation on every system call.\n\nconst (\n\t// see linux/net.h\n\t_SOCKET      = 1\n\t_BIND        = 2\n\t_CONNECT     = 3\n\t_LISTEN      = 4\n\t_ACCEPT      = 5\n\t_GETSOCKNAME = 6\n\t_GETPEERNAME = 7\n\t_SOCKETPAIR  = 8\n\t_SEND        = 9\n\t_RECV        = 10\n\t_SENDTO      = 11\n\t_RECVFROM    = 12\n\t_SHUTDOWN    = 13\n\t_SETSOCKOPT  = 14\n\t_GETSOCKOPT  = 15\n\t_SENDMSG     = 16\n\t_RECVMSG     = 17\n\t_ACCEPT4     = 18\n\t_RECVMMSG    = 19\n\t_SENDMMSG    = 20\n)\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tfd, e := socketcall(_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0)\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {\n\tfd, e := socketcall(_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc getsockname(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, e := rawsocketcall(_GETSOCKNAME, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0)\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc getpeername(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, e := rawsocketcall(_GETPEERNAME, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0)\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc socketpair(domain int, typ int, flags int, fd *[2]int32) (err error) {\n\t_, e := rawsocketcall(_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(flags), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, e := socketcall(_BIND, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0)\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, e := socketcall(_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0)\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tfd, e := rawsocketcall(_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto), 0, 0, 0)\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, e := socketcall(_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, e := socketcall(_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), vallen, 0)\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc recvfrom(s int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar base uintptr\n\tif len(p) > 0 {\n\t\tbase = uintptr(unsafe.Pointer(&p[0]))\n\t}\n\tn, e := socketcall(_RECVFROM, uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc sendto(s int, p []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar base uintptr\n\tif len(p) > 0 {\n\t\tbase = uintptr(unsafe.Pointer(&p[0]))\n\t}\n\t_, e := socketcall(_SENDTO, uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tn, e := socketcall(_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0)\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tn, e := socketcall(_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0)\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc Listen(s int, n int) (err error) {\n\t_, e := socketcall(_LISTEN, uintptr(s), uintptr(n), 0, 0, 0, 0)\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc Shutdown(s, how int) (err error) {\n\t_, e := socketcall(_SHUTDOWN, uintptr(s), uintptr(how), 0, 0, 0, 0)\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc Fstatfs(fd int, buf *Statfs_t) (err error) {\n\t_, _, e := Syscall(SYS_FSTATFS64, uintptr(fd), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf)))\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc Statfs(path string, buf *Statfs_t) (err error) {\n\tpathp, err := BytePtrFromString(path)\n\tif err != nil {\n\t\treturn err\n\t}\n\t_, _, e := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(pathp)), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf)))\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc (r *PtraceRegs) PC() uint64 { return uint64(uint32(r.Eip)) }\n\nfunc (r *PtraceRegs) SetPC(pc uint64) { r.Eip = int32(pc) }\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint32(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint32(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n\n//sys\tpoll(fds *PollFd, nfds int, timeout int) (n int, err error)\n\nfunc Poll(fds []PollFd, timeout int) (n int, err error) {\n\tif len(fds) == 0 {\n\t\treturn poll(nil, 0, timeout)\n\t}\n\treturn poll(&fds[0], len(fds), timeout)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_amd64.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build amd64,linux\n\npackage unix\n\n//sys\tDup2(oldfd int, newfd int) (err error)\n//sysnb\tEpollCreate(size int) (fd int, err error)\n//sys\tEpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)\n//sys\tFadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64\n//sys\tFchown(fd int, uid int, gid int) (err error)\n//sys\tFstat(fd int, stat *Stat_t) (err error)\n//sys\tFstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_NEWFSTATAT\n//sys\tFstatfs(fd int, buf *Statfs_t) (err error)\n//sys\tFtruncate(fd int, length int64) (err error)\n//sysnb\tGetegid() (egid int)\n//sysnb\tGeteuid() (euid int)\n//sysnb\tGetgid() (gid int)\n//sysnb\tGetrlimit(resource int, rlim *Rlimit) (err error)\n//sysnb\tGetuid() (uid int)\n//sysnb\tInotifyInit() (fd int, err error)\n//sys\tIoperm(from int, num int, on int) (err error)\n//sys\tIopl(level int) (err error)\n//sys\tLchown(path string, uid int, gid int) (err error)\n//sys\tListen(s int, n int) (err error)\n//sys\tLstat(path string, stat *Stat_t) (err error)\n//sys\tPause() (err error)\n//sys\tPread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64\n//sys\tPwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64\n//sys\tSeek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK\n\nfunc Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {\n\tvar ts *Timespec\n\tif timeout != nil {\n\t\tts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000}\n\t}\n\treturn Pselect(nfd, r, w, e, ts, nil)\n}\n\n//sys\tsendfile(outfd int, infd int, offset *int64, count int) (written int, err error)\n//sys\tSetfsgid(gid int) (err error)\n//sys\tSetfsuid(uid int) (err error)\n//sysnb\tSetregid(rgid int, egid int) (err error)\n//sysnb\tSetresgid(rgid int, egid int, sgid int) (err error)\n//sysnb\tSetresuid(ruid int, euid int, suid int) (err error)\n//sysnb\tSetrlimit(resource int, rlim *Rlimit) (err error)\n//sysnb\tSetreuid(ruid int, euid int) (err error)\n//sys\tShutdown(fd int, how int) (err error)\n//sys\tSplice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\t// Use fstatat, because Android's seccomp policy blocks stat.\n\treturn Fstatat(AT_FDCWD, path, stat, 0)\n}\n\n//sys\tStatfs(path string, buf *Statfs_t) (err error)\n//sys\tSyncFileRange(fd int, off int64, n int64, flags int) (err error)\n//sys\tTruncate(path string, length int64) (err error)\n//sys\tUstat(dev int, ubuf *Ustat_t) (err error)\n//sys\taccept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)\n//sys\taccept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)\n//sys\tbind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)\n//sys\tconnect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)\n//sysnb\tgetgroups(n int, list *_Gid_t) (nn int, err error)\n//sysnb\tsetgroups(n int, list *_Gid_t) (err error)\n//sys\tgetsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error)\n//sys\tsetsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error)\n//sysnb\tsocket(domain int, typ int, proto int) (fd int, err error)\n//sysnb\tsocketpair(domain int, typ int, proto int, fd *[2]int32) (err error)\n//sysnb\tgetpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)\n//sysnb\tgetsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)\n//sys\trecvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error)\n//sys\tsendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error)\n//sys\trecvmsg(s int, msg *Msghdr, flags int) (n int, err error)\n//sys\tsendmsg(s int, msg *Msghdr, flags int) (n int, err error)\n//sys\tmmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error)\n\n//sys\tfutimesat(dirfd int, path string, times *[2]Timeval) (err error)\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\terrno := gettimeofday(tv)\n\tif errno != 0 {\n\t\treturn errno\n\t}\n\treturn nil\n}\n\nfunc Time(t *Time_t) (tt Time_t, err error) {\n\tvar tv Timeval\n\terrno := gettimeofday(&tv)\n\tif errno != 0 {\n\t\treturn 0, errno\n\t}\n\tif t != nil {\n\t\t*t = Time_t(tv.Sec)\n\t}\n\treturn Time_t(tv.Sec), nil\n}\n\n//sys\tUtime(path string, buf *Utimbuf) (err error)\n//sys\tutimes(path string, times *[2]Timeval) (err error)\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: nsec}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: usec}\n}\n\n//sysnb\tpipe(p *[2]_C_int) (err error)\n\nfunc Pipe(p []int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe(&pp)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\n//sysnb pipe2(p *[2]_C_int, flags int) (err error)\n\nfunc Pipe2(p []int, flags int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe2(&pp, flags)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\nfunc (r *PtraceRegs) PC() uint64 { return r.Rip }\n\nfunc (r *PtraceRegs) SetPC(pc uint64) { r.Rip = pc }\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint64(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint64(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint64(length)\n}\n\n//sys\tpoll(fds *PollFd, nfds int, timeout int) (n int, err error)\n\nfunc Poll(fds []PollFd, timeout int) (n int, err error) {\n\tif len(fds) == 0 {\n\t\treturn poll(nil, 0, timeout)\n\t}\n\treturn poll(&fds[0], len(fds), timeout)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build amd64,linux\n// +build !gccgo\n\npackage unix\n\nimport \"syscall\"\n\n//go:noescape\nfunc gettimeofday(tv *Timeval) (err syscall.Errno)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_arm.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build arm,linux\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: int32(sec), Nsec: int32(nsec)}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: int32(sec), Usec: int32(usec)}\n}\n\nfunc Pipe(p []int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe2(&pp, 0)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\n//sysnb pipe2(p *[2]_C_int, flags int) (err error)\n\nfunc Pipe2(p []int, flags int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe2(&pp, flags)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\n// Underlying system call writes to newoffset via pointer.\n// Implemented in assembly to avoid allocation.\nfunc seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno)\n\nfunc Seek(fd int, offset int64, whence int) (newoffset int64, err error) {\n\tnewoffset, errno := seek(fd, offset, whence)\n\tif errno != 0 {\n\t\treturn 0, errno\n\t}\n\treturn newoffset, nil\n}\n\n//sys\taccept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)\n//sys\taccept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)\n//sys\tbind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)\n//sys\tconnect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)\n//sysnb\tgetgroups(n int, list *_Gid_t) (nn int, err error) = SYS_GETGROUPS32\n//sysnb\tsetgroups(n int, list *_Gid_t) (err error) = SYS_SETGROUPS32\n//sys\tgetsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error)\n//sys\tsetsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error)\n//sysnb\tsocket(domain int, typ int, proto int) (fd int, err error)\n//sysnb\tgetpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)\n//sysnb\tgetsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)\n//sys\trecvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error)\n//sys\tsendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error)\n//sysnb\tsocketpair(domain int, typ int, flags int, fd *[2]int32) (err error)\n//sys\trecvmsg(s int, msg *Msghdr, flags int) (n int, err error)\n//sys\tsendmsg(s int, msg *Msghdr, flags int) (n int, err error)\n\n// 64-bit file system and 32-bit uid calls\n// (16-bit uid calls are not always supported in newer kernels)\n//sys\tDup2(oldfd int, newfd int) (err error)\n//sysnb\tEpollCreate(size int) (fd int, err error)\n//sys\tEpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)\n//sys\tFchown(fd int, uid int, gid int) (err error) = SYS_FCHOWN32\n//sys\tFstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64\n//sys\tFstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64\n//sysnb\tGetegid() (egid int) = SYS_GETEGID32\n//sysnb\tGeteuid() (euid int) = SYS_GETEUID32\n//sysnb\tGetgid() (gid int) = SYS_GETGID32\n//sysnb\tGetuid() (uid int) = SYS_GETUID32\n//sysnb\tInotifyInit() (fd int, err error)\n//sys\tLchown(path string, uid int, gid int) (err error) = SYS_LCHOWN32\n//sys\tListen(s int, n int) (err error)\n//sys\tLstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64\n//sys\tPause() (err error)\n//sys\tsendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64\n//sys\tSelect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT\n//sys\tSetfsgid(gid int) (err error) = SYS_SETFSGID32\n//sys\tSetfsuid(uid int) (err error) = SYS_SETFSUID32\n//sysnb\tSetregid(rgid int, egid int) (err error) = SYS_SETREGID32\n//sysnb\tSetresgid(rgid int, egid int, sgid int) (err error) = SYS_SETRESGID32\n//sysnb\tSetresuid(ruid int, euid int, suid int) (err error) = SYS_SETRESUID32\n//sysnb\tSetreuid(ruid int, euid int) (err error) = SYS_SETREUID32\n//sys\tShutdown(fd int, how int) (err error)\n//sys\tSplice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error)\n//sys\tStat(path string, stat *Stat_t) (err error) = SYS_STAT64\n//sys\tUstat(dev int, ubuf *Ustat_t) (err error)\n\n//sys\tfutimesat(dirfd int, path string, times *[2]Timeval) (err error)\n//sysnb\tGettimeofday(tv *Timeval) (err error)\n\nfunc Time(t *Time_t) (Time_t, error) {\n\tvar tv Timeval\n\terr := Gettimeofday(&tv)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\tif t != nil {\n\t\t*t = Time_t(tv.Sec)\n\t}\n\treturn Time_t(tv.Sec), nil\n}\n\nfunc Utime(path string, buf *Utimbuf) error {\n\ttv := []Timeval{\n\t\t{Sec: buf.Actime},\n\t\t{Sec: buf.Modtime},\n\t}\n\treturn Utimes(path, tv)\n}\n\n//sys\tutimes(path string, times *[2]Timeval) (err error)\n\n//sys   Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64\n//sys   Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64\n//sys\tTruncate(path string, length int64) (err error) = SYS_TRUNCATE64\n//sys\tFtruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64\n\nfunc Fadvise(fd int, offset int64, length int64, advice int) (err error) {\n\t_, _, e1 := Syscall6(SYS_ARM_FADVISE64_64, uintptr(fd), uintptr(advice), uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n//sys\tmmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error)\n\nfunc Fstatfs(fd int, buf *Statfs_t) (err error) {\n\t_, _, e := Syscall(SYS_FSTATFS64, uintptr(fd), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf)))\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc Statfs(path string, buf *Statfs_t) (err error) {\n\tpathp, err := BytePtrFromString(path)\n\tif err != nil {\n\t\treturn err\n\t}\n\t_, _, e := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(pathp)), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf)))\n\tif e != 0 {\n\t\terr = e\n\t}\n\treturn\n}\n\nfunc mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) {\n\tpage := uintptr(offset / 4096)\n\tif offset != int64(page)*4096 {\n\t\treturn 0, EINVAL\n\t}\n\treturn mmap2(addr, length, prot, flags, fd, page)\n}\n\ntype rlimit32 struct {\n\tCur uint32\n\tMax uint32\n}\n\n//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_UGETRLIMIT\n\nconst rlimInf32 = ^uint32(0)\nconst rlimInf64 = ^uint64(0)\n\nfunc Getrlimit(resource int, rlim *Rlimit) (err error) {\n\terr = prlimit(0, resource, nil, rlim)\n\tif err != ENOSYS {\n\t\treturn err\n\t}\n\n\trl := rlimit32{}\n\terr = getrlimit(resource, &rl)\n\tif err != nil {\n\t\treturn\n\t}\n\n\tif rl.Cur == rlimInf32 {\n\t\trlim.Cur = rlimInf64\n\t} else {\n\t\trlim.Cur = uint64(rl.Cur)\n\t}\n\n\tif rl.Max == rlimInf32 {\n\t\trlim.Max = rlimInf64\n\t} else {\n\t\trlim.Max = uint64(rl.Max)\n\t}\n\treturn\n}\n\n//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT\n\nfunc Setrlimit(resource int, rlim *Rlimit) (err error) {\n\terr = prlimit(0, resource, rlim, nil)\n\tif err != ENOSYS {\n\t\treturn err\n\t}\n\n\trl := rlimit32{}\n\tif rlim.Cur == rlimInf64 {\n\t\trl.Cur = rlimInf32\n\t} else if rlim.Cur < uint64(rlimInf32) {\n\t\trl.Cur = uint32(rlim.Cur)\n\t} else {\n\t\treturn EINVAL\n\t}\n\tif rlim.Max == rlimInf64 {\n\t\trl.Max = rlimInf32\n\t} else if rlim.Max < uint64(rlimInf32) {\n\t\trl.Max = uint32(rlim.Max)\n\t} else {\n\t\treturn EINVAL\n\t}\n\n\treturn setrlimit(resource, &rl)\n}\n\nfunc (r *PtraceRegs) PC() uint64 { return uint64(r.Uregs[15]) }\n\nfunc (r *PtraceRegs) SetPC(pc uint64) { r.Uregs[15] = uint32(pc) }\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint32(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint32(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n\n//sys\tpoll(fds *PollFd, nfds int, timeout int) (n int, err error)\n\nfunc Poll(fds []PollFd, timeout int) (n int, err error) {\n\tif len(fds) == 0 {\n\t\treturn poll(nil, 0, timeout)\n\t}\n\treturn poll(&fds[0], len(fds), timeout)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_arm64.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build arm64,linux\n\npackage unix\n\nimport \"unsafe\"\n\nfunc EpollCreate(size int) (fd int, err error) {\n\tif size <= 0 {\n\t\treturn -1, EINVAL\n\t}\n\treturn EpollCreate1(0)\n}\n\n//sys\tEpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT\n//sys\tFadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64\n//sys\tFchown(fd int, uid int, gid int) (err error)\n//sys\tFstat(fd int, stat *Stat_t) (err error)\n//sys\tFstatat(fd int, path string, stat *Stat_t, flags int) (err error)\n//sys\tFstatfs(fd int, buf *Statfs_t) (err error)\n//sys\tFtruncate(fd int, length int64) (err error)\n//sysnb\tGetegid() (egid int)\n//sysnb\tGeteuid() (euid int)\n//sysnb\tGetgid() (gid int)\n//sysnb\tGetrlimit(resource int, rlim *Rlimit) (err error)\n//sysnb\tGetuid() (uid int)\n//sys\tListen(s int, n int) (err error)\n//sys\tPread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64\n//sys\tPwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64\n//sys\tSeek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK\n\nfunc Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {\n\tvar ts *Timespec\n\tif timeout != nil {\n\t\tts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000}\n\t}\n\treturn Pselect(nfd, r, w, e, ts, nil)\n}\n\n//sys\tsendfile(outfd int, infd int, offset *int64, count int) (written int, err error)\n//sys\tSetfsgid(gid int) (err error)\n//sys\tSetfsuid(uid int) (err error)\n//sysnb\tSetregid(rgid int, egid int) (err error)\n//sysnb\tSetresgid(rgid int, egid int, sgid int) (err error)\n//sysnb\tSetresuid(ruid int, euid int, suid int) (err error)\n//sysnb\tSetrlimit(resource int, rlim *Rlimit) (err error)\n//sysnb\tSetreuid(ruid int, euid int) (err error)\n//sys\tShutdown(fd int, how int) (err error)\n//sys\tSplice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\treturn Fstatat(AT_FDCWD, path, stat, 0)\n}\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\treturn Fchownat(AT_FDCWD, path, uid, gid, AT_SYMLINK_NOFOLLOW)\n}\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\treturn Fstatat(AT_FDCWD, path, stat, AT_SYMLINK_NOFOLLOW)\n}\n\n//sys\tStatfs(path string, buf *Statfs_t) (err error)\n//sys\tSyncFileRange(fd int, off int64, n int64, flags int) (err error)\n//sys\tTruncate(path string, length int64) (err error)\n\nfunc Ustat(dev int, ubuf *Ustat_t) (err error) {\n\treturn ENOSYS\n}\n\n//sys\taccept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)\n//sys\taccept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)\n//sys\tbind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)\n//sys\tconnect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)\n//sysnb\tgetgroups(n int, list *_Gid_t) (nn int, err error)\n//sysnb\tsetgroups(n int, list *_Gid_t) (err error)\n//sys\tgetsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error)\n//sys\tsetsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error)\n//sysnb\tsocket(domain int, typ int, proto int) (fd int, err error)\n//sysnb\tsocketpair(domain int, typ int, proto int, fd *[2]int32) (err error)\n//sysnb\tgetpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)\n//sysnb\tgetsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)\n//sys\trecvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error)\n//sys\tsendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error)\n//sys\trecvmsg(s int, msg *Msghdr, flags int) (n int, err error)\n//sys\tsendmsg(s int, msg *Msghdr, flags int) (n int, err error)\n//sys\tmmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error)\n\n//sysnb\tGettimeofday(tv *Timeval) (err error)\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: nsec}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: usec}\n}\n\nfunc futimesat(dirfd int, path string, tv *[2]Timeval) (err error) {\n\tif tv == nil {\n\t\treturn utimensat(dirfd, path, nil, 0)\n\t}\n\n\tts := []Timespec{\n\t\tNsecToTimespec(TimevalToNsec(tv[0])),\n\t\tNsecToTimespec(TimevalToNsec(tv[1])),\n\t}\n\treturn utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)\n}\n\nfunc Time(t *Time_t) (Time_t, error) {\n\tvar tv Timeval\n\terr := Gettimeofday(&tv)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\tif t != nil {\n\t\t*t = Time_t(tv.Sec)\n\t}\n\treturn Time_t(tv.Sec), nil\n}\n\nfunc Utime(path string, buf *Utimbuf) error {\n\ttv := []Timeval{\n\t\t{Sec: buf.Actime},\n\t\t{Sec: buf.Modtime},\n\t}\n\treturn Utimes(path, tv)\n}\n\nfunc utimes(path string, tv *[2]Timeval) (err error) {\n\tif tv == nil {\n\t\treturn utimensat(AT_FDCWD, path, nil, 0)\n\t}\n\n\tts := []Timespec{\n\t\tNsecToTimespec(TimevalToNsec(tv[0])),\n\t\tNsecToTimespec(TimevalToNsec(tv[1])),\n\t}\n\treturn utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)\n}\n\nfunc Pipe(p []int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe2(&pp, 0)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\n//sysnb pipe2(p *[2]_C_int, flags int) (err error)\n\nfunc Pipe2(p []int, flags int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe2(&pp, flags)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\nfunc (r *PtraceRegs) PC() uint64 { return r.Pc }\n\nfunc (r *PtraceRegs) SetPC(pc uint64) { r.Pc = pc }\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint64(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint64(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint64(length)\n}\n\nfunc InotifyInit() (fd int, err error) {\n\treturn InotifyInit1(0)\n}\n\nfunc Dup2(oldfd int, newfd int) (err error) {\n\treturn Dup3(oldfd, newfd, 0)\n}\n\nfunc Pause() (err error) {\n\t_, _, e1 := Syscall6(SYS_PPOLL, 0, 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\nfunc Poll(fds []PollFd, timeout int) (n int, err error) {\n\tvar ts *Timespec\n\tif timeout >= 0 {\n\t\tts = new(Timespec)\n\t\t*ts = NsecToTimespec(int64(timeout) * 1e6)\n\t}\n\tif len(fds) == 0 {\n\t\treturn ppoll(nil, 0, ts, nil)\n\t}\n\treturn ppoll(&fds[0], len(fds), ts, nil)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_gc.go",
    "content": "// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build linux,!gccgo\n\npackage unix\n\n// SyscallNoError may be used instead of Syscall for syscalls that don't fail.\nfunc SyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr)\n\n// RawSyscallNoError may be used instead of RawSyscall for syscalls that don't\n// fail.\nfunc RawSyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go",
    "content": "// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build linux,!gccgo,386\n\npackage unix\n\nimport \"syscall\"\n\n// Underlying system call writes to newoffset via pointer.\n// Implemented in assembly to avoid allocation.\nfunc seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno)\n\nfunc socketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno)\nfunc rawsocketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go",
    "content": "// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build linux,gccgo,386\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nfunc seek(fd int, offset int64, whence int) (int64, syscall.Errno) {\n\tvar newoffset int64\n\toffsetLow := uint32(offset & 0xffffffff)\n\toffsetHigh := uint32((offset >> 32) & 0xffffffff)\n\t_, _, err := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offsetHigh), uintptr(offsetLow), uintptr(unsafe.Pointer(&newoffset)), uintptr(whence), 0)\n\treturn newoffset, err\n}\n\nfunc socketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (int, syscall.Errno) {\n\tfd, _, err := Syscall(SYS_SOCKETCALL, uintptr(call), uintptr(unsafe.Pointer(&a0)), 0)\n\treturn int(fd), err\n}\n\nfunc rawsocketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (int, syscall.Errno) {\n\tfd, _, err := RawSyscall(SYS_SOCKETCALL, uintptr(call), uintptr(unsafe.Pointer(&a0)), 0)\n\treturn int(fd), err\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go",
    "content": "// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build linux,gccgo,arm\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nfunc seek(fd int, offset int64, whence int) (int64, syscall.Errno) {\n\tvar newoffset int64\n\toffsetLow := uint32(offset & 0xffffffff)\n\toffsetHigh := uint32((offset >> 32) & 0xffffffff)\n\t_, _, err := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offsetHigh), uintptr(offsetLow), uintptr(unsafe.Pointer(&newoffset)), uintptr(whence), 0)\n\treturn newoffset, err\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build linux\n// +build mips64 mips64le\n\npackage unix\n\n//sys\tDup2(oldfd int, newfd int) (err error)\n//sysnb\tEpollCreate(size int) (fd int, err error)\n//sys\tEpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)\n//sys\tFadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64\n//sys\tFchown(fd int, uid int, gid int) (err error)\n//sys\tFstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_NEWFSTATAT\n//sys\tFstatfs(fd int, buf *Statfs_t) (err error)\n//sys\tFtruncate(fd int, length int64) (err error)\n//sysnb\tGetegid() (egid int)\n//sysnb\tGeteuid() (euid int)\n//sysnb\tGetgid() (gid int)\n//sysnb\tGetrlimit(resource int, rlim *Rlimit) (err error)\n//sysnb\tGetuid() (uid int)\n//sys\tLchown(path string, uid int, gid int) (err error)\n//sys\tListen(s int, n int) (err error)\n//sys\tPause() (err error)\n//sys\tPread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64\n//sys\tPwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64\n//sys\tSeek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK\n\nfunc Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {\n\tvar ts *Timespec\n\tif timeout != nil {\n\t\tts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000}\n\t}\n\treturn Pselect(nfd, r, w, e, ts, nil)\n}\n\n//sys\tsendfile(outfd int, infd int, offset *int64, count int) (written int, err error)\n//sys\tSetfsgid(gid int) (err error)\n//sys\tSetfsuid(uid int) (err error)\n//sysnb\tSetregid(rgid int, egid int) (err error)\n//sysnb\tSetresgid(rgid int, egid int, sgid int) (err error)\n//sysnb\tSetresuid(ruid int, euid int, suid int) (err error)\n//sysnb\tSetrlimit(resource int, rlim *Rlimit) (err error)\n//sysnb\tSetreuid(ruid int, euid int) (err error)\n//sys\tShutdown(fd int, how int) (err error)\n//sys\tSplice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)\n//sys\tStatfs(path string, buf *Statfs_t) (err error)\n//sys\tSyncFileRange(fd int, off int64, n int64, flags int) (err error)\n//sys\tTruncate(path string, length int64) (err error)\n//sys\tUstat(dev int, ubuf *Ustat_t) (err error)\n//sys\taccept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)\n//sys\taccept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)\n//sys\tbind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)\n//sys\tconnect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)\n//sysnb\tgetgroups(n int, list *_Gid_t) (nn int, err error)\n//sysnb\tsetgroups(n int, list *_Gid_t) (err error)\n//sys\tgetsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error)\n//sys\tsetsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error)\n//sysnb\tsocket(domain int, typ int, proto int) (fd int, err error)\n//sysnb\tsocketpair(domain int, typ int, proto int, fd *[2]int32) (err error)\n//sysnb\tgetpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)\n//sysnb\tgetsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)\n//sys\trecvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error)\n//sys\tsendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error)\n//sys\trecvmsg(s int, msg *Msghdr, flags int) (n int, err error)\n//sys\tsendmsg(s int, msg *Msghdr, flags int) (n int, err error)\n//sys\tmmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error)\n\n//sys\tfutimesat(dirfd int, path string, times *[2]Timeval) (err error)\n//sysnb\tGettimeofday(tv *Timeval) (err error)\n\nfunc Time(t *Time_t) (tt Time_t, err error) {\n\tvar tv Timeval\n\terr = Gettimeofday(&tv)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\tif t != nil {\n\t\t*t = Time_t(tv.Sec)\n\t}\n\treturn Time_t(tv.Sec), nil\n}\n\n//sys\tUtime(path string, buf *Utimbuf) (err error)\n//sys\tutimes(path string, times *[2]Timeval) (err error)\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: nsec}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: usec}\n}\n\nfunc Pipe(p []int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe2(&pp, 0)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\n//sysnb pipe2(p *[2]_C_int, flags int) (err error)\n\nfunc Pipe2(p []int, flags int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe2(&pp, flags)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\nfunc Ioperm(from int, num int, on int) (err error) {\n\treturn ENOSYS\n}\n\nfunc Iopl(level int) (err error) {\n\treturn ENOSYS\n}\n\ntype stat_t struct {\n\tDev        uint32\n\tPad0       [3]int32\n\tIno        uint64\n\tMode       uint32\n\tNlink      uint32\n\tUid        uint32\n\tGid        uint32\n\tRdev       uint32\n\tPad1       [3]uint32\n\tSize       int64\n\tAtime      uint32\n\tAtime_nsec uint32\n\tMtime      uint32\n\tMtime_nsec uint32\n\tCtime      uint32\n\tCtime_nsec uint32\n\tBlksize    uint32\n\tPad2       uint32\n\tBlocks     int64\n}\n\n//sys\tfstat(fd int, st *stat_t) (err error)\n//sys\tlstat(path string, st *stat_t) (err error)\n//sys\tstat(path string, st *stat_t) (err error)\n\nfunc Fstat(fd int, s *Stat_t) (err error) {\n\tst := &stat_t{}\n\terr = fstat(fd, st)\n\tfillStat_t(s, st)\n\treturn\n}\n\nfunc Lstat(path string, s *Stat_t) (err error) {\n\tst := &stat_t{}\n\terr = lstat(path, st)\n\tfillStat_t(s, st)\n\treturn\n}\n\nfunc Stat(path string, s *Stat_t) (err error) {\n\tst := &stat_t{}\n\terr = stat(path, st)\n\tfillStat_t(s, st)\n\treturn\n}\n\nfunc fillStat_t(s *Stat_t, st *stat_t) {\n\ts.Dev = st.Dev\n\ts.Ino = st.Ino\n\ts.Mode = st.Mode\n\ts.Nlink = st.Nlink\n\ts.Uid = st.Uid\n\ts.Gid = st.Gid\n\ts.Rdev = st.Rdev\n\ts.Size = st.Size\n\ts.Atim = Timespec{int64(st.Atime), int64(st.Atime_nsec)}\n\ts.Mtim = Timespec{int64(st.Mtime), int64(st.Mtime_nsec)}\n\ts.Ctim = Timespec{int64(st.Ctime), int64(st.Ctime_nsec)}\n\ts.Blksize = st.Blksize\n\ts.Blocks = st.Blocks\n}\n\nfunc (r *PtraceRegs) PC() uint64 { return r.Epc }\n\nfunc (r *PtraceRegs) SetPC(pc uint64) { r.Epc = pc }\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint64(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint64(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint64(length)\n}\n\n//sys\tpoll(fds *PollFd, nfds int, timeout int) (n int, err error)\n\nfunc Poll(fds []PollFd, timeout int) (n int, err error) {\n\tif len(fds) == 0 {\n\t\treturn poll(nil, 0, timeout)\n\t}\n\treturn poll(&fds[0], len(fds), timeout)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build linux\n// +build mips mipsle\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nfunc Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)\n\n//sys\tDup2(oldfd int, newfd int) (err error)\n//sysnb\tEpollCreate(size int) (fd int, err error)\n//sys\tEpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)\n//sys\tFadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64\n//sys\tFchown(fd int, uid int, gid int) (err error)\n//sys\tFtruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64\n//sysnb\tGetegid() (egid int)\n//sysnb\tGeteuid() (euid int)\n//sysnb\tGetgid() (gid int)\n//sysnb\tGetuid() (uid int)\n//sys\tLchown(path string, uid int, gid int) (err error)\n//sys\tListen(s int, n int) (err error)\n//sys\tPread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64\n//sys\tPwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64\n//sys\tSelect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT\n//sys\tsendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64\n//sys\tSetfsgid(gid int) (err error)\n//sys\tSetfsuid(uid int) (err error)\n//sysnb\tSetregid(rgid int, egid int) (err error)\n//sysnb\tSetresgid(rgid int, egid int, sgid int) (err error)\n//sysnb\tSetresuid(ruid int, euid int, suid int) (err error)\n//sysnb\tSetreuid(ruid int, euid int) (err error)\n//sys\tShutdown(fd int, how int) (err error)\n//sys\tSplice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error)\n//sys\tSyncFileRange(fd int, off int64, n int64, flags int) (err error)\n//sys\tTruncate(path string, length int64) (err error) = SYS_TRUNCATE64\n//sys\tUstat(dev int, ubuf *Ustat_t) (err error)\n//sys\taccept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)\n//sys\taccept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)\n//sys\tbind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)\n//sys\tconnect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)\n//sysnb\tgetgroups(n int, list *_Gid_t) (nn int, err error)\n//sysnb\tsetgroups(n int, list *_Gid_t) (err error)\n//sys\tgetsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error)\n//sys\tsetsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error)\n//sysnb\tsocket(domain int, typ int, proto int) (fd int, err error)\n//sysnb\tsocketpair(domain int, typ int, proto int, fd *[2]int32) (err error)\n//sysnb\tgetpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)\n//sysnb\tgetsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)\n//sys\trecvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error)\n//sys\tsendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error)\n//sys\trecvmsg(s int, msg *Msghdr, flags int) (n int, err error)\n//sys\tsendmsg(s int, msg *Msghdr, flags int) (n int, err error)\n\n//sysnb\tInotifyInit() (fd int, err error)\n//sys\tIoperm(from int, num int, on int) (err error)\n//sys\tIopl(level int) (err error)\n\n//sys\tfutimesat(dirfd int, path string, times *[2]Timeval) (err error)\n//sysnb\tGettimeofday(tv *Timeval) (err error)\n//sysnb\tTime(t *Time_t) (tt Time_t, err error)\n//sys\tUtime(path string, buf *Utimbuf) (err error)\n//sys\tutimes(path string, times *[2]Timeval) (err error)\n\n//sys\tLstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64\n//sys\tFstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64\n//sys\tFstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64\n//sys\tStat(path string, stat *Stat_t) (err error) = SYS_STAT64\n\n//sys\tPause() (err error)\n\nfunc Fstatfs(fd int, buf *Statfs_t) (err error) {\n\t_, _, e := Syscall(SYS_FSTATFS64, uintptr(fd), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf)))\n\tif e != 0 {\n\t\terr = errnoErr(e)\n\t}\n\treturn\n}\n\nfunc Statfs(path string, buf *Statfs_t) (err error) {\n\tp, err := BytePtrFromString(path)\n\tif err != nil {\n\t\treturn err\n\t}\n\t_, _, e := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(p)), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf)))\n\tif e != 0 {\n\t\terr = errnoErr(e)\n\t}\n\treturn\n}\n\nfunc Seek(fd int, offset int64, whence int) (off int64, err error) {\n\t_, _, e := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offset>>32), uintptr(offset), uintptr(unsafe.Pointer(&off)), uintptr(whence), 0)\n\tif e != 0 {\n\t\terr = errnoErr(e)\n\t}\n\treturn\n}\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: int32(sec), Nsec: int32(nsec)}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: int32(sec), Usec: int32(usec)}\n}\n\n//sysnb pipe2(p *[2]_C_int, flags int) (err error)\n\nfunc Pipe2(p []int, flags int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe2(&pp, flags)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\n//sysnb pipe() (p1 int, p2 int, err error)\n\nfunc Pipe(p []int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tp[0], p[1], err = pipe()\n\treturn\n}\n\n//sys\tmmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error)\n\nfunc mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) {\n\tpage := uintptr(offset / 4096)\n\tif offset != int64(page)*4096 {\n\t\treturn 0, EINVAL\n\t}\n\treturn mmap2(addr, length, prot, flags, fd, page)\n}\n\nconst rlimInf32 = ^uint32(0)\nconst rlimInf64 = ^uint64(0)\n\ntype rlimit32 struct {\n\tCur uint32\n\tMax uint32\n}\n\n//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT\n\nfunc Getrlimit(resource int, rlim *Rlimit) (err error) {\n\terr = prlimit(0, resource, nil, rlim)\n\tif err != ENOSYS {\n\t\treturn err\n\t}\n\n\trl := rlimit32{}\n\terr = getrlimit(resource, &rl)\n\tif err != nil {\n\t\treturn\n\t}\n\n\tif rl.Cur == rlimInf32 {\n\t\trlim.Cur = rlimInf64\n\t} else {\n\t\trlim.Cur = uint64(rl.Cur)\n\t}\n\n\tif rl.Max == rlimInf32 {\n\t\trlim.Max = rlimInf64\n\t} else {\n\t\trlim.Max = uint64(rl.Max)\n\t}\n\treturn\n}\n\n//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT\n\nfunc Setrlimit(resource int, rlim *Rlimit) (err error) {\n\terr = prlimit(0, resource, rlim, nil)\n\tif err != ENOSYS {\n\t\treturn err\n\t}\n\n\trl := rlimit32{}\n\tif rlim.Cur == rlimInf64 {\n\t\trl.Cur = rlimInf32\n\t} else if rlim.Cur < uint64(rlimInf32) {\n\t\trl.Cur = uint32(rlim.Cur)\n\t} else {\n\t\treturn EINVAL\n\t}\n\tif rlim.Max == rlimInf64 {\n\t\trl.Max = rlimInf32\n\t} else if rlim.Max < uint64(rlimInf32) {\n\t\trl.Max = uint32(rlim.Max)\n\t} else {\n\t\treturn EINVAL\n\t}\n\n\treturn setrlimit(resource, &rl)\n}\n\nfunc (r *PtraceRegs) PC() uint64 { return r.Epc }\n\nfunc (r *PtraceRegs) SetPC(pc uint64) { r.Epc = pc }\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint32(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint32(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n\n//sys\tpoll(fds *PollFd, nfds int, timeout int) (n int, err error)\n\nfunc Poll(fds []PollFd, timeout int) (n int, err error) {\n\tif len(fds) == 0 {\n\t\treturn poll(nil, 0, timeout)\n\t}\n\treturn poll(&fds[0], len(fds), timeout)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build linux\n// +build ppc64 ppc64le\n\npackage unix\n\n//sys\tDup2(oldfd int, newfd int) (err error)\n//sysnb\tEpollCreate(size int) (fd int, err error)\n//sys\tEpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)\n//sys\tFadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64\n//sys\tFchown(fd int, uid int, gid int) (err error)\n//sys\tFstat(fd int, stat *Stat_t) (err error)\n//sys\tFstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_NEWFSTATAT\n//sys\tFstatfs(fd int, buf *Statfs_t) (err error)\n//sys\tFtruncate(fd int, length int64) (err error)\n//sysnb\tGetegid() (egid int)\n//sysnb\tGeteuid() (euid int)\n//sysnb\tGetgid() (gid int)\n//sysnb\tGetrlimit(resource int, rlim *Rlimit) (err error) = SYS_UGETRLIMIT\n//sysnb\tGetuid() (uid int)\n//sysnb\tInotifyInit() (fd int, err error)\n//sys\tIoperm(from int, num int, on int) (err error)\n//sys\tIopl(level int) (err error)\n//sys\tLchown(path string, uid int, gid int) (err error)\n//sys\tListen(s int, n int) (err error)\n//sys\tLstat(path string, stat *Stat_t) (err error)\n//sys\tPause() (err error)\n//sys\tPread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64\n//sys\tPwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64\n//sys\tSeek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK\n//sys\tSelect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT\n//sys\tsendfile(outfd int, infd int, offset *int64, count int) (written int, err error)\n//sys\tSetfsgid(gid int) (err error)\n//sys\tSetfsuid(uid int) (err error)\n//sysnb\tSetregid(rgid int, egid int) (err error)\n//sysnb\tSetresgid(rgid int, egid int, sgid int) (err error)\n//sysnb\tSetresuid(ruid int, euid int, suid int) (err error)\n//sysnb\tSetrlimit(resource int, rlim *Rlimit) (err error)\n//sysnb\tSetreuid(ruid int, euid int) (err error)\n//sys\tShutdown(fd int, how int) (err error)\n//sys\tSplice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)\n//sys\tStat(path string, stat *Stat_t) (err error)\n//sys\tStatfs(path string, buf *Statfs_t) (err error)\n//sys\tSyncFileRange(fd int, off int64, n int64, flags int) (err error) = SYS_SYNC_FILE_RANGE2\n//sys\tTruncate(path string, length int64) (err error)\n//sys\tUstat(dev int, ubuf *Ustat_t) (err error)\n//sys\taccept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)\n//sys\taccept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)\n//sys\tbind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)\n//sys\tconnect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)\n//sysnb\tgetgroups(n int, list *_Gid_t) (nn int, err error)\n//sysnb\tsetgroups(n int, list *_Gid_t) (err error)\n//sys\tgetsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error)\n//sys\tsetsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error)\n//sysnb\tsocket(domain int, typ int, proto int) (fd int, err error)\n//sysnb\tsocketpair(domain int, typ int, proto int, fd *[2]int32) (err error)\n//sysnb\tgetpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)\n//sysnb\tgetsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)\n//sys\trecvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error)\n//sys\tsendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error)\n//sys\trecvmsg(s int, msg *Msghdr, flags int) (n int, err error)\n//sys\tsendmsg(s int, msg *Msghdr, flags int) (n int, err error)\n//sys\tmmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error)\n\n//sys\tfutimesat(dirfd int, path string, times *[2]Timeval) (err error)\n//sysnb\tGettimeofday(tv *Timeval) (err error)\n//sysnb\tTime(t *Time_t) (tt Time_t, err error)\n//sys\tUtime(path string, buf *Utimbuf) (err error)\n//sys\tutimes(path string, times *[2]Timeval) (err error)\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: nsec}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: usec}\n}\n\nfunc (r *PtraceRegs) PC() uint64 { return r.Nip }\n\nfunc (r *PtraceRegs) SetPC(pc uint64) { r.Nip = pc }\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint64(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint64(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint64(length)\n}\n\n//sysnb pipe(p *[2]_C_int) (err error)\n\nfunc Pipe(p []int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe(&pp)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\n//sysnb pipe2(p *[2]_C_int, flags int) (err error)\n\nfunc Pipe2(p []int, flags int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe2(&pp, flags)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\n//sys\tpoll(fds *PollFd, nfds int, timeout int) (n int, err error)\n\nfunc Poll(fds []PollFd, timeout int) (n int, err error) {\n\tif len(fds) == 0 {\n\t\treturn poll(nil, 0, timeout)\n\t}\n\treturn poll(&fds[0], len(fds), timeout)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_s390x.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build s390x,linux\n\npackage unix\n\nimport (\n\t\"unsafe\"\n)\n\n//sys\tDup2(oldfd int, newfd int) (err error)\n//sysnb\tEpollCreate(size int) (fd int, err error)\n//sys\tEpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)\n//sys\tFadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64\n//sys\tFchown(fd int, uid int, gid int) (err error)\n//sys\tFstat(fd int, stat *Stat_t) (err error)\n//sys\tFstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_NEWFSTATAT\n//sys\tFstatfs(fd int, buf *Statfs_t) (err error)\n//sys\tFtruncate(fd int, length int64) (err error)\n//sysnb\tGetegid() (egid int)\n//sysnb\tGeteuid() (euid int)\n//sysnb\tGetgid() (gid int)\n//sysnb\tGetrlimit(resource int, rlim *Rlimit) (err error)\n//sysnb\tGetuid() (uid int)\n//sysnb\tInotifyInit() (fd int, err error)\n//sys\tLchown(path string, uid int, gid int) (err error)\n//sys\tLstat(path string, stat *Stat_t) (err error)\n//sys\tPause() (err error)\n//sys\tPread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64\n//sys\tPwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64\n//sys\tSeek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK\n//sys\tSelect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)\n//sys\tsendfile(outfd int, infd int, offset *int64, count int) (written int, err error)\n//sys\tSetfsgid(gid int) (err error)\n//sys\tSetfsuid(uid int) (err error)\n//sysnb\tSetregid(rgid int, egid int) (err error)\n//sysnb\tSetresgid(rgid int, egid int, sgid int) (err error)\n//sysnb\tSetresuid(ruid int, euid int, suid int) (err error)\n//sysnb\tSetrlimit(resource int, rlim *Rlimit) (err error)\n//sysnb\tSetreuid(ruid int, euid int) (err error)\n//sys\tSplice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)\n//sys\tStat(path string, stat *Stat_t) (err error)\n//sys\tStatfs(path string, buf *Statfs_t) (err error)\n//sys\tSyncFileRange(fd int, off int64, n int64, flags int) (err error)\n//sys\tTruncate(path string, length int64) (err error)\n//sys\tUstat(dev int, ubuf *Ustat_t) (err error)\n//sysnb\tgetgroups(n int, list *_Gid_t) (nn int, err error)\n//sysnb\tsetgroups(n int, list *_Gid_t) (err error)\n\n//sys\tfutimesat(dirfd int, path string, times *[2]Timeval) (err error)\n//sysnb\tGettimeofday(tv *Timeval) (err error)\n\nfunc Time(t *Time_t) (tt Time_t, err error) {\n\tvar tv Timeval\n\terr = Gettimeofday(&tv)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\tif t != nil {\n\t\t*t = Time_t(tv.Sec)\n\t}\n\treturn Time_t(tv.Sec), nil\n}\n\n//sys\tUtime(path string, buf *Utimbuf) (err error)\n//sys\tutimes(path string, times *[2]Timeval) (err error)\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: nsec}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: usec}\n}\n\n//sysnb pipe2(p *[2]_C_int, flags int) (err error)\n\nfunc Pipe(p []int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe2(&pp, 0) // pipe2 is the same as pipe when flags are set to 0.\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\nfunc Pipe2(p []int, flags int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe2(&pp, flags)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\nfunc Ioperm(from int, num int, on int) (err error) {\n\treturn ENOSYS\n}\n\nfunc Iopl(level int) (err error) {\n\treturn ENOSYS\n}\n\nfunc (r *PtraceRegs) PC() uint64 { return r.Psw.Addr }\n\nfunc (r *PtraceRegs) SetPC(pc uint64) { r.Psw.Addr = pc }\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint64(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint64(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint64(length)\n}\n\n// Linux on s390x uses the old mmap interface, which requires arguments to be passed in a struct.\n// mmap2 also requires arguments to be passed in a struct; it is currently not exposed in <asm/unistd.h>.\nfunc mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) {\n\tmmap_args := [6]uintptr{addr, length, uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)}\n\tr0, _, e1 := Syscall(SYS_MMAP, uintptr(unsafe.Pointer(&mmap_args[0])), 0, 0)\n\txaddr = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// On s390x Linux, all the socket calls go through an extra indirection.\n// The arguments to the underlying system call (SYS_SOCKETCALL) are the\n// number below and a pointer to an array of uintptr.\nconst (\n\t// see linux/net.h\n\tnetSocket      = 1\n\tnetBind        = 2\n\tnetConnect     = 3\n\tnetListen      = 4\n\tnetAccept      = 5\n\tnetGetSockName = 6\n\tnetGetPeerName = 7\n\tnetSocketPair  = 8\n\tnetSend        = 9\n\tnetRecv        = 10\n\tnetSendTo      = 11\n\tnetRecvFrom    = 12\n\tnetShutdown    = 13\n\tnetSetSockOpt  = 14\n\tnetGetSockOpt  = 15\n\tnetSendMsg     = 16\n\tnetRecvMsg     = 17\n\tnetAccept4     = 18\n\tnetRecvMMsg    = 19\n\tnetSendMMsg    = 20\n)\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (int, error) {\n\targs := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))}\n\tfd, _, err := Syscall(SYS_SOCKETCALL, netAccept, uintptr(unsafe.Pointer(&args)), 0)\n\tif err != 0 {\n\t\treturn 0, err\n\t}\n\treturn int(fd), nil\n}\n\nfunc accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (int, error) {\n\targs := [4]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags)}\n\tfd, _, err := Syscall(SYS_SOCKETCALL, netAccept4, uintptr(unsafe.Pointer(&args)), 0)\n\tif err != 0 {\n\t\treturn 0, err\n\t}\n\treturn int(fd), nil\n}\n\nfunc getsockname(s int, rsa *RawSockaddrAny, addrlen *_Socklen) error {\n\targs := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))}\n\t_, _, err := RawSyscall(SYS_SOCKETCALL, netGetSockName, uintptr(unsafe.Pointer(&args)), 0)\n\tif err != 0 {\n\t\treturn err\n\t}\n\treturn nil\n}\n\nfunc getpeername(s int, rsa *RawSockaddrAny, addrlen *_Socklen) error {\n\targs := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))}\n\t_, _, err := RawSyscall(SYS_SOCKETCALL, netGetPeerName, uintptr(unsafe.Pointer(&args)), 0)\n\tif err != 0 {\n\t\treturn err\n\t}\n\treturn nil\n}\n\nfunc socketpair(domain int, typ int, flags int, fd *[2]int32) error {\n\targs := [4]uintptr{uintptr(domain), uintptr(typ), uintptr(flags), uintptr(unsafe.Pointer(fd))}\n\t_, _, err := RawSyscall(SYS_SOCKETCALL, netSocketPair, uintptr(unsafe.Pointer(&args)), 0)\n\tif err != 0 {\n\t\treturn err\n\t}\n\treturn nil\n}\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) error {\n\targs := [3]uintptr{uintptr(s), uintptr(addr), uintptr(addrlen)}\n\t_, _, err := Syscall(SYS_SOCKETCALL, netBind, uintptr(unsafe.Pointer(&args)), 0)\n\tif err != 0 {\n\t\treturn err\n\t}\n\treturn nil\n}\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) error {\n\targs := [3]uintptr{uintptr(s), uintptr(addr), uintptr(addrlen)}\n\t_, _, err := Syscall(SYS_SOCKETCALL, netConnect, uintptr(unsafe.Pointer(&args)), 0)\n\tif err != 0 {\n\t\treturn err\n\t}\n\treturn nil\n}\n\nfunc socket(domain int, typ int, proto int) (int, error) {\n\targs := [3]uintptr{uintptr(domain), uintptr(typ), uintptr(proto)}\n\tfd, _, err := RawSyscall(SYS_SOCKETCALL, netSocket, uintptr(unsafe.Pointer(&args)), 0)\n\tif err != 0 {\n\t\treturn 0, err\n\t}\n\treturn int(fd), nil\n}\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) error {\n\targs := [5]uintptr{uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen))}\n\t_, _, err := Syscall(SYS_SOCKETCALL, netGetSockOpt, uintptr(unsafe.Pointer(&args)), 0)\n\tif err != 0 {\n\t\treturn err\n\t}\n\treturn nil\n}\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) error {\n\targs := [4]uintptr{uintptr(s), uintptr(level), uintptr(name), uintptr(val)}\n\t_, _, err := Syscall(SYS_SOCKETCALL, netSetSockOpt, uintptr(unsafe.Pointer(&args)), 0)\n\tif err != 0 {\n\t\treturn err\n\t}\n\treturn nil\n}\n\nfunc recvfrom(s int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (int, error) {\n\tvar base uintptr\n\tif len(p) > 0 {\n\t\tbase = uintptr(unsafe.Pointer(&p[0]))\n\t}\n\targs := [6]uintptr{uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))}\n\tn, _, err := Syscall(SYS_SOCKETCALL, netRecvFrom, uintptr(unsafe.Pointer(&args)), 0)\n\tif err != 0 {\n\t\treturn 0, err\n\t}\n\treturn int(n), nil\n}\n\nfunc sendto(s int, p []byte, flags int, to unsafe.Pointer, addrlen _Socklen) error {\n\tvar base uintptr\n\tif len(p) > 0 {\n\t\tbase = uintptr(unsafe.Pointer(&p[0]))\n\t}\n\targs := [6]uintptr{uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(to), uintptr(addrlen)}\n\t_, _, err := Syscall(SYS_SOCKETCALL, netSendTo, uintptr(unsafe.Pointer(&args)), 0)\n\tif err != 0 {\n\t\treturn err\n\t}\n\treturn nil\n}\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (int, error) {\n\targs := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)}\n\tn, _, err := Syscall(SYS_SOCKETCALL, netRecvMsg, uintptr(unsafe.Pointer(&args)), 0)\n\tif err != 0 {\n\t\treturn 0, err\n\t}\n\treturn int(n), nil\n}\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (int, error) {\n\targs := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)}\n\tn, _, err := Syscall(SYS_SOCKETCALL, netSendMsg, uintptr(unsafe.Pointer(&args)), 0)\n\tif err != 0 {\n\t\treturn 0, err\n\t}\n\treturn int(n), nil\n}\n\nfunc Listen(s int, n int) error {\n\targs := [2]uintptr{uintptr(s), uintptr(n)}\n\t_, _, err := Syscall(SYS_SOCKETCALL, netListen, uintptr(unsafe.Pointer(&args)), 0)\n\tif err != 0 {\n\t\treturn err\n\t}\n\treturn nil\n}\n\nfunc Shutdown(s, how int) error {\n\targs := [2]uintptr{uintptr(s), uintptr(how)}\n\t_, _, err := Syscall(SYS_SOCKETCALL, netShutdown, uintptr(unsafe.Pointer(&args)), 0)\n\tif err != 0 {\n\t\treturn err\n\t}\n\treturn nil\n}\n\n//sys\tpoll(fds *PollFd, nfds int, timeout int) (n int, err error)\n\nfunc Poll(fds []PollFd, timeout int) (n int, err error) {\n\tif len(fds) == 0 {\n\t\treturn poll(nil, 0, timeout)\n\t}\n\treturn poll(&fds[0], len(fds), timeout)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build sparc64,linux\n\npackage unix\n\n//sys\tEpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)\n//sys\tFadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64\n//sys\tDup2(oldfd int, newfd int) (err error)\n//sys\tFchown(fd int, uid int, gid int) (err error)\n//sys\tFstat(fd int, stat *Stat_t) (err error)\n//sys\tFstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64\n//sys\tFstatfs(fd int, buf *Statfs_t) (err error)\n//sys\tFtruncate(fd int, length int64) (err error)\n//sysnb\tGetegid() (egid int)\n//sysnb\tGeteuid() (euid int)\n//sysnb\tGetgid() (gid int)\n//sysnb\tGetrlimit(resource int, rlim *Rlimit) (err error)\n//sysnb\tGetuid() (uid int)\n//sysnb\tInotifyInit() (fd int, err error)\n//sys\tLchown(path string, uid int, gid int) (err error)\n//sys\tListen(s int, n int) (err error)\n//sys\tLstat(path string, stat *Stat_t) (err error)\n//sys\tPause() (err error)\n//sys\tPread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64\n//sys\tPwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64\n//sys\tSeek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK\n//sys\tSelect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)\n//sys\tsendfile(outfd int, infd int, offset *int64, count int) (written int, err error)\n//sys\tSetfsgid(gid int) (err error)\n//sys\tSetfsuid(uid int) (err error)\n//sysnb\tSetregid(rgid int, egid int) (err error)\n//sysnb\tSetresgid(rgid int, egid int, sgid int) (err error)\n//sysnb\tSetresuid(ruid int, euid int, suid int) (err error)\n//sysnb\tSetrlimit(resource int, rlim *Rlimit) (err error)\n//sysnb\tSetreuid(ruid int, euid int) (err error)\n//sys\tShutdown(fd int, how int) (err error)\n//sys\tSplice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)\n//sys\tStat(path string, stat *Stat_t) (err error)\n//sys\tStatfs(path string, buf *Statfs_t) (err error)\n//sys\tSyncFileRange(fd int, off int64, n int64, flags int) (err error)\n//sys\tTruncate(path string, length int64) (err error)\n//sys\taccept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)\n//sys\taccept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)\n//sys\tbind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)\n//sys\tconnect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)\n//sysnb\tgetgroups(n int, list *_Gid_t) (nn int, err error)\n//sysnb\tsetgroups(n int, list *_Gid_t) (err error)\n//sys\tgetsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error)\n//sys\tsetsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error)\n//sysnb\tsocket(domain int, typ int, proto int) (fd int, err error)\n//sysnb\tsocketpair(domain int, typ int, proto int, fd *[2]int32) (err error)\n//sysnb\tgetpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)\n//sysnb\tgetsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error)\n//sys\trecvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error)\n//sys\tsendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error)\n//sys\trecvmsg(s int, msg *Msghdr, flags int) (n int, err error)\n//sys\tsendmsg(s int, msg *Msghdr, flags int) (n int, err error)\n//sys\tmmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error)\n\nfunc Ioperm(from int, num int, on int) (err error) {\n\treturn ENOSYS\n}\n\nfunc Iopl(level int) (err error) {\n\treturn ENOSYS\n}\n\n//sys\tfutimesat(dirfd int, path string, times *[2]Timeval) (err error)\n//sysnb\tGettimeofday(tv *Timeval) (err error)\n\nfunc Time(t *Time_t) (tt Time_t, err error) {\n\tvar tv Timeval\n\terr = Gettimeofday(&tv)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\tif t != nil {\n\t\t*t = Time_t(tv.Sec)\n\t}\n\treturn Time_t(tv.Sec), nil\n}\n\n//sys\tUtime(path string, buf *Utimbuf) (err error)\n//sys\tutimes(path string, times *[2]Timeval) (err error)\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: nsec}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: int32(usec)}\n}\n\nfunc (r *PtraceRegs) PC() uint64 { return r.Tpc }\n\nfunc (r *PtraceRegs) SetPC(pc uint64) { r.Tpc = pc }\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint64(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint64(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint64(length)\n}\n\n//sysnb pipe(p *[2]_C_int) (err error)\n\nfunc Pipe(p []int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe(&pp)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\n//sysnb pipe2(p *[2]_C_int, flags int) (err error)\n\nfunc Pipe2(p []int, flags int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe2(&pp, flags)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\n//sys\tpoll(fds *PollFd, nfds int, timeout int) (n int, err error)\n\nfunc Poll(fds []PollFd, timeout int) (n int, err error) {\n\tif len(fds) == 0 {\n\t\treturn poll(nil, 0, timeout)\n\t}\n\treturn poll(&fds[0], len(fds), timeout)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_netbsd.go",
    "content": "// Copyright 2009,2010 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// NetBSD system calls.\n// This file is compiled as ordinary Go code,\n// but it is also input to mksyscall,\n// which parses the //sys lines and generates system call stubs.\n// Note that sometimes we use a lowercase //sys name and wrap\n// it in our own nicer implementation, either here or in\n// syscall_bsd.go or syscall_unix.go.\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\n// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets.\ntype SockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [12]int8\n\traw    RawSockaddrDatalink\n}\n\nfunc Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)\n\nfunc sysctlNodes(mib []_C_int) (nodes []Sysctlnode, err error) {\n\tvar olen uintptr\n\n\t// Get a list of all sysctl nodes below the given MIB by performing\n\t// a sysctl for the given MIB with CTL_QUERY appended.\n\tmib = append(mib, CTL_QUERY)\n\tqnode := Sysctlnode{Flags: SYSCTL_VERS_1}\n\tqp := (*byte)(unsafe.Pointer(&qnode))\n\tsz := unsafe.Sizeof(qnode)\n\tif err = sysctl(mib, nil, &olen, qp, sz); err != nil {\n\t\treturn nil, err\n\t}\n\n\t// Now that we know the size, get the actual nodes.\n\tnodes = make([]Sysctlnode, olen/sz)\n\tnp := (*byte)(unsafe.Pointer(&nodes[0]))\n\tif err = sysctl(mib, np, &olen, qp, sz); err != nil {\n\t\treturn nil, err\n\t}\n\n\treturn nodes, nil\n}\n\nfunc nametomib(name string) (mib []_C_int, err error) {\n\t// Split name into components.\n\tvar parts []string\n\tlast := 0\n\tfor i := 0; i < len(name); i++ {\n\t\tif name[i] == '.' {\n\t\t\tparts = append(parts, name[last:i])\n\t\t\tlast = i + 1\n\t\t}\n\t}\n\tparts = append(parts, name[last:])\n\n\t// Discover the nodes and construct the MIB OID.\n\tfor partno, part := range parts {\n\t\tnodes, err := sysctlNodes(mib)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tfor _, node := range nodes {\n\t\t\tn := make([]byte, 0)\n\t\t\tfor i := range node.Name {\n\t\t\t\tif node.Name[i] != 0 {\n\t\t\t\t\tn = append(n, byte(node.Name[i]))\n\t\t\t\t}\n\t\t\t}\n\t\t\tif string(n) == part {\n\t\t\t\tmib = append(mib, _C_int(node.Num))\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tif len(mib) != partno+1 {\n\t\t\treturn nil, EINVAL\n\t\t}\n\t}\n\n\treturn mib, nil\n}\n\n//sysnb pipe() (fd1 int, fd2 int, err error)\nfunc Pipe(p []int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tp[0], p[1], err = pipe()\n\treturn\n}\n\n//sys getdents(fd int, buf []byte) (n int, err error)\nfunc Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {\n\treturn getdents(fd, buf)\n}\n\nconst ImplementsGetwd = true\n\n//sys\tGetcwd(buf []byte) (n int, err error) = SYS___GETCWD\n\nfunc Getwd() (string, error) {\n\tvar buf [PathMax]byte\n\t_, err := Getcwd(buf[0:])\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tn := clen(buf[:])\n\tif n < 1 {\n\t\treturn \"\", EINVAL\n\t}\n\treturn string(buf[:n]), nil\n}\n\n// TODO\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\treturn -1, ENOSYS\n}\n\nfunc setattrlistTimes(path string, times []Timespec, flags int) error {\n\t// used on Darwin for UtimesNano\n\treturn ENOSYS\n}\n\n//sys\tioctl(fd int, req uint, arg uintptr) (err error)\n\n// ioctl itself should not be exposed directly, but additional get/set\n// functions for specific types are permissible.\n\n// IoctlSetInt performs an ioctl operation which sets an integer value\n// on fd, using the specified request number.\nfunc IoctlSetInt(fd int, req uint, value int) error {\n\treturn ioctl(fd, req, uintptr(value))\n}\n\nfunc ioctlSetWinsize(fd int, req uint, value *Winsize) error {\n\treturn ioctl(fd, req, uintptr(unsafe.Pointer(value)))\n}\n\nfunc ioctlSetTermios(fd int, req uint, value *Termios) error {\n\treturn ioctl(fd, req, uintptr(unsafe.Pointer(value)))\n}\n\n// IoctlGetInt performs an ioctl operation which gets an integer value\n// from fd, using the specified request number.\nfunc IoctlGetInt(fd int, req uint) (int, error) {\n\tvar value int\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn value, err\n}\n\nfunc IoctlGetWinsize(fd int, req uint) (*Winsize, error) {\n\tvar value Winsize\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn &value, err\n}\n\nfunc IoctlGetTermios(fd int, req uint) (*Termios, error) {\n\tvar value Termios\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn &value, err\n}\n\nfunc Uname(uname *Utsname) error {\n\tmib := []_C_int{CTL_KERN, KERN_OSTYPE}\n\tn := unsafe.Sizeof(uname.Sysname)\n\tif err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\tmib = []_C_int{CTL_KERN, KERN_HOSTNAME}\n\tn = unsafe.Sizeof(uname.Nodename)\n\tif err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\tmib = []_C_int{CTL_KERN, KERN_OSRELEASE}\n\tn = unsafe.Sizeof(uname.Release)\n\tif err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\tmib = []_C_int{CTL_KERN, KERN_VERSION}\n\tn = unsafe.Sizeof(uname.Version)\n\tif err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\t// The version might have newlines or tabs in it, convert them to\n\t// spaces.\n\tfor i, b := range uname.Version {\n\t\tif b == '\\n' || b == '\\t' {\n\t\t\tif i == len(uname.Version)-1 {\n\t\t\t\tuname.Version[i] = 0\n\t\t\t} else {\n\t\t\t\tuname.Version[i] = ' '\n\t\t\t}\n\t\t}\n\t}\n\n\tmib = []_C_int{CTL_HW, HW_MACHINE}\n\tn = unsafe.Sizeof(uname.Machine)\n\tif err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n\n/*\n * Exposed directly\n */\n//sys\tAccess(path string, mode uint32) (err error)\n//sys\tAdjtime(delta *Timeval, olddelta *Timeval) (err error)\n//sys\tChdir(path string) (err error)\n//sys\tChflags(path string, flags int) (err error)\n//sys\tChmod(path string, mode uint32) (err error)\n//sys\tChown(path string, uid int, gid int) (err error)\n//sys\tChroot(path string) (err error)\n//sys\tClose(fd int) (err error)\n//sys\tDup(fd int) (nfd int, err error)\n//sys\tDup2(from int, to int) (err error)\n//sys\tExit(code int)\n//sys\tExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)\n//sys\tExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)\n//sys\tExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error)\n//sys\tExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error)\n//sys\tExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)\n//sys\tExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)\n//sys\tExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error)\n//sys\tExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error)\n//sys\tExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)\n//sys\tExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)\n//sys\tExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error)\n//sys\tExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error)\n//sys\tFaccessat(dirfd int, path string, mode uint32, flags int) (err error)\n//sys\tFadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_POSIX_FADVISE\n//sys\tFchdir(fd int) (err error)\n//sys\tFchflags(fd int, flags int) (err error)\n//sys\tFchmod(fd int, mode uint32) (err error)\n//sys\tFchmodat(dirfd int, path string, mode uint32, flags int) (err error)\n//sys\tFchown(fd int, uid int, gid int) (err error)\n//sys\tFlock(fd int, how int) (err error)\n//sys\tFpathconf(fd int, name int) (val int, err error)\n//sys\tFstat(fd int, stat *Stat_t) (err error)\n//sys\tFstatat(fd int, path string, stat *Stat_t, flags int) (err error)\n//sys\tFsync(fd int) (err error)\n//sys\tFtruncate(fd int, length int64) (err error)\n//sysnb\tGetegid() (egid int)\n//sysnb\tGeteuid() (uid int)\n//sysnb\tGetgid() (gid int)\n//sysnb\tGetpgid(pid int) (pgid int, err error)\n//sysnb\tGetpgrp() (pgrp int)\n//sysnb\tGetpid() (pid int)\n//sysnb\tGetppid() (ppid int)\n//sys\tGetpriority(which int, who int) (prio int, err error)\n//sysnb\tGetrlimit(which int, lim *Rlimit) (err error)\n//sysnb\tGetrusage(who int, rusage *Rusage) (err error)\n//sysnb\tGetsid(pid int) (sid int, err error)\n//sysnb\tGettimeofday(tv *Timeval) (err error)\n//sysnb\tGetuid() (uid int)\n//sys\tIssetugid() (tainted bool)\n//sys\tKill(pid int, signum syscall.Signal) (err error)\n//sys\tKqueue() (fd int, err error)\n//sys\tLchown(path string, uid int, gid int) (err error)\n//sys\tLink(path string, link string) (err error)\n//sys\tListen(s int, backlog int) (err error)\n//sys\tLstat(path string, stat *Stat_t) (err error)\n//sys\tMkdir(path string, mode uint32) (err error)\n//sys\tMkfifo(path string, mode uint32) (err error)\n//sys\tMknod(path string, mode uint32, dev int) (err error)\n//sys\tNanosleep(time *Timespec, leftover *Timespec) (err error)\n//sys\tOpen(path string, mode int, perm uint32) (fd int, err error)\n//sys\tPathconf(path string, name int) (val int, err error)\n//sys\tPread(fd int, p []byte, offset int64) (n int, err error)\n//sys\tPwrite(fd int, p []byte, offset int64) (n int, err error)\n//sys\tread(fd int, p []byte) (n int, err error)\n//sys\tReadlink(path string, buf []byte) (n int, err error)\n//sys\tRename(from string, to string) (err error)\n//sys\tRevoke(path string) (err error)\n//sys\tRmdir(path string) (err error)\n//sys\tSeek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK\n//sys\tSelect(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error)\n//sysnb\tSetegid(egid int) (err error)\n//sysnb\tSeteuid(euid int) (err error)\n//sysnb\tSetgid(gid int) (err error)\n//sysnb\tSetpgid(pid int, pgid int) (err error)\n//sys\tSetpriority(which int, who int, prio int) (err error)\n//sysnb\tSetregid(rgid int, egid int) (err error)\n//sysnb\tSetreuid(ruid int, euid int) (err error)\n//sysnb\tSetrlimit(which int, lim *Rlimit) (err error)\n//sysnb\tSetsid() (pid int, err error)\n//sysnb\tSettimeofday(tp *Timeval) (err error)\n//sysnb\tSetuid(uid int) (err error)\n//sys\tStat(path string, stat *Stat_t) (err error)\n//sys\tSymlink(path string, link string) (err error)\n//sys\tSync() (err error)\n//sys\tTruncate(path string, length int64) (err error)\n//sys\tUmask(newmask int) (oldmask int)\n//sys\tUnlink(path string) (err error)\n//sys\tUnmount(path string, flags int) (err error)\n//sys\twrite(fd int, p []byte) (n int, err error)\n//sys\tmmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)\n//sys\tmunmap(addr uintptr, length uintptr) (err error)\n//sys\treadlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ\n//sys\twritelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE\n//sys\tutimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error)\n\n/*\n * Unimplemented\n */\n// ____semctl13\n// __clone\n// __fhopen40\n// __fhstat40\n// __fhstatvfs140\n// __fstat30\n// __getcwd\n// __getfh30\n// __getlogin\n// __lstat30\n// __mount50\n// __msgctl13\n// __msync13\n// __ntp_gettime30\n// __posix_chown\n// __posix_fchown\n// __posix_lchown\n// __posix_rename\n// __setlogin\n// __shmctl13\n// __sigaction_sigtramp\n// __sigaltstack14\n// __sigpending14\n// __sigprocmask14\n// __sigsuspend14\n// __sigtimedwait\n// __stat30\n// __syscall\n// __vfork14\n// _ksem_close\n// _ksem_destroy\n// _ksem_getvalue\n// _ksem_init\n// _ksem_open\n// _ksem_post\n// _ksem_trywait\n// _ksem_unlink\n// _ksem_wait\n// _lwp_continue\n// _lwp_create\n// _lwp_ctl\n// _lwp_detach\n// _lwp_exit\n// _lwp_getname\n// _lwp_getprivate\n// _lwp_kill\n// _lwp_park\n// _lwp_self\n// _lwp_setname\n// _lwp_setprivate\n// _lwp_suspend\n// _lwp_unpark\n// _lwp_unpark_all\n// _lwp_wait\n// _lwp_wakeup\n// _pset_bind\n// _sched_getaffinity\n// _sched_getparam\n// _sched_setaffinity\n// _sched_setparam\n// acct\n// aio_cancel\n// aio_error\n// aio_fsync\n// aio_read\n// aio_return\n// aio_suspend\n// aio_write\n// break\n// clock_getres\n// clock_gettime\n// clock_settime\n// compat_09_ogetdomainname\n// compat_09_osetdomainname\n// compat_09_ouname\n// compat_10_omsgsys\n// compat_10_osemsys\n// compat_10_oshmsys\n// compat_12_fstat12\n// compat_12_getdirentries\n// compat_12_lstat12\n// compat_12_msync\n// compat_12_oreboot\n// compat_12_oswapon\n// compat_12_stat12\n// compat_13_sigaction13\n// compat_13_sigaltstack13\n// compat_13_sigpending13\n// compat_13_sigprocmask13\n// compat_13_sigreturn13\n// compat_13_sigsuspend13\n// compat_14___semctl\n// compat_14_msgctl\n// compat_14_shmctl\n// compat_16___sigaction14\n// compat_16___sigreturn14\n// compat_20_fhstatfs\n// compat_20_fstatfs\n// compat_20_getfsstat\n// compat_20_statfs\n// compat_30___fhstat30\n// compat_30___fstat13\n// compat_30___lstat13\n// compat_30___stat13\n// compat_30_fhopen\n// compat_30_fhstat\n// compat_30_fhstatvfs1\n// compat_30_getdents\n// compat_30_getfh\n// compat_30_ntp_gettime\n// compat_30_socket\n// compat_40_mount\n// compat_43_fstat43\n// compat_43_lstat43\n// compat_43_oaccept\n// compat_43_ocreat\n// compat_43_oftruncate\n// compat_43_ogetdirentries\n// compat_43_ogetdtablesize\n// compat_43_ogethostid\n// compat_43_ogethostname\n// compat_43_ogetkerninfo\n// compat_43_ogetpagesize\n// compat_43_ogetpeername\n// compat_43_ogetrlimit\n// compat_43_ogetsockname\n// compat_43_okillpg\n// compat_43_olseek\n// compat_43_ommap\n// compat_43_oquota\n// compat_43_orecv\n// compat_43_orecvfrom\n// compat_43_orecvmsg\n// compat_43_osend\n// compat_43_osendmsg\n// compat_43_osethostid\n// compat_43_osethostname\n// compat_43_osetrlimit\n// compat_43_osigblock\n// compat_43_osigsetmask\n// compat_43_osigstack\n// compat_43_osigvec\n// compat_43_otruncate\n// compat_43_owait\n// compat_43_stat43\n// execve\n// extattr_delete_fd\n// extattr_delete_file\n// extattr_delete_link\n// extattr_get_fd\n// extattr_get_file\n// extattr_get_link\n// extattr_list_fd\n// extattr_list_file\n// extattr_list_link\n// extattr_set_fd\n// extattr_set_file\n// extattr_set_link\n// extattrctl\n// fchroot\n// fdatasync\n// fgetxattr\n// fktrace\n// flistxattr\n// fork\n// fremovexattr\n// fsetxattr\n// fstatvfs1\n// fsync_range\n// getcontext\n// getitimer\n// getvfsstat\n// getxattr\n// ktrace\n// lchflags\n// lchmod\n// lfs_bmapv\n// lfs_markv\n// lfs_segclean\n// lfs_segwait\n// lgetxattr\n// lio_listio\n// listxattr\n// llistxattr\n// lremovexattr\n// lseek\n// lsetxattr\n// lutimes\n// madvise\n// mincore\n// minherit\n// modctl\n// mq_close\n// mq_getattr\n// mq_notify\n// mq_open\n// mq_receive\n// mq_send\n// mq_setattr\n// mq_timedreceive\n// mq_timedsend\n// mq_unlink\n// mremap\n// msgget\n// msgrcv\n// msgsnd\n// nfssvc\n// ntp_adjtime\n// pmc_control\n// pmc_get_info\n// pollts\n// preadv\n// profil\n// pselect\n// pset_assign\n// pset_create\n// pset_destroy\n// ptrace\n// pwritev\n// quotactl\n// rasctl\n// readv\n// reboot\n// removexattr\n// sa_enable\n// sa_preempt\n// sa_register\n// sa_setconcurrency\n// sa_stacks\n// sa_yield\n// sbrk\n// sched_yield\n// semconfig\n// semget\n// semop\n// setcontext\n// setitimer\n// setxattr\n// shmat\n// shmdt\n// shmget\n// sstk\n// statvfs1\n// swapctl\n// sysarch\n// syscall\n// timer_create\n// timer_delete\n// timer_getoverrun\n// timer_gettime\n// timer_settime\n// undelete\n// utrace\n// uuidgen\n// vadvise\n// vfork\n// writev\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_netbsd_386.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build 386,netbsd\n\npackage unix\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: int32(nsec)}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: int32(usec)}\n}\n\nfunc SetKevent(k *Kevent_t, fd, mode, flags int) {\n\tk.Ident = uint32(fd)\n\tk.Filter = uint32(mode)\n\tk.Flags = uint32(flags)\n}\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint32(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint32(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build amd64,netbsd\n\npackage unix\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: nsec}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: int32(usec)}\n}\n\nfunc SetKevent(k *Kevent_t, fd, mode, flags int) {\n\tk.Ident = uint64(fd)\n\tk.Filter = uint32(mode)\n\tk.Flags = uint32(flags)\n}\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint64(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint32(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build arm,netbsd\n\npackage unix\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: int32(nsec)}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: int32(usec)}\n}\n\nfunc SetKevent(k *Kevent_t, fd, mode, flags int) {\n\tk.Ident = uint32(fd)\n\tk.Filter = uint32(mode)\n\tk.Flags = uint32(flags)\n}\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint32(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint32(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_openbsd.go",
    "content": "// Copyright 2009,2010 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// OpenBSD system calls.\n// This file is compiled as ordinary Go code,\n// but it is also input to mksyscall,\n// which parses the //sys lines and generates system call stubs.\n// Note that sometimes we use a lowercase //sys name and wrap\n// it in our own nicer implementation, either here or in\n// syscall_bsd.go or syscall_unix.go.\n\npackage unix\n\nimport (\n\t\"sort\"\n\t\"syscall\"\n\t\"unsafe\"\n)\n\n// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets.\ntype SockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [24]int8\n\traw    RawSockaddrDatalink\n}\n\nfunc Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)\n\nfunc nametomib(name string) (mib []_C_int, err error) {\n\ti := sort.Search(len(sysctlMib), func(i int) bool {\n\t\treturn sysctlMib[i].ctlname >= name\n\t})\n\tif i < len(sysctlMib) && sysctlMib[i].ctlname == name {\n\t\treturn sysctlMib[i].ctloid, nil\n\t}\n\treturn nil, EINVAL\n}\n\n//sysnb pipe(p *[2]_C_int) (err error)\nfunc Pipe(p []int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\terr = pipe(&pp)\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn\n}\n\n//sys getdents(fd int, buf []byte) (n int, err error)\nfunc Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {\n\treturn getdents(fd, buf)\n}\n\nconst ImplementsGetwd = true\n\n//sys\tGetcwd(buf []byte) (n int, err error) = SYS___GETCWD\n\nfunc Getwd() (string, error) {\n\tvar buf [PathMax]byte\n\t_, err := Getcwd(buf[0:])\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tn := clen(buf[:])\n\tif n < 1 {\n\t\treturn \"\", EINVAL\n\t}\n\treturn string(buf[:n]), nil\n}\n\n// TODO\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\treturn -1, ENOSYS\n}\n\nfunc Getfsstat(buf []Statfs_t, flags int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tvar bufsize uintptr\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t\tbufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf))\n\t}\n\tr0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(_p0), bufsize, uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc setattrlistTimes(path string, times []Timespec, flags int) error {\n\t// used on Darwin for UtimesNano\n\treturn ENOSYS\n}\n\n//sys\tioctl(fd int, req uint, arg uintptr) (err error)\n\n// ioctl itself should not be exposed directly, but additional get/set\n// functions for specific types are permissible.\n\n// IoctlSetInt performs an ioctl operation which sets an integer value\n// on fd, using the specified request number.\nfunc IoctlSetInt(fd int, req uint, value int) error {\n\treturn ioctl(fd, req, uintptr(value))\n}\n\nfunc ioctlSetWinsize(fd int, req uint, value *Winsize) error {\n\treturn ioctl(fd, req, uintptr(unsafe.Pointer(value)))\n}\n\nfunc ioctlSetTermios(fd int, req uint, value *Termios) error {\n\treturn ioctl(fd, req, uintptr(unsafe.Pointer(value)))\n}\n\n// IoctlGetInt performs an ioctl operation which gets an integer value\n// from fd, using the specified request number.\nfunc IoctlGetInt(fd int, req uint) (int, error) {\n\tvar value int\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn value, err\n}\n\nfunc IoctlGetWinsize(fd int, req uint) (*Winsize, error) {\n\tvar value Winsize\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn &value, err\n}\n\nfunc IoctlGetTermios(fd int, req uint) (*Termios, error) {\n\tvar value Termios\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn &value, err\n}\n\nfunc Uname(uname *Utsname) error {\n\tmib := []_C_int{CTL_KERN, KERN_OSTYPE}\n\tn := unsafe.Sizeof(uname.Sysname)\n\tif err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\tmib = []_C_int{CTL_KERN, KERN_HOSTNAME}\n\tn = unsafe.Sizeof(uname.Nodename)\n\tif err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\tmib = []_C_int{CTL_KERN, KERN_OSRELEASE}\n\tn = unsafe.Sizeof(uname.Release)\n\tif err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\tmib = []_C_int{CTL_KERN, KERN_VERSION}\n\tn = unsafe.Sizeof(uname.Version)\n\tif err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\t// The version might have newlines or tabs in it, convert them to\n\t// spaces.\n\tfor i, b := range uname.Version {\n\t\tif b == '\\n' || b == '\\t' {\n\t\t\tif i == len(uname.Version)-1 {\n\t\t\t\tuname.Version[i] = 0\n\t\t\t} else {\n\t\t\t\tuname.Version[i] = ' '\n\t\t\t}\n\t\t}\n\t}\n\n\tmib = []_C_int{CTL_HW, HW_MACHINE}\n\tn = unsafe.Sizeof(uname.Machine)\n\tif err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n\n/*\n * Exposed directly\n */\n//sys\tAccess(path string, mode uint32) (err error)\n//sys\tAdjtime(delta *Timeval, olddelta *Timeval) (err error)\n//sys\tChdir(path string) (err error)\n//sys\tChflags(path string, flags int) (err error)\n//sys\tChmod(path string, mode uint32) (err error)\n//sys\tChown(path string, uid int, gid int) (err error)\n//sys\tChroot(path string) (err error)\n//sys\tClose(fd int) (err error)\n//sys\tDup(fd int) (nfd int, err error)\n//sys\tDup2(from int, to int) (err error)\n//sys\tExit(code int)\n//sys\tFaccessat(dirfd int, path string, mode uint32, flags int) (err error)\n//sys\tFchdir(fd int) (err error)\n//sys\tFchflags(fd int, flags int) (err error)\n//sys\tFchmod(fd int, mode uint32) (err error)\n//sys\tFchmodat(dirfd int, path string, mode uint32, flags int) (err error)\n//sys\tFchown(fd int, uid int, gid int) (err error)\n//sys\tFlock(fd int, how int) (err error)\n//sys\tFpathconf(fd int, name int) (val int, err error)\n//sys\tFstat(fd int, stat *Stat_t) (err error)\n//sys\tFstatat(fd int, path string, stat *Stat_t, flags int) (err error)\n//sys\tFstatfs(fd int, stat *Statfs_t) (err error)\n//sys\tFsync(fd int) (err error)\n//sys\tFtruncate(fd int, length int64) (err error)\n//sysnb\tGetegid() (egid int)\n//sysnb\tGeteuid() (uid int)\n//sysnb\tGetgid() (gid int)\n//sysnb\tGetpgid(pid int) (pgid int, err error)\n//sysnb\tGetpgrp() (pgrp int)\n//sysnb\tGetpid() (pid int)\n//sysnb\tGetppid() (ppid int)\n//sys\tGetpriority(which int, who int) (prio int, err error)\n//sysnb\tGetrlimit(which int, lim *Rlimit) (err error)\n//sysnb\tGetrtable() (rtable int, err error)\n//sysnb\tGetrusage(who int, rusage *Rusage) (err error)\n//sysnb\tGetsid(pid int) (sid int, err error)\n//sysnb\tGettimeofday(tv *Timeval) (err error)\n//sysnb\tGetuid() (uid int)\n//sys\tIssetugid() (tainted bool)\n//sys\tKill(pid int, signum syscall.Signal) (err error)\n//sys\tKqueue() (fd int, err error)\n//sys\tLchown(path string, uid int, gid int) (err error)\n//sys\tLink(path string, link string) (err error)\n//sys\tListen(s int, backlog int) (err error)\n//sys\tLstat(path string, stat *Stat_t) (err error)\n//sys\tMkdir(path string, mode uint32) (err error)\n//sys\tMkfifo(path string, mode uint32) (err error)\n//sys\tMknod(path string, mode uint32, dev int) (err error)\n//sys\tNanosleep(time *Timespec, leftover *Timespec) (err error)\n//sys\tOpen(path string, mode int, perm uint32) (fd int, err error)\n//sys\tPathconf(path string, name int) (val int, err error)\n//sys\tPread(fd int, p []byte, offset int64) (n int, err error)\n//sys\tPwrite(fd int, p []byte, offset int64) (n int, err error)\n//sys\tread(fd int, p []byte) (n int, err error)\n//sys\tReadlink(path string, buf []byte) (n int, err error)\n//sys\tRename(from string, to string) (err error)\n//sys\tRevoke(path string) (err error)\n//sys\tRmdir(path string) (err error)\n//sys\tSeek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK\n//sys\tSelect(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error)\n//sysnb\tSetegid(egid int) (err error)\n//sysnb\tSeteuid(euid int) (err error)\n//sysnb\tSetgid(gid int) (err error)\n//sys\tSetlogin(name string) (err error)\n//sysnb\tSetpgid(pid int, pgid int) (err error)\n//sys\tSetpriority(which int, who int, prio int) (err error)\n//sysnb\tSetregid(rgid int, egid int) (err error)\n//sysnb\tSetreuid(ruid int, euid int) (err error)\n//sysnb\tSetresgid(rgid int, egid int, sgid int) (err error)\n//sysnb\tSetresuid(ruid int, euid int, suid int) (err error)\n//sysnb\tSetrlimit(which int, lim *Rlimit) (err error)\n//sysnb\tSetrtable(rtable int) (err error)\n//sysnb\tSetsid() (pid int, err error)\n//sysnb\tSettimeofday(tp *Timeval) (err error)\n//sysnb\tSetuid(uid int) (err error)\n//sys\tStat(path string, stat *Stat_t) (err error)\n//sys\tStatfs(path string, stat *Statfs_t) (err error)\n//sys\tSymlink(path string, link string) (err error)\n//sys\tSync() (err error)\n//sys\tTruncate(path string, length int64) (err error)\n//sys\tUmask(newmask int) (oldmask int)\n//sys\tUnlink(path string) (err error)\n//sys\tUnmount(path string, flags int) (err error)\n//sys\twrite(fd int, p []byte) (n int, err error)\n//sys\tmmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)\n//sys\tmunmap(addr uintptr, length uintptr) (err error)\n//sys\treadlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ\n//sys\twritelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE\n//sys\tutimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error)\n\n/*\n * Unimplemented\n */\n// __getcwd\n// __semctl\n// __syscall\n// __sysctl\n// adjfreq\n// break\n// clock_getres\n// clock_gettime\n// clock_settime\n// closefrom\n// execve\n// faccessat\n// fchmodat\n// fchownat\n// fcntl\n// fhopen\n// fhstat\n// fhstatfs\n// fork\n// fstatat\n// futimens\n// getfh\n// getgid\n// getitimer\n// getlogin\n// getresgid\n// getresuid\n// getthrid\n// ktrace\n// lfs_bmapv\n// lfs_markv\n// lfs_segclean\n// lfs_segwait\n// linkat\n// mincore\n// minherit\n// mkdirat\n// mkfifoat\n// mknodat\n// mount\n// mquery\n// msgctl\n// msgget\n// msgrcv\n// msgsnd\n// nfssvc\n// nnpfspioctl\n// openat\n// preadv\n// profil\n// pwritev\n// quotactl\n// readlinkat\n// readv\n// reboot\n// renameat\n// rfork\n// sched_yield\n// semget\n// semop\n// setgroups\n// setitimer\n// setsockopt\n// shmat\n// shmctl\n// shmdt\n// shmget\n// sigaction\n// sigaltstack\n// sigpending\n// sigprocmask\n// sigreturn\n// sigsuspend\n// symlinkat\n// sysarch\n// syscall\n// threxit\n// thrsigdivert\n// thrsleep\n// thrwakeup\n// unlinkat\n// vfork\n// writev\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_openbsd_386.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build 386,openbsd\n\npackage unix\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: int32(nsec)}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: int32(usec)}\n}\n\nfunc SetKevent(k *Kevent_t, fd, mode, flags int) {\n\tk.Ident = uint32(fd)\n\tk.Filter = int16(mode)\n\tk.Flags = uint16(flags)\n}\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint32(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint32(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build amd64,openbsd\n\npackage unix\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: nsec}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: usec}\n}\n\nfunc SetKevent(k *Kevent_t, fd, mode, flags int) {\n\tk.Ident = uint64(fd)\n\tk.Filter = int16(mode)\n\tk.Flags = uint16(flags)\n}\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint64(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint32(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n\n// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions\n// of openbsd/amd64 the syscall is called sysctl instead of __sysctl.\nconst SYS___SYSCTL = SYS_SYSCTL\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build arm,openbsd\n\npackage unix\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: int32(nsec)}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: int32(usec)}\n}\n\nfunc SetKevent(k *Kevent_t, fd, mode, flags int) {\n\tk.Ident = uint32(fd)\n\tk.Filter = int16(mode)\n\tk.Flags = uint16(flags)\n}\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint32(length)\n}\n\nfunc (msghdr *Msghdr) SetControllen(length int) {\n\tmsghdr.Controllen = uint32(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_solaris.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Solaris system calls.\n// This file is compiled as ordinary Go code,\n// but it is also input to mksyscall,\n// which parses the //sys lines and generates system call stubs.\n// Note that sometimes we use a lowercase //sys name and wrap\n// it in our own nicer implementation, either here or in\n// syscall_solaris.go or syscall_unix.go.\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\n// Implemented in runtime/syscall_solaris.go.\ntype syscallFunc uintptr\n\nfunc rawSysvicall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno)\nfunc sysvicall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno)\n\n// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets.\ntype SockaddrDatalink struct {\n\tFamily uint16\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [244]int8\n\traw    RawSockaddrDatalink\n}\n\n//sysnb\tpipe(p *[2]_C_int) (n int, err error)\n\nfunc Pipe(p []int) (err error) {\n\tif len(p) != 2 {\n\t\treturn EINVAL\n\t}\n\tvar pp [2]_C_int\n\tn, err := pipe(&pp)\n\tif n != 0 {\n\t\treturn err\n\t}\n\tp[0] = int(pp[0])\n\tp[1] = int(pp[1])\n\treturn nil\n}\n\nfunc (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) {\n\tif sa.Port < 0 || sa.Port > 0xFFFF {\n\t\treturn nil, 0, EINVAL\n\t}\n\tsa.raw.Family = AF_INET\n\tp := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))\n\tp[0] = byte(sa.Port >> 8)\n\tp[1] = byte(sa.Port)\n\tfor i := 0; i < len(sa.Addr); i++ {\n\t\tsa.raw.Addr[i] = sa.Addr[i]\n\t}\n\treturn unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil\n}\n\nfunc (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) {\n\tif sa.Port < 0 || sa.Port > 0xFFFF {\n\t\treturn nil, 0, EINVAL\n\t}\n\tsa.raw.Family = AF_INET6\n\tp := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))\n\tp[0] = byte(sa.Port >> 8)\n\tp[1] = byte(sa.Port)\n\tsa.raw.Scope_id = sa.ZoneId\n\tfor i := 0; i < len(sa.Addr); i++ {\n\t\tsa.raw.Addr[i] = sa.Addr[i]\n\t}\n\treturn unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil\n}\n\nfunc (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) {\n\tname := sa.Name\n\tn := len(name)\n\tif n >= len(sa.raw.Path) {\n\t\treturn nil, 0, EINVAL\n\t}\n\tsa.raw.Family = AF_UNIX\n\tfor i := 0; i < n; i++ {\n\t\tsa.raw.Path[i] = int8(name[i])\n\t}\n\t// length is family (uint16), name, NUL.\n\tsl := _Socklen(2)\n\tif n > 0 {\n\t\tsl += _Socklen(n) + 1\n\t}\n\tif sa.raw.Path[0] == '@' {\n\t\tsa.raw.Path[0] = 0\n\t\t// Don't count trailing NUL for abstract address.\n\t\tsl--\n\t}\n\n\treturn unsafe.Pointer(&sa.raw), sl, nil\n}\n\n//sys\tgetsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) = libsocket.getsockname\n\nfunc Getsockname(fd int) (sa Sockaddr, err error) {\n\tvar rsa RawSockaddrAny\n\tvar len _Socklen = SizeofSockaddrAny\n\tif err = getsockname(fd, &rsa, &len); err != nil {\n\t\treturn\n\t}\n\treturn anyToSockaddr(fd, &rsa)\n}\n\n// GetsockoptString returns the string value of the socket option opt for the\n// socket associated with fd at the given socket level.\nfunc GetsockoptString(fd, level, opt int) (string, error) {\n\tbuf := make([]byte, 256)\n\tvallen := _Socklen(len(buf))\n\terr := getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen)\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\treturn string(buf[:vallen-1]), nil\n}\n\nconst ImplementsGetwd = true\n\n//sys\tGetcwd(buf []byte) (n int, err error)\n\nfunc Getwd() (wd string, err error) {\n\tvar buf [PathMax]byte\n\t// Getcwd will return an error if it failed for any reason.\n\t_, err = Getcwd(buf[0:])\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tn := clen(buf[:])\n\tif n < 1 {\n\t\treturn \"\", EINVAL\n\t}\n\treturn string(buf[:n]), nil\n}\n\n/*\n * Wrapped\n */\n\n//sysnb\tgetgroups(ngid int, gid *_Gid_t) (n int, err error)\n//sysnb\tsetgroups(ngid int, gid *_Gid_t) (err error)\n\nfunc Getgroups() (gids []int, err error) {\n\tn, err := getgroups(0, nil)\n\t// Check for error and sanity check group count. Newer versions of\n\t// Solaris allow up to 1024 (NGROUPS_MAX).\n\tif n < 0 || n > 1024 {\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\treturn nil, EINVAL\n\t} else if n == 0 {\n\t\treturn nil, nil\n\t}\n\n\ta := make([]_Gid_t, n)\n\tn, err = getgroups(n, &a[0])\n\tif n == -1 {\n\t\treturn nil, err\n\t}\n\tgids = make([]int, n)\n\tfor i, v := range a[0:n] {\n\t\tgids[i] = int(v)\n\t}\n\treturn\n}\n\nfunc Setgroups(gids []int) (err error) {\n\tif len(gids) == 0 {\n\t\treturn setgroups(0, nil)\n\t}\n\n\ta := make([]_Gid_t, len(gids))\n\tfor i, v := range gids {\n\t\ta[i] = _Gid_t(v)\n\t}\n\treturn setgroups(len(a), &a[0])\n}\n\nfunc ReadDirent(fd int, buf []byte) (n int, err error) {\n\t// Final argument is (basep *uintptr) and the syscall doesn't take nil.\n\t// TODO(rsc): Can we use a single global basep for all calls?\n\treturn Getdents(fd, buf, new(uintptr))\n}\n\n// Wait status is 7 bits at bottom, either 0 (exited),\n// 0x7F (stopped), or a signal number that caused an exit.\n// The 0x80 bit is whether there was a core dump.\n// An extra number (exit code, signal causing a stop)\n// is in the high bits.\n\ntype WaitStatus uint32\n\nconst (\n\tmask  = 0x7F\n\tcore  = 0x80\n\tshift = 8\n\n\texited  = 0\n\tstopped = 0x7F\n)\n\nfunc (w WaitStatus) Exited() bool { return w&mask == exited }\n\nfunc (w WaitStatus) ExitStatus() int {\n\tif w&mask != exited {\n\t\treturn -1\n\t}\n\treturn int(w >> shift)\n}\n\nfunc (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != 0 }\n\nfunc (w WaitStatus) Signal() syscall.Signal {\n\tsig := syscall.Signal(w & mask)\n\tif sig == stopped || sig == 0 {\n\t\treturn -1\n\t}\n\treturn sig\n}\n\nfunc (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 }\n\nfunc (w WaitStatus) Stopped() bool { return w&mask == stopped && syscall.Signal(w>>shift) != SIGSTOP }\n\nfunc (w WaitStatus) Continued() bool { return w&mask == stopped && syscall.Signal(w>>shift) == SIGSTOP }\n\nfunc (w WaitStatus) StopSignal() syscall.Signal {\n\tif !w.Stopped() {\n\t\treturn -1\n\t}\n\treturn syscall.Signal(w>>shift) & 0xFF\n}\n\nfunc (w WaitStatus) TrapCause() int { return -1 }\n\n//sys\twait4(pid int32, statusp *_C_int, options int, rusage *Rusage) (wpid int32, err error)\n\nfunc Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (int, error) {\n\tvar status _C_int\n\trpid, err := wait4(int32(pid), &status, options, rusage)\n\twpid := int(rpid)\n\tif wpid == -1 {\n\t\treturn wpid, err\n\t}\n\tif wstatus != nil {\n\t\t*wstatus = WaitStatus(status)\n\t}\n\treturn wpid, nil\n}\n\n//sys\tgethostname(buf []byte) (n int, err error)\n\nfunc Gethostname() (name string, err error) {\n\tvar buf [MaxHostNameLen]byte\n\tn, err := gethostname(buf[:])\n\tif n != 0 {\n\t\treturn \"\", err\n\t}\n\tn = clen(buf[:])\n\tif n < 1 {\n\t\treturn \"\", EFAULT\n\t}\n\treturn string(buf[:n]), nil\n}\n\n//sys\tutimes(path string, times *[2]Timeval) (err error)\n\nfunc Utimes(path string, tv []Timeval) (err error) {\n\tif tv == nil {\n\t\treturn utimes(path, nil)\n\t}\n\tif len(tv) != 2 {\n\t\treturn EINVAL\n\t}\n\treturn utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0])))\n}\n\n//sys\tutimensat(fd int, path string, times *[2]Timespec, flag int) (err error)\n\nfunc UtimesNano(path string, ts []Timespec) error {\n\tif ts == nil {\n\t\treturn utimensat(AT_FDCWD, path, nil, 0)\n\t}\n\tif len(ts) != 2 {\n\t\treturn EINVAL\n\t}\n\treturn utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)\n}\n\nfunc UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error {\n\tif ts == nil {\n\t\treturn utimensat(dirfd, path, nil, flags)\n\t}\n\tif len(ts) != 2 {\n\t\treturn EINVAL\n\t}\n\treturn utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags)\n}\n\n//sys\tfcntl(fd int, cmd int, arg int) (val int, err error)\n\n// FcntlInt performs a fcntl syscall on fd with the provided command and argument.\nfunc FcntlInt(fd uintptr, cmd, arg int) (int, error) {\n\tvalptr, _, errno := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(arg), 0, 0, 0)\n\tvar err error\n\tif errno != 0 {\n\t\terr = errno\n\t}\n\treturn int(valptr), err\n}\n\n// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command.\nfunc FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(unsafe.Pointer(lk)), 0, 0, 0)\n\tif e1 != 0 {\n\t\treturn e1\n\t}\n\treturn nil\n}\n\n//sys\tfutimesat(fildes int, path *byte, times *[2]Timeval) (err error)\n\nfunc Futimesat(dirfd int, path string, tv []Timeval) error {\n\tpathp, err := BytePtrFromString(path)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif tv == nil {\n\t\treturn futimesat(dirfd, pathp, nil)\n\t}\n\tif len(tv) != 2 {\n\t\treturn EINVAL\n\t}\n\treturn futimesat(dirfd, pathp, (*[2]Timeval)(unsafe.Pointer(&tv[0])))\n}\n\n// Solaris doesn't have an futimes function because it allows NULL to be\n// specified as the path for futimesat. However, Go doesn't like\n// NULL-style string interfaces, so this simple wrapper is provided.\nfunc Futimes(fd int, tv []Timeval) error {\n\tif tv == nil {\n\t\treturn futimesat(fd, nil, nil)\n\t}\n\tif len(tv) != 2 {\n\t\treturn EINVAL\n\t}\n\treturn futimesat(fd, nil, (*[2]Timeval)(unsafe.Pointer(&tv[0])))\n}\n\nfunc anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {\n\tswitch rsa.Addr.Family {\n\tcase AF_UNIX:\n\t\tpp := (*RawSockaddrUnix)(unsafe.Pointer(rsa))\n\t\tsa := new(SockaddrUnix)\n\t\t// Assume path ends at NUL.\n\t\t// This is not technically the Solaris semantics for\n\t\t// abstract Unix domain sockets -- they are supposed\n\t\t// to be uninterpreted fixed-size binary blobs -- but\n\t\t// everyone uses this convention.\n\t\tn := 0\n\t\tfor n < len(pp.Path) && pp.Path[n] != 0 {\n\t\t\tn++\n\t\t}\n\t\tbytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n]\n\t\tsa.Name = string(bytes)\n\t\treturn sa, nil\n\n\tcase AF_INET:\n\t\tpp := (*RawSockaddrInet4)(unsafe.Pointer(rsa))\n\t\tsa := new(SockaddrInet4)\n\t\tp := (*[2]byte)(unsafe.Pointer(&pp.Port))\n\t\tsa.Port = int(p[0])<<8 + int(p[1])\n\t\tfor i := 0; i < len(sa.Addr); i++ {\n\t\t\tsa.Addr[i] = pp.Addr[i]\n\t\t}\n\t\treturn sa, nil\n\n\tcase AF_INET6:\n\t\tpp := (*RawSockaddrInet6)(unsafe.Pointer(rsa))\n\t\tsa := new(SockaddrInet6)\n\t\tp := (*[2]byte)(unsafe.Pointer(&pp.Port))\n\t\tsa.Port = int(p[0])<<8 + int(p[1])\n\t\tsa.ZoneId = pp.Scope_id\n\t\tfor i := 0; i < len(sa.Addr); i++ {\n\t\t\tsa.Addr[i] = pp.Addr[i]\n\t\t}\n\t\treturn sa, nil\n\t}\n\treturn nil, EAFNOSUPPORT\n}\n\n//sys\taccept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) = libsocket.accept\n\nfunc Accept(fd int) (nfd int, sa Sockaddr, err error) {\n\tvar rsa RawSockaddrAny\n\tvar len _Socklen = SizeofSockaddrAny\n\tnfd, err = accept(fd, &rsa, &len)\n\tif nfd == -1 {\n\t\treturn\n\t}\n\tsa, err = anyToSockaddr(fd, &rsa)\n\tif err != nil {\n\t\tClose(nfd)\n\t\tnfd = 0\n\t}\n\treturn\n}\n\n//sys\trecvmsg(s int, msg *Msghdr, flags int) (n int, err error) = libsocket.__xnet_recvmsg\n\nfunc Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) {\n\tvar msg Msghdr\n\tvar rsa RawSockaddrAny\n\tmsg.Name = (*byte)(unsafe.Pointer(&rsa))\n\tmsg.Namelen = uint32(SizeofSockaddrAny)\n\tvar iov Iovec\n\tif len(p) > 0 {\n\t\tiov.Base = (*int8)(unsafe.Pointer(&p[0]))\n\t\tiov.SetLen(len(p))\n\t}\n\tvar dummy int8\n\tif len(oob) > 0 {\n\t\t// receive at least one normal byte\n\t\tif len(p) == 0 {\n\t\t\tiov.Base = &dummy\n\t\t\tiov.SetLen(1)\n\t\t}\n\t\tmsg.Accrightslen = int32(len(oob))\n\t}\n\tmsg.Iov = &iov\n\tmsg.Iovlen = 1\n\tif n, err = recvmsg(fd, &msg, flags); n == -1 {\n\t\treturn\n\t}\n\toobn = int(msg.Accrightslen)\n\t// source address is only specified if the socket is unconnected\n\tif rsa.Addr.Family != AF_UNSPEC {\n\t\tfrom, err = anyToSockaddr(fd, &rsa)\n\t}\n\treturn\n}\n\nfunc Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) {\n\t_, err = SendmsgN(fd, p, oob, to, flags)\n\treturn\n}\n\n//sys\tsendmsg(s int, msg *Msghdr, flags int) (n int, err error) = libsocket.__xnet_sendmsg\n\nfunc SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) {\n\tvar ptr unsafe.Pointer\n\tvar salen _Socklen\n\tif to != nil {\n\t\tptr, salen, err = to.sockaddr()\n\t\tif err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t}\n\tvar msg Msghdr\n\tmsg.Name = (*byte)(unsafe.Pointer(ptr))\n\tmsg.Namelen = uint32(salen)\n\tvar iov Iovec\n\tif len(p) > 0 {\n\t\tiov.Base = (*int8)(unsafe.Pointer(&p[0]))\n\t\tiov.SetLen(len(p))\n\t}\n\tvar dummy int8\n\tif len(oob) > 0 {\n\t\t// send at least one normal byte\n\t\tif len(p) == 0 {\n\t\t\tiov.Base = &dummy\n\t\t\tiov.SetLen(1)\n\t\t}\n\t\tmsg.Accrightslen = int32(len(oob))\n\t}\n\tmsg.Iov = &iov\n\tmsg.Iovlen = 1\n\tif n, err = sendmsg(fd, &msg, flags); err != nil {\n\t\treturn 0, err\n\t}\n\tif len(oob) > 0 && len(p) == 0 {\n\t\tn = 0\n\t}\n\treturn n, nil\n}\n\n//sys\tacct(path *byte) (err error)\n\nfunc Acct(path string) (err error) {\n\tif len(path) == 0 {\n\t\t// Assume caller wants to disable accounting.\n\t\treturn acct(nil)\n\t}\n\n\tpathp, err := BytePtrFromString(path)\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn acct(pathp)\n}\n\n//sys\t__makedev(version int, major uint, minor uint) (val uint64)\n\nfunc Mkdev(major, minor uint32) uint64 {\n\treturn __makedev(NEWDEV, uint(major), uint(minor))\n}\n\n//sys\t__major(version int, dev uint64) (val uint)\n\nfunc Major(dev uint64) uint32 {\n\treturn uint32(__major(NEWDEV, dev))\n}\n\n//sys\t__minor(version int, dev uint64) (val uint)\n\nfunc Minor(dev uint64) uint32 {\n\treturn uint32(__minor(NEWDEV, dev))\n}\n\n/*\n * Expose the ioctl function\n */\n\n//sys\tioctl(fd int, req uint, arg uintptr) (err error)\n\nfunc IoctlSetInt(fd int, req uint, value int) (err error) {\n\treturn ioctl(fd, req, uintptr(value))\n}\n\nfunc ioctlSetWinsize(fd int, req uint, value *Winsize) (err error) {\n\treturn ioctl(fd, req, uintptr(unsafe.Pointer(value)))\n}\n\nfunc ioctlSetTermios(fd int, req uint, value *Termios) (err error) {\n\treturn ioctl(fd, req, uintptr(unsafe.Pointer(value)))\n}\n\nfunc IoctlSetTermio(fd int, req uint, value *Termio) (err error) {\n\treturn ioctl(fd, req, uintptr(unsafe.Pointer(value)))\n}\n\nfunc IoctlGetInt(fd int, req uint) (int, error) {\n\tvar value int\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn value, err\n}\n\nfunc IoctlGetWinsize(fd int, req uint) (*Winsize, error) {\n\tvar value Winsize\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn &value, err\n}\n\nfunc IoctlGetTermios(fd int, req uint) (*Termios, error) {\n\tvar value Termios\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn &value, err\n}\n\nfunc IoctlGetTermio(fd int, req uint) (*Termio, error) {\n\tvar value Termio\n\terr := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))\n\treturn &value, err\n}\n\n//sys   poll(fds *PollFd, nfds int, timeout int) (n int, err error)\n\nfunc Poll(fds []PollFd, timeout int) (n int, err error) {\n\tif len(fds) == 0 {\n\t\treturn poll(nil, 0, timeout)\n\t}\n\treturn poll(&fds[0], len(fds), timeout)\n}\n\n/*\n * Exposed directly\n */\n//sys\tAccess(path string, mode uint32) (err error)\n//sys\tAdjtime(delta *Timeval, olddelta *Timeval) (err error)\n//sys\tChdir(path string) (err error)\n//sys\tChmod(path string, mode uint32) (err error)\n//sys\tChown(path string, uid int, gid int) (err error)\n//sys\tChroot(path string) (err error)\n//sys\tClose(fd int) (err error)\n//sys\tCreat(path string, mode uint32) (fd int, err error)\n//sys\tDup(fd int) (nfd int, err error)\n//sys\tDup2(oldfd int, newfd int) (err error)\n//sys\tExit(code int)\n//sys\tFaccessat(dirfd int, path string, mode uint32, flags int) (err error)\n//sys\tFchdir(fd int) (err error)\n//sys\tFchmod(fd int, mode uint32) (err error)\n//sys\tFchmodat(dirfd int, path string, mode uint32, flags int) (err error)\n//sys\tFchown(fd int, uid int, gid int) (err error)\n//sys\tFchownat(dirfd int, path string, uid int, gid int, flags int) (err error)\n//sys\tFdatasync(fd int) (err error)\n//sys\tFlock(fd int, how int) (err error)\n//sys\tFpathconf(fd int, name int) (val int, err error)\n//sys\tFstat(fd int, stat *Stat_t) (err error)\n//sys\tFstatat(fd int, path string, stat *Stat_t, flags int) (err error)\n//sys\tFstatvfs(fd int, vfsstat *Statvfs_t) (err error)\n//sys\tGetdents(fd int, buf []byte, basep *uintptr) (n int, err error)\n//sysnb\tGetgid() (gid int)\n//sysnb\tGetpid() (pid int)\n//sysnb\tGetpgid(pid int) (pgid int, err error)\n//sysnb\tGetpgrp() (pgid int, err error)\n//sys\tGeteuid() (euid int)\n//sys\tGetegid() (egid int)\n//sys\tGetppid() (ppid int)\n//sys\tGetpriority(which int, who int) (n int, err error)\n//sysnb\tGetrlimit(which int, lim *Rlimit) (err error)\n//sysnb\tGetrusage(who int, rusage *Rusage) (err error)\n//sysnb\tGettimeofday(tv *Timeval) (err error)\n//sysnb\tGetuid() (uid int)\n//sys\tKill(pid int, signum syscall.Signal) (err error)\n//sys\tLchown(path string, uid int, gid int) (err error)\n//sys\tLink(path string, link string) (err error)\n//sys\tListen(s int, backlog int) (err error) = libsocket.__xnet_llisten\n//sys\tLstat(path string, stat *Stat_t) (err error)\n//sys\tMadvise(b []byte, advice int) (err error)\n//sys\tMkdir(path string, mode uint32) (err error)\n//sys\tMkdirat(dirfd int, path string, mode uint32) (err error)\n//sys\tMkfifo(path string, mode uint32) (err error)\n//sys\tMkfifoat(dirfd int, path string, mode uint32) (err error)\n//sys\tMknod(path string, mode uint32, dev int) (err error)\n//sys\tMknodat(dirfd int, path string, mode uint32, dev int) (err error)\n//sys\tMlock(b []byte) (err error)\n//sys\tMlockall(flags int) (err error)\n//sys\tMprotect(b []byte, prot int) (err error)\n//sys\tMsync(b []byte, flags int) (err error)\n//sys\tMunlock(b []byte) (err error)\n//sys\tMunlockall() (err error)\n//sys\tNanosleep(time *Timespec, leftover *Timespec) (err error)\n//sys\tOpen(path string, mode int, perm uint32) (fd int, err error)\n//sys\tOpenat(dirfd int, path string, flags int, mode uint32) (fd int, err error)\n//sys\tPathconf(path string, name int) (val int, err error)\n//sys\tPause() (err error)\n//sys\tPread(fd int, p []byte, offset int64) (n int, err error)\n//sys\tPwrite(fd int, p []byte, offset int64) (n int, err error)\n//sys\tread(fd int, p []byte) (n int, err error)\n//sys\tReadlink(path string, buf []byte) (n int, err error)\n//sys\tRename(from string, to string) (err error)\n//sys\tRenameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)\n//sys\tRmdir(path string) (err error)\n//sys\tSeek(fd int, offset int64, whence int) (newoffset int64, err error) = lseek\n//sys\tSelect(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error)\n//sysnb\tSetegid(egid int) (err error)\n//sysnb\tSeteuid(euid int) (err error)\n//sysnb\tSetgid(gid int) (err error)\n//sys\tSethostname(p []byte) (err error)\n//sysnb\tSetpgid(pid int, pgid int) (err error)\n//sys\tSetpriority(which int, who int, prio int) (err error)\n//sysnb\tSetregid(rgid int, egid int) (err error)\n//sysnb\tSetreuid(ruid int, euid int) (err error)\n//sysnb\tSetrlimit(which int, lim *Rlimit) (err error)\n//sysnb\tSetsid() (pid int, err error)\n//sysnb\tSetuid(uid int) (err error)\n//sys\tShutdown(s int, how int) (err error) = libsocket.shutdown\n//sys\tStat(path string, stat *Stat_t) (err error)\n//sys\tStatvfs(path string, vfsstat *Statvfs_t) (err error)\n//sys\tSymlink(path string, link string) (err error)\n//sys\tSync() (err error)\n//sysnb\tTimes(tms *Tms) (ticks uintptr, err error)\n//sys\tTruncate(path string, length int64) (err error)\n//sys\tFsync(fd int) (err error)\n//sys\tFtruncate(fd int, length int64) (err error)\n//sys\tUmask(mask int) (oldmask int)\n//sysnb\tUname(buf *Utsname) (err error)\n//sys\tUnmount(target string, flags int) (err error) = libc.umount\n//sys\tUnlink(path string) (err error)\n//sys\tUnlinkat(dirfd int, path string, flags int) (err error)\n//sys\tUstat(dev int, ubuf *Ustat_t) (err error)\n//sys\tUtime(path string, buf *Utimbuf) (err error)\n//sys\tbind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.__xnet_bind\n//sys\tconnect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.__xnet_connect\n//sys\tmmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)\n//sys\tmunmap(addr uintptr, length uintptr) (err error)\n//sys\tsendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = libsendfile.sendfile\n//sys\tsendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.__xnet_sendto\n//sys\tsocket(domain int, typ int, proto int) (fd int, err error) = libsocket.__xnet_socket\n//sysnb\tsocketpair(domain int, typ int, proto int, fd *[2]int32) (err error) = libsocket.__xnet_socketpair\n//sys\twrite(fd int, p []byte) (n int, err error)\n//sys\tgetsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) = libsocket.__xnet_getsockopt\n//sysnb\tgetpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) = libsocket.getpeername\n//sys\tsetsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) = libsocket.setsockopt\n//sys\trecvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) = libsocket.recvfrom\n\nfunc readlen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procread)), 3, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf), 0, 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc writelen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwrite)), 3, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf), 0, 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nvar mapper = &mmapper{\n\tactive: make(map[*byte][]byte),\n\tmmap:   mmap,\n\tmunmap: munmap,\n}\n\nfunc Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) {\n\treturn mapper.Mmap(fd, offset, length, prot, flags)\n}\n\nfunc Munmap(b []byte) (err error) {\n\treturn mapper.Munmap(b)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build amd64,solaris\n\npackage unix\n\nfunc setTimespec(sec, nsec int64) Timespec {\n\treturn Timespec{Sec: sec, Nsec: nsec}\n}\n\nfunc setTimeval(sec, usec int64) Timeval {\n\treturn Timeval{Sec: sec, Usec: usec}\n}\n\nfunc (iov *Iovec) SetLen(length int) {\n\tiov.Len = uint64(length)\n}\n\nfunc (cmsg *Cmsghdr) SetLen(length int) {\n\tcmsg.Len = uint32(length)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_unix.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build darwin dragonfly freebsd linux netbsd openbsd solaris\n\npackage unix\n\nimport (\n\t\"bytes\"\n\t\"runtime\"\n\t\"sort\"\n\t\"sync\"\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar (\n\tStdin  = 0\n\tStdout = 1\n\tStderr = 2\n)\n\nconst (\n\tdarwin64Bit    = runtime.GOOS == \"darwin\" && sizeofPtr == 8\n\tdragonfly64Bit = runtime.GOOS == \"dragonfly\" && sizeofPtr == 8\n\tnetbsd32Bit    = runtime.GOOS == \"netbsd\" && sizeofPtr == 4\n\tsolaris64Bit   = runtime.GOOS == \"solaris\" && sizeofPtr == 8\n)\n\n// Do the interface allocations only once for common\n// Errno values.\nvar (\n\terrEAGAIN error = syscall.EAGAIN\n\terrEINVAL error = syscall.EINVAL\n\terrENOENT error = syscall.ENOENT\n)\n\n// errnoErr returns common boxed Errno values, to prevent\n// allocations at runtime.\nfunc errnoErr(e syscall.Errno) error {\n\tswitch e {\n\tcase 0:\n\t\treturn nil\n\tcase EAGAIN:\n\t\treturn errEAGAIN\n\tcase EINVAL:\n\t\treturn errEINVAL\n\tcase ENOENT:\n\t\treturn errENOENT\n\t}\n\treturn e\n}\n\n// ErrnoName returns the error name for error number e.\nfunc ErrnoName(e syscall.Errno) string {\n\ti := sort.Search(len(errorList), func(i int) bool {\n\t\treturn errorList[i].num >= e\n\t})\n\tif i < len(errorList) && errorList[i].num == e {\n\t\treturn errorList[i].name\n\t}\n\treturn \"\"\n}\n\n// SignalName returns the signal name for signal number s.\nfunc SignalName(s syscall.Signal) string {\n\ti := sort.Search(len(signalList), func(i int) bool {\n\t\treturn signalList[i].num >= s\n\t})\n\tif i < len(signalList) && signalList[i].num == s {\n\t\treturn signalList[i].name\n\t}\n\treturn \"\"\n}\n\n// clen returns the index of the first NULL byte in n or len(n) if n contains no NULL byte.\nfunc clen(n []byte) int {\n\ti := bytes.IndexByte(n, 0)\n\tif i == -1 {\n\t\ti = len(n)\n\t}\n\treturn i\n}\n\n// Mmap manager, for use by operating system-specific implementations.\n\ntype mmapper struct {\n\tsync.Mutex\n\tactive map[*byte][]byte // active mappings; key is last byte in mapping\n\tmmap   func(addr, length uintptr, prot, flags, fd int, offset int64) (uintptr, error)\n\tmunmap func(addr uintptr, length uintptr) error\n}\n\nfunc (m *mmapper) Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) {\n\tif length <= 0 {\n\t\treturn nil, EINVAL\n\t}\n\n\t// Map the requested memory.\n\taddr, errno := m.mmap(0, uintptr(length), prot, flags, fd, offset)\n\tif errno != nil {\n\t\treturn nil, errno\n\t}\n\n\t// Slice memory layout\n\tvar sl = struct {\n\t\taddr uintptr\n\t\tlen  int\n\t\tcap  int\n\t}{addr, length, length}\n\n\t// Use unsafe to turn sl into a []byte.\n\tb := *(*[]byte)(unsafe.Pointer(&sl))\n\n\t// Register mapping in m and return it.\n\tp := &b[cap(b)-1]\n\tm.Lock()\n\tdefer m.Unlock()\n\tm.active[p] = b\n\treturn b, nil\n}\n\nfunc (m *mmapper) Munmap(data []byte) (err error) {\n\tif len(data) == 0 || len(data) != cap(data) {\n\t\treturn EINVAL\n\t}\n\n\t// Find the base of the mapping.\n\tp := &data[cap(data)-1]\n\tm.Lock()\n\tdefer m.Unlock()\n\tb := m.active[p]\n\tif b == nil || &b[0] != &data[0] {\n\t\treturn EINVAL\n\t}\n\n\t// Unmap the memory and update m.\n\tif errno := m.munmap(uintptr(unsafe.Pointer(&b[0])), uintptr(len(b))); errno != nil {\n\t\treturn errno\n\t}\n\tdelete(m.active, p)\n\treturn nil\n}\n\nfunc Read(fd int, p []byte) (n int, err error) {\n\tn, err = read(fd, p)\n\tif raceenabled {\n\t\tif n > 0 {\n\t\t\traceWriteRange(unsafe.Pointer(&p[0]), n)\n\t\t}\n\t\tif err == nil {\n\t\t\traceAcquire(unsafe.Pointer(&ioSync))\n\t\t}\n\t}\n\treturn\n}\n\nfunc Write(fd int, p []byte) (n int, err error) {\n\tif raceenabled {\n\t\traceReleaseMerge(unsafe.Pointer(&ioSync))\n\t}\n\tn, err = write(fd, p)\n\tif raceenabled && n > 0 {\n\t\traceReadRange(unsafe.Pointer(&p[0]), n)\n\t}\n\treturn\n}\n\n// For testing: clients can set this flag to force\n// creation of IPv6 sockets to return EAFNOSUPPORT.\nvar SocketDisableIPv6 bool\n\n// Sockaddr represents a socket address.\ntype Sockaddr interface {\n\tsockaddr() (ptr unsafe.Pointer, len _Socklen, err error) // lowercase; only we can define Sockaddrs\n}\n\n// SockaddrInet4 implements the Sockaddr interface for AF_INET type sockets.\ntype SockaddrInet4 struct {\n\tPort int\n\tAddr [4]byte\n\traw  RawSockaddrInet4\n}\n\n// SockaddrInet6 implements the Sockaddr interface for AF_INET6 type sockets.\ntype SockaddrInet6 struct {\n\tPort   int\n\tZoneId uint32\n\tAddr   [16]byte\n\traw    RawSockaddrInet6\n}\n\n// SockaddrUnix implements the Sockaddr interface for AF_UNIX type sockets.\ntype SockaddrUnix struct {\n\tName string\n\traw  RawSockaddrUnix\n}\n\nfunc Bind(fd int, sa Sockaddr) (err error) {\n\tptr, n, err := sa.sockaddr()\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn bind(fd, ptr, n)\n}\n\nfunc Connect(fd int, sa Sockaddr) (err error) {\n\tptr, n, err := sa.sockaddr()\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn connect(fd, ptr, n)\n}\n\nfunc Getpeername(fd int) (sa Sockaddr, err error) {\n\tvar rsa RawSockaddrAny\n\tvar len _Socklen = SizeofSockaddrAny\n\tif err = getpeername(fd, &rsa, &len); err != nil {\n\t\treturn\n\t}\n\treturn anyToSockaddr(fd, &rsa)\n}\n\nfunc GetsockoptByte(fd, level, opt int) (value byte, err error) {\n\tvar n byte\n\tvallen := _Socklen(1)\n\terr = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen)\n\treturn n, err\n}\n\nfunc GetsockoptInt(fd, level, opt int) (value int, err error) {\n\tvar n int32\n\tvallen := _Socklen(4)\n\terr = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen)\n\treturn int(n), err\n}\n\nfunc GetsockoptInet4Addr(fd, level, opt int) (value [4]byte, err error) {\n\tvallen := _Socklen(4)\n\terr = getsockopt(fd, level, opt, unsafe.Pointer(&value[0]), &vallen)\n\treturn value, err\n}\n\nfunc GetsockoptIPMreq(fd, level, opt int) (*IPMreq, error) {\n\tvar value IPMreq\n\tvallen := _Socklen(SizeofIPMreq)\n\terr := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)\n\treturn &value, err\n}\n\nfunc GetsockoptIPv6Mreq(fd, level, opt int) (*IPv6Mreq, error) {\n\tvar value IPv6Mreq\n\tvallen := _Socklen(SizeofIPv6Mreq)\n\terr := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)\n\treturn &value, err\n}\n\nfunc GetsockoptIPv6MTUInfo(fd, level, opt int) (*IPv6MTUInfo, error) {\n\tvar value IPv6MTUInfo\n\tvallen := _Socklen(SizeofIPv6MTUInfo)\n\terr := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)\n\treturn &value, err\n}\n\nfunc GetsockoptICMPv6Filter(fd, level, opt int) (*ICMPv6Filter, error) {\n\tvar value ICMPv6Filter\n\tvallen := _Socklen(SizeofICMPv6Filter)\n\terr := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)\n\treturn &value, err\n}\n\nfunc GetsockoptLinger(fd, level, opt int) (*Linger, error) {\n\tvar linger Linger\n\tvallen := _Socklen(SizeofLinger)\n\terr := getsockopt(fd, level, opt, unsafe.Pointer(&linger), &vallen)\n\treturn &linger, err\n}\n\nfunc GetsockoptTimeval(fd, level, opt int) (*Timeval, error) {\n\tvar tv Timeval\n\tvallen := _Socklen(unsafe.Sizeof(tv))\n\terr := getsockopt(fd, level, opt, unsafe.Pointer(&tv), &vallen)\n\treturn &tv, err\n}\n\nfunc Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, err error) {\n\tvar rsa RawSockaddrAny\n\tvar len _Socklen = SizeofSockaddrAny\n\tif n, err = recvfrom(fd, p, flags, &rsa, &len); err != nil {\n\t\treturn\n\t}\n\tif rsa.Addr.Family != AF_UNSPEC {\n\t\tfrom, err = anyToSockaddr(fd, &rsa)\n\t}\n\treturn\n}\n\nfunc Sendto(fd int, p []byte, flags int, to Sockaddr) (err error) {\n\tptr, n, err := to.sockaddr()\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn sendto(fd, p, flags, ptr, n)\n}\n\nfunc SetsockoptByte(fd, level, opt int, value byte) (err error) {\n\treturn setsockopt(fd, level, opt, unsafe.Pointer(&value), 1)\n}\n\nfunc SetsockoptInt(fd, level, opt int, value int) (err error) {\n\tvar n = int32(value)\n\treturn setsockopt(fd, level, opt, unsafe.Pointer(&n), 4)\n}\n\nfunc SetsockoptInet4Addr(fd, level, opt int, value [4]byte) (err error) {\n\treturn setsockopt(fd, level, opt, unsafe.Pointer(&value[0]), 4)\n}\n\nfunc SetsockoptIPMreq(fd, level, opt int, mreq *IPMreq) (err error) {\n\treturn setsockopt(fd, level, opt, unsafe.Pointer(mreq), SizeofIPMreq)\n}\n\nfunc SetsockoptIPv6Mreq(fd, level, opt int, mreq *IPv6Mreq) (err error) {\n\treturn setsockopt(fd, level, opt, unsafe.Pointer(mreq), SizeofIPv6Mreq)\n}\n\nfunc SetsockoptICMPv6Filter(fd, level, opt int, filter *ICMPv6Filter) error {\n\treturn setsockopt(fd, level, opt, unsafe.Pointer(filter), SizeofICMPv6Filter)\n}\n\nfunc SetsockoptLinger(fd, level, opt int, l *Linger) (err error) {\n\treturn setsockopt(fd, level, opt, unsafe.Pointer(l), SizeofLinger)\n}\n\nfunc SetsockoptString(fd, level, opt int, s string) (err error) {\n\treturn setsockopt(fd, level, opt, unsafe.Pointer(&[]byte(s)[0]), uintptr(len(s)))\n}\n\nfunc SetsockoptTimeval(fd, level, opt int, tv *Timeval) (err error) {\n\treturn setsockopt(fd, level, opt, unsafe.Pointer(tv), unsafe.Sizeof(*tv))\n}\n\nfunc Socket(domain, typ, proto int) (fd int, err error) {\n\tif domain == AF_INET6 && SocketDisableIPv6 {\n\t\treturn -1, EAFNOSUPPORT\n\t}\n\tfd, err = socket(domain, typ, proto)\n\treturn\n}\n\nfunc Socketpair(domain, typ, proto int) (fd [2]int, err error) {\n\tvar fdx [2]int32\n\terr = socketpair(domain, typ, proto, &fdx)\n\tif err == nil {\n\t\tfd[0] = int(fdx[0])\n\t\tfd[1] = int(fdx[1])\n\t}\n\treturn\n}\n\nfunc Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tif raceenabled {\n\t\traceReleaseMerge(unsafe.Pointer(&ioSync))\n\t}\n\treturn sendfile(outfd, infd, offset, count)\n}\n\nvar ioSync int64\n\nfunc CloseOnExec(fd int) { fcntl(fd, F_SETFD, FD_CLOEXEC) }\n\nfunc SetNonblock(fd int, nonblocking bool) (err error) {\n\tflag, err := fcntl(fd, F_GETFL, 0)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif nonblocking {\n\t\tflag |= O_NONBLOCK\n\t} else {\n\t\tflag &= ^O_NONBLOCK\n\t}\n\t_, err = fcntl(fd, F_SETFL, flag)\n\treturn err\n}\n\n// Exec calls execve(2), which replaces the calling executable in the process\n// tree. argv0 should be the full path to an executable (\"/bin/ls\") and the\n// executable name should also be the first argument in argv ([\"ls\", \"-l\"]).\n// envv are the environment variables that should be passed to the new\n// process ([\"USER=go\", \"PWD=/tmp\"]).\nfunc Exec(argv0 string, argv []string, envv []string) error {\n\treturn syscall.Exec(argv0, argv, envv)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/syscall_unix_gc.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build darwin dragonfly freebsd linux netbsd openbsd solaris\n// +build !gccgo\n\npackage unix\n\nimport \"syscall\"\n\nfunc Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno)\nfunc Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno)\nfunc RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno)\nfunc RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/timestruct.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build darwin dragonfly freebsd linux netbsd openbsd solaris\n\npackage unix\n\nimport \"time\"\n\n// TimespecToNsec converts a Timespec value into a number of\n// nanoseconds since the Unix epoch.\nfunc TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }\n\n// NsecToTimespec takes a number of nanoseconds since the Unix epoch\n// and returns the corresponding Timespec value.\nfunc NsecToTimespec(nsec int64) Timespec {\n\tsec := nsec / 1e9\n\tnsec = nsec % 1e9\n\tif nsec < 0 {\n\t\tnsec += 1e9\n\t\tsec--\n\t}\n\treturn setTimespec(sec, nsec)\n}\n\n// TimeToTimespec converts t into a Timespec.\n// On some 32-bit systems the range of valid Timespec values are smaller\n// than that of time.Time values.  So if t is out of the valid range of\n// Timespec, it returns a zero Timespec and ERANGE.\nfunc TimeToTimespec(t time.Time) (Timespec, error) {\n\tsec := t.Unix()\n\tnsec := int64(t.Nanosecond())\n\tts := setTimespec(sec, nsec)\n\n\t// Currently all targets have either int32 or int64 for Timespec.Sec.\n\t// If there were a new target with floating point type for it, we have\n\t// to consider the rounding error.\n\tif int64(ts.Sec) != sec {\n\t\treturn Timespec{}, ERANGE\n\t}\n\treturn ts, nil\n}\n\n// TimevalToNsec converts a Timeval value into a number of nanoseconds\n// since the Unix epoch.\nfunc TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 }\n\n// NsecToTimeval takes a number of nanoseconds since the Unix epoch\n// and returns the corresponding Timeval value.\nfunc NsecToTimeval(nsec int64) Timeval {\n\tnsec += 999 // round up to microsecond\n\tusec := nsec % 1e9 / 1e3\n\tsec := nsec / 1e9\n\tif usec < 0 {\n\t\tusec += 1e6\n\t\tsec--\n\t}\n\treturn setTimeval(sec, usec)\n}\n\n// Unix returns ts as the number of seconds and nanoseconds elapsed since the\n// Unix epoch.\nfunc (ts *Timespec) Unix() (sec int64, nsec int64) {\n\treturn int64(ts.Sec), int64(ts.Nsec)\n}\n\n// Unix returns tv as the number of seconds and nanoseconds elapsed since the\n// Unix epoch.\nfunc (tv *Timeval) Unix() (sec int64, nsec int64) {\n\treturn int64(tv.Sec), int64(tv.Usec) * 1000\n}\n\n// Nano returns ts as the number of nanoseconds elapsed since the Unix epoch.\nfunc (ts *Timespec) Nano() int64 {\n\treturn int64(ts.Sec)*1e9 + int64(ts.Nsec)\n}\n\n// Nano returns tv as the number of nanoseconds elapsed since the Unix epoch.\nfunc (tv *Timeval) Nano() int64 {\n\treturn int64(tv.Sec)*1e9 + int64(tv.Usec)*1000\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/types_darwin.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\n/*\nInput to cgo -godefs.  See README.md\n*/\n\n// +godefs map struct_in_addr [4]byte /* in_addr */\n// +godefs map struct_in6_addr [16]byte /* in6_addr */\n\npackage unix\n\n/*\n#define __DARWIN_UNIX03 0\n#define KERNEL\n#define _DARWIN_USE_64_BIT_INODE\n#include <dirent.h>\n#include <fcntl.h>\n#include <poll.h>\n#include <signal.h>\n#include <termios.h>\n#include <unistd.h>\n#include <mach/mach.h>\n#include <mach/message.h>\n#include <sys/event.h>\n#include <sys/mman.h>\n#include <sys/mount.h>\n#include <sys/param.h>\n#include <sys/ptrace.h>\n#include <sys/resource.h>\n#include <sys/select.h>\n#include <sys/signal.h>\n#include <sys/socket.h>\n#include <sys/stat.h>\n#include <sys/time.h>\n#include <sys/types.h>\n#include <sys/uio.h>\n#include <sys/un.h>\n#include <sys/utsname.h>\n#include <sys/wait.h>\n#include <net/bpf.h>\n#include <net/if.h>\n#include <net/if_dl.h>\n#include <net/if_var.h>\n#include <net/route.h>\n#include <netinet/in.h>\n#include <netinet/icmp6.h>\n#include <netinet/tcp.h>\n\nenum {\n\tsizeofPtr = sizeof(void*),\n};\n\nunion sockaddr_all {\n\tstruct sockaddr s1;\t// this one gets used for fields\n\tstruct sockaddr_in s2;\t// these pad it out\n\tstruct sockaddr_in6 s3;\n\tstruct sockaddr_un s4;\n\tstruct sockaddr_dl s5;\n};\n\nstruct sockaddr_any {\n\tstruct sockaddr addr;\n\tchar pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)];\n};\n\n*/\nimport \"C\"\n\n// Machine characteristics; for internal use.\n\nconst (\n\tsizeofPtr      = C.sizeofPtr\n\tsizeofShort    = C.sizeof_short\n\tsizeofInt      = C.sizeof_int\n\tsizeofLong     = C.sizeof_long\n\tsizeofLongLong = C.sizeof_longlong\n)\n\n// Basic types\n\ntype (\n\t_C_short     C.short\n\t_C_int       C.int\n\t_C_long      C.long\n\t_C_long_long C.longlong\n)\n\n// Time\n\ntype Timespec C.struct_timespec\n\ntype Timeval C.struct_timeval\n\ntype Timeval32 C.struct_timeval32\n\n// Processes\n\ntype Rusage C.struct_rusage\n\ntype Rlimit C.struct_rlimit\n\ntype _Gid_t C.gid_t\n\n// Files\n\ntype Stat_t C.struct_stat64\n\ntype Statfs_t C.struct_statfs64\n\ntype Flock_t C.struct_flock\n\ntype Fstore_t C.struct_fstore\n\ntype Radvisory_t C.struct_radvisory\n\ntype Fbootstraptransfer_t C.struct_fbootstraptransfer\n\ntype Log2phys_t C.struct_log2phys\n\ntype Fsid C.struct_fsid\n\ntype Dirent C.struct_dirent\n\n// Sockets\n\ntype RawSockaddrInet4 C.struct_sockaddr_in\n\ntype RawSockaddrInet6 C.struct_sockaddr_in6\n\ntype RawSockaddrUnix C.struct_sockaddr_un\n\ntype RawSockaddrDatalink C.struct_sockaddr_dl\n\ntype RawSockaddr C.struct_sockaddr\n\ntype RawSockaddrAny C.struct_sockaddr_any\n\ntype _Socklen C.socklen_t\n\ntype Linger C.struct_linger\n\ntype Iovec C.struct_iovec\n\ntype IPMreq C.struct_ip_mreq\n\ntype IPv6Mreq C.struct_ipv6_mreq\n\ntype Msghdr C.struct_msghdr\n\ntype Cmsghdr C.struct_cmsghdr\n\ntype Inet4Pktinfo C.struct_in_pktinfo\n\ntype Inet6Pktinfo C.struct_in6_pktinfo\n\ntype IPv6MTUInfo C.struct_ip6_mtuinfo\n\ntype ICMPv6Filter C.struct_icmp6_filter\n\nconst (\n\tSizeofSockaddrInet4    = C.sizeof_struct_sockaddr_in\n\tSizeofSockaddrInet6    = C.sizeof_struct_sockaddr_in6\n\tSizeofSockaddrAny      = C.sizeof_struct_sockaddr_any\n\tSizeofSockaddrUnix     = C.sizeof_struct_sockaddr_un\n\tSizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl\n\tSizeofLinger           = C.sizeof_struct_linger\n\tSizeofIPMreq           = C.sizeof_struct_ip_mreq\n\tSizeofIPv6Mreq         = C.sizeof_struct_ipv6_mreq\n\tSizeofMsghdr           = C.sizeof_struct_msghdr\n\tSizeofCmsghdr          = C.sizeof_struct_cmsghdr\n\tSizeofInet4Pktinfo     = C.sizeof_struct_in_pktinfo\n\tSizeofInet6Pktinfo     = C.sizeof_struct_in6_pktinfo\n\tSizeofIPv6MTUInfo      = C.sizeof_struct_ip6_mtuinfo\n\tSizeofICMPv6Filter     = C.sizeof_struct_icmp6_filter\n)\n\n// Ptrace requests\n\nconst (\n\tPTRACE_TRACEME = C.PT_TRACE_ME\n\tPTRACE_CONT    = C.PT_CONTINUE\n\tPTRACE_KILL    = C.PT_KILL\n)\n\n// Events (kqueue, kevent)\n\ntype Kevent_t C.struct_kevent\n\n// Select\n\ntype FdSet C.fd_set\n\n// Routing and interface messages\n\nconst (\n\tSizeofIfMsghdr    = C.sizeof_struct_if_msghdr\n\tSizeofIfData      = C.sizeof_struct_if_data\n\tSizeofIfaMsghdr   = C.sizeof_struct_ifa_msghdr\n\tSizeofIfmaMsghdr  = C.sizeof_struct_ifma_msghdr\n\tSizeofIfmaMsghdr2 = C.sizeof_struct_ifma_msghdr2\n\tSizeofRtMsghdr    = C.sizeof_struct_rt_msghdr\n\tSizeofRtMetrics   = C.sizeof_struct_rt_metrics\n)\n\ntype IfMsghdr C.struct_if_msghdr\n\ntype IfData C.struct_if_data\n\ntype IfaMsghdr C.struct_ifa_msghdr\n\ntype IfmaMsghdr C.struct_ifma_msghdr\n\ntype IfmaMsghdr2 C.struct_ifma_msghdr2\n\ntype RtMsghdr C.struct_rt_msghdr\n\ntype RtMetrics C.struct_rt_metrics\n\n// Berkeley packet filter\n\nconst (\n\tSizeofBpfVersion = C.sizeof_struct_bpf_version\n\tSizeofBpfStat    = C.sizeof_struct_bpf_stat\n\tSizeofBpfProgram = C.sizeof_struct_bpf_program\n\tSizeofBpfInsn    = C.sizeof_struct_bpf_insn\n\tSizeofBpfHdr     = C.sizeof_struct_bpf_hdr\n)\n\ntype BpfVersion C.struct_bpf_version\n\ntype BpfStat C.struct_bpf_stat\n\ntype BpfProgram C.struct_bpf_program\n\ntype BpfInsn C.struct_bpf_insn\n\ntype BpfHdr C.struct_bpf_hdr\n\n// Terminal handling\n\ntype Termios C.struct_termios\n\ntype Winsize C.struct_winsize\n\n// fchmodat-like syscalls.\n\nconst (\n\tAT_FDCWD            = C.AT_FDCWD\n\tAT_REMOVEDIR        = C.AT_REMOVEDIR\n\tAT_SYMLINK_FOLLOW   = C.AT_SYMLINK_FOLLOW\n\tAT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW\n)\n\n// poll\n\ntype PollFd C.struct_pollfd\n\nconst (\n\tPOLLERR    = C.POLLERR\n\tPOLLHUP    = C.POLLHUP\n\tPOLLIN     = C.POLLIN\n\tPOLLNVAL   = C.POLLNVAL\n\tPOLLOUT    = C.POLLOUT\n\tPOLLPRI    = C.POLLPRI\n\tPOLLRDBAND = C.POLLRDBAND\n\tPOLLRDNORM = C.POLLRDNORM\n\tPOLLWRBAND = C.POLLWRBAND\n\tPOLLWRNORM = C.POLLWRNORM\n)\n\n// uname\n\ntype Utsname C.struct_utsname\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/types_dragonfly.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\n/*\nInput to cgo -godefs.  See README.md\n*/\n\n// +godefs map struct_in_addr [4]byte /* in_addr */\n// +godefs map struct_in6_addr [16]byte /* in6_addr */\n\npackage unix\n\n/*\n#define KERNEL\n#include <dirent.h>\n#include <fcntl.h>\n#include <poll.h>\n#include <signal.h>\n#include <termios.h>\n#include <stdio.h>\n#include <unistd.h>\n#include <sys/event.h>\n#include <sys/mman.h>\n#include <sys/mount.h>\n#include <sys/param.h>\n#include <sys/ptrace.h>\n#include <sys/resource.h>\n#include <sys/select.h>\n#include <sys/signal.h>\n#include <sys/socket.h>\n#include <sys/stat.h>\n#include <sys/time.h>\n#include <sys/types.h>\n#include <sys/un.h>\n#include <sys/utsname.h>\n#include <sys/wait.h>\n#include <net/bpf.h>\n#include <net/if.h>\n#include <net/if_dl.h>\n#include <net/route.h>\n#include <netinet/in.h>\n#include <netinet/icmp6.h>\n#include <netinet/tcp.h>\n\nenum {\n\tsizeofPtr = sizeof(void*),\n};\n\nunion sockaddr_all {\n\tstruct sockaddr s1;\t// this one gets used for fields\n\tstruct sockaddr_in s2;\t// these pad it out\n\tstruct sockaddr_in6 s3;\n\tstruct sockaddr_un s4;\n\tstruct sockaddr_dl s5;\n};\n\nstruct sockaddr_any {\n\tstruct sockaddr addr;\n\tchar pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)];\n};\n\n*/\nimport \"C\"\n\n// Machine characteristics; for internal use.\n\nconst (\n\tsizeofPtr      = C.sizeofPtr\n\tsizeofShort    = C.sizeof_short\n\tsizeofInt      = C.sizeof_int\n\tsizeofLong     = C.sizeof_long\n\tsizeofLongLong = C.sizeof_longlong\n)\n\n// Basic types\n\ntype (\n\t_C_short     C.short\n\t_C_int       C.int\n\t_C_long      C.long\n\t_C_long_long C.longlong\n)\n\n// Time\n\ntype Timespec C.struct_timespec\n\ntype Timeval C.struct_timeval\n\n// Processes\n\ntype Rusage C.struct_rusage\n\ntype Rlimit C.struct_rlimit\n\ntype _Gid_t C.gid_t\n\n// Files\n\ntype Stat_t C.struct_stat\n\ntype Statfs_t C.struct_statfs\n\ntype Flock_t C.struct_flock\n\ntype Dirent C.struct_dirent\n\ntype Fsid C.struct_fsid\n\n// File system limits\n\nconst (\n\tPathMax = C.PATH_MAX\n)\n\n// Sockets\n\ntype RawSockaddrInet4 C.struct_sockaddr_in\n\ntype RawSockaddrInet6 C.struct_sockaddr_in6\n\ntype RawSockaddrUnix C.struct_sockaddr_un\n\ntype RawSockaddrDatalink C.struct_sockaddr_dl\n\ntype RawSockaddr C.struct_sockaddr\n\ntype RawSockaddrAny C.struct_sockaddr_any\n\ntype _Socklen C.socklen_t\n\ntype Linger C.struct_linger\n\ntype Iovec C.struct_iovec\n\ntype IPMreq C.struct_ip_mreq\n\ntype IPv6Mreq C.struct_ipv6_mreq\n\ntype Msghdr C.struct_msghdr\n\ntype Cmsghdr C.struct_cmsghdr\n\ntype Inet6Pktinfo C.struct_in6_pktinfo\n\ntype IPv6MTUInfo C.struct_ip6_mtuinfo\n\ntype ICMPv6Filter C.struct_icmp6_filter\n\nconst (\n\tSizeofSockaddrInet4    = C.sizeof_struct_sockaddr_in\n\tSizeofSockaddrInet6    = C.sizeof_struct_sockaddr_in6\n\tSizeofSockaddrAny      = C.sizeof_struct_sockaddr_any\n\tSizeofSockaddrUnix     = C.sizeof_struct_sockaddr_un\n\tSizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl\n\tSizeofLinger           = C.sizeof_struct_linger\n\tSizeofIPMreq           = C.sizeof_struct_ip_mreq\n\tSizeofIPv6Mreq         = C.sizeof_struct_ipv6_mreq\n\tSizeofMsghdr           = C.sizeof_struct_msghdr\n\tSizeofCmsghdr          = C.sizeof_struct_cmsghdr\n\tSizeofInet6Pktinfo     = C.sizeof_struct_in6_pktinfo\n\tSizeofIPv6MTUInfo      = C.sizeof_struct_ip6_mtuinfo\n\tSizeofICMPv6Filter     = C.sizeof_struct_icmp6_filter\n)\n\n// Ptrace requests\n\nconst (\n\tPTRACE_TRACEME = C.PT_TRACE_ME\n\tPTRACE_CONT    = C.PT_CONTINUE\n\tPTRACE_KILL    = C.PT_KILL\n)\n\n// Events (kqueue, kevent)\n\ntype Kevent_t C.struct_kevent\n\n// Select\n\ntype FdSet C.fd_set\n\n// Routing and interface messages\n\nconst (\n\tSizeofIfMsghdr         = C.sizeof_struct_if_msghdr\n\tSizeofIfData           = C.sizeof_struct_if_data\n\tSizeofIfaMsghdr        = C.sizeof_struct_ifa_msghdr\n\tSizeofIfmaMsghdr       = C.sizeof_struct_ifma_msghdr\n\tSizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr\n\tSizeofRtMsghdr         = C.sizeof_struct_rt_msghdr\n\tSizeofRtMetrics        = C.sizeof_struct_rt_metrics\n)\n\ntype IfMsghdr C.struct_if_msghdr\n\ntype IfData C.struct_if_data\n\ntype IfaMsghdr C.struct_ifa_msghdr\n\ntype IfmaMsghdr C.struct_ifma_msghdr\n\ntype IfAnnounceMsghdr C.struct_if_announcemsghdr\n\ntype RtMsghdr C.struct_rt_msghdr\n\ntype RtMetrics C.struct_rt_metrics\n\n// Berkeley packet filter\n\nconst (\n\tSizeofBpfVersion = C.sizeof_struct_bpf_version\n\tSizeofBpfStat    = C.sizeof_struct_bpf_stat\n\tSizeofBpfProgram = C.sizeof_struct_bpf_program\n\tSizeofBpfInsn    = C.sizeof_struct_bpf_insn\n\tSizeofBpfHdr     = C.sizeof_struct_bpf_hdr\n)\n\ntype BpfVersion C.struct_bpf_version\n\ntype BpfStat C.struct_bpf_stat\n\ntype BpfProgram C.struct_bpf_program\n\ntype BpfInsn C.struct_bpf_insn\n\ntype BpfHdr C.struct_bpf_hdr\n\n// Terminal handling\n\ntype Termios C.struct_termios\n\ntype Winsize C.struct_winsize\n\n// fchmodat-like syscalls.\n\nconst (\n\tAT_FDCWD            = C.AT_FDCWD\n\tAT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW\n)\n\n// poll\n\ntype PollFd C.struct_pollfd\n\nconst (\n\tPOLLERR    = C.POLLERR\n\tPOLLHUP    = C.POLLHUP\n\tPOLLIN     = C.POLLIN\n\tPOLLNVAL   = C.POLLNVAL\n\tPOLLOUT    = C.POLLOUT\n\tPOLLPRI    = C.POLLPRI\n\tPOLLRDBAND = C.POLLRDBAND\n\tPOLLRDNORM = C.POLLRDNORM\n\tPOLLWRBAND = C.POLLWRBAND\n\tPOLLWRNORM = C.POLLWRNORM\n)\n\n// Uname\n\ntype Utsname C.struct_utsname\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/types_freebsd.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\n/*\nInput to cgo -godefs.  See README.md\n*/\n\n// +godefs map struct_in_addr [4]byte /* in_addr */\n// +godefs map struct_in6_addr [16]byte /* in6_addr */\n\npackage unix\n\n/*\n#define KERNEL\n#include <dirent.h>\n#include <fcntl.h>\n#include <poll.h>\n#include <signal.h>\n#include <termios.h>\n#include <stdio.h>\n#include <unistd.h>\n#include <sys/capability.h>\n#include <sys/event.h>\n#include <sys/mman.h>\n#include <sys/mount.h>\n#include <sys/param.h>\n#include <sys/ptrace.h>\n#include <sys/resource.h>\n#include <sys/select.h>\n#include <sys/signal.h>\n#include <sys/socket.h>\n#include <sys/stat.h>\n#include <sys/time.h>\n#include <sys/types.h>\n#include <sys/un.h>\n#include <sys/utsname.h>\n#include <sys/wait.h>\n#include <net/bpf.h>\n#include <net/if.h>\n#include <net/if_dl.h>\n#include <net/route.h>\n#include <netinet/in.h>\n#include <netinet/icmp6.h>\n#include <netinet/tcp.h>\n\nenum {\n\tsizeofPtr = sizeof(void*),\n};\n\nunion sockaddr_all {\n\tstruct sockaddr s1;\t// this one gets used for fields\n\tstruct sockaddr_in s2;\t// these pad it out\n\tstruct sockaddr_in6 s3;\n\tstruct sockaddr_un s4;\n\tstruct sockaddr_dl s5;\n};\n\nstruct sockaddr_any {\n\tstruct sockaddr addr;\n\tchar pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)];\n};\n\n// This structure is a duplicate of stat on FreeBSD 8-STABLE.\n// See /usr/include/sys/stat.h.\nstruct stat8 {\n#undef st_atimespec\tst_atim\n#undef st_mtimespec\tst_mtim\n#undef st_ctimespec\tst_ctim\n#undef st_birthtimespec\tst_birthtim\n\t__dev_t   st_dev;\n\tino_t     st_ino;\n\tmode_t    st_mode;\n\tnlink_t   st_nlink;\n\tuid_t     st_uid;\n\tgid_t     st_gid;\n\t__dev_t   st_rdev;\n#if __BSD_VISIBLE\n\tstruct  timespec st_atimespec;\n\tstruct  timespec st_mtimespec;\n\tstruct  timespec st_ctimespec;\n#else\n\ttime_t    st_atime;\n\tlong      __st_atimensec;\n\ttime_t    st_mtime;\n\tlong      __st_mtimensec;\n\ttime_t    st_ctime;\n\tlong      __st_ctimensec;\n#endif\n\toff_t     st_size;\n\tblkcnt_t st_blocks;\n\tblksize_t st_blksize;\n\tfflags_t  st_flags;\n\t__uint32_t st_gen;\n\t__int32_t st_lspare;\n#if __BSD_VISIBLE\n\tstruct timespec st_birthtimespec;\n\tunsigned int :(8 / 2) * (16 - (int)sizeof(struct timespec));\n\tunsigned int :(8 / 2) * (16 - (int)sizeof(struct timespec));\n#else\n\ttime_t    st_birthtime;\n\tlong      st_birthtimensec;\n\tunsigned int :(8 / 2) * (16 - (int)sizeof(struct __timespec));\n\tunsigned int :(8 / 2) * (16 - (int)sizeof(struct __timespec));\n#endif\n};\n\n// This structure is a duplicate of if_data on FreeBSD 8-STABLE.\n// See /usr/include/net/if.h.\nstruct if_data8 {\n\tu_char  ifi_type;\n\tu_char  ifi_physical;\n\tu_char  ifi_addrlen;\n\tu_char  ifi_hdrlen;\n\tu_char  ifi_link_state;\n\tu_char  ifi_spare_char1;\n\tu_char  ifi_spare_char2;\n\tu_char  ifi_datalen;\n\tu_long  ifi_mtu;\n\tu_long  ifi_metric;\n\tu_long  ifi_baudrate;\n\tu_long  ifi_ipackets;\n\tu_long  ifi_ierrors;\n\tu_long  ifi_opackets;\n\tu_long  ifi_oerrors;\n\tu_long  ifi_collisions;\n\tu_long  ifi_ibytes;\n\tu_long  ifi_obytes;\n\tu_long  ifi_imcasts;\n\tu_long  ifi_omcasts;\n\tu_long  ifi_iqdrops;\n\tu_long  ifi_noproto;\n\tu_long  ifi_hwassist;\n// FIXME: these are now unions, so maybe need to change definitions?\n#undef ifi_epoch\n\ttime_t  ifi_epoch;\n#undef ifi_lastchange\n\tstruct  timeval ifi_lastchange;\n};\n\n// This structure is a duplicate of if_msghdr on FreeBSD 8-STABLE.\n// See /usr/include/net/if.h.\nstruct if_msghdr8 {\n\tu_short ifm_msglen;\n\tu_char  ifm_version;\n\tu_char  ifm_type;\n\tint     ifm_addrs;\n\tint     ifm_flags;\n\tu_short ifm_index;\n\tstruct  if_data8 ifm_data;\n};\n*/\nimport \"C\"\n\n// Machine characteristics; for internal use.\n\nconst (\n\tsizeofPtr      = C.sizeofPtr\n\tsizeofShort    = C.sizeof_short\n\tsizeofInt      = C.sizeof_int\n\tsizeofLong     = C.sizeof_long\n\tsizeofLongLong = C.sizeof_longlong\n)\n\n// Basic types\n\ntype (\n\t_C_short     C.short\n\t_C_int       C.int\n\t_C_long      C.long\n\t_C_long_long C.longlong\n)\n\n// Time\n\ntype Timespec C.struct_timespec\n\ntype Timeval C.struct_timeval\n\n// Processes\n\ntype Rusage C.struct_rusage\n\ntype Rlimit C.struct_rlimit\n\ntype _Gid_t C.gid_t\n\n// Files\n\ntype Stat_t C.struct_stat8\n\ntype Statfs_t C.struct_statfs\n\ntype Flock_t C.struct_flock\n\ntype Dirent C.struct_dirent\n\ntype Fsid C.struct_fsid\n\n// File system limits\n\nconst (\n\tPathMax = C.PATH_MAX\n)\n\n// Advice to Fadvise\n\nconst (\n\tFADV_NORMAL     = C.POSIX_FADV_NORMAL\n\tFADV_RANDOM     = C.POSIX_FADV_RANDOM\n\tFADV_SEQUENTIAL = C.POSIX_FADV_SEQUENTIAL\n\tFADV_WILLNEED   = C.POSIX_FADV_WILLNEED\n\tFADV_DONTNEED   = C.POSIX_FADV_DONTNEED\n\tFADV_NOREUSE    = C.POSIX_FADV_NOREUSE\n)\n\n// Sockets\n\ntype RawSockaddrInet4 C.struct_sockaddr_in\n\ntype RawSockaddrInet6 C.struct_sockaddr_in6\n\ntype RawSockaddrUnix C.struct_sockaddr_un\n\ntype RawSockaddrDatalink C.struct_sockaddr_dl\n\ntype RawSockaddr C.struct_sockaddr\n\ntype RawSockaddrAny C.struct_sockaddr_any\n\ntype _Socklen C.socklen_t\n\ntype Linger C.struct_linger\n\ntype Iovec C.struct_iovec\n\ntype IPMreq C.struct_ip_mreq\n\ntype IPMreqn C.struct_ip_mreqn\n\ntype IPv6Mreq C.struct_ipv6_mreq\n\ntype Msghdr C.struct_msghdr\n\ntype Cmsghdr C.struct_cmsghdr\n\ntype Inet6Pktinfo C.struct_in6_pktinfo\n\ntype IPv6MTUInfo C.struct_ip6_mtuinfo\n\ntype ICMPv6Filter C.struct_icmp6_filter\n\nconst (\n\tSizeofSockaddrInet4    = C.sizeof_struct_sockaddr_in\n\tSizeofSockaddrInet6    = C.sizeof_struct_sockaddr_in6\n\tSizeofSockaddrAny      = C.sizeof_struct_sockaddr_any\n\tSizeofSockaddrUnix     = C.sizeof_struct_sockaddr_un\n\tSizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl\n\tSizeofLinger           = C.sizeof_struct_linger\n\tSizeofIPMreq           = C.sizeof_struct_ip_mreq\n\tSizeofIPMreqn          = C.sizeof_struct_ip_mreqn\n\tSizeofIPv6Mreq         = C.sizeof_struct_ipv6_mreq\n\tSizeofMsghdr           = C.sizeof_struct_msghdr\n\tSizeofCmsghdr          = C.sizeof_struct_cmsghdr\n\tSizeofInet6Pktinfo     = C.sizeof_struct_in6_pktinfo\n\tSizeofIPv6MTUInfo      = C.sizeof_struct_ip6_mtuinfo\n\tSizeofICMPv6Filter     = C.sizeof_struct_icmp6_filter\n)\n\n// Ptrace requests\n\nconst (\n\tPTRACE_TRACEME = C.PT_TRACE_ME\n\tPTRACE_CONT    = C.PT_CONTINUE\n\tPTRACE_KILL    = C.PT_KILL\n)\n\n// Events (kqueue, kevent)\n\ntype Kevent_t C.struct_kevent\n\n// Select\n\ntype FdSet C.fd_set\n\n// Routing and interface messages\n\nconst (\n\tsizeofIfMsghdr         = C.sizeof_struct_if_msghdr\n\tSizeofIfMsghdr         = C.sizeof_struct_if_msghdr8\n\tsizeofIfData           = C.sizeof_struct_if_data\n\tSizeofIfData           = C.sizeof_struct_if_data8\n\tSizeofIfaMsghdr        = C.sizeof_struct_ifa_msghdr\n\tSizeofIfmaMsghdr       = C.sizeof_struct_ifma_msghdr\n\tSizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr\n\tSizeofRtMsghdr         = C.sizeof_struct_rt_msghdr\n\tSizeofRtMetrics        = C.sizeof_struct_rt_metrics\n)\n\ntype ifMsghdr C.struct_if_msghdr\n\ntype IfMsghdr C.struct_if_msghdr8\n\ntype ifData C.struct_if_data\n\ntype IfData C.struct_if_data8\n\ntype IfaMsghdr C.struct_ifa_msghdr\n\ntype IfmaMsghdr C.struct_ifma_msghdr\n\ntype IfAnnounceMsghdr C.struct_if_announcemsghdr\n\ntype RtMsghdr C.struct_rt_msghdr\n\ntype RtMetrics C.struct_rt_metrics\n\n// Berkeley packet filter\n\nconst (\n\tSizeofBpfVersion    = C.sizeof_struct_bpf_version\n\tSizeofBpfStat       = C.sizeof_struct_bpf_stat\n\tSizeofBpfZbuf       = C.sizeof_struct_bpf_zbuf\n\tSizeofBpfProgram    = C.sizeof_struct_bpf_program\n\tSizeofBpfInsn       = C.sizeof_struct_bpf_insn\n\tSizeofBpfHdr        = C.sizeof_struct_bpf_hdr\n\tSizeofBpfZbufHeader = C.sizeof_struct_bpf_zbuf_header\n)\n\ntype BpfVersion C.struct_bpf_version\n\ntype BpfStat C.struct_bpf_stat\n\ntype BpfZbuf C.struct_bpf_zbuf\n\ntype BpfProgram C.struct_bpf_program\n\ntype BpfInsn C.struct_bpf_insn\n\ntype BpfHdr C.struct_bpf_hdr\n\ntype BpfZbufHeader C.struct_bpf_zbuf_header\n\n// Terminal handling\n\ntype Termios C.struct_termios\n\ntype Winsize C.struct_winsize\n\n// fchmodat-like syscalls.\n\nconst (\n\tAT_FDCWD            = C.AT_FDCWD\n\tAT_REMOVEDIR        = C.AT_REMOVEDIR\n\tAT_SYMLINK_FOLLOW   = C.AT_SYMLINK_FOLLOW\n\tAT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW\n)\n\n// poll\n\ntype PollFd C.struct_pollfd\n\nconst (\n\tPOLLERR      = C.POLLERR\n\tPOLLHUP      = C.POLLHUP\n\tPOLLIN       = C.POLLIN\n\tPOLLINIGNEOF = C.POLLINIGNEOF\n\tPOLLNVAL     = C.POLLNVAL\n\tPOLLOUT      = C.POLLOUT\n\tPOLLPRI      = C.POLLPRI\n\tPOLLRDBAND   = C.POLLRDBAND\n\tPOLLRDNORM   = C.POLLRDNORM\n\tPOLLWRBAND   = C.POLLWRBAND\n\tPOLLWRNORM   = C.POLLWRNORM\n)\n\n// Capabilities\n\ntype CapRights C.struct_cap_rights\n\n// Uname\n\ntype Utsname C.struct_utsname\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/types_netbsd.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\n/*\nInput to cgo -godefs.  See README.md\n*/\n\n// +godefs map struct_in_addr [4]byte /* in_addr */\n// +godefs map struct_in6_addr [16]byte /* in6_addr */\n\npackage unix\n\n/*\n#define KERNEL\n#include <dirent.h>\n#include <fcntl.h>\n#include <poll.h>\n#include <signal.h>\n#include <termios.h>\n#include <stdio.h>\n#include <unistd.h>\n#include <sys/param.h>\n#include <sys/types.h>\n#include <sys/event.h>\n#include <sys/mman.h>\n#include <sys/mount.h>\n#include <sys/ptrace.h>\n#include <sys/resource.h>\n#include <sys/select.h>\n#include <sys/signal.h>\n#include <sys/socket.h>\n#include <sys/stat.h>\n#include <sys/sysctl.h>\n#include <sys/time.h>\n#include <sys/uio.h>\n#include <sys/un.h>\n#include <sys/utsname.h>\n#include <sys/wait.h>\n#include <net/bpf.h>\n#include <net/if.h>\n#include <net/if_dl.h>\n#include <net/route.h>\n#include <netinet/in.h>\n#include <netinet/icmp6.h>\n#include <netinet/tcp.h>\n\nenum {\n\tsizeofPtr = sizeof(void*),\n};\n\nunion sockaddr_all {\n\tstruct sockaddr s1;\t// this one gets used for fields\n\tstruct sockaddr_in s2;\t// these pad it out\n\tstruct sockaddr_in6 s3;\n\tstruct sockaddr_un s4;\n\tstruct sockaddr_dl s5;\n};\n\nstruct sockaddr_any {\n\tstruct sockaddr addr;\n\tchar pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)];\n};\n\n*/\nimport \"C\"\n\n// Machine characteristics; for internal use.\n\nconst (\n\tsizeofPtr      = C.sizeofPtr\n\tsizeofShort    = C.sizeof_short\n\tsizeofInt      = C.sizeof_int\n\tsizeofLong     = C.sizeof_long\n\tsizeofLongLong = C.sizeof_longlong\n)\n\n// Basic types\n\ntype (\n\t_C_short     C.short\n\t_C_int       C.int\n\t_C_long      C.long\n\t_C_long_long C.longlong\n)\n\n// Time\n\ntype Timespec C.struct_timespec\n\ntype Timeval C.struct_timeval\n\n// Processes\n\ntype Rusage C.struct_rusage\n\ntype Rlimit C.struct_rlimit\n\ntype _Gid_t C.gid_t\n\n// Files\n\ntype Stat_t C.struct_stat\n\ntype Statfs_t C.struct_statfs\n\ntype Flock_t C.struct_flock\n\ntype Dirent C.struct_dirent\n\ntype Fsid C.fsid_t\n\n// File system limits\n\nconst (\n\tPathMax = C.PATH_MAX\n)\n\n// Advice to Fadvise\n\nconst (\n\tFADV_NORMAL     = C.POSIX_FADV_NORMAL\n\tFADV_RANDOM     = C.POSIX_FADV_RANDOM\n\tFADV_SEQUENTIAL = C.POSIX_FADV_SEQUENTIAL\n\tFADV_WILLNEED   = C.POSIX_FADV_WILLNEED\n\tFADV_DONTNEED   = C.POSIX_FADV_DONTNEED\n\tFADV_NOREUSE    = C.POSIX_FADV_NOREUSE\n)\n\n// Sockets\n\ntype RawSockaddrInet4 C.struct_sockaddr_in\n\ntype RawSockaddrInet6 C.struct_sockaddr_in6\n\ntype RawSockaddrUnix C.struct_sockaddr_un\n\ntype RawSockaddrDatalink C.struct_sockaddr_dl\n\ntype RawSockaddr C.struct_sockaddr\n\ntype RawSockaddrAny C.struct_sockaddr_any\n\ntype _Socklen C.socklen_t\n\ntype Linger C.struct_linger\n\ntype Iovec C.struct_iovec\n\ntype IPMreq C.struct_ip_mreq\n\ntype IPv6Mreq C.struct_ipv6_mreq\n\ntype Msghdr C.struct_msghdr\n\ntype Cmsghdr C.struct_cmsghdr\n\ntype Inet6Pktinfo C.struct_in6_pktinfo\n\ntype IPv6MTUInfo C.struct_ip6_mtuinfo\n\ntype ICMPv6Filter C.struct_icmp6_filter\n\nconst (\n\tSizeofSockaddrInet4    = C.sizeof_struct_sockaddr_in\n\tSizeofSockaddrInet6    = C.sizeof_struct_sockaddr_in6\n\tSizeofSockaddrAny      = C.sizeof_struct_sockaddr_any\n\tSizeofSockaddrUnix     = C.sizeof_struct_sockaddr_un\n\tSizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl\n\tSizeofLinger           = C.sizeof_struct_linger\n\tSizeofIPMreq           = C.sizeof_struct_ip_mreq\n\tSizeofIPv6Mreq         = C.sizeof_struct_ipv6_mreq\n\tSizeofMsghdr           = C.sizeof_struct_msghdr\n\tSizeofCmsghdr          = C.sizeof_struct_cmsghdr\n\tSizeofInet6Pktinfo     = C.sizeof_struct_in6_pktinfo\n\tSizeofIPv6MTUInfo      = C.sizeof_struct_ip6_mtuinfo\n\tSizeofICMPv6Filter     = C.sizeof_struct_icmp6_filter\n)\n\n// Ptrace requests\n\nconst (\n\tPTRACE_TRACEME = C.PT_TRACE_ME\n\tPTRACE_CONT    = C.PT_CONTINUE\n\tPTRACE_KILL    = C.PT_KILL\n)\n\n// Events (kqueue, kevent)\n\ntype Kevent_t C.struct_kevent\n\n// Select\n\ntype FdSet C.fd_set\n\n// Routing and interface messages\n\nconst (\n\tSizeofIfMsghdr         = C.sizeof_struct_if_msghdr\n\tSizeofIfData           = C.sizeof_struct_if_data\n\tSizeofIfaMsghdr        = C.sizeof_struct_ifa_msghdr\n\tSizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr\n\tSizeofRtMsghdr         = C.sizeof_struct_rt_msghdr\n\tSizeofRtMetrics        = C.sizeof_struct_rt_metrics\n)\n\ntype IfMsghdr C.struct_if_msghdr\n\ntype IfData C.struct_if_data\n\ntype IfaMsghdr C.struct_ifa_msghdr\n\ntype IfAnnounceMsghdr C.struct_if_announcemsghdr\n\ntype RtMsghdr C.struct_rt_msghdr\n\ntype RtMetrics C.struct_rt_metrics\n\ntype Mclpool C.struct_mclpool\n\n// Berkeley packet filter\n\nconst (\n\tSizeofBpfVersion = C.sizeof_struct_bpf_version\n\tSizeofBpfStat    = C.sizeof_struct_bpf_stat\n\tSizeofBpfProgram = C.sizeof_struct_bpf_program\n\tSizeofBpfInsn    = C.sizeof_struct_bpf_insn\n\tSizeofBpfHdr     = C.sizeof_struct_bpf_hdr\n)\n\ntype BpfVersion C.struct_bpf_version\n\ntype BpfStat C.struct_bpf_stat\n\ntype BpfProgram C.struct_bpf_program\n\ntype BpfInsn C.struct_bpf_insn\n\ntype BpfHdr C.struct_bpf_hdr\n\ntype BpfTimeval C.struct_bpf_timeval\n\n// Terminal handling\n\ntype Termios C.struct_termios\n\ntype Winsize C.struct_winsize\n\n// fchmodat-like syscalls.\n\nconst (\n\tAT_FDCWD            = C.AT_FDCWD\n\tAT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW\n)\n\n// poll\n\ntype PollFd C.struct_pollfd\n\nconst (\n\tPOLLERR    = C.POLLERR\n\tPOLLHUP    = C.POLLHUP\n\tPOLLIN     = C.POLLIN\n\tPOLLNVAL   = C.POLLNVAL\n\tPOLLOUT    = C.POLLOUT\n\tPOLLPRI    = C.POLLPRI\n\tPOLLRDBAND = C.POLLRDBAND\n\tPOLLRDNORM = C.POLLRDNORM\n\tPOLLWRBAND = C.POLLWRBAND\n\tPOLLWRNORM = C.POLLWRNORM\n)\n\n// Sysctl\n\ntype Sysctlnode C.struct_sysctlnode\n\n// Uname\n\ntype Utsname C.struct_utsname\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/types_openbsd.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\n/*\nInput to cgo -godefs.  See README.md\n*/\n\n// +godefs map struct_in_addr [4]byte /* in_addr */\n// +godefs map struct_in6_addr [16]byte /* in6_addr */\n\npackage unix\n\n/*\n#define KERNEL\n#include <dirent.h>\n#include <fcntl.h>\n#include <poll.h>\n#include <signal.h>\n#include <termios.h>\n#include <stdio.h>\n#include <unistd.h>\n#include <sys/param.h>\n#include <sys/types.h>\n#include <sys/event.h>\n#include <sys/mman.h>\n#include <sys/mount.h>\n#include <sys/ptrace.h>\n#include <sys/resource.h>\n#include <sys/select.h>\n#include <sys/signal.h>\n#include <sys/socket.h>\n#include <sys/stat.h>\n#include <sys/time.h>\n#include <sys/uio.h>\n#include <sys/un.h>\n#include <sys/utsname.h>\n#include <sys/wait.h>\n#include <net/bpf.h>\n#include <net/if.h>\n#include <net/if_dl.h>\n#include <net/route.h>\n#include <netinet/in.h>\n#include <netinet/icmp6.h>\n#include <netinet/tcp.h>\n\nenum {\n\tsizeofPtr = sizeof(void*),\n};\n\nunion sockaddr_all {\n\tstruct sockaddr s1;\t// this one gets used for fields\n\tstruct sockaddr_in s2;\t// these pad it out\n\tstruct sockaddr_in6 s3;\n\tstruct sockaddr_un s4;\n\tstruct sockaddr_dl s5;\n};\n\nstruct sockaddr_any {\n\tstruct sockaddr addr;\n\tchar pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)];\n};\n\n*/\nimport \"C\"\n\n// Machine characteristics; for internal use.\n\nconst (\n\tsizeofPtr      = C.sizeofPtr\n\tsizeofShort    = C.sizeof_short\n\tsizeofInt      = C.sizeof_int\n\tsizeofLong     = C.sizeof_long\n\tsizeofLongLong = C.sizeof_longlong\n)\n\n// Basic types\n\ntype (\n\t_C_short     C.short\n\t_C_int       C.int\n\t_C_long      C.long\n\t_C_long_long C.longlong\n)\n\n// Time\n\ntype Timespec C.struct_timespec\n\ntype Timeval C.struct_timeval\n\n// Processes\n\ntype Rusage C.struct_rusage\n\ntype Rlimit C.struct_rlimit\n\ntype _Gid_t C.gid_t\n\n// Files\n\ntype Stat_t C.struct_stat\n\ntype Statfs_t C.struct_statfs\n\ntype Flock_t C.struct_flock\n\ntype Dirent C.struct_dirent\n\ntype Fsid C.fsid_t\n\n// File system limits\n\nconst (\n\tPathMax = C.PATH_MAX\n)\n\n// Sockets\n\ntype RawSockaddrInet4 C.struct_sockaddr_in\n\ntype RawSockaddrInet6 C.struct_sockaddr_in6\n\ntype RawSockaddrUnix C.struct_sockaddr_un\n\ntype RawSockaddrDatalink C.struct_sockaddr_dl\n\ntype RawSockaddr C.struct_sockaddr\n\ntype RawSockaddrAny C.struct_sockaddr_any\n\ntype _Socklen C.socklen_t\n\ntype Linger C.struct_linger\n\ntype Iovec C.struct_iovec\n\ntype IPMreq C.struct_ip_mreq\n\ntype IPv6Mreq C.struct_ipv6_mreq\n\ntype Msghdr C.struct_msghdr\n\ntype Cmsghdr C.struct_cmsghdr\n\ntype Inet6Pktinfo C.struct_in6_pktinfo\n\ntype IPv6MTUInfo C.struct_ip6_mtuinfo\n\ntype ICMPv6Filter C.struct_icmp6_filter\n\nconst (\n\tSizeofSockaddrInet4    = C.sizeof_struct_sockaddr_in\n\tSizeofSockaddrInet6    = C.sizeof_struct_sockaddr_in6\n\tSizeofSockaddrAny      = C.sizeof_struct_sockaddr_any\n\tSizeofSockaddrUnix     = C.sizeof_struct_sockaddr_un\n\tSizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl\n\tSizeofLinger           = C.sizeof_struct_linger\n\tSizeofIPMreq           = C.sizeof_struct_ip_mreq\n\tSizeofIPv6Mreq         = C.sizeof_struct_ipv6_mreq\n\tSizeofMsghdr           = C.sizeof_struct_msghdr\n\tSizeofCmsghdr          = C.sizeof_struct_cmsghdr\n\tSizeofInet6Pktinfo     = C.sizeof_struct_in6_pktinfo\n\tSizeofIPv6MTUInfo      = C.sizeof_struct_ip6_mtuinfo\n\tSizeofICMPv6Filter     = C.sizeof_struct_icmp6_filter\n)\n\n// Ptrace requests\n\nconst (\n\tPTRACE_TRACEME = C.PT_TRACE_ME\n\tPTRACE_CONT    = C.PT_CONTINUE\n\tPTRACE_KILL    = C.PT_KILL\n)\n\n// Events (kqueue, kevent)\n\ntype Kevent_t C.struct_kevent\n\n// Select\n\ntype FdSet C.fd_set\n\n// Routing and interface messages\n\nconst (\n\tSizeofIfMsghdr         = C.sizeof_struct_if_msghdr\n\tSizeofIfData           = C.sizeof_struct_if_data\n\tSizeofIfaMsghdr        = C.sizeof_struct_ifa_msghdr\n\tSizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr\n\tSizeofRtMsghdr         = C.sizeof_struct_rt_msghdr\n\tSizeofRtMetrics        = C.sizeof_struct_rt_metrics\n)\n\ntype IfMsghdr C.struct_if_msghdr\n\ntype IfData C.struct_if_data\n\ntype IfaMsghdr C.struct_ifa_msghdr\n\ntype IfAnnounceMsghdr C.struct_if_announcemsghdr\n\ntype RtMsghdr C.struct_rt_msghdr\n\ntype RtMetrics C.struct_rt_metrics\n\ntype Mclpool C.struct_mclpool\n\n// Berkeley packet filter\n\nconst (\n\tSizeofBpfVersion = C.sizeof_struct_bpf_version\n\tSizeofBpfStat    = C.sizeof_struct_bpf_stat\n\tSizeofBpfProgram = C.sizeof_struct_bpf_program\n\tSizeofBpfInsn    = C.sizeof_struct_bpf_insn\n\tSizeofBpfHdr     = C.sizeof_struct_bpf_hdr\n)\n\ntype BpfVersion C.struct_bpf_version\n\ntype BpfStat C.struct_bpf_stat\n\ntype BpfProgram C.struct_bpf_program\n\ntype BpfInsn C.struct_bpf_insn\n\ntype BpfHdr C.struct_bpf_hdr\n\ntype BpfTimeval C.struct_bpf_timeval\n\n// Terminal handling\n\ntype Termios C.struct_termios\n\ntype Winsize C.struct_winsize\n\n// fchmodat-like syscalls.\n\nconst (\n\tAT_FDCWD            = C.AT_FDCWD\n\tAT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW\n)\n\n// poll\n\ntype PollFd C.struct_pollfd\n\nconst (\n\tPOLLERR    = C.POLLERR\n\tPOLLHUP    = C.POLLHUP\n\tPOLLIN     = C.POLLIN\n\tPOLLNVAL   = C.POLLNVAL\n\tPOLLOUT    = C.POLLOUT\n\tPOLLPRI    = C.POLLPRI\n\tPOLLRDBAND = C.POLLRDBAND\n\tPOLLRDNORM = C.POLLRDNORM\n\tPOLLWRBAND = C.POLLWRBAND\n\tPOLLWRNORM = C.POLLWRNORM\n)\n\n// Uname\n\ntype Utsname C.struct_utsname\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/types_solaris.go",
    "content": "// Copyright 2009 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\n/*\nInput to cgo -godefs.  See README.md\n*/\n\n// +godefs map struct_in_addr [4]byte /* in_addr */\n// +godefs map struct_in6_addr [16]byte /* in6_addr */\n\npackage unix\n\n/*\n#define KERNEL\n// These defines ensure that builds done on newer versions of Solaris are\n// backwards-compatible with older versions of Solaris and\n// OpenSolaris-based derivatives.\n#define __USE_SUNOS_SOCKETS__          // msghdr\n#define __USE_LEGACY_PROTOTYPES__      // iovec\n#include <dirent.h>\n#include <fcntl.h>\n#include <netdb.h>\n#include <limits.h>\n#include <poll.h>\n#include <signal.h>\n#include <termios.h>\n#include <termio.h>\n#include <stdio.h>\n#include <unistd.h>\n#include <sys/mman.h>\n#include <sys/mount.h>\n#include <sys/param.h>\n#include <sys/resource.h>\n#include <sys/select.h>\n#include <sys/signal.h>\n#include <sys/socket.h>\n#include <sys/stat.h>\n#include <sys/statvfs.h>\n#include <sys/time.h>\n#include <sys/times.h>\n#include <sys/types.h>\n#include <sys/utsname.h>\n#include <sys/un.h>\n#include <sys/wait.h>\n#include <net/bpf.h>\n#include <net/if.h>\n#include <net/if_dl.h>\n#include <net/route.h>\n#include <netinet/in.h>\n#include <netinet/icmp6.h>\n#include <netinet/tcp.h>\n#include <ustat.h>\n#include <utime.h>\n\nenum {\n\tsizeofPtr = sizeof(void*),\n};\n\nunion sockaddr_all {\n\tstruct sockaddr s1;\t// this one gets used for fields\n\tstruct sockaddr_in s2;\t// these pad it out\n\tstruct sockaddr_in6 s3;\n\tstruct sockaddr_un s4;\n\tstruct sockaddr_dl s5;\n};\n\nstruct sockaddr_any {\n\tstruct sockaddr addr;\n\tchar pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)];\n};\n\n*/\nimport \"C\"\n\n// Machine characteristics; for internal use.\n\nconst (\n\tsizeofPtr      = C.sizeofPtr\n\tsizeofShort    = C.sizeof_short\n\tsizeofInt      = C.sizeof_int\n\tsizeofLong     = C.sizeof_long\n\tsizeofLongLong = C.sizeof_longlong\n\tPathMax        = C.PATH_MAX\n\tMaxHostNameLen = C.MAXHOSTNAMELEN\n)\n\n// Basic types\n\ntype (\n\t_C_short     C.short\n\t_C_int       C.int\n\t_C_long      C.long\n\t_C_long_long C.longlong\n)\n\n// Time\n\ntype Timespec C.struct_timespec\n\ntype Timeval C.struct_timeval\n\ntype Timeval32 C.struct_timeval32\n\ntype Tms C.struct_tms\n\ntype Utimbuf C.struct_utimbuf\n\n// Processes\n\ntype Rusage C.struct_rusage\n\ntype Rlimit C.struct_rlimit\n\ntype _Gid_t C.gid_t\n\n// Files\n\nconst ( // Directory mode bits\n\tS_IFMT   = C.S_IFMT\n\tS_IFIFO  = C.S_IFIFO\n\tS_IFCHR  = C.S_IFCHR\n\tS_IFDIR  = C.S_IFDIR\n\tS_IFBLK  = C.S_IFBLK\n\tS_IFREG  = C.S_IFREG\n\tS_IFLNK  = C.S_IFLNK\n\tS_IFSOCK = C.S_IFSOCK\n\tS_ISUID  = C.S_ISUID\n\tS_ISGID  = C.S_ISGID\n\tS_ISVTX  = C.S_ISVTX\n\tS_IRUSR  = C.S_IRUSR\n\tS_IWUSR  = C.S_IWUSR\n\tS_IXUSR  = C.S_IXUSR\n)\n\ntype Stat_t C.struct_stat\n\ntype Flock_t C.struct_flock\n\ntype Dirent C.struct_dirent\n\n// Filesystems\n\ntype _Fsblkcnt_t C.fsblkcnt_t\n\ntype Statvfs_t C.struct_statvfs\n\n// Sockets\n\ntype RawSockaddrInet4 C.struct_sockaddr_in\n\ntype RawSockaddrInet6 C.struct_sockaddr_in6\n\ntype RawSockaddrUnix C.struct_sockaddr_un\n\ntype RawSockaddrDatalink C.struct_sockaddr_dl\n\ntype RawSockaddr C.struct_sockaddr\n\ntype RawSockaddrAny C.struct_sockaddr_any\n\ntype _Socklen C.socklen_t\n\ntype Linger C.struct_linger\n\ntype Iovec C.struct_iovec\n\ntype IPMreq C.struct_ip_mreq\n\ntype IPv6Mreq C.struct_ipv6_mreq\n\ntype Msghdr C.struct_msghdr\n\ntype Cmsghdr C.struct_cmsghdr\n\ntype Inet6Pktinfo C.struct_in6_pktinfo\n\ntype IPv6MTUInfo C.struct_ip6_mtuinfo\n\ntype ICMPv6Filter C.struct_icmp6_filter\n\nconst (\n\tSizeofSockaddrInet4    = C.sizeof_struct_sockaddr_in\n\tSizeofSockaddrInet6    = C.sizeof_struct_sockaddr_in6\n\tSizeofSockaddrAny      = C.sizeof_struct_sockaddr_any\n\tSizeofSockaddrUnix     = C.sizeof_struct_sockaddr_un\n\tSizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl\n\tSizeofLinger           = C.sizeof_struct_linger\n\tSizeofIPMreq           = C.sizeof_struct_ip_mreq\n\tSizeofIPv6Mreq         = C.sizeof_struct_ipv6_mreq\n\tSizeofMsghdr           = C.sizeof_struct_msghdr\n\tSizeofCmsghdr          = C.sizeof_struct_cmsghdr\n\tSizeofInet6Pktinfo     = C.sizeof_struct_in6_pktinfo\n\tSizeofIPv6MTUInfo      = C.sizeof_struct_ip6_mtuinfo\n\tSizeofICMPv6Filter     = C.sizeof_struct_icmp6_filter\n)\n\n// Select\n\ntype FdSet C.fd_set\n\n// Misc\n\ntype Utsname C.struct_utsname\n\ntype Ustat_t C.struct_ustat\n\nconst (\n\tAT_FDCWD            = C.AT_FDCWD\n\tAT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW\n\tAT_SYMLINK_FOLLOW   = C.AT_SYMLINK_FOLLOW\n\tAT_REMOVEDIR        = C.AT_REMOVEDIR\n\tAT_EACCESS          = C.AT_EACCESS\n)\n\n// Routing and interface messages\n\nconst (\n\tSizeofIfMsghdr  = C.sizeof_struct_if_msghdr\n\tSizeofIfData    = C.sizeof_struct_if_data\n\tSizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr\n\tSizeofRtMsghdr  = C.sizeof_struct_rt_msghdr\n\tSizeofRtMetrics = C.sizeof_struct_rt_metrics\n)\n\ntype IfMsghdr C.struct_if_msghdr\n\ntype IfData C.struct_if_data\n\ntype IfaMsghdr C.struct_ifa_msghdr\n\ntype RtMsghdr C.struct_rt_msghdr\n\ntype RtMetrics C.struct_rt_metrics\n\n// Berkeley packet filter\n\nconst (\n\tSizeofBpfVersion = C.sizeof_struct_bpf_version\n\tSizeofBpfStat    = C.sizeof_struct_bpf_stat\n\tSizeofBpfProgram = C.sizeof_struct_bpf_program\n\tSizeofBpfInsn    = C.sizeof_struct_bpf_insn\n\tSizeofBpfHdr     = C.sizeof_struct_bpf_hdr\n)\n\ntype BpfVersion C.struct_bpf_version\n\ntype BpfStat C.struct_bpf_stat\n\ntype BpfProgram C.struct_bpf_program\n\ntype BpfInsn C.struct_bpf_insn\n\ntype BpfTimeval C.struct_bpf_timeval\n\ntype BpfHdr C.struct_bpf_hdr\n\n// Terminal handling\n\ntype Termios C.struct_termios\n\ntype Termio C.struct_termio\n\ntype Winsize C.struct_winsize\n\n// poll\n\ntype PollFd C.struct_pollfd\n\nconst (\n\tPOLLERR    = C.POLLERR\n\tPOLLHUP    = C.POLLHUP\n\tPOLLIN     = C.POLLIN\n\tPOLLNVAL   = C.POLLNVAL\n\tPOLLOUT    = C.POLLOUT\n\tPOLLPRI    = C.POLLPRI\n\tPOLLRDBAND = C.POLLRDBAND\n\tPOLLRDNORM = C.POLLRDNORM\n\tPOLLWRBAND = C.POLLWRBAND\n\tPOLLWRNORM = C.POLLWRNORM\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/xattr_bsd.go",
    "content": "// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build freebsd netbsd\n\npackage unix\n\nimport (\n\t\"strings\"\n\t\"unsafe\"\n)\n\n// Derive extattr namespace and attribute name\n\nfunc xattrnamespace(fullattr string) (ns int, attr string, err error) {\n\ts := strings.IndexByte(fullattr, '.')\n\tif s == -1 {\n\t\treturn -1, \"\", ENOATTR\n\t}\n\n\tnamespace := fullattr[0:s]\n\tattr = fullattr[s+1:]\n\n\tswitch namespace {\n\tcase \"user\":\n\t\treturn EXTATTR_NAMESPACE_USER, attr, nil\n\tcase \"system\":\n\t\treturn EXTATTR_NAMESPACE_SYSTEM, attr, nil\n\tdefault:\n\t\treturn -1, \"\", ENOATTR\n\t}\n}\n\nfunc initxattrdest(dest []byte, idx int) (d unsafe.Pointer) {\n\tif len(dest) > idx {\n\t\treturn unsafe.Pointer(&dest[idx])\n\t} else {\n\t\treturn unsafe.Pointer(_zero)\n\t}\n}\n\n// FreeBSD and NetBSD implement their own syscalls to handle extended attributes\n\nfunc Getxattr(file string, attr string, dest []byte) (sz int, err error) {\n\td := initxattrdest(dest, 0)\n\tdestsize := len(dest)\n\n\tnsid, a, err := xattrnamespace(attr)\n\tif err != nil {\n\t\treturn -1, err\n\t}\n\n\treturn ExtattrGetFile(file, nsid, a, uintptr(d), destsize)\n}\n\nfunc Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {\n\td := initxattrdest(dest, 0)\n\tdestsize := len(dest)\n\n\tnsid, a, err := xattrnamespace(attr)\n\tif err != nil {\n\t\treturn -1, err\n\t}\n\n\treturn ExtattrGetFd(fd, nsid, a, uintptr(d), destsize)\n}\n\nfunc Lgetxattr(link string, attr string, dest []byte) (sz int, err error) {\n\td := initxattrdest(dest, 0)\n\tdestsize := len(dest)\n\n\tnsid, a, err := xattrnamespace(attr)\n\tif err != nil {\n\t\treturn -1, err\n\t}\n\n\treturn ExtattrGetLink(link, nsid, a, uintptr(d), destsize)\n}\n\n// flags are unused on FreeBSD\n\nfunc Fsetxattr(fd int, attr string, data []byte, flags int) (err error) {\n\td := unsafe.Pointer(&data[0])\n\tdatasiz := len(data)\n\n\tnsid, a, err := xattrnamespace(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_, err = ExtattrSetFd(fd, nsid, a, uintptr(d), datasiz)\n\treturn\n}\n\nfunc Setxattr(file string, attr string, data []byte, flags int) (err error) {\n\td := unsafe.Pointer(&data[0])\n\tdatasiz := len(data)\n\n\tnsid, a, err := xattrnamespace(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_, err = ExtattrSetFile(file, nsid, a, uintptr(d), datasiz)\n\treturn\n}\n\nfunc Lsetxattr(link string, attr string, data []byte, flags int) (err error) {\n\td := unsafe.Pointer(&data[0])\n\tdatasiz := len(data)\n\n\tnsid, a, err := xattrnamespace(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\n\t_, err = ExtattrSetLink(link, nsid, a, uintptr(d), datasiz)\n\treturn\n}\n\nfunc Removexattr(file string, attr string) (err error) {\n\tnsid, a, err := xattrnamespace(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\n\terr = ExtattrDeleteFile(file, nsid, a)\n\treturn\n}\n\nfunc Fremovexattr(fd int, attr string) (err error) {\n\tnsid, a, err := xattrnamespace(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\n\terr = ExtattrDeleteFd(fd, nsid, a)\n\treturn\n}\n\nfunc Lremovexattr(link string, attr string) (err error) {\n\tnsid, a, err := xattrnamespace(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\n\terr = ExtattrDeleteLink(link, nsid, a)\n\treturn\n}\n\nfunc Listxattr(file string, dest []byte) (sz int, err error) {\n\td := initxattrdest(dest, 0)\n\tdestsiz := len(dest)\n\n\t// FreeBSD won't allow you to list xattrs from multiple namespaces\n\ts := 0\n\tfor _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} {\n\t\tstmp, e := ExtattrListFile(file, nsid, uintptr(d), destsiz)\n\n\t\t/* Errors accessing system attrs are ignored so that\n\t\t * we can implement the Linux-like behavior of omitting errors that\n\t\t * we don't have read permissions on\n\t\t *\n\t\t * Linux will still error if we ask for user attributes on a file that\n\t\t * we don't have read permissions on, so don't ignore those errors\n\t\t */\n\t\tif e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER {\n\t\t\tcontinue\n\t\t} else if e != nil {\n\t\t\treturn s, e\n\t\t}\n\n\t\ts += stmp\n\t\tdestsiz -= s\n\t\tif destsiz < 0 {\n\t\t\tdestsiz = 0\n\t\t}\n\t\td = initxattrdest(dest, s)\n\t}\n\n\treturn s, nil\n}\n\nfunc Flistxattr(fd int, dest []byte) (sz int, err error) {\n\td := initxattrdest(dest, 0)\n\tdestsiz := len(dest)\n\n\ts := 0\n\tfor _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} {\n\t\tstmp, e := ExtattrListFd(fd, nsid, uintptr(d), destsiz)\n\t\tif e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER {\n\t\t\tcontinue\n\t\t} else if e != nil {\n\t\t\treturn s, e\n\t\t}\n\n\t\ts += stmp\n\t\tdestsiz -= s\n\t\tif destsiz < 0 {\n\t\t\tdestsiz = 0\n\t\t}\n\t\td = initxattrdest(dest, s)\n\t}\n\n\treturn s, nil\n}\n\nfunc Llistxattr(link string, dest []byte) (sz int, err error) {\n\td := initxattrdest(dest, 0)\n\tdestsiz := len(dest)\n\n\ts := 0\n\tfor _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} {\n\t\tstmp, e := ExtattrListLink(link, nsid, uintptr(d), destsiz)\n\t\tif e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER {\n\t\t\tcontinue\n\t\t} else if e != nil {\n\t\t\treturn s, e\n\t\t}\n\n\t\ts += stmp\n\t\tdestsiz -= s\n\t\tif destsiz < 0 {\n\t\t\tdestsiz = 0\n\t\t}\n\t\td = initxattrdest(dest, s)\n\t}\n\n\treturn s, nil\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_darwin_386.go",
    "content": "// mkerrors.sh -m32\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build 386,darwin\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -m32 _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_APPLETALK                      = 0x10\n\tAF_CCITT                          = 0xa\n\tAF_CHAOS                          = 0x5\n\tAF_CNT                            = 0x15\n\tAF_COIP                           = 0x14\n\tAF_DATAKIT                        = 0x9\n\tAF_DECnet                         = 0xc\n\tAF_DLI                            = 0xd\n\tAF_E164                           = 0x1c\n\tAF_ECMA                           = 0x8\n\tAF_HYLINK                         = 0xf\n\tAF_IEEE80211                      = 0x25\n\tAF_IMPLINK                        = 0x3\n\tAF_INET                           = 0x2\n\tAF_INET6                          = 0x1e\n\tAF_IPX                            = 0x17\n\tAF_ISDN                           = 0x1c\n\tAF_ISO                            = 0x7\n\tAF_LAT                            = 0xe\n\tAF_LINK                           = 0x12\n\tAF_LOCAL                          = 0x1\n\tAF_MAX                            = 0x28\n\tAF_NATM                           = 0x1f\n\tAF_NDRV                           = 0x1b\n\tAF_NETBIOS                        = 0x21\n\tAF_NS                             = 0x6\n\tAF_OSI                            = 0x7\n\tAF_PPP                            = 0x22\n\tAF_PUP                            = 0x4\n\tAF_RESERVED_36                    = 0x24\n\tAF_ROUTE                          = 0x11\n\tAF_SIP                            = 0x18\n\tAF_SNA                            = 0xb\n\tAF_SYSTEM                         = 0x20\n\tAF_UNIX                           = 0x1\n\tAF_UNSPEC                         = 0x0\n\tAF_UTUN                           = 0x26\n\tALTWERASE                         = 0x200\n\tATTR_BIT_MAP_COUNT                = 0x5\n\tATTR_CMN_ACCESSMASK               = 0x20000\n\tATTR_CMN_ACCTIME                  = 0x1000\n\tATTR_CMN_ADDEDTIME                = 0x10000000\n\tATTR_CMN_BKUPTIME                 = 0x2000\n\tATTR_CMN_CHGTIME                  = 0x800\n\tATTR_CMN_CRTIME                   = 0x200\n\tATTR_CMN_DATA_PROTECT_FLAGS       = 0x40000000\n\tATTR_CMN_DEVID                    = 0x2\n\tATTR_CMN_DOCUMENT_ID              = 0x100000\n\tATTR_CMN_ERROR                    = 0x20000000\n\tATTR_CMN_EXTENDED_SECURITY        = 0x400000\n\tATTR_CMN_FILEID                   = 0x2000000\n\tATTR_CMN_FLAGS                    = 0x40000\n\tATTR_CMN_FNDRINFO                 = 0x4000\n\tATTR_CMN_FSID                     = 0x4\n\tATTR_CMN_FULLPATH                 = 0x8000000\n\tATTR_CMN_GEN_COUNT                = 0x80000\n\tATTR_CMN_GRPID                    = 0x10000\n\tATTR_CMN_GRPUUID                  = 0x1000000\n\tATTR_CMN_MODTIME                  = 0x400\n\tATTR_CMN_NAME                     = 0x1\n\tATTR_CMN_NAMEDATTRCOUNT           = 0x80000\n\tATTR_CMN_NAMEDATTRLIST            = 0x100000\n\tATTR_CMN_OBJID                    = 0x20\n\tATTR_CMN_OBJPERMANENTID           = 0x40\n\tATTR_CMN_OBJTAG                   = 0x10\n\tATTR_CMN_OBJTYPE                  = 0x8\n\tATTR_CMN_OWNERID                  = 0x8000\n\tATTR_CMN_PARENTID                 = 0x4000000\n\tATTR_CMN_PAROBJID                 = 0x80\n\tATTR_CMN_RETURNED_ATTRS           = 0x80000000\n\tATTR_CMN_SCRIPT                   = 0x100\n\tATTR_CMN_SETMASK                  = 0x41c7ff00\n\tATTR_CMN_USERACCESS               = 0x200000\n\tATTR_CMN_UUID                     = 0x800000\n\tATTR_CMN_VALIDMASK                = 0xffffffff\n\tATTR_CMN_VOLSETMASK               = 0x6700\n\tATTR_FILE_ALLOCSIZE               = 0x4\n\tATTR_FILE_CLUMPSIZE               = 0x10\n\tATTR_FILE_DATAALLOCSIZE           = 0x400\n\tATTR_FILE_DATAEXTENTS             = 0x800\n\tATTR_FILE_DATALENGTH              = 0x200\n\tATTR_FILE_DEVTYPE                 = 0x20\n\tATTR_FILE_FILETYPE                = 0x40\n\tATTR_FILE_FORKCOUNT               = 0x80\n\tATTR_FILE_FORKLIST                = 0x100\n\tATTR_FILE_IOBLOCKSIZE             = 0x8\n\tATTR_FILE_LINKCOUNT               = 0x1\n\tATTR_FILE_RSRCALLOCSIZE           = 0x2000\n\tATTR_FILE_RSRCEXTENTS             = 0x4000\n\tATTR_FILE_RSRCLENGTH              = 0x1000\n\tATTR_FILE_SETMASK                 = 0x20\n\tATTR_FILE_TOTALSIZE               = 0x2\n\tATTR_FILE_VALIDMASK               = 0x37ff\n\tATTR_VOL_ALLOCATIONCLUMP          = 0x40\n\tATTR_VOL_ATTRIBUTES               = 0x40000000\n\tATTR_VOL_CAPABILITIES             = 0x20000\n\tATTR_VOL_DIRCOUNT                 = 0x400\n\tATTR_VOL_ENCODINGSUSED            = 0x10000\n\tATTR_VOL_FILECOUNT                = 0x200\n\tATTR_VOL_FSTYPE                   = 0x1\n\tATTR_VOL_INFO                     = 0x80000000\n\tATTR_VOL_IOBLOCKSIZE              = 0x80\n\tATTR_VOL_MAXOBJCOUNT              = 0x800\n\tATTR_VOL_MINALLOCATION            = 0x20\n\tATTR_VOL_MOUNTEDDEVICE            = 0x8000\n\tATTR_VOL_MOUNTFLAGS               = 0x4000\n\tATTR_VOL_MOUNTPOINT               = 0x1000\n\tATTR_VOL_NAME                     = 0x2000\n\tATTR_VOL_OBJCOUNT                 = 0x100\n\tATTR_VOL_QUOTA_SIZE               = 0x10000000\n\tATTR_VOL_RESERVED_SIZE            = 0x20000000\n\tATTR_VOL_SETMASK                  = 0x80002000\n\tATTR_VOL_SIGNATURE                = 0x2\n\tATTR_VOL_SIZE                     = 0x4\n\tATTR_VOL_SPACEAVAIL               = 0x10\n\tATTR_VOL_SPACEFREE                = 0x8\n\tATTR_VOL_UUID                     = 0x40000\n\tATTR_VOL_VALIDMASK                = 0xf007ffff\n\tB0                                = 0x0\n\tB110                              = 0x6e\n\tB115200                           = 0x1c200\n\tB1200                             = 0x4b0\n\tB134                              = 0x86\n\tB14400                            = 0x3840\n\tB150                              = 0x96\n\tB1800                             = 0x708\n\tB19200                            = 0x4b00\n\tB200                              = 0xc8\n\tB230400                           = 0x38400\n\tB2400                             = 0x960\n\tB28800                            = 0x7080\n\tB300                              = 0x12c\n\tB38400                            = 0x9600\n\tB4800                             = 0x12c0\n\tB50                               = 0x32\n\tB57600                            = 0xe100\n\tB600                              = 0x258\n\tB7200                             = 0x1c20\n\tB75                               = 0x4b\n\tB76800                            = 0x12c00\n\tB9600                             = 0x2580\n\tBIOCFLUSH                         = 0x20004268\n\tBIOCGBLEN                         = 0x40044266\n\tBIOCGDLT                          = 0x4004426a\n\tBIOCGDLTLIST                      = 0xc00c4279\n\tBIOCGETIF                         = 0x4020426b\n\tBIOCGHDRCMPLT                     = 0x40044274\n\tBIOCGRSIG                         = 0x40044272\n\tBIOCGRTIMEOUT                     = 0x4008426e\n\tBIOCGSEESENT                      = 0x40044276\n\tBIOCGSTATS                        = 0x4008426f\n\tBIOCIMMEDIATE                     = 0x80044270\n\tBIOCPROMISC                       = 0x20004269\n\tBIOCSBLEN                         = 0xc0044266\n\tBIOCSDLT                          = 0x80044278\n\tBIOCSETF                          = 0x80084267\n\tBIOCSETFNR                        = 0x8008427e\n\tBIOCSETIF                         = 0x8020426c\n\tBIOCSHDRCMPLT                     = 0x80044275\n\tBIOCSRSIG                         = 0x80044273\n\tBIOCSRTIMEOUT                     = 0x8008426d\n\tBIOCSSEESENT                      = 0x80044277\n\tBIOCVERSION                       = 0x40044271\n\tBPF_A                             = 0x10\n\tBPF_ABS                           = 0x20\n\tBPF_ADD                           = 0x0\n\tBPF_ALIGNMENT                     = 0x4\n\tBPF_ALU                           = 0x4\n\tBPF_AND                           = 0x50\n\tBPF_B                             = 0x10\n\tBPF_DIV                           = 0x30\n\tBPF_H                             = 0x8\n\tBPF_IMM                           = 0x0\n\tBPF_IND                           = 0x40\n\tBPF_JA                            = 0x0\n\tBPF_JEQ                           = 0x10\n\tBPF_JGE                           = 0x30\n\tBPF_JGT                           = 0x20\n\tBPF_JMP                           = 0x5\n\tBPF_JSET                          = 0x40\n\tBPF_K                             = 0x0\n\tBPF_LD                            = 0x0\n\tBPF_LDX                           = 0x1\n\tBPF_LEN                           = 0x80\n\tBPF_LSH                           = 0x60\n\tBPF_MAJOR_VERSION                 = 0x1\n\tBPF_MAXBUFSIZE                    = 0x80000\n\tBPF_MAXINSNS                      = 0x200\n\tBPF_MEM                           = 0x60\n\tBPF_MEMWORDS                      = 0x10\n\tBPF_MINBUFSIZE                    = 0x20\n\tBPF_MINOR_VERSION                 = 0x1\n\tBPF_MISC                          = 0x7\n\tBPF_MSH                           = 0xa0\n\tBPF_MUL                           = 0x20\n\tBPF_NEG                           = 0x80\n\tBPF_OR                            = 0x40\n\tBPF_RELEASE                       = 0x30bb6\n\tBPF_RET                           = 0x6\n\tBPF_RSH                           = 0x70\n\tBPF_ST                            = 0x2\n\tBPF_STX                           = 0x3\n\tBPF_SUB                           = 0x10\n\tBPF_TAX                           = 0x0\n\tBPF_TXA                           = 0x80\n\tBPF_W                             = 0x0\n\tBPF_X                             = 0x8\n\tBRKINT                            = 0x2\n\tBS0                               = 0x0\n\tBS1                               = 0x8000\n\tBSDLY                             = 0x8000\n\tCFLUSH                            = 0xf\n\tCLOCAL                            = 0x8000\n\tCLOCK_MONOTONIC                   = 0x6\n\tCLOCK_MONOTONIC_RAW               = 0x4\n\tCLOCK_MONOTONIC_RAW_APPROX        = 0x5\n\tCLOCK_PROCESS_CPUTIME_ID          = 0xc\n\tCLOCK_REALTIME                    = 0x0\n\tCLOCK_THREAD_CPUTIME_ID           = 0x10\n\tCLOCK_UPTIME_RAW                  = 0x8\n\tCLOCK_UPTIME_RAW_APPROX           = 0x9\n\tCR0                               = 0x0\n\tCR1                               = 0x1000\n\tCR2                               = 0x2000\n\tCR3                               = 0x3000\n\tCRDLY                             = 0x3000\n\tCREAD                             = 0x800\n\tCRTSCTS                           = 0x30000\n\tCS5                               = 0x0\n\tCS6                               = 0x100\n\tCS7                               = 0x200\n\tCS8                               = 0x300\n\tCSIZE                             = 0x300\n\tCSTART                            = 0x11\n\tCSTATUS                           = 0x14\n\tCSTOP                             = 0x13\n\tCSTOPB                            = 0x400\n\tCSUSP                             = 0x1a\n\tCTL_HW                            = 0x6\n\tCTL_KERN                          = 0x1\n\tCTL_MAXNAME                       = 0xc\n\tCTL_NET                           = 0x4\n\tDLT_A429                          = 0xb8\n\tDLT_A653_ICM                      = 0xb9\n\tDLT_AIRONET_HEADER                = 0x78\n\tDLT_AOS                           = 0xde\n\tDLT_APPLE_IP_OVER_IEEE1394        = 0x8a\n\tDLT_ARCNET                        = 0x7\n\tDLT_ARCNET_LINUX                  = 0x81\n\tDLT_ATM_CLIP                      = 0x13\n\tDLT_ATM_RFC1483                   = 0xb\n\tDLT_AURORA                        = 0x7e\n\tDLT_AX25                          = 0x3\n\tDLT_AX25_KISS                     = 0xca\n\tDLT_BACNET_MS_TP                  = 0xa5\n\tDLT_BLUETOOTH_HCI_H4              = 0xbb\n\tDLT_BLUETOOTH_HCI_H4_WITH_PHDR    = 0xc9\n\tDLT_CAN20B                        = 0xbe\n\tDLT_CAN_SOCKETCAN                 = 0xe3\n\tDLT_CHAOS                         = 0x5\n\tDLT_CHDLC                         = 0x68\n\tDLT_CISCO_IOS                     = 0x76\n\tDLT_C_HDLC                        = 0x68\n\tDLT_C_HDLC_WITH_DIR               = 0xcd\n\tDLT_DBUS                          = 0xe7\n\tDLT_DECT                          = 0xdd\n\tDLT_DOCSIS                        = 0x8f\n\tDLT_DVB_CI                        = 0xeb\n\tDLT_ECONET                        = 0x73\n\tDLT_EN10MB                        = 0x1\n\tDLT_EN3MB                         = 0x2\n\tDLT_ENC                           = 0x6d\n\tDLT_ERF                           = 0xc5\n\tDLT_ERF_ETH                       = 0xaf\n\tDLT_ERF_POS                       = 0xb0\n\tDLT_FC_2                          = 0xe0\n\tDLT_FC_2_WITH_FRAME_DELIMS        = 0xe1\n\tDLT_FDDI                          = 0xa\n\tDLT_FLEXRAY                       = 0xd2\n\tDLT_FRELAY                        = 0x6b\n\tDLT_FRELAY_WITH_DIR               = 0xce\n\tDLT_GCOM_SERIAL                   = 0xad\n\tDLT_GCOM_T1E1                     = 0xac\n\tDLT_GPF_F                         = 0xab\n\tDLT_GPF_T                         = 0xaa\n\tDLT_GPRS_LLC                      = 0xa9\n\tDLT_GSMTAP_ABIS                   = 0xda\n\tDLT_GSMTAP_UM                     = 0xd9\n\tDLT_HHDLC                         = 0x79\n\tDLT_IBM_SN                        = 0x92\n\tDLT_IBM_SP                        = 0x91\n\tDLT_IEEE802                       = 0x6\n\tDLT_IEEE802_11                    = 0x69\n\tDLT_IEEE802_11_RADIO              = 0x7f\n\tDLT_IEEE802_11_RADIO_AVS          = 0xa3\n\tDLT_IEEE802_15_4                  = 0xc3\n\tDLT_IEEE802_15_4_LINUX            = 0xbf\n\tDLT_IEEE802_15_4_NOFCS            = 0xe6\n\tDLT_IEEE802_15_4_NONASK_PHY       = 0xd7\n\tDLT_IEEE802_16_MAC_CPS            = 0xbc\n\tDLT_IEEE802_16_MAC_CPS_RADIO      = 0xc1\n\tDLT_IPFILTER                      = 0x74\n\tDLT_IPMB                          = 0xc7\n\tDLT_IPMB_LINUX                    = 0xd1\n\tDLT_IPNET                         = 0xe2\n\tDLT_IPOIB                         = 0xf2\n\tDLT_IPV4                          = 0xe4\n\tDLT_IPV6                          = 0xe5\n\tDLT_IP_OVER_FC                    = 0x7a\n\tDLT_JUNIPER_ATM1                  = 0x89\n\tDLT_JUNIPER_ATM2                  = 0x87\n\tDLT_JUNIPER_ATM_CEMIC             = 0xee\n\tDLT_JUNIPER_CHDLC                 = 0xb5\n\tDLT_JUNIPER_ES                    = 0x84\n\tDLT_JUNIPER_ETHER                 = 0xb2\n\tDLT_JUNIPER_FIBRECHANNEL          = 0xea\n\tDLT_JUNIPER_FRELAY                = 0xb4\n\tDLT_JUNIPER_GGSN                  = 0x85\n\tDLT_JUNIPER_ISM                   = 0xc2\n\tDLT_JUNIPER_MFR                   = 0x86\n\tDLT_JUNIPER_MLFR                  = 0x83\n\tDLT_JUNIPER_MLPPP                 = 0x82\n\tDLT_JUNIPER_MONITOR               = 0xa4\n\tDLT_JUNIPER_PIC_PEER              = 0xae\n\tDLT_JUNIPER_PPP                   = 0xb3\n\tDLT_JUNIPER_PPPOE                 = 0xa7\n\tDLT_JUNIPER_PPPOE_ATM             = 0xa8\n\tDLT_JUNIPER_SERVICES              = 0x88\n\tDLT_JUNIPER_SRX_E2E               = 0xe9\n\tDLT_JUNIPER_ST                    = 0xc8\n\tDLT_JUNIPER_VP                    = 0xb7\n\tDLT_JUNIPER_VS                    = 0xe8\n\tDLT_LAPB_WITH_DIR                 = 0xcf\n\tDLT_LAPD                          = 0xcb\n\tDLT_LIN                           = 0xd4\n\tDLT_LINUX_EVDEV                   = 0xd8\n\tDLT_LINUX_IRDA                    = 0x90\n\tDLT_LINUX_LAPD                    = 0xb1\n\tDLT_LINUX_PPP_WITHDIRECTION       = 0xa6\n\tDLT_LINUX_SLL                     = 0x71\n\tDLT_LOOP                          = 0x6c\n\tDLT_LTALK                         = 0x72\n\tDLT_MATCHING_MAX                  = 0xf5\n\tDLT_MATCHING_MIN                  = 0x68\n\tDLT_MFR                           = 0xb6\n\tDLT_MOST                          = 0xd3\n\tDLT_MPEG_2_TS                     = 0xf3\n\tDLT_MPLS                          = 0xdb\n\tDLT_MTP2                          = 0x8c\n\tDLT_MTP2_WITH_PHDR                = 0x8b\n\tDLT_MTP3                          = 0x8d\n\tDLT_MUX27010                      = 0xec\n\tDLT_NETANALYZER                   = 0xf0\n\tDLT_NETANALYZER_TRANSPARENT       = 0xf1\n\tDLT_NFC_LLCP                      = 0xf5\n\tDLT_NFLOG                         = 0xef\n\tDLT_NG40                          = 0xf4\n\tDLT_NULL                          = 0x0\n\tDLT_PCI_EXP                       = 0x7d\n\tDLT_PFLOG                         = 0x75\n\tDLT_PFSYNC                        = 0x12\n\tDLT_PPI                           = 0xc0\n\tDLT_PPP                           = 0x9\n\tDLT_PPP_BSDOS                     = 0x10\n\tDLT_PPP_ETHER                     = 0x33\n\tDLT_PPP_PPPD                      = 0xa6\n\tDLT_PPP_SERIAL                    = 0x32\n\tDLT_PPP_WITH_DIR                  = 0xcc\n\tDLT_PPP_WITH_DIRECTION            = 0xa6\n\tDLT_PRISM_HEADER                  = 0x77\n\tDLT_PRONET                        = 0x4\n\tDLT_RAIF1                         = 0xc6\n\tDLT_RAW                           = 0xc\n\tDLT_RIO                           = 0x7c\n\tDLT_SCCP                          = 0x8e\n\tDLT_SITA                          = 0xc4\n\tDLT_SLIP                          = 0x8\n\tDLT_SLIP_BSDOS                    = 0xf\n\tDLT_STANAG_5066_D_PDU             = 0xed\n\tDLT_SUNATM                        = 0x7b\n\tDLT_SYMANTEC_FIREWALL             = 0x63\n\tDLT_TZSP                          = 0x80\n\tDLT_USB                           = 0xba\n\tDLT_USB_LINUX                     = 0xbd\n\tDLT_USB_LINUX_MMAPPED             = 0xdc\n\tDLT_USER0                         = 0x93\n\tDLT_USER1                         = 0x94\n\tDLT_USER10                        = 0x9d\n\tDLT_USER11                        = 0x9e\n\tDLT_USER12                        = 0x9f\n\tDLT_USER13                        = 0xa0\n\tDLT_USER14                        = 0xa1\n\tDLT_USER15                        = 0xa2\n\tDLT_USER2                         = 0x95\n\tDLT_USER3                         = 0x96\n\tDLT_USER4                         = 0x97\n\tDLT_USER5                         = 0x98\n\tDLT_USER6                         = 0x99\n\tDLT_USER7                         = 0x9a\n\tDLT_USER8                         = 0x9b\n\tDLT_USER9                         = 0x9c\n\tDLT_WIHART                        = 0xdf\n\tDLT_X2E_SERIAL                    = 0xd5\n\tDLT_X2E_XORAYA                    = 0xd6\n\tDT_BLK                            = 0x6\n\tDT_CHR                            = 0x2\n\tDT_DIR                            = 0x4\n\tDT_FIFO                           = 0x1\n\tDT_LNK                            = 0xa\n\tDT_REG                            = 0x8\n\tDT_SOCK                           = 0xc\n\tDT_UNKNOWN                        = 0x0\n\tDT_WHT                            = 0xe\n\tECHO                              = 0x8\n\tECHOCTL                           = 0x40\n\tECHOE                             = 0x2\n\tECHOK                             = 0x4\n\tECHOKE                            = 0x1\n\tECHONL                            = 0x10\n\tECHOPRT                           = 0x20\n\tEVFILT_AIO                        = -0x3\n\tEVFILT_EXCEPT                     = -0xf\n\tEVFILT_FS                         = -0x9\n\tEVFILT_MACHPORT                   = -0x8\n\tEVFILT_PROC                       = -0x5\n\tEVFILT_READ                       = -0x1\n\tEVFILT_SIGNAL                     = -0x6\n\tEVFILT_SYSCOUNT                   = 0xf\n\tEVFILT_THREADMARKER               = 0xf\n\tEVFILT_TIMER                      = -0x7\n\tEVFILT_USER                       = -0xa\n\tEVFILT_VM                         = -0xc\n\tEVFILT_VNODE                      = -0x4\n\tEVFILT_WRITE                      = -0x2\n\tEV_ADD                            = 0x1\n\tEV_CLEAR                          = 0x20\n\tEV_DELETE                         = 0x2\n\tEV_DISABLE                        = 0x8\n\tEV_DISPATCH                       = 0x80\n\tEV_DISPATCH2                      = 0x180\n\tEV_ENABLE                         = 0x4\n\tEV_EOF                            = 0x8000\n\tEV_ERROR                          = 0x4000\n\tEV_FLAG0                          = 0x1000\n\tEV_FLAG1                          = 0x2000\n\tEV_ONESHOT                        = 0x10\n\tEV_OOBAND                         = 0x2000\n\tEV_POLL                           = 0x1000\n\tEV_RECEIPT                        = 0x40\n\tEV_SYSFLAGS                       = 0xf000\n\tEV_UDATA_SPECIFIC                 = 0x100\n\tEV_VANISHED                       = 0x200\n\tEXTA                              = 0x4b00\n\tEXTB                              = 0x9600\n\tEXTPROC                           = 0x800\n\tFD_CLOEXEC                        = 0x1\n\tFD_SETSIZE                        = 0x400\n\tFF0                               = 0x0\n\tFF1                               = 0x4000\n\tFFDLY                             = 0x4000\n\tFLUSHO                            = 0x800000\n\tFSOPT_ATTR_CMN_EXTENDED           = 0x20\n\tFSOPT_NOFOLLOW                    = 0x1\n\tFSOPT_NOINMEMUPDATE               = 0x2\n\tFSOPT_PACK_INVAL_ATTRS            = 0x8\n\tFSOPT_REPORT_FULLSIZE             = 0x4\n\tF_ADDFILESIGS                     = 0x3d\n\tF_ADDFILESIGS_FOR_DYLD_SIM        = 0x53\n\tF_ADDFILESIGS_RETURN              = 0x61\n\tF_ADDSIGS                         = 0x3b\n\tF_ALLOCATEALL                     = 0x4\n\tF_ALLOCATECONTIG                  = 0x2\n\tF_BARRIERFSYNC                    = 0x55\n\tF_CHECK_LV                        = 0x62\n\tF_CHKCLEAN                        = 0x29\n\tF_DUPFD                           = 0x0\n\tF_DUPFD_CLOEXEC                   = 0x43\n\tF_FINDSIGS                        = 0x4e\n\tF_FLUSH_DATA                      = 0x28\n\tF_FREEZE_FS                       = 0x35\n\tF_FULLFSYNC                       = 0x33\n\tF_GETCODEDIR                      = 0x48\n\tF_GETFD                           = 0x1\n\tF_GETFL                           = 0x3\n\tF_GETLK                           = 0x7\n\tF_GETLKPID                        = 0x42\n\tF_GETNOSIGPIPE                    = 0x4a\n\tF_GETOWN                          = 0x5\n\tF_GETPATH                         = 0x32\n\tF_GETPATH_MTMINFO                 = 0x47\n\tF_GETPROTECTIONCLASS              = 0x3f\n\tF_GETPROTECTIONLEVEL              = 0x4d\n\tF_GLOBAL_NOCACHE                  = 0x37\n\tF_LOG2PHYS                        = 0x31\n\tF_LOG2PHYS_EXT                    = 0x41\n\tF_NOCACHE                         = 0x30\n\tF_NODIRECT                        = 0x3e\n\tF_OK                              = 0x0\n\tF_PATHPKG_CHECK                   = 0x34\n\tF_PEOFPOSMODE                     = 0x3\n\tF_PREALLOCATE                     = 0x2a\n\tF_PUNCHHOLE                       = 0x63\n\tF_RDADVISE                        = 0x2c\n\tF_RDAHEAD                         = 0x2d\n\tF_RDLCK                           = 0x1\n\tF_SETBACKINGSTORE                 = 0x46\n\tF_SETFD                           = 0x2\n\tF_SETFL                           = 0x4\n\tF_SETLK                           = 0x8\n\tF_SETLKW                          = 0x9\n\tF_SETLKWTIMEOUT                   = 0xa\n\tF_SETNOSIGPIPE                    = 0x49\n\tF_SETOWN                          = 0x6\n\tF_SETPROTECTIONCLASS              = 0x40\n\tF_SETSIZE                         = 0x2b\n\tF_SINGLE_WRITER                   = 0x4c\n\tF_THAW_FS                         = 0x36\n\tF_TRANSCODEKEY                    = 0x4b\n\tF_TRIM_ACTIVE_FILE                = 0x64\n\tF_UNLCK                           = 0x2\n\tF_VOLPOSMODE                      = 0x4\n\tF_WRLCK                           = 0x3\n\tHUPCL                             = 0x4000\n\tHW_MACHINE                        = 0x1\n\tICANON                            = 0x100\n\tICMP6_FILTER                      = 0x12\n\tICRNL                             = 0x100\n\tIEXTEN                            = 0x400\n\tIFF_ALLMULTI                      = 0x200\n\tIFF_ALTPHYS                       = 0x4000\n\tIFF_BROADCAST                     = 0x2\n\tIFF_DEBUG                         = 0x4\n\tIFF_LINK0                         = 0x1000\n\tIFF_LINK1                         = 0x2000\n\tIFF_LINK2                         = 0x4000\n\tIFF_LOOPBACK                      = 0x8\n\tIFF_MULTICAST                     = 0x8000\n\tIFF_NOARP                         = 0x80\n\tIFF_NOTRAILERS                    = 0x20\n\tIFF_OACTIVE                       = 0x400\n\tIFF_POINTOPOINT                   = 0x10\n\tIFF_PROMISC                       = 0x100\n\tIFF_RUNNING                       = 0x40\n\tIFF_SIMPLEX                       = 0x800\n\tIFF_UP                            = 0x1\n\tIFNAMSIZ                          = 0x10\n\tIFT_1822                          = 0x2\n\tIFT_AAL5                          = 0x31\n\tIFT_ARCNET                        = 0x23\n\tIFT_ARCNETPLUS                    = 0x24\n\tIFT_ATM                           = 0x25\n\tIFT_BRIDGE                        = 0xd1\n\tIFT_CARP                          = 0xf8\n\tIFT_CELLULAR                      = 0xff\n\tIFT_CEPT                          = 0x13\n\tIFT_DS3                           = 0x1e\n\tIFT_ENC                           = 0xf4\n\tIFT_EON                           = 0x19\n\tIFT_ETHER                         = 0x6\n\tIFT_FAITH                         = 0x38\n\tIFT_FDDI                          = 0xf\n\tIFT_FRELAY                        = 0x20\n\tIFT_FRELAYDCE                     = 0x2c\n\tIFT_GIF                           = 0x37\n\tIFT_HDH1822                       = 0x3\n\tIFT_HIPPI                         = 0x2f\n\tIFT_HSSI                          = 0x2e\n\tIFT_HY                            = 0xe\n\tIFT_IEEE1394                      = 0x90\n\tIFT_IEEE8023ADLAG                 = 0x88\n\tIFT_ISDNBASIC                     = 0x14\n\tIFT_ISDNPRIMARY                   = 0x15\n\tIFT_ISO88022LLC                   = 0x29\n\tIFT_ISO88023                      = 0x7\n\tIFT_ISO88024                      = 0x8\n\tIFT_ISO88025                      = 0x9\n\tIFT_ISO88026                      = 0xa\n\tIFT_L2VLAN                        = 0x87\n\tIFT_LAPB                          = 0x10\n\tIFT_LOCALTALK                     = 0x2a\n\tIFT_LOOP                          = 0x18\n\tIFT_MIOX25                        = 0x26\n\tIFT_MODEM                         = 0x30\n\tIFT_NSIP                          = 0x1b\n\tIFT_OTHER                         = 0x1\n\tIFT_P10                           = 0xc\n\tIFT_P80                           = 0xd\n\tIFT_PARA                          = 0x22\n\tIFT_PDP                           = 0xff\n\tIFT_PFLOG                         = 0xf5\n\tIFT_PFSYNC                        = 0xf6\n\tIFT_PKTAP                         = 0xfe\n\tIFT_PPP                           = 0x17\n\tIFT_PROPMUX                       = 0x36\n\tIFT_PROPVIRTUAL                   = 0x35\n\tIFT_PTPSERIAL                     = 0x16\n\tIFT_RS232                         = 0x21\n\tIFT_SDLC                          = 0x11\n\tIFT_SIP                           = 0x1f\n\tIFT_SLIP                          = 0x1c\n\tIFT_SMDSDXI                       = 0x2b\n\tIFT_SMDSICIP                      = 0x34\n\tIFT_SONET                         = 0x27\n\tIFT_SONETPATH                     = 0x32\n\tIFT_SONETVT                       = 0x33\n\tIFT_STARLAN                       = 0xb\n\tIFT_STF                           = 0x39\n\tIFT_T1                            = 0x12\n\tIFT_ULTRA                         = 0x1d\n\tIFT_V35                           = 0x2d\n\tIFT_X25                           = 0x5\n\tIFT_X25DDN                        = 0x4\n\tIFT_X25PLE                        = 0x28\n\tIFT_XETHER                        = 0x1a\n\tIGNBRK                            = 0x1\n\tIGNCR                             = 0x80\n\tIGNPAR                            = 0x4\n\tIMAXBEL                           = 0x2000\n\tINLCR                             = 0x40\n\tINPCK                             = 0x10\n\tIN_CLASSA_HOST                    = 0xffffff\n\tIN_CLASSA_MAX                     = 0x80\n\tIN_CLASSA_NET                     = 0xff000000\n\tIN_CLASSA_NSHIFT                  = 0x18\n\tIN_CLASSB_HOST                    = 0xffff\n\tIN_CLASSB_MAX                     = 0x10000\n\tIN_CLASSB_NET                     = 0xffff0000\n\tIN_CLASSB_NSHIFT                  = 0x10\n\tIN_CLASSC_HOST                    = 0xff\n\tIN_CLASSC_NET                     = 0xffffff00\n\tIN_CLASSC_NSHIFT                  = 0x8\n\tIN_CLASSD_HOST                    = 0xfffffff\n\tIN_CLASSD_NET                     = 0xf0000000\n\tIN_CLASSD_NSHIFT                  = 0x1c\n\tIN_LINKLOCALNETNUM                = 0xa9fe0000\n\tIN_LOOPBACKNET                    = 0x7f\n\tIPPROTO_3PC                       = 0x22\n\tIPPROTO_ADFS                      = 0x44\n\tIPPROTO_AH                        = 0x33\n\tIPPROTO_AHIP                      = 0x3d\n\tIPPROTO_APES                      = 0x63\n\tIPPROTO_ARGUS                     = 0xd\n\tIPPROTO_AX25                      = 0x5d\n\tIPPROTO_BHA                       = 0x31\n\tIPPROTO_BLT                       = 0x1e\n\tIPPROTO_BRSATMON                  = 0x4c\n\tIPPROTO_CFTP                      = 0x3e\n\tIPPROTO_CHAOS                     = 0x10\n\tIPPROTO_CMTP                      = 0x26\n\tIPPROTO_CPHB                      = 0x49\n\tIPPROTO_CPNX                      = 0x48\n\tIPPROTO_DDP                       = 0x25\n\tIPPROTO_DGP                       = 0x56\n\tIPPROTO_DIVERT                    = 0xfe\n\tIPPROTO_DONE                      = 0x101\n\tIPPROTO_DSTOPTS                   = 0x3c\n\tIPPROTO_EGP                       = 0x8\n\tIPPROTO_EMCON                     = 0xe\n\tIPPROTO_ENCAP                     = 0x62\n\tIPPROTO_EON                       = 0x50\n\tIPPROTO_ESP                       = 0x32\n\tIPPROTO_ETHERIP                   = 0x61\n\tIPPROTO_FRAGMENT                  = 0x2c\n\tIPPROTO_GGP                       = 0x3\n\tIPPROTO_GMTP                      = 0x64\n\tIPPROTO_GRE                       = 0x2f\n\tIPPROTO_HELLO                     = 0x3f\n\tIPPROTO_HMP                       = 0x14\n\tIPPROTO_HOPOPTS                   = 0x0\n\tIPPROTO_ICMP                      = 0x1\n\tIPPROTO_ICMPV6                    = 0x3a\n\tIPPROTO_IDP                       = 0x16\n\tIPPROTO_IDPR                      = 0x23\n\tIPPROTO_IDRP                      = 0x2d\n\tIPPROTO_IGMP                      = 0x2\n\tIPPROTO_IGP                       = 0x55\n\tIPPROTO_IGRP                      = 0x58\n\tIPPROTO_IL                        = 0x28\n\tIPPROTO_INLSP                     = 0x34\n\tIPPROTO_INP                       = 0x20\n\tIPPROTO_IP                        = 0x0\n\tIPPROTO_IPCOMP                    = 0x6c\n\tIPPROTO_IPCV                      = 0x47\n\tIPPROTO_IPEIP                     = 0x5e\n\tIPPROTO_IPIP                      = 0x4\n\tIPPROTO_IPPC                      = 0x43\n\tIPPROTO_IPV4                      = 0x4\n\tIPPROTO_IPV6                      = 0x29\n\tIPPROTO_IRTP                      = 0x1c\n\tIPPROTO_KRYPTOLAN                 = 0x41\n\tIPPROTO_LARP                      = 0x5b\n\tIPPROTO_LEAF1                     = 0x19\n\tIPPROTO_LEAF2                     = 0x1a\n\tIPPROTO_MAX                       = 0x100\n\tIPPROTO_MAXID                     = 0x34\n\tIPPROTO_MEAS                      = 0x13\n\tIPPROTO_MHRP                      = 0x30\n\tIPPROTO_MICP                      = 0x5f\n\tIPPROTO_MTP                       = 0x5c\n\tIPPROTO_MUX                       = 0x12\n\tIPPROTO_ND                        = 0x4d\n\tIPPROTO_NHRP                      = 0x36\n\tIPPROTO_NONE                      = 0x3b\n\tIPPROTO_NSP                       = 0x1f\n\tIPPROTO_NVPII                     = 0xb\n\tIPPROTO_OSPFIGP                   = 0x59\n\tIPPROTO_PGM                       = 0x71\n\tIPPROTO_PIGP                      = 0x9\n\tIPPROTO_PIM                       = 0x67\n\tIPPROTO_PRM                       = 0x15\n\tIPPROTO_PUP                       = 0xc\n\tIPPROTO_PVP                       = 0x4b\n\tIPPROTO_RAW                       = 0xff\n\tIPPROTO_RCCMON                    = 0xa\n\tIPPROTO_RDP                       = 0x1b\n\tIPPROTO_ROUTING                   = 0x2b\n\tIPPROTO_RSVP                      = 0x2e\n\tIPPROTO_RVD                       = 0x42\n\tIPPROTO_SATEXPAK                  = 0x40\n\tIPPROTO_SATMON                    = 0x45\n\tIPPROTO_SCCSP                     = 0x60\n\tIPPROTO_SCTP                      = 0x84\n\tIPPROTO_SDRP                      = 0x2a\n\tIPPROTO_SEP                       = 0x21\n\tIPPROTO_SRPC                      = 0x5a\n\tIPPROTO_ST                        = 0x7\n\tIPPROTO_SVMTP                     = 0x52\n\tIPPROTO_SWIPE                     = 0x35\n\tIPPROTO_TCF                       = 0x57\n\tIPPROTO_TCP                       = 0x6\n\tIPPROTO_TP                        = 0x1d\n\tIPPROTO_TPXX                      = 0x27\n\tIPPROTO_TRUNK1                    = 0x17\n\tIPPROTO_TRUNK2                    = 0x18\n\tIPPROTO_TTP                       = 0x54\n\tIPPROTO_UDP                       = 0x11\n\tIPPROTO_VINES                     = 0x53\n\tIPPROTO_VISA                      = 0x46\n\tIPPROTO_VMTP                      = 0x51\n\tIPPROTO_WBEXPAK                   = 0x4f\n\tIPPROTO_WBMON                     = 0x4e\n\tIPPROTO_WSN                       = 0x4a\n\tIPPROTO_XNET                      = 0xf\n\tIPPROTO_XTP                       = 0x24\n\tIPV6_2292DSTOPTS                  = 0x17\n\tIPV6_2292HOPLIMIT                 = 0x14\n\tIPV6_2292HOPOPTS                  = 0x16\n\tIPV6_2292NEXTHOP                  = 0x15\n\tIPV6_2292PKTINFO                  = 0x13\n\tIPV6_2292PKTOPTIONS               = 0x19\n\tIPV6_2292RTHDR                    = 0x18\n\tIPV6_BINDV6ONLY                   = 0x1b\n\tIPV6_BOUND_IF                     = 0x7d\n\tIPV6_CHECKSUM                     = 0x1a\n\tIPV6_DEFAULT_MULTICAST_HOPS       = 0x1\n\tIPV6_DEFAULT_MULTICAST_LOOP       = 0x1\n\tIPV6_DEFHLIM                      = 0x40\n\tIPV6_FAITH                        = 0x1d\n\tIPV6_FLOWINFO_MASK                = 0xffffff0f\n\tIPV6_FLOWLABEL_MASK               = 0xffff0f00\n\tIPV6_FLOW_ECN_MASK                = 0x300\n\tIPV6_FRAGTTL                      = 0x3c\n\tIPV6_FW_ADD                       = 0x1e\n\tIPV6_FW_DEL                       = 0x1f\n\tIPV6_FW_FLUSH                     = 0x20\n\tIPV6_FW_GET                       = 0x22\n\tIPV6_FW_ZERO                      = 0x21\n\tIPV6_HLIMDEC                      = 0x1\n\tIPV6_IPSEC_POLICY                 = 0x1c\n\tIPV6_JOIN_GROUP                   = 0xc\n\tIPV6_LEAVE_GROUP                  = 0xd\n\tIPV6_MAXHLIM                      = 0xff\n\tIPV6_MAXOPTHDR                    = 0x800\n\tIPV6_MAXPACKET                    = 0xffff\n\tIPV6_MAX_GROUP_SRC_FILTER         = 0x200\n\tIPV6_MAX_MEMBERSHIPS              = 0xfff\n\tIPV6_MAX_SOCK_SRC_FILTER          = 0x80\n\tIPV6_MIN_MEMBERSHIPS              = 0x1f\n\tIPV6_MMTU                         = 0x500\n\tIPV6_MULTICAST_HOPS               = 0xa\n\tIPV6_MULTICAST_IF                 = 0x9\n\tIPV6_MULTICAST_LOOP               = 0xb\n\tIPV6_PORTRANGE                    = 0xe\n\tIPV6_PORTRANGE_DEFAULT            = 0x0\n\tIPV6_PORTRANGE_HIGH               = 0x1\n\tIPV6_PORTRANGE_LOW                = 0x2\n\tIPV6_RECVTCLASS                   = 0x23\n\tIPV6_RTHDR_LOOSE                  = 0x0\n\tIPV6_RTHDR_STRICT                 = 0x1\n\tIPV6_RTHDR_TYPE_0                 = 0x0\n\tIPV6_SOCKOPT_RESERVED1            = 0x3\n\tIPV6_TCLASS                       = 0x24\n\tIPV6_UNICAST_HOPS                 = 0x4\n\tIPV6_V6ONLY                       = 0x1b\n\tIPV6_VERSION                      = 0x60\n\tIPV6_VERSION_MASK                 = 0xf0\n\tIP_ADD_MEMBERSHIP                 = 0xc\n\tIP_ADD_SOURCE_MEMBERSHIP          = 0x46\n\tIP_BLOCK_SOURCE                   = 0x48\n\tIP_BOUND_IF                       = 0x19\n\tIP_DEFAULT_MULTICAST_LOOP         = 0x1\n\tIP_DEFAULT_MULTICAST_TTL          = 0x1\n\tIP_DF                             = 0x4000\n\tIP_DROP_MEMBERSHIP                = 0xd\n\tIP_DROP_SOURCE_MEMBERSHIP         = 0x47\n\tIP_DUMMYNET_CONFIGURE             = 0x3c\n\tIP_DUMMYNET_DEL                   = 0x3d\n\tIP_DUMMYNET_FLUSH                 = 0x3e\n\tIP_DUMMYNET_GET                   = 0x40\n\tIP_FAITH                          = 0x16\n\tIP_FW_ADD                         = 0x28\n\tIP_FW_DEL                         = 0x29\n\tIP_FW_FLUSH                       = 0x2a\n\tIP_FW_GET                         = 0x2c\n\tIP_FW_RESETLOG                    = 0x2d\n\tIP_FW_ZERO                        = 0x2b\n\tIP_HDRINCL                        = 0x2\n\tIP_IPSEC_POLICY                   = 0x15\n\tIP_MAXPACKET                      = 0xffff\n\tIP_MAX_GROUP_SRC_FILTER           = 0x200\n\tIP_MAX_MEMBERSHIPS                = 0xfff\n\tIP_MAX_SOCK_MUTE_FILTER           = 0x80\n\tIP_MAX_SOCK_SRC_FILTER            = 0x80\n\tIP_MF                             = 0x2000\n\tIP_MIN_MEMBERSHIPS                = 0x1f\n\tIP_MSFILTER                       = 0x4a\n\tIP_MSS                            = 0x240\n\tIP_MULTICAST_IF                   = 0x9\n\tIP_MULTICAST_IFINDEX              = 0x42\n\tIP_MULTICAST_LOOP                 = 0xb\n\tIP_MULTICAST_TTL                  = 0xa\n\tIP_MULTICAST_VIF                  = 0xe\n\tIP_NAT__XXX                       = 0x37\n\tIP_OFFMASK                        = 0x1fff\n\tIP_OLD_FW_ADD                     = 0x32\n\tIP_OLD_FW_DEL                     = 0x33\n\tIP_OLD_FW_FLUSH                   = 0x34\n\tIP_OLD_FW_GET                     = 0x36\n\tIP_OLD_FW_RESETLOG                = 0x38\n\tIP_OLD_FW_ZERO                    = 0x35\n\tIP_OPTIONS                        = 0x1\n\tIP_PKTINFO                        = 0x1a\n\tIP_PORTRANGE                      = 0x13\n\tIP_PORTRANGE_DEFAULT              = 0x0\n\tIP_PORTRANGE_HIGH                 = 0x1\n\tIP_PORTRANGE_LOW                  = 0x2\n\tIP_RECVDSTADDR                    = 0x7\n\tIP_RECVIF                         = 0x14\n\tIP_RECVOPTS                       = 0x5\n\tIP_RECVPKTINFO                    = 0x1a\n\tIP_RECVRETOPTS                    = 0x6\n\tIP_RECVTOS                        = 0x1b\n\tIP_RECVTTL                        = 0x18\n\tIP_RETOPTS                        = 0x8\n\tIP_RF                             = 0x8000\n\tIP_RSVP_OFF                       = 0x10\n\tIP_RSVP_ON                        = 0xf\n\tIP_RSVP_VIF_OFF                   = 0x12\n\tIP_RSVP_VIF_ON                    = 0x11\n\tIP_STRIPHDR                       = 0x17\n\tIP_TOS                            = 0x3\n\tIP_TRAFFIC_MGT_BACKGROUND         = 0x41\n\tIP_TTL                            = 0x4\n\tIP_UNBLOCK_SOURCE                 = 0x49\n\tISIG                              = 0x80\n\tISTRIP                            = 0x20\n\tIUTF8                             = 0x4000\n\tIXANY                             = 0x800\n\tIXOFF                             = 0x400\n\tIXON                              = 0x200\n\tKERN_HOSTNAME                     = 0xa\n\tKERN_OSRELEASE                    = 0x2\n\tKERN_OSTYPE                       = 0x1\n\tKERN_VERSION                      = 0x4\n\tLOCK_EX                           = 0x2\n\tLOCK_NB                           = 0x4\n\tLOCK_SH                           = 0x1\n\tLOCK_UN                           = 0x8\n\tMADV_CAN_REUSE                    = 0x9\n\tMADV_DONTNEED                     = 0x4\n\tMADV_FREE                         = 0x5\n\tMADV_FREE_REUSABLE                = 0x7\n\tMADV_FREE_REUSE                   = 0x8\n\tMADV_NORMAL                       = 0x0\n\tMADV_PAGEOUT                      = 0xa\n\tMADV_RANDOM                       = 0x1\n\tMADV_SEQUENTIAL                   = 0x2\n\tMADV_WILLNEED                     = 0x3\n\tMADV_ZERO_WIRED_PAGES             = 0x6\n\tMAP_ANON                          = 0x1000\n\tMAP_ANONYMOUS                     = 0x1000\n\tMAP_COPY                          = 0x2\n\tMAP_FILE                          = 0x0\n\tMAP_FIXED                         = 0x10\n\tMAP_HASSEMAPHORE                  = 0x200\n\tMAP_JIT                           = 0x800\n\tMAP_NOCACHE                       = 0x400\n\tMAP_NOEXTEND                      = 0x100\n\tMAP_NORESERVE                     = 0x40\n\tMAP_PRIVATE                       = 0x2\n\tMAP_RENAME                        = 0x20\n\tMAP_RESERVED0080                  = 0x80\n\tMAP_RESILIENT_CODESIGN            = 0x2000\n\tMAP_RESILIENT_MEDIA               = 0x4000\n\tMAP_SHARED                        = 0x1\n\tMCL_CURRENT                       = 0x1\n\tMCL_FUTURE                        = 0x2\n\tMNT_ASYNC                         = 0x40\n\tMNT_AUTOMOUNTED                   = 0x400000\n\tMNT_CMDFLAGS                      = 0xf0000\n\tMNT_CPROTECT                      = 0x80\n\tMNT_DEFWRITE                      = 0x2000000\n\tMNT_DONTBROWSE                    = 0x100000\n\tMNT_DOVOLFS                       = 0x8000\n\tMNT_DWAIT                         = 0x4\n\tMNT_EXPORTED                      = 0x100\n\tMNT_FORCE                         = 0x80000\n\tMNT_IGNORE_OWNERSHIP              = 0x200000\n\tMNT_JOURNALED                     = 0x800000\n\tMNT_LOCAL                         = 0x1000\n\tMNT_MULTILABEL                    = 0x4000000\n\tMNT_NOATIME                       = 0x10000000\n\tMNT_NOBLOCK                       = 0x20000\n\tMNT_NODEV                         = 0x10\n\tMNT_NOEXEC                        = 0x4\n\tMNT_NOSUID                        = 0x8\n\tMNT_NOUSERXATTR                   = 0x1000000\n\tMNT_NOWAIT                        = 0x2\n\tMNT_QUARANTINE                    = 0x400\n\tMNT_QUOTA                         = 0x2000\n\tMNT_RDONLY                        = 0x1\n\tMNT_RELOAD                        = 0x40000\n\tMNT_ROOTFS                        = 0x4000\n\tMNT_SYNCHRONOUS                   = 0x2\n\tMNT_UNION                         = 0x20\n\tMNT_UNKNOWNPERMISSIONS            = 0x200000\n\tMNT_UPDATE                        = 0x10000\n\tMNT_VISFLAGMASK                   = 0x17f0f5ff\n\tMNT_WAIT                          = 0x1\n\tMSG_CTRUNC                        = 0x20\n\tMSG_DONTROUTE                     = 0x4\n\tMSG_DONTWAIT                      = 0x80\n\tMSG_EOF                           = 0x100\n\tMSG_EOR                           = 0x8\n\tMSG_FLUSH                         = 0x400\n\tMSG_HAVEMORE                      = 0x2000\n\tMSG_HOLD                          = 0x800\n\tMSG_NEEDSA                        = 0x10000\n\tMSG_OOB                           = 0x1\n\tMSG_PEEK                          = 0x2\n\tMSG_RCVMORE                       = 0x4000\n\tMSG_SEND                          = 0x1000\n\tMSG_TRUNC                         = 0x10\n\tMSG_WAITALL                       = 0x40\n\tMSG_WAITSTREAM                    = 0x200\n\tMS_ASYNC                          = 0x1\n\tMS_DEACTIVATE                     = 0x8\n\tMS_INVALIDATE                     = 0x2\n\tMS_KILLPAGES                      = 0x4\n\tMS_SYNC                           = 0x10\n\tNAME_MAX                          = 0xff\n\tNET_RT_DUMP                       = 0x1\n\tNET_RT_DUMP2                      = 0x7\n\tNET_RT_FLAGS                      = 0x2\n\tNET_RT_IFLIST                     = 0x3\n\tNET_RT_IFLIST2                    = 0x6\n\tNET_RT_MAXID                      = 0xa\n\tNET_RT_STAT                       = 0x4\n\tNET_RT_TRASH                      = 0x5\n\tNL0                               = 0x0\n\tNL1                               = 0x100\n\tNL2                               = 0x200\n\tNL3                               = 0x300\n\tNLDLY                             = 0x300\n\tNOFLSH                            = 0x80000000\n\tNOKERNINFO                        = 0x2000000\n\tNOTE_ABSOLUTE                     = 0x8\n\tNOTE_ATTRIB                       = 0x8\n\tNOTE_BACKGROUND                   = 0x40\n\tNOTE_CHILD                        = 0x4\n\tNOTE_CRITICAL                     = 0x20\n\tNOTE_DELETE                       = 0x1\n\tNOTE_EXEC                         = 0x20000000\n\tNOTE_EXIT                         = 0x80000000\n\tNOTE_EXITSTATUS                   = 0x4000000\n\tNOTE_EXIT_CSERROR                 = 0x40000\n\tNOTE_EXIT_DECRYPTFAIL             = 0x10000\n\tNOTE_EXIT_DETAIL                  = 0x2000000\n\tNOTE_EXIT_DETAIL_MASK             = 0x70000\n\tNOTE_EXIT_MEMORY                  = 0x20000\n\tNOTE_EXIT_REPARENTED              = 0x80000\n\tNOTE_EXTEND                       = 0x4\n\tNOTE_FFAND                        = 0x40000000\n\tNOTE_FFCOPY                       = 0xc0000000\n\tNOTE_FFCTRLMASK                   = 0xc0000000\n\tNOTE_FFLAGSMASK                   = 0xffffff\n\tNOTE_FFNOP                        = 0x0\n\tNOTE_FFOR                         = 0x80000000\n\tNOTE_FORK                         = 0x40000000\n\tNOTE_FUNLOCK                      = 0x100\n\tNOTE_LEEWAY                       = 0x10\n\tNOTE_LINK                         = 0x10\n\tNOTE_LOWAT                        = 0x1\n\tNOTE_MACH_CONTINUOUS_TIME         = 0x80\n\tNOTE_NONE                         = 0x80\n\tNOTE_NSECONDS                     = 0x4\n\tNOTE_OOB                          = 0x2\n\tNOTE_PCTRLMASK                    = -0x100000\n\tNOTE_PDATAMASK                    = 0xfffff\n\tNOTE_REAP                         = 0x10000000\n\tNOTE_RENAME                       = 0x20\n\tNOTE_REVOKE                       = 0x40\n\tNOTE_SECONDS                      = 0x1\n\tNOTE_SIGNAL                       = 0x8000000\n\tNOTE_TRACK                        = 0x1\n\tNOTE_TRACKERR                     = 0x2\n\tNOTE_TRIGGER                      = 0x1000000\n\tNOTE_USECONDS                     = 0x2\n\tNOTE_VM_ERROR                     = 0x10000000\n\tNOTE_VM_PRESSURE                  = 0x80000000\n\tNOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000\n\tNOTE_VM_PRESSURE_TERMINATE        = 0x40000000\n\tNOTE_WRITE                        = 0x2\n\tOCRNL                             = 0x10\n\tOFDEL                             = 0x20000\n\tOFILL                             = 0x80\n\tONLCR                             = 0x2\n\tONLRET                            = 0x40\n\tONOCR                             = 0x20\n\tONOEOT                            = 0x8\n\tOPOST                             = 0x1\n\tOXTABS                            = 0x4\n\tO_ACCMODE                         = 0x3\n\tO_ALERT                           = 0x20000000\n\tO_APPEND                          = 0x8\n\tO_ASYNC                           = 0x40\n\tO_CLOEXEC                         = 0x1000000\n\tO_CREAT                           = 0x200\n\tO_DIRECTORY                       = 0x100000\n\tO_DP_GETRAWENCRYPTED              = 0x1\n\tO_DP_GETRAWUNENCRYPTED            = 0x2\n\tO_DSYNC                           = 0x400000\n\tO_EVTONLY                         = 0x8000\n\tO_EXCL                            = 0x800\n\tO_EXLOCK                          = 0x20\n\tO_FSYNC                           = 0x80\n\tO_NDELAY                          = 0x4\n\tO_NOCTTY                          = 0x20000\n\tO_NOFOLLOW                        = 0x100\n\tO_NONBLOCK                        = 0x4\n\tO_POPUP                           = 0x80000000\n\tO_RDONLY                          = 0x0\n\tO_RDWR                            = 0x2\n\tO_SHLOCK                          = 0x10\n\tO_SYMLINK                         = 0x200000\n\tO_SYNC                            = 0x80\n\tO_TRUNC                           = 0x400\n\tO_WRONLY                          = 0x1\n\tPARENB                            = 0x1000\n\tPARMRK                            = 0x8\n\tPARODD                            = 0x2000\n\tPENDIN                            = 0x20000000\n\tPRIO_PGRP                         = 0x1\n\tPRIO_PROCESS                      = 0x0\n\tPRIO_USER                         = 0x2\n\tPROT_EXEC                         = 0x4\n\tPROT_NONE                         = 0x0\n\tPROT_READ                         = 0x1\n\tPROT_WRITE                        = 0x2\n\tPT_ATTACH                         = 0xa\n\tPT_ATTACHEXC                      = 0xe\n\tPT_CONTINUE                       = 0x7\n\tPT_DENY_ATTACH                    = 0x1f\n\tPT_DETACH                         = 0xb\n\tPT_FIRSTMACH                      = 0x20\n\tPT_FORCEQUOTA                     = 0x1e\n\tPT_KILL                           = 0x8\n\tPT_READ_D                         = 0x2\n\tPT_READ_I                         = 0x1\n\tPT_READ_U                         = 0x3\n\tPT_SIGEXC                         = 0xc\n\tPT_STEP                           = 0x9\n\tPT_THUPDATE                       = 0xd\n\tPT_TRACE_ME                       = 0x0\n\tPT_WRITE_D                        = 0x5\n\tPT_WRITE_I                        = 0x4\n\tPT_WRITE_U                        = 0x6\n\tRLIMIT_AS                         = 0x5\n\tRLIMIT_CORE                       = 0x4\n\tRLIMIT_CPU                        = 0x0\n\tRLIMIT_CPU_USAGE_MONITOR          = 0x2\n\tRLIMIT_DATA                       = 0x2\n\tRLIMIT_FSIZE                      = 0x1\n\tRLIMIT_MEMLOCK                    = 0x6\n\tRLIMIT_NOFILE                     = 0x8\n\tRLIMIT_NPROC                      = 0x7\n\tRLIMIT_RSS                        = 0x5\n\tRLIMIT_STACK                      = 0x3\n\tRLIM_INFINITY                     = 0x7fffffffffffffff\n\tRTAX_AUTHOR                       = 0x6\n\tRTAX_BRD                          = 0x7\n\tRTAX_DST                          = 0x0\n\tRTAX_GATEWAY                      = 0x1\n\tRTAX_GENMASK                      = 0x3\n\tRTAX_IFA                          = 0x5\n\tRTAX_IFP                          = 0x4\n\tRTAX_MAX                          = 0x8\n\tRTAX_NETMASK                      = 0x2\n\tRTA_AUTHOR                        = 0x40\n\tRTA_BRD                           = 0x80\n\tRTA_DST                           = 0x1\n\tRTA_GATEWAY                       = 0x2\n\tRTA_GENMASK                       = 0x8\n\tRTA_IFA                           = 0x20\n\tRTA_IFP                           = 0x10\n\tRTA_NETMASK                       = 0x4\n\tRTF_BLACKHOLE                     = 0x1000\n\tRTF_BROADCAST                     = 0x400000\n\tRTF_CLONING                       = 0x100\n\tRTF_CONDEMNED                     = 0x2000000\n\tRTF_DELCLONE                      = 0x80\n\tRTF_DONE                          = 0x40\n\tRTF_DYNAMIC                       = 0x10\n\tRTF_GATEWAY                       = 0x2\n\tRTF_HOST                          = 0x4\n\tRTF_IFREF                         = 0x4000000\n\tRTF_IFSCOPE                       = 0x1000000\n\tRTF_LLINFO                        = 0x400\n\tRTF_LOCAL                         = 0x200000\n\tRTF_MODIFIED                      = 0x20\n\tRTF_MULTICAST                     = 0x800000\n\tRTF_NOIFREF                       = 0x2000\n\tRTF_PINNED                        = 0x100000\n\tRTF_PRCLONING                     = 0x10000\n\tRTF_PROTO1                        = 0x8000\n\tRTF_PROTO2                        = 0x4000\n\tRTF_PROTO3                        = 0x40000\n\tRTF_PROXY                         = 0x8000000\n\tRTF_REJECT                        = 0x8\n\tRTF_ROUTER                        = 0x10000000\n\tRTF_STATIC                        = 0x800\n\tRTF_UP                            = 0x1\n\tRTF_WASCLONED                     = 0x20000\n\tRTF_XRESOLVE                      = 0x200\n\tRTM_ADD                           = 0x1\n\tRTM_CHANGE                        = 0x3\n\tRTM_DELADDR                       = 0xd\n\tRTM_DELETE                        = 0x2\n\tRTM_DELMADDR                      = 0x10\n\tRTM_GET                           = 0x4\n\tRTM_GET2                          = 0x14\n\tRTM_IFINFO                        = 0xe\n\tRTM_IFINFO2                       = 0x12\n\tRTM_LOCK                          = 0x8\n\tRTM_LOSING                        = 0x5\n\tRTM_MISS                          = 0x7\n\tRTM_NEWADDR                       = 0xc\n\tRTM_NEWMADDR                      = 0xf\n\tRTM_NEWMADDR2                     = 0x13\n\tRTM_OLDADD                        = 0x9\n\tRTM_OLDDEL                        = 0xa\n\tRTM_REDIRECT                      = 0x6\n\tRTM_RESOLVE                       = 0xb\n\tRTM_RTTUNIT                       = 0xf4240\n\tRTM_VERSION                       = 0x5\n\tRTV_EXPIRE                        = 0x4\n\tRTV_HOPCOUNT                      = 0x2\n\tRTV_MTU                           = 0x1\n\tRTV_RPIPE                         = 0x8\n\tRTV_RTT                           = 0x40\n\tRTV_RTTVAR                        = 0x80\n\tRTV_SPIPE                         = 0x10\n\tRTV_SSTHRESH                      = 0x20\n\tRUSAGE_CHILDREN                   = -0x1\n\tRUSAGE_SELF                       = 0x0\n\tSCM_CREDS                         = 0x3\n\tSCM_RIGHTS                        = 0x1\n\tSCM_TIMESTAMP                     = 0x2\n\tSCM_TIMESTAMP_MONOTONIC           = 0x4\n\tSHUT_RD                           = 0x0\n\tSHUT_RDWR                         = 0x2\n\tSHUT_WR                           = 0x1\n\tSIOCADDMULTI                      = 0x80206931\n\tSIOCAIFADDR                       = 0x8040691a\n\tSIOCARPIPLL                       = 0xc0206928\n\tSIOCATMARK                        = 0x40047307\n\tSIOCAUTOADDR                      = 0xc0206926\n\tSIOCAUTONETMASK                   = 0x80206927\n\tSIOCDELMULTI                      = 0x80206932\n\tSIOCDIFADDR                       = 0x80206919\n\tSIOCDIFPHYADDR                    = 0x80206941\n\tSIOCGDRVSPEC                      = 0xc01c697b\n\tSIOCGETVLAN                       = 0xc020697f\n\tSIOCGHIWAT                        = 0x40047301\n\tSIOCGIFADDR                       = 0xc0206921\n\tSIOCGIFALTMTU                     = 0xc0206948\n\tSIOCGIFASYNCMAP                   = 0xc020697c\n\tSIOCGIFBOND                       = 0xc0206947\n\tSIOCGIFBRDADDR                    = 0xc0206923\n\tSIOCGIFCAP                        = 0xc020695b\n\tSIOCGIFCONF                       = 0xc0086924\n\tSIOCGIFDEVMTU                     = 0xc0206944\n\tSIOCGIFDSTADDR                    = 0xc0206922\n\tSIOCGIFFLAGS                      = 0xc0206911\n\tSIOCGIFGENERIC                    = 0xc020693a\n\tSIOCGIFKPI                        = 0xc0206987\n\tSIOCGIFMAC                        = 0xc0206982\n\tSIOCGIFMEDIA                      = 0xc0286938\n\tSIOCGIFMETRIC                     = 0xc0206917\n\tSIOCGIFMTU                        = 0xc0206933\n\tSIOCGIFNETMASK                    = 0xc0206925\n\tSIOCGIFPDSTADDR                   = 0xc0206940\n\tSIOCGIFPHYS                       = 0xc0206935\n\tSIOCGIFPSRCADDR                   = 0xc020693f\n\tSIOCGIFSTATUS                     = 0xc331693d\n\tSIOCGIFVLAN                       = 0xc020697f\n\tSIOCGIFWAKEFLAGS                  = 0xc0206988\n\tSIOCGLOWAT                        = 0x40047303\n\tSIOCGPGRP                         = 0x40047309\n\tSIOCIFCREATE                      = 0xc0206978\n\tSIOCIFCREATE2                     = 0xc020697a\n\tSIOCIFDESTROY                     = 0x80206979\n\tSIOCIFGCLONERS                    = 0xc00c6981\n\tSIOCRSLVMULTI                     = 0xc008693b\n\tSIOCSDRVSPEC                      = 0x801c697b\n\tSIOCSETVLAN                       = 0x8020697e\n\tSIOCSHIWAT                        = 0x80047300\n\tSIOCSIFADDR                       = 0x8020690c\n\tSIOCSIFALTMTU                     = 0x80206945\n\tSIOCSIFASYNCMAP                   = 0x8020697d\n\tSIOCSIFBOND                       = 0x80206946\n\tSIOCSIFBRDADDR                    = 0x80206913\n\tSIOCSIFCAP                        = 0x8020695a\n\tSIOCSIFDSTADDR                    = 0x8020690e\n\tSIOCSIFFLAGS                      = 0x80206910\n\tSIOCSIFGENERIC                    = 0x80206939\n\tSIOCSIFKPI                        = 0x80206986\n\tSIOCSIFLLADDR                     = 0x8020693c\n\tSIOCSIFMAC                        = 0x80206983\n\tSIOCSIFMEDIA                      = 0xc0206937\n\tSIOCSIFMETRIC                     = 0x80206918\n\tSIOCSIFMTU                        = 0x80206934\n\tSIOCSIFNETMASK                    = 0x80206916\n\tSIOCSIFPHYADDR                    = 0x8040693e\n\tSIOCSIFPHYS                       = 0x80206936\n\tSIOCSIFVLAN                       = 0x8020697e\n\tSIOCSLOWAT                        = 0x80047302\n\tSIOCSPGRP                         = 0x80047308\n\tSOCK_DGRAM                        = 0x2\n\tSOCK_MAXADDRLEN                   = 0xff\n\tSOCK_RAW                          = 0x3\n\tSOCK_RDM                          = 0x4\n\tSOCK_SEQPACKET                    = 0x5\n\tSOCK_STREAM                       = 0x1\n\tSOL_SOCKET                        = 0xffff\n\tSOMAXCONN                         = 0x80\n\tSO_ACCEPTCONN                     = 0x2\n\tSO_BROADCAST                      = 0x20\n\tSO_DEBUG                          = 0x1\n\tSO_DONTROUTE                      = 0x10\n\tSO_DONTTRUNC                      = 0x2000\n\tSO_ERROR                          = 0x1007\n\tSO_KEEPALIVE                      = 0x8\n\tSO_LABEL                          = 0x1010\n\tSO_LINGER                         = 0x80\n\tSO_LINGER_SEC                     = 0x1080\n\tSO_NETSVC_MARKING_LEVEL           = 0x1119\n\tSO_NET_SERVICE_TYPE               = 0x1116\n\tSO_NKE                            = 0x1021\n\tSO_NOADDRERR                      = 0x1023\n\tSO_NOSIGPIPE                      = 0x1022\n\tSO_NOTIFYCONFLICT                 = 0x1026\n\tSO_NP_EXTENSIONS                  = 0x1083\n\tSO_NREAD                          = 0x1020\n\tSO_NUMRCVPKT                      = 0x1112\n\tSO_NWRITE                         = 0x1024\n\tSO_OOBINLINE                      = 0x100\n\tSO_PEERLABEL                      = 0x1011\n\tSO_RANDOMPORT                     = 0x1082\n\tSO_RCVBUF                         = 0x1002\n\tSO_RCVLOWAT                       = 0x1004\n\tSO_RCVTIMEO                       = 0x1006\n\tSO_REUSEADDR                      = 0x4\n\tSO_REUSEPORT                      = 0x200\n\tSO_REUSESHAREUID                  = 0x1025\n\tSO_SNDBUF                         = 0x1001\n\tSO_SNDLOWAT                       = 0x1003\n\tSO_SNDTIMEO                       = 0x1005\n\tSO_TIMESTAMP                      = 0x400\n\tSO_TIMESTAMP_MONOTONIC            = 0x800\n\tSO_TYPE                           = 0x1008\n\tSO_UPCALLCLOSEWAIT                = 0x1027\n\tSO_USELOOPBACK                    = 0x40\n\tSO_WANTMORE                       = 0x4000\n\tSO_WANTOOBFLAG                    = 0x8000\n\tS_IEXEC                           = 0x40\n\tS_IFBLK                           = 0x6000\n\tS_IFCHR                           = 0x2000\n\tS_IFDIR                           = 0x4000\n\tS_IFIFO                           = 0x1000\n\tS_IFLNK                           = 0xa000\n\tS_IFMT                            = 0xf000\n\tS_IFREG                           = 0x8000\n\tS_IFSOCK                          = 0xc000\n\tS_IFWHT                           = 0xe000\n\tS_IREAD                           = 0x100\n\tS_IRGRP                           = 0x20\n\tS_IROTH                           = 0x4\n\tS_IRUSR                           = 0x100\n\tS_IRWXG                           = 0x38\n\tS_IRWXO                           = 0x7\n\tS_IRWXU                           = 0x1c0\n\tS_ISGID                           = 0x400\n\tS_ISTXT                           = 0x200\n\tS_ISUID                           = 0x800\n\tS_ISVTX                           = 0x200\n\tS_IWGRP                           = 0x10\n\tS_IWOTH                           = 0x2\n\tS_IWRITE                          = 0x80\n\tS_IWUSR                           = 0x80\n\tS_IXGRP                           = 0x8\n\tS_IXOTH                           = 0x1\n\tS_IXUSR                           = 0x40\n\tTAB0                              = 0x0\n\tTAB1                              = 0x400\n\tTAB2                              = 0x800\n\tTAB3                              = 0x4\n\tTABDLY                            = 0xc04\n\tTCIFLUSH                          = 0x1\n\tTCIOFF                            = 0x3\n\tTCIOFLUSH                         = 0x3\n\tTCION                             = 0x4\n\tTCOFLUSH                          = 0x2\n\tTCOOFF                            = 0x1\n\tTCOON                             = 0x2\n\tTCP_CONNECTIONTIMEOUT             = 0x20\n\tTCP_CONNECTION_INFO               = 0x106\n\tTCP_ENABLE_ECN                    = 0x104\n\tTCP_FASTOPEN                      = 0x105\n\tTCP_KEEPALIVE                     = 0x10\n\tTCP_KEEPCNT                       = 0x102\n\tTCP_KEEPINTVL                     = 0x101\n\tTCP_MAXHLEN                       = 0x3c\n\tTCP_MAXOLEN                       = 0x28\n\tTCP_MAXSEG                        = 0x2\n\tTCP_MAXWIN                        = 0xffff\n\tTCP_MAX_SACK                      = 0x4\n\tTCP_MAX_WINSHIFT                  = 0xe\n\tTCP_MINMSS                        = 0xd8\n\tTCP_MSS                           = 0x200\n\tTCP_NODELAY                       = 0x1\n\tTCP_NOOPT                         = 0x8\n\tTCP_NOPUSH                        = 0x4\n\tTCP_NOTSENT_LOWAT                 = 0x201\n\tTCP_RXT_CONNDROPTIME              = 0x80\n\tTCP_RXT_FINDROP                   = 0x100\n\tTCP_SENDMOREACKS                  = 0x103\n\tTCSAFLUSH                         = 0x2\n\tTIOCCBRK                          = 0x2000747a\n\tTIOCCDTR                          = 0x20007478\n\tTIOCCONS                          = 0x80047462\n\tTIOCDCDTIMESTAMP                  = 0x40087458\n\tTIOCDRAIN                         = 0x2000745e\n\tTIOCDSIMICROCODE                  = 0x20007455\n\tTIOCEXCL                          = 0x2000740d\n\tTIOCEXT                           = 0x80047460\n\tTIOCFLUSH                         = 0x80047410\n\tTIOCGDRAINWAIT                    = 0x40047456\n\tTIOCGETA                          = 0x402c7413\n\tTIOCGETD                          = 0x4004741a\n\tTIOCGPGRP                         = 0x40047477\n\tTIOCGWINSZ                        = 0x40087468\n\tTIOCIXOFF                         = 0x20007480\n\tTIOCIXON                          = 0x20007481\n\tTIOCMBIC                          = 0x8004746b\n\tTIOCMBIS                          = 0x8004746c\n\tTIOCMGDTRWAIT                     = 0x4004745a\n\tTIOCMGET                          = 0x4004746a\n\tTIOCMODG                          = 0x40047403\n\tTIOCMODS                          = 0x80047404\n\tTIOCMSDTRWAIT                     = 0x8004745b\n\tTIOCMSET                          = 0x8004746d\n\tTIOCM_CAR                         = 0x40\n\tTIOCM_CD                          = 0x40\n\tTIOCM_CTS                         = 0x20\n\tTIOCM_DSR                         = 0x100\n\tTIOCM_DTR                         = 0x2\n\tTIOCM_LE                          = 0x1\n\tTIOCM_RI                          = 0x80\n\tTIOCM_RNG                         = 0x80\n\tTIOCM_RTS                         = 0x4\n\tTIOCM_SR                          = 0x10\n\tTIOCM_ST                          = 0x8\n\tTIOCNOTTY                         = 0x20007471\n\tTIOCNXCL                          = 0x2000740e\n\tTIOCOUTQ                          = 0x40047473\n\tTIOCPKT                           = 0x80047470\n\tTIOCPKT_DATA                      = 0x0\n\tTIOCPKT_DOSTOP                    = 0x20\n\tTIOCPKT_FLUSHREAD                 = 0x1\n\tTIOCPKT_FLUSHWRITE                = 0x2\n\tTIOCPKT_IOCTL                     = 0x40\n\tTIOCPKT_NOSTOP                    = 0x10\n\tTIOCPKT_START                     = 0x8\n\tTIOCPKT_STOP                      = 0x4\n\tTIOCPTYGNAME                      = 0x40807453\n\tTIOCPTYGRANT                      = 0x20007454\n\tTIOCPTYUNLK                       = 0x20007452\n\tTIOCREMOTE                        = 0x80047469\n\tTIOCSBRK                          = 0x2000747b\n\tTIOCSCONS                         = 0x20007463\n\tTIOCSCTTY                         = 0x20007461\n\tTIOCSDRAINWAIT                    = 0x80047457\n\tTIOCSDTR                          = 0x20007479\n\tTIOCSETA                          = 0x802c7414\n\tTIOCSETAF                         = 0x802c7416\n\tTIOCSETAW                         = 0x802c7415\n\tTIOCSETD                          = 0x8004741b\n\tTIOCSIG                           = 0x2000745f\n\tTIOCSPGRP                         = 0x80047476\n\tTIOCSTART                         = 0x2000746e\n\tTIOCSTAT                          = 0x20007465\n\tTIOCSTI                           = 0x80017472\n\tTIOCSTOP                          = 0x2000746f\n\tTIOCSWINSZ                        = 0x80087467\n\tTIOCTIMESTAMP                     = 0x40087459\n\tTIOCUCNTL                         = 0x80047466\n\tTOSTOP                            = 0x400000\n\tVDISCARD                          = 0xf\n\tVDSUSP                            = 0xb\n\tVEOF                              = 0x0\n\tVEOL                              = 0x1\n\tVEOL2                             = 0x2\n\tVERASE                            = 0x3\n\tVINTR                             = 0x8\n\tVKILL                             = 0x5\n\tVLNEXT                            = 0xe\n\tVMIN                              = 0x10\n\tVM_LOADAVG                        = 0x2\n\tVM_MACHFACTOR                     = 0x4\n\tVM_MAXID                          = 0x6\n\tVM_METER                          = 0x1\n\tVM_SWAPUSAGE                      = 0x5\n\tVQUIT                             = 0x9\n\tVREPRINT                          = 0x6\n\tVSTART                            = 0xc\n\tVSTATUS                           = 0x12\n\tVSTOP                             = 0xd\n\tVSUSP                             = 0xa\n\tVT0                               = 0x0\n\tVT1                               = 0x10000\n\tVTDLY                             = 0x10000\n\tVTIME                             = 0x11\n\tVWERASE                           = 0x4\n\tWCONTINUED                        = 0x10\n\tWCOREFLAG                         = 0x80\n\tWEXITED                           = 0x4\n\tWNOHANG                           = 0x1\n\tWNOWAIT                           = 0x20\n\tWORDSIZE                          = 0x20\n\tWSTOPPED                          = 0x8\n\tWUNTRACED                         = 0x2\n\tXATTR_CREATE                      = 0x2\n\tXATTR_NODEFAULT                   = 0x10\n\tXATTR_NOFOLLOW                    = 0x1\n\tXATTR_NOSECURITY                  = 0x8\n\tXATTR_REPLACE                     = 0x4\n\tXATTR_SHOWCOMPRESSION             = 0x20\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x30)\n\tEADDRNOTAVAIL   = syscall.Errno(0x31)\n\tEAFNOSUPPORT    = syscall.Errno(0x2f)\n\tEAGAIN          = syscall.Errno(0x23)\n\tEALREADY        = syscall.Errno(0x25)\n\tEAUTH           = syscall.Errno(0x50)\n\tEBADARCH        = syscall.Errno(0x56)\n\tEBADEXEC        = syscall.Errno(0x55)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADMACHO       = syscall.Errno(0x58)\n\tEBADMSG         = syscall.Errno(0x5e)\n\tEBADRPC         = syscall.Errno(0x48)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x59)\n\tECHILD          = syscall.Errno(0xa)\n\tECONNABORTED    = syscall.Errno(0x35)\n\tECONNREFUSED    = syscall.Errno(0x3d)\n\tECONNRESET      = syscall.Errno(0x36)\n\tEDEADLK         = syscall.Errno(0xb)\n\tEDESTADDRREQ    = syscall.Errno(0x27)\n\tEDEVERR         = syscall.Errno(0x53)\n\tEDOM            = syscall.Errno(0x21)\n\tEDQUOT          = syscall.Errno(0x45)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEFTYPE          = syscall.Errno(0x4f)\n\tEHOSTDOWN       = syscall.Errno(0x40)\n\tEHOSTUNREACH    = syscall.Errno(0x41)\n\tEIDRM           = syscall.Errno(0x5a)\n\tEILSEQ          = syscall.Errno(0x5c)\n\tEINPROGRESS     = syscall.Errno(0x24)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x38)\n\tEISDIR          = syscall.Errno(0x15)\n\tELAST           = syscall.Errno(0x6a)\n\tELOOP           = syscall.Errno(0x3e)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x28)\n\tEMULTIHOP       = syscall.Errno(0x5f)\n\tENAMETOOLONG    = syscall.Errno(0x3f)\n\tENEEDAUTH       = syscall.Errno(0x51)\n\tENETDOWN        = syscall.Errno(0x32)\n\tENETRESET       = syscall.Errno(0x34)\n\tENETUNREACH     = syscall.Errno(0x33)\n\tENFILE          = syscall.Errno(0x17)\n\tENOATTR         = syscall.Errno(0x5d)\n\tENOBUFS         = syscall.Errno(0x37)\n\tENODATA         = syscall.Errno(0x60)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOLCK          = syscall.Errno(0x4d)\n\tENOLINK         = syscall.Errno(0x61)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x5b)\n\tENOPOLICY       = syscall.Errno(0x67)\n\tENOPROTOOPT     = syscall.Errno(0x2a)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x62)\n\tENOSTR          = syscall.Errno(0x63)\n\tENOSYS          = syscall.Errno(0x4e)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x39)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x42)\n\tENOTRECOVERABLE = syscall.Errno(0x68)\n\tENOTSOCK        = syscall.Errno(0x26)\n\tENOTSUP         = syscall.Errno(0x2d)\n\tENOTTY          = syscall.Errno(0x19)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x66)\n\tEOVERFLOW       = syscall.Errno(0x54)\n\tEOWNERDEAD      = syscall.Errno(0x69)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x2e)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROCLIM        = syscall.Errno(0x43)\n\tEPROCUNAVAIL    = syscall.Errno(0x4c)\n\tEPROGMISMATCH   = syscall.Errno(0x4b)\n\tEPROGUNAVAIL    = syscall.Errno(0x4a)\n\tEPROTO          = syscall.Errno(0x64)\n\tEPROTONOSUPPORT = syscall.Errno(0x2b)\n\tEPROTOTYPE      = syscall.Errno(0x29)\n\tEPWROFF         = syscall.Errno(0x52)\n\tEQFULL          = syscall.Errno(0x6a)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMOTE         = syscall.Errno(0x47)\n\tEROFS           = syscall.Errno(0x1e)\n\tERPCMISMATCH    = syscall.Errno(0x49)\n\tESHLIBVERS      = syscall.Errno(0x57)\n\tESHUTDOWN       = syscall.Errno(0x3a)\n\tESOCKTNOSUPPORT = syscall.Errno(0x2c)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESTALE          = syscall.Errno(0x46)\n\tETIME           = syscall.Errno(0x65)\n\tETIMEDOUT       = syscall.Errno(0x3c)\n\tETOOMANYREFS    = syscall.Errno(0x3b)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUSERS          = syscall.Errno(0x44)\n\tEWOULDBLOCK     = syscall.Errno(0x23)\n\tEXDEV           = syscall.Errno(0x12)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x14)\n\tSIGCONT   = syscall.Signal(0x13)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINFO   = syscall.Signal(0x1d)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x17)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x11)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x12)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x10)\n\tSIGUSR1   = syscall.Signal(0x1e)\n\tSIGUSR2   = syscall.Signal(0x1f)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errorList = [...]struct {\n\tnum  syscall.Errno\n\tname string\n\tdesc string\n}{\n\t{1, \"EPERM\", \"operation not permitted\"},\n\t{2, \"ENOENT\", \"no such file or directory\"},\n\t{3, \"ESRCH\", \"no such process\"},\n\t{4, \"EINTR\", \"interrupted system call\"},\n\t{5, \"EIO\", \"input/output error\"},\n\t{6, \"ENXIO\", \"device not configured\"},\n\t{7, \"E2BIG\", \"argument list too long\"},\n\t{8, \"ENOEXEC\", \"exec format error\"},\n\t{9, \"EBADF\", \"bad file descriptor\"},\n\t{10, \"ECHILD\", \"no child processes\"},\n\t{11, \"EDEADLK\", \"resource deadlock avoided\"},\n\t{12, \"ENOMEM\", \"cannot allocate memory\"},\n\t{13, \"EACCES\", \"permission denied\"},\n\t{14, \"EFAULT\", \"bad address\"},\n\t{15, \"ENOTBLK\", \"block device required\"},\n\t{16, \"EBUSY\", \"resource busy\"},\n\t{17, \"EEXIST\", \"file exists\"},\n\t{18, \"EXDEV\", \"cross-device link\"},\n\t{19, \"ENODEV\", \"operation not supported by device\"},\n\t{20, \"ENOTDIR\", \"not a directory\"},\n\t{21, \"EISDIR\", \"is a directory\"},\n\t{22, \"EINVAL\", \"invalid argument\"},\n\t{23, \"ENFILE\", \"too many open files in system\"},\n\t{24, \"EMFILE\", \"too many open files\"},\n\t{25, \"ENOTTY\", \"inappropriate ioctl for device\"},\n\t{26, \"ETXTBSY\", \"text file busy\"},\n\t{27, \"EFBIG\", \"file too large\"},\n\t{28, \"ENOSPC\", \"no space left on device\"},\n\t{29, \"ESPIPE\", \"illegal seek\"},\n\t{30, \"EROFS\", \"read-only file system\"},\n\t{31, \"EMLINK\", \"too many links\"},\n\t{32, \"EPIPE\", \"broken pipe\"},\n\t{33, \"EDOM\", \"numerical argument out of domain\"},\n\t{34, \"ERANGE\", \"result too large\"},\n\t{35, \"EAGAIN\", \"resource temporarily unavailable\"},\n\t{36, \"EINPROGRESS\", \"operation now in progress\"},\n\t{37, \"EALREADY\", \"operation already in progress\"},\n\t{38, \"ENOTSOCK\", \"socket operation on non-socket\"},\n\t{39, \"EDESTADDRREQ\", \"destination address required\"},\n\t{40, \"EMSGSIZE\", \"message too long\"},\n\t{41, \"EPROTOTYPE\", \"protocol wrong type for socket\"},\n\t{42, \"ENOPROTOOPT\", \"protocol not available\"},\n\t{43, \"EPROTONOSUPPORT\", \"protocol not supported\"},\n\t{44, \"ESOCKTNOSUPPORT\", \"socket type not supported\"},\n\t{45, \"ENOTSUP\", \"operation not supported\"},\n\t{46, \"EPFNOSUPPORT\", \"protocol family not supported\"},\n\t{47, \"EAFNOSUPPORT\", \"address family not supported by protocol family\"},\n\t{48, \"EADDRINUSE\", \"address already in use\"},\n\t{49, \"EADDRNOTAVAIL\", \"can't assign requested address\"},\n\t{50, \"ENETDOWN\", \"network is down\"},\n\t{51, \"ENETUNREACH\", \"network is unreachable\"},\n\t{52, \"ENETRESET\", \"network dropped connection on reset\"},\n\t{53, \"ECONNABORTED\", \"software caused connection abort\"},\n\t{54, \"ECONNRESET\", \"connection reset by peer\"},\n\t{55, \"ENOBUFS\", \"no buffer space available\"},\n\t{56, \"EISCONN\", \"socket is already connected\"},\n\t{57, \"ENOTCONN\", \"socket is not connected\"},\n\t{58, \"ESHUTDOWN\", \"can't send after socket shutdown\"},\n\t{59, \"ETOOMANYREFS\", \"too many references: can't splice\"},\n\t{60, \"ETIMEDOUT\", \"operation timed out\"},\n\t{61, \"ECONNREFUSED\", \"connection refused\"},\n\t{62, \"ELOOP\", \"too many levels of symbolic links\"},\n\t{63, \"ENAMETOOLONG\", \"file name too long\"},\n\t{64, \"EHOSTDOWN\", \"host is down\"},\n\t{65, \"EHOSTUNREACH\", \"no route to host\"},\n\t{66, \"ENOTEMPTY\", \"directory not empty\"},\n\t{67, \"EPROCLIM\", \"too many processes\"},\n\t{68, \"EUSERS\", \"too many users\"},\n\t{69, \"EDQUOT\", \"disc quota exceeded\"},\n\t{70, \"ESTALE\", \"stale NFS file handle\"},\n\t{71, \"EREMOTE\", \"too many levels of remote in path\"},\n\t{72, \"EBADRPC\", \"RPC struct is bad\"},\n\t{73, \"ERPCMISMATCH\", \"RPC version wrong\"},\n\t{74, \"EPROGUNAVAIL\", \"RPC prog. not avail\"},\n\t{75, \"EPROGMISMATCH\", \"program version wrong\"},\n\t{76, \"EPROCUNAVAIL\", \"bad procedure for program\"},\n\t{77, \"ENOLCK\", \"no locks available\"},\n\t{78, \"ENOSYS\", \"function not implemented\"},\n\t{79, \"EFTYPE\", \"inappropriate file type or format\"},\n\t{80, \"EAUTH\", \"authentication error\"},\n\t{81, \"ENEEDAUTH\", \"need authenticator\"},\n\t{82, \"EPWROFF\", \"device power is off\"},\n\t{83, \"EDEVERR\", \"device error\"},\n\t{84, \"EOVERFLOW\", \"value too large to be stored in data type\"},\n\t{85, \"EBADEXEC\", \"bad executable (or shared library)\"},\n\t{86, \"EBADARCH\", \"bad CPU type in executable\"},\n\t{87, \"ESHLIBVERS\", \"shared library version mismatch\"},\n\t{88, \"EBADMACHO\", \"malformed Mach-o file\"},\n\t{89, \"ECANCELED\", \"operation canceled\"},\n\t{90, \"EIDRM\", \"identifier removed\"},\n\t{91, \"ENOMSG\", \"no message of desired type\"},\n\t{92, \"EILSEQ\", \"illegal byte sequence\"},\n\t{93, \"ENOATTR\", \"attribute not found\"},\n\t{94, \"EBADMSG\", \"bad message\"},\n\t{95, \"EMULTIHOP\", \"EMULTIHOP (Reserved)\"},\n\t{96, \"ENODATA\", \"no message available on STREAM\"},\n\t{97, \"ENOLINK\", \"ENOLINK (Reserved)\"},\n\t{98, \"ENOSR\", \"no STREAM resources\"},\n\t{99, \"ENOSTR\", \"not a STREAM\"},\n\t{100, \"EPROTO\", \"protocol error\"},\n\t{101, \"ETIME\", \"STREAM ioctl timeout\"},\n\t{102, \"EOPNOTSUPP\", \"operation not supported on socket\"},\n\t{103, \"ENOPOLICY\", \"policy not found\"},\n\t{104, \"ENOTRECOVERABLE\", \"state not recoverable\"},\n\t{105, \"EOWNERDEAD\", \"previous owner died\"},\n\t{106, \"EQFULL\", \"interface output queue is full\"},\n}\n\n// Signal table\nvar signalList = [...]struct {\n\tnum  syscall.Signal\n\tname string\n\tdesc string\n}{\n\t{1, \"SIGHUP\", \"hangup\"},\n\t{2, \"SIGINT\", \"interrupt\"},\n\t{3, \"SIGQUIT\", \"quit\"},\n\t{4, \"SIGILL\", \"illegal instruction\"},\n\t{5, \"SIGTRAP\", \"trace/BPT trap\"},\n\t{6, \"SIGABRT\", \"abort trap\"},\n\t{7, \"SIGEMT\", \"EMT trap\"},\n\t{8, \"SIGFPE\", \"floating point exception\"},\n\t{9, \"SIGKILL\", \"killed\"},\n\t{10, \"SIGBUS\", \"bus error\"},\n\t{11, \"SIGSEGV\", \"segmentation fault\"},\n\t{12, \"SIGSYS\", \"bad system call\"},\n\t{13, \"SIGPIPE\", \"broken pipe\"},\n\t{14, \"SIGALRM\", \"alarm clock\"},\n\t{15, \"SIGTERM\", \"terminated\"},\n\t{16, \"SIGURG\", \"urgent I/O condition\"},\n\t{17, \"SIGSTOP\", \"suspended (signal)\"},\n\t{18, \"SIGTSTP\", \"suspended\"},\n\t{19, \"SIGCONT\", \"continued\"},\n\t{20, \"SIGCHLD\", \"child exited\"},\n\t{21, \"SIGTTIN\", \"stopped (tty input)\"},\n\t{22, \"SIGTTOU\", \"stopped (tty output)\"},\n\t{23, \"SIGIO\", \"I/O possible\"},\n\t{24, \"SIGXCPU\", \"cputime limit exceeded\"},\n\t{25, \"SIGXFSZ\", \"filesize limit exceeded\"},\n\t{26, \"SIGVTALRM\", \"virtual timer expired\"},\n\t{27, \"SIGPROF\", \"profiling timer expired\"},\n\t{28, \"SIGWINCH\", \"window size changes\"},\n\t{29, \"SIGINFO\", \"information request\"},\n\t{30, \"SIGUSR1\", \"user defined signal 1\"},\n\t{31, \"SIGUSR2\", \"user defined signal 2\"},\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go",
    "content": "// mkerrors.sh -m64\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,darwin\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -m64 _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_APPLETALK                      = 0x10\n\tAF_CCITT                          = 0xa\n\tAF_CHAOS                          = 0x5\n\tAF_CNT                            = 0x15\n\tAF_COIP                           = 0x14\n\tAF_DATAKIT                        = 0x9\n\tAF_DECnet                         = 0xc\n\tAF_DLI                            = 0xd\n\tAF_E164                           = 0x1c\n\tAF_ECMA                           = 0x8\n\tAF_HYLINK                         = 0xf\n\tAF_IEEE80211                      = 0x25\n\tAF_IMPLINK                        = 0x3\n\tAF_INET                           = 0x2\n\tAF_INET6                          = 0x1e\n\tAF_IPX                            = 0x17\n\tAF_ISDN                           = 0x1c\n\tAF_ISO                            = 0x7\n\tAF_LAT                            = 0xe\n\tAF_LINK                           = 0x12\n\tAF_LOCAL                          = 0x1\n\tAF_MAX                            = 0x28\n\tAF_NATM                           = 0x1f\n\tAF_NDRV                           = 0x1b\n\tAF_NETBIOS                        = 0x21\n\tAF_NS                             = 0x6\n\tAF_OSI                            = 0x7\n\tAF_PPP                            = 0x22\n\tAF_PUP                            = 0x4\n\tAF_RESERVED_36                    = 0x24\n\tAF_ROUTE                          = 0x11\n\tAF_SIP                            = 0x18\n\tAF_SNA                            = 0xb\n\tAF_SYSTEM                         = 0x20\n\tAF_UNIX                           = 0x1\n\tAF_UNSPEC                         = 0x0\n\tAF_UTUN                           = 0x26\n\tALTWERASE                         = 0x200\n\tATTR_BIT_MAP_COUNT                = 0x5\n\tATTR_CMN_ACCESSMASK               = 0x20000\n\tATTR_CMN_ACCTIME                  = 0x1000\n\tATTR_CMN_ADDEDTIME                = 0x10000000\n\tATTR_CMN_BKUPTIME                 = 0x2000\n\tATTR_CMN_CHGTIME                  = 0x800\n\tATTR_CMN_CRTIME                   = 0x200\n\tATTR_CMN_DATA_PROTECT_FLAGS       = 0x40000000\n\tATTR_CMN_DEVID                    = 0x2\n\tATTR_CMN_DOCUMENT_ID              = 0x100000\n\tATTR_CMN_ERROR                    = 0x20000000\n\tATTR_CMN_EXTENDED_SECURITY        = 0x400000\n\tATTR_CMN_FILEID                   = 0x2000000\n\tATTR_CMN_FLAGS                    = 0x40000\n\tATTR_CMN_FNDRINFO                 = 0x4000\n\tATTR_CMN_FSID                     = 0x4\n\tATTR_CMN_FULLPATH                 = 0x8000000\n\tATTR_CMN_GEN_COUNT                = 0x80000\n\tATTR_CMN_GRPID                    = 0x10000\n\tATTR_CMN_GRPUUID                  = 0x1000000\n\tATTR_CMN_MODTIME                  = 0x400\n\tATTR_CMN_NAME                     = 0x1\n\tATTR_CMN_NAMEDATTRCOUNT           = 0x80000\n\tATTR_CMN_NAMEDATTRLIST            = 0x100000\n\tATTR_CMN_OBJID                    = 0x20\n\tATTR_CMN_OBJPERMANENTID           = 0x40\n\tATTR_CMN_OBJTAG                   = 0x10\n\tATTR_CMN_OBJTYPE                  = 0x8\n\tATTR_CMN_OWNERID                  = 0x8000\n\tATTR_CMN_PARENTID                 = 0x4000000\n\tATTR_CMN_PAROBJID                 = 0x80\n\tATTR_CMN_RETURNED_ATTRS           = 0x80000000\n\tATTR_CMN_SCRIPT                   = 0x100\n\tATTR_CMN_SETMASK                  = 0x41c7ff00\n\tATTR_CMN_USERACCESS               = 0x200000\n\tATTR_CMN_UUID                     = 0x800000\n\tATTR_CMN_VALIDMASK                = 0xffffffff\n\tATTR_CMN_VOLSETMASK               = 0x6700\n\tATTR_FILE_ALLOCSIZE               = 0x4\n\tATTR_FILE_CLUMPSIZE               = 0x10\n\tATTR_FILE_DATAALLOCSIZE           = 0x400\n\tATTR_FILE_DATAEXTENTS             = 0x800\n\tATTR_FILE_DATALENGTH              = 0x200\n\tATTR_FILE_DEVTYPE                 = 0x20\n\tATTR_FILE_FILETYPE                = 0x40\n\tATTR_FILE_FORKCOUNT               = 0x80\n\tATTR_FILE_FORKLIST                = 0x100\n\tATTR_FILE_IOBLOCKSIZE             = 0x8\n\tATTR_FILE_LINKCOUNT               = 0x1\n\tATTR_FILE_RSRCALLOCSIZE           = 0x2000\n\tATTR_FILE_RSRCEXTENTS             = 0x4000\n\tATTR_FILE_RSRCLENGTH              = 0x1000\n\tATTR_FILE_SETMASK                 = 0x20\n\tATTR_FILE_TOTALSIZE               = 0x2\n\tATTR_FILE_VALIDMASK               = 0x37ff\n\tATTR_VOL_ALLOCATIONCLUMP          = 0x40\n\tATTR_VOL_ATTRIBUTES               = 0x40000000\n\tATTR_VOL_CAPABILITIES             = 0x20000\n\tATTR_VOL_DIRCOUNT                 = 0x400\n\tATTR_VOL_ENCODINGSUSED            = 0x10000\n\tATTR_VOL_FILECOUNT                = 0x200\n\tATTR_VOL_FSTYPE                   = 0x1\n\tATTR_VOL_INFO                     = 0x80000000\n\tATTR_VOL_IOBLOCKSIZE              = 0x80\n\tATTR_VOL_MAXOBJCOUNT              = 0x800\n\tATTR_VOL_MINALLOCATION            = 0x20\n\tATTR_VOL_MOUNTEDDEVICE            = 0x8000\n\tATTR_VOL_MOUNTFLAGS               = 0x4000\n\tATTR_VOL_MOUNTPOINT               = 0x1000\n\tATTR_VOL_NAME                     = 0x2000\n\tATTR_VOL_OBJCOUNT                 = 0x100\n\tATTR_VOL_QUOTA_SIZE               = 0x10000000\n\tATTR_VOL_RESERVED_SIZE            = 0x20000000\n\tATTR_VOL_SETMASK                  = 0x80002000\n\tATTR_VOL_SIGNATURE                = 0x2\n\tATTR_VOL_SIZE                     = 0x4\n\tATTR_VOL_SPACEAVAIL               = 0x10\n\tATTR_VOL_SPACEFREE                = 0x8\n\tATTR_VOL_UUID                     = 0x40000\n\tATTR_VOL_VALIDMASK                = 0xf007ffff\n\tB0                                = 0x0\n\tB110                              = 0x6e\n\tB115200                           = 0x1c200\n\tB1200                             = 0x4b0\n\tB134                              = 0x86\n\tB14400                            = 0x3840\n\tB150                              = 0x96\n\tB1800                             = 0x708\n\tB19200                            = 0x4b00\n\tB200                              = 0xc8\n\tB230400                           = 0x38400\n\tB2400                             = 0x960\n\tB28800                            = 0x7080\n\tB300                              = 0x12c\n\tB38400                            = 0x9600\n\tB4800                             = 0x12c0\n\tB50                               = 0x32\n\tB57600                            = 0xe100\n\tB600                              = 0x258\n\tB7200                             = 0x1c20\n\tB75                               = 0x4b\n\tB76800                            = 0x12c00\n\tB9600                             = 0x2580\n\tBIOCFLUSH                         = 0x20004268\n\tBIOCGBLEN                         = 0x40044266\n\tBIOCGDLT                          = 0x4004426a\n\tBIOCGDLTLIST                      = 0xc00c4279\n\tBIOCGETIF                         = 0x4020426b\n\tBIOCGHDRCMPLT                     = 0x40044274\n\tBIOCGRSIG                         = 0x40044272\n\tBIOCGRTIMEOUT                     = 0x4010426e\n\tBIOCGSEESENT                      = 0x40044276\n\tBIOCGSTATS                        = 0x4008426f\n\tBIOCIMMEDIATE                     = 0x80044270\n\tBIOCPROMISC                       = 0x20004269\n\tBIOCSBLEN                         = 0xc0044266\n\tBIOCSDLT                          = 0x80044278\n\tBIOCSETF                          = 0x80104267\n\tBIOCSETFNR                        = 0x8010427e\n\tBIOCSETIF                         = 0x8020426c\n\tBIOCSHDRCMPLT                     = 0x80044275\n\tBIOCSRSIG                         = 0x80044273\n\tBIOCSRTIMEOUT                     = 0x8010426d\n\tBIOCSSEESENT                      = 0x80044277\n\tBIOCVERSION                       = 0x40044271\n\tBPF_A                             = 0x10\n\tBPF_ABS                           = 0x20\n\tBPF_ADD                           = 0x0\n\tBPF_ALIGNMENT                     = 0x4\n\tBPF_ALU                           = 0x4\n\tBPF_AND                           = 0x50\n\tBPF_B                             = 0x10\n\tBPF_DIV                           = 0x30\n\tBPF_H                             = 0x8\n\tBPF_IMM                           = 0x0\n\tBPF_IND                           = 0x40\n\tBPF_JA                            = 0x0\n\tBPF_JEQ                           = 0x10\n\tBPF_JGE                           = 0x30\n\tBPF_JGT                           = 0x20\n\tBPF_JMP                           = 0x5\n\tBPF_JSET                          = 0x40\n\tBPF_K                             = 0x0\n\tBPF_LD                            = 0x0\n\tBPF_LDX                           = 0x1\n\tBPF_LEN                           = 0x80\n\tBPF_LSH                           = 0x60\n\tBPF_MAJOR_VERSION                 = 0x1\n\tBPF_MAXBUFSIZE                    = 0x80000\n\tBPF_MAXINSNS                      = 0x200\n\tBPF_MEM                           = 0x60\n\tBPF_MEMWORDS                      = 0x10\n\tBPF_MINBUFSIZE                    = 0x20\n\tBPF_MINOR_VERSION                 = 0x1\n\tBPF_MISC                          = 0x7\n\tBPF_MSH                           = 0xa0\n\tBPF_MUL                           = 0x20\n\tBPF_NEG                           = 0x80\n\tBPF_OR                            = 0x40\n\tBPF_RELEASE                       = 0x30bb6\n\tBPF_RET                           = 0x6\n\tBPF_RSH                           = 0x70\n\tBPF_ST                            = 0x2\n\tBPF_STX                           = 0x3\n\tBPF_SUB                           = 0x10\n\tBPF_TAX                           = 0x0\n\tBPF_TXA                           = 0x80\n\tBPF_W                             = 0x0\n\tBPF_X                             = 0x8\n\tBRKINT                            = 0x2\n\tBS0                               = 0x0\n\tBS1                               = 0x8000\n\tBSDLY                             = 0x8000\n\tCFLUSH                            = 0xf\n\tCLOCAL                            = 0x8000\n\tCLOCK_MONOTONIC                   = 0x6\n\tCLOCK_MONOTONIC_RAW               = 0x4\n\tCLOCK_MONOTONIC_RAW_APPROX        = 0x5\n\tCLOCK_PROCESS_CPUTIME_ID          = 0xc\n\tCLOCK_REALTIME                    = 0x0\n\tCLOCK_THREAD_CPUTIME_ID           = 0x10\n\tCLOCK_UPTIME_RAW                  = 0x8\n\tCLOCK_UPTIME_RAW_APPROX           = 0x9\n\tCR0                               = 0x0\n\tCR1                               = 0x1000\n\tCR2                               = 0x2000\n\tCR3                               = 0x3000\n\tCRDLY                             = 0x3000\n\tCREAD                             = 0x800\n\tCRTSCTS                           = 0x30000\n\tCS5                               = 0x0\n\tCS6                               = 0x100\n\tCS7                               = 0x200\n\tCS8                               = 0x300\n\tCSIZE                             = 0x300\n\tCSTART                            = 0x11\n\tCSTATUS                           = 0x14\n\tCSTOP                             = 0x13\n\tCSTOPB                            = 0x400\n\tCSUSP                             = 0x1a\n\tCTL_HW                            = 0x6\n\tCTL_KERN                          = 0x1\n\tCTL_MAXNAME                       = 0xc\n\tCTL_NET                           = 0x4\n\tDLT_A429                          = 0xb8\n\tDLT_A653_ICM                      = 0xb9\n\tDLT_AIRONET_HEADER                = 0x78\n\tDLT_AOS                           = 0xde\n\tDLT_APPLE_IP_OVER_IEEE1394        = 0x8a\n\tDLT_ARCNET                        = 0x7\n\tDLT_ARCNET_LINUX                  = 0x81\n\tDLT_ATM_CLIP                      = 0x13\n\tDLT_ATM_RFC1483                   = 0xb\n\tDLT_AURORA                        = 0x7e\n\tDLT_AX25                          = 0x3\n\tDLT_AX25_KISS                     = 0xca\n\tDLT_BACNET_MS_TP                  = 0xa5\n\tDLT_BLUETOOTH_HCI_H4              = 0xbb\n\tDLT_BLUETOOTH_HCI_H4_WITH_PHDR    = 0xc9\n\tDLT_CAN20B                        = 0xbe\n\tDLT_CAN_SOCKETCAN                 = 0xe3\n\tDLT_CHAOS                         = 0x5\n\tDLT_CHDLC                         = 0x68\n\tDLT_CISCO_IOS                     = 0x76\n\tDLT_C_HDLC                        = 0x68\n\tDLT_C_HDLC_WITH_DIR               = 0xcd\n\tDLT_DBUS                          = 0xe7\n\tDLT_DECT                          = 0xdd\n\tDLT_DOCSIS                        = 0x8f\n\tDLT_DVB_CI                        = 0xeb\n\tDLT_ECONET                        = 0x73\n\tDLT_EN10MB                        = 0x1\n\tDLT_EN3MB                         = 0x2\n\tDLT_ENC                           = 0x6d\n\tDLT_ERF                           = 0xc5\n\tDLT_ERF_ETH                       = 0xaf\n\tDLT_ERF_POS                       = 0xb0\n\tDLT_FC_2                          = 0xe0\n\tDLT_FC_2_WITH_FRAME_DELIMS        = 0xe1\n\tDLT_FDDI                          = 0xa\n\tDLT_FLEXRAY                       = 0xd2\n\tDLT_FRELAY                        = 0x6b\n\tDLT_FRELAY_WITH_DIR               = 0xce\n\tDLT_GCOM_SERIAL                   = 0xad\n\tDLT_GCOM_T1E1                     = 0xac\n\tDLT_GPF_F                         = 0xab\n\tDLT_GPF_T                         = 0xaa\n\tDLT_GPRS_LLC                      = 0xa9\n\tDLT_GSMTAP_ABIS                   = 0xda\n\tDLT_GSMTAP_UM                     = 0xd9\n\tDLT_HHDLC                         = 0x79\n\tDLT_IBM_SN                        = 0x92\n\tDLT_IBM_SP                        = 0x91\n\tDLT_IEEE802                       = 0x6\n\tDLT_IEEE802_11                    = 0x69\n\tDLT_IEEE802_11_RADIO              = 0x7f\n\tDLT_IEEE802_11_RADIO_AVS          = 0xa3\n\tDLT_IEEE802_15_4                  = 0xc3\n\tDLT_IEEE802_15_4_LINUX            = 0xbf\n\tDLT_IEEE802_15_4_NOFCS            = 0xe6\n\tDLT_IEEE802_15_4_NONASK_PHY       = 0xd7\n\tDLT_IEEE802_16_MAC_CPS            = 0xbc\n\tDLT_IEEE802_16_MAC_CPS_RADIO      = 0xc1\n\tDLT_IPFILTER                      = 0x74\n\tDLT_IPMB                          = 0xc7\n\tDLT_IPMB_LINUX                    = 0xd1\n\tDLT_IPNET                         = 0xe2\n\tDLT_IPOIB                         = 0xf2\n\tDLT_IPV4                          = 0xe4\n\tDLT_IPV6                          = 0xe5\n\tDLT_IP_OVER_FC                    = 0x7a\n\tDLT_JUNIPER_ATM1                  = 0x89\n\tDLT_JUNIPER_ATM2                  = 0x87\n\tDLT_JUNIPER_ATM_CEMIC             = 0xee\n\tDLT_JUNIPER_CHDLC                 = 0xb5\n\tDLT_JUNIPER_ES                    = 0x84\n\tDLT_JUNIPER_ETHER                 = 0xb2\n\tDLT_JUNIPER_FIBRECHANNEL          = 0xea\n\tDLT_JUNIPER_FRELAY                = 0xb4\n\tDLT_JUNIPER_GGSN                  = 0x85\n\tDLT_JUNIPER_ISM                   = 0xc2\n\tDLT_JUNIPER_MFR                   = 0x86\n\tDLT_JUNIPER_MLFR                  = 0x83\n\tDLT_JUNIPER_MLPPP                 = 0x82\n\tDLT_JUNIPER_MONITOR               = 0xa4\n\tDLT_JUNIPER_PIC_PEER              = 0xae\n\tDLT_JUNIPER_PPP                   = 0xb3\n\tDLT_JUNIPER_PPPOE                 = 0xa7\n\tDLT_JUNIPER_PPPOE_ATM             = 0xa8\n\tDLT_JUNIPER_SERVICES              = 0x88\n\tDLT_JUNIPER_SRX_E2E               = 0xe9\n\tDLT_JUNIPER_ST                    = 0xc8\n\tDLT_JUNIPER_VP                    = 0xb7\n\tDLT_JUNIPER_VS                    = 0xe8\n\tDLT_LAPB_WITH_DIR                 = 0xcf\n\tDLT_LAPD                          = 0xcb\n\tDLT_LIN                           = 0xd4\n\tDLT_LINUX_EVDEV                   = 0xd8\n\tDLT_LINUX_IRDA                    = 0x90\n\tDLT_LINUX_LAPD                    = 0xb1\n\tDLT_LINUX_PPP_WITHDIRECTION       = 0xa6\n\tDLT_LINUX_SLL                     = 0x71\n\tDLT_LOOP                          = 0x6c\n\tDLT_LTALK                         = 0x72\n\tDLT_MATCHING_MAX                  = 0xf5\n\tDLT_MATCHING_MIN                  = 0x68\n\tDLT_MFR                           = 0xb6\n\tDLT_MOST                          = 0xd3\n\tDLT_MPEG_2_TS                     = 0xf3\n\tDLT_MPLS                          = 0xdb\n\tDLT_MTP2                          = 0x8c\n\tDLT_MTP2_WITH_PHDR                = 0x8b\n\tDLT_MTP3                          = 0x8d\n\tDLT_MUX27010                      = 0xec\n\tDLT_NETANALYZER                   = 0xf0\n\tDLT_NETANALYZER_TRANSPARENT       = 0xf1\n\tDLT_NFC_LLCP                      = 0xf5\n\tDLT_NFLOG                         = 0xef\n\tDLT_NG40                          = 0xf4\n\tDLT_NULL                          = 0x0\n\tDLT_PCI_EXP                       = 0x7d\n\tDLT_PFLOG                         = 0x75\n\tDLT_PFSYNC                        = 0x12\n\tDLT_PPI                           = 0xc0\n\tDLT_PPP                           = 0x9\n\tDLT_PPP_BSDOS                     = 0x10\n\tDLT_PPP_ETHER                     = 0x33\n\tDLT_PPP_PPPD                      = 0xa6\n\tDLT_PPP_SERIAL                    = 0x32\n\tDLT_PPP_WITH_DIR                  = 0xcc\n\tDLT_PPP_WITH_DIRECTION            = 0xa6\n\tDLT_PRISM_HEADER                  = 0x77\n\tDLT_PRONET                        = 0x4\n\tDLT_RAIF1                         = 0xc6\n\tDLT_RAW                           = 0xc\n\tDLT_RIO                           = 0x7c\n\tDLT_SCCP                          = 0x8e\n\tDLT_SITA                          = 0xc4\n\tDLT_SLIP                          = 0x8\n\tDLT_SLIP_BSDOS                    = 0xf\n\tDLT_STANAG_5066_D_PDU             = 0xed\n\tDLT_SUNATM                        = 0x7b\n\tDLT_SYMANTEC_FIREWALL             = 0x63\n\tDLT_TZSP                          = 0x80\n\tDLT_USB                           = 0xba\n\tDLT_USB_LINUX                     = 0xbd\n\tDLT_USB_LINUX_MMAPPED             = 0xdc\n\tDLT_USER0                         = 0x93\n\tDLT_USER1                         = 0x94\n\tDLT_USER10                        = 0x9d\n\tDLT_USER11                        = 0x9e\n\tDLT_USER12                        = 0x9f\n\tDLT_USER13                        = 0xa0\n\tDLT_USER14                        = 0xa1\n\tDLT_USER15                        = 0xa2\n\tDLT_USER2                         = 0x95\n\tDLT_USER3                         = 0x96\n\tDLT_USER4                         = 0x97\n\tDLT_USER5                         = 0x98\n\tDLT_USER6                         = 0x99\n\tDLT_USER7                         = 0x9a\n\tDLT_USER8                         = 0x9b\n\tDLT_USER9                         = 0x9c\n\tDLT_WIHART                        = 0xdf\n\tDLT_X2E_SERIAL                    = 0xd5\n\tDLT_X2E_XORAYA                    = 0xd6\n\tDT_BLK                            = 0x6\n\tDT_CHR                            = 0x2\n\tDT_DIR                            = 0x4\n\tDT_FIFO                           = 0x1\n\tDT_LNK                            = 0xa\n\tDT_REG                            = 0x8\n\tDT_SOCK                           = 0xc\n\tDT_UNKNOWN                        = 0x0\n\tDT_WHT                            = 0xe\n\tECHO                              = 0x8\n\tECHOCTL                           = 0x40\n\tECHOE                             = 0x2\n\tECHOK                             = 0x4\n\tECHOKE                            = 0x1\n\tECHONL                            = 0x10\n\tECHOPRT                           = 0x20\n\tEVFILT_AIO                        = -0x3\n\tEVFILT_EXCEPT                     = -0xf\n\tEVFILT_FS                         = -0x9\n\tEVFILT_MACHPORT                   = -0x8\n\tEVFILT_PROC                       = -0x5\n\tEVFILT_READ                       = -0x1\n\tEVFILT_SIGNAL                     = -0x6\n\tEVFILT_SYSCOUNT                   = 0xf\n\tEVFILT_THREADMARKER               = 0xf\n\tEVFILT_TIMER                      = -0x7\n\tEVFILT_USER                       = -0xa\n\tEVFILT_VM                         = -0xc\n\tEVFILT_VNODE                      = -0x4\n\tEVFILT_WRITE                      = -0x2\n\tEV_ADD                            = 0x1\n\tEV_CLEAR                          = 0x20\n\tEV_DELETE                         = 0x2\n\tEV_DISABLE                        = 0x8\n\tEV_DISPATCH                       = 0x80\n\tEV_DISPATCH2                      = 0x180\n\tEV_ENABLE                         = 0x4\n\tEV_EOF                            = 0x8000\n\tEV_ERROR                          = 0x4000\n\tEV_FLAG0                          = 0x1000\n\tEV_FLAG1                          = 0x2000\n\tEV_ONESHOT                        = 0x10\n\tEV_OOBAND                         = 0x2000\n\tEV_POLL                           = 0x1000\n\tEV_RECEIPT                        = 0x40\n\tEV_SYSFLAGS                       = 0xf000\n\tEV_UDATA_SPECIFIC                 = 0x100\n\tEV_VANISHED                       = 0x200\n\tEXTA                              = 0x4b00\n\tEXTB                              = 0x9600\n\tEXTPROC                           = 0x800\n\tFD_CLOEXEC                        = 0x1\n\tFD_SETSIZE                        = 0x400\n\tFF0                               = 0x0\n\tFF1                               = 0x4000\n\tFFDLY                             = 0x4000\n\tFLUSHO                            = 0x800000\n\tFSOPT_ATTR_CMN_EXTENDED           = 0x20\n\tFSOPT_NOFOLLOW                    = 0x1\n\tFSOPT_NOINMEMUPDATE               = 0x2\n\tFSOPT_PACK_INVAL_ATTRS            = 0x8\n\tFSOPT_REPORT_FULLSIZE             = 0x4\n\tF_ADDFILESIGS                     = 0x3d\n\tF_ADDFILESIGS_FOR_DYLD_SIM        = 0x53\n\tF_ADDFILESIGS_RETURN              = 0x61\n\tF_ADDSIGS                         = 0x3b\n\tF_ALLOCATEALL                     = 0x4\n\tF_ALLOCATECONTIG                  = 0x2\n\tF_BARRIERFSYNC                    = 0x55\n\tF_CHECK_LV                        = 0x62\n\tF_CHKCLEAN                        = 0x29\n\tF_DUPFD                           = 0x0\n\tF_DUPFD_CLOEXEC                   = 0x43\n\tF_FINDSIGS                        = 0x4e\n\tF_FLUSH_DATA                      = 0x28\n\tF_FREEZE_FS                       = 0x35\n\tF_FULLFSYNC                       = 0x33\n\tF_GETCODEDIR                      = 0x48\n\tF_GETFD                           = 0x1\n\tF_GETFL                           = 0x3\n\tF_GETLK                           = 0x7\n\tF_GETLKPID                        = 0x42\n\tF_GETNOSIGPIPE                    = 0x4a\n\tF_GETOWN                          = 0x5\n\tF_GETPATH                         = 0x32\n\tF_GETPATH_MTMINFO                 = 0x47\n\tF_GETPROTECTIONCLASS              = 0x3f\n\tF_GETPROTECTIONLEVEL              = 0x4d\n\tF_GLOBAL_NOCACHE                  = 0x37\n\tF_LOG2PHYS                        = 0x31\n\tF_LOG2PHYS_EXT                    = 0x41\n\tF_NOCACHE                         = 0x30\n\tF_NODIRECT                        = 0x3e\n\tF_OK                              = 0x0\n\tF_PATHPKG_CHECK                   = 0x34\n\tF_PEOFPOSMODE                     = 0x3\n\tF_PREALLOCATE                     = 0x2a\n\tF_PUNCHHOLE                       = 0x63\n\tF_RDADVISE                        = 0x2c\n\tF_RDAHEAD                         = 0x2d\n\tF_RDLCK                           = 0x1\n\tF_SETBACKINGSTORE                 = 0x46\n\tF_SETFD                           = 0x2\n\tF_SETFL                           = 0x4\n\tF_SETLK                           = 0x8\n\tF_SETLKW                          = 0x9\n\tF_SETLKWTIMEOUT                   = 0xa\n\tF_SETNOSIGPIPE                    = 0x49\n\tF_SETOWN                          = 0x6\n\tF_SETPROTECTIONCLASS              = 0x40\n\tF_SETSIZE                         = 0x2b\n\tF_SINGLE_WRITER                   = 0x4c\n\tF_THAW_FS                         = 0x36\n\tF_TRANSCODEKEY                    = 0x4b\n\tF_TRIM_ACTIVE_FILE                = 0x64\n\tF_UNLCK                           = 0x2\n\tF_VOLPOSMODE                      = 0x4\n\tF_WRLCK                           = 0x3\n\tHUPCL                             = 0x4000\n\tHW_MACHINE                        = 0x1\n\tICANON                            = 0x100\n\tICMP6_FILTER                      = 0x12\n\tICRNL                             = 0x100\n\tIEXTEN                            = 0x400\n\tIFF_ALLMULTI                      = 0x200\n\tIFF_ALTPHYS                       = 0x4000\n\tIFF_BROADCAST                     = 0x2\n\tIFF_DEBUG                         = 0x4\n\tIFF_LINK0                         = 0x1000\n\tIFF_LINK1                         = 0x2000\n\tIFF_LINK2                         = 0x4000\n\tIFF_LOOPBACK                      = 0x8\n\tIFF_MULTICAST                     = 0x8000\n\tIFF_NOARP                         = 0x80\n\tIFF_NOTRAILERS                    = 0x20\n\tIFF_OACTIVE                       = 0x400\n\tIFF_POINTOPOINT                   = 0x10\n\tIFF_PROMISC                       = 0x100\n\tIFF_RUNNING                       = 0x40\n\tIFF_SIMPLEX                       = 0x800\n\tIFF_UP                            = 0x1\n\tIFNAMSIZ                          = 0x10\n\tIFT_1822                          = 0x2\n\tIFT_AAL5                          = 0x31\n\tIFT_ARCNET                        = 0x23\n\tIFT_ARCNETPLUS                    = 0x24\n\tIFT_ATM                           = 0x25\n\tIFT_BRIDGE                        = 0xd1\n\tIFT_CARP                          = 0xf8\n\tIFT_CELLULAR                      = 0xff\n\tIFT_CEPT                          = 0x13\n\tIFT_DS3                           = 0x1e\n\tIFT_ENC                           = 0xf4\n\tIFT_EON                           = 0x19\n\tIFT_ETHER                         = 0x6\n\tIFT_FAITH                         = 0x38\n\tIFT_FDDI                          = 0xf\n\tIFT_FRELAY                        = 0x20\n\tIFT_FRELAYDCE                     = 0x2c\n\tIFT_GIF                           = 0x37\n\tIFT_HDH1822                       = 0x3\n\tIFT_HIPPI                         = 0x2f\n\tIFT_HSSI                          = 0x2e\n\tIFT_HY                            = 0xe\n\tIFT_IEEE1394                      = 0x90\n\tIFT_IEEE8023ADLAG                 = 0x88\n\tIFT_ISDNBASIC                     = 0x14\n\tIFT_ISDNPRIMARY                   = 0x15\n\tIFT_ISO88022LLC                   = 0x29\n\tIFT_ISO88023                      = 0x7\n\tIFT_ISO88024                      = 0x8\n\tIFT_ISO88025                      = 0x9\n\tIFT_ISO88026                      = 0xa\n\tIFT_L2VLAN                        = 0x87\n\tIFT_LAPB                          = 0x10\n\tIFT_LOCALTALK                     = 0x2a\n\tIFT_LOOP                          = 0x18\n\tIFT_MIOX25                        = 0x26\n\tIFT_MODEM                         = 0x30\n\tIFT_NSIP                          = 0x1b\n\tIFT_OTHER                         = 0x1\n\tIFT_P10                           = 0xc\n\tIFT_P80                           = 0xd\n\tIFT_PARA                          = 0x22\n\tIFT_PDP                           = 0xff\n\tIFT_PFLOG                         = 0xf5\n\tIFT_PFSYNC                        = 0xf6\n\tIFT_PKTAP                         = 0xfe\n\tIFT_PPP                           = 0x17\n\tIFT_PROPMUX                       = 0x36\n\tIFT_PROPVIRTUAL                   = 0x35\n\tIFT_PTPSERIAL                     = 0x16\n\tIFT_RS232                         = 0x21\n\tIFT_SDLC                          = 0x11\n\tIFT_SIP                           = 0x1f\n\tIFT_SLIP                          = 0x1c\n\tIFT_SMDSDXI                       = 0x2b\n\tIFT_SMDSICIP                      = 0x34\n\tIFT_SONET                         = 0x27\n\tIFT_SONETPATH                     = 0x32\n\tIFT_SONETVT                       = 0x33\n\tIFT_STARLAN                       = 0xb\n\tIFT_STF                           = 0x39\n\tIFT_T1                            = 0x12\n\tIFT_ULTRA                         = 0x1d\n\tIFT_V35                           = 0x2d\n\tIFT_X25                           = 0x5\n\tIFT_X25DDN                        = 0x4\n\tIFT_X25PLE                        = 0x28\n\tIFT_XETHER                        = 0x1a\n\tIGNBRK                            = 0x1\n\tIGNCR                             = 0x80\n\tIGNPAR                            = 0x4\n\tIMAXBEL                           = 0x2000\n\tINLCR                             = 0x40\n\tINPCK                             = 0x10\n\tIN_CLASSA_HOST                    = 0xffffff\n\tIN_CLASSA_MAX                     = 0x80\n\tIN_CLASSA_NET                     = 0xff000000\n\tIN_CLASSA_NSHIFT                  = 0x18\n\tIN_CLASSB_HOST                    = 0xffff\n\tIN_CLASSB_MAX                     = 0x10000\n\tIN_CLASSB_NET                     = 0xffff0000\n\tIN_CLASSB_NSHIFT                  = 0x10\n\tIN_CLASSC_HOST                    = 0xff\n\tIN_CLASSC_NET                     = 0xffffff00\n\tIN_CLASSC_NSHIFT                  = 0x8\n\tIN_CLASSD_HOST                    = 0xfffffff\n\tIN_CLASSD_NET                     = 0xf0000000\n\tIN_CLASSD_NSHIFT                  = 0x1c\n\tIN_LINKLOCALNETNUM                = 0xa9fe0000\n\tIN_LOOPBACKNET                    = 0x7f\n\tIPPROTO_3PC                       = 0x22\n\tIPPROTO_ADFS                      = 0x44\n\tIPPROTO_AH                        = 0x33\n\tIPPROTO_AHIP                      = 0x3d\n\tIPPROTO_APES                      = 0x63\n\tIPPROTO_ARGUS                     = 0xd\n\tIPPROTO_AX25                      = 0x5d\n\tIPPROTO_BHA                       = 0x31\n\tIPPROTO_BLT                       = 0x1e\n\tIPPROTO_BRSATMON                  = 0x4c\n\tIPPROTO_CFTP                      = 0x3e\n\tIPPROTO_CHAOS                     = 0x10\n\tIPPROTO_CMTP                      = 0x26\n\tIPPROTO_CPHB                      = 0x49\n\tIPPROTO_CPNX                      = 0x48\n\tIPPROTO_DDP                       = 0x25\n\tIPPROTO_DGP                       = 0x56\n\tIPPROTO_DIVERT                    = 0xfe\n\tIPPROTO_DONE                      = 0x101\n\tIPPROTO_DSTOPTS                   = 0x3c\n\tIPPROTO_EGP                       = 0x8\n\tIPPROTO_EMCON                     = 0xe\n\tIPPROTO_ENCAP                     = 0x62\n\tIPPROTO_EON                       = 0x50\n\tIPPROTO_ESP                       = 0x32\n\tIPPROTO_ETHERIP                   = 0x61\n\tIPPROTO_FRAGMENT                  = 0x2c\n\tIPPROTO_GGP                       = 0x3\n\tIPPROTO_GMTP                      = 0x64\n\tIPPROTO_GRE                       = 0x2f\n\tIPPROTO_HELLO                     = 0x3f\n\tIPPROTO_HMP                       = 0x14\n\tIPPROTO_HOPOPTS                   = 0x0\n\tIPPROTO_ICMP                      = 0x1\n\tIPPROTO_ICMPV6                    = 0x3a\n\tIPPROTO_IDP                       = 0x16\n\tIPPROTO_IDPR                      = 0x23\n\tIPPROTO_IDRP                      = 0x2d\n\tIPPROTO_IGMP                      = 0x2\n\tIPPROTO_IGP                       = 0x55\n\tIPPROTO_IGRP                      = 0x58\n\tIPPROTO_IL                        = 0x28\n\tIPPROTO_INLSP                     = 0x34\n\tIPPROTO_INP                       = 0x20\n\tIPPROTO_IP                        = 0x0\n\tIPPROTO_IPCOMP                    = 0x6c\n\tIPPROTO_IPCV                      = 0x47\n\tIPPROTO_IPEIP                     = 0x5e\n\tIPPROTO_IPIP                      = 0x4\n\tIPPROTO_IPPC                      = 0x43\n\tIPPROTO_IPV4                      = 0x4\n\tIPPROTO_IPV6                      = 0x29\n\tIPPROTO_IRTP                      = 0x1c\n\tIPPROTO_KRYPTOLAN                 = 0x41\n\tIPPROTO_LARP                      = 0x5b\n\tIPPROTO_LEAF1                     = 0x19\n\tIPPROTO_LEAF2                     = 0x1a\n\tIPPROTO_MAX                       = 0x100\n\tIPPROTO_MAXID                     = 0x34\n\tIPPROTO_MEAS                      = 0x13\n\tIPPROTO_MHRP                      = 0x30\n\tIPPROTO_MICP                      = 0x5f\n\tIPPROTO_MTP                       = 0x5c\n\tIPPROTO_MUX                       = 0x12\n\tIPPROTO_ND                        = 0x4d\n\tIPPROTO_NHRP                      = 0x36\n\tIPPROTO_NONE                      = 0x3b\n\tIPPROTO_NSP                       = 0x1f\n\tIPPROTO_NVPII                     = 0xb\n\tIPPROTO_OSPFIGP                   = 0x59\n\tIPPROTO_PGM                       = 0x71\n\tIPPROTO_PIGP                      = 0x9\n\tIPPROTO_PIM                       = 0x67\n\tIPPROTO_PRM                       = 0x15\n\tIPPROTO_PUP                       = 0xc\n\tIPPROTO_PVP                       = 0x4b\n\tIPPROTO_RAW                       = 0xff\n\tIPPROTO_RCCMON                    = 0xa\n\tIPPROTO_RDP                       = 0x1b\n\tIPPROTO_ROUTING                   = 0x2b\n\tIPPROTO_RSVP                      = 0x2e\n\tIPPROTO_RVD                       = 0x42\n\tIPPROTO_SATEXPAK                  = 0x40\n\tIPPROTO_SATMON                    = 0x45\n\tIPPROTO_SCCSP                     = 0x60\n\tIPPROTO_SCTP                      = 0x84\n\tIPPROTO_SDRP                      = 0x2a\n\tIPPROTO_SEP                       = 0x21\n\tIPPROTO_SRPC                      = 0x5a\n\tIPPROTO_ST                        = 0x7\n\tIPPROTO_SVMTP                     = 0x52\n\tIPPROTO_SWIPE                     = 0x35\n\tIPPROTO_TCF                       = 0x57\n\tIPPROTO_TCP                       = 0x6\n\tIPPROTO_TP                        = 0x1d\n\tIPPROTO_TPXX                      = 0x27\n\tIPPROTO_TRUNK1                    = 0x17\n\tIPPROTO_TRUNK2                    = 0x18\n\tIPPROTO_TTP                       = 0x54\n\tIPPROTO_UDP                       = 0x11\n\tIPPROTO_VINES                     = 0x53\n\tIPPROTO_VISA                      = 0x46\n\tIPPROTO_VMTP                      = 0x51\n\tIPPROTO_WBEXPAK                   = 0x4f\n\tIPPROTO_WBMON                     = 0x4e\n\tIPPROTO_WSN                       = 0x4a\n\tIPPROTO_XNET                      = 0xf\n\tIPPROTO_XTP                       = 0x24\n\tIPV6_2292DSTOPTS                  = 0x17\n\tIPV6_2292HOPLIMIT                 = 0x14\n\tIPV6_2292HOPOPTS                  = 0x16\n\tIPV6_2292NEXTHOP                  = 0x15\n\tIPV6_2292PKTINFO                  = 0x13\n\tIPV6_2292PKTOPTIONS               = 0x19\n\tIPV6_2292RTHDR                    = 0x18\n\tIPV6_BINDV6ONLY                   = 0x1b\n\tIPV6_BOUND_IF                     = 0x7d\n\tIPV6_CHECKSUM                     = 0x1a\n\tIPV6_DEFAULT_MULTICAST_HOPS       = 0x1\n\tIPV6_DEFAULT_MULTICAST_LOOP       = 0x1\n\tIPV6_DEFHLIM                      = 0x40\n\tIPV6_FAITH                        = 0x1d\n\tIPV6_FLOWINFO_MASK                = 0xffffff0f\n\tIPV6_FLOWLABEL_MASK               = 0xffff0f00\n\tIPV6_FLOW_ECN_MASK                = 0x300\n\tIPV6_FRAGTTL                      = 0x3c\n\tIPV6_FW_ADD                       = 0x1e\n\tIPV6_FW_DEL                       = 0x1f\n\tIPV6_FW_FLUSH                     = 0x20\n\tIPV6_FW_GET                       = 0x22\n\tIPV6_FW_ZERO                      = 0x21\n\tIPV6_HLIMDEC                      = 0x1\n\tIPV6_IPSEC_POLICY                 = 0x1c\n\tIPV6_JOIN_GROUP                   = 0xc\n\tIPV6_LEAVE_GROUP                  = 0xd\n\tIPV6_MAXHLIM                      = 0xff\n\tIPV6_MAXOPTHDR                    = 0x800\n\tIPV6_MAXPACKET                    = 0xffff\n\tIPV6_MAX_GROUP_SRC_FILTER         = 0x200\n\tIPV6_MAX_MEMBERSHIPS              = 0xfff\n\tIPV6_MAX_SOCK_SRC_FILTER          = 0x80\n\tIPV6_MIN_MEMBERSHIPS              = 0x1f\n\tIPV6_MMTU                         = 0x500\n\tIPV6_MULTICAST_HOPS               = 0xa\n\tIPV6_MULTICAST_IF                 = 0x9\n\tIPV6_MULTICAST_LOOP               = 0xb\n\tIPV6_PORTRANGE                    = 0xe\n\tIPV6_PORTRANGE_DEFAULT            = 0x0\n\tIPV6_PORTRANGE_HIGH               = 0x1\n\tIPV6_PORTRANGE_LOW                = 0x2\n\tIPV6_RECVTCLASS                   = 0x23\n\tIPV6_RTHDR_LOOSE                  = 0x0\n\tIPV6_RTHDR_STRICT                 = 0x1\n\tIPV6_RTHDR_TYPE_0                 = 0x0\n\tIPV6_SOCKOPT_RESERVED1            = 0x3\n\tIPV6_TCLASS                       = 0x24\n\tIPV6_UNICAST_HOPS                 = 0x4\n\tIPV6_V6ONLY                       = 0x1b\n\tIPV6_VERSION                      = 0x60\n\tIPV6_VERSION_MASK                 = 0xf0\n\tIP_ADD_MEMBERSHIP                 = 0xc\n\tIP_ADD_SOURCE_MEMBERSHIP          = 0x46\n\tIP_BLOCK_SOURCE                   = 0x48\n\tIP_BOUND_IF                       = 0x19\n\tIP_DEFAULT_MULTICAST_LOOP         = 0x1\n\tIP_DEFAULT_MULTICAST_TTL          = 0x1\n\tIP_DF                             = 0x4000\n\tIP_DROP_MEMBERSHIP                = 0xd\n\tIP_DROP_SOURCE_MEMBERSHIP         = 0x47\n\tIP_DUMMYNET_CONFIGURE             = 0x3c\n\tIP_DUMMYNET_DEL                   = 0x3d\n\tIP_DUMMYNET_FLUSH                 = 0x3e\n\tIP_DUMMYNET_GET                   = 0x40\n\tIP_FAITH                          = 0x16\n\tIP_FW_ADD                         = 0x28\n\tIP_FW_DEL                         = 0x29\n\tIP_FW_FLUSH                       = 0x2a\n\tIP_FW_GET                         = 0x2c\n\tIP_FW_RESETLOG                    = 0x2d\n\tIP_FW_ZERO                        = 0x2b\n\tIP_HDRINCL                        = 0x2\n\tIP_IPSEC_POLICY                   = 0x15\n\tIP_MAXPACKET                      = 0xffff\n\tIP_MAX_GROUP_SRC_FILTER           = 0x200\n\tIP_MAX_MEMBERSHIPS                = 0xfff\n\tIP_MAX_SOCK_MUTE_FILTER           = 0x80\n\tIP_MAX_SOCK_SRC_FILTER            = 0x80\n\tIP_MF                             = 0x2000\n\tIP_MIN_MEMBERSHIPS                = 0x1f\n\tIP_MSFILTER                       = 0x4a\n\tIP_MSS                            = 0x240\n\tIP_MULTICAST_IF                   = 0x9\n\tIP_MULTICAST_IFINDEX              = 0x42\n\tIP_MULTICAST_LOOP                 = 0xb\n\tIP_MULTICAST_TTL                  = 0xa\n\tIP_MULTICAST_VIF                  = 0xe\n\tIP_NAT__XXX                       = 0x37\n\tIP_OFFMASK                        = 0x1fff\n\tIP_OLD_FW_ADD                     = 0x32\n\tIP_OLD_FW_DEL                     = 0x33\n\tIP_OLD_FW_FLUSH                   = 0x34\n\tIP_OLD_FW_GET                     = 0x36\n\tIP_OLD_FW_RESETLOG                = 0x38\n\tIP_OLD_FW_ZERO                    = 0x35\n\tIP_OPTIONS                        = 0x1\n\tIP_PKTINFO                        = 0x1a\n\tIP_PORTRANGE                      = 0x13\n\tIP_PORTRANGE_DEFAULT              = 0x0\n\tIP_PORTRANGE_HIGH                 = 0x1\n\tIP_PORTRANGE_LOW                  = 0x2\n\tIP_RECVDSTADDR                    = 0x7\n\tIP_RECVIF                         = 0x14\n\tIP_RECVOPTS                       = 0x5\n\tIP_RECVPKTINFO                    = 0x1a\n\tIP_RECVRETOPTS                    = 0x6\n\tIP_RECVTOS                        = 0x1b\n\tIP_RECVTTL                        = 0x18\n\tIP_RETOPTS                        = 0x8\n\tIP_RF                             = 0x8000\n\tIP_RSVP_OFF                       = 0x10\n\tIP_RSVP_ON                        = 0xf\n\tIP_RSVP_VIF_OFF                   = 0x12\n\tIP_RSVP_VIF_ON                    = 0x11\n\tIP_STRIPHDR                       = 0x17\n\tIP_TOS                            = 0x3\n\tIP_TRAFFIC_MGT_BACKGROUND         = 0x41\n\tIP_TTL                            = 0x4\n\tIP_UNBLOCK_SOURCE                 = 0x49\n\tISIG                              = 0x80\n\tISTRIP                            = 0x20\n\tIUTF8                             = 0x4000\n\tIXANY                             = 0x800\n\tIXOFF                             = 0x400\n\tIXON                              = 0x200\n\tKERN_HOSTNAME                     = 0xa\n\tKERN_OSRELEASE                    = 0x2\n\tKERN_OSTYPE                       = 0x1\n\tKERN_VERSION                      = 0x4\n\tLOCK_EX                           = 0x2\n\tLOCK_NB                           = 0x4\n\tLOCK_SH                           = 0x1\n\tLOCK_UN                           = 0x8\n\tMADV_CAN_REUSE                    = 0x9\n\tMADV_DONTNEED                     = 0x4\n\tMADV_FREE                         = 0x5\n\tMADV_FREE_REUSABLE                = 0x7\n\tMADV_FREE_REUSE                   = 0x8\n\tMADV_NORMAL                       = 0x0\n\tMADV_PAGEOUT                      = 0xa\n\tMADV_RANDOM                       = 0x1\n\tMADV_SEQUENTIAL                   = 0x2\n\tMADV_WILLNEED                     = 0x3\n\tMADV_ZERO_WIRED_PAGES             = 0x6\n\tMAP_ANON                          = 0x1000\n\tMAP_ANONYMOUS                     = 0x1000\n\tMAP_COPY                          = 0x2\n\tMAP_FILE                          = 0x0\n\tMAP_FIXED                         = 0x10\n\tMAP_HASSEMAPHORE                  = 0x200\n\tMAP_JIT                           = 0x800\n\tMAP_NOCACHE                       = 0x400\n\tMAP_NOEXTEND                      = 0x100\n\tMAP_NORESERVE                     = 0x40\n\tMAP_PRIVATE                       = 0x2\n\tMAP_RENAME                        = 0x20\n\tMAP_RESERVED0080                  = 0x80\n\tMAP_RESILIENT_CODESIGN            = 0x2000\n\tMAP_RESILIENT_MEDIA               = 0x4000\n\tMAP_SHARED                        = 0x1\n\tMCL_CURRENT                       = 0x1\n\tMCL_FUTURE                        = 0x2\n\tMNT_ASYNC                         = 0x40\n\tMNT_AUTOMOUNTED                   = 0x400000\n\tMNT_CMDFLAGS                      = 0xf0000\n\tMNT_CPROTECT                      = 0x80\n\tMNT_DEFWRITE                      = 0x2000000\n\tMNT_DONTBROWSE                    = 0x100000\n\tMNT_DOVOLFS                       = 0x8000\n\tMNT_DWAIT                         = 0x4\n\tMNT_EXPORTED                      = 0x100\n\tMNT_FORCE                         = 0x80000\n\tMNT_IGNORE_OWNERSHIP              = 0x200000\n\tMNT_JOURNALED                     = 0x800000\n\tMNT_LOCAL                         = 0x1000\n\tMNT_MULTILABEL                    = 0x4000000\n\tMNT_NOATIME                       = 0x10000000\n\tMNT_NOBLOCK                       = 0x20000\n\tMNT_NODEV                         = 0x10\n\tMNT_NOEXEC                        = 0x4\n\tMNT_NOSUID                        = 0x8\n\tMNT_NOUSERXATTR                   = 0x1000000\n\tMNT_NOWAIT                        = 0x2\n\tMNT_QUARANTINE                    = 0x400\n\tMNT_QUOTA                         = 0x2000\n\tMNT_RDONLY                        = 0x1\n\tMNT_RELOAD                        = 0x40000\n\tMNT_ROOTFS                        = 0x4000\n\tMNT_SYNCHRONOUS                   = 0x2\n\tMNT_UNION                         = 0x20\n\tMNT_UNKNOWNPERMISSIONS            = 0x200000\n\tMNT_UPDATE                        = 0x10000\n\tMNT_VISFLAGMASK                   = 0x17f0f5ff\n\tMNT_WAIT                          = 0x1\n\tMSG_CTRUNC                        = 0x20\n\tMSG_DONTROUTE                     = 0x4\n\tMSG_DONTWAIT                      = 0x80\n\tMSG_EOF                           = 0x100\n\tMSG_EOR                           = 0x8\n\tMSG_FLUSH                         = 0x400\n\tMSG_HAVEMORE                      = 0x2000\n\tMSG_HOLD                          = 0x800\n\tMSG_NEEDSA                        = 0x10000\n\tMSG_OOB                           = 0x1\n\tMSG_PEEK                          = 0x2\n\tMSG_RCVMORE                       = 0x4000\n\tMSG_SEND                          = 0x1000\n\tMSG_TRUNC                         = 0x10\n\tMSG_WAITALL                       = 0x40\n\tMSG_WAITSTREAM                    = 0x200\n\tMS_ASYNC                          = 0x1\n\tMS_DEACTIVATE                     = 0x8\n\tMS_INVALIDATE                     = 0x2\n\tMS_KILLPAGES                      = 0x4\n\tMS_SYNC                           = 0x10\n\tNAME_MAX                          = 0xff\n\tNET_RT_DUMP                       = 0x1\n\tNET_RT_DUMP2                      = 0x7\n\tNET_RT_FLAGS                      = 0x2\n\tNET_RT_IFLIST                     = 0x3\n\tNET_RT_IFLIST2                    = 0x6\n\tNET_RT_MAXID                      = 0xa\n\tNET_RT_STAT                       = 0x4\n\tNET_RT_TRASH                      = 0x5\n\tNL0                               = 0x0\n\tNL1                               = 0x100\n\tNL2                               = 0x200\n\tNL3                               = 0x300\n\tNLDLY                             = 0x300\n\tNOFLSH                            = 0x80000000\n\tNOKERNINFO                        = 0x2000000\n\tNOTE_ABSOLUTE                     = 0x8\n\tNOTE_ATTRIB                       = 0x8\n\tNOTE_BACKGROUND                   = 0x40\n\tNOTE_CHILD                        = 0x4\n\tNOTE_CRITICAL                     = 0x20\n\tNOTE_DELETE                       = 0x1\n\tNOTE_EXEC                         = 0x20000000\n\tNOTE_EXIT                         = 0x80000000\n\tNOTE_EXITSTATUS                   = 0x4000000\n\tNOTE_EXIT_CSERROR                 = 0x40000\n\tNOTE_EXIT_DECRYPTFAIL             = 0x10000\n\tNOTE_EXIT_DETAIL                  = 0x2000000\n\tNOTE_EXIT_DETAIL_MASK             = 0x70000\n\tNOTE_EXIT_MEMORY                  = 0x20000\n\tNOTE_EXIT_REPARENTED              = 0x80000\n\tNOTE_EXTEND                       = 0x4\n\tNOTE_FFAND                        = 0x40000000\n\tNOTE_FFCOPY                       = 0xc0000000\n\tNOTE_FFCTRLMASK                   = 0xc0000000\n\tNOTE_FFLAGSMASK                   = 0xffffff\n\tNOTE_FFNOP                        = 0x0\n\tNOTE_FFOR                         = 0x80000000\n\tNOTE_FORK                         = 0x40000000\n\tNOTE_FUNLOCK                      = 0x100\n\tNOTE_LEEWAY                       = 0x10\n\tNOTE_LINK                         = 0x10\n\tNOTE_LOWAT                        = 0x1\n\tNOTE_MACH_CONTINUOUS_TIME         = 0x80\n\tNOTE_NONE                         = 0x80\n\tNOTE_NSECONDS                     = 0x4\n\tNOTE_OOB                          = 0x2\n\tNOTE_PCTRLMASK                    = -0x100000\n\tNOTE_PDATAMASK                    = 0xfffff\n\tNOTE_REAP                         = 0x10000000\n\tNOTE_RENAME                       = 0x20\n\tNOTE_REVOKE                       = 0x40\n\tNOTE_SECONDS                      = 0x1\n\tNOTE_SIGNAL                       = 0x8000000\n\tNOTE_TRACK                        = 0x1\n\tNOTE_TRACKERR                     = 0x2\n\tNOTE_TRIGGER                      = 0x1000000\n\tNOTE_USECONDS                     = 0x2\n\tNOTE_VM_ERROR                     = 0x10000000\n\tNOTE_VM_PRESSURE                  = 0x80000000\n\tNOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000\n\tNOTE_VM_PRESSURE_TERMINATE        = 0x40000000\n\tNOTE_WRITE                        = 0x2\n\tOCRNL                             = 0x10\n\tOFDEL                             = 0x20000\n\tOFILL                             = 0x80\n\tONLCR                             = 0x2\n\tONLRET                            = 0x40\n\tONOCR                             = 0x20\n\tONOEOT                            = 0x8\n\tOPOST                             = 0x1\n\tOXTABS                            = 0x4\n\tO_ACCMODE                         = 0x3\n\tO_ALERT                           = 0x20000000\n\tO_APPEND                          = 0x8\n\tO_ASYNC                           = 0x40\n\tO_CLOEXEC                         = 0x1000000\n\tO_CREAT                           = 0x200\n\tO_DIRECTORY                       = 0x100000\n\tO_DP_GETRAWENCRYPTED              = 0x1\n\tO_DP_GETRAWUNENCRYPTED            = 0x2\n\tO_DSYNC                           = 0x400000\n\tO_EVTONLY                         = 0x8000\n\tO_EXCL                            = 0x800\n\tO_EXLOCK                          = 0x20\n\tO_FSYNC                           = 0x80\n\tO_NDELAY                          = 0x4\n\tO_NOCTTY                          = 0x20000\n\tO_NOFOLLOW                        = 0x100\n\tO_NONBLOCK                        = 0x4\n\tO_POPUP                           = 0x80000000\n\tO_RDONLY                          = 0x0\n\tO_RDWR                            = 0x2\n\tO_SHLOCK                          = 0x10\n\tO_SYMLINK                         = 0x200000\n\tO_SYNC                            = 0x80\n\tO_TRUNC                           = 0x400\n\tO_WRONLY                          = 0x1\n\tPARENB                            = 0x1000\n\tPARMRK                            = 0x8\n\tPARODD                            = 0x2000\n\tPENDIN                            = 0x20000000\n\tPRIO_PGRP                         = 0x1\n\tPRIO_PROCESS                      = 0x0\n\tPRIO_USER                         = 0x2\n\tPROT_EXEC                         = 0x4\n\tPROT_NONE                         = 0x0\n\tPROT_READ                         = 0x1\n\tPROT_WRITE                        = 0x2\n\tPT_ATTACH                         = 0xa\n\tPT_ATTACHEXC                      = 0xe\n\tPT_CONTINUE                       = 0x7\n\tPT_DENY_ATTACH                    = 0x1f\n\tPT_DETACH                         = 0xb\n\tPT_FIRSTMACH                      = 0x20\n\tPT_FORCEQUOTA                     = 0x1e\n\tPT_KILL                           = 0x8\n\tPT_READ_D                         = 0x2\n\tPT_READ_I                         = 0x1\n\tPT_READ_U                         = 0x3\n\tPT_SIGEXC                         = 0xc\n\tPT_STEP                           = 0x9\n\tPT_THUPDATE                       = 0xd\n\tPT_TRACE_ME                       = 0x0\n\tPT_WRITE_D                        = 0x5\n\tPT_WRITE_I                        = 0x4\n\tPT_WRITE_U                        = 0x6\n\tRLIMIT_AS                         = 0x5\n\tRLIMIT_CORE                       = 0x4\n\tRLIMIT_CPU                        = 0x0\n\tRLIMIT_CPU_USAGE_MONITOR          = 0x2\n\tRLIMIT_DATA                       = 0x2\n\tRLIMIT_FSIZE                      = 0x1\n\tRLIMIT_MEMLOCK                    = 0x6\n\tRLIMIT_NOFILE                     = 0x8\n\tRLIMIT_NPROC                      = 0x7\n\tRLIMIT_RSS                        = 0x5\n\tRLIMIT_STACK                      = 0x3\n\tRLIM_INFINITY                     = 0x7fffffffffffffff\n\tRTAX_AUTHOR                       = 0x6\n\tRTAX_BRD                          = 0x7\n\tRTAX_DST                          = 0x0\n\tRTAX_GATEWAY                      = 0x1\n\tRTAX_GENMASK                      = 0x3\n\tRTAX_IFA                          = 0x5\n\tRTAX_IFP                          = 0x4\n\tRTAX_MAX                          = 0x8\n\tRTAX_NETMASK                      = 0x2\n\tRTA_AUTHOR                        = 0x40\n\tRTA_BRD                           = 0x80\n\tRTA_DST                           = 0x1\n\tRTA_GATEWAY                       = 0x2\n\tRTA_GENMASK                       = 0x8\n\tRTA_IFA                           = 0x20\n\tRTA_IFP                           = 0x10\n\tRTA_NETMASK                       = 0x4\n\tRTF_BLACKHOLE                     = 0x1000\n\tRTF_BROADCAST                     = 0x400000\n\tRTF_CLONING                       = 0x100\n\tRTF_CONDEMNED                     = 0x2000000\n\tRTF_DELCLONE                      = 0x80\n\tRTF_DONE                          = 0x40\n\tRTF_DYNAMIC                       = 0x10\n\tRTF_GATEWAY                       = 0x2\n\tRTF_HOST                          = 0x4\n\tRTF_IFREF                         = 0x4000000\n\tRTF_IFSCOPE                       = 0x1000000\n\tRTF_LLINFO                        = 0x400\n\tRTF_LOCAL                         = 0x200000\n\tRTF_MODIFIED                      = 0x20\n\tRTF_MULTICAST                     = 0x800000\n\tRTF_NOIFREF                       = 0x2000\n\tRTF_PINNED                        = 0x100000\n\tRTF_PRCLONING                     = 0x10000\n\tRTF_PROTO1                        = 0x8000\n\tRTF_PROTO2                        = 0x4000\n\tRTF_PROTO3                        = 0x40000\n\tRTF_PROXY                         = 0x8000000\n\tRTF_REJECT                        = 0x8\n\tRTF_ROUTER                        = 0x10000000\n\tRTF_STATIC                        = 0x800\n\tRTF_UP                            = 0x1\n\tRTF_WASCLONED                     = 0x20000\n\tRTF_XRESOLVE                      = 0x200\n\tRTM_ADD                           = 0x1\n\tRTM_CHANGE                        = 0x3\n\tRTM_DELADDR                       = 0xd\n\tRTM_DELETE                        = 0x2\n\tRTM_DELMADDR                      = 0x10\n\tRTM_GET                           = 0x4\n\tRTM_GET2                          = 0x14\n\tRTM_IFINFO                        = 0xe\n\tRTM_IFINFO2                       = 0x12\n\tRTM_LOCK                          = 0x8\n\tRTM_LOSING                        = 0x5\n\tRTM_MISS                          = 0x7\n\tRTM_NEWADDR                       = 0xc\n\tRTM_NEWMADDR                      = 0xf\n\tRTM_NEWMADDR2                     = 0x13\n\tRTM_OLDADD                        = 0x9\n\tRTM_OLDDEL                        = 0xa\n\tRTM_REDIRECT                      = 0x6\n\tRTM_RESOLVE                       = 0xb\n\tRTM_RTTUNIT                       = 0xf4240\n\tRTM_VERSION                       = 0x5\n\tRTV_EXPIRE                        = 0x4\n\tRTV_HOPCOUNT                      = 0x2\n\tRTV_MTU                           = 0x1\n\tRTV_RPIPE                         = 0x8\n\tRTV_RTT                           = 0x40\n\tRTV_RTTVAR                        = 0x80\n\tRTV_SPIPE                         = 0x10\n\tRTV_SSTHRESH                      = 0x20\n\tRUSAGE_CHILDREN                   = -0x1\n\tRUSAGE_SELF                       = 0x0\n\tSCM_CREDS                         = 0x3\n\tSCM_RIGHTS                        = 0x1\n\tSCM_TIMESTAMP                     = 0x2\n\tSCM_TIMESTAMP_MONOTONIC           = 0x4\n\tSHUT_RD                           = 0x0\n\tSHUT_RDWR                         = 0x2\n\tSHUT_WR                           = 0x1\n\tSIOCADDMULTI                      = 0x80206931\n\tSIOCAIFADDR                       = 0x8040691a\n\tSIOCARPIPLL                       = 0xc0206928\n\tSIOCATMARK                        = 0x40047307\n\tSIOCAUTOADDR                      = 0xc0206926\n\tSIOCAUTONETMASK                   = 0x80206927\n\tSIOCDELMULTI                      = 0x80206932\n\tSIOCDIFADDR                       = 0x80206919\n\tSIOCDIFPHYADDR                    = 0x80206941\n\tSIOCGDRVSPEC                      = 0xc028697b\n\tSIOCGETVLAN                       = 0xc020697f\n\tSIOCGHIWAT                        = 0x40047301\n\tSIOCGIFADDR                       = 0xc0206921\n\tSIOCGIFALTMTU                     = 0xc0206948\n\tSIOCGIFASYNCMAP                   = 0xc020697c\n\tSIOCGIFBOND                       = 0xc0206947\n\tSIOCGIFBRDADDR                    = 0xc0206923\n\tSIOCGIFCAP                        = 0xc020695b\n\tSIOCGIFCONF                       = 0xc00c6924\n\tSIOCGIFDEVMTU                     = 0xc0206944\n\tSIOCGIFDSTADDR                    = 0xc0206922\n\tSIOCGIFFLAGS                      = 0xc0206911\n\tSIOCGIFGENERIC                    = 0xc020693a\n\tSIOCGIFKPI                        = 0xc0206987\n\tSIOCGIFMAC                        = 0xc0206982\n\tSIOCGIFMEDIA                      = 0xc02c6938\n\tSIOCGIFMETRIC                     = 0xc0206917\n\tSIOCGIFMTU                        = 0xc0206933\n\tSIOCGIFNETMASK                    = 0xc0206925\n\tSIOCGIFPDSTADDR                   = 0xc0206940\n\tSIOCGIFPHYS                       = 0xc0206935\n\tSIOCGIFPSRCADDR                   = 0xc020693f\n\tSIOCGIFSTATUS                     = 0xc331693d\n\tSIOCGIFVLAN                       = 0xc020697f\n\tSIOCGIFWAKEFLAGS                  = 0xc0206988\n\tSIOCGLOWAT                        = 0x40047303\n\tSIOCGPGRP                         = 0x40047309\n\tSIOCIFCREATE                      = 0xc0206978\n\tSIOCIFCREATE2                     = 0xc020697a\n\tSIOCIFDESTROY                     = 0x80206979\n\tSIOCIFGCLONERS                    = 0xc0106981\n\tSIOCRSLVMULTI                     = 0xc010693b\n\tSIOCSDRVSPEC                      = 0x8028697b\n\tSIOCSETVLAN                       = 0x8020697e\n\tSIOCSHIWAT                        = 0x80047300\n\tSIOCSIFADDR                       = 0x8020690c\n\tSIOCSIFALTMTU                     = 0x80206945\n\tSIOCSIFASYNCMAP                   = 0x8020697d\n\tSIOCSIFBOND                       = 0x80206946\n\tSIOCSIFBRDADDR                    = 0x80206913\n\tSIOCSIFCAP                        = 0x8020695a\n\tSIOCSIFDSTADDR                    = 0x8020690e\n\tSIOCSIFFLAGS                      = 0x80206910\n\tSIOCSIFGENERIC                    = 0x80206939\n\tSIOCSIFKPI                        = 0x80206986\n\tSIOCSIFLLADDR                     = 0x8020693c\n\tSIOCSIFMAC                        = 0x80206983\n\tSIOCSIFMEDIA                      = 0xc0206937\n\tSIOCSIFMETRIC                     = 0x80206918\n\tSIOCSIFMTU                        = 0x80206934\n\tSIOCSIFNETMASK                    = 0x80206916\n\tSIOCSIFPHYADDR                    = 0x8040693e\n\tSIOCSIFPHYS                       = 0x80206936\n\tSIOCSIFVLAN                       = 0x8020697e\n\tSIOCSLOWAT                        = 0x80047302\n\tSIOCSPGRP                         = 0x80047308\n\tSOCK_DGRAM                        = 0x2\n\tSOCK_MAXADDRLEN                   = 0xff\n\tSOCK_RAW                          = 0x3\n\tSOCK_RDM                          = 0x4\n\tSOCK_SEQPACKET                    = 0x5\n\tSOCK_STREAM                       = 0x1\n\tSOL_SOCKET                        = 0xffff\n\tSOMAXCONN                         = 0x80\n\tSO_ACCEPTCONN                     = 0x2\n\tSO_BROADCAST                      = 0x20\n\tSO_DEBUG                          = 0x1\n\tSO_DONTROUTE                      = 0x10\n\tSO_DONTTRUNC                      = 0x2000\n\tSO_ERROR                          = 0x1007\n\tSO_KEEPALIVE                      = 0x8\n\tSO_LABEL                          = 0x1010\n\tSO_LINGER                         = 0x80\n\tSO_LINGER_SEC                     = 0x1080\n\tSO_NETSVC_MARKING_LEVEL           = 0x1119\n\tSO_NET_SERVICE_TYPE               = 0x1116\n\tSO_NKE                            = 0x1021\n\tSO_NOADDRERR                      = 0x1023\n\tSO_NOSIGPIPE                      = 0x1022\n\tSO_NOTIFYCONFLICT                 = 0x1026\n\tSO_NP_EXTENSIONS                  = 0x1083\n\tSO_NREAD                          = 0x1020\n\tSO_NUMRCVPKT                      = 0x1112\n\tSO_NWRITE                         = 0x1024\n\tSO_OOBINLINE                      = 0x100\n\tSO_PEERLABEL                      = 0x1011\n\tSO_RANDOMPORT                     = 0x1082\n\tSO_RCVBUF                         = 0x1002\n\tSO_RCVLOWAT                       = 0x1004\n\tSO_RCVTIMEO                       = 0x1006\n\tSO_REUSEADDR                      = 0x4\n\tSO_REUSEPORT                      = 0x200\n\tSO_REUSESHAREUID                  = 0x1025\n\tSO_SNDBUF                         = 0x1001\n\tSO_SNDLOWAT                       = 0x1003\n\tSO_SNDTIMEO                       = 0x1005\n\tSO_TIMESTAMP                      = 0x400\n\tSO_TIMESTAMP_MONOTONIC            = 0x800\n\tSO_TYPE                           = 0x1008\n\tSO_UPCALLCLOSEWAIT                = 0x1027\n\tSO_USELOOPBACK                    = 0x40\n\tSO_WANTMORE                       = 0x4000\n\tSO_WANTOOBFLAG                    = 0x8000\n\tS_IEXEC                           = 0x40\n\tS_IFBLK                           = 0x6000\n\tS_IFCHR                           = 0x2000\n\tS_IFDIR                           = 0x4000\n\tS_IFIFO                           = 0x1000\n\tS_IFLNK                           = 0xa000\n\tS_IFMT                            = 0xf000\n\tS_IFREG                           = 0x8000\n\tS_IFSOCK                          = 0xc000\n\tS_IFWHT                           = 0xe000\n\tS_IREAD                           = 0x100\n\tS_IRGRP                           = 0x20\n\tS_IROTH                           = 0x4\n\tS_IRUSR                           = 0x100\n\tS_IRWXG                           = 0x38\n\tS_IRWXO                           = 0x7\n\tS_IRWXU                           = 0x1c0\n\tS_ISGID                           = 0x400\n\tS_ISTXT                           = 0x200\n\tS_ISUID                           = 0x800\n\tS_ISVTX                           = 0x200\n\tS_IWGRP                           = 0x10\n\tS_IWOTH                           = 0x2\n\tS_IWRITE                          = 0x80\n\tS_IWUSR                           = 0x80\n\tS_IXGRP                           = 0x8\n\tS_IXOTH                           = 0x1\n\tS_IXUSR                           = 0x40\n\tTAB0                              = 0x0\n\tTAB1                              = 0x400\n\tTAB2                              = 0x800\n\tTAB3                              = 0x4\n\tTABDLY                            = 0xc04\n\tTCIFLUSH                          = 0x1\n\tTCIOFF                            = 0x3\n\tTCIOFLUSH                         = 0x3\n\tTCION                             = 0x4\n\tTCOFLUSH                          = 0x2\n\tTCOOFF                            = 0x1\n\tTCOON                             = 0x2\n\tTCP_CONNECTIONTIMEOUT             = 0x20\n\tTCP_CONNECTION_INFO               = 0x106\n\tTCP_ENABLE_ECN                    = 0x104\n\tTCP_FASTOPEN                      = 0x105\n\tTCP_KEEPALIVE                     = 0x10\n\tTCP_KEEPCNT                       = 0x102\n\tTCP_KEEPINTVL                     = 0x101\n\tTCP_MAXHLEN                       = 0x3c\n\tTCP_MAXOLEN                       = 0x28\n\tTCP_MAXSEG                        = 0x2\n\tTCP_MAXWIN                        = 0xffff\n\tTCP_MAX_SACK                      = 0x4\n\tTCP_MAX_WINSHIFT                  = 0xe\n\tTCP_MINMSS                        = 0xd8\n\tTCP_MSS                           = 0x200\n\tTCP_NODELAY                       = 0x1\n\tTCP_NOOPT                         = 0x8\n\tTCP_NOPUSH                        = 0x4\n\tTCP_NOTSENT_LOWAT                 = 0x201\n\tTCP_RXT_CONNDROPTIME              = 0x80\n\tTCP_RXT_FINDROP                   = 0x100\n\tTCP_SENDMOREACKS                  = 0x103\n\tTCSAFLUSH                         = 0x2\n\tTIOCCBRK                          = 0x2000747a\n\tTIOCCDTR                          = 0x20007478\n\tTIOCCONS                          = 0x80047462\n\tTIOCDCDTIMESTAMP                  = 0x40107458\n\tTIOCDRAIN                         = 0x2000745e\n\tTIOCDSIMICROCODE                  = 0x20007455\n\tTIOCEXCL                          = 0x2000740d\n\tTIOCEXT                           = 0x80047460\n\tTIOCFLUSH                         = 0x80047410\n\tTIOCGDRAINWAIT                    = 0x40047456\n\tTIOCGETA                          = 0x40487413\n\tTIOCGETD                          = 0x4004741a\n\tTIOCGPGRP                         = 0x40047477\n\tTIOCGWINSZ                        = 0x40087468\n\tTIOCIXOFF                         = 0x20007480\n\tTIOCIXON                          = 0x20007481\n\tTIOCMBIC                          = 0x8004746b\n\tTIOCMBIS                          = 0x8004746c\n\tTIOCMGDTRWAIT                     = 0x4004745a\n\tTIOCMGET                          = 0x4004746a\n\tTIOCMODG                          = 0x40047403\n\tTIOCMODS                          = 0x80047404\n\tTIOCMSDTRWAIT                     = 0x8004745b\n\tTIOCMSET                          = 0x8004746d\n\tTIOCM_CAR                         = 0x40\n\tTIOCM_CD                          = 0x40\n\tTIOCM_CTS                         = 0x20\n\tTIOCM_DSR                         = 0x100\n\tTIOCM_DTR                         = 0x2\n\tTIOCM_LE                          = 0x1\n\tTIOCM_RI                          = 0x80\n\tTIOCM_RNG                         = 0x80\n\tTIOCM_RTS                         = 0x4\n\tTIOCM_SR                          = 0x10\n\tTIOCM_ST                          = 0x8\n\tTIOCNOTTY                         = 0x20007471\n\tTIOCNXCL                          = 0x2000740e\n\tTIOCOUTQ                          = 0x40047473\n\tTIOCPKT                           = 0x80047470\n\tTIOCPKT_DATA                      = 0x0\n\tTIOCPKT_DOSTOP                    = 0x20\n\tTIOCPKT_FLUSHREAD                 = 0x1\n\tTIOCPKT_FLUSHWRITE                = 0x2\n\tTIOCPKT_IOCTL                     = 0x40\n\tTIOCPKT_NOSTOP                    = 0x10\n\tTIOCPKT_START                     = 0x8\n\tTIOCPKT_STOP                      = 0x4\n\tTIOCPTYGNAME                      = 0x40807453\n\tTIOCPTYGRANT                      = 0x20007454\n\tTIOCPTYUNLK                       = 0x20007452\n\tTIOCREMOTE                        = 0x80047469\n\tTIOCSBRK                          = 0x2000747b\n\tTIOCSCONS                         = 0x20007463\n\tTIOCSCTTY                         = 0x20007461\n\tTIOCSDRAINWAIT                    = 0x80047457\n\tTIOCSDTR                          = 0x20007479\n\tTIOCSETA                          = 0x80487414\n\tTIOCSETAF                         = 0x80487416\n\tTIOCSETAW                         = 0x80487415\n\tTIOCSETD                          = 0x8004741b\n\tTIOCSIG                           = 0x2000745f\n\tTIOCSPGRP                         = 0x80047476\n\tTIOCSTART                         = 0x2000746e\n\tTIOCSTAT                          = 0x20007465\n\tTIOCSTI                           = 0x80017472\n\tTIOCSTOP                          = 0x2000746f\n\tTIOCSWINSZ                        = 0x80087467\n\tTIOCTIMESTAMP                     = 0x40107459\n\tTIOCUCNTL                         = 0x80047466\n\tTOSTOP                            = 0x400000\n\tVDISCARD                          = 0xf\n\tVDSUSP                            = 0xb\n\tVEOF                              = 0x0\n\tVEOL                              = 0x1\n\tVEOL2                             = 0x2\n\tVERASE                            = 0x3\n\tVINTR                             = 0x8\n\tVKILL                             = 0x5\n\tVLNEXT                            = 0xe\n\tVMIN                              = 0x10\n\tVM_LOADAVG                        = 0x2\n\tVM_MACHFACTOR                     = 0x4\n\tVM_MAXID                          = 0x6\n\tVM_METER                          = 0x1\n\tVM_SWAPUSAGE                      = 0x5\n\tVQUIT                             = 0x9\n\tVREPRINT                          = 0x6\n\tVSTART                            = 0xc\n\tVSTATUS                           = 0x12\n\tVSTOP                             = 0xd\n\tVSUSP                             = 0xa\n\tVT0                               = 0x0\n\tVT1                               = 0x10000\n\tVTDLY                             = 0x10000\n\tVTIME                             = 0x11\n\tVWERASE                           = 0x4\n\tWCONTINUED                        = 0x10\n\tWCOREFLAG                         = 0x80\n\tWEXITED                           = 0x4\n\tWNOHANG                           = 0x1\n\tWNOWAIT                           = 0x20\n\tWORDSIZE                          = 0x40\n\tWSTOPPED                          = 0x8\n\tWUNTRACED                         = 0x2\n\tXATTR_CREATE                      = 0x2\n\tXATTR_NODEFAULT                   = 0x10\n\tXATTR_NOFOLLOW                    = 0x1\n\tXATTR_NOSECURITY                  = 0x8\n\tXATTR_REPLACE                     = 0x4\n\tXATTR_SHOWCOMPRESSION             = 0x20\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x30)\n\tEADDRNOTAVAIL   = syscall.Errno(0x31)\n\tEAFNOSUPPORT    = syscall.Errno(0x2f)\n\tEAGAIN          = syscall.Errno(0x23)\n\tEALREADY        = syscall.Errno(0x25)\n\tEAUTH           = syscall.Errno(0x50)\n\tEBADARCH        = syscall.Errno(0x56)\n\tEBADEXEC        = syscall.Errno(0x55)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADMACHO       = syscall.Errno(0x58)\n\tEBADMSG         = syscall.Errno(0x5e)\n\tEBADRPC         = syscall.Errno(0x48)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x59)\n\tECHILD          = syscall.Errno(0xa)\n\tECONNABORTED    = syscall.Errno(0x35)\n\tECONNREFUSED    = syscall.Errno(0x3d)\n\tECONNRESET      = syscall.Errno(0x36)\n\tEDEADLK         = syscall.Errno(0xb)\n\tEDESTADDRREQ    = syscall.Errno(0x27)\n\tEDEVERR         = syscall.Errno(0x53)\n\tEDOM            = syscall.Errno(0x21)\n\tEDQUOT          = syscall.Errno(0x45)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEFTYPE          = syscall.Errno(0x4f)\n\tEHOSTDOWN       = syscall.Errno(0x40)\n\tEHOSTUNREACH    = syscall.Errno(0x41)\n\tEIDRM           = syscall.Errno(0x5a)\n\tEILSEQ          = syscall.Errno(0x5c)\n\tEINPROGRESS     = syscall.Errno(0x24)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x38)\n\tEISDIR          = syscall.Errno(0x15)\n\tELAST           = syscall.Errno(0x6a)\n\tELOOP           = syscall.Errno(0x3e)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x28)\n\tEMULTIHOP       = syscall.Errno(0x5f)\n\tENAMETOOLONG    = syscall.Errno(0x3f)\n\tENEEDAUTH       = syscall.Errno(0x51)\n\tENETDOWN        = syscall.Errno(0x32)\n\tENETRESET       = syscall.Errno(0x34)\n\tENETUNREACH     = syscall.Errno(0x33)\n\tENFILE          = syscall.Errno(0x17)\n\tENOATTR         = syscall.Errno(0x5d)\n\tENOBUFS         = syscall.Errno(0x37)\n\tENODATA         = syscall.Errno(0x60)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOLCK          = syscall.Errno(0x4d)\n\tENOLINK         = syscall.Errno(0x61)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x5b)\n\tENOPOLICY       = syscall.Errno(0x67)\n\tENOPROTOOPT     = syscall.Errno(0x2a)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x62)\n\tENOSTR          = syscall.Errno(0x63)\n\tENOSYS          = syscall.Errno(0x4e)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x39)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x42)\n\tENOTRECOVERABLE = syscall.Errno(0x68)\n\tENOTSOCK        = syscall.Errno(0x26)\n\tENOTSUP         = syscall.Errno(0x2d)\n\tENOTTY          = syscall.Errno(0x19)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x66)\n\tEOVERFLOW       = syscall.Errno(0x54)\n\tEOWNERDEAD      = syscall.Errno(0x69)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x2e)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROCLIM        = syscall.Errno(0x43)\n\tEPROCUNAVAIL    = syscall.Errno(0x4c)\n\tEPROGMISMATCH   = syscall.Errno(0x4b)\n\tEPROGUNAVAIL    = syscall.Errno(0x4a)\n\tEPROTO          = syscall.Errno(0x64)\n\tEPROTONOSUPPORT = syscall.Errno(0x2b)\n\tEPROTOTYPE      = syscall.Errno(0x29)\n\tEPWROFF         = syscall.Errno(0x52)\n\tEQFULL          = syscall.Errno(0x6a)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMOTE         = syscall.Errno(0x47)\n\tEROFS           = syscall.Errno(0x1e)\n\tERPCMISMATCH    = syscall.Errno(0x49)\n\tESHLIBVERS      = syscall.Errno(0x57)\n\tESHUTDOWN       = syscall.Errno(0x3a)\n\tESOCKTNOSUPPORT = syscall.Errno(0x2c)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESTALE          = syscall.Errno(0x46)\n\tETIME           = syscall.Errno(0x65)\n\tETIMEDOUT       = syscall.Errno(0x3c)\n\tETOOMANYREFS    = syscall.Errno(0x3b)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUSERS          = syscall.Errno(0x44)\n\tEWOULDBLOCK     = syscall.Errno(0x23)\n\tEXDEV           = syscall.Errno(0x12)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x14)\n\tSIGCONT   = syscall.Signal(0x13)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINFO   = syscall.Signal(0x1d)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x17)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x11)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x12)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x10)\n\tSIGUSR1   = syscall.Signal(0x1e)\n\tSIGUSR2   = syscall.Signal(0x1f)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errorList = [...]struct {\n\tnum  syscall.Errno\n\tname string\n\tdesc string\n}{\n\t{1, \"EPERM\", \"operation not permitted\"},\n\t{2, \"ENOENT\", \"no such file or directory\"},\n\t{3, \"ESRCH\", \"no such process\"},\n\t{4, \"EINTR\", \"interrupted system call\"},\n\t{5, \"EIO\", \"input/output error\"},\n\t{6, \"ENXIO\", \"device not configured\"},\n\t{7, \"E2BIG\", \"argument list too long\"},\n\t{8, \"ENOEXEC\", \"exec format error\"},\n\t{9, \"EBADF\", \"bad file descriptor\"},\n\t{10, \"ECHILD\", \"no child processes\"},\n\t{11, \"EDEADLK\", \"resource deadlock avoided\"},\n\t{12, \"ENOMEM\", \"cannot allocate memory\"},\n\t{13, \"EACCES\", \"permission denied\"},\n\t{14, \"EFAULT\", \"bad address\"},\n\t{15, \"ENOTBLK\", \"block device required\"},\n\t{16, \"EBUSY\", \"resource busy\"},\n\t{17, \"EEXIST\", \"file exists\"},\n\t{18, \"EXDEV\", \"cross-device link\"},\n\t{19, \"ENODEV\", \"operation not supported by device\"},\n\t{20, \"ENOTDIR\", \"not a directory\"},\n\t{21, \"EISDIR\", \"is a directory\"},\n\t{22, \"EINVAL\", \"invalid argument\"},\n\t{23, \"ENFILE\", \"too many open files in system\"},\n\t{24, \"EMFILE\", \"too many open files\"},\n\t{25, \"ENOTTY\", \"inappropriate ioctl for device\"},\n\t{26, \"ETXTBSY\", \"text file busy\"},\n\t{27, \"EFBIG\", \"file too large\"},\n\t{28, \"ENOSPC\", \"no space left on device\"},\n\t{29, \"ESPIPE\", \"illegal seek\"},\n\t{30, \"EROFS\", \"read-only file system\"},\n\t{31, \"EMLINK\", \"too many links\"},\n\t{32, \"EPIPE\", \"broken pipe\"},\n\t{33, \"EDOM\", \"numerical argument out of domain\"},\n\t{34, \"ERANGE\", \"result too large\"},\n\t{35, \"EAGAIN\", \"resource temporarily unavailable\"},\n\t{36, \"EINPROGRESS\", \"operation now in progress\"},\n\t{37, \"EALREADY\", \"operation already in progress\"},\n\t{38, \"ENOTSOCK\", \"socket operation on non-socket\"},\n\t{39, \"EDESTADDRREQ\", \"destination address required\"},\n\t{40, \"EMSGSIZE\", \"message too long\"},\n\t{41, \"EPROTOTYPE\", \"protocol wrong type for socket\"},\n\t{42, \"ENOPROTOOPT\", \"protocol not available\"},\n\t{43, \"EPROTONOSUPPORT\", \"protocol not supported\"},\n\t{44, \"ESOCKTNOSUPPORT\", \"socket type not supported\"},\n\t{45, \"ENOTSUP\", \"operation not supported\"},\n\t{46, \"EPFNOSUPPORT\", \"protocol family not supported\"},\n\t{47, \"EAFNOSUPPORT\", \"address family not supported by protocol family\"},\n\t{48, \"EADDRINUSE\", \"address already in use\"},\n\t{49, \"EADDRNOTAVAIL\", \"can't assign requested address\"},\n\t{50, \"ENETDOWN\", \"network is down\"},\n\t{51, \"ENETUNREACH\", \"network is unreachable\"},\n\t{52, \"ENETRESET\", \"network dropped connection on reset\"},\n\t{53, \"ECONNABORTED\", \"software caused connection abort\"},\n\t{54, \"ECONNRESET\", \"connection reset by peer\"},\n\t{55, \"ENOBUFS\", \"no buffer space available\"},\n\t{56, \"EISCONN\", \"socket is already connected\"},\n\t{57, \"ENOTCONN\", \"socket is not connected\"},\n\t{58, \"ESHUTDOWN\", \"can't send after socket shutdown\"},\n\t{59, \"ETOOMANYREFS\", \"too many references: can't splice\"},\n\t{60, \"ETIMEDOUT\", \"operation timed out\"},\n\t{61, \"ECONNREFUSED\", \"connection refused\"},\n\t{62, \"ELOOP\", \"too many levels of symbolic links\"},\n\t{63, \"ENAMETOOLONG\", \"file name too long\"},\n\t{64, \"EHOSTDOWN\", \"host is down\"},\n\t{65, \"EHOSTUNREACH\", \"no route to host\"},\n\t{66, \"ENOTEMPTY\", \"directory not empty\"},\n\t{67, \"EPROCLIM\", \"too many processes\"},\n\t{68, \"EUSERS\", \"too many users\"},\n\t{69, \"EDQUOT\", \"disc quota exceeded\"},\n\t{70, \"ESTALE\", \"stale NFS file handle\"},\n\t{71, \"EREMOTE\", \"too many levels of remote in path\"},\n\t{72, \"EBADRPC\", \"RPC struct is bad\"},\n\t{73, \"ERPCMISMATCH\", \"RPC version wrong\"},\n\t{74, \"EPROGUNAVAIL\", \"RPC prog. not avail\"},\n\t{75, \"EPROGMISMATCH\", \"program version wrong\"},\n\t{76, \"EPROCUNAVAIL\", \"bad procedure for program\"},\n\t{77, \"ENOLCK\", \"no locks available\"},\n\t{78, \"ENOSYS\", \"function not implemented\"},\n\t{79, \"EFTYPE\", \"inappropriate file type or format\"},\n\t{80, \"EAUTH\", \"authentication error\"},\n\t{81, \"ENEEDAUTH\", \"need authenticator\"},\n\t{82, \"EPWROFF\", \"device power is off\"},\n\t{83, \"EDEVERR\", \"device error\"},\n\t{84, \"EOVERFLOW\", \"value too large to be stored in data type\"},\n\t{85, \"EBADEXEC\", \"bad executable (or shared library)\"},\n\t{86, \"EBADARCH\", \"bad CPU type in executable\"},\n\t{87, \"ESHLIBVERS\", \"shared library version mismatch\"},\n\t{88, \"EBADMACHO\", \"malformed Mach-o file\"},\n\t{89, \"ECANCELED\", \"operation canceled\"},\n\t{90, \"EIDRM\", \"identifier removed\"},\n\t{91, \"ENOMSG\", \"no message of desired type\"},\n\t{92, \"EILSEQ\", \"illegal byte sequence\"},\n\t{93, \"ENOATTR\", \"attribute not found\"},\n\t{94, \"EBADMSG\", \"bad message\"},\n\t{95, \"EMULTIHOP\", \"EMULTIHOP (Reserved)\"},\n\t{96, \"ENODATA\", \"no message available on STREAM\"},\n\t{97, \"ENOLINK\", \"ENOLINK (Reserved)\"},\n\t{98, \"ENOSR\", \"no STREAM resources\"},\n\t{99, \"ENOSTR\", \"not a STREAM\"},\n\t{100, \"EPROTO\", \"protocol error\"},\n\t{101, \"ETIME\", \"STREAM ioctl timeout\"},\n\t{102, \"EOPNOTSUPP\", \"operation not supported on socket\"},\n\t{103, \"ENOPOLICY\", \"policy not found\"},\n\t{104, \"ENOTRECOVERABLE\", \"state not recoverable\"},\n\t{105, \"EOWNERDEAD\", \"previous owner died\"},\n\t{106, \"EQFULL\", \"interface output queue is full\"},\n}\n\n// Signal table\nvar signalList = [...]struct {\n\tnum  syscall.Signal\n\tname string\n\tdesc string\n}{\n\t{1, \"SIGHUP\", \"hangup\"},\n\t{2, \"SIGINT\", \"interrupt\"},\n\t{3, \"SIGQUIT\", \"quit\"},\n\t{4, \"SIGILL\", \"illegal instruction\"},\n\t{5, \"SIGTRAP\", \"trace/BPT trap\"},\n\t{6, \"SIGABRT\", \"abort trap\"},\n\t{7, \"SIGEMT\", \"EMT trap\"},\n\t{8, \"SIGFPE\", \"floating point exception\"},\n\t{9, \"SIGKILL\", \"killed\"},\n\t{10, \"SIGBUS\", \"bus error\"},\n\t{11, \"SIGSEGV\", \"segmentation fault\"},\n\t{12, \"SIGSYS\", \"bad system call\"},\n\t{13, \"SIGPIPE\", \"broken pipe\"},\n\t{14, \"SIGALRM\", \"alarm clock\"},\n\t{15, \"SIGTERM\", \"terminated\"},\n\t{16, \"SIGURG\", \"urgent I/O condition\"},\n\t{17, \"SIGSTOP\", \"suspended (signal)\"},\n\t{18, \"SIGTSTP\", \"suspended\"},\n\t{19, \"SIGCONT\", \"continued\"},\n\t{20, \"SIGCHLD\", \"child exited\"},\n\t{21, \"SIGTTIN\", \"stopped (tty input)\"},\n\t{22, \"SIGTTOU\", \"stopped (tty output)\"},\n\t{23, \"SIGIO\", \"I/O possible\"},\n\t{24, \"SIGXCPU\", \"cputime limit exceeded\"},\n\t{25, \"SIGXFSZ\", \"filesize limit exceeded\"},\n\t{26, \"SIGVTALRM\", \"virtual timer expired\"},\n\t{27, \"SIGPROF\", \"profiling timer expired\"},\n\t{28, \"SIGWINCH\", \"window size changes\"},\n\t{29, \"SIGINFO\", \"information request\"},\n\t{30, \"SIGUSR1\", \"user defined signal 1\"},\n\t{31, \"SIGUSR2\", \"user defined signal 2\"},\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go",
    "content": "// mkerrors.sh\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build arm,darwin\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_APPLETALK                      = 0x10\n\tAF_CCITT                          = 0xa\n\tAF_CHAOS                          = 0x5\n\tAF_CNT                            = 0x15\n\tAF_COIP                           = 0x14\n\tAF_DATAKIT                        = 0x9\n\tAF_DECnet                         = 0xc\n\tAF_DLI                            = 0xd\n\tAF_E164                           = 0x1c\n\tAF_ECMA                           = 0x8\n\tAF_HYLINK                         = 0xf\n\tAF_IEEE80211                      = 0x25\n\tAF_IMPLINK                        = 0x3\n\tAF_INET                           = 0x2\n\tAF_INET6                          = 0x1e\n\tAF_IPX                            = 0x17\n\tAF_ISDN                           = 0x1c\n\tAF_ISO                            = 0x7\n\tAF_LAT                            = 0xe\n\tAF_LINK                           = 0x12\n\tAF_LOCAL                          = 0x1\n\tAF_MAX                            = 0x28\n\tAF_NATM                           = 0x1f\n\tAF_NDRV                           = 0x1b\n\tAF_NETBIOS                        = 0x21\n\tAF_NS                             = 0x6\n\tAF_OSI                            = 0x7\n\tAF_PPP                            = 0x22\n\tAF_PUP                            = 0x4\n\tAF_RESERVED_36                    = 0x24\n\tAF_ROUTE                          = 0x11\n\tAF_SIP                            = 0x18\n\tAF_SNA                            = 0xb\n\tAF_SYSTEM                         = 0x20\n\tAF_UNIX                           = 0x1\n\tAF_UNSPEC                         = 0x0\n\tAF_UTUN                           = 0x26\n\tALTWERASE                         = 0x200\n\tATTR_BIT_MAP_COUNT                = 0x5\n\tATTR_CMN_ACCESSMASK               = 0x20000\n\tATTR_CMN_ACCTIME                  = 0x1000\n\tATTR_CMN_ADDEDTIME                = 0x10000000\n\tATTR_CMN_BKUPTIME                 = 0x2000\n\tATTR_CMN_CHGTIME                  = 0x800\n\tATTR_CMN_CRTIME                   = 0x200\n\tATTR_CMN_DATA_PROTECT_FLAGS       = 0x40000000\n\tATTR_CMN_DEVID                    = 0x2\n\tATTR_CMN_DOCUMENT_ID              = 0x100000\n\tATTR_CMN_ERROR                    = 0x20000000\n\tATTR_CMN_EXTENDED_SECURITY        = 0x400000\n\tATTR_CMN_FILEID                   = 0x2000000\n\tATTR_CMN_FLAGS                    = 0x40000\n\tATTR_CMN_FNDRINFO                 = 0x4000\n\tATTR_CMN_FSID                     = 0x4\n\tATTR_CMN_FULLPATH                 = 0x8000000\n\tATTR_CMN_GEN_COUNT                = 0x80000\n\tATTR_CMN_GRPID                    = 0x10000\n\tATTR_CMN_GRPUUID                  = 0x1000000\n\tATTR_CMN_MODTIME                  = 0x400\n\tATTR_CMN_NAME                     = 0x1\n\tATTR_CMN_NAMEDATTRCOUNT           = 0x80000\n\tATTR_CMN_NAMEDATTRLIST            = 0x100000\n\tATTR_CMN_OBJID                    = 0x20\n\tATTR_CMN_OBJPERMANENTID           = 0x40\n\tATTR_CMN_OBJTAG                   = 0x10\n\tATTR_CMN_OBJTYPE                  = 0x8\n\tATTR_CMN_OWNERID                  = 0x8000\n\tATTR_CMN_PARENTID                 = 0x4000000\n\tATTR_CMN_PAROBJID                 = 0x80\n\tATTR_CMN_RETURNED_ATTRS           = 0x80000000\n\tATTR_CMN_SCRIPT                   = 0x100\n\tATTR_CMN_SETMASK                  = 0x41c7ff00\n\tATTR_CMN_USERACCESS               = 0x200000\n\tATTR_CMN_UUID                     = 0x800000\n\tATTR_CMN_VALIDMASK                = 0xffffffff\n\tATTR_CMN_VOLSETMASK               = 0x6700\n\tATTR_FILE_ALLOCSIZE               = 0x4\n\tATTR_FILE_CLUMPSIZE               = 0x10\n\tATTR_FILE_DATAALLOCSIZE           = 0x400\n\tATTR_FILE_DATAEXTENTS             = 0x800\n\tATTR_FILE_DATALENGTH              = 0x200\n\tATTR_FILE_DEVTYPE                 = 0x20\n\tATTR_FILE_FILETYPE                = 0x40\n\tATTR_FILE_FORKCOUNT               = 0x80\n\tATTR_FILE_FORKLIST                = 0x100\n\tATTR_FILE_IOBLOCKSIZE             = 0x8\n\tATTR_FILE_LINKCOUNT               = 0x1\n\tATTR_FILE_RSRCALLOCSIZE           = 0x2000\n\tATTR_FILE_RSRCEXTENTS             = 0x4000\n\tATTR_FILE_RSRCLENGTH              = 0x1000\n\tATTR_FILE_SETMASK                 = 0x20\n\tATTR_FILE_TOTALSIZE               = 0x2\n\tATTR_FILE_VALIDMASK               = 0x37ff\n\tATTR_VOL_ALLOCATIONCLUMP          = 0x40\n\tATTR_VOL_ATTRIBUTES               = 0x40000000\n\tATTR_VOL_CAPABILITIES             = 0x20000\n\tATTR_VOL_DIRCOUNT                 = 0x400\n\tATTR_VOL_ENCODINGSUSED            = 0x10000\n\tATTR_VOL_FILECOUNT                = 0x200\n\tATTR_VOL_FSTYPE                   = 0x1\n\tATTR_VOL_INFO                     = 0x80000000\n\tATTR_VOL_IOBLOCKSIZE              = 0x80\n\tATTR_VOL_MAXOBJCOUNT              = 0x800\n\tATTR_VOL_MINALLOCATION            = 0x20\n\tATTR_VOL_MOUNTEDDEVICE            = 0x8000\n\tATTR_VOL_MOUNTFLAGS               = 0x4000\n\tATTR_VOL_MOUNTPOINT               = 0x1000\n\tATTR_VOL_NAME                     = 0x2000\n\tATTR_VOL_OBJCOUNT                 = 0x100\n\tATTR_VOL_QUOTA_SIZE               = 0x10000000\n\tATTR_VOL_RESERVED_SIZE            = 0x20000000\n\tATTR_VOL_SETMASK                  = 0x80002000\n\tATTR_VOL_SIGNATURE                = 0x2\n\tATTR_VOL_SIZE                     = 0x4\n\tATTR_VOL_SPACEAVAIL               = 0x10\n\tATTR_VOL_SPACEFREE                = 0x8\n\tATTR_VOL_UUID                     = 0x40000\n\tATTR_VOL_VALIDMASK                = 0xf007ffff\n\tB0                                = 0x0\n\tB110                              = 0x6e\n\tB115200                           = 0x1c200\n\tB1200                             = 0x4b0\n\tB134                              = 0x86\n\tB14400                            = 0x3840\n\tB150                              = 0x96\n\tB1800                             = 0x708\n\tB19200                            = 0x4b00\n\tB200                              = 0xc8\n\tB230400                           = 0x38400\n\tB2400                             = 0x960\n\tB28800                            = 0x7080\n\tB300                              = 0x12c\n\tB38400                            = 0x9600\n\tB4800                             = 0x12c0\n\tB50                               = 0x32\n\tB57600                            = 0xe100\n\tB600                              = 0x258\n\tB7200                             = 0x1c20\n\tB75                               = 0x4b\n\tB76800                            = 0x12c00\n\tB9600                             = 0x2580\n\tBIOCFLUSH                         = 0x20004268\n\tBIOCGBLEN                         = 0x40044266\n\tBIOCGDLT                          = 0x4004426a\n\tBIOCGDLTLIST                      = 0xc00c4279\n\tBIOCGETIF                         = 0x4020426b\n\tBIOCGHDRCMPLT                     = 0x40044274\n\tBIOCGRSIG                         = 0x40044272\n\tBIOCGRTIMEOUT                     = 0x4010426e\n\tBIOCGSEESENT                      = 0x40044276\n\tBIOCGSTATS                        = 0x4008426f\n\tBIOCIMMEDIATE                     = 0x80044270\n\tBIOCPROMISC                       = 0x20004269\n\tBIOCSBLEN                         = 0xc0044266\n\tBIOCSDLT                          = 0x80044278\n\tBIOCSETF                          = 0x80104267\n\tBIOCSETFNR                        = 0x8010427e\n\tBIOCSETIF                         = 0x8020426c\n\tBIOCSHDRCMPLT                     = 0x80044275\n\tBIOCSRSIG                         = 0x80044273\n\tBIOCSRTIMEOUT                     = 0x8010426d\n\tBIOCSSEESENT                      = 0x80044277\n\tBIOCVERSION                       = 0x40044271\n\tBPF_A                             = 0x10\n\tBPF_ABS                           = 0x20\n\tBPF_ADD                           = 0x0\n\tBPF_ALIGNMENT                     = 0x4\n\tBPF_ALU                           = 0x4\n\tBPF_AND                           = 0x50\n\tBPF_B                             = 0x10\n\tBPF_DIV                           = 0x30\n\tBPF_H                             = 0x8\n\tBPF_IMM                           = 0x0\n\tBPF_IND                           = 0x40\n\tBPF_JA                            = 0x0\n\tBPF_JEQ                           = 0x10\n\tBPF_JGE                           = 0x30\n\tBPF_JGT                           = 0x20\n\tBPF_JMP                           = 0x5\n\tBPF_JSET                          = 0x40\n\tBPF_K                             = 0x0\n\tBPF_LD                            = 0x0\n\tBPF_LDX                           = 0x1\n\tBPF_LEN                           = 0x80\n\tBPF_LSH                           = 0x60\n\tBPF_MAJOR_VERSION                 = 0x1\n\tBPF_MAXBUFSIZE                    = 0x80000\n\tBPF_MAXINSNS                      = 0x200\n\tBPF_MEM                           = 0x60\n\tBPF_MEMWORDS                      = 0x10\n\tBPF_MINBUFSIZE                    = 0x20\n\tBPF_MINOR_VERSION                 = 0x1\n\tBPF_MISC                          = 0x7\n\tBPF_MSH                           = 0xa0\n\tBPF_MUL                           = 0x20\n\tBPF_NEG                           = 0x80\n\tBPF_OR                            = 0x40\n\tBPF_RELEASE                       = 0x30bb6\n\tBPF_RET                           = 0x6\n\tBPF_RSH                           = 0x70\n\tBPF_ST                            = 0x2\n\tBPF_STX                           = 0x3\n\tBPF_SUB                           = 0x10\n\tBPF_TAX                           = 0x0\n\tBPF_TXA                           = 0x80\n\tBPF_W                             = 0x0\n\tBPF_X                             = 0x8\n\tBRKINT                            = 0x2\n\tBS0                               = 0x0\n\tBS1                               = 0x8000\n\tBSDLY                             = 0x8000\n\tCFLUSH                            = 0xf\n\tCLOCAL                            = 0x8000\n\tCLOCK_MONOTONIC                   = 0x6\n\tCLOCK_MONOTONIC_RAW               = 0x4\n\tCLOCK_MONOTONIC_RAW_APPROX        = 0x5\n\tCLOCK_PROCESS_CPUTIME_ID          = 0xc\n\tCLOCK_REALTIME                    = 0x0\n\tCLOCK_THREAD_CPUTIME_ID           = 0x10\n\tCLOCK_UPTIME_RAW                  = 0x8\n\tCLOCK_UPTIME_RAW_APPROX           = 0x9\n\tCR0                               = 0x0\n\tCR1                               = 0x1000\n\tCR2                               = 0x2000\n\tCR3                               = 0x3000\n\tCRDLY                             = 0x3000\n\tCREAD                             = 0x800\n\tCRTSCTS                           = 0x30000\n\tCS5                               = 0x0\n\tCS6                               = 0x100\n\tCS7                               = 0x200\n\tCS8                               = 0x300\n\tCSIZE                             = 0x300\n\tCSTART                            = 0x11\n\tCSTATUS                           = 0x14\n\tCSTOP                             = 0x13\n\tCSTOPB                            = 0x400\n\tCSUSP                             = 0x1a\n\tCTL_HW                            = 0x6\n\tCTL_KERN                          = 0x1\n\tCTL_MAXNAME                       = 0xc\n\tCTL_NET                           = 0x4\n\tDLT_A429                          = 0xb8\n\tDLT_A653_ICM                      = 0xb9\n\tDLT_AIRONET_HEADER                = 0x78\n\tDLT_AOS                           = 0xde\n\tDLT_APPLE_IP_OVER_IEEE1394        = 0x8a\n\tDLT_ARCNET                        = 0x7\n\tDLT_ARCNET_LINUX                  = 0x81\n\tDLT_ATM_CLIP                      = 0x13\n\tDLT_ATM_RFC1483                   = 0xb\n\tDLT_AURORA                        = 0x7e\n\tDLT_AX25                          = 0x3\n\tDLT_AX25_KISS                     = 0xca\n\tDLT_BACNET_MS_TP                  = 0xa5\n\tDLT_BLUETOOTH_HCI_H4              = 0xbb\n\tDLT_BLUETOOTH_HCI_H4_WITH_PHDR    = 0xc9\n\tDLT_CAN20B                        = 0xbe\n\tDLT_CAN_SOCKETCAN                 = 0xe3\n\tDLT_CHAOS                         = 0x5\n\tDLT_CHDLC                         = 0x68\n\tDLT_CISCO_IOS                     = 0x76\n\tDLT_C_HDLC                        = 0x68\n\tDLT_C_HDLC_WITH_DIR               = 0xcd\n\tDLT_DBUS                          = 0xe7\n\tDLT_DECT                          = 0xdd\n\tDLT_DOCSIS                        = 0x8f\n\tDLT_DVB_CI                        = 0xeb\n\tDLT_ECONET                        = 0x73\n\tDLT_EN10MB                        = 0x1\n\tDLT_EN3MB                         = 0x2\n\tDLT_ENC                           = 0x6d\n\tDLT_ERF                           = 0xc5\n\tDLT_ERF_ETH                       = 0xaf\n\tDLT_ERF_POS                       = 0xb0\n\tDLT_FC_2                          = 0xe0\n\tDLT_FC_2_WITH_FRAME_DELIMS        = 0xe1\n\tDLT_FDDI                          = 0xa\n\tDLT_FLEXRAY                       = 0xd2\n\tDLT_FRELAY                        = 0x6b\n\tDLT_FRELAY_WITH_DIR               = 0xce\n\tDLT_GCOM_SERIAL                   = 0xad\n\tDLT_GCOM_T1E1                     = 0xac\n\tDLT_GPF_F                         = 0xab\n\tDLT_GPF_T                         = 0xaa\n\tDLT_GPRS_LLC                      = 0xa9\n\tDLT_GSMTAP_ABIS                   = 0xda\n\tDLT_GSMTAP_UM                     = 0xd9\n\tDLT_HHDLC                         = 0x79\n\tDLT_IBM_SN                        = 0x92\n\tDLT_IBM_SP                        = 0x91\n\tDLT_IEEE802                       = 0x6\n\tDLT_IEEE802_11                    = 0x69\n\tDLT_IEEE802_11_RADIO              = 0x7f\n\tDLT_IEEE802_11_RADIO_AVS          = 0xa3\n\tDLT_IEEE802_15_4                  = 0xc3\n\tDLT_IEEE802_15_4_LINUX            = 0xbf\n\tDLT_IEEE802_15_4_NOFCS            = 0xe6\n\tDLT_IEEE802_15_4_NONASK_PHY       = 0xd7\n\tDLT_IEEE802_16_MAC_CPS            = 0xbc\n\tDLT_IEEE802_16_MAC_CPS_RADIO      = 0xc1\n\tDLT_IPFILTER                      = 0x74\n\tDLT_IPMB                          = 0xc7\n\tDLT_IPMB_LINUX                    = 0xd1\n\tDLT_IPNET                         = 0xe2\n\tDLT_IPOIB                         = 0xf2\n\tDLT_IPV4                          = 0xe4\n\tDLT_IPV6                          = 0xe5\n\tDLT_IP_OVER_FC                    = 0x7a\n\tDLT_JUNIPER_ATM1                  = 0x89\n\tDLT_JUNIPER_ATM2                  = 0x87\n\tDLT_JUNIPER_ATM_CEMIC             = 0xee\n\tDLT_JUNIPER_CHDLC                 = 0xb5\n\tDLT_JUNIPER_ES                    = 0x84\n\tDLT_JUNIPER_ETHER                 = 0xb2\n\tDLT_JUNIPER_FIBRECHANNEL          = 0xea\n\tDLT_JUNIPER_FRELAY                = 0xb4\n\tDLT_JUNIPER_GGSN                  = 0x85\n\tDLT_JUNIPER_ISM                   = 0xc2\n\tDLT_JUNIPER_MFR                   = 0x86\n\tDLT_JUNIPER_MLFR                  = 0x83\n\tDLT_JUNIPER_MLPPP                 = 0x82\n\tDLT_JUNIPER_MONITOR               = 0xa4\n\tDLT_JUNIPER_PIC_PEER              = 0xae\n\tDLT_JUNIPER_PPP                   = 0xb3\n\tDLT_JUNIPER_PPPOE                 = 0xa7\n\tDLT_JUNIPER_PPPOE_ATM             = 0xa8\n\tDLT_JUNIPER_SERVICES              = 0x88\n\tDLT_JUNIPER_SRX_E2E               = 0xe9\n\tDLT_JUNIPER_ST                    = 0xc8\n\tDLT_JUNIPER_VP                    = 0xb7\n\tDLT_JUNIPER_VS                    = 0xe8\n\tDLT_LAPB_WITH_DIR                 = 0xcf\n\tDLT_LAPD                          = 0xcb\n\tDLT_LIN                           = 0xd4\n\tDLT_LINUX_EVDEV                   = 0xd8\n\tDLT_LINUX_IRDA                    = 0x90\n\tDLT_LINUX_LAPD                    = 0xb1\n\tDLT_LINUX_PPP_WITHDIRECTION       = 0xa6\n\tDLT_LINUX_SLL                     = 0x71\n\tDLT_LOOP                          = 0x6c\n\tDLT_LTALK                         = 0x72\n\tDLT_MATCHING_MAX                  = 0xf5\n\tDLT_MATCHING_MIN                  = 0x68\n\tDLT_MFR                           = 0xb6\n\tDLT_MOST                          = 0xd3\n\tDLT_MPEG_2_TS                     = 0xf3\n\tDLT_MPLS                          = 0xdb\n\tDLT_MTP2                          = 0x8c\n\tDLT_MTP2_WITH_PHDR                = 0x8b\n\tDLT_MTP3                          = 0x8d\n\tDLT_MUX27010                      = 0xec\n\tDLT_NETANALYZER                   = 0xf0\n\tDLT_NETANALYZER_TRANSPARENT       = 0xf1\n\tDLT_NFC_LLCP                      = 0xf5\n\tDLT_NFLOG                         = 0xef\n\tDLT_NG40                          = 0xf4\n\tDLT_NULL                          = 0x0\n\tDLT_PCI_EXP                       = 0x7d\n\tDLT_PFLOG                         = 0x75\n\tDLT_PFSYNC                        = 0x12\n\tDLT_PPI                           = 0xc0\n\tDLT_PPP                           = 0x9\n\tDLT_PPP_BSDOS                     = 0x10\n\tDLT_PPP_ETHER                     = 0x33\n\tDLT_PPP_PPPD                      = 0xa6\n\tDLT_PPP_SERIAL                    = 0x32\n\tDLT_PPP_WITH_DIR                  = 0xcc\n\tDLT_PPP_WITH_DIRECTION            = 0xa6\n\tDLT_PRISM_HEADER                  = 0x77\n\tDLT_PRONET                        = 0x4\n\tDLT_RAIF1                         = 0xc6\n\tDLT_RAW                           = 0xc\n\tDLT_RIO                           = 0x7c\n\tDLT_SCCP                          = 0x8e\n\tDLT_SITA                          = 0xc4\n\tDLT_SLIP                          = 0x8\n\tDLT_SLIP_BSDOS                    = 0xf\n\tDLT_STANAG_5066_D_PDU             = 0xed\n\tDLT_SUNATM                        = 0x7b\n\tDLT_SYMANTEC_FIREWALL             = 0x63\n\tDLT_TZSP                          = 0x80\n\tDLT_USB                           = 0xba\n\tDLT_USB_LINUX                     = 0xbd\n\tDLT_USB_LINUX_MMAPPED             = 0xdc\n\tDLT_USER0                         = 0x93\n\tDLT_USER1                         = 0x94\n\tDLT_USER10                        = 0x9d\n\tDLT_USER11                        = 0x9e\n\tDLT_USER12                        = 0x9f\n\tDLT_USER13                        = 0xa0\n\tDLT_USER14                        = 0xa1\n\tDLT_USER15                        = 0xa2\n\tDLT_USER2                         = 0x95\n\tDLT_USER3                         = 0x96\n\tDLT_USER4                         = 0x97\n\tDLT_USER5                         = 0x98\n\tDLT_USER6                         = 0x99\n\tDLT_USER7                         = 0x9a\n\tDLT_USER8                         = 0x9b\n\tDLT_USER9                         = 0x9c\n\tDLT_WIHART                        = 0xdf\n\tDLT_X2E_SERIAL                    = 0xd5\n\tDLT_X2E_XORAYA                    = 0xd6\n\tDT_BLK                            = 0x6\n\tDT_CHR                            = 0x2\n\tDT_DIR                            = 0x4\n\tDT_FIFO                           = 0x1\n\tDT_LNK                            = 0xa\n\tDT_REG                            = 0x8\n\tDT_SOCK                           = 0xc\n\tDT_UNKNOWN                        = 0x0\n\tDT_WHT                            = 0xe\n\tECHO                              = 0x8\n\tECHOCTL                           = 0x40\n\tECHOE                             = 0x2\n\tECHOK                             = 0x4\n\tECHOKE                            = 0x1\n\tECHONL                            = 0x10\n\tECHOPRT                           = 0x20\n\tEVFILT_AIO                        = -0x3\n\tEVFILT_EXCEPT                     = -0xf\n\tEVFILT_FS                         = -0x9\n\tEVFILT_MACHPORT                   = -0x8\n\tEVFILT_PROC                       = -0x5\n\tEVFILT_READ                       = -0x1\n\tEVFILT_SIGNAL                     = -0x6\n\tEVFILT_SYSCOUNT                   = 0xf\n\tEVFILT_THREADMARKER               = 0xf\n\tEVFILT_TIMER                      = -0x7\n\tEVFILT_USER                       = -0xa\n\tEVFILT_VM                         = -0xc\n\tEVFILT_VNODE                      = -0x4\n\tEVFILT_WRITE                      = -0x2\n\tEV_ADD                            = 0x1\n\tEV_CLEAR                          = 0x20\n\tEV_DELETE                         = 0x2\n\tEV_DISABLE                        = 0x8\n\tEV_DISPATCH                       = 0x80\n\tEV_DISPATCH2                      = 0x180\n\tEV_ENABLE                         = 0x4\n\tEV_EOF                            = 0x8000\n\tEV_ERROR                          = 0x4000\n\tEV_FLAG0                          = 0x1000\n\tEV_FLAG1                          = 0x2000\n\tEV_ONESHOT                        = 0x10\n\tEV_OOBAND                         = 0x2000\n\tEV_POLL                           = 0x1000\n\tEV_RECEIPT                        = 0x40\n\tEV_SYSFLAGS                       = 0xf000\n\tEV_UDATA_SPECIFIC                 = 0x100\n\tEV_VANISHED                       = 0x200\n\tEXTA                              = 0x4b00\n\tEXTB                              = 0x9600\n\tEXTPROC                           = 0x800\n\tFD_CLOEXEC                        = 0x1\n\tFD_SETSIZE                        = 0x400\n\tFF0                               = 0x0\n\tFF1                               = 0x4000\n\tFFDLY                             = 0x4000\n\tFLUSHO                            = 0x800000\n\tFSOPT_ATTR_CMN_EXTENDED           = 0x20\n\tFSOPT_NOFOLLOW                    = 0x1\n\tFSOPT_NOINMEMUPDATE               = 0x2\n\tFSOPT_PACK_INVAL_ATTRS            = 0x8\n\tFSOPT_REPORT_FULLSIZE             = 0x4\n\tF_ADDFILESIGS                     = 0x3d\n\tF_ADDFILESIGS_FOR_DYLD_SIM        = 0x53\n\tF_ADDFILESIGS_RETURN              = 0x61\n\tF_ADDSIGS                         = 0x3b\n\tF_ALLOCATEALL                     = 0x4\n\tF_ALLOCATECONTIG                  = 0x2\n\tF_BARRIERFSYNC                    = 0x55\n\tF_CHECK_LV                        = 0x62\n\tF_CHKCLEAN                        = 0x29\n\tF_DUPFD                           = 0x0\n\tF_DUPFD_CLOEXEC                   = 0x43\n\tF_FINDSIGS                        = 0x4e\n\tF_FLUSH_DATA                      = 0x28\n\tF_FREEZE_FS                       = 0x35\n\tF_FULLFSYNC                       = 0x33\n\tF_GETCODEDIR                      = 0x48\n\tF_GETFD                           = 0x1\n\tF_GETFL                           = 0x3\n\tF_GETLK                           = 0x7\n\tF_GETLKPID                        = 0x42\n\tF_GETNOSIGPIPE                    = 0x4a\n\tF_GETOWN                          = 0x5\n\tF_GETPATH                         = 0x32\n\tF_GETPATH_MTMINFO                 = 0x47\n\tF_GETPROTECTIONCLASS              = 0x3f\n\tF_GETPROTECTIONLEVEL              = 0x4d\n\tF_GLOBAL_NOCACHE                  = 0x37\n\tF_LOG2PHYS                        = 0x31\n\tF_LOG2PHYS_EXT                    = 0x41\n\tF_NOCACHE                         = 0x30\n\tF_NODIRECT                        = 0x3e\n\tF_OK                              = 0x0\n\tF_PATHPKG_CHECK                   = 0x34\n\tF_PEOFPOSMODE                     = 0x3\n\tF_PREALLOCATE                     = 0x2a\n\tF_PUNCHHOLE                       = 0x63\n\tF_RDADVISE                        = 0x2c\n\tF_RDAHEAD                         = 0x2d\n\tF_RDLCK                           = 0x1\n\tF_SETBACKINGSTORE                 = 0x46\n\tF_SETFD                           = 0x2\n\tF_SETFL                           = 0x4\n\tF_SETLK                           = 0x8\n\tF_SETLKW                          = 0x9\n\tF_SETLKWTIMEOUT                   = 0xa\n\tF_SETNOSIGPIPE                    = 0x49\n\tF_SETOWN                          = 0x6\n\tF_SETPROTECTIONCLASS              = 0x40\n\tF_SETSIZE                         = 0x2b\n\tF_SINGLE_WRITER                   = 0x4c\n\tF_THAW_FS                         = 0x36\n\tF_TRANSCODEKEY                    = 0x4b\n\tF_TRIM_ACTIVE_FILE                = 0x64\n\tF_UNLCK                           = 0x2\n\tF_VOLPOSMODE                      = 0x4\n\tF_WRLCK                           = 0x3\n\tHUPCL                             = 0x4000\n\tHW_MACHINE                        = 0x1\n\tICANON                            = 0x100\n\tICMP6_FILTER                      = 0x12\n\tICRNL                             = 0x100\n\tIEXTEN                            = 0x400\n\tIFF_ALLMULTI                      = 0x200\n\tIFF_ALTPHYS                       = 0x4000\n\tIFF_BROADCAST                     = 0x2\n\tIFF_DEBUG                         = 0x4\n\tIFF_LINK0                         = 0x1000\n\tIFF_LINK1                         = 0x2000\n\tIFF_LINK2                         = 0x4000\n\tIFF_LOOPBACK                      = 0x8\n\tIFF_MULTICAST                     = 0x8000\n\tIFF_NOARP                         = 0x80\n\tIFF_NOTRAILERS                    = 0x20\n\tIFF_OACTIVE                       = 0x400\n\tIFF_POINTOPOINT                   = 0x10\n\tIFF_PROMISC                       = 0x100\n\tIFF_RUNNING                       = 0x40\n\tIFF_SIMPLEX                       = 0x800\n\tIFF_UP                            = 0x1\n\tIFNAMSIZ                          = 0x10\n\tIFT_1822                          = 0x2\n\tIFT_AAL5                          = 0x31\n\tIFT_ARCNET                        = 0x23\n\tIFT_ARCNETPLUS                    = 0x24\n\tIFT_ATM                           = 0x25\n\tIFT_BRIDGE                        = 0xd1\n\tIFT_CARP                          = 0xf8\n\tIFT_CELLULAR                      = 0xff\n\tIFT_CEPT                          = 0x13\n\tIFT_DS3                           = 0x1e\n\tIFT_ENC                           = 0xf4\n\tIFT_EON                           = 0x19\n\tIFT_ETHER                         = 0x6\n\tIFT_FAITH                         = 0x38\n\tIFT_FDDI                          = 0xf\n\tIFT_FRELAY                        = 0x20\n\tIFT_FRELAYDCE                     = 0x2c\n\tIFT_GIF                           = 0x37\n\tIFT_HDH1822                       = 0x3\n\tIFT_HIPPI                         = 0x2f\n\tIFT_HSSI                          = 0x2e\n\tIFT_HY                            = 0xe\n\tIFT_IEEE1394                      = 0x90\n\tIFT_IEEE8023ADLAG                 = 0x88\n\tIFT_ISDNBASIC                     = 0x14\n\tIFT_ISDNPRIMARY                   = 0x15\n\tIFT_ISO88022LLC                   = 0x29\n\tIFT_ISO88023                      = 0x7\n\tIFT_ISO88024                      = 0x8\n\tIFT_ISO88025                      = 0x9\n\tIFT_ISO88026                      = 0xa\n\tIFT_L2VLAN                        = 0x87\n\tIFT_LAPB                          = 0x10\n\tIFT_LOCALTALK                     = 0x2a\n\tIFT_LOOP                          = 0x18\n\tIFT_MIOX25                        = 0x26\n\tIFT_MODEM                         = 0x30\n\tIFT_NSIP                          = 0x1b\n\tIFT_OTHER                         = 0x1\n\tIFT_P10                           = 0xc\n\tIFT_P80                           = 0xd\n\tIFT_PARA                          = 0x22\n\tIFT_PDP                           = 0xff\n\tIFT_PFLOG                         = 0xf5\n\tIFT_PFSYNC                        = 0xf6\n\tIFT_PKTAP                         = 0xfe\n\tIFT_PPP                           = 0x17\n\tIFT_PROPMUX                       = 0x36\n\tIFT_PROPVIRTUAL                   = 0x35\n\tIFT_PTPSERIAL                     = 0x16\n\tIFT_RS232                         = 0x21\n\tIFT_SDLC                          = 0x11\n\tIFT_SIP                           = 0x1f\n\tIFT_SLIP                          = 0x1c\n\tIFT_SMDSDXI                       = 0x2b\n\tIFT_SMDSICIP                      = 0x34\n\tIFT_SONET                         = 0x27\n\tIFT_SONETPATH                     = 0x32\n\tIFT_SONETVT                       = 0x33\n\tIFT_STARLAN                       = 0xb\n\tIFT_STF                           = 0x39\n\tIFT_T1                            = 0x12\n\tIFT_ULTRA                         = 0x1d\n\tIFT_V35                           = 0x2d\n\tIFT_X25                           = 0x5\n\tIFT_X25DDN                        = 0x4\n\tIFT_X25PLE                        = 0x28\n\tIFT_XETHER                        = 0x1a\n\tIGNBRK                            = 0x1\n\tIGNCR                             = 0x80\n\tIGNPAR                            = 0x4\n\tIMAXBEL                           = 0x2000\n\tINLCR                             = 0x40\n\tINPCK                             = 0x10\n\tIN_CLASSA_HOST                    = 0xffffff\n\tIN_CLASSA_MAX                     = 0x80\n\tIN_CLASSA_NET                     = 0xff000000\n\tIN_CLASSA_NSHIFT                  = 0x18\n\tIN_CLASSB_HOST                    = 0xffff\n\tIN_CLASSB_MAX                     = 0x10000\n\tIN_CLASSB_NET                     = 0xffff0000\n\tIN_CLASSB_NSHIFT                  = 0x10\n\tIN_CLASSC_HOST                    = 0xff\n\tIN_CLASSC_NET                     = 0xffffff00\n\tIN_CLASSC_NSHIFT                  = 0x8\n\tIN_CLASSD_HOST                    = 0xfffffff\n\tIN_CLASSD_NET                     = 0xf0000000\n\tIN_CLASSD_NSHIFT                  = 0x1c\n\tIN_LINKLOCALNETNUM                = 0xa9fe0000\n\tIN_LOOPBACKNET                    = 0x7f\n\tIPPROTO_3PC                       = 0x22\n\tIPPROTO_ADFS                      = 0x44\n\tIPPROTO_AH                        = 0x33\n\tIPPROTO_AHIP                      = 0x3d\n\tIPPROTO_APES                      = 0x63\n\tIPPROTO_ARGUS                     = 0xd\n\tIPPROTO_AX25                      = 0x5d\n\tIPPROTO_BHA                       = 0x31\n\tIPPROTO_BLT                       = 0x1e\n\tIPPROTO_BRSATMON                  = 0x4c\n\tIPPROTO_CFTP                      = 0x3e\n\tIPPROTO_CHAOS                     = 0x10\n\tIPPROTO_CMTP                      = 0x26\n\tIPPROTO_CPHB                      = 0x49\n\tIPPROTO_CPNX                      = 0x48\n\tIPPROTO_DDP                       = 0x25\n\tIPPROTO_DGP                       = 0x56\n\tIPPROTO_DIVERT                    = 0xfe\n\tIPPROTO_DONE                      = 0x101\n\tIPPROTO_DSTOPTS                   = 0x3c\n\tIPPROTO_EGP                       = 0x8\n\tIPPROTO_EMCON                     = 0xe\n\tIPPROTO_ENCAP                     = 0x62\n\tIPPROTO_EON                       = 0x50\n\tIPPROTO_ESP                       = 0x32\n\tIPPROTO_ETHERIP                   = 0x61\n\tIPPROTO_FRAGMENT                  = 0x2c\n\tIPPROTO_GGP                       = 0x3\n\tIPPROTO_GMTP                      = 0x64\n\tIPPROTO_GRE                       = 0x2f\n\tIPPROTO_HELLO                     = 0x3f\n\tIPPROTO_HMP                       = 0x14\n\tIPPROTO_HOPOPTS                   = 0x0\n\tIPPROTO_ICMP                      = 0x1\n\tIPPROTO_ICMPV6                    = 0x3a\n\tIPPROTO_IDP                       = 0x16\n\tIPPROTO_IDPR                      = 0x23\n\tIPPROTO_IDRP                      = 0x2d\n\tIPPROTO_IGMP                      = 0x2\n\tIPPROTO_IGP                       = 0x55\n\tIPPROTO_IGRP                      = 0x58\n\tIPPROTO_IL                        = 0x28\n\tIPPROTO_INLSP                     = 0x34\n\tIPPROTO_INP                       = 0x20\n\tIPPROTO_IP                        = 0x0\n\tIPPROTO_IPCOMP                    = 0x6c\n\tIPPROTO_IPCV                      = 0x47\n\tIPPROTO_IPEIP                     = 0x5e\n\tIPPROTO_IPIP                      = 0x4\n\tIPPROTO_IPPC                      = 0x43\n\tIPPROTO_IPV4                      = 0x4\n\tIPPROTO_IPV6                      = 0x29\n\tIPPROTO_IRTP                      = 0x1c\n\tIPPROTO_KRYPTOLAN                 = 0x41\n\tIPPROTO_LARP                      = 0x5b\n\tIPPROTO_LEAF1                     = 0x19\n\tIPPROTO_LEAF2                     = 0x1a\n\tIPPROTO_MAX                       = 0x100\n\tIPPROTO_MAXID                     = 0x34\n\tIPPROTO_MEAS                      = 0x13\n\tIPPROTO_MHRP                      = 0x30\n\tIPPROTO_MICP                      = 0x5f\n\tIPPROTO_MTP                       = 0x5c\n\tIPPROTO_MUX                       = 0x12\n\tIPPROTO_ND                        = 0x4d\n\tIPPROTO_NHRP                      = 0x36\n\tIPPROTO_NONE                      = 0x3b\n\tIPPROTO_NSP                       = 0x1f\n\tIPPROTO_NVPII                     = 0xb\n\tIPPROTO_OSPFIGP                   = 0x59\n\tIPPROTO_PGM                       = 0x71\n\tIPPROTO_PIGP                      = 0x9\n\tIPPROTO_PIM                       = 0x67\n\tIPPROTO_PRM                       = 0x15\n\tIPPROTO_PUP                       = 0xc\n\tIPPROTO_PVP                       = 0x4b\n\tIPPROTO_RAW                       = 0xff\n\tIPPROTO_RCCMON                    = 0xa\n\tIPPROTO_RDP                       = 0x1b\n\tIPPROTO_ROUTING                   = 0x2b\n\tIPPROTO_RSVP                      = 0x2e\n\tIPPROTO_RVD                       = 0x42\n\tIPPROTO_SATEXPAK                  = 0x40\n\tIPPROTO_SATMON                    = 0x45\n\tIPPROTO_SCCSP                     = 0x60\n\tIPPROTO_SCTP                      = 0x84\n\tIPPROTO_SDRP                      = 0x2a\n\tIPPROTO_SEP                       = 0x21\n\tIPPROTO_SRPC                      = 0x5a\n\tIPPROTO_ST                        = 0x7\n\tIPPROTO_SVMTP                     = 0x52\n\tIPPROTO_SWIPE                     = 0x35\n\tIPPROTO_TCF                       = 0x57\n\tIPPROTO_TCP                       = 0x6\n\tIPPROTO_TP                        = 0x1d\n\tIPPROTO_TPXX                      = 0x27\n\tIPPROTO_TRUNK1                    = 0x17\n\tIPPROTO_TRUNK2                    = 0x18\n\tIPPROTO_TTP                       = 0x54\n\tIPPROTO_UDP                       = 0x11\n\tIPPROTO_VINES                     = 0x53\n\tIPPROTO_VISA                      = 0x46\n\tIPPROTO_VMTP                      = 0x51\n\tIPPROTO_WBEXPAK                   = 0x4f\n\tIPPROTO_WBMON                     = 0x4e\n\tIPPROTO_WSN                       = 0x4a\n\tIPPROTO_XNET                      = 0xf\n\tIPPROTO_XTP                       = 0x24\n\tIPV6_2292DSTOPTS                  = 0x17\n\tIPV6_2292HOPLIMIT                 = 0x14\n\tIPV6_2292HOPOPTS                  = 0x16\n\tIPV6_2292NEXTHOP                  = 0x15\n\tIPV6_2292PKTINFO                  = 0x13\n\tIPV6_2292PKTOPTIONS               = 0x19\n\tIPV6_2292RTHDR                    = 0x18\n\tIPV6_BINDV6ONLY                   = 0x1b\n\tIPV6_BOUND_IF                     = 0x7d\n\tIPV6_CHECKSUM                     = 0x1a\n\tIPV6_DEFAULT_MULTICAST_HOPS       = 0x1\n\tIPV6_DEFAULT_MULTICAST_LOOP       = 0x1\n\tIPV6_DEFHLIM                      = 0x40\n\tIPV6_FAITH                        = 0x1d\n\tIPV6_FLOWINFO_MASK                = 0xffffff0f\n\tIPV6_FLOWLABEL_MASK               = 0xffff0f00\n\tIPV6_FLOW_ECN_MASK                = 0x300\n\tIPV6_FRAGTTL                      = 0x3c\n\tIPV6_FW_ADD                       = 0x1e\n\tIPV6_FW_DEL                       = 0x1f\n\tIPV6_FW_FLUSH                     = 0x20\n\tIPV6_FW_GET                       = 0x22\n\tIPV6_FW_ZERO                      = 0x21\n\tIPV6_HLIMDEC                      = 0x1\n\tIPV6_IPSEC_POLICY                 = 0x1c\n\tIPV6_JOIN_GROUP                   = 0xc\n\tIPV6_LEAVE_GROUP                  = 0xd\n\tIPV6_MAXHLIM                      = 0xff\n\tIPV6_MAXOPTHDR                    = 0x800\n\tIPV6_MAXPACKET                    = 0xffff\n\tIPV6_MAX_GROUP_SRC_FILTER         = 0x200\n\tIPV6_MAX_MEMBERSHIPS              = 0xfff\n\tIPV6_MAX_SOCK_SRC_FILTER          = 0x80\n\tIPV6_MIN_MEMBERSHIPS              = 0x1f\n\tIPV6_MMTU                         = 0x500\n\tIPV6_MULTICAST_HOPS               = 0xa\n\tIPV6_MULTICAST_IF                 = 0x9\n\tIPV6_MULTICAST_LOOP               = 0xb\n\tIPV6_PORTRANGE                    = 0xe\n\tIPV6_PORTRANGE_DEFAULT            = 0x0\n\tIPV6_PORTRANGE_HIGH               = 0x1\n\tIPV6_PORTRANGE_LOW                = 0x2\n\tIPV6_RECVTCLASS                   = 0x23\n\tIPV6_RTHDR_LOOSE                  = 0x0\n\tIPV6_RTHDR_STRICT                 = 0x1\n\tIPV6_RTHDR_TYPE_0                 = 0x0\n\tIPV6_SOCKOPT_RESERVED1            = 0x3\n\tIPV6_TCLASS                       = 0x24\n\tIPV6_UNICAST_HOPS                 = 0x4\n\tIPV6_V6ONLY                       = 0x1b\n\tIPV6_VERSION                      = 0x60\n\tIPV6_VERSION_MASK                 = 0xf0\n\tIP_ADD_MEMBERSHIP                 = 0xc\n\tIP_ADD_SOURCE_MEMBERSHIP          = 0x46\n\tIP_BLOCK_SOURCE                   = 0x48\n\tIP_BOUND_IF                       = 0x19\n\tIP_DEFAULT_MULTICAST_LOOP         = 0x1\n\tIP_DEFAULT_MULTICAST_TTL          = 0x1\n\tIP_DF                             = 0x4000\n\tIP_DROP_MEMBERSHIP                = 0xd\n\tIP_DROP_SOURCE_MEMBERSHIP         = 0x47\n\tIP_DUMMYNET_CONFIGURE             = 0x3c\n\tIP_DUMMYNET_DEL                   = 0x3d\n\tIP_DUMMYNET_FLUSH                 = 0x3e\n\tIP_DUMMYNET_GET                   = 0x40\n\tIP_FAITH                          = 0x16\n\tIP_FW_ADD                         = 0x28\n\tIP_FW_DEL                         = 0x29\n\tIP_FW_FLUSH                       = 0x2a\n\tIP_FW_GET                         = 0x2c\n\tIP_FW_RESETLOG                    = 0x2d\n\tIP_FW_ZERO                        = 0x2b\n\tIP_HDRINCL                        = 0x2\n\tIP_IPSEC_POLICY                   = 0x15\n\tIP_MAXPACKET                      = 0xffff\n\tIP_MAX_GROUP_SRC_FILTER           = 0x200\n\tIP_MAX_MEMBERSHIPS                = 0xfff\n\tIP_MAX_SOCK_MUTE_FILTER           = 0x80\n\tIP_MAX_SOCK_SRC_FILTER            = 0x80\n\tIP_MF                             = 0x2000\n\tIP_MIN_MEMBERSHIPS                = 0x1f\n\tIP_MSFILTER                       = 0x4a\n\tIP_MSS                            = 0x240\n\tIP_MULTICAST_IF                   = 0x9\n\tIP_MULTICAST_IFINDEX              = 0x42\n\tIP_MULTICAST_LOOP                 = 0xb\n\tIP_MULTICAST_TTL                  = 0xa\n\tIP_MULTICAST_VIF                  = 0xe\n\tIP_NAT__XXX                       = 0x37\n\tIP_OFFMASK                        = 0x1fff\n\tIP_OLD_FW_ADD                     = 0x32\n\tIP_OLD_FW_DEL                     = 0x33\n\tIP_OLD_FW_FLUSH                   = 0x34\n\tIP_OLD_FW_GET                     = 0x36\n\tIP_OLD_FW_RESETLOG                = 0x38\n\tIP_OLD_FW_ZERO                    = 0x35\n\tIP_OPTIONS                        = 0x1\n\tIP_PKTINFO                        = 0x1a\n\tIP_PORTRANGE                      = 0x13\n\tIP_PORTRANGE_DEFAULT              = 0x0\n\tIP_PORTRANGE_HIGH                 = 0x1\n\tIP_PORTRANGE_LOW                  = 0x2\n\tIP_RECVDSTADDR                    = 0x7\n\tIP_RECVIF                         = 0x14\n\tIP_RECVOPTS                       = 0x5\n\tIP_RECVPKTINFO                    = 0x1a\n\tIP_RECVRETOPTS                    = 0x6\n\tIP_RECVTOS                        = 0x1b\n\tIP_RECVTTL                        = 0x18\n\tIP_RETOPTS                        = 0x8\n\tIP_RF                             = 0x8000\n\tIP_RSVP_OFF                       = 0x10\n\tIP_RSVP_ON                        = 0xf\n\tIP_RSVP_VIF_OFF                   = 0x12\n\tIP_RSVP_VIF_ON                    = 0x11\n\tIP_STRIPHDR                       = 0x17\n\tIP_TOS                            = 0x3\n\tIP_TRAFFIC_MGT_BACKGROUND         = 0x41\n\tIP_TTL                            = 0x4\n\tIP_UNBLOCK_SOURCE                 = 0x49\n\tISIG                              = 0x80\n\tISTRIP                            = 0x20\n\tIUTF8                             = 0x4000\n\tIXANY                             = 0x800\n\tIXOFF                             = 0x400\n\tIXON                              = 0x200\n\tKERN_HOSTNAME                     = 0xa\n\tKERN_OSRELEASE                    = 0x2\n\tKERN_OSTYPE                       = 0x1\n\tKERN_VERSION                      = 0x4\n\tLOCK_EX                           = 0x2\n\tLOCK_NB                           = 0x4\n\tLOCK_SH                           = 0x1\n\tLOCK_UN                           = 0x8\n\tMADV_CAN_REUSE                    = 0x9\n\tMADV_DONTNEED                     = 0x4\n\tMADV_FREE                         = 0x5\n\tMADV_FREE_REUSABLE                = 0x7\n\tMADV_FREE_REUSE                   = 0x8\n\tMADV_NORMAL                       = 0x0\n\tMADV_PAGEOUT                      = 0xa\n\tMADV_RANDOM                       = 0x1\n\tMADV_SEQUENTIAL                   = 0x2\n\tMADV_WILLNEED                     = 0x3\n\tMADV_ZERO_WIRED_PAGES             = 0x6\n\tMAP_ANON                          = 0x1000\n\tMAP_ANONYMOUS                     = 0x1000\n\tMAP_COPY                          = 0x2\n\tMAP_FILE                          = 0x0\n\tMAP_FIXED                         = 0x10\n\tMAP_HASSEMAPHORE                  = 0x200\n\tMAP_JIT                           = 0x800\n\tMAP_NOCACHE                       = 0x400\n\tMAP_NOEXTEND                      = 0x100\n\tMAP_NORESERVE                     = 0x40\n\tMAP_PRIVATE                       = 0x2\n\tMAP_RENAME                        = 0x20\n\tMAP_RESERVED0080                  = 0x80\n\tMAP_RESILIENT_CODESIGN            = 0x2000\n\tMAP_RESILIENT_MEDIA               = 0x4000\n\tMAP_SHARED                        = 0x1\n\tMCL_CURRENT                       = 0x1\n\tMCL_FUTURE                        = 0x2\n\tMNT_ASYNC                         = 0x40\n\tMNT_AUTOMOUNTED                   = 0x400000\n\tMNT_CMDFLAGS                      = 0xf0000\n\tMNT_CPROTECT                      = 0x80\n\tMNT_DEFWRITE                      = 0x2000000\n\tMNT_DONTBROWSE                    = 0x100000\n\tMNT_DOVOLFS                       = 0x8000\n\tMNT_DWAIT                         = 0x4\n\tMNT_EXPORTED                      = 0x100\n\tMNT_FORCE                         = 0x80000\n\tMNT_IGNORE_OWNERSHIP              = 0x200000\n\tMNT_JOURNALED                     = 0x800000\n\tMNT_LOCAL                         = 0x1000\n\tMNT_MULTILABEL                    = 0x4000000\n\tMNT_NOATIME                       = 0x10000000\n\tMNT_NOBLOCK                       = 0x20000\n\tMNT_NODEV                         = 0x10\n\tMNT_NOEXEC                        = 0x4\n\tMNT_NOSUID                        = 0x8\n\tMNT_NOUSERXATTR                   = 0x1000000\n\tMNT_NOWAIT                        = 0x2\n\tMNT_QUARANTINE                    = 0x400\n\tMNT_QUOTA                         = 0x2000\n\tMNT_RDONLY                        = 0x1\n\tMNT_RELOAD                        = 0x40000\n\tMNT_ROOTFS                        = 0x4000\n\tMNT_SYNCHRONOUS                   = 0x2\n\tMNT_UNION                         = 0x20\n\tMNT_UNKNOWNPERMISSIONS            = 0x200000\n\tMNT_UPDATE                        = 0x10000\n\tMNT_VISFLAGMASK                   = 0x17f0f5ff\n\tMNT_WAIT                          = 0x1\n\tMSG_CTRUNC                        = 0x20\n\tMSG_DONTROUTE                     = 0x4\n\tMSG_DONTWAIT                      = 0x80\n\tMSG_EOF                           = 0x100\n\tMSG_EOR                           = 0x8\n\tMSG_FLUSH                         = 0x400\n\tMSG_HAVEMORE                      = 0x2000\n\tMSG_HOLD                          = 0x800\n\tMSG_NEEDSA                        = 0x10000\n\tMSG_OOB                           = 0x1\n\tMSG_PEEK                          = 0x2\n\tMSG_RCVMORE                       = 0x4000\n\tMSG_SEND                          = 0x1000\n\tMSG_TRUNC                         = 0x10\n\tMSG_WAITALL                       = 0x40\n\tMSG_WAITSTREAM                    = 0x200\n\tMS_ASYNC                          = 0x1\n\tMS_DEACTIVATE                     = 0x8\n\tMS_INVALIDATE                     = 0x2\n\tMS_KILLPAGES                      = 0x4\n\tMS_SYNC                           = 0x10\n\tNAME_MAX                          = 0xff\n\tNET_RT_DUMP                       = 0x1\n\tNET_RT_DUMP2                      = 0x7\n\tNET_RT_FLAGS                      = 0x2\n\tNET_RT_IFLIST                     = 0x3\n\tNET_RT_IFLIST2                    = 0x6\n\tNET_RT_MAXID                      = 0xa\n\tNET_RT_STAT                       = 0x4\n\tNET_RT_TRASH                      = 0x5\n\tNL0                               = 0x0\n\tNL1                               = 0x100\n\tNL2                               = 0x200\n\tNL3                               = 0x300\n\tNLDLY                             = 0x300\n\tNOFLSH                            = 0x80000000\n\tNOKERNINFO                        = 0x2000000\n\tNOTE_ABSOLUTE                     = 0x8\n\tNOTE_ATTRIB                       = 0x8\n\tNOTE_BACKGROUND                   = 0x40\n\tNOTE_CHILD                        = 0x4\n\tNOTE_CRITICAL                     = 0x20\n\tNOTE_DELETE                       = 0x1\n\tNOTE_EXEC                         = 0x20000000\n\tNOTE_EXIT                         = 0x80000000\n\tNOTE_EXITSTATUS                   = 0x4000000\n\tNOTE_EXIT_CSERROR                 = 0x40000\n\tNOTE_EXIT_DECRYPTFAIL             = 0x10000\n\tNOTE_EXIT_DETAIL                  = 0x2000000\n\tNOTE_EXIT_DETAIL_MASK             = 0x70000\n\tNOTE_EXIT_MEMORY                  = 0x20000\n\tNOTE_EXIT_REPARENTED              = 0x80000\n\tNOTE_EXTEND                       = 0x4\n\tNOTE_FFAND                        = 0x40000000\n\tNOTE_FFCOPY                       = 0xc0000000\n\tNOTE_FFCTRLMASK                   = 0xc0000000\n\tNOTE_FFLAGSMASK                   = 0xffffff\n\tNOTE_FFNOP                        = 0x0\n\tNOTE_FFOR                         = 0x80000000\n\tNOTE_FORK                         = 0x40000000\n\tNOTE_FUNLOCK                      = 0x100\n\tNOTE_LEEWAY                       = 0x10\n\tNOTE_LINK                         = 0x10\n\tNOTE_LOWAT                        = 0x1\n\tNOTE_MACH_CONTINUOUS_TIME         = 0x80\n\tNOTE_NONE                         = 0x80\n\tNOTE_NSECONDS                     = 0x4\n\tNOTE_OOB                          = 0x2\n\tNOTE_PCTRLMASK                    = -0x100000\n\tNOTE_PDATAMASK                    = 0xfffff\n\tNOTE_REAP                         = 0x10000000\n\tNOTE_RENAME                       = 0x20\n\tNOTE_REVOKE                       = 0x40\n\tNOTE_SECONDS                      = 0x1\n\tNOTE_SIGNAL                       = 0x8000000\n\tNOTE_TRACK                        = 0x1\n\tNOTE_TRACKERR                     = 0x2\n\tNOTE_TRIGGER                      = 0x1000000\n\tNOTE_USECONDS                     = 0x2\n\tNOTE_VM_ERROR                     = 0x10000000\n\tNOTE_VM_PRESSURE                  = 0x80000000\n\tNOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000\n\tNOTE_VM_PRESSURE_TERMINATE        = 0x40000000\n\tNOTE_WRITE                        = 0x2\n\tOCRNL                             = 0x10\n\tOFDEL                             = 0x20000\n\tOFILL                             = 0x80\n\tONLCR                             = 0x2\n\tONLRET                            = 0x40\n\tONOCR                             = 0x20\n\tONOEOT                            = 0x8\n\tOPOST                             = 0x1\n\tOXTABS                            = 0x4\n\tO_ACCMODE                         = 0x3\n\tO_ALERT                           = 0x20000000\n\tO_APPEND                          = 0x8\n\tO_ASYNC                           = 0x40\n\tO_CLOEXEC                         = 0x1000000\n\tO_CREAT                           = 0x200\n\tO_DIRECTORY                       = 0x100000\n\tO_DP_GETRAWENCRYPTED              = 0x1\n\tO_DP_GETRAWUNENCRYPTED            = 0x2\n\tO_DSYNC                           = 0x400000\n\tO_EVTONLY                         = 0x8000\n\tO_EXCL                            = 0x800\n\tO_EXLOCK                          = 0x20\n\tO_FSYNC                           = 0x80\n\tO_NDELAY                          = 0x4\n\tO_NOCTTY                          = 0x20000\n\tO_NOFOLLOW                        = 0x100\n\tO_NONBLOCK                        = 0x4\n\tO_POPUP                           = 0x80000000\n\tO_RDONLY                          = 0x0\n\tO_RDWR                            = 0x2\n\tO_SHLOCK                          = 0x10\n\tO_SYMLINK                         = 0x200000\n\tO_SYNC                            = 0x80\n\tO_TRUNC                           = 0x400\n\tO_WRONLY                          = 0x1\n\tPARENB                            = 0x1000\n\tPARMRK                            = 0x8\n\tPARODD                            = 0x2000\n\tPENDIN                            = 0x20000000\n\tPRIO_PGRP                         = 0x1\n\tPRIO_PROCESS                      = 0x0\n\tPRIO_USER                         = 0x2\n\tPROT_EXEC                         = 0x4\n\tPROT_NONE                         = 0x0\n\tPROT_READ                         = 0x1\n\tPROT_WRITE                        = 0x2\n\tPT_ATTACH                         = 0xa\n\tPT_ATTACHEXC                      = 0xe\n\tPT_CONTINUE                       = 0x7\n\tPT_DENY_ATTACH                    = 0x1f\n\tPT_DETACH                         = 0xb\n\tPT_FIRSTMACH                      = 0x20\n\tPT_FORCEQUOTA                     = 0x1e\n\tPT_KILL                           = 0x8\n\tPT_READ_D                         = 0x2\n\tPT_READ_I                         = 0x1\n\tPT_READ_U                         = 0x3\n\tPT_SIGEXC                         = 0xc\n\tPT_STEP                           = 0x9\n\tPT_THUPDATE                       = 0xd\n\tPT_TRACE_ME                       = 0x0\n\tPT_WRITE_D                        = 0x5\n\tPT_WRITE_I                        = 0x4\n\tPT_WRITE_U                        = 0x6\n\tRLIMIT_AS                         = 0x5\n\tRLIMIT_CORE                       = 0x4\n\tRLIMIT_CPU                        = 0x0\n\tRLIMIT_CPU_USAGE_MONITOR          = 0x2\n\tRLIMIT_DATA                       = 0x2\n\tRLIMIT_FSIZE                      = 0x1\n\tRLIMIT_MEMLOCK                    = 0x6\n\tRLIMIT_NOFILE                     = 0x8\n\tRLIMIT_NPROC                      = 0x7\n\tRLIMIT_RSS                        = 0x5\n\tRLIMIT_STACK                      = 0x3\n\tRLIM_INFINITY                     = 0x7fffffffffffffff\n\tRTAX_AUTHOR                       = 0x6\n\tRTAX_BRD                          = 0x7\n\tRTAX_DST                          = 0x0\n\tRTAX_GATEWAY                      = 0x1\n\tRTAX_GENMASK                      = 0x3\n\tRTAX_IFA                          = 0x5\n\tRTAX_IFP                          = 0x4\n\tRTAX_MAX                          = 0x8\n\tRTAX_NETMASK                      = 0x2\n\tRTA_AUTHOR                        = 0x40\n\tRTA_BRD                           = 0x80\n\tRTA_DST                           = 0x1\n\tRTA_GATEWAY                       = 0x2\n\tRTA_GENMASK                       = 0x8\n\tRTA_IFA                           = 0x20\n\tRTA_IFP                           = 0x10\n\tRTA_NETMASK                       = 0x4\n\tRTF_BLACKHOLE                     = 0x1000\n\tRTF_BROADCAST                     = 0x400000\n\tRTF_CLONING                       = 0x100\n\tRTF_CONDEMNED                     = 0x2000000\n\tRTF_DELCLONE                      = 0x80\n\tRTF_DONE                          = 0x40\n\tRTF_DYNAMIC                       = 0x10\n\tRTF_GATEWAY                       = 0x2\n\tRTF_HOST                          = 0x4\n\tRTF_IFREF                         = 0x4000000\n\tRTF_IFSCOPE                       = 0x1000000\n\tRTF_LLINFO                        = 0x400\n\tRTF_LOCAL                         = 0x200000\n\tRTF_MODIFIED                      = 0x20\n\tRTF_MULTICAST                     = 0x800000\n\tRTF_NOIFREF                       = 0x2000\n\tRTF_PINNED                        = 0x100000\n\tRTF_PRCLONING                     = 0x10000\n\tRTF_PROTO1                        = 0x8000\n\tRTF_PROTO2                        = 0x4000\n\tRTF_PROTO3                        = 0x40000\n\tRTF_PROXY                         = 0x8000000\n\tRTF_REJECT                        = 0x8\n\tRTF_ROUTER                        = 0x10000000\n\tRTF_STATIC                        = 0x800\n\tRTF_UP                            = 0x1\n\tRTF_WASCLONED                     = 0x20000\n\tRTF_XRESOLVE                      = 0x200\n\tRTM_ADD                           = 0x1\n\tRTM_CHANGE                        = 0x3\n\tRTM_DELADDR                       = 0xd\n\tRTM_DELETE                        = 0x2\n\tRTM_DELMADDR                      = 0x10\n\tRTM_GET                           = 0x4\n\tRTM_GET2                          = 0x14\n\tRTM_IFINFO                        = 0xe\n\tRTM_IFINFO2                       = 0x12\n\tRTM_LOCK                          = 0x8\n\tRTM_LOSING                        = 0x5\n\tRTM_MISS                          = 0x7\n\tRTM_NEWADDR                       = 0xc\n\tRTM_NEWMADDR                      = 0xf\n\tRTM_NEWMADDR2                     = 0x13\n\tRTM_OLDADD                        = 0x9\n\tRTM_OLDDEL                        = 0xa\n\tRTM_REDIRECT                      = 0x6\n\tRTM_RESOLVE                       = 0xb\n\tRTM_RTTUNIT                       = 0xf4240\n\tRTM_VERSION                       = 0x5\n\tRTV_EXPIRE                        = 0x4\n\tRTV_HOPCOUNT                      = 0x2\n\tRTV_MTU                           = 0x1\n\tRTV_RPIPE                         = 0x8\n\tRTV_RTT                           = 0x40\n\tRTV_RTTVAR                        = 0x80\n\tRTV_SPIPE                         = 0x10\n\tRTV_SSTHRESH                      = 0x20\n\tRUSAGE_CHILDREN                   = -0x1\n\tRUSAGE_SELF                       = 0x0\n\tSCM_CREDS                         = 0x3\n\tSCM_RIGHTS                        = 0x1\n\tSCM_TIMESTAMP                     = 0x2\n\tSCM_TIMESTAMP_MONOTONIC           = 0x4\n\tSHUT_RD                           = 0x0\n\tSHUT_RDWR                         = 0x2\n\tSHUT_WR                           = 0x1\n\tSIOCADDMULTI                      = 0x80206931\n\tSIOCAIFADDR                       = 0x8040691a\n\tSIOCARPIPLL                       = 0xc0206928\n\tSIOCATMARK                        = 0x40047307\n\tSIOCAUTOADDR                      = 0xc0206926\n\tSIOCAUTONETMASK                   = 0x80206927\n\tSIOCDELMULTI                      = 0x80206932\n\tSIOCDIFADDR                       = 0x80206919\n\tSIOCDIFPHYADDR                    = 0x80206941\n\tSIOCGDRVSPEC                      = 0xc028697b\n\tSIOCGETVLAN                       = 0xc020697f\n\tSIOCGHIWAT                        = 0x40047301\n\tSIOCGIFADDR                       = 0xc0206921\n\tSIOCGIFALTMTU                     = 0xc0206948\n\tSIOCGIFASYNCMAP                   = 0xc020697c\n\tSIOCGIFBOND                       = 0xc0206947\n\tSIOCGIFBRDADDR                    = 0xc0206923\n\tSIOCGIFCAP                        = 0xc020695b\n\tSIOCGIFCONF                       = 0xc00c6924\n\tSIOCGIFDEVMTU                     = 0xc0206944\n\tSIOCGIFDSTADDR                    = 0xc0206922\n\tSIOCGIFFLAGS                      = 0xc0206911\n\tSIOCGIFGENERIC                    = 0xc020693a\n\tSIOCGIFKPI                        = 0xc0206987\n\tSIOCGIFMAC                        = 0xc0206982\n\tSIOCGIFMEDIA                      = 0xc02c6938\n\tSIOCGIFMETRIC                     = 0xc0206917\n\tSIOCGIFMTU                        = 0xc0206933\n\tSIOCGIFNETMASK                    = 0xc0206925\n\tSIOCGIFPDSTADDR                   = 0xc0206940\n\tSIOCGIFPHYS                       = 0xc0206935\n\tSIOCGIFPSRCADDR                   = 0xc020693f\n\tSIOCGIFSTATUS                     = 0xc331693d\n\tSIOCGIFVLAN                       = 0xc020697f\n\tSIOCGIFWAKEFLAGS                  = 0xc0206988\n\tSIOCGLOWAT                        = 0x40047303\n\tSIOCGPGRP                         = 0x40047309\n\tSIOCIFCREATE                      = 0xc0206978\n\tSIOCIFCREATE2                     = 0xc020697a\n\tSIOCIFDESTROY                     = 0x80206979\n\tSIOCIFGCLONERS                    = 0xc0106981\n\tSIOCRSLVMULTI                     = 0xc010693b\n\tSIOCSDRVSPEC                      = 0x8028697b\n\tSIOCSETVLAN                       = 0x8020697e\n\tSIOCSHIWAT                        = 0x80047300\n\tSIOCSIFADDR                       = 0x8020690c\n\tSIOCSIFALTMTU                     = 0x80206945\n\tSIOCSIFASYNCMAP                   = 0x8020697d\n\tSIOCSIFBOND                       = 0x80206946\n\tSIOCSIFBRDADDR                    = 0x80206913\n\tSIOCSIFCAP                        = 0x8020695a\n\tSIOCSIFDSTADDR                    = 0x8020690e\n\tSIOCSIFFLAGS                      = 0x80206910\n\tSIOCSIFGENERIC                    = 0x80206939\n\tSIOCSIFKPI                        = 0x80206986\n\tSIOCSIFLLADDR                     = 0x8020693c\n\tSIOCSIFMAC                        = 0x80206983\n\tSIOCSIFMEDIA                      = 0xc0206937\n\tSIOCSIFMETRIC                     = 0x80206918\n\tSIOCSIFMTU                        = 0x80206934\n\tSIOCSIFNETMASK                    = 0x80206916\n\tSIOCSIFPHYADDR                    = 0x8040693e\n\tSIOCSIFPHYS                       = 0x80206936\n\tSIOCSIFVLAN                       = 0x8020697e\n\tSIOCSLOWAT                        = 0x80047302\n\tSIOCSPGRP                         = 0x80047308\n\tSOCK_DGRAM                        = 0x2\n\tSOCK_MAXADDRLEN                   = 0xff\n\tSOCK_RAW                          = 0x3\n\tSOCK_RDM                          = 0x4\n\tSOCK_SEQPACKET                    = 0x5\n\tSOCK_STREAM                       = 0x1\n\tSOL_SOCKET                        = 0xffff\n\tSOMAXCONN                         = 0x80\n\tSO_ACCEPTCONN                     = 0x2\n\tSO_BROADCAST                      = 0x20\n\tSO_DEBUG                          = 0x1\n\tSO_DONTROUTE                      = 0x10\n\tSO_DONTTRUNC                      = 0x2000\n\tSO_ERROR                          = 0x1007\n\tSO_KEEPALIVE                      = 0x8\n\tSO_LABEL                          = 0x1010\n\tSO_LINGER                         = 0x80\n\tSO_LINGER_SEC                     = 0x1080\n\tSO_NETSVC_MARKING_LEVEL           = 0x1119\n\tSO_NET_SERVICE_TYPE               = 0x1116\n\tSO_NKE                            = 0x1021\n\tSO_NOADDRERR                      = 0x1023\n\tSO_NOSIGPIPE                      = 0x1022\n\tSO_NOTIFYCONFLICT                 = 0x1026\n\tSO_NP_EXTENSIONS                  = 0x1083\n\tSO_NREAD                          = 0x1020\n\tSO_NUMRCVPKT                      = 0x1112\n\tSO_NWRITE                         = 0x1024\n\tSO_OOBINLINE                      = 0x100\n\tSO_PEERLABEL                      = 0x1011\n\tSO_RANDOMPORT                     = 0x1082\n\tSO_RCVBUF                         = 0x1002\n\tSO_RCVLOWAT                       = 0x1004\n\tSO_RCVTIMEO                       = 0x1006\n\tSO_REUSEADDR                      = 0x4\n\tSO_REUSEPORT                      = 0x200\n\tSO_REUSESHAREUID                  = 0x1025\n\tSO_SNDBUF                         = 0x1001\n\tSO_SNDLOWAT                       = 0x1003\n\tSO_SNDTIMEO                       = 0x1005\n\tSO_TIMESTAMP                      = 0x400\n\tSO_TIMESTAMP_MONOTONIC            = 0x800\n\tSO_TYPE                           = 0x1008\n\tSO_UPCALLCLOSEWAIT                = 0x1027\n\tSO_USELOOPBACK                    = 0x40\n\tSO_WANTMORE                       = 0x4000\n\tSO_WANTOOBFLAG                    = 0x8000\n\tS_IEXEC                           = 0x40\n\tS_IFBLK                           = 0x6000\n\tS_IFCHR                           = 0x2000\n\tS_IFDIR                           = 0x4000\n\tS_IFIFO                           = 0x1000\n\tS_IFLNK                           = 0xa000\n\tS_IFMT                            = 0xf000\n\tS_IFREG                           = 0x8000\n\tS_IFSOCK                          = 0xc000\n\tS_IFWHT                           = 0xe000\n\tS_IREAD                           = 0x100\n\tS_IRGRP                           = 0x20\n\tS_IROTH                           = 0x4\n\tS_IRUSR                           = 0x100\n\tS_IRWXG                           = 0x38\n\tS_IRWXO                           = 0x7\n\tS_IRWXU                           = 0x1c0\n\tS_ISGID                           = 0x400\n\tS_ISTXT                           = 0x200\n\tS_ISUID                           = 0x800\n\tS_ISVTX                           = 0x200\n\tS_IWGRP                           = 0x10\n\tS_IWOTH                           = 0x2\n\tS_IWRITE                          = 0x80\n\tS_IWUSR                           = 0x80\n\tS_IXGRP                           = 0x8\n\tS_IXOTH                           = 0x1\n\tS_IXUSR                           = 0x40\n\tTAB0                              = 0x0\n\tTAB1                              = 0x400\n\tTAB2                              = 0x800\n\tTAB3                              = 0x4\n\tTABDLY                            = 0xc04\n\tTCIFLUSH                          = 0x1\n\tTCIOFF                            = 0x3\n\tTCIOFLUSH                         = 0x3\n\tTCION                             = 0x4\n\tTCOFLUSH                          = 0x2\n\tTCOOFF                            = 0x1\n\tTCOON                             = 0x2\n\tTCP_CONNECTIONTIMEOUT             = 0x20\n\tTCP_CONNECTION_INFO               = 0x106\n\tTCP_ENABLE_ECN                    = 0x104\n\tTCP_FASTOPEN                      = 0x105\n\tTCP_KEEPALIVE                     = 0x10\n\tTCP_KEEPCNT                       = 0x102\n\tTCP_KEEPINTVL                     = 0x101\n\tTCP_MAXHLEN                       = 0x3c\n\tTCP_MAXOLEN                       = 0x28\n\tTCP_MAXSEG                        = 0x2\n\tTCP_MAXWIN                        = 0xffff\n\tTCP_MAX_SACK                      = 0x4\n\tTCP_MAX_WINSHIFT                  = 0xe\n\tTCP_MINMSS                        = 0xd8\n\tTCP_MSS                           = 0x200\n\tTCP_NODELAY                       = 0x1\n\tTCP_NOOPT                         = 0x8\n\tTCP_NOPUSH                        = 0x4\n\tTCP_NOTSENT_LOWAT                 = 0x201\n\tTCP_RXT_CONNDROPTIME              = 0x80\n\tTCP_RXT_FINDROP                   = 0x100\n\tTCP_SENDMOREACKS                  = 0x103\n\tTCSAFLUSH                         = 0x2\n\tTIOCCBRK                          = 0x2000747a\n\tTIOCCDTR                          = 0x20007478\n\tTIOCCONS                          = 0x80047462\n\tTIOCDCDTIMESTAMP                  = 0x40107458\n\tTIOCDRAIN                         = 0x2000745e\n\tTIOCDSIMICROCODE                  = 0x20007455\n\tTIOCEXCL                          = 0x2000740d\n\tTIOCEXT                           = 0x80047460\n\tTIOCFLUSH                         = 0x80047410\n\tTIOCGDRAINWAIT                    = 0x40047456\n\tTIOCGETA                          = 0x40487413\n\tTIOCGETD                          = 0x4004741a\n\tTIOCGPGRP                         = 0x40047477\n\tTIOCGWINSZ                        = 0x40087468\n\tTIOCIXOFF                         = 0x20007480\n\tTIOCIXON                          = 0x20007481\n\tTIOCMBIC                          = 0x8004746b\n\tTIOCMBIS                          = 0x8004746c\n\tTIOCMGDTRWAIT                     = 0x4004745a\n\tTIOCMGET                          = 0x4004746a\n\tTIOCMODG                          = 0x40047403\n\tTIOCMODS                          = 0x80047404\n\tTIOCMSDTRWAIT                     = 0x8004745b\n\tTIOCMSET                          = 0x8004746d\n\tTIOCM_CAR                         = 0x40\n\tTIOCM_CD                          = 0x40\n\tTIOCM_CTS                         = 0x20\n\tTIOCM_DSR                         = 0x100\n\tTIOCM_DTR                         = 0x2\n\tTIOCM_LE                          = 0x1\n\tTIOCM_RI                          = 0x80\n\tTIOCM_RNG                         = 0x80\n\tTIOCM_RTS                         = 0x4\n\tTIOCM_SR                          = 0x10\n\tTIOCM_ST                          = 0x8\n\tTIOCNOTTY                         = 0x20007471\n\tTIOCNXCL                          = 0x2000740e\n\tTIOCOUTQ                          = 0x40047473\n\tTIOCPKT                           = 0x80047470\n\tTIOCPKT_DATA                      = 0x0\n\tTIOCPKT_DOSTOP                    = 0x20\n\tTIOCPKT_FLUSHREAD                 = 0x1\n\tTIOCPKT_FLUSHWRITE                = 0x2\n\tTIOCPKT_IOCTL                     = 0x40\n\tTIOCPKT_NOSTOP                    = 0x10\n\tTIOCPKT_START                     = 0x8\n\tTIOCPKT_STOP                      = 0x4\n\tTIOCPTYGNAME                      = 0x40807453\n\tTIOCPTYGRANT                      = 0x20007454\n\tTIOCPTYUNLK                       = 0x20007452\n\tTIOCREMOTE                        = 0x80047469\n\tTIOCSBRK                          = 0x2000747b\n\tTIOCSCONS                         = 0x20007463\n\tTIOCSCTTY                         = 0x20007461\n\tTIOCSDRAINWAIT                    = 0x80047457\n\tTIOCSDTR                          = 0x20007479\n\tTIOCSETA                          = 0x80487414\n\tTIOCSETAF                         = 0x80487416\n\tTIOCSETAW                         = 0x80487415\n\tTIOCSETD                          = 0x8004741b\n\tTIOCSIG                           = 0x2000745f\n\tTIOCSPGRP                         = 0x80047476\n\tTIOCSTART                         = 0x2000746e\n\tTIOCSTAT                          = 0x20007465\n\tTIOCSTI                           = 0x80017472\n\tTIOCSTOP                          = 0x2000746f\n\tTIOCSWINSZ                        = 0x80087467\n\tTIOCTIMESTAMP                     = 0x40107459\n\tTIOCUCNTL                         = 0x80047466\n\tTOSTOP                            = 0x400000\n\tVDISCARD                          = 0xf\n\tVDSUSP                            = 0xb\n\tVEOF                              = 0x0\n\tVEOL                              = 0x1\n\tVEOL2                             = 0x2\n\tVERASE                            = 0x3\n\tVINTR                             = 0x8\n\tVKILL                             = 0x5\n\tVLNEXT                            = 0xe\n\tVMIN                              = 0x10\n\tVM_LOADAVG                        = 0x2\n\tVM_MACHFACTOR                     = 0x4\n\tVM_MAXID                          = 0x6\n\tVM_METER                          = 0x1\n\tVM_SWAPUSAGE                      = 0x5\n\tVQUIT                             = 0x9\n\tVREPRINT                          = 0x6\n\tVSTART                            = 0xc\n\tVSTATUS                           = 0x12\n\tVSTOP                             = 0xd\n\tVSUSP                             = 0xa\n\tVT0                               = 0x0\n\tVT1                               = 0x10000\n\tVTDLY                             = 0x10000\n\tVTIME                             = 0x11\n\tVWERASE                           = 0x4\n\tWCONTINUED                        = 0x10\n\tWCOREFLAG                         = 0x80\n\tWEXITED                           = 0x4\n\tWNOHANG                           = 0x1\n\tWNOWAIT                           = 0x20\n\tWORDSIZE                          = 0x40\n\tWSTOPPED                          = 0x8\n\tWUNTRACED                         = 0x2\n\tXATTR_CREATE                      = 0x2\n\tXATTR_NODEFAULT                   = 0x10\n\tXATTR_NOFOLLOW                    = 0x1\n\tXATTR_NOSECURITY                  = 0x8\n\tXATTR_REPLACE                     = 0x4\n\tXATTR_SHOWCOMPRESSION             = 0x20\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x30)\n\tEADDRNOTAVAIL   = syscall.Errno(0x31)\n\tEAFNOSUPPORT    = syscall.Errno(0x2f)\n\tEAGAIN          = syscall.Errno(0x23)\n\tEALREADY        = syscall.Errno(0x25)\n\tEAUTH           = syscall.Errno(0x50)\n\tEBADARCH        = syscall.Errno(0x56)\n\tEBADEXEC        = syscall.Errno(0x55)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADMACHO       = syscall.Errno(0x58)\n\tEBADMSG         = syscall.Errno(0x5e)\n\tEBADRPC         = syscall.Errno(0x48)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x59)\n\tECHILD          = syscall.Errno(0xa)\n\tECONNABORTED    = syscall.Errno(0x35)\n\tECONNREFUSED    = syscall.Errno(0x3d)\n\tECONNRESET      = syscall.Errno(0x36)\n\tEDEADLK         = syscall.Errno(0xb)\n\tEDESTADDRREQ    = syscall.Errno(0x27)\n\tEDEVERR         = syscall.Errno(0x53)\n\tEDOM            = syscall.Errno(0x21)\n\tEDQUOT          = syscall.Errno(0x45)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEFTYPE          = syscall.Errno(0x4f)\n\tEHOSTDOWN       = syscall.Errno(0x40)\n\tEHOSTUNREACH    = syscall.Errno(0x41)\n\tEIDRM           = syscall.Errno(0x5a)\n\tEILSEQ          = syscall.Errno(0x5c)\n\tEINPROGRESS     = syscall.Errno(0x24)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x38)\n\tEISDIR          = syscall.Errno(0x15)\n\tELAST           = syscall.Errno(0x6a)\n\tELOOP           = syscall.Errno(0x3e)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x28)\n\tEMULTIHOP       = syscall.Errno(0x5f)\n\tENAMETOOLONG    = syscall.Errno(0x3f)\n\tENEEDAUTH       = syscall.Errno(0x51)\n\tENETDOWN        = syscall.Errno(0x32)\n\tENETRESET       = syscall.Errno(0x34)\n\tENETUNREACH     = syscall.Errno(0x33)\n\tENFILE          = syscall.Errno(0x17)\n\tENOATTR         = syscall.Errno(0x5d)\n\tENOBUFS         = syscall.Errno(0x37)\n\tENODATA         = syscall.Errno(0x60)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOLCK          = syscall.Errno(0x4d)\n\tENOLINK         = syscall.Errno(0x61)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x5b)\n\tENOPOLICY       = syscall.Errno(0x67)\n\tENOPROTOOPT     = syscall.Errno(0x2a)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x62)\n\tENOSTR          = syscall.Errno(0x63)\n\tENOSYS          = syscall.Errno(0x4e)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x39)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x42)\n\tENOTRECOVERABLE = syscall.Errno(0x68)\n\tENOTSOCK        = syscall.Errno(0x26)\n\tENOTSUP         = syscall.Errno(0x2d)\n\tENOTTY          = syscall.Errno(0x19)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x66)\n\tEOVERFLOW       = syscall.Errno(0x54)\n\tEOWNERDEAD      = syscall.Errno(0x69)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x2e)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROCLIM        = syscall.Errno(0x43)\n\tEPROCUNAVAIL    = syscall.Errno(0x4c)\n\tEPROGMISMATCH   = syscall.Errno(0x4b)\n\tEPROGUNAVAIL    = syscall.Errno(0x4a)\n\tEPROTO          = syscall.Errno(0x64)\n\tEPROTONOSUPPORT = syscall.Errno(0x2b)\n\tEPROTOTYPE      = syscall.Errno(0x29)\n\tEPWROFF         = syscall.Errno(0x52)\n\tEQFULL          = syscall.Errno(0x6a)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMOTE         = syscall.Errno(0x47)\n\tEROFS           = syscall.Errno(0x1e)\n\tERPCMISMATCH    = syscall.Errno(0x49)\n\tESHLIBVERS      = syscall.Errno(0x57)\n\tESHUTDOWN       = syscall.Errno(0x3a)\n\tESOCKTNOSUPPORT = syscall.Errno(0x2c)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESTALE          = syscall.Errno(0x46)\n\tETIME           = syscall.Errno(0x65)\n\tETIMEDOUT       = syscall.Errno(0x3c)\n\tETOOMANYREFS    = syscall.Errno(0x3b)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUSERS          = syscall.Errno(0x44)\n\tEWOULDBLOCK     = syscall.Errno(0x23)\n\tEXDEV           = syscall.Errno(0x12)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x14)\n\tSIGCONT   = syscall.Signal(0x13)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINFO   = syscall.Signal(0x1d)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x17)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x11)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x12)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x10)\n\tSIGUSR1   = syscall.Signal(0x1e)\n\tSIGUSR2   = syscall.Signal(0x1f)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errorList = [...]struct {\n\tnum  syscall.Errno\n\tname string\n\tdesc string\n}{\n\t{1, \"EPERM\", \"operation not permitted\"},\n\t{2, \"ENOENT\", \"no such file or directory\"},\n\t{3, \"ESRCH\", \"no such process\"},\n\t{4, \"EINTR\", \"interrupted system call\"},\n\t{5, \"EIO\", \"input/output error\"},\n\t{6, \"ENXIO\", \"device not configured\"},\n\t{7, \"E2BIG\", \"argument list too long\"},\n\t{8, \"ENOEXEC\", \"exec format error\"},\n\t{9, \"EBADF\", \"bad file descriptor\"},\n\t{10, \"ECHILD\", \"no child processes\"},\n\t{11, \"EDEADLK\", \"resource deadlock avoided\"},\n\t{12, \"ENOMEM\", \"cannot allocate memory\"},\n\t{13, \"EACCES\", \"permission denied\"},\n\t{14, \"EFAULT\", \"bad address\"},\n\t{15, \"ENOTBLK\", \"block device required\"},\n\t{16, \"EBUSY\", \"resource busy\"},\n\t{17, \"EEXIST\", \"file exists\"},\n\t{18, \"EXDEV\", \"cross-device link\"},\n\t{19, \"ENODEV\", \"operation not supported by device\"},\n\t{20, \"ENOTDIR\", \"not a directory\"},\n\t{21, \"EISDIR\", \"is a directory\"},\n\t{22, \"EINVAL\", \"invalid argument\"},\n\t{23, \"ENFILE\", \"too many open files in system\"},\n\t{24, \"EMFILE\", \"too many open files\"},\n\t{25, \"ENOTTY\", \"inappropriate ioctl for device\"},\n\t{26, \"ETXTBSY\", \"text file busy\"},\n\t{27, \"EFBIG\", \"file too large\"},\n\t{28, \"ENOSPC\", \"no space left on device\"},\n\t{29, \"ESPIPE\", \"illegal seek\"},\n\t{30, \"EROFS\", \"read-only file system\"},\n\t{31, \"EMLINK\", \"too many links\"},\n\t{32, \"EPIPE\", \"broken pipe\"},\n\t{33, \"EDOM\", \"numerical argument out of domain\"},\n\t{34, \"ERANGE\", \"result too large\"},\n\t{35, \"EAGAIN\", \"resource temporarily unavailable\"},\n\t{36, \"EINPROGRESS\", \"operation now in progress\"},\n\t{37, \"EALREADY\", \"operation already in progress\"},\n\t{38, \"ENOTSOCK\", \"socket operation on non-socket\"},\n\t{39, \"EDESTADDRREQ\", \"destination address required\"},\n\t{40, \"EMSGSIZE\", \"message too long\"},\n\t{41, \"EPROTOTYPE\", \"protocol wrong type for socket\"},\n\t{42, \"ENOPROTOOPT\", \"protocol not available\"},\n\t{43, \"EPROTONOSUPPORT\", \"protocol not supported\"},\n\t{44, \"ESOCKTNOSUPPORT\", \"socket type not supported\"},\n\t{45, \"ENOTSUP\", \"operation not supported\"},\n\t{46, \"EPFNOSUPPORT\", \"protocol family not supported\"},\n\t{47, \"EAFNOSUPPORT\", \"address family not supported by protocol family\"},\n\t{48, \"EADDRINUSE\", \"address already in use\"},\n\t{49, \"EADDRNOTAVAIL\", \"can't assign requested address\"},\n\t{50, \"ENETDOWN\", \"network is down\"},\n\t{51, \"ENETUNREACH\", \"network is unreachable\"},\n\t{52, \"ENETRESET\", \"network dropped connection on reset\"},\n\t{53, \"ECONNABORTED\", \"software caused connection abort\"},\n\t{54, \"ECONNRESET\", \"connection reset by peer\"},\n\t{55, \"ENOBUFS\", \"no buffer space available\"},\n\t{56, \"EISCONN\", \"socket is already connected\"},\n\t{57, \"ENOTCONN\", \"socket is not connected\"},\n\t{58, \"ESHUTDOWN\", \"can't send after socket shutdown\"},\n\t{59, \"ETOOMANYREFS\", \"too many references: can't splice\"},\n\t{60, \"ETIMEDOUT\", \"operation timed out\"},\n\t{61, \"ECONNREFUSED\", \"connection refused\"},\n\t{62, \"ELOOP\", \"too many levels of symbolic links\"},\n\t{63, \"ENAMETOOLONG\", \"file name too long\"},\n\t{64, \"EHOSTDOWN\", \"host is down\"},\n\t{65, \"EHOSTUNREACH\", \"no route to host\"},\n\t{66, \"ENOTEMPTY\", \"directory not empty\"},\n\t{67, \"EPROCLIM\", \"too many processes\"},\n\t{68, \"EUSERS\", \"too many users\"},\n\t{69, \"EDQUOT\", \"disc quota exceeded\"},\n\t{70, \"ESTALE\", \"stale NFS file handle\"},\n\t{71, \"EREMOTE\", \"too many levels of remote in path\"},\n\t{72, \"EBADRPC\", \"RPC struct is bad\"},\n\t{73, \"ERPCMISMATCH\", \"RPC version wrong\"},\n\t{74, \"EPROGUNAVAIL\", \"RPC prog. not avail\"},\n\t{75, \"EPROGMISMATCH\", \"program version wrong\"},\n\t{76, \"EPROCUNAVAIL\", \"bad procedure for program\"},\n\t{77, \"ENOLCK\", \"no locks available\"},\n\t{78, \"ENOSYS\", \"function not implemented\"},\n\t{79, \"EFTYPE\", \"inappropriate file type or format\"},\n\t{80, \"EAUTH\", \"authentication error\"},\n\t{81, \"ENEEDAUTH\", \"need authenticator\"},\n\t{82, \"EPWROFF\", \"device power is off\"},\n\t{83, \"EDEVERR\", \"device error\"},\n\t{84, \"EOVERFLOW\", \"value too large to be stored in data type\"},\n\t{85, \"EBADEXEC\", \"bad executable (or shared library)\"},\n\t{86, \"EBADARCH\", \"bad CPU type in executable\"},\n\t{87, \"ESHLIBVERS\", \"shared library version mismatch\"},\n\t{88, \"EBADMACHO\", \"malformed Mach-o file\"},\n\t{89, \"ECANCELED\", \"operation canceled\"},\n\t{90, \"EIDRM\", \"identifier removed\"},\n\t{91, \"ENOMSG\", \"no message of desired type\"},\n\t{92, \"EILSEQ\", \"illegal byte sequence\"},\n\t{93, \"ENOATTR\", \"attribute not found\"},\n\t{94, \"EBADMSG\", \"bad message\"},\n\t{95, \"EMULTIHOP\", \"EMULTIHOP (Reserved)\"},\n\t{96, \"ENODATA\", \"no message available on STREAM\"},\n\t{97, \"ENOLINK\", \"ENOLINK (Reserved)\"},\n\t{98, \"ENOSR\", \"no STREAM resources\"},\n\t{99, \"ENOSTR\", \"not a STREAM\"},\n\t{100, \"EPROTO\", \"protocol error\"},\n\t{101, \"ETIME\", \"STREAM ioctl timeout\"},\n\t{102, \"EOPNOTSUPP\", \"operation not supported on socket\"},\n\t{103, \"ENOPOLICY\", \"policy not found\"},\n\t{104, \"ENOTRECOVERABLE\", \"state not recoverable\"},\n\t{105, \"EOWNERDEAD\", \"previous owner died\"},\n\t{106, \"EQFULL\", \"interface output queue is full\"},\n}\n\n// Signal table\nvar signalList = [...]struct {\n\tnum  syscall.Signal\n\tname string\n\tdesc string\n}{\n\t{1, \"SIGHUP\", \"hangup\"},\n\t{2, \"SIGINT\", \"interrupt\"},\n\t{3, \"SIGQUIT\", \"quit\"},\n\t{4, \"SIGILL\", \"illegal instruction\"},\n\t{5, \"SIGTRAP\", \"trace/BPT trap\"},\n\t{6, \"SIGABRT\", \"abort trap\"},\n\t{7, \"SIGEMT\", \"EMT trap\"},\n\t{8, \"SIGFPE\", \"floating point exception\"},\n\t{9, \"SIGKILL\", \"killed\"},\n\t{10, \"SIGBUS\", \"bus error\"},\n\t{11, \"SIGSEGV\", \"segmentation fault\"},\n\t{12, \"SIGSYS\", \"bad system call\"},\n\t{13, \"SIGPIPE\", \"broken pipe\"},\n\t{14, \"SIGALRM\", \"alarm clock\"},\n\t{15, \"SIGTERM\", \"terminated\"},\n\t{16, \"SIGURG\", \"urgent I/O condition\"},\n\t{17, \"SIGSTOP\", \"suspended (signal)\"},\n\t{18, \"SIGTSTP\", \"suspended\"},\n\t{19, \"SIGCONT\", \"continued\"},\n\t{20, \"SIGCHLD\", \"child exited\"},\n\t{21, \"SIGTTIN\", \"stopped (tty input)\"},\n\t{22, \"SIGTTOU\", \"stopped (tty output)\"},\n\t{23, \"SIGIO\", \"I/O possible\"},\n\t{24, \"SIGXCPU\", \"cputime limit exceeded\"},\n\t{25, \"SIGXFSZ\", \"filesize limit exceeded\"},\n\t{26, \"SIGVTALRM\", \"virtual timer expired\"},\n\t{27, \"SIGPROF\", \"profiling timer expired\"},\n\t{28, \"SIGWINCH\", \"window size changes\"},\n\t{29, \"SIGINFO\", \"information request\"},\n\t{30, \"SIGUSR1\", \"user defined signal 1\"},\n\t{31, \"SIGUSR2\", \"user defined signal 2\"},\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go",
    "content": "// mkerrors.sh -m64\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build arm64,darwin\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -m64 _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_APPLETALK                      = 0x10\n\tAF_CCITT                          = 0xa\n\tAF_CHAOS                          = 0x5\n\tAF_CNT                            = 0x15\n\tAF_COIP                           = 0x14\n\tAF_DATAKIT                        = 0x9\n\tAF_DECnet                         = 0xc\n\tAF_DLI                            = 0xd\n\tAF_E164                           = 0x1c\n\tAF_ECMA                           = 0x8\n\tAF_HYLINK                         = 0xf\n\tAF_IEEE80211                      = 0x25\n\tAF_IMPLINK                        = 0x3\n\tAF_INET                           = 0x2\n\tAF_INET6                          = 0x1e\n\tAF_IPX                            = 0x17\n\tAF_ISDN                           = 0x1c\n\tAF_ISO                            = 0x7\n\tAF_LAT                            = 0xe\n\tAF_LINK                           = 0x12\n\tAF_LOCAL                          = 0x1\n\tAF_MAX                            = 0x28\n\tAF_NATM                           = 0x1f\n\tAF_NDRV                           = 0x1b\n\tAF_NETBIOS                        = 0x21\n\tAF_NS                             = 0x6\n\tAF_OSI                            = 0x7\n\tAF_PPP                            = 0x22\n\tAF_PUP                            = 0x4\n\tAF_RESERVED_36                    = 0x24\n\tAF_ROUTE                          = 0x11\n\tAF_SIP                            = 0x18\n\tAF_SNA                            = 0xb\n\tAF_SYSTEM                         = 0x20\n\tAF_UNIX                           = 0x1\n\tAF_UNSPEC                         = 0x0\n\tAF_UTUN                           = 0x26\n\tALTWERASE                         = 0x200\n\tATTR_BIT_MAP_COUNT                = 0x5\n\tATTR_CMN_ACCESSMASK               = 0x20000\n\tATTR_CMN_ACCTIME                  = 0x1000\n\tATTR_CMN_ADDEDTIME                = 0x10000000\n\tATTR_CMN_BKUPTIME                 = 0x2000\n\tATTR_CMN_CHGTIME                  = 0x800\n\tATTR_CMN_CRTIME                   = 0x200\n\tATTR_CMN_DATA_PROTECT_FLAGS       = 0x40000000\n\tATTR_CMN_DEVID                    = 0x2\n\tATTR_CMN_DOCUMENT_ID              = 0x100000\n\tATTR_CMN_ERROR                    = 0x20000000\n\tATTR_CMN_EXTENDED_SECURITY        = 0x400000\n\tATTR_CMN_FILEID                   = 0x2000000\n\tATTR_CMN_FLAGS                    = 0x40000\n\tATTR_CMN_FNDRINFO                 = 0x4000\n\tATTR_CMN_FSID                     = 0x4\n\tATTR_CMN_FULLPATH                 = 0x8000000\n\tATTR_CMN_GEN_COUNT                = 0x80000\n\tATTR_CMN_GRPID                    = 0x10000\n\tATTR_CMN_GRPUUID                  = 0x1000000\n\tATTR_CMN_MODTIME                  = 0x400\n\tATTR_CMN_NAME                     = 0x1\n\tATTR_CMN_NAMEDATTRCOUNT           = 0x80000\n\tATTR_CMN_NAMEDATTRLIST            = 0x100000\n\tATTR_CMN_OBJID                    = 0x20\n\tATTR_CMN_OBJPERMANENTID           = 0x40\n\tATTR_CMN_OBJTAG                   = 0x10\n\tATTR_CMN_OBJTYPE                  = 0x8\n\tATTR_CMN_OWNERID                  = 0x8000\n\tATTR_CMN_PARENTID                 = 0x4000000\n\tATTR_CMN_PAROBJID                 = 0x80\n\tATTR_CMN_RETURNED_ATTRS           = 0x80000000\n\tATTR_CMN_SCRIPT                   = 0x100\n\tATTR_CMN_SETMASK                  = 0x41c7ff00\n\tATTR_CMN_USERACCESS               = 0x200000\n\tATTR_CMN_UUID                     = 0x800000\n\tATTR_CMN_VALIDMASK                = 0xffffffff\n\tATTR_CMN_VOLSETMASK               = 0x6700\n\tATTR_FILE_ALLOCSIZE               = 0x4\n\tATTR_FILE_CLUMPSIZE               = 0x10\n\tATTR_FILE_DATAALLOCSIZE           = 0x400\n\tATTR_FILE_DATAEXTENTS             = 0x800\n\tATTR_FILE_DATALENGTH              = 0x200\n\tATTR_FILE_DEVTYPE                 = 0x20\n\tATTR_FILE_FILETYPE                = 0x40\n\tATTR_FILE_FORKCOUNT               = 0x80\n\tATTR_FILE_FORKLIST                = 0x100\n\tATTR_FILE_IOBLOCKSIZE             = 0x8\n\tATTR_FILE_LINKCOUNT               = 0x1\n\tATTR_FILE_RSRCALLOCSIZE           = 0x2000\n\tATTR_FILE_RSRCEXTENTS             = 0x4000\n\tATTR_FILE_RSRCLENGTH              = 0x1000\n\tATTR_FILE_SETMASK                 = 0x20\n\tATTR_FILE_TOTALSIZE               = 0x2\n\tATTR_FILE_VALIDMASK               = 0x37ff\n\tATTR_VOL_ALLOCATIONCLUMP          = 0x40\n\tATTR_VOL_ATTRIBUTES               = 0x40000000\n\tATTR_VOL_CAPABILITIES             = 0x20000\n\tATTR_VOL_DIRCOUNT                 = 0x400\n\tATTR_VOL_ENCODINGSUSED            = 0x10000\n\tATTR_VOL_FILECOUNT                = 0x200\n\tATTR_VOL_FSTYPE                   = 0x1\n\tATTR_VOL_INFO                     = 0x80000000\n\tATTR_VOL_IOBLOCKSIZE              = 0x80\n\tATTR_VOL_MAXOBJCOUNT              = 0x800\n\tATTR_VOL_MINALLOCATION            = 0x20\n\tATTR_VOL_MOUNTEDDEVICE            = 0x8000\n\tATTR_VOL_MOUNTFLAGS               = 0x4000\n\tATTR_VOL_MOUNTPOINT               = 0x1000\n\tATTR_VOL_NAME                     = 0x2000\n\tATTR_VOL_OBJCOUNT                 = 0x100\n\tATTR_VOL_QUOTA_SIZE               = 0x10000000\n\tATTR_VOL_RESERVED_SIZE            = 0x20000000\n\tATTR_VOL_SETMASK                  = 0x80002000\n\tATTR_VOL_SIGNATURE                = 0x2\n\tATTR_VOL_SIZE                     = 0x4\n\tATTR_VOL_SPACEAVAIL               = 0x10\n\tATTR_VOL_SPACEFREE                = 0x8\n\tATTR_VOL_UUID                     = 0x40000\n\tATTR_VOL_VALIDMASK                = 0xf007ffff\n\tB0                                = 0x0\n\tB110                              = 0x6e\n\tB115200                           = 0x1c200\n\tB1200                             = 0x4b0\n\tB134                              = 0x86\n\tB14400                            = 0x3840\n\tB150                              = 0x96\n\tB1800                             = 0x708\n\tB19200                            = 0x4b00\n\tB200                              = 0xc8\n\tB230400                           = 0x38400\n\tB2400                             = 0x960\n\tB28800                            = 0x7080\n\tB300                              = 0x12c\n\tB38400                            = 0x9600\n\tB4800                             = 0x12c0\n\tB50                               = 0x32\n\tB57600                            = 0xe100\n\tB600                              = 0x258\n\tB7200                             = 0x1c20\n\tB75                               = 0x4b\n\tB76800                            = 0x12c00\n\tB9600                             = 0x2580\n\tBIOCFLUSH                         = 0x20004268\n\tBIOCGBLEN                         = 0x40044266\n\tBIOCGDLT                          = 0x4004426a\n\tBIOCGDLTLIST                      = 0xc00c4279\n\tBIOCGETIF                         = 0x4020426b\n\tBIOCGHDRCMPLT                     = 0x40044274\n\tBIOCGRSIG                         = 0x40044272\n\tBIOCGRTIMEOUT                     = 0x4010426e\n\tBIOCGSEESENT                      = 0x40044276\n\tBIOCGSTATS                        = 0x4008426f\n\tBIOCIMMEDIATE                     = 0x80044270\n\tBIOCPROMISC                       = 0x20004269\n\tBIOCSBLEN                         = 0xc0044266\n\tBIOCSDLT                          = 0x80044278\n\tBIOCSETF                          = 0x80104267\n\tBIOCSETFNR                        = 0x8010427e\n\tBIOCSETIF                         = 0x8020426c\n\tBIOCSHDRCMPLT                     = 0x80044275\n\tBIOCSRSIG                         = 0x80044273\n\tBIOCSRTIMEOUT                     = 0x8010426d\n\tBIOCSSEESENT                      = 0x80044277\n\tBIOCVERSION                       = 0x40044271\n\tBPF_A                             = 0x10\n\tBPF_ABS                           = 0x20\n\tBPF_ADD                           = 0x0\n\tBPF_ALIGNMENT                     = 0x4\n\tBPF_ALU                           = 0x4\n\tBPF_AND                           = 0x50\n\tBPF_B                             = 0x10\n\tBPF_DIV                           = 0x30\n\tBPF_H                             = 0x8\n\tBPF_IMM                           = 0x0\n\tBPF_IND                           = 0x40\n\tBPF_JA                            = 0x0\n\tBPF_JEQ                           = 0x10\n\tBPF_JGE                           = 0x30\n\tBPF_JGT                           = 0x20\n\tBPF_JMP                           = 0x5\n\tBPF_JSET                          = 0x40\n\tBPF_K                             = 0x0\n\tBPF_LD                            = 0x0\n\tBPF_LDX                           = 0x1\n\tBPF_LEN                           = 0x80\n\tBPF_LSH                           = 0x60\n\tBPF_MAJOR_VERSION                 = 0x1\n\tBPF_MAXBUFSIZE                    = 0x80000\n\tBPF_MAXINSNS                      = 0x200\n\tBPF_MEM                           = 0x60\n\tBPF_MEMWORDS                      = 0x10\n\tBPF_MINBUFSIZE                    = 0x20\n\tBPF_MINOR_VERSION                 = 0x1\n\tBPF_MISC                          = 0x7\n\tBPF_MSH                           = 0xa0\n\tBPF_MUL                           = 0x20\n\tBPF_NEG                           = 0x80\n\tBPF_OR                            = 0x40\n\tBPF_RELEASE                       = 0x30bb6\n\tBPF_RET                           = 0x6\n\tBPF_RSH                           = 0x70\n\tBPF_ST                            = 0x2\n\tBPF_STX                           = 0x3\n\tBPF_SUB                           = 0x10\n\tBPF_TAX                           = 0x0\n\tBPF_TXA                           = 0x80\n\tBPF_W                             = 0x0\n\tBPF_X                             = 0x8\n\tBRKINT                            = 0x2\n\tBS0                               = 0x0\n\tBS1                               = 0x8000\n\tBSDLY                             = 0x8000\n\tCFLUSH                            = 0xf\n\tCLOCAL                            = 0x8000\n\tCLOCK_MONOTONIC                   = 0x6\n\tCLOCK_MONOTONIC_RAW               = 0x4\n\tCLOCK_MONOTONIC_RAW_APPROX        = 0x5\n\tCLOCK_PROCESS_CPUTIME_ID          = 0xc\n\tCLOCK_REALTIME                    = 0x0\n\tCLOCK_THREAD_CPUTIME_ID           = 0x10\n\tCLOCK_UPTIME_RAW                  = 0x8\n\tCLOCK_UPTIME_RAW_APPROX           = 0x9\n\tCR0                               = 0x0\n\tCR1                               = 0x1000\n\tCR2                               = 0x2000\n\tCR3                               = 0x3000\n\tCRDLY                             = 0x3000\n\tCREAD                             = 0x800\n\tCRTSCTS                           = 0x30000\n\tCS5                               = 0x0\n\tCS6                               = 0x100\n\tCS7                               = 0x200\n\tCS8                               = 0x300\n\tCSIZE                             = 0x300\n\tCSTART                            = 0x11\n\tCSTATUS                           = 0x14\n\tCSTOP                             = 0x13\n\tCSTOPB                            = 0x400\n\tCSUSP                             = 0x1a\n\tCTL_HW                            = 0x6\n\tCTL_KERN                          = 0x1\n\tCTL_MAXNAME                       = 0xc\n\tCTL_NET                           = 0x4\n\tDLT_A429                          = 0xb8\n\tDLT_A653_ICM                      = 0xb9\n\tDLT_AIRONET_HEADER                = 0x78\n\tDLT_AOS                           = 0xde\n\tDLT_APPLE_IP_OVER_IEEE1394        = 0x8a\n\tDLT_ARCNET                        = 0x7\n\tDLT_ARCNET_LINUX                  = 0x81\n\tDLT_ATM_CLIP                      = 0x13\n\tDLT_ATM_RFC1483                   = 0xb\n\tDLT_AURORA                        = 0x7e\n\tDLT_AX25                          = 0x3\n\tDLT_AX25_KISS                     = 0xca\n\tDLT_BACNET_MS_TP                  = 0xa5\n\tDLT_BLUETOOTH_HCI_H4              = 0xbb\n\tDLT_BLUETOOTH_HCI_H4_WITH_PHDR    = 0xc9\n\tDLT_CAN20B                        = 0xbe\n\tDLT_CAN_SOCKETCAN                 = 0xe3\n\tDLT_CHAOS                         = 0x5\n\tDLT_CHDLC                         = 0x68\n\tDLT_CISCO_IOS                     = 0x76\n\tDLT_C_HDLC                        = 0x68\n\tDLT_C_HDLC_WITH_DIR               = 0xcd\n\tDLT_DBUS                          = 0xe7\n\tDLT_DECT                          = 0xdd\n\tDLT_DOCSIS                        = 0x8f\n\tDLT_DVB_CI                        = 0xeb\n\tDLT_ECONET                        = 0x73\n\tDLT_EN10MB                        = 0x1\n\tDLT_EN3MB                         = 0x2\n\tDLT_ENC                           = 0x6d\n\tDLT_ERF                           = 0xc5\n\tDLT_ERF_ETH                       = 0xaf\n\tDLT_ERF_POS                       = 0xb0\n\tDLT_FC_2                          = 0xe0\n\tDLT_FC_2_WITH_FRAME_DELIMS        = 0xe1\n\tDLT_FDDI                          = 0xa\n\tDLT_FLEXRAY                       = 0xd2\n\tDLT_FRELAY                        = 0x6b\n\tDLT_FRELAY_WITH_DIR               = 0xce\n\tDLT_GCOM_SERIAL                   = 0xad\n\tDLT_GCOM_T1E1                     = 0xac\n\tDLT_GPF_F                         = 0xab\n\tDLT_GPF_T                         = 0xaa\n\tDLT_GPRS_LLC                      = 0xa9\n\tDLT_GSMTAP_ABIS                   = 0xda\n\tDLT_GSMTAP_UM                     = 0xd9\n\tDLT_HHDLC                         = 0x79\n\tDLT_IBM_SN                        = 0x92\n\tDLT_IBM_SP                        = 0x91\n\tDLT_IEEE802                       = 0x6\n\tDLT_IEEE802_11                    = 0x69\n\tDLT_IEEE802_11_RADIO              = 0x7f\n\tDLT_IEEE802_11_RADIO_AVS          = 0xa3\n\tDLT_IEEE802_15_4                  = 0xc3\n\tDLT_IEEE802_15_4_LINUX            = 0xbf\n\tDLT_IEEE802_15_4_NOFCS            = 0xe6\n\tDLT_IEEE802_15_4_NONASK_PHY       = 0xd7\n\tDLT_IEEE802_16_MAC_CPS            = 0xbc\n\tDLT_IEEE802_16_MAC_CPS_RADIO      = 0xc1\n\tDLT_IPFILTER                      = 0x74\n\tDLT_IPMB                          = 0xc7\n\tDLT_IPMB_LINUX                    = 0xd1\n\tDLT_IPNET                         = 0xe2\n\tDLT_IPOIB                         = 0xf2\n\tDLT_IPV4                          = 0xe4\n\tDLT_IPV6                          = 0xe5\n\tDLT_IP_OVER_FC                    = 0x7a\n\tDLT_JUNIPER_ATM1                  = 0x89\n\tDLT_JUNIPER_ATM2                  = 0x87\n\tDLT_JUNIPER_ATM_CEMIC             = 0xee\n\tDLT_JUNIPER_CHDLC                 = 0xb5\n\tDLT_JUNIPER_ES                    = 0x84\n\tDLT_JUNIPER_ETHER                 = 0xb2\n\tDLT_JUNIPER_FIBRECHANNEL          = 0xea\n\tDLT_JUNIPER_FRELAY                = 0xb4\n\tDLT_JUNIPER_GGSN                  = 0x85\n\tDLT_JUNIPER_ISM                   = 0xc2\n\tDLT_JUNIPER_MFR                   = 0x86\n\tDLT_JUNIPER_MLFR                  = 0x83\n\tDLT_JUNIPER_MLPPP                 = 0x82\n\tDLT_JUNIPER_MONITOR               = 0xa4\n\tDLT_JUNIPER_PIC_PEER              = 0xae\n\tDLT_JUNIPER_PPP                   = 0xb3\n\tDLT_JUNIPER_PPPOE                 = 0xa7\n\tDLT_JUNIPER_PPPOE_ATM             = 0xa8\n\tDLT_JUNIPER_SERVICES              = 0x88\n\tDLT_JUNIPER_SRX_E2E               = 0xe9\n\tDLT_JUNIPER_ST                    = 0xc8\n\tDLT_JUNIPER_VP                    = 0xb7\n\tDLT_JUNIPER_VS                    = 0xe8\n\tDLT_LAPB_WITH_DIR                 = 0xcf\n\tDLT_LAPD                          = 0xcb\n\tDLT_LIN                           = 0xd4\n\tDLT_LINUX_EVDEV                   = 0xd8\n\tDLT_LINUX_IRDA                    = 0x90\n\tDLT_LINUX_LAPD                    = 0xb1\n\tDLT_LINUX_PPP_WITHDIRECTION       = 0xa6\n\tDLT_LINUX_SLL                     = 0x71\n\tDLT_LOOP                          = 0x6c\n\tDLT_LTALK                         = 0x72\n\tDLT_MATCHING_MAX                  = 0xf5\n\tDLT_MATCHING_MIN                  = 0x68\n\tDLT_MFR                           = 0xb6\n\tDLT_MOST                          = 0xd3\n\tDLT_MPEG_2_TS                     = 0xf3\n\tDLT_MPLS                          = 0xdb\n\tDLT_MTP2                          = 0x8c\n\tDLT_MTP2_WITH_PHDR                = 0x8b\n\tDLT_MTP3                          = 0x8d\n\tDLT_MUX27010                      = 0xec\n\tDLT_NETANALYZER                   = 0xf0\n\tDLT_NETANALYZER_TRANSPARENT       = 0xf1\n\tDLT_NFC_LLCP                      = 0xf5\n\tDLT_NFLOG                         = 0xef\n\tDLT_NG40                          = 0xf4\n\tDLT_NULL                          = 0x0\n\tDLT_PCI_EXP                       = 0x7d\n\tDLT_PFLOG                         = 0x75\n\tDLT_PFSYNC                        = 0x12\n\tDLT_PPI                           = 0xc0\n\tDLT_PPP                           = 0x9\n\tDLT_PPP_BSDOS                     = 0x10\n\tDLT_PPP_ETHER                     = 0x33\n\tDLT_PPP_PPPD                      = 0xa6\n\tDLT_PPP_SERIAL                    = 0x32\n\tDLT_PPP_WITH_DIR                  = 0xcc\n\tDLT_PPP_WITH_DIRECTION            = 0xa6\n\tDLT_PRISM_HEADER                  = 0x77\n\tDLT_PRONET                        = 0x4\n\tDLT_RAIF1                         = 0xc6\n\tDLT_RAW                           = 0xc\n\tDLT_RIO                           = 0x7c\n\tDLT_SCCP                          = 0x8e\n\tDLT_SITA                          = 0xc4\n\tDLT_SLIP                          = 0x8\n\tDLT_SLIP_BSDOS                    = 0xf\n\tDLT_STANAG_5066_D_PDU             = 0xed\n\tDLT_SUNATM                        = 0x7b\n\tDLT_SYMANTEC_FIREWALL             = 0x63\n\tDLT_TZSP                          = 0x80\n\tDLT_USB                           = 0xba\n\tDLT_USB_LINUX                     = 0xbd\n\tDLT_USB_LINUX_MMAPPED             = 0xdc\n\tDLT_USER0                         = 0x93\n\tDLT_USER1                         = 0x94\n\tDLT_USER10                        = 0x9d\n\tDLT_USER11                        = 0x9e\n\tDLT_USER12                        = 0x9f\n\tDLT_USER13                        = 0xa0\n\tDLT_USER14                        = 0xa1\n\tDLT_USER15                        = 0xa2\n\tDLT_USER2                         = 0x95\n\tDLT_USER3                         = 0x96\n\tDLT_USER4                         = 0x97\n\tDLT_USER5                         = 0x98\n\tDLT_USER6                         = 0x99\n\tDLT_USER7                         = 0x9a\n\tDLT_USER8                         = 0x9b\n\tDLT_USER9                         = 0x9c\n\tDLT_WIHART                        = 0xdf\n\tDLT_X2E_SERIAL                    = 0xd5\n\tDLT_X2E_XORAYA                    = 0xd6\n\tDT_BLK                            = 0x6\n\tDT_CHR                            = 0x2\n\tDT_DIR                            = 0x4\n\tDT_FIFO                           = 0x1\n\tDT_LNK                            = 0xa\n\tDT_REG                            = 0x8\n\tDT_SOCK                           = 0xc\n\tDT_UNKNOWN                        = 0x0\n\tDT_WHT                            = 0xe\n\tECHO                              = 0x8\n\tECHOCTL                           = 0x40\n\tECHOE                             = 0x2\n\tECHOK                             = 0x4\n\tECHOKE                            = 0x1\n\tECHONL                            = 0x10\n\tECHOPRT                           = 0x20\n\tEVFILT_AIO                        = -0x3\n\tEVFILT_EXCEPT                     = -0xf\n\tEVFILT_FS                         = -0x9\n\tEVFILT_MACHPORT                   = -0x8\n\tEVFILT_PROC                       = -0x5\n\tEVFILT_READ                       = -0x1\n\tEVFILT_SIGNAL                     = -0x6\n\tEVFILT_SYSCOUNT                   = 0xf\n\tEVFILT_THREADMARKER               = 0xf\n\tEVFILT_TIMER                      = -0x7\n\tEVFILT_USER                       = -0xa\n\tEVFILT_VM                         = -0xc\n\tEVFILT_VNODE                      = -0x4\n\tEVFILT_WRITE                      = -0x2\n\tEV_ADD                            = 0x1\n\tEV_CLEAR                          = 0x20\n\tEV_DELETE                         = 0x2\n\tEV_DISABLE                        = 0x8\n\tEV_DISPATCH                       = 0x80\n\tEV_DISPATCH2                      = 0x180\n\tEV_ENABLE                         = 0x4\n\tEV_EOF                            = 0x8000\n\tEV_ERROR                          = 0x4000\n\tEV_FLAG0                          = 0x1000\n\tEV_FLAG1                          = 0x2000\n\tEV_ONESHOT                        = 0x10\n\tEV_OOBAND                         = 0x2000\n\tEV_POLL                           = 0x1000\n\tEV_RECEIPT                        = 0x40\n\tEV_SYSFLAGS                       = 0xf000\n\tEV_UDATA_SPECIFIC                 = 0x100\n\tEV_VANISHED                       = 0x200\n\tEXTA                              = 0x4b00\n\tEXTB                              = 0x9600\n\tEXTPROC                           = 0x800\n\tFD_CLOEXEC                        = 0x1\n\tFD_SETSIZE                        = 0x400\n\tFF0                               = 0x0\n\tFF1                               = 0x4000\n\tFFDLY                             = 0x4000\n\tFLUSHO                            = 0x800000\n\tFSOPT_ATTR_CMN_EXTENDED           = 0x20\n\tFSOPT_NOFOLLOW                    = 0x1\n\tFSOPT_NOINMEMUPDATE               = 0x2\n\tFSOPT_PACK_INVAL_ATTRS            = 0x8\n\tFSOPT_REPORT_FULLSIZE             = 0x4\n\tF_ADDFILESIGS                     = 0x3d\n\tF_ADDFILESIGS_FOR_DYLD_SIM        = 0x53\n\tF_ADDFILESIGS_RETURN              = 0x61\n\tF_ADDSIGS                         = 0x3b\n\tF_ALLOCATEALL                     = 0x4\n\tF_ALLOCATECONTIG                  = 0x2\n\tF_BARRIERFSYNC                    = 0x55\n\tF_CHECK_LV                        = 0x62\n\tF_CHKCLEAN                        = 0x29\n\tF_DUPFD                           = 0x0\n\tF_DUPFD_CLOEXEC                   = 0x43\n\tF_FINDSIGS                        = 0x4e\n\tF_FLUSH_DATA                      = 0x28\n\tF_FREEZE_FS                       = 0x35\n\tF_FULLFSYNC                       = 0x33\n\tF_GETCODEDIR                      = 0x48\n\tF_GETFD                           = 0x1\n\tF_GETFL                           = 0x3\n\tF_GETLK                           = 0x7\n\tF_GETLKPID                        = 0x42\n\tF_GETNOSIGPIPE                    = 0x4a\n\tF_GETOWN                          = 0x5\n\tF_GETPATH                         = 0x32\n\tF_GETPATH_MTMINFO                 = 0x47\n\tF_GETPROTECTIONCLASS              = 0x3f\n\tF_GETPROTECTIONLEVEL              = 0x4d\n\tF_GLOBAL_NOCACHE                  = 0x37\n\tF_LOG2PHYS                        = 0x31\n\tF_LOG2PHYS_EXT                    = 0x41\n\tF_NOCACHE                         = 0x30\n\tF_NODIRECT                        = 0x3e\n\tF_OK                              = 0x0\n\tF_PATHPKG_CHECK                   = 0x34\n\tF_PEOFPOSMODE                     = 0x3\n\tF_PREALLOCATE                     = 0x2a\n\tF_PUNCHHOLE                       = 0x63\n\tF_RDADVISE                        = 0x2c\n\tF_RDAHEAD                         = 0x2d\n\tF_RDLCK                           = 0x1\n\tF_SETBACKINGSTORE                 = 0x46\n\tF_SETFD                           = 0x2\n\tF_SETFL                           = 0x4\n\tF_SETLK                           = 0x8\n\tF_SETLKW                          = 0x9\n\tF_SETLKWTIMEOUT                   = 0xa\n\tF_SETNOSIGPIPE                    = 0x49\n\tF_SETOWN                          = 0x6\n\tF_SETPROTECTIONCLASS              = 0x40\n\tF_SETSIZE                         = 0x2b\n\tF_SINGLE_WRITER                   = 0x4c\n\tF_THAW_FS                         = 0x36\n\tF_TRANSCODEKEY                    = 0x4b\n\tF_TRIM_ACTIVE_FILE                = 0x64\n\tF_UNLCK                           = 0x2\n\tF_VOLPOSMODE                      = 0x4\n\tF_WRLCK                           = 0x3\n\tHUPCL                             = 0x4000\n\tHW_MACHINE                        = 0x1\n\tICANON                            = 0x100\n\tICMP6_FILTER                      = 0x12\n\tICRNL                             = 0x100\n\tIEXTEN                            = 0x400\n\tIFF_ALLMULTI                      = 0x200\n\tIFF_ALTPHYS                       = 0x4000\n\tIFF_BROADCAST                     = 0x2\n\tIFF_DEBUG                         = 0x4\n\tIFF_LINK0                         = 0x1000\n\tIFF_LINK1                         = 0x2000\n\tIFF_LINK2                         = 0x4000\n\tIFF_LOOPBACK                      = 0x8\n\tIFF_MULTICAST                     = 0x8000\n\tIFF_NOARP                         = 0x80\n\tIFF_NOTRAILERS                    = 0x20\n\tIFF_OACTIVE                       = 0x400\n\tIFF_POINTOPOINT                   = 0x10\n\tIFF_PROMISC                       = 0x100\n\tIFF_RUNNING                       = 0x40\n\tIFF_SIMPLEX                       = 0x800\n\tIFF_UP                            = 0x1\n\tIFNAMSIZ                          = 0x10\n\tIFT_1822                          = 0x2\n\tIFT_AAL5                          = 0x31\n\tIFT_ARCNET                        = 0x23\n\tIFT_ARCNETPLUS                    = 0x24\n\tIFT_ATM                           = 0x25\n\tIFT_BRIDGE                        = 0xd1\n\tIFT_CARP                          = 0xf8\n\tIFT_CELLULAR                      = 0xff\n\tIFT_CEPT                          = 0x13\n\tIFT_DS3                           = 0x1e\n\tIFT_ENC                           = 0xf4\n\tIFT_EON                           = 0x19\n\tIFT_ETHER                         = 0x6\n\tIFT_FAITH                         = 0x38\n\tIFT_FDDI                          = 0xf\n\tIFT_FRELAY                        = 0x20\n\tIFT_FRELAYDCE                     = 0x2c\n\tIFT_GIF                           = 0x37\n\tIFT_HDH1822                       = 0x3\n\tIFT_HIPPI                         = 0x2f\n\tIFT_HSSI                          = 0x2e\n\tIFT_HY                            = 0xe\n\tIFT_IEEE1394                      = 0x90\n\tIFT_IEEE8023ADLAG                 = 0x88\n\tIFT_ISDNBASIC                     = 0x14\n\tIFT_ISDNPRIMARY                   = 0x15\n\tIFT_ISO88022LLC                   = 0x29\n\tIFT_ISO88023                      = 0x7\n\tIFT_ISO88024                      = 0x8\n\tIFT_ISO88025                      = 0x9\n\tIFT_ISO88026                      = 0xa\n\tIFT_L2VLAN                        = 0x87\n\tIFT_LAPB                          = 0x10\n\tIFT_LOCALTALK                     = 0x2a\n\tIFT_LOOP                          = 0x18\n\tIFT_MIOX25                        = 0x26\n\tIFT_MODEM                         = 0x30\n\tIFT_NSIP                          = 0x1b\n\tIFT_OTHER                         = 0x1\n\tIFT_P10                           = 0xc\n\tIFT_P80                           = 0xd\n\tIFT_PARA                          = 0x22\n\tIFT_PDP                           = 0xff\n\tIFT_PFLOG                         = 0xf5\n\tIFT_PFSYNC                        = 0xf6\n\tIFT_PKTAP                         = 0xfe\n\tIFT_PPP                           = 0x17\n\tIFT_PROPMUX                       = 0x36\n\tIFT_PROPVIRTUAL                   = 0x35\n\tIFT_PTPSERIAL                     = 0x16\n\tIFT_RS232                         = 0x21\n\tIFT_SDLC                          = 0x11\n\tIFT_SIP                           = 0x1f\n\tIFT_SLIP                          = 0x1c\n\tIFT_SMDSDXI                       = 0x2b\n\tIFT_SMDSICIP                      = 0x34\n\tIFT_SONET                         = 0x27\n\tIFT_SONETPATH                     = 0x32\n\tIFT_SONETVT                       = 0x33\n\tIFT_STARLAN                       = 0xb\n\tIFT_STF                           = 0x39\n\tIFT_T1                            = 0x12\n\tIFT_ULTRA                         = 0x1d\n\tIFT_V35                           = 0x2d\n\tIFT_X25                           = 0x5\n\tIFT_X25DDN                        = 0x4\n\tIFT_X25PLE                        = 0x28\n\tIFT_XETHER                        = 0x1a\n\tIGNBRK                            = 0x1\n\tIGNCR                             = 0x80\n\tIGNPAR                            = 0x4\n\tIMAXBEL                           = 0x2000\n\tINLCR                             = 0x40\n\tINPCK                             = 0x10\n\tIN_CLASSA_HOST                    = 0xffffff\n\tIN_CLASSA_MAX                     = 0x80\n\tIN_CLASSA_NET                     = 0xff000000\n\tIN_CLASSA_NSHIFT                  = 0x18\n\tIN_CLASSB_HOST                    = 0xffff\n\tIN_CLASSB_MAX                     = 0x10000\n\tIN_CLASSB_NET                     = 0xffff0000\n\tIN_CLASSB_NSHIFT                  = 0x10\n\tIN_CLASSC_HOST                    = 0xff\n\tIN_CLASSC_NET                     = 0xffffff00\n\tIN_CLASSC_NSHIFT                  = 0x8\n\tIN_CLASSD_HOST                    = 0xfffffff\n\tIN_CLASSD_NET                     = 0xf0000000\n\tIN_CLASSD_NSHIFT                  = 0x1c\n\tIN_LINKLOCALNETNUM                = 0xa9fe0000\n\tIN_LOOPBACKNET                    = 0x7f\n\tIPPROTO_3PC                       = 0x22\n\tIPPROTO_ADFS                      = 0x44\n\tIPPROTO_AH                        = 0x33\n\tIPPROTO_AHIP                      = 0x3d\n\tIPPROTO_APES                      = 0x63\n\tIPPROTO_ARGUS                     = 0xd\n\tIPPROTO_AX25                      = 0x5d\n\tIPPROTO_BHA                       = 0x31\n\tIPPROTO_BLT                       = 0x1e\n\tIPPROTO_BRSATMON                  = 0x4c\n\tIPPROTO_CFTP                      = 0x3e\n\tIPPROTO_CHAOS                     = 0x10\n\tIPPROTO_CMTP                      = 0x26\n\tIPPROTO_CPHB                      = 0x49\n\tIPPROTO_CPNX                      = 0x48\n\tIPPROTO_DDP                       = 0x25\n\tIPPROTO_DGP                       = 0x56\n\tIPPROTO_DIVERT                    = 0xfe\n\tIPPROTO_DONE                      = 0x101\n\tIPPROTO_DSTOPTS                   = 0x3c\n\tIPPROTO_EGP                       = 0x8\n\tIPPROTO_EMCON                     = 0xe\n\tIPPROTO_ENCAP                     = 0x62\n\tIPPROTO_EON                       = 0x50\n\tIPPROTO_ESP                       = 0x32\n\tIPPROTO_ETHERIP                   = 0x61\n\tIPPROTO_FRAGMENT                  = 0x2c\n\tIPPROTO_GGP                       = 0x3\n\tIPPROTO_GMTP                      = 0x64\n\tIPPROTO_GRE                       = 0x2f\n\tIPPROTO_HELLO                     = 0x3f\n\tIPPROTO_HMP                       = 0x14\n\tIPPROTO_HOPOPTS                   = 0x0\n\tIPPROTO_ICMP                      = 0x1\n\tIPPROTO_ICMPV6                    = 0x3a\n\tIPPROTO_IDP                       = 0x16\n\tIPPROTO_IDPR                      = 0x23\n\tIPPROTO_IDRP                      = 0x2d\n\tIPPROTO_IGMP                      = 0x2\n\tIPPROTO_IGP                       = 0x55\n\tIPPROTO_IGRP                      = 0x58\n\tIPPROTO_IL                        = 0x28\n\tIPPROTO_INLSP                     = 0x34\n\tIPPROTO_INP                       = 0x20\n\tIPPROTO_IP                        = 0x0\n\tIPPROTO_IPCOMP                    = 0x6c\n\tIPPROTO_IPCV                      = 0x47\n\tIPPROTO_IPEIP                     = 0x5e\n\tIPPROTO_IPIP                      = 0x4\n\tIPPROTO_IPPC                      = 0x43\n\tIPPROTO_IPV4                      = 0x4\n\tIPPROTO_IPV6                      = 0x29\n\tIPPROTO_IRTP                      = 0x1c\n\tIPPROTO_KRYPTOLAN                 = 0x41\n\tIPPROTO_LARP                      = 0x5b\n\tIPPROTO_LEAF1                     = 0x19\n\tIPPROTO_LEAF2                     = 0x1a\n\tIPPROTO_MAX                       = 0x100\n\tIPPROTO_MAXID                     = 0x34\n\tIPPROTO_MEAS                      = 0x13\n\tIPPROTO_MHRP                      = 0x30\n\tIPPROTO_MICP                      = 0x5f\n\tIPPROTO_MTP                       = 0x5c\n\tIPPROTO_MUX                       = 0x12\n\tIPPROTO_ND                        = 0x4d\n\tIPPROTO_NHRP                      = 0x36\n\tIPPROTO_NONE                      = 0x3b\n\tIPPROTO_NSP                       = 0x1f\n\tIPPROTO_NVPII                     = 0xb\n\tIPPROTO_OSPFIGP                   = 0x59\n\tIPPROTO_PGM                       = 0x71\n\tIPPROTO_PIGP                      = 0x9\n\tIPPROTO_PIM                       = 0x67\n\tIPPROTO_PRM                       = 0x15\n\tIPPROTO_PUP                       = 0xc\n\tIPPROTO_PVP                       = 0x4b\n\tIPPROTO_RAW                       = 0xff\n\tIPPROTO_RCCMON                    = 0xa\n\tIPPROTO_RDP                       = 0x1b\n\tIPPROTO_ROUTING                   = 0x2b\n\tIPPROTO_RSVP                      = 0x2e\n\tIPPROTO_RVD                       = 0x42\n\tIPPROTO_SATEXPAK                  = 0x40\n\tIPPROTO_SATMON                    = 0x45\n\tIPPROTO_SCCSP                     = 0x60\n\tIPPROTO_SCTP                      = 0x84\n\tIPPROTO_SDRP                      = 0x2a\n\tIPPROTO_SEP                       = 0x21\n\tIPPROTO_SRPC                      = 0x5a\n\tIPPROTO_ST                        = 0x7\n\tIPPROTO_SVMTP                     = 0x52\n\tIPPROTO_SWIPE                     = 0x35\n\tIPPROTO_TCF                       = 0x57\n\tIPPROTO_TCP                       = 0x6\n\tIPPROTO_TP                        = 0x1d\n\tIPPROTO_TPXX                      = 0x27\n\tIPPROTO_TRUNK1                    = 0x17\n\tIPPROTO_TRUNK2                    = 0x18\n\tIPPROTO_TTP                       = 0x54\n\tIPPROTO_UDP                       = 0x11\n\tIPPROTO_VINES                     = 0x53\n\tIPPROTO_VISA                      = 0x46\n\tIPPROTO_VMTP                      = 0x51\n\tIPPROTO_WBEXPAK                   = 0x4f\n\tIPPROTO_WBMON                     = 0x4e\n\tIPPROTO_WSN                       = 0x4a\n\tIPPROTO_XNET                      = 0xf\n\tIPPROTO_XTP                       = 0x24\n\tIPV6_2292DSTOPTS                  = 0x17\n\tIPV6_2292HOPLIMIT                 = 0x14\n\tIPV6_2292HOPOPTS                  = 0x16\n\tIPV6_2292NEXTHOP                  = 0x15\n\tIPV6_2292PKTINFO                  = 0x13\n\tIPV6_2292PKTOPTIONS               = 0x19\n\tIPV6_2292RTHDR                    = 0x18\n\tIPV6_BINDV6ONLY                   = 0x1b\n\tIPV6_BOUND_IF                     = 0x7d\n\tIPV6_CHECKSUM                     = 0x1a\n\tIPV6_DEFAULT_MULTICAST_HOPS       = 0x1\n\tIPV6_DEFAULT_MULTICAST_LOOP       = 0x1\n\tIPV6_DEFHLIM                      = 0x40\n\tIPV6_FAITH                        = 0x1d\n\tIPV6_FLOWINFO_MASK                = 0xffffff0f\n\tIPV6_FLOWLABEL_MASK               = 0xffff0f00\n\tIPV6_FLOW_ECN_MASK                = 0x300\n\tIPV6_FRAGTTL                      = 0x3c\n\tIPV6_FW_ADD                       = 0x1e\n\tIPV6_FW_DEL                       = 0x1f\n\tIPV6_FW_FLUSH                     = 0x20\n\tIPV6_FW_GET                       = 0x22\n\tIPV6_FW_ZERO                      = 0x21\n\tIPV6_HLIMDEC                      = 0x1\n\tIPV6_IPSEC_POLICY                 = 0x1c\n\tIPV6_JOIN_GROUP                   = 0xc\n\tIPV6_LEAVE_GROUP                  = 0xd\n\tIPV6_MAXHLIM                      = 0xff\n\tIPV6_MAXOPTHDR                    = 0x800\n\tIPV6_MAXPACKET                    = 0xffff\n\tIPV6_MAX_GROUP_SRC_FILTER         = 0x200\n\tIPV6_MAX_MEMBERSHIPS              = 0xfff\n\tIPV6_MAX_SOCK_SRC_FILTER          = 0x80\n\tIPV6_MIN_MEMBERSHIPS              = 0x1f\n\tIPV6_MMTU                         = 0x500\n\tIPV6_MULTICAST_HOPS               = 0xa\n\tIPV6_MULTICAST_IF                 = 0x9\n\tIPV6_MULTICAST_LOOP               = 0xb\n\tIPV6_PORTRANGE                    = 0xe\n\tIPV6_PORTRANGE_DEFAULT            = 0x0\n\tIPV6_PORTRANGE_HIGH               = 0x1\n\tIPV6_PORTRANGE_LOW                = 0x2\n\tIPV6_RECVTCLASS                   = 0x23\n\tIPV6_RTHDR_LOOSE                  = 0x0\n\tIPV6_RTHDR_STRICT                 = 0x1\n\tIPV6_RTHDR_TYPE_0                 = 0x0\n\tIPV6_SOCKOPT_RESERVED1            = 0x3\n\tIPV6_TCLASS                       = 0x24\n\tIPV6_UNICAST_HOPS                 = 0x4\n\tIPV6_V6ONLY                       = 0x1b\n\tIPV6_VERSION                      = 0x60\n\tIPV6_VERSION_MASK                 = 0xf0\n\tIP_ADD_MEMBERSHIP                 = 0xc\n\tIP_ADD_SOURCE_MEMBERSHIP          = 0x46\n\tIP_BLOCK_SOURCE                   = 0x48\n\tIP_BOUND_IF                       = 0x19\n\tIP_DEFAULT_MULTICAST_LOOP         = 0x1\n\tIP_DEFAULT_MULTICAST_TTL          = 0x1\n\tIP_DF                             = 0x4000\n\tIP_DROP_MEMBERSHIP                = 0xd\n\tIP_DROP_SOURCE_MEMBERSHIP         = 0x47\n\tIP_DUMMYNET_CONFIGURE             = 0x3c\n\tIP_DUMMYNET_DEL                   = 0x3d\n\tIP_DUMMYNET_FLUSH                 = 0x3e\n\tIP_DUMMYNET_GET                   = 0x40\n\tIP_FAITH                          = 0x16\n\tIP_FW_ADD                         = 0x28\n\tIP_FW_DEL                         = 0x29\n\tIP_FW_FLUSH                       = 0x2a\n\tIP_FW_GET                         = 0x2c\n\tIP_FW_RESETLOG                    = 0x2d\n\tIP_FW_ZERO                        = 0x2b\n\tIP_HDRINCL                        = 0x2\n\tIP_IPSEC_POLICY                   = 0x15\n\tIP_MAXPACKET                      = 0xffff\n\tIP_MAX_GROUP_SRC_FILTER           = 0x200\n\tIP_MAX_MEMBERSHIPS                = 0xfff\n\tIP_MAX_SOCK_MUTE_FILTER           = 0x80\n\tIP_MAX_SOCK_SRC_FILTER            = 0x80\n\tIP_MF                             = 0x2000\n\tIP_MIN_MEMBERSHIPS                = 0x1f\n\tIP_MSFILTER                       = 0x4a\n\tIP_MSS                            = 0x240\n\tIP_MULTICAST_IF                   = 0x9\n\tIP_MULTICAST_IFINDEX              = 0x42\n\tIP_MULTICAST_LOOP                 = 0xb\n\tIP_MULTICAST_TTL                  = 0xa\n\tIP_MULTICAST_VIF                  = 0xe\n\tIP_NAT__XXX                       = 0x37\n\tIP_OFFMASK                        = 0x1fff\n\tIP_OLD_FW_ADD                     = 0x32\n\tIP_OLD_FW_DEL                     = 0x33\n\tIP_OLD_FW_FLUSH                   = 0x34\n\tIP_OLD_FW_GET                     = 0x36\n\tIP_OLD_FW_RESETLOG                = 0x38\n\tIP_OLD_FW_ZERO                    = 0x35\n\tIP_OPTIONS                        = 0x1\n\tIP_PKTINFO                        = 0x1a\n\tIP_PORTRANGE                      = 0x13\n\tIP_PORTRANGE_DEFAULT              = 0x0\n\tIP_PORTRANGE_HIGH                 = 0x1\n\tIP_PORTRANGE_LOW                  = 0x2\n\tIP_RECVDSTADDR                    = 0x7\n\tIP_RECVIF                         = 0x14\n\tIP_RECVOPTS                       = 0x5\n\tIP_RECVPKTINFO                    = 0x1a\n\tIP_RECVRETOPTS                    = 0x6\n\tIP_RECVTOS                        = 0x1b\n\tIP_RECVTTL                        = 0x18\n\tIP_RETOPTS                        = 0x8\n\tIP_RF                             = 0x8000\n\tIP_RSVP_OFF                       = 0x10\n\tIP_RSVP_ON                        = 0xf\n\tIP_RSVP_VIF_OFF                   = 0x12\n\tIP_RSVP_VIF_ON                    = 0x11\n\tIP_STRIPHDR                       = 0x17\n\tIP_TOS                            = 0x3\n\tIP_TRAFFIC_MGT_BACKGROUND         = 0x41\n\tIP_TTL                            = 0x4\n\tIP_UNBLOCK_SOURCE                 = 0x49\n\tISIG                              = 0x80\n\tISTRIP                            = 0x20\n\tIUTF8                             = 0x4000\n\tIXANY                             = 0x800\n\tIXOFF                             = 0x400\n\tIXON                              = 0x200\n\tKERN_HOSTNAME                     = 0xa\n\tKERN_OSRELEASE                    = 0x2\n\tKERN_OSTYPE                       = 0x1\n\tKERN_VERSION                      = 0x4\n\tLOCK_EX                           = 0x2\n\tLOCK_NB                           = 0x4\n\tLOCK_SH                           = 0x1\n\tLOCK_UN                           = 0x8\n\tMADV_CAN_REUSE                    = 0x9\n\tMADV_DONTNEED                     = 0x4\n\tMADV_FREE                         = 0x5\n\tMADV_FREE_REUSABLE                = 0x7\n\tMADV_FREE_REUSE                   = 0x8\n\tMADV_NORMAL                       = 0x0\n\tMADV_PAGEOUT                      = 0xa\n\tMADV_RANDOM                       = 0x1\n\tMADV_SEQUENTIAL                   = 0x2\n\tMADV_WILLNEED                     = 0x3\n\tMADV_ZERO_WIRED_PAGES             = 0x6\n\tMAP_ANON                          = 0x1000\n\tMAP_ANONYMOUS                     = 0x1000\n\tMAP_COPY                          = 0x2\n\tMAP_FILE                          = 0x0\n\tMAP_FIXED                         = 0x10\n\tMAP_HASSEMAPHORE                  = 0x200\n\tMAP_JIT                           = 0x800\n\tMAP_NOCACHE                       = 0x400\n\tMAP_NOEXTEND                      = 0x100\n\tMAP_NORESERVE                     = 0x40\n\tMAP_PRIVATE                       = 0x2\n\tMAP_RENAME                        = 0x20\n\tMAP_RESERVED0080                  = 0x80\n\tMAP_RESILIENT_CODESIGN            = 0x2000\n\tMAP_RESILIENT_MEDIA               = 0x4000\n\tMAP_SHARED                        = 0x1\n\tMCL_CURRENT                       = 0x1\n\tMCL_FUTURE                        = 0x2\n\tMNT_ASYNC                         = 0x40\n\tMNT_AUTOMOUNTED                   = 0x400000\n\tMNT_CMDFLAGS                      = 0xf0000\n\tMNT_CPROTECT                      = 0x80\n\tMNT_DEFWRITE                      = 0x2000000\n\tMNT_DONTBROWSE                    = 0x100000\n\tMNT_DOVOLFS                       = 0x8000\n\tMNT_DWAIT                         = 0x4\n\tMNT_EXPORTED                      = 0x100\n\tMNT_FORCE                         = 0x80000\n\tMNT_IGNORE_OWNERSHIP              = 0x200000\n\tMNT_JOURNALED                     = 0x800000\n\tMNT_LOCAL                         = 0x1000\n\tMNT_MULTILABEL                    = 0x4000000\n\tMNT_NOATIME                       = 0x10000000\n\tMNT_NOBLOCK                       = 0x20000\n\tMNT_NODEV                         = 0x10\n\tMNT_NOEXEC                        = 0x4\n\tMNT_NOSUID                        = 0x8\n\tMNT_NOUSERXATTR                   = 0x1000000\n\tMNT_NOWAIT                        = 0x2\n\tMNT_QUARANTINE                    = 0x400\n\tMNT_QUOTA                         = 0x2000\n\tMNT_RDONLY                        = 0x1\n\tMNT_RELOAD                        = 0x40000\n\tMNT_ROOTFS                        = 0x4000\n\tMNT_SYNCHRONOUS                   = 0x2\n\tMNT_UNION                         = 0x20\n\tMNT_UNKNOWNPERMISSIONS            = 0x200000\n\tMNT_UPDATE                        = 0x10000\n\tMNT_VISFLAGMASK                   = 0x17f0f5ff\n\tMNT_WAIT                          = 0x1\n\tMSG_CTRUNC                        = 0x20\n\tMSG_DONTROUTE                     = 0x4\n\tMSG_DONTWAIT                      = 0x80\n\tMSG_EOF                           = 0x100\n\tMSG_EOR                           = 0x8\n\tMSG_FLUSH                         = 0x400\n\tMSG_HAVEMORE                      = 0x2000\n\tMSG_HOLD                          = 0x800\n\tMSG_NEEDSA                        = 0x10000\n\tMSG_OOB                           = 0x1\n\tMSG_PEEK                          = 0x2\n\tMSG_RCVMORE                       = 0x4000\n\tMSG_SEND                          = 0x1000\n\tMSG_TRUNC                         = 0x10\n\tMSG_WAITALL                       = 0x40\n\tMSG_WAITSTREAM                    = 0x200\n\tMS_ASYNC                          = 0x1\n\tMS_DEACTIVATE                     = 0x8\n\tMS_INVALIDATE                     = 0x2\n\tMS_KILLPAGES                      = 0x4\n\tMS_SYNC                           = 0x10\n\tNAME_MAX                          = 0xff\n\tNET_RT_DUMP                       = 0x1\n\tNET_RT_DUMP2                      = 0x7\n\tNET_RT_FLAGS                      = 0x2\n\tNET_RT_IFLIST                     = 0x3\n\tNET_RT_IFLIST2                    = 0x6\n\tNET_RT_MAXID                      = 0xa\n\tNET_RT_STAT                       = 0x4\n\tNET_RT_TRASH                      = 0x5\n\tNL0                               = 0x0\n\tNL1                               = 0x100\n\tNL2                               = 0x200\n\tNL3                               = 0x300\n\tNLDLY                             = 0x300\n\tNOFLSH                            = 0x80000000\n\tNOKERNINFO                        = 0x2000000\n\tNOTE_ABSOLUTE                     = 0x8\n\tNOTE_ATTRIB                       = 0x8\n\tNOTE_BACKGROUND                   = 0x40\n\tNOTE_CHILD                        = 0x4\n\tNOTE_CRITICAL                     = 0x20\n\tNOTE_DELETE                       = 0x1\n\tNOTE_EXEC                         = 0x20000000\n\tNOTE_EXIT                         = 0x80000000\n\tNOTE_EXITSTATUS                   = 0x4000000\n\tNOTE_EXIT_CSERROR                 = 0x40000\n\tNOTE_EXIT_DECRYPTFAIL             = 0x10000\n\tNOTE_EXIT_DETAIL                  = 0x2000000\n\tNOTE_EXIT_DETAIL_MASK             = 0x70000\n\tNOTE_EXIT_MEMORY                  = 0x20000\n\tNOTE_EXIT_REPARENTED              = 0x80000\n\tNOTE_EXTEND                       = 0x4\n\tNOTE_FFAND                        = 0x40000000\n\tNOTE_FFCOPY                       = 0xc0000000\n\tNOTE_FFCTRLMASK                   = 0xc0000000\n\tNOTE_FFLAGSMASK                   = 0xffffff\n\tNOTE_FFNOP                        = 0x0\n\tNOTE_FFOR                         = 0x80000000\n\tNOTE_FORK                         = 0x40000000\n\tNOTE_FUNLOCK                      = 0x100\n\tNOTE_LEEWAY                       = 0x10\n\tNOTE_LINK                         = 0x10\n\tNOTE_LOWAT                        = 0x1\n\tNOTE_MACH_CONTINUOUS_TIME         = 0x80\n\tNOTE_NONE                         = 0x80\n\tNOTE_NSECONDS                     = 0x4\n\tNOTE_OOB                          = 0x2\n\tNOTE_PCTRLMASK                    = -0x100000\n\tNOTE_PDATAMASK                    = 0xfffff\n\tNOTE_REAP                         = 0x10000000\n\tNOTE_RENAME                       = 0x20\n\tNOTE_REVOKE                       = 0x40\n\tNOTE_SECONDS                      = 0x1\n\tNOTE_SIGNAL                       = 0x8000000\n\tNOTE_TRACK                        = 0x1\n\tNOTE_TRACKERR                     = 0x2\n\tNOTE_TRIGGER                      = 0x1000000\n\tNOTE_USECONDS                     = 0x2\n\tNOTE_VM_ERROR                     = 0x10000000\n\tNOTE_VM_PRESSURE                  = 0x80000000\n\tNOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000\n\tNOTE_VM_PRESSURE_TERMINATE        = 0x40000000\n\tNOTE_WRITE                        = 0x2\n\tOCRNL                             = 0x10\n\tOFDEL                             = 0x20000\n\tOFILL                             = 0x80\n\tONLCR                             = 0x2\n\tONLRET                            = 0x40\n\tONOCR                             = 0x20\n\tONOEOT                            = 0x8\n\tOPOST                             = 0x1\n\tOXTABS                            = 0x4\n\tO_ACCMODE                         = 0x3\n\tO_ALERT                           = 0x20000000\n\tO_APPEND                          = 0x8\n\tO_ASYNC                           = 0x40\n\tO_CLOEXEC                         = 0x1000000\n\tO_CREAT                           = 0x200\n\tO_DIRECTORY                       = 0x100000\n\tO_DP_GETRAWENCRYPTED              = 0x1\n\tO_DP_GETRAWUNENCRYPTED            = 0x2\n\tO_DSYNC                           = 0x400000\n\tO_EVTONLY                         = 0x8000\n\tO_EXCL                            = 0x800\n\tO_EXLOCK                          = 0x20\n\tO_FSYNC                           = 0x80\n\tO_NDELAY                          = 0x4\n\tO_NOCTTY                          = 0x20000\n\tO_NOFOLLOW                        = 0x100\n\tO_NONBLOCK                        = 0x4\n\tO_POPUP                           = 0x80000000\n\tO_RDONLY                          = 0x0\n\tO_RDWR                            = 0x2\n\tO_SHLOCK                          = 0x10\n\tO_SYMLINK                         = 0x200000\n\tO_SYNC                            = 0x80\n\tO_TRUNC                           = 0x400\n\tO_WRONLY                          = 0x1\n\tPARENB                            = 0x1000\n\tPARMRK                            = 0x8\n\tPARODD                            = 0x2000\n\tPENDIN                            = 0x20000000\n\tPRIO_PGRP                         = 0x1\n\tPRIO_PROCESS                      = 0x0\n\tPRIO_USER                         = 0x2\n\tPROT_EXEC                         = 0x4\n\tPROT_NONE                         = 0x0\n\tPROT_READ                         = 0x1\n\tPROT_WRITE                        = 0x2\n\tPT_ATTACH                         = 0xa\n\tPT_ATTACHEXC                      = 0xe\n\tPT_CONTINUE                       = 0x7\n\tPT_DENY_ATTACH                    = 0x1f\n\tPT_DETACH                         = 0xb\n\tPT_FIRSTMACH                      = 0x20\n\tPT_FORCEQUOTA                     = 0x1e\n\tPT_KILL                           = 0x8\n\tPT_READ_D                         = 0x2\n\tPT_READ_I                         = 0x1\n\tPT_READ_U                         = 0x3\n\tPT_SIGEXC                         = 0xc\n\tPT_STEP                           = 0x9\n\tPT_THUPDATE                       = 0xd\n\tPT_TRACE_ME                       = 0x0\n\tPT_WRITE_D                        = 0x5\n\tPT_WRITE_I                        = 0x4\n\tPT_WRITE_U                        = 0x6\n\tRLIMIT_AS                         = 0x5\n\tRLIMIT_CORE                       = 0x4\n\tRLIMIT_CPU                        = 0x0\n\tRLIMIT_CPU_USAGE_MONITOR          = 0x2\n\tRLIMIT_DATA                       = 0x2\n\tRLIMIT_FSIZE                      = 0x1\n\tRLIMIT_MEMLOCK                    = 0x6\n\tRLIMIT_NOFILE                     = 0x8\n\tRLIMIT_NPROC                      = 0x7\n\tRLIMIT_RSS                        = 0x5\n\tRLIMIT_STACK                      = 0x3\n\tRLIM_INFINITY                     = 0x7fffffffffffffff\n\tRTAX_AUTHOR                       = 0x6\n\tRTAX_BRD                          = 0x7\n\tRTAX_DST                          = 0x0\n\tRTAX_GATEWAY                      = 0x1\n\tRTAX_GENMASK                      = 0x3\n\tRTAX_IFA                          = 0x5\n\tRTAX_IFP                          = 0x4\n\tRTAX_MAX                          = 0x8\n\tRTAX_NETMASK                      = 0x2\n\tRTA_AUTHOR                        = 0x40\n\tRTA_BRD                           = 0x80\n\tRTA_DST                           = 0x1\n\tRTA_GATEWAY                       = 0x2\n\tRTA_GENMASK                       = 0x8\n\tRTA_IFA                           = 0x20\n\tRTA_IFP                           = 0x10\n\tRTA_NETMASK                       = 0x4\n\tRTF_BLACKHOLE                     = 0x1000\n\tRTF_BROADCAST                     = 0x400000\n\tRTF_CLONING                       = 0x100\n\tRTF_CONDEMNED                     = 0x2000000\n\tRTF_DELCLONE                      = 0x80\n\tRTF_DONE                          = 0x40\n\tRTF_DYNAMIC                       = 0x10\n\tRTF_GATEWAY                       = 0x2\n\tRTF_HOST                          = 0x4\n\tRTF_IFREF                         = 0x4000000\n\tRTF_IFSCOPE                       = 0x1000000\n\tRTF_LLINFO                        = 0x400\n\tRTF_LOCAL                         = 0x200000\n\tRTF_MODIFIED                      = 0x20\n\tRTF_MULTICAST                     = 0x800000\n\tRTF_NOIFREF                       = 0x2000\n\tRTF_PINNED                        = 0x100000\n\tRTF_PRCLONING                     = 0x10000\n\tRTF_PROTO1                        = 0x8000\n\tRTF_PROTO2                        = 0x4000\n\tRTF_PROTO3                        = 0x40000\n\tRTF_PROXY                         = 0x8000000\n\tRTF_REJECT                        = 0x8\n\tRTF_ROUTER                        = 0x10000000\n\tRTF_STATIC                        = 0x800\n\tRTF_UP                            = 0x1\n\tRTF_WASCLONED                     = 0x20000\n\tRTF_XRESOLVE                      = 0x200\n\tRTM_ADD                           = 0x1\n\tRTM_CHANGE                        = 0x3\n\tRTM_DELADDR                       = 0xd\n\tRTM_DELETE                        = 0x2\n\tRTM_DELMADDR                      = 0x10\n\tRTM_GET                           = 0x4\n\tRTM_GET2                          = 0x14\n\tRTM_IFINFO                        = 0xe\n\tRTM_IFINFO2                       = 0x12\n\tRTM_LOCK                          = 0x8\n\tRTM_LOSING                        = 0x5\n\tRTM_MISS                          = 0x7\n\tRTM_NEWADDR                       = 0xc\n\tRTM_NEWMADDR                      = 0xf\n\tRTM_NEWMADDR2                     = 0x13\n\tRTM_OLDADD                        = 0x9\n\tRTM_OLDDEL                        = 0xa\n\tRTM_REDIRECT                      = 0x6\n\tRTM_RESOLVE                       = 0xb\n\tRTM_RTTUNIT                       = 0xf4240\n\tRTM_VERSION                       = 0x5\n\tRTV_EXPIRE                        = 0x4\n\tRTV_HOPCOUNT                      = 0x2\n\tRTV_MTU                           = 0x1\n\tRTV_RPIPE                         = 0x8\n\tRTV_RTT                           = 0x40\n\tRTV_RTTVAR                        = 0x80\n\tRTV_SPIPE                         = 0x10\n\tRTV_SSTHRESH                      = 0x20\n\tRUSAGE_CHILDREN                   = -0x1\n\tRUSAGE_SELF                       = 0x0\n\tSCM_CREDS                         = 0x3\n\tSCM_RIGHTS                        = 0x1\n\tSCM_TIMESTAMP                     = 0x2\n\tSCM_TIMESTAMP_MONOTONIC           = 0x4\n\tSHUT_RD                           = 0x0\n\tSHUT_RDWR                         = 0x2\n\tSHUT_WR                           = 0x1\n\tSIOCADDMULTI                      = 0x80206931\n\tSIOCAIFADDR                       = 0x8040691a\n\tSIOCARPIPLL                       = 0xc0206928\n\tSIOCATMARK                        = 0x40047307\n\tSIOCAUTOADDR                      = 0xc0206926\n\tSIOCAUTONETMASK                   = 0x80206927\n\tSIOCDELMULTI                      = 0x80206932\n\tSIOCDIFADDR                       = 0x80206919\n\tSIOCDIFPHYADDR                    = 0x80206941\n\tSIOCGDRVSPEC                      = 0xc028697b\n\tSIOCGETVLAN                       = 0xc020697f\n\tSIOCGHIWAT                        = 0x40047301\n\tSIOCGIFADDR                       = 0xc0206921\n\tSIOCGIFALTMTU                     = 0xc0206948\n\tSIOCGIFASYNCMAP                   = 0xc020697c\n\tSIOCGIFBOND                       = 0xc0206947\n\tSIOCGIFBRDADDR                    = 0xc0206923\n\tSIOCGIFCAP                        = 0xc020695b\n\tSIOCGIFCONF                       = 0xc00c6924\n\tSIOCGIFDEVMTU                     = 0xc0206944\n\tSIOCGIFDSTADDR                    = 0xc0206922\n\tSIOCGIFFLAGS                      = 0xc0206911\n\tSIOCGIFGENERIC                    = 0xc020693a\n\tSIOCGIFKPI                        = 0xc0206987\n\tSIOCGIFMAC                        = 0xc0206982\n\tSIOCGIFMEDIA                      = 0xc02c6938\n\tSIOCGIFMETRIC                     = 0xc0206917\n\tSIOCGIFMTU                        = 0xc0206933\n\tSIOCGIFNETMASK                    = 0xc0206925\n\tSIOCGIFPDSTADDR                   = 0xc0206940\n\tSIOCGIFPHYS                       = 0xc0206935\n\tSIOCGIFPSRCADDR                   = 0xc020693f\n\tSIOCGIFSTATUS                     = 0xc331693d\n\tSIOCGIFVLAN                       = 0xc020697f\n\tSIOCGIFWAKEFLAGS                  = 0xc0206988\n\tSIOCGLOWAT                        = 0x40047303\n\tSIOCGPGRP                         = 0x40047309\n\tSIOCIFCREATE                      = 0xc0206978\n\tSIOCIFCREATE2                     = 0xc020697a\n\tSIOCIFDESTROY                     = 0x80206979\n\tSIOCIFGCLONERS                    = 0xc0106981\n\tSIOCRSLVMULTI                     = 0xc010693b\n\tSIOCSDRVSPEC                      = 0x8028697b\n\tSIOCSETVLAN                       = 0x8020697e\n\tSIOCSHIWAT                        = 0x80047300\n\tSIOCSIFADDR                       = 0x8020690c\n\tSIOCSIFALTMTU                     = 0x80206945\n\tSIOCSIFASYNCMAP                   = 0x8020697d\n\tSIOCSIFBOND                       = 0x80206946\n\tSIOCSIFBRDADDR                    = 0x80206913\n\tSIOCSIFCAP                        = 0x8020695a\n\tSIOCSIFDSTADDR                    = 0x8020690e\n\tSIOCSIFFLAGS                      = 0x80206910\n\tSIOCSIFGENERIC                    = 0x80206939\n\tSIOCSIFKPI                        = 0x80206986\n\tSIOCSIFLLADDR                     = 0x8020693c\n\tSIOCSIFMAC                        = 0x80206983\n\tSIOCSIFMEDIA                      = 0xc0206937\n\tSIOCSIFMETRIC                     = 0x80206918\n\tSIOCSIFMTU                        = 0x80206934\n\tSIOCSIFNETMASK                    = 0x80206916\n\tSIOCSIFPHYADDR                    = 0x8040693e\n\tSIOCSIFPHYS                       = 0x80206936\n\tSIOCSIFVLAN                       = 0x8020697e\n\tSIOCSLOWAT                        = 0x80047302\n\tSIOCSPGRP                         = 0x80047308\n\tSOCK_DGRAM                        = 0x2\n\tSOCK_MAXADDRLEN                   = 0xff\n\tSOCK_RAW                          = 0x3\n\tSOCK_RDM                          = 0x4\n\tSOCK_SEQPACKET                    = 0x5\n\tSOCK_STREAM                       = 0x1\n\tSOL_SOCKET                        = 0xffff\n\tSOMAXCONN                         = 0x80\n\tSO_ACCEPTCONN                     = 0x2\n\tSO_BROADCAST                      = 0x20\n\tSO_DEBUG                          = 0x1\n\tSO_DONTROUTE                      = 0x10\n\tSO_DONTTRUNC                      = 0x2000\n\tSO_ERROR                          = 0x1007\n\tSO_KEEPALIVE                      = 0x8\n\tSO_LABEL                          = 0x1010\n\tSO_LINGER                         = 0x80\n\tSO_LINGER_SEC                     = 0x1080\n\tSO_NETSVC_MARKING_LEVEL           = 0x1119\n\tSO_NET_SERVICE_TYPE               = 0x1116\n\tSO_NKE                            = 0x1021\n\tSO_NOADDRERR                      = 0x1023\n\tSO_NOSIGPIPE                      = 0x1022\n\tSO_NOTIFYCONFLICT                 = 0x1026\n\tSO_NP_EXTENSIONS                  = 0x1083\n\tSO_NREAD                          = 0x1020\n\tSO_NUMRCVPKT                      = 0x1112\n\tSO_NWRITE                         = 0x1024\n\tSO_OOBINLINE                      = 0x100\n\tSO_PEERLABEL                      = 0x1011\n\tSO_RANDOMPORT                     = 0x1082\n\tSO_RCVBUF                         = 0x1002\n\tSO_RCVLOWAT                       = 0x1004\n\tSO_RCVTIMEO                       = 0x1006\n\tSO_REUSEADDR                      = 0x4\n\tSO_REUSEPORT                      = 0x200\n\tSO_REUSESHAREUID                  = 0x1025\n\tSO_SNDBUF                         = 0x1001\n\tSO_SNDLOWAT                       = 0x1003\n\tSO_SNDTIMEO                       = 0x1005\n\tSO_TIMESTAMP                      = 0x400\n\tSO_TIMESTAMP_MONOTONIC            = 0x800\n\tSO_TYPE                           = 0x1008\n\tSO_UPCALLCLOSEWAIT                = 0x1027\n\tSO_USELOOPBACK                    = 0x40\n\tSO_WANTMORE                       = 0x4000\n\tSO_WANTOOBFLAG                    = 0x8000\n\tS_IEXEC                           = 0x40\n\tS_IFBLK                           = 0x6000\n\tS_IFCHR                           = 0x2000\n\tS_IFDIR                           = 0x4000\n\tS_IFIFO                           = 0x1000\n\tS_IFLNK                           = 0xa000\n\tS_IFMT                            = 0xf000\n\tS_IFREG                           = 0x8000\n\tS_IFSOCK                          = 0xc000\n\tS_IFWHT                           = 0xe000\n\tS_IREAD                           = 0x100\n\tS_IRGRP                           = 0x20\n\tS_IROTH                           = 0x4\n\tS_IRUSR                           = 0x100\n\tS_IRWXG                           = 0x38\n\tS_IRWXO                           = 0x7\n\tS_IRWXU                           = 0x1c0\n\tS_ISGID                           = 0x400\n\tS_ISTXT                           = 0x200\n\tS_ISUID                           = 0x800\n\tS_ISVTX                           = 0x200\n\tS_IWGRP                           = 0x10\n\tS_IWOTH                           = 0x2\n\tS_IWRITE                          = 0x80\n\tS_IWUSR                           = 0x80\n\tS_IXGRP                           = 0x8\n\tS_IXOTH                           = 0x1\n\tS_IXUSR                           = 0x40\n\tTAB0                              = 0x0\n\tTAB1                              = 0x400\n\tTAB2                              = 0x800\n\tTAB3                              = 0x4\n\tTABDLY                            = 0xc04\n\tTCIFLUSH                          = 0x1\n\tTCIOFF                            = 0x3\n\tTCIOFLUSH                         = 0x3\n\tTCION                             = 0x4\n\tTCOFLUSH                          = 0x2\n\tTCOOFF                            = 0x1\n\tTCOON                             = 0x2\n\tTCP_CONNECTIONTIMEOUT             = 0x20\n\tTCP_CONNECTION_INFO               = 0x106\n\tTCP_ENABLE_ECN                    = 0x104\n\tTCP_FASTOPEN                      = 0x105\n\tTCP_KEEPALIVE                     = 0x10\n\tTCP_KEEPCNT                       = 0x102\n\tTCP_KEEPINTVL                     = 0x101\n\tTCP_MAXHLEN                       = 0x3c\n\tTCP_MAXOLEN                       = 0x28\n\tTCP_MAXSEG                        = 0x2\n\tTCP_MAXWIN                        = 0xffff\n\tTCP_MAX_SACK                      = 0x4\n\tTCP_MAX_WINSHIFT                  = 0xe\n\tTCP_MINMSS                        = 0xd8\n\tTCP_MSS                           = 0x200\n\tTCP_NODELAY                       = 0x1\n\tTCP_NOOPT                         = 0x8\n\tTCP_NOPUSH                        = 0x4\n\tTCP_NOTSENT_LOWAT                 = 0x201\n\tTCP_RXT_CONNDROPTIME              = 0x80\n\tTCP_RXT_FINDROP                   = 0x100\n\tTCP_SENDMOREACKS                  = 0x103\n\tTCSAFLUSH                         = 0x2\n\tTIOCCBRK                          = 0x2000747a\n\tTIOCCDTR                          = 0x20007478\n\tTIOCCONS                          = 0x80047462\n\tTIOCDCDTIMESTAMP                  = 0x40107458\n\tTIOCDRAIN                         = 0x2000745e\n\tTIOCDSIMICROCODE                  = 0x20007455\n\tTIOCEXCL                          = 0x2000740d\n\tTIOCEXT                           = 0x80047460\n\tTIOCFLUSH                         = 0x80047410\n\tTIOCGDRAINWAIT                    = 0x40047456\n\tTIOCGETA                          = 0x40487413\n\tTIOCGETD                          = 0x4004741a\n\tTIOCGPGRP                         = 0x40047477\n\tTIOCGWINSZ                        = 0x40087468\n\tTIOCIXOFF                         = 0x20007480\n\tTIOCIXON                          = 0x20007481\n\tTIOCMBIC                          = 0x8004746b\n\tTIOCMBIS                          = 0x8004746c\n\tTIOCMGDTRWAIT                     = 0x4004745a\n\tTIOCMGET                          = 0x4004746a\n\tTIOCMODG                          = 0x40047403\n\tTIOCMODS                          = 0x80047404\n\tTIOCMSDTRWAIT                     = 0x8004745b\n\tTIOCMSET                          = 0x8004746d\n\tTIOCM_CAR                         = 0x40\n\tTIOCM_CD                          = 0x40\n\tTIOCM_CTS                         = 0x20\n\tTIOCM_DSR                         = 0x100\n\tTIOCM_DTR                         = 0x2\n\tTIOCM_LE                          = 0x1\n\tTIOCM_RI                          = 0x80\n\tTIOCM_RNG                         = 0x80\n\tTIOCM_RTS                         = 0x4\n\tTIOCM_SR                          = 0x10\n\tTIOCM_ST                          = 0x8\n\tTIOCNOTTY                         = 0x20007471\n\tTIOCNXCL                          = 0x2000740e\n\tTIOCOUTQ                          = 0x40047473\n\tTIOCPKT                           = 0x80047470\n\tTIOCPKT_DATA                      = 0x0\n\tTIOCPKT_DOSTOP                    = 0x20\n\tTIOCPKT_FLUSHREAD                 = 0x1\n\tTIOCPKT_FLUSHWRITE                = 0x2\n\tTIOCPKT_IOCTL                     = 0x40\n\tTIOCPKT_NOSTOP                    = 0x10\n\tTIOCPKT_START                     = 0x8\n\tTIOCPKT_STOP                      = 0x4\n\tTIOCPTYGNAME                      = 0x40807453\n\tTIOCPTYGRANT                      = 0x20007454\n\tTIOCPTYUNLK                       = 0x20007452\n\tTIOCREMOTE                        = 0x80047469\n\tTIOCSBRK                          = 0x2000747b\n\tTIOCSCONS                         = 0x20007463\n\tTIOCSCTTY                         = 0x20007461\n\tTIOCSDRAINWAIT                    = 0x80047457\n\tTIOCSDTR                          = 0x20007479\n\tTIOCSETA                          = 0x80487414\n\tTIOCSETAF                         = 0x80487416\n\tTIOCSETAW                         = 0x80487415\n\tTIOCSETD                          = 0x8004741b\n\tTIOCSIG                           = 0x2000745f\n\tTIOCSPGRP                         = 0x80047476\n\tTIOCSTART                         = 0x2000746e\n\tTIOCSTAT                          = 0x20007465\n\tTIOCSTI                           = 0x80017472\n\tTIOCSTOP                          = 0x2000746f\n\tTIOCSWINSZ                        = 0x80087467\n\tTIOCTIMESTAMP                     = 0x40107459\n\tTIOCUCNTL                         = 0x80047466\n\tTOSTOP                            = 0x400000\n\tVDISCARD                          = 0xf\n\tVDSUSP                            = 0xb\n\tVEOF                              = 0x0\n\tVEOL                              = 0x1\n\tVEOL2                             = 0x2\n\tVERASE                            = 0x3\n\tVINTR                             = 0x8\n\tVKILL                             = 0x5\n\tVLNEXT                            = 0xe\n\tVMIN                              = 0x10\n\tVM_LOADAVG                        = 0x2\n\tVM_MACHFACTOR                     = 0x4\n\tVM_MAXID                          = 0x6\n\tVM_METER                          = 0x1\n\tVM_SWAPUSAGE                      = 0x5\n\tVQUIT                             = 0x9\n\tVREPRINT                          = 0x6\n\tVSTART                            = 0xc\n\tVSTATUS                           = 0x12\n\tVSTOP                             = 0xd\n\tVSUSP                             = 0xa\n\tVT0                               = 0x0\n\tVT1                               = 0x10000\n\tVTDLY                             = 0x10000\n\tVTIME                             = 0x11\n\tVWERASE                           = 0x4\n\tWCONTINUED                        = 0x10\n\tWCOREFLAG                         = 0x80\n\tWEXITED                           = 0x4\n\tWNOHANG                           = 0x1\n\tWNOWAIT                           = 0x20\n\tWORDSIZE                          = 0x40\n\tWSTOPPED                          = 0x8\n\tWUNTRACED                         = 0x2\n\tXATTR_CREATE                      = 0x2\n\tXATTR_NODEFAULT                   = 0x10\n\tXATTR_NOFOLLOW                    = 0x1\n\tXATTR_NOSECURITY                  = 0x8\n\tXATTR_REPLACE                     = 0x4\n\tXATTR_SHOWCOMPRESSION             = 0x20\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x30)\n\tEADDRNOTAVAIL   = syscall.Errno(0x31)\n\tEAFNOSUPPORT    = syscall.Errno(0x2f)\n\tEAGAIN          = syscall.Errno(0x23)\n\tEALREADY        = syscall.Errno(0x25)\n\tEAUTH           = syscall.Errno(0x50)\n\tEBADARCH        = syscall.Errno(0x56)\n\tEBADEXEC        = syscall.Errno(0x55)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADMACHO       = syscall.Errno(0x58)\n\tEBADMSG         = syscall.Errno(0x5e)\n\tEBADRPC         = syscall.Errno(0x48)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x59)\n\tECHILD          = syscall.Errno(0xa)\n\tECONNABORTED    = syscall.Errno(0x35)\n\tECONNREFUSED    = syscall.Errno(0x3d)\n\tECONNRESET      = syscall.Errno(0x36)\n\tEDEADLK         = syscall.Errno(0xb)\n\tEDESTADDRREQ    = syscall.Errno(0x27)\n\tEDEVERR         = syscall.Errno(0x53)\n\tEDOM            = syscall.Errno(0x21)\n\tEDQUOT          = syscall.Errno(0x45)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEFTYPE          = syscall.Errno(0x4f)\n\tEHOSTDOWN       = syscall.Errno(0x40)\n\tEHOSTUNREACH    = syscall.Errno(0x41)\n\tEIDRM           = syscall.Errno(0x5a)\n\tEILSEQ          = syscall.Errno(0x5c)\n\tEINPROGRESS     = syscall.Errno(0x24)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x38)\n\tEISDIR          = syscall.Errno(0x15)\n\tELAST           = syscall.Errno(0x6a)\n\tELOOP           = syscall.Errno(0x3e)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x28)\n\tEMULTIHOP       = syscall.Errno(0x5f)\n\tENAMETOOLONG    = syscall.Errno(0x3f)\n\tENEEDAUTH       = syscall.Errno(0x51)\n\tENETDOWN        = syscall.Errno(0x32)\n\tENETRESET       = syscall.Errno(0x34)\n\tENETUNREACH     = syscall.Errno(0x33)\n\tENFILE          = syscall.Errno(0x17)\n\tENOATTR         = syscall.Errno(0x5d)\n\tENOBUFS         = syscall.Errno(0x37)\n\tENODATA         = syscall.Errno(0x60)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOLCK          = syscall.Errno(0x4d)\n\tENOLINK         = syscall.Errno(0x61)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x5b)\n\tENOPOLICY       = syscall.Errno(0x67)\n\tENOPROTOOPT     = syscall.Errno(0x2a)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x62)\n\tENOSTR          = syscall.Errno(0x63)\n\tENOSYS          = syscall.Errno(0x4e)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x39)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x42)\n\tENOTRECOVERABLE = syscall.Errno(0x68)\n\tENOTSOCK        = syscall.Errno(0x26)\n\tENOTSUP         = syscall.Errno(0x2d)\n\tENOTTY          = syscall.Errno(0x19)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x66)\n\tEOVERFLOW       = syscall.Errno(0x54)\n\tEOWNERDEAD      = syscall.Errno(0x69)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x2e)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROCLIM        = syscall.Errno(0x43)\n\tEPROCUNAVAIL    = syscall.Errno(0x4c)\n\tEPROGMISMATCH   = syscall.Errno(0x4b)\n\tEPROGUNAVAIL    = syscall.Errno(0x4a)\n\tEPROTO          = syscall.Errno(0x64)\n\tEPROTONOSUPPORT = syscall.Errno(0x2b)\n\tEPROTOTYPE      = syscall.Errno(0x29)\n\tEPWROFF         = syscall.Errno(0x52)\n\tEQFULL          = syscall.Errno(0x6a)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMOTE         = syscall.Errno(0x47)\n\tEROFS           = syscall.Errno(0x1e)\n\tERPCMISMATCH    = syscall.Errno(0x49)\n\tESHLIBVERS      = syscall.Errno(0x57)\n\tESHUTDOWN       = syscall.Errno(0x3a)\n\tESOCKTNOSUPPORT = syscall.Errno(0x2c)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESTALE          = syscall.Errno(0x46)\n\tETIME           = syscall.Errno(0x65)\n\tETIMEDOUT       = syscall.Errno(0x3c)\n\tETOOMANYREFS    = syscall.Errno(0x3b)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUSERS          = syscall.Errno(0x44)\n\tEWOULDBLOCK     = syscall.Errno(0x23)\n\tEXDEV           = syscall.Errno(0x12)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x14)\n\tSIGCONT   = syscall.Signal(0x13)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINFO   = syscall.Signal(0x1d)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x17)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x11)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x12)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x10)\n\tSIGUSR1   = syscall.Signal(0x1e)\n\tSIGUSR2   = syscall.Signal(0x1f)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errorList = [...]struct {\n\tnum  syscall.Errno\n\tname string\n\tdesc string\n}{\n\t{1, \"EPERM\", \"operation not permitted\"},\n\t{2, \"ENOENT\", \"no such file or directory\"},\n\t{3, \"ESRCH\", \"no such process\"},\n\t{4, \"EINTR\", \"interrupted system call\"},\n\t{5, \"EIO\", \"input/output error\"},\n\t{6, \"ENXIO\", \"device not configured\"},\n\t{7, \"E2BIG\", \"argument list too long\"},\n\t{8, \"ENOEXEC\", \"exec format error\"},\n\t{9, \"EBADF\", \"bad file descriptor\"},\n\t{10, \"ECHILD\", \"no child processes\"},\n\t{11, \"EDEADLK\", \"resource deadlock avoided\"},\n\t{12, \"ENOMEM\", \"cannot allocate memory\"},\n\t{13, \"EACCES\", \"permission denied\"},\n\t{14, \"EFAULT\", \"bad address\"},\n\t{15, \"ENOTBLK\", \"block device required\"},\n\t{16, \"EBUSY\", \"resource busy\"},\n\t{17, \"EEXIST\", \"file exists\"},\n\t{18, \"EXDEV\", \"cross-device link\"},\n\t{19, \"ENODEV\", \"operation not supported by device\"},\n\t{20, \"ENOTDIR\", \"not a directory\"},\n\t{21, \"EISDIR\", \"is a directory\"},\n\t{22, \"EINVAL\", \"invalid argument\"},\n\t{23, \"ENFILE\", \"too many open files in system\"},\n\t{24, \"EMFILE\", \"too many open files\"},\n\t{25, \"ENOTTY\", \"inappropriate ioctl for device\"},\n\t{26, \"ETXTBSY\", \"text file busy\"},\n\t{27, \"EFBIG\", \"file too large\"},\n\t{28, \"ENOSPC\", \"no space left on device\"},\n\t{29, \"ESPIPE\", \"illegal seek\"},\n\t{30, \"EROFS\", \"read-only file system\"},\n\t{31, \"EMLINK\", \"too many links\"},\n\t{32, \"EPIPE\", \"broken pipe\"},\n\t{33, \"EDOM\", \"numerical argument out of domain\"},\n\t{34, \"ERANGE\", \"result too large\"},\n\t{35, \"EAGAIN\", \"resource temporarily unavailable\"},\n\t{36, \"EINPROGRESS\", \"operation now in progress\"},\n\t{37, \"EALREADY\", \"operation already in progress\"},\n\t{38, \"ENOTSOCK\", \"socket operation on non-socket\"},\n\t{39, \"EDESTADDRREQ\", \"destination address required\"},\n\t{40, \"EMSGSIZE\", \"message too long\"},\n\t{41, \"EPROTOTYPE\", \"protocol wrong type for socket\"},\n\t{42, \"ENOPROTOOPT\", \"protocol not available\"},\n\t{43, \"EPROTONOSUPPORT\", \"protocol not supported\"},\n\t{44, \"ESOCKTNOSUPPORT\", \"socket type not supported\"},\n\t{45, \"ENOTSUP\", \"operation not supported\"},\n\t{46, \"EPFNOSUPPORT\", \"protocol family not supported\"},\n\t{47, \"EAFNOSUPPORT\", \"address family not supported by protocol family\"},\n\t{48, \"EADDRINUSE\", \"address already in use\"},\n\t{49, \"EADDRNOTAVAIL\", \"can't assign requested address\"},\n\t{50, \"ENETDOWN\", \"network is down\"},\n\t{51, \"ENETUNREACH\", \"network is unreachable\"},\n\t{52, \"ENETRESET\", \"network dropped connection on reset\"},\n\t{53, \"ECONNABORTED\", \"software caused connection abort\"},\n\t{54, \"ECONNRESET\", \"connection reset by peer\"},\n\t{55, \"ENOBUFS\", \"no buffer space available\"},\n\t{56, \"EISCONN\", \"socket is already connected\"},\n\t{57, \"ENOTCONN\", \"socket is not connected\"},\n\t{58, \"ESHUTDOWN\", \"can't send after socket shutdown\"},\n\t{59, \"ETOOMANYREFS\", \"too many references: can't splice\"},\n\t{60, \"ETIMEDOUT\", \"operation timed out\"},\n\t{61, \"ECONNREFUSED\", \"connection refused\"},\n\t{62, \"ELOOP\", \"too many levels of symbolic links\"},\n\t{63, \"ENAMETOOLONG\", \"file name too long\"},\n\t{64, \"EHOSTDOWN\", \"host is down\"},\n\t{65, \"EHOSTUNREACH\", \"no route to host\"},\n\t{66, \"ENOTEMPTY\", \"directory not empty\"},\n\t{67, \"EPROCLIM\", \"too many processes\"},\n\t{68, \"EUSERS\", \"too many users\"},\n\t{69, \"EDQUOT\", \"disc quota exceeded\"},\n\t{70, \"ESTALE\", \"stale NFS file handle\"},\n\t{71, \"EREMOTE\", \"too many levels of remote in path\"},\n\t{72, \"EBADRPC\", \"RPC struct is bad\"},\n\t{73, \"ERPCMISMATCH\", \"RPC version wrong\"},\n\t{74, \"EPROGUNAVAIL\", \"RPC prog. not avail\"},\n\t{75, \"EPROGMISMATCH\", \"program version wrong\"},\n\t{76, \"EPROCUNAVAIL\", \"bad procedure for program\"},\n\t{77, \"ENOLCK\", \"no locks available\"},\n\t{78, \"ENOSYS\", \"function not implemented\"},\n\t{79, \"EFTYPE\", \"inappropriate file type or format\"},\n\t{80, \"EAUTH\", \"authentication error\"},\n\t{81, \"ENEEDAUTH\", \"need authenticator\"},\n\t{82, \"EPWROFF\", \"device power is off\"},\n\t{83, \"EDEVERR\", \"device error\"},\n\t{84, \"EOVERFLOW\", \"value too large to be stored in data type\"},\n\t{85, \"EBADEXEC\", \"bad executable (or shared library)\"},\n\t{86, \"EBADARCH\", \"bad CPU type in executable\"},\n\t{87, \"ESHLIBVERS\", \"shared library version mismatch\"},\n\t{88, \"EBADMACHO\", \"malformed Mach-o file\"},\n\t{89, \"ECANCELED\", \"operation canceled\"},\n\t{90, \"EIDRM\", \"identifier removed\"},\n\t{91, \"ENOMSG\", \"no message of desired type\"},\n\t{92, \"EILSEQ\", \"illegal byte sequence\"},\n\t{93, \"ENOATTR\", \"attribute not found\"},\n\t{94, \"EBADMSG\", \"bad message\"},\n\t{95, \"EMULTIHOP\", \"EMULTIHOP (Reserved)\"},\n\t{96, \"ENODATA\", \"no message available on STREAM\"},\n\t{97, \"ENOLINK\", \"ENOLINK (Reserved)\"},\n\t{98, \"ENOSR\", \"no STREAM resources\"},\n\t{99, \"ENOSTR\", \"not a STREAM\"},\n\t{100, \"EPROTO\", \"protocol error\"},\n\t{101, \"ETIME\", \"STREAM ioctl timeout\"},\n\t{102, \"EOPNOTSUPP\", \"operation not supported on socket\"},\n\t{103, \"ENOPOLICY\", \"policy not found\"},\n\t{104, \"ENOTRECOVERABLE\", \"state not recoverable\"},\n\t{105, \"EOWNERDEAD\", \"previous owner died\"},\n\t{106, \"EQFULL\", \"interface output queue is full\"},\n}\n\n// Signal table\nvar signalList = [...]struct {\n\tnum  syscall.Signal\n\tname string\n\tdesc string\n}{\n\t{1, \"SIGHUP\", \"hangup\"},\n\t{2, \"SIGINT\", \"interrupt\"},\n\t{3, \"SIGQUIT\", \"quit\"},\n\t{4, \"SIGILL\", \"illegal instruction\"},\n\t{5, \"SIGTRAP\", \"trace/BPT trap\"},\n\t{6, \"SIGABRT\", \"abort trap\"},\n\t{7, \"SIGEMT\", \"EMT trap\"},\n\t{8, \"SIGFPE\", \"floating point exception\"},\n\t{9, \"SIGKILL\", \"killed\"},\n\t{10, \"SIGBUS\", \"bus error\"},\n\t{11, \"SIGSEGV\", \"segmentation fault\"},\n\t{12, \"SIGSYS\", \"bad system call\"},\n\t{13, \"SIGPIPE\", \"broken pipe\"},\n\t{14, \"SIGALRM\", \"alarm clock\"},\n\t{15, \"SIGTERM\", \"terminated\"},\n\t{16, \"SIGURG\", \"urgent I/O condition\"},\n\t{17, \"SIGSTOP\", \"suspended (signal)\"},\n\t{18, \"SIGTSTP\", \"suspended\"},\n\t{19, \"SIGCONT\", \"continued\"},\n\t{20, \"SIGCHLD\", \"child exited\"},\n\t{21, \"SIGTTIN\", \"stopped (tty input)\"},\n\t{22, \"SIGTTOU\", \"stopped (tty output)\"},\n\t{23, \"SIGIO\", \"I/O possible\"},\n\t{24, \"SIGXCPU\", \"cputime limit exceeded\"},\n\t{25, \"SIGXFSZ\", \"filesize limit exceeded\"},\n\t{26, \"SIGVTALRM\", \"virtual timer expired\"},\n\t{27, \"SIGPROF\", \"profiling timer expired\"},\n\t{28, \"SIGWINCH\", \"window size changes\"},\n\t{29, \"SIGINFO\", \"information request\"},\n\t{30, \"SIGUSR1\", \"user defined signal 1\"},\n\t{31, \"SIGUSR2\", \"user defined signal 2\"},\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go",
    "content": "// mkerrors.sh -m64\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,dragonfly\n\n// Code generated by cmd/cgo -godefs; DO NOT EDIT.\n// cgo -godefs -- -m64 _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_APPLETALK                      = 0x10\n\tAF_ATM                            = 0x1e\n\tAF_BLUETOOTH                      = 0x21\n\tAF_CCITT                          = 0xa\n\tAF_CHAOS                          = 0x5\n\tAF_CNT                            = 0x15\n\tAF_COIP                           = 0x14\n\tAF_DATAKIT                        = 0x9\n\tAF_DECnet                         = 0xc\n\tAF_DLI                            = 0xd\n\tAF_E164                           = 0x1a\n\tAF_ECMA                           = 0x8\n\tAF_HYLINK                         = 0xf\n\tAF_IEEE80211                      = 0x23\n\tAF_IMPLINK                        = 0x3\n\tAF_INET                           = 0x2\n\tAF_INET6                          = 0x1c\n\tAF_IPX                            = 0x17\n\tAF_ISDN                           = 0x1a\n\tAF_ISO                            = 0x7\n\tAF_LAT                            = 0xe\n\tAF_LINK                           = 0x12\n\tAF_LOCAL                          = 0x1\n\tAF_MAX                            = 0x24\n\tAF_MPLS                           = 0x22\n\tAF_NATM                           = 0x1d\n\tAF_NETBIOS                        = 0x6\n\tAF_NETGRAPH                       = 0x20\n\tAF_OSI                            = 0x7\n\tAF_PUP                            = 0x4\n\tAF_ROUTE                          = 0x11\n\tAF_SIP                            = 0x18\n\tAF_SNA                            = 0xb\n\tAF_UNIX                           = 0x1\n\tAF_UNSPEC                         = 0x0\n\tALTWERASE                         = 0x200\n\tB0                                = 0x0\n\tB110                              = 0x6e\n\tB115200                           = 0x1c200\n\tB1200                             = 0x4b0\n\tB134                              = 0x86\n\tB14400                            = 0x3840\n\tB150                              = 0x96\n\tB1800                             = 0x708\n\tB19200                            = 0x4b00\n\tB200                              = 0xc8\n\tB230400                           = 0x38400\n\tB2400                             = 0x960\n\tB28800                            = 0x7080\n\tB300                              = 0x12c\n\tB38400                            = 0x9600\n\tB4800                             = 0x12c0\n\tB50                               = 0x32\n\tB57600                            = 0xe100\n\tB600                              = 0x258\n\tB7200                             = 0x1c20\n\tB75                               = 0x4b\n\tB76800                            = 0x12c00\n\tB9600                             = 0x2580\n\tBIOCFLUSH                         = 0x20004268\n\tBIOCGBLEN                         = 0x40044266\n\tBIOCGDLT                          = 0x4004426a\n\tBIOCGDLTLIST                      = 0xc0104279\n\tBIOCGETIF                         = 0x4020426b\n\tBIOCGHDRCMPLT                     = 0x40044274\n\tBIOCGRSIG                         = 0x40044272\n\tBIOCGRTIMEOUT                     = 0x4010426e\n\tBIOCGSEESENT                      = 0x40044276\n\tBIOCGSTATS                        = 0x4008426f\n\tBIOCIMMEDIATE                     = 0x80044270\n\tBIOCLOCK                          = 0x2000427a\n\tBIOCPROMISC                       = 0x20004269\n\tBIOCSBLEN                         = 0xc0044266\n\tBIOCSDLT                          = 0x80044278\n\tBIOCSETF                          = 0x80104267\n\tBIOCSETIF                         = 0x8020426c\n\tBIOCSETWF                         = 0x8010427b\n\tBIOCSHDRCMPLT                     = 0x80044275\n\tBIOCSRSIG                         = 0x80044273\n\tBIOCSRTIMEOUT                     = 0x8010426d\n\tBIOCSSEESENT                      = 0x80044277\n\tBIOCVERSION                       = 0x40044271\n\tBPF_A                             = 0x10\n\tBPF_ABS                           = 0x20\n\tBPF_ADD                           = 0x0\n\tBPF_ALIGNMENT                     = 0x8\n\tBPF_ALU                           = 0x4\n\tBPF_AND                           = 0x50\n\tBPF_B                             = 0x10\n\tBPF_DEFAULTBUFSIZE                = 0x1000\n\tBPF_DIV                           = 0x30\n\tBPF_H                             = 0x8\n\tBPF_IMM                           = 0x0\n\tBPF_IND                           = 0x40\n\tBPF_JA                            = 0x0\n\tBPF_JEQ                           = 0x10\n\tBPF_JGE                           = 0x30\n\tBPF_JGT                           = 0x20\n\tBPF_JMP                           = 0x5\n\tBPF_JSET                          = 0x40\n\tBPF_K                             = 0x0\n\tBPF_LD                            = 0x0\n\tBPF_LDX                           = 0x1\n\tBPF_LEN                           = 0x80\n\tBPF_LSH                           = 0x60\n\tBPF_MAJOR_VERSION                 = 0x1\n\tBPF_MAXBUFSIZE                    = 0x80000\n\tBPF_MAXINSNS                      = 0x200\n\tBPF_MAX_CLONES                    = 0x80\n\tBPF_MEM                           = 0x60\n\tBPF_MEMWORDS                      = 0x10\n\tBPF_MINBUFSIZE                    = 0x20\n\tBPF_MINOR_VERSION                 = 0x1\n\tBPF_MISC                          = 0x7\n\tBPF_MSH                           = 0xa0\n\tBPF_MUL                           = 0x20\n\tBPF_NEG                           = 0x80\n\tBPF_OR                            = 0x40\n\tBPF_RELEASE                       = 0x30bb6\n\tBPF_RET                           = 0x6\n\tBPF_RSH                           = 0x70\n\tBPF_ST                            = 0x2\n\tBPF_STX                           = 0x3\n\tBPF_SUB                           = 0x10\n\tBPF_TAX                           = 0x0\n\tBPF_TXA                           = 0x80\n\tBPF_W                             = 0x0\n\tBPF_X                             = 0x8\n\tBRKINT                            = 0x2\n\tCFLUSH                            = 0xf\n\tCLOCAL                            = 0x8000\n\tCLOCK_MONOTONIC                   = 0x4\n\tCLOCK_MONOTONIC_FAST              = 0xc\n\tCLOCK_MONOTONIC_PRECISE           = 0xb\n\tCLOCK_PROCESS_CPUTIME_ID          = 0xf\n\tCLOCK_PROF                        = 0x2\n\tCLOCK_REALTIME                    = 0x0\n\tCLOCK_REALTIME_FAST               = 0xa\n\tCLOCK_REALTIME_PRECISE            = 0x9\n\tCLOCK_SECOND                      = 0xd\n\tCLOCK_THREAD_CPUTIME_ID           = 0xe\n\tCLOCK_UPTIME                      = 0x5\n\tCLOCK_UPTIME_FAST                 = 0x8\n\tCLOCK_UPTIME_PRECISE              = 0x7\n\tCLOCK_VIRTUAL                     = 0x1\n\tCREAD                             = 0x800\n\tCRTSCTS                           = 0x30000\n\tCS5                               = 0x0\n\tCS6                               = 0x100\n\tCS7                               = 0x200\n\tCS8                               = 0x300\n\tCSIZE                             = 0x300\n\tCSTART                            = 0x11\n\tCSTATUS                           = 0x14\n\tCSTOP                             = 0x13\n\tCSTOPB                            = 0x400\n\tCSUSP                             = 0x1a\n\tCTL_HW                            = 0x6\n\tCTL_KERN                          = 0x1\n\tCTL_MAXNAME                       = 0xc\n\tCTL_NET                           = 0x4\n\tDLT_A429                          = 0xb8\n\tDLT_A653_ICM                      = 0xb9\n\tDLT_AIRONET_HEADER                = 0x78\n\tDLT_APPLE_IP_OVER_IEEE1394        = 0x8a\n\tDLT_ARCNET                        = 0x7\n\tDLT_ARCNET_LINUX                  = 0x81\n\tDLT_ATM_CLIP                      = 0x13\n\tDLT_ATM_RFC1483                   = 0xb\n\tDLT_AURORA                        = 0x7e\n\tDLT_AX25                          = 0x3\n\tDLT_AX25_KISS                     = 0xca\n\tDLT_BACNET_MS_TP                  = 0xa5\n\tDLT_BLUETOOTH_HCI_H4              = 0xbb\n\tDLT_BLUETOOTH_HCI_H4_WITH_PHDR    = 0xc9\n\tDLT_CAN20B                        = 0xbe\n\tDLT_CHAOS                         = 0x5\n\tDLT_CHDLC                         = 0x68\n\tDLT_CISCO_IOS                     = 0x76\n\tDLT_C_HDLC                        = 0x68\n\tDLT_C_HDLC_WITH_DIR               = 0xcd\n\tDLT_DOCSIS                        = 0x8f\n\tDLT_ECONET                        = 0x73\n\tDLT_EN10MB                        = 0x1\n\tDLT_EN3MB                         = 0x2\n\tDLT_ENC                           = 0x6d\n\tDLT_ERF                           = 0xc5\n\tDLT_ERF_ETH                       = 0xaf\n\tDLT_ERF_POS                       = 0xb0\n\tDLT_FDDI                          = 0xa\n\tDLT_FLEXRAY                       = 0xd2\n\tDLT_FRELAY                        = 0x6b\n\tDLT_FRELAY_WITH_DIR               = 0xce\n\tDLT_GCOM_SERIAL                   = 0xad\n\tDLT_GCOM_T1E1                     = 0xac\n\tDLT_GPF_F                         = 0xab\n\tDLT_GPF_T                         = 0xaa\n\tDLT_GPRS_LLC                      = 0xa9\n\tDLT_HHDLC                         = 0x79\n\tDLT_IBM_SN                        = 0x92\n\tDLT_IBM_SP                        = 0x91\n\tDLT_IEEE802                       = 0x6\n\tDLT_IEEE802_11                    = 0x69\n\tDLT_IEEE802_11_RADIO              = 0x7f\n\tDLT_IEEE802_11_RADIO_AVS          = 0xa3\n\tDLT_IEEE802_15_4                  = 0xc3\n\tDLT_IEEE802_15_4_LINUX            = 0xbf\n\tDLT_IEEE802_15_4_NONASK_PHY       = 0xd7\n\tDLT_IEEE802_16_MAC_CPS            = 0xbc\n\tDLT_IEEE802_16_MAC_CPS_RADIO      = 0xc1\n\tDLT_IPFILTER                      = 0x74\n\tDLT_IPMB                          = 0xc7\n\tDLT_IPMB_LINUX                    = 0xd1\n\tDLT_IP_OVER_FC                    = 0x7a\n\tDLT_JUNIPER_ATM1                  = 0x89\n\tDLT_JUNIPER_ATM2                  = 0x87\n\tDLT_JUNIPER_CHDLC                 = 0xb5\n\tDLT_JUNIPER_ES                    = 0x84\n\tDLT_JUNIPER_ETHER                 = 0xb2\n\tDLT_JUNIPER_FRELAY                = 0xb4\n\tDLT_JUNIPER_GGSN                  = 0x85\n\tDLT_JUNIPER_ISM                   = 0xc2\n\tDLT_JUNIPER_MFR                   = 0x86\n\tDLT_JUNIPER_MLFR                  = 0x83\n\tDLT_JUNIPER_MLPPP                 = 0x82\n\tDLT_JUNIPER_MONITOR               = 0xa4\n\tDLT_JUNIPER_PIC_PEER              = 0xae\n\tDLT_JUNIPER_PPP                   = 0xb3\n\tDLT_JUNIPER_PPPOE                 = 0xa7\n\tDLT_JUNIPER_PPPOE_ATM             = 0xa8\n\tDLT_JUNIPER_SERVICES              = 0x88\n\tDLT_JUNIPER_ST                    = 0xc8\n\tDLT_JUNIPER_VP                    = 0xb7\n\tDLT_LAPB_WITH_DIR                 = 0xcf\n\tDLT_LAPD                          = 0xcb\n\tDLT_LIN                           = 0xd4\n\tDLT_LINUX_IRDA                    = 0x90\n\tDLT_LINUX_LAPD                    = 0xb1\n\tDLT_LINUX_SLL                     = 0x71\n\tDLT_LOOP                          = 0x6c\n\tDLT_LTALK                         = 0x72\n\tDLT_MFR                           = 0xb6\n\tDLT_MOST                          = 0xd3\n\tDLT_MTP2                          = 0x8c\n\tDLT_MTP2_WITH_PHDR                = 0x8b\n\tDLT_MTP3                          = 0x8d\n\tDLT_NULL                          = 0x0\n\tDLT_PCI_EXP                       = 0x7d\n\tDLT_PFLOG                         = 0x75\n\tDLT_PFSYNC                        = 0x12\n\tDLT_PPI                           = 0xc0\n\tDLT_PPP                           = 0x9\n\tDLT_PPP_BSDOS                     = 0x10\n\tDLT_PPP_ETHER                     = 0x33\n\tDLT_PPP_PPPD                      = 0xa6\n\tDLT_PPP_SERIAL                    = 0x32\n\tDLT_PPP_WITH_DIR                  = 0xcc\n\tDLT_PRISM_HEADER                  = 0x77\n\tDLT_PRONET                        = 0x4\n\tDLT_RAIF1                         = 0xc6\n\tDLT_RAW                           = 0xc\n\tDLT_REDBACK_SMARTEDGE             = 0x20\n\tDLT_RIO                           = 0x7c\n\tDLT_SCCP                          = 0x8e\n\tDLT_SITA                          = 0xc4\n\tDLT_SLIP                          = 0x8\n\tDLT_SLIP_BSDOS                    = 0xf\n\tDLT_SUNATM                        = 0x7b\n\tDLT_SYMANTEC_FIREWALL             = 0x63\n\tDLT_TZSP                          = 0x80\n\tDLT_USB                           = 0xba\n\tDLT_USB_LINUX                     = 0xbd\n\tDLT_X2E_SERIAL                    = 0xd5\n\tDLT_X2E_XORAYA                    = 0xd6\n\tDT_BLK                            = 0x6\n\tDT_CHR                            = 0x2\n\tDT_DBF                            = 0xf\n\tDT_DIR                            = 0x4\n\tDT_FIFO                           = 0x1\n\tDT_LNK                            = 0xa\n\tDT_REG                            = 0x8\n\tDT_SOCK                           = 0xc\n\tDT_UNKNOWN                        = 0x0\n\tDT_WHT                            = 0xe\n\tECHO                              = 0x8\n\tECHOCTL                           = 0x40\n\tECHOE                             = 0x2\n\tECHOK                             = 0x4\n\tECHOKE                            = 0x1\n\tECHONL                            = 0x10\n\tECHOPRT                           = 0x20\n\tEVFILT_AIO                        = -0x3\n\tEVFILT_EXCEPT                     = -0x8\n\tEVFILT_FS                         = -0xa\n\tEVFILT_MARKER                     = 0xf\n\tEVFILT_PROC                       = -0x5\n\tEVFILT_READ                       = -0x1\n\tEVFILT_SIGNAL                     = -0x6\n\tEVFILT_SYSCOUNT                   = 0xa\n\tEVFILT_TIMER                      = -0x7\n\tEVFILT_USER                       = -0x9\n\tEVFILT_VNODE                      = -0x4\n\tEVFILT_WRITE                      = -0x2\n\tEV_ADD                            = 0x1\n\tEV_CLEAR                          = 0x20\n\tEV_DELETE                         = 0x2\n\tEV_DISABLE                        = 0x8\n\tEV_DISPATCH                       = 0x80\n\tEV_ENABLE                         = 0x4\n\tEV_EOF                            = 0x8000\n\tEV_ERROR                          = 0x4000\n\tEV_FLAG1                          = 0x2000\n\tEV_NODATA                         = 0x1000\n\tEV_ONESHOT                        = 0x10\n\tEV_RECEIPT                        = 0x40\n\tEV_SYSFLAGS                       = 0xf000\n\tEXTA                              = 0x4b00\n\tEXTB                              = 0x9600\n\tEXTEXIT_LWP                       = 0x10000\n\tEXTEXIT_PROC                      = 0x0\n\tEXTEXIT_SETINT                    = 0x1\n\tEXTEXIT_SIMPLE                    = 0x0\n\tEXTPROC                           = 0x800\n\tFD_CLOEXEC                        = 0x1\n\tFD_SETSIZE                        = 0x400\n\tFLUSHO                            = 0x800000\n\tF_DUP2FD                          = 0xa\n\tF_DUP2FD_CLOEXEC                  = 0x12\n\tF_DUPFD                           = 0x0\n\tF_DUPFD_CLOEXEC                   = 0x11\n\tF_GETFD                           = 0x1\n\tF_GETFL                           = 0x3\n\tF_GETLK                           = 0x7\n\tF_GETOWN                          = 0x5\n\tF_OK                              = 0x0\n\tF_RDLCK                           = 0x1\n\tF_SETFD                           = 0x2\n\tF_SETFL                           = 0x4\n\tF_SETLK                           = 0x8\n\tF_SETLKW                          = 0x9\n\tF_SETOWN                          = 0x6\n\tF_UNLCK                           = 0x2\n\tF_WRLCK                           = 0x3\n\tHUPCL                             = 0x4000\n\tHW_MACHINE                        = 0x1\n\tICANON                            = 0x100\n\tICMP6_FILTER                      = 0x12\n\tICRNL                             = 0x100\n\tIEXTEN                            = 0x400\n\tIFAN_ARRIVAL                      = 0x0\n\tIFAN_DEPARTURE                    = 0x1\n\tIFF_ALLMULTI                      = 0x200\n\tIFF_ALTPHYS                       = 0x4000\n\tIFF_BROADCAST                     = 0x2\n\tIFF_CANTCHANGE                    = 0x118e72\n\tIFF_DEBUG                         = 0x4\n\tIFF_LINK0                         = 0x1000\n\tIFF_LINK1                         = 0x2000\n\tIFF_LINK2                         = 0x4000\n\tIFF_LOOPBACK                      = 0x8\n\tIFF_MONITOR                       = 0x40000\n\tIFF_MULTICAST                     = 0x8000\n\tIFF_NOARP                         = 0x80\n\tIFF_NPOLLING                      = 0x100000\n\tIFF_OACTIVE                       = 0x400\n\tIFF_OACTIVE_COMPAT                = 0x400\n\tIFF_POINTOPOINT                   = 0x10\n\tIFF_POLLING                       = 0x10000\n\tIFF_POLLING_COMPAT                = 0x10000\n\tIFF_PPROMISC                      = 0x20000\n\tIFF_PROMISC                       = 0x100\n\tIFF_RUNNING                       = 0x40\n\tIFF_SIMPLEX                       = 0x800\n\tIFF_SMART                         = 0x20\n\tIFF_STATICARP                     = 0x80000\n\tIFF_UP                            = 0x1\n\tIFNAMSIZ                          = 0x10\n\tIFT_1822                          = 0x2\n\tIFT_A12MPPSWITCH                  = 0x82\n\tIFT_AAL2                          = 0xbb\n\tIFT_AAL5                          = 0x31\n\tIFT_ADSL                          = 0x5e\n\tIFT_AFLANE8023                    = 0x3b\n\tIFT_AFLANE8025                    = 0x3c\n\tIFT_ARAP                          = 0x58\n\tIFT_ARCNET                        = 0x23\n\tIFT_ARCNETPLUS                    = 0x24\n\tIFT_ASYNC                         = 0x54\n\tIFT_ATM                           = 0x25\n\tIFT_ATMDXI                        = 0x69\n\tIFT_ATMFUNI                       = 0x6a\n\tIFT_ATMIMA                        = 0x6b\n\tIFT_ATMLOGICAL                    = 0x50\n\tIFT_ATMRADIO                      = 0xbd\n\tIFT_ATMSUBINTERFACE               = 0x86\n\tIFT_ATMVCIENDPT                   = 0xc2\n\tIFT_ATMVIRTUAL                    = 0x95\n\tIFT_BGPPOLICYACCOUNTING           = 0xa2\n\tIFT_BRIDGE                        = 0xd1\n\tIFT_BSC                           = 0x53\n\tIFT_CARP                          = 0xf8\n\tIFT_CCTEMUL                       = 0x3d\n\tIFT_CEPT                          = 0x13\n\tIFT_CES                           = 0x85\n\tIFT_CHANNEL                       = 0x46\n\tIFT_CNR                           = 0x55\n\tIFT_COFFEE                        = 0x84\n\tIFT_COMPOSITELINK                 = 0x9b\n\tIFT_DCN                           = 0x8d\n\tIFT_DIGITALPOWERLINE              = 0x8a\n\tIFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba\n\tIFT_DLSW                          = 0x4a\n\tIFT_DOCSCABLEDOWNSTREAM           = 0x80\n\tIFT_DOCSCABLEMACLAYER             = 0x7f\n\tIFT_DOCSCABLEUPSTREAM             = 0x81\n\tIFT_DS0                           = 0x51\n\tIFT_DS0BUNDLE                     = 0x52\n\tIFT_DS1FDL                        = 0xaa\n\tIFT_DS3                           = 0x1e\n\tIFT_DTM                           = 0x8c\n\tIFT_DVBASILN                      = 0xac\n\tIFT_DVBASIOUT                     = 0xad\n\tIFT_DVBRCCDOWNSTREAM              = 0x93\n\tIFT_DVBRCCMACLAYER                = 0x92\n\tIFT_DVBRCCUPSTREAM                = 0x94\n\tIFT_ENC                           = 0xf4\n\tIFT_EON                           = 0x19\n\tIFT_EPLRS                         = 0x57\n\tIFT_ESCON                         = 0x49\n\tIFT_ETHER                         = 0x6\n\tIFT_FAITH                         = 0xf2\n\tIFT_FAST                          = 0x7d\n\tIFT_FASTETHER                     = 0x3e\n\tIFT_FASTETHERFX                   = 0x45\n\tIFT_FDDI                          = 0xf\n\tIFT_FIBRECHANNEL                  = 0x38\n\tIFT_FRAMERELAYINTERCONNECT        = 0x3a\n\tIFT_FRAMERELAYMPI                 = 0x5c\n\tIFT_FRDLCIENDPT                   = 0xc1\n\tIFT_FRELAY                        = 0x20\n\tIFT_FRELAYDCE                     = 0x2c\n\tIFT_FRF16MFRBUNDLE                = 0xa3\n\tIFT_FRFORWARD                     = 0x9e\n\tIFT_G703AT2MB                     = 0x43\n\tIFT_G703AT64K                     = 0x42\n\tIFT_GIF                           = 0xf0\n\tIFT_GIGABITETHERNET               = 0x75\n\tIFT_GR303IDT                      = 0xb2\n\tIFT_GR303RDT                      = 0xb1\n\tIFT_H323GATEKEEPER                = 0xa4\n\tIFT_H323PROXY                     = 0xa5\n\tIFT_HDH1822                       = 0x3\n\tIFT_HDLC                          = 0x76\n\tIFT_HDSL2                         = 0xa8\n\tIFT_HIPERLAN2                     = 0xb7\n\tIFT_HIPPI                         = 0x2f\n\tIFT_HIPPIINTERFACE                = 0x39\n\tIFT_HOSTPAD                       = 0x5a\n\tIFT_HSSI                          = 0x2e\n\tIFT_HY                            = 0xe\n\tIFT_IBM370PARCHAN                 = 0x48\n\tIFT_IDSL                          = 0x9a\n\tIFT_IEEE1394                      = 0x90\n\tIFT_IEEE80211                     = 0x47\n\tIFT_IEEE80212                     = 0x37\n\tIFT_IEEE8023ADLAG                 = 0xa1\n\tIFT_IFGSN                         = 0x91\n\tIFT_IMT                           = 0xbe\n\tIFT_INTERLEAVE                    = 0x7c\n\tIFT_IP                            = 0x7e\n\tIFT_IPFORWARD                     = 0x8e\n\tIFT_IPOVERATM                     = 0x72\n\tIFT_IPOVERCDLC                    = 0x6d\n\tIFT_IPOVERCLAW                    = 0x6e\n\tIFT_IPSWITCH                      = 0x4e\n\tIFT_ISDN                          = 0x3f\n\tIFT_ISDNBASIC                     = 0x14\n\tIFT_ISDNPRIMARY                   = 0x15\n\tIFT_ISDNS                         = 0x4b\n\tIFT_ISDNU                         = 0x4c\n\tIFT_ISO88022LLC                   = 0x29\n\tIFT_ISO88023                      = 0x7\n\tIFT_ISO88024                      = 0x8\n\tIFT_ISO88025                      = 0x9\n\tIFT_ISO88025CRFPINT               = 0x62\n\tIFT_ISO88025DTR                   = 0x56\n\tIFT_ISO88025FIBER                 = 0x73\n\tIFT_ISO88026                      = 0xa\n\tIFT_ISUP                          = 0xb3\n\tIFT_L2VLAN                        = 0x87\n\tIFT_L3IPVLAN                      = 0x88\n\tIFT_L3IPXVLAN                     = 0x89\n\tIFT_LAPB                          = 0x10\n\tIFT_LAPD                          = 0x4d\n\tIFT_LAPF                          = 0x77\n\tIFT_LOCALTALK                     = 0x2a\n\tIFT_LOOP                          = 0x18\n\tIFT_MEDIAMAILOVERIP               = 0x8b\n\tIFT_MFSIGLINK                     = 0xa7\n\tIFT_MIOX25                        = 0x26\n\tIFT_MODEM                         = 0x30\n\tIFT_MPC                           = 0x71\n\tIFT_MPLS                          = 0xa6\n\tIFT_MPLSTUNNEL                    = 0x96\n\tIFT_MSDSL                         = 0x8f\n\tIFT_MVL                           = 0xbf\n\tIFT_MYRINET                       = 0x63\n\tIFT_NFAS                          = 0xaf\n\tIFT_NSIP                          = 0x1b\n\tIFT_OPTICALCHANNEL                = 0xc3\n\tIFT_OPTICALTRANSPORT              = 0xc4\n\tIFT_OTHER                         = 0x1\n\tIFT_P10                           = 0xc\n\tIFT_P80                           = 0xd\n\tIFT_PARA                          = 0x22\n\tIFT_PFLOG                         = 0xf5\n\tIFT_PFSYNC                        = 0xf6\n\tIFT_PLC                           = 0xae\n\tIFT_POS                           = 0xab\n\tIFT_PPP                           = 0x17\n\tIFT_PPPMULTILINKBUNDLE            = 0x6c\n\tIFT_PROPBWAP2MP                   = 0xb8\n\tIFT_PROPCNLS                      = 0x59\n\tIFT_PROPDOCSWIRELESSDOWNSTREAM    = 0xb5\n\tIFT_PROPDOCSWIRELESSMACLAYER      = 0xb4\n\tIFT_PROPDOCSWIRELESSUPSTREAM      = 0xb6\n\tIFT_PROPMUX                       = 0x36\n\tIFT_PROPVIRTUAL                   = 0x35\n\tIFT_PROPWIRELESSP2P               = 0x9d\n\tIFT_PTPSERIAL                     = 0x16\n\tIFT_PVC                           = 0xf1\n\tIFT_QLLC                          = 0x44\n\tIFT_RADIOMAC                      = 0xbc\n\tIFT_RADSL                         = 0x5f\n\tIFT_REACHDSL                      = 0xc0\n\tIFT_RFC1483                       = 0x9f\n\tIFT_RS232                         = 0x21\n\tIFT_RSRB                          = 0x4f\n\tIFT_SDLC                          = 0x11\n\tIFT_SDSL                          = 0x60\n\tIFT_SHDSL                         = 0xa9\n\tIFT_SIP                           = 0x1f\n\tIFT_SLIP                          = 0x1c\n\tIFT_SMDSDXI                       = 0x2b\n\tIFT_SMDSICIP                      = 0x34\n\tIFT_SONET                         = 0x27\n\tIFT_SONETOVERHEADCHANNEL          = 0xb9\n\tIFT_SONETPATH                     = 0x32\n\tIFT_SONETVT                       = 0x33\n\tIFT_SRP                           = 0x97\n\tIFT_SS7SIGLINK                    = 0x9c\n\tIFT_STACKTOSTACK                  = 0x6f\n\tIFT_STARLAN                       = 0xb\n\tIFT_STF                           = 0xf3\n\tIFT_T1                            = 0x12\n\tIFT_TDLC                          = 0x74\n\tIFT_TERMPAD                       = 0x5b\n\tIFT_TR008                         = 0xb0\n\tIFT_TRANSPHDLC                    = 0x7b\n\tIFT_TUNNEL                        = 0x83\n\tIFT_ULTRA                         = 0x1d\n\tIFT_USB                           = 0xa0\n\tIFT_V11                           = 0x40\n\tIFT_V35                           = 0x2d\n\tIFT_V36                           = 0x41\n\tIFT_V37                           = 0x78\n\tIFT_VDSL                          = 0x61\n\tIFT_VIRTUALIPADDRESS              = 0x70\n\tIFT_VOICEEM                       = 0x64\n\tIFT_VOICEENCAP                    = 0x67\n\tIFT_VOICEFXO                      = 0x65\n\tIFT_VOICEFXS                      = 0x66\n\tIFT_VOICEOVERATM                  = 0x98\n\tIFT_VOICEOVERFRAMERELAY           = 0x99\n\tIFT_VOICEOVERIP                   = 0x68\n\tIFT_X213                          = 0x5d\n\tIFT_X25                           = 0x5\n\tIFT_X25DDN                        = 0x4\n\tIFT_X25HUNTGROUP                  = 0x7a\n\tIFT_X25MLP                        = 0x79\n\tIFT_X25PLE                        = 0x28\n\tIFT_XETHER                        = 0x1a\n\tIGNBRK                            = 0x1\n\tIGNCR                             = 0x80\n\tIGNPAR                            = 0x4\n\tIMAXBEL                           = 0x2000\n\tINLCR                             = 0x40\n\tINPCK                             = 0x10\n\tIN_CLASSA_HOST                    = 0xffffff\n\tIN_CLASSA_MAX                     = 0x80\n\tIN_CLASSA_NET                     = 0xff000000\n\tIN_CLASSA_NSHIFT                  = 0x18\n\tIN_CLASSB_HOST                    = 0xffff\n\tIN_CLASSB_MAX                     = 0x10000\n\tIN_CLASSB_NET                     = 0xffff0000\n\tIN_CLASSB_NSHIFT                  = 0x10\n\tIN_CLASSC_HOST                    = 0xff\n\tIN_CLASSC_NET                     = 0xffffff00\n\tIN_CLASSC_NSHIFT                  = 0x8\n\tIN_CLASSD_HOST                    = 0xfffffff\n\tIN_CLASSD_NET                     = 0xf0000000\n\tIN_CLASSD_NSHIFT                  = 0x1c\n\tIN_LOOPBACKNET                    = 0x7f\n\tIPPROTO_3PC                       = 0x22\n\tIPPROTO_ADFS                      = 0x44\n\tIPPROTO_AH                        = 0x33\n\tIPPROTO_AHIP                      = 0x3d\n\tIPPROTO_APES                      = 0x63\n\tIPPROTO_ARGUS                     = 0xd\n\tIPPROTO_AX25                      = 0x5d\n\tIPPROTO_BHA                       = 0x31\n\tIPPROTO_BLT                       = 0x1e\n\tIPPROTO_BRSATMON                  = 0x4c\n\tIPPROTO_CARP                      = 0x70\n\tIPPROTO_CFTP                      = 0x3e\n\tIPPROTO_CHAOS                     = 0x10\n\tIPPROTO_CMTP                      = 0x26\n\tIPPROTO_CPHB                      = 0x49\n\tIPPROTO_CPNX                      = 0x48\n\tIPPROTO_DDP                       = 0x25\n\tIPPROTO_DGP                       = 0x56\n\tIPPROTO_DIVERT                    = 0xfe\n\tIPPROTO_DONE                      = 0x101\n\tIPPROTO_DSTOPTS                   = 0x3c\n\tIPPROTO_EGP                       = 0x8\n\tIPPROTO_EMCON                     = 0xe\n\tIPPROTO_ENCAP                     = 0x62\n\tIPPROTO_EON                       = 0x50\n\tIPPROTO_ESP                       = 0x32\n\tIPPROTO_ETHERIP                   = 0x61\n\tIPPROTO_FRAGMENT                  = 0x2c\n\tIPPROTO_GGP                       = 0x3\n\tIPPROTO_GMTP                      = 0x64\n\tIPPROTO_GRE                       = 0x2f\n\tIPPROTO_HELLO                     = 0x3f\n\tIPPROTO_HMP                       = 0x14\n\tIPPROTO_HOPOPTS                   = 0x0\n\tIPPROTO_ICMP                      = 0x1\n\tIPPROTO_ICMPV6                    = 0x3a\n\tIPPROTO_IDP                       = 0x16\n\tIPPROTO_IDPR                      = 0x23\n\tIPPROTO_IDRP                      = 0x2d\n\tIPPROTO_IGMP                      = 0x2\n\tIPPROTO_IGP                       = 0x55\n\tIPPROTO_IGRP                      = 0x58\n\tIPPROTO_IL                        = 0x28\n\tIPPROTO_INLSP                     = 0x34\n\tIPPROTO_INP                       = 0x20\n\tIPPROTO_IP                        = 0x0\n\tIPPROTO_IPCOMP                    = 0x6c\n\tIPPROTO_IPCV                      = 0x47\n\tIPPROTO_IPEIP                     = 0x5e\n\tIPPROTO_IPIP                      = 0x4\n\tIPPROTO_IPPC                      = 0x43\n\tIPPROTO_IPV4                      = 0x4\n\tIPPROTO_IPV6                      = 0x29\n\tIPPROTO_IRTP                      = 0x1c\n\tIPPROTO_KRYPTOLAN                 = 0x41\n\tIPPROTO_LARP                      = 0x5b\n\tIPPROTO_LEAF1                     = 0x19\n\tIPPROTO_LEAF2                     = 0x1a\n\tIPPROTO_MAX                       = 0x100\n\tIPPROTO_MAXID                     = 0x34\n\tIPPROTO_MEAS                      = 0x13\n\tIPPROTO_MHRP                      = 0x30\n\tIPPROTO_MICP                      = 0x5f\n\tIPPROTO_MOBILE                    = 0x37\n\tIPPROTO_MTP                       = 0x5c\n\tIPPROTO_MUX                       = 0x12\n\tIPPROTO_ND                        = 0x4d\n\tIPPROTO_NHRP                      = 0x36\n\tIPPROTO_NONE                      = 0x3b\n\tIPPROTO_NSP                       = 0x1f\n\tIPPROTO_NVPII                     = 0xb\n\tIPPROTO_OSPFIGP                   = 0x59\n\tIPPROTO_PFSYNC                    = 0xf0\n\tIPPROTO_PGM                       = 0x71\n\tIPPROTO_PIGP                      = 0x9\n\tIPPROTO_PIM                       = 0x67\n\tIPPROTO_PRM                       = 0x15\n\tIPPROTO_PUP                       = 0xc\n\tIPPROTO_PVP                       = 0x4b\n\tIPPROTO_RAW                       = 0xff\n\tIPPROTO_RCCMON                    = 0xa\n\tIPPROTO_RDP                       = 0x1b\n\tIPPROTO_ROUTING                   = 0x2b\n\tIPPROTO_RSVP                      = 0x2e\n\tIPPROTO_RVD                       = 0x42\n\tIPPROTO_SATEXPAK                  = 0x40\n\tIPPROTO_SATMON                    = 0x45\n\tIPPROTO_SCCSP                     = 0x60\n\tIPPROTO_SDRP                      = 0x2a\n\tIPPROTO_SEP                       = 0x21\n\tIPPROTO_SKIP                      = 0x39\n\tIPPROTO_SRPC                      = 0x5a\n\tIPPROTO_ST                        = 0x7\n\tIPPROTO_SVMTP                     = 0x52\n\tIPPROTO_SWIPE                     = 0x35\n\tIPPROTO_TCF                       = 0x57\n\tIPPROTO_TCP                       = 0x6\n\tIPPROTO_TLSP                      = 0x38\n\tIPPROTO_TP                        = 0x1d\n\tIPPROTO_TPXX                      = 0x27\n\tIPPROTO_TRUNK1                    = 0x17\n\tIPPROTO_TRUNK2                    = 0x18\n\tIPPROTO_TTP                       = 0x54\n\tIPPROTO_UDP                       = 0x11\n\tIPPROTO_UNKNOWN                   = 0x102\n\tIPPROTO_VINES                     = 0x53\n\tIPPROTO_VISA                      = 0x46\n\tIPPROTO_VMTP                      = 0x51\n\tIPPROTO_WBEXPAK                   = 0x4f\n\tIPPROTO_WBMON                     = 0x4e\n\tIPPROTO_WSN                       = 0x4a\n\tIPPROTO_XNET                      = 0xf\n\tIPPROTO_XTP                       = 0x24\n\tIPV6_AUTOFLOWLABEL                = 0x3b\n\tIPV6_BINDV6ONLY                   = 0x1b\n\tIPV6_CHECKSUM                     = 0x1a\n\tIPV6_DEFAULT_MULTICAST_HOPS       = 0x1\n\tIPV6_DEFAULT_MULTICAST_LOOP       = 0x1\n\tIPV6_DEFHLIM                      = 0x40\n\tIPV6_DONTFRAG                     = 0x3e\n\tIPV6_DSTOPTS                      = 0x32\n\tIPV6_FAITH                        = 0x1d\n\tIPV6_FLOWINFO_MASK                = 0xffffff0f\n\tIPV6_FLOWLABEL_MASK               = 0xffff0f00\n\tIPV6_FRAGTTL                      = 0x78\n\tIPV6_FW_ADD                       = 0x1e\n\tIPV6_FW_DEL                       = 0x1f\n\tIPV6_FW_FLUSH                     = 0x20\n\tIPV6_FW_GET                       = 0x22\n\tIPV6_FW_ZERO                      = 0x21\n\tIPV6_HLIMDEC                      = 0x1\n\tIPV6_HOPLIMIT                     = 0x2f\n\tIPV6_HOPOPTS                      = 0x31\n\tIPV6_IPSEC_POLICY                 = 0x1c\n\tIPV6_JOIN_GROUP                   = 0xc\n\tIPV6_LEAVE_GROUP                  = 0xd\n\tIPV6_MAXHLIM                      = 0xff\n\tIPV6_MAXPACKET                    = 0xffff\n\tIPV6_MINHLIM                      = 0x28\n\tIPV6_MMTU                         = 0x500\n\tIPV6_MSFILTER                     = 0x4a\n\tIPV6_MULTICAST_HOPS               = 0xa\n\tIPV6_MULTICAST_IF                 = 0x9\n\tIPV6_MULTICAST_LOOP               = 0xb\n\tIPV6_NEXTHOP                      = 0x30\n\tIPV6_PATHMTU                      = 0x2c\n\tIPV6_PKTINFO                      = 0x2e\n\tIPV6_PKTOPTIONS                   = 0x34\n\tIPV6_PORTRANGE                    = 0xe\n\tIPV6_PORTRANGE_DEFAULT            = 0x0\n\tIPV6_PORTRANGE_HIGH               = 0x1\n\tIPV6_PORTRANGE_LOW                = 0x2\n\tIPV6_PREFER_TEMPADDR              = 0x3f\n\tIPV6_RECVDSTOPTS                  = 0x28\n\tIPV6_RECVHOPLIMIT                 = 0x25\n\tIPV6_RECVHOPOPTS                  = 0x27\n\tIPV6_RECVPATHMTU                  = 0x2b\n\tIPV6_RECVPKTINFO                  = 0x24\n\tIPV6_RECVRTHDR                    = 0x26\n\tIPV6_RECVTCLASS                   = 0x39\n\tIPV6_RTHDR                        = 0x33\n\tIPV6_RTHDRDSTOPTS                 = 0x23\n\tIPV6_RTHDR_LOOSE                  = 0x0\n\tIPV6_RTHDR_STRICT                 = 0x1\n\tIPV6_RTHDR_TYPE_0                 = 0x0\n\tIPV6_SOCKOPT_RESERVED1            = 0x3\n\tIPV6_TCLASS                       = 0x3d\n\tIPV6_UNICAST_HOPS                 = 0x4\n\tIPV6_USE_MIN_MTU                  = 0x2a\n\tIPV6_V6ONLY                       = 0x1b\n\tIPV6_VERSION                      = 0x60\n\tIPV6_VERSION_MASK                 = 0xf0\n\tIP_ADD_MEMBERSHIP                 = 0xc\n\tIP_DEFAULT_MULTICAST_LOOP         = 0x1\n\tIP_DEFAULT_MULTICAST_TTL          = 0x1\n\tIP_DF                             = 0x4000\n\tIP_DROP_MEMBERSHIP                = 0xd\n\tIP_DUMMYNET_CONFIGURE             = 0x3c\n\tIP_DUMMYNET_DEL                   = 0x3d\n\tIP_DUMMYNET_FLUSH                 = 0x3e\n\tIP_DUMMYNET_GET                   = 0x40\n\tIP_FAITH                          = 0x16\n\tIP_FW_ADD                         = 0x32\n\tIP_FW_DEL                         = 0x33\n\tIP_FW_FLUSH                       = 0x34\n\tIP_FW_GET                         = 0x36\n\tIP_FW_RESETLOG                    = 0x37\n\tIP_FW_X                           = 0x31\n\tIP_FW_ZERO                        = 0x35\n\tIP_HDRINCL                        = 0x2\n\tIP_IPSEC_POLICY                   = 0x15\n\tIP_MAXPACKET                      = 0xffff\n\tIP_MAX_MEMBERSHIPS                = 0x14\n\tIP_MF                             = 0x2000\n\tIP_MINTTL                         = 0x42\n\tIP_MSS                            = 0x240\n\tIP_MULTICAST_IF                   = 0x9\n\tIP_MULTICAST_LOOP                 = 0xb\n\tIP_MULTICAST_TTL                  = 0xa\n\tIP_MULTICAST_VIF                  = 0xe\n\tIP_OFFMASK                        = 0x1fff\n\tIP_OPTIONS                        = 0x1\n\tIP_PORTRANGE                      = 0x13\n\tIP_PORTRANGE_DEFAULT              = 0x0\n\tIP_PORTRANGE_HIGH                 = 0x1\n\tIP_PORTRANGE_LOW                  = 0x2\n\tIP_RECVDSTADDR                    = 0x7\n\tIP_RECVIF                         = 0x14\n\tIP_RECVOPTS                       = 0x5\n\tIP_RECVRETOPTS                    = 0x6\n\tIP_RECVTTL                        = 0x41\n\tIP_RETOPTS                        = 0x8\n\tIP_RF                             = 0x8000\n\tIP_RSVP_OFF                       = 0x10\n\tIP_RSVP_ON                        = 0xf\n\tIP_RSVP_VIF_OFF                   = 0x12\n\tIP_RSVP_VIF_ON                    = 0x11\n\tIP_TOS                            = 0x3\n\tIP_TTL                            = 0x4\n\tISIG                              = 0x80\n\tISTRIP                            = 0x20\n\tIXANY                             = 0x800\n\tIXOFF                             = 0x400\n\tIXON                              = 0x200\n\tKERN_HOSTNAME                     = 0xa\n\tKERN_OSRELEASE                    = 0x2\n\tKERN_OSTYPE                       = 0x1\n\tKERN_VERSION                      = 0x4\n\tLOCK_EX                           = 0x2\n\tLOCK_NB                           = 0x4\n\tLOCK_SH                           = 0x1\n\tLOCK_UN                           = 0x8\n\tMADV_AUTOSYNC                     = 0x7\n\tMADV_CONTROL_END                  = 0xb\n\tMADV_CONTROL_START                = 0xa\n\tMADV_CORE                         = 0x9\n\tMADV_DONTNEED                     = 0x4\n\tMADV_FREE                         = 0x5\n\tMADV_INVAL                        = 0xa\n\tMADV_NOCORE                       = 0x8\n\tMADV_NORMAL                       = 0x0\n\tMADV_NOSYNC                       = 0x6\n\tMADV_RANDOM                       = 0x1\n\tMADV_SEQUENTIAL                   = 0x2\n\tMADV_SETMAP                       = 0xb\n\tMADV_WILLNEED                     = 0x3\n\tMAP_ANON                          = 0x1000\n\tMAP_ANONYMOUS                     = 0x1000\n\tMAP_COPY                          = 0x2\n\tMAP_FILE                          = 0x0\n\tMAP_FIXED                         = 0x10\n\tMAP_HASSEMAPHORE                  = 0x200\n\tMAP_INHERIT                       = 0x80\n\tMAP_NOCORE                        = 0x20000\n\tMAP_NOEXTEND                      = 0x100\n\tMAP_NORESERVE                     = 0x40\n\tMAP_NOSYNC                        = 0x800\n\tMAP_PRIVATE                       = 0x2\n\tMAP_RENAME                        = 0x20\n\tMAP_SHARED                        = 0x1\n\tMAP_SIZEALIGN                     = 0x40000\n\tMAP_STACK                         = 0x400\n\tMAP_TRYFIXED                      = 0x10000\n\tMAP_VPAGETABLE                    = 0x2000\n\tMCL_CURRENT                       = 0x1\n\tMCL_FUTURE                        = 0x2\n\tMSG_CMSG_CLOEXEC                  = 0x1000\n\tMSG_CTRUNC                        = 0x20\n\tMSG_DONTROUTE                     = 0x4\n\tMSG_DONTWAIT                      = 0x80\n\tMSG_EOF                           = 0x100\n\tMSG_EOR                           = 0x8\n\tMSG_FBLOCKING                     = 0x10000\n\tMSG_FMASK                         = 0xffff0000\n\tMSG_FNONBLOCKING                  = 0x20000\n\tMSG_NOSIGNAL                      = 0x400\n\tMSG_OOB                           = 0x1\n\tMSG_PEEK                          = 0x2\n\tMSG_SYNC                          = 0x800\n\tMSG_TRUNC                         = 0x10\n\tMSG_UNUSED09                      = 0x200\n\tMSG_WAITALL                       = 0x40\n\tMS_ASYNC                          = 0x1\n\tMS_INVALIDATE                     = 0x2\n\tMS_SYNC                           = 0x0\n\tNAME_MAX                          = 0xff\n\tNET_RT_DUMP                       = 0x1\n\tNET_RT_FLAGS                      = 0x2\n\tNET_RT_IFLIST                     = 0x3\n\tNET_RT_MAXID                      = 0x4\n\tNOFLSH                            = 0x80000000\n\tNOKERNINFO                        = 0x2000000\n\tNOTE_ATTRIB                       = 0x8\n\tNOTE_CHILD                        = 0x4\n\tNOTE_DELETE                       = 0x1\n\tNOTE_EXEC                         = 0x20000000\n\tNOTE_EXIT                         = 0x80000000\n\tNOTE_EXTEND                       = 0x4\n\tNOTE_FFAND                        = 0x40000000\n\tNOTE_FFCOPY                       = 0xc0000000\n\tNOTE_FFCTRLMASK                   = 0xc0000000\n\tNOTE_FFLAGSMASK                   = 0xffffff\n\tNOTE_FFNOP                        = 0x0\n\tNOTE_FFOR                         = 0x80000000\n\tNOTE_FORK                         = 0x40000000\n\tNOTE_LINK                         = 0x10\n\tNOTE_LOWAT                        = 0x1\n\tNOTE_OOB                          = 0x2\n\tNOTE_PCTRLMASK                    = 0xf0000000\n\tNOTE_PDATAMASK                    = 0xfffff\n\tNOTE_RENAME                       = 0x20\n\tNOTE_REVOKE                       = 0x40\n\tNOTE_TRACK                        = 0x1\n\tNOTE_TRACKERR                     = 0x2\n\tNOTE_TRIGGER                      = 0x1000000\n\tNOTE_WRITE                        = 0x2\n\tOCRNL                             = 0x10\n\tONLCR                             = 0x2\n\tONLRET                            = 0x40\n\tONOCR                             = 0x20\n\tONOEOT                            = 0x8\n\tOPOST                             = 0x1\n\tOXTABS                            = 0x4\n\tO_ACCMODE                         = 0x3\n\tO_APPEND                          = 0x8\n\tO_ASYNC                           = 0x40\n\tO_CLOEXEC                         = 0x20000\n\tO_CREAT                           = 0x200\n\tO_DIRECT                          = 0x10000\n\tO_DIRECTORY                       = 0x8000000\n\tO_EXCL                            = 0x800\n\tO_EXLOCK                          = 0x20\n\tO_FAPPEND                         = 0x100000\n\tO_FASYNCWRITE                     = 0x800000\n\tO_FBLOCKING                       = 0x40000\n\tO_FMASK                           = 0xfc0000\n\tO_FNONBLOCKING                    = 0x80000\n\tO_FOFFSET                         = 0x200000\n\tO_FSYNC                           = 0x80\n\tO_FSYNCWRITE                      = 0x400000\n\tO_NDELAY                          = 0x4\n\tO_NOCTTY                          = 0x8000\n\tO_NOFOLLOW                        = 0x100\n\tO_NONBLOCK                        = 0x4\n\tO_RDONLY                          = 0x0\n\tO_RDWR                            = 0x2\n\tO_SHLOCK                          = 0x10\n\tO_SYNC                            = 0x80\n\tO_TRUNC                           = 0x400\n\tO_WRONLY                          = 0x1\n\tPARENB                            = 0x1000\n\tPARMRK                            = 0x8\n\tPARODD                            = 0x2000\n\tPENDIN                            = 0x20000000\n\tPRIO_PGRP                         = 0x1\n\tPRIO_PROCESS                      = 0x0\n\tPRIO_USER                         = 0x2\n\tPROT_EXEC                         = 0x4\n\tPROT_NONE                         = 0x0\n\tPROT_READ                         = 0x1\n\tPROT_WRITE                        = 0x2\n\tRLIMIT_AS                         = 0xa\n\tRLIMIT_CORE                       = 0x4\n\tRLIMIT_CPU                        = 0x0\n\tRLIMIT_DATA                       = 0x2\n\tRLIMIT_FSIZE                      = 0x1\n\tRLIMIT_MEMLOCK                    = 0x6\n\tRLIMIT_NOFILE                     = 0x8\n\tRLIMIT_NPROC                      = 0x7\n\tRLIMIT_RSS                        = 0x5\n\tRLIMIT_STACK                      = 0x3\n\tRLIM_INFINITY                     = 0x7fffffffffffffff\n\tRTAX_AUTHOR                       = 0x6\n\tRTAX_BRD                          = 0x7\n\tRTAX_DST                          = 0x0\n\tRTAX_GATEWAY                      = 0x1\n\tRTAX_GENMASK                      = 0x3\n\tRTAX_IFA                          = 0x5\n\tRTAX_IFP                          = 0x4\n\tRTAX_MAX                          = 0xb\n\tRTAX_MPLS1                        = 0x8\n\tRTAX_MPLS2                        = 0x9\n\tRTAX_MPLS3                        = 0xa\n\tRTAX_NETMASK                      = 0x2\n\tRTA_AUTHOR                        = 0x40\n\tRTA_BRD                           = 0x80\n\tRTA_DST                           = 0x1\n\tRTA_GATEWAY                       = 0x2\n\tRTA_GENMASK                       = 0x8\n\tRTA_IFA                           = 0x20\n\tRTA_IFP                           = 0x10\n\tRTA_MPLS1                         = 0x100\n\tRTA_MPLS2                         = 0x200\n\tRTA_MPLS3                         = 0x400\n\tRTA_NETMASK                       = 0x4\n\tRTF_BLACKHOLE                     = 0x1000\n\tRTF_BROADCAST                     = 0x400000\n\tRTF_CLONING                       = 0x100\n\tRTF_DONE                          = 0x40\n\tRTF_DYNAMIC                       = 0x10\n\tRTF_GATEWAY                       = 0x2\n\tRTF_HOST                          = 0x4\n\tRTF_LLINFO                        = 0x400\n\tRTF_LOCAL                         = 0x200000\n\tRTF_MODIFIED                      = 0x20\n\tRTF_MPLSOPS                       = 0x1000000\n\tRTF_MULTICAST                     = 0x800000\n\tRTF_PINNED                        = 0x100000\n\tRTF_PRCLONING                     = 0x10000\n\tRTF_PROTO1                        = 0x8000\n\tRTF_PROTO2                        = 0x4000\n\tRTF_PROTO3                        = 0x40000\n\tRTF_REJECT                        = 0x8\n\tRTF_STATIC                        = 0x800\n\tRTF_UP                            = 0x1\n\tRTF_WASCLONED                     = 0x20000\n\tRTF_XRESOLVE                      = 0x200\n\tRTM_ADD                           = 0x1\n\tRTM_CHANGE                        = 0x3\n\tRTM_DELADDR                       = 0xd\n\tRTM_DELETE                        = 0x2\n\tRTM_DELMADDR                      = 0x10\n\tRTM_GET                           = 0x4\n\tRTM_IEEE80211                     = 0x12\n\tRTM_IFANNOUNCE                    = 0x11\n\tRTM_IFINFO                        = 0xe\n\tRTM_LOCK                          = 0x8\n\tRTM_LOSING                        = 0x5\n\tRTM_MISS                          = 0x7\n\tRTM_NEWADDR                       = 0xc\n\tRTM_NEWMADDR                      = 0xf\n\tRTM_OLDADD                        = 0x9\n\tRTM_OLDDEL                        = 0xa\n\tRTM_REDIRECT                      = 0x6\n\tRTM_RESOLVE                       = 0xb\n\tRTM_RTTUNIT                       = 0xf4240\n\tRTM_VERSION                       = 0x6\n\tRTV_EXPIRE                        = 0x4\n\tRTV_HOPCOUNT                      = 0x2\n\tRTV_IWCAPSEGS                     = 0x400\n\tRTV_IWMAXSEGS                     = 0x200\n\tRTV_MSL                           = 0x100\n\tRTV_MTU                           = 0x1\n\tRTV_RPIPE                         = 0x8\n\tRTV_RTT                           = 0x40\n\tRTV_RTTVAR                        = 0x80\n\tRTV_SPIPE                         = 0x10\n\tRTV_SSTHRESH                      = 0x20\n\tRUSAGE_CHILDREN                   = -0x1\n\tRUSAGE_SELF                       = 0x0\n\tSCM_CREDS                         = 0x3\n\tSCM_RIGHTS                        = 0x1\n\tSCM_TIMESTAMP                     = 0x2\n\tSHUT_RD                           = 0x0\n\tSHUT_RDWR                         = 0x2\n\tSHUT_WR                           = 0x1\n\tSIOCADDMULTI                      = 0x80206931\n\tSIOCADDRT                         = 0x8040720a\n\tSIOCAIFADDR                       = 0x8040691a\n\tSIOCALIFADDR                      = 0x8118691b\n\tSIOCATMARK                        = 0x40047307\n\tSIOCDELMULTI                      = 0x80206932\n\tSIOCDELRT                         = 0x8040720b\n\tSIOCDIFADDR                       = 0x80206919\n\tSIOCDIFPHYADDR                    = 0x80206949\n\tSIOCDLIFADDR                      = 0x8118691d\n\tSIOCGDRVSPEC                      = 0xc028697b\n\tSIOCGETSGCNT                      = 0xc0207210\n\tSIOCGETVIFCNT                     = 0xc028720f\n\tSIOCGHIWAT                        = 0x40047301\n\tSIOCGIFADDR                       = 0xc0206921\n\tSIOCGIFBRDADDR                    = 0xc0206923\n\tSIOCGIFCAP                        = 0xc020691f\n\tSIOCGIFCONF                       = 0xc0106924\n\tSIOCGIFDATA                       = 0xc0206926\n\tSIOCGIFDSTADDR                    = 0xc0206922\n\tSIOCGIFFLAGS                      = 0xc0206911\n\tSIOCGIFGENERIC                    = 0xc020693a\n\tSIOCGIFGMEMB                      = 0xc028698a\n\tSIOCGIFINDEX                      = 0xc0206920\n\tSIOCGIFMEDIA                      = 0xc0306938\n\tSIOCGIFMETRIC                     = 0xc0206917\n\tSIOCGIFMTU                        = 0xc0206933\n\tSIOCGIFNETMASK                    = 0xc0206925\n\tSIOCGIFPDSTADDR                   = 0xc0206948\n\tSIOCGIFPHYS                       = 0xc0206935\n\tSIOCGIFPOLLCPU                    = 0xc020697e\n\tSIOCGIFPSRCADDR                   = 0xc0206947\n\tSIOCGIFSTATUS                     = 0xc331693b\n\tSIOCGIFTSOLEN                     = 0xc0206980\n\tSIOCGLIFADDR                      = 0xc118691c\n\tSIOCGLIFPHYADDR                   = 0xc118694b\n\tSIOCGLOWAT                        = 0x40047303\n\tSIOCGPGRP                         = 0x40047309\n\tSIOCGPRIVATE_0                    = 0xc0206950\n\tSIOCGPRIVATE_1                    = 0xc0206951\n\tSIOCIFCREATE                      = 0xc020697a\n\tSIOCIFCREATE2                     = 0xc020697c\n\tSIOCIFDESTROY                     = 0x80206979\n\tSIOCIFGCLONERS                    = 0xc0106978\n\tSIOCSDRVSPEC                      = 0x8028697b\n\tSIOCSHIWAT                        = 0x80047300\n\tSIOCSIFADDR                       = 0x8020690c\n\tSIOCSIFBRDADDR                    = 0x80206913\n\tSIOCSIFCAP                        = 0x8020691e\n\tSIOCSIFDSTADDR                    = 0x8020690e\n\tSIOCSIFFLAGS                      = 0x80206910\n\tSIOCSIFGENERIC                    = 0x80206939\n\tSIOCSIFLLADDR                     = 0x8020693c\n\tSIOCSIFMEDIA                      = 0xc0206937\n\tSIOCSIFMETRIC                     = 0x80206918\n\tSIOCSIFMTU                        = 0x80206934\n\tSIOCSIFNAME                       = 0x80206928\n\tSIOCSIFNETMASK                    = 0x80206916\n\tSIOCSIFPHYADDR                    = 0x80406946\n\tSIOCSIFPHYS                       = 0x80206936\n\tSIOCSIFPOLLCPU                    = 0x8020697d\n\tSIOCSIFTSOLEN                     = 0x8020697f\n\tSIOCSLIFPHYADDR                   = 0x8118694a\n\tSIOCSLOWAT                        = 0x80047302\n\tSIOCSPGRP                         = 0x80047308\n\tSOCK_CLOEXEC                      = 0x10000000\n\tSOCK_DGRAM                        = 0x2\n\tSOCK_MAXADDRLEN                   = 0xff\n\tSOCK_NONBLOCK                     = 0x20000000\n\tSOCK_RAW                          = 0x3\n\tSOCK_RDM                          = 0x4\n\tSOCK_SEQPACKET                    = 0x5\n\tSOCK_STREAM                       = 0x1\n\tSOL_SOCKET                        = 0xffff\n\tSOMAXCONN                         = 0x80\n\tSO_ACCEPTCONN                     = 0x2\n\tSO_ACCEPTFILTER                   = 0x1000\n\tSO_BROADCAST                      = 0x20\n\tSO_CPUHINT                        = 0x1030\n\tSO_DEBUG                          = 0x1\n\tSO_DONTROUTE                      = 0x10\n\tSO_ERROR                          = 0x1007\n\tSO_KEEPALIVE                      = 0x8\n\tSO_LINGER                         = 0x80\n\tSO_NOSIGPIPE                      = 0x800\n\tSO_OOBINLINE                      = 0x100\n\tSO_RCVBUF                         = 0x1002\n\tSO_RCVLOWAT                       = 0x1004\n\tSO_RCVTIMEO                       = 0x1006\n\tSO_REUSEADDR                      = 0x4\n\tSO_REUSEPORT                      = 0x200\n\tSO_SNDBUF                         = 0x1001\n\tSO_SNDLOWAT                       = 0x1003\n\tSO_SNDSPACE                       = 0x100a\n\tSO_SNDTIMEO                       = 0x1005\n\tSO_TIMESTAMP                      = 0x400\n\tSO_TYPE                           = 0x1008\n\tSO_USELOOPBACK                    = 0x40\n\tS_BLKSIZE                         = 0x200\n\tS_IEXEC                           = 0x40\n\tS_IFBLK                           = 0x6000\n\tS_IFCHR                           = 0x2000\n\tS_IFDB                            = 0x9000\n\tS_IFDIR                           = 0x4000\n\tS_IFIFO                           = 0x1000\n\tS_IFLNK                           = 0xa000\n\tS_IFMT                            = 0xf000\n\tS_IFREG                           = 0x8000\n\tS_IFSOCK                          = 0xc000\n\tS_IFWHT                           = 0xe000\n\tS_IREAD                           = 0x100\n\tS_IRGRP                           = 0x20\n\tS_IROTH                           = 0x4\n\tS_IRUSR                           = 0x100\n\tS_IRWXG                           = 0x38\n\tS_IRWXO                           = 0x7\n\tS_IRWXU                           = 0x1c0\n\tS_ISGID                           = 0x400\n\tS_ISTXT                           = 0x200\n\tS_ISUID                           = 0x800\n\tS_ISVTX                           = 0x200\n\tS_IWGRP                           = 0x10\n\tS_IWOTH                           = 0x2\n\tS_IWRITE                          = 0x80\n\tS_IWUSR                           = 0x80\n\tS_IXGRP                           = 0x8\n\tS_IXOTH                           = 0x1\n\tS_IXUSR                           = 0x40\n\tTCIFLUSH                          = 0x1\n\tTCIOFF                            = 0x3\n\tTCIOFLUSH                         = 0x3\n\tTCION                             = 0x4\n\tTCOFLUSH                          = 0x2\n\tTCOOFF                            = 0x1\n\tTCOON                             = 0x2\n\tTCP_FASTKEEP                      = 0x80\n\tTCP_KEEPCNT                       = 0x400\n\tTCP_KEEPIDLE                      = 0x100\n\tTCP_KEEPINIT                      = 0x20\n\tTCP_KEEPINTVL                     = 0x200\n\tTCP_MAXBURST                      = 0x4\n\tTCP_MAXHLEN                       = 0x3c\n\tTCP_MAXOLEN                       = 0x28\n\tTCP_MAXSEG                        = 0x2\n\tTCP_MAXWIN                        = 0xffff\n\tTCP_MAX_WINSHIFT                  = 0xe\n\tTCP_MINMSS                        = 0x100\n\tTCP_MIN_WINSHIFT                  = 0x5\n\tTCP_MSS                           = 0x200\n\tTCP_NODELAY                       = 0x1\n\tTCP_NOOPT                         = 0x8\n\tTCP_NOPUSH                        = 0x4\n\tTCP_SIGNATURE_ENABLE              = 0x10\n\tTCSAFLUSH                         = 0x2\n\tTIOCCBRK                          = 0x2000747a\n\tTIOCCDTR                          = 0x20007478\n\tTIOCCONS                          = 0x80047462\n\tTIOCDCDTIMESTAMP                  = 0x40107458\n\tTIOCDRAIN                         = 0x2000745e\n\tTIOCEXCL                          = 0x2000740d\n\tTIOCEXT                           = 0x80047460\n\tTIOCFLUSH                         = 0x80047410\n\tTIOCGDRAINWAIT                    = 0x40047456\n\tTIOCGETA                          = 0x402c7413\n\tTIOCGETD                          = 0x4004741a\n\tTIOCGPGRP                         = 0x40047477\n\tTIOCGSID                          = 0x40047463\n\tTIOCGSIZE                         = 0x40087468\n\tTIOCGWINSZ                        = 0x40087468\n\tTIOCISPTMASTER                    = 0x20007455\n\tTIOCMBIC                          = 0x8004746b\n\tTIOCMBIS                          = 0x8004746c\n\tTIOCMGDTRWAIT                     = 0x4004745a\n\tTIOCMGET                          = 0x4004746a\n\tTIOCMODG                          = 0x40047403\n\tTIOCMODS                          = 0x80047404\n\tTIOCMSDTRWAIT                     = 0x8004745b\n\tTIOCMSET                          = 0x8004746d\n\tTIOCM_CAR                         = 0x40\n\tTIOCM_CD                          = 0x40\n\tTIOCM_CTS                         = 0x20\n\tTIOCM_DSR                         = 0x100\n\tTIOCM_DTR                         = 0x2\n\tTIOCM_LE                          = 0x1\n\tTIOCM_RI                          = 0x80\n\tTIOCM_RNG                         = 0x80\n\tTIOCM_RTS                         = 0x4\n\tTIOCM_SR                          = 0x10\n\tTIOCM_ST                          = 0x8\n\tTIOCNOTTY                         = 0x20007471\n\tTIOCNXCL                          = 0x2000740e\n\tTIOCOUTQ                          = 0x40047473\n\tTIOCPKT                           = 0x80047470\n\tTIOCPKT_DATA                      = 0x0\n\tTIOCPKT_DOSTOP                    = 0x20\n\tTIOCPKT_FLUSHREAD                 = 0x1\n\tTIOCPKT_FLUSHWRITE                = 0x2\n\tTIOCPKT_IOCTL                     = 0x40\n\tTIOCPKT_NOSTOP                    = 0x10\n\tTIOCPKT_START                     = 0x8\n\tTIOCPKT_STOP                      = 0x4\n\tTIOCREMOTE                        = 0x80047469\n\tTIOCSBRK                          = 0x2000747b\n\tTIOCSCTTY                         = 0x20007461\n\tTIOCSDRAINWAIT                    = 0x80047457\n\tTIOCSDTR                          = 0x20007479\n\tTIOCSETA                          = 0x802c7414\n\tTIOCSETAF                         = 0x802c7416\n\tTIOCSETAW                         = 0x802c7415\n\tTIOCSETD                          = 0x8004741b\n\tTIOCSIG                           = 0x2000745f\n\tTIOCSPGRP                         = 0x80047476\n\tTIOCSSIZE                         = 0x80087467\n\tTIOCSTART                         = 0x2000746e\n\tTIOCSTAT                          = 0x20007465\n\tTIOCSTI                           = 0x80017472\n\tTIOCSTOP                          = 0x2000746f\n\tTIOCSWINSZ                        = 0x80087467\n\tTIOCTIMESTAMP                     = 0x40107459\n\tTIOCUCNTL                         = 0x80047466\n\tTOSTOP                            = 0x400000\n\tVCHECKPT                          = 0x13\n\tVDISCARD                          = 0xf\n\tVDSUSP                            = 0xb\n\tVEOF                              = 0x0\n\tVEOL                              = 0x1\n\tVEOL2                             = 0x2\n\tVERASE                            = 0x3\n\tVERASE2                           = 0x7\n\tVINTR                             = 0x8\n\tVKILL                             = 0x5\n\tVLNEXT                            = 0xe\n\tVMIN                              = 0x10\n\tVM_BCACHE_SIZE_MAX                = 0x0\n\tVM_SWZONE_SIZE_MAX                = 0x4000000000\n\tVQUIT                             = 0x9\n\tVREPRINT                          = 0x6\n\tVSTART                            = 0xc\n\tVSTATUS                           = 0x12\n\tVSTOP                             = 0xd\n\tVSUSP                             = 0xa\n\tVTIME                             = 0x11\n\tVWERASE                           = 0x4\n\tWCONTINUED                        = 0x4\n\tWCOREFLAG                         = 0x80\n\tWLINUXCLONE                       = 0x80000000\n\tWNOHANG                           = 0x1\n\tWSTOPPED                          = 0x7f\n\tWUNTRACED                         = 0x2\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x30)\n\tEADDRNOTAVAIL   = syscall.Errno(0x31)\n\tEAFNOSUPPORT    = syscall.Errno(0x2f)\n\tEAGAIN          = syscall.Errno(0x23)\n\tEALREADY        = syscall.Errno(0x25)\n\tEASYNC          = syscall.Errno(0x63)\n\tEAUTH           = syscall.Errno(0x50)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADMSG         = syscall.Errno(0x59)\n\tEBADRPC         = syscall.Errno(0x48)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x55)\n\tECHILD          = syscall.Errno(0xa)\n\tECONNABORTED    = syscall.Errno(0x35)\n\tECONNREFUSED    = syscall.Errno(0x3d)\n\tECONNRESET      = syscall.Errno(0x36)\n\tEDEADLK         = syscall.Errno(0xb)\n\tEDESTADDRREQ    = syscall.Errno(0x27)\n\tEDOM            = syscall.Errno(0x21)\n\tEDOOFUS         = syscall.Errno(0x58)\n\tEDQUOT          = syscall.Errno(0x45)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEFTYPE          = syscall.Errno(0x4f)\n\tEHOSTDOWN       = syscall.Errno(0x40)\n\tEHOSTUNREACH    = syscall.Errno(0x41)\n\tEIDRM           = syscall.Errno(0x52)\n\tEILSEQ          = syscall.Errno(0x56)\n\tEINPROGRESS     = syscall.Errno(0x24)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x38)\n\tEISDIR          = syscall.Errno(0x15)\n\tELAST           = syscall.Errno(0x63)\n\tELOOP           = syscall.Errno(0x3e)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x28)\n\tEMULTIHOP       = syscall.Errno(0x5a)\n\tENAMETOOLONG    = syscall.Errno(0x3f)\n\tENEEDAUTH       = syscall.Errno(0x51)\n\tENETDOWN        = syscall.Errno(0x32)\n\tENETRESET       = syscall.Errno(0x34)\n\tENETUNREACH     = syscall.Errno(0x33)\n\tENFILE          = syscall.Errno(0x17)\n\tENOATTR         = syscall.Errno(0x57)\n\tENOBUFS         = syscall.Errno(0x37)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOLCK          = syscall.Errno(0x4d)\n\tENOLINK         = syscall.Errno(0x5b)\n\tENOMEDIUM       = syscall.Errno(0x5d)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x53)\n\tENOPROTOOPT     = syscall.Errno(0x2a)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSYS          = syscall.Errno(0x4e)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x39)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x42)\n\tENOTSOCK        = syscall.Errno(0x26)\n\tENOTSUP         = syscall.Errno(0x2d)\n\tENOTTY          = syscall.Errno(0x19)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x2d)\n\tEOVERFLOW       = syscall.Errno(0x54)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x2e)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROCLIM        = syscall.Errno(0x43)\n\tEPROCUNAVAIL    = syscall.Errno(0x4c)\n\tEPROGMISMATCH   = syscall.Errno(0x4b)\n\tEPROGUNAVAIL    = syscall.Errno(0x4a)\n\tEPROTO          = syscall.Errno(0x5c)\n\tEPROTONOSUPPORT = syscall.Errno(0x2b)\n\tEPROTOTYPE      = syscall.Errno(0x29)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMOTE         = syscall.Errno(0x47)\n\tEROFS           = syscall.Errno(0x1e)\n\tERPCMISMATCH    = syscall.Errno(0x49)\n\tESHUTDOWN       = syscall.Errno(0x3a)\n\tESOCKTNOSUPPORT = syscall.Errno(0x2c)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESTALE          = syscall.Errno(0x46)\n\tETIMEDOUT       = syscall.Errno(0x3c)\n\tETOOMANYREFS    = syscall.Errno(0x3b)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUNUSED94       = syscall.Errno(0x5e)\n\tEUNUSED95       = syscall.Errno(0x5f)\n\tEUNUSED96       = syscall.Errno(0x60)\n\tEUNUSED97       = syscall.Errno(0x61)\n\tEUNUSED98       = syscall.Errno(0x62)\n\tEUSERS          = syscall.Errno(0x44)\n\tEWOULDBLOCK     = syscall.Errno(0x23)\n\tEXDEV           = syscall.Errno(0x12)\n)\n\n// Signals\nconst (\n\tSIGABRT     = syscall.Signal(0x6)\n\tSIGALRM     = syscall.Signal(0xe)\n\tSIGBUS      = syscall.Signal(0xa)\n\tSIGCHLD     = syscall.Signal(0x14)\n\tSIGCKPT     = syscall.Signal(0x21)\n\tSIGCKPTEXIT = syscall.Signal(0x22)\n\tSIGCONT     = syscall.Signal(0x13)\n\tSIGEMT      = syscall.Signal(0x7)\n\tSIGFPE      = syscall.Signal(0x8)\n\tSIGHUP      = syscall.Signal(0x1)\n\tSIGILL      = syscall.Signal(0x4)\n\tSIGINFO     = syscall.Signal(0x1d)\n\tSIGINT      = syscall.Signal(0x2)\n\tSIGIO       = syscall.Signal(0x17)\n\tSIGIOT      = syscall.Signal(0x6)\n\tSIGKILL     = syscall.Signal(0x9)\n\tSIGPIPE     = syscall.Signal(0xd)\n\tSIGPROF     = syscall.Signal(0x1b)\n\tSIGQUIT     = syscall.Signal(0x3)\n\tSIGSEGV     = syscall.Signal(0xb)\n\tSIGSTOP     = syscall.Signal(0x11)\n\tSIGSYS      = syscall.Signal(0xc)\n\tSIGTERM     = syscall.Signal(0xf)\n\tSIGTHR      = syscall.Signal(0x20)\n\tSIGTRAP     = syscall.Signal(0x5)\n\tSIGTSTP     = syscall.Signal(0x12)\n\tSIGTTIN     = syscall.Signal(0x15)\n\tSIGTTOU     = syscall.Signal(0x16)\n\tSIGURG      = syscall.Signal(0x10)\n\tSIGUSR1     = syscall.Signal(0x1e)\n\tSIGUSR2     = syscall.Signal(0x1f)\n\tSIGVTALRM   = syscall.Signal(0x1a)\n\tSIGWINCH    = syscall.Signal(0x1c)\n\tSIGXCPU     = syscall.Signal(0x18)\n\tSIGXFSZ     = syscall.Signal(0x19)\n)\n\n// Error table\nvar errorList = [...]struct {\n\tnum  syscall.Errno\n\tname string\n\tdesc string\n}{\n\t{1, \"EPERM\", \"operation not permitted\"},\n\t{2, \"ENOENT\", \"no such file or directory\"},\n\t{3, \"ESRCH\", \"no such process\"},\n\t{4, \"EINTR\", \"interrupted system call\"},\n\t{5, \"EIO\", \"input/output error\"},\n\t{6, \"ENXIO\", \"device not configured\"},\n\t{7, \"E2BIG\", \"argument list too long\"},\n\t{8, \"ENOEXEC\", \"exec format error\"},\n\t{9, \"EBADF\", \"bad file descriptor\"},\n\t{10, \"ECHILD\", \"no child processes\"},\n\t{11, \"EDEADLK\", \"resource deadlock avoided\"},\n\t{12, \"ENOMEM\", \"cannot allocate memory\"},\n\t{13, \"EACCES\", \"permission denied\"},\n\t{14, \"EFAULT\", \"bad address\"},\n\t{15, \"ENOTBLK\", \"block device required\"},\n\t{16, \"EBUSY\", \"device busy\"},\n\t{17, \"EEXIST\", \"file exists\"},\n\t{18, \"EXDEV\", \"cross-device link\"},\n\t{19, \"ENODEV\", \"operation not supported by device\"},\n\t{20, \"ENOTDIR\", \"not a directory\"},\n\t{21, \"EISDIR\", \"is a directory\"},\n\t{22, \"EINVAL\", \"invalid argument\"},\n\t{23, \"ENFILE\", \"too many open files in system\"},\n\t{24, \"EMFILE\", \"too many open files\"},\n\t{25, \"ENOTTY\", \"inappropriate ioctl for device\"},\n\t{26, \"ETXTBSY\", \"text file busy\"},\n\t{27, \"EFBIG\", \"file too large\"},\n\t{28, \"ENOSPC\", \"no space left on device\"},\n\t{29, \"ESPIPE\", \"illegal seek\"},\n\t{30, \"EROFS\", \"read-only file system\"},\n\t{31, \"EMLINK\", \"too many links\"},\n\t{32, \"EPIPE\", \"broken pipe\"},\n\t{33, \"EDOM\", \"numerical argument out of domain\"},\n\t{34, \"ERANGE\", \"result too large\"},\n\t{35, \"EWOULDBLOCK\", \"resource temporarily unavailable\"},\n\t{36, \"EINPROGRESS\", \"operation now in progress\"},\n\t{37, \"EALREADY\", \"operation already in progress\"},\n\t{38, \"ENOTSOCK\", \"socket operation on non-socket\"},\n\t{39, \"EDESTADDRREQ\", \"destination address required\"},\n\t{40, \"EMSGSIZE\", \"message too long\"},\n\t{41, \"EPROTOTYPE\", \"protocol wrong type for socket\"},\n\t{42, \"ENOPROTOOPT\", \"protocol not available\"},\n\t{43, \"EPROTONOSUPPORT\", \"protocol not supported\"},\n\t{44, \"ESOCKTNOSUPPORT\", \"socket type not supported\"},\n\t{45, \"EOPNOTSUPP\", \"operation not supported\"},\n\t{46, \"EPFNOSUPPORT\", \"protocol family not supported\"},\n\t{47, \"EAFNOSUPPORT\", \"address family not supported by protocol family\"},\n\t{48, \"EADDRINUSE\", \"address already in use\"},\n\t{49, \"EADDRNOTAVAIL\", \"can't assign requested address\"},\n\t{50, \"ENETDOWN\", \"network is down\"},\n\t{51, \"ENETUNREACH\", \"network is unreachable\"},\n\t{52, \"ENETRESET\", \"network dropped connection on reset\"},\n\t{53, \"ECONNABORTED\", \"software caused connection abort\"},\n\t{54, \"ECONNRESET\", \"connection reset by peer\"},\n\t{55, \"ENOBUFS\", \"no buffer space available\"},\n\t{56, \"EISCONN\", \"socket is already connected\"},\n\t{57, \"ENOTCONN\", \"socket is not connected\"},\n\t{58, \"ESHUTDOWN\", \"can't send after socket shutdown\"},\n\t{59, \"ETOOMANYREFS\", \"too many references: can't splice\"},\n\t{60, \"ETIMEDOUT\", \"operation timed out\"},\n\t{61, \"ECONNREFUSED\", \"connection refused\"},\n\t{62, \"ELOOP\", \"too many levels of symbolic links\"},\n\t{63, \"ENAMETOOLONG\", \"file name too long\"},\n\t{64, \"EHOSTDOWN\", \"host is down\"},\n\t{65, \"EHOSTUNREACH\", \"no route to host\"},\n\t{66, \"ENOTEMPTY\", \"directory not empty\"},\n\t{67, \"EPROCLIM\", \"too many processes\"},\n\t{68, \"EUSERS\", \"too many users\"},\n\t{69, \"EDQUOT\", \"disc quota exceeded\"},\n\t{70, \"ESTALE\", \"stale NFS file handle\"},\n\t{71, \"EREMOTE\", \"too many levels of remote in path\"},\n\t{72, \"EBADRPC\", \"RPC struct is bad\"},\n\t{73, \"ERPCMISMATCH\", \"RPC version wrong\"},\n\t{74, \"EPROGUNAVAIL\", \"RPC prog. not avail\"},\n\t{75, \"EPROGMISMATCH\", \"program version wrong\"},\n\t{76, \"EPROCUNAVAIL\", \"bad procedure for program\"},\n\t{77, \"ENOLCK\", \"no locks available\"},\n\t{78, \"ENOSYS\", \"function not implemented\"},\n\t{79, \"EFTYPE\", \"inappropriate file type or format\"},\n\t{80, \"EAUTH\", \"authentication error\"},\n\t{81, \"ENEEDAUTH\", \"need authenticator\"},\n\t{82, \"EIDRM\", \"identifier removed\"},\n\t{83, \"ENOMSG\", \"no message of desired type\"},\n\t{84, \"EOVERFLOW\", \"value too large to be stored in data type\"},\n\t{85, \"ECANCELED\", \"operation canceled\"},\n\t{86, \"EILSEQ\", \"illegal byte sequence\"},\n\t{87, \"ENOATTR\", \"attribute not found\"},\n\t{88, \"EDOOFUS\", \"programming error\"},\n\t{89, \"EBADMSG\", \"bad message\"},\n\t{90, \"EMULTIHOP\", \"multihop attempted\"},\n\t{91, \"ENOLINK\", \"link has been severed\"},\n\t{92, \"EPROTO\", \"protocol error\"},\n\t{93, \"ENOMEDIUM\", \"no medium found\"},\n\t{94, \"EUNUSED94\", \"unknown error: 94\"},\n\t{95, \"EUNUSED95\", \"unknown error: 95\"},\n\t{96, \"EUNUSED96\", \"unknown error: 96\"},\n\t{97, \"EUNUSED97\", \"unknown error: 97\"},\n\t{98, \"EUNUSED98\", \"unknown error: 98\"},\n\t{99, \"ELAST\", \"unknown error: 99\"},\n}\n\n// Signal table\nvar signalList = [...]struct {\n\tnum  syscall.Signal\n\tname string\n\tdesc string\n}{\n\t{1, \"SIGHUP\", \"hangup\"},\n\t{2, \"SIGINT\", \"interrupt\"},\n\t{3, \"SIGQUIT\", \"quit\"},\n\t{4, \"SIGILL\", \"illegal instruction\"},\n\t{5, \"SIGTRAP\", \"trace/BPT trap\"},\n\t{6, \"SIGIOT\", \"abort trap\"},\n\t{7, \"SIGEMT\", \"EMT trap\"},\n\t{8, \"SIGFPE\", \"floating point exception\"},\n\t{9, \"SIGKILL\", \"killed\"},\n\t{10, \"SIGBUS\", \"bus error\"},\n\t{11, \"SIGSEGV\", \"segmentation fault\"},\n\t{12, \"SIGSYS\", \"bad system call\"},\n\t{13, \"SIGPIPE\", \"broken pipe\"},\n\t{14, \"SIGALRM\", \"alarm clock\"},\n\t{15, \"SIGTERM\", \"terminated\"},\n\t{16, \"SIGURG\", \"urgent I/O condition\"},\n\t{17, \"SIGSTOP\", \"suspended (signal)\"},\n\t{18, \"SIGTSTP\", \"suspended\"},\n\t{19, \"SIGCONT\", \"continued\"},\n\t{20, \"SIGCHLD\", \"child exited\"},\n\t{21, \"SIGTTIN\", \"stopped (tty input)\"},\n\t{22, \"SIGTTOU\", \"stopped (tty output)\"},\n\t{23, \"SIGIO\", \"I/O possible\"},\n\t{24, \"SIGXCPU\", \"cputime limit exceeded\"},\n\t{25, \"SIGXFSZ\", \"filesize limit exceeded\"},\n\t{26, \"SIGVTALRM\", \"virtual timer expired\"},\n\t{27, \"SIGPROF\", \"profiling timer expired\"},\n\t{28, \"SIGWINCH\", \"window size changes\"},\n\t{29, \"SIGINFO\", \"information request\"},\n\t{30, \"SIGUSR1\", \"user defined signal 1\"},\n\t{31, \"SIGUSR2\", \"user defined signal 2\"},\n\t{32, \"SIGTHR\", \"thread Scheduler\"},\n\t{33, \"SIGCKPT\", \"checkPoint\"},\n\t{34, \"SIGCKPTEXIT\", \"checkPointExit\"},\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go",
    "content": "// mkerrors.sh -m32\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build 386,freebsd\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -m32 _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_APPLETALK                   = 0x10\n\tAF_ARP                         = 0x23\n\tAF_ATM                         = 0x1e\n\tAF_BLUETOOTH                   = 0x24\n\tAF_CCITT                       = 0xa\n\tAF_CHAOS                       = 0x5\n\tAF_CNT                         = 0x15\n\tAF_COIP                        = 0x14\n\tAF_DATAKIT                     = 0x9\n\tAF_DECnet                      = 0xc\n\tAF_DLI                         = 0xd\n\tAF_E164                        = 0x1a\n\tAF_ECMA                        = 0x8\n\tAF_HYLINK                      = 0xf\n\tAF_IEEE80211                   = 0x25\n\tAF_IMPLINK                     = 0x3\n\tAF_INET                        = 0x2\n\tAF_INET6                       = 0x1c\n\tAF_INET6_SDP                   = 0x2a\n\tAF_INET_SDP                    = 0x28\n\tAF_IPX                         = 0x17\n\tAF_ISDN                        = 0x1a\n\tAF_ISO                         = 0x7\n\tAF_LAT                         = 0xe\n\tAF_LINK                        = 0x12\n\tAF_LOCAL                       = 0x1\n\tAF_MAX                         = 0x2a\n\tAF_NATM                        = 0x1d\n\tAF_NETBIOS                     = 0x6\n\tAF_NETGRAPH                    = 0x20\n\tAF_OSI                         = 0x7\n\tAF_PUP                         = 0x4\n\tAF_ROUTE                       = 0x11\n\tAF_SCLUSTER                    = 0x22\n\tAF_SIP                         = 0x18\n\tAF_SLOW                        = 0x21\n\tAF_SNA                         = 0xb\n\tAF_UNIX                        = 0x1\n\tAF_UNSPEC                      = 0x0\n\tAF_VENDOR00                    = 0x27\n\tAF_VENDOR01                    = 0x29\n\tAF_VENDOR02                    = 0x2b\n\tAF_VENDOR03                    = 0x2d\n\tAF_VENDOR04                    = 0x2f\n\tAF_VENDOR05                    = 0x31\n\tAF_VENDOR06                    = 0x33\n\tAF_VENDOR07                    = 0x35\n\tAF_VENDOR08                    = 0x37\n\tAF_VENDOR09                    = 0x39\n\tAF_VENDOR10                    = 0x3b\n\tAF_VENDOR11                    = 0x3d\n\tAF_VENDOR12                    = 0x3f\n\tAF_VENDOR13                    = 0x41\n\tAF_VENDOR14                    = 0x43\n\tAF_VENDOR15                    = 0x45\n\tAF_VENDOR16                    = 0x47\n\tAF_VENDOR17                    = 0x49\n\tAF_VENDOR18                    = 0x4b\n\tAF_VENDOR19                    = 0x4d\n\tAF_VENDOR20                    = 0x4f\n\tAF_VENDOR21                    = 0x51\n\tAF_VENDOR22                    = 0x53\n\tAF_VENDOR23                    = 0x55\n\tAF_VENDOR24                    = 0x57\n\tAF_VENDOR25                    = 0x59\n\tAF_VENDOR26                    = 0x5b\n\tAF_VENDOR27                    = 0x5d\n\tAF_VENDOR28                    = 0x5f\n\tAF_VENDOR29                    = 0x61\n\tAF_VENDOR30                    = 0x63\n\tAF_VENDOR31                    = 0x65\n\tAF_VENDOR32                    = 0x67\n\tAF_VENDOR33                    = 0x69\n\tAF_VENDOR34                    = 0x6b\n\tAF_VENDOR35                    = 0x6d\n\tAF_VENDOR36                    = 0x6f\n\tAF_VENDOR37                    = 0x71\n\tAF_VENDOR38                    = 0x73\n\tAF_VENDOR39                    = 0x75\n\tAF_VENDOR40                    = 0x77\n\tAF_VENDOR41                    = 0x79\n\tAF_VENDOR42                    = 0x7b\n\tAF_VENDOR43                    = 0x7d\n\tAF_VENDOR44                    = 0x7f\n\tAF_VENDOR45                    = 0x81\n\tAF_VENDOR46                    = 0x83\n\tAF_VENDOR47                    = 0x85\n\tALTWERASE                      = 0x200\n\tB0                             = 0x0\n\tB110                           = 0x6e\n\tB115200                        = 0x1c200\n\tB1200                          = 0x4b0\n\tB134                           = 0x86\n\tB14400                         = 0x3840\n\tB150                           = 0x96\n\tB1800                          = 0x708\n\tB19200                         = 0x4b00\n\tB200                           = 0xc8\n\tB230400                        = 0x38400\n\tB2400                          = 0x960\n\tB28800                         = 0x7080\n\tB300                           = 0x12c\n\tB38400                         = 0x9600\n\tB460800                        = 0x70800\n\tB4800                          = 0x12c0\n\tB50                            = 0x32\n\tB57600                         = 0xe100\n\tB600                           = 0x258\n\tB7200                          = 0x1c20\n\tB75                            = 0x4b\n\tB76800                         = 0x12c00\n\tB921600                        = 0xe1000\n\tB9600                          = 0x2580\n\tBIOCFEEDBACK                   = 0x8004427c\n\tBIOCFLUSH                      = 0x20004268\n\tBIOCGBLEN                      = 0x40044266\n\tBIOCGDIRECTION                 = 0x40044276\n\tBIOCGDLT                       = 0x4004426a\n\tBIOCGDLTLIST                   = 0xc0084279\n\tBIOCGETBUFMODE                 = 0x4004427d\n\tBIOCGETIF                      = 0x4020426b\n\tBIOCGETZMAX                    = 0x4004427f\n\tBIOCGHDRCMPLT                  = 0x40044274\n\tBIOCGRSIG                      = 0x40044272\n\tBIOCGRTIMEOUT                  = 0x4008426e\n\tBIOCGSEESENT                   = 0x40044276\n\tBIOCGSTATS                     = 0x4008426f\n\tBIOCGTSTAMP                    = 0x40044283\n\tBIOCIMMEDIATE                  = 0x80044270\n\tBIOCLOCK                       = 0x2000427a\n\tBIOCPROMISC                    = 0x20004269\n\tBIOCROTZBUF                    = 0x400c4280\n\tBIOCSBLEN                      = 0xc0044266\n\tBIOCSDIRECTION                 = 0x80044277\n\tBIOCSDLT                       = 0x80044278\n\tBIOCSETBUFMODE                 = 0x8004427e\n\tBIOCSETF                       = 0x80084267\n\tBIOCSETFNR                     = 0x80084282\n\tBIOCSETIF                      = 0x8020426c\n\tBIOCSETWF                      = 0x8008427b\n\tBIOCSETZBUF                    = 0x800c4281\n\tBIOCSHDRCMPLT                  = 0x80044275\n\tBIOCSRSIG                      = 0x80044273\n\tBIOCSRTIMEOUT                  = 0x8008426d\n\tBIOCSSEESENT                   = 0x80044277\n\tBIOCSTSTAMP                    = 0x80044284\n\tBIOCVERSION                    = 0x40044271\n\tBPF_A                          = 0x10\n\tBPF_ABS                        = 0x20\n\tBPF_ADD                        = 0x0\n\tBPF_ALIGNMENT                  = 0x4\n\tBPF_ALU                        = 0x4\n\tBPF_AND                        = 0x50\n\tBPF_B                          = 0x10\n\tBPF_BUFMODE_BUFFER             = 0x1\n\tBPF_BUFMODE_ZBUF               = 0x2\n\tBPF_DIV                        = 0x30\n\tBPF_H                          = 0x8\n\tBPF_IMM                        = 0x0\n\tBPF_IND                        = 0x40\n\tBPF_JA                         = 0x0\n\tBPF_JEQ                        = 0x10\n\tBPF_JGE                        = 0x30\n\tBPF_JGT                        = 0x20\n\tBPF_JMP                        = 0x5\n\tBPF_JSET                       = 0x40\n\tBPF_K                          = 0x0\n\tBPF_LD                         = 0x0\n\tBPF_LDX                        = 0x1\n\tBPF_LEN                        = 0x80\n\tBPF_LSH                        = 0x60\n\tBPF_MAJOR_VERSION              = 0x1\n\tBPF_MAXBUFSIZE                 = 0x80000\n\tBPF_MAXINSNS                   = 0x200\n\tBPF_MEM                        = 0x60\n\tBPF_MEMWORDS                   = 0x10\n\tBPF_MINBUFSIZE                 = 0x20\n\tBPF_MINOR_VERSION              = 0x1\n\tBPF_MISC                       = 0x7\n\tBPF_MOD                        = 0x90\n\tBPF_MSH                        = 0xa0\n\tBPF_MUL                        = 0x20\n\tBPF_NEG                        = 0x80\n\tBPF_OR                         = 0x40\n\tBPF_RELEASE                    = 0x30bb6\n\tBPF_RET                        = 0x6\n\tBPF_RSH                        = 0x70\n\tBPF_ST                         = 0x2\n\tBPF_STX                        = 0x3\n\tBPF_SUB                        = 0x10\n\tBPF_TAX                        = 0x0\n\tBPF_TXA                        = 0x80\n\tBPF_T_BINTIME                  = 0x2\n\tBPF_T_BINTIME_FAST             = 0x102\n\tBPF_T_BINTIME_MONOTONIC        = 0x202\n\tBPF_T_BINTIME_MONOTONIC_FAST   = 0x302\n\tBPF_T_FAST                     = 0x100\n\tBPF_T_FLAG_MASK                = 0x300\n\tBPF_T_FORMAT_MASK              = 0x3\n\tBPF_T_MICROTIME                = 0x0\n\tBPF_T_MICROTIME_FAST           = 0x100\n\tBPF_T_MICROTIME_MONOTONIC      = 0x200\n\tBPF_T_MICROTIME_MONOTONIC_FAST = 0x300\n\tBPF_T_MONOTONIC                = 0x200\n\tBPF_T_MONOTONIC_FAST           = 0x300\n\tBPF_T_NANOTIME                 = 0x1\n\tBPF_T_NANOTIME_FAST            = 0x101\n\tBPF_T_NANOTIME_MONOTONIC       = 0x201\n\tBPF_T_NANOTIME_MONOTONIC_FAST  = 0x301\n\tBPF_T_NONE                     = 0x3\n\tBPF_T_NORMAL                   = 0x0\n\tBPF_W                          = 0x0\n\tBPF_X                          = 0x8\n\tBPF_XOR                        = 0xa0\n\tBRKINT                         = 0x2\n\tCAP_ACCEPT                     = 0x200000020000000\n\tCAP_ACL_CHECK                  = 0x400000000010000\n\tCAP_ACL_DELETE                 = 0x400000000020000\n\tCAP_ACL_GET                    = 0x400000000040000\n\tCAP_ACL_SET                    = 0x400000000080000\n\tCAP_ALL0                       = 0x20007ffffffffff\n\tCAP_ALL1                       = 0x4000000001fffff\n\tCAP_BIND                       = 0x200000040000000\n\tCAP_BINDAT                     = 0x200008000000400\n\tCAP_CHFLAGSAT                  = 0x200000000001400\n\tCAP_CONNECT                    = 0x200000080000000\n\tCAP_CONNECTAT                  = 0x200010000000400\n\tCAP_CREATE                     = 0x200000000000040\n\tCAP_EVENT                      = 0x400000000000020\n\tCAP_EXTATTR_DELETE             = 0x400000000001000\n\tCAP_EXTATTR_GET                = 0x400000000002000\n\tCAP_EXTATTR_LIST               = 0x400000000004000\n\tCAP_EXTATTR_SET                = 0x400000000008000\n\tCAP_FCHDIR                     = 0x200000000000800\n\tCAP_FCHFLAGS                   = 0x200000000001000\n\tCAP_FCHMOD                     = 0x200000000002000\n\tCAP_FCHMODAT                   = 0x200000000002400\n\tCAP_FCHOWN                     = 0x200000000004000\n\tCAP_FCHOWNAT                   = 0x200000000004400\n\tCAP_FCNTL                      = 0x200000000008000\n\tCAP_FCNTL_ALL                  = 0x78\n\tCAP_FCNTL_GETFL                = 0x8\n\tCAP_FCNTL_GETOWN               = 0x20\n\tCAP_FCNTL_SETFL                = 0x10\n\tCAP_FCNTL_SETOWN               = 0x40\n\tCAP_FEXECVE                    = 0x200000000000080\n\tCAP_FLOCK                      = 0x200000000010000\n\tCAP_FPATHCONF                  = 0x200000000020000\n\tCAP_FSCK                       = 0x200000000040000\n\tCAP_FSTAT                      = 0x200000000080000\n\tCAP_FSTATAT                    = 0x200000000080400\n\tCAP_FSTATFS                    = 0x200000000100000\n\tCAP_FSYNC                      = 0x200000000000100\n\tCAP_FTRUNCATE                  = 0x200000000000200\n\tCAP_FUTIMES                    = 0x200000000200000\n\tCAP_FUTIMESAT                  = 0x200000000200400\n\tCAP_GETPEERNAME                = 0x200000100000000\n\tCAP_GETSOCKNAME                = 0x200000200000000\n\tCAP_GETSOCKOPT                 = 0x200000400000000\n\tCAP_IOCTL                      = 0x400000000000080\n\tCAP_IOCTLS_ALL                 = 0x7fffffff\n\tCAP_KQUEUE                     = 0x400000000100040\n\tCAP_KQUEUE_CHANGE              = 0x400000000100000\n\tCAP_KQUEUE_EVENT               = 0x400000000000040\n\tCAP_LINKAT_SOURCE              = 0x200020000000400\n\tCAP_LINKAT_TARGET              = 0x200000000400400\n\tCAP_LISTEN                     = 0x200000800000000\n\tCAP_LOOKUP                     = 0x200000000000400\n\tCAP_MAC_GET                    = 0x400000000000001\n\tCAP_MAC_SET                    = 0x400000000000002\n\tCAP_MKDIRAT                    = 0x200000000800400\n\tCAP_MKFIFOAT                   = 0x200000001000400\n\tCAP_MKNODAT                    = 0x200000002000400\n\tCAP_MMAP                       = 0x200000000000010\n\tCAP_MMAP_R                     = 0x20000000000001d\n\tCAP_MMAP_RW                    = 0x20000000000001f\n\tCAP_MMAP_RWX                   = 0x20000000000003f\n\tCAP_MMAP_RX                    = 0x20000000000003d\n\tCAP_MMAP_W                     = 0x20000000000001e\n\tCAP_MMAP_WX                    = 0x20000000000003e\n\tCAP_MMAP_X                     = 0x20000000000003c\n\tCAP_PDGETPID                   = 0x400000000000200\n\tCAP_PDKILL                     = 0x400000000000800\n\tCAP_PDWAIT                     = 0x400000000000400\n\tCAP_PEELOFF                    = 0x200001000000000\n\tCAP_POLL_EVENT                 = 0x400000000000020\n\tCAP_PREAD                      = 0x20000000000000d\n\tCAP_PWRITE                     = 0x20000000000000e\n\tCAP_READ                       = 0x200000000000001\n\tCAP_RECV                       = 0x200000000000001\n\tCAP_RENAMEAT_SOURCE            = 0x200000004000400\n\tCAP_RENAMEAT_TARGET            = 0x200040000000400\n\tCAP_RIGHTS_VERSION             = 0x0\n\tCAP_RIGHTS_VERSION_00          = 0x0\n\tCAP_SEEK                       = 0x20000000000000c\n\tCAP_SEEK_TELL                  = 0x200000000000004\n\tCAP_SEM_GETVALUE               = 0x400000000000004\n\tCAP_SEM_POST                   = 0x400000000000008\n\tCAP_SEM_WAIT                   = 0x400000000000010\n\tCAP_SEND                       = 0x200000000000002\n\tCAP_SETSOCKOPT                 = 0x200002000000000\n\tCAP_SHUTDOWN                   = 0x200004000000000\n\tCAP_SOCK_CLIENT                = 0x200007780000003\n\tCAP_SOCK_SERVER                = 0x200007f60000003\n\tCAP_SYMLINKAT                  = 0x200000008000400\n\tCAP_TTYHOOK                    = 0x400000000000100\n\tCAP_UNLINKAT                   = 0x200000010000400\n\tCAP_UNUSED0_44                 = 0x200080000000000\n\tCAP_UNUSED0_57                 = 0x300000000000000\n\tCAP_UNUSED1_22                 = 0x400000000200000\n\tCAP_UNUSED1_57                 = 0x500000000000000\n\tCAP_WRITE                      = 0x200000000000002\n\tCFLUSH                         = 0xf\n\tCLOCAL                         = 0x8000\n\tCLOCK_MONOTONIC                = 0x4\n\tCLOCK_MONOTONIC_FAST           = 0xc\n\tCLOCK_MONOTONIC_PRECISE        = 0xb\n\tCLOCK_PROCESS_CPUTIME_ID       = 0xf\n\tCLOCK_PROF                     = 0x2\n\tCLOCK_REALTIME                 = 0x0\n\tCLOCK_REALTIME_FAST            = 0xa\n\tCLOCK_REALTIME_PRECISE         = 0x9\n\tCLOCK_SECOND                   = 0xd\n\tCLOCK_THREAD_CPUTIME_ID        = 0xe\n\tCLOCK_UPTIME                   = 0x5\n\tCLOCK_UPTIME_FAST              = 0x8\n\tCLOCK_UPTIME_PRECISE           = 0x7\n\tCLOCK_VIRTUAL                  = 0x1\n\tCREAD                          = 0x800\n\tCRTSCTS                        = 0x30000\n\tCS5                            = 0x0\n\tCS6                            = 0x100\n\tCS7                            = 0x200\n\tCS8                            = 0x300\n\tCSIZE                          = 0x300\n\tCSTART                         = 0x11\n\tCSTATUS                        = 0x14\n\tCSTOP                          = 0x13\n\tCSTOPB                         = 0x400\n\tCSUSP                          = 0x1a\n\tCTL_HW                         = 0x6\n\tCTL_KERN                       = 0x1\n\tCTL_MAXNAME                    = 0x18\n\tCTL_NET                        = 0x4\n\tDLT_A429                       = 0xb8\n\tDLT_A653_ICM                   = 0xb9\n\tDLT_AIRONET_HEADER             = 0x78\n\tDLT_AOS                        = 0xde\n\tDLT_APPLE_IP_OVER_IEEE1394     = 0x8a\n\tDLT_ARCNET                     = 0x7\n\tDLT_ARCNET_LINUX               = 0x81\n\tDLT_ATM_CLIP                   = 0x13\n\tDLT_ATM_RFC1483                = 0xb\n\tDLT_AURORA                     = 0x7e\n\tDLT_AX25                       = 0x3\n\tDLT_AX25_KISS                  = 0xca\n\tDLT_BACNET_MS_TP               = 0xa5\n\tDLT_BLUETOOTH_BREDR_BB         = 0xff\n\tDLT_BLUETOOTH_HCI_H4           = 0xbb\n\tDLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9\n\tDLT_BLUETOOTH_LE_LL            = 0xfb\n\tDLT_BLUETOOTH_LE_LL_WITH_PHDR  = 0x100\n\tDLT_BLUETOOTH_LINUX_MONITOR    = 0xfe\n\tDLT_CAN20B                     = 0xbe\n\tDLT_CAN_SOCKETCAN              = 0xe3\n\tDLT_CHAOS                      = 0x5\n\tDLT_CHDLC                      = 0x68\n\tDLT_CISCO_IOS                  = 0x76\n\tDLT_C_HDLC                     = 0x68\n\tDLT_C_HDLC_WITH_DIR            = 0xcd\n\tDLT_DBUS                       = 0xe7\n\tDLT_DECT                       = 0xdd\n\tDLT_DOCSIS                     = 0x8f\n\tDLT_DVB_CI                     = 0xeb\n\tDLT_ECONET                     = 0x73\n\tDLT_EN10MB                     = 0x1\n\tDLT_EN3MB                      = 0x2\n\tDLT_ENC                        = 0x6d\n\tDLT_EPON                       = 0x103\n\tDLT_ERF                        = 0xc5\n\tDLT_ERF_ETH                    = 0xaf\n\tDLT_ERF_POS                    = 0xb0\n\tDLT_FC_2                       = 0xe0\n\tDLT_FC_2_WITH_FRAME_DELIMS     = 0xe1\n\tDLT_FDDI                       = 0xa\n\tDLT_FLEXRAY                    = 0xd2\n\tDLT_FRELAY                     = 0x6b\n\tDLT_FRELAY_WITH_DIR            = 0xce\n\tDLT_GCOM_SERIAL                = 0xad\n\tDLT_GCOM_T1E1                  = 0xac\n\tDLT_GPF_F                      = 0xab\n\tDLT_GPF_T                      = 0xaa\n\tDLT_GPRS_LLC                   = 0xa9\n\tDLT_GSMTAP_ABIS                = 0xda\n\tDLT_GSMTAP_UM                  = 0xd9\n\tDLT_HHDLC                      = 0x79\n\tDLT_IBM_SN                     = 0x92\n\tDLT_IBM_SP                     = 0x91\n\tDLT_IEEE802                    = 0x6\n\tDLT_IEEE802_11                 = 0x69\n\tDLT_IEEE802_11_RADIO           = 0x7f\n\tDLT_IEEE802_11_RADIO_AVS       = 0xa3\n\tDLT_IEEE802_15_4               = 0xc3\n\tDLT_IEEE802_15_4_LINUX         = 0xbf\n\tDLT_IEEE802_15_4_NOFCS         = 0xe6\n\tDLT_IEEE802_15_4_NONASK_PHY    = 0xd7\n\tDLT_IEEE802_16_MAC_CPS         = 0xbc\n\tDLT_IEEE802_16_MAC_CPS_RADIO   = 0xc1\n\tDLT_INFINIBAND                 = 0xf7\n\tDLT_IPFILTER                   = 0x74\n\tDLT_IPMB                       = 0xc7\n\tDLT_IPMB_LINUX                 = 0xd1\n\tDLT_IPMI_HPM_2                 = 0x104\n\tDLT_IPNET                      = 0xe2\n\tDLT_IPOIB                      = 0xf2\n\tDLT_IPV4                       = 0xe4\n\tDLT_IPV6                       = 0xe5\n\tDLT_IP_OVER_FC                 = 0x7a\n\tDLT_JUNIPER_ATM1               = 0x89\n\tDLT_JUNIPER_ATM2               = 0x87\n\tDLT_JUNIPER_ATM_CEMIC          = 0xee\n\tDLT_JUNIPER_CHDLC              = 0xb5\n\tDLT_JUNIPER_ES                 = 0x84\n\tDLT_JUNIPER_ETHER              = 0xb2\n\tDLT_JUNIPER_FIBRECHANNEL       = 0xea\n\tDLT_JUNIPER_FRELAY             = 0xb4\n\tDLT_JUNIPER_GGSN               = 0x85\n\tDLT_JUNIPER_ISM                = 0xc2\n\tDLT_JUNIPER_MFR                = 0x86\n\tDLT_JUNIPER_MLFR               = 0x83\n\tDLT_JUNIPER_MLPPP              = 0x82\n\tDLT_JUNIPER_MONITOR            = 0xa4\n\tDLT_JUNIPER_PIC_PEER           = 0xae\n\tDLT_JUNIPER_PPP                = 0xb3\n\tDLT_JUNIPER_PPPOE              = 0xa7\n\tDLT_JUNIPER_PPPOE_ATM          = 0xa8\n\tDLT_JUNIPER_SERVICES           = 0x88\n\tDLT_JUNIPER_SRX_E2E            = 0xe9\n\tDLT_JUNIPER_ST                 = 0xc8\n\tDLT_JUNIPER_VP                 = 0xb7\n\tDLT_JUNIPER_VS                 = 0xe8\n\tDLT_LAPB_WITH_DIR              = 0xcf\n\tDLT_LAPD                       = 0xcb\n\tDLT_LIN                        = 0xd4\n\tDLT_LINUX_EVDEV                = 0xd8\n\tDLT_LINUX_IRDA                 = 0x90\n\tDLT_LINUX_LAPD                 = 0xb1\n\tDLT_LINUX_PPP_WITHDIRECTION    = 0xa6\n\tDLT_LINUX_SLL                  = 0x71\n\tDLT_LOOP                       = 0x6c\n\tDLT_LTALK                      = 0x72\n\tDLT_MATCHING_MAX               = 0x104\n\tDLT_MATCHING_MIN               = 0x68\n\tDLT_MFR                        = 0xb6\n\tDLT_MOST                       = 0xd3\n\tDLT_MPEG_2_TS                  = 0xf3\n\tDLT_MPLS                       = 0xdb\n\tDLT_MTP2                       = 0x8c\n\tDLT_MTP2_WITH_PHDR             = 0x8b\n\tDLT_MTP3                       = 0x8d\n\tDLT_MUX27010                   = 0xec\n\tDLT_NETANALYZER                = 0xf0\n\tDLT_NETANALYZER_TRANSPARENT    = 0xf1\n\tDLT_NETLINK                    = 0xfd\n\tDLT_NFC_LLCP                   = 0xf5\n\tDLT_NFLOG                      = 0xef\n\tDLT_NG40                       = 0xf4\n\tDLT_NULL                       = 0x0\n\tDLT_PCI_EXP                    = 0x7d\n\tDLT_PFLOG                      = 0x75\n\tDLT_PFSYNC                     = 0x79\n\tDLT_PKTAP                      = 0x102\n\tDLT_PPI                        = 0xc0\n\tDLT_PPP                        = 0x9\n\tDLT_PPP_BSDOS                  = 0x10\n\tDLT_PPP_ETHER                  = 0x33\n\tDLT_PPP_PPPD                   = 0xa6\n\tDLT_PPP_SERIAL                 = 0x32\n\tDLT_PPP_WITH_DIR               = 0xcc\n\tDLT_PPP_WITH_DIRECTION         = 0xa6\n\tDLT_PRISM_HEADER               = 0x77\n\tDLT_PROFIBUS_DL                = 0x101\n\tDLT_PRONET                     = 0x4\n\tDLT_RAIF1                      = 0xc6\n\tDLT_RAW                        = 0xc\n\tDLT_RIO                        = 0x7c\n\tDLT_RTAC_SERIAL                = 0xfa\n\tDLT_SCCP                       = 0x8e\n\tDLT_SCTP                       = 0xf8\n\tDLT_SITA                       = 0xc4\n\tDLT_SLIP                       = 0x8\n\tDLT_SLIP_BSDOS                 = 0xf\n\tDLT_STANAG_5066_D_PDU          = 0xed\n\tDLT_SUNATM                     = 0x7b\n\tDLT_SYMANTEC_FIREWALL          = 0x63\n\tDLT_TZSP                       = 0x80\n\tDLT_USB                        = 0xba\n\tDLT_USBPCAP                    = 0xf9\n\tDLT_USB_LINUX                  = 0xbd\n\tDLT_USB_LINUX_MMAPPED          = 0xdc\n\tDLT_USER0                      = 0x93\n\tDLT_USER1                      = 0x94\n\tDLT_USER10                     = 0x9d\n\tDLT_USER11                     = 0x9e\n\tDLT_USER12                     = 0x9f\n\tDLT_USER13                     = 0xa0\n\tDLT_USER14                     = 0xa1\n\tDLT_USER15                     = 0xa2\n\tDLT_USER2                      = 0x95\n\tDLT_USER3                      = 0x96\n\tDLT_USER4                      = 0x97\n\tDLT_USER5                      = 0x98\n\tDLT_USER6                      = 0x99\n\tDLT_USER7                      = 0x9a\n\tDLT_USER8                      = 0x9b\n\tDLT_USER9                      = 0x9c\n\tDLT_WIHART                     = 0xdf\n\tDLT_WIRESHARK_UPPER_PDU        = 0xfc\n\tDLT_X2E_SERIAL                 = 0xd5\n\tDLT_X2E_XORAYA                 = 0xd6\n\tDT_BLK                         = 0x6\n\tDT_CHR                         = 0x2\n\tDT_DIR                         = 0x4\n\tDT_FIFO                        = 0x1\n\tDT_LNK                         = 0xa\n\tDT_REG                         = 0x8\n\tDT_SOCK                        = 0xc\n\tDT_UNKNOWN                     = 0x0\n\tDT_WHT                         = 0xe\n\tECHO                           = 0x8\n\tECHOCTL                        = 0x40\n\tECHOE                          = 0x2\n\tECHOK                          = 0x4\n\tECHOKE                         = 0x1\n\tECHONL                         = 0x10\n\tECHOPRT                        = 0x20\n\tEVFILT_AIO                     = -0x3\n\tEVFILT_FS                      = -0x9\n\tEVFILT_LIO                     = -0xa\n\tEVFILT_PROC                    = -0x5\n\tEVFILT_PROCDESC                = -0x8\n\tEVFILT_READ                    = -0x1\n\tEVFILT_SENDFILE                = -0xc\n\tEVFILT_SIGNAL                  = -0x6\n\tEVFILT_SYSCOUNT                = 0xc\n\tEVFILT_TIMER                   = -0x7\n\tEVFILT_USER                    = -0xb\n\tEVFILT_VNODE                   = -0x4\n\tEVFILT_WRITE                   = -0x2\n\tEV_ADD                         = 0x1\n\tEV_CLEAR                       = 0x20\n\tEV_DELETE                      = 0x2\n\tEV_DISABLE                     = 0x8\n\tEV_DISPATCH                    = 0x80\n\tEV_DROP                        = 0x1000\n\tEV_ENABLE                      = 0x4\n\tEV_EOF                         = 0x8000\n\tEV_ERROR                       = 0x4000\n\tEV_FLAG1                       = 0x2000\n\tEV_FLAG2                       = 0x4000\n\tEV_FORCEONESHOT                = 0x100\n\tEV_ONESHOT                     = 0x10\n\tEV_RECEIPT                     = 0x40\n\tEV_SYSFLAGS                    = 0xf000\n\tEXTA                           = 0x4b00\n\tEXTATTR_NAMESPACE_EMPTY        = 0x0\n\tEXTATTR_NAMESPACE_SYSTEM       = 0x2\n\tEXTATTR_NAMESPACE_USER         = 0x1\n\tEXTB                           = 0x9600\n\tEXTPROC                        = 0x800\n\tFD_CLOEXEC                     = 0x1\n\tFD_SETSIZE                     = 0x400\n\tFLUSHO                         = 0x800000\n\tF_CANCEL                       = 0x5\n\tF_DUP2FD                       = 0xa\n\tF_DUP2FD_CLOEXEC               = 0x12\n\tF_DUPFD                        = 0x0\n\tF_DUPFD_CLOEXEC                = 0x11\n\tF_GETFD                        = 0x1\n\tF_GETFL                        = 0x3\n\tF_GETLK                        = 0xb\n\tF_GETOWN                       = 0x5\n\tF_OGETLK                       = 0x7\n\tF_OK                           = 0x0\n\tF_OSETLK                       = 0x8\n\tF_OSETLKW                      = 0x9\n\tF_RDAHEAD                      = 0x10\n\tF_RDLCK                        = 0x1\n\tF_READAHEAD                    = 0xf\n\tF_SETFD                        = 0x2\n\tF_SETFL                        = 0x4\n\tF_SETLK                        = 0xc\n\tF_SETLKW                       = 0xd\n\tF_SETLK_REMOTE                 = 0xe\n\tF_SETOWN                       = 0x6\n\tF_UNLCK                        = 0x2\n\tF_UNLCKSYS                     = 0x4\n\tF_WRLCK                        = 0x3\n\tHUPCL                          = 0x4000\n\tHW_MACHINE                     = 0x1\n\tICANON                         = 0x100\n\tICMP6_FILTER                   = 0x12\n\tICRNL                          = 0x100\n\tIEXTEN                         = 0x400\n\tIFAN_ARRIVAL                   = 0x0\n\tIFAN_DEPARTURE                 = 0x1\n\tIFF_ALLMULTI                   = 0x200\n\tIFF_ALTPHYS                    = 0x4000\n\tIFF_BROADCAST                  = 0x2\n\tIFF_CANTCHANGE                 = 0x218f52\n\tIFF_CANTCONFIG                 = 0x10000\n\tIFF_DEBUG                      = 0x4\n\tIFF_DRV_OACTIVE                = 0x400\n\tIFF_DRV_RUNNING                = 0x40\n\tIFF_DYING                      = 0x200000\n\tIFF_LINK0                      = 0x1000\n\tIFF_LINK1                      = 0x2000\n\tIFF_LINK2                      = 0x4000\n\tIFF_LOOPBACK                   = 0x8\n\tIFF_MONITOR                    = 0x40000\n\tIFF_MULTICAST                  = 0x8000\n\tIFF_NOARP                      = 0x80\n\tIFF_OACTIVE                    = 0x400\n\tIFF_POINTOPOINT                = 0x10\n\tIFF_PPROMISC                   = 0x20000\n\tIFF_PROMISC                    = 0x100\n\tIFF_RENAMING                   = 0x400000\n\tIFF_RUNNING                    = 0x40\n\tIFF_SIMPLEX                    = 0x800\n\tIFF_STATICARP                  = 0x80000\n\tIFF_UP                         = 0x1\n\tIFNAMSIZ                       = 0x10\n\tIFT_BRIDGE                     = 0xd1\n\tIFT_CARP                       = 0xf8\n\tIFT_IEEE1394                   = 0x90\n\tIFT_INFINIBAND                 = 0xc7\n\tIFT_L2VLAN                     = 0x87\n\tIFT_L3IPVLAN                   = 0x88\n\tIFT_PPP                        = 0x17\n\tIFT_PROPVIRTUAL                = 0x35\n\tIGNBRK                         = 0x1\n\tIGNCR                          = 0x80\n\tIGNPAR                         = 0x4\n\tIMAXBEL                        = 0x2000\n\tINLCR                          = 0x40\n\tINPCK                          = 0x10\n\tIN_CLASSA_HOST                 = 0xffffff\n\tIN_CLASSA_MAX                  = 0x80\n\tIN_CLASSA_NET                  = 0xff000000\n\tIN_CLASSA_NSHIFT               = 0x18\n\tIN_CLASSB_HOST                 = 0xffff\n\tIN_CLASSB_MAX                  = 0x10000\n\tIN_CLASSB_NET                  = 0xffff0000\n\tIN_CLASSB_NSHIFT               = 0x10\n\tIN_CLASSC_HOST                 = 0xff\n\tIN_CLASSC_NET                  = 0xffffff00\n\tIN_CLASSC_NSHIFT               = 0x8\n\tIN_CLASSD_HOST                 = 0xfffffff\n\tIN_CLASSD_NET                  = 0xf0000000\n\tIN_CLASSD_NSHIFT               = 0x1c\n\tIN_LOOPBACKNET                 = 0x7f\n\tIN_RFC3021_MASK                = 0xfffffffe\n\tIPPROTO_3PC                    = 0x22\n\tIPPROTO_ADFS                   = 0x44\n\tIPPROTO_AH                     = 0x33\n\tIPPROTO_AHIP                   = 0x3d\n\tIPPROTO_APES                   = 0x63\n\tIPPROTO_ARGUS                  = 0xd\n\tIPPROTO_AX25                   = 0x5d\n\tIPPROTO_BHA                    = 0x31\n\tIPPROTO_BLT                    = 0x1e\n\tIPPROTO_BRSATMON               = 0x4c\n\tIPPROTO_CARP                   = 0x70\n\tIPPROTO_CFTP                   = 0x3e\n\tIPPROTO_CHAOS                  = 0x10\n\tIPPROTO_CMTP                   = 0x26\n\tIPPROTO_CPHB                   = 0x49\n\tIPPROTO_CPNX                   = 0x48\n\tIPPROTO_DDP                    = 0x25\n\tIPPROTO_DGP                    = 0x56\n\tIPPROTO_DIVERT                 = 0x102\n\tIPPROTO_DONE                   = 0x101\n\tIPPROTO_DSTOPTS                = 0x3c\n\tIPPROTO_EGP                    = 0x8\n\tIPPROTO_EMCON                  = 0xe\n\tIPPROTO_ENCAP                  = 0x62\n\tIPPROTO_EON                    = 0x50\n\tIPPROTO_ESP                    = 0x32\n\tIPPROTO_ETHERIP                = 0x61\n\tIPPROTO_FRAGMENT               = 0x2c\n\tIPPROTO_GGP                    = 0x3\n\tIPPROTO_GMTP                   = 0x64\n\tIPPROTO_GRE                    = 0x2f\n\tIPPROTO_HELLO                  = 0x3f\n\tIPPROTO_HIP                    = 0x8b\n\tIPPROTO_HMP                    = 0x14\n\tIPPROTO_HOPOPTS                = 0x0\n\tIPPROTO_ICMP                   = 0x1\n\tIPPROTO_ICMPV6                 = 0x3a\n\tIPPROTO_IDP                    = 0x16\n\tIPPROTO_IDPR                   = 0x23\n\tIPPROTO_IDRP                   = 0x2d\n\tIPPROTO_IGMP                   = 0x2\n\tIPPROTO_IGP                    = 0x55\n\tIPPROTO_IGRP                   = 0x58\n\tIPPROTO_IL                     = 0x28\n\tIPPROTO_INLSP                  = 0x34\n\tIPPROTO_INP                    = 0x20\n\tIPPROTO_IP                     = 0x0\n\tIPPROTO_IPCOMP                 = 0x6c\n\tIPPROTO_IPCV                   = 0x47\n\tIPPROTO_IPEIP                  = 0x5e\n\tIPPROTO_IPIP                   = 0x4\n\tIPPROTO_IPPC                   = 0x43\n\tIPPROTO_IPV4                   = 0x4\n\tIPPROTO_IPV6                   = 0x29\n\tIPPROTO_IRTP                   = 0x1c\n\tIPPROTO_KRYPTOLAN              = 0x41\n\tIPPROTO_LARP                   = 0x5b\n\tIPPROTO_LEAF1                  = 0x19\n\tIPPROTO_LEAF2                  = 0x1a\n\tIPPROTO_MAX                    = 0x100\n\tIPPROTO_MEAS                   = 0x13\n\tIPPROTO_MH                     = 0x87\n\tIPPROTO_MHRP                   = 0x30\n\tIPPROTO_MICP                   = 0x5f\n\tIPPROTO_MOBILE                 = 0x37\n\tIPPROTO_MPLS                   = 0x89\n\tIPPROTO_MTP                    = 0x5c\n\tIPPROTO_MUX                    = 0x12\n\tIPPROTO_ND                     = 0x4d\n\tIPPROTO_NHRP                   = 0x36\n\tIPPROTO_NONE                   = 0x3b\n\tIPPROTO_NSP                    = 0x1f\n\tIPPROTO_NVPII                  = 0xb\n\tIPPROTO_OLD_DIVERT             = 0xfe\n\tIPPROTO_OSPFIGP                = 0x59\n\tIPPROTO_PFSYNC                 = 0xf0\n\tIPPROTO_PGM                    = 0x71\n\tIPPROTO_PIGP                   = 0x9\n\tIPPROTO_PIM                    = 0x67\n\tIPPROTO_PRM                    = 0x15\n\tIPPROTO_PUP                    = 0xc\n\tIPPROTO_PVP                    = 0x4b\n\tIPPROTO_RAW                    = 0xff\n\tIPPROTO_RCCMON                 = 0xa\n\tIPPROTO_RDP                    = 0x1b\n\tIPPROTO_RESERVED_253           = 0xfd\n\tIPPROTO_RESERVED_254           = 0xfe\n\tIPPROTO_ROUTING                = 0x2b\n\tIPPROTO_RSVP                   = 0x2e\n\tIPPROTO_RVD                    = 0x42\n\tIPPROTO_SATEXPAK               = 0x40\n\tIPPROTO_SATMON                 = 0x45\n\tIPPROTO_SCCSP                  = 0x60\n\tIPPROTO_SCTP                   = 0x84\n\tIPPROTO_SDRP                   = 0x2a\n\tIPPROTO_SEND                   = 0x103\n\tIPPROTO_SEP                    = 0x21\n\tIPPROTO_SHIM6                  = 0x8c\n\tIPPROTO_SKIP                   = 0x39\n\tIPPROTO_SPACER                 = 0x7fff\n\tIPPROTO_SRPC                   = 0x5a\n\tIPPROTO_ST                     = 0x7\n\tIPPROTO_SVMTP                  = 0x52\n\tIPPROTO_SWIPE                  = 0x35\n\tIPPROTO_TCF                    = 0x57\n\tIPPROTO_TCP                    = 0x6\n\tIPPROTO_TLSP                   = 0x38\n\tIPPROTO_TP                     = 0x1d\n\tIPPROTO_TPXX                   = 0x27\n\tIPPROTO_TRUNK1                 = 0x17\n\tIPPROTO_TRUNK2                 = 0x18\n\tIPPROTO_TTP                    = 0x54\n\tIPPROTO_UDP                    = 0x11\n\tIPPROTO_UDPLITE                = 0x88\n\tIPPROTO_VINES                  = 0x53\n\tIPPROTO_VISA                   = 0x46\n\tIPPROTO_VMTP                   = 0x51\n\tIPPROTO_WBEXPAK                = 0x4f\n\tIPPROTO_WBMON                  = 0x4e\n\tIPPROTO_WSN                    = 0x4a\n\tIPPROTO_XNET                   = 0xf\n\tIPPROTO_XTP                    = 0x24\n\tIPV6_AUTOFLOWLABEL             = 0x3b\n\tIPV6_BINDANY                   = 0x40\n\tIPV6_BINDMULTI                 = 0x41\n\tIPV6_BINDV6ONLY                = 0x1b\n\tIPV6_CHECKSUM                  = 0x1a\n\tIPV6_DEFAULT_MULTICAST_HOPS    = 0x1\n\tIPV6_DEFAULT_MULTICAST_LOOP    = 0x1\n\tIPV6_DEFHLIM                   = 0x40\n\tIPV6_DONTFRAG                  = 0x3e\n\tIPV6_DSTOPTS                   = 0x32\n\tIPV6_FLOWID                    = 0x43\n\tIPV6_FLOWINFO_MASK             = 0xffffff0f\n\tIPV6_FLOWLABEL_MASK            = 0xffff0f00\n\tIPV6_FLOWTYPE                  = 0x44\n\tIPV6_FRAGTTL                   = 0x78\n\tIPV6_FW_ADD                    = 0x1e\n\tIPV6_FW_DEL                    = 0x1f\n\tIPV6_FW_FLUSH                  = 0x20\n\tIPV6_FW_GET                    = 0x22\n\tIPV6_FW_ZERO                   = 0x21\n\tIPV6_HLIMDEC                   = 0x1\n\tIPV6_HOPLIMIT                  = 0x2f\n\tIPV6_HOPOPTS                   = 0x31\n\tIPV6_IPSEC_POLICY              = 0x1c\n\tIPV6_JOIN_GROUP                = 0xc\n\tIPV6_LEAVE_GROUP               = 0xd\n\tIPV6_MAXHLIM                   = 0xff\n\tIPV6_MAXOPTHDR                 = 0x800\n\tIPV6_MAXPACKET                 = 0xffff\n\tIPV6_MAX_GROUP_SRC_FILTER      = 0x200\n\tIPV6_MAX_MEMBERSHIPS           = 0xfff\n\tIPV6_MAX_SOCK_SRC_FILTER       = 0x80\n\tIPV6_MIN_MEMBERSHIPS           = 0x1f\n\tIPV6_MMTU                      = 0x500\n\tIPV6_MSFILTER                  = 0x4a\n\tIPV6_MULTICAST_HOPS            = 0xa\n\tIPV6_MULTICAST_IF              = 0x9\n\tIPV6_MULTICAST_LOOP            = 0xb\n\tIPV6_NEXTHOP                   = 0x30\n\tIPV6_PATHMTU                   = 0x2c\n\tIPV6_PKTINFO                   = 0x2e\n\tIPV6_PORTRANGE                 = 0xe\n\tIPV6_PORTRANGE_DEFAULT         = 0x0\n\tIPV6_PORTRANGE_HIGH            = 0x1\n\tIPV6_PORTRANGE_LOW             = 0x2\n\tIPV6_PREFER_TEMPADDR           = 0x3f\n\tIPV6_RECVDSTOPTS               = 0x28\n\tIPV6_RECVFLOWID                = 0x46\n\tIPV6_RECVHOPLIMIT              = 0x25\n\tIPV6_RECVHOPOPTS               = 0x27\n\tIPV6_RECVPATHMTU               = 0x2b\n\tIPV6_RECVPKTINFO               = 0x24\n\tIPV6_RECVRSSBUCKETID           = 0x47\n\tIPV6_RECVRTHDR                 = 0x26\n\tIPV6_RECVTCLASS                = 0x39\n\tIPV6_RSSBUCKETID               = 0x45\n\tIPV6_RSS_LISTEN_BUCKET         = 0x42\n\tIPV6_RTHDR                     = 0x33\n\tIPV6_RTHDRDSTOPTS              = 0x23\n\tIPV6_RTHDR_LOOSE               = 0x0\n\tIPV6_RTHDR_STRICT              = 0x1\n\tIPV6_RTHDR_TYPE_0              = 0x0\n\tIPV6_SOCKOPT_RESERVED1         = 0x3\n\tIPV6_TCLASS                    = 0x3d\n\tIPV6_UNICAST_HOPS              = 0x4\n\tIPV6_USE_MIN_MTU               = 0x2a\n\tIPV6_V6ONLY                    = 0x1b\n\tIPV6_VERSION                   = 0x60\n\tIPV6_VERSION_MASK              = 0xf0\n\tIP_ADD_MEMBERSHIP              = 0xc\n\tIP_ADD_SOURCE_MEMBERSHIP       = 0x46\n\tIP_BINDANY                     = 0x18\n\tIP_BINDMULTI                   = 0x19\n\tIP_BLOCK_SOURCE                = 0x48\n\tIP_DEFAULT_MULTICAST_LOOP      = 0x1\n\tIP_DEFAULT_MULTICAST_TTL       = 0x1\n\tIP_DF                          = 0x4000\n\tIP_DONTFRAG                    = 0x43\n\tIP_DROP_MEMBERSHIP             = 0xd\n\tIP_DROP_SOURCE_MEMBERSHIP      = 0x47\n\tIP_DUMMYNET3                   = 0x31\n\tIP_DUMMYNET_CONFIGURE          = 0x3c\n\tIP_DUMMYNET_DEL                = 0x3d\n\tIP_DUMMYNET_FLUSH              = 0x3e\n\tIP_DUMMYNET_GET                = 0x40\n\tIP_FLOWID                      = 0x5a\n\tIP_FLOWTYPE                    = 0x5b\n\tIP_FW3                         = 0x30\n\tIP_FW_ADD                      = 0x32\n\tIP_FW_DEL                      = 0x33\n\tIP_FW_FLUSH                    = 0x34\n\tIP_FW_GET                      = 0x36\n\tIP_FW_NAT_CFG                  = 0x38\n\tIP_FW_NAT_DEL                  = 0x39\n\tIP_FW_NAT_GET_CONFIG           = 0x3a\n\tIP_FW_NAT_GET_LOG              = 0x3b\n\tIP_FW_RESETLOG                 = 0x37\n\tIP_FW_TABLE_ADD                = 0x28\n\tIP_FW_TABLE_DEL                = 0x29\n\tIP_FW_TABLE_FLUSH              = 0x2a\n\tIP_FW_TABLE_GETSIZE            = 0x2b\n\tIP_FW_TABLE_LIST               = 0x2c\n\tIP_FW_ZERO                     = 0x35\n\tIP_HDRINCL                     = 0x2\n\tIP_IPSEC_POLICY                = 0x15\n\tIP_MAXPACKET                   = 0xffff\n\tIP_MAX_GROUP_SRC_FILTER        = 0x200\n\tIP_MAX_MEMBERSHIPS             = 0xfff\n\tIP_MAX_SOCK_MUTE_FILTER        = 0x80\n\tIP_MAX_SOCK_SRC_FILTER         = 0x80\n\tIP_MAX_SOURCE_FILTER           = 0x400\n\tIP_MF                          = 0x2000\n\tIP_MINTTL                      = 0x42\n\tIP_MIN_MEMBERSHIPS             = 0x1f\n\tIP_MSFILTER                    = 0x4a\n\tIP_MSS                         = 0x240\n\tIP_MULTICAST_IF                = 0x9\n\tIP_MULTICAST_LOOP              = 0xb\n\tIP_MULTICAST_TTL               = 0xa\n\tIP_MULTICAST_VIF               = 0xe\n\tIP_OFFMASK                     = 0x1fff\n\tIP_ONESBCAST                   = 0x17\n\tIP_OPTIONS                     = 0x1\n\tIP_PORTRANGE                   = 0x13\n\tIP_PORTRANGE_DEFAULT           = 0x0\n\tIP_PORTRANGE_HIGH              = 0x1\n\tIP_PORTRANGE_LOW               = 0x2\n\tIP_RECVDSTADDR                 = 0x7\n\tIP_RECVFLOWID                  = 0x5d\n\tIP_RECVIF                      = 0x14\n\tIP_RECVOPTS                    = 0x5\n\tIP_RECVRETOPTS                 = 0x6\n\tIP_RECVRSSBUCKETID             = 0x5e\n\tIP_RECVTOS                     = 0x44\n\tIP_RECVTTL                     = 0x41\n\tIP_RETOPTS                     = 0x8\n\tIP_RF                          = 0x8000\n\tIP_RSSBUCKETID                 = 0x5c\n\tIP_RSS_LISTEN_BUCKET           = 0x1a\n\tIP_RSVP_OFF                    = 0x10\n\tIP_RSVP_ON                     = 0xf\n\tIP_RSVP_VIF_OFF                = 0x12\n\tIP_RSVP_VIF_ON                 = 0x11\n\tIP_SENDSRCADDR                 = 0x7\n\tIP_TOS                         = 0x3\n\tIP_TTL                         = 0x4\n\tIP_UNBLOCK_SOURCE              = 0x49\n\tISIG                           = 0x80\n\tISTRIP                         = 0x20\n\tIXANY                          = 0x800\n\tIXOFF                          = 0x400\n\tIXON                           = 0x200\n\tKERN_HOSTNAME                  = 0xa\n\tKERN_OSRELEASE                 = 0x2\n\tKERN_OSTYPE                    = 0x1\n\tKERN_VERSION                   = 0x4\n\tLOCK_EX                        = 0x2\n\tLOCK_NB                        = 0x4\n\tLOCK_SH                        = 0x1\n\tLOCK_UN                        = 0x8\n\tMADV_AUTOSYNC                  = 0x7\n\tMADV_CORE                      = 0x9\n\tMADV_DONTNEED                  = 0x4\n\tMADV_FREE                      = 0x5\n\tMADV_NOCORE                    = 0x8\n\tMADV_NORMAL                    = 0x0\n\tMADV_NOSYNC                    = 0x6\n\tMADV_PROTECT                   = 0xa\n\tMADV_RANDOM                    = 0x1\n\tMADV_SEQUENTIAL                = 0x2\n\tMADV_WILLNEED                  = 0x3\n\tMAP_ALIGNED_SUPER              = 0x1000000\n\tMAP_ALIGNMENT_MASK             = -0x1000000\n\tMAP_ALIGNMENT_SHIFT            = 0x18\n\tMAP_ANON                       = 0x1000\n\tMAP_ANONYMOUS                  = 0x1000\n\tMAP_COPY                       = 0x2\n\tMAP_EXCL                       = 0x4000\n\tMAP_FILE                       = 0x0\n\tMAP_FIXED                      = 0x10\n\tMAP_HASSEMAPHORE               = 0x200\n\tMAP_NOCORE                     = 0x20000\n\tMAP_NOSYNC                     = 0x800\n\tMAP_PREFAULT_READ              = 0x40000\n\tMAP_PRIVATE                    = 0x2\n\tMAP_RESERVED0020               = 0x20\n\tMAP_RESERVED0040               = 0x40\n\tMAP_RESERVED0080               = 0x80\n\tMAP_RESERVED0100               = 0x100\n\tMAP_SHARED                     = 0x1\n\tMAP_STACK                      = 0x400\n\tMCL_CURRENT                    = 0x1\n\tMCL_FUTURE                     = 0x2\n\tMNT_ACLS                       = 0x8000000\n\tMNT_ASYNC                      = 0x40\n\tMNT_AUTOMOUNTED                = 0x200000000\n\tMNT_BYFSID                     = 0x8000000\n\tMNT_CMDFLAGS                   = 0xd0f0000\n\tMNT_DEFEXPORTED                = 0x200\n\tMNT_DELEXPORT                  = 0x20000\n\tMNT_EXKERB                     = 0x800\n\tMNT_EXPORTANON                 = 0x400\n\tMNT_EXPORTED                   = 0x100\n\tMNT_EXPUBLIC                   = 0x20000000\n\tMNT_EXRDONLY                   = 0x80\n\tMNT_FORCE                      = 0x80000\n\tMNT_GJOURNAL                   = 0x2000000\n\tMNT_IGNORE                     = 0x800000\n\tMNT_LAZY                       = 0x3\n\tMNT_LOCAL                      = 0x1000\n\tMNT_MULTILABEL                 = 0x4000000\n\tMNT_NFS4ACLS                   = 0x10\n\tMNT_NOATIME                    = 0x10000000\n\tMNT_NOCLUSTERR                 = 0x40000000\n\tMNT_NOCLUSTERW                 = 0x80000000\n\tMNT_NOEXEC                     = 0x4\n\tMNT_NONBUSY                    = 0x4000000\n\tMNT_NOSUID                     = 0x8\n\tMNT_NOSYMFOLLOW                = 0x400000\n\tMNT_NOWAIT                     = 0x2\n\tMNT_QUOTA                      = 0x2000\n\tMNT_RDONLY                     = 0x1\n\tMNT_RELOAD                     = 0x40000\n\tMNT_ROOTFS                     = 0x4000\n\tMNT_SNAPSHOT                   = 0x1000000\n\tMNT_SOFTDEP                    = 0x200000\n\tMNT_SUIDDIR                    = 0x100000\n\tMNT_SUJ                        = 0x100000000\n\tMNT_SUSPEND                    = 0x4\n\tMNT_SYNCHRONOUS                = 0x2\n\tMNT_UNION                      = 0x20\n\tMNT_UPDATE                     = 0x10000\n\tMNT_UPDATEMASK                 = 0x2d8d0807e\n\tMNT_USER                       = 0x8000\n\tMNT_VISFLAGMASK                = 0x3fef0ffff\n\tMNT_WAIT                       = 0x1\n\tMSG_CMSG_CLOEXEC               = 0x40000\n\tMSG_COMPAT                     = 0x8000\n\tMSG_CTRUNC                     = 0x20\n\tMSG_DONTROUTE                  = 0x4\n\tMSG_DONTWAIT                   = 0x80\n\tMSG_EOF                        = 0x100\n\tMSG_EOR                        = 0x8\n\tMSG_NBIO                       = 0x4000\n\tMSG_NOSIGNAL                   = 0x20000\n\tMSG_NOTIFICATION               = 0x2000\n\tMSG_OOB                        = 0x1\n\tMSG_PEEK                       = 0x2\n\tMSG_TRUNC                      = 0x10\n\tMSG_WAITALL                    = 0x40\n\tMSG_WAITFORONE                 = 0x80000\n\tMS_ASYNC                       = 0x1\n\tMS_INVALIDATE                  = 0x2\n\tMS_SYNC                        = 0x0\n\tNAME_MAX                       = 0xff\n\tNET_RT_DUMP                    = 0x1\n\tNET_RT_FLAGS                   = 0x2\n\tNET_RT_IFLIST                  = 0x3\n\tNET_RT_IFLISTL                 = 0x5\n\tNET_RT_IFMALIST                = 0x4\n\tNOFLSH                         = 0x80000000\n\tNOKERNINFO                     = 0x2000000\n\tNOTE_ATTRIB                    = 0x8\n\tNOTE_CHILD                     = 0x4\n\tNOTE_CLOSE                     = 0x100\n\tNOTE_CLOSE_WRITE               = 0x200\n\tNOTE_DELETE                    = 0x1\n\tNOTE_EXEC                      = 0x20000000\n\tNOTE_EXIT                      = 0x80000000\n\tNOTE_EXTEND                    = 0x4\n\tNOTE_FFAND                     = 0x40000000\n\tNOTE_FFCOPY                    = 0xc0000000\n\tNOTE_FFCTRLMASK                = 0xc0000000\n\tNOTE_FFLAGSMASK                = 0xffffff\n\tNOTE_FFNOP                     = 0x0\n\tNOTE_FFOR                      = 0x80000000\n\tNOTE_FILE_POLL                 = 0x2\n\tNOTE_FORK                      = 0x40000000\n\tNOTE_LINK                      = 0x10\n\tNOTE_LOWAT                     = 0x1\n\tNOTE_MSECONDS                  = 0x2\n\tNOTE_NSECONDS                  = 0x8\n\tNOTE_OPEN                      = 0x80\n\tNOTE_PCTRLMASK                 = 0xf0000000\n\tNOTE_PDATAMASK                 = 0xfffff\n\tNOTE_READ                      = 0x400\n\tNOTE_RENAME                    = 0x20\n\tNOTE_REVOKE                    = 0x40\n\tNOTE_SECONDS                   = 0x1\n\tNOTE_TRACK                     = 0x1\n\tNOTE_TRACKERR                  = 0x2\n\tNOTE_TRIGGER                   = 0x1000000\n\tNOTE_USECONDS                  = 0x4\n\tNOTE_WRITE                     = 0x2\n\tOCRNL                          = 0x10\n\tONLCR                          = 0x2\n\tONLRET                         = 0x40\n\tONOCR                          = 0x20\n\tONOEOT                         = 0x8\n\tOPOST                          = 0x1\n\tOXTABS                         = 0x4\n\tO_ACCMODE                      = 0x3\n\tO_APPEND                       = 0x8\n\tO_ASYNC                        = 0x40\n\tO_CLOEXEC                      = 0x100000\n\tO_CREAT                        = 0x200\n\tO_DIRECT                       = 0x10000\n\tO_DIRECTORY                    = 0x20000\n\tO_EXCL                         = 0x800\n\tO_EXEC                         = 0x40000\n\tO_EXLOCK                       = 0x20\n\tO_FSYNC                        = 0x80\n\tO_NDELAY                       = 0x4\n\tO_NOCTTY                       = 0x8000\n\tO_NOFOLLOW                     = 0x100\n\tO_NONBLOCK                     = 0x4\n\tO_RDONLY                       = 0x0\n\tO_RDWR                         = 0x2\n\tO_SHLOCK                       = 0x10\n\tO_SYNC                         = 0x80\n\tO_TRUNC                        = 0x400\n\tO_TTY_INIT                     = 0x80000\n\tO_VERIFY                       = 0x200000\n\tO_WRONLY                       = 0x1\n\tPARENB                         = 0x1000\n\tPARMRK                         = 0x8\n\tPARODD                         = 0x2000\n\tPENDIN                         = 0x20000000\n\tPRIO_PGRP                      = 0x1\n\tPRIO_PROCESS                   = 0x0\n\tPRIO_USER                      = 0x2\n\tPROT_EXEC                      = 0x4\n\tPROT_NONE                      = 0x0\n\tPROT_READ                      = 0x1\n\tPROT_WRITE                     = 0x2\n\tRLIMIT_AS                      = 0xa\n\tRLIMIT_CORE                    = 0x4\n\tRLIMIT_CPU                     = 0x0\n\tRLIMIT_DATA                    = 0x2\n\tRLIMIT_FSIZE                   = 0x1\n\tRLIMIT_MEMLOCK                 = 0x6\n\tRLIMIT_NOFILE                  = 0x8\n\tRLIMIT_NPROC                   = 0x7\n\tRLIMIT_RSS                     = 0x5\n\tRLIMIT_STACK                   = 0x3\n\tRLIM_INFINITY                  = 0x7fffffffffffffff\n\tRTAX_AUTHOR                    = 0x6\n\tRTAX_BRD                       = 0x7\n\tRTAX_DST                       = 0x0\n\tRTAX_GATEWAY                   = 0x1\n\tRTAX_GENMASK                   = 0x3\n\tRTAX_IFA                       = 0x5\n\tRTAX_IFP                       = 0x4\n\tRTAX_MAX                       = 0x8\n\tRTAX_NETMASK                   = 0x2\n\tRTA_AUTHOR                     = 0x40\n\tRTA_BRD                        = 0x80\n\tRTA_DST                        = 0x1\n\tRTA_GATEWAY                    = 0x2\n\tRTA_GENMASK                    = 0x8\n\tRTA_IFA                        = 0x20\n\tRTA_IFP                        = 0x10\n\tRTA_NETMASK                    = 0x4\n\tRTF_BLACKHOLE                  = 0x1000\n\tRTF_BROADCAST                  = 0x400000\n\tRTF_DONE                       = 0x40\n\tRTF_DYNAMIC                    = 0x10\n\tRTF_FIXEDMTU                   = 0x80000\n\tRTF_FMASK                      = 0x1004d808\n\tRTF_GATEWAY                    = 0x2\n\tRTF_GWFLAG_COMPAT              = 0x80000000\n\tRTF_HOST                       = 0x4\n\tRTF_LLDATA                     = 0x400\n\tRTF_LLINFO                     = 0x400\n\tRTF_LOCAL                      = 0x200000\n\tRTF_MODIFIED                   = 0x20\n\tRTF_MULTICAST                  = 0x800000\n\tRTF_PINNED                     = 0x100000\n\tRTF_PROTO1                     = 0x8000\n\tRTF_PROTO2                     = 0x4000\n\tRTF_PROTO3                     = 0x40000\n\tRTF_REJECT                     = 0x8\n\tRTF_RNH_LOCKED                 = 0x40000000\n\tRTF_STATIC                     = 0x800\n\tRTF_STICKY                     = 0x10000000\n\tRTF_UP                         = 0x1\n\tRTF_XRESOLVE                   = 0x200\n\tRTM_ADD                        = 0x1\n\tRTM_CHANGE                     = 0x3\n\tRTM_DELADDR                    = 0xd\n\tRTM_DELETE                     = 0x2\n\tRTM_DELMADDR                   = 0x10\n\tRTM_GET                        = 0x4\n\tRTM_IEEE80211                  = 0x12\n\tRTM_IFANNOUNCE                 = 0x11\n\tRTM_IFINFO                     = 0xe\n\tRTM_LOCK                       = 0x8\n\tRTM_LOSING                     = 0x5\n\tRTM_MISS                       = 0x7\n\tRTM_NEWADDR                    = 0xc\n\tRTM_NEWMADDR                   = 0xf\n\tRTM_REDIRECT                   = 0x6\n\tRTM_RESOLVE                    = 0xb\n\tRTM_RTTUNIT                    = 0xf4240\n\tRTM_VERSION                    = 0x5\n\tRTV_EXPIRE                     = 0x4\n\tRTV_HOPCOUNT                   = 0x2\n\tRTV_MTU                        = 0x1\n\tRTV_RPIPE                      = 0x8\n\tRTV_RTT                        = 0x40\n\tRTV_RTTVAR                     = 0x80\n\tRTV_SPIPE                      = 0x10\n\tRTV_SSTHRESH                   = 0x20\n\tRTV_WEIGHT                     = 0x100\n\tRT_ALL_FIBS                    = -0x1\n\tRT_BLACKHOLE                   = 0x40\n\tRT_CACHING_CONTEXT             = 0x1\n\tRT_DEFAULT_FIB                 = 0x0\n\tRT_HAS_GW                      = 0x80\n\tRT_HAS_HEADER                  = 0x10\n\tRT_HAS_HEADER_BIT              = 0x4\n\tRT_L2_ME                       = 0x4\n\tRT_L2_ME_BIT                   = 0x2\n\tRT_LLE_CACHE                   = 0x100\n\tRT_MAY_LOOP                    = 0x8\n\tRT_MAY_LOOP_BIT                = 0x3\n\tRT_NORTREF                     = 0x2\n\tRT_REJECT                      = 0x20\n\tRUSAGE_CHILDREN                = -0x1\n\tRUSAGE_SELF                    = 0x0\n\tRUSAGE_THREAD                  = 0x1\n\tSCM_BINTIME                    = 0x4\n\tSCM_CREDS                      = 0x3\n\tSCM_RIGHTS                     = 0x1\n\tSCM_TIMESTAMP                  = 0x2\n\tSHUT_RD                        = 0x0\n\tSHUT_RDWR                      = 0x2\n\tSHUT_WR                        = 0x1\n\tSIOCADDMULTI                   = 0x80206931\n\tSIOCAIFADDR                    = 0x8040691a\n\tSIOCAIFGROUP                   = 0x80246987\n\tSIOCATMARK                     = 0x40047307\n\tSIOCDELMULTI                   = 0x80206932\n\tSIOCDIFADDR                    = 0x80206919\n\tSIOCDIFGROUP                   = 0x80246989\n\tSIOCDIFPHYADDR                 = 0x80206949\n\tSIOCGDRVSPEC                   = 0xc01c697b\n\tSIOCGETSGCNT                   = 0xc0147210\n\tSIOCGETVIFCNT                  = 0xc014720f\n\tSIOCGHIWAT                     = 0x40047301\n\tSIOCGI2C                       = 0xc020693d\n\tSIOCGIFADDR                    = 0xc0206921\n\tSIOCGIFBRDADDR                 = 0xc0206923\n\tSIOCGIFCAP                     = 0xc020691f\n\tSIOCGIFCONF                    = 0xc0086924\n\tSIOCGIFDESCR                   = 0xc020692a\n\tSIOCGIFDSTADDR                 = 0xc0206922\n\tSIOCGIFFIB                     = 0xc020695c\n\tSIOCGIFFLAGS                   = 0xc0206911\n\tSIOCGIFGENERIC                 = 0xc020693a\n\tSIOCGIFGMEMB                   = 0xc024698a\n\tSIOCGIFGROUP                   = 0xc0246988\n\tSIOCGIFINDEX                   = 0xc0206920\n\tSIOCGIFMAC                     = 0xc0206926\n\tSIOCGIFMEDIA                   = 0xc0286938\n\tSIOCGIFMETRIC                  = 0xc0206917\n\tSIOCGIFMTU                     = 0xc0206933\n\tSIOCGIFNETMASK                 = 0xc0206925\n\tSIOCGIFPDSTADDR                = 0xc0206948\n\tSIOCGIFPHYS                    = 0xc0206935\n\tSIOCGIFPSRCADDR                = 0xc0206947\n\tSIOCGIFSTATUS                  = 0xc331693b\n\tSIOCGIFXMEDIA                  = 0xc028698b\n\tSIOCGLOWAT                     = 0x40047303\n\tSIOCGPGRP                      = 0x40047309\n\tSIOCGPRIVATE_0                 = 0xc0206950\n\tSIOCGPRIVATE_1                 = 0xc0206951\n\tSIOCGTUNFIB                    = 0xc020695e\n\tSIOCIFCREATE                   = 0xc020697a\n\tSIOCIFCREATE2                  = 0xc020697c\n\tSIOCIFDESTROY                  = 0x80206979\n\tSIOCIFGCLONERS                 = 0xc00c6978\n\tSIOCSDRVSPEC                   = 0x801c697b\n\tSIOCSHIWAT                     = 0x80047300\n\tSIOCSIFADDR                    = 0x8020690c\n\tSIOCSIFBRDADDR                 = 0x80206913\n\tSIOCSIFCAP                     = 0x8020691e\n\tSIOCSIFDESCR                   = 0x80206929\n\tSIOCSIFDSTADDR                 = 0x8020690e\n\tSIOCSIFFIB                     = 0x8020695d\n\tSIOCSIFFLAGS                   = 0x80206910\n\tSIOCSIFGENERIC                 = 0x80206939\n\tSIOCSIFLLADDR                  = 0x8020693c\n\tSIOCSIFMAC                     = 0x80206927\n\tSIOCSIFMEDIA                   = 0xc0206937\n\tSIOCSIFMETRIC                  = 0x80206918\n\tSIOCSIFMTU                     = 0x80206934\n\tSIOCSIFNAME                    = 0x80206928\n\tSIOCSIFNETMASK                 = 0x80206916\n\tSIOCSIFPHYADDR                 = 0x80406946\n\tSIOCSIFPHYS                    = 0x80206936\n\tSIOCSIFRVNET                   = 0xc020695b\n\tSIOCSIFVNET                    = 0xc020695a\n\tSIOCSLOWAT                     = 0x80047302\n\tSIOCSPGRP                      = 0x80047308\n\tSIOCSTUNFIB                    = 0x8020695f\n\tSOCK_CLOEXEC                   = 0x10000000\n\tSOCK_DGRAM                     = 0x2\n\tSOCK_MAXADDRLEN                = 0xff\n\tSOCK_NONBLOCK                  = 0x20000000\n\tSOCK_RAW                       = 0x3\n\tSOCK_RDM                       = 0x4\n\tSOCK_SEQPACKET                 = 0x5\n\tSOCK_STREAM                    = 0x1\n\tSOL_SOCKET                     = 0xffff\n\tSOMAXCONN                      = 0x80\n\tSO_ACCEPTCONN                  = 0x2\n\tSO_ACCEPTFILTER                = 0x1000\n\tSO_BINTIME                     = 0x2000\n\tSO_BROADCAST                   = 0x20\n\tSO_DEBUG                       = 0x1\n\tSO_DONTROUTE                   = 0x10\n\tSO_ERROR                       = 0x1007\n\tSO_KEEPALIVE                   = 0x8\n\tSO_LABEL                       = 0x1009\n\tSO_LINGER                      = 0x80\n\tSO_LISTENINCQLEN               = 0x1013\n\tSO_LISTENQLEN                  = 0x1012\n\tSO_LISTENQLIMIT                = 0x1011\n\tSO_NOSIGPIPE                   = 0x800\n\tSO_NO_DDP                      = 0x8000\n\tSO_NO_OFFLOAD                  = 0x4000\n\tSO_OOBINLINE                   = 0x100\n\tSO_PEERLABEL                   = 0x1010\n\tSO_PROTOCOL                    = 0x1016\n\tSO_PROTOTYPE                   = 0x1016\n\tSO_RCVBUF                      = 0x1002\n\tSO_RCVLOWAT                    = 0x1004\n\tSO_RCVTIMEO                    = 0x1006\n\tSO_REUSEADDR                   = 0x4\n\tSO_REUSEPORT                   = 0x200\n\tSO_SETFIB                      = 0x1014\n\tSO_SNDBUF                      = 0x1001\n\tSO_SNDLOWAT                    = 0x1003\n\tSO_SNDTIMEO                    = 0x1005\n\tSO_TIMESTAMP                   = 0x400\n\tSO_TYPE                        = 0x1008\n\tSO_USELOOPBACK                 = 0x40\n\tSO_USER_COOKIE                 = 0x1015\n\tSO_VENDOR                      = 0x80000000\n\tS_BLKSIZE                      = 0x200\n\tS_IEXEC                        = 0x40\n\tS_IFBLK                        = 0x6000\n\tS_IFCHR                        = 0x2000\n\tS_IFDIR                        = 0x4000\n\tS_IFIFO                        = 0x1000\n\tS_IFLNK                        = 0xa000\n\tS_IFMT                         = 0xf000\n\tS_IFREG                        = 0x8000\n\tS_IFSOCK                       = 0xc000\n\tS_IFWHT                        = 0xe000\n\tS_IREAD                        = 0x100\n\tS_IRGRP                        = 0x20\n\tS_IROTH                        = 0x4\n\tS_IRUSR                        = 0x100\n\tS_IRWXG                        = 0x38\n\tS_IRWXO                        = 0x7\n\tS_IRWXU                        = 0x1c0\n\tS_ISGID                        = 0x400\n\tS_ISTXT                        = 0x200\n\tS_ISUID                        = 0x800\n\tS_ISVTX                        = 0x200\n\tS_IWGRP                        = 0x10\n\tS_IWOTH                        = 0x2\n\tS_IWRITE                       = 0x80\n\tS_IWUSR                        = 0x80\n\tS_IXGRP                        = 0x8\n\tS_IXOTH                        = 0x1\n\tS_IXUSR                        = 0x40\n\tTAB0                           = 0x0\n\tTAB3                           = 0x4\n\tTABDLY                         = 0x4\n\tTCIFLUSH                       = 0x1\n\tTCIOFF                         = 0x3\n\tTCIOFLUSH                      = 0x3\n\tTCION                          = 0x4\n\tTCOFLUSH                       = 0x2\n\tTCOOFF                         = 0x1\n\tTCOON                          = 0x2\n\tTCP_CA_NAME_MAX                = 0x10\n\tTCP_CCALGOOPT                  = 0x41\n\tTCP_CONGESTION                 = 0x40\n\tTCP_FASTOPEN                   = 0x401\n\tTCP_FUNCTION_BLK               = 0x2000\n\tTCP_FUNCTION_NAME_LEN_MAX      = 0x20\n\tTCP_INFO                       = 0x20\n\tTCP_KEEPCNT                    = 0x400\n\tTCP_KEEPIDLE                   = 0x100\n\tTCP_KEEPINIT                   = 0x80\n\tTCP_KEEPINTVL                  = 0x200\n\tTCP_MAXBURST                   = 0x4\n\tTCP_MAXHLEN                    = 0x3c\n\tTCP_MAXOLEN                    = 0x28\n\tTCP_MAXSEG                     = 0x2\n\tTCP_MAXWIN                     = 0xffff\n\tTCP_MAX_SACK                   = 0x4\n\tTCP_MAX_WINSHIFT               = 0xe\n\tTCP_MD5SIG                     = 0x10\n\tTCP_MINMSS                     = 0xd8\n\tTCP_MSS                        = 0x218\n\tTCP_NODELAY                    = 0x1\n\tTCP_NOOPT                      = 0x8\n\tTCP_NOPUSH                     = 0x4\n\tTCP_PCAP_IN                    = 0x1000\n\tTCP_PCAP_OUT                   = 0x800\n\tTCP_VENDOR                     = 0x80000000\n\tTCSAFLUSH                      = 0x2\n\tTIOCCBRK                       = 0x2000747a\n\tTIOCCDTR                       = 0x20007478\n\tTIOCCONS                       = 0x80047462\n\tTIOCDRAIN                      = 0x2000745e\n\tTIOCEXCL                       = 0x2000740d\n\tTIOCEXT                        = 0x80047460\n\tTIOCFLUSH                      = 0x80047410\n\tTIOCGDRAINWAIT                 = 0x40047456\n\tTIOCGETA                       = 0x402c7413\n\tTIOCGETD                       = 0x4004741a\n\tTIOCGPGRP                      = 0x40047477\n\tTIOCGPTN                       = 0x4004740f\n\tTIOCGSID                       = 0x40047463\n\tTIOCGWINSZ                     = 0x40087468\n\tTIOCMBIC                       = 0x8004746b\n\tTIOCMBIS                       = 0x8004746c\n\tTIOCMGDTRWAIT                  = 0x4004745a\n\tTIOCMGET                       = 0x4004746a\n\tTIOCMSDTRWAIT                  = 0x8004745b\n\tTIOCMSET                       = 0x8004746d\n\tTIOCM_CAR                      = 0x40\n\tTIOCM_CD                       = 0x40\n\tTIOCM_CTS                      = 0x20\n\tTIOCM_DCD                      = 0x40\n\tTIOCM_DSR                      = 0x100\n\tTIOCM_DTR                      = 0x2\n\tTIOCM_LE                       = 0x1\n\tTIOCM_RI                       = 0x80\n\tTIOCM_RNG                      = 0x80\n\tTIOCM_RTS                      = 0x4\n\tTIOCM_SR                       = 0x10\n\tTIOCM_ST                       = 0x8\n\tTIOCNOTTY                      = 0x20007471\n\tTIOCNXCL                       = 0x2000740e\n\tTIOCOUTQ                       = 0x40047473\n\tTIOCPKT                        = 0x80047470\n\tTIOCPKT_DATA                   = 0x0\n\tTIOCPKT_DOSTOP                 = 0x20\n\tTIOCPKT_FLUSHREAD              = 0x1\n\tTIOCPKT_FLUSHWRITE             = 0x2\n\tTIOCPKT_IOCTL                  = 0x40\n\tTIOCPKT_NOSTOP                 = 0x10\n\tTIOCPKT_START                  = 0x8\n\tTIOCPKT_STOP                   = 0x4\n\tTIOCPTMASTER                   = 0x2000741c\n\tTIOCSBRK                       = 0x2000747b\n\tTIOCSCTTY                      = 0x20007461\n\tTIOCSDRAINWAIT                 = 0x80047457\n\tTIOCSDTR                       = 0x20007479\n\tTIOCSETA                       = 0x802c7414\n\tTIOCSETAF                      = 0x802c7416\n\tTIOCSETAW                      = 0x802c7415\n\tTIOCSETD                       = 0x8004741b\n\tTIOCSIG                        = 0x2004745f\n\tTIOCSPGRP                      = 0x80047476\n\tTIOCSTART                      = 0x2000746e\n\tTIOCSTAT                       = 0x20007465\n\tTIOCSTI                        = 0x80017472\n\tTIOCSTOP                       = 0x2000746f\n\tTIOCSWINSZ                     = 0x80087467\n\tTIOCTIMESTAMP                  = 0x40087459\n\tTIOCUCNTL                      = 0x80047466\n\tTOSTOP                         = 0x400000\n\tVDISCARD                       = 0xf\n\tVDSUSP                         = 0xb\n\tVEOF                           = 0x0\n\tVEOL                           = 0x1\n\tVEOL2                          = 0x2\n\tVERASE                         = 0x3\n\tVERASE2                        = 0x7\n\tVINTR                          = 0x8\n\tVKILL                          = 0x5\n\tVLNEXT                         = 0xe\n\tVMIN                           = 0x10\n\tVQUIT                          = 0x9\n\tVREPRINT                       = 0x6\n\tVSTART                         = 0xc\n\tVSTATUS                        = 0x12\n\tVSTOP                          = 0xd\n\tVSUSP                          = 0xa\n\tVTIME                          = 0x11\n\tVWERASE                        = 0x4\n\tWCONTINUED                     = 0x4\n\tWCOREFLAG                      = 0x80\n\tWEXITED                        = 0x10\n\tWLINUXCLONE                    = 0x80000000\n\tWNOHANG                        = 0x1\n\tWNOWAIT                        = 0x8\n\tWSTOPPED                       = 0x2\n\tWTRAPPED                       = 0x20\n\tWUNTRACED                      = 0x2\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x30)\n\tEADDRNOTAVAIL   = syscall.Errno(0x31)\n\tEAFNOSUPPORT    = syscall.Errno(0x2f)\n\tEAGAIN          = syscall.Errno(0x23)\n\tEALREADY        = syscall.Errno(0x25)\n\tEAUTH           = syscall.Errno(0x50)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADMSG         = syscall.Errno(0x59)\n\tEBADRPC         = syscall.Errno(0x48)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x55)\n\tECAPMODE        = syscall.Errno(0x5e)\n\tECHILD          = syscall.Errno(0xa)\n\tECONNABORTED    = syscall.Errno(0x35)\n\tECONNREFUSED    = syscall.Errno(0x3d)\n\tECONNRESET      = syscall.Errno(0x36)\n\tEDEADLK         = syscall.Errno(0xb)\n\tEDESTADDRREQ    = syscall.Errno(0x27)\n\tEDOM            = syscall.Errno(0x21)\n\tEDOOFUS         = syscall.Errno(0x58)\n\tEDQUOT          = syscall.Errno(0x45)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEFTYPE          = syscall.Errno(0x4f)\n\tEHOSTDOWN       = syscall.Errno(0x40)\n\tEHOSTUNREACH    = syscall.Errno(0x41)\n\tEIDRM           = syscall.Errno(0x52)\n\tEILSEQ          = syscall.Errno(0x56)\n\tEINPROGRESS     = syscall.Errno(0x24)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x38)\n\tEISDIR          = syscall.Errno(0x15)\n\tELAST           = syscall.Errno(0x60)\n\tELOOP           = syscall.Errno(0x3e)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x28)\n\tEMULTIHOP       = syscall.Errno(0x5a)\n\tENAMETOOLONG    = syscall.Errno(0x3f)\n\tENEEDAUTH       = syscall.Errno(0x51)\n\tENETDOWN        = syscall.Errno(0x32)\n\tENETRESET       = syscall.Errno(0x34)\n\tENETUNREACH     = syscall.Errno(0x33)\n\tENFILE          = syscall.Errno(0x17)\n\tENOATTR         = syscall.Errno(0x57)\n\tENOBUFS         = syscall.Errno(0x37)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOLCK          = syscall.Errno(0x4d)\n\tENOLINK         = syscall.Errno(0x5b)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x53)\n\tENOPROTOOPT     = syscall.Errno(0x2a)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSYS          = syscall.Errno(0x4e)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCAPABLE     = syscall.Errno(0x5d)\n\tENOTCONN        = syscall.Errno(0x39)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x42)\n\tENOTRECOVERABLE = syscall.Errno(0x5f)\n\tENOTSOCK        = syscall.Errno(0x26)\n\tENOTSUP         = syscall.Errno(0x2d)\n\tENOTTY          = syscall.Errno(0x19)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x2d)\n\tEOVERFLOW       = syscall.Errno(0x54)\n\tEOWNERDEAD      = syscall.Errno(0x60)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x2e)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROCLIM        = syscall.Errno(0x43)\n\tEPROCUNAVAIL    = syscall.Errno(0x4c)\n\tEPROGMISMATCH   = syscall.Errno(0x4b)\n\tEPROGUNAVAIL    = syscall.Errno(0x4a)\n\tEPROTO          = syscall.Errno(0x5c)\n\tEPROTONOSUPPORT = syscall.Errno(0x2b)\n\tEPROTOTYPE      = syscall.Errno(0x29)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMOTE         = syscall.Errno(0x47)\n\tEROFS           = syscall.Errno(0x1e)\n\tERPCMISMATCH    = syscall.Errno(0x49)\n\tESHUTDOWN       = syscall.Errno(0x3a)\n\tESOCKTNOSUPPORT = syscall.Errno(0x2c)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESTALE          = syscall.Errno(0x46)\n\tETIMEDOUT       = syscall.Errno(0x3c)\n\tETOOMANYREFS    = syscall.Errno(0x3b)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUSERS          = syscall.Errno(0x44)\n\tEWOULDBLOCK     = syscall.Errno(0x23)\n\tEXDEV           = syscall.Errno(0x12)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x14)\n\tSIGCONT   = syscall.Signal(0x13)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINFO   = syscall.Signal(0x1d)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x17)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGLIBRT  = syscall.Signal(0x21)\n\tSIGLWP    = syscall.Signal(0x20)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x11)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTHR    = syscall.Signal(0x20)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x12)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x10)\n\tSIGUSR1   = syscall.Signal(0x1e)\n\tSIGUSR2   = syscall.Signal(0x1f)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errorList = [...]struct {\n\tnum  syscall.Errno\n\tname string\n\tdesc string\n}{\n\t{1, \"EPERM\", \"operation not permitted\"},\n\t{2, \"ENOENT\", \"no such file or directory\"},\n\t{3, \"ESRCH\", \"no such process\"},\n\t{4, \"EINTR\", \"interrupted system call\"},\n\t{5, \"EIO\", \"input/output error\"},\n\t{6, \"ENXIO\", \"device not configured\"},\n\t{7, \"E2BIG\", \"argument list too long\"},\n\t{8, \"ENOEXEC\", \"exec format error\"},\n\t{9, \"EBADF\", \"bad file descriptor\"},\n\t{10, \"ECHILD\", \"no child processes\"},\n\t{11, \"EDEADLK\", \"resource deadlock avoided\"},\n\t{12, \"ENOMEM\", \"cannot allocate memory\"},\n\t{13, \"EACCES\", \"permission denied\"},\n\t{14, \"EFAULT\", \"bad address\"},\n\t{15, \"ENOTBLK\", \"block device required\"},\n\t{16, \"EBUSY\", \"device busy\"},\n\t{17, \"EEXIST\", \"file exists\"},\n\t{18, \"EXDEV\", \"cross-device link\"},\n\t{19, \"ENODEV\", \"operation not supported by device\"},\n\t{20, \"ENOTDIR\", \"not a directory\"},\n\t{21, \"EISDIR\", \"is a directory\"},\n\t{22, \"EINVAL\", \"invalid argument\"},\n\t{23, \"ENFILE\", \"too many open files in system\"},\n\t{24, \"EMFILE\", \"too many open files\"},\n\t{25, \"ENOTTY\", \"inappropriate ioctl for device\"},\n\t{26, \"ETXTBSY\", \"text file busy\"},\n\t{27, \"EFBIG\", \"file too large\"},\n\t{28, \"ENOSPC\", \"no space left on device\"},\n\t{29, \"ESPIPE\", \"illegal seek\"},\n\t{30, \"EROFS\", \"read-only file system\"},\n\t{31, \"EMLINK\", \"too many links\"},\n\t{32, \"EPIPE\", \"broken pipe\"},\n\t{33, \"EDOM\", \"numerical argument out of domain\"},\n\t{34, \"ERANGE\", \"result too large\"},\n\t{35, \"EAGAIN\", \"resource temporarily unavailable\"},\n\t{36, \"EINPROGRESS\", \"operation now in progress\"},\n\t{37, \"EALREADY\", \"operation already in progress\"},\n\t{38, \"ENOTSOCK\", \"socket operation on non-socket\"},\n\t{39, \"EDESTADDRREQ\", \"destination address required\"},\n\t{40, \"EMSGSIZE\", \"message too long\"},\n\t{41, \"EPROTOTYPE\", \"protocol wrong type for socket\"},\n\t{42, \"ENOPROTOOPT\", \"protocol not available\"},\n\t{43, \"EPROTONOSUPPORT\", \"protocol not supported\"},\n\t{44, \"ESOCKTNOSUPPORT\", \"socket type not supported\"},\n\t{45, \"EOPNOTSUPP\", \"operation not supported\"},\n\t{46, \"EPFNOSUPPORT\", \"protocol family not supported\"},\n\t{47, \"EAFNOSUPPORT\", \"address family not supported by protocol family\"},\n\t{48, \"EADDRINUSE\", \"address already in use\"},\n\t{49, \"EADDRNOTAVAIL\", \"can't assign requested address\"},\n\t{50, \"ENETDOWN\", \"network is down\"},\n\t{51, \"ENETUNREACH\", \"network is unreachable\"},\n\t{52, \"ENETRESET\", \"network dropped connection on reset\"},\n\t{53, \"ECONNABORTED\", \"software caused connection abort\"},\n\t{54, \"ECONNRESET\", \"connection reset by peer\"},\n\t{55, \"ENOBUFS\", \"no buffer space available\"},\n\t{56, \"EISCONN\", \"socket is already connected\"},\n\t{57, \"ENOTCONN\", \"socket is not connected\"},\n\t{58, \"ESHUTDOWN\", \"can't send after socket shutdown\"},\n\t{59, \"ETOOMANYREFS\", \"too many references: can't splice\"},\n\t{60, \"ETIMEDOUT\", \"operation timed out\"},\n\t{61, \"ECONNREFUSED\", \"connection refused\"},\n\t{62, \"ELOOP\", \"too many levels of symbolic links\"},\n\t{63, \"ENAMETOOLONG\", \"file name too long\"},\n\t{64, \"EHOSTDOWN\", \"host is down\"},\n\t{65, \"EHOSTUNREACH\", \"no route to host\"},\n\t{66, \"ENOTEMPTY\", \"directory not empty\"},\n\t{67, \"EPROCLIM\", \"too many processes\"},\n\t{68, \"EUSERS\", \"too many users\"},\n\t{69, \"EDQUOT\", \"disc quota exceeded\"},\n\t{70, \"ESTALE\", \"stale NFS file handle\"},\n\t{71, \"EREMOTE\", \"too many levels of remote in path\"},\n\t{72, \"EBADRPC\", \"RPC struct is bad\"},\n\t{73, \"ERPCMISMATCH\", \"RPC version wrong\"},\n\t{74, \"EPROGUNAVAIL\", \"RPC prog. not avail\"},\n\t{75, \"EPROGMISMATCH\", \"program version wrong\"},\n\t{76, \"EPROCUNAVAIL\", \"bad procedure for program\"},\n\t{77, \"ENOLCK\", \"no locks available\"},\n\t{78, \"ENOSYS\", \"function not implemented\"},\n\t{79, \"EFTYPE\", \"inappropriate file type or format\"},\n\t{80, \"EAUTH\", \"authentication error\"},\n\t{81, \"ENEEDAUTH\", \"need authenticator\"},\n\t{82, \"EIDRM\", \"identifier removed\"},\n\t{83, \"ENOMSG\", \"no message of desired type\"},\n\t{84, \"EOVERFLOW\", \"value too large to be stored in data type\"},\n\t{85, \"ECANCELED\", \"operation canceled\"},\n\t{86, \"EILSEQ\", \"illegal byte sequence\"},\n\t{87, \"ENOATTR\", \"attribute not found\"},\n\t{88, \"EDOOFUS\", \"programming error\"},\n\t{89, \"EBADMSG\", \"bad message\"},\n\t{90, \"EMULTIHOP\", \"multihop attempted\"},\n\t{91, \"ENOLINK\", \"link has been severed\"},\n\t{92, \"EPROTO\", \"protocol error\"},\n\t{93, \"ENOTCAPABLE\", \"capabilities insufficient\"},\n\t{94, \"ECAPMODE\", \"not permitted in capability mode\"},\n\t{95, \"ENOTRECOVERABLE\", \"state not recoverable\"},\n\t{96, \"EOWNERDEAD\", \"previous owner died\"},\n}\n\n// Signal table\nvar signalList = [...]struct {\n\tnum  syscall.Signal\n\tname string\n\tdesc string\n}{\n\t{1, \"SIGHUP\", \"hangup\"},\n\t{2, \"SIGINT\", \"interrupt\"},\n\t{3, \"SIGQUIT\", \"quit\"},\n\t{4, \"SIGILL\", \"illegal instruction\"},\n\t{5, \"SIGTRAP\", \"trace/BPT trap\"},\n\t{6, \"SIGIOT\", \"abort trap\"},\n\t{7, \"SIGEMT\", \"EMT trap\"},\n\t{8, \"SIGFPE\", \"floating point exception\"},\n\t{9, \"SIGKILL\", \"killed\"},\n\t{10, \"SIGBUS\", \"bus error\"},\n\t{11, \"SIGSEGV\", \"segmentation fault\"},\n\t{12, \"SIGSYS\", \"bad system call\"},\n\t{13, \"SIGPIPE\", \"broken pipe\"},\n\t{14, \"SIGALRM\", \"alarm clock\"},\n\t{15, \"SIGTERM\", \"terminated\"},\n\t{16, \"SIGURG\", \"urgent I/O condition\"},\n\t{17, \"SIGSTOP\", \"suspended (signal)\"},\n\t{18, \"SIGTSTP\", \"suspended\"},\n\t{19, \"SIGCONT\", \"continued\"},\n\t{20, \"SIGCHLD\", \"child exited\"},\n\t{21, \"SIGTTIN\", \"stopped (tty input)\"},\n\t{22, \"SIGTTOU\", \"stopped (tty output)\"},\n\t{23, \"SIGIO\", \"I/O possible\"},\n\t{24, \"SIGXCPU\", \"cputime limit exceeded\"},\n\t{25, \"SIGXFSZ\", \"filesize limit exceeded\"},\n\t{26, \"SIGVTALRM\", \"virtual timer expired\"},\n\t{27, \"SIGPROF\", \"profiling timer expired\"},\n\t{28, \"SIGWINCH\", \"window size changes\"},\n\t{29, \"SIGINFO\", \"information request\"},\n\t{30, \"SIGUSR1\", \"user defined signal 1\"},\n\t{31, \"SIGUSR2\", \"user defined signal 2\"},\n\t{32, \"SIGTHR\", \"unknown signal\"},\n\t{33, \"SIGLIBRT\", \"unknown signal\"},\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go",
    "content": "// mkerrors.sh -m64\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,freebsd\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -m64 _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_APPLETALK                   = 0x10\n\tAF_ARP                         = 0x23\n\tAF_ATM                         = 0x1e\n\tAF_BLUETOOTH                   = 0x24\n\tAF_CCITT                       = 0xa\n\tAF_CHAOS                       = 0x5\n\tAF_CNT                         = 0x15\n\tAF_COIP                        = 0x14\n\tAF_DATAKIT                     = 0x9\n\tAF_DECnet                      = 0xc\n\tAF_DLI                         = 0xd\n\tAF_E164                        = 0x1a\n\tAF_ECMA                        = 0x8\n\tAF_HYLINK                      = 0xf\n\tAF_IEEE80211                   = 0x25\n\tAF_IMPLINK                     = 0x3\n\tAF_INET                        = 0x2\n\tAF_INET6                       = 0x1c\n\tAF_INET6_SDP                   = 0x2a\n\tAF_INET_SDP                    = 0x28\n\tAF_IPX                         = 0x17\n\tAF_ISDN                        = 0x1a\n\tAF_ISO                         = 0x7\n\tAF_LAT                         = 0xe\n\tAF_LINK                        = 0x12\n\tAF_LOCAL                       = 0x1\n\tAF_MAX                         = 0x2a\n\tAF_NATM                        = 0x1d\n\tAF_NETBIOS                     = 0x6\n\tAF_NETGRAPH                    = 0x20\n\tAF_OSI                         = 0x7\n\tAF_PUP                         = 0x4\n\tAF_ROUTE                       = 0x11\n\tAF_SCLUSTER                    = 0x22\n\tAF_SIP                         = 0x18\n\tAF_SLOW                        = 0x21\n\tAF_SNA                         = 0xb\n\tAF_UNIX                        = 0x1\n\tAF_UNSPEC                      = 0x0\n\tAF_VENDOR00                    = 0x27\n\tAF_VENDOR01                    = 0x29\n\tAF_VENDOR02                    = 0x2b\n\tAF_VENDOR03                    = 0x2d\n\tAF_VENDOR04                    = 0x2f\n\tAF_VENDOR05                    = 0x31\n\tAF_VENDOR06                    = 0x33\n\tAF_VENDOR07                    = 0x35\n\tAF_VENDOR08                    = 0x37\n\tAF_VENDOR09                    = 0x39\n\tAF_VENDOR10                    = 0x3b\n\tAF_VENDOR11                    = 0x3d\n\tAF_VENDOR12                    = 0x3f\n\tAF_VENDOR13                    = 0x41\n\tAF_VENDOR14                    = 0x43\n\tAF_VENDOR15                    = 0x45\n\tAF_VENDOR16                    = 0x47\n\tAF_VENDOR17                    = 0x49\n\tAF_VENDOR18                    = 0x4b\n\tAF_VENDOR19                    = 0x4d\n\tAF_VENDOR20                    = 0x4f\n\tAF_VENDOR21                    = 0x51\n\tAF_VENDOR22                    = 0x53\n\tAF_VENDOR23                    = 0x55\n\tAF_VENDOR24                    = 0x57\n\tAF_VENDOR25                    = 0x59\n\tAF_VENDOR26                    = 0x5b\n\tAF_VENDOR27                    = 0x5d\n\tAF_VENDOR28                    = 0x5f\n\tAF_VENDOR29                    = 0x61\n\tAF_VENDOR30                    = 0x63\n\tAF_VENDOR31                    = 0x65\n\tAF_VENDOR32                    = 0x67\n\tAF_VENDOR33                    = 0x69\n\tAF_VENDOR34                    = 0x6b\n\tAF_VENDOR35                    = 0x6d\n\tAF_VENDOR36                    = 0x6f\n\tAF_VENDOR37                    = 0x71\n\tAF_VENDOR38                    = 0x73\n\tAF_VENDOR39                    = 0x75\n\tAF_VENDOR40                    = 0x77\n\tAF_VENDOR41                    = 0x79\n\tAF_VENDOR42                    = 0x7b\n\tAF_VENDOR43                    = 0x7d\n\tAF_VENDOR44                    = 0x7f\n\tAF_VENDOR45                    = 0x81\n\tAF_VENDOR46                    = 0x83\n\tAF_VENDOR47                    = 0x85\n\tALTWERASE                      = 0x200\n\tB0                             = 0x0\n\tB110                           = 0x6e\n\tB115200                        = 0x1c200\n\tB1200                          = 0x4b0\n\tB134                           = 0x86\n\tB14400                         = 0x3840\n\tB150                           = 0x96\n\tB1800                          = 0x708\n\tB19200                         = 0x4b00\n\tB200                           = 0xc8\n\tB230400                        = 0x38400\n\tB2400                          = 0x960\n\tB28800                         = 0x7080\n\tB300                           = 0x12c\n\tB38400                         = 0x9600\n\tB460800                        = 0x70800\n\tB4800                          = 0x12c0\n\tB50                            = 0x32\n\tB57600                         = 0xe100\n\tB600                           = 0x258\n\tB7200                          = 0x1c20\n\tB75                            = 0x4b\n\tB76800                         = 0x12c00\n\tB921600                        = 0xe1000\n\tB9600                          = 0x2580\n\tBIOCFEEDBACK                   = 0x8004427c\n\tBIOCFLUSH                      = 0x20004268\n\tBIOCGBLEN                      = 0x40044266\n\tBIOCGDIRECTION                 = 0x40044276\n\tBIOCGDLT                       = 0x4004426a\n\tBIOCGDLTLIST                   = 0xc0104279\n\tBIOCGETBUFMODE                 = 0x4004427d\n\tBIOCGETIF                      = 0x4020426b\n\tBIOCGETZMAX                    = 0x4008427f\n\tBIOCGHDRCMPLT                  = 0x40044274\n\tBIOCGRSIG                      = 0x40044272\n\tBIOCGRTIMEOUT                  = 0x4010426e\n\tBIOCGSEESENT                   = 0x40044276\n\tBIOCGSTATS                     = 0x4008426f\n\tBIOCGTSTAMP                    = 0x40044283\n\tBIOCIMMEDIATE                  = 0x80044270\n\tBIOCLOCK                       = 0x2000427a\n\tBIOCPROMISC                    = 0x20004269\n\tBIOCROTZBUF                    = 0x40184280\n\tBIOCSBLEN                      = 0xc0044266\n\tBIOCSDIRECTION                 = 0x80044277\n\tBIOCSDLT                       = 0x80044278\n\tBIOCSETBUFMODE                 = 0x8004427e\n\tBIOCSETF                       = 0x80104267\n\tBIOCSETFNR                     = 0x80104282\n\tBIOCSETIF                      = 0x8020426c\n\tBIOCSETWF                      = 0x8010427b\n\tBIOCSETZBUF                    = 0x80184281\n\tBIOCSHDRCMPLT                  = 0x80044275\n\tBIOCSRSIG                      = 0x80044273\n\tBIOCSRTIMEOUT                  = 0x8010426d\n\tBIOCSSEESENT                   = 0x80044277\n\tBIOCSTSTAMP                    = 0x80044284\n\tBIOCVERSION                    = 0x40044271\n\tBPF_A                          = 0x10\n\tBPF_ABS                        = 0x20\n\tBPF_ADD                        = 0x0\n\tBPF_ALIGNMENT                  = 0x8\n\tBPF_ALU                        = 0x4\n\tBPF_AND                        = 0x50\n\tBPF_B                          = 0x10\n\tBPF_BUFMODE_BUFFER             = 0x1\n\tBPF_BUFMODE_ZBUF               = 0x2\n\tBPF_DIV                        = 0x30\n\tBPF_H                          = 0x8\n\tBPF_IMM                        = 0x0\n\tBPF_IND                        = 0x40\n\tBPF_JA                         = 0x0\n\tBPF_JEQ                        = 0x10\n\tBPF_JGE                        = 0x30\n\tBPF_JGT                        = 0x20\n\tBPF_JMP                        = 0x5\n\tBPF_JSET                       = 0x40\n\tBPF_K                          = 0x0\n\tBPF_LD                         = 0x0\n\tBPF_LDX                        = 0x1\n\tBPF_LEN                        = 0x80\n\tBPF_LSH                        = 0x60\n\tBPF_MAJOR_VERSION              = 0x1\n\tBPF_MAXBUFSIZE                 = 0x80000\n\tBPF_MAXINSNS                   = 0x200\n\tBPF_MEM                        = 0x60\n\tBPF_MEMWORDS                   = 0x10\n\tBPF_MINBUFSIZE                 = 0x20\n\tBPF_MINOR_VERSION              = 0x1\n\tBPF_MISC                       = 0x7\n\tBPF_MOD                        = 0x90\n\tBPF_MSH                        = 0xa0\n\tBPF_MUL                        = 0x20\n\tBPF_NEG                        = 0x80\n\tBPF_OR                         = 0x40\n\tBPF_RELEASE                    = 0x30bb6\n\tBPF_RET                        = 0x6\n\tBPF_RSH                        = 0x70\n\tBPF_ST                         = 0x2\n\tBPF_STX                        = 0x3\n\tBPF_SUB                        = 0x10\n\tBPF_TAX                        = 0x0\n\tBPF_TXA                        = 0x80\n\tBPF_T_BINTIME                  = 0x2\n\tBPF_T_BINTIME_FAST             = 0x102\n\tBPF_T_BINTIME_MONOTONIC        = 0x202\n\tBPF_T_BINTIME_MONOTONIC_FAST   = 0x302\n\tBPF_T_FAST                     = 0x100\n\tBPF_T_FLAG_MASK                = 0x300\n\tBPF_T_FORMAT_MASK              = 0x3\n\tBPF_T_MICROTIME                = 0x0\n\tBPF_T_MICROTIME_FAST           = 0x100\n\tBPF_T_MICROTIME_MONOTONIC      = 0x200\n\tBPF_T_MICROTIME_MONOTONIC_FAST = 0x300\n\tBPF_T_MONOTONIC                = 0x200\n\tBPF_T_MONOTONIC_FAST           = 0x300\n\tBPF_T_NANOTIME                 = 0x1\n\tBPF_T_NANOTIME_FAST            = 0x101\n\tBPF_T_NANOTIME_MONOTONIC       = 0x201\n\tBPF_T_NANOTIME_MONOTONIC_FAST  = 0x301\n\tBPF_T_NONE                     = 0x3\n\tBPF_T_NORMAL                   = 0x0\n\tBPF_W                          = 0x0\n\tBPF_X                          = 0x8\n\tBPF_XOR                        = 0xa0\n\tBRKINT                         = 0x2\n\tCAP_ACCEPT                     = 0x200000020000000\n\tCAP_ACL_CHECK                  = 0x400000000010000\n\tCAP_ACL_DELETE                 = 0x400000000020000\n\tCAP_ACL_GET                    = 0x400000000040000\n\tCAP_ACL_SET                    = 0x400000000080000\n\tCAP_ALL0                       = 0x20007ffffffffff\n\tCAP_ALL1                       = 0x4000000001fffff\n\tCAP_BIND                       = 0x200000040000000\n\tCAP_BINDAT                     = 0x200008000000400\n\tCAP_CHFLAGSAT                  = 0x200000000001400\n\tCAP_CONNECT                    = 0x200000080000000\n\tCAP_CONNECTAT                  = 0x200010000000400\n\tCAP_CREATE                     = 0x200000000000040\n\tCAP_EVENT                      = 0x400000000000020\n\tCAP_EXTATTR_DELETE             = 0x400000000001000\n\tCAP_EXTATTR_GET                = 0x400000000002000\n\tCAP_EXTATTR_LIST               = 0x400000000004000\n\tCAP_EXTATTR_SET                = 0x400000000008000\n\tCAP_FCHDIR                     = 0x200000000000800\n\tCAP_FCHFLAGS                   = 0x200000000001000\n\tCAP_FCHMOD                     = 0x200000000002000\n\tCAP_FCHMODAT                   = 0x200000000002400\n\tCAP_FCHOWN                     = 0x200000000004000\n\tCAP_FCHOWNAT                   = 0x200000000004400\n\tCAP_FCNTL                      = 0x200000000008000\n\tCAP_FCNTL_ALL                  = 0x78\n\tCAP_FCNTL_GETFL                = 0x8\n\tCAP_FCNTL_GETOWN               = 0x20\n\tCAP_FCNTL_SETFL                = 0x10\n\tCAP_FCNTL_SETOWN               = 0x40\n\tCAP_FEXECVE                    = 0x200000000000080\n\tCAP_FLOCK                      = 0x200000000010000\n\tCAP_FPATHCONF                  = 0x200000000020000\n\tCAP_FSCK                       = 0x200000000040000\n\tCAP_FSTAT                      = 0x200000000080000\n\tCAP_FSTATAT                    = 0x200000000080400\n\tCAP_FSTATFS                    = 0x200000000100000\n\tCAP_FSYNC                      = 0x200000000000100\n\tCAP_FTRUNCATE                  = 0x200000000000200\n\tCAP_FUTIMES                    = 0x200000000200000\n\tCAP_FUTIMESAT                  = 0x200000000200400\n\tCAP_GETPEERNAME                = 0x200000100000000\n\tCAP_GETSOCKNAME                = 0x200000200000000\n\tCAP_GETSOCKOPT                 = 0x200000400000000\n\tCAP_IOCTL                      = 0x400000000000080\n\tCAP_IOCTLS_ALL                 = 0x7fffffffffffffff\n\tCAP_KQUEUE                     = 0x400000000100040\n\tCAP_KQUEUE_CHANGE              = 0x400000000100000\n\tCAP_KQUEUE_EVENT               = 0x400000000000040\n\tCAP_LINKAT_SOURCE              = 0x200020000000400\n\tCAP_LINKAT_TARGET              = 0x200000000400400\n\tCAP_LISTEN                     = 0x200000800000000\n\tCAP_LOOKUP                     = 0x200000000000400\n\tCAP_MAC_GET                    = 0x400000000000001\n\tCAP_MAC_SET                    = 0x400000000000002\n\tCAP_MKDIRAT                    = 0x200000000800400\n\tCAP_MKFIFOAT                   = 0x200000001000400\n\tCAP_MKNODAT                    = 0x200000002000400\n\tCAP_MMAP                       = 0x200000000000010\n\tCAP_MMAP_R                     = 0x20000000000001d\n\tCAP_MMAP_RW                    = 0x20000000000001f\n\tCAP_MMAP_RWX                   = 0x20000000000003f\n\tCAP_MMAP_RX                    = 0x20000000000003d\n\tCAP_MMAP_W                     = 0x20000000000001e\n\tCAP_MMAP_WX                    = 0x20000000000003e\n\tCAP_MMAP_X                     = 0x20000000000003c\n\tCAP_PDGETPID                   = 0x400000000000200\n\tCAP_PDKILL                     = 0x400000000000800\n\tCAP_PDWAIT                     = 0x400000000000400\n\tCAP_PEELOFF                    = 0x200001000000000\n\tCAP_POLL_EVENT                 = 0x400000000000020\n\tCAP_PREAD                      = 0x20000000000000d\n\tCAP_PWRITE                     = 0x20000000000000e\n\tCAP_READ                       = 0x200000000000001\n\tCAP_RECV                       = 0x200000000000001\n\tCAP_RENAMEAT_SOURCE            = 0x200000004000400\n\tCAP_RENAMEAT_TARGET            = 0x200040000000400\n\tCAP_RIGHTS_VERSION             = 0x0\n\tCAP_RIGHTS_VERSION_00          = 0x0\n\tCAP_SEEK                       = 0x20000000000000c\n\tCAP_SEEK_TELL                  = 0x200000000000004\n\tCAP_SEM_GETVALUE               = 0x400000000000004\n\tCAP_SEM_POST                   = 0x400000000000008\n\tCAP_SEM_WAIT                   = 0x400000000000010\n\tCAP_SEND                       = 0x200000000000002\n\tCAP_SETSOCKOPT                 = 0x200002000000000\n\tCAP_SHUTDOWN                   = 0x200004000000000\n\tCAP_SOCK_CLIENT                = 0x200007780000003\n\tCAP_SOCK_SERVER                = 0x200007f60000003\n\tCAP_SYMLINKAT                  = 0x200000008000400\n\tCAP_TTYHOOK                    = 0x400000000000100\n\tCAP_UNLINKAT                   = 0x200000010000400\n\tCAP_UNUSED0_44                 = 0x200080000000000\n\tCAP_UNUSED0_57                 = 0x300000000000000\n\tCAP_UNUSED1_22                 = 0x400000000200000\n\tCAP_UNUSED1_57                 = 0x500000000000000\n\tCAP_WRITE                      = 0x200000000000002\n\tCFLUSH                         = 0xf\n\tCLOCAL                         = 0x8000\n\tCLOCK_MONOTONIC                = 0x4\n\tCLOCK_MONOTONIC_FAST           = 0xc\n\tCLOCK_MONOTONIC_PRECISE        = 0xb\n\tCLOCK_PROCESS_CPUTIME_ID       = 0xf\n\tCLOCK_PROF                     = 0x2\n\tCLOCK_REALTIME                 = 0x0\n\tCLOCK_REALTIME_FAST            = 0xa\n\tCLOCK_REALTIME_PRECISE         = 0x9\n\tCLOCK_SECOND                   = 0xd\n\tCLOCK_THREAD_CPUTIME_ID        = 0xe\n\tCLOCK_UPTIME                   = 0x5\n\tCLOCK_UPTIME_FAST              = 0x8\n\tCLOCK_UPTIME_PRECISE           = 0x7\n\tCLOCK_VIRTUAL                  = 0x1\n\tCREAD                          = 0x800\n\tCRTSCTS                        = 0x30000\n\tCS5                            = 0x0\n\tCS6                            = 0x100\n\tCS7                            = 0x200\n\tCS8                            = 0x300\n\tCSIZE                          = 0x300\n\tCSTART                         = 0x11\n\tCSTATUS                        = 0x14\n\tCSTOP                          = 0x13\n\tCSTOPB                         = 0x400\n\tCSUSP                          = 0x1a\n\tCTL_HW                         = 0x6\n\tCTL_KERN                       = 0x1\n\tCTL_MAXNAME                    = 0x18\n\tCTL_NET                        = 0x4\n\tDLT_A429                       = 0xb8\n\tDLT_A653_ICM                   = 0xb9\n\tDLT_AIRONET_HEADER             = 0x78\n\tDLT_AOS                        = 0xde\n\tDLT_APPLE_IP_OVER_IEEE1394     = 0x8a\n\tDLT_ARCNET                     = 0x7\n\tDLT_ARCNET_LINUX               = 0x81\n\tDLT_ATM_CLIP                   = 0x13\n\tDLT_ATM_RFC1483                = 0xb\n\tDLT_AURORA                     = 0x7e\n\tDLT_AX25                       = 0x3\n\tDLT_AX25_KISS                  = 0xca\n\tDLT_BACNET_MS_TP               = 0xa5\n\tDLT_BLUETOOTH_BREDR_BB         = 0xff\n\tDLT_BLUETOOTH_HCI_H4           = 0xbb\n\tDLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9\n\tDLT_BLUETOOTH_LE_LL            = 0xfb\n\tDLT_BLUETOOTH_LE_LL_WITH_PHDR  = 0x100\n\tDLT_BLUETOOTH_LINUX_MONITOR    = 0xfe\n\tDLT_CAN20B                     = 0xbe\n\tDLT_CAN_SOCKETCAN              = 0xe3\n\tDLT_CHAOS                      = 0x5\n\tDLT_CHDLC                      = 0x68\n\tDLT_CISCO_IOS                  = 0x76\n\tDLT_C_HDLC                     = 0x68\n\tDLT_C_HDLC_WITH_DIR            = 0xcd\n\tDLT_DBUS                       = 0xe7\n\tDLT_DECT                       = 0xdd\n\tDLT_DOCSIS                     = 0x8f\n\tDLT_DVB_CI                     = 0xeb\n\tDLT_ECONET                     = 0x73\n\tDLT_EN10MB                     = 0x1\n\tDLT_EN3MB                      = 0x2\n\tDLT_ENC                        = 0x6d\n\tDLT_EPON                       = 0x103\n\tDLT_ERF                        = 0xc5\n\tDLT_ERF_ETH                    = 0xaf\n\tDLT_ERF_POS                    = 0xb0\n\tDLT_FC_2                       = 0xe0\n\tDLT_FC_2_WITH_FRAME_DELIMS     = 0xe1\n\tDLT_FDDI                       = 0xa\n\tDLT_FLEXRAY                    = 0xd2\n\tDLT_FRELAY                     = 0x6b\n\tDLT_FRELAY_WITH_DIR            = 0xce\n\tDLT_GCOM_SERIAL                = 0xad\n\tDLT_GCOM_T1E1                  = 0xac\n\tDLT_GPF_F                      = 0xab\n\tDLT_GPF_T                      = 0xaa\n\tDLT_GPRS_LLC                   = 0xa9\n\tDLT_GSMTAP_ABIS                = 0xda\n\tDLT_GSMTAP_UM                  = 0xd9\n\tDLT_HHDLC                      = 0x79\n\tDLT_IBM_SN                     = 0x92\n\tDLT_IBM_SP                     = 0x91\n\tDLT_IEEE802                    = 0x6\n\tDLT_IEEE802_11                 = 0x69\n\tDLT_IEEE802_11_RADIO           = 0x7f\n\tDLT_IEEE802_11_RADIO_AVS       = 0xa3\n\tDLT_IEEE802_15_4               = 0xc3\n\tDLT_IEEE802_15_4_LINUX         = 0xbf\n\tDLT_IEEE802_15_4_NOFCS         = 0xe6\n\tDLT_IEEE802_15_4_NONASK_PHY    = 0xd7\n\tDLT_IEEE802_16_MAC_CPS         = 0xbc\n\tDLT_IEEE802_16_MAC_CPS_RADIO   = 0xc1\n\tDLT_INFINIBAND                 = 0xf7\n\tDLT_IPFILTER                   = 0x74\n\tDLT_IPMB                       = 0xc7\n\tDLT_IPMB_LINUX                 = 0xd1\n\tDLT_IPMI_HPM_2                 = 0x104\n\tDLT_IPNET                      = 0xe2\n\tDLT_IPOIB                      = 0xf2\n\tDLT_IPV4                       = 0xe4\n\tDLT_IPV6                       = 0xe5\n\tDLT_IP_OVER_FC                 = 0x7a\n\tDLT_JUNIPER_ATM1               = 0x89\n\tDLT_JUNIPER_ATM2               = 0x87\n\tDLT_JUNIPER_ATM_CEMIC          = 0xee\n\tDLT_JUNIPER_CHDLC              = 0xb5\n\tDLT_JUNIPER_ES                 = 0x84\n\tDLT_JUNIPER_ETHER              = 0xb2\n\tDLT_JUNIPER_FIBRECHANNEL       = 0xea\n\tDLT_JUNIPER_FRELAY             = 0xb4\n\tDLT_JUNIPER_GGSN               = 0x85\n\tDLT_JUNIPER_ISM                = 0xc2\n\tDLT_JUNIPER_MFR                = 0x86\n\tDLT_JUNIPER_MLFR               = 0x83\n\tDLT_JUNIPER_MLPPP              = 0x82\n\tDLT_JUNIPER_MONITOR            = 0xa4\n\tDLT_JUNIPER_PIC_PEER           = 0xae\n\tDLT_JUNIPER_PPP                = 0xb3\n\tDLT_JUNIPER_PPPOE              = 0xa7\n\tDLT_JUNIPER_PPPOE_ATM          = 0xa8\n\tDLT_JUNIPER_SERVICES           = 0x88\n\tDLT_JUNIPER_SRX_E2E            = 0xe9\n\tDLT_JUNIPER_ST                 = 0xc8\n\tDLT_JUNIPER_VP                 = 0xb7\n\tDLT_JUNIPER_VS                 = 0xe8\n\tDLT_LAPB_WITH_DIR              = 0xcf\n\tDLT_LAPD                       = 0xcb\n\tDLT_LIN                        = 0xd4\n\tDLT_LINUX_EVDEV                = 0xd8\n\tDLT_LINUX_IRDA                 = 0x90\n\tDLT_LINUX_LAPD                 = 0xb1\n\tDLT_LINUX_PPP_WITHDIRECTION    = 0xa6\n\tDLT_LINUX_SLL                  = 0x71\n\tDLT_LOOP                       = 0x6c\n\tDLT_LTALK                      = 0x72\n\tDLT_MATCHING_MAX               = 0x104\n\tDLT_MATCHING_MIN               = 0x68\n\tDLT_MFR                        = 0xb6\n\tDLT_MOST                       = 0xd3\n\tDLT_MPEG_2_TS                  = 0xf3\n\tDLT_MPLS                       = 0xdb\n\tDLT_MTP2                       = 0x8c\n\tDLT_MTP2_WITH_PHDR             = 0x8b\n\tDLT_MTP3                       = 0x8d\n\tDLT_MUX27010                   = 0xec\n\tDLT_NETANALYZER                = 0xf0\n\tDLT_NETANALYZER_TRANSPARENT    = 0xf1\n\tDLT_NETLINK                    = 0xfd\n\tDLT_NFC_LLCP                   = 0xf5\n\tDLT_NFLOG                      = 0xef\n\tDLT_NG40                       = 0xf4\n\tDLT_NULL                       = 0x0\n\tDLT_PCI_EXP                    = 0x7d\n\tDLT_PFLOG                      = 0x75\n\tDLT_PFSYNC                     = 0x79\n\tDLT_PKTAP                      = 0x102\n\tDLT_PPI                        = 0xc0\n\tDLT_PPP                        = 0x9\n\tDLT_PPP_BSDOS                  = 0x10\n\tDLT_PPP_ETHER                  = 0x33\n\tDLT_PPP_PPPD                   = 0xa6\n\tDLT_PPP_SERIAL                 = 0x32\n\tDLT_PPP_WITH_DIR               = 0xcc\n\tDLT_PPP_WITH_DIRECTION         = 0xa6\n\tDLT_PRISM_HEADER               = 0x77\n\tDLT_PROFIBUS_DL                = 0x101\n\tDLT_PRONET                     = 0x4\n\tDLT_RAIF1                      = 0xc6\n\tDLT_RAW                        = 0xc\n\tDLT_RIO                        = 0x7c\n\tDLT_RTAC_SERIAL                = 0xfa\n\tDLT_SCCP                       = 0x8e\n\tDLT_SCTP                       = 0xf8\n\tDLT_SITA                       = 0xc4\n\tDLT_SLIP                       = 0x8\n\tDLT_SLIP_BSDOS                 = 0xf\n\tDLT_STANAG_5066_D_PDU          = 0xed\n\tDLT_SUNATM                     = 0x7b\n\tDLT_SYMANTEC_FIREWALL          = 0x63\n\tDLT_TZSP                       = 0x80\n\tDLT_USB                        = 0xba\n\tDLT_USBPCAP                    = 0xf9\n\tDLT_USB_LINUX                  = 0xbd\n\tDLT_USB_LINUX_MMAPPED          = 0xdc\n\tDLT_USER0                      = 0x93\n\tDLT_USER1                      = 0x94\n\tDLT_USER10                     = 0x9d\n\tDLT_USER11                     = 0x9e\n\tDLT_USER12                     = 0x9f\n\tDLT_USER13                     = 0xa0\n\tDLT_USER14                     = 0xa1\n\tDLT_USER15                     = 0xa2\n\tDLT_USER2                      = 0x95\n\tDLT_USER3                      = 0x96\n\tDLT_USER4                      = 0x97\n\tDLT_USER5                      = 0x98\n\tDLT_USER6                      = 0x99\n\tDLT_USER7                      = 0x9a\n\tDLT_USER8                      = 0x9b\n\tDLT_USER9                      = 0x9c\n\tDLT_WIHART                     = 0xdf\n\tDLT_WIRESHARK_UPPER_PDU        = 0xfc\n\tDLT_X2E_SERIAL                 = 0xd5\n\tDLT_X2E_XORAYA                 = 0xd6\n\tDT_BLK                         = 0x6\n\tDT_CHR                         = 0x2\n\tDT_DIR                         = 0x4\n\tDT_FIFO                        = 0x1\n\tDT_LNK                         = 0xa\n\tDT_REG                         = 0x8\n\tDT_SOCK                        = 0xc\n\tDT_UNKNOWN                     = 0x0\n\tDT_WHT                         = 0xe\n\tECHO                           = 0x8\n\tECHOCTL                        = 0x40\n\tECHOE                          = 0x2\n\tECHOK                          = 0x4\n\tECHOKE                         = 0x1\n\tECHONL                         = 0x10\n\tECHOPRT                        = 0x20\n\tEVFILT_AIO                     = -0x3\n\tEVFILT_FS                      = -0x9\n\tEVFILT_LIO                     = -0xa\n\tEVFILT_PROC                    = -0x5\n\tEVFILT_PROCDESC                = -0x8\n\tEVFILT_READ                    = -0x1\n\tEVFILT_SENDFILE                = -0xc\n\tEVFILT_SIGNAL                  = -0x6\n\tEVFILT_SYSCOUNT                = 0xc\n\tEVFILT_TIMER                   = -0x7\n\tEVFILT_USER                    = -0xb\n\tEVFILT_VNODE                   = -0x4\n\tEVFILT_WRITE                   = -0x2\n\tEV_ADD                         = 0x1\n\tEV_CLEAR                       = 0x20\n\tEV_DELETE                      = 0x2\n\tEV_DISABLE                     = 0x8\n\tEV_DISPATCH                    = 0x80\n\tEV_DROP                        = 0x1000\n\tEV_ENABLE                      = 0x4\n\tEV_EOF                         = 0x8000\n\tEV_ERROR                       = 0x4000\n\tEV_FLAG1                       = 0x2000\n\tEV_FLAG2                       = 0x4000\n\tEV_FORCEONESHOT                = 0x100\n\tEV_ONESHOT                     = 0x10\n\tEV_RECEIPT                     = 0x40\n\tEV_SYSFLAGS                    = 0xf000\n\tEXTA                           = 0x4b00\n\tEXTATTR_NAMESPACE_EMPTY        = 0x0\n\tEXTATTR_NAMESPACE_SYSTEM       = 0x2\n\tEXTATTR_NAMESPACE_USER         = 0x1\n\tEXTB                           = 0x9600\n\tEXTPROC                        = 0x800\n\tFD_CLOEXEC                     = 0x1\n\tFD_SETSIZE                     = 0x400\n\tFLUSHO                         = 0x800000\n\tF_CANCEL                       = 0x5\n\tF_DUP2FD                       = 0xa\n\tF_DUP2FD_CLOEXEC               = 0x12\n\tF_DUPFD                        = 0x0\n\tF_DUPFD_CLOEXEC                = 0x11\n\tF_GETFD                        = 0x1\n\tF_GETFL                        = 0x3\n\tF_GETLK                        = 0xb\n\tF_GETOWN                       = 0x5\n\tF_OGETLK                       = 0x7\n\tF_OK                           = 0x0\n\tF_OSETLK                       = 0x8\n\tF_OSETLKW                      = 0x9\n\tF_RDAHEAD                      = 0x10\n\tF_RDLCK                        = 0x1\n\tF_READAHEAD                    = 0xf\n\tF_SETFD                        = 0x2\n\tF_SETFL                        = 0x4\n\tF_SETLK                        = 0xc\n\tF_SETLKW                       = 0xd\n\tF_SETLK_REMOTE                 = 0xe\n\tF_SETOWN                       = 0x6\n\tF_UNLCK                        = 0x2\n\tF_UNLCKSYS                     = 0x4\n\tF_WRLCK                        = 0x3\n\tHUPCL                          = 0x4000\n\tHW_MACHINE                     = 0x1\n\tICANON                         = 0x100\n\tICMP6_FILTER                   = 0x12\n\tICRNL                          = 0x100\n\tIEXTEN                         = 0x400\n\tIFAN_ARRIVAL                   = 0x0\n\tIFAN_DEPARTURE                 = 0x1\n\tIFF_ALLMULTI                   = 0x200\n\tIFF_ALTPHYS                    = 0x4000\n\tIFF_BROADCAST                  = 0x2\n\tIFF_CANTCHANGE                 = 0x218f52\n\tIFF_CANTCONFIG                 = 0x10000\n\tIFF_DEBUG                      = 0x4\n\tIFF_DRV_OACTIVE                = 0x400\n\tIFF_DRV_RUNNING                = 0x40\n\tIFF_DYING                      = 0x200000\n\tIFF_LINK0                      = 0x1000\n\tIFF_LINK1                      = 0x2000\n\tIFF_LINK2                      = 0x4000\n\tIFF_LOOPBACK                   = 0x8\n\tIFF_MONITOR                    = 0x40000\n\tIFF_MULTICAST                  = 0x8000\n\tIFF_NOARP                      = 0x80\n\tIFF_OACTIVE                    = 0x400\n\tIFF_POINTOPOINT                = 0x10\n\tIFF_PPROMISC                   = 0x20000\n\tIFF_PROMISC                    = 0x100\n\tIFF_RENAMING                   = 0x400000\n\tIFF_RUNNING                    = 0x40\n\tIFF_SIMPLEX                    = 0x800\n\tIFF_STATICARP                  = 0x80000\n\tIFF_UP                         = 0x1\n\tIFNAMSIZ                       = 0x10\n\tIFT_BRIDGE                     = 0xd1\n\tIFT_CARP                       = 0xf8\n\tIFT_IEEE1394                   = 0x90\n\tIFT_INFINIBAND                 = 0xc7\n\tIFT_L2VLAN                     = 0x87\n\tIFT_L3IPVLAN                   = 0x88\n\tIFT_PPP                        = 0x17\n\tIFT_PROPVIRTUAL                = 0x35\n\tIGNBRK                         = 0x1\n\tIGNCR                          = 0x80\n\tIGNPAR                         = 0x4\n\tIMAXBEL                        = 0x2000\n\tINLCR                          = 0x40\n\tINPCK                          = 0x10\n\tIN_CLASSA_HOST                 = 0xffffff\n\tIN_CLASSA_MAX                  = 0x80\n\tIN_CLASSA_NET                  = 0xff000000\n\tIN_CLASSA_NSHIFT               = 0x18\n\tIN_CLASSB_HOST                 = 0xffff\n\tIN_CLASSB_MAX                  = 0x10000\n\tIN_CLASSB_NET                  = 0xffff0000\n\tIN_CLASSB_NSHIFT               = 0x10\n\tIN_CLASSC_HOST                 = 0xff\n\tIN_CLASSC_NET                  = 0xffffff00\n\tIN_CLASSC_NSHIFT               = 0x8\n\tIN_CLASSD_HOST                 = 0xfffffff\n\tIN_CLASSD_NET                  = 0xf0000000\n\tIN_CLASSD_NSHIFT               = 0x1c\n\tIN_LOOPBACKNET                 = 0x7f\n\tIN_RFC3021_MASK                = 0xfffffffe\n\tIPPROTO_3PC                    = 0x22\n\tIPPROTO_ADFS                   = 0x44\n\tIPPROTO_AH                     = 0x33\n\tIPPROTO_AHIP                   = 0x3d\n\tIPPROTO_APES                   = 0x63\n\tIPPROTO_ARGUS                  = 0xd\n\tIPPROTO_AX25                   = 0x5d\n\tIPPROTO_BHA                    = 0x31\n\tIPPROTO_BLT                    = 0x1e\n\tIPPROTO_BRSATMON               = 0x4c\n\tIPPROTO_CARP                   = 0x70\n\tIPPROTO_CFTP                   = 0x3e\n\tIPPROTO_CHAOS                  = 0x10\n\tIPPROTO_CMTP                   = 0x26\n\tIPPROTO_CPHB                   = 0x49\n\tIPPROTO_CPNX                   = 0x48\n\tIPPROTO_DDP                    = 0x25\n\tIPPROTO_DGP                    = 0x56\n\tIPPROTO_DIVERT                 = 0x102\n\tIPPROTO_DONE                   = 0x101\n\tIPPROTO_DSTOPTS                = 0x3c\n\tIPPROTO_EGP                    = 0x8\n\tIPPROTO_EMCON                  = 0xe\n\tIPPROTO_ENCAP                  = 0x62\n\tIPPROTO_EON                    = 0x50\n\tIPPROTO_ESP                    = 0x32\n\tIPPROTO_ETHERIP                = 0x61\n\tIPPROTO_FRAGMENT               = 0x2c\n\tIPPROTO_GGP                    = 0x3\n\tIPPROTO_GMTP                   = 0x64\n\tIPPROTO_GRE                    = 0x2f\n\tIPPROTO_HELLO                  = 0x3f\n\tIPPROTO_HIP                    = 0x8b\n\tIPPROTO_HMP                    = 0x14\n\tIPPROTO_HOPOPTS                = 0x0\n\tIPPROTO_ICMP                   = 0x1\n\tIPPROTO_ICMPV6                 = 0x3a\n\tIPPROTO_IDP                    = 0x16\n\tIPPROTO_IDPR                   = 0x23\n\tIPPROTO_IDRP                   = 0x2d\n\tIPPROTO_IGMP                   = 0x2\n\tIPPROTO_IGP                    = 0x55\n\tIPPROTO_IGRP                   = 0x58\n\tIPPROTO_IL                     = 0x28\n\tIPPROTO_INLSP                  = 0x34\n\tIPPROTO_INP                    = 0x20\n\tIPPROTO_IP                     = 0x0\n\tIPPROTO_IPCOMP                 = 0x6c\n\tIPPROTO_IPCV                   = 0x47\n\tIPPROTO_IPEIP                  = 0x5e\n\tIPPROTO_IPIP                   = 0x4\n\tIPPROTO_IPPC                   = 0x43\n\tIPPROTO_IPV4                   = 0x4\n\tIPPROTO_IPV6                   = 0x29\n\tIPPROTO_IRTP                   = 0x1c\n\tIPPROTO_KRYPTOLAN              = 0x41\n\tIPPROTO_LARP                   = 0x5b\n\tIPPROTO_LEAF1                  = 0x19\n\tIPPROTO_LEAF2                  = 0x1a\n\tIPPROTO_MAX                    = 0x100\n\tIPPROTO_MEAS                   = 0x13\n\tIPPROTO_MH                     = 0x87\n\tIPPROTO_MHRP                   = 0x30\n\tIPPROTO_MICP                   = 0x5f\n\tIPPROTO_MOBILE                 = 0x37\n\tIPPROTO_MPLS                   = 0x89\n\tIPPROTO_MTP                    = 0x5c\n\tIPPROTO_MUX                    = 0x12\n\tIPPROTO_ND                     = 0x4d\n\tIPPROTO_NHRP                   = 0x36\n\tIPPROTO_NONE                   = 0x3b\n\tIPPROTO_NSP                    = 0x1f\n\tIPPROTO_NVPII                  = 0xb\n\tIPPROTO_OLD_DIVERT             = 0xfe\n\tIPPROTO_OSPFIGP                = 0x59\n\tIPPROTO_PFSYNC                 = 0xf0\n\tIPPROTO_PGM                    = 0x71\n\tIPPROTO_PIGP                   = 0x9\n\tIPPROTO_PIM                    = 0x67\n\tIPPROTO_PRM                    = 0x15\n\tIPPROTO_PUP                    = 0xc\n\tIPPROTO_PVP                    = 0x4b\n\tIPPROTO_RAW                    = 0xff\n\tIPPROTO_RCCMON                 = 0xa\n\tIPPROTO_RDP                    = 0x1b\n\tIPPROTO_RESERVED_253           = 0xfd\n\tIPPROTO_RESERVED_254           = 0xfe\n\tIPPROTO_ROUTING                = 0x2b\n\tIPPROTO_RSVP                   = 0x2e\n\tIPPROTO_RVD                    = 0x42\n\tIPPROTO_SATEXPAK               = 0x40\n\tIPPROTO_SATMON                 = 0x45\n\tIPPROTO_SCCSP                  = 0x60\n\tIPPROTO_SCTP                   = 0x84\n\tIPPROTO_SDRP                   = 0x2a\n\tIPPROTO_SEND                   = 0x103\n\tIPPROTO_SEP                    = 0x21\n\tIPPROTO_SHIM6                  = 0x8c\n\tIPPROTO_SKIP                   = 0x39\n\tIPPROTO_SPACER                 = 0x7fff\n\tIPPROTO_SRPC                   = 0x5a\n\tIPPROTO_ST                     = 0x7\n\tIPPROTO_SVMTP                  = 0x52\n\tIPPROTO_SWIPE                  = 0x35\n\tIPPROTO_TCF                    = 0x57\n\tIPPROTO_TCP                    = 0x6\n\tIPPROTO_TLSP                   = 0x38\n\tIPPROTO_TP                     = 0x1d\n\tIPPROTO_TPXX                   = 0x27\n\tIPPROTO_TRUNK1                 = 0x17\n\tIPPROTO_TRUNK2                 = 0x18\n\tIPPROTO_TTP                    = 0x54\n\tIPPROTO_UDP                    = 0x11\n\tIPPROTO_UDPLITE                = 0x88\n\tIPPROTO_VINES                  = 0x53\n\tIPPROTO_VISA                   = 0x46\n\tIPPROTO_VMTP                   = 0x51\n\tIPPROTO_WBEXPAK                = 0x4f\n\tIPPROTO_WBMON                  = 0x4e\n\tIPPROTO_WSN                    = 0x4a\n\tIPPROTO_XNET                   = 0xf\n\tIPPROTO_XTP                    = 0x24\n\tIPV6_AUTOFLOWLABEL             = 0x3b\n\tIPV6_BINDANY                   = 0x40\n\tIPV6_BINDMULTI                 = 0x41\n\tIPV6_BINDV6ONLY                = 0x1b\n\tIPV6_CHECKSUM                  = 0x1a\n\tIPV6_DEFAULT_MULTICAST_HOPS    = 0x1\n\tIPV6_DEFAULT_MULTICAST_LOOP    = 0x1\n\tIPV6_DEFHLIM                   = 0x40\n\tIPV6_DONTFRAG                  = 0x3e\n\tIPV6_DSTOPTS                   = 0x32\n\tIPV6_FLOWID                    = 0x43\n\tIPV6_FLOWINFO_MASK             = 0xffffff0f\n\tIPV6_FLOWLABEL_MASK            = 0xffff0f00\n\tIPV6_FLOWTYPE                  = 0x44\n\tIPV6_FRAGTTL                   = 0x78\n\tIPV6_FW_ADD                    = 0x1e\n\tIPV6_FW_DEL                    = 0x1f\n\tIPV6_FW_FLUSH                  = 0x20\n\tIPV6_FW_GET                    = 0x22\n\tIPV6_FW_ZERO                   = 0x21\n\tIPV6_HLIMDEC                   = 0x1\n\tIPV6_HOPLIMIT                  = 0x2f\n\tIPV6_HOPOPTS                   = 0x31\n\tIPV6_IPSEC_POLICY              = 0x1c\n\tIPV6_JOIN_GROUP                = 0xc\n\tIPV6_LEAVE_GROUP               = 0xd\n\tIPV6_MAXHLIM                   = 0xff\n\tIPV6_MAXOPTHDR                 = 0x800\n\tIPV6_MAXPACKET                 = 0xffff\n\tIPV6_MAX_GROUP_SRC_FILTER      = 0x200\n\tIPV6_MAX_MEMBERSHIPS           = 0xfff\n\tIPV6_MAX_SOCK_SRC_FILTER       = 0x80\n\tIPV6_MIN_MEMBERSHIPS           = 0x1f\n\tIPV6_MMTU                      = 0x500\n\tIPV6_MSFILTER                  = 0x4a\n\tIPV6_MULTICAST_HOPS            = 0xa\n\tIPV6_MULTICAST_IF              = 0x9\n\tIPV6_MULTICAST_LOOP            = 0xb\n\tIPV6_NEXTHOP                   = 0x30\n\tIPV6_PATHMTU                   = 0x2c\n\tIPV6_PKTINFO                   = 0x2e\n\tIPV6_PORTRANGE                 = 0xe\n\tIPV6_PORTRANGE_DEFAULT         = 0x0\n\tIPV6_PORTRANGE_HIGH            = 0x1\n\tIPV6_PORTRANGE_LOW             = 0x2\n\tIPV6_PREFER_TEMPADDR           = 0x3f\n\tIPV6_RECVDSTOPTS               = 0x28\n\tIPV6_RECVFLOWID                = 0x46\n\tIPV6_RECVHOPLIMIT              = 0x25\n\tIPV6_RECVHOPOPTS               = 0x27\n\tIPV6_RECVPATHMTU               = 0x2b\n\tIPV6_RECVPKTINFO               = 0x24\n\tIPV6_RECVRSSBUCKETID           = 0x47\n\tIPV6_RECVRTHDR                 = 0x26\n\tIPV6_RECVTCLASS                = 0x39\n\tIPV6_RSSBUCKETID               = 0x45\n\tIPV6_RSS_LISTEN_BUCKET         = 0x42\n\tIPV6_RTHDR                     = 0x33\n\tIPV6_RTHDRDSTOPTS              = 0x23\n\tIPV6_RTHDR_LOOSE               = 0x0\n\tIPV6_RTHDR_STRICT              = 0x1\n\tIPV6_RTHDR_TYPE_0              = 0x0\n\tIPV6_SOCKOPT_RESERVED1         = 0x3\n\tIPV6_TCLASS                    = 0x3d\n\tIPV6_UNICAST_HOPS              = 0x4\n\tIPV6_USE_MIN_MTU               = 0x2a\n\tIPV6_V6ONLY                    = 0x1b\n\tIPV6_VERSION                   = 0x60\n\tIPV6_VERSION_MASK              = 0xf0\n\tIP_ADD_MEMBERSHIP              = 0xc\n\tIP_ADD_SOURCE_MEMBERSHIP       = 0x46\n\tIP_BINDANY                     = 0x18\n\tIP_BINDMULTI                   = 0x19\n\tIP_BLOCK_SOURCE                = 0x48\n\tIP_DEFAULT_MULTICAST_LOOP      = 0x1\n\tIP_DEFAULT_MULTICAST_TTL       = 0x1\n\tIP_DF                          = 0x4000\n\tIP_DONTFRAG                    = 0x43\n\tIP_DROP_MEMBERSHIP             = 0xd\n\tIP_DROP_SOURCE_MEMBERSHIP      = 0x47\n\tIP_DUMMYNET3                   = 0x31\n\tIP_DUMMYNET_CONFIGURE          = 0x3c\n\tIP_DUMMYNET_DEL                = 0x3d\n\tIP_DUMMYNET_FLUSH              = 0x3e\n\tIP_DUMMYNET_GET                = 0x40\n\tIP_FLOWID                      = 0x5a\n\tIP_FLOWTYPE                    = 0x5b\n\tIP_FW3                         = 0x30\n\tIP_FW_ADD                      = 0x32\n\tIP_FW_DEL                      = 0x33\n\tIP_FW_FLUSH                    = 0x34\n\tIP_FW_GET                      = 0x36\n\tIP_FW_NAT_CFG                  = 0x38\n\tIP_FW_NAT_DEL                  = 0x39\n\tIP_FW_NAT_GET_CONFIG           = 0x3a\n\tIP_FW_NAT_GET_LOG              = 0x3b\n\tIP_FW_RESETLOG                 = 0x37\n\tIP_FW_TABLE_ADD                = 0x28\n\tIP_FW_TABLE_DEL                = 0x29\n\tIP_FW_TABLE_FLUSH              = 0x2a\n\tIP_FW_TABLE_GETSIZE            = 0x2b\n\tIP_FW_TABLE_LIST               = 0x2c\n\tIP_FW_ZERO                     = 0x35\n\tIP_HDRINCL                     = 0x2\n\tIP_IPSEC_POLICY                = 0x15\n\tIP_MAXPACKET                   = 0xffff\n\tIP_MAX_GROUP_SRC_FILTER        = 0x200\n\tIP_MAX_MEMBERSHIPS             = 0xfff\n\tIP_MAX_SOCK_MUTE_FILTER        = 0x80\n\tIP_MAX_SOCK_SRC_FILTER         = 0x80\n\tIP_MAX_SOURCE_FILTER           = 0x400\n\tIP_MF                          = 0x2000\n\tIP_MINTTL                      = 0x42\n\tIP_MIN_MEMBERSHIPS             = 0x1f\n\tIP_MSFILTER                    = 0x4a\n\tIP_MSS                         = 0x240\n\tIP_MULTICAST_IF                = 0x9\n\tIP_MULTICAST_LOOP              = 0xb\n\tIP_MULTICAST_TTL               = 0xa\n\tIP_MULTICAST_VIF               = 0xe\n\tIP_OFFMASK                     = 0x1fff\n\tIP_ONESBCAST                   = 0x17\n\tIP_OPTIONS                     = 0x1\n\tIP_PORTRANGE                   = 0x13\n\tIP_PORTRANGE_DEFAULT           = 0x0\n\tIP_PORTRANGE_HIGH              = 0x1\n\tIP_PORTRANGE_LOW               = 0x2\n\tIP_RECVDSTADDR                 = 0x7\n\tIP_RECVFLOWID                  = 0x5d\n\tIP_RECVIF                      = 0x14\n\tIP_RECVOPTS                    = 0x5\n\tIP_RECVRETOPTS                 = 0x6\n\tIP_RECVRSSBUCKETID             = 0x5e\n\tIP_RECVTOS                     = 0x44\n\tIP_RECVTTL                     = 0x41\n\tIP_RETOPTS                     = 0x8\n\tIP_RF                          = 0x8000\n\tIP_RSSBUCKETID                 = 0x5c\n\tIP_RSS_LISTEN_BUCKET           = 0x1a\n\tIP_RSVP_OFF                    = 0x10\n\tIP_RSVP_ON                     = 0xf\n\tIP_RSVP_VIF_OFF                = 0x12\n\tIP_RSVP_VIF_ON                 = 0x11\n\tIP_SENDSRCADDR                 = 0x7\n\tIP_TOS                         = 0x3\n\tIP_TTL                         = 0x4\n\tIP_UNBLOCK_SOURCE              = 0x49\n\tISIG                           = 0x80\n\tISTRIP                         = 0x20\n\tIXANY                          = 0x800\n\tIXOFF                          = 0x400\n\tIXON                           = 0x200\n\tKERN_HOSTNAME                  = 0xa\n\tKERN_OSRELEASE                 = 0x2\n\tKERN_OSTYPE                    = 0x1\n\tKERN_VERSION                   = 0x4\n\tLOCK_EX                        = 0x2\n\tLOCK_NB                        = 0x4\n\tLOCK_SH                        = 0x1\n\tLOCK_UN                        = 0x8\n\tMADV_AUTOSYNC                  = 0x7\n\tMADV_CORE                      = 0x9\n\tMADV_DONTNEED                  = 0x4\n\tMADV_FREE                      = 0x5\n\tMADV_NOCORE                    = 0x8\n\tMADV_NORMAL                    = 0x0\n\tMADV_NOSYNC                    = 0x6\n\tMADV_PROTECT                   = 0xa\n\tMADV_RANDOM                    = 0x1\n\tMADV_SEQUENTIAL                = 0x2\n\tMADV_WILLNEED                  = 0x3\n\tMAP_32BIT                      = 0x80000\n\tMAP_ALIGNED_SUPER              = 0x1000000\n\tMAP_ALIGNMENT_MASK             = -0x1000000\n\tMAP_ALIGNMENT_SHIFT            = 0x18\n\tMAP_ANON                       = 0x1000\n\tMAP_ANONYMOUS                  = 0x1000\n\tMAP_COPY                       = 0x2\n\tMAP_EXCL                       = 0x4000\n\tMAP_FILE                       = 0x0\n\tMAP_FIXED                      = 0x10\n\tMAP_HASSEMAPHORE               = 0x200\n\tMAP_NOCORE                     = 0x20000\n\tMAP_NOSYNC                     = 0x800\n\tMAP_PREFAULT_READ              = 0x40000\n\tMAP_PRIVATE                    = 0x2\n\tMAP_RESERVED0020               = 0x20\n\tMAP_RESERVED0040               = 0x40\n\tMAP_RESERVED0080               = 0x80\n\tMAP_RESERVED0100               = 0x100\n\tMAP_SHARED                     = 0x1\n\tMAP_STACK                      = 0x400\n\tMCL_CURRENT                    = 0x1\n\tMCL_FUTURE                     = 0x2\n\tMNT_ACLS                       = 0x8000000\n\tMNT_ASYNC                      = 0x40\n\tMNT_AUTOMOUNTED                = 0x200000000\n\tMNT_BYFSID                     = 0x8000000\n\tMNT_CMDFLAGS                   = 0xd0f0000\n\tMNT_DEFEXPORTED                = 0x200\n\tMNT_DELEXPORT                  = 0x20000\n\tMNT_EXKERB                     = 0x800\n\tMNT_EXPORTANON                 = 0x400\n\tMNT_EXPORTED                   = 0x100\n\tMNT_EXPUBLIC                   = 0x20000000\n\tMNT_EXRDONLY                   = 0x80\n\tMNT_FORCE                      = 0x80000\n\tMNT_GJOURNAL                   = 0x2000000\n\tMNT_IGNORE                     = 0x800000\n\tMNT_LAZY                       = 0x3\n\tMNT_LOCAL                      = 0x1000\n\tMNT_MULTILABEL                 = 0x4000000\n\tMNT_NFS4ACLS                   = 0x10\n\tMNT_NOATIME                    = 0x10000000\n\tMNT_NOCLUSTERR                 = 0x40000000\n\tMNT_NOCLUSTERW                 = 0x80000000\n\tMNT_NOEXEC                     = 0x4\n\tMNT_NONBUSY                    = 0x4000000\n\tMNT_NOSUID                     = 0x8\n\tMNT_NOSYMFOLLOW                = 0x400000\n\tMNT_NOWAIT                     = 0x2\n\tMNT_QUOTA                      = 0x2000\n\tMNT_RDONLY                     = 0x1\n\tMNT_RELOAD                     = 0x40000\n\tMNT_ROOTFS                     = 0x4000\n\tMNT_SNAPSHOT                   = 0x1000000\n\tMNT_SOFTDEP                    = 0x200000\n\tMNT_SUIDDIR                    = 0x100000\n\tMNT_SUJ                        = 0x100000000\n\tMNT_SUSPEND                    = 0x4\n\tMNT_SYNCHRONOUS                = 0x2\n\tMNT_UNION                      = 0x20\n\tMNT_UPDATE                     = 0x10000\n\tMNT_UPDATEMASK                 = 0x2d8d0807e\n\tMNT_USER                       = 0x8000\n\tMNT_VISFLAGMASK                = 0x3fef0ffff\n\tMNT_WAIT                       = 0x1\n\tMSG_CMSG_CLOEXEC               = 0x40000\n\tMSG_COMPAT                     = 0x8000\n\tMSG_CTRUNC                     = 0x20\n\tMSG_DONTROUTE                  = 0x4\n\tMSG_DONTWAIT                   = 0x80\n\tMSG_EOF                        = 0x100\n\tMSG_EOR                        = 0x8\n\tMSG_NBIO                       = 0x4000\n\tMSG_NOSIGNAL                   = 0x20000\n\tMSG_NOTIFICATION               = 0x2000\n\tMSG_OOB                        = 0x1\n\tMSG_PEEK                       = 0x2\n\tMSG_TRUNC                      = 0x10\n\tMSG_WAITALL                    = 0x40\n\tMSG_WAITFORONE                 = 0x80000\n\tMS_ASYNC                       = 0x1\n\tMS_INVALIDATE                  = 0x2\n\tMS_SYNC                        = 0x0\n\tNAME_MAX                       = 0xff\n\tNET_RT_DUMP                    = 0x1\n\tNET_RT_FLAGS                   = 0x2\n\tNET_RT_IFLIST                  = 0x3\n\tNET_RT_IFLISTL                 = 0x5\n\tNET_RT_IFMALIST                = 0x4\n\tNOFLSH                         = 0x80000000\n\tNOKERNINFO                     = 0x2000000\n\tNOTE_ATTRIB                    = 0x8\n\tNOTE_CHILD                     = 0x4\n\tNOTE_CLOSE                     = 0x100\n\tNOTE_CLOSE_WRITE               = 0x200\n\tNOTE_DELETE                    = 0x1\n\tNOTE_EXEC                      = 0x20000000\n\tNOTE_EXIT                      = 0x80000000\n\tNOTE_EXTEND                    = 0x4\n\tNOTE_FFAND                     = 0x40000000\n\tNOTE_FFCOPY                    = 0xc0000000\n\tNOTE_FFCTRLMASK                = 0xc0000000\n\tNOTE_FFLAGSMASK                = 0xffffff\n\tNOTE_FFNOP                     = 0x0\n\tNOTE_FFOR                      = 0x80000000\n\tNOTE_FILE_POLL                 = 0x2\n\tNOTE_FORK                      = 0x40000000\n\tNOTE_LINK                      = 0x10\n\tNOTE_LOWAT                     = 0x1\n\tNOTE_MSECONDS                  = 0x2\n\tNOTE_NSECONDS                  = 0x8\n\tNOTE_OPEN                      = 0x80\n\tNOTE_PCTRLMASK                 = 0xf0000000\n\tNOTE_PDATAMASK                 = 0xfffff\n\tNOTE_READ                      = 0x400\n\tNOTE_RENAME                    = 0x20\n\tNOTE_REVOKE                    = 0x40\n\tNOTE_SECONDS                   = 0x1\n\tNOTE_TRACK                     = 0x1\n\tNOTE_TRACKERR                  = 0x2\n\tNOTE_TRIGGER                   = 0x1000000\n\tNOTE_USECONDS                  = 0x4\n\tNOTE_WRITE                     = 0x2\n\tOCRNL                          = 0x10\n\tONLCR                          = 0x2\n\tONLRET                         = 0x40\n\tONOCR                          = 0x20\n\tONOEOT                         = 0x8\n\tOPOST                          = 0x1\n\tOXTABS                         = 0x4\n\tO_ACCMODE                      = 0x3\n\tO_APPEND                       = 0x8\n\tO_ASYNC                        = 0x40\n\tO_CLOEXEC                      = 0x100000\n\tO_CREAT                        = 0x200\n\tO_DIRECT                       = 0x10000\n\tO_DIRECTORY                    = 0x20000\n\tO_EXCL                         = 0x800\n\tO_EXEC                         = 0x40000\n\tO_EXLOCK                       = 0x20\n\tO_FSYNC                        = 0x80\n\tO_NDELAY                       = 0x4\n\tO_NOCTTY                       = 0x8000\n\tO_NOFOLLOW                     = 0x100\n\tO_NONBLOCK                     = 0x4\n\tO_RDONLY                       = 0x0\n\tO_RDWR                         = 0x2\n\tO_SHLOCK                       = 0x10\n\tO_SYNC                         = 0x80\n\tO_TRUNC                        = 0x400\n\tO_TTY_INIT                     = 0x80000\n\tO_VERIFY                       = 0x200000\n\tO_WRONLY                       = 0x1\n\tPARENB                         = 0x1000\n\tPARMRK                         = 0x8\n\tPARODD                         = 0x2000\n\tPENDIN                         = 0x20000000\n\tPRIO_PGRP                      = 0x1\n\tPRIO_PROCESS                   = 0x0\n\tPRIO_USER                      = 0x2\n\tPROT_EXEC                      = 0x4\n\tPROT_NONE                      = 0x0\n\tPROT_READ                      = 0x1\n\tPROT_WRITE                     = 0x2\n\tRLIMIT_AS                      = 0xa\n\tRLIMIT_CORE                    = 0x4\n\tRLIMIT_CPU                     = 0x0\n\tRLIMIT_DATA                    = 0x2\n\tRLIMIT_FSIZE                   = 0x1\n\tRLIMIT_MEMLOCK                 = 0x6\n\tRLIMIT_NOFILE                  = 0x8\n\tRLIMIT_NPROC                   = 0x7\n\tRLIMIT_RSS                     = 0x5\n\tRLIMIT_STACK                   = 0x3\n\tRLIM_INFINITY                  = 0x7fffffffffffffff\n\tRTAX_AUTHOR                    = 0x6\n\tRTAX_BRD                       = 0x7\n\tRTAX_DST                       = 0x0\n\tRTAX_GATEWAY                   = 0x1\n\tRTAX_GENMASK                   = 0x3\n\tRTAX_IFA                       = 0x5\n\tRTAX_IFP                       = 0x4\n\tRTAX_MAX                       = 0x8\n\tRTAX_NETMASK                   = 0x2\n\tRTA_AUTHOR                     = 0x40\n\tRTA_BRD                        = 0x80\n\tRTA_DST                        = 0x1\n\tRTA_GATEWAY                    = 0x2\n\tRTA_GENMASK                    = 0x8\n\tRTA_IFA                        = 0x20\n\tRTA_IFP                        = 0x10\n\tRTA_NETMASK                    = 0x4\n\tRTF_BLACKHOLE                  = 0x1000\n\tRTF_BROADCAST                  = 0x400000\n\tRTF_DONE                       = 0x40\n\tRTF_DYNAMIC                    = 0x10\n\tRTF_FIXEDMTU                   = 0x80000\n\tRTF_FMASK                      = 0x1004d808\n\tRTF_GATEWAY                    = 0x2\n\tRTF_GWFLAG_COMPAT              = 0x80000000\n\tRTF_HOST                       = 0x4\n\tRTF_LLDATA                     = 0x400\n\tRTF_LLINFO                     = 0x400\n\tRTF_LOCAL                      = 0x200000\n\tRTF_MODIFIED                   = 0x20\n\tRTF_MULTICAST                  = 0x800000\n\tRTF_PINNED                     = 0x100000\n\tRTF_PROTO1                     = 0x8000\n\tRTF_PROTO2                     = 0x4000\n\tRTF_PROTO3                     = 0x40000\n\tRTF_REJECT                     = 0x8\n\tRTF_RNH_LOCKED                 = 0x40000000\n\tRTF_STATIC                     = 0x800\n\tRTF_STICKY                     = 0x10000000\n\tRTF_UP                         = 0x1\n\tRTF_XRESOLVE                   = 0x200\n\tRTM_ADD                        = 0x1\n\tRTM_CHANGE                     = 0x3\n\tRTM_DELADDR                    = 0xd\n\tRTM_DELETE                     = 0x2\n\tRTM_DELMADDR                   = 0x10\n\tRTM_GET                        = 0x4\n\tRTM_IEEE80211                  = 0x12\n\tRTM_IFANNOUNCE                 = 0x11\n\tRTM_IFINFO                     = 0xe\n\tRTM_LOCK                       = 0x8\n\tRTM_LOSING                     = 0x5\n\tRTM_MISS                       = 0x7\n\tRTM_NEWADDR                    = 0xc\n\tRTM_NEWMADDR                   = 0xf\n\tRTM_REDIRECT                   = 0x6\n\tRTM_RESOLVE                    = 0xb\n\tRTM_RTTUNIT                    = 0xf4240\n\tRTM_VERSION                    = 0x5\n\tRTV_EXPIRE                     = 0x4\n\tRTV_HOPCOUNT                   = 0x2\n\tRTV_MTU                        = 0x1\n\tRTV_RPIPE                      = 0x8\n\tRTV_RTT                        = 0x40\n\tRTV_RTTVAR                     = 0x80\n\tRTV_SPIPE                      = 0x10\n\tRTV_SSTHRESH                   = 0x20\n\tRTV_WEIGHT                     = 0x100\n\tRT_ALL_FIBS                    = -0x1\n\tRT_BLACKHOLE                   = 0x40\n\tRT_CACHING_CONTEXT             = 0x1\n\tRT_DEFAULT_FIB                 = 0x0\n\tRT_HAS_GW                      = 0x80\n\tRT_HAS_HEADER                  = 0x10\n\tRT_HAS_HEADER_BIT              = 0x4\n\tRT_L2_ME                       = 0x4\n\tRT_L2_ME_BIT                   = 0x2\n\tRT_LLE_CACHE                   = 0x100\n\tRT_MAY_LOOP                    = 0x8\n\tRT_MAY_LOOP_BIT                = 0x3\n\tRT_NORTREF                     = 0x2\n\tRT_REJECT                      = 0x20\n\tRUSAGE_CHILDREN                = -0x1\n\tRUSAGE_SELF                    = 0x0\n\tRUSAGE_THREAD                  = 0x1\n\tSCM_BINTIME                    = 0x4\n\tSCM_CREDS                      = 0x3\n\tSCM_RIGHTS                     = 0x1\n\tSCM_TIMESTAMP                  = 0x2\n\tSHUT_RD                        = 0x0\n\tSHUT_RDWR                      = 0x2\n\tSHUT_WR                        = 0x1\n\tSIOCADDMULTI                   = 0x80206931\n\tSIOCAIFADDR                    = 0x8040691a\n\tSIOCAIFGROUP                   = 0x80286987\n\tSIOCATMARK                     = 0x40047307\n\tSIOCDELMULTI                   = 0x80206932\n\tSIOCDIFADDR                    = 0x80206919\n\tSIOCDIFGROUP                   = 0x80286989\n\tSIOCDIFPHYADDR                 = 0x80206949\n\tSIOCGDRVSPEC                   = 0xc028697b\n\tSIOCGETSGCNT                   = 0xc0207210\n\tSIOCGETVIFCNT                  = 0xc028720f\n\tSIOCGHIWAT                     = 0x40047301\n\tSIOCGI2C                       = 0xc020693d\n\tSIOCGIFADDR                    = 0xc0206921\n\tSIOCGIFBRDADDR                 = 0xc0206923\n\tSIOCGIFCAP                     = 0xc020691f\n\tSIOCGIFCONF                    = 0xc0106924\n\tSIOCGIFDESCR                   = 0xc020692a\n\tSIOCGIFDSTADDR                 = 0xc0206922\n\tSIOCGIFFIB                     = 0xc020695c\n\tSIOCGIFFLAGS                   = 0xc0206911\n\tSIOCGIFGENERIC                 = 0xc020693a\n\tSIOCGIFGMEMB                   = 0xc028698a\n\tSIOCGIFGROUP                   = 0xc0286988\n\tSIOCGIFINDEX                   = 0xc0206920\n\tSIOCGIFMAC                     = 0xc0206926\n\tSIOCGIFMEDIA                   = 0xc0306938\n\tSIOCGIFMETRIC                  = 0xc0206917\n\tSIOCGIFMTU                     = 0xc0206933\n\tSIOCGIFNETMASK                 = 0xc0206925\n\tSIOCGIFPDSTADDR                = 0xc0206948\n\tSIOCGIFPHYS                    = 0xc0206935\n\tSIOCGIFPSRCADDR                = 0xc0206947\n\tSIOCGIFSTATUS                  = 0xc331693b\n\tSIOCGIFXMEDIA                  = 0xc030698b\n\tSIOCGLOWAT                     = 0x40047303\n\tSIOCGPGRP                      = 0x40047309\n\tSIOCGPRIVATE_0                 = 0xc0206950\n\tSIOCGPRIVATE_1                 = 0xc0206951\n\tSIOCGTUNFIB                    = 0xc020695e\n\tSIOCIFCREATE                   = 0xc020697a\n\tSIOCIFCREATE2                  = 0xc020697c\n\tSIOCIFDESTROY                  = 0x80206979\n\tSIOCIFGCLONERS                 = 0xc0106978\n\tSIOCSDRVSPEC                   = 0x8028697b\n\tSIOCSHIWAT                     = 0x80047300\n\tSIOCSIFADDR                    = 0x8020690c\n\tSIOCSIFBRDADDR                 = 0x80206913\n\tSIOCSIFCAP                     = 0x8020691e\n\tSIOCSIFDESCR                   = 0x80206929\n\tSIOCSIFDSTADDR                 = 0x8020690e\n\tSIOCSIFFIB                     = 0x8020695d\n\tSIOCSIFFLAGS                   = 0x80206910\n\tSIOCSIFGENERIC                 = 0x80206939\n\tSIOCSIFLLADDR                  = 0x8020693c\n\tSIOCSIFMAC                     = 0x80206927\n\tSIOCSIFMEDIA                   = 0xc0206937\n\tSIOCSIFMETRIC                  = 0x80206918\n\tSIOCSIFMTU                     = 0x80206934\n\tSIOCSIFNAME                    = 0x80206928\n\tSIOCSIFNETMASK                 = 0x80206916\n\tSIOCSIFPHYADDR                 = 0x80406946\n\tSIOCSIFPHYS                    = 0x80206936\n\tSIOCSIFRVNET                   = 0xc020695b\n\tSIOCSIFVNET                    = 0xc020695a\n\tSIOCSLOWAT                     = 0x80047302\n\tSIOCSPGRP                      = 0x80047308\n\tSIOCSTUNFIB                    = 0x8020695f\n\tSOCK_CLOEXEC                   = 0x10000000\n\tSOCK_DGRAM                     = 0x2\n\tSOCK_MAXADDRLEN                = 0xff\n\tSOCK_NONBLOCK                  = 0x20000000\n\tSOCK_RAW                       = 0x3\n\tSOCK_RDM                       = 0x4\n\tSOCK_SEQPACKET                 = 0x5\n\tSOCK_STREAM                    = 0x1\n\tSOL_SOCKET                     = 0xffff\n\tSOMAXCONN                      = 0x80\n\tSO_ACCEPTCONN                  = 0x2\n\tSO_ACCEPTFILTER                = 0x1000\n\tSO_BINTIME                     = 0x2000\n\tSO_BROADCAST                   = 0x20\n\tSO_DEBUG                       = 0x1\n\tSO_DONTROUTE                   = 0x10\n\tSO_ERROR                       = 0x1007\n\tSO_KEEPALIVE                   = 0x8\n\tSO_LABEL                       = 0x1009\n\tSO_LINGER                      = 0x80\n\tSO_LISTENINCQLEN               = 0x1013\n\tSO_LISTENQLEN                  = 0x1012\n\tSO_LISTENQLIMIT                = 0x1011\n\tSO_NOSIGPIPE                   = 0x800\n\tSO_NO_DDP                      = 0x8000\n\tSO_NO_OFFLOAD                  = 0x4000\n\tSO_OOBINLINE                   = 0x100\n\tSO_PEERLABEL                   = 0x1010\n\tSO_PROTOCOL                    = 0x1016\n\tSO_PROTOTYPE                   = 0x1016\n\tSO_RCVBUF                      = 0x1002\n\tSO_RCVLOWAT                    = 0x1004\n\tSO_RCVTIMEO                    = 0x1006\n\tSO_REUSEADDR                   = 0x4\n\tSO_REUSEPORT                   = 0x200\n\tSO_SETFIB                      = 0x1014\n\tSO_SNDBUF                      = 0x1001\n\tSO_SNDLOWAT                    = 0x1003\n\tSO_SNDTIMEO                    = 0x1005\n\tSO_TIMESTAMP                   = 0x400\n\tSO_TYPE                        = 0x1008\n\tSO_USELOOPBACK                 = 0x40\n\tSO_USER_COOKIE                 = 0x1015\n\tSO_VENDOR                      = 0x80000000\n\tS_BLKSIZE                      = 0x200\n\tS_IEXEC                        = 0x40\n\tS_IFBLK                        = 0x6000\n\tS_IFCHR                        = 0x2000\n\tS_IFDIR                        = 0x4000\n\tS_IFIFO                        = 0x1000\n\tS_IFLNK                        = 0xa000\n\tS_IFMT                         = 0xf000\n\tS_IFREG                        = 0x8000\n\tS_IFSOCK                       = 0xc000\n\tS_IFWHT                        = 0xe000\n\tS_IREAD                        = 0x100\n\tS_IRGRP                        = 0x20\n\tS_IROTH                        = 0x4\n\tS_IRUSR                        = 0x100\n\tS_IRWXG                        = 0x38\n\tS_IRWXO                        = 0x7\n\tS_IRWXU                        = 0x1c0\n\tS_ISGID                        = 0x400\n\tS_ISTXT                        = 0x200\n\tS_ISUID                        = 0x800\n\tS_ISVTX                        = 0x200\n\tS_IWGRP                        = 0x10\n\tS_IWOTH                        = 0x2\n\tS_IWRITE                       = 0x80\n\tS_IWUSR                        = 0x80\n\tS_IXGRP                        = 0x8\n\tS_IXOTH                        = 0x1\n\tS_IXUSR                        = 0x40\n\tTAB0                           = 0x0\n\tTAB3                           = 0x4\n\tTABDLY                         = 0x4\n\tTCIFLUSH                       = 0x1\n\tTCIOFF                         = 0x3\n\tTCIOFLUSH                      = 0x3\n\tTCION                          = 0x4\n\tTCOFLUSH                       = 0x2\n\tTCOOFF                         = 0x1\n\tTCOON                          = 0x2\n\tTCP_CA_NAME_MAX                = 0x10\n\tTCP_CCALGOOPT                  = 0x41\n\tTCP_CONGESTION                 = 0x40\n\tTCP_FASTOPEN                   = 0x401\n\tTCP_FUNCTION_BLK               = 0x2000\n\tTCP_FUNCTION_NAME_LEN_MAX      = 0x20\n\tTCP_INFO                       = 0x20\n\tTCP_KEEPCNT                    = 0x400\n\tTCP_KEEPIDLE                   = 0x100\n\tTCP_KEEPINIT                   = 0x80\n\tTCP_KEEPINTVL                  = 0x200\n\tTCP_MAXBURST                   = 0x4\n\tTCP_MAXHLEN                    = 0x3c\n\tTCP_MAXOLEN                    = 0x28\n\tTCP_MAXSEG                     = 0x2\n\tTCP_MAXWIN                     = 0xffff\n\tTCP_MAX_SACK                   = 0x4\n\tTCP_MAX_WINSHIFT               = 0xe\n\tTCP_MD5SIG                     = 0x10\n\tTCP_MINMSS                     = 0xd8\n\tTCP_MSS                        = 0x218\n\tTCP_NODELAY                    = 0x1\n\tTCP_NOOPT                      = 0x8\n\tTCP_NOPUSH                     = 0x4\n\tTCP_PCAP_IN                    = 0x1000\n\tTCP_PCAP_OUT                   = 0x800\n\tTCP_VENDOR                     = 0x80000000\n\tTCSAFLUSH                      = 0x2\n\tTIOCCBRK                       = 0x2000747a\n\tTIOCCDTR                       = 0x20007478\n\tTIOCCONS                       = 0x80047462\n\tTIOCDRAIN                      = 0x2000745e\n\tTIOCEXCL                       = 0x2000740d\n\tTIOCEXT                        = 0x80047460\n\tTIOCFLUSH                      = 0x80047410\n\tTIOCGDRAINWAIT                 = 0x40047456\n\tTIOCGETA                       = 0x402c7413\n\tTIOCGETD                       = 0x4004741a\n\tTIOCGPGRP                      = 0x40047477\n\tTIOCGPTN                       = 0x4004740f\n\tTIOCGSID                       = 0x40047463\n\tTIOCGWINSZ                     = 0x40087468\n\tTIOCMBIC                       = 0x8004746b\n\tTIOCMBIS                       = 0x8004746c\n\tTIOCMGDTRWAIT                  = 0x4004745a\n\tTIOCMGET                       = 0x4004746a\n\tTIOCMSDTRWAIT                  = 0x8004745b\n\tTIOCMSET                       = 0x8004746d\n\tTIOCM_CAR                      = 0x40\n\tTIOCM_CD                       = 0x40\n\tTIOCM_CTS                      = 0x20\n\tTIOCM_DCD                      = 0x40\n\tTIOCM_DSR                      = 0x100\n\tTIOCM_DTR                      = 0x2\n\tTIOCM_LE                       = 0x1\n\tTIOCM_RI                       = 0x80\n\tTIOCM_RNG                      = 0x80\n\tTIOCM_RTS                      = 0x4\n\tTIOCM_SR                       = 0x10\n\tTIOCM_ST                       = 0x8\n\tTIOCNOTTY                      = 0x20007471\n\tTIOCNXCL                       = 0x2000740e\n\tTIOCOUTQ                       = 0x40047473\n\tTIOCPKT                        = 0x80047470\n\tTIOCPKT_DATA                   = 0x0\n\tTIOCPKT_DOSTOP                 = 0x20\n\tTIOCPKT_FLUSHREAD              = 0x1\n\tTIOCPKT_FLUSHWRITE             = 0x2\n\tTIOCPKT_IOCTL                  = 0x40\n\tTIOCPKT_NOSTOP                 = 0x10\n\tTIOCPKT_START                  = 0x8\n\tTIOCPKT_STOP                   = 0x4\n\tTIOCPTMASTER                   = 0x2000741c\n\tTIOCSBRK                       = 0x2000747b\n\tTIOCSCTTY                      = 0x20007461\n\tTIOCSDRAINWAIT                 = 0x80047457\n\tTIOCSDTR                       = 0x20007479\n\tTIOCSETA                       = 0x802c7414\n\tTIOCSETAF                      = 0x802c7416\n\tTIOCSETAW                      = 0x802c7415\n\tTIOCSETD                       = 0x8004741b\n\tTIOCSIG                        = 0x2004745f\n\tTIOCSPGRP                      = 0x80047476\n\tTIOCSTART                      = 0x2000746e\n\tTIOCSTAT                       = 0x20007465\n\tTIOCSTI                        = 0x80017472\n\tTIOCSTOP                       = 0x2000746f\n\tTIOCSWINSZ                     = 0x80087467\n\tTIOCTIMESTAMP                  = 0x40107459\n\tTIOCUCNTL                      = 0x80047466\n\tTOSTOP                         = 0x400000\n\tVDISCARD                       = 0xf\n\tVDSUSP                         = 0xb\n\tVEOF                           = 0x0\n\tVEOL                           = 0x1\n\tVEOL2                          = 0x2\n\tVERASE                         = 0x3\n\tVERASE2                        = 0x7\n\tVINTR                          = 0x8\n\tVKILL                          = 0x5\n\tVLNEXT                         = 0xe\n\tVMIN                           = 0x10\n\tVQUIT                          = 0x9\n\tVREPRINT                       = 0x6\n\tVSTART                         = 0xc\n\tVSTATUS                        = 0x12\n\tVSTOP                          = 0xd\n\tVSUSP                          = 0xa\n\tVTIME                          = 0x11\n\tVWERASE                        = 0x4\n\tWCONTINUED                     = 0x4\n\tWCOREFLAG                      = 0x80\n\tWEXITED                        = 0x10\n\tWLINUXCLONE                    = 0x80000000\n\tWNOHANG                        = 0x1\n\tWNOWAIT                        = 0x8\n\tWSTOPPED                       = 0x2\n\tWTRAPPED                       = 0x20\n\tWUNTRACED                      = 0x2\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x30)\n\tEADDRNOTAVAIL   = syscall.Errno(0x31)\n\tEAFNOSUPPORT    = syscall.Errno(0x2f)\n\tEAGAIN          = syscall.Errno(0x23)\n\tEALREADY        = syscall.Errno(0x25)\n\tEAUTH           = syscall.Errno(0x50)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADMSG         = syscall.Errno(0x59)\n\tEBADRPC         = syscall.Errno(0x48)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x55)\n\tECAPMODE        = syscall.Errno(0x5e)\n\tECHILD          = syscall.Errno(0xa)\n\tECONNABORTED    = syscall.Errno(0x35)\n\tECONNREFUSED    = syscall.Errno(0x3d)\n\tECONNRESET      = syscall.Errno(0x36)\n\tEDEADLK         = syscall.Errno(0xb)\n\tEDESTADDRREQ    = syscall.Errno(0x27)\n\tEDOM            = syscall.Errno(0x21)\n\tEDOOFUS         = syscall.Errno(0x58)\n\tEDQUOT          = syscall.Errno(0x45)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEFTYPE          = syscall.Errno(0x4f)\n\tEHOSTDOWN       = syscall.Errno(0x40)\n\tEHOSTUNREACH    = syscall.Errno(0x41)\n\tEIDRM           = syscall.Errno(0x52)\n\tEILSEQ          = syscall.Errno(0x56)\n\tEINPROGRESS     = syscall.Errno(0x24)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x38)\n\tEISDIR          = syscall.Errno(0x15)\n\tELAST           = syscall.Errno(0x60)\n\tELOOP           = syscall.Errno(0x3e)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x28)\n\tEMULTIHOP       = syscall.Errno(0x5a)\n\tENAMETOOLONG    = syscall.Errno(0x3f)\n\tENEEDAUTH       = syscall.Errno(0x51)\n\tENETDOWN        = syscall.Errno(0x32)\n\tENETRESET       = syscall.Errno(0x34)\n\tENETUNREACH     = syscall.Errno(0x33)\n\tENFILE          = syscall.Errno(0x17)\n\tENOATTR         = syscall.Errno(0x57)\n\tENOBUFS         = syscall.Errno(0x37)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOLCK          = syscall.Errno(0x4d)\n\tENOLINK         = syscall.Errno(0x5b)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x53)\n\tENOPROTOOPT     = syscall.Errno(0x2a)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSYS          = syscall.Errno(0x4e)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCAPABLE     = syscall.Errno(0x5d)\n\tENOTCONN        = syscall.Errno(0x39)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x42)\n\tENOTRECOVERABLE = syscall.Errno(0x5f)\n\tENOTSOCK        = syscall.Errno(0x26)\n\tENOTSUP         = syscall.Errno(0x2d)\n\tENOTTY          = syscall.Errno(0x19)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x2d)\n\tEOVERFLOW       = syscall.Errno(0x54)\n\tEOWNERDEAD      = syscall.Errno(0x60)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x2e)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROCLIM        = syscall.Errno(0x43)\n\tEPROCUNAVAIL    = syscall.Errno(0x4c)\n\tEPROGMISMATCH   = syscall.Errno(0x4b)\n\tEPROGUNAVAIL    = syscall.Errno(0x4a)\n\tEPROTO          = syscall.Errno(0x5c)\n\tEPROTONOSUPPORT = syscall.Errno(0x2b)\n\tEPROTOTYPE      = syscall.Errno(0x29)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMOTE         = syscall.Errno(0x47)\n\tEROFS           = syscall.Errno(0x1e)\n\tERPCMISMATCH    = syscall.Errno(0x49)\n\tESHUTDOWN       = syscall.Errno(0x3a)\n\tESOCKTNOSUPPORT = syscall.Errno(0x2c)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESTALE          = syscall.Errno(0x46)\n\tETIMEDOUT       = syscall.Errno(0x3c)\n\tETOOMANYREFS    = syscall.Errno(0x3b)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUSERS          = syscall.Errno(0x44)\n\tEWOULDBLOCK     = syscall.Errno(0x23)\n\tEXDEV           = syscall.Errno(0x12)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x14)\n\tSIGCONT   = syscall.Signal(0x13)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINFO   = syscall.Signal(0x1d)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x17)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGLIBRT  = syscall.Signal(0x21)\n\tSIGLWP    = syscall.Signal(0x20)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x11)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTHR    = syscall.Signal(0x20)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x12)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x10)\n\tSIGUSR1   = syscall.Signal(0x1e)\n\tSIGUSR2   = syscall.Signal(0x1f)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errorList = [...]struct {\n\tnum  syscall.Errno\n\tname string\n\tdesc string\n}{\n\t{1, \"EPERM\", \"operation not permitted\"},\n\t{2, \"ENOENT\", \"no such file or directory\"},\n\t{3, \"ESRCH\", \"no such process\"},\n\t{4, \"EINTR\", \"interrupted system call\"},\n\t{5, \"EIO\", \"input/output error\"},\n\t{6, \"ENXIO\", \"device not configured\"},\n\t{7, \"E2BIG\", \"argument list too long\"},\n\t{8, \"ENOEXEC\", \"exec format error\"},\n\t{9, \"EBADF\", \"bad file descriptor\"},\n\t{10, \"ECHILD\", \"no child processes\"},\n\t{11, \"EDEADLK\", \"resource deadlock avoided\"},\n\t{12, \"ENOMEM\", \"cannot allocate memory\"},\n\t{13, \"EACCES\", \"permission denied\"},\n\t{14, \"EFAULT\", \"bad address\"},\n\t{15, \"ENOTBLK\", \"block device required\"},\n\t{16, \"EBUSY\", \"device busy\"},\n\t{17, \"EEXIST\", \"file exists\"},\n\t{18, \"EXDEV\", \"cross-device link\"},\n\t{19, \"ENODEV\", \"operation not supported by device\"},\n\t{20, \"ENOTDIR\", \"not a directory\"},\n\t{21, \"EISDIR\", \"is a directory\"},\n\t{22, \"EINVAL\", \"invalid argument\"},\n\t{23, \"ENFILE\", \"too many open files in system\"},\n\t{24, \"EMFILE\", \"too many open files\"},\n\t{25, \"ENOTTY\", \"inappropriate ioctl for device\"},\n\t{26, \"ETXTBSY\", \"text file busy\"},\n\t{27, \"EFBIG\", \"file too large\"},\n\t{28, \"ENOSPC\", \"no space left on device\"},\n\t{29, \"ESPIPE\", \"illegal seek\"},\n\t{30, \"EROFS\", \"read-only file system\"},\n\t{31, \"EMLINK\", \"too many links\"},\n\t{32, \"EPIPE\", \"broken pipe\"},\n\t{33, \"EDOM\", \"numerical argument out of domain\"},\n\t{34, \"ERANGE\", \"result too large\"},\n\t{35, \"EAGAIN\", \"resource temporarily unavailable\"},\n\t{36, \"EINPROGRESS\", \"operation now in progress\"},\n\t{37, \"EALREADY\", \"operation already in progress\"},\n\t{38, \"ENOTSOCK\", \"socket operation on non-socket\"},\n\t{39, \"EDESTADDRREQ\", \"destination address required\"},\n\t{40, \"EMSGSIZE\", \"message too long\"},\n\t{41, \"EPROTOTYPE\", \"protocol wrong type for socket\"},\n\t{42, \"ENOPROTOOPT\", \"protocol not available\"},\n\t{43, \"EPROTONOSUPPORT\", \"protocol not supported\"},\n\t{44, \"ESOCKTNOSUPPORT\", \"socket type not supported\"},\n\t{45, \"EOPNOTSUPP\", \"operation not supported\"},\n\t{46, \"EPFNOSUPPORT\", \"protocol family not supported\"},\n\t{47, \"EAFNOSUPPORT\", \"address family not supported by protocol family\"},\n\t{48, \"EADDRINUSE\", \"address already in use\"},\n\t{49, \"EADDRNOTAVAIL\", \"can't assign requested address\"},\n\t{50, \"ENETDOWN\", \"network is down\"},\n\t{51, \"ENETUNREACH\", \"network is unreachable\"},\n\t{52, \"ENETRESET\", \"network dropped connection on reset\"},\n\t{53, \"ECONNABORTED\", \"software caused connection abort\"},\n\t{54, \"ECONNRESET\", \"connection reset by peer\"},\n\t{55, \"ENOBUFS\", \"no buffer space available\"},\n\t{56, \"EISCONN\", \"socket is already connected\"},\n\t{57, \"ENOTCONN\", \"socket is not connected\"},\n\t{58, \"ESHUTDOWN\", \"can't send after socket shutdown\"},\n\t{59, \"ETOOMANYREFS\", \"too many references: can't splice\"},\n\t{60, \"ETIMEDOUT\", \"operation timed out\"},\n\t{61, \"ECONNREFUSED\", \"connection refused\"},\n\t{62, \"ELOOP\", \"too many levels of symbolic links\"},\n\t{63, \"ENAMETOOLONG\", \"file name too long\"},\n\t{64, \"EHOSTDOWN\", \"host is down\"},\n\t{65, \"EHOSTUNREACH\", \"no route to host\"},\n\t{66, \"ENOTEMPTY\", \"directory not empty\"},\n\t{67, \"EPROCLIM\", \"too many processes\"},\n\t{68, \"EUSERS\", \"too many users\"},\n\t{69, \"EDQUOT\", \"disc quota exceeded\"},\n\t{70, \"ESTALE\", \"stale NFS file handle\"},\n\t{71, \"EREMOTE\", \"too many levels of remote in path\"},\n\t{72, \"EBADRPC\", \"RPC struct is bad\"},\n\t{73, \"ERPCMISMATCH\", \"RPC version wrong\"},\n\t{74, \"EPROGUNAVAIL\", \"RPC prog. not avail\"},\n\t{75, \"EPROGMISMATCH\", \"program version wrong\"},\n\t{76, \"EPROCUNAVAIL\", \"bad procedure for program\"},\n\t{77, \"ENOLCK\", \"no locks available\"},\n\t{78, \"ENOSYS\", \"function not implemented\"},\n\t{79, \"EFTYPE\", \"inappropriate file type or format\"},\n\t{80, \"EAUTH\", \"authentication error\"},\n\t{81, \"ENEEDAUTH\", \"need authenticator\"},\n\t{82, \"EIDRM\", \"identifier removed\"},\n\t{83, \"ENOMSG\", \"no message of desired type\"},\n\t{84, \"EOVERFLOW\", \"value too large to be stored in data type\"},\n\t{85, \"ECANCELED\", \"operation canceled\"},\n\t{86, \"EILSEQ\", \"illegal byte sequence\"},\n\t{87, \"ENOATTR\", \"attribute not found\"},\n\t{88, \"EDOOFUS\", \"programming error\"},\n\t{89, \"EBADMSG\", \"bad message\"},\n\t{90, \"EMULTIHOP\", \"multihop attempted\"},\n\t{91, \"ENOLINK\", \"link has been severed\"},\n\t{92, \"EPROTO\", \"protocol error\"},\n\t{93, \"ENOTCAPABLE\", \"capabilities insufficient\"},\n\t{94, \"ECAPMODE\", \"not permitted in capability mode\"},\n\t{95, \"ENOTRECOVERABLE\", \"state not recoverable\"},\n\t{96, \"EOWNERDEAD\", \"previous owner died\"},\n}\n\n// Signal table\nvar signalList = [...]struct {\n\tnum  syscall.Signal\n\tname string\n\tdesc string\n}{\n\t{1, \"SIGHUP\", \"hangup\"},\n\t{2, \"SIGINT\", \"interrupt\"},\n\t{3, \"SIGQUIT\", \"quit\"},\n\t{4, \"SIGILL\", \"illegal instruction\"},\n\t{5, \"SIGTRAP\", \"trace/BPT trap\"},\n\t{6, \"SIGIOT\", \"abort trap\"},\n\t{7, \"SIGEMT\", \"EMT trap\"},\n\t{8, \"SIGFPE\", \"floating point exception\"},\n\t{9, \"SIGKILL\", \"killed\"},\n\t{10, \"SIGBUS\", \"bus error\"},\n\t{11, \"SIGSEGV\", \"segmentation fault\"},\n\t{12, \"SIGSYS\", \"bad system call\"},\n\t{13, \"SIGPIPE\", \"broken pipe\"},\n\t{14, \"SIGALRM\", \"alarm clock\"},\n\t{15, \"SIGTERM\", \"terminated\"},\n\t{16, \"SIGURG\", \"urgent I/O condition\"},\n\t{17, \"SIGSTOP\", \"suspended (signal)\"},\n\t{18, \"SIGTSTP\", \"suspended\"},\n\t{19, \"SIGCONT\", \"continued\"},\n\t{20, \"SIGCHLD\", \"child exited\"},\n\t{21, \"SIGTTIN\", \"stopped (tty input)\"},\n\t{22, \"SIGTTOU\", \"stopped (tty output)\"},\n\t{23, \"SIGIO\", \"I/O possible\"},\n\t{24, \"SIGXCPU\", \"cputime limit exceeded\"},\n\t{25, \"SIGXFSZ\", \"filesize limit exceeded\"},\n\t{26, \"SIGVTALRM\", \"virtual timer expired\"},\n\t{27, \"SIGPROF\", \"profiling timer expired\"},\n\t{28, \"SIGWINCH\", \"window size changes\"},\n\t{29, \"SIGINFO\", \"information request\"},\n\t{30, \"SIGUSR1\", \"user defined signal 1\"},\n\t{31, \"SIGUSR2\", \"user defined signal 2\"},\n\t{32, \"SIGTHR\", \"unknown signal\"},\n\t{33, \"SIGLIBRT\", \"unknown signal\"},\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go",
    "content": "// mkerrors.sh\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build arm,freebsd\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_APPLETALK                   = 0x10\n\tAF_ARP                         = 0x23\n\tAF_ATM                         = 0x1e\n\tAF_BLUETOOTH                   = 0x24\n\tAF_CCITT                       = 0xa\n\tAF_CHAOS                       = 0x5\n\tAF_CNT                         = 0x15\n\tAF_COIP                        = 0x14\n\tAF_DATAKIT                     = 0x9\n\tAF_DECnet                      = 0xc\n\tAF_DLI                         = 0xd\n\tAF_E164                        = 0x1a\n\tAF_ECMA                        = 0x8\n\tAF_HYLINK                      = 0xf\n\tAF_IEEE80211                   = 0x25\n\tAF_IMPLINK                     = 0x3\n\tAF_INET                        = 0x2\n\tAF_INET6                       = 0x1c\n\tAF_INET6_SDP                   = 0x2a\n\tAF_INET_SDP                    = 0x28\n\tAF_IPX                         = 0x17\n\tAF_ISDN                        = 0x1a\n\tAF_ISO                         = 0x7\n\tAF_LAT                         = 0xe\n\tAF_LINK                        = 0x12\n\tAF_LOCAL                       = 0x1\n\tAF_MAX                         = 0x2a\n\tAF_NATM                        = 0x1d\n\tAF_NETBIOS                     = 0x6\n\tAF_NETGRAPH                    = 0x20\n\tAF_OSI                         = 0x7\n\tAF_PUP                         = 0x4\n\tAF_ROUTE                       = 0x11\n\tAF_SCLUSTER                    = 0x22\n\tAF_SIP                         = 0x18\n\tAF_SLOW                        = 0x21\n\tAF_SNA                         = 0xb\n\tAF_UNIX                        = 0x1\n\tAF_UNSPEC                      = 0x0\n\tAF_VENDOR00                    = 0x27\n\tAF_VENDOR01                    = 0x29\n\tAF_VENDOR02                    = 0x2b\n\tAF_VENDOR03                    = 0x2d\n\tAF_VENDOR04                    = 0x2f\n\tAF_VENDOR05                    = 0x31\n\tAF_VENDOR06                    = 0x33\n\tAF_VENDOR07                    = 0x35\n\tAF_VENDOR08                    = 0x37\n\tAF_VENDOR09                    = 0x39\n\tAF_VENDOR10                    = 0x3b\n\tAF_VENDOR11                    = 0x3d\n\tAF_VENDOR12                    = 0x3f\n\tAF_VENDOR13                    = 0x41\n\tAF_VENDOR14                    = 0x43\n\tAF_VENDOR15                    = 0x45\n\tAF_VENDOR16                    = 0x47\n\tAF_VENDOR17                    = 0x49\n\tAF_VENDOR18                    = 0x4b\n\tAF_VENDOR19                    = 0x4d\n\tAF_VENDOR20                    = 0x4f\n\tAF_VENDOR21                    = 0x51\n\tAF_VENDOR22                    = 0x53\n\tAF_VENDOR23                    = 0x55\n\tAF_VENDOR24                    = 0x57\n\tAF_VENDOR25                    = 0x59\n\tAF_VENDOR26                    = 0x5b\n\tAF_VENDOR27                    = 0x5d\n\tAF_VENDOR28                    = 0x5f\n\tAF_VENDOR29                    = 0x61\n\tAF_VENDOR30                    = 0x63\n\tAF_VENDOR31                    = 0x65\n\tAF_VENDOR32                    = 0x67\n\tAF_VENDOR33                    = 0x69\n\tAF_VENDOR34                    = 0x6b\n\tAF_VENDOR35                    = 0x6d\n\tAF_VENDOR36                    = 0x6f\n\tAF_VENDOR37                    = 0x71\n\tAF_VENDOR38                    = 0x73\n\tAF_VENDOR39                    = 0x75\n\tAF_VENDOR40                    = 0x77\n\tAF_VENDOR41                    = 0x79\n\tAF_VENDOR42                    = 0x7b\n\tAF_VENDOR43                    = 0x7d\n\tAF_VENDOR44                    = 0x7f\n\tAF_VENDOR45                    = 0x81\n\tAF_VENDOR46                    = 0x83\n\tAF_VENDOR47                    = 0x85\n\tALTWERASE                      = 0x200\n\tB0                             = 0x0\n\tB110                           = 0x6e\n\tB115200                        = 0x1c200\n\tB1200                          = 0x4b0\n\tB134                           = 0x86\n\tB14400                         = 0x3840\n\tB150                           = 0x96\n\tB1800                          = 0x708\n\tB19200                         = 0x4b00\n\tB200                           = 0xc8\n\tB230400                        = 0x38400\n\tB2400                          = 0x960\n\tB28800                         = 0x7080\n\tB300                           = 0x12c\n\tB38400                         = 0x9600\n\tB460800                        = 0x70800\n\tB4800                          = 0x12c0\n\tB50                            = 0x32\n\tB57600                         = 0xe100\n\tB600                           = 0x258\n\tB7200                          = 0x1c20\n\tB75                            = 0x4b\n\tB76800                         = 0x12c00\n\tB921600                        = 0xe1000\n\tB9600                          = 0x2580\n\tBIOCFEEDBACK                   = 0x8004427c\n\tBIOCFLUSH                      = 0x20004268\n\tBIOCGBLEN                      = 0x40044266\n\tBIOCGDIRECTION                 = 0x40044276\n\tBIOCGDLT                       = 0x4004426a\n\tBIOCGDLTLIST                   = 0xc0084279\n\tBIOCGETBUFMODE                 = 0x4004427d\n\tBIOCGETIF                      = 0x4020426b\n\tBIOCGETZMAX                    = 0x4004427f\n\tBIOCGHDRCMPLT                  = 0x40044274\n\tBIOCGRSIG                      = 0x40044272\n\tBIOCGRTIMEOUT                  = 0x4010426e\n\tBIOCGSEESENT                   = 0x40044276\n\tBIOCGSTATS                     = 0x4008426f\n\tBIOCGTSTAMP                    = 0x40044283\n\tBIOCIMMEDIATE                  = 0x80044270\n\tBIOCLOCK                       = 0x2000427a\n\tBIOCPROMISC                    = 0x20004269\n\tBIOCROTZBUF                    = 0x400c4280\n\tBIOCSBLEN                      = 0xc0044266\n\tBIOCSDIRECTION                 = 0x80044277\n\tBIOCSDLT                       = 0x80044278\n\tBIOCSETBUFMODE                 = 0x8004427e\n\tBIOCSETF                       = 0x80084267\n\tBIOCSETFNR                     = 0x80084282\n\tBIOCSETIF                      = 0x8020426c\n\tBIOCSETWF                      = 0x8008427b\n\tBIOCSETZBUF                    = 0x800c4281\n\tBIOCSHDRCMPLT                  = 0x80044275\n\tBIOCSRSIG                      = 0x80044273\n\tBIOCSRTIMEOUT                  = 0x8010426d\n\tBIOCSSEESENT                   = 0x80044277\n\tBIOCSTSTAMP                    = 0x80044284\n\tBIOCVERSION                    = 0x40044271\n\tBPF_A                          = 0x10\n\tBPF_ABS                        = 0x20\n\tBPF_ADD                        = 0x0\n\tBPF_ALIGNMENT                  = 0x4\n\tBPF_ALU                        = 0x4\n\tBPF_AND                        = 0x50\n\tBPF_B                          = 0x10\n\tBPF_BUFMODE_BUFFER             = 0x1\n\tBPF_BUFMODE_ZBUF               = 0x2\n\tBPF_DIV                        = 0x30\n\tBPF_H                          = 0x8\n\tBPF_IMM                        = 0x0\n\tBPF_IND                        = 0x40\n\tBPF_JA                         = 0x0\n\tBPF_JEQ                        = 0x10\n\tBPF_JGE                        = 0x30\n\tBPF_JGT                        = 0x20\n\tBPF_JMP                        = 0x5\n\tBPF_JSET                       = 0x40\n\tBPF_K                          = 0x0\n\tBPF_LD                         = 0x0\n\tBPF_LDX                        = 0x1\n\tBPF_LEN                        = 0x80\n\tBPF_LSH                        = 0x60\n\tBPF_MAJOR_VERSION              = 0x1\n\tBPF_MAXBUFSIZE                 = 0x80000\n\tBPF_MAXINSNS                   = 0x200\n\tBPF_MEM                        = 0x60\n\tBPF_MEMWORDS                   = 0x10\n\tBPF_MINBUFSIZE                 = 0x20\n\tBPF_MINOR_VERSION              = 0x1\n\tBPF_MISC                       = 0x7\n\tBPF_MOD                        = 0x90\n\tBPF_MSH                        = 0xa0\n\tBPF_MUL                        = 0x20\n\tBPF_NEG                        = 0x80\n\tBPF_OR                         = 0x40\n\tBPF_RELEASE                    = 0x30bb6\n\tBPF_RET                        = 0x6\n\tBPF_RSH                        = 0x70\n\tBPF_ST                         = 0x2\n\tBPF_STX                        = 0x3\n\tBPF_SUB                        = 0x10\n\tBPF_TAX                        = 0x0\n\tBPF_TXA                        = 0x80\n\tBPF_T_BINTIME                  = 0x2\n\tBPF_T_BINTIME_FAST             = 0x102\n\tBPF_T_BINTIME_MONOTONIC        = 0x202\n\tBPF_T_BINTIME_MONOTONIC_FAST   = 0x302\n\tBPF_T_FAST                     = 0x100\n\tBPF_T_FLAG_MASK                = 0x300\n\tBPF_T_FORMAT_MASK              = 0x3\n\tBPF_T_MICROTIME                = 0x0\n\tBPF_T_MICROTIME_FAST           = 0x100\n\tBPF_T_MICROTIME_MONOTONIC      = 0x200\n\tBPF_T_MICROTIME_MONOTONIC_FAST = 0x300\n\tBPF_T_MONOTONIC                = 0x200\n\tBPF_T_MONOTONIC_FAST           = 0x300\n\tBPF_T_NANOTIME                 = 0x1\n\tBPF_T_NANOTIME_FAST            = 0x101\n\tBPF_T_NANOTIME_MONOTONIC       = 0x201\n\tBPF_T_NANOTIME_MONOTONIC_FAST  = 0x301\n\tBPF_T_NONE                     = 0x3\n\tBPF_T_NORMAL                   = 0x0\n\tBPF_W                          = 0x0\n\tBPF_X                          = 0x8\n\tBPF_XOR                        = 0xa0\n\tBRKINT                         = 0x2\n\tCAP_ACCEPT                     = 0x200000020000000\n\tCAP_ACL_CHECK                  = 0x400000000010000\n\tCAP_ACL_DELETE                 = 0x400000000020000\n\tCAP_ACL_GET                    = 0x400000000040000\n\tCAP_ACL_SET                    = 0x400000000080000\n\tCAP_ALL0                       = 0x20007ffffffffff\n\tCAP_ALL1                       = 0x4000000001fffff\n\tCAP_BIND                       = 0x200000040000000\n\tCAP_BINDAT                     = 0x200008000000400\n\tCAP_CHFLAGSAT                  = 0x200000000001400\n\tCAP_CONNECT                    = 0x200000080000000\n\tCAP_CONNECTAT                  = 0x200010000000400\n\tCAP_CREATE                     = 0x200000000000040\n\tCAP_EVENT                      = 0x400000000000020\n\tCAP_EXTATTR_DELETE             = 0x400000000001000\n\tCAP_EXTATTR_GET                = 0x400000000002000\n\tCAP_EXTATTR_LIST               = 0x400000000004000\n\tCAP_EXTATTR_SET                = 0x400000000008000\n\tCAP_FCHDIR                     = 0x200000000000800\n\tCAP_FCHFLAGS                   = 0x200000000001000\n\tCAP_FCHMOD                     = 0x200000000002000\n\tCAP_FCHMODAT                   = 0x200000000002400\n\tCAP_FCHOWN                     = 0x200000000004000\n\tCAP_FCHOWNAT                   = 0x200000000004400\n\tCAP_FCNTL                      = 0x200000000008000\n\tCAP_FCNTL_ALL                  = 0x78\n\tCAP_FCNTL_GETFL                = 0x8\n\tCAP_FCNTL_GETOWN               = 0x20\n\tCAP_FCNTL_SETFL                = 0x10\n\tCAP_FCNTL_SETOWN               = 0x40\n\tCAP_FEXECVE                    = 0x200000000000080\n\tCAP_FLOCK                      = 0x200000000010000\n\tCAP_FPATHCONF                  = 0x200000000020000\n\tCAP_FSCK                       = 0x200000000040000\n\tCAP_FSTAT                      = 0x200000000080000\n\tCAP_FSTATAT                    = 0x200000000080400\n\tCAP_FSTATFS                    = 0x200000000100000\n\tCAP_FSYNC                      = 0x200000000000100\n\tCAP_FTRUNCATE                  = 0x200000000000200\n\tCAP_FUTIMES                    = 0x200000000200000\n\tCAP_FUTIMESAT                  = 0x200000000200400\n\tCAP_GETPEERNAME                = 0x200000100000000\n\tCAP_GETSOCKNAME                = 0x200000200000000\n\tCAP_GETSOCKOPT                 = 0x200000400000000\n\tCAP_IOCTL                      = 0x400000000000080\n\tCAP_IOCTLS_ALL                 = 0x7fffffff\n\tCAP_KQUEUE                     = 0x400000000100040\n\tCAP_KQUEUE_CHANGE              = 0x400000000100000\n\tCAP_KQUEUE_EVENT               = 0x400000000000040\n\tCAP_LINKAT_SOURCE              = 0x200020000000400\n\tCAP_LINKAT_TARGET              = 0x200000000400400\n\tCAP_LISTEN                     = 0x200000800000000\n\tCAP_LOOKUP                     = 0x200000000000400\n\tCAP_MAC_GET                    = 0x400000000000001\n\tCAP_MAC_SET                    = 0x400000000000002\n\tCAP_MKDIRAT                    = 0x200000000800400\n\tCAP_MKFIFOAT                   = 0x200000001000400\n\tCAP_MKNODAT                    = 0x200000002000400\n\tCAP_MMAP                       = 0x200000000000010\n\tCAP_MMAP_R                     = 0x20000000000001d\n\tCAP_MMAP_RW                    = 0x20000000000001f\n\tCAP_MMAP_RWX                   = 0x20000000000003f\n\tCAP_MMAP_RX                    = 0x20000000000003d\n\tCAP_MMAP_W                     = 0x20000000000001e\n\tCAP_MMAP_WX                    = 0x20000000000003e\n\tCAP_MMAP_X                     = 0x20000000000003c\n\tCAP_PDGETPID                   = 0x400000000000200\n\tCAP_PDKILL                     = 0x400000000000800\n\tCAP_PDWAIT                     = 0x400000000000400\n\tCAP_PEELOFF                    = 0x200001000000000\n\tCAP_POLL_EVENT                 = 0x400000000000020\n\tCAP_PREAD                      = 0x20000000000000d\n\tCAP_PWRITE                     = 0x20000000000000e\n\tCAP_READ                       = 0x200000000000001\n\tCAP_RECV                       = 0x200000000000001\n\tCAP_RENAMEAT_SOURCE            = 0x200000004000400\n\tCAP_RENAMEAT_TARGET            = 0x200040000000400\n\tCAP_RIGHTS_VERSION             = 0x0\n\tCAP_RIGHTS_VERSION_00          = 0x0\n\tCAP_SEEK                       = 0x20000000000000c\n\tCAP_SEEK_TELL                  = 0x200000000000004\n\tCAP_SEM_GETVALUE               = 0x400000000000004\n\tCAP_SEM_POST                   = 0x400000000000008\n\tCAP_SEM_WAIT                   = 0x400000000000010\n\tCAP_SEND                       = 0x200000000000002\n\tCAP_SETSOCKOPT                 = 0x200002000000000\n\tCAP_SHUTDOWN                   = 0x200004000000000\n\tCAP_SOCK_CLIENT                = 0x200007780000003\n\tCAP_SOCK_SERVER                = 0x200007f60000003\n\tCAP_SYMLINKAT                  = 0x200000008000400\n\tCAP_TTYHOOK                    = 0x400000000000100\n\tCAP_UNLINKAT                   = 0x200000010000400\n\tCAP_UNUSED0_44                 = 0x200080000000000\n\tCAP_UNUSED0_57                 = 0x300000000000000\n\tCAP_UNUSED1_22                 = 0x400000000200000\n\tCAP_UNUSED1_57                 = 0x500000000000000\n\tCAP_WRITE                      = 0x200000000000002\n\tCFLUSH                         = 0xf\n\tCLOCAL                         = 0x8000\n\tCLOCK_MONOTONIC                = 0x4\n\tCLOCK_MONOTONIC_FAST           = 0xc\n\tCLOCK_MONOTONIC_PRECISE        = 0xb\n\tCLOCK_PROCESS_CPUTIME_ID       = 0xf\n\tCLOCK_PROF                     = 0x2\n\tCLOCK_REALTIME                 = 0x0\n\tCLOCK_REALTIME_FAST            = 0xa\n\tCLOCK_REALTIME_PRECISE         = 0x9\n\tCLOCK_SECOND                   = 0xd\n\tCLOCK_THREAD_CPUTIME_ID        = 0xe\n\tCLOCK_UPTIME                   = 0x5\n\tCLOCK_UPTIME_FAST              = 0x8\n\tCLOCK_UPTIME_PRECISE           = 0x7\n\tCLOCK_VIRTUAL                  = 0x1\n\tCREAD                          = 0x800\n\tCRTSCTS                        = 0x30000\n\tCS5                            = 0x0\n\tCS6                            = 0x100\n\tCS7                            = 0x200\n\tCS8                            = 0x300\n\tCSIZE                          = 0x300\n\tCSTART                         = 0x11\n\tCSTATUS                        = 0x14\n\tCSTOP                          = 0x13\n\tCSTOPB                         = 0x400\n\tCSUSP                          = 0x1a\n\tCTL_HW                         = 0x6\n\tCTL_KERN                       = 0x1\n\tCTL_MAXNAME                    = 0x18\n\tCTL_NET                        = 0x4\n\tDLT_A429                       = 0xb8\n\tDLT_A653_ICM                   = 0xb9\n\tDLT_AIRONET_HEADER             = 0x78\n\tDLT_AOS                        = 0xde\n\tDLT_APPLE_IP_OVER_IEEE1394     = 0x8a\n\tDLT_ARCNET                     = 0x7\n\tDLT_ARCNET_LINUX               = 0x81\n\tDLT_ATM_CLIP                   = 0x13\n\tDLT_ATM_RFC1483                = 0xb\n\tDLT_AURORA                     = 0x7e\n\tDLT_AX25                       = 0x3\n\tDLT_AX25_KISS                  = 0xca\n\tDLT_BACNET_MS_TP               = 0xa5\n\tDLT_BLUETOOTH_BREDR_BB         = 0xff\n\tDLT_BLUETOOTH_HCI_H4           = 0xbb\n\tDLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9\n\tDLT_BLUETOOTH_LE_LL            = 0xfb\n\tDLT_BLUETOOTH_LE_LL_WITH_PHDR  = 0x100\n\tDLT_BLUETOOTH_LINUX_MONITOR    = 0xfe\n\tDLT_CAN20B                     = 0xbe\n\tDLT_CAN_SOCKETCAN              = 0xe3\n\tDLT_CHAOS                      = 0x5\n\tDLT_CHDLC                      = 0x68\n\tDLT_CISCO_IOS                  = 0x76\n\tDLT_CLASS_NETBSD_RAWAF         = 0x2240000\n\tDLT_C_HDLC                     = 0x68\n\tDLT_C_HDLC_WITH_DIR            = 0xcd\n\tDLT_DBUS                       = 0xe7\n\tDLT_DECT                       = 0xdd\n\tDLT_DOCSIS                     = 0x8f\n\tDLT_DVB_CI                     = 0xeb\n\tDLT_ECONET                     = 0x73\n\tDLT_EN10MB                     = 0x1\n\tDLT_EN3MB                      = 0x2\n\tDLT_ENC                        = 0x6d\n\tDLT_EPON                       = 0x103\n\tDLT_ERF                        = 0xc5\n\tDLT_ERF_ETH                    = 0xaf\n\tDLT_ERF_POS                    = 0xb0\n\tDLT_FC_2                       = 0xe0\n\tDLT_FC_2_WITH_FRAME_DELIMS     = 0xe1\n\tDLT_FDDI                       = 0xa\n\tDLT_FLEXRAY                    = 0xd2\n\tDLT_FRELAY                     = 0x6b\n\tDLT_FRELAY_WITH_DIR            = 0xce\n\tDLT_GCOM_SERIAL                = 0xad\n\tDLT_GCOM_T1E1                  = 0xac\n\tDLT_GPF_F                      = 0xab\n\tDLT_GPF_T                      = 0xaa\n\tDLT_GPRS_LLC                   = 0xa9\n\tDLT_GSMTAP_ABIS                = 0xda\n\tDLT_GSMTAP_UM                  = 0xd9\n\tDLT_IBM_SN                     = 0x92\n\tDLT_IBM_SP                     = 0x91\n\tDLT_IEEE802                    = 0x6\n\tDLT_IEEE802_11                 = 0x69\n\tDLT_IEEE802_11_RADIO           = 0x7f\n\tDLT_IEEE802_11_RADIO_AVS       = 0xa3\n\tDLT_IEEE802_15_4               = 0xc3\n\tDLT_IEEE802_15_4_LINUX         = 0xbf\n\tDLT_IEEE802_15_4_NOFCS         = 0xe6\n\tDLT_IEEE802_15_4_NONASK_PHY    = 0xd7\n\tDLT_IEEE802_16_MAC_CPS         = 0xbc\n\tDLT_IEEE802_16_MAC_CPS_RADIO   = 0xc1\n\tDLT_INFINIBAND                 = 0xf7\n\tDLT_IPFILTER                   = 0x74\n\tDLT_IPMB                       = 0xc7\n\tDLT_IPMB_LINUX                 = 0xd1\n\tDLT_IPMI_HPM_2                 = 0x104\n\tDLT_IPNET                      = 0xe2\n\tDLT_IPOIB                      = 0xf2\n\tDLT_IPV4                       = 0xe4\n\tDLT_IPV6                       = 0xe5\n\tDLT_IP_OVER_FC                 = 0x7a\n\tDLT_ISO_14443                  = 0x108\n\tDLT_JUNIPER_ATM1               = 0x89\n\tDLT_JUNIPER_ATM2               = 0x87\n\tDLT_JUNIPER_ATM_CEMIC          = 0xee\n\tDLT_JUNIPER_CHDLC              = 0xb5\n\tDLT_JUNIPER_ES                 = 0x84\n\tDLT_JUNIPER_ETHER              = 0xb2\n\tDLT_JUNIPER_FIBRECHANNEL       = 0xea\n\tDLT_JUNIPER_FRELAY             = 0xb4\n\tDLT_JUNIPER_GGSN               = 0x85\n\tDLT_JUNIPER_ISM                = 0xc2\n\tDLT_JUNIPER_MFR                = 0x86\n\tDLT_JUNIPER_MLFR               = 0x83\n\tDLT_JUNIPER_MLPPP              = 0x82\n\tDLT_JUNIPER_MONITOR            = 0xa4\n\tDLT_JUNIPER_PIC_PEER           = 0xae\n\tDLT_JUNIPER_PPP                = 0xb3\n\tDLT_JUNIPER_PPPOE              = 0xa7\n\tDLT_JUNIPER_PPPOE_ATM          = 0xa8\n\tDLT_JUNIPER_SERVICES           = 0x88\n\tDLT_JUNIPER_SRX_E2E            = 0xe9\n\tDLT_JUNIPER_ST                 = 0xc8\n\tDLT_JUNIPER_VP                 = 0xb7\n\tDLT_JUNIPER_VS                 = 0xe8\n\tDLT_LAPB_WITH_DIR              = 0xcf\n\tDLT_LAPD                       = 0xcb\n\tDLT_LIN                        = 0xd4\n\tDLT_LINUX_EVDEV                = 0xd8\n\tDLT_LINUX_IRDA                 = 0x90\n\tDLT_LINUX_LAPD                 = 0xb1\n\tDLT_LINUX_PPP_WITHDIRECTION    = 0xa6\n\tDLT_LINUX_SLL                  = 0x71\n\tDLT_LOOP                       = 0x6c\n\tDLT_LTALK                      = 0x72\n\tDLT_MATCHING_MAX               = 0x109\n\tDLT_MATCHING_MIN               = 0x68\n\tDLT_MFR                        = 0xb6\n\tDLT_MOST                       = 0xd3\n\tDLT_MPEG_2_TS                  = 0xf3\n\tDLT_MPLS                       = 0xdb\n\tDLT_MTP2                       = 0x8c\n\tDLT_MTP2_WITH_PHDR             = 0x8b\n\tDLT_MTP3                       = 0x8d\n\tDLT_MUX27010                   = 0xec\n\tDLT_NETANALYZER                = 0xf0\n\tDLT_NETANALYZER_TRANSPARENT    = 0xf1\n\tDLT_NETLINK                    = 0xfd\n\tDLT_NFC_LLCP                   = 0xf5\n\tDLT_NFLOG                      = 0xef\n\tDLT_NG40                       = 0xf4\n\tDLT_NULL                       = 0x0\n\tDLT_PCI_EXP                    = 0x7d\n\tDLT_PFLOG                      = 0x75\n\tDLT_PFSYNC                     = 0x79\n\tDLT_PKTAP                      = 0x102\n\tDLT_PPI                        = 0xc0\n\tDLT_PPP                        = 0x9\n\tDLT_PPP_BSDOS                  = 0xe\n\tDLT_PPP_ETHER                  = 0x33\n\tDLT_PPP_PPPD                   = 0xa6\n\tDLT_PPP_SERIAL                 = 0x32\n\tDLT_PPP_WITH_DIR               = 0xcc\n\tDLT_PPP_WITH_DIRECTION         = 0xa6\n\tDLT_PRISM_HEADER               = 0x77\n\tDLT_PROFIBUS_DL                = 0x101\n\tDLT_PRONET                     = 0x4\n\tDLT_RAIF1                      = 0xc6\n\tDLT_RAW                        = 0xc\n\tDLT_RDS                        = 0x109\n\tDLT_REDBACK_SMARTEDGE          = 0x20\n\tDLT_RIO                        = 0x7c\n\tDLT_RTAC_SERIAL                = 0xfa\n\tDLT_SCCP                       = 0x8e\n\tDLT_SCTP                       = 0xf8\n\tDLT_SITA                       = 0xc4\n\tDLT_SLIP                       = 0x8\n\tDLT_SLIP_BSDOS                 = 0xd\n\tDLT_STANAG_5066_D_PDU          = 0xed\n\tDLT_SUNATM                     = 0x7b\n\tDLT_SYMANTEC_FIREWALL          = 0x63\n\tDLT_TZSP                       = 0x80\n\tDLT_USB                        = 0xba\n\tDLT_USBPCAP                    = 0xf9\n\tDLT_USB_FREEBSD                = 0xba\n\tDLT_USB_LINUX                  = 0xbd\n\tDLT_USB_LINUX_MMAPPED          = 0xdc\n\tDLT_USER0                      = 0x93\n\tDLT_USER1                      = 0x94\n\tDLT_USER10                     = 0x9d\n\tDLT_USER11                     = 0x9e\n\tDLT_USER12                     = 0x9f\n\tDLT_USER13                     = 0xa0\n\tDLT_USER14                     = 0xa1\n\tDLT_USER15                     = 0xa2\n\tDLT_USER2                      = 0x95\n\tDLT_USER3                      = 0x96\n\tDLT_USER4                      = 0x97\n\tDLT_USER5                      = 0x98\n\tDLT_USER6                      = 0x99\n\tDLT_USER7                      = 0x9a\n\tDLT_USER8                      = 0x9b\n\tDLT_USER9                      = 0x9c\n\tDLT_WATTSTOPPER_DLM            = 0x107\n\tDLT_WIHART                     = 0xdf\n\tDLT_WIRESHARK_UPPER_PDU        = 0xfc\n\tDLT_X2E_SERIAL                 = 0xd5\n\tDLT_X2E_XORAYA                 = 0xd6\n\tDLT_ZWAVE_R1_R2                = 0x105\n\tDLT_ZWAVE_R3                   = 0x106\n\tDT_BLK                         = 0x6\n\tDT_CHR                         = 0x2\n\tDT_DIR                         = 0x4\n\tDT_FIFO                        = 0x1\n\tDT_LNK                         = 0xa\n\tDT_REG                         = 0x8\n\tDT_SOCK                        = 0xc\n\tDT_UNKNOWN                     = 0x0\n\tDT_WHT                         = 0xe\n\tECHO                           = 0x8\n\tECHOCTL                        = 0x40\n\tECHOE                          = 0x2\n\tECHOK                          = 0x4\n\tECHOKE                         = 0x1\n\tECHONL                         = 0x10\n\tECHOPRT                        = 0x20\n\tEVFILT_AIO                     = -0x3\n\tEVFILT_FS                      = -0x9\n\tEVFILT_LIO                     = -0xa\n\tEVFILT_PROC                    = -0x5\n\tEVFILT_PROCDESC                = -0x8\n\tEVFILT_READ                    = -0x1\n\tEVFILT_SENDFILE                = -0xc\n\tEVFILT_SIGNAL                  = -0x6\n\tEVFILT_SYSCOUNT                = 0xc\n\tEVFILT_TIMER                   = -0x7\n\tEVFILT_USER                    = -0xb\n\tEVFILT_VNODE                   = -0x4\n\tEVFILT_WRITE                   = -0x2\n\tEV_ADD                         = 0x1\n\tEV_CLEAR                       = 0x20\n\tEV_DELETE                      = 0x2\n\tEV_DISABLE                     = 0x8\n\tEV_DISPATCH                    = 0x80\n\tEV_DROP                        = 0x1000\n\tEV_ENABLE                      = 0x4\n\tEV_EOF                         = 0x8000\n\tEV_ERROR                       = 0x4000\n\tEV_FLAG1                       = 0x2000\n\tEV_FLAG2                       = 0x4000\n\tEV_FORCEONESHOT                = 0x100\n\tEV_ONESHOT                     = 0x10\n\tEV_RECEIPT                     = 0x40\n\tEV_SYSFLAGS                    = 0xf000\n\tEXTA                           = 0x4b00\n\tEXTATTR_NAMESPACE_EMPTY        = 0x0\n\tEXTATTR_NAMESPACE_SYSTEM       = 0x2\n\tEXTATTR_NAMESPACE_USER         = 0x1\n\tEXTB                           = 0x9600\n\tEXTPROC                        = 0x800\n\tFD_CLOEXEC                     = 0x1\n\tFD_SETSIZE                     = 0x400\n\tFLUSHO                         = 0x800000\n\tF_CANCEL                       = 0x5\n\tF_DUP2FD                       = 0xa\n\tF_DUP2FD_CLOEXEC               = 0x12\n\tF_DUPFD                        = 0x0\n\tF_DUPFD_CLOEXEC                = 0x11\n\tF_GETFD                        = 0x1\n\tF_GETFL                        = 0x3\n\tF_GETLK                        = 0xb\n\tF_GETOWN                       = 0x5\n\tF_OGETLK                       = 0x7\n\tF_OK                           = 0x0\n\tF_OSETLK                       = 0x8\n\tF_OSETLKW                      = 0x9\n\tF_RDAHEAD                      = 0x10\n\tF_RDLCK                        = 0x1\n\tF_READAHEAD                    = 0xf\n\tF_SETFD                        = 0x2\n\tF_SETFL                        = 0x4\n\tF_SETLK                        = 0xc\n\tF_SETLKW                       = 0xd\n\tF_SETLK_REMOTE                 = 0xe\n\tF_SETOWN                       = 0x6\n\tF_UNLCK                        = 0x2\n\tF_UNLCKSYS                     = 0x4\n\tF_WRLCK                        = 0x3\n\tHUPCL                          = 0x4000\n\tHW_MACHINE                     = 0x1\n\tICANON                         = 0x100\n\tICMP6_FILTER                   = 0x12\n\tICRNL                          = 0x100\n\tIEXTEN                         = 0x400\n\tIFAN_ARRIVAL                   = 0x0\n\tIFAN_DEPARTURE                 = 0x1\n\tIFF_ALLMULTI                   = 0x200\n\tIFF_ALTPHYS                    = 0x4000\n\tIFF_BROADCAST                  = 0x2\n\tIFF_CANTCHANGE                 = 0x218f52\n\tIFF_CANTCONFIG                 = 0x10000\n\tIFF_DEBUG                      = 0x4\n\tIFF_DRV_OACTIVE                = 0x400\n\tIFF_DRV_RUNNING                = 0x40\n\tIFF_DYING                      = 0x200000\n\tIFF_LINK0                      = 0x1000\n\tIFF_LINK1                      = 0x2000\n\tIFF_LINK2                      = 0x4000\n\tIFF_LOOPBACK                   = 0x8\n\tIFF_MONITOR                    = 0x40000\n\tIFF_MULTICAST                  = 0x8000\n\tIFF_NOARP                      = 0x80\n\tIFF_OACTIVE                    = 0x400\n\tIFF_POINTOPOINT                = 0x10\n\tIFF_PPROMISC                   = 0x20000\n\tIFF_PROMISC                    = 0x100\n\tIFF_RENAMING                   = 0x400000\n\tIFF_RUNNING                    = 0x40\n\tIFF_SIMPLEX                    = 0x800\n\tIFF_STATICARP                  = 0x80000\n\tIFF_UP                         = 0x1\n\tIFNAMSIZ                       = 0x10\n\tIFT_BRIDGE                     = 0xd1\n\tIFT_CARP                       = 0xf8\n\tIFT_IEEE1394                   = 0x90\n\tIFT_INFINIBAND                 = 0xc7\n\tIFT_L2VLAN                     = 0x87\n\tIFT_L3IPVLAN                   = 0x88\n\tIFT_PPP                        = 0x17\n\tIFT_PROPVIRTUAL                = 0x35\n\tIGNBRK                         = 0x1\n\tIGNCR                          = 0x80\n\tIGNPAR                         = 0x4\n\tIMAXBEL                        = 0x2000\n\tINLCR                          = 0x40\n\tINPCK                          = 0x10\n\tIN_CLASSA_HOST                 = 0xffffff\n\tIN_CLASSA_MAX                  = 0x80\n\tIN_CLASSA_NET                  = 0xff000000\n\tIN_CLASSA_NSHIFT               = 0x18\n\tIN_CLASSB_HOST                 = 0xffff\n\tIN_CLASSB_MAX                  = 0x10000\n\tIN_CLASSB_NET                  = 0xffff0000\n\tIN_CLASSB_NSHIFT               = 0x10\n\tIN_CLASSC_HOST                 = 0xff\n\tIN_CLASSC_NET                  = 0xffffff00\n\tIN_CLASSC_NSHIFT               = 0x8\n\tIN_CLASSD_HOST                 = 0xfffffff\n\tIN_CLASSD_NET                  = 0xf0000000\n\tIN_CLASSD_NSHIFT               = 0x1c\n\tIN_LOOPBACKNET                 = 0x7f\n\tIN_RFC3021_MASK                = 0xfffffffe\n\tIPPROTO_3PC                    = 0x22\n\tIPPROTO_ADFS                   = 0x44\n\tIPPROTO_AH                     = 0x33\n\tIPPROTO_AHIP                   = 0x3d\n\tIPPROTO_APES                   = 0x63\n\tIPPROTO_ARGUS                  = 0xd\n\tIPPROTO_AX25                   = 0x5d\n\tIPPROTO_BHA                    = 0x31\n\tIPPROTO_BLT                    = 0x1e\n\tIPPROTO_BRSATMON               = 0x4c\n\tIPPROTO_CARP                   = 0x70\n\tIPPROTO_CFTP                   = 0x3e\n\tIPPROTO_CHAOS                  = 0x10\n\tIPPROTO_CMTP                   = 0x26\n\tIPPROTO_CPHB                   = 0x49\n\tIPPROTO_CPNX                   = 0x48\n\tIPPROTO_DDP                    = 0x25\n\tIPPROTO_DGP                    = 0x56\n\tIPPROTO_DIVERT                 = 0x102\n\tIPPROTO_DONE                   = 0x101\n\tIPPROTO_DSTOPTS                = 0x3c\n\tIPPROTO_EGP                    = 0x8\n\tIPPROTO_EMCON                  = 0xe\n\tIPPROTO_ENCAP                  = 0x62\n\tIPPROTO_EON                    = 0x50\n\tIPPROTO_ESP                    = 0x32\n\tIPPROTO_ETHERIP                = 0x61\n\tIPPROTO_FRAGMENT               = 0x2c\n\tIPPROTO_GGP                    = 0x3\n\tIPPROTO_GMTP                   = 0x64\n\tIPPROTO_GRE                    = 0x2f\n\tIPPROTO_HELLO                  = 0x3f\n\tIPPROTO_HIP                    = 0x8b\n\tIPPROTO_HMP                    = 0x14\n\tIPPROTO_HOPOPTS                = 0x0\n\tIPPROTO_ICMP                   = 0x1\n\tIPPROTO_ICMPV6                 = 0x3a\n\tIPPROTO_IDP                    = 0x16\n\tIPPROTO_IDPR                   = 0x23\n\tIPPROTO_IDRP                   = 0x2d\n\tIPPROTO_IGMP                   = 0x2\n\tIPPROTO_IGP                    = 0x55\n\tIPPROTO_IGRP                   = 0x58\n\tIPPROTO_IL                     = 0x28\n\tIPPROTO_INLSP                  = 0x34\n\tIPPROTO_INP                    = 0x20\n\tIPPROTO_IP                     = 0x0\n\tIPPROTO_IPCOMP                 = 0x6c\n\tIPPROTO_IPCV                   = 0x47\n\tIPPROTO_IPEIP                  = 0x5e\n\tIPPROTO_IPIP                   = 0x4\n\tIPPROTO_IPPC                   = 0x43\n\tIPPROTO_IPV4                   = 0x4\n\tIPPROTO_IPV6                   = 0x29\n\tIPPROTO_IRTP                   = 0x1c\n\tIPPROTO_KRYPTOLAN              = 0x41\n\tIPPROTO_LARP                   = 0x5b\n\tIPPROTO_LEAF1                  = 0x19\n\tIPPROTO_LEAF2                  = 0x1a\n\tIPPROTO_MAX                    = 0x100\n\tIPPROTO_MEAS                   = 0x13\n\tIPPROTO_MH                     = 0x87\n\tIPPROTO_MHRP                   = 0x30\n\tIPPROTO_MICP                   = 0x5f\n\tIPPROTO_MOBILE                 = 0x37\n\tIPPROTO_MPLS                   = 0x89\n\tIPPROTO_MTP                    = 0x5c\n\tIPPROTO_MUX                    = 0x12\n\tIPPROTO_ND                     = 0x4d\n\tIPPROTO_NHRP                   = 0x36\n\tIPPROTO_NONE                   = 0x3b\n\tIPPROTO_NSP                    = 0x1f\n\tIPPROTO_NVPII                  = 0xb\n\tIPPROTO_OLD_DIVERT             = 0xfe\n\tIPPROTO_OSPFIGP                = 0x59\n\tIPPROTO_PFSYNC                 = 0xf0\n\tIPPROTO_PGM                    = 0x71\n\tIPPROTO_PIGP                   = 0x9\n\tIPPROTO_PIM                    = 0x67\n\tIPPROTO_PRM                    = 0x15\n\tIPPROTO_PUP                    = 0xc\n\tIPPROTO_PVP                    = 0x4b\n\tIPPROTO_RAW                    = 0xff\n\tIPPROTO_RCCMON                 = 0xa\n\tIPPROTO_RDP                    = 0x1b\n\tIPPROTO_RESERVED_253           = 0xfd\n\tIPPROTO_RESERVED_254           = 0xfe\n\tIPPROTO_ROUTING                = 0x2b\n\tIPPROTO_RSVP                   = 0x2e\n\tIPPROTO_RVD                    = 0x42\n\tIPPROTO_SATEXPAK               = 0x40\n\tIPPROTO_SATMON                 = 0x45\n\tIPPROTO_SCCSP                  = 0x60\n\tIPPROTO_SCTP                   = 0x84\n\tIPPROTO_SDRP                   = 0x2a\n\tIPPROTO_SEND                   = 0x103\n\tIPPROTO_SEP                    = 0x21\n\tIPPROTO_SHIM6                  = 0x8c\n\tIPPROTO_SKIP                   = 0x39\n\tIPPROTO_SPACER                 = 0x7fff\n\tIPPROTO_SRPC                   = 0x5a\n\tIPPROTO_ST                     = 0x7\n\tIPPROTO_SVMTP                  = 0x52\n\tIPPROTO_SWIPE                  = 0x35\n\tIPPROTO_TCF                    = 0x57\n\tIPPROTO_TCP                    = 0x6\n\tIPPROTO_TLSP                   = 0x38\n\tIPPROTO_TP                     = 0x1d\n\tIPPROTO_TPXX                   = 0x27\n\tIPPROTO_TRUNK1                 = 0x17\n\tIPPROTO_TRUNK2                 = 0x18\n\tIPPROTO_TTP                    = 0x54\n\tIPPROTO_UDP                    = 0x11\n\tIPPROTO_UDPLITE                = 0x88\n\tIPPROTO_VINES                  = 0x53\n\tIPPROTO_VISA                   = 0x46\n\tIPPROTO_VMTP                   = 0x51\n\tIPPROTO_WBEXPAK                = 0x4f\n\tIPPROTO_WBMON                  = 0x4e\n\tIPPROTO_WSN                    = 0x4a\n\tIPPROTO_XNET                   = 0xf\n\tIPPROTO_XTP                    = 0x24\n\tIPV6_AUTOFLOWLABEL             = 0x3b\n\tIPV6_BINDANY                   = 0x40\n\tIPV6_BINDMULTI                 = 0x41\n\tIPV6_BINDV6ONLY                = 0x1b\n\tIPV6_CHECKSUM                  = 0x1a\n\tIPV6_DEFAULT_MULTICAST_HOPS    = 0x1\n\tIPV6_DEFAULT_MULTICAST_LOOP    = 0x1\n\tIPV6_DEFHLIM                   = 0x40\n\tIPV6_DONTFRAG                  = 0x3e\n\tIPV6_DSTOPTS                   = 0x32\n\tIPV6_FLOWID                    = 0x43\n\tIPV6_FLOWINFO_MASK             = 0xffffff0f\n\tIPV6_FLOWLABEL_MASK            = 0xffff0f00\n\tIPV6_FLOWTYPE                  = 0x44\n\tIPV6_FRAGTTL                   = 0x78\n\tIPV6_FW_ADD                    = 0x1e\n\tIPV6_FW_DEL                    = 0x1f\n\tIPV6_FW_FLUSH                  = 0x20\n\tIPV6_FW_GET                    = 0x22\n\tIPV6_FW_ZERO                   = 0x21\n\tIPV6_HLIMDEC                   = 0x1\n\tIPV6_HOPLIMIT                  = 0x2f\n\tIPV6_HOPOPTS                   = 0x31\n\tIPV6_IPSEC_POLICY              = 0x1c\n\tIPV6_JOIN_GROUP                = 0xc\n\tIPV6_LEAVE_GROUP               = 0xd\n\tIPV6_MAXHLIM                   = 0xff\n\tIPV6_MAXOPTHDR                 = 0x800\n\tIPV6_MAXPACKET                 = 0xffff\n\tIPV6_MAX_GROUP_SRC_FILTER      = 0x200\n\tIPV6_MAX_MEMBERSHIPS           = 0xfff\n\tIPV6_MAX_SOCK_SRC_FILTER       = 0x80\n\tIPV6_MIN_MEMBERSHIPS           = 0x1f\n\tIPV6_MMTU                      = 0x500\n\tIPV6_MSFILTER                  = 0x4a\n\tIPV6_MULTICAST_HOPS            = 0xa\n\tIPV6_MULTICAST_IF              = 0x9\n\tIPV6_MULTICAST_LOOP            = 0xb\n\tIPV6_NEXTHOP                   = 0x30\n\tIPV6_PATHMTU                   = 0x2c\n\tIPV6_PKTINFO                   = 0x2e\n\tIPV6_PORTRANGE                 = 0xe\n\tIPV6_PORTRANGE_DEFAULT         = 0x0\n\tIPV6_PORTRANGE_HIGH            = 0x1\n\tIPV6_PORTRANGE_LOW             = 0x2\n\tIPV6_PREFER_TEMPADDR           = 0x3f\n\tIPV6_RECVDSTOPTS               = 0x28\n\tIPV6_RECVFLOWID                = 0x46\n\tIPV6_RECVHOPLIMIT              = 0x25\n\tIPV6_RECVHOPOPTS               = 0x27\n\tIPV6_RECVPATHMTU               = 0x2b\n\tIPV6_RECVPKTINFO               = 0x24\n\tIPV6_RECVRSSBUCKETID           = 0x47\n\tIPV6_RECVRTHDR                 = 0x26\n\tIPV6_RECVTCLASS                = 0x39\n\tIPV6_RSSBUCKETID               = 0x45\n\tIPV6_RSS_LISTEN_BUCKET         = 0x42\n\tIPV6_RTHDR                     = 0x33\n\tIPV6_RTHDRDSTOPTS              = 0x23\n\tIPV6_RTHDR_LOOSE               = 0x0\n\tIPV6_RTHDR_STRICT              = 0x1\n\tIPV6_RTHDR_TYPE_0              = 0x0\n\tIPV6_SOCKOPT_RESERVED1         = 0x3\n\tIPV6_TCLASS                    = 0x3d\n\tIPV6_UNICAST_HOPS              = 0x4\n\tIPV6_USE_MIN_MTU               = 0x2a\n\tIPV6_V6ONLY                    = 0x1b\n\tIPV6_VERSION                   = 0x60\n\tIPV6_VERSION_MASK              = 0xf0\n\tIP_ADD_MEMBERSHIP              = 0xc\n\tIP_ADD_SOURCE_MEMBERSHIP       = 0x46\n\tIP_BINDANY                     = 0x18\n\tIP_BINDMULTI                   = 0x19\n\tIP_BLOCK_SOURCE                = 0x48\n\tIP_DEFAULT_MULTICAST_LOOP      = 0x1\n\tIP_DEFAULT_MULTICAST_TTL       = 0x1\n\tIP_DF                          = 0x4000\n\tIP_DONTFRAG                    = 0x43\n\tIP_DROP_MEMBERSHIP             = 0xd\n\tIP_DROP_SOURCE_MEMBERSHIP      = 0x47\n\tIP_DUMMYNET3                   = 0x31\n\tIP_DUMMYNET_CONFIGURE          = 0x3c\n\tIP_DUMMYNET_DEL                = 0x3d\n\tIP_DUMMYNET_FLUSH              = 0x3e\n\tIP_DUMMYNET_GET                = 0x40\n\tIP_FLOWID                      = 0x5a\n\tIP_FLOWTYPE                    = 0x5b\n\tIP_FW3                         = 0x30\n\tIP_FW_ADD                      = 0x32\n\tIP_FW_DEL                      = 0x33\n\tIP_FW_FLUSH                    = 0x34\n\tIP_FW_GET                      = 0x36\n\tIP_FW_NAT_CFG                  = 0x38\n\tIP_FW_NAT_DEL                  = 0x39\n\tIP_FW_NAT_GET_CONFIG           = 0x3a\n\tIP_FW_NAT_GET_LOG              = 0x3b\n\tIP_FW_RESETLOG                 = 0x37\n\tIP_FW_TABLE_ADD                = 0x28\n\tIP_FW_TABLE_DEL                = 0x29\n\tIP_FW_TABLE_FLUSH              = 0x2a\n\tIP_FW_TABLE_GETSIZE            = 0x2b\n\tIP_FW_TABLE_LIST               = 0x2c\n\tIP_FW_ZERO                     = 0x35\n\tIP_HDRINCL                     = 0x2\n\tIP_IPSEC_POLICY                = 0x15\n\tIP_MAXPACKET                   = 0xffff\n\tIP_MAX_GROUP_SRC_FILTER        = 0x200\n\tIP_MAX_MEMBERSHIPS             = 0xfff\n\tIP_MAX_SOCK_MUTE_FILTER        = 0x80\n\tIP_MAX_SOCK_SRC_FILTER         = 0x80\n\tIP_MAX_SOURCE_FILTER           = 0x400\n\tIP_MF                          = 0x2000\n\tIP_MINTTL                      = 0x42\n\tIP_MIN_MEMBERSHIPS             = 0x1f\n\tIP_MSFILTER                    = 0x4a\n\tIP_MSS                         = 0x240\n\tIP_MULTICAST_IF                = 0x9\n\tIP_MULTICAST_LOOP              = 0xb\n\tIP_MULTICAST_TTL               = 0xa\n\tIP_MULTICAST_VIF               = 0xe\n\tIP_OFFMASK                     = 0x1fff\n\tIP_ONESBCAST                   = 0x17\n\tIP_OPTIONS                     = 0x1\n\tIP_PORTRANGE                   = 0x13\n\tIP_PORTRANGE_DEFAULT           = 0x0\n\tIP_PORTRANGE_HIGH              = 0x1\n\tIP_PORTRANGE_LOW               = 0x2\n\tIP_RECVDSTADDR                 = 0x7\n\tIP_RECVFLOWID                  = 0x5d\n\tIP_RECVIF                      = 0x14\n\tIP_RECVOPTS                    = 0x5\n\tIP_RECVRETOPTS                 = 0x6\n\tIP_RECVRSSBUCKETID             = 0x5e\n\tIP_RECVTOS                     = 0x44\n\tIP_RECVTTL                     = 0x41\n\tIP_RETOPTS                     = 0x8\n\tIP_RF                          = 0x8000\n\tIP_RSSBUCKETID                 = 0x5c\n\tIP_RSS_LISTEN_BUCKET           = 0x1a\n\tIP_RSVP_OFF                    = 0x10\n\tIP_RSVP_ON                     = 0xf\n\tIP_RSVP_VIF_OFF                = 0x12\n\tIP_RSVP_VIF_ON                 = 0x11\n\tIP_SENDSRCADDR                 = 0x7\n\tIP_TOS                         = 0x3\n\tIP_TTL                         = 0x4\n\tIP_UNBLOCK_SOURCE              = 0x49\n\tISIG                           = 0x80\n\tISTRIP                         = 0x20\n\tIXANY                          = 0x800\n\tIXOFF                          = 0x400\n\tIXON                           = 0x200\n\tKERN_HOSTNAME                  = 0xa\n\tKERN_OSRELEASE                 = 0x2\n\tKERN_OSTYPE                    = 0x1\n\tKERN_VERSION                   = 0x4\n\tLOCK_EX                        = 0x2\n\tLOCK_NB                        = 0x4\n\tLOCK_SH                        = 0x1\n\tLOCK_UN                        = 0x8\n\tMADV_AUTOSYNC                  = 0x7\n\tMADV_CORE                      = 0x9\n\tMADV_DONTNEED                  = 0x4\n\tMADV_FREE                      = 0x5\n\tMADV_NOCORE                    = 0x8\n\tMADV_NORMAL                    = 0x0\n\tMADV_NOSYNC                    = 0x6\n\tMADV_PROTECT                   = 0xa\n\tMADV_RANDOM                    = 0x1\n\tMADV_SEQUENTIAL                = 0x2\n\tMADV_WILLNEED                  = 0x3\n\tMAP_ALIGNED_SUPER              = 0x1000000\n\tMAP_ALIGNMENT_MASK             = -0x1000000\n\tMAP_ALIGNMENT_SHIFT            = 0x18\n\tMAP_ANON                       = 0x1000\n\tMAP_ANONYMOUS                  = 0x1000\n\tMAP_COPY                       = 0x2\n\tMAP_EXCL                       = 0x4000\n\tMAP_FILE                       = 0x0\n\tMAP_FIXED                      = 0x10\n\tMAP_GUARD                      = 0x2000\n\tMAP_HASSEMAPHORE               = 0x200\n\tMAP_NOCORE                     = 0x20000\n\tMAP_NOSYNC                     = 0x800\n\tMAP_PREFAULT_READ              = 0x40000\n\tMAP_PRIVATE                    = 0x2\n\tMAP_RESERVED0020               = 0x20\n\tMAP_RESERVED0040               = 0x40\n\tMAP_RESERVED0080               = 0x80\n\tMAP_RESERVED0100               = 0x100\n\tMAP_SHARED                     = 0x1\n\tMAP_STACK                      = 0x400\n\tMCL_CURRENT                    = 0x1\n\tMCL_FUTURE                     = 0x2\n\tMNT_ACLS                       = 0x8000000\n\tMNT_ASYNC                      = 0x40\n\tMNT_AUTOMOUNTED                = 0x200000000\n\tMNT_BYFSID                     = 0x8000000\n\tMNT_CMDFLAGS                   = 0xd0f0000\n\tMNT_DEFEXPORTED                = 0x200\n\tMNT_DELEXPORT                  = 0x20000\n\tMNT_EXKERB                     = 0x800\n\tMNT_EXPORTANON                 = 0x400\n\tMNT_EXPORTED                   = 0x100\n\tMNT_EXPUBLIC                   = 0x20000000\n\tMNT_EXRDONLY                   = 0x80\n\tMNT_FORCE                      = 0x80000\n\tMNT_GJOURNAL                   = 0x2000000\n\tMNT_IGNORE                     = 0x800000\n\tMNT_LAZY                       = 0x3\n\tMNT_LOCAL                      = 0x1000\n\tMNT_MULTILABEL                 = 0x4000000\n\tMNT_NFS4ACLS                   = 0x10\n\tMNT_NOATIME                    = 0x10000000\n\tMNT_NOCLUSTERR                 = 0x40000000\n\tMNT_NOCLUSTERW                 = 0x80000000\n\tMNT_NOEXEC                     = 0x4\n\tMNT_NONBUSY                    = 0x4000000\n\tMNT_NOSUID                     = 0x8\n\tMNT_NOSYMFOLLOW                = 0x400000\n\tMNT_NOWAIT                     = 0x2\n\tMNT_QUOTA                      = 0x2000\n\tMNT_RDONLY                     = 0x1\n\tMNT_RELOAD                     = 0x40000\n\tMNT_ROOTFS                     = 0x4000\n\tMNT_SNAPSHOT                   = 0x1000000\n\tMNT_SOFTDEP                    = 0x200000\n\tMNT_SUIDDIR                    = 0x100000\n\tMNT_SUJ                        = 0x100000000\n\tMNT_SUSPEND                    = 0x4\n\tMNT_SYNCHRONOUS                = 0x2\n\tMNT_UNION                      = 0x20\n\tMNT_UPDATE                     = 0x10000\n\tMNT_UPDATEMASK                 = 0x2d8d0807e\n\tMNT_USER                       = 0x8000\n\tMNT_VISFLAGMASK                = 0x3fef0ffff\n\tMNT_WAIT                       = 0x1\n\tMSG_CMSG_CLOEXEC               = 0x40000\n\tMSG_COMPAT                     = 0x8000\n\tMSG_CTRUNC                     = 0x20\n\tMSG_DONTROUTE                  = 0x4\n\tMSG_DONTWAIT                   = 0x80\n\tMSG_EOF                        = 0x100\n\tMSG_EOR                        = 0x8\n\tMSG_NBIO                       = 0x4000\n\tMSG_NOSIGNAL                   = 0x20000\n\tMSG_NOTIFICATION               = 0x2000\n\tMSG_OOB                        = 0x1\n\tMSG_PEEK                       = 0x2\n\tMSG_TRUNC                      = 0x10\n\tMSG_WAITALL                    = 0x40\n\tMSG_WAITFORONE                 = 0x80000\n\tMS_ASYNC                       = 0x1\n\tMS_INVALIDATE                  = 0x2\n\tMS_SYNC                        = 0x0\n\tNAME_MAX                       = 0xff\n\tNET_RT_DUMP                    = 0x1\n\tNET_RT_FLAGS                   = 0x2\n\tNET_RT_IFLIST                  = 0x3\n\tNET_RT_IFLISTL                 = 0x5\n\tNET_RT_IFMALIST                = 0x4\n\tNOFLSH                         = 0x80000000\n\tNOKERNINFO                     = 0x2000000\n\tNOTE_ATTRIB                    = 0x8\n\tNOTE_CHILD                     = 0x4\n\tNOTE_CLOSE                     = 0x100\n\tNOTE_CLOSE_WRITE               = 0x200\n\tNOTE_DELETE                    = 0x1\n\tNOTE_EXEC                      = 0x20000000\n\tNOTE_EXIT                      = 0x80000000\n\tNOTE_EXTEND                    = 0x4\n\tNOTE_FFAND                     = 0x40000000\n\tNOTE_FFCOPY                    = 0xc0000000\n\tNOTE_FFCTRLMASK                = 0xc0000000\n\tNOTE_FFLAGSMASK                = 0xffffff\n\tNOTE_FFNOP                     = 0x0\n\tNOTE_FFOR                      = 0x80000000\n\tNOTE_FILE_POLL                 = 0x2\n\tNOTE_FORK                      = 0x40000000\n\tNOTE_LINK                      = 0x10\n\tNOTE_LOWAT                     = 0x1\n\tNOTE_MSECONDS                  = 0x2\n\tNOTE_NSECONDS                  = 0x8\n\tNOTE_OPEN                      = 0x80\n\tNOTE_PCTRLMASK                 = 0xf0000000\n\tNOTE_PDATAMASK                 = 0xfffff\n\tNOTE_READ                      = 0x400\n\tNOTE_RENAME                    = 0x20\n\tNOTE_REVOKE                    = 0x40\n\tNOTE_SECONDS                   = 0x1\n\tNOTE_TRACK                     = 0x1\n\tNOTE_TRACKERR                  = 0x2\n\tNOTE_TRIGGER                   = 0x1000000\n\tNOTE_USECONDS                  = 0x4\n\tNOTE_WRITE                     = 0x2\n\tOCRNL                          = 0x10\n\tONLCR                          = 0x2\n\tONLRET                         = 0x40\n\tONOCR                          = 0x20\n\tONOEOT                         = 0x8\n\tOPOST                          = 0x1\n\tOXTABS                         = 0x4\n\tO_ACCMODE                      = 0x3\n\tO_APPEND                       = 0x8\n\tO_ASYNC                        = 0x40\n\tO_CLOEXEC                      = 0x100000\n\tO_CREAT                        = 0x200\n\tO_DIRECT                       = 0x10000\n\tO_DIRECTORY                    = 0x20000\n\tO_EXCL                         = 0x800\n\tO_EXEC                         = 0x40000\n\tO_EXLOCK                       = 0x20\n\tO_FSYNC                        = 0x80\n\tO_NDELAY                       = 0x4\n\tO_NOCTTY                       = 0x8000\n\tO_NOFOLLOW                     = 0x100\n\tO_NONBLOCK                     = 0x4\n\tO_RDONLY                       = 0x0\n\tO_RDWR                         = 0x2\n\tO_SHLOCK                       = 0x10\n\tO_SYNC                         = 0x80\n\tO_TRUNC                        = 0x400\n\tO_TTY_INIT                     = 0x80000\n\tO_VERIFY                       = 0x200000\n\tO_WRONLY                       = 0x1\n\tPARENB                         = 0x1000\n\tPARMRK                         = 0x8\n\tPARODD                         = 0x2000\n\tPENDIN                         = 0x20000000\n\tPRIO_PGRP                      = 0x1\n\tPRIO_PROCESS                   = 0x0\n\tPRIO_USER                      = 0x2\n\tPROT_EXEC                      = 0x4\n\tPROT_NONE                      = 0x0\n\tPROT_READ                      = 0x1\n\tPROT_WRITE                     = 0x2\n\tRLIMIT_AS                      = 0xa\n\tRLIMIT_CORE                    = 0x4\n\tRLIMIT_CPU                     = 0x0\n\tRLIMIT_DATA                    = 0x2\n\tRLIMIT_FSIZE                   = 0x1\n\tRLIMIT_MEMLOCK                 = 0x6\n\tRLIMIT_NOFILE                  = 0x8\n\tRLIMIT_NPROC                   = 0x7\n\tRLIMIT_RSS                     = 0x5\n\tRLIMIT_STACK                   = 0x3\n\tRLIM_INFINITY                  = 0x7fffffffffffffff\n\tRTAX_AUTHOR                    = 0x6\n\tRTAX_BRD                       = 0x7\n\tRTAX_DST                       = 0x0\n\tRTAX_GATEWAY                   = 0x1\n\tRTAX_GENMASK                   = 0x3\n\tRTAX_IFA                       = 0x5\n\tRTAX_IFP                       = 0x4\n\tRTAX_MAX                       = 0x8\n\tRTAX_NETMASK                   = 0x2\n\tRTA_AUTHOR                     = 0x40\n\tRTA_BRD                        = 0x80\n\tRTA_DST                        = 0x1\n\tRTA_GATEWAY                    = 0x2\n\tRTA_GENMASK                    = 0x8\n\tRTA_IFA                        = 0x20\n\tRTA_IFP                        = 0x10\n\tRTA_NETMASK                    = 0x4\n\tRTF_BLACKHOLE                  = 0x1000\n\tRTF_BROADCAST                  = 0x400000\n\tRTF_DONE                       = 0x40\n\tRTF_DYNAMIC                    = 0x10\n\tRTF_FIXEDMTU                   = 0x80000\n\tRTF_FMASK                      = 0x1004d808\n\tRTF_GATEWAY                    = 0x2\n\tRTF_GWFLAG_COMPAT              = 0x80000000\n\tRTF_HOST                       = 0x4\n\tRTF_LLDATA                     = 0x400\n\tRTF_LLINFO                     = 0x400\n\tRTF_LOCAL                      = 0x200000\n\tRTF_MODIFIED                   = 0x20\n\tRTF_MULTICAST                  = 0x800000\n\tRTF_PINNED                     = 0x100000\n\tRTF_PROTO1                     = 0x8000\n\tRTF_PROTO2                     = 0x4000\n\tRTF_PROTO3                     = 0x40000\n\tRTF_REJECT                     = 0x8\n\tRTF_RNH_LOCKED                 = 0x40000000\n\tRTF_STATIC                     = 0x800\n\tRTF_STICKY                     = 0x10000000\n\tRTF_UP                         = 0x1\n\tRTF_XRESOLVE                   = 0x200\n\tRTM_ADD                        = 0x1\n\tRTM_CHANGE                     = 0x3\n\tRTM_DELADDR                    = 0xd\n\tRTM_DELETE                     = 0x2\n\tRTM_DELMADDR                   = 0x10\n\tRTM_GET                        = 0x4\n\tRTM_IEEE80211                  = 0x12\n\tRTM_IFANNOUNCE                 = 0x11\n\tRTM_IFINFO                     = 0xe\n\tRTM_LOCK                       = 0x8\n\tRTM_LOSING                     = 0x5\n\tRTM_MISS                       = 0x7\n\tRTM_NEWADDR                    = 0xc\n\tRTM_NEWMADDR                   = 0xf\n\tRTM_REDIRECT                   = 0x6\n\tRTM_RESOLVE                    = 0xb\n\tRTM_RTTUNIT                    = 0xf4240\n\tRTM_VERSION                    = 0x5\n\tRTV_EXPIRE                     = 0x4\n\tRTV_HOPCOUNT                   = 0x2\n\tRTV_MTU                        = 0x1\n\tRTV_RPIPE                      = 0x8\n\tRTV_RTT                        = 0x40\n\tRTV_RTTVAR                     = 0x80\n\tRTV_SPIPE                      = 0x10\n\tRTV_SSTHRESH                   = 0x20\n\tRTV_WEIGHT                     = 0x100\n\tRT_ALL_FIBS                    = -0x1\n\tRT_BLACKHOLE                   = 0x40\n\tRT_CACHING_CONTEXT             = 0x1\n\tRT_DEFAULT_FIB                 = 0x0\n\tRT_HAS_GW                      = 0x80\n\tRT_HAS_HEADER                  = 0x10\n\tRT_HAS_HEADER_BIT              = 0x4\n\tRT_L2_ME                       = 0x4\n\tRT_L2_ME_BIT                   = 0x2\n\tRT_LLE_CACHE                   = 0x100\n\tRT_MAY_LOOP                    = 0x8\n\tRT_MAY_LOOP_BIT                = 0x3\n\tRT_NORTREF                     = 0x2\n\tRT_REJECT                      = 0x20\n\tRUSAGE_CHILDREN                = -0x1\n\tRUSAGE_SELF                    = 0x0\n\tRUSAGE_THREAD                  = 0x1\n\tSCM_BINTIME                    = 0x4\n\tSCM_CREDS                      = 0x3\n\tSCM_RIGHTS                     = 0x1\n\tSCM_TIMESTAMP                  = 0x2\n\tSHUT_RD                        = 0x0\n\tSHUT_RDWR                      = 0x2\n\tSHUT_WR                        = 0x1\n\tSIOCADDMULTI                   = 0x80206931\n\tSIOCAIFADDR                    = 0x8040691a\n\tSIOCAIFGROUP                   = 0x80246987\n\tSIOCATMARK                     = 0x40047307\n\tSIOCDELMULTI                   = 0x80206932\n\tSIOCDIFADDR                    = 0x80206919\n\tSIOCDIFGROUP                   = 0x80246989\n\tSIOCDIFPHYADDR                 = 0x80206949\n\tSIOCGDRVSPEC                   = 0xc01c697b\n\tSIOCGETSGCNT                   = 0xc0147210\n\tSIOCGETVIFCNT                  = 0xc014720f\n\tSIOCGHIWAT                     = 0x40047301\n\tSIOCGHWADDR                    = 0xc020693e\n\tSIOCGI2C                       = 0xc020693d\n\tSIOCGIFADDR                    = 0xc0206921\n\tSIOCGIFBRDADDR                 = 0xc0206923\n\tSIOCGIFCAP                     = 0xc020691f\n\tSIOCGIFCONF                    = 0xc0086924\n\tSIOCGIFDESCR                   = 0xc020692a\n\tSIOCGIFDSTADDR                 = 0xc0206922\n\tSIOCGIFFIB                     = 0xc020695c\n\tSIOCGIFFLAGS                   = 0xc0206911\n\tSIOCGIFGENERIC                 = 0xc020693a\n\tSIOCGIFGMEMB                   = 0xc024698a\n\tSIOCGIFGROUP                   = 0xc0246988\n\tSIOCGIFINDEX                   = 0xc0206920\n\tSIOCGIFMAC                     = 0xc0206926\n\tSIOCGIFMEDIA                   = 0xc0286938\n\tSIOCGIFMETRIC                  = 0xc0206917\n\tSIOCGIFMTU                     = 0xc0206933\n\tSIOCGIFNETMASK                 = 0xc0206925\n\tSIOCGIFPDSTADDR                = 0xc0206948\n\tSIOCGIFPHYS                    = 0xc0206935\n\tSIOCGIFPSRCADDR                = 0xc0206947\n\tSIOCGIFSTATUS                  = 0xc331693b\n\tSIOCGIFXMEDIA                  = 0xc028698b\n\tSIOCGLOWAT                     = 0x40047303\n\tSIOCGPGRP                      = 0x40047309\n\tSIOCGPRIVATE_0                 = 0xc0206950\n\tSIOCGPRIVATE_1                 = 0xc0206951\n\tSIOCGTUNFIB                    = 0xc020695e\n\tSIOCIFCREATE                   = 0xc020697a\n\tSIOCIFCREATE2                  = 0xc020697c\n\tSIOCIFDESTROY                  = 0x80206979\n\tSIOCIFGCLONERS                 = 0xc00c6978\n\tSIOCSDRVSPEC                   = 0x801c697b\n\tSIOCSHIWAT                     = 0x80047300\n\tSIOCSIFADDR                    = 0x8020690c\n\tSIOCSIFBRDADDR                 = 0x80206913\n\tSIOCSIFCAP                     = 0x8020691e\n\tSIOCSIFDESCR                   = 0x80206929\n\tSIOCSIFDSTADDR                 = 0x8020690e\n\tSIOCSIFFIB                     = 0x8020695d\n\tSIOCSIFFLAGS                   = 0x80206910\n\tSIOCSIFGENERIC                 = 0x80206939\n\tSIOCSIFLLADDR                  = 0x8020693c\n\tSIOCSIFMAC                     = 0x80206927\n\tSIOCSIFMEDIA                   = 0xc0206937\n\tSIOCSIFMETRIC                  = 0x80206918\n\tSIOCSIFMTU                     = 0x80206934\n\tSIOCSIFNAME                    = 0x80206928\n\tSIOCSIFNETMASK                 = 0x80206916\n\tSIOCSIFPHYADDR                 = 0x80406946\n\tSIOCSIFPHYS                    = 0x80206936\n\tSIOCSIFRVNET                   = 0xc020695b\n\tSIOCSIFVNET                    = 0xc020695a\n\tSIOCSLOWAT                     = 0x80047302\n\tSIOCSPGRP                      = 0x80047308\n\tSIOCSTUNFIB                    = 0x8020695f\n\tSOCK_CLOEXEC                   = 0x10000000\n\tSOCK_DGRAM                     = 0x2\n\tSOCK_MAXADDRLEN                = 0xff\n\tSOCK_NONBLOCK                  = 0x20000000\n\tSOCK_RAW                       = 0x3\n\tSOCK_RDM                       = 0x4\n\tSOCK_SEQPACKET                 = 0x5\n\tSOCK_STREAM                    = 0x1\n\tSOL_SOCKET                     = 0xffff\n\tSOMAXCONN                      = 0x80\n\tSO_ACCEPTCONN                  = 0x2\n\tSO_ACCEPTFILTER                = 0x1000\n\tSO_BINTIME                     = 0x2000\n\tSO_BROADCAST                   = 0x20\n\tSO_DEBUG                       = 0x1\n\tSO_DONTROUTE                   = 0x10\n\tSO_ERROR                       = 0x1007\n\tSO_KEEPALIVE                   = 0x8\n\tSO_LABEL                       = 0x1009\n\tSO_LINGER                      = 0x80\n\tSO_LISTENINCQLEN               = 0x1013\n\tSO_LISTENQLEN                  = 0x1012\n\tSO_LISTENQLIMIT                = 0x1011\n\tSO_NOSIGPIPE                   = 0x800\n\tSO_NO_DDP                      = 0x8000\n\tSO_NO_OFFLOAD                  = 0x4000\n\tSO_OOBINLINE                   = 0x100\n\tSO_PEERLABEL                   = 0x1010\n\tSO_PROTOCOL                    = 0x1016\n\tSO_PROTOTYPE                   = 0x1016\n\tSO_RCVBUF                      = 0x1002\n\tSO_RCVLOWAT                    = 0x1004\n\tSO_RCVTIMEO                    = 0x1006\n\tSO_REUSEADDR                   = 0x4\n\tSO_REUSEPORT                   = 0x200\n\tSO_SETFIB                      = 0x1014\n\tSO_SNDBUF                      = 0x1001\n\tSO_SNDLOWAT                    = 0x1003\n\tSO_SNDTIMEO                    = 0x1005\n\tSO_TIMESTAMP                   = 0x400\n\tSO_TYPE                        = 0x1008\n\tSO_USELOOPBACK                 = 0x40\n\tSO_USER_COOKIE                 = 0x1015\n\tSO_VENDOR                      = 0x80000000\n\tS_BLKSIZE                      = 0x200\n\tS_IEXEC                        = 0x40\n\tS_IFBLK                        = 0x6000\n\tS_IFCHR                        = 0x2000\n\tS_IFDIR                        = 0x4000\n\tS_IFIFO                        = 0x1000\n\tS_IFLNK                        = 0xa000\n\tS_IFMT                         = 0xf000\n\tS_IFREG                        = 0x8000\n\tS_IFSOCK                       = 0xc000\n\tS_IFWHT                        = 0xe000\n\tS_IREAD                        = 0x100\n\tS_IRGRP                        = 0x20\n\tS_IROTH                        = 0x4\n\tS_IRUSR                        = 0x100\n\tS_IRWXG                        = 0x38\n\tS_IRWXO                        = 0x7\n\tS_IRWXU                        = 0x1c0\n\tS_ISGID                        = 0x400\n\tS_ISTXT                        = 0x200\n\tS_ISUID                        = 0x800\n\tS_ISVTX                        = 0x200\n\tS_IWGRP                        = 0x10\n\tS_IWOTH                        = 0x2\n\tS_IWRITE                       = 0x80\n\tS_IWUSR                        = 0x80\n\tS_IXGRP                        = 0x8\n\tS_IXOTH                        = 0x1\n\tS_IXUSR                        = 0x40\n\tTAB0                           = 0x0\n\tTAB3                           = 0x4\n\tTABDLY                         = 0x4\n\tTCIFLUSH                       = 0x1\n\tTCIOFF                         = 0x3\n\tTCIOFLUSH                      = 0x3\n\tTCION                          = 0x4\n\tTCOFLUSH                       = 0x2\n\tTCOOFF                         = 0x1\n\tTCOON                          = 0x2\n\tTCP_CA_NAME_MAX                = 0x10\n\tTCP_CCALGOOPT                  = 0x41\n\tTCP_CONGESTION                 = 0x40\n\tTCP_FASTOPEN                   = 0x401\n\tTCP_FUNCTION_BLK               = 0x2000\n\tTCP_FUNCTION_NAME_LEN_MAX      = 0x20\n\tTCP_INFO                       = 0x20\n\tTCP_KEEPCNT                    = 0x400\n\tTCP_KEEPIDLE                   = 0x100\n\tTCP_KEEPINIT                   = 0x80\n\tTCP_KEEPINTVL                  = 0x200\n\tTCP_MAXBURST                   = 0x4\n\tTCP_MAXHLEN                    = 0x3c\n\tTCP_MAXOLEN                    = 0x28\n\tTCP_MAXSEG                     = 0x2\n\tTCP_MAXWIN                     = 0xffff\n\tTCP_MAX_SACK                   = 0x4\n\tTCP_MAX_WINSHIFT               = 0xe\n\tTCP_MD5SIG                     = 0x10\n\tTCP_MINMSS                     = 0xd8\n\tTCP_MSS                        = 0x218\n\tTCP_NODELAY                    = 0x1\n\tTCP_NOOPT                      = 0x8\n\tTCP_NOPUSH                     = 0x4\n\tTCP_PCAP_IN                    = 0x1000\n\tTCP_PCAP_OUT                   = 0x800\n\tTCP_VENDOR                     = 0x80000000\n\tTCSAFLUSH                      = 0x2\n\tTIOCCBRK                       = 0x2000747a\n\tTIOCCDTR                       = 0x20007478\n\tTIOCCONS                       = 0x80047462\n\tTIOCDRAIN                      = 0x2000745e\n\tTIOCEXCL                       = 0x2000740d\n\tTIOCEXT                        = 0x80047460\n\tTIOCFLUSH                      = 0x80047410\n\tTIOCGDRAINWAIT                 = 0x40047456\n\tTIOCGETA                       = 0x402c7413\n\tTIOCGETD                       = 0x4004741a\n\tTIOCGPGRP                      = 0x40047477\n\tTIOCGPTN                       = 0x4004740f\n\tTIOCGSID                       = 0x40047463\n\tTIOCGWINSZ                     = 0x40087468\n\tTIOCMBIC                       = 0x8004746b\n\tTIOCMBIS                       = 0x8004746c\n\tTIOCMGDTRWAIT                  = 0x4004745a\n\tTIOCMGET                       = 0x4004746a\n\tTIOCMSDTRWAIT                  = 0x8004745b\n\tTIOCMSET                       = 0x8004746d\n\tTIOCM_CAR                      = 0x40\n\tTIOCM_CD                       = 0x40\n\tTIOCM_CTS                      = 0x20\n\tTIOCM_DCD                      = 0x40\n\tTIOCM_DSR                      = 0x100\n\tTIOCM_DTR                      = 0x2\n\tTIOCM_LE                       = 0x1\n\tTIOCM_RI                       = 0x80\n\tTIOCM_RNG                      = 0x80\n\tTIOCM_RTS                      = 0x4\n\tTIOCM_SR                       = 0x10\n\tTIOCM_ST                       = 0x8\n\tTIOCNOTTY                      = 0x20007471\n\tTIOCNXCL                       = 0x2000740e\n\tTIOCOUTQ                       = 0x40047473\n\tTIOCPKT                        = 0x80047470\n\tTIOCPKT_DATA                   = 0x0\n\tTIOCPKT_DOSTOP                 = 0x20\n\tTIOCPKT_FLUSHREAD              = 0x1\n\tTIOCPKT_FLUSHWRITE             = 0x2\n\tTIOCPKT_IOCTL                  = 0x40\n\tTIOCPKT_NOSTOP                 = 0x10\n\tTIOCPKT_START                  = 0x8\n\tTIOCPKT_STOP                   = 0x4\n\tTIOCPTMASTER                   = 0x2000741c\n\tTIOCSBRK                       = 0x2000747b\n\tTIOCSCTTY                      = 0x20007461\n\tTIOCSDRAINWAIT                 = 0x80047457\n\tTIOCSDTR                       = 0x20007479\n\tTIOCSETA                       = 0x802c7414\n\tTIOCSETAF                      = 0x802c7416\n\tTIOCSETAW                      = 0x802c7415\n\tTIOCSETD                       = 0x8004741b\n\tTIOCSIG                        = 0x2004745f\n\tTIOCSPGRP                      = 0x80047476\n\tTIOCSTART                      = 0x2000746e\n\tTIOCSTAT                       = 0x20007465\n\tTIOCSTI                        = 0x80017472\n\tTIOCSTOP                       = 0x2000746f\n\tTIOCSWINSZ                     = 0x80087467\n\tTIOCTIMESTAMP                  = 0x40107459\n\tTIOCUCNTL                      = 0x80047466\n\tTOSTOP                         = 0x400000\n\tVDISCARD                       = 0xf\n\tVDSUSP                         = 0xb\n\tVEOF                           = 0x0\n\tVEOL                           = 0x1\n\tVEOL2                          = 0x2\n\tVERASE                         = 0x3\n\tVERASE2                        = 0x7\n\tVINTR                          = 0x8\n\tVKILL                          = 0x5\n\tVLNEXT                         = 0xe\n\tVMIN                           = 0x10\n\tVQUIT                          = 0x9\n\tVREPRINT                       = 0x6\n\tVSTART                         = 0xc\n\tVSTATUS                        = 0x12\n\tVSTOP                          = 0xd\n\tVSUSP                          = 0xa\n\tVTIME                          = 0x11\n\tVWERASE                        = 0x4\n\tWCONTINUED                     = 0x4\n\tWCOREFLAG                      = 0x80\n\tWEXITED                        = 0x10\n\tWLINUXCLONE                    = 0x80000000\n\tWNOHANG                        = 0x1\n\tWNOWAIT                        = 0x8\n\tWSTOPPED                       = 0x2\n\tWTRAPPED                       = 0x20\n\tWUNTRACED                      = 0x2\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x30)\n\tEADDRNOTAVAIL   = syscall.Errno(0x31)\n\tEAFNOSUPPORT    = syscall.Errno(0x2f)\n\tEAGAIN          = syscall.Errno(0x23)\n\tEALREADY        = syscall.Errno(0x25)\n\tEAUTH           = syscall.Errno(0x50)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADMSG         = syscall.Errno(0x59)\n\tEBADRPC         = syscall.Errno(0x48)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x55)\n\tECAPMODE        = syscall.Errno(0x5e)\n\tECHILD          = syscall.Errno(0xa)\n\tECONNABORTED    = syscall.Errno(0x35)\n\tECONNREFUSED    = syscall.Errno(0x3d)\n\tECONNRESET      = syscall.Errno(0x36)\n\tEDEADLK         = syscall.Errno(0xb)\n\tEDESTADDRREQ    = syscall.Errno(0x27)\n\tEDOM            = syscall.Errno(0x21)\n\tEDOOFUS         = syscall.Errno(0x58)\n\tEDQUOT          = syscall.Errno(0x45)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEFTYPE          = syscall.Errno(0x4f)\n\tEHOSTDOWN       = syscall.Errno(0x40)\n\tEHOSTUNREACH    = syscall.Errno(0x41)\n\tEIDRM           = syscall.Errno(0x52)\n\tEILSEQ          = syscall.Errno(0x56)\n\tEINPROGRESS     = syscall.Errno(0x24)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x38)\n\tEISDIR          = syscall.Errno(0x15)\n\tELAST           = syscall.Errno(0x60)\n\tELOOP           = syscall.Errno(0x3e)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x28)\n\tEMULTIHOP       = syscall.Errno(0x5a)\n\tENAMETOOLONG    = syscall.Errno(0x3f)\n\tENEEDAUTH       = syscall.Errno(0x51)\n\tENETDOWN        = syscall.Errno(0x32)\n\tENETRESET       = syscall.Errno(0x34)\n\tENETUNREACH     = syscall.Errno(0x33)\n\tENFILE          = syscall.Errno(0x17)\n\tENOATTR         = syscall.Errno(0x57)\n\tENOBUFS         = syscall.Errno(0x37)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOLCK          = syscall.Errno(0x4d)\n\tENOLINK         = syscall.Errno(0x5b)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x53)\n\tENOPROTOOPT     = syscall.Errno(0x2a)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSYS          = syscall.Errno(0x4e)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCAPABLE     = syscall.Errno(0x5d)\n\tENOTCONN        = syscall.Errno(0x39)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x42)\n\tENOTRECOVERABLE = syscall.Errno(0x5f)\n\tENOTSOCK        = syscall.Errno(0x26)\n\tENOTSUP         = syscall.Errno(0x2d)\n\tENOTTY          = syscall.Errno(0x19)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x2d)\n\tEOVERFLOW       = syscall.Errno(0x54)\n\tEOWNERDEAD      = syscall.Errno(0x60)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x2e)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROCLIM        = syscall.Errno(0x43)\n\tEPROCUNAVAIL    = syscall.Errno(0x4c)\n\tEPROGMISMATCH   = syscall.Errno(0x4b)\n\tEPROGUNAVAIL    = syscall.Errno(0x4a)\n\tEPROTO          = syscall.Errno(0x5c)\n\tEPROTONOSUPPORT = syscall.Errno(0x2b)\n\tEPROTOTYPE      = syscall.Errno(0x29)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMOTE         = syscall.Errno(0x47)\n\tEROFS           = syscall.Errno(0x1e)\n\tERPCMISMATCH    = syscall.Errno(0x49)\n\tESHUTDOWN       = syscall.Errno(0x3a)\n\tESOCKTNOSUPPORT = syscall.Errno(0x2c)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESTALE          = syscall.Errno(0x46)\n\tETIMEDOUT       = syscall.Errno(0x3c)\n\tETOOMANYREFS    = syscall.Errno(0x3b)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUSERS          = syscall.Errno(0x44)\n\tEWOULDBLOCK     = syscall.Errno(0x23)\n\tEXDEV           = syscall.Errno(0x12)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x14)\n\tSIGCONT   = syscall.Signal(0x13)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINFO   = syscall.Signal(0x1d)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x17)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGLIBRT  = syscall.Signal(0x21)\n\tSIGLWP    = syscall.Signal(0x20)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x11)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTHR    = syscall.Signal(0x20)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x12)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x10)\n\tSIGUSR1   = syscall.Signal(0x1e)\n\tSIGUSR2   = syscall.Signal(0x1f)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errorList = [...]struct {\n\tnum  syscall.Errno\n\tname string\n\tdesc string\n}{\n\t{1, \"EPERM\", \"operation not permitted\"},\n\t{2, \"ENOENT\", \"no such file or directory\"},\n\t{3, \"ESRCH\", \"no such process\"},\n\t{4, \"EINTR\", \"interrupted system call\"},\n\t{5, \"EIO\", \"input/output error\"},\n\t{6, \"ENXIO\", \"device not configured\"},\n\t{7, \"E2BIG\", \"argument list too long\"},\n\t{8, \"ENOEXEC\", \"exec format error\"},\n\t{9, \"EBADF\", \"bad file descriptor\"},\n\t{10, \"ECHILD\", \"no child processes\"},\n\t{11, \"EDEADLK\", \"resource deadlock avoided\"},\n\t{12, \"ENOMEM\", \"cannot allocate memory\"},\n\t{13, \"EACCES\", \"permission denied\"},\n\t{14, \"EFAULT\", \"bad address\"},\n\t{15, \"ENOTBLK\", \"block device required\"},\n\t{16, \"EBUSY\", \"device busy\"},\n\t{17, \"EEXIST\", \"file exists\"},\n\t{18, \"EXDEV\", \"cross-device link\"},\n\t{19, \"ENODEV\", \"operation not supported by device\"},\n\t{20, \"ENOTDIR\", \"not a directory\"},\n\t{21, \"EISDIR\", \"is a directory\"},\n\t{22, \"EINVAL\", \"invalid argument\"},\n\t{23, \"ENFILE\", \"too many open files in system\"},\n\t{24, \"EMFILE\", \"too many open files\"},\n\t{25, \"ENOTTY\", \"inappropriate ioctl for device\"},\n\t{26, \"ETXTBSY\", \"text file busy\"},\n\t{27, \"EFBIG\", \"file too large\"},\n\t{28, \"ENOSPC\", \"no space left on device\"},\n\t{29, \"ESPIPE\", \"illegal seek\"},\n\t{30, \"EROFS\", \"read-only file system\"},\n\t{31, \"EMLINK\", \"too many links\"},\n\t{32, \"EPIPE\", \"broken pipe\"},\n\t{33, \"EDOM\", \"numerical argument out of domain\"},\n\t{34, \"ERANGE\", \"result too large\"},\n\t{35, \"EAGAIN\", \"resource temporarily unavailable\"},\n\t{36, \"EINPROGRESS\", \"operation now in progress\"},\n\t{37, \"EALREADY\", \"operation already in progress\"},\n\t{38, \"ENOTSOCK\", \"socket operation on non-socket\"},\n\t{39, \"EDESTADDRREQ\", \"destination address required\"},\n\t{40, \"EMSGSIZE\", \"message too long\"},\n\t{41, \"EPROTOTYPE\", \"protocol wrong type for socket\"},\n\t{42, \"ENOPROTOOPT\", \"protocol not available\"},\n\t{43, \"EPROTONOSUPPORT\", \"protocol not supported\"},\n\t{44, \"ESOCKTNOSUPPORT\", \"socket type not supported\"},\n\t{45, \"EOPNOTSUPP\", \"operation not supported\"},\n\t{46, \"EPFNOSUPPORT\", \"protocol family not supported\"},\n\t{47, \"EAFNOSUPPORT\", \"address family not supported by protocol family\"},\n\t{48, \"EADDRINUSE\", \"address already in use\"},\n\t{49, \"EADDRNOTAVAIL\", \"can't assign requested address\"},\n\t{50, \"ENETDOWN\", \"network is down\"},\n\t{51, \"ENETUNREACH\", \"network is unreachable\"},\n\t{52, \"ENETRESET\", \"network dropped connection on reset\"},\n\t{53, \"ECONNABORTED\", \"software caused connection abort\"},\n\t{54, \"ECONNRESET\", \"connection reset by peer\"},\n\t{55, \"ENOBUFS\", \"no buffer space available\"},\n\t{56, \"EISCONN\", \"socket is already connected\"},\n\t{57, \"ENOTCONN\", \"socket is not connected\"},\n\t{58, \"ESHUTDOWN\", \"can't send after socket shutdown\"},\n\t{59, \"ETOOMANYREFS\", \"too many references: can't splice\"},\n\t{60, \"ETIMEDOUT\", \"operation timed out\"},\n\t{61, \"ECONNREFUSED\", \"connection refused\"},\n\t{62, \"ELOOP\", \"too many levels of symbolic links\"},\n\t{63, \"ENAMETOOLONG\", \"file name too long\"},\n\t{64, \"EHOSTDOWN\", \"host is down\"},\n\t{65, \"EHOSTUNREACH\", \"no route to host\"},\n\t{66, \"ENOTEMPTY\", \"directory not empty\"},\n\t{67, \"EPROCLIM\", \"too many processes\"},\n\t{68, \"EUSERS\", \"too many users\"},\n\t{69, \"EDQUOT\", \"disc quota exceeded\"},\n\t{70, \"ESTALE\", \"stale NFS file handle\"},\n\t{71, \"EREMOTE\", \"too many levels of remote in path\"},\n\t{72, \"EBADRPC\", \"RPC struct is bad\"},\n\t{73, \"ERPCMISMATCH\", \"RPC version wrong\"},\n\t{74, \"EPROGUNAVAIL\", \"RPC prog. not avail\"},\n\t{75, \"EPROGMISMATCH\", \"program version wrong\"},\n\t{76, \"EPROCUNAVAIL\", \"bad procedure for program\"},\n\t{77, \"ENOLCK\", \"no locks available\"},\n\t{78, \"ENOSYS\", \"function not implemented\"},\n\t{79, \"EFTYPE\", \"inappropriate file type or format\"},\n\t{80, \"EAUTH\", \"authentication error\"},\n\t{81, \"ENEEDAUTH\", \"need authenticator\"},\n\t{82, \"EIDRM\", \"identifier removed\"},\n\t{83, \"ENOMSG\", \"no message of desired type\"},\n\t{84, \"EOVERFLOW\", \"value too large to be stored in data type\"},\n\t{85, \"ECANCELED\", \"operation canceled\"},\n\t{86, \"EILSEQ\", \"illegal byte sequence\"},\n\t{87, \"ENOATTR\", \"attribute not found\"},\n\t{88, \"EDOOFUS\", \"programming error\"},\n\t{89, \"EBADMSG\", \"bad message\"},\n\t{90, \"EMULTIHOP\", \"multihop attempted\"},\n\t{91, \"ENOLINK\", \"link has been severed\"},\n\t{92, \"EPROTO\", \"protocol error\"},\n\t{93, \"ENOTCAPABLE\", \"capabilities insufficient\"},\n\t{94, \"ECAPMODE\", \"not permitted in capability mode\"},\n\t{95, \"ENOTRECOVERABLE\", \"state not recoverable\"},\n\t{96, \"EOWNERDEAD\", \"previous owner died\"},\n}\n\n// Signal table\nvar signalList = [...]struct {\n\tnum  syscall.Signal\n\tname string\n\tdesc string\n}{\n\t{1, \"SIGHUP\", \"hangup\"},\n\t{2, \"SIGINT\", \"interrupt\"},\n\t{3, \"SIGQUIT\", \"quit\"},\n\t{4, \"SIGILL\", \"illegal instruction\"},\n\t{5, \"SIGTRAP\", \"trace/BPT trap\"},\n\t{6, \"SIGIOT\", \"abort trap\"},\n\t{7, \"SIGEMT\", \"EMT trap\"},\n\t{8, \"SIGFPE\", \"floating point exception\"},\n\t{9, \"SIGKILL\", \"killed\"},\n\t{10, \"SIGBUS\", \"bus error\"},\n\t{11, \"SIGSEGV\", \"segmentation fault\"},\n\t{12, \"SIGSYS\", \"bad system call\"},\n\t{13, \"SIGPIPE\", \"broken pipe\"},\n\t{14, \"SIGALRM\", \"alarm clock\"},\n\t{15, \"SIGTERM\", \"terminated\"},\n\t{16, \"SIGURG\", \"urgent I/O condition\"},\n\t{17, \"SIGSTOP\", \"suspended (signal)\"},\n\t{18, \"SIGTSTP\", \"suspended\"},\n\t{19, \"SIGCONT\", \"continued\"},\n\t{20, \"SIGCHLD\", \"child exited\"},\n\t{21, \"SIGTTIN\", \"stopped (tty input)\"},\n\t{22, \"SIGTTOU\", \"stopped (tty output)\"},\n\t{23, \"SIGIO\", \"I/O possible\"},\n\t{24, \"SIGXCPU\", \"cputime limit exceeded\"},\n\t{25, \"SIGXFSZ\", \"filesize limit exceeded\"},\n\t{26, \"SIGVTALRM\", \"virtual timer expired\"},\n\t{27, \"SIGPROF\", \"profiling timer expired\"},\n\t{28, \"SIGWINCH\", \"window size changes\"},\n\t{29, \"SIGINFO\", \"information request\"},\n\t{30, \"SIGUSR1\", \"user defined signal 1\"},\n\t{31, \"SIGUSR2\", \"user defined signal 2\"},\n\t{32, \"SIGTHR\", \"unknown signal\"},\n\t{33, \"SIGLIBRT\", \"unknown signal\"},\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_linux_386.go",
    "content": "// mkerrors.sh -Wall -Werror -static -I/tmp/include -m32\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build 386,linux\n\n// Code generated by cmd/cgo -godefs; DO NOT EDIT.\n// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAAFS_MAGIC                           = 0x5a3c69f0\n\tADFS_SUPER_MAGIC                     = 0xadf5\n\tAFFS_SUPER_MAGIC                     = 0xadff\n\tAFS_FS_MAGIC                         = 0x6b414653\n\tAFS_SUPER_MAGIC                      = 0x5346414f\n\tAF_ALG                               = 0x26\n\tAF_APPLETALK                         = 0x5\n\tAF_ASH                               = 0x12\n\tAF_ATMPVC                            = 0x8\n\tAF_ATMSVC                            = 0x14\n\tAF_AX25                              = 0x3\n\tAF_BLUETOOTH                         = 0x1f\n\tAF_BRIDGE                            = 0x7\n\tAF_CAIF                              = 0x25\n\tAF_CAN                               = 0x1d\n\tAF_DECnet                            = 0xc\n\tAF_ECONET                            = 0x13\n\tAF_FILE                              = 0x1\n\tAF_IB                                = 0x1b\n\tAF_IEEE802154                        = 0x24\n\tAF_INET                              = 0x2\n\tAF_INET6                             = 0xa\n\tAF_IPX                               = 0x4\n\tAF_IRDA                              = 0x17\n\tAF_ISDN                              = 0x22\n\tAF_IUCV                              = 0x20\n\tAF_KCM                               = 0x29\n\tAF_KEY                               = 0xf\n\tAF_LLC                               = 0x1a\n\tAF_LOCAL                             = 0x1\n\tAF_MAX                               = 0x2c\n\tAF_MPLS                              = 0x1c\n\tAF_NETBEUI                           = 0xd\n\tAF_NETLINK                           = 0x10\n\tAF_NETROM                            = 0x6\n\tAF_NFC                               = 0x27\n\tAF_PACKET                            = 0x11\n\tAF_PHONET                            = 0x23\n\tAF_PPPOX                             = 0x18\n\tAF_QIPCRTR                           = 0x2a\n\tAF_RDS                               = 0x15\n\tAF_ROSE                              = 0xb\n\tAF_ROUTE                             = 0x10\n\tAF_RXRPC                             = 0x21\n\tAF_SECURITY                          = 0xe\n\tAF_SMC                               = 0x2b\n\tAF_SNA                               = 0x16\n\tAF_TIPC                              = 0x1e\n\tAF_UNIX                              = 0x1\n\tAF_UNSPEC                            = 0x0\n\tAF_VSOCK                             = 0x28\n\tAF_WANPIPE                           = 0x19\n\tAF_X25                               = 0x9\n\tALG_OP_DECRYPT                       = 0x0\n\tALG_OP_ENCRYPT                       = 0x1\n\tALG_SET_AEAD_ASSOCLEN                = 0x4\n\tALG_SET_AEAD_AUTHSIZE                = 0x5\n\tALG_SET_IV                           = 0x2\n\tALG_SET_KEY                          = 0x1\n\tALG_SET_OP                           = 0x3\n\tANON_INODE_FS_MAGIC                  = 0x9041934\n\tARPHRD_6LOWPAN                       = 0x339\n\tARPHRD_ADAPT                         = 0x108\n\tARPHRD_APPLETLK                      = 0x8\n\tARPHRD_ARCNET                        = 0x7\n\tARPHRD_ASH                           = 0x30d\n\tARPHRD_ATM                           = 0x13\n\tARPHRD_AX25                          = 0x3\n\tARPHRD_BIF                           = 0x307\n\tARPHRD_CAIF                          = 0x336\n\tARPHRD_CAN                           = 0x118\n\tARPHRD_CHAOS                         = 0x5\n\tARPHRD_CISCO                         = 0x201\n\tARPHRD_CSLIP                         = 0x101\n\tARPHRD_CSLIP6                        = 0x103\n\tARPHRD_DDCMP                         = 0x205\n\tARPHRD_DLCI                          = 0xf\n\tARPHRD_ECONET                        = 0x30e\n\tARPHRD_EETHER                        = 0x2\n\tARPHRD_ETHER                         = 0x1\n\tARPHRD_EUI64                         = 0x1b\n\tARPHRD_FCAL                          = 0x311\n\tARPHRD_FCFABRIC                      = 0x313\n\tARPHRD_FCPL                          = 0x312\n\tARPHRD_FCPP                          = 0x310\n\tARPHRD_FDDI                          = 0x306\n\tARPHRD_FRAD                          = 0x302\n\tARPHRD_HDLC                          = 0x201\n\tARPHRD_HIPPI                         = 0x30c\n\tARPHRD_HWX25                         = 0x110\n\tARPHRD_IEEE1394                      = 0x18\n\tARPHRD_IEEE802                       = 0x6\n\tARPHRD_IEEE80211                     = 0x321\n\tARPHRD_IEEE80211_PRISM               = 0x322\n\tARPHRD_IEEE80211_RADIOTAP            = 0x323\n\tARPHRD_IEEE802154                    = 0x324\n\tARPHRD_IEEE802154_MONITOR            = 0x325\n\tARPHRD_IEEE802_TR                    = 0x320\n\tARPHRD_INFINIBAND                    = 0x20\n\tARPHRD_IP6GRE                        = 0x337\n\tARPHRD_IPDDP                         = 0x309\n\tARPHRD_IPGRE                         = 0x30a\n\tARPHRD_IRDA                          = 0x30f\n\tARPHRD_LAPB                          = 0x204\n\tARPHRD_LOCALTLK                      = 0x305\n\tARPHRD_LOOPBACK                      = 0x304\n\tARPHRD_METRICOM                      = 0x17\n\tARPHRD_NETLINK                       = 0x338\n\tARPHRD_NETROM                        = 0x0\n\tARPHRD_NONE                          = 0xfffe\n\tARPHRD_PHONET                        = 0x334\n\tARPHRD_PHONET_PIPE                   = 0x335\n\tARPHRD_PIMREG                        = 0x30b\n\tARPHRD_PPP                           = 0x200\n\tARPHRD_PRONET                        = 0x4\n\tARPHRD_RAWHDLC                       = 0x206\n\tARPHRD_RAWIP                         = 0x207\n\tARPHRD_ROSE                          = 0x10e\n\tARPHRD_RSRVD                         = 0x104\n\tARPHRD_SIT                           = 0x308\n\tARPHRD_SKIP                          = 0x303\n\tARPHRD_SLIP                          = 0x100\n\tARPHRD_SLIP6                         = 0x102\n\tARPHRD_TUNNEL                        = 0x300\n\tARPHRD_TUNNEL6                       = 0x301\n\tARPHRD_VOID                          = 0xffff\n\tARPHRD_VSOCKMON                      = 0x33a\n\tARPHRD_X25                           = 0x10f\n\tAUTOFS_SUPER_MAGIC                   = 0x187\n\tB0                                   = 0x0\n\tB1000000                             = 0x1008\n\tB110                                 = 0x3\n\tB115200                              = 0x1002\n\tB1152000                             = 0x1009\n\tB1200                                = 0x9\n\tB134                                 = 0x4\n\tB150                                 = 0x5\n\tB1500000                             = 0x100a\n\tB1800                                = 0xa\n\tB19200                               = 0xe\n\tB200                                 = 0x6\n\tB2000000                             = 0x100b\n\tB230400                              = 0x1003\n\tB2400                                = 0xb\n\tB2500000                             = 0x100c\n\tB300                                 = 0x7\n\tB3000000                             = 0x100d\n\tB3500000                             = 0x100e\n\tB38400                               = 0xf\n\tB4000000                             = 0x100f\n\tB460800                              = 0x1004\n\tB4800                                = 0xc\n\tB50                                  = 0x1\n\tB500000                              = 0x1005\n\tB57600                               = 0x1001\n\tB576000                              = 0x1006\n\tB600                                 = 0x8\n\tB75                                  = 0x2\n\tB921600                              = 0x1007\n\tB9600                                = 0xd\n\tBALLOON_KVM_MAGIC                    = 0x13661366\n\tBDEVFS_MAGIC                         = 0x62646576\n\tBINFMTFS_MAGIC                       = 0x42494e4d\n\tBLKBSZGET                            = 0x80041270\n\tBLKBSZSET                            = 0x40041271\n\tBLKFLSBUF                            = 0x1261\n\tBLKFRAGET                            = 0x1265\n\tBLKFRASET                            = 0x1264\n\tBLKGETSIZE                           = 0x1260\n\tBLKGETSIZE64                         = 0x80041272\n\tBLKPBSZGET                           = 0x127b\n\tBLKRAGET                             = 0x1263\n\tBLKRASET                             = 0x1262\n\tBLKROGET                             = 0x125e\n\tBLKROSET                             = 0x125d\n\tBLKRRPART                            = 0x125f\n\tBLKSECTGET                           = 0x1267\n\tBLKSECTSET                           = 0x1266\n\tBLKSSZGET                            = 0x1268\n\tBOTHER                               = 0x1000\n\tBPF_A                                = 0x10\n\tBPF_ABS                              = 0x20\n\tBPF_ADD                              = 0x0\n\tBPF_ALU                              = 0x4\n\tBPF_AND                              = 0x50\n\tBPF_B                                = 0x10\n\tBPF_DIV                              = 0x30\n\tBPF_FS_MAGIC                         = 0xcafe4a11\n\tBPF_H                                = 0x8\n\tBPF_IMM                              = 0x0\n\tBPF_IND                              = 0x40\n\tBPF_JA                               = 0x0\n\tBPF_JEQ                              = 0x10\n\tBPF_JGE                              = 0x30\n\tBPF_JGT                              = 0x20\n\tBPF_JMP                              = 0x5\n\tBPF_JSET                             = 0x40\n\tBPF_K                                = 0x0\n\tBPF_LD                               = 0x0\n\tBPF_LDX                              = 0x1\n\tBPF_LEN                              = 0x80\n\tBPF_LL_OFF                           = -0x200000\n\tBPF_LSH                              = 0x60\n\tBPF_MAJOR_VERSION                    = 0x1\n\tBPF_MAXINSNS                         = 0x1000\n\tBPF_MEM                              = 0x60\n\tBPF_MEMWORDS                         = 0x10\n\tBPF_MINOR_VERSION                    = 0x1\n\tBPF_MISC                             = 0x7\n\tBPF_MOD                              = 0x90\n\tBPF_MSH                              = 0xa0\n\tBPF_MUL                              = 0x20\n\tBPF_NEG                              = 0x80\n\tBPF_NET_OFF                          = -0x100000\n\tBPF_OR                               = 0x40\n\tBPF_RET                              = 0x6\n\tBPF_RSH                              = 0x70\n\tBPF_ST                               = 0x2\n\tBPF_STX                              = 0x3\n\tBPF_SUB                              = 0x10\n\tBPF_TAX                              = 0x0\n\tBPF_TXA                              = 0x80\n\tBPF_W                                = 0x0\n\tBPF_X                                = 0x8\n\tBPF_XOR                              = 0xa0\n\tBRKINT                               = 0x2\n\tBS0                                  = 0x0\n\tBS1                                  = 0x2000\n\tBSDLY                                = 0x2000\n\tBTRFS_SUPER_MAGIC                    = 0x9123683e\n\tBTRFS_TEST_MAGIC                     = 0x73727279\n\tCAN_BCM                              = 0x2\n\tCAN_EFF_FLAG                         = 0x80000000\n\tCAN_EFF_ID_BITS                      = 0x1d\n\tCAN_EFF_MASK                         = 0x1fffffff\n\tCAN_ERR_FLAG                         = 0x20000000\n\tCAN_ERR_MASK                         = 0x1fffffff\n\tCAN_INV_FILTER                       = 0x20000000\n\tCAN_ISOTP                            = 0x6\n\tCAN_MAX_DLC                          = 0x8\n\tCAN_MAX_DLEN                         = 0x8\n\tCAN_MCNET                            = 0x5\n\tCAN_MTU                              = 0x10\n\tCAN_NPROTO                           = 0x7\n\tCAN_RAW                              = 0x1\n\tCAN_RAW_FILTER_MAX                   = 0x200\n\tCAN_RTR_FLAG                         = 0x40000000\n\tCAN_SFF_ID_BITS                      = 0xb\n\tCAN_SFF_MASK                         = 0x7ff\n\tCAN_TP16                             = 0x3\n\tCAN_TP20                             = 0x4\n\tCBAUD                                = 0x100f\n\tCBAUDEX                              = 0x1000\n\tCFLUSH                               = 0xf\n\tCGROUP2_SUPER_MAGIC                  = 0x63677270\n\tCGROUP_SUPER_MAGIC                   = 0x27e0eb\n\tCIBAUD                               = 0x100f0000\n\tCLOCAL                               = 0x800\n\tCLOCK_BOOTTIME                       = 0x7\n\tCLOCK_BOOTTIME_ALARM                 = 0x9\n\tCLOCK_DEFAULT                        = 0x0\n\tCLOCK_EXT                            = 0x1\n\tCLOCK_INT                            = 0x2\n\tCLOCK_MONOTONIC                      = 0x1\n\tCLOCK_MONOTONIC_COARSE               = 0x6\n\tCLOCK_MONOTONIC_RAW                  = 0x4\n\tCLOCK_PROCESS_CPUTIME_ID             = 0x2\n\tCLOCK_REALTIME                       = 0x0\n\tCLOCK_REALTIME_ALARM                 = 0x8\n\tCLOCK_REALTIME_COARSE                = 0x5\n\tCLOCK_TAI                            = 0xb\n\tCLOCK_THREAD_CPUTIME_ID              = 0x3\n\tCLOCK_TXFROMRX                       = 0x4\n\tCLOCK_TXINT                          = 0x3\n\tCLONE_CHILD_CLEARTID                 = 0x200000\n\tCLONE_CHILD_SETTID                   = 0x1000000\n\tCLONE_DETACHED                       = 0x400000\n\tCLONE_FILES                          = 0x400\n\tCLONE_FS                             = 0x200\n\tCLONE_IO                             = 0x80000000\n\tCLONE_NEWCGROUP                      = 0x2000000\n\tCLONE_NEWIPC                         = 0x8000000\n\tCLONE_NEWNET                         = 0x40000000\n\tCLONE_NEWNS                          = 0x20000\n\tCLONE_NEWPID                         = 0x20000000\n\tCLONE_NEWUSER                        = 0x10000000\n\tCLONE_NEWUTS                         = 0x4000000\n\tCLONE_PARENT                         = 0x8000\n\tCLONE_PARENT_SETTID                  = 0x100000\n\tCLONE_PTRACE                         = 0x2000\n\tCLONE_SETTLS                         = 0x80000\n\tCLONE_SIGHAND                        = 0x800\n\tCLONE_SYSVSEM                        = 0x40000\n\tCLONE_THREAD                         = 0x10000\n\tCLONE_UNTRACED                       = 0x800000\n\tCLONE_VFORK                          = 0x4000\n\tCLONE_VM                             = 0x100\n\tCMSPAR                               = 0x40000000\n\tCODA_SUPER_MAGIC                     = 0x73757245\n\tCR0                                  = 0x0\n\tCR1                                  = 0x200\n\tCR2                                  = 0x400\n\tCR3                                  = 0x600\n\tCRAMFS_MAGIC                         = 0x28cd3d45\n\tCRDLY                                = 0x600\n\tCREAD                                = 0x80\n\tCRTSCTS                              = 0x80000000\n\tCS5                                  = 0x0\n\tCS6                                  = 0x10\n\tCS7                                  = 0x20\n\tCS8                                  = 0x30\n\tCSIGNAL                              = 0xff\n\tCSIZE                                = 0x30\n\tCSTART                               = 0x11\n\tCSTATUS                              = 0x0\n\tCSTOP                                = 0x13\n\tCSTOPB                               = 0x40\n\tCSUSP                                = 0x1a\n\tDAXFS_MAGIC                          = 0x64646178\n\tDEBUGFS_MAGIC                        = 0x64626720\n\tDEVPTS_SUPER_MAGIC                   = 0x1cd1\n\tDT_BLK                               = 0x6\n\tDT_CHR                               = 0x2\n\tDT_DIR                               = 0x4\n\tDT_FIFO                              = 0x1\n\tDT_LNK                               = 0xa\n\tDT_REG                               = 0x8\n\tDT_SOCK                              = 0xc\n\tDT_UNKNOWN                           = 0x0\n\tDT_WHT                               = 0xe\n\tECHO                                 = 0x8\n\tECHOCTL                              = 0x200\n\tECHOE                                = 0x10\n\tECHOK                                = 0x20\n\tECHOKE                               = 0x800\n\tECHONL                               = 0x40\n\tECHOPRT                              = 0x400\n\tECRYPTFS_SUPER_MAGIC                 = 0xf15f\n\tEFD_CLOEXEC                          = 0x80000\n\tEFD_NONBLOCK                         = 0x800\n\tEFD_SEMAPHORE                        = 0x1\n\tEFIVARFS_MAGIC                       = 0xde5e81e4\n\tEFS_SUPER_MAGIC                      = 0x414a53\n\tENCODING_DEFAULT                     = 0x0\n\tENCODING_FM_MARK                     = 0x3\n\tENCODING_FM_SPACE                    = 0x4\n\tENCODING_MANCHESTER                  = 0x5\n\tENCODING_NRZ                         = 0x1\n\tENCODING_NRZI                        = 0x2\n\tEPOLLERR                             = 0x8\n\tEPOLLET                              = 0x80000000\n\tEPOLLEXCLUSIVE                       = 0x10000000\n\tEPOLLHUP                             = 0x10\n\tEPOLLIN                              = 0x1\n\tEPOLLMSG                             = 0x400\n\tEPOLLONESHOT                         = 0x40000000\n\tEPOLLOUT                             = 0x4\n\tEPOLLPRI                             = 0x2\n\tEPOLLRDBAND                          = 0x80\n\tEPOLLRDHUP                           = 0x2000\n\tEPOLLRDNORM                          = 0x40\n\tEPOLLWAKEUP                          = 0x20000000\n\tEPOLLWRBAND                          = 0x200\n\tEPOLLWRNORM                          = 0x100\n\tEPOLL_CLOEXEC                        = 0x80000\n\tEPOLL_CTL_ADD                        = 0x1\n\tEPOLL_CTL_DEL                        = 0x2\n\tEPOLL_CTL_MOD                        = 0x3\n\tETH_P_1588                           = 0x88f7\n\tETH_P_8021AD                         = 0x88a8\n\tETH_P_8021AH                         = 0x88e7\n\tETH_P_8021Q                          = 0x8100\n\tETH_P_80221                          = 0x8917\n\tETH_P_802_2                          = 0x4\n\tETH_P_802_3                          = 0x1\n\tETH_P_802_3_MIN                      = 0x600\n\tETH_P_802_EX1                        = 0x88b5\n\tETH_P_AARP                           = 0x80f3\n\tETH_P_AF_IUCV                        = 0xfbfb\n\tETH_P_ALL                            = 0x3\n\tETH_P_AOE                            = 0x88a2\n\tETH_P_ARCNET                         = 0x1a\n\tETH_P_ARP                            = 0x806\n\tETH_P_ATALK                          = 0x809b\n\tETH_P_ATMFATE                        = 0x8884\n\tETH_P_ATMMPOA                        = 0x884c\n\tETH_P_AX25                           = 0x2\n\tETH_P_BATMAN                         = 0x4305\n\tETH_P_BPQ                            = 0x8ff\n\tETH_P_CAIF                           = 0xf7\n\tETH_P_CAN                            = 0xc\n\tETH_P_CANFD                          = 0xd\n\tETH_P_CONTROL                        = 0x16\n\tETH_P_CUST                           = 0x6006\n\tETH_P_DDCMP                          = 0x6\n\tETH_P_DEC                            = 0x6000\n\tETH_P_DIAG                           = 0x6005\n\tETH_P_DNA_DL                         = 0x6001\n\tETH_P_DNA_RC                         = 0x6002\n\tETH_P_DNA_RT                         = 0x6003\n\tETH_P_DSA                            = 0x1b\n\tETH_P_ECONET                         = 0x18\n\tETH_P_EDSA                           = 0xdada\n\tETH_P_ERSPAN                         = 0x88be\n\tETH_P_ERSPAN2                        = 0x22eb\n\tETH_P_FCOE                           = 0x8906\n\tETH_P_FIP                            = 0x8914\n\tETH_P_HDLC                           = 0x19\n\tETH_P_HSR                            = 0x892f\n\tETH_P_IBOE                           = 0x8915\n\tETH_P_IEEE802154                     = 0xf6\n\tETH_P_IEEEPUP                        = 0xa00\n\tETH_P_IEEEPUPAT                      = 0xa01\n\tETH_P_IFE                            = 0xed3e\n\tETH_P_IP                             = 0x800\n\tETH_P_IPV6                           = 0x86dd\n\tETH_P_IPX                            = 0x8137\n\tETH_P_IRDA                           = 0x17\n\tETH_P_LAT                            = 0x6004\n\tETH_P_LINK_CTL                       = 0x886c\n\tETH_P_LOCALTALK                      = 0x9\n\tETH_P_LOOP                           = 0x60\n\tETH_P_LOOPBACK                       = 0x9000\n\tETH_P_MACSEC                         = 0x88e5\n\tETH_P_MAP                            = 0xf9\n\tETH_P_MOBITEX                        = 0x15\n\tETH_P_MPLS_MC                        = 0x8848\n\tETH_P_MPLS_UC                        = 0x8847\n\tETH_P_MVRP                           = 0x88f5\n\tETH_P_NCSI                           = 0x88f8\n\tETH_P_NSH                            = 0x894f\n\tETH_P_PAE                            = 0x888e\n\tETH_P_PAUSE                          = 0x8808\n\tETH_P_PHONET                         = 0xf5\n\tETH_P_PPPTALK                        = 0x10\n\tETH_P_PPP_DISC                       = 0x8863\n\tETH_P_PPP_MP                         = 0x8\n\tETH_P_PPP_SES                        = 0x8864\n\tETH_P_PREAUTH                        = 0x88c7\n\tETH_P_PRP                            = 0x88fb\n\tETH_P_PUP                            = 0x200\n\tETH_P_PUPAT                          = 0x201\n\tETH_P_QINQ1                          = 0x9100\n\tETH_P_QINQ2                          = 0x9200\n\tETH_P_QINQ3                          = 0x9300\n\tETH_P_RARP                           = 0x8035\n\tETH_P_SCA                            = 0x6007\n\tETH_P_SLOW                           = 0x8809\n\tETH_P_SNAP                           = 0x5\n\tETH_P_TDLS                           = 0x890d\n\tETH_P_TEB                            = 0x6558\n\tETH_P_TIPC                           = 0x88ca\n\tETH_P_TRAILER                        = 0x1c\n\tETH_P_TR_802_2                       = 0x11\n\tETH_P_TSN                            = 0x22f0\n\tETH_P_WAN_PPP                        = 0x7\n\tETH_P_WCCP                           = 0x883e\n\tETH_P_X25                            = 0x805\n\tETH_P_XDSA                           = 0xf8\n\tEXABYTE_ENABLE_NEST                  = 0xf0\n\tEXT2_SUPER_MAGIC                     = 0xef53\n\tEXT3_SUPER_MAGIC                     = 0xef53\n\tEXT4_SUPER_MAGIC                     = 0xef53\n\tEXTA                                 = 0xe\n\tEXTB                                 = 0xf\n\tEXTPROC                              = 0x10000\n\tF2FS_SUPER_MAGIC                     = 0xf2f52010\n\tFALLOC_FL_COLLAPSE_RANGE             = 0x8\n\tFALLOC_FL_INSERT_RANGE               = 0x20\n\tFALLOC_FL_KEEP_SIZE                  = 0x1\n\tFALLOC_FL_NO_HIDE_STALE              = 0x4\n\tFALLOC_FL_PUNCH_HOLE                 = 0x2\n\tFALLOC_FL_UNSHARE_RANGE              = 0x40\n\tFALLOC_FL_ZERO_RANGE                 = 0x10\n\tFD_CLOEXEC                           = 0x1\n\tFD_SETSIZE                           = 0x400\n\tFF0                                  = 0x0\n\tFF1                                  = 0x8000\n\tFFDLY                                = 0x8000\n\tFLUSHO                               = 0x1000\n\tFP_XSTATE_MAGIC2                     = 0x46505845\n\tFS_ENCRYPTION_MODE_AES_128_CBC       = 0x5\n\tFS_ENCRYPTION_MODE_AES_128_CTS       = 0x6\n\tFS_ENCRYPTION_MODE_AES_256_CBC       = 0x3\n\tFS_ENCRYPTION_MODE_AES_256_CTS       = 0x4\n\tFS_ENCRYPTION_MODE_AES_256_GCM       = 0x2\n\tFS_ENCRYPTION_MODE_AES_256_XTS       = 0x1\n\tFS_ENCRYPTION_MODE_INVALID           = 0x0\n\tFS_ENCRYPTION_MODE_SPECK128_256_CTS  = 0x8\n\tFS_ENCRYPTION_MODE_SPECK128_256_XTS  = 0x7\n\tFS_IOC_GET_ENCRYPTION_POLICY         = 0x400c6615\n\tFS_IOC_GET_ENCRYPTION_PWSALT         = 0x40106614\n\tFS_IOC_SET_ENCRYPTION_POLICY         = 0x800c6613\n\tFS_KEY_DESCRIPTOR_SIZE               = 0x8\n\tFS_KEY_DESC_PREFIX                   = \"fscrypt:\"\n\tFS_KEY_DESC_PREFIX_SIZE              = 0x8\n\tFS_MAX_KEY_SIZE                      = 0x40\n\tFS_POLICY_FLAGS_PAD_16               = 0x2\n\tFS_POLICY_FLAGS_PAD_32               = 0x3\n\tFS_POLICY_FLAGS_PAD_4                = 0x0\n\tFS_POLICY_FLAGS_PAD_8                = 0x1\n\tFS_POLICY_FLAGS_PAD_MASK             = 0x3\n\tFS_POLICY_FLAGS_VALID                = 0x3\n\tFUTEXFS_SUPER_MAGIC                  = 0xbad1dea\n\tF_ADD_SEALS                          = 0x409\n\tF_DUPFD                              = 0x0\n\tF_DUPFD_CLOEXEC                      = 0x406\n\tF_EXLCK                              = 0x4\n\tF_GETFD                              = 0x1\n\tF_GETFL                              = 0x3\n\tF_GETLEASE                           = 0x401\n\tF_GETLK                              = 0xc\n\tF_GETLK64                            = 0xc\n\tF_GETOWN                             = 0x9\n\tF_GETOWN_EX                          = 0x10\n\tF_GETPIPE_SZ                         = 0x408\n\tF_GETSIG                             = 0xb\n\tF_GET_FILE_RW_HINT                   = 0x40d\n\tF_GET_RW_HINT                        = 0x40b\n\tF_GET_SEALS                          = 0x40a\n\tF_LOCK                               = 0x1\n\tF_NOTIFY                             = 0x402\n\tF_OFD_GETLK                          = 0x24\n\tF_OFD_SETLK                          = 0x25\n\tF_OFD_SETLKW                         = 0x26\n\tF_OK                                 = 0x0\n\tF_RDLCK                              = 0x0\n\tF_SEAL_GROW                          = 0x4\n\tF_SEAL_SEAL                          = 0x1\n\tF_SEAL_SHRINK                        = 0x2\n\tF_SEAL_WRITE                         = 0x8\n\tF_SETFD                              = 0x2\n\tF_SETFL                              = 0x4\n\tF_SETLEASE                           = 0x400\n\tF_SETLK                              = 0xd\n\tF_SETLK64                            = 0xd\n\tF_SETLKW                             = 0xe\n\tF_SETLKW64                           = 0xe\n\tF_SETOWN                             = 0x8\n\tF_SETOWN_EX                          = 0xf\n\tF_SETPIPE_SZ                         = 0x407\n\tF_SETSIG                             = 0xa\n\tF_SET_FILE_RW_HINT                   = 0x40e\n\tF_SET_RW_HINT                        = 0x40c\n\tF_SHLCK                              = 0x8\n\tF_TEST                               = 0x3\n\tF_TLOCK                              = 0x2\n\tF_ULOCK                              = 0x0\n\tF_UNLCK                              = 0x2\n\tF_WRLCK                              = 0x1\n\tGENL_ADMIN_PERM                      = 0x1\n\tGENL_CMD_CAP_DO                      = 0x2\n\tGENL_CMD_CAP_DUMP                    = 0x4\n\tGENL_CMD_CAP_HASPOL                  = 0x8\n\tGENL_HDRLEN                          = 0x4\n\tGENL_ID_CTRL                         = 0x10\n\tGENL_ID_PMCRAID                      = 0x12\n\tGENL_ID_VFS_DQUOT                    = 0x11\n\tGENL_MAX_ID                          = 0x3ff\n\tGENL_MIN_ID                          = 0x10\n\tGENL_NAMSIZ                          = 0x10\n\tGENL_START_ALLOC                     = 0x13\n\tGENL_UNS_ADMIN_PERM                  = 0x10\n\tGRND_NONBLOCK                        = 0x1\n\tGRND_RANDOM                          = 0x2\n\tHDIO_DRIVE_CMD                       = 0x31f\n\tHDIO_DRIVE_CMD_AEB                   = 0x31e\n\tHDIO_DRIVE_CMD_HDR_SIZE              = 0x4\n\tHDIO_DRIVE_HOB_HDR_SIZE              = 0x8\n\tHDIO_DRIVE_RESET                     = 0x31c\n\tHDIO_DRIVE_TASK                      = 0x31e\n\tHDIO_DRIVE_TASKFILE                  = 0x31d\n\tHDIO_DRIVE_TASK_HDR_SIZE             = 0x8\n\tHDIO_GETGEO                          = 0x301\n\tHDIO_GET_32BIT                       = 0x309\n\tHDIO_GET_ACOUSTIC                    = 0x30f\n\tHDIO_GET_ADDRESS                     = 0x310\n\tHDIO_GET_BUSSTATE                    = 0x31a\n\tHDIO_GET_DMA                         = 0x30b\n\tHDIO_GET_IDENTITY                    = 0x30d\n\tHDIO_GET_KEEPSETTINGS                = 0x308\n\tHDIO_GET_MULTCOUNT                   = 0x304\n\tHDIO_GET_NICE                        = 0x30c\n\tHDIO_GET_NOWERR                      = 0x30a\n\tHDIO_GET_QDMA                        = 0x305\n\tHDIO_GET_UNMASKINTR                  = 0x302\n\tHDIO_GET_WCACHE                      = 0x30e\n\tHDIO_OBSOLETE_IDENTITY               = 0x307\n\tHDIO_SCAN_HWIF                       = 0x328\n\tHDIO_SET_32BIT                       = 0x324\n\tHDIO_SET_ACOUSTIC                    = 0x32c\n\tHDIO_SET_ADDRESS                     = 0x32f\n\tHDIO_SET_BUSSTATE                    = 0x32d\n\tHDIO_SET_DMA                         = 0x326\n\tHDIO_SET_KEEPSETTINGS                = 0x323\n\tHDIO_SET_MULTCOUNT                   = 0x321\n\tHDIO_SET_NICE                        = 0x329\n\tHDIO_SET_NOWERR                      = 0x325\n\tHDIO_SET_PIO_MODE                    = 0x327\n\tHDIO_SET_QDMA                        = 0x32e\n\tHDIO_SET_UNMASKINTR                  = 0x322\n\tHDIO_SET_WCACHE                      = 0x32b\n\tHDIO_SET_XFER                        = 0x306\n\tHDIO_TRISTATE_HWIF                   = 0x31b\n\tHDIO_UNREGISTER_HWIF                 = 0x32a\n\tHOSTFS_SUPER_MAGIC                   = 0xc0ffee\n\tHPFS_SUPER_MAGIC                     = 0xf995e849\n\tHUGETLBFS_MAGIC                      = 0x958458f6\n\tHUPCL                                = 0x400\n\tIBSHIFT                              = 0x10\n\tICANON                               = 0x2\n\tICMPV6_FILTER                        = 0x1\n\tICRNL                                = 0x100\n\tIEXTEN                               = 0x8000\n\tIFA_F_DADFAILED                      = 0x8\n\tIFA_F_DEPRECATED                     = 0x20\n\tIFA_F_HOMEADDRESS                    = 0x10\n\tIFA_F_MANAGETEMPADDR                 = 0x100\n\tIFA_F_MCAUTOJOIN                     = 0x400\n\tIFA_F_NODAD                          = 0x2\n\tIFA_F_NOPREFIXROUTE                  = 0x200\n\tIFA_F_OPTIMISTIC                     = 0x4\n\tIFA_F_PERMANENT                      = 0x80\n\tIFA_F_SECONDARY                      = 0x1\n\tIFA_F_STABLE_PRIVACY                 = 0x800\n\tIFA_F_TEMPORARY                      = 0x1\n\tIFA_F_TENTATIVE                      = 0x40\n\tIFA_MAX                              = 0x9\n\tIFF_ALLMULTI                         = 0x200\n\tIFF_ATTACH_QUEUE                     = 0x200\n\tIFF_AUTOMEDIA                        = 0x4000\n\tIFF_BROADCAST                        = 0x2\n\tIFF_DEBUG                            = 0x4\n\tIFF_DETACH_QUEUE                     = 0x400\n\tIFF_DORMANT                          = 0x20000\n\tIFF_DYNAMIC                          = 0x8000\n\tIFF_ECHO                             = 0x40000\n\tIFF_LOOPBACK                         = 0x8\n\tIFF_LOWER_UP                         = 0x10000\n\tIFF_MASTER                           = 0x400\n\tIFF_MULTICAST                        = 0x1000\n\tIFF_MULTI_QUEUE                      = 0x100\n\tIFF_NAPI                             = 0x10\n\tIFF_NAPI_FRAGS                       = 0x20\n\tIFF_NOARP                            = 0x80\n\tIFF_NOFILTER                         = 0x1000\n\tIFF_NOTRAILERS                       = 0x20\n\tIFF_NO_PI                            = 0x1000\n\tIFF_ONE_QUEUE                        = 0x2000\n\tIFF_PERSIST                          = 0x800\n\tIFF_POINTOPOINT                      = 0x10\n\tIFF_PORTSEL                          = 0x2000\n\tIFF_PROMISC                          = 0x100\n\tIFF_RUNNING                          = 0x40\n\tIFF_SLAVE                            = 0x800\n\tIFF_TAP                              = 0x2\n\tIFF_TUN                              = 0x1\n\tIFF_TUN_EXCL                         = 0x8000\n\tIFF_UP                               = 0x1\n\tIFF_VNET_HDR                         = 0x4000\n\tIFF_VOLATILE                         = 0x70c5a\n\tIFNAMSIZ                             = 0x10\n\tIGNBRK                               = 0x1\n\tIGNCR                                = 0x80\n\tIGNPAR                               = 0x4\n\tIMAXBEL                              = 0x2000\n\tINLCR                                = 0x40\n\tINPCK                                = 0x10\n\tIN_ACCESS                            = 0x1\n\tIN_ALL_EVENTS                        = 0xfff\n\tIN_ATTRIB                            = 0x4\n\tIN_CLASSA_HOST                       = 0xffffff\n\tIN_CLASSA_MAX                        = 0x80\n\tIN_CLASSA_NET                        = 0xff000000\n\tIN_CLASSA_NSHIFT                     = 0x18\n\tIN_CLASSB_HOST                       = 0xffff\n\tIN_CLASSB_MAX                        = 0x10000\n\tIN_CLASSB_NET                        = 0xffff0000\n\tIN_CLASSB_NSHIFT                     = 0x10\n\tIN_CLASSC_HOST                       = 0xff\n\tIN_CLASSC_NET                        = 0xffffff00\n\tIN_CLASSC_NSHIFT                     = 0x8\n\tIN_CLOEXEC                           = 0x80000\n\tIN_CLOSE                             = 0x18\n\tIN_CLOSE_NOWRITE                     = 0x10\n\tIN_CLOSE_WRITE                       = 0x8\n\tIN_CREATE                            = 0x100\n\tIN_DELETE                            = 0x200\n\tIN_DELETE_SELF                       = 0x400\n\tIN_DONT_FOLLOW                       = 0x2000000\n\tIN_EXCL_UNLINK                       = 0x4000000\n\tIN_IGNORED                           = 0x8000\n\tIN_ISDIR                             = 0x40000000\n\tIN_LOOPBACKNET                       = 0x7f\n\tIN_MASK_ADD                          = 0x20000000\n\tIN_MODIFY                            = 0x2\n\tIN_MOVE                              = 0xc0\n\tIN_MOVED_FROM                        = 0x40\n\tIN_MOVED_TO                          = 0x80\n\tIN_MOVE_SELF                         = 0x800\n\tIN_NONBLOCK                          = 0x800\n\tIN_ONESHOT                           = 0x80000000\n\tIN_ONLYDIR                           = 0x1000000\n\tIN_OPEN                              = 0x20\n\tIN_Q_OVERFLOW                        = 0x4000\n\tIN_UNMOUNT                           = 0x2000\n\tIOCTL_VM_SOCKETS_GET_LOCAL_CID       = 0x7b9\n\tIPPROTO_AH                           = 0x33\n\tIPPROTO_BEETPH                       = 0x5e\n\tIPPROTO_COMP                         = 0x6c\n\tIPPROTO_DCCP                         = 0x21\n\tIPPROTO_DSTOPTS                      = 0x3c\n\tIPPROTO_EGP                          = 0x8\n\tIPPROTO_ENCAP                        = 0x62\n\tIPPROTO_ESP                          = 0x32\n\tIPPROTO_FRAGMENT                     = 0x2c\n\tIPPROTO_GRE                          = 0x2f\n\tIPPROTO_HOPOPTS                      = 0x0\n\tIPPROTO_ICMP                         = 0x1\n\tIPPROTO_ICMPV6                       = 0x3a\n\tIPPROTO_IDP                          = 0x16\n\tIPPROTO_IGMP                         = 0x2\n\tIPPROTO_IP                           = 0x0\n\tIPPROTO_IPIP                         = 0x4\n\tIPPROTO_IPV6                         = 0x29\n\tIPPROTO_MH                           = 0x87\n\tIPPROTO_MPLS                         = 0x89\n\tIPPROTO_MTP                          = 0x5c\n\tIPPROTO_NONE                         = 0x3b\n\tIPPROTO_PIM                          = 0x67\n\tIPPROTO_PUP                          = 0xc\n\tIPPROTO_RAW                          = 0xff\n\tIPPROTO_ROUTING                      = 0x2b\n\tIPPROTO_RSVP                         = 0x2e\n\tIPPROTO_SCTP                         = 0x84\n\tIPPROTO_TCP                          = 0x6\n\tIPPROTO_TP                           = 0x1d\n\tIPPROTO_UDP                          = 0x11\n\tIPPROTO_UDPLITE                      = 0x88\n\tIPV6_2292DSTOPTS                     = 0x4\n\tIPV6_2292HOPLIMIT                    = 0x8\n\tIPV6_2292HOPOPTS                     = 0x3\n\tIPV6_2292PKTINFO                     = 0x2\n\tIPV6_2292PKTOPTIONS                  = 0x6\n\tIPV6_2292RTHDR                       = 0x5\n\tIPV6_ADDRFORM                        = 0x1\n\tIPV6_ADDR_PREFERENCES                = 0x48\n\tIPV6_ADD_MEMBERSHIP                  = 0x14\n\tIPV6_AUTHHDR                         = 0xa\n\tIPV6_AUTOFLOWLABEL                   = 0x46\n\tIPV6_CHECKSUM                        = 0x7\n\tIPV6_DONTFRAG                        = 0x3e\n\tIPV6_DROP_MEMBERSHIP                 = 0x15\n\tIPV6_DSTOPTS                         = 0x3b\n\tIPV6_FREEBIND                        = 0x4e\n\tIPV6_HDRINCL                         = 0x24\n\tIPV6_HOPLIMIT                        = 0x34\n\tIPV6_HOPOPTS                         = 0x36\n\tIPV6_IPSEC_POLICY                    = 0x22\n\tIPV6_JOIN_ANYCAST                    = 0x1b\n\tIPV6_JOIN_GROUP                      = 0x14\n\tIPV6_LEAVE_ANYCAST                   = 0x1c\n\tIPV6_LEAVE_GROUP                     = 0x15\n\tIPV6_MINHOPCOUNT                     = 0x49\n\tIPV6_MTU                             = 0x18\n\tIPV6_MTU_DISCOVER                    = 0x17\n\tIPV6_MULTICAST_HOPS                  = 0x12\n\tIPV6_MULTICAST_IF                    = 0x11\n\tIPV6_MULTICAST_LOOP                  = 0x13\n\tIPV6_NEXTHOP                         = 0x9\n\tIPV6_ORIGDSTADDR                     = 0x4a\n\tIPV6_PATHMTU                         = 0x3d\n\tIPV6_PKTINFO                         = 0x32\n\tIPV6_PMTUDISC_DO                     = 0x2\n\tIPV6_PMTUDISC_DONT                   = 0x0\n\tIPV6_PMTUDISC_INTERFACE              = 0x4\n\tIPV6_PMTUDISC_OMIT                   = 0x5\n\tIPV6_PMTUDISC_PROBE                  = 0x3\n\tIPV6_PMTUDISC_WANT                   = 0x1\n\tIPV6_RECVDSTOPTS                     = 0x3a\n\tIPV6_RECVERR                         = 0x19\n\tIPV6_RECVFRAGSIZE                    = 0x4d\n\tIPV6_RECVHOPLIMIT                    = 0x33\n\tIPV6_RECVHOPOPTS                     = 0x35\n\tIPV6_RECVORIGDSTADDR                 = 0x4a\n\tIPV6_RECVPATHMTU                     = 0x3c\n\tIPV6_RECVPKTINFO                     = 0x31\n\tIPV6_RECVRTHDR                       = 0x38\n\tIPV6_RECVTCLASS                      = 0x42\n\tIPV6_ROUTER_ALERT                    = 0x16\n\tIPV6_RTHDR                           = 0x39\n\tIPV6_RTHDRDSTOPTS                    = 0x37\n\tIPV6_RTHDR_LOOSE                     = 0x0\n\tIPV6_RTHDR_STRICT                    = 0x1\n\tIPV6_RTHDR_TYPE_0                    = 0x0\n\tIPV6_RXDSTOPTS                       = 0x3b\n\tIPV6_RXHOPOPTS                       = 0x36\n\tIPV6_TCLASS                          = 0x43\n\tIPV6_TRANSPARENT                     = 0x4b\n\tIPV6_UNICAST_HOPS                    = 0x10\n\tIPV6_UNICAST_IF                      = 0x4c\n\tIPV6_V6ONLY                          = 0x1a\n\tIPV6_XFRM_POLICY                     = 0x23\n\tIP_ADD_MEMBERSHIP                    = 0x23\n\tIP_ADD_SOURCE_MEMBERSHIP             = 0x27\n\tIP_BIND_ADDRESS_NO_PORT              = 0x18\n\tIP_BLOCK_SOURCE                      = 0x26\n\tIP_CHECKSUM                          = 0x17\n\tIP_DEFAULT_MULTICAST_LOOP            = 0x1\n\tIP_DEFAULT_MULTICAST_TTL             = 0x1\n\tIP_DF                                = 0x4000\n\tIP_DROP_MEMBERSHIP                   = 0x24\n\tIP_DROP_SOURCE_MEMBERSHIP            = 0x28\n\tIP_FREEBIND                          = 0xf\n\tIP_HDRINCL                           = 0x3\n\tIP_IPSEC_POLICY                      = 0x10\n\tIP_MAXPACKET                         = 0xffff\n\tIP_MAX_MEMBERSHIPS                   = 0x14\n\tIP_MF                                = 0x2000\n\tIP_MINTTL                            = 0x15\n\tIP_MSFILTER                          = 0x29\n\tIP_MSS                               = 0x240\n\tIP_MTU                               = 0xe\n\tIP_MTU_DISCOVER                      = 0xa\n\tIP_MULTICAST_ALL                     = 0x31\n\tIP_MULTICAST_IF                      = 0x20\n\tIP_MULTICAST_LOOP                    = 0x22\n\tIP_MULTICAST_TTL                     = 0x21\n\tIP_NODEFRAG                          = 0x16\n\tIP_OFFMASK                           = 0x1fff\n\tIP_OPTIONS                           = 0x4\n\tIP_ORIGDSTADDR                       = 0x14\n\tIP_PASSSEC                           = 0x12\n\tIP_PKTINFO                           = 0x8\n\tIP_PKTOPTIONS                        = 0x9\n\tIP_PMTUDISC                          = 0xa\n\tIP_PMTUDISC_DO                       = 0x2\n\tIP_PMTUDISC_DONT                     = 0x0\n\tIP_PMTUDISC_INTERFACE                = 0x4\n\tIP_PMTUDISC_OMIT                     = 0x5\n\tIP_PMTUDISC_PROBE                    = 0x3\n\tIP_PMTUDISC_WANT                     = 0x1\n\tIP_RECVERR                           = 0xb\n\tIP_RECVFRAGSIZE                      = 0x19\n\tIP_RECVOPTS                          = 0x6\n\tIP_RECVORIGDSTADDR                   = 0x14\n\tIP_RECVRETOPTS                       = 0x7\n\tIP_RECVTOS                           = 0xd\n\tIP_RECVTTL                           = 0xc\n\tIP_RETOPTS                           = 0x7\n\tIP_RF                                = 0x8000\n\tIP_ROUTER_ALERT                      = 0x5\n\tIP_TOS                               = 0x1\n\tIP_TRANSPARENT                       = 0x13\n\tIP_TTL                               = 0x2\n\tIP_UNBLOCK_SOURCE                    = 0x25\n\tIP_UNICAST_IF                        = 0x32\n\tIP_XFRM_POLICY                       = 0x11\n\tISIG                                 = 0x1\n\tISOFS_SUPER_MAGIC                    = 0x9660\n\tISTRIP                               = 0x20\n\tIUCLC                                = 0x200\n\tIUTF8                                = 0x4000\n\tIXANY                                = 0x800\n\tIXOFF                                = 0x1000\n\tIXON                                 = 0x400\n\tJFFS2_SUPER_MAGIC                    = 0x72b6\n\tKEYCTL_ASSUME_AUTHORITY              = 0x10\n\tKEYCTL_CHOWN                         = 0x4\n\tKEYCTL_CLEAR                         = 0x7\n\tKEYCTL_DESCRIBE                      = 0x6\n\tKEYCTL_DH_COMPUTE                    = 0x17\n\tKEYCTL_GET_KEYRING_ID                = 0x0\n\tKEYCTL_GET_PERSISTENT                = 0x16\n\tKEYCTL_GET_SECURITY                  = 0x11\n\tKEYCTL_INSTANTIATE                   = 0xc\n\tKEYCTL_INSTANTIATE_IOV               = 0x14\n\tKEYCTL_INVALIDATE                    = 0x15\n\tKEYCTL_JOIN_SESSION_KEYRING          = 0x1\n\tKEYCTL_LINK                          = 0x8\n\tKEYCTL_NEGATE                        = 0xd\n\tKEYCTL_READ                          = 0xb\n\tKEYCTL_REJECT                        = 0x13\n\tKEYCTL_RESTRICT_KEYRING              = 0x1d\n\tKEYCTL_REVOKE                        = 0x3\n\tKEYCTL_SEARCH                        = 0xa\n\tKEYCTL_SESSION_TO_PARENT             = 0x12\n\tKEYCTL_SETPERM                       = 0x5\n\tKEYCTL_SET_REQKEY_KEYRING            = 0xe\n\tKEYCTL_SET_TIMEOUT                   = 0xf\n\tKEYCTL_UNLINK                        = 0x9\n\tKEYCTL_UPDATE                        = 0x2\n\tKEY_REQKEY_DEFL_DEFAULT              = 0x0\n\tKEY_REQKEY_DEFL_GROUP_KEYRING        = 0x6\n\tKEY_REQKEY_DEFL_NO_CHANGE            = -0x1\n\tKEY_REQKEY_DEFL_PROCESS_KEYRING      = 0x2\n\tKEY_REQKEY_DEFL_REQUESTOR_KEYRING    = 0x7\n\tKEY_REQKEY_DEFL_SESSION_KEYRING      = 0x3\n\tKEY_REQKEY_DEFL_THREAD_KEYRING       = 0x1\n\tKEY_REQKEY_DEFL_USER_KEYRING         = 0x4\n\tKEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5\n\tKEY_SPEC_GROUP_KEYRING               = -0x6\n\tKEY_SPEC_PROCESS_KEYRING             = -0x2\n\tKEY_SPEC_REQKEY_AUTH_KEY             = -0x7\n\tKEY_SPEC_REQUESTOR_KEYRING           = -0x8\n\tKEY_SPEC_SESSION_KEYRING             = -0x3\n\tKEY_SPEC_THREAD_KEYRING              = -0x1\n\tKEY_SPEC_USER_KEYRING                = -0x4\n\tKEY_SPEC_USER_SESSION_KEYRING        = -0x5\n\tLINUX_REBOOT_CMD_CAD_OFF             = 0x0\n\tLINUX_REBOOT_CMD_CAD_ON              = 0x89abcdef\n\tLINUX_REBOOT_CMD_HALT                = 0xcdef0123\n\tLINUX_REBOOT_CMD_KEXEC               = 0x45584543\n\tLINUX_REBOOT_CMD_POWER_OFF           = 0x4321fedc\n\tLINUX_REBOOT_CMD_RESTART             = 0x1234567\n\tLINUX_REBOOT_CMD_RESTART2            = 0xa1b2c3d4\n\tLINUX_REBOOT_CMD_SW_SUSPEND          = 0xd000fce2\n\tLINUX_REBOOT_MAGIC1                  = 0xfee1dead\n\tLINUX_REBOOT_MAGIC2                  = 0x28121969\n\tLOCK_EX                              = 0x2\n\tLOCK_NB                              = 0x4\n\tLOCK_SH                              = 0x1\n\tLOCK_UN                              = 0x8\n\tMADV_DODUMP                          = 0x11\n\tMADV_DOFORK                          = 0xb\n\tMADV_DONTDUMP                        = 0x10\n\tMADV_DONTFORK                        = 0xa\n\tMADV_DONTNEED                        = 0x4\n\tMADV_FREE                            = 0x8\n\tMADV_HUGEPAGE                        = 0xe\n\tMADV_HWPOISON                        = 0x64\n\tMADV_KEEPONFORK                      = 0x13\n\tMADV_MERGEABLE                       = 0xc\n\tMADV_NOHUGEPAGE                      = 0xf\n\tMADV_NORMAL                          = 0x0\n\tMADV_RANDOM                          = 0x1\n\tMADV_REMOVE                          = 0x9\n\tMADV_SEQUENTIAL                      = 0x2\n\tMADV_UNMERGEABLE                     = 0xd\n\tMADV_WILLNEED                        = 0x3\n\tMADV_WIPEONFORK                      = 0x12\n\tMAP_32BIT                            = 0x40\n\tMAP_ANON                             = 0x20\n\tMAP_ANONYMOUS                        = 0x20\n\tMAP_DENYWRITE                        = 0x800\n\tMAP_EXECUTABLE                       = 0x1000\n\tMAP_FILE                             = 0x0\n\tMAP_FIXED                            = 0x10\n\tMAP_FIXED_NOREPLACE                  = 0x100000\n\tMAP_GROWSDOWN                        = 0x100\n\tMAP_HUGETLB                          = 0x40000\n\tMAP_HUGE_MASK                        = 0x3f\n\tMAP_HUGE_SHIFT                       = 0x1a\n\tMAP_LOCKED                           = 0x2000\n\tMAP_NONBLOCK                         = 0x10000\n\tMAP_NORESERVE                        = 0x4000\n\tMAP_POPULATE                         = 0x8000\n\tMAP_PRIVATE                          = 0x2\n\tMAP_SHARED                           = 0x1\n\tMAP_SHARED_VALIDATE                  = 0x3\n\tMAP_STACK                            = 0x20000\n\tMAP_SYNC                             = 0x80000\n\tMAP_TYPE                             = 0xf\n\tMCL_CURRENT                          = 0x1\n\tMCL_FUTURE                           = 0x2\n\tMCL_ONFAULT                          = 0x4\n\tMINIX2_SUPER_MAGIC                   = 0x2468\n\tMINIX2_SUPER_MAGIC2                  = 0x2478\n\tMINIX3_SUPER_MAGIC                   = 0x4d5a\n\tMINIX_SUPER_MAGIC                    = 0x137f\n\tMINIX_SUPER_MAGIC2                   = 0x138f\n\tMNT_DETACH                           = 0x2\n\tMNT_EXPIRE                           = 0x4\n\tMNT_FORCE                            = 0x1\n\tMSDOS_SUPER_MAGIC                    = 0x4d44\n\tMSG_BATCH                            = 0x40000\n\tMSG_CMSG_CLOEXEC                     = 0x40000000\n\tMSG_CONFIRM                          = 0x800\n\tMSG_CTRUNC                           = 0x8\n\tMSG_DONTROUTE                        = 0x4\n\tMSG_DONTWAIT                         = 0x40\n\tMSG_EOR                              = 0x80\n\tMSG_ERRQUEUE                         = 0x2000\n\tMSG_FASTOPEN                         = 0x20000000\n\tMSG_FIN                              = 0x200\n\tMSG_MORE                             = 0x8000\n\tMSG_NOSIGNAL                         = 0x4000\n\tMSG_OOB                              = 0x1\n\tMSG_PEEK                             = 0x2\n\tMSG_PROXY                            = 0x10\n\tMSG_RST                              = 0x1000\n\tMSG_SYN                              = 0x400\n\tMSG_TRUNC                            = 0x20\n\tMSG_TRYHARD                          = 0x4\n\tMSG_WAITALL                          = 0x100\n\tMSG_WAITFORONE                       = 0x10000\n\tMSG_ZEROCOPY                         = 0x4000000\n\tMS_ACTIVE                            = 0x40000000\n\tMS_ASYNC                             = 0x1\n\tMS_BIND                              = 0x1000\n\tMS_BORN                              = 0x20000000\n\tMS_DIRSYNC                           = 0x80\n\tMS_INVALIDATE                        = 0x2\n\tMS_I_VERSION                         = 0x800000\n\tMS_KERNMOUNT                         = 0x400000\n\tMS_LAZYTIME                          = 0x2000000\n\tMS_MANDLOCK                          = 0x40\n\tMS_MGC_MSK                           = 0xffff0000\n\tMS_MGC_VAL                           = 0xc0ed0000\n\tMS_MOVE                              = 0x2000\n\tMS_NOATIME                           = 0x400\n\tMS_NODEV                             = 0x4\n\tMS_NODIRATIME                        = 0x800\n\tMS_NOEXEC                            = 0x8\n\tMS_NOREMOTELOCK                      = 0x8000000\n\tMS_NOSEC                             = 0x10000000\n\tMS_NOSUID                            = 0x2\n\tMS_NOUSER                            = -0x80000000\n\tMS_POSIXACL                          = 0x10000\n\tMS_PRIVATE                           = 0x40000\n\tMS_RDONLY                            = 0x1\n\tMS_REC                               = 0x4000\n\tMS_RELATIME                          = 0x200000\n\tMS_REMOUNT                           = 0x20\n\tMS_RMT_MASK                          = 0x2800051\n\tMS_SHARED                            = 0x100000\n\tMS_SILENT                            = 0x8000\n\tMS_SLAVE                             = 0x80000\n\tMS_STRICTATIME                       = 0x1000000\n\tMS_SUBMOUNT                          = 0x4000000\n\tMS_SYNC                              = 0x4\n\tMS_SYNCHRONOUS                       = 0x10\n\tMS_UNBINDABLE                        = 0x20000\n\tMS_VERBOSE                           = 0x8000\n\tMTD_INODE_FS_MAGIC                   = 0x11307854\n\tNAME_MAX                             = 0xff\n\tNCP_SUPER_MAGIC                      = 0x564c\n\tNETLINK_ADD_MEMBERSHIP               = 0x1\n\tNETLINK_AUDIT                        = 0x9\n\tNETLINK_BROADCAST_ERROR              = 0x4\n\tNETLINK_CAP_ACK                      = 0xa\n\tNETLINK_CONNECTOR                    = 0xb\n\tNETLINK_CRYPTO                       = 0x15\n\tNETLINK_DNRTMSG                      = 0xe\n\tNETLINK_DROP_MEMBERSHIP              = 0x2\n\tNETLINK_ECRYPTFS                     = 0x13\n\tNETLINK_EXT_ACK                      = 0xb\n\tNETLINK_FIB_LOOKUP                   = 0xa\n\tNETLINK_FIREWALL                     = 0x3\n\tNETLINK_GENERIC                      = 0x10\n\tNETLINK_INET_DIAG                    = 0x4\n\tNETLINK_IP6_FW                       = 0xd\n\tNETLINK_ISCSI                        = 0x8\n\tNETLINK_KOBJECT_UEVENT               = 0xf\n\tNETLINK_LISTEN_ALL_NSID              = 0x8\n\tNETLINK_LIST_MEMBERSHIPS             = 0x9\n\tNETLINK_NETFILTER                    = 0xc\n\tNETLINK_NFLOG                        = 0x5\n\tNETLINK_NO_ENOBUFS                   = 0x5\n\tNETLINK_PKTINFO                      = 0x3\n\tNETLINK_RDMA                         = 0x14\n\tNETLINK_ROUTE                        = 0x0\n\tNETLINK_RX_RING                      = 0x6\n\tNETLINK_SCSITRANSPORT                = 0x12\n\tNETLINK_SELINUX                      = 0x7\n\tNETLINK_SMC                          = 0x16\n\tNETLINK_SOCK_DIAG                    = 0x4\n\tNETLINK_TX_RING                      = 0x7\n\tNETLINK_UNUSED                       = 0x1\n\tNETLINK_USERSOCK                     = 0x2\n\tNETLINK_XFRM                         = 0x6\n\tNETNSA_MAX                           = 0x3\n\tNETNSA_NSID_NOT_ASSIGNED             = -0x1\n\tNFNETLINK_V0                         = 0x0\n\tNFNLGRP_ACCT_QUOTA                   = 0x8\n\tNFNLGRP_CONNTRACK_DESTROY            = 0x3\n\tNFNLGRP_CONNTRACK_EXP_DESTROY        = 0x6\n\tNFNLGRP_CONNTRACK_EXP_NEW            = 0x4\n\tNFNLGRP_CONNTRACK_EXP_UPDATE         = 0x5\n\tNFNLGRP_CONNTRACK_NEW                = 0x1\n\tNFNLGRP_CONNTRACK_UPDATE             = 0x2\n\tNFNLGRP_MAX                          = 0x9\n\tNFNLGRP_NFTABLES                     = 0x7\n\tNFNLGRP_NFTRACE                      = 0x9\n\tNFNLGRP_NONE                         = 0x0\n\tNFNL_BATCH_MAX                       = 0x1\n\tNFNL_MSG_BATCH_BEGIN                 = 0x10\n\tNFNL_MSG_BATCH_END                   = 0x11\n\tNFNL_NFA_NEST                        = 0x8000\n\tNFNL_SUBSYS_ACCT                     = 0x7\n\tNFNL_SUBSYS_COUNT                    = 0xc\n\tNFNL_SUBSYS_CTHELPER                 = 0x9\n\tNFNL_SUBSYS_CTNETLINK                = 0x1\n\tNFNL_SUBSYS_CTNETLINK_EXP            = 0x2\n\tNFNL_SUBSYS_CTNETLINK_TIMEOUT        = 0x8\n\tNFNL_SUBSYS_IPSET                    = 0x6\n\tNFNL_SUBSYS_NFTABLES                 = 0xa\n\tNFNL_SUBSYS_NFT_COMPAT               = 0xb\n\tNFNL_SUBSYS_NONE                     = 0x0\n\tNFNL_SUBSYS_OSF                      = 0x5\n\tNFNL_SUBSYS_QUEUE                    = 0x3\n\tNFNL_SUBSYS_ULOG                     = 0x4\n\tNFS_SUPER_MAGIC                      = 0x6969\n\tNILFS_SUPER_MAGIC                    = 0x3434\n\tNL0                                  = 0x0\n\tNL1                                  = 0x100\n\tNLA_ALIGNTO                          = 0x4\n\tNLA_F_NESTED                         = 0x8000\n\tNLA_F_NET_BYTEORDER                  = 0x4000\n\tNLA_HDRLEN                           = 0x4\n\tNLDLY                                = 0x100\n\tNLMSG_ALIGNTO                        = 0x4\n\tNLMSG_DONE                           = 0x3\n\tNLMSG_ERROR                          = 0x2\n\tNLMSG_HDRLEN                         = 0x10\n\tNLMSG_MIN_TYPE                       = 0x10\n\tNLMSG_NOOP                           = 0x1\n\tNLMSG_OVERRUN                        = 0x4\n\tNLM_F_ACK                            = 0x4\n\tNLM_F_ACK_TLVS                       = 0x200\n\tNLM_F_APPEND                         = 0x800\n\tNLM_F_ATOMIC                         = 0x400\n\tNLM_F_CAPPED                         = 0x100\n\tNLM_F_CREATE                         = 0x400\n\tNLM_F_DUMP                           = 0x300\n\tNLM_F_DUMP_FILTERED                  = 0x20\n\tNLM_F_DUMP_INTR                      = 0x10\n\tNLM_F_ECHO                           = 0x8\n\tNLM_F_EXCL                           = 0x200\n\tNLM_F_MATCH                          = 0x200\n\tNLM_F_MULTI                          = 0x2\n\tNLM_F_NONREC                         = 0x100\n\tNLM_F_REPLACE                        = 0x100\n\tNLM_F_REQUEST                        = 0x1\n\tNLM_F_ROOT                           = 0x100\n\tNOFLSH                               = 0x80\n\tNSFS_MAGIC                           = 0x6e736673\n\tOCFS2_SUPER_MAGIC                    = 0x7461636f\n\tOCRNL                                = 0x8\n\tOFDEL                                = 0x80\n\tOFILL                                = 0x40\n\tOLCUC                                = 0x2\n\tONLCR                                = 0x4\n\tONLRET                               = 0x20\n\tONOCR                                = 0x10\n\tOPENPROM_SUPER_MAGIC                 = 0x9fa1\n\tOPOST                                = 0x1\n\tOVERLAYFS_SUPER_MAGIC                = 0x794c7630\n\tO_ACCMODE                            = 0x3\n\tO_APPEND                             = 0x400\n\tO_ASYNC                              = 0x2000\n\tO_CLOEXEC                            = 0x80000\n\tO_CREAT                              = 0x40\n\tO_DIRECT                             = 0x4000\n\tO_DIRECTORY                          = 0x10000\n\tO_DSYNC                              = 0x1000\n\tO_EXCL                               = 0x80\n\tO_FSYNC                              = 0x101000\n\tO_LARGEFILE                          = 0x8000\n\tO_NDELAY                             = 0x800\n\tO_NOATIME                            = 0x40000\n\tO_NOCTTY                             = 0x100\n\tO_NOFOLLOW                           = 0x20000\n\tO_NONBLOCK                           = 0x800\n\tO_PATH                               = 0x200000\n\tO_RDONLY                             = 0x0\n\tO_RDWR                               = 0x2\n\tO_RSYNC                              = 0x101000\n\tO_SYNC                               = 0x101000\n\tO_TMPFILE                            = 0x410000\n\tO_TRUNC                              = 0x200\n\tO_WRONLY                             = 0x1\n\tPACKET_ADD_MEMBERSHIP                = 0x1\n\tPACKET_AUXDATA                       = 0x8\n\tPACKET_BROADCAST                     = 0x1\n\tPACKET_COPY_THRESH                   = 0x7\n\tPACKET_DROP_MEMBERSHIP               = 0x2\n\tPACKET_FANOUT                        = 0x12\n\tPACKET_FANOUT_CBPF                   = 0x6\n\tPACKET_FANOUT_CPU                    = 0x2\n\tPACKET_FANOUT_DATA                   = 0x16\n\tPACKET_FANOUT_EBPF                   = 0x7\n\tPACKET_FANOUT_FLAG_DEFRAG            = 0x8000\n\tPACKET_FANOUT_FLAG_ROLLOVER          = 0x1000\n\tPACKET_FANOUT_FLAG_UNIQUEID          = 0x2000\n\tPACKET_FANOUT_HASH                   = 0x0\n\tPACKET_FANOUT_LB                     = 0x1\n\tPACKET_FANOUT_QM                     = 0x5\n\tPACKET_FANOUT_RND                    = 0x4\n\tPACKET_FANOUT_ROLLOVER               = 0x3\n\tPACKET_FASTROUTE                     = 0x6\n\tPACKET_HDRLEN                        = 0xb\n\tPACKET_HOST                          = 0x0\n\tPACKET_KERNEL                        = 0x7\n\tPACKET_LOOPBACK                      = 0x5\n\tPACKET_LOSS                          = 0xe\n\tPACKET_MR_ALLMULTI                   = 0x2\n\tPACKET_MR_MULTICAST                  = 0x0\n\tPACKET_MR_PROMISC                    = 0x1\n\tPACKET_MR_UNICAST                    = 0x3\n\tPACKET_MULTICAST                     = 0x2\n\tPACKET_ORIGDEV                       = 0x9\n\tPACKET_OTHERHOST                     = 0x3\n\tPACKET_OUTGOING                      = 0x4\n\tPACKET_QDISC_BYPASS                  = 0x14\n\tPACKET_RECV_OUTPUT                   = 0x3\n\tPACKET_RESERVE                       = 0xc\n\tPACKET_ROLLOVER_STATS                = 0x15\n\tPACKET_RX_RING                       = 0x5\n\tPACKET_STATISTICS                    = 0x6\n\tPACKET_TIMESTAMP                     = 0x11\n\tPACKET_TX_HAS_OFF                    = 0x13\n\tPACKET_TX_RING                       = 0xd\n\tPACKET_TX_TIMESTAMP                  = 0x10\n\tPACKET_USER                          = 0x6\n\tPACKET_VERSION                       = 0xa\n\tPACKET_VNET_HDR                      = 0xf\n\tPARENB                               = 0x100\n\tPARITY_CRC16_PR0                     = 0x2\n\tPARITY_CRC16_PR0_CCITT               = 0x4\n\tPARITY_CRC16_PR1                     = 0x3\n\tPARITY_CRC16_PR1_CCITT               = 0x5\n\tPARITY_CRC32_PR0_CCITT               = 0x6\n\tPARITY_CRC32_PR1_CCITT               = 0x7\n\tPARITY_DEFAULT                       = 0x0\n\tPARITY_NONE                          = 0x1\n\tPARMRK                               = 0x8\n\tPARODD                               = 0x200\n\tPENDIN                               = 0x4000\n\tPERF_EVENT_IOC_DISABLE               = 0x2401\n\tPERF_EVENT_IOC_ENABLE                = 0x2400\n\tPERF_EVENT_IOC_ID                    = 0x80042407\n\tPERF_EVENT_IOC_MODIFY_ATTRIBUTES     = 0x4004240b\n\tPERF_EVENT_IOC_PAUSE_OUTPUT          = 0x40042409\n\tPERF_EVENT_IOC_PERIOD                = 0x40082404\n\tPERF_EVENT_IOC_QUERY_BPF             = 0xc004240a\n\tPERF_EVENT_IOC_REFRESH               = 0x2402\n\tPERF_EVENT_IOC_RESET                 = 0x2403\n\tPERF_EVENT_IOC_SET_BPF               = 0x40042408\n\tPERF_EVENT_IOC_SET_FILTER            = 0x40042406\n\tPERF_EVENT_IOC_SET_OUTPUT            = 0x2405\n\tPIPEFS_MAGIC                         = 0x50495045\n\tPRIO_PGRP                            = 0x1\n\tPRIO_PROCESS                         = 0x0\n\tPRIO_USER                            = 0x2\n\tPROC_SUPER_MAGIC                     = 0x9fa0\n\tPROT_EXEC                            = 0x4\n\tPROT_GROWSDOWN                       = 0x1000000\n\tPROT_GROWSUP                         = 0x2000000\n\tPROT_NONE                            = 0x0\n\tPROT_READ                            = 0x1\n\tPROT_WRITE                           = 0x2\n\tPR_CAPBSET_DROP                      = 0x18\n\tPR_CAPBSET_READ                      = 0x17\n\tPR_CAP_AMBIENT                       = 0x2f\n\tPR_CAP_AMBIENT_CLEAR_ALL             = 0x4\n\tPR_CAP_AMBIENT_IS_SET                = 0x1\n\tPR_CAP_AMBIENT_LOWER                 = 0x3\n\tPR_CAP_AMBIENT_RAISE                 = 0x2\n\tPR_ENDIAN_BIG                        = 0x0\n\tPR_ENDIAN_LITTLE                     = 0x1\n\tPR_ENDIAN_PPC_LITTLE                 = 0x2\n\tPR_FPEMU_NOPRINT                     = 0x1\n\tPR_FPEMU_SIGFPE                      = 0x2\n\tPR_FP_EXC_ASYNC                      = 0x2\n\tPR_FP_EXC_DISABLED                   = 0x0\n\tPR_FP_EXC_DIV                        = 0x10000\n\tPR_FP_EXC_INV                        = 0x100000\n\tPR_FP_EXC_NONRECOV                   = 0x1\n\tPR_FP_EXC_OVF                        = 0x20000\n\tPR_FP_EXC_PRECISE                    = 0x3\n\tPR_FP_EXC_RES                        = 0x80000\n\tPR_FP_EXC_SW_ENABLE                  = 0x80\n\tPR_FP_EXC_UND                        = 0x40000\n\tPR_FP_MODE_FR                        = 0x1\n\tPR_FP_MODE_FRE                       = 0x2\n\tPR_GET_CHILD_SUBREAPER               = 0x25\n\tPR_GET_DUMPABLE                      = 0x3\n\tPR_GET_ENDIAN                        = 0x13\n\tPR_GET_FPEMU                         = 0x9\n\tPR_GET_FPEXC                         = 0xb\n\tPR_GET_FP_MODE                       = 0x2e\n\tPR_GET_KEEPCAPS                      = 0x7\n\tPR_GET_NAME                          = 0x10\n\tPR_GET_NO_NEW_PRIVS                  = 0x27\n\tPR_GET_PDEATHSIG                     = 0x2\n\tPR_GET_SECCOMP                       = 0x15\n\tPR_GET_SECUREBITS                    = 0x1b\n\tPR_GET_SPECULATION_CTRL              = 0x34\n\tPR_GET_THP_DISABLE                   = 0x2a\n\tPR_GET_TID_ADDRESS                   = 0x28\n\tPR_GET_TIMERSLACK                    = 0x1e\n\tPR_GET_TIMING                        = 0xd\n\tPR_GET_TSC                           = 0x19\n\tPR_GET_UNALIGN                       = 0x5\n\tPR_MCE_KILL                          = 0x21\n\tPR_MCE_KILL_CLEAR                    = 0x0\n\tPR_MCE_KILL_DEFAULT                  = 0x2\n\tPR_MCE_KILL_EARLY                    = 0x1\n\tPR_MCE_KILL_GET                      = 0x22\n\tPR_MCE_KILL_LATE                     = 0x0\n\tPR_MCE_KILL_SET                      = 0x1\n\tPR_MPX_DISABLE_MANAGEMENT            = 0x2c\n\tPR_MPX_ENABLE_MANAGEMENT             = 0x2b\n\tPR_SET_CHILD_SUBREAPER               = 0x24\n\tPR_SET_DUMPABLE                      = 0x4\n\tPR_SET_ENDIAN                        = 0x14\n\tPR_SET_FPEMU                         = 0xa\n\tPR_SET_FPEXC                         = 0xc\n\tPR_SET_FP_MODE                       = 0x2d\n\tPR_SET_KEEPCAPS                      = 0x8\n\tPR_SET_MM                            = 0x23\n\tPR_SET_MM_ARG_END                    = 0x9\n\tPR_SET_MM_ARG_START                  = 0x8\n\tPR_SET_MM_AUXV                       = 0xc\n\tPR_SET_MM_BRK                        = 0x7\n\tPR_SET_MM_END_CODE                   = 0x2\n\tPR_SET_MM_END_DATA                   = 0x4\n\tPR_SET_MM_ENV_END                    = 0xb\n\tPR_SET_MM_ENV_START                  = 0xa\n\tPR_SET_MM_EXE_FILE                   = 0xd\n\tPR_SET_MM_MAP                        = 0xe\n\tPR_SET_MM_MAP_SIZE                   = 0xf\n\tPR_SET_MM_START_BRK                  = 0x6\n\tPR_SET_MM_START_CODE                 = 0x1\n\tPR_SET_MM_START_DATA                 = 0x3\n\tPR_SET_MM_START_STACK                = 0x5\n\tPR_SET_NAME                          = 0xf\n\tPR_SET_NO_NEW_PRIVS                  = 0x26\n\tPR_SET_PDEATHSIG                     = 0x1\n\tPR_SET_PTRACER                       = 0x59616d61\n\tPR_SET_PTRACER_ANY                   = 0xffffffff\n\tPR_SET_SECCOMP                       = 0x16\n\tPR_SET_SECUREBITS                    = 0x1c\n\tPR_SET_SPECULATION_CTRL              = 0x35\n\tPR_SET_THP_DISABLE                   = 0x29\n\tPR_SET_TIMERSLACK                    = 0x1d\n\tPR_SET_TIMING                        = 0xe\n\tPR_SET_TSC                           = 0x1a\n\tPR_SET_UNALIGN                       = 0x6\n\tPR_SPEC_DISABLE                      = 0x4\n\tPR_SPEC_ENABLE                       = 0x2\n\tPR_SPEC_FORCE_DISABLE                = 0x8\n\tPR_SPEC_NOT_AFFECTED                 = 0x0\n\tPR_SPEC_PRCTL                        = 0x1\n\tPR_SPEC_STORE_BYPASS                 = 0x0\n\tPR_SVE_GET_VL                        = 0x33\n\tPR_SVE_SET_VL                        = 0x32\n\tPR_SVE_SET_VL_ONEXEC                 = 0x40000\n\tPR_SVE_VL_INHERIT                    = 0x20000\n\tPR_SVE_VL_LEN_MASK                   = 0xffff\n\tPR_TASK_PERF_EVENTS_DISABLE          = 0x1f\n\tPR_TASK_PERF_EVENTS_ENABLE           = 0x20\n\tPR_TIMING_STATISTICAL                = 0x0\n\tPR_TIMING_TIMESTAMP                  = 0x1\n\tPR_TSC_ENABLE                        = 0x1\n\tPR_TSC_SIGSEGV                       = 0x2\n\tPR_UNALIGN_NOPRINT                   = 0x1\n\tPR_UNALIGN_SIGBUS                    = 0x2\n\tPSTOREFS_MAGIC                       = 0x6165676c\n\tPTRACE_ATTACH                        = 0x10\n\tPTRACE_CONT                          = 0x7\n\tPTRACE_DETACH                        = 0x11\n\tPTRACE_EVENT_CLONE                   = 0x3\n\tPTRACE_EVENT_EXEC                    = 0x4\n\tPTRACE_EVENT_EXIT                    = 0x6\n\tPTRACE_EVENT_FORK                    = 0x1\n\tPTRACE_EVENT_SECCOMP                 = 0x7\n\tPTRACE_EVENT_STOP                    = 0x80\n\tPTRACE_EVENT_VFORK                   = 0x2\n\tPTRACE_EVENT_VFORK_DONE              = 0x5\n\tPTRACE_GETEVENTMSG                   = 0x4201\n\tPTRACE_GETFPREGS                     = 0xe\n\tPTRACE_GETFPXREGS                    = 0x12\n\tPTRACE_GETREGS                       = 0xc\n\tPTRACE_GETREGSET                     = 0x4204\n\tPTRACE_GETSIGINFO                    = 0x4202\n\tPTRACE_GETSIGMASK                    = 0x420a\n\tPTRACE_GET_THREAD_AREA               = 0x19\n\tPTRACE_INTERRUPT                     = 0x4207\n\tPTRACE_KILL                          = 0x8\n\tPTRACE_LISTEN                        = 0x4208\n\tPTRACE_OLDSETOPTIONS                 = 0x15\n\tPTRACE_O_EXITKILL                    = 0x100000\n\tPTRACE_O_MASK                        = 0x3000ff\n\tPTRACE_O_SUSPEND_SECCOMP             = 0x200000\n\tPTRACE_O_TRACECLONE                  = 0x8\n\tPTRACE_O_TRACEEXEC                   = 0x10\n\tPTRACE_O_TRACEEXIT                   = 0x40\n\tPTRACE_O_TRACEFORK                   = 0x2\n\tPTRACE_O_TRACESECCOMP                = 0x80\n\tPTRACE_O_TRACESYSGOOD                = 0x1\n\tPTRACE_O_TRACEVFORK                  = 0x4\n\tPTRACE_O_TRACEVFORKDONE              = 0x20\n\tPTRACE_PEEKDATA                      = 0x2\n\tPTRACE_PEEKSIGINFO                   = 0x4209\n\tPTRACE_PEEKSIGINFO_SHARED            = 0x1\n\tPTRACE_PEEKTEXT                      = 0x1\n\tPTRACE_PEEKUSR                       = 0x3\n\tPTRACE_POKEDATA                      = 0x5\n\tPTRACE_POKETEXT                      = 0x4\n\tPTRACE_POKEUSR                       = 0x6\n\tPTRACE_SECCOMP_GET_FILTER            = 0x420c\n\tPTRACE_SECCOMP_GET_METADATA          = 0x420d\n\tPTRACE_SEIZE                         = 0x4206\n\tPTRACE_SETFPREGS                     = 0xf\n\tPTRACE_SETFPXREGS                    = 0x13\n\tPTRACE_SETOPTIONS                    = 0x4200\n\tPTRACE_SETREGS                       = 0xd\n\tPTRACE_SETREGSET                     = 0x4205\n\tPTRACE_SETSIGINFO                    = 0x4203\n\tPTRACE_SETSIGMASK                    = 0x420b\n\tPTRACE_SET_THREAD_AREA               = 0x1a\n\tPTRACE_SINGLEBLOCK                   = 0x21\n\tPTRACE_SINGLESTEP                    = 0x9\n\tPTRACE_SYSCALL                       = 0x18\n\tPTRACE_SYSEMU                        = 0x1f\n\tPTRACE_SYSEMU_SINGLESTEP             = 0x20\n\tPTRACE_TRACEME                       = 0x0\n\tQNX4_SUPER_MAGIC                     = 0x2f\n\tQNX6_SUPER_MAGIC                     = 0x68191122\n\tRAMFS_MAGIC                          = 0x858458f6\n\tRDTGROUP_SUPER_MAGIC                 = 0x7655821\n\tREISERFS_SUPER_MAGIC                 = 0x52654973\n\tRENAME_EXCHANGE                      = 0x2\n\tRENAME_NOREPLACE                     = 0x1\n\tRENAME_WHITEOUT                      = 0x4\n\tRLIMIT_AS                            = 0x9\n\tRLIMIT_CORE                          = 0x4\n\tRLIMIT_CPU                           = 0x0\n\tRLIMIT_DATA                          = 0x2\n\tRLIMIT_FSIZE                         = 0x1\n\tRLIMIT_LOCKS                         = 0xa\n\tRLIMIT_MEMLOCK                       = 0x8\n\tRLIMIT_MSGQUEUE                      = 0xc\n\tRLIMIT_NICE                          = 0xd\n\tRLIMIT_NOFILE                        = 0x7\n\tRLIMIT_NPROC                         = 0x6\n\tRLIMIT_RSS                           = 0x5\n\tRLIMIT_RTPRIO                        = 0xe\n\tRLIMIT_RTTIME                        = 0xf\n\tRLIMIT_SIGPENDING                    = 0xb\n\tRLIMIT_STACK                         = 0x3\n\tRLIM_INFINITY                        = 0xffffffffffffffff\n\tRTAX_ADVMSS                          = 0x8\n\tRTAX_CC_ALGO                         = 0x10\n\tRTAX_CWND                            = 0x7\n\tRTAX_FASTOPEN_NO_COOKIE              = 0x11\n\tRTAX_FEATURES                        = 0xc\n\tRTAX_FEATURE_ALLFRAG                 = 0x8\n\tRTAX_FEATURE_ECN                     = 0x1\n\tRTAX_FEATURE_MASK                    = 0xf\n\tRTAX_FEATURE_SACK                    = 0x2\n\tRTAX_FEATURE_TIMESTAMP               = 0x4\n\tRTAX_HOPLIMIT                        = 0xa\n\tRTAX_INITCWND                        = 0xb\n\tRTAX_INITRWND                        = 0xe\n\tRTAX_LOCK                            = 0x1\n\tRTAX_MAX                             = 0x11\n\tRTAX_MTU                             = 0x2\n\tRTAX_QUICKACK                        = 0xf\n\tRTAX_REORDERING                      = 0x9\n\tRTAX_RTO_MIN                         = 0xd\n\tRTAX_RTT                             = 0x4\n\tRTAX_RTTVAR                          = 0x5\n\tRTAX_SSTHRESH                        = 0x6\n\tRTAX_UNSPEC                          = 0x0\n\tRTAX_WINDOW                          = 0x3\n\tRTA_ALIGNTO                          = 0x4\n\tRTA_MAX                              = 0x1d\n\tRTCF_DIRECTSRC                       = 0x4000000\n\tRTCF_DOREDIRECT                      = 0x1000000\n\tRTCF_LOG                             = 0x2000000\n\tRTCF_MASQ                            = 0x400000\n\tRTCF_NAT                             = 0x800000\n\tRTCF_VALVE                           = 0x200000\n\tRTC_AF                               = 0x20\n\tRTC_AIE_OFF                          = 0x7002\n\tRTC_AIE_ON                           = 0x7001\n\tRTC_ALM_READ                         = 0x80247008\n\tRTC_ALM_SET                          = 0x40247007\n\tRTC_EPOCH_READ                       = 0x8004700d\n\tRTC_EPOCH_SET                        = 0x4004700e\n\tRTC_IRQF                             = 0x80\n\tRTC_IRQP_READ                        = 0x8004700b\n\tRTC_IRQP_SET                         = 0x4004700c\n\tRTC_MAX_FREQ                         = 0x2000\n\tRTC_PF                               = 0x40\n\tRTC_PIE_OFF                          = 0x7006\n\tRTC_PIE_ON                           = 0x7005\n\tRTC_PLL_GET                          = 0x801c7011\n\tRTC_PLL_SET                          = 0x401c7012\n\tRTC_RD_TIME                          = 0x80247009\n\tRTC_SET_TIME                         = 0x4024700a\n\tRTC_UF                               = 0x10\n\tRTC_UIE_OFF                          = 0x7004\n\tRTC_UIE_ON                           = 0x7003\n\tRTC_VL_CLR                           = 0x7014\n\tRTC_VL_READ                          = 0x80047013\n\tRTC_WIE_OFF                          = 0x7010\n\tRTC_WIE_ON                           = 0x700f\n\tRTC_WKALM_RD                         = 0x80287010\n\tRTC_WKALM_SET                        = 0x4028700f\n\tRTF_ADDRCLASSMASK                    = 0xf8000000\n\tRTF_ADDRCONF                         = 0x40000\n\tRTF_ALLONLINK                        = 0x20000\n\tRTF_BROADCAST                        = 0x10000000\n\tRTF_CACHE                            = 0x1000000\n\tRTF_DEFAULT                          = 0x10000\n\tRTF_DYNAMIC                          = 0x10\n\tRTF_FLOW                             = 0x2000000\n\tRTF_GATEWAY                          = 0x2\n\tRTF_HOST                             = 0x4\n\tRTF_INTERFACE                        = 0x40000000\n\tRTF_IRTT                             = 0x100\n\tRTF_LINKRT                           = 0x100000\n\tRTF_LOCAL                            = 0x80000000\n\tRTF_MODIFIED                         = 0x20\n\tRTF_MSS                              = 0x40\n\tRTF_MTU                              = 0x40\n\tRTF_MULTICAST                        = 0x20000000\n\tRTF_NAT                              = 0x8000000\n\tRTF_NOFORWARD                        = 0x1000\n\tRTF_NONEXTHOP                        = 0x200000\n\tRTF_NOPMTUDISC                       = 0x4000\n\tRTF_POLICY                           = 0x4000000\n\tRTF_REINSTATE                        = 0x8\n\tRTF_REJECT                           = 0x200\n\tRTF_STATIC                           = 0x400\n\tRTF_THROW                            = 0x2000\n\tRTF_UP                               = 0x1\n\tRTF_WINDOW                           = 0x80\n\tRTF_XRESOLVE                         = 0x800\n\tRTM_BASE                             = 0x10\n\tRTM_DELACTION                        = 0x31\n\tRTM_DELADDR                          = 0x15\n\tRTM_DELADDRLABEL                     = 0x49\n\tRTM_DELLINK                          = 0x11\n\tRTM_DELMDB                           = 0x55\n\tRTM_DELNEIGH                         = 0x1d\n\tRTM_DELNETCONF                       = 0x51\n\tRTM_DELNSID                          = 0x59\n\tRTM_DELQDISC                         = 0x25\n\tRTM_DELROUTE                         = 0x19\n\tRTM_DELRULE                          = 0x21\n\tRTM_DELTCLASS                        = 0x29\n\tRTM_DELTFILTER                       = 0x2d\n\tRTM_F_CLONED                         = 0x200\n\tRTM_F_EQUALIZE                       = 0x400\n\tRTM_F_FIB_MATCH                      = 0x2000\n\tRTM_F_LOOKUP_TABLE                   = 0x1000\n\tRTM_F_NOTIFY                         = 0x100\n\tRTM_F_PREFIX                         = 0x800\n\tRTM_GETACTION                        = 0x32\n\tRTM_GETADDR                          = 0x16\n\tRTM_GETADDRLABEL                     = 0x4a\n\tRTM_GETANYCAST                       = 0x3e\n\tRTM_GETDCB                           = 0x4e\n\tRTM_GETLINK                          = 0x12\n\tRTM_GETMDB                           = 0x56\n\tRTM_GETMULTICAST                     = 0x3a\n\tRTM_GETNEIGH                         = 0x1e\n\tRTM_GETNEIGHTBL                      = 0x42\n\tRTM_GETNETCONF                       = 0x52\n\tRTM_GETNSID                          = 0x5a\n\tRTM_GETQDISC                         = 0x26\n\tRTM_GETROUTE                         = 0x1a\n\tRTM_GETRULE                          = 0x22\n\tRTM_GETSTATS                         = 0x5e\n\tRTM_GETTCLASS                        = 0x2a\n\tRTM_GETTFILTER                       = 0x2e\n\tRTM_MAX                              = 0x63\n\tRTM_NEWACTION                        = 0x30\n\tRTM_NEWADDR                          = 0x14\n\tRTM_NEWADDRLABEL                     = 0x48\n\tRTM_NEWCACHEREPORT                   = 0x60\n\tRTM_NEWLINK                          = 0x10\n\tRTM_NEWMDB                           = 0x54\n\tRTM_NEWNDUSEROPT                     = 0x44\n\tRTM_NEWNEIGH                         = 0x1c\n\tRTM_NEWNEIGHTBL                      = 0x40\n\tRTM_NEWNETCONF                       = 0x50\n\tRTM_NEWNSID                          = 0x58\n\tRTM_NEWPREFIX                        = 0x34\n\tRTM_NEWQDISC                         = 0x24\n\tRTM_NEWROUTE                         = 0x18\n\tRTM_NEWRULE                          = 0x20\n\tRTM_NEWSTATS                         = 0x5c\n\tRTM_NEWTCLASS                        = 0x28\n\tRTM_NEWTFILTER                       = 0x2c\n\tRTM_NR_FAMILIES                      = 0x15\n\tRTM_NR_MSGTYPES                      = 0x54\n\tRTM_SETDCB                           = 0x4f\n\tRTM_SETLINK                          = 0x13\n\tRTM_SETNEIGHTBL                      = 0x43\n\tRTNH_ALIGNTO                         = 0x4\n\tRTNH_COMPARE_MASK                    = 0x19\n\tRTNH_F_DEAD                          = 0x1\n\tRTNH_F_LINKDOWN                      = 0x10\n\tRTNH_F_OFFLOAD                       = 0x8\n\tRTNH_F_ONLINK                        = 0x4\n\tRTNH_F_PERVASIVE                     = 0x2\n\tRTNH_F_UNRESOLVED                    = 0x20\n\tRTN_MAX                              = 0xb\n\tRTPROT_BABEL                         = 0x2a\n\tRTPROT_BGP                           = 0xba\n\tRTPROT_BIRD                          = 0xc\n\tRTPROT_BOOT                          = 0x3\n\tRTPROT_DHCP                          = 0x10\n\tRTPROT_DNROUTED                      = 0xd\n\tRTPROT_EIGRP                         = 0xc0\n\tRTPROT_GATED                         = 0x8\n\tRTPROT_ISIS                          = 0xbb\n\tRTPROT_KERNEL                        = 0x2\n\tRTPROT_MROUTED                       = 0x11\n\tRTPROT_MRT                           = 0xa\n\tRTPROT_NTK                           = 0xf\n\tRTPROT_OSPF                          = 0xbc\n\tRTPROT_RA                            = 0x9\n\tRTPROT_REDIRECT                      = 0x1\n\tRTPROT_RIP                           = 0xbd\n\tRTPROT_STATIC                        = 0x4\n\tRTPROT_UNSPEC                        = 0x0\n\tRTPROT_XORP                          = 0xe\n\tRTPROT_ZEBRA                         = 0xb\n\tRT_CLASS_DEFAULT                     = 0xfd\n\tRT_CLASS_LOCAL                       = 0xff\n\tRT_CLASS_MAIN                        = 0xfe\n\tRT_CLASS_MAX                         = 0xff\n\tRT_CLASS_UNSPEC                      = 0x0\n\tRUSAGE_CHILDREN                      = -0x1\n\tRUSAGE_SELF                          = 0x0\n\tRUSAGE_THREAD                        = 0x1\n\tSCM_CREDENTIALS                      = 0x2\n\tSCM_RIGHTS                           = 0x1\n\tSCM_TIMESTAMP                        = 0x1d\n\tSCM_TIMESTAMPING                     = 0x25\n\tSCM_TIMESTAMPING_OPT_STATS           = 0x36\n\tSCM_TIMESTAMPING_PKTINFO             = 0x3a\n\tSCM_TIMESTAMPNS                      = 0x23\n\tSCM_WIFI_STATUS                      = 0x29\n\tSECCOMP_MODE_DISABLED                = 0x0\n\tSECCOMP_MODE_FILTER                  = 0x2\n\tSECCOMP_MODE_STRICT                  = 0x1\n\tSECURITYFS_MAGIC                     = 0x73636673\n\tSELINUX_MAGIC                        = 0xf97cff8c\n\tSHUT_RD                              = 0x0\n\tSHUT_RDWR                            = 0x2\n\tSHUT_WR                              = 0x1\n\tSIOCADDDLCI                          = 0x8980\n\tSIOCADDMULTI                         = 0x8931\n\tSIOCADDRT                            = 0x890b\n\tSIOCATMARK                           = 0x8905\n\tSIOCBONDCHANGEACTIVE                 = 0x8995\n\tSIOCBONDENSLAVE                      = 0x8990\n\tSIOCBONDINFOQUERY                    = 0x8994\n\tSIOCBONDRELEASE                      = 0x8991\n\tSIOCBONDSETHWADDR                    = 0x8992\n\tSIOCBONDSLAVEINFOQUERY               = 0x8993\n\tSIOCBRADDBR                          = 0x89a0\n\tSIOCBRADDIF                          = 0x89a2\n\tSIOCBRDELBR                          = 0x89a1\n\tSIOCBRDELIF                          = 0x89a3\n\tSIOCDARP                             = 0x8953\n\tSIOCDELDLCI                          = 0x8981\n\tSIOCDELMULTI                         = 0x8932\n\tSIOCDELRT                            = 0x890c\n\tSIOCDEVPRIVATE                       = 0x89f0\n\tSIOCDIFADDR                          = 0x8936\n\tSIOCDRARP                            = 0x8960\n\tSIOCETHTOOL                          = 0x8946\n\tSIOCGARP                             = 0x8954\n\tSIOCGHWTSTAMP                        = 0x89b1\n\tSIOCGIFADDR                          = 0x8915\n\tSIOCGIFBR                            = 0x8940\n\tSIOCGIFBRDADDR                       = 0x8919\n\tSIOCGIFCONF                          = 0x8912\n\tSIOCGIFCOUNT                         = 0x8938\n\tSIOCGIFDSTADDR                       = 0x8917\n\tSIOCGIFENCAP                         = 0x8925\n\tSIOCGIFFLAGS                         = 0x8913\n\tSIOCGIFHWADDR                        = 0x8927\n\tSIOCGIFINDEX                         = 0x8933\n\tSIOCGIFMAP                           = 0x8970\n\tSIOCGIFMEM                           = 0x891f\n\tSIOCGIFMETRIC                        = 0x891d\n\tSIOCGIFMTU                           = 0x8921\n\tSIOCGIFNAME                          = 0x8910\n\tSIOCGIFNETMASK                       = 0x891b\n\tSIOCGIFPFLAGS                        = 0x8935\n\tSIOCGIFSLAVE                         = 0x8929\n\tSIOCGIFTXQLEN                        = 0x8942\n\tSIOCGIFVLAN                          = 0x8982\n\tSIOCGMIIPHY                          = 0x8947\n\tSIOCGMIIREG                          = 0x8948\n\tSIOCGPGRP                            = 0x8904\n\tSIOCGRARP                            = 0x8961\n\tSIOCGSKNS                            = 0x894c\n\tSIOCGSTAMP                           = 0x8906\n\tSIOCGSTAMPNS                         = 0x8907\n\tSIOCINQ                              = 0x541b\n\tSIOCOUTQ                             = 0x5411\n\tSIOCOUTQNSD                          = 0x894b\n\tSIOCPROTOPRIVATE                     = 0x89e0\n\tSIOCRTMSG                            = 0x890d\n\tSIOCSARP                             = 0x8955\n\tSIOCSHWTSTAMP                        = 0x89b0\n\tSIOCSIFADDR                          = 0x8916\n\tSIOCSIFBR                            = 0x8941\n\tSIOCSIFBRDADDR                       = 0x891a\n\tSIOCSIFDSTADDR                       = 0x8918\n\tSIOCSIFENCAP                         = 0x8926\n\tSIOCSIFFLAGS                         = 0x8914\n\tSIOCSIFHWADDR                        = 0x8924\n\tSIOCSIFHWBROADCAST                   = 0x8937\n\tSIOCSIFLINK                          = 0x8911\n\tSIOCSIFMAP                           = 0x8971\n\tSIOCSIFMEM                           = 0x8920\n\tSIOCSIFMETRIC                        = 0x891e\n\tSIOCSIFMTU                           = 0x8922\n\tSIOCSIFNAME                          = 0x8923\n\tSIOCSIFNETMASK                       = 0x891c\n\tSIOCSIFPFLAGS                        = 0x8934\n\tSIOCSIFSLAVE                         = 0x8930\n\tSIOCSIFTXQLEN                        = 0x8943\n\tSIOCSIFVLAN                          = 0x8983\n\tSIOCSMIIREG                          = 0x8949\n\tSIOCSPGRP                            = 0x8902\n\tSIOCSRARP                            = 0x8962\n\tSIOCWANDEV                           = 0x894a\n\tSMACK_MAGIC                          = 0x43415d53\n\tSMART_AUTOSAVE                       = 0xd2\n\tSMART_AUTO_OFFLINE                   = 0xdb\n\tSMART_DISABLE                        = 0xd9\n\tSMART_ENABLE                         = 0xd8\n\tSMART_HCYL_PASS                      = 0xc2\n\tSMART_IMMEDIATE_OFFLINE              = 0xd4\n\tSMART_LCYL_PASS                      = 0x4f\n\tSMART_READ_LOG_SECTOR                = 0xd5\n\tSMART_READ_THRESHOLDS                = 0xd1\n\tSMART_READ_VALUES                    = 0xd0\n\tSMART_SAVE                           = 0xd3\n\tSMART_STATUS                         = 0xda\n\tSMART_WRITE_LOG_SECTOR               = 0xd6\n\tSMART_WRITE_THRESHOLDS               = 0xd7\n\tSMB_SUPER_MAGIC                      = 0x517b\n\tSOCKFS_MAGIC                         = 0x534f434b\n\tSOCK_CLOEXEC                         = 0x80000\n\tSOCK_DCCP                            = 0x6\n\tSOCK_DGRAM                           = 0x2\n\tSOCK_IOC_TYPE                        = 0x89\n\tSOCK_NONBLOCK                        = 0x800\n\tSOCK_PACKET                          = 0xa\n\tSOCK_RAW                             = 0x3\n\tSOCK_RDM                             = 0x4\n\tSOCK_SEQPACKET                       = 0x5\n\tSOCK_STREAM                          = 0x1\n\tSOL_AAL                              = 0x109\n\tSOL_ALG                              = 0x117\n\tSOL_ATM                              = 0x108\n\tSOL_CAIF                             = 0x116\n\tSOL_CAN_BASE                         = 0x64\n\tSOL_DCCP                             = 0x10d\n\tSOL_DECNET                           = 0x105\n\tSOL_ICMPV6                           = 0x3a\n\tSOL_IP                               = 0x0\n\tSOL_IPV6                             = 0x29\n\tSOL_IRDA                             = 0x10a\n\tSOL_IUCV                             = 0x115\n\tSOL_KCM                              = 0x119\n\tSOL_LLC                              = 0x10c\n\tSOL_NETBEUI                          = 0x10b\n\tSOL_NETLINK                          = 0x10e\n\tSOL_NFC                              = 0x118\n\tSOL_PACKET                           = 0x107\n\tSOL_PNPIPE                           = 0x113\n\tSOL_PPPOL2TP                         = 0x111\n\tSOL_RAW                              = 0xff\n\tSOL_RDS                              = 0x114\n\tSOL_RXRPC                            = 0x110\n\tSOL_SOCKET                           = 0x1\n\tSOL_TCP                              = 0x6\n\tSOL_TIPC                             = 0x10f\n\tSOL_TLS                              = 0x11a\n\tSOL_X25                              = 0x106\n\tSOMAXCONN                            = 0x80\n\tSO_ACCEPTCONN                        = 0x1e\n\tSO_ATTACH_BPF                        = 0x32\n\tSO_ATTACH_FILTER                     = 0x1a\n\tSO_ATTACH_REUSEPORT_CBPF             = 0x33\n\tSO_ATTACH_REUSEPORT_EBPF             = 0x34\n\tSO_BINDTODEVICE                      = 0x19\n\tSO_BPF_EXTENSIONS                    = 0x30\n\tSO_BROADCAST                         = 0x6\n\tSO_BSDCOMPAT                         = 0xe\n\tSO_BUSY_POLL                         = 0x2e\n\tSO_CNX_ADVICE                        = 0x35\n\tSO_COOKIE                            = 0x39\n\tSO_DEBUG                             = 0x1\n\tSO_DETACH_BPF                        = 0x1b\n\tSO_DETACH_FILTER                     = 0x1b\n\tSO_DOMAIN                            = 0x27\n\tSO_DONTROUTE                         = 0x5\n\tSO_ERROR                             = 0x4\n\tSO_GET_FILTER                        = 0x1a\n\tSO_INCOMING_CPU                      = 0x31\n\tSO_INCOMING_NAPI_ID                  = 0x38\n\tSO_KEEPALIVE                         = 0x9\n\tSO_LINGER                            = 0xd\n\tSO_LOCK_FILTER                       = 0x2c\n\tSO_MARK                              = 0x24\n\tSO_MAX_PACING_RATE                   = 0x2f\n\tSO_MEMINFO                           = 0x37\n\tSO_NOFCS                             = 0x2b\n\tSO_NO_CHECK                          = 0xb\n\tSO_OOBINLINE                         = 0xa\n\tSO_PASSCRED                          = 0x10\n\tSO_PASSSEC                           = 0x22\n\tSO_PEEK_OFF                          = 0x2a\n\tSO_PEERCRED                          = 0x11\n\tSO_PEERGROUPS                        = 0x3b\n\tSO_PEERNAME                          = 0x1c\n\tSO_PEERSEC                           = 0x1f\n\tSO_PRIORITY                          = 0xc\n\tSO_PROTOCOL                          = 0x26\n\tSO_RCVBUF                            = 0x8\n\tSO_RCVBUFFORCE                       = 0x21\n\tSO_RCVLOWAT                          = 0x12\n\tSO_RCVTIMEO                          = 0x14\n\tSO_REUSEADDR                         = 0x2\n\tSO_REUSEPORT                         = 0xf\n\tSO_RXQ_OVFL                          = 0x28\n\tSO_SECURITY_AUTHENTICATION           = 0x16\n\tSO_SECURITY_ENCRYPTION_NETWORK       = 0x18\n\tSO_SECURITY_ENCRYPTION_TRANSPORT     = 0x17\n\tSO_SELECT_ERR_QUEUE                  = 0x2d\n\tSO_SNDBUF                            = 0x7\n\tSO_SNDBUFFORCE                       = 0x20\n\tSO_SNDLOWAT                          = 0x13\n\tSO_SNDTIMEO                          = 0x15\n\tSO_TIMESTAMP                         = 0x1d\n\tSO_TIMESTAMPING                      = 0x25\n\tSO_TIMESTAMPNS                       = 0x23\n\tSO_TYPE                              = 0x3\n\tSO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2\n\tSO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1\n\tSO_VM_SOCKETS_BUFFER_SIZE            = 0x0\n\tSO_VM_SOCKETS_CONNECT_TIMEOUT        = 0x6\n\tSO_VM_SOCKETS_NONBLOCK_TXRX          = 0x7\n\tSO_VM_SOCKETS_PEER_HOST_VM_ID        = 0x3\n\tSO_VM_SOCKETS_TRUSTED                = 0x5\n\tSO_WIFI_STATUS                       = 0x29\n\tSO_ZEROCOPY                          = 0x3c\n\tSPLICE_F_GIFT                        = 0x8\n\tSPLICE_F_MORE                        = 0x4\n\tSPLICE_F_MOVE                        = 0x1\n\tSPLICE_F_NONBLOCK                    = 0x2\n\tSQUASHFS_MAGIC                       = 0x73717368\n\tSTACK_END_MAGIC                      = 0x57ac6e9d\n\tSTATX_ALL                            = 0xfff\n\tSTATX_ATIME                          = 0x20\n\tSTATX_ATTR_APPEND                    = 0x20\n\tSTATX_ATTR_AUTOMOUNT                 = 0x1000\n\tSTATX_ATTR_COMPRESSED                = 0x4\n\tSTATX_ATTR_ENCRYPTED                 = 0x800\n\tSTATX_ATTR_IMMUTABLE                 = 0x10\n\tSTATX_ATTR_NODUMP                    = 0x40\n\tSTATX_BASIC_STATS                    = 0x7ff\n\tSTATX_BLOCKS                         = 0x400\n\tSTATX_BTIME                          = 0x800\n\tSTATX_CTIME                          = 0x80\n\tSTATX_GID                            = 0x10\n\tSTATX_INO                            = 0x100\n\tSTATX_MODE                           = 0x2\n\tSTATX_MTIME                          = 0x40\n\tSTATX_NLINK                          = 0x4\n\tSTATX_SIZE                           = 0x200\n\tSTATX_TYPE                           = 0x1\n\tSTATX_UID                            = 0x8\n\tSTATX__RESERVED                      = 0x80000000\n\tSYSFS_MAGIC                          = 0x62656572\n\tS_BLKSIZE                            = 0x200\n\tS_IEXEC                              = 0x40\n\tS_IFBLK                              = 0x6000\n\tS_IFCHR                              = 0x2000\n\tS_IFDIR                              = 0x4000\n\tS_IFIFO                              = 0x1000\n\tS_IFLNK                              = 0xa000\n\tS_IFMT                               = 0xf000\n\tS_IFREG                              = 0x8000\n\tS_IFSOCK                             = 0xc000\n\tS_IREAD                              = 0x100\n\tS_IRGRP                              = 0x20\n\tS_IROTH                              = 0x4\n\tS_IRUSR                              = 0x100\n\tS_IRWXG                              = 0x38\n\tS_IRWXO                              = 0x7\n\tS_IRWXU                              = 0x1c0\n\tS_ISGID                              = 0x400\n\tS_ISUID                              = 0x800\n\tS_ISVTX                              = 0x200\n\tS_IWGRP                              = 0x10\n\tS_IWOTH                              = 0x2\n\tS_IWRITE                             = 0x80\n\tS_IWUSR                              = 0x80\n\tS_IXGRP                              = 0x8\n\tS_IXOTH                              = 0x1\n\tS_IXUSR                              = 0x40\n\tTAB0                                 = 0x0\n\tTAB1                                 = 0x800\n\tTAB2                                 = 0x1000\n\tTAB3                                 = 0x1800\n\tTABDLY                               = 0x1800\n\tTASKSTATS_CMD_ATTR_MAX               = 0x4\n\tTASKSTATS_CMD_MAX                    = 0x2\n\tTASKSTATS_GENL_NAME                  = \"TASKSTATS\"\n\tTASKSTATS_GENL_VERSION               = 0x1\n\tTASKSTATS_TYPE_MAX                   = 0x6\n\tTASKSTATS_VERSION                    = 0x8\n\tTCFLSH                               = 0x540b\n\tTCGETA                               = 0x5405\n\tTCGETS                               = 0x5401\n\tTCGETS2                              = 0x802c542a\n\tTCGETX                               = 0x5432\n\tTCIFLUSH                             = 0x0\n\tTCIOFF                               = 0x2\n\tTCIOFLUSH                            = 0x2\n\tTCION                                = 0x3\n\tTCOFLUSH                             = 0x1\n\tTCOOFF                               = 0x0\n\tTCOON                                = 0x1\n\tTCP_CC_INFO                          = 0x1a\n\tTCP_CONGESTION                       = 0xd\n\tTCP_COOKIE_IN_ALWAYS                 = 0x1\n\tTCP_COOKIE_MAX                       = 0x10\n\tTCP_COOKIE_MIN                       = 0x8\n\tTCP_COOKIE_OUT_NEVER                 = 0x2\n\tTCP_COOKIE_PAIR_SIZE                 = 0x20\n\tTCP_COOKIE_TRANSACTIONS              = 0xf\n\tTCP_CORK                             = 0x3\n\tTCP_DEFER_ACCEPT                     = 0x9\n\tTCP_FASTOPEN                         = 0x17\n\tTCP_FASTOPEN_CONNECT                 = 0x1e\n\tTCP_FASTOPEN_KEY                     = 0x21\n\tTCP_FASTOPEN_NO_COOKIE               = 0x22\n\tTCP_INFO                             = 0xb\n\tTCP_KEEPCNT                          = 0x6\n\tTCP_KEEPIDLE                         = 0x4\n\tTCP_KEEPINTVL                        = 0x5\n\tTCP_LINGER2                          = 0x8\n\tTCP_MAXSEG                           = 0x2\n\tTCP_MAXWIN                           = 0xffff\n\tTCP_MAX_WINSHIFT                     = 0xe\n\tTCP_MD5SIG                           = 0xe\n\tTCP_MD5SIG_EXT                       = 0x20\n\tTCP_MD5SIG_FLAG_PREFIX               = 0x1\n\tTCP_MD5SIG_MAXKEYLEN                 = 0x50\n\tTCP_MSS                              = 0x200\n\tTCP_MSS_DEFAULT                      = 0x218\n\tTCP_MSS_DESIRED                      = 0x4c4\n\tTCP_NODELAY                          = 0x1\n\tTCP_NOTSENT_LOWAT                    = 0x19\n\tTCP_QUEUE_SEQ                        = 0x15\n\tTCP_QUICKACK                         = 0xc\n\tTCP_REPAIR                           = 0x13\n\tTCP_REPAIR_OPTIONS                   = 0x16\n\tTCP_REPAIR_QUEUE                     = 0x14\n\tTCP_REPAIR_WINDOW                    = 0x1d\n\tTCP_SAVED_SYN                        = 0x1c\n\tTCP_SAVE_SYN                         = 0x1b\n\tTCP_SYNCNT                           = 0x7\n\tTCP_S_DATA_IN                        = 0x4\n\tTCP_S_DATA_OUT                       = 0x8\n\tTCP_THIN_DUPACK                      = 0x11\n\tTCP_THIN_LINEAR_TIMEOUTS             = 0x10\n\tTCP_TIMESTAMP                        = 0x18\n\tTCP_ULP                              = 0x1f\n\tTCP_USER_TIMEOUT                     = 0x12\n\tTCP_WINDOW_CLAMP                     = 0xa\n\tTCSAFLUSH                            = 0x2\n\tTCSBRK                               = 0x5409\n\tTCSBRKP                              = 0x5425\n\tTCSETA                               = 0x5406\n\tTCSETAF                              = 0x5408\n\tTCSETAW                              = 0x5407\n\tTCSETS                               = 0x5402\n\tTCSETS2                              = 0x402c542b\n\tTCSETSF                              = 0x5404\n\tTCSETSF2                             = 0x402c542d\n\tTCSETSW                              = 0x5403\n\tTCSETSW2                             = 0x402c542c\n\tTCSETX                               = 0x5433\n\tTCSETXF                              = 0x5434\n\tTCSETXW                              = 0x5435\n\tTCXONC                               = 0x540a\n\tTIOCCBRK                             = 0x5428\n\tTIOCCONS                             = 0x541d\n\tTIOCEXCL                             = 0x540c\n\tTIOCGDEV                             = 0x80045432\n\tTIOCGETD                             = 0x5424\n\tTIOCGEXCL                            = 0x80045440\n\tTIOCGICOUNT                          = 0x545d\n\tTIOCGLCKTRMIOS                       = 0x5456\n\tTIOCGPGRP                            = 0x540f\n\tTIOCGPKT                             = 0x80045438\n\tTIOCGPTLCK                           = 0x80045439\n\tTIOCGPTN                             = 0x80045430\n\tTIOCGPTPEER                          = 0x5441\n\tTIOCGRS485                           = 0x542e\n\tTIOCGSERIAL                          = 0x541e\n\tTIOCGSID                             = 0x5429\n\tTIOCGSOFTCAR                         = 0x5419\n\tTIOCGWINSZ                           = 0x5413\n\tTIOCINQ                              = 0x541b\n\tTIOCLINUX                            = 0x541c\n\tTIOCMBIC                             = 0x5417\n\tTIOCMBIS                             = 0x5416\n\tTIOCMGET                             = 0x5415\n\tTIOCMIWAIT                           = 0x545c\n\tTIOCMSET                             = 0x5418\n\tTIOCM_CAR                            = 0x40\n\tTIOCM_CD                             = 0x40\n\tTIOCM_CTS                            = 0x20\n\tTIOCM_DSR                            = 0x100\n\tTIOCM_DTR                            = 0x2\n\tTIOCM_LE                             = 0x1\n\tTIOCM_RI                             = 0x80\n\tTIOCM_RNG                            = 0x80\n\tTIOCM_RTS                            = 0x4\n\tTIOCM_SR                             = 0x10\n\tTIOCM_ST                             = 0x8\n\tTIOCNOTTY                            = 0x5422\n\tTIOCNXCL                             = 0x540d\n\tTIOCOUTQ                             = 0x5411\n\tTIOCPKT                              = 0x5420\n\tTIOCPKT_DATA                         = 0x0\n\tTIOCPKT_DOSTOP                       = 0x20\n\tTIOCPKT_FLUSHREAD                    = 0x1\n\tTIOCPKT_FLUSHWRITE                   = 0x2\n\tTIOCPKT_IOCTL                        = 0x40\n\tTIOCPKT_NOSTOP                       = 0x10\n\tTIOCPKT_START                        = 0x8\n\tTIOCPKT_STOP                         = 0x4\n\tTIOCSBRK                             = 0x5427\n\tTIOCSCTTY                            = 0x540e\n\tTIOCSERCONFIG                        = 0x5453\n\tTIOCSERGETLSR                        = 0x5459\n\tTIOCSERGETMULTI                      = 0x545a\n\tTIOCSERGSTRUCT                       = 0x5458\n\tTIOCSERGWILD                         = 0x5454\n\tTIOCSERSETMULTI                      = 0x545b\n\tTIOCSERSWILD                         = 0x5455\n\tTIOCSER_TEMT                         = 0x1\n\tTIOCSETD                             = 0x5423\n\tTIOCSIG                              = 0x40045436\n\tTIOCSLCKTRMIOS                       = 0x5457\n\tTIOCSPGRP                            = 0x5410\n\tTIOCSPTLCK                           = 0x40045431\n\tTIOCSRS485                           = 0x542f\n\tTIOCSSERIAL                          = 0x541f\n\tTIOCSSOFTCAR                         = 0x541a\n\tTIOCSTI                              = 0x5412\n\tTIOCSWINSZ                           = 0x5414\n\tTIOCVHANGUP                          = 0x5437\n\tTMPFS_MAGIC                          = 0x1021994\n\tTOSTOP                               = 0x100\n\tTPACKET_ALIGNMENT                    = 0x10\n\tTPACKET_HDRLEN                       = 0x34\n\tTP_STATUS_AVAILABLE                  = 0x0\n\tTP_STATUS_BLK_TMO                    = 0x20\n\tTP_STATUS_COPY                       = 0x2\n\tTP_STATUS_CSUMNOTREADY               = 0x8\n\tTP_STATUS_CSUM_VALID                 = 0x80\n\tTP_STATUS_KERNEL                     = 0x0\n\tTP_STATUS_LOSING                     = 0x4\n\tTP_STATUS_SENDING                    = 0x2\n\tTP_STATUS_SEND_REQUEST               = 0x1\n\tTP_STATUS_TS_RAW_HARDWARE            = -0x80000000\n\tTP_STATUS_TS_SOFTWARE                = 0x20000000\n\tTP_STATUS_TS_SYS_HARDWARE            = 0x40000000\n\tTP_STATUS_USER                       = 0x1\n\tTP_STATUS_VLAN_TPID_VALID            = 0x40\n\tTP_STATUS_VLAN_VALID                 = 0x10\n\tTP_STATUS_WRONG_FORMAT               = 0x4\n\tTRACEFS_MAGIC                        = 0x74726163\n\tTS_COMM_LEN                          = 0x20\n\tTUNATTACHFILTER                      = 0x400854d5\n\tTUNDETACHFILTER                      = 0x400854d6\n\tTUNGETFEATURES                       = 0x800454cf\n\tTUNGETFILTER                         = 0x800854db\n\tTUNGETIFF                            = 0x800454d2\n\tTUNGETSNDBUF                         = 0x800454d3\n\tTUNGETVNETBE                         = 0x800454df\n\tTUNGETVNETHDRSZ                      = 0x800454d7\n\tTUNGETVNETLE                         = 0x800454dd\n\tTUNSETDEBUG                          = 0x400454c9\n\tTUNSETFILTEREBPF                     = 0x800454e1\n\tTUNSETGROUP                          = 0x400454ce\n\tTUNSETIFF                            = 0x400454ca\n\tTUNSETIFINDEX                        = 0x400454da\n\tTUNSETLINK                           = 0x400454cd\n\tTUNSETNOCSUM                         = 0x400454c8\n\tTUNSETOFFLOAD                        = 0x400454d0\n\tTUNSETOWNER                          = 0x400454cc\n\tTUNSETPERSIST                        = 0x400454cb\n\tTUNSETQUEUE                          = 0x400454d9\n\tTUNSETSNDBUF                         = 0x400454d4\n\tTUNSETSTEERINGEBPF                   = 0x800454e0\n\tTUNSETTXFILTER                       = 0x400454d1\n\tTUNSETVNETBE                         = 0x400454de\n\tTUNSETVNETHDRSZ                      = 0x400454d8\n\tTUNSETVNETLE                         = 0x400454dc\n\tUDF_SUPER_MAGIC                      = 0x15013346\n\tUMOUNT_NOFOLLOW                      = 0x8\n\tUSBDEVICE_SUPER_MAGIC                = 0x9fa2\n\tUTIME_NOW                            = 0x3fffffff\n\tUTIME_OMIT                           = 0x3ffffffe\n\tV9FS_MAGIC                           = 0x1021997\n\tVDISCARD                             = 0xd\n\tVEOF                                 = 0x4\n\tVEOL                                 = 0xb\n\tVEOL2                                = 0x10\n\tVERASE                               = 0x2\n\tVINTR                                = 0x0\n\tVKILL                                = 0x3\n\tVLNEXT                               = 0xf\n\tVMADDR_CID_ANY                       = 0xffffffff\n\tVMADDR_CID_HOST                      = 0x2\n\tVMADDR_CID_HYPERVISOR                = 0x0\n\tVMADDR_CID_RESERVED                  = 0x1\n\tVMADDR_PORT_ANY                      = 0xffffffff\n\tVMIN                                 = 0x6\n\tVM_SOCKETS_INVALID_VERSION           = 0xffffffff\n\tVQUIT                                = 0x1\n\tVREPRINT                             = 0xc\n\tVSTART                               = 0x8\n\tVSTOP                                = 0x9\n\tVSUSP                                = 0xa\n\tVSWTC                                = 0x7\n\tVT0                                  = 0x0\n\tVT1                                  = 0x4000\n\tVTDLY                                = 0x4000\n\tVTIME                                = 0x5\n\tVWERASE                              = 0xe\n\tWALL                                 = 0x40000000\n\tWCLONE                               = 0x80000000\n\tWCONTINUED                           = 0x8\n\tWDIOC_GETBOOTSTATUS                  = 0x80045702\n\tWDIOC_GETPRETIMEOUT                  = 0x80045709\n\tWDIOC_GETSTATUS                      = 0x80045701\n\tWDIOC_GETSUPPORT                     = 0x80285700\n\tWDIOC_GETTEMP                        = 0x80045703\n\tWDIOC_GETTIMELEFT                    = 0x8004570a\n\tWDIOC_GETTIMEOUT                     = 0x80045707\n\tWDIOC_KEEPALIVE                      = 0x80045705\n\tWDIOC_SETOPTIONS                     = 0x80045704\n\tWDIOC_SETPRETIMEOUT                  = 0xc0045708\n\tWDIOC_SETTIMEOUT                     = 0xc0045706\n\tWEXITED                              = 0x4\n\tWIN_ACKMEDIACHANGE                   = 0xdb\n\tWIN_CHECKPOWERMODE1                  = 0xe5\n\tWIN_CHECKPOWERMODE2                  = 0x98\n\tWIN_DEVICE_RESET                     = 0x8\n\tWIN_DIAGNOSE                         = 0x90\n\tWIN_DOORLOCK                         = 0xde\n\tWIN_DOORUNLOCK                       = 0xdf\n\tWIN_DOWNLOAD_MICROCODE               = 0x92\n\tWIN_FLUSH_CACHE                      = 0xe7\n\tWIN_FLUSH_CACHE_EXT                  = 0xea\n\tWIN_FORMAT                           = 0x50\n\tWIN_GETMEDIASTATUS                   = 0xda\n\tWIN_IDENTIFY                         = 0xec\n\tWIN_IDENTIFY_DMA                     = 0xee\n\tWIN_IDLEIMMEDIATE                    = 0xe1\n\tWIN_INIT                             = 0x60\n\tWIN_MEDIAEJECT                       = 0xed\n\tWIN_MULTREAD                         = 0xc4\n\tWIN_MULTREAD_EXT                     = 0x29\n\tWIN_MULTWRITE                        = 0xc5\n\tWIN_MULTWRITE_EXT                    = 0x39\n\tWIN_NOP                              = 0x0\n\tWIN_PACKETCMD                        = 0xa0\n\tWIN_PIDENTIFY                        = 0xa1\n\tWIN_POSTBOOT                         = 0xdc\n\tWIN_PREBOOT                          = 0xdd\n\tWIN_QUEUED_SERVICE                   = 0xa2\n\tWIN_READ                             = 0x20\n\tWIN_READDMA                          = 0xc8\n\tWIN_READDMA_EXT                      = 0x25\n\tWIN_READDMA_ONCE                     = 0xc9\n\tWIN_READDMA_QUEUED                   = 0xc7\n\tWIN_READDMA_QUEUED_EXT               = 0x26\n\tWIN_READ_BUFFER                      = 0xe4\n\tWIN_READ_EXT                         = 0x24\n\tWIN_READ_LONG                        = 0x22\n\tWIN_READ_LONG_ONCE                   = 0x23\n\tWIN_READ_NATIVE_MAX                  = 0xf8\n\tWIN_READ_NATIVE_MAX_EXT              = 0x27\n\tWIN_READ_ONCE                        = 0x21\n\tWIN_RECAL                            = 0x10\n\tWIN_RESTORE                          = 0x10\n\tWIN_SECURITY_DISABLE                 = 0xf6\n\tWIN_SECURITY_ERASE_PREPARE           = 0xf3\n\tWIN_SECURITY_ERASE_UNIT              = 0xf4\n\tWIN_SECURITY_FREEZE_LOCK             = 0xf5\n\tWIN_SECURITY_SET_PASS                = 0xf1\n\tWIN_SECURITY_UNLOCK                  = 0xf2\n\tWIN_SEEK                             = 0x70\n\tWIN_SETFEATURES                      = 0xef\n\tWIN_SETIDLE1                         = 0xe3\n\tWIN_SETIDLE2                         = 0x97\n\tWIN_SETMULT                          = 0xc6\n\tWIN_SET_MAX                          = 0xf9\n\tWIN_SET_MAX_EXT                      = 0x37\n\tWIN_SLEEPNOW1                        = 0xe6\n\tWIN_SLEEPNOW2                        = 0x99\n\tWIN_SMART                            = 0xb0\n\tWIN_SPECIFY                          = 0x91\n\tWIN_SRST                             = 0x8\n\tWIN_STANDBY                          = 0xe2\n\tWIN_STANDBY2                         = 0x96\n\tWIN_STANDBYNOW1                      = 0xe0\n\tWIN_STANDBYNOW2                      = 0x94\n\tWIN_VERIFY                           = 0x40\n\tWIN_VERIFY_EXT                       = 0x42\n\tWIN_VERIFY_ONCE                      = 0x41\n\tWIN_WRITE                            = 0x30\n\tWIN_WRITEDMA                         = 0xca\n\tWIN_WRITEDMA_EXT                     = 0x35\n\tWIN_WRITEDMA_ONCE                    = 0xcb\n\tWIN_WRITEDMA_QUEUED                  = 0xcc\n\tWIN_WRITEDMA_QUEUED_EXT              = 0x36\n\tWIN_WRITE_BUFFER                     = 0xe8\n\tWIN_WRITE_EXT                        = 0x34\n\tWIN_WRITE_LONG                       = 0x32\n\tWIN_WRITE_LONG_ONCE                  = 0x33\n\tWIN_WRITE_ONCE                       = 0x31\n\tWIN_WRITE_SAME                       = 0xe9\n\tWIN_WRITE_VERIFY                     = 0x3c\n\tWNOHANG                              = 0x1\n\tWNOTHREAD                            = 0x20000000\n\tWNOWAIT                              = 0x1000000\n\tWORDSIZE                             = 0x20\n\tWSTOPPED                             = 0x2\n\tWUNTRACED                            = 0x2\n\tX86_FXSR_MAGIC                       = 0x0\n\tXATTR_CREATE                         = 0x1\n\tXATTR_REPLACE                        = 0x2\n\tXCASE                                = 0x4\n\tXENFS_SUPER_MAGIC                    = 0xabba1974\n\tXTABS                                = 0x1800\n\tZSMALLOC_MAGIC                       = 0x58295829\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x62)\n\tEADDRNOTAVAIL   = syscall.Errno(0x63)\n\tEADV            = syscall.Errno(0x44)\n\tEAFNOSUPPORT    = syscall.Errno(0x61)\n\tEAGAIN          = syscall.Errno(0xb)\n\tEALREADY        = syscall.Errno(0x72)\n\tEBADE           = syscall.Errno(0x34)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADFD          = syscall.Errno(0x4d)\n\tEBADMSG         = syscall.Errno(0x4a)\n\tEBADR           = syscall.Errno(0x35)\n\tEBADRQC         = syscall.Errno(0x38)\n\tEBADSLT         = syscall.Errno(0x39)\n\tEBFONT          = syscall.Errno(0x3b)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x7d)\n\tECHILD          = syscall.Errno(0xa)\n\tECHRNG          = syscall.Errno(0x2c)\n\tECOMM           = syscall.Errno(0x46)\n\tECONNABORTED    = syscall.Errno(0x67)\n\tECONNREFUSED    = syscall.Errno(0x6f)\n\tECONNRESET      = syscall.Errno(0x68)\n\tEDEADLK         = syscall.Errno(0x23)\n\tEDEADLOCK       = syscall.Errno(0x23)\n\tEDESTADDRREQ    = syscall.Errno(0x59)\n\tEDOM            = syscall.Errno(0x21)\n\tEDOTDOT         = syscall.Errno(0x49)\n\tEDQUOT          = syscall.Errno(0x7a)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEHOSTDOWN       = syscall.Errno(0x70)\n\tEHOSTUNREACH    = syscall.Errno(0x71)\n\tEHWPOISON       = syscall.Errno(0x85)\n\tEIDRM           = syscall.Errno(0x2b)\n\tEILSEQ          = syscall.Errno(0x54)\n\tEINPROGRESS     = syscall.Errno(0x73)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x6a)\n\tEISDIR          = syscall.Errno(0x15)\n\tEISNAM          = syscall.Errno(0x78)\n\tEKEYEXPIRED     = syscall.Errno(0x7f)\n\tEKEYREJECTED    = syscall.Errno(0x81)\n\tEKEYREVOKED     = syscall.Errno(0x80)\n\tEL2HLT          = syscall.Errno(0x33)\n\tEL2NSYNC        = syscall.Errno(0x2d)\n\tEL3HLT          = syscall.Errno(0x2e)\n\tEL3RST          = syscall.Errno(0x2f)\n\tELIBACC         = syscall.Errno(0x4f)\n\tELIBBAD         = syscall.Errno(0x50)\n\tELIBEXEC        = syscall.Errno(0x53)\n\tELIBMAX         = syscall.Errno(0x52)\n\tELIBSCN         = syscall.Errno(0x51)\n\tELNRNG          = syscall.Errno(0x30)\n\tELOOP           = syscall.Errno(0x28)\n\tEMEDIUMTYPE     = syscall.Errno(0x7c)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x5a)\n\tEMULTIHOP       = syscall.Errno(0x48)\n\tENAMETOOLONG    = syscall.Errno(0x24)\n\tENAVAIL         = syscall.Errno(0x77)\n\tENETDOWN        = syscall.Errno(0x64)\n\tENETRESET       = syscall.Errno(0x66)\n\tENETUNREACH     = syscall.Errno(0x65)\n\tENFILE          = syscall.Errno(0x17)\n\tENOANO          = syscall.Errno(0x37)\n\tENOBUFS         = syscall.Errno(0x69)\n\tENOCSI          = syscall.Errno(0x32)\n\tENODATA         = syscall.Errno(0x3d)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOKEY          = syscall.Errno(0x7e)\n\tENOLCK          = syscall.Errno(0x25)\n\tENOLINK         = syscall.Errno(0x43)\n\tENOMEDIUM       = syscall.Errno(0x7b)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x2a)\n\tENONET          = syscall.Errno(0x40)\n\tENOPKG          = syscall.Errno(0x41)\n\tENOPROTOOPT     = syscall.Errno(0x5c)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x3f)\n\tENOSTR          = syscall.Errno(0x3c)\n\tENOSYS          = syscall.Errno(0x26)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x6b)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x27)\n\tENOTNAM         = syscall.Errno(0x76)\n\tENOTRECOVERABLE = syscall.Errno(0x83)\n\tENOTSOCK        = syscall.Errno(0x58)\n\tENOTSUP         = syscall.Errno(0x5f)\n\tENOTTY          = syscall.Errno(0x19)\n\tENOTUNIQ        = syscall.Errno(0x4c)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x5f)\n\tEOVERFLOW       = syscall.Errno(0x4b)\n\tEOWNERDEAD      = syscall.Errno(0x82)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x60)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROTO          = syscall.Errno(0x47)\n\tEPROTONOSUPPORT = syscall.Errno(0x5d)\n\tEPROTOTYPE      = syscall.Errno(0x5b)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMCHG         = syscall.Errno(0x4e)\n\tEREMOTE         = syscall.Errno(0x42)\n\tEREMOTEIO       = syscall.Errno(0x79)\n\tERESTART        = syscall.Errno(0x55)\n\tERFKILL         = syscall.Errno(0x84)\n\tEROFS           = syscall.Errno(0x1e)\n\tESHUTDOWN       = syscall.Errno(0x6c)\n\tESOCKTNOSUPPORT = syscall.Errno(0x5e)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESRMNT          = syscall.Errno(0x45)\n\tESTALE          = syscall.Errno(0x74)\n\tESTRPIPE        = syscall.Errno(0x56)\n\tETIME           = syscall.Errno(0x3e)\n\tETIMEDOUT       = syscall.Errno(0x6e)\n\tETOOMANYREFS    = syscall.Errno(0x6d)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUCLEAN         = syscall.Errno(0x75)\n\tEUNATCH         = syscall.Errno(0x31)\n\tEUSERS          = syscall.Errno(0x57)\n\tEWOULDBLOCK     = syscall.Errno(0xb)\n\tEXDEV           = syscall.Errno(0x12)\n\tEXFULL          = syscall.Errno(0x36)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0x7)\n\tSIGCHLD   = syscall.Signal(0x11)\n\tSIGCLD    = syscall.Signal(0x11)\n\tSIGCONT   = syscall.Signal(0x12)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x1d)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPOLL   = syscall.Signal(0x1d)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGPWR    = syscall.Signal(0x1e)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTKFLT = syscall.Signal(0x10)\n\tSIGSTOP   = syscall.Signal(0x13)\n\tSIGSYS    = syscall.Signal(0x1f)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x14)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x17)\n\tSIGUSR1   = syscall.Signal(0xa)\n\tSIGUSR2   = syscall.Signal(0xc)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errorList = [...]struct {\n\tnum  syscall.Errno\n\tname string\n\tdesc string\n}{\n\t{1, \"EPERM\", \"operation not permitted\"},\n\t{2, \"ENOENT\", \"no such file or directory\"},\n\t{3, \"ESRCH\", \"no such process\"},\n\t{4, \"EINTR\", \"interrupted system call\"},\n\t{5, \"EIO\", \"input/output error\"},\n\t{6, \"ENXIO\", \"no such device or address\"},\n\t{7, \"E2BIG\", \"argument list too long\"},\n\t{8, \"ENOEXEC\", \"exec format error\"},\n\t{9, \"EBADF\", \"bad file descriptor\"},\n\t{10, \"ECHILD\", \"no child processes\"},\n\t{11, \"EAGAIN\", \"resource temporarily unavailable\"},\n\t{12, \"ENOMEM\", \"cannot allocate memory\"},\n\t{13, \"EACCES\", \"permission denied\"},\n\t{14, \"EFAULT\", \"bad address\"},\n\t{15, \"ENOTBLK\", \"block device required\"},\n\t{16, \"EBUSY\", \"device or resource busy\"},\n\t{17, \"EEXIST\", \"file exists\"},\n\t{18, \"EXDEV\", \"invalid cross-device link\"},\n\t{19, \"ENODEV\", \"no such device\"},\n\t{20, \"ENOTDIR\", \"not a directory\"},\n\t{21, \"EISDIR\", \"is a directory\"},\n\t{22, \"EINVAL\", \"invalid argument\"},\n\t{23, \"ENFILE\", \"too many open files in system\"},\n\t{24, \"EMFILE\", \"too many open files\"},\n\t{25, \"ENOTTY\", \"inappropriate ioctl for device\"},\n\t{26, \"ETXTBSY\", \"text file busy\"},\n\t{27, \"EFBIG\", \"file too large\"},\n\t{28, \"ENOSPC\", \"no space left on device\"},\n\t{29, \"ESPIPE\", \"illegal seek\"},\n\t{30, \"EROFS\", \"read-only file system\"},\n\t{31, \"EMLINK\", \"too many links\"},\n\t{32, \"EPIPE\", \"broken pipe\"},\n\t{33, \"EDOM\", \"numerical argument out of domain\"},\n\t{34, \"ERANGE\", \"numerical result out of range\"},\n\t{35, \"EDEADLK\", \"resource deadlock avoided\"},\n\t{36, \"ENAMETOOLONG\", \"file name too long\"},\n\t{37, \"ENOLCK\", \"no locks available\"},\n\t{38, \"ENOSYS\", \"function not implemented\"},\n\t{39, \"ENOTEMPTY\", \"directory not empty\"},\n\t{40, \"ELOOP\", \"too many levels of symbolic links\"},\n\t{42, \"ENOMSG\", \"no message of desired type\"},\n\t{43, \"EIDRM\", \"identifier removed\"},\n\t{44, \"ECHRNG\", \"channel number out of range\"},\n\t{45, \"EL2NSYNC\", \"level 2 not synchronized\"},\n\t{46, \"EL3HLT\", \"level 3 halted\"},\n\t{47, \"EL3RST\", \"level 3 reset\"},\n\t{48, \"ELNRNG\", \"link number out of range\"},\n\t{49, \"EUNATCH\", \"protocol driver not attached\"},\n\t{50, \"ENOCSI\", \"no CSI structure available\"},\n\t{51, \"EL2HLT\", \"level 2 halted\"},\n\t{52, \"EBADE\", \"invalid exchange\"},\n\t{53, \"EBADR\", \"invalid request descriptor\"},\n\t{54, \"EXFULL\", \"exchange full\"},\n\t{55, \"ENOANO\", \"no anode\"},\n\t{56, \"EBADRQC\", \"invalid request code\"},\n\t{57, \"EBADSLT\", \"invalid slot\"},\n\t{59, \"EBFONT\", \"bad font file format\"},\n\t{60, \"ENOSTR\", \"device not a stream\"},\n\t{61, \"ENODATA\", \"no data available\"},\n\t{62, \"ETIME\", \"timer expired\"},\n\t{63, \"ENOSR\", \"out of streams resources\"},\n\t{64, \"ENONET\", \"machine is not on the network\"},\n\t{65, \"ENOPKG\", \"package not installed\"},\n\t{66, \"EREMOTE\", \"object is remote\"},\n\t{67, \"ENOLINK\", \"link has been severed\"},\n\t{68, \"EADV\", \"advertise error\"},\n\t{69, \"ESRMNT\", \"srmount error\"},\n\t{70, \"ECOMM\", \"communication error on send\"},\n\t{71, \"EPROTO\", \"protocol error\"},\n\t{72, \"EMULTIHOP\", \"multihop attempted\"},\n\t{73, \"EDOTDOT\", \"RFS specific error\"},\n\t{74, \"EBADMSG\", \"bad message\"},\n\t{75, \"EOVERFLOW\", \"value too large for defined data type\"},\n\t{76, \"ENOTUNIQ\", \"name not unique on network\"},\n\t{77, \"EBADFD\", \"file descriptor in bad state\"},\n\t{78, \"EREMCHG\", \"remote address changed\"},\n\t{79, \"ELIBACC\", \"can not access a needed shared library\"},\n\t{80, \"ELIBBAD\", \"accessing a corrupted shared library\"},\n\t{81, \"ELIBSCN\", \".lib section in a.out corrupted\"},\n\t{82, \"ELIBMAX\", \"attempting to link in too many shared libraries\"},\n\t{83, \"ELIBEXEC\", \"cannot exec a shared library directly\"},\n\t{84, \"EILSEQ\", \"invalid or incomplete multibyte or wide character\"},\n\t{85, \"ERESTART\", \"interrupted system call should be restarted\"},\n\t{86, \"ESTRPIPE\", \"streams pipe error\"},\n\t{87, \"EUSERS\", \"too many users\"},\n\t{88, \"ENOTSOCK\", \"socket operation on non-socket\"},\n\t{89, \"EDESTADDRREQ\", \"destination address required\"},\n\t{90, \"EMSGSIZE\", \"message too long\"},\n\t{91, \"EPROTOTYPE\", \"protocol wrong type for socket\"},\n\t{92, \"ENOPROTOOPT\", \"protocol not available\"},\n\t{93, \"EPROTONOSUPPORT\", \"protocol not supported\"},\n\t{94, \"ESOCKTNOSUPPORT\", \"socket type not supported\"},\n\t{95, \"ENOTSUP\", \"operation not supported\"},\n\t{96, \"EPFNOSUPPORT\", \"protocol family not supported\"},\n\t{97, \"EAFNOSUPPORT\", \"address family not supported by protocol\"},\n\t{98, \"EADDRINUSE\", \"address already in use\"},\n\t{99, \"EADDRNOTAVAIL\", \"cannot assign requested address\"},\n\t{100, \"ENETDOWN\", \"network is down\"},\n\t{101, \"ENETUNREACH\", \"network is unreachable\"},\n\t{102, \"ENETRESET\", \"network dropped connection on reset\"},\n\t{103, \"ECONNABORTED\", \"software caused connection abort\"},\n\t{104, \"ECONNRESET\", \"connection reset by peer\"},\n\t{105, \"ENOBUFS\", \"no buffer space available\"},\n\t{106, \"EISCONN\", \"transport endpoint is already connected\"},\n\t{107, \"ENOTCONN\", \"transport endpoint is not connected\"},\n\t{108, \"ESHUTDOWN\", \"cannot send after transport endpoint shutdown\"},\n\t{109, \"ETOOMANYREFS\", \"too many references: cannot splice\"},\n\t{110, \"ETIMEDOUT\", \"connection timed out\"},\n\t{111, \"ECONNREFUSED\", \"connection refused\"},\n\t{112, \"EHOSTDOWN\", \"host is down\"},\n\t{113, \"EHOSTUNREACH\", \"no route to host\"},\n\t{114, \"EALREADY\", \"operation already in progress\"},\n\t{115, \"EINPROGRESS\", \"operation now in progress\"},\n\t{116, \"ESTALE\", \"stale file handle\"},\n\t{117, \"EUCLEAN\", \"structure needs cleaning\"},\n\t{118, \"ENOTNAM\", \"not a XENIX named type file\"},\n\t{119, \"ENAVAIL\", \"no XENIX semaphores available\"},\n\t{120, \"EISNAM\", \"is a named type file\"},\n\t{121, \"EREMOTEIO\", \"remote I/O error\"},\n\t{122, \"EDQUOT\", \"disk quota exceeded\"},\n\t{123, \"ENOMEDIUM\", \"no medium found\"},\n\t{124, \"EMEDIUMTYPE\", \"wrong medium type\"},\n\t{125, \"ECANCELED\", \"operation canceled\"},\n\t{126, \"ENOKEY\", \"required key not available\"},\n\t{127, \"EKEYEXPIRED\", \"key has expired\"},\n\t{128, \"EKEYREVOKED\", \"key has been revoked\"},\n\t{129, \"EKEYREJECTED\", \"key was rejected by service\"},\n\t{130, \"EOWNERDEAD\", \"owner died\"},\n\t{131, \"ENOTRECOVERABLE\", \"state not recoverable\"},\n\t{132, \"ERFKILL\", \"operation not possible due to RF-kill\"},\n\t{133, \"EHWPOISON\", \"memory page has hardware error\"},\n}\n\n// Signal table\nvar signalList = [...]struct {\n\tnum  syscall.Signal\n\tname string\n\tdesc string\n}{\n\t{1, \"SIGHUP\", \"hangup\"},\n\t{2, \"SIGINT\", \"interrupt\"},\n\t{3, \"SIGQUIT\", \"quit\"},\n\t{4, \"SIGILL\", \"illegal instruction\"},\n\t{5, \"SIGTRAP\", \"trace/breakpoint trap\"},\n\t{6, \"SIGABRT\", \"aborted\"},\n\t{7, \"SIGBUS\", \"bus error\"},\n\t{8, \"SIGFPE\", \"floating point exception\"},\n\t{9, \"SIGKILL\", \"killed\"},\n\t{10, \"SIGUSR1\", \"user defined signal 1\"},\n\t{11, \"SIGSEGV\", \"segmentation fault\"},\n\t{12, \"SIGUSR2\", \"user defined signal 2\"},\n\t{13, \"SIGPIPE\", \"broken pipe\"},\n\t{14, \"SIGALRM\", \"alarm clock\"},\n\t{15, \"SIGTERM\", \"terminated\"},\n\t{16, \"SIGSTKFLT\", \"stack fault\"},\n\t{17, \"SIGCHLD\", \"child exited\"},\n\t{18, \"SIGCONT\", \"continued\"},\n\t{19, \"SIGSTOP\", \"stopped (signal)\"},\n\t{20, \"SIGTSTP\", \"stopped\"},\n\t{21, \"SIGTTIN\", \"stopped (tty input)\"},\n\t{22, \"SIGTTOU\", \"stopped (tty output)\"},\n\t{23, \"SIGURG\", \"urgent I/O condition\"},\n\t{24, \"SIGXCPU\", \"CPU time limit exceeded\"},\n\t{25, \"SIGXFSZ\", \"file size limit exceeded\"},\n\t{26, \"SIGVTALRM\", \"virtual timer expired\"},\n\t{27, \"SIGPROF\", \"profiling timer expired\"},\n\t{28, \"SIGWINCH\", \"window changed\"},\n\t{29, \"SIGIO\", \"I/O possible\"},\n\t{30, \"SIGPWR\", \"power failure\"},\n\t{31, \"SIGSYS\", \"bad system call\"},\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go",
    "content": "// mkerrors.sh -Wall -Werror -static -I/tmp/include -m64\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,linux\n\n// Code generated by cmd/cgo -godefs; DO NOT EDIT.\n// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAAFS_MAGIC                           = 0x5a3c69f0\n\tADFS_SUPER_MAGIC                     = 0xadf5\n\tAFFS_SUPER_MAGIC                     = 0xadff\n\tAFS_FS_MAGIC                         = 0x6b414653\n\tAFS_SUPER_MAGIC                      = 0x5346414f\n\tAF_ALG                               = 0x26\n\tAF_APPLETALK                         = 0x5\n\tAF_ASH                               = 0x12\n\tAF_ATMPVC                            = 0x8\n\tAF_ATMSVC                            = 0x14\n\tAF_AX25                              = 0x3\n\tAF_BLUETOOTH                         = 0x1f\n\tAF_BRIDGE                            = 0x7\n\tAF_CAIF                              = 0x25\n\tAF_CAN                               = 0x1d\n\tAF_DECnet                            = 0xc\n\tAF_ECONET                            = 0x13\n\tAF_FILE                              = 0x1\n\tAF_IB                                = 0x1b\n\tAF_IEEE802154                        = 0x24\n\tAF_INET                              = 0x2\n\tAF_INET6                             = 0xa\n\tAF_IPX                               = 0x4\n\tAF_IRDA                              = 0x17\n\tAF_ISDN                              = 0x22\n\tAF_IUCV                              = 0x20\n\tAF_KCM                               = 0x29\n\tAF_KEY                               = 0xf\n\tAF_LLC                               = 0x1a\n\tAF_LOCAL                             = 0x1\n\tAF_MAX                               = 0x2c\n\tAF_MPLS                              = 0x1c\n\tAF_NETBEUI                           = 0xd\n\tAF_NETLINK                           = 0x10\n\tAF_NETROM                            = 0x6\n\tAF_NFC                               = 0x27\n\tAF_PACKET                            = 0x11\n\tAF_PHONET                            = 0x23\n\tAF_PPPOX                             = 0x18\n\tAF_QIPCRTR                           = 0x2a\n\tAF_RDS                               = 0x15\n\tAF_ROSE                              = 0xb\n\tAF_ROUTE                             = 0x10\n\tAF_RXRPC                             = 0x21\n\tAF_SECURITY                          = 0xe\n\tAF_SMC                               = 0x2b\n\tAF_SNA                               = 0x16\n\tAF_TIPC                              = 0x1e\n\tAF_UNIX                              = 0x1\n\tAF_UNSPEC                            = 0x0\n\tAF_VSOCK                             = 0x28\n\tAF_WANPIPE                           = 0x19\n\tAF_X25                               = 0x9\n\tALG_OP_DECRYPT                       = 0x0\n\tALG_OP_ENCRYPT                       = 0x1\n\tALG_SET_AEAD_ASSOCLEN                = 0x4\n\tALG_SET_AEAD_AUTHSIZE                = 0x5\n\tALG_SET_IV                           = 0x2\n\tALG_SET_KEY                          = 0x1\n\tALG_SET_OP                           = 0x3\n\tANON_INODE_FS_MAGIC                  = 0x9041934\n\tARPHRD_6LOWPAN                       = 0x339\n\tARPHRD_ADAPT                         = 0x108\n\tARPHRD_APPLETLK                      = 0x8\n\tARPHRD_ARCNET                        = 0x7\n\tARPHRD_ASH                           = 0x30d\n\tARPHRD_ATM                           = 0x13\n\tARPHRD_AX25                          = 0x3\n\tARPHRD_BIF                           = 0x307\n\tARPHRD_CAIF                          = 0x336\n\tARPHRD_CAN                           = 0x118\n\tARPHRD_CHAOS                         = 0x5\n\tARPHRD_CISCO                         = 0x201\n\tARPHRD_CSLIP                         = 0x101\n\tARPHRD_CSLIP6                        = 0x103\n\tARPHRD_DDCMP                         = 0x205\n\tARPHRD_DLCI                          = 0xf\n\tARPHRD_ECONET                        = 0x30e\n\tARPHRD_EETHER                        = 0x2\n\tARPHRD_ETHER                         = 0x1\n\tARPHRD_EUI64                         = 0x1b\n\tARPHRD_FCAL                          = 0x311\n\tARPHRD_FCFABRIC                      = 0x313\n\tARPHRD_FCPL                          = 0x312\n\tARPHRD_FCPP                          = 0x310\n\tARPHRD_FDDI                          = 0x306\n\tARPHRD_FRAD                          = 0x302\n\tARPHRD_HDLC                          = 0x201\n\tARPHRD_HIPPI                         = 0x30c\n\tARPHRD_HWX25                         = 0x110\n\tARPHRD_IEEE1394                      = 0x18\n\tARPHRD_IEEE802                       = 0x6\n\tARPHRD_IEEE80211                     = 0x321\n\tARPHRD_IEEE80211_PRISM               = 0x322\n\tARPHRD_IEEE80211_RADIOTAP            = 0x323\n\tARPHRD_IEEE802154                    = 0x324\n\tARPHRD_IEEE802154_MONITOR            = 0x325\n\tARPHRD_IEEE802_TR                    = 0x320\n\tARPHRD_INFINIBAND                    = 0x20\n\tARPHRD_IP6GRE                        = 0x337\n\tARPHRD_IPDDP                         = 0x309\n\tARPHRD_IPGRE                         = 0x30a\n\tARPHRD_IRDA                          = 0x30f\n\tARPHRD_LAPB                          = 0x204\n\tARPHRD_LOCALTLK                      = 0x305\n\tARPHRD_LOOPBACK                      = 0x304\n\tARPHRD_METRICOM                      = 0x17\n\tARPHRD_NETLINK                       = 0x338\n\tARPHRD_NETROM                        = 0x0\n\tARPHRD_NONE                          = 0xfffe\n\tARPHRD_PHONET                        = 0x334\n\tARPHRD_PHONET_PIPE                   = 0x335\n\tARPHRD_PIMREG                        = 0x30b\n\tARPHRD_PPP                           = 0x200\n\tARPHRD_PRONET                        = 0x4\n\tARPHRD_RAWHDLC                       = 0x206\n\tARPHRD_RAWIP                         = 0x207\n\tARPHRD_ROSE                          = 0x10e\n\tARPHRD_RSRVD                         = 0x104\n\tARPHRD_SIT                           = 0x308\n\tARPHRD_SKIP                          = 0x303\n\tARPHRD_SLIP                          = 0x100\n\tARPHRD_SLIP6                         = 0x102\n\tARPHRD_TUNNEL                        = 0x300\n\tARPHRD_TUNNEL6                       = 0x301\n\tARPHRD_VOID                          = 0xffff\n\tARPHRD_VSOCKMON                      = 0x33a\n\tARPHRD_X25                           = 0x10f\n\tAUTOFS_SUPER_MAGIC                   = 0x187\n\tB0                                   = 0x0\n\tB1000000                             = 0x1008\n\tB110                                 = 0x3\n\tB115200                              = 0x1002\n\tB1152000                             = 0x1009\n\tB1200                                = 0x9\n\tB134                                 = 0x4\n\tB150                                 = 0x5\n\tB1500000                             = 0x100a\n\tB1800                                = 0xa\n\tB19200                               = 0xe\n\tB200                                 = 0x6\n\tB2000000                             = 0x100b\n\tB230400                              = 0x1003\n\tB2400                                = 0xb\n\tB2500000                             = 0x100c\n\tB300                                 = 0x7\n\tB3000000                             = 0x100d\n\tB3500000                             = 0x100e\n\tB38400                               = 0xf\n\tB4000000                             = 0x100f\n\tB460800                              = 0x1004\n\tB4800                                = 0xc\n\tB50                                  = 0x1\n\tB500000                              = 0x1005\n\tB57600                               = 0x1001\n\tB576000                              = 0x1006\n\tB600                                 = 0x8\n\tB75                                  = 0x2\n\tB921600                              = 0x1007\n\tB9600                                = 0xd\n\tBALLOON_KVM_MAGIC                    = 0x13661366\n\tBDEVFS_MAGIC                         = 0x62646576\n\tBINFMTFS_MAGIC                       = 0x42494e4d\n\tBLKBSZGET                            = 0x80081270\n\tBLKBSZSET                            = 0x40081271\n\tBLKFLSBUF                            = 0x1261\n\tBLKFRAGET                            = 0x1265\n\tBLKFRASET                            = 0x1264\n\tBLKGETSIZE                           = 0x1260\n\tBLKGETSIZE64                         = 0x80081272\n\tBLKPBSZGET                           = 0x127b\n\tBLKRAGET                             = 0x1263\n\tBLKRASET                             = 0x1262\n\tBLKROGET                             = 0x125e\n\tBLKROSET                             = 0x125d\n\tBLKRRPART                            = 0x125f\n\tBLKSECTGET                           = 0x1267\n\tBLKSECTSET                           = 0x1266\n\tBLKSSZGET                            = 0x1268\n\tBOTHER                               = 0x1000\n\tBPF_A                                = 0x10\n\tBPF_ABS                              = 0x20\n\tBPF_ADD                              = 0x0\n\tBPF_ALU                              = 0x4\n\tBPF_AND                              = 0x50\n\tBPF_B                                = 0x10\n\tBPF_DIV                              = 0x30\n\tBPF_FS_MAGIC                         = 0xcafe4a11\n\tBPF_H                                = 0x8\n\tBPF_IMM                              = 0x0\n\tBPF_IND                              = 0x40\n\tBPF_JA                               = 0x0\n\tBPF_JEQ                              = 0x10\n\tBPF_JGE                              = 0x30\n\tBPF_JGT                              = 0x20\n\tBPF_JMP                              = 0x5\n\tBPF_JSET                             = 0x40\n\tBPF_K                                = 0x0\n\tBPF_LD                               = 0x0\n\tBPF_LDX                              = 0x1\n\tBPF_LEN                              = 0x80\n\tBPF_LL_OFF                           = -0x200000\n\tBPF_LSH                              = 0x60\n\tBPF_MAJOR_VERSION                    = 0x1\n\tBPF_MAXINSNS                         = 0x1000\n\tBPF_MEM                              = 0x60\n\tBPF_MEMWORDS                         = 0x10\n\tBPF_MINOR_VERSION                    = 0x1\n\tBPF_MISC                             = 0x7\n\tBPF_MOD                              = 0x90\n\tBPF_MSH                              = 0xa0\n\tBPF_MUL                              = 0x20\n\tBPF_NEG                              = 0x80\n\tBPF_NET_OFF                          = -0x100000\n\tBPF_OR                               = 0x40\n\tBPF_RET                              = 0x6\n\tBPF_RSH                              = 0x70\n\tBPF_ST                               = 0x2\n\tBPF_STX                              = 0x3\n\tBPF_SUB                              = 0x10\n\tBPF_TAX                              = 0x0\n\tBPF_TXA                              = 0x80\n\tBPF_W                                = 0x0\n\tBPF_X                                = 0x8\n\tBPF_XOR                              = 0xa0\n\tBRKINT                               = 0x2\n\tBS0                                  = 0x0\n\tBS1                                  = 0x2000\n\tBSDLY                                = 0x2000\n\tBTRFS_SUPER_MAGIC                    = 0x9123683e\n\tBTRFS_TEST_MAGIC                     = 0x73727279\n\tCAN_BCM                              = 0x2\n\tCAN_EFF_FLAG                         = 0x80000000\n\tCAN_EFF_ID_BITS                      = 0x1d\n\tCAN_EFF_MASK                         = 0x1fffffff\n\tCAN_ERR_FLAG                         = 0x20000000\n\tCAN_ERR_MASK                         = 0x1fffffff\n\tCAN_INV_FILTER                       = 0x20000000\n\tCAN_ISOTP                            = 0x6\n\tCAN_MAX_DLC                          = 0x8\n\tCAN_MAX_DLEN                         = 0x8\n\tCAN_MCNET                            = 0x5\n\tCAN_MTU                              = 0x10\n\tCAN_NPROTO                           = 0x7\n\tCAN_RAW                              = 0x1\n\tCAN_RAW_FILTER_MAX                   = 0x200\n\tCAN_RTR_FLAG                         = 0x40000000\n\tCAN_SFF_ID_BITS                      = 0xb\n\tCAN_SFF_MASK                         = 0x7ff\n\tCAN_TP16                             = 0x3\n\tCAN_TP20                             = 0x4\n\tCBAUD                                = 0x100f\n\tCBAUDEX                              = 0x1000\n\tCFLUSH                               = 0xf\n\tCGROUP2_SUPER_MAGIC                  = 0x63677270\n\tCGROUP_SUPER_MAGIC                   = 0x27e0eb\n\tCIBAUD                               = 0x100f0000\n\tCLOCAL                               = 0x800\n\tCLOCK_BOOTTIME                       = 0x7\n\tCLOCK_BOOTTIME_ALARM                 = 0x9\n\tCLOCK_DEFAULT                        = 0x0\n\tCLOCK_EXT                            = 0x1\n\tCLOCK_INT                            = 0x2\n\tCLOCK_MONOTONIC                      = 0x1\n\tCLOCK_MONOTONIC_COARSE               = 0x6\n\tCLOCK_MONOTONIC_RAW                  = 0x4\n\tCLOCK_PROCESS_CPUTIME_ID             = 0x2\n\tCLOCK_REALTIME                       = 0x0\n\tCLOCK_REALTIME_ALARM                 = 0x8\n\tCLOCK_REALTIME_COARSE                = 0x5\n\tCLOCK_TAI                            = 0xb\n\tCLOCK_THREAD_CPUTIME_ID              = 0x3\n\tCLOCK_TXFROMRX                       = 0x4\n\tCLOCK_TXINT                          = 0x3\n\tCLONE_CHILD_CLEARTID                 = 0x200000\n\tCLONE_CHILD_SETTID                   = 0x1000000\n\tCLONE_DETACHED                       = 0x400000\n\tCLONE_FILES                          = 0x400\n\tCLONE_FS                             = 0x200\n\tCLONE_IO                             = 0x80000000\n\tCLONE_NEWCGROUP                      = 0x2000000\n\tCLONE_NEWIPC                         = 0x8000000\n\tCLONE_NEWNET                         = 0x40000000\n\tCLONE_NEWNS                          = 0x20000\n\tCLONE_NEWPID                         = 0x20000000\n\tCLONE_NEWUSER                        = 0x10000000\n\tCLONE_NEWUTS                         = 0x4000000\n\tCLONE_PARENT                         = 0x8000\n\tCLONE_PARENT_SETTID                  = 0x100000\n\tCLONE_PTRACE                         = 0x2000\n\tCLONE_SETTLS                         = 0x80000\n\tCLONE_SIGHAND                        = 0x800\n\tCLONE_SYSVSEM                        = 0x40000\n\tCLONE_THREAD                         = 0x10000\n\tCLONE_UNTRACED                       = 0x800000\n\tCLONE_VFORK                          = 0x4000\n\tCLONE_VM                             = 0x100\n\tCMSPAR                               = 0x40000000\n\tCODA_SUPER_MAGIC                     = 0x73757245\n\tCR0                                  = 0x0\n\tCR1                                  = 0x200\n\tCR2                                  = 0x400\n\tCR3                                  = 0x600\n\tCRAMFS_MAGIC                         = 0x28cd3d45\n\tCRDLY                                = 0x600\n\tCREAD                                = 0x80\n\tCRTSCTS                              = 0x80000000\n\tCS5                                  = 0x0\n\tCS6                                  = 0x10\n\tCS7                                  = 0x20\n\tCS8                                  = 0x30\n\tCSIGNAL                              = 0xff\n\tCSIZE                                = 0x30\n\tCSTART                               = 0x11\n\tCSTATUS                              = 0x0\n\tCSTOP                                = 0x13\n\tCSTOPB                               = 0x40\n\tCSUSP                                = 0x1a\n\tDAXFS_MAGIC                          = 0x64646178\n\tDEBUGFS_MAGIC                        = 0x64626720\n\tDEVPTS_SUPER_MAGIC                   = 0x1cd1\n\tDT_BLK                               = 0x6\n\tDT_CHR                               = 0x2\n\tDT_DIR                               = 0x4\n\tDT_FIFO                              = 0x1\n\tDT_LNK                               = 0xa\n\tDT_REG                               = 0x8\n\tDT_SOCK                              = 0xc\n\tDT_UNKNOWN                           = 0x0\n\tDT_WHT                               = 0xe\n\tECHO                                 = 0x8\n\tECHOCTL                              = 0x200\n\tECHOE                                = 0x10\n\tECHOK                                = 0x20\n\tECHOKE                               = 0x800\n\tECHONL                               = 0x40\n\tECHOPRT                              = 0x400\n\tECRYPTFS_SUPER_MAGIC                 = 0xf15f\n\tEFD_CLOEXEC                          = 0x80000\n\tEFD_NONBLOCK                         = 0x800\n\tEFD_SEMAPHORE                        = 0x1\n\tEFIVARFS_MAGIC                       = 0xde5e81e4\n\tEFS_SUPER_MAGIC                      = 0x414a53\n\tENCODING_DEFAULT                     = 0x0\n\tENCODING_FM_MARK                     = 0x3\n\tENCODING_FM_SPACE                    = 0x4\n\tENCODING_MANCHESTER                  = 0x5\n\tENCODING_NRZ                         = 0x1\n\tENCODING_NRZI                        = 0x2\n\tEPOLLERR                             = 0x8\n\tEPOLLET                              = 0x80000000\n\tEPOLLEXCLUSIVE                       = 0x10000000\n\tEPOLLHUP                             = 0x10\n\tEPOLLIN                              = 0x1\n\tEPOLLMSG                             = 0x400\n\tEPOLLONESHOT                         = 0x40000000\n\tEPOLLOUT                             = 0x4\n\tEPOLLPRI                             = 0x2\n\tEPOLLRDBAND                          = 0x80\n\tEPOLLRDHUP                           = 0x2000\n\tEPOLLRDNORM                          = 0x40\n\tEPOLLWAKEUP                          = 0x20000000\n\tEPOLLWRBAND                          = 0x200\n\tEPOLLWRNORM                          = 0x100\n\tEPOLL_CLOEXEC                        = 0x80000\n\tEPOLL_CTL_ADD                        = 0x1\n\tEPOLL_CTL_DEL                        = 0x2\n\tEPOLL_CTL_MOD                        = 0x3\n\tETH_P_1588                           = 0x88f7\n\tETH_P_8021AD                         = 0x88a8\n\tETH_P_8021AH                         = 0x88e7\n\tETH_P_8021Q                          = 0x8100\n\tETH_P_80221                          = 0x8917\n\tETH_P_802_2                          = 0x4\n\tETH_P_802_3                          = 0x1\n\tETH_P_802_3_MIN                      = 0x600\n\tETH_P_802_EX1                        = 0x88b5\n\tETH_P_AARP                           = 0x80f3\n\tETH_P_AF_IUCV                        = 0xfbfb\n\tETH_P_ALL                            = 0x3\n\tETH_P_AOE                            = 0x88a2\n\tETH_P_ARCNET                         = 0x1a\n\tETH_P_ARP                            = 0x806\n\tETH_P_ATALK                          = 0x809b\n\tETH_P_ATMFATE                        = 0x8884\n\tETH_P_ATMMPOA                        = 0x884c\n\tETH_P_AX25                           = 0x2\n\tETH_P_BATMAN                         = 0x4305\n\tETH_P_BPQ                            = 0x8ff\n\tETH_P_CAIF                           = 0xf7\n\tETH_P_CAN                            = 0xc\n\tETH_P_CANFD                          = 0xd\n\tETH_P_CONTROL                        = 0x16\n\tETH_P_CUST                           = 0x6006\n\tETH_P_DDCMP                          = 0x6\n\tETH_P_DEC                            = 0x6000\n\tETH_P_DIAG                           = 0x6005\n\tETH_P_DNA_DL                         = 0x6001\n\tETH_P_DNA_RC                         = 0x6002\n\tETH_P_DNA_RT                         = 0x6003\n\tETH_P_DSA                            = 0x1b\n\tETH_P_ECONET                         = 0x18\n\tETH_P_EDSA                           = 0xdada\n\tETH_P_ERSPAN                         = 0x88be\n\tETH_P_ERSPAN2                        = 0x22eb\n\tETH_P_FCOE                           = 0x8906\n\tETH_P_FIP                            = 0x8914\n\tETH_P_HDLC                           = 0x19\n\tETH_P_HSR                            = 0x892f\n\tETH_P_IBOE                           = 0x8915\n\tETH_P_IEEE802154                     = 0xf6\n\tETH_P_IEEEPUP                        = 0xa00\n\tETH_P_IEEEPUPAT                      = 0xa01\n\tETH_P_IFE                            = 0xed3e\n\tETH_P_IP                             = 0x800\n\tETH_P_IPV6                           = 0x86dd\n\tETH_P_IPX                            = 0x8137\n\tETH_P_IRDA                           = 0x17\n\tETH_P_LAT                            = 0x6004\n\tETH_P_LINK_CTL                       = 0x886c\n\tETH_P_LOCALTALK                      = 0x9\n\tETH_P_LOOP                           = 0x60\n\tETH_P_LOOPBACK                       = 0x9000\n\tETH_P_MACSEC                         = 0x88e5\n\tETH_P_MAP                            = 0xf9\n\tETH_P_MOBITEX                        = 0x15\n\tETH_P_MPLS_MC                        = 0x8848\n\tETH_P_MPLS_UC                        = 0x8847\n\tETH_P_MVRP                           = 0x88f5\n\tETH_P_NCSI                           = 0x88f8\n\tETH_P_NSH                            = 0x894f\n\tETH_P_PAE                            = 0x888e\n\tETH_P_PAUSE                          = 0x8808\n\tETH_P_PHONET                         = 0xf5\n\tETH_P_PPPTALK                        = 0x10\n\tETH_P_PPP_DISC                       = 0x8863\n\tETH_P_PPP_MP                         = 0x8\n\tETH_P_PPP_SES                        = 0x8864\n\tETH_P_PREAUTH                        = 0x88c7\n\tETH_P_PRP                            = 0x88fb\n\tETH_P_PUP                            = 0x200\n\tETH_P_PUPAT                          = 0x201\n\tETH_P_QINQ1                          = 0x9100\n\tETH_P_QINQ2                          = 0x9200\n\tETH_P_QINQ3                          = 0x9300\n\tETH_P_RARP                           = 0x8035\n\tETH_P_SCA                            = 0x6007\n\tETH_P_SLOW                           = 0x8809\n\tETH_P_SNAP                           = 0x5\n\tETH_P_TDLS                           = 0x890d\n\tETH_P_TEB                            = 0x6558\n\tETH_P_TIPC                           = 0x88ca\n\tETH_P_TRAILER                        = 0x1c\n\tETH_P_TR_802_2                       = 0x11\n\tETH_P_TSN                            = 0x22f0\n\tETH_P_WAN_PPP                        = 0x7\n\tETH_P_WCCP                           = 0x883e\n\tETH_P_X25                            = 0x805\n\tETH_P_XDSA                           = 0xf8\n\tEXABYTE_ENABLE_NEST                  = 0xf0\n\tEXT2_SUPER_MAGIC                     = 0xef53\n\tEXT3_SUPER_MAGIC                     = 0xef53\n\tEXT4_SUPER_MAGIC                     = 0xef53\n\tEXTA                                 = 0xe\n\tEXTB                                 = 0xf\n\tEXTPROC                              = 0x10000\n\tF2FS_SUPER_MAGIC                     = 0xf2f52010\n\tFALLOC_FL_COLLAPSE_RANGE             = 0x8\n\tFALLOC_FL_INSERT_RANGE               = 0x20\n\tFALLOC_FL_KEEP_SIZE                  = 0x1\n\tFALLOC_FL_NO_HIDE_STALE              = 0x4\n\tFALLOC_FL_PUNCH_HOLE                 = 0x2\n\tFALLOC_FL_UNSHARE_RANGE              = 0x40\n\tFALLOC_FL_ZERO_RANGE                 = 0x10\n\tFD_CLOEXEC                           = 0x1\n\tFD_SETSIZE                           = 0x400\n\tFF0                                  = 0x0\n\tFF1                                  = 0x8000\n\tFFDLY                                = 0x8000\n\tFLUSHO                               = 0x1000\n\tFP_XSTATE_MAGIC2                     = 0x46505845\n\tFS_ENCRYPTION_MODE_AES_128_CBC       = 0x5\n\tFS_ENCRYPTION_MODE_AES_128_CTS       = 0x6\n\tFS_ENCRYPTION_MODE_AES_256_CBC       = 0x3\n\tFS_ENCRYPTION_MODE_AES_256_CTS       = 0x4\n\tFS_ENCRYPTION_MODE_AES_256_GCM       = 0x2\n\tFS_ENCRYPTION_MODE_AES_256_XTS       = 0x1\n\tFS_ENCRYPTION_MODE_INVALID           = 0x0\n\tFS_ENCRYPTION_MODE_SPECK128_256_CTS  = 0x8\n\tFS_ENCRYPTION_MODE_SPECK128_256_XTS  = 0x7\n\tFS_IOC_GET_ENCRYPTION_POLICY         = 0x400c6615\n\tFS_IOC_GET_ENCRYPTION_PWSALT         = 0x40106614\n\tFS_IOC_SET_ENCRYPTION_POLICY         = 0x800c6613\n\tFS_KEY_DESCRIPTOR_SIZE               = 0x8\n\tFS_KEY_DESC_PREFIX                   = \"fscrypt:\"\n\tFS_KEY_DESC_PREFIX_SIZE              = 0x8\n\tFS_MAX_KEY_SIZE                      = 0x40\n\tFS_POLICY_FLAGS_PAD_16               = 0x2\n\tFS_POLICY_FLAGS_PAD_32               = 0x3\n\tFS_POLICY_FLAGS_PAD_4                = 0x0\n\tFS_POLICY_FLAGS_PAD_8                = 0x1\n\tFS_POLICY_FLAGS_PAD_MASK             = 0x3\n\tFS_POLICY_FLAGS_VALID                = 0x3\n\tFUTEXFS_SUPER_MAGIC                  = 0xbad1dea\n\tF_ADD_SEALS                          = 0x409\n\tF_DUPFD                              = 0x0\n\tF_DUPFD_CLOEXEC                      = 0x406\n\tF_EXLCK                              = 0x4\n\tF_GETFD                              = 0x1\n\tF_GETFL                              = 0x3\n\tF_GETLEASE                           = 0x401\n\tF_GETLK                              = 0x5\n\tF_GETLK64                            = 0x5\n\tF_GETOWN                             = 0x9\n\tF_GETOWN_EX                          = 0x10\n\tF_GETPIPE_SZ                         = 0x408\n\tF_GETSIG                             = 0xb\n\tF_GET_FILE_RW_HINT                   = 0x40d\n\tF_GET_RW_HINT                        = 0x40b\n\tF_GET_SEALS                          = 0x40a\n\tF_LOCK                               = 0x1\n\tF_NOTIFY                             = 0x402\n\tF_OFD_GETLK                          = 0x24\n\tF_OFD_SETLK                          = 0x25\n\tF_OFD_SETLKW                         = 0x26\n\tF_OK                                 = 0x0\n\tF_RDLCK                              = 0x0\n\tF_SEAL_GROW                          = 0x4\n\tF_SEAL_SEAL                          = 0x1\n\tF_SEAL_SHRINK                        = 0x2\n\tF_SEAL_WRITE                         = 0x8\n\tF_SETFD                              = 0x2\n\tF_SETFL                              = 0x4\n\tF_SETLEASE                           = 0x400\n\tF_SETLK                              = 0x6\n\tF_SETLK64                            = 0x6\n\tF_SETLKW                             = 0x7\n\tF_SETLKW64                           = 0x7\n\tF_SETOWN                             = 0x8\n\tF_SETOWN_EX                          = 0xf\n\tF_SETPIPE_SZ                         = 0x407\n\tF_SETSIG                             = 0xa\n\tF_SET_FILE_RW_HINT                   = 0x40e\n\tF_SET_RW_HINT                        = 0x40c\n\tF_SHLCK                              = 0x8\n\tF_TEST                               = 0x3\n\tF_TLOCK                              = 0x2\n\tF_ULOCK                              = 0x0\n\tF_UNLCK                              = 0x2\n\tF_WRLCK                              = 0x1\n\tGENL_ADMIN_PERM                      = 0x1\n\tGENL_CMD_CAP_DO                      = 0x2\n\tGENL_CMD_CAP_DUMP                    = 0x4\n\tGENL_CMD_CAP_HASPOL                  = 0x8\n\tGENL_HDRLEN                          = 0x4\n\tGENL_ID_CTRL                         = 0x10\n\tGENL_ID_PMCRAID                      = 0x12\n\tGENL_ID_VFS_DQUOT                    = 0x11\n\tGENL_MAX_ID                          = 0x3ff\n\tGENL_MIN_ID                          = 0x10\n\tGENL_NAMSIZ                          = 0x10\n\tGENL_START_ALLOC                     = 0x13\n\tGENL_UNS_ADMIN_PERM                  = 0x10\n\tGRND_NONBLOCK                        = 0x1\n\tGRND_RANDOM                          = 0x2\n\tHDIO_DRIVE_CMD                       = 0x31f\n\tHDIO_DRIVE_CMD_AEB                   = 0x31e\n\tHDIO_DRIVE_CMD_HDR_SIZE              = 0x4\n\tHDIO_DRIVE_HOB_HDR_SIZE              = 0x8\n\tHDIO_DRIVE_RESET                     = 0x31c\n\tHDIO_DRIVE_TASK                      = 0x31e\n\tHDIO_DRIVE_TASKFILE                  = 0x31d\n\tHDIO_DRIVE_TASK_HDR_SIZE             = 0x8\n\tHDIO_GETGEO                          = 0x301\n\tHDIO_GET_32BIT                       = 0x309\n\tHDIO_GET_ACOUSTIC                    = 0x30f\n\tHDIO_GET_ADDRESS                     = 0x310\n\tHDIO_GET_BUSSTATE                    = 0x31a\n\tHDIO_GET_DMA                         = 0x30b\n\tHDIO_GET_IDENTITY                    = 0x30d\n\tHDIO_GET_KEEPSETTINGS                = 0x308\n\tHDIO_GET_MULTCOUNT                   = 0x304\n\tHDIO_GET_NICE                        = 0x30c\n\tHDIO_GET_NOWERR                      = 0x30a\n\tHDIO_GET_QDMA                        = 0x305\n\tHDIO_GET_UNMASKINTR                  = 0x302\n\tHDIO_GET_WCACHE                      = 0x30e\n\tHDIO_OBSOLETE_IDENTITY               = 0x307\n\tHDIO_SCAN_HWIF                       = 0x328\n\tHDIO_SET_32BIT                       = 0x324\n\tHDIO_SET_ACOUSTIC                    = 0x32c\n\tHDIO_SET_ADDRESS                     = 0x32f\n\tHDIO_SET_BUSSTATE                    = 0x32d\n\tHDIO_SET_DMA                         = 0x326\n\tHDIO_SET_KEEPSETTINGS                = 0x323\n\tHDIO_SET_MULTCOUNT                   = 0x321\n\tHDIO_SET_NICE                        = 0x329\n\tHDIO_SET_NOWERR                      = 0x325\n\tHDIO_SET_PIO_MODE                    = 0x327\n\tHDIO_SET_QDMA                        = 0x32e\n\tHDIO_SET_UNMASKINTR                  = 0x322\n\tHDIO_SET_WCACHE                      = 0x32b\n\tHDIO_SET_XFER                        = 0x306\n\tHDIO_TRISTATE_HWIF                   = 0x31b\n\tHDIO_UNREGISTER_HWIF                 = 0x32a\n\tHOSTFS_SUPER_MAGIC                   = 0xc0ffee\n\tHPFS_SUPER_MAGIC                     = 0xf995e849\n\tHUGETLBFS_MAGIC                      = 0x958458f6\n\tHUPCL                                = 0x400\n\tIBSHIFT                              = 0x10\n\tICANON                               = 0x2\n\tICMPV6_FILTER                        = 0x1\n\tICRNL                                = 0x100\n\tIEXTEN                               = 0x8000\n\tIFA_F_DADFAILED                      = 0x8\n\tIFA_F_DEPRECATED                     = 0x20\n\tIFA_F_HOMEADDRESS                    = 0x10\n\tIFA_F_MANAGETEMPADDR                 = 0x100\n\tIFA_F_MCAUTOJOIN                     = 0x400\n\tIFA_F_NODAD                          = 0x2\n\tIFA_F_NOPREFIXROUTE                  = 0x200\n\tIFA_F_OPTIMISTIC                     = 0x4\n\tIFA_F_PERMANENT                      = 0x80\n\tIFA_F_SECONDARY                      = 0x1\n\tIFA_F_STABLE_PRIVACY                 = 0x800\n\tIFA_F_TEMPORARY                      = 0x1\n\tIFA_F_TENTATIVE                      = 0x40\n\tIFA_MAX                              = 0x9\n\tIFF_ALLMULTI                         = 0x200\n\tIFF_ATTACH_QUEUE                     = 0x200\n\tIFF_AUTOMEDIA                        = 0x4000\n\tIFF_BROADCAST                        = 0x2\n\tIFF_DEBUG                            = 0x4\n\tIFF_DETACH_QUEUE                     = 0x400\n\tIFF_DORMANT                          = 0x20000\n\tIFF_DYNAMIC                          = 0x8000\n\tIFF_ECHO                             = 0x40000\n\tIFF_LOOPBACK                         = 0x8\n\tIFF_LOWER_UP                         = 0x10000\n\tIFF_MASTER                           = 0x400\n\tIFF_MULTICAST                        = 0x1000\n\tIFF_MULTI_QUEUE                      = 0x100\n\tIFF_NAPI                             = 0x10\n\tIFF_NAPI_FRAGS                       = 0x20\n\tIFF_NOARP                            = 0x80\n\tIFF_NOFILTER                         = 0x1000\n\tIFF_NOTRAILERS                       = 0x20\n\tIFF_NO_PI                            = 0x1000\n\tIFF_ONE_QUEUE                        = 0x2000\n\tIFF_PERSIST                          = 0x800\n\tIFF_POINTOPOINT                      = 0x10\n\tIFF_PORTSEL                          = 0x2000\n\tIFF_PROMISC                          = 0x100\n\tIFF_RUNNING                          = 0x40\n\tIFF_SLAVE                            = 0x800\n\tIFF_TAP                              = 0x2\n\tIFF_TUN                              = 0x1\n\tIFF_TUN_EXCL                         = 0x8000\n\tIFF_UP                               = 0x1\n\tIFF_VNET_HDR                         = 0x4000\n\tIFF_VOLATILE                         = 0x70c5a\n\tIFNAMSIZ                             = 0x10\n\tIGNBRK                               = 0x1\n\tIGNCR                                = 0x80\n\tIGNPAR                               = 0x4\n\tIMAXBEL                              = 0x2000\n\tINLCR                                = 0x40\n\tINPCK                                = 0x10\n\tIN_ACCESS                            = 0x1\n\tIN_ALL_EVENTS                        = 0xfff\n\tIN_ATTRIB                            = 0x4\n\tIN_CLASSA_HOST                       = 0xffffff\n\tIN_CLASSA_MAX                        = 0x80\n\tIN_CLASSA_NET                        = 0xff000000\n\tIN_CLASSA_NSHIFT                     = 0x18\n\tIN_CLASSB_HOST                       = 0xffff\n\tIN_CLASSB_MAX                        = 0x10000\n\tIN_CLASSB_NET                        = 0xffff0000\n\tIN_CLASSB_NSHIFT                     = 0x10\n\tIN_CLASSC_HOST                       = 0xff\n\tIN_CLASSC_NET                        = 0xffffff00\n\tIN_CLASSC_NSHIFT                     = 0x8\n\tIN_CLOEXEC                           = 0x80000\n\tIN_CLOSE                             = 0x18\n\tIN_CLOSE_NOWRITE                     = 0x10\n\tIN_CLOSE_WRITE                       = 0x8\n\tIN_CREATE                            = 0x100\n\tIN_DELETE                            = 0x200\n\tIN_DELETE_SELF                       = 0x400\n\tIN_DONT_FOLLOW                       = 0x2000000\n\tIN_EXCL_UNLINK                       = 0x4000000\n\tIN_IGNORED                           = 0x8000\n\tIN_ISDIR                             = 0x40000000\n\tIN_LOOPBACKNET                       = 0x7f\n\tIN_MASK_ADD                          = 0x20000000\n\tIN_MODIFY                            = 0x2\n\tIN_MOVE                              = 0xc0\n\tIN_MOVED_FROM                        = 0x40\n\tIN_MOVED_TO                          = 0x80\n\tIN_MOVE_SELF                         = 0x800\n\tIN_NONBLOCK                          = 0x800\n\tIN_ONESHOT                           = 0x80000000\n\tIN_ONLYDIR                           = 0x1000000\n\tIN_OPEN                              = 0x20\n\tIN_Q_OVERFLOW                        = 0x4000\n\tIN_UNMOUNT                           = 0x2000\n\tIOCTL_VM_SOCKETS_GET_LOCAL_CID       = 0x7b9\n\tIPPROTO_AH                           = 0x33\n\tIPPROTO_BEETPH                       = 0x5e\n\tIPPROTO_COMP                         = 0x6c\n\tIPPROTO_DCCP                         = 0x21\n\tIPPROTO_DSTOPTS                      = 0x3c\n\tIPPROTO_EGP                          = 0x8\n\tIPPROTO_ENCAP                        = 0x62\n\tIPPROTO_ESP                          = 0x32\n\tIPPROTO_FRAGMENT                     = 0x2c\n\tIPPROTO_GRE                          = 0x2f\n\tIPPROTO_HOPOPTS                      = 0x0\n\tIPPROTO_ICMP                         = 0x1\n\tIPPROTO_ICMPV6                       = 0x3a\n\tIPPROTO_IDP                          = 0x16\n\tIPPROTO_IGMP                         = 0x2\n\tIPPROTO_IP                           = 0x0\n\tIPPROTO_IPIP                         = 0x4\n\tIPPROTO_IPV6                         = 0x29\n\tIPPROTO_MH                           = 0x87\n\tIPPROTO_MPLS                         = 0x89\n\tIPPROTO_MTP                          = 0x5c\n\tIPPROTO_NONE                         = 0x3b\n\tIPPROTO_PIM                          = 0x67\n\tIPPROTO_PUP                          = 0xc\n\tIPPROTO_RAW                          = 0xff\n\tIPPROTO_ROUTING                      = 0x2b\n\tIPPROTO_RSVP                         = 0x2e\n\tIPPROTO_SCTP                         = 0x84\n\tIPPROTO_TCP                          = 0x6\n\tIPPROTO_TP                           = 0x1d\n\tIPPROTO_UDP                          = 0x11\n\tIPPROTO_UDPLITE                      = 0x88\n\tIPV6_2292DSTOPTS                     = 0x4\n\tIPV6_2292HOPLIMIT                    = 0x8\n\tIPV6_2292HOPOPTS                     = 0x3\n\tIPV6_2292PKTINFO                     = 0x2\n\tIPV6_2292PKTOPTIONS                  = 0x6\n\tIPV6_2292RTHDR                       = 0x5\n\tIPV6_ADDRFORM                        = 0x1\n\tIPV6_ADDR_PREFERENCES                = 0x48\n\tIPV6_ADD_MEMBERSHIP                  = 0x14\n\tIPV6_AUTHHDR                         = 0xa\n\tIPV6_AUTOFLOWLABEL                   = 0x46\n\tIPV6_CHECKSUM                        = 0x7\n\tIPV6_DONTFRAG                        = 0x3e\n\tIPV6_DROP_MEMBERSHIP                 = 0x15\n\tIPV6_DSTOPTS                         = 0x3b\n\tIPV6_FREEBIND                        = 0x4e\n\tIPV6_HDRINCL                         = 0x24\n\tIPV6_HOPLIMIT                        = 0x34\n\tIPV6_HOPOPTS                         = 0x36\n\tIPV6_IPSEC_POLICY                    = 0x22\n\tIPV6_JOIN_ANYCAST                    = 0x1b\n\tIPV6_JOIN_GROUP                      = 0x14\n\tIPV6_LEAVE_ANYCAST                   = 0x1c\n\tIPV6_LEAVE_GROUP                     = 0x15\n\tIPV6_MINHOPCOUNT                     = 0x49\n\tIPV6_MTU                             = 0x18\n\tIPV6_MTU_DISCOVER                    = 0x17\n\tIPV6_MULTICAST_HOPS                  = 0x12\n\tIPV6_MULTICAST_IF                    = 0x11\n\tIPV6_MULTICAST_LOOP                  = 0x13\n\tIPV6_NEXTHOP                         = 0x9\n\tIPV6_ORIGDSTADDR                     = 0x4a\n\tIPV6_PATHMTU                         = 0x3d\n\tIPV6_PKTINFO                         = 0x32\n\tIPV6_PMTUDISC_DO                     = 0x2\n\tIPV6_PMTUDISC_DONT                   = 0x0\n\tIPV6_PMTUDISC_INTERFACE              = 0x4\n\tIPV6_PMTUDISC_OMIT                   = 0x5\n\tIPV6_PMTUDISC_PROBE                  = 0x3\n\tIPV6_PMTUDISC_WANT                   = 0x1\n\tIPV6_RECVDSTOPTS                     = 0x3a\n\tIPV6_RECVERR                         = 0x19\n\tIPV6_RECVFRAGSIZE                    = 0x4d\n\tIPV6_RECVHOPLIMIT                    = 0x33\n\tIPV6_RECVHOPOPTS                     = 0x35\n\tIPV6_RECVORIGDSTADDR                 = 0x4a\n\tIPV6_RECVPATHMTU                     = 0x3c\n\tIPV6_RECVPKTINFO                     = 0x31\n\tIPV6_RECVRTHDR                       = 0x38\n\tIPV6_RECVTCLASS                      = 0x42\n\tIPV6_ROUTER_ALERT                    = 0x16\n\tIPV6_RTHDR                           = 0x39\n\tIPV6_RTHDRDSTOPTS                    = 0x37\n\tIPV6_RTHDR_LOOSE                     = 0x0\n\tIPV6_RTHDR_STRICT                    = 0x1\n\tIPV6_RTHDR_TYPE_0                    = 0x0\n\tIPV6_RXDSTOPTS                       = 0x3b\n\tIPV6_RXHOPOPTS                       = 0x36\n\tIPV6_TCLASS                          = 0x43\n\tIPV6_TRANSPARENT                     = 0x4b\n\tIPV6_UNICAST_HOPS                    = 0x10\n\tIPV6_UNICAST_IF                      = 0x4c\n\tIPV6_V6ONLY                          = 0x1a\n\tIPV6_XFRM_POLICY                     = 0x23\n\tIP_ADD_MEMBERSHIP                    = 0x23\n\tIP_ADD_SOURCE_MEMBERSHIP             = 0x27\n\tIP_BIND_ADDRESS_NO_PORT              = 0x18\n\tIP_BLOCK_SOURCE                      = 0x26\n\tIP_CHECKSUM                          = 0x17\n\tIP_DEFAULT_MULTICAST_LOOP            = 0x1\n\tIP_DEFAULT_MULTICAST_TTL             = 0x1\n\tIP_DF                                = 0x4000\n\tIP_DROP_MEMBERSHIP                   = 0x24\n\tIP_DROP_SOURCE_MEMBERSHIP            = 0x28\n\tIP_FREEBIND                          = 0xf\n\tIP_HDRINCL                           = 0x3\n\tIP_IPSEC_POLICY                      = 0x10\n\tIP_MAXPACKET                         = 0xffff\n\tIP_MAX_MEMBERSHIPS                   = 0x14\n\tIP_MF                                = 0x2000\n\tIP_MINTTL                            = 0x15\n\tIP_MSFILTER                          = 0x29\n\tIP_MSS                               = 0x240\n\tIP_MTU                               = 0xe\n\tIP_MTU_DISCOVER                      = 0xa\n\tIP_MULTICAST_ALL                     = 0x31\n\tIP_MULTICAST_IF                      = 0x20\n\tIP_MULTICAST_LOOP                    = 0x22\n\tIP_MULTICAST_TTL                     = 0x21\n\tIP_NODEFRAG                          = 0x16\n\tIP_OFFMASK                           = 0x1fff\n\tIP_OPTIONS                           = 0x4\n\tIP_ORIGDSTADDR                       = 0x14\n\tIP_PASSSEC                           = 0x12\n\tIP_PKTINFO                           = 0x8\n\tIP_PKTOPTIONS                        = 0x9\n\tIP_PMTUDISC                          = 0xa\n\tIP_PMTUDISC_DO                       = 0x2\n\tIP_PMTUDISC_DONT                     = 0x0\n\tIP_PMTUDISC_INTERFACE                = 0x4\n\tIP_PMTUDISC_OMIT                     = 0x5\n\tIP_PMTUDISC_PROBE                    = 0x3\n\tIP_PMTUDISC_WANT                     = 0x1\n\tIP_RECVERR                           = 0xb\n\tIP_RECVFRAGSIZE                      = 0x19\n\tIP_RECVOPTS                          = 0x6\n\tIP_RECVORIGDSTADDR                   = 0x14\n\tIP_RECVRETOPTS                       = 0x7\n\tIP_RECVTOS                           = 0xd\n\tIP_RECVTTL                           = 0xc\n\tIP_RETOPTS                           = 0x7\n\tIP_RF                                = 0x8000\n\tIP_ROUTER_ALERT                      = 0x5\n\tIP_TOS                               = 0x1\n\tIP_TRANSPARENT                       = 0x13\n\tIP_TTL                               = 0x2\n\tIP_UNBLOCK_SOURCE                    = 0x25\n\tIP_UNICAST_IF                        = 0x32\n\tIP_XFRM_POLICY                       = 0x11\n\tISIG                                 = 0x1\n\tISOFS_SUPER_MAGIC                    = 0x9660\n\tISTRIP                               = 0x20\n\tIUCLC                                = 0x200\n\tIUTF8                                = 0x4000\n\tIXANY                                = 0x800\n\tIXOFF                                = 0x1000\n\tIXON                                 = 0x400\n\tJFFS2_SUPER_MAGIC                    = 0x72b6\n\tKEYCTL_ASSUME_AUTHORITY              = 0x10\n\tKEYCTL_CHOWN                         = 0x4\n\tKEYCTL_CLEAR                         = 0x7\n\tKEYCTL_DESCRIBE                      = 0x6\n\tKEYCTL_DH_COMPUTE                    = 0x17\n\tKEYCTL_GET_KEYRING_ID                = 0x0\n\tKEYCTL_GET_PERSISTENT                = 0x16\n\tKEYCTL_GET_SECURITY                  = 0x11\n\tKEYCTL_INSTANTIATE                   = 0xc\n\tKEYCTL_INSTANTIATE_IOV               = 0x14\n\tKEYCTL_INVALIDATE                    = 0x15\n\tKEYCTL_JOIN_SESSION_KEYRING          = 0x1\n\tKEYCTL_LINK                          = 0x8\n\tKEYCTL_NEGATE                        = 0xd\n\tKEYCTL_READ                          = 0xb\n\tKEYCTL_REJECT                        = 0x13\n\tKEYCTL_RESTRICT_KEYRING              = 0x1d\n\tKEYCTL_REVOKE                        = 0x3\n\tKEYCTL_SEARCH                        = 0xa\n\tKEYCTL_SESSION_TO_PARENT             = 0x12\n\tKEYCTL_SETPERM                       = 0x5\n\tKEYCTL_SET_REQKEY_KEYRING            = 0xe\n\tKEYCTL_SET_TIMEOUT                   = 0xf\n\tKEYCTL_UNLINK                        = 0x9\n\tKEYCTL_UPDATE                        = 0x2\n\tKEY_REQKEY_DEFL_DEFAULT              = 0x0\n\tKEY_REQKEY_DEFL_GROUP_KEYRING        = 0x6\n\tKEY_REQKEY_DEFL_NO_CHANGE            = -0x1\n\tKEY_REQKEY_DEFL_PROCESS_KEYRING      = 0x2\n\tKEY_REQKEY_DEFL_REQUESTOR_KEYRING    = 0x7\n\tKEY_REQKEY_DEFL_SESSION_KEYRING      = 0x3\n\tKEY_REQKEY_DEFL_THREAD_KEYRING       = 0x1\n\tKEY_REQKEY_DEFL_USER_KEYRING         = 0x4\n\tKEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5\n\tKEY_SPEC_GROUP_KEYRING               = -0x6\n\tKEY_SPEC_PROCESS_KEYRING             = -0x2\n\tKEY_SPEC_REQKEY_AUTH_KEY             = -0x7\n\tKEY_SPEC_REQUESTOR_KEYRING           = -0x8\n\tKEY_SPEC_SESSION_KEYRING             = -0x3\n\tKEY_SPEC_THREAD_KEYRING              = -0x1\n\tKEY_SPEC_USER_KEYRING                = -0x4\n\tKEY_SPEC_USER_SESSION_KEYRING        = -0x5\n\tLINUX_REBOOT_CMD_CAD_OFF             = 0x0\n\tLINUX_REBOOT_CMD_CAD_ON              = 0x89abcdef\n\tLINUX_REBOOT_CMD_HALT                = 0xcdef0123\n\tLINUX_REBOOT_CMD_KEXEC               = 0x45584543\n\tLINUX_REBOOT_CMD_POWER_OFF           = 0x4321fedc\n\tLINUX_REBOOT_CMD_RESTART             = 0x1234567\n\tLINUX_REBOOT_CMD_RESTART2            = 0xa1b2c3d4\n\tLINUX_REBOOT_CMD_SW_SUSPEND          = 0xd000fce2\n\tLINUX_REBOOT_MAGIC1                  = 0xfee1dead\n\tLINUX_REBOOT_MAGIC2                  = 0x28121969\n\tLOCK_EX                              = 0x2\n\tLOCK_NB                              = 0x4\n\tLOCK_SH                              = 0x1\n\tLOCK_UN                              = 0x8\n\tMADV_DODUMP                          = 0x11\n\tMADV_DOFORK                          = 0xb\n\tMADV_DONTDUMP                        = 0x10\n\tMADV_DONTFORK                        = 0xa\n\tMADV_DONTNEED                        = 0x4\n\tMADV_FREE                            = 0x8\n\tMADV_HUGEPAGE                        = 0xe\n\tMADV_HWPOISON                        = 0x64\n\tMADV_KEEPONFORK                      = 0x13\n\tMADV_MERGEABLE                       = 0xc\n\tMADV_NOHUGEPAGE                      = 0xf\n\tMADV_NORMAL                          = 0x0\n\tMADV_RANDOM                          = 0x1\n\tMADV_REMOVE                          = 0x9\n\tMADV_SEQUENTIAL                      = 0x2\n\tMADV_UNMERGEABLE                     = 0xd\n\tMADV_WILLNEED                        = 0x3\n\tMADV_WIPEONFORK                      = 0x12\n\tMAP_32BIT                            = 0x40\n\tMAP_ANON                             = 0x20\n\tMAP_ANONYMOUS                        = 0x20\n\tMAP_DENYWRITE                        = 0x800\n\tMAP_EXECUTABLE                       = 0x1000\n\tMAP_FILE                             = 0x0\n\tMAP_FIXED                            = 0x10\n\tMAP_FIXED_NOREPLACE                  = 0x100000\n\tMAP_GROWSDOWN                        = 0x100\n\tMAP_HUGETLB                          = 0x40000\n\tMAP_HUGE_MASK                        = 0x3f\n\tMAP_HUGE_SHIFT                       = 0x1a\n\tMAP_LOCKED                           = 0x2000\n\tMAP_NONBLOCK                         = 0x10000\n\tMAP_NORESERVE                        = 0x4000\n\tMAP_POPULATE                         = 0x8000\n\tMAP_PRIVATE                          = 0x2\n\tMAP_SHARED                           = 0x1\n\tMAP_SHARED_VALIDATE                  = 0x3\n\tMAP_STACK                            = 0x20000\n\tMAP_SYNC                             = 0x80000\n\tMAP_TYPE                             = 0xf\n\tMCL_CURRENT                          = 0x1\n\tMCL_FUTURE                           = 0x2\n\tMCL_ONFAULT                          = 0x4\n\tMINIX2_SUPER_MAGIC                   = 0x2468\n\tMINIX2_SUPER_MAGIC2                  = 0x2478\n\tMINIX3_SUPER_MAGIC                   = 0x4d5a\n\tMINIX_SUPER_MAGIC                    = 0x137f\n\tMINIX_SUPER_MAGIC2                   = 0x138f\n\tMNT_DETACH                           = 0x2\n\tMNT_EXPIRE                           = 0x4\n\tMNT_FORCE                            = 0x1\n\tMSDOS_SUPER_MAGIC                    = 0x4d44\n\tMSG_BATCH                            = 0x40000\n\tMSG_CMSG_CLOEXEC                     = 0x40000000\n\tMSG_CONFIRM                          = 0x800\n\tMSG_CTRUNC                           = 0x8\n\tMSG_DONTROUTE                        = 0x4\n\tMSG_DONTWAIT                         = 0x40\n\tMSG_EOR                              = 0x80\n\tMSG_ERRQUEUE                         = 0x2000\n\tMSG_FASTOPEN                         = 0x20000000\n\tMSG_FIN                              = 0x200\n\tMSG_MORE                             = 0x8000\n\tMSG_NOSIGNAL                         = 0x4000\n\tMSG_OOB                              = 0x1\n\tMSG_PEEK                             = 0x2\n\tMSG_PROXY                            = 0x10\n\tMSG_RST                              = 0x1000\n\tMSG_SYN                              = 0x400\n\tMSG_TRUNC                            = 0x20\n\tMSG_TRYHARD                          = 0x4\n\tMSG_WAITALL                          = 0x100\n\tMSG_WAITFORONE                       = 0x10000\n\tMSG_ZEROCOPY                         = 0x4000000\n\tMS_ACTIVE                            = 0x40000000\n\tMS_ASYNC                             = 0x1\n\tMS_BIND                              = 0x1000\n\tMS_BORN                              = 0x20000000\n\tMS_DIRSYNC                           = 0x80\n\tMS_INVALIDATE                        = 0x2\n\tMS_I_VERSION                         = 0x800000\n\tMS_KERNMOUNT                         = 0x400000\n\tMS_LAZYTIME                          = 0x2000000\n\tMS_MANDLOCK                          = 0x40\n\tMS_MGC_MSK                           = 0xffff0000\n\tMS_MGC_VAL                           = 0xc0ed0000\n\tMS_MOVE                              = 0x2000\n\tMS_NOATIME                           = 0x400\n\tMS_NODEV                             = 0x4\n\tMS_NODIRATIME                        = 0x800\n\tMS_NOEXEC                            = 0x8\n\tMS_NOREMOTELOCK                      = 0x8000000\n\tMS_NOSEC                             = 0x10000000\n\tMS_NOSUID                            = 0x2\n\tMS_NOUSER                            = -0x80000000\n\tMS_POSIXACL                          = 0x10000\n\tMS_PRIVATE                           = 0x40000\n\tMS_RDONLY                            = 0x1\n\tMS_REC                               = 0x4000\n\tMS_RELATIME                          = 0x200000\n\tMS_REMOUNT                           = 0x20\n\tMS_RMT_MASK                          = 0x2800051\n\tMS_SHARED                            = 0x100000\n\tMS_SILENT                            = 0x8000\n\tMS_SLAVE                             = 0x80000\n\tMS_STRICTATIME                       = 0x1000000\n\tMS_SUBMOUNT                          = 0x4000000\n\tMS_SYNC                              = 0x4\n\tMS_SYNCHRONOUS                       = 0x10\n\tMS_UNBINDABLE                        = 0x20000\n\tMS_VERBOSE                           = 0x8000\n\tMTD_INODE_FS_MAGIC                   = 0x11307854\n\tNAME_MAX                             = 0xff\n\tNCP_SUPER_MAGIC                      = 0x564c\n\tNETLINK_ADD_MEMBERSHIP               = 0x1\n\tNETLINK_AUDIT                        = 0x9\n\tNETLINK_BROADCAST_ERROR              = 0x4\n\tNETLINK_CAP_ACK                      = 0xa\n\tNETLINK_CONNECTOR                    = 0xb\n\tNETLINK_CRYPTO                       = 0x15\n\tNETLINK_DNRTMSG                      = 0xe\n\tNETLINK_DROP_MEMBERSHIP              = 0x2\n\tNETLINK_ECRYPTFS                     = 0x13\n\tNETLINK_EXT_ACK                      = 0xb\n\tNETLINK_FIB_LOOKUP                   = 0xa\n\tNETLINK_FIREWALL                     = 0x3\n\tNETLINK_GENERIC                      = 0x10\n\tNETLINK_INET_DIAG                    = 0x4\n\tNETLINK_IP6_FW                       = 0xd\n\tNETLINK_ISCSI                        = 0x8\n\tNETLINK_KOBJECT_UEVENT               = 0xf\n\tNETLINK_LISTEN_ALL_NSID              = 0x8\n\tNETLINK_LIST_MEMBERSHIPS             = 0x9\n\tNETLINK_NETFILTER                    = 0xc\n\tNETLINK_NFLOG                        = 0x5\n\tNETLINK_NO_ENOBUFS                   = 0x5\n\tNETLINK_PKTINFO                      = 0x3\n\tNETLINK_RDMA                         = 0x14\n\tNETLINK_ROUTE                        = 0x0\n\tNETLINK_RX_RING                      = 0x6\n\tNETLINK_SCSITRANSPORT                = 0x12\n\tNETLINK_SELINUX                      = 0x7\n\tNETLINK_SMC                          = 0x16\n\tNETLINK_SOCK_DIAG                    = 0x4\n\tNETLINK_TX_RING                      = 0x7\n\tNETLINK_UNUSED                       = 0x1\n\tNETLINK_USERSOCK                     = 0x2\n\tNETLINK_XFRM                         = 0x6\n\tNETNSA_MAX                           = 0x3\n\tNETNSA_NSID_NOT_ASSIGNED             = -0x1\n\tNFNETLINK_V0                         = 0x0\n\tNFNLGRP_ACCT_QUOTA                   = 0x8\n\tNFNLGRP_CONNTRACK_DESTROY            = 0x3\n\tNFNLGRP_CONNTRACK_EXP_DESTROY        = 0x6\n\tNFNLGRP_CONNTRACK_EXP_NEW            = 0x4\n\tNFNLGRP_CONNTRACK_EXP_UPDATE         = 0x5\n\tNFNLGRP_CONNTRACK_NEW                = 0x1\n\tNFNLGRP_CONNTRACK_UPDATE             = 0x2\n\tNFNLGRP_MAX                          = 0x9\n\tNFNLGRP_NFTABLES                     = 0x7\n\tNFNLGRP_NFTRACE                      = 0x9\n\tNFNLGRP_NONE                         = 0x0\n\tNFNL_BATCH_MAX                       = 0x1\n\tNFNL_MSG_BATCH_BEGIN                 = 0x10\n\tNFNL_MSG_BATCH_END                   = 0x11\n\tNFNL_NFA_NEST                        = 0x8000\n\tNFNL_SUBSYS_ACCT                     = 0x7\n\tNFNL_SUBSYS_COUNT                    = 0xc\n\tNFNL_SUBSYS_CTHELPER                 = 0x9\n\tNFNL_SUBSYS_CTNETLINK                = 0x1\n\tNFNL_SUBSYS_CTNETLINK_EXP            = 0x2\n\tNFNL_SUBSYS_CTNETLINK_TIMEOUT        = 0x8\n\tNFNL_SUBSYS_IPSET                    = 0x6\n\tNFNL_SUBSYS_NFTABLES                 = 0xa\n\tNFNL_SUBSYS_NFT_COMPAT               = 0xb\n\tNFNL_SUBSYS_NONE                     = 0x0\n\tNFNL_SUBSYS_OSF                      = 0x5\n\tNFNL_SUBSYS_QUEUE                    = 0x3\n\tNFNL_SUBSYS_ULOG                     = 0x4\n\tNFS_SUPER_MAGIC                      = 0x6969\n\tNILFS_SUPER_MAGIC                    = 0x3434\n\tNL0                                  = 0x0\n\tNL1                                  = 0x100\n\tNLA_ALIGNTO                          = 0x4\n\tNLA_F_NESTED                         = 0x8000\n\tNLA_F_NET_BYTEORDER                  = 0x4000\n\tNLA_HDRLEN                           = 0x4\n\tNLDLY                                = 0x100\n\tNLMSG_ALIGNTO                        = 0x4\n\tNLMSG_DONE                           = 0x3\n\tNLMSG_ERROR                          = 0x2\n\tNLMSG_HDRLEN                         = 0x10\n\tNLMSG_MIN_TYPE                       = 0x10\n\tNLMSG_NOOP                           = 0x1\n\tNLMSG_OVERRUN                        = 0x4\n\tNLM_F_ACK                            = 0x4\n\tNLM_F_ACK_TLVS                       = 0x200\n\tNLM_F_APPEND                         = 0x800\n\tNLM_F_ATOMIC                         = 0x400\n\tNLM_F_CAPPED                         = 0x100\n\tNLM_F_CREATE                         = 0x400\n\tNLM_F_DUMP                           = 0x300\n\tNLM_F_DUMP_FILTERED                  = 0x20\n\tNLM_F_DUMP_INTR                      = 0x10\n\tNLM_F_ECHO                           = 0x8\n\tNLM_F_EXCL                           = 0x200\n\tNLM_F_MATCH                          = 0x200\n\tNLM_F_MULTI                          = 0x2\n\tNLM_F_NONREC                         = 0x100\n\tNLM_F_REPLACE                        = 0x100\n\tNLM_F_REQUEST                        = 0x1\n\tNLM_F_ROOT                           = 0x100\n\tNOFLSH                               = 0x80\n\tNSFS_MAGIC                           = 0x6e736673\n\tOCFS2_SUPER_MAGIC                    = 0x7461636f\n\tOCRNL                                = 0x8\n\tOFDEL                                = 0x80\n\tOFILL                                = 0x40\n\tOLCUC                                = 0x2\n\tONLCR                                = 0x4\n\tONLRET                               = 0x20\n\tONOCR                                = 0x10\n\tOPENPROM_SUPER_MAGIC                 = 0x9fa1\n\tOPOST                                = 0x1\n\tOVERLAYFS_SUPER_MAGIC                = 0x794c7630\n\tO_ACCMODE                            = 0x3\n\tO_APPEND                             = 0x400\n\tO_ASYNC                              = 0x2000\n\tO_CLOEXEC                            = 0x80000\n\tO_CREAT                              = 0x40\n\tO_DIRECT                             = 0x4000\n\tO_DIRECTORY                          = 0x10000\n\tO_DSYNC                              = 0x1000\n\tO_EXCL                               = 0x80\n\tO_FSYNC                              = 0x101000\n\tO_LARGEFILE                          = 0x0\n\tO_NDELAY                             = 0x800\n\tO_NOATIME                            = 0x40000\n\tO_NOCTTY                             = 0x100\n\tO_NOFOLLOW                           = 0x20000\n\tO_NONBLOCK                           = 0x800\n\tO_PATH                               = 0x200000\n\tO_RDONLY                             = 0x0\n\tO_RDWR                               = 0x2\n\tO_RSYNC                              = 0x101000\n\tO_SYNC                               = 0x101000\n\tO_TMPFILE                            = 0x410000\n\tO_TRUNC                              = 0x200\n\tO_WRONLY                             = 0x1\n\tPACKET_ADD_MEMBERSHIP                = 0x1\n\tPACKET_AUXDATA                       = 0x8\n\tPACKET_BROADCAST                     = 0x1\n\tPACKET_COPY_THRESH                   = 0x7\n\tPACKET_DROP_MEMBERSHIP               = 0x2\n\tPACKET_FANOUT                        = 0x12\n\tPACKET_FANOUT_CBPF                   = 0x6\n\tPACKET_FANOUT_CPU                    = 0x2\n\tPACKET_FANOUT_DATA                   = 0x16\n\tPACKET_FANOUT_EBPF                   = 0x7\n\tPACKET_FANOUT_FLAG_DEFRAG            = 0x8000\n\tPACKET_FANOUT_FLAG_ROLLOVER          = 0x1000\n\tPACKET_FANOUT_FLAG_UNIQUEID          = 0x2000\n\tPACKET_FANOUT_HASH                   = 0x0\n\tPACKET_FANOUT_LB                     = 0x1\n\tPACKET_FANOUT_QM                     = 0x5\n\tPACKET_FANOUT_RND                    = 0x4\n\tPACKET_FANOUT_ROLLOVER               = 0x3\n\tPACKET_FASTROUTE                     = 0x6\n\tPACKET_HDRLEN                        = 0xb\n\tPACKET_HOST                          = 0x0\n\tPACKET_KERNEL                        = 0x7\n\tPACKET_LOOPBACK                      = 0x5\n\tPACKET_LOSS                          = 0xe\n\tPACKET_MR_ALLMULTI                   = 0x2\n\tPACKET_MR_MULTICAST                  = 0x0\n\tPACKET_MR_PROMISC                    = 0x1\n\tPACKET_MR_UNICAST                    = 0x3\n\tPACKET_MULTICAST                     = 0x2\n\tPACKET_ORIGDEV                       = 0x9\n\tPACKET_OTHERHOST                     = 0x3\n\tPACKET_OUTGOING                      = 0x4\n\tPACKET_QDISC_BYPASS                  = 0x14\n\tPACKET_RECV_OUTPUT                   = 0x3\n\tPACKET_RESERVE                       = 0xc\n\tPACKET_ROLLOVER_STATS                = 0x15\n\tPACKET_RX_RING                       = 0x5\n\tPACKET_STATISTICS                    = 0x6\n\tPACKET_TIMESTAMP                     = 0x11\n\tPACKET_TX_HAS_OFF                    = 0x13\n\tPACKET_TX_RING                       = 0xd\n\tPACKET_TX_TIMESTAMP                  = 0x10\n\tPACKET_USER                          = 0x6\n\tPACKET_VERSION                       = 0xa\n\tPACKET_VNET_HDR                      = 0xf\n\tPARENB                               = 0x100\n\tPARITY_CRC16_PR0                     = 0x2\n\tPARITY_CRC16_PR0_CCITT               = 0x4\n\tPARITY_CRC16_PR1                     = 0x3\n\tPARITY_CRC16_PR1_CCITT               = 0x5\n\tPARITY_CRC32_PR0_CCITT               = 0x6\n\tPARITY_CRC32_PR1_CCITT               = 0x7\n\tPARITY_DEFAULT                       = 0x0\n\tPARITY_NONE                          = 0x1\n\tPARMRK                               = 0x8\n\tPARODD                               = 0x200\n\tPENDIN                               = 0x4000\n\tPERF_EVENT_IOC_DISABLE               = 0x2401\n\tPERF_EVENT_IOC_ENABLE                = 0x2400\n\tPERF_EVENT_IOC_ID                    = 0x80082407\n\tPERF_EVENT_IOC_MODIFY_ATTRIBUTES     = 0x4008240b\n\tPERF_EVENT_IOC_PAUSE_OUTPUT          = 0x40042409\n\tPERF_EVENT_IOC_PERIOD                = 0x40082404\n\tPERF_EVENT_IOC_QUERY_BPF             = 0xc008240a\n\tPERF_EVENT_IOC_REFRESH               = 0x2402\n\tPERF_EVENT_IOC_RESET                 = 0x2403\n\tPERF_EVENT_IOC_SET_BPF               = 0x40042408\n\tPERF_EVENT_IOC_SET_FILTER            = 0x40082406\n\tPERF_EVENT_IOC_SET_OUTPUT            = 0x2405\n\tPIPEFS_MAGIC                         = 0x50495045\n\tPRIO_PGRP                            = 0x1\n\tPRIO_PROCESS                         = 0x0\n\tPRIO_USER                            = 0x2\n\tPROC_SUPER_MAGIC                     = 0x9fa0\n\tPROT_EXEC                            = 0x4\n\tPROT_GROWSDOWN                       = 0x1000000\n\tPROT_GROWSUP                         = 0x2000000\n\tPROT_NONE                            = 0x0\n\tPROT_READ                            = 0x1\n\tPROT_WRITE                           = 0x2\n\tPR_CAPBSET_DROP                      = 0x18\n\tPR_CAPBSET_READ                      = 0x17\n\tPR_CAP_AMBIENT                       = 0x2f\n\tPR_CAP_AMBIENT_CLEAR_ALL             = 0x4\n\tPR_CAP_AMBIENT_IS_SET                = 0x1\n\tPR_CAP_AMBIENT_LOWER                 = 0x3\n\tPR_CAP_AMBIENT_RAISE                 = 0x2\n\tPR_ENDIAN_BIG                        = 0x0\n\tPR_ENDIAN_LITTLE                     = 0x1\n\tPR_ENDIAN_PPC_LITTLE                 = 0x2\n\tPR_FPEMU_NOPRINT                     = 0x1\n\tPR_FPEMU_SIGFPE                      = 0x2\n\tPR_FP_EXC_ASYNC                      = 0x2\n\tPR_FP_EXC_DISABLED                   = 0x0\n\tPR_FP_EXC_DIV                        = 0x10000\n\tPR_FP_EXC_INV                        = 0x100000\n\tPR_FP_EXC_NONRECOV                   = 0x1\n\tPR_FP_EXC_OVF                        = 0x20000\n\tPR_FP_EXC_PRECISE                    = 0x3\n\tPR_FP_EXC_RES                        = 0x80000\n\tPR_FP_EXC_SW_ENABLE                  = 0x80\n\tPR_FP_EXC_UND                        = 0x40000\n\tPR_FP_MODE_FR                        = 0x1\n\tPR_FP_MODE_FRE                       = 0x2\n\tPR_GET_CHILD_SUBREAPER               = 0x25\n\tPR_GET_DUMPABLE                      = 0x3\n\tPR_GET_ENDIAN                        = 0x13\n\tPR_GET_FPEMU                         = 0x9\n\tPR_GET_FPEXC                         = 0xb\n\tPR_GET_FP_MODE                       = 0x2e\n\tPR_GET_KEEPCAPS                      = 0x7\n\tPR_GET_NAME                          = 0x10\n\tPR_GET_NO_NEW_PRIVS                  = 0x27\n\tPR_GET_PDEATHSIG                     = 0x2\n\tPR_GET_SECCOMP                       = 0x15\n\tPR_GET_SECUREBITS                    = 0x1b\n\tPR_GET_SPECULATION_CTRL              = 0x34\n\tPR_GET_THP_DISABLE                   = 0x2a\n\tPR_GET_TID_ADDRESS                   = 0x28\n\tPR_GET_TIMERSLACK                    = 0x1e\n\tPR_GET_TIMING                        = 0xd\n\tPR_GET_TSC                           = 0x19\n\tPR_GET_UNALIGN                       = 0x5\n\tPR_MCE_KILL                          = 0x21\n\tPR_MCE_KILL_CLEAR                    = 0x0\n\tPR_MCE_KILL_DEFAULT                  = 0x2\n\tPR_MCE_KILL_EARLY                    = 0x1\n\tPR_MCE_KILL_GET                      = 0x22\n\tPR_MCE_KILL_LATE                     = 0x0\n\tPR_MCE_KILL_SET                      = 0x1\n\tPR_MPX_DISABLE_MANAGEMENT            = 0x2c\n\tPR_MPX_ENABLE_MANAGEMENT             = 0x2b\n\tPR_SET_CHILD_SUBREAPER               = 0x24\n\tPR_SET_DUMPABLE                      = 0x4\n\tPR_SET_ENDIAN                        = 0x14\n\tPR_SET_FPEMU                         = 0xa\n\tPR_SET_FPEXC                         = 0xc\n\tPR_SET_FP_MODE                       = 0x2d\n\tPR_SET_KEEPCAPS                      = 0x8\n\tPR_SET_MM                            = 0x23\n\tPR_SET_MM_ARG_END                    = 0x9\n\tPR_SET_MM_ARG_START                  = 0x8\n\tPR_SET_MM_AUXV                       = 0xc\n\tPR_SET_MM_BRK                        = 0x7\n\tPR_SET_MM_END_CODE                   = 0x2\n\tPR_SET_MM_END_DATA                   = 0x4\n\tPR_SET_MM_ENV_END                    = 0xb\n\tPR_SET_MM_ENV_START                  = 0xa\n\tPR_SET_MM_EXE_FILE                   = 0xd\n\tPR_SET_MM_MAP                        = 0xe\n\tPR_SET_MM_MAP_SIZE                   = 0xf\n\tPR_SET_MM_START_BRK                  = 0x6\n\tPR_SET_MM_START_CODE                 = 0x1\n\tPR_SET_MM_START_DATA                 = 0x3\n\tPR_SET_MM_START_STACK                = 0x5\n\tPR_SET_NAME                          = 0xf\n\tPR_SET_NO_NEW_PRIVS                  = 0x26\n\tPR_SET_PDEATHSIG                     = 0x1\n\tPR_SET_PTRACER                       = 0x59616d61\n\tPR_SET_PTRACER_ANY                   = 0xffffffffffffffff\n\tPR_SET_SECCOMP                       = 0x16\n\tPR_SET_SECUREBITS                    = 0x1c\n\tPR_SET_SPECULATION_CTRL              = 0x35\n\tPR_SET_THP_DISABLE                   = 0x29\n\tPR_SET_TIMERSLACK                    = 0x1d\n\tPR_SET_TIMING                        = 0xe\n\tPR_SET_TSC                           = 0x1a\n\tPR_SET_UNALIGN                       = 0x6\n\tPR_SPEC_DISABLE                      = 0x4\n\tPR_SPEC_ENABLE                       = 0x2\n\tPR_SPEC_FORCE_DISABLE                = 0x8\n\tPR_SPEC_NOT_AFFECTED                 = 0x0\n\tPR_SPEC_PRCTL                        = 0x1\n\tPR_SPEC_STORE_BYPASS                 = 0x0\n\tPR_SVE_GET_VL                        = 0x33\n\tPR_SVE_SET_VL                        = 0x32\n\tPR_SVE_SET_VL_ONEXEC                 = 0x40000\n\tPR_SVE_VL_INHERIT                    = 0x20000\n\tPR_SVE_VL_LEN_MASK                   = 0xffff\n\tPR_TASK_PERF_EVENTS_DISABLE          = 0x1f\n\tPR_TASK_PERF_EVENTS_ENABLE           = 0x20\n\tPR_TIMING_STATISTICAL                = 0x0\n\tPR_TIMING_TIMESTAMP                  = 0x1\n\tPR_TSC_ENABLE                        = 0x1\n\tPR_TSC_SIGSEGV                       = 0x2\n\tPR_UNALIGN_NOPRINT                   = 0x1\n\tPR_UNALIGN_SIGBUS                    = 0x2\n\tPSTOREFS_MAGIC                       = 0x6165676c\n\tPTRACE_ARCH_PRCTL                    = 0x1e\n\tPTRACE_ATTACH                        = 0x10\n\tPTRACE_CONT                          = 0x7\n\tPTRACE_DETACH                        = 0x11\n\tPTRACE_EVENT_CLONE                   = 0x3\n\tPTRACE_EVENT_EXEC                    = 0x4\n\tPTRACE_EVENT_EXIT                    = 0x6\n\tPTRACE_EVENT_FORK                    = 0x1\n\tPTRACE_EVENT_SECCOMP                 = 0x7\n\tPTRACE_EVENT_STOP                    = 0x80\n\tPTRACE_EVENT_VFORK                   = 0x2\n\tPTRACE_EVENT_VFORK_DONE              = 0x5\n\tPTRACE_GETEVENTMSG                   = 0x4201\n\tPTRACE_GETFPREGS                     = 0xe\n\tPTRACE_GETFPXREGS                    = 0x12\n\tPTRACE_GETREGS                       = 0xc\n\tPTRACE_GETREGSET                     = 0x4204\n\tPTRACE_GETSIGINFO                    = 0x4202\n\tPTRACE_GETSIGMASK                    = 0x420a\n\tPTRACE_GET_THREAD_AREA               = 0x19\n\tPTRACE_INTERRUPT                     = 0x4207\n\tPTRACE_KILL                          = 0x8\n\tPTRACE_LISTEN                        = 0x4208\n\tPTRACE_OLDSETOPTIONS                 = 0x15\n\tPTRACE_O_EXITKILL                    = 0x100000\n\tPTRACE_O_MASK                        = 0x3000ff\n\tPTRACE_O_SUSPEND_SECCOMP             = 0x200000\n\tPTRACE_O_TRACECLONE                  = 0x8\n\tPTRACE_O_TRACEEXEC                   = 0x10\n\tPTRACE_O_TRACEEXIT                   = 0x40\n\tPTRACE_O_TRACEFORK                   = 0x2\n\tPTRACE_O_TRACESECCOMP                = 0x80\n\tPTRACE_O_TRACESYSGOOD                = 0x1\n\tPTRACE_O_TRACEVFORK                  = 0x4\n\tPTRACE_O_TRACEVFORKDONE              = 0x20\n\tPTRACE_PEEKDATA                      = 0x2\n\tPTRACE_PEEKSIGINFO                   = 0x4209\n\tPTRACE_PEEKSIGINFO_SHARED            = 0x1\n\tPTRACE_PEEKTEXT                      = 0x1\n\tPTRACE_PEEKUSR                       = 0x3\n\tPTRACE_POKEDATA                      = 0x5\n\tPTRACE_POKETEXT                      = 0x4\n\tPTRACE_POKEUSR                       = 0x6\n\tPTRACE_SECCOMP_GET_FILTER            = 0x420c\n\tPTRACE_SECCOMP_GET_METADATA          = 0x420d\n\tPTRACE_SEIZE                         = 0x4206\n\tPTRACE_SETFPREGS                     = 0xf\n\tPTRACE_SETFPXREGS                    = 0x13\n\tPTRACE_SETOPTIONS                    = 0x4200\n\tPTRACE_SETREGS                       = 0xd\n\tPTRACE_SETREGSET                     = 0x4205\n\tPTRACE_SETSIGINFO                    = 0x4203\n\tPTRACE_SETSIGMASK                    = 0x420b\n\tPTRACE_SET_THREAD_AREA               = 0x1a\n\tPTRACE_SINGLEBLOCK                   = 0x21\n\tPTRACE_SINGLESTEP                    = 0x9\n\tPTRACE_SYSCALL                       = 0x18\n\tPTRACE_SYSEMU                        = 0x1f\n\tPTRACE_SYSEMU_SINGLESTEP             = 0x20\n\tPTRACE_TRACEME                       = 0x0\n\tQNX4_SUPER_MAGIC                     = 0x2f\n\tQNX6_SUPER_MAGIC                     = 0x68191122\n\tRAMFS_MAGIC                          = 0x858458f6\n\tRDTGROUP_SUPER_MAGIC                 = 0x7655821\n\tREISERFS_SUPER_MAGIC                 = 0x52654973\n\tRENAME_EXCHANGE                      = 0x2\n\tRENAME_NOREPLACE                     = 0x1\n\tRENAME_WHITEOUT                      = 0x4\n\tRLIMIT_AS                            = 0x9\n\tRLIMIT_CORE                          = 0x4\n\tRLIMIT_CPU                           = 0x0\n\tRLIMIT_DATA                          = 0x2\n\tRLIMIT_FSIZE                         = 0x1\n\tRLIMIT_LOCKS                         = 0xa\n\tRLIMIT_MEMLOCK                       = 0x8\n\tRLIMIT_MSGQUEUE                      = 0xc\n\tRLIMIT_NICE                          = 0xd\n\tRLIMIT_NOFILE                        = 0x7\n\tRLIMIT_NPROC                         = 0x6\n\tRLIMIT_RSS                           = 0x5\n\tRLIMIT_RTPRIO                        = 0xe\n\tRLIMIT_RTTIME                        = 0xf\n\tRLIMIT_SIGPENDING                    = 0xb\n\tRLIMIT_STACK                         = 0x3\n\tRLIM_INFINITY                        = 0xffffffffffffffff\n\tRTAX_ADVMSS                          = 0x8\n\tRTAX_CC_ALGO                         = 0x10\n\tRTAX_CWND                            = 0x7\n\tRTAX_FASTOPEN_NO_COOKIE              = 0x11\n\tRTAX_FEATURES                        = 0xc\n\tRTAX_FEATURE_ALLFRAG                 = 0x8\n\tRTAX_FEATURE_ECN                     = 0x1\n\tRTAX_FEATURE_MASK                    = 0xf\n\tRTAX_FEATURE_SACK                    = 0x2\n\tRTAX_FEATURE_TIMESTAMP               = 0x4\n\tRTAX_HOPLIMIT                        = 0xa\n\tRTAX_INITCWND                        = 0xb\n\tRTAX_INITRWND                        = 0xe\n\tRTAX_LOCK                            = 0x1\n\tRTAX_MAX                             = 0x11\n\tRTAX_MTU                             = 0x2\n\tRTAX_QUICKACK                        = 0xf\n\tRTAX_REORDERING                      = 0x9\n\tRTAX_RTO_MIN                         = 0xd\n\tRTAX_RTT                             = 0x4\n\tRTAX_RTTVAR                          = 0x5\n\tRTAX_SSTHRESH                        = 0x6\n\tRTAX_UNSPEC                          = 0x0\n\tRTAX_WINDOW                          = 0x3\n\tRTA_ALIGNTO                          = 0x4\n\tRTA_MAX                              = 0x1d\n\tRTCF_DIRECTSRC                       = 0x4000000\n\tRTCF_DOREDIRECT                      = 0x1000000\n\tRTCF_LOG                             = 0x2000000\n\tRTCF_MASQ                            = 0x400000\n\tRTCF_NAT                             = 0x800000\n\tRTCF_VALVE                           = 0x200000\n\tRTC_AF                               = 0x20\n\tRTC_AIE_OFF                          = 0x7002\n\tRTC_AIE_ON                           = 0x7001\n\tRTC_ALM_READ                         = 0x80247008\n\tRTC_ALM_SET                          = 0x40247007\n\tRTC_EPOCH_READ                       = 0x8008700d\n\tRTC_EPOCH_SET                        = 0x4008700e\n\tRTC_IRQF                             = 0x80\n\tRTC_IRQP_READ                        = 0x8008700b\n\tRTC_IRQP_SET                         = 0x4008700c\n\tRTC_MAX_FREQ                         = 0x2000\n\tRTC_PF                               = 0x40\n\tRTC_PIE_OFF                          = 0x7006\n\tRTC_PIE_ON                           = 0x7005\n\tRTC_PLL_GET                          = 0x80207011\n\tRTC_PLL_SET                          = 0x40207012\n\tRTC_RD_TIME                          = 0x80247009\n\tRTC_SET_TIME                         = 0x4024700a\n\tRTC_UF                               = 0x10\n\tRTC_UIE_OFF                          = 0x7004\n\tRTC_UIE_ON                           = 0x7003\n\tRTC_VL_CLR                           = 0x7014\n\tRTC_VL_READ                          = 0x80047013\n\tRTC_WIE_OFF                          = 0x7010\n\tRTC_WIE_ON                           = 0x700f\n\tRTC_WKALM_RD                         = 0x80287010\n\tRTC_WKALM_SET                        = 0x4028700f\n\tRTF_ADDRCLASSMASK                    = 0xf8000000\n\tRTF_ADDRCONF                         = 0x40000\n\tRTF_ALLONLINK                        = 0x20000\n\tRTF_BROADCAST                        = 0x10000000\n\tRTF_CACHE                            = 0x1000000\n\tRTF_DEFAULT                          = 0x10000\n\tRTF_DYNAMIC                          = 0x10\n\tRTF_FLOW                             = 0x2000000\n\tRTF_GATEWAY                          = 0x2\n\tRTF_HOST                             = 0x4\n\tRTF_INTERFACE                        = 0x40000000\n\tRTF_IRTT                             = 0x100\n\tRTF_LINKRT                           = 0x100000\n\tRTF_LOCAL                            = 0x80000000\n\tRTF_MODIFIED                         = 0x20\n\tRTF_MSS                              = 0x40\n\tRTF_MTU                              = 0x40\n\tRTF_MULTICAST                        = 0x20000000\n\tRTF_NAT                              = 0x8000000\n\tRTF_NOFORWARD                        = 0x1000\n\tRTF_NONEXTHOP                        = 0x200000\n\tRTF_NOPMTUDISC                       = 0x4000\n\tRTF_POLICY                           = 0x4000000\n\tRTF_REINSTATE                        = 0x8\n\tRTF_REJECT                           = 0x200\n\tRTF_STATIC                           = 0x400\n\tRTF_THROW                            = 0x2000\n\tRTF_UP                               = 0x1\n\tRTF_WINDOW                           = 0x80\n\tRTF_XRESOLVE                         = 0x800\n\tRTM_BASE                             = 0x10\n\tRTM_DELACTION                        = 0x31\n\tRTM_DELADDR                          = 0x15\n\tRTM_DELADDRLABEL                     = 0x49\n\tRTM_DELLINK                          = 0x11\n\tRTM_DELMDB                           = 0x55\n\tRTM_DELNEIGH                         = 0x1d\n\tRTM_DELNETCONF                       = 0x51\n\tRTM_DELNSID                          = 0x59\n\tRTM_DELQDISC                         = 0x25\n\tRTM_DELROUTE                         = 0x19\n\tRTM_DELRULE                          = 0x21\n\tRTM_DELTCLASS                        = 0x29\n\tRTM_DELTFILTER                       = 0x2d\n\tRTM_F_CLONED                         = 0x200\n\tRTM_F_EQUALIZE                       = 0x400\n\tRTM_F_FIB_MATCH                      = 0x2000\n\tRTM_F_LOOKUP_TABLE                   = 0x1000\n\tRTM_F_NOTIFY                         = 0x100\n\tRTM_F_PREFIX                         = 0x800\n\tRTM_GETACTION                        = 0x32\n\tRTM_GETADDR                          = 0x16\n\tRTM_GETADDRLABEL                     = 0x4a\n\tRTM_GETANYCAST                       = 0x3e\n\tRTM_GETDCB                           = 0x4e\n\tRTM_GETLINK                          = 0x12\n\tRTM_GETMDB                           = 0x56\n\tRTM_GETMULTICAST                     = 0x3a\n\tRTM_GETNEIGH                         = 0x1e\n\tRTM_GETNEIGHTBL                      = 0x42\n\tRTM_GETNETCONF                       = 0x52\n\tRTM_GETNSID                          = 0x5a\n\tRTM_GETQDISC                         = 0x26\n\tRTM_GETROUTE                         = 0x1a\n\tRTM_GETRULE                          = 0x22\n\tRTM_GETSTATS                         = 0x5e\n\tRTM_GETTCLASS                        = 0x2a\n\tRTM_GETTFILTER                       = 0x2e\n\tRTM_MAX                              = 0x63\n\tRTM_NEWACTION                        = 0x30\n\tRTM_NEWADDR                          = 0x14\n\tRTM_NEWADDRLABEL                     = 0x48\n\tRTM_NEWCACHEREPORT                   = 0x60\n\tRTM_NEWLINK                          = 0x10\n\tRTM_NEWMDB                           = 0x54\n\tRTM_NEWNDUSEROPT                     = 0x44\n\tRTM_NEWNEIGH                         = 0x1c\n\tRTM_NEWNEIGHTBL                      = 0x40\n\tRTM_NEWNETCONF                       = 0x50\n\tRTM_NEWNSID                          = 0x58\n\tRTM_NEWPREFIX                        = 0x34\n\tRTM_NEWQDISC                         = 0x24\n\tRTM_NEWROUTE                         = 0x18\n\tRTM_NEWRULE                          = 0x20\n\tRTM_NEWSTATS                         = 0x5c\n\tRTM_NEWTCLASS                        = 0x28\n\tRTM_NEWTFILTER                       = 0x2c\n\tRTM_NR_FAMILIES                      = 0x15\n\tRTM_NR_MSGTYPES                      = 0x54\n\tRTM_SETDCB                           = 0x4f\n\tRTM_SETLINK                          = 0x13\n\tRTM_SETNEIGHTBL                      = 0x43\n\tRTNH_ALIGNTO                         = 0x4\n\tRTNH_COMPARE_MASK                    = 0x19\n\tRTNH_F_DEAD                          = 0x1\n\tRTNH_F_LINKDOWN                      = 0x10\n\tRTNH_F_OFFLOAD                       = 0x8\n\tRTNH_F_ONLINK                        = 0x4\n\tRTNH_F_PERVASIVE                     = 0x2\n\tRTNH_F_UNRESOLVED                    = 0x20\n\tRTN_MAX                              = 0xb\n\tRTPROT_BABEL                         = 0x2a\n\tRTPROT_BGP                           = 0xba\n\tRTPROT_BIRD                          = 0xc\n\tRTPROT_BOOT                          = 0x3\n\tRTPROT_DHCP                          = 0x10\n\tRTPROT_DNROUTED                      = 0xd\n\tRTPROT_EIGRP                         = 0xc0\n\tRTPROT_GATED                         = 0x8\n\tRTPROT_ISIS                          = 0xbb\n\tRTPROT_KERNEL                        = 0x2\n\tRTPROT_MROUTED                       = 0x11\n\tRTPROT_MRT                           = 0xa\n\tRTPROT_NTK                           = 0xf\n\tRTPROT_OSPF                          = 0xbc\n\tRTPROT_RA                            = 0x9\n\tRTPROT_REDIRECT                      = 0x1\n\tRTPROT_RIP                           = 0xbd\n\tRTPROT_STATIC                        = 0x4\n\tRTPROT_UNSPEC                        = 0x0\n\tRTPROT_XORP                          = 0xe\n\tRTPROT_ZEBRA                         = 0xb\n\tRT_CLASS_DEFAULT                     = 0xfd\n\tRT_CLASS_LOCAL                       = 0xff\n\tRT_CLASS_MAIN                        = 0xfe\n\tRT_CLASS_MAX                         = 0xff\n\tRT_CLASS_UNSPEC                      = 0x0\n\tRUSAGE_CHILDREN                      = -0x1\n\tRUSAGE_SELF                          = 0x0\n\tRUSAGE_THREAD                        = 0x1\n\tSCM_CREDENTIALS                      = 0x2\n\tSCM_RIGHTS                           = 0x1\n\tSCM_TIMESTAMP                        = 0x1d\n\tSCM_TIMESTAMPING                     = 0x25\n\tSCM_TIMESTAMPING_OPT_STATS           = 0x36\n\tSCM_TIMESTAMPING_PKTINFO             = 0x3a\n\tSCM_TIMESTAMPNS                      = 0x23\n\tSCM_WIFI_STATUS                      = 0x29\n\tSECCOMP_MODE_DISABLED                = 0x0\n\tSECCOMP_MODE_FILTER                  = 0x2\n\tSECCOMP_MODE_STRICT                  = 0x1\n\tSECURITYFS_MAGIC                     = 0x73636673\n\tSELINUX_MAGIC                        = 0xf97cff8c\n\tSHUT_RD                              = 0x0\n\tSHUT_RDWR                            = 0x2\n\tSHUT_WR                              = 0x1\n\tSIOCADDDLCI                          = 0x8980\n\tSIOCADDMULTI                         = 0x8931\n\tSIOCADDRT                            = 0x890b\n\tSIOCATMARK                           = 0x8905\n\tSIOCBONDCHANGEACTIVE                 = 0x8995\n\tSIOCBONDENSLAVE                      = 0x8990\n\tSIOCBONDINFOQUERY                    = 0x8994\n\tSIOCBONDRELEASE                      = 0x8991\n\tSIOCBONDSETHWADDR                    = 0x8992\n\tSIOCBONDSLAVEINFOQUERY               = 0x8993\n\tSIOCBRADDBR                          = 0x89a0\n\tSIOCBRADDIF                          = 0x89a2\n\tSIOCBRDELBR                          = 0x89a1\n\tSIOCBRDELIF                          = 0x89a3\n\tSIOCDARP                             = 0x8953\n\tSIOCDELDLCI                          = 0x8981\n\tSIOCDELMULTI                         = 0x8932\n\tSIOCDELRT                            = 0x890c\n\tSIOCDEVPRIVATE                       = 0x89f0\n\tSIOCDIFADDR                          = 0x8936\n\tSIOCDRARP                            = 0x8960\n\tSIOCETHTOOL                          = 0x8946\n\tSIOCGARP                             = 0x8954\n\tSIOCGHWTSTAMP                        = 0x89b1\n\tSIOCGIFADDR                          = 0x8915\n\tSIOCGIFBR                            = 0x8940\n\tSIOCGIFBRDADDR                       = 0x8919\n\tSIOCGIFCONF                          = 0x8912\n\tSIOCGIFCOUNT                         = 0x8938\n\tSIOCGIFDSTADDR                       = 0x8917\n\tSIOCGIFENCAP                         = 0x8925\n\tSIOCGIFFLAGS                         = 0x8913\n\tSIOCGIFHWADDR                        = 0x8927\n\tSIOCGIFINDEX                         = 0x8933\n\tSIOCGIFMAP                           = 0x8970\n\tSIOCGIFMEM                           = 0x891f\n\tSIOCGIFMETRIC                        = 0x891d\n\tSIOCGIFMTU                           = 0x8921\n\tSIOCGIFNAME                          = 0x8910\n\tSIOCGIFNETMASK                       = 0x891b\n\tSIOCGIFPFLAGS                        = 0x8935\n\tSIOCGIFSLAVE                         = 0x8929\n\tSIOCGIFTXQLEN                        = 0x8942\n\tSIOCGIFVLAN                          = 0x8982\n\tSIOCGMIIPHY                          = 0x8947\n\tSIOCGMIIREG                          = 0x8948\n\tSIOCGPGRP                            = 0x8904\n\tSIOCGRARP                            = 0x8961\n\tSIOCGSKNS                            = 0x894c\n\tSIOCGSTAMP                           = 0x8906\n\tSIOCGSTAMPNS                         = 0x8907\n\tSIOCINQ                              = 0x541b\n\tSIOCOUTQ                             = 0x5411\n\tSIOCOUTQNSD                          = 0x894b\n\tSIOCPROTOPRIVATE                     = 0x89e0\n\tSIOCRTMSG                            = 0x890d\n\tSIOCSARP                             = 0x8955\n\tSIOCSHWTSTAMP                        = 0x89b0\n\tSIOCSIFADDR                          = 0x8916\n\tSIOCSIFBR                            = 0x8941\n\tSIOCSIFBRDADDR                       = 0x891a\n\tSIOCSIFDSTADDR                       = 0x8918\n\tSIOCSIFENCAP                         = 0x8926\n\tSIOCSIFFLAGS                         = 0x8914\n\tSIOCSIFHWADDR                        = 0x8924\n\tSIOCSIFHWBROADCAST                   = 0x8937\n\tSIOCSIFLINK                          = 0x8911\n\tSIOCSIFMAP                           = 0x8971\n\tSIOCSIFMEM                           = 0x8920\n\tSIOCSIFMETRIC                        = 0x891e\n\tSIOCSIFMTU                           = 0x8922\n\tSIOCSIFNAME                          = 0x8923\n\tSIOCSIFNETMASK                       = 0x891c\n\tSIOCSIFPFLAGS                        = 0x8934\n\tSIOCSIFSLAVE                         = 0x8930\n\tSIOCSIFTXQLEN                        = 0x8943\n\tSIOCSIFVLAN                          = 0x8983\n\tSIOCSMIIREG                          = 0x8949\n\tSIOCSPGRP                            = 0x8902\n\tSIOCSRARP                            = 0x8962\n\tSIOCWANDEV                           = 0x894a\n\tSMACK_MAGIC                          = 0x43415d53\n\tSMART_AUTOSAVE                       = 0xd2\n\tSMART_AUTO_OFFLINE                   = 0xdb\n\tSMART_DISABLE                        = 0xd9\n\tSMART_ENABLE                         = 0xd8\n\tSMART_HCYL_PASS                      = 0xc2\n\tSMART_IMMEDIATE_OFFLINE              = 0xd4\n\tSMART_LCYL_PASS                      = 0x4f\n\tSMART_READ_LOG_SECTOR                = 0xd5\n\tSMART_READ_THRESHOLDS                = 0xd1\n\tSMART_READ_VALUES                    = 0xd0\n\tSMART_SAVE                           = 0xd3\n\tSMART_STATUS                         = 0xda\n\tSMART_WRITE_LOG_SECTOR               = 0xd6\n\tSMART_WRITE_THRESHOLDS               = 0xd7\n\tSMB_SUPER_MAGIC                      = 0x517b\n\tSOCKFS_MAGIC                         = 0x534f434b\n\tSOCK_CLOEXEC                         = 0x80000\n\tSOCK_DCCP                            = 0x6\n\tSOCK_DGRAM                           = 0x2\n\tSOCK_IOC_TYPE                        = 0x89\n\tSOCK_NONBLOCK                        = 0x800\n\tSOCK_PACKET                          = 0xa\n\tSOCK_RAW                             = 0x3\n\tSOCK_RDM                             = 0x4\n\tSOCK_SEQPACKET                       = 0x5\n\tSOCK_STREAM                          = 0x1\n\tSOL_AAL                              = 0x109\n\tSOL_ALG                              = 0x117\n\tSOL_ATM                              = 0x108\n\tSOL_CAIF                             = 0x116\n\tSOL_CAN_BASE                         = 0x64\n\tSOL_DCCP                             = 0x10d\n\tSOL_DECNET                           = 0x105\n\tSOL_ICMPV6                           = 0x3a\n\tSOL_IP                               = 0x0\n\tSOL_IPV6                             = 0x29\n\tSOL_IRDA                             = 0x10a\n\tSOL_IUCV                             = 0x115\n\tSOL_KCM                              = 0x119\n\tSOL_LLC                              = 0x10c\n\tSOL_NETBEUI                          = 0x10b\n\tSOL_NETLINK                          = 0x10e\n\tSOL_NFC                              = 0x118\n\tSOL_PACKET                           = 0x107\n\tSOL_PNPIPE                           = 0x113\n\tSOL_PPPOL2TP                         = 0x111\n\tSOL_RAW                              = 0xff\n\tSOL_RDS                              = 0x114\n\tSOL_RXRPC                            = 0x110\n\tSOL_SOCKET                           = 0x1\n\tSOL_TCP                              = 0x6\n\tSOL_TIPC                             = 0x10f\n\tSOL_TLS                              = 0x11a\n\tSOL_X25                              = 0x106\n\tSOMAXCONN                            = 0x80\n\tSO_ACCEPTCONN                        = 0x1e\n\tSO_ATTACH_BPF                        = 0x32\n\tSO_ATTACH_FILTER                     = 0x1a\n\tSO_ATTACH_REUSEPORT_CBPF             = 0x33\n\tSO_ATTACH_REUSEPORT_EBPF             = 0x34\n\tSO_BINDTODEVICE                      = 0x19\n\tSO_BPF_EXTENSIONS                    = 0x30\n\tSO_BROADCAST                         = 0x6\n\tSO_BSDCOMPAT                         = 0xe\n\tSO_BUSY_POLL                         = 0x2e\n\tSO_CNX_ADVICE                        = 0x35\n\tSO_COOKIE                            = 0x39\n\tSO_DEBUG                             = 0x1\n\tSO_DETACH_BPF                        = 0x1b\n\tSO_DETACH_FILTER                     = 0x1b\n\tSO_DOMAIN                            = 0x27\n\tSO_DONTROUTE                         = 0x5\n\tSO_ERROR                             = 0x4\n\tSO_GET_FILTER                        = 0x1a\n\tSO_INCOMING_CPU                      = 0x31\n\tSO_INCOMING_NAPI_ID                  = 0x38\n\tSO_KEEPALIVE                         = 0x9\n\tSO_LINGER                            = 0xd\n\tSO_LOCK_FILTER                       = 0x2c\n\tSO_MARK                              = 0x24\n\tSO_MAX_PACING_RATE                   = 0x2f\n\tSO_MEMINFO                           = 0x37\n\tSO_NOFCS                             = 0x2b\n\tSO_NO_CHECK                          = 0xb\n\tSO_OOBINLINE                         = 0xa\n\tSO_PASSCRED                          = 0x10\n\tSO_PASSSEC                           = 0x22\n\tSO_PEEK_OFF                          = 0x2a\n\tSO_PEERCRED                          = 0x11\n\tSO_PEERGROUPS                        = 0x3b\n\tSO_PEERNAME                          = 0x1c\n\tSO_PEERSEC                           = 0x1f\n\tSO_PRIORITY                          = 0xc\n\tSO_PROTOCOL                          = 0x26\n\tSO_RCVBUF                            = 0x8\n\tSO_RCVBUFFORCE                       = 0x21\n\tSO_RCVLOWAT                          = 0x12\n\tSO_RCVTIMEO                          = 0x14\n\tSO_REUSEADDR                         = 0x2\n\tSO_REUSEPORT                         = 0xf\n\tSO_RXQ_OVFL                          = 0x28\n\tSO_SECURITY_AUTHENTICATION           = 0x16\n\tSO_SECURITY_ENCRYPTION_NETWORK       = 0x18\n\tSO_SECURITY_ENCRYPTION_TRANSPORT     = 0x17\n\tSO_SELECT_ERR_QUEUE                  = 0x2d\n\tSO_SNDBUF                            = 0x7\n\tSO_SNDBUFFORCE                       = 0x20\n\tSO_SNDLOWAT                          = 0x13\n\tSO_SNDTIMEO                          = 0x15\n\tSO_TIMESTAMP                         = 0x1d\n\tSO_TIMESTAMPING                      = 0x25\n\tSO_TIMESTAMPNS                       = 0x23\n\tSO_TYPE                              = 0x3\n\tSO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2\n\tSO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1\n\tSO_VM_SOCKETS_BUFFER_SIZE            = 0x0\n\tSO_VM_SOCKETS_CONNECT_TIMEOUT        = 0x6\n\tSO_VM_SOCKETS_NONBLOCK_TXRX          = 0x7\n\tSO_VM_SOCKETS_PEER_HOST_VM_ID        = 0x3\n\tSO_VM_SOCKETS_TRUSTED                = 0x5\n\tSO_WIFI_STATUS                       = 0x29\n\tSO_ZEROCOPY                          = 0x3c\n\tSPLICE_F_GIFT                        = 0x8\n\tSPLICE_F_MORE                        = 0x4\n\tSPLICE_F_MOVE                        = 0x1\n\tSPLICE_F_NONBLOCK                    = 0x2\n\tSQUASHFS_MAGIC                       = 0x73717368\n\tSTACK_END_MAGIC                      = 0x57ac6e9d\n\tSTATX_ALL                            = 0xfff\n\tSTATX_ATIME                          = 0x20\n\tSTATX_ATTR_APPEND                    = 0x20\n\tSTATX_ATTR_AUTOMOUNT                 = 0x1000\n\tSTATX_ATTR_COMPRESSED                = 0x4\n\tSTATX_ATTR_ENCRYPTED                 = 0x800\n\tSTATX_ATTR_IMMUTABLE                 = 0x10\n\tSTATX_ATTR_NODUMP                    = 0x40\n\tSTATX_BASIC_STATS                    = 0x7ff\n\tSTATX_BLOCKS                         = 0x400\n\tSTATX_BTIME                          = 0x800\n\tSTATX_CTIME                          = 0x80\n\tSTATX_GID                            = 0x10\n\tSTATX_INO                            = 0x100\n\tSTATX_MODE                           = 0x2\n\tSTATX_MTIME                          = 0x40\n\tSTATX_NLINK                          = 0x4\n\tSTATX_SIZE                           = 0x200\n\tSTATX_TYPE                           = 0x1\n\tSTATX_UID                            = 0x8\n\tSTATX__RESERVED                      = 0x80000000\n\tSYSFS_MAGIC                          = 0x62656572\n\tS_BLKSIZE                            = 0x200\n\tS_IEXEC                              = 0x40\n\tS_IFBLK                              = 0x6000\n\tS_IFCHR                              = 0x2000\n\tS_IFDIR                              = 0x4000\n\tS_IFIFO                              = 0x1000\n\tS_IFLNK                              = 0xa000\n\tS_IFMT                               = 0xf000\n\tS_IFREG                              = 0x8000\n\tS_IFSOCK                             = 0xc000\n\tS_IREAD                              = 0x100\n\tS_IRGRP                              = 0x20\n\tS_IROTH                              = 0x4\n\tS_IRUSR                              = 0x100\n\tS_IRWXG                              = 0x38\n\tS_IRWXO                              = 0x7\n\tS_IRWXU                              = 0x1c0\n\tS_ISGID                              = 0x400\n\tS_ISUID                              = 0x800\n\tS_ISVTX                              = 0x200\n\tS_IWGRP                              = 0x10\n\tS_IWOTH                              = 0x2\n\tS_IWRITE                             = 0x80\n\tS_IWUSR                              = 0x80\n\tS_IXGRP                              = 0x8\n\tS_IXOTH                              = 0x1\n\tS_IXUSR                              = 0x40\n\tTAB0                                 = 0x0\n\tTAB1                                 = 0x800\n\tTAB2                                 = 0x1000\n\tTAB3                                 = 0x1800\n\tTABDLY                               = 0x1800\n\tTASKSTATS_CMD_ATTR_MAX               = 0x4\n\tTASKSTATS_CMD_MAX                    = 0x2\n\tTASKSTATS_GENL_NAME                  = \"TASKSTATS\"\n\tTASKSTATS_GENL_VERSION               = 0x1\n\tTASKSTATS_TYPE_MAX                   = 0x6\n\tTASKSTATS_VERSION                    = 0x8\n\tTCFLSH                               = 0x540b\n\tTCGETA                               = 0x5405\n\tTCGETS                               = 0x5401\n\tTCGETS2                              = 0x802c542a\n\tTCGETX                               = 0x5432\n\tTCIFLUSH                             = 0x0\n\tTCIOFF                               = 0x2\n\tTCIOFLUSH                            = 0x2\n\tTCION                                = 0x3\n\tTCOFLUSH                             = 0x1\n\tTCOOFF                               = 0x0\n\tTCOON                                = 0x1\n\tTCP_CC_INFO                          = 0x1a\n\tTCP_CONGESTION                       = 0xd\n\tTCP_COOKIE_IN_ALWAYS                 = 0x1\n\tTCP_COOKIE_MAX                       = 0x10\n\tTCP_COOKIE_MIN                       = 0x8\n\tTCP_COOKIE_OUT_NEVER                 = 0x2\n\tTCP_COOKIE_PAIR_SIZE                 = 0x20\n\tTCP_COOKIE_TRANSACTIONS              = 0xf\n\tTCP_CORK                             = 0x3\n\tTCP_DEFER_ACCEPT                     = 0x9\n\tTCP_FASTOPEN                         = 0x17\n\tTCP_FASTOPEN_CONNECT                 = 0x1e\n\tTCP_FASTOPEN_KEY                     = 0x21\n\tTCP_FASTOPEN_NO_COOKIE               = 0x22\n\tTCP_INFO                             = 0xb\n\tTCP_KEEPCNT                          = 0x6\n\tTCP_KEEPIDLE                         = 0x4\n\tTCP_KEEPINTVL                        = 0x5\n\tTCP_LINGER2                          = 0x8\n\tTCP_MAXSEG                           = 0x2\n\tTCP_MAXWIN                           = 0xffff\n\tTCP_MAX_WINSHIFT                     = 0xe\n\tTCP_MD5SIG                           = 0xe\n\tTCP_MD5SIG_EXT                       = 0x20\n\tTCP_MD5SIG_FLAG_PREFIX               = 0x1\n\tTCP_MD5SIG_MAXKEYLEN                 = 0x50\n\tTCP_MSS                              = 0x200\n\tTCP_MSS_DEFAULT                      = 0x218\n\tTCP_MSS_DESIRED                      = 0x4c4\n\tTCP_NODELAY                          = 0x1\n\tTCP_NOTSENT_LOWAT                    = 0x19\n\tTCP_QUEUE_SEQ                        = 0x15\n\tTCP_QUICKACK                         = 0xc\n\tTCP_REPAIR                           = 0x13\n\tTCP_REPAIR_OPTIONS                   = 0x16\n\tTCP_REPAIR_QUEUE                     = 0x14\n\tTCP_REPAIR_WINDOW                    = 0x1d\n\tTCP_SAVED_SYN                        = 0x1c\n\tTCP_SAVE_SYN                         = 0x1b\n\tTCP_SYNCNT                           = 0x7\n\tTCP_S_DATA_IN                        = 0x4\n\tTCP_S_DATA_OUT                       = 0x8\n\tTCP_THIN_DUPACK                      = 0x11\n\tTCP_THIN_LINEAR_TIMEOUTS             = 0x10\n\tTCP_TIMESTAMP                        = 0x18\n\tTCP_ULP                              = 0x1f\n\tTCP_USER_TIMEOUT                     = 0x12\n\tTCP_WINDOW_CLAMP                     = 0xa\n\tTCSAFLUSH                            = 0x2\n\tTCSBRK                               = 0x5409\n\tTCSBRKP                              = 0x5425\n\tTCSETA                               = 0x5406\n\tTCSETAF                              = 0x5408\n\tTCSETAW                              = 0x5407\n\tTCSETS                               = 0x5402\n\tTCSETS2                              = 0x402c542b\n\tTCSETSF                              = 0x5404\n\tTCSETSF2                             = 0x402c542d\n\tTCSETSW                              = 0x5403\n\tTCSETSW2                             = 0x402c542c\n\tTCSETX                               = 0x5433\n\tTCSETXF                              = 0x5434\n\tTCSETXW                              = 0x5435\n\tTCXONC                               = 0x540a\n\tTIOCCBRK                             = 0x5428\n\tTIOCCONS                             = 0x541d\n\tTIOCEXCL                             = 0x540c\n\tTIOCGDEV                             = 0x80045432\n\tTIOCGETD                             = 0x5424\n\tTIOCGEXCL                            = 0x80045440\n\tTIOCGICOUNT                          = 0x545d\n\tTIOCGLCKTRMIOS                       = 0x5456\n\tTIOCGPGRP                            = 0x540f\n\tTIOCGPKT                             = 0x80045438\n\tTIOCGPTLCK                           = 0x80045439\n\tTIOCGPTN                             = 0x80045430\n\tTIOCGPTPEER                          = 0x5441\n\tTIOCGRS485                           = 0x542e\n\tTIOCGSERIAL                          = 0x541e\n\tTIOCGSID                             = 0x5429\n\tTIOCGSOFTCAR                         = 0x5419\n\tTIOCGWINSZ                           = 0x5413\n\tTIOCINQ                              = 0x541b\n\tTIOCLINUX                            = 0x541c\n\tTIOCMBIC                             = 0x5417\n\tTIOCMBIS                             = 0x5416\n\tTIOCMGET                             = 0x5415\n\tTIOCMIWAIT                           = 0x545c\n\tTIOCMSET                             = 0x5418\n\tTIOCM_CAR                            = 0x40\n\tTIOCM_CD                             = 0x40\n\tTIOCM_CTS                            = 0x20\n\tTIOCM_DSR                            = 0x100\n\tTIOCM_DTR                            = 0x2\n\tTIOCM_LE                             = 0x1\n\tTIOCM_RI                             = 0x80\n\tTIOCM_RNG                            = 0x80\n\tTIOCM_RTS                            = 0x4\n\tTIOCM_SR                             = 0x10\n\tTIOCM_ST                             = 0x8\n\tTIOCNOTTY                            = 0x5422\n\tTIOCNXCL                             = 0x540d\n\tTIOCOUTQ                             = 0x5411\n\tTIOCPKT                              = 0x5420\n\tTIOCPKT_DATA                         = 0x0\n\tTIOCPKT_DOSTOP                       = 0x20\n\tTIOCPKT_FLUSHREAD                    = 0x1\n\tTIOCPKT_FLUSHWRITE                   = 0x2\n\tTIOCPKT_IOCTL                        = 0x40\n\tTIOCPKT_NOSTOP                       = 0x10\n\tTIOCPKT_START                        = 0x8\n\tTIOCPKT_STOP                         = 0x4\n\tTIOCSBRK                             = 0x5427\n\tTIOCSCTTY                            = 0x540e\n\tTIOCSERCONFIG                        = 0x5453\n\tTIOCSERGETLSR                        = 0x5459\n\tTIOCSERGETMULTI                      = 0x545a\n\tTIOCSERGSTRUCT                       = 0x5458\n\tTIOCSERGWILD                         = 0x5454\n\tTIOCSERSETMULTI                      = 0x545b\n\tTIOCSERSWILD                         = 0x5455\n\tTIOCSER_TEMT                         = 0x1\n\tTIOCSETD                             = 0x5423\n\tTIOCSIG                              = 0x40045436\n\tTIOCSLCKTRMIOS                       = 0x5457\n\tTIOCSPGRP                            = 0x5410\n\tTIOCSPTLCK                           = 0x40045431\n\tTIOCSRS485                           = 0x542f\n\tTIOCSSERIAL                          = 0x541f\n\tTIOCSSOFTCAR                         = 0x541a\n\tTIOCSTI                              = 0x5412\n\tTIOCSWINSZ                           = 0x5414\n\tTIOCVHANGUP                          = 0x5437\n\tTMPFS_MAGIC                          = 0x1021994\n\tTOSTOP                               = 0x100\n\tTPACKET_ALIGNMENT                    = 0x10\n\tTPACKET_HDRLEN                       = 0x34\n\tTP_STATUS_AVAILABLE                  = 0x0\n\tTP_STATUS_BLK_TMO                    = 0x20\n\tTP_STATUS_COPY                       = 0x2\n\tTP_STATUS_CSUMNOTREADY               = 0x8\n\tTP_STATUS_CSUM_VALID                 = 0x80\n\tTP_STATUS_KERNEL                     = 0x0\n\tTP_STATUS_LOSING                     = 0x4\n\tTP_STATUS_SENDING                    = 0x2\n\tTP_STATUS_SEND_REQUEST               = 0x1\n\tTP_STATUS_TS_RAW_HARDWARE            = -0x80000000\n\tTP_STATUS_TS_SOFTWARE                = 0x20000000\n\tTP_STATUS_TS_SYS_HARDWARE            = 0x40000000\n\tTP_STATUS_USER                       = 0x1\n\tTP_STATUS_VLAN_TPID_VALID            = 0x40\n\tTP_STATUS_VLAN_VALID                 = 0x10\n\tTP_STATUS_WRONG_FORMAT               = 0x4\n\tTRACEFS_MAGIC                        = 0x74726163\n\tTS_COMM_LEN                          = 0x20\n\tTUNATTACHFILTER                      = 0x401054d5\n\tTUNDETACHFILTER                      = 0x401054d6\n\tTUNGETFEATURES                       = 0x800454cf\n\tTUNGETFILTER                         = 0x801054db\n\tTUNGETIFF                            = 0x800454d2\n\tTUNGETSNDBUF                         = 0x800454d3\n\tTUNGETVNETBE                         = 0x800454df\n\tTUNGETVNETHDRSZ                      = 0x800454d7\n\tTUNGETVNETLE                         = 0x800454dd\n\tTUNSETDEBUG                          = 0x400454c9\n\tTUNSETFILTEREBPF                     = 0x800454e1\n\tTUNSETGROUP                          = 0x400454ce\n\tTUNSETIFF                            = 0x400454ca\n\tTUNSETIFINDEX                        = 0x400454da\n\tTUNSETLINK                           = 0x400454cd\n\tTUNSETNOCSUM                         = 0x400454c8\n\tTUNSETOFFLOAD                        = 0x400454d0\n\tTUNSETOWNER                          = 0x400454cc\n\tTUNSETPERSIST                        = 0x400454cb\n\tTUNSETQUEUE                          = 0x400454d9\n\tTUNSETSNDBUF                         = 0x400454d4\n\tTUNSETSTEERINGEBPF                   = 0x800454e0\n\tTUNSETTXFILTER                       = 0x400454d1\n\tTUNSETVNETBE                         = 0x400454de\n\tTUNSETVNETHDRSZ                      = 0x400454d8\n\tTUNSETVNETLE                         = 0x400454dc\n\tUDF_SUPER_MAGIC                      = 0x15013346\n\tUMOUNT_NOFOLLOW                      = 0x8\n\tUSBDEVICE_SUPER_MAGIC                = 0x9fa2\n\tUTIME_NOW                            = 0x3fffffff\n\tUTIME_OMIT                           = 0x3ffffffe\n\tV9FS_MAGIC                           = 0x1021997\n\tVDISCARD                             = 0xd\n\tVEOF                                 = 0x4\n\tVEOL                                 = 0xb\n\tVEOL2                                = 0x10\n\tVERASE                               = 0x2\n\tVINTR                                = 0x0\n\tVKILL                                = 0x3\n\tVLNEXT                               = 0xf\n\tVMADDR_CID_ANY                       = 0xffffffff\n\tVMADDR_CID_HOST                      = 0x2\n\tVMADDR_CID_HYPERVISOR                = 0x0\n\tVMADDR_CID_RESERVED                  = 0x1\n\tVMADDR_PORT_ANY                      = 0xffffffff\n\tVMIN                                 = 0x6\n\tVM_SOCKETS_INVALID_VERSION           = 0xffffffff\n\tVQUIT                                = 0x1\n\tVREPRINT                             = 0xc\n\tVSTART                               = 0x8\n\tVSTOP                                = 0x9\n\tVSUSP                                = 0xa\n\tVSWTC                                = 0x7\n\tVT0                                  = 0x0\n\tVT1                                  = 0x4000\n\tVTDLY                                = 0x4000\n\tVTIME                                = 0x5\n\tVWERASE                              = 0xe\n\tWALL                                 = 0x40000000\n\tWCLONE                               = 0x80000000\n\tWCONTINUED                           = 0x8\n\tWDIOC_GETBOOTSTATUS                  = 0x80045702\n\tWDIOC_GETPRETIMEOUT                  = 0x80045709\n\tWDIOC_GETSTATUS                      = 0x80045701\n\tWDIOC_GETSUPPORT                     = 0x80285700\n\tWDIOC_GETTEMP                        = 0x80045703\n\tWDIOC_GETTIMELEFT                    = 0x8004570a\n\tWDIOC_GETTIMEOUT                     = 0x80045707\n\tWDIOC_KEEPALIVE                      = 0x80045705\n\tWDIOC_SETOPTIONS                     = 0x80045704\n\tWDIOC_SETPRETIMEOUT                  = 0xc0045708\n\tWDIOC_SETTIMEOUT                     = 0xc0045706\n\tWEXITED                              = 0x4\n\tWIN_ACKMEDIACHANGE                   = 0xdb\n\tWIN_CHECKPOWERMODE1                  = 0xe5\n\tWIN_CHECKPOWERMODE2                  = 0x98\n\tWIN_DEVICE_RESET                     = 0x8\n\tWIN_DIAGNOSE                         = 0x90\n\tWIN_DOORLOCK                         = 0xde\n\tWIN_DOORUNLOCK                       = 0xdf\n\tWIN_DOWNLOAD_MICROCODE               = 0x92\n\tWIN_FLUSH_CACHE                      = 0xe7\n\tWIN_FLUSH_CACHE_EXT                  = 0xea\n\tWIN_FORMAT                           = 0x50\n\tWIN_GETMEDIASTATUS                   = 0xda\n\tWIN_IDENTIFY                         = 0xec\n\tWIN_IDENTIFY_DMA                     = 0xee\n\tWIN_IDLEIMMEDIATE                    = 0xe1\n\tWIN_INIT                             = 0x60\n\tWIN_MEDIAEJECT                       = 0xed\n\tWIN_MULTREAD                         = 0xc4\n\tWIN_MULTREAD_EXT                     = 0x29\n\tWIN_MULTWRITE                        = 0xc5\n\tWIN_MULTWRITE_EXT                    = 0x39\n\tWIN_NOP                              = 0x0\n\tWIN_PACKETCMD                        = 0xa0\n\tWIN_PIDENTIFY                        = 0xa1\n\tWIN_POSTBOOT                         = 0xdc\n\tWIN_PREBOOT                          = 0xdd\n\tWIN_QUEUED_SERVICE                   = 0xa2\n\tWIN_READ                             = 0x20\n\tWIN_READDMA                          = 0xc8\n\tWIN_READDMA_EXT                      = 0x25\n\tWIN_READDMA_ONCE                     = 0xc9\n\tWIN_READDMA_QUEUED                   = 0xc7\n\tWIN_READDMA_QUEUED_EXT               = 0x26\n\tWIN_READ_BUFFER                      = 0xe4\n\tWIN_READ_EXT                         = 0x24\n\tWIN_READ_LONG                        = 0x22\n\tWIN_READ_LONG_ONCE                   = 0x23\n\tWIN_READ_NATIVE_MAX                  = 0xf8\n\tWIN_READ_NATIVE_MAX_EXT              = 0x27\n\tWIN_READ_ONCE                        = 0x21\n\tWIN_RECAL                            = 0x10\n\tWIN_RESTORE                          = 0x10\n\tWIN_SECURITY_DISABLE                 = 0xf6\n\tWIN_SECURITY_ERASE_PREPARE           = 0xf3\n\tWIN_SECURITY_ERASE_UNIT              = 0xf4\n\tWIN_SECURITY_FREEZE_LOCK             = 0xf5\n\tWIN_SECURITY_SET_PASS                = 0xf1\n\tWIN_SECURITY_UNLOCK                  = 0xf2\n\tWIN_SEEK                             = 0x70\n\tWIN_SETFEATURES                      = 0xef\n\tWIN_SETIDLE1                         = 0xe3\n\tWIN_SETIDLE2                         = 0x97\n\tWIN_SETMULT                          = 0xc6\n\tWIN_SET_MAX                          = 0xf9\n\tWIN_SET_MAX_EXT                      = 0x37\n\tWIN_SLEEPNOW1                        = 0xe6\n\tWIN_SLEEPNOW2                        = 0x99\n\tWIN_SMART                            = 0xb0\n\tWIN_SPECIFY                          = 0x91\n\tWIN_SRST                             = 0x8\n\tWIN_STANDBY                          = 0xe2\n\tWIN_STANDBY2                         = 0x96\n\tWIN_STANDBYNOW1                      = 0xe0\n\tWIN_STANDBYNOW2                      = 0x94\n\tWIN_VERIFY                           = 0x40\n\tWIN_VERIFY_EXT                       = 0x42\n\tWIN_VERIFY_ONCE                      = 0x41\n\tWIN_WRITE                            = 0x30\n\tWIN_WRITEDMA                         = 0xca\n\tWIN_WRITEDMA_EXT                     = 0x35\n\tWIN_WRITEDMA_ONCE                    = 0xcb\n\tWIN_WRITEDMA_QUEUED                  = 0xcc\n\tWIN_WRITEDMA_QUEUED_EXT              = 0x36\n\tWIN_WRITE_BUFFER                     = 0xe8\n\tWIN_WRITE_EXT                        = 0x34\n\tWIN_WRITE_LONG                       = 0x32\n\tWIN_WRITE_LONG_ONCE                  = 0x33\n\tWIN_WRITE_ONCE                       = 0x31\n\tWIN_WRITE_SAME                       = 0xe9\n\tWIN_WRITE_VERIFY                     = 0x3c\n\tWNOHANG                              = 0x1\n\tWNOTHREAD                            = 0x20000000\n\tWNOWAIT                              = 0x1000000\n\tWORDSIZE                             = 0x40\n\tWSTOPPED                             = 0x2\n\tWUNTRACED                            = 0x2\n\tXATTR_CREATE                         = 0x1\n\tXATTR_REPLACE                        = 0x2\n\tXCASE                                = 0x4\n\tXENFS_SUPER_MAGIC                    = 0xabba1974\n\tXTABS                                = 0x1800\n\tZSMALLOC_MAGIC                       = 0x58295829\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x62)\n\tEADDRNOTAVAIL   = syscall.Errno(0x63)\n\tEADV            = syscall.Errno(0x44)\n\tEAFNOSUPPORT    = syscall.Errno(0x61)\n\tEAGAIN          = syscall.Errno(0xb)\n\tEALREADY        = syscall.Errno(0x72)\n\tEBADE           = syscall.Errno(0x34)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADFD          = syscall.Errno(0x4d)\n\tEBADMSG         = syscall.Errno(0x4a)\n\tEBADR           = syscall.Errno(0x35)\n\tEBADRQC         = syscall.Errno(0x38)\n\tEBADSLT         = syscall.Errno(0x39)\n\tEBFONT          = syscall.Errno(0x3b)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x7d)\n\tECHILD          = syscall.Errno(0xa)\n\tECHRNG          = syscall.Errno(0x2c)\n\tECOMM           = syscall.Errno(0x46)\n\tECONNABORTED    = syscall.Errno(0x67)\n\tECONNREFUSED    = syscall.Errno(0x6f)\n\tECONNRESET      = syscall.Errno(0x68)\n\tEDEADLK         = syscall.Errno(0x23)\n\tEDEADLOCK       = syscall.Errno(0x23)\n\tEDESTADDRREQ    = syscall.Errno(0x59)\n\tEDOM            = syscall.Errno(0x21)\n\tEDOTDOT         = syscall.Errno(0x49)\n\tEDQUOT          = syscall.Errno(0x7a)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEHOSTDOWN       = syscall.Errno(0x70)\n\tEHOSTUNREACH    = syscall.Errno(0x71)\n\tEHWPOISON       = syscall.Errno(0x85)\n\tEIDRM           = syscall.Errno(0x2b)\n\tEILSEQ          = syscall.Errno(0x54)\n\tEINPROGRESS     = syscall.Errno(0x73)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x6a)\n\tEISDIR          = syscall.Errno(0x15)\n\tEISNAM          = syscall.Errno(0x78)\n\tEKEYEXPIRED     = syscall.Errno(0x7f)\n\tEKEYREJECTED    = syscall.Errno(0x81)\n\tEKEYREVOKED     = syscall.Errno(0x80)\n\tEL2HLT          = syscall.Errno(0x33)\n\tEL2NSYNC        = syscall.Errno(0x2d)\n\tEL3HLT          = syscall.Errno(0x2e)\n\tEL3RST          = syscall.Errno(0x2f)\n\tELIBACC         = syscall.Errno(0x4f)\n\tELIBBAD         = syscall.Errno(0x50)\n\tELIBEXEC        = syscall.Errno(0x53)\n\tELIBMAX         = syscall.Errno(0x52)\n\tELIBSCN         = syscall.Errno(0x51)\n\tELNRNG          = syscall.Errno(0x30)\n\tELOOP           = syscall.Errno(0x28)\n\tEMEDIUMTYPE     = syscall.Errno(0x7c)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x5a)\n\tEMULTIHOP       = syscall.Errno(0x48)\n\tENAMETOOLONG    = syscall.Errno(0x24)\n\tENAVAIL         = syscall.Errno(0x77)\n\tENETDOWN        = syscall.Errno(0x64)\n\tENETRESET       = syscall.Errno(0x66)\n\tENETUNREACH     = syscall.Errno(0x65)\n\tENFILE          = syscall.Errno(0x17)\n\tENOANO          = syscall.Errno(0x37)\n\tENOBUFS         = syscall.Errno(0x69)\n\tENOCSI          = syscall.Errno(0x32)\n\tENODATA         = syscall.Errno(0x3d)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOKEY          = syscall.Errno(0x7e)\n\tENOLCK          = syscall.Errno(0x25)\n\tENOLINK         = syscall.Errno(0x43)\n\tENOMEDIUM       = syscall.Errno(0x7b)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x2a)\n\tENONET          = syscall.Errno(0x40)\n\tENOPKG          = syscall.Errno(0x41)\n\tENOPROTOOPT     = syscall.Errno(0x5c)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x3f)\n\tENOSTR          = syscall.Errno(0x3c)\n\tENOSYS          = syscall.Errno(0x26)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x6b)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x27)\n\tENOTNAM         = syscall.Errno(0x76)\n\tENOTRECOVERABLE = syscall.Errno(0x83)\n\tENOTSOCK        = syscall.Errno(0x58)\n\tENOTSUP         = syscall.Errno(0x5f)\n\tENOTTY          = syscall.Errno(0x19)\n\tENOTUNIQ        = syscall.Errno(0x4c)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x5f)\n\tEOVERFLOW       = syscall.Errno(0x4b)\n\tEOWNERDEAD      = syscall.Errno(0x82)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x60)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROTO          = syscall.Errno(0x47)\n\tEPROTONOSUPPORT = syscall.Errno(0x5d)\n\tEPROTOTYPE      = syscall.Errno(0x5b)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMCHG         = syscall.Errno(0x4e)\n\tEREMOTE         = syscall.Errno(0x42)\n\tEREMOTEIO       = syscall.Errno(0x79)\n\tERESTART        = syscall.Errno(0x55)\n\tERFKILL         = syscall.Errno(0x84)\n\tEROFS           = syscall.Errno(0x1e)\n\tESHUTDOWN       = syscall.Errno(0x6c)\n\tESOCKTNOSUPPORT = syscall.Errno(0x5e)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESRMNT          = syscall.Errno(0x45)\n\tESTALE          = syscall.Errno(0x74)\n\tESTRPIPE        = syscall.Errno(0x56)\n\tETIME           = syscall.Errno(0x3e)\n\tETIMEDOUT       = syscall.Errno(0x6e)\n\tETOOMANYREFS    = syscall.Errno(0x6d)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUCLEAN         = syscall.Errno(0x75)\n\tEUNATCH         = syscall.Errno(0x31)\n\tEUSERS          = syscall.Errno(0x57)\n\tEWOULDBLOCK     = syscall.Errno(0xb)\n\tEXDEV           = syscall.Errno(0x12)\n\tEXFULL          = syscall.Errno(0x36)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0x7)\n\tSIGCHLD   = syscall.Signal(0x11)\n\tSIGCLD    = syscall.Signal(0x11)\n\tSIGCONT   = syscall.Signal(0x12)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x1d)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPOLL   = syscall.Signal(0x1d)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGPWR    = syscall.Signal(0x1e)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTKFLT = syscall.Signal(0x10)\n\tSIGSTOP   = syscall.Signal(0x13)\n\tSIGSYS    = syscall.Signal(0x1f)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x14)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x17)\n\tSIGUSR1   = syscall.Signal(0xa)\n\tSIGUSR2   = syscall.Signal(0xc)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errorList = [...]struct {\n\tnum  syscall.Errno\n\tname string\n\tdesc string\n}{\n\t{1, \"EPERM\", \"operation not permitted\"},\n\t{2, \"ENOENT\", \"no such file or directory\"},\n\t{3, \"ESRCH\", \"no such process\"},\n\t{4, \"EINTR\", \"interrupted system call\"},\n\t{5, \"EIO\", \"input/output error\"},\n\t{6, \"ENXIO\", \"no such device or address\"},\n\t{7, \"E2BIG\", \"argument list too long\"},\n\t{8, \"ENOEXEC\", \"exec format error\"},\n\t{9, \"EBADF\", \"bad file descriptor\"},\n\t{10, \"ECHILD\", \"no child processes\"},\n\t{11, \"EAGAIN\", \"resource temporarily unavailable\"},\n\t{12, \"ENOMEM\", \"cannot allocate memory\"},\n\t{13, \"EACCES\", \"permission denied\"},\n\t{14, \"EFAULT\", \"bad address\"},\n\t{15, \"ENOTBLK\", \"block device required\"},\n\t{16, \"EBUSY\", \"device or resource busy\"},\n\t{17, \"EEXIST\", \"file exists\"},\n\t{18, \"EXDEV\", \"invalid cross-device link\"},\n\t{19, \"ENODEV\", \"no such device\"},\n\t{20, \"ENOTDIR\", \"not a directory\"},\n\t{21, \"EISDIR\", \"is a directory\"},\n\t{22, \"EINVAL\", \"invalid argument\"},\n\t{23, \"ENFILE\", \"too many open files in system\"},\n\t{24, \"EMFILE\", \"too many open files\"},\n\t{25, \"ENOTTY\", \"inappropriate ioctl for device\"},\n\t{26, \"ETXTBSY\", \"text file busy\"},\n\t{27, \"EFBIG\", \"file too large\"},\n\t{28, \"ENOSPC\", \"no space left on device\"},\n\t{29, \"ESPIPE\", \"illegal seek\"},\n\t{30, \"EROFS\", \"read-only file system\"},\n\t{31, \"EMLINK\", \"too many links\"},\n\t{32, \"EPIPE\", \"broken pipe\"},\n\t{33, \"EDOM\", \"numerical argument out of domain\"},\n\t{34, \"ERANGE\", \"numerical result out of range\"},\n\t{35, \"EDEADLK\", \"resource deadlock avoided\"},\n\t{36, \"ENAMETOOLONG\", \"file name too long\"},\n\t{37, \"ENOLCK\", \"no locks available\"},\n\t{38, \"ENOSYS\", \"function not implemented\"},\n\t{39, \"ENOTEMPTY\", \"directory not empty\"},\n\t{40, \"ELOOP\", \"too many levels of symbolic links\"},\n\t{42, \"ENOMSG\", \"no message of desired type\"},\n\t{43, \"EIDRM\", \"identifier removed\"},\n\t{44, \"ECHRNG\", \"channel number out of range\"},\n\t{45, \"EL2NSYNC\", \"level 2 not synchronized\"},\n\t{46, \"EL3HLT\", \"level 3 halted\"},\n\t{47, \"EL3RST\", \"level 3 reset\"},\n\t{48, \"ELNRNG\", \"link number out of range\"},\n\t{49, \"EUNATCH\", \"protocol driver not attached\"},\n\t{50, \"ENOCSI\", \"no CSI structure available\"},\n\t{51, \"EL2HLT\", \"level 2 halted\"},\n\t{52, \"EBADE\", \"invalid exchange\"},\n\t{53, \"EBADR\", \"invalid request descriptor\"},\n\t{54, \"EXFULL\", \"exchange full\"},\n\t{55, \"ENOANO\", \"no anode\"},\n\t{56, \"EBADRQC\", \"invalid request code\"},\n\t{57, \"EBADSLT\", \"invalid slot\"},\n\t{59, \"EBFONT\", \"bad font file format\"},\n\t{60, \"ENOSTR\", \"device not a stream\"},\n\t{61, \"ENODATA\", \"no data available\"},\n\t{62, \"ETIME\", \"timer expired\"},\n\t{63, \"ENOSR\", \"out of streams resources\"},\n\t{64, \"ENONET\", \"machine is not on the network\"},\n\t{65, \"ENOPKG\", \"package not installed\"},\n\t{66, \"EREMOTE\", \"object is remote\"},\n\t{67, \"ENOLINK\", \"link has been severed\"},\n\t{68, \"EADV\", \"advertise error\"},\n\t{69, \"ESRMNT\", \"srmount error\"},\n\t{70, \"ECOMM\", \"communication error on send\"},\n\t{71, \"EPROTO\", \"protocol error\"},\n\t{72, \"EMULTIHOP\", \"multihop attempted\"},\n\t{73, \"EDOTDOT\", \"RFS specific error\"},\n\t{74, \"EBADMSG\", \"bad message\"},\n\t{75, \"EOVERFLOW\", \"value too large for defined data type\"},\n\t{76, \"ENOTUNIQ\", \"name not unique on network\"},\n\t{77, \"EBADFD\", \"file descriptor in bad state\"},\n\t{78, \"EREMCHG\", \"remote address changed\"},\n\t{79, \"ELIBACC\", \"can not access a needed shared library\"},\n\t{80, \"ELIBBAD\", \"accessing a corrupted shared library\"},\n\t{81, \"ELIBSCN\", \".lib section in a.out corrupted\"},\n\t{82, \"ELIBMAX\", \"attempting to link in too many shared libraries\"},\n\t{83, \"ELIBEXEC\", \"cannot exec a shared library directly\"},\n\t{84, \"EILSEQ\", \"invalid or incomplete multibyte or wide character\"},\n\t{85, \"ERESTART\", \"interrupted system call should be restarted\"},\n\t{86, \"ESTRPIPE\", \"streams pipe error\"},\n\t{87, \"EUSERS\", \"too many users\"},\n\t{88, \"ENOTSOCK\", \"socket operation on non-socket\"},\n\t{89, \"EDESTADDRREQ\", \"destination address required\"},\n\t{90, \"EMSGSIZE\", \"message too long\"},\n\t{91, \"EPROTOTYPE\", \"protocol wrong type for socket\"},\n\t{92, \"ENOPROTOOPT\", \"protocol not available\"},\n\t{93, \"EPROTONOSUPPORT\", \"protocol not supported\"},\n\t{94, \"ESOCKTNOSUPPORT\", \"socket type not supported\"},\n\t{95, \"ENOTSUP\", \"operation not supported\"},\n\t{96, \"EPFNOSUPPORT\", \"protocol family not supported\"},\n\t{97, \"EAFNOSUPPORT\", \"address family not supported by protocol\"},\n\t{98, \"EADDRINUSE\", \"address already in use\"},\n\t{99, \"EADDRNOTAVAIL\", \"cannot assign requested address\"},\n\t{100, \"ENETDOWN\", \"network is down\"},\n\t{101, \"ENETUNREACH\", \"network is unreachable\"},\n\t{102, \"ENETRESET\", \"network dropped connection on reset\"},\n\t{103, \"ECONNABORTED\", \"software caused connection abort\"},\n\t{104, \"ECONNRESET\", \"connection reset by peer\"},\n\t{105, \"ENOBUFS\", \"no buffer space available\"},\n\t{106, \"EISCONN\", \"transport endpoint is already connected\"},\n\t{107, \"ENOTCONN\", \"transport endpoint is not connected\"},\n\t{108, \"ESHUTDOWN\", \"cannot send after transport endpoint shutdown\"},\n\t{109, \"ETOOMANYREFS\", \"too many references: cannot splice\"},\n\t{110, \"ETIMEDOUT\", \"connection timed out\"},\n\t{111, \"ECONNREFUSED\", \"connection refused\"},\n\t{112, \"EHOSTDOWN\", \"host is down\"},\n\t{113, \"EHOSTUNREACH\", \"no route to host\"},\n\t{114, \"EALREADY\", \"operation already in progress\"},\n\t{115, \"EINPROGRESS\", \"operation now in progress\"},\n\t{116, \"ESTALE\", \"stale file handle\"},\n\t{117, \"EUCLEAN\", \"structure needs cleaning\"},\n\t{118, \"ENOTNAM\", \"not a XENIX named type file\"},\n\t{119, \"ENAVAIL\", \"no XENIX semaphores available\"},\n\t{120, \"EISNAM\", \"is a named type file\"},\n\t{121, \"EREMOTEIO\", \"remote I/O error\"},\n\t{122, \"EDQUOT\", \"disk quota exceeded\"},\n\t{123, \"ENOMEDIUM\", \"no medium found\"},\n\t{124, \"EMEDIUMTYPE\", \"wrong medium type\"},\n\t{125, \"ECANCELED\", \"operation canceled\"},\n\t{126, \"ENOKEY\", \"required key not available\"},\n\t{127, \"EKEYEXPIRED\", \"key has expired\"},\n\t{128, \"EKEYREVOKED\", \"key has been revoked\"},\n\t{129, \"EKEYREJECTED\", \"key was rejected by service\"},\n\t{130, \"EOWNERDEAD\", \"owner died\"},\n\t{131, \"ENOTRECOVERABLE\", \"state not recoverable\"},\n\t{132, \"ERFKILL\", \"operation not possible due to RF-kill\"},\n\t{133, \"EHWPOISON\", \"memory page has hardware error\"},\n}\n\n// Signal table\nvar signalList = [...]struct {\n\tnum  syscall.Signal\n\tname string\n\tdesc string\n}{\n\t{1, \"SIGHUP\", \"hangup\"},\n\t{2, \"SIGINT\", \"interrupt\"},\n\t{3, \"SIGQUIT\", \"quit\"},\n\t{4, \"SIGILL\", \"illegal instruction\"},\n\t{5, \"SIGTRAP\", \"trace/breakpoint trap\"},\n\t{6, \"SIGABRT\", \"aborted\"},\n\t{7, \"SIGBUS\", \"bus error\"},\n\t{8, \"SIGFPE\", \"floating point exception\"},\n\t{9, \"SIGKILL\", \"killed\"},\n\t{10, \"SIGUSR1\", \"user defined signal 1\"},\n\t{11, \"SIGSEGV\", \"segmentation fault\"},\n\t{12, \"SIGUSR2\", \"user defined signal 2\"},\n\t{13, \"SIGPIPE\", \"broken pipe\"},\n\t{14, \"SIGALRM\", \"alarm clock\"},\n\t{15, \"SIGTERM\", \"terminated\"},\n\t{16, \"SIGSTKFLT\", \"stack fault\"},\n\t{17, \"SIGCHLD\", \"child exited\"},\n\t{18, \"SIGCONT\", \"continued\"},\n\t{19, \"SIGSTOP\", \"stopped (signal)\"},\n\t{20, \"SIGTSTP\", \"stopped\"},\n\t{21, \"SIGTTIN\", \"stopped (tty input)\"},\n\t{22, \"SIGTTOU\", \"stopped (tty output)\"},\n\t{23, \"SIGURG\", \"urgent I/O condition\"},\n\t{24, \"SIGXCPU\", \"CPU time limit exceeded\"},\n\t{25, \"SIGXFSZ\", \"file size limit exceeded\"},\n\t{26, \"SIGVTALRM\", \"virtual timer expired\"},\n\t{27, \"SIGPROF\", \"profiling timer expired\"},\n\t{28, \"SIGWINCH\", \"window changed\"},\n\t{29, \"SIGIO\", \"I/O possible\"},\n\t{30, \"SIGPWR\", \"power failure\"},\n\t{31, \"SIGSYS\", \"bad system call\"},\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_linux_arm.go",
    "content": "// mkerrors.sh -Wall -Werror -static -I/tmp/include\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build arm,linux\n\n// Code generated by cmd/cgo -godefs; DO NOT EDIT.\n// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAAFS_MAGIC                           = 0x5a3c69f0\n\tADFS_SUPER_MAGIC                     = 0xadf5\n\tAFFS_SUPER_MAGIC                     = 0xadff\n\tAFS_FS_MAGIC                         = 0x6b414653\n\tAFS_SUPER_MAGIC                      = 0x5346414f\n\tAF_ALG                               = 0x26\n\tAF_APPLETALK                         = 0x5\n\tAF_ASH                               = 0x12\n\tAF_ATMPVC                            = 0x8\n\tAF_ATMSVC                            = 0x14\n\tAF_AX25                              = 0x3\n\tAF_BLUETOOTH                         = 0x1f\n\tAF_BRIDGE                            = 0x7\n\tAF_CAIF                              = 0x25\n\tAF_CAN                               = 0x1d\n\tAF_DECnet                            = 0xc\n\tAF_ECONET                            = 0x13\n\tAF_FILE                              = 0x1\n\tAF_IB                                = 0x1b\n\tAF_IEEE802154                        = 0x24\n\tAF_INET                              = 0x2\n\tAF_INET6                             = 0xa\n\tAF_IPX                               = 0x4\n\tAF_IRDA                              = 0x17\n\tAF_ISDN                              = 0x22\n\tAF_IUCV                              = 0x20\n\tAF_KCM                               = 0x29\n\tAF_KEY                               = 0xf\n\tAF_LLC                               = 0x1a\n\tAF_LOCAL                             = 0x1\n\tAF_MAX                               = 0x2c\n\tAF_MPLS                              = 0x1c\n\tAF_NETBEUI                           = 0xd\n\tAF_NETLINK                           = 0x10\n\tAF_NETROM                            = 0x6\n\tAF_NFC                               = 0x27\n\tAF_PACKET                            = 0x11\n\tAF_PHONET                            = 0x23\n\tAF_PPPOX                             = 0x18\n\tAF_QIPCRTR                           = 0x2a\n\tAF_RDS                               = 0x15\n\tAF_ROSE                              = 0xb\n\tAF_ROUTE                             = 0x10\n\tAF_RXRPC                             = 0x21\n\tAF_SECURITY                          = 0xe\n\tAF_SMC                               = 0x2b\n\tAF_SNA                               = 0x16\n\tAF_TIPC                              = 0x1e\n\tAF_UNIX                              = 0x1\n\tAF_UNSPEC                            = 0x0\n\tAF_VSOCK                             = 0x28\n\tAF_WANPIPE                           = 0x19\n\tAF_X25                               = 0x9\n\tALG_OP_DECRYPT                       = 0x0\n\tALG_OP_ENCRYPT                       = 0x1\n\tALG_SET_AEAD_ASSOCLEN                = 0x4\n\tALG_SET_AEAD_AUTHSIZE                = 0x5\n\tALG_SET_IV                           = 0x2\n\tALG_SET_KEY                          = 0x1\n\tALG_SET_OP                           = 0x3\n\tANON_INODE_FS_MAGIC                  = 0x9041934\n\tARPHRD_6LOWPAN                       = 0x339\n\tARPHRD_ADAPT                         = 0x108\n\tARPHRD_APPLETLK                      = 0x8\n\tARPHRD_ARCNET                        = 0x7\n\tARPHRD_ASH                           = 0x30d\n\tARPHRD_ATM                           = 0x13\n\tARPHRD_AX25                          = 0x3\n\tARPHRD_BIF                           = 0x307\n\tARPHRD_CAIF                          = 0x336\n\tARPHRD_CAN                           = 0x118\n\tARPHRD_CHAOS                         = 0x5\n\tARPHRD_CISCO                         = 0x201\n\tARPHRD_CSLIP                         = 0x101\n\tARPHRD_CSLIP6                        = 0x103\n\tARPHRD_DDCMP                         = 0x205\n\tARPHRD_DLCI                          = 0xf\n\tARPHRD_ECONET                        = 0x30e\n\tARPHRD_EETHER                        = 0x2\n\tARPHRD_ETHER                         = 0x1\n\tARPHRD_EUI64                         = 0x1b\n\tARPHRD_FCAL                          = 0x311\n\tARPHRD_FCFABRIC                      = 0x313\n\tARPHRD_FCPL                          = 0x312\n\tARPHRD_FCPP                          = 0x310\n\tARPHRD_FDDI                          = 0x306\n\tARPHRD_FRAD                          = 0x302\n\tARPHRD_HDLC                          = 0x201\n\tARPHRD_HIPPI                         = 0x30c\n\tARPHRD_HWX25                         = 0x110\n\tARPHRD_IEEE1394                      = 0x18\n\tARPHRD_IEEE802                       = 0x6\n\tARPHRD_IEEE80211                     = 0x321\n\tARPHRD_IEEE80211_PRISM               = 0x322\n\tARPHRD_IEEE80211_RADIOTAP            = 0x323\n\tARPHRD_IEEE802154                    = 0x324\n\tARPHRD_IEEE802154_MONITOR            = 0x325\n\tARPHRD_IEEE802_TR                    = 0x320\n\tARPHRD_INFINIBAND                    = 0x20\n\tARPHRD_IP6GRE                        = 0x337\n\tARPHRD_IPDDP                         = 0x309\n\tARPHRD_IPGRE                         = 0x30a\n\tARPHRD_IRDA                          = 0x30f\n\tARPHRD_LAPB                          = 0x204\n\tARPHRD_LOCALTLK                      = 0x305\n\tARPHRD_LOOPBACK                      = 0x304\n\tARPHRD_METRICOM                      = 0x17\n\tARPHRD_NETLINK                       = 0x338\n\tARPHRD_NETROM                        = 0x0\n\tARPHRD_NONE                          = 0xfffe\n\tARPHRD_PHONET                        = 0x334\n\tARPHRD_PHONET_PIPE                   = 0x335\n\tARPHRD_PIMREG                        = 0x30b\n\tARPHRD_PPP                           = 0x200\n\tARPHRD_PRONET                        = 0x4\n\tARPHRD_RAWHDLC                       = 0x206\n\tARPHRD_RAWIP                         = 0x207\n\tARPHRD_ROSE                          = 0x10e\n\tARPHRD_RSRVD                         = 0x104\n\tARPHRD_SIT                           = 0x308\n\tARPHRD_SKIP                          = 0x303\n\tARPHRD_SLIP                          = 0x100\n\tARPHRD_SLIP6                         = 0x102\n\tARPHRD_TUNNEL                        = 0x300\n\tARPHRD_TUNNEL6                       = 0x301\n\tARPHRD_VOID                          = 0xffff\n\tARPHRD_VSOCKMON                      = 0x33a\n\tARPHRD_X25                           = 0x10f\n\tAUTOFS_SUPER_MAGIC                   = 0x187\n\tB0                                   = 0x0\n\tB1000000                             = 0x1008\n\tB110                                 = 0x3\n\tB115200                              = 0x1002\n\tB1152000                             = 0x1009\n\tB1200                                = 0x9\n\tB134                                 = 0x4\n\tB150                                 = 0x5\n\tB1500000                             = 0x100a\n\tB1800                                = 0xa\n\tB19200                               = 0xe\n\tB200                                 = 0x6\n\tB2000000                             = 0x100b\n\tB230400                              = 0x1003\n\tB2400                                = 0xb\n\tB2500000                             = 0x100c\n\tB300                                 = 0x7\n\tB3000000                             = 0x100d\n\tB3500000                             = 0x100e\n\tB38400                               = 0xf\n\tB4000000                             = 0x100f\n\tB460800                              = 0x1004\n\tB4800                                = 0xc\n\tB50                                  = 0x1\n\tB500000                              = 0x1005\n\tB57600                               = 0x1001\n\tB576000                              = 0x1006\n\tB600                                 = 0x8\n\tB75                                  = 0x2\n\tB921600                              = 0x1007\n\tB9600                                = 0xd\n\tBALLOON_KVM_MAGIC                    = 0x13661366\n\tBDEVFS_MAGIC                         = 0x62646576\n\tBINFMTFS_MAGIC                       = 0x42494e4d\n\tBLKBSZGET                            = 0x80041270\n\tBLKBSZSET                            = 0x40041271\n\tBLKFLSBUF                            = 0x1261\n\tBLKFRAGET                            = 0x1265\n\tBLKFRASET                            = 0x1264\n\tBLKGETSIZE                           = 0x1260\n\tBLKGETSIZE64                         = 0x80041272\n\tBLKPBSZGET                           = 0x127b\n\tBLKRAGET                             = 0x1263\n\tBLKRASET                             = 0x1262\n\tBLKROGET                             = 0x125e\n\tBLKROSET                             = 0x125d\n\tBLKRRPART                            = 0x125f\n\tBLKSECTGET                           = 0x1267\n\tBLKSECTSET                           = 0x1266\n\tBLKSSZGET                            = 0x1268\n\tBOTHER                               = 0x1000\n\tBPF_A                                = 0x10\n\tBPF_ABS                              = 0x20\n\tBPF_ADD                              = 0x0\n\tBPF_ALU                              = 0x4\n\tBPF_AND                              = 0x50\n\tBPF_B                                = 0x10\n\tBPF_DIV                              = 0x30\n\tBPF_FS_MAGIC                         = 0xcafe4a11\n\tBPF_H                                = 0x8\n\tBPF_IMM                              = 0x0\n\tBPF_IND                              = 0x40\n\tBPF_JA                               = 0x0\n\tBPF_JEQ                              = 0x10\n\tBPF_JGE                              = 0x30\n\tBPF_JGT                              = 0x20\n\tBPF_JMP                              = 0x5\n\tBPF_JSET                             = 0x40\n\tBPF_K                                = 0x0\n\tBPF_LD                               = 0x0\n\tBPF_LDX                              = 0x1\n\tBPF_LEN                              = 0x80\n\tBPF_LL_OFF                           = -0x200000\n\tBPF_LSH                              = 0x60\n\tBPF_MAJOR_VERSION                    = 0x1\n\tBPF_MAXINSNS                         = 0x1000\n\tBPF_MEM                              = 0x60\n\tBPF_MEMWORDS                         = 0x10\n\tBPF_MINOR_VERSION                    = 0x1\n\tBPF_MISC                             = 0x7\n\tBPF_MOD                              = 0x90\n\tBPF_MSH                              = 0xa0\n\tBPF_MUL                              = 0x20\n\tBPF_NEG                              = 0x80\n\tBPF_NET_OFF                          = -0x100000\n\tBPF_OR                               = 0x40\n\tBPF_RET                              = 0x6\n\tBPF_RSH                              = 0x70\n\tBPF_ST                               = 0x2\n\tBPF_STX                              = 0x3\n\tBPF_SUB                              = 0x10\n\tBPF_TAX                              = 0x0\n\tBPF_TXA                              = 0x80\n\tBPF_W                                = 0x0\n\tBPF_X                                = 0x8\n\tBPF_XOR                              = 0xa0\n\tBRKINT                               = 0x2\n\tBS0                                  = 0x0\n\tBS1                                  = 0x2000\n\tBSDLY                                = 0x2000\n\tBTRFS_SUPER_MAGIC                    = 0x9123683e\n\tBTRFS_TEST_MAGIC                     = 0x73727279\n\tCAN_BCM                              = 0x2\n\tCAN_EFF_FLAG                         = 0x80000000\n\tCAN_EFF_ID_BITS                      = 0x1d\n\tCAN_EFF_MASK                         = 0x1fffffff\n\tCAN_ERR_FLAG                         = 0x20000000\n\tCAN_ERR_MASK                         = 0x1fffffff\n\tCAN_INV_FILTER                       = 0x20000000\n\tCAN_ISOTP                            = 0x6\n\tCAN_MAX_DLC                          = 0x8\n\tCAN_MAX_DLEN                         = 0x8\n\tCAN_MCNET                            = 0x5\n\tCAN_MTU                              = 0x10\n\tCAN_NPROTO                           = 0x7\n\tCAN_RAW                              = 0x1\n\tCAN_RAW_FILTER_MAX                   = 0x200\n\tCAN_RTR_FLAG                         = 0x40000000\n\tCAN_SFF_ID_BITS                      = 0xb\n\tCAN_SFF_MASK                         = 0x7ff\n\tCAN_TP16                             = 0x3\n\tCAN_TP20                             = 0x4\n\tCBAUD                                = 0x100f\n\tCBAUDEX                              = 0x1000\n\tCFLUSH                               = 0xf\n\tCGROUP2_SUPER_MAGIC                  = 0x63677270\n\tCGROUP_SUPER_MAGIC                   = 0x27e0eb\n\tCIBAUD                               = 0x100f0000\n\tCLOCAL                               = 0x800\n\tCLOCK_BOOTTIME                       = 0x7\n\tCLOCK_BOOTTIME_ALARM                 = 0x9\n\tCLOCK_DEFAULT                        = 0x0\n\tCLOCK_EXT                            = 0x1\n\tCLOCK_INT                            = 0x2\n\tCLOCK_MONOTONIC                      = 0x1\n\tCLOCK_MONOTONIC_COARSE               = 0x6\n\tCLOCK_MONOTONIC_RAW                  = 0x4\n\tCLOCK_PROCESS_CPUTIME_ID             = 0x2\n\tCLOCK_REALTIME                       = 0x0\n\tCLOCK_REALTIME_ALARM                 = 0x8\n\tCLOCK_REALTIME_COARSE                = 0x5\n\tCLOCK_TAI                            = 0xb\n\tCLOCK_THREAD_CPUTIME_ID              = 0x3\n\tCLOCK_TXFROMRX                       = 0x4\n\tCLOCK_TXINT                          = 0x3\n\tCLONE_CHILD_CLEARTID                 = 0x200000\n\tCLONE_CHILD_SETTID                   = 0x1000000\n\tCLONE_DETACHED                       = 0x400000\n\tCLONE_FILES                          = 0x400\n\tCLONE_FS                             = 0x200\n\tCLONE_IO                             = 0x80000000\n\tCLONE_NEWCGROUP                      = 0x2000000\n\tCLONE_NEWIPC                         = 0x8000000\n\tCLONE_NEWNET                         = 0x40000000\n\tCLONE_NEWNS                          = 0x20000\n\tCLONE_NEWPID                         = 0x20000000\n\tCLONE_NEWUSER                        = 0x10000000\n\tCLONE_NEWUTS                         = 0x4000000\n\tCLONE_PARENT                         = 0x8000\n\tCLONE_PARENT_SETTID                  = 0x100000\n\tCLONE_PTRACE                         = 0x2000\n\tCLONE_SETTLS                         = 0x80000\n\tCLONE_SIGHAND                        = 0x800\n\tCLONE_SYSVSEM                        = 0x40000\n\tCLONE_THREAD                         = 0x10000\n\tCLONE_UNTRACED                       = 0x800000\n\tCLONE_VFORK                          = 0x4000\n\tCLONE_VM                             = 0x100\n\tCMSPAR                               = 0x40000000\n\tCODA_SUPER_MAGIC                     = 0x73757245\n\tCR0                                  = 0x0\n\tCR1                                  = 0x200\n\tCR2                                  = 0x400\n\tCR3                                  = 0x600\n\tCRAMFS_MAGIC                         = 0x28cd3d45\n\tCRDLY                                = 0x600\n\tCREAD                                = 0x80\n\tCRTSCTS                              = 0x80000000\n\tCS5                                  = 0x0\n\tCS6                                  = 0x10\n\tCS7                                  = 0x20\n\tCS8                                  = 0x30\n\tCSIGNAL                              = 0xff\n\tCSIZE                                = 0x30\n\tCSTART                               = 0x11\n\tCSTATUS                              = 0x0\n\tCSTOP                                = 0x13\n\tCSTOPB                               = 0x40\n\tCSUSP                                = 0x1a\n\tDAXFS_MAGIC                          = 0x64646178\n\tDEBUGFS_MAGIC                        = 0x64626720\n\tDEVPTS_SUPER_MAGIC                   = 0x1cd1\n\tDT_BLK                               = 0x6\n\tDT_CHR                               = 0x2\n\tDT_DIR                               = 0x4\n\tDT_FIFO                              = 0x1\n\tDT_LNK                               = 0xa\n\tDT_REG                               = 0x8\n\tDT_SOCK                              = 0xc\n\tDT_UNKNOWN                           = 0x0\n\tDT_WHT                               = 0xe\n\tECHO                                 = 0x8\n\tECHOCTL                              = 0x200\n\tECHOE                                = 0x10\n\tECHOK                                = 0x20\n\tECHOKE                               = 0x800\n\tECHONL                               = 0x40\n\tECHOPRT                              = 0x400\n\tECRYPTFS_SUPER_MAGIC                 = 0xf15f\n\tEFD_CLOEXEC                          = 0x80000\n\tEFD_NONBLOCK                         = 0x800\n\tEFD_SEMAPHORE                        = 0x1\n\tEFIVARFS_MAGIC                       = 0xde5e81e4\n\tEFS_SUPER_MAGIC                      = 0x414a53\n\tENCODING_DEFAULT                     = 0x0\n\tENCODING_FM_MARK                     = 0x3\n\tENCODING_FM_SPACE                    = 0x4\n\tENCODING_MANCHESTER                  = 0x5\n\tENCODING_NRZ                         = 0x1\n\tENCODING_NRZI                        = 0x2\n\tEPOLLERR                             = 0x8\n\tEPOLLET                              = 0x80000000\n\tEPOLLEXCLUSIVE                       = 0x10000000\n\tEPOLLHUP                             = 0x10\n\tEPOLLIN                              = 0x1\n\tEPOLLMSG                             = 0x400\n\tEPOLLONESHOT                         = 0x40000000\n\tEPOLLOUT                             = 0x4\n\tEPOLLPRI                             = 0x2\n\tEPOLLRDBAND                          = 0x80\n\tEPOLLRDHUP                           = 0x2000\n\tEPOLLRDNORM                          = 0x40\n\tEPOLLWAKEUP                          = 0x20000000\n\tEPOLLWRBAND                          = 0x200\n\tEPOLLWRNORM                          = 0x100\n\tEPOLL_CLOEXEC                        = 0x80000\n\tEPOLL_CTL_ADD                        = 0x1\n\tEPOLL_CTL_DEL                        = 0x2\n\tEPOLL_CTL_MOD                        = 0x3\n\tETH_P_1588                           = 0x88f7\n\tETH_P_8021AD                         = 0x88a8\n\tETH_P_8021AH                         = 0x88e7\n\tETH_P_8021Q                          = 0x8100\n\tETH_P_80221                          = 0x8917\n\tETH_P_802_2                          = 0x4\n\tETH_P_802_3                          = 0x1\n\tETH_P_802_3_MIN                      = 0x600\n\tETH_P_802_EX1                        = 0x88b5\n\tETH_P_AARP                           = 0x80f3\n\tETH_P_AF_IUCV                        = 0xfbfb\n\tETH_P_ALL                            = 0x3\n\tETH_P_AOE                            = 0x88a2\n\tETH_P_ARCNET                         = 0x1a\n\tETH_P_ARP                            = 0x806\n\tETH_P_ATALK                          = 0x809b\n\tETH_P_ATMFATE                        = 0x8884\n\tETH_P_ATMMPOA                        = 0x884c\n\tETH_P_AX25                           = 0x2\n\tETH_P_BATMAN                         = 0x4305\n\tETH_P_BPQ                            = 0x8ff\n\tETH_P_CAIF                           = 0xf7\n\tETH_P_CAN                            = 0xc\n\tETH_P_CANFD                          = 0xd\n\tETH_P_CONTROL                        = 0x16\n\tETH_P_CUST                           = 0x6006\n\tETH_P_DDCMP                          = 0x6\n\tETH_P_DEC                            = 0x6000\n\tETH_P_DIAG                           = 0x6005\n\tETH_P_DNA_DL                         = 0x6001\n\tETH_P_DNA_RC                         = 0x6002\n\tETH_P_DNA_RT                         = 0x6003\n\tETH_P_DSA                            = 0x1b\n\tETH_P_ECONET                         = 0x18\n\tETH_P_EDSA                           = 0xdada\n\tETH_P_ERSPAN                         = 0x88be\n\tETH_P_ERSPAN2                        = 0x22eb\n\tETH_P_FCOE                           = 0x8906\n\tETH_P_FIP                            = 0x8914\n\tETH_P_HDLC                           = 0x19\n\tETH_P_HSR                            = 0x892f\n\tETH_P_IBOE                           = 0x8915\n\tETH_P_IEEE802154                     = 0xf6\n\tETH_P_IEEEPUP                        = 0xa00\n\tETH_P_IEEEPUPAT                      = 0xa01\n\tETH_P_IFE                            = 0xed3e\n\tETH_P_IP                             = 0x800\n\tETH_P_IPV6                           = 0x86dd\n\tETH_P_IPX                            = 0x8137\n\tETH_P_IRDA                           = 0x17\n\tETH_P_LAT                            = 0x6004\n\tETH_P_LINK_CTL                       = 0x886c\n\tETH_P_LOCALTALK                      = 0x9\n\tETH_P_LOOP                           = 0x60\n\tETH_P_LOOPBACK                       = 0x9000\n\tETH_P_MACSEC                         = 0x88e5\n\tETH_P_MAP                            = 0xf9\n\tETH_P_MOBITEX                        = 0x15\n\tETH_P_MPLS_MC                        = 0x8848\n\tETH_P_MPLS_UC                        = 0x8847\n\tETH_P_MVRP                           = 0x88f5\n\tETH_P_NCSI                           = 0x88f8\n\tETH_P_NSH                            = 0x894f\n\tETH_P_PAE                            = 0x888e\n\tETH_P_PAUSE                          = 0x8808\n\tETH_P_PHONET                         = 0xf5\n\tETH_P_PPPTALK                        = 0x10\n\tETH_P_PPP_DISC                       = 0x8863\n\tETH_P_PPP_MP                         = 0x8\n\tETH_P_PPP_SES                        = 0x8864\n\tETH_P_PREAUTH                        = 0x88c7\n\tETH_P_PRP                            = 0x88fb\n\tETH_P_PUP                            = 0x200\n\tETH_P_PUPAT                          = 0x201\n\tETH_P_QINQ1                          = 0x9100\n\tETH_P_QINQ2                          = 0x9200\n\tETH_P_QINQ3                          = 0x9300\n\tETH_P_RARP                           = 0x8035\n\tETH_P_SCA                            = 0x6007\n\tETH_P_SLOW                           = 0x8809\n\tETH_P_SNAP                           = 0x5\n\tETH_P_TDLS                           = 0x890d\n\tETH_P_TEB                            = 0x6558\n\tETH_P_TIPC                           = 0x88ca\n\tETH_P_TRAILER                        = 0x1c\n\tETH_P_TR_802_2                       = 0x11\n\tETH_P_TSN                            = 0x22f0\n\tETH_P_WAN_PPP                        = 0x7\n\tETH_P_WCCP                           = 0x883e\n\tETH_P_X25                            = 0x805\n\tETH_P_XDSA                           = 0xf8\n\tEXABYTE_ENABLE_NEST                  = 0xf0\n\tEXT2_SUPER_MAGIC                     = 0xef53\n\tEXT3_SUPER_MAGIC                     = 0xef53\n\tEXT4_SUPER_MAGIC                     = 0xef53\n\tEXTA                                 = 0xe\n\tEXTB                                 = 0xf\n\tEXTPROC                              = 0x10000\n\tF2FS_SUPER_MAGIC                     = 0xf2f52010\n\tFALLOC_FL_COLLAPSE_RANGE             = 0x8\n\tFALLOC_FL_INSERT_RANGE               = 0x20\n\tFALLOC_FL_KEEP_SIZE                  = 0x1\n\tFALLOC_FL_NO_HIDE_STALE              = 0x4\n\tFALLOC_FL_PUNCH_HOLE                 = 0x2\n\tFALLOC_FL_UNSHARE_RANGE              = 0x40\n\tFALLOC_FL_ZERO_RANGE                 = 0x10\n\tFD_CLOEXEC                           = 0x1\n\tFD_SETSIZE                           = 0x400\n\tFF0                                  = 0x0\n\tFF1                                  = 0x8000\n\tFFDLY                                = 0x8000\n\tFLUSHO                               = 0x1000\n\tFS_ENCRYPTION_MODE_AES_128_CBC       = 0x5\n\tFS_ENCRYPTION_MODE_AES_128_CTS       = 0x6\n\tFS_ENCRYPTION_MODE_AES_256_CBC       = 0x3\n\tFS_ENCRYPTION_MODE_AES_256_CTS       = 0x4\n\tFS_ENCRYPTION_MODE_AES_256_GCM       = 0x2\n\tFS_ENCRYPTION_MODE_AES_256_XTS       = 0x1\n\tFS_ENCRYPTION_MODE_INVALID           = 0x0\n\tFS_ENCRYPTION_MODE_SPECK128_256_CTS  = 0x8\n\tFS_ENCRYPTION_MODE_SPECK128_256_XTS  = 0x7\n\tFS_IOC_GET_ENCRYPTION_POLICY         = 0x400c6615\n\tFS_IOC_GET_ENCRYPTION_PWSALT         = 0x40106614\n\tFS_IOC_SET_ENCRYPTION_POLICY         = 0x800c6613\n\tFS_KEY_DESCRIPTOR_SIZE               = 0x8\n\tFS_KEY_DESC_PREFIX                   = \"fscrypt:\"\n\tFS_KEY_DESC_PREFIX_SIZE              = 0x8\n\tFS_MAX_KEY_SIZE                      = 0x40\n\tFS_POLICY_FLAGS_PAD_16               = 0x2\n\tFS_POLICY_FLAGS_PAD_32               = 0x3\n\tFS_POLICY_FLAGS_PAD_4                = 0x0\n\tFS_POLICY_FLAGS_PAD_8                = 0x1\n\tFS_POLICY_FLAGS_PAD_MASK             = 0x3\n\tFS_POLICY_FLAGS_VALID                = 0x3\n\tFUTEXFS_SUPER_MAGIC                  = 0xbad1dea\n\tF_ADD_SEALS                          = 0x409\n\tF_DUPFD                              = 0x0\n\tF_DUPFD_CLOEXEC                      = 0x406\n\tF_EXLCK                              = 0x4\n\tF_GETFD                              = 0x1\n\tF_GETFL                              = 0x3\n\tF_GETLEASE                           = 0x401\n\tF_GETLK                              = 0xc\n\tF_GETLK64                            = 0xc\n\tF_GETOWN                             = 0x9\n\tF_GETOWN_EX                          = 0x10\n\tF_GETPIPE_SZ                         = 0x408\n\tF_GETSIG                             = 0xb\n\tF_GET_FILE_RW_HINT                   = 0x40d\n\tF_GET_RW_HINT                        = 0x40b\n\tF_GET_SEALS                          = 0x40a\n\tF_LOCK                               = 0x1\n\tF_NOTIFY                             = 0x402\n\tF_OFD_GETLK                          = 0x24\n\tF_OFD_SETLK                          = 0x25\n\tF_OFD_SETLKW                         = 0x26\n\tF_OK                                 = 0x0\n\tF_RDLCK                              = 0x0\n\tF_SEAL_GROW                          = 0x4\n\tF_SEAL_SEAL                          = 0x1\n\tF_SEAL_SHRINK                        = 0x2\n\tF_SEAL_WRITE                         = 0x8\n\tF_SETFD                              = 0x2\n\tF_SETFL                              = 0x4\n\tF_SETLEASE                           = 0x400\n\tF_SETLK                              = 0xd\n\tF_SETLK64                            = 0xd\n\tF_SETLKW                             = 0xe\n\tF_SETLKW64                           = 0xe\n\tF_SETOWN                             = 0x8\n\tF_SETOWN_EX                          = 0xf\n\tF_SETPIPE_SZ                         = 0x407\n\tF_SETSIG                             = 0xa\n\tF_SET_FILE_RW_HINT                   = 0x40e\n\tF_SET_RW_HINT                        = 0x40c\n\tF_SHLCK                              = 0x8\n\tF_TEST                               = 0x3\n\tF_TLOCK                              = 0x2\n\tF_ULOCK                              = 0x0\n\tF_UNLCK                              = 0x2\n\tF_WRLCK                              = 0x1\n\tGENL_ADMIN_PERM                      = 0x1\n\tGENL_CMD_CAP_DO                      = 0x2\n\tGENL_CMD_CAP_DUMP                    = 0x4\n\tGENL_CMD_CAP_HASPOL                  = 0x8\n\tGENL_HDRLEN                          = 0x4\n\tGENL_ID_CTRL                         = 0x10\n\tGENL_ID_PMCRAID                      = 0x12\n\tGENL_ID_VFS_DQUOT                    = 0x11\n\tGENL_MAX_ID                          = 0x3ff\n\tGENL_MIN_ID                          = 0x10\n\tGENL_NAMSIZ                          = 0x10\n\tGENL_START_ALLOC                     = 0x13\n\tGENL_UNS_ADMIN_PERM                  = 0x10\n\tGRND_NONBLOCK                        = 0x1\n\tGRND_RANDOM                          = 0x2\n\tHDIO_DRIVE_CMD                       = 0x31f\n\tHDIO_DRIVE_CMD_AEB                   = 0x31e\n\tHDIO_DRIVE_CMD_HDR_SIZE              = 0x4\n\tHDIO_DRIVE_HOB_HDR_SIZE              = 0x8\n\tHDIO_DRIVE_RESET                     = 0x31c\n\tHDIO_DRIVE_TASK                      = 0x31e\n\tHDIO_DRIVE_TASKFILE                  = 0x31d\n\tHDIO_DRIVE_TASK_HDR_SIZE             = 0x8\n\tHDIO_GETGEO                          = 0x301\n\tHDIO_GET_32BIT                       = 0x309\n\tHDIO_GET_ACOUSTIC                    = 0x30f\n\tHDIO_GET_ADDRESS                     = 0x310\n\tHDIO_GET_BUSSTATE                    = 0x31a\n\tHDIO_GET_DMA                         = 0x30b\n\tHDIO_GET_IDENTITY                    = 0x30d\n\tHDIO_GET_KEEPSETTINGS                = 0x308\n\tHDIO_GET_MULTCOUNT                   = 0x304\n\tHDIO_GET_NICE                        = 0x30c\n\tHDIO_GET_NOWERR                      = 0x30a\n\tHDIO_GET_QDMA                        = 0x305\n\tHDIO_GET_UNMASKINTR                  = 0x302\n\tHDIO_GET_WCACHE                      = 0x30e\n\tHDIO_OBSOLETE_IDENTITY               = 0x307\n\tHDIO_SCAN_HWIF                       = 0x328\n\tHDIO_SET_32BIT                       = 0x324\n\tHDIO_SET_ACOUSTIC                    = 0x32c\n\tHDIO_SET_ADDRESS                     = 0x32f\n\tHDIO_SET_BUSSTATE                    = 0x32d\n\tHDIO_SET_DMA                         = 0x326\n\tHDIO_SET_KEEPSETTINGS                = 0x323\n\tHDIO_SET_MULTCOUNT                   = 0x321\n\tHDIO_SET_NICE                        = 0x329\n\tHDIO_SET_NOWERR                      = 0x325\n\tHDIO_SET_PIO_MODE                    = 0x327\n\tHDIO_SET_QDMA                        = 0x32e\n\tHDIO_SET_UNMASKINTR                  = 0x322\n\tHDIO_SET_WCACHE                      = 0x32b\n\tHDIO_SET_XFER                        = 0x306\n\tHDIO_TRISTATE_HWIF                   = 0x31b\n\tHDIO_UNREGISTER_HWIF                 = 0x32a\n\tHOSTFS_SUPER_MAGIC                   = 0xc0ffee\n\tHPFS_SUPER_MAGIC                     = 0xf995e849\n\tHUGETLBFS_MAGIC                      = 0x958458f6\n\tHUPCL                                = 0x400\n\tIBSHIFT                              = 0x10\n\tICANON                               = 0x2\n\tICMPV6_FILTER                        = 0x1\n\tICRNL                                = 0x100\n\tIEXTEN                               = 0x8000\n\tIFA_F_DADFAILED                      = 0x8\n\tIFA_F_DEPRECATED                     = 0x20\n\tIFA_F_HOMEADDRESS                    = 0x10\n\tIFA_F_MANAGETEMPADDR                 = 0x100\n\tIFA_F_MCAUTOJOIN                     = 0x400\n\tIFA_F_NODAD                          = 0x2\n\tIFA_F_NOPREFIXROUTE                  = 0x200\n\tIFA_F_OPTIMISTIC                     = 0x4\n\tIFA_F_PERMANENT                      = 0x80\n\tIFA_F_SECONDARY                      = 0x1\n\tIFA_F_STABLE_PRIVACY                 = 0x800\n\tIFA_F_TEMPORARY                      = 0x1\n\tIFA_F_TENTATIVE                      = 0x40\n\tIFA_MAX                              = 0x9\n\tIFF_ALLMULTI                         = 0x200\n\tIFF_ATTACH_QUEUE                     = 0x200\n\tIFF_AUTOMEDIA                        = 0x4000\n\tIFF_BROADCAST                        = 0x2\n\tIFF_DEBUG                            = 0x4\n\tIFF_DETACH_QUEUE                     = 0x400\n\tIFF_DORMANT                          = 0x20000\n\tIFF_DYNAMIC                          = 0x8000\n\tIFF_ECHO                             = 0x40000\n\tIFF_LOOPBACK                         = 0x8\n\tIFF_LOWER_UP                         = 0x10000\n\tIFF_MASTER                           = 0x400\n\tIFF_MULTICAST                        = 0x1000\n\tIFF_MULTI_QUEUE                      = 0x100\n\tIFF_NAPI                             = 0x10\n\tIFF_NAPI_FRAGS                       = 0x20\n\tIFF_NOARP                            = 0x80\n\tIFF_NOFILTER                         = 0x1000\n\tIFF_NOTRAILERS                       = 0x20\n\tIFF_NO_PI                            = 0x1000\n\tIFF_ONE_QUEUE                        = 0x2000\n\tIFF_PERSIST                          = 0x800\n\tIFF_POINTOPOINT                      = 0x10\n\tIFF_PORTSEL                          = 0x2000\n\tIFF_PROMISC                          = 0x100\n\tIFF_RUNNING                          = 0x40\n\tIFF_SLAVE                            = 0x800\n\tIFF_TAP                              = 0x2\n\tIFF_TUN                              = 0x1\n\tIFF_TUN_EXCL                         = 0x8000\n\tIFF_UP                               = 0x1\n\tIFF_VNET_HDR                         = 0x4000\n\tIFF_VOLATILE                         = 0x70c5a\n\tIFNAMSIZ                             = 0x10\n\tIGNBRK                               = 0x1\n\tIGNCR                                = 0x80\n\tIGNPAR                               = 0x4\n\tIMAXBEL                              = 0x2000\n\tINLCR                                = 0x40\n\tINPCK                                = 0x10\n\tIN_ACCESS                            = 0x1\n\tIN_ALL_EVENTS                        = 0xfff\n\tIN_ATTRIB                            = 0x4\n\tIN_CLASSA_HOST                       = 0xffffff\n\tIN_CLASSA_MAX                        = 0x80\n\tIN_CLASSA_NET                        = 0xff000000\n\tIN_CLASSA_NSHIFT                     = 0x18\n\tIN_CLASSB_HOST                       = 0xffff\n\tIN_CLASSB_MAX                        = 0x10000\n\tIN_CLASSB_NET                        = 0xffff0000\n\tIN_CLASSB_NSHIFT                     = 0x10\n\tIN_CLASSC_HOST                       = 0xff\n\tIN_CLASSC_NET                        = 0xffffff00\n\tIN_CLASSC_NSHIFT                     = 0x8\n\tIN_CLOEXEC                           = 0x80000\n\tIN_CLOSE                             = 0x18\n\tIN_CLOSE_NOWRITE                     = 0x10\n\tIN_CLOSE_WRITE                       = 0x8\n\tIN_CREATE                            = 0x100\n\tIN_DELETE                            = 0x200\n\tIN_DELETE_SELF                       = 0x400\n\tIN_DONT_FOLLOW                       = 0x2000000\n\tIN_EXCL_UNLINK                       = 0x4000000\n\tIN_IGNORED                           = 0x8000\n\tIN_ISDIR                             = 0x40000000\n\tIN_LOOPBACKNET                       = 0x7f\n\tIN_MASK_ADD                          = 0x20000000\n\tIN_MODIFY                            = 0x2\n\tIN_MOVE                              = 0xc0\n\tIN_MOVED_FROM                        = 0x40\n\tIN_MOVED_TO                          = 0x80\n\tIN_MOVE_SELF                         = 0x800\n\tIN_NONBLOCK                          = 0x800\n\tIN_ONESHOT                           = 0x80000000\n\tIN_ONLYDIR                           = 0x1000000\n\tIN_OPEN                              = 0x20\n\tIN_Q_OVERFLOW                        = 0x4000\n\tIN_UNMOUNT                           = 0x2000\n\tIOCTL_VM_SOCKETS_GET_LOCAL_CID       = 0x7b9\n\tIPPROTO_AH                           = 0x33\n\tIPPROTO_BEETPH                       = 0x5e\n\tIPPROTO_COMP                         = 0x6c\n\tIPPROTO_DCCP                         = 0x21\n\tIPPROTO_DSTOPTS                      = 0x3c\n\tIPPROTO_EGP                          = 0x8\n\tIPPROTO_ENCAP                        = 0x62\n\tIPPROTO_ESP                          = 0x32\n\tIPPROTO_FRAGMENT                     = 0x2c\n\tIPPROTO_GRE                          = 0x2f\n\tIPPROTO_HOPOPTS                      = 0x0\n\tIPPROTO_ICMP                         = 0x1\n\tIPPROTO_ICMPV6                       = 0x3a\n\tIPPROTO_IDP                          = 0x16\n\tIPPROTO_IGMP                         = 0x2\n\tIPPROTO_IP                           = 0x0\n\tIPPROTO_IPIP                         = 0x4\n\tIPPROTO_IPV6                         = 0x29\n\tIPPROTO_MH                           = 0x87\n\tIPPROTO_MPLS                         = 0x89\n\tIPPROTO_MTP                          = 0x5c\n\tIPPROTO_NONE                         = 0x3b\n\tIPPROTO_PIM                          = 0x67\n\tIPPROTO_PUP                          = 0xc\n\tIPPROTO_RAW                          = 0xff\n\tIPPROTO_ROUTING                      = 0x2b\n\tIPPROTO_RSVP                         = 0x2e\n\tIPPROTO_SCTP                         = 0x84\n\tIPPROTO_TCP                          = 0x6\n\tIPPROTO_TP                           = 0x1d\n\tIPPROTO_UDP                          = 0x11\n\tIPPROTO_UDPLITE                      = 0x88\n\tIPV6_2292DSTOPTS                     = 0x4\n\tIPV6_2292HOPLIMIT                    = 0x8\n\tIPV6_2292HOPOPTS                     = 0x3\n\tIPV6_2292PKTINFO                     = 0x2\n\tIPV6_2292PKTOPTIONS                  = 0x6\n\tIPV6_2292RTHDR                       = 0x5\n\tIPV6_ADDRFORM                        = 0x1\n\tIPV6_ADDR_PREFERENCES                = 0x48\n\tIPV6_ADD_MEMBERSHIP                  = 0x14\n\tIPV6_AUTHHDR                         = 0xa\n\tIPV6_AUTOFLOWLABEL                   = 0x46\n\tIPV6_CHECKSUM                        = 0x7\n\tIPV6_DONTFRAG                        = 0x3e\n\tIPV6_DROP_MEMBERSHIP                 = 0x15\n\tIPV6_DSTOPTS                         = 0x3b\n\tIPV6_FREEBIND                        = 0x4e\n\tIPV6_HDRINCL                         = 0x24\n\tIPV6_HOPLIMIT                        = 0x34\n\tIPV6_HOPOPTS                         = 0x36\n\tIPV6_IPSEC_POLICY                    = 0x22\n\tIPV6_JOIN_ANYCAST                    = 0x1b\n\tIPV6_JOIN_GROUP                      = 0x14\n\tIPV6_LEAVE_ANYCAST                   = 0x1c\n\tIPV6_LEAVE_GROUP                     = 0x15\n\tIPV6_MINHOPCOUNT                     = 0x49\n\tIPV6_MTU                             = 0x18\n\tIPV6_MTU_DISCOVER                    = 0x17\n\tIPV6_MULTICAST_HOPS                  = 0x12\n\tIPV6_MULTICAST_IF                    = 0x11\n\tIPV6_MULTICAST_LOOP                  = 0x13\n\tIPV6_NEXTHOP                         = 0x9\n\tIPV6_ORIGDSTADDR                     = 0x4a\n\tIPV6_PATHMTU                         = 0x3d\n\tIPV6_PKTINFO                         = 0x32\n\tIPV6_PMTUDISC_DO                     = 0x2\n\tIPV6_PMTUDISC_DONT                   = 0x0\n\tIPV6_PMTUDISC_INTERFACE              = 0x4\n\tIPV6_PMTUDISC_OMIT                   = 0x5\n\tIPV6_PMTUDISC_PROBE                  = 0x3\n\tIPV6_PMTUDISC_WANT                   = 0x1\n\tIPV6_RECVDSTOPTS                     = 0x3a\n\tIPV6_RECVERR                         = 0x19\n\tIPV6_RECVFRAGSIZE                    = 0x4d\n\tIPV6_RECVHOPLIMIT                    = 0x33\n\tIPV6_RECVHOPOPTS                     = 0x35\n\tIPV6_RECVORIGDSTADDR                 = 0x4a\n\tIPV6_RECVPATHMTU                     = 0x3c\n\tIPV6_RECVPKTINFO                     = 0x31\n\tIPV6_RECVRTHDR                       = 0x38\n\tIPV6_RECVTCLASS                      = 0x42\n\tIPV6_ROUTER_ALERT                    = 0x16\n\tIPV6_RTHDR                           = 0x39\n\tIPV6_RTHDRDSTOPTS                    = 0x37\n\tIPV6_RTHDR_LOOSE                     = 0x0\n\tIPV6_RTHDR_STRICT                    = 0x1\n\tIPV6_RTHDR_TYPE_0                    = 0x0\n\tIPV6_RXDSTOPTS                       = 0x3b\n\tIPV6_RXHOPOPTS                       = 0x36\n\tIPV6_TCLASS                          = 0x43\n\tIPV6_TRANSPARENT                     = 0x4b\n\tIPV6_UNICAST_HOPS                    = 0x10\n\tIPV6_UNICAST_IF                      = 0x4c\n\tIPV6_V6ONLY                          = 0x1a\n\tIPV6_XFRM_POLICY                     = 0x23\n\tIP_ADD_MEMBERSHIP                    = 0x23\n\tIP_ADD_SOURCE_MEMBERSHIP             = 0x27\n\tIP_BIND_ADDRESS_NO_PORT              = 0x18\n\tIP_BLOCK_SOURCE                      = 0x26\n\tIP_CHECKSUM                          = 0x17\n\tIP_DEFAULT_MULTICAST_LOOP            = 0x1\n\tIP_DEFAULT_MULTICAST_TTL             = 0x1\n\tIP_DF                                = 0x4000\n\tIP_DROP_MEMBERSHIP                   = 0x24\n\tIP_DROP_SOURCE_MEMBERSHIP            = 0x28\n\tIP_FREEBIND                          = 0xf\n\tIP_HDRINCL                           = 0x3\n\tIP_IPSEC_POLICY                      = 0x10\n\tIP_MAXPACKET                         = 0xffff\n\tIP_MAX_MEMBERSHIPS                   = 0x14\n\tIP_MF                                = 0x2000\n\tIP_MINTTL                            = 0x15\n\tIP_MSFILTER                          = 0x29\n\tIP_MSS                               = 0x240\n\tIP_MTU                               = 0xe\n\tIP_MTU_DISCOVER                      = 0xa\n\tIP_MULTICAST_ALL                     = 0x31\n\tIP_MULTICAST_IF                      = 0x20\n\tIP_MULTICAST_LOOP                    = 0x22\n\tIP_MULTICAST_TTL                     = 0x21\n\tIP_NODEFRAG                          = 0x16\n\tIP_OFFMASK                           = 0x1fff\n\tIP_OPTIONS                           = 0x4\n\tIP_ORIGDSTADDR                       = 0x14\n\tIP_PASSSEC                           = 0x12\n\tIP_PKTINFO                           = 0x8\n\tIP_PKTOPTIONS                        = 0x9\n\tIP_PMTUDISC                          = 0xa\n\tIP_PMTUDISC_DO                       = 0x2\n\tIP_PMTUDISC_DONT                     = 0x0\n\tIP_PMTUDISC_INTERFACE                = 0x4\n\tIP_PMTUDISC_OMIT                     = 0x5\n\tIP_PMTUDISC_PROBE                    = 0x3\n\tIP_PMTUDISC_WANT                     = 0x1\n\tIP_RECVERR                           = 0xb\n\tIP_RECVFRAGSIZE                      = 0x19\n\tIP_RECVOPTS                          = 0x6\n\tIP_RECVORIGDSTADDR                   = 0x14\n\tIP_RECVRETOPTS                       = 0x7\n\tIP_RECVTOS                           = 0xd\n\tIP_RECVTTL                           = 0xc\n\tIP_RETOPTS                           = 0x7\n\tIP_RF                                = 0x8000\n\tIP_ROUTER_ALERT                      = 0x5\n\tIP_TOS                               = 0x1\n\tIP_TRANSPARENT                       = 0x13\n\tIP_TTL                               = 0x2\n\tIP_UNBLOCK_SOURCE                    = 0x25\n\tIP_UNICAST_IF                        = 0x32\n\tIP_XFRM_POLICY                       = 0x11\n\tISIG                                 = 0x1\n\tISOFS_SUPER_MAGIC                    = 0x9660\n\tISTRIP                               = 0x20\n\tIUCLC                                = 0x200\n\tIUTF8                                = 0x4000\n\tIXANY                                = 0x800\n\tIXOFF                                = 0x1000\n\tIXON                                 = 0x400\n\tJFFS2_SUPER_MAGIC                    = 0x72b6\n\tKEYCTL_ASSUME_AUTHORITY              = 0x10\n\tKEYCTL_CHOWN                         = 0x4\n\tKEYCTL_CLEAR                         = 0x7\n\tKEYCTL_DESCRIBE                      = 0x6\n\tKEYCTL_DH_COMPUTE                    = 0x17\n\tKEYCTL_GET_KEYRING_ID                = 0x0\n\tKEYCTL_GET_PERSISTENT                = 0x16\n\tKEYCTL_GET_SECURITY                  = 0x11\n\tKEYCTL_INSTANTIATE                   = 0xc\n\tKEYCTL_INSTANTIATE_IOV               = 0x14\n\tKEYCTL_INVALIDATE                    = 0x15\n\tKEYCTL_JOIN_SESSION_KEYRING          = 0x1\n\tKEYCTL_LINK                          = 0x8\n\tKEYCTL_NEGATE                        = 0xd\n\tKEYCTL_READ                          = 0xb\n\tKEYCTL_REJECT                        = 0x13\n\tKEYCTL_RESTRICT_KEYRING              = 0x1d\n\tKEYCTL_REVOKE                        = 0x3\n\tKEYCTL_SEARCH                        = 0xa\n\tKEYCTL_SESSION_TO_PARENT             = 0x12\n\tKEYCTL_SETPERM                       = 0x5\n\tKEYCTL_SET_REQKEY_KEYRING            = 0xe\n\tKEYCTL_SET_TIMEOUT                   = 0xf\n\tKEYCTL_UNLINK                        = 0x9\n\tKEYCTL_UPDATE                        = 0x2\n\tKEY_REQKEY_DEFL_DEFAULT              = 0x0\n\tKEY_REQKEY_DEFL_GROUP_KEYRING        = 0x6\n\tKEY_REQKEY_DEFL_NO_CHANGE            = -0x1\n\tKEY_REQKEY_DEFL_PROCESS_KEYRING      = 0x2\n\tKEY_REQKEY_DEFL_REQUESTOR_KEYRING    = 0x7\n\tKEY_REQKEY_DEFL_SESSION_KEYRING      = 0x3\n\tKEY_REQKEY_DEFL_THREAD_KEYRING       = 0x1\n\tKEY_REQKEY_DEFL_USER_KEYRING         = 0x4\n\tKEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5\n\tKEY_SPEC_GROUP_KEYRING               = -0x6\n\tKEY_SPEC_PROCESS_KEYRING             = -0x2\n\tKEY_SPEC_REQKEY_AUTH_KEY             = -0x7\n\tKEY_SPEC_REQUESTOR_KEYRING           = -0x8\n\tKEY_SPEC_SESSION_KEYRING             = -0x3\n\tKEY_SPEC_THREAD_KEYRING              = -0x1\n\tKEY_SPEC_USER_KEYRING                = -0x4\n\tKEY_SPEC_USER_SESSION_KEYRING        = -0x5\n\tLINUX_REBOOT_CMD_CAD_OFF             = 0x0\n\tLINUX_REBOOT_CMD_CAD_ON              = 0x89abcdef\n\tLINUX_REBOOT_CMD_HALT                = 0xcdef0123\n\tLINUX_REBOOT_CMD_KEXEC               = 0x45584543\n\tLINUX_REBOOT_CMD_POWER_OFF           = 0x4321fedc\n\tLINUX_REBOOT_CMD_RESTART             = 0x1234567\n\tLINUX_REBOOT_CMD_RESTART2            = 0xa1b2c3d4\n\tLINUX_REBOOT_CMD_SW_SUSPEND          = 0xd000fce2\n\tLINUX_REBOOT_MAGIC1                  = 0xfee1dead\n\tLINUX_REBOOT_MAGIC2                  = 0x28121969\n\tLOCK_EX                              = 0x2\n\tLOCK_NB                              = 0x4\n\tLOCK_SH                              = 0x1\n\tLOCK_UN                              = 0x8\n\tMADV_DODUMP                          = 0x11\n\tMADV_DOFORK                          = 0xb\n\tMADV_DONTDUMP                        = 0x10\n\tMADV_DONTFORK                        = 0xa\n\tMADV_DONTNEED                        = 0x4\n\tMADV_FREE                            = 0x8\n\tMADV_HUGEPAGE                        = 0xe\n\tMADV_HWPOISON                        = 0x64\n\tMADV_KEEPONFORK                      = 0x13\n\tMADV_MERGEABLE                       = 0xc\n\tMADV_NOHUGEPAGE                      = 0xf\n\tMADV_NORMAL                          = 0x0\n\tMADV_RANDOM                          = 0x1\n\tMADV_REMOVE                          = 0x9\n\tMADV_SEQUENTIAL                      = 0x2\n\tMADV_UNMERGEABLE                     = 0xd\n\tMADV_WILLNEED                        = 0x3\n\tMADV_WIPEONFORK                      = 0x12\n\tMAP_ANON                             = 0x20\n\tMAP_ANONYMOUS                        = 0x20\n\tMAP_DENYWRITE                        = 0x800\n\tMAP_EXECUTABLE                       = 0x1000\n\tMAP_FILE                             = 0x0\n\tMAP_FIXED                            = 0x10\n\tMAP_FIXED_NOREPLACE                  = 0x100000\n\tMAP_GROWSDOWN                        = 0x100\n\tMAP_HUGETLB                          = 0x40000\n\tMAP_HUGE_MASK                        = 0x3f\n\tMAP_HUGE_SHIFT                       = 0x1a\n\tMAP_LOCKED                           = 0x2000\n\tMAP_NONBLOCK                         = 0x10000\n\tMAP_NORESERVE                        = 0x4000\n\tMAP_POPULATE                         = 0x8000\n\tMAP_PRIVATE                          = 0x2\n\tMAP_SHARED                           = 0x1\n\tMAP_SHARED_VALIDATE                  = 0x3\n\tMAP_STACK                            = 0x20000\n\tMAP_SYNC                             = 0x80000\n\tMAP_TYPE                             = 0xf\n\tMCL_CURRENT                          = 0x1\n\tMCL_FUTURE                           = 0x2\n\tMCL_ONFAULT                          = 0x4\n\tMINIX2_SUPER_MAGIC                   = 0x2468\n\tMINIX2_SUPER_MAGIC2                  = 0x2478\n\tMINIX3_SUPER_MAGIC                   = 0x4d5a\n\tMINIX_SUPER_MAGIC                    = 0x137f\n\tMINIX_SUPER_MAGIC2                   = 0x138f\n\tMNT_DETACH                           = 0x2\n\tMNT_EXPIRE                           = 0x4\n\tMNT_FORCE                            = 0x1\n\tMSDOS_SUPER_MAGIC                    = 0x4d44\n\tMSG_BATCH                            = 0x40000\n\tMSG_CMSG_CLOEXEC                     = 0x40000000\n\tMSG_CONFIRM                          = 0x800\n\tMSG_CTRUNC                           = 0x8\n\tMSG_DONTROUTE                        = 0x4\n\tMSG_DONTWAIT                         = 0x40\n\tMSG_EOR                              = 0x80\n\tMSG_ERRQUEUE                         = 0x2000\n\tMSG_FASTOPEN                         = 0x20000000\n\tMSG_FIN                              = 0x200\n\tMSG_MORE                             = 0x8000\n\tMSG_NOSIGNAL                         = 0x4000\n\tMSG_OOB                              = 0x1\n\tMSG_PEEK                             = 0x2\n\tMSG_PROXY                            = 0x10\n\tMSG_RST                              = 0x1000\n\tMSG_SYN                              = 0x400\n\tMSG_TRUNC                            = 0x20\n\tMSG_TRYHARD                          = 0x4\n\tMSG_WAITALL                          = 0x100\n\tMSG_WAITFORONE                       = 0x10000\n\tMSG_ZEROCOPY                         = 0x4000000\n\tMS_ACTIVE                            = 0x40000000\n\tMS_ASYNC                             = 0x1\n\tMS_BIND                              = 0x1000\n\tMS_BORN                              = 0x20000000\n\tMS_DIRSYNC                           = 0x80\n\tMS_INVALIDATE                        = 0x2\n\tMS_I_VERSION                         = 0x800000\n\tMS_KERNMOUNT                         = 0x400000\n\tMS_LAZYTIME                          = 0x2000000\n\tMS_MANDLOCK                          = 0x40\n\tMS_MGC_MSK                           = 0xffff0000\n\tMS_MGC_VAL                           = 0xc0ed0000\n\tMS_MOVE                              = 0x2000\n\tMS_NOATIME                           = 0x400\n\tMS_NODEV                             = 0x4\n\tMS_NODIRATIME                        = 0x800\n\tMS_NOEXEC                            = 0x8\n\tMS_NOREMOTELOCK                      = 0x8000000\n\tMS_NOSEC                             = 0x10000000\n\tMS_NOSUID                            = 0x2\n\tMS_NOUSER                            = -0x80000000\n\tMS_POSIXACL                          = 0x10000\n\tMS_PRIVATE                           = 0x40000\n\tMS_RDONLY                            = 0x1\n\tMS_REC                               = 0x4000\n\tMS_RELATIME                          = 0x200000\n\tMS_REMOUNT                           = 0x20\n\tMS_RMT_MASK                          = 0x2800051\n\tMS_SHARED                            = 0x100000\n\tMS_SILENT                            = 0x8000\n\tMS_SLAVE                             = 0x80000\n\tMS_STRICTATIME                       = 0x1000000\n\tMS_SUBMOUNT                          = 0x4000000\n\tMS_SYNC                              = 0x4\n\tMS_SYNCHRONOUS                       = 0x10\n\tMS_UNBINDABLE                        = 0x20000\n\tMS_VERBOSE                           = 0x8000\n\tMTD_INODE_FS_MAGIC                   = 0x11307854\n\tNAME_MAX                             = 0xff\n\tNCP_SUPER_MAGIC                      = 0x564c\n\tNETLINK_ADD_MEMBERSHIP               = 0x1\n\tNETLINK_AUDIT                        = 0x9\n\tNETLINK_BROADCAST_ERROR              = 0x4\n\tNETLINK_CAP_ACK                      = 0xa\n\tNETLINK_CONNECTOR                    = 0xb\n\tNETLINK_CRYPTO                       = 0x15\n\tNETLINK_DNRTMSG                      = 0xe\n\tNETLINK_DROP_MEMBERSHIP              = 0x2\n\tNETLINK_ECRYPTFS                     = 0x13\n\tNETLINK_EXT_ACK                      = 0xb\n\tNETLINK_FIB_LOOKUP                   = 0xa\n\tNETLINK_FIREWALL                     = 0x3\n\tNETLINK_GENERIC                      = 0x10\n\tNETLINK_INET_DIAG                    = 0x4\n\tNETLINK_IP6_FW                       = 0xd\n\tNETLINK_ISCSI                        = 0x8\n\tNETLINK_KOBJECT_UEVENT               = 0xf\n\tNETLINK_LISTEN_ALL_NSID              = 0x8\n\tNETLINK_LIST_MEMBERSHIPS             = 0x9\n\tNETLINK_NETFILTER                    = 0xc\n\tNETLINK_NFLOG                        = 0x5\n\tNETLINK_NO_ENOBUFS                   = 0x5\n\tNETLINK_PKTINFO                      = 0x3\n\tNETLINK_RDMA                         = 0x14\n\tNETLINK_ROUTE                        = 0x0\n\tNETLINK_RX_RING                      = 0x6\n\tNETLINK_SCSITRANSPORT                = 0x12\n\tNETLINK_SELINUX                      = 0x7\n\tNETLINK_SMC                          = 0x16\n\tNETLINK_SOCK_DIAG                    = 0x4\n\tNETLINK_TX_RING                      = 0x7\n\tNETLINK_UNUSED                       = 0x1\n\tNETLINK_USERSOCK                     = 0x2\n\tNETLINK_XFRM                         = 0x6\n\tNETNSA_MAX                           = 0x3\n\tNETNSA_NSID_NOT_ASSIGNED             = -0x1\n\tNFNETLINK_V0                         = 0x0\n\tNFNLGRP_ACCT_QUOTA                   = 0x8\n\tNFNLGRP_CONNTRACK_DESTROY            = 0x3\n\tNFNLGRP_CONNTRACK_EXP_DESTROY        = 0x6\n\tNFNLGRP_CONNTRACK_EXP_NEW            = 0x4\n\tNFNLGRP_CONNTRACK_EXP_UPDATE         = 0x5\n\tNFNLGRP_CONNTRACK_NEW                = 0x1\n\tNFNLGRP_CONNTRACK_UPDATE             = 0x2\n\tNFNLGRP_MAX                          = 0x9\n\tNFNLGRP_NFTABLES                     = 0x7\n\tNFNLGRP_NFTRACE                      = 0x9\n\tNFNLGRP_NONE                         = 0x0\n\tNFNL_BATCH_MAX                       = 0x1\n\tNFNL_MSG_BATCH_BEGIN                 = 0x10\n\tNFNL_MSG_BATCH_END                   = 0x11\n\tNFNL_NFA_NEST                        = 0x8000\n\tNFNL_SUBSYS_ACCT                     = 0x7\n\tNFNL_SUBSYS_COUNT                    = 0xc\n\tNFNL_SUBSYS_CTHELPER                 = 0x9\n\tNFNL_SUBSYS_CTNETLINK                = 0x1\n\tNFNL_SUBSYS_CTNETLINK_EXP            = 0x2\n\tNFNL_SUBSYS_CTNETLINK_TIMEOUT        = 0x8\n\tNFNL_SUBSYS_IPSET                    = 0x6\n\tNFNL_SUBSYS_NFTABLES                 = 0xa\n\tNFNL_SUBSYS_NFT_COMPAT               = 0xb\n\tNFNL_SUBSYS_NONE                     = 0x0\n\tNFNL_SUBSYS_OSF                      = 0x5\n\tNFNL_SUBSYS_QUEUE                    = 0x3\n\tNFNL_SUBSYS_ULOG                     = 0x4\n\tNFS_SUPER_MAGIC                      = 0x6969\n\tNILFS_SUPER_MAGIC                    = 0x3434\n\tNL0                                  = 0x0\n\tNL1                                  = 0x100\n\tNLA_ALIGNTO                          = 0x4\n\tNLA_F_NESTED                         = 0x8000\n\tNLA_F_NET_BYTEORDER                  = 0x4000\n\tNLA_HDRLEN                           = 0x4\n\tNLDLY                                = 0x100\n\tNLMSG_ALIGNTO                        = 0x4\n\tNLMSG_DONE                           = 0x3\n\tNLMSG_ERROR                          = 0x2\n\tNLMSG_HDRLEN                         = 0x10\n\tNLMSG_MIN_TYPE                       = 0x10\n\tNLMSG_NOOP                           = 0x1\n\tNLMSG_OVERRUN                        = 0x4\n\tNLM_F_ACK                            = 0x4\n\tNLM_F_ACK_TLVS                       = 0x200\n\tNLM_F_APPEND                         = 0x800\n\tNLM_F_ATOMIC                         = 0x400\n\tNLM_F_CAPPED                         = 0x100\n\tNLM_F_CREATE                         = 0x400\n\tNLM_F_DUMP                           = 0x300\n\tNLM_F_DUMP_FILTERED                  = 0x20\n\tNLM_F_DUMP_INTR                      = 0x10\n\tNLM_F_ECHO                           = 0x8\n\tNLM_F_EXCL                           = 0x200\n\tNLM_F_MATCH                          = 0x200\n\tNLM_F_MULTI                          = 0x2\n\tNLM_F_NONREC                         = 0x100\n\tNLM_F_REPLACE                        = 0x100\n\tNLM_F_REQUEST                        = 0x1\n\tNLM_F_ROOT                           = 0x100\n\tNOFLSH                               = 0x80\n\tNSFS_MAGIC                           = 0x6e736673\n\tOCFS2_SUPER_MAGIC                    = 0x7461636f\n\tOCRNL                                = 0x8\n\tOFDEL                                = 0x80\n\tOFILL                                = 0x40\n\tOLCUC                                = 0x2\n\tONLCR                                = 0x4\n\tONLRET                               = 0x20\n\tONOCR                                = 0x10\n\tOPENPROM_SUPER_MAGIC                 = 0x9fa1\n\tOPOST                                = 0x1\n\tOVERLAYFS_SUPER_MAGIC                = 0x794c7630\n\tO_ACCMODE                            = 0x3\n\tO_APPEND                             = 0x400\n\tO_ASYNC                              = 0x2000\n\tO_CLOEXEC                            = 0x80000\n\tO_CREAT                              = 0x40\n\tO_DIRECT                             = 0x10000\n\tO_DIRECTORY                          = 0x4000\n\tO_DSYNC                              = 0x1000\n\tO_EXCL                               = 0x80\n\tO_FSYNC                              = 0x101000\n\tO_LARGEFILE                          = 0x20000\n\tO_NDELAY                             = 0x800\n\tO_NOATIME                            = 0x40000\n\tO_NOCTTY                             = 0x100\n\tO_NOFOLLOW                           = 0x8000\n\tO_NONBLOCK                           = 0x800\n\tO_PATH                               = 0x200000\n\tO_RDONLY                             = 0x0\n\tO_RDWR                               = 0x2\n\tO_RSYNC                              = 0x101000\n\tO_SYNC                               = 0x101000\n\tO_TMPFILE                            = 0x404000\n\tO_TRUNC                              = 0x200\n\tO_WRONLY                             = 0x1\n\tPACKET_ADD_MEMBERSHIP                = 0x1\n\tPACKET_AUXDATA                       = 0x8\n\tPACKET_BROADCAST                     = 0x1\n\tPACKET_COPY_THRESH                   = 0x7\n\tPACKET_DROP_MEMBERSHIP               = 0x2\n\tPACKET_FANOUT                        = 0x12\n\tPACKET_FANOUT_CBPF                   = 0x6\n\tPACKET_FANOUT_CPU                    = 0x2\n\tPACKET_FANOUT_DATA                   = 0x16\n\tPACKET_FANOUT_EBPF                   = 0x7\n\tPACKET_FANOUT_FLAG_DEFRAG            = 0x8000\n\tPACKET_FANOUT_FLAG_ROLLOVER          = 0x1000\n\tPACKET_FANOUT_FLAG_UNIQUEID          = 0x2000\n\tPACKET_FANOUT_HASH                   = 0x0\n\tPACKET_FANOUT_LB                     = 0x1\n\tPACKET_FANOUT_QM                     = 0x5\n\tPACKET_FANOUT_RND                    = 0x4\n\tPACKET_FANOUT_ROLLOVER               = 0x3\n\tPACKET_FASTROUTE                     = 0x6\n\tPACKET_HDRLEN                        = 0xb\n\tPACKET_HOST                          = 0x0\n\tPACKET_KERNEL                        = 0x7\n\tPACKET_LOOPBACK                      = 0x5\n\tPACKET_LOSS                          = 0xe\n\tPACKET_MR_ALLMULTI                   = 0x2\n\tPACKET_MR_MULTICAST                  = 0x0\n\tPACKET_MR_PROMISC                    = 0x1\n\tPACKET_MR_UNICAST                    = 0x3\n\tPACKET_MULTICAST                     = 0x2\n\tPACKET_ORIGDEV                       = 0x9\n\tPACKET_OTHERHOST                     = 0x3\n\tPACKET_OUTGOING                      = 0x4\n\tPACKET_QDISC_BYPASS                  = 0x14\n\tPACKET_RECV_OUTPUT                   = 0x3\n\tPACKET_RESERVE                       = 0xc\n\tPACKET_ROLLOVER_STATS                = 0x15\n\tPACKET_RX_RING                       = 0x5\n\tPACKET_STATISTICS                    = 0x6\n\tPACKET_TIMESTAMP                     = 0x11\n\tPACKET_TX_HAS_OFF                    = 0x13\n\tPACKET_TX_RING                       = 0xd\n\tPACKET_TX_TIMESTAMP                  = 0x10\n\tPACKET_USER                          = 0x6\n\tPACKET_VERSION                       = 0xa\n\tPACKET_VNET_HDR                      = 0xf\n\tPARENB                               = 0x100\n\tPARITY_CRC16_PR0                     = 0x2\n\tPARITY_CRC16_PR0_CCITT               = 0x4\n\tPARITY_CRC16_PR1                     = 0x3\n\tPARITY_CRC16_PR1_CCITT               = 0x5\n\tPARITY_CRC32_PR0_CCITT               = 0x6\n\tPARITY_CRC32_PR1_CCITT               = 0x7\n\tPARITY_DEFAULT                       = 0x0\n\tPARITY_NONE                          = 0x1\n\tPARMRK                               = 0x8\n\tPARODD                               = 0x200\n\tPENDIN                               = 0x4000\n\tPERF_EVENT_IOC_DISABLE               = 0x2401\n\tPERF_EVENT_IOC_ENABLE                = 0x2400\n\tPERF_EVENT_IOC_ID                    = 0x80042407\n\tPERF_EVENT_IOC_MODIFY_ATTRIBUTES     = 0x4004240b\n\tPERF_EVENT_IOC_PAUSE_OUTPUT          = 0x40042409\n\tPERF_EVENT_IOC_PERIOD                = 0x40082404\n\tPERF_EVENT_IOC_QUERY_BPF             = 0xc004240a\n\tPERF_EVENT_IOC_REFRESH               = 0x2402\n\tPERF_EVENT_IOC_RESET                 = 0x2403\n\tPERF_EVENT_IOC_SET_BPF               = 0x40042408\n\tPERF_EVENT_IOC_SET_FILTER            = 0x40042406\n\tPERF_EVENT_IOC_SET_OUTPUT            = 0x2405\n\tPIPEFS_MAGIC                         = 0x50495045\n\tPRIO_PGRP                            = 0x1\n\tPRIO_PROCESS                         = 0x0\n\tPRIO_USER                            = 0x2\n\tPROC_SUPER_MAGIC                     = 0x9fa0\n\tPROT_EXEC                            = 0x4\n\tPROT_GROWSDOWN                       = 0x1000000\n\tPROT_GROWSUP                         = 0x2000000\n\tPROT_NONE                            = 0x0\n\tPROT_READ                            = 0x1\n\tPROT_WRITE                           = 0x2\n\tPR_CAPBSET_DROP                      = 0x18\n\tPR_CAPBSET_READ                      = 0x17\n\tPR_CAP_AMBIENT                       = 0x2f\n\tPR_CAP_AMBIENT_CLEAR_ALL             = 0x4\n\tPR_CAP_AMBIENT_IS_SET                = 0x1\n\tPR_CAP_AMBIENT_LOWER                 = 0x3\n\tPR_CAP_AMBIENT_RAISE                 = 0x2\n\tPR_ENDIAN_BIG                        = 0x0\n\tPR_ENDIAN_LITTLE                     = 0x1\n\tPR_ENDIAN_PPC_LITTLE                 = 0x2\n\tPR_FPEMU_NOPRINT                     = 0x1\n\tPR_FPEMU_SIGFPE                      = 0x2\n\tPR_FP_EXC_ASYNC                      = 0x2\n\tPR_FP_EXC_DISABLED                   = 0x0\n\tPR_FP_EXC_DIV                        = 0x10000\n\tPR_FP_EXC_INV                        = 0x100000\n\tPR_FP_EXC_NONRECOV                   = 0x1\n\tPR_FP_EXC_OVF                        = 0x20000\n\tPR_FP_EXC_PRECISE                    = 0x3\n\tPR_FP_EXC_RES                        = 0x80000\n\tPR_FP_EXC_SW_ENABLE                  = 0x80\n\tPR_FP_EXC_UND                        = 0x40000\n\tPR_FP_MODE_FR                        = 0x1\n\tPR_FP_MODE_FRE                       = 0x2\n\tPR_GET_CHILD_SUBREAPER               = 0x25\n\tPR_GET_DUMPABLE                      = 0x3\n\tPR_GET_ENDIAN                        = 0x13\n\tPR_GET_FPEMU                         = 0x9\n\tPR_GET_FPEXC                         = 0xb\n\tPR_GET_FP_MODE                       = 0x2e\n\tPR_GET_KEEPCAPS                      = 0x7\n\tPR_GET_NAME                          = 0x10\n\tPR_GET_NO_NEW_PRIVS                  = 0x27\n\tPR_GET_PDEATHSIG                     = 0x2\n\tPR_GET_SECCOMP                       = 0x15\n\tPR_GET_SECUREBITS                    = 0x1b\n\tPR_GET_SPECULATION_CTRL              = 0x34\n\tPR_GET_THP_DISABLE                   = 0x2a\n\tPR_GET_TID_ADDRESS                   = 0x28\n\tPR_GET_TIMERSLACK                    = 0x1e\n\tPR_GET_TIMING                        = 0xd\n\tPR_GET_TSC                           = 0x19\n\tPR_GET_UNALIGN                       = 0x5\n\tPR_MCE_KILL                          = 0x21\n\tPR_MCE_KILL_CLEAR                    = 0x0\n\tPR_MCE_KILL_DEFAULT                  = 0x2\n\tPR_MCE_KILL_EARLY                    = 0x1\n\tPR_MCE_KILL_GET                      = 0x22\n\tPR_MCE_KILL_LATE                     = 0x0\n\tPR_MCE_KILL_SET                      = 0x1\n\tPR_MPX_DISABLE_MANAGEMENT            = 0x2c\n\tPR_MPX_ENABLE_MANAGEMENT             = 0x2b\n\tPR_SET_CHILD_SUBREAPER               = 0x24\n\tPR_SET_DUMPABLE                      = 0x4\n\tPR_SET_ENDIAN                        = 0x14\n\tPR_SET_FPEMU                         = 0xa\n\tPR_SET_FPEXC                         = 0xc\n\tPR_SET_FP_MODE                       = 0x2d\n\tPR_SET_KEEPCAPS                      = 0x8\n\tPR_SET_MM                            = 0x23\n\tPR_SET_MM_ARG_END                    = 0x9\n\tPR_SET_MM_ARG_START                  = 0x8\n\tPR_SET_MM_AUXV                       = 0xc\n\tPR_SET_MM_BRK                        = 0x7\n\tPR_SET_MM_END_CODE                   = 0x2\n\tPR_SET_MM_END_DATA                   = 0x4\n\tPR_SET_MM_ENV_END                    = 0xb\n\tPR_SET_MM_ENV_START                  = 0xa\n\tPR_SET_MM_EXE_FILE                   = 0xd\n\tPR_SET_MM_MAP                        = 0xe\n\tPR_SET_MM_MAP_SIZE                   = 0xf\n\tPR_SET_MM_START_BRK                  = 0x6\n\tPR_SET_MM_START_CODE                 = 0x1\n\tPR_SET_MM_START_DATA                 = 0x3\n\tPR_SET_MM_START_STACK                = 0x5\n\tPR_SET_NAME                          = 0xf\n\tPR_SET_NO_NEW_PRIVS                  = 0x26\n\tPR_SET_PDEATHSIG                     = 0x1\n\tPR_SET_PTRACER                       = 0x59616d61\n\tPR_SET_PTRACER_ANY                   = 0xffffffff\n\tPR_SET_SECCOMP                       = 0x16\n\tPR_SET_SECUREBITS                    = 0x1c\n\tPR_SET_SPECULATION_CTRL              = 0x35\n\tPR_SET_THP_DISABLE                   = 0x29\n\tPR_SET_TIMERSLACK                    = 0x1d\n\tPR_SET_TIMING                        = 0xe\n\tPR_SET_TSC                           = 0x1a\n\tPR_SET_UNALIGN                       = 0x6\n\tPR_SPEC_DISABLE                      = 0x4\n\tPR_SPEC_ENABLE                       = 0x2\n\tPR_SPEC_FORCE_DISABLE                = 0x8\n\tPR_SPEC_NOT_AFFECTED                 = 0x0\n\tPR_SPEC_PRCTL                        = 0x1\n\tPR_SPEC_STORE_BYPASS                 = 0x0\n\tPR_SVE_GET_VL                        = 0x33\n\tPR_SVE_SET_VL                        = 0x32\n\tPR_SVE_SET_VL_ONEXEC                 = 0x40000\n\tPR_SVE_VL_INHERIT                    = 0x20000\n\tPR_SVE_VL_LEN_MASK                   = 0xffff\n\tPR_TASK_PERF_EVENTS_DISABLE          = 0x1f\n\tPR_TASK_PERF_EVENTS_ENABLE           = 0x20\n\tPR_TIMING_STATISTICAL                = 0x0\n\tPR_TIMING_TIMESTAMP                  = 0x1\n\tPR_TSC_ENABLE                        = 0x1\n\tPR_TSC_SIGSEGV                       = 0x2\n\tPR_UNALIGN_NOPRINT                   = 0x1\n\tPR_UNALIGN_SIGBUS                    = 0x2\n\tPSTOREFS_MAGIC                       = 0x6165676c\n\tPTRACE_ATTACH                        = 0x10\n\tPTRACE_CONT                          = 0x7\n\tPTRACE_DETACH                        = 0x11\n\tPTRACE_EVENT_CLONE                   = 0x3\n\tPTRACE_EVENT_EXEC                    = 0x4\n\tPTRACE_EVENT_EXIT                    = 0x6\n\tPTRACE_EVENT_FORK                    = 0x1\n\tPTRACE_EVENT_SECCOMP                 = 0x7\n\tPTRACE_EVENT_STOP                    = 0x80\n\tPTRACE_EVENT_VFORK                   = 0x2\n\tPTRACE_EVENT_VFORK_DONE              = 0x5\n\tPTRACE_GETCRUNCHREGS                 = 0x19\n\tPTRACE_GETEVENTMSG                   = 0x4201\n\tPTRACE_GETFDPIC                      = 0x1f\n\tPTRACE_GETFDPIC_EXEC                 = 0x0\n\tPTRACE_GETFDPIC_INTERP               = 0x1\n\tPTRACE_GETFPREGS                     = 0xe\n\tPTRACE_GETHBPREGS                    = 0x1d\n\tPTRACE_GETREGS                       = 0xc\n\tPTRACE_GETREGSET                     = 0x4204\n\tPTRACE_GETSIGINFO                    = 0x4202\n\tPTRACE_GETSIGMASK                    = 0x420a\n\tPTRACE_GETVFPREGS                    = 0x1b\n\tPTRACE_GETWMMXREGS                   = 0x12\n\tPTRACE_GET_THREAD_AREA               = 0x16\n\tPTRACE_INTERRUPT                     = 0x4207\n\tPTRACE_KILL                          = 0x8\n\tPTRACE_LISTEN                        = 0x4208\n\tPTRACE_OLDSETOPTIONS                 = 0x15\n\tPTRACE_O_EXITKILL                    = 0x100000\n\tPTRACE_O_MASK                        = 0x3000ff\n\tPTRACE_O_SUSPEND_SECCOMP             = 0x200000\n\tPTRACE_O_TRACECLONE                  = 0x8\n\tPTRACE_O_TRACEEXEC                   = 0x10\n\tPTRACE_O_TRACEEXIT                   = 0x40\n\tPTRACE_O_TRACEFORK                   = 0x2\n\tPTRACE_O_TRACESECCOMP                = 0x80\n\tPTRACE_O_TRACESYSGOOD                = 0x1\n\tPTRACE_O_TRACEVFORK                  = 0x4\n\tPTRACE_O_TRACEVFORKDONE              = 0x20\n\tPTRACE_PEEKDATA                      = 0x2\n\tPTRACE_PEEKSIGINFO                   = 0x4209\n\tPTRACE_PEEKSIGINFO_SHARED            = 0x1\n\tPTRACE_PEEKTEXT                      = 0x1\n\tPTRACE_PEEKUSR                       = 0x3\n\tPTRACE_POKEDATA                      = 0x5\n\tPTRACE_POKETEXT                      = 0x4\n\tPTRACE_POKEUSR                       = 0x6\n\tPTRACE_SECCOMP_GET_FILTER            = 0x420c\n\tPTRACE_SECCOMP_GET_METADATA          = 0x420d\n\tPTRACE_SEIZE                         = 0x4206\n\tPTRACE_SETCRUNCHREGS                 = 0x1a\n\tPTRACE_SETFPREGS                     = 0xf\n\tPTRACE_SETHBPREGS                    = 0x1e\n\tPTRACE_SETOPTIONS                    = 0x4200\n\tPTRACE_SETREGS                       = 0xd\n\tPTRACE_SETREGSET                     = 0x4205\n\tPTRACE_SETSIGINFO                    = 0x4203\n\tPTRACE_SETSIGMASK                    = 0x420b\n\tPTRACE_SETVFPREGS                    = 0x1c\n\tPTRACE_SETWMMXREGS                   = 0x13\n\tPTRACE_SET_SYSCALL                   = 0x17\n\tPTRACE_SINGLESTEP                    = 0x9\n\tPTRACE_SYSCALL                       = 0x18\n\tPTRACE_TRACEME                       = 0x0\n\tPT_DATA_ADDR                         = 0x10004\n\tPT_TEXT_ADDR                         = 0x10000\n\tPT_TEXT_END_ADDR                     = 0x10008\n\tQNX4_SUPER_MAGIC                     = 0x2f\n\tQNX6_SUPER_MAGIC                     = 0x68191122\n\tRAMFS_MAGIC                          = 0x858458f6\n\tRDTGROUP_SUPER_MAGIC                 = 0x7655821\n\tREISERFS_SUPER_MAGIC                 = 0x52654973\n\tRENAME_EXCHANGE                      = 0x2\n\tRENAME_NOREPLACE                     = 0x1\n\tRENAME_WHITEOUT                      = 0x4\n\tRLIMIT_AS                            = 0x9\n\tRLIMIT_CORE                          = 0x4\n\tRLIMIT_CPU                           = 0x0\n\tRLIMIT_DATA                          = 0x2\n\tRLIMIT_FSIZE                         = 0x1\n\tRLIMIT_LOCKS                         = 0xa\n\tRLIMIT_MEMLOCK                       = 0x8\n\tRLIMIT_MSGQUEUE                      = 0xc\n\tRLIMIT_NICE                          = 0xd\n\tRLIMIT_NOFILE                        = 0x7\n\tRLIMIT_NPROC                         = 0x6\n\tRLIMIT_RSS                           = 0x5\n\tRLIMIT_RTPRIO                        = 0xe\n\tRLIMIT_RTTIME                        = 0xf\n\tRLIMIT_SIGPENDING                    = 0xb\n\tRLIMIT_STACK                         = 0x3\n\tRLIM_INFINITY                        = 0xffffffffffffffff\n\tRTAX_ADVMSS                          = 0x8\n\tRTAX_CC_ALGO                         = 0x10\n\tRTAX_CWND                            = 0x7\n\tRTAX_FASTOPEN_NO_COOKIE              = 0x11\n\tRTAX_FEATURES                        = 0xc\n\tRTAX_FEATURE_ALLFRAG                 = 0x8\n\tRTAX_FEATURE_ECN                     = 0x1\n\tRTAX_FEATURE_MASK                    = 0xf\n\tRTAX_FEATURE_SACK                    = 0x2\n\tRTAX_FEATURE_TIMESTAMP               = 0x4\n\tRTAX_HOPLIMIT                        = 0xa\n\tRTAX_INITCWND                        = 0xb\n\tRTAX_INITRWND                        = 0xe\n\tRTAX_LOCK                            = 0x1\n\tRTAX_MAX                             = 0x11\n\tRTAX_MTU                             = 0x2\n\tRTAX_QUICKACK                        = 0xf\n\tRTAX_REORDERING                      = 0x9\n\tRTAX_RTO_MIN                         = 0xd\n\tRTAX_RTT                             = 0x4\n\tRTAX_RTTVAR                          = 0x5\n\tRTAX_SSTHRESH                        = 0x6\n\tRTAX_UNSPEC                          = 0x0\n\tRTAX_WINDOW                          = 0x3\n\tRTA_ALIGNTO                          = 0x4\n\tRTA_MAX                              = 0x1d\n\tRTCF_DIRECTSRC                       = 0x4000000\n\tRTCF_DOREDIRECT                      = 0x1000000\n\tRTCF_LOG                             = 0x2000000\n\tRTCF_MASQ                            = 0x400000\n\tRTCF_NAT                             = 0x800000\n\tRTCF_VALVE                           = 0x200000\n\tRTC_AF                               = 0x20\n\tRTC_AIE_OFF                          = 0x7002\n\tRTC_AIE_ON                           = 0x7001\n\tRTC_ALM_READ                         = 0x80247008\n\tRTC_ALM_SET                          = 0x40247007\n\tRTC_EPOCH_READ                       = 0x8004700d\n\tRTC_EPOCH_SET                        = 0x4004700e\n\tRTC_IRQF                             = 0x80\n\tRTC_IRQP_READ                        = 0x8004700b\n\tRTC_IRQP_SET                         = 0x4004700c\n\tRTC_MAX_FREQ                         = 0x2000\n\tRTC_PF                               = 0x40\n\tRTC_PIE_OFF                          = 0x7006\n\tRTC_PIE_ON                           = 0x7005\n\tRTC_PLL_GET                          = 0x801c7011\n\tRTC_PLL_SET                          = 0x401c7012\n\tRTC_RD_TIME                          = 0x80247009\n\tRTC_SET_TIME                         = 0x4024700a\n\tRTC_UF                               = 0x10\n\tRTC_UIE_OFF                          = 0x7004\n\tRTC_UIE_ON                           = 0x7003\n\tRTC_VL_CLR                           = 0x7014\n\tRTC_VL_READ                          = 0x80047013\n\tRTC_WIE_OFF                          = 0x7010\n\tRTC_WIE_ON                           = 0x700f\n\tRTC_WKALM_RD                         = 0x80287010\n\tRTC_WKALM_SET                        = 0x4028700f\n\tRTF_ADDRCLASSMASK                    = 0xf8000000\n\tRTF_ADDRCONF                         = 0x40000\n\tRTF_ALLONLINK                        = 0x20000\n\tRTF_BROADCAST                        = 0x10000000\n\tRTF_CACHE                            = 0x1000000\n\tRTF_DEFAULT                          = 0x10000\n\tRTF_DYNAMIC                          = 0x10\n\tRTF_FLOW                             = 0x2000000\n\tRTF_GATEWAY                          = 0x2\n\tRTF_HOST                             = 0x4\n\tRTF_INTERFACE                        = 0x40000000\n\tRTF_IRTT                             = 0x100\n\tRTF_LINKRT                           = 0x100000\n\tRTF_LOCAL                            = 0x80000000\n\tRTF_MODIFIED                         = 0x20\n\tRTF_MSS                              = 0x40\n\tRTF_MTU                              = 0x40\n\tRTF_MULTICAST                        = 0x20000000\n\tRTF_NAT                              = 0x8000000\n\tRTF_NOFORWARD                        = 0x1000\n\tRTF_NONEXTHOP                        = 0x200000\n\tRTF_NOPMTUDISC                       = 0x4000\n\tRTF_POLICY                           = 0x4000000\n\tRTF_REINSTATE                        = 0x8\n\tRTF_REJECT                           = 0x200\n\tRTF_STATIC                           = 0x400\n\tRTF_THROW                            = 0x2000\n\tRTF_UP                               = 0x1\n\tRTF_WINDOW                           = 0x80\n\tRTF_XRESOLVE                         = 0x800\n\tRTM_BASE                             = 0x10\n\tRTM_DELACTION                        = 0x31\n\tRTM_DELADDR                          = 0x15\n\tRTM_DELADDRLABEL                     = 0x49\n\tRTM_DELLINK                          = 0x11\n\tRTM_DELMDB                           = 0x55\n\tRTM_DELNEIGH                         = 0x1d\n\tRTM_DELNETCONF                       = 0x51\n\tRTM_DELNSID                          = 0x59\n\tRTM_DELQDISC                         = 0x25\n\tRTM_DELROUTE                         = 0x19\n\tRTM_DELRULE                          = 0x21\n\tRTM_DELTCLASS                        = 0x29\n\tRTM_DELTFILTER                       = 0x2d\n\tRTM_F_CLONED                         = 0x200\n\tRTM_F_EQUALIZE                       = 0x400\n\tRTM_F_FIB_MATCH                      = 0x2000\n\tRTM_F_LOOKUP_TABLE                   = 0x1000\n\tRTM_F_NOTIFY                         = 0x100\n\tRTM_F_PREFIX                         = 0x800\n\tRTM_GETACTION                        = 0x32\n\tRTM_GETADDR                          = 0x16\n\tRTM_GETADDRLABEL                     = 0x4a\n\tRTM_GETANYCAST                       = 0x3e\n\tRTM_GETDCB                           = 0x4e\n\tRTM_GETLINK                          = 0x12\n\tRTM_GETMDB                           = 0x56\n\tRTM_GETMULTICAST                     = 0x3a\n\tRTM_GETNEIGH                         = 0x1e\n\tRTM_GETNEIGHTBL                      = 0x42\n\tRTM_GETNETCONF                       = 0x52\n\tRTM_GETNSID                          = 0x5a\n\tRTM_GETQDISC                         = 0x26\n\tRTM_GETROUTE                         = 0x1a\n\tRTM_GETRULE                          = 0x22\n\tRTM_GETSTATS                         = 0x5e\n\tRTM_GETTCLASS                        = 0x2a\n\tRTM_GETTFILTER                       = 0x2e\n\tRTM_MAX                              = 0x63\n\tRTM_NEWACTION                        = 0x30\n\tRTM_NEWADDR                          = 0x14\n\tRTM_NEWADDRLABEL                     = 0x48\n\tRTM_NEWCACHEREPORT                   = 0x60\n\tRTM_NEWLINK                          = 0x10\n\tRTM_NEWMDB                           = 0x54\n\tRTM_NEWNDUSEROPT                     = 0x44\n\tRTM_NEWNEIGH                         = 0x1c\n\tRTM_NEWNEIGHTBL                      = 0x40\n\tRTM_NEWNETCONF                       = 0x50\n\tRTM_NEWNSID                          = 0x58\n\tRTM_NEWPREFIX                        = 0x34\n\tRTM_NEWQDISC                         = 0x24\n\tRTM_NEWROUTE                         = 0x18\n\tRTM_NEWRULE                          = 0x20\n\tRTM_NEWSTATS                         = 0x5c\n\tRTM_NEWTCLASS                        = 0x28\n\tRTM_NEWTFILTER                       = 0x2c\n\tRTM_NR_FAMILIES                      = 0x15\n\tRTM_NR_MSGTYPES                      = 0x54\n\tRTM_SETDCB                           = 0x4f\n\tRTM_SETLINK                          = 0x13\n\tRTM_SETNEIGHTBL                      = 0x43\n\tRTNH_ALIGNTO                         = 0x4\n\tRTNH_COMPARE_MASK                    = 0x19\n\tRTNH_F_DEAD                          = 0x1\n\tRTNH_F_LINKDOWN                      = 0x10\n\tRTNH_F_OFFLOAD                       = 0x8\n\tRTNH_F_ONLINK                        = 0x4\n\tRTNH_F_PERVASIVE                     = 0x2\n\tRTNH_F_UNRESOLVED                    = 0x20\n\tRTN_MAX                              = 0xb\n\tRTPROT_BABEL                         = 0x2a\n\tRTPROT_BGP                           = 0xba\n\tRTPROT_BIRD                          = 0xc\n\tRTPROT_BOOT                          = 0x3\n\tRTPROT_DHCP                          = 0x10\n\tRTPROT_DNROUTED                      = 0xd\n\tRTPROT_EIGRP                         = 0xc0\n\tRTPROT_GATED                         = 0x8\n\tRTPROT_ISIS                          = 0xbb\n\tRTPROT_KERNEL                        = 0x2\n\tRTPROT_MROUTED                       = 0x11\n\tRTPROT_MRT                           = 0xa\n\tRTPROT_NTK                           = 0xf\n\tRTPROT_OSPF                          = 0xbc\n\tRTPROT_RA                            = 0x9\n\tRTPROT_REDIRECT                      = 0x1\n\tRTPROT_RIP                           = 0xbd\n\tRTPROT_STATIC                        = 0x4\n\tRTPROT_UNSPEC                        = 0x0\n\tRTPROT_XORP                          = 0xe\n\tRTPROT_ZEBRA                         = 0xb\n\tRT_CLASS_DEFAULT                     = 0xfd\n\tRT_CLASS_LOCAL                       = 0xff\n\tRT_CLASS_MAIN                        = 0xfe\n\tRT_CLASS_MAX                         = 0xff\n\tRT_CLASS_UNSPEC                      = 0x0\n\tRUSAGE_CHILDREN                      = -0x1\n\tRUSAGE_SELF                          = 0x0\n\tRUSAGE_THREAD                        = 0x1\n\tSCM_CREDENTIALS                      = 0x2\n\tSCM_RIGHTS                           = 0x1\n\tSCM_TIMESTAMP                        = 0x1d\n\tSCM_TIMESTAMPING                     = 0x25\n\tSCM_TIMESTAMPING_OPT_STATS           = 0x36\n\tSCM_TIMESTAMPING_PKTINFO             = 0x3a\n\tSCM_TIMESTAMPNS                      = 0x23\n\tSCM_WIFI_STATUS                      = 0x29\n\tSECCOMP_MODE_DISABLED                = 0x0\n\tSECCOMP_MODE_FILTER                  = 0x2\n\tSECCOMP_MODE_STRICT                  = 0x1\n\tSECURITYFS_MAGIC                     = 0x73636673\n\tSELINUX_MAGIC                        = 0xf97cff8c\n\tSHUT_RD                              = 0x0\n\tSHUT_RDWR                            = 0x2\n\tSHUT_WR                              = 0x1\n\tSIOCADDDLCI                          = 0x8980\n\tSIOCADDMULTI                         = 0x8931\n\tSIOCADDRT                            = 0x890b\n\tSIOCATMARK                           = 0x8905\n\tSIOCBONDCHANGEACTIVE                 = 0x8995\n\tSIOCBONDENSLAVE                      = 0x8990\n\tSIOCBONDINFOQUERY                    = 0x8994\n\tSIOCBONDRELEASE                      = 0x8991\n\tSIOCBONDSETHWADDR                    = 0x8992\n\tSIOCBONDSLAVEINFOQUERY               = 0x8993\n\tSIOCBRADDBR                          = 0x89a0\n\tSIOCBRADDIF                          = 0x89a2\n\tSIOCBRDELBR                          = 0x89a1\n\tSIOCBRDELIF                          = 0x89a3\n\tSIOCDARP                             = 0x8953\n\tSIOCDELDLCI                          = 0x8981\n\tSIOCDELMULTI                         = 0x8932\n\tSIOCDELRT                            = 0x890c\n\tSIOCDEVPRIVATE                       = 0x89f0\n\tSIOCDIFADDR                          = 0x8936\n\tSIOCDRARP                            = 0x8960\n\tSIOCETHTOOL                          = 0x8946\n\tSIOCGARP                             = 0x8954\n\tSIOCGHWTSTAMP                        = 0x89b1\n\tSIOCGIFADDR                          = 0x8915\n\tSIOCGIFBR                            = 0x8940\n\tSIOCGIFBRDADDR                       = 0x8919\n\tSIOCGIFCONF                          = 0x8912\n\tSIOCGIFCOUNT                         = 0x8938\n\tSIOCGIFDSTADDR                       = 0x8917\n\tSIOCGIFENCAP                         = 0x8925\n\tSIOCGIFFLAGS                         = 0x8913\n\tSIOCGIFHWADDR                        = 0x8927\n\tSIOCGIFINDEX                         = 0x8933\n\tSIOCGIFMAP                           = 0x8970\n\tSIOCGIFMEM                           = 0x891f\n\tSIOCGIFMETRIC                        = 0x891d\n\tSIOCGIFMTU                           = 0x8921\n\tSIOCGIFNAME                          = 0x8910\n\tSIOCGIFNETMASK                       = 0x891b\n\tSIOCGIFPFLAGS                        = 0x8935\n\tSIOCGIFSLAVE                         = 0x8929\n\tSIOCGIFTXQLEN                        = 0x8942\n\tSIOCGIFVLAN                          = 0x8982\n\tSIOCGMIIPHY                          = 0x8947\n\tSIOCGMIIREG                          = 0x8948\n\tSIOCGPGRP                            = 0x8904\n\tSIOCGRARP                            = 0x8961\n\tSIOCGSKNS                            = 0x894c\n\tSIOCGSTAMP                           = 0x8906\n\tSIOCGSTAMPNS                         = 0x8907\n\tSIOCINQ                              = 0x541b\n\tSIOCOUTQ                             = 0x5411\n\tSIOCOUTQNSD                          = 0x894b\n\tSIOCPROTOPRIVATE                     = 0x89e0\n\tSIOCRTMSG                            = 0x890d\n\tSIOCSARP                             = 0x8955\n\tSIOCSHWTSTAMP                        = 0x89b0\n\tSIOCSIFADDR                          = 0x8916\n\tSIOCSIFBR                            = 0x8941\n\tSIOCSIFBRDADDR                       = 0x891a\n\tSIOCSIFDSTADDR                       = 0x8918\n\tSIOCSIFENCAP                         = 0x8926\n\tSIOCSIFFLAGS                         = 0x8914\n\tSIOCSIFHWADDR                        = 0x8924\n\tSIOCSIFHWBROADCAST                   = 0x8937\n\tSIOCSIFLINK                          = 0x8911\n\tSIOCSIFMAP                           = 0x8971\n\tSIOCSIFMEM                           = 0x8920\n\tSIOCSIFMETRIC                        = 0x891e\n\tSIOCSIFMTU                           = 0x8922\n\tSIOCSIFNAME                          = 0x8923\n\tSIOCSIFNETMASK                       = 0x891c\n\tSIOCSIFPFLAGS                        = 0x8934\n\tSIOCSIFSLAVE                         = 0x8930\n\tSIOCSIFTXQLEN                        = 0x8943\n\tSIOCSIFVLAN                          = 0x8983\n\tSIOCSMIIREG                          = 0x8949\n\tSIOCSPGRP                            = 0x8902\n\tSIOCSRARP                            = 0x8962\n\tSIOCWANDEV                           = 0x894a\n\tSMACK_MAGIC                          = 0x43415d53\n\tSMART_AUTOSAVE                       = 0xd2\n\tSMART_AUTO_OFFLINE                   = 0xdb\n\tSMART_DISABLE                        = 0xd9\n\tSMART_ENABLE                         = 0xd8\n\tSMART_HCYL_PASS                      = 0xc2\n\tSMART_IMMEDIATE_OFFLINE              = 0xd4\n\tSMART_LCYL_PASS                      = 0x4f\n\tSMART_READ_LOG_SECTOR                = 0xd5\n\tSMART_READ_THRESHOLDS                = 0xd1\n\tSMART_READ_VALUES                    = 0xd0\n\tSMART_SAVE                           = 0xd3\n\tSMART_STATUS                         = 0xda\n\tSMART_WRITE_LOG_SECTOR               = 0xd6\n\tSMART_WRITE_THRESHOLDS               = 0xd7\n\tSMB_SUPER_MAGIC                      = 0x517b\n\tSOCKFS_MAGIC                         = 0x534f434b\n\tSOCK_CLOEXEC                         = 0x80000\n\tSOCK_DCCP                            = 0x6\n\tSOCK_DGRAM                           = 0x2\n\tSOCK_IOC_TYPE                        = 0x89\n\tSOCK_NONBLOCK                        = 0x800\n\tSOCK_PACKET                          = 0xa\n\tSOCK_RAW                             = 0x3\n\tSOCK_RDM                             = 0x4\n\tSOCK_SEQPACKET                       = 0x5\n\tSOCK_STREAM                          = 0x1\n\tSOL_AAL                              = 0x109\n\tSOL_ALG                              = 0x117\n\tSOL_ATM                              = 0x108\n\tSOL_CAIF                             = 0x116\n\tSOL_CAN_BASE                         = 0x64\n\tSOL_DCCP                             = 0x10d\n\tSOL_DECNET                           = 0x105\n\tSOL_ICMPV6                           = 0x3a\n\tSOL_IP                               = 0x0\n\tSOL_IPV6                             = 0x29\n\tSOL_IRDA                             = 0x10a\n\tSOL_IUCV                             = 0x115\n\tSOL_KCM                              = 0x119\n\tSOL_LLC                              = 0x10c\n\tSOL_NETBEUI                          = 0x10b\n\tSOL_NETLINK                          = 0x10e\n\tSOL_NFC                              = 0x118\n\tSOL_PACKET                           = 0x107\n\tSOL_PNPIPE                           = 0x113\n\tSOL_PPPOL2TP                         = 0x111\n\tSOL_RAW                              = 0xff\n\tSOL_RDS                              = 0x114\n\tSOL_RXRPC                            = 0x110\n\tSOL_SOCKET                           = 0x1\n\tSOL_TCP                              = 0x6\n\tSOL_TIPC                             = 0x10f\n\tSOL_TLS                              = 0x11a\n\tSOL_X25                              = 0x106\n\tSOMAXCONN                            = 0x80\n\tSO_ACCEPTCONN                        = 0x1e\n\tSO_ATTACH_BPF                        = 0x32\n\tSO_ATTACH_FILTER                     = 0x1a\n\tSO_ATTACH_REUSEPORT_CBPF             = 0x33\n\tSO_ATTACH_REUSEPORT_EBPF             = 0x34\n\tSO_BINDTODEVICE                      = 0x19\n\tSO_BPF_EXTENSIONS                    = 0x30\n\tSO_BROADCAST                         = 0x6\n\tSO_BSDCOMPAT                         = 0xe\n\tSO_BUSY_POLL                         = 0x2e\n\tSO_CNX_ADVICE                        = 0x35\n\tSO_COOKIE                            = 0x39\n\tSO_DEBUG                             = 0x1\n\tSO_DETACH_BPF                        = 0x1b\n\tSO_DETACH_FILTER                     = 0x1b\n\tSO_DOMAIN                            = 0x27\n\tSO_DONTROUTE                         = 0x5\n\tSO_ERROR                             = 0x4\n\tSO_GET_FILTER                        = 0x1a\n\tSO_INCOMING_CPU                      = 0x31\n\tSO_INCOMING_NAPI_ID                  = 0x38\n\tSO_KEEPALIVE                         = 0x9\n\tSO_LINGER                            = 0xd\n\tSO_LOCK_FILTER                       = 0x2c\n\tSO_MARK                              = 0x24\n\tSO_MAX_PACING_RATE                   = 0x2f\n\tSO_MEMINFO                           = 0x37\n\tSO_NOFCS                             = 0x2b\n\tSO_NO_CHECK                          = 0xb\n\tSO_OOBINLINE                         = 0xa\n\tSO_PASSCRED                          = 0x10\n\tSO_PASSSEC                           = 0x22\n\tSO_PEEK_OFF                          = 0x2a\n\tSO_PEERCRED                          = 0x11\n\tSO_PEERGROUPS                        = 0x3b\n\tSO_PEERNAME                          = 0x1c\n\tSO_PEERSEC                           = 0x1f\n\tSO_PRIORITY                          = 0xc\n\tSO_PROTOCOL                          = 0x26\n\tSO_RCVBUF                            = 0x8\n\tSO_RCVBUFFORCE                       = 0x21\n\tSO_RCVLOWAT                          = 0x12\n\tSO_RCVTIMEO                          = 0x14\n\tSO_REUSEADDR                         = 0x2\n\tSO_REUSEPORT                         = 0xf\n\tSO_RXQ_OVFL                          = 0x28\n\tSO_SECURITY_AUTHENTICATION           = 0x16\n\tSO_SECURITY_ENCRYPTION_NETWORK       = 0x18\n\tSO_SECURITY_ENCRYPTION_TRANSPORT     = 0x17\n\tSO_SELECT_ERR_QUEUE                  = 0x2d\n\tSO_SNDBUF                            = 0x7\n\tSO_SNDBUFFORCE                       = 0x20\n\tSO_SNDLOWAT                          = 0x13\n\tSO_SNDTIMEO                          = 0x15\n\tSO_TIMESTAMP                         = 0x1d\n\tSO_TIMESTAMPING                      = 0x25\n\tSO_TIMESTAMPNS                       = 0x23\n\tSO_TYPE                              = 0x3\n\tSO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2\n\tSO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1\n\tSO_VM_SOCKETS_BUFFER_SIZE            = 0x0\n\tSO_VM_SOCKETS_CONNECT_TIMEOUT        = 0x6\n\tSO_VM_SOCKETS_NONBLOCK_TXRX          = 0x7\n\tSO_VM_SOCKETS_PEER_HOST_VM_ID        = 0x3\n\tSO_VM_SOCKETS_TRUSTED                = 0x5\n\tSO_WIFI_STATUS                       = 0x29\n\tSO_ZEROCOPY                          = 0x3c\n\tSPLICE_F_GIFT                        = 0x8\n\tSPLICE_F_MORE                        = 0x4\n\tSPLICE_F_MOVE                        = 0x1\n\tSPLICE_F_NONBLOCK                    = 0x2\n\tSQUASHFS_MAGIC                       = 0x73717368\n\tSTACK_END_MAGIC                      = 0x57ac6e9d\n\tSTATX_ALL                            = 0xfff\n\tSTATX_ATIME                          = 0x20\n\tSTATX_ATTR_APPEND                    = 0x20\n\tSTATX_ATTR_AUTOMOUNT                 = 0x1000\n\tSTATX_ATTR_COMPRESSED                = 0x4\n\tSTATX_ATTR_ENCRYPTED                 = 0x800\n\tSTATX_ATTR_IMMUTABLE                 = 0x10\n\tSTATX_ATTR_NODUMP                    = 0x40\n\tSTATX_BASIC_STATS                    = 0x7ff\n\tSTATX_BLOCKS                         = 0x400\n\tSTATX_BTIME                          = 0x800\n\tSTATX_CTIME                          = 0x80\n\tSTATX_GID                            = 0x10\n\tSTATX_INO                            = 0x100\n\tSTATX_MODE                           = 0x2\n\tSTATX_MTIME                          = 0x40\n\tSTATX_NLINK                          = 0x4\n\tSTATX_SIZE                           = 0x200\n\tSTATX_TYPE                           = 0x1\n\tSTATX_UID                            = 0x8\n\tSTATX__RESERVED                      = 0x80000000\n\tSYSFS_MAGIC                          = 0x62656572\n\tS_BLKSIZE                            = 0x200\n\tS_IEXEC                              = 0x40\n\tS_IFBLK                              = 0x6000\n\tS_IFCHR                              = 0x2000\n\tS_IFDIR                              = 0x4000\n\tS_IFIFO                              = 0x1000\n\tS_IFLNK                              = 0xa000\n\tS_IFMT                               = 0xf000\n\tS_IFREG                              = 0x8000\n\tS_IFSOCK                             = 0xc000\n\tS_IREAD                              = 0x100\n\tS_IRGRP                              = 0x20\n\tS_IROTH                              = 0x4\n\tS_IRUSR                              = 0x100\n\tS_IRWXG                              = 0x38\n\tS_IRWXO                              = 0x7\n\tS_IRWXU                              = 0x1c0\n\tS_ISGID                              = 0x400\n\tS_ISUID                              = 0x800\n\tS_ISVTX                              = 0x200\n\tS_IWGRP                              = 0x10\n\tS_IWOTH                              = 0x2\n\tS_IWRITE                             = 0x80\n\tS_IWUSR                              = 0x80\n\tS_IXGRP                              = 0x8\n\tS_IXOTH                              = 0x1\n\tS_IXUSR                              = 0x40\n\tTAB0                                 = 0x0\n\tTAB1                                 = 0x800\n\tTAB2                                 = 0x1000\n\tTAB3                                 = 0x1800\n\tTABDLY                               = 0x1800\n\tTASKSTATS_CMD_ATTR_MAX               = 0x4\n\tTASKSTATS_CMD_MAX                    = 0x2\n\tTASKSTATS_GENL_NAME                  = \"TASKSTATS\"\n\tTASKSTATS_GENL_VERSION               = 0x1\n\tTASKSTATS_TYPE_MAX                   = 0x6\n\tTASKSTATS_VERSION                    = 0x8\n\tTCFLSH                               = 0x540b\n\tTCGETA                               = 0x5405\n\tTCGETS                               = 0x5401\n\tTCGETS2                              = 0x802c542a\n\tTCGETX                               = 0x5432\n\tTCIFLUSH                             = 0x0\n\tTCIOFF                               = 0x2\n\tTCIOFLUSH                            = 0x2\n\tTCION                                = 0x3\n\tTCOFLUSH                             = 0x1\n\tTCOOFF                               = 0x0\n\tTCOON                                = 0x1\n\tTCP_CC_INFO                          = 0x1a\n\tTCP_CONGESTION                       = 0xd\n\tTCP_COOKIE_IN_ALWAYS                 = 0x1\n\tTCP_COOKIE_MAX                       = 0x10\n\tTCP_COOKIE_MIN                       = 0x8\n\tTCP_COOKIE_OUT_NEVER                 = 0x2\n\tTCP_COOKIE_PAIR_SIZE                 = 0x20\n\tTCP_COOKIE_TRANSACTIONS              = 0xf\n\tTCP_CORK                             = 0x3\n\tTCP_DEFER_ACCEPT                     = 0x9\n\tTCP_FASTOPEN                         = 0x17\n\tTCP_FASTOPEN_CONNECT                 = 0x1e\n\tTCP_FASTOPEN_KEY                     = 0x21\n\tTCP_FASTOPEN_NO_COOKIE               = 0x22\n\tTCP_INFO                             = 0xb\n\tTCP_KEEPCNT                          = 0x6\n\tTCP_KEEPIDLE                         = 0x4\n\tTCP_KEEPINTVL                        = 0x5\n\tTCP_LINGER2                          = 0x8\n\tTCP_MAXSEG                           = 0x2\n\tTCP_MAXWIN                           = 0xffff\n\tTCP_MAX_WINSHIFT                     = 0xe\n\tTCP_MD5SIG                           = 0xe\n\tTCP_MD5SIG_EXT                       = 0x20\n\tTCP_MD5SIG_FLAG_PREFIX               = 0x1\n\tTCP_MD5SIG_MAXKEYLEN                 = 0x50\n\tTCP_MSS                              = 0x200\n\tTCP_MSS_DEFAULT                      = 0x218\n\tTCP_MSS_DESIRED                      = 0x4c4\n\tTCP_NODELAY                          = 0x1\n\tTCP_NOTSENT_LOWAT                    = 0x19\n\tTCP_QUEUE_SEQ                        = 0x15\n\tTCP_QUICKACK                         = 0xc\n\tTCP_REPAIR                           = 0x13\n\tTCP_REPAIR_OPTIONS                   = 0x16\n\tTCP_REPAIR_QUEUE                     = 0x14\n\tTCP_REPAIR_WINDOW                    = 0x1d\n\tTCP_SAVED_SYN                        = 0x1c\n\tTCP_SAVE_SYN                         = 0x1b\n\tTCP_SYNCNT                           = 0x7\n\tTCP_S_DATA_IN                        = 0x4\n\tTCP_S_DATA_OUT                       = 0x8\n\tTCP_THIN_DUPACK                      = 0x11\n\tTCP_THIN_LINEAR_TIMEOUTS             = 0x10\n\tTCP_TIMESTAMP                        = 0x18\n\tTCP_ULP                              = 0x1f\n\tTCP_USER_TIMEOUT                     = 0x12\n\tTCP_WINDOW_CLAMP                     = 0xa\n\tTCSAFLUSH                            = 0x2\n\tTCSBRK                               = 0x5409\n\tTCSBRKP                              = 0x5425\n\tTCSETA                               = 0x5406\n\tTCSETAF                              = 0x5408\n\tTCSETAW                              = 0x5407\n\tTCSETS                               = 0x5402\n\tTCSETS2                              = 0x402c542b\n\tTCSETSF                              = 0x5404\n\tTCSETSF2                             = 0x402c542d\n\tTCSETSW                              = 0x5403\n\tTCSETSW2                             = 0x402c542c\n\tTCSETX                               = 0x5433\n\tTCSETXF                              = 0x5434\n\tTCSETXW                              = 0x5435\n\tTCXONC                               = 0x540a\n\tTIOCCBRK                             = 0x5428\n\tTIOCCONS                             = 0x541d\n\tTIOCEXCL                             = 0x540c\n\tTIOCGDEV                             = 0x80045432\n\tTIOCGETD                             = 0x5424\n\tTIOCGEXCL                            = 0x80045440\n\tTIOCGICOUNT                          = 0x545d\n\tTIOCGLCKTRMIOS                       = 0x5456\n\tTIOCGPGRP                            = 0x540f\n\tTIOCGPKT                             = 0x80045438\n\tTIOCGPTLCK                           = 0x80045439\n\tTIOCGPTN                             = 0x80045430\n\tTIOCGPTPEER                          = 0x5441\n\tTIOCGRS485                           = 0x542e\n\tTIOCGSERIAL                          = 0x541e\n\tTIOCGSID                             = 0x5429\n\tTIOCGSOFTCAR                         = 0x5419\n\tTIOCGWINSZ                           = 0x5413\n\tTIOCINQ                              = 0x541b\n\tTIOCLINUX                            = 0x541c\n\tTIOCMBIC                             = 0x5417\n\tTIOCMBIS                             = 0x5416\n\tTIOCMGET                             = 0x5415\n\tTIOCMIWAIT                           = 0x545c\n\tTIOCMSET                             = 0x5418\n\tTIOCM_CAR                            = 0x40\n\tTIOCM_CD                             = 0x40\n\tTIOCM_CTS                            = 0x20\n\tTIOCM_DSR                            = 0x100\n\tTIOCM_DTR                            = 0x2\n\tTIOCM_LE                             = 0x1\n\tTIOCM_RI                             = 0x80\n\tTIOCM_RNG                            = 0x80\n\tTIOCM_RTS                            = 0x4\n\tTIOCM_SR                             = 0x10\n\tTIOCM_ST                             = 0x8\n\tTIOCNOTTY                            = 0x5422\n\tTIOCNXCL                             = 0x540d\n\tTIOCOUTQ                             = 0x5411\n\tTIOCPKT                              = 0x5420\n\tTIOCPKT_DATA                         = 0x0\n\tTIOCPKT_DOSTOP                       = 0x20\n\tTIOCPKT_FLUSHREAD                    = 0x1\n\tTIOCPKT_FLUSHWRITE                   = 0x2\n\tTIOCPKT_IOCTL                        = 0x40\n\tTIOCPKT_NOSTOP                       = 0x10\n\tTIOCPKT_START                        = 0x8\n\tTIOCPKT_STOP                         = 0x4\n\tTIOCSBRK                             = 0x5427\n\tTIOCSCTTY                            = 0x540e\n\tTIOCSERCONFIG                        = 0x5453\n\tTIOCSERGETLSR                        = 0x5459\n\tTIOCSERGETMULTI                      = 0x545a\n\tTIOCSERGSTRUCT                       = 0x5458\n\tTIOCSERGWILD                         = 0x5454\n\tTIOCSERSETMULTI                      = 0x545b\n\tTIOCSERSWILD                         = 0x5455\n\tTIOCSER_TEMT                         = 0x1\n\tTIOCSETD                             = 0x5423\n\tTIOCSIG                              = 0x40045436\n\tTIOCSLCKTRMIOS                       = 0x5457\n\tTIOCSPGRP                            = 0x5410\n\tTIOCSPTLCK                           = 0x40045431\n\tTIOCSRS485                           = 0x542f\n\tTIOCSSERIAL                          = 0x541f\n\tTIOCSSOFTCAR                         = 0x541a\n\tTIOCSTI                              = 0x5412\n\tTIOCSWINSZ                           = 0x5414\n\tTIOCVHANGUP                          = 0x5437\n\tTMPFS_MAGIC                          = 0x1021994\n\tTOSTOP                               = 0x100\n\tTPACKET_ALIGNMENT                    = 0x10\n\tTPACKET_HDRLEN                       = 0x34\n\tTP_STATUS_AVAILABLE                  = 0x0\n\tTP_STATUS_BLK_TMO                    = 0x20\n\tTP_STATUS_COPY                       = 0x2\n\tTP_STATUS_CSUMNOTREADY               = 0x8\n\tTP_STATUS_CSUM_VALID                 = 0x80\n\tTP_STATUS_KERNEL                     = 0x0\n\tTP_STATUS_LOSING                     = 0x4\n\tTP_STATUS_SENDING                    = 0x2\n\tTP_STATUS_SEND_REQUEST               = 0x1\n\tTP_STATUS_TS_RAW_HARDWARE            = -0x80000000\n\tTP_STATUS_TS_SOFTWARE                = 0x20000000\n\tTP_STATUS_TS_SYS_HARDWARE            = 0x40000000\n\tTP_STATUS_USER                       = 0x1\n\tTP_STATUS_VLAN_TPID_VALID            = 0x40\n\tTP_STATUS_VLAN_VALID                 = 0x10\n\tTP_STATUS_WRONG_FORMAT               = 0x4\n\tTRACEFS_MAGIC                        = 0x74726163\n\tTS_COMM_LEN                          = 0x20\n\tTUNATTACHFILTER                      = 0x400854d5\n\tTUNDETACHFILTER                      = 0x400854d6\n\tTUNGETFEATURES                       = 0x800454cf\n\tTUNGETFILTER                         = 0x800854db\n\tTUNGETIFF                            = 0x800454d2\n\tTUNGETSNDBUF                         = 0x800454d3\n\tTUNGETVNETBE                         = 0x800454df\n\tTUNGETVNETHDRSZ                      = 0x800454d7\n\tTUNGETVNETLE                         = 0x800454dd\n\tTUNSETDEBUG                          = 0x400454c9\n\tTUNSETFILTEREBPF                     = 0x800454e1\n\tTUNSETGROUP                          = 0x400454ce\n\tTUNSETIFF                            = 0x400454ca\n\tTUNSETIFINDEX                        = 0x400454da\n\tTUNSETLINK                           = 0x400454cd\n\tTUNSETNOCSUM                         = 0x400454c8\n\tTUNSETOFFLOAD                        = 0x400454d0\n\tTUNSETOWNER                          = 0x400454cc\n\tTUNSETPERSIST                        = 0x400454cb\n\tTUNSETQUEUE                          = 0x400454d9\n\tTUNSETSNDBUF                         = 0x400454d4\n\tTUNSETSTEERINGEBPF                   = 0x800454e0\n\tTUNSETTXFILTER                       = 0x400454d1\n\tTUNSETVNETBE                         = 0x400454de\n\tTUNSETVNETHDRSZ                      = 0x400454d8\n\tTUNSETVNETLE                         = 0x400454dc\n\tUDF_SUPER_MAGIC                      = 0x15013346\n\tUMOUNT_NOFOLLOW                      = 0x8\n\tUSBDEVICE_SUPER_MAGIC                = 0x9fa2\n\tUTIME_NOW                            = 0x3fffffff\n\tUTIME_OMIT                           = 0x3ffffffe\n\tV9FS_MAGIC                           = 0x1021997\n\tVDISCARD                             = 0xd\n\tVEOF                                 = 0x4\n\tVEOL                                 = 0xb\n\tVEOL2                                = 0x10\n\tVERASE                               = 0x2\n\tVINTR                                = 0x0\n\tVKILL                                = 0x3\n\tVLNEXT                               = 0xf\n\tVMADDR_CID_ANY                       = 0xffffffff\n\tVMADDR_CID_HOST                      = 0x2\n\tVMADDR_CID_HYPERVISOR                = 0x0\n\tVMADDR_CID_RESERVED                  = 0x1\n\tVMADDR_PORT_ANY                      = 0xffffffff\n\tVMIN                                 = 0x6\n\tVM_SOCKETS_INVALID_VERSION           = 0xffffffff\n\tVQUIT                                = 0x1\n\tVREPRINT                             = 0xc\n\tVSTART                               = 0x8\n\tVSTOP                                = 0x9\n\tVSUSP                                = 0xa\n\tVSWTC                                = 0x7\n\tVT0                                  = 0x0\n\tVT1                                  = 0x4000\n\tVTDLY                                = 0x4000\n\tVTIME                                = 0x5\n\tVWERASE                              = 0xe\n\tWALL                                 = 0x40000000\n\tWCLONE                               = 0x80000000\n\tWCONTINUED                           = 0x8\n\tWDIOC_GETBOOTSTATUS                  = 0x80045702\n\tWDIOC_GETPRETIMEOUT                  = 0x80045709\n\tWDIOC_GETSTATUS                      = 0x80045701\n\tWDIOC_GETSUPPORT                     = 0x80285700\n\tWDIOC_GETTEMP                        = 0x80045703\n\tWDIOC_GETTIMELEFT                    = 0x8004570a\n\tWDIOC_GETTIMEOUT                     = 0x80045707\n\tWDIOC_KEEPALIVE                      = 0x80045705\n\tWDIOC_SETOPTIONS                     = 0x80045704\n\tWDIOC_SETPRETIMEOUT                  = 0xc0045708\n\tWDIOC_SETTIMEOUT                     = 0xc0045706\n\tWEXITED                              = 0x4\n\tWIN_ACKMEDIACHANGE                   = 0xdb\n\tWIN_CHECKPOWERMODE1                  = 0xe5\n\tWIN_CHECKPOWERMODE2                  = 0x98\n\tWIN_DEVICE_RESET                     = 0x8\n\tWIN_DIAGNOSE                         = 0x90\n\tWIN_DOORLOCK                         = 0xde\n\tWIN_DOORUNLOCK                       = 0xdf\n\tWIN_DOWNLOAD_MICROCODE               = 0x92\n\tWIN_FLUSH_CACHE                      = 0xe7\n\tWIN_FLUSH_CACHE_EXT                  = 0xea\n\tWIN_FORMAT                           = 0x50\n\tWIN_GETMEDIASTATUS                   = 0xda\n\tWIN_IDENTIFY                         = 0xec\n\tWIN_IDENTIFY_DMA                     = 0xee\n\tWIN_IDLEIMMEDIATE                    = 0xe1\n\tWIN_INIT                             = 0x60\n\tWIN_MEDIAEJECT                       = 0xed\n\tWIN_MULTREAD                         = 0xc4\n\tWIN_MULTREAD_EXT                     = 0x29\n\tWIN_MULTWRITE                        = 0xc5\n\tWIN_MULTWRITE_EXT                    = 0x39\n\tWIN_NOP                              = 0x0\n\tWIN_PACKETCMD                        = 0xa0\n\tWIN_PIDENTIFY                        = 0xa1\n\tWIN_POSTBOOT                         = 0xdc\n\tWIN_PREBOOT                          = 0xdd\n\tWIN_QUEUED_SERVICE                   = 0xa2\n\tWIN_READ                             = 0x20\n\tWIN_READDMA                          = 0xc8\n\tWIN_READDMA_EXT                      = 0x25\n\tWIN_READDMA_ONCE                     = 0xc9\n\tWIN_READDMA_QUEUED                   = 0xc7\n\tWIN_READDMA_QUEUED_EXT               = 0x26\n\tWIN_READ_BUFFER                      = 0xe4\n\tWIN_READ_EXT                         = 0x24\n\tWIN_READ_LONG                        = 0x22\n\tWIN_READ_LONG_ONCE                   = 0x23\n\tWIN_READ_NATIVE_MAX                  = 0xf8\n\tWIN_READ_NATIVE_MAX_EXT              = 0x27\n\tWIN_READ_ONCE                        = 0x21\n\tWIN_RECAL                            = 0x10\n\tWIN_RESTORE                          = 0x10\n\tWIN_SECURITY_DISABLE                 = 0xf6\n\tWIN_SECURITY_ERASE_PREPARE           = 0xf3\n\tWIN_SECURITY_ERASE_UNIT              = 0xf4\n\tWIN_SECURITY_FREEZE_LOCK             = 0xf5\n\tWIN_SECURITY_SET_PASS                = 0xf1\n\tWIN_SECURITY_UNLOCK                  = 0xf2\n\tWIN_SEEK                             = 0x70\n\tWIN_SETFEATURES                      = 0xef\n\tWIN_SETIDLE1                         = 0xe3\n\tWIN_SETIDLE2                         = 0x97\n\tWIN_SETMULT                          = 0xc6\n\tWIN_SET_MAX                          = 0xf9\n\tWIN_SET_MAX_EXT                      = 0x37\n\tWIN_SLEEPNOW1                        = 0xe6\n\tWIN_SLEEPNOW2                        = 0x99\n\tWIN_SMART                            = 0xb0\n\tWIN_SPECIFY                          = 0x91\n\tWIN_SRST                             = 0x8\n\tWIN_STANDBY                          = 0xe2\n\tWIN_STANDBY2                         = 0x96\n\tWIN_STANDBYNOW1                      = 0xe0\n\tWIN_STANDBYNOW2                      = 0x94\n\tWIN_VERIFY                           = 0x40\n\tWIN_VERIFY_EXT                       = 0x42\n\tWIN_VERIFY_ONCE                      = 0x41\n\tWIN_WRITE                            = 0x30\n\tWIN_WRITEDMA                         = 0xca\n\tWIN_WRITEDMA_EXT                     = 0x35\n\tWIN_WRITEDMA_ONCE                    = 0xcb\n\tWIN_WRITEDMA_QUEUED                  = 0xcc\n\tWIN_WRITEDMA_QUEUED_EXT              = 0x36\n\tWIN_WRITE_BUFFER                     = 0xe8\n\tWIN_WRITE_EXT                        = 0x34\n\tWIN_WRITE_LONG                       = 0x32\n\tWIN_WRITE_LONG_ONCE                  = 0x33\n\tWIN_WRITE_ONCE                       = 0x31\n\tWIN_WRITE_SAME                       = 0xe9\n\tWIN_WRITE_VERIFY                     = 0x3c\n\tWNOHANG                              = 0x1\n\tWNOTHREAD                            = 0x20000000\n\tWNOWAIT                              = 0x1000000\n\tWORDSIZE                             = 0x20\n\tWSTOPPED                             = 0x2\n\tWUNTRACED                            = 0x2\n\tXATTR_CREATE                         = 0x1\n\tXATTR_REPLACE                        = 0x2\n\tXCASE                                = 0x4\n\tXENFS_SUPER_MAGIC                    = 0xabba1974\n\tXTABS                                = 0x1800\n\tZSMALLOC_MAGIC                       = 0x58295829\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x62)\n\tEADDRNOTAVAIL   = syscall.Errno(0x63)\n\tEADV            = syscall.Errno(0x44)\n\tEAFNOSUPPORT    = syscall.Errno(0x61)\n\tEAGAIN          = syscall.Errno(0xb)\n\tEALREADY        = syscall.Errno(0x72)\n\tEBADE           = syscall.Errno(0x34)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADFD          = syscall.Errno(0x4d)\n\tEBADMSG         = syscall.Errno(0x4a)\n\tEBADR           = syscall.Errno(0x35)\n\tEBADRQC         = syscall.Errno(0x38)\n\tEBADSLT         = syscall.Errno(0x39)\n\tEBFONT          = syscall.Errno(0x3b)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x7d)\n\tECHILD          = syscall.Errno(0xa)\n\tECHRNG          = syscall.Errno(0x2c)\n\tECOMM           = syscall.Errno(0x46)\n\tECONNABORTED    = syscall.Errno(0x67)\n\tECONNREFUSED    = syscall.Errno(0x6f)\n\tECONNRESET      = syscall.Errno(0x68)\n\tEDEADLK         = syscall.Errno(0x23)\n\tEDEADLOCK       = syscall.Errno(0x23)\n\tEDESTADDRREQ    = syscall.Errno(0x59)\n\tEDOM            = syscall.Errno(0x21)\n\tEDOTDOT         = syscall.Errno(0x49)\n\tEDQUOT          = syscall.Errno(0x7a)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEHOSTDOWN       = syscall.Errno(0x70)\n\tEHOSTUNREACH    = syscall.Errno(0x71)\n\tEHWPOISON       = syscall.Errno(0x85)\n\tEIDRM           = syscall.Errno(0x2b)\n\tEILSEQ          = syscall.Errno(0x54)\n\tEINPROGRESS     = syscall.Errno(0x73)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x6a)\n\tEISDIR          = syscall.Errno(0x15)\n\tEISNAM          = syscall.Errno(0x78)\n\tEKEYEXPIRED     = syscall.Errno(0x7f)\n\tEKEYREJECTED    = syscall.Errno(0x81)\n\tEKEYREVOKED     = syscall.Errno(0x80)\n\tEL2HLT          = syscall.Errno(0x33)\n\tEL2NSYNC        = syscall.Errno(0x2d)\n\tEL3HLT          = syscall.Errno(0x2e)\n\tEL3RST          = syscall.Errno(0x2f)\n\tELIBACC         = syscall.Errno(0x4f)\n\tELIBBAD         = syscall.Errno(0x50)\n\tELIBEXEC        = syscall.Errno(0x53)\n\tELIBMAX         = syscall.Errno(0x52)\n\tELIBSCN         = syscall.Errno(0x51)\n\tELNRNG          = syscall.Errno(0x30)\n\tELOOP           = syscall.Errno(0x28)\n\tEMEDIUMTYPE     = syscall.Errno(0x7c)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x5a)\n\tEMULTIHOP       = syscall.Errno(0x48)\n\tENAMETOOLONG    = syscall.Errno(0x24)\n\tENAVAIL         = syscall.Errno(0x77)\n\tENETDOWN        = syscall.Errno(0x64)\n\tENETRESET       = syscall.Errno(0x66)\n\tENETUNREACH     = syscall.Errno(0x65)\n\tENFILE          = syscall.Errno(0x17)\n\tENOANO          = syscall.Errno(0x37)\n\tENOBUFS         = syscall.Errno(0x69)\n\tENOCSI          = syscall.Errno(0x32)\n\tENODATA         = syscall.Errno(0x3d)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOKEY          = syscall.Errno(0x7e)\n\tENOLCK          = syscall.Errno(0x25)\n\tENOLINK         = syscall.Errno(0x43)\n\tENOMEDIUM       = syscall.Errno(0x7b)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x2a)\n\tENONET          = syscall.Errno(0x40)\n\tENOPKG          = syscall.Errno(0x41)\n\tENOPROTOOPT     = syscall.Errno(0x5c)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x3f)\n\tENOSTR          = syscall.Errno(0x3c)\n\tENOSYS          = syscall.Errno(0x26)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x6b)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x27)\n\tENOTNAM         = syscall.Errno(0x76)\n\tENOTRECOVERABLE = syscall.Errno(0x83)\n\tENOTSOCK        = syscall.Errno(0x58)\n\tENOTSUP         = syscall.Errno(0x5f)\n\tENOTTY          = syscall.Errno(0x19)\n\tENOTUNIQ        = syscall.Errno(0x4c)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x5f)\n\tEOVERFLOW       = syscall.Errno(0x4b)\n\tEOWNERDEAD      = syscall.Errno(0x82)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x60)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROTO          = syscall.Errno(0x47)\n\tEPROTONOSUPPORT = syscall.Errno(0x5d)\n\tEPROTOTYPE      = syscall.Errno(0x5b)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMCHG         = syscall.Errno(0x4e)\n\tEREMOTE         = syscall.Errno(0x42)\n\tEREMOTEIO       = syscall.Errno(0x79)\n\tERESTART        = syscall.Errno(0x55)\n\tERFKILL         = syscall.Errno(0x84)\n\tEROFS           = syscall.Errno(0x1e)\n\tESHUTDOWN       = syscall.Errno(0x6c)\n\tESOCKTNOSUPPORT = syscall.Errno(0x5e)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESRMNT          = syscall.Errno(0x45)\n\tESTALE          = syscall.Errno(0x74)\n\tESTRPIPE        = syscall.Errno(0x56)\n\tETIME           = syscall.Errno(0x3e)\n\tETIMEDOUT       = syscall.Errno(0x6e)\n\tETOOMANYREFS    = syscall.Errno(0x6d)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUCLEAN         = syscall.Errno(0x75)\n\tEUNATCH         = syscall.Errno(0x31)\n\tEUSERS          = syscall.Errno(0x57)\n\tEWOULDBLOCK     = syscall.Errno(0xb)\n\tEXDEV           = syscall.Errno(0x12)\n\tEXFULL          = syscall.Errno(0x36)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0x7)\n\tSIGCHLD   = syscall.Signal(0x11)\n\tSIGCLD    = syscall.Signal(0x11)\n\tSIGCONT   = syscall.Signal(0x12)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x1d)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPOLL   = syscall.Signal(0x1d)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGPWR    = syscall.Signal(0x1e)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTKFLT = syscall.Signal(0x10)\n\tSIGSTOP   = syscall.Signal(0x13)\n\tSIGSYS    = syscall.Signal(0x1f)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x14)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x17)\n\tSIGUSR1   = syscall.Signal(0xa)\n\tSIGUSR2   = syscall.Signal(0xc)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errorList = [...]struct {\n\tnum  syscall.Errno\n\tname string\n\tdesc string\n}{\n\t{1, \"EPERM\", \"operation not permitted\"},\n\t{2, \"ENOENT\", \"no such file or directory\"},\n\t{3, \"ESRCH\", \"no such process\"},\n\t{4, \"EINTR\", \"interrupted system call\"},\n\t{5, \"EIO\", \"input/output error\"},\n\t{6, \"ENXIO\", \"no such device or address\"},\n\t{7, \"E2BIG\", \"argument list too long\"},\n\t{8, \"ENOEXEC\", \"exec format error\"},\n\t{9, \"EBADF\", \"bad file descriptor\"},\n\t{10, \"ECHILD\", \"no child processes\"},\n\t{11, \"EAGAIN\", \"resource temporarily unavailable\"},\n\t{12, \"ENOMEM\", \"cannot allocate memory\"},\n\t{13, \"EACCES\", \"permission denied\"},\n\t{14, \"EFAULT\", \"bad address\"},\n\t{15, \"ENOTBLK\", \"block device required\"},\n\t{16, \"EBUSY\", \"device or resource busy\"},\n\t{17, \"EEXIST\", \"file exists\"},\n\t{18, \"EXDEV\", \"invalid cross-device link\"},\n\t{19, \"ENODEV\", \"no such device\"},\n\t{20, \"ENOTDIR\", \"not a directory\"},\n\t{21, \"EISDIR\", \"is a directory\"},\n\t{22, \"EINVAL\", \"invalid argument\"},\n\t{23, \"ENFILE\", \"too many open files in system\"},\n\t{24, \"EMFILE\", \"too many open files\"},\n\t{25, \"ENOTTY\", \"inappropriate ioctl for device\"},\n\t{26, \"ETXTBSY\", \"text file busy\"},\n\t{27, \"EFBIG\", \"file too large\"},\n\t{28, \"ENOSPC\", \"no space left on device\"},\n\t{29, \"ESPIPE\", \"illegal seek\"},\n\t{30, \"EROFS\", \"read-only file system\"},\n\t{31, \"EMLINK\", \"too many links\"},\n\t{32, \"EPIPE\", \"broken pipe\"},\n\t{33, \"EDOM\", \"numerical argument out of domain\"},\n\t{34, \"ERANGE\", \"numerical result out of range\"},\n\t{35, \"EDEADLK\", \"resource deadlock avoided\"},\n\t{36, \"ENAMETOOLONG\", \"file name too long\"},\n\t{37, \"ENOLCK\", \"no locks available\"},\n\t{38, \"ENOSYS\", \"function not implemented\"},\n\t{39, \"ENOTEMPTY\", \"directory not empty\"},\n\t{40, \"ELOOP\", \"too many levels of symbolic links\"},\n\t{42, \"ENOMSG\", \"no message of desired type\"},\n\t{43, \"EIDRM\", \"identifier removed\"},\n\t{44, \"ECHRNG\", \"channel number out of range\"},\n\t{45, \"EL2NSYNC\", \"level 2 not synchronized\"},\n\t{46, \"EL3HLT\", \"level 3 halted\"},\n\t{47, \"EL3RST\", \"level 3 reset\"},\n\t{48, \"ELNRNG\", \"link number out of range\"},\n\t{49, \"EUNATCH\", \"protocol driver not attached\"},\n\t{50, \"ENOCSI\", \"no CSI structure available\"},\n\t{51, \"EL2HLT\", \"level 2 halted\"},\n\t{52, \"EBADE\", \"invalid exchange\"},\n\t{53, \"EBADR\", \"invalid request descriptor\"},\n\t{54, \"EXFULL\", \"exchange full\"},\n\t{55, \"ENOANO\", \"no anode\"},\n\t{56, \"EBADRQC\", \"invalid request code\"},\n\t{57, \"EBADSLT\", \"invalid slot\"},\n\t{59, \"EBFONT\", \"bad font file format\"},\n\t{60, \"ENOSTR\", \"device not a stream\"},\n\t{61, \"ENODATA\", \"no data available\"},\n\t{62, \"ETIME\", \"timer expired\"},\n\t{63, \"ENOSR\", \"out of streams resources\"},\n\t{64, \"ENONET\", \"machine is not on the network\"},\n\t{65, \"ENOPKG\", \"package not installed\"},\n\t{66, \"EREMOTE\", \"object is remote\"},\n\t{67, \"ENOLINK\", \"link has been severed\"},\n\t{68, \"EADV\", \"advertise error\"},\n\t{69, \"ESRMNT\", \"srmount error\"},\n\t{70, \"ECOMM\", \"communication error on send\"},\n\t{71, \"EPROTO\", \"protocol error\"},\n\t{72, \"EMULTIHOP\", \"multihop attempted\"},\n\t{73, \"EDOTDOT\", \"RFS specific error\"},\n\t{74, \"EBADMSG\", \"bad message\"},\n\t{75, \"EOVERFLOW\", \"value too large for defined data type\"},\n\t{76, \"ENOTUNIQ\", \"name not unique on network\"},\n\t{77, \"EBADFD\", \"file descriptor in bad state\"},\n\t{78, \"EREMCHG\", \"remote address changed\"},\n\t{79, \"ELIBACC\", \"can not access a needed shared library\"},\n\t{80, \"ELIBBAD\", \"accessing a corrupted shared library\"},\n\t{81, \"ELIBSCN\", \".lib section in a.out corrupted\"},\n\t{82, \"ELIBMAX\", \"attempting to link in too many shared libraries\"},\n\t{83, \"ELIBEXEC\", \"cannot exec a shared library directly\"},\n\t{84, \"EILSEQ\", \"invalid or incomplete multibyte or wide character\"},\n\t{85, \"ERESTART\", \"interrupted system call should be restarted\"},\n\t{86, \"ESTRPIPE\", \"streams pipe error\"},\n\t{87, \"EUSERS\", \"too many users\"},\n\t{88, \"ENOTSOCK\", \"socket operation on non-socket\"},\n\t{89, \"EDESTADDRREQ\", \"destination address required\"},\n\t{90, \"EMSGSIZE\", \"message too long\"},\n\t{91, \"EPROTOTYPE\", \"protocol wrong type for socket\"},\n\t{92, \"ENOPROTOOPT\", \"protocol not available\"},\n\t{93, \"EPROTONOSUPPORT\", \"protocol not supported\"},\n\t{94, \"ESOCKTNOSUPPORT\", \"socket type not supported\"},\n\t{95, \"ENOTSUP\", \"operation not supported\"},\n\t{96, \"EPFNOSUPPORT\", \"protocol family not supported\"},\n\t{97, \"EAFNOSUPPORT\", \"address family not supported by protocol\"},\n\t{98, \"EADDRINUSE\", \"address already in use\"},\n\t{99, \"EADDRNOTAVAIL\", \"cannot assign requested address\"},\n\t{100, \"ENETDOWN\", \"network is down\"},\n\t{101, \"ENETUNREACH\", \"network is unreachable\"},\n\t{102, \"ENETRESET\", \"network dropped connection on reset\"},\n\t{103, \"ECONNABORTED\", \"software caused connection abort\"},\n\t{104, \"ECONNRESET\", \"connection reset by peer\"},\n\t{105, \"ENOBUFS\", \"no buffer space available\"},\n\t{106, \"EISCONN\", \"transport endpoint is already connected\"},\n\t{107, \"ENOTCONN\", \"transport endpoint is not connected\"},\n\t{108, \"ESHUTDOWN\", \"cannot send after transport endpoint shutdown\"},\n\t{109, \"ETOOMANYREFS\", \"too many references: cannot splice\"},\n\t{110, \"ETIMEDOUT\", \"connection timed out\"},\n\t{111, \"ECONNREFUSED\", \"connection refused\"},\n\t{112, \"EHOSTDOWN\", \"host is down\"},\n\t{113, \"EHOSTUNREACH\", \"no route to host\"},\n\t{114, \"EALREADY\", \"operation already in progress\"},\n\t{115, \"EINPROGRESS\", \"operation now in progress\"},\n\t{116, \"ESTALE\", \"stale file handle\"},\n\t{117, \"EUCLEAN\", \"structure needs cleaning\"},\n\t{118, \"ENOTNAM\", \"not a XENIX named type file\"},\n\t{119, \"ENAVAIL\", \"no XENIX semaphores available\"},\n\t{120, \"EISNAM\", \"is a named type file\"},\n\t{121, \"EREMOTEIO\", \"remote I/O error\"},\n\t{122, \"EDQUOT\", \"disk quota exceeded\"},\n\t{123, \"ENOMEDIUM\", \"no medium found\"},\n\t{124, \"EMEDIUMTYPE\", \"wrong medium type\"},\n\t{125, \"ECANCELED\", \"operation canceled\"},\n\t{126, \"ENOKEY\", \"required key not available\"},\n\t{127, \"EKEYEXPIRED\", \"key has expired\"},\n\t{128, \"EKEYREVOKED\", \"key has been revoked\"},\n\t{129, \"EKEYREJECTED\", \"key was rejected by service\"},\n\t{130, \"EOWNERDEAD\", \"owner died\"},\n\t{131, \"ENOTRECOVERABLE\", \"state not recoverable\"},\n\t{132, \"ERFKILL\", \"operation not possible due to RF-kill\"},\n\t{133, \"EHWPOISON\", \"memory page has hardware error\"},\n}\n\n// Signal table\nvar signalList = [...]struct {\n\tnum  syscall.Signal\n\tname string\n\tdesc string\n}{\n\t{1, \"SIGHUP\", \"hangup\"},\n\t{2, \"SIGINT\", \"interrupt\"},\n\t{3, \"SIGQUIT\", \"quit\"},\n\t{4, \"SIGILL\", \"illegal instruction\"},\n\t{5, \"SIGTRAP\", \"trace/breakpoint trap\"},\n\t{6, \"SIGABRT\", \"aborted\"},\n\t{7, \"SIGBUS\", \"bus error\"},\n\t{8, \"SIGFPE\", \"floating point exception\"},\n\t{9, \"SIGKILL\", \"killed\"},\n\t{10, \"SIGUSR1\", \"user defined signal 1\"},\n\t{11, \"SIGSEGV\", \"segmentation fault\"},\n\t{12, \"SIGUSR2\", \"user defined signal 2\"},\n\t{13, \"SIGPIPE\", \"broken pipe\"},\n\t{14, \"SIGALRM\", \"alarm clock\"},\n\t{15, \"SIGTERM\", \"terminated\"},\n\t{16, \"SIGSTKFLT\", \"stack fault\"},\n\t{17, \"SIGCHLD\", \"child exited\"},\n\t{18, \"SIGCONT\", \"continued\"},\n\t{19, \"SIGSTOP\", \"stopped (signal)\"},\n\t{20, \"SIGTSTP\", \"stopped\"},\n\t{21, \"SIGTTIN\", \"stopped (tty input)\"},\n\t{22, \"SIGTTOU\", \"stopped (tty output)\"},\n\t{23, \"SIGURG\", \"urgent I/O condition\"},\n\t{24, \"SIGXCPU\", \"CPU time limit exceeded\"},\n\t{25, \"SIGXFSZ\", \"file size limit exceeded\"},\n\t{26, \"SIGVTALRM\", \"virtual timer expired\"},\n\t{27, \"SIGPROF\", \"profiling timer expired\"},\n\t{28, \"SIGWINCH\", \"window changed\"},\n\t{29, \"SIGIO\", \"I/O possible\"},\n\t{30, \"SIGPWR\", \"power failure\"},\n\t{31, \"SIGSYS\", \"bad system call\"},\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go",
    "content": "// mkerrors.sh -Wall -Werror -static -I/tmp/include -fsigned-char\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build arm64,linux\n\n// Code generated by cmd/cgo -godefs; DO NOT EDIT.\n// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAAFS_MAGIC                           = 0x5a3c69f0\n\tADFS_SUPER_MAGIC                     = 0xadf5\n\tAFFS_SUPER_MAGIC                     = 0xadff\n\tAFS_FS_MAGIC                         = 0x6b414653\n\tAFS_SUPER_MAGIC                      = 0x5346414f\n\tAF_ALG                               = 0x26\n\tAF_APPLETALK                         = 0x5\n\tAF_ASH                               = 0x12\n\tAF_ATMPVC                            = 0x8\n\tAF_ATMSVC                            = 0x14\n\tAF_AX25                              = 0x3\n\tAF_BLUETOOTH                         = 0x1f\n\tAF_BRIDGE                            = 0x7\n\tAF_CAIF                              = 0x25\n\tAF_CAN                               = 0x1d\n\tAF_DECnet                            = 0xc\n\tAF_ECONET                            = 0x13\n\tAF_FILE                              = 0x1\n\tAF_IB                                = 0x1b\n\tAF_IEEE802154                        = 0x24\n\tAF_INET                              = 0x2\n\tAF_INET6                             = 0xa\n\tAF_IPX                               = 0x4\n\tAF_IRDA                              = 0x17\n\tAF_ISDN                              = 0x22\n\tAF_IUCV                              = 0x20\n\tAF_KCM                               = 0x29\n\tAF_KEY                               = 0xf\n\tAF_LLC                               = 0x1a\n\tAF_LOCAL                             = 0x1\n\tAF_MAX                               = 0x2c\n\tAF_MPLS                              = 0x1c\n\tAF_NETBEUI                           = 0xd\n\tAF_NETLINK                           = 0x10\n\tAF_NETROM                            = 0x6\n\tAF_NFC                               = 0x27\n\tAF_PACKET                            = 0x11\n\tAF_PHONET                            = 0x23\n\tAF_PPPOX                             = 0x18\n\tAF_QIPCRTR                           = 0x2a\n\tAF_RDS                               = 0x15\n\tAF_ROSE                              = 0xb\n\tAF_ROUTE                             = 0x10\n\tAF_RXRPC                             = 0x21\n\tAF_SECURITY                          = 0xe\n\tAF_SMC                               = 0x2b\n\tAF_SNA                               = 0x16\n\tAF_TIPC                              = 0x1e\n\tAF_UNIX                              = 0x1\n\tAF_UNSPEC                            = 0x0\n\tAF_VSOCK                             = 0x28\n\tAF_WANPIPE                           = 0x19\n\tAF_X25                               = 0x9\n\tALG_OP_DECRYPT                       = 0x0\n\tALG_OP_ENCRYPT                       = 0x1\n\tALG_SET_AEAD_ASSOCLEN                = 0x4\n\tALG_SET_AEAD_AUTHSIZE                = 0x5\n\tALG_SET_IV                           = 0x2\n\tALG_SET_KEY                          = 0x1\n\tALG_SET_OP                           = 0x3\n\tANON_INODE_FS_MAGIC                  = 0x9041934\n\tARPHRD_6LOWPAN                       = 0x339\n\tARPHRD_ADAPT                         = 0x108\n\tARPHRD_APPLETLK                      = 0x8\n\tARPHRD_ARCNET                        = 0x7\n\tARPHRD_ASH                           = 0x30d\n\tARPHRD_ATM                           = 0x13\n\tARPHRD_AX25                          = 0x3\n\tARPHRD_BIF                           = 0x307\n\tARPHRD_CAIF                          = 0x336\n\tARPHRD_CAN                           = 0x118\n\tARPHRD_CHAOS                         = 0x5\n\tARPHRD_CISCO                         = 0x201\n\tARPHRD_CSLIP                         = 0x101\n\tARPHRD_CSLIP6                        = 0x103\n\tARPHRD_DDCMP                         = 0x205\n\tARPHRD_DLCI                          = 0xf\n\tARPHRD_ECONET                        = 0x30e\n\tARPHRD_EETHER                        = 0x2\n\tARPHRD_ETHER                         = 0x1\n\tARPHRD_EUI64                         = 0x1b\n\tARPHRD_FCAL                          = 0x311\n\tARPHRD_FCFABRIC                      = 0x313\n\tARPHRD_FCPL                          = 0x312\n\tARPHRD_FCPP                          = 0x310\n\tARPHRD_FDDI                          = 0x306\n\tARPHRD_FRAD                          = 0x302\n\tARPHRD_HDLC                          = 0x201\n\tARPHRD_HIPPI                         = 0x30c\n\tARPHRD_HWX25                         = 0x110\n\tARPHRD_IEEE1394                      = 0x18\n\tARPHRD_IEEE802                       = 0x6\n\tARPHRD_IEEE80211                     = 0x321\n\tARPHRD_IEEE80211_PRISM               = 0x322\n\tARPHRD_IEEE80211_RADIOTAP            = 0x323\n\tARPHRD_IEEE802154                    = 0x324\n\tARPHRD_IEEE802154_MONITOR            = 0x325\n\tARPHRD_IEEE802_TR                    = 0x320\n\tARPHRD_INFINIBAND                    = 0x20\n\tARPHRD_IP6GRE                        = 0x337\n\tARPHRD_IPDDP                         = 0x309\n\tARPHRD_IPGRE                         = 0x30a\n\tARPHRD_IRDA                          = 0x30f\n\tARPHRD_LAPB                          = 0x204\n\tARPHRD_LOCALTLK                      = 0x305\n\tARPHRD_LOOPBACK                      = 0x304\n\tARPHRD_METRICOM                      = 0x17\n\tARPHRD_NETLINK                       = 0x338\n\tARPHRD_NETROM                        = 0x0\n\tARPHRD_NONE                          = 0xfffe\n\tARPHRD_PHONET                        = 0x334\n\tARPHRD_PHONET_PIPE                   = 0x335\n\tARPHRD_PIMREG                        = 0x30b\n\tARPHRD_PPP                           = 0x200\n\tARPHRD_PRONET                        = 0x4\n\tARPHRD_RAWHDLC                       = 0x206\n\tARPHRD_RAWIP                         = 0x207\n\tARPHRD_ROSE                          = 0x10e\n\tARPHRD_RSRVD                         = 0x104\n\tARPHRD_SIT                           = 0x308\n\tARPHRD_SKIP                          = 0x303\n\tARPHRD_SLIP                          = 0x100\n\tARPHRD_SLIP6                         = 0x102\n\tARPHRD_TUNNEL                        = 0x300\n\tARPHRD_TUNNEL6                       = 0x301\n\tARPHRD_VOID                          = 0xffff\n\tARPHRD_VSOCKMON                      = 0x33a\n\tARPHRD_X25                           = 0x10f\n\tAUTOFS_SUPER_MAGIC                   = 0x187\n\tB0                                   = 0x0\n\tB1000000                             = 0x1008\n\tB110                                 = 0x3\n\tB115200                              = 0x1002\n\tB1152000                             = 0x1009\n\tB1200                                = 0x9\n\tB134                                 = 0x4\n\tB150                                 = 0x5\n\tB1500000                             = 0x100a\n\tB1800                                = 0xa\n\tB19200                               = 0xe\n\tB200                                 = 0x6\n\tB2000000                             = 0x100b\n\tB230400                              = 0x1003\n\tB2400                                = 0xb\n\tB2500000                             = 0x100c\n\tB300                                 = 0x7\n\tB3000000                             = 0x100d\n\tB3500000                             = 0x100e\n\tB38400                               = 0xf\n\tB4000000                             = 0x100f\n\tB460800                              = 0x1004\n\tB4800                                = 0xc\n\tB50                                  = 0x1\n\tB500000                              = 0x1005\n\tB57600                               = 0x1001\n\tB576000                              = 0x1006\n\tB600                                 = 0x8\n\tB75                                  = 0x2\n\tB921600                              = 0x1007\n\tB9600                                = 0xd\n\tBALLOON_KVM_MAGIC                    = 0x13661366\n\tBDEVFS_MAGIC                         = 0x62646576\n\tBINFMTFS_MAGIC                       = 0x42494e4d\n\tBLKBSZGET                            = 0x80081270\n\tBLKBSZSET                            = 0x40081271\n\tBLKFLSBUF                            = 0x1261\n\tBLKFRAGET                            = 0x1265\n\tBLKFRASET                            = 0x1264\n\tBLKGETSIZE                           = 0x1260\n\tBLKGETSIZE64                         = 0x80081272\n\tBLKPBSZGET                           = 0x127b\n\tBLKRAGET                             = 0x1263\n\tBLKRASET                             = 0x1262\n\tBLKROGET                             = 0x125e\n\tBLKROSET                             = 0x125d\n\tBLKRRPART                            = 0x125f\n\tBLKSECTGET                           = 0x1267\n\tBLKSECTSET                           = 0x1266\n\tBLKSSZGET                            = 0x1268\n\tBOTHER                               = 0x1000\n\tBPF_A                                = 0x10\n\tBPF_ABS                              = 0x20\n\tBPF_ADD                              = 0x0\n\tBPF_ALU                              = 0x4\n\tBPF_AND                              = 0x50\n\tBPF_B                                = 0x10\n\tBPF_DIV                              = 0x30\n\tBPF_FS_MAGIC                         = 0xcafe4a11\n\tBPF_H                                = 0x8\n\tBPF_IMM                              = 0x0\n\tBPF_IND                              = 0x40\n\tBPF_JA                               = 0x0\n\tBPF_JEQ                              = 0x10\n\tBPF_JGE                              = 0x30\n\tBPF_JGT                              = 0x20\n\tBPF_JMP                              = 0x5\n\tBPF_JSET                             = 0x40\n\tBPF_K                                = 0x0\n\tBPF_LD                               = 0x0\n\tBPF_LDX                              = 0x1\n\tBPF_LEN                              = 0x80\n\tBPF_LL_OFF                           = -0x200000\n\tBPF_LSH                              = 0x60\n\tBPF_MAJOR_VERSION                    = 0x1\n\tBPF_MAXINSNS                         = 0x1000\n\tBPF_MEM                              = 0x60\n\tBPF_MEMWORDS                         = 0x10\n\tBPF_MINOR_VERSION                    = 0x1\n\tBPF_MISC                             = 0x7\n\tBPF_MOD                              = 0x90\n\tBPF_MSH                              = 0xa0\n\tBPF_MUL                              = 0x20\n\tBPF_NEG                              = 0x80\n\tBPF_NET_OFF                          = -0x100000\n\tBPF_OR                               = 0x40\n\tBPF_RET                              = 0x6\n\tBPF_RSH                              = 0x70\n\tBPF_ST                               = 0x2\n\tBPF_STX                              = 0x3\n\tBPF_SUB                              = 0x10\n\tBPF_TAX                              = 0x0\n\tBPF_TXA                              = 0x80\n\tBPF_W                                = 0x0\n\tBPF_X                                = 0x8\n\tBPF_XOR                              = 0xa0\n\tBRKINT                               = 0x2\n\tBS0                                  = 0x0\n\tBS1                                  = 0x2000\n\tBSDLY                                = 0x2000\n\tBTRFS_SUPER_MAGIC                    = 0x9123683e\n\tBTRFS_TEST_MAGIC                     = 0x73727279\n\tCAN_BCM                              = 0x2\n\tCAN_EFF_FLAG                         = 0x80000000\n\tCAN_EFF_ID_BITS                      = 0x1d\n\tCAN_EFF_MASK                         = 0x1fffffff\n\tCAN_ERR_FLAG                         = 0x20000000\n\tCAN_ERR_MASK                         = 0x1fffffff\n\tCAN_INV_FILTER                       = 0x20000000\n\tCAN_ISOTP                            = 0x6\n\tCAN_MAX_DLC                          = 0x8\n\tCAN_MAX_DLEN                         = 0x8\n\tCAN_MCNET                            = 0x5\n\tCAN_MTU                              = 0x10\n\tCAN_NPROTO                           = 0x7\n\tCAN_RAW                              = 0x1\n\tCAN_RAW_FILTER_MAX                   = 0x200\n\tCAN_RTR_FLAG                         = 0x40000000\n\tCAN_SFF_ID_BITS                      = 0xb\n\tCAN_SFF_MASK                         = 0x7ff\n\tCAN_TP16                             = 0x3\n\tCAN_TP20                             = 0x4\n\tCBAUD                                = 0x100f\n\tCBAUDEX                              = 0x1000\n\tCFLUSH                               = 0xf\n\tCGROUP2_SUPER_MAGIC                  = 0x63677270\n\tCGROUP_SUPER_MAGIC                   = 0x27e0eb\n\tCIBAUD                               = 0x100f0000\n\tCLOCAL                               = 0x800\n\tCLOCK_BOOTTIME                       = 0x7\n\tCLOCK_BOOTTIME_ALARM                 = 0x9\n\tCLOCK_DEFAULT                        = 0x0\n\tCLOCK_EXT                            = 0x1\n\tCLOCK_INT                            = 0x2\n\tCLOCK_MONOTONIC                      = 0x1\n\tCLOCK_MONOTONIC_COARSE               = 0x6\n\tCLOCK_MONOTONIC_RAW                  = 0x4\n\tCLOCK_PROCESS_CPUTIME_ID             = 0x2\n\tCLOCK_REALTIME                       = 0x0\n\tCLOCK_REALTIME_ALARM                 = 0x8\n\tCLOCK_REALTIME_COARSE                = 0x5\n\tCLOCK_TAI                            = 0xb\n\tCLOCK_THREAD_CPUTIME_ID              = 0x3\n\tCLOCK_TXFROMRX                       = 0x4\n\tCLOCK_TXINT                          = 0x3\n\tCLONE_CHILD_CLEARTID                 = 0x200000\n\tCLONE_CHILD_SETTID                   = 0x1000000\n\tCLONE_DETACHED                       = 0x400000\n\tCLONE_FILES                          = 0x400\n\tCLONE_FS                             = 0x200\n\tCLONE_IO                             = 0x80000000\n\tCLONE_NEWCGROUP                      = 0x2000000\n\tCLONE_NEWIPC                         = 0x8000000\n\tCLONE_NEWNET                         = 0x40000000\n\tCLONE_NEWNS                          = 0x20000\n\tCLONE_NEWPID                         = 0x20000000\n\tCLONE_NEWUSER                        = 0x10000000\n\tCLONE_NEWUTS                         = 0x4000000\n\tCLONE_PARENT                         = 0x8000\n\tCLONE_PARENT_SETTID                  = 0x100000\n\tCLONE_PTRACE                         = 0x2000\n\tCLONE_SETTLS                         = 0x80000\n\tCLONE_SIGHAND                        = 0x800\n\tCLONE_SYSVSEM                        = 0x40000\n\tCLONE_THREAD                         = 0x10000\n\tCLONE_UNTRACED                       = 0x800000\n\tCLONE_VFORK                          = 0x4000\n\tCLONE_VM                             = 0x100\n\tCMSPAR                               = 0x40000000\n\tCODA_SUPER_MAGIC                     = 0x73757245\n\tCR0                                  = 0x0\n\tCR1                                  = 0x200\n\tCR2                                  = 0x400\n\tCR3                                  = 0x600\n\tCRAMFS_MAGIC                         = 0x28cd3d45\n\tCRDLY                                = 0x600\n\tCREAD                                = 0x80\n\tCRTSCTS                              = 0x80000000\n\tCS5                                  = 0x0\n\tCS6                                  = 0x10\n\tCS7                                  = 0x20\n\tCS8                                  = 0x30\n\tCSIGNAL                              = 0xff\n\tCSIZE                                = 0x30\n\tCSTART                               = 0x11\n\tCSTATUS                              = 0x0\n\tCSTOP                                = 0x13\n\tCSTOPB                               = 0x40\n\tCSUSP                                = 0x1a\n\tDAXFS_MAGIC                          = 0x64646178\n\tDEBUGFS_MAGIC                        = 0x64626720\n\tDEVPTS_SUPER_MAGIC                   = 0x1cd1\n\tDT_BLK                               = 0x6\n\tDT_CHR                               = 0x2\n\tDT_DIR                               = 0x4\n\tDT_FIFO                              = 0x1\n\tDT_LNK                               = 0xa\n\tDT_REG                               = 0x8\n\tDT_SOCK                              = 0xc\n\tDT_UNKNOWN                           = 0x0\n\tDT_WHT                               = 0xe\n\tECHO                                 = 0x8\n\tECHOCTL                              = 0x200\n\tECHOE                                = 0x10\n\tECHOK                                = 0x20\n\tECHOKE                               = 0x800\n\tECHONL                               = 0x40\n\tECHOPRT                              = 0x400\n\tECRYPTFS_SUPER_MAGIC                 = 0xf15f\n\tEFD_CLOEXEC                          = 0x80000\n\tEFD_NONBLOCK                         = 0x800\n\tEFD_SEMAPHORE                        = 0x1\n\tEFIVARFS_MAGIC                       = 0xde5e81e4\n\tEFS_SUPER_MAGIC                      = 0x414a53\n\tENCODING_DEFAULT                     = 0x0\n\tENCODING_FM_MARK                     = 0x3\n\tENCODING_FM_SPACE                    = 0x4\n\tENCODING_MANCHESTER                  = 0x5\n\tENCODING_NRZ                         = 0x1\n\tENCODING_NRZI                        = 0x2\n\tEPOLLERR                             = 0x8\n\tEPOLLET                              = 0x80000000\n\tEPOLLEXCLUSIVE                       = 0x10000000\n\tEPOLLHUP                             = 0x10\n\tEPOLLIN                              = 0x1\n\tEPOLLMSG                             = 0x400\n\tEPOLLONESHOT                         = 0x40000000\n\tEPOLLOUT                             = 0x4\n\tEPOLLPRI                             = 0x2\n\tEPOLLRDBAND                          = 0x80\n\tEPOLLRDHUP                           = 0x2000\n\tEPOLLRDNORM                          = 0x40\n\tEPOLLWAKEUP                          = 0x20000000\n\tEPOLLWRBAND                          = 0x200\n\tEPOLLWRNORM                          = 0x100\n\tEPOLL_CLOEXEC                        = 0x80000\n\tEPOLL_CTL_ADD                        = 0x1\n\tEPOLL_CTL_DEL                        = 0x2\n\tEPOLL_CTL_MOD                        = 0x3\n\tESR_MAGIC                            = 0x45535201\n\tETH_P_1588                           = 0x88f7\n\tETH_P_8021AD                         = 0x88a8\n\tETH_P_8021AH                         = 0x88e7\n\tETH_P_8021Q                          = 0x8100\n\tETH_P_80221                          = 0x8917\n\tETH_P_802_2                          = 0x4\n\tETH_P_802_3                          = 0x1\n\tETH_P_802_3_MIN                      = 0x600\n\tETH_P_802_EX1                        = 0x88b5\n\tETH_P_AARP                           = 0x80f3\n\tETH_P_AF_IUCV                        = 0xfbfb\n\tETH_P_ALL                            = 0x3\n\tETH_P_AOE                            = 0x88a2\n\tETH_P_ARCNET                         = 0x1a\n\tETH_P_ARP                            = 0x806\n\tETH_P_ATALK                          = 0x809b\n\tETH_P_ATMFATE                        = 0x8884\n\tETH_P_ATMMPOA                        = 0x884c\n\tETH_P_AX25                           = 0x2\n\tETH_P_BATMAN                         = 0x4305\n\tETH_P_BPQ                            = 0x8ff\n\tETH_P_CAIF                           = 0xf7\n\tETH_P_CAN                            = 0xc\n\tETH_P_CANFD                          = 0xd\n\tETH_P_CONTROL                        = 0x16\n\tETH_P_CUST                           = 0x6006\n\tETH_P_DDCMP                          = 0x6\n\tETH_P_DEC                            = 0x6000\n\tETH_P_DIAG                           = 0x6005\n\tETH_P_DNA_DL                         = 0x6001\n\tETH_P_DNA_RC                         = 0x6002\n\tETH_P_DNA_RT                         = 0x6003\n\tETH_P_DSA                            = 0x1b\n\tETH_P_ECONET                         = 0x18\n\tETH_P_EDSA                           = 0xdada\n\tETH_P_ERSPAN                         = 0x88be\n\tETH_P_ERSPAN2                        = 0x22eb\n\tETH_P_FCOE                           = 0x8906\n\tETH_P_FIP                            = 0x8914\n\tETH_P_HDLC                           = 0x19\n\tETH_P_HSR                            = 0x892f\n\tETH_P_IBOE                           = 0x8915\n\tETH_P_IEEE802154                     = 0xf6\n\tETH_P_IEEEPUP                        = 0xa00\n\tETH_P_IEEEPUPAT                      = 0xa01\n\tETH_P_IFE                            = 0xed3e\n\tETH_P_IP                             = 0x800\n\tETH_P_IPV6                           = 0x86dd\n\tETH_P_IPX                            = 0x8137\n\tETH_P_IRDA                           = 0x17\n\tETH_P_LAT                            = 0x6004\n\tETH_P_LINK_CTL                       = 0x886c\n\tETH_P_LOCALTALK                      = 0x9\n\tETH_P_LOOP                           = 0x60\n\tETH_P_LOOPBACK                       = 0x9000\n\tETH_P_MACSEC                         = 0x88e5\n\tETH_P_MAP                            = 0xf9\n\tETH_P_MOBITEX                        = 0x15\n\tETH_P_MPLS_MC                        = 0x8848\n\tETH_P_MPLS_UC                        = 0x8847\n\tETH_P_MVRP                           = 0x88f5\n\tETH_P_NCSI                           = 0x88f8\n\tETH_P_NSH                            = 0x894f\n\tETH_P_PAE                            = 0x888e\n\tETH_P_PAUSE                          = 0x8808\n\tETH_P_PHONET                         = 0xf5\n\tETH_P_PPPTALK                        = 0x10\n\tETH_P_PPP_DISC                       = 0x8863\n\tETH_P_PPP_MP                         = 0x8\n\tETH_P_PPP_SES                        = 0x8864\n\tETH_P_PREAUTH                        = 0x88c7\n\tETH_P_PRP                            = 0x88fb\n\tETH_P_PUP                            = 0x200\n\tETH_P_PUPAT                          = 0x201\n\tETH_P_QINQ1                          = 0x9100\n\tETH_P_QINQ2                          = 0x9200\n\tETH_P_QINQ3                          = 0x9300\n\tETH_P_RARP                           = 0x8035\n\tETH_P_SCA                            = 0x6007\n\tETH_P_SLOW                           = 0x8809\n\tETH_P_SNAP                           = 0x5\n\tETH_P_TDLS                           = 0x890d\n\tETH_P_TEB                            = 0x6558\n\tETH_P_TIPC                           = 0x88ca\n\tETH_P_TRAILER                        = 0x1c\n\tETH_P_TR_802_2                       = 0x11\n\tETH_P_TSN                            = 0x22f0\n\tETH_P_WAN_PPP                        = 0x7\n\tETH_P_WCCP                           = 0x883e\n\tETH_P_X25                            = 0x805\n\tETH_P_XDSA                           = 0xf8\n\tEXABYTE_ENABLE_NEST                  = 0xf0\n\tEXT2_SUPER_MAGIC                     = 0xef53\n\tEXT3_SUPER_MAGIC                     = 0xef53\n\tEXT4_SUPER_MAGIC                     = 0xef53\n\tEXTA                                 = 0xe\n\tEXTB                                 = 0xf\n\tEXTPROC                              = 0x10000\n\tEXTRA_MAGIC                          = 0x45585401\n\tF2FS_SUPER_MAGIC                     = 0xf2f52010\n\tFALLOC_FL_COLLAPSE_RANGE             = 0x8\n\tFALLOC_FL_INSERT_RANGE               = 0x20\n\tFALLOC_FL_KEEP_SIZE                  = 0x1\n\tFALLOC_FL_NO_HIDE_STALE              = 0x4\n\tFALLOC_FL_PUNCH_HOLE                 = 0x2\n\tFALLOC_FL_UNSHARE_RANGE              = 0x40\n\tFALLOC_FL_ZERO_RANGE                 = 0x10\n\tFD_CLOEXEC                           = 0x1\n\tFD_SETSIZE                           = 0x400\n\tFF0                                  = 0x0\n\tFF1                                  = 0x8000\n\tFFDLY                                = 0x8000\n\tFLUSHO                               = 0x1000\n\tFPSIMD_MAGIC                         = 0x46508001\n\tFS_ENCRYPTION_MODE_AES_128_CBC       = 0x5\n\tFS_ENCRYPTION_MODE_AES_128_CTS       = 0x6\n\tFS_ENCRYPTION_MODE_AES_256_CBC       = 0x3\n\tFS_ENCRYPTION_MODE_AES_256_CTS       = 0x4\n\tFS_ENCRYPTION_MODE_AES_256_GCM       = 0x2\n\tFS_ENCRYPTION_MODE_AES_256_XTS       = 0x1\n\tFS_ENCRYPTION_MODE_INVALID           = 0x0\n\tFS_ENCRYPTION_MODE_SPECK128_256_CTS  = 0x8\n\tFS_ENCRYPTION_MODE_SPECK128_256_XTS  = 0x7\n\tFS_IOC_GET_ENCRYPTION_POLICY         = 0x400c6615\n\tFS_IOC_GET_ENCRYPTION_PWSALT         = 0x40106614\n\tFS_IOC_SET_ENCRYPTION_POLICY         = 0x800c6613\n\tFS_KEY_DESCRIPTOR_SIZE               = 0x8\n\tFS_KEY_DESC_PREFIX                   = \"fscrypt:\"\n\tFS_KEY_DESC_PREFIX_SIZE              = 0x8\n\tFS_MAX_KEY_SIZE                      = 0x40\n\tFS_POLICY_FLAGS_PAD_16               = 0x2\n\tFS_POLICY_FLAGS_PAD_32               = 0x3\n\tFS_POLICY_FLAGS_PAD_4                = 0x0\n\tFS_POLICY_FLAGS_PAD_8                = 0x1\n\tFS_POLICY_FLAGS_PAD_MASK             = 0x3\n\tFS_POLICY_FLAGS_VALID                = 0x3\n\tFUTEXFS_SUPER_MAGIC                  = 0xbad1dea\n\tF_ADD_SEALS                          = 0x409\n\tF_DUPFD                              = 0x0\n\tF_DUPFD_CLOEXEC                      = 0x406\n\tF_EXLCK                              = 0x4\n\tF_GETFD                              = 0x1\n\tF_GETFL                              = 0x3\n\tF_GETLEASE                           = 0x401\n\tF_GETLK                              = 0x5\n\tF_GETLK64                            = 0x5\n\tF_GETOWN                             = 0x9\n\tF_GETOWN_EX                          = 0x10\n\tF_GETPIPE_SZ                         = 0x408\n\tF_GETSIG                             = 0xb\n\tF_GET_FILE_RW_HINT                   = 0x40d\n\tF_GET_RW_HINT                        = 0x40b\n\tF_GET_SEALS                          = 0x40a\n\tF_LOCK                               = 0x1\n\tF_NOTIFY                             = 0x402\n\tF_OFD_GETLK                          = 0x24\n\tF_OFD_SETLK                          = 0x25\n\tF_OFD_SETLKW                         = 0x26\n\tF_OK                                 = 0x0\n\tF_RDLCK                              = 0x0\n\tF_SEAL_GROW                          = 0x4\n\tF_SEAL_SEAL                          = 0x1\n\tF_SEAL_SHRINK                        = 0x2\n\tF_SEAL_WRITE                         = 0x8\n\tF_SETFD                              = 0x2\n\tF_SETFL                              = 0x4\n\tF_SETLEASE                           = 0x400\n\tF_SETLK                              = 0x6\n\tF_SETLK64                            = 0x6\n\tF_SETLKW                             = 0x7\n\tF_SETLKW64                           = 0x7\n\tF_SETOWN                             = 0x8\n\tF_SETOWN_EX                          = 0xf\n\tF_SETPIPE_SZ                         = 0x407\n\tF_SETSIG                             = 0xa\n\tF_SET_FILE_RW_HINT                   = 0x40e\n\tF_SET_RW_HINT                        = 0x40c\n\tF_SHLCK                              = 0x8\n\tF_TEST                               = 0x3\n\tF_TLOCK                              = 0x2\n\tF_ULOCK                              = 0x0\n\tF_UNLCK                              = 0x2\n\tF_WRLCK                              = 0x1\n\tGENL_ADMIN_PERM                      = 0x1\n\tGENL_CMD_CAP_DO                      = 0x2\n\tGENL_CMD_CAP_DUMP                    = 0x4\n\tGENL_CMD_CAP_HASPOL                  = 0x8\n\tGENL_HDRLEN                          = 0x4\n\tGENL_ID_CTRL                         = 0x10\n\tGENL_ID_PMCRAID                      = 0x12\n\tGENL_ID_VFS_DQUOT                    = 0x11\n\tGENL_MAX_ID                          = 0x3ff\n\tGENL_MIN_ID                          = 0x10\n\tGENL_NAMSIZ                          = 0x10\n\tGENL_START_ALLOC                     = 0x13\n\tGENL_UNS_ADMIN_PERM                  = 0x10\n\tGRND_NONBLOCK                        = 0x1\n\tGRND_RANDOM                          = 0x2\n\tHDIO_DRIVE_CMD                       = 0x31f\n\tHDIO_DRIVE_CMD_AEB                   = 0x31e\n\tHDIO_DRIVE_CMD_HDR_SIZE              = 0x4\n\tHDIO_DRIVE_HOB_HDR_SIZE              = 0x8\n\tHDIO_DRIVE_RESET                     = 0x31c\n\tHDIO_DRIVE_TASK                      = 0x31e\n\tHDIO_DRIVE_TASKFILE                  = 0x31d\n\tHDIO_DRIVE_TASK_HDR_SIZE             = 0x8\n\tHDIO_GETGEO                          = 0x301\n\tHDIO_GET_32BIT                       = 0x309\n\tHDIO_GET_ACOUSTIC                    = 0x30f\n\tHDIO_GET_ADDRESS                     = 0x310\n\tHDIO_GET_BUSSTATE                    = 0x31a\n\tHDIO_GET_DMA                         = 0x30b\n\tHDIO_GET_IDENTITY                    = 0x30d\n\tHDIO_GET_KEEPSETTINGS                = 0x308\n\tHDIO_GET_MULTCOUNT                   = 0x304\n\tHDIO_GET_NICE                        = 0x30c\n\tHDIO_GET_NOWERR                      = 0x30a\n\tHDIO_GET_QDMA                        = 0x305\n\tHDIO_GET_UNMASKINTR                  = 0x302\n\tHDIO_GET_WCACHE                      = 0x30e\n\tHDIO_OBSOLETE_IDENTITY               = 0x307\n\tHDIO_SCAN_HWIF                       = 0x328\n\tHDIO_SET_32BIT                       = 0x324\n\tHDIO_SET_ACOUSTIC                    = 0x32c\n\tHDIO_SET_ADDRESS                     = 0x32f\n\tHDIO_SET_BUSSTATE                    = 0x32d\n\tHDIO_SET_DMA                         = 0x326\n\tHDIO_SET_KEEPSETTINGS                = 0x323\n\tHDIO_SET_MULTCOUNT                   = 0x321\n\tHDIO_SET_NICE                        = 0x329\n\tHDIO_SET_NOWERR                      = 0x325\n\tHDIO_SET_PIO_MODE                    = 0x327\n\tHDIO_SET_QDMA                        = 0x32e\n\tHDIO_SET_UNMASKINTR                  = 0x322\n\tHDIO_SET_WCACHE                      = 0x32b\n\tHDIO_SET_XFER                        = 0x306\n\tHDIO_TRISTATE_HWIF                   = 0x31b\n\tHDIO_UNREGISTER_HWIF                 = 0x32a\n\tHOSTFS_SUPER_MAGIC                   = 0xc0ffee\n\tHPFS_SUPER_MAGIC                     = 0xf995e849\n\tHUGETLBFS_MAGIC                      = 0x958458f6\n\tHUPCL                                = 0x400\n\tIBSHIFT                              = 0x10\n\tICANON                               = 0x2\n\tICMPV6_FILTER                        = 0x1\n\tICRNL                                = 0x100\n\tIEXTEN                               = 0x8000\n\tIFA_F_DADFAILED                      = 0x8\n\tIFA_F_DEPRECATED                     = 0x20\n\tIFA_F_HOMEADDRESS                    = 0x10\n\tIFA_F_MANAGETEMPADDR                 = 0x100\n\tIFA_F_MCAUTOJOIN                     = 0x400\n\tIFA_F_NODAD                          = 0x2\n\tIFA_F_NOPREFIXROUTE                  = 0x200\n\tIFA_F_OPTIMISTIC                     = 0x4\n\tIFA_F_PERMANENT                      = 0x80\n\tIFA_F_SECONDARY                      = 0x1\n\tIFA_F_STABLE_PRIVACY                 = 0x800\n\tIFA_F_TEMPORARY                      = 0x1\n\tIFA_F_TENTATIVE                      = 0x40\n\tIFA_MAX                              = 0x9\n\tIFF_ALLMULTI                         = 0x200\n\tIFF_ATTACH_QUEUE                     = 0x200\n\tIFF_AUTOMEDIA                        = 0x4000\n\tIFF_BROADCAST                        = 0x2\n\tIFF_DEBUG                            = 0x4\n\tIFF_DETACH_QUEUE                     = 0x400\n\tIFF_DORMANT                          = 0x20000\n\tIFF_DYNAMIC                          = 0x8000\n\tIFF_ECHO                             = 0x40000\n\tIFF_LOOPBACK                         = 0x8\n\tIFF_LOWER_UP                         = 0x10000\n\tIFF_MASTER                           = 0x400\n\tIFF_MULTICAST                        = 0x1000\n\tIFF_MULTI_QUEUE                      = 0x100\n\tIFF_NAPI                             = 0x10\n\tIFF_NAPI_FRAGS                       = 0x20\n\tIFF_NOARP                            = 0x80\n\tIFF_NOFILTER                         = 0x1000\n\tIFF_NOTRAILERS                       = 0x20\n\tIFF_NO_PI                            = 0x1000\n\tIFF_ONE_QUEUE                        = 0x2000\n\tIFF_PERSIST                          = 0x800\n\tIFF_POINTOPOINT                      = 0x10\n\tIFF_PORTSEL                          = 0x2000\n\tIFF_PROMISC                          = 0x100\n\tIFF_RUNNING                          = 0x40\n\tIFF_SLAVE                            = 0x800\n\tIFF_TAP                              = 0x2\n\tIFF_TUN                              = 0x1\n\tIFF_TUN_EXCL                         = 0x8000\n\tIFF_UP                               = 0x1\n\tIFF_VNET_HDR                         = 0x4000\n\tIFF_VOLATILE                         = 0x70c5a\n\tIFNAMSIZ                             = 0x10\n\tIGNBRK                               = 0x1\n\tIGNCR                                = 0x80\n\tIGNPAR                               = 0x4\n\tIMAXBEL                              = 0x2000\n\tINLCR                                = 0x40\n\tINPCK                                = 0x10\n\tIN_ACCESS                            = 0x1\n\tIN_ALL_EVENTS                        = 0xfff\n\tIN_ATTRIB                            = 0x4\n\tIN_CLASSA_HOST                       = 0xffffff\n\tIN_CLASSA_MAX                        = 0x80\n\tIN_CLASSA_NET                        = 0xff000000\n\tIN_CLASSA_NSHIFT                     = 0x18\n\tIN_CLASSB_HOST                       = 0xffff\n\tIN_CLASSB_MAX                        = 0x10000\n\tIN_CLASSB_NET                        = 0xffff0000\n\tIN_CLASSB_NSHIFT                     = 0x10\n\tIN_CLASSC_HOST                       = 0xff\n\tIN_CLASSC_NET                        = 0xffffff00\n\tIN_CLASSC_NSHIFT                     = 0x8\n\tIN_CLOEXEC                           = 0x80000\n\tIN_CLOSE                             = 0x18\n\tIN_CLOSE_NOWRITE                     = 0x10\n\tIN_CLOSE_WRITE                       = 0x8\n\tIN_CREATE                            = 0x100\n\tIN_DELETE                            = 0x200\n\tIN_DELETE_SELF                       = 0x400\n\tIN_DONT_FOLLOW                       = 0x2000000\n\tIN_EXCL_UNLINK                       = 0x4000000\n\tIN_IGNORED                           = 0x8000\n\tIN_ISDIR                             = 0x40000000\n\tIN_LOOPBACKNET                       = 0x7f\n\tIN_MASK_ADD                          = 0x20000000\n\tIN_MODIFY                            = 0x2\n\tIN_MOVE                              = 0xc0\n\tIN_MOVED_FROM                        = 0x40\n\tIN_MOVED_TO                          = 0x80\n\tIN_MOVE_SELF                         = 0x800\n\tIN_NONBLOCK                          = 0x800\n\tIN_ONESHOT                           = 0x80000000\n\tIN_ONLYDIR                           = 0x1000000\n\tIN_OPEN                              = 0x20\n\tIN_Q_OVERFLOW                        = 0x4000\n\tIN_UNMOUNT                           = 0x2000\n\tIOCTL_VM_SOCKETS_GET_LOCAL_CID       = 0x7b9\n\tIPPROTO_AH                           = 0x33\n\tIPPROTO_BEETPH                       = 0x5e\n\tIPPROTO_COMP                         = 0x6c\n\tIPPROTO_DCCP                         = 0x21\n\tIPPROTO_DSTOPTS                      = 0x3c\n\tIPPROTO_EGP                          = 0x8\n\tIPPROTO_ENCAP                        = 0x62\n\tIPPROTO_ESP                          = 0x32\n\tIPPROTO_FRAGMENT                     = 0x2c\n\tIPPROTO_GRE                          = 0x2f\n\tIPPROTO_HOPOPTS                      = 0x0\n\tIPPROTO_ICMP                         = 0x1\n\tIPPROTO_ICMPV6                       = 0x3a\n\tIPPROTO_IDP                          = 0x16\n\tIPPROTO_IGMP                         = 0x2\n\tIPPROTO_IP                           = 0x0\n\tIPPROTO_IPIP                         = 0x4\n\tIPPROTO_IPV6                         = 0x29\n\tIPPROTO_MH                           = 0x87\n\tIPPROTO_MPLS                         = 0x89\n\tIPPROTO_MTP                          = 0x5c\n\tIPPROTO_NONE                         = 0x3b\n\tIPPROTO_PIM                          = 0x67\n\tIPPROTO_PUP                          = 0xc\n\tIPPROTO_RAW                          = 0xff\n\tIPPROTO_ROUTING                      = 0x2b\n\tIPPROTO_RSVP                         = 0x2e\n\tIPPROTO_SCTP                         = 0x84\n\tIPPROTO_TCP                          = 0x6\n\tIPPROTO_TP                           = 0x1d\n\tIPPROTO_UDP                          = 0x11\n\tIPPROTO_UDPLITE                      = 0x88\n\tIPV6_2292DSTOPTS                     = 0x4\n\tIPV6_2292HOPLIMIT                    = 0x8\n\tIPV6_2292HOPOPTS                     = 0x3\n\tIPV6_2292PKTINFO                     = 0x2\n\tIPV6_2292PKTOPTIONS                  = 0x6\n\tIPV6_2292RTHDR                       = 0x5\n\tIPV6_ADDRFORM                        = 0x1\n\tIPV6_ADDR_PREFERENCES                = 0x48\n\tIPV6_ADD_MEMBERSHIP                  = 0x14\n\tIPV6_AUTHHDR                         = 0xa\n\tIPV6_AUTOFLOWLABEL                   = 0x46\n\tIPV6_CHECKSUM                        = 0x7\n\tIPV6_DONTFRAG                        = 0x3e\n\tIPV6_DROP_MEMBERSHIP                 = 0x15\n\tIPV6_DSTOPTS                         = 0x3b\n\tIPV6_FREEBIND                        = 0x4e\n\tIPV6_HDRINCL                         = 0x24\n\tIPV6_HOPLIMIT                        = 0x34\n\tIPV6_HOPOPTS                         = 0x36\n\tIPV6_IPSEC_POLICY                    = 0x22\n\tIPV6_JOIN_ANYCAST                    = 0x1b\n\tIPV6_JOIN_GROUP                      = 0x14\n\tIPV6_LEAVE_ANYCAST                   = 0x1c\n\tIPV6_LEAVE_GROUP                     = 0x15\n\tIPV6_MINHOPCOUNT                     = 0x49\n\tIPV6_MTU                             = 0x18\n\tIPV6_MTU_DISCOVER                    = 0x17\n\tIPV6_MULTICAST_HOPS                  = 0x12\n\tIPV6_MULTICAST_IF                    = 0x11\n\tIPV6_MULTICAST_LOOP                  = 0x13\n\tIPV6_NEXTHOP                         = 0x9\n\tIPV6_ORIGDSTADDR                     = 0x4a\n\tIPV6_PATHMTU                         = 0x3d\n\tIPV6_PKTINFO                         = 0x32\n\tIPV6_PMTUDISC_DO                     = 0x2\n\tIPV6_PMTUDISC_DONT                   = 0x0\n\tIPV6_PMTUDISC_INTERFACE              = 0x4\n\tIPV6_PMTUDISC_OMIT                   = 0x5\n\tIPV6_PMTUDISC_PROBE                  = 0x3\n\tIPV6_PMTUDISC_WANT                   = 0x1\n\tIPV6_RECVDSTOPTS                     = 0x3a\n\tIPV6_RECVERR                         = 0x19\n\tIPV6_RECVFRAGSIZE                    = 0x4d\n\tIPV6_RECVHOPLIMIT                    = 0x33\n\tIPV6_RECVHOPOPTS                     = 0x35\n\tIPV6_RECVORIGDSTADDR                 = 0x4a\n\tIPV6_RECVPATHMTU                     = 0x3c\n\tIPV6_RECVPKTINFO                     = 0x31\n\tIPV6_RECVRTHDR                       = 0x38\n\tIPV6_RECVTCLASS                      = 0x42\n\tIPV6_ROUTER_ALERT                    = 0x16\n\tIPV6_RTHDR                           = 0x39\n\tIPV6_RTHDRDSTOPTS                    = 0x37\n\tIPV6_RTHDR_LOOSE                     = 0x0\n\tIPV6_RTHDR_STRICT                    = 0x1\n\tIPV6_RTHDR_TYPE_0                    = 0x0\n\tIPV6_RXDSTOPTS                       = 0x3b\n\tIPV6_RXHOPOPTS                       = 0x36\n\tIPV6_TCLASS                          = 0x43\n\tIPV6_TRANSPARENT                     = 0x4b\n\tIPV6_UNICAST_HOPS                    = 0x10\n\tIPV6_UNICAST_IF                      = 0x4c\n\tIPV6_V6ONLY                          = 0x1a\n\tIPV6_XFRM_POLICY                     = 0x23\n\tIP_ADD_MEMBERSHIP                    = 0x23\n\tIP_ADD_SOURCE_MEMBERSHIP             = 0x27\n\tIP_BIND_ADDRESS_NO_PORT              = 0x18\n\tIP_BLOCK_SOURCE                      = 0x26\n\tIP_CHECKSUM                          = 0x17\n\tIP_DEFAULT_MULTICAST_LOOP            = 0x1\n\tIP_DEFAULT_MULTICAST_TTL             = 0x1\n\tIP_DF                                = 0x4000\n\tIP_DROP_MEMBERSHIP                   = 0x24\n\tIP_DROP_SOURCE_MEMBERSHIP            = 0x28\n\tIP_FREEBIND                          = 0xf\n\tIP_HDRINCL                           = 0x3\n\tIP_IPSEC_POLICY                      = 0x10\n\tIP_MAXPACKET                         = 0xffff\n\tIP_MAX_MEMBERSHIPS                   = 0x14\n\tIP_MF                                = 0x2000\n\tIP_MINTTL                            = 0x15\n\tIP_MSFILTER                          = 0x29\n\tIP_MSS                               = 0x240\n\tIP_MTU                               = 0xe\n\tIP_MTU_DISCOVER                      = 0xa\n\tIP_MULTICAST_ALL                     = 0x31\n\tIP_MULTICAST_IF                      = 0x20\n\tIP_MULTICAST_LOOP                    = 0x22\n\tIP_MULTICAST_TTL                     = 0x21\n\tIP_NODEFRAG                          = 0x16\n\tIP_OFFMASK                           = 0x1fff\n\tIP_OPTIONS                           = 0x4\n\tIP_ORIGDSTADDR                       = 0x14\n\tIP_PASSSEC                           = 0x12\n\tIP_PKTINFO                           = 0x8\n\tIP_PKTOPTIONS                        = 0x9\n\tIP_PMTUDISC                          = 0xa\n\tIP_PMTUDISC_DO                       = 0x2\n\tIP_PMTUDISC_DONT                     = 0x0\n\tIP_PMTUDISC_INTERFACE                = 0x4\n\tIP_PMTUDISC_OMIT                     = 0x5\n\tIP_PMTUDISC_PROBE                    = 0x3\n\tIP_PMTUDISC_WANT                     = 0x1\n\tIP_RECVERR                           = 0xb\n\tIP_RECVFRAGSIZE                      = 0x19\n\tIP_RECVOPTS                          = 0x6\n\tIP_RECVORIGDSTADDR                   = 0x14\n\tIP_RECVRETOPTS                       = 0x7\n\tIP_RECVTOS                           = 0xd\n\tIP_RECVTTL                           = 0xc\n\tIP_RETOPTS                           = 0x7\n\tIP_RF                                = 0x8000\n\tIP_ROUTER_ALERT                      = 0x5\n\tIP_TOS                               = 0x1\n\tIP_TRANSPARENT                       = 0x13\n\tIP_TTL                               = 0x2\n\tIP_UNBLOCK_SOURCE                    = 0x25\n\tIP_UNICAST_IF                        = 0x32\n\tIP_XFRM_POLICY                       = 0x11\n\tISIG                                 = 0x1\n\tISOFS_SUPER_MAGIC                    = 0x9660\n\tISTRIP                               = 0x20\n\tIUCLC                                = 0x200\n\tIUTF8                                = 0x4000\n\tIXANY                                = 0x800\n\tIXOFF                                = 0x1000\n\tIXON                                 = 0x400\n\tJFFS2_SUPER_MAGIC                    = 0x72b6\n\tKEYCTL_ASSUME_AUTHORITY              = 0x10\n\tKEYCTL_CHOWN                         = 0x4\n\tKEYCTL_CLEAR                         = 0x7\n\tKEYCTL_DESCRIBE                      = 0x6\n\tKEYCTL_DH_COMPUTE                    = 0x17\n\tKEYCTL_GET_KEYRING_ID                = 0x0\n\tKEYCTL_GET_PERSISTENT                = 0x16\n\tKEYCTL_GET_SECURITY                  = 0x11\n\tKEYCTL_INSTANTIATE                   = 0xc\n\tKEYCTL_INSTANTIATE_IOV               = 0x14\n\tKEYCTL_INVALIDATE                    = 0x15\n\tKEYCTL_JOIN_SESSION_KEYRING          = 0x1\n\tKEYCTL_LINK                          = 0x8\n\tKEYCTL_NEGATE                        = 0xd\n\tKEYCTL_READ                          = 0xb\n\tKEYCTL_REJECT                        = 0x13\n\tKEYCTL_RESTRICT_KEYRING              = 0x1d\n\tKEYCTL_REVOKE                        = 0x3\n\tKEYCTL_SEARCH                        = 0xa\n\tKEYCTL_SESSION_TO_PARENT             = 0x12\n\tKEYCTL_SETPERM                       = 0x5\n\tKEYCTL_SET_REQKEY_KEYRING            = 0xe\n\tKEYCTL_SET_TIMEOUT                   = 0xf\n\tKEYCTL_UNLINK                        = 0x9\n\tKEYCTL_UPDATE                        = 0x2\n\tKEY_REQKEY_DEFL_DEFAULT              = 0x0\n\tKEY_REQKEY_DEFL_GROUP_KEYRING        = 0x6\n\tKEY_REQKEY_DEFL_NO_CHANGE            = -0x1\n\tKEY_REQKEY_DEFL_PROCESS_KEYRING      = 0x2\n\tKEY_REQKEY_DEFL_REQUESTOR_KEYRING    = 0x7\n\tKEY_REQKEY_DEFL_SESSION_KEYRING      = 0x3\n\tKEY_REQKEY_DEFL_THREAD_KEYRING       = 0x1\n\tKEY_REQKEY_DEFL_USER_KEYRING         = 0x4\n\tKEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5\n\tKEY_SPEC_GROUP_KEYRING               = -0x6\n\tKEY_SPEC_PROCESS_KEYRING             = -0x2\n\tKEY_SPEC_REQKEY_AUTH_KEY             = -0x7\n\tKEY_SPEC_REQUESTOR_KEYRING           = -0x8\n\tKEY_SPEC_SESSION_KEYRING             = -0x3\n\tKEY_SPEC_THREAD_KEYRING              = -0x1\n\tKEY_SPEC_USER_KEYRING                = -0x4\n\tKEY_SPEC_USER_SESSION_KEYRING        = -0x5\n\tLINUX_REBOOT_CMD_CAD_OFF             = 0x0\n\tLINUX_REBOOT_CMD_CAD_ON              = 0x89abcdef\n\tLINUX_REBOOT_CMD_HALT                = 0xcdef0123\n\tLINUX_REBOOT_CMD_KEXEC               = 0x45584543\n\tLINUX_REBOOT_CMD_POWER_OFF           = 0x4321fedc\n\tLINUX_REBOOT_CMD_RESTART             = 0x1234567\n\tLINUX_REBOOT_CMD_RESTART2            = 0xa1b2c3d4\n\tLINUX_REBOOT_CMD_SW_SUSPEND          = 0xd000fce2\n\tLINUX_REBOOT_MAGIC1                  = 0xfee1dead\n\tLINUX_REBOOT_MAGIC2                  = 0x28121969\n\tLOCK_EX                              = 0x2\n\tLOCK_NB                              = 0x4\n\tLOCK_SH                              = 0x1\n\tLOCK_UN                              = 0x8\n\tMADV_DODUMP                          = 0x11\n\tMADV_DOFORK                          = 0xb\n\tMADV_DONTDUMP                        = 0x10\n\tMADV_DONTFORK                        = 0xa\n\tMADV_DONTNEED                        = 0x4\n\tMADV_FREE                            = 0x8\n\tMADV_HUGEPAGE                        = 0xe\n\tMADV_HWPOISON                        = 0x64\n\tMADV_KEEPONFORK                      = 0x13\n\tMADV_MERGEABLE                       = 0xc\n\tMADV_NOHUGEPAGE                      = 0xf\n\tMADV_NORMAL                          = 0x0\n\tMADV_RANDOM                          = 0x1\n\tMADV_REMOVE                          = 0x9\n\tMADV_SEQUENTIAL                      = 0x2\n\tMADV_UNMERGEABLE                     = 0xd\n\tMADV_WILLNEED                        = 0x3\n\tMADV_WIPEONFORK                      = 0x12\n\tMAP_ANON                             = 0x20\n\tMAP_ANONYMOUS                        = 0x20\n\tMAP_DENYWRITE                        = 0x800\n\tMAP_EXECUTABLE                       = 0x1000\n\tMAP_FILE                             = 0x0\n\tMAP_FIXED                            = 0x10\n\tMAP_FIXED_NOREPLACE                  = 0x100000\n\tMAP_GROWSDOWN                        = 0x100\n\tMAP_HUGETLB                          = 0x40000\n\tMAP_HUGE_MASK                        = 0x3f\n\tMAP_HUGE_SHIFT                       = 0x1a\n\tMAP_LOCKED                           = 0x2000\n\tMAP_NONBLOCK                         = 0x10000\n\tMAP_NORESERVE                        = 0x4000\n\tMAP_POPULATE                         = 0x8000\n\tMAP_PRIVATE                          = 0x2\n\tMAP_SHARED                           = 0x1\n\tMAP_SHARED_VALIDATE                  = 0x3\n\tMAP_STACK                            = 0x20000\n\tMAP_SYNC                             = 0x80000\n\tMAP_TYPE                             = 0xf\n\tMCL_CURRENT                          = 0x1\n\tMCL_FUTURE                           = 0x2\n\tMCL_ONFAULT                          = 0x4\n\tMINIX2_SUPER_MAGIC                   = 0x2468\n\tMINIX2_SUPER_MAGIC2                  = 0x2478\n\tMINIX3_SUPER_MAGIC                   = 0x4d5a\n\tMINIX_SUPER_MAGIC                    = 0x137f\n\tMINIX_SUPER_MAGIC2                   = 0x138f\n\tMNT_DETACH                           = 0x2\n\tMNT_EXPIRE                           = 0x4\n\tMNT_FORCE                            = 0x1\n\tMSDOS_SUPER_MAGIC                    = 0x4d44\n\tMSG_BATCH                            = 0x40000\n\tMSG_CMSG_CLOEXEC                     = 0x40000000\n\tMSG_CONFIRM                          = 0x800\n\tMSG_CTRUNC                           = 0x8\n\tMSG_DONTROUTE                        = 0x4\n\tMSG_DONTWAIT                         = 0x40\n\tMSG_EOR                              = 0x80\n\tMSG_ERRQUEUE                         = 0x2000\n\tMSG_FASTOPEN                         = 0x20000000\n\tMSG_FIN                              = 0x200\n\tMSG_MORE                             = 0x8000\n\tMSG_NOSIGNAL                         = 0x4000\n\tMSG_OOB                              = 0x1\n\tMSG_PEEK                             = 0x2\n\tMSG_PROXY                            = 0x10\n\tMSG_RST                              = 0x1000\n\tMSG_SYN                              = 0x400\n\tMSG_TRUNC                            = 0x20\n\tMSG_TRYHARD                          = 0x4\n\tMSG_WAITALL                          = 0x100\n\tMSG_WAITFORONE                       = 0x10000\n\tMSG_ZEROCOPY                         = 0x4000000\n\tMS_ACTIVE                            = 0x40000000\n\tMS_ASYNC                             = 0x1\n\tMS_BIND                              = 0x1000\n\tMS_BORN                              = 0x20000000\n\tMS_DIRSYNC                           = 0x80\n\tMS_INVALIDATE                        = 0x2\n\tMS_I_VERSION                         = 0x800000\n\tMS_KERNMOUNT                         = 0x400000\n\tMS_LAZYTIME                          = 0x2000000\n\tMS_MANDLOCK                          = 0x40\n\tMS_MGC_MSK                           = 0xffff0000\n\tMS_MGC_VAL                           = 0xc0ed0000\n\tMS_MOVE                              = 0x2000\n\tMS_NOATIME                           = 0x400\n\tMS_NODEV                             = 0x4\n\tMS_NODIRATIME                        = 0x800\n\tMS_NOEXEC                            = 0x8\n\tMS_NOREMOTELOCK                      = 0x8000000\n\tMS_NOSEC                             = 0x10000000\n\tMS_NOSUID                            = 0x2\n\tMS_NOUSER                            = -0x80000000\n\tMS_POSIXACL                          = 0x10000\n\tMS_PRIVATE                           = 0x40000\n\tMS_RDONLY                            = 0x1\n\tMS_REC                               = 0x4000\n\tMS_RELATIME                          = 0x200000\n\tMS_REMOUNT                           = 0x20\n\tMS_RMT_MASK                          = 0x2800051\n\tMS_SHARED                            = 0x100000\n\tMS_SILENT                            = 0x8000\n\tMS_SLAVE                             = 0x80000\n\tMS_STRICTATIME                       = 0x1000000\n\tMS_SUBMOUNT                          = 0x4000000\n\tMS_SYNC                              = 0x4\n\tMS_SYNCHRONOUS                       = 0x10\n\tMS_UNBINDABLE                        = 0x20000\n\tMS_VERBOSE                           = 0x8000\n\tMTD_INODE_FS_MAGIC                   = 0x11307854\n\tNAME_MAX                             = 0xff\n\tNCP_SUPER_MAGIC                      = 0x564c\n\tNETLINK_ADD_MEMBERSHIP               = 0x1\n\tNETLINK_AUDIT                        = 0x9\n\tNETLINK_BROADCAST_ERROR              = 0x4\n\tNETLINK_CAP_ACK                      = 0xa\n\tNETLINK_CONNECTOR                    = 0xb\n\tNETLINK_CRYPTO                       = 0x15\n\tNETLINK_DNRTMSG                      = 0xe\n\tNETLINK_DROP_MEMBERSHIP              = 0x2\n\tNETLINK_ECRYPTFS                     = 0x13\n\tNETLINK_EXT_ACK                      = 0xb\n\tNETLINK_FIB_LOOKUP                   = 0xa\n\tNETLINK_FIREWALL                     = 0x3\n\tNETLINK_GENERIC                      = 0x10\n\tNETLINK_INET_DIAG                    = 0x4\n\tNETLINK_IP6_FW                       = 0xd\n\tNETLINK_ISCSI                        = 0x8\n\tNETLINK_KOBJECT_UEVENT               = 0xf\n\tNETLINK_LISTEN_ALL_NSID              = 0x8\n\tNETLINK_LIST_MEMBERSHIPS             = 0x9\n\tNETLINK_NETFILTER                    = 0xc\n\tNETLINK_NFLOG                        = 0x5\n\tNETLINK_NO_ENOBUFS                   = 0x5\n\tNETLINK_PKTINFO                      = 0x3\n\tNETLINK_RDMA                         = 0x14\n\tNETLINK_ROUTE                        = 0x0\n\tNETLINK_RX_RING                      = 0x6\n\tNETLINK_SCSITRANSPORT                = 0x12\n\tNETLINK_SELINUX                      = 0x7\n\tNETLINK_SMC                          = 0x16\n\tNETLINK_SOCK_DIAG                    = 0x4\n\tNETLINK_TX_RING                      = 0x7\n\tNETLINK_UNUSED                       = 0x1\n\tNETLINK_USERSOCK                     = 0x2\n\tNETLINK_XFRM                         = 0x6\n\tNETNSA_MAX                           = 0x3\n\tNETNSA_NSID_NOT_ASSIGNED             = -0x1\n\tNFNETLINK_V0                         = 0x0\n\tNFNLGRP_ACCT_QUOTA                   = 0x8\n\tNFNLGRP_CONNTRACK_DESTROY            = 0x3\n\tNFNLGRP_CONNTRACK_EXP_DESTROY        = 0x6\n\tNFNLGRP_CONNTRACK_EXP_NEW            = 0x4\n\tNFNLGRP_CONNTRACK_EXP_UPDATE         = 0x5\n\tNFNLGRP_CONNTRACK_NEW                = 0x1\n\tNFNLGRP_CONNTRACK_UPDATE             = 0x2\n\tNFNLGRP_MAX                          = 0x9\n\tNFNLGRP_NFTABLES                     = 0x7\n\tNFNLGRP_NFTRACE                      = 0x9\n\tNFNLGRP_NONE                         = 0x0\n\tNFNL_BATCH_MAX                       = 0x1\n\tNFNL_MSG_BATCH_BEGIN                 = 0x10\n\tNFNL_MSG_BATCH_END                   = 0x11\n\tNFNL_NFA_NEST                        = 0x8000\n\tNFNL_SUBSYS_ACCT                     = 0x7\n\tNFNL_SUBSYS_COUNT                    = 0xc\n\tNFNL_SUBSYS_CTHELPER                 = 0x9\n\tNFNL_SUBSYS_CTNETLINK                = 0x1\n\tNFNL_SUBSYS_CTNETLINK_EXP            = 0x2\n\tNFNL_SUBSYS_CTNETLINK_TIMEOUT        = 0x8\n\tNFNL_SUBSYS_IPSET                    = 0x6\n\tNFNL_SUBSYS_NFTABLES                 = 0xa\n\tNFNL_SUBSYS_NFT_COMPAT               = 0xb\n\tNFNL_SUBSYS_NONE                     = 0x0\n\tNFNL_SUBSYS_OSF                      = 0x5\n\tNFNL_SUBSYS_QUEUE                    = 0x3\n\tNFNL_SUBSYS_ULOG                     = 0x4\n\tNFS_SUPER_MAGIC                      = 0x6969\n\tNILFS_SUPER_MAGIC                    = 0x3434\n\tNL0                                  = 0x0\n\tNL1                                  = 0x100\n\tNLA_ALIGNTO                          = 0x4\n\tNLA_F_NESTED                         = 0x8000\n\tNLA_F_NET_BYTEORDER                  = 0x4000\n\tNLA_HDRLEN                           = 0x4\n\tNLDLY                                = 0x100\n\tNLMSG_ALIGNTO                        = 0x4\n\tNLMSG_DONE                           = 0x3\n\tNLMSG_ERROR                          = 0x2\n\tNLMSG_HDRLEN                         = 0x10\n\tNLMSG_MIN_TYPE                       = 0x10\n\tNLMSG_NOOP                           = 0x1\n\tNLMSG_OVERRUN                        = 0x4\n\tNLM_F_ACK                            = 0x4\n\tNLM_F_ACK_TLVS                       = 0x200\n\tNLM_F_APPEND                         = 0x800\n\tNLM_F_ATOMIC                         = 0x400\n\tNLM_F_CAPPED                         = 0x100\n\tNLM_F_CREATE                         = 0x400\n\tNLM_F_DUMP                           = 0x300\n\tNLM_F_DUMP_FILTERED                  = 0x20\n\tNLM_F_DUMP_INTR                      = 0x10\n\tNLM_F_ECHO                           = 0x8\n\tNLM_F_EXCL                           = 0x200\n\tNLM_F_MATCH                          = 0x200\n\tNLM_F_MULTI                          = 0x2\n\tNLM_F_NONREC                         = 0x100\n\tNLM_F_REPLACE                        = 0x100\n\tNLM_F_REQUEST                        = 0x1\n\tNLM_F_ROOT                           = 0x100\n\tNOFLSH                               = 0x80\n\tNSFS_MAGIC                           = 0x6e736673\n\tOCFS2_SUPER_MAGIC                    = 0x7461636f\n\tOCRNL                                = 0x8\n\tOFDEL                                = 0x80\n\tOFILL                                = 0x40\n\tOLCUC                                = 0x2\n\tONLCR                                = 0x4\n\tONLRET                               = 0x20\n\tONOCR                                = 0x10\n\tOPENPROM_SUPER_MAGIC                 = 0x9fa1\n\tOPOST                                = 0x1\n\tOVERLAYFS_SUPER_MAGIC                = 0x794c7630\n\tO_ACCMODE                            = 0x3\n\tO_APPEND                             = 0x400\n\tO_ASYNC                              = 0x2000\n\tO_CLOEXEC                            = 0x80000\n\tO_CREAT                              = 0x40\n\tO_DIRECT                             = 0x10000\n\tO_DIRECTORY                          = 0x4000\n\tO_DSYNC                              = 0x1000\n\tO_EXCL                               = 0x80\n\tO_FSYNC                              = 0x101000\n\tO_LARGEFILE                          = 0x0\n\tO_NDELAY                             = 0x800\n\tO_NOATIME                            = 0x40000\n\tO_NOCTTY                             = 0x100\n\tO_NOFOLLOW                           = 0x8000\n\tO_NONBLOCK                           = 0x800\n\tO_PATH                               = 0x200000\n\tO_RDONLY                             = 0x0\n\tO_RDWR                               = 0x2\n\tO_RSYNC                              = 0x101000\n\tO_SYNC                               = 0x101000\n\tO_TMPFILE                            = 0x404000\n\tO_TRUNC                              = 0x200\n\tO_WRONLY                             = 0x1\n\tPACKET_ADD_MEMBERSHIP                = 0x1\n\tPACKET_AUXDATA                       = 0x8\n\tPACKET_BROADCAST                     = 0x1\n\tPACKET_COPY_THRESH                   = 0x7\n\tPACKET_DROP_MEMBERSHIP               = 0x2\n\tPACKET_FANOUT                        = 0x12\n\tPACKET_FANOUT_CBPF                   = 0x6\n\tPACKET_FANOUT_CPU                    = 0x2\n\tPACKET_FANOUT_DATA                   = 0x16\n\tPACKET_FANOUT_EBPF                   = 0x7\n\tPACKET_FANOUT_FLAG_DEFRAG            = 0x8000\n\tPACKET_FANOUT_FLAG_ROLLOVER          = 0x1000\n\tPACKET_FANOUT_FLAG_UNIQUEID          = 0x2000\n\tPACKET_FANOUT_HASH                   = 0x0\n\tPACKET_FANOUT_LB                     = 0x1\n\tPACKET_FANOUT_QM                     = 0x5\n\tPACKET_FANOUT_RND                    = 0x4\n\tPACKET_FANOUT_ROLLOVER               = 0x3\n\tPACKET_FASTROUTE                     = 0x6\n\tPACKET_HDRLEN                        = 0xb\n\tPACKET_HOST                          = 0x0\n\tPACKET_KERNEL                        = 0x7\n\tPACKET_LOOPBACK                      = 0x5\n\tPACKET_LOSS                          = 0xe\n\tPACKET_MR_ALLMULTI                   = 0x2\n\tPACKET_MR_MULTICAST                  = 0x0\n\tPACKET_MR_PROMISC                    = 0x1\n\tPACKET_MR_UNICAST                    = 0x3\n\tPACKET_MULTICAST                     = 0x2\n\tPACKET_ORIGDEV                       = 0x9\n\tPACKET_OTHERHOST                     = 0x3\n\tPACKET_OUTGOING                      = 0x4\n\tPACKET_QDISC_BYPASS                  = 0x14\n\tPACKET_RECV_OUTPUT                   = 0x3\n\tPACKET_RESERVE                       = 0xc\n\tPACKET_ROLLOVER_STATS                = 0x15\n\tPACKET_RX_RING                       = 0x5\n\tPACKET_STATISTICS                    = 0x6\n\tPACKET_TIMESTAMP                     = 0x11\n\tPACKET_TX_HAS_OFF                    = 0x13\n\tPACKET_TX_RING                       = 0xd\n\tPACKET_TX_TIMESTAMP                  = 0x10\n\tPACKET_USER                          = 0x6\n\tPACKET_VERSION                       = 0xa\n\tPACKET_VNET_HDR                      = 0xf\n\tPARENB                               = 0x100\n\tPARITY_CRC16_PR0                     = 0x2\n\tPARITY_CRC16_PR0_CCITT               = 0x4\n\tPARITY_CRC16_PR1                     = 0x3\n\tPARITY_CRC16_PR1_CCITT               = 0x5\n\tPARITY_CRC32_PR0_CCITT               = 0x6\n\tPARITY_CRC32_PR1_CCITT               = 0x7\n\tPARITY_DEFAULT                       = 0x0\n\tPARITY_NONE                          = 0x1\n\tPARMRK                               = 0x8\n\tPARODD                               = 0x200\n\tPENDIN                               = 0x4000\n\tPERF_EVENT_IOC_DISABLE               = 0x2401\n\tPERF_EVENT_IOC_ENABLE                = 0x2400\n\tPERF_EVENT_IOC_ID                    = 0x80082407\n\tPERF_EVENT_IOC_MODIFY_ATTRIBUTES     = 0x4008240b\n\tPERF_EVENT_IOC_PAUSE_OUTPUT          = 0x40042409\n\tPERF_EVENT_IOC_PERIOD                = 0x40082404\n\tPERF_EVENT_IOC_QUERY_BPF             = 0xc008240a\n\tPERF_EVENT_IOC_REFRESH               = 0x2402\n\tPERF_EVENT_IOC_RESET                 = 0x2403\n\tPERF_EVENT_IOC_SET_BPF               = 0x40042408\n\tPERF_EVENT_IOC_SET_FILTER            = 0x40082406\n\tPERF_EVENT_IOC_SET_OUTPUT            = 0x2405\n\tPIPEFS_MAGIC                         = 0x50495045\n\tPRIO_PGRP                            = 0x1\n\tPRIO_PROCESS                         = 0x0\n\tPRIO_USER                            = 0x2\n\tPROC_SUPER_MAGIC                     = 0x9fa0\n\tPROT_EXEC                            = 0x4\n\tPROT_GROWSDOWN                       = 0x1000000\n\tPROT_GROWSUP                         = 0x2000000\n\tPROT_NONE                            = 0x0\n\tPROT_READ                            = 0x1\n\tPROT_WRITE                           = 0x2\n\tPR_CAPBSET_DROP                      = 0x18\n\tPR_CAPBSET_READ                      = 0x17\n\tPR_CAP_AMBIENT                       = 0x2f\n\tPR_CAP_AMBIENT_CLEAR_ALL             = 0x4\n\tPR_CAP_AMBIENT_IS_SET                = 0x1\n\tPR_CAP_AMBIENT_LOWER                 = 0x3\n\tPR_CAP_AMBIENT_RAISE                 = 0x2\n\tPR_ENDIAN_BIG                        = 0x0\n\tPR_ENDIAN_LITTLE                     = 0x1\n\tPR_ENDIAN_PPC_LITTLE                 = 0x2\n\tPR_FPEMU_NOPRINT                     = 0x1\n\tPR_FPEMU_SIGFPE                      = 0x2\n\tPR_FP_EXC_ASYNC                      = 0x2\n\tPR_FP_EXC_DISABLED                   = 0x0\n\tPR_FP_EXC_DIV                        = 0x10000\n\tPR_FP_EXC_INV                        = 0x100000\n\tPR_FP_EXC_NONRECOV                   = 0x1\n\tPR_FP_EXC_OVF                        = 0x20000\n\tPR_FP_EXC_PRECISE                    = 0x3\n\tPR_FP_EXC_RES                        = 0x80000\n\tPR_FP_EXC_SW_ENABLE                  = 0x80\n\tPR_FP_EXC_UND                        = 0x40000\n\tPR_FP_MODE_FR                        = 0x1\n\tPR_FP_MODE_FRE                       = 0x2\n\tPR_GET_CHILD_SUBREAPER               = 0x25\n\tPR_GET_DUMPABLE                      = 0x3\n\tPR_GET_ENDIAN                        = 0x13\n\tPR_GET_FPEMU                         = 0x9\n\tPR_GET_FPEXC                         = 0xb\n\tPR_GET_FP_MODE                       = 0x2e\n\tPR_GET_KEEPCAPS                      = 0x7\n\tPR_GET_NAME                          = 0x10\n\tPR_GET_NO_NEW_PRIVS                  = 0x27\n\tPR_GET_PDEATHSIG                     = 0x2\n\tPR_GET_SECCOMP                       = 0x15\n\tPR_GET_SECUREBITS                    = 0x1b\n\tPR_GET_SPECULATION_CTRL              = 0x34\n\tPR_GET_THP_DISABLE                   = 0x2a\n\tPR_GET_TID_ADDRESS                   = 0x28\n\tPR_GET_TIMERSLACK                    = 0x1e\n\tPR_GET_TIMING                        = 0xd\n\tPR_GET_TSC                           = 0x19\n\tPR_GET_UNALIGN                       = 0x5\n\tPR_MCE_KILL                          = 0x21\n\tPR_MCE_KILL_CLEAR                    = 0x0\n\tPR_MCE_KILL_DEFAULT                  = 0x2\n\tPR_MCE_KILL_EARLY                    = 0x1\n\tPR_MCE_KILL_GET                      = 0x22\n\tPR_MCE_KILL_LATE                     = 0x0\n\tPR_MCE_KILL_SET                      = 0x1\n\tPR_MPX_DISABLE_MANAGEMENT            = 0x2c\n\tPR_MPX_ENABLE_MANAGEMENT             = 0x2b\n\tPR_SET_CHILD_SUBREAPER               = 0x24\n\tPR_SET_DUMPABLE                      = 0x4\n\tPR_SET_ENDIAN                        = 0x14\n\tPR_SET_FPEMU                         = 0xa\n\tPR_SET_FPEXC                         = 0xc\n\tPR_SET_FP_MODE                       = 0x2d\n\tPR_SET_KEEPCAPS                      = 0x8\n\tPR_SET_MM                            = 0x23\n\tPR_SET_MM_ARG_END                    = 0x9\n\tPR_SET_MM_ARG_START                  = 0x8\n\tPR_SET_MM_AUXV                       = 0xc\n\tPR_SET_MM_BRK                        = 0x7\n\tPR_SET_MM_END_CODE                   = 0x2\n\tPR_SET_MM_END_DATA                   = 0x4\n\tPR_SET_MM_ENV_END                    = 0xb\n\tPR_SET_MM_ENV_START                  = 0xa\n\tPR_SET_MM_EXE_FILE                   = 0xd\n\tPR_SET_MM_MAP                        = 0xe\n\tPR_SET_MM_MAP_SIZE                   = 0xf\n\tPR_SET_MM_START_BRK                  = 0x6\n\tPR_SET_MM_START_CODE                 = 0x1\n\tPR_SET_MM_START_DATA                 = 0x3\n\tPR_SET_MM_START_STACK                = 0x5\n\tPR_SET_NAME                          = 0xf\n\tPR_SET_NO_NEW_PRIVS                  = 0x26\n\tPR_SET_PDEATHSIG                     = 0x1\n\tPR_SET_PTRACER                       = 0x59616d61\n\tPR_SET_PTRACER_ANY                   = 0xffffffffffffffff\n\tPR_SET_SECCOMP                       = 0x16\n\tPR_SET_SECUREBITS                    = 0x1c\n\tPR_SET_SPECULATION_CTRL              = 0x35\n\tPR_SET_THP_DISABLE                   = 0x29\n\tPR_SET_TIMERSLACK                    = 0x1d\n\tPR_SET_TIMING                        = 0xe\n\tPR_SET_TSC                           = 0x1a\n\tPR_SET_UNALIGN                       = 0x6\n\tPR_SPEC_DISABLE                      = 0x4\n\tPR_SPEC_ENABLE                       = 0x2\n\tPR_SPEC_FORCE_DISABLE                = 0x8\n\tPR_SPEC_NOT_AFFECTED                 = 0x0\n\tPR_SPEC_PRCTL                        = 0x1\n\tPR_SPEC_STORE_BYPASS                 = 0x0\n\tPR_SVE_GET_VL                        = 0x33\n\tPR_SVE_SET_VL                        = 0x32\n\tPR_SVE_SET_VL_ONEXEC                 = 0x40000\n\tPR_SVE_VL_INHERIT                    = 0x20000\n\tPR_SVE_VL_LEN_MASK                   = 0xffff\n\tPR_TASK_PERF_EVENTS_DISABLE          = 0x1f\n\tPR_TASK_PERF_EVENTS_ENABLE           = 0x20\n\tPR_TIMING_STATISTICAL                = 0x0\n\tPR_TIMING_TIMESTAMP                  = 0x1\n\tPR_TSC_ENABLE                        = 0x1\n\tPR_TSC_SIGSEGV                       = 0x2\n\tPR_UNALIGN_NOPRINT                   = 0x1\n\tPR_UNALIGN_SIGBUS                    = 0x2\n\tPSTOREFS_MAGIC                       = 0x6165676c\n\tPTRACE_ATTACH                        = 0x10\n\tPTRACE_CONT                          = 0x7\n\tPTRACE_DETACH                        = 0x11\n\tPTRACE_EVENT_CLONE                   = 0x3\n\tPTRACE_EVENT_EXEC                    = 0x4\n\tPTRACE_EVENT_EXIT                    = 0x6\n\tPTRACE_EVENT_FORK                    = 0x1\n\tPTRACE_EVENT_SECCOMP                 = 0x7\n\tPTRACE_EVENT_STOP                    = 0x80\n\tPTRACE_EVENT_VFORK                   = 0x2\n\tPTRACE_EVENT_VFORK_DONE              = 0x5\n\tPTRACE_GETEVENTMSG                   = 0x4201\n\tPTRACE_GETREGS                       = 0xc\n\tPTRACE_GETREGSET                     = 0x4204\n\tPTRACE_GETSIGINFO                    = 0x4202\n\tPTRACE_GETSIGMASK                    = 0x420a\n\tPTRACE_INTERRUPT                     = 0x4207\n\tPTRACE_KILL                          = 0x8\n\tPTRACE_LISTEN                        = 0x4208\n\tPTRACE_O_EXITKILL                    = 0x100000\n\tPTRACE_O_MASK                        = 0x3000ff\n\tPTRACE_O_SUSPEND_SECCOMP             = 0x200000\n\tPTRACE_O_TRACECLONE                  = 0x8\n\tPTRACE_O_TRACEEXEC                   = 0x10\n\tPTRACE_O_TRACEEXIT                   = 0x40\n\tPTRACE_O_TRACEFORK                   = 0x2\n\tPTRACE_O_TRACESECCOMP                = 0x80\n\tPTRACE_O_TRACESYSGOOD                = 0x1\n\tPTRACE_O_TRACEVFORK                  = 0x4\n\tPTRACE_O_TRACEVFORKDONE              = 0x20\n\tPTRACE_PEEKDATA                      = 0x2\n\tPTRACE_PEEKSIGINFO                   = 0x4209\n\tPTRACE_PEEKSIGINFO_SHARED            = 0x1\n\tPTRACE_PEEKTEXT                      = 0x1\n\tPTRACE_PEEKUSR                       = 0x3\n\tPTRACE_POKEDATA                      = 0x5\n\tPTRACE_POKETEXT                      = 0x4\n\tPTRACE_POKEUSR                       = 0x6\n\tPTRACE_SECCOMP_GET_FILTER            = 0x420c\n\tPTRACE_SECCOMP_GET_METADATA          = 0x420d\n\tPTRACE_SEIZE                         = 0x4206\n\tPTRACE_SETOPTIONS                    = 0x4200\n\tPTRACE_SETREGS                       = 0xd\n\tPTRACE_SETREGSET                     = 0x4205\n\tPTRACE_SETSIGINFO                    = 0x4203\n\tPTRACE_SETSIGMASK                    = 0x420b\n\tPTRACE_SINGLESTEP                    = 0x9\n\tPTRACE_SYSCALL                       = 0x18\n\tPTRACE_TRACEME                       = 0x0\n\tQNX4_SUPER_MAGIC                     = 0x2f\n\tQNX6_SUPER_MAGIC                     = 0x68191122\n\tRAMFS_MAGIC                          = 0x858458f6\n\tRDTGROUP_SUPER_MAGIC                 = 0x7655821\n\tREISERFS_SUPER_MAGIC                 = 0x52654973\n\tRENAME_EXCHANGE                      = 0x2\n\tRENAME_NOREPLACE                     = 0x1\n\tRENAME_WHITEOUT                      = 0x4\n\tRLIMIT_AS                            = 0x9\n\tRLIMIT_CORE                          = 0x4\n\tRLIMIT_CPU                           = 0x0\n\tRLIMIT_DATA                          = 0x2\n\tRLIMIT_FSIZE                         = 0x1\n\tRLIMIT_LOCKS                         = 0xa\n\tRLIMIT_MEMLOCK                       = 0x8\n\tRLIMIT_MSGQUEUE                      = 0xc\n\tRLIMIT_NICE                          = 0xd\n\tRLIMIT_NOFILE                        = 0x7\n\tRLIMIT_NPROC                         = 0x6\n\tRLIMIT_RSS                           = 0x5\n\tRLIMIT_RTPRIO                        = 0xe\n\tRLIMIT_RTTIME                        = 0xf\n\tRLIMIT_SIGPENDING                    = 0xb\n\tRLIMIT_STACK                         = 0x3\n\tRLIM_INFINITY                        = 0xffffffffffffffff\n\tRTAX_ADVMSS                          = 0x8\n\tRTAX_CC_ALGO                         = 0x10\n\tRTAX_CWND                            = 0x7\n\tRTAX_FASTOPEN_NO_COOKIE              = 0x11\n\tRTAX_FEATURES                        = 0xc\n\tRTAX_FEATURE_ALLFRAG                 = 0x8\n\tRTAX_FEATURE_ECN                     = 0x1\n\tRTAX_FEATURE_MASK                    = 0xf\n\tRTAX_FEATURE_SACK                    = 0x2\n\tRTAX_FEATURE_TIMESTAMP               = 0x4\n\tRTAX_HOPLIMIT                        = 0xa\n\tRTAX_INITCWND                        = 0xb\n\tRTAX_INITRWND                        = 0xe\n\tRTAX_LOCK                            = 0x1\n\tRTAX_MAX                             = 0x11\n\tRTAX_MTU                             = 0x2\n\tRTAX_QUICKACK                        = 0xf\n\tRTAX_REORDERING                      = 0x9\n\tRTAX_RTO_MIN                         = 0xd\n\tRTAX_RTT                             = 0x4\n\tRTAX_RTTVAR                          = 0x5\n\tRTAX_SSTHRESH                        = 0x6\n\tRTAX_UNSPEC                          = 0x0\n\tRTAX_WINDOW                          = 0x3\n\tRTA_ALIGNTO                          = 0x4\n\tRTA_MAX                              = 0x1d\n\tRTCF_DIRECTSRC                       = 0x4000000\n\tRTCF_DOREDIRECT                      = 0x1000000\n\tRTCF_LOG                             = 0x2000000\n\tRTCF_MASQ                            = 0x400000\n\tRTCF_NAT                             = 0x800000\n\tRTCF_VALVE                           = 0x200000\n\tRTC_AF                               = 0x20\n\tRTC_AIE_OFF                          = 0x7002\n\tRTC_AIE_ON                           = 0x7001\n\tRTC_ALM_READ                         = 0x80247008\n\tRTC_ALM_SET                          = 0x40247007\n\tRTC_EPOCH_READ                       = 0x8008700d\n\tRTC_EPOCH_SET                        = 0x4008700e\n\tRTC_IRQF                             = 0x80\n\tRTC_IRQP_READ                        = 0x8008700b\n\tRTC_IRQP_SET                         = 0x4008700c\n\tRTC_MAX_FREQ                         = 0x2000\n\tRTC_PF                               = 0x40\n\tRTC_PIE_OFF                          = 0x7006\n\tRTC_PIE_ON                           = 0x7005\n\tRTC_PLL_GET                          = 0x80207011\n\tRTC_PLL_SET                          = 0x40207012\n\tRTC_RD_TIME                          = 0x80247009\n\tRTC_SET_TIME                         = 0x4024700a\n\tRTC_UF                               = 0x10\n\tRTC_UIE_OFF                          = 0x7004\n\tRTC_UIE_ON                           = 0x7003\n\tRTC_VL_CLR                           = 0x7014\n\tRTC_VL_READ                          = 0x80047013\n\tRTC_WIE_OFF                          = 0x7010\n\tRTC_WIE_ON                           = 0x700f\n\tRTC_WKALM_RD                         = 0x80287010\n\tRTC_WKALM_SET                        = 0x4028700f\n\tRTF_ADDRCLASSMASK                    = 0xf8000000\n\tRTF_ADDRCONF                         = 0x40000\n\tRTF_ALLONLINK                        = 0x20000\n\tRTF_BROADCAST                        = 0x10000000\n\tRTF_CACHE                            = 0x1000000\n\tRTF_DEFAULT                          = 0x10000\n\tRTF_DYNAMIC                          = 0x10\n\tRTF_FLOW                             = 0x2000000\n\tRTF_GATEWAY                          = 0x2\n\tRTF_HOST                             = 0x4\n\tRTF_INTERFACE                        = 0x40000000\n\tRTF_IRTT                             = 0x100\n\tRTF_LINKRT                           = 0x100000\n\tRTF_LOCAL                            = 0x80000000\n\tRTF_MODIFIED                         = 0x20\n\tRTF_MSS                              = 0x40\n\tRTF_MTU                              = 0x40\n\tRTF_MULTICAST                        = 0x20000000\n\tRTF_NAT                              = 0x8000000\n\tRTF_NOFORWARD                        = 0x1000\n\tRTF_NONEXTHOP                        = 0x200000\n\tRTF_NOPMTUDISC                       = 0x4000\n\tRTF_POLICY                           = 0x4000000\n\tRTF_REINSTATE                        = 0x8\n\tRTF_REJECT                           = 0x200\n\tRTF_STATIC                           = 0x400\n\tRTF_THROW                            = 0x2000\n\tRTF_UP                               = 0x1\n\tRTF_WINDOW                           = 0x80\n\tRTF_XRESOLVE                         = 0x800\n\tRTM_BASE                             = 0x10\n\tRTM_DELACTION                        = 0x31\n\tRTM_DELADDR                          = 0x15\n\tRTM_DELADDRLABEL                     = 0x49\n\tRTM_DELLINK                          = 0x11\n\tRTM_DELMDB                           = 0x55\n\tRTM_DELNEIGH                         = 0x1d\n\tRTM_DELNETCONF                       = 0x51\n\tRTM_DELNSID                          = 0x59\n\tRTM_DELQDISC                         = 0x25\n\tRTM_DELROUTE                         = 0x19\n\tRTM_DELRULE                          = 0x21\n\tRTM_DELTCLASS                        = 0x29\n\tRTM_DELTFILTER                       = 0x2d\n\tRTM_F_CLONED                         = 0x200\n\tRTM_F_EQUALIZE                       = 0x400\n\tRTM_F_FIB_MATCH                      = 0x2000\n\tRTM_F_LOOKUP_TABLE                   = 0x1000\n\tRTM_F_NOTIFY                         = 0x100\n\tRTM_F_PREFIX                         = 0x800\n\tRTM_GETACTION                        = 0x32\n\tRTM_GETADDR                          = 0x16\n\tRTM_GETADDRLABEL                     = 0x4a\n\tRTM_GETANYCAST                       = 0x3e\n\tRTM_GETDCB                           = 0x4e\n\tRTM_GETLINK                          = 0x12\n\tRTM_GETMDB                           = 0x56\n\tRTM_GETMULTICAST                     = 0x3a\n\tRTM_GETNEIGH                         = 0x1e\n\tRTM_GETNEIGHTBL                      = 0x42\n\tRTM_GETNETCONF                       = 0x52\n\tRTM_GETNSID                          = 0x5a\n\tRTM_GETQDISC                         = 0x26\n\tRTM_GETROUTE                         = 0x1a\n\tRTM_GETRULE                          = 0x22\n\tRTM_GETSTATS                         = 0x5e\n\tRTM_GETTCLASS                        = 0x2a\n\tRTM_GETTFILTER                       = 0x2e\n\tRTM_MAX                              = 0x63\n\tRTM_NEWACTION                        = 0x30\n\tRTM_NEWADDR                          = 0x14\n\tRTM_NEWADDRLABEL                     = 0x48\n\tRTM_NEWCACHEREPORT                   = 0x60\n\tRTM_NEWLINK                          = 0x10\n\tRTM_NEWMDB                           = 0x54\n\tRTM_NEWNDUSEROPT                     = 0x44\n\tRTM_NEWNEIGH                         = 0x1c\n\tRTM_NEWNEIGHTBL                      = 0x40\n\tRTM_NEWNETCONF                       = 0x50\n\tRTM_NEWNSID                          = 0x58\n\tRTM_NEWPREFIX                        = 0x34\n\tRTM_NEWQDISC                         = 0x24\n\tRTM_NEWROUTE                         = 0x18\n\tRTM_NEWRULE                          = 0x20\n\tRTM_NEWSTATS                         = 0x5c\n\tRTM_NEWTCLASS                        = 0x28\n\tRTM_NEWTFILTER                       = 0x2c\n\tRTM_NR_FAMILIES                      = 0x15\n\tRTM_NR_MSGTYPES                      = 0x54\n\tRTM_SETDCB                           = 0x4f\n\tRTM_SETLINK                          = 0x13\n\tRTM_SETNEIGHTBL                      = 0x43\n\tRTNH_ALIGNTO                         = 0x4\n\tRTNH_COMPARE_MASK                    = 0x19\n\tRTNH_F_DEAD                          = 0x1\n\tRTNH_F_LINKDOWN                      = 0x10\n\tRTNH_F_OFFLOAD                       = 0x8\n\tRTNH_F_ONLINK                        = 0x4\n\tRTNH_F_PERVASIVE                     = 0x2\n\tRTNH_F_UNRESOLVED                    = 0x20\n\tRTN_MAX                              = 0xb\n\tRTPROT_BABEL                         = 0x2a\n\tRTPROT_BGP                           = 0xba\n\tRTPROT_BIRD                          = 0xc\n\tRTPROT_BOOT                          = 0x3\n\tRTPROT_DHCP                          = 0x10\n\tRTPROT_DNROUTED                      = 0xd\n\tRTPROT_EIGRP                         = 0xc0\n\tRTPROT_GATED                         = 0x8\n\tRTPROT_ISIS                          = 0xbb\n\tRTPROT_KERNEL                        = 0x2\n\tRTPROT_MROUTED                       = 0x11\n\tRTPROT_MRT                           = 0xa\n\tRTPROT_NTK                           = 0xf\n\tRTPROT_OSPF                          = 0xbc\n\tRTPROT_RA                            = 0x9\n\tRTPROT_REDIRECT                      = 0x1\n\tRTPROT_RIP                           = 0xbd\n\tRTPROT_STATIC                        = 0x4\n\tRTPROT_UNSPEC                        = 0x0\n\tRTPROT_XORP                          = 0xe\n\tRTPROT_ZEBRA                         = 0xb\n\tRT_CLASS_DEFAULT                     = 0xfd\n\tRT_CLASS_LOCAL                       = 0xff\n\tRT_CLASS_MAIN                        = 0xfe\n\tRT_CLASS_MAX                         = 0xff\n\tRT_CLASS_UNSPEC                      = 0x0\n\tRUSAGE_CHILDREN                      = -0x1\n\tRUSAGE_SELF                          = 0x0\n\tRUSAGE_THREAD                        = 0x1\n\tSCM_CREDENTIALS                      = 0x2\n\tSCM_RIGHTS                           = 0x1\n\tSCM_TIMESTAMP                        = 0x1d\n\tSCM_TIMESTAMPING                     = 0x25\n\tSCM_TIMESTAMPING_OPT_STATS           = 0x36\n\tSCM_TIMESTAMPING_PKTINFO             = 0x3a\n\tSCM_TIMESTAMPNS                      = 0x23\n\tSCM_WIFI_STATUS                      = 0x29\n\tSECCOMP_MODE_DISABLED                = 0x0\n\tSECCOMP_MODE_FILTER                  = 0x2\n\tSECCOMP_MODE_STRICT                  = 0x1\n\tSECURITYFS_MAGIC                     = 0x73636673\n\tSELINUX_MAGIC                        = 0xf97cff8c\n\tSHUT_RD                              = 0x0\n\tSHUT_RDWR                            = 0x2\n\tSHUT_WR                              = 0x1\n\tSIOCADDDLCI                          = 0x8980\n\tSIOCADDMULTI                         = 0x8931\n\tSIOCADDRT                            = 0x890b\n\tSIOCATMARK                           = 0x8905\n\tSIOCBONDCHANGEACTIVE                 = 0x8995\n\tSIOCBONDENSLAVE                      = 0x8990\n\tSIOCBONDINFOQUERY                    = 0x8994\n\tSIOCBONDRELEASE                      = 0x8991\n\tSIOCBONDSETHWADDR                    = 0x8992\n\tSIOCBONDSLAVEINFOQUERY               = 0x8993\n\tSIOCBRADDBR                          = 0x89a0\n\tSIOCBRADDIF                          = 0x89a2\n\tSIOCBRDELBR                          = 0x89a1\n\tSIOCBRDELIF                          = 0x89a3\n\tSIOCDARP                             = 0x8953\n\tSIOCDELDLCI                          = 0x8981\n\tSIOCDELMULTI                         = 0x8932\n\tSIOCDELRT                            = 0x890c\n\tSIOCDEVPRIVATE                       = 0x89f0\n\tSIOCDIFADDR                          = 0x8936\n\tSIOCDRARP                            = 0x8960\n\tSIOCETHTOOL                          = 0x8946\n\tSIOCGARP                             = 0x8954\n\tSIOCGHWTSTAMP                        = 0x89b1\n\tSIOCGIFADDR                          = 0x8915\n\tSIOCGIFBR                            = 0x8940\n\tSIOCGIFBRDADDR                       = 0x8919\n\tSIOCGIFCONF                          = 0x8912\n\tSIOCGIFCOUNT                         = 0x8938\n\tSIOCGIFDSTADDR                       = 0x8917\n\tSIOCGIFENCAP                         = 0x8925\n\tSIOCGIFFLAGS                         = 0x8913\n\tSIOCGIFHWADDR                        = 0x8927\n\tSIOCGIFINDEX                         = 0x8933\n\tSIOCGIFMAP                           = 0x8970\n\tSIOCGIFMEM                           = 0x891f\n\tSIOCGIFMETRIC                        = 0x891d\n\tSIOCGIFMTU                           = 0x8921\n\tSIOCGIFNAME                          = 0x8910\n\tSIOCGIFNETMASK                       = 0x891b\n\tSIOCGIFPFLAGS                        = 0x8935\n\tSIOCGIFSLAVE                         = 0x8929\n\tSIOCGIFTXQLEN                        = 0x8942\n\tSIOCGIFVLAN                          = 0x8982\n\tSIOCGMIIPHY                          = 0x8947\n\tSIOCGMIIREG                          = 0x8948\n\tSIOCGPGRP                            = 0x8904\n\tSIOCGRARP                            = 0x8961\n\tSIOCGSKNS                            = 0x894c\n\tSIOCGSTAMP                           = 0x8906\n\tSIOCGSTAMPNS                         = 0x8907\n\tSIOCINQ                              = 0x541b\n\tSIOCOUTQ                             = 0x5411\n\tSIOCOUTQNSD                          = 0x894b\n\tSIOCPROTOPRIVATE                     = 0x89e0\n\tSIOCRTMSG                            = 0x890d\n\tSIOCSARP                             = 0x8955\n\tSIOCSHWTSTAMP                        = 0x89b0\n\tSIOCSIFADDR                          = 0x8916\n\tSIOCSIFBR                            = 0x8941\n\tSIOCSIFBRDADDR                       = 0x891a\n\tSIOCSIFDSTADDR                       = 0x8918\n\tSIOCSIFENCAP                         = 0x8926\n\tSIOCSIFFLAGS                         = 0x8914\n\tSIOCSIFHWADDR                        = 0x8924\n\tSIOCSIFHWBROADCAST                   = 0x8937\n\tSIOCSIFLINK                          = 0x8911\n\tSIOCSIFMAP                           = 0x8971\n\tSIOCSIFMEM                           = 0x8920\n\tSIOCSIFMETRIC                        = 0x891e\n\tSIOCSIFMTU                           = 0x8922\n\tSIOCSIFNAME                          = 0x8923\n\tSIOCSIFNETMASK                       = 0x891c\n\tSIOCSIFPFLAGS                        = 0x8934\n\tSIOCSIFSLAVE                         = 0x8930\n\tSIOCSIFTXQLEN                        = 0x8943\n\tSIOCSIFVLAN                          = 0x8983\n\tSIOCSMIIREG                          = 0x8949\n\tSIOCSPGRP                            = 0x8902\n\tSIOCSRARP                            = 0x8962\n\tSIOCWANDEV                           = 0x894a\n\tSMACK_MAGIC                          = 0x43415d53\n\tSMART_AUTOSAVE                       = 0xd2\n\tSMART_AUTO_OFFLINE                   = 0xdb\n\tSMART_DISABLE                        = 0xd9\n\tSMART_ENABLE                         = 0xd8\n\tSMART_HCYL_PASS                      = 0xc2\n\tSMART_IMMEDIATE_OFFLINE              = 0xd4\n\tSMART_LCYL_PASS                      = 0x4f\n\tSMART_READ_LOG_SECTOR                = 0xd5\n\tSMART_READ_THRESHOLDS                = 0xd1\n\tSMART_READ_VALUES                    = 0xd0\n\tSMART_SAVE                           = 0xd3\n\tSMART_STATUS                         = 0xda\n\tSMART_WRITE_LOG_SECTOR               = 0xd6\n\tSMART_WRITE_THRESHOLDS               = 0xd7\n\tSMB_SUPER_MAGIC                      = 0x517b\n\tSOCKFS_MAGIC                         = 0x534f434b\n\tSOCK_CLOEXEC                         = 0x80000\n\tSOCK_DCCP                            = 0x6\n\tSOCK_DGRAM                           = 0x2\n\tSOCK_IOC_TYPE                        = 0x89\n\tSOCK_NONBLOCK                        = 0x800\n\tSOCK_PACKET                          = 0xa\n\tSOCK_RAW                             = 0x3\n\tSOCK_RDM                             = 0x4\n\tSOCK_SEQPACKET                       = 0x5\n\tSOCK_STREAM                          = 0x1\n\tSOL_AAL                              = 0x109\n\tSOL_ALG                              = 0x117\n\tSOL_ATM                              = 0x108\n\tSOL_CAIF                             = 0x116\n\tSOL_CAN_BASE                         = 0x64\n\tSOL_DCCP                             = 0x10d\n\tSOL_DECNET                           = 0x105\n\tSOL_ICMPV6                           = 0x3a\n\tSOL_IP                               = 0x0\n\tSOL_IPV6                             = 0x29\n\tSOL_IRDA                             = 0x10a\n\tSOL_IUCV                             = 0x115\n\tSOL_KCM                              = 0x119\n\tSOL_LLC                              = 0x10c\n\tSOL_NETBEUI                          = 0x10b\n\tSOL_NETLINK                          = 0x10e\n\tSOL_NFC                              = 0x118\n\tSOL_PACKET                           = 0x107\n\tSOL_PNPIPE                           = 0x113\n\tSOL_PPPOL2TP                         = 0x111\n\tSOL_RAW                              = 0xff\n\tSOL_RDS                              = 0x114\n\tSOL_RXRPC                            = 0x110\n\tSOL_SOCKET                           = 0x1\n\tSOL_TCP                              = 0x6\n\tSOL_TIPC                             = 0x10f\n\tSOL_TLS                              = 0x11a\n\tSOL_X25                              = 0x106\n\tSOMAXCONN                            = 0x80\n\tSO_ACCEPTCONN                        = 0x1e\n\tSO_ATTACH_BPF                        = 0x32\n\tSO_ATTACH_FILTER                     = 0x1a\n\tSO_ATTACH_REUSEPORT_CBPF             = 0x33\n\tSO_ATTACH_REUSEPORT_EBPF             = 0x34\n\tSO_BINDTODEVICE                      = 0x19\n\tSO_BPF_EXTENSIONS                    = 0x30\n\tSO_BROADCAST                         = 0x6\n\tSO_BSDCOMPAT                         = 0xe\n\tSO_BUSY_POLL                         = 0x2e\n\tSO_CNX_ADVICE                        = 0x35\n\tSO_COOKIE                            = 0x39\n\tSO_DEBUG                             = 0x1\n\tSO_DETACH_BPF                        = 0x1b\n\tSO_DETACH_FILTER                     = 0x1b\n\tSO_DOMAIN                            = 0x27\n\tSO_DONTROUTE                         = 0x5\n\tSO_ERROR                             = 0x4\n\tSO_GET_FILTER                        = 0x1a\n\tSO_INCOMING_CPU                      = 0x31\n\tSO_INCOMING_NAPI_ID                  = 0x38\n\tSO_KEEPALIVE                         = 0x9\n\tSO_LINGER                            = 0xd\n\tSO_LOCK_FILTER                       = 0x2c\n\tSO_MARK                              = 0x24\n\tSO_MAX_PACING_RATE                   = 0x2f\n\tSO_MEMINFO                           = 0x37\n\tSO_NOFCS                             = 0x2b\n\tSO_NO_CHECK                          = 0xb\n\tSO_OOBINLINE                         = 0xa\n\tSO_PASSCRED                          = 0x10\n\tSO_PASSSEC                           = 0x22\n\tSO_PEEK_OFF                          = 0x2a\n\tSO_PEERCRED                          = 0x11\n\tSO_PEERGROUPS                        = 0x3b\n\tSO_PEERNAME                          = 0x1c\n\tSO_PEERSEC                           = 0x1f\n\tSO_PRIORITY                          = 0xc\n\tSO_PROTOCOL                          = 0x26\n\tSO_RCVBUF                            = 0x8\n\tSO_RCVBUFFORCE                       = 0x21\n\tSO_RCVLOWAT                          = 0x12\n\tSO_RCVTIMEO                          = 0x14\n\tSO_REUSEADDR                         = 0x2\n\tSO_REUSEPORT                         = 0xf\n\tSO_RXQ_OVFL                          = 0x28\n\tSO_SECURITY_AUTHENTICATION           = 0x16\n\tSO_SECURITY_ENCRYPTION_NETWORK       = 0x18\n\tSO_SECURITY_ENCRYPTION_TRANSPORT     = 0x17\n\tSO_SELECT_ERR_QUEUE                  = 0x2d\n\tSO_SNDBUF                            = 0x7\n\tSO_SNDBUFFORCE                       = 0x20\n\tSO_SNDLOWAT                          = 0x13\n\tSO_SNDTIMEO                          = 0x15\n\tSO_TIMESTAMP                         = 0x1d\n\tSO_TIMESTAMPING                      = 0x25\n\tSO_TIMESTAMPNS                       = 0x23\n\tSO_TYPE                              = 0x3\n\tSO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2\n\tSO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1\n\tSO_VM_SOCKETS_BUFFER_SIZE            = 0x0\n\tSO_VM_SOCKETS_CONNECT_TIMEOUT        = 0x6\n\tSO_VM_SOCKETS_NONBLOCK_TXRX          = 0x7\n\tSO_VM_SOCKETS_PEER_HOST_VM_ID        = 0x3\n\tSO_VM_SOCKETS_TRUSTED                = 0x5\n\tSO_WIFI_STATUS                       = 0x29\n\tSO_ZEROCOPY                          = 0x3c\n\tSPLICE_F_GIFT                        = 0x8\n\tSPLICE_F_MORE                        = 0x4\n\tSPLICE_F_MOVE                        = 0x1\n\tSPLICE_F_NONBLOCK                    = 0x2\n\tSQUASHFS_MAGIC                       = 0x73717368\n\tSTACK_END_MAGIC                      = 0x57ac6e9d\n\tSTATX_ALL                            = 0xfff\n\tSTATX_ATIME                          = 0x20\n\tSTATX_ATTR_APPEND                    = 0x20\n\tSTATX_ATTR_AUTOMOUNT                 = 0x1000\n\tSTATX_ATTR_COMPRESSED                = 0x4\n\tSTATX_ATTR_ENCRYPTED                 = 0x800\n\tSTATX_ATTR_IMMUTABLE                 = 0x10\n\tSTATX_ATTR_NODUMP                    = 0x40\n\tSTATX_BASIC_STATS                    = 0x7ff\n\tSTATX_BLOCKS                         = 0x400\n\tSTATX_BTIME                          = 0x800\n\tSTATX_CTIME                          = 0x80\n\tSTATX_GID                            = 0x10\n\tSTATX_INO                            = 0x100\n\tSTATX_MODE                           = 0x2\n\tSTATX_MTIME                          = 0x40\n\tSTATX_NLINK                          = 0x4\n\tSTATX_SIZE                           = 0x200\n\tSTATX_TYPE                           = 0x1\n\tSTATX_UID                            = 0x8\n\tSTATX__RESERVED                      = 0x80000000\n\tSVE_MAGIC                            = 0x53564501\n\tSYSFS_MAGIC                          = 0x62656572\n\tS_BLKSIZE                            = 0x200\n\tS_IEXEC                              = 0x40\n\tS_IFBLK                              = 0x6000\n\tS_IFCHR                              = 0x2000\n\tS_IFDIR                              = 0x4000\n\tS_IFIFO                              = 0x1000\n\tS_IFLNK                              = 0xa000\n\tS_IFMT                               = 0xf000\n\tS_IFREG                              = 0x8000\n\tS_IFSOCK                             = 0xc000\n\tS_IREAD                              = 0x100\n\tS_IRGRP                              = 0x20\n\tS_IROTH                              = 0x4\n\tS_IRUSR                              = 0x100\n\tS_IRWXG                              = 0x38\n\tS_IRWXO                              = 0x7\n\tS_IRWXU                              = 0x1c0\n\tS_ISGID                              = 0x400\n\tS_ISUID                              = 0x800\n\tS_ISVTX                              = 0x200\n\tS_IWGRP                              = 0x10\n\tS_IWOTH                              = 0x2\n\tS_IWRITE                             = 0x80\n\tS_IWUSR                              = 0x80\n\tS_IXGRP                              = 0x8\n\tS_IXOTH                              = 0x1\n\tS_IXUSR                              = 0x40\n\tTAB0                                 = 0x0\n\tTAB1                                 = 0x800\n\tTAB2                                 = 0x1000\n\tTAB3                                 = 0x1800\n\tTABDLY                               = 0x1800\n\tTASKSTATS_CMD_ATTR_MAX               = 0x4\n\tTASKSTATS_CMD_MAX                    = 0x2\n\tTASKSTATS_GENL_NAME                  = \"TASKSTATS\"\n\tTASKSTATS_GENL_VERSION               = 0x1\n\tTASKSTATS_TYPE_MAX                   = 0x6\n\tTASKSTATS_VERSION                    = 0x8\n\tTCFLSH                               = 0x540b\n\tTCGETA                               = 0x5405\n\tTCGETS                               = 0x5401\n\tTCGETS2                              = 0x802c542a\n\tTCGETX                               = 0x5432\n\tTCIFLUSH                             = 0x0\n\tTCIOFF                               = 0x2\n\tTCIOFLUSH                            = 0x2\n\tTCION                                = 0x3\n\tTCOFLUSH                             = 0x1\n\tTCOOFF                               = 0x0\n\tTCOON                                = 0x1\n\tTCP_CC_INFO                          = 0x1a\n\tTCP_CONGESTION                       = 0xd\n\tTCP_COOKIE_IN_ALWAYS                 = 0x1\n\tTCP_COOKIE_MAX                       = 0x10\n\tTCP_COOKIE_MIN                       = 0x8\n\tTCP_COOKIE_OUT_NEVER                 = 0x2\n\tTCP_COOKIE_PAIR_SIZE                 = 0x20\n\tTCP_COOKIE_TRANSACTIONS              = 0xf\n\tTCP_CORK                             = 0x3\n\tTCP_DEFER_ACCEPT                     = 0x9\n\tTCP_FASTOPEN                         = 0x17\n\tTCP_FASTOPEN_CONNECT                 = 0x1e\n\tTCP_FASTOPEN_KEY                     = 0x21\n\tTCP_FASTOPEN_NO_COOKIE               = 0x22\n\tTCP_INFO                             = 0xb\n\tTCP_KEEPCNT                          = 0x6\n\tTCP_KEEPIDLE                         = 0x4\n\tTCP_KEEPINTVL                        = 0x5\n\tTCP_LINGER2                          = 0x8\n\tTCP_MAXSEG                           = 0x2\n\tTCP_MAXWIN                           = 0xffff\n\tTCP_MAX_WINSHIFT                     = 0xe\n\tTCP_MD5SIG                           = 0xe\n\tTCP_MD5SIG_EXT                       = 0x20\n\tTCP_MD5SIG_FLAG_PREFIX               = 0x1\n\tTCP_MD5SIG_MAXKEYLEN                 = 0x50\n\tTCP_MSS                              = 0x200\n\tTCP_MSS_DEFAULT                      = 0x218\n\tTCP_MSS_DESIRED                      = 0x4c4\n\tTCP_NODELAY                          = 0x1\n\tTCP_NOTSENT_LOWAT                    = 0x19\n\tTCP_QUEUE_SEQ                        = 0x15\n\tTCP_QUICKACK                         = 0xc\n\tTCP_REPAIR                           = 0x13\n\tTCP_REPAIR_OPTIONS                   = 0x16\n\tTCP_REPAIR_QUEUE                     = 0x14\n\tTCP_REPAIR_WINDOW                    = 0x1d\n\tTCP_SAVED_SYN                        = 0x1c\n\tTCP_SAVE_SYN                         = 0x1b\n\tTCP_SYNCNT                           = 0x7\n\tTCP_S_DATA_IN                        = 0x4\n\tTCP_S_DATA_OUT                       = 0x8\n\tTCP_THIN_DUPACK                      = 0x11\n\tTCP_THIN_LINEAR_TIMEOUTS             = 0x10\n\tTCP_TIMESTAMP                        = 0x18\n\tTCP_ULP                              = 0x1f\n\tTCP_USER_TIMEOUT                     = 0x12\n\tTCP_WINDOW_CLAMP                     = 0xa\n\tTCSAFLUSH                            = 0x2\n\tTCSBRK                               = 0x5409\n\tTCSBRKP                              = 0x5425\n\tTCSETA                               = 0x5406\n\tTCSETAF                              = 0x5408\n\tTCSETAW                              = 0x5407\n\tTCSETS                               = 0x5402\n\tTCSETS2                              = 0x402c542b\n\tTCSETSF                              = 0x5404\n\tTCSETSF2                             = 0x402c542d\n\tTCSETSW                              = 0x5403\n\tTCSETSW2                             = 0x402c542c\n\tTCSETX                               = 0x5433\n\tTCSETXF                              = 0x5434\n\tTCSETXW                              = 0x5435\n\tTCXONC                               = 0x540a\n\tTIOCCBRK                             = 0x5428\n\tTIOCCONS                             = 0x541d\n\tTIOCEXCL                             = 0x540c\n\tTIOCGDEV                             = 0x80045432\n\tTIOCGETD                             = 0x5424\n\tTIOCGEXCL                            = 0x80045440\n\tTIOCGICOUNT                          = 0x545d\n\tTIOCGLCKTRMIOS                       = 0x5456\n\tTIOCGPGRP                            = 0x540f\n\tTIOCGPKT                             = 0x80045438\n\tTIOCGPTLCK                           = 0x80045439\n\tTIOCGPTN                             = 0x80045430\n\tTIOCGPTPEER                          = 0x5441\n\tTIOCGRS485                           = 0x542e\n\tTIOCGSERIAL                          = 0x541e\n\tTIOCGSID                             = 0x5429\n\tTIOCGSOFTCAR                         = 0x5419\n\tTIOCGWINSZ                           = 0x5413\n\tTIOCINQ                              = 0x541b\n\tTIOCLINUX                            = 0x541c\n\tTIOCMBIC                             = 0x5417\n\tTIOCMBIS                             = 0x5416\n\tTIOCMGET                             = 0x5415\n\tTIOCMIWAIT                           = 0x545c\n\tTIOCMSET                             = 0x5418\n\tTIOCM_CAR                            = 0x40\n\tTIOCM_CD                             = 0x40\n\tTIOCM_CTS                            = 0x20\n\tTIOCM_DSR                            = 0x100\n\tTIOCM_DTR                            = 0x2\n\tTIOCM_LE                             = 0x1\n\tTIOCM_RI                             = 0x80\n\tTIOCM_RNG                            = 0x80\n\tTIOCM_RTS                            = 0x4\n\tTIOCM_SR                             = 0x10\n\tTIOCM_ST                             = 0x8\n\tTIOCNOTTY                            = 0x5422\n\tTIOCNXCL                             = 0x540d\n\tTIOCOUTQ                             = 0x5411\n\tTIOCPKT                              = 0x5420\n\tTIOCPKT_DATA                         = 0x0\n\tTIOCPKT_DOSTOP                       = 0x20\n\tTIOCPKT_FLUSHREAD                    = 0x1\n\tTIOCPKT_FLUSHWRITE                   = 0x2\n\tTIOCPKT_IOCTL                        = 0x40\n\tTIOCPKT_NOSTOP                       = 0x10\n\tTIOCPKT_START                        = 0x8\n\tTIOCPKT_STOP                         = 0x4\n\tTIOCSBRK                             = 0x5427\n\tTIOCSCTTY                            = 0x540e\n\tTIOCSERCONFIG                        = 0x5453\n\tTIOCSERGETLSR                        = 0x5459\n\tTIOCSERGETMULTI                      = 0x545a\n\tTIOCSERGSTRUCT                       = 0x5458\n\tTIOCSERGWILD                         = 0x5454\n\tTIOCSERSETMULTI                      = 0x545b\n\tTIOCSERSWILD                         = 0x5455\n\tTIOCSER_TEMT                         = 0x1\n\tTIOCSETD                             = 0x5423\n\tTIOCSIG                              = 0x40045436\n\tTIOCSLCKTRMIOS                       = 0x5457\n\tTIOCSPGRP                            = 0x5410\n\tTIOCSPTLCK                           = 0x40045431\n\tTIOCSRS485                           = 0x542f\n\tTIOCSSERIAL                          = 0x541f\n\tTIOCSSOFTCAR                         = 0x541a\n\tTIOCSTI                              = 0x5412\n\tTIOCSWINSZ                           = 0x5414\n\tTIOCVHANGUP                          = 0x5437\n\tTMPFS_MAGIC                          = 0x1021994\n\tTOSTOP                               = 0x100\n\tTPACKET_ALIGNMENT                    = 0x10\n\tTPACKET_HDRLEN                       = 0x34\n\tTP_STATUS_AVAILABLE                  = 0x0\n\tTP_STATUS_BLK_TMO                    = 0x20\n\tTP_STATUS_COPY                       = 0x2\n\tTP_STATUS_CSUMNOTREADY               = 0x8\n\tTP_STATUS_CSUM_VALID                 = 0x80\n\tTP_STATUS_KERNEL                     = 0x0\n\tTP_STATUS_LOSING                     = 0x4\n\tTP_STATUS_SENDING                    = 0x2\n\tTP_STATUS_SEND_REQUEST               = 0x1\n\tTP_STATUS_TS_RAW_HARDWARE            = -0x80000000\n\tTP_STATUS_TS_SOFTWARE                = 0x20000000\n\tTP_STATUS_TS_SYS_HARDWARE            = 0x40000000\n\tTP_STATUS_USER                       = 0x1\n\tTP_STATUS_VLAN_TPID_VALID            = 0x40\n\tTP_STATUS_VLAN_VALID                 = 0x10\n\tTP_STATUS_WRONG_FORMAT               = 0x4\n\tTRACEFS_MAGIC                        = 0x74726163\n\tTS_COMM_LEN                          = 0x20\n\tTUNATTACHFILTER                      = 0x401054d5\n\tTUNDETACHFILTER                      = 0x401054d6\n\tTUNGETFEATURES                       = 0x800454cf\n\tTUNGETFILTER                         = 0x801054db\n\tTUNGETIFF                            = 0x800454d2\n\tTUNGETSNDBUF                         = 0x800454d3\n\tTUNGETVNETBE                         = 0x800454df\n\tTUNGETVNETHDRSZ                      = 0x800454d7\n\tTUNGETVNETLE                         = 0x800454dd\n\tTUNSETDEBUG                          = 0x400454c9\n\tTUNSETFILTEREBPF                     = 0x800454e1\n\tTUNSETGROUP                          = 0x400454ce\n\tTUNSETIFF                            = 0x400454ca\n\tTUNSETIFINDEX                        = 0x400454da\n\tTUNSETLINK                           = 0x400454cd\n\tTUNSETNOCSUM                         = 0x400454c8\n\tTUNSETOFFLOAD                        = 0x400454d0\n\tTUNSETOWNER                          = 0x400454cc\n\tTUNSETPERSIST                        = 0x400454cb\n\tTUNSETQUEUE                          = 0x400454d9\n\tTUNSETSNDBUF                         = 0x400454d4\n\tTUNSETSTEERINGEBPF                   = 0x800454e0\n\tTUNSETTXFILTER                       = 0x400454d1\n\tTUNSETVNETBE                         = 0x400454de\n\tTUNSETVNETHDRSZ                      = 0x400454d8\n\tTUNSETVNETLE                         = 0x400454dc\n\tUDF_SUPER_MAGIC                      = 0x15013346\n\tUMOUNT_NOFOLLOW                      = 0x8\n\tUSBDEVICE_SUPER_MAGIC                = 0x9fa2\n\tUTIME_NOW                            = 0x3fffffff\n\tUTIME_OMIT                           = 0x3ffffffe\n\tV9FS_MAGIC                           = 0x1021997\n\tVDISCARD                             = 0xd\n\tVEOF                                 = 0x4\n\tVEOL                                 = 0xb\n\tVEOL2                                = 0x10\n\tVERASE                               = 0x2\n\tVINTR                                = 0x0\n\tVKILL                                = 0x3\n\tVLNEXT                               = 0xf\n\tVMADDR_CID_ANY                       = 0xffffffff\n\tVMADDR_CID_HOST                      = 0x2\n\tVMADDR_CID_HYPERVISOR                = 0x0\n\tVMADDR_CID_RESERVED                  = 0x1\n\tVMADDR_PORT_ANY                      = 0xffffffff\n\tVMIN                                 = 0x6\n\tVM_SOCKETS_INVALID_VERSION           = 0xffffffff\n\tVQUIT                                = 0x1\n\tVREPRINT                             = 0xc\n\tVSTART                               = 0x8\n\tVSTOP                                = 0x9\n\tVSUSP                                = 0xa\n\tVSWTC                                = 0x7\n\tVT0                                  = 0x0\n\tVT1                                  = 0x4000\n\tVTDLY                                = 0x4000\n\tVTIME                                = 0x5\n\tVWERASE                              = 0xe\n\tWALL                                 = 0x40000000\n\tWCLONE                               = 0x80000000\n\tWCONTINUED                           = 0x8\n\tWDIOC_GETBOOTSTATUS                  = 0x80045702\n\tWDIOC_GETPRETIMEOUT                  = 0x80045709\n\tWDIOC_GETSTATUS                      = 0x80045701\n\tWDIOC_GETSUPPORT                     = 0x80285700\n\tWDIOC_GETTEMP                        = 0x80045703\n\tWDIOC_GETTIMELEFT                    = 0x8004570a\n\tWDIOC_GETTIMEOUT                     = 0x80045707\n\tWDIOC_KEEPALIVE                      = 0x80045705\n\tWDIOC_SETOPTIONS                     = 0x80045704\n\tWDIOC_SETPRETIMEOUT                  = 0xc0045708\n\tWDIOC_SETTIMEOUT                     = 0xc0045706\n\tWEXITED                              = 0x4\n\tWIN_ACKMEDIACHANGE                   = 0xdb\n\tWIN_CHECKPOWERMODE1                  = 0xe5\n\tWIN_CHECKPOWERMODE2                  = 0x98\n\tWIN_DEVICE_RESET                     = 0x8\n\tWIN_DIAGNOSE                         = 0x90\n\tWIN_DOORLOCK                         = 0xde\n\tWIN_DOORUNLOCK                       = 0xdf\n\tWIN_DOWNLOAD_MICROCODE               = 0x92\n\tWIN_FLUSH_CACHE                      = 0xe7\n\tWIN_FLUSH_CACHE_EXT                  = 0xea\n\tWIN_FORMAT                           = 0x50\n\tWIN_GETMEDIASTATUS                   = 0xda\n\tWIN_IDENTIFY                         = 0xec\n\tWIN_IDENTIFY_DMA                     = 0xee\n\tWIN_IDLEIMMEDIATE                    = 0xe1\n\tWIN_INIT                             = 0x60\n\tWIN_MEDIAEJECT                       = 0xed\n\tWIN_MULTREAD                         = 0xc4\n\tWIN_MULTREAD_EXT                     = 0x29\n\tWIN_MULTWRITE                        = 0xc5\n\tWIN_MULTWRITE_EXT                    = 0x39\n\tWIN_NOP                              = 0x0\n\tWIN_PACKETCMD                        = 0xa0\n\tWIN_PIDENTIFY                        = 0xa1\n\tWIN_POSTBOOT                         = 0xdc\n\tWIN_PREBOOT                          = 0xdd\n\tWIN_QUEUED_SERVICE                   = 0xa2\n\tWIN_READ                             = 0x20\n\tWIN_READDMA                          = 0xc8\n\tWIN_READDMA_EXT                      = 0x25\n\tWIN_READDMA_ONCE                     = 0xc9\n\tWIN_READDMA_QUEUED                   = 0xc7\n\tWIN_READDMA_QUEUED_EXT               = 0x26\n\tWIN_READ_BUFFER                      = 0xe4\n\tWIN_READ_EXT                         = 0x24\n\tWIN_READ_LONG                        = 0x22\n\tWIN_READ_LONG_ONCE                   = 0x23\n\tWIN_READ_NATIVE_MAX                  = 0xf8\n\tWIN_READ_NATIVE_MAX_EXT              = 0x27\n\tWIN_READ_ONCE                        = 0x21\n\tWIN_RECAL                            = 0x10\n\tWIN_RESTORE                          = 0x10\n\tWIN_SECURITY_DISABLE                 = 0xf6\n\tWIN_SECURITY_ERASE_PREPARE           = 0xf3\n\tWIN_SECURITY_ERASE_UNIT              = 0xf4\n\tWIN_SECURITY_FREEZE_LOCK             = 0xf5\n\tWIN_SECURITY_SET_PASS                = 0xf1\n\tWIN_SECURITY_UNLOCK                  = 0xf2\n\tWIN_SEEK                             = 0x70\n\tWIN_SETFEATURES                      = 0xef\n\tWIN_SETIDLE1                         = 0xe3\n\tWIN_SETIDLE2                         = 0x97\n\tWIN_SETMULT                          = 0xc6\n\tWIN_SET_MAX                          = 0xf9\n\tWIN_SET_MAX_EXT                      = 0x37\n\tWIN_SLEEPNOW1                        = 0xe6\n\tWIN_SLEEPNOW2                        = 0x99\n\tWIN_SMART                            = 0xb0\n\tWIN_SPECIFY                          = 0x91\n\tWIN_SRST                             = 0x8\n\tWIN_STANDBY                          = 0xe2\n\tWIN_STANDBY2                         = 0x96\n\tWIN_STANDBYNOW1                      = 0xe0\n\tWIN_STANDBYNOW2                      = 0x94\n\tWIN_VERIFY                           = 0x40\n\tWIN_VERIFY_EXT                       = 0x42\n\tWIN_VERIFY_ONCE                      = 0x41\n\tWIN_WRITE                            = 0x30\n\tWIN_WRITEDMA                         = 0xca\n\tWIN_WRITEDMA_EXT                     = 0x35\n\tWIN_WRITEDMA_ONCE                    = 0xcb\n\tWIN_WRITEDMA_QUEUED                  = 0xcc\n\tWIN_WRITEDMA_QUEUED_EXT              = 0x36\n\tWIN_WRITE_BUFFER                     = 0xe8\n\tWIN_WRITE_EXT                        = 0x34\n\tWIN_WRITE_LONG                       = 0x32\n\tWIN_WRITE_LONG_ONCE                  = 0x33\n\tWIN_WRITE_ONCE                       = 0x31\n\tWIN_WRITE_SAME                       = 0xe9\n\tWIN_WRITE_VERIFY                     = 0x3c\n\tWNOHANG                              = 0x1\n\tWNOTHREAD                            = 0x20000000\n\tWNOWAIT                              = 0x1000000\n\tWORDSIZE                             = 0x40\n\tWSTOPPED                             = 0x2\n\tWUNTRACED                            = 0x2\n\tXATTR_CREATE                         = 0x1\n\tXATTR_REPLACE                        = 0x2\n\tXCASE                                = 0x4\n\tXENFS_SUPER_MAGIC                    = 0xabba1974\n\tXTABS                                = 0x1800\n\tZSMALLOC_MAGIC                       = 0x58295829\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x62)\n\tEADDRNOTAVAIL   = syscall.Errno(0x63)\n\tEADV            = syscall.Errno(0x44)\n\tEAFNOSUPPORT    = syscall.Errno(0x61)\n\tEAGAIN          = syscall.Errno(0xb)\n\tEALREADY        = syscall.Errno(0x72)\n\tEBADE           = syscall.Errno(0x34)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADFD          = syscall.Errno(0x4d)\n\tEBADMSG         = syscall.Errno(0x4a)\n\tEBADR           = syscall.Errno(0x35)\n\tEBADRQC         = syscall.Errno(0x38)\n\tEBADSLT         = syscall.Errno(0x39)\n\tEBFONT          = syscall.Errno(0x3b)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x7d)\n\tECHILD          = syscall.Errno(0xa)\n\tECHRNG          = syscall.Errno(0x2c)\n\tECOMM           = syscall.Errno(0x46)\n\tECONNABORTED    = syscall.Errno(0x67)\n\tECONNREFUSED    = syscall.Errno(0x6f)\n\tECONNRESET      = syscall.Errno(0x68)\n\tEDEADLK         = syscall.Errno(0x23)\n\tEDEADLOCK       = syscall.Errno(0x23)\n\tEDESTADDRREQ    = syscall.Errno(0x59)\n\tEDOM            = syscall.Errno(0x21)\n\tEDOTDOT         = syscall.Errno(0x49)\n\tEDQUOT          = syscall.Errno(0x7a)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEHOSTDOWN       = syscall.Errno(0x70)\n\tEHOSTUNREACH    = syscall.Errno(0x71)\n\tEHWPOISON       = syscall.Errno(0x85)\n\tEIDRM           = syscall.Errno(0x2b)\n\tEILSEQ          = syscall.Errno(0x54)\n\tEINPROGRESS     = syscall.Errno(0x73)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x6a)\n\tEISDIR          = syscall.Errno(0x15)\n\tEISNAM          = syscall.Errno(0x78)\n\tEKEYEXPIRED     = syscall.Errno(0x7f)\n\tEKEYREJECTED    = syscall.Errno(0x81)\n\tEKEYREVOKED     = syscall.Errno(0x80)\n\tEL2HLT          = syscall.Errno(0x33)\n\tEL2NSYNC        = syscall.Errno(0x2d)\n\tEL3HLT          = syscall.Errno(0x2e)\n\tEL3RST          = syscall.Errno(0x2f)\n\tELIBACC         = syscall.Errno(0x4f)\n\tELIBBAD         = syscall.Errno(0x50)\n\tELIBEXEC        = syscall.Errno(0x53)\n\tELIBMAX         = syscall.Errno(0x52)\n\tELIBSCN         = syscall.Errno(0x51)\n\tELNRNG          = syscall.Errno(0x30)\n\tELOOP           = syscall.Errno(0x28)\n\tEMEDIUMTYPE     = syscall.Errno(0x7c)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x5a)\n\tEMULTIHOP       = syscall.Errno(0x48)\n\tENAMETOOLONG    = syscall.Errno(0x24)\n\tENAVAIL         = syscall.Errno(0x77)\n\tENETDOWN        = syscall.Errno(0x64)\n\tENETRESET       = syscall.Errno(0x66)\n\tENETUNREACH     = syscall.Errno(0x65)\n\tENFILE          = syscall.Errno(0x17)\n\tENOANO          = syscall.Errno(0x37)\n\tENOBUFS         = syscall.Errno(0x69)\n\tENOCSI          = syscall.Errno(0x32)\n\tENODATA         = syscall.Errno(0x3d)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOKEY          = syscall.Errno(0x7e)\n\tENOLCK          = syscall.Errno(0x25)\n\tENOLINK         = syscall.Errno(0x43)\n\tENOMEDIUM       = syscall.Errno(0x7b)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x2a)\n\tENONET          = syscall.Errno(0x40)\n\tENOPKG          = syscall.Errno(0x41)\n\tENOPROTOOPT     = syscall.Errno(0x5c)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x3f)\n\tENOSTR          = syscall.Errno(0x3c)\n\tENOSYS          = syscall.Errno(0x26)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x6b)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x27)\n\tENOTNAM         = syscall.Errno(0x76)\n\tENOTRECOVERABLE = syscall.Errno(0x83)\n\tENOTSOCK        = syscall.Errno(0x58)\n\tENOTSUP         = syscall.Errno(0x5f)\n\tENOTTY          = syscall.Errno(0x19)\n\tENOTUNIQ        = syscall.Errno(0x4c)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x5f)\n\tEOVERFLOW       = syscall.Errno(0x4b)\n\tEOWNERDEAD      = syscall.Errno(0x82)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x60)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROTO          = syscall.Errno(0x47)\n\tEPROTONOSUPPORT = syscall.Errno(0x5d)\n\tEPROTOTYPE      = syscall.Errno(0x5b)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMCHG         = syscall.Errno(0x4e)\n\tEREMOTE         = syscall.Errno(0x42)\n\tEREMOTEIO       = syscall.Errno(0x79)\n\tERESTART        = syscall.Errno(0x55)\n\tERFKILL         = syscall.Errno(0x84)\n\tEROFS           = syscall.Errno(0x1e)\n\tESHUTDOWN       = syscall.Errno(0x6c)\n\tESOCKTNOSUPPORT = syscall.Errno(0x5e)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESRMNT          = syscall.Errno(0x45)\n\tESTALE          = syscall.Errno(0x74)\n\tESTRPIPE        = syscall.Errno(0x56)\n\tETIME           = syscall.Errno(0x3e)\n\tETIMEDOUT       = syscall.Errno(0x6e)\n\tETOOMANYREFS    = syscall.Errno(0x6d)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUCLEAN         = syscall.Errno(0x75)\n\tEUNATCH         = syscall.Errno(0x31)\n\tEUSERS          = syscall.Errno(0x57)\n\tEWOULDBLOCK     = syscall.Errno(0xb)\n\tEXDEV           = syscall.Errno(0x12)\n\tEXFULL          = syscall.Errno(0x36)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0x7)\n\tSIGCHLD   = syscall.Signal(0x11)\n\tSIGCLD    = syscall.Signal(0x11)\n\tSIGCONT   = syscall.Signal(0x12)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x1d)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPOLL   = syscall.Signal(0x1d)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGPWR    = syscall.Signal(0x1e)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTKFLT = syscall.Signal(0x10)\n\tSIGSTOP   = syscall.Signal(0x13)\n\tSIGSYS    = syscall.Signal(0x1f)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x14)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x17)\n\tSIGUSR1   = syscall.Signal(0xa)\n\tSIGUSR2   = syscall.Signal(0xc)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errorList = [...]struct {\n\tnum  syscall.Errno\n\tname string\n\tdesc string\n}{\n\t{1, \"EPERM\", \"operation not permitted\"},\n\t{2, \"ENOENT\", \"no such file or directory\"},\n\t{3, \"ESRCH\", \"no such process\"},\n\t{4, \"EINTR\", \"interrupted system call\"},\n\t{5, \"EIO\", \"input/output error\"},\n\t{6, \"ENXIO\", \"no such device or address\"},\n\t{7, \"E2BIG\", \"argument list too long\"},\n\t{8, \"ENOEXEC\", \"exec format error\"},\n\t{9, \"EBADF\", \"bad file descriptor\"},\n\t{10, \"ECHILD\", \"no child processes\"},\n\t{11, \"EAGAIN\", \"resource temporarily unavailable\"},\n\t{12, \"ENOMEM\", \"cannot allocate memory\"},\n\t{13, \"EACCES\", \"permission denied\"},\n\t{14, \"EFAULT\", \"bad address\"},\n\t{15, \"ENOTBLK\", \"block device required\"},\n\t{16, \"EBUSY\", \"device or resource busy\"},\n\t{17, \"EEXIST\", \"file exists\"},\n\t{18, \"EXDEV\", \"invalid cross-device link\"},\n\t{19, \"ENODEV\", \"no such device\"},\n\t{20, \"ENOTDIR\", \"not a directory\"},\n\t{21, \"EISDIR\", \"is a directory\"},\n\t{22, \"EINVAL\", \"invalid argument\"},\n\t{23, \"ENFILE\", \"too many open files in system\"},\n\t{24, \"EMFILE\", \"too many open files\"},\n\t{25, \"ENOTTY\", \"inappropriate ioctl for device\"},\n\t{26, \"ETXTBSY\", \"text file busy\"},\n\t{27, \"EFBIG\", \"file too large\"},\n\t{28, \"ENOSPC\", \"no space left on device\"},\n\t{29, \"ESPIPE\", \"illegal seek\"},\n\t{30, \"EROFS\", \"read-only file system\"},\n\t{31, \"EMLINK\", \"too many links\"},\n\t{32, \"EPIPE\", \"broken pipe\"},\n\t{33, \"EDOM\", \"numerical argument out of domain\"},\n\t{34, \"ERANGE\", \"numerical result out of range\"},\n\t{35, \"EDEADLK\", \"resource deadlock avoided\"},\n\t{36, \"ENAMETOOLONG\", \"file name too long\"},\n\t{37, \"ENOLCK\", \"no locks available\"},\n\t{38, \"ENOSYS\", \"function not implemented\"},\n\t{39, \"ENOTEMPTY\", \"directory not empty\"},\n\t{40, \"ELOOP\", \"too many levels of symbolic links\"},\n\t{42, \"ENOMSG\", \"no message of desired type\"},\n\t{43, \"EIDRM\", \"identifier removed\"},\n\t{44, \"ECHRNG\", \"channel number out of range\"},\n\t{45, \"EL2NSYNC\", \"level 2 not synchronized\"},\n\t{46, \"EL3HLT\", \"level 3 halted\"},\n\t{47, \"EL3RST\", \"level 3 reset\"},\n\t{48, \"ELNRNG\", \"link number out of range\"},\n\t{49, \"EUNATCH\", \"protocol driver not attached\"},\n\t{50, \"ENOCSI\", \"no CSI structure available\"},\n\t{51, \"EL2HLT\", \"level 2 halted\"},\n\t{52, \"EBADE\", \"invalid exchange\"},\n\t{53, \"EBADR\", \"invalid request descriptor\"},\n\t{54, \"EXFULL\", \"exchange full\"},\n\t{55, \"ENOANO\", \"no anode\"},\n\t{56, \"EBADRQC\", \"invalid request code\"},\n\t{57, \"EBADSLT\", \"invalid slot\"},\n\t{59, \"EBFONT\", \"bad font file format\"},\n\t{60, \"ENOSTR\", \"device not a stream\"},\n\t{61, \"ENODATA\", \"no data available\"},\n\t{62, \"ETIME\", \"timer expired\"},\n\t{63, \"ENOSR\", \"out of streams resources\"},\n\t{64, \"ENONET\", \"machine is not on the network\"},\n\t{65, \"ENOPKG\", \"package not installed\"},\n\t{66, \"EREMOTE\", \"object is remote\"},\n\t{67, \"ENOLINK\", \"link has been severed\"},\n\t{68, \"EADV\", \"advertise error\"},\n\t{69, \"ESRMNT\", \"srmount error\"},\n\t{70, \"ECOMM\", \"communication error on send\"},\n\t{71, \"EPROTO\", \"protocol error\"},\n\t{72, \"EMULTIHOP\", \"multihop attempted\"},\n\t{73, \"EDOTDOT\", \"RFS specific error\"},\n\t{74, \"EBADMSG\", \"bad message\"},\n\t{75, \"EOVERFLOW\", \"value too large for defined data type\"},\n\t{76, \"ENOTUNIQ\", \"name not unique on network\"},\n\t{77, \"EBADFD\", \"file descriptor in bad state\"},\n\t{78, \"EREMCHG\", \"remote address changed\"},\n\t{79, \"ELIBACC\", \"can not access a needed shared library\"},\n\t{80, \"ELIBBAD\", \"accessing a corrupted shared library\"},\n\t{81, \"ELIBSCN\", \".lib section in a.out corrupted\"},\n\t{82, \"ELIBMAX\", \"attempting to link in too many shared libraries\"},\n\t{83, \"ELIBEXEC\", \"cannot exec a shared library directly\"},\n\t{84, \"EILSEQ\", \"invalid or incomplete multibyte or wide character\"},\n\t{85, \"ERESTART\", \"interrupted system call should be restarted\"},\n\t{86, \"ESTRPIPE\", \"streams pipe error\"},\n\t{87, \"EUSERS\", \"too many users\"},\n\t{88, \"ENOTSOCK\", \"socket operation on non-socket\"},\n\t{89, \"EDESTADDRREQ\", \"destination address required\"},\n\t{90, \"EMSGSIZE\", \"message too long\"},\n\t{91, \"EPROTOTYPE\", \"protocol wrong type for socket\"},\n\t{92, \"ENOPROTOOPT\", \"protocol not available\"},\n\t{93, \"EPROTONOSUPPORT\", \"protocol not supported\"},\n\t{94, \"ESOCKTNOSUPPORT\", \"socket type not supported\"},\n\t{95, \"ENOTSUP\", \"operation not supported\"},\n\t{96, \"EPFNOSUPPORT\", \"protocol family not supported\"},\n\t{97, \"EAFNOSUPPORT\", \"address family not supported by protocol\"},\n\t{98, \"EADDRINUSE\", \"address already in use\"},\n\t{99, \"EADDRNOTAVAIL\", \"cannot assign requested address\"},\n\t{100, \"ENETDOWN\", \"network is down\"},\n\t{101, \"ENETUNREACH\", \"network is unreachable\"},\n\t{102, \"ENETRESET\", \"network dropped connection on reset\"},\n\t{103, \"ECONNABORTED\", \"software caused connection abort\"},\n\t{104, \"ECONNRESET\", \"connection reset by peer\"},\n\t{105, \"ENOBUFS\", \"no buffer space available\"},\n\t{106, \"EISCONN\", \"transport endpoint is already connected\"},\n\t{107, \"ENOTCONN\", \"transport endpoint is not connected\"},\n\t{108, \"ESHUTDOWN\", \"cannot send after transport endpoint shutdown\"},\n\t{109, \"ETOOMANYREFS\", \"too many references: cannot splice\"},\n\t{110, \"ETIMEDOUT\", \"connection timed out\"},\n\t{111, \"ECONNREFUSED\", \"connection refused\"},\n\t{112, \"EHOSTDOWN\", \"host is down\"},\n\t{113, \"EHOSTUNREACH\", \"no route to host\"},\n\t{114, \"EALREADY\", \"operation already in progress\"},\n\t{115, \"EINPROGRESS\", \"operation now in progress\"},\n\t{116, \"ESTALE\", \"stale file handle\"},\n\t{117, \"EUCLEAN\", \"structure needs cleaning\"},\n\t{118, \"ENOTNAM\", \"not a XENIX named type file\"},\n\t{119, \"ENAVAIL\", \"no XENIX semaphores available\"},\n\t{120, \"EISNAM\", \"is a named type file\"},\n\t{121, \"EREMOTEIO\", \"remote I/O error\"},\n\t{122, \"EDQUOT\", \"disk quota exceeded\"},\n\t{123, \"ENOMEDIUM\", \"no medium found\"},\n\t{124, \"EMEDIUMTYPE\", \"wrong medium type\"},\n\t{125, \"ECANCELED\", \"operation canceled\"},\n\t{126, \"ENOKEY\", \"required key not available\"},\n\t{127, \"EKEYEXPIRED\", \"key has expired\"},\n\t{128, \"EKEYREVOKED\", \"key has been revoked\"},\n\t{129, \"EKEYREJECTED\", \"key was rejected by service\"},\n\t{130, \"EOWNERDEAD\", \"owner died\"},\n\t{131, \"ENOTRECOVERABLE\", \"state not recoverable\"},\n\t{132, \"ERFKILL\", \"operation not possible due to RF-kill\"},\n\t{133, \"EHWPOISON\", \"memory page has hardware error\"},\n}\n\n// Signal table\nvar signalList = [...]struct {\n\tnum  syscall.Signal\n\tname string\n\tdesc string\n}{\n\t{1, \"SIGHUP\", \"hangup\"},\n\t{2, \"SIGINT\", \"interrupt\"},\n\t{3, \"SIGQUIT\", \"quit\"},\n\t{4, \"SIGILL\", \"illegal instruction\"},\n\t{5, \"SIGTRAP\", \"trace/breakpoint trap\"},\n\t{6, \"SIGABRT\", \"aborted\"},\n\t{7, \"SIGBUS\", \"bus error\"},\n\t{8, \"SIGFPE\", \"floating point exception\"},\n\t{9, \"SIGKILL\", \"killed\"},\n\t{10, \"SIGUSR1\", \"user defined signal 1\"},\n\t{11, \"SIGSEGV\", \"segmentation fault\"},\n\t{12, \"SIGUSR2\", \"user defined signal 2\"},\n\t{13, \"SIGPIPE\", \"broken pipe\"},\n\t{14, \"SIGALRM\", \"alarm clock\"},\n\t{15, \"SIGTERM\", \"terminated\"},\n\t{16, \"SIGSTKFLT\", \"stack fault\"},\n\t{17, \"SIGCHLD\", \"child exited\"},\n\t{18, \"SIGCONT\", \"continued\"},\n\t{19, \"SIGSTOP\", \"stopped (signal)\"},\n\t{20, \"SIGTSTP\", \"stopped\"},\n\t{21, \"SIGTTIN\", \"stopped (tty input)\"},\n\t{22, \"SIGTTOU\", \"stopped (tty output)\"},\n\t{23, \"SIGURG\", \"urgent I/O condition\"},\n\t{24, \"SIGXCPU\", \"CPU time limit exceeded\"},\n\t{25, \"SIGXFSZ\", \"file size limit exceeded\"},\n\t{26, \"SIGVTALRM\", \"virtual timer expired\"},\n\t{27, \"SIGPROF\", \"profiling timer expired\"},\n\t{28, \"SIGWINCH\", \"window changed\"},\n\t{29, \"SIGIO\", \"I/O possible\"},\n\t{30, \"SIGPWR\", \"power failure\"},\n\t{31, \"SIGSYS\", \"bad system call\"},\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_linux_mips.go",
    "content": "// mkerrors.sh -Wall -Werror -static -I/tmp/include\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build mips,linux\n\n// Code generated by cmd/cgo -godefs; DO NOT EDIT.\n// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAAFS_MAGIC                           = 0x5a3c69f0\n\tADFS_SUPER_MAGIC                     = 0xadf5\n\tAFFS_SUPER_MAGIC                     = 0xadff\n\tAFS_FS_MAGIC                         = 0x6b414653\n\tAFS_SUPER_MAGIC                      = 0x5346414f\n\tAF_ALG                               = 0x26\n\tAF_APPLETALK                         = 0x5\n\tAF_ASH                               = 0x12\n\tAF_ATMPVC                            = 0x8\n\tAF_ATMSVC                            = 0x14\n\tAF_AX25                              = 0x3\n\tAF_BLUETOOTH                         = 0x1f\n\tAF_BRIDGE                            = 0x7\n\tAF_CAIF                              = 0x25\n\tAF_CAN                               = 0x1d\n\tAF_DECnet                            = 0xc\n\tAF_ECONET                            = 0x13\n\tAF_FILE                              = 0x1\n\tAF_IB                                = 0x1b\n\tAF_IEEE802154                        = 0x24\n\tAF_INET                              = 0x2\n\tAF_INET6                             = 0xa\n\tAF_IPX                               = 0x4\n\tAF_IRDA                              = 0x17\n\tAF_ISDN                              = 0x22\n\tAF_IUCV                              = 0x20\n\tAF_KCM                               = 0x29\n\tAF_KEY                               = 0xf\n\tAF_LLC                               = 0x1a\n\tAF_LOCAL                             = 0x1\n\tAF_MAX                               = 0x2c\n\tAF_MPLS                              = 0x1c\n\tAF_NETBEUI                           = 0xd\n\tAF_NETLINK                           = 0x10\n\tAF_NETROM                            = 0x6\n\tAF_NFC                               = 0x27\n\tAF_PACKET                            = 0x11\n\tAF_PHONET                            = 0x23\n\tAF_PPPOX                             = 0x18\n\tAF_QIPCRTR                           = 0x2a\n\tAF_RDS                               = 0x15\n\tAF_ROSE                              = 0xb\n\tAF_ROUTE                             = 0x10\n\tAF_RXRPC                             = 0x21\n\tAF_SECURITY                          = 0xe\n\tAF_SMC                               = 0x2b\n\tAF_SNA                               = 0x16\n\tAF_TIPC                              = 0x1e\n\tAF_UNIX                              = 0x1\n\tAF_UNSPEC                            = 0x0\n\tAF_VSOCK                             = 0x28\n\tAF_WANPIPE                           = 0x19\n\tAF_X25                               = 0x9\n\tALG_OP_DECRYPT                       = 0x0\n\tALG_OP_ENCRYPT                       = 0x1\n\tALG_SET_AEAD_ASSOCLEN                = 0x4\n\tALG_SET_AEAD_AUTHSIZE                = 0x5\n\tALG_SET_IV                           = 0x2\n\tALG_SET_KEY                          = 0x1\n\tALG_SET_OP                           = 0x3\n\tANON_INODE_FS_MAGIC                  = 0x9041934\n\tARPHRD_6LOWPAN                       = 0x339\n\tARPHRD_ADAPT                         = 0x108\n\tARPHRD_APPLETLK                      = 0x8\n\tARPHRD_ARCNET                        = 0x7\n\tARPHRD_ASH                           = 0x30d\n\tARPHRD_ATM                           = 0x13\n\tARPHRD_AX25                          = 0x3\n\tARPHRD_BIF                           = 0x307\n\tARPHRD_CAIF                          = 0x336\n\tARPHRD_CAN                           = 0x118\n\tARPHRD_CHAOS                         = 0x5\n\tARPHRD_CISCO                         = 0x201\n\tARPHRD_CSLIP                         = 0x101\n\tARPHRD_CSLIP6                        = 0x103\n\tARPHRD_DDCMP                         = 0x205\n\tARPHRD_DLCI                          = 0xf\n\tARPHRD_ECONET                        = 0x30e\n\tARPHRD_EETHER                        = 0x2\n\tARPHRD_ETHER                         = 0x1\n\tARPHRD_EUI64                         = 0x1b\n\tARPHRD_FCAL                          = 0x311\n\tARPHRD_FCFABRIC                      = 0x313\n\tARPHRD_FCPL                          = 0x312\n\tARPHRD_FCPP                          = 0x310\n\tARPHRD_FDDI                          = 0x306\n\tARPHRD_FRAD                          = 0x302\n\tARPHRD_HDLC                          = 0x201\n\tARPHRD_HIPPI                         = 0x30c\n\tARPHRD_HWX25                         = 0x110\n\tARPHRD_IEEE1394                      = 0x18\n\tARPHRD_IEEE802                       = 0x6\n\tARPHRD_IEEE80211                     = 0x321\n\tARPHRD_IEEE80211_PRISM               = 0x322\n\tARPHRD_IEEE80211_RADIOTAP            = 0x323\n\tARPHRD_IEEE802154                    = 0x324\n\tARPHRD_IEEE802154_MONITOR            = 0x325\n\tARPHRD_IEEE802_TR                    = 0x320\n\tARPHRD_INFINIBAND                    = 0x20\n\tARPHRD_IP6GRE                        = 0x337\n\tARPHRD_IPDDP                         = 0x309\n\tARPHRD_IPGRE                         = 0x30a\n\tARPHRD_IRDA                          = 0x30f\n\tARPHRD_LAPB                          = 0x204\n\tARPHRD_LOCALTLK                      = 0x305\n\tARPHRD_LOOPBACK                      = 0x304\n\tARPHRD_METRICOM                      = 0x17\n\tARPHRD_NETLINK                       = 0x338\n\tARPHRD_NETROM                        = 0x0\n\tARPHRD_NONE                          = 0xfffe\n\tARPHRD_PHONET                        = 0x334\n\tARPHRD_PHONET_PIPE                   = 0x335\n\tARPHRD_PIMREG                        = 0x30b\n\tARPHRD_PPP                           = 0x200\n\tARPHRD_PRONET                        = 0x4\n\tARPHRD_RAWHDLC                       = 0x206\n\tARPHRD_RAWIP                         = 0x207\n\tARPHRD_ROSE                          = 0x10e\n\tARPHRD_RSRVD                         = 0x104\n\tARPHRD_SIT                           = 0x308\n\tARPHRD_SKIP                          = 0x303\n\tARPHRD_SLIP                          = 0x100\n\tARPHRD_SLIP6                         = 0x102\n\tARPHRD_TUNNEL                        = 0x300\n\tARPHRD_TUNNEL6                       = 0x301\n\tARPHRD_VOID                          = 0xffff\n\tARPHRD_VSOCKMON                      = 0x33a\n\tARPHRD_X25                           = 0x10f\n\tAUTOFS_SUPER_MAGIC                   = 0x187\n\tB0                                   = 0x0\n\tB1000000                             = 0x1008\n\tB110                                 = 0x3\n\tB115200                              = 0x1002\n\tB1152000                             = 0x1009\n\tB1200                                = 0x9\n\tB134                                 = 0x4\n\tB150                                 = 0x5\n\tB1500000                             = 0x100a\n\tB1800                                = 0xa\n\tB19200                               = 0xe\n\tB200                                 = 0x6\n\tB2000000                             = 0x100b\n\tB230400                              = 0x1003\n\tB2400                                = 0xb\n\tB2500000                             = 0x100c\n\tB300                                 = 0x7\n\tB3000000                             = 0x100d\n\tB3500000                             = 0x100e\n\tB38400                               = 0xf\n\tB4000000                             = 0x100f\n\tB460800                              = 0x1004\n\tB4800                                = 0xc\n\tB50                                  = 0x1\n\tB500000                              = 0x1005\n\tB57600                               = 0x1001\n\tB576000                              = 0x1006\n\tB600                                 = 0x8\n\tB75                                  = 0x2\n\tB921600                              = 0x1007\n\tB9600                                = 0xd\n\tBALLOON_KVM_MAGIC                    = 0x13661366\n\tBDEVFS_MAGIC                         = 0x62646576\n\tBINFMTFS_MAGIC                       = 0x42494e4d\n\tBLKBSZGET                            = 0x40041270\n\tBLKBSZSET                            = 0x80041271\n\tBLKFLSBUF                            = 0x20001261\n\tBLKFRAGET                            = 0x20001265\n\tBLKFRASET                            = 0x20001264\n\tBLKGETSIZE                           = 0x20001260\n\tBLKGETSIZE64                         = 0x40041272\n\tBLKPBSZGET                           = 0x2000127b\n\tBLKRAGET                             = 0x20001263\n\tBLKRASET                             = 0x20001262\n\tBLKROGET                             = 0x2000125e\n\tBLKROSET                             = 0x2000125d\n\tBLKRRPART                            = 0x2000125f\n\tBLKSECTGET                           = 0x20001267\n\tBLKSECTSET                           = 0x20001266\n\tBLKSSZGET                            = 0x20001268\n\tBOTHER                               = 0x1000\n\tBPF_A                                = 0x10\n\tBPF_ABS                              = 0x20\n\tBPF_ADD                              = 0x0\n\tBPF_ALU                              = 0x4\n\tBPF_AND                              = 0x50\n\tBPF_B                                = 0x10\n\tBPF_DIV                              = 0x30\n\tBPF_FS_MAGIC                         = 0xcafe4a11\n\tBPF_H                                = 0x8\n\tBPF_IMM                              = 0x0\n\tBPF_IND                              = 0x40\n\tBPF_JA                               = 0x0\n\tBPF_JEQ                              = 0x10\n\tBPF_JGE                              = 0x30\n\tBPF_JGT                              = 0x20\n\tBPF_JMP                              = 0x5\n\tBPF_JSET                             = 0x40\n\tBPF_K                                = 0x0\n\tBPF_LD                               = 0x0\n\tBPF_LDX                              = 0x1\n\tBPF_LEN                              = 0x80\n\tBPF_LL_OFF                           = -0x200000\n\tBPF_LSH                              = 0x60\n\tBPF_MAJOR_VERSION                    = 0x1\n\tBPF_MAXINSNS                         = 0x1000\n\tBPF_MEM                              = 0x60\n\tBPF_MEMWORDS                         = 0x10\n\tBPF_MINOR_VERSION                    = 0x1\n\tBPF_MISC                             = 0x7\n\tBPF_MOD                              = 0x90\n\tBPF_MSH                              = 0xa0\n\tBPF_MUL                              = 0x20\n\tBPF_NEG                              = 0x80\n\tBPF_NET_OFF                          = -0x100000\n\tBPF_OR                               = 0x40\n\tBPF_RET                              = 0x6\n\tBPF_RSH                              = 0x70\n\tBPF_ST                               = 0x2\n\tBPF_STX                              = 0x3\n\tBPF_SUB                              = 0x10\n\tBPF_TAX                              = 0x0\n\tBPF_TXA                              = 0x80\n\tBPF_W                                = 0x0\n\tBPF_X                                = 0x8\n\tBPF_XOR                              = 0xa0\n\tBRKINT                               = 0x2\n\tBS0                                  = 0x0\n\tBS1                                  = 0x2000\n\tBSDLY                                = 0x2000\n\tBTRFS_SUPER_MAGIC                    = 0x9123683e\n\tBTRFS_TEST_MAGIC                     = 0x73727279\n\tCAN_BCM                              = 0x2\n\tCAN_EFF_FLAG                         = 0x80000000\n\tCAN_EFF_ID_BITS                      = 0x1d\n\tCAN_EFF_MASK                         = 0x1fffffff\n\tCAN_ERR_FLAG                         = 0x20000000\n\tCAN_ERR_MASK                         = 0x1fffffff\n\tCAN_INV_FILTER                       = 0x20000000\n\tCAN_ISOTP                            = 0x6\n\tCAN_MAX_DLC                          = 0x8\n\tCAN_MAX_DLEN                         = 0x8\n\tCAN_MCNET                            = 0x5\n\tCAN_MTU                              = 0x10\n\tCAN_NPROTO                           = 0x7\n\tCAN_RAW                              = 0x1\n\tCAN_RAW_FILTER_MAX                   = 0x200\n\tCAN_RTR_FLAG                         = 0x40000000\n\tCAN_SFF_ID_BITS                      = 0xb\n\tCAN_SFF_MASK                         = 0x7ff\n\tCAN_TP16                             = 0x3\n\tCAN_TP20                             = 0x4\n\tCBAUD                                = 0x100f\n\tCBAUDEX                              = 0x1000\n\tCFLUSH                               = 0xf\n\tCGROUP2_SUPER_MAGIC                  = 0x63677270\n\tCGROUP_SUPER_MAGIC                   = 0x27e0eb\n\tCIBAUD                               = 0x100f0000\n\tCLOCAL                               = 0x800\n\tCLOCK_BOOTTIME                       = 0x7\n\tCLOCK_BOOTTIME_ALARM                 = 0x9\n\tCLOCK_DEFAULT                        = 0x0\n\tCLOCK_EXT                            = 0x1\n\tCLOCK_INT                            = 0x2\n\tCLOCK_MONOTONIC                      = 0x1\n\tCLOCK_MONOTONIC_COARSE               = 0x6\n\tCLOCK_MONOTONIC_RAW                  = 0x4\n\tCLOCK_PROCESS_CPUTIME_ID             = 0x2\n\tCLOCK_REALTIME                       = 0x0\n\tCLOCK_REALTIME_ALARM                 = 0x8\n\tCLOCK_REALTIME_COARSE                = 0x5\n\tCLOCK_TAI                            = 0xb\n\tCLOCK_THREAD_CPUTIME_ID              = 0x3\n\tCLOCK_TXFROMRX                       = 0x4\n\tCLOCK_TXINT                          = 0x3\n\tCLONE_CHILD_CLEARTID                 = 0x200000\n\tCLONE_CHILD_SETTID                   = 0x1000000\n\tCLONE_DETACHED                       = 0x400000\n\tCLONE_FILES                          = 0x400\n\tCLONE_FS                             = 0x200\n\tCLONE_IO                             = 0x80000000\n\tCLONE_NEWCGROUP                      = 0x2000000\n\tCLONE_NEWIPC                         = 0x8000000\n\tCLONE_NEWNET                         = 0x40000000\n\tCLONE_NEWNS                          = 0x20000\n\tCLONE_NEWPID                         = 0x20000000\n\tCLONE_NEWUSER                        = 0x10000000\n\tCLONE_NEWUTS                         = 0x4000000\n\tCLONE_PARENT                         = 0x8000\n\tCLONE_PARENT_SETTID                  = 0x100000\n\tCLONE_PTRACE                         = 0x2000\n\tCLONE_SETTLS                         = 0x80000\n\tCLONE_SIGHAND                        = 0x800\n\tCLONE_SYSVSEM                        = 0x40000\n\tCLONE_THREAD                         = 0x10000\n\tCLONE_UNTRACED                       = 0x800000\n\tCLONE_VFORK                          = 0x4000\n\tCLONE_VM                             = 0x100\n\tCMSPAR                               = 0x40000000\n\tCODA_SUPER_MAGIC                     = 0x73757245\n\tCR0                                  = 0x0\n\tCR1                                  = 0x200\n\tCR2                                  = 0x400\n\tCR3                                  = 0x600\n\tCRAMFS_MAGIC                         = 0x28cd3d45\n\tCRDLY                                = 0x600\n\tCREAD                                = 0x80\n\tCRTSCTS                              = 0x80000000\n\tCS5                                  = 0x0\n\tCS6                                  = 0x10\n\tCS7                                  = 0x20\n\tCS8                                  = 0x30\n\tCSIGNAL                              = 0xff\n\tCSIZE                                = 0x30\n\tCSTART                               = 0x11\n\tCSTATUS                              = 0x0\n\tCSTOP                                = 0x13\n\tCSTOPB                               = 0x40\n\tCSUSP                                = 0x1a\n\tDAXFS_MAGIC                          = 0x64646178\n\tDEBUGFS_MAGIC                        = 0x64626720\n\tDEVPTS_SUPER_MAGIC                   = 0x1cd1\n\tDT_BLK                               = 0x6\n\tDT_CHR                               = 0x2\n\tDT_DIR                               = 0x4\n\tDT_FIFO                              = 0x1\n\tDT_LNK                               = 0xa\n\tDT_REG                               = 0x8\n\tDT_SOCK                              = 0xc\n\tDT_UNKNOWN                           = 0x0\n\tDT_WHT                               = 0xe\n\tECHO                                 = 0x8\n\tECHOCTL                              = 0x200\n\tECHOE                                = 0x10\n\tECHOK                                = 0x20\n\tECHOKE                               = 0x800\n\tECHONL                               = 0x40\n\tECHOPRT                              = 0x400\n\tECRYPTFS_SUPER_MAGIC                 = 0xf15f\n\tEFD_CLOEXEC                          = 0x80000\n\tEFD_NONBLOCK                         = 0x80\n\tEFD_SEMAPHORE                        = 0x1\n\tEFIVARFS_MAGIC                       = 0xde5e81e4\n\tEFS_SUPER_MAGIC                      = 0x414a53\n\tENCODING_DEFAULT                     = 0x0\n\tENCODING_FM_MARK                     = 0x3\n\tENCODING_FM_SPACE                    = 0x4\n\tENCODING_MANCHESTER                  = 0x5\n\tENCODING_NRZ                         = 0x1\n\tENCODING_NRZI                        = 0x2\n\tEPOLLERR                             = 0x8\n\tEPOLLET                              = 0x80000000\n\tEPOLLEXCLUSIVE                       = 0x10000000\n\tEPOLLHUP                             = 0x10\n\tEPOLLIN                              = 0x1\n\tEPOLLMSG                             = 0x400\n\tEPOLLONESHOT                         = 0x40000000\n\tEPOLLOUT                             = 0x4\n\tEPOLLPRI                             = 0x2\n\tEPOLLRDBAND                          = 0x80\n\tEPOLLRDHUP                           = 0x2000\n\tEPOLLRDNORM                          = 0x40\n\tEPOLLWAKEUP                          = 0x20000000\n\tEPOLLWRBAND                          = 0x200\n\tEPOLLWRNORM                          = 0x100\n\tEPOLL_CLOEXEC                        = 0x80000\n\tEPOLL_CTL_ADD                        = 0x1\n\tEPOLL_CTL_DEL                        = 0x2\n\tEPOLL_CTL_MOD                        = 0x3\n\tETH_P_1588                           = 0x88f7\n\tETH_P_8021AD                         = 0x88a8\n\tETH_P_8021AH                         = 0x88e7\n\tETH_P_8021Q                          = 0x8100\n\tETH_P_80221                          = 0x8917\n\tETH_P_802_2                          = 0x4\n\tETH_P_802_3                          = 0x1\n\tETH_P_802_3_MIN                      = 0x600\n\tETH_P_802_EX1                        = 0x88b5\n\tETH_P_AARP                           = 0x80f3\n\tETH_P_AF_IUCV                        = 0xfbfb\n\tETH_P_ALL                            = 0x3\n\tETH_P_AOE                            = 0x88a2\n\tETH_P_ARCNET                         = 0x1a\n\tETH_P_ARP                            = 0x806\n\tETH_P_ATALK                          = 0x809b\n\tETH_P_ATMFATE                        = 0x8884\n\tETH_P_ATMMPOA                        = 0x884c\n\tETH_P_AX25                           = 0x2\n\tETH_P_BATMAN                         = 0x4305\n\tETH_P_BPQ                            = 0x8ff\n\tETH_P_CAIF                           = 0xf7\n\tETH_P_CAN                            = 0xc\n\tETH_P_CANFD                          = 0xd\n\tETH_P_CONTROL                        = 0x16\n\tETH_P_CUST                           = 0x6006\n\tETH_P_DDCMP                          = 0x6\n\tETH_P_DEC                            = 0x6000\n\tETH_P_DIAG                           = 0x6005\n\tETH_P_DNA_DL                         = 0x6001\n\tETH_P_DNA_RC                         = 0x6002\n\tETH_P_DNA_RT                         = 0x6003\n\tETH_P_DSA                            = 0x1b\n\tETH_P_ECONET                         = 0x18\n\tETH_P_EDSA                           = 0xdada\n\tETH_P_ERSPAN                         = 0x88be\n\tETH_P_ERSPAN2                        = 0x22eb\n\tETH_P_FCOE                           = 0x8906\n\tETH_P_FIP                            = 0x8914\n\tETH_P_HDLC                           = 0x19\n\tETH_P_HSR                            = 0x892f\n\tETH_P_IBOE                           = 0x8915\n\tETH_P_IEEE802154                     = 0xf6\n\tETH_P_IEEEPUP                        = 0xa00\n\tETH_P_IEEEPUPAT                      = 0xa01\n\tETH_P_IFE                            = 0xed3e\n\tETH_P_IP                             = 0x800\n\tETH_P_IPV6                           = 0x86dd\n\tETH_P_IPX                            = 0x8137\n\tETH_P_IRDA                           = 0x17\n\tETH_P_LAT                            = 0x6004\n\tETH_P_LINK_CTL                       = 0x886c\n\tETH_P_LOCALTALK                      = 0x9\n\tETH_P_LOOP                           = 0x60\n\tETH_P_LOOPBACK                       = 0x9000\n\tETH_P_MACSEC                         = 0x88e5\n\tETH_P_MAP                            = 0xf9\n\tETH_P_MOBITEX                        = 0x15\n\tETH_P_MPLS_MC                        = 0x8848\n\tETH_P_MPLS_UC                        = 0x8847\n\tETH_P_MVRP                           = 0x88f5\n\tETH_P_NCSI                           = 0x88f8\n\tETH_P_NSH                            = 0x894f\n\tETH_P_PAE                            = 0x888e\n\tETH_P_PAUSE                          = 0x8808\n\tETH_P_PHONET                         = 0xf5\n\tETH_P_PPPTALK                        = 0x10\n\tETH_P_PPP_DISC                       = 0x8863\n\tETH_P_PPP_MP                         = 0x8\n\tETH_P_PPP_SES                        = 0x8864\n\tETH_P_PREAUTH                        = 0x88c7\n\tETH_P_PRP                            = 0x88fb\n\tETH_P_PUP                            = 0x200\n\tETH_P_PUPAT                          = 0x201\n\tETH_P_QINQ1                          = 0x9100\n\tETH_P_QINQ2                          = 0x9200\n\tETH_P_QINQ3                          = 0x9300\n\tETH_P_RARP                           = 0x8035\n\tETH_P_SCA                            = 0x6007\n\tETH_P_SLOW                           = 0x8809\n\tETH_P_SNAP                           = 0x5\n\tETH_P_TDLS                           = 0x890d\n\tETH_P_TEB                            = 0x6558\n\tETH_P_TIPC                           = 0x88ca\n\tETH_P_TRAILER                        = 0x1c\n\tETH_P_TR_802_2                       = 0x11\n\tETH_P_TSN                            = 0x22f0\n\tETH_P_WAN_PPP                        = 0x7\n\tETH_P_WCCP                           = 0x883e\n\tETH_P_X25                            = 0x805\n\tETH_P_XDSA                           = 0xf8\n\tEXABYTE_ENABLE_NEST                  = 0xf0\n\tEXT2_SUPER_MAGIC                     = 0xef53\n\tEXT3_SUPER_MAGIC                     = 0xef53\n\tEXT4_SUPER_MAGIC                     = 0xef53\n\tEXTA                                 = 0xe\n\tEXTB                                 = 0xf\n\tEXTPROC                              = 0x10000\n\tF2FS_SUPER_MAGIC                     = 0xf2f52010\n\tFALLOC_FL_COLLAPSE_RANGE             = 0x8\n\tFALLOC_FL_INSERT_RANGE               = 0x20\n\tFALLOC_FL_KEEP_SIZE                  = 0x1\n\tFALLOC_FL_NO_HIDE_STALE              = 0x4\n\tFALLOC_FL_PUNCH_HOLE                 = 0x2\n\tFALLOC_FL_UNSHARE_RANGE              = 0x40\n\tFALLOC_FL_ZERO_RANGE                 = 0x10\n\tFD_CLOEXEC                           = 0x1\n\tFD_SETSIZE                           = 0x400\n\tFF0                                  = 0x0\n\tFF1                                  = 0x8000\n\tFFDLY                                = 0x8000\n\tFLUSHO                               = 0x2000\n\tFS_ENCRYPTION_MODE_AES_128_CBC       = 0x5\n\tFS_ENCRYPTION_MODE_AES_128_CTS       = 0x6\n\tFS_ENCRYPTION_MODE_AES_256_CBC       = 0x3\n\tFS_ENCRYPTION_MODE_AES_256_CTS       = 0x4\n\tFS_ENCRYPTION_MODE_AES_256_GCM       = 0x2\n\tFS_ENCRYPTION_MODE_AES_256_XTS       = 0x1\n\tFS_ENCRYPTION_MODE_INVALID           = 0x0\n\tFS_ENCRYPTION_MODE_SPECK128_256_CTS  = 0x8\n\tFS_ENCRYPTION_MODE_SPECK128_256_XTS  = 0x7\n\tFS_IOC_GET_ENCRYPTION_POLICY         = 0x800c6615\n\tFS_IOC_GET_ENCRYPTION_PWSALT         = 0x80106614\n\tFS_IOC_SET_ENCRYPTION_POLICY         = 0x400c6613\n\tFS_KEY_DESCRIPTOR_SIZE               = 0x8\n\tFS_KEY_DESC_PREFIX                   = \"fscrypt:\"\n\tFS_KEY_DESC_PREFIX_SIZE              = 0x8\n\tFS_MAX_KEY_SIZE                      = 0x40\n\tFS_POLICY_FLAGS_PAD_16               = 0x2\n\tFS_POLICY_FLAGS_PAD_32               = 0x3\n\tFS_POLICY_FLAGS_PAD_4                = 0x0\n\tFS_POLICY_FLAGS_PAD_8                = 0x1\n\tFS_POLICY_FLAGS_PAD_MASK             = 0x3\n\tFS_POLICY_FLAGS_VALID                = 0x3\n\tFUTEXFS_SUPER_MAGIC                  = 0xbad1dea\n\tF_ADD_SEALS                          = 0x409\n\tF_DUPFD                              = 0x0\n\tF_DUPFD_CLOEXEC                      = 0x406\n\tF_EXLCK                              = 0x4\n\tF_GETFD                              = 0x1\n\tF_GETFL                              = 0x3\n\tF_GETLEASE                           = 0x401\n\tF_GETLK                              = 0x21\n\tF_GETLK64                            = 0x21\n\tF_GETOWN                             = 0x17\n\tF_GETOWN_EX                          = 0x10\n\tF_GETPIPE_SZ                         = 0x408\n\tF_GETSIG                             = 0xb\n\tF_GET_FILE_RW_HINT                   = 0x40d\n\tF_GET_RW_HINT                        = 0x40b\n\tF_GET_SEALS                          = 0x40a\n\tF_LOCK                               = 0x1\n\tF_NOTIFY                             = 0x402\n\tF_OFD_GETLK                          = 0x24\n\tF_OFD_SETLK                          = 0x25\n\tF_OFD_SETLKW                         = 0x26\n\tF_OK                                 = 0x0\n\tF_RDLCK                              = 0x0\n\tF_SEAL_GROW                          = 0x4\n\tF_SEAL_SEAL                          = 0x1\n\tF_SEAL_SHRINK                        = 0x2\n\tF_SEAL_WRITE                         = 0x8\n\tF_SETFD                              = 0x2\n\tF_SETFL                              = 0x4\n\tF_SETLEASE                           = 0x400\n\tF_SETLK                              = 0x22\n\tF_SETLK64                            = 0x22\n\tF_SETLKW                             = 0x23\n\tF_SETLKW64                           = 0x23\n\tF_SETOWN                             = 0x18\n\tF_SETOWN_EX                          = 0xf\n\tF_SETPIPE_SZ                         = 0x407\n\tF_SETSIG                             = 0xa\n\tF_SET_FILE_RW_HINT                   = 0x40e\n\tF_SET_RW_HINT                        = 0x40c\n\tF_SHLCK                              = 0x8\n\tF_TEST                               = 0x3\n\tF_TLOCK                              = 0x2\n\tF_ULOCK                              = 0x0\n\tF_UNLCK                              = 0x2\n\tF_WRLCK                              = 0x1\n\tGENL_ADMIN_PERM                      = 0x1\n\tGENL_CMD_CAP_DO                      = 0x2\n\tGENL_CMD_CAP_DUMP                    = 0x4\n\tGENL_CMD_CAP_HASPOL                  = 0x8\n\tGENL_HDRLEN                          = 0x4\n\tGENL_ID_CTRL                         = 0x10\n\tGENL_ID_PMCRAID                      = 0x12\n\tGENL_ID_VFS_DQUOT                    = 0x11\n\tGENL_MAX_ID                          = 0x3ff\n\tGENL_MIN_ID                          = 0x10\n\tGENL_NAMSIZ                          = 0x10\n\tGENL_START_ALLOC                     = 0x13\n\tGENL_UNS_ADMIN_PERM                  = 0x10\n\tGRND_NONBLOCK                        = 0x1\n\tGRND_RANDOM                          = 0x2\n\tHDIO_DRIVE_CMD                       = 0x31f\n\tHDIO_DRIVE_CMD_AEB                   = 0x31e\n\tHDIO_DRIVE_CMD_HDR_SIZE              = 0x4\n\tHDIO_DRIVE_HOB_HDR_SIZE              = 0x8\n\tHDIO_DRIVE_RESET                     = 0x31c\n\tHDIO_DRIVE_TASK                      = 0x31e\n\tHDIO_DRIVE_TASKFILE                  = 0x31d\n\tHDIO_DRIVE_TASK_HDR_SIZE             = 0x8\n\tHDIO_GETGEO                          = 0x301\n\tHDIO_GET_32BIT                       = 0x309\n\tHDIO_GET_ACOUSTIC                    = 0x30f\n\tHDIO_GET_ADDRESS                     = 0x310\n\tHDIO_GET_BUSSTATE                    = 0x31a\n\tHDIO_GET_DMA                         = 0x30b\n\tHDIO_GET_IDENTITY                    = 0x30d\n\tHDIO_GET_KEEPSETTINGS                = 0x308\n\tHDIO_GET_MULTCOUNT                   = 0x304\n\tHDIO_GET_NICE                        = 0x30c\n\tHDIO_GET_NOWERR                      = 0x30a\n\tHDIO_GET_QDMA                        = 0x305\n\tHDIO_GET_UNMASKINTR                  = 0x302\n\tHDIO_GET_WCACHE                      = 0x30e\n\tHDIO_OBSOLETE_IDENTITY               = 0x307\n\tHDIO_SCAN_HWIF                       = 0x328\n\tHDIO_SET_32BIT                       = 0x324\n\tHDIO_SET_ACOUSTIC                    = 0x32c\n\tHDIO_SET_ADDRESS                     = 0x32f\n\tHDIO_SET_BUSSTATE                    = 0x32d\n\tHDIO_SET_DMA                         = 0x326\n\tHDIO_SET_KEEPSETTINGS                = 0x323\n\tHDIO_SET_MULTCOUNT                   = 0x321\n\tHDIO_SET_NICE                        = 0x329\n\tHDIO_SET_NOWERR                      = 0x325\n\tHDIO_SET_PIO_MODE                    = 0x327\n\tHDIO_SET_QDMA                        = 0x32e\n\tHDIO_SET_UNMASKINTR                  = 0x322\n\tHDIO_SET_WCACHE                      = 0x32b\n\tHDIO_SET_XFER                        = 0x306\n\tHDIO_TRISTATE_HWIF                   = 0x31b\n\tHDIO_UNREGISTER_HWIF                 = 0x32a\n\tHOSTFS_SUPER_MAGIC                   = 0xc0ffee\n\tHPFS_SUPER_MAGIC                     = 0xf995e849\n\tHUGETLBFS_MAGIC                      = 0x958458f6\n\tHUPCL                                = 0x400\n\tIBSHIFT                              = 0x10\n\tICANON                               = 0x2\n\tICMPV6_FILTER                        = 0x1\n\tICRNL                                = 0x100\n\tIEXTEN                               = 0x100\n\tIFA_F_DADFAILED                      = 0x8\n\tIFA_F_DEPRECATED                     = 0x20\n\tIFA_F_HOMEADDRESS                    = 0x10\n\tIFA_F_MANAGETEMPADDR                 = 0x100\n\tIFA_F_MCAUTOJOIN                     = 0x400\n\tIFA_F_NODAD                          = 0x2\n\tIFA_F_NOPREFIXROUTE                  = 0x200\n\tIFA_F_OPTIMISTIC                     = 0x4\n\tIFA_F_PERMANENT                      = 0x80\n\tIFA_F_SECONDARY                      = 0x1\n\tIFA_F_STABLE_PRIVACY                 = 0x800\n\tIFA_F_TEMPORARY                      = 0x1\n\tIFA_F_TENTATIVE                      = 0x40\n\tIFA_MAX                              = 0x9\n\tIFF_ALLMULTI                         = 0x200\n\tIFF_ATTACH_QUEUE                     = 0x200\n\tIFF_AUTOMEDIA                        = 0x4000\n\tIFF_BROADCAST                        = 0x2\n\tIFF_DEBUG                            = 0x4\n\tIFF_DETACH_QUEUE                     = 0x400\n\tIFF_DORMANT                          = 0x20000\n\tIFF_DYNAMIC                          = 0x8000\n\tIFF_ECHO                             = 0x40000\n\tIFF_LOOPBACK                         = 0x8\n\tIFF_LOWER_UP                         = 0x10000\n\tIFF_MASTER                           = 0x400\n\tIFF_MULTICAST                        = 0x1000\n\tIFF_MULTI_QUEUE                      = 0x100\n\tIFF_NAPI                             = 0x10\n\tIFF_NAPI_FRAGS                       = 0x20\n\tIFF_NOARP                            = 0x80\n\tIFF_NOFILTER                         = 0x1000\n\tIFF_NOTRAILERS                       = 0x20\n\tIFF_NO_PI                            = 0x1000\n\tIFF_ONE_QUEUE                        = 0x2000\n\tIFF_PERSIST                          = 0x800\n\tIFF_POINTOPOINT                      = 0x10\n\tIFF_PORTSEL                          = 0x2000\n\tIFF_PROMISC                          = 0x100\n\tIFF_RUNNING                          = 0x40\n\tIFF_SLAVE                            = 0x800\n\tIFF_TAP                              = 0x2\n\tIFF_TUN                              = 0x1\n\tIFF_TUN_EXCL                         = 0x8000\n\tIFF_UP                               = 0x1\n\tIFF_VNET_HDR                         = 0x4000\n\tIFF_VOLATILE                         = 0x70c5a\n\tIFNAMSIZ                             = 0x10\n\tIGNBRK                               = 0x1\n\tIGNCR                                = 0x80\n\tIGNPAR                               = 0x4\n\tIMAXBEL                              = 0x2000\n\tINLCR                                = 0x40\n\tINPCK                                = 0x10\n\tIN_ACCESS                            = 0x1\n\tIN_ALL_EVENTS                        = 0xfff\n\tIN_ATTRIB                            = 0x4\n\tIN_CLASSA_HOST                       = 0xffffff\n\tIN_CLASSA_MAX                        = 0x80\n\tIN_CLASSA_NET                        = 0xff000000\n\tIN_CLASSA_NSHIFT                     = 0x18\n\tIN_CLASSB_HOST                       = 0xffff\n\tIN_CLASSB_MAX                        = 0x10000\n\tIN_CLASSB_NET                        = 0xffff0000\n\tIN_CLASSB_NSHIFT                     = 0x10\n\tIN_CLASSC_HOST                       = 0xff\n\tIN_CLASSC_NET                        = 0xffffff00\n\tIN_CLASSC_NSHIFT                     = 0x8\n\tIN_CLOEXEC                           = 0x80000\n\tIN_CLOSE                             = 0x18\n\tIN_CLOSE_NOWRITE                     = 0x10\n\tIN_CLOSE_WRITE                       = 0x8\n\tIN_CREATE                            = 0x100\n\tIN_DELETE                            = 0x200\n\tIN_DELETE_SELF                       = 0x400\n\tIN_DONT_FOLLOW                       = 0x2000000\n\tIN_EXCL_UNLINK                       = 0x4000000\n\tIN_IGNORED                           = 0x8000\n\tIN_ISDIR                             = 0x40000000\n\tIN_LOOPBACKNET                       = 0x7f\n\tIN_MASK_ADD                          = 0x20000000\n\tIN_MODIFY                            = 0x2\n\tIN_MOVE                              = 0xc0\n\tIN_MOVED_FROM                        = 0x40\n\tIN_MOVED_TO                          = 0x80\n\tIN_MOVE_SELF                         = 0x800\n\tIN_NONBLOCK                          = 0x80\n\tIN_ONESHOT                           = 0x80000000\n\tIN_ONLYDIR                           = 0x1000000\n\tIN_OPEN                              = 0x20\n\tIN_Q_OVERFLOW                        = 0x4000\n\tIN_UNMOUNT                           = 0x2000\n\tIOCTL_VM_SOCKETS_GET_LOCAL_CID       = 0x200007b9\n\tIPPROTO_AH                           = 0x33\n\tIPPROTO_BEETPH                       = 0x5e\n\tIPPROTO_COMP                         = 0x6c\n\tIPPROTO_DCCP                         = 0x21\n\tIPPROTO_DSTOPTS                      = 0x3c\n\tIPPROTO_EGP                          = 0x8\n\tIPPROTO_ENCAP                        = 0x62\n\tIPPROTO_ESP                          = 0x32\n\tIPPROTO_FRAGMENT                     = 0x2c\n\tIPPROTO_GRE                          = 0x2f\n\tIPPROTO_HOPOPTS                      = 0x0\n\tIPPROTO_ICMP                         = 0x1\n\tIPPROTO_ICMPV6                       = 0x3a\n\tIPPROTO_IDP                          = 0x16\n\tIPPROTO_IGMP                         = 0x2\n\tIPPROTO_IP                           = 0x0\n\tIPPROTO_IPIP                         = 0x4\n\tIPPROTO_IPV6                         = 0x29\n\tIPPROTO_MH                           = 0x87\n\tIPPROTO_MPLS                         = 0x89\n\tIPPROTO_MTP                          = 0x5c\n\tIPPROTO_NONE                         = 0x3b\n\tIPPROTO_PIM                          = 0x67\n\tIPPROTO_PUP                          = 0xc\n\tIPPROTO_RAW                          = 0xff\n\tIPPROTO_ROUTING                      = 0x2b\n\tIPPROTO_RSVP                         = 0x2e\n\tIPPROTO_SCTP                         = 0x84\n\tIPPROTO_TCP                          = 0x6\n\tIPPROTO_TP                           = 0x1d\n\tIPPROTO_UDP                          = 0x11\n\tIPPROTO_UDPLITE                      = 0x88\n\tIPV6_2292DSTOPTS                     = 0x4\n\tIPV6_2292HOPLIMIT                    = 0x8\n\tIPV6_2292HOPOPTS                     = 0x3\n\tIPV6_2292PKTINFO                     = 0x2\n\tIPV6_2292PKTOPTIONS                  = 0x6\n\tIPV6_2292RTHDR                       = 0x5\n\tIPV6_ADDRFORM                        = 0x1\n\tIPV6_ADDR_PREFERENCES                = 0x48\n\tIPV6_ADD_MEMBERSHIP                  = 0x14\n\tIPV6_AUTHHDR                         = 0xa\n\tIPV6_AUTOFLOWLABEL                   = 0x46\n\tIPV6_CHECKSUM                        = 0x7\n\tIPV6_DONTFRAG                        = 0x3e\n\tIPV6_DROP_MEMBERSHIP                 = 0x15\n\tIPV6_DSTOPTS                         = 0x3b\n\tIPV6_FREEBIND                        = 0x4e\n\tIPV6_HDRINCL                         = 0x24\n\tIPV6_HOPLIMIT                        = 0x34\n\tIPV6_HOPOPTS                         = 0x36\n\tIPV6_IPSEC_POLICY                    = 0x22\n\tIPV6_JOIN_ANYCAST                    = 0x1b\n\tIPV6_JOIN_GROUP                      = 0x14\n\tIPV6_LEAVE_ANYCAST                   = 0x1c\n\tIPV6_LEAVE_GROUP                     = 0x15\n\tIPV6_MINHOPCOUNT                     = 0x49\n\tIPV6_MTU                             = 0x18\n\tIPV6_MTU_DISCOVER                    = 0x17\n\tIPV6_MULTICAST_HOPS                  = 0x12\n\tIPV6_MULTICAST_IF                    = 0x11\n\tIPV6_MULTICAST_LOOP                  = 0x13\n\tIPV6_NEXTHOP                         = 0x9\n\tIPV6_ORIGDSTADDR                     = 0x4a\n\tIPV6_PATHMTU                         = 0x3d\n\tIPV6_PKTINFO                         = 0x32\n\tIPV6_PMTUDISC_DO                     = 0x2\n\tIPV6_PMTUDISC_DONT                   = 0x0\n\tIPV6_PMTUDISC_INTERFACE              = 0x4\n\tIPV6_PMTUDISC_OMIT                   = 0x5\n\tIPV6_PMTUDISC_PROBE                  = 0x3\n\tIPV6_PMTUDISC_WANT                   = 0x1\n\tIPV6_RECVDSTOPTS                     = 0x3a\n\tIPV6_RECVERR                         = 0x19\n\tIPV6_RECVFRAGSIZE                    = 0x4d\n\tIPV6_RECVHOPLIMIT                    = 0x33\n\tIPV6_RECVHOPOPTS                     = 0x35\n\tIPV6_RECVORIGDSTADDR                 = 0x4a\n\tIPV6_RECVPATHMTU                     = 0x3c\n\tIPV6_RECVPKTINFO                     = 0x31\n\tIPV6_RECVRTHDR                       = 0x38\n\tIPV6_RECVTCLASS                      = 0x42\n\tIPV6_ROUTER_ALERT                    = 0x16\n\tIPV6_RTHDR                           = 0x39\n\tIPV6_RTHDRDSTOPTS                    = 0x37\n\tIPV6_RTHDR_LOOSE                     = 0x0\n\tIPV6_RTHDR_STRICT                    = 0x1\n\tIPV6_RTHDR_TYPE_0                    = 0x0\n\tIPV6_RXDSTOPTS                       = 0x3b\n\tIPV6_RXHOPOPTS                       = 0x36\n\tIPV6_TCLASS                          = 0x43\n\tIPV6_TRANSPARENT                     = 0x4b\n\tIPV6_UNICAST_HOPS                    = 0x10\n\tIPV6_UNICAST_IF                      = 0x4c\n\tIPV6_V6ONLY                          = 0x1a\n\tIPV6_XFRM_POLICY                     = 0x23\n\tIP_ADD_MEMBERSHIP                    = 0x23\n\tIP_ADD_SOURCE_MEMBERSHIP             = 0x27\n\tIP_BIND_ADDRESS_NO_PORT              = 0x18\n\tIP_BLOCK_SOURCE                      = 0x26\n\tIP_CHECKSUM                          = 0x17\n\tIP_DEFAULT_MULTICAST_LOOP            = 0x1\n\tIP_DEFAULT_MULTICAST_TTL             = 0x1\n\tIP_DF                                = 0x4000\n\tIP_DROP_MEMBERSHIP                   = 0x24\n\tIP_DROP_SOURCE_MEMBERSHIP            = 0x28\n\tIP_FREEBIND                          = 0xf\n\tIP_HDRINCL                           = 0x3\n\tIP_IPSEC_POLICY                      = 0x10\n\tIP_MAXPACKET                         = 0xffff\n\tIP_MAX_MEMBERSHIPS                   = 0x14\n\tIP_MF                                = 0x2000\n\tIP_MINTTL                            = 0x15\n\tIP_MSFILTER                          = 0x29\n\tIP_MSS                               = 0x240\n\tIP_MTU                               = 0xe\n\tIP_MTU_DISCOVER                      = 0xa\n\tIP_MULTICAST_ALL                     = 0x31\n\tIP_MULTICAST_IF                      = 0x20\n\tIP_MULTICAST_LOOP                    = 0x22\n\tIP_MULTICAST_TTL                     = 0x21\n\tIP_NODEFRAG                          = 0x16\n\tIP_OFFMASK                           = 0x1fff\n\tIP_OPTIONS                           = 0x4\n\tIP_ORIGDSTADDR                       = 0x14\n\tIP_PASSSEC                           = 0x12\n\tIP_PKTINFO                           = 0x8\n\tIP_PKTOPTIONS                        = 0x9\n\tIP_PMTUDISC                          = 0xa\n\tIP_PMTUDISC_DO                       = 0x2\n\tIP_PMTUDISC_DONT                     = 0x0\n\tIP_PMTUDISC_INTERFACE                = 0x4\n\tIP_PMTUDISC_OMIT                     = 0x5\n\tIP_PMTUDISC_PROBE                    = 0x3\n\tIP_PMTUDISC_WANT                     = 0x1\n\tIP_RECVERR                           = 0xb\n\tIP_RECVFRAGSIZE                      = 0x19\n\tIP_RECVOPTS                          = 0x6\n\tIP_RECVORIGDSTADDR                   = 0x14\n\tIP_RECVRETOPTS                       = 0x7\n\tIP_RECVTOS                           = 0xd\n\tIP_RECVTTL                           = 0xc\n\tIP_RETOPTS                           = 0x7\n\tIP_RF                                = 0x8000\n\tIP_ROUTER_ALERT                      = 0x5\n\tIP_TOS                               = 0x1\n\tIP_TRANSPARENT                       = 0x13\n\tIP_TTL                               = 0x2\n\tIP_UNBLOCK_SOURCE                    = 0x25\n\tIP_UNICAST_IF                        = 0x32\n\tIP_XFRM_POLICY                       = 0x11\n\tISIG                                 = 0x1\n\tISOFS_SUPER_MAGIC                    = 0x9660\n\tISTRIP                               = 0x20\n\tIUCLC                                = 0x200\n\tIUTF8                                = 0x4000\n\tIXANY                                = 0x800\n\tIXOFF                                = 0x1000\n\tIXON                                 = 0x400\n\tJFFS2_SUPER_MAGIC                    = 0x72b6\n\tKEYCTL_ASSUME_AUTHORITY              = 0x10\n\tKEYCTL_CHOWN                         = 0x4\n\tKEYCTL_CLEAR                         = 0x7\n\tKEYCTL_DESCRIBE                      = 0x6\n\tKEYCTL_DH_COMPUTE                    = 0x17\n\tKEYCTL_GET_KEYRING_ID                = 0x0\n\tKEYCTL_GET_PERSISTENT                = 0x16\n\tKEYCTL_GET_SECURITY                  = 0x11\n\tKEYCTL_INSTANTIATE                   = 0xc\n\tKEYCTL_INSTANTIATE_IOV               = 0x14\n\tKEYCTL_INVALIDATE                    = 0x15\n\tKEYCTL_JOIN_SESSION_KEYRING          = 0x1\n\tKEYCTL_LINK                          = 0x8\n\tKEYCTL_NEGATE                        = 0xd\n\tKEYCTL_READ                          = 0xb\n\tKEYCTL_REJECT                        = 0x13\n\tKEYCTL_RESTRICT_KEYRING              = 0x1d\n\tKEYCTL_REVOKE                        = 0x3\n\tKEYCTL_SEARCH                        = 0xa\n\tKEYCTL_SESSION_TO_PARENT             = 0x12\n\tKEYCTL_SETPERM                       = 0x5\n\tKEYCTL_SET_REQKEY_KEYRING            = 0xe\n\tKEYCTL_SET_TIMEOUT                   = 0xf\n\tKEYCTL_UNLINK                        = 0x9\n\tKEYCTL_UPDATE                        = 0x2\n\tKEY_REQKEY_DEFL_DEFAULT              = 0x0\n\tKEY_REQKEY_DEFL_GROUP_KEYRING        = 0x6\n\tKEY_REQKEY_DEFL_NO_CHANGE            = -0x1\n\tKEY_REQKEY_DEFL_PROCESS_KEYRING      = 0x2\n\tKEY_REQKEY_DEFL_REQUESTOR_KEYRING    = 0x7\n\tKEY_REQKEY_DEFL_SESSION_KEYRING      = 0x3\n\tKEY_REQKEY_DEFL_THREAD_KEYRING       = 0x1\n\tKEY_REQKEY_DEFL_USER_KEYRING         = 0x4\n\tKEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5\n\tKEY_SPEC_GROUP_KEYRING               = -0x6\n\tKEY_SPEC_PROCESS_KEYRING             = -0x2\n\tKEY_SPEC_REQKEY_AUTH_KEY             = -0x7\n\tKEY_SPEC_REQUESTOR_KEYRING           = -0x8\n\tKEY_SPEC_SESSION_KEYRING             = -0x3\n\tKEY_SPEC_THREAD_KEYRING              = -0x1\n\tKEY_SPEC_USER_KEYRING                = -0x4\n\tKEY_SPEC_USER_SESSION_KEYRING        = -0x5\n\tLINUX_REBOOT_CMD_CAD_OFF             = 0x0\n\tLINUX_REBOOT_CMD_CAD_ON              = 0x89abcdef\n\tLINUX_REBOOT_CMD_HALT                = 0xcdef0123\n\tLINUX_REBOOT_CMD_KEXEC               = 0x45584543\n\tLINUX_REBOOT_CMD_POWER_OFF           = 0x4321fedc\n\tLINUX_REBOOT_CMD_RESTART             = 0x1234567\n\tLINUX_REBOOT_CMD_RESTART2            = 0xa1b2c3d4\n\tLINUX_REBOOT_CMD_SW_SUSPEND          = 0xd000fce2\n\tLINUX_REBOOT_MAGIC1                  = 0xfee1dead\n\tLINUX_REBOOT_MAGIC2                  = 0x28121969\n\tLOCK_EX                              = 0x2\n\tLOCK_NB                              = 0x4\n\tLOCK_SH                              = 0x1\n\tLOCK_UN                              = 0x8\n\tMADV_DODUMP                          = 0x11\n\tMADV_DOFORK                          = 0xb\n\tMADV_DONTDUMP                        = 0x10\n\tMADV_DONTFORK                        = 0xa\n\tMADV_DONTNEED                        = 0x4\n\tMADV_FREE                            = 0x8\n\tMADV_HUGEPAGE                        = 0xe\n\tMADV_HWPOISON                        = 0x64\n\tMADV_KEEPONFORK                      = 0x13\n\tMADV_MERGEABLE                       = 0xc\n\tMADV_NOHUGEPAGE                      = 0xf\n\tMADV_NORMAL                          = 0x0\n\tMADV_RANDOM                          = 0x1\n\tMADV_REMOVE                          = 0x9\n\tMADV_SEQUENTIAL                      = 0x2\n\tMADV_UNMERGEABLE                     = 0xd\n\tMADV_WILLNEED                        = 0x3\n\tMADV_WIPEONFORK                      = 0x12\n\tMAP_ANON                             = 0x800\n\tMAP_ANONYMOUS                        = 0x800\n\tMAP_DENYWRITE                        = 0x2000\n\tMAP_EXECUTABLE                       = 0x4000\n\tMAP_FILE                             = 0x0\n\tMAP_FIXED                            = 0x10\n\tMAP_FIXED_NOREPLACE                  = 0x100000\n\tMAP_GROWSDOWN                        = 0x1000\n\tMAP_HUGETLB                          = 0x80000\n\tMAP_HUGE_MASK                        = 0x3f\n\tMAP_HUGE_SHIFT                       = 0x1a\n\tMAP_LOCKED                           = 0x8000\n\tMAP_NONBLOCK                         = 0x20000\n\tMAP_NORESERVE                        = 0x400\n\tMAP_POPULATE                         = 0x10000\n\tMAP_PRIVATE                          = 0x2\n\tMAP_RENAME                           = 0x800\n\tMAP_SHARED                           = 0x1\n\tMAP_SHARED_VALIDATE                  = 0x3\n\tMAP_STACK                            = 0x40000\n\tMAP_TYPE                             = 0xf\n\tMCL_CURRENT                          = 0x1\n\tMCL_FUTURE                           = 0x2\n\tMCL_ONFAULT                          = 0x4\n\tMINIX2_SUPER_MAGIC                   = 0x2468\n\tMINIX2_SUPER_MAGIC2                  = 0x2478\n\tMINIX3_SUPER_MAGIC                   = 0x4d5a\n\tMINIX_SUPER_MAGIC                    = 0x137f\n\tMINIX_SUPER_MAGIC2                   = 0x138f\n\tMNT_DETACH                           = 0x2\n\tMNT_EXPIRE                           = 0x4\n\tMNT_FORCE                            = 0x1\n\tMSDOS_SUPER_MAGIC                    = 0x4d44\n\tMSG_BATCH                            = 0x40000\n\tMSG_CMSG_CLOEXEC                     = 0x40000000\n\tMSG_CONFIRM                          = 0x800\n\tMSG_CTRUNC                           = 0x8\n\tMSG_DONTROUTE                        = 0x4\n\tMSG_DONTWAIT                         = 0x40\n\tMSG_EOR                              = 0x80\n\tMSG_ERRQUEUE                         = 0x2000\n\tMSG_FASTOPEN                         = 0x20000000\n\tMSG_FIN                              = 0x200\n\tMSG_MORE                             = 0x8000\n\tMSG_NOSIGNAL                         = 0x4000\n\tMSG_OOB                              = 0x1\n\tMSG_PEEK                             = 0x2\n\tMSG_PROXY                            = 0x10\n\tMSG_RST                              = 0x1000\n\tMSG_SYN                              = 0x400\n\tMSG_TRUNC                            = 0x20\n\tMSG_TRYHARD                          = 0x4\n\tMSG_WAITALL                          = 0x100\n\tMSG_WAITFORONE                       = 0x10000\n\tMSG_ZEROCOPY                         = 0x4000000\n\tMS_ACTIVE                            = 0x40000000\n\tMS_ASYNC                             = 0x1\n\tMS_BIND                              = 0x1000\n\tMS_BORN                              = 0x20000000\n\tMS_DIRSYNC                           = 0x80\n\tMS_INVALIDATE                        = 0x2\n\tMS_I_VERSION                         = 0x800000\n\tMS_KERNMOUNT                         = 0x400000\n\tMS_LAZYTIME                          = 0x2000000\n\tMS_MANDLOCK                          = 0x40\n\tMS_MGC_MSK                           = 0xffff0000\n\tMS_MGC_VAL                           = 0xc0ed0000\n\tMS_MOVE                              = 0x2000\n\tMS_NOATIME                           = 0x400\n\tMS_NODEV                             = 0x4\n\tMS_NODIRATIME                        = 0x800\n\tMS_NOEXEC                            = 0x8\n\tMS_NOREMOTELOCK                      = 0x8000000\n\tMS_NOSEC                             = 0x10000000\n\tMS_NOSUID                            = 0x2\n\tMS_NOUSER                            = -0x80000000\n\tMS_POSIXACL                          = 0x10000\n\tMS_PRIVATE                           = 0x40000\n\tMS_RDONLY                            = 0x1\n\tMS_REC                               = 0x4000\n\tMS_RELATIME                          = 0x200000\n\tMS_REMOUNT                           = 0x20\n\tMS_RMT_MASK                          = 0x2800051\n\tMS_SHARED                            = 0x100000\n\tMS_SILENT                            = 0x8000\n\tMS_SLAVE                             = 0x80000\n\tMS_STRICTATIME                       = 0x1000000\n\tMS_SUBMOUNT                          = 0x4000000\n\tMS_SYNC                              = 0x4\n\tMS_SYNCHRONOUS                       = 0x10\n\tMS_UNBINDABLE                        = 0x20000\n\tMS_VERBOSE                           = 0x8000\n\tMTD_INODE_FS_MAGIC                   = 0x11307854\n\tNAME_MAX                             = 0xff\n\tNCP_SUPER_MAGIC                      = 0x564c\n\tNETLINK_ADD_MEMBERSHIP               = 0x1\n\tNETLINK_AUDIT                        = 0x9\n\tNETLINK_BROADCAST_ERROR              = 0x4\n\tNETLINK_CAP_ACK                      = 0xa\n\tNETLINK_CONNECTOR                    = 0xb\n\tNETLINK_CRYPTO                       = 0x15\n\tNETLINK_DNRTMSG                      = 0xe\n\tNETLINK_DROP_MEMBERSHIP              = 0x2\n\tNETLINK_ECRYPTFS                     = 0x13\n\tNETLINK_EXT_ACK                      = 0xb\n\tNETLINK_FIB_LOOKUP                   = 0xa\n\tNETLINK_FIREWALL                     = 0x3\n\tNETLINK_GENERIC                      = 0x10\n\tNETLINK_INET_DIAG                    = 0x4\n\tNETLINK_IP6_FW                       = 0xd\n\tNETLINK_ISCSI                        = 0x8\n\tNETLINK_KOBJECT_UEVENT               = 0xf\n\tNETLINK_LISTEN_ALL_NSID              = 0x8\n\tNETLINK_LIST_MEMBERSHIPS             = 0x9\n\tNETLINK_NETFILTER                    = 0xc\n\tNETLINK_NFLOG                        = 0x5\n\tNETLINK_NO_ENOBUFS                   = 0x5\n\tNETLINK_PKTINFO                      = 0x3\n\tNETLINK_RDMA                         = 0x14\n\tNETLINK_ROUTE                        = 0x0\n\tNETLINK_RX_RING                      = 0x6\n\tNETLINK_SCSITRANSPORT                = 0x12\n\tNETLINK_SELINUX                      = 0x7\n\tNETLINK_SMC                          = 0x16\n\tNETLINK_SOCK_DIAG                    = 0x4\n\tNETLINK_TX_RING                      = 0x7\n\tNETLINK_UNUSED                       = 0x1\n\tNETLINK_USERSOCK                     = 0x2\n\tNETLINK_XFRM                         = 0x6\n\tNETNSA_MAX                           = 0x3\n\tNETNSA_NSID_NOT_ASSIGNED             = -0x1\n\tNFNETLINK_V0                         = 0x0\n\tNFNLGRP_ACCT_QUOTA                   = 0x8\n\tNFNLGRP_CONNTRACK_DESTROY            = 0x3\n\tNFNLGRP_CONNTRACK_EXP_DESTROY        = 0x6\n\tNFNLGRP_CONNTRACK_EXP_NEW            = 0x4\n\tNFNLGRP_CONNTRACK_EXP_UPDATE         = 0x5\n\tNFNLGRP_CONNTRACK_NEW                = 0x1\n\tNFNLGRP_CONNTRACK_UPDATE             = 0x2\n\tNFNLGRP_MAX                          = 0x9\n\tNFNLGRP_NFTABLES                     = 0x7\n\tNFNLGRP_NFTRACE                      = 0x9\n\tNFNLGRP_NONE                         = 0x0\n\tNFNL_BATCH_MAX                       = 0x1\n\tNFNL_MSG_BATCH_BEGIN                 = 0x10\n\tNFNL_MSG_BATCH_END                   = 0x11\n\tNFNL_NFA_NEST                        = 0x8000\n\tNFNL_SUBSYS_ACCT                     = 0x7\n\tNFNL_SUBSYS_COUNT                    = 0xc\n\tNFNL_SUBSYS_CTHELPER                 = 0x9\n\tNFNL_SUBSYS_CTNETLINK                = 0x1\n\tNFNL_SUBSYS_CTNETLINK_EXP            = 0x2\n\tNFNL_SUBSYS_CTNETLINK_TIMEOUT        = 0x8\n\tNFNL_SUBSYS_IPSET                    = 0x6\n\tNFNL_SUBSYS_NFTABLES                 = 0xa\n\tNFNL_SUBSYS_NFT_COMPAT               = 0xb\n\tNFNL_SUBSYS_NONE                     = 0x0\n\tNFNL_SUBSYS_OSF                      = 0x5\n\tNFNL_SUBSYS_QUEUE                    = 0x3\n\tNFNL_SUBSYS_ULOG                     = 0x4\n\tNFS_SUPER_MAGIC                      = 0x6969\n\tNILFS_SUPER_MAGIC                    = 0x3434\n\tNL0                                  = 0x0\n\tNL1                                  = 0x100\n\tNLA_ALIGNTO                          = 0x4\n\tNLA_F_NESTED                         = 0x8000\n\tNLA_F_NET_BYTEORDER                  = 0x4000\n\tNLA_HDRLEN                           = 0x4\n\tNLDLY                                = 0x100\n\tNLMSG_ALIGNTO                        = 0x4\n\tNLMSG_DONE                           = 0x3\n\tNLMSG_ERROR                          = 0x2\n\tNLMSG_HDRLEN                         = 0x10\n\tNLMSG_MIN_TYPE                       = 0x10\n\tNLMSG_NOOP                           = 0x1\n\tNLMSG_OVERRUN                        = 0x4\n\tNLM_F_ACK                            = 0x4\n\tNLM_F_ACK_TLVS                       = 0x200\n\tNLM_F_APPEND                         = 0x800\n\tNLM_F_ATOMIC                         = 0x400\n\tNLM_F_CAPPED                         = 0x100\n\tNLM_F_CREATE                         = 0x400\n\tNLM_F_DUMP                           = 0x300\n\tNLM_F_DUMP_FILTERED                  = 0x20\n\tNLM_F_DUMP_INTR                      = 0x10\n\tNLM_F_ECHO                           = 0x8\n\tNLM_F_EXCL                           = 0x200\n\tNLM_F_MATCH                          = 0x200\n\tNLM_F_MULTI                          = 0x2\n\tNLM_F_NONREC                         = 0x100\n\tNLM_F_REPLACE                        = 0x100\n\tNLM_F_REQUEST                        = 0x1\n\tNLM_F_ROOT                           = 0x100\n\tNOFLSH                               = 0x80\n\tNSFS_MAGIC                           = 0x6e736673\n\tOCFS2_SUPER_MAGIC                    = 0x7461636f\n\tOCRNL                                = 0x8\n\tOFDEL                                = 0x80\n\tOFILL                                = 0x40\n\tOLCUC                                = 0x2\n\tONLCR                                = 0x4\n\tONLRET                               = 0x20\n\tONOCR                                = 0x10\n\tOPENPROM_SUPER_MAGIC                 = 0x9fa1\n\tOPOST                                = 0x1\n\tOVERLAYFS_SUPER_MAGIC                = 0x794c7630\n\tO_ACCMODE                            = 0x3\n\tO_APPEND                             = 0x8\n\tO_ASYNC                              = 0x1000\n\tO_CLOEXEC                            = 0x80000\n\tO_CREAT                              = 0x100\n\tO_DIRECT                             = 0x8000\n\tO_DIRECTORY                          = 0x10000\n\tO_DSYNC                              = 0x10\n\tO_EXCL                               = 0x400\n\tO_FSYNC                              = 0x4010\n\tO_LARGEFILE                          = 0x2000\n\tO_NDELAY                             = 0x80\n\tO_NOATIME                            = 0x40000\n\tO_NOCTTY                             = 0x800\n\tO_NOFOLLOW                           = 0x20000\n\tO_NONBLOCK                           = 0x80\n\tO_PATH                               = 0x200000\n\tO_RDONLY                             = 0x0\n\tO_RDWR                               = 0x2\n\tO_RSYNC                              = 0x4010\n\tO_SYNC                               = 0x4010\n\tO_TMPFILE                            = 0x410000\n\tO_TRUNC                              = 0x200\n\tO_WRONLY                             = 0x1\n\tPACKET_ADD_MEMBERSHIP                = 0x1\n\tPACKET_AUXDATA                       = 0x8\n\tPACKET_BROADCAST                     = 0x1\n\tPACKET_COPY_THRESH                   = 0x7\n\tPACKET_DROP_MEMBERSHIP               = 0x2\n\tPACKET_FANOUT                        = 0x12\n\tPACKET_FANOUT_CBPF                   = 0x6\n\tPACKET_FANOUT_CPU                    = 0x2\n\tPACKET_FANOUT_DATA                   = 0x16\n\tPACKET_FANOUT_EBPF                   = 0x7\n\tPACKET_FANOUT_FLAG_DEFRAG            = 0x8000\n\tPACKET_FANOUT_FLAG_ROLLOVER          = 0x1000\n\tPACKET_FANOUT_FLAG_UNIQUEID          = 0x2000\n\tPACKET_FANOUT_HASH                   = 0x0\n\tPACKET_FANOUT_LB                     = 0x1\n\tPACKET_FANOUT_QM                     = 0x5\n\tPACKET_FANOUT_RND                    = 0x4\n\tPACKET_FANOUT_ROLLOVER               = 0x3\n\tPACKET_FASTROUTE                     = 0x6\n\tPACKET_HDRLEN                        = 0xb\n\tPACKET_HOST                          = 0x0\n\tPACKET_KERNEL                        = 0x7\n\tPACKET_LOOPBACK                      = 0x5\n\tPACKET_LOSS                          = 0xe\n\tPACKET_MR_ALLMULTI                   = 0x2\n\tPACKET_MR_MULTICAST                  = 0x0\n\tPACKET_MR_PROMISC                    = 0x1\n\tPACKET_MR_UNICAST                    = 0x3\n\tPACKET_MULTICAST                     = 0x2\n\tPACKET_ORIGDEV                       = 0x9\n\tPACKET_OTHERHOST                     = 0x3\n\tPACKET_OUTGOING                      = 0x4\n\tPACKET_QDISC_BYPASS                  = 0x14\n\tPACKET_RECV_OUTPUT                   = 0x3\n\tPACKET_RESERVE                       = 0xc\n\tPACKET_ROLLOVER_STATS                = 0x15\n\tPACKET_RX_RING                       = 0x5\n\tPACKET_STATISTICS                    = 0x6\n\tPACKET_TIMESTAMP                     = 0x11\n\tPACKET_TX_HAS_OFF                    = 0x13\n\tPACKET_TX_RING                       = 0xd\n\tPACKET_TX_TIMESTAMP                  = 0x10\n\tPACKET_USER                          = 0x6\n\tPACKET_VERSION                       = 0xa\n\tPACKET_VNET_HDR                      = 0xf\n\tPARENB                               = 0x100\n\tPARITY_CRC16_PR0                     = 0x2\n\tPARITY_CRC16_PR0_CCITT               = 0x4\n\tPARITY_CRC16_PR1                     = 0x3\n\tPARITY_CRC16_PR1_CCITT               = 0x5\n\tPARITY_CRC32_PR0_CCITT               = 0x6\n\tPARITY_CRC32_PR1_CCITT               = 0x7\n\tPARITY_DEFAULT                       = 0x0\n\tPARITY_NONE                          = 0x1\n\tPARMRK                               = 0x8\n\tPARODD                               = 0x200\n\tPENDIN                               = 0x4000\n\tPERF_EVENT_IOC_DISABLE               = 0x20002401\n\tPERF_EVENT_IOC_ENABLE                = 0x20002400\n\tPERF_EVENT_IOC_ID                    = 0x40042407\n\tPERF_EVENT_IOC_MODIFY_ATTRIBUTES     = 0x8004240b\n\tPERF_EVENT_IOC_PAUSE_OUTPUT          = 0x80042409\n\tPERF_EVENT_IOC_PERIOD                = 0x80082404\n\tPERF_EVENT_IOC_QUERY_BPF             = 0xc004240a\n\tPERF_EVENT_IOC_REFRESH               = 0x20002402\n\tPERF_EVENT_IOC_RESET                 = 0x20002403\n\tPERF_EVENT_IOC_SET_BPF               = 0x80042408\n\tPERF_EVENT_IOC_SET_FILTER            = 0x80042406\n\tPERF_EVENT_IOC_SET_OUTPUT            = 0x20002405\n\tPIPEFS_MAGIC                         = 0x50495045\n\tPRIO_PGRP                            = 0x1\n\tPRIO_PROCESS                         = 0x0\n\tPRIO_USER                            = 0x2\n\tPROC_SUPER_MAGIC                     = 0x9fa0\n\tPROT_EXEC                            = 0x4\n\tPROT_GROWSDOWN                       = 0x1000000\n\tPROT_GROWSUP                         = 0x2000000\n\tPROT_NONE                            = 0x0\n\tPROT_READ                            = 0x1\n\tPROT_WRITE                           = 0x2\n\tPR_CAPBSET_DROP                      = 0x18\n\tPR_CAPBSET_READ                      = 0x17\n\tPR_CAP_AMBIENT                       = 0x2f\n\tPR_CAP_AMBIENT_CLEAR_ALL             = 0x4\n\tPR_CAP_AMBIENT_IS_SET                = 0x1\n\tPR_CAP_AMBIENT_LOWER                 = 0x3\n\tPR_CAP_AMBIENT_RAISE                 = 0x2\n\tPR_ENDIAN_BIG                        = 0x0\n\tPR_ENDIAN_LITTLE                     = 0x1\n\tPR_ENDIAN_PPC_LITTLE                 = 0x2\n\tPR_FPEMU_NOPRINT                     = 0x1\n\tPR_FPEMU_SIGFPE                      = 0x2\n\tPR_FP_EXC_ASYNC                      = 0x2\n\tPR_FP_EXC_DISABLED                   = 0x0\n\tPR_FP_EXC_DIV                        = 0x10000\n\tPR_FP_EXC_INV                        = 0x100000\n\tPR_FP_EXC_NONRECOV                   = 0x1\n\tPR_FP_EXC_OVF                        = 0x20000\n\tPR_FP_EXC_PRECISE                    = 0x3\n\tPR_FP_EXC_RES                        = 0x80000\n\tPR_FP_EXC_SW_ENABLE                  = 0x80\n\tPR_FP_EXC_UND                        = 0x40000\n\tPR_FP_MODE_FR                        = 0x1\n\tPR_FP_MODE_FRE                       = 0x2\n\tPR_GET_CHILD_SUBREAPER               = 0x25\n\tPR_GET_DUMPABLE                      = 0x3\n\tPR_GET_ENDIAN                        = 0x13\n\tPR_GET_FPEMU                         = 0x9\n\tPR_GET_FPEXC                         = 0xb\n\tPR_GET_FP_MODE                       = 0x2e\n\tPR_GET_KEEPCAPS                      = 0x7\n\tPR_GET_NAME                          = 0x10\n\tPR_GET_NO_NEW_PRIVS                  = 0x27\n\tPR_GET_PDEATHSIG                     = 0x2\n\tPR_GET_SECCOMP                       = 0x15\n\tPR_GET_SECUREBITS                    = 0x1b\n\tPR_GET_SPECULATION_CTRL              = 0x34\n\tPR_GET_THP_DISABLE                   = 0x2a\n\tPR_GET_TID_ADDRESS                   = 0x28\n\tPR_GET_TIMERSLACK                    = 0x1e\n\tPR_GET_TIMING                        = 0xd\n\tPR_GET_TSC                           = 0x19\n\tPR_GET_UNALIGN                       = 0x5\n\tPR_MCE_KILL                          = 0x21\n\tPR_MCE_KILL_CLEAR                    = 0x0\n\tPR_MCE_KILL_DEFAULT                  = 0x2\n\tPR_MCE_KILL_EARLY                    = 0x1\n\tPR_MCE_KILL_GET                      = 0x22\n\tPR_MCE_KILL_LATE                     = 0x0\n\tPR_MCE_KILL_SET                      = 0x1\n\tPR_MPX_DISABLE_MANAGEMENT            = 0x2c\n\tPR_MPX_ENABLE_MANAGEMENT             = 0x2b\n\tPR_SET_CHILD_SUBREAPER               = 0x24\n\tPR_SET_DUMPABLE                      = 0x4\n\tPR_SET_ENDIAN                        = 0x14\n\tPR_SET_FPEMU                         = 0xa\n\tPR_SET_FPEXC                         = 0xc\n\tPR_SET_FP_MODE                       = 0x2d\n\tPR_SET_KEEPCAPS                      = 0x8\n\tPR_SET_MM                            = 0x23\n\tPR_SET_MM_ARG_END                    = 0x9\n\tPR_SET_MM_ARG_START                  = 0x8\n\tPR_SET_MM_AUXV                       = 0xc\n\tPR_SET_MM_BRK                        = 0x7\n\tPR_SET_MM_END_CODE                   = 0x2\n\tPR_SET_MM_END_DATA                   = 0x4\n\tPR_SET_MM_ENV_END                    = 0xb\n\tPR_SET_MM_ENV_START                  = 0xa\n\tPR_SET_MM_EXE_FILE                   = 0xd\n\tPR_SET_MM_MAP                        = 0xe\n\tPR_SET_MM_MAP_SIZE                   = 0xf\n\tPR_SET_MM_START_BRK                  = 0x6\n\tPR_SET_MM_START_CODE                 = 0x1\n\tPR_SET_MM_START_DATA                 = 0x3\n\tPR_SET_MM_START_STACK                = 0x5\n\tPR_SET_NAME                          = 0xf\n\tPR_SET_NO_NEW_PRIVS                  = 0x26\n\tPR_SET_PDEATHSIG                     = 0x1\n\tPR_SET_PTRACER                       = 0x59616d61\n\tPR_SET_PTRACER_ANY                   = 0xffffffff\n\tPR_SET_SECCOMP                       = 0x16\n\tPR_SET_SECUREBITS                    = 0x1c\n\tPR_SET_SPECULATION_CTRL              = 0x35\n\tPR_SET_THP_DISABLE                   = 0x29\n\tPR_SET_TIMERSLACK                    = 0x1d\n\tPR_SET_TIMING                        = 0xe\n\tPR_SET_TSC                           = 0x1a\n\tPR_SET_UNALIGN                       = 0x6\n\tPR_SPEC_DISABLE                      = 0x4\n\tPR_SPEC_ENABLE                       = 0x2\n\tPR_SPEC_FORCE_DISABLE                = 0x8\n\tPR_SPEC_NOT_AFFECTED                 = 0x0\n\tPR_SPEC_PRCTL                        = 0x1\n\tPR_SPEC_STORE_BYPASS                 = 0x0\n\tPR_SVE_GET_VL                        = 0x33\n\tPR_SVE_SET_VL                        = 0x32\n\tPR_SVE_SET_VL_ONEXEC                 = 0x40000\n\tPR_SVE_VL_INHERIT                    = 0x20000\n\tPR_SVE_VL_LEN_MASK                   = 0xffff\n\tPR_TASK_PERF_EVENTS_DISABLE          = 0x1f\n\tPR_TASK_PERF_EVENTS_ENABLE           = 0x20\n\tPR_TIMING_STATISTICAL                = 0x0\n\tPR_TIMING_TIMESTAMP                  = 0x1\n\tPR_TSC_ENABLE                        = 0x1\n\tPR_TSC_SIGSEGV                       = 0x2\n\tPR_UNALIGN_NOPRINT                   = 0x1\n\tPR_UNALIGN_SIGBUS                    = 0x2\n\tPSTOREFS_MAGIC                       = 0x6165676c\n\tPTRACE_ATTACH                        = 0x10\n\tPTRACE_CONT                          = 0x7\n\tPTRACE_DETACH                        = 0x11\n\tPTRACE_EVENT_CLONE                   = 0x3\n\tPTRACE_EVENT_EXEC                    = 0x4\n\tPTRACE_EVENT_EXIT                    = 0x6\n\tPTRACE_EVENT_FORK                    = 0x1\n\tPTRACE_EVENT_SECCOMP                 = 0x7\n\tPTRACE_EVENT_STOP                    = 0x80\n\tPTRACE_EVENT_VFORK                   = 0x2\n\tPTRACE_EVENT_VFORK_DONE              = 0x5\n\tPTRACE_GETEVENTMSG                   = 0x4201\n\tPTRACE_GETFPREGS                     = 0xe\n\tPTRACE_GETREGS                       = 0xc\n\tPTRACE_GETREGSET                     = 0x4204\n\tPTRACE_GETSIGINFO                    = 0x4202\n\tPTRACE_GETSIGMASK                    = 0x420a\n\tPTRACE_GET_THREAD_AREA               = 0x19\n\tPTRACE_GET_THREAD_AREA_3264          = 0xc4\n\tPTRACE_GET_WATCH_REGS                = 0xd0\n\tPTRACE_INTERRUPT                     = 0x4207\n\tPTRACE_KILL                          = 0x8\n\tPTRACE_LISTEN                        = 0x4208\n\tPTRACE_OLDSETOPTIONS                 = 0x15\n\tPTRACE_O_EXITKILL                    = 0x100000\n\tPTRACE_O_MASK                        = 0x3000ff\n\tPTRACE_O_SUSPEND_SECCOMP             = 0x200000\n\tPTRACE_O_TRACECLONE                  = 0x8\n\tPTRACE_O_TRACEEXEC                   = 0x10\n\tPTRACE_O_TRACEEXIT                   = 0x40\n\tPTRACE_O_TRACEFORK                   = 0x2\n\tPTRACE_O_TRACESECCOMP                = 0x80\n\tPTRACE_O_TRACESYSGOOD                = 0x1\n\tPTRACE_O_TRACEVFORK                  = 0x4\n\tPTRACE_O_TRACEVFORKDONE              = 0x20\n\tPTRACE_PEEKDATA                      = 0x2\n\tPTRACE_PEEKDATA_3264                 = 0xc1\n\tPTRACE_PEEKSIGINFO                   = 0x4209\n\tPTRACE_PEEKSIGINFO_SHARED            = 0x1\n\tPTRACE_PEEKTEXT                      = 0x1\n\tPTRACE_PEEKTEXT_3264                 = 0xc0\n\tPTRACE_PEEKUSR                       = 0x3\n\tPTRACE_POKEDATA                      = 0x5\n\tPTRACE_POKEDATA_3264                 = 0xc3\n\tPTRACE_POKETEXT                      = 0x4\n\tPTRACE_POKETEXT_3264                 = 0xc2\n\tPTRACE_POKEUSR                       = 0x6\n\tPTRACE_SECCOMP_GET_FILTER            = 0x420c\n\tPTRACE_SECCOMP_GET_METADATA          = 0x420d\n\tPTRACE_SEIZE                         = 0x4206\n\tPTRACE_SETFPREGS                     = 0xf\n\tPTRACE_SETOPTIONS                    = 0x4200\n\tPTRACE_SETREGS                       = 0xd\n\tPTRACE_SETREGSET                     = 0x4205\n\tPTRACE_SETSIGINFO                    = 0x4203\n\tPTRACE_SETSIGMASK                    = 0x420b\n\tPTRACE_SET_THREAD_AREA               = 0x1a\n\tPTRACE_SET_WATCH_REGS                = 0xd1\n\tPTRACE_SINGLESTEP                    = 0x9\n\tPTRACE_SYSCALL                       = 0x18\n\tPTRACE_TRACEME                       = 0x0\n\tQNX4_SUPER_MAGIC                     = 0x2f\n\tQNX6_SUPER_MAGIC                     = 0x68191122\n\tRAMFS_MAGIC                          = 0x858458f6\n\tRDTGROUP_SUPER_MAGIC                 = 0x7655821\n\tREISERFS_SUPER_MAGIC                 = 0x52654973\n\tRENAME_EXCHANGE                      = 0x2\n\tRENAME_NOREPLACE                     = 0x1\n\tRENAME_WHITEOUT                      = 0x4\n\tRLIMIT_AS                            = 0x6\n\tRLIMIT_CORE                          = 0x4\n\tRLIMIT_CPU                           = 0x0\n\tRLIMIT_DATA                          = 0x2\n\tRLIMIT_FSIZE                         = 0x1\n\tRLIMIT_LOCKS                         = 0xa\n\tRLIMIT_MEMLOCK                       = 0x9\n\tRLIMIT_MSGQUEUE                      = 0xc\n\tRLIMIT_NICE                          = 0xd\n\tRLIMIT_NOFILE                        = 0x5\n\tRLIMIT_NPROC                         = 0x8\n\tRLIMIT_RSS                           = 0x7\n\tRLIMIT_RTPRIO                        = 0xe\n\tRLIMIT_RTTIME                        = 0xf\n\tRLIMIT_SIGPENDING                    = 0xb\n\tRLIMIT_STACK                         = 0x3\n\tRLIM_INFINITY                        = 0xffffffffffffffff\n\tRTAX_ADVMSS                          = 0x8\n\tRTAX_CC_ALGO                         = 0x10\n\tRTAX_CWND                            = 0x7\n\tRTAX_FASTOPEN_NO_COOKIE              = 0x11\n\tRTAX_FEATURES                        = 0xc\n\tRTAX_FEATURE_ALLFRAG                 = 0x8\n\tRTAX_FEATURE_ECN                     = 0x1\n\tRTAX_FEATURE_MASK                    = 0xf\n\tRTAX_FEATURE_SACK                    = 0x2\n\tRTAX_FEATURE_TIMESTAMP               = 0x4\n\tRTAX_HOPLIMIT                        = 0xa\n\tRTAX_INITCWND                        = 0xb\n\tRTAX_INITRWND                        = 0xe\n\tRTAX_LOCK                            = 0x1\n\tRTAX_MAX                             = 0x11\n\tRTAX_MTU                             = 0x2\n\tRTAX_QUICKACK                        = 0xf\n\tRTAX_REORDERING                      = 0x9\n\tRTAX_RTO_MIN                         = 0xd\n\tRTAX_RTT                             = 0x4\n\tRTAX_RTTVAR                          = 0x5\n\tRTAX_SSTHRESH                        = 0x6\n\tRTAX_UNSPEC                          = 0x0\n\tRTAX_WINDOW                          = 0x3\n\tRTA_ALIGNTO                          = 0x4\n\tRTA_MAX                              = 0x1d\n\tRTCF_DIRECTSRC                       = 0x4000000\n\tRTCF_DOREDIRECT                      = 0x1000000\n\tRTCF_LOG                             = 0x2000000\n\tRTCF_MASQ                            = 0x400000\n\tRTCF_NAT                             = 0x800000\n\tRTCF_VALVE                           = 0x200000\n\tRTC_AF                               = 0x20\n\tRTC_AIE_OFF                          = 0x20007002\n\tRTC_AIE_ON                           = 0x20007001\n\tRTC_ALM_READ                         = 0x40247008\n\tRTC_ALM_SET                          = 0x80247007\n\tRTC_EPOCH_READ                       = 0x4004700d\n\tRTC_EPOCH_SET                        = 0x8004700e\n\tRTC_IRQF                             = 0x80\n\tRTC_IRQP_READ                        = 0x4004700b\n\tRTC_IRQP_SET                         = 0x8004700c\n\tRTC_MAX_FREQ                         = 0x2000\n\tRTC_PF                               = 0x40\n\tRTC_PIE_OFF                          = 0x20007006\n\tRTC_PIE_ON                           = 0x20007005\n\tRTC_PLL_GET                          = 0x401c7011\n\tRTC_PLL_SET                          = 0x801c7012\n\tRTC_RD_TIME                          = 0x40247009\n\tRTC_SET_TIME                         = 0x8024700a\n\tRTC_UF                               = 0x10\n\tRTC_UIE_OFF                          = 0x20007004\n\tRTC_UIE_ON                           = 0x20007003\n\tRTC_VL_CLR                           = 0x20007014\n\tRTC_VL_READ                          = 0x40047013\n\tRTC_WIE_OFF                          = 0x20007010\n\tRTC_WIE_ON                           = 0x2000700f\n\tRTC_WKALM_RD                         = 0x40287010\n\tRTC_WKALM_SET                        = 0x8028700f\n\tRTF_ADDRCLASSMASK                    = 0xf8000000\n\tRTF_ADDRCONF                         = 0x40000\n\tRTF_ALLONLINK                        = 0x20000\n\tRTF_BROADCAST                        = 0x10000000\n\tRTF_CACHE                            = 0x1000000\n\tRTF_DEFAULT                          = 0x10000\n\tRTF_DYNAMIC                          = 0x10\n\tRTF_FLOW                             = 0x2000000\n\tRTF_GATEWAY                          = 0x2\n\tRTF_HOST                             = 0x4\n\tRTF_INTERFACE                        = 0x40000000\n\tRTF_IRTT                             = 0x100\n\tRTF_LINKRT                           = 0x100000\n\tRTF_LOCAL                            = 0x80000000\n\tRTF_MODIFIED                         = 0x20\n\tRTF_MSS                              = 0x40\n\tRTF_MTU                              = 0x40\n\tRTF_MULTICAST                        = 0x20000000\n\tRTF_NAT                              = 0x8000000\n\tRTF_NOFORWARD                        = 0x1000\n\tRTF_NONEXTHOP                        = 0x200000\n\tRTF_NOPMTUDISC                       = 0x4000\n\tRTF_POLICY                           = 0x4000000\n\tRTF_REINSTATE                        = 0x8\n\tRTF_REJECT                           = 0x200\n\tRTF_STATIC                           = 0x400\n\tRTF_THROW                            = 0x2000\n\tRTF_UP                               = 0x1\n\tRTF_WINDOW                           = 0x80\n\tRTF_XRESOLVE                         = 0x800\n\tRTM_BASE                             = 0x10\n\tRTM_DELACTION                        = 0x31\n\tRTM_DELADDR                          = 0x15\n\tRTM_DELADDRLABEL                     = 0x49\n\tRTM_DELLINK                          = 0x11\n\tRTM_DELMDB                           = 0x55\n\tRTM_DELNEIGH                         = 0x1d\n\tRTM_DELNETCONF                       = 0x51\n\tRTM_DELNSID                          = 0x59\n\tRTM_DELQDISC                         = 0x25\n\tRTM_DELROUTE                         = 0x19\n\tRTM_DELRULE                          = 0x21\n\tRTM_DELTCLASS                        = 0x29\n\tRTM_DELTFILTER                       = 0x2d\n\tRTM_F_CLONED                         = 0x200\n\tRTM_F_EQUALIZE                       = 0x400\n\tRTM_F_FIB_MATCH                      = 0x2000\n\tRTM_F_LOOKUP_TABLE                   = 0x1000\n\tRTM_F_NOTIFY                         = 0x100\n\tRTM_F_PREFIX                         = 0x800\n\tRTM_GETACTION                        = 0x32\n\tRTM_GETADDR                          = 0x16\n\tRTM_GETADDRLABEL                     = 0x4a\n\tRTM_GETANYCAST                       = 0x3e\n\tRTM_GETDCB                           = 0x4e\n\tRTM_GETLINK                          = 0x12\n\tRTM_GETMDB                           = 0x56\n\tRTM_GETMULTICAST                     = 0x3a\n\tRTM_GETNEIGH                         = 0x1e\n\tRTM_GETNEIGHTBL                      = 0x42\n\tRTM_GETNETCONF                       = 0x52\n\tRTM_GETNSID                          = 0x5a\n\tRTM_GETQDISC                         = 0x26\n\tRTM_GETROUTE                         = 0x1a\n\tRTM_GETRULE                          = 0x22\n\tRTM_GETSTATS                         = 0x5e\n\tRTM_GETTCLASS                        = 0x2a\n\tRTM_GETTFILTER                       = 0x2e\n\tRTM_MAX                              = 0x63\n\tRTM_NEWACTION                        = 0x30\n\tRTM_NEWADDR                          = 0x14\n\tRTM_NEWADDRLABEL                     = 0x48\n\tRTM_NEWCACHEREPORT                   = 0x60\n\tRTM_NEWLINK                          = 0x10\n\tRTM_NEWMDB                           = 0x54\n\tRTM_NEWNDUSEROPT                     = 0x44\n\tRTM_NEWNEIGH                         = 0x1c\n\tRTM_NEWNEIGHTBL                      = 0x40\n\tRTM_NEWNETCONF                       = 0x50\n\tRTM_NEWNSID                          = 0x58\n\tRTM_NEWPREFIX                        = 0x34\n\tRTM_NEWQDISC                         = 0x24\n\tRTM_NEWROUTE                         = 0x18\n\tRTM_NEWRULE                          = 0x20\n\tRTM_NEWSTATS                         = 0x5c\n\tRTM_NEWTCLASS                        = 0x28\n\tRTM_NEWTFILTER                       = 0x2c\n\tRTM_NR_FAMILIES                      = 0x15\n\tRTM_NR_MSGTYPES                      = 0x54\n\tRTM_SETDCB                           = 0x4f\n\tRTM_SETLINK                          = 0x13\n\tRTM_SETNEIGHTBL                      = 0x43\n\tRTNH_ALIGNTO                         = 0x4\n\tRTNH_COMPARE_MASK                    = 0x19\n\tRTNH_F_DEAD                          = 0x1\n\tRTNH_F_LINKDOWN                      = 0x10\n\tRTNH_F_OFFLOAD                       = 0x8\n\tRTNH_F_ONLINK                        = 0x4\n\tRTNH_F_PERVASIVE                     = 0x2\n\tRTNH_F_UNRESOLVED                    = 0x20\n\tRTN_MAX                              = 0xb\n\tRTPROT_BABEL                         = 0x2a\n\tRTPROT_BGP                           = 0xba\n\tRTPROT_BIRD                          = 0xc\n\tRTPROT_BOOT                          = 0x3\n\tRTPROT_DHCP                          = 0x10\n\tRTPROT_DNROUTED                      = 0xd\n\tRTPROT_EIGRP                         = 0xc0\n\tRTPROT_GATED                         = 0x8\n\tRTPROT_ISIS                          = 0xbb\n\tRTPROT_KERNEL                        = 0x2\n\tRTPROT_MROUTED                       = 0x11\n\tRTPROT_MRT                           = 0xa\n\tRTPROT_NTK                           = 0xf\n\tRTPROT_OSPF                          = 0xbc\n\tRTPROT_RA                            = 0x9\n\tRTPROT_REDIRECT                      = 0x1\n\tRTPROT_RIP                           = 0xbd\n\tRTPROT_STATIC                        = 0x4\n\tRTPROT_UNSPEC                        = 0x0\n\tRTPROT_XORP                          = 0xe\n\tRTPROT_ZEBRA                         = 0xb\n\tRT_CLASS_DEFAULT                     = 0xfd\n\tRT_CLASS_LOCAL                       = 0xff\n\tRT_CLASS_MAIN                        = 0xfe\n\tRT_CLASS_MAX                         = 0xff\n\tRT_CLASS_UNSPEC                      = 0x0\n\tRUSAGE_CHILDREN                      = -0x1\n\tRUSAGE_SELF                          = 0x0\n\tRUSAGE_THREAD                        = 0x1\n\tSCM_CREDENTIALS                      = 0x2\n\tSCM_RIGHTS                           = 0x1\n\tSCM_TIMESTAMP                        = 0x1d\n\tSCM_TIMESTAMPING                     = 0x25\n\tSCM_TIMESTAMPING_OPT_STATS           = 0x36\n\tSCM_TIMESTAMPING_PKTINFO             = 0x3a\n\tSCM_TIMESTAMPNS                      = 0x23\n\tSCM_WIFI_STATUS                      = 0x29\n\tSECCOMP_MODE_DISABLED                = 0x0\n\tSECCOMP_MODE_FILTER                  = 0x2\n\tSECCOMP_MODE_STRICT                  = 0x1\n\tSECURITYFS_MAGIC                     = 0x73636673\n\tSELINUX_MAGIC                        = 0xf97cff8c\n\tSHUT_RD                              = 0x0\n\tSHUT_RDWR                            = 0x2\n\tSHUT_WR                              = 0x1\n\tSIOCADDDLCI                          = 0x8980\n\tSIOCADDMULTI                         = 0x8931\n\tSIOCADDRT                            = 0x890b\n\tSIOCATMARK                           = 0x40047307\n\tSIOCBONDCHANGEACTIVE                 = 0x8995\n\tSIOCBONDENSLAVE                      = 0x8990\n\tSIOCBONDINFOQUERY                    = 0x8994\n\tSIOCBONDRELEASE                      = 0x8991\n\tSIOCBONDSETHWADDR                    = 0x8992\n\tSIOCBONDSLAVEINFOQUERY               = 0x8993\n\tSIOCBRADDBR                          = 0x89a0\n\tSIOCBRADDIF                          = 0x89a2\n\tSIOCBRDELBR                          = 0x89a1\n\tSIOCBRDELIF                          = 0x89a3\n\tSIOCDARP                             = 0x8953\n\tSIOCDELDLCI                          = 0x8981\n\tSIOCDELMULTI                         = 0x8932\n\tSIOCDELRT                            = 0x890c\n\tSIOCDEVPRIVATE                       = 0x89f0\n\tSIOCDIFADDR                          = 0x8936\n\tSIOCDRARP                            = 0x8960\n\tSIOCETHTOOL                          = 0x8946\n\tSIOCGARP                             = 0x8954\n\tSIOCGHWTSTAMP                        = 0x89b1\n\tSIOCGIFADDR                          = 0x8915\n\tSIOCGIFBR                            = 0x8940\n\tSIOCGIFBRDADDR                       = 0x8919\n\tSIOCGIFCONF                          = 0x8912\n\tSIOCGIFCOUNT                         = 0x8938\n\tSIOCGIFDSTADDR                       = 0x8917\n\tSIOCGIFENCAP                         = 0x8925\n\tSIOCGIFFLAGS                         = 0x8913\n\tSIOCGIFHWADDR                        = 0x8927\n\tSIOCGIFINDEX                         = 0x8933\n\tSIOCGIFMAP                           = 0x8970\n\tSIOCGIFMEM                           = 0x891f\n\tSIOCGIFMETRIC                        = 0x891d\n\tSIOCGIFMTU                           = 0x8921\n\tSIOCGIFNAME                          = 0x8910\n\tSIOCGIFNETMASK                       = 0x891b\n\tSIOCGIFPFLAGS                        = 0x8935\n\tSIOCGIFSLAVE                         = 0x8929\n\tSIOCGIFTXQLEN                        = 0x8942\n\tSIOCGIFVLAN                          = 0x8982\n\tSIOCGMIIPHY                          = 0x8947\n\tSIOCGMIIREG                          = 0x8948\n\tSIOCGPGRP                            = 0x40047309\n\tSIOCGRARP                            = 0x8961\n\tSIOCGSKNS                            = 0x894c\n\tSIOCGSTAMP                           = 0x8906\n\tSIOCGSTAMPNS                         = 0x8907\n\tSIOCINQ                              = 0x467f\n\tSIOCOUTQ                             = 0x7472\n\tSIOCOUTQNSD                          = 0x894b\n\tSIOCPROTOPRIVATE                     = 0x89e0\n\tSIOCRTMSG                            = 0x890d\n\tSIOCSARP                             = 0x8955\n\tSIOCSHWTSTAMP                        = 0x89b0\n\tSIOCSIFADDR                          = 0x8916\n\tSIOCSIFBR                            = 0x8941\n\tSIOCSIFBRDADDR                       = 0x891a\n\tSIOCSIFDSTADDR                       = 0x8918\n\tSIOCSIFENCAP                         = 0x8926\n\tSIOCSIFFLAGS                         = 0x8914\n\tSIOCSIFHWADDR                        = 0x8924\n\tSIOCSIFHWBROADCAST                   = 0x8937\n\tSIOCSIFLINK                          = 0x8911\n\tSIOCSIFMAP                           = 0x8971\n\tSIOCSIFMEM                           = 0x8920\n\tSIOCSIFMETRIC                        = 0x891e\n\tSIOCSIFMTU                           = 0x8922\n\tSIOCSIFNAME                          = 0x8923\n\tSIOCSIFNETMASK                       = 0x891c\n\tSIOCSIFPFLAGS                        = 0x8934\n\tSIOCSIFSLAVE                         = 0x8930\n\tSIOCSIFTXQLEN                        = 0x8943\n\tSIOCSIFVLAN                          = 0x8983\n\tSIOCSMIIREG                          = 0x8949\n\tSIOCSPGRP                            = 0x80047308\n\tSIOCSRARP                            = 0x8962\n\tSIOCWANDEV                           = 0x894a\n\tSMACK_MAGIC                          = 0x43415d53\n\tSMART_AUTOSAVE                       = 0xd2\n\tSMART_AUTO_OFFLINE                   = 0xdb\n\tSMART_DISABLE                        = 0xd9\n\tSMART_ENABLE                         = 0xd8\n\tSMART_HCYL_PASS                      = 0xc2\n\tSMART_IMMEDIATE_OFFLINE              = 0xd4\n\tSMART_LCYL_PASS                      = 0x4f\n\tSMART_READ_LOG_SECTOR                = 0xd5\n\tSMART_READ_THRESHOLDS                = 0xd1\n\tSMART_READ_VALUES                    = 0xd0\n\tSMART_SAVE                           = 0xd3\n\tSMART_STATUS                         = 0xda\n\tSMART_WRITE_LOG_SECTOR               = 0xd6\n\tSMART_WRITE_THRESHOLDS               = 0xd7\n\tSMB_SUPER_MAGIC                      = 0x517b\n\tSOCKFS_MAGIC                         = 0x534f434b\n\tSOCK_CLOEXEC                         = 0x80000\n\tSOCK_DCCP                            = 0x6\n\tSOCK_DGRAM                           = 0x1\n\tSOCK_IOC_TYPE                        = 0x89\n\tSOCK_NONBLOCK                        = 0x80\n\tSOCK_PACKET                          = 0xa\n\tSOCK_RAW                             = 0x3\n\tSOCK_RDM                             = 0x4\n\tSOCK_SEQPACKET                       = 0x5\n\tSOCK_STREAM                          = 0x2\n\tSOL_AAL                              = 0x109\n\tSOL_ALG                              = 0x117\n\tSOL_ATM                              = 0x108\n\tSOL_CAIF                             = 0x116\n\tSOL_CAN_BASE                         = 0x64\n\tSOL_DCCP                             = 0x10d\n\tSOL_DECNET                           = 0x105\n\tSOL_ICMPV6                           = 0x3a\n\tSOL_IP                               = 0x0\n\tSOL_IPV6                             = 0x29\n\tSOL_IRDA                             = 0x10a\n\tSOL_IUCV                             = 0x115\n\tSOL_KCM                              = 0x119\n\tSOL_LLC                              = 0x10c\n\tSOL_NETBEUI                          = 0x10b\n\tSOL_NETLINK                          = 0x10e\n\tSOL_NFC                              = 0x118\n\tSOL_PACKET                           = 0x107\n\tSOL_PNPIPE                           = 0x113\n\tSOL_PPPOL2TP                         = 0x111\n\tSOL_RAW                              = 0xff\n\tSOL_RDS                              = 0x114\n\tSOL_RXRPC                            = 0x110\n\tSOL_SOCKET                           = 0xffff\n\tSOL_TCP                              = 0x6\n\tSOL_TIPC                             = 0x10f\n\tSOL_TLS                              = 0x11a\n\tSOL_X25                              = 0x106\n\tSOMAXCONN                            = 0x80\n\tSO_ACCEPTCONN                        = 0x1009\n\tSO_ATTACH_BPF                        = 0x32\n\tSO_ATTACH_FILTER                     = 0x1a\n\tSO_ATTACH_REUSEPORT_CBPF             = 0x33\n\tSO_ATTACH_REUSEPORT_EBPF             = 0x34\n\tSO_BINDTODEVICE                      = 0x19\n\tSO_BPF_EXTENSIONS                    = 0x30\n\tSO_BROADCAST                         = 0x20\n\tSO_BSDCOMPAT                         = 0xe\n\tSO_BUSY_POLL                         = 0x2e\n\tSO_CNX_ADVICE                        = 0x35\n\tSO_COOKIE                            = 0x39\n\tSO_DEBUG                             = 0x1\n\tSO_DETACH_BPF                        = 0x1b\n\tSO_DETACH_FILTER                     = 0x1b\n\tSO_DOMAIN                            = 0x1029\n\tSO_DONTROUTE                         = 0x10\n\tSO_ERROR                             = 0x1007\n\tSO_GET_FILTER                        = 0x1a\n\tSO_INCOMING_CPU                      = 0x31\n\tSO_INCOMING_NAPI_ID                  = 0x38\n\tSO_KEEPALIVE                         = 0x8\n\tSO_LINGER                            = 0x80\n\tSO_LOCK_FILTER                       = 0x2c\n\tSO_MARK                              = 0x24\n\tSO_MAX_PACING_RATE                   = 0x2f\n\tSO_MEMINFO                           = 0x37\n\tSO_NOFCS                             = 0x2b\n\tSO_NO_CHECK                          = 0xb\n\tSO_OOBINLINE                         = 0x100\n\tSO_PASSCRED                          = 0x11\n\tSO_PASSSEC                           = 0x22\n\tSO_PEEK_OFF                          = 0x2a\n\tSO_PEERCRED                          = 0x12\n\tSO_PEERGROUPS                        = 0x3b\n\tSO_PEERNAME                          = 0x1c\n\tSO_PEERSEC                           = 0x1e\n\tSO_PRIORITY                          = 0xc\n\tSO_PROTOCOL                          = 0x1028\n\tSO_RCVBUF                            = 0x1002\n\tSO_RCVBUFFORCE                       = 0x21\n\tSO_RCVLOWAT                          = 0x1004\n\tSO_RCVTIMEO                          = 0x1006\n\tSO_REUSEADDR                         = 0x4\n\tSO_REUSEPORT                         = 0x200\n\tSO_RXQ_OVFL                          = 0x28\n\tSO_SECURITY_AUTHENTICATION           = 0x16\n\tSO_SECURITY_ENCRYPTION_NETWORK       = 0x18\n\tSO_SECURITY_ENCRYPTION_TRANSPORT     = 0x17\n\tSO_SELECT_ERR_QUEUE                  = 0x2d\n\tSO_SNDBUF                            = 0x1001\n\tSO_SNDBUFFORCE                       = 0x1f\n\tSO_SNDLOWAT                          = 0x1003\n\tSO_SNDTIMEO                          = 0x1005\n\tSO_STYLE                             = 0x1008\n\tSO_TIMESTAMP                         = 0x1d\n\tSO_TIMESTAMPING                      = 0x25\n\tSO_TIMESTAMPNS                       = 0x23\n\tSO_TYPE                              = 0x1008\n\tSO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2\n\tSO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1\n\tSO_VM_SOCKETS_BUFFER_SIZE            = 0x0\n\tSO_VM_SOCKETS_CONNECT_TIMEOUT        = 0x6\n\tSO_VM_SOCKETS_NONBLOCK_TXRX          = 0x7\n\tSO_VM_SOCKETS_PEER_HOST_VM_ID        = 0x3\n\tSO_VM_SOCKETS_TRUSTED                = 0x5\n\tSO_WIFI_STATUS                       = 0x29\n\tSO_ZEROCOPY                          = 0x3c\n\tSPLICE_F_GIFT                        = 0x8\n\tSPLICE_F_MORE                        = 0x4\n\tSPLICE_F_MOVE                        = 0x1\n\tSPLICE_F_NONBLOCK                    = 0x2\n\tSQUASHFS_MAGIC                       = 0x73717368\n\tSTACK_END_MAGIC                      = 0x57ac6e9d\n\tSTATX_ALL                            = 0xfff\n\tSTATX_ATIME                          = 0x20\n\tSTATX_ATTR_APPEND                    = 0x20\n\tSTATX_ATTR_AUTOMOUNT                 = 0x1000\n\tSTATX_ATTR_COMPRESSED                = 0x4\n\tSTATX_ATTR_ENCRYPTED                 = 0x800\n\tSTATX_ATTR_IMMUTABLE                 = 0x10\n\tSTATX_ATTR_NODUMP                    = 0x40\n\tSTATX_BASIC_STATS                    = 0x7ff\n\tSTATX_BLOCKS                         = 0x400\n\tSTATX_BTIME                          = 0x800\n\tSTATX_CTIME                          = 0x80\n\tSTATX_GID                            = 0x10\n\tSTATX_INO                            = 0x100\n\tSTATX_MODE                           = 0x2\n\tSTATX_MTIME                          = 0x40\n\tSTATX_NLINK                          = 0x4\n\tSTATX_SIZE                           = 0x200\n\tSTATX_TYPE                           = 0x1\n\tSTATX_UID                            = 0x8\n\tSTATX__RESERVED                      = 0x80000000\n\tSYSFS_MAGIC                          = 0x62656572\n\tS_BLKSIZE                            = 0x200\n\tS_IEXEC                              = 0x40\n\tS_IFBLK                              = 0x6000\n\tS_IFCHR                              = 0x2000\n\tS_IFDIR                              = 0x4000\n\tS_IFIFO                              = 0x1000\n\tS_IFLNK                              = 0xa000\n\tS_IFMT                               = 0xf000\n\tS_IFREG                              = 0x8000\n\tS_IFSOCK                             = 0xc000\n\tS_IREAD                              = 0x100\n\tS_IRGRP                              = 0x20\n\tS_IROTH                              = 0x4\n\tS_IRUSR                              = 0x100\n\tS_IRWXG                              = 0x38\n\tS_IRWXO                              = 0x7\n\tS_IRWXU                              = 0x1c0\n\tS_ISGID                              = 0x400\n\tS_ISUID                              = 0x800\n\tS_ISVTX                              = 0x200\n\tS_IWGRP                              = 0x10\n\tS_IWOTH                              = 0x2\n\tS_IWRITE                             = 0x80\n\tS_IWUSR                              = 0x80\n\tS_IXGRP                              = 0x8\n\tS_IXOTH                              = 0x1\n\tS_IXUSR                              = 0x40\n\tTAB0                                 = 0x0\n\tTAB1                                 = 0x800\n\tTAB2                                 = 0x1000\n\tTAB3                                 = 0x1800\n\tTABDLY                               = 0x1800\n\tTASKSTATS_CMD_ATTR_MAX               = 0x4\n\tTASKSTATS_CMD_MAX                    = 0x2\n\tTASKSTATS_GENL_NAME                  = \"TASKSTATS\"\n\tTASKSTATS_GENL_VERSION               = 0x1\n\tTASKSTATS_TYPE_MAX                   = 0x6\n\tTASKSTATS_VERSION                    = 0x8\n\tTCFLSH                               = 0x5407\n\tTCGETA                               = 0x5401\n\tTCGETS                               = 0x540d\n\tTCGETS2                              = 0x4030542a\n\tTCIFLUSH                             = 0x0\n\tTCIOFF                               = 0x2\n\tTCIOFLUSH                            = 0x2\n\tTCION                                = 0x3\n\tTCOFLUSH                             = 0x1\n\tTCOOFF                               = 0x0\n\tTCOON                                = 0x1\n\tTCP_CC_INFO                          = 0x1a\n\tTCP_CONGESTION                       = 0xd\n\tTCP_COOKIE_IN_ALWAYS                 = 0x1\n\tTCP_COOKIE_MAX                       = 0x10\n\tTCP_COOKIE_MIN                       = 0x8\n\tTCP_COOKIE_OUT_NEVER                 = 0x2\n\tTCP_COOKIE_PAIR_SIZE                 = 0x20\n\tTCP_COOKIE_TRANSACTIONS              = 0xf\n\tTCP_CORK                             = 0x3\n\tTCP_DEFER_ACCEPT                     = 0x9\n\tTCP_FASTOPEN                         = 0x17\n\tTCP_FASTOPEN_CONNECT                 = 0x1e\n\tTCP_FASTOPEN_KEY                     = 0x21\n\tTCP_FASTOPEN_NO_COOKIE               = 0x22\n\tTCP_INFO                             = 0xb\n\tTCP_KEEPCNT                          = 0x6\n\tTCP_KEEPIDLE                         = 0x4\n\tTCP_KEEPINTVL                        = 0x5\n\tTCP_LINGER2                          = 0x8\n\tTCP_MAXSEG                           = 0x2\n\tTCP_MAXWIN                           = 0xffff\n\tTCP_MAX_WINSHIFT                     = 0xe\n\tTCP_MD5SIG                           = 0xe\n\tTCP_MD5SIG_EXT                       = 0x20\n\tTCP_MD5SIG_FLAG_PREFIX               = 0x1\n\tTCP_MD5SIG_MAXKEYLEN                 = 0x50\n\tTCP_MSS                              = 0x200\n\tTCP_MSS_DEFAULT                      = 0x218\n\tTCP_MSS_DESIRED                      = 0x4c4\n\tTCP_NODELAY                          = 0x1\n\tTCP_NOTSENT_LOWAT                    = 0x19\n\tTCP_QUEUE_SEQ                        = 0x15\n\tTCP_QUICKACK                         = 0xc\n\tTCP_REPAIR                           = 0x13\n\tTCP_REPAIR_OPTIONS                   = 0x16\n\tTCP_REPAIR_QUEUE                     = 0x14\n\tTCP_REPAIR_WINDOW                    = 0x1d\n\tTCP_SAVED_SYN                        = 0x1c\n\tTCP_SAVE_SYN                         = 0x1b\n\tTCP_SYNCNT                           = 0x7\n\tTCP_S_DATA_IN                        = 0x4\n\tTCP_S_DATA_OUT                       = 0x8\n\tTCP_THIN_DUPACK                      = 0x11\n\tTCP_THIN_LINEAR_TIMEOUTS             = 0x10\n\tTCP_TIMESTAMP                        = 0x18\n\tTCP_ULP                              = 0x1f\n\tTCP_USER_TIMEOUT                     = 0x12\n\tTCP_WINDOW_CLAMP                     = 0xa\n\tTCSAFLUSH                            = 0x5410\n\tTCSBRK                               = 0x5405\n\tTCSBRKP                              = 0x5486\n\tTCSETA                               = 0x5402\n\tTCSETAF                              = 0x5404\n\tTCSETAW                              = 0x5403\n\tTCSETS                               = 0x540e\n\tTCSETS2                              = 0x8030542b\n\tTCSETSF                              = 0x5410\n\tTCSETSF2                             = 0x8030542d\n\tTCSETSW                              = 0x540f\n\tTCSETSW2                             = 0x8030542c\n\tTCXONC                               = 0x5406\n\tTIOCCBRK                             = 0x5428\n\tTIOCCONS                             = 0x80047478\n\tTIOCEXCL                             = 0x740d\n\tTIOCGDEV                             = 0x40045432\n\tTIOCGETD                             = 0x7400\n\tTIOCGETP                             = 0x7408\n\tTIOCGEXCL                            = 0x40045440\n\tTIOCGICOUNT                          = 0x5492\n\tTIOCGLCKTRMIOS                       = 0x548b\n\tTIOCGLTC                             = 0x7474\n\tTIOCGPGRP                            = 0x40047477\n\tTIOCGPKT                             = 0x40045438\n\tTIOCGPTLCK                           = 0x40045439\n\tTIOCGPTN                             = 0x40045430\n\tTIOCGPTPEER                          = 0x20005441\n\tTIOCGRS485                           = 0x4020542e\n\tTIOCGSERIAL                          = 0x5484\n\tTIOCGSID                             = 0x7416\n\tTIOCGSOFTCAR                         = 0x5481\n\tTIOCGWINSZ                           = 0x40087468\n\tTIOCINQ                              = 0x467f\n\tTIOCLINUX                            = 0x5483\n\tTIOCMBIC                             = 0x741c\n\tTIOCMBIS                             = 0x741b\n\tTIOCMGET                             = 0x741d\n\tTIOCMIWAIT                           = 0x5491\n\tTIOCMSET                             = 0x741a\n\tTIOCM_CAR                            = 0x100\n\tTIOCM_CD                             = 0x100\n\tTIOCM_CTS                            = 0x40\n\tTIOCM_DSR                            = 0x400\n\tTIOCM_DTR                            = 0x2\n\tTIOCM_LE                             = 0x1\n\tTIOCM_RI                             = 0x200\n\tTIOCM_RNG                            = 0x200\n\tTIOCM_RTS                            = 0x4\n\tTIOCM_SR                             = 0x20\n\tTIOCM_ST                             = 0x10\n\tTIOCNOTTY                            = 0x5471\n\tTIOCNXCL                             = 0x740e\n\tTIOCOUTQ                             = 0x7472\n\tTIOCPKT                              = 0x5470\n\tTIOCPKT_DATA                         = 0x0\n\tTIOCPKT_DOSTOP                       = 0x20\n\tTIOCPKT_FLUSHREAD                    = 0x1\n\tTIOCPKT_FLUSHWRITE                   = 0x2\n\tTIOCPKT_IOCTL                        = 0x40\n\tTIOCPKT_NOSTOP                       = 0x10\n\tTIOCPKT_START                        = 0x8\n\tTIOCPKT_STOP                         = 0x4\n\tTIOCSBRK                             = 0x5427\n\tTIOCSCTTY                            = 0x5480\n\tTIOCSERCONFIG                        = 0x5488\n\tTIOCSERGETLSR                        = 0x548e\n\tTIOCSERGETMULTI                      = 0x548f\n\tTIOCSERGSTRUCT                       = 0x548d\n\tTIOCSERGWILD                         = 0x5489\n\tTIOCSERSETMULTI                      = 0x5490\n\tTIOCSERSWILD                         = 0x548a\n\tTIOCSER_TEMT                         = 0x1\n\tTIOCSETD                             = 0x7401\n\tTIOCSETN                             = 0x740a\n\tTIOCSETP                             = 0x7409\n\tTIOCSIG                              = 0x80045436\n\tTIOCSLCKTRMIOS                       = 0x548c\n\tTIOCSLTC                             = 0x7475\n\tTIOCSPGRP                            = 0x80047476\n\tTIOCSPTLCK                           = 0x80045431\n\tTIOCSRS485                           = 0xc020542f\n\tTIOCSSERIAL                          = 0x5485\n\tTIOCSSOFTCAR                         = 0x5482\n\tTIOCSTI                              = 0x5472\n\tTIOCSWINSZ                           = 0x80087467\n\tTIOCVHANGUP                          = 0x5437\n\tTMPFS_MAGIC                          = 0x1021994\n\tTOSTOP                               = 0x8000\n\tTPACKET_ALIGNMENT                    = 0x10\n\tTPACKET_HDRLEN                       = 0x34\n\tTP_STATUS_AVAILABLE                  = 0x0\n\tTP_STATUS_BLK_TMO                    = 0x20\n\tTP_STATUS_COPY                       = 0x2\n\tTP_STATUS_CSUMNOTREADY               = 0x8\n\tTP_STATUS_CSUM_VALID                 = 0x80\n\tTP_STATUS_KERNEL                     = 0x0\n\tTP_STATUS_LOSING                     = 0x4\n\tTP_STATUS_SENDING                    = 0x2\n\tTP_STATUS_SEND_REQUEST               = 0x1\n\tTP_STATUS_TS_RAW_HARDWARE            = -0x80000000\n\tTP_STATUS_TS_SOFTWARE                = 0x20000000\n\tTP_STATUS_TS_SYS_HARDWARE            = 0x40000000\n\tTP_STATUS_USER                       = 0x1\n\tTP_STATUS_VLAN_TPID_VALID            = 0x40\n\tTP_STATUS_VLAN_VALID                 = 0x10\n\tTP_STATUS_WRONG_FORMAT               = 0x4\n\tTRACEFS_MAGIC                        = 0x74726163\n\tTS_COMM_LEN                          = 0x20\n\tTUNATTACHFILTER                      = 0x800854d5\n\tTUNDETACHFILTER                      = 0x800854d6\n\tTUNGETFEATURES                       = 0x400454cf\n\tTUNGETFILTER                         = 0x400854db\n\tTUNGETIFF                            = 0x400454d2\n\tTUNGETSNDBUF                         = 0x400454d3\n\tTUNGETVNETBE                         = 0x400454df\n\tTUNGETVNETHDRSZ                      = 0x400454d7\n\tTUNGETVNETLE                         = 0x400454dd\n\tTUNSETDEBUG                          = 0x800454c9\n\tTUNSETFILTEREBPF                     = 0x400454e1\n\tTUNSETGROUP                          = 0x800454ce\n\tTUNSETIFF                            = 0x800454ca\n\tTUNSETIFINDEX                        = 0x800454da\n\tTUNSETLINK                           = 0x800454cd\n\tTUNSETNOCSUM                         = 0x800454c8\n\tTUNSETOFFLOAD                        = 0x800454d0\n\tTUNSETOWNER                          = 0x800454cc\n\tTUNSETPERSIST                        = 0x800454cb\n\tTUNSETQUEUE                          = 0x800454d9\n\tTUNSETSNDBUF                         = 0x800454d4\n\tTUNSETSTEERINGEBPF                   = 0x400454e0\n\tTUNSETTXFILTER                       = 0x800454d1\n\tTUNSETVNETBE                         = 0x800454de\n\tTUNSETVNETHDRSZ                      = 0x800454d8\n\tTUNSETVNETLE                         = 0x800454dc\n\tUDF_SUPER_MAGIC                      = 0x15013346\n\tUMOUNT_NOFOLLOW                      = 0x8\n\tUSBDEVICE_SUPER_MAGIC                = 0x9fa2\n\tUTIME_NOW                            = 0x3fffffff\n\tUTIME_OMIT                           = 0x3ffffffe\n\tV9FS_MAGIC                           = 0x1021997\n\tVDISCARD                             = 0xd\n\tVEOF                                 = 0x10\n\tVEOL                                 = 0x11\n\tVEOL2                                = 0x6\n\tVERASE                               = 0x2\n\tVINTR                                = 0x0\n\tVKILL                                = 0x3\n\tVLNEXT                               = 0xf\n\tVMADDR_CID_ANY                       = 0xffffffff\n\tVMADDR_CID_HOST                      = 0x2\n\tVMADDR_CID_HYPERVISOR                = 0x0\n\tVMADDR_CID_RESERVED                  = 0x1\n\tVMADDR_PORT_ANY                      = 0xffffffff\n\tVMIN                                 = 0x4\n\tVM_SOCKETS_INVALID_VERSION           = 0xffffffff\n\tVQUIT                                = 0x1\n\tVREPRINT                             = 0xc\n\tVSTART                               = 0x8\n\tVSTOP                                = 0x9\n\tVSUSP                                = 0xa\n\tVSWTC                                = 0x7\n\tVSWTCH                               = 0x7\n\tVT0                                  = 0x0\n\tVT1                                  = 0x4000\n\tVTDLY                                = 0x4000\n\tVTIME                                = 0x5\n\tVWERASE                              = 0xe\n\tWALL                                 = 0x40000000\n\tWCLONE                               = 0x80000000\n\tWCONTINUED                           = 0x8\n\tWDIOC_GETBOOTSTATUS                  = 0x40045702\n\tWDIOC_GETPRETIMEOUT                  = 0x40045709\n\tWDIOC_GETSTATUS                      = 0x40045701\n\tWDIOC_GETSUPPORT                     = 0x40285700\n\tWDIOC_GETTEMP                        = 0x40045703\n\tWDIOC_GETTIMELEFT                    = 0x4004570a\n\tWDIOC_GETTIMEOUT                     = 0x40045707\n\tWDIOC_KEEPALIVE                      = 0x40045705\n\tWDIOC_SETOPTIONS                     = 0x40045704\n\tWDIOC_SETPRETIMEOUT                  = 0xc0045708\n\tWDIOC_SETTIMEOUT                     = 0xc0045706\n\tWEXITED                              = 0x4\n\tWIN_ACKMEDIACHANGE                   = 0xdb\n\tWIN_CHECKPOWERMODE1                  = 0xe5\n\tWIN_CHECKPOWERMODE2                  = 0x98\n\tWIN_DEVICE_RESET                     = 0x8\n\tWIN_DIAGNOSE                         = 0x90\n\tWIN_DOORLOCK                         = 0xde\n\tWIN_DOORUNLOCK                       = 0xdf\n\tWIN_DOWNLOAD_MICROCODE               = 0x92\n\tWIN_FLUSH_CACHE                      = 0xe7\n\tWIN_FLUSH_CACHE_EXT                  = 0xea\n\tWIN_FORMAT                           = 0x50\n\tWIN_GETMEDIASTATUS                   = 0xda\n\tWIN_IDENTIFY                         = 0xec\n\tWIN_IDENTIFY_DMA                     = 0xee\n\tWIN_IDLEIMMEDIATE                    = 0xe1\n\tWIN_INIT                             = 0x60\n\tWIN_MEDIAEJECT                       = 0xed\n\tWIN_MULTREAD                         = 0xc4\n\tWIN_MULTREAD_EXT                     = 0x29\n\tWIN_MULTWRITE                        = 0xc5\n\tWIN_MULTWRITE_EXT                    = 0x39\n\tWIN_NOP                              = 0x0\n\tWIN_PACKETCMD                        = 0xa0\n\tWIN_PIDENTIFY                        = 0xa1\n\tWIN_POSTBOOT                         = 0xdc\n\tWIN_PREBOOT                          = 0xdd\n\tWIN_QUEUED_SERVICE                   = 0xa2\n\tWIN_READ                             = 0x20\n\tWIN_READDMA                          = 0xc8\n\tWIN_READDMA_EXT                      = 0x25\n\tWIN_READDMA_ONCE                     = 0xc9\n\tWIN_READDMA_QUEUED                   = 0xc7\n\tWIN_READDMA_QUEUED_EXT               = 0x26\n\tWIN_READ_BUFFER                      = 0xe4\n\tWIN_READ_EXT                         = 0x24\n\tWIN_READ_LONG                        = 0x22\n\tWIN_READ_LONG_ONCE                   = 0x23\n\tWIN_READ_NATIVE_MAX                  = 0xf8\n\tWIN_READ_NATIVE_MAX_EXT              = 0x27\n\tWIN_READ_ONCE                        = 0x21\n\tWIN_RECAL                            = 0x10\n\tWIN_RESTORE                          = 0x10\n\tWIN_SECURITY_DISABLE                 = 0xf6\n\tWIN_SECURITY_ERASE_PREPARE           = 0xf3\n\tWIN_SECURITY_ERASE_UNIT              = 0xf4\n\tWIN_SECURITY_FREEZE_LOCK             = 0xf5\n\tWIN_SECURITY_SET_PASS                = 0xf1\n\tWIN_SECURITY_UNLOCK                  = 0xf2\n\tWIN_SEEK                             = 0x70\n\tWIN_SETFEATURES                      = 0xef\n\tWIN_SETIDLE1                         = 0xe3\n\tWIN_SETIDLE2                         = 0x97\n\tWIN_SETMULT                          = 0xc6\n\tWIN_SET_MAX                          = 0xf9\n\tWIN_SET_MAX_EXT                      = 0x37\n\tWIN_SLEEPNOW1                        = 0xe6\n\tWIN_SLEEPNOW2                        = 0x99\n\tWIN_SMART                            = 0xb0\n\tWIN_SPECIFY                          = 0x91\n\tWIN_SRST                             = 0x8\n\tWIN_STANDBY                          = 0xe2\n\tWIN_STANDBY2                         = 0x96\n\tWIN_STANDBYNOW1                      = 0xe0\n\tWIN_STANDBYNOW2                      = 0x94\n\tWIN_VERIFY                           = 0x40\n\tWIN_VERIFY_EXT                       = 0x42\n\tWIN_VERIFY_ONCE                      = 0x41\n\tWIN_WRITE                            = 0x30\n\tWIN_WRITEDMA                         = 0xca\n\tWIN_WRITEDMA_EXT                     = 0x35\n\tWIN_WRITEDMA_ONCE                    = 0xcb\n\tWIN_WRITEDMA_QUEUED                  = 0xcc\n\tWIN_WRITEDMA_QUEUED_EXT              = 0x36\n\tWIN_WRITE_BUFFER                     = 0xe8\n\tWIN_WRITE_EXT                        = 0x34\n\tWIN_WRITE_LONG                       = 0x32\n\tWIN_WRITE_LONG_ONCE                  = 0x33\n\tWIN_WRITE_ONCE                       = 0x31\n\tWIN_WRITE_SAME                       = 0xe9\n\tWIN_WRITE_VERIFY                     = 0x3c\n\tWNOHANG                              = 0x1\n\tWNOTHREAD                            = 0x20000000\n\tWNOWAIT                              = 0x1000000\n\tWORDSIZE                             = 0x20\n\tWSTOPPED                             = 0x2\n\tWUNTRACED                            = 0x2\n\tXATTR_CREATE                         = 0x1\n\tXATTR_REPLACE                        = 0x2\n\tXCASE                                = 0x4\n\tXENFS_SUPER_MAGIC                    = 0xabba1974\n\tXTABS                                = 0x1800\n\tZSMALLOC_MAGIC                       = 0x58295829\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x7d)\n\tEADDRNOTAVAIL   = syscall.Errno(0x7e)\n\tEADV            = syscall.Errno(0x44)\n\tEAFNOSUPPORT    = syscall.Errno(0x7c)\n\tEAGAIN          = syscall.Errno(0xb)\n\tEALREADY        = syscall.Errno(0x95)\n\tEBADE           = syscall.Errno(0x32)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADFD          = syscall.Errno(0x51)\n\tEBADMSG         = syscall.Errno(0x4d)\n\tEBADR           = syscall.Errno(0x33)\n\tEBADRQC         = syscall.Errno(0x36)\n\tEBADSLT         = syscall.Errno(0x37)\n\tEBFONT          = syscall.Errno(0x3b)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x9e)\n\tECHILD          = syscall.Errno(0xa)\n\tECHRNG          = syscall.Errno(0x25)\n\tECOMM           = syscall.Errno(0x46)\n\tECONNABORTED    = syscall.Errno(0x82)\n\tECONNREFUSED    = syscall.Errno(0x92)\n\tECONNRESET      = syscall.Errno(0x83)\n\tEDEADLK         = syscall.Errno(0x2d)\n\tEDEADLOCK       = syscall.Errno(0x38)\n\tEDESTADDRREQ    = syscall.Errno(0x60)\n\tEDOM            = syscall.Errno(0x21)\n\tEDOTDOT         = syscall.Errno(0x49)\n\tEDQUOT          = syscall.Errno(0x46d)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEHOSTDOWN       = syscall.Errno(0x93)\n\tEHOSTUNREACH    = syscall.Errno(0x94)\n\tEHWPOISON       = syscall.Errno(0xa8)\n\tEIDRM           = syscall.Errno(0x24)\n\tEILSEQ          = syscall.Errno(0x58)\n\tEINIT           = syscall.Errno(0x8d)\n\tEINPROGRESS     = syscall.Errno(0x96)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x85)\n\tEISDIR          = syscall.Errno(0x15)\n\tEISNAM          = syscall.Errno(0x8b)\n\tEKEYEXPIRED     = syscall.Errno(0xa2)\n\tEKEYREJECTED    = syscall.Errno(0xa4)\n\tEKEYREVOKED     = syscall.Errno(0xa3)\n\tEL2HLT          = syscall.Errno(0x2c)\n\tEL2NSYNC        = syscall.Errno(0x26)\n\tEL3HLT          = syscall.Errno(0x27)\n\tEL3RST          = syscall.Errno(0x28)\n\tELIBACC         = syscall.Errno(0x53)\n\tELIBBAD         = syscall.Errno(0x54)\n\tELIBEXEC        = syscall.Errno(0x57)\n\tELIBMAX         = syscall.Errno(0x56)\n\tELIBSCN         = syscall.Errno(0x55)\n\tELNRNG          = syscall.Errno(0x29)\n\tELOOP           = syscall.Errno(0x5a)\n\tEMEDIUMTYPE     = syscall.Errno(0xa0)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x61)\n\tEMULTIHOP       = syscall.Errno(0x4a)\n\tENAMETOOLONG    = syscall.Errno(0x4e)\n\tENAVAIL         = syscall.Errno(0x8a)\n\tENETDOWN        = syscall.Errno(0x7f)\n\tENETRESET       = syscall.Errno(0x81)\n\tENETUNREACH     = syscall.Errno(0x80)\n\tENFILE          = syscall.Errno(0x17)\n\tENOANO          = syscall.Errno(0x35)\n\tENOBUFS         = syscall.Errno(0x84)\n\tENOCSI          = syscall.Errno(0x2b)\n\tENODATA         = syscall.Errno(0x3d)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOKEY          = syscall.Errno(0xa1)\n\tENOLCK          = syscall.Errno(0x2e)\n\tENOLINK         = syscall.Errno(0x43)\n\tENOMEDIUM       = syscall.Errno(0x9f)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x23)\n\tENONET          = syscall.Errno(0x40)\n\tENOPKG          = syscall.Errno(0x41)\n\tENOPROTOOPT     = syscall.Errno(0x63)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x3f)\n\tENOSTR          = syscall.Errno(0x3c)\n\tENOSYS          = syscall.Errno(0x59)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x86)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x5d)\n\tENOTNAM         = syscall.Errno(0x89)\n\tENOTRECOVERABLE = syscall.Errno(0xa6)\n\tENOTSOCK        = syscall.Errno(0x5f)\n\tENOTSUP         = syscall.Errno(0x7a)\n\tENOTTY          = syscall.Errno(0x19)\n\tENOTUNIQ        = syscall.Errno(0x50)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x7a)\n\tEOVERFLOW       = syscall.Errno(0x4f)\n\tEOWNERDEAD      = syscall.Errno(0xa5)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x7b)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROTO          = syscall.Errno(0x47)\n\tEPROTONOSUPPORT = syscall.Errno(0x78)\n\tEPROTOTYPE      = syscall.Errno(0x62)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMCHG         = syscall.Errno(0x52)\n\tEREMDEV         = syscall.Errno(0x8e)\n\tEREMOTE         = syscall.Errno(0x42)\n\tEREMOTEIO       = syscall.Errno(0x8c)\n\tERESTART        = syscall.Errno(0x5b)\n\tERFKILL         = syscall.Errno(0xa7)\n\tEROFS           = syscall.Errno(0x1e)\n\tESHUTDOWN       = syscall.Errno(0x8f)\n\tESOCKTNOSUPPORT = syscall.Errno(0x79)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESRMNT          = syscall.Errno(0x45)\n\tESTALE          = syscall.Errno(0x97)\n\tESTRPIPE        = syscall.Errno(0x5c)\n\tETIME           = syscall.Errno(0x3e)\n\tETIMEDOUT       = syscall.Errno(0x91)\n\tETOOMANYREFS    = syscall.Errno(0x90)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUCLEAN         = syscall.Errno(0x87)\n\tEUNATCH         = syscall.Errno(0x2a)\n\tEUSERS          = syscall.Errno(0x5e)\n\tEWOULDBLOCK     = syscall.Errno(0xb)\n\tEXDEV           = syscall.Errno(0x12)\n\tEXFULL          = syscall.Errno(0x34)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x12)\n\tSIGCLD    = syscall.Signal(0x12)\n\tSIGCONT   = syscall.Signal(0x19)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x16)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPOLL   = syscall.Signal(0x16)\n\tSIGPROF   = syscall.Signal(0x1d)\n\tSIGPWR    = syscall.Signal(0x13)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x17)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x18)\n\tSIGTTIN   = syscall.Signal(0x1a)\n\tSIGTTOU   = syscall.Signal(0x1b)\n\tSIGURG    = syscall.Signal(0x15)\n\tSIGUSR1   = syscall.Signal(0x10)\n\tSIGUSR2   = syscall.Signal(0x11)\n\tSIGVTALRM = syscall.Signal(0x1c)\n\tSIGWINCH  = syscall.Signal(0x14)\n\tSIGXCPU   = syscall.Signal(0x1e)\n\tSIGXFSZ   = syscall.Signal(0x1f)\n)\n\n// Error table\nvar errorList = [...]struct {\n\tnum  syscall.Errno\n\tname string\n\tdesc string\n}{\n\t{1, \"EPERM\", \"operation not permitted\"},\n\t{2, \"ENOENT\", \"no such file or directory\"},\n\t{3, \"ESRCH\", \"no such process\"},\n\t{4, \"EINTR\", \"interrupted system call\"},\n\t{5, \"EIO\", \"input/output error\"},\n\t{6, \"ENXIO\", \"no such device or address\"},\n\t{7, \"E2BIG\", \"argument list too long\"},\n\t{8, \"ENOEXEC\", \"exec format error\"},\n\t{9, \"EBADF\", \"bad file descriptor\"},\n\t{10, \"ECHILD\", \"no child processes\"},\n\t{11, \"EAGAIN\", \"resource temporarily unavailable\"},\n\t{12, \"ENOMEM\", \"cannot allocate memory\"},\n\t{13, \"EACCES\", \"permission denied\"},\n\t{14, \"EFAULT\", \"bad address\"},\n\t{15, \"ENOTBLK\", \"block device required\"},\n\t{16, \"EBUSY\", \"device or resource busy\"},\n\t{17, \"EEXIST\", \"file exists\"},\n\t{18, \"EXDEV\", \"invalid cross-device link\"},\n\t{19, \"ENODEV\", \"no such device\"},\n\t{20, \"ENOTDIR\", \"not a directory\"},\n\t{21, \"EISDIR\", \"is a directory\"},\n\t{22, \"EINVAL\", \"invalid argument\"},\n\t{23, \"ENFILE\", \"too many open files in system\"},\n\t{24, \"EMFILE\", \"too many open files\"},\n\t{25, \"ENOTTY\", \"inappropriate ioctl for device\"},\n\t{26, \"ETXTBSY\", \"text file busy\"},\n\t{27, \"EFBIG\", \"file too large\"},\n\t{28, \"ENOSPC\", \"no space left on device\"},\n\t{29, \"ESPIPE\", \"illegal seek\"},\n\t{30, \"EROFS\", \"read-only file system\"},\n\t{31, \"EMLINK\", \"too many links\"},\n\t{32, \"EPIPE\", \"broken pipe\"},\n\t{33, \"EDOM\", \"numerical argument out of domain\"},\n\t{34, \"ERANGE\", \"numerical result out of range\"},\n\t{35, \"ENOMSG\", \"no message of desired type\"},\n\t{36, \"EIDRM\", \"identifier removed\"},\n\t{37, \"ECHRNG\", \"channel number out of range\"},\n\t{38, \"EL2NSYNC\", \"level 2 not synchronized\"},\n\t{39, \"EL3HLT\", \"level 3 halted\"},\n\t{40, \"EL3RST\", \"level 3 reset\"},\n\t{41, \"ELNRNG\", \"link number out of range\"},\n\t{42, \"EUNATCH\", \"protocol driver not attached\"},\n\t{43, \"ENOCSI\", \"no CSI structure available\"},\n\t{44, \"EL2HLT\", \"level 2 halted\"},\n\t{45, \"EDEADLK\", \"resource deadlock avoided\"},\n\t{46, \"ENOLCK\", \"no locks available\"},\n\t{50, \"EBADE\", \"invalid exchange\"},\n\t{51, \"EBADR\", \"invalid request descriptor\"},\n\t{52, \"EXFULL\", \"exchange full\"},\n\t{53, \"ENOANO\", \"no anode\"},\n\t{54, \"EBADRQC\", \"invalid request code\"},\n\t{55, \"EBADSLT\", \"invalid slot\"},\n\t{56, \"EDEADLOCK\", \"file locking deadlock error\"},\n\t{59, \"EBFONT\", \"bad font file format\"},\n\t{60, \"ENOSTR\", \"device not a stream\"},\n\t{61, \"ENODATA\", \"no data available\"},\n\t{62, \"ETIME\", \"timer expired\"},\n\t{63, \"ENOSR\", \"out of streams resources\"},\n\t{64, \"ENONET\", \"machine is not on the network\"},\n\t{65, \"ENOPKG\", \"package not installed\"},\n\t{66, \"EREMOTE\", \"object is remote\"},\n\t{67, \"ENOLINK\", \"link has been severed\"},\n\t{68, \"EADV\", \"advertise error\"},\n\t{69, \"ESRMNT\", \"srmount error\"},\n\t{70, \"ECOMM\", \"communication error on send\"},\n\t{71, \"EPROTO\", \"protocol error\"},\n\t{73, \"EDOTDOT\", \"RFS specific error\"},\n\t{74, \"EMULTIHOP\", \"multihop attempted\"},\n\t{77, \"EBADMSG\", \"bad message\"},\n\t{78, \"ENAMETOOLONG\", \"file name too long\"},\n\t{79, \"EOVERFLOW\", \"value too large for defined data type\"},\n\t{80, \"ENOTUNIQ\", \"name not unique on network\"},\n\t{81, \"EBADFD\", \"file descriptor in bad state\"},\n\t{82, \"EREMCHG\", \"remote address changed\"},\n\t{83, \"ELIBACC\", \"can not access a needed shared library\"},\n\t{84, \"ELIBBAD\", \"accessing a corrupted shared library\"},\n\t{85, \"ELIBSCN\", \".lib section in a.out corrupted\"},\n\t{86, \"ELIBMAX\", \"attempting to link in too many shared libraries\"},\n\t{87, \"ELIBEXEC\", \"cannot exec a shared library directly\"},\n\t{88, \"EILSEQ\", \"invalid or incomplete multibyte or wide character\"},\n\t{89, \"ENOSYS\", \"function not implemented\"},\n\t{90, \"ELOOP\", \"too many levels of symbolic links\"},\n\t{91, \"ERESTART\", \"interrupted system call should be restarted\"},\n\t{92, \"ESTRPIPE\", \"streams pipe error\"},\n\t{93, \"ENOTEMPTY\", \"directory not empty\"},\n\t{94, \"EUSERS\", \"too many users\"},\n\t{95, \"ENOTSOCK\", \"socket operation on non-socket\"},\n\t{96, \"EDESTADDRREQ\", \"destination address required\"},\n\t{97, \"EMSGSIZE\", \"message too long\"},\n\t{98, \"EPROTOTYPE\", \"protocol wrong type for socket\"},\n\t{99, \"ENOPROTOOPT\", \"protocol not available\"},\n\t{120, \"EPROTONOSUPPORT\", \"protocol not supported\"},\n\t{121, \"ESOCKTNOSUPPORT\", \"socket type not supported\"},\n\t{122, \"ENOTSUP\", \"operation not supported\"},\n\t{123, \"EPFNOSUPPORT\", \"protocol family not supported\"},\n\t{124, \"EAFNOSUPPORT\", \"address family not supported by protocol\"},\n\t{125, \"EADDRINUSE\", \"address already in use\"},\n\t{126, \"EADDRNOTAVAIL\", \"cannot assign requested address\"},\n\t{127, \"ENETDOWN\", \"network is down\"},\n\t{128, \"ENETUNREACH\", \"network is unreachable\"},\n\t{129, \"ENETRESET\", \"network dropped connection on reset\"},\n\t{130, \"ECONNABORTED\", \"software caused connection abort\"},\n\t{131, \"ECONNRESET\", \"connection reset by peer\"},\n\t{132, \"ENOBUFS\", \"no buffer space available\"},\n\t{133, \"EISCONN\", \"transport endpoint is already connected\"},\n\t{134, \"ENOTCONN\", \"transport endpoint is not connected\"},\n\t{135, \"EUCLEAN\", \"structure needs cleaning\"},\n\t{137, \"ENOTNAM\", \"not a XENIX named type file\"},\n\t{138, \"ENAVAIL\", \"no XENIX semaphores available\"},\n\t{139, \"EISNAM\", \"is a named type file\"},\n\t{140, \"EREMOTEIO\", \"remote I/O error\"},\n\t{141, \"EINIT\", \"unknown error 141\"},\n\t{142, \"EREMDEV\", \"unknown error 142\"},\n\t{143, \"ESHUTDOWN\", \"cannot send after transport endpoint shutdown\"},\n\t{144, \"ETOOMANYREFS\", \"too many references: cannot splice\"},\n\t{145, \"ETIMEDOUT\", \"connection timed out\"},\n\t{146, \"ECONNREFUSED\", \"connection refused\"},\n\t{147, \"EHOSTDOWN\", \"host is down\"},\n\t{148, \"EHOSTUNREACH\", \"no route to host\"},\n\t{149, \"EALREADY\", \"operation already in progress\"},\n\t{150, \"EINPROGRESS\", \"operation now in progress\"},\n\t{151, \"ESTALE\", \"stale file handle\"},\n\t{158, \"ECANCELED\", \"operation canceled\"},\n\t{159, \"ENOMEDIUM\", \"no medium found\"},\n\t{160, \"EMEDIUMTYPE\", \"wrong medium type\"},\n\t{161, \"ENOKEY\", \"required key not available\"},\n\t{162, \"EKEYEXPIRED\", \"key has expired\"},\n\t{163, \"EKEYREVOKED\", \"key has been revoked\"},\n\t{164, \"EKEYREJECTED\", \"key was rejected by service\"},\n\t{165, \"EOWNERDEAD\", \"owner died\"},\n\t{166, \"ENOTRECOVERABLE\", \"state not recoverable\"},\n\t{167, \"ERFKILL\", \"operation not possible due to RF-kill\"},\n\t{168, \"EHWPOISON\", \"memory page has hardware error\"},\n\t{1133, \"EDQUOT\", \"disk quota exceeded\"},\n}\n\n// Signal table\nvar signalList = [...]struct {\n\tnum  syscall.Signal\n\tname string\n\tdesc string\n}{\n\t{1, \"SIGHUP\", \"hangup\"},\n\t{2, \"SIGINT\", \"interrupt\"},\n\t{3, \"SIGQUIT\", \"quit\"},\n\t{4, \"SIGILL\", \"illegal instruction\"},\n\t{5, \"SIGTRAP\", \"trace/breakpoint trap\"},\n\t{6, \"SIGABRT\", \"aborted\"},\n\t{7, \"SIGEMT\", \"EMT trap\"},\n\t{8, \"SIGFPE\", \"floating point exception\"},\n\t{9, \"SIGKILL\", \"killed\"},\n\t{10, \"SIGBUS\", \"bus error\"},\n\t{11, \"SIGSEGV\", \"segmentation fault\"},\n\t{12, \"SIGSYS\", \"bad system call\"},\n\t{13, \"SIGPIPE\", \"broken pipe\"},\n\t{14, \"SIGALRM\", \"alarm clock\"},\n\t{15, \"SIGTERM\", \"terminated\"},\n\t{16, \"SIGUSR1\", \"user defined signal 1\"},\n\t{17, \"SIGUSR2\", \"user defined signal 2\"},\n\t{18, \"SIGCHLD\", \"child exited\"},\n\t{19, \"SIGPWR\", \"power failure\"},\n\t{20, \"SIGWINCH\", \"window changed\"},\n\t{21, \"SIGURG\", \"urgent I/O condition\"},\n\t{22, \"SIGIO\", \"I/O possible\"},\n\t{23, \"SIGSTOP\", \"stopped (signal)\"},\n\t{24, \"SIGTSTP\", \"stopped\"},\n\t{25, \"SIGCONT\", \"continued\"},\n\t{26, \"SIGTTIN\", \"stopped (tty input)\"},\n\t{27, \"SIGTTOU\", \"stopped (tty output)\"},\n\t{28, \"SIGVTALRM\", \"virtual timer expired\"},\n\t{29, \"SIGPROF\", \"profiling timer expired\"},\n\t{30, \"SIGXCPU\", \"CPU time limit exceeded\"},\n\t{31, \"SIGXFSZ\", \"file size limit exceeded\"},\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go",
    "content": "// mkerrors.sh -Wall -Werror -static -I/tmp/include\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build mips64,linux\n\n// Code generated by cmd/cgo -godefs; DO NOT EDIT.\n// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAAFS_MAGIC                           = 0x5a3c69f0\n\tADFS_SUPER_MAGIC                     = 0xadf5\n\tAFFS_SUPER_MAGIC                     = 0xadff\n\tAFS_FS_MAGIC                         = 0x6b414653\n\tAFS_SUPER_MAGIC                      = 0x5346414f\n\tAF_ALG                               = 0x26\n\tAF_APPLETALK                         = 0x5\n\tAF_ASH                               = 0x12\n\tAF_ATMPVC                            = 0x8\n\tAF_ATMSVC                            = 0x14\n\tAF_AX25                              = 0x3\n\tAF_BLUETOOTH                         = 0x1f\n\tAF_BRIDGE                            = 0x7\n\tAF_CAIF                              = 0x25\n\tAF_CAN                               = 0x1d\n\tAF_DECnet                            = 0xc\n\tAF_ECONET                            = 0x13\n\tAF_FILE                              = 0x1\n\tAF_IB                                = 0x1b\n\tAF_IEEE802154                        = 0x24\n\tAF_INET                              = 0x2\n\tAF_INET6                             = 0xa\n\tAF_IPX                               = 0x4\n\tAF_IRDA                              = 0x17\n\tAF_ISDN                              = 0x22\n\tAF_IUCV                              = 0x20\n\tAF_KCM                               = 0x29\n\tAF_KEY                               = 0xf\n\tAF_LLC                               = 0x1a\n\tAF_LOCAL                             = 0x1\n\tAF_MAX                               = 0x2c\n\tAF_MPLS                              = 0x1c\n\tAF_NETBEUI                           = 0xd\n\tAF_NETLINK                           = 0x10\n\tAF_NETROM                            = 0x6\n\tAF_NFC                               = 0x27\n\tAF_PACKET                            = 0x11\n\tAF_PHONET                            = 0x23\n\tAF_PPPOX                             = 0x18\n\tAF_QIPCRTR                           = 0x2a\n\tAF_RDS                               = 0x15\n\tAF_ROSE                              = 0xb\n\tAF_ROUTE                             = 0x10\n\tAF_RXRPC                             = 0x21\n\tAF_SECURITY                          = 0xe\n\tAF_SMC                               = 0x2b\n\tAF_SNA                               = 0x16\n\tAF_TIPC                              = 0x1e\n\tAF_UNIX                              = 0x1\n\tAF_UNSPEC                            = 0x0\n\tAF_VSOCK                             = 0x28\n\tAF_WANPIPE                           = 0x19\n\tAF_X25                               = 0x9\n\tALG_OP_DECRYPT                       = 0x0\n\tALG_OP_ENCRYPT                       = 0x1\n\tALG_SET_AEAD_ASSOCLEN                = 0x4\n\tALG_SET_AEAD_AUTHSIZE                = 0x5\n\tALG_SET_IV                           = 0x2\n\tALG_SET_KEY                          = 0x1\n\tALG_SET_OP                           = 0x3\n\tANON_INODE_FS_MAGIC                  = 0x9041934\n\tARPHRD_6LOWPAN                       = 0x339\n\tARPHRD_ADAPT                         = 0x108\n\tARPHRD_APPLETLK                      = 0x8\n\tARPHRD_ARCNET                        = 0x7\n\tARPHRD_ASH                           = 0x30d\n\tARPHRD_ATM                           = 0x13\n\tARPHRD_AX25                          = 0x3\n\tARPHRD_BIF                           = 0x307\n\tARPHRD_CAIF                          = 0x336\n\tARPHRD_CAN                           = 0x118\n\tARPHRD_CHAOS                         = 0x5\n\tARPHRD_CISCO                         = 0x201\n\tARPHRD_CSLIP                         = 0x101\n\tARPHRD_CSLIP6                        = 0x103\n\tARPHRD_DDCMP                         = 0x205\n\tARPHRD_DLCI                          = 0xf\n\tARPHRD_ECONET                        = 0x30e\n\tARPHRD_EETHER                        = 0x2\n\tARPHRD_ETHER                         = 0x1\n\tARPHRD_EUI64                         = 0x1b\n\tARPHRD_FCAL                          = 0x311\n\tARPHRD_FCFABRIC                      = 0x313\n\tARPHRD_FCPL                          = 0x312\n\tARPHRD_FCPP                          = 0x310\n\tARPHRD_FDDI                          = 0x306\n\tARPHRD_FRAD                          = 0x302\n\tARPHRD_HDLC                          = 0x201\n\tARPHRD_HIPPI                         = 0x30c\n\tARPHRD_HWX25                         = 0x110\n\tARPHRD_IEEE1394                      = 0x18\n\tARPHRD_IEEE802                       = 0x6\n\tARPHRD_IEEE80211                     = 0x321\n\tARPHRD_IEEE80211_PRISM               = 0x322\n\tARPHRD_IEEE80211_RADIOTAP            = 0x323\n\tARPHRD_IEEE802154                    = 0x324\n\tARPHRD_IEEE802154_MONITOR            = 0x325\n\tARPHRD_IEEE802_TR                    = 0x320\n\tARPHRD_INFINIBAND                    = 0x20\n\tARPHRD_IP6GRE                        = 0x337\n\tARPHRD_IPDDP                         = 0x309\n\tARPHRD_IPGRE                         = 0x30a\n\tARPHRD_IRDA                          = 0x30f\n\tARPHRD_LAPB                          = 0x204\n\tARPHRD_LOCALTLK                      = 0x305\n\tARPHRD_LOOPBACK                      = 0x304\n\tARPHRD_METRICOM                      = 0x17\n\tARPHRD_NETLINK                       = 0x338\n\tARPHRD_NETROM                        = 0x0\n\tARPHRD_NONE                          = 0xfffe\n\tARPHRD_PHONET                        = 0x334\n\tARPHRD_PHONET_PIPE                   = 0x335\n\tARPHRD_PIMREG                        = 0x30b\n\tARPHRD_PPP                           = 0x200\n\tARPHRD_PRONET                        = 0x4\n\tARPHRD_RAWHDLC                       = 0x206\n\tARPHRD_RAWIP                         = 0x207\n\tARPHRD_ROSE                          = 0x10e\n\tARPHRD_RSRVD                         = 0x104\n\tARPHRD_SIT                           = 0x308\n\tARPHRD_SKIP                          = 0x303\n\tARPHRD_SLIP                          = 0x100\n\tARPHRD_SLIP6                         = 0x102\n\tARPHRD_TUNNEL                        = 0x300\n\tARPHRD_TUNNEL6                       = 0x301\n\tARPHRD_VOID                          = 0xffff\n\tARPHRD_VSOCKMON                      = 0x33a\n\tARPHRD_X25                           = 0x10f\n\tAUTOFS_SUPER_MAGIC                   = 0x187\n\tB0                                   = 0x0\n\tB1000000                             = 0x1008\n\tB110                                 = 0x3\n\tB115200                              = 0x1002\n\tB1152000                             = 0x1009\n\tB1200                                = 0x9\n\tB134                                 = 0x4\n\tB150                                 = 0x5\n\tB1500000                             = 0x100a\n\tB1800                                = 0xa\n\tB19200                               = 0xe\n\tB200                                 = 0x6\n\tB2000000                             = 0x100b\n\tB230400                              = 0x1003\n\tB2400                                = 0xb\n\tB2500000                             = 0x100c\n\tB300                                 = 0x7\n\tB3000000                             = 0x100d\n\tB3500000                             = 0x100e\n\tB38400                               = 0xf\n\tB4000000                             = 0x100f\n\tB460800                              = 0x1004\n\tB4800                                = 0xc\n\tB50                                  = 0x1\n\tB500000                              = 0x1005\n\tB57600                               = 0x1001\n\tB576000                              = 0x1006\n\tB600                                 = 0x8\n\tB75                                  = 0x2\n\tB921600                              = 0x1007\n\tB9600                                = 0xd\n\tBALLOON_KVM_MAGIC                    = 0x13661366\n\tBDEVFS_MAGIC                         = 0x62646576\n\tBINFMTFS_MAGIC                       = 0x42494e4d\n\tBLKBSZGET                            = 0x40081270\n\tBLKBSZSET                            = 0x80081271\n\tBLKFLSBUF                            = 0x20001261\n\tBLKFRAGET                            = 0x20001265\n\tBLKFRASET                            = 0x20001264\n\tBLKGETSIZE                           = 0x20001260\n\tBLKGETSIZE64                         = 0x40081272\n\tBLKPBSZGET                           = 0x2000127b\n\tBLKRAGET                             = 0x20001263\n\tBLKRASET                             = 0x20001262\n\tBLKROGET                             = 0x2000125e\n\tBLKROSET                             = 0x2000125d\n\tBLKRRPART                            = 0x2000125f\n\tBLKSECTGET                           = 0x20001267\n\tBLKSECTSET                           = 0x20001266\n\tBLKSSZGET                            = 0x20001268\n\tBOTHER                               = 0x1000\n\tBPF_A                                = 0x10\n\tBPF_ABS                              = 0x20\n\tBPF_ADD                              = 0x0\n\tBPF_ALU                              = 0x4\n\tBPF_AND                              = 0x50\n\tBPF_B                                = 0x10\n\tBPF_DIV                              = 0x30\n\tBPF_FS_MAGIC                         = 0xcafe4a11\n\tBPF_H                                = 0x8\n\tBPF_IMM                              = 0x0\n\tBPF_IND                              = 0x40\n\tBPF_JA                               = 0x0\n\tBPF_JEQ                              = 0x10\n\tBPF_JGE                              = 0x30\n\tBPF_JGT                              = 0x20\n\tBPF_JMP                              = 0x5\n\tBPF_JSET                             = 0x40\n\tBPF_K                                = 0x0\n\tBPF_LD                               = 0x0\n\tBPF_LDX                              = 0x1\n\tBPF_LEN                              = 0x80\n\tBPF_LL_OFF                           = -0x200000\n\tBPF_LSH                              = 0x60\n\tBPF_MAJOR_VERSION                    = 0x1\n\tBPF_MAXINSNS                         = 0x1000\n\tBPF_MEM                              = 0x60\n\tBPF_MEMWORDS                         = 0x10\n\tBPF_MINOR_VERSION                    = 0x1\n\tBPF_MISC                             = 0x7\n\tBPF_MOD                              = 0x90\n\tBPF_MSH                              = 0xa0\n\tBPF_MUL                              = 0x20\n\tBPF_NEG                              = 0x80\n\tBPF_NET_OFF                          = -0x100000\n\tBPF_OR                               = 0x40\n\tBPF_RET                              = 0x6\n\tBPF_RSH                              = 0x70\n\tBPF_ST                               = 0x2\n\tBPF_STX                              = 0x3\n\tBPF_SUB                              = 0x10\n\tBPF_TAX                              = 0x0\n\tBPF_TXA                              = 0x80\n\tBPF_W                                = 0x0\n\tBPF_X                                = 0x8\n\tBPF_XOR                              = 0xa0\n\tBRKINT                               = 0x2\n\tBS0                                  = 0x0\n\tBS1                                  = 0x2000\n\tBSDLY                                = 0x2000\n\tBTRFS_SUPER_MAGIC                    = 0x9123683e\n\tBTRFS_TEST_MAGIC                     = 0x73727279\n\tCAN_BCM                              = 0x2\n\tCAN_EFF_FLAG                         = 0x80000000\n\tCAN_EFF_ID_BITS                      = 0x1d\n\tCAN_EFF_MASK                         = 0x1fffffff\n\tCAN_ERR_FLAG                         = 0x20000000\n\tCAN_ERR_MASK                         = 0x1fffffff\n\tCAN_INV_FILTER                       = 0x20000000\n\tCAN_ISOTP                            = 0x6\n\tCAN_MAX_DLC                          = 0x8\n\tCAN_MAX_DLEN                         = 0x8\n\tCAN_MCNET                            = 0x5\n\tCAN_MTU                              = 0x10\n\tCAN_NPROTO                           = 0x7\n\tCAN_RAW                              = 0x1\n\tCAN_RAW_FILTER_MAX                   = 0x200\n\tCAN_RTR_FLAG                         = 0x40000000\n\tCAN_SFF_ID_BITS                      = 0xb\n\tCAN_SFF_MASK                         = 0x7ff\n\tCAN_TP16                             = 0x3\n\tCAN_TP20                             = 0x4\n\tCBAUD                                = 0x100f\n\tCBAUDEX                              = 0x1000\n\tCFLUSH                               = 0xf\n\tCGROUP2_SUPER_MAGIC                  = 0x63677270\n\tCGROUP_SUPER_MAGIC                   = 0x27e0eb\n\tCIBAUD                               = 0x100f0000\n\tCLOCAL                               = 0x800\n\tCLOCK_BOOTTIME                       = 0x7\n\tCLOCK_BOOTTIME_ALARM                 = 0x9\n\tCLOCK_DEFAULT                        = 0x0\n\tCLOCK_EXT                            = 0x1\n\tCLOCK_INT                            = 0x2\n\tCLOCK_MONOTONIC                      = 0x1\n\tCLOCK_MONOTONIC_COARSE               = 0x6\n\tCLOCK_MONOTONIC_RAW                  = 0x4\n\tCLOCK_PROCESS_CPUTIME_ID             = 0x2\n\tCLOCK_REALTIME                       = 0x0\n\tCLOCK_REALTIME_ALARM                 = 0x8\n\tCLOCK_REALTIME_COARSE                = 0x5\n\tCLOCK_TAI                            = 0xb\n\tCLOCK_THREAD_CPUTIME_ID              = 0x3\n\tCLOCK_TXFROMRX                       = 0x4\n\tCLOCK_TXINT                          = 0x3\n\tCLONE_CHILD_CLEARTID                 = 0x200000\n\tCLONE_CHILD_SETTID                   = 0x1000000\n\tCLONE_DETACHED                       = 0x400000\n\tCLONE_FILES                          = 0x400\n\tCLONE_FS                             = 0x200\n\tCLONE_IO                             = 0x80000000\n\tCLONE_NEWCGROUP                      = 0x2000000\n\tCLONE_NEWIPC                         = 0x8000000\n\tCLONE_NEWNET                         = 0x40000000\n\tCLONE_NEWNS                          = 0x20000\n\tCLONE_NEWPID                         = 0x20000000\n\tCLONE_NEWUSER                        = 0x10000000\n\tCLONE_NEWUTS                         = 0x4000000\n\tCLONE_PARENT                         = 0x8000\n\tCLONE_PARENT_SETTID                  = 0x100000\n\tCLONE_PTRACE                         = 0x2000\n\tCLONE_SETTLS                         = 0x80000\n\tCLONE_SIGHAND                        = 0x800\n\tCLONE_SYSVSEM                        = 0x40000\n\tCLONE_THREAD                         = 0x10000\n\tCLONE_UNTRACED                       = 0x800000\n\tCLONE_VFORK                          = 0x4000\n\tCLONE_VM                             = 0x100\n\tCMSPAR                               = 0x40000000\n\tCODA_SUPER_MAGIC                     = 0x73757245\n\tCR0                                  = 0x0\n\tCR1                                  = 0x200\n\tCR2                                  = 0x400\n\tCR3                                  = 0x600\n\tCRAMFS_MAGIC                         = 0x28cd3d45\n\tCRDLY                                = 0x600\n\tCREAD                                = 0x80\n\tCRTSCTS                              = 0x80000000\n\tCS5                                  = 0x0\n\tCS6                                  = 0x10\n\tCS7                                  = 0x20\n\tCS8                                  = 0x30\n\tCSIGNAL                              = 0xff\n\tCSIZE                                = 0x30\n\tCSTART                               = 0x11\n\tCSTATUS                              = 0x0\n\tCSTOP                                = 0x13\n\tCSTOPB                               = 0x40\n\tCSUSP                                = 0x1a\n\tDAXFS_MAGIC                          = 0x64646178\n\tDEBUGFS_MAGIC                        = 0x64626720\n\tDEVPTS_SUPER_MAGIC                   = 0x1cd1\n\tDT_BLK                               = 0x6\n\tDT_CHR                               = 0x2\n\tDT_DIR                               = 0x4\n\tDT_FIFO                              = 0x1\n\tDT_LNK                               = 0xa\n\tDT_REG                               = 0x8\n\tDT_SOCK                              = 0xc\n\tDT_UNKNOWN                           = 0x0\n\tDT_WHT                               = 0xe\n\tECHO                                 = 0x8\n\tECHOCTL                              = 0x200\n\tECHOE                                = 0x10\n\tECHOK                                = 0x20\n\tECHOKE                               = 0x800\n\tECHONL                               = 0x40\n\tECHOPRT                              = 0x400\n\tECRYPTFS_SUPER_MAGIC                 = 0xf15f\n\tEFD_CLOEXEC                          = 0x80000\n\tEFD_NONBLOCK                         = 0x80\n\tEFD_SEMAPHORE                        = 0x1\n\tEFIVARFS_MAGIC                       = 0xde5e81e4\n\tEFS_SUPER_MAGIC                      = 0x414a53\n\tENCODING_DEFAULT                     = 0x0\n\tENCODING_FM_MARK                     = 0x3\n\tENCODING_FM_SPACE                    = 0x4\n\tENCODING_MANCHESTER                  = 0x5\n\tENCODING_NRZ                         = 0x1\n\tENCODING_NRZI                        = 0x2\n\tEPOLLERR                             = 0x8\n\tEPOLLET                              = 0x80000000\n\tEPOLLEXCLUSIVE                       = 0x10000000\n\tEPOLLHUP                             = 0x10\n\tEPOLLIN                              = 0x1\n\tEPOLLMSG                             = 0x400\n\tEPOLLONESHOT                         = 0x40000000\n\tEPOLLOUT                             = 0x4\n\tEPOLLPRI                             = 0x2\n\tEPOLLRDBAND                          = 0x80\n\tEPOLLRDHUP                           = 0x2000\n\tEPOLLRDNORM                          = 0x40\n\tEPOLLWAKEUP                          = 0x20000000\n\tEPOLLWRBAND                          = 0x200\n\tEPOLLWRNORM                          = 0x100\n\tEPOLL_CLOEXEC                        = 0x80000\n\tEPOLL_CTL_ADD                        = 0x1\n\tEPOLL_CTL_DEL                        = 0x2\n\tEPOLL_CTL_MOD                        = 0x3\n\tETH_P_1588                           = 0x88f7\n\tETH_P_8021AD                         = 0x88a8\n\tETH_P_8021AH                         = 0x88e7\n\tETH_P_8021Q                          = 0x8100\n\tETH_P_80221                          = 0x8917\n\tETH_P_802_2                          = 0x4\n\tETH_P_802_3                          = 0x1\n\tETH_P_802_3_MIN                      = 0x600\n\tETH_P_802_EX1                        = 0x88b5\n\tETH_P_AARP                           = 0x80f3\n\tETH_P_AF_IUCV                        = 0xfbfb\n\tETH_P_ALL                            = 0x3\n\tETH_P_AOE                            = 0x88a2\n\tETH_P_ARCNET                         = 0x1a\n\tETH_P_ARP                            = 0x806\n\tETH_P_ATALK                          = 0x809b\n\tETH_P_ATMFATE                        = 0x8884\n\tETH_P_ATMMPOA                        = 0x884c\n\tETH_P_AX25                           = 0x2\n\tETH_P_BATMAN                         = 0x4305\n\tETH_P_BPQ                            = 0x8ff\n\tETH_P_CAIF                           = 0xf7\n\tETH_P_CAN                            = 0xc\n\tETH_P_CANFD                          = 0xd\n\tETH_P_CONTROL                        = 0x16\n\tETH_P_CUST                           = 0x6006\n\tETH_P_DDCMP                          = 0x6\n\tETH_P_DEC                            = 0x6000\n\tETH_P_DIAG                           = 0x6005\n\tETH_P_DNA_DL                         = 0x6001\n\tETH_P_DNA_RC                         = 0x6002\n\tETH_P_DNA_RT                         = 0x6003\n\tETH_P_DSA                            = 0x1b\n\tETH_P_ECONET                         = 0x18\n\tETH_P_EDSA                           = 0xdada\n\tETH_P_ERSPAN                         = 0x88be\n\tETH_P_ERSPAN2                        = 0x22eb\n\tETH_P_FCOE                           = 0x8906\n\tETH_P_FIP                            = 0x8914\n\tETH_P_HDLC                           = 0x19\n\tETH_P_HSR                            = 0x892f\n\tETH_P_IBOE                           = 0x8915\n\tETH_P_IEEE802154                     = 0xf6\n\tETH_P_IEEEPUP                        = 0xa00\n\tETH_P_IEEEPUPAT                      = 0xa01\n\tETH_P_IFE                            = 0xed3e\n\tETH_P_IP                             = 0x800\n\tETH_P_IPV6                           = 0x86dd\n\tETH_P_IPX                            = 0x8137\n\tETH_P_IRDA                           = 0x17\n\tETH_P_LAT                            = 0x6004\n\tETH_P_LINK_CTL                       = 0x886c\n\tETH_P_LOCALTALK                      = 0x9\n\tETH_P_LOOP                           = 0x60\n\tETH_P_LOOPBACK                       = 0x9000\n\tETH_P_MACSEC                         = 0x88e5\n\tETH_P_MAP                            = 0xf9\n\tETH_P_MOBITEX                        = 0x15\n\tETH_P_MPLS_MC                        = 0x8848\n\tETH_P_MPLS_UC                        = 0x8847\n\tETH_P_MVRP                           = 0x88f5\n\tETH_P_NCSI                           = 0x88f8\n\tETH_P_NSH                            = 0x894f\n\tETH_P_PAE                            = 0x888e\n\tETH_P_PAUSE                          = 0x8808\n\tETH_P_PHONET                         = 0xf5\n\tETH_P_PPPTALK                        = 0x10\n\tETH_P_PPP_DISC                       = 0x8863\n\tETH_P_PPP_MP                         = 0x8\n\tETH_P_PPP_SES                        = 0x8864\n\tETH_P_PREAUTH                        = 0x88c7\n\tETH_P_PRP                            = 0x88fb\n\tETH_P_PUP                            = 0x200\n\tETH_P_PUPAT                          = 0x201\n\tETH_P_QINQ1                          = 0x9100\n\tETH_P_QINQ2                          = 0x9200\n\tETH_P_QINQ3                          = 0x9300\n\tETH_P_RARP                           = 0x8035\n\tETH_P_SCA                            = 0x6007\n\tETH_P_SLOW                           = 0x8809\n\tETH_P_SNAP                           = 0x5\n\tETH_P_TDLS                           = 0x890d\n\tETH_P_TEB                            = 0x6558\n\tETH_P_TIPC                           = 0x88ca\n\tETH_P_TRAILER                        = 0x1c\n\tETH_P_TR_802_2                       = 0x11\n\tETH_P_TSN                            = 0x22f0\n\tETH_P_WAN_PPP                        = 0x7\n\tETH_P_WCCP                           = 0x883e\n\tETH_P_X25                            = 0x805\n\tETH_P_XDSA                           = 0xf8\n\tEXABYTE_ENABLE_NEST                  = 0xf0\n\tEXT2_SUPER_MAGIC                     = 0xef53\n\tEXT3_SUPER_MAGIC                     = 0xef53\n\tEXT4_SUPER_MAGIC                     = 0xef53\n\tEXTA                                 = 0xe\n\tEXTB                                 = 0xf\n\tEXTPROC                              = 0x10000\n\tF2FS_SUPER_MAGIC                     = 0xf2f52010\n\tFALLOC_FL_COLLAPSE_RANGE             = 0x8\n\tFALLOC_FL_INSERT_RANGE               = 0x20\n\tFALLOC_FL_KEEP_SIZE                  = 0x1\n\tFALLOC_FL_NO_HIDE_STALE              = 0x4\n\tFALLOC_FL_PUNCH_HOLE                 = 0x2\n\tFALLOC_FL_UNSHARE_RANGE              = 0x40\n\tFALLOC_FL_ZERO_RANGE                 = 0x10\n\tFD_CLOEXEC                           = 0x1\n\tFD_SETSIZE                           = 0x400\n\tFF0                                  = 0x0\n\tFF1                                  = 0x8000\n\tFFDLY                                = 0x8000\n\tFLUSHO                               = 0x2000\n\tFS_ENCRYPTION_MODE_AES_128_CBC       = 0x5\n\tFS_ENCRYPTION_MODE_AES_128_CTS       = 0x6\n\tFS_ENCRYPTION_MODE_AES_256_CBC       = 0x3\n\tFS_ENCRYPTION_MODE_AES_256_CTS       = 0x4\n\tFS_ENCRYPTION_MODE_AES_256_GCM       = 0x2\n\tFS_ENCRYPTION_MODE_AES_256_XTS       = 0x1\n\tFS_ENCRYPTION_MODE_INVALID           = 0x0\n\tFS_ENCRYPTION_MODE_SPECK128_256_CTS  = 0x8\n\tFS_ENCRYPTION_MODE_SPECK128_256_XTS  = 0x7\n\tFS_IOC_GET_ENCRYPTION_POLICY         = 0x800c6615\n\tFS_IOC_GET_ENCRYPTION_PWSALT         = 0x80106614\n\tFS_IOC_SET_ENCRYPTION_POLICY         = 0x400c6613\n\tFS_KEY_DESCRIPTOR_SIZE               = 0x8\n\tFS_KEY_DESC_PREFIX                   = \"fscrypt:\"\n\tFS_KEY_DESC_PREFIX_SIZE              = 0x8\n\tFS_MAX_KEY_SIZE                      = 0x40\n\tFS_POLICY_FLAGS_PAD_16               = 0x2\n\tFS_POLICY_FLAGS_PAD_32               = 0x3\n\tFS_POLICY_FLAGS_PAD_4                = 0x0\n\tFS_POLICY_FLAGS_PAD_8                = 0x1\n\tFS_POLICY_FLAGS_PAD_MASK             = 0x3\n\tFS_POLICY_FLAGS_VALID                = 0x3\n\tFUTEXFS_SUPER_MAGIC                  = 0xbad1dea\n\tF_ADD_SEALS                          = 0x409\n\tF_DUPFD                              = 0x0\n\tF_DUPFD_CLOEXEC                      = 0x406\n\tF_EXLCK                              = 0x4\n\tF_GETFD                              = 0x1\n\tF_GETFL                              = 0x3\n\tF_GETLEASE                           = 0x401\n\tF_GETLK                              = 0xe\n\tF_GETLK64                            = 0xe\n\tF_GETOWN                             = 0x17\n\tF_GETOWN_EX                          = 0x10\n\tF_GETPIPE_SZ                         = 0x408\n\tF_GETSIG                             = 0xb\n\tF_GET_FILE_RW_HINT                   = 0x40d\n\tF_GET_RW_HINT                        = 0x40b\n\tF_GET_SEALS                          = 0x40a\n\tF_LOCK                               = 0x1\n\tF_NOTIFY                             = 0x402\n\tF_OFD_GETLK                          = 0x24\n\tF_OFD_SETLK                          = 0x25\n\tF_OFD_SETLKW                         = 0x26\n\tF_OK                                 = 0x0\n\tF_RDLCK                              = 0x0\n\tF_SEAL_GROW                          = 0x4\n\tF_SEAL_SEAL                          = 0x1\n\tF_SEAL_SHRINK                        = 0x2\n\tF_SEAL_WRITE                         = 0x8\n\tF_SETFD                              = 0x2\n\tF_SETFL                              = 0x4\n\tF_SETLEASE                           = 0x400\n\tF_SETLK                              = 0x6\n\tF_SETLK64                            = 0x6\n\tF_SETLKW                             = 0x7\n\tF_SETLKW64                           = 0x7\n\tF_SETOWN                             = 0x18\n\tF_SETOWN_EX                          = 0xf\n\tF_SETPIPE_SZ                         = 0x407\n\tF_SETSIG                             = 0xa\n\tF_SET_FILE_RW_HINT                   = 0x40e\n\tF_SET_RW_HINT                        = 0x40c\n\tF_SHLCK                              = 0x8\n\tF_TEST                               = 0x3\n\tF_TLOCK                              = 0x2\n\tF_ULOCK                              = 0x0\n\tF_UNLCK                              = 0x2\n\tF_WRLCK                              = 0x1\n\tGENL_ADMIN_PERM                      = 0x1\n\tGENL_CMD_CAP_DO                      = 0x2\n\tGENL_CMD_CAP_DUMP                    = 0x4\n\tGENL_CMD_CAP_HASPOL                  = 0x8\n\tGENL_HDRLEN                          = 0x4\n\tGENL_ID_CTRL                         = 0x10\n\tGENL_ID_PMCRAID                      = 0x12\n\tGENL_ID_VFS_DQUOT                    = 0x11\n\tGENL_MAX_ID                          = 0x3ff\n\tGENL_MIN_ID                          = 0x10\n\tGENL_NAMSIZ                          = 0x10\n\tGENL_START_ALLOC                     = 0x13\n\tGENL_UNS_ADMIN_PERM                  = 0x10\n\tGRND_NONBLOCK                        = 0x1\n\tGRND_RANDOM                          = 0x2\n\tHDIO_DRIVE_CMD                       = 0x31f\n\tHDIO_DRIVE_CMD_AEB                   = 0x31e\n\tHDIO_DRIVE_CMD_HDR_SIZE              = 0x4\n\tHDIO_DRIVE_HOB_HDR_SIZE              = 0x8\n\tHDIO_DRIVE_RESET                     = 0x31c\n\tHDIO_DRIVE_TASK                      = 0x31e\n\tHDIO_DRIVE_TASKFILE                  = 0x31d\n\tHDIO_DRIVE_TASK_HDR_SIZE             = 0x8\n\tHDIO_GETGEO                          = 0x301\n\tHDIO_GET_32BIT                       = 0x309\n\tHDIO_GET_ACOUSTIC                    = 0x30f\n\tHDIO_GET_ADDRESS                     = 0x310\n\tHDIO_GET_BUSSTATE                    = 0x31a\n\tHDIO_GET_DMA                         = 0x30b\n\tHDIO_GET_IDENTITY                    = 0x30d\n\tHDIO_GET_KEEPSETTINGS                = 0x308\n\tHDIO_GET_MULTCOUNT                   = 0x304\n\tHDIO_GET_NICE                        = 0x30c\n\tHDIO_GET_NOWERR                      = 0x30a\n\tHDIO_GET_QDMA                        = 0x305\n\tHDIO_GET_UNMASKINTR                  = 0x302\n\tHDIO_GET_WCACHE                      = 0x30e\n\tHDIO_OBSOLETE_IDENTITY               = 0x307\n\tHDIO_SCAN_HWIF                       = 0x328\n\tHDIO_SET_32BIT                       = 0x324\n\tHDIO_SET_ACOUSTIC                    = 0x32c\n\tHDIO_SET_ADDRESS                     = 0x32f\n\tHDIO_SET_BUSSTATE                    = 0x32d\n\tHDIO_SET_DMA                         = 0x326\n\tHDIO_SET_KEEPSETTINGS                = 0x323\n\tHDIO_SET_MULTCOUNT                   = 0x321\n\tHDIO_SET_NICE                        = 0x329\n\tHDIO_SET_NOWERR                      = 0x325\n\tHDIO_SET_PIO_MODE                    = 0x327\n\tHDIO_SET_QDMA                        = 0x32e\n\tHDIO_SET_UNMASKINTR                  = 0x322\n\tHDIO_SET_WCACHE                      = 0x32b\n\tHDIO_SET_XFER                        = 0x306\n\tHDIO_TRISTATE_HWIF                   = 0x31b\n\tHDIO_UNREGISTER_HWIF                 = 0x32a\n\tHOSTFS_SUPER_MAGIC                   = 0xc0ffee\n\tHPFS_SUPER_MAGIC                     = 0xf995e849\n\tHUGETLBFS_MAGIC                      = 0x958458f6\n\tHUPCL                                = 0x400\n\tIBSHIFT                              = 0x10\n\tICANON                               = 0x2\n\tICMPV6_FILTER                        = 0x1\n\tICRNL                                = 0x100\n\tIEXTEN                               = 0x100\n\tIFA_F_DADFAILED                      = 0x8\n\tIFA_F_DEPRECATED                     = 0x20\n\tIFA_F_HOMEADDRESS                    = 0x10\n\tIFA_F_MANAGETEMPADDR                 = 0x100\n\tIFA_F_MCAUTOJOIN                     = 0x400\n\tIFA_F_NODAD                          = 0x2\n\tIFA_F_NOPREFIXROUTE                  = 0x200\n\tIFA_F_OPTIMISTIC                     = 0x4\n\tIFA_F_PERMANENT                      = 0x80\n\tIFA_F_SECONDARY                      = 0x1\n\tIFA_F_STABLE_PRIVACY                 = 0x800\n\tIFA_F_TEMPORARY                      = 0x1\n\tIFA_F_TENTATIVE                      = 0x40\n\tIFA_MAX                              = 0x9\n\tIFF_ALLMULTI                         = 0x200\n\tIFF_ATTACH_QUEUE                     = 0x200\n\tIFF_AUTOMEDIA                        = 0x4000\n\tIFF_BROADCAST                        = 0x2\n\tIFF_DEBUG                            = 0x4\n\tIFF_DETACH_QUEUE                     = 0x400\n\tIFF_DORMANT                          = 0x20000\n\tIFF_DYNAMIC                          = 0x8000\n\tIFF_ECHO                             = 0x40000\n\tIFF_LOOPBACK                         = 0x8\n\tIFF_LOWER_UP                         = 0x10000\n\tIFF_MASTER                           = 0x400\n\tIFF_MULTICAST                        = 0x1000\n\tIFF_MULTI_QUEUE                      = 0x100\n\tIFF_NAPI                             = 0x10\n\tIFF_NAPI_FRAGS                       = 0x20\n\tIFF_NOARP                            = 0x80\n\tIFF_NOFILTER                         = 0x1000\n\tIFF_NOTRAILERS                       = 0x20\n\tIFF_NO_PI                            = 0x1000\n\tIFF_ONE_QUEUE                        = 0x2000\n\tIFF_PERSIST                          = 0x800\n\tIFF_POINTOPOINT                      = 0x10\n\tIFF_PORTSEL                          = 0x2000\n\tIFF_PROMISC                          = 0x100\n\tIFF_RUNNING                          = 0x40\n\tIFF_SLAVE                            = 0x800\n\tIFF_TAP                              = 0x2\n\tIFF_TUN                              = 0x1\n\tIFF_TUN_EXCL                         = 0x8000\n\tIFF_UP                               = 0x1\n\tIFF_VNET_HDR                         = 0x4000\n\tIFF_VOLATILE                         = 0x70c5a\n\tIFNAMSIZ                             = 0x10\n\tIGNBRK                               = 0x1\n\tIGNCR                                = 0x80\n\tIGNPAR                               = 0x4\n\tIMAXBEL                              = 0x2000\n\tINLCR                                = 0x40\n\tINPCK                                = 0x10\n\tIN_ACCESS                            = 0x1\n\tIN_ALL_EVENTS                        = 0xfff\n\tIN_ATTRIB                            = 0x4\n\tIN_CLASSA_HOST                       = 0xffffff\n\tIN_CLASSA_MAX                        = 0x80\n\tIN_CLASSA_NET                        = 0xff000000\n\tIN_CLASSA_NSHIFT                     = 0x18\n\tIN_CLASSB_HOST                       = 0xffff\n\tIN_CLASSB_MAX                        = 0x10000\n\tIN_CLASSB_NET                        = 0xffff0000\n\tIN_CLASSB_NSHIFT                     = 0x10\n\tIN_CLASSC_HOST                       = 0xff\n\tIN_CLASSC_NET                        = 0xffffff00\n\tIN_CLASSC_NSHIFT                     = 0x8\n\tIN_CLOEXEC                           = 0x80000\n\tIN_CLOSE                             = 0x18\n\tIN_CLOSE_NOWRITE                     = 0x10\n\tIN_CLOSE_WRITE                       = 0x8\n\tIN_CREATE                            = 0x100\n\tIN_DELETE                            = 0x200\n\tIN_DELETE_SELF                       = 0x400\n\tIN_DONT_FOLLOW                       = 0x2000000\n\tIN_EXCL_UNLINK                       = 0x4000000\n\tIN_IGNORED                           = 0x8000\n\tIN_ISDIR                             = 0x40000000\n\tIN_LOOPBACKNET                       = 0x7f\n\tIN_MASK_ADD                          = 0x20000000\n\tIN_MODIFY                            = 0x2\n\tIN_MOVE                              = 0xc0\n\tIN_MOVED_FROM                        = 0x40\n\tIN_MOVED_TO                          = 0x80\n\tIN_MOVE_SELF                         = 0x800\n\tIN_NONBLOCK                          = 0x80\n\tIN_ONESHOT                           = 0x80000000\n\tIN_ONLYDIR                           = 0x1000000\n\tIN_OPEN                              = 0x20\n\tIN_Q_OVERFLOW                        = 0x4000\n\tIN_UNMOUNT                           = 0x2000\n\tIOCTL_VM_SOCKETS_GET_LOCAL_CID       = 0x200007b9\n\tIPPROTO_AH                           = 0x33\n\tIPPROTO_BEETPH                       = 0x5e\n\tIPPROTO_COMP                         = 0x6c\n\tIPPROTO_DCCP                         = 0x21\n\tIPPROTO_DSTOPTS                      = 0x3c\n\tIPPROTO_EGP                          = 0x8\n\tIPPROTO_ENCAP                        = 0x62\n\tIPPROTO_ESP                          = 0x32\n\tIPPROTO_FRAGMENT                     = 0x2c\n\tIPPROTO_GRE                          = 0x2f\n\tIPPROTO_HOPOPTS                      = 0x0\n\tIPPROTO_ICMP                         = 0x1\n\tIPPROTO_ICMPV6                       = 0x3a\n\tIPPROTO_IDP                          = 0x16\n\tIPPROTO_IGMP                         = 0x2\n\tIPPROTO_IP                           = 0x0\n\tIPPROTO_IPIP                         = 0x4\n\tIPPROTO_IPV6                         = 0x29\n\tIPPROTO_MH                           = 0x87\n\tIPPROTO_MPLS                         = 0x89\n\tIPPROTO_MTP                          = 0x5c\n\tIPPROTO_NONE                         = 0x3b\n\tIPPROTO_PIM                          = 0x67\n\tIPPROTO_PUP                          = 0xc\n\tIPPROTO_RAW                          = 0xff\n\tIPPROTO_ROUTING                      = 0x2b\n\tIPPROTO_RSVP                         = 0x2e\n\tIPPROTO_SCTP                         = 0x84\n\tIPPROTO_TCP                          = 0x6\n\tIPPROTO_TP                           = 0x1d\n\tIPPROTO_UDP                          = 0x11\n\tIPPROTO_UDPLITE                      = 0x88\n\tIPV6_2292DSTOPTS                     = 0x4\n\tIPV6_2292HOPLIMIT                    = 0x8\n\tIPV6_2292HOPOPTS                     = 0x3\n\tIPV6_2292PKTINFO                     = 0x2\n\tIPV6_2292PKTOPTIONS                  = 0x6\n\tIPV6_2292RTHDR                       = 0x5\n\tIPV6_ADDRFORM                        = 0x1\n\tIPV6_ADDR_PREFERENCES                = 0x48\n\tIPV6_ADD_MEMBERSHIP                  = 0x14\n\tIPV6_AUTHHDR                         = 0xa\n\tIPV6_AUTOFLOWLABEL                   = 0x46\n\tIPV6_CHECKSUM                        = 0x7\n\tIPV6_DONTFRAG                        = 0x3e\n\tIPV6_DROP_MEMBERSHIP                 = 0x15\n\tIPV6_DSTOPTS                         = 0x3b\n\tIPV6_FREEBIND                        = 0x4e\n\tIPV6_HDRINCL                         = 0x24\n\tIPV6_HOPLIMIT                        = 0x34\n\tIPV6_HOPOPTS                         = 0x36\n\tIPV6_IPSEC_POLICY                    = 0x22\n\tIPV6_JOIN_ANYCAST                    = 0x1b\n\tIPV6_JOIN_GROUP                      = 0x14\n\tIPV6_LEAVE_ANYCAST                   = 0x1c\n\tIPV6_LEAVE_GROUP                     = 0x15\n\tIPV6_MINHOPCOUNT                     = 0x49\n\tIPV6_MTU                             = 0x18\n\tIPV6_MTU_DISCOVER                    = 0x17\n\tIPV6_MULTICAST_HOPS                  = 0x12\n\tIPV6_MULTICAST_IF                    = 0x11\n\tIPV6_MULTICAST_LOOP                  = 0x13\n\tIPV6_NEXTHOP                         = 0x9\n\tIPV6_ORIGDSTADDR                     = 0x4a\n\tIPV6_PATHMTU                         = 0x3d\n\tIPV6_PKTINFO                         = 0x32\n\tIPV6_PMTUDISC_DO                     = 0x2\n\tIPV6_PMTUDISC_DONT                   = 0x0\n\tIPV6_PMTUDISC_INTERFACE              = 0x4\n\tIPV6_PMTUDISC_OMIT                   = 0x5\n\tIPV6_PMTUDISC_PROBE                  = 0x3\n\tIPV6_PMTUDISC_WANT                   = 0x1\n\tIPV6_RECVDSTOPTS                     = 0x3a\n\tIPV6_RECVERR                         = 0x19\n\tIPV6_RECVFRAGSIZE                    = 0x4d\n\tIPV6_RECVHOPLIMIT                    = 0x33\n\tIPV6_RECVHOPOPTS                     = 0x35\n\tIPV6_RECVORIGDSTADDR                 = 0x4a\n\tIPV6_RECVPATHMTU                     = 0x3c\n\tIPV6_RECVPKTINFO                     = 0x31\n\tIPV6_RECVRTHDR                       = 0x38\n\tIPV6_RECVTCLASS                      = 0x42\n\tIPV6_ROUTER_ALERT                    = 0x16\n\tIPV6_RTHDR                           = 0x39\n\tIPV6_RTHDRDSTOPTS                    = 0x37\n\tIPV6_RTHDR_LOOSE                     = 0x0\n\tIPV6_RTHDR_STRICT                    = 0x1\n\tIPV6_RTHDR_TYPE_0                    = 0x0\n\tIPV6_RXDSTOPTS                       = 0x3b\n\tIPV6_RXHOPOPTS                       = 0x36\n\tIPV6_TCLASS                          = 0x43\n\tIPV6_TRANSPARENT                     = 0x4b\n\tIPV6_UNICAST_HOPS                    = 0x10\n\tIPV6_UNICAST_IF                      = 0x4c\n\tIPV6_V6ONLY                          = 0x1a\n\tIPV6_XFRM_POLICY                     = 0x23\n\tIP_ADD_MEMBERSHIP                    = 0x23\n\tIP_ADD_SOURCE_MEMBERSHIP             = 0x27\n\tIP_BIND_ADDRESS_NO_PORT              = 0x18\n\tIP_BLOCK_SOURCE                      = 0x26\n\tIP_CHECKSUM                          = 0x17\n\tIP_DEFAULT_MULTICAST_LOOP            = 0x1\n\tIP_DEFAULT_MULTICAST_TTL             = 0x1\n\tIP_DF                                = 0x4000\n\tIP_DROP_MEMBERSHIP                   = 0x24\n\tIP_DROP_SOURCE_MEMBERSHIP            = 0x28\n\tIP_FREEBIND                          = 0xf\n\tIP_HDRINCL                           = 0x3\n\tIP_IPSEC_POLICY                      = 0x10\n\tIP_MAXPACKET                         = 0xffff\n\tIP_MAX_MEMBERSHIPS                   = 0x14\n\tIP_MF                                = 0x2000\n\tIP_MINTTL                            = 0x15\n\tIP_MSFILTER                          = 0x29\n\tIP_MSS                               = 0x240\n\tIP_MTU                               = 0xe\n\tIP_MTU_DISCOVER                      = 0xa\n\tIP_MULTICAST_ALL                     = 0x31\n\tIP_MULTICAST_IF                      = 0x20\n\tIP_MULTICAST_LOOP                    = 0x22\n\tIP_MULTICAST_TTL                     = 0x21\n\tIP_NODEFRAG                          = 0x16\n\tIP_OFFMASK                           = 0x1fff\n\tIP_OPTIONS                           = 0x4\n\tIP_ORIGDSTADDR                       = 0x14\n\tIP_PASSSEC                           = 0x12\n\tIP_PKTINFO                           = 0x8\n\tIP_PKTOPTIONS                        = 0x9\n\tIP_PMTUDISC                          = 0xa\n\tIP_PMTUDISC_DO                       = 0x2\n\tIP_PMTUDISC_DONT                     = 0x0\n\tIP_PMTUDISC_INTERFACE                = 0x4\n\tIP_PMTUDISC_OMIT                     = 0x5\n\tIP_PMTUDISC_PROBE                    = 0x3\n\tIP_PMTUDISC_WANT                     = 0x1\n\tIP_RECVERR                           = 0xb\n\tIP_RECVFRAGSIZE                      = 0x19\n\tIP_RECVOPTS                          = 0x6\n\tIP_RECVORIGDSTADDR                   = 0x14\n\tIP_RECVRETOPTS                       = 0x7\n\tIP_RECVTOS                           = 0xd\n\tIP_RECVTTL                           = 0xc\n\tIP_RETOPTS                           = 0x7\n\tIP_RF                                = 0x8000\n\tIP_ROUTER_ALERT                      = 0x5\n\tIP_TOS                               = 0x1\n\tIP_TRANSPARENT                       = 0x13\n\tIP_TTL                               = 0x2\n\tIP_UNBLOCK_SOURCE                    = 0x25\n\tIP_UNICAST_IF                        = 0x32\n\tIP_XFRM_POLICY                       = 0x11\n\tISIG                                 = 0x1\n\tISOFS_SUPER_MAGIC                    = 0x9660\n\tISTRIP                               = 0x20\n\tIUCLC                                = 0x200\n\tIUTF8                                = 0x4000\n\tIXANY                                = 0x800\n\tIXOFF                                = 0x1000\n\tIXON                                 = 0x400\n\tJFFS2_SUPER_MAGIC                    = 0x72b6\n\tKEYCTL_ASSUME_AUTHORITY              = 0x10\n\tKEYCTL_CHOWN                         = 0x4\n\tKEYCTL_CLEAR                         = 0x7\n\tKEYCTL_DESCRIBE                      = 0x6\n\tKEYCTL_DH_COMPUTE                    = 0x17\n\tKEYCTL_GET_KEYRING_ID                = 0x0\n\tKEYCTL_GET_PERSISTENT                = 0x16\n\tKEYCTL_GET_SECURITY                  = 0x11\n\tKEYCTL_INSTANTIATE                   = 0xc\n\tKEYCTL_INSTANTIATE_IOV               = 0x14\n\tKEYCTL_INVALIDATE                    = 0x15\n\tKEYCTL_JOIN_SESSION_KEYRING          = 0x1\n\tKEYCTL_LINK                          = 0x8\n\tKEYCTL_NEGATE                        = 0xd\n\tKEYCTL_READ                          = 0xb\n\tKEYCTL_REJECT                        = 0x13\n\tKEYCTL_RESTRICT_KEYRING              = 0x1d\n\tKEYCTL_REVOKE                        = 0x3\n\tKEYCTL_SEARCH                        = 0xa\n\tKEYCTL_SESSION_TO_PARENT             = 0x12\n\tKEYCTL_SETPERM                       = 0x5\n\tKEYCTL_SET_REQKEY_KEYRING            = 0xe\n\tKEYCTL_SET_TIMEOUT                   = 0xf\n\tKEYCTL_UNLINK                        = 0x9\n\tKEYCTL_UPDATE                        = 0x2\n\tKEY_REQKEY_DEFL_DEFAULT              = 0x0\n\tKEY_REQKEY_DEFL_GROUP_KEYRING        = 0x6\n\tKEY_REQKEY_DEFL_NO_CHANGE            = -0x1\n\tKEY_REQKEY_DEFL_PROCESS_KEYRING      = 0x2\n\tKEY_REQKEY_DEFL_REQUESTOR_KEYRING    = 0x7\n\tKEY_REQKEY_DEFL_SESSION_KEYRING      = 0x3\n\tKEY_REQKEY_DEFL_THREAD_KEYRING       = 0x1\n\tKEY_REQKEY_DEFL_USER_KEYRING         = 0x4\n\tKEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5\n\tKEY_SPEC_GROUP_KEYRING               = -0x6\n\tKEY_SPEC_PROCESS_KEYRING             = -0x2\n\tKEY_SPEC_REQKEY_AUTH_KEY             = -0x7\n\tKEY_SPEC_REQUESTOR_KEYRING           = -0x8\n\tKEY_SPEC_SESSION_KEYRING             = -0x3\n\tKEY_SPEC_THREAD_KEYRING              = -0x1\n\tKEY_SPEC_USER_KEYRING                = -0x4\n\tKEY_SPEC_USER_SESSION_KEYRING        = -0x5\n\tLINUX_REBOOT_CMD_CAD_OFF             = 0x0\n\tLINUX_REBOOT_CMD_CAD_ON              = 0x89abcdef\n\tLINUX_REBOOT_CMD_HALT                = 0xcdef0123\n\tLINUX_REBOOT_CMD_KEXEC               = 0x45584543\n\tLINUX_REBOOT_CMD_POWER_OFF           = 0x4321fedc\n\tLINUX_REBOOT_CMD_RESTART             = 0x1234567\n\tLINUX_REBOOT_CMD_RESTART2            = 0xa1b2c3d4\n\tLINUX_REBOOT_CMD_SW_SUSPEND          = 0xd000fce2\n\tLINUX_REBOOT_MAGIC1                  = 0xfee1dead\n\tLINUX_REBOOT_MAGIC2                  = 0x28121969\n\tLOCK_EX                              = 0x2\n\tLOCK_NB                              = 0x4\n\tLOCK_SH                              = 0x1\n\tLOCK_UN                              = 0x8\n\tMADV_DODUMP                          = 0x11\n\tMADV_DOFORK                          = 0xb\n\tMADV_DONTDUMP                        = 0x10\n\tMADV_DONTFORK                        = 0xa\n\tMADV_DONTNEED                        = 0x4\n\tMADV_FREE                            = 0x8\n\tMADV_HUGEPAGE                        = 0xe\n\tMADV_HWPOISON                        = 0x64\n\tMADV_KEEPONFORK                      = 0x13\n\tMADV_MERGEABLE                       = 0xc\n\tMADV_NOHUGEPAGE                      = 0xf\n\tMADV_NORMAL                          = 0x0\n\tMADV_RANDOM                          = 0x1\n\tMADV_REMOVE                          = 0x9\n\tMADV_SEQUENTIAL                      = 0x2\n\tMADV_UNMERGEABLE                     = 0xd\n\tMADV_WILLNEED                        = 0x3\n\tMADV_WIPEONFORK                      = 0x12\n\tMAP_ANON                             = 0x800\n\tMAP_ANONYMOUS                        = 0x800\n\tMAP_DENYWRITE                        = 0x2000\n\tMAP_EXECUTABLE                       = 0x4000\n\tMAP_FILE                             = 0x0\n\tMAP_FIXED                            = 0x10\n\tMAP_FIXED_NOREPLACE                  = 0x100000\n\tMAP_GROWSDOWN                        = 0x1000\n\tMAP_HUGETLB                          = 0x80000\n\tMAP_HUGE_MASK                        = 0x3f\n\tMAP_HUGE_SHIFT                       = 0x1a\n\tMAP_LOCKED                           = 0x8000\n\tMAP_NONBLOCK                         = 0x20000\n\tMAP_NORESERVE                        = 0x400\n\tMAP_POPULATE                         = 0x10000\n\tMAP_PRIVATE                          = 0x2\n\tMAP_RENAME                           = 0x800\n\tMAP_SHARED                           = 0x1\n\tMAP_SHARED_VALIDATE                  = 0x3\n\tMAP_STACK                            = 0x40000\n\tMAP_TYPE                             = 0xf\n\tMCL_CURRENT                          = 0x1\n\tMCL_FUTURE                           = 0x2\n\tMCL_ONFAULT                          = 0x4\n\tMINIX2_SUPER_MAGIC                   = 0x2468\n\tMINIX2_SUPER_MAGIC2                  = 0x2478\n\tMINIX3_SUPER_MAGIC                   = 0x4d5a\n\tMINIX_SUPER_MAGIC                    = 0x137f\n\tMINIX_SUPER_MAGIC2                   = 0x138f\n\tMNT_DETACH                           = 0x2\n\tMNT_EXPIRE                           = 0x4\n\tMNT_FORCE                            = 0x1\n\tMSDOS_SUPER_MAGIC                    = 0x4d44\n\tMSG_BATCH                            = 0x40000\n\tMSG_CMSG_CLOEXEC                     = 0x40000000\n\tMSG_CONFIRM                          = 0x800\n\tMSG_CTRUNC                           = 0x8\n\tMSG_DONTROUTE                        = 0x4\n\tMSG_DONTWAIT                         = 0x40\n\tMSG_EOR                              = 0x80\n\tMSG_ERRQUEUE                         = 0x2000\n\tMSG_FASTOPEN                         = 0x20000000\n\tMSG_FIN                              = 0x200\n\tMSG_MORE                             = 0x8000\n\tMSG_NOSIGNAL                         = 0x4000\n\tMSG_OOB                              = 0x1\n\tMSG_PEEK                             = 0x2\n\tMSG_PROXY                            = 0x10\n\tMSG_RST                              = 0x1000\n\tMSG_SYN                              = 0x400\n\tMSG_TRUNC                            = 0x20\n\tMSG_TRYHARD                          = 0x4\n\tMSG_WAITALL                          = 0x100\n\tMSG_WAITFORONE                       = 0x10000\n\tMSG_ZEROCOPY                         = 0x4000000\n\tMS_ACTIVE                            = 0x40000000\n\tMS_ASYNC                             = 0x1\n\tMS_BIND                              = 0x1000\n\tMS_BORN                              = 0x20000000\n\tMS_DIRSYNC                           = 0x80\n\tMS_INVALIDATE                        = 0x2\n\tMS_I_VERSION                         = 0x800000\n\tMS_KERNMOUNT                         = 0x400000\n\tMS_LAZYTIME                          = 0x2000000\n\tMS_MANDLOCK                          = 0x40\n\tMS_MGC_MSK                           = 0xffff0000\n\tMS_MGC_VAL                           = 0xc0ed0000\n\tMS_MOVE                              = 0x2000\n\tMS_NOATIME                           = 0x400\n\tMS_NODEV                             = 0x4\n\tMS_NODIRATIME                        = 0x800\n\tMS_NOEXEC                            = 0x8\n\tMS_NOREMOTELOCK                      = 0x8000000\n\tMS_NOSEC                             = 0x10000000\n\tMS_NOSUID                            = 0x2\n\tMS_NOUSER                            = -0x80000000\n\tMS_POSIXACL                          = 0x10000\n\tMS_PRIVATE                           = 0x40000\n\tMS_RDONLY                            = 0x1\n\tMS_REC                               = 0x4000\n\tMS_RELATIME                          = 0x200000\n\tMS_REMOUNT                           = 0x20\n\tMS_RMT_MASK                          = 0x2800051\n\tMS_SHARED                            = 0x100000\n\tMS_SILENT                            = 0x8000\n\tMS_SLAVE                             = 0x80000\n\tMS_STRICTATIME                       = 0x1000000\n\tMS_SUBMOUNT                          = 0x4000000\n\tMS_SYNC                              = 0x4\n\tMS_SYNCHRONOUS                       = 0x10\n\tMS_UNBINDABLE                        = 0x20000\n\tMS_VERBOSE                           = 0x8000\n\tMTD_INODE_FS_MAGIC                   = 0x11307854\n\tNAME_MAX                             = 0xff\n\tNCP_SUPER_MAGIC                      = 0x564c\n\tNETLINK_ADD_MEMBERSHIP               = 0x1\n\tNETLINK_AUDIT                        = 0x9\n\tNETLINK_BROADCAST_ERROR              = 0x4\n\tNETLINK_CAP_ACK                      = 0xa\n\tNETLINK_CONNECTOR                    = 0xb\n\tNETLINK_CRYPTO                       = 0x15\n\tNETLINK_DNRTMSG                      = 0xe\n\tNETLINK_DROP_MEMBERSHIP              = 0x2\n\tNETLINK_ECRYPTFS                     = 0x13\n\tNETLINK_EXT_ACK                      = 0xb\n\tNETLINK_FIB_LOOKUP                   = 0xa\n\tNETLINK_FIREWALL                     = 0x3\n\tNETLINK_GENERIC                      = 0x10\n\tNETLINK_INET_DIAG                    = 0x4\n\tNETLINK_IP6_FW                       = 0xd\n\tNETLINK_ISCSI                        = 0x8\n\tNETLINK_KOBJECT_UEVENT               = 0xf\n\tNETLINK_LISTEN_ALL_NSID              = 0x8\n\tNETLINK_LIST_MEMBERSHIPS             = 0x9\n\tNETLINK_NETFILTER                    = 0xc\n\tNETLINK_NFLOG                        = 0x5\n\tNETLINK_NO_ENOBUFS                   = 0x5\n\tNETLINK_PKTINFO                      = 0x3\n\tNETLINK_RDMA                         = 0x14\n\tNETLINK_ROUTE                        = 0x0\n\tNETLINK_RX_RING                      = 0x6\n\tNETLINK_SCSITRANSPORT                = 0x12\n\tNETLINK_SELINUX                      = 0x7\n\tNETLINK_SMC                          = 0x16\n\tNETLINK_SOCK_DIAG                    = 0x4\n\tNETLINK_TX_RING                      = 0x7\n\tNETLINK_UNUSED                       = 0x1\n\tNETLINK_USERSOCK                     = 0x2\n\tNETLINK_XFRM                         = 0x6\n\tNETNSA_MAX                           = 0x3\n\tNETNSA_NSID_NOT_ASSIGNED             = -0x1\n\tNFNETLINK_V0                         = 0x0\n\tNFNLGRP_ACCT_QUOTA                   = 0x8\n\tNFNLGRP_CONNTRACK_DESTROY            = 0x3\n\tNFNLGRP_CONNTRACK_EXP_DESTROY        = 0x6\n\tNFNLGRP_CONNTRACK_EXP_NEW            = 0x4\n\tNFNLGRP_CONNTRACK_EXP_UPDATE         = 0x5\n\tNFNLGRP_CONNTRACK_NEW                = 0x1\n\tNFNLGRP_CONNTRACK_UPDATE             = 0x2\n\tNFNLGRP_MAX                          = 0x9\n\tNFNLGRP_NFTABLES                     = 0x7\n\tNFNLGRP_NFTRACE                      = 0x9\n\tNFNLGRP_NONE                         = 0x0\n\tNFNL_BATCH_MAX                       = 0x1\n\tNFNL_MSG_BATCH_BEGIN                 = 0x10\n\tNFNL_MSG_BATCH_END                   = 0x11\n\tNFNL_NFA_NEST                        = 0x8000\n\tNFNL_SUBSYS_ACCT                     = 0x7\n\tNFNL_SUBSYS_COUNT                    = 0xc\n\tNFNL_SUBSYS_CTHELPER                 = 0x9\n\tNFNL_SUBSYS_CTNETLINK                = 0x1\n\tNFNL_SUBSYS_CTNETLINK_EXP            = 0x2\n\tNFNL_SUBSYS_CTNETLINK_TIMEOUT        = 0x8\n\tNFNL_SUBSYS_IPSET                    = 0x6\n\tNFNL_SUBSYS_NFTABLES                 = 0xa\n\tNFNL_SUBSYS_NFT_COMPAT               = 0xb\n\tNFNL_SUBSYS_NONE                     = 0x0\n\tNFNL_SUBSYS_OSF                      = 0x5\n\tNFNL_SUBSYS_QUEUE                    = 0x3\n\tNFNL_SUBSYS_ULOG                     = 0x4\n\tNFS_SUPER_MAGIC                      = 0x6969\n\tNILFS_SUPER_MAGIC                    = 0x3434\n\tNL0                                  = 0x0\n\tNL1                                  = 0x100\n\tNLA_ALIGNTO                          = 0x4\n\tNLA_F_NESTED                         = 0x8000\n\tNLA_F_NET_BYTEORDER                  = 0x4000\n\tNLA_HDRLEN                           = 0x4\n\tNLDLY                                = 0x100\n\tNLMSG_ALIGNTO                        = 0x4\n\tNLMSG_DONE                           = 0x3\n\tNLMSG_ERROR                          = 0x2\n\tNLMSG_HDRLEN                         = 0x10\n\tNLMSG_MIN_TYPE                       = 0x10\n\tNLMSG_NOOP                           = 0x1\n\tNLMSG_OVERRUN                        = 0x4\n\tNLM_F_ACK                            = 0x4\n\tNLM_F_ACK_TLVS                       = 0x200\n\tNLM_F_APPEND                         = 0x800\n\tNLM_F_ATOMIC                         = 0x400\n\tNLM_F_CAPPED                         = 0x100\n\tNLM_F_CREATE                         = 0x400\n\tNLM_F_DUMP                           = 0x300\n\tNLM_F_DUMP_FILTERED                  = 0x20\n\tNLM_F_DUMP_INTR                      = 0x10\n\tNLM_F_ECHO                           = 0x8\n\tNLM_F_EXCL                           = 0x200\n\tNLM_F_MATCH                          = 0x200\n\tNLM_F_MULTI                          = 0x2\n\tNLM_F_NONREC                         = 0x100\n\tNLM_F_REPLACE                        = 0x100\n\tNLM_F_REQUEST                        = 0x1\n\tNLM_F_ROOT                           = 0x100\n\tNOFLSH                               = 0x80\n\tNSFS_MAGIC                           = 0x6e736673\n\tOCFS2_SUPER_MAGIC                    = 0x7461636f\n\tOCRNL                                = 0x8\n\tOFDEL                                = 0x80\n\tOFILL                                = 0x40\n\tOLCUC                                = 0x2\n\tONLCR                                = 0x4\n\tONLRET                               = 0x20\n\tONOCR                                = 0x10\n\tOPENPROM_SUPER_MAGIC                 = 0x9fa1\n\tOPOST                                = 0x1\n\tOVERLAYFS_SUPER_MAGIC                = 0x794c7630\n\tO_ACCMODE                            = 0x3\n\tO_APPEND                             = 0x8\n\tO_ASYNC                              = 0x1000\n\tO_CLOEXEC                            = 0x80000\n\tO_CREAT                              = 0x100\n\tO_DIRECT                             = 0x8000\n\tO_DIRECTORY                          = 0x10000\n\tO_DSYNC                              = 0x10\n\tO_EXCL                               = 0x400\n\tO_FSYNC                              = 0x4010\n\tO_LARGEFILE                          = 0x0\n\tO_NDELAY                             = 0x80\n\tO_NOATIME                            = 0x40000\n\tO_NOCTTY                             = 0x800\n\tO_NOFOLLOW                           = 0x20000\n\tO_NONBLOCK                           = 0x80\n\tO_PATH                               = 0x200000\n\tO_RDONLY                             = 0x0\n\tO_RDWR                               = 0x2\n\tO_RSYNC                              = 0x4010\n\tO_SYNC                               = 0x4010\n\tO_TMPFILE                            = 0x410000\n\tO_TRUNC                              = 0x200\n\tO_WRONLY                             = 0x1\n\tPACKET_ADD_MEMBERSHIP                = 0x1\n\tPACKET_AUXDATA                       = 0x8\n\tPACKET_BROADCAST                     = 0x1\n\tPACKET_COPY_THRESH                   = 0x7\n\tPACKET_DROP_MEMBERSHIP               = 0x2\n\tPACKET_FANOUT                        = 0x12\n\tPACKET_FANOUT_CBPF                   = 0x6\n\tPACKET_FANOUT_CPU                    = 0x2\n\tPACKET_FANOUT_DATA                   = 0x16\n\tPACKET_FANOUT_EBPF                   = 0x7\n\tPACKET_FANOUT_FLAG_DEFRAG            = 0x8000\n\tPACKET_FANOUT_FLAG_ROLLOVER          = 0x1000\n\tPACKET_FANOUT_FLAG_UNIQUEID          = 0x2000\n\tPACKET_FANOUT_HASH                   = 0x0\n\tPACKET_FANOUT_LB                     = 0x1\n\tPACKET_FANOUT_QM                     = 0x5\n\tPACKET_FANOUT_RND                    = 0x4\n\tPACKET_FANOUT_ROLLOVER               = 0x3\n\tPACKET_FASTROUTE                     = 0x6\n\tPACKET_HDRLEN                        = 0xb\n\tPACKET_HOST                          = 0x0\n\tPACKET_KERNEL                        = 0x7\n\tPACKET_LOOPBACK                      = 0x5\n\tPACKET_LOSS                          = 0xe\n\tPACKET_MR_ALLMULTI                   = 0x2\n\tPACKET_MR_MULTICAST                  = 0x0\n\tPACKET_MR_PROMISC                    = 0x1\n\tPACKET_MR_UNICAST                    = 0x3\n\tPACKET_MULTICAST                     = 0x2\n\tPACKET_ORIGDEV                       = 0x9\n\tPACKET_OTHERHOST                     = 0x3\n\tPACKET_OUTGOING                      = 0x4\n\tPACKET_QDISC_BYPASS                  = 0x14\n\tPACKET_RECV_OUTPUT                   = 0x3\n\tPACKET_RESERVE                       = 0xc\n\tPACKET_ROLLOVER_STATS                = 0x15\n\tPACKET_RX_RING                       = 0x5\n\tPACKET_STATISTICS                    = 0x6\n\tPACKET_TIMESTAMP                     = 0x11\n\tPACKET_TX_HAS_OFF                    = 0x13\n\tPACKET_TX_RING                       = 0xd\n\tPACKET_TX_TIMESTAMP                  = 0x10\n\tPACKET_USER                          = 0x6\n\tPACKET_VERSION                       = 0xa\n\tPACKET_VNET_HDR                      = 0xf\n\tPARENB                               = 0x100\n\tPARITY_CRC16_PR0                     = 0x2\n\tPARITY_CRC16_PR0_CCITT               = 0x4\n\tPARITY_CRC16_PR1                     = 0x3\n\tPARITY_CRC16_PR1_CCITT               = 0x5\n\tPARITY_CRC32_PR0_CCITT               = 0x6\n\tPARITY_CRC32_PR1_CCITT               = 0x7\n\tPARITY_DEFAULT                       = 0x0\n\tPARITY_NONE                          = 0x1\n\tPARMRK                               = 0x8\n\tPARODD                               = 0x200\n\tPENDIN                               = 0x4000\n\tPERF_EVENT_IOC_DISABLE               = 0x20002401\n\tPERF_EVENT_IOC_ENABLE                = 0x20002400\n\tPERF_EVENT_IOC_ID                    = 0x40082407\n\tPERF_EVENT_IOC_MODIFY_ATTRIBUTES     = 0x8008240b\n\tPERF_EVENT_IOC_PAUSE_OUTPUT          = 0x80042409\n\tPERF_EVENT_IOC_PERIOD                = 0x80082404\n\tPERF_EVENT_IOC_QUERY_BPF             = 0xc008240a\n\tPERF_EVENT_IOC_REFRESH               = 0x20002402\n\tPERF_EVENT_IOC_RESET                 = 0x20002403\n\tPERF_EVENT_IOC_SET_BPF               = 0x80042408\n\tPERF_EVENT_IOC_SET_FILTER            = 0x80082406\n\tPERF_EVENT_IOC_SET_OUTPUT            = 0x20002405\n\tPIPEFS_MAGIC                         = 0x50495045\n\tPRIO_PGRP                            = 0x1\n\tPRIO_PROCESS                         = 0x0\n\tPRIO_USER                            = 0x2\n\tPROC_SUPER_MAGIC                     = 0x9fa0\n\tPROT_EXEC                            = 0x4\n\tPROT_GROWSDOWN                       = 0x1000000\n\tPROT_GROWSUP                         = 0x2000000\n\tPROT_NONE                            = 0x0\n\tPROT_READ                            = 0x1\n\tPROT_WRITE                           = 0x2\n\tPR_CAPBSET_DROP                      = 0x18\n\tPR_CAPBSET_READ                      = 0x17\n\tPR_CAP_AMBIENT                       = 0x2f\n\tPR_CAP_AMBIENT_CLEAR_ALL             = 0x4\n\tPR_CAP_AMBIENT_IS_SET                = 0x1\n\tPR_CAP_AMBIENT_LOWER                 = 0x3\n\tPR_CAP_AMBIENT_RAISE                 = 0x2\n\tPR_ENDIAN_BIG                        = 0x0\n\tPR_ENDIAN_LITTLE                     = 0x1\n\tPR_ENDIAN_PPC_LITTLE                 = 0x2\n\tPR_FPEMU_NOPRINT                     = 0x1\n\tPR_FPEMU_SIGFPE                      = 0x2\n\tPR_FP_EXC_ASYNC                      = 0x2\n\tPR_FP_EXC_DISABLED                   = 0x0\n\tPR_FP_EXC_DIV                        = 0x10000\n\tPR_FP_EXC_INV                        = 0x100000\n\tPR_FP_EXC_NONRECOV                   = 0x1\n\tPR_FP_EXC_OVF                        = 0x20000\n\tPR_FP_EXC_PRECISE                    = 0x3\n\tPR_FP_EXC_RES                        = 0x80000\n\tPR_FP_EXC_SW_ENABLE                  = 0x80\n\tPR_FP_EXC_UND                        = 0x40000\n\tPR_FP_MODE_FR                        = 0x1\n\tPR_FP_MODE_FRE                       = 0x2\n\tPR_GET_CHILD_SUBREAPER               = 0x25\n\tPR_GET_DUMPABLE                      = 0x3\n\tPR_GET_ENDIAN                        = 0x13\n\tPR_GET_FPEMU                         = 0x9\n\tPR_GET_FPEXC                         = 0xb\n\tPR_GET_FP_MODE                       = 0x2e\n\tPR_GET_KEEPCAPS                      = 0x7\n\tPR_GET_NAME                          = 0x10\n\tPR_GET_NO_NEW_PRIVS                  = 0x27\n\tPR_GET_PDEATHSIG                     = 0x2\n\tPR_GET_SECCOMP                       = 0x15\n\tPR_GET_SECUREBITS                    = 0x1b\n\tPR_GET_SPECULATION_CTRL              = 0x34\n\tPR_GET_THP_DISABLE                   = 0x2a\n\tPR_GET_TID_ADDRESS                   = 0x28\n\tPR_GET_TIMERSLACK                    = 0x1e\n\tPR_GET_TIMING                        = 0xd\n\tPR_GET_TSC                           = 0x19\n\tPR_GET_UNALIGN                       = 0x5\n\tPR_MCE_KILL                          = 0x21\n\tPR_MCE_KILL_CLEAR                    = 0x0\n\tPR_MCE_KILL_DEFAULT                  = 0x2\n\tPR_MCE_KILL_EARLY                    = 0x1\n\tPR_MCE_KILL_GET                      = 0x22\n\tPR_MCE_KILL_LATE                     = 0x0\n\tPR_MCE_KILL_SET                      = 0x1\n\tPR_MPX_DISABLE_MANAGEMENT            = 0x2c\n\tPR_MPX_ENABLE_MANAGEMENT             = 0x2b\n\tPR_SET_CHILD_SUBREAPER               = 0x24\n\tPR_SET_DUMPABLE                      = 0x4\n\tPR_SET_ENDIAN                        = 0x14\n\tPR_SET_FPEMU                         = 0xa\n\tPR_SET_FPEXC                         = 0xc\n\tPR_SET_FP_MODE                       = 0x2d\n\tPR_SET_KEEPCAPS                      = 0x8\n\tPR_SET_MM                            = 0x23\n\tPR_SET_MM_ARG_END                    = 0x9\n\tPR_SET_MM_ARG_START                  = 0x8\n\tPR_SET_MM_AUXV                       = 0xc\n\tPR_SET_MM_BRK                        = 0x7\n\tPR_SET_MM_END_CODE                   = 0x2\n\tPR_SET_MM_END_DATA                   = 0x4\n\tPR_SET_MM_ENV_END                    = 0xb\n\tPR_SET_MM_ENV_START                  = 0xa\n\tPR_SET_MM_EXE_FILE                   = 0xd\n\tPR_SET_MM_MAP                        = 0xe\n\tPR_SET_MM_MAP_SIZE                   = 0xf\n\tPR_SET_MM_START_BRK                  = 0x6\n\tPR_SET_MM_START_CODE                 = 0x1\n\tPR_SET_MM_START_DATA                 = 0x3\n\tPR_SET_MM_START_STACK                = 0x5\n\tPR_SET_NAME                          = 0xf\n\tPR_SET_NO_NEW_PRIVS                  = 0x26\n\tPR_SET_PDEATHSIG                     = 0x1\n\tPR_SET_PTRACER                       = 0x59616d61\n\tPR_SET_PTRACER_ANY                   = 0xffffffffffffffff\n\tPR_SET_SECCOMP                       = 0x16\n\tPR_SET_SECUREBITS                    = 0x1c\n\tPR_SET_SPECULATION_CTRL              = 0x35\n\tPR_SET_THP_DISABLE                   = 0x29\n\tPR_SET_TIMERSLACK                    = 0x1d\n\tPR_SET_TIMING                        = 0xe\n\tPR_SET_TSC                           = 0x1a\n\tPR_SET_UNALIGN                       = 0x6\n\tPR_SPEC_DISABLE                      = 0x4\n\tPR_SPEC_ENABLE                       = 0x2\n\tPR_SPEC_FORCE_DISABLE                = 0x8\n\tPR_SPEC_NOT_AFFECTED                 = 0x0\n\tPR_SPEC_PRCTL                        = 0x1\n\tPR_SPEC_STORE_BYPASS                 = 0x0\n\tPR_SVE_GET_VL                        = 0x33\n\tPR_SVE_SET_VL                        = 0x32\n\tPR_SVE_SET_VL_ONEXEC                 = 0x40000\n\tPR_SVE_VL_INHERIT                    = 0x20000\n\tPR_SVE_VL_LEN_MASK                   = 0xffff\n\tPR_TASK_PERF_EVENTS_DISABLE          = 0x1f\n\tPR_TASK_PERF_EVENTS_ENABLE           = 0x20\n\tPR_TIMING_STATISTICAL                = 0x0\n\tPR_TIMING_TIMESTAMP                  = 0x1\n\tPR_TSC_ENABLE                        = 0x1\n\tPR_TSC_SIGSEGV                       = 0x2\n\tPR_UNALIGN_NOPRINT                   = 0x1\n\tPR_UNALIGN_SIGBUS                    = 0x2\n\tPSTOREFS_MAGIC                       = 0x6165676c\n\tPTRACE_ATTACH                        = 0x10\n\tPTRACE_CONT                          = 0x7\n\tPTRACE_DETACH                        = 0x11\n\tPTRACE_EVENT_CLONE                   = 0x3\n\tPTRACE_EVENT_EXEC                    = 0x4\n\tPTRACE_EVENT_EXIT                    = 0x6\n\tPTRACE_EVENT_FORK                    = 0x1\n\tPTRACE_EVENT_SECCOMP                 = 0x7\n\tPTRACE_EVENT_STOP                    = 0x80\n\tPTRACE_EVENT_VFORK                   = 0x2\n\tPTRACE_EVENT_VFORK_DONE              = 0x5\n\tPTRACE_GETEVENTMSG                   = 0x4201\n\tPTRACE_GETFPREGS                     = 0xe\n\tPTRACE_GETREGS                       = 0xc\n\tPTRACE_GETREGSET                     = 0x4204\n\tPTRACE_GETSIGINFO                    = 0x4202\n\tPTRACE_GETSIGMASK                    = 0x420a\n\tPTRACE_GET_THREAD_AREA               = 0x19\n\tPTRACE_GET_THREAD_AREA_3264          = 0xc4\n\tPTRACE_GET_WATCH_REGS                = 0xd0\n\tPTRACE_INTERRUPT                     = 0x4207\n\tPTRACE_KILL                          = 0x8\n\tPTRACE_LISTEN                        = 0x4208\n\tPTRACE_OLDSETOPTIONS                 = 0x15\n\tPTRACE_O_EXITKILL                    = 0x100000\n\tPTRACE_O_MASK                        = 0x3000ff\n\tPTRACE_O_SUSPEND_SECCOMP             = 0x200000\n\tPTRACE_O_TRACECLONE                  = 0x8\n\tPTRACE_O_TRACEEXEC                   = 0x10\n\tPTRACE_O_TRACEEXIT                   = 0x40\n\tPTRACE_O_TRACEFORK                   = 0x2\n\tPTRACE_O_TRACESECCOMP                = 0x80\n\tPTRACE_O_TRACESYSGOOD                = 0x1\n\tPTRACE_O_TRACEVFORK                  = 0x4\n\tPTRACE_O_TRACEVFORKDONE              = 0x20\n\tPTRACE_PEEKDATA                      = 0x2\n\tPTRACE_PEEKDATA_3264                 = 0xc1\n\tPTRACE_PEEKSIGINFO                   = 0x4209\n\tPTRACE_PEEKSIGINFO_SHARED            = 0x1\n\tPTRACE_PEEKTEXT                      = 0x1\n\tPTRACE_PEEKTEXT_3264                 = 0xc0\n\tPTRACE_PEEKUSR                       = 0x3\n\tPTRACE_POKEDATA                      = 0x5\n\tPTRACE_POKEDATA_3264                 = 0xc3\n\tPTRACE_POKETEXT                      = 0x4\n\tPTRACE_POKETEXT_3264                 = 0xc2\n\tPTRACE_POKEUSR                       = 0x6\n\tPTRACE_SECCOMP_GET_FILTER            = 0x420c\n\tPTRACE_SECCOMP_GET_METADATA          = 0x420d\n\tPTRACE_SEIZE                         = 0x4206\n\tPTRACE_SETFPREGS                     = 0xf\n\tPTRACE_SETOPTIONS                    = 0x4200\n\tPTRACE_SETREGS                       = 0xd\n\tPTRACE_SETREGSET                     = 0x4205\n\tPTRACE_SETSIGINFO                    = 0x4203\n\tPTRACE_SETSIGMASK                    = 0x420b\n\tPTRACE_SET_THREAD_AREA               = 0x1a\n\tPTRACE_SET_WATCH_REGS                = 0xd1\n\tPTRACE_SINGLESTEP                    = 0x9\n\tPTRACE_SYSCALL                       = 0x18\n\tPTRACE_TRACEME                       = 0x0\n\tQNX4_SUPER_MAGIC                     = 0x2f\n\tQNX6_SUPER_MAGIC                     = 0x68191122\n\tRAMFS_MAGIC                          = 0x858458f6\n\tRDTGROUP_SUPER_MAGIC                 = 0x7655821\n\tREISERFS_SUPER_MAGIC                 = 0x52654973\n\tRENAME_EXCHANGE                      = 0x2\n\tRENAME_NOREPLACE                     = 0x1\n\tRENAME_WHITEOUT                      = 0x4\n\tRLIMIT_AS                            = 0x6\n\tRLIMIT_CORE                          = 0x4\n\tRLIMIT_CPU                           = 0x0\n\tRLIMIT_DATA                          = 0x2\n\tRLIMIT_FSIZE                         = 0x1\n\tRLIMIT_LOCKS                         = 0xa\n\tRLIMIT_MEMLOCK                       = 0x9\n\tRLIMIT_MSGQUEUE                      = 0xc\n\tRLIMIT_NICE                          = 0xd\n\tRLIMIT_NOFILE                        = 0x5\n\tRLIMIT_NPROC                         = 0x8\n\tRLIMIT_RSS                           = 0x7\n\tRLIMIT_RTPRIO                        = 0xe\n\tRLIMIT_RTTIME                        = 0xf\n\tRLIMIT_SIGPENDING                    = 0xb\n\tRLIMIT_STACK                         = 0x3\n\tRLIM_INFINITY                        = 0xffffffffffffffff\n\tRTAX_ADVMSS                          = 0x8\n\tRTAX_CC_ALGO                         = 0x10\n\tRTAX_CWND                            = 0x7\n\tRTAX_FASTOPEN_NO_COOKIE              = 0x11\n\tRTAX_FEATURES                        = 0xc\n\tRTAX_FEATURE_ALLFRAG                 = 0x8\n\tRTAX_FEATURE_ECN                     = 0x1\n\tRTAX_FEATURE_MASK                    = 0xf\n\tRTAX_FEATURE_SACK                    = 0x2\n\tRTAX_FEATURE_TIMESTAMP               = 0x4\n\tRTAX_HOPLIMIT                        = 0xa\n\tRTAX_INITCWND                        = 0xb\n\tRTAX_INITRWND                        = 0xe\n\tRTAX_LOCK                            = 0x1\n\tRTAX_MAX                             = 0x11\n\tRTAX_MTU                             = 0x2\n\tRTAX_QUICKACK                        = 0xf\n\tRTAX_REORDERING                      = 0x9\n\tRTAX_RTO_MIN                         = 0xd\n\tRTAX_RTT                             = 0x4\n\tRTAX_RTTVAR                          = 0x5\n\tRTAX_SSTHRESH                        = 0x6\n\tRTAX_UNSPEC                          = 0x0\n\tRTAX_WINDOW                          = 0x3\n\tRTA_ALIGNTO                          = 0x4\n\tRTA_MAX                              = 0x1d\n\tRTCF_DIRECTSRC                       = 0x4000000\n\tRTCF_DOREDIRECT                      = 0x1000000\n\tRTCF_LOG                             = 0x2000000\n\tRTCF_MASQ                            = 0x400000\n\tRTCF_NAT                             = 0x800000\n\tRTCF_VALVE                           = 0x200000\n\tRTC_AF                               = 0x20\n\tRTC_AIE_OFF                          = 0x20007002\n\tRTC_AIE_ON                           = 0x20007001\n\tRTC_ALM_READ                         = 0x40247008\n\tRTC_ALM_SET                          = 0x80247007\n\tRTC_EPOCH_READ                       = 0x4008700d\n\tRTC_EPOCH_SET                        = 0x8008700e\n\tRTC_IRQF                             = 0x80\n\tRTC_IRQP_READ                        = 0x4008700b\n\tRTC_IRQP_SET                         = 0x8008700c\n\tRTC_MAX_FREQ                         = 0x2000\n\tRTC_PF                               = 0x40\n\tRTC_PIE_OFF                          = 0x20007006\n\tRTC_PIE_ON                           = 0x20007005\n\tRTC_PLL_GET                          = 0x40207011\n\tRTC_PLL_SET                          = 0x80207012\n\tRTC_RD_TIME                          = 0x40247009\n\tRTC_SET_TIME                         = 0x8024700a\n\tRTC_UF                               = 0x10\n\tRTC_UIE_OFF                          = 0x20007004\n\tRTC_UIE_ON                           = 0x20007003\n\tRTC_VL_CLR                           = 0x20007014\n\tRTC_VL_READ                          = 0x40047013\n\tRTC_WIE_OFF                          = 0x20007010\n\tRTC_WIE_ON                           = 0x2000700f\n\tRTC_WKALM_RD                         = 0x40287010\n\tRTC_WKALM_SET                        = 0x8028700f\n\tRTF_ADDRCLASSMASK                    = 0xf8000000\n\tRTF_ADDRCONF                         = 0x40000\n\tRTF_ALLONLINK                        = 0x20000\n\tRTF_BROADCAST                        = 0x10000000\n\tRTF_CACHE                            = 0x1000000\n\tRTF_DEFAULT                          = 0x10000\n\tRTF_DYNAMIC                          = 0x10\n\tRTF_FLOW                             = 0x2000000\n\tRTF_GATEWAY                          = 0x2\n\tRTF_HOST                             = 0x4\n\tRTF_INTERFACE                        = 0x40000000\n\tRTF_IRTT                             = 0x100\n\tRTF_LINKRT                           = 0x100000\n\tRTF_LOCAL                            = 0x80000000\n\tRTF_MODIFIED                         = 0x20\n\tRTF_MSS                              = 0x40\n\tRTF_MTU                              = 0x40\n\tRTF_MULTICAST                        = 0x20000000\n\tRTF_NAT                              = 0x8000000\n\tRTF_NOFORWARD                        = 0x1000\n\tRTF_NONEXTHOP                        = 0x200000\n\tRTF_NOPMTUDISC                       = 0x4000\n\tRTF_POLICY                           = 0x4000000\n\tRTF_REINSTATE                        = 0x8\n\tRTF_REJECT                           = 0x200\n\tRTF_STATIC                           = 0x400\n\tRTF_THROW                            = 0x2000\n\tRTF_UP                               = 0x1\n\tRTF_WINDOW                           = 0x80\n\tRTF_XRESOLVE                         = 0x800\n\tRTM_BASE                             = 0x10\n\tRTM_DELACTION                        = 0x31\n\tRTM_DELADDR                          = 0x15\n\tRTM_DELADDRLABEL                     = 0x49\n\tRTM_DELLINK                          = 0x11\n\tRTM_DELMDB                           = 0x55\n\tRTM_DELNEIGH                         = 0x1d\n\tRTM_DELNETCONF                       = 0x51\n\tRTM_DELNSID                          = 0x59\n\tRTM_DELQDISC                         = 0x25\n\tRTM_DELROUTE                         = 0x19\n\tRTM_DELRULE                          = 0x21\n\tRTM_DELTCLASS                        = 0x29\n\tRTM_DELTFILTER                       = 0x2d\n\tRTM_F_CLONED                         = 0x200\n\tRTM_F_EQUALIZE                       = 0x400\n\tRTM_F_FIB_MATCH                      = 0x2000\n\tRTM_F_LOOKUP_TABLE                   = 0x1000\n\tRTM_F_NOTIFY                         = 0x100\n\tRTM_F_PREFIX                         = 0x800\n\tRTM_GETACTION                        = 0x32\n\tRTM_GETADDR                          = 0x16\n\tRTM_GETADDRLABEL                     = 0x4a\n\tRTM_GETANYCAST                       = 0x3e\n\tRTM_GETDCB                           = 0x4e\n\tRTM_GETLINK                          = 0x12\n\tRTM_GETMDB                           = 0x56\n\tRTM_GETMULTICAST                     = 0x3a\n\tRTM_GETNEIGH                         = 0x1e\n\tRTM_GETNEIGHTBL                      = 0x42\n\tRTM_GETNETCONF                       = 0x52\n\tRTM_GETNSID                          = 0x5a\n\tRTM_GETQDISC                         = 0x26\n\tRTM_GETROUTE                         = 0x1a\n\tRTM_GETRULE                          = 0x22\n\tRTM_GETSTATS                         = 0x5e\n\tRTM_GETTCLASS                        = 0x2a\n\tRTM_GETTFILTER                       = 0x2e\n\tRTM_MAX                              = 0x63\n\tRTM_NEWACTION                        = 0x30\n\tRTM_NEWADDR                          = 0x14\n\tRTM_NEWADDRLABEL                     = 0x48\n\tRTM_NEWCACHEREPORT                   = 0x60\n\tRTM_NEWLINK                          = 0x10\n\tRTM_NEWMDB                           = 0x54\n\tRTM_NEWNDUSEROPT                     = 0x44\n\tRTM_NEWNEIGH                         = 0x1c\n\tRTM_NEWNEIGHTBL                      = 0x40\n\tRTM_NEWNETCONF                       = 0x50\n\tRTM_NEWNSID                          = 0x58\n\tRTM_NEWPREFIX                        = 0x34\n\tRTM_NEWQDISC                         = 0x24\n\tRTM_NEWROUTE                         = 0x18\n\tRTM_NEWRULE                          = 0x20\n\tRTM_NEWSTATS                         = 0x5c\n\tRTM_NEWTCLASS                        = 0x28\n\tRTM_NEWTFILTER                       = 0x2c\n\tRTM_NR_FAMILIES                      = 0x15\n\tRTM_NR_MSGTYPES                      = 0x54\n\tRTM_SETDCB                           = 0x4f\n\tRTM_SETLINK                          = 0x13\n\tRTM_SETNEIGHTBL                      = 0x43\n\tRTNH_ALIGNTO                         = 0x4\n\tRTNH_COMPARE_MASK                    = 0x19\n\tRTNH_F_DEAD                          = 0x1\n\tRTNH_F_LINKDOWN                      = 0x10\n\tRTNH_F_OFFLOAD                       = 0x8\n\tRTNH_F_ONLINK                        = 0x4\n\tRTNH_F_PERVASIVE                     = 0x2\n\tRTNH_F_UNRESOLVED                    = 0x20\n\tRTN_MAX                              = 0xb\n\tRTPROT_BABEL                         = 0x2a\n\tRTPROT_BGP                           = 0xba\n\tRTPROT_BIRD                          = 0xc\n\tRTPROT_BOOT                          = 0x3\n\tRTPROT_DHCP                          = 0x10\n\tRTPROT_DNROUTED                      = 0xd\n\tRTPROT_EIGRP                         = 0xc0\n\tRTPROT_GATED                         = 0x8\n\tRTPROT_ISIS                          = 0xbb\n\tRTPROT_KERNEL                        = 0x2\n\tRTPROT_MROUTED                       = 0x11\n\tRTPROT_MRT                           = 0xa\n\tRTPROT_NTK                           = 0xf\n\tRTPROT_OSPF                          = 0xbc\n\tRTPROT_RA                            = 0x9\n\tRTPROT_REDIRECT                      = 0x1\n\tRTPROT_RIP                           = 0xbd\n\tRTPROT_STATIC                        = 0x4\n\tRTPROT_UNSPEC                        = 0x0\n\tRTPROT_XORP                          = 0xe\n\tRTPROT_ZEBRA                         = 0xb\n\tRT_CLASS_DEFAULT                     = 0xfd\n\tRT_CLASS_LOCAL                       = 0xff\n\tRT_CLASS_MAIN                        = 0xfe\n\tRT_CLASS_MAX                         = 0xff\n\tRT_CLASS_UNSPEC                      = 0x0\n\tRUSAGE_CHILDREN                      = -0x1\n\tRUSAGE_SELF                          = 0x0\n\tRUSAGE_THREAD                        = 0x1\n\tSCM_CREDENTIALS                      = 0x2\n\tSCM_RIGHTS                           = 0x1\n\tSCM_TIMESTAMP                        = 0x1d\n\tSCM_TIMESTAMPING                     = 0x25\n\tSCM_TIMESTAMPING_OPT_STATS           = 0x36\n\tSCM_TIMESTAMPING_PKTINFO             = 0x3a\n\tSCM_TIMESTAMPNS                      = 0x23\n\tSCM_WIFI_STATUS                      = 0x29\n\tSECCOMP_MODE_DISABLED                = 0x0\n\tSECCOMP_MODE_FILTER                  = 0x2\n\tSECCOMP_MODE_STRICT                  = 0x1\n\tSECURITYFS_MAGIC                     = 0x73636673\n\tSELINUX_MAGIC                        = 0xf97cff8c\n\tSHUT_RD                              = 0x0\n\tSHUT_RDWR                            = 0x2\n\tSHUT_WR                              = 0x1\n\tSIOCADDDLCI                          = 0x8980\n\tSIOCADDMULTI                         = 0x8931\n\tSIOCADDRT                            = 0x890b\n\tSIOCATMARK                           = 0x40047307\n\tSIOCBONDCHANGEACTIVE                 = 0x8995\n\tSIOCBONDENSLAVE                      = 0x8990\n\tSIOCBONDINFOQUERY                    = 0x8994\n\tSIOCBONDRELEASE                      = 0x8991\n\tSIOCBONDSETHWADDR                    = 0x8992\n\tSIOCBONDSLAVEINFOQUERY               = 0x8993\n\tSIOCBRADDBR                          = 0x89a0\n\tSIOCBRADDIF                          = 0x89a2\n\tSIOCBRDELBR                          = 0x89a1\n\tSIOCBRDELIF                          = 0x89a3\n\tSIOCDARP                             = 0x8953\n\tSIOCDELDLCI                          = 0x8981\n\tSIOCDELMULTI                         = 0x8932\n\tSIOCDELRT                            = 0x890c\n\tSIOCDEVPRIVATE                       = 0x89f0\n\tSIOCDIFADDR                          = 0x8936\n\tSIOCDRARP                            = 0x8960\n\tSIOCETHTOOL                          = 0x8946\n\tSIOCGARP                             = 0x8954\n\tSIOCGHWTSTAMP                        = 0x89b1\n\tSIOCGIFADDR                          = 0x8915\n\tSIOCGIFBR                            = 0x8940\n\tSIOCGIFBRDADDR                       = 0x8919\n\tSIOCGIFCONF                          = 0x8912\n\tSIOCGIFCOUNT                         = 0x8938\n\tSIOCGIFDSTADDR                       = 0x8917\n\tSIOCGIFENCAP                         = 0x8925\n\tSIOCGIFFLAGS                         = 0x8913\n\tSIOCGIFHWADDR                        = 0x8927\n\tSIOCGIFINDEX                         = 0x8933\n\tSIOCGIFMAP                           = 0x8970\n\tSIOCGIFMEM                           = 0x891f\n\tSIOCGIFMETRIC                        = 0x891d\n\tSIOCGIFMTU                           = 0x8921\n\tSIOCGIFNAME                          = 0x8910\n\tSIOCGIFNETMASK                       = 0x891b\n\tSIOCGIFPFLAGS                        = 0x8935\n\tSIOCGIFSLAVE                         = 0x8929\n\tSIOCGIFTXQLEN                        = 0x8942\n\tSIOCGIFVLAN                          = 0x8982\n\tSIOCGMIIPHY                          = 0x8947\n\tSIOCGMIIREG                          = 0x8948\n\tSIOCGPGRP                            = 0x40047309\n\tSIOCGRARP                            = 0x8961\n\tSIOCGSKNS                            = 0x894c\n\tSIOCGSTAMP                           = 0x8906\n\tSIOCGSTAMPNS                         = 0x8907\n\tSIOCINQ                              = 0x467f\n\tSIOCOUTQ                             = 0x7472\n\tSIOCOUTQNSD                          = 0x894b\n\tSIOCPROTOPRIVATE                     = 0x89e0\n\tSIOCRTMSG                            = 0x890d\n\tSIOCSARP                             = 0x8955\n\tSIOCSHWTSTAMP                        = 0x89b0\n\tSIOCSIFADDR                          = 0x8916\n\tSIOCSIFBR                            = 0x8941\n\tSIOCSIFBRDADDR                       = 0x891a\n\tSIOCSIFDSTADDR                       = 0x8918\n\tSIOCSIFENCAP                         = 0x8926\n\tSIOCSIFFLAGS                         = 0x8914\n\tSIOCSIFHWADDR                        = 0x8924\n\tSIOCSIFHWBROADCAST                   = 0x8937\n\tSIOCSIFLINK                          = 0x8911\n\tSIOCSIFMAP                           = 0x8971\n\tSIOCSIFMEM                           = 0x8920\n\tSIOCSIFMETRIC                        = 0x891e\n\tSIOCSIFMTU                           = 0x8922\n\tSIOCSIFNAME                          = 0x8923\n\tSIOCSIFNETMASK                       = 0x891c\n\tSIOCSIFPFLAGS                        = 0x8934\n\tSIOCSIFSLAVE                         = 0x8930\n\tSIOCSIFTXQLEN                        = 0x8943\n\tSIOCSIFVLAN                          = 0x8983\n\tSIOCSMIIREG                          = 0x8949\n\tSIOCSPGRP                            = 0x80047308\n\tSIOCSRARP                            = 0x8962\n\tSIOCWANDEV                           = 0x894a\n\tSMACK_MAGIC                          = 0x43415d53\n\tSMART_AUTOSAVE                       = 0xd2\n\tSMART_AUTO_OFFLINE                   = 0xdb\n\tSMART_DISABLE                        = 0xd9\n\tSMART_ENABLE                         = 0xd8\n\tSMART_HCYL_PASS                      = 0xc2\n\tSMART_IMMEDIATE_OFFLINE              = 0xd4\n\tSMART_LCYL_PASS                      = 0x4f\n\tSMART_READ_LOG_SECTOR                = 0xd5\n\tSMART_READ_THRESHOLDS                = 0xd1\n\tSMART_READ_VALUES                    = 0xd0\n\tSMART_SAVE                           = 0xd3\n\tSMART_STATUS                         = 0xda\n\tSMART_WRITE_LOG_SECTOR               = 0xd6\n\tSMART_WRITE_THRESHOLDS               = 0xd7\n\tSMB_SUPER_MAGIC                      = 0x517b\n\tSOCKFS_MAGIC                         = 0x534f434b\n\tSOCK_CLOEXEC                         = 0x80000\n\tSOCK_DCCP                            = 0x6\n\tSOCK_DGRAM                           = 0x1\n\tSOCK_IOC_TYPE                        = 0x89\n\tSOCK_NONBLOCK                        = 0x80\n\tSOCK_PACKET                          = 0xa\n\tSOCK_RAW                             = 0x3\n\tSOCK_RDM                             = 0x4\n\tSOCK_SEQPACKET                       = 0x5\n\tSOCK_STREAM                          = 0x2\n\tSOL_AAL                              = 0x109\n\tSOL_ALG                              = 0x117\n\tSOL_ATM                              = 0x108\n\tSOL_CAIF                             = 0x116\n\tSOL_CAN_BASE                         = 0x64\n\tSOL_DCCP                             = 0x10d\n\tSOL_DECNET                           = 0x105\n\tSOL_ICMPV6                           = 0x3a\n\tSOL_IP                               = 0x0\n\tSOL_IPV6                             = 0x29\n\tSOL_IRDA                             = 0x10a\n\tSOL_IUCV                             = 0x115\n\tSOL_KCM                              = 0x119\n\tSOL_LLC                              = 0x10c\n\tSOL_NETBEUI                          = 0x10b\n\tSOL_NETLINK                          = 0x10e\n\tSOL_NFC                              = 0x118\n\tSOL_PACKET                           = 0x107\n\tSOL_PNPIPE                           = 0x113\n\tSOL_PPPOL2TP                         = 0x111\n\tSOL_RAW                              = 0xff\n\tSOL_RDS                              = 0x114\n\tSOL_RXRPC                            = 0x110\n\tSOL_SOCKET                           = 0xffff\n\tSOL_TCP                              = 0x6\n\tSOL_TIPC                             = 0x10f\n\tSOL_TLS                              = 0x11a\n\tSOL_X25                              = 0x106\n\tSOMAXCONN                            = 0x80\n\tSO_ACCEPTCONN                        = 0x1009\n\tSO_ATTACH_BPF                        = 0x32\n\tSO_ATTACH_FILTER                     = 0x1a\n\tSO_ATTACH_REUSEPORT_CBPF             = 0x33\n\tSO_ATTACH_REUSEPORT_EBPF             = 0x34\n\tSO_BINDTODEVICE                      = 0x19\n\tSO_BPF_EXTENSIONS                    = 0x30\n\tSO_BROADCAST                         = 0x20\n\tSO_BSDCOMPAT                         = 0xe\n\tSO_BUSY_POLL                         = 0x2e\n\tSO_CNX_ADVICE                        = 0x35\n\tSO_COOKIE                            = 0x39\n\tSO_DEBUG                             = 0x1\n\tSO_DETACH_BPF                        = 0x1b\n\tSO_DETACH_FILTER                     = 0x1b\n\tSO_DOMAIN                            = 0x1029\n\tSO_DONTROUTE                         = 0x10\n\tSO_ERROR                             = 0x1007\n\tSO_GET_FILTER                        = 0x1a\n\tSO_INCOMING_CPU                      = 0x31\n\tSO_INCOMING_NAPI_ID                  = 0x38\n\tSO_KEEPALIVE                         = 0x8\n\tSO_LINGER                            = 0x80\n\tSO_LOCK_FILTER                       = 0x2c\n\tSO_MARK                              = 0x24\n\tSO_MAX_PACING_RATE                   = 0x2f\n\tSO_MEMINFO                           = 0x37\n\tSO_NOFCS                             = 0x2b\n\tSO_NO_CHECK                          = 0xb\n\tSO_OOBINLINE                         = 0x100\n\tSO_PASSCRED                          = 0x11\n\tSO_PASSSEC                           = 0x22\n\tSO_PEEK_OFF                          = 0x2a\n\tSO_PEERCRED                          = 0x12\n\tSO_PEERGROUPS                        = 0x3b\n\tSO_PEERNAME                          = 0x1c\n\tSO_PEERSEC                           = 0x1e\n\tSO_PRIORITY                          = 0xc\n\tSO_PROTOCOL                          = 0x1028\n\tSO_RCVBUF                            = 0x1002\n\tSO_RCVBUFFORCE                       = 0x21\n\tSO_RCVLOWAT                          = 0x1004\n\tSO_RCVTIMEO                          = 0x1006\n\tSO_REUSEADDR                         = 0x4\n\tSO_REUSEPORT                         = 0x200\n\tSO_RXQ_OVFL                          = 0x28\n\tSO_SECURITY_AUTHENTICATION           = 0x16\n\tSO_SECURITY_ENCRYPTION_NETWORK       = 0x18\n\tSO_SECURITY_ENCRYPTION_TRANSPORT     = 0x17\n\tSO_SELECT_ERR_QUEUE                  = 0x2d\n\tSO_SNDBUF                            = 0x1001\n\tSO_SNDBUFFORCE                       = 0x1f\n\tSO_SNDLOWAT                          = 0x1003\n\tSO_SNDTIMEO                          = 0x1005\n\tSO_STYLE                             = 0x1008\n\tSO_TIMESTAMP                         = 0x1d\n\tSO_TIMESTAMPING                      = 0x25\n\tSO_TIMESTAMPNS                       = 0x23\n\tSO_TYPE                              = 0x1008\n\tSO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2\n\tSO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1\n\tSO_VM_SOCKETS_BUFFER_SIZE            = 0x0\n\tSO_VM_SOCKETS_CONNECT_TIMEOUT        = 0x6\n\tSO_VM_SOCKETS_NONBLOCK_TXRX          = 0x7\n\tSO_VM_SOCKETS_PEER_HOST_VM_ID        = 0x3\n\tSO_VM_SOCKETS_TRUSTED                = 0x5\n\tSO_WIFI_STATUS                       = 0x29\n\tSO_ZEROCOPY                          = 0x3c\n\tSPLICE_F_GIFT                        = 0x8\n\tSPLICE_F_MORE                        = 0x4\n\tSPLICE_F_MOVE                        = 0x1\n\tSPLICE_F_NONBLOCK                    = 0x2\n\tSQUASHFS_MAGIC                       = 0x73717368\n\tSTACK_END_MAGIC                      = 0x57ac6e9d\n\tSTATX_ALL                            = 0xfff\n\tSTATX_ATIME                          = 0x20\n\tSTATX_ATTR_APPEND                    = 0x20\n\tSTATX_ATTR_AUTOMOUNT                 = 0x1000\n\tSTATX_ATTR_COMPRESSED                = 0x4\n\tSTATX_ATTR_ENCRYPTED                 = 0x800\n\tSTATX_ATTR_IMMUTABLE                 = 0x10\n\tSTATX_ATTR_NODUMP                    = 0x40\n\tSTATX_BASIC_STATS                    = 0x7ff\n\tSTATX_BLOCKS                         = 0x400\n\tSTATX_BTIME                          = 0x800\n\tSTATX_CTIME                          = 0x80\n\tSTATX_GID                            = 0x10\n\tSTATX_INO                            = 0x100\n\tSTATX_MODE                           = 0x2\n\tSTATX_MTIME                          = 0x40\n\tSTATX_NLINK                          = 0x4\n\tSTATX_SIZE                           = 0x200\n\tSTATX_TYPE                           = 0x1\n\tSTATX_UID                            = 0x8\n\tSTATX__RESERVED                      = 0x80000000\n\tSYSFS_MAGIC                          = 0x62656572\n\tS_BLKSIZE                            = 0x200\n\tS_IEXEC                              = 0x40\n\tS_IFBLK                              = 0x6000\n\tS_IFCHR                              = 0x2000\n\tS_IFDIR                              = 0x4000\n\tS_IFIFO                              = 0x1000\n\tS_IFLNK                              = 0xa000\n\tS_IFMT                               = 0xf000\n\tS_IFREG                              = 0x8000\n\tS_IFSOCK                             = 0xc000\n\tS_IREAD                              = 0x100\n\tS_IRGRP                              = 0x20\n\tS_IROTH                              = 0x4\n\tS_IRUSR                              = 0x100\n\tS_IRWXG                              = 0x38\n\tS_IRWXO                              = 0x7\n\tS_IRWXU                              = 0x1c0\n\tS_ISGID                              = 0x400\n\tS_ISUID                              = 0x800\n\tS_ISVTX                              = 0x200\n\tS_IWGRP                              = 0x10\n\tS_IWOTH                              = 0x2\n\tS_IWRITE                             = 0x80\n\tS_IWUSR                              = 0x80\n\tS_IXGRP                              = 0x8\n\tS_IXOTH                              = 0x1\n\tS_IXUSR                              = 0x40\n\tTAB0                                 = 0x0\n\tTAB1                                 = 0x800\n\tTAB2                                 = 0x1000\n\tTAB3                                 = 0x1800\n\tTABDLY                               = 0x1800\n\tTASKSTATS_CMD_ATTR_MAX               = 0x4\n\tTASKSTATS_CMD_MAX                    = 0x2\n\tTASKSTATS_GENL_NAME                  = \"TASKSTATS\"\n\tTASKSTATS_GENL_VERSION               = 0x1\n\tTASKSTATS_TYPE_MAX                   = 0x6\n\tTASKSTATS_VERSION                    = 0x8\n\tTCFLSH                               = 0x5407\n\tTCGETA                               = 0x5401\n\tTCGETS                               = 0x540d\n\tTCGETS2                              = 0x4030542a\n\tTCIFLUSH                             = 0x0\n\tTCIOFF                               = 0x2\n\tTCIOFLUSH                            = 0x2\n\tTCION                                = 0x3\n\tTCOFLUSH                             = 0x1\n\tTCOOFF                               = 0x0\n\tTCOON                                = 0x1\n\tTCP_CC_INFO                          = 0x1a\n\tTCP_CONGESTION                       = 0xd\n\tTCP_COOKIE_IN_ALWAYS                 = 0x1\n\tTCP_COOKIE_MAX                       = 0x10\n\tTCP_COOKIE_MIN                       = 0x8\n\tTCP_COOKIE_OUT_NEVER                 = 0x2\n\tTCP_COOKIE_PAIR_SIZE                 = 0x20\n\tTCP_COOKIE_TRANSACTIONS              = 0xf\n\tTCP_CORK                             = 0x3\n\tTCP_DEFER_ACCEPT                     = 0x9\n\tTCP_FASTOPEN                         = 0x17\n\tTCP_FASTOPEN_CONNECT                 = 0x1e\n\tTCP_FASTOPEN_KEY                     = 0x21\n\tTCP_FASTOPEN_NO_COOKIE               = 0x22\n\tTCP_INFO                             = 0xb\n\tTCP_KEEPCNT                          = 0x6\n\tTCP_KEEPIDLE                         = 0x4\n\tTCP_KEEPINTVL                        = 0x5\n\tTCP_LINGER2                          = 0x8\n\tTCP_MAXSEG                           = 0x2\n\tTCP_MAXWIN                           = 0xffff\n\tTCP_MAX_WINSHIFT                     = 0xe\n\tTCP_MD5SIG                           = 0xe\n\tTCP_MD5SIG_EXT                       = 0x20\n\tTCP_MD5SIG_FLAG_PREFIX               = 0x1\n\tTCP_MD5SIG_MAXKEYLEN                 = 0x50\n\tTCP_MSS                              = 0x200\n\tTCP_MSS_DEFAULT                      = 0x218\n\tTCP_MSS_DESIRED                      = 0x4c4\n\tTCP_NODELAY                          = 0x1\n\tTCP_NOTSENT_LOWAT                    = 0x19\n\tTCP_QUEUE_SEQ                        = 0x15\n\tTCP_QUICKACK                         = 0xc\n\tTCP_REPAIR                           = 0x13\n\tTCP_REPAIR_OPTIONS                   = 0x16\n\tTCP_REPAIR_QUEUE                     = 0x14\n\tTCP_REPAIR_WINDOW                    = 0x1d\n\tTCP_SAVED_SYN                        = 0x1c\n\tTCP_SAVE_SYN                         = 0x1b\n\tTCP_SYNCNT                           = 0x7\n\tTCP_S_DATA_IN                        = 0x4\n\tTCP_S_DATA_OUT                       = 0x8\n\tTCP_THIN_DUPACK                      = 0x11\n\tTCP_THIN_LINEAR_TIMEOUTS             = 0x10\n\tTCP_TIMESTAMP                        = 0x18\n\tTCP_ULP                              = 0x1f\n\tTCP_USER_TIMEOUT                     = 0x12\n\tTCP_WINDOW_CLAMP                     = 0xa\n\tTCSAFLUSH                            = 0x5410\n\tTCSBRK                               = 0x5405\n\tTCSBRKP                              = 0x5486\n\tTCSETA                               = 0x5402\n\tTCSETAF                              = 0x5404\n\tTCSETAW                              = 0x5403\n\tTCSETS                               = 0x540e\n\tTCSETS2                              = 0x8030542b\n\tTCSETSF                              = 0x5410\n\tTCSETSF2                             = 0x8030542d\n\tTCSETSW                              = 0x540f\n\tTCSETSW2                             = 0x8030542c\n\tTCXONC                               = 0x5406\n\tTIOCCBRK                             = 0x5428\n\tTIOCCONS                             = 0x80047478\n\tTIOCEXCL                             = 0x740d\n\tTIOCGDEV                             = 0x40045432\n\tTIOCGETD                             = 0x7400\n\tTIOCGETP                             = 0x7408\n\tTIOCGEXCL                            = 0x40045440\n\tTIOCGICOUNT                          = 0x5492\n\tTIOCGLCKTRMIOS                       = 0x548b\n\tTIOCGLTC                             = 0x7474\n\tTIOCGPGRP                            = 0x40047477\n\tTIOCGPKT                             = 0x40045438\n\tTIOCGPTLCK                           = 0x40045439\n\tTIOCGPTN                             = 0x40045430\n\tTIOCGPTPEER                          = 0x20005441\n\tTIOCGRS485                           = 0x4020542e\n\tTIOCGSERIAL                          = 0x5484\n\tTIOCGSID                             = 0x7416\n\tTIOCGSOFTCAR                         = 0x5481\n\tTIOCGWINSZ                           = 0x40087468\n\tTIOCINQ                              = 0x467f\n\tTIOCLINUX                            = 0x5483\n\tTIOCMBIC                             = 0x741c\n\tTIOCMBIS                             = 0x741b\n\tTIOCMGET                             = 0x741d\n\tTIOCMIWAIT                           = 0x5491\n\tTIOCMSET                             = 0x741a\n\tTIOCM_CAR                            = 0x100\n\tTIOCM_CD                             = 0x100\n\tTIOCM_CTS                            = 0x40\n\tTIOCM_DSR                            = 0x400\n\tTIOCM_DTR                            = 0x2\n\tTIOCM_LE                             = 0x1\n\tTIOCM_RI                             = 0x200\n\tTIOCM_RNG                            = 0x200\n\tTIOCM_RTS                            = 0x4\n\tTIOCM_SR                             = 0x20\n\tTIOCM_ST                             = 0x10\n\tTIOCNOTTY                            = 0x5471\n\tTIOCNXCL                             = 0x740e\n\tTIOCOUTQ                             = 0x7472\n\tTIOCPKT                              = 0x5470\n\tTIOCPKT_DATA                         = 0x0\n\tTIOCPKT_DOSTOP                       = 0x20\n\tTIOCPKT_FLUSHREAD                    = 0x1\n\tTIOCPKT_FLUSHWRITE                   = 0x2\n\tTIOCPKT_IOCTL                        = 0x40\n\tTIOCPKT_NOSTOP                       = 0x10\n\tTIOCPKT_START                        = 0x8\n\tTIOCPKT_STOP                         = 0x4\n\tTIOCSBRK                             = 0x5427\n\tTIOCSCTTY                            = 0x5480\n\tTIOCSERCONFIG                        = 0x5488\n\tTIOCSERGETLSR                        = 0x548e\n\tTIOCSERGETMULTI                      = 0x548f\n\tTIOCSERGSTRUCT                       = 0x548d\n\tTIOCSERGWILD                         = 0x5489\n\tTIOCSERSETMULTI                      = 0x5490\n\tTIOCSERSWILD                         = 0x548a\n\tTIOCSER_TEMT                         = 0x1\n\tTIOCSETD                             = 0x7401\n\tTIOCSETN                             = 0x740a\n\tTIOCSETP                             = 0x7409\n\tTIOCSIG                              = 0x80045436\n\tTIOCSLCKTRMIOS                       = 0x548c\n\tTIOCSLTC                             = 0x7475\n\tTIOCSPGRP                            = 0x80047476\n\tTIOCSPTLCK                           = 0x80045431\n\tTIOCSRS485                           = 0xc020542f\n\tTIOCSSERIAL                          = 0x5485\n\tTIOCSSOFTCAR                         = 0x5482\n\tTIOCSTI                              = 0x5472\n\tTIOCSWINSZ                           = 0x80087467\n\tTIOCVHANGUP                          = 0x5437\n\tTMPFS_MAGIC                          = 0x1021994\n\tTOSTOP                               = 0x8000\n\tTPACKET_ALIGNMENT                    = 0x10\n\tTPACKET_HDRLEN                       = 0x34\n\tTP_STATUS_AVAILABLE                  = 0x0\n\tTP_STATUS_BLK_TMO                    = 0x20\n\tTP_STATUS_COPY                       = 0x2\n\tTP_STATUS_CSUMNOTREADY               = 0x8\n\tTP_STATUS_CSUM_VALID                 = 0x80\n\tTP_STATUS_KERNEL                     = 0x0\n\tTP_STATUS_LOSING                     = 0x4\n\tTP_STATUS_SENDING                    = 0x2\n\tTP_STATUS_SEND_REQUEST               = 0x1\n\tTP_STATUS_TS_RAW_HARDWARE            = -0x80000000\n\tTP_STATUS_TS_SOFTWARE                = 0x20000000\n\tTP_STATUS_TS_SYS_HARDWARE            = 0x40000000\n\tTP_STATUS_USER                       = 0x1\n\tTP_STATUS_VLAN_TPID_VALID            = 0x40\n\tTP_STATUS_VLAN_VALID                 = 0x10\n\tTP_STATUS_WRONG_FORMAT               = 0x4\n\tTRACEFS_MAGIC                        = 0x74726163\n\tTS_COMM_LEN                          = 0x20\n\tTUNATTACHFILTER                      = 0x801054d5\n\tTUNDETACHFILTER                      = 0x801054d6\n\tTUNGETFEATURES                       = 0x400454cf\n\tTUNGETFILTER                         = 0x401054db\n\tTUNGETIFF                            = 0x400454d2\n\tTUNGETSNDBUF                         = 0x400454d3\n\tTUNGETVNETBE                         = 0x400454df\n\tTUNGETVNETHDRSZ                      = 0x400454d7\n\tTUNGETVNETLE                         = 0x400454dd\n\tTUNSETDEBUG                          = 0x800454c9\n\tTUNSETFILTEREBPF                     = 0x400454e1\n\tTUNSETGROUP                          = 0x800454ce\n\tTUNSETIFF                            = 0x800454ca\n\tTUNSETIFINDEX                        = 0x800454da\n\tTUNSETLINK                           = 0x800454cd\n\tTUNSETNOCSUM                         = 0x800454c8\n\tTUNSETOFFLOAD                        = 0x800454d0\n\tTUNSETOWNER                          = 0x800454cc\n\tTUNSETPERSIST                        = 0x800454cb\n\tTUNSETQUEUE                          = 0x800454d9\n\tTUNSETSNDBUF                         = 0x800454d4\n\tTUNSETSTEERINGEBPF                   = 0x400454e0\n\tTUNSETTXFILTER                       = 0x800454d1\n\tTUNSETVNETBE                         = 0x800454de\n\tTUNSETVNETHDRSZ                      = 0x800454d8\n\tTUNSETVNETLE                         = 0x800454dc\n\tUDF_SUPER_MAGIC                      = 0x15013346\n\tUMOUNT_NOFOLLOW                      = 0x8\n\tUSBDEVICE_SUPER_MAGIC                = 0x9fa2\n\tUTIME_NOW                            = 0x3fffffff\n\tUTIME_OMIT                           = 0x3ffffffe\n\tV9FS_MAGIC                           = 0x1021997\n\tVDISCARD                             = 0xd\n\tVEOF                                 = 0x10\n\tVEOL                                 = 0x11\n\tVEOL2                                = 0x6\n\tVERASE                               = 0x2\n\tVINTR                                = 0x0\n\tVKILL                                = 0x3\n\tVLNEXT                               = 0xf\n\tVMADDR_CID_ANY                       = 0xffffffff\n\tVMADDR_CID_HOST                      = 0x2\n\tVMADDR_CID_HYPERVISOR                = 0x0\n\tVMADDR_CID_RESERVED                  = 0x1\n\tVMADDR_PORT_ANY                      = 0xffffffff\n\tVMIN                                 = 0x4\n\tVM_SOCKETS_INVALID_VERSION           = 0xffffffff\n\tVQUIT                                = 0x1\n\tVREPRINT                             = 0xc\n\tVSTART                               = 0x8\n\tVSTOP                                = 0x9\n\tVSUSP                                = 0xa\n\tVSWTC                                = 0x7\n\tVSWTCH                               = 0x7\n\tVT0                                  = 0x0\n\tVT1                                  = 0x4000\n\tVTDLY                                = 0x4000\n\tVTIME                                = 0x5\n\tVWERASE                              = 0xe\n\tWALL                                 = 0x40000000\n\tWCLONE                               = 0x80000000\n\tWCONTINUED                           = 0x8\n\tWDIOC_GETBOOTSTATUS                  = 0x40045702\n\tWDIOC_GETPRETIMEOUT                  = 0x40045709\n\tWDIOC_GETSTATUS                      = 0x40045701\n\tWDIOC_GETSUPPORT                     = 0x40285700\n\tWDIOC_GETTEMP                        = 0x40045703\n\tWDIOC_GETTIMELEFT                    = 0x4004570a\n\tWDIOC_GETTIMEOUT                     = 0x40045707\n\tWDIOC_KEEPALIVE                      = 0x40045705\n\tWDIOC_SETOPTIONS                     = 0x40045704\n\tWDIOC_SETPRETIMEOUT                  = 0xc0045708\n\tWDIOC_SETTIMEOUT                     = 0xc0045706\n\tWEXITED                              = 0x4\n\tWIN_ACKMEDIACHANGE                   = 0xdb\n\tWIN_CHECKPOWERMODE1                  = 0xe5\n\tWIN_CHECKPOWERMODE2                  = 0x98\n\tWIN_DEVICE_RESET                     = 0x8\n\tWIN_DIAGNOSE                         = 0x90\n\tWIN_DOORLOCK                         = 0xde\n\tWIN_DOORUNLOCK                       = 0xdf\n\tWIN_DOWNLOAD_MICROCODE               = 0x92\n\tWIN_FLUSH_CACHE                      = 0xe7\n\tWIN_FLUSH_CACHE_EXT                  = 0xea\n\tWIN_FORMAT                           = 0x50\n\tWIN_GETMEDIASTATUS                   = 0xda\n\tWIN_IDENTIFY                         = 0xec\n\tWIN_IDENTIFY_DMA                     = 0xee\n\tWIN_IDLEIMMEDIATE                    = 0xe1\n\tWIN_INIT                             = 0x60\n\tWIN_MEDIAEJECT                       = 0xed\n\tWIN_MULTREAD                         = 0xc4\n\tWIN_MULTREAD_EXT                     = 0x29\n\tWIN_MULTWRITE                        = 0xc5\n\tWIN_MULTWRITE_EXT                    = 0x39\n\tWIN_NOP                              = 0x0\n\tWIN_PACKETCMD                        = 0xa0\n\tWIN_PIDENTIFY                        = 0xa1\n\tWIN_POSTBOOT                         = 0xdc\n\tWIN_PREBOOT                          = 0xdd\n\tWIN_QUEUED_SERVICE                   = 0xa2\n\tWIN_READ                             = 0x20\n\tWIN_READDMA                          = 0xc8\n\tWIN_READDMA_EXT                      = 0x25\n\tWIN_READDMA_ONCE                     = 0xc9\n\tWIN_READDMA_QUEUED                   = 0xc7\n\tWIN_READDMA_QUEUED_EXT               = 0x26\n\tWIN_READ_BUFFER                      = 0xe4\n\tWIN_READ_EXT                         = 0x24\n\tWIN_READ_LONG                        = 0x22\n\tWIN_READ_LONG_ONCE                   = 0x23\n\tWIN_READ_NATIVE_MAX                  = 0xf8\n\tWIN_READ_NATIVE_MAX_EXT              = 0x27\n\tWIN_READ_ONCE                        = 0x21\n\tWIN_RECAL                            = 0x10\n\tWIN_RESTORE                          = 0x10\n\tWIN_SECURITY_DISABLE                 = 0xf6\n\tWIN_SECURITY_ERASE_PREPARE           = 0xf3\n\tWIN_SECURITY_ERASE_UNIT              = 0xf4\n\tWIN_SECURITY_FREEZE_LOCK             = 0xf5\n\tWIN_SECURITY_SET_PASS                = 0xf1\n\tWIN_SECURITY_UNLOCK                  = 0xf2\n\tWIN_SEEK                             = 0x70\n\tWIN_SETFEATURES                      = 0xef\n\tWIN_SETIDLE1                         = 0xe3\n\tWIN_SETIDLE2                         = 0x97\n\tWIN_SETMULT                          = 0xc6\n\tWIN_SET_MAX                          = 0xf9\n\tWIN_SET_MAX_EXT                      = 0x37\n\tWIN_SLEEPNOW1                        = 0xe6\n\tWIN_SLEEPNOW2                        = 0x99\n\tWIN_SMART                            = 0xb0\n\tWIN_SPECIFY                          = 0x91\n\tWIN_SRST                             = 0x8\n\tWIN_STANDBY                          = 0xe2\n\tWIN_STANDBY2                         = 0x96\n\tWIN_STANDBYNOW1                      = 0xe0\n\tWIN_STANDBYNOW2                      = 0x94\n\tWIN_VERIFY                           = 0x40\n\tWIN_VERIFY_EXT                       = 0x42\n\tWIN_VERIFY_ONCE                      = 0x41\n\tWIN_WRITE                            = 0x30\n\tWIN_WRITEDMA                         = 0xca\n\tWIN_WRITEDMA_EXT                     = 0x35\n\tWIN_WRITEDMA_ONCE                    = 0xcb\n\tWIN_WRITEDMA_QUEUED                  = 0xcc\n\tWIN_WRITEDMA_QUEUED_EXT              = 0x36\n\tWIN_WRITE_BUFFER                     = 0xe8\n\tWIN_WRITE_EXT                        = 0x34\n\tWIN_WRITE_LONG                       = 0x32\n\tWIN_WRITE_LONG_ONCE                  = 0x33\n\tWIN_WRITE_ONCE                       = 0x31\n\tWIN_WRITE_SAME                       = 0xe9\n\tWIN_WRITE_VERIFY                     = 0x3c\n\tWNOHANG                              = 0x1\n\tWNOTHREAD                            = 0x20000000\n\tWNOWAIT                              = 0x1000000\n\tWORDSIZE                             = 0x40\n\tWSTOPPED                             = 0x2\n\tWUNTRACED                            = 0x2\n\tXATTR_CREATE                         = 0x1\n\tXATTR_REPLACE                        = 0x2\n\tXCASE                                = 0x4\n\tXENFS_SUPER_MAGIC                    = 0xabba1974\n\tXTABS                                = 0x1800\n\tZSMALLOC_MAGIC                       = 0x58295829\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x7d)\n\tEADDRNOTAVAIL   = syscall.Errno(0x7e)\n\tEADV            = syscall.Errno(0x44)\n\tEAFNOSUPPORT    = syscall.Errno(0x7c)\n\tEAGAIN          = syscall.Errno(0xb)\n\tEALREADY        = syscall.Errno(0x95)\n\tEBADE           = syscall.Errno(0x32)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADFD          = syscall.Errno(0x51)\n\tEBADMSG         = syscall.Errno(0x4d)\n\tEBADR           = syscall.Errno(0x33)\n\tEBADRQC         = syscall.Errno(0x36)\n\tEBADSLT         = syscall.Errno(0x37)\n\tEBFONT          = syscall.Errno(0x3b)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x9e)\n\tECHILD          = syscall.Errno(0xa)\n\tECHRNG          = syscall.Errno(0x25)\n\tECOMM           = syscall.Errno(0x46)\n\tECONNABORTED    = syscall.Errno(0x82)\n\tECONNREFUSED    = syscall.Errno(0x92)\n\tECONNRESET      = syscall.Errno(0x83)\n\tEDEADLK         = syscall.Errno(0x2d)\n\tEDEADLOCK       = syscall.Errno(0x38)\n\tEDESTADDRREQ    = syscall.Errno(0x60)\n\tEDOM            = syscall.Errno(0x21)\n\tEDOTDOT         = syscall.Errno(0x49)\n\tEDQUOT          = syscall.Errno(0x46d)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEHOSTDOWN       = syscall.Errno(0x93)\n\tEHOSTUNREACH    = syscall.Errno(0x94)\n\tEHWPOISON       = syscall.Errno(0xa8)\n\tEIDRM           = syscall.Errno(0x24)\n\tEILSEQ          = syscall.Errno(0x58)\n\tEINIT           = syscall.Errno(0x8d)\n\tEINPROGRESS     = syscall.Errno(0x96)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x85)\n\tEISDIR          = syscall.Errno(0x15)\n\tEISNAM          = syscall.Errno(0x8b)\n\tEKEYEXPIRED     = syscall.Errno(0xa2)\n\tEKEYREJECTED    = syscall.Errno(0xa4)\n\tEKEYREVOKED     = syscall.Errno(0xa3)\n\tEL2HLT          = syscall.Errno(0x2c)\n\tEL2NSYNC        = syscall.Errno(0x26)\n\tEL3HLT          = syscall.Errno(0x27)\n\tEL3RST          = syscall.Errno(0x28)\n\tELIBACC         = syscall.Errno(0x53)\n\tELIBBAD         = syscall.Errno(0x54)\n\tELIBEXEC        = syscall.Errno(0x57)\n\tELIBMAX         = syscall.Errno(0x56)\n\tELIBSCN         = syscall.Errno(0x55)\n\tELNRNG          = syscall.Errno(0x29)\n\tELOOP           = syscall.Errno(0x5a)\n\tEMEDIUMTYPE     = syscall.Errno(0xa0)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x61)\n\tEMULTIHOP       = syscall.Errno(0x4a)\n\tENAMETOOLONG    = syscall.Errno(0x4e)\n\tENAVAIL         = syscall.Errno(0x8a)\n\tENETDOWN        = syscall.Errno(0x7f)\n\tENETRESET       = syscall.Errno(0x81)\n\tENETUNREACH     = syscall.Errno(0x80)\n\tENFILE          = syscall.Errno(0x17)\n\tENOANO          = syscall.Errno(0x35)\n\tENOBUFS         = syscall.Errno(0x84)\n\tENOCSI          = syscall.Errno(0x2b)\n\tENODATA         = syscall.Errno(0x3d)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOKEY          = syscall.Errno(0xa1)\n\tENOLCK          = syscall.Errno(0x2e)\n\tENOLINK         = syscall.Errno(0x43)\n\tENOMEDIUM       = syscall.Errno(0x9f)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x23)\n\tENONET          = syscall.Errno(0x40)\n\tENOPKG          = syscall.Errno(0x41)\n\tENOPROTOOPT     = syscall.Errno(0x63)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x3f)\n\tENOSTR          = syscall.Errno(0x3c)\n\tENOSYS          = syscall.Errno(0x59)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x86)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x5d)\n\tENOTNAM         = syscall.Errno(0x89)\n\tENOTRECOVERABLE = syscall.Errno(0xa6)\n\tENOTSOCK        = syscall.Errno(0x5f)\n\tENOTSUP         = syscall.Errno(0x7a)\n\tENOTTY          = syscall.Errno(0x19)\n\tENOTUNIQ        = syscall.Errno(0x50)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x7a)\n\tEOVERFLOW       = syscall.Errno(0x4f)\n\tEOWNERDEAD      = syscall.Errno(0xa5)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x7b)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROTO          = syscall.Errno(0x47)\n\tEPROTONOSUPPORT = syscall.Errno(0x78)\n\tEPROTOTYPE      = syscall.Errno(0x62)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMCHG         = syscall.Errno(0x52)\n\tEREMDEV         = syscall.Errno(0x8e)\n\tEREMOTE         = syscall.Errno(0x42)\n\tEREMOTEIO       = syscall.Errno(0x8c)\n\tERESTART        = syscall.Errno(0x5b)\n\tERFKILL         = syscall.Errno(0xa7)\n\tEROFS           = syscall.Errno(0x1e)\n\tESHUTDOWN       = syscall.Errno(0x8f)\n\tESOCKTNOSUPPORT = syscall.Errno(0x79)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESRMNT          = syscall.Errno(0x45)\n\tESTALE          = syscall.Errno(0x97)\n\tESTRPIPE        = syscall.Errno(0x5c)\n\tETIME           = syscall.Errno(0x3e)\n\tETIMEDOUT       = syscall.Errno(0x91)\n\tETOOMANYREFS    = syscall.Errno(0x90)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUCLEAN         = syscall.Errno(0x87)\n\tEUNATCH         = syscall.Errno(0x2a)\n\tEUSERS          = syscall.Errno(0x5e)\n\tEWOULDBLOCK     = syscall.Errno(0xb)\n\tEXDEV           = syscall.Errno(0x12)\n\tEXFULL          = syscall.Errno(0x34)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x12)\n\tSIGCLD    = syscall.Signal(0x12)\n\tSIGCONT   = syscall.Signal(0x19)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x16)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPOLL   = syscall.Signal(0x16)\n\tSIGPROF   = syscall.Signal(0x1d)\n\tSIGPWR    = syscall.Signal(0x13)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x17)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x18)\n\tSIGTTIN   = syscall.Signal(0x1a)\n\tSIGTTOU   = syscall.Signal(0x1b)\n\tSIGURG    = syscall.Signal(0x15)\n\tSIGUSR1   = syscall.Signal(0x10)\n\tSIGUSR2   = syscall.Signal(0x11)\n\tSIGVTALRM = syscall.Signal(0x1c)\n\tSIGWINCH  = syscall.Signal(0x14)\n\tSIGXCPU   = syscall.Signal(0x1e)\n\tSIGXFSZ   = syscall.Signal(0x1f)\n)\n\n// Error table\nvar errorList = [...]struct {\n\tnum  syscall.Errno\n\tname string\n\tdesc string\n}{\n\t{1, \"EPERM\", \"operation not permitted\"},\n\t{2, \"ENOENT\", \"no such file or directory\"},\n\t{3, \"ESRCH\", \"no such process\"},\n\t{4, \"EINTR\", \"interrupted system call\"},\n\t{5, \"EIO\", \"input/output error\"},\n\t{6, \"ENXIO\", \"no such device or address\"},\n\t{7, \"E2BIG\", \"argument list too long\"},\n\t{8, \"ENOEXEC\", \"exec format error\"},\n\t{9, \"EBADF\", \"bad file descriptor\"},\n\t{10, \"ECHILD\", \"no child processes\"},\n\t{11, \"EAGAIN\", \"resource temporarily unavailable\"},\n\t{12, \"ENOMEM\", \"cannot allocate memory\"},\n\t{13, \"EACCES\", \"permission denied\"},\n\t{14, \"EFAULT\", \"bad address\"},\n\t{15, \"ENOTBLK\", \"block device required\"},\n\t{16, \"EBUSY\", \"device or resource busy\"},\n\t{17, \"EEXIST\", \"file exists\"},\n\t{18, \"EXDEV\", \"invalid cross-device link\"},\n\t{19, \"ENODEV\", \"no such device\"},\n\t{20, \"ENOTDIR\", \"not a directory\"},\n\t{21, \"EISDIR\", \"is a directory\"},\n\t{22, \"EINVAL\", \"invalid argument\"},\n\t{23, \"ENFILE\", \"too many open files in system\"},\n\t{24, \"EMFILE\", \"too many open files\"},\n\t{25, \"ENOTTY\", \"inappropriate ioctl for device\"},\n\t{26, \"ETXTBSY\", \"text file busy\"},\n\t{27, \"EFBIG\", \"file too large\"},\n\t{28, \"ENOSPC\", \"no space left on device\"},\n\t{29, \"ESPIPE\", \"illegal seek\"},\n\t{30, \"EROFS\", \"read-only file system\"},\n\t{31, \"EMLINK\", \"too many links\"},\n\t{32, \"EPIPE\", \"broken pipe\"},\n\t{33, \"EDOM\", \"numerical argument out of domain\"},\n\t{34, \"ERANGE\", \"numerical result out of range\"},\n\t{35, \"ENOMSG\", \"no message of desired type\"},\n\t{36, \"EIDRM\", \"identifier removed\"},\n\t{37, \"ECHRNG\", \"channel number out of range\"},\n\t{38, \"EL2NSYNC\", \"level 2 not synchronized\"},\n\t{39, \"EL3HLT\", \"level 3 halted\"},\n\t{40, \"EL3RST\", \"level 3 reset\"},\n\t{41, \"ELNRNG\", \"link number out of range\"},\n\t{42, \"EUNATCH\", \"protocol driver not attached\"},\n\t{43, \"ENOCSI\", \"no CSI structure available\"},\n\t{44, \"EL2HLT\", \"level 2 halted\"},\n\t{45, \"EDEADLK\", \"resource deadlock avoided\"},\n\t{46, \"ENOLCK\", \"no locks available\"},\n\t{50, \"EBADE\", \"invalid exchange\"},\n\t{51, \"EBADR\", \"invalid request descriptor\"},\n\t{52, \"EXFULL\", \"exchange full\"},\n\t{53, \"ENOANO\", \"no anode\"},\n\t{54, \"EBADRQC\", \"invalid request code\"},\n\t{55, \"EBADSLT\", \"invalid slot\"},\n\t{56, \"EDEADLOCK\", \"file locking deadlock error\"},\n\t{59, \"EBFONT\", \"bad font file format\"},\n\t{60, \"ENOSTR\", \"device not a stream\"},\n\t{61, \"ENODATA\", \"no data available\"},\n\t{62, \"ETIME\", \"timer expired\"},\n\t{63, \"ENOSR\", \"out of streams resources\"},\n\t{64, \"ENONET\", \"machine is not on the network\"},\n\t{65, \"ENOPKG\", \"package not installed\"},\n\t{66, \"EREMOTE\", \"object is remote\"},\n\t{67, \"ENOLINK\", \"link has been severed\"},\n\t{68, \"EADV\", \"advertise error\"},\n\t{69, \"ESRMNT\", \"srmount error\"},\n\t{70, \"ECOMM\", \"communication error on send\"},\n\t{71, \"EPROTO\", \"protocol error\"},\n\t{73, \"EDOTDOT\", \"RFS specific error\"},\n\t{74, \"EMULTIHOP\", \"multihop attempted\"},\n\t{77, \"EBADMSG\", \"bad message\"},\n\t{78, \"ENAMETOOLONG\", \"file name too long\"},\n\t{79, \"EOVERFLOW\", \"value too large for defined data type\"},\n\t{80, \"ENOTUNIQ\", \"name not unique on network\"},\n\t{81, \"EBADFD\", \"file descriptor in bad state\"},\n\t{82, \"EREMCHG\", \"remote address changed\"},\n\t{83, \"ELIBACC\", \"can not access a needed shared library\"},\n\t{84, \"ELIBBAD\", \"accessing a corrupted shared library\"},\n\t{85, \"ELIBSCN\", \".lib section in a.out corrupted\"},\n\t{86, \"ELIBMAX\", \"attempting to link in too many shared libraries\"},\n\t{87, \"ELIBEXEC\", \"cannot exec a shared library directly\"},\n\t{88, \"EILSEQ\", \"invalid or incomplete multibyte or wide character\"},\n\t{89, \"ENOSYS\", \"function not implemented\"},\n\t{90, \"ELOOP\", \"too many levels of symbolic links\"},\n\t{91, \"ERESTART\", \"interrupted system call should be restarted\"},\n\t{92, \"ESTRPIPE\", \"streams pipe error\"},\n\t{93, \"ENOTEMPTY\", \"directory not empty\"},\n\t{94, \"EUSERS\", \"too many users\"},\n\t{95, \"ENOTSOCK\", \"socket operation on non-socket\"},\n\t{96, \"EDESTADDRREQ\", \"destination address required\"},\n\t{97, \"EMSGSIZE\", \"message too long\"},\n\t{98, \"EPROTOTYPE\", \"protocol wrong type for socket\"},\n\t{99, \"ENOPROTOOPT\", \"protocol not available\"},\n\t{120, \"EPROTONOSUPPORT\", \"protocol not supported\"},\n\t{121, \"ESOCKTNOSUPPORT\", \"socket type not supported\"},\n\t{122, \"ENOTSUP\", \"operation not supported\"},\n\t{123, \"EPFNOSUPPORT\", \"protocol family not supported\"},\n\t{124, \"EAFNOSUPPORT\", \"address family not supported by protocol\"},\n\t{125, \"EADDRINUSE\", \"address already in use\"},\n\t{126, \"EADDRNOTAVAIL\", \"cannot assign requested address\"},\n\t{127, \"ENETDOWN\", \"network is down\"},\n\t{128, \"ENETUNREACH\", \"network is unreachable\"},\n\t{129, \"ENETRESET\", \"network dropped connection on reset\"},\n\t{130, \"ECONNABORTED\", \"software caused connection abort\"},\n\t{131, \"ECONNRESET\", \"connection reset by peer\"},\n\t{132, \"ENOBUFS\", \"no buffer space available\"},\n\t{133, \"EISCONN\", \"transport endpoint is already connected\"},\n\t{134, \"ENOTCONN\", \"transport endpoint is not connected\"},\n\t{135, \"EUCLEAN\", \"structure needs cleaning\"},\n\t{137, \"ENOTNAM\", \"not a XENIX named type file\"},\n\t{138, \"ENAVAIL\", \"no XENIX semaphores available\"},\n\t{139, \"EISNAM\", \"is a named type file\"},\n\t{140, \"EREMOTEIO\", \"remote I/O error\"},\n\t{141, \"EINIT\", \"unknown error 141\"},\n\t{142, \"EREMDEV\", \"unknown error 142\"},\n\t{143, \"ESHUTDOWN\", \"cannot send after transport endpoint shutdown\"},\n\t{144, \"ETOOMANYREFS\", \"too many references: cannot splice\"},\n\t{145, \"ETIMEDOUT\", \"connection timed out\"},\n\t{146, \"ECONNREFUSED\", \"connection refused\"},\n\t{147, \"EHOSTDOWN\", \"host is down\"},\n\t{148, \"EHOSTUNREACH\", \"no route to host\"},\n\t{149, \"EALREADY\", \"operation already in progress\"},\n\t{150, \"EINPROGRESS\", \"operation now in progress\"},\n\t{151, \"ESTALE\", \"stale file handle\"},\n\t{158, \"ECANCELED\", \"operation canceled\"},\n\t{159, \"ENOMEDIUM\", \"no medium found\"},\n\t{160, \"EMEDIUMTYPE\", \"wrong medium type\"},\n\t{161, \"ENOKEY\", \"required key not available\"},\n\t{162, \"EKEYEXPIRED\", \"key has expired\"},\n\t{163, \"EKEYREVOKED\", \"key has been revoked\"},\n\t{164, \"EKEYREJECTED\", \"key was rejected by service\"},\n\t{165, \"EOWNERDEAD\", \"owner died\"},\n\t{166, \"ENOTRECOVERABLE\", \"state not recoverable\"},\n\t{167, \"ERFKILL\", \"operation not possible due to RF-kill\"},\n\t{168, \"EHWPOISON\", \"memory page has hardware error\"},\n\t{1133, \"EDQUOT\", \"disk quota exceeded\"},\n}\n\n// Signal table\nvar signalList = [...]struct {\n\tnum  syscall.Signal\n\tname string\n\tdesc string\n}{\n\t{1, \"SIGHUP\", \"hangup\"},\n\t{2, \"SIGINT\", \"interrupt\"},\n\t{3, \"SIGQUIT\", \"quit\"},\n\t{4, \"SIGILL\", \"illegal instruction\"},\n\t{5, \"SIGTRAP\", \"trace/breakpoint trap\"},\n\t{6, \"SIGABRT\", \"aborted\"},\n\t{7, \"SIGEMT\", \"EMT trap\"},\n\t{8, \"SIGFPE\", \"floating point exception\"},\n\t{9, \"SIGKILL\", \"killed\"},\n\t{10, \"SIGBUS\", \"bus error\"},\n\t{11, \"SIGSEGV\", \"segmentation fault\"},\n\t{12, \"SIGSYS\", \"bad system call\"},\n\t{13, \"SIGPIPE\", \"broken pipe\"},\n\t{14, \"SIGALRM\", \"alarm clock\"},\n\t{15, \"SIGTERM\", \"terminated\"},\n\t{16, \"SIGUSR1\", \"user defined signal 1\"},\n\t{17, \"SIGUSR2\", \"user defined signal 2\"},\n\t{18, \"SIGCHLD\", \"child exited\"},\n\t{19, \"SIGPWR\", \"power failure\"},\n\t{20, \"SIGWINCH\", \"window changed\"},\n\t{21, \"SIGURG\", \"urgent I/O condition\"},\n\t{22, \"SIGIO\", \"I/O possible\"},\n\t{23, \"SIGSTOP\", \"stopped (signal)\"},\n\t{24, \"SIGTSTP\", \"stopped\"},\n\t{25, \"SIGCONT\", \"continued\"},\n\t{26, \"SIGTTIN\", \"stopped (tty input)\"},\n\t{27, \"SIGTTOU\", \"stopped (tty output)\"},\n\t{28, \"SIGVTALRM\", \"virtual timer expired\"},\n\t{29, \"SIGPROF\", \"profiling timer expired\"},\n\t{30, \"SIGXCPU\", \"CPU time limit exceeded\"},\n\t{31, \"SIGXFSZ\", \"file size limit exceeded\"},\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go",
    "content": "// mkerrors.sh -Wall -Werror -static -I/tmp/include\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build mips64le,linux\n\n// Code generated by cmd/cgo -godefs; DO NOT EDIT.\n// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAAFS_MAGIC                           = 0x5a3c69f0\n\tADFS_SUPER_MAGIC                     = 0xadf5\n\tAFFS_SUPER_MAGIC                     = 0xadff\n\tAFS_FS_MAGIC                         = 0x6b414653\n\tAFS_SUPER_MAGIC                      = 0x5346414f\n\tAF_ALG                               = 0x26\n\tAF_APPLETALK                         = 0x5\n\tAF_ASH                               = 0x12\n\tAF_ATMPVC                            = 0x8\n\tAF_ATMSVC                            = 0x14\n\tAF_AX25                              = 0x3\n\tAF_BLUETOOTH                         = 0x1f\n\tAF_BRIDGE                            = 0x7\n\tAF_CAIF                              = 0x25\n\tAF_CAN                               = 0x1d\n\tAF_DECnet                            = 0xc\n\tAF_ECONET                            = 0x13\n\tAF_FILE                              = 0x1\n\tAF_IB                                = 0x1b\n\tAF_IEEE802154                        = 0x24\n\tAF_INET                              = 0x2\n\tAF_INET6                             = 0xa\n\tAF_IPX                               = 0x4\n\tAF_IRDA                              = 0x17\n\tAF_ISDN                              = 0x22\n\tAF_IUCV                              = 0x20\n\tAF_KCM                               = 0x29\n\tAF_KEY                               = 0xf\n\tAF_LLC                               = 0x1a\n\tAF_LOCAL                             = 0x1\n\tAF_MAX                               = 0x2c\n\tAF_MPLS                              = 0x1c\n\tAF_NETBEUI                           = 0xd\n\tAF_NETLINK                           = 0x10\n\tAF_NETROM                            = 0x6\n\tAF_NFC                               = 0x27\n\tAF_PACKET                            = 0x11\n\tAF_PHONET                            = 0x23\n\tAF_PPPOX                             = 0x18\n\tAF_QIPCRTR                           = 0x2a\n\tAF_RDS                               = 0x15\n\tAF_ROSE                              = 0xb\n\tAF_ROUTE                             = 0x10\n\tAF_RXRPC                             = 0x21\n\tAF_SECURITY                          = 0xe\n\tAF_SMC                               = 0x2b\n\tAF_SNA                               = 0x16\n\tAF_TIPC                              = 0x1e\n\tAF_UNIX                              = 0x1\n\tAF_UNSPEC                            = 0x0\n\tAF_VSOCK                             = 0x28\n\tAF_WANPIPE                           = 0x19\n\tAF_X25                               = 0x9\n\tALG_OP_DECRYPT                       = 0x0\n\tALG_OP_ENCRYPT                       = 0x1\n\tALG_SET_AEAD_ASSOCLEN                = 0x4\n\tALG_SET_AEAD_AUTHSIZE                = 0x5\n\tALG_SET_IV                           = 0x2\n\tALG_SET_KEY                          = 0x1\n\tALG_SET_OP                           = 0x3\n\tANON_INODE_FS_MAGIC                  = 0x9041934\n\tARPHRD_6LOWPAN                       = 0x339\n\tARPHRD_ADAPT                         = 0x108\n\tARPHRD_APPLETLK                      = 0x8\n\tARPHRD_ARCNET                        = 0x7\n\tARPHRD_ASH                           = 0x30d\n\tARPHRD_ATM                           = 0x13\n\tARPHRD_AX25                          = 0x3\n\tARPHRD_BIF                           = 0x307\n\tARPHRD_CAIF                          = 0x336\n\tARPHRD_CAN                           = 0x118\n\tARPHRD_CHAOS                         = 0x5\n\tARPHRD_CISCO                         = 0x201\n\tARPHRD_CSLIP                         = 0x101\n\tARPHRD_CSLIP6                        = 0x103\n\tARPHRD_DDCMP                         = 0x205\n\tARPHRD_DLCI                          = 0xf\n\tARPHRD_ECONET                        = 0x30e\n\tARPHRD_EETHER                        = 0x2\n\tARPHRD_ETHER                         = 0x1\n\tARPHRD_EUI64                         = 0x1b\n\tARPHRD_FCAL                          = 0x311\n\tARPHRD_FCFABRIC                      = 0x313\n\tARPHRD_FCPL                          = 0x312\n\tARPHRD_FCPP                          = 0x310\n\tARPHRD_FDDI                          = 0x306\n\tARPHRD_FRAD                          = 0x302\n\tARPHRD_HDLC                          = 0x201\n\tARPHRD_HIPPI                         = 0x30c\n\tARPHRD_HWX25                         = 0x110\n\tARPHRD_IEEE1394                      = 0x18\n\tARPHRD_IEEE802                       = 0x6\n\tARPHRD_IEEE80211                     = 0x321\n\tARPHRD_IEEE80211_PRISM               = 0x322\n\tARPHRD_IEEE80211_RADIOTAP            = 0x323\n\tARPHRD_IEEE802154                    = 0x324\n\tARPHRD_IEEE802154_MONITOR            = 0x325\n\tARPHRD_IEEE802_TR                    = 0x320\n\tARPHRD_INFINIBAND                    = 0x20\n\tARPHRD_IP6GRE                        = 0x337\n\tARPHRD_IPDDP                         = 0x309\n\tARPHRD_IPGRE                         = 0x30a\n\tARPHRD_IRDA                          = 0x30f\n\tARPHRD_LAPB                          = 0x204\n\tARPHRD_LOCALTLK                      = 0x305\n\tARPHRD_LOOPBACK                      = 0x304\n\tARPHRD_METRICOM                      = 0x17\n\tARPHRD_NETLINK                       = 0x338\n\tARPHRD_NETROM                        = 0x0\n\tARPHRD_NONE                          = 0xfffe\n\tARPHRD_PHONET                        = 0x334\n\tARPHRD_PHONET_PIPE                   = 0x335\n\tARPHRD_PIMREG                        = 0x30b\n\tARPHRD_PPP                           = 0x200\n\tARPHRD_PRONET                        = 0x4\n\tARPHRD_RAWHDLC                       = 0x206\n\tARPHRD_RAWIP                         = 0x207\n\tARPHRD_ROSE                          = 0x10e\n\tARPHRD_RSRVD                         = 0x104\n\tARPHRD_SIT                           = 0x308\n\tARPHRD_SKIP                          = 0x303\n\tARPHRD_SLIP                          = 0x100\n\tARPHRD_SLIP6                         = 0x102\n\tARPHRD_TUNNEL                        = 0x300\n\tARPHRD_TUNNEL6                       = 0x301\n\tARPHRD_VOID                          = 0xffff\n\tARPHRD_VSOCKMON                      = 0x33a\n\tARPHRD_X25                           = 0x10f\n\tAUTOFS_SUPER_MAGIC                   = 0x187\n\tB0                                   = 0x0\n\tB1000000                             = 0x1008\n\tB110                                 = 0x3\n\tB115200                              = 0x1002\n\tB1152000                             = 0x1009\n\tB1200                                = 0x9\n\tB134                                 = 0x4\n\tB150                                 = 0x5\n\tB1500000                             = 0x100a\n\tB1800                                = 0xa\n\tB19200                               = 0xe\n\tB200                                 = 0x6\n\tB2000000                             = 0x100b\n\tB230400                              = 0x1003\n\tB2400                                = 0xb\n\tB2500000                             = 0x100c\n\tB300                                 = 0x7\n\tB3000000                             = 0x100d\n\tB3500000                             = 0x100e\n\tB38400                               = 0xf\n\tB4000000                             = 0x100f\n\tB460800                              = 0x1004\n\tB4800                                = 0xc\n\tB50                                  = 0x1\n\tB500000                              = 0x1005\n\tB57600                               = 0x1001\n\tB576000                              = 0x1006\n\tB600                                 = 0x8\n\tB75                                  = 0x2\n\tB921600                              = 0x1007\n\tB9600                                = 0xd\n\tBALLOON_KVM_MAGIC                    = 0x13661366\n\tBDEVFS_MAGIC                         = 0x62646576\n\tBINFMTFS_MAGIC                       = 0x42494e4d\n\tBLKBSZGET                            = 0x40081270\n\tBLKBSZSET                            = 0x80081271\n\tBLKFLSBUF                            = 0x20001261\n\tBLKFRAGET                            = 0x20001265\n\tBLKFRASET                            = 0x20001264\n\tBLKGETSIZE                           = 0x20001260\n\tBLKGETSIZE64                         = 0x40081272\n\tBLKPBSZGET                           = 0x2000127b\n\tBLKRAGET                             = 0x20001263\n\tBLKRASET                             = 0x20001262\n\tBLKROGET                             = 0x2000125e\n\tBLKROSET                             = 0x2000125d\n\tBLKRRPART                            = 0x2000125f\n\tBLKSECTGET                           = 0x20001267\n\tBLKSECTSET                           = 0x20001266\n\tBLKSSZGET                            = 0x20001268\n\tBOTHER                               = 0x1000\n\tBPF_A                                = 0x10\n\tBPF_ABS                              = 0x20\n\tBPF_ADD                              = 0x0\n\tBPF_ALU                              = 0x4\n\tBPF_AND                              = 0x50\n\tBPF_B                                = 0x10\n\tBPF_DIV                              = 0x30\n\tBPF_FS_MAGIC                         = 0xcafe4a11\n\tBPF_H                                = 0x8\n\tBPF_IMM                              = 0x0\n\tBPF_IND                              = 0x40\n\tBPF_JA                               = 0x0\n\tBPF_JEQ                              = 0x10\n\tBPF_JGE                              = 0x30\n\tBPF_JGT                              = 0x20\n\tBPF_JMP                              = 0x5\n\tBPF_JSET                             = 0x40\n\tBPF_K                                = 0x0\n\tBPF_LD                               = 0x0\n\tBPF_LDX                              = 0x1\n\tBPF_LEN                              = 0x80\n\tBPF_LL_OFF                           = -0x200000\n\tBPF_LSH                              = 0x60\n\tBPF_MAJOR_VERSION                    = 0x1\n\tBPF_MAXINSNS                         = 0x1000\n\tBPF_MEM                              = 0x60\n\tBPF_MEMWORDS                         = 0x10\n\tBPF_MINOR_VERSION                    = 0x1\n\tBPF_MISC                             = 0x7\n\tBPF_MOD                              = 0x90\n\tBPF_MSH                              = 0xa0\n\tBPF_MUL                              = 0x20\n\tBPF_NEG                              = 0x80\n\tBPF_NET_OFF                          = -0x100000\n\tBPF_OR                               = 0x40\n\tBPF_RET                              = 0x6\n\tBPF_RSH                              = 0x70\n\tBPF_ST                               = 0x2\n\tBPF_STX                              = 0x3\n\tBPF_SUB                              = 0x10\n\tBPF_TAX                              = 0x0\n\tBPF_TXA                              = 0x80\n\tBPF_W                                = 0x0\n\tBPF_X                                = 0x8\n\tBPF_XOR                              = 0xa0\n\tBRKINT                               = 0x2\n\tBS0                                  = 0x0\n\tBS1                                  = 0x2000\n\tBSDLY                                = 0x2000\n\tBTRFS_SUPER_MAGIC                    = 0x9123683e\n\tBTRFS_TEST_MAGIC                     = 0x73727279\n\tCAN_BCM                              = 0x2\n\tCAN_EFF_FLAG                         = 0x80000000\n\tCAN_EFF_ID_BITS                      = 0x1d\n\tCAN_EFF_MASK                         = 0x1fffffff\n\tCAN_ERR_FLAG                         = 0x20000000\n\tCAN_ERR_MASK                         = 0x1fffffff\n\tCAN_INV_FILTER                       = 0x20000000\n\tCAN_ISOTP                            = 0x6\n\tCAN_MAX_DLC                          = 0x8\n\tCAN_MAX_DLEN                         = 0x8\n\tCAN_MCNET                            = 0x5\n\tCAN_MTU                              = 0x10\n\tCAN_NPROTO                           = 0x7\n\tCAN_RAW                              = 0x1\n\tCAN_RAW_FILTER_MAX                   = 0x200\n\tCAN_RTR_FLAG                         = 0x40000000\n\tCAN_SFF_ID_BITS                      = 0xb\n\tCAN_SFF_MASK                         = 0x7ff\n\tCAN_TP16                             = 0x3\n\tCAN_TP20                             = 0x4\n\tCBAUD                                = 0x100f\n\tCBAUDEX                              = 0x1000\n\tCFLUSH                               = 0xf\n\tCGROUP2_SUPER_MAGIC                  = 0x63677270\n\tCGROUP_SUPER_MAGIC                   = 0x27e0eb\n\tCIBAUD                               = 0x100f0000\n\tCLOCAL                               = 0x800\n\tCLOCK_BOOTTIME                       = 0x7\n\tCLOCK_BOOTTIME_ALARM                 = 0x9\n\tCLOCK_DEFAULT                        = 0x0\n\tCLOCK_EXT                            = 0x1\n\tCLOCK_INT                            = 0x2\n\tCLOCK_MONOTONIC                      = 0x1\n\tCLOCK_MONOTONIC_COARSE               = 0x6\n\tCLOCK_MONOTONIC_RAW                  = 0x4\n\tCLOCK_PROCESS_CPUTIME_ID             = 0x2\n\tCLOCK_REALTIME                       = 0x0\n\tCLOCK_REALTIME_ALARM                 = 0x8\n\tCLOCK_REALTIME_COARSE                = 0x5\n\tCLOCK_TAI                            = 0xb\n\tCLOCK_THREAD_CPUTIME_ID              = 0x3\n\tCLOCK_TXFROMRX                       = 0x4\n\tCLOCK_TXINT                          = 0x3\n\tCLONE_CHILD_CLEARTID                 = 0x200000\n\tCLONE_CHILD_SETTID                   = 0x1000000\n\tCLONE_DETACHED                       = 0x400000\n\tCLONE_FILES                          = 0x400\n\tCLONE_FS                             = 0x200\n\tCLONE_IO                             = 0x80000000\n\tCLONE_NEWCGROUP                      = 0x2000000\n\tCLONE_NEWIPC                         = 0x8000000\n\tCLONE_NEWNET                         = 0x40000000\n\tCLONE_NEWNS                          = 0x20000\n\tCLONE_NEWPID                         = 0x20000000\n\tCLONE_NEWUSER                        = 0x10000000\n\tCLONE_NEWUTS                         = 0x4000000\n\tCLONE_PARENT                         = 0x8000\n\tCLONE_PARENT_SETTID                  = 0x100000\n\tCLONE_PTRACE                         = 0x2000\n\tCLONE_SETTLS                         = 0x80000\n\tCLONE_SIGHAND                        = 0x800\n\tCLONE_SYSVSEM                        = 0x40000\n\tCLONE_THREAD                         = 0x10000\n\tCLONE_UNTRACED                       = 0x800000\n\tCLONE_VFORK                          = 0x4000\n\tCLONE_VM                             = 0x100\n\tCMSPAR                               = 0x40000000\n\tCODA_SUPER_MAGIC                     = 0x73757245\n\tCR0                                  = 0x0\n\tCR1                                  = 0x200\n\tCR2                                  = 0x400\n\tCR3                                  = 0x600\n\tCRAMFS_MAGIC                         = 0x28cd3d45\n\tCRDLY                                = 0x600\n\tCREAD                                = 0x80\n\tCRTSCTS                              = 0x80000000\n\tCS5                                  = 0x0\n\tCS6                                  = 0x10\n\tCS7                                  = 0x20\n\tCS8                                  = 0x30\n\tCSIGNAL                              = 0xff\n\tCSIZE                                = 0x30\n\tCSTART                               = 0x11\n\tCSTATUS                              = 0x0\n\tCSTOP                                = 0x13\n\tCSTOPB                               = 0x40\n\tCSUSP                                = 0x1a\n\tDAXFS_MAGIC                          = 0x64646178\n\tDEBUGFS_MAGIC                        = 0x64626720\n\tDEVPTS_SUPER_MAGIC                   = 0x1cd1\n\tDT_BLK                               = 0x6\n\tDT_CHR                               = 0x2\n\tDT_DIR                               = 0x4\n\tDT_FIFO                              = 0x1\n\tDT_LNK                               = 0xa\n\tDT_REG                               = 0x8\n\tDT_SOCK                              = 0xc\n\tDT_UNKNOWN                           = 0x0\n\tDT_WHT                               = 0xe\n\tECHO                                 = 0x8\n\tECHOCTL                              = 0x200\n\tECHOE                                = 0x10\n\tECHOK                                = 0x20\n\tECHOKE                               = 0x800\n\tECHONL                               = 0x40\n\tECHOPRT                              = 0x400\n\tECRYPTFS_SUPER_MAGIC                 = 0xf15f\n\tEFD_CLOEXEC                          = 0x80000\n\tEFD_NONBLOCK                         = 0x80\n\tEFD_SEMAPHORE                        = 0x1\n\tEFIVARFS_MAGIC                       = 0xde5e81e4\n\tEFS_SUPER_MAGIC                      = 0x414a53\n\tENCODING_DEFAULT                     = 0x0\n\tENCODING_FM_MARK                     = 0x3\n\tENCODING_FM_SPACE                    = 0x4\n\tENCODING_MANCHESTER                  = 0x5\n\tENCODING_NRZ                         = 0x1\n\tENCODING_NRZI                        = 0x2\n\tEPOLLERR                             = 0x8\n\tEPOLLET                              = 0x80000000\n\tEPOLLEXCLUSIVE                       = 0x10000000\n\tEPOLLHUP                             = 0x10\n\tEPOLLIN                              = 0x1\n\tEPOLLMSG                             = 0x400\n\tEPOLLONESHOT                         = 0x40000000\n\tEPOLLOUT                             = 0x4\n\tEPOLLPRI                             = 0x2\n\tEPOLLRDBAND                          = 0x80\n\tEPOLLRDHUP                           = 0x2000\n\tEPOLLRDNORM                          = 0x40\n\tEPOLLWAKEUP                          = 0x20000000\n\tEPOLLWRBAND                          = 0x200\n\tEPOLLWRNORM                          = 0x100\n\tEPOLL_CLOEXEC                        = 0x80000\n\tEPOLL_CTL_ADD                        = 0x1\n\tEPOLL_CTL_DEL                        = 0x2\n\tEPOLL_CTL_MOD                        = 0x3\n\tETH_P_1588                           = 0x88f7\n\tETH_P_8021AD                         = 0x88a8\n\tETH_P_8021AH                         = 0x88e7\n\tETH_P_8021Q                          = 0x8100\n\tETH_P_80221                          = 0x8917\n\tETH_P_802_2                          = 0x4\n\tETH_P_802_3                          = 0x1\n\tETH_P_802_3_MIN                      = 0x600\n\tETH_P_802_EX1                        = 0x88b5\n\tETH_P_AARP                           = 0x80f3\n\tETH_P_AF_IUCV                        = 0xfbfb\n\tETH_P_ALL                            = 0x3\n\tETH_P_AOE                            = 0x88a2\n\tETH_P_ARCNET                         = 0x1a\n\tETH_P_ARP                            = 0x806\n\tETH_P_ATALK                          = 0x809b\n\tETH_P_ATMFATE                        = 0x8884\n\tETH_P_ATMMPOA                        = 0x884c\n\tETH_P_AX25                           = 0x2\n\tETH_P_BATMAN                         = 0x4305\n\tETH_P_BPQ                            = 0x8ff\n\tETH_P_CAIF                           = 0xf7\n\tETH_P_CAN                            = 0xc\n\tETH_P_CANFD                          = 0xd\n\tETH_P_CONTROL                        = 0x16\n\tETH_P_CUST                           = 0x6006\n\tETH_P_DDCMP                          = 0x6\n\tETH_P_DEC                            = 0x6000\n\tETH_P_DIAG                           = 0x6005\n\tETH_P_DNA_DL                         = 0x6001\n\tETH_P_DNA_RC                         = 0x6002\n\tETH_P_DNA_RT                         = 0x6003\n\tETH_P_DSA                            = 0x1b\n\tETH_P_ECONET                         = 0x18\n\tETH_P_EDSA                           = 0xdada\n\tETH_P_ERSPAN                         = 0x88be\n\tETH_P_ERSPAN2                        = 0x22eb\n\tETH_P_FCOE                           = 0x8906\n\tETH_P_FIP                            = 0x8914\n\tETH_P_HDLC                           = 0x19\n\tETH_P_HSR                            = 0x892f\n\tETH_P_IBOE                           = 0x8915\n\tETH_P_IEEE802154                     = 0xf6\n\tETH_P_IEEEPUP                        = 0xa00\n\tETH_P_IEEEPUPAT                      = 0xa01\n\tETH_P_IFE                            = 0xed3e\n\tETH_P_IP                             = 0x800\n\tETH_P_IPV6                           = 0x86dd\n\tETH_P_IPX                            = 0x8137\n\tETH_P_IRDA                           = 0x17\n\tETH_P_LAT                            = 0x6004\n\tETH_P_LINK_CTL                       = 0x886c\n\tETH_P_LOCALTALK                      = 0x9\n\tETH_P_LOOP                           = 0x60\n\tETH_P_LOOPBACK                       = 0x9000\n\tETH_P_MACSEC                         = 0x88e5\n\tETH_P_MAP                            = 0xf9\n\tETH_P_MOBITEX                        = 0x15\n\tETH_P_MPLS_MC                        = 0x8848\n\tETH_P_MPLS_UC                        = 0x8847\n\tETH_P_MVRP                           = 0x88f5\n\tETH_P_NCSI                           = 0x88f8\n\tETH_P_NSH                            = 0x894f\n\tETH_P_PAE                            = 0x888e\n\tETH_P_PAUSE                          = 0x8808\n\tETH_P_PHONET                         = 0xf5\n\tETH_P_PPPTALK                        = 0x10\n\tETH_P_PPP_DISC                       = 0x8863\n\tETH_P_PPP_MP                         = 0x8\n\tETH_P_PPP_SES                        = 0x8864\n\tETH_P_PREAUTH                        = 0x88c7\n\tETH_P_PRP                            = 0x88fb\n\tETH_P_PUP                            = 0x200\n\tETH_P_PUPAT                          = 0x201\n\tETH_P_QINQ1                          = 0x9100\n\tETH_P_QINQ2                          = 0x9200\n\tETH_P_QINQ3                          = 0x9300\n\tETH_P_RARP                           = 0x8035\n\tETH_P_SCA                            = 0x6007\n\tETH_P_SLOW                           = 0x8809\n\tETH_P_SNAP                           = 0x5\n\tETH_P_TDLS                           = 0x890d\n\tETH_P_TEB                            = 0x6558\n\tETH_P_TIPC                           = 0x88ca\n\tETH_P_TRAILER                        = 0x1c\n\tETH_P_TR_802_2                       = 0x11\n\tETH_P_TSN                            = 0x22f0\n\tETH_P_WAN_PPP                        = 0x7\n\tETH_P_WCCP                           = 0x883e\n\tETH_P_X25                            = 0x805\n\tETH_P_XDSA                           = 0xf8\n\tEXABYTE_ENABLE_NEST                  = 0xf0\n\tEXT2_SUPER_MAGIC                     = 0xef53\n\tEXT3_SUPER_MAGIC                     = 0xef53\n\tEXT4_SUPER_MAGIC                     = 0xef53\n\tEXTA                                 = 0xe\n\tEXTB                                 = 0xf\n\tEXTPROC                              = 0x10000\n\tF2FS_SUPER_MAGIC                     = 0xf2f52010\n\tFALLOC_FL_COLLAPSE_RANGE             = 0x8\n\tFALLOC_FL_INSERT_RANGE               = 0x20\n\tFALLOC_FL_KEEP_SIZE                  = 0x1\n\tFALLOC_FL_NO_HIDE_STALE              = 0x4\n\tFALLOC_FL_PUNCH_HOLE                 = 0x2\n\tFALLOC_FL_UNSHARE_RANGE              = 0x40\n\tFALLOC_FL_ZERO_RANGE                 = 0x10\n\tFD_CLOEXEC                           = 0x1\n\tFD_SETSIZE                           = 0x400\n\tFF0                                  = 0x0\n\tFF1                                  = 0x8000\n\tFFDLY                                = 0x8000\n\tFLUSHO                               = 0x2000\n\tFS_ENCRYPTION_MODE_AES_128_CBC       = 0x5\n\tFS_ENCRYPTION_MODE_AES_128_CTS       = 0x6\n\tFS_ENCRYPTION_MODE_AES_256_CBC       = 0x3\n\tFS_ENCRYPTION_MODE_AES_256_CTS       = 0x4\n\tFS_ENCRYPTION_MODE_AES_256_GCM       = 0x2\n\tFS_ENCRYPTION_MODE_AES_256_XTS       = 0x1\n\tFS_ENCRYPTION_MODE_INVALID           = 0x0\n\tFS_ENCRYPTION_MODE_SPECK128_256_CTS  = 0x8\n\tFS_ENCRYPTION_MODE_SPECK128_256_XTS  = 0x7\n\tFS_IOC_GET_ENCRYPTION_POLICY         = 0x800c6615\n\tFS_IOC_GET_ENCRYPTION_PWSALT         = 0x80106614\n\tFS_IOC_SET_ENCRYPTION_POLICY         = 0x400c6613\n\tFS_KEY_DESCRIPTOR_SIZE               = 0x8\n\tFS_KEY_DESC_PREFIX                   = \"fscrypt:\"\n\tFS_KEY_DESC_PREFIX_SIZE              = 0x8\n\tFS_MAX_KEY_SIZE                      = 0x40\n\tFS_POLICY_FLAGS_PAD_16               = 0x2\n\tFS_POLICY_FLAGS_PAD_32               = 0x3\n\tFS_POLICY_FLAGS_PAD_4                = 0x0\n\tFS_POLICY_FLAGS_PAD_8                = 0x1\n\tFS_POLICY_FLAGS_PAD_MASK             = 0x3\n\tFS_POLICY_FLAGS_VALID                = 0x3\n\tFUTEXFS_SUPER_MAGIC                  = 0xbad1dea\n\tF_ADD_SEALS                          = 0x409\n\tF_DUPFD                              = 0x0\n\tF_DUPFD_CLOEXEC                      = 0x406\n\tF_EXLCK                              = 0x4\n\tF_GETFD                              = 0x1\n\tF_GETFL                              = 0x3\n\tF_GETLEASE                           = 0x401\n\tF_GETLK                              = 0xe\n\tF_GETLK64                            = 0xe\n\tF_GETOWN                             = 0x17\n\tF_GETOWN_EX                          = 0x10\n\tF_GETPIPE_SZ                         = 0x408\n\tF_GETSIG                             = 0xb\n\tF_GET_FILE_RW_HINT                   = 0x40d\n\tF_GET_RW_HINT                        = 0x40b\n\tF_GET_SEALS                          = 0x40a\n\tF_LOCK                               = 0x1\n\tF_NOTIFY                             = 0x402\n\tF_OFD_GETLK                          = 0x24\n\tF_OFD_SETLK                          = 0x25\n\tF_OFD_SETLKW                         = 0x26\n\tF_OK                                 = 0x0\n\tF_RDLCK                              = 0x0\n\tF_SEAL_GROW                          = 0x4\n\tF_SEAL_SEAL                          = 0x1\n\tF_SEAL_SHRINK                        = 0x2\n\tF_SEAL_WRITE                         = 0x8\n\tF_SETFD                              = 0x2\n\tF_SETFL                              = 0x4\n\tF_SETLEASE                           = 0x400\n\tF_SETLK                              = 0x6\n\tF_SETLK64                            = 0x6\n\tF_SETLKW                             = 0x7\n\tF_SETLKW64                           = 0x7\n\tF_SETOWN                             = 0x18\n\tF_SETOWN_EX                          = 0xf\n\tF_SETPIPE_SZ                         = 0x407\n\tF_SETSIG                             = 0xa\n\tF_SET_FILE_RW_HINT                   = 0x40e\n\tF_SET_RW_HINT                        = 0x40c\n\tF_SHLCK                              = 0x8\n\tF_TEST                               = 0x3\n\tF_TLOCK                              = 0x2\n\tF_ULOCK                              = 0x0\n\tF_UNLCK                              = 0x2\n\tF_WRLCK                              = 0x1\n\tGENL_ADMIN_PERM                      = 0x1\n\tGENL_CMD_CAP_DO                      = 0x2\n\tGENL_CMD_CAP_DUMP                    = 0x4\n\tGENL_CMD_CAP_HASPOL                  = 0x8\n\tGENL_HDRLEN                          = 0x4\n\tGENL_ID_CTRL                         = 0x10\n\tGENL_ID_PMCRAID                      = 0x12\n\tGENL_ID_VFS_DQUOT                    = 0x11\n\tGENL_MAX_ID                          = 0x3ff\n\tGENL_MIN_ID                          = 0x10\n\tGENL_NAMSIZ                          = 0x10\n\tGENL_START_ALLOC                     = 0x13\n\tGENL_UNS_ADMIN_PERM                  = 0x10\n\tGRND_NONBLOCK                        = 0x1\n\tGRND_RANDOM                          = 0x2\n\tHDIO_DRIVE_CMD                       = 0x31f\n\tHDIO_DRIVE_CMD_AEB                   = 0x31e\n\tHDIO_DRIVE_CMD_HDR_SIZE              = 0x4\n\tHDIO_DRIVE_HOB_HDR_SIZE              = 0x8\n\tHDIO_DRIVE_RESET                     = 0x31c\n\tHDIO_DRIVE_TASK                      = 0x31e\n\tHDIO_DRIVE_TASKFILE                  = 0x31d\n\tHDIO_DRIVE_TASK_HDR_SIZE             = 0x8\n\tHDIO_GETGEO                          = 0x301\n\tHDIO_GET_32BIT                       = 0x309\n\tHDIO_GET_ACOUSTIC                    = 0x30f\n\tHDIO_GET_ADDRESS                     = 0x310\n\tHDIO_GET_BUSSTATE                    = 0x31a\n\tHDIO_GET_DMA                         = 0x30b\n\tHDIO_GET_IDENTITY                    = 0x30d\n\tHDIO_GET_KEEPSETTINGS                = 0x308\n\tHDIO_GET_MULTCOUNT                   = 0x304\n\tHDIO_GET_NICE                        = 0x30c\n\tHDIO_GET_NOWERR                      = 0x30a\n\tHDIO_GET_QDMA                        = 0x305\n\tHDIO_GET_UNMASKINTR                  = 0x302\n\tHDIO_GET_WCACHE                      = 0x30e\n\tHDIO_OBSOLETE_IDENTITY               = 0x307\n\tHDIO_SCAN_HWIF                       = 0x328\n\tHDIO_SET_32BIT                       = 0x324\n\tHDIO_SET_ACOUSTIC                    = 0x32c\n\tHDIO_SET_ADDRESS                     = 0x32f\n\tHDIO_SET_BUSSTATE                    = 0x32d\n\tHDIO_SET_DMA                         = 0x326\n\tHDIO_SET_KEEPSETTINGS                = 0x323\n\tHDIO_SET_MULTCOUNT                   = 0x321\n\tHDIO_SET_NICE                        = 0x329\n\tHDIO_SET_NOWERR                      = 0x325\n\tHDIO_SET_PIO_MODE                    = 0x327\n\tHDIO_SET_QDMA                        = 0x32e\n\tHDIO_SET_UNMASKINTR                  = 0x322\n\tHDIO_SET_WCACHE                      = 0x32b\n\tHDIO_SET_XFER                        = 0x306\n\tHDIO_TRISTATE_HWIF                   = 0x31b\n\tHDIO_UNREGISTER_HWIF                 = 0x32a\n\tHOSTFS_SUPER_MAGIC                   = 0xc0ffee\n\tHPFS_SUPER_MAGIC                     = 0xf995e849\n\tHUGETLBFS_MAGIC                      = 0x958458f6\n\tHUPCL                                = 0x400\n\tIBSHIFT                              = 0x10\n\tICANON                               = 0x2\n\tICMPV6_FILTER                        = 0x1\n\tICRNL                                = 0x100\n\tIEXTEN                               = 0x100\n\tIFA_F_DADFAILED                      = 0x8\n\tIFA_F_DEPRECATED                     = 0x20\n\tIFA_F_HOMEADDRESS                    = 0x10\n\tIFA_F_MANAGETEMPADDR                 = 0x100\n\tIFA_F_MCAUTOJOIN                     = 0x400\n\tIFA_F_NODAD                          = 0x2\n\tIFA_F_NOPREFIXROUTE                  = 0x200\n\tIFA_F_OPTIMISTIC                     = 0x4\n\tIFA_F_PERMANENT                      = 0x80\n\tIFA_F_SECONDARY                      = 0x1\n\tIFA_F_STABLE_PRIVACY                 = 0x800\n\tIFA_F_TEMPORARY                      = 0x1\n\tIFA_F_TENTATIVE                      = 0x40\n\tIFA_MAX                              = 0x9\n\tIFF_ALLMULTI                         = 0x200\n\tIFF_ATTACH_QUEUE                     = 0x200\n\tIFF_AUTOMEDIA                        = 0x4000\n\tIFF_BROADCAST                        = 0x2\n\tIFF_DEBUG                            = 0x4\n\tIFF_DETACH_QUEUE                     = 0x400\n\tIFF_DORMANT                          = 0x20000\n\tIFF_DYNAMIC                          = 0x8000\n\tIFF_ECHO                             = 0x40000\n\tIFF_LOOPBACK                         = 0x8\n\tIFF_LOWER_UP                         = 0x10000\n\tIFF_MASTER                           = 0x400\n\tIFF_MULTICAST                        = 0x1000\n\tIFF_MULTI_QUEUE                      = 0x100\n\tIFF_NAPI                             = 0x10\n\tIFF_NAPI_FRAGS                       = 0x20\n\tIFF_NOARP                            = 0x80\n\tIFF_NOFILTER                         = 0x1000\n\tIFF_NOTRAILERS                       = 0x20\n\tIFF_NO_PI                            = 0x1000\n\tIFF_ONE_QUEUE                        = 0x2000\n\tIFF_PERSIST                          = 0x800\n\tIFF_POINTOPOINT                      = 0x10\n\tIFF_PORTSEL                          = 0x2000\n\tIFF_PROMISC                          = 0x100\n\tIFF_RUNNING                          = 0x40\n\tIFF_SLAVE                            = 0x800\n\tIFF_TAP                              = 0x2\n\tIFF_TUN                              = 0x1\n\tIFF_TUN_EXCL                         = 0x8000\n\tIFF_UP                               = 0x1\n\tIFF_VNET_HDR                         = 0x4000\n\tIFF_VOLATILE                         = 0x70c5a\n\tIFNAMSIZ                             = 0x10\n\tIGNBRK                               = 0x1\n\tIGNCR                                = 0x80\n\tIGNPAR                               = 0x4\n\tIMAXBEL                              = 0x2000\n\tINLCR                                = 0x40\n\tINPCK                                = 0x10\n\tIN_ACCESS                            = 0x1\n\tIN_ALL_EVENTS                        = 0xfff\n\tIN_ATTRIB                            = 0x4\n\tIN_CLASSA_HOST                       = 0xffffff\n\tIN_CLASSA_MAX                        = 0x80\n\tIN_CLASSA_NET                        = 0xff000000\n\tIN_CLASSA_NSHIFT                     = 0x18\n\tIN_CLASSB_HOST                       = 0xffff\n\tIN_CLASSB_MAX                        = 0x10000\n\tIN_CLASSB_NET                        = 0xffff0000\n\tIN_CLASSB_NSHIFT                     = 0x10\n\tIN_CLASSC_HOST                       = 0xff\n\tIN_CLASSC_NET                        = 0xffffff00\n\tIN_CLASSC_NSHIFT                     = 0x8\n\tIN_CLOEXEC                           = 0x80000\n\tIN_CLOSE                             = 0x18\n\tIN_CLOSE_NOWRITE                     = 0x10\n\tIN_CLOSE_WRITE                       = 0x8\n\tIN_CREATE                            = 0x100\n\tIN_DELETE                            = 0x200\n\tIN_DELETE_SELF                       = 0x400\n\tIN_DONT_FOLLOW                       = 0x2000000\n\tIN_EXCL_UNLINK                       = 0x4000000\n\tIN_IGNORED                           = 0x8000\n\tIN_ISDIR                             = 0x40000000\n\tIN_LOOPBACKNET                       = 0x7f\n\tIN_MASK_ADD                          = 0x20000000\n\tIN_MODIFY                            = 0x2\n\tIN_MOVE                              = 0xc0\n\tIN_MOVED_FROM                        = 0x40\n\tIN_MOVED_TO                          = 0x80\n\tIN_MOVE_SELF                         = 0x800\n\tIN_NONBLOCK                          = 0x80\n\tIN_ONESHOT                           = 0x80000000\n\tIN_ONLYDIR                           = 0x1000000\n\tIN_OPEN                              = 0x20\n\tIN_Q_OVERFLOW                        = 0x4000\n\tIN_UNMOUNT                           = 0x2000\n\tIOCTL_VM_SOCKETS_GET_LOCAL_CID       = 0x200007b9\n\tIPPROTO_AH                           = 0x33\n\tIPPROTO_BEETPH                       = 0x5e\n\tIPPROTO_COMP                         = 0x6c\n\tIPPROTO_DCCP                         = 0x21\n\tIPPROTO_DSTOPTS                      = 0x3c\n\tIPPROTO_EGP                          = 0x8\n\tIPPROTO_ENCAP                        = 0x62\n\tIPPROTO_ESP                          = 0x32\n\tIPPROTO_FRAGMENT                     = 0x2c\n\tIPPROTO_GRE                          = 0x2f\n\tIPPROTO_HOPOPTS                      = 0x0\n\tIPPROTO_ICMP                         = 0x1\n\tIPPROTO_ICMPV6                       = 0x3a\n\tIPPROTO_IDP                          = 0x16\n\tIPPROTO_IGMP                         = 0x2\n\tIPPROTO_IP                           = 0x0\n\tIPPROTO_IPIP                         = 0x4\n\tIPPROTO_IPV6                         = 0x29\n\tIPPROTO_MH                           = 0x87\n\tIPPROTO_MPLS                         = 0x89\n\tIPPROTO_MTP                          = 0x5c\n\tIPPROTO_NONE                         = 0x3b\n\tIPPROTO_PIM                          = 0x67\n\tIPPROTO_PUP                          = 0xc\n\tIPPROTO_RAW                          = 0xff\n\tIPPROTO_ROUTING                      = 0x2b\n\tIPPROTO_RSVP                         = 0x2e\n\tIPPROTO_SCTP                         = 0x84\n\tIPPROTO_TCP                          = 0x6\n\tIPPROTO_TP                           = 0x1d\n\tIPPROTO_UDP                          = 0x11\n\tIPPROTO_UDPLITE                      = 0x88\n\tIPV6_2292DSTOPTS                     = 0x4\n\tIPV6_2292HOPLIMIT                    = 0x8\n\tIPV6_2292HOPOPTS                     = 0x3\n\tIPV6_2292PKTINFO                     = 0x2\n\tIPV6_2292PKTOPTIONS                  = 0x6\n\tIPV6_2292RTHDR                       = 0x5\n\tIPV6_ADDRFORM                        = 0x1\n\tIPV6_ADDR_PREFERENCES                = 0x48\n\tIPV6_ADD_MEMBERSHIP                  = 0x14\n\tIPV6_AUTHHDR                         = 0xa\n\tIPV6_AUTOFLOWLABEL                   = 0x46\n\tIPV6_CHECKSUM                        = 0x7\n\tIPV6_DONTFRAG                        = 0x3e\n\tIPV6_DROP_MEMBERSHIP                 = 0x15\n\tIPV6_DSTOPTS                         = 0x3b\n\tIPV6_FREEBIND                        = 0x4e\n\tIPV6_HDRINCL                         = 0x24\n\tIPV6_HOPLIMIT                        = 0x34\n\tIPV6_HOPOPTS                         = 0x36\n\tIPV6_IPSEC_POLICY                    = 0x22\n\tIPV6_JOIN_ANYCAST                    = 0x1b\n\tIPV6_JOIN_GROUP                      = 0x14\n\tIPV6_LEAVE_ANYCAST                   = 0x1c\n\tIPV6_LEAVE_GROUP                     = 0x15\n\tIPV6_MINHOPCOUNT                     = 0x49\n\tIPV6_MTU                             = 0x18\n\tIPV6_MTU_DISCOVER                    = 0x17\n\tIPV6_MULTICAST_HOPS                  = 0x12\n\tIPV6_MULTICAST_IF                    = 0x11\n\tIPV6_MULTICAST_LOOP                  = 0x13\n\tIPV6_NEXTHOP                         = 0x9\n\tIPV6_ORIGDSTADDR                     = 0x4a\n\tIPV6_PATHMTU                         = 0x3d\n\tIPV6_PKTINFO                         = 0x32\n\tIPV6_PMTUDISC_DO                     = 0x2\n\tIPV6_PMTUDISC_DONT                   = 0x0\n\tIPV6_PMTUDISC_INTERFACE              = 0x4\n\tIPV6_PMTUDISC_OMIT                   = 0x5\n\tIPV6_PMTUDISC_PROBE                  = 0x3\n\tIPV6_PMTUDISC_WANT                   = 0x1\n\tIPV6_RECVDSTOPTS                     = 0x3a\n\tIPV6_RECVERR                         = 0x19\n\tIPV6_RECVFRAGSIZE                    = 0x4d\n\tIPV6_RECVHOPLIMIT                    = 0x33\n\tIPV6_RECVHOPOPTS                     = 0x35\n\tIPV6_RECVORIGDSTADDR                 = 0x4a\n\tIPV6_RECVPATHMTU                     = 0x3c\n\tIPV6_RECVPKTINFO                     = 0x31\n\tIPV6_RECVRTHDR                       = 0x38\n\tIPV6_RECVTCLASS                      = 0x42\n\tIPV6_ROUTER_ALERT                    = 0x16\n\tIPV6_RTHDR                           = 0x39\n\tIPV6_RTHDRDSTOPTS                    = 0x37\n\tIPV6_RTHDR_LOOSE                     = 0x0\n\tIPV6_RTHDR_STRICT                    = 0x1\n\tIPV6_RTHDR_TYPE_0                    = 0x0\n\tIPV6_RXDSTOPTS                       = 0x3b\n\tIPV6_RXHOPOPTS                       = 0x36\n\tIPV6_TCLASS                          = 0x43\n\tIPV6_TRANSPARENT                     = 0x4b\n\tIPV6_UNICAST_HOPS                    = 0x10\n\tIPV6_UNICAST_IF                      = 0x4c\n\tIPV6_V6ONLY                          = 0x1a\n\tIPV6_XFRM_POLICY                     = 0x23\n\tIP_ADD_MEMBERSHIP                    = 0x23\n\tIP_ADD_SOURCE_MEMBERSHIP             = 0x27\n\tIP_BIND_ADDRESS_NO_PORT              = 0x18\n\tIP_BLOCK_SOURCE                      = 0x26\n\tIP_CHECKSUM                          = 0x17\n\tIP_DEFAULT_MULTICAST_LOOP            = 0x1\n\tIP_DEFAULT_MULTICAST_TTL             = 0x1\n\tIP_DF                                = 0x4000\n\tIP_DROP_MEMBERSHIP                   = 0x24\n\tIP_DROP_SOURCE_MEMBERSHIP            = 0x28\n\tIP_FREEBIND                          = 0xf\n\tIP_HDRINCL                           = 0x3\n\tIP_IPSEC_POLICY                      = 0x10\n\tIP_MAXPACKET                         = 0xffff\n\tIP_MAX_MEMBERSHIPS                   = 0x14\n\tIP_MF                                = 0x2000\n\tIP_MINTTL                            = 0x15\n\tIP_MSFILTER                          = 0x29\n\tIP_MSS                               = 0x240\n\tIP_MTU                               = 0xe\n\tIP_MTU_DISCOVER                      = 0xa\n\tIP_MULTICAST_ALL                     = 0x31\n\tIP_MULTICAST_IF                      = 0x20\n\tIP_MULTICAST_LOOP                    = 0x22\n\tIP_MULTICAST_TTL                     = 0x21\n\tIP_NODEFRAG                          = 0x16\n\tIP_OFFMASK                           = 0x1fff\n\tIP_OPTIONS                           = 0x4\n\tIP_ORIGDSTADDR                       = 0x14\n\tIP_PASSSEC                           = 0x12\n\tIP_PKTINFO                           = 0x8\n\tIP_PKTOPTIONS                        = 0x9\n\tIP_PMTUDISC                          = 0xa\n\tIP_PMTUDISC_DO                       = 0x2\n\tIP_PMTUDISC_DONT                     = 0x0\n\tIP_PMTUDISC_INTERFACE                = 0x4\n\tIP_PMTUDISC_OMIT                     = 0x5\n\tIP_PMTUDISC_PROBE                    = 0x3\n\tIP_PMTUDISC_WANT                     = 0x1\n\tIP_RECVERR                           = 0xb\n\tIP_RECVFRAGSIZE                      = 0x19\n\tIP_RECVOPTS                          = 0x6\n\tIP_RECVORIGDSTADDR                   = 0x14\n\tIP_RECVRETOPTS                       = 0x7\n\tIP_RECVTOS                           = 0xd\n\tIP_RECVTTL                           = 0xc\n\tIP_RETOPTS                           = 0x7\n\tIP_RF                                = 0x8000\n\tIP_ROUTER_ALERT                      = 0x5\n\tIP_TOS                               = 0x1\n\tIP_TRANSPARENT                       = 0x13\n\tIP_TTL                               = 0x2\n\tIP_UNBLOCK_SOURCE                    = 0x25\n\tIP_UNICAST_IF                        = 0x32\n\tIP_XFRM_POLICY                       = 0x11\n\tISIG                                 = 0x1\n\tISOFS_SUPER_MAGIC                    = 0x9660\n\tISTRIP                               = 0x20\n\tIUCLC                                = 0x200\n\tIUTF8                                = 0x4000\n\tIXANY                                = 0x800\n\tIXOFF                                = 0x1000\n\tIXON                                 = 0x400\n\tJFFS2_SUPER_MAGIC                    = 0x72b6\n\tKEYCTL_ASSUME_AUTHORITY              = 0x10\n\tKEYCTL_CHOWN                         = 0x4\n\tKEYCTL_CLEAR                         = 0x7\n\tKEYCTL_DESCRIBE                      = 0x6\n\tKEYCTL_DH_COMPUTE                    = 0x17\n\tKEYCTL_GET_KEYRING_ID                = 0x0\n\tKEYCTL_GET_PERSISTENT                = 0x16\n\tKEYCTL_GET_SECURITY                  = 0x11\n\tKEYCTL_INSTANTIATE                   = 0xc\n\tKEYCTL_INSTANTIATE_IOV               = 0x14\n\tKEYCTL_INVALIDATE                    = 0x15\n\tKEYCTL_JOIN_SESSION_KEYRING          = 0x1\n\tKEYCTL_LINK                          = 0x8\n\tKEYCTL_NEGATE                        = 0xd\n\tKEYCTL_READ                          = 0xb\n\tKEYCTL_REJECT                        = 0x13\n\tKEYCTL_RESTRICT_KEYRING              = 0x1d\n\tKEYCTL_REVOKE                        = 0x3\n\tKEYCTL_SEARCH                        = 0xa\n\tKEYCTL_SESSION_TO_PARENT             = 0x12\n\tKEYCTL_SETPERM                       = 0x5\n\tKEYCTL_SET_REQKEY_KEYRING            = 0xe\n\tKEYCTL_SET_TIMEOUT                   = 0xf\n\tKEYCTL_UNLINK                        = 0x9\n\tKEYCTL_UPDATE                        = 0x2\n\tKEY_REQKEY_DEFL_DEFAULT              = 0x0\n\tKEY_REQKEY_DEFL_GROUP_KEYRING        = 0x6\n\tKEY_REQKEY_DEFL_NO_CHANGE            = -0x1\n\tKEY_REQKEY_DEFL_PROCESS_KEYRING      = 0x2\n\tKEY_REQKEY_DEFL_REQUESTOR_KEYRING    = 0x7\n\tKEY_REQKEY_DEFL_SESSION_KEYRING      = 0x3\n\tKEY_REQKEY_DEFL_THREAD_KEYRING       = 0x1\n\tKEY_REQKEY_DEFL_USER_KEYRING         = 0x4\n\tKEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5\n\tKEY_SPEC_GROUP_KEYRING               = -0x6\n\tKEY_SPEC_PROCESS_KEYRING             = -0x2\n\tKEY_SPEC_REQKEY_AUTH_KEY             = -0x7\n\tKEY_SPEC_REQUESTOR_KEYRING           = -0x8\n\tKEY_SPEC_SESSION_KEYRING             = -0x3\n\tKEY_SPEC_THREAD_KEYRING              = -0x1\n\tKEY_SPEC_USER_KEYRING                = -0x4\n\tKEY_SPEC_USER_SESSION_KEYRING        = -0x5\n\tLINUX_REBOOT_CMD_CAD_OFF             = 0x0\n\tLINUX_REBOOT_CMD_CAD_ON              = 0x89abcdef\n\tLINUX_REBOOT_CMD_HALT                = 0xcdef0123\n\tLINUX_REBOOT_CMD_KEXEC               = 0x45584543\n\tLINUX_REBOOT_CMD_POWER_OFF           = 0x4321fedc\n\tLINUX_REBOOT_CMD_RESTART             = 0x1234567\n\tLINUX_REBOOT_CMD_RESTART2            = 0xa1b2c3d4\n\tLINUX_REBOOT_CMD_SW_SUSPEND          = 0xd000fce2\n\tLINUX_REBOOT_MAGIC1                  = 0xfee1dead\n\tLINUX_REBOOT_MAGIC2                  = 0x28121969\n\tLOCK_EX                              = 0x2\n\tLOCK_NB                              = 0x4\n\tLOCK_SH                              = 0x1\n\tLOCK_UN                              = 0x8\n\tMADV_DODUMP                          = 0x11\n\tMADV_DOFORK                          = 0xb\n\tMADV_DONTDUMP                        = 0x10\n\tMADV_DONTFORK                        = 0xa\n\tMADV_DONTNEED                        = 0x4\n\tMADV_FREE                            = 0x8\n\tMADV_HUGEPAGE                        = 0xe\n\tMADV_HWPOISON                        = 0x64\n\tMADV_KEEPONFORK                      = 0x13\n\tMADV_MERGEABLE                       = 0xc\n\tMADV_NOHUGEPAGE                      = 0xf\n\tMADV_NORMAL                          = 0x0\n\tMADV_RANDOM                          = 0x1\n\tMADV_REMOVE                          = 0x9\n\tMADV_SEQUENTIAL                      = 0x2\n\tMADV_UNMERGEABLE                     = 0xd\n\tMADV_WILLNEED                        = 0x3\n\tMADV_WIPEONFORK                      = 0x12\n\tMAP_ANON                             = 0x800\n\tMAP_ANONYMOUS                        = 0x800\n\tMAP_DENYWRITE                        = 0x2000\n\tMAP_EXECUTABLE                       = 0x4000\n\tMAP_FILE                             = 0x0\n\tMAP_FIXED                            = 0x10\n\tMAP_FIXED_NOREPLACE                  = 0x100000\n\tMAP_GROWSDOWN                        = 0x1000\n\tMAP_HUGETLB                          = 0x80000\n\tMAP_HUGE_MASK                        = 0x3f\n\tMAP_HUGE_SHIFT                       = 0x1a\n\tMAP_LOCKED                           = 0x8000\n\tMAP_NONBLOCK                         = 0x20000\n\tMAP_NORESERVE                        = 0x400\n\tMAP_POPULATE                         = 0x10000\n\tMAP_PRIVATE                          = 0x2\n\tMAP_RENAME                           = 0x800\n\tMAP_SHARED                           = 0x1\n\tMAP_SHARED_VALIDATE                  = 0x3\n\tMAP_STACK                            = 0x40000\n\tMAP_TYPE                             = 0xf\n\tMCL_CURRENT                          = 0x1\n\tMCL_FUTURE                           = 0x2\n\tMCL_ONFAULT                          = 0x4\n\tMINIX2_SUPER_MAGIC                   = 0x2468\n\tMINIX2_SUPER_MAGIC2                  = 0x2478\n\tMINIX3_SUPER_MAGIC                   = 0x4d5a\n\tMINIX_SUPER_MAGIC                    = 0x137f\n\tMINIX_SUPER_MAGIC2                   = 0x138f\n\tMNT_DETACH                           = 0x2\n\tMNT_EXPIRE                           = 0x4\n\tMNT_FORCE                            = 0x1\n\tMSDOS_SUPER_MAGIC                    = 0x4d44\n\tMSG_BATCH                            = 0x40000\n\tMSG_CMSG_CLOEXEC                     = 0x40000000\n\tMSG_CONFIRM                          = 0x800\n\tMSG_CTRUNC                           = 0x8\n\tMSG_DONTROUTE                        = 0x4\n\tMSG_DONTWAIT                         = 0x40\n\tMSG_EOR                              = 0x80\n\tMSG_ERRQUEUE                         = 0x2000\n\tMSG_FASTOPEN                         = 0x20000000\n\tMSG_FIN                              = 0x200\n\tMSG_MORE                             = 0x8000\n\tMSG_NOSIGNAL                         = 0x4000\n\tMSG_OOB                              = 0x1\n\tMSG_PEEK                             = 0x2\n\tMSG_PROXY                            = 0x10\n\tMSG_RST                              = 0x1000\n\tMSG_SYN                              = 0x400\n\tMSG_TRUNC                            = 0x20\n\tMSG_TRYHARD                          = 0x4\n\tMSG_WAITALL                          = 0x100\n\tMSG_WAITFORONE                       = 0x10000\n\tMSG_ZEROCOPY                         = 0x4000000\n\tMS_ACTIVE                            = 0x40000000\n\tMS_ASYNC                             = 0x1\n\tMS_BIND                              = 0x1000\n\tMS_BORN                              = 0x20000000\n\tMS_DIRSYNC                           = 0x80\n\tMS_INVALIDATE                        = 0x2\n\tMS_I_VERSION                         = 0x800000\n\tMS_KERNMOUNT                         = 0x400000\n\tMS_LAZYTIME                          = 0x2000000\n\tMS_MANDLOCK                          = 0x40\n\tMS_MGC_MSK                           = 0xffff0000\n\tMS_MGC_VAL                           = 0xc0ed0000\n\tMS_MOVE                              = 0x2000\n\tMS_NOATIME                           = 0x400\n\tMS_NODEV                             = 0x4\n\tMS_NODIRATIME                        = 0x800\n\tMS_NOEXEC                            = 0x8\n\tMS_NOREMOTELOCK                      = 0x8000000\n\tMS_NOSEC                             = 0x10000000\n\tMS_NOSUID                            = 0x2\n\tMS_NOUSER                            = -0x80000000\n\tMS_POSIXACL                          = 0x10000\n\tMS_PRIVATE                           = 0x40000\n\tMS_RDONLY                            = 0x1\n\tMS_REC                               = 0x4000\n\tMS_RELATIME                          = 0x200000\n\tMS_REMOUNT                           = 0x20\n\tMS_RMT_MASK                          = 0x2800051\n\tMS_SHARED                            = 0x100000\n\tMS_SILENT                            = 0x8000\n\tMS_SLAVE                             = 0x80000\n\tMS_STRICTATIME                       = 0x1000000\n\tMS_SUBMOUNT                          = 0x4000000\n\tMS_SYNC                              = 0x4\n\tMS_SYNCHRONOUS                       = 0x10\n\tMS_UNBINDABLE                        = 0x20000\n\tMS_VERBOSE                           = 0x8000\n\tMTD_INODE_FS_MAGIC                   = 0x11307854\n\tNAME_MAX                             = 0xff\n\tNCP_SUPER_MAGIC                      = 0x564c\n\tNETLINK_ADD_MEMBERSHIP               = 0x1\n\tNETLINK_AUDIT                        = 0x9\n\tNETLINK_BROADCAST_ERROR              = 0x4\n\tNETLINK_CAP_ACK                      = 0xa\n\tNETLINK_CONNECTOR                    = 0xb\n\tNETLINK_CRYPTO                       = 0x15\n\tNETLINK_DNRTMSG                      = 0xe\n\tNETLINK_DROP_MEMBERSHIP              = 0x2\n\tNETLINK_ECRYPTFS                     = 0x13\n\tNETLINK_EXT_ACK                      = 0xb\n\tNETLINK_FIB_LOOKUP                   = 0xa\n\tNETLINK_FIREWALL                     = 0x3\n\tNETLINK_GENERIC                      = 0x10\n\tNETLINK_INET_DIAG                    = 0x4\n\tNETLINK_IP6_FW                       = 0xd\n\tNETLINK_ISCSI                        = 0x8\n\tNETLINK_KOBJECT_UEVENT               = 0xf\n\tNETLINK_LISTEN_ALL_NSID              = 0x8\n\tNETLINK_LIST_MEMBERSHIPS             = 0x9\n\tNETLINK_NETFILTER                    = 0xc\n\tNETLINK_NFLOG                        = 0x5\n\tNETLINK_NO_ENOBUFS                   = 0x5\n\tNETLINK_PKTINFO                      = 0x3\n\tNETLINK_RDMA                         = 0x14\n\tNETLINK_ROUTE                        = 0x0\n\tNETLINK_RX_RING                      = 0x6\n\tNETLINK_SCSITRANSPORT                = 0x12\n\tNETLINK_SELINUX                      = 0x7\n\tNETLINK_SMC                          = 0x16\n\tNETLINK_SOCK_DIAG                    = 0x4\n\tNETLINK_TX_RING                      = 0x7\n\tNETLINK_UNUSED                       = 0x1\n\tNETLINK_USERSOCK                     = 0x2\n\tNETLINK_XFRM                         = 0x6\n\tNETNSA_MAX                           = 0x3\n\tNETNSA_NSID_NOT_ASSIGNED             = -0x1\n\tNFNETLINK_V0                         = 0x0\n\tNFNLGRP_ACCT_QUOTA                   = 0x8\n\tNFNLGRP_CONNTRACK_DESTROY            = 0x3\n\tNFNLGRP_CONNTRACK_EXP_DESTROY        = 0x6\n\tNFNLGRP_CONNTRACK_EXP_NEW            = 0x4\n\tNFNLGRP_CONNTRACK_EXP_UPDATE         = 0x5\n\tNFNLGRP_CONNTRACK_NEW                = 0x1\n\tNFNLGRP_CONNTRACK_UPDATE             = 0x2\n\tNFNLGRP_MAX                          = 0x9\n\tNFNLGRP_NFTABLES                     = 0x7\n\tNFNLGRP_NFTRACE                      = 0x9\n\tNFNLGRP_NONE                         = 0x0\n\tNFNL_BATCH_MAX                       = 0x1\n\tNFNL_MSG_BATCH_BEGIN                 = 0x10\n\tNFNL_MSG_BATCH_END                   = 0x11\n\tNFNL_NFA_NEST                        = 0x8000\n\tNFNL_SUBSYS_ACCT                     = 0x7\n\tNFNL_SUBSYS_COUNT                    = 0xc\n\tNFNL_SUBSYS_CTHELPER                 = 0x9\n\tNFNL_SUBSYS_CTNETLINK                = 0x1\n\tNFNL_SUBSYS_CTNETLINK_EXP            = 0x2\n\tNFNL_SUBSYS_CTNETLINK_TIMEOUT        = 0x8\n\tNFNL_SUBSYS_IPSET                    = 0x6\n\tNFNL_SUBSYS_NFTABLES                 = 0xa\n\tNFNL_SUBSYS_NFT_COMPAT               = 0xb\n\tNFNL_SUBSYS_NONE                     = 0x0\n\tNFNL_SUBSYS_OSF                      = 0x5\n\tNFNL_SUBSYS_QUEUE                    = 0x3\n\tNFNL_SUBSYS_ULOG                     = 0x4\n\tNFS_SUPER_MAGIC                      = 0x6969\n\tNILFS_SUPER_MAGIC                    = 0x3434\n\tNL0                                  = 0x0\n\tNL1                                  = 0x100\n\tNLA_ALIGNTO                          = 0x4\n\tNLA_F_NESTED                         = 0x8000\n\tNLA_F_NET_BYTEORDER                  = 0x4000\n\tNLA_HDRLEN                           = 0x4\n\tNLDLY                                = 0x100\n\tNLMSG_ALIGNTO                        = 0x4\n\tNLMSG_DONE                           = 0x3\n\tNLMSG_ERROR                          = 0x2\n\tNLMSG_HDRLEN                         = 0x10\n\tNLMSG_MIN_TYPE                       = 0x10\n\tNLMSG_NOOP                           = 0x1\n\tNLMSG_OVERRUN                        = 0x4\n\tNLM_F_ACK                            = 0x4\n\tNLM_F_ACK_TLVS                       = 0x200\n\tNLM_F_APPEND                         = 0x800\n\tNLM_F_ATOMIC                         = 0x400\n\tNLM_F_CAPPED                         = 0x100\n\tNLM_F_CREATE                         = 0x400\n\tNLM_F_DUMP                           = 0x300\n\tNLM_F_DUMP_FILTERED                  = 0x20\n\tNLM_F_DUMP_INTR                      = 0x10\n\tNLM_F_ECHO                           = 0x8\n\tNLM_F_EXCL                           = 0x200\n\tNLM_F_MATCH                          = 0x200\n\tNLM_F_MULTI                          = 0x2\n\tNLM_F_NONREC                         = 0x100\n\tNLM_F_REPLACE                        = 0x100\n\tNLM_F_REQUEST                        = 0x1\n\tNLM_F_ROOT                           = 0x100\n\tNOFLSH                               = 0x80\n\tNSFS_MAGIC                           = 0x6e736673\n\tOCFS2_SUPER_MAGIC                    = 0x7461636f\n\tOCRNL                                = 0x8\n\tOFDEL                                = 0x80\n\tOFILL                                = 0x40\n\tOLCUC                                = 0x2\n\tONLCR                                = 0x4\n\tONLRET                               = 0x20\n\tONOCR                                = 0x10\n\tOPENPROM_SUPER_MAGIC                 = 0x9fa1\n\tOPOST                                = 0x1\n\tOVERLAYFS_SUPER_MAGIC                = 0x794c7630\n\tO_ACCMODE                            = 0x3\n\tO_APPEND                             = 0x8\n\tO_ASYNC                              = 0x1000\n\tO_CLOEXEC                            = 0x80000\n\tO_CREAT                              = 0x100\n\tO_DIRECT                             = 0x8000\n\tO_DIRECTORY                          = 0x10000\n\tO_DSYNC                              = 0x10\n\tO_EXCL                               = 0x400\n\tO_FSYNC                              = 0x4010\n\tO_LARGEFILE                          = 0x0\n\tO_NDELAY                             = 0x80\n\tO_NOATIME                            = 0x40000\n\tO_NOCTTY                             = 0x800\n\tO_NOFOLLOW                           = 0x20000\n\tO_NONBLOCK                           = 0x80\n\tO_PATH                               = 0x200000\n\tO_RDONLY                             = 0x0\n\tO_RDWR                               = 0x2\n\tO_RSYNC                              = 0x4010\n\tO_SYNC                               = 0x4010\n\tO_TMPFILE                            = 0x410000\n\tO_TRUNC                              = 0x200\n\tO_WRONLY                             = 0x1\n\tPACKET_ADD_MEMBERSHIP                = 0x1\n\tPACKET_AUXDATA                       = 0x8\n\tPACKET_BROADCAST                     = 0x1\n\tPACKET_COPY_THRESH                   = 0x7\n\tPACKET_DROP_MEMBERSHIP               = 0x2\n\tPACKET_FANOUT                        = 0x12\n\tPACKET_FANOUT_CBPF                   = 0x6\n\tPACKET_FANOUT_CPU                    = 0x2\n\tPACKET_FANOUT_DATA                   = 0x16\n\tPACKET_FANOUT_EBPF                   = 0x7\n\tPACKET_FANOUT_FLAG_DEFRAG            = 0x8000\n\tPACKET_FANOUT_FLAG_ROLLOVER          = 0x1000\n\tPACKET_FANOUT_FLAG_UNIQUEID          = 0x2000\n\tPACKET_FANOUT_HASH                   = 0x0\n\tPACKET_FANOUT_LB                     = 0x1\n\tPACKET_FANOUT_QM                     = 0x5\n\tPACKET_FANOUT_RND                    = 0x4\n\tPACKET_FANOUT_ROLLOVER               = 0x3\n\tPACKET_FASTROUTE                     = 0x6\n\tPACKET_HDRLEN                        = 0xb\n\tPACKET_HOST                          = 0x0\n\tPACKET_KERNEL                        = 0x7\n\tPACKET_LOOPBACK                      = 0x5\n\tPACKET_LOSS                          = 0xe\n\tPACKET_MR_ALLMULTI                   = 0x2\n\tPACKET_MR_MULTICAST                  = 0x0\n\tPACKET_MR_PROMISC                    = 0x1\n\tPACKET_MR_UNICAST                    = 0x3\n\tPACKET_MULTICAST                     = 0x2\n\tPACKET_ORIGDEV                       = 0x9\n\tPACKET_OTHERHOST                     = 0x3\n\tPACKET_OUTGOING                      = 0x4\n\tPACKET_QDISC_BYPASS                  = 0x14\n\tPACKET_RECV_OUTPUT                   = 0x3\n\tPACKET_RESERVE                       = 0xc\n\tPACKET_ROLLOVER_STATS                = 0x15\n\tPACKET_RX_RING                       = 0x5\n\tPACKET_STATISTICS                    = 0x6\n\tPACKET_TIMESTAMP                     = 0x11\n\tPACKET_TX_HAS_OFF                    = 0x13\n\tPACKET_TX_RING                       = 0xd\n\tPACKET_TX_TIMESTAMP                  = 0x10\n\tPACKET_USER                          = 0x6\n\tPACKET_VERSION                       = 0xa\n\tPACKET_VNET_HDR                      = 0xf\n\tPARENB                               = 0x100\n\tPARITY_CRC16_PR0                     = 0x2\n\tPARITY_CRC16_PR0_CCITT               = 0x4\n\tPARITY_CRC16_PR1                     = 0x3\n\tPARITY_CRC16_PR1_CCITT               = 0x5\n\tPARITY_CRC32_PR0_CCITT               = 0x6\n\tPARITY_CRC32_PR1_CCITT               = 0x7\n\tPARITY_DEFAULT                       = 0x0\n\tPARITY_NONE                          = 0x1\n\tPARMRK                               = 0x8\n\tPARODD                               = 0x200\n\tPENDIN                               = 0x4000\n\tPERF_EVENT_IOC_DISABLE               = 0x20002401\n\tPERF_EVENT_IOC_ENABLE                = 0x20002400\n\tPERF_EVENT_IOC_ID                    = 0x40082407\n\tPERF_EVENT_IOC_MODIFY_ATTRIBUTES     = 0x8008240b\n\tPERF_EVENT_IOC_PAUSE_OUTPUT          = 0x80042409\n\tPERF_EVENT_IOC_PERIOD                = 0x80082404\n\tPERF_EVENT_IOC_QUERY_BPF             = 0xc008240a\n\tPERF_EVENT_IOC_REFRESH               = 0x20002402\n\tPERF_EVENT_IOC_RESET                 = 0x20002403\n\tPERF_EVENT_IOC_SET_BPF               = 0x80042408\n\tPERF_EVENT_IOC_SET_FILTER            = 0x80082406\n\tPERF_EVENT_IOC_SET_OUTPUT            = 0x20002405\n\tPIPEFS_MAGIC                         = 0x50495045\n\tPRIO_PGRP                            = 0x1\n\tPRIO_PROCESS                         = 0x0\n\tPRIO_USER                            = 0x2\n\tPROC_SUPER_MAGIC                     = 0x9fa0\n\tPROT_EXEC                            = 0x4\n\tPROT_GROWSDOWN                       = 0x1000000\n\tPROT_GROWSUP                         = 0x2000000\n\tPROT_NONE                            = 0x0\n\tPROT_READ                            = 0x1\n\tPROT_WRITE                           = 0x2\n\tPR_CAPBSET_DROP                      = 0x18\n\tPR_CAPBSET_READ                      = 0x17\n\tPR_CAP_AMBIENT                       = 0x2f\n\tPR_CAP_AMBIENT_CLEAR_ALL             = 0x4\n\tPR_CAP_AMBIENT_IS_SET                = 0x1\n\tPR_CAP_AMBIENT_LOWER                 = 0x3\n\tPR_CAP_AMBIENT_RAISE                 = 0x2\n\tPR_ENDIAN_BIG                        = 0x0\n\tPR_ENDIAN_LITTLE                     = 0x1\n\tPR_ENDIAN_PPC_LITTLE                 = 0x2\n\tPR_FPEMU_NOPRINT                     = 0x1\n\tPR_FPEMU_SIGFPE                      = 0x2\n\tPR_FP_EXC_ASYNC                      = 0x2\n\tPR_FP_EXC_DISABLED                   = 0x0\n\tPR_FP_EXC_DIV                        = 0x10000\n\tPR_FP_EXC_INV                        = 0x100000\n\tPR_FP_EXC_NONRECOV                   = 0x1\n\tPR_FP_EXC_OVF                        = 0x20000\n\tPR_FP_EXC_PRECISE                    = 0x3\n\tPR_FP_EXC_RES                        = 0x80000\n\tPR_FP_EXC_SW_ENABLE                  = 0x80\n\tPR_FP_EXC_UND                        = 0x40000\n\tPR_FP_MODE_FR                        = 0x1\n\tPR_FP_MODE_FRE                       = 0x2\n\tPR_GET_CHILD_SUBREAPER               = 0x25\n\tPR_GET_DUMPABLE                      = 0x3\n\tPR_GET_ENDIAN                        = 0x13\n\tPR_GET_FPEMU                         = 0x9\n\tPR_GET_FPEXC                         = 0xb\n\tPR_GET_FP_MODE                       = 0x2e\n\tPR_GET_KEEPCAPS                      = 0x7\n\tPR_GET_NAME                          = 0x10\n\tPR_GET_NO_NEW_PRIVS                  = 0x27\n\tPR_GET_PDEATHSIG                     = 0x2\n\tPR_GET_SECCOMP                       = 0x15\n\tPR_GET_SECUREBITS                    = 0x1b\n\tPR_GET_SPECULATION_CTRL              = 0x34\n\tPR_GET_THP_DISABLE                   = 0x2a\n\tPR_GET_TID_ADDRESS                   = 0x28\n\tPR_GET_TIMERSLACK                    = 0x1e\n\tPR_GET_TIMING                        = 0xd\n\tPR_GET_TSC                           = 0x19\n\tPR_GET_UNALIGN                       = 0x5\n\tPR_MCE_KILL                          = 0x21\n\tPR_MCE_KILL_CLEAR                    = 0x0\n\tPR_MCE_KILL_DEFAULT                  = 0x2\n\tPR_MCE_KILL_EARLY                    = 0x1\n\tPR_MCE_KILL_GET                      = 0x22\n\tPR_MCE_KILL_LATE                     = 0x0\n\tPR_MCE_KILL_SET                      = 0x1\n\tPR_MPX_DISABLE_MANAGEMENT            = 0x2c\n\tPR_MPX_ENABLE_MANAGEMENT             = 0x2b\n\tPR_SET_CHILD_SUBREAPER               = 0x24\n\tPR_SET_DUMPABLE                      = 0x4\n\tPR_SET_ENDIAN                        = 0x14\n\tPR_SET_FPEMU                         = 0xa\n\tPR_SET_FPEXC                         = 0xc\n\tPR_SET_FP_MODE                       = 0x2d\n\tPR_SET_KEEPCAPS                      = 0x8\n\tPR_SET_MM                            = 0x23\n\tPR_SET_MM_ARG_END                    = 0x9\n\tPR_SET_MM_ARG_START                  = 0x8\n\tPR_SET_MM_AUXV                       = 0xc\n\tPR_SET_MM_BRK                        = 0x7\n\tPR_SET_MM_END_CODE                   = 0x2\n\tPR_SET_MM_END_DATA                   = 0x4\n\tPR_SET_MM_ENV_END                    = 0xb\n\tPR_SET_MM_ENV_START                  = 0xa\n\tPR_SET_MM_EXE_FILE                   = 0xd\n\tPR_SET_MM_MAP                        = 0xe\n\tPR_SET_MM_MAP_SIZE                   = 0xf\n\tPR_SET_MM_START_BRK                  = 0x6\n\tPR_SET_MM_START_CODE                 = 0x1\n\tPR_SET_MM_START_DATA                 = 0x3\n\tPR_SET_MM_START_STACK                = 0x5\n\tPR_SET_NAME                          = 0xf\n\tPR_SET_NO_NEW_PRIVS                  = 0x26\n\tPR_SET_PDEATHSIG                     = 0x1\n\tPR_SET_PTRACER                       = 0x59616d61\n\tPR_SET_PTRACER_ANY                   = 0xffffffffffffffff\n\tPR_SET_SECCOMP                       = 0x16\n\tPR_SET_SECUREBITS                    = 0x1c\n\tPR_SET_SPECULATION_CTRL              = 0x35\n\tPR_SET_THP_DISABLE                   = 0x29\n\tPR_SET_TIMERSLACK                    = 0x1d\n\tPR_SET_TIMING                        = 0xe\n\tPR_SET_TSC                           = 0x1a\n\tPR_SET_UNALIGN                       = 0x6\n\tPR_SPEC_DISABLE                      = 0x4\n\tPR_SPEC_ENABLE                       = 0x2\n\tPR_SPEC_FORCE_DISABLE                = 0x8\n\tPR_SPEC_NOT_AFFECTED                 = 0x0\n\tPR_SPEC_PRCTL                        = 0x1\n\tPR_SPEC_STORE_BYPASS                 = 0x0\n\tPR_SVE_GET_VL                        = 0x33\n\tPR_SVE_SET_VL                        = 0x32\n\tPR_SVE_SET_VL_ONEXEC                 = 0x40000\n\tPR_SVE_VL_INHERIT                    = 0x20000\n\tPR_SVE_VL_LEN_MASK                   = 0xffff\n\tPR_TASK_PERF_EVENTS_DISABLE          = 0x1f\n\tPR_TASK_PERF_EVENTS_ENABLE           = 0x20\n\tPR_TIMING_STATISTICAL                = 0x0\n\tPR_TIMING_TIMESTAMP                  = 0x1\n\tPR_TSC_ENABLE                        = 0x1\n\tPR_TSC_SIGSEGV                       = 0x2\n\tPR_UNALIGN_NOPRINT                   = 0x1\n\tPR_UNALIGN_SIGBUS                    = 0x2\n\tPSTOREFS_MAGIC                       = 0x6165676c\n\tPTRACE_ATTACH                        = 0x10\n\tPTRACE_CONT                          = 0x7\n\tPTRACE_DETACH                        = 0x11\n\tPTRACE_EVENT_CLONE                   = 0x3\n\tPTRACE_EVENT_EXEC                    = 0x4\n\tPTRACE_EVENT_EXIT                    = 0x6\n\tPTRACE_EVENT_FORK                    = 0x1\n\tPTRACE_EVENT_SECCOMP                 = 0x7\n\tPTRACE_EVENT_STOP                    = 0x80\n\tPTRACE_EVENT_VFORK                   = 0x2\n\tPTRACE_EVENT_VFORK_DONE              = 0x5\n\tPTRACE_GETEVENTMSG                   = 0x4201\n\tPTRACE_GETFPREGS                     = 0xe\n\tPTRACE_GETREGS                       = 0xc\n\tPTRACE_GETREGSET                     = 0x4204\n\tPTRACE_GETSIGINFO                    = 0x4202\n\tPTRACE_GETSIGMASK                    = 0x420a\n\tPTRACE_GET_THREAD_AREA               = 0x19\n\tPTRACE_GET_THREAD_AREA_3264          = 0xc4\n\tPTRACE_GET_WATCH_REGS                = 0xd0\n\tPTRACE_INTERRUPT                     = 0x4207\n\tPTRACE_KILL                          = 0x8\n\tPTRACE_LISTEN                        = 0x4208\n\tPTRACE_OLDSETOPTIONS                 = 0x15\n\tPTRACE_O_EXITKILL                    = 0x100000\n\tPTRACE_O_MASK                        = 0x3000ff\n\tPTRACE_O_SUSPEND_SECCOMP             = 0x200000\n\tPTRACE_O_TRACECLONE                  = 0x8\n\tPTRACE_O_TRACEEXEC                   = 0x10\n\tPTRACE_O_TRACEEXIT                   = 0x40\n\tPTRACE_O_TRACEFORK                   = 0x2\n\tPTRACE_O_TRACESECCOMP                = 0x80\n\tPTRACE_O_TRACESYSGOOD                = 0x1\n\tPTRACE_O_TRACEVFORK                  = 0x4\n\tPTRACE_O_TRACEVFORKDONE              = 0x20\n\tPTRACE_PEEKDATA                      = 0x2\n\tPTRACE_PEEKDATA_3264                 = 0xc1\n\tPTRACE_PEEKSIGINFO                   = 0x4209\n\tPTRACE_PEEKSIGINFO_SHARED            = 0x1\n\tPTRACE_PEEKTEXT                      = 0x1\n\tPTRACE_PEEKTEXT_3264                 = 0xc0\n\tPTRACE_PEEKUSR                       = 0x3\n\tPTRACE_POKEDATA                      = 0x5\n\tPTRACE_POKEDATA_3264                 = 0xc3\n\tPTRACE_POKETEXT                      = 0x4\n\tPTRACE_POKETEXT_3264                 = 0xc2\n\tPTRACE_POKEUSR                       = 0x6\n\tPTRACE_SECCOMP_GET_FILTER            = 0x420c\n\tPTRACE_SECCOMP_GET_METADATA          = 0x420d\n\tPTRACE_SEIZE                         = 0x4206\n\tPTRACE_SETFPREGS                     = 0xf\n\tPTRACE_SETOPTIONS                    = 0x4200\n\tPTRACE_SETREGS                       = 0xd\n\tPTRACE_SETREGSET                     = 0x4205\n\tPTRACE_SETSIGINFO                    = 0x4203\n\tPTRACE_SETSIGMASK                    = 0x420b\n\tPTRACE_SET_THREAD_AREA               = 0x1a\n\tPTRACE_SET_WATCH_REGS                = 0xd1\n\tPTRACE_SINGLESTEP                    = 0x9\n\tPTRACE_SYSCALL                       = 0x18\n\tPTRACE_TRACEME                       = 0x0\n\tQNX4_SUPER_MAGIC                     = 0x2f\n\tQNX6_SUPER_MAGIC                     = 0x68191122\n\tRAMFS_MAGIC                          = 0x858458f6\n\tRDTGROUP_SUPER_MAGIC                 = 0x7655821\n\tREISERFS_SUPER_MAGIC                 = 0x52654973\n\tRENAME_EXCHANGE                      = 0x2\n\tRENAME_NOREPLACE                     = 0x1\n\tRENAME_WHITEOUT                      = 0x4\n\tRLIMIT_AS                            = 0x6\n\tRLIMIT_CORE                          = 0x4\n\tRLIMIT_CPU                           = 0x0\n\tRLIMIT_DATA                          = 0x2\n\tRLIMIT_FSIZE                         = 0x1\n\tRLIMIT_LOCKS                         = 0xa\n\tRLIMIT_MEMLOCK                       = 0x9\n\tRLIMIT_MSGQUEUE                      = 0xc\n\tRLIMIT_NICE                          = 0xd\n\tRLIMIT_NOFILE                        = 0x5\n\tRLIMIT_NPROC                         = 0x8\n\tRLIMIT_RSS                           = 0x7\n\tRLIMIT_RTPRIO                        = 0xe\n\tRLIMIT_RTTIME                        = 0xf\n\tRLIMIT_SIGPENDING                    = 0xb\n\tRLIMIT_STACK                         = 0x3\n\tRLIM_INFINITY                        = 0xffffffffffffffff\n\tRTAX_ADVMSS                          = 0x8\n\tRTAX_CC_ALGO                         = 0x10\n\tRTAX_CWND                            = 0x7\n\tRTAX_FASTOPEN_NO_COOKIE              = 0x11\n\tRTAX_FEATURES                        = 0xc\n\tRTAX_FEATURE_ALLFRAG                 = 0x8\n\tRTAX_FEATURE_ECN                     = 0x1\n\tRTAX_FEATURE_MASK                    = 0xf\n\tRTAX_FEATURE_SACK                    = 0x2\n\tRTAX_FEATURE_TIMESTAMP               = 0x4\n\tRTAX_HOPLIMIT                        = 0xa\n\tRTAX_INITCWND                        = 0xb\n\tRTAX_INITRWND                        = 0xe\n\tRTAX_LOCK                            = 0x1\n\tRTAX_MAX                             = 0x11\n\tRTAX_MTU                             = 0x2\n\tRTAX_QUICKACK                        = 0xf\n\tRTAX_REORDERING                      = 0x9\n\tRTAX_RTO_MIN                         = 0xd\n\tRTAX_RTT                             = 0x4\n\tRTAX_RTTVAR                          = 0x5\n\tRTAX_SSTHRESH                        = 0x6\n\tRTAX_UNSPEC                          = 0x0\n\tRTAX_WINDOW                          = 0x3\n\tRTA_ALIGNTO                          = 0x4\n\tRTA_MAX                              = 0x1d\n\tRTCF_DIRECTSRC                       = 0x4000000\n\tRTCF_DOREDIRECT                      = 0x1000000\n\tRTCF_LOG                             = 0x2000000\n\tRTCF_MASQ                            = 0x400000\n\tRTCF_NAT                             = 0x800000\n\tRTCF_VALVE                           = 0x200000\n\tRTC_AF                               = 0x20\n\tRTC_AIE_OFF                          = 0x20007002\n\tRTC_AIE_ON                           = 0x20007001\n\tRTC_ALM_READ                         = 0x40247008\n\tRTC_ALM_SET                          = 0x80247007\n\tRTC_EPOCH_READ                       = 0x4008700d\n\tRTC_EPOCH_SET                        = 0x8008700e\n\tRTC_IRQF                             = 0x80\n\tRTC_IRQP_READ                        = 0x4008700b\n\tRTC_IRQP_SET                         = 0x8008700c\n\tRTC_MAX_FREQ                         = 0x2000\n\tRTC_PF                               = 0x40\n\tRTC_PIE_OFF                          = 0x20007006\n\tRTC_PIE_ON                           = 0x20007005\n\tRTC_PLL_GET                          = 0x40207011\n\tRTC_PLL_SET                          = 0x80207012\n\tRTC_RD_TIME                          = 0x40247009\n\tRTC_SET_TIME                         = 0x8024700a\n\tRTC_UF                               = 0x10\n\tRTC_UIE_OFF                          = 0x20007004\n\tRTC_UIE_ON                           = 0x20007003\n\tRTC_VL_CLR                           = 0x20007014\n\tRTC_VL_READ                          = 0x40047013\n\tRTC_WIE_OFF                          = 0x20007010\n\tRTC_WIE_ON                           = 0x2000700f\n\tRTC_WKALM_RD                         = 0x40287010\n\tRTC_WKALM_SET                        = 0x8028700f\n\tRTF_ADDRCLASSMASK                    = 0xf8000000\n\tRTF_ADDRCONF                         = 0x40000\n\tRTF_ALLONLINK                        = 0x20000\n\tRTF_BROADCAST                        = 0x10000000\n\tRTF_CACHE                            = 0x1000000\n\tRTF_DEFAULT                          = 0x10000\n\tRTF_DYNAMIC                          = 0x10\n\tRTF_FLOW                             = 0x2000000\n\tRTF_GATEWAY                          = 0x2\n\tRTF_HOST                             = 0x4\n\tRTF_INTERFACE                        = 0x40000000\n\tRTF_IRTT                             = 0x100\n\tRTF_LINKRT                           = 0x100000\n\tRTF_LOCAL                            = 0x80000000\n\tRTF_MODIFIED                         = 0x20\n\tRTF_MSS                              = 0x40\n\tRTF_MTU                              = 0x40\n\tRTF_MULTICAST                        = 0x20000000\n\tRTF_NAT                              = 0x8000000\n\tRTF_NOFORWARD                        = 0x1000\n\tRTF_NONEXTHOP                        = 0x200000\n\tRTF_NOPMTUDISC                       = 0x4000\n\tRTF_POLICY                           = 0x4000000\n\tRTF_REINSTATE                        = 0x8\n\tRTF_REJECT                           = 0x200\n\tRTF_STATIC                           = 0x400\n\tRTF_THROW                            = 0x2000\n\tRTF_UP                               = 0x1\n\tRTF_WINDOW                           = 0x80\n\tRTF_XRESOLVE                         = 0x800\n\tRTM_BASE                             = 0x10\n\tRTM_DELACTION                        = 0x31\n\tRTM_DELADDR                          = 0x15\n\tRTM_DELADDRLABEL                     = 0x49\n\tRTM_DELLINK                          = 0x11\n\tRTM_DELMDB                           = 0x55\n\tRTM_DELNEIGH                         = 0x1d\n\tRTM_DELNETCONF                       = 0x51\n\tRTM_DELNSID                          = 0x59\n\tRTM_DELQDISC                         = 0x25\n\tRTM_DELROUTE                         = 0x19\n\tRTM_DELRULE                          = 0x21\n\tRTM_DELTCLASS                        = 0x29\n\tRTM_DELTFILTER                       = 0x2d\n\tRTM_F_CLONED                         = 0x200\n\tRTM_F_EQUALIZE                       = 0x400\n\tRTM_F_FIB_MATCH                      = 0x2000\n\tRTM_F_LOOKUP_TABLE                   = 0x1000\n\tRTM_F_NOTIFY                         = 0x100\n\tRTM_F_PREFIX                         = 0x800\n\tRTM_GETACTION                        = 0x32\n\tRTM_GETADDR                          = 0x16\n\tRTM_GETADDRLABEL                     = 0x4a\n\tRTM_GETANYCAST                       = 0x3e\n\tRTM_GETDCB                           = 0x4e\n\tRTM_GETLINK                          = 0x12\n\tRTM_GETMDB                           = 0x56\n\tRTM_GETMULTICAST                     = 0x3a\n\tRTM_GETNEIGH                         = 0x1e\n\tRTM_GETNEIGHTBL                      = 0x42\n\tRTM_GETNETCONF                       = 0x52\n\tRTM_GETNSID                          = 0x5a\n\tRTM_GETQDISC                         = 0x26\n\tRTM_GETROUTE                         = 0x1a\n\tRTM_GETRULE                          = 0x22\n\tRTM_GETSTATS                         = 0x5e\n\tRTM_GETTCLASS                        = 0x2a\n\tRTM_GETTFILTER                       = 0x2e\n\tRTM_MAX                              = 0x63\n\tRTM_NEWACTION                        = 0x30\n\tRTM_NEWADDR                          = 0x14\n\tRTM_NEWADDRLABEL                     = 0x48\n\tRTM_NEWCACHEREPORT                   = 0x60\n\tRTM_NEWLINK                          = 0x10\n\tRTM_NEWMDB                           = 0x54\n\tRTM_NEWNDUSEROPT                     = 0x44\n\tRTM_NEWNEIGH                         = 0x1c\n\tRTM_NEWNEIGHTBL                      = 0x40\n\tRTM_NEWNETCONF                       = 0x50\n\tRTM_NEWNSID                          = 0x58\n\tRTM_NEWPREFIX                        = 0x34\n\tRTM_NEWQDISC                         = 0x24\n\tRTM_NEWROUTE                         = 0x18\n\tRTM_NEWRULE                          = 0x20\n\tRTM_NEWSTATS                         = 0x5c\n\tRTM_NEWTCLASS                        = 0x28\n\tRTM_NEWTFILTER                       = 0x2c\n\tRTM_NR_FAMILIES                      = 0x15\n\tRTM_NR_MSGTYPES                      = 0x54\n\tRTM_SETDCB                           = 0x4f\n\tRTM_SETLINK                          = 0x13\n\tRTM_SETNEIGHTBL                      = 0x43\n\tRTNH_ALIGNTO                         = 0x4\n\tRTNH_COMPARE_MASK                    = 0x19\n\tRTNH_F_DEAD                          = 0x1\n\tRTNH_F_LINKDOWN                      = 0x10\n\tRTNH_F_OFFLOAD                       = 0x8\n\tRTNH_F_ONLINK                        = 0x4\n\tRTNH_F_PERVASIVE                     = 0x2\n\tRTNH_F_UNRESOLVED                    = 0x20\n\tRTN_MAX                              = 0xb\n\tRTPROT_BABEL                         = 0x2a\n\tRTPROT_BGP                           = 0xba\n\tRTPROT_BIRD                          = 0xc\n\tRTPROT_BOOT                          = 0x3\n\tRTPROT_DHCP                          = 0x10\n\tRTPROT_DNROUTED                      = 0xd\n\tRTPROT_EIGRP                         = 0xc0\n\tRTPROT_GATED                         = 0x8\n\tRTPROT_ISIS                          = 0xbb\n\tRTPROT_KERNEL                        = 0x2\n\tRTPROT_MROUTED                       = 0x11\n\tRTPROT_MRT                           = 0xa\n\tRTPROT_NTK                           = 0xf\n\tRTPROT_OSPF                          = 0xbc\n\tRTPROT_RA                            = 0x9\n\tRTPROT_REDIRECT                      = 0x1\n\tRTPROT_RIP                           = 0xbd\n\tRTPROT_STATIC                        = 0x4\n\tRTPROT_UNSPEC                        = 0x0\n\tRTPROT_XORP                          = 0xe\n\tRTPROT_ZEBRA                         = 0xb\n\tRT_CLASS_DEFAULT                     = 0xfd\n\tRT_CLASS_LOCAL                       = 0xff\n\tRT_CLASS_MAIN                        = 0xfe\n\tRT_CLASS_MAX                         = 0xff\n\tRT_CLASS_UNSPEC                      = 0x0\n\tRUSAGE_CHILDREN                      = -0x1\n\tRUSAGE_SELF                          = 0x0\n\tRUSAGE_THREAD                        = 0x1\n\tSCM_CREDENTIALS                      = 0x2\n\tSCM_RIGHTS                           = 0x1\n\tSCM_TIMESTAMP                        = 0x1d\n\tSCM_TIMESTAMPING                     = 0x25\n\tSCM_TIMESTAMPING_OPT_STATS           = 0x36\n\tSCM_TIMESTAMPING_PKTINFO             = 0x3a\n\tSCM_TIMESTAMPNS                      = 0x23\n\tSCM_WIFI_STATUS                      = 0x29\n\tSECCOMP_MODE_DISABLED                = 0x0\n\tSECCOMP_MODE_FILTER                  = 0x2\n\tSECCOMP_MODE_STRICT                  = 0x1\n\tSECURITYFS_MAGIC                     = 0x73636673\n\tSELINUX_MAGIC                        = 0xf97cff8c\n\tSHUT_RD                              = 0x0\n\tSHUT_RDWR                            = 0x2\n\tSHUT_WR                              = 0x1\n\tSIOCADDDLCI                          = 0x8980\n\tSIOCADDMULTI                         = 0x8931\n\tSIOCADDRT                            = 0x890b\n\tSIOCATMARK                           = 0x40047307\n\tSIOCBONDCHANGEACTIVE                 = 0x8995\n\tSIOCBONDENSLAVE                      = 0x8990\n\tSIOCBONDINFOQUERY                    = 0x8994\n\tSIOCBONDRELEASE                      = 0x8991\n\tSIOCBONDSETHWADDR                    = 0x8992\n\tSIOCBONDSLAVEINFOQUERY               = 0x8993\n\tSIOCBRADDBR                          = 0x89a0\n\tSIOCBRADDIF                          = 0x89a2\n\tSIOCBRDELBR                          = 0x89a1\n\tSIOCBRDELIF                          = 0x89a3\n\tSIOCDARP                             = 0x8953\n\tSIOCDELDLCI                          = 0x8981\n\tSIOCDELMULTI                         = 0x8932\n\tSIOCDELRT                            = 0x890c\n\tSIOCDEVPRIVATE                       = 0x89f0\n\tSIOCDIFADDR                          = 0x8936\n\tSIOCDRARP                            = 0x8960\n\tSIOCETHTOOL                          = 0x8946\n\tSIOCGARP                             = 0x8954\n\tSIOCGHWTSTAMP                        = 0x89b1\n\tSIOCGIFADDR                          = 0x8915\n\tSIOCGIFBR                            = 0x8940\n\tSIOCGIFBRDADDR                       = 0x8919\n\tSIOCGIFCONF                          = 0x8912\n\tSIOCGIFCOUNT                         = 0x8938\n\tSIOCGIFDSTADDR                       = 0x8917\n\tSIOCGIFENCAP                         = 0x8925\n\tSIOCGIFFLAGS                         = 0x8913\n\tSIOCGIFHWADDR                        = 0x8927\n\tSIOCGIFINDEX                         = 0x8933\n\tSIOCGIFMAP                           = 0x8970\n\tSIOCGIFMEM                           = 0x891f\n\tSIOCGIFMETRIC                        = 0x891d\n\tSIOCGIFMTU                           = 0x8921\n\tSIOCGIFNAME                          = 0x8910\n\tSIOCGIFNETMASK                       = 0x891b\n\tSIOCGIFPFLAGS                        = 0x8935\n\tSIOCGIFSLAVE                         = 0x8929\n\tSIOCGIFTXQLEN                        = 0x8942\n\tSIOCGIFVLAN                          = 0x8982\n\tSIOCGMIIPHY                          = 0x8947\n\tSIOCGMIIREG                          = 0x8948\n\tSIOCGPGRP                            = 0x40047309\n\tSIOCGRARP                            = 0x8961\n\tSIOCGSKNS                            = 0x894c\n\tSIOCGSTAMP                           = 0x8906\n\tSIOCGSTAMPNS                         = 0x8907\n\tSIOCINQ                              = 0x467f\n\tSIOCOUTQ                             = 0x7472\n\tSIOCOUTQNSD                          = 0x894b\n\tSIOCPROTOPRIVATE                     = 0x89e0\n\tSIOCRTMSG                            = 0x890d\n\tSIOCSARP                             = 0x8955\n\tSIOCSHWTSTAMP                        = 0x89b0\n\tSIOCSIFADDR                          = 0x8916\n\tSIOCSIFBR                            = 0x8941\n\tSIOCSIFBRDADDR                       = 0x891a\n\tSIOCSIFDSTADDR                       = 0x8918\n\tSIOCSIFENCAP                         = 0x8926\n\tSIOCSIFFLAGS                         = 0x8914\n\tSIOCSIFHWADDR                        = 0x8924\n\tSIOCSIFHWBROADCAST                   = 0x8937\n\tSIOCSIFLINK                          = 0x8911\n\tSIOCSIFMAP                           = 0x8971\n\tSIOCSIFMEM                           = 0x8920\n\tSIOCSIFMETRIC                        = 0x891e\n\tSIOCSIFMTU                           = 0x8922\n\tSIOCSIFNAME                          = 0x8923\n\tSIOCSIFNETMASK                       = 0x891c\n\tSIOCSIFPFLAGS                        = 0x8934\n\tSIOCSIFSLAVE                         = 0x8930\n\tSIOCSIFTXQLEN                        = 0x8943\n\tSIOCSIFVLAN                          = 0x8983\n\tSIOCSMIIREG                          = 0x8949\n\tSIOCSPGRP                            = 0x80047308\n\tSIOCSRARP                            = 0x8962\n\tSIOCWANDEV                           = 0x894a\n\tSMACK_MAGIC                          = 0x43415d53\n\tSMART_AUTOSAVE                       = 0xd2\n\tSMART_AUTO_OFFLINE                   = 0xdb\n\tSMART_DISABLE                        = 0xd9\n\tSMART_ENABLE                         = 0xd8\n\tSMART_HCYL_PASS                      = 0xc2\n\tSMART_IMMEDIATE_OFFLINE              = 0xd4\n\tSMART_LCYL_PASS                      = 0x4f\n\tSMART_READ_LOG_SECTOR                = 0xd5\n\tSMART_READ_THRESHOLDS                = 0xd1\n\tSMART_READ_VALUES                    = 0xd0\n\tSMART_SAVE                           = 0xd3\n\tSMART_STATUS                         = 0xda\n\tSMART_WRITE_LOG_SECTOR               = 0xd6\n\tSMART_WRITE_THRESHOLDS               = 0xd7\n\tSMB_SUPER_MAGIC                      = 0x517b\n\tSOCKFS_MAGIC                         = 0x534f434b\n\tSOCK_CLOEXEC                         = 0x80000\n\tSOCK_DCCP                            = 0x6\n\tSOCK_DGRAM                           = 0x1\n\tSOCK_IOC_TYPE                        = 0x89\n\tSOCK_NONBLOCK                        = 0x80\n\tSOCK_PACKET                          = 0xa\n\tSOCK_RAW                             = 0x3\n\tSOCK_RDM                             = 0x4\n\tSOCK_SEQPACKET                       = 0x5\n\tSOCK_STREAM                          = 0x2\n\tSOL_AAL                              = 0x109\n\tSOL_ALG                              = 0x117\n\tSOL_ATM                              = 0x108\n\tSOL_CAIF                             = 0x116\n\tSOL_CAN_BASE                         = 0x64\n\tSOL_DCCP                             = 0x10d\n\tSOL_DECNET                           = 0x105\n\tSOL_ICMPV6                           = 0x3a\n\tSOL_IP                               = 0x0\n\tSOL_IPV6                             = 0x29\n\tSOL_IRDA                             = 0x10a\n\tSOL_IUCV                             = 0x115\n\tSOL_KCM                              = 0x119\n\tSOL_LLC                              = 0x10c\n\tSOL_NETBEUI                          = 0x10b\n\tSOL_NETLINK                          = 0x10e\n\tSOL_NFC                              = 0x118\n\tSOL_PACKET                           = 0x107\n\tSOL_PNPIPE                           = 0x113\n\tSOL_PPPOL2TP                         = 0x111\n\tSOL_RAW                              = 0xff\n\tSOL_RDS                              = 0x114\n\tSOL_RXRPC                            = 0x110\n\tSOL_SOCKET                           = 0xffff\n\tSOL_TCP                              = 0x6\n\tSOL_TIPC                             = 0x10f\n\tSOL_TLS                              = 0x11a\n\tSOL_X25                              = 0x106\n\tSOMAXCONN                            = 0x80\n\tSO_ACCEPTCONN                        = 0x1009\n\tSO_ATTACH_BPF                        = 0x32\n\tSO_ATTACH_FILTER                     = 0x1a\n\tSO_ATTACH_REUSEPORT_CBPF             = 0x33\n\tSO_ATTACH_REUSEPORT_EBPF             = 0x34\n\tSO_BINDTODEVICE                      = 0x19\n\tSO_BPF_EXTENSIONS                    = 0x30\n\tSO_BROADCAST                         = 0x20\n\tSO_BSDCOMPAT                         = 0xe\n\tSO_BUSY_POLL                         = 0x2e\n\tSO_CNX_ADVICE                        = 0x35\n\tSO_COOKIE                            = 0x39\n\tSO_DEBUG                             = 0x1\n\tSO_DETACH_BPF                        = 0x1b\n\tSO_DETACH_FILTER                     = 0x1b\n\tSO_DOMAIN                            = 0x1029\n\tSO_DONTROUTE                         = 0x10\n\tSO_ERROR                             = 0x1007\n\tSO_GET_FILTER                        = 0x1a\n\tSO_INCOMING_CPU                      = 0x31\n\tSO_INCOMING_NAPI_ID                  = 0x38\n\tSO_KEEPALIVE                         = 0x8\n\tSO_LINGER                            = 0x80\n\tSO_LOCK_FILTER                       = 0x2c\n\tSO_MARK                              = 0x24\n\tSO_MAX_PACING_RATE                   = 0x2f\n\tSO_MEMINFO                           = 0x37\n\tSO_NOFCS                             = 0x2b\n\tSO_NO_CHECK                          = 0xb\n\tSO_OOBINLINE                         = 0x100\n\tSO_PASSCRED                          = 0x11\n\tSO_PASSSEC                           = 0x22\n\tSO_PEEK_OFF                          = 0x2a\n\tSO_PEERCRED                          = 0x12\n\tSO_PEERGROUPS                        = 0x3b\n\tSO_PEERNAME                          = 0x1c\n\tSO_PEERSEC                           = 0x1e\n\tSO_PRIORITY                          = 0xc\n\tSO_PROTOCOL                          = 0x1028\n\tSO_RCVBUF                            = 0x1002\n\tSO_RCVBUFFORCE                       = 0x21\n\tSO_RCVLOWAT                          = 0x1004\n\tSO_RCVTIMEO                          = 0x1006\n\tSO_REUSEADDR                         = 0x4\n\tSO_REUSEPORT                         = 0x200\n\tSO_RXQ_OVFL                          = 0x28\n\tSO_SECURITY_AUTHENTICATION           = 0x16\n\tSO_SECURITY_ENCRYPTION_NETWORK       = 0x18\n\tSO_SECURITY_ENCRYPTION_TRANSPORT     = 0x17\n\tSO_SELECT_ERR_QUEUE                  = 0x2d\n\tSO_SNDBUF                            = 0x1001\n\tSO_SNDBUFFORCE                       = 0x1f\n\tSO_SNDLOWAT                          = 0x1003\n\tSO_SNDTIMEO                          = 0x1005\n\tSO_STYLE                             = 0x1008\n\tSO_TIMESTAMP                         = 0x1d\n\tSO_TIMESTAMPING                      = 0x25\n\tSO_TIMESTAMPNS                       = 0x23\n\tSO_TYPE                              = 0x1008\n\tSO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2\n\tSO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1\n\tSO_VM_SOCKETS_BUFFER_SIZE            = 0x0\n\tSO_VM_SOCKETS_CONNECT_TIMEOUT        = 0x6\n\tSO_VM_SOCKETS_NONBLOCK_TXRX          = 0x7\n\tSO_VM_SOCKETS_PEER_HOST_VM_ID        = 0x3\n\tSO_VM_SOCKETS_TRUSTED                = 0x5\n\tSO_WIFI_STATUS                       = 0x29\n\tSO_ZEROCOPY                          = 0x3c\n\tSPLICE_F_GIFT                        = 0x8\n\tSPLICE_F_MORE                        = 0x4\n\tSPLICE_F_MOVE                        = 0x1\n\tSPLICE_F_NONBLOCK                    = 0x2\n\tSQUASHFS_MAGIC                       = 0x73717368\n\tSTACK_END_MAGIC                      = 0x57ac6e9d\n\tSTATX_ALL                            = 0xfff\n\tSTATX_ATIME                          = 0x20\n\tSTATX_ATTR_APPEND                    = 0x20\n\tSTATX_ATTR_AUTOMOUNT                 = 0x1000\n\tSTATX_ATTR_COMPRESSED                = 0x4\n\tSTATX_ATTR_ENCRYPTED                 = 0x800\n\tSTATX_ATTR_IMMUTABLE                 = 0x10\n\tSTATX_ATTR_NODUMP                    = 0x40\n\tSTATX_BASIC_STATS                    = 0x7ff\n\tSTATX_BLOCKS                         = 0x400\n\tSTATX_BTIME                          = 0x800\n\tSTATX_CTIME                          = 0x80\n\tSTATX_GID                            = 0x10\n\tSTATX_INO                            = 0x100\n\tSTATX_MODE                           = 0x2\n\tSTATX_MTIME                          = 0x40\n\tSTATX_NLINK                          = 0x4\n\tSTATX_SIZE                           = 0x200\n\tSTATX_TYPE                           = 0x1\n\tSTATX_UID                            = 0x8\n\tSTATX__RESERVED                      = 0x80000000\n\tSYSFS_MAGIC                          = 0x62656572\n\tS_BLKSIZE                            = 0x200\n\tS_IEXEC                              = 0x40\n\tS_IFBLK                              = 0x6000\n\tS_IFCHR                              = 0x2000\n\tS_IFDIR                              = 0x4000\n\tS_IFIFO                              = 0x1000\n\tS_IFLNK                              = 0xa000\n\tS_IFMT                               = 0xf000\n\tS_IFREG                              = 0x8000\n\tS_IFSOCK                             = 0xc000\n\tS_IREAD                              = 0x100\n\tS_IRGRP                              = 0x20\n\tS_IROTH                              = 0x4\n\tS_IRUSR                              = 0x100\n\tS_IRWXG                              = 0x38\n\tS_IRWXO                              = 0x7\n\tS_IRWXU                              = 0x1c0\n\tS_ISGID                              = 0x400\n\tS_ISUID                              = 0x800\n\tS_ISVTX                              = 0x200\n\tS_IWGRP                              = 0x10\n\tS_IWOTH                              = 0x2\n\tS_IWRITE                             = 0x80\n\tS_IWUSR                              = 0x80\n\tS_IXGRP                              = 0x8\n\tS_IXOTH                              = 0x1\n\tS_IXUSR                              = 0x40\n\tTAB0                                 = 0x0\n\tTAB1                                 = 0x800\n\tTAB2                                 = 0x1000\n\tTAB3                                 = 0x1800\n\tTABDLY                               = 0x1800\n\tTASKSTATS_CMD_ATTR_MAX               = 0x4\n\tTASKSTATS_CMD_MAX                    = 0x2\n\tTASKSTATS_GENL_NAME                  = \"TASKSTATS\"\n\tTASKSTATS_GENL_VERSION               = 0x1\n\tTASKSTATS_TYPE_MAX                   = 0x6\n\tTASKSTATS_VERSION                    = 0x8\n\tTCFLSH                               = 0x5407\n\tTCGETA                               = 0x5401\n\tTCGETS                               = 0x540d\n\tTCGETS2                              = 0x4030542a\n\tTCIFLUSH                             = 0x0\n\tTCIOFF                               = 0x2\n\tTCIOFLUSH                            = 0x2\n\tTCION                                = 0x3\n\tTCOFLUSH                             = 0x1\n\tTCOOFF                               = 0x0\n\tTCOON                                = 0x1\n\tTCP_CC_INFO                          = 0x1a\n\tTCP_CONGESTION                       = 0xd\n\tTCP_COOKIE_IN_ALWAYS                 = 0x1\n\tTCP_COOKIE_MAX                       = 0x10\n\tTCP_COOKIE_MIN                       = 0x8\n\tTCP_COOKIE_OUT_NEVER                 = 0x2\n\tTCP_COOKIE_PAIR_SIZE                 = 0x20\n\tTCP_COOKIE_TRANSACTIONS              = 0xf\n\tTCP_CORK                             = 0x3\n\tTCP_DEFER_ACCEPT                     = 0x9\n\tTCP_FASTOPEN                         = 0x17\n\tTCP_FASTOPEN_CONNECT                 = 0x1e\n\tTCP_FASTOPEN_KEY                     = 0x21\n\tTCP_FASTOPEN_NO_COOKIE               = 0x22\n\tTCP_INFO                             = 0xb\n\tTCP_KEEPCNT                          = 0x6\n\tTCP_KEEPIDLE                         = 0x4\n\tTCP_KEEPINTVL                        = 0x5\n\tTCP_LINGER2                          = 0x8\n\tTCP_MAXSEG                           = 0x2\n\tTCP_MAXWIN                           = 0xffff\n\tTCP_MAX_WINSHIFT                     = 0xe\n\tTCP_MD5SIG                           = 0xe\n\tTCP_MD5SIG_EXT                       = 0x20\n\tTCP_MD5SIG_FLAG_PREFIX               = 0x1\n\tTCP_MD5SIG_MAXKEYLEN                 = 0x50\n\tTCP_MSS                              = 0x200\n\tTCP_MSS_DEFAULT                      = 0x218\n\tTCP_MSS_DESIRED                      = 0x4c4\n\tTCP_NODELAY                          = 0x1\n\tTCP_NOTSENT_LOWAT                    = 0x19\n\tTCP_QUEUE_SEQ                        = 0x15\n\tTCP_QUICKACK                         = 0xc\n\tTCP_REPAIR                           = 0x13\n\tTCP_REPAIR_OPTIONS                   = 0x16\n\tTCP_REPAIR_QUEUE                     = 0x14\n\tTCP_REPAIR_WINDOW                    = 0x1d\n\tTCP_SAVED_SYN                        = 0x1c\n\tTCP_SAVE_SYN                         = 0x1b\n\tTCP_SYNCNT                           = 0x7\n\tTCP_S_DATA_IN                        = 0x4\n\tTCP_S_DATA_OUT                       = 0x8\n\tTCP_THIN_DUPACK                      = 0x11\n\tTCP_THIN_LINEAR_TIMEOUTS             = 0x10\n\tTCP_TIMESTAMP                        = 0x18\n\tTCP_ULP                              = 0x1f\n\tTCP_USER_TIMEOUT                     = 0x12\n\tTCP_WINDOW_CLAMP                     = 0xa\n\tTCSAFLUSH                            = 0x5410\n\tTCSBRK                               = 0x5405\n\tTCSBRKP                              = 0x5486\n\tTCSETA                               = 0x5402\n\tTCSETAF                              = 0x5404\n\tTCSETAW                              = 0x5403\n\tTCSETS                               = 0x540e\n\tTCSETS2                              = 0x8030542b\n\tTCSETSF                              = 0x5410\n\tTCSETSF2                             = 0x8030542d\n\tTCSETSW                              = 0x540f\n\tTCSETSW2                             = 0x8030542c\n\tTCXONC                               = 0x5406\n\tTIOCCBRK                             = 0x5428\n\tTIOCCONS                             = 0x80047478\n\tTIOCEXCL                             = 0x740d\n\tTIOCGDEV                             = 0x40045432\n\tTIOCGETD                             = 0x7400\n\tTIOCGETP                             = 0x7408\n\tTIOCGEXCL                            = 0x40045440\n\tTIOCGICOUNT                          = 0x5492\n\tTIOCGLCKTRMIOS                       = 0x548b\n\tTIOCGLTC                             = 0x7474\n\tTIOCGPGRP                            = 0x40047477\n\tTIOCGPKT                             = 0x40045438\n\tTIOCGPTLCK                           = 0x40045439\n\tTIOCGPTN                             = 0x40045430\n\tTIOCGPTPEER                          = 0x20005441\n\tTIOCGRS485                           = 0x4020542e\n\tTIOCGSERIAL                          = 0x5484\n\tTIOCGSID                             = 0x7416\n\tTIOCGSOFTCAR                         = 0x5481\n\tTIOCGWINSZ                           = 0x40087468\n\tTIOCINQ                              = 0x467f\n\tTIOCLINUX                            = 0x5483\n\tTIOCMBIC                             = 0x741c\n\tTIOCMBIS                             = 0x741b\n\tTIOCMGET                             = 0x741d\n\tTIOCMIWAIT                           = 0x5491\n\tTIOCMSET                             = 0x741a\n\tTIOCM_CAR                            = 0x100\n\tTIOCM_CD                             = 0x100\n\tTIOCM_CTS                            = 0x40\n\tTIOCM_DSR                            = 0x400\n\tTIOCM_DTR                            = 0x2\n\tTIOCM_LE                             = 0x1\n\tTIOCM_RI                             = 0x200\n\tTIOCM_RNG                            = 0x200\n\tTIOCM_RTS                            = 0x4\n\tTIOCM_SR                             = 0x20\n\tTIOCM_ST                             = 0x10\n\tTIOCNOTTY                            = 0x5471\n\tTIOCNXCL                             = 0x740e\n\tTIOCOUTQ                             = 0x7472\n\tTIOCPKT                              = 0x5470\n\tTIOCPKT_DATA                         = 0x0\n\tTIOCPKT_DOSTOP                       = 0x20\n\tTIOCPKT_FLUSHREAD                    = 0x1\n\tTIOCPKT_FLUSHWRITE                   = 0x2\n\tTIOCPKT_IOCTL                        = 0x40\n\tTIOCPKT_NOSTOP                       = 0x10\n\tTIOCPKT_START                        = 0x8\n\tTIOCPKT_STOP                         = 0x4\n\tTIOCSBRK                             = 0x5427\n\tTIOCSCTTY                            = 0x5480\n\tTIOCSERCONFIG                        = 0x5488\n\tTIOCSERGETLSR                        = 0x548e\n\tTIOCSERGETMULTI                      = 0x548f\n\tTIOCSERGSTRUCT                       = 0x548d\n\tTIOCSERGWILD                         = 0x5489\n\tTIOCSERSETMULTI                      = 0x5490\n\tTIOCSERSWILD                         = 0x548a\n\tTIOCSER_TEMT                         = 0x1\n\tTIOCSETD                             = 0x7401\n\tTIOCSETN                             = 0x740a\n\tTIOCSETP                             = 0x7409\n\tTIOCSIG                              = 0x80045436\n\tTIOCSLCKTRMIOS                       = 0x548c\n\tTIOCSLTC                             = 0x7475\n\tTIOCSPGRP                            = 0x80047476\n\tTIOCSPTLCK                           = 0x80045431\n\tTIOCSRS485                           = 0xc020542f\n\tTIOCSSERIAL                          = 0x5485\n\tTIOCSSOFTCAR                         = 0x5482\n\tTIOCSTI                              = 0x5472\n\tTIOCSWINSZ                           = 0x80087467\n\tTIOCVHANGUP                          = 0x5437\n\tTMPFS_MAGIC                          = 0x1021994\n\tTOSTOP                               = 0x8000\n\tTPACKET_ALIGNMENT                    = 0x10\n\tTPACKET_HDRLEN                       = 0x34\n\tTP_STATUS_AVAILABLE                  = 0x0\n\tTP_STATUS_BLK_TMO                    = 0x20\n\tTP_STATUS_COPY                       = 0x2\n\tTP_STATUS_CSUMNOTREADY               = 0x8\n\tTP_STATUS_CSUM_VALID                 = 0x80\n\tTP_STATUS_KERNEL                     = 0x0\n\tTP_STATUS_LOSING                     = 0x4\n\tTP_STATUS_SENDING                    = 0x2\n\tTP_STATUS_SEND_REQUEST               = 0x1\n\tTP_STATUS_TS_RAW_HARDWARE            = -0x80000000\n\tTP_STATUS_TS_SOFTWARE                = 0x20000000\n\tTP_STATUS_TS_SYS_HARDWARE            = 0x40000000\n\tTP_STATUS_USER                       = 0x1\n\tTP_STATUS_VLAN_TPID_VALID            = 0x40\n\tTP_STATUS_VLAN_VALID                 = 0x10\n\tTP_STATUS_WRONG_FORMAT               = 0x4\n\tTRACEFS_MAGIC                        = 0x74726163\n\tTS_COMM_LEN                          = 0x20\n\tTUNATTACHFILTER                      = 0x801054d5\n\tTUNDETACHFILTER                      = 0x801054d6\n\tTUNGETFEATURES                       = 0x400454cf\n\tTUNGETFILTER                         = 0x401054db\n\tTUNGETIFF                            = 0x400454d2\n\tTUNGETSNDBUF                         = 0x400454d3\n\tTUNGETVNETBE                         = 0x400454df\n\tTUNGETVNETHDRSZ                      = 0x400454d7\n\tTUNGETVNETLE                         = 0x400454dd\n\tTUNSETDEBUG                          = 0x800454c9\n\tTUNSETFILTEREBPF                     = 0x400454e1\n\tTUNSETGROUP                          = 0x800454ce\n\tTUNSETIFF                            = 0x800454ca\n\tTUNSETIFINDEX                        = 0x800454da\n\tTUNSETLINK                           = 0x800454cd\n\tTUNSETNOCSUM                         = 0x800454c8\n\tTUNSETOFFLOAD                        = 0x800454d0\n\tTUNSETOWNER                          = 0x800454cc\n\tTUNSETPERSIST                        = 0x800454cb\n\tTUNSETQUEUE                          = 0x800454d9\n\tTUNSETSNDBUF                         = 0x800454d4\n\tTUNSETSTEERINGEBPF                   = 0x400454e0\n\tTUNSETTXFILTER                       = 0x800454d1\n\tTUNSETVNETBE                         = 0x800454de\n\tTUNSETVNETHDRSZ                      = 0x800454d8\n\tTUNSETVNETLE                         = 0x800454dc\n\tUDF_SUPER_MAGIC                      = 0x15013346\n\tUMOUNT_NOFOLLOW                      = 0x8\n\tUSBDEVICE_SUPER_MAGIC                = 0x9fa2\n\tUTIME_NOW                            = 0x3fffffff\n\tUTIME_OMIT                           = 0x3ffffffe\n\tV9FS_MAGIC                           = 0x1021997\n\tVDISCARD                             = 0xd\n\tVEOF                                 = 0x10\n\tVEOL                                 = 0x11\n\tVEOL2                                = 0x6\n\tVERASE                               = 0x2\n\tVINTR                                = 0x0\n\tVKILL                                = 0x3\n\tVLNEXT                               = 0xf\n\tVMADDR_CID_ANY                       = 0xffffffff\n\tVMADDR_CID_HOST                      = 0x2\n\tVMADDR_CID_HYPERVISOR                = 0x0\n\tVMADDR_CID_RESERVED                  = 0x1\n\tVMADDR_PORT_ANY                      = 0xffffffff\n\tVMIN                                 = 0x4\n\tVM_SOCKETS_INVALID_VERSION           = 0xffffffff\n\tVQUIT                                = 0x1\n\tVREPRINT                             = 0xc\n\tVSTART                               = 0x8\n\tVSTOP                                = 0x9\n\tVSUSP                                = 0xa\n\tVSWTC                                = 0x7\n\tVSWTCH                               = 0x7\n\tVT0                                  = 0x0\n\tVT1                                  = 0x4000\n\tVTDLY                                = 0x4000\n\tVTIME                                = 0x5\n\tVWERASE                              = 0xe\n\tWALL                                 = 0x40000000\n\tWCLONE                               = 0x80000000\n\tWCONTINUED                           = 0x8\n\tWDIOC_GETBOOTSTATUS                  = 0x40045702\n\tWDIOC_GETPRETIMEOUT                  = 0x40045709\n\tWDIOC_GETSTATUS                      = 0x40045701\n\tWDIOC_GETSUPPORT                     = 0x40285700\n\tWDIOC_GETTEMP                        = 0x40045703\n\tWDIOC_GETTIMELEFT                    = 0x4004570a\n\tWDIOC_GETTIMEOUT                     = 0x40045707\n\tWDIOC_KEEPALIVE                      = 0x40045705\n\tWDIOC_SETOPTIONS                     = 0x40045704\n\tWDIOC_SETPRETIMEOUT                  = 0xc0045708\n\tWDIOC_SETTIMEOUT                     = 0xc0045706\n\tWEXITED                              = 0x4\n\tWIN_ACKMEDIACHANGE                   = 0xdb\n\tWIN_CHECKPOWERMODE1                  = 0xe5\n\tWIN_CHECKPOWERMODE2                  = 0x98\n\tWIN_DEVICE_RESET                     = 0x8\n\tWIN_DIAGNOSE                         = 0x90\n\tWIN_DOORLOCK                         = 0xde\n\tWIN_DOORUNLOCK                       = 0xdf\n\tWIN_DOWNLOAD_MICROCODE               = 0x92\n\tWIN_FLUSH_CACHE                      = 0xe7\n\tWIN_FLUSH_CACHE_EXT                  = 0xea\n\tWIN_FORMAT                           = 0x50\n\tWIN_GETMEDIASTATUS                   = 0xda\n\tWIN_IDENTIFY                         = 0xec\n\tWIN_IDENTIFY_DMA                     = 0xee\n\tWIN_IDLEIMMEDIATE                    = 0xe1\n\tWIN_INIT                             = 0x60\n\tWIN_MEDIAEJECT                       = 0xed\n\tWIN_MULTREAD                         = 0xc4\n\tWIN_MULTREAD_EXT                     = 0x29\n\tWIN_MULTWRITE                        = 0xc5\n\tWIN_MULTWRITE_EXT                    = 0x39\n\tWIN_NOP                              = 0x0\n\tWIN_PACKETCMD                        = 0xa0\n\tWIN_PIDENTIFY                        = 0xa1\n\tWIN_POSTBOOT                         = 0xdc\n\tWIN_PREBOOT                          = 0xdd\n\tWIN_QUEUED_SERVICE                   = 0xa2\n\tWIN_READ                             = 0x20\n\tWIN_READDMA                          = 0xc8\n\tWIN_READDMA_EXT                      = 0x25\n\tWIN_READDMA_ONCE                     = 0xc9\n\tWIN_READDMA_QUEUED                   = 0xc7\n\tWIN_READDMA_QUEUED_EXT               = 0x26\n\tWIN_READ_BUFFER                      = 0xe4\n\tWIN_READ_EXT                         = 0x24\n\tWIN_READ_LONG                        = 0x22\n\tWIN_READ_LONG_ONCE                   = 0x23\n\tWIN_READ_NATIVE_MAX                  = 0xf8\n\tWIN_READ_NATIVE_MAX_EXT              = 0x27\n\tWIN_READ_ONCE                        = 0x21\n\tWIN_RECAL                            = 0x10\n\tWIN_RESTORE                          = 0x10\n\tWIN_SECURITY_DISABLE                 = 0xf6\n\tWIN_SECURITY_ERASE_PREPARE           = 0xf3\n\tWIN_SECURITY_ERASE_UNIT              = 0xf4\n\tWIN_SECURITY_FREEZE_LOCK             = 0xf5\n\tWIN_SECURITY_SET_PASS                = 0xf1\n\tWIN_SECURITY_UNLOCK                  = 0xf2\n\tWIN_SEEK                             = 0x70\n\tWIN_SETFEATURES                      = 0xef\n\tWIN_SETIDLE1                         = 0xe3\n\tWIN_SETIDLE2                         = 0x97\n\tWIN_SETMULT                          = 0xc6\n\tWIN_SET_MAX                          = 0xf9\n\tWIN_SET_MAX_EXT                      = 0x37\n\tWIN_SLEEPNOW1                        = 0xe6\n\tWIN_SLEEPNOW2                        = 0x99\n\tWIN_SMART                            = 0xb0\n\tWIN_SPECIFY                          = 0x91\n\tWIN_SRST                             = 0x8\n\tWIN_STANDBY                          = 0xe2\n\tWIN_STANDBY2                         = 0x96\n\tWIN_STANDBYNOW1                      = 0xe0\n\tWIN_STANDBYNOW2                      = 0x94\n\tWIN_VERIFY                           = 0x40\n\tWIN_VERIFY_EXT                       = 0x42\n\tWIN_VERIFY_ONCE                      = 0x41\n\tWIN_WRITE                            = 0x30\n\tWIN_WRITEDMA                         = 0xca\n\tWIN_WRITEDMA_EXT                     = 0x35\n\tWIN_WRITEDMA_ONCE                    = 0xcb\n\tWIN_WRITEDMA_QUEUED                  = 0xcc\n\tWIN_WRITEDMA_QUEUED_EXT              = 0x36\n\tWIN_WRITE_BUFFER                     = 0xe8\n\tWIN_WRITE_EXT                        = 0x34\n\tWIN_WRITE_LONG                       = 0x32\n\tWIN_WRITE_LONG_ONCE                  = 0x33\n\tWIN_WRITE_ONCE                       = 0x31\n\tWIN_WRITE_SAME                       = 0xe9\n\tWIN_WRITE_VERIFY                     = 0x3c\n\tWNOHANG                              = 0x1\n\tWNOTHREAD                            = 0x20000000\n\tWNOWAIT                              = 0x1000000\n\tWORDSIZE                             = 0x40\n\tWSTOPPED                             = 0x2\n\tWUNTRACED                            = 0x2\n\tXATTR_CREATE                         = 0x1\n\tXATTR_REPLACE                        = 0x2\n\tXCASE                                = 0x4\n\tXENFS_SUPER_MAGIC                    = 0xabba1974\n\tXTABS                                = 0x1800\n\tZSMALLOC_MAGIC                       = 0x58295829\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x7d)\n\tEADDRNOTAVAIL   = syscall.Errno(0x7e)\n\tEADV            = syscall.Errno(0x44)\n\tEAFNOSUPPORT    = syscall.Errno(0x7c)\n\tEAGAIN          = syscall.Errno(0xb)\n\tEALREADY        = syscall.Errno(0x95)\n\tEBADE           = syscall.Errno(0x32)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADFD          = syscall.Errno(0x51)\n\tEBADMSG         = syscall.Errno(0x4d)\n\tEBADR           = syscall.Errno(0x33)\n\tEBADRQC         = syscall.Errno(0x36)\n\tEBADSLT         = syscall.Errno(0x37)\n\tEBFONT          = syscall.Errno(0x3b)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x9e)\n\tECHILD          = syscall.Errno(0xa)\n\tECHRNG          = syscall.Errno(0x25)\n\tECOMM           = syscall.Errno(0x46)\n\tECONNABORTED    = syscall.Errno(0x82)\n\tECONNREFUSED    = syscall.Errno(0x92)\n\tECONNRESET      = syscall.Errno(0x83)\n\tEDEADLK         = syscall.Errno(0x2d)\n\tEDEADLOCK       = syscall.Errno(0x38)\n\tEDESTADDRREQ    = syscall.Errno(0x60)\n\tEDOM            = syscall.Errno(0x21)\n\tEDOTDOT         = syscall.Errno(0x49)\n\tEDQUOT          = syscall.Errno(0x46d)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEHOSTDOWN       = syscall.Errno(0x93)\n\tEHOSTUNREACH    = syscall.Errno(0x94)\n\tEHWPOISON       = syscall.Errno(0xa8)\n\tEIDRM           = syscall.Errno(0x24)\n\tEILSEQ          = syscall.Errno(0x58)\n\tEINIT           = syscall.Errno(0x8d)\n\tEINPROGRESS     = syscall.Errno(0x96)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x85)\n\tEISDIR          = syscall.Errno(0x15)\n\tEISNAM          = syscall.Errno(0x8b)\n\tEKEYEXPIRED     = syscall.Errno(0xa2)\n\tEKEYREJECTED    = syscall.Errno(0xa4)\n\tEKEYREVOKED     = syscall.Errno(0xa3)\n\tEL2HLT          = syscall.Errno(0x2c)\n\tEL2NSYNC        = syscall.Errno(0x26)\n\tEL3HLT          = syscall.Errno(0x27)\n\tEL3RST          = syscall.Errno(0x28)\n\tELIBACC         = syscall.Errno(0x53)\n\tELIBBAD         = syscall.Errno(0x54)\n\tELIBEXEC        = syscall.Errno(0x57)\n\tELIBMAX         = syscall.Errno(0x56)\n\tELIBSCN         = syscall.Errno(0x55)\n\tELNRNG          = syscall.Errno(0x29)\n\tELOOP           = syscall.Errno(0x5a)\n\tEMEDIUMTYPE     = syscall.Errno(0xa0)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x61)\n\tEMULTIHOP       = syscall.Errno(0x4a)\n\tENAMETOOLONG    = syscall.Errno(0x4e)\n\tENAVAIL         = syscall.Errno(0x8a)\n\tENETDOWN        = syscall.Errno(0x7f)\n\tENETRESET       = syscall.Errno(0x81)\n\tENETUNREACH     = syscall.Errno(0x80)\n\tENFILE          = syscall.Errno(0x17)\n\tENOANO          = syscall.Errno(0x35)\n\tENOBUFS         = syscall.Errno(0x84)\n\tENOCSI          = syscall.Errno(0x2b)\n\tENODATA         = syscall.Errno(0x3d)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOKEY          = syscall.Errno(0xa1)\n\tENOLCK          = syscall.Errno(0x2e)\n\tENOLINK         = syscall.Errno(0x43)\n\tENOMEDIUM       = syscall.Errno(0x9f)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x23)\n\tENONET          = syscall.Errno(0x40)\n\tENOPKG          = syscall.Errno(0x41)\n\tENOPROTOOPT     = syscall.Errno(0x63)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x3f)\n\tENOSTR          = syscall.Errno(0x3c)\n\tENOSYS          = syscall.Errno(0x59)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x86)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x5d)\n\tENOTNAM         = syscall.Errno(0x89)\n\tENOTRECOVERABLE = syscall.Errno(0xa6)\n\tENOTSOCK        = syscall.Errno(0x5f)\n\tENOTSUP         = syscall.Errno(0x7a)\n\tENOTTY          = syscall.Errno(0x19)\n\tENOTUNIQ        = syscall.Errno(0x50)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x7a)\n\tEOVERFLOW       = syscall.Errno(0x4f)\n\tEOWNERDEAD      = syscall.Errno(0xa5)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x7b)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROTO          = syscall.Errno(0x47)\n\tEPROTONOSUPPORT = syscall.Errno(0x78)\n\tEPROTOTYPE      = syscall.Errno(0x62)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMCHG         = syscall.Errno(0x52)\n\tEREMDEV         = syscall.Errno(0x8e)\n\tEREMOTE         = syscall.Errno(0x42)\n\tEREMOTEIO       = syscall.Errno(0x8c)\n\tERESTART        = syscall.Errno(0x5b)\n\tERFKILL         = syscall.Errno(0xa7)\n\tEROFS           = syscall.Errno(0x1e)\n\tESHUTDOWN       = syscall.Errno(0x8f)\n\tESOCKTNOSUPPORT = syscall.Errno(0x79)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESRMNT          = syscall.Errno(0x45)\n\tESTALE          = syscall.Errno(0x97)\n\tESTRPIPE        = syscall.Errno(0x5c)\n\tETIME           = syscall.Errno(0x3e)\n\tETIMEDOUT       = syscall.Errno(0x91)\n\tETOOMANYREFS    = syscall.Errno(0x90)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUCLEAN         = syscall.Errno(0x87)\n\tEUNATCH         = syscall.Errno(0x2a)\n\tEUSERS          = syscall.Errno(0x5e)\n\tEWOULDBLOCK     = syscall.Errno(0xb)\n\tEXDEV           = syscall.Errno(0x12)\n\tEXFULL          = syscall.Errno(0x34)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x12)\n\tSIGCLD    = syscall.Signal(0x12)\n\tSIGCONT   = syscall.Signal(0x19)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x16)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPOLL   = syscall.Signal(0x16)\n\tSIGPROF   = syscall.Signal(0x1d)\n\tSIGPWR    = syscall.Signal(0x13)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x17)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x18)\n\tSIGTTIN   = syscall.Signal(0x1a)\n\tSIGTTOU   = syscall.Signal(0x1b)\n\tSIGURG    = syscall.Signal(0x15)\n\tSIGUSR1   = syscall.Signal(0x10)\n\tSIGUSR2   = syscall.Signal(0x11)\n\tSIGVTALRM = syscall.Signal(0x1c)\n\tSIGWINCH  = syscall.Signal(0x14)\n\tSIGXCPU   = syscall.Signal(0x1e)\n\tSIGXFSZ   = syscall.Signal(0x1f)\n)\n\n// Error table\nvar errorList = [...]struct {\n\tnum  syscall.Errno\n\tname string\n\tdesc string\n}{\n\t{1, \"EPERM\", \"operation not permitted\"},\n\t{2, \"ENOENT\", \"no such file or directory\"},\n\t{3, \"ESRCH\", \"no such process\"},\n\t{4, \"EINTR\", \"interrupted system call\"},\n\t{5, \"EIO\", \"input/output error\"},\n\t{6, \"ENXIO\", \"no such device or address\"},\n\t{7, \"E2BIG\", \"argument list too long\"},\n\t{8, \"ENOEXEC\", \"exec format error\"},\n\t{9, \"EBADF\", \"bad file descriptor\"},\n\t{10, \"ECHILD\", \"no child processes\"},\n\t{11, \"EAGAIN\", \"resource temporarily unavailable\"},\n\t{12, \"ENOMEM\", \"cannot allocate memory\"},\n\t{13, \"EACCES\", \"permission denied\"},\n\t{14, \"EFAULT\", \"bad address\"},\n\t{15, \"ENOTBLK\", \"block device required\"},\n\t{16, \"EBUSY\", \"device or resource busy\"},\n\t{17, \"EEXIST\", \"file exists\"},\n\t{18, \"EXDEV\", \"invalid cross-device link\"},\n\t{19, \"ENODEV\", \"no such device\"},\n\t{20, \"ENOTDIR\", \"not a directory\"},\n\t{21, \"EISDIR\", \"is a directory\"},\n\t{22, \"EINVAL\", \"invalid argument\"},\n\t{23, \"ENFILE\", \"too many open files in system\"},\n\t{24, \"EMFILE\", \"too many open files\"},\n\t{25, \"ENOTTY\", \"inappropriate ioctl for device\"},\n\t{26, \"ETXTBSY\", \"text file busy\"},\n\t{27, \"EFBIG\", \"file too large\"},\n\t{28, \"ENOSPC\", \"no space left on device\"},\n\t{29, \"ESPIPE\", \"illegal seek\"},\n\t{30, \"EROFS\", \"read-only file system\"},\n\t{31, \"EMLINK\", \"too many links\"},\n\t{32, \"EPIPE\", \"broken pipe\"},\n\t{33, \"EDOM\", \"numerical argument out of domain\"},\n\t{34, \"ERANGE\", \"numerical result out of range\"},\n\t{35, \"ENOMSG\", \"no message of desired type\"},\n\t{36, \"EIDRM\", \"identifier removed\"},\n\t{37, \"ECHRNG\", \"channel number out of range\"},\n\t{38, \"EL2NSYNC\", \"level 2 not synchronized\"},\n\t{39, \"EL3HLT\", \"level 3 halted\"},\n\t{40, \"EL3RST\", \"level 3 reset\"},\n\t{41, \"ELNRNG\", \"link number out of range\"},\n\t{42, \"EUNATCH\", \"protocol driver not attached\"},\n\t{43, \"ENOCSI\", \"no CSI structure available\"},\n\t{44, \"EL2HLT\", \"level 2 halted\"},\n\t{45, \"EDEADLK\", \"resource deadlock avoided\"},\n\t{46, \"ENOLCK\", \"no locks available\"},\n\t{50, \"EBADE\", \"invalid exchange\"},\n\t{51, \"EBADR\", \"invalid request descriptor\"},\n\t{52, \"EXFULL\", \"exchange full\"},\n\t{53, \"ENOANO\", \"no anode\"},\n\t{54, \"EBADRQC\", \"invalid request code\"},\n\t{55, \"EBADSLT\", \"invalid slot\"},\n\t{56, \"EDEADLOCK\", \"file locking deadlock error\"},\n\t{59, \"EBFONT\", \"bad font file format\"},\n\t{60, \"ENOSTR\", \"device not a stream\"},\n\t{61, \"ENODATA\", \"no data available\"},\n\t{62, \"ETIME\", \"timer expired\"},\n\t{63, \"ENOSR\", \"out of streams resources\"},\n\t{64, \"ENONET\", \"machine is not on the network\"},\n\t{65, \"ENOPKG\", \"package not installed\"},\n\t{66, \"EREMOTE\", \"object is remote\"},\n\t{67, \"ENOLINK\", \"link has been severed\"},\n\t{68, \"EADV\", \"advertise error\"},\n\t{69, \"ESRMNT\", \"srmount error\"},\n\t{70, \"ECOMM\", \"communication error on send\"},\n\t{71, \"EPROTO\", \"protocol error\"},\n\t{73, \"EDOTDOT\", \"RFS specific error\"},\n\t{74, \"EMULTIHOP\", \"multihop attempted\"},\n\t{77, \"EBADMSG\", \"bad message\"},\n\t{78, \"ENAMETOOLONG\", \"file name too long\"},\n\t{79, \"EOVERFLOW\", \"value too large for defined data type\"},\n\t{80, \"ENOTUNIQ\", \"name not unique on network\"},\n\t{81, \"EBADFD\", \"file descriptor in bad state\"},\n\t{82, \"EREMCHG\", \"remote address changed\"},\n\t{83, \"ELIBACC\", \"can not access a needed shared library\"},\n\t{84, \"ELIBBAD\", \"accessing a corrupted shared library\"},\n\t{85, \"ELIBSCN\", \".lib section in a.out corrupted\"},\n\t{86, \"ELIBMAX\", \"attempting to link in too many shared libraries\"},\n\t{87, \"ELIBEXEC\", \"cannot exec a shared library directly\"},\n\t{88, \"EILSEQ\", \"invalid or incomplete multibyte or wide character\"},\n\t{89, \"ENOSYS\", \"function not implemented\"},\n\t{90, \"ELOOP\", \"too many levels of symbolic links\"},\n\t{91, \"ERESTART\", \"interrupted system call should be restarted\"},\n\t{92, \"ESTRPIPE\", \"streams pipe error\"},\n\t{93, \"ENOTEMPTY\", \"directory not empty\"},\n\t{94, \"EUSERS\", \"too many users\"},\n\t{95, \"ENOTSOCK\", \"socket operation on non-socket\"},\n\t{96, \"EDESTADDRREQ\", \"destination address required\"},\n\t{97, \"EMSGSIZE\", \"message too long\"},\n\t{98, \"EPROTOTYPE\", \"protocol wrong type for socket\"},\n\t{99, \"ENOPROTOOPT\", \"protocol not available\"},\n\t{120, \"EPROTONOSUPPORT\", \"protocol not supported\"},\n\t{121, \"ESOCKTNOSUPPORT\", \"socket type not supported\"},\n\t{122, \"ENOTSUP\", \"operation not supported\"},\n\t{123, \"EPFNOSUPPORT\", \"protocol family not supported\"},\n\t{124, \"EAFNOSUPPORT\", \"address family not supported by protocol\"},\n\t{125, \"EADDRINUSE\", \"address already in use\"},\n\t{126, \"EADDRNOTAVAIL\", \"cannot assign requested address\"},\n\t{127, \"ENETDOWN\", \"network is down\"},\n\t{128, \"ENETUNREACH\", \"network is unreachable\"},\n\t{129, \"ENETRESET\", \"network dropped connection on reset\"},\n\t{130, \"ECONNABORTED\", \"software caused connection abort\"},\n\t{131, \"ECONNRESET\", \"connection reset by peer\"},\n\t{132, \"ENOBUFS\", \"no buffer space available\"},\n\t{133, \"EISCONN\", \"transport endpoint is already connected\"},\n\t{134, \"ENOTCONN\", \"transport endpoint is not connected\"},\n\t{135, \"EUCLEAN\", \"structure needs cleaning\"},\n\t{137, \"ENOTNAM\", \"not a XENIX named type file\"},\n\t{138, \"ENAVAIL\", \"no XENIX semaphores available\"},\n\t{139, \"EISNAM\", \"is a named type file\"},\n\t{140, \"EREMOTEIO\", \"remote I/O error\"},\n\t{141, \"EINIT\", \"unknown error 141\"},\n\t{142, \"EREMDEV\", \"unknown error 142\"},\n\t{143, \"ESHUTDOWN\", \"cannot send after transport endpoint shutdown\"},\n\t{144, \"ETOOMANYREFS\", \"too many references: cannot splice\"},\n\t{145, \"ETIMEDOUT\", \"connection timed out\"},\n\t{146, \"ECONNREFUSED\", \"connection refused\"},\n\t{147, \"EHOSTDOWN\", \"host is down\"},\n\t{148, \"EHOSTUNREACH\", \"no route to host\"},\n\t{149, \"EALREADY\", \"operation already in progress\"},\n\t{150, \"EINPROGRESS\", \"operation now in progress\"},\n\t{151, \"ESTALE\", \"stale file handle\"},\n\t{158, \"ECANCELED\", \"operation canceled\"},\n\t{159, \"ENOMEDIUM\", \"no medium found\"},\n\t{160, \"EMEDIUMTYPE\", \"wrong medium type\"},\n\t{161, \"ENOKEY\", \"required key not available\"},\n\t{162, \"EKEYEXPIRED\", \"key has expired\"},\n\t{163, \"EKEYREVOKED\", \"key has been revoked\"},\n\t{164, \"EKEYREJECTED\", \"key was rejected by service\"},\n\t{165, \"EOWNERDEAD\", \"owner died\"},\n\t{166, \"ENOTRECOVERABLE\", \"state not recoverable\"},\n\t{167, \"ERFKILL\", \"operation not possible due to RF-kill\"},\n\t{168, \"EHWPOISON\", \"memory page has hardware error\"},\n\t{1133, \"EDQUOT\", \"disk quota exceeded\"},\n}\n\n// Signal table\nvar signalList = [...]struct {\n\tnum  syscall.Signal\n\tname string\n\tdesc string\n}{\n\t{1, \"SIGHUP\", \"hangup\"},\n\t{2, \"SIGINT\", \"interrupt\"},\n\t{3, \"SIGQUIT\", \"quit\"},\n\t{4, \"SIGILL\", \"illegal instruction\"},\n\t{5, \"SIGTRAP\", \"trace/breakpoint trap\"},\n\t{6, \"SIGABRT\", \"aborted\"},\n\t{7, \"SIGEMT\", \"EMT trap\"},\n\t{8, \"SIGFPE\", \"floating point exception\"},\n\t{9, \"SIGKILL\", \"killed\"},\n\t{10, \"SIGBUS\", \"bus error\"},\n\t{11, \"SIGSEGV\", \"segmentation fault\"},\n\t{12, \"SIGSYS\", \"bad system call\"},\n\t{13, \"SIGPIPE\", \"broken pipe\"},\n\t{14, \"SIGALRM\", \"alarm clock\"},\n\t{15, \"SIGTERM\", \"terminated\"},\n\t{16, \"SIGUSR1\", \"user defined signal 1\"},\n\t{17, \"SIGUSR2\", \"user defined signal 2\"},\n\t{18, \"SIGCHLD\", \"child exited\"},\n\t{19, \"SIGPWR\", \"power failure\"},\n\t{20, \"SIGWINCH\", \"window changed\"},\n\t{21, \"SIGURG\", \"urgent I/O condition\"},\n\t{22, \"SIGIO\", \"I/O possible\"},\n\t{23, \"SIGSTOP\", \"stopped (signal)\"},\n\t{24, \"SIGTSTP\", \"stopped\"},\n\t{25, \"SIGCONT\", \"continued\"},\n\t{26, \"SIGTTIN\", \"stopped (tty input)\"},\n\t{27, \"SIGTTOU\", \"stopped (tty output)\"},\n\t{28, \"SIGVTALRM\", \"virtual timer expired\"},\n\t{29, \"SIGPROF\", \"profiling timer expired\"},\n\t{30, \"SIGXCPU\", \"CPU time limit exceeded\"},\n\t{31, \"SIGXFSZ\", \"file size limit exceeded\"},\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go",
    "content": "// mkerrors.sh -Wall -Werror -static -I/tmp/include\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build mipsle,linux\n\n// Code generated by cmd/cgo -godefs; DO NOT EDIT.\n// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAAFS_MAGIC                           = 0x5a3c69f0\n\tADFS_SUPER_MAGIC                     = 0xadf5\n\tAFFS_SUPER_MAGIC                     = 0xadff\n\tAFS_FS_MAGIC                         = 0x6b414653\n\tAFS_SUPER_MAGIC                      = 0x5346414f\n\tAF_ALG                               = 0x26\n\tAF_APPLETALK                         = 0x5\n\tAF_ASH                               = 0x12\n\tAF_ATMPVC                            = 0x8\n\tAF_ATMSVC                            = 0x14\n\tAF_AX25                              = 0x3\n\tAF_BLUETOOTH                         = 0x1f\n\tAF_BRIDGE                            = 0x7\n\tAF_CAIF                              = 0x25\n\tAF_CAN                               = 0x1d\n\tAF_DECnet                            = 0xc\n\tAF_ECONET                            = 0x13\n\tAF_FILE                              = 0x1\n\tAF_IB                                = 0x1b\n\tAF_IEEE802154                        = 0x24\n\tAF_INET                              = 0x2\n\tAF_INET6                             = 0xa\n\tAF_IPX                               = 0x4\n\tAF_IRDA                              = 0x17\n\tAF_ISDN                              = 0x22\n\tAF_IUCV                              = 0x20\n\tAF_KCM                               = 0x29\n\tAF_KEY                               = 0xf\n\tAF_LLC                               = 0x1a\n\tAF_LOCAL                             = 0x1\n\tAF_MAX                               = 0x2c\n\tAF_MPLS                              = 0x1c\n\tAF_NETBEUI                           = 0xd\n\tAF_NETLINK                           = 0x10\n\tAF_NETROM                            = 0x6\n\tAF_NFC                               = 0x27\n\tAF_PACKET                            = 0x11\n\tAF_PHONET                            = 0x23\n\tAF_PPPOX                             = 0x18\n\tAF_QIPCRTR                           = 0x2a\n\tAF_RDS                               = 0x15\n\tAF_ROSE                              = 0xb\n\tAF_ROUTE                             = 0x10\n\tAF_RXRPC                             = 0x21\n\tAF_SECURITY                          = 0xe\n\tAF_SMC                               = 0x2b\n\tAF_SNA                               = 0x16\n\tAF_TIPC                              = 0x1e\n\tAF_UNIX                              = 0x1\n\tAF_UNSPEC                            = 0x0\n\tAF_VSOCK                             = 0x28\n\tAF_WANPIPE                           = 0x19\n\tAF_X25                               = 0x9\n\tALG_OP_DECRYPT                       = 0x0\n\tALG_OP_ENCRYPT                       = 0x1\n\tALG_SET_AEAD_ASSOCLEN                = 0x4\n\tALG_SET_AEAD_AUTHSIZE                = 0x5\n\tALG_SET_IV                           = 0x2\n\tALG_SET_KEY                          = 0x1\n\tALG_SET_OP                           = 0x3\n\tANON_INODE_FS_MAGIC                  = 0x9041934\n\tARPHRD_6LOWPAN                       = 0x339\n\tARPHRD_ADAPT                         = 0x108\n\tARPHRD_APPLETLK                      = 0x8\n\tARPHRD_ARCNET                        = 0x7\n\tARPHRD_ASH                           = 0x30d\n\tARPHRD_ATM                           = 0x13\n\tARPHRD_AX25                          = 0x3\n\tARPHRD_BIF                           = 0x307\n\tARPHRD_CAIF                          = 0x336\n\tARPHRD_CAN                           = 0x118\n\tARPHRD_CHAOS                         = 0x5\n\tARPHRD_CISCO                         = 0x201\n\tARPHRD_CSLIP                         = 0x101\n\tARPHRD_CSLIP6                        = 0x103\n\tARPHRD_DDCMP                         = 0x205\n\tARPHRD_DLCI                          = 0xf\n\tARPHRD_ECONET                        = 0x30e\n\tARPHRD_EETHER                        = 0x2\n\tARPHRD_ETHER                         = 0x1\n\tARPHRD_EUI64                         = 0x1b\n\tARPHRD_FCAL                          = 0x311\n\tARPHRD_FCFABRIC                      = 0x313\n\tARPHRD_FCPL                          = 0x312\n\tARPHRD_FCPP                          = 0x310\n\tARPHRD_FDDI                          = 0x306\n\tARPHRD_FRAD                          = 0x302\n\tARPHRD_HDLC                          = 0x201\n\tARPHRD_HIPPI                         = 0x30c\n\tARPHRD_HWX25                         = 0x110\n\tARPHRD_IEEE1394                      = 0x18\n\tARPHRD_IEEE802                       = 0x6\n\tARPHRD_IEEE80211                     = 0x321\n\tARPHRD_IEEE80211_PRISM               = 0x322\n\tARPHRD_IEEE80211_RADIOTAP            = 0x323\n\tARPHRD_IEEE802154                    = 0x324\n\tARPHRD_IEEE802154_MONITOR            = 0x325\n\tARPHRD_IEEE802_TR                    = 0x320\n\tARPHRD_INFINIBAND                    = 0x20\n\tARPHRD_IP6GRE                        = 0x337\n\tARPHRD_IPDDP                         = 0x309\n\tARPHRD_IPGRE                         = 0x30a\n\tARPHRD_IRDA                          = 0x30f\n\tARPHRD_LAPB                          = 0x204\n\tARPHRD_LOCALTLK                      = 0x305\n\tARPHRD_LOOPBACK                      = 0x304\n\tARPHRD_METRICOM                      = 0x17\n\tARPHRD_NETLINK                       = 0x338\n\tARPHRD_NETROM                        = 0x0\n\tARPHRD_NONE                          = 0xfffe\n\tARPHRD_PHONET                        = 0x334\n\tARPHRD_PHONET_PIPE                   = 0x335\n\tARPHRD_PIMREG                        = 0x30b\n\tARPHRD_PPP                           = 0x200\n\tARPHRD_PRONET                        = 0x4\n\tARPHRD_RAWHDLC                       = 0x206\n\tARPHRD_RAWIP                         = 0x207\n\tARPHRD_ROSE                          = 0x10e\n\tARPHRD_RSRVD                         = 0x104\n\tARPHRD_SIT                           = 0x308\n\tARPHRD_SKIP                          = 0x303\n\tARPHRD_SLIP                          = 0x100\n\tARPHRD_SLIP6                         = 0x102\n\tARPHRD_TUNNEL                        = 0x300\n\tARPHRD_TUNNEL6                       = 0x301\n\tARPHRD_VOID                          = 0xffff\n\tARPHRD_VSOCKMON                      = 0x33a\n\tARPHRD_X25                           = 0x10f\n\tAUTOFS_SUPER_MAGIC                   = 0x187\n\tB0                                   = 0x0\n\tB1000000                             = 0x1008\n\tB110                                 = 0x3\n\tB115200                              = 0x1002\n\tB1152000                             = 0x1009\n\tB1200                                = 0x9\n\tB134                                 = 0x4\n\tB150                                 = 0x5\n\tB1500000                             = 0x100a\n\tB1800                                = 0xa\n\tB19200                               = 0xe\n\tB200                                 = 0x6\n\tB2000000                             = 0x100b\n\tB230400                              = 0x1003\n\tB2400                                = 0xb\n\tB2500000                             = 0x100c\n\tB300                                 = 0x7\n\tB3000000                             = 0x100d\n\tB3500000                             = 0x100e\n\tB38400                               = 0xf\n\tB4000000                             = 0x100f\n\tB460800                              = 0x1004\n\tB4800                                = 0xc\n\tB50                                  = 0x1\n\tB500000                              = 0x1005\n\tB57600                               = 0x1001\n\tB576000                              = 0x1006\n\tB600                                 = 0x8\n\tB75                                  = 0x2\n\tB921600                              = 0x1007\n\tB9600                                = 0xd\n\tBALLOON_KVM_MAGIC                    = 0x13661366\n\tBDEVFS_MAGIC                         = 0x62646576\n\tBINFMTFS_MAGIC                       = 0x42494e4d\n\tBLKBSZGET                            = 0x40041270\n\tBLKBSZSET                            = 0x80041271\n\tBLKFLSBUF                            = 0x20001261\n\tBLKFRAGET                            = 0x20001265\n\tBLKFRASET                            = 0x20001264\n\tBLKGETSIZE                           = 0x20001260\n\tBLKGETSIZE64                         = 0x40041272\n\tBLKPBSZGET                           = 0x2000127b\n\tBLKRAGET                             = 0x20001263\n\tBLKRASET                             = 0x20001262\n\tBLKROGET                             = 0x2000125e\n\tBLKROSET                             = 0x2000125d\n\tBLKRRPART                            = 0x2000125f\n\tBLKSECTGET                           = 0x20001267\n\tBLKSECTSET                           = 0x20001266\n\tBLKSSZGET                            = 0x20001268\n\tBOTHER                               = 0x1000\n\tBPF_A                                = 0x10\n\tBPF_ABS                              = 0x20\n\tBPF_ADD                              = 0x0\n\tBPF_ALU                              = 0x4\n\tBPF_AND                              = 0x50\n\tBPF_B                                = 0x10\n\tBPF_DIV                              = 0x30\n\tBPF_FS_MAGIC                         = 0xcafe4a11\n\tBPF_H                                = 0x8\n\tBPF_IMM                              = 0x0\n\tBPF_IND                              = 0x40\n\tBPF_JA                               = 0x0\n\tBPF_JEQ                              = 0x10\n\tBPF_JGE                              = 0x30\n\tBPF_JGT                              = 0x20\n\tBPF_JMP                              = 0x5\n\tBPF_JSET                             = 0x40\n\tBPF_K                                = 0x0\n\tBPF_LD                               = 0x0\n\tBPF_LDX                              = 0x1\n\tBPF_LEN                              = 0x80\n\tBPF_LL_OFF                           = -0x200000\n\tBPF_LSH                              = 0x60\n\tBPF_MAJOR_VERSION                    = 0x1\n\tBPF_MAXINSNS                         = 0x1000\n\tBPF_MEM                              = 0x60\n\tBPF_MEMWORDS                         = 0x10\n\tBPF_MINOR_VERSION                    = 0x1\n\tBPF_MISC                             = 0x7\n\tBPF_MOD                              = 0x90\n\tBPF_MSH                              = 0xa0\n\tBPF_MUL                              = 0x20\n\tBPF_NEG                              = 0x80\n\tBPF_NET_OFF                          = -0x100000\n\tBPF_OR                               = 0x40\n\tBPF_RET                              = 0x6\n\tBPF_RSH                              = 0x70\n\tBPF_ST                               = 0x2\n\tBPF_STX                              = 0x3\n\tBPF_SUB                              = 0x10\n\tBPF_TAX                              = 0x0\n\tBPF_TXA                              = 0x80\n\tBPF_W                                = 0x0\n\tBPF_X                                = 0x8\n\tBPF_XOR                              = 0xa0\n\tBRKINT                               = 0x2\n\tBS0                                  = 0x0\n\tBS1                                  = 0x2000\n\tBSDLY                                = 0x2000\n\tBTRFS_SUPER_MAGIC                    = 0x9123683e\n\tBTRFS_TEST_MAGIC                     = 0x73727279\n\tCAN_BCM                              = 0x2\n\tCAN_EFF_FLAG                         = 0x80000000\n\tCAN_EFF_ID_BITS                      = 0x1d\n\tCAN_EFF_MASK                         = 0x1fffffff\n\tCAN_ERR_FLAG                         = 0x20000000\n\tCAN_ERR_MASK                         = 0x1fffffff\n\tCAN_INV_FILTER                       = 0x20000000\n\tCAN_ISOTP                            = 0x6\n\tCAN_MAX_DLC                          = 0x8\n\tCAN_MAX_DLEN                         = 0x8\n\tCAN_MCNET                            = 0x5\n\tCAN_MTU                              = 0x10\n\tCAN_NPROTO                           = 0x7\n\tCAN_RAW                              = 0x1\n\tCAN_RAW_FILTER_MAX                   = 0x200\n\tCAN_RTR_FLAG                         = 0x40000000\n\tCAN_SFF_ID_BITS                      = 0xb\n\tCAN_SFF_MASK                         = 0x7ff\n\tCAN_TP16                             = 0x3\n\tCAN_TP20                             = 0x4\n\tCBAUD                                = 0x100f\n\tCBAUDEX                              = 0x1000\n\tCFLUSH                               = 0xf\n\tCGROUP2_SUPER_MAGIC                  = 0x63677270\n\tCGROUP_SUPER_MAGIC                   = 0x27e0eb\n\tCIBAUD                               = 0x100f0000\n\tCLOCAL                               = 0x800\n\tCLOCK_BOOTTIME                       = 0x7\n\tCLOCK_BOOTTIME_ALARM                 = 0x9\n\tCLOCK_DEFAULT                        = 0x0\n\tCLOCK_EXT                            = 0x1\n\tCLOCK_INT                            = 0x2\n\tCLOCK_MONOTONIC                      = 0x1\n\tCLOCK_MONOTONIC_COARSE               = 0x6\n\tCLOCK_MONOTONIC_RAW                  = 0x4\n\tCLOCK_PROCESS_CPUTIME_ID             = 0x2\n\tCLOCK_REALTIME                       = 0x0\n\tCLOCK_REALTIME_ALARM                 = 0x8\n\tCLOCK_REALTIME_COARSE                = 0x5\n\tCLOCK_TAI                            = 0xb\n\tCLOCK_THREAD_CPUTIME_ID              = 0x3\n\tCLOCK_TXFROMRX                       = 0x4\n\tCLOCK_TXINT                          = 0x3\n\tCLONE_CHILD_CLEARTID                 = 0x200000\n\tCLONE_CHILD_SETTID                   = 0x1000000\n\tCLONE_DETACHED                       = 0x400000\n\tCLONE_FILES                          = 0x400\n\tCLONE_FS                             = 0x200\n\tCLONE_IO                             = 0x80000000\n\tCLONE_NEWCGROUP                      = 0x2000000\n\tCLONE_NEWIPC                         = 0x8000000\n\tCLONE_NEWNET                         = 0x40000000\n\tCLONE_NEWNS                          = 0x20000\n\tCLONE_NEWPID                         = 0x20000000\n\tCLONE_NEWUSER                        = 0x10000000\n\tCLONE_NEWUTS                         = 0x4000000\n\tCLONE_PARENT                         = 0x8000\n\tCLONE_PARENT_SETTID                  = 0x100000\n\tCLONE_PTRACE                         = 0x2000\n\tCLONE_SETTLS                         = 0x80000\n\tCLONE_SIGHAND                        = 0x800\n\tCLONE_SYSVSEM                        = 0x40000\n\tCLONE_THREAD                         = 0x10000\n\tCLONE_UNTRACED                       = 0x800000\n\tCLONE_VFORK                          = 0x4000\n\tCLONE_VM                             = 0x100\n\tCMSPAR                               = 0x40000000\n\tCODA_SUPER_MAGIC                     = 0x73757245\n\tCR0                                  = 0x0\n\tCR1                                  = 0x200\n\tCR2                                  = 0x400\n\tCR3                                  = 0x600\n\tCRAMFS_MAGIC                         = 0x28cd3d45\n\tCRDLY                                = 0x600\n\tCREAD                                = 0x80\n\tCRTSCTS                              = 0x80000000\n\tCS5                                  = 0x0\n\tCS6                                  = 0x10\n\tCS7                                  = 0x20\n\tCS8                                  = 0x30\n\tCSIGNAL                              = 0xff\n\tCSIZE                                = 0x30\n\tCSTART                               = 0x11\n\tCSTATUS                              = 0x0\n\tCSTOP                                = 0x13\n\tCSTOPB                               = 0x40\n\tCSUSP                                = 0x1a\n\tDAXFS_MAGIC                          = 0x64646178\n\tDEBUGFS_MAGIC                        = 0x64626720\n\tDEVPTS_SUPER_MAGIC                   = 0x1cd1\n\tDT_BLK                               = 0x6\n\tDT_CHR                               = 0x2\n\tDT_DIR                               = 0x4\n\tDT_FIFO                              = 0x1\n\tDT_LNK                               = 0xa\n\tDT_REG                               = 0x8\n\tDT_SOCK                              = 0xc\n\tDT_UNKNOWN                           = 0x0\n\tDT_WHT                               = 0xe\n\tECHO                                 = 0x8\n\tECHOCTL                              = 0x200\n\tECHOE                                = 0x10\n\tECHOK                                = 0x20\n\tECHOKE                               = 0x800\n\tECHONL                               = 0x40\n\tECHOPRT                              = 0x400\n\tECRYPTFS_SUPER_MAGIC                 = 0xf15f\n\tEFD_CLOEXEC                          = 0x80000\n\tEFD_NONBLOCK                         = 0x80\n\tEFD_SEMAPHORE                        = 0x1\n\tEFIVARFS_MAGIC                       = 0xde5e81e4\n\tEFS_SUPER_MAGIC                      = 0x414a53\n\tENCODING_DEFAULT                     = 0x0\n\tENCODING_FM_MARK                     = 0x3\n\tENCODING_FM_SPACE                    = 0x4\n\tENCODING_MANCHESTER                  = 0x5\n\tENCODING_NRZ                         = 0x1\n\tENCODING_NRZI                        = 0x2\n\tEPOLLERR                             = 0x8\n\tEPOLLET                              = 0x80000000\n\tEPOLLEXCLUSIVE                       = 0x10000000\n\tEPOLLHUP                             = 0x10\n\tEPOLLIN                              = 0x1\n\tEPOLLMSG                             = 0x400\n\tEPOLLONESHOT                         = 0x40000000\n\tEPOLLOUT                             = 0x4\n\tEPOLLPRI                             = 0x2\n\tEPOLLRDBAND                          = 0x80\n\tEPOLLRDHUP                           = 0x2000\n\tEPOLLRDNORM                          = 0x40\n\tEPOLLWAKEUP                          = 0x20000000\n\tEPOLLWRBAND                          = 0x200\n\tEPOLLWRNORM                          = 0x100\n\tEPOLL_CLOEXEC                        = 0x80000\n\tEPOLL_CTL_ADD                        = 0x1\n\tEPOLL_CTL_DEL                        = 0x2\n\tEPOLL_CTL_MOD                        = 0x3\n\tETH_P_1588                           = 0x88f7\n\tETH_P_8021AD                         = 0x88a8\n\tETH_P_8021AH                         = 0x88e7\n\tETH_P_8021Q                          = 0x8100\n\tETH_P_80221                          = 0x8917\n\tETH_P_802_2                          = 0x4\n\tETH_P_802_3                          = 0x1\n\tETH_P_802_3_MIN                      = 0x600\n\tETH_P_802_EX1                        = 0x88b5\n\tETH_P_AARP                           = 0x80f3\n\tETH_P_AF_IUCV                        = 0xfbfb\n\tETH_P_ALL                            = 0x3\n\tETH_P_AOE                            = 0x88a2\n\tETH_P_ARCNET                         = 0x1a\n\tETH_P_ARP                            = 0x806\n\tETH_P_ATALK                          = 0x809b\n\tETH_P_ATMFATE                        = 0x8884\n\tETH_P_ATMMPOA                        = 0x884c\n\tETH_P_AX25                           = 0x2\n\tETH_P_BATMAN                         = 0x4305\n\tETH_P_BPQ                            = 0x8ff\n\tETH_P_CAIF                           = 0xf7\n\tETH_P_CAN                            = 0xc\n\tETH_P_CANFD                          = 0xd\n\tETH_P_CONTROL                        = 0x16\n\tETH_P_CUST                           = 0x6006\n\tETH_P_DDCMP                          = 0x6\n\tETH_P_DEC                            = 0x6000\n\tETH_P_DIAG                           = 0x6005\n\tETH_P_DNA_DL                         = 0x6001\n\tETH_P_DNA_RC                         = 0x6002\n\tETH_P_DNA_RT                         = 0x6003\n\tETH_P_DSA                            = 0x1b\n\tETH_P_ECONET                         = 0x18\n\tETH_P_EDSA                           = 0xdada\n\tETH_P_ERSPAN                         = 0x88be\n\tETH_P_ERSPAN2                        = 0x22eb\n\tETH_P_FCOE                           = 0x8906\n\tETH_P_FIP                            = 0x8914\n\tETH_P_HDLC                           = 0x19\n\tETH_P_HSR                            = 0x892f\n\tETH_P_IBOE                           = 0x8915\n\tETH_P_IEEE802154                     = 0xf6\n\tETH_P_IEEEPUP                        = 0xa00\n\tETH_P_IEEEPUPAT                      = 0xa01\n\tETH_P_IFE                            = 0xed3e\n\tETH_P_IP                             = 0x800\n\tETH_P_IPV6                           = 0x86dd\n\tETH_P_IPX                            = 0x8137\n\tETH_P_IRDA                           = 0x17\n\tETH_P_LAT                            = 0x6004\n\tETH_P_LINK_CTL                       = 0x886c\n\tETH_P_LOCALTALK                      = 0x9\n\tETH_P_LOOP                           = 0x60\n\tETH_P_LOOPBACK                       = 0x9000\n\tETH_P_MACSEC                         = 0x88e5\n\tETH_P_MAP                            = 0xf9\n\tETH_P_MOBITEX                        = 0x15\n\tETH_P_MPLS_MC                        = 0x8848\n\tETH_P_MPLS_UC                        = 0x8847\n\tETH_P_MVRP                           = 0x88f5\n\tETH_P_NCSI                           = 0x88f8\n\tETH_P_NSH                            = 0x894f\n\tETH_P_PAE                            = 0x888e\n\tETH_P_PAUSE                          = 0x8808\n\tETH_P_PHONET                         = 0xf5\n\tETH_P_PPPTALK                        = 0x10\n\tETH_P_PPP_DISC                       = 0x8863\n\tETH_P_PPP_MP                         = 0x8\n\tETH_P_PPP_SES                        = 0x8864\n\tETH_P_PREAUTH                        = 0x88c7\n\tETH_P_PRP                            = 0x88fb\n\tETH_P_PUP                            = 0x200\n\tETH_P_PUPAT                          = 0x201\n\tETH_P_QINQ1                          = 0x9100\n\tETH_P_QINQ2                          = 0x9200\n\tETH_P_QINQ3                          = 0x9300\n\tETH_P_RARP                           = 0x8035\n\tETH_P_SCA                            = 0x6007\n\tETH_P_SLOW                           = 0x8809\n\tETH_P_SNAP                           = 0x5\n\tETH_P_TDLS                           = 0x890d\n\tETH_P_TEB                            = 0x6558\n\tETH_P_TIPC                           = 0x88ca\n\tETH_P_TRAILER                        = 0x1c\n\tETH_P_TR_802_2                       = 0x11\n\tETH_P_TSN                            = 0x22f0\n\tETH_P_WAN_PPP                        = 0x7\n\tETH_P_WCCP                           = 0x883e\n\tETH_P_X25                            = 0x805\n\tETH_P_XDSA                           = 0xf8\n\tEXABYTE_ENABLE_NEST                  = 0xf0\n\tEXT2_SUPER_MAGIC                     = 0xef53\n\tEXT3_SUPER_MAGIC                     = 0xef53\n\tEXT4_SUPER_MAGIC                     = 0xef53\n\tEXTA                                 = 0xe\n\tEXTB                                 = 0xf\n\tEXTPROC                              = 0x10000\n\tF2FS_SUPER_MAGIC                     = 0xf2f52010\n\tFALLOC_FL_COLLAPSE_RANGE             = 0x8\n\tFALLOC_FL_INSERT_RANGE               = 0x20\n\tFALLOC_FL_KEEP_SIZE                  = 0x1\n\tFALLOC_FL_NO_HIDE_STALE              = 0x4\n\tFALLOC_FL_PUNCH_HOLE                 = 0x2\n\tFALLOC_FL_UNSHARE_RANGE              = 0x40\n\tFALLOC_FL_ZERO_RANGE                 = 0x10\n\tFD_CLOEXEC                           = 0x1\n\tFD_SETSIZE                           = 0x400\n\tFF0                                  = 0x0\n\tFF1                                  = 0x8000\n\tFFDLY                                = 0x8000\n\tFLUSHO                               = 0x2000\n\tFS_ENCRYPTION_MODE_AES_128_CBC       = 0x5\n\tFS_ENCRYPTION_MODE_AES_128_CTS       = 0x6\n\tFS_ENCRYPTION_MODE_AES_256_CBC       = 0x3\n\tFS_ENCRYPTION_MODE_AES_256_CTS       = 0x4\n\tFS_ENCRYPTION_MODE_AES_256_GCM       = 0x2\n\tFS_ENCRYPTION_MODE_AES_256_XTS       = 0x1\n\tFS_ENCRYPTION_MODE_INVALID           = 0x0\n\tFS_ENCRYPTION_MODE_SPECK128_256_CTS  = 0x8\n\tFS_ENCRYPTION_MODE_SPECK128_256_XTS  = 0x7\n\tFS_IOC_GET_ENCRYPTION_POLICY         = 0x800c6615\n\tFS_IOC_GET_ENCRYPTION_PWSALT         = 0x80106614\n\tFS_IOC_SET_ENCRYPTION_POLICY         = 0x400c6613\n\tFS_KEY_DESCRIPTOR_SIZE               = 0x8\n\tFS_KEY_DESC_PREFIX                   = \"fscrypt:\"\n\tFS_KEY_DESC_PREFIX_SIZE              = 0x8\n\tFS_MAX_KEY_SIZE                      = 0x40\n\tFS_POLICY_FLAGS_PAD_16               = 0x2\n\tFS_POLICY_FLAGS_PAD_32               = 0x3\n\tFS_POLICY_FLAGS_PAD_4                = 0x0\n\tFS_POLICY_FLAGS_PAD_8                = 0x1\n\tFS_POLICY_FLAGS_PAD_MASK             = 0x3\n\tFS_POLICY_FLAGS_VALID                = 0x3\n\tFUTEXFS_SUPER_MAGIC                  = 0xbad1dea\n\tF_ADD_SEALS                          = 0x409\n\tF_DUPFD                              = 0x0\n\tF_DUPFD_CLOEXEC                      = 0x406\n\tF_EXLCK                              = 0x4\n\tF_GETFD                              = 0x1\n\tF_GETFL                              = 0x3\n\tF_GETLEASE                           = 0x401\n\tF_GETLK                              = 0x21\n\tF_GETLK64                            = 0x21\n\tF_GETOWN                             = 0x17\n\tF_GETOWN_EX                          = 0x10\n\tF_GETPIPE_SZ                         = 0x408\n\tF_GETSIG                             = 0xb\n\tF_GET_FILE_RW_HINT                   = 0x40d\n\tF_GET_RW_HINT                        = 0x40b\n\tF_GET_SEALS                          = 0x40a\n\tF_LOCK                               = 0x1\n\tF_NOTIFY                             = 0x402\n\tF_OFD_GETLK                          = 0x24\n\tF_OFD_SETLK                          = 0x25\n\tF_OFD_SETLKW                         = 0x26\n\tF_OK                                 = 0x0\n\tF_RDLCK                              = 0x0\n\tF_SEAL_GROW                          = 0x4\n\tF_SEAL_SEAL                          = 0x1\n\tF_SEAL_SHRINK                        = 0x2\n\tF_SEAL_WRITE                         = 0x8\n\tF_SETFD                              = 0x2\n\tF_SETFL                              = 0x4\n\tF_SETLEASE                           = 0x400\n\tF_SETLK                              = 0x22\n\tF_SETLK64                            = 0x22\n\tF_SETLKW                             = 0x23\n\tF_SETLKW64                           = 0x23\n\tF_SETOWN                             = 0x18\n\tF_SETOWN_EX                          = 0xf\n\tF_SETPIPE_SZ                         = 0x407\n\tF_SETSIG                             = 0xa\n\tF_SET_FILE_RW_HINT                   = 0x40e\n\tF_SET_RW_HINT                        = 0x40c\n\tF_SHLCK                              = 0x8\n\tF_TEST                               = 0x3\n\tF_TLOCK                              = 0x2\n\tF_ULOCK                              = 0x0\n\tF_UNLCK                              = 0x2\n\tF_WRLCK                              = 0x1\n\tGENL_ADMIN_PERM                      = 0x1\n\tGENL_CMD_CAP_DO                      = 0x2\n\tGENL_CMD_CAP_DUMP                    = 0x4\n\tGENL_CMD_CAP_HASPOL                  = 0x8\n\tGENL_HDRLEN                          = 0x4\n\tGENL_ID_CTRL                         = 0x10\n\tGENL_ID_PMCRAID                      = 0x12\n\tGENL_ID_VFS_DQUOT                    = 0x11\n\tGENL_MAX_ID                          = 0x3ff\n\tGENL_MIN_ID                          = 0x10\n\tGENL_NAMSIZ                          = 0x10\n\tGENL_START_ALLOC                     = 0x13\n\tGENL_UNS_ADMIN_PERM                  = 0x10\n\tGRND_NONBLOCK                        = 0x1\n\tGRND_RANDOM                          = 0x2\n\tHDIO_DRIVE_CMD                       = 0x31f\n\tHDIO_DRIVE_CMD_AEB                   = 0x31e\n\tHDIO_DRIVE_CMD_HDR_SIZE              = 0x4\n\tHDIO_DRIVE_HOB_HDR_SIZE              = 0x8\n\tHDIO_DRIVE_RESET                     = 0x31c\n\tHDIO_DRIVE_TASK                      = 0x31e\n\tHDIO_DRIVE_TASKFILE                  = 0x31d\n\tHDIO_DRIVE_TASK_HDR_SIZE             = 0x8\n\tHDIO_GETGEO                          = 0x301\n\tHDIO_GET_32BIT                       = 0x309\n\tHDIO_GET_ACOUSTIC                    = 0x30f\n\tHDIO_GET_ADDRESS                     = 0x310\n\tHDIO_GET_BUSSTATE                    = 0x31a\n\tHDIO_GET_DMA                         = 0x30b\n\tHDIO_GET_IDENTITY                    = 0x30d\n\tHDIO_GET_KEEPSETTINGS                = 0x308\n\tHDIO_GET_MULTCOUNT                   = 0x304\n\tHDIO_GET_NICE                        = 0x30c\n\tHDIO_GET_NOWERR                      = 0x30a\n\tHDIO_GET_QDMA                        = 0x305\n\tHDIO_GET_UNMASKINTR                  = 0x302\n\tHDIO_GET_WCACHE                      = 0x30e\n\tHDIO_OBSOLETE_IDENTITY               = 0x307\n\tHDIO_SCAN_HWIF                       = 0x328\n\tHDIO_SET_32BIT                       = 0x324\n\tHDIO_SET_ACOUSTIC                    = 0x32c\n\tHDIO_SET_ADDRESS                     = 0x32f\n\tHDIO_SET_BUSSTATE                    = 0x32d\n\tHDIO_SET_DMA                         = 0x326\n\tHDIO_SET_KEEPSETTINGS                = 0x323\n\tHDIO_SET_MULTCOUNT                   = 0x321\n\tHDIO_SET_NICE                        = 0x329\n\tHDIO_SET_NOWERR                      = 0x325\n\tHDIO_SET_PIO_MODE                    = 0x327\n\tHDIO_SET_QDMA                        = 0x32e\n\tHDIO_SET_UNMASKINTR                  = 0x322\n\tHDIO_SET_WCACHE                      = 0x32b\n\tHDIO_SET_XFER                        = 0x306\n\tHDIO_TRISTATE_HWIF                   = 0x31b\n\tHDIO_UNREGISTER_HWIF                 = 0x32a\n\tHOSTFS_SUPER_MAGIC                   = 0xc0ffee\n\tHPFS_SUPER_MAGIC                     = 0xf995e849\n\tHUGETLBFS_MAGIC                      = 0x958458f6\n\tHUPCL                                = 0x400\n\tIBSHIFT                              = 0x10\n\tICANON                               = 0x2\n\tICMPV6_FILTER                        = 0x1\n\tICRNL                                = 0x100\n\tIEXTEN                               = 0x100\n\tIFA_F_DADFAILED                      = 0x8\n\tIFA_F_DEPRECATED                     = 0x20\n\tIFA_F_HOMEADDRESS                    = 0x10\n\tIFA_F_MANAGETEMPADDR                 = 0x100\n\tIFA_F_MCAUTOJOIN                     = 0x400\n\tIFA_F_NODAD                          = 0x2\n\tIFA_F_NOPREFIXROUTE                  = 0x200\n\tIFA_F_OPTIMISTIC                     = 0x4\n\tIFA_F_PERMANENT                      = 0x80\n\tIFA_F_SECONDARY                      = 0x1\n\tIFA_F_STABLE_PRIVACY                 = 0x800\n\tIFA_F_TEMPORARY                      = 0x1\n\tIFA_F_TENTATIVE                      = 0x40\n\tIFA_MAX                              = 0x9\n\tIFF_ALLMULTI                         = 0x200\n\tIFF_ATTACH_QUEUE                     = 0x200\n\tIFF_AUTOMEDIA                        = 0x4000\n\tIFF_BROADCAST                        = 0x2\n\tIFF_DEBUG                            = 0x4\n\tIFF_DETACH_QUEUE                     = 0x400\n\tIFF_DORMANT                          = 0x20000\n\tIFF_DYNAMIC                          = 0x8000\n\tIFF_ECHO                             = 0x40000\n\tIFF_LOOPBACK                         = 0x8\n\tIFF_LOWER_UP                         = 0x10000\n\tIFF_MASTER                           = 0x400\n\tIFF_MULTICAST                        = 0x1000\n\tIFF_MULTI_QUEUE                      = 0x100\n\tIFF_NAPI                             = 0x10\n\tIFF_NAPI_FRAGS                       = 0x20\n\tIFF_NOARP                            = 0x80\n\tIFF_NOFILTER                         = 0x1000\n\tIFF_NOTRAILERS                       = 0x20\n\tIFF_NO_PI                            = 0x1000\n\tIFF_ONE_QUEUE                        = 0x2000\n\tIFF_PERSIST                          = 0x800\n\tIFF_POINTOPOINT                      = 0x10\n\tIFF_PORTSEL                          = 0x2000\n\tIFF_PROMISC                          = 0x100\n\tIFF_RUNNING                          = 0x40\n\tIFF_SLAVE                            = 0x800\n\tIFF_TAP                              = 0x2\n\tIFF_TUN                              = 0x1\n\tIFF_TUN_EXCL                         = 0x8000\n\tIFF_UP                               = 0x1\n\tIFF_VNET_HDR                         = 0x4000\n\tIFF_VOLATILE                         = 0x70c5a\n\tIFNAMSIZ                             = 0x10\n\tIGNBRK                               = 0x1\n\tIGNCR                                = 0x80\n\tIGNPAR                               = 0x4\n\tIMAXBEL                              = 0x2000\n\tINLCR                                = 0x40\n\tINPCK                                = 0x10\n\tIN_ACCESS                            = 0x1\n\tIN_ALL_EVENTS                        = 0xfff\n\tIN_ATTRIB                            = 0x4\n\tIN_CLASSA_HOST                       = 0xffffff\n\tIN_CLASSA_MAX                        = 0x80\n\tIN_CLASSA_NET                        = 0xff000000\n\tIN_CLASSA_NSHIFT                     = 0x18\n\tIN_CLASSB_HOST                       = 0xffff\n\tIN_CLASSB_MAX                        = 0x10000\n\tIN_CLASSB_NET                        = 0xffff0000\n\tIN_CLASSB_NSHIFT                     = 0x10\n\tIN_CLASSC_HOST                       = 0xff\n\tIN_CLASSC_NET                        = 0xffffff00\n\tIN_CLASSC_NSHIFT                     = 0x8\n\tIN_CLOEXEC                           = 0x80000\n\tIN_CLOSE                             = 0x18\n\tIN_CLOSE_NOWRITE                     = 0x10\n\tIN_CLOSE_WRITE                       = 0x8\n\tIN_CREATE                            = 0x100\n\tIN_DELETE                            = 0x200\n\tIN_DELETE_SELF                       = 0x400\n\tIN_DONT_FOLLOW                       = 0x2000000\n\tIN_EXCL_UNLINK                       = 0x4000000\n\tIN_IGNORED                           = 0x8000\n\tIN_ISDIR                             = 0x40000000\n\tIN_LOOPBACKNET                       = 0x7f\n\tIN_MASK_ADD                          = 0x20000000\n\tIN_MODIFY                            = 0x2\n\tIN_MOVE                              = 0xc0\n\tIN_MOVED_FROM                        = 0x40\n\tIN_MOVED_TO                          = 0x80\n\tIN_MOVE_SELF                         = 0x800\n\tIN_NONBLOCK                          = 0x80\n\tIN_ONESHOT                           = 0x80000000\n\tIN_ONLYDIR                           = 0x1000000\n\tIN_OPEN                              = 0x20\n\tIN_Q_OVERFLOW                        = 0x4000\n\tIN_UNMOUNT                           = 0x2000\n\tIOCTL_VM_SOCKETS_GET_LOCAL_CID       = 0x200007b9\n\tIPPROTO_AH                           = 0x33\n\tIPPROTO_BEETPH                       = 0x5e\n\tIPPROTO_COMP                         = 0x6c\n\tIPPROTO_DCCP                         = 0x21\n\tIPPROTO_DSTOPTS                      = 0x3c\n\tIPPROTO_EGP                          = 0x8\n\tIPPROTO_ENCAP                        = 0x62\n\tIPPROTO_ESP                          = 0x32\n\tIPPROTO_FRAGMENT                     = 0x2c\n\tIPPROTO_GRE                          = 0x2f\n\tIPPROTO_HOPOPTS                      = 0x0\n\tIPPROTO_ICMP                         = 0x1\n\tIPPROTO_ICMPV6                       = 0x3a\n\tIPPROTO_IDP                          = 0x16\n\tIPPROTO_IGMP                         = 0x2\n\tIPPROTO_IP                           = 0x0\n\tIPPROTO_IPIP                         = 0x4\n\tIPPROTO_IPV6                         = 0x29\n\tIPPROTO_MH                           = 0x87\n\tIPPROTO_MPLS                         = 0x89\n\tIPPROTO_MTP                          = 0x5c\n\tIPPROTO_NONE                         = 0x3b\n\tIPPROTO_PIM                          = 0x67\n\tIPPROTO_PUP                          = 0xc\n\tIPPROTO_RAW                          = 0xff\n\tIPPROTO_ROUTING                      = 0x2b\n\tIPPROTO_RSVP                         = 0x2e\n\tIPPROTO_SCTP                         = 0x84\n\tIPPROTO_TCP                          = 0x6\n\tIPPROTO_TP                           = 0x1d\n\tIPPROTO_UDP                          = 0x11\n\tIPPROTO_UDPLITE                      = 0x88\n\tIPV6_2292DSTOPTS                     = 0x4\n\tIPV6_2292HOPLIMIT                    = 0x8\n\tIPV6_2292HOPOPTS                     = 0x3\n\tIPV6_2292PKTINFO                     = 0x2\n\tIPV6_2292PKTOPTIONS                  = 0x6\n\tIPV6_2292RTHDR                       = 0x5\n\tIPV6_ADDRFORM                        = 0x1\n\tIPV6_ADDR_PREFERENCES                = 0x48\n\tIPV6_ADD_MEMBERSHIP                  = 0x14\n\tIPV6_AUTHHDR                         = 0xa\n\tIPV6_AUTOFLOWLABEL                   = 0x46\n\tIPV6_CHECKSUM                        = 0x7\n\tIPV6_DONTFRAG                        = 0x3e\n\tIPV6_DROP_MEMBERSHIP                 = 0x15\n\tIPV6_DSTOPTS                         = 0x3b\n\tIPV6_FREEBIND                        = 0x4e\n\tIPV6_HDRINCL                         = 0x24\n\tIPV6_HOPLIMIT                        = 0x34\n\tIPV6_HOPOPTS                         = 0x36\n\tIPV6_IPSEC_POLICY                    = 0x22\n\tIPV6_JOIN_ANYCAST                    = 0x1b\n\tIPV6_JOIN_GROUP                      = 0x14\n\tIPV6_LEAVE_ANYCAST                   = 0x1c\n\tIPV6_LEAVE_GROUP                     = 0x15\n\tIPV6_MINHOPCOUNT                     = 0x49\n\tIPV6_MTU                             = 0x18\n\tIPV6_MTU_DISCOVER                    = 0x17\n\tIPV6_MULTICAST_HOPS                  = 0x12\n\tIPV6_MULTICAST_IF                    = 0x11\n\tIPV6_MULTICAST_LOOP                  = 0x13\n\tIPV6_NEXTHOP                         = 0x9\n\tIPV6_ORIGDSTADDR                     = 0x4a\n\tIPV6_PATHMTU                         = 0x3d\n\tIPV6_PKTINFO                         = 0x32\n\tIPV6_PMTUDISC_DO                     = 0x2\n\tIPV6_PMTUDISC_DONT                   = 0x0\n\tIPV6_PMTUDISC_INTERFACE              = 0x4\n\tIPV6_PMTUDISC_OMIT                   = 0x5\n\tIPV6_PMTUDISC_PROBE                  = 0x3\n\tIPV6_PMTUDISC_WANT                   = 0x1\n\tIPV6_RECVDSTOPTS                     = 0x3a\n\tIPV6_RECVERR                         = 0x19\n\tIPV6_RECVFRAGSIZE                    = 0x4d\n\tIPV6_RECVHOPLIMIT                    = 0x33\n\tIPV6_RECVHOPOPTS                     = 0x35\n\tIPV6_RECVORIGDSTADDR                 = 0x4a\n\tIPV6_RECVPATHMTU                     = 0x3c\n\tIPV6_RECVPKTINFO                     = 0x31\n\tIPV6_RECVRTHDR                       = 0x38\n\tIPV6_RECVTCLASS                      = 0x42\n\tIPV6_ROUTER_ALERT                    = 0x16\n\tIPV6_RTHDR                           = 0x39\n\tIPV6_RTHDRDSTOPTS                    = 0x37\n\tIPV6_RTHDR_LOOSE                     = 0x0\n\tIPV6_RTHDR_STRICT                    = 0x1\n\tIPV6_RTHDR_TYPE_0                    = 0x0\n\tIPV6_RXDSTOPTS                       = 0x3b\n\tIPV6_RXHOPOPTS                       = 0x36\n\tIPV6_TCLASS                          = 0x43\n\tIPV6_TRANSPARENT                     = 0x4b\n\tIPV6_UNICAST_HOPS                    = 0x10\n\tIPV6_UNICAST_IF                      = 0x4c\n\tIPV6_V6ONLY                          = 0x1a\n\tIPV6_XFRM_POLICY                     = 0x23\n\tIP_ADD_MEMBERSHIP                    = 0x23\n\tIP_ADD_SOURCE_MEMBERSHIP             = 0x27\n\tIP_BIND_ADDRESS_NO_PORT              = 0x18\n\tIP_BLOCK_SOURCE                      = 0x26\n\tIP_CHECKSUM                          = 0x17\n\tIP_DEFAULT_MULTICAST_LOOP            = 0x1\n\tIP_DEFAULT_MULTICAST_TTL             = 0x1\n\tIP_DF                                = 0x4000\n\tIP_DROP_MEMBERSHIP                   = 0x24\n\tIP_DROP_SOURCE_MEMBERSHIP            = 0x28\n\tIP_FREEBIND                          = 0xf\n\tIP_HDRINCL                           = 0x3\n\tIP_IPSEC_POLICY                      = 0x10\n\tIP_MAXPACKET                         = 0xffff\n\tIP_MAX_MEMBERSHIPS                   = 0x14\n\tIP_MF                                = 0x2000\n\tIP_MINTTL                            = 0x15\n\tIP_MSFILTER                          = 0x29\n\tIP_MSS                               = 0x240\n\tIP_MTU                               = 0xe\n\tIP_MTU_DISCOVER                      = 0xa\n\tIP_MULTICAST_ALL                     = 0x31\n\tIP_MULTICAST_IF                      = 0x20\n\tIP_MULTICAST_LOOP                    = 0x22\n\tIP_MULTICAST_TTL                     = 0x21\n\tIP_NODEFRAG                          = 0x16\n\tIP_OFFMASK                           = 0x1fff\n\tIP_OPTIONS                           = 0x4\n\tIP_ORIGDSTADDR                       = 0x14\n\tIP_PASSSEC                           = 0x12\n\tIP_PKTINFO                           = 0x8\n\tIP_PKTOPTIONS                        = 0x9\n\tIP_PMTUDISC                          = 0xa\n\tIP_PMTUDISC_DO                       = 0x2\n\tIP_PMTUDISC_DONT                     = 0x0\n\tIP_PMTUDISC_INTERFACE                = 0x4\n\tIP_PMTUDISC_OMIT                     = 0x5\n\tIP_PMTUDISC_PROBE                    = 0x3\n\tIP_PMTUDISC_WANT                     = 0x1\n\tIP_RECVERR                           = 0xb\n\tIP_RECVFRAGSIZE                      = 0x19\n\tIP_RECVOPTS                          = 0x6\n\tIP_RECVORIGDSTADDR                   = 0x14\n\tIP_RECVRETOPTS                       = 0x7\n\tIP_RECVTOS                           = 0xd\n\tIP_RECVTTL                           = 0xc\n\tIP_RETOPTS                           = 0x7\n\tIP_RF                                = 0x8000\n\tIP_ROUTER_ALERT                      = 0x5\n\tIP_TOS                               = 0x1\n\tIP_TRANSPARENT                       = 0x13\n\tIP_TTL                               = 0x2\n\tIP_UNBLOCK_SOURCE                    = 0x25\n\tIP_UNICAST_IF                        = 0x32\n\tIP_XFRM_POLICY                       = 0x11\n\tISIG                                 = 0x1\n\tISOFS_SUPER_MAGIC                    = 0x9660\n\tISTRIP                               = 0x20\n\tIUCLC                                = 0x200\n\tIUTF8                                = 0x4000\n\tIXANY                                = 0x800\n\tIXOFF                                = 0x1000\n\tIXON                                 = 0x400\n\tJFFS2_SUPER_MAGIC                    = 0x72b6\n\tKEYCTL_ASSUME_AUTHORITY              = 0x10\n\tKEYCTL_CHOWN                         = 0x4\n\tKEYCTL_CLEAR                         = 0x7\n\tKEYCTL_DESCRIBE                      = 0x6\n\tKEYCTL_DH_COMPUTE                    = 0x17\n\tKEYCTL_GET_KEYRING_ID                = 0x0\n\tKEYCTL_GET_PERSISTENT                = 0x16\n\tKEYCTL_GET_SECURITY                  = 0x11\n\tKEYCTL_INSTANTIATE                   = 0xc\n\tKEYCTL_INSTANTIATE_IOV               = 0x14\n\tKEYCTL_INVALIDATE                    = 0x15\n\tKEYCTL_JOIN_SESSION_KEYRING          = 0x1\n\tKEYCTL_LINK                          = 0x8\n\tKEYCTL_NEGATE                        = 0xd\n\tKEYCTL_READ                          = 0xb\n\tKEYCTL_REJECT                        = 0x13\n\tKEYCTL_RESTRICT_KEYRING              = 0x1d\n\tKEYCTL_REVOKE                        = 0x3\n\tKEYCTL_SEARCH                        = 0xa\n\tKEYCTL_SESSION_TO_PARENT             = 0x12\n\tKEYCTL_SETPERM                       = 0x5\n\tKEYCTL_SET_REQKEY_KEYRING            = 0xe\n\tKEYCTL_SET_TIMEOUT                   = 0xf\n\tKEYCTL_UNLINK                        = 0x9\n\tKEYCTL_UPDATE                        = 0x2\n\tKEY_REQKEY_DEFL_DEFAULT              = 0x0\n\tKEY_REQKEY_DEFL_GROUP_KEYRING        = 0x6\n\tKEY_REQKEY_DEFL_NO_CHANGE            = -0x1\n\tKEY_REQKEY_DEFL_PROCESS_KEYRING      = 0x2\n\tKEY_REQKEY_DEFL_REQUESTOR_KEYRING    = 0x7\n\tKEY_REQKEY_DEFL_SESSION_KEYRING      = 0x3\n\tKEY_REQKEY_DEFL_THREAD_KEYRING       = 0x1\n\tKEY_REQKEY_DEFL_USER_KEYRING         = 0x4\n\tKEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5\n\tKEY_SPEC_GROUP_KEYRING               = -0x6\n\tKEY_SPEC_PROCESS_KEYRING             = -0x2\n\tKEY_SPEC_REQKEY_AUTH_KEY             = -0x7\n\tKEY_SPEC_REQUESTOR_KEYRING           = -0x8\n\tKEY_SPEC_SESSION_KEYRING             = -0x3\n\tKEY_SPEC_THREAD_KEYRING              = -0x1\n\tKEY_SPEC_USER_KEYRING                = -0x4\n\tKEY_SPEC_USER_SESSION_KEYRING        = -0x5\n\tLINUX_REBOOT_CMD_CAD_OFF             = 0x0\n\tLINUX_REBOOT_CMD_CAD_ON              = 0x89abcdef\n\tLINUX_REBOOT_CMD_HALT                = 0xcdef0123\n\tLINUX_REBOOT_CMD_KEXEC               = 0x45584543\n\tLINUX_REBOOT_CMD_POWER_OFF           = 0x4321fedc\n\tLINUX_REBOOT_CMD_RESTART             = 0x1234567\n\tLINUX_REBOOT_CMD_RESTART2            = 0xa1b2c3d4\n\tLINUX_REBOOT_CMD_SW_SUSPEND          = 0xd000fce2\n\tLINUX_REBOOT_MAGIC1                  = 0xfee1dead\n\tLINUX_REBOOT_MAGIC2                  = 0x28121969\n\tLOCK_EX                              = 0x2\n\tLOCK_NB                              = 0x4\n\tLOCK_SH                              = 0x1\n\tLOCK_UN                              = 0x8\n\tMADV_DODUMP                          = 0x11\n\tMADV_DOFORK                          = 0xb\n\tMADV_DONTDUMP                        = 0x10\n\tMADV_DONTFORK                        = 0xa\n\tMADV_DONTNEED                        = 0x4\n\tMADV_FREE                            = 0x8\n\tMADV_HUGEPAGE                        = 0xe\n\tMADV_HWPOISON                        = 0x64\n\tMADV_KEEPONFORK                      = 0x13\n\tMADV_MERGEABLE                       = 0xc\n\tMADV_NOHUGEPAGE                      = 0xf\n\tMADV_NORMAL                          = 0x0\n\tMADV_RANDOM                          = 0x1\n\tMADV_REMOVE                          = 0x9\n\tMADV_SEQUENTIAL                      = 0x2\n\tMADV_UNMERGEABLE                     = 0xd\n\tMADV_WILLNEED                        = 0x3\n\tMADV_WIPEONFORK                      = 0x12\n\tMAP_ANON                             = 0x800\n\tMAP_ANONYMOUS                        = 0x800\n\tMAP_DENYWRITE                        = 0x2000\n\tMAP_EXECUTABLE                       = 0x4000\n\tMAP_FILE                             = 0x0\n\tMAP_FIXED                            = 0x10\n\tMAP_FIXED_NOREPLACE                  = 0x100000\n\tMAP_GROWSDOWN                        = 0x1000\n\tMAP_HUGETLB                          = 0x80000\n\tMAP_HUGE_MASK                        = 0x3f\n\tMAP_HUGE_SHIFT                       = 0x1a\n\tMAP_LOCKED                           = 0x8000\n\tMAP_NONBLOCK                         = 0x20000\n\tMAP_NORESERVE                        = 0x400\n\tMAP_POPULATE                         = 0x10000\n\tMAP_PRIVATE                          = 0x2\n\tMAP_RENAME                           = 0x800\n\tMAP_SHARED                           = 0x1\n\tMAP_SHARED_VALIDATE                  = 0x3\n\tMAP_STACK                            = 0x40000\n\tMAP_TYPE                             = 0xf\n\tMCL_CURRENT                          = 0x1\n\tMCL_FUTURE                           = 0x2\n\tMCL_ONFAULT                          = 0x4\n\tMINIX2_SUPER_MAGIC                   = 0x2468\n\tMINIX2_SUPER_MAGIC2                  = 0x2478\n\tMINIX3_SUPER_MAGIC                   = 0x4d5a\n\tMINIX_SUPER_MAGIC                    = 0x137f\n\tMINIX_SUPER_MAGIC2                   = 0x138f\n\tMNT_DETACH                           = 0x2\n\tMNT_EXPIRE                           = 0x4\n\tMNT_FORCE                            = 0x1\n\tMSDOS_SUPER_MAGIC                    = 0x4d44\n\tMSG_BATCH                            = 0x40000\n\tMSG_CMSG_CLOEXEC                     = 0x40000000\n\tMSG_CONFIRM                          = 0x800\n\tMSG_CTRUNC                           = 0x8\n\tMSG_DONTROUTE                        = 0x4\n\tMSG_DONTWAIT                         = 0x40\n\tMSG_EOR                              = 0x80\n\tMSG_ERRQUEUE                         = 0x2000\n\tMSG_FASTOPEN                         = 0x20000000\n\tMSG_FIN                              = 0x200\n\tMSG_MORE                             = 0x8000\n\tMSG_NOSIGNAL                         = 0x4000\n\tMSG_OOB                              = 0x1\n\tMSG_PEEK                             = 0x2\n\tMSG_PROXY                            = 0x10\n\tMSG_RST                              = 0x1000\n\tMSG_SYN                              = 0x400\n\tMSG_TRUNC                            = 0x20\n\tMSG_TRYHARD                          = 0x4\n\tMSG_WAITALL                          = 0x100\n\tMSG_WAITFORONE                       = 0x10000\n\tMSG_ZEROCOPY                         = 0x4000000\n\tMS_ACTIVE                            = 0x40000000\n\tMS_ASYNC                             = 0x1\n\tMS_BIND                              = 0x1000\n\tMS_BORN                              = 0x20000000\n\tMS_DIRSYNC                           = 0x80\n\tMS_INVALIDATE                        = 0x2\n\tMS_I_VERSION                         = 0x800000\n\tMS_KERNMOUNT                         = 0x400000\n\tMS_LAZYTIME                          = 0x2000000\n\tMS_MANDLOCK                          = 0x40\n\tMS_MGC_MSK                           = 0xffff0000\n\tMS_MGC_VAL                           = 0xc0ed0000\n\tMS_MOVE                              = 0x2000\n\tMS_NOATIME                           = 0x400\n\tMS_NODEV                             = 0x4\n\tMS_NODIRATIME                        = 0x800\n\tMS_NOEXEC                            = 0x8\n\tMS_NOREMOTELOCK                      = 0x8000000\n\tMS_NOSEC                             = 0x10000000\n\tMS_NOSUID                            = 0x2\n\tMS_NOUSER                            = -0x80000000\n\tMS_POSIXACL                          = 0x10000\n\tMS_PRIVATE                           = 0x40000\n\tMS_RDONLY                            = 0x1\n\tMS_REC                               = 0x4000\n\tMS_RELATIME                          = 0x200000\n\tMS_REMOUNT                           = 0x20\n\tMS_RMT_MASK                          = 0x2800051\n\tMS_SHARED                            = 0x100000\n\tMS_SILENT                            = 0x8000\n\tMS_SLAVE                             = 0x80000\n\tMS_STRICTATIME                       = 0x1000000\n\tMS_SUBMOUNT                          = 0x4000000\n\tMS_SYNC                              = 0x4\n\tMS_SYNCHRONOUS                       = 0x10\n\tMS_UNBINDABLE                        = 0x20000\n\tMS_VERBOSE                           = 0x8000\n\tMTD_INODE_FS_MAGIC                   = 0x11307854\n\tNAME_MAX                             = 0xff\n\tNCP_SUPER_MAGIC                      = 0x564c\n\tNETLINK_ADD_MEMBERSHIP               = 0x1\n\tNETLINK_AUDIT                        = 0x9\n\tNETLINK_BROADCAST_ERROR              = 0x4\n\tNETLINK_CAP_ACK                      = 0xa\n\tNETLINK_CONNECTOR                    = 0xb\n\tNETLINK_CRYPTO                       = 0x15\n\tNETLINK_DNRTMSG                      = 0xe\n\tNETLINK_DROP_MEMBERSHIP              = 0x2\n\tNETLINK_ECRYPTFS                     = 0x13\n\tNETLINK_EXT_ACK                      = 0xb\n\tNETLINK_FIB_LOOKUP                   = 0xa\n\tNETLINK_FIREWALL                     = 0x3\n\tNETLINK_GENERIC                      = 0x10\n\tNETLINK_INET_DIAG                    = 0x4\n\tNETLINK_IP6_FW                       = 0xd\n\tNETLINK_ISCSI                        = 0x8\n\tNETLINK_KOBJECT_UEVENT               = 0xf\n\tNETLINK_LISTEN_ALL_NSID              = 0x8\n\tNETLINK_LIST_MEMBERSHIPS             = 0x9\n\tNETLINK_NETFILTER                    = 0xc\n\tNETLINK_NFLOG                        = 0x5\n\tNETLINK_NO_ENOBUFS                   = 0x5\n\tNETLINK_PKTINFO                      = 0x3\n\tNETLINK_RDMA                         = 0x14\n\tNETLINK_ROUTE                        = 0x0\n\tNETLINK_RX_RING                      = 0x6\n\tNETLINK_SCSITRANSPORT                = 0x12\n\tNETLINK_SELINUX                      = 0x7\n\tNETLINK_SMC                          = 0x16\n\tNETLINK_SOCK_DIAG                    = 0x4\n\tNETLINK_TX_RING                      = 0x7\n\tNETLINK_UNUSED                       = 0x1\n\tNETLINK_USERSOCK                     = 0x2\n\tNETLINK_XFRM                         = 0x6\n\tNETNSA_MAX                           = 0x3\n\tNETNSA_NSID_NOT_ASSIGNED             = -0x1\n\tNFNETLINK_V0                         = 0x0\n\tNFNLGRP_ACCT_QUOTA                   = 0x8\n\tNFNLGRP_CONNTRACK_DESTROY            = 0x3\n\tNFNLGRP_CONNTRACK_EXP_DESTROY        = 0x6\n\tNFNLGRP_CONNTRACK_EXP_NEW            = 0x4\n\tNFNLGRP_CONNTRACK_EXP_UPDATE         = 0x5\n\tNFNLGRP_CONNTRACK_NEW                = 0x1\n\tNFNLGRP_CONNTRACK_UPDATE             = 0x2\n\tNFNLGRP_MAX                          = 0x9\n\tNFNLGRP_NFTABLES                     = 0x7\n\tNFNLGRP_NFTRACE                      = 0x9\n\tNFNLGRP_NONE                         = 0x0\n\tNFNL_BATCH_MAX                       = 0x1\n\tNFNL_MSG_BATCH_BEGIN                 = 0x10\n\tNFNL_MSG_BATCH_END                   = 0x11\n\tNFNL_NFA_NEST                        = 0x8000\n\tNFNL_SUBSYS_ACCT                     = 0x7\n\tNFNL_SUBSYS_COUNT                    = 0xc\n\tNFNL_SUBSYS_CTHELPER                 = 0x9\n\tNFNL_SUBSYS_CTNETLINK                = 0x1\n\tNFNL_SUBSYS_CTNETLINK_EXP            = 0x2\n\tNFNL_SUBSYS_CTNETLINK_TIMEOUT        = 0x8\n\tNFNL_SUBSYS_IPSET                    = 0x6\n\tNFNL_SUBSYS_NFTABLES                 = 0xa\n\tNFNL_SUBSYS_NFT_COMPAT               = 0xb\n\tNFNL_SUBSYS_NONE                     = 0x0\n\tNFNL_SUBSYS_OSF                      = 0x5\n\tNFNL_SUBSYS_QUEUE                    = 0x3\n\tNFNL_SUBSYS_ULOG                     = 0x4\n\tNFS_SUPER_MAGIC                      = 0x6969\n\tNILFS_SUPER_MAGIC                    = 0x3434\n\tNL0                                  = 0x0\n\tNL1                                  = 0x100\n\tNLA_ALIGNTO                          = 0x4\n\tNLA_F_NESTED                         = 0x8000\n\tNLA_F_NET_BYTEORDER                  = 0x4000\n\tNLA_HDRLEN                           = 0x4\n\tNLDLY                                = 0x100\n\tNLMSG_ALIGNTO                        = 0x4\n\tNLMSG_DONE                           = 0x3\n\tNLMSG_ERROR                          = 0x2\n\tNLMSG_HDRLEN                         = 0x10\n\tNLMSG_MIN_TYPE                       = 0x10\n\tNLMSG_NOOP                           = 0x1\n\tNLMSG_OVERRUN                        = 0x4\n\tNLM_F_ACK                            = 0x4\n\tNLM_F_ACK_TLVS                       = 0x200\n\tNLM_F_APPEND                         = 0x800\n\tNLM_F_ATOMIC                         = 0x400\n\tNLM_F_CAPPED                         = 0x100\n\tNLM_F_CREATE                         = 0x400\n\tNLM_F_DUMP                           = 0x300\n\tNLM_F_DUMP_FILTERED                  = 0x20\n\tNLM_F_DUMP_INTR                      = 0x10\n\tNLM_F_ECHO                           = 0x8\n\tNLM_F_EXCL                           = 0x200\n\tNLM_F_MATCH                          = 0x200\n\tNLM_F_MULTI                          = 0x2\n\tNLM_F_NONREC                         = 0x100\n\tNLM_F_REPLACE                        = 0x100\n\tNLM_F_REQUEST                        = 0x1\n\tNLM_F_ROOT                           = 0x100\n\tNOFLSH                               = 0x80\n\tNSFS_MAGIC                           = 0x6e736673\n\tOCFS2_SUPER_MAGIC                    = 0x7461636f\n\tOCRNL                                = 0x8\n\tOFDEL                                = 0x80\n\tOFILL                                = 0x40\n\tOLCUC                                = 0x2\n\tONLCR                                = 0x4\n\tONLRET                               = 0x20\n\tONOCR                                = 0x10\n\tOPENPROM_SUPER_MAGIC                 = 0x9fa1\n\tOPOST                                = 0x1\n\tOVERLAYFS_SUPER_MAGIC                = 0x794c7630\n\tO_ACCMODE                            = 0x3\n\tO_APPEND                             = 0x8\n\tO_ASYNC                              = 0x1000\n\tO_CLOEXEC                            = 0x80000\n\tO_CREAT                              = 0x100\n\tO_DIRECT                             = 0x8000\n\tO_DIRECTORY                          = 0x10000\n\tO_DSYNC                              = 0x10\n\tO_EXCL                               = 0x400\n\tO_FSYNC                              = 0x4010\n\tO_LARGEFILE                          = 0x2000\n\tO_NDELAY                             = 0x80\n\tO_NOATIME                            = 0x40000\n\tO_NOCTTY                             = 0x800\n\tO_NOFOLLOW                           = 0x20000\n\tO_NONBLOCK                           = 0x80\n\tO_PATH                               = 0x200000\n\tO_RDONLY                             = 0x0\n\tO_RDWR                               = 0x2\n\tO_RSYNC                              = 0x4010\n\tO_SYNC                               = 0x4010\n\tO_TMPFILE                            = 0x410000\n\tO_TRUNC                              = 0x200\n\tO_WRONLY                             = 0x1\n\tPACKET_ADD_MEMBERSHIP                = 0x1\n\tPACKET_AUXDATA                       = 0x8\n\tPACKET_BROADCAST                     = 0x1\n\tPACKET_COPY_THRESH                   = 0x7\n\tPACKET_DROP_MEMBERSHIP               = 0x2\n\tPACKET_FANOUT                        = 0x12\n\tPACKET_FANOUT_CBPF                   = 0x6\n\tPACKET_FANOUT_CPU                    = 0x2\n\tPACKET_FANOUT_DATA                   = 0x16\n\tPACKET_FANOUT_EBPF                   = 0x7\n\tPACKET_FANOUT_FLAG_DEFRAG            = 0x8000\n\tPACKET_FANOUT_FLAG_ROLLOVER          = 0x1000\n\tPACKET_FANOUT_FLAG_UNIQUEID          = 0x2000\n\tPACKET_FANOUT_HASH                   = 0x0\n\tPACKET_FANOUT_LB                     = 0x1\n\tPACKET_FANOUT_QM                     = 0x5\n\tPACKET_FANOUT_RND                    = 0x4\n\tPACKET_FANOUT_ROLLOVER               = 0x3\n\tPACKET_FASTROUTE                     = 0x6\n\tPACKET_HDRLEN                        = 0xb\n\tPACKET_HOST                          = 0x0\n\tPACKET_KERNEL                        = 0x7\n\tPACKET_LOOPBACK                      = 0x5\n\tPACKET_LOSS                          = 0xe\n\tPACKET_MR_ALLMULTI                   = 0x2\n\tPACKET_MR_MULTICAST                  = 0x0\n\tPACKET_MR_PROMISC                    = 0x1\n\tPACKET_MR_UNICAST                    = 0x3\n\tPACKET_MULTICAST                     = 0x2\n\tPACKET_ORIGDEV                       = 0x9\n\tPACKET_OTHERHOST                     = 0x3\n\tPACKET_OUTGOING                      = 0x4\n\tPACKET_QDISC_BYPASS                  = 0x14\n\tPACKET_RECV_OUTPUT                   = 0x3\n\tPACKET_RESERVE                       = 0xc\n\tPACKET_ROLLOVER_STATS                = 0x15\n\tPACKET_RX_RING                       = 0x5\n\tPACKET_STATISTICS                    = 0x6\n\tPACKET_TIMESTAMP                     = 0x11\n\tPACKET_TX_HAS_OFF                    = 0x13\n\tPACKET_TX_RING                       = 0xd\n\tPACKET_TX_TIMESTAMP                  = 0x10\n\tPACKET_USER                          = 0x6\n\tPACKET_VERSION                       = 0xa\n\tPACKET_VNET_HDR                      = 0xf\n\tPARENB                               = 0x100\n\tPARITY_CRC16_PR0                     = 0x2\n\tPARITY_CRC16_PR0_CCITT               = 0x4\n\tPARITY_CRC16_PR1                     = 0x3\n\tPARITY_CRC16_PR1_CCITT               = 0x5\n\tPARITY_CRC32_PR0_CCITT               = 0x6\n\tPARITY_CRC32_PR1_CCITT               = 0x7\n\tPARITY_DEFAULT                       = 0x0\n\tPARITY_NONE                          = 0x1\n\tPARMRK                               = 0x8\n\tPARODD                               = 0x200\n\tPENDIN                               = 0x4000\n\tPERF_EVENT_IOC_DISABLE               = 0x20002401\n\tPERF_EVENT_IOC_ENABLE                = 0x20002400\n\tPERF_EVENT_IOC_ID                    = 0x40042407\n\tPERF_EVENT_IOC_MODIFY_ATTRIBUTES     = 0x8004240b\n\tPERF_EVENT_IOC_PAUSE_OUTPUT          = 0x80042409\n\tPERF_EVENT_IOC_PERIOD                = 0x80082404\n\tPERF_EVENT_IOC_QUERY_BPF             = 0xc004240a\n\tPERF_EVENT_IOC_REFRESH               = 0x20002402\n\tPERF_EVENT_IOC_RESET                 = 0x20002403\n\tPERF_EVENT_IOC_SET_BPF               = 0x80042408\n\tPERF_EVENT_IOC_SET_FILTER            = 0x80042406\n\tPERF_EVENT_IOC_SET_OUTPUT            = 0x20002405\n\tPIPEFS_MAGIC                         = 0x50495045\n\tPRIO_PGRP                            = 0x1\n\tPRIO_PROCESS                         = 0x0\n\tPRIO_USER                            = 0x2\n\tPROC_SUPER_MAGIC                     = 0x9fa0\n\tPROT_EXEC                            = 0x4\n\tPROT_GROWSDOWN                       = 0x1000000\n\tPROT_GROWSUP                         = 0x2000000\n\tPROT_NONE                            = 0x0\n\tPROT_READ                            = 0x1\n\tPROT_WRITE                           = 0x2\n\tPR_CAPBSET_DROP                      = 0x18\n\tPR_CAPBSET_READ                      = 0x17\n\tPR_CAP_AMBIENT                       = 0x2f\n\tPR_CAP_AMBIENT_CLEAR_ALL             = 0x4\n\tPR_CAP_AMBIENT_IS_SET                = 0x1\n\tPR_CAP_AMBIENT_LOWER                 = 0x3\n\tPR_CAP_AMBIENT_RAISE                 = 0x2\n\tPR_ENDIAN_BIG                        = 0x0\n\tPR_ENDIAN_LITTLE                     = 0x1\n\tPR_ENDIAN_PPC_LITTLE                 = 0x2\n\tPR_FPEMU_NOPRINT                     = 0x1\n\tPR_FPEMU_SIGFPE                      = 0x2\n\tPR_FP_EXC_ASYNC                      = 0x2\n\tPR_FP_EXC_DISABLED                   = 0x0\n\tPR_FP_EXC_DIV                        = 0x10000\n\tPR_FP_EXC_INV                        = 0x100000\n\tPR_FP_EXC_NONRECOV                   = 0x1\n\tPR_FP_EXC_OVF                        = 0x20000\n\tPR_FP_EXC_PRECISE                    = 0x3\n\tPR_FP_EXC_RES                        = 0x80000\n\tPR_FP_EXC_SW_ENABLE                  = 0x80\n\tPR_FP_EXC_UND                        = 0x40000\n\tPR_FP_MODE_FR                        = 0x1\n\tPR_FP_MODE_FRE                       = 0x2\n\tPR_GET_CHILD_SUBREAPER               = 0x25\n\tPR_GET_DUMPABLE                      = 0x3\n\tPR_GET_ENDIAN                        = 0x13\n\tPR_GET_FPEMU                         = 0x9\n\tPR_GET_FPEXC                         = 0xb\n\tPR_GET_FP_MODE                       = 0x2e\n\tPR_GET_KEEPCAPS                      = 0x7\n\tPR_GET_NAME                          = 0x10\n\tPR_GET_NO_NEW_PRIVS                  = 0x27\n\tPR_GET_PDEATHSIG                     = 0x2\n\tPR_GET_SECCOMP                       = 0x15\n\tPR_GET_SECUREBITS                    = 0x1b\n\tPR_GET_SPECULATION_CTRL              = 0x34\n\tPR_GET_THP_DISABLE                   = 0x2a\n\tPR_GET_TID_ADDRESS                   = 0x28\n\tPR_GET_TIMERSLACK                    = 0x1e\n\tPR_GET_TIMING                        = 0xd\n\tPR_GET_TSC                           = 0x19\n\tPR_GET_UNALIGN                       = 0x5\n\tPR_MCE_KILL                          = 0x21\n\tPR_MCE_KILL_CLEAR                    = 0x0\n\tPR_MCE_KILL_DEFAULT                  = 0x2\n\tPR_MCE_KILL_EARLY                    = 0x1\n\tPR_MCE_KILL_GET                      = 0x22\n\tPR_MCE_KILL_LATE                     = 0x0\n\tPR_MCE_KILL_SET                      = 0x1\n\tPR_MPX_DISABLE_MANAGEMENT            = 0x2c\n\tPR_MPX_ENABLE_MANAGEMENT             = 0x2b\n\tPR_SET_CHILD_SUBREAPER               = 0x24\n\tPR_SET_DUMPABLE                      = 0x4\n\tPR_SET_ENDIAN                        = 0x14\n\tPR_SET_FPEMU                         = 0xa\n\tPR_SET_FPEXC                         = 0xc\n\tPR_SET_FP_MODE                       = 0x2d\n\tPR_SET_KEEPCAPS                      = 0x8\n\tPR_SET_MM                            = 0x23\n\tPR_SET_MM_ARG_END                    = 0x9\n\tPR_SET_MM_ARG_START                  = 0x8\n\tPR_SET_MM_AUXV                       = 0xc\n\tPR_SET_MM_BRK                        = 0x7\n\tPR_SET_MM_END_CODE                   = 0x2\n\tPR_SET_MM_END_DATA                   = 0x4\n\tPR_SET_MM_ENV_END                    = 0xb\n\tPR_SET_MM_ENV_START                  = 0xa\n\tPR_SET_MM_EXE_FILE                   = 0xd\n\tPR_SET_MM_MAP                        = 0xe\n\tPR_SET_MM_MAP_SIZE                   = 0xf\n\tPR_SET_MM_START_BRK                  = 0x6\n\tPR_SET_MM_START_CODE                 = 0x1\n\tPR_SET_MM_START_DATA                 = 0x3\n\tPR_SET_MM_START_STACK                = 0x5\n\tPR_SET_NAME                          = 0xf\n\tPR_SET_NO_NEW_PRIVS                  = 0x26\n\tPR_SET_PDEATHSIG                     = 0x1\n\tPR_SET_PTRACER                       = 0x59616d61\n\tPR_SET_PTRACER_ANY                   = 0xffffffff\n\tPR_SET_SECCOMP                       = 0x16\n\tPR_SET_SECUREBITS                    = 0x1c\n\tPR_SET_SPECULATION_CTRL              = 0x35\n\tPR_SET_THP_DISABLE                   = 0x29\n\tPR_SET_TIMERSLACK                    = 0x1d\n\tPR_SET_TIMING                        = 0xe\n\tPR_SET_TSC                           = 0x1a\n\tPR_SET_UNALIGN                       = 0x6\n\tPR_SPEC_DISABLE                      = 0x4\n\tPR_SPEC_ENABLE                       = 0x2\n\tPR_SPEC_FORCE_DISABLE                = 0x8\n\tPR_SPEC_NOT_AFFECTED                 = 0x0\n\tPR_SPEC_PRCTL                        = 0x1\n\tPR_SPEC_STORE_BYPASS                 = 0x0\n\tPR_SVE_GET_VL                        = 0x33\n\tPR_SVE_SET_VL                        = 0x32\n\tPR_SVE_SET_VL_ONEXEC                 = 0x40000\n\tPR_SVE_VL_INHERIT                    = 0x20000\n\tPR_SVE_VL_LEN_MASK                   = 0xffff\n\tPR_TASK_PERF_EVENTS_DISABLE          = 0x1f\n\tPR_TASK_PERF_EVENTS_ENABLE           = 0x20\n\tPR_TIMING_STATISTICAL                = 0x0\n\tPR_TIMING_TIMESTAMP                  = 0x1\n\tPR_TSC_ENABLE                        = 0x1\n\tPR_TSC_SIGSEGV                       = 0x2\n\tPR_UNALIGN_NOPRINT                   = 0x1\n\tPR_UNALIGN_SIGBUS                    = 0x2\n\tPSTOREFS_MAGIC                       = 0x6165676c\n\tPTRACE_ATTACH                        = 0x10\n\tPTRACE_CONT                          = 0x7\n\tPTRACE_DETACH                        = 0x11\n\tPTRACE_EVENT_CLONE                   = 0x3\n\tPTRACE_EVENT_EXEC                    = 0x4\n\tPTRACE_EVENT_EXIT                    = 0x6\n\tPTRACE_EVENT_FORK                    = 0x1\n\tPTRACE_EVENT_SECCOMP                 = 0x7\n\tPTRACE_EVENT_STOP                    = 0x80\n\tPTRACE_EVENT_VFORK                   = 0x2\n\tPTRACE_EVENT_VFORK_DONE              = 0x5\n\tPTRACE_GETEVENTMSG                   = 0x4201\n\tPTRACE_GETFPREGS                     = 0xe\n\tPTRACE_GETREGS                       = 0xc\n\tPTRACE_GETREGSET                     = 0x4204\n\tPTRACE_GETSIGINFO                    = 0x4202\n\tPTRACE_GETSIGMASK                    = 0x420a\n\tPTRACE_GET_THREAD_AREA               = 0x19\n\tPTRACE_GET_THREAD_AREA_3264          = 0xc4\n\tPTRACE_GET_WATCH_REGS                = 0xd0\n\tPTRACE_INTERRUPT                     = 0x4207\n\tPTRACE_KILL                          = 0x8\n\tPTRACE_LISTEN                        = 0x4208\n\tPTRACE_OLDSETOPTIONS                 = 0x15\n\tPTRACE_O_EXITKILL                    = 0x100000\n\tPTRACE_O_MASK                        = 0x3000ff\n\tPTRACE_O_SUSPEND_SECCOMP             = 0x200000\n\tPTRACE_O_TRACECLONE                  = 0x8\n\tPTRACE_O_TRACEEXEC                   = 0x10\n\tPTRACE_O_TRACEEXIT                   = 0x40\n\tPTRACE_O_TRACEFORK                   = 0x2\n\tPTRACE_O_TRACESECCOMP                = 0x80\n\tPTRACE_O_TRACESYSGOOD                = 0x1\n\tPTRACE_O_TRACEVFORK                  = 0x4\n\tPTRACE_O_TRACEVFORKDONE              = 0x20\n\tPTRACE_PEEKDATA                      = 0x2\n\tPTRACE_PEEKDATA_3264                 = 0xc1\n\tPTRACE_PEEKSIGINFO                   = 0x4209\n\tPTRACE_PEEKSIGINFO_SHARED            = 0x1\n\tPTRACE_PEEKTEXT                      = 0x1\n\tPTRACE_PEEKTEXT_3264                 = 0xc0\n\tPTRACE_PEEKUSR                       = 0x3\n\tPTRACE_POKEDATA                      = 0x5\n\tPTRACE_POKEDATA_3264                 = 0xc3\n\tPTRACE_POKETEXT                      = 0x4\n\tPTRACE_POKETEXT_3264                 = 0xc2\n\tPTRACE_POKEUSR                       = 0x6\n\tPTRACE_SECCOMP_GET_FILTER            = 0x420c\n\tPTRACE_SECCOMP_GET_METADATA          = 0x420d\n\tPTRACE_SEIZE                         = 0x4206\n\tPTRACE_SETFPREGS                     = 0xf\n\tPTRACE_SETOPTIONS                    = 0x4200\n\tPTRACE_SETREGS                       = 0xd\n\tPTRACE_SETREGSET                     = 0x4205\n\tPTRACE_SETSIGINFO                    = 0x4203\n\tPTRACE_SETSIGMASK                    = 0x420b\n\tPTRACE_SET_THREAD_AREA               = 0x1a\n\tPTRACE_SET_WATCH_REGS                = 0xd1\n\tPTRACE_SINGLESTEP                    = 0x9\n\tPTRACE_SYSCALL                       = 0x18\n\tPTRACE_TRACEME                       = 0x0\n\tQNX4_SUPER_MAGIC                     = 0x2f\n\tQNX6_SUPER_MAGIC                     = 0x68191122\n\tRAMFS_MAGIC                          = 0x858458f6\n\tRDTGROUP_SUPER_MAGIC                 = 0x7655821\n\tREISERFS_SUPER_MAGIC                 = 0x52654973\n\tRENAME_EXCHANGE                      = 0x2\n\tRENAME_NOREPLACE                     = 0x1\n\tRENAME_WHITEOUT                      = 0x4\n\tRLIMIT_AS                            = 0x6\n\tRLIMIT_CORE                          = 0x4\n\tRLIMIT_CPU                           = 0x0\n\tRLIMIT_DATA                          = 0x2\n\tRLIMIT_FSIZE                         = 0x1\n\tRLIMIT_LOCKS                         = 0xa\n\tRLIMIT_MEMLOCK                       = 0x9\n\tRLIMIT_MSGQUEUE                      = 0xc\n\tRLIMIT_NICE                          = 0xd\n\tRLIMIT_NOFILE                        = 0x5\n\tRLIMIT_NPROC                         = 0x8\n\tRLIMIT_RSS                           = 0x7\n\tRLIMIT_RTPRIO                        = 0xe\n\tRLIMIT_RTTIME                        = 0xf\n\tRLIMIT_SIGPENDING                    = 0xb\n\tRLIMIT_STACK                         = 0x3\n\tRLIM_INFINITY                        = 0xffffffffffffffff\n\tRTAX_ADVMSS                          = 0x8\n\tRTAX_CC_ALGO                         = 0x10\n\tRTAX_CWND                            = 0x7\n\tRTAX_FASTOPEN_NO_COOKIE              = 0x11\n\tRTAX_FEATURES                        = 0xc\n\tRTAX_FEATURE_ALLFRAG                 = 0x8\n\tRTAX_FEATURE_ECN                     = 0x1\n\tRTAX_FEATURE_MASK                    = 0xf\n\tRTAX_FEATURE_SACK                    = 0x2\n\tRTAX_FEATURE_TIMESTAMP               = 0x4\n\tRTAX_HOPLIMIT                        = 0xa\n\tRTAX_INITCWND                        = 0xb\n\tRTAX_INITRWND                        = 0xe\n\tRTAX_LOCK                            = 0x1\n\tRTAX_MAX                             = 0x11\n\tRTAX_MTU                             = 0x2\n\tRTAX_QUICKACK                        = 0xf\n\tRTAX_REORDERING                      = 0x9\n\tRTAX_RTO_MIN                         = 0xd\n\tRTAX_RTT                             = 0x4\n\tRTAX_RTTVAR                          = 0x5\n\tRTAX_SSTHRESH                        = 0x6\n\tRTAX_UNSPEC                          = 0x0\n\tRTAX_WINDOW                          = 0x3\n\tRTA_ALIGNTO                          = 0x4\n\tRTA_MAX                              = 0x1d\n\tRTCF_DIRECTSRC                       = 0x4000000\n\tRTCF_DOREDIRECT                      = 0x1000000\n\tRTCF_LOG                             = 0x2000000\n\tRTCF_MASQ                            = 0x400000\n\tRTCF_NAT                             = 0x800000\n\tRTCF_VALVE                           = 0x200000\n\tRTC_AF                               = 0x20\n\tRTC_AIE_OFF                          = 0x20007002\n\tRTC_AIE_ON                           = 0x20007001\n\tRTC_ALM_READ                         = 0x40247008\n\tRTC_ALM_SET                          = 0x80247007\n\tRTC_EPOCH_READ                       = 0x4004700d\n\tRTC_EPOCH_SET                        = 0x8004700e\n\tRTC_IRQF                             = 0x80\n\tRTC_IRQP_READ                        = 0x4004700b\n\tRTC_IRQP_SET                         = 0x8004700c\n\tRTC_MAX_FREQ                         = 0x2000\n\tRTC_PF                               = 0x40\n\tRTC_PIE_OFF                          = 0x20007006\n\tRTC_PIE_ON                           = 0x20007005\n\tRTC_PLL_GET                          = 0x401c7011\n\tRTC_PLL_SET                          = 0x801c7012\n\tRTC_RD_TIME                          = 0x40247009\n\tRTC_SET_TIME                         = 0x8024700a\n\tRTC_UF                               = 0x10\n\tRTC_UIE_OFF                          = 0x20007004\n\tRTC_UIE_ON                           = 0x20007003\n\tRTC_VL_CLR                           = 0x20007014\n\tRTC_VL_READ                          = 0x40047013\n\tRTC_WIE_OFF                          = 0x20007010\n\tRTC_WIE_ON                           = 0x2000700f\n\tRTC_WKALM_RD                         = 0x40287010\n\tRTC_WKALM_SET                        = 0x8028700f\n\tRTF_ADDRCLASSMASK                    = 0xf8000000\n\tRTF_ADDRCONF                         = 0x40000\n\tRTF_ALLONLINK                        = 0x20000\n\tRTF_BROADCAST                        = 0x10000000\n\tRTF_CACHE                            = 0x1000000\n\tRTF_DEFAULT                          = 0x10000\n\tRTF_DYNAMIC                          = 0x10\n\tRTF_FLOW                             = 0x2000000\n\tRTF_GATEWAY                          = 0x2\n\tRTF_HOST                             = 0x4\n\tRTF_INTERFACE                        = 0x40000000\n\tRTF_IRTT                             = 0x100\n\tRTF_LINKRT                           = 0x100000\n\tRTF_LOCAL                            = 0x80000000\n\tRTF_MODIFIED                         = 0x20\n\tRTF_MSS                              = 0x40\n\tRTF_MTU                              = 0x40\n\tRTF_MULTICAST                        = 0x20000000\n\tRTF_NAT                              = 0x8000000\n\tRTF_NOFORWARD                        = 0x1000\n\tRTF_NONEXTHOP                        = 0x200000\n\tRTF_NOPMTUDISC                       = 0x4000\n\tRTF_POLICY                           = 0x4000000\n\tRTF_REINSTATE                        = 0x8\n\tRTF_REJECT                           = 0x200\n\tRTF_STATIC                           = 0x400\n\tRTF_THROW                            = 0x2000\n\tRTF_UP                               = 0x1\n\tRTF_WINDOW                           = 0x80\n\tRTF_XRESOLVE                         = 0x800\n\tRTM_BASE                             = 0x10\n\tRTM_DELACTION                        = 0x31\n\tRTM_DELADDR                          = 0x15\n\tRTM_DELADDRLABEL                     = 0x49\n\tRTM_DELLINK                          = 0x11\n\tRTM_DELMDB                           = 0x55\n\tRTM_DELNEIGH                         = 0x1d\n\tRTM_DELNETCONF                       = 0x51\n\tRTM_DELNSID                          = 0x59\n\tRTM_DELQDISC                         = 0x25\n\tRTM_DELROUTE                         = 0x19\n\tRTM_DELRULE                          = 0x21\n\tRTM_DELTCLASS                        = 0x29\n\tRTM_DELTFILTER                       = 0x2d\n\tRTM_F_CLONED                         = 0x200\n\tRTM_F_EQUALIZE                       = 0x400\n\tRTM_F_FIB_MATCH                      = 0x2000\n\tRTM_F_LOOKUP_TABLE                   = 0x1000\n\tRTM_F_NOTIFY                         = 0x100\n\tRTM_F_PREFIX                         = 0x800\n\tRTM_GETACTION                        = 0x32\n\tRTM_GETADDR                          = 0x16\n\tRTM_GETADDRLABEL                     = 0x4a\n\tRTM_GETANYCAST                       = 0x3e\n\tRTM_GETDCB                           = 0x4e\n\tRTM_GETLINK                          = 0x12\n\tRTM_GETMDB                           = 0x56\n\tRTM_GETMULTICAST                     = 0x3a\n\tRTM_GETNEIGH                         = 0x1e\n\tRTM_GETNEIGHTBL                      = 0x42\n\tRTM_GETNETCONF                       = 0x52\n\tRTM_GETNSID                          = 0x5a\n\tRTM_GETQDISC                         = 0x26\n\tRTM_GETROUTE                         = 0x1a\n\tRTM_GETRULE                          = 0x22\n\tRTM_GETSTATS                         = 0x5e\n\tRTM_GETTCLASS                        = 0x2a\n\tRTM_GETTFILTER                       = 0x2e\n\tRTM_MAX                              = 0x63\n\tRTM_NEWACTION                        = 0x30\n\tRTM_NEWADDR                          = 0x14\n\tRTM_NEWADDRLABEL                     = 0x48\n\tRTM_NEWCACHEREPORT                   = 0x60\n\tRTM_NEWLINK                          = 0x10\n\tRTM_NEWMDB                           = 0x54\n\tRTM_NEWNDUSEROPT                     = 0x44\n\tRTM_NEWNEIGH                         = 0x1c\n\tRTM_NEWNEIGHTBL                      = 0x40\n\tRTM_NEWNETCONF                       = 0x50\n\tRTM_NEWNSID                          = 0x58\n\tRTM_NEWPREFIX                        = 0x34\n\tRTM_NEWQDISC                         = 0x24\n\tRTM_NEWROUTE                         = 0x18\n\tRTM_NEWRULE                          = 0x20\n\tRTM_NEWSTATS                         = 0x5c\n\tRTM_NEWTCLASS                        = 0x28\n\tRTM_NEWTFILTER                       = 0x2c\n\tRTM_NR_FAMILIES                      = 0x15\n\tRTM_NR_MSGTYPES                      = 0x54\n\tRTM_SETDCB                           = 0x4f\n\tRTM_SETLINK                          = 0x13\n\tRTM_SETNEIGHTBL                      = 0x43\n\tRTNH_ALIGNTO                         = 0x4\n\tRTNH_COMPARE_MASK                    = 0x19\n\tRTNH_F_DEAD                          = 0x1\n\tRTNH_F_LINKDOWN                      = 0x10\n\tRTNH_F_OFFLOAD                       = 0x8\n\tRTNH_F_ONLINK                        = 0x4\n\tRTNH_F_PERVASIVE                     = 0x2\n\tRTNH_F_UNRESOLVED                    = 0x20\n\tRTN_MAX                              = 0xb\n\tRTPROT_BABEL                         = 0x2a\n\tRTPROT_BGP                           = 0xba\n\tRTPROT_BIRD                          = 0xc\n\tRTPROT_BOOT                          = 0x3\n\tRTPROT_DHCP                          = 0x10\n\tRTPROT_DNROUTED                      = 0xd\n\tRTPROT_EIGRP                         = 0xc0\n\tRTPROT_GATED                         = 0x8\n\tRTPROT_ISIS                          = 0xbb\n\tRTPROT_KERNEL                        = 0x2\n\tRTPROT_MROUTED                       = 0x11\n\tRTPROT_MRT                           = 0xa\n\tRTPROT_NTK                           = 0xf\n\tRTPROT_OSPF                          = 0xbc\n\tRTPROT_RA                            = 0x9\n\tRTPROT_REDIRECT                      = 0x1\n\tRTPROT_RIP                           = 0xbd\n\tRTPROT_STATIC                        = 0x4\n\tRTPROT_UNSPEC                        = 0x0\n\tRTPROT_XORP                          = 0xe\n\tRTPROT_ZEBRA                         = 0xb\n\tRT_CLASS_DEFAULT                     = 0xfd\n\tRT_CLASS_LOCAL                       = 0xff\n\tRT_CLASS_MAIN                        = 0xfe\n\tRT_CLASS_MAX                         = 0xff\n\tRT_CLASS_UNSPEC                      = 0x0\n\tRUSAGE_CHILDREN                      = -0x1\n\tRUSAGE_SELF                          = 0x0\n\tRUSAGE_THREAD                        = 0x1\n\tSCM_CREDENTIALS                      = 0x2\n\tSCM_RIGHTS                           = 0x1\n\tSCM_TIMESTAMP                        = 0x1d\n\tSCM_TIMESTAMPING                     = 0x25\n\tSCM_TIMESTAMPING_OPT_STATS           = 0x36\n\tSCM_TIMESTAMPING_PKTINFO             = 0x3a\n\tSCM_TIMESTAMPNS                      = 0x23\n\tSCM_WIFI_STATUS                      = 0x29\n\tSECCOMP_MODE_DISABLED                = 0x0\n\tSECCOMP_MODE_FILTER                  = 0x2\n\tSECCOMP_MODE_STRICT                  = 0x1\n\tSECURITYFS_MAGIC                     = 0x73636673\n\tSELINUX_MAGIC                        = 0xf97cff8c\n\tSHUT_RD                              = 0x0\n\tSHUT_RDWR                            = 0x2\n\tSHUT_WR                              = 0x1\n\tSIOCADDDLCI                          = 0x8980\n\tSIOCADDMULTI                         = 0x8931\n\tSIOCADDRT                            = 0x890b\n\tSIOCATMARK                           = 0x40047307\n\tSIOCBONDCHANGEACTIVE                 = 0x8995\n\tSIOCBONDENSLAVE                      = 0x8990\n\tSIOCBONDINFOQUERY                    = 0x8994\n\tSIOCBONDRELEASE                      = 0x8991\n\tSIOCBONDSETHWADDR                    = 0x8992\n\tSIOCBONDSLAVEINFOQUERY               = 0x8993\n\tSIOCBRADDBR                          = 0x89a0\n\tSIOCBRADDIF                          = 0x89a2\n\tSIOCBRDELBR                          = 0x89a1\n\tSIOCBRDELIF                          = 0x89a3\n\tSIOCDARP                             = 0x8953\n\tSIOCDELDLCI                          = 0x8981\n\tSIOCDELMULTI                         = 0x8932\n\tSIOCDELRT                            = 0x890c\n\tSIOCDEVPRIVATE                       = 0x89f0\n\tSIOCDIFADDR                          = 0x8936\n\tSIOCDRARP                            = 0x8960\n\tSIOCETHTOOL                          = 0x8946\n\tSIOCGARP                             = 0x8954\n\tSIOCGHWTSTAMP                        = 0x89b1\n\tSIOCGIFADDR                          = 0x8915\n\tSIOCGIFBR                            = 0x8940\n\tSIOCGIFBRDADDR                       = 0x8919\n\tSIOCGIFCONF                          = 0x8912\n\tSIOCGIFCOUNT                         = 0x8938\n\tSIOCGIFDSTADDR                       = 0x8917\n\tSIOCGIFENCAP                         = 0x8925\n\tSIOCGIFFLAGS                         = 0x8913\n\tSIOCGIFHWADDR                        = 0x8927\n\tSIOCGIFINDEX                         = 0x8933\n\tSIOCGIFMAP                           = 0x8970\n\tSIOCGIFMEM                           = 0x891f\n\tSIOCGIFMETRIC                        = 0x891d\n\tSIOCGIFMTU                           = 0x8921\n\tSIOCGIFNAME                          = 0x8910\n\tSIOCGIFNETMASK                       = 0x891b\n\tSIOCGIFPFLAGS                        = 0x8935\n\tSIOCGIFSLAVE                         = 0x8929\n\tSIOCGIFTXQLEN                        = 0x8942\n\tSIOCGIFVLAN                          = 0x8982\n\tSIOCGMIIPHY                          = 0x8947\n\tSIOCGMIIREG                          = 0x8948\n\tSIOCGPGRP                            = 0x40047309\n\tSIOCGRARP                            = 0x8961\n\tSIOCGSKNS                            = 0x894c\n\tSIOCGSTAMP                           = 0x8906\n\tSIOCGSTAMPNS                         = 0x8907\n\tSIOCINQ                              = 0x467f\n\tSIOCOUTQ                             = 0x7472\n\tSIOCOUTQNSD                          = 0x894b\n\tSIOCPROTOPRIVATE                     = 0x89e0\n\tSIOCRTMSG                            = 0x890d\n\tSIOCSARP                             = 0x8955\n\tSIOCSHWTSTAMP                        = 0x89b0\n\tSIOCSIFADDR                          = 0x8916\n\tSIOCSIFBR                            = 0x8941\n\tSIOCSIFBRDADDR                       = 0x891a\n\tSIOCSIFDSTADDR                       = 0x8918\n\tSIOCSIFENCAP                         = 0x8926\n\tSIOCSIFFLAGS                         = 0x8914\n\tSIOCSIFHWADDR                        = 0x8924\n\tSIOCSIFHWBROADCAST                   = 0x8937\n\tSIOCSIFLINK                          = 0x8911\n\tSIOCSIFMAP                           = 0x8971\n\tSIOCSIFMEM                           = 0x8920\n\tSIOCSIFMETRIC                        = 0x891e\n\tSIOCSIFMTU                           = 0x8922\n\tSIOCSIFNAME                          = 0x8923\n\tSIOCSIFNETMASK                       = 0x891c\n\tSIOCSIFPFLAGS                        = 0x8934\n\tSIOCSIFSLAVE                         = 0x8930\n\tSIOCSIFTXQLEN                        = 0x8943\n\tSIOCSIFVLAN                          = 0x8983\n\tSIOCSMIIREG                          = 0x8949\n\tSIOCSPGRP                            = 0x80047308\n\tSIOCSRARP                            = 0x8962\n\tSIOCWANDEV                           = 0x894a\n\tSMACK_MAGIC                          = 0x43415d53\n\tSMART_AUTOSAVE                       = 0xd2\n\tSMART_AUTO_OFFLINE                   = 0xdb\n\tSMART_DISABLE                        = 0xd9\n\tSMART_ENABLE                         = 0xd8\n\tSMART_HCYL_PASS                      = 0xc2\n\tSMART_IMMEDIATE_OFFLINE              = 0xd4\n\tSMART_LCYL_PASS                      = 0x4f\n\tSMART_READ_LOG_SECTOR                = 0xd5\n\tSMART_READ_THRESHOLDS                = 0xd1\n\tSMART_READ_VALUES                    = 0xd0\n\tSMART_SAVE                           = 0xd3\n\tSMART_STATUS                         = 0xda\n\tSMART_WRITE_LOG_SECTOR               = 0xd6\n\tSMART_WRITE_THRESHOLDS               = 0xd7\n\tSMB_SUPER_MAGIC                      = 0x517b\n\tSOCKFS_MAGIC                         = 0x534f434b\n\tSOCK_CLOEXEC                         = 0x80000\n\tSOCK_DCCP                            = 0x6\n\tSOCK_DGRAM                           = 0x1\n\tSOCK_IOC_TYPE                        = 0x89\n\tSOCK_NONBLOCK                        = 0x80\n\tSOCK_PACKET                          = 0xa\n\tSOCK_RAW                             = 0x3\n\tSOCK_RDM                             = 0x4\n\tSOCK_SEQPACKET                       = 0x5\n\tSOCK_STREAM                          = 0x2\n\tSOL_AAL                              = 0x109\n\tSOL_ALG                              = 0x117\n\tSOL_ATM                              = 0x108\n\tSOL_CAIF                             = 0x116\n\tSOL_CAN_BASE                         = 0x64\n\tSOL_DCCP                             = 0x10d\n\tSOL_DECNET                           = 0x105\n\tSOL_ICMPV6                           = 0x3a\n\tSOL_IP                               = 0x0\n\tSOL_IPV6                             = 0x29\n\tSOL_IRDA                             = 0x10a\n\tSOL_IUCV                             = 0x115\n\tSOL_KCM                              = 0x119\n\tSOL_LLC                              = 0x10c\n\tSOL_NETBEUI                          = 0x10b\n\tSOL_NETLINK                          = 0x10e\n\tSOL_NFC                              = 0x118\n\tSOL_PACKET                           = 0x107\n\tSOL_PNPIPE                           = 0x113\n\tSOL_PPPOL2TP                         = 0x111\n\tSOL_RAW                              = 0xff\n\tSOL_RDS                              = 0x114\n\tSOL_RXRPC                            = 0x110\n\tSOL_SOCKET                           = 0xffff\n\tSOL_TCP                              = 0x6\n\tSOL_TIPC                             = 0x10f\n\tSOL_TLS                              = 0x11a\n\tSOL_X25                              = 0x106\n\tSOMAXCONN                            = 0x80\n\tSO_ACCEPTCONN                        = 0x1009\n\tSO_ATTACH_BPF                        = 0x32\n\tSO_ATTACH_FILTER                     = 0x1a\n\tSO_ATTACH_REUSEPORT_CBPF             = 0x33\n\tSO_ATTACH_REUSEPORT_EBPF             = 0x34\n\tSO_BINDTODEVICE                      = 0x19\n\tSO_BPF_EXTENSIONS                    = 0x30\n\tSO_BROADCAST                         = 0x20\n\tSO_BSDCOMPAT                         = 0xe\n\tSO_BUSY_POLL                         = 0x2e\n\tSO_CNX_ADVICE                        = 0x35\n\tSO_COOKIE                            = 0x39\n\tSO_DEBUG                             = 0x1\n\tSO_DETACH_BPF                        = 0x1b\n\tSO_DETACH_FILTER                     = 0x1b\n\tSO_DOMAIN                            = 0x1029\n\tSO_DONTROUTE                         = 0x10\n\tSO_ERROR                             = 0x1007\n\tSO_GET_FILTER                        = 0x1a\n\tSO_INCOMING_CPU                      = 0x31\n\tSO_INCOMING_NAPI_ID                  = 0x38\n\tSO_KEEPALIVE                         = 0x8\n\tSO_LINGER                            = 0x80\n\tSO_LOCK_FILTER                       = 0x2c\n\tSO_MARK                              = 0x24\n\tSO_MAX_PACING_RATE                   = 0x2f\n\tSO_MEMINFO                           = 0x37\n\tSO_NOFCS                             = 0x2b\n\tSO_NO_CHECK                          = 0xb\n\tSO_OOBINLINE                         = 0x100\n\tSO_PASSCRED                          = 0x11\n\tSO_PASSSEC                           = 0x22\n\tSO_PEEK_OFF                          = 0x2a\n\tSO_PEERCRED                          = 0x12\n\tSO_PEERGROUPS                        = 0x3b\n\tSO_PEERNAME                          = 0x1c\n\tSO_PEERSEC                           = 0x1e\n\tSO_PRIORITY                          = 0xc\n\tSO_PROTOCOL                          = 0x1028\n\tSO_RCVBUF                            = 0x1002\n\tSO_RCVBUFFORCE                       = 0x21\n\tSO_RCVLOWAT                          = 0x1004\n\tSO_RCVTIMEO                          = 0x1006\n\tSO_REUSEADDR                         = 0x4\n\tSO_REUSEPORT                         = 0x200\n\tSO_RXQ_OVFL                          = 0x28\n\tSO_SECURITY_AUTHENTICATION           = 0x16\n\tSO_SECURITY_ENCRYPTION_NETWORK       = 0x18\n\tSO_SECURITY_ENCRYPTION_TRANSPORT     = 0x17\n\tSO_SELECT_ERR_QUEUE                  = 0x2d\n\tSO_SNDBUF                            = 0x1001\n\tSO_SNDBUFFORCE                       = 0x1f\n\tSO_SNDLOWAT                          = 0x1003\n\tSO_SNDTIMEO                          = 0x1005\n\tSO_STYLE                             = 0x1008\n\tSO_TIMESTAMP                         = 0x1d\n\tSO_TIMESTAMPING                      = 0x25\n\tSO_TIMESTAMPNS                       = 0x23\n\tSO_TYPE                              = 0x1008\n\tSO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2\n\tSO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1\n\tSO_VM_SOCKETS_BUFFER_SIZE            = 0x0\n\tSO_VM_SOCKETS_CONNECT_TIMEOUT        = 0x6\n\tSO_VM_SOCKETS_NONBLOCK_TXRX          = 0x7\n\tSO_VM_SOCKETS_PEER_HOST_VM_ID        = 0x3\n\tSO_VM_SOCKETS_TRUSTED                = 0x5\n\tSO_WIFI_STATUS                       = 0x29\n\tSO_ZEROCOPY                          = 0x3c\n\tSPLICE_F_GIFT                        = 0x8\n\tSPLICE_F_MORE                        = 0x4\n\tSPLICE_F_MOVE                        = 0x1\n\tSPLICE_F_NONBLOCK                    = 0x2\n\tSQUASHFS_MAGIC                       = 0x73717368\n\tSTACK_END_MAGIC                      = 0x57ac6e9d\n\tSTATX_ALL                            = 0xfff\n\tSTATX_ATIME                          = 0x20\n\tSTATX_ATTR_APPEND                    = 0x20\n\tSTATX_ATTR_AUTOMOUNT                 = 0x1000\n\tSTATX_ATTR_COMPRESSED                = 0x4\n\tSTATX_ATTR_ENCRYPTED                 = 0x800\n\tSTATX_ATTR_IMMUTABLE                 = 0x10\n\tSTATX_ATTR_NODUMP                    = 0x40\n\tSTATX_BASIC_STATS                    = 0x7ff\n\tSTATX_BLOCKS                         = 0x400\n\tSTATX_BTIME                          = 0x800\n\tSTATX_CTIME                          = 0x80\n\tSTATX_GID                            = 0x10\n\tSTATX_INO                            = 0x100\n\tSTATX_MODE                           = 0x2\n\tSTATX_MTIME                          = 0x40\n\tSTATX_NLINK                          = 0x4\n\tSTATX_SIZE                           = 0x200\n\tSTATX_TYPE                           = 0x1\n\tSTATX_UID                            = 0x8\n\tSTATX__RESERVED                      = 0x80000000\n\tSYSFS_MAGIC                          = 0x62656572\n\tS_BLKSIZE                            = 0x200\n\tS_IEXEC                              = 0x40\n\tS_IFBLK                              = 0x6000\n\tS_IFCHR                              = 0x2000\n\tS_IFDIR                              = 0x4000\n\tS_IFIFO                              = 0x1000\n\tS_IFLNK                              = 0xa000\n\tS_IFMT                               = 0xf000\n\tS_IFREG                              = 0x8000\n\tS_IFSOCK                             = 0xc000\n\tS_IREAD                              = 0x100\n\tS_IRGRP                              = 0x20\n\tS_IROTH                              = 0x4\n\tS_IRUSR                              = 0x100\n\tS_IRWXG                              = 0x38\n\tS_IRWXO                              = 0x7\n\tS_IRWXU                              = 0x1c0\n\tS_ISGID                              = 0x400\n\tS_ISUID                              = 0x800\n\tS_ISVTX                              = 0x200\n\tS_IWGRP                              = 0x10\n\tS_IWOTH                              = 0x2\n\tS_IWRITE                             = 0x80\n\tS_IWUSR                              = 0x80\n\tS_IXGRP                              = 0x8\n\tS_IXOTH                              = 0x1\n\tS_IXUSR                              = 0x40\n\tTAB0                                 = 0x0\n\tTAB1                                 = 0x800\n\tTAB2                                 = 0x1000\n\tTAB3                                 = 0x1800\n\tTABDLY                               = 0x1800\n\tTASKSTATS_CMD_ATTR_MAX               = 0x4\n\tTASKSTATS_CMD_MAX                    = 0x2\n\tTASKSTATS_GENL_NAME                  = \"TASKSTATS\"\n\tTASKSTATS_GENL_VERSION               = 0x1\n\tTASKSTATS_TYPE_MAX                   = 0x6\n\tTASKSTATS_VERSION                    = 0x8\n\tTCFLSH                               = 0x5407\n\tTCGETA                               = 0x5401\n\tTCGETS                               = 0x540d\n\tTCGETS2                              = 0x4030542a\n\tTCIFLUSH                             = 0x0\n\tTCIOFF                               = 0x2\n\tTCIOFLUSH                            = 0x2\n\tTCION                                = 0x3\n\tTCOFLUSH                             = 0x1\n\tTCOOFF                               = 0x0\n\tTCOON                                = 0x1\n\tTCP_CC_INFO                          = 0x1a\n\tTCP_CONGESTION                       = 0xd\n\tTCP_COOKIE_IN_ALWAYS                 = 0x1\n\tTCP_COOKIE_MAX                       = 0x10\n\tTCP_COOKIE_MIN                       = 0x8\n\tTCP_COOKIE_OUT_NEVER                 = 0x2\n\tTCP_COOKIE_PAIR_SIZE                 = 0x20\n\tTCP_COOKIE_TRANSACTIONS              = 0xf\n\tTCP_CORK                             = 0x3\n\tTCP_DEFER_ACCEPT                     = 0x9\n\tTCP_FASTOPEN                         = 0x17\n\tTCP_FASTOPEN_CONNECT                 = 0x1e\n\tTCP_FASTOPEN_KEY                     = 0x21\n\tTCP_FASTOPEN_NO_COOKIE               = 0x22\n\tTCP_INFO                             = 0xb\n\tTCP_KEEPCNT                          = 0x6\n\tTCP_KEEPIDLE                         = 0x4\n\tTCP_KEEPINTVL                        = 0x5\n\tTCP_LINGER2                          = 0x8\n\tTCP_MAXSEG                           = 0x2\n\tTCP_MAXWIN                           = 0xffff\n\tTCP_MAX_WINSHIFT                     = 0xe\n\tTCP_MD5SIG                           = 0xe\n\tTCP_MD5SIG_EXT                       = 0x20\n\tTCP_MD5SIG_FLAG_PREFIX               = 0x1\n\tTCP_MD5SIG_MAXKEYLEN                 = 0x50\n\tTCP_MSS                              = 0x200\n\tTCP_MSS_DEFAULT                      = 0x218\n\tTCP_MSS_DESIRED                      = 0x4c4\n\tTCP_NODELAY                          = 0x1\n\tTCP_NOTSENT_LOWAT                    = 0x19\n\tTCP_QUEUE_SEQ                        = 0x15\n\tTCP_QUICKACK                         = 0xc\n\tTCP_REPAIR                           = 0x13\n\tTCP_REPAIR_OPTIONS                   = 0x16\n\tTCP_REPAIR_QUEUE                     = 0x14\n\tTCP_REPAIR_WINDOW                    = 0x1d\n\tTCP_SAVED_SYN                        = 0x1c\n\tTCP_SAVE_SYN                         = 0x1b\n\tTCP_SYNCNT                           = 0x7\n\tTCP_S_DATA_IN                        = 0x4\n\tTCP_S_DATA_OUT                       = 0x8\n\tTCP_THIN_DUPACK                      = 0x11\n\tTCP_THIN_LINEAR_TIMEOUTS             = 0x10\n\tTCP_TIMESTAMP                        = 0x18\n\tTCP_ULP                              = 0x1f\n\tTCP_USER_TIMEOUT                     = 0x12\n\tTCP_WINDOW_CLAMP                     = 0xa\n\tTCSAFLUSH                            = 0x5410\n\tTCSBRK                               = 0x5405\n\tTCSBRKP                              = 0x5486\n\tTCSETA                               = 0x5402\n\tTCSETAF                              = 0x5404\n\tTCSETAW                              = 0x5403\n\tTCSETS                               = 0x540e\n\tTCSETS2                              = 0x8030542b\n\tTCSETSF                              = 0x5410\n\tTCSETSF2                             = 0x8030542d\n\tTCSETSW                              = 0x540f\n\tTCSETSW2                             = 0x8030542c\n\tTCXONC                               = 0x5406\n\tTIOCCBRK                             = 0x5428\n\tTIOCCONS                             = 0x80047478\n\tTIOCEXCL                             = 0x740d\n\tTIOCGDEV                             = 0x40045432\n\tTIOCGETD                             = 0x7400\n\tTIOCGETP                             = 0x7408\n\tTIOCGEXCL                            = 0x40045440\n\tTIOCGICOUNT                          = 0x5492\n\tTIOCGLCKTRMIOS                       = 0x548b\n\tTIOCGLTC                             = 0x7474\n\tTIOCGPGRP                            = 0x40047477\n\tTIOCGPKT                             = 0x40045438\n\tTIOCGPTLCK                           = 0x40045439\n\tTIOCGPTN                             = 0x40045430\n\tTIOCGPTPEER                          = 0x20005441\n\tTIOCGRS485                           = 0x4020542e\n\tTIOCGSERIAL                          = 0x5484\n\tTIOCGSID                             = 0x7416\n\tTIOCGSOFTCAR                         = 0x5481\n\tTIOCGWINSZ                           = 0x40087468\n\tTIOCINQ                              = 0x467f\n\tTIOCLINUX                            = 0x5483\n\tTIOCMBIC                             = 0x741c\n\tTIOCMBIS                             = 0x741b\n\tTIOCMGET                             = 0x741d\n\tTIOCMIWAIT                           = 0x5491\n\tTIOCMSET                             = 0x741a\n\tTIOCM_CAR                            = 0x100\n\tTIOCM_CD                             = 0x100\n\tTIOCM_CTS                            = 0x40\n\tTIOCM_DSR                            = 0x400\n\tTIOCM_DTR                            = 0x2\n\tTIOCM_LE                             = 0x1\n\tTIOCM_RI                             = 0x200\n\tTIOCM_RNG                            = 0x200\n\tTIOCM_RTS                            = 0x4\n\tTIOCM_SR                             = 0x20\n\tTIOCM_ST                             = 0x10\n\tTIOCNOTTY                            = 0x5471\n\tTIOCNXCL                             = 0x740e\n\tTIOCOUTQ                             = 0x7472\n\tTIOCPKT                              = 0x5470\n\tTIOCPKT_DATA                         = 0x0\n\tTIOCPKT_DOSTOP                       = 0x20\n\tTIOCPKT_FLUSHREAD                    = 0x1\n\tTIOCPKT_FLUSHWRITE                   = 0x2\n\tTIOCPKT_IOCTL                        = 0x40\n\tTIOCPKT_NOSTOP                       = 0x10\n\tTIOCPKT_START                        = 0x8\n\tTIOCPKT_STOP                         = 0x4\n\tTIOCSBRK                             = 0x5427\n\tTIOCSCTTY                            = 0x5480\n\tTIOCSERCONFIG                        = 0x5488\n\tTIOCSERGETLSR                        = 0x548e\n\tTIOCSERGETMULTI                      = 0x548f\n\tTIOCSERGSTRUCT                       = 0x548d\n\tTIOCSERGWILD                         = 0x5489\n\tTIOCSERSETMULTI                      = 0x5490\n\tTIOCSERSWILD                         = 0x548a\n\tTIOCSER_TEMT                         = 0x1\n\tTIOCSETD                             = 0x7401\n\tTIOCSETN                             = 0x740a\n\tTIOCSETP                             = 0x7409\n\tTIOCSIG                              = 0x80045436\n\tTIOCSLCKTRMIOS                       = 0x548c\n\tTIOCSLTC                             = 0x7475\n\tTIOCSPGRP                            = 0x80047476\n\tTIOCSPTLCK                           = 0x80045431\n\tTIOCSRS485                           = 0xc020542f\n\tTIOCSSERIAL                          = 0x5485\n\tTIOCSSOFTCAR                         = 0x5482\n\tTIOCSTI                              = 0x5472\n\tTIOCSWINSZ                           = 0x80087467\n\tTIOCVHANGUP                          = 0x5437\n\tTMPFS_MAGIC                          = 0x1021994\n\tTOSTOP                               = 0x8000\n\tTPACKET_ALIGNMENT                    = 0x10\n\tTPACKET_HDRLEN                       = 0x34\n\tTP_STATUS_AVAILABLE                  = 0x0\n\tTP_STATUS_BLK_TMO                    = 0x20\n\tTP_STATUS_COPY                       = 0x2\n\tTP_STATUS_CSUMNOTREADY               = 0x8\n\tTP_STATUS_CSUM_VALID                 = 0x80\n\tTP_STATUS_KERNEL                     = 0x0\n\tTP_STATUS_LOSING                     = 0x4\n\tTP_STATUS_SENDING                    = 0x2\n\tTP_STATUS_SEND_REQUEST               = 0x1\n\tTP_STATUS_TS_RAW_HARDWARE            = -0x80000000\n\tTP_STATUS_TS_SOFTWARE                = 0x20000000\n\tTP_STATUS_TS_SYS_HARDWARE            = 0x40000000\n\tTP_STATUS_USER                       = 0x1\n\tTP_STATUS_VLAN_TPID_VALID            = 0x40\n\tTP_STATUS_VLAN_VALID                 = 0x10\n\tTP_STATUS_WRONG_FORMAT               = 0x4\n\tTRACEFS_MAGIC                        = 0x74726163\n\tTS_COMM_LEN                          = 0x20\n\tTUNATTACHFILTER                      = 0x800854d5\n\tTUNDETACHFILTER                      = 0x800854d6\n\tTUNGETFEATURES                       = 0x400454cf\n\tTUNGETFILTER                         = 0x400854db\n\tTUNGETIFF                            = 0x400454d2\n\tTUNGETSNDBUF                         = 0x400454d3\n\tTUNGETVNETBE                         = 0x400454df\n\tTUNGETVNETHDRSZ                      = 0x400454d7\n\tTUNGETVNETLE                         = 0x400454dd\n\tTUNSETDEBUG                          = 0x800454c9\n\tTUNSETFILTEREBPF                     = 0x400454e1\n\tTUNSETGROUP                          = 0x800454ce\n\tTUNSETIFF                            = 0x800454ca\n\tTUNSETIFINDEX                        = 0x800454da\n\tTUNSETLINK                           = 0x800454cd\n\tTUNSETNOCSUM                         = 0x800454c8\n\tTUNSETOFFLOAD                        = 0x800454d0\n\tTUNSETOWNER                          = 0x800454cc\n\tTUNSETPERSIST                        = 0x800454cb\n\tTUNSETQUEUE                          = 0x800454d9\n\tTUNSETSNDBUF                         = 0x800454d4\n\tTUNSETSTEERINGEBPF                   = 0x400454e0\n\tTUNSETTXFILTER                       = 0x800454d1\n\tTUNSETVNETBE                         = 0x800454de\n\tTUNSETVNETHDRSZ                      = 0x800454d8\n\tTUNSETVNETLE                         = 0x800454dc\n\tUDF_SUPER_MAGIC                      = 0x15013346\n\tUMOUNT_NOFOLLOW                      = 0x8\n\tUSBDEVICE_SUPER_MAGIC                = 0x9fa2\n\tUTIME_NOW                            = 0x3fffffff\n\tUTIME_OMIT                           = 0x3ffffffe\n\tV9FS_MAGIC                           = 0x1021997\n\tVDISCARD                             = 0xd\n\tVEOF                                 = 0x10\n\tVEOL                                 = 0x11\n\tVEOL2                                = 0x6\n\tVERASE                               = 0x2\n\tVINTR                                = 0x0\n\tVKILL                                = 0x3\n\tVLNEXT                               = 0xf\n\tVMADDR_CID_ANY                       = 0xffffffff\n\tVMADDR_CID_HOST                      = 0x2\n\tVMADDR_CID_HYPERVISOR                = 0x0\n\tVMADDR_CID_RESERVED                  = 0x1\n\tVMADDR_PORT_ANY                      = 0xffffffff\n\tVMIN                                 = 0x4\n\tVM_SOCKETS_INVALID_VERSION           = 0xffffffff\n\tVQUIT                                = 0x1\n\tVREPRINT                             = 0xc\n\tVSTART                               = 0x8\n\tVSTOP                                = 0x9\n\tVSUSP                                = 0xa\n\tVSWTC                                = 0x7\n\tVSWTCH                               = 0x7\n\tVT0                                  = 0x0\n\tVT1                                  = 0x4000\n\tVTDLY                                = 0x4000\n\tVTIME                                = 0x5\n\tVWERASE                              = 0xe\n\tWALL                                 = 0x40000000\n\tWCLONE                               = 0x80000000\n\tWCONTINUED                           = 0x8\n\tWDIOC_GETBOOTSTATUS                  = 0x40045702\n\tWDIOC_GETPRETIMEOUT                  = 0x40045709\n\tWDIOC_GETSTATUS                      = 0x40045701\n\tWDIOC_GETSUPPORT                     = 0x40285700\n\tWDIOC_GETTEMP                        = 0x40045703\n\tWDIOC_GETTIMELEFT                    = 0x4004570a\n\tWDIOC_GETTIMEOUT                     = 0x40045707\n\tWDIOC_KEEPALIVE                      = 0x40045705\n\tWDIOC_SETOPTIONS                     = 0x40045704\n\tWDIOC_SETPRETIMEOUT                  = 0xc0045708\n\tWDIOC_SETTIMEOUT                     = 0xc0045706\n\tWEXITED                              = 0x4\n\tWIN_ACKMEDIACHANGE                   = 0xdb\n\tWIN_CHECKPOWERMODE1                  = 0xe5\n\tWIN_CHECKPOWERMODE2                  = 0x98\n\tWIN_DEVICE_RESET                     = 0x8\n\tWIN_DIAGNOSE                         = 0x90\n\tWIN_DOORLOCK                         = 0xde\n\tWIN_DOORUNLOCK                       = 0xdf\n\tWIN_DOWNLOAD_MICROCODE               = 0x92\n\tWIN_FLUSH_CACHE                      = 0xe7\n\tWIN_FLUSH_CACHE_EXT                  = 0xea\n\tWIN_FORMAT                           = 0x50\n\tWIN_GETMEDIASTATUS                   = 0xda\n\tWIN_IDENTIFY                         = 0xec\n\tWIN_IDENTIFY_DMA                     = 0xee\n\tWIN_IDLEIMMEDIATE                    = 0xe1\n\tWIN_INIT                             = 0x60\n\tWIN_MEDIAEJECT                       = 0xed\n\tWIN_MULTREAD                         = 0xc4\n\tWIN_MULTREAD_EXT                     = 0x29\n\tWIN_MULTWRITE                        = 0xc5\n\tWIN_MULTWRITE_EXT                    = 0x39\n\tWIN_NOP                              = 0x0\n\tWIN_PACKETCMD                        = 0xa0\n\tWIN_PIDENTIFY                        = 0xa1\n\tWIN_POSTBOOT                         = 0xdc\n\tWIN_PREBOOT                          = 0xdd\n\tWIN_QUEUED_SERVICE                   = 0xa2\n\tWIN_READ                             = 0x20\n\tWIN_READDMA                          = 0xc8\n\tWIN_READDMA_EXT                      = 0x25\n\tWIN_READDMA_ONCE                     = 0xc9\n\tWIN_READDMA_QUEUED                   = 0xc7\n\tWIN_READDMA_QUEUED_EXT               = 0x26\n\tWIN_READ_BUFFER                      = 0xe4\n\tWIN_READ_EXT                         = 0x24\n\tWIN_READ_LONG                        = 0x22\n\tWIN_READ_LONG_ONCE                   = 0x23\n\tWIN_READ_NATIVE_MAX                  = 0xf8\n\tWIN_READ_NATIVE_MAX_EXT              = 0x27\n\tWIN_READ_ONCE                        = 0x21\n\tWIN_RECAL                            = 0x10\n\tWIN_RESTORE                          = 0x10\n\tWIN_SECURITY_DISABLE                 = 0xf6\n\tWIN_SECURITY_ERASE_PREPARE           = 0xf3\n\tWIN_SECURITY_ERASE_UNIT              = 0xf4\n\tWIN_SECURITY_FREEZE_LOCK             = 0xf5\n\tWIN_SECURITY_SET_PASS                = 0xf1\n\tWIN_SECURITY_UNLOCK                  = 0xf2\n\tWIN_SEEK                             = 0x70\n\tWIN_SETFEATURES                      = 0xef\n\tWIN_SETIDLE1                         = 0xe3\n\tWIN_SETIDLE2                         = 0x97\n\tWIN_SETMULT                          = 0xc6\n\tWIN_SET_MAX                          = 0xf9\n\tWIN_SET_MAX_EXT                      = 0x37\n\tWIN_SLEEPNOW1                        = 0xe6\n\tWIN_SLEEPNOW2                        = 0x99\n\tWIN_SMART                            = 0xb0\n\tWIN_SPECIFY                          = 0x91\n\tWIN_SRST                             = 0x8\n\tWIN_STANDBY                          = 0xe2\n\tWIN_STANDBY2                         = 0x96\n\tWIN_STANDBYNOW1                      = 0xe0\n\tWIN_STANDBYNOW2                      = 0x94\n\tWIN_VERIFY                           = 0x40\n\tWIN_VERIFY_EXT                       = 0x42\n\tWIN_VERIFY_ONCE                      = 0x41\n\tWIN_WRITE                            = 0x30\n\tWIN_WRITEDMA                         = 0xca\n\tWIN_WRITEDMA_EXT                     = 0x35\n\tWIN_WRITEDMA_ONCE                    = 0xcb\n\tWIN_WRITEDMA_QUEUED                  = 0xcc\n\tWIN_WRITEDMA_QUEUED_EXT              = 0x36\n\tWIN_WRITE_BUFFER                     = 0xe8\n\tWIN_WRITE_EXT                        = 0x34\n\tWIN_WRITE_LONG                       = 0x32\n\tWIN_WRITE_LONG_ONCE                  = 0x33\n\tWIN_WRITE_ONCE                       = 0x31\n\tWIN_WRITE_SAME                       = 0xe9\n\tWIN_WRITE_VERIFY                     = 0x3c\n\tWNOHANG                              = 0x1\n\tWNOTHREAD                            = 0x20000000\n\tWNOWAIT                              = 0x1000000\n\tWORDSIZE                             = 0x20\n\tWSTOPPED                             = 0x2\n\tWUNTRACED                            = 0x2\n\tXATTR_CREATE                         = 0x1\n\tXATTR_REPLACE                        = 0x2\n\tXCASE                                = 0x4\n\tXENFS_SUPER_MAGIC                    = 0xabba1974\n\tXTABS                                = 0x1800\n\tZSMALLOC_MAGIC                       = 0x58295829\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x7d)\n\tEADDRNOTAVAIL   = syscall.Errno(0x7e)\n\tEADV            = syscall.Errno(0x44)\n\tEAFNOSUPPORT    = syscall.Errno(0x7c)\n\tEAGAIN          = syscall.Errno(0xb)\n\tEALREADY        = syscall.Errno(0x95)\n\tEBADE           = syscall.Errno(0x32)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADFD          = syscall.Errno(0x51)\n\tEBADMSG         = syscall.Errno(0x4d)\n\tEBADR           = syscall.Errno(0x33)\n\tEBADRQC         = syscall.Errno(0x36)\n\tEBADSLT         = syscall.Errno(0x37)\n\tEBFONT          = syscall.Errno(0x3b)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x9e)\n\tECHILD          = syscall.Errno(0xa)\n\tECHRNG          = syscall.Errno(0x25)\n\tECOMM           = syscall.Errno(0x46)\n\tECONNABORTED    = syscall.Errno(0x82)\n\tECONNREFUSED    = syscall.Errno(0x92)\n\tECONNRESET      = syscall.Errno(0x83)\n\tEDEADLK         = syscall.Errno(0x2d)\n\tEDEADLOCK       = syscall.Errno(0x38)\n\tEDESTADDRREQ    = syscall.Errno(0x60)\n\tEDOM            = syscall.Errno(0x21)\n\tEDOTDOT         = syscall.Errno(0x49)\n\tEDQUOT          = syscall.Errno(0x46d)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEHOSTDOWN       = syscall.Errno(0x93)\n\tEHOSTUNREACH    = syscall.Errno(0x94)\n\tEHWPOISON       = syscall.Errno(0xa8)\n\tEIDRM           = syscall.Errno(0x24)\n\tEILSEQ          = syscall.Errno(0x58)\n\tEINIT           = syscall.Errno(0x8d)\n\tEINPROGRESS     = syscall.Errno(0x96)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x85)\n\tEISDIR          = syscall.Errno(0x15)\n\tEISNAM          = syscall.Errno(0x8b)\n\tEKEYEXPIRED     = syscall.Errno(0xa2)\n\tEKEYREJECTED    = syscall.Errno(0xa4)\n\tEKEYREVOKED     = syscall.Errno(0xa3)\n\tEL2HLT          = syscall.Errno(0x2c)\n\tEL2NSYNC        = syscall.Errno(0x26)\n\tEL3HLT          = syscall.Errno(0x27)\n\tEL3RST          = syscall.Errno(0x28)\n\tELIBACC         = syscall.Errno(0x53)\n\tELIBBAD         = syscall.Errno(0x54)\n\tELIBEXEC        = syscall.Errno(0x57)\n\tELIBMAX         = syscall.Errno(0x56)\n\tELIBSCN         = syscall.Errno(0x55)\n\tELNRNG          = syscall.Errno(0x29)\n\tELOOP           = syscall.Errno(0x5a)\n\tEMEDIUMTYPE     = syscall.Errno(0xa0)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x61)\n\tEMULTIHOP       = syscall.Errno(0x4a)\n\tENAMETOOLONG    = syscall.Errno(0x4e)\n\tENAVAIL         = syscall.Errno(0x8a)\n\tENETDOWN        = syscall.Errno(0x7f)\n\tENETRESET       = syscall.Errno(0x81)\n\tENETUNREACH     = syscall.Errno(0x80)\n\tENFILE          = syscall.Errno(0x17)\n\tENOANO          = syscall.Errno(0x35)\n\tENOBUFS         = syscall.Errno(0x84)\n\tENOCSI          = syscall.Errno(0x2b)\n\tENODATA         = syscall.Errno(0x3d)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOKEY          = syscall.Errno(0xa1)\n\tENOLCK          = syscall.Errno(0x2e)\n\tENOLINK         = syscall.Errno(0x43)\n\tENOMEDIUM       = syscall.Errno(0x9f)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x23)\n\tENONET          = syscall.Errno(0x40)\n\tENOPKG          = syscall.Errno(0x41)\n\tENOPROTOOPT     = syscall.Errno(0x63)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x3f)\n\tENOSTR          = syscall.Errno(0x3c)\n\tENOSYS          = syscall.Errno(0x59)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x86)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x5d)\n\tENOTNAM         = syscall.Errno(0x89)\n\tENOTRECOVERABLE = syscall.Errno(0xa6)\n\tENOTSOCK        = syscall.Errno(0x5f)\n\tENOTSUP         = syscall.Errno(0x7a)\n\tENOTTY          = syscall.Errno(0x19)\n\tENOTUNIQ        = syscall.Errno(0x50)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x7a)\n\tEOVERFLOW       = syscall.Errno(0x4f)\n\tEOWNERDEAD      = syscall.Errno(0xa5)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x7b)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROTO          = syscall.Errno(0x47)\n\tEPROTONOSUPPORT = syscall.Errno(0x78)\n\tEPROTOTYPE      = syscall.Errno(0x62)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMCHG         = syscall.Errno(0x52)\n\tEREMDEV         = syscall.Errno(0x8e)\n\tEREMOTE         = syscall.Errno(0x42)\n\tEREMOTEIO       = syscall.Errno(0x8c)\n\tERESTART        = syscall.Errno(0x5b)\n\tERFKILL         = syscall.Errno(0xa7)\n\tEROFS           = syscall.Errno(0x1e)\n\tESHUTDOWN       = syscall.Errno(0x8f)\n\tESOCKTNOSUPPORT = syscall.Errno(0x79)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESRMNT          = syscall.Errno(0x45)\n\tESTALE          = syscall.Errno(0x97)\n\tESTRPIPE        = syscall.Errno(0x5c)\n\tETIME           = syscall.Errno(0x3e)\n\tETIMEDOUT       = syscall.Errno(0x91)\n\tETOOMANYREFS    = syscall.Errno(0x90)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUCLEAN         = syscall.Errno(0x87)\n\tEUNATCH         = syscall.Errno(0x2a)\n\tEUSERS          = syscall.Errno(0x5e)\n\tEWOULDBLOCK     = syscall.Errno(0xb)\n\tEXDEV           = syscall.Errno(0x12)\n\tEXFULL          = syscall.Errno(0x34)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x12)\n\tSIGCLD    = syscall.Signal(0x12)\n\tSIGCONT   = syscall.Signal(0x19)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x16)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPOLL   = syscall.Signal(0x16)\n\tSIGPROF   = syscall.Signal(0x1d)\n\tSIGPWR    = syscall.Signal(0x13)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x17)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x18)\n\tSIGTTIN   = syscall.Signal(0x1a)\n\tSIGTTOU   = syscall.Signal(0x1b)\n\tSIGURG    = syscall.Signal(0x15)\n\tSIGUSR1   = syscall.Signal(0x10)\n\tSIGUSR2   = syscall.Signal(0x11)\n\tSIGVTALRM = syscall.Signal(0x1c)\n\tSIGWINCH  = syscall.Signal(0x14)\n\tSIGXCPU   = syscall.Signal(0x1e)\n\tSIGXFSZ   = syscall.Signal(0x1f)\n)\n\n// Error table\nvar errorList = [...]struct {\n\tnum  syscall.Errno\n\tname string\n\tdesc string\n}{\n\t{1, \"EPERM\", \"operation not permitted\"},\n\t{2, \"ENOENT\", \"no such file or directory\"},\n\t{3, \"ESRCH\", \"no such process\"},\n\t{4, \"EINTR\", \"interrupted system call\"},\n\t{5, \"EIO\", \"input/output error\"},\n\t{6, \"ENXIO\", \"no such device or address\"},\n\t{7, \"E2BIG\", \"argument list too long\"},\n\t{8, \"ENOEXEC\", \"exec format error\"},\n\t{9, \"EBADF\", \"bad file descriptor\"},\n\t{10, \"ECHILD\", \"no child processes\"},\n\t{11, \"EAGAIN\", \"resource temporarily unavailable\"},\n\t{12, \"ENOMEM\", \"cannot allocate memory\"},\n\t{13, \"EACCES\", \"permission denied\"},\n\t{14, \"EFAULT\", \"bad address\"},\n\t{15, \"ENOTBLK\", \"block device required\"},\n\t{16, \"EBUSY\", \"device or resource busy\"},\n\t{17, \"EEXIST\", \"file exists\"},\n\t{18, \"EXDEV\", \"invalid cross-device link\"},\n\t{19, \"ENODEV\", \"no such device\"},\n\t{20, \"ENOTDIR\", \"not a directory\"},\n\t{21, \"EISDIR\", \"is a directory\"},\n\t{22, \"EINVAL\", \"invalid argument\"},\n\t{23, \"ENFILE\", \"too many open files in system\"},\n\t{24, \"EMFILE\", \"too many open files\"},\n\t{25, \"ENOTTY\", \"inappropriate ioctl for device\"},\n\t{26, \"ETXTBSY\", \"text file busy\"},\n\t{27, \"EFBIG\", \"file too large\"},\n\t{28, \"ENOSPC\", \"no space left on device\"},\n\t{29, \"ESPIPE\", \"illegal seek\"},\n\t{30, \"EROFS\", \"read-only file system\"},\n\t{31, \"EMLINK\", \"too many links\"},\n\t{32, \"EPIPE\", \"broken pipe\"},\n\t{33, \"EDOM\", \"numerical argument out of domain\"},\n\t{34, \"ERANGE\", \"numerical result out of range\"},\n\t{35, \"ENOMSG\", \"no message of desired type\"},\n\t{36, \"EIDRM\", \"identifier removed\"},\n\t{37, \"ECHRNG\", \"channel number out of range\"},\n\t{38, \"EL2NSYNC\", \"level 2 not synchronized\"},\n\t{39, \"EL3HLT\", \"level 3 halted\"},\n\t{40, \"EL3RST\", \"level 3 reset\"},\n\t{41, \"ELNRNG\", \"link number out of range\"},\n\t{42, \"EUNATCH\", \"protocol driver not attached\"},\n\t{43, \"ENOCSI\", \"no CSI structure available\"},\n\t{44, \"EL2HLT\", \"level 2 halted\"},\n\t{45, \"EDEADLK\", \"resource deadlock avoided\"},\n\t{46, \"ENOLCK\", \"no locks available\"},\n\t{50, \"EBADE\", \"invalid exchange\"},\n\t{51, \"EBADR\", \"invalid request descriptor\"},\n\t{52, \"EXFULL\", \"exchange full\"},\n\t{53, \"ENOANO\", \"no anode\"},\n\t{54, \"EBADRQC\", \"invalid request code\"},\n\t{55, \"EBADSLT\", \"invalid slot\"},\n\t{56, \"EDEADLOCK\", \"file locking deadlock error\"},\n\t{59, \"EBFONT\", \"bad font file format\"},\n\t{60, \"ENOSTR\", \"device not a stream\"},\n\t{61, \"ENODATA\", \"no data available\"},\n\t{62, \"ETIME\", \"timer expired\"},\n\t{63, \"ENOSR\", \"out of streams resources\"},\n\t{64, \"ENONET\", \"machine is not on the network\"},\n\t{65, \"ENOPKG\", \"package not installed\"},\n\t{66, \"EREMOTE\", \"object is remote\"},\n\t{67, \"ENOLINK\", \"link has been severed\"},\n\t{68, \"EADV\", \"advertise error\"},\n\t{69, \"ESRMNT\", \"srmount error\"},\n\t{70, \"ECOMM\", \"communication error on send\"},\n\t{71, \"EPROTO\", \"protocol error\"},\n\t{73, \"EDOTDOT\", \"RFS specific error\"},\n\t{74, \"EMULTIHOP\", \"multihop attempted\"},\n\t{77, \"EBADMSG\", \"bad message\"},\n\t{78, \"ENAMETOOLONG\", \"file name too long\"},\n\t{79, \"EOVERFLOW\", \"value too large for defined data type\"},\n\t{80, \"ENOTUNIQ\", \"name not unique on network\"},\n\t{81, \"EBADFD\", \"file descriptor in bad state\"},\n\t{82, \"EREMCHG\", \"remote address changed\"},\n\t{83, \"ELIBACC\", \"can not access a needed shared library\"},\n\t{84, \"ELIBBAD\", \"accessing a corrupted shared library\"},\n\t{85, \"ELIBSCN\", \".lib section in a.out corrupted\"},\n\t{86, \"ELIBMAX\", \"attempting to link in too many shared libraries\"},\n\t{87, \"ELIBEXEC\", \"cannot exec a shared library directly\"},\n\t{88, \"EILSEQ\", \"invalid or incomplete multibyte or wide character\"},\n\t{89, \"ENOSYS\", \"function not implemented\"},\n\t{90, \"ELOOP\", \"too many levels of symbolic links\"},\n\t{91, \"ERESTART\", \"interrupted system call should be restarted\"},\n\t{92, \"ESTRPIPE\", \"streams pipe error\"},\n\t{93, \"ENOTEMPTY\", \"directory not empty\"},\n\t{94, \"EUSERS\", \"too many users\"},\n\t{95, \"ENOTSOCK\", \"socket operation on non-socket\"},\n\t{96, \"EDESTADDRREQ\", \"destination address required\"},\n\t{97, \"EMSGSIZE\", \"message too long\"},\n\t{98, \"EPROTOTYPE\", \"protocol wrong type for socket\"},\n\t{99, \"ENOPROTOOPT\", \"protocol not available\"},\n\t{120, \"EPROTONOSUPPORT\", \"protocol not supported\"},\n\t{121, \"ESOCKTNOSUPPORT\", \"socket type not supported\"},\n\t{122, \"ENOTSUP\", \"operation not supported\"},\n\t{123, \"EPFNOSUPPORT\", \"protocol family not supported\"},\n\t{124, \"EAFNOSUPPORT\", \"address family not supported by protocol\"},\n\t{125, \"EADDRINUSE\", \"address already in use\"},\n\t{126, \"EADDRNOTAVAIL\", \"cannot assign requested address\"},\n\t{127, \"ENETDOWN\", \"network is down\"},\n\t{128, \"ENETUNREACH\", \"network is unreachable\"},\n\t{129, \"ENETRESET\", \"network dropped connection on reset\"},\n\t{130, \"ECONNABORTED\", \"software caused connection abort\"},\n\t{131, \"ECONNRESET\", \"connection reset by peer\"},\n\t{132, \"ENOBUFS\", \"no buffer space available\"},\n\t{133, \"EISCONN\", \"transport endpoint is already connected\"},\n\t{134, \"ENOTCONN\", \"transport endpoint is not connected\"},\n\t{135, \"EUCLEAN\", \"structure needs cleaning\"},\n\t{137, \"ENOTNAM\", \"not a XENIX named type file\"},\n\t{138, \"ENAVAIL\", \"no XENIX semaphores available\"},\n\t{139, \"EISNAM\", \"is a named type file\"},\n\t{140, \"EREMOTEIO\", \"remote I/O error\"},\n\t{141, \"EINIT\", \"unknown error 141\"},\n\t{142, \"EREMDEV\", \"unknown error 142\"},\n\t{143, \"ESHUTDOWN\", \"cannot send after transport endpoint shutdown\"},\n\t{144, \"ETOOMANYREFS\", \"too many references: cannot splice\"},\n\t{145, \"ETIMEDOUT\", \"connection timed out\"},\n\t{146, \"ECONNREFUSED\", \"connection refused\"},\n\t{147, \"EHOSTDOWN\", \"host is down\"},\n\t{148, \"EHOSTUNREACH\", \"no route to host\"},\n\t{149, \"EALREADY\", \"operation already in progress\"},\n\t{150, \"EINPROGRESS\", \"operation now in progress\"},\n\t{151, \"ESTALE\", \"stale file handle\"},\n\t{158, \"ECANCELED\", \"operation canceled\"},\n\t{159, \"ENOMEDIUM\", \"no medium found\"},\n\t{160, \"EMEDIUMTYPE\", \"wrong medium type\"},\n\t{161, \"ENOKEY\", \"required key not available\"},\n\t{162, \"EKEYEXPIRED\", \"key has expired\"},\n\t{163, \"EKEYREVOKED\", \"key has been revoked\"},\n\t{164, \"EKEYREJECTED\", \"key was rejected by service\"},\n\t{165, \"EOWNERDEAD\", \"owner died\"},\n\t{166, \"ENOTRECOVERABLE\", \"state not recoverable\"},\n\t{167, \"ERFKILL\", \"operation not possible due to RF-kill\"},\n\t{168, \"EHWPOISON\", \"memory page has hardware error\"},\n\t{1133, \"EDQUOT\", \"disk quota exceeded\"},\n}\n\n// Signal table\nvar signalList = [...]struct {\n\tnum  syscall.Signal\n\tname string\n\tdesc string\n}{\n\t{1, \"SIGHUP\", \"hangup\"},\n\t{2, \"SIGINT\", \"interrupt\"},\n\t{3, \"SIGQUIT\", \"quit\"},\n\t{4, \"SIGILL\", \"illegal instruction\"},\n\t{5, \"SIGTRAP\", \"trace/breakpoint trap\"},\n\t{6, \"SIGABRT\", \"aborted\"},\n\t{7, \"SIGEMT\", \"EMT trap\"},\n\t{8, \"SIGFPE\", \"floating point exception\"},\n\t{9, \"SIGKILL\", \"killed\"},\n\t{10, \"SIGBUS\", \"bus error\"},\n\t{11, \"SIGSEGV\", \"segmentation fault\"},\n\t{12, \"SIGSYS\", \"bad system call\"},\n\t{13, \"SIGPIPE\", \"broken pipe\"},\n\t{14, \"SIGALRM\", \"alarm clock\"},\n\t{15, \"SIGTERM\", \"terminated\"},\n\t{16, \"SIGUSR1\", \"user defined signal 1\"},\n\t{17, \"SIGUSR2\", \"user defined signal 2\"},\n\t{18, \"SIGCHLD\", \"child exited\"},\n\t{19, \"SIGPWR\", \"power failure\"},\n\t{20, \"SIGWINCH\", \"window changed\"},\n\t{21, \"SIGURG\", \"urgent I/O condition\"},\n\t{22, \"SIGIO\", \"I/O possible\"},\n\t{23, \"SIGSTOP\", \"stopped (signal)\"},\n\t{24, \"SIGTSTP\", \"stopped\"},\n\t{25, \"SIGCONT\", \"continued\"},\n\t{26, \"SIGTTIN\", \"stopped (tty input)\"},\n\t{27, \"SIGTTOU\", \"stopped (tty output)\"},\n\t{28, \"SIGVTALRM\", \"virtual timer expired\"},\n\t{29, \"SIGPROF\", \"profiling timer expired\"},\n\t{30, \"SIGXCPU\", \"CPU time limit exceeded\"},\n\t{31, \"SIGXFSZ\", \"file size limit exceeded\"},\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go",
    "content": "// mkerrors.sh -Wall -Werror -static -I/tmp/include\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build ppc64,linux\n\n// Code generated by cmd/cgo -godefs; DO NOT EDIT.\n// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAAFS_MAGIC                           = 0x5a3c69f0\n\tADFS_SUPER_MAGIC                     = 0xadf5\n\tAFFS_SUPER_MAGIC                     = 0xadff\n\tAFS_FS_MAGIC                         = 0x6b414653\n\tAFS_SUPER_MAGIC                      = 0x5346414f\n\tAF_ALG                               = 0x26\n\tAF_APPLETALK                         = 0x5\n\tAF_ASH                               = 0x12\n\tAF_ATMPVC                            = 0x8\n\tAF_ATMSVC                            = 0x14\n\tAF_AX25                              = 0x3\n\tAF_BLUETOOTH                         = 0x1f\n\tAF_BRIDGE                            = 0x7\n\tAF_CAIF                              = 0x25\n\tAF_CAN                               = 0x1d\n\tAF_DECnet                            = 0xc\n\tAF_ECONET                            = 0x13\n\tAF_FILE                              = 0x1\n\tAF_IB                                = 0x1b\n\tAF_IEEE802154                        = 0x24\n\tAF_INET                              = 0x2\n\tAF_INET6                             = 0xa\n\tAF_IPX                               = 0x4\n\tAF_IRDA                              = 0x17\n\tAF_ISDN                              = 0x22\n\tAF_IUCV                              = 0x20\n\tAF_KCM                               = 0x29\n\tAF_KEY                               = 0xf\n\tAF_LLC                               = 0x1a\n\tAF_LOCAL                             = 0x1\n\tAF_MAX                               = 0x2c\n\tAF_MPLS                              = 0x1c\n\tAF_NETBEUI                           = 0xd\n\tAF_NETLINK                           = 0x10\n\tAF_NETROM                            = 0x6\n\tAF_NFC                               = 0x27\n\tAF_PACKET                            = 0x11\n\tAF_PHONET                            = 0x23\n\tAF_PPPOX                             = 0x18\n\tAF_QIPCRTR                           = 0x2a\n\tAF_RDS                               = 0x15\n\tAF_ROSE                              = 0xb\n\tAF_ROUTE                             = 0x10\n\tAF_RXRPC                             = 0x21\n\tAF_SECURITY                          = 0xe\n\tAF_SMC                               = 0x2b\n\tAF_SNA                               = 0x16\n\tAF_TIPC                              = 0x1e\n\tAF_UNIX                              = 0x1\n\tAF_UNSPEC                            = 0x0\n\tAF_VSOCK                             = 0x28\n\tAF_WANPIPE                           = 0x19\n\tAF_X25                               = 0x9\n\tALG_OP_DECRYPT                       = 0x0\n\tALG_OP_ENCRYPT                       = 0x1\n\tALG_SET_AEAD_ASSOCLEN                = 0x4\n\tALG_SET_AEAD_AUTHSIZE                = 0x5\n\tALG_SET_IV                           = 0x2\n\tALG_SET_KEY                          = 0x1\n\tALG_SET_OP                           = 0x3\n\tANON_INODE_FS_MAGIC                  = 0x9041934\n\tARPHRD_6LOWPAN                       = 0x339\n\tARPHRD_ADAPT                         = 0x108\n\tARPHRD_APPLETLK                      = 0x8\n\tARPHRD_ARCNET                        = 0x7\n\tARPHRD_ASH                           = 0x30d\n\tARPHRD_ATM                           = 0x13\n\tARPHRD_AX25                          = 0x3\n\tARPHRD_BIF                           = 0x307\n\tARPHRD_CAIF                          = 0x336\n\tARPHRD_CAN                           = 0x118\n\tARPHRD_CHAOS                         = 0x5\n\tARPHRD_CISCO                         = 0x201\n\tARPHRD_CSLIP                         = 0x101\n\tARPHRD_CSLIP6                        = 0x103\n\tARPHRD_DDCMP                         = 0x205\n\tARPHRD_DLCI                          = 0xf\n\tARPHRD_ECONET                        = 0x30e\n\tARPHRD_EETHER                        = 0x2\n\tARPHRD_ETHER                         = 0x1\n\tARPHRD_EUI64                         = 0x1b\n\tARPHRD_FCAL                          = 0x311\n\tARPHRD_FCFABRIC                      = 0x313\n\tARPHRD_FCPL                          = 0x312\n\tARPHRD_FCPP                          = 0x310\n\tARPHRD_FDDI                          = 0x306\n\tARPHRD_FRAD                          = 0x302\n\tARPHRD_HDLC                          = 0x201\n\tARPHRD_HIPPI                         = 0x30c\n\tARPHRD_HWX25                         = 0x110\n\tARPHRD_IEEE1394                      = 0x18\n\tARPHRD_IEEE802                       = 0x6\n\tARPHRD_IEEE80211                     = 0x321\n\tARPHRD_IEEE80211_PRISM               = 0x322\n\tARPHRD_IEEE80211_RADIOTAP            = 0x323\n\tARPHRD_IEEE802154                    = 0x324\n\tARPHRD_IEEE802154_MONITOR            = 0x325\n\tARPHRD_IEEE802_TR                    = 0x320\n\tARPHRD_INFINIBAND                    = 0x20\n\tARPHRD_IP6GRE                        = 0x337\n\tARPHRD_IPDDP                         = 0x309\n\tARPHRD_IPGRE                         = 0x30a\n\tARPHRD_IRDA                          = 0x30f\n\tARPHRD_LAPB                          = 0x204\n\tARPHRD_LOCALTLK                      = 0x305\n\tARPHRD_LOOPBACK                      = 0x304\n\tARPHRD_METRICOM                      = 0x17\n\tARPHRD_NETLINK                       = 0x338\n\tARPHRD_NETROM                        = 0x0\n\tARPHRD_NONE                          = 0xfffe\n\tARPHRD_PHONET                        = 0x334\n\tARPHRD_PHONET_PIPE                   = 0x335\n\tARPHRD_PIMREG                        = 0x30b\n\tARPHRD_PPP                           = 0x200\n\tARPHRD_PRONET                        = 0x4\n\tARPHRD_RAWHDLC                       = 0x206\n\tARPHRD_RAWIP                         = 0x207\n\tARPHRD_ROSE                          = 0x10e\n\tARPHRD_RSRVD                         = 0x104\n\tARPHRD_SIT                           = 0x308\n\tARPHRD_SKIP                          = 0x303\n\tARPHRD_SLIP                          = 0x100\n\tARPHRD_SLIP6                         = 0x102\n\tARPHRD_TUNNEL                        = 0x300\n\tARPHRD_TUNNEL6                       = 0x301\n\tARPHRD_VOID                          = 0xffff\n\tARPHRD_VSOCKMON                      = 0x33a\n\tARPHRD_X25                           = 0x10f\n\tAUTOFS_SUPER_MAGIC                   = 0x187\n\tB0                                   = 0x0\n\tB1000000                             = 0x17\n\tB110                                 = 0x3\n\tB115200                              = 0x11\n\tB1152000                             = 0x18\n\tB1200                                = 0x9\n\tB134                                 = 0x4\n\tB150                                 = 0x5\n\tB1500000                             = 0x19\n\tB1800                                = 0xa\n\tB19200                               = 0xe\n\tB200                                 = 0x6\n\tB2000000                             = 0x1a\n\tB230400                              = 0x12\n\tB2400                                = 0xb\n\tB2500000                             = 0x1b\n\tB300                                 = 0x7\n\tB3000000                             = 0x1c\n\tB3500000                             = 0x1d\n\tB38400                               = 0xf\n\tB4000000                             = 0x1e\n\tB460800                              = 0x13\n\tB4800                                = 0xc\n\tB50                                  = 0x1\n\tB500000                              = 0x14\n\tB57600                               = 0x10\n\tB576000                              = 0x15\n\tB600                                 = 0x8\n\tB75                                  = 0x2\n\tB921600                              = 0x16\n\tB9600                                = 0xd\n\tBALLOON_KVM_MAGIC                    = 0x13661366\n\tBDEVFS_MAGIC                         = 0x62646576\n\tBINFMTFS_MAGIC                       = 0x42494e4d\n\tBLKBSZGET                            = 0x40081270\n\tBLKBSZSET                            = 0x80081271\n\tBLKFLSBUF                            = 0x20001261\n\tBLKFRAGET                            = 0x20001265\n\tBLKFRASET                            = 0x20001264\n\tBLKGETSIZE                           = 0x20001260\n\tBLKGETSIZE64                         = 0x40081272\n\tBLKPBSZGET                           = 0x2000127b\n\tBLKRAGET                             = 0x20001263\n\tBLKRASET                             = 0x20001262\n\tBLKROGET                             = 0x2000125e\n\tBLKROSET                             = 0x2000125d\n\tBLKRRPART                            = 0x2000125f\n\tBLKSECTGET                           = 0x20001267\n\tBLKSECTSET                           = 0x20001266\n\tBLKSSZGET                            = 0x20001268\n\tBOTHER                               = 0x1f\n\tBPF_A                                = 0x10\n\tBPF_ABS                              = 0x20\n\tBPF_ADD                              = 0x0\n\tBPF_ALU                              = 0x4\n\tBPF_AND                              = 0x50\n\tBPF_B                                = 0x10\n\tBPF_DIV                              = 0x30\n\tBPF_FS_MAGIC                         = 0xcafe4a11\n\tBPF_H                                = 0x8\n\tBPF_IMM                              = 0x0\n\tBPF_IND                              = 0x40\n\tBPF_JA                               = 0x0\n\tBPF_JEQ                              = 0x10\n\tBPF_JGE                              = 0x30\n\tBPF_JGT                              = 0x20\n\tBPF_JMP                              = 0x5\n\tBPF_JSET                             = 0x40\n\tBPF_K                                = 0x0\n\tBPF_LD                               = 0x0\n\tBPF_LDX                              = 0x1\n\tBPF_LEN                              = 0x80\n\tBPF_LL_OFF                           = -0x200000\n\tBPF_LSH                              = 0x60\n\tBPF_MAJOR_VERSION                    = 0x1\n\tBPF_MAXINSNS                         = 0x1000\n\tBPF_MEM                              = 0x60\n\tBPF_MEMWORDS                         = 0x10\n\tBPF_MINOR_VERSION                    = 0x1\n\tBPF_MISC                             = 0x7\n\tBPF_MOD                              = 0x90\n\tBPF_MSH                              = 0xa0\n\tBPF_MUL                              = 0x20\n\tBPF_NEG                              = 0x80\n\tBPF_NET_OFF                          = -0x100000\n\tBPF_OR                               = 0x40\n\tBPF_RET                              = 0x6\n\tBPF_RSH                              = 0x70\n\tBPF_ST                               = 0x2\n\tBPF_STX                              = 0x3\n\tBPF_SUB                              = 0x10\n\tBPF_TAX                              = 0x0\n\tBPF_TXA                              = 0x80\n\tBPF_W                                = 0x0\n\tBPF_X                                = 0x8\n\tBPF_XOR                              = 0xa0\n\tBRKINT                               = 0x2\n\tBS0                                  = 0x0\n\tBS1                                  = 0x8000\n\tBSDLY                                = 0x8000\n\tBTRFS_SUPER_MAGIC                    = 0x9123683e\n\tBTRFS_TEST_MAGIC                     = 0x73727279\n\tCAN_BCM                              = 0x2\n\tCAN_EFF_FLAG                         = 0x80000000\n\tCAN_EFF_ID_BITS                      = 0x1d\n\tCAN_EFF_MASK                         = 0x1fffffff\n\tCAN_ERR_FLAG                         = 0x20000000\n\tCAN_ERR_MASK                         = 0x1fffffff\n\tCAN_INV_FILTER                       = 0x20000000\n\tCAN_ISOTP                            = 0x6\n\tCAN_MAX_DLC                          = 0x8\n\tCAN_MAX_DLEN                         = 0x8\n\tCAN_MCNET                            = 0x5\n\tCAN_MTU                              = 0x10\n\tCAN_NPROTO                           = 0x7\n\tCAN_RAW                              = 0x1\n\tCAN_RAW_FILTER_MAX                   = 0x200\n\tCAN_RTR_FLAG                         = 0x40000000\n\tCAN_SFF_ID_BITS                      = 0xb\n\tCAN_SFF_MASK                         = 0x7ff\n\tCAN_TP16                             = 0x3\n\tCAN_TP20                             = 0x4\n\tCBAUD                                = 0xff\n\tCBAUDEX                              = 0x0\n\tCFLUSH                               = 0xf\n\tCGROUP2_SUPER_MAGIC                  = 0x63677270\n\tCGROUP_SUPER_MAGIC                   = 0x27e0eb\n\tCIBAUD                               = 0xff0000\n\tCLOCAL                               = 0x8000\n\tCLOCK_BOOTTIME                       = 0x7\n\tCLOCK_BOOTTIME_ALARM                 = 0x9\n\tCLOCK_DEFAULT                        = 0x0\n\tCLOCK_EXT                            = 0x1\n\tCLOCK_INT                            = 0x2\n\tCLOCK_MONOTONIC                      = 0x1\n\tCLOCK_MONOTONIC_COARSE               = 0x6\n\tCLOCK_MONOTONIC_RAW                  = 0x4\n\tCLOCK_PROCESS_CPUTIME_ID             = 0x2\n\tCLOCK_REALTIME                       = 0x0\n\tCLOCK_REALTIME_ALARM                 = 0x8\n\tCLOCK_REALTIME_COARSE                = 0x5\n\tCLOCK_TAI                            = 0xb\n\tCLOCK_THREAD_CPUTIME_ID              = 0x3\n\tCLOCK_TXFROMRX                       = 0x4\n\tCLOCK_TXINT                          = 0x3\n\tCLONE_CHILD_CLEARTID                 = 0x200000\n\tCLONE_CHILD_SETTID                   = 0x1000000\n\tCLONE_DETACHED                       = 0x400000\n\tCLONE_FILES                          = 0x400\n\tCLONE_FS                             = 0x200\n\tCLONE_IO                             = 0x80000000\n\tCLONE_NEWCGROUP                      = 0x2000000\n\tCLONE_NEWIPC                         = 0x8000000\n\tCLONE_NEWNET                         = 0x40000000\n\tCLONE_NEWNS                          = 0x20000\n\tCLONE_NEWPID                         = 0x20000000\n\tCLONE_NEWUSER                        = 0x10000000\n\tCLONE_NEWUTS                         = 0x4000000\n\tCLONE_PARENT                         = 0x8000\n\tCLONE_PARENT_SETTID                  = 0x100000\n\tCLONE_PTRACE                         = 0x2000\n\tCLONE_SETTLS                         = 0x80000\n\tCLONE_SIGHAND                        = 0x800\n\tCLONE_SYSVSEM                        = 0x40000\n\tCLONE_THREAD                         = 0x10000\n\tCLONE_UNTRACED                       = 0x800000\n\tCLONE_VFORK                          = 0x4000\n\tCLONE_VM                             = 0x100\n\tCMSPAR                               = 0x40000000\n\tCODA_SUPER_MAGIC                     = 0x73757245\n\tCR0                                  = 0x0\n\tCR1                                  = 0x1000\n\tCR2                                  = 0x2000\n\tCR3                                  = 0x3000\n\tCRAMFS_MAGIC                         = 0x28cd3d45\n\tCRDLY                                = 0x3000\n\tCREAD                                = 0x800\n\tCRTSCTS                              = 0x80000000\n\tCS5                                  = 0x0\n\tCS6                                  = 0x100\n\tCS7                                  = 0x200\n\tCS8                                  = 0x300\n\tCSIGNAL                              = 0xff\n\tCSIZE                                = 0x300\n\tCSTART                               = 0x11\n\tCSTATUS                              = 0x0\n\tCSTOP                                = 0x13\n\tCSTOPB                               = 0x400\n\tCSUSP                                = 0x1a\n\tDAXFS_MAGIC                          = 0x64646178\n\tDEBUGFS_MAGIC                        = 0x64626720\n\tDEVPTS_SUPER_MAGIC                   = 0x1cd1\n\tDT_BLK                               = 0x6\n\tDT_CHR                               = 0x2\n\tDT_DIR                               = 0x4\n\tDT_FIFO                              = 0x1\n\tDT_LNK                               = 0xa\n\tDT_REG                               = 0x8\n\tDT_SOCK                              = 0xc\n\tDT_UNKNOWN                           = 0x0\n\tDT_WHT                               = 0xe\n\tECHO                                 = 0x8\n\tECHOCTL                              = 0x40\n\tECHOE                                = 0x2\n\tECHOK                                = 0x4\n\tECHOKE                               = 0x1\n\tECHONL                               = 0x10\n\tECHOPRT                              = 0x20\n\tECRYPTFS_SUPER_MAGIC                 = 0xf15f\n\tEFD_CLOEXEC                          = 0x80000\n\tEFD_NONBLOCK                         = 0x800\n\tEFD_SEMAPHORE                        = 0x1\n\tEFIVARFS_MAGIC                       = 0xde5e81e4\n\tEFS_SUPER_MAGIC                      = 0x414a53\n\tENCODING_DEFAULT                     = 0x0\n\tENCODING_FM_MARK                     = 0x3\n\tENCODING_FM_SPACE                    = 0x4\n\tENCODING_MANCHESTER                  = 0x5\n\tENCODING_NRZ                         = 0x1\n\tENCODING_NRZI                        = 0x2\n\tEPOLLERR                             = 0x8\n\tEPOLLET                              = 0x80000000\n\tEPOLLEXCLUSIVE                       = 0x10000000\n\tEPOLLHUP                             = 0x10\n\tEPOLLIN                              = 0x1\n\tEPOLLMSG                             = 0x400\n\tEPOLLONESHOT                         = 0x40000000\n\tEPOLLOUT                             = 0x4\n\tEPOLLPRI                             = 0x2\n\tEPOLLRDBAND                          = 0x80\n\tEPOLLRDHUP                           = 0x2000\n\tEPOLLRDNORM                          = 0x40\n\tEPOLLWAKEUP                          = 0x20000000\n\tEPOLLWRBAND                          = 0x200\n\tEPOLLWRNORM                          = 0x100\n\tEPOLL_CLOEXEC                        = 0x80000\n\tEPOLL_CTL_ADD                        = 0x1\n\tEPOLL_CTL_DEL                        = 0x2\n\tEPOLL_CTL_MOD                        = 0x3\n\tETH_P_1588                           = 0x88f7\n\tETH_P_8021AD                         = 0x88a8\n\tETH_P_8021AH                         = 0x88e7\n\tETH_P_8021Q                          = 0x8100\n\tETH_P_80221                          = 0x8917\n\tETH_P_802_2                          = 0x4\n\tETH_P_802_3                          = 0x1\n\tETH_P_802_3_MIN                      = 0x600\n\tETH_P_802_EX1                        = 0x88b5\n\tETH_P_AARP                           = 0x80f3\n\tETH_P_AF_IUCV                        = 0xfbfb\n\tETH_P_ALL                            = 0x3\n\tETH_P_AOE                            = 0x88a2\n\tETH_P_ARCNET                         = 0x1a\n\tETH_P_ARP                            = 0x806\n\tETH_P_ATALK                          = 0x809b\n\tETH_P_ATMFATE                        = 0x8884\n\tETH_P_ATMMPOA                        = 0x884c\n\tETH_P_AX25                           = 0x2\n\tETH_P_BATMAN                         = 0x4305\n\tETH_P_BPQ                            = 0x8ff\n\tETH_P_CAIF                           = 0xf7\n\tETH_P_CAN                            = 0xc\n\tETH_P_CANFD                          = 0xd\n\tETH_P_CONTROL                        = 0x16\n\tETH_P_CUST                           = 0x6006\n\tETH_P_DDCMP                          = 0x6\n\tETH_P_DEC                            = 0x6000\n\tETH_P_DIAG                           = 0x6005\n\tETH_P_DNA_DL                         = 0x6001\n\tETH_P_DNA_RC                         = 0x6002\n\tETH_P_DNA_RT                         = 0x6003\n\tETH_P_DSA                            = 0x1b\n\tETH_P_ECONET                         = 0x18\n\tETH_P_EDSA                           = 0xdada\n\tETH_P_ERSPAN                         = 0x88be\n\tETH_P_ERSPAN2                        = 0x22eb\n\tETH_P_FCOE                           = 0x8906\n\tETH_P_FIP                            = 0x8914\n\tETH_P_HDLC                           = 0x19\n\tETH_P_HSR                            = 0x892f\n\tETH_P_IBOE                           = 0x8915\n\tETH_P_IEEE802154                     = 0xf6\n\tETH_P_IEEEPUP                        = 0xa00\n\tETH_P_IEEEPUPAT                      = 0xa01\n\tETH_P_IFE                            = 0xed3e\n\tETH_P_IP                             = 0x800\n\tETH_P_IPV6                           = 0x86dd\n\tETH_P_IPX                            = 0x8137\n\tETH_P_IRDA                           = 0x17\n\tETH_P_LAT                            = 0x6004\n\tETH_P_LINK_CTL                       = 0x886c\n\tETH_P_LOCALTALK                      = 0x9\n\tETH_P_LOOP                           = 0x60\n\tETH_P_LOOPBACK                       = 0x9000\n\tETH_P_MACSEC                         = 0x88e5\n\tETH_P_MAP                            = 0xf9\n\tETH_P_MOBITEX                        = 0x15\n\tETH_P_MPLS_MC                        = 0x8848\n\tETH_P_MPLS_UC                        = 0x8847\n\tETH_P_MVRP                           = 0x88f5\n\tETH_P_NCSI                           = 0x88f8\n\tETH_P_NSH                            = 0x894f\n\tETH_P_PAE                            = 0x888e\n\tETH_P_PAUSE                          = 0x8808\n\tETH_P_PHONET                         = 0xf5\n\tETH_P_PPPTALK                        = 0x10\n\tETH_P_PPP_DISC                       = 0x8863\n\tETH_P_PPP_MP                         = 0x8\n\tETH_P_PPP_SES                        = 0x8864\n\tETH_P_PREAUTH                        = 0x88c7\n\tETH_P_PRP                            = 0x88fb\n\tETH_P_PUP                            = 0x200\n\tETH_P_PUPAT                          = 0x201\n\tETH_P_QINQ1                          = 0x9100\n\tETH_P_QINQ2                          = 0x9200\n\tETH_P_QINQ3                          = 0x9300\n\tETH_P_RARP                           = 0x8035\n\tETH_P_SCA                            = 0x6007\n\tETH_P_SLOW                           = 0x8809\n\tETH_P_SNAP                           = 0x5\n\tETH_P_TDLS                           = 0x890d\n\tETH_P_TEB                            = 0x6558\n\tETH_P_TIPC                           = 0x88ca\n\tETH_P_TRAILER                        = 0x1c\n\tETH_P_TR_802_2                       = 0x11\n\tETH_P_TSN                            = 0x22f0\n\tETH_P_WAN_PPP                        = 0x7\n\tETH_P_WCCP                           = 0x883e\n\tETH_P_X25                            = 0x805\n\tETH_P_XDSA                           = 0xf8\n\tEXABYTE_ENABLE_NEST                  = 0xf0\n\tEXT2_SUPER_MAGIC                     = 0xef53\n\tEXT3_SUPER_MAGIC                     = 0xef53\n\tEXT4_SUPER_MAGIC                     = 0xef53\n\tEXTA                                 = 0xe\n\tEXTB                                 = 0xf\n\tEXTPROC                              = 0x10000000\n\tF2FS_SUPER_MAGIC                     = 0xf2f52010\n\tFALLOC_FL_COLLAPSE_RANGE             = 0x8\n\tFALLOC_FL_INSERT_RANGE               = 0x20\n\tFALLOC_FL_KEEP_SIZE                  = 0x1\n\tFALLOC_FL_NO_HIDE_STALE              = 0x4\n\tFALLOC_FL_PUNCH_HOLE                 = 0x2\n\tFALLOC_FL_UNSHARE_RANGE              = 0x40\n\tFALLOC_FL_ZERO_RANGE                 = 0x10\n\tFD_CLOEXEC                           = 0x1\n\tFD_SETSIZE                           = 0x400\n\tFF0                                  = 0x0\n\tFF1                                  = 0x4000\n\tFFDLY                                = 0x4000\n\tFLUSHO                               = 0x800000\n\tFS_ENCRYPTION_MODE_AES_128_CBC       = 0x5\n\tFS_ENCRYPTION_MODE_AES_128_CTS       = 0x6\n\tFS_ENCRYPTION_MODE_AES_256_CBC       = 0x3\n\tFS_ENCRYPTION_MODE_AES_256_CTS       = 0x4\n\tFS_ENCRYPTION_MODE_AES_256_GCM       = 0x2\n\tFS_ENCRYPTION_MODE_AES_256_XTS       = 0x1\n\tFS_ENCRYPTION_MODE_INVALID           = 0x0\n\tFS_ENCRYPTION_MODE_SPECK128_256_CTS  = 0x8\n\tFS_ENCRYPTION_MODE_SPECK128_256_XTS  = 0x7\n\tFS_IOC_GET_ENCRYPTION_POLICY         = 0x800c6615\n\tFS_IOC_GET_ENCRYPTION_PWSALT         = 0x80106614\n\tFS_IOC_SET_ENCRYPTION_POLICY         = 0x400c6613\n\tFS_KEY_DESCRIPTOR_SIZE               = 0x8\n\tFS_KEY_DESC_PREFIX                   = \"fscrypt:\"\n\tFS_KEY_DESC_PREFIX_SIZE              = 0x8\n\tFS_MAX_KEY_SIZE                      = 0x40\n\tFS_POLICY_FLAGS_PAD_16               = 0x2\n\tFS_POLICY_FLAGS_PAD_32               = 0x3\n\tFS_POLICY_FLAGS_PAD_4                = 0x0\n\tFS_POLICY_FLAGS_PAD_8                = 0x1\n\tFS_POLICY_FLAGS_PAD_MASK             = 0x3\n\tFS_POLICY_FLAGS_VALID                = 0x3\n\tFUTEXFS_SUPER_MAGIC                  = 0xbad1dea\n\tF_ADD_SEALS                          = 0x409\n\tF_DUPFD                              = 0x0\n\tF_DUPFD_CLOEXEC                      = 0x406\n\tF_EXLCK                              = 0x4\n\tF_GETFD                              = 0x1\n\tF_GETFL                              = 0x3\n\tF_GETLEASE                           = 0x401\n\tF_GETLK                              = 0x5\n\tF_GETLK64                            = 0xc\n\tF_GETOWN                             = 0x9\n\tF_GETOWN_EX                          = 0x10\n\tF_GETPIPE_SZ                         = 0x408\n\tF_GETSIG                             = 0xb\n\tF_GET_FILE_RW_HINT                   = 0x40d\n\tF_GET_RW_HINT                        = 0x40b\n\tF_GET_SEALS                          = 0x40a\n\tF_LOCK                               = 0x1\n\tF_NOTIFY                             = 0x402\n\tF_OFD_GETLK                          = 0x24\n\tF_OFD_SETLK                          = 0x25\n\tF_OFD_SETLKW                         = 0x26\n\tF_OK                                 = 0x0\n\tF_RDLCK                              = 0x0\n\tF_SEAL_GROW                          = 0x4\n\tF_SEAL_SEAL                          = 0x1\n\tF_SEAL_SHRINK                        = 0x2\n\tF_SEAL_WRITE                         = 0x8\n\tF_SETFD                              = 0x2\n\tF_SETFL                              = 0x4\n\tF_SETLEASE                           = 0x400\n\tF_SETLK                              = 0x6\n\tF_SETLK64                            = 0xd\n\tF_SETLKW                             = 0x7\n\tF_SETLKW64                           = 0xe\n\tF_SETOWN                             = 0x8\n\tF_SETOWN_EX                          = 0xf\n\tF_SETPIPE_SZ                         = 0x407\n\tF_SETSIG                             = 0xa\n\tF_SET_FILE_RW_HINT                   = 0x40e\n\tF_SET_RW_HINT                        = 0x40c\n\tF_SHLCK                              = 0x8\n\tF_TEST                               = 0x3\n\tF_TLOCK                              = 0x2\n\tF_ULOCK                              = 0x0\n\tF_UNLCK                              = 0x2\n\tF_WRLCK                              = 0x1\n\tGENL_ADMIN_PERM                      = 0x1\n\tGENL_CMD_CAP_DO                      = 0x2\n\tGENL_CMD_CAP_DUMP                    = 0x4\n\tGENL_CMD_CAP_HASPOL                  = 0x8\n\tGENL_HDRLEN                          = 0x4\n\tGENL_ID_CTRL                         = 0x10\n\tGENL_ID_PMCRAID                      = 0x12\n\tGENL_ID_VFS_DQUOT                    = 0x11\n\tGENL_MAX_ID                          = 0x3ff\n\tGENL_MIN_ID                          = 0x10\n\tGENL_NAMSIZ                          = 0x10\n\tGENL_START_ALLOC                     = 0x13\n\tGENL_UNS_ADMIN_PERM                  = 0x10\n\tGRND_NONBLOCK                        = 0x1\n\tGRND_RANDOM                          = 0x2\n\tHDIO_DRIVE_CMD                       = 0x31f\n\tHDIO_DRIVE_CMD_AEB                   = 0x31e\n\tHDIO_DRIVE_CMD_HDR_SIZE              = 0x4\n\tHDIO_DRIVE_HOB_HDR_SIZE              = 0x8\n\tHDIO_DRIVE_RESET                     = 0x31c\n\tHDIO_DRIVE_TASK                      = 0x31e\n\tHDIO_DRIVE_TASKFILE                  = 0x31d\n\tHDIO_DRIVE_TASK_HDR_SIZE             = 0x8\n\tHDIO_GETGEO                          = 0x301\n\tHDIO_GET_32BIT                       = 0x309\n\tHDIO_GET_ACOUSTIC                    = 0x30f\n\tHDIO_GET_ADDRESS                     = 0x310\n\tHDIO_GET_BUSSTATE                    = 0x31a\n\tHDIO_GET_DMA                         = 0x30b\n\tHDIO_GET_IDENTITY                    = 0x30d\n\tHDIO_GET_KEEPSETTINGS                = 0x308\n\tHDIO_GET_MULTCOUNT                   = 0x304\n\tHDIO_GET_NICE                        = 0x30c\n\tHDIO_GET_NOWERR                      = 0x30a\n\tHDIO_GET_QDMA                        = 0x305\n\tHDIO_GET_UNMASKINTR                  = 0x302\n\tHDIO_GET_WCACHE                      = 0x30e\n\tHDIO_OBSOLETE_IDENTITY               = 0x307\n\tHDIO_SCAN_HWIF                       = 0x328\n\tHDIO_SET_32BIT                       = 0x324\n\tHDIO_SET_ACOUSTIC                    = 0x32c\n\tHDIO_SET_ADDRESS                     = 0x32f\n\tHDIO_SET_BUSSTATE                    = 0x32d\n\tHDIO_SET_DMA                         = 0x326\n\tHDIO_SET_KEEPSETTINGS                = 0x323\n\tHDIO_SET_MULTCOUNT                   = 0x321\n\tHDIO_SET_NICE                        = 0x329\n\tHDIO_SET_NOWERR                      = 0x325\n\tHDIO_SET_PIO_MODE                    = 0x327\n\tHDIO_SET_QDMA                        = 0x32e\n\tHDIO_SET_UNMASKINTR                  = 0x322\n\tHDIO_SET_WCACHE                      = 0x32b\n\tHDIO_SET_XFER                        = 0x306\n\tHDIO_TRISTATE_HWIF                   = 0x31b\n\tHDIO_UNREGISTER_HWIF                 = 0x32a\n\tHOSTFS_SUPER_MAGIC                   = 0xc0ffee\n\tHPFS_SUPER_MAGIC                     = 0xf995e849\n\tHUGETLBFS_MAGIC                      = 0x958458f6\n\tHUPCL                                = 0x4000\n\tIBSHIFT                              = 0x10\n\tICANON                               = 0x100\n\tICMPV6_FILTER                        = 0x1\n\tICRNL                                = 0x100\n\tIEXTEN                               = 0x400\n\tIFA_F_DADFAILED                      = 0x8\n\tIFA_F_DEPRECATED                     = 0x20\n\tIFA_F_HOMEADDRESS                    = 0x10\n\tIFA_F_MANAGETEMPADDR                 = 0x100\n\tIFA_F_MCAUTOJOIN                     = 0x400\n\tIFA_F_NODAD                          = 0x2\n\tIFA_F_NOPREFIXROUTE                  = 0x200\n\tIFA_F_OPTIMISTIC                     = 0x4\n\tIFA_F_PERMANENT                      = 0x80\n\tIFA_F_SECONDARY                      = 0x1\n\tIFA_F_STABLE_PRIVACY                 = 0x800\n\tIFA_F_TEMPORARY                      = 0x1\n\tIFA_F_TENTATIVE                      = 0x40\n\tIFA_MAX                              = 0x9\n\tIFF_ALLMULTI                         = 0x200\n\tIFF_ATTACH_QUEUE                     = 0x200\n\tIFF_AUTOMEDIA                        = 0x4000\n\tIFF_BROADCAST                        = 0x2\n\tIFF_DEBUG                            = 0x4\n\tIFF_DETACH_QUEUE                     = 0x400\n\tIFF_DORMANT                          = 0x20000\n\tIFF_DYNAMIC                          = 0x8000\n\tIFF_ECHO                             = 0x40000\n\tIFF_LOOPBACK                         = 0x8\n\tIFF_LOWER_UP                         = 0x10000\n\tIFF_MASTER                           = 0x400\n\tIFF_MULTICAST                        = 0x1000\n\tIFF_MULTI_QUEUE                      = 0x100\n\tIFF_NAPI                             = 0x10\n\tIFF_NAPI_FRAGS                       = 0x20\n\tIFF_NOARP                            = 0x80\n\tIFF_NOFILTER                         = 0x1000\n\tIFF_NOTRAILERS                       = 0x20\n\tIFF_NO_PI                            = 0x1000\n\tIFF_ONE_QUEUE                        = 0x2000\n\tIFF_PERSIST                          = 0x800\n\tIFF_POINTOPOINT                      = 0x10\n\tIFF_PORTSEL                          = 0x2000\n\tIFF_PROMISC                          = 0x100\n\tIFF_RUNNING                          = 0x40\n\tIFF_SLAVE                            = 0x800\n\tIFF_TAP                              = 0x2\n\tIFF_TUN                              = 0x1\n\tIFF_TUN_EXCL                         = 0x8000\n\tIFF_UP                               = 0x1\n\tIFF_VNET_HDR                         = 0x4000\n\tIFF_VOLATILE                         = 0x70c5a\n\tIFNAMSIZ                             = 0x10\n\tIGNBRK                               = 0x1\n\tIGNCR                                = 0x80\n\tIGNPAR                               = 0x4\n\tIMAXBEL                              = 0x2000\n\tINLCR                                = 0x40\n\tINPCK                                = 0x10\n\tIN_ACCESS                            = 0x1\n\tIN_ALL_EVENTS                        = 0xfff\n\tIN_ATTRIB                            = 0x4\n\tIN_CLASSA_HOST                       = 0xffffff\n\tIN_CLASSA_MAX                        = 0x80\n\tIN_CLASSA_NET                        = 0xff000000\n\tIN_CLASSA_NSHIFT                     = 0x18\n\tIN_CLASSB_HOST                       = 0xffff\n\tIN_CLASSB_MAX                        = 0x10000\n\tIN_CLASSB_NET                        = 0xffff0000\n\tIN_CLASSB_NSHIFT                     = 0x10\n\tIN_CLASSC_HOST                       = 0xff\n\tIN_CLASSC_NET                        = 0xffffff00\n\tIN_CLASSC_NSHIFT                     = 0x8\n\tIN_CLOEXEC                           = 0x80000\n\tIN_CLOSE                             = 0x18\n\tIN_CLOSE_NOWRITE                     = 0x10\n\tIN_CLOSE_WRITE                       = 0x8\n\tIN_CREATE                            = 0x100\n\tIN_DELETE                            = 0x200\n\tIN_DELETE_SELF                       = 0x400\n\tIN_DONT_FOLLOW                       = 0x2000000\n\tIN_EXCL_UNLINK                       = 0x4000000\n\tIN_IGNORED                           = 0x8000\n\tIN_ISDIR                             = 0x40000000\n\tIN_LOOPBACKNET                       = 0x7f\n\tIN_MASK_ADD                          = 0x20000000\n\tIN_MODIFY                            = 0x2\n\tIN_MOVE                              = 0xc0\n\tIN_MOVED_FROM                        = 0x40\n\tIN_MOVED_TO                          = 0x80\n\tIN_MOVE_SELF                         = 0x800\n\tIN_NONBLOCK                          = 0x800\n\tIN_ONESHOT                           = 0x80000000\n\tIN_ONLYDIR                           = 0x1000000\n\tIN_OPEN                              = 0x20\n\tIN_Q_OVERFLOW                        = 0x4000\n\tIN_UNMOUNT                           = 0x2000\n\tIOCTL_VM_SOCKETS_GET_LOCAL_CID       = 0x200007b9\n\tIPPROTO_AH                           = 0x33\n\tIPPROTO_BEETPH                       = 0x5e\n\tIPPROTO_COMP                         = 0x6c\n\tIPPROTO_DCCP                         = 0x21\n\tIPPROTO_DSTOPTS                      = 0x3c\n\tIPPROTO_EGP                          = 0x8\n\tIPPROTO_ENCAP                        = 0x62\n\tIPPROTO_ESP                          = 0x32\n\tIPPROTO_FRAGMENT                     = 0x2c\n\tIPPROTO_GRE                          = 0x2f\n\tIPPROTO_HOPOPTS                      = 0x0\n\tIPPROTO_ICMP                         = 0x1\n\tIPPROTO_ICMPV6                       = 0x3a\n\tIPPROTO_IDP                          = 0x16\n\tIPPROTO_IGMP                         = 0x2\n\tIPPROTO_IP                           = 0x0\n\tIPPROTO_IPIP                         = 0x4\n\tIPPROTO_IPV6                         = 0x29\n\tIPPROTO_MH                           = 0x87\n\tIPPROTO_MPLS                         = 0x89\n\tIPPROTO_MTP                          = 0x5c\n\tIPPROTO_NONE                         = 0x3b\n\tIPPROTO_PIM                          = 0x67\n\tIPPROTO_PUP                          = 0xc\n\tIPPROTO_RAW                          = 0xff\n\tIPPROTO_ROUTING                      = 0x2b\n\tIPPROTO_RSVP                         = 0x2e\n\tIPPROTO_SCTP                         = 0x84\n\tIPPROTO_TCP                          = 0x6\n\tIPPROTO_TP                           = 0x1d\n\tIPPROTO_UDP                          = 0x11\n\tIPPROTO_UDPLITE                      = 0x88\n\tIPV6_2292DSTOPTS                     = 0x4\n\tIPV6_2292HOPLIMIT                    = 0x8\n\tIPV6_2292HOPOPTS                     = 0x3\n\tIPV6_2292PKTINFO                     = 0x2\n\tIPV6_2292PKTOPTIONS                  = 0x6\n\tIPV6_2292RTHDR                       = 0x5\n\tIPV6_ADDRFORM                        = 0x1\n\tIPV6_ADDR_PREFERENCES                = 0x48\n\tIPV6_ADD_MEMBERSHIP                  = 0x14\n\tIPV6_AUTHHDR                         = 0xa\n\tIPV6_AUTOFLOWLABEL                   = 0x46\n\tIPV6_CHECKSUM                        = 0x7\n\tIPV6_DONTFRAG                        = 0x3e\n\tIPV6_DROP_MEMBERSHIP                 = 0x15\n\tIPV6_DSTOPTS                         = 0x3b\n\tIPV6_FREEBIND                        = 0x4e\n\tIPV6_HDRINCL                         = 0x24\n\tIPV6_HOPLIMIT                        = 0x34\n\tIPV6_HOPOPTS                         = 0x36\n\tIPV6_IPSEC_POLICY                    = 0x22\n\tIPV6_JOIN_ANYCAST                    = 0x1b\n\tIPV6_JOIN_GROUP                      = 0x14\n\tIPV6_LEAVE_ANYCAST                   = 0x1c\n\tIPV6_LEAVE_GROUP                     = 0x15\n\tIPV6_MINHOPCOUNT                     = 0x49\n\tIPV6_MTU                             = 0x18\n\tIPV6_MTU_DISCOVER                    = 0x17\n\tIPV6_MULTICAST_HOPS                  = 0x12\n\tIPV6_MULTICAST_IF                    = 0x11\n\tIPV6_MULTICAST_LOOP                  = 0x13\n\tIPV6_NEXTHOP                         = 0x9\n\tIPV6_ORIGDSTADDR                     = 0x4a\n\tIPV6_PATHMTU                         = 0x3d\n\tIPV6_PKTINFO                         = 0x32\n\tIPV6_PMTUDISC_DO                     = 0x2\n\tIPV6_PMTUDISC_DONT                   = 0x0\n\tIPV6_PMTUDISC_INTERFACE              = 0x4\n\tIPV6_PMTUDISC_OMIT                   = 0x5\n\tIPV6_PMTUDISC_PROBE                  = 0x3\n\tIPV6_PMTUDISC_WANT                   = 0x1\n\tIPV6_RECVDSTOPTS                     = 0x3a\n\tIPV6_RECVERR                         = 0x19\n\tIPV6_RECVFRAGSIZE                    = 0x4d\n\tIPV6_RECVHOPLIMIT                    = 0x33\n\tIPV6_RECVHOPOPTS                     = 0x35\n\tIPV6_RECVORIGDSTADDR                 = 0x4a\n\tIPV6_RECVPATHMTU                     = 0x3c\n\tIPV6_RECVPKTINFO                     = 0x31\n\tIPV6_RECVRTHDR                       = 0x38\n\tIPV6_RECVTCLASS                      = 0x42\n\tIPV6_ROUTER_ALERT                    = 0x16\n\tIPV6_RTHDR                           = 0x39\n\tIPV6_RTHDRDSTOPTS                    = 0x37\n\tIPV6_RTHDR_LOOSE                     = 0x0\n\tIPV6_RTHDR_STRICT                    = 0x1\n\tIPV6_RTHDR_TYPE_0                    = 0x0\n\tIPV6_RXDSTOPTS                       = 0x3b\n\tIPV6_RXHOPOPTS                       = 0x36\n\tIPV6_TCLASS                          = 0x43\n\tIPV6_TRANSPARENT                     = 0x4b\n\tIPV6_UNICAST_HOPS                    = 0x10\n\tIPV6_UNICAST_IF                      = 0x4c\n\tIPV6_V6ONLY                          = 0x1a\n\tIPV6_XFRM_POLICY                     = 0x23\n\tIP_ADD_MEMBERSHIP                    = 0x23\n\tIP_ADD_SOURCE_MEMBERSHIP             = 0x27\n\tIP_BIND_ADDRESS_NO_PORT              = 0x18\n\tIP_BLOCK_SOURCE                      = 0x26\n\tIP_CHECKSUM                          = 0x17\n\tIP_DEFAULT_MULTICAST_LOOP            = 0x1\n\tIP_DEFAULT_MULTICAST_TTL             = 0x1\n\tIP_DF                                = 0x4000\n\tIP_DROP_MEMBERSHIP                   = 0x24\n\tIP_DROP_SOURCE_MEMBERSHIP            = 0x28\n\tIP_FREEBIND                          = 0xf\n\tIP_HDRINCL                           = 0x3\n\tIP_IPSEC_POLICY                      = 0x10\n\tIP_MAXPACKET                         = 0xffff\n\tIP_MAX_MEMBERSHIPS                   = 0x14\n\tIP_MF                                = 0x2000\n\tIP_MINTTL                            = 0x15\n\tIP_MSFILTER                          = 0x29\n\tIP_MSS                               = 0x240\n\tIP_MTU                               = 0xe\n\tIP_MTU_DISCOVER                      = 0xa\n\tIP_MULTICAST_ALL                     = 0x31\n\tIP_MULTICAST_IF                      = 0x20\n\tIP_MULTICAST_LOOP                    = 0x22\n\tIP_MULTICAST_TTL                     = 0x21\n\tIP_NODEFRAG                          = 0x16\n\tIP_OFFMASK                           = 0x1fff\n\tIP_OPTIONS                           = 0x4\n\tIP_ORIGDSTADDR                       = 0x14\n\tIP_PASSSEC                           = 0x12\n\tIP_PKTINFO                           = 0x8\n\tIP_PKTOPTIONS                        = 0x9\n\tIP_PMTUDISC                          = 0xa\n\tIP_PMTUDISC_DO                       = 0x2\n\tIP_PMTUDISC_DONT                     = 0x0\n\tIP_PMTUDISC_INTERFACE                = 0x4\n\tIP_PMTUDISC_OMIT                     = 0x5\n\tIP_PMTUDISC_PROBE                    = 0x3\n\tIP_PMTUDISC_WANT                     = 0x1\n\tIP_RECVERR                           = 0xb\n\tIP_RECVFRAGSIZE                      = 0x19\n\tIP_RECVOPTS                          = 0x6\n\tIP_RECVORIGDSTADDR                   = 0x14\n\tIP_RECVRETOPTS                       = 0x7\n\tIP_RECVTOS                           = 0xd\n\tIP_RECVTTL                           = 0xc\n\tIP_RETOPTS                           = 0x7\n\tIP_RF                                = 0x8000\n\tIP_ROUTER_ALERT                      = 0x5\n\tIP_TOS                               = 0x1\n\tIP_TRANSPARENT                       = 0x13\n\tIP_TTL                               = 0x2\n\tIP_UNBLOCK_SOURCE                    = 0x25\n\tIP_UNICAST_IF                        = 0x32\n\tIP_XFRM_POLICY                       = 0x11\n\tISIG                                 = 0x80\n\tISOFS_SUPER_MAGIC                    = 0x9660\n\tISTRIP                               = 0x20\n\tIUCLC                                = 0x1000\n\tIUTF8                                = 0x4000\n\tIXANY                                = 0x800\n\tIXOFF                                = 0x400\n\tIXON                                 = 0x200\n\tJFFS2_SUPER_MAGIC                    = 0x72b6\n\tKEYCTL_ASSUME_AUTHORITY              = 0x10\n\tKEYCTL_CHOWN                         = 0x4\n\tKEYCTL_CLEAR                         = 0x7\n\tKEYCTL_DESCRIBE                      = 0x6\n\tKEYCTL_DH_COMPUTE                    = 0x17\n\tKEYCTL_GET_KEYRING_ID                = 0x0\n\tKEYCTL_GET_PERSISTENT                = 0x16\n\tKEYCTL_GET_SECURITY                  = 0x11\n\tKEYCTL_INSTANTIATE                   = 0xc\n\tKEYCTL_INSTANTIATE_IOV               = 0x14\n\tKEYCTL_INVALIDATE                    = 0x15\n\tKEYCTL_JOIN_SESSION_KEYRING          = 0x1\n\tKEYCTL_LINK                          = 0x8\n\tKEYCTL_NEGATE                        = 0xd\n\tKEYCTL_READ                          = 0xb\n\tKEYCTL_REJECT                        = 0x13\n\tKEYCTL_RESTRICT_KEYRING              = 0x1d\n\tKEYCTL_REVOKE                        = 0x3\n\tKEYCTL_SEARCH                        = 0xa\n\tKEYCTL_SESSION_TO_PARENT             = 0x12\n\tKEYCTL_SETPERM                       = 0x5\n\tKEYCTL_SET_REQKEY_KEYRING            = 0xe\n\tKEYCTL_SET_TIMEOUT                   = 0xf\n\tKEYCTL_UNLINK                        = 0x9\n\tKEYCTL_UPDATE                        = 0x2\n\tKEY_REQKEY_DEFL_DEFAULT              = 0x0\n\tKEY_REQKEY_DEFL_GROUP_KEYRING        = 0x6\n\tKEY_REQKEY_DEFL_NO_CHANGE            = -0x1\n\tKEY_REQKEY_DEFL_PROCESS_KEYRING      = 0x2\n\tKEY_REQKEY_DEFL_REQUESTOR_KEYRING    = 0x7\n\tKEY_REQKEY_DEFL_SESSION_KEYRING      = 0x3\n\tKEY_REQKEY_DEFL_THREAD_KEYRING       = 0x1\n\tKEY_REQKEY_DEFL_USER_KEYRING         = 0x4\n\tKEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5\n\tKEY_SPEC_GROUP_KEYRING               = -0x6\n\tKEY_SPEC_PROCESS_KEYRING             = -0x2\n\tKEY_SPEC_REQKEY_AUTH_KEY             = -0x7\n\tKEY_SPEC_REQUESTOR_KEYRING           = -0x8\n\tKEY_SPEC_SESSION_KEYRING             = -0x3\n\tKEY_SPEC_THREAD_KEYRING              = -0x1\n\tKEY_SPEC_USER_KEYRING                = -0x4\n\tKEY_SPEC_USER_SESSION_KEYRING        = -0x5\n\tLINUX_REBOOT_CMD_CAD_OFF             = 0x0\n\tLINUX_REBOOT_CMD_CAD_ON              = 0x89abcdef\n\tLINUX_REBOOT_CMD_HALT                = 0xcdef0123\n\tLINUX_REBOOT_CMD_KEXEC               = 0x45584543\n\tLINUX_REBOOT_CMD_POWER_OFF           = 0x4321fedc\n\tLINUX_REBOOT_CMD_RESTART             = 0x1234567\n\tLINUX_REBOOT_CMD_RESTART2            = 0xa1b2c3d4\n\tLINUX_REBOOT_CMD_SW_SUSPEND          = 0xd000fce2\n\tLINUX_REBOOT_MAGIC1                  = 0xfee1dead\n\tLINUX_REBOOT_MAGIC2                  = 0x28121969\n\tLOCK_EX                              = 0x2\n\tLOCK_NB                              = 0x4\n\tLOCK_SH                              = 0x1\n\tLOCK_UN                              = 0x8\n\tMADV_DODUMP                          = 0x11\n\tMADV_DOFORK                          = 0xb\n\tMADV_DONTDUMP                        = 0x10\n\tMADV_DONTFORK                        = 0xa\n\tMADV_DONTNEED                        = 0x4\n\tMADV_FREE                            = 0x8\n\tMADV_HUGEPAGE                        = 0xe\n\tMADV_HWPOISON                        = 0x64\n\tMADV_KEEPONFORK                      = 0x13\n\tMADV_MERGEABLE                       = 0xc\n\tMADV_NOHUGEPAGE                      = 0xf\n\tMADV_NORMAL                          = 0x0\n\tMADV_RANDOM                          = 0x1\n\tMADV_REMOVE                          = 0x9\n\tMADV_SEQUENTIAL                      = 0x2\n\tMADV_UNMERGEABLE                     = 0xd\n\tMADV_WILLNEED                        = 0x3\n\tMADV_WIPEONFORK                      = 0x12\n\tMAP_ANON                             = 0x20\n\tMAP_ANONYMOUS                        = 0x20\n\tMAP_DENYWRITE                        = 0x800\n\tMAP_EXECUTABLE                       = 0x1000\n\tMAP_FILE                             = 0x0\n\tMAP_FIXED                            = 0x10\n\tMAP_FIXED_NOREPLACE                  = 0x100000\n\tMAP_GROWSDOWN                        = 0x100\n\tMAP_HUGETLB                          = 0x40000\n\tMAP_HUGE_MASK                        = 0x3f\n\tMAP_HUGE_SHIFT                       = 0x1a\n\tMAP_LOCKED                           = 0x80\n\tMAP_NONBLOCK                         = 0x10000\n\tMAP_NORESERVE                        = 0x40\n\tMAP_POPULATE                         = 0x8000\n\tMAP_PRIVATE                          = 0x2\n\tMAP_SHARED                           = 0x1\n\tMAP_SHARED_VALIDATE                  = 0x3\n\tMAP_STACK                            = 0x20000\n\tMAP_TYPE                             = 0xf\n\tMCL_CURRENT                          = 0x2000\n\tMCL_FUTURE                           = 0x4000\n\tMCL_ONFAULT                          = 0x8000\n\tMINIX2_SUPER_MAGIC                   = 0x2468\n\tMINIX2_SUPER_MAGIC2                  = 0x2478\n\tMINIX3_SUPER_MAGIC                   = 0x4d5a\n\tMINIX_SUPER_MAGIC                    = 0x137f\n\tMINIX_SUPER_MAGIC2                   = 0x138f\n\tMNT_DETACH                           = 0x2\n\tMNT_EXPIRE                           = 0x4\n\tMNT_FORCE                            = 0x1\n\tMSDOS_SUPER_MAGIC                    = 0x4d44\n\tMSG_BATCH                            = 0x40000\n\tMSG_CMSG_CLOEXEC                     = 0x40000000\n\tMSG_CONFIRM                          = 0x800\n\tMSG_CTRUNC                           = 0x8\n\tMSG_DONTROUTE                        = 0x4\n\tMSG_DONTWAIT                         = 0x40\n\tMSG_EOR                              = 0x80\n\tMSG_ERRQUEUE                         = 0x2000\n\tMSG_FASTOPEN                         = 0x20000000\n\tMSG_FIN                              = 0x200\n\tMSG_MORE                             = 0x8000\n\tMSG_NOSIGNAL                         = 0x4000\n\tMSG_OOB                              = 0x1\n\tMSG_PEEK                             = 0x2\n\tMSG_PROXY                            = 0x10\n\tMSG_RST                              = 0x1000\n\tMSG_SYN                              = 0x400\n\tMSG_TRUNC                            = 0x20\n\tMSG_TRYHARD                          = 0x4\n\tMSG_WAITALL                          = 0x100\n\tMSG_WAITFORONE                       = 0x10000\n\tMSG_ZEROCOPY                         = 0x4000000\n\tMS_ACTIVE                            = 0x40000000\n\tMS_ASYNC                             = 0x1\n\tMS_BIND                              = 0x1000\n\tMS_BORN                              = 0x20000000\n\tMS_DIRSYNC                           = 0x80\n\tMS_INVALIDATE                        = 0x2\n\tMS_I_VERSION                         = 0x800000\n\tMS_KERNMOUNT                         = 0x400000\n\tMS_LAZYTIME                          = 0x2000000\n\tMS_MANDLOCK                          = 0x40\n\tMS_MGC_MSK                           = 0xffff0000\n\tMS_MGC_VAL                           = 0xc0ed0000\n\tMS_MOVE                              = 0x2000\n\tMS_NOATIME                           = 0x400\n\tMS_NODEV                             = 0x4\n\tMS_NODIRATIME                        = 0x800\n\tMS_NOEXEC                            = 0x8\n\tMS_NOREMOTELOCK                      = 0x8000000\n\tMS_NOSEC                             = 0x10000000\n\tMS_NOSUID                            = 0x2\n\tMS_NOUSER                            = -0x80000000\n\tMS_POSIXACL                          = 0x10000\n\tMS_PRIVATE                           = 0x40000\n\tMS_RDONLY                            = 0x1\n\tMS_REC                               = 0x4000\n\tMS_RELATIME                          = 0x200000\n\tMS_REMOUNT                           = 0x20\n\tMS_RMT_MASK                          = 0x2800051\n\tMS_SHARED                            = 0x100000\n\tMS_SILENT                            = 0x8000\n\tMS_SLAVE                             = 0x80000\n\tMS_STRICTATIME                       = 0x1000000\n\tMS_SUBMOUNT                          = 0x4000000\n\tMS_SYNC                              = 0x4\n\tMS_SYNCHRONOUS                       = 0x10\n\tMS_UNBINDABLE                        = 0x20000\n\tMS_VERBOSE                           = 0x8000\n\tMTD_INODE_FS_MAGIC                   = 0x11307854\n\tNAME_MAX                             = 0xff\n\tNCP_SUPER_MAGIC                      = 0x564c\n\tNETLINK_ADD_MEMBERSHIP               = 0x1\n\tNETLINK_AUDIT                        = 0x9\n\tNETLINK_BROADCAST_ERROR              = 0x4\n\tNETLINK_CAP_ACK                      = 0xa\n\tNETLINK_CONNECTOR                    = 0xb\n\tNETLINK_CRYPTO                       = 0x15\n\tNETLINK_DNRTMSG                      = 0xe\n\tNETLINK_DROP_MEMBERSHIP              = 0x2\n\tNETLINK_ECRYPTFS                     = 0x13\n\tNETLINK_EXT_ACK                      = 0xb\n\tNETLINK_FIB_LOOKUP                   = 0xa\n\tNETLINK_FIREWALL                     = 0x3\n\tNETLINK_GENERIC                      = 0x10\n\tNETLINK_INET_DIAG                    = 0x4\n\tNETLINK_IP6_FW                       = 0xd\n\tNETLINK_ISCSI                        = 0x8\n\tNETLINK_KOBJECT_UEVENT               = 0xf\n\tNETLINK_LISTEN_ALL_NSID              = 0x8\n\tNETLINK_LIST_MEMBERSHIPS             = 0x9\n\tNETLINK_NETFILTER                    = 0xc\n\tNETLINK_NFLOG                        = 0x5\n\tNETLINK_NO_ENOBUFS                   = 0x5\n\tNETLINK_PKTINFO                      = 0x3\n\tNETLINK_RDMA                         = 0x14\n\tNETLINK_ROUTE                        = 0x0\n\tNETLINK_RX_RING                      = 0x6\n\tNETLINK_SCSITRANSPORT                = 0x12\n\tNETLINK_SELINUX                      = 0x7\n\tNETLINK_SMC                          = 0x16\n\tNETLINK_SOCK_DIAG                    = 0x4\n\tNETLINK_TX_RING                      = 0x7\n\tNETLINK_UNUSED                       = 0x1\n\tNETLINK_USERSOCK                     = 0x2\n\tNETLINK_XFRM                         = 0x6\n\tNETNSA_MAX                           = 0x3\n\tNETNSA_NSID_NOT_ASSIGNED             = -0x1\n\tNFNETLINK_V0                         = 0x0\n\tNFNLGRP_ACCT_QUOTA                   = 0x8\n\tNFNLGRP_CONNTRACK_DESTROY            = 0x3\n\tNFNLGRP_CONNTRACK_EXP_DESTROY        = 0x6\n\tNFNLGRP_CONNTRACK_EXP_NEW            = 0x4\n\tNFNLGRP_CONNTRACK_EXP_UPDATE         = 0x5\n\tNFNLGRP_CONNTRACK_NEW                = 0x1\n\tNFNLGRP_CONNTRACK_UPDATE             = 0x2\n\tNFNLGRP_MAX                          = 0x9\n\tNFNLGRP_NFTABLES                     = 0x7\n\tNFNLGRP_NFTRACE                      = 0x9\n\tNFNLGRP_NONE                         = 0x0\n\tNFNL_BATCH_MAX                       = 0x1\n\tNFNL_MSG_BATCH_BEGIN                 = 0x10\n\tNFNL_MSG_BATCH_END                   = 0x11\n\tNFNL_NFA_NEST                        = 0x8000\n\tNFNL_SUBSYS_ACCT                     = 0x7\n\tNFNL_SUBSYS_COUNT                    = 0xc\n\tNFNL_SUBSYS_CTHELPER                 = 0x9\n\tNFNL_SUBSYS_CTNETLINK                = 0x1\n\tNFNL_SUBSYS_CTNETLINK_EXP            = 0x2\n\tNFNL_SUBSYS_CTNETLINK_TIMEOUT        = 0x8\n\tNFNL_SUBSYS_IPSET                    = 0x6\n\tNFNL_SUBSYS_NFTABLES                 = 0xa\n\tNFNL_SUBSYS_NFT_COMPAT               = 0xb\n\tNFNL_SUBSYS_NONE                     = 0x0\n\tNFNL_SUBSYS_OSF                      = 0x5\n\tNFNL_SUBSYS_QUEUE                    = 0x3\n\tNFNL_SUBSYS_ULOG                     = 0x4\n\tNFS_SUPER_MAGIC                      = 0x6969\n\tNILFS_SUPER_MAGIC                    = 0x3434\n\tNL0                                  = 0x0\n\tNL1                                  = 0x100\n\tNL2                                  = 0x200\n\tNL3                                  = 0x300\n\tNLA_ALIGNTO                          = 0x4\n\tNLA_F_NESTED                         = 0x8000\n\tNLA_F_NET_BYTEORDER                  = 0x4000\n\tNLA_HDRLEN                           = 0x4\n\tNLDLY                                = 0x300\n\tNLMSG_ALIGNTO                        = 0x4\n\tNLMSG_DONE                           = 0x3\n\tNLMSG_ERROR                          = 0x2\n\tNLMSG_HDRLEN                         = 0x10\n\tNLMSG_MIN_TYPE                       = 0x10\n\tNLMSG_NOOP                           = 0x1\n\tNLMSG_OVERRUN                        = 0x4\n\tNLM_F_ACK                            = 0x4\n\tNLM_F_ACK_TLVS                       = 0x200\n\tNLM_F_APPEND                         = 0x800\n\tNLM_F_ATOMIC                         = 0x400\n\tNLM_F_CAPPED                         = 0x100\n\tNLM_F_CREATE                         = 0x400\n\tNLM_F_DUMP                           = 0x300\n\tNLM_F_DUMP_FILTERED                  = 0x20\n\tNLM_F_DUMP_INTR                      = 0x10\n\tNLM_F_ECHO                           = 0x8\n\tNLM_F_EXCL                           = 0x200\n\tNLM_F_MATCH                          = 0x200\n\tNLM_F_MULTI                          = 0x2\n\tNLM_F_NONREC                         = 0x100\n\tNLM_F_REPLACE                        = 0x100\n\tNLM_F_REQUEST                        = 0x1\n\tNLM_F_ROOT                           = 0x100\n\tNOFLSH                               = 0x80000000\n\tNSFS_MAGIC                           = 0x6e736673\n\tOCFS2_SUPER_MAGIC                    = 0x7461636f\n\tOCRNL                                = 0x8\n\tOFDEL                                = 0x80\n\tOFILL                                = 0x40\n\tOLCUC                                = 0x4\n\tONLCR                                = 0x2\n\tONLRET                               = 0x20\n\tONOCR                                = 0x10\n\tOPENPROM_SUPER_MAGIC                 = 0x9fa1\n\tOPOST                                = 0x1\n\tOVERLAYFS_SUPER_MAGIC                = 0x794c7630\n\tO_ACCMODE                            = 0x3\n\tO_APPEND                             = 0x400\n\tO_ASYNC                              = 0x2000\n\tO_CLOEXEC                            = 0x80000\n\tO_CREAT                              = 0x40\n\tO_DIRECT                             = 0x20000\n\tO_DIRECTORY                          = 0x4000\n\tO_DSYNC                              = 0x1000\n\tO_EXCL                               = 0x80\n\tO_FSYNC                              = 0x101000\n\tO_LARGEFILE                          = 0x0\n\tO_NDELAY                             = 0x800\n\tO_NOATIME                            = 0x40000\n\tO_NOCTTY                             = 0x100\n\tO_NOFOLLOW                           = 0x8000\n\tO_NONBLOCK                           = 0x800\n\tO_PATH                               = 0x200000\n\tO_RDONLY                             = 0x0\n\tO_RDWR                               = 0x2\n\tO_RSYNC                              = 0x101000\n\tO_SYNC                               = 0x101000\n\tO_TMPFILE                            = 0x404000\n\tO_TRUNC                              = 0x200\n\tO_WRONLY                             = 0x1\n\tPACKET_ADD_MEMBERSHIP                = 0x1\n\tPACKET_AUXDATA                       = 0x8\n\tPACKET_BROADCAST                     = 0x1\n\tPACKET_COPY_THRESH                   = 0x7\n\tPACKET_DROP_MEMBERSHIP               = 0x2\n\tPACKET_FANOUT                        = 0x12\n\tPACKET_FANOUT_CBPF                   = 0x6\n\tPACKET_FANOUT_CPU                    = 0x2\n\tPACKET_FANOUT_DATA                   = 0x16\n\tPACKET_FANOUT_EBPF                   = 0x7\n\tPACKET_FANOUT_FLAG_DEFRAG            = 0x8000\n\tPACKET_FANOUT_FLAG_ROLLOVER          = 0x1000\n\tPACKET_FANOUT_FLAG_UNIQUEID          = 0x2000\n\tPACKET_FANOUT_HASH                   = 0x0\n\tPACKET_FANOUT_LB                     = 0x1\n\tPACKET_FANOUT_QM                     = 0x5\n\tPACKET_FANOUT_RND                    = 0x4\n\tPACKET_FANOUT_ROLLOVER               = 0x3\n\tPACKET_FASTROUTE                     = 0x6\n\tPACKET_HDRLEN                        = 0xb\n\tPACKET_HOST                          = 0x0\n\tPACKET_KERNEL                        = 0x7\n\tPACKET_LOOPBACK                      = 0x5\n\tPACKET_LOSS                          = 0xe\n\tPACKET_MR_ALLMULTI                   = 0x2\n\tPACKET_MR_MULTICAST                  = 0x0\n\tPACKET_MR_PROMISC                    = 0x1\n\tPACKET_MR_UNICAST                    = 0x3\n\tPACKET_MULTICAST                     = 0x2\n\tPACKET_ORIGDEV                       = 0x9\n\tPACKET_OTHERHOST                     = 0x3\n\tPACKET_OUTGOING                      = 0x4\n\tPACKET_QDISC_BYPASS                  = 0x14\n\tPACKET_RECV_OUTPUT                   = 0x3\n\tPACKET_RESERVE                       = 0xc\n\tPACKET_ROLLOVER_STATS                = 0x15\n\tPACKET_RX_RING                       = 0x5\n\tPACKET_STATISTICS                    = 0x6\n\tPACKET_TIMESTAMP                     = 0x11\n\tPACKET_TX_HAS_OFF                    = 0x13\n\tPACKET_TX_RING                       = 0xd\n\tPACKET_TX_TIMESTAMP                  = 0x10\n\tPACKET_USER                          = 0x6\n\tPACKET_VERSION                       = 0xa\n\tPACKET_VNET_HDR                      = 0xf\n\tPARENB                               = 0x1000\n\tPARITY_CRC16_PR0                     = 0x2\n\tPARITY_CRC16_PR0_CCITT               = 0x4\n\tPARITY_CRC16_PR1                     = 0x3\n\tPARITY_CRC16_PR1_CCITT               = 0x5\n\tPARITY_CRC32_PR0_CCITT               = 0x6\n\tPARITY_CRC32_PR1_CCITT               = 0x7\n\tPARITY_DEFAULT                       = 0x0\n\tPARITY_NONE                          = 0x1\n\tPARMRK                               = 0x8\n\tPARODD                               = 0x2000\n\tPENDIN                               = 0x20000000\n\tPERF_EVENT_IOC_DISABLE               = 0x20002401\n\tPERF_EVENT_IOC_ENABLE                = 0x20002400\n\tPERF_EVENT_IOC_ID                    = 0x40082407\n\tPERF_EVENT_IOC_MODIFY_ATTRIBUTES     = 0x8008240b\n\tPERF_EVENT_IOC_PAUSE_OUTPUT          = 0x80042409\n\tPERF_EVENT_IOC_PERIOD                = 0x80082404\n\tPERF_EVENT_IOC_QUERY_BPF             = 0xc008240a\n\tPERF_EVENT_IOC_REFRESH               = 0x20002402\n\tPERF_EVENT_IOC_RESET                 = 0x20002403\n\tPERF_EVENT_IOC_SET_BPF               = 0x80042408\n\tPERF_EVENT_IOC_SET_FILTER            = 0x80082406\n\tPERF_EVENT_IOC_SET_OUTPUT            = 0x20002405\n\tPIPEFS_MAGIC                         = 0x50495045\n\tPRIO_PGRP                            = 0x1\n\tPRIO_PROCESS                         = 0x0\n\tPRIO_USER                            = 0x2\n\tPROC_SUPER_MAGIC                     = 0x9fa0\n\tPROT_EXEC                            = 0x4\n\tPROT_GROWSDOWN                       = 0x1000000\n\tPROT_GROWSUP                         = 0x2000000\n\tPROT_NONE                            = 0x0\n\tPROT_READ                            = 0x1\n\tPROT_SAO                             = 0x10\n\tPROT_WRITE                           = 0x2\n\tPR_CAPBSET_DROP                      = 0x18\n\tPR_CAPBSET_READ                      = 0x17\n\tPR_CAP_AMBIENT                       = 0x2f\n\tPR_CAP_AMBIENT_CLEAR_ALL             = 0x4\n\tPR_CAP_AMBIENT_IS_SET                = 0x1\n\tPR_CAP_AMBIENT_LOWER                 = 0x3\n\tPR_CAP_AMBIENT_RAISE                 = 0x2\n\tPR_ENDIAN_BIG                        = 0x0\n\tPR_ENDIAN_LITTLE                     = 0x1\n\tPR_ENDIAN_PPC_LITTLE                 = 0x2\n\tPR_FPEMU_NOPRINT                     = 0x1\n\tPR_FPEMU_SIGFPE                      = 0x2\n\tPR_FP_EXC_ASYNC                      = 0x2\n\tPR_FP_EXC_DISABLED                   = 0x0\n\tPR_FP_EXC_DIV                        = 0x10000\n\tPR_FP_EXC_INV                        = 0x100000\n\tPR_FP_EXC_NONRECOV                   = 0x1\n\tPR_FP_EXC_OVF                        = 0x20000\n\tPR_FP_EXC_PRECISE                    = 0x3\n\tPR_FP_EXC_RES                        = 0x80000\n\tPR_FP_EXC_SW_ENABLE                  = 0x80\n\tPR_FP_EXC_UND                        = 0x40000\n\tPR_FP_MODE_FR                        = 0x1\n\tPR_FP_MODE_FRE                       = 0x2\n\tPR_GET_CHILD_SUBREAPER               = 0x25\n\tPR_GET_DUMPABLE                      = 0x3\n\tPR_GET_ENDIAN                        = 0x13\n\tPR_GET_FPEMU                         = 0x9\n\tPR_GET_FPEXC                         = 0xb\n\tPR_GET_FP_MODE                       = 0x2e\n\tPR_GET_KEEPCAPS                      = 0x7\n\tPR_GET_NAME                          = 0x10\n\tPR_GET_NO_NEW_PRIVS                  = 0x27\n\tPR_GET_PDEATHSIG                     = 0x2\n\tPR_GET_SECCOMP                       = 0x15\n\tPR_GET_SECUREBITS                    = 0x1b\n\tPR_GET_SPECULATION_CTRL              = 0x34\n\tPR_GET_THP_DISABLE                   = 0x2a\n\tPR_GET_TID_ADDRESS                   = 0x28\n\tPR_GET_TIMERSLACK                    = 0x1e\n\tPR_GET_TIMING                        = 0xd\n\tPR_GET_TSC                           = 0x19\n\tPR_GET_UNALIGN                       = 0x5\n\tPR_MCE_KILL                          = 0x21\n\tPR_MCE_KILL_CLEAR                    = 0x0\n\tPR_MCE_KILL_DEFAULT                  = 0x2\n\tPR_MCE_KILL_EARLY                    = 0x1\n\tPR_MCE_KILL_GET                      = 0x22\n\tPR_MCE_KILL_LATE                     = 0x0\n\tPR_MCE_KILL_SET                      = 0x1\n\tPR_MPX_DISABLE_MANAGEMENT            = 0x2c\n\tPR_MPX_ENABLE_MANAGEMENT             = 0x2b\n\tPR_SET_CHILD_SUBREAPER               = 0x24\n\tPR_SET_DUMPABLE                      = 0x4\n\tPR_SET_ENDIAN                        = 0x14\n\tPR_SET_FPEMU                         = 0xa\n\tPR_SET_FPEXC                         = 0xc\n\tPR_SET_FP_MODE                       = 0x2d\n\tPR_SET_KEEPCAPS                      = 0x8\n\tPR_SET_MM                            = 0x23\n\tPR_SET_MM_ARG_END                    = 0x9\n\tPR_SET_MM_ARG_START                  = 0x8\n\tPR_SET_MM_AUXV                       = 0xc\n\tPR_SET_MM_BRK                        = 0x7\n\tPR_SET_MM_END_CODE                   = 0x2\n\tPR_SET_MM_END_DATA                   = 0x4\n\tPR_SET_MM_ENV_END                    = 0xb\n\tPR_SET_MM_ENV_START                  = 0xa\n\tPR_SET_MM_EXE_FILE                   = 0xd\n\tPR_SET_MM_MAP                        = 0xe\n\tPR_SET_MM_MAP_SIZE                   = 0xf\n\tPR_SET_MM_START_BRK                  = 0x6\n\tPR_SET_MM_START_CODE                 = 0x1\n\tPR_SET_MM_START_DATA                 = 0x3\n\tPR_SET_MM_START_STACK                = 0x5\n\tPR_SET_NAME                          = 0xf\n\tPR_SET_NO_NEW_PRIVS                  = 0x26\n\tPR_SET_PDEATHSIG                     = 0x1\n\tPR_SET_PTRACER                       = 0x59616d61\n\tPR_SET_PTRACER_ANY                   = 0xffffffffffffffff\n\tPR_SET_SECCOMP                       = 0x16\n\tPR_SET_SECUREBITS                    = 0x1c\n\tPR_SET_SPECULATION_CTRL              = 0x35\n\tPR_SET_THP_DISABLE                   = 0x29\n\tPR_SET_TIMERSLACK                    = 0x1d\n\tPR_SET_TIMING                        = 0xe\n\tPR_SET_TSC                           = 0x1a\n\tPR_SET_UNALIGN                       = 0x6\n\tPR_SPEC_DISABLE                      = 0x4\n\tPR_SPEC_ENABLE                       = 0x2\n\tPR_SPEC_FORCE_DISABLE                = 0x8\n\tPR_SPEC_NOT_AFFECTED                 = 0x0\n\tPR_SPEC_PRCTL                        = 0x1\n\tPR_SPEC_STORE_BYPASS                 = 0x0\n\tPR_SVE_GET_VL                        = 0x33\n\tPR_SVE_SET_VL                        = 0x32\n\tPR_SVE_SET_VL_ONEXEC                 = 0x40000\n\tPR_SVE_VL_INHERIT                    = 0x20000\n\tPR_SVE_VL_LEN_MASK                   = 0xffff\n\tPR_TASK_PERF_EVENTS_DISABLE          = 0x1f\n\tPR_TASK_PERF_EVENTS_ENABLE           = 0x20\n\tPR_TIMING_STATISTICAL                = 0x0\n\tPR_TIMING_TIMESTAMP                  = 0x1\n\tPR_TSC_ENABLE                        = 0x1\n\tPR_TSC_SIGSEGV                       = 0x2\n\tPR_UNALIGN_NOPRINT                   = 0x1\n\tPR_UNALIGN_SIGBUS                    = 0x2\n\tPSTOREFS_MAGIC                       = 0x6165676c\n\tPTRACE_ATTACH                        = 0x10\n\tPTRACE_CONT                          = 0x7\n\tPTRACE_DETACH                        = 0x11\n\tPTRACE_EVENT_CLONE                   = 0x3\n\tPTRACE_EVENT_EXEC                    = 0x4\n\tPTRACE_EVENT_EXIT                    = 0x6\n\tPTRACE_EVENT_FORK                    = 0x1\n\tPTRACE_EVENT_SECCOMP                 = 0x7\n\tPTRACE_EVENT_STOP                    = 0x80\n\tPTRACE_EVENT_VFORK                   = 0x2\n\tPTRACE_EVENT_VFORK_DONE              = 0x5\n\tPTRACE_GETEVENTMSG                   = 0x4201\n\tPTRACE_GETEVRREGS                    = 0x14\n\tPTRACE_GETFPREGS                     = 0xe\n\tPTRACE_GETREGS                       = 0xc\n\tPTRACE_GETREGS64                     = 0x16\n\tPTRACE_GETREGSET                     = 0x4204\n\tPTRACE_GETSIGINFO                    = 0x4202\n\tPTRACE_GETSIGMASK                    = 0x420a\n\tPTRACE_GETVRREGS                     = 0x12\n\tPTRACE_GETVSRREGS                    = 0x1b\n\tPTRACE_GET_DEBUGREG                  = 0x19\n\tPTRACE_INTERRUPT                     = 0x4207\n\tPTRACE_KILL                          = 0x8\n\tPTRACE_LISTEN                        = 0x4208\n\tPTRACE_O_EXITKILL                    = 0x100000\n\tPTRACE_O_MASK                        = 0x3000ff\n\tPTRACE_O_SUSPEND_SECCOMP             = 0x200000\n\tPTRACE_O_TRACECLONE                  = 0x8\n\tPTRACE_O_TRACEEXEC                   = 0x10\n\tPTRACE_O_TRACEEXIT                   = 0x40\n\tPTRACE_O_TRACEFORK                   = 0x2\n\tPTRACE_O_TRACESECCOMP                = 0x80\n\tPTRACE_O_TRACESYSGOOD                = 0x1\n\tPTRACE_O_TRACEVFORK                  = 0x4\n\tPTRACE_O_TRACEVFORKDONE              = 0x20\n\tPTRACE_PEEKDATA                      = 0x2\n\tPTRACE_PEEKSIGINFO                   = 0x4209\n\tPTRACE_PEEKSIGINFO_SHARED            = 0x1\n\tPTRACE_PEEKTEXT                      = 0x1\n\tPTRACE_PEEKUSR                       = 0x3\n\tPTRACE_POKEDATA                      = 0x5\n\tPTRACE_POKETEXT                      = 0x4\n\tPTRACE_POKEUSR                       = 0x6\n\tPTRACE_SECCOMP_GET_FILTER            = 0x420c\n\tPTRACE_SECCOMP_GET_METADATA          = 0x420d\n\tPTRACE_SEIZE                         = 0x4206\n\tPTRACE_SETEVRREGS                    = 0x15\n\tPTRACE_SETFPREGS                     = 0xf\n\tPTRACE_SETOPTIONS                    = 0x4200\n\tPTRACE_SETREGS                       = 0xd\n\tPTRACE_SETREGS64                     = 0x17\n\tPTRACE_SETREGSET                     = 0x4205\n\tPTRACE_SETSIGINFO                    = 0x4203\n\tPTRACE_SETSIGMASK                    = 0x420b\n\tPTRACE_SETVRREGS                     = 0x13\n\tPTRACE_SETVSRREGS                    = 0x1c\n\tPTRACE_SET_DEBUGREG                  = 0x1a\n\tPTRACE_SINGLEBLOCK                   = 0x100\n\tPTRACE_SINGLESTEP                    = 0x9\n\tPTRACE_SYSCALL                       = 0x18\n\tPTRACE_TRACEME                       = 0x0\n\tPT_CCR                               = 0x26\n\tPT_CTR                               = 0x23\n\tPT_DAR                               = 0x29\n\tPT_DSCR                              = 0x2c\n\tPT_DSISR                             = 0x2a\n\tPT_FPR0                              = 0x30\n\tPT_FPSCR                             = 0x50\n\tPT_LNK                               = 0x24\n\tPT_MSR                               = 0x21\n\tPT_NIP                               = 0x20\n\tPT_ORIG_R3                           = 0x22\n\tPT_R0                                = 0x0\n\tPT_R1                                = 0x1\n\tPT_R10                               = 0xa\n\tPT_R11                               = 0xb\n\tPT_R12                               = 0xc\n\tPT_R13                               = 0xd\n\tPT_R14                               = 0xe\n\tPT_R15                               = 0xf\n\tPT_R16                               = 0x10\n\tPT_R17                               = 0x11\n\tPT_R18                               = 0x12\n\tPT_R19                               = 0x13\n\tPT_R2                                = 0x2\n\tPT_R20                               = 0x14\n\tPT_R21                               = 0x15\n\tPT_R22                               = 0x16\n\tPT_R23                               = 0x17\n\tPT_R24                               = 0x18\n\tPT_R25                               = 0x19\n\tPT_R26                               = 0x1a\n\tPT_R27                               = 0x1b\n\tPT_R28                               = 0x1c\n\tPT_R29                               = 0x1d\n\tPT_R3                                = 0x3\n\tPT_R30                               = 0x1e\n\tPT_R31                               = 0x1f\n\tPT_R4                                = 0x4\n\tPT_R5                                = 0x5\n\tPT_R6                                = 0x6\n\tPT_R7                                = 0x7\n\tPT_R8                                = 0x8\n\tPT_R9                                = 0x9\n\tPT_REGS_COUNT                        = 0x2c\n\tPT_RESULT                            = 0x2b\n\tPT_SOFTE                             = 0x27\n\tPT_TRAP                              = 0x28\n\tPT_VR0                               = 0x52\n\tPT_VRSAVE                            = 0x94\n\tPT_VSCR                              = 0x93\n\tPT_VSR0                              = 0x96\n\tPT_VSR31                             = 0xd4\n\tPT_XER                               = 0x25\n\tQNX4_SUPER_MAGIC                     = 0x2f\n\tQNX6_SUPER_MAGIC                     = 0x68191122\n\tRAMFS_MAGIC                          = 0x858458f6\n\tRDTGROUP_SUPER_MAGIC                 = 0x7655821\n\tREISERFS_SUPER_MAGIC                 = 0x52654973\n\tRENAME_EXCHANGE                      = 0x2\n\tRENAME_NOREPLACE                     = 0x1\n\tRENAME_WHITEOUT                      = 0x4\n\tRLIMIT_AS                            = 0x9\n\tRLIMIT_CORE                          = 0x4\n\tRLIMIT_CPU                           = 0x0\n\tRLIMIT_DATA                          = 0x2\n\tRLIMIT_FSIZE                         = 0x1\n\tRLIMIT_LOCKS                         = 0xa\n\tRLIMIT_MEMLOCK                       = 0x8\n\tRLIMIT_MSGQUEUE                      = 0xc\n\tRLIMIT_NICE                          = 0xd\n\tRLIMIT_NOFILE                        = 0x7\n\tRLIMIT_NPROC                         = 0x6\n\tRLIMIT_RSS                           = 0x5\n\tRLIMIT_RTPRIO                        = 0xe\n\tRLIMIT_RTTIME                        = 0xf\n\tRLIMIT_SIGPENDING                    = 0xb\n\tRLIMIT_STACK                         = 0x3\n\tRLIM_INFINITY                        = 0xffffffffffffffff\n\tRTAX_ADVMSS                          = 0x8\n\tRTAX_CC_ALGO                         = 0x10\n\tRTAX_CWND                            = 0x7\n\tRTAX_FASTOPEN_NO_COOKIE              = 0x11\n\tRTAX_FEATURES                        = 0xc\n\tRTAX_FEATURE_ALLFRAG                 = 0x8\n\tRTAX_FEATURE_ECN                     = 0x1\n\tRTAX_FEATURE_MASK                    = 0xf\n\tRTAX_FEATURE_SACK                    = 0x2\n\tRTAX_FEATURE_TIMESTAMP               = 0x4\n\tRTAX_HOPLIMIT                        = 0xa\n\tRTAX_INITCWND                        = 0xb\n\tRTAX_INITRWND                        = 0xe\n\tRTAX_LOCK                            = 0x1\n\tRTAX_MAX                             = 0x11\n\tRTAX_MTU                             = 0x2\n\tRTAX_QUICKACK                        = 0xf\n\tRTAX_REORDERING                      = 0x9\n\tRTAX_RTO_MIN                         = 0xd\n\tRTAX_RTT                             = 0x4\n\tRTAX_RTTVAR                          = 0x5\n\tRTAX_SSTHRESH                        = 0x6\n\tRTAX_UNSPEC                          = 0x0\n\tRTAX_WINDOW                          = 0x3\n\tRTA_ALIGNTO                          = 0x4\n\tRTA_MAX                              = 0x1d\n\tRTCF_DIRECTSRC                       = 0x4000000\n\tRTCF_DOREDIRECT                      = 0x1000000\n\tRTCF_LOG                             = 0x2000000\n\tRTCF_MASQ                            = 0x400000\n\tRTCF_NAT                             = 0x800000\n\tRTCF_VALVE                           = 0x200000\n\tRTC_AF                               = 0x20\n\tRTC_AIE_OFF                          = 0x20007002\n\tRTC_AIE_ON                           = 0x20007001\n\tRTC_ALM_READ                         = 0x40247008\n\tRTC_ALM_SET                          = 0x80247007\n\tRTC_EPOCH_READ                       = 0x4008700d\n\tRTC_EPOCH_SET                        = 0x8008700e\n\tRTC_IRQF                             = 0x80\n\tRTC_IRQP_READ                        = 0x4008700b\n\tRTC_IRQP_SET                         = 0x8008700c\n\tRTC_MAX_FREQ                         = 0x2000\n\tRTC_PF                               = 0x40\n\tRTC_PIE_OFF                          = 0x20007006\n\tRTC_PIE_ON                           = 0x20007005\n\tRTC_PLL_GET                          = 0x40207011\n\tRTC_PLL_SET                          = 0x80207012\n\tRTC_RD_TIME                          = 0x40247009\n\tRTC_SET_TIME                         = 0x8024700a\n\tRTC_UF                               = 0x10\n\tRTC_UIE_OFF                          = 0x20007004\n\tRTC_UIE_ON                           = 0x20007003\n\tRTC_VL_CLR                           = 0x20007014\n\tRTC_VL_READ                          = 0x40047013\n\tRTC_WIE_OFF                          = 0x20007010\n\tRTC_WIE_ON                           = 0x2000700f\n\tRTC_WKALM_RD                         = 0x40287010\n\tRTC_WKALM_SET                        = 0x8028700f\n\tRTF_ADDRCLASSMASK                    = 0xf8000000\n\tRTF_ADDRCONF                         = 0x40000\n\tRTF_ALLONLINK                        = 0x20000\n\tRTF_BROADCAST                        = 0x10000000\n\tRTF_CACHE                            = 0x1000000\n\tRTF_DEFAULT                          = 0x10000\n\tRTF_DYNAMIC                          = 0x10\n\tRTF_FLOW                             = 0x2000000\n\tRTF_GATEWAY                          = 0x2\n\tRTF_HOST                             = 0x4\n\tRTF_INTERFACE                        = 0x40000000\n\tRTF_IRTT                             = 0x100\n\tRTF_LINKRT                           = 0x100000\n\tRTF_LOCAL                            = 0x80000000\n\tRTF_MODIFIED                         = 0x20\n\tRTF_MSS                              = 0x40\n\tRTF_MTU                              = 0x40\n\tRTF_MULTICAST                        = 0x20000000\n\tRTF_NAT                              = 0x8000000\n\tRTF_NOFORWARD                        = 0x1000\n\tRTF_NONEXTHOP                        = 0x200000\n\tRTF_NOPMTUDISC                       = 0x4000\n\tRTF_POLICY                           = 0x4000000\n\tRTF_REINSTATE                        = 0x8\n\tRTF_REJECT                           = 0x200\n\tRTF_STATIC                           = 0x400\n\tRTF_THROW                            = 0x2000\n\tRTF_UP                               = 0x1\n\tRTF_WINDOW                           = 0x80\n\tRTF_XRESOLVE                         = 0x800\n\tRTM_BASE                             = 0x10\n\tRTM_DELACTION                        = 0x31\n\tRTM_DELADDR                          = 0x15\n\tRTM_DELADDRLABEL                     = 0x49\n\tRTM_DELLINK                          = 0x11\n\tRTM_DELMDB                           = 0x55\n\tRTM_DELNEIGH                         = 0x1d\n\tRTM_DELNETCONF                       = 0x51\n\tRTM_DELNSID                          = 0x59\n\tRTM_DELQDISC                         = 0x25\n\tRTM_DELROUTE                         = 0x19\n\tRTM_DELRULE                          = 0x21\n\tRTM_DELTCLASS                        = 0x29\n\tRTM_DELTFILTER                       = 0x2d\n\tRTM_F_CLONED                         = 0x200\n\tRTM_F_EQUALIZE                       = 0x400\n\tRTM_F_FIB_MATCH                      = 0x2000\n\tRTM_F_LOOKUP_TABLE                   = 0x1000\n\tRTM_F_NOTIFY                         = 0x100\n\tRTM_F_PREFIX                         = 0x800\n\tRTM_GETACTION                        = 0x32\n\tRTM_GETADDR                          = 0x16\n\tRTM_GETADDRLABEL                     = 0x4a\n\tRTM_GETANYCAST                       = 0x3e\n\tRTM_GETDCB                           = 0x4e\n\tRTM_GETLINK                          = 0x12\n\tRTM_GETMDB                           = 0x56\n\tRTM_GETMULTICAST                     = 0x3a\n\tRTM_GETNEIGH                         = 0x1e\n\tRTM_GETNEIGHTBL                      = 0x42\n\tRTM_GETNETCONF                       = 0x52\n\tRTM_GETNSID                          = 0x5a\n\tRTM_GETQDISC                         = 0x26\n\tRTM_GETROUTE                         = 0x1a\n\tRTM_GETRULE                          = 0x22\n\tRTM_GETSTATS                         = 0x5e\n\tRTM_GETTCLASS                        = 0x2a\n\tRTM_GETTFILTER                       = 0x2e\n\tRTM_MAX                              = 0x63\n\tRTM_NEWACTION                        = 0x30\n\tRTM_NEWADDR                          = 0x14\n\tRTM_NEWADDRLABEL                     = 0x48\n\tRTM_NEWCACHEREPORT                   = 0x60\n\tRTM_NEWLINK                          = 0x10\n\tRTM_NEWMDB                           = 0x54\n\tRTM_NEWNDUSEROPT                     = 0x44\n\tRTM_NEWNEIGH                         = 0x1c\n\tRTM_NEWNEIGHTBL                      = 0x40\n\tRTM_NEWNETCONF                       = 0x50\n\tRTM_NEWNSID                          = 0x58\n\tRTM_NEWPREFIX                        = 0x34\n\tRTM_NEWQDISC                         = 0x24\n\tRTM_NEWROUTE                         = 0x18\n\tRTM_NEWRULE                          = 0x20\n\tRTM_NEWSTATS                         = 0x5c\n\tRTM_NEWTCLASS                        = 0x28\n\tRTM_NEWTFILTER                       = 0x2c\n\tRTM_NR_FAMILIES                      = 0x15\n\tRTM_NR_MSGTYPES                      = 0x54\n\tRTM_SETDCB                           = 0x4f\n\tRTM_SETLINK                          = 0x13\n\tRTM_SETNEIGHTBL                      = 0x43\n\tRTNH_ALIGNTO                         = 0x4\n\tRTNH_COMPARE_MASK                    = 0x19\n\tRTNH_F_DEAD                          = 0x1\n\tRTNH_F_LINKDOWN                      = 0x10\n\tRTNH_F_OFFLOAD                       = 0x8\n\tRTNH_F_ONLINK                        = 0x4\n\tRTNH_F_PERVASIVE                     = 0x2\n\tRTNH_F_UNRESOLVED                    = 0x20\n\tRTN_MAX                              = 0xb\n\tRTPROT_BABEL                         = 0x2a\n\tRTPROT_BGP                           = 0xba\n\tRTPROT_BIRD                          = 0xc\n\tRTPROT_BOOT                          = 0x3\n\tRTPROT_DHCP                          = 0x10\n\tRTPROT_DNROUTED                      = 0xd\n\tRTPROT_EIGRP                         = 0xc0\n\tRTPROT_GATED                         = 0x8\n\tRTPROT_ISIS                          = 0xbb\n\tRTPROT_KERNEL                        = 0x2\n\tRTPROT_MROUTED                       = 0x11\n\tRTPROT_MRT                           = 0xa\n\tRTPROT_NTK                           = 0xf\n\tRTPROT_OSPF                          = 0xbc\n\tRTPROT_RA                            = 0x9\n\tRTPROT_REDIRECT                      = 0x1\n\tRTPROT_RIP                           = 0xbd\n\tRTPROT_STATIC                        = 0x4\n\tRTPROT_UNSPEC                        = 0x0\n\tRTPROT_XORP                          = 0xe\n\tRTPROT_ZEBRA                         = 0xb\n\tRT_CLASS_DEFAULT                     = 0xfd\n\tRT_CLASS_LOCAL                       = 0xff\n\tRT_CLASS_MAIN                        = 0xfe\n\tRT_CLASS_MAX                         = 0xff\n\tRT_CLASS_UNSPEC                      = 0x0\n\tRUSAGE_CHILDREN                      = -0x1\n\tRUSAGE_SELF                          = 0x0\n\tRUSAGE_THREAD                        = 0x1\n\tSCM_CREDENTIALS                      = 0x2\n\tSCM_RIGHTS                           = 0x1\n\tSCM_TIMESTAMP                        = 0x1d\n\tSCM_TIMESTAMPING                     = 0x25\n\tSCM_TIMESTAMPING_OPT_STATS           = 0x36\n\tSCM_TIMESTAMPING_PKTINFO             = 0x3a\n\tSCM_TIMESTAMPNS                      = 0x23\n\tSCM_WIFI_STATUS                      = 0x29\n\tSECCOMP_MODE_DISABLED                = 0x0\n\tSECCOMP_MODE_FILTER                  = 0x2\n\tSECCOMP_MODE_STRICT                  = 0x1\n\tSECURITYFS_MAGIC                     = 0x73636673\n\tSELINUX_MAGIC                        = 0xf97cff8c\n\tSHUT_RD                              = 0x0\n\tSHUT_RDWR                            = 0x2\n\tSHUT_WR                              = 0x1\n\tSIOCADDDLCI                          = 0x8980\n\tSIOCADDMULTI                         = 0x8931\n\tSIOCADDRT                            = 0x890b\n\tSIOCATMARK                           = 0x8905\n\tSIOCBONDCHANGEACTIVE                 = 0x8995\n\tSIOCBONDENSLAVE                      = 0x8990\n\tSIOCBONDINFOQUERY                    = 0x8994\n\tSIOCBONDRELEASE                      = 0x8991\n\tSIOCBONDSETHWADDR                    = 0x8992\n\tSIOCBONDSLAVEINFOQUERY               = 0x8993\n\tSIOCBRADDBR                          = 0x89a0\n\tSIOCBRADDIF                          = 0x89a2\n\tSIOCBRDELBR                          = 0x89a1\n\tSIOCBRDELIF                          = 0x89a3\n\tSIOCDARP                             = 0x8953\n\tSIOCDELDLCI                          = 0x8981\n\tSIOCDELMULTI                         = 0x8932\n\tSIOCDELRT                            = 0x890c\n\tSIOCDEVPRIVATE                       = 0x89f0\n\tSIOCDIFADDR                          = 0x8936\n\tSIOCDRARP                            = 0x8960\n\tSIOCETHTOOL                          = 0x8946\n\tSIOCGARP                             = 0x8954\n\tSIOCGHWTSTAMP                        = 0x89b1\n\tSIOCGIFADDR                          = 0x8915\n\tSIOCGIFBR                            = 0x8940\n\tSIOCGIFBRDADDR                       = 0x8919\n\tSIOCGIFCONF                          = 0x8912\n\tSIOCGIFCOUNT                         = 0x8938\n\tSIOCGIFDSTADDR                       = 0x8917\n\tSIOCGIFENCAP                         = 0x8925\n\tSIOCGIFFLAGS                         = 0x8913\n\tSIOCGIFHWADDR                        = 0x8927\n\tSIOCGIFINDEX                         = 0x8933\n\tSIOCGIFMAP                           = 0x8970\n\tSIOCGIFMEM                           = 0x891f\n\tSIOCGIFMETRIC                        = 0x891d\n\tSIOCGIFMTU                           = 0x8921\n\tSIOCGIFNAME                          = 0x8910\n\tSIOCGIFNETMASK                       = 0x891b\n\tSIOCGIFPFLAGS                        = 0x8935\n\tSIOCGIFSLAVE                         = 0x8929\n\tSIOCGIFTXQLEN                        = 0x8942\n\tSIOCGIFVLAN                          = 0x8982\n\tSIOCGMIIPHY                          = 0x8947\n\tSIOCGMIIREG                          = 0x8948\n\tSIOCGPGRP                            = 0x8904\n\tSIOCGRARP                            = 0x8961\n\tSIOCGSKNS                            = 0x894c\n\tSIOCGSTAMP                           = 0x8906\n\tSIOCGSTAMPNS                         = 0x8907\n\tSIOCINQ                              = 0x4004667f\n\tSIOCOUTQ                             = 0x40047473\n\tSIOCOUTQNSD                          = 0x894b\n\tSIOCPROTOPRIVATE                     = 0x89e0\n\tSIOCRTMSG                            = 0x890d\n\tSIOCSARP                             = 0x8955\n\tSIOCSHWTSTAMP                        = 0x89b0\n\tSIOCSIFADDR                          = 0x8916\n\tSIOCSIFBR                            = 0x8941\n\tSIOCSIFBRDADDR                       = 0x891a\n\tSIOCSIFDSTADDR                       = 0x8918\n\tSIOCSIFENCAP                         = 0x8926\n\tSIOCSIFFLAGS                         = 0x8914\n\tSIOCSIFHWADDR                        = 0x8924\n\tSIOCSIFHWBROADCAST                   = 0x8937\n\tSIOCSIFLINK                          = 0x8911\n\tSIOCSIFMAP                           = 0x8971\n\tSIOCSIFMEM                           = 0x8920\n\tSIOCSIFMETRIC                        = 0x891e\n\tSIOCSIFMTU                           = 0x8922\n\tSIOCSIFNAME                          = 0x8923\n\tSIOCSIFNETMASK                       = 0x891c\n\tSIOCSIFPFLAGS                        = 0x8934\n\tSIOCSIFSLAVE                         = 0x8930\n\tSIOCSIFTXQLEN                        = 0x8943\n\tSIOCSIFVLAN                          = 0x8983\n\tSIOCSMIIREG                          = 0x8949\n\tSIOCSPGRP                            = 0x8902\n\tSIOCSRARP                            = 0x8962\n\tSIOCWANDEV                           = 0x894a\n\tSMACK_MAGIC                          = 0x43415d53\n\tSMART_AUTOSAVE                       = 0xd2\n\tSMART_AUTO_OFFLINE                   = 0xdb\n\tSMART_DISABLE                        = 0xd9\n\tSMART_ENABLE                         = 0xd8\n\tSMART_HCYL_PASS                      = 0xc2\n\tSMART_IMMEDIATE_OFFLINE              = 0xd4\n\tSMART_LCYL_PASS                      = 0x4f\n\tSMART_READ_LOG_SECTOR                = 0xd5\n\tSMART_READ_THRESHOLDS                = 0xd1\n\tSMART_READ_VALUES                    = 0xd0\n\tSMART_SAVE                           = 0xd3\n\tSMART_STATUS                         = 0xda\n\tSMART_WRITE_LOG_SECTOR               = 0xd6\n\tSMART_WRITE_THRESHOLDS               = 0xd7\n\tSMB_SUPER_MAGIC                      = 0x517b\n\tSOCKFS_MAGIC                         = 0x534f434b\n\tSOCK_CLOEXEC                         = 0x80000\n\tSOCK_DCCP                            = 0x6\n\tSOCK_DGRAM                           = 0x2\n\tSOCK_IOC_TYPE                        = 0x89\n\tSOCK_NONBLOCK                        = 0x800\n\tSOCK_PACKET                          = 0xa\n\tSOCK_RAW                             = 0x3\n\tSOCK_RDM                             = 0x4\n\tSOCK_SEQPACKET                       = 0x5\n\tSOCK_STREAM                          = 0x1\n\tSOL_AAL                              = 0x109\n\tSOL_ALG                              = 0x117\n\tSOL_ATM                              = 0x108\n\tSOL_CAIF                             = 0x116\n\tSOL_CAN_BASE                         = 0x64\n\tSOL_DCCP                             = 0x10d\n\tSOL_DECNET                           = 0x105\n\tSOL_ICMPV6                           = 0x3a\n\tSOL_IP                               = 0x0\n\tSOL_IPV6                             = 0x29\n\tSOL_IRDA                             = 0x10a\n\tSOL_IUCV                             = 0x115\n\tSOL_KCM                              = 0x119\n\tSOL_LLC                              = 0x10c\n\tSOL_NETBEUI                          = 0x10b\n\tSOL_NETLINK                          = 0x10e\n\tSOL_NFC                              = 0x118\n\tSOL_PACKET                           = 0x107\n\tSOL_PNPIPE                           = 0x113\n\tSOL_PPPOL2TP                         = 0x111\n\tSOL_RAW                              = 0xff\n\tSOL_RDS                              = 0x114\n\tSOL_RXRPC                            = 0x110\n\tSOL_SOCKET                           = 0x1\n\tSOL_TCP                              = 0x6\n\tSOL_TIPC                             = 0x10f\n\tSOL_TLS                              = 0x11a\n\tSOL_X25                              = 0x106\n\tSOMAXCONN                            = 0x80\n\tSO_ACCEPTCONN                        = 0x1e\n\tSO_ATTACH_BPF                        = 0x32\n\tSO_ATTACH_FILTER                     = 0x1a\n\tSO_ATTACH_REUSEPORT_CBPF             = 0x33\n\tSO_ATTACH_REUSEPORT_EBPF             = 0x34\n\tSO_BINDTODEVICE                      = 0x19\n\tSO_BPF_EXTENSIONS                    = 0x30\n\tSO_BROADCAST                         = 0x6\n\tSO_BSDCOMPAT                         = 0xe\n\tSO_BUSY_POLL                         = 0x2e\n\tSO_CNX_ADVICE                        = 0x35\n\tSO_COOKIE                            = 0x39\n\tSO_DEBUG                             = 0x1\n\tSO_DETACH_BPF                        = 0x1b\n\tSO_DETACH_FILTER                     = 0x1b\n\tSO_DOMAIN                            = 0x27\n\tSO_DONTROUTE                         = 0x5\n\tSO_ERROR                             = 0x4\n\tSO_GET_FILTER                        = 0x1a\n\tSO_INCOMING_CPU                      = 0x31\n\tSO_INCOMING_NAPI_ID                  = 0x38\n\tSO_KEEPALIVE                         = 0x9\n\tSO_LINGER                            = 0xd\n\tSO_LOCK_FILTER                       = 0x2c\n\tSO_MARK                              = 0x24\n\tSO_MAX_PACING_RATE                   = 0x2f\n\tSO_MEMINFO                           = 0x37\n\tSO_NOFCS                             = 0x2b\n\tSO_NO_CHECK                          = 0xb\n\tSO_OOBINLINE                         = 0xa\n\tSO_PASSCRED                          = 0x14\n\tSO_PASSSEC                           = 0x22\n\tSO_PEEK_OFF                          = 0x2a\n\tSO_PEERCRED                          = 0x15\n\tSO_PEERGROUPS                        = 0x3b\n\tSO_PEERNAME                          = 0x1c\n\tSO_PEERSEC                           = 0x1f\n\tSO_PRIORITY                          = 0xc\n\tSO_PROTOCOL                          = 0x26\n\tSO_RCVBUF                            = 0x8\n\tSO_RCVBUFFORCE                       = 0x21\n\tSO_RCVLOWAT                          = 0x10\n\tSO_RCVTIMEO                          = 0x12\n\tSO_REUSEADDR                         = 0x2\n\tSO_REUSEPORT                         = 0xf\n\tSO_RXQ_OVFL                          = 0x28\n\tSO_SECURITY_AUTHENTICATION           = 0x16\n\tSO_SECURITY_ENCRYPTION_NETWORK       = 0x18\n\tSO_SECURITY_ENCRYPTION_TRANSPORT     = 0x17\n\tSO_SELECT_ERR_QUEUE                  = 0x2d\n\tSO_SNDBUF                            = 0x7\n\tSO_SNDBUFFORCE                       = 0x20\n\tSO_SNDLOWAT                          = 0x11\n\tSO_SNDTIMEO                          = 0x13\n\tSO_TIMESTAMP                         = 0x1d\n\tSO_TIMESTAMPING                      = 0x25\n\tSO_TIMESTAMPNS                       = 0x23\n\tSO_TYPE                              = 0x3\n\tSO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2\n\tSO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1\n\tSO_VM_SOCKETS_BUFFER_SIZE            = 0x0\n\tSO_VM_SOCKETS_CONNECT_TIMEOUT        = 0x6\n\tSO_VM_SOCKETS_NONBLOCK_TXRX          = 0x7\n\tSO_VM_SOCKETS_PEER_HOST_VM_ID        = 0x3\n\tSO_VM_SOCKETS_TRUSTED                = 0x5\n\tSO_WIFI_STATUS                       = 0x29\n\tSO_ZEROCOPY                          = 0x3c\n\tSPLICE_F_GIFT                        = 0x8\n\tSPLICE_F_MORE                        = 0x4\n\tSPLICE_F_MOVE                        = 0x1\n\tSPLICE_F_NONBLOCK                    = 0x2\n\tSQUASHFS_MAGIC                       = 0x73717368\n\tSTACK_END_MAGIC                      = 0x57ac6e9d\n\tSTATX_ALL                            = 0xfff\n\tSTATX_ATIME                          = 0x20\n\tSTATX_ATTR_APPEND                    = 0x20\n\tSTATX_ATTR_AUTOMOUNT                 = 0x1000\n\tSTATX_ATTR_COMPRESSED                = 0x4\n\tSTATX_ATTR_ENCRYPTED                 = 0x800\n\tSTATX_ATTR_IMMUTABLE                 = 0x10\n\tSTATX_ATTR_NODUMP                    = 0x40\n\tSTATX_BASIC_STATS                    = 0x7ff\n\tSTATX_BLOCKS                         = 0x400\n\tSTATX_BTIME                          = 0x800\n\tSTATX_CTIME                          = 0x80\n\tSTATX_GID                            = 0x10\n\tSTATX_INO                            = 0x100\n\tSTATX_MODE                           = 0x2\n\tSTATX_MTIME                          = 0x40\n\tSTATX_NLINK                          = 0x4\n\tSTATX_SIZE                           = 0x200\n\tSTATX_TYPE                           = 0x1\n\tSTATX_UID                            = 0x8\n\tSTATX__RESERVED                      = 0x80000000\n\tSYSFS_MAGIC                          = 0x62656572\n\tS_BLKSIZE                            = 0x200\n\tS_IEXEC                              = 0x40\n\tS_IFBLK                              = 0x6000\n\tS_IFCHR                              = 0x2000\n\tS_IFDIR                              = 0x4000\n\tS_IFIFO                              = 0x1000\n\tS_IFLNK                              = 0xa000\n\tS_IFMT                               = 0xf000\n\tS_IFREG                              = 0x8000\n\tS_IFSOCK                             = 0xc000\n\tS_IREAD                              = 0x100\n\tS_IRGRP                              = 0x20\n\tS_IROTH                              = 0x4\n\tS_IRUSR                              = 0x100\n\tS_IRWXG                              = 0x38\n\tS_IRWXO                              = 0x7\n\tS_IRWXU                              = 0x1c0\n\tS_ISGID                              = 0x400\n\tS_ISUID                              = 0x800\n\tS_ISVTX                              = 0x200\n\tS_IWGRP                              = 0x10\n\tS_IWOTH                              = 0x2\n\tS_IWRITE                             = 0x80\n\tS_IWUSR                              = 0x80\n\tS_IXGRP                              = 0x8\n\tS_IXOTH                              = 0x1\n\tS_IXUSR                              = 0x40\n\tTAB0                                 = 0x0\n\tTAB1                                 = 0x400\n\tTAB2                                 = 0x800\n\tTAB3                                 = 0xc00\n\tTABDLY                               = 0xc00\n\tTASKSTATS_CMD_ATTR_MAX               = 0x4\n\tTASKSTATS_CMD_MAX                    = 0x2\n\tTASKSTATS_GENL_NAME                  = \"TASKSTATS\"\n\tTASKSTATS_GENL_VERSION               = 0x1\n\tTASKSTATS_TYPE_MAX                   = 0x6\n\tTASKSTATS_VERSION                    = 0x8\n\tTCFLSH                               = 0x2000741f\n\tTCGETA                               = 0x40147417\n\tTCGETS                               = 0x402c7413\n\tTCIFLUSH                             = 0x0\n\tTCIOFF                               = 0x2\n\tTCIOFLUSH                            = 0x2\n\tTCION                                = 0x3\n\tTCOFLUSH                             = 0x1\n\tTCOOFF                               = 0x0\n\tTCOON                                = 0x1\n\tTCP_CC_INFO                          = 0x1a\n\tTCP_CONGESTION                       = 0xd\n\tTCP_COOKIE_IN_ALWAYS                 = 0x1\n\tTCP_COOKIE_MAX                       = 0x10\n\tTCP_COOKIE_MIN                       = 0x8\n\tTCP_COOKIE_OUT_NEVER                 = 0x2\n\tTCP_COOKIE_PAIR_SIZE                 = 0x20\n\tTCP_COOKIE_TRANSACTIONS              = 0xf\n\tTCP_CORK                             = 0x3\n\tTCP_DEFER_ACCEPT                     = 0x9\n\tTCP_FASTOPEN                         = 0x17\n\tTCP_FASTOPEN_CONNECT                 = 0x1e\n\tTCP_FASTOPEN_KEY                     = 0x21\n\tTCP_FASTOPEN_NO_COOKIE               = 0x22\n\tTCP_INFO                             = 0xb\n\tTCP_KEEPCNT                          = 0x6\n\tTCP_KEEPIDLE                         = 0x4\n\tTCP_KEEPINTVL                        = 0x5\n\tTCP_LINGER2                          = 0x8\n\tTCP_MAXSEG                           = 0x2\n\tTCP_MAXWIN                           = 0xffff\n\tTCP_MAX_WINSHIFT                     = 0xe\n\tTCP_MD5SIG                           = 0xe\n\tTCP_MD5SIG_EXT                       = 0x20\n\tTCP_MD5SIG_FLAG_PREFIX               = 0x1\n\tTCP_MD5SIG_MAXKEYLEN                 = 0x50\n\tTCP_MSS                              = 0x200\n\tTCP_MSS_DEFAULT                      = 0x218\n\tTCP_MSS_DESIRED                      = 0x4c4\n\tTCP_NODELAY                          = 0x1\n\tTCP_NOTSENT_LOWAT                    = 0x19\n\tTCP_QUEUE_SEQ                        = 0x15\n\tTCP_QUICKACK                         = 0xc\n\tTCP_REPAIR                           = 0x13\n\tTCP_REPAIR_OPTIONS                   = 0x16\n\tTCP_REPAIR_QUEUE                     = 0x14\n\tTCP_REPAIR_WINDOW                    = 0x1d\n\tTCP_SAVED_SYN                        = 0x1c\n\tTCP_SAVE_SYN                         = 0x1b\n\tTCP_SYNCNT                           = 0x7\n\tTCP_S_DATA_IN                        = 0x4\n\tTCP_S_DATA_OUT                       = 0x8\n\tTCP_THIN_DUPACK                      = 0x11\n\tTCP_THIN_LINEAR_TIMEOUTS             = 0x10\n\tTCP_TIMESTAMP                        = 0x18\n\tTCP_ULP                              = 0x1f\n\tTCP_USER_TIMEOUT                     = 0x12\n\tTCP_WINDOW_CLAMP                     = 0xa\n\tTCSAFLUSH                            = 0x2\n\tTCSBRK                               = 0x2000741d\n\tTCSBRKP                              = 0x5425\n\tTCSETA                               = 0x80147418\n\tTCSETAF                              = 0x8014741c\n\tTCSETAW                              = 0x80147419\n\tTCSETS                               = 0x802c7414\n\tTCSETSF                              = 0x802c7416\n\tTCSETSW                              = 0x802c7415\n\tTCXONC                               = 0x2000741e\n\tTIOCCBRK                             = 0x5428\n\tTIOCCONS                             = 0x541d\n\tTIOCEXCL                             = 0x540c\n\tTIOCGDEV                             = 0x40045432\n\tTIOCGETC                             = 0x40067412\n\tTIOCGETD                             = 0x5424\n\tTIOCGETP                             = 0x40067408\n\tTIOCGEXCL                            = 0x40045440\n\tTIOCGICOUNT                          = 0x545d\n\tTIOCGLCKTRMIOS                       = 0x5456\n\tTIOCGLTC                             = 0x40067474\n\tTIOCGPGRP                            = 0x40047477\n\tTIOCGPKT                             = 0x40045438\n\tTIOCGPTLCK                           = 0x40045439\n\tTIOCGPTN                             = 0x40045430\n\tTIOCGPTPEER                          = 0x20005441\n\tTIOCGRS485                           = 0x542e\n\tTIOCGSERIAL                          = 0x541e\n\tTIOCGSID                             = 0x5429\n\tTIOCGSOFTCAR                         = 0x5419\n\tTIOCGWINSZ                           = 0x40087468\n\tTIOCINQ                              = 0x4004667f\n\tTIOCLINUX                            = 0x541c\n\tTIOCMBIC                             = 0x5417\n\tTIOCMBIS                             = 0x5416\n\tTIOCMGET                             = 0x5415\n\tTIOCMIWAIT                           = 0x545c\n\tTIOCMSET                             = 0x5418\n\tTIOCM_CAR                            = 0x40\n\tTIOCM_CD                             = 0x40\n\tTIOCM_CTS                            = 0x20\n\tTIOCM_DSR                            = 0x100\n\tTIOCM_DTR                            = 0x2\n\tTIOCM_LE                             = 0x1\n\tTIOCM_LOOP                           = 0x8000\n\tTIOCM_OUT1                           = 0x2000\n\tTIOCM_OUT2                           = 0x4000\n\tTIOCM_RI                             = 0x80\n\tTIOCM_RNG                            = 0x80\n\tTIOCM_RTS                            = 0x4\n\tTIOCM_SR                             = 0x10\n\tTIOCM_ST                             = 0x8\n\tTIOCNOTTY                            = 0x5422\n\tTIOCNXCL                             = 0x540d\n\tTIOCOUTQ                             = 0x40047473\n\tTIOCPKT                              = 0x5420\n\tTIOCPKT_DATA                         = 0x0\n\tTIOCPKT_DOSTOP                       = 0x20\n\tTIOCPKT_FLUSHREAD                    = 0x1\n\tTIOCPKT_FLUSHWRITE                   = 0x2\n\tTIOCPKT_IOCTL                        = 0x40\n\tTIOCPKT_NOSTOP                       = 0x10\n\tTIOCPKT_START                        = 0x8\n\tTIOCPKT_STOP                         = 0x4\n\tTIOCSBRK                             = 0x5427\n\tTIOCSCTTY                            = 0x540e\n\tTIOCSERCONFIG                        = 0x5453\n\tTIOCSERGETLSR                        = 0x5459\n\tTIOCSERGETMULTI                      = 0x545a\n\tTIOCSERGSTRUCT                       = 0x5458\n\tTIOCSERGWILD                         = 0x5454\n\tTIOCSERSETMULTI                      = 0x545b\n\tTIOCSERSWILD                         = 0x5455\n\tTIOCSER_TEMT                         = 0x1\n\tTIOCSETC                             = 0x80067411\n\tTIOCSETD                             = 0x5423\n\tTIOCSETN                             = 0x8006740a\n\tTIOCSETP                             = 0x80067409\n\tTIOCSIG                              = 0x80045436\n\tTIOCSLCKTRMIOS                       = 0x5457\n\tTIOCSLTC                             = 0x80067475\n\tTIOCSPGRP                            = 0x80047476\n\tTIOCSPTLCK                           = 0x80045431\n\tTIOCSRS485                           = 0x542f\n\tTIOCSSERIAL                          = 0x541f\n\tTIOCSSOFTCAR                         = 0x541a\n\tTIOCSTART                            = 0x2000746e\n\tTIOCSTI                              = 0x5412\n\tTIOCSTOP                             = 0x2000746f\n\tTIOCSWINSZ                           = 0x80087467\n\tTIOCVHANGUP                          = 0x5437\n\tTMPFS_MAGIC                          = 0x1021994\n\tTOSTOP                               = 0x400000\n\tTPACKET_ALIGNMENT                    = 0x10\n\tTPACKET_HDRLEN                       = 0x34\n\tTP_STATUS_AVAILABLE                  = 0x0\n\tTP_STATUS_BLK_TMO                    = 0x20\n\tTP_STATUS_COPY                       = 0x2\n\tTP_STATUS_CSUMNOTREADY               = 0x8\n\tTP_STATUS_CSUM_VALID                 = 0x80\n\tTP_STATUS_KERNEL                     = 0x0\n\tTP_STATUS_LOSING                     = 0x4\n\tTP_STATUS_SENDING                    = 0x2\n\tTP_STATUS_SEND_REQUEST               = 0x1\n\tTP_STATUS_TS_RAW_HARDWARE            = -0x80000000\n\tTP_STATUS_TS_SOFTWARE                = 0x20000000\n\tTP_STATUS_TS_SYS_HARDWARE            = 0x40000000\n\tTP_STATUS_USER                       = 0x1\n\tTP_STATUS_VLAN_TPID_VALID            = 0x40\n\tTP_STATUS_VLAN_VALID                 = 0x10\n\tTP_STATUS_WRONG_FORMAT               = 0x4\n\tTRACEFS_MAGIC                        = 0x74726163\n\tTS_COMM_LEN                          = 0x20\n\tTUNATTACHFILTER                      = 0x801054d5\n\tTUNDETACHFILTER                      = 0x801054d6\n\tTUNGETFEATURES                       = 0x400454cf\n\tTUNGETFILTER                         = 0x401054db\n\tTUNGETIFF                            = 0x400454d2\n\tTUNGETSNDBUF                         = 0x400454d3\n\tTUNGETVNETBE                         = 0x400454df\n\tTUNGETVNETHDRSZ                      = 0x400454d7\n\tTUNGETVNETLE                         = 0x400454dd\n\tTUNSETDEBUG                          = 0x800454c9\n\tTUNSETFILTEREBPF                     = 0x400454e1\n\tTUNSETGROUP                          = 0x800454ce\n\tTUNSETIFF                            = 0x800454ca\n\tTUNSETIFINDEX                        = 0x800454da\n\tTUNSETLINK                           = 0x800454cd\n\tTUNSETNOCSUM                         = 0x800454c8\n\tTUNSETOFFLOAD                        = 0x800454d0\n\tTUNSETOWNER                          = 0x800454cc\n\tTUNSETPERSIST                        = 0x800454cb\n\tTUNSETQUEUE                          = 0x800454d9\n\tTUNSETSNDBUF                         = 0x800454d4\n\tTUNSETSTEERINGEBPF                   = 0x400454e0\n\tTUNSETTXFILTER                       = 0x800454d1\n\tTUNSETVNETBE                         = 0x800454de\n\tTUNSETVNETHDRSZ                      = 0x800454d8\n\tTUNSETVNETLE                         = 0x800454dc\n\tUDF_SUPER_MAGIC                      = 0x15013346\n\tUMOUNT_NOFOLLOW                      = 0x8\n\tUSBDEVICE_SUPER_MAGIC                = 0x9fa2\n\tUTIME_NOW                            = 0x3fffffff\n\tUTIME_OMIT                           = 0x3ffffffe\n\tV9FS_MAGIC                           = 0x1021997\n\tVDISCARD                             = 0x10\n\tVEOF                                 = 0x4\n\tVEOL                                 = 0x6\n\tVEOL2                                = 0x8\n\tVERASE                               = 0x2\n\tVINTR                                = 0x0\n\tVKILL                                = 0x3\n\tVLNEXT                               = 0xf\n\tVMADDR_CID_ANY                       = 0xffffffff\n\tVMADDR_CID_HOST                      = 0x2\n\tVMADDR_CID_HYPERVISOR                = 0x0\n\tVMADDR_CID_RESERVED                  = 0x1\n\tVMADDR_PORT_ANY                      = 0xffffffff\n\tVMIN                                 = 0x5\n\tVM_SOCKETS_INVALID_VERSION           = 0xffffffff\n\tVQUIT                                = 0x1\n\tVREPRINT                             = 0xb\n\tVSTART                               = 0xd\n\tVSTOP                                = 0xe\n\tVSUSP                                = 0xc\n\tVSWTC                                = 0x9\n\tVT0                                  = 0x0\n\tVT1                                  = 0x10000\n\tVTDLY                                = 0x10000\n\tVTIME                                = 0x7\n\tVWERASE                              = 0xa\n\tWALL                                 = 0x40000000\n\tWCLONE                               = 0x80000000\n\tWCONTINUED                           = 0x8\n\tWDIOC_GETBOOTSTATUS                  = 0x40045702\n\tWDIOC_GETPRETIMEOUT                  = 0x40045709\n\tWDIOC_GETSTATUS                      = 0x40045701\n\tWDIOC_GETSUPPORT                     = 0x40285700\n\tWDIOC_GETTEMP                        = 0x40045703\n\tWDIOC_GETTIMELEFT                    = 0x4004570a\n\tWDIOC_GETTIMEOUT                     = 0x40045707\n\tWDIOC_KEEPALIVE                      = 0x40045705\n\tWDIOC_SETOPTIONS                     = 0x40045704\n\tWDIOC_SETPRETIMEOUT                  = 0xc0045708\n\tWDIOC_SETTIMEOUT                     = 0xc0045706\n\tWEXITED                              = 0x4\n\tWIN_ACKMEDIACHANGE                   = 0xdb\n\tWIN_CHECKPOWERMODE1                  = 0xe5\n\tWIN_CHECKPOWERMODE2                  = 0x98\n\tWIN_DEVICE_RESET                     = 0x8\n\tWIN_DIAGNOSE                         = 0x90\n\tWIN_DOORLOCK                         = 0xde\n\tWIN_DOORUNLOCK                       = 0xdf\n\tWIN_DOWNLOAD_MICROCODE               = 0x92\n\tWIN_FLUSH_CACHE                      = 0xe7\n\tWIN_FLUSH_CACHE_EXT                  = 0xea\n\tWIN_FORMAT                           = 0x50\n\tWIN_GETMEDIASTATUS                   = 0xda\n\tWIN_IDENTIFY                         = 0xec\n\tWIN_IDENTIFY_DMA                     = 0xee\n\tWIN_IDLEIMMEDIATE                    = 0xe1\n\tWIN_INIT                             = 0x60\n\tWIN_MEDIAEJECT                       = 0xed\n\tWIN_MULTREAD                         = 0xc4\n\tWIN_MULTREAD_EXT                     = 0x29\n\tWIN_MULTWRITE                        = 0xc5\n\tWIN_MULTWRITE_EXT                    = 0x39\n\tWIN_NOP                              = 0x0\n\tWIN_PACKETCMD                        = 0xa0\n\tWIN_PIDENTIFY                        = 0xa1\n\tWIN_POSTBOOT                         = 0xdc\n\tWIN_PREBOOT                          = 0xdd\n\tWIN_QUEUED_SERVICE                   = 0xa2\n\tWIN_READ                             = 0x20\n\tWIN_READDMA                          = 0xc8\n\tWIN_READDMA_EXT                      = 0x25\n\tWIN_READDMA_ONCE                     = 0xc9\n\tWIN_READDMA_QUEUED                   = 0xc7\n\tWIN_READDMA_QUEUED_EXT               = 0x26\n\tWIN_READ_BUFFER                      = 0xe4\n\tWIN_READ_EXT                         = 0x24\n\tWIN_READ_LONG                        = 0x22\n\tWIN_READ_LONG_ONCE                   = 0x23\n\tWIN_READ_NATIVE_MAX                  = 0xf8\n\tWIN_READ_NATIVE_MAX_EXT              = 0x27\n\tWIN_READ_ONCE                        = 0x21\n\tWIN_RECAL                            = 0x10\n\tWIN_RESTORE                          = 0x10\n\tWIN_SECURITY_DISABLE                 = 0xf6\n\tWIN_SECURITY_ERASE_PREPARE           = 0xf3\n\tWIN_SECURITY_ERASE_UNIT              = 0xf4\n\tWIN_SECURITY_FREEZE_LOCK             = 0xf5\n\tWIN_SECURITY_SET_PASS                = 0xf1\n\tWIN_SECURITY_UNLOCK                  = 0xf2\n\tWIN_SEEK                             = 0x70\n\tWIN_SETFEATURES                      = 0xef\n\tWIN_SETIDLE1                         = 0xe3\n\tWIN_SETIDLE2                         = 0x97\n\tWIN_SETMULT                          = 0xc6\n\tWIN_SET_MAX                          = 0xf9\n\tWIN_SET_MAX_EXT                      = 0x37\n\tWIN_SLEEPNOW1                        = 0xe6\n\tWIN_SLEEPNOW2                        = 0x99\n\tWIN_SMART                            = 0xb0\n\tWIN_SPECIFY                          = 0x91\n\tWIN_SRST                             = 0x8\n\tWIN_STANDBY                          = 0xe2\n\tWIN_STANDBY2                         = 0x96\n\tWIN_STANDBYNOW1                      = 0xe0\n\tWIN_STANDBYNOW2                      = 0x94\n\tWIN_VERIFY                           = 0x40\n\tWIN_VERIFY_EXT                       = 0x42\n\tWIN_VERIFY_ONCE                      = 0x41\n\tWIN_WRITE                            = 0x30\n\tWIN_WRITEDMA                         = 0xca\n\tWIN_WRITEDMA_EXT                     = 0x35\n\tWIN_WRITEDMA_ONCE                    = 0xcb\n\tWIN_WRITEDMA_QUEUED                  = 0xcc\n\tWIN_WRITEDMA_QUEUED_EXT              = 0x36\n\tWIN_WRITE_BUFFER                     = 0xe8\n\tWIN_WRITE_EXT                        = 0x34\n\tWIN_WRITE_LONG                       = 0x32\n\tWIN_WRITE_LONG_ONCE                  = 0x33\n\tWIN_WRITE_ONCE                       = 0x31\n\tWIN_WRITE_SAME                       = 0xe9\n\tWIN_WRITE_VERIFY                     = 0x3c\n\tWNOHANG                              = 0x1\n\tWNOTHREAD                            = 0x20000000\n\tWNOWAIT                              = 0x1000000\n\tWORDSIZE                             = 0x40\n\tWSTOPPED                             = 0x2\n\tWUNTRACED                            = 0x2\n\tXATTR_CREATE                         = 0x1\n\tXATTR_REPLACE                        = 0x2\n\tXCASE                                = 0x4000\n\tXENFS_SUPER_MAGIC                    = 0xabba1974\n\tXTABS                                = 0xc00\n\tZSMALLOC_MAGIC                       = 0x58295829\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x62)\n\tEADDRNOTAVAIL   = syscall.Errno(0x63)\n\tEADV            = syscall.Errno(0x44)\n\tEAFNOSUPPORT    = syscall.Errno(0x61)\n\tEAGAIN          = syscall.Errno(0xb)\n\tEALREADY        = syscall.Errno(0x72)\n\tEBADE           = syscall.Errno(0x34)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADFD          = syscall.Errno(0x4d)\n\tEBADMSG         = syscall.Errno(0x4a)\n\tEBADR           = syscall.Errno(0x35)\n\tEBADRQC         = syscall.Errno(0x38)\n\tEBADSLT         = syscall.Errno(0x39)\n\tEBFONT          = syscall.Errno(0x3b)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x7d)\n\tECHILD          = syscall.Errno(0xa)\n\tECHRNG          = syscall.Errno(0x2c)\n\tECOMM           = syscall.Errno(0x46)\n\tECONNABORTED    = syscall.Errno(0x67)\n\tECONNREFUSED    = syscall.Errno(0x6f)\n\tECONNRESET      = syscall.Errno(0x68)\n\tEDEADLK         = syscall.Errno(0x23)\n\tEDEADLOCK       = syscall.Errno(0x3a)\n\tEDESTADDRREQ    = syscall.Errno(0x59)\n\tEDOM            = syscall.Errno(0x21)\n\tEDOTDOT         = syscall.Errno(0x49)\n\tEDQUOT          = syscall.Errno(0x7a)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEHOSTDOWN       = syscall.Errno(0x70)\n\tEHOSTUNREACH    = syscall.Errno(0x71)\n\tEHWPOISON       = syscall.Errno(0x85)\n\tEIDRM           = syscall.Errno(0x2b)\n\tEILSEQ          = syscall.Errno(0x54)\n\tEINPROGRESS     = syscall.Errno(0x73)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x6a)\n\tEISDIR          = syscall.Errno(0x15)\n\tEISNAM          = syscall.Errno(0x78)\n\tEKEYEXPIRED     = syscall.Errno(0x7f)\n\tEKEYREJECTED    = syscall.Errno(0x81)\n\tEKEYREVOKED     = syscall.Errno(0x80)\n\tEL2HLT          = syscall.Errno(0x33)\n\tEL2NSYNC        = syscall.Errno(0x2d)\n\tEL3HLT          = syscall.Errno(0x2e)\n\tEL3RST          = syscall.Errno(0x2f)\n\tELIBACC         = syscall.Errno(0x4f)\n\tELIBBAD         = syscall.Errno(0x50)\n\tELIBEXEC        = syscall.Errno(0x53)\n\tELIBMAX         = syscall.Errno(0x52)\n\tELIBSCN         = syscall.Errno(0x51)\n\tELNRNG          = syscall.Errno(0x30)\n\tELOOP           = syscall.Errno(0x28)\n\tEMEDIUMTYPE     = syscall.Errno(0x7c)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x5a)\n\tEMULTIHOP       = syscall.Errno(0x48)\n\tENAMETOOLONG    = syscall.Errno(0x24)\n\tENAVAIL         = syscall.Errno(0x77)\n\tENETDOWN        = syscall.Errno(0x64)\n\tENETRESET       = syscall.Errno(0x66)\n\tENETUNREACH     = syscall.Errno(0x65)\n\tENFILE          = syscall.Errno(0x17)\n\tENOANO          = syscall.Errno(0x37)\n\tENOBUFS         = syscall.Errno(0x69)\n\tENOCSI          = syscall.Errno(0x32)\n\tENODATA         = syscall.Errno(0x3d)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOKEY          = syscall.Errno(0x7e)\n\tENOLCK          = syscall.Errno(0x25)\n\tENOLINK         = syscall.Errno(0x43)\n\tENOMEDIUM       = syscall.Errno(0x7b)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x2a)\n\tENONET          = syscall.Errno(0x40)\n\tENOPKG          = syscall.Errno(0x41)\n\tENOPROTOOPT     = syscall.Errno(0x5c)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x3f)\n\tENOSTR          = syscall.Errno(0x3c)\n\tENOSYS          = syscall.Errno(0x26)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x6b)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x27)\n\tENOTNAM         = syscall.Errno(0x76)\n\tENOTRECOVERABLE = syscall.Errno(0x83)\n\tENOTSOCK        = syscall.Errno(0x58)\n\tENOTSUP         = syscall.Errno(0x5f)\n\tENOTTY          = syscall.Errno(0x19)\n\tENOTUNIQ        = syscall.Errno(0x4c)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x5f)\n\tEOVERFLOW       = syscall.Errno(0x4b)\n\tEOWNERDEAD      = syscall.Errno(0x82)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x60)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROTO          = syscall.Errno(0x47)\n\tEPROTONOSUPPORT = syscall.Errno(0x5d)\n\tEPROTOTYPE      = syscall.Errno(0x5b)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMCHG         = syscall.Errno(0x4e)\n\tEREMOTE         = syscall.Errno(0x42)\n\tEREMOTEIO       = syscall.Errno(0x79)\n\tERESTART        = syscall.Errno(0x55)\n\tERFKILL         = syscall.Errno(0x84)\n\tEROFS           = syscall.Errno(0x1e)\n\tESHUTDOWN       = syscall.Errno(0x6c)\n\tESOCKTNOSUPPORT = syscall.Errno(0x5e)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESRMNT          = syscall.Errno(0x45)\n\tESTALE          = syscall.Errno(0x74)\n\tESTRPIPE        = syscall.Errno(0x56)\n\tETIME           = syscall.Errno(0x3e)\n\tETIMEDOUT       = syscall.Errno(0x6e)\n\tETOOMANYREFS    = syscall.Errno(0x6d)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUCLEAN         = syscall.Errno(0x75)\n\tEUNATCH         = syscall.Errno(0x31)\n\tEUSERS          = syscall.Errno(0x57)\n\tEWOULDBLOCK     = syscall.Errno(0xb)\n\tEXDEV           = syscall.Errno(0x12)\n\tEXFULL          = syscall.Errno(0x36)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0x7)\n\tSIGCHLD   = syscall.Signal(0x11)\n\tSIGCLD    = syscall.Signal(0x11)\n\tSIGCONT   = syscall.Signal(0x12)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x1d)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPOLL   = syscall.Signal(0x1d)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGPWR    = syscall.Signal(0x1e)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTKFLT = syscall.Signal(0x10)\n\tSIGSTOP   = syscall.Signal(0x13)\n\tSIGSYS    = syscall.Signal(0x1f)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x14)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x17)\n\tSIGUSR1   = syscall.Signal(0xa)\n\tSIGUSR2   = syscall.Signal(0xc)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errorList = [...]struct {\n\tnum  syscall.Errno\n\tname string\n\tdesc string\n}{\n\t{1, \"EPERM\", \"operation not permitted\"},\n\t{2, \"ENOENT\", \"no such file or directory\"},\n\t{3, \"ESRCH\", \"no such process\"},\n\t{4, \"EINTR\", \"interrupted system call\"},\n\t{5, \"EIO\", \"input/output error\"},\n\t{6, \"ENXIO\", \"no such device or address\"},\n\t{7, \"E2BIG\", \"argument list too long\"},\n\t{8, \"ENOEXEC\", \"exec format error\"},\n\t{9, \"EBADF\", \"bad file descriptor\"},\n\t{10, \"ECHILD\", \"no child processes\"},\n\t{11, \"EAGAIN\", \"resource temporarily unavailable\"},\n\t{12, \"ENOMEM\", \"cannot allocate memory\"},\n\t{13, \"EACCES\", \"permission denied\"},\n\t{14, \"EFAULT\", \"bad address\"},\n\t{15, \"ENOTBLK\", \"block device required\"},\n\t{16, \"EBUSY\", \"device or resource busy\"},\n\t{17, \"EEXIST\", \"file exists\"},\n\t{18, \"EXDEV\", \"invalid cross-device link\"},\n\t{19, \"ENODEV\", \"no such device\"},\n\t{20, \"ENOTDIR\", \"not a directory\"},\n\t{21, \"EISDIR\", \"is a directory\"},\n\t{22, \"EINVAL\", \"invalid argument\"},\n\t{23, \"ENFILE\", \"too many open files in system\"},\n\t{24, \"EMFILE\", \"too many open files\"},\n\t{25, \"ENOTTY\", \"inappropriate ioctl for device\"},\n\t{26, \"ETXTBSY\", \"text file busy\"},\n\t{27, \"EFBIG\", \"file too large\"},\n\t{28, \"ENOSPC\", \"no space left on device\"},\n\t{29, \"ESPIPE\", \"illegal seek\"},\n\t{30, \"EROFS\", \"read-only file system\"},\n\t{31, \"EMLINK\", \"too many links\"},\n\t{32, \"EPIPE\", \"broken pipe\"},\n\t{33, \"EDOM\", \"numerical argument out of domain\"},\n\t{34, \"ERANGE\", \"numerical result out of range\"},\n\t{35, \"EDEADLK\", \"resource deadlock avoided\"},\n\t{36, \"ENAMETOOLONG\", \"file name too long\"},\n\t{37, \"ENOLCK\", \"no locks available\"},\n\t{38, \"ENOSYS\", \"function not implemented\"},\n\t{39, \"ENOTEMPTY\", \"directory not empty\"},\n\t{40, \"ELOOP\", \"too many levels of symbolic links\"},\n\t{42, \"ENOMSG\", \"no message of desired type\"},\n\t{43, \"EIDRM\", \"identifier removed\"},\n\t{44, \"ECHRNG\", \"channel number out of range\"},\n\t{45, \"EL2NSYNC\", \"level 2 not synchronized\"},\n\t{46, \"EL3HLT\", \"level 3 halted\"},\n\t{47, \"EL3RST\", \"level 3 reset\"},\n\t{48, \"ELNRNG\", \"link number out of range\"},\n\t{49, \"EUNATCH\", \"protocol driver not attached\"},\n\t{50, \"ENOCSI\", \"no CSI structure available\"},\n\t{51, \"EL2HLT\", \"level 2 halted\"},\n\t{52, \"EBADE\", \"invalid exchange\"},\n\t{53, \"EBADR\", \"invalid request descriptor\"},\n\t{54, \"EXFULL\", \"exchange full\"},\n\t{55, \"ENOANO\", \"no anode\"},\n\t{56, \"EBADRQC\", \"invalid request code\"},\n\t{57, \"EBADSLT\", \"invalid slot\"},\n\t{58, \"EDEADLOCK\", \"file locking deadlock error\"},\n\t{59, \"EBFONT\", \"bad font file format\"},\n\t{60, \"ENOSTR\", \"device not a stream\"},\n\t{61, \"ENODATA\", \"no data available\"},\n\t{62, \"ETIME\", \"timer expired\"},\n\t{63, \"ENOSR\", \"out of streams resources\"},\n\t{64, \"ENONET\", \"machine is not on the network\"},\n\t{65, \"ENOPKG\", \"package not installed\"},\n\t{66, \"EREMOTE\", \"object is remote\"},\n\t{67, \"ENOLINK\", \"link has been severed\"},\n\t{68, \"EADV\", \"advertise error\"},\n\t{69, \"ESRMNT\", \"srmount error\"},\n\t{70, \"ECOMM\", \"communication error on send\"},\n\t{71, \"EPROTO\", \"protocol error\"},\n\t{72, \"EMULTIHOP\", \"multihop attempted\"},\n\t{73, \"EDOTDOT\", \"RFS specific error\"},\n\t{74, \"EBADMSG\", \"bad message\"},\n\t{75, \"EOVERFLOW\", \"value too large for defined data type\"},\n\t{76, \"ENOTUNIQ\", \"name not unique on network\"},\n\t{77, \"EBADFD\", \"file descriptor in bad state\"},\n\t{78, \"EREMCHG\", \"remote address changed\"},\n\t{79, \"ELIBACC\", \"can not access a needed shared library\"},\n\t{80, \"ELIBBAD\", \"accessing a corrupted shared library\"},\n\t{81, \"ELIBSCN\", \".lib section in a.out corrupted\"},\n\t{82, \"ELIBMAX\", \"attempting to link in too many shared libraries\"},\n\t{83, \"ELIBEXEC\", \"cannot exec a shared library directly\"},\n\t{84, \"EILSEQ\", \"invalid or incomplete multibyte or wide character\"},\n\t{85, \"ERESTART\", \"interrupted system call should be restarted\"},\n\t{86, \"ESTRPIPE\", \"streams pipe error\"},\n\t{87, \"EUSERS\", \"too many users\"},\n\t{88, \"ENOTSOCK\", \"socket operation on non-socket\"},\n\t{89, \"EDESTADDRREQ\", \"destination address required\"},\n\t{90, \"EMSGSIZE\", \"message too long\"},\n\t{91, \"EPROTOTYPE\", \"protocol wrong type for socket\"},\n\t{92, \"ENOPROTOOPT\", \"protocol not available\"},\n\t{93, \"EPROTONOSUPPORT\", \"protocol not supported\"},\n\t{94, \"ESOCKTNOSUPPORT\", \"socket type not supported\"},\n\t{95, \"ENOTSUP\", \"operation not supported\"},\n\t{96, \"EPFNOSUPPORT\", \"protocol family not supported\"},\n\t{97, \"EAFNOSUPPORT\", \"address family not supported by protocol\"},\n\t{98, \"EADDRINUSE\", \"address already in use\"},\n\t{99, \"EADDRNOTAVAIL\", \"cannot assign requested address\"},\n\t{100, \"ENETDOWN\", \"network is down\"},\n\t{101, \"ENETUNREACH\", \"network is unreachable\"},\n\t{102, \"ENETRESET\", \"network dropped connection on reset\"},\n\t{103, \"ECONNABORTED\", \"software caused connection abort\"},\n\t{104, \"ECONNRESET\", \"connection reset by peer\"},\n\t{105, \"ENOBUFS\", \"no buffer space available\"},\n\t{106, \"EISCONN\", \"transport endpoint is already connected\"},\n\t{107, \"ENOTCONN\", \"transport endpoint is not connected\"},\n\t{108, \"ESHUTDOWN\", \"cannot send after transport endpoint shutdown\"},\n\t{109, \"ETOOMANYREFS\", \"too many references: cannot splice\"},\n\t{110, \"ETIMEDOUT\", \"connection timed out\"},\n\t{111, \"ECONNREFUSED\", \"connection refused\"},\n\t{112, \"EHOSTDOWN\", \"host is down\"},\n\t{113, \"EHOSTUNREACH\", \"no route to host\"},\n\t{114, \"EALREADY\", \"operation already in progress\"},\n\t{115, \"EINPROGRESS\", \"operation now in progress\"},\n\t{116, \"ESTALE\", \"stale file handle\"},\n\t{117, \"EUCLEAN\", \"structure needs cleaning\"},\n\t{118, \"ENOTNAM\", \"not a XENIX named type file\"},\n\t{119, \"ENAVAIL\", \"no XENIX semaphores available\"},\n\t{120, \"EISNAM\", \"is a named type file\"},\n\t{121, \"EREMOTEIO\", \"remote I/O error\"},\n\t{122, \"EDQUOT\", \"disk quota exceeded\"},\n\t{123, \"ENOMEDIUM\", \"no medium found\"},\n\t{124, \"EMEDIUMTYPE\", \"wrong medium type\"},\n\t{125, \"ECANCELED\", \"operation canceled\"},\n\t{126, \"ENOKEY\", \"required key not available\"},\n\t{127, \"EKEYEXPIRED\", \"key has expired\"},\n\t{128, \"EKEYREVOKED\", \"key has been revoked\"},\n\t{129, \"EKEYREJECTED\", \"key was rejected by service\"},\n\t{130, \"EOWNERDEAD\", \"owner died\"},\n\t{131, \"ENOTRECOVERABLE\", \"state not recoverable\"},\n\t{132, \"ERFKILL\", \"operation not possible due to RF-kill\"},\n\t{133, \"EHWPOISON\", \"memory page has hardware error\"},\n}\n\n// Signal table\nvar signalList = [...]struct {\n\tnum  syscall.Signal\n\tname string\n\tdesc string\n}{\n\t{1, \"SIGHUP\", \"hangup\"},\n\t{2, \"SIGINT\", \"interrupt\"},\n\t{3, \"SIGQUIT\", \"quit\"},\n\t{4, \"SIGILL\", \"illegal instruction\"},\n\t{5, \"SIGTRAP\", \"trace/breakpoint trap\"},\n\t{6, \"SIGABRT\", \"aborted\"},\n\t{7, \"SIGBUS\", \"bus error\"},\n\t{8, \"SIGFPE\", \"floating point exception\"},\n\t{9, \"SIGKILL\", \"killed\"},\n\t{10, \"SIGUSR1\", \"user defined signal 1\"},\n\t{11, \"SIGSEGV\", \"segmentation fault\"},\n\t{12, \"SIGUSR2\", \"user defined signal 2\"},\n\t{13, \"SIGPIPE\", \"broken pipe\"},\n\t{14, \"SIGALRM\", \"alarm clock\"},\n\t{15, \"SIGTERM\", \"terminated\"},\n\t{16, \"SIGSTKFLT\", \"stack fault\"},\n\t{17, \"SIGCHLD\", \"child exited\"},\n\t{18, \"SIGCONT\", \"continued\"},\n\t{19, \"SIGSTOP\", \"stopped (signal)\"},\n\t{20, \"SIGTSTP\", \"stopped\"},\n\t{21, \"SIGTTIN\", \"stopped (tty input)\"},\n\t{22, \"SIGTTOU\", \"stopped (tty output)\"},\n\t{23, \"SIGURG\", \"urgent I/O condition\"},\n\t{24, \"SIGXCPU\", \"CPU time limit exceeded\"},\n\t{25, \"SIGXFSZ\", \"file size limit exceeded\"},\n\t{26, \"SIGVTALRM\", \"virtual timer expired\"},\n\t{27, \"SIGPROF\", \"profiling timer expired\"},\n\t{28, \"SIGWINCH\", \"window changed\"},\n\t{29, \"SIGIO\", \"I/O possible\"},\n\t{30, \"SIGPWR\", \"power failure\"},\n\t{31, \"SIGSYS\", \"bad system call\"},\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go",
    "content": "// mkerrors.sh -Wall -Werror -static -I/tmp/include\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build ppc64le,linux\n\n// Code generated by cmd/cgo -godefs; DO NOT EDIT.\n// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAAFS_MAGIC                           = 0x5a3c69f0\n\tADFS_SUPER_MAGIC                     = 0xadf5\n\tAFFS_SUPER_MAGIC                     = 0xadff\n\tAFS_FS_MAGIC                         = 0x6b414653\n\tAFS_SUPER_MAGIC                      = 0x5346414f\n\tAF_ALG                               = 0x26\n\tAF_APPLETALK                         = 0x5\n\tAF_ASH                               = 0x12\n\tAF_ATMPVC                            = 0x8\n\tAF_ATMSVC                            = 0x14\n\tAF_AX25                              = 0x3\n\tAF_BLUETOOTH                         = 0x1f\n\tAF_BRIDGE                            = 0x7\n\tAF_CAIF                              = 0x25\n\tAF_CAN                               = 0x1d\n\tAF_DECnet                            = 0xc\n\tAF_ECONET                            = 0x13\n\tAF_FILE                              = 0x1\n\tAF_IB                                = 0x1b\n\tAF_IEEE802154                        = 0x24\n\tAF_INET                              = 0x2\n\tAF_INET6                             = 0xa\n\tAF_IPX                               = 0x4\n\tAF_IRDA                              = 0x17\n\tAF_ISDN                              = 0x22\n\tAF_IUCV                              = 0x20\n\tAF_KCM                               = 0x29\n\tAF_KEY                               = 0xf\n\tAF_LLC                               = 0x1a\n\tAF_LOCAL                             = 0x1\n\tAF_MAX                               = 0x2c\n\tAF_MPLS                              = 0x1c\n\tAF_NETBEUI                           = 0xd\n\tAF_NETLINK                           = 0x10\n\tAF_NETROM                            = 0x6\n\tAF_NFC                               = 0x27\n\tAF_PACKET                            = 0x11\n\tAF_PHONET                            = 0x23\n\tAF_PPPOX                             = 0x18\n\tAF_QIPCRTR                           = 0x2a\n\tAF_RDS                               = 0x15\n\tAF_ROSE                              = 0xb\n\tAF_ROUTE                             = 0x10\n\tAF_RXRPC                             = 0x21\n\tAF_SECURITY                          = 0xe\n\tAF_SMC                               = 0x2b\n\tAF_SNA                               = 0x16\n\tAF_TIPC                              = 0x1e\n\tAF_UNIX                              = 0x1\n\tAF_UNSPEC                            = 0x0\n\tAF_VSOCK                             = 0x28\n\tAF_WANPIPE                           = 0x19\n\tAF_X25                               = 0x9\n\tALG_OP_DECRYPT                       = 0x0\n\tALG_OP_ENCRYPT                       = 0x1\n\tALG_SET_AEAD_ASSOCLEN                = 0x4\n\tALG_SET_AEAD_AUTHSIZE                = 0x5\n\tALG_SET_IV                           = 0x2\n\tALG_SET_KEY                          = 0x1\n\tALG_SET_OP                           = 0x3\n\tANON_INODE_FS_MAGIC                  = 0x9041934\n\tARPHRD_6LOWPAN                       = 0x339\n\tARPHRD_ADAPT                         = 0x108\n\tARPHRD_APPLETLK                      = 0x8\n\tARPHRD_ARCNET                        = 0x7\n\tARPHRD_ASH                           = 0x30d\n\tARPHRD_ATM                           = 0x13\n\tARPHRD_AX25                          = 0x3\n\tARPHRD_BIF                           = 0x307\n\tARPHRD_CAIF                          = 0x336\n\tARPHRD_CAN                           = 0x118\n\tARPHRD_CHAOS                         = 0x5\n\tARPHRD_CISCO                         = 0x201\n\tARPHRD_CSLIP                         = 0x101\n\tARPHRD_CSLIP6                        = 0x103\n\tARPHRD_DDCMP                         = 0x205\n\tARPHRD_DLCI                          = 0xf\n\tARPHRD_ECONET                        = 0x30e\n\tARPHRD_EETHER                        = 0x2\n\tARPHRD_ETHER                         = 0x1\n\tARPHRD_EUI64                         = 0x1b\n\tARPHRD_FCAL                          = 0x311\n\tARPHRD_FCFABRIC                      = 0x313\n\tARPHRD_FCPL                          = 0x312\n\tARPHRD_FCPP                          = 0x310\n\tARPHRD_FDDI                          = 0x306\n\tARPHRD_FRAD                          = 0x302\n\tARPHRD_HDLC                          = 0x201\n\tARPHRD_HIPPI                         = 0x30c\n\tARPHRD_HWX25                         = 0x110\n\tARPHRD_IEEE1394                      = 0x18\n\tARPHRD_IEEE802                       = 0x6\n\tARPHRD_IEEE80211                     = 0x321\n\tARPHRD_IEEE80211_PRISM               = 0x322\n\tARPHRD_IEEE80211_RADIOTAP            = 0x323\n\tARPHRD_IEEE802154                    = 0x324\n\tARPHRD_IEEE802154_MONITOR            = 0x325\n\tARPHRD_IEEE802_TR                    = 0x320\n\tARPHRD_INFINIBAND                    = 0x20\n\tARPHRD_IP6GRE                        = 0x337\n\tARPHRD_IPDDP                         = 0x309\n\tARPHRD_IPGRE                         = 0x30a\n\tARPHRD_IRDA                          = 0x30f\n\tARPHRD_LAPB                          = 0x204\n\tARPHRD_LOCALTLK                      = 0x305\n\tARPHRD_LOOPBACK                      = 0x304\n\tARPHRD_METRICOM                      = 0x17\n\tARPHRD_NETLINK                       = 0x338\n\tARPHRD_NETROM                        = 0x0\n\tARPHRD_NONE                          = 0xfffe\n\tARPHRD_PHONET                        = 0x334\n\tARPHRD_PHONET_PIPE                   = 0x335\n\tARPHRD_PIMREG                        = 0x30b\n\tARPHRD_PPP                           = 0x200\n\tARPHRD_PRONET                        = 0x4\n\tARPHRD_RAWHDLC                       = 0x206\n\tARPHRD_RAWIP                         = 0x207\n\tARPHRD_ROSE                          = 0x10e\n\tARPHRD_RSRVD                         = 0x104\n\tARPHRD_SIT                           = 0x308\n\tARPHRD_SKIP                          = 0x303\n\tARPHRD_SLIP                          = 0x100\n\tARPHRD_SLIP6                         = 0x102\n\tARPHRD_TUNNEL                        = 0x300\n\tARPHRD_TUNNEL6                       = 0x301\n\tARPHRD_VOID                          = 0xffff\n\tARPHRD_VSOCKMON                      = 0x33a\n\tARPHRD_X25                           = 0x10f\n\tAUTOFS_SUPER_MAGIC                   = 0x187\n\tB0                                   = 0x0\n\tB1000000                             = 0x17\n\tB110                                 = 0x3\n\tB115200                              = 0x11\n\tB1152000                             = 0x18\n\tB1200                                = 0x9\n\tB134                                 = 0x4\n\tB150                                 = 0x5\n\tB1500000                             = 0x19\n\tB1800                                = 0xa\n\tB19200                               = 0xe\n\tB200                                 = 0x6\n\tB2000000                             = 0x1a\n\tB230400                              = 0x12\n\tB2400                                = 0xb\n\tB2500000                             = 0x1b\n\tB300                                 = 0x7\n\tB3000000                             = 0x1c\n\tB3500000                             = 0x1d\n\tB38400                               = 0xf\n\tB4000000                             = 0x1e\n\tB460800                              = 0x13\n\tB4800                                = 0xc\n\tB50                                  = 0x1\n\tB500000                              = 0x14\n\tB57600                               = 0x10\n\tB576000                              = 0x15\n\tB600                                 = 0x8\n\tB75                                  = 0x2\n\tB921600                              = 0x16\n\tB9600                                = 0xd\n\tBALLOON_KVM_MAGIC                    = 0x13661366\n\tBDEVFS_MAGIC                         = 0x62646576\n\tBINFMTFS_MAGIC                       = 0x42494e4d\n\tBLKBSZGET                            = 0x40081270\n\tBLKBSZSET                            = 0x80081271\n\tBLKFLSBUF                            = 0x20001261\n\tBLKFRAGET                            = 0x20001265\n\tBLKFRASET                            = 0x20001264\n\tBLKGETSIZE                           = 0x20001260\n\tBLKGETSIZE64                         = 0x40081272\n\tBLKPBSZGET                           = 0x2000127b\n\tBLKRAGET                             = 0x20001263\n\tBLKRASET                             = 0x20001262\n\tBLKROGET                             = 0x2000125e\n\tBLKROSET                             = 0x2000125d\n\tBLKRRPART                            = 0x2000125f\n\tBLKSECTGET                           = 0x20001267\n\tBLKSECTSET                           = 0x20001266\n\tBLKSSZGET                            = 0x20001268\n\tBOTHER                               = 0x1f\n\tBPF_A                                = 0x10\n\tBPF_ABS                              = 0x20\n\tBPF_ADD                              = 0x0\n\tBPF_ALU                              = 0x4\n\tBPF_AND                              = 0x50\n\tBPF_B                                = 0x10\n\tBPF_DIV                              = 0x30\n\tBPF_FS_MAGIC                         = 0xcafe4a11\n\tBPF_H                                = 0x8\n\tBPF_IMM                              = 0x0\n\tBPF_IND                              = 0x40\n\tBPF_JA                               = 0x0\n\tBPF_JEQ                              = 0x10\n\tBPF_JGE                              = 0x30\n\tBPF_JGT                              = 0x20\n\tBPF_JMP                              = 0x5\n\tBPF_JSET                             = 0x40\n\tBPF_K                                = 0x0\n\tBPF_LD                               = 0x0\n\tBPF_LDX                              = 0x1\n\tBPF_LEN                              = 0x80\n\tBPF_LL_OFF                           = -0x200000\n\tBPF_LSH                              = 0x60\n\tBPF_MAJOR_VERSION                    = 0x1\n\tBPF_MAXINSNS                         = 0x1000\n\tBPF_MEM                              = 0x60\n\tBPF_MEMWORDS                         = 0x10\n\tBPF_MINOR_VERSION                    = 0x1\n\tBPF_MISC                             = 0x7\n\tBPF_MOD                              = 0x90\n\tBPF_MSH                              = 0xa0\n\tBPF_MUL                              = 0x20\n\tBPF_NEG                              = 0x80\n\tBPF_NET_OFF                          = -0x100000\n\tBPF_OR                               = 0x40\n\tBPF_RET                              = 0x6\n\tBPF_RSH                              = 0x70\n\tBPF_ST                               = 0x2\n\tBPF_STX                              = 0x3\n\tBPF_SUB                              = 0x10\n\tBPF_TAX                              = 0x0\n\tBPF_TXA                              = 0x80\n\tBPF_W                                = 0x0\n\tBPF_X                                = 0x8\n\tBPF_XOR                              = 0xa0\n\tBRKINT                               = 0x2\n\tBS0                                  = 0x0\n\tBS1                                  = 0x8000\n\tBSDLY                                = 0x8000\n\tBTRFS_SUPER_MAGIC                    = 0x9123683e\n\tBTRFS_TEST_MAGIC                     = 0x73727279\n\tCAN_BCM                              = 0x2\n\tCAN_EFF_FLAG                         = 0x80000000\n\tCAN_EFF_ID_BITS                      = 0x1d\n\tCAN_EFF_MASK                         = 0x1fffffff\n\tCAN_ERR_FLAG                         = 0x20000000\n\tCAN_ERR_MASK                         = 0x1fffffff\n\tCAN_INV_FILTER                       = 0x20000000\n\tCAN_ISOTP                            = 0x6\n\tCAN_MAX_DLC                          = 0x8\n\tCAN_MAX_DLEN                         = 0x8\n\tCAN_MCNET                            = 0x5\n\tCAN_MTU                              = 0x10\n\tCAN_NPROTO                           = 0x7\n\tCAN_RAW                              = 0x1\n\tCAN_RAW_FILTER_MAX                   = 0x200\n\tCAN_RTR_FLAG                         = 0x40000000\n\tCAN_SFF_ID_BITS                      = 0xb\n\tCAN_SFF_MASK                         = 0x7ff\n\tCAN_TP16                             = 0x3\n\tCAN_TP20                             = 0x4\n\tCBAUD                                = 0xff\n\tCBAUDEX                              = 0x0\n\tCFLUSH                               = 0xf\n\tCGROUP2_SUPER_MAGIC                  = 0x63677270\n\tCGROUP_SUPER_MAGIC                   = 0x27e0eb\n\tCIBAUD                               = 0xff0000\n\tCLOCAL                               = 0x8000\n\tCLOCK_BOOTTIME                       = 0x7\n\tCLOCK_BOOTTIME_ALARM                 = 0x9\n\tCLOCK_DEFAULT                        = 0x0\n\tCLOCK_EXT                            = 0x1\n\tCLOCK_INT                            = 0x2\n\tCLOCK_MONOTONIC                      = 0x1\n\tCLOCK_MONOTONIC_COARSE               = 0x6\n\tCLOCK_MONOTONIC_RAW                  = 0x4\n\tCLOCK_PROCESS_CPUTIME_ID             = 0x2\n\tCLOCK_REALTIME                       = 0x0\n\tCLOCK_REALTIME_ALARM                 = 0x8\n\tCLOCK_REALTIME_COARSE                = 0x5\n\tCLOCK_TAI                            = 0xb\n\tCLOCK_THREAD_CPUTIME_ID              = 0x3\n\tCLOCK_TXFROMRX                       = 0x4\n\tCLOCK_TXINT                          = 0x3\n\tCLONE_CHILD_CLEARTID                 = 0x200000\n\tCLONE_CHILD_SETTID                   = 0x1000000\n\tCLONE_DETACHED                       = 0x400000\n\tCLONE_FILES                          = 0x400\n\tCLONE_FS                             = 0x200\n\tCLONE_IO                             = 0x80000000\n\tCLONE_NEWCGROUP                      = 0x2000000\n\tCLONE_NEWIPC                         = 0x8000000\n\tCLONE_NEWNET                         = 0x40000000\n\tCLONE_NEWNS                          = 0x20000\n\tCLONE_NEWPID                         = 0x20000000\n\tCLONE_NEWUSER                        = 0x10000000\n\tCLONE_NEWUTS                         = 0x4000000\n\tCLONE_PARENT                         = 0x8000\n\tCLONE_PARENT_SETTID                  = 0x100000\n\tCLONE_PTRACE                         = 0x2000\n\tCLONE_SETTLS                         = 0x80000\n\tCLONE_SIGHAND                        = 0x800\n\tCLONE_SYSVSEM                        = 0x40000\n\tCLONE_THREAD                         = 0x10000\n\tCLONE_UNTRACED                       = 0x800000\n\tCLONE_VFORK                          = 0x4000\n\tCLONE_VM                             = 0x100\n\tCMSPAR                               = 0x40000000\n\tCODA_SUPER_MAGIC                     = 0x73757245\n\tCR0                                  = 0x0\n\tCR1                                  = 0x1000\n\tCR2                                  = 0x2000\n\tCR3                                  = 0x3000\n\tCRAMFS_MAGIC                         = 0x28cd3d45\n\tCRDLY                                = 0x3000\n\tCREAD                                = 0x800\n\tCRTSCTS                              = 0x80000000\n\tCS5                                  = 0x0\n\tCS6                                  = 0x100\n\tCS7                                  = 0x200\n\tCS8                                  = 0x300\n\tCSIGNAL                              = 0xff\n\tCSIZE                                = 0x300\n\tCSTART                               = 0x11\n\tCSTATUS                              = 0x0\n\tCSTOP                                = 0x13\n\tCSTOPB                               = 0x400\n\tCSUSP                                = 0x1a\n\tDAXFS_MAGIC                          = 0x64646178\n\tDEBUGFS_MAGIC                        = 0x64626720\n\tDEVPTS_SUPER_MAGIC                   = 0x1cd1\n\tDT_BLK                               = 0x6\n\tDT_CHR                               = 0x2\n\tDT_DIR                               = 0x4\n\tDT_FIFO                              = 0x1\n\tDT_LNK                               = 0xa\n\tDT_REG                               = 0x8\n\tDT_SOCK                              = 0xc\n\tDT_UNKNOWN                           = 0x0\n\tDT_WHT                               = 0xe\n\tECHO                                 = 0x8\n\tECHOCTL                              = 0x40\n\tECHOE                                = 0x2\n\tECHOK                                = 0x4\n\tECHOKE                               = 0x1\n\tECHONL                               = 0x10\n\tECHOPRT                              = 0x20\n\tECRYPTFS_SUPER_MAGIC                 = 0xf15f\n\tEFD_CLOEXEC                          = 0x80000\n\tEFD_NONBLOCK                         = 0x800\n\tEFD_SEMAPHORE                        = 0x1\n\tEFIVARFS_MAGIC                       = 0xde5e81e4\n\tEFS_SUPER_MAGIC                      = 0x414a53\n\tENCODING_DEFAULT                     = 0x0\n\tENCODING_FM_MARK                     = 0x3\n\tENCODING_FM_SPACE                    = 0x4\n\tENCODING_MANCHESTER                  = 0x5\n\tENCODING_NRZ                         = 0x1\n\tENCODING_NRZI                        = 0x2\n\tEPOLLERR                             = 0x8\n\tEPOLLET                              = 0x80000000\n\tEPOLLEXCLUSIVE                       = 0x10000000\n\tEPOLLHUP                             = 0x10\n\tEPOLLIN                              = 0x1\n\tEPOLLMSG                             = 0x400\n\tEPOLLONESHOT                         = 0x40000000\n\tEPOLLOUT                             = 0x4\n\tEPOLLPRI                             = 0x2\n\tEPOLLRDBAND                          = 0x80\n\tEPOLLRDHUP                           = 0x2000\n\tEPOLLRDNORM                          = 0x40\n\tEPOLLWAKEUP                          = 0x20000000\n\tEPOLLWRBAND                          = 0x200\n\tEPOLLWRNORM                          = 0x100\n\tEPOLL_CLOEXEC                        = 0x80000\n\tEPOLL_CTL_ADD                        = 0x1\n\tEPOLL_CTL_DEL                        = 0x2\n\tEPOLL_CTL_MOD                        = 0x3\n\tETH_P_1588                           = 0x88f7\n\tETH_P_8021AD                         = 0x88a8\n\tETH_P_8021AH                         = 0x88e7\n\tETH_P_8021Q                          = 0x8100\n\tETH_P_80221                          = 0x8917\n\tETH_P_802_2                          = 0x4\n\tETH_P_802_3                          = 0x1\n\tETH_P_802_3_MIN                      = 0x600\n\tETH_P_802_EX1                        = 0x88b5\n\tETH_P_AARP                           = 0x80f3\n\tETH_P_AF_IUCV                        = 0xfbfb\n\tETH_P_ALL                            = 0x3\n\tETH_P_AOE                            = 0x88a2\n\tETH_P_ARCNET                         = 0x1a\n\tETH_P_ARP                            = 0x806\n\tETH_P_ATALK                          = 0x809b\n\tETH_P_ATMFATE                        = 0x8884\n\tETH_P_ATMMPOA                        = 0x884c\n\tETH_P_AX25                           = 0x2\n\tETH_P_BATMAN                         = 0x4305\n\tETH_P_BPQ                            = 0x8ff\n\tETH_P_CAIF                           = 0xf7\n\tETH_P_CAN                            = 0xc\n\tETH_P_CANFD                          = 0xd\n\tETH_P_CONTROL                        = 0x16\n\tETH_P_CUST                           = 0x6006\n\tETH_P_DDCMP                          = 0x6\n\tETH_P_DEC                            = 0x6000\n\tETH_P_DIAG                           = 0x6005\n\tETH_P_DNA_DL                         = 0x6001\n\tETH_P_DNA_RC                         = 0x6002\n\tETH_P_DNA_RT                         = 0x6003\n\tETH_P_DSA                            = 0x1b\n\tETH_P_ECONET                         = 0x18\n\tETH_P_EDSA                           = 0xdada\n\tETH_P_ERSPAN                         = 0x88be\n\tETH_P_ERSPAN2                        = 0x22eb\n\tETH_P_FCOE                           = 0x8906\n\tETH_P_FIP                            = 0x8914\n\tETH_P_HDLC                           = 0x19\n\tETH_P_HSR                            = 0x892f\n\tETH_P_IBOE                           = 0x8915\n\tETH_P_IEEE802154                     = 0xf6\n\tETH_P_IEEEPUP                        = 0xa00\n\tETH_P_IEEEPUPAT                      = 0xa01\n\tETH_P_IFE                            = 0xed3e\n\tETH_P_IP                             = 0x800\n\tETH_P_IPV6                           = 0x86dd\n\tETH_P_IPX                            = 0x8137\n\tETH_P_IRDA                           = 0x17\n\tETH_P_LAT                            = 0x6004\n\tETH_P_LINK_CTL                       = 0x886c\n\tETH_P_LOCALTALK                      = 0x9\n\tETH_P_LOOP                           = 0x60\n\tETH_P_LOOPBACK                       = 0x9000\n\tETH_P_MACSEC                         = 0x88e5\n\tETH_P_MAP                            = 0xf9\n\tETH_P_MOBITEX                        = 0x15\n\tETH_P_MPLS_MC                        = 0x8848\n\tETH_P_MPLS_UC                        = 0x8847\n\tETH_P_MVRP                           = 0x88f5\n\tETH_P_NCSI                           = 0x88f8\n\tETH_P_NSH                            = 0x894f\n\tETH_P_PAE                            = 0x888e\n\tETH_P_PAUSE                          = 0x8808\n\tETH_P_PHONET                         = 0xf5\n\tETH_P_PPPTALK                        = 0x10\n\tETH_P_PPP_DISC                       = 0x8863\n\tETH_P_PPP_MP                         = 0x8\n\tETH_P_PPP_SES                        = 0x8864\n\tETH_P_PREAUTH                        = 0x88c7\n\tETH_P_PRP                            = 0x88fb\n\tETH_P_PUP                            = 0x200\n\tETH_P_PUPAT                          = 0x201\n\tETH_P_QINQ1                          = 0x9100\n\tETH_P_QINQ2                          = 0x9200\n\tETH_P_QINQ3                          = 0x9300\n\tETH_P_RARP                           = 0x8035\n\tETH_P_SCA                            = 0x6007\n\tETH_P_SLOW                           = 0x8809\n\tETH_P_SNAP                           = 0x5\n\tETH_P_TDLS                           = 0x890d\n\tETH_P_TEB                            = 0x6558\n\tETH_P_TIPC                           = 0x88ca\n\tETH_P_TRAILER                        = 0x1c\n\tETH_P_TR_802_2                       = 0x11\n\tETH_P_TSN                            = 0x22f0\n\tETH_P_WAN_PPP                        = 0x7\n\tETH_P_WCCP                           = 0x883e\n\tETH_P_X25                            = 0x805\n\tETH_P_XDSA                           = 0xf8\n\tEXABYTE_ENABLE_NEST                  = 0xf0\n\tEXT2_SUPER_MAGIC                     = 0xef53\n\tEXT3_SUPER_MAGIC                     = 0xef53\n\tEXT4_SUPER_MAGIC                     = 0xef53\n\tEXTA                                 = 0xe\n\tEXTB                                 = 0xf\n\tEXTPROC                              = 0x10000000\n\tF2FS_SUPER_MAGIC                     = 0xf2f52010\n\tFALLOC_FL_COLLAPSE_RANGE             = 0x8\n\tFALLOC_FL_INSERT_RANGE               = 0x20\n\tFALLOC_FL_KEEP_SIZE                  = 0x1\n\tFALLOC_FL_NO_HIDE_STALE              = 0x4\n\tFALLOC_FL_PUNCH_HOLE                 = 0x2\n\tFALLOC_FL_UNSHARE_RANGE              = 0x40\n\tFALLOC_FL_ZERO_RANGE                 = 0x10\n\tFD_CLOEXEC                           = 0x1\n\tFD_SETSIZE                           = 0x400\n\tFF0                                  = 0x0\n\tFF1                                  = 0x4000\n\tFFDLY                                = 0x4000\n\tFLUSHO                               = 0x800000\n\tFS_ENCRYPTION_MODE_AES_128_CBC       = 0x5\n\tFS_ENCRYPTION_MODE_AES_128_CTS       = 0x6\n\tFS_ENCRYPTION_MODE_AES_256_CBC       = 0x3\n\tFS_ENCRYPTION_MODE_AES_256_CTS       = 0x4\n\tFS_ENCRYPTION_MODE_AES_256_GCM       = 0x2\n\tFS_ENCRYPTION_MODE_AES_256_XTS       = 0x1\n\tFS_ENCRYPTION_MODE_INVALID           = 0x0\n\tFS_ENCRYPTION_MODE_SPECK128_256_CTS  = 0x8\n\tFS_ENCRYPTION_MODE_SPECK128_256_XTS  = 0x7\n\tFS_IOC_GET_ENCRYPTION_POLICY         = 0x800c6615\n\tFS_IOC_GET_ENCRYPTION_PWSALT         = 0x80106614\n\tFS_IOC_SET_ENCRYPTION_POLICY         = 0x400c6613\n\tFS_KEY_DESCRIPTOR_SIZE               = 0x8\n\tFS_KEY_DESC_PREFIX                   = \"fscrypt:\"\n\tFS_KEY_DESC_PREFIX_SIZE              = 0x8\n\tFS_MAX_KEY_SIZE                      = 0x40\n\tFS_POLICY_FLAGS_PAD_16               = 0x2\n\tFS_POLICY_FLAGS_PAD_32               = 0x3\n\tFS_POLICY_FLAGS_PAD_4                = 0x0\n\tFS_POLICY_FLAGS_PAD_8                = 0x1\n\tFS_POLICY_FLAGS_PAD_MASK             = 0x3\n\tFS_POLICY_FLAGS_VALID                = 0x3\n\tFUTEXFS_SUPER_MAGIC                  = 0xbad1dea\n\tF_ADD_SEALS                          = 0x409\n\tF_DUPFD                              = 0x0\n\tF_DUPFD_CLOEXEC                      = 0x406\n\tF_EXLCK                              = 0x4\n\tF_GETFD                              = 0x1\n\tF_GETFL                              = 0x3\n\tF_GETLEASE                           = 0x401\n\tF_GETLK                              = 0x5\n\tF_GETLK64                            = 0xc\n\tF_GETOWN                             = 0x9\n\tF_GETOWN_EX                          = 0x10\n\tF_GETPIPE_SZ                         = 0x408\n\tF_GETSIG                             = 0xb\n\tF_GET_FILE_RW_HINT                   = 0x40d\n\tF_GET_RW_HINT                        = 0x40b\n\tF_GET_SEALS                          = 0x40a\n\tF_LOCK                               = 0x1\n\tF_NOTIFY                             = 0x402\n\tF_OFD_GETLK                          = 0x24\n\tF_OFD_SETLK                          = 0x25\n\tF_OFD_SETLKW                         = 0x26\n\tF_OK                                 = 0x0\n\tF_RDLCK                              = 0x0\n\tF_SEAL_GROW                          = 0x4\n\tF_SEAL_SEAL                          = 0x1\n\tF_SEAL_SHRINK                        = 0x2\n\tF_SEAL_WRITE                         = 0x8\n\tF_SETFD                              = 0x2\n\tF_SETFL                              = 0x4\n\tF_SETLEASE                           = 0x400\n\tF_SETLK                              = 0x6\n\tF_SETLK64                            = 0xd\n\tF_SETLKW                             = 0x7\n\tF_SETLKW64                           = 0xe\n\tF_SETOWN                             = 0x8\n\tF_SETOWN_EX                          = 0xf\n\tF_SETPIPE_SZ                         = 0x407\n\tF_SETSIG                             = 0xa\n\tF_SET_FILE_RW_HINT                   = 0x40e\n\tF_SET_RW_HINT                        = 0x40c\n\tF_SHLCK                              = 0x8\n\tF_TEST                               = 0x3\n\tF_TLOCK                              = 0x2\n\tF_ULOCK                              = 0x0\n\tF_UNLCK                              = 0x2\n\tF_WRLCK                              = 0x1\n\tGENL_ADMIN_PERM                      = 0x1\n\tGENL_CMD_CAP_DO                      = 0x2\n\tGENL_CMD_CAP_DUMP                    = 0x4\n\tGENL_CMD_CAP_HASPOL                  = 0x8\n\tGENL_HDRLEN                          = 0x4\n\tGENL_ID_CTRL                         = 0x10\n\tGENL_ID_PMCRAID                      = 0x12\n\tGENL_ID_VFS_DQUOT                    = 0x11\n\tGENL_MAX_ID                          = 0x3ff\n\tGENL_MIN_ID                          = 0x10\n\tGENL_NAMSIZ                          = 0x10\n\tGENL_START_ALLOC                     = 0x13\n\tGENL_UNS_ADMIN_PERM                  = 0x10\n\tGRND_NONBLOCK                        = 0x1\n\tGRND_RANDOM                          = 0x2\n\tHDIO_DRIVE_CMD                       = 0x31f\n\tHDIO_DRIVE_CMD_AEB                   = 0x31e\n\tHDIO_DRIVE_CMD_HDR_SIZE              = 0x4\n\tHDIO_DRIVE_HOB_HDR_SIZE              = 0x8\n\tHDIO_DRIVE_RESET                     = 0x31c\n\tHDIO_DRIVE_TASK                      = 0x31e\n\tHDIO_DRIVE_TASKFILE                  = 0x31d\n\tHDIO_DRIVE_TASK_HDR_SIZE             = 0x8\n\tHDIO_GETGEO                          = 0x301\n\tHDIO_GET_32BIT                       = 0x309\n\tHDIO_GET_ACOUSTIC                    = 0x30f\n\tHDIO_GET_ADDRESS                     = 0x310\n\tHDIO_GET_BUSSTATE                    = 0x31a\n\tHDIO_GET_DMA                         = 0x30b\n\tHDIO_GET_IDENTITY                    = 0x30d\n\tHDIO_GET_KEEPSETTINGS                = 0x308\n\tHDIO_GET_MULTCOUNT                   = 0x304\n\tHDIO_GET_NICE                        = 0x30c\n\tHDIO_GET_NOWERR                      = 0x30a\n\tHDIO_GET_QDMA                        = 0x305\n\tHDIO_GET_UNMASKINTR                  = 0x302\n\tHDIO_GET_WCACHE                      = 0x30e\n\tHDIO_OBSOLETE_IDENTITY               = 0x307\n\tHDIO_SCAN_HWIF                       = 0x328\n\tHDIO_SET_32BIT                       = 0x324\n\tHDIO_SET_ACOUSTIC                    = 0x32c\n\tHDIO_SET_ADDRESS                     = 0x32f\n\tHDIO_SET_BUSSTATE                    = 0x32d\n\tHDIO_SET_DMA                         = 0x326\n\tHDIO_SET_KEEPSETTINGS                = 0x323\n\tHDIO_SET_MULTCOUNT                   = 0x321\n\tHDIO_SET_NICE                        = 0x329\n\tHDIO_SET_NOWERR                      = 0x325\n\tHDIO_SET_PIO_MODE                    = 0x327\n\tHDIO_SET_QDMA                        = 0x32e\n\tHDIO_SET_UNMASKINTR                  = 0x322\n\tHDIO_SET_WCACHE                      = 0x32b\n\tHDIO_SET_XFER                        = 0x306\n\tHDIO_TRISTATE_HWIF                   = 0x31b\n\tHDIO_UNREGISTER_HWIF                 = 0x32a\n\tHOSTFS_SUPER_MAGIC                   = 0xc0ffee\n\tHPFS_SUPER_MAGIC                     = 0xf995e849\n\tHUGETLBFS_MAGIC                      = 0x958458f6\n\tHUPCL                                = 0x4000\n\tIBSHIFT                              = 0x10\n\tICANON                               = 0x100\n\tICMPV6_FILTER                        = 0x1\n\tICRNL                                = 0x100\n\tIEXTEN                               = 0x400\n\tIFA_F_DADFAILED                      = 0x8\n\tIFA_F_DEPRECATED                     = 0x20\n\tIFA_F_HOMEADDRESS                    = 0x10\n\tIFA_F_MANAGETEMPADDR                 = 0x100\n\tIFA_F_MCAUTOJOIN                     = 0x400\n\tIFA_F_NODAD                          = 0x2\n\tIFA_F_NOPREFIXROUTE                  = 0x200\n\tIFA_F_OPTIMISTIC                     = 0x4\n\tIFA_F_PERMANENT                      = 0x80\n\tIFA_F_SECONDARY                      = 0x1\n\tIFA_F_STABLE_PRIVACY                 = 0x800\n\tIFA_F_TEMPORARY                      = 0x1\n\tIFA_F_TENTATIVE                      = 0x40\n\tIFA_MAX                              = 0x9\n\tIFF_ALLMULTI                         = 0x200\n\tIFF_ATTACH_QUEUE                     = 0x200\n\tIFF_AUTOMEDIA                        = 0x4000\n\tIFF_BROADCAST                        = 0x2\n\tIFF_DEBUG                            = 0x4\n\tIFF_DETACH_QUEUE                     = 0x400\n\tIFF_DORMANT                          = 0x20000\n\tIFF_DYNAMIC                          = 0x8000\n\tIFF_ECHO                             = 0x40000\n\tIFF_LOOPBACK                         = 0x8\n\tIFF_LOWER_UP                         = 0x10000\n\tIFF_MASTER                           = 0x400\n\tIFF_MULTICAST                        = 0x1000\n\tIFF_MULTI_QUEUE                      = 0x100\n\tIFF_NAPI                             = 0x10\n\tIFF_NAPI_FRAGS                       = 0x20\n\tIFF_NOARP                            = 0x80\n\tIFF_NOFILTER                         = 0x1000\n\tIFF_NOTRAILERS                       = 0x20\n\tIFF_NO_PI                            = 0x1000\n\tIFF_ONE_QUEUE                        = 0x2000\n\tIFF_PERSIST                          = 0x800\n\tIFF_POINTOPOINT                      = 0x10\n\tIFF_PORTSEL                          = 0x2000\n\tIFF_PROMISC                          = 0x100\n\tIFF_RUNNING                          = 0x40\n\tIFF_SLAVE                            = 0x800\n\tIFF_TAP                              = 0x2\n\tIFF_TUN                              = 0x1\n\tIFF_TUN_EXCL                         = 0x8000\n\tIFF_UP                               = 0x1\n\tIFF_VNET_HDR                         = 0x4000\n\tIFF_VOLATILE                         = 0x70c5a\n\tIFNAMSIZ                             = 0x10\n\tIGNBRK                               = 0x1\n\tIGNCR                                = 0x80\n\tIGNPAR                               = 0x4\n\tIMAXBEL                              = 0x2000\n\tINLCR                                = 0x40\n\tINPCK                                = 0x10\n\tIN_ACCESS                            = 0x1\n\tIN_ALL_EVENTS                        = 0xfff\n\tIN_ATTRIB                            = 0x4\n\tIN_CLASSA_HOST                       = 0xffffff\n\tIN_CLASSA_MAX                        = 0x80\n\tIN_CLASSA_NET                        = 0xff000000\n\tIN_CLASSA_NSHIFT                     = 0x18\n\tIN_CLASSB_HOST                       = 0xffff\n\tIN_CLASSB_MAX                        = 0x10000\n\tIN_CLASSB_NET                        = 0xffff0000\n\tIN_CLASSB_NSHIFT                     = 0x10\n\tIN_CLASSC_HOST                       = 0xff\n\tIN_CLASSC_NET                        = 0xffffff00\n\tIN_CLASSC_NSHIFT                     = 0x8\n\tIN_CLOEXEC                           = 0x80000\n\tIN_CLOSE                             = 0x18\n\tIN_CLOSE_NOWRITE                     = 0x10\n\tIN_CLOSE_WRITE                       = 0x8\n\tIN_CREATE                            = 0x100\n\tIN_DELETE                            = 0x200\n\tIN_DELETE_SELF                       = 0x400\n\tIN_DONT_FOLLOW                       = 0x2000000\n\tIN_EXCL_UNLINK                       = 0x4000000\n\tIN_IGNORED                           = 0x8000\n\tIN_ISDIR                             = 0x40000000\n\tIN_LOOPBACKNET                       = 0x7f\n\tIN_MASK_ADD                          = 0x20000000\n\tIN_MODIFY                            = 0x2\n\tIN_MOVE                              = 0xc0\n\tIN_MOVED_FROM                        = 0x40\n\tIN_MOVED_TO                          = 0x80\n\tIN_MOVE_SELF                         = 0x800\n\tIN_NONBLOCK                          = 0x800\n\tIN_ONESHOT                           = 0x80000000\n\tIN_ONLYDIR                           = 0x1000000\n\tIN_OPEN                              = 0x20\n\tIN_Q_OVERFLOW                        = 0x4000\n\tIN_UNMOUNT                           = 0x2000\n\tIOCTL_VM_SOCKETS_GET_LOCAL_CID       = 0x200007b9\n\tIPPROTO_AH                           = 0x33\n\tIPPROTO_BEETPH                       = 0x5e\n\tIPPROTO_COMP                         = 0x6c\n\tIPPROTO_DCCP                         = 0x21\n\tIPPROTO_DSTOPTS                      = 0x3c\n\tIPPROTO_EGP                          = 0x8\n\tIPPROTO_ENCAP                        = 0x62\n\tIPPROTO_ESP                          = 0x32\n\tIPPROTO_FRAGMENT                     = 0x2c\n\tIPPROTO_GRE                          = 0x2f\n\tIPPROTO_HOPOPTS                      = 0x0\n\tIPPROTO_ICMP                         = 0x1\n\tIPPROTO_ICMPV6                       = 0x3a\n\tIPPROTO_IDP                          = 0x16\n\tIPPROTO_IGMP                         = 0x2\n\tIPPROTO_IP                           = 0x0\n\tIPPROTO_IPIP                         = 0x4\n\tIPPROTO_IPV6                         = 0x29\n\tIPPROTO_MH                           = 0x87\n\tIPPROTO_MPLS                         = 0x89\n\tIPPROTO_MTP                          = 0x5c\n\tIPPROTO_NONE                         = 0x3b\n\tIPPROTO_PIM                          = 0x67\n\tIPPROTO_PUP                          = 0xc\n\tIPPROTO_RAW                          = 0xff\n\tIPPROTO_ROUTING                      = 0x2b\n\tIPPROTO_RSVP                         = 0x2e\n\tIPPROTO_SCTP                         = 0x84\n\tIPPROTO_TCP                          = 0x6\n\tIPPROTO_TP                           = 0x1d\n\tIPPROTO_UDP                          = 0x11\n\tIPPROTO_UDPLITE                      = 0x88\n\tIPV6_2292DSTOPTS                     = 0x4\n\tIPV6_2292HOPLIMIT                    = 0x8\n\tIPV6_2292HOPOPTS                     = 0x3\n\tIPV6_2292PKTINFO                     = 0x2\n\tIPV6_2292PKTOPTIONS                  = 0x6\n\tIPV6_2292RTHDR                       = 0x5\n\tIPV6_ADDRFORM                        = 0x1\n\tIPV6_ADDR_PREFERENCES                = 0x48\n\tIPV6_ADD_MEMBERSHIP                  = 0x14\n\tIPV6_AUTHHDR                         = 0xa\n\tIPV6_AUTOFLOWLABEL                   = 0x46\n\tIPV6_CHECKSUM                        = 0x7\n\tIPV6_DONTFRAG                        = 0x3e\n\tIPV6_DROP_MEMBERSHIP                 = 0x15\n\tIPV6_DSTOPTS                         = 0x3b\n\tIPV6_FREEBIND                        = 0x4e\n\tIPV6_HDRINCL                         = 0x24\n\tIPV6_HOPLIMIT                        = 0x34\n\tIPV6_HOPOPTS                         = 0x36\n\tIPV6_IPSEC_POLICY                    = 0x22\n\tIPV6_JOIN_ANYCAST                    = 0x1b\n\tIPV6_JOIN_GROUP                      = 0x14\n\tIPV6_LEAVE_ANYCAST                   = 0x1c\n\tIPV6_LEAVE_GROUP                     = 0x15\n\tIPV6_MINHOPCOUNT                     = 0x49\n\tIPV6_MTU                             = 0x18\n\tIPV6_MTU_DISCOVER                    = 0x17\n\tIPV6_MULTICAST_HOPS                  = 0x12\n\tIPV6_MULTICAST_IF                    = 0x11\n\tIPV6_MULTICAST_LOOP                  = 0x13\n\tIPV6_NEXTHOP                         = 0x9\n\tIPV6_ORIGDSTADDR                     = 0x4a\n\tIPV6_PATHMTU                         = 0x3d\n\tIPV6_PKTINFO                         = 0x32\n\tIPV6_PMTUDISC_DO                     = 0x2\n\tIPV6_PMTUDISC_DONT                   = 0x0\n\tIPV6_PMTUDISC_INTERFACE              = 0x4\n\tIPV6_PMTUDISC_OMIT                   = 0x5\n\tIPV6_PMTUDISC_PROBE                  = 0x3\n\tIPV6_PMTUDISC_WANT                   = 0x1\n\tIPV6_RECVDSTOPTS                     = 0x3a\n\tIPV6_RECVERR                         = 0x19\n\tIPV6_RECVFRAGSIZE                    = 0x4d\n\tIPV6_RECVHOPLIMIT                    = 0x33\n\tIPV6_RECVHOPOPTS                     = 0x35\n\tIPV6_RECVORIGDSTADDR                 = 0x4a\n\tIPV6_RECVPATHMTU                     = 0x3c\n\tIPV6_RECVPKTINFO                     = 0x31\n\tIPV6_RECVRTHDR                       = 0x38\n\tIPV6_RECVTCLASS                      = 0x42\n\tIPV6_ROUTER_ALERT                    = 0x16\n\tIPV6_RTHDR                           = 0x39\n\tIPV6_RTHDRDSTOPTS                    = 0x37\n\tIPV6_RTHDR_LOOSE                     = 0x0\n\tIPV6_RTHDR_STRICT                    = 0x1\n\tIPV6_RTHDR_TYPE_0                    = 0x0\n\tIPV6_RXDSTOPTS                       = 0x3b\n\tIPV6_RXHOPOPTS                       = 0x36\n\tIPV6_TCLASS                          = 0x43\n\tIPV6_TRANSPARENT                     = 0x4b\n\tIPV6_UNICAST_HOPS                    = 0x10\n\tIPV6_UNICAST_IF                      = 0x4c\n\tIPV6_V6ONLY                          = 0x1a\n\tIPV6_XFRM_POLICY                     = 0x23\n\tIP_ADD_MEMBERSHIP                    = 0x23\n\tIP_ADD_SOURCE_MEMBERSHIP             = 0x27\n\tIP_BIND_ADDRESS_NO_PORT              = 0x18\n\tIP_BLOCK_SOURCE                      = 0x26\n\tIP_CHECKSUM                          = 0x17\n\tIP_DEFAULT_MULTICAST_LOOP            = 0x1\n\tIP_DEFAULT_MULTICAST_TTL             = 0x1\n\tIP_DF                                = 0x4000\n\tIP_DROP_MEMBERSHIP                   = 0x24\n\tIP_DROP_SOURCE_MEMBERSHIP            = 0x28\n\tIP_FREEBIND                          = 0xf\n\tIP_HDRINCL                           = 0x3\n\tIP_IPSEC_POLICY                      = 0x10\n\tIP_MAXPACKET                         = 0xffff\n\tIP_MAX_MEMBERSHIPS                   = 0x14\n\tIP_MF                                = 0x2000\n\tIP_MINTTL                            = 0x15\n\tIP_MSFILTER                          = 0x29\n\tIP_MSS                               = 0x240\n\tIP_MTU                               = 0xe\n\tIP_MTU_DISCOVER                      = 0xa\n\tIP_MULTICAST_ALL                     = 0x31\n\tIP_MULTICAST_IF                      = 0x20\n\tIP_MULTICAST_LOOP                    = 0x22\n\tIP_MULTICAST_TTL                     = 0x21\n\tIP_NODEFRAG                          = 0x16\n\tIP_OFFMASK                           = 0x1fff\n\tIP_OPTIONS                           = 0x4\n\tIP_ORIGDSTADDR                       = 0x14\n\tIP_PASSSEC                           = 0x12\n\tIP_PKTINFO                           = 0x8\n\tIP_PKTOPTIONS                        = 0x9\n\tIP_PMTUDISC                          = 0xa\n\tIP_PMTUDISC_DO                       = 0x2\n\tIP_PMTUDISC_DONT                     = 0x0\n\tIP_PMTUDISC_INTERFACE                = 0x4\n\tIP_PMTUDISC_OMIT                     = 0x5\n\tIP_PMTUDISC_PROBE                    = 0x3\n\tIP_PMTUDISC_WANT                     = 0x1\n\tIP_RECVERR                           = 0xb\n\tIP_RECVFRAGSIZE                      = 0x19\n\tIP_RECVOPTS                          = 0x6\n\tIP_RECVORIGDSTADDR                   = 0x14\n\tIP_RECVRETOPTS                       = 0x7\n\tIP_RECVTOS                           = 0xd\n\tIP_RECVTTL                           = 0xc\n\tIP_RETOPTS                           = 0x7\n\tIP_RF                                = 0x8000\n\tIP_ROUTER_ALERT                      = 0x5\n\tIP_TOS                               = 0x1\n\tIP_TRANSPARENT                       = 0x13\n\tIP_TTL                               = 0x2\n\tIP_UNBLOCK_SOURCE                    = 0x25\n\tIP_UNICAST_IF                        = 0x32\n\tIP_XFRM_POLICY                       = 0x11\n\tISIG                                 = 0x80\n\tISOFS_SUPER_MAGIC                    = 0x9660\n\tISTRIP                               = 0x20\n\tIUCLC                                = 0x1000\n\tIUTF8                                = 0x4000\n\tIXANY                                = 0x800\n\tIXOFF                                = 0x400\n\tIXON                                 = 0x200\n\tJFFS2_SUPER_MAGIC                    = 0x72b6\n\tKEYCTL_ASSUME_AUTHORITY              = 0x10\n\tKEYCTL_CHOWN                         = 0x4\n\tKEYCTL_CLEAR                         = 0x7\n\tKEYCTL_DESCRIBE                      = 0x6\n\tKEYCTL_DH_COMPUTE                    = 0x17\n\tKEYCTL_GET_KEYRING_ID                = 0x0\n\tKEYCTL_GET_PERSISTENT                = 0x16\n\tKEYCTL_GET_SECURITY                  = 0x11\n\tKEYCTL_INSTANTIATE                   = 0xc\n\tKEYCTL_INSTANTIATE_IOV               = 0x14\n\tKEYCTL_INVALIDATE                    = 0x15\n\tKEYCTL_JOIN_SESSION_KEYRING          = 0x1\n\tKEYCTL_LINK                          = 0x8\n\tKEYCTL_NEGATE                        = 0xd\n\tKEYCTL_READ                          = 0xb\n\tKEYCTL_REJECT                        = 0x13\n\tKEYCTL_RESTRICT_KEYRING              = 0x1d\n\tKEYCTL_REVOKE                        = 0x3\n\tKEYCTL_SEARCH                        = 0xa\n\tKEYCTL_SESSION_TO_PARENT             = 0x12\n\tKEYCTL_SETPERM                       = 0x5\n\tKEYCTL_SET_REQKEY_KEYRING            = 0xe\n\tKEYCTL_SET_TIMEOUT                   = 0xf\n\tKEYCTL_UNLINK                        = 0x9\n\tKEYCTL_UPDATE                        = 0x2\n\tKEY_REQKEY_DEFL_DEFAULT              = 0x0\n\tKEY_REQKEY_DEFL_GROUP_KEYRING        = 0x6\n\tKEY_REQKEY_DEFL_NO_CHANGE            = -0x1\n\tKEY_REQKEY_DEFL_PROCESS_KEYRING      = 0x2\n\tKEY_REQKEY_DEFL_REQUESTOR_KEYRING    = 0x7\n\tKEY_REQKEY_DEFL_SESSION_KEYRING      = 0x3\n\tKEY_REQKEY_DEFL_THREAD_KEYRING       = 0x1\n\tKEY_REQKEY_DEFL_USER_KEYRING         = 0x4\n\tKEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5\n\tKEY_SPEC_GROUP_KEYRING               = -0x6\n\tKEY_SPEC_PROCESS_KEYRING             = -0x2\n\tKEY_SPEC_REQKEY_AUTH_KEY             = -0x7\n\tKEY_SPEC_REQUESTOR_KEYRING           = -0x8\n\tKEY_SPEC_SESSION_KEYRING             = -0x3\n\tKEY_SPEC_THREAD_KEYRING              = -0x1\n\tKEY_SPEC_USER_KEYRING                = -0x4\n\tKEY_SPEC_USER_SESSION_KEYRING        = -0x5\n\tLINUX_REBOOT_CMD_CAD_OFF             = 0x0\n\tLINUX_REBOOT_CMD_CAD_ON              = 0x89abcdef\n\tLINUX_REBOOT_CMD_HALT                = 0xcdef0123\n\tLINUX_REBOOT_CMD_KEXEC               = 0x45584543\n\tLINUX_REBOOT_CMD_POWER_OFF           = 0x4321fedc\n\tLINUX_REBOOT_CMD_RESTART             = 0x1234567\n\tLINUX_REBOOT_CMD_RESTART2            = 0xa1b2c3d4\n\tLINUX_REBOOT_CMD_SW_SUSPEND          = 0xd000fce2\n\tLINUX_REBOOT_MAGIC1                  = 0xfee1dead\n\tLINUX_REBOOT_MAGIC2                  = 0x28121969\n\tLOCK_EX                              = 0x2\n\tLOCK_NB                              = 0x4\n\tLOCK_SH                              = 0x1\n\tLOCK_UN                              = 0x8\n\tMADV_DODUMP                          = 0x11\n\tMADV_DOFORK                          = 0xb\n\tMADV_DONTDUMP                        = 0x10\n\tMADV_DONTFORK                        = 0xa\n\tMADV_DONTNEED                        = 0x4\n\tMADV_FREE                            = 0x8\n\tMADV_HUGEPAGE                        = 0xe\n\tMADV_HWPOISON                        = 0x64\n\tMADV_KEEPONFORK                      = 0x13\n\tMADV_MERGEABLE                       = 0xc\n\tMADV_NOHUGEPAGE                      = 0xf\n\tMADV_NORMAL                          = 0x0\n\tMADV_RANDOM                          = 0x1\n\tMADV_REMOVE                          = 0x9\n\tMADV_SEQUENTIAL                      = 0x2\n\tMADV_UNMERGEABLE                     = 0xd\n\tMADV_WILLNEED                        = 0x3\n\tMADV_WIPEONFORK                      = 0x12\n\tMAP_ANON                             = 0x20\n\tMAP_ANONYMOUS                        = 0x20\n\tMAP_DENYWRITE                        = 0x800\n\tMAP_EXECUTABLE                       = 0x1000\n\tMAP_FILE                             = 0x0\n\tMAP_FIXED                            = 0x10\n\tMAP_FIXED_NOREPLACE                  = 0x100000\n\tMAP_GROWSDOWN                        = 0x100\n\tMAP_HUGETLB                          = 0x40000\n\tMAP_HUGE_MASK                        = 0x3f\n\tMAP_HUGE_SHIFT                       = 0x1a\n\tMAP_LOCKED                           = 0x80\n\tMAP_NONBLOCK                         = 0x10000\n\tMAP_NORESERVE                        = 0x40\n\tMAP_POPULATE                         = 0x8000\n\tMAP_PRIVATE                          = 0x2\n\tMAP_SHARED                           = 0x1\n\tMAP_SHARED_VALIDATE                  = 0x3\n\tMAP_STACK                            = 0x20000\n\tMAP_TYPE                             = 0xf\n\tMCL_CURRENT                          = 0x2000\n\tMCL_FUTURE                           = 0x4000\n\tMCL_ONFAULT                          = 0x8000\n\tMINIX2_SUPER_MAGIC                   = 0x2468\n\tMINIX2_SUPER_MAGIC2                  = 0x2478\n\tMINIX3_SUPER_MAGIC                   = 0x4d5a\n\tMINIX_SUPER_MAGIC                    = 0x137f\n\tMINIX_SUPER_MAGIC2                   = 0x138f\n\tMNT_DETACH                           = 0x2\n\tMNT_EXPIRE                           = 0x4\n\tMNT_FORCE                            = 0x1\n\tMSDOS_SUPER_MAGIC                    = 0x4d44\n\tMSG_BATCH                            = 0x40000\n\tMSG_CMSG_CLOEXEC                     = 0x40000000\n\tMSG_CONFIRM                          = 0x800\n\tMSG_CTRUNC                           = 0x8\n\tMSG_DONTROUTE                        = 0x4\n\tMSG_DONTWAIT                         = 0x40\n\tMSG_EOR                              = 0x80\n\tMSG_ERRQUEUE                         = 0x2000\n\tMSG_FASTOPEN                         = 0x20000000\n\tMSG_FIN                              = 0x200\n\tMSG_MORE                             = 0x8000\n\tMSG_NOSIGNAL                         = 0x4000\n\tMSG_OOB                              = 0x1\n\tMSG_PEEK                             = 0x2\n\tMSG_PROXY                            = 0x10\n\tMSG_RST                              = 0x1000\n\tMSG_SYN                              = 0x400\n\tMSG_TRUNC                            = 0x20\n\tMSG_TRYHARD                          = 0x4\n\tMSG_WAITALL                          = 0x100\n\tMSG_WAITFORONE                       = 0x10000\n\tMSG_ZEROCOPY                         = 0x4000000\n\tMS_ACTIVE                            = 0x40000000\n\tMS_ASYNC                             = 0x1\n\tMS_BIND                              = 0x1000\n\tMS_BORN                              = 0x20000000\n\tMS_DIRSYNC                           = 0x80\n\tMS_INVALIDATE                        = 0x2\n\tMS_I_VERSION                         = 0x800000\n\tMS_KERNMOUNT                         = 0x400000\n\tMS_LAZYTIME                          = 0x2000000\n\tMS_MANDLOCK                          = 0x40\n\tMS_MGC_MSK                           = 0xffff0000\n\tMS_MGC_VAL                           = 0xc0ed0000\n\tMS_MOVE                              = 0x2000\n\tMS_NOATIME                           = 0x400\n\tMS_NODEV                             = 0x4\n\tMS_NODIRATIME                        = 0x800\n\tMS_NOEXEC                            = 0x8\n\tMS_NOREMOTELOCK                      = 0x8000000\n\tMS_NOSEC                             = 0x10000000\n\tMS_NOSUID                            = 0x2\n\tMS_NOUSER                            = -0x80000000\n\tMS_POSIXACL                          = 0x10000\n\tMS_PRIVATE                           = 0x40000\n\tMS_RDONLY                            = 0x1\n\tMS_REC                               = 0x4000\n\tMS_RELATIME                          = 0x200000\n\tMS_REMOUNT                           = 0x20\n\tMS_RMT_MASK                          = 0x2800051\n\tMS_SHARED                            = 0x100000\n\tMS_SILENT                            = 0x8000\n\tMS_SLAVE                             = 0x80000\n\tMS_STRICTATIME                       = 0x1000000\n\tMS_SUBMOUNT                          = 0x4000000\n\tMS_SYNC                              = 0x4\n\tMS_SYNCHRONOUS                       = 0x10\n\tMS_UNBINDABLE                        = 0x20000\n\tMS_VERBOSE                           = 0x8000\n\tMTD_INODE_FS_MAGIC                   = 0x11307854\n\tNAME_MAX                             = 0xff\n\tNCP_SUPER_MAGIC                      = 0x564c\n\tNETLINK_ADD_MEMBERSHIP               = 0x1\n\tNETLINK_AUDIT                        = 0x9\n\tNETLINK_BROADCAST_ERROR              = 0x4\n\tNETLINK_CAP_ACK                      = 0xa\n\tNETLINK_CONNECTOR                    = 0xb\n\tNETLINK_CRYPTO                       = 0x15\n\tNETLINK_DNRTMSG                      = 0xe\n\tNETLINK_DROP_MEMBERSHIP              = 0x2\n\tNETLINK_ECRYPTFS                     = 0x13\n\tNETLINK_EXT_ACK                      = 0xb\n\tNETLINK_FIB_LOOKUP                   = 0xa\n\tNETLINK_FIREWALL                     = 0x3\n\tNETLINK_GENERIC                      = 0x10\n\tNETLINK_INET_DIAG                    = 0x4\n\tNETLINK_IP6_FW                       = 0xd\n\tNETLINK_ISCSI                        = 0x8\n\tNETLINK_KOBJECT_UEVENT               = 0xf\n\tNETLINK_LISTEN_ALL_NSID              = 0x8\n\tNETLINK_LIST_MEMBERSHIPS             = 0x9\n\tNETLINK_NETFILTER                    = 0xc\n\tNETLINK_NFLOG                        = 0x5\n\tNETLINK_NO_ENOBUFS                   = 0x5\n\tNETLINK_PKTINFO                      = 0x3\n\tNETLINK_RDMA                         = 0x14\n\tNETLINK_ROUTE                        = 0x0\n\tNETLINK_RX_RING                      = 0x6\n\tNETLINK_SCSITRANSPORT                = 0x12\n\tNETLINK_SELINUX                      = 0x7\n\tNETLINK_SMC                          = 0x16\n\tNETLINK_SOCK_DIAG                    = 0x4\n\tNETLINK_TX_RING                      = 0x7\n\tNETLINK_UNUSED                       = 0x1\n\tNETLINK_USERSOCK                     = 0x2\n\tNETLINK_XFRM                         = 0x6\n\tNETNSA_MAX                           = 0x3\n\tNETNSA_NSID_NOT_ASSIGNED             = -0x1\n\tNFNETLINK_V0                         = 0x0\n\tNFNLGRP_ACCT_QUOTA                   = 0x8\n\tNFNLGRP_CONNTRACK_DESTROY            = 0x3\n\tNFNLGRP_CONNTRACK_EXP_DESTROY        = 0x6\n\tNFNLGRP_CONNTRACK_EXP_NEW            = 0x4\n\tNFNLGRP_CONNTRACK_EXP_UPDATE         = 0x5\n\tNFNLGRP_CONNTRACK_NEW                = 0x1\n\tNFNLGRP_CONNTRACK_UPDATE             = 0x2\n\tNFNLGRP_MAX                          = 0x9\n\tNFNLGRP_NFTABLES                     = 0x7\n\tNFNLGRP_NFTRACE                      = 0x9\n\tNFNLGRP_NONE                         = 0x0\n\tNFNL_BATCH_MAX                       = 0x1\n\tNFNL_MSG_BATCH_BEGIN                 = 0x10\n\tNFNL_MSG_BATCH_END                   = 0x11\n\tNFNL_NFA_NEST                        = 0x8000\n\tNFNL_SUBSYS_ACCT                     = 0x7\n\tNFNL_SUBSYS_COUNT                    = 0xc\n\tNFNL_SUBSYS_CTHELPER                 = 0x9\n\tNFNL_SUBSYS_CTNETLINK                = 0x1\n\tNFNL_SUBSYS_CTNETLINK_EXP            = 0x2\n\tNFNL_SUBSYS_CTNETLINK_TIMEOUT        = 0x8\n\tNFNL_SUBSYS_IPSET                    = 0x6\n\tNFNL_SUBSYS_NFTABLES                 = 0xa\n\tNFNL_SUBSYS_NFT_COMPAT               = 0xb\n\tNFNL_SUBSYS_NONE                     = 0x0\n\tNFNL_SUBSYS_OSF                      = 0x5\n\tNFNL_SUBSYS_QUEUE                    = 0x3\n\tNFNL_SUBSYS_ULOG                     = 0x4\n\tNFS_SUPER_MAGIC                      = 0x6969\n\tNILFS_SUPER_MAGIC                    = 0x3434\n\tNL0                                  = 0x0\n\tNL1                                  = 0x100\n\tNL2                                  = 0x200\n\tNL3                                  = 0x300\n\tNLA_ALIGNTO                          = 0x4\n\tNLA_F_NESTED                         = 0x8000\n\tNLA_F_NET_BYTEORDER                  = 0x4000\n\tNLA_HDRLEN                           = 0x4\n\tNLDLY                                = 0x300\n\tNLMSG_ALIGNTO                        = 0x4\n\tNLMSG_DONE                           = 0x3\n\tNLMSG_ERROR                          = 0x2\n\tNLMSG_HDRLEN                         = 0x10\n\tNLMSG_MIN_TYPE                       = 0x10\n\tNLMSG_NOOP                           = 0x1\n\tNLMSG_OVERRUN                        = 0x4\n\tNLM_F_ACK                            = 0x4\n\tNLM_F_ACK_TLVS                       = 0x200\n\tNLM_F_APPEND                         = 0x800\n\tNLM_F_ATOMIC                         = 0x400\n\tNLM_F_CAPPED                         = 0x100\n\tNLM_F_CREATE                         = 0x400\n\tNLM_F_DUMP                           = 0x300\n\tNLM_F_DUMP_FILTERED                  = 0x20\n\tNLM_F_DUMP_INTR                      = 0x10\n\tNLM_F_ECHO                           = 0x8\n\tNLM_F_EXCL                           = 0x200\n\tNLM_F_MATCH                          = 0x200\n\tNLM_F_MULTI                          = 0x2\n\tNLM_F_NONREC                         = 0x100\n\tNLM_F_REPLACE                        = 0x100\n\tNLM_F_REQUEST                        = 0x1\n\tNLM_F_ROOT                           = 0x100\n\tNOFLSH                               = 0x80000000\n\tNSFS_MAGIC                           = 0x6e736673\n\tOCFS2_SUPER_MAGIC                    = 0x7461636f\n\tOCRNL                                = 0x8\n\tOFDEL                                = 0x80\n\tOFILL                                = 0x40\n\tOLCUC                                = 0x4\n\tONLCR                                = 0x2\n\tONLRET                               = 0x20\n\tONOCR                                = 0x10\n\tOPENPROM_SUPER_MAGIC                 = 0x9fa1\n\tOPOST                                = 0x1\n\tOVERLAYFS_SUPER_MAGIC                = 0x794c7630\n\tO_ACCMODE                            = 0x3\n\tO_APPEND                             = 0x400\n\tO_ASYNC                              = 0x2000\n\tO_CLOEXEC                            = 0x80000\n\tO_CREAT                              = 0x40\n\tO_DIRECT                             = 0x20000\n\tO_DIRECTORY                          = 0x4000\n\tO_DSYNC                              = 0x1000\n\tO_EXCL                               = 0x80\n\tO_FSYNC                              = 0x101000\n\tO_LARGEFILE                          = 0x0\n\tO_NDELAY                             = 0x800\n\tO_NOATIME                            = 0x40000\n\tO_NOCTTY                             = 0x100\n\tO_NOFOLLOW                           = 0x8000\n\tO_NONBLOCK                           = 0x800\n\tO_PATH                               = 0x200000\n\tO_RDONLY                             = 0x0\n\tO_RDWR                               = 0x2\n\tO_RSYNC                              = 0x101000\n\tO_SYNC                               = 0x101000\n\tO_TMPFILE                            = 0x404000\n\tO_TRUNC                              = 0x200\n\tO_WRONLY                             = 0x1\n\tPACKET_ADD_MEMBERSHIP                = 0x1\n\tPACKET_AUXDATA                       = 0x8\n\tPACKET_BROADCAST                     = 0x1\n\tPACKET_COPY_THRESH                   = 0x7\n\tPACKET_DROP_MEMBERSHIP               = 0x2\n\tPACKET_FANOUT                        = 0x12\n\tPACKET_FANOUT_CBPF                   = 0x6\n\tPACKET_FANOUT_CPU                    = 0x2\n\tPACKET_FANOUT_DATA                   = 0x16\n\tPACKET_FANOUT_EBPF                   = 0x7\n\tPACKET_FANOUT_FLAG_DEFRAG            = 0x8000\n\tPACKET_FANOUT_FLAG_ROLLOVER          = 0x1000\n\tPACKET_FANOUT_FLAG_UNIQUEID          = 0x2000\n\tPACKET_FANOUT_HASH                   = 0x0\n\tPACKET_FANOUT_LB                     = 0x1\n\tPACKET_FANOUT_QM                     = 0x5\n\tPACKET_FANOUT_RND                    = 0x4\n\tPACKET_FANOUT_ROLLOVER               = 0x3\n\tPACKET_FASTROUTE                     = 0x6\n\tPACKET_HDRLEN                        = 0xb\n\tPACKET_HOST                          = 0x0\n\tPACKET_KERNEL                        = 0x7\n\tPACKET_LOOPBACK                      = 0x5\n\tPACKET_LOSS                          = 0xe\n\tPACKET_MR_ALLMULTI                   = 0x2\n\tPACKET_MR_MULTICAST                  = 0x0\n\tPACKET_MR_PROMISC                    = 0x1\n\tPACKET_MR_UNICAST                    = 0x3\n\tPACKET_MULTICAST                     = 0x2\n\tPACKET_ORIGDEV                       = 0x9\n\tPACKET_OTHERHOST                     = 0x3\n\tPACKET_OUTGOING                      = 0x4\n\tPACKET_QDISC_BYPASS                  = 0x14\n\tPACKET_RECV_OUTPUT                   = 0x3\n\tPACKET_RESERVE                       = 0xc\n\tPACKET_ROLLOVER_STATS                = 0x15\n\tPACKET_RX_RING                       = 0x5\n\tPACKET_STATISTICS                    = 0x6\n\tPACKET_TIMESTAMP                     = 0x11\n\tPACKET_TX_HAS_OFF                    = 0x13\n\tPACKET_TX_RING                       = 0xd\n\tPACKET_TX_TIMESTAMP                  = 0x10\n\tPACKET_USER                          = 0x6\n\tPACKET_VERSION                       = 0xa\n\tPACKET_VNET_HDR                      = 0xf\n\tPARENB                               = 0x1000\n\tPARITY_CRC16_PR0                     = 0x2\n\tPARITY_CRC16_PR0_CCITT               = 0x4\n\tPARITY_CRC16_PR1                     = 0x3\n\tPARITY_CRC16_PR1_CCITT               = 0x5\n\tPARITY_CRC32_PR0_CCITT               = 0x6\n\tPARITY_CRC32_PR1_CCITT               = 0x7\n\tPARITY_DEFAULT                       = 0x0\n\tPARITY_NONE                          = 0x1\n\tPARMRK                               = 0x8\n\tPARODD                               = 0x2000\n\tPENDIN                               = 0x20000000\n\tPERF_EVENT_IOC_DISABLE               = 0x20002401\n\tPERF_EVENT_IOC_ENABLE                = 0x20002400\n\tPERF_EVENT_IOC_ID                    = 0x40082407\n\tPERF_EVENT_IOC_MODIFY_ATTRIBUTES     = 0x8008240b\n\tPERF_EVENT_IOC_PAUSE_OUTPUT          = 0x80042409\n\tPERF_EVENT_IOC_PERIOD                = 0x80082404\n\tPERF_EVENT_IOC_QUERY_BPF             = 0xc008240a\n\tPERF_EVENT_IOC_REFRESH               = 0x20002402\n\tPERF_EVENT_IOC_RESET                 = 0x20002403\n\tPERF_EVENT_IOC_SET_BPF               = 0x80042408\n\tPERF_EVENT_IOC_SET_FILTER            = 0x80082406\n\tPERF_EVENT_IOC_SET_OUTPUT            = 0x20002405\n\tPIPEFS_MAGIC                         = 0x50495045\n\tPRIO_PGRP                            = 0x1\n\tPRIO_PROCESS                         = 0x0\n\tPRIO_USER                            = 0x2\n\tPROC_SUPER_MAGIC                     = 0x9fa0\n\tPROT_EXEC                            = 0x4\n\tPROT_GROWSDOWN                       = 0x1000000\n\tPROT_GROWSUP                         = 0x2000000\n\tPROT_NONE                            = 0x0\n\tPROT_READ                            = 0x1\n\tPROT_SAO                             = 0x10\n\tPROT_WRITE                           = 0x2\n\tPR_CAPBSET_DROP                      = 0x18\n\tPR_CAPBSET_READ                      = 0x17\n\tPR_CAP_AMBIENT                       = 0x2f\n\tPR_CAP_AMBIENT_CLEAR_ALL             = 0x4\n\tPR_CAP_AMBIENT_IS_SET                = 0x1\n\tPR_CAP_AMBIENT_LOWER                 = 0x3\n\tPR_CAP_AMBIENT_RAISE                 = 0x2\n\tPR_ENDIAN_BIG                        = 0x0\n\tPR_ENDIAN_LITTLE                     = 0x1\n\tPR_ENDIAN_PPC_LITTLE                 = 0x2\n\tPR_FPEMU_NOPRINT                     = 0x1\n\tPR_FPEMU_SIGFPE                      = 0x2\n\tPR_FP_EXC_ASYNC                      = 0x2\n\tPR_FP_EXC_DISABLED                   = 0x0\n\tPR_FP_EXC_DIV                        = 0x10000\n\tPR_FP_EXC_INV                        = 0x100000\n\tPR_FP_EXC_NONRECOV                   = 0x1\n\tPR_FP_EXC_OVF                        = 0x20000\n\tPR_FP_EXC_PRECISE                    = 0x3\n\tPR_FP_EXC_RES                        = 0x80000\n\tPR_FP_EXC_SW_ENABLE                  = 0x80\n\tPR_FP_EXC_UND                        = 0x40000\n\tPR_FP_MODE_FR                        = 0x1\n\tPR_FP_MODE_FRE                       = 0x2\n\tPR_GET_CHILD_SUBREAPER               = 0x25\n\tPR_GET_DUMPABLE                      = 0x3\n\tPR_GET_ENDIAN                        = 0x13\n\tPR_GET_FPEMU                         = 0x9\n\tPR_GET_FPEXC                         = 0xb\n\tPR_GET_FP_MODE                       = 0x2e\n\tPR_GET_KEEPCAPS                      = 0x7\n\tPR_GET_NAME                          = 0x10\n\tPR_GET_NO_NEW_PRIVS                  = 0x27\n\tPR_GET_PDEATHSIG                     = 0x2\n\tPR_GET_SECCOMP                       = 0x15\n\tPR_GET_SECUREBITS                    = 0x1b\n\tPR_GET_SPECULATION_CTRL              = 0x34\n\tPR_GET_THP_DISABLE                   = 0x2a\n\tPR_GET_TID_ADDRESS                   = 0x28\n\tPR_GET_TIMERSLACK                    = 0x1e\n\tPR_GET_TIMING                        = 0xd\n\tPR_GET_TSC                           = 0x19\n\tPR_GET_UNALIGN                       = 0x5\n\tPR_MCE_KILL                          = 0x21\n\tPR_MCE_KILL_CLEAR                    = 0x0\n\tPR_MCE_KILL_DEFAULT                  = 0x2\n\tPR_MCE_KILL_EARLY                    = 0x1\n\tPR_MCE_KILL_GET                      = 0x22\n\tPR_MCE_KILL_LATE                     = 0x0\n\tPR_MCE_KILL_SET                      = 0x1\n\tPR_MPX_DISABLE_MANAGEMENT            = 0x2c\n\tPR_MPX_ENABLE_MANAGEMENT             = 0x2b\n\tPR_SET_CHILD_SUBREAPER               = 0x24\n\tPR_SET_DUMPABLE                      = 0x4\n\tPR_SET_ENDIAN                        = 0x14\n\tPR_SET_FPEMU                         = 0xa\n\tPR_SET_FPEXC                         = 0xc\n\tPR_SET_FP_MODE                       = 0x2d\n\tPR_SET_KEEPCAPS                      = 0x8\n\tPR_SET_MM                            = 0x23\n\tPR_SET_MM_ARG_END                    = 0x9\n\tPR_SET_MM_ARG_START                  = 0x8\n\tPR_SET_MM_AUXV                       = 0xc\n\tPR_SET_MM_BRK                        = 0x7\n\tPR_SET_MM_END_CODE                   = 0x2\n\tPR_SET_MM_END_DATA                   = 0x4\n\tPR_SET_MM_ENV_END                    = 0xb\n\tPR_SET_MM_ENV_START                  = 0xa\n\tPR_SET_MM_EXE_FILE                   = 0xd\n\tPR_SET_MM_MAP                        = 0xe\n\tPR_SET_MM_MAP_SIZE                   = 0xf\n\tPR_SET_MM_START_BRK                  = 0x6\n\tPR_SET_MM_START_CODE                 = 0x1\n\tPR_SET_MM_START_DATA                 = 0x3\n\tPR_SET_MM_START_STACK                = 0x5\n\tPR_SET_NAME                          = 0xf\n\tPR_SET_NO_NEW_PRIVS                  = 0x26\n\tPR_SET_PDEATHSIG                     = 0x1\n\tPR_SET_PTRACER                       = 0x59616d61\n\tPR_SET_PTRACER_ANY                   = 0xffffffffffffffff\n\tPR_SET_SECCOMP                       = 0x16\n\tPR_SET_SECUREBITS                    = 0x1c\n\tPR_SET_SPECULATION_CTRL              = 0x35\n\tPR_SET_THP_DISABLE                   = 0x29\n\tPR_SET_TIMERSLACK                    = 0x1d\n\tPR_SET_TIMING                        = 0xe\n\tPR_SET_TSC                           = 0x1a\n\tPR_SET_UNALIGN                       = 0x6\n\tPR_SPEC_DISABLE                      = 0x4\n\tPR_SPEC_ENABLE                       = 0x2\n\tPR_SPEC_FORCE_DISABLE                = 0x8\n\tPR_SPEC_NOT_AFFECTED                 = 0x0\n\tPR_SPEC_PRCTL                        = 0x1\n\tPR_SPEC_STORE_BYPASS                 = 0x0\n\tPR_SVE_GET_VL                        = 0x33\n\tPR_SVE_SET_VL                        = 0x32\n\tPR_SVE_SET_VL_ONEXEC                 = 0x40000\n\tPR_SVE_VL_INHERIT                    = 0x20000\n\tPR_SVE_VL_LEN_MASK                   = 0xffff\n\tPR_TASK_PERF_EVENTS_DISABLE          = 0x1f\n\tPR_TASK_PERF_EVENTS_ENABLE           = 0x20\n\tPR_TIMING_STATISTICAL                = 0x0\n\tPR_TIMING_TIMESTAMP                  = 0x1\n\tPR_TSC_ENABLE                        = 0x1\n\tPR_TSC_SIGSEGV                       = 0x2\n\tPR_UNALIGN_NOPRINT                   = 0x1\n\tPR_UNALIGN_SIGBUS                    = 0x2\n\tPSTOREFS_MAGIC                       = 0x6165676c\n\tPTRACE_ATTACH                        = 0x10\n\tPTRACE_CONT                          = 0x7\n\tPTRACE_DETACH                        = 0x11\n\tPTRACE_EVENT_CLONE                   = 0x3\n\tPTRACE_EVENT_EXEC                    = 0x4\n\tPTRACE_EVENT_EXIT                    = 0x6\n\tPTRACE_EVENT_FORK                    = 0x1\n\tPTRACE_EVENT_SECCOMP                 = 0x7\n\tPTRACE_EVENT_STOP                    = 0x80\n\tPTRACE_EVENT_VFORK                   = 0x2\n\tPTRACE_EVENT_VFORK_DONE              = 0x5\n\tPTRACE_GETEVENTMSG                   = 0x4201\n\tPTRACE_GETEVRREGS                    = 0x14\n\tPTRACE_GETFPREGS                     = 0xe\n\tPTRACE_GETREGS                       = 0xc\n\tPTRACE_GETREGS64                     = 0x16\n\tPTRACE_GETREGSET                     = 0x4204\n\tPTRACE_GETSIGINFO                    = 0x4202\n\tPTRACE_GETSIGMASK                    = 0x420a\n\tPTRACE_GETVRREGS                     = 0x12\n\tPTRACE_GETVSRREGS                    = 0x1b\n\tPTRACE_GET_DEBUGREG                  = 0x19\n\tPTRACE_INTERRUPT                     = 0x4207\n\tPTRACE_KILL                          = 0x8\n\tPTRACE_LISTEN                        = 0x4208\n\tPTRACE_O_EXITKILL                    = 0x100000\n\tPTRACE_O_MASK                        = 0x3000ff\n\tPTRACE_O_SUSPEND_SECCOMP             = 0x200000\n\tPTRACE_O_TRACECLONE                  = 0x8\n\tPTRACE_O_TRACEEXEC                   = 0x10\n\tPTRACE_O_TRACEEXIT                   = 0x40\n\tPTRACE_O_TRACEFORK                   = 0x2\n\tPTRACE_O_TRACESECCOMP                = 0x80\n\tPTRACE_O_TRACESYSGOOD                = 0x1\n\tPTRACE_O_TRACEVFORK                  = 0x4\n\tPTRACE_O_TRACEVFORKDONE              = 0x20\n\tPTRACE_PEEKDATA                      = 0x2\n\tPTRACE_PEEKSIGINFO                   = 0x4209\n\tPTRACE_PEEKSIGINFO_SHARED            = 0x1\n\tPTRACE_PEEKTEXT                      = 0x1\n\tPTRACE_PEEKUSR                       = 0x3\n\tPTRACE_POKEDATA                      = 0x5\n\tPTRACE_POKETEXT                      = 0x4\n\tPTRACE_POKEUSR                       = 0x6\n\tPTRACE_SECCOMP_GET_FILTER            = 0x420c\n\tPTRACE_SECCOMP_GET_METADATA          = 0x420d\n\tPTRACE_SEIZE                         = 0x4206\n\tPTRACE_SETEVRREGS                    = 0x15\n\tPTRACE_SETFPREGS                     = 0xf\n\tPTRACE_SETOPTIONS                    = 0x4200\n\tPTRACE_SETREGS                       = 0xd\n\tPTRACE_SETREGS64                     = 0x17\n\tPTRACE_SETREGSET                     = 0x4205\n\tPTRACE_SETSIGINFO                    = 0x4203\n\tPTRACE_SETSIGMASK                    = 0x420b\n\tPTRACE_SETVRREGS                     = 0x13\n\tPTRACE_SETVSRREGS                    = 0x1c\n\tPTRACE_SET_DEBUGREG                  = 0x1a\n\tPTRACE_SINGLEBLOCK                   = 0x100\n\tPTRACE_SINGLESTEP                    = 0x9\n\tPTRACE_SYSCALL                       = 0x18\n\tPTRACE_TRACEME                       = 0x0\n\tPT_CCR                               = 0x26\n\tPT_CTR                               = 0x23\n\tPT_DAR                               = 0x29\n\tPT_DSCR                              = 0x2c\n\tPT_DSISR                             = 0x2a\n\tPT_FPR0                              = 0x30\n\tPT_FPSCR                             = 0x50\n\tPT_LNK                               = 0x24\n\tPT_MSR                               = 0x21\n\tPT_NIP                               = 0x20\n\tPT_ORIG_R3                           = 0x22\n\tPT_R0                                = 0x0\n\tPT_R1                                = 0x1\n\tPT_R10                               = 0xa\n\tPT_R11                               = 0xb\n\tPT_R12                               = 0xc\n\tPT_R13                               = 0xd\n\tPT_R14                               = 0xe\n\tPT_R15                               = 0xf\n\tPT_R16                               = 0x10\n\tPT_R17                               = 0x11\n\tPT_R18                               = 0x12\n\tPT_R19                               = 0x13\n\tPT_R2                                = 0x2\n\tPT_R20                               = 0x14\n\tPT_R21                               = 0x15\n\tPT_R22                               = 0x16\n\tPT_R23                               = 0x17\n\tPT_R24                               = 0x18\n\tPT_R25                               = 0x19\n\tPT_R26                               = 0x1a\n\tPT_R27                               = 0x1b\n\tPT_R28                               = 0x1c\n\tPT_R29                               = 0x1d\n\tPT_R3                                = 0x3\n\tPT_R30                               = 0x1e\n\tPT_R31                               = 0x1f\n\tPT_R4                                = 0x4\n\tPT_R5                                = 0x5\n\tPT_R6                                = 0x6\n\tPT_R7                                = 0x7\n\tPT_R8                                = 0x8\n\tPT_R9                                = 0x9\n\tPT_REGS_COUNT                        = 0x2c\n\tPT_RESULT                            = 0x2b\n\tPT_SOFTE                             = 0x27\n\tPT_TRAP                              = 0x28\n\tPT_VR0                               = 0x52\n\tPT_VRSAVE                            = 0x94\n\tPT_VSCR                              = 0x93\n\tPT_VSR0                              = 0x96\n\tPT_VSR31                             = 0xd4\n\tPT_XER                               = 0x25\n\tQNX4_SUPER_MAGIC                     = 0x2f\n\tQNX6_SUPER_MAGIC                     = 0x68191122\n\tRAMFS_MAGIC                          = 0x858458f6\n\tRDTGROUP_SUPER_MAGIC                 = 0x7655821\n\tREISERFS_SUPER_MAGIC                 = 0x52654973\n\tRENAME_EXCHANGE                      = 0x2\n\tRENAME_NOREPLACE                     = 0x1\n\tRENAME_WHITEOUT                      = 0x4\n\tRLIMIT_AS                            = 0x9\n\tRLIMIT_CORE                          = 0x4\n\tRLIMIT_CPU                           = 0x0\n\tRLIMIT_DATA                          = 0x2\n\tRLIMIT_FSIZE                         = 0x1\n\tRLIMIT_LOCKS                         = 0xa\n\tRLIMIT_MEMLOCK                       = 0x8\n\tRLIMIT_MSGQUEUE                      = 0xc\n\tRLIMIT_NICE                          = 0xd\n\tRLIMIT_NOFILE                        = 0x7\n\tRLIMIT_NPROC                         = 0x6\n\tRLIMIT_RSS                           = 0x5\n\tRLIMIT_RTPRIO                        = 0xe\n\tRLIMIT_RTTIME                        = 0xf\n\tRLIMIT_SIGPENDING                    = 0xb\n\tRLIMIT_STACK                         = 0x3\n\tRLIM_INFINITY                        = 0xffffffffffffffff\n\tRTAX_ADVMSS                          = 0x8\n\tRTAX_CC_ALGO                         = 0x10\n\tRTAX_CWND                            = 0x7\n\tRTAX_FASTOPEN_NO_COOKIE              = 0x11\n\tRTAX_FEATURES                        = 0xc\n\tRTAX_FEATURE_ALLFRAG                 = 0x8\n\tRTAX_FEATURE_ECN                     = 0x1\n\tRTAX_FEATURE_MASK                    = 0xf\n\tRTAX_FEATURE_SACK                    = 0x2\n\tRTAX_FEATURE_TIMESTAMP               = 0x4\n\tRTAX_HOPLIMIT                        = 0xa\n\tRTAX_INITCWND                        = 0xb\n\tRTAX_INITRWND                        = 0xe\n\tRTAX_LOCK                            = 0x1\n\tRTAX_MAX                             = 0x11\n\tRTAX_MTU                             = 0x2\n\tRTAX_QUICKACK                        = 0xf\n\tRTAX_REORDERING                      = 0x9\n\tRTAX_RTO_MIN                         = 0xd\n\tRTAX_RTT                             = 0x4\n\tRTAX_RTTVAR                          = 0x5\n\tRTAX_SSTHRESH                        = 0x6\n\tRTAX_UNSPEC                          = 0x0\n\tRTAX_WINDOW                          = 0x3\n\tRTA_ALIGNTO                          = 0x4\n\tRTA_MAX                              = 0x1d\n\tRTCF_DIRECTSRC                       = 0x4000000\n\tRTCF_DOREDIRECT                      = 0x1000000\n\tRTCF_LOG                             = 0x2000000\n\tRTCF_MASQ                            = 0x400000\n\tRTCF_NAT                             = 0x800000\n\tRTCF_VALVE                           = 0x200000\n\tRTC_AF                               = 0x20\n\tRTC_AIE_OFF                          = 0x20007002\n\tRTC_AIE_ON                           = 0x20007001\n\tRTC_ALM_READ                         = 0x40247008\n\tRTC_ALM_SET                          = 0x80247007\n\tRTC_EPOCH_READ                       = 0x4008700d\n\tRTC_EPOCH_SET                        = 0x8008700e\n\tRTC_IRQF                             = 0x80\n\tRTC_IRQP_READ                        = 0x4008700b\n\tRTC_IRQP_SET                         = 0x8008700c\n\tRTC_MAX_FREQ                         = 0x2000\n\tRTC_PF                               = 0x40\n\tRTC_PIE_OFF                          = 0x20007006\n\tRTC_PIE_ON                           = 0x20007005\n\tRTC_PLL_GET                          = 0x40207011\n\tRTC_PLL_SET                          = 0x80207012\n\tRTC_RD_TIME                          = 0x40247009\n\tRTC_SET_TIME                         = 0x8024700a\n\tRTC_UF                               = 0x10\n\tRTC_UIE_OFF                          = 0x20007004\n\tRTC_UIE_ON                           = 0x20007003\n\tRTC_VL_CLR                           = 0x20007014\n\tRTC_VL_READ                          = 0x40047013\n\tRTC_WIE_OFF                          = 0x20007010\n\tRTC_WIE_ON                           = 0x2000700f\n\tRTC_WKALM_RD                         = 0x40287010\n\tRTC_WKALM_SET                        = 0x8028700f\n\tRTF_ADDRCLASSMASK                    = 0xf8000000\n\tRTF_ADDRCONF                         = 0x40000\n\tRTF_ALLONLINK                        = 0x20000\n\tRTF_BROADCAST                        = 0x10000000\n\tRTF_CACHE                            = 0x1000000\n\tRTF_DEFAULT                          = 0x10000\n\tRTF_DYNAMIC                          = 0x10\n\tRTF_FLOW                             = 0x2000000\n\tRTF_GATEWAY                          = 0x2\n\tRTF_HOST                             = 0x4\n\tRTF_INTERFACE                        = 0x40000000\n\tRTF_IRTT                             = 0x100\n\tRTF_LINKRT                           = 0x100000\n\tRTF_LOCAL                            = 0x80000000\n\tRTF_MODIFIED                         = 0x20\n\tRTF_MSS                              = 0x40\n\tRTF_MTU                              = 0x40\n\tRTF_MULTICAST                        = 0x20000000\n\tRTF_NAT                              = 0x8000000\n\tRTF_NOFORWARD                        = 0x1000\n\tRTF_NONEXTHOP                        = 0x200000\n\tRTF_NOPMTUDISC                       = 0x4000\n\tRTF_POLICY                           = 0x4000000\n\tRTF_REINSTATE                        = 0x8\n\tRTF_REJECT                           = 0x200\n\tRTF_STATIC                           = 0x400\n\tRTF_THROW                            = 0x2000\n\tRTF_UP                               = 0x1\n\tRTF_WINDOW                           = 0x80\n\tRTF_XRESOLVE                         = 0x800\n\tRTM_BASE                             = 0x10\n\tRTM_DELACTION                        = 0x31\n\tRTM_DELADDR                          = 0x15\n\tRTM_DELADDRLABEL                     = 0x49\n\tRTM_DELLINK                          = 0x11\n\tRTM_DELMDB                           = 0x55\n\tRTM_DELNEIGH                         = 0x1d\n\tRTM_DELNETCONF                       = 0x51\n\tRTM_DELNSID                          = 0x59\n\tRTM_DELQDISC                         = 0x25\n\tRTM_DELROUTE                         = 0x19\n\tRTM_DELRULE                          = 0x21\n\tRTM_DELTCLASS                        = 0x29\n\tRTM_DELTFILTER                       = 0x2d\n\tRTM_F_CLONED                         = 0x200\n\tRTM_F_EQUALIZE                       = 0x400\n\tRTM_F_FIB_MATCH                      = 0x2000\n\tRTM_F_LOOKUP_TABLE                   = 0x1000\n\tRTM_F_NOTIFY                         = 0x100\n\tRTM_F_PREFIX                         = 0x800\n\tRTM_GETACTION                        = 0x32\n\tRTM_GETADDR                          = 0x16\n\tRTM_GETADDRLABEL                     = 0x4a\n\tRTM_GETANYCAST                       = 0x3e\n\tRTM_GETDCB                           = 0x4e\n\tRTM_GETLINK                          = 0x12\n\tRTM_GETMDB                           = 0x56\n\tRTM_GETMULTICAST                     = 0x3a\n\tRTM_GETNEIGH                         = 0x1e\n\tRTM_GETNEIGHTBL                      = 0x42\n\tRTM_GETNETCONF                       = 0x52\n\tRTM_GETNSID                          = 0x5a\n\tRTM_GETQDISC                         = 0x26\n\tRTM_GETROUTE                         = 0x1a\n\tRTM_GETRULE                          = 0x22\n\tRTM_GETSTATS                         = 0x5e\n\tRTM_GETTCLASS                        = 0x2a\n\tRTM_GETTFILTER                       = 0x2e\n\tRTM_MAX                              = 0x63\n\tRTM_NEWACTION                        = 0x30\n\tRTM_NEWADDR                          = 0x14\n\tRTM_NEWADDRLABEL                     = 0x48\n\tRTM_NEWCACHEREPORT                   = 0x60\n\tRTM_NEWLINK                          = 0x10\n\tRTM_NEWMDB                           = 0x54\n\tRTM_NEWNDUSEROPT                     = 0x44\n\tRTM_NEWNEIGH                         = 0x1c\n\tRTM_NEWNEIGHTBL                      = 0x40\n\tRTM_NEWNETCONF                       = 0x50\n\tRTM_NEWNSID                          = 0x58\n\tRTM_NEWPREFIX                        = 0x34\n\tRTM_NEWQDISC                         = 0x24\n\tRTM_NEWROUTE                         = 0x18\n\tRTM_NEWRULE                          = 0x20\n\tRTM_NEWSTATS                         = 0x5c\n\tRTM_NEWTCLASS                        = 0x28\n\tRTM_NEWTFILTER                       = 0x2c\n\tRTM_NR_FAMILIES                      = 0x15\n\tRTM_NR_MSGTYPES                      = 0x54\n\tRTM_SETDCB                           = 0x4f\n\tRTM_SETLINK                          = 0x13\n\tRTM_SETNEIGHTBL                      = 0x43\n\tRTNH_ALIGNTO                         = 0x4\n\tRTNH_COMPARE_MASK                    = 0x19\n\tRTNH_F_DEAD                          = 0x1\n\tRTNH_F_LINKDOWN                      = 0x10\n\tRTNH_F_OFFLOAD                       = 0x8\n\tRTNH_F_ONLINK                        = 0x4\n\tRTNH_F_PERVASIVE                     = 0x2\n\tRTNH_F_UNRESOLVED                    = 0x20\n\tRTN_MAX                              = 0xb\n\tRTPROT_BABEL                         = 0x2a\n\tRTPROT_BGP                           = 0xba\n\tRTPROT_BIRD                          = 0xc\n\tRTPROT_BOOT                          = 0x3\n\tRTPROT_DHCP                          = 0x10\n\tRTPROT_DNROUTED                      = 0xd\n\tRTPROT_EIGRP                         = 0xc0\n\tRTPROT_GATED                         = 0x8\n\tRTPROT_ISIS                          = 0xbb\n\tRTPROT_KERNEL                        = 0x2\n\tRTPROT_MROUTED                       = 0x11\n\tRTPROT_MRT                           = 0xa\n\tRTPROT_NTK                           = 0xf\n\tRTPROT_OSPF                          = 0xbc\n\tRTPROT_RA                            = 0x9\n\tRTPROT_REDIRECT                      = 0x1\n\tRTPROT_RIP                           = 0xbd\n\tRTPROT_STATIC                        = 0x4\n\tRTPROT_UNSPEC                        = 0x0\n\tRTPROT_XORP                          = 0xe\n\tRTPROT_ZEBRA                         = 0xb\n\tRT_CLASS_DEFAULT                     = 0xfd\n\tRT_CLASS_LOCAL                       = 0xff\n\tRT_CLASS_MAIN                        = 0xfe\n\tRT_CLASS_MAX                         = 0xff\n\tRT_CLASS_UNSPEC                      = 0x0\n\tRUSAGE_CHILDREN                      = -0x1\n\tRUSAGE_SELF                          = 0x0\n\tRUSAGE_THREAD                        = 0x1\n\tSCM_CREDENTIALS                      = 0x2\n\tSCM_RIGHTS                           = 0x1\n\tSCM_TIMESTAMP                        = 0x1d\n\tSCM_TIMESTAMPING                     = 0x25\n\tSCM_TIMESTAMPING_OPT_STATS           = 0x36\n\tSCM_TIMESTAMPING_PKTINFO             = 0x3a\n\tSCM_TIMESTAMPNS                      = 0x23\n\tSCM_WIFI_STATUS                      = 0x29\n\tSECCOMP_MODE_DISABLED                = 0x0\n\tSECCOMP_MODE_FILTER                  = 0x2\n\tSECCOMP_MODE_STRICT                  = 0x1\n\tSECURITYFS_MAGIC                     = 0x73636673\n\tSELINUX_MAGIC                        = 0xf97cff8c\n\tSHUT_RD                              = 0x0\n\tSHUT_RDWR                            = 0x2\n\tSHUT_WR                              = 0x1\n\tSIOCADDDLCI                          = 0x8980\n\tSIOCADDMULTI                         = 0x8931\n\tSIOCADDRT                            = 0x890b\n\tSIOCATMARK                           = 0x8905\n\tSIOCBONDCHANGEACTIVE                 = 0x8995\n\tSIOCBONDENSLAVE                      = 0x8990\n\tSIOCBONDINFOQUERY                    = 0x8994\n\tSIOCBONDRELEASE                      = 0x8991\n\tSIOCBONDSETHWADDR                    = 0x8992\n\tSIOCBONDSLAVEINFOQUERY               = 0x8993\n\tSIOCBRADDBR                          = 0x89a0\n\tSIOCBRADDIF                          = 0x89a2\n\tSIOCBRDELBR                          = 0x89a1\n\tSIOCBRDELIF                          = 0x89a3\n\tSIOCDARP                             = 0x8953\n\tSIOCDELDLCI                          = 0x8981\n\tSIOCDELMULTI                         = 0x8932\n\tSIOCDELRT                            = 0x890c\n\tSIOCDEVPRIVATE                       = 0x89f0\n\tSIOCDIFADDR                          = 0x8936\n\tSIOCDRARP                            = 0x8960\n\tSIOCETHTOOL                          = 0x8946\n\tSIOCGARP                             = 0x8954\n\tSIOCGHWTSTAMP                        = 0x89b1\n\tSIOCGIFADDR                          = 0x8915\n\tSIOCGIFBR                            = 0x8940\n\tSIOCGIFBRDADDR                       = 0x8919\n\tSIOCGIFCONF                          = 0x8912\n\tSIOCGIFCOUNT                         = 0x8938\n\tSIOCGIFDSTADDR                       = 0x8917\n\tSIOCGIFENCAP                         = 0x8925\n\tSIOCGIFFLAGS                         = 0x8913\n\tSIOCGIFHWADDR                        = 0x8927\n\tSIOCGIFINDEX                         = 0x8933\n\tSIOCGIFMAP                           = 0x8970\n\tSIOCGIFMEM                           = 0x891f\n\tSIOCGIFMETRIC                        = 0x891d\n\tSIOCGIFMTU                           = 0x8921\n\tSIOCGIFNAME                          = 0x8910\n\tSIOCGIFNETMASK                       = 0x891b\n\tSIOCGIFPFLAGS                        = 0x8935\n\tSIOCGIFSLAVE                         = 0x8929\n\tSIOCGIFTXQLEN                        = 0x8942\n\tSIOCGIFVLAN                          = 0x8982\n\tSIOCGMIIPHY                          = 0x8947\n\tSIOCGMIIREG                          = 0x8948\n\tSIOCGPGRP                            = 0x8904\n\tSIOCGRARP                            = 0x8961\n\tSIOCGSKNS                            = 0x894c\n\tSIOCGSTAMP                           = 0x8906\n\tSIOCGSTAMPNS                         = 0x8907\n\tSIOCINQ                              = 0x4004667f\n\tSIOCOUTQ                             = 0x40047473\n\tSIOCOUTQNSD                          = 0x894b\n\tSIOCPROTOPRIVATE                     = 0x89e0\n\tSIOCRTMSG                            = 0x890d\n\tSIOCSARP                             = 0x8955\n\tSIOCSHWTSTAMP                        = 0x89b0\n\tSIOCSIFADDR                          = 0x8916\n\tSIOCSIFBR                            = 0x8941\n\tSIOCSIFBRDADDR                       = 0x891a\n\tSIOCSIFDSTADDR                       = 0x8918\n\tSIOCSIFENCAP                         = 0x8926\n\tSIOCSIFFLAGS                         = 0x8914\n\tSIOCSIFHWADDR                        = 0x8924\n\tSIOCSIFHWBROADCAST                   = 0x8937\n\tSIOCSIFLINK                          = 0x8911\n\tSIOCSIFMAP                           = 0x8971\n\tSIOCSIFMEM                           = 0x8920\n\tSIOCSIFMETRIC                        = 0x891e\n\tSIOCSIFMTU                           = 0x8922\n\tSIOCSIFNAME                          = 0x8923\n\tSIOCSIFNETMASK                       = 0x891c\n\tSIOCSIFPFLAGS                        = 0x8934\n\tSIOCSIFSLAVE                         = 0x8930\n\tSIOCSIFTXQLEN                        = 0x8943\n\tSIOCSIFVLAN                          = 0x8983\n\tSIOCSMIIREG                          = 0x8949\n\tSIOCSPGRP                            = 0x8902\n\tSIOCSRARP                            = 0x8962\n\tSIOCWANDEV                           = 0x894a\n\tSMACK_MAGIC                          = 0x43415d53\n\tSMART_AUTOSAVE                       = 0xd2\n\tSMART_AUTO_OFFLINE                   = 0xdb\n\tSMART_DISABLE                        = 0xd9\n\tSMART_ENABLE                         = 0xd8\n\tSMART_HCYL_PASS                      = 0xc2\n\tSMART_IMMEDIATE_OFFLINE              = 0xd4\n\tSMART_LCYL_PASS                      = 0x4f\n\tSMART_READ_LOG_SECTOR                = 0xd5\n\tSMART_READ_THRESHOLDS                = 0xd1\n\tSMART_READ_VALUES                    = 0xd0\n\tSMART_SAVE                           = 0xd3\n\tSMART_STATUS                         = 0xda\n\tSMART_WRITE_LOG_SECTOR               = 0xd6\n\tSMART_WRITE_THRESHOLDS               = 0xd7\n\tSMB_SUPER_MAGIC                      = 0x517b\n\tSOCKFS_MAGIC                         = 0x534f434b\n\tSOCK_CLOEXEC                         = 0x80000\n\tSOCK_DCCP                            = 0x6\n\tSOCK_DGRAM                           = 0x2\n\tSOCK_IOC_TYPE                        = 0x89\n\tSOCK_NONBLOCK                        = 0x800\n\tSOCK_PACKET                          = 0xa\n\tSOCK_RAW                             = 0x3\n\tSOCK_RDM                             = 0x4\n\tSOCK_SEQPACKET                       = 0x5\n\tSOCK_STREAM                          = 0x1\n\tSOL_AAL                              = 0x109\n\tSOL_ALG                              = 0x117\n\tSOL_ATM                              = 0x108\n\tSOL_CAIF                             = 0x116\n\tSOL_CAN_BASE                         = 0x64\n\tSOL_DCCP                             = 0x10d\n\tSOL_DECNET                           = 0x105\n\tSOL_ICMPV6                           = 0x3a\n\tSOL_IP                               = 0x0\n\tSOL_IPV6                             = 0x29\n\tSOL_IRDA                             = 0x10a\n\tSOL_IUCV                             = 0x115\n\tSOL_KCM                              = 0x119\n\tSOL_LLC                              = 0x10c\n\tSOL_NETBEUI                          = 0x10b\n\tSOL_NETLINK                          = 0x10e\n\tSOL_NFC                              = 0x118\n\tSOL_PACKET                           = 0x107\n\tSOL_PNPIPE                           = 0x113\n\tSOL_PPPOL2TP                         = 0x111\n\tSOL_RAW                              = 0xff\n\tSOL_RDS                              = 0x114\n\tSOL_RXRPC                            = 0x110\n\tSOL_SOCKET                           = 0x1\n\tSOL_TCP                              = 0x6\n\tSOL_TIPC                             = 0x10f\n\tSOL_TLS                              = 0x11a\n\tSOL_X25                              = 0x106\n\tSOMAXCONN                            = 0x80\n\tSO_ACCEPTCONN                        = 0x1e\n\tSO_ATTACH_BPF                        = 0x32\n\tSO_ATTACH_FILTER                     = 0x1a\n\tSO_ATTACH_REUSEPORT_CBPF             = 0x33\n\tSO_ATTACH_REUSEPORT_EBPF             = 0x34\n\tSO_BINDTODEVICE                      = 0x19\n\tSO_BPF_EXTENSIONS                    = 0x30\n\tSO_BROADCAST                         = 0x6\n\tSO_BSDCOMPAT                         = 0xe\n\tSO_BUSY_POLL                         = 0x2e\n\tSO_CNX_ADVICE                        = 0x35\n\tSO_COOKIE                            = 0x39\n\tSO_DEBUG                             = 0x1\n\tSO_DETACH_BPF                        = 0x1b\n\tSO_DETACH_FILTER                     = 0x1b\n\tSO_DOMAIN                            = 0x27\n\tSO_DONTROUTE                         = 0x5\n\tSO_ERROR                             = 0x4\n\tSO_GET_FILTER                        = 0x1a\n\tSO_INCOMING_CPU                      = 0x31\n\tSO_INCOMING_NAPI_ID                  = 0x38\n\tSO_KEEPALIVE                         = 0x9\n\tSO_LINGER                            = 0xd\n\tSO_LOCK_FILTER                       = 0x2c\n\tSO_MARK                              = 0x24\n\tSO_MAX_PACING_RATE                   = 0x2f\n\tSO_MEMINFO                           = 0x37\n\tSO_NOFCS                             = 0x2b\n\tSO_NO_CHECK                          = 0xb\n\tSO_OOBINLINE                         = 0xa\n\tSO_PASSCRED                          = 0x14\n\tSO_PASSSEC                           = 0x22\n\tSO_PEEK_OFF                          = 0x2a\n\tSO_PEERCRED                          = 0x15\n\tSO_PEERGROUPS                        = 0x3b\n\tSO_PEERNAME                          = 0x1c\n\tSO_PEERSEC                           = 0x1f\n\tSO_PRIORITY                          = 0xc\n\tSO_PROTOCOL                          = 0x26\n\tSO_RCVBUF                            = 0x8\n\tSO_RCVBUFFORCE                       = 0x21\n\tSO_RCVLOWAT                          = 0x10\n\tSO_RCVTIMEO                          = 0x12\n\tSO_REUSEADDR                         = 0x2\n\tSO_REUSEPORT                         = 0xf\n\tSO_RXQ_OVFL                          = 0x28\n\tSO_SECURITY_AUTHENTICATION           = 0x16\n\tSO_SECURITY_ENCRYPTION_NETWORK       = 0x18\n\tSO_SECURITY_ENCRYPTION_TRANSPORT     = 0x17\n\tSO_SELECT_ERR_QUEUE                  = 0x2d\n\tSO_SNDBUF                            = 0x7\n\tSO_SNDBUFFORCE                       = 0x20\n\tSO_SNDLOWAT                          = 0x11\n\tSO_SNDTIMEO                          = 0x13\n\tSO_TIMESTAMP                         = 0x1d\n\tSO_TIMESTAMPING                      = 0x25\n\tSO_TIMESTAMPNS                       = 0x23\n\tSO_TYPE                              = 0x3\n\tSO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2\n\tSO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1\n\tSO_VM_SOCKETS_BUFFER_SIZE            = 0x0\n\tSO_VM_SOCKETS_CONNECT_TIMEOUT        = 0x6\n\tSO_VM_SOCKETS_NONBLOCK_TXRX          = 0x7\n\tSO_VM_SOCKETS_PEER_HOST_VM_ID        = 0x3\n\tSO_VM_SOCKETS_TRUSTED                = 0x5\n\tSO_WIFI_STATUS                       = 0x29\n\tSO_ZEROCOPY                          = 0x3c\n\tSPLICE_F_GIFT                        = 0x8\n\tSPLICE_F_MORE                        = 0x4\n\tSPLICE_F_MOVE                        = 0x1\n\tSPLICE_F_NONBLOCK                    = 0x2\n\tSQUASHFS_MAGIC                       = 0x73717368\n\tSTACK_END_MAGIC                      = 0x57ac6e9d\n\tSTATX_ALL                            = 0xfff\n\tSTATX_ATIME                          = 0x20\n\tSTATX_ATTR_APPEND                    = 0x20\n\tSTATX_ATTR_AUTOMOUNT                 = 0x1000\n\tSTATX_ATTR_COMPRESSED                = 0x4\n\tSTATX_ATTR_ENCRYPTED                 = 0x800\n\tSTATX_ATTR_IMMUTABLE                 = 0x10\n\tSTATX_ATTR_NODUMP                    = 0x40\n\tSTATX_BASIC_STATS                    = 0x7ff\n\tSTATX_BLOCKS                         = 0x400\n\tSTATX_BTIME                          = 0x800\n\tSTATX_CTIME                          = 0x80\n\tSTATX_GID                            = 0x10\n\tSTATX_INO                            = 0x100\n\tSTATX_MODE                           = 0x2\n\tSTATX_MTIME                          = 0x40\n\tSTATX_NLINK                          = 0x4\n\tSTATX_SIZE                           = 0x200\n\tSTATX_TYPE                           = 0x1\n\tSTATX_UID                            = 0x8\n\tSTATX__RESERVED                      = 0x80000000\n\tSYSFS_MAGIC                          = 0x62656572\n\tS_BLKSIZE                            = 0x200\n\tS_IEXEC                              = 0x40\n\tS_IFBLK                              = 0x6000\n\tS_IFCHR                              = 0x2000\n\tS_IFDIR                              = 0x4000\n\tS_IFIFO                              = 0x1000\n\tS_IFLNK                              = 0xa000\n\tS_IFMT                               = 0xf000\n\tS_IFREG                              = 0x8000\n\tS_IFSOCK                             = 0xc000\n\tS_IREAD                              = 0x100\n\tS_IRGRP                              = 0x20\n\tS_IROTH                              = 0x4\n\tS_IRUSR                              = 0x100\n\tS_IRWXG                              = 0x38\n\tS_IRWXO                              = 0x7\n\tS_IRWXU                              = 0x1c0\n\tS_ISGID                              = 0x400\n\tS_ISUID                              = 0x800\n\tS_ISVTX                              = 0x200\n\tS_IWGRP                              = 0x10\n\tS_IWOTH                              = 0x2\n\tS_IWRITE                             = 0x80\n\tS_IWUSR                              = 0x80\n\tS_IXGRP                              = 0x8\n\tS_IXOTH                              = 0x1\n\tS_IXUSR                              = 0x40\n\tTAB0                                 = 0x0\n\tTAB1                                 = 0x400\n\tTAB2                                 = 0x800\n\tTAB3                                 = 0xc00\n\tTABDLY                               = 0xc00\n\tTASKSTATS_CMD_ATTR_MAX               = 0x4\n\tTASKSTATS_CMD_MAX                    = 0x2\n\tTASKSTATS_GENL_NAME                  = \"TASKSTATS\"\n\tTASKSTATS_GENL_VERSION               = 0x1\n\tTASKSTATS_TYPE_MAX                   = 0x6\n\tTASKSTATS_VERSION                    = 0x8\n\tTCFLSH                               = 0x2000741f\n\tTCGETA                               = 0x40147417\n\tTCGETS                               = 0x402c7413\n\tTCIFLUSH                             = 0x0\n\tTCIOFF                               = 0x2\n\tTCIOFLUSH                            = 0x2\n\tTCION                                = 0x3\n\tTCOFLUSH                             = 0x1\n\tTCOOFF                               = 0x0\n\tTCOON                                = 0x1\n\tTCP_CC_INFO                          = 0x1a\n\tTCP_CONGESTION                       = 0xd\n\tTCP_COOKIE_IN_ALWAYS                 = 0x1\n\tTCP_COOKIE_MAX                       = 0x10\n\tTCP_COOKIE_MIN                       = 0x8\n\tTCP_COOKIE_OUT_NEVER                 = 0x2\n\tTCP_COOKIE_PAIR_SIZE                 = 0x20\n\tTCP_COOKIE_TRANSACTIONS              = 0xf\n\tTCP_CORK                             = 0x3\n\tTCP_DEFER_ACCEPT                     = 0x9\n\tTCP_FASTOPEN                         = 0x17\n\tTCP_FASTOPEN_CONNECT                 = 0x1e\n\tTCP_FASTOPEN_KEY                     = 0x21\n\tTCP_FASTOPEN_NO_COOKIE               = 0x22\n\tTCP_INFO                             = 0xb\n\tTCP_KEEPCNT                          = 0x6\n\tTCP_KEEPIDLE                         = 0x4\n\tTCP_KEEPINTVL                        = 0x5\n\tTCP_LINGER2                          = 0x8\n\tTCP_MAXSEG                           = 0x2\n\tTCP_MAXWIN                           = 0xffff\n\tTCP_MAX_WINSHIFT                     = 0xe\n\tTCP_MD5SIG                           = 0xe\n\tTCP_MD5SIG_EXT                       = 0x20\n\tTCP_MD5SIG_FLAG_PREFIX               = 0x1\n\tTCP_MD5SIG_MAXKEYLEN                 = 0x50\n\tTCP_MSS                              = 0x200\n\tTCP_MSS_DEFAULT                      = 0x218\n\tTCP_MSS_DESIRED                      = 0x4c4\n\tTCP_NODELAY                          = 0x1\n\tTCP_NOTSENT_LOWAT                    = 0x19\n\tTCP_QUEUE_SEQ                        = 0x15\n\tTCP_QUICKACK                         = 0xc\n\tTCP_REPAIR                           = 0x13\n\tTCP_REPAIR_OPTIONS                   = 0x16\n\tTCP_REPAIR_QUEUE                     = 0x14\n\tTCP_REPAIR_WINDOW                    = 0x1d\n\tTCP_SAVED_SYN                        = 0x1c\n\tTCP_SAVE_SYN                         = 0x1b\n\tTCP_SYNCNT                           = 0x7\n\tTCP_S_DATA_IN                        = 0x4\n\tTCP_S_DATA_OUT                       = 0x8\n\tTCP_THIN_DUPACK                      = 0x11\n\tTCP_THIN_LINEAR_TIMEOUTS             = 0x10\n\tTCP_TIMESTAMP                        = 0x18\n\tTCP_ULP                              = 0x1f\n\tTCP_USER_TIMEOUT                     = 0x12\n\tTCP_WINDOW_CLAMP                     = 0xa\n\tTCSAFLUSH                            = 0x2\n\tTCSBRK                               = 0x2000741d\n\tTCSBRKP                              = 0x5425\n\tTCSETA                               = 0x80147418\n\tTCSETAF                              = 0x8014741c\n\tTCSETAW                              = 0x80147419\n\tTCSETS                               = 0x802c7414\n\tTCSETSF                              = 0x802c7416\n\tTCSETSW                              = 0x802c7415\n\tTCXONC                               = 0x2000741e\n\tTIOCCBRK                             = 0x5428\n\tTIOCCONS                             = 0x541d\n\tTIOCEXCL                             = 0x540c\n\tTIOCGDEV                             = 0x40045432\n\tTIOCGETC                             = 0x40067412\n\tTIOCGETD                             = 0x5424\n\tTIOCGETP                             = 0x40067408\n\tTIOCGEXCL                            = 0x40045440\n\tTIOCGICOUNT                          = 0x545d\n\tTIOCGLCKTRMIOS                       = 0x5456\n\tTIOCGLTC                             = 0x40067474\n\tTIOCGPGRP                            = 0x40047477\n\tTIOCGPKT                             = 0x40045438\n\tTIOCGPTLCK                           = 0x40045439\n\tTIOCGPTN                             = 0x40045430\n\tTIOCGPTPEER                          = 0x20005441\n\tTIOCGRS485                           = 0x542e\n\tTIOCGSERIAL                          = 0x541e\n\tTIOCGSID                             = 0x5429\n\tTIOCGSOFTCAR                         = 0x5419\n\tTIOCGWINSZ                           = 0x40087468\n\tTIOCINQ                              = 0x4004667f\n\tTIOCLINUX                            = 0x541c\n\tTIOCMBIC                             = 0x5417\n\tTIOCMBIS                             = 0x5416\n\tTIOCMGET                             = 0x5415\n\tTIOCMIWAIT                           = 0x545c\n\tTIOCMSET                             = 0x5418\n\tTIOCM_CAR                            = 0x40\n\tTIOCM_CD                             = 0x40\n\tTIOCM_CTS                            = 0x20\n\tTIOCM_DSR                            = 0x100\n\tTIOCM_DTR                            = 0x2\n\tTIOCM_LE                             = 0x1\n\tTIOCM_LOOP                           = 0x8000\n\tTIOCM_OUT1                           = 0x2000\n\tTIOCM_OUT2                           = 0x4000\n\tTIOCM_RI                             = 0x80\n\tTIOCM_RNG                            = 0x80\n\tTIOCM_RTS                            = 0x4\n\tTIOCM_SR                             = 0x10\n\tTIOCM_ST                             = 0x8\n\tTIOCNOTTY                            = 0x5422\n\tTIOCNXCL                             = 0x540d\n\tTIOCOUTQ                             = 0x40047473\n\tTIOCPKT                              = 0x5420\n\tTIOCPKT_DATA                         = 0x0\n\tTIOCPKT_DOSTOP                       = 0x20\n\tTIOCPKT_FLUSHREAD                    = 0x1\n\tTIOCPKT_FLUSHWRITE                   = 0x2\n\tTIOCPKT_IOCTL                        = 0x40\n\tTIOCPKT_NOSTOP                       = 0x10\n\tTIOCPKT_START                        = 0x8\n\tTIOCPKT_STOP                         = 0x4\n\tTIOCSBRK                             = 0x5427\n\tTIOCSCTTY                            = 0x540e\n\tTIOCSERCONFIG                        = 0x5453\n\tTIOCSERGETLSR                        = 0x5459\n\tTIOCSERGETMULTI                      = 0x545a\n\tTIOCSERGSTRUCT                       = 0x5458\n\tTIOCSERGWILD                         = 0x5454\n\tTIOCSERSETMULTI                      = 0x545b\n\tTIOCSERSWILD                         = 0x5455\n\tTIOCSER_TEMT                         = 0x1\n\tTIOCSETC                             = 0x80067411\n\tTIOCSETD                             = 0x5423\n\tTIOCSETN                             = 0x8006740a\n\tTIOCSETP                             = 0x80067409\n\tTIOCSIG                              = 0x80045436\n\tTIOCSLCKTRMIOS                       = 0x5457\n\tTIOCSLTC                             = 0x80067475\n\tTIOCSPGRP                            = 0x80047476\n\tTIOCSPTLCK                           = 0x80045431\n\tTIOCSRS485                           = 0x542f\n\tTIOCSSERIAL                          = 0x541f\n\tTIOCSSOFTCAR                         = 0x541a\n\tTIOCSTART                            = 0x2000746e\n\tTIOCSTI                              = 0x5412\n\tTIOCSTOP                             = 0x2000746f\n\tTIOCSWINSZ                           = 0x80087467\n\tTIOCVHANGUP                          = 0x5437\n\tTMPFS_MAGIC                          = 0x1021994\n\tTOSTOP                               = 0x400000\n\tTPACKET_ALIGNMENT                    = 0x10\n\tTPACKET_HDRLEN                       = 0x34\n\tTP_STATUS_AVAILABLE                  = 0x0\n\tTP_STATUS_BLK_TMO                    = 0x20\n\tTP_STATUS_COPY                       = 0x2\n\tTP_STATUS_CSUMNOTREADY               = 0x8\n\tTP_STATUS_CSUM_VALID                 = 0x80\n\tTP_STATUS_KERNEL                     = 0x0\n\tTP_STATUS_LOSING                     = 0x4\n\tTP_STATUS_SENDING                    = 0x2\n\tTP_STATUS_SEND_REQUEST               = 0x1\n\tTP_STATUS_TS_RAW_HARDWARE            = -0x80000000\n\tTP_STATUS_TS_SOFTWARE                = 0x20000000\n\tTP_STATUS_TS_SYS_HARDWARE            = 0x40000000\n\tTP_STATUS_USER                       = 0x1\n\tTP_STATUS_VLAN_TPID_VALID            = 0x40\n\tTP_STATUS_VLAN_VALID                 = 0x10\n\tTP_STATUS_WRONG_FORMAT               = 0x4\n\tTRACEFS_MAGIC                        = 0x74726163\n\tTS_COMM_LEN                          = 0x20\n\tTUNATTACHFILTER                      = 0x801054d5\n\tTUNDETACHFILTER                      = 0x801054d6\n\tTUNGETFEATURES                       = 0x400454cf\n\tTUNGETFILTER                         = 0x401054db\n\tTUNGETIFF                            = 0x400454d2\n\tTUNGETSNDBUF                         = 0x400454d3\n\tTUNGETVNETBE                         = 0x400454df\n\tTUNGETVNETHDRSZ                      = 0x400454d7\n\tTUNGETVNETLE                         = 0x400454dd\n\tTUNSETDEBUG                          = 0x800454c9\n\tTUNSETFILTEREBPF                     = 0x400454e1\n\tTUNSETGROUP                          = 0x800454ce\n\tTUNSETIFF                            = 0x800454ca\n\tTUNSETIFINDEX                        = 0x800454da\n\tTUNSETLINK                           = 0x800454cd\n\tTUNSETNOCSUM                         = 0x800454c8\n\tTUNSETOFFLOAD                        = 0x800454d0\n\tTUNSETOWNER                          = 0x800454cc\n\tTUNSETPERSIST                        = 0x800454cb\n\tTUNSETQUEUE                          = 0x800454d9\n\tTUNSETSNDBUF                         = 0x800454d4\n\tTUNSETSTEERINGEBPF                   = 0x400454e0\n\tTUNSETTXFILTER                       = 0x800454d1\n\tTUNSETVNETBE                         = 0x800454de\n\tTUNSETVNETHDRSZ                      = 0x800454d8\n\tTUNSETVNETLE                         = 0x800454dc\n\tUDF_SUPER_MAGIC                      = 0x15013346\n\tUMOUNT_NOFOLLOW                      = 0x8\n\tUSBDEVICE_SUPER_MAGIC                = 0x9fa2\n\tUTIME_NOW                            = 0x3fffffff\n\tUTIME_OMIT                           = 0x3ffffffe\n\tV9FS_MAGIC                           = 0x1021997\n\tVDISCARD                             = 0x10\n\tVEOF                                 = 0x4\n\tVEOL                                 = 0x6\n\tVEOL2                                = 0x8\n\tVERASE                               = 0x2\n\tVINTR                                = 0x0\n\tVKILL                                = 0x3\n\tVLNEXT                               = 0xf\n\tVMADDR_CID_ANY                       = 0xffffffff\n\tVMADDR_CID_HOST                      = 0x2\n\tVMADDR_CID_HYPERVISOR                = 0x0\n\tVMADDR_CID_RESERVED                  = 0x1\n\tVMADDR_PORT_ANY                      = 0xffffffff\n\tVMIN                                 = 0x5\n\tVM_SOCKETS_INVALID_VERSION           = 0xffffffff\n\tVQUIT                                = 0x1\n\tVREPRINT                             = 0xb\n\tVSTART                               = 0xd\n\tVSTOP                                = 0xe\n\tVSUSP                                = 0xc\n\tVSWTC                                = 0x9\n\tVT0                                  = 0x0\n\tVT1                                  = 0x10000\n\tVTDLY                                = 0x10000\n\tVTIME                                = 0x7\n\tVWERASE                              = 0xa\n\tWALL                                 = 0x40000000\n\tWCLONE                               = 0x80000000\n\tWCONTINUED                           = 0x8\n\tWDIOC_GETBOOTSTATUS                  = 0x40045702\n\tWDIOC_GETPRETIMEOUT                  = 0x40045709\n\tWDIOC_GETSTATUS                      = 0x40045701\n\tWDIOC_GETSUPPORT                     = 0x40285700\n\tWDIOC_GETTEMP                        = 0x40045703\n\tWDIOC_GETTIMELEFT                    = 0x4004570a\n\tWDIOC_GETTIMEOUT                     = 0x40045707\n\tWDIOC_KEEPALIVE                      = 0x40045705\n\tWDIOC_SETOPTIONS                     = 0x40045704\n\tWDIOC_SETPRETIMEOUT                  = 0xc0045708\n\tWDIOC_SETTIMEOUT                     = 0xc0045706\n\tWEXITED                              = 0x4\n\tWIN_ACKMEDIACHANGE                   = 0xdb\n\tWIN_CHECKPOWERMODE1                  = 0xe5\n\tWIN_CHECKPOWERMODE2                  = 0x98\n\tWIN_DEVICE_RESET                     = 0x8\n\tWIN_DIAGNOSE                         = 0x90\n\tWIN_DOORLOCK                         = 0xde\n\tWIN_DOORUNLOCK                       = 0xdf\n\tWIN_DOWNLOAD_MICROCODE               = 0x92\n\tWIN_FLUSH_CACHE                      = 0xe7\n\tWIN_FLUSH_CACHE_EXT                  = 0xea\n\tWIN_FORMAT                           = 0x50\n\tWIN_GETMEDIASTATUS                   = 0xda\n\tWIN_IDENTIFY                         = 0xec\n\tWIN_IDENTIFY_DMA                     = 0xee\n\tWIN_IDLEIMMEDIATE                    = 0xe1\n\tWIN_INIT                             = 0x60\n\tWIN_MEDIAEJECT                       = 0xed\n\tWIN_MULTREAD                         = 0xc4\n\tWIN_MULTREAD_EXT                     = 0x29\n\tWIN_MULTWRITE                        = 0xc5\n\tWIN_MULTWRITE_EXT                    = 0x39\n\tWIN_NOP                              = 0x0\n\tWIN_PACKETCMD                        = 0xa0\n\tWIN_PIDENTIFY                        = 0xa1\n\tWIN_POSTBOOT                         = 0xdc\n\tWIN_PREBOOT                          = 0xdd\n\tWIN_QUEUED_SERVICE                   = 0xa2\n\tWIN_READ                             = 0x20\n\tWIN_READDMA                          = 0xc8\n\tWIN_READDMA_EXT                      = 0x25\n\tWIN_READDMA_ONCE                     = 0xc9\n\tWIN_READDMA_QUEUED                   = 0xc7\n\tWIN_READDMA_QUEUED_EXT               = 0x26\n\tWIN_READ_BUFFER                      = 0xe4\n\tWIN_READ_EXT                         = 0x24\n\tWIN_READ_LONG                        = 0x22\n\tWIN_READ_LONG_ONCE                   = 0x23\n\tWIN_READ_NATIVE_MAX                  = 0xf8\n\tWIN_READ_NATIVE_MAX_EXT              = 0x27\n\tWIN_READ_ONCE                        = 0x21\n\tWIN_RECAL                            = 0x10\n\tWIN_RESTORE                          = 0x10\n\tWIN_SECURITY_DISABLE                 = 0xf6\n\tWIN_SECURITY_ERASE_PREPARE           = 0xf3\n\tWIN_SECURITY_ERASE_UNIT              = 0xf4\n\tWIN_SECURITY_FREEZE_LOCK             = 0xf5\n\tWIN_SECURITY_SET_PASS                = 0xf1\n\tWIN_SECURITY_UNLOCK                  = 0xf2\n\tWIN_SEEK                             = 0x70\n\tWIN_SETFEATURES                      = 0xef\n\tWIN_SETIDLE1                         = 0xe3\n\tWIN_SETIDLE2                         = 0x97\n\tWIN_SETMULT                          = 0xc6\n\tWIN_SET_MAX                          = 0xf9\n\tWIN_SET_MAX_EXT                      = 0x37\n\tWIN_SLEEPNOW1                        = 0xe6\n\tWIN_SLEEPNOW2                        = 0x99\n\tWIN_SMART                            = 0xb0\n\tWIN_SPECIFY                          = 0x91\n\tWIN_SRST                             = 0x8\n\tWIN_STANDBY                          = 0xe2\n\tWIN_STANDBY2                         = 0x96\n\tWIN_STANDBYNOW1                      = 0xe0\n\tWIN_STANDBYNOW2                      = 0x94\n\tWIN_VERIFY                           = 0x40\n\tWIN_VERIFY_EXT                       = 0x42\n\tWIN_VERIFY_ONCE                      = 0x41\n\tWIN_WRITE                            = 0x30\n\tWIN_WRITEDMA                         = 0xca\n\tWIN_WRITEDMA_EXT                     = 0x35\n\tWIN_WRITEDMA_ONCE                    = 0xcb\n\tWIN_WRITEDMA_QUEUED                  = 0xcc\n\tWIN_WRITEDMA_QUEUED_EXT              = 0x36\n\tWIN_WRITE_BUFFER                     = 0xe8\n\tWIN_WRITE_EXT                        = 0x34\n\tWIN_WRITE_LONG                       = 0x32\n\tWIN_WRITE_LONG_ONCE                  = 0x33\n\tWIN_WRITE_ONCE                       = 0x31\n\tWIN_WRITE_SAME                       = 0xe9\n\tWIN_WRITE_VERIFY                     = 0x3c\n\tWNOHANG                              = 0x1\n\tWNOTHREAD                            = 0x20000000\n\tWNOWAIT                              = 0x1000000\n\tWORDSIZE                             = 0x40\n\tWSTOPPED                             = 0x2\n\tWUNTRACED                            = 0x2\n\tXATTR_CREATE                         = 0x1\n\tXATTR_REPLACE                        = 0x2\n\tXCASE                                = 0x4000\n\tXENFS_SUPER_MAGIC                    = 0xabba1974\n\tXTABS                                = 0xc00\n\tZSMALLOC_MAGIC                       = 0x58295829\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x62)\n\tEADDRNOTAVAIL   = syscall.Errno(0x63)\n\tEADV            = syscall.Errno(0x44)\n\tEAFNOSUPPORT    = syscall.Errno(0x61)\n\tEAGAIN          = syscall.Errno(0xb)\n\tEALREADY        = syscall.Errno(0x72)\n\tEBADE           = syscall.Errno(0x34)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADFD          = syscall.Errno(0x4d)\n\tEBADMSG         = syscall.Errno(0x4a)\n\tEBADR           = syscall.Errno(0x35)\n\tEBADRQC         = syscall.Errno(0x38)\n\tEBADSLT         = syscall.Errno(0x39)\n\tEBFONT          = syscall.Errno(0x3b)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x7d)\n\tECHILD          = syscall.Errno(0xa)\n\tECHRNG          = syscall.Errno(0x2c)\n\tECOMM           = syscall.Errno(0x46)\n\tECONNABORTED    = syscall.Errno(0x67)\n\tECONNREFUSED    = syscall.Errno(0x6f)\n\tECONNRESET      = syscall.Errno(0x68)\n\tEDEADLK         = syscall.Errno(0x23)\n\tEDEADLOCK       = syscall.Errno(0x3a)\n\tEDESTADDRREQ    = syscall.Errno(0x59)\n\tEDOM            = syscall.Errno(0x21)\n\tEDOTDOT         = syscall.Errno(0x49)\n\tEDQUOT          = syscall.Errno(0x7a)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEHOSTDOWN       = syscall.Errno(0x70)\n\tEHOSTUNREACH    = syscall.Errno(0x71)\n\tEHWPOISON       = syscall.Errno(0x85)\n\tEIDRM           = syscall.Errno(0x2b)\n\tEILSEQ          = syscall.Errno(0x54)\n\tEINPROGRESS     = syscall.Errno(0x73)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x6a)\n\tEISDIR          = syscall.Errno(0x15)\n\tEISNAM          = syscall.Errno(0x78)\n\tEKEYEXPIRED     = syscall.Errno(0x7f)\n\tEKEYREJECTED    = syscall.Errno(0x81)\n\tEKEYREVOKED     = syscall.Errno(0x80)\n\tEL2HLT          = syscall.Errno(0x33)\n\tEL2NSYNC        = syscall.Errno(0x2d)\n\tEL3HLT          = syscall.Errno(0x2e)\n\tEL3RST          = syscall.Errno(0x2f)\n\tELIBACC         = syscall.Errno(0x4f)\n\tELIBBAD         = syscall.Errno(0x50)\n\tELIBEXEC        = syscall.Errno(0x53)\n\tELIBMAX         = syscall.Errno(0x52)\n\tELIBSCN         = syscall.Errno(0x51)\n\tELNRNG          = syscall.Errno(0x30)\n\tELOOP           = syscall.Errno(0x28)\n\tEMEDIUMTYPE     = syscall.Errno(0x7c)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x5a)\n\tEMULTIHOP       = syscall.Errno(0x48)\n\tENAMETOOLONG    = syscall.Errno(0x24)\n\tENAVAIL         = syscall.Errno(0x77)\n\tENETDOWN        = syscall.Errno(0x64)\n\tENETRESET       = syscall.Errno(0x66)\n\tENETUNREACH     = syscall.Errno(0x65)\n\tENFILE          = syscall.Errno(0x17)\n\tENOANO          = syscall.Errno(0x37)\n\tENOBUFS         = syscall.Errno(0x69)\n\tENOCSI          = syscall.Errno(0x32)\n\tENODATA         = syscall.Errno(0x3d)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOKEY          = syscall.Errno(0x7e)\n\tENOLCK          = syscall.Errno(0x25)\n\tENOLINK         = syscall.Errno(0x43)\n\tENOMEDIUM       = syscall.Errno(0x7b)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x2a)\n\tENONET          = syscall.Errno(0x40)\n\tENOPKG          = syscall.Errno(0x41)\n\tENOPROTOOPT     = syscall.Errno(0x5c)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x3f)\n\tENOSTR          = syscall.Errno(0x3c)\n\tENOSYS          = syscall.Errno(0x26)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x6b)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x27)\n\tENOTNAM         = syscall.Errno(0x76)\n\tENOTRECOVERABLE = syscall.Errno(0x83)\n\tENOTSOCK        = syscall.Errno(0x58)\n\tENOTSUP         = syscall.Errno(0x5f)\n\tENOTTY          = syscall.Errno(0x19)\n\tENOTUNIQ        = syscall.Errno(0x4c)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x5f)\n\tEOVERFLOW       = syscall.Errno(0x4b)\n\tEOWNERDEAD      = syscall.Errno(0x82)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x60)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROTO          = syscall.Errno(0x47)\n\tEPROTONOSUPPORT = syscall.Errno(0x5d)\n\tEPROTOTYPE      = syscall.Errno(0x5b)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMCHG         = syscall.Errno(0x4e)\n\tEREMOTE         = syscall.Errno(0x42)\n\tEREMOTEIO       = syscall.Errno(0x79)\n\tERESTART        = syscall.Errno(0x55)\n\tERFKILL         = syscall.Errno(0x84)\n\tEROFS           = syscall.Errno(0x1e)\n\tESHUTDOWN       = syscall.Errno(0x6c)\n\tESOCKTNOSUPPORT = syscall.Errno(0x5e)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESRMNT          = syscall.Errno(0x45)\n\tESTALE          = syscall.Errno(0x74)\n\tESTRPIPE        = syscall.Errno(0x56)\n\tETIME           = syscall.Errno(0x3e)\n\tETIMEDOUT       = syscall.Errno(0x6e)\n\tETOOMANYREFS    = syscall.Errno(0x6d)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUCLEAN         = syscall.Errno(0x75)\n\tEUNATCH         = syscall.Errno(0x31)\n\tEUSERS          = syscall.Errno(0x57)\n\tEWOULDBLOCK     = syscall.Errno(0xb)\n\tEXDEV           = syscall.Errno(0x12)\n\tEXFULL          = syscall.Errno(0x36)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0x7)\n\tSIGCHLD   = syscall.Signal(0x11)\n\tSIGCLD    = syscall.Signal(0x11)\n\tSIGCONT   = syscall.Signal(0x12)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x1d)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPOLL   = syscall.Signal(0x1d)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGPWR    = syscall.Signal(0x1e)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTKFLT = syscall.Signal(0x10)\n\tSIGSTOP   = syscall.Signal(0x13)\n\tSIGSYS    = syscall.Signal(0x1f)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x14)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x17)\n\tSIGUSR1   = syscall.Signal(0xa)\n\tSIGUSR2   = syscall.Signal(0xc)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errorList = [...]struct {\n\tnum  syscall.Errno\n\tname string\n\tdesc string\n}{\n\t{1, \"EPERM\", \"operation not permitted\"},\n\t{2, \"ENOENT\", \"no such file or directory\"},\n\t{3, \"ESRCH\", \"no such process\"},\n\t{4, \"EINTR\", \"interrupted system call\"},\n\t{5, \"EIO\", \"input/output error\"},\n\t{6, \"ENXIO\", \"no such device or address\"},\n\t{7, \"E2BIG\", \"argument list too long\"},\n\t{8, \"ENOEXEC\", \"exec format error\"},\n\t{9, \"EBADF\", \"bad file descriptor\"},\n\t{10, \"ECHILD\", \"no child processes\"},\n\t{11, \"EAGAIN\", \"resource temporarily unavailable\"},\n\t{12, \"ENOMEM\", \"cannot allocate memory\"},\n\t{13, \"EACCES\", \"permission denied\"},\n\t{14, \"EFAULT\", \"bad address\"},\n\t{15, \"ENOTBLK\", \"block device required\"},\n\t{16, \"EBUSY\", \"device or resource busy\"},\n\t{17, \"EEXIST\", \"file exists\"},\n\t{18, \"EXDEV\", \"invalid cross-device link\"},\n\t{19, \"ENODEV\", \"no such device\"},\n\t{20, \"ENOTDIR\", \"not a directory\"},\n\t{21, \"EISDIR\", \"is a directory\"},\n\t{22, \"EINVAL\", \"invalid argument\"},\n\t{23, \"ENFILE\", \"too many open files in system\"},\n\t{24, \"EMFILE\", \"too many open files\"},\n\t{25, \"ENOTTY\", \"inappropriate ioctl for device\"},\n\t{26, \"ETXTBSY\", \"text file busy\"},\n\t{27, \"EFBIG\", \"file too large\"},\n\t{28, \"ENOSPC\", \"no space left on device\"},\n\t{29, \"ESPIPE\", \"illegal seek\"},\n\t{30, \"EROFS\", \"read-only file system\"},\n\t{31, \"EMLINK\", \"too many links\"},\n\t{32, \"EPIPE\", \"broken pipe\"},\n\t{33, \"EDOM\", \"numerical argument out of domain\"},\n\t{34, \"ERANGE\", \"numerical result out of range\"},\n\t{35, \"EDEADLK\", \"resource deadlock avoided\"},\n\t{36, \"ENAMETOOLONG\", \"file name too long\"},\n\t{37, \"ENOLCK\", \"no locks available\"},\n\t{38, \"ENOSYS\", \"function not implemented\"},\n\t{39, \"ENOTEMPTY\", \"directory not empty\"},\n\t{40, \"ELOOP\", \"too many levels of symbolic links\"},\n\t{42, \"ENOMSG\", \"no message of desired type\"},\n\t{43, \"EIDRM\", \"identifier removed\"},\n\t{44, \"ECHRNG\", \"channel number out of range\"},\n\t{45, \"EL2NSYNC\", \"level 2 not synchronized\"},\n\t{46, \"EL3HLT\", \"level 3 halted\"},\n\t{47, \"EL3RST\", \"level 3 reset\"},\n\t{48, \"ELNRNG\", \"link number out of range\"},\n\t{49, \"EUNATCH\", \"protocol driver not attached\"},\n\t{50, \"ENOCSI\", \"no CSI structure available\"},\n\t{51, \"EL2HLT\", \"level 2 halted\"},\n\t{52, \"EBADE\", \"invalid exchange\"},\n\t{53, \"EBADR\", \"invalid request descriptor\"},\n\t{54, \"EXFULL\", \"exchange full\"},\n\t{55, \"ENOANO\", \"no anode\"},\n\t{56, \"EBADRQC\", \"invalid request code\"},\n\t{57, \"EBADSLT\", \"invalid slot\"},\n\t{58, \"EDEADLOCK\", \"file locking deadlock error\"},\n\t{59, \"EBFONT\", \"bad font file format\"},\n\t{60, \"ENOSTR\", \"device not a stream\"},\n\t{61, \"ENODATA\", \"no data available\"},\n\t{62, \"ETIME\", \"timer expired\"},\n\t{63, \"ENOSR\", \"out of streams resources\"},\n\t{64, \"ENONET\", \"machine is not on the network\"},\n\t{65, \"ENOPKG\", \"package not installed\"},\n\t{66, \"EREMOTE\", \"object is remote\"},\n\t{67, \"ENOLINK\", \"link has been severed\"},\n\t{68, \"EADV\", \"advertise error\"},\n\t{69, \"ESRMNT\", \"srmount error\"},\n\t{70, \"ECOMM\", \"communication error on send\"},\n\t{71, \"EPROTO\", \"protocol error\"},\n\t{72, \"EMULTIHOP\", \"multihop attempted\"},\n\t{73, \"EDOTDOT\", \"RFS specific error\"},\n\t{74, \"EBADMSG\", \"bad message\"},\n\t{75, \"EOVERFLOW\", \"value too large for defined data type\"},\n\t{76, \"ENOTUNIQ\", \"name not unique on network\"},\n\t{77, \"EBADFD\", \"file descriptor in bad state\"},\n\t{78, \"EREMCHG\", \"remote address changed\"},\n\t{79, \"ELIBACC\", \"can not access a needed shared library\"},\n\t{80, \"ELIBBAD\", \"accessing a corrupted shared library\"},\n\t{81, \"ELIBSCN\", \".lib section in a.out corrupted\"},\n\t{82, \"ELIBMAX\", \"attempting to link in too many shared libraries\"},\n\t{83, \"ELIBEXEC\", \"cannot exec a shared library directly\"},\n\t{84, \"EILSEQ\", \"invalid or incomplete multibyte or wide character\"},\n\t{85, \"ERESTART\", \"interrupted system call should be restarted\"},\n\t{86, \"ESTRPIPE\", \"streams pipe error\"},\n\t{87, \"EUSERS\", \"too many users\"},\n\t{88, \"ENOTSOCK\", \"socket operation on non-socket\"},\n\t{89, \"EDESTADDRREQ\", \"destination address required\"},\n\t{90, \"EMSGSIZE\", \"message too long\"},\n\t{91, \"EPROTOTYPE\", \"protocol wrong type for socket\"},\n\t{92, \"ENOPROTOOPT\", \"protocol not available\"},\n\t{93, \"EPROTONOSUPPORT\", \"protocol not supported\"},\n\t{94, \"ESOCKTNOSUPPORT\", \"socket type not supported\"},\n\t{95, \"ENOTSUP\", \"operation not supported\"},\n\t{96, \"EPFNOSUPPORT\", \"protocol family not supported\"},\n\t{97, \"EAFNOSUPPORT\", \"address family not supported by protocol\"},\n\t{98, \"EADDRINUSE\", \"address already in use\"},\n\t{99, \"EADDRNOTAVAIL\", \"cannot assign requested address\"},\n\t{100, \"ENETDOWN\", \"network is down\"},\n\t{101, \"ENETUNREACH\", \"network is unreachable\"},\n\t{102, \"ENETRESET\", \"network dropped connection on reset\"},\n\t{103, \"ECONNABORTED\", \"software caused connection abort\"},\n\t{104, \"ECONNRESET\", \"connection reset by peer\"},\n\t{105, \"ENOBUFS\", \"no buffer space available\"},\n\t{106, \"EISCONN\", \"transport endpoint is already connected\"},\n\t{107, \"ENOTCONN\", \"transport endpoint is not connected\"},\n\t{108, \"ESHUTDOWN\", \"cannot send after transport endpoint shutdown\"},\n\t{109, \"ETOOMANYREFS\", \"too many references: cannot splice\"},\n\t{110, \"ETIMEDOUT\", \"connection timed out\"},\n\t{111, \"ECONNREFUSED\", \"connection refused\"},\n\t{112, \"EHOSTDOWN\", \"host is down\"},\n\t{113, \"EHOSTUNREACH\", \"no route to host\"},\n\t{114, \"EALREADY\", \"operation already in progress\"},\n\t{115, \"EINPROGRESS\", \"operation now in progress\"},\n\t{116, \"ESTALE\", \"stale file handle\"},\n\t{117, \"EUCLEAN\", \"structure needs cleaning\"},\n\t{118, \"ENOTNAM\", \"not a XENIX named type file\"},\n\t{119, \"ENAVAIL\", \"no XENIX semaphores available\"},\n\t{120, \"EISNAM\", \"is a named type file\"},\n\t{121, \"EREMOTEIO\", \"remote I/O error\"},\n\t{122, \"EDQUOT\", \"disk quota exceeded\"},\n\t{123, \"ENOMEDIUM\", \"no medium found\"},\n\t{124, \"EMEDIUMTYPE\", \"wrong medium type\"},\n\t{125, \"ECANCELED\", \"operation canceled\"},\n\t{126, \"ENOKEY\", \"required key not available\"},\n\t{127, \"EKEYEXPIRED\", \"key has expired\"},\n\t{128, \"EKEYREVOKED\", \"key has been revoked\"},\n\t{129, \"EKEYREJECTED\", \"key was rejected by service\"},\n\t{130, \"EOWNERDEAD\", \"owner died\"},\n\t{131, \"ENOTRECOVERABLE\", \"state not recoverable\"},\n\t{132, \"ERFKILL\", \"operation not possible due to RF-kill\"},\n\t{133, \"EHWPOISON\", \"memory page has hardware error\"},\n}\n\n// Signal table\nvar signalList = [...]struct {\n\tnum  syscall.Signal\n\tname string\n\tdesc string\n}{\n\t{1, \"SIGHUP\", \"hangup\"},\n\t{2, \"SIGINT\", \"interrupt\"},\n\t{3, \"SIGQUIT\", \"quit\"},\n\t{4, \"SIGILL\", \"illegal instruction\"},\n\t{5, \"SIGTRAP\", \"trace/breakpoint trap\"},\n\t{6, \"SIGABRT\", \"aborted\"},\n\t{7, \"SIGBUS\", \"bus error\"},\n\t{8, \"SIGFPE\", \"floating point exception\"},\n\t{9, \"SIGKILL\", \"killed\"},\n\t{10, \"SIGUSR1\", \"user defined signal 1\"},\n\t{11, \"SIGSEGV\", \"segmentation fault\"},\n\t{12, \"SIGUSR2\", \"user defined signal 2\"},\n\t{13, \"SIGPIPE\", \"broken pipe\"},\n\t{14, \"SIGALRM\", \"alarm clock\"},\n\t{15, \"SIGTERM\", \"terminated\"},\n\t{16, \"SIGSTKFLT\", \"stack fault\"},\n\t{17, \"SIGCHLD\", \"child exited\"},\n\t{18, \"SIGCONT\", \"continued\"},\n\t{19, \"SIGSTOP\", \"stopped (signal)\"},\n\t{20, \"SIGTSTP\", \"stopped\"},\n\t{21, \"SIGTTIN\", \"stopped (tty input)\"},\n\t{22, \"SIGTTOU\", \"stopped (tty output)\"},\n\t{23, \"SIGURG\", \"urgent I/O condition\"},\n\t{24, \"SIGXCPU\", \"CPU time limit exceeded\"},\n\t{25, \"SIGXFSZ\", \"file size limit exceeded\"},\n\t{26, \"SIGVTALRM\", \"virtual timer expired\"},\n\t{27, \"SIGPROF\", \"profiling timer expired\"},\n\t{28, \"SIGWINCH\", \"window changed\"},\n\t{29, \"SIGIO\", \"I/O possible\"},\n\t{30, \"SIGPWR\", \"power failure\"},\n\t{31, \"SIGSYS\", \"bad system call\"},\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go",
    "content": "// mkerrors.sh -Wall -Werror -static -I/tmp/include -fsigned-char\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build s390x,linux\n\n// Code generated by cmd/cgo -godefs; DO NOT EDIT.\n// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAAFS_MAGIC                           = 0x5a3c69f0\n\tADFS_SUPER_MAGIC                     = 0xadf5\n\tAFFS_SUPER_MAGIC                     = 0xadff\n\tAFS_FS_MAGIC                         = 0x6b414653\n\tAFS_SUPER_MAGIC                      = 0x5346414f\n\tAF_ALG                               = 0x26\n\tAF_APPLETALK                         = 0x5\n\tAF_ASH                               = 0x12\n\tAF_ATMPVC                            = 0x8\n\tAF_ATMSVC                            = 0x14\n\tAF_AX25                              = 0x3\n\tAF_BLUETOOTH                         = 0x1f\n\tAF_BRIDGE                            = 0x7\n\tAF_CAIF                              = 0x25\n\tAF_CAN                               = 0x1d\n\tAF_DECnet                            = 0xc\n\tAF_ECONET                            = 0x13\n\tAF_FILE                              = 0x1\n\tAF_IB                                = 0x1b\n\tAF_IEEE802154                        = 0x24\n\tAF_INET                              = 0x2\n\tAF_INET6                             = 0xa\n\tAF_IPX                               = 0x4\n\tAF_IRDA                              = 0x17\n\tAF_ISDN                              = 0x22\n\tAF_IUCV                              = 0x20\n\tAF_KCM                               = 0x29\n\tAF_KEY                               = 0xf\n\tAF_LLC                               = 0x1a\n\tAF_LOCAL                             = 0x1\n\tAF_MAX                               = 0x2c\n\tAF_MPLS                              = 0x1c\n\tAF_NETBEUI                           = 0xd\n\tAF_NETLINK                           = 0x10\n\tAF_NETROM                            = 0x6\n\tAF_NFC                               = 0x27\n\tAF_PACKET                            = 0x11\n\tAF_PHONET                            = 0x23\n\tAF_PPPOX                             = 0x18\n\tAF_QIPCRTR                           = 0x2a\n\tAF_RDS                               = 0x15\n\tAF_ROSE                              = 0xb\n\tAF_ROUTE                             = 0x10\n\tAF_RXRPC                             = 0x21\n\tAF_SECURITY                          = 0xe\n\tAF_SMC                               = 0x2b\n\tAF_SNA                               = 0x16\n\tAF_TIPC                              = 0x1e\n\tAF_UNIX                              = 0x1\n\tAF_UNSPEC                            = 0x0\n\tAF_VSOCK                             = 0x28\n\tAF_WANPIPE                           = 0x19\n\tAF_X25                               = 0x9\n\tALG_OP_DECRYPT                       = 0x0\n\tALG_OP_ENCRYPT                       = 0x1\n\tALG_SET_AEAD_ASSOCLEN                = 0x4\n\tALG_SET_AEAD_AUTHSIZE                = 0x5\n\tALG_SET_IV                           = 0x2\n\tALG_SET_KEY                          = 0x1\n\tALG_SET_OP                           = 0x3\n\tANON_INODE_FS_MAGIC                  = 0x9041934\n\tARPHRD_6LOWPAN                       = 0x339\n\tARPHRD_ADAPT                         = 0x108\n\tARPHRD_APPLETLK                      = 0x8\n\tARPHRD_ARCNET                        = 0x7\n\tARPHRD_ASH                           = 0x30d\n\tARPHRD_ATM                           = 0x13\n\tARPHRD_AX25                          = 0x3\n\tARPHRD_BIF                           = 0x307\n\tARPHRD_CAIF                          = 0x336\n\tARPHRD_CAN                           = 0x118\n\tARPHRD_CHAOS                         = 0x5\n\tARPHRD_CISCO                         = 0x201\n\tARPHRD_CSLIP                         = 0x101\n\tARPHRD_CSLIP6                        = 0x103\n\tARPHRD_DDCMP                         = 0x205\n\tARPHRD_DLCI                          = 0xf\n\tARPHRD_ECONET                        = 0x30e\n\tARPHRD_EETHER                        = 0x2\n\tARPHRD_ETHER                         = 0x1\n\tARPHRD_EUI64                         = 0x1b\n\tARPHRD_FCAL                          = 0x311\n\tARPHRD_FCFABRIC                      = 0x313\n\tARPHRD_FCPL                          = 0x312\n\tARPHRD_FCPP                          = 0x310\n\tARPHRD_FDDI                          = 0x306\n\tARPHRD_FRAD                          = 0x302\n\tARPHRD_HDLC                          = 0x201\n\tARPHRD_HIPPI                         = 0x30c\n\tARPHRD_HWX25                         = 0x110\n\tARPHRD_IEEE1394                      = 0x18\n\tARPHRD_IEEE802                       = 0x6\n\tARPHRD_IEEE80211                     = 0x321\n\tARPHRD_IEEE80211_PRISM               = 0x322\n\tARPHRD_IEEE80211_RADIOTAP            = 0x323\n\tARPHRD_IEEE802154                    = 0x324\n\tARPHRD_IEEE802154_MONITOR            = 0x325\n\tARPHRD_IEEE802_TR                    = 0x320\n\tARPHRD_INFINIBAND                    = 0x20\n\tARPHRD_IP6GRE                        = 0x337\n\tARPHRD_IPDDP                         = 0x309\n\tARPHRD_IPGRE                         = 0x30a\n\tARPHRD_IRDA                          = 0x30f\n\tARPHRD_LAPB                          = 0x204\n\tARPHRD_LOCALTLK                      = 0x305\n\tARPHRD_LOOPBACK                      = 0x304\n\tARPHRD_METRICOM                      = 0x17\n\tARPHRD_NETLINK                       = 0x338\n\tARPHRD_NETROM                        = 0x0\n\tARPHRD_NONE                          = 0xfffe\n\tARPHRD_PHONET                        = 0x334\n\tARPHRD_PHONET_PIPE                   = 0x335\n\tARPHRD_PIMREG                        = 0x30b\n\tARPHRD_PPP                           = 0x200\n\tARPHRD_PRONET                        = 0x4\n\tARPHRD_RAWHDLC                       = 0x206\n\tARPHRD_RAWIP                         = 0x207\n\tARPHRD_ROSE                          = 0x10e\n\tARPHRD_RSRVD                         = 0x104\n\tARPHRD_SIT                           = 0x308\n\tARPHRD_SKIP                          = 0x303\n\tARPHRD_SLIP                          = 0x100\n\tARPHRD_SLIP6                         = 0x102\n\tARPHRD_TUNNEL                        = 0x300\n\tARPHRD_TUNNEL6                       = 0x301\n\tARPHRD_VOID                          = 0xffff\n\tARPHRD_VSOCKMON                      = 0x33a\n\tARPHRD_X25                           = 0x10f\n\tAUTOFS_SUPER_MAGIC                   = 0x187\n\tB0                                   = 0x0\n\tB1000000                             = 0x1008\n\tB110                                 = 0x3\n\tB115200                              = 0x1002\n\tB1152000                             = 0x1009\n\tB1200                                = 0x9\n\tB134                                 = 0x4\n\tB150                                 = 0x5\n\tB1500000                             = 0x100a\n\tB1800                                = 0xa\n\tB19200                               = 0xe\n\tB200                                 = 0x6\n\tB2000000                             = 0x100b\n\tB230400                              = 0x1003\n\tB2400                                = 0xb\n\tB2500000                             = 0x100c\n\tB300                                 = 0x7\n\tB3000000                             = 0x100d\n\tB3500000                             = 0x100e\n\tB38400                               = 0xf\n\tB4000000                             = 0x100f\n\tB460800                              = 0x1004\n\tB4800                                = 0xc\n\tB50                                  = 0x1\n\tB500000                              = 0x1005\n\tB57600                               = 0x1001\n\tB576000                              = 0x1006\n\tB600                                 = 0x8\n\tB75                                  = 0x2\n\tB921600                              = 0x1007\n\tB9600                                = 0xd\n\tBALLOON_KVM_MAGIC                    = 0x13661366\n\tBDEVFS_MAGIC                         = 0x62646576\n\tBINFMTFS_MAGIC                       = 0x42494e4d\n\tBLKBSZGET                            = 0x80081270\n\tBLKBSZSET                            = 0x40081271\n\tBLKFLSBUF                            = 0x1261\n\tBLKFRAGET                            = 0x1265\n\tBLKFRASET                            = 0x1264\n\tBLKGETSIZE                           = 0x1260\n\tBLKGETSIZE64                         = 0x80081272\n\tBLKPBSZGET                           = 0x127b\n\tBLKRAGET                             = 0x1263\n\tBLKRASET                             = 0x1262\n\tBLKROGET                             = 0x125e\n\tBLKROSET                             = 0x125d\n\tBLKRRPART                            = 0x125f\n\tBLKSECTGET                           = 0x1267\n\tBLKSECTSET                           = 0x1266\n\tBLKSSZGET                            = 0x1268\n\tBOTHER                               = 0x1000\n\tBPF_A                                = 0x10\n\tBPF_ABS                              = 0x20\n\tBPF_ADD                              = 0x0\n\tBPF_ALU                              = 0x4\n\tBPF_AND                              = 0x50\n\tBPF_B                                = 0x10\n\tBPF_DIV                              = 0x30\n\tBPF_FS_MAGIC                         = 0xcafe4a11\n\tBPF_H                                = 0x8\n\tBPF_IMM                              = 0x0\n\tBPF_IND                              = 0x40\n\tBPF_JA                               = 0x0\n\tBPF_JEQ                              = 0x10\n\tBPF_JGE                              = 0x30\n\tBPF_JGT                              = 0x20\n\tBPF_JMP                              = 0x5\n\tBPF_JSET                             = 0x40\n\tBPF_K                                = 0x0\n\tBPF_LD                               = 0x0\n\tBPF_LDX                              = 0x1\n\tBPF_LEN                              = 0x80\n\tBPF_LL_OFF                           = -0x200000\n\tBPF_LSH                              = 0x60\n\tBPF_MAJOR_VERSION                    = 0x1\n\tBPF_MAXINSNS                         = 0x1000\n\tBPF_MEM                              = 0x60\n\tBPF_MEMWORDS                         = 0x10\n\tBPF_MINOR_VERSION                    = 0x1\n\tBPF_MISC                             = 0x7\n\tBPF_MOD                              = 0x90\n\tBPF_MSH                              = 0xa0\n\tBPF_MUL                              = 0x20\n\tBPF_NEG                              = 0x80\n\tBPF_NET_OFF                          = -0x100000\n\tBPF_OR                               = 0x40\n\tBPF_RET                              = 0x6\n\tBPF_RSH                              = 0x70\n\tBPF_ST                               = 0x2\n\tBPF_STX                              = 0x3\n\tBPF_SUB                              = 0x10\n\tBPF_TAX                              = 0x0\n\tBPF_TXA                              = 0x80\n\tBPF_W                                = 0x0\n\tBPF_X                                = 0x8\n\tBPF_XOR                              = 0xa0\n\tBRKINT                               = 0x2\n\tBS0                                  = 0x0\n\tBS1                                  = 0x2000\n\tBSDLY                                = 0x2000\n\tBTRFS_SUPER_MAGIC                    = 0x9123683e\n\tBTRFS_TEST_MAGIC                     = 0x73727279\n\tCAN_BCM                              = 0x2\n\tCAN_EFF_FLAG                         = 0x80000000\n\tCAN_EFF_ID_BITS                      = 0x1d\n\tCAN_EFF_MASK                         = 0x1fffffff\n\tCAN_ERR_FLAG                         = 0x20000000\n\tCAN_ERR_MASK                         = 0x1fffffff\n\tCAN_INV_FILTER                       = 0x20000000\n\tCAN_ISOTP                            = 0x6\n\tCAN_MAX_DLC                          = 0x8\n\tCAN_MAX_DLEN                         = 0x8\n\tCAN_MCNET                            = 0x5\n\tCAN_MTU                              = 0x10\n\tCAN_NPROTO                           = 0x7\n\tCAN_RAW                              = 0x1\n\tCAN_RAW_FILTER_MAX                   = 0x200\n\tCAN_RTR_FLAG                         = 0x40000000\n\tCAN_SFF_ID_BITS                      = 0xb\n\tCAN_SFF_MASK                         = 0x7ff\n\tCAN_TP16                             = 0x3\n\tCAN_TP20                             = 0x4\n\tCBAUD                                = 0x100f\n\tCBAUDEX                              = 0x1000\n\tCFLUSH                               = 0xf\n\tCGROUP2_SUPER_MAGIC                  = 0x63677270\n\tCGROUP_SUPER_MAGIC                   = 0x27e0eb\n\tCIBAUD                               = 0x100f0000\n\tCLOCAL                               = 0x800\n\tCLOCK_BOOTTIME                       = 0x7\n\tCLOCK_BOOTTIME_ALARM                 = 0x9\n\tCLOCK_DEFAULT                        = 0x0\n\tCLOCK_EXT                            = 0x1\n\tCLOCK_INT                            = 0x2\n\tCLOCK_MONOTONIC                      = 0x1\n\tCLOCK_MONOTONIC_COARSE               = 0x6\n\tCLOCK_MONOTONIC_RAW                  = 0x4\n\tCLOCK_PROCESS_CPUTIME_ID             = 0x2\n\tCLOCK_REALTIME                       = 0x0\n\tCLOCK_REALTIME_ALARM                 = 0x8\n\tCLOCK_REALTIME_COARSE                = 0x5\n\tCLOCK_TAI                            = 0xb\n\tCLOCK_THREAD_CPUTIME_ID              = 0x3\n\tCLOCK_TXFROMRX                       = 0x4\n\tCLOCK_TXINT                          = 0x3\n\tCLONE_CHILD_CLEARTID                 = 0x200000\n\tCLONE_CHILD_SETTID                   = 0x1000000\n\tCLONE_DETACHED                       = 0x400000\n\tCLONE_FILES                          = 0x400\n\tCLONE_FS                             = 0x200\n\tCLONE_IO                             = 0x80000000\n\tCLONE_NEWCGROUP                      = 0x2000000\n\tCLONE_NEWIPC                         = 0x8000000\n\tCLONE_NEWNET                         = 0x40000000\n\tCLONE_NEWNS                          = 0x20000\n\tCLONE_NEWPID                         = 0x20000000\n\tCLONE_NEWUSER                        = 0x10000000\n\tCLONE_NEWUTS                         = 0x4000000\n\tCLONE_PARENT                         = 0x8000\n\tCLONE_PARENT_SETTID                  = 0x100000\n\tCLONE_PTRACE                         = 0x2000\n\tCLONE_SETTLS                         = 0x80000\n\tCLONE_SIGHAND                        = 0x800\n\tCLONE_SYSVSEM                        = 0x40000\n\tCLONE_THREAD                         = 0x10000\n\tCLONE_UNTRACED                       = 0x800000\n\tCLONE_VFORK                          = 0x4000\n\tCLONE_VM                             = 0x100\n\tCMSPAR                               = 0x40000000\n\tCODA_SUPER_MAGIC                     = 0x73757245\n\tCR0                                  = 0x0\n\tCR1                                  = 0x200\n\tCR2                                  = 0x400\n\tCR3                                  = 0x600\n\tCRAMFS_MAGIC                         = 0x28cd3d45\n\tCRDLY                                = 0x600\n\tCREAD                                = 0x80\n\tCRTSCTS                              = 0x80000000\n\tCS5                                  = 0x0\n\tCS6                                  = 0x10\n\tCS7                                  = 0x20\n\tCS8                                  = 0x30\n\tCSIGNAL                              = 0xff\n\tCSIZE                                = 0x30\n\tCSTART                               = 0x11\n\tCSTATUS                              = 0x0\n\tCSTOP                                = 0x13\n\tCSTOPB                               = 0x40\n\tCSUSP                                = 0x1a\n\tDAXFS_MAGIC                          = 0x64646178\n\tDEBUGFS_MAGIC                        = 0x64626720\n\tDEVPTS_SUPER_MAGIC                   = 0x1cd1\n\tDT_BLK                               = 0x6\n\tDT_CHR                               = 0x2\n\tDT_DIR                               = 0x4\n\tDT_FIFO                              = 0x1\n\tDT_LNK                               = 0xa\n\tDT_REG                               = 0x8\n\tDT_SOCK                              = 0xc\n\tDT_UNKNOWN                           = 0x0\n\tDT_WHT                               = 0xe\n\tECHO                                 = 0x8\n\tECHOCTL                              = 0x200\n\tECHOE                                = 0x10\n\tECHOK                                = 0x20\n\tECHOKE                               = 0x800\n\tECHONL                               = 0x40\n\tECHOPRT                              = 0x400\n\tECRYPTFS_SUPER_MAGIC                 = 0xf15f\n\tEFD_CLOEXEC                          = 0x80000\n\tEFD_NONBLOCK                         = 0x800\n\tEFD_SEMAPHORE                        = 0x1\n\tEFIVARFS_MAGIC                       = 0xde5e81e4\n\tEFS_SUPER_MAGIC                      = 0x414a53\n\tENCODING_DEFAULT                     = 0x0\n\tENCODING_FM_MARK                     = 0x3\n\tENCODING_FM_SPACE                    = 0x4\n\tENCODING_MANCHESTER                  = 0x5\n\tENCODING_NRZ                         = 0x1\n\tENCODING_NRZI                        = 0x2\n\tEPOLLERR                             = 0x8\n\tEPOLLET                              = 0x80000000\n\tEPOLLEXCLUSIVE                       = 0x10000000\n\tEPOLLHUP                             = 0x10\n\tEPOLLIN                              = 0x1\n\tEPOLLMSG                             = 0x400\n\tEPOLLONESHOT                         = 0x40000000\n\tEPOLLOUT                             = 0x4\n\tEPOLLPRI                             = 0x2\n\tEPOLLRDBAND                          = 0x80\n\tEPOLLRDHUP                           = 0x2000\n\tEPOLLRDNORM                          = 0x40\n\tEPOLLWAKEUP                          = 0x20000000\n\tEPOLLWRBAND                          = 0x200\n\tEPOLLWRNORM                          = 0x100\n\tEPOLL_CLOEXEC                        = 0x80000\n\tEPOLL_CTL_ADD                        = 0x1\n\tEPOLL_CTL_DEL                        = 0x2\n\tEPOLL_CTL_MOD                        = 0x3\n\tETH_P_1588                           = 0x88f7\n\tETH_P_8021AD                         = 0x88a8\n\tETH_P_8021AH                         = 0x88e7\n\tETH_P_8021Q                          = 0x8100\n\tETH_P_80221                          = 0x8917\n\tETH_P_802_2                          = 0x4\n\tETH_P_802_3                          = 0x1\n\tETH_P_802_3_MIN                      = 0x600\n\tETH_P_802_EX1                        = 0x88b5\n\tETH_P_AARP                           = 0x80f3\n\tETH_P_AF_IUCV                        = 0xfbfb\n\tETH_P_ALL                            = 0x3\n\tETH_P_AOE                            = 0x88a2\n\tETH_P_ARCNET                         = 0x1a\n\tETH_P_ARP                            = 0x806\n\tETH_P_ATALK                          = 0x809b\n\tETH_P_ATMFATE                        = 0x8884\n\tETH_P_ATMMPOA                        = 0x884c\n\tETH_P_AX25                           = 0x2\n\tETH_P_BATMAN                         = 0x4305\n\tETH_P_BPQ                            = 0x8ff\n\tETH_P_CAIF                           = 0xf7\n\tETH_P_CAN                            = 0xc\n\tETH_P_CANFD                          = 0xd\n\tETH_P_CONTROL                        = 0x16\n\tETH_P_CUST                           = 0x6006\n\tETH_P_DDCMP                          = 0x6\n\tETH_P_DEC                            = 0x6000\n\tETH_P_DIAG                           = 0x6005\n\tETH_P_DNA_DL                         = 0x6001\n\tETH_P_DNA_RC                         = 0x6002\n\tETH_P_DNA_RT                         = 0x6003\n\tETH_P_DSA                            = 0x1b\n\tETH_P_ECONET                         = 0x18\n\tETH_P_EDSA                           = 0xdada\n\tETH_P_ERSPAN                         = 0x88be\n\tETH_P_ERSPAN2                        = 0x22eb\n\tETH_P_FCOE                           = 0x8906\n\tETH_P_FIP                            = 0x8914\n\tETH_P_HDLC                           = 0x19\n\tETH_P_HSR                            = 0x892f\n\tETH_P_IBOE                           = 0x8915\n\tETH_P_IEEE802154                     = 0xf6\n\tETH_P_IEEEPUP                        = 0xa00\n\tETH_P_IEEEPUPAT                      = 0xa01\n\tETH_P_IFE                            = 0xed3e\n\tETH_P_IP                             = 0x800\n\tETH_P_IPV6                           = 0x86dd\n\tETH_P_IPX                            = 0x8137\n\tETH_P_IRDA                           = 0x17\n\tETH_P_LAT                            = 0x6004\n\tETH_P_LINK_CTL                       = 0x886c\n\tETH_P_LOCALTALK                      = 0x9\n\tETH_P_LOOP                           = 0x60\n\tETH_P_LOOPBACK                       = 0x9000\n\tETH_P_MACSEC                         = 0x88e5\n\tETH_P_MAP                            = 0xf9\n\tETH_P_MOBITEX                        = 0x15\n\tETH_P_MPLS_MC                        = 0x8848\n\tETH_P_MPLS_UC                        = 0x8847\n\tETH_P_MVRP                           = 0x88f5\n\tETH_P_NCSI                           = 0x88f8\n\tETH_P_NSH                            = 0x894f\n\tETH_P_PAE                            = 0x888e\n\tETH_P_PAUSE                          = 0x8808\n\tETH_P_PHONET                         = 0xf5\n\tETH_P_PPPTALK                        = 0x10\n\tETH_P_PPP_DISC                       = 0x8863\n\tETH_P_PPP_MP                         = 0x8\n\tETH_P_PPP_SES                        = 0x8864\n\tETH_P_PREAUTH                        = 0x88c7\n\tETH_P_PRP                            = 0x88fb\n\tETH_P_PUP                            = 0x200\n\tETH_P_PUPAT                          = 0x201\n\tETH_P_QINQ1                          = 0x9100\n\tETH_P_QINQ2                          = 0x9200\n\tETH_P_QINQ3                          = 0x9300\n\tETH_P_RARP                           = 0x8035\n\tETH_P_SCA                            = 0x6007\n\tETH_P_SLOW                           = 0x8809\n\tETH_P_SNAP                           = 0x5\n\tETH_P_TDLS                           = 0x890d\n\tETH_P_TEB                            = 0x6558\n\tETH_P_TIPC                           = 0x88ca\n\tETH_P_TRAILER                        = 0x1c\n\tETH_P_TR_802_2                       = 0x11\n\tETH_P_TSN                            = 0x22f0\n\tETH_P_WAN_PPP                        = 0x7\n\tETH_P_WCCP                           = 0x883e\n\tETH_P_X25                            = 0x805\n\tETH_P_XDSA                           = 0xf8\n\tEXABYTE_ENABLE_NEST                  = 0xf0\n\tEXT2_SUPER_MAGIC                     = 0xef53\n\tEXT3_SUPER_MAGIC                     = 0xef53\n\tEXT4_SUPER_MAGIC                     = 0xef53\n\tEXTA                                 = 0xe\n\tEXTB                                 = 0xf\n\tEXTPROC                              = 0x10000\n\tF2FS_SUPER_MAGIC                     = 0xf2f52010\n\tFALLOC_FL_COLLAPSE_RANGE             = 0x8\n\tFALLOC_FL_INSERT_RANGE               = 0x20\n\tFALLOC_FL_KEEP_SIZE                  = 0x1\n\tFALLOC_FL_NO_HIDE_STALE              = 0x4\n\tFALLOC_FL_PUNCH_HOLE                 = 0x2\n\tFALLOC_FL_UNSHARE_RANGE              = 0x40\n\tFALLOC_FL_ZERO_RANGE                 = 0x10\n\tFD_CLOEXEC                           = 0x1\n\tFD_SETSIZE                           = 0x400\n\tFF0                                  = 0x0\n\tFF1                                  = 0x8000\n\tFFDLY                                = 0x8000\n\tFLUSHO                               = 0x1000\n\tFS_ENCRYPTION_MODE_AES_128_CBC       = 0x5\n\tFS_ENCRYPTION_MODE_AES_128_CTS       = 0x6\n\tFS_ENCRYPTION_MODE_AES_256_CBC       = 0x3\n\tFS_ENCRYPTION_MODE_AES_256_CTS       = 0x4\n\tFS_ENCRYPTION_MODE_AES_256_GCM       = 0x2\n\tFS_ENCRYPTION_MODE_AES_256_XTS       = 0x1\n\tFS_ENCRYPTION_MODE_INVALID           = 0x0\n\tFS_ENCRYPTION_MODE_SPECK128_256_CTS  = 0x8\n\tFS_ENCRYPTION_MODE_SPECK128_256_XTS  = 0x7\n\tFS_IOC_GET_ENCRYPTION_POLICY         = 0x400c6615\n\tFS_IOC_GET_ENCRYPTION_PWSALT         = 0x40106614\n\tFS_IOC_SET_ENCRYPTION_POLICY         = 0x800c6613\n\tFS_KEY_DESCRIPTOR_SIZE               = 0x8\n\tFS_KEY_DESC_PREFIX                   = \"fscrypt:\"\n\tFS_KEY_DESC_PREFIX_SIZE              = 0x8\n\tFS_MAX_KEY_SIZE                      = 0x40\n\tFS_POLICY_FLAGS_PAD_16               = 0x2\n\tFS_POLICY_FLAGS_PAD_32               = 0x3\n\tFS_POLICY_FLAGS_PAD_4                = 0x0\n\tFS_POLICY_FLAGS_PAD_8                = 0x1\n\tFS_POLICY_FLAGS_PAD_MASK             = 0x3\n\tFS_POLICY_FLAGS_VALID                = 0x3\n\tFUTEXFS_SUPER_MAGIC                  = 0xbad1dea\n\tF_ADD_SEALS                          = 0x409\n\tF_DUPFD                              = 0x0\n\tF_DUPFD_CLOEXEC                      = 0x406\n\tF_EXLCK                              = 0x4\n\tF_GETFD                              = 0x1\n\tF_GETFL                              = 0x3\n\tF_GETLEASE                           = 0x401\n\tF_GETLK                              = 0x5\n\tF_GETLK64                            = 0x5\n\tF_GETOWN                             = 0x9\n\tF_GETOWN_EX                          = 0x10\n\tF_GETPIPE_SZ                         = 0x408\n\tF_GETSIG                             = 0xb\n\tF_GET_FILE_RW_HINT                   = 0x40d\n\tF_GET_RW_HINT                        = 0x40b\n\tF_GET_SEALS                          = 0x40a\n\tF_LOCK                               = 0x1\n\tF_NOTIFY                             = 0x402\n\tF_OFD_GETLK                          = 0x24\n\tF_OFD_SETLK                          = 0x25\n\tF_OFD_SETLKW                         = 0x26\n\tF_OK                                 = 0x0\n\tF_RDLCK                              = 0x0\n\tF_SEAL_GROW                          = 0x4\n\tF_SEAL_SEAL                          = 0x1\n\tF_SEAL_SHRINK                        = 0x2\n\tF_SEAL_WRITE                         = 0x8\n\tF_SETFD                              = 0x2\n\tF_SETFL                              = 0x4\n\tF_SETLEASE                           = 0x400\n\tF_SETLK                              = 0x6\n\tF_SETLK64                            = 0x6\n\tF_SETLKW                             = 0x7\n\tF_SETLKW64                           = 0x7\n\tF_SETOWN                             = 0x8\n\tF_SETOWN_EX                          = 0xf\n\tF_SETPIPE_SZ                         = 0x407\n\tF_SETSIG                             = 0xa\n\tF_SET_FILE_RW_HINT                   = 0x40e\n\tF_SET_RW_HINT                        = 0x40c\n\tF_SHLCK                              = 0x8\n\tF_TEST                               = 0x3\n\tF_TLOCK                              = 0x2\n\tF_ULOCK                              = 0x0\n\tF_UNLCK                              = 0x2\n\tF_WRLCK                              = 0x1\n\tGENL_ADMIN_PERM                      = 0x1\n\tGENL_CMD_CAP_DO                      = 0x2\n\tGENL_CMD_CAP_DUMP                    = 0x4\n\tGENL_CMD_CAP_HASPOL                  = 0x8\n\tGENL_HDRLEN                          = 0x4\n\tGENL_ID_CTRL                         = 0x10\n\tGENL_ID_PMCRAID                      = 0x12\n\tGENL_ID_VFS_DQUOT                    = 0x11\n\tGENL_MAX_ID                          = 0x3ff\n\tGENL_MIN_ID                          = 0x10\n\tGENL_NAMSIZ                          = 0x10\n\tGENL_START_ALLOC                     = 0x13\n\tGENL_UNS_ADMIN_PERM                  = 0x10\n\tGRND_NONBLOCK                        = 0x1\n\tGRND_RANDOM                          = 0x2\n\tHDIO_DRIVE_CMD                       = 0x31f\n\tHDIO_DRIVE_CMD_AEB                   = 0x31e\n\tHDIO_DRIVE_CMD_HDR_SIZE              = 0x4\n\tHDIO_DRIVE_HOB_HDR_SIZE              = 0x8\n\tHDIO_DRIVE_RESET                     = 0x31c\n\tHDIO_DRIVE_TASK                      = 0x31e\n\tHDIO_DRIVE_TASKFILE                  = 0x31d\n\tHDIO_DRIVE_TASK_HDR_SIZE             = 0x8\n\tHDIO_GETGEO                          = 0x301\n\tHDIO_GET_32BIT                       = 0x309\n\tHDIO_GET_ACOUSTIC                    = 0x30f\n\tHDIO_GET_ADDRESS                     = 0x310\n\tHDIO_GET_BUSSTATE                    = 0x31a\n\tHDIO_GET_DMA                         = 0x30b\n\tHDIO_GET_IDENTITY                    = 0x30d\n\tHDIO_GET_KEEPSETTINGS                = 0x308\n\tHDIO_GET_MULTCOUNT                   = 0x304\n\tHDIO_GET_NICE                        = 0x30c\n\tHDIO_GET_NOWERR                      = 0x30a\n\tHDIO_GET_QDMA                        = 0x305\n\tHDIO_GET_UNMASKINTR                  = 0x302\n\tHDIO_GET_WCACHE                      = 0x30e\n\tHDIO_OBSOLETE_IDENTITY               = 0x307\n\tHDIO_SCAN_HWIF                       = 0x328\n\tHDIO_SET_32BIT                       = 0x324\n\tHDIO_SET_ACOUSTIC                    = 0x32c\n\tHDIO_SET_ADDRESS                     = 0x32f\n\tHDIO_SET_BUSSTATE                    = 0x32d\n\tHDIO_SET_DMA                         = 0x326\n\tHDIO_SET_KEEPSETTINGS                = 0x323\n\tHDIO_SET_MULTCOUNT                   = 0x321\n\tHDIO_SET_NICE                        = 0x329\n\tHDIO_SET_NOWERR                      = 0x325\n\tHDIO_SET_PIO_MODE                    = 0x327\n\tHDIO_SET_QDMA                        = 0x32e\n\tHDIO_SET_UNMASKINTR                  = 0x322\n\tHDIO_SET_WCACHE                      = 0x32b\n\tHDIO_SET_XFER                        = 0x306\n\tHDIO_TRISTATE_HWIF                   = 0x31b\n\tHDIO_UNREGISTER_HWIF                 = 0x32a\n\tHOSTFS_SUPER_MAGIC                   = 0xc0ffee\n\tHPFS_SUPER_MAGIC                     = 0xf995e849\n\tHUGETLBFS_MAGIC                      = 0x958458f6\n\tHUPCL                                = 0x400\n\tIBSHIFT                              = 0x10\n\tICANON                               = 0x2\n\tICMPV6_FILTER                        = 0x1\n\tICRNL                                = 0x100\n\tIEXTEN                               = 0x8000\n\tIFA_F_DADFAILED                      = 0x8\n\tIFA_F_DEPRECATED                     = 0x20\n\tIFA_F_HOMEADDRESS                    = 0x10\n\tIFA_F_MANAGETEMPADDR                 = 0x100\n\tIFA_F_MCAUTOJOIN                     = 0x400\n\tIFA_F_NODAD                          = 0x2\n\tIFA_F_NOPREFIXROUTE                  = 0x200\n\tIFA_F_OPTIMISTIC                     = 0x4\n\tIFA_F_PERMANENT                      = 0x80\n\tIFA_F_SECONDARY                      = 0x1\n\tIFA_F_STABLE_PRIVACY                 = 0x800\n\tIFA_F_TEMPORARY                      = 0x1\n\tIFA_F_TENTATIVE                      = 0x40\n\tIFA_MAX                              = 0x9\n\tIFF_ALLMULTI                         = 0x200\n\tIFF_ATTACH_QUEUE                     = 0x200\n\tIFF_AUTOMEDIA                        = 0x4000\n\tIFF_BROADCAST                        = 0x2\n\tIFF_DEBUG                            = 0x4\n\tIFF_DETACH_QUEUE                     = 0x400\n\tIFF_DORMANT                          = 0x20000\n\tIFF_DYNAMIC                          = 0x8000\n\tIFF_ECHO                             = 0x40000\n\tIFF_LOOPBACK                         = 0x8\n\tIFF_LOWER_UP                         = 0x10000\n\tIFF_MASTER                           = 0x400\n\tIFF_MULTICAST                        = 0x1000\n\tIFF_MULTI_QUEUE                      = 0x100\n\tIFF_NAPI                             = 0x10\n\tIFF_NAPI_FRAGS                       = 0x20\n\tIFF_NOARP                            = 0x80\n\tIFF_NOFILTER                         = 0x1000\n\tIFF_NOTRAILERS                       = 0x20\n\tIFF_NO_PI                            = 0x1000\n\tIFF_ONE_QUEUE                        = 0x2000\n\tIFF_PERSIST                          = 0x800\n\tIFF_POINTOPOINT                      = 0x10\n\tIFF_PORTSEL                          = 0x2000\n\tIFF_PROMISC                          = 0x100\n\tIFF_RUNNING                          = 0x40\n\tIFF_SLAVE                            = 0x800\n\tIFF_TAP                              = 0x2\n\tIFF_TUN                              = 0x1\n\tIFF_TUN_EXCL                         = 0x8000\n\tIFF_UP                               = 0x1\n\tIFF_VNET_HDR                         = 0x4000\n\tIFF_VOLATILE                         = 0x70c5a\n\tIFNAMSIZ                             = 0x10\n\tIGNBRK                               = 0x1\n\tIGNCR                                = 0x80\n\tIGNPAR                               = 0x4\n\tIMAXBEL                              = 0x2000\n\tINLCR                                = 0x40\n\tINPCK                                = 0x10\n\tIN_ACCESS                            = 0x1\n\tIN_ALL_EVENTS                        = 0xfff\n\tIN_ATTRIB                            = 0x4\n\tIN_CLASSA_HOST                       = 0xffffff\n\tIN_CLASSA_MAX                        = 0x80\n\tIN_CLASSA_NET                        = 0xff000000\n\tIN_CLASSA_NSHIFT                     = 0x18\n\tIN_CLASSB_HOST                       = 0xffff\n\tIN_CLASSB_MAX                        = 0x10000\n\tIN_CLASSB_NET                        = 0xffff0000\n\tIN_CLASSB_NSHIFT                     = 0x10\n\tIN_CLASSC_HOST                       = 0xff\n\tIN_CLASSC_NET                        = 0xffffff00\n\tIN_CLASSC_NSHIFT                     = 0x8\n\tIN_CLOEXEC                           = 0x80000\n\tIN_CLOSE                             = 0x18\n\tIN_CLOSE_NOWRITE                     = 0x10\n\tIN_CLOSE_WRITE                       = 0x8\n\tIN_CREATE                            = 0x100\n\tIN_DELETE                            = 0x200\n\tIN_DELETE_SELF                       = 0x400\n\tIN_DONT_FOLLOW                       = 0x2000000\n\tIN_EXCL_UNLINK                       = 0x4000000\n\tIN_IGNORED                           = 0x8000\n\tIN_ISDIR                             = 0x40000000\n\tIN_LOOPBACKNET                       = 0x7f\n\tIN_MASK_ADD                          = 0x20000000\n\tIN_MODIFY                            = 0x2\n\tIN_MOVE                              = 0xc0\n\tIN_MOVED_FROM                        = 0x40\n\tIN_MOVED_TO                          = 0x80\n\tIN_MOVE_SELF                         = 0x800\n\tIN_NONBLOCK                          = 0x800\n\tIN_ONESHOT                           = 0x80000000\n\tIN_ONLYDIR                           = 0x1000000\n\tIN_OPEN                              = 0x20\n\tIN_Q_OVERFLOW                        = 0x4000\n\tIN_UNMOUNT                           = 0x2000\n\tIOCTL_VM_SOCKETS_GET_LOCAL_CID       = 0x7b9\n\tIPPROTO_AH                           = 0x33\n\tIPPROTO_BEETPH                       = 0x5e\n\tIPPROTO_COMP                         = 0x6c\n\tIPPROTO_DCCP                         = 0x21\n\tIPPROTO_DSTOPTS                      = 0x3c\n\tIPPROTO_EGP                          = 0x8\n\tIPPROTO_ENCAP                        = 0x62\n\tIPPROTO_ESP                          = 0x32\n\tIPPROTO_FRAGMENT                     = 0x2c\n\tIPPROTO_GRE                          = 0x2f\n\tIPPROTO_HOPOPTS                      = 0x0\n\tIPPROTO_ICMP                         = 0x1\n\tIPPROTO_ICMPV6                       = 0x3a\n\tIPPROTO_IDP                          = 0x16\n\tIPPROTO_IGMP                         = 0x2\n\tIPPROTO_IP                           = 0x0\n\tIPPROTO_IPIP                         = 0x4\n\tIPPROTO_IPV6                         = 0x29\n\tIPPROTO_MH                           = 0x87\n\tIPPROTO_MPLS                         = 0x89\n\tIPPROTO_MTP                          = 0x5c\n\tIPPROTO_NONE                         = 0x3b\n\tIPPROTO_PIM                          = 0x67\n\tIPPROTO_PUP                          = 0xc\n\tIPPROTO_RAW                          = 0xff\n\tIPPROTO_ROUTING                      = 0x2b\n\tIPPROTO_RSVP                         = 0x2e\n\tIPPROTO_SCTP                         = 0x84\n\tIPPROTO_TCP                          = 0x6\n\tIPPROTO_TP                           = 0x1d\n\tIPPROTO_UDP                          = 0x11\n\tIPPROTO_UDPLITE                      = 0x88\n\tIPV6_2292DSTOPTS                     = 0x4\n\tIPV6_2292HOPLIMIT                    = 0x8\n\tIPV6_2292HOPOPTS                     = 0x3\n\tIPV6_2292PKTINFO                     = 0x2\n\tIPV6_2292PKTOPTIONS                  = 0x6\n\tIPV6_2292RTHDR                       = 0x5\n\tIPV6_ADDRFORM                        = 0x1\n\tIPV6_ADDR_PREFERENCES                = 0x48\n\tIPV6_ADD_MEMBERSHIP                  = 0x14\n\tIPV6_AUTHHDR                         = 0xa\n\tIPV6_AUTOFLOWLABEL                   = 0x46\n\tIPV6_CHECKSUM                        = 0x7\n\tIPV6_DONTFRAG                        = 0x3e\n\tIPV6_DROP_MEMBERSHIP                 = 0x15\n\tIPV6_DSTOPTS                         = 0x3b\n\tIPV6_FREEBIND                        = 0x4e\n\tIPV6_HDRINCL                         = 0x24\n\tIPV6_HOPLIMIT                        = 0x34\n\tIPV6_HOPOPTS                         = 0x36\n\tIPV6_IPSEC_POLICY                    = 0x22\n\tIPV6_JOIN_ANYCAST                    = 0x1b\n\tIPV6_JOIN_GROUP                      = 0x14\n\tIPV6_LEAVE_ANYCAST                   = 0x1c\n\tIPV6_LEAVE_GROUP                     = 0x15\n\tIPV6_MINHOPCOUNT                     = 0x49\n\tIPV6_MTU                             = 0x18\n\tIPV6_MTU_DISCOVER                    = 0x17\n\tIPV6_MULTICAST_HOPS                  = 0x12\n\tIPV6_MULTICAST_IF                    = 0x11\n\tIPV6_MULTICAST_LOOP                  = 0x13\n\tIPV6_NEXTHOP                         = 0x9\n\tIPV6_ORIGDSTADDR                     = 0x4a\n\tIPV6_PATHMTU                         = 0x3d\n\tIPV6_PKTINFO                         = 0x32\n\tIPV6_PMTUDISC_DO                     = 0x2\n\tIPV6_PMTUDISC_DONT                   = 0x0\n\tIPV6_PMTUDISC_INTERFACE              = 0x4\n\tIPV6_PMTUDISC_OMIT                   = 0x5\n\tIPV6_PMTUDISC_PROBE                  = 0x3\n\tIPV6_PMTUDISC_WANT                   = 0x1\n\tIPV6_RECVDSTOPTS                     = 0x3a\n\tIPV6_RECVERR                         = 0x19\n\tIPV6_RECVFRAGSIZE                    = 0x4d\n\tIPV6_RECVHOPLIMIT                    = 0x33\n\tIPV6_RECVHOPOPTS                     = 0x35\n\tIPV6_RECVORIGDSTADDR                 = 0x4a\n\tIPV6_RECVPATHMTU                     = 0x3c\n\tIPV6_RECVPKTINFO                     = 0x31\n\tIPV6_RECVRTHDR                       = 0x38\n\tIPV6_RECVTCLASS                      = 0x42\n\tIPV6_ROUTER_ALERT                    = 0x16\n\tIPV6_RTHDR                           = 0x39\n\tIPV6_RTHDRDSTOPTS                    = 0x37\n\tIPV6_RTHDR_LOOSE                     = 0x0\n\tIPV6_RTHDR_STRICT                    = 0x1\n\tIPV6_RTHDR_TYPE_0                    = 0x0\n\tIPV6_RXDSTOPTS                       = 0x3b\n\tIPV6_RXHOPOPTS                       = 0x36\n\tIPV6_TCLASS                          = 0x43\n\tIPV6_TRANSPARENT                     = 0x4b\n\tIPV6_UNICAST_HOPS                    = 0x10\n\tIPV6_UNICAST_IF                      = 0x4c\n\tIPV6_V6ONLY                          = 0x1a\n\tIPV6_XFRM_POLICY                     = 0x23\n\tIP_ADD_MEMBERSHIP                    = 0x23\n\tIP_ADD_SOURCE_MEMBERSHIP             = 0x27\n\tIP_BIND_ADDRESS_NO_PORT              = 0x18\n\tIP_BLOCK_SOURCE                      = 0x26\n\tIP_CHECKSUM                          = 0x17\n\tIP_DEFAULT_MULTICAST_LOOP            = 0x1\n\tIP_DEFAULT_MULTICAST_TTL             = 0x1\n\tIP_DF                                = 0x4000\n\tIP_DROP_MEMBERSHIP                   = 0x24\n\tIP_DROP_SOURCE_MEMBERSHIP            = 0x28\n\tIP_FREEBIND                          = 0xf\n\tIP_HDRINCL                           = 0x3\n\tIP_IPSEC_POLICY                      = 0x10\n\tIP_MAXPACKET                         = 0xffff\n\tIP_MAX_MEMBERSHIPS                   = 0x14\n\tIP_MF                                = 0x2000\n\tIP_MINTTL                            = 0x15\n\tIP_MSFILTER                          = 0x29\n\tIP_MSS                               = 0x240\n\tIP_MTU                               = 0xe\n\tIP_MTU_DISCOVER                      = 0xa\n\tIP_MULTICAST_ALL                     = 0x31\n\tIP_MULTICAST_IF                      = 0x20\n\tIP_MULTICAST_LOOP                    = 0x22\n\tIP_MULTICAST_TTL                     = 0x21\n\tIP_NODEFRAG                          = 0x16\n\tIP_OFFMASK                           = 0x1fff\n\tIP_OPTIONS                           = 0x4\n\tIP_ORIGDSTADDR                       = 0x14\n\tIP_PASSSEC                           = 0x12\n\tIP_PKTINFO                           = 0x8\n\tIP_PKTOPTIONS                        = 0x9\n\tIP_PMTUDISC                          = 0xa\n\tIP_PMTUDISC_DO                       = 0x2\n\tIP_PMTUDISC_DONT                     = 0x0\n\tIP_PMTUDISC_INTERFACE                = 0x4\n\tIP_PMTUDISC_OMIT                     = 0x5\n\tIP_PMTUDISC_PROBE                    = 0x3\n\tIP_PMTUDISC_WANT                     = 0x1\n\tIP_RECVERR                           = 0xb\n\tIP_RECVFRAGSIZE                      = 0x19\n\tIP_RECVOPTS                          = 0x6\n\tIP_RECVORIGDSTADDR                   = 0x14\n\tIP_RECVRETOPTS                       = 0x7\n\tIP_RECVTOS                           = 0xd\n\tIP_RECVTTL                           = 0xc\n\tIP_RETOPTS                           = 0x7\n\tIP_RF                                = 0x8000\n\tIP_ROUTER_ALERT                      = 0x5\n\tIP_TOS                               = 0x1\n\tIP_TRANSPARENT                       = 0x13\n\tIP_TTL                               = 0x2\n\tIP_UNBLOCK_SOURCE                    = 0x25\n\tIP_UNICAST_IF                        = 0x32\n\tIP_XFRM_POLICY                       = 0x11\n\tISIG                                 = 0x1\n\tISOFS_SUPER_MAGIC                    = 0x9660\n\tISTRIP                               = 0x20\n\tIUCLC                                = 0x200\n\tIUTF8                                = 0x4000\n\tIXANY                                = 0x800\n\tIXOFF                                = 0x1000\n\tIXON                                 = 0x400\n\tJFFS2_SUPER_MAGIC                    = 0x72b6\n\tKEYCTL_ASSUME_AUTHORITY              = 0x10\n\tKEYCTL_CHOWN                         = 0x4\n\tKEYCTL_CLEAR                         = 0x7\n\tKEYCTL_DESCRIBE                      = 0x6\n\tKEYCTL_DH_COMPUTE                    = 0x17\n\tKEYCTL_GET_KEYRING_ID                = 0x0\n\tKEYCTL_GET_PERSISTENT                = 0x16\n\tKEYCTL_GET_SECURITY                  = 0x11\n\tKEYCTL_INSTANTIATE                   = 0xc\n\tKEYCTL_INSTANTIATE_IOV               = 0x14\n\tKEYCTL_INVALIDATE                    = 0x15\n\tKEYCTL_JOIN_SESSION_KEYRING          = 0x1\n\tKEYCTL_LINK                          = 0x8\n\tKEYCTL_NEGATE                        = 0xd\n\tKEYCTL_READ                          = 0xb\n\tKEYCTL_REJECT                        = 0x13\n\tKEYCTL_RESTRICT_KEYRING              = 0x1d\n\tKEYCTL_REVOKE                        = 0x3\n\tKEYCTL_SEARCH                        = 0xa\n\tKEYCTL_SESSION_TO_PARENT             = 0x12\n\tKEYCTL_SETPERM                       = 0x5\n\tKEYCTL_SET_REQKEY_KEYRING            = 0xe\n\tKEYCTL_SET_TIMEOUT                   = 0xf\n\tKEYCTL_UNLINK                        = 0x9\n\tKEYCTL_UPDATE                        = 0x2\n\tKEY_REQKEY_DEFL_DEFAULT              = 0x0\n\tKEY_REQKEY_DEFL_GROUP_KEYRING        = 0x6\n\tKEY_REQKEY_DEFL_NO_CHANGE            = -0x1\n\tKEY_REQKEY_DEFL_PROCESS_KEYRING      = 0x2\n\tKEY_REQKEY_DEFL_REQUESTOR_KEYRING    = 0x7\n\tKEY_REQKEY_DEFL_SESSION_KEYRING      = 0x3\n\tKEY_REQKEY_DEFL_THREAD_KEYRING       = 0x1\n\tKEY_REQKEY_DEFL_USER_KEYRING         = 0x4\n\tKEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5\n\tKEY_SPEC_GROUP_KEYRING               = -0x6\n\tKEY_SPEC_PROCESS_KEYRING             = -0x2\n\tKEY_SPEC_REQKEY_AUTH_KEY             = -0x7\n\tKEY_SPEC_REQUESTOR_KEYRING           = -0x8\n\tKEY_SPEC_SESSION_KEYRING             = -0x3\n\tKEY_SPEC_THREAD_KEYRING              = -0x1\n\tKEY_SPEC_USER_KEYRING                = -0x4\n\tKEY_SPEC_USER_SESSION_KEYRING        = -0x5\n\tLINUX_REBOOT_CMD_CAD_OFF             = 0x0\n\tLINUX_REBOOT_CMD_CAD_ON              = 0x89abcdef\n\tLINUX_REBOOT_CMD_HALT                = 0xcdef0123\n\tLINUX_REBOOT_CMD_KEXEC               = 0x45584543\n\tLINUX_REBOOT_CMD_POWER_OFF           = 0x4321fedc\n\tLINUX_REBOOT_CMD_RESTART             = 0x1234567\n\tLINUX_REBOOT_CMD_RESTART2            = 0xa1b2c3d4\n\tLINUX_REBOOT_CMD_SW_SUSPEND          = 0xd000fce2\n\tLINUX_REBOOT_MAGIC1                  = 0xfee1dead\n\tLINUX_REBOOT_MAGIC2                  = 0x28121969\n\tLOCK_EX                              = 0x2\n\tLOCK_NB                              = 0x4\n\tLOCK_SH                              = 0x1\n\tLOCK_UN                              = 0x8\n\tMADV_DODUMP                          = 0x11\n\tMADV_DOFORK                          = 0xb\n\tMADV_DONTDUMP                        = 0x10\n\tMADV_DONTFORK                        = 0xa\n\tMADV_DONTNEED                        = 0x4\n\tMADV_FREE                            = 0x8\n\tMADV_HUGEPAGE                        = 0xe\n\tMADV_HWPOISON                        = 0x64\n\tMADV_KEEPONFORK                      = 0x13\n\tMADV_MERGEABLE                       = 0xc\n\tMADV_NOHUGEPAGE                      = 0xf\n\tMADV_NORMAL                          = 0x0\n\tMADV_RANDOM                          = 0x1\n\tMADV_REMOVE                          = 0x9\n\tMADV_SEQUENTIAL                      = 0x2\n\tMADV_UNMERGEABLE                     = 0xd\n\tMADV_WILLNEED                        = 0x3\n\tMADV_WIPEONFORK                      = 0x12\n\tMAP_ANON                             = 0x20\n\tMAP_ANONYMOUS                        = 0x20\n\tMAP_DENYWRITE                        = 0x800\n\tMAP_EXECUTABLE                       = 0x1000\n\tMAP_FILE                             = 0x0\n\tMAP_FIXED                            = 0x10\n\tMAP_FIXED_NOREPLACE                  = 0x100000\n\tMAP_GROWSDOWN                        = 0x100\n\tMAP_HUGETLB                          = 0x40000\n\tMAP_HUGE_MASK                        = 0x3f\n\tMAP_HUGE_SHIFT                       = 0x1a\n\tMAP_LOCKED                           = 0x2000\n\tMAP_NONBLOCK                         = 0x10000\n\tMAP_NORESERVE                        = 0x4000\n\tMAP_POPULATE                         = 0x8000\n\tMAP_PRIVATE                          = 0x2\n\tMAP_SHARED                           = 0x1\n\tMAP_SHARED_VALIDATE                  = 0x3\n\tMAP_STACK                            = 0x20000\n\tMAP_SYNC                             = 0x80000\n\tMAP_TYPE                             = 0xf\n\tMCL_CURRENT                          = 0x1\n\tMCL_FUTURE                           = 0x2\n\tMCL_ONFAULT                          = 0x4\n\tMINIX2_SUPER_MAGIC                   = 0x2468\n\tMINIX2_SUPER_MAGIC2                  = 0x2478\n\tMINIX3_SUPER_MAGIC                   = 0x4d5a\n\tMINIX_SUPER_MAGIC                    = 0x137f\n\tMINIX_SUPER_MAGIC2                   = 0x138f\n\tMNT_DETACH                           = 0x2\n\tMNT_EXPIRE                           = 0x4\n\tMNT_FORCE                            = 0x1\n\tMSDOS_SUPER_MAGIC                    = 0x4d44\n\tMSG_BATCH                            = 0x40000\n\tMSG_CMSG_CLOEXEC                     = 0x40000000\n\tMSG_CONFIRM                          = 0x800\n\tMSG_CTRUNC                           = 0x8\n\tMSG_DONTROUTE                        = 0x4\n\tMSG_DONTWAIT                         = 0x40\n\tMSG_EOR                              = 0x80\n\tMSG_ERRQUEUE                         = 0x2000\n\tMSG_FASTOPEN                         = 0x20000000\n\tMSG_FIN                              = 0x200\n\tMSG_MORE                             = 0x8000\n\tMSG_NOSIGNAL                         = 0x4000\n\tMSG_OOB                              = 0x1\n\tMSG_PEEK                             = 0x2\n\tMSG_PROXY                            = 0x10\n\tMSG_RST                              = 0x1000\n\tMSG_SYN                              = 0x400\n\tMSG_TRUNC                            = 0x20\n\tMSG_TRYHARD                          = 0x4\n\tMSG_WAITALL                          = 0x100\n\tMSG_WAITFORONE                       = 0x10000\n\tMSG_ZEROCOPY                         = 0x4000000\n\tMS_ACTIVE                            = 0x40000000\n\tMS_ASYNC                             = 0x1\n\tMS_BIND                              = 0x1000\n\tMS_BORN                              = 0x20000000\n\tMS_DIRSYNC                           = 0x80\n\tMS_INVALIDATE                        = 0x2\n\tMS_I_VERSION                         = 0x800000\n\tMS_KERNMOUNT                         = 0x400000\n\tMS_LAZYTIME                          = 0x2000000\n\tMS_MANDLOCK                          = 0x40\n\tMS_MGC_MSK                           = 0xffff0000\n\tMS_MGC_VAL                           = 0xc0ed0000\n\tMS_MOVE                              = 0x2000\n\tMS_NOATIME                           = 0x400\n\tMS_NODEV                             = 0x4\n\tMS_NODIRATIME                        = 0x800\n\tMS_NOEXEC                            = 0x8\n\tMS_NOREMOTELOCK                      = 0x8000000\n\tMS_NOSEC                             = 0x10000000\n\tMS_NOSUID                            = 0x2\n\tMS_NOUSER                            = -0x80000000\n\tMS_POSIXACL                          = 0x10000\n\tMS_PRIVATE                           = 0x40000\n\tMS_RDONLY                            = 0x1\n\tMS_REC                               = 0x4000\n\tMS_RELATIME                          = 0x200000\n\tMS_REMOUNT                           = 0x20\n\tMS_RMT_MASK                          = 0x2800051\n\tMS_SHARED                            = 0x100000\n\tMS_SILENT                            = 0x8000\n\tMS_SLAVE                             = 0x80000\n\tMS_STRICTATIME                       = 0x1000000\n\tMS_SUBMOUNT                          = 0x4000000\n\tMS_SYNC                              = 0x4\n\tMS_SYNCHRONOUS                       = 0x10\n\tMS_UNBINDABLE                        = 0x20000\n\tMS_VERBOSE                           = 0x8000\n\tMTD_INODE_FS_MAGIC                   = 0x11307854\n\tNAME_MAX                             = 0xff\n\tNCP_SUPER_MAGIC                      = 0x564c\n\tNETLINK_ADD_MEMBERSHIP               = 0x1\n\tNETLINK_AUDIT                        = 0x9\n\tNETLINK_BROADCAST_ERROR              = 0x4\n\tNETLINK_CAP_ACK                      = 0xa\n\tNETLINK_CONNECTOR                    = 0xb\n\tNETLINK_CRYPTO                       = 0x15\n\tNETLINK_DNRTMSG                      = 0xe\n\tNETLINK_DROP_MEMBERSHIP              = 0x2\n\tNETLINK_ECRYPTFS                     = 0x13\n\tNETLINK_EXT_ACK                      = 0xb\n\tNETLINK_FIB_LOOKUP                   = 0xa\n\tNETLINK_FIREWALL                     = 0x3\n\tNETLINK_GENERIC                      = 0x10\n\tNETLINK_INET_DIAG                    = 0x4\n\tNETLINK_IP6_FW                       = 0xd\n\tNETLINK_ISCSI                        = 0x8\n\tNETLINK_KOBJECT_UEVENT               = 0xf\n\tNETLINK_LISTEN_ALL_NSID              = 0x8\n\tNETLINK_LIST_MEMBERSHIPS             = 0x9\n\tNETLINK_NETFILTER                    = 0xc\n\tNETLINK_NFLOG                        = 0x5\n\tNETLINK_NO_ENOBUFS                   = 0x5\n\tNETLINK_PKTINFO                      = 0x3\n\tNETLINK_RDMA                         = 0x14\n\tNETLINK_ROUTE                        = 0x0\n\tNETLINK_RX_RING                      = 0x6\n\tNETLINK_SCSITRANSPORT                = 0x12\n\tNETLINK_SELINUX                      = 0x7\n\tNETLINK_SMC                          = 0x16\n\tNETLINK_SOCK_DIAG                    = 0x4\n\tNETLINK_TX_RING                      = 0x7\n\tNETLINK_UNUSED                       = 0x1\n\tNETLINK_USERSOCK                     = 0x2\n\tNETLINK_XFRM                         = 0x6\n\tNETNSA_MAX                           = 0x3\n\tNETNSA_NSID_NOT_ASSIGNED             = -0x1\n\tNFNETLINK_V0                         = 0x0\n\tNFNLGRP_ACCT_QUOTA                   = 0x8\n\tNFNLGRP_CONNTRACK_DESTROY            = 0x3\n\tNFNLGRP_CONNTRACK_EXP_DESTROY        = 0x6\n\tNFNLGRP_CONNTRACK_EXP_NEW            = 0x4\n\tNFNLGRP_CONNTRACK_EXP_UPDATE         = 0x5\n\tNFNLGRP_CONNTRACK_NEW                = 0x1\n\tNFNLGRP_CONNTRACK_UPDATE             = 0x2\n\tNFNLGRP_MAX                          = 0x9\n\tNFNLGRP_NFTABLES                     = 0x7\n\tNFNLGRP_NFTRACE                      = 0x9\n\tNFNLGRP_NONE                         = 0x0\n\tNFNL_BATCH_MAX                       = 0x1\n\tNFNL_MSG_BATCH_BEGIN                 = 0x10\n\tNFNL_MSG_BATCH_END                   = 0x11\n\tNFNL_NFA_NEST                        = 0x8000\n\tNFNL_SUBSYS_ACCT                     = 0x7\n\tNFNL_SUBSYS_COUNT                    = 0xc\n\tNFNL_SUBSYS_CTHELPER                 = 0x9\n\tNFNL_SUBSYS_CTNETLINK                = 0x1\n\tNFNL_SUBSYS_CTNETLINK_EXP            = 0x2\n\tNFNL_SUBSYS_CTNETLINK_TIMEOUT        = 0x8\n\tNFNL_SUBSYS_IPSET                    = 0x6\n\tNFNL_SUBSYS_NFTABLES                 = 0xa\n\tNFNL_SUBSYS_NFT_COMPAT               = 0xb\n\tNFNL_SUBSYS_NONE                     = 0x0\n\tNFNL_SUBSYS_OSF                      = 0x5\n\tNFNL_SUBSYS_QUEUE                    = 0x3\n\tNFNL_SUBSYS_ULOG                     = 0x4\n\tNFS_SUPER_MAGIC                      = 0x6969\n\tNILFS_SUPER_MAGIC                    = 0x3434\n\tNL0                                  = 0x0\n\tNL1                                  = 0x100\n\tNLA_ALIGNTO                          = 0x4\n\tNLA_F_NESTED                         = 0x8000\n\tNLA_F_NET_BYTEORDER                  = 0x4000\n\tNLA_HDRLEN                           = 0x4\n\tNLDLY                                = 0x100\n\tNLMSG_ALIGNTO                        = 0x4\n\tNLMSG_DONE                           = 0x3\n\tNLMSG_ERROR                          = 0x2\n\tNLMSG_HDRLEN                         = 0x10\n\tNLMSG_MIN_TYPE                       = 0x10\n\tNLMSG_NOOP                           = 0x1\n\tNLMSG_OVERRUN                        = 0x4\n\tNLM_F_ACK                            = 0x4\n\tNLM_F_ACK_TLVS                       = 0x200\n\tNLM_F_APPEND                         = 0x800\n\tNLM_F_ATOMIC                         = 0x400\n\tNLM_F_CAPPED                         = 0x100\n\tNLM_F_CREATE                         = 0x400\n\tNLM_F_DUMP                           = 0x300\n\tNLM_F_DUMP_FILTERED                  = 0x20\n\tNLM_F_DUMP_INTR                      = 0x10\n\tNLM_F_ECHO                           = 0x8\n\tNLM_F_EXCL                           = 0x200\n\tNLM_F_MATCH                          = 0x200\n\tNLM_F_MULTI                          = 0x2\n\tNLM_F_NONREC                         = 0x100\n\tNLM_F_REPLACE                        = 0x100\n\tNLM_F_REQUEST                        = 0x1\n\tNLM_F_ROOT                           = 0x100\n\tNOFLSH                               = 0x80\n\tNSFS_MAGIC                           = 0x6e736673\n\tOCFS2_SUPER_MAGIC                    = 0x7461636f\n\tOCRNL                                = 0x8\n\tOFDEL                                = 0x80\n\tOFILL                                = 0x40\n\tOLCUC                                = 0x2\n\tONLCR                                = 0x4\n\tONLRET                               = 0x20\n\tONOCR                                = 0x10\n\tOPENPROM_SUPER_MAGIC                 = 0x9fa1\n\tOPOST                                = 0x1\n\tOVERLAYFS_SUPER_MAGIC                = 0x794c7630\n\tO_ACCMODE                            = 0x3\n\tO_APPEND                             = 0x400\n\tO_ASYNC                              = 0x2000\n\tO_CLOEXEC                            = 0x80000\n\tO_CREAT                              = 0x40\n\tO_DIRECT                             = 0x4000\n\tO_DIRECTORY                          = 0x10000\n\tO_DSYNC                              = 0x1000\n\tO_EXCL                               = 0x80\n\tO_FSYNC                              = 0x101000\n\tO_LARGEFILE                          = 0x0\n\tO_NDELAY                             = 0x800\n\tO_NOATIME                            = 0x40000\n\tO_NOCTTY                             = 0x100\n\tO_NOFOLLOW                           = 0x20000\n\tO_NONBLOCK                           = 0x800\n\tO_PATH                               = 0x200000\n\tO_RDONLY                             = 0x0\n\tO_RDWR                               = 0x2\n\tO_RSYNC                              = 0x101000\n\tO_SYNC                               = 0x101000\n\tO_TMPFILE                            = 0x410000\n\tO_TRUNC                              = 0x200\n\tO_WRONLY                             = 0x1\n\tPACKET_ADD_MEMBERSHIP                = 0x1\n\tPACKET_AUXDATA                       = 0x8\n\tPACKET_BROADCAST                     = 0x1\n\tPACKET_COPY_THRESH                   = 0x7\n\tPACKET_DROP_MEMBERSHIP               = 0x2\n\tPACKET_FANOUT                        = 0x12\n\tPACKET_FANOUT_CBPF                   = 0x6\n\tPACKET_FANOUT_CPU                    = 0x2\n\tPACKET_FANOUT_DATA                   = 0x16\n\tPACKET_FANOUT_EBPF                   = 0x7\n\tPACKET_FANOUT_FLAG_DEFRAG            = 0x8000\n\tPACKET_FANOUT_FLAG_ROLLOVER          = 0x1000\n\tPACKET_FANOUT_FLAG_UNIQUEID          = 0x2000\n\tPACKET_FANOUT_HASH                   = 0x0\n\tPACKET_FANOUT_LB                     = 0x1\n\tPACKET_FANOUT_QM                     = 0x5\n\tPACKET_FANOUT_RND                    = 0x4\n\tPACKET_FANOUT_ROLLOVER               = 0x3\n\tPACKET_FASTROUTE                     = 0x6\n\tPACKET_HDRLEN                        = 0xb\n\tPACKET_HOST                          = 0x0\n\tPACKET_KERNEL                        = 0x7\n\tPACKET_LOOPBACK                      = 0x5\n\tPACKET_LOSS                          = 0xe\n\tPACKET_MR_ALLMULTI                   = 0x2\n\tPACKET_MR_MULTICAST                  = 0x0\n\tPACKET_MR_PROMISC                    = 0x1\n\tPACKET_MR_UNICAST                    = 0x3\n\tPACKET_MULTICAST                     = 0x2\n\tPACKET_ORIGDEV                       = 0x9\n\tPACKET_OTHERHOST                     = 0x3\n\tPACKET_OUTGOING                      = 0x4\n\tPACKET_QDISC_BYPASS                  = 0x14\n\tPACKET_RECV_OUTPUT                   = 0x3\n\tPACKET_RESERVE                       = 0xc\n\tPACKET_ROLLOVER_STATS                = 0x15\n\tPACKET_RX_RING                       = 0x5\n\tPACKET_STATISTICS                    = 0x6\n\tPACKET_TIMESTAMP                     = 0x11\n\tPACKET_TX_HAS_OFF                    = 0x13\n\tPACKET_TX_RING                       = 0xd\n\tPACKET_TX_TIMESTAMP                  = 0x10\n\tPACKET_USER                          = 0x6\n\tPACKET_VERSION                       = 0xa\n\tPACKET_VNET_HDR                      = 0xf\n\tPARENB                               = 0x100\n\tPARITY_CRC16_PR0                     = 0x2\n\tPARITY_CRC16_PR0_CCITT               = 0x4\n\tPARITY_CRC16_PR1                     = 0x3\n\tPARITY_CRC16_PR1_CCITT               = 0x5\n\tPARITY_CRC32_PR0_CCITT               = 0x6\n\tPARITY_CRC32_PR1_CCITT               = 0x7\n\tPARITY_DEFAULT                       = 0x0\n\tPARITY_NONE                          = 0x1\n\tPARMRK                               = 0x8\n\tPARODD                               = 0x200\n\tPENDIN                               = 0x4000\n\tPERF_EVENT_IOC_DISABLE               = 0x2401\n\tPERF_EVENT_IOC_ENABLE                = 0x2400\n\tPERF_EVENT_IOC_ID                    = 0x80082407\n\tPERF_EVENT_IOC_MODIFY_ATTRIBUTES     = 0x4008240b\n\tPERF_EVENT_IOC_PAUSE_OUTPUT          = 0x40042409\n\tPERF_EVENT_IOC_PERIOD                = 0x40082404\n\tPERF_EVENT_IOC_QUERY_BPF             = 0xc008240a\n\tPERF_EVENT_IOC_REFRESH               = 0x2402\n\tPERF_EVENT_IOC_RESET                 = 0x2403\n\tPERF_EVENT_IOC_SET_BPF               = 0x40042408\n\tPERF_EVENT_IOC_SET_FILTER            = 0x40082406\n\tPERF_EVENT_IOC_SET_OUTPUT            = 0x2405\n\tPIPEFS_MAGIC                         = 0x50495045\n\tPRIO_PGRP                            = 0x1\n\tPRIO_PROCESS                         = 0x0\n\tPRIO_USER                            = 0x2\n\tPROC_SUPER_MAGIC                     = 0x9fa0\n\tPROT_EXEC                            = 0x4\n\tPROT_GROWSDOWN                       = 0x1000000\n\tPROT_GROWSUP                         = 0x2000000\n\tPROT_NONE                            = 0x0\n\tPROT_READ                            = 0x1\n\tPROT_WRITE                           = 0x2\n\tPR_CAPBSET_DROP                      = 0x18\n\tPR_CAPBSET_READ                      = 0x17\n\tPR_CAP_AMBIENT                       = 0x2f\n\tPR_CAP_AMBIENT_CLEAR_ALL             = 0x4\n\tPR_CAP_AMBIENT_IS_SET                = 0x1\n\tPR_CAP_AMBIENT_LOWER                 = 0x3\n\tPR_CAP_AMBIENT_RAISE                 = 0x2\n\tPR_ENDIAN_BIG                        = 0x0\n\tPR_ENDIAN_LITTLE                     = 0x1\n\tPR_ENDIAN_PPC_LITTLE                 = 0x2\n\tPR_FPEMU_NOPRINT                     = 0x1\n\tPR_FPEMU_SIGFPE                      = 0x2\n\tPR_FP_EXC_ASYNC                      = 0x2\n\tPR_FP_EXC_DISABLED                   = 0x0\n\tPR_FP_EXC_DIV                        = 0x10000\n\tPR_FP_EXC_INV                        = 0x100000\n\tPR_FP_EXC_NONRECOV                   = 0x1\n\tPR_FP_EXC_OVF                        = 0x20000\n\tPR_FP_EXC_PRECISE                    = 0x3\n\tPR_FP_EXC_RES                        = 0x80000\n\tPR_FP_EXC_SW_ENABLE                  = 0x80\n\tPR_FP_EXC_UND                        = 0x40000\n\tPR_FP_MODE_FR                        = 0x1\n\tPR_FP_MODE_FRE                       = 0x2\n\tPR_GET_CHILD_SUBREAPER               = 0x25\n\tPR_GET_DUMPABLE                      = 0x3\n\tPR_GET_ENDIAN                        = 0x13\n\tPR_GET_FPEMU                         = 0x9\n\tPR_GET_FPEXC                         = 0xb\n\tPR_GET_FP_MODE                       = 0x2e\n\tPR_GET_KEEPCAPS                      = 0x7\n\tPR_GET_NAME                          = 0x10\n\tPR_GET_NO_NEW_PRIVS                  = 0x27\n\tPR_GET_PDEATHSIG                     = 0x2\n\tPR_GET_SECCOMP                       = 0x15\n\tPR_GET_SECUREBITS                    = 0x1b\n\tPR_GET_SPECULATION_CTRL              = 0x34\n\tPR_GET_THP_DISABLE                   = 0x2a\n\tPR_GET_TID_ADDRESS                   = 0x28\n\tPR_GET_TIMERSLACK                    = 0x1e\n\tPR_GET_TIMING                        = 0xd\n\tPR_GET_TSC                           = 0x19\n\tPR_GET_UNALIGN                       = 0x5\n\tPR_MCE_KILL                          = 0x21\n\tPR_MCE_KILL_CLEAR                    = 0x0\n\tPR_MCE_KILL_DEFAULT                  = 0x2\n\tPR_MCE_KILL_EARLY                    = 0x1\n\tPR_MCE_KILL_GET                      = 0x22\n\tPR_MCE_KILL_LATE                     = 0x0\n\tPR_MCE_KILL_SET                      = 0x1\n\tPR_MPX_DISABLE_MANAGEMENT            = 0x2c\n\tPR_MPX_ENABLE_MANAGEMENT             = 0x2b\n\tPR_SET_CHILD_SUBREAPER               = 0x24\n\tPR_SET_DUMPABLE                      = 0x4\n\tPR_SET_ENDIAN                        = 0x14\n\tPR_SET_FPEMU                         = 0xa\n\tPR_SET_FPEXC                         = 0xc\n\tPR_SET_FP_MODE                       = 0x2d\n\tPR_SET_KEEPCAPS                      = 0x8\n\tPR_SET_MM                            = 0x23\n\tPR_SET_MM_ARG_END                    = 0x9\n\tPR_SET_MM_ARG_START                  = 0x8\n\tPR_SET_MM_AUXV                       = 0xc\n\tPR_SET_MM_BRK                        = 0x7\n\tPR_SET_MM_END_CODE                   = 0x2\n\tPR_SET_MM_END_DATA                   = 0x4\n\tPR_SET_MM_ENV_END                    = 0xb\n\tPR_SET_MM_ENV_START                  = 0xa\n\tPR_SET_MM_EXE_FILE                   = 0xd\n\tPR_SET_MM_MAP                        = 0xe\n\tPR_SET_MM_MAP_SIZE                   = 0xf\n\tPR_SET_MM_START_BRK                  = 0x6\n\tPR_SET_MM_START_CODE                 = 0x1\n\tPR_SET_MM_START_DATA                 = 0x3\n\tPR_SET_MM_START_STACK                = 0x5\n\tPR_SET_NAME                          = 0xf\n\tPR_SET_NO_NEW_PRIVS                  = 0x26\n\tPR_SET_PDEATHSIG                     = 0x1\n\tPR_SET_PTRACER                       = 0x59616d61\n\tPR_SET_PTRACER_ANY                   = 0xffffffffffffffff\n\tPR_SET_SECCOMP                       = 0x16\n\tPR_SET_SECUREBITS                    = 0x1c\n\tPR_SET_SPECULATION_CTRL              = 0x35\n\tPR_SET_THP_DISABLE                   = 0x29\n\tPR_SET_TIMERSLACK                    = 0x1d\n\tPR_SET_TIMING                        = 0xe\n\tPR_SET_TSC                           = 0x1a\n\tPR_SET_UNALIGN                       = 0x6\n\tPR_SPEC_DISABLE                      = 0x4\n\tPR_SPEC_ENABLE                       = 0x2\n\tPR_SPEC_FORCE_DISABLE                = 0x8\n\tPR_SPEC_NOT_AFFECTED                 = 0x0\n\tPR_SPEC_PRCTL                        = 0x1\n\tPR_SPEC_STORE_BYPASS                 = 0x0\n\tPR_SVE_GET_VL                        = 0x33\n\tPR_SVE_SET_VL                        = 0x32\n\tPR_SVE_SET_VL_ONEXEC                 = 0x40000\n\tPR_SVE_VL_INHERIT                    = 0x20000\n\tPR_SVE_VL_LEN_MASK                   = 0xffff\n\tPR_TASK_PERF_EVENTS_DISABLE          = 0x1f\n\tPR_TASK_PERF_EVENTS_ENABLE           = 0x20\n\tPR_TIMING_STATISTICAL                = 0x0\n\tPR_TIMING_TIMESTAMP                  = 0x1\n\tPR_TSC_ENABLE                        = 0x1\n\tPR_TSC_SIGSEGV                       = 0x2\n\tPR_UNALIGN_NOPRINT                   = 0x1\n\tPR_UNALIGN_SIGBUS                    = 0x2\n\tPSTOREFS_MAGIC                       = 0x6165676c\n\tPTRACE_ATTACH                        = 0x10\n\tPTRACE_CONT                          = 0x7\n\tPTRACE_DETACH                        = 0x11\n\tPTRACE_DISABLE_TE                    = 0x5010\n\tPTRACE_ENABLE_TE                     = 0x5009\n\tPTRACE_EVENT_CLONE                   = 0x3\n\tPTRACE_EVENT_EXEC                    = 0x4\n\tPTRACE_EVENT_EXIT                    = 0x6\n\tPTRACE_EVENT_FORK                    = 0x1\n\tPTRACE_EVENT_SECCOMP                 = 0x7\n\tPTRACE_EVENT_STOP                    = 0x80\n\tPTRACE_EVENT_VFORK                   = 0x2\n\tPTRACE_EVENT_VFORK_DONE              = 0x5\n\tPTRACE_GETEVENTMSG                   = 0x4201\n\tPTRACE_GETREGS                       = 0xc\n\tPTRACE_GETREGSET                     = 0x4204\n\tPTRACE_GETSIGINFO                    = 0x4202\n\tPTRACE_GETSIGMASK                    = 0x420a\n\tPTRACE_GET_LAST_BREAK                = 0x5006\n\tPTRACE_INTERRUPT                     = 0x4207\n\tPTRACE_KILL                          = 0x8\n\tPTRACE_LISTEN                        = 0x4208\n\tPTRACE_OLDSETOPTIONS                 = 0x15\n\tPTRACE_O_EXITKILL                    = 0x100000\n\tPTRACE_O_MASK                        = 0x3000ff\n\tPTRACE_O_SUSPEND_SECCOMP             = 0x200000\n\tPTRACE_O_TRACECLONE                  = 0x8\n\tPTRACE_O_TRACEEXEC                   = 0x10\n\tPTRACE_O_TRACEEXIT                   = 0x40\n\tPTRACE_O_TRACEFORK                   = 0x2\n\tPTRACE_O_TRACESECCOMP                = 0x80\n\tPTRACE_O_TRACESYSGOOD                = 0x1\n\tPTRACE_O_TRACEVFORK                  = 0x4\n\tPTRACE_O_TRACEVFORKDONE              = 0x20\n\tPTRACE_PEEKDATA                      = 0x2\n\tPTRACE_PEEKDATA_AREA                 = 0x5003\n\tPTRACE_PEEKSIGINFO                   = 0x4209\n\tPTRACE_PEEKSIGINFO_SHARED            = 0x1\n\tPTRACE_PEEKTEXT                      = 0x1\n\tPTRACE_PEEKTEXT_AREA                 = 0x5002\n\tPTRACE_PEEKUSR                       = 0x3\n\tPTRACE_PEEKUSR_AREA                  = 0x5000\n\tPTRACE_PEEK_SYSTEM_CALL              = 0x5007\n\tPTRACE_POKEDATA                      = 0x5\n\tPTRACE_POKEDATA_AREA                 = 0x5005\n\tPTRACE_POKETEXT                      = 0x4\n\tPTRACE_POKETEXT_AREA                 = 0x5004\n\tPTRACE_POKEUSR                       = 0x6\n\tPTRACE_POKEUSR_AREA                  = 0x5001\n\tPTRACE_POKE_SYSTEM_CALL              = 0x5008\n\tPTRACE_PROT                          = 0x15\n\tPTRACE_SECCOMP_GET_FILTER            = 0x420c\n\tPTRACE_SECCOMP_GET_METADATA          = 0x420d\n\tPTRACE_SEIZE                         = 0x4206\n\tPTRACE_SETOPTIONS                    = 0x4200\n\tPTRACE_SETREGS                       = 0xd\n\tPTRACE_SETREGSET                     = 0x4205\n\tPTRACE_SETSIGINFO                    = 0x4203\n\tPTRACE_SETSIGMASK                    = 0x420b\n\tPTRACE_SINGLEBLOCK                   = 0xc\n\tPTRACE_SINGLESTEP                    = 0x9\n\tPTRACE_SYSCALL                       = 0x18\n\tPTRACE_TE_ABORT_RAND                 = 0x5011\n\tPTRACE_TRACEME                       = 0x0\n\tPT_ACR0                              = 0x90\n\tPT_ACR1                              = 0x94\n\tPT_ACR10                             = 0xb8\n\tPT_ACR11                             = 0xbc\n\tPT_ACR12                             = 0xc0\n\tPT_ACR13                             = 0xc4\n\tPT_ACR14                             = 0xc8\n\tPT_ACR15                             = 0xcc\n\tPT_ACR2                              = 0x98\n\tPT_ACR3                              = 0x9c\n\tPT_ACR4                              = 0xa0\n\tPT_ACR5                              = 0xa4\n\tPT_ACR6                              = 0xa8\n\tPT_ACR7                              = 0xac\n\tPT_ACR8                              = 0xb0\n\tPT_ACR9                              = 0xb4\n\tPT_CR_10                             = 0x168\n\tPT_CR_11                             = 0x170\n\tPT_CR_9                              = 0x160\n\tPT_ENDREGS                           = 0x1af\n\tPT_FPC                               = 0xd8\n\tPT_FPR0                              = 0xe0\n\tPT_FPR1                              = 0xe8\n\tPT_FPR10                             = 0x130\n\tPT_FPR11                             = 0x138\n\tPT_FPR12                             = 0x140\n\tPT_FPR13                             = 0x148\n\tPT_FPR14                             = 0x150\n\tPT_FPR15                             = 0x158\n\tPT_FPR2                              = 0xf0\n\tPT_FPR3                              = 0xf8\n\tPT_FPR4                              = 0x100\n\tPT_FPR5                              = 0x108\n\tPT_FPR6                              = 0x110\n\tPT_FPR7                              = 0x118\n\tPT_FPR8                              = 0x120\n\tPT_FPR9                              = 0x128\n\tPT_GPR0                              = 0x10\n\tPT_GPR1                              = 0x18\n\tPT_GPR10                             = 0x60\n\tPT_GPR11                             = 0x68\n\tPT_GPR12                             = 0x70\n\tPT_GPR13                             = 0x78\n\tPT_GPR14                             = 0x80\n\tPT_GPR15                             = 0x88\n\tPT_GPR2                              = 0x20\n\tPT_GPR3                              = 0x28\n\tPT_GPR4                              = 0x30\n\tPT_GPR5                              = 0x38\n\tPT_GPR6                              = 0x40\n\tPT_GPR7                              = 0x48\n\tPT_GPR8                              = 0x50\n\tPT_GPR9                              = 0x58\n\tPT_IEEE_IP                           = 0x1a8\n\tPT_LASTOFF                           = 0x1a8\n\tPT_ORIGGPR2                          = 0xd0\n\tPT_PSWADDR                           = 0x8\n\tPT_PSWMASK                           = 0x0\n\tQNX4_SUPER_MAGIC                     = 0x2f\n\tQNX6_SUPER_MAGIC                     = 0x68191122\n\tRAMFS_MAGIC                          = 0x858458f6\n\tRDTGROUP_SUPER_MAGIC                 = 0x7655821\n\tREISERFS_SUPER_MAGIC                 = 0x52654973\n\tRENAME_EXCHANGE                      = 0x2\n\tRENAME_NOREPLACE                     = 0x1\n\tRENAME_WHITEOUT                      = 0x4\n\tRLIMIT_AS                            = 0x9\n\tRLIMIT_CORE                          = 0x4\n\tRLIMIT_CPU                           = 0x0\n\tRLIMIT_DATA                          = 0x2\n\tRLIMIT_FSIZE                         = 0x1\n\tRLIMIT_LOCKS                         = 0xa\n\tRLIMIT_MEMLOCK                       = 0x8\n\tRLIMIT_MSGQUEUE                      = 0xc\n\tRLIMIT_NICE                          = 0xd\n\tRLIMIT_NOFILE                        = 0x7\n\tRLIMIT_NPROC                         = 0x6\n\tRLIMIT_RSS                           = 0x5\n\tRLIMIT_RTPRIO                        = 0xe\n\tRLIMIT_RTTIME                        = 0xf\n\tRLIMIT_SIGPENDING                    = 0xb\n\tRLIMIT_STACK                         = 0x3\n\tRLIM_INFINITY                        = 0xffffffffffffffff\n\tRTAX_ADVMSS                          = 0x8\n\tRTAX_CC_ALGO                         = 0x10\n\tRTAX_CWND                            = 0x7\n\tRTAX_FASTOPEN_NO_COOKIE              = 0x11\n\tRTAX_FEATURES                        = 0xc\n\tRTAX_FEATURE_ALLFRAG                 = 0x8\n\tRTAX_FEATURE_ECN                     = 0x1\n\tRTAX_FEATURE_MASK                    = 0xf\n\tRTAX_FEATURE_SACK                    = 0x2\n\tRTAX_FEATURE_TIMESTAMP               = 0x4\n\tRTAX_HOPLIMIT                        = 0xa\n\tRTAX_INITCWND                        = 0xb\n\tRTAX_INITRWND                        = 0xe\n\tRTAX_LOCK                            = 0x1\n\tRTAX_MAX                             = 0x11\n\tRTAX_MTU                             = 0x2\n\tRTAX_QUICKACK                        = 0xf\n\tRTAX_REORDERING                      = 0x9\n\tRTAX_RTO_MIN                         = 0xd\n\tRTAX_RTT                             = 0x4\n\tRTAX_RTTVAR                          = 0x5\n\tRTAX_SSTHRESH                        = 0x6\n\tRTAX_UNSPEC                          = 0x0\n\tRTAX_WINDOW                          = 0x3\n\tRTA_ALIGNTO                          = 0x4\n\tRTA_MAX                              = 0x1d\n\tRTCF_DIRECTSRC                       = 0x4000000\n\tRTCF_DOREDIRECT                      = 0x1000000\n\tRTCF_LOG                             = 0x2000000\n\tRTCF_MASQ                            = 0x400000\n\tRTCF_NAT                             = 0x800000\n\tRTCF_VALVE                           = 0x200000\n\tRTC_AF                               = 0x20\n\tRTC_AIE_OFF                          = 0x7002\n\tRTC_AIE_ON                           = 0x7001\n\tRTC_ALM_READ                         = 0x80247008\n\tRTC_ALM_SET                          = 0x40247007\n\tRTC_EPOCH_READ                       = 0x8008700d\n\tRTC_EPOCH_SET                        = 0x4008700e\n\tRTC_IRQF                             = 0x80\n\tRTC_IRQP_READ                        = 0x8008700b\n\tRTC_IRQP_SET                         = 0x4008700c\n\tRTC_MAX_FREQ                         = 0x2000\n\tRTC_PF                               = 0x40\n\tRTC_PIE_OFF                          = 0x7006\n\tRTC_PIE_ON                           = 0x7005\n\tRTC_PLL_GET                          = 0x80207011\n\tRTC_PLL_SET                          = 0x40207012\n\tRTC_RD_TIME                          = 0x80247009\n\tRTC_SET_TIME                         = 0x4024700a\n\tRTC_UF                               = 0x10\n\tRTC_UIE_OFF                          = 0x7004\n\tRTC_UIE_ON                           = 0x7003\n\tRTC_VL_CLR                           = 0x7014\n\tRTC_VL_READ                          = 0x80047013\n\tRTC_WIE_OFF                          = 0x7010\n\tRTC_WIE_ON                           = 0x700f\n\tRTC_WKALM_RD                         = 0x80287010\n\tRTC_WKALM_SET                        = 0x4028700f\n\tRTF_ADDRCLASSMASK                    = 0xf8000000\n\tRTF_ADDRCONF                         = 0x40000\n\tRTF_ALLONLINK                        = 0x20000\n\tRTF_BROADCAST                        = 0x10000000\n\tRTF_CACHE                            = 0x1000000\n\tRTF_DEFAULT                          = 0x10000\n\tRTF_DYNAMIC                          = 0x10\n\tRTF_FLOW                             = 0x2000000\n\tRTF_GATEWAY                          = 0x2\n\tRTF_HOST                             = 0x4\n\tRTF_INTERFACE                        = 0x40000000\n\tRTF_IRTT                             = 0x100\n\tRTF_LINKRT                           = 0x100000\n\tRTF_LOCAL                            = 0x80000000\n\tRTF_MODIFIED                         = 0x20\n\tRTF_MSS                              = 0x40\n\tRTF_MTU                              = 0x40\n\tRTF_MULTICAST                        = 0x20000000\n\tRTF_NAT                              = 0x8000000\n\tRTF_NOFORWARD                        = 0x1000\n\tRTF_NONEXTHOP                        = 0x200000\n\tRTF_NOPMTUDISC                       = 0x4000\n\tRTF_POLICY                           = 0x4000000\n\tRTF_REINSTATE                        = 0x8\n\tRTF_REJECT                           = 0x200\n\tRTF_STATIC                           = 0x400\n\tRTF_THROW                            = 0x2000\n\tRTF_UP                               = 0x1\n\tRTF_WINDOW                           = 0x80\n\tRTF_XRESOLVE                         = 0x800\n\tRTM_BASE                             = 0x10\n\tRTM_DELACTION                        = 0x31\n\tRTM_DELADDR                          = 0x15\n\tRTM_DELADDRLABEL                     = 0x49\n\tRTM_DELLINK                          = 0x11\n\tRTM_DELMDB                           = 0x55\n\tRTM_DELNEIGH                         = 0x1d\n\tRTM_DELNETCONF                       = 0x51\n\tRTM_DELNSID                          = 0x59\n\tRTM_DELQDISC                         = 0x25\n\tRTM_DELROUTE                         = 0x19\n\tRTM_DELRULE                          = 0x21\n\tRTM_DELTCLASS                        = 0x29\n\tRTM_DELTFILTER                       = 0x2d\n\tRTM_F_CLONED                         = 0x200\n\tRTM_F_EQUALIZE                       = 0x400\n\tRTM_F_FIB_MATCH                      = 0x2000\n\tRTM_F_LOOKUP_TABLE                   = 0x1000\n\tRTM_F_NOTIFY                         = 0x100\n\tRTM_F_PREFIX                         = 0x800\n\tRTM_GETACTION                        = 0x32\n\tRTM_GETADDR                          = 0x16\n\tRTM_GETADDRLABEL                     = 0x4a\n\tRTM_GETANYCAST                       = 0x3e\n\tRTM_GETDCB                           = 0x4e\n\tRTM_GETLINK                          = 0x12\n\tRTM_GETMDB                           = 0x56\n\tRTM_GETMULTICAST                     = 0x3a\n\tRTM_GETNEIGH                         = 0x1e\n\tRTM_GETNEIGHTBL                      = 0x42\n\tRTM_GETNETCONF                       = 0x52\n\tRTM_GETNSID                          = 0x5a\n\tRTM_GETQDISC                         = 0x26\n\tRTM_GETROUTE                         = 0x1a\n\tRTM_GETRULE                          = 0x22\n\tRTM_GETSTATS                         = 0x5e\n\tRTM_GETTCLASS                        = 0x2a\n\tRTM_GETTFILTER                       = 0x2e\n\tRTM_MAX                              = 0x63\n\tRTM_NEWACTION                        = 0x30\n\tRTM_NEWADDR                          = 0x14\n\tRTM_NEWADDRLABEL                     = 0x48\n\tRTM_NEWCACHEREPORT                   = 0x60\n\tRTM_NEWLINK                          = 0x10\n\tRTM_NEWMDB                           = 0x54\n\tRTM_NEWNDUSEROPT                     = 0x44\n\tRTM_NEWNEIGH                         = 0x1c\n\tRTM_NEWNEIGHTBL                      = 0x40\n\tRTM_NEWNETCONF                       = 0x50\n\tRTM_NEWNSID                          = 0x58\n\tRTM_NEWPREFIX                        = 0x34\n\tRTM_NEWQDISC                         = 0x24\n\tRTM_NEWROUTE                         = 0x18\n\tRTM_NEWRULE                          = 0x20\n\tRTM_NEWSTATS                         = 0x5c\n\tRTM_NEWTCLASS                        = 0x28\n\tRTM_NEWTFILTER                       = 0x2c\n\tRTM_NR_FAMILIES                      = 0x15\n\tRTM_NR_MSGTYPES                      = 0x54\n\tRTM_SETDCB                           = 0x4f\n\tRTM_SETLINK                          = 0x13\n\tRTM_SETNEIGHTBL                      = 0x43\n\tRTNH_ALIGNTO                         = 0x4\n\tRTNH_COMPARE_MASK                    = 0x19\n\tRTNH_F_DEAD                          = 0x1\n\tRTNH_F_LINKDOWN                      = 0x10\n\tRTNH_F_OFFLOAD                       = 0x8\n\tRTNH_F_ONLINK                        = 0x4\n\tRTNH_F_PERVASIVE                     = 0x2\n\tRTNH_F_UNRESOLVED                    = 0x20\n\tRTN_MAX                              = 0xb\n\tRTPROT_BABEL                         = 0x2a\n\tRTPROT_BGP                           = 0xba\n\tRTPROT_BIRD                          = 0xc\n\tRTPROT_BOOT                          = 0x3\n\tRTPROT_DHCP                          = 0x10\n\tRTPROT_DNROUTED                      = 0xd\n\tRTPROT_EIGRP                         = 0xc0\n\tRTPROT_GATED                         = 0x8\n\tRTPROT_ISIS                          = 0xbb\n\tRTPROT_KERNEL                        = 0x2\n\tRTPROT_MROUTED                       = 0x11\n\tRTPROT_MRT                           = 0xa\n\tRTPROT_NTK                           = 0xf\n\tRTPROT_OSPF                          = 0xbc\n\tRTPROT_RA                            = 0x9\n\tRTPROT_REDIRECT                      = 0x1\n\tRTPROT_RIP                           = 0xbd\n\tRTPROT_STATIC                        = 0x4\n\tRTPROT_UNSPEC                        = 0x0\n\tRTPROT_XORP                          = 0xe\n\tRTPROT_ZEBRA                         = 0xb\n\tRT_CLASS_DEFAULT                     = 0xfd\n\tRT_CLASS_LOCAL                       = 0xff\n\tRT_CLASS_MAIN                        = 0xfe\n\tRT_CLASS_MAX                         = 0xff\n\tRT_CLASS_UNSPEC                      = 0x0\n\tRUSAGE_CHILDREN                      = -0x1\n\tRUSAGE_SELF                          = 0x0\n\tRUSAGE_THREAD                        = 0x1\n\tSCM_CREDENTIALS                      = 0x2\n\tSCM_RIGHTS                           = 0x1\n\tSCM_TIMESTAMP                        = 0x1d\n\tSCM_TIMESTAMPING                     = 0x25\n\tSCM_TIMESTAMPING_OPT_STATS           = 0x36\n\tSCM_TIMESTAMPING_PKTINFO             = 0x3a\n\tSCM_TIMESTAMPNS                      = 0x23\n\tSCM_WIFI_STATUS                      = 0x29\n\tSECCOMP_MODE_DISABLED                = 0x0\n\tSECCOMP_MODE_FILTER                  = 0x2\n\tSECCOMP_MODE_STRICT                  = 0x1\n\tSECURITYFS_MAGIC                     = 0x73636673\n\tSELINUX_MAGIC                        = 0xf97cff8c\n\tSHUT_RD                              = 0x0\n\tSHUT_RDWR                            = 0x2\n\tSHUT_WR                              = 0x1\n\tSIOCADDDLCI                          = 0x8980\n\tSIOCADDMULTI                         = 0x8931\n\tSIOCADDRT                            = 0x890b\n\tSIOCATMARK                           = 0x8905\n\tSIOCBONDCHANGEACTIVE                 = 0x8995\n\tSIOCBONDENSLAVE                      = 0x8990\n\tSIOCBONDINFOQUERY                    = 0x8994\n\tSIOCBONDRELEASE                      = 0x8991\n\tSIOCBONDSETHWADDR                    = 0x8992\n\tSIOCBONDSLAVEINFOQUERY               = 0x8993\n\tSIOCBRADDBR                          = 0x89a0\n\tSIOCBRADDIF                          = 0x89a2\n\tSIOCBRDELBR                          = 0x89a1\n\tSIOCBRDELIF                          = 0x89a3\n\tSIOCDARP                             = 0x8953\n\tSIOCDELDLCI                          = 0x8981\n\tSIOCDELMULTI                         = 0x8932\n\tSIOCDELRT                            = 0x890c\n\tSIOCDEVPRIVATE                       = 0x89f0\n\tSIOCDIFADDR                          = 0x8936\n\tSIOCDRARP                            = 0x8960\n\tSIOCETHTOOL                          = 0x8946\n\tSIOCGARP                             = 0x8954\n\tSIOCGHWTSTAMP                        = 0x89b1\n\tSIOCGIFADDR                          = 0x8915\n\tSIOCGIFBR                            = 0x8940\n\tSIOCGIFBRDADDR                       = 0x8919\n\tSIOCGIFCONF                          = 0x8912\n\tSIOCGIFCOUNT                         = 0x8938\n\tSIOCGIFDSTADDR                       = 0x8917\n\tSIOCGIFENCAP                         = 0x8925\n\tSIOCGIFFLAGS                         = 0x8913\n\tSIOCGIFHWADDR                        = 0x8927\n\tSIOCGIFINDEX                         = 0x8933\n\tSIOCGIFMAP                           = 0x8970\n\tSIOCGIFMEM                           = 0x891f\n\tSIOCGIFMETRIC                        = 0x891d\n\tSIOCGIFMTU                           = 0x8921\n\tSIOCGIFNAME                          = 0x8910\n\tSIOCGIFNETMASK                       = 0x891b\n\tSIOCGIFPFLAGS                        = 0x8935\n\tSIOCGIFSLAVE                         = 0x8929\n\tSIOCGIFTXQLEN                        = 0x8942\n\tSIOCGIFVLAN                          = 0x8982\n\tSIOCGMIIPHY                          = 0x8947\n\tSIOCGMIIREG                          = 0x8948\n\tSIOCGPGRP                            = 0x8904\n\tSIOCGRARP                            = 0x8961\n\tSIOCGSKNS                            = 0x894c\n\tSIOCGSTAMP                           = 0x8906\n\tSIOCGSTAMPNS                         = 0x8907\n\tSIOCINQ                              = 0x541b\n\tSIOCOUTQ                             = 0x5411\n\tSIOCOUTQNSD                          = 0x894b\n\tSIOCPROTOPRIVATE                     = 0x89e0\n\tSIOCRTMSG                            = 0x890d\n\tSIOCSARP                             = 0x8955\n\tSIOCSHWTSTAMP                        = 0x89b0\n\tSIOCSIFADDR                          = 0x8916\n\tSIOCSIFBR                            = 0x8941\n\tSIOCSIFBRDADDR                       = 0x891a\n\tSIOCSIFDSTADDR                       = 0x8918\n\tSIOCSIFENCAP                         = 0x8926\n\tSIOCSIFFLAGS                         = 0x8914\n\tSIOCSIFHWADDR                        = 0x8924\n\tSIOCSIFHWBROADCAST                   = 0x8937\n\tSIOCSIFLINK                          = 0x8911\n\tSIOCSIFMAP                           = 0x8971\n\tSIOCSIFMEM                           = 0x8920\n\tSIOCSIFMETRIC                        = 0x891e\n\tSIOCSIFMTU                           = 0x8922\n\tSIOCSIFNAME                          = 0x8923\n\tSIOCSIFNETMASK                       = 0x891c\n\tSIOCSIFPFLAGS                        = 0x8934\n\tSIOCSIFSLAVE                         = 0x8930\n\tSIOCSIFTXQLEN                        = 0x8943\n\tSIOCSIFVLAN                          = 0x8983\n\tSIOCSMIIREG                          = 0x8949\n\tSIOCSPGRP                            = 0x8902\n\tSIOCSRARP                            = 0x8962\n\tSIOCWANDEV                           = 0x894a\n\tSMACK_MAGIC                          = 0x43415d53\n\tSMART_AUTOSAVE                       = 0xd2\n\tSMART_AUTO_OFFLINE                   = 0xdb\n\tSMART_DISABLE                        = 0xd9\n\tSMART_ENABLE                         = 0xd8\n\tSMART_HCYL_PASS                      = 0xc2\n\tSMART_IMMEDIATE_OFFLINE              = 0xd4\n\tSMART_LCYL_PASS                      = 0x4f\n\tSMART_READ_LOG_SECTOR                = 0xd5\n\tSMART_READ_THRESHOLDS                = 0xd1\n\tSMART_READ_VALUES                    = 0xd0\n\tSMART_SAVE                           = 0xd3\n\tSMART_STATUS                         = 0xda\n\tSMART_WRITE_LOG_SECTOR               = 0xd6\n\tSMART_WRITE_THRESHOLDS               = 0xd7\n\tSMB_SUPER_MAGIC                      = 0x517b\n\tSOCKFS_MAGIC                         = 0x534f434b\n\tSOCK_CLOEXEC                         = 0x80000\n\tSOCK_DCCP                            = 0x6\n\tSOCK_DGRAM                           = 0x2\n\tSOCK_IOC_TYPE                        = 0x89\n\tSOCK_NONBLOCK                        = 0x800\n\tSOCK_PACKET                          = 0xa\n\tSOCK_RAW                             = 0x3\n\tSOCK_RDM                             = 0x4\n\tSOCK_SEQPACKET                       = 0x5\n\tSOCK_STREAM                          = 0x1\n\tSOL_AAL                              = 0x109\n\tSOL_ALG                              = 0x117\n\tSOL_ATM                              = 0x108\n\tSOL_CAIF                             = 0x116\n\tSOL_CAN_BASE                         = 0x64\n\tSOL_DCCP                             = 0x10d\n\tSOL_DECNET                           = 0x105\n\tSOL_ICMPV6                           = 0x3a\n\tSOL_IP                               = 0x0\n\tSOL_IPV6                             = 0x29\n\tSOL_IRDA                             = 0x10a\n\tSOL_IUCV                             = 0x115\n\tSOL_KCM                              = 0x119\n\tSOL_LLC                              = 0x10c\n\tSOL_NETBEUI                          = 0x10b\n\tSOL_NETLINK                          = 0x10e\n\tSOL_NFC                              = 0x118\n\tSOL_PACKET                           = 0x107\n\tSOL_PNPIPE                           = 0x113\n\tSOL_PPPOL2TP                         = 0x111\n\tSOL_RAW                              = 0xff\n\tSOL_RDS                              = 0x114\n\tSOL_RXRPC                            = 0x110\n\tSOL_SOCKET                           = 0x1\n\tSOL_TCP                              = 0x6\n\tSOL_TIPC                             = 0x10f\n\tSOL_TLS                              = 0x11a\n\tSOL_X25                              = 0x106\n\tSOMAXCONN                            = 0x80\n\tSO_ACCEPTCONN                        = 0x1e\n\tSO_ATTACH_BPF                        = 0x32\n\tSO_ATTACH_FILTER                     = 0x1a\n\tSO_ATTACH_REUSEPORT_CBPF             = 0x33\n\tSO_ATTACH_REUSEPORT_EBPF             = 0x34\n\tSO_BINDTODEVICE                      = 0x19\n\tSO_BPF_EXTENSIONS                    = 0x30\n\tSO_BROADCAST                         = 0x6\n\tSO_BSDCOMPAT                         = 0xe\n\tSO_BUSY_POLL                         = 0x2e\n\tSO_CNX_ADVICE                        = 0x35\n\tSO_COOKIE                            = 0x39\n\tSO_DEBUG                             = 0x1\n\tSO_DETACH_BPF                        = 0x1b\n\tSO_DETACH_FILTER                     = 0x1b\n\tSO_DOMAIN                            = 0x27\n\tSO_DONTROUTE                         = 0x5\n\tSO_ERROR                             = 0x4\n\tSO_GET_FILTER                        = 0x1a\n\tSO_INCOMING_CPU                      = 0x31\n\tSO_INCOMING_NAPI_ID                  = 0x38\n\tSO_KEEPALIVE                         = 0x9\n\tSO_LINGER                            = 0xd\n\tSO_LOCK_FILTER                       = 0x2c\n\tSO_MARK                              = 0x24\n\tSO_MAX_PACING_RATE                   = 0x2f\n\tSO_MEMINFO                           = 0x37\n\tSO_NOFCS                             = 0x2b\n\tSO_NO_CHECK                          = 0xb\n\tSO_OOBINLINE                         = 0xa\n\tSO_PASSCRED                          = 0x10\n\tSO_PASSSEC                           = 0x22\n\tSO_PEEK_OFF                          = 0x2a\n\tSO_PEERCRED                          = 0x11\n\tSO_PEERGROUPS                        = 0x3b\n\tSO_PEERNAME                          = 0x1c\n\tSO_PEERSEC                           = 0x1f\n\tSO_PRIORITY                          = 0xc\n\tSO_PROTOCOL                          = 0x26\n\tSO_RCVBUF                            = 0x8\n\tSO_RCVBUFFORCE                       = 0x21\n\tSO_RCVLOWAT                          = 0x12\n\tSO_RCVTIMEO                          = 0x14\n\tSO_REUSEADDR                         = 0x2\n\tSO_REUSEPORT                         = 0xf\n\tSO_RXQ_OVFL                          = 0x28\n\tSO_SECURITY_AUTHENTICATION           = 0x16\n\tSO_SECURITY_ENCRYPTION_NETWORK       = 0x18\n\tSO_SECURITY_ENCRYPTION_TRANSPORT     = 0x17\n\tSO_SELECT_ERR_QUEUE                  = 0x2d\n\tSO_SNDBUF                            = 0x7\n\tSO_SNDBUFFORCE                       = 0x20\n\tSO_SNDLOWAT                          = 0x13\n\tSO_SNDTIMEO                          = 0x15\n\tSO_TIMESTAMP                         = 0x1d\n\tSO_TIMESTAMPING                      = 0x25\n\tSO_TIMESTAMPNS                       = 0x23\n\tSO_TYPE                              = 0x3\n\tSO_VM_SOCKETS_BUFFER_MAX_SIZE        = 0x2\n\tSO_VM_SOCKETS_BUFFER_MIN_SIZE        = 0x1\n\tSO_VM_SOCKETS_BUFFER_SIZE            = 0x0\n\tSO_VM_SOCKETS_CONNECT_TIMEOUT        = 0x6\n\tSO_VM_SOCKETS_NONBLOCK_TXRX          = 0x7\n\tSO_VM_SOCKETS_PEER_HOST_VM_ID        = 0x3\n\tSO_VM_SOCKETS_TRUSTED                = 0x5\n\tSO_WIFI_STATUS                       = 0x29\n\tSO_ZEROCOPY                          = 0x3c\n\tSPLICE_F_GIFT                        = 0x8\n\tSPLICE_F_MORE                        = 0x4\n\tSPLICE_F_MOVE                        = 0x1\n\tSPLICE_F_NONBLOCK                    = 0x2\n\tSQUASHFS_MAGIC                       = 0x73717368\n\tSTACK_END_MAGIC                      = 0x57ac6e9d\n\tSTATX_ALL                            = 0xfff\n\tSTATX_ATIME                          = 0x20\n\tSTATX_ATTR_APPEND                    = 0x20\n\tSTATX_ATTR_AUTOMOUNT                 = 0x1000\n\tSTATX_ATTR_COMPRESSED                = 0x4\n\tSTATX_ATTR_ENCRYPTED                 = 0x800\n\tSTATX_ATTR_IMMUTABLE                 = 0x10\n\tSTATX_ATTR_NODUMP                    = 0x40\n\tSTATX_BASIC_STATS                    = 0x7ff\n\tSTATX_BLOCKS                         = 0x400\n\tSTATX_BTIME                          = 0x800\n\tSTATX_CTIME                          = 0x80\n\tSTATX_GID                            = 0x10\n\tSTATX_INO                            = 0x100\n\tSTATX_MODE                           = 0x2\n\tSTATX_MTIME                          = 0x40\n\tSTATX_NLINK                          = 0x4\n\tSTATX_SIZE                           = 0x200\n\tSTATX_TYPE                           = 0x1\n\tSTATX_UID                            = 0x8\n\tSTATX__RESERVED                      = 0x80000000\n\tSYSFS_MAGIC                          = 0x62656572\n\tS_BLKSIZE                            = 0x200\n\tS_IEXEC                              = 0x40\n\tS_IFBLK                              = 0x6000\n\tS_IFCHR                              = 0x2000\n\tS_IFDIR                              = 0x4000\n\tS_IFIFO                              = 0x1000\n\tS_IFLNK                              = 0xa000\n\tS_IFMT                               = 0xf000\n\tS_IFREG                              = 0x8000\n\tS_IFSOCK                             = 0xc000\n\tS_IREAD                              = 0x100\n\tS_IRGRP                              = 0x20\n\tS_IROTH                              = 0x4\n\tS_IRUSR                              = 0x100\n\tS_IRWXG                              = 0x38\n\tS_IRWXO                              = 0x7\n\tS_IRWXU                              = 0x1c0\n\tS_ISGID                              = 0x400\n\tS_ISUID                              = 0x800\n\tS_ISVTX                              = 0x200\n\tS_IWGRP                              = 0x10\n\tS_IWOTH                              = 0x2\n\tS_IWRITE                             = 0x80\n\tS_IWUSR                              = 0x80\n\tS_IXGRP                              = 0x8\n\tS_IXOTH                              = 0x1\n\tS_IXUSR                              = 0x40\n\tTAB0                                 = 0x0\n\tTAB1                                 = 0x800\n\tTAB2                                 = 0x1000\n\tTAB3                                 = 0x1800\n\tTABDLY                               = 0x1800\n\tTASKSTATS_CMD_ATTR_MAX               = 0x4\n\tTASKSTATS_CMD_MAX                    = 0x2\n\tTASKSTATS_GENL_NAME                  = \"TASKSTATS\"\n\tTASKSTATS_GENL_VERSION               = 0x1\n\tTASKSTATS_TYPE_MAX                   = 0x6\n\tTASKSTATS_VERSION                    = 0x8\n\tTCFLSH                               = 0x540b\n\tTCGETA                               = 0x5405\n\tTCGETS                               = 0x5401\n\tTCGETS2                              = 0x802c542a\n\tTCGETX                               = 0x5432\n\tTCIFLUSH                             = 0x0\n\tTCIOFF                               = 0x2\n\tTCIOFLUSH                            = 0x2\n\tTCION                                = 0x3\n\tTCOFLUSH                             = 0x1\n\tTCOOFF                               = 0x0\n\tTCOON                                = 0x1\n\tTCP_CC_INFO                          = 0x1a\n\tTCP_CONGESTION                       = 0xd\n\tTCP_COOKIE_IN_ALWAYS                 = 0x1\n\tTCP_COOKIE_MAX                       = 0x10\n\tTCP_COOKIE_MIN                       = 0x8\n\tTCP_COOKIE_OUT_NEVER                 = 0x2\n\tTCP_COOKIE_PAIR_SIZE                 = 0x20\n\tTCP_COOKIE_TRANSACTIONS              = 0xf\n\tTCP_CORK                             = 0x3\n\tTCP_DEFER_ACCEPT                     = 0x9\n\tTCP_FASTOPEN                         = 0x17\n\tTCP_FASTOPEN_CONNECT                 = 0x1e\n\tTCP_FASTOPEN_KEY                     = 0x21\n\tTCP_FASTOPEN_NO_COOKIE               = 0x22\n\tTCP_INFO                             = 0xb\n\tTCP_KEEPCNT                          = 0x6\n\tTCP_KEEPIDLE                         = 0x4\n\tTCP_KEEPINTVL                        = 0x5\n\tTCP_LINGER2                          = 0x8\n\tTCP_MAXSEG                           = 0x2\n\tTCP_MAXWIN                           = 0xffff\n\tTCP_MAX_WINSHIFT                     = 0xe\n\tTCP_MD5SIG                           = 0xe\n\tTCP_MD5SIG_EXT                       = 0x20\n\tTCP_MD5SIG_FLAG_PREFIX               = 0x1\n\tTCP_MD5SIG_MAXKEYLEN                 = 0x50\n\tTCP_MSS                              = 0x200\n\tTCP_MSS_DEFAULT                      = 0x218\n\tTCP_MSS_DESIRED                      = 0x4c4\n\tTCP_NODELAY                          = 0x1\n\tTCP_NOTSENT_LOWAT                    = 0x19\n\tTCP_QUEUE_SEQ                        = 0x15\n\tTCP_QUICKACK                         = 0xc\n\tTCP_REPAIR                           = 0x13\n\tTCP_REPAIR_OPTIONS                   = 0x16\n\tTCP_REPAIR_QUEUE                     = 0x14\n\tTCP_REPAIR_WINDOW                    = 0x1d\n\tTCP_SAVED_SYN                        = 0x1c\n\tTCP_SAVE_SYN                         = 0x1b\n\tTCP_SYNCNT                           = 0x7\n\tTCP_S_DATA_IN                        = 0x4\n\tTCP_S_DATA_OUT                       = 0x8\n\tTCP_THIN_DUPACK                      = 0x11\n\tTCP_THIN_LINEAR_TIMEOUTS             = 0x10\n\tTCP_TIMESTAMP                        = 0x18\n\tTCP_ULP                              = 0x1f\n\tTCP_USER_TIMEOUT                     = 0x12\n\tTCP_WINDOW_CLAMP                     = 0xa\n\tTCSAFLUSH                            = 0x2\n\tTCSBRK                               = 0x5409\n\tTCSBRKP                              = 0x5425\n\tTCSETA                               = 0x5406\n\tTCSETAF                              = 0x5408\n\tTCSETAW                              = 0x5407\n\tTCSETS                               = 0x5402\n\tTCSETS2                              = 0x402c542b\n\tTCSETSF                              = 0x5404\n\tTCSETSF2                             = 0x402c542d\n\tTCSETSW                              = 0x5403\n\tTCSETSW2                             = 0x402c542c\n\tTCSETX                               = 0x5433\n\tTCSETXF                              = 0x5434\n\tTCSETXW                              = 0x5435\n\tTCXONC                               = 0x540a\n\tTIOCCBRK                             = 0x5428\n\tTIOCCONS                             = 0x541d\n\tTIOCEXCL                             = 0x540c\n\tTIOCGDEV                             = 0x80045432\n\tTIOCGETD                             = 0x5424\n\tTIOCGEXCL                            = 0x80045440\n\tTIOCGICOUNT                          = 0x545d\n\tTIOCGLCKTRMIOS                       = 0x5456\n\tTIOCGPGRP                            = 0x540f\n\tTIOCGPKT                             = 0x80045438\n\tTIOCGPTLCK                           = 0x80045439\n\tTIOCGPTN                             = 0x80045430\n\tTIOCGPTPEER                          = 0x5441\n\tTIOCGRS485                           = 0x542e\n\tTIOCGSERIAL                          = 0x541e\n\tTIOCGSID                             = 0x5429\n\tTIOCGSOFTCAR                         = 0x5419\n\tTIOCGWINSZ                           = 0x5413\n\tTIOCINQ                              = 0x541b\n\tTIOCLINUX                            = 0x541c\n\tTIOCMBIC                             = 0x5417\n\tTIOCMBIS                             = 0x5416\n\tTIOCMGET                             = 0x5415\n\tTIOCMIWAIT                           = 0x545c\n\tTIOCMSET                             = 0x5418\n\tTIOCM_CAR                            = 0x40\n\tTIOCM_CD                             = 0x40\n\tTIOCM_CTS                            = 0x20\n\tTIOCM_DSR                            = 0x100\n\tTIOCM_DTR                            = 0x2\n\tTIOCM_LE                             = 0x1\n\tTIOCM_RI                             = 0x80\n\tTIOCM_RNG                            = 0x80\n\tTIOCM_RTS                            = 0x4\n\tTIOCM_SR                             = 0x10\n\tTIOCM_ST                             = 0x8\n\tTIOCNOTTY                            = 0x5422\n\tTIOCNXCL                             = 0x540d\n\tTIOCOUTQ                             = 0x5411\n\tTIOCPKT                              = 0x5420\n\tTIOCPKT_DATA                         = 0x0\n\tTIOCPKT_DOSTOP                       = 0x20\n\tTIOCPKT_FLUSHREAD                    = 0x1\n\tTIOCPKT_FLUSHWRITE                   = 0x2\n\tTIOCPKT_IOCTL                        = 0x40\n\tTIOCPKT_NOSTOP                       = 0x10\n\tTIOCPKT_START                        = 0x8\n\tTIOCPKT_STOP                         = 0x4\n\tTIOCSBRK                             = 0x5427\n\tTIOCSCTTY                            = 0x540e\n\tTIOCSERCONFIG                        = 0x5453\n\tTIOCSERGETLSR                        = 0x5459\n\tTIOCSERGETMULTI                      = 0x545a\n\tTIOCSERGSTRUCT                       = 0x5458\n\tTIOCSERGWILD                         = 0x5454\n\tTIOCSERSETMULTI                      = 0x545b\n\tTIOCSERSWILD                         = 0x5455\n\tTIOCSER_TEMT                         = 0x1\n\tTIOCSETD                             = 0x5423\n\tTIOCSIG                              = 0x40045436\n\tTIOCSLCKTRMIOS                       = 0x5457\n\tTIOCSPGRP                            = 0x5410\n\tTIOCSPTLCK                           = 0x40045431\n\tTIOCSRS485                           = 0x542f\n\tTIOCSSERIAL                          = 0x541f\n\tTIOCSSOFTCAR                         = 0x541a\n\tTIOCSTI                              = 0x5412\n\tTIOCSWINSZ                           = 0x5414\n\tTIOCVHANGUP                          = 0x5437\n\tTMPFS_MAGIC                          = 0x1021994\n\tTOSTOP                               = 0x100\n\tTPACKET_ALIGNMENT                    = 0x10\n\tTPACKET_HDRLEN                       = 0x34\n\tTP_STATUS_AVAILABLE                  = 0x0\n\tTP_STATUS_BLK_TMO                    = 0x20\n\tTP_STATUS_COPY                       = 0x2\n\tTP_STATUS_CSUMNOTREADY               = 0x8\n\tTP_STATUS_CSUM_VALID                 = 0x80\n\tTP_STATUS_KERNEL                     = 0x0\n\tTP_STATUS_LOSING                     = 0x4\n\tTP_STATUS_SENDING                    = 0x2\n\tTP_STATUS_SEND_REQUEST               = 0x1\n\tTP_STATUS_TS_RAW_HARDWARE            = -0x80000000\n\tTP_STATUS_TS_SOFTWARE                = 0x20000000\n\tTP_STATUS_TS_SYS_HARDWARE            = 0x40000000\n\tTP_STATUS_USER                       = 0x1\n\tTP_STATUS_VLAN_TPID_VALID            = 0x40\n\tTP_STATUS_VLAN_VALID                 = 0x10\n\tTP_STATUS_WRONG_FORMAT               = 0x4\n\tTRACEFS_MAGIC                        = 0x74726163\n\tTS_COMM_LEN                          = 0x20\n\tTUNATTACHFILTER                      = 0x401054d5\n\tTUNDETACHFILTER                      = 0x401054d6\n\tTUNGETFEATURES                       = 0x800454cf\n\tTUNGETFILTER                         = 0x801054db\n\tTUNGETIFF                            = 0x800454d2\n\tTUNGETSNDBUF                         = 0x800454d3\n\tTUNGETVNETBE                         = 0x800454df\n\tTUNGETVNETHDRSZ                      = 0x800454d7\n\tTUNGETVNETLE                         = 0x800454dd\n\tTUNSETDEBUG                          = 0x400454c9\n\tTUNSETFILTEREBPF                     = 0x800454e1\n\tTUNSETGROUP                          = 0x400454ce\n\tTUNSETIFF                            = 0x400454ca\n\tTUNSETIFINDEX                        = 0x400454da\n\tTUNSETLINK                           = 0x400454cd\n\tTUNSETNOCSUM                         = 0x400454c8\n\tTUNSETOFFLOAD                        = 0x400454d0\n\tTUNSETOWNER                          = 0x400454cc\n\tTUNSETPERSIST                        = 0x400454cb\n\tTUNSETQUEUE                          = 0x400454d9\n\tTUNSETSNDBUF                         = 0x400454d4\n\tTUNSETSTEERINGEBPF                   = 0x800454e0\n\tTUNSETTXFILTER                       = 0x400454d1\n\tTUNSETVNETBE                         = 0x400454de\n\tTUNSETVNETHDRSZ                      = 0x400454d8\n\tTUNSETVNETLE                         = 0x400454dc\n\tUDF_SUPER_MAGIC                      = 0x15013346\n\tUMOUNT_NOFOLLOW                      = 0x8\n\tUSBDEVICE_SUPER_MAGIC                = 0x9fa2\n\tUTIME_NOW                            = 0x3fffffff\n\tUTIME_OMIT                           = 0x3ffffffe\n\tV9FS_MAGIC                           = 0x1021997\n\tVDISCARD                             = 0xd\n\tVEOF                                 = 0x4\n\tVEOL                                 = 0xb\n\tVEOL2                                = 0x10\n\tVERASE                               = 0x2\n\tVINTR                                = 0x0\n\tVKILL                                = 0x3\n\tVLNEXT                               = 0xf\n\tVMADDR_CID_ANY                       = 0xffffffff\n\tVMADDR_CID_HOST                      = 0x2\n\tVMADDR_CID_HYPERVISOR                = 0x0\n\tVMADDR_CID_RESERVED                  = 0x1\n\tVMADDR_PORT_ANY                      = 0xffffffff\n\tVMIN                                 = 0x6\n\tVM_SOCKETS_INVALID_VERSION           = 0xffffffff\n\tVQUIT                                = 0x1\n\tVREPRINT                             = 0xc\n\tVSTART                               = 0x8\n\tVSTOP                                = 0x9\n\tVSUSP                                = 0xa\n\tVSWTC                                = 0x7\n\tVT0                                  = 0x0\n\tVT1                                  = 0x4000\n\tVTDLY                                = 0x4000\n\tVTIME                                = 0x5\n\tVWERASE                              = 0xe\n\tWALL                                 = 0x40000000\n\tWCLONE                               = 0x80000000\n\tWCONTINUED                           = 0x8\n\tWDIOC_GETBOOTSTATUS                  = 0x80045702\n\tWDIOC_GETPRETIMEOUT                  = 0x80045709\n\tWDIOC_GETSTATUS                      = 0x80045701\n\tWDIOC_GETSUPPORT                     = 0x80285700\n\tWDIOC_GETTEMP                        = 0x80045703\n\tWDIOC_GETTIMELEFT                    = 0x8004570a\n\tWDIOC_GETTIMEOUT                     = 0x80045707\n\tWDIOC_KEEPALIVE                      = 0x80045705\n\tWDIOC_SETOPTIONS                     = 0x80045704\n\tWDIOC_SETPRETIMEOUT                  = 0xc0045708\n\tWDIOC_SETTIMEOUT                     = 0xc0045706\n\tWEXITED                              = 0x4\n\tWIN_ACKMEDIACHANGE                   = 0xdb\n\tWIN_CHECKPOWERMODE1                  = 0xe5\n\tWIN_CHECKPOWERMODE2                  = 0x98\n\tWIN_DEVICE_RESET                     = 0x8\n\tWIN_DIAGNOSE                         = 0x90\n\tWIN_DOORLOCK                         = 0xde\n\tWIN_DOORUNLOCK                       = 0xdf\n\tWIN_DOWNLOAD_MICROCODE               = 0x92\n\tWIN_FLUSH_CACHE                      = 0xe7\n\tWIN_FLUSH_CACHE_EXT                  = 0xea\n\tWIN_FORMAT                           = 0x50\n\tWIN_GETMEDIASTATUS                   = 0xda\n\tWIN_IDENTIFY                         = 0xec\n\tWIN_IDENTIFY_DMA                     = 0xee\n\tWIN_IDLEIMMEDIATE                    = 0xe1\n\tWIN_INIT                             = 0x60\n\tWIN_MEDIAEJECT                       = 0xed\n\tWIN_MULTREAD                         = 0xc4\n\tWIN_MULTREAD_EXT                     = 0x29\n\tWIN_MULTWRITE                        = 0xc5\n\tWIN_MULTWRITE_EXT                    = 0x39\n\tWIN_NOP                              = 0x0\n\tWIN_PACKETCMD                        = 0xa0\n\tWIN_PIDENTIFY                        = 0xa1\n\tWIN_POSTBOOT                         = 0xdc\n\tWIN_PREBOOT                          = 0xdd\n\tWIN_QUEUED_SERVICE                   = 0xa2\n\tWIN_READ                             = 0x20\n\tWIN_READDMA                          = 0xc8\n\tWIN_READDMA_EXT                      = 0x25\n\tWIN_READDMA_ONCE                     = 0xc9\n\tWIN_READDMA_QUEUED                   = 0xc7\n\tWIN_READDMA_QUEUED_EXT               = 0x26\n\tWIN_READ_BUFFER                      = 0xe4\n\tWIN_READ_EXT                         = 0x24\n\tWIN_READ_LONG                        = 0x22\n\tWIN_READ_LONG_ONCE                   = 0x23\n\tWIN_READ_NATIVE_MAX                  = 0xf8\n\tWIN_READ_NATIVE_MAX_EXT              = 0x27\n\tWIN_READ_ONCE                        = 0x21\n\tWIN_RECAL                            = 0x10\n\tWIN_RESTORE                          = 0x10\n\tWIN_SECURITY_DISABLE                 = 0xf6\n\tWIN_SECURITY_ERASE_PREPARE           = 0xf3\n\tWIN_SECURITY_ERASE_UNIT              = 0xf4\n\tWIN_SECURITY_FREEZE_LOCK             = 0xf5\n\tWIN_SECURITY_SET_PASS                = 0xf1\n\tWIN_SECURITY_UNLOCK                  = 0xf2\n\tWIN_SEEK                             = 0x70\n\tWIN_SETFEATURES                      = 0xef\n\tWIN_SETIDLE1                         = 0xe3\n\tWIN_SETIDLE2                         = 0x97\n\tWIN_SETMULT                          = 0xc6\n\tWIN_SET_MAX                          = 0xf9\n\tWIN_SET_MAX_EXT                      = 0x37\n\tWIN_SLEEPNOW1                        = 0xe6\n\tWIN_SLEEPNOW2                        = 0x99\n\tWIN_SMART                            = 0xb0\n\tWIN_SPECIFY                          = 0x91\n\tWIN_SRST                             = 0x8\n\tWIN_STANDBY                          = 0xe2\n\tWIN_STANDBY2                         = 0x96\n\tWIN_STANDBYNOW1                      = 0xe0\n\tWIN_STANDBYNOW2                      = 0x94\n\tWIN_VERIFY                           = 0x40\n\tWIN_VERIFY_EXT                       = 0x42\n\tWIN_VERIFY_ONCE                      = 0x41\n\tWIN_WRITE                            = 0x30\n\tWIN_WRITEDMA                         = 0xca\n\tWIN_WRITEDMA_EXT                     = 0x35\n\tWIN_WRITEDMA_ONCE                    = 0xcb\n\tWIN_WRITEDMA_QUEUED                  = 0xcc\n\tWIN_WRITEDMA_QUEUED_EXT              = 0x36\n\tWIN_WRITE_BUFFER                     = 0xe8\n\tWIN_WRITE_EXT                        = 0x34\n\tWIN_WRITE_LONG                       = 0x32\n\tWIN_WRITE_LONG_ONCE                  = 0x33\n\tWIN_WRITE_ONCE                       = 0x31\n\tWIN_WRITE_SAME                       = 0xe9\n\tWIN_WRITE_VERIFY                     = 0x3c\n\tWNOHANG                              = 0x1\n\tWNOTHREAD                            = 0x20000000\n\tWNOWAIT                              = 0x1000000\n\tWORDSIZE                             = 0x40\n\tWSTOPPED                             = 0x2\n\tWUNTRACED                            = 0x2\n\tXATTR_CREATE                         = 0x1\n\tXATTR_REPLACE                        = 0x2\n\tXCASE                                = 0x4\n\tXENFS_SUPER_MAGIC                    = 0xabba1974\n\tXTABS                                = 0x1800\n\tZSMALLOC_MAGIC                       = 0x58295829\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x62)\n\tEADDRNOTAVAIL   = syscall.Errno(0x63)\n\tEADV            = syscall.Errno(0x44)\n\tEAFNOSUPPORT    = syscall.Errno(0x61)\n\tEAGAIN          = syscall.Errno(0xb)\n\tEALREADY        = syscall.Errno(0x72)\n\tEBADE           = syscall.Errno(0x34)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADFD          = syscall.Errno(0x4d)\n\tEBADMSG         = syscall.Errno(0x4a)\n\tEBADR           = syscall.Errno(0x35)\n\tEBADRQC         = syscall.Errno(0x38)\n\tEBADSLT         = syscall.Errno(0x39)\n\tEBFONT          = syscall.Errno(0x3b)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x7d)\n\tECHILD          = syscall.Errno(0xa)\n\tECHRNG          = syscall.Errno(0x2c)\n\tECOMM           = syscall.Errno(0x46)\n\tECONNABORTED    = syscall.Errno(0x67)\n\tECONNREFUSED    = syscall.Errno(0x6f)\n\tECONNRESET      = syscall.Errno(0x68)\n\tEDEADLK         = syscall.Errno(0x23)\n\tEDEADLOCK       = syscall.Errno(0x23)\n\tEDESTADDRREQ    = syscall.Errno(0x59)\n\tEDOM            = syscall.Errno(0x21)\n\tEDOTDOT         = syscall.Errno(0x49)\n\tEDQUOT          = syscall.Errno(0x7a)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEHOSTDOWN       = syscall.Errno(0x70)\n\tEHOSTUNREACH    = syscall.Errno(0x71)\n\tEHWPOISON       = syscall.Errno(0x85)\n\tEIDRM           = syscall.Errno(0x2b)\n\tEILSEQ          = syscall.Errno(0x54)\n\tEINPROGRESS     = syscall.Errno(0x73)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x6a)\n\tEISDIR          = syscall.Errno(0x15)\n\tEISNAM          = syscall.Errno(0x78)\n\tEKEYEXPIRED     = syscall.Errno(0x7f)\n\tEKEYREJECTED    = syscall.Errno(0x81)\n\tEKEYREVOKED     = syscall.Errno(0x80)\n\tEL2HLT          = syscall.Errno(0x33)\n\tEL2NSYNC        = syscall.Errno(0x2d)\n\tEL3HLT          = syscall.Errno(0x2e)\n\tEL3RST          = syscall.Errno(0x2f)\n\tELIBACC         = syscall.Errno(0x4f)\n\tELIBBAD         = syscall.Errno(0x50)\n\tELIBEXEC        = syscall.Errno(0x53)\n\tELIBMAX         = syscall.Errno(0x52)\n\tELIBSCN         = syscall.Errno(0x51)\n\tELNRNG          = syscall.Errno(0x30)\n\tELOOP           = syscall.Errno(0x28)\n\tEMEDIUMTYPE     = syscall.Errno(0x7c)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x5a)\n\tEMULTIHOP       = syscall.Errno(0x48)\n\tENAMETOOLONG    = syscall.Errno(0x24)\n\tENAVAIL         = syscall.Errno(0x77)\n\tENETDOWN        = syscall.Errno(0x64)\n\tENETRESET       = syscall.Errno(0x66)\n\tENETUNREACH     = syscall.Errno(0x65)\n\tENFILE          = syscall.Errno(0x17)\n\tENOANO          = syscall.Errno(0x37)\n\tENOBUFS         = syscall.Errno(0x69)\n\tENOCSI          = syscall.Errno(0x32)\n\tENODATA         = syscall.Errno(0x3d)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOKEY          = syscall.Errno(0x7e)\n\tENOLCK          = syscall.Errno(0x25)\n\tENOLINK         = syscall.Errno(0x43)\n\tENOMEDIUM       = syscall.Errno(0x7b)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x2a)\n\tENONET          = syscall.Errno(0x40)\n\tENOPKG          = syscall.Errno(0x41)\n\tENOPROTOOPT     = syscall.Errno(0x5c)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x3f)\n\tENOSTR          = syscall.Errno(0x3c)\n\tENOSYS          = syscall.Errno(0x26)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x6b)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x27)\n\tENOTNAM         = syscall.Errno(0x76)\n\tENOTRECOVERABLE = syscall.Errno(0x83)\n\tENOTSOCK        = syscall.Errno(0x58)\n\tENOTSUP         = syscall.Errno(0x5f)\n\tENOTTY          = syscall.Errno(0x19)\n\tENOTUNIQ        = syscall.Errno(0x4c)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x5f)\n\tEOVERFLOW       = syscall.Errno(0x4b)\n\tEOWNERDEAD      = syscall.Errno(0x82)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x60)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROTO          = syscall.Errno(0x47)\n\tEPROTONOSUPPORT = syscall.Errno(0x5d)\n\tEPROTOTYPE      = syscall.Errno(0x5b)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMCHG         = syscall.Errno(0x4e)\n\tEREMOTE         = syscall.Errno(0x42)\n\tEREMOTEIO       = syscall.Errno(0x79)\n\tERESTART        = syscall.Errno(0x55)\n\tERFKILL         = syscall.Errno(0x84)\n\tEROFS           = syscall.Errno(0x1e)\n\tESHUTDOWN       = syscall.Errno(0x6c)\n\tESOCKTNOSUPPORT = syscall.Errno(0x5e)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESRMNT          = syscall.Errno(0x45)\n\tESTALE          = syscall.Errno(0x74)\n\tESTRPIPE        = syscall.Errno(0x56)\n\tETIME           = syscall.Errno(0x3e)\n\tETIMEDOUT       = syscall.Errno(0x6e)\n\tETOOMANYREFS    = syscall.Errno(0x6d)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUCLEAN         = syscall.Errno(0x75)\n\tEUNATCH         = syscall.Errno(0x31)\n\tEUSERS          = syscall.Errno(0x57)\n\tEWOULDBLOCK     = syscall.Errno(0xb)\n\tEXDEV           = syscall.Errno(0x12)\n\tEXFULL          = syscall.Errno(0x36)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0x7)\n\tSIGCHLD   = syscall.Signal(0x11)\n\tSIGCLD    = syscall.Signal(0x11)\n\tSIGCONT   = syscall.Signal(0x12)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x1d)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPOLL   = syscall.Signal(0x1d)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGPWR    = syscall.Signal(0x1e)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTKFLT = syscall.Signal(0x10)\n\tSIGSTOP   = syscall.Signal(0x13)\n\tSIGSYS    = syscall.Signal(0x1f)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x14)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x17)\n\tSIGUSR1   = syscall.Signal(0xa)\n\tSIGUSR2   = syscall.Signal(0xc)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errorList = [...]struct {\n\tnum  syscall.Errno\n\tname string\n\tdesc string\n}{\n\t{1, \"EPERM\", \"operation not permitted\"},\n\t{2, \"ENOENT\", \"no such file or directory\"},\n\t{3, \"ESRCH\", \"no such process\"},\n\t{4, \"EINTR\", \"interrupted system call\"},\n\t{5, \"EIO\", \"input/output error\"},\n\t{6, \"ENXIO\", \"no such device or address\"},\n\t{7, \"E2BIG\", \"argument list too long\"},\n\t{8, \"ENOEXEC\", \"exec format error\"},\n\t{9, \"EBADF\", \"bad file descriptor\"},\n\t{10, \"ECHILD\", \"no child processes\"},\n\t{11, \"EAGAIN\", \"resource temporarily unavailable\"},\n\t{12, \"ENOMEM\", \"cannot allocate memory\"},\n\t{13, \"EACCES\", \"permission denied\"},\n\t{14, \"EFAULT\", \"bad address\"},\n\t{15, \"ENOTBLK\", \"block device required\"},\n\t{16, \"EBUSY\", \"device or resource busy\"},\n\t{17, \"EEXIST\", \"file exists\"},\n\t{18, \"EXDEV\", \"invalid cross-device link\"},\n\t{19, \"ENODEV\", \"no such device\"},\n\t{20, \"ENOTDIR\", \"not a directory\"},\n\t{21, \"EISDIR\", \"is a directory\"},\n\t{22, \"EINVAL\", \"invalid argument\"},\n\t{23, \"ENFILE\", \"too many open files in system\"},\n\t{24, \"EMFILE\", \"too many open files\"},\n\t{25, \"ENOTTY\", \"inappropriate ioctl for device\"},\n\t{26, \"ETXTBSY\", \"text file busy\"},\n\t{27, \"EFBIG\", \"file too large\"},\n\t{28, \"ENOSPC\", \"no space left on device\"},\n\t{29, \"ESPIPE\", \"illegal seek\"},\n\t{30, \"EROFS\", \"read-only file system\"},\n\t{31, \"EMLINK\", \"too many links\"},\n\t{32, \"EPIPE\", \"broken pipe\"},\n\t{33, \"EDOM\", \"numerical argument out of domain\"},\n\t{34, \"ERANGE\", \"numerical result out of range\"},\n\t{35, \"EDEADLK\", \"resource deadlock avoided\"},\n\t{36, \"ENAMETOOLONG\", \"file name too long\"},\n\t{37, \"ENOLCK\", \"no locks available\"},\n\t{38, \"ENOSYS\", \"function not implemented\"},\n\t{39, \"ENOTEMPTY\", \"directory not empty\"},\n\t{40, \"ELOOP\", \"too many levels of symbolic links\"},\n\t{42, \"ENOMSG\", \"no message of desired type\"},\n\t{43, \"EIDRM\", \"identifier removed\"},\n\t{44, \"ECHRNG\", \"channel number out of range\"},\n\t{45, \"EL2NSYNC\", \"level 2 not synchronized\"},\n\t{46, \"EL3HLT\", \"level 3 halted\"},\n\t{47, \"EL3RST\", \"level 3 reset\"},\n\t{48, \"ELNRNG\", \"link number out of range\"},\n\t{49, \"EUNATCH\", \"protocol driver not attached\"},\n\t{50, \"ENOCSI\", \"no CSI structure available\"},\n\t{51, \"EL2HLT\", \"level 2 halted\"},\n\t{52, \"EBADE\", \"invalid exchange\"},\n\t{53, \"EBADR\", \"invalid request descriptor\"},\n\t{54, \"EXFULL\", \"exchange full\"},\n\t{55, \"ENOANO\", \"no anode\"},\n\t{56, \"EBADRQC\", \"invalid request code\"},\n\t{57, \"EBADSLT\", \"invalid slot\"},\n\t{59, \"EBFONT\", \"bad font file format\"},\n\t{60, \"ENOSTR\", \"device not a stream\"},\n\t{61, \"ENODATA\", \"no data available\"},\n\t{62, \"ETIME\", \"timer expired\"},\n\t{63, \"ENOSR\", \"out of streams resources\"},\n\t{64, \"ENONET\", \"machine is not on the network\"},\n\t{65, \"ENOPKG\", \"package not installed\"},\n\t{66, \"EREMOTE\", \"object is remote\"},\n\t{67, \"ENOLINK\", \"link has been severed\"},\n\t{68, \"EADV\", \"advertise error\"},\n\t{69, \"ESRMNT\", \"srmount error\"},\n\t{70, \"ECOMM\", \"communication error on send\"},\n\t{71, \"EPROTO\", \"protocol error\"},\n\t{72, \"EMULTIHOP\", \"multihop attempted\"},\n\t{73, \"EDOTDOT\", \"RFS specific error\"},\n\t{74, \"EBADMSG\", \"bad message\"},\n\t{75, \"EOVERFLOW\", \"value too large for defined data type\"},\n\t{76, \"ENOTUNIQ\", \"name not unique on network\"},\n\t{77, \"EBADFD\", \"file descriptor in bad state\"},\n\t{78, \"EREMCHG\", \"remote address changed\"},\n\t{79, \"ELIBACC\", \"can not access a needed shared library\"},\n\t{80, \"ELIBBAD\", \"accessing a corrupted shared library\"},\n\t{81, \"ELIBSCN\", \".lib section in a.out corrupted\"},\n\t{82, \"ELIBMAX\", \"attempting to link in too many shared libraries\"},\n\t{83, \"ELIBEXEC\", \"cannot exec a shared library directly\"},\n\t{84, \"EILSEQ\", \"invalid or incomplete multibyte or wide character\"},\n\t{85, \"ERESTART\", \"interrupted system call should be restarted\"},\n\t{86, \"ESTRPIPE\", \"streams pipe error\"},\n\t{87, \"EUSERS\", \"too many users\"},\n\t{88, \"ENOTSOCK\", \"socket operation on non-socket\"},\n\t{89, \"EDESTADDRREQ\", \"destination address required\"},\n\t{90, \"EMSGSIZE\", \"message too long\"},\n\t{91, \"EPROTOTYPE\", \"protocol wrong type for socket\"},\n\t{92, \"ENOPROTOOPT\", \"protocol not available\"},\n\t{93, \"EPROTONOSUPPORT\", \"protocol not supported\"},\n\t{94, \"ESOCKTNOSUPPORT\", \"socket type not supported\"},\n\t{95, \"ENOTSUP\", \"operation not supported\"},\n\t{96, \"EPFNOSUPPORT\", \"protocol family not supported\"},\n\t{97, \"EAFNOSUPPORT\", \"address family not supported by protocol\"},\n\t{98, \"EADDRINUSE\", \"address already in use\"},\n\t{99, \"EADDRNOTAVAIL\", \"cannot assign requested address\"},\n\t{100, \"ENETDOWN\", \"network is down\"},\n\t{101, \"ENETUNREACH\", \"network is unreachable\"},\n\t{102, \"ENETRESET\", \"network dropped connection on reset\"},\n\t{103, \"ECONNABORTED\", \"software caused connection abort\"},\n\t{104, \"ECONNRESET\", \"connection reset by peer\"},\n\t{105, \"ENOBUFS\", \"no buffer space available\"},\n\t{106, \"EISCONN\", \"transport endpoint is already connected\"},\n\t{107, \"ENOTCONN\", \"transport endpoint is not connected\"},\n\t{108, \"ESHUTDOWN\", \"cannot send after transport endpoint shutdown\"},\n\t{109, \"ETOOMANYREFS\", \"too many references: cannot splice\"},\n\t{110, \"ETIMEDOUT\", \"connection timed out\"},\n\t{111, \"ECONNREFUSED\", \"connection refused\"},\n\t{112, \"EHOSTDOWN\", \"host is down\"},\n\t{113, \"EHOSTUNREACH\", \"no route to host\"},\n\t{114, \"EALREADY\", \"operation already in progress\"},\n\t{115, \"EINPROGRESS\", \"operation now in progress\"},\n\t{116, \"ESTALE\", \"stale file handle\"},\n\t{117, \"EUCLEAN\", \"structure needs cleaning\"},\n\t{118, \"ENOTNAM\", \"not a XENIX named type file\"},\n\t{119, \"ENAVAIL\", \"no XENIX semaphores available\"},\n\t{120, \"EISNAM\", \"is a named type file\"},\n\t{121, \"EREMOTEIO\", \"remote I/O error\"},\n\t{122, \"EDQUOT\", \"disk quota exceeded\"},\n\t{123, \"ENOMEDIUM\", \"no medium found\"},\n\t{124, \"EMEDIUMTYPE\", \"wrong medium type\"},\n\t{125, \"ECANCELED\", \"operation canceled\"},\n\t{126, \"ENOKEY\", \"required key not available\"},\n\t{127, \"EKEYEXPIRED\", \"key has expired\"},\n\t{128, \"EKEYREVOKED\", \"key has been revoked\"},\n\t{129, \"EKEYREJECTED\", \"key was rejected by service\"},\n\t{130, \"EOWNERDEAD\", \"owner died\"},\n\t{131, \"ENOTRECOVERABLE\", \"state not recoverable\"},\n\t{132, \"ERFKILL\", \"operation not possible due to RF-kill\"},\n\t{133, \"EHWPOISON\", \"memory page has hardware error\"},\n}\n\n// Signal table\nvar signalList = [...]struct {\n\tnum  syscall.Signal\n\tname string\n\tdesc string\n}{\n\t{1, \"SIGHUP\", \"hangup\"},\n\t{2, \"SIGINT\", \"interrupt\"},\n\t{3, \"SIGQUIT\", \"quit\"},\n\t{4, \"SIGILL\", \"illegal instruction\"},\n\t{5, \"SIGTRAP\", \"trace/breakpoint trap\"},\n\t{6, \"SIGABRT\", \"aborted\"},\n\t{7, \"SIGBUS\", \"bus error\"},\n\t{8, \"SIGFPE\", \"floating point exception\"},\n\t{9, \"SIGKILL\", \"killed\"},\n\t{10, \"SIGUSR1\", \"user defined signal 1\"},\n\t{11, \"SIGSEGV\", \"segmentation fault\"},\n\t{12, \"SIGUSR2\", \"user defined signal 2\"},\n\t{13, \"SIGPIPE\", \"broken pipe\"},\n\t{14, \"SIGALRM\", \"alarm clock\"},\n\t{15, \"SIGTERM\", \"terminated\"},\n\t{16, \"SIGSTKFLT\", \"stack fault\"},\n\t{17, \"SIGCHLD\", \"child exited\"},\n\t{18, \"SIGCONT\", \"continued\"},\n\t{19, \"SIGSTOP\", \"stopped (signal)\"},\n\t{20, \"SIGTSTP\", \"stopped\"},\n\t{21, \"SIGTTIN\", \"stopped (tty input)\"},\n\t{22, \"SIGTTOU\", \"stopped (tty output)\"},\n\t{23, \"SIGURG\", \"urgent I/O condition\"},\n\t{24, \"SIGXCPU\", \"CPU time limit exceeded\"},\n\t{25, \"SIGXFSZ\", \"file size limit exceeded\"},\n\t{26, \"SIGVTALRM\", \"virtual timer expired\"},\n\t{27, \"SIGPROF\", \"profiling timer expired\"},\n\t{28, \"SIGWINCH\", \"window changed\"},\n\t{29, \"SIGIO\", \"I/O possible\"},\n\t{30, \"SIGPWR\", \"power failure\"},\n\t{31, \"SIGSYS\", \"bad system call\"},\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go",
    "content": "// mkerrors.sh -m64\n// Code generated by the command above; DO NOT EDIT.\n\n// +build sparc64,linux\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -m64 _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_ALG                           = 0x26\n\tAF_APPLETALK                     = 0x5\n\tAF_ASH                           = 0x12\n\tAF_ATMPVC                        = 0x8\n\tAF_ATMSVC                        = 0x14\n\tAF_AX25                          = 0x3\n\tAF_BLUETOOTH                     = 0x1f\n\tAF_BRIDGE                        = 0x7\n\tAF_CAIF                          = 0x25\n\tAF_CAN                           = 0x1d\n\tAF_DECnet                        = 0xc\n\tAF_ECONET                        = 0x13\n\tAF_FILE                          = 0x1\n\tAF_IB                            = 0x1b\n\tAF_IEEE802154                    = 0x24\n\tAF_INET                          = 0x2\n\tAF_INET6                         = 0xa\n\tAF_IPX                           = 0x4\n\tAF_IRDA                          = 0x17\n\tAF_ISDN                          = 0x22\n\tAF_IUCV                          = 0x20\n\tAF_KCM                           = 0x29\n\tAF_KEY                           = 0xf\n\tAF_LLC                           = 0x1a\n\tAF_LOCAL                         = 0x1\n\tAF_MAX                           = 0x2a\n\tAF_MPLS                          = 0x1c\n\tAF_NETBEUI                       = 0xd\n\tAF_NETLINK                       = 0x10\n\tAF_NETROM                        = 0x6\n\tAF_NFC                           = 0x27\n\tAF_PACKET                        = 0x11\n\tAF_PHONET                        = 0x23\n\tAF_PPPOX                         = 0x18\n\tAF_RDS                           = 0x15\n\tAF_ROSE                          = 0xb\n\tAF_ROUTE                         = 0x10\n\tAF_RXRPC                         = 0x21\n\tAF_SECURITY                      = 0xe\n\tAF_SNA                           = 0x16\n\tAF_TIPC                          = 0x1e\n\tAF_UNIX                          = 0x1\n\tAF_UNSPEC                        = 0x0\n\tAF_VSOCK                         = 0x28\n\tAF_WANPIPE                       = 0x19\n\tAF_X25                           = 0x9\n\tALG_OP_DECRYPT                   = 0x0\n\tALG_OP_ENCRYPT                   = 0x1\n\tALG_SET_AEAD_ASSOCLEN            = 0x4\n\tALG_SET_AEAD_AUTHSIZE            = 0x5\n\tALG_SET_IV                       = 0x2\n\tALG_SET_KEY                      = 0x1\n\tALG_SET_OP                       = 0x3\n\tARPHRD_6LOWPAN                   = 0x339\n\tARPHRD_ADAPT                     = 0x108\n\tARPHRD_APPLETLK                  = 0x8\n\tARPHRD_ARCNET                    = 0x7\n\tARPHRD_ASH                       = 0x30d\n\tARPHRD_ATM                       = 0x13\n\tARPHRD_AX25                      = 0x3\n\tARPHRD_BIF                       = 0x307\n\tARPHRD_CAIF                      = 0x336\n\tARPHRD_CAN                       = 0x118\n\tARPHRD_CHAOS                     = 0x5\n\tARPHRD_CISCO                     = 0x201\n\tARPHRD_CSLIP                     = 0x101\n\tARPHRD_CSLIP6                    = 0x103\n\tARPHRD_DDCMP                     = 0x205\n\tARPHRD_DLCI                      = 0xf\n\tARPHRD_ECONET                    = 0x30e\n\tARPHRD_EETHER                    = 0x2\n\tARPHRD_ETHER                     = 0x1\n\tARPHRD_EUI64                     = 0x1b\n\tARPHRD_FCAL                      = 0x311\n\tARPHRD_FCFABRIC                  = 0x313\n\tARPHRD_FCPL                      = 0x312\n\tARPHRD_FCPP                      = 0x310\n\tARPHRD_FDDI                      = 0x306\n\tARPHRD_FRAD                      = 0x302\n\tARPHRD_HDLC                      = 0x201\n\tARPHRD_HIPPI                     = 0x30c\n\tARPHRD_HWX25                     = 0x110\n\tARPHRD_IEEE1394                  = 0x18\n\tARPHRD_IEEE802                   = 0x6\n\tARPHRD_IEEE80211                 = 0x321\n\tARPHRD_IEEE80211_PRISM           = 0x322\n\tARPHRD_IEEE80211_RADIOTAP        = 0x323\n\tARPHRD_IEEE802154                = 0x324\n\tARPHRD_IEEE802154_MONITOR        = 0x325\n\tARPHRD_IEEE802_TR                = 0x320\n\tARPHRD_INFINIBAND                = 0x20\n\tARPHRD_IP6GRE                    = 0x337\n\tARPHRD_IPDDP                     = 0x309\n\tARPHRD_IPGRE                     = 0x30a\n\tARPHRD_IRDA                      = 0x30f\n\tARPHRD_LAPB                      = 0x204\n\tARPHRD_LOCALTLK                  = 0x305\n\tARPHRD_LOOPBACK                  = 0x304\n\tARPHRD_METRICOM                  = 0x17\n\tARPHRD_NETLINK                   = 0x338\n\tARPHRD_NETROM                    = 0x0\n\tARPHRD_NONE                      = 0xfffe\n\tARPHRD_PHONET                    = 0x334\n\tARPHRD_PHONET_PIPE               = 0x335\n\tARPHRD_PIMREG                    = 0x30b\n\tARPHRD_PPP                       = 0x200\n\tARPHRD_PRONET                    = 0x4\n\tARPHRD_RAWHDLC                   = 0x206\n\tARPHRD_ROSE                      = 0x10e\n\tARPHRD_RSRVD                     = 0x104\n\tARPHRD_SIT                       = 0x308\n\tARPHRD_SKIP                      = 0x303\n\tARPHRD_SLIP                      = 0x100\n\tARPHRD_SLIP6                     = 0x102\n\tARPHRD_TUNNEL                    = 0x300\n\tARPHRD_TUNNEL6                   = 0x301\n\tARPHRD_VOID                      = 0xffff\n\tARPHRD_X25                       = 0x10f\n\tASI_LEON_DFLUSH                  = 0x11\n\tASI_LEON_IFLUSH                  = 0x10\n\tASI_LEON_MMUFLUSH                = 0x18\n\tB0                               = 0x0\n\tB1000000                         = 0x100c\n\tB110                             = 0x3\n\tB115200                          = 0x1002\n\tB1152000                         = 0x100d\n\tB1200                            = 0x9\n\tB134                             = 0x4\n\tB150                             = 0x5\n\tB1500000                         = 0x100e\n\tB153600                          = 0x1006\n\tB1800                            = 0xa\n\tB19200                           = 0xe\n\tB200                             = 0x6\n\tB2000000                         = 0x100f\n\tB230400                          = 0x1003\n\tB2400                            = 0xb\n\tB300                             = 0x7\n\tB307200                          = 0x1007\n\tB38400                           = 0xf\n\tB460800                          = 0x1004\n\tB4800                            = 0xc\n\tB50                              = 0x1\n\tB500000                          = 0x100a\n\tB57600                           = 0x1001\n\tB576000                          = 0x100b\n\tB600                             = 0x8\n\tB614400                          = 0x1008\n\tB75                              = 0x2\n\tB76800                           = 0x1005\n\tB921600                          = 0x1009\n\tB9600                            = 0xd\n\tBLKBSZGET                        = 0x80081270\n\tBLKBSZSET                        = 0x40081271\n\tBLKFLSBUF                        = 0x1261\n\tBLKFRAGET                        = 0x1265\n\tBLKFRASET                        = 0x1264\n\tBLKGETSIZE                       = 0x1260\n\tBLKGETSIZE64                     = 0x80081272\n\tBLKRAGET                         = 0x1263\n\tBLKRASET                         = 0x1262\n\tBLKROGET                         = 0x125e\n\tBLKROSET                         = 0x125d\n\tBLKRRPART                        = 0x125f\n\tBLKSECTGET                       = 0x1267\n\tBLKSECTSET                       = 0x1266\n\tBLKSSZGET                        = 0x1268\n\tBOTHER                           = 0x1000\n\tBPF_A                            = 0x10\n\tBPF_ABS                          = 0x20\n\tBPF_ADD                          = 0x0\n\tBPF_ALU                          = 0x4\n\tBPF_AND                          = 0x50\n\tBPF_B                            = 0x10\n\tBPF_DIV                          = 0x30\n\tBPF_H                            = 0x8\n\tBPF_IMM                          = 0x0\n\tBPF_IND                          = 0x40\n\tBPF_JA                           = 0x0\n\tBPF_JEQ                          = 0x10\n\tBPF_JGE                          = 0x30\n\tBPF_JGT                          = 0x20\n\tBPF_JMP                          = 0x5\n\tBPF_JSET                         = 0x40\n\tBPF_K                            = 0x0\n\tBPF_LD                           = 0x0\n\tBPF_LDX                          = 0x1\n\tBPF_LEN                          = 0x80\n\tBPF_LL_OFF                       = -0x200000\n\tBPF_LSH                          = 0x60\n\tBPF_MAJOR_VERSION                = 0x1\n\tBPF_MAXINSNS                     = 0x1000\n\tBPF_MEM                          = 0x60\n\tBPF_MEMWORDS                     = 0x10\n\tBPF_MINOR_VERSION                = 0x1\n\tBPF_MISC                         = 0x7\n\tBPF_MOD                          = 0x90\n\tBPF_MSH                          = 0xa0\n\tBPF_MUL                          = 0x20\n\tBPF_NEG                          = 0x80\n\tBPF_NET_OFF                      = -0x100000\n\tBPF_OR                           = 0x40\n\tBPF_RET                          = 0x6\n\tBPF_RSH                          = 0x70\n\tBPF_ST                           = 0x2\n\tBPF_STX                          = 0x3\n\tBPF_SUB                          = 0x10\n\tBPF_TAX                          = 0x0\n\tBPF_TXA                          = 0x80\n\tBPF_W                            = 0x0\n\tBPF_X                            = 0x8\n\tBPF_XOR                          = 0xa0\n\tBRKINT                           = 0x2\n\tBS0                              = 0x0\n\tBS1                              = 0x2000\n\tBSDLY                            = 0x2000\n\tCAN_BCM                          = 0x2\n\tCAN_EFF_FLAG                     = 0x80000000\n\tCAN_EFF_ID_BITS                  = 0x1d\n\tCAN_EFF_MASK                     = 0x1fffffff\n\tCAN_ERR_FLAG                     = 0x20000000\n\tCAN_ERR_MASK                     = 0x1fffffff\n\tCAN_INV_FILTER                   = 0x20000000\n\tCAN_ISOTP                        = 0x6\n\tCAN_MAX_DLC                      = 0x8\n\tCAN_MAX_DLEN                     = 0x8\n\tCAN_MCNET                        = 0x5\n\tCAN_MTU                          = 0x10\n\tCAN_NPROTO                       = 0x7\n\tCAN_RAW                          = 0x1\n\tCAN_RTR_FLAG                     = 0x40000000\n\tCAN_SFF_ID_BITS                  = 0xb\n\tCAN_SFF_MASK                     = 0x7ff\n\tCAN_TP16                         = 0x3\n\tCAN_TP20                         = 0x4\n\tCBAUD                            = 0x100f\n\tCBAUDEX                          = 0x1000\n\tCFLUSH                           = 0xf\n\tCIBAUD                           = 0x100f0000\n\tCLOCAL                           = 0x800\n\tCLOCK_BOOTTIME                   = 0x7\n\tCLOCK_BOOTTIME_ALARM             = 0x9\n\tCLOCK_DEFAULT                    = 0x0\n\tCLOCK_EXT                        = 0x1\n\tCLOCK_INT                        = 0x2\n\tCLOCK_MONOTONIC                  = 0x1\n\tCLOCK_MONOTONIC_COARSE           = 0x6\n\tCLOCK_MONOTONIC_RAW              = 0x4\n\tCLOCK_PROCESS_CPUTIME_ID         = 0x2\n\tCLOCK_REALTIME                   = 0x0\n\tCLOCK_REALTIME_ALARM             = 0x8\n\tCLOCK_REALTIME_COARSE            = 0x5\n\tCLOCK_TAI                        = 0xb\n\tCLOCK_THREAD_CPUTIME_ID          = 0x3\n\tCLOCK_TXFROMRX                   = 0x4\n\tCLOCK_TXINT                      = 0x3\n\tCLONE_CHILD_CLEARTID             = 0x200000\n\tCLONE_CHILD_SETTID               = 0x1000000\n\tCLONE_DETACHED                   = 0x400000\n\tCLONE_FILES                      = 0x400\n\tCLONE_FS                         = 0x200\n\tCLONE_IO                         = 0x80000000\n\tCLONE_NEWCGROUP                  = 0x2000000\n\tCLONE_NEWIPC                     = 0x8000000\n\tCLONE_NEWNET                     = 0x40000000\n\tCLONE_NEWNS                      = 0x20000\n\tCLONE_NEWPID                     = 0x20000000\n\tCLONE_NEWUSER                    = 0x10000000\n\tCLONE_NEWUTS                     = 0x4000000\n\tCLONE_PARENT                     = 0x8000\n\tCLONE_PARENT_SETTID              = 0x100000\n\tCLONE_PTRACE                     = 0x2000\n\tCLONE_SETTLS                     = 0x80000\n\tCLONE_SIGHAND                    = 0x800\n\tCLONE_SYSVSEM                    = 0x40000\n\tCLONE_THREAD                     = 0x10000\n\tCLONE_UNTRACED                   = 0x800000\n\tCLONE_VFORK                      = 0x4000\n\tCLONE_VM                         = 0x100\n\tCMSPAR                           = 0x40000000\n\tCR0                              = 0x0\n\tCR1                              = 0x200\n\tCR2                              = 0x400\n\tCR3                              = 0x600\n\tCRDLY                            = 0x600\n\tCREAD                            = 0x80\n\tCRTSCTS                          = 0x80000000\n\tCS5                              = 0x0\n\tCS6                              = 0x10\n\tCS7                              = 0x20\n\tCS8                              = 0x30\n\tCSIGNAL                          = 0xff\n\tCSIZE                            = 0x30\n\tCSTART                           = 0x11\n\tCSTATUS                          = 0x0\n\tCSTOP                            = 0x13\n\tCSTOPB                           = 0x40\n\tCSUSP                            = 0x1a\n\tDT_BLK                           = 0x6\n\tDT_CHR                           = 0x2\n\tDT_DIR                           = 0x4\n\tDT_FIFO                          = 0x1\n\tDT_LNK                           = 0xa\n\tDT_REG                           = 0x8\n\tDT_SOCK                          = 0xc\n\tDT_UNKNOWN                       = 0x0\n\tDT_WHT                           = 0xe\n\tECHO                             = 0x8\n\tECHOCTL                          = 0x200\n\tECHOE                            = 0x10\n\tECHOK                            = 0x20\n\tECHOKE                           = 0x800\n\tECHONL                           = 0x40\n\tECHOPRT                          = 0x400\n\tEMT_TAGOVF                       = 0x1\n\tENCODING_DEFAULT                 = 0x0\n\tENCODING_FM_MARK                 = 0x3\n\tENCODING_FM_SPACE                = 0x4\n\tENCODING_MANCHESTER              = 0x5\n\tENCODING_NRZ                     = 0x1\n\tENCODING_NRZI                    = 0x2\n\tEPOLLERR                         = 0x8\n\tEPOLLET                          = 0x80000000\n\tEPOLLEXCLUSIVE                   = 0x10000000\n\tEPOLLHUP                         = 0x10\n\tEPOLLIN                          = 0x1\n\tEPOLLMSG                         = 0x400\n\tEPOLLONESHOT                     = 0x40000000\n\tEPOLLOUT                         = 0x4\n\tEPOLLPRI                         = 0x2\n\tEPOLLRDBAND                      = 0x80\n\tEPOLLRDHUP                       = 0x2000\n\tEPOLLRDNORM                      = 0x40\n\tEPOLLWAKEUP                      = 0x20000000\n\tEPOLLWRBAND                      = 0x200\n\tEPOLLWRNORM                      = 0x100\n\tEPOLL_CLOEXEC                    = 0x400000\n\tEPOLL_CTL_ADD                    = 0x1\n\tEPOLL_CTL_DEL                    = 0x2\n\tEPOLL_CTL_MOD                    = 0x3\n\tETH_P_1588                       = 0x88f7\n\tETH_P_8021AD                     = 0x88a8\n\tETH_P_8021AH                     = 0x88e7\n\tETH_P_8021Q                      = 0x8100\n\tETH_P_80221                      = 0x8917\n\tETH_P_802_2                      = 0x4\n\tETH_P_802_3                      = 0x1\n\tETH_P_802_3_MIN                  = 0x600\n\tETH_P_802_EX1                    = 0x88b5\n\tETH_P_AARP                       = 0x80f3\n\tETH_P_AF_IUCV                    = 0xfbfb\n\tETH_P_ALL                        = 0x3\n\tETH_P_AOE                        = 0x88a2\n\tETH_P_ARCNET                     = 0x1a\n\tETH_P_ARP                        = 0x806\n\tETH_P_ATALK                      = 0x809b\n\tETH_P_ATMFATE                    = 0x8884\n\tETH_P_ATMMPOA                    = 0x884c\n\tETH_P_AX25                       = 0x2\n\tETH_P_BATMAN                     = 0x4305\n\tETH_P_BPQ                        = 0x8ff\n\tETH_P_CAIF                       = 0xf7\n\tETH_P_CAN                        = 0xc\n\tETH_P_CANFD                      = 0xd\n\tETH_P_CONTROL                    = 0x16\n\tETH_P_CUST                       = 0x6006\n\tETH_P_DDCMP                      = 0x6\n\tETH_P_DEC                        = 0x6000\n\tETH_P_DIAG                       = 0x6005\n\tETH_P_DNA_DL                     = 0x6001\n\tETH_P_DNA_RC                     = 0x6002\n\tETH_P_DNA_RT                     = 0x6003\n\tETH_P_DSA                        = 0x1b\n\tETH_P_ECONET                     = 0x18\n\tETH_P_EDSA                       = 0xdada\n\tETH_P_FCOE                       = 0x8906\n\tETH_P_FIP                        = 0x8914\n\tETH_P_HDLC                       = 0x19\n\tETH_P_HSR                        = 0x892f\n\tETH_P_IEEE802154                 = 0xf6\n\tETH_P_IEEEPUP                    = 0xa00\n\tETH_P_IEEEPUPAT                  = 0xa01\n\tETH_P_IP                         = 0x800\n\tETH_P_IPV6                       = 0x86dd\n\tETH_P_IPX                        = 0x8137\n\tETH_P_IRDA                       = 0x17\n\tETH_P_LAT                        = 0x6004\n\tETH_P_LINK_CTL                   = 0x886c\n\tETH_P_LOCALTALK                  = 0x9\n\tETH_P_LOOP                       = 0x60\n\tETH_P_LOOPBACK                   = 0x9000\n\tETH_P_MACSEC                     = 0x88e5\n\tETH_P_MOBITEX                    = 0x15\n\tETH_P_MPLS_MC                    = 0x8848\n\tETH_P_MPLS_UC                    = 0x8847\n\tETH_P_MVRP                       = 0x88f5\n\tETH_P_PAE                        = 0x888e\n\tETH_P_PAUSE                      = 0x8808\n\tETH_P_PHONET                     = 0xf5\n\tETH_P_PPPTALK                    = 0x10\n\tETH_P_PPP_DISC                   = 0x8863\n\tETH_P_PPP_MP                     = 0x8\n\tETH_P_PPP_SES                    = 0x8864\n\tETH_P_PRP                        = 0x88fb\n\tETH_P_PUP                        = 0x200\n\tETH_P_PUPAT                      = 0x201\n\tETH_P_QINQ1                      = 0x9100\n\tETH_P_QINQ2                      = 0x9200\n\tETH_P_QINQ3                      = 0x9300\n\tETH_P_RARP                       = 0x8035\n\tETH_P_SCA                        = 0x6007\n\tETH_P_SLOW                       = 0x8809\n\tETH_P_SNAP                       = 0x5\n\tETH_P_TDLS                       = 0x890d\n\tETH_P_TEB                        = 0x6558\n\tETH_P_TIPC                       = 0x88ca\n\tETH_P_TRAILER                    = 0x1c\n\tETH_P_TR_802_2                   = 0x11\n\tETH_P_TSN                        = 0x22f0\n\tETH_P_WAN_PPP                    = 0x7\n\tETH_P_WCCP                       = 0x883e\n\tETH_P_X25                        = 0x805\n\tETH_P_XDSA                       = 0xf8\n\tEXTA                             = 0xe\n\tEXTB                             = 0xf\n\tEXTPROC                          = 0x10000\n\tFALLOC_FL_COLLAPSE_RANGE         = 0x8\n\tFALLOC_FL_INSERT_RANGE           = 0x20\n\tFALLOC_FL_KEEP_SIZE              = 0x1\n\tFALLOC_FL_NO_HIDE_STALE          = 0x4\n\tFALLOC_FL_PUNCH_HOLE             = 0x2\n\tFALLOC_FL_ZERO_RANGE             = 0x10\n\tFD_CLOEXEC                       = 0x1\n\tFD_SETSIZE                       = 0x400\n\tFF0                              = 0x0\n\tFF1                              = 0x8000\n\tFFDLY                            = 0x8000\n\tFLUSHO                           = 0x2000\n\tF_DUPFD                          = 0x0\n\tF_DUPFD_CLOEXEC                  = 0x406\n\tF_EXLCK                          = 0x4\n\tF_GETFD                          = 0x1\n\tF_GETFL                          = 0x3\n\tF_GETLEASE                       = 0x401\n\tF_GETLK                          = 0x7\n\tF_GETLK64                        = 0x7\n\tF_GETOWN                         = 0x5\n\tF_GETOWN_EX                      = 0x10\n\tF_GETPIPE_SZ                     = 0x408\n\tF_GETSIG                         = 0xb\n\tF_LOCK                           = 0x1\n\tF_NOTIFY                         = 0x402\n\tF_OFD_GETLK                      = 0x24\n\tF_OFD_SETLK                      = 0x25\n\tF_OFD_SETLKW                     = 0x26\n\tF_OK                             = 0x0\n\tF_RDLCK                          = 0x1\n\tF_SETFD                          = 0x2\n\tF_SETFL                          = 0x4\n\tF_SETLEASE                       = 0x400\n\tF_SETLK                          = 0x8\n\tF_SETLK64                        = 0x8\n\tF_SETLKW                         = 0x9\n\tF_SETLKW64                       = 0x9\n\tF_SETOWN                         = 0x6\n\tF_SETOWN_EX                      = 0xf\n\tF_SETPIPE_SZ                     = 0x407\n\tF_SETSIG                         = 0xa\n\tF_SHLCK                          = 0x8\n\tF_TEST                           = 0x3\n\tF_TLOCK                          = 0x2\n\tF_ULOCK                          = 0x0\n\tF_UNLCK                          = 0x3\n\tF_WRLCK                          = 0x2\n\tGRND_NONBLOCK                    = 0x1\n\tGRND_RANDOM                      = 0x2\n\tHUPCL                            = 0x400\n\tIBSHIFT                          = 0x10\n\tICANON                           = 0x2\n\tICMPV6_FILTER                    = 0x1\n\tICRNL                            = 0x100\n\tIEXTEN                           = 0x8000\n\tIFA_F_DADFAILED                  = 0x8\n\tIFA_F_DEPRECATED                 = 0x20\n\tIFA_F_HOMEADDRESS                = 0x10\n\tIFA_F_MANAGETEMPADDR             = 0x100\n\tIFA_F_MCAUTOJOIN                 = 0x400\n\tIFA_F_NODAD                      = 0x2\n\tIFA_F_NOPREFIXROUTE              = 0x200\n\tIFA_F_OPTIMISTIC                 = 0x4\n\tIFA_F_PERMANENT                  = 0x80\n\tIFA_F_SECONDARY                  = 0x1\n\tIFA_F_STABLE_PRIVACY             = 0x800\n\tIFA_F_TEMPORARY                  = 0x1\n\tIFA_F_TENTATIVE                  = 0x40\n\tIFA_MAX                          = 0x8\n\tIFF_ALLMULTI                     = 0x200\n\tIFF_ATTACH_QUEUE                 = 0x200\n\tIFF_AUTOMEDIA                    = 0x4000\n\tIFF_BROADCAST                    = 0x2\n\tIFF_DEBUG                        = 0x4\n\tIFF_DETACH_QUEUE                 = 0x400\n\tIFF_DORMANT                      = 0x20000\n\tIFF_DYNAMIC                      = 0x8000\n\tIFF_ECHO                         = 0x40000\n\tIFF_LOOPBACK                     = 0x8\n\tIFF_LOWER_UP                     = 0x10000\n\tIFF_MASTER                       = 0x400\n\tIFF_MULTICAST                    = 0x1000\n\tIFF_MULTI_QUEUE                  = 0x100\n\tIFF_NOARP                        = 0x80\n\tIFF_NOFILTER                     = 0x1000\n\tIFF_NOTRAILERS                   = 0x20\n\tIFF_NO_PI                        = 0x1000\n\tIFF_ONE_QUEUE                    = 0x2000\n\tIFF_PERSIST                      = 0x800\n\tIFF_POINTOPOINT                  = 0x10\n\tIFF_PORTSEL                      = 0x2000\n\tIFF_PROMISC                      = 0x100\n\tIFF_RUNNING                      = 0x40\n\tIFF_SLAVE                        = 0x800\n\tIFF_TAP                          = 0x2\n\tIFF_TUN                          = 0x1\n\tIFF_TUN_EXCL                     = 0x8000\n\tIFF_UP                           = 0x1\n\tIFF_VNET_HDR                     = 0x4000\n\tIFF_VOLATILE                     = 0x70c5a\n\tIFNAMSIZ                         = 0x10\n\tIGNBRK                           = 0x1\n\tIGNCR                            = 0x80\n\tIGNPAR                           = 0x4\n\tIMAXBEL                          = 0x2000\n\tINLCR                            = 0x40\n\tINPCK                            = 0x10\n\tIN_ACCESS                        = 0x1\n\tIN_ALL_EVENTS                    = 0xfff\n\tIN_ATTRIB                        = 0x4\n\tIN_CLASSA_HOST                   = 0xffffff\n\tIN_CLASSA_MAX                    = 0x80\n\tIN_CLASSA_NET                    = 0xff000000\n\tIN_CLASSA_NSHIFT                 = 0x18\n\tIN_CLASSB_HOST                   = 0xffff\n\tIN_CLASSB_MAX                    = 0x10000\n\tIN_CLASSB_NET                    = 0xffff0000\n\tIN_CLASSB_NSHIFT                 = 0x10\n\tIN_CLASSC_HOST                   = 0xff\n\tIN_CLASSC_NET                    = 0xffffff00\n\tIN_CLASSC_NSHIFT                 = 0x8\n\tIN_CLOEXEC                       = 0x400000\n\tIN_CLOSE                         = 0x18\n\tIN_CLOSE_NOWRITE                 = 0x10\n\tIN_CLOSE_WRITE                   = 0x8\n\tIN_CREATE                        = 0x100\n\tIN_DELETE                        = 0x200\n\tIN_DELETE_SELF                   = 0x400\n\tIN_DONT_FOLLOW                   = 0x2000000\n\tIN_EXCL_UNLINK                   = 0x4000000\n\tIN_IGNORED                       = 0x8000\n\tIN_ISDIR                         = 0x40000000\n\tIN_LOOPBACKNET                   = 0x7f\n\tIN_MASK_ADD                      = 0x20000000\n\tIN_MODIFY                        = 0x2\n\tIN_MOVE                          = 0xc0\n\tIN_MOVED_FROM                    = 0x40\n\tIN_MOVED_TO                      = 0x80\n\tIN_MOVE_SELF                     = 0x800\n\tIN_NONBLOCK                      = 0x4000\n\tIN_ONESHOT                       = 0x80000000\n\tIN_ONLYDIR                       = 0x1000000\n\tIN_OPEN                          = 0x20\n\tIN_Q_OVERFLOW                    = 0x4000\n\tIN_UNMOUNT                       = 0x2000\n\tIPPROTO_AH                       = 0x33\n\tIPPROTO_BEETPH                   = 0x5e\n\tIPPROTO_COMP                     = 0x6c\n\tIPPROTO_DCCP                     = 0x21\n\tIPPROTO_DSTOPTS                  = 0x3c\n\tIPPROTO_EGP                      = 0x8\n\tIPPROTO_ENCAP                    = 0x62\n\tIPPROTO_ESP                      = 0x32\n\tIPPROTO_FRAGMENT                 = 0x2c\n\tIPPROTO_GRE                      = 0x2f\n\tIPPROTO_HOPOPTS                  = 0x0\n\tIPPROTO_ICMP                     = 0x1\n\tIPPROTO_ICMPV6                   = 0x3a\n\tIPPROTO_IDP                      = 0x16\n\tIPPROTO_IGMP                     = 0x2\n\tIPPROTO_IP                       = 0x0\n\tIPPROTO_IPIP                     = 0x4\n\tIPPROTO_IPV6                     = 0x29\n\tIPPROTO_MH                       = 0x87\n\tIPPROTO_MPLS                     = 0x89\n\tIPPROTO_MTP                      = 0x5c\n\tIPPROTO_NONE                     = 0x3b\n\tIPPROTO_PIM                      = 0x67\n\tIPPROTO_PUP                      = 0xc\n\tIPPROTO_RAW                      = 0xff\n\tIPPROTO_ROUTING                  = 0x2b\n\tIPPROTO_RSVP                     = 0x2e\n\tIPPROTO_SCTP                     = 0x84\n\tIPPROTO_TCP                      = 0x6\n\tIPPROTO_TP                       = 0x1d\n\tIPPROTO_UDP                      = 0x11\n\tIPPROTO_UDPLITE                  = 0x88\n\tIPV6_2292DSTOPTS                 = 0x4\n\tIPV6_2292HOPLIMIT                = 0x8\n\tIPV6_2292HOPOPTS                 = 0x3\n\tIPV6_2292PKTINFO                 = 0x2\n\tIPV6_2292PKTOPTIONS              = 0x6\n\tIPV6_2292RTHDR                   = 0x5\n\tIPV6_ADDRFORM                    = 0x1\n\tIPV6_ADD_MEMBERSHIP              = 0x14\n\tIPV6_AUTHHDR                     = 0xa\n\tIPV6_CHECKSUM                    = 0x7\n\tIPV6_DONTFRAG                    = 0x3e\n\tIPV6_DROP_MEMBERSHIP             = 0x15\n\tIPV6_DSTOPTS                     = 0x3b\n\tIPV6_HDRINCL                     = 0x24\n\tIPV6_HOPLIMIT                    = 0x34\n\tIPV6_HOPOPTS                     = 0x36\n\tIPV6_IPSEC_POLICY                = 0x22\n\tIPV6_JOIN_ANYCAST                = 0x1b\n\tIPV6_JOIN_GROUP                  = 0x14\n\tIPV6_LEAVE_ANYCAST               = 0x1c\n\tIPV6_LEAVE_GROUP                 = 0x15\n\tIPV6_MTU                         = 0x18\n\tIPV6_MTU_DISCOVER                = 0x17\n\tIPV6_MULTICAST_HOPS              = 0x12\n\tIPV6_MULTICAST_IF                = 0x11\n\tIPV6_MULTICAST_LOOP              = 0x13\n\tIPV6_NEXTHOP                     = 0x9\n\tIPV6_PATHMTU                     = 0x3d\n\tIPV6_PKTINFO                     = 0x32\n\tIPV6_PMTUDISC_DO                 = 0x2\n\tIPV6_PMTUDISC_DONT               = 0x0\n\tIPV6_PMTUDISC_INTERFACE          = 0x4\n\tIPV6_PMTUDISC_OMIT               = 0x5\n\tIPV6_PMTUDISC_PROBE              = 0x3\n\tIPV6_PMTUDISC_WANT               = 0x1\n\tIPV6_RECVDSTOPTS                 = 0x3a\n\tIPV6_RECVERR                     = 0x19\n\tIPV6_RECVHOPLIMIT                = 0x33\n\tIPV6_RECVHOPOPTS                 = 0x35\n\tIPV6_RECVPATHMTU                 = 0x3c\n\tIPV6_RECVPKTINFO                 = 0x31\n\tIPV6_RECVRTHDR                   = 0x38\n\tIPV6_RECVTCLASS                  = 0x42\n\tIPV6_ROUTER_ALERT                = 0x16\n\tIPV6_RTHDR                       = 0x39\n\tIPV6_RTHDRDSTOPTS                = 0x37\n\tIPV6_RTHDR_LOOSE                 = 0x0\n\tIPV6_RTHDR_STRICT                = 0x1\n\tIPV6_RTHDR_TYPE_0                = 0x0\n\tIPV6_RXDSTOPTS                   = 0x3b\n\tIPV6_RXHOPOPTS                   = 0x36\n\tIPV6_TCLASS                      = 0x43\n\tIPV6_UNICAST_HOPS                = 0x10\n\tIPV6_V6ONLY                      = 0x1a\n\tIPV6_XFRM_POLICY                 = 0x23\n\tIP_ADD_MEMBERSHIP                = 0x23\n\tIP_ADD_SOURCE_MEMBERSHIP         = 0x27\n\tIP_BIND_ADDRESS_NO_PORT          = 0x18\n\tIP_BLOCK_SOURCE                  = 0x26\n\tIP_CHECKSUM                      = 0x17\n\tIP_DEFAULT_MULTICAST_LOOP        = 0x1\n\tIP_DEFAULT_MULTICAST_TTL         = 0x1\n\tIP_DF                            = 0x4000\n\tIP_DROP_MEMBERSHIP               = 0x24\n\tIP_DROP_SOURCE_MEMBERSHIP        = 0x28\n\tIP_FREEBIND                      = 0xf\n\tIP_HDRINCL                       = 0x3\n\tIP_IPSEC_POLICY                  = 0x10\n\tIP_MAXPACKET                     = 0xffff\n\tIP_MAX_MEMBERSHIPS               = 0x14\n\tIP_MF                            = 0x2000\n\tIP_MINTTL                        = 0x15\n\tIP_MSFILTER                      = 0x29\n\tIP_MSS                           = 0x240\n\tIP_MTU                           = 0xe\n\tIP_MTU_DISCOVER                  = 0xa\n\tIP_MULTICAST_ALL                 = 0x31\n\tIP_MULTICAST_IF                  = 0x20\n\tIP_MULTICAST_LOOP                = 0x22\n\tIP_MULTICAST_TTL                 = 0x21\n\tIP_NODEFRAG                      = 0x16\n\tIP_OFFMASK                       = 0x1fff\n\tIP_OPTIONS                       = 0x4\n\tIP_ORIGDSTADDR                   = 0x14\n\tIP_PASSSEC                       = 0x12\n\tIP_PKTINFO                       = 0x8\n\tIP_PKTOPTIONS                    = 0x9\n\tIP_PMTUDISC                      = 0xa\n\tIP_PMTUDISC_DO                   = 0x2\n\tIP_PMTUDISC_DONT                 = 0x0\n\tIP_PMTUDISC_INTERFACE            = 0x4\n\tIP_PMTUDISC_OMIT                 = 0x5\n\tIP_PMTUDISC_PROBE                = 0x3\n\tIP_PMTUDISC_WANT                 = 0x1\n\tIP_RECVERR                       = 0xb\n\tIP_RECVOPTS                      = 0x6\n\tIP_RECVORIGDSTADDR               = 0x14\n\tIP_RECVRETOPTS                   = 0x7\n\tIP_RECVTOS                       = 0xd\n\tIP_RECVTTL                       = 0xc\n\tIP_RETOPTS                       = 0x7\n\tIP_RF                            = 0x8000\n\tIP_ROUTER_ALERT                  = 0x5\n\tIP_TOS                           = 0x1\n\tIP_TRANSPARENT                   = 0x13\n\tIP_TTL                           = 0x2\n\tIP_UNBLOCK_SOURCE                = 0x25\n\tIP_UNICAST_IF                    = 0x32\n\tIP_XFRM_POLICY                   = 0x11\n\tISIG                             = 0x1\n\tISTRIP                           = 0x20\n\tIUCLC                            = 0x200\n\tIUTF8                            = 0x4000\n\tIXANY                            = 0x800\n\tIXOFF                            = 0x1000\n\tIXON                             = 0x400\n\tLINUX_REBOOT_CMD_CAD_OFF         = 0x0\n\tLINUX_REBOOT_CMD_CAD_ON          = 0x89abcdef\n\tLINUX_REBOOT_CMD_HALT            = 0xcdef0123\n\tLINUX_REBOOT_CMD_KEXEC           = 0x45584543\n\tLINUX_REBOOT_CMD_POWER_OFF       = 0x4321fedc\n\tLINUX_REBOOT_CMD_RESTART         = 0x1234567\n\tLINUX_REBOOT_CMD_RESTART2        = 0xa1b2c3d4\n\tLINUX_REBOOT_CMD_SW_SUSPEND      = 0xd000fce2\n\tLINUX_REBOOT_MAGIC1              = 0xfee1dead\n\tLINUX_REBOOT_MAGIC2              = 0x28121969\n\tLOCK_EX                          = 0x2\n\tLOCK_NB                          = 0x4\n\tLOCK_SH                          = 0x1\n\tLOCK_UN                          = 0x8\n\tMADV_DODUMP                      = 0x11\n\tMADV_DOFORK                      = 0xb\n\tMADV_DONTDUMP                    = 0x10\n\tMADV_DONTFORK                    = 0xa\n\tMADV_DONTNEED                    = 0x4\n\tMADV_FREE                        = 0x8\n\tMADV_HUGEPAGE                    = 0xe\n\tMADV_HWPOISON                    = 0x64\n\tMADV_MERGEABLE                   = 0xc\n\tMADV_NOHUGEPAGE                  = 0xf\n\tMADV_NORMAL                      = 0x0\n\tMADV_RANDOM                      = 0x1\n\tMADV_REMOVE                      = 0x9\n\tMADV_SEQUENTIAL                  = 0x2\n\tMADV_UNMERGEABLE                 = 0xd\n\tMADV_WILLNEED                    = 0x3\n\tMAP_ANON                         = 0x20\n\tMAP_ANONYMOUS                    = 0x20\n\tMAP_DENYWRITE                    = 0x800\n\tMAP_EXECUTABLE                   = 0x1000\n\tMAP_FILE                         = 0x0\n\tMAP_FIXED                        = 0x10\n\tMAP_GROWSDOWN                    = 0x200\n\tMAP_HUGETLB                      = 0x40000\n\tMAP_HUGE_MASK                    = 0x3f\n\tMAP_HUGE_SHIFT                   = 0x1a\n\tMAP_LOCKED                       = 0x100\n\tMAP_NONBLOCK                     = 0x10000\n\tMAP_NORESERVE                    = 0x40\n\tMAP_POPULATE                     = 0x8000\n\tMAP_PRIVATE                      = 0x2\n\tMAP_RENAME                       = 0x20\n\tMAP_SHARED                       = 0x1\n\tMAP_STACK                        = 0x20000\n\tMAP_TYPE                         = 0xf\n\tMCL_CURRENT                      = 0x2000\n\tMCL_FUTURE                       = 0x4000\n\tMCL_ONFAULT                      = 0x8000\n\tMNT_DETACH                       = 0x2\n\tMNT_EXPIRE                       = 0x4\n\tMNT_FORCE                        = 0x1\n\tMSG_BATCH                        = 0x40000\n\tMSG_CMSG_CLOEXEC                 = 0x40000000\n\tMSG_CONFIRM                      = 0x800\n\tMSG_CTRUNC                       = 0x8\n\tMSG_DONTROUTE                    = 0x4\n\tMSG_DONTWAIT                     = 0x40\n\tMSG_EOR                          = 0x80\n\tMSG_ERRQUEUE                     = 0x2000\n\tMSG_FASTOPEN                     = 0x20000000\n\tMSG_FIN                          = 0x200\n\tMSG_MORE                         = 0x8000\n\tMSG_NOSIGNAL                     = 0x4000\n\tMSG_OOB                          = 0x1\n\tMSG_PEEK                         = 0x2\n\tMSG_PROXY                        = 0x10\n\tMSG_RST                          = 0x1000\n\tMSG_SYN                          = 0x400\n\tMSG_TRUNC                        = 0x20\n\tMSG_TRYHARD                      = 0x4\n\tMSG_WAITALL                      = 0x100\n\tMSG_WAITFORONE                   = 0x10000\n\tMS_ACTIVE                        = 0x40000000\n\tMS_ASYNC                         = 0x1\n\tMS_BIND                          = 0x1000\n\tMS_DIRSYNC                       = 0x80\n\tMS_INVALIDATE                    = 0x2\n\tMS_I_VERSION                     = 0x800000\n\tMS_KERNMOUNT                     = 0x400000\n\tMS_LAZYTIME                      = 0x2000000\n\tMS_MANDLOCK                      = 0x40\n\tMS_MGC_MSK                       = 0xffff0000\n\tMS_MGC_VAL                       = 0xc0ed0000\n\tMS_MOVE                          = 0x2000\n\tMS_NOATIME                       = 0x400\n\tMS_NODEV                         = 0x4\n\tMS_NODIRATIME                    = 0x800\n\tMS_NOEXEC                        = 0x8\n\tMS_NOSUID                        = 0x2\n\tMS_NOUSER                        = -0x80000000\n\tMS_POSIXACL                      = 0x10000\n\tMS_PRIVATE                       = 0x40000\n\tMS_RDONLY                        = 0x1\n\tMS_REC                           = 0x4000\n\tMS_RELATIME                      = 0x200000\n\tMS_REMOUNT                       = 0x20\n\tMS_RMT_MASK                      = 0x2800051\n\tMS_SHARED                        = 0x100000\n\tMS_SILENT                        = 0x8000\n\tMS_SLAVE                         = 0x80000\n\tMS_STRICTATIME                   = 0x1000000\n\tMS_SYNC                          = 0x4\n\tMS_SYNCHRONOUS                   = 0x10\n\tMS_UNBINDABLE                    = 0x20000\n\tNAME_MAX                         = 0xff\n\tNETLINK_ADD_MEMBERSHIP           = 0x1\n\tNETLINK_AUDIT                    = 0x9\n\tNETLINK_BROADCAST_ERROR          = 0x4\n\tNETLINK_CAP_ACK                  = 0xa\n\tNETLINK_CONNECTOR                = 0xb\n\tNETLINK_CRYPTO                   = 0x15\n\tNETLINK_DNRTMSG                  = 0xe\n\tNETLINK_DROP_MEMBERSHIP          = 0x2\n\tNETLINK_ECRYPTFS                 = 0x13\n\tNETLINK_FIB_LOOKUP               = 0xa\n\tNETLINK_FIREWALL                 = 0x3\n\tNETLINK_GENERIC                  = 0x10\n\tNETLINK_INET_DIAG                = 0x4\n\tNETLINK_IP6_FW                   = 0xd\n\tNETLINK_ISCSI                    = 0x8\n\tNETLINK_KOBJECT_UEVENT           = 0xf\n\tNETLINK_LISTEN_ALL_NSID          = 0x8\n\tNETLINK_LIST_MEMBERSHIPS         = 0x9\n\tNETLINK_NETFILTER                = 0xc\n\tNETLINK_NFLOG                    = 0x5\n\tNETLINK_NO_ENOBUFS               = 0x5\n\tNETLINK_PKTINFO                  = 0x3\n\tNETLINK_RDMA                     = 0x14\n\tNETLINK_ROUTE                    = 0x0\n\tNETLINK_RX_RING                  = 0x6\n\tNETLINK_SCSITRANSPORT            = 0x12\n\tNETLINK_SELINUX                  = 0x7\n\tNETLINK_SOCK_DIAG                = 0x4\n\tNETLINK_TX_RING                  = 0x7\n\tNETLINK_UNUSED                   = 0x1\n\tNETLINK_USERSOCK                 = 0x2\n\tNETLINK_XFRM                     = 0x6\n\tNL0                              = 0x0\n\tNL1                              = 0x100\n\tNLA_ALIGNTO                      = 0x4\n\tNLA_F_NESTED                     = 0x8000\n\tNLA_F_NET_BYTEORDER              = 0x4000\n\tNLA_HDRLEN                       = 0x4\n\tNLDLY                            = 0x100\n\tNLMSG_ALIGNTO                    = 0x4\n\tNLMSG_DONE                       = 0x3\n\tNLMSG_ERROR                      = 0x2\n\tNLMSG_HDRLEN                     = 0x10\n\tNLMSG_MIN_TYPE                   = 0x10\n\tNLMSG_NOOP                       = 0x1\n\tNLMSG_OVERRUN                    = 0x4\n\tNLM_F_ACK                        = 0x4\n\tNLM_F_APPEND                     = 0x800\n\tNLM_F_ATOMIC                     = 0x400\n\tNLM_F_CREATE                     = 0x400\n\tNLM_F_DUMP                       = 0x300\n\tNLM_F_DUMP_FILTERED              = 0x20\n\tNLM_F_DUMP_INTR                  = 0x10\n\tNLM_F_ECHO                       = 0x8\n\tNLM_F_EXCL                       = 0x200\n\tNLM_F_MATCH                      = 0x200\n\tNLM_F_MULTI                      = 0x2\n\tNLM_F_REPLACE                    = 0x100\n\tNLM_F_REQUEST                    = 0x1\n\tNLM_F_ROOT                       = 0x100\n\tNOFLSH                           = 0x80\n\tOCRNL                            = 0x8\n\tOFDEL                            = 0x80\n\tOFILL                            = 0x40\n\tOLCUC                            = 0x2\n\tONLCR                            = 0x4\n\tONLRET                           = 0x20\n\tONOCR                            = 0x10\n\tOPOST                            = 0x1\n\tO_ACCMODE                        = 0x3\n\tO_APPEND                         = 0x8\n\tO_ASYNC                          = 0x40\n\tO_CLOEXEC                        = 0x400000\n\tO_CREAT                          = 0x200\n\tO_DIRECT                         = 0x100000\n\tO_DIRECTORY                      = 0x10000\n\tO_DSYNC                          = 0x2000\n\tO_EXCL                           = 0x800\n\tO_FSYNC                          = 0x802000\n\tO_LARGEFILE                      = 0x0\n\tO_NDELAY                         = 0x4004\n\tO_NOATIME                        = 0x200000\n\tO_NOCTTY                         = 0x8000\n\tO_NOFOLLOW                       = 0x20000\n\tO_NONBLOCK                       = 0x4000\n\tO_PATH                           = 0x1000000\n\tO_RDONLY                         = 0x0\n\tO_RDWR                           = 0x2\n\tO_RSYNC                          = 0x802000\n\tO_SYNC                           = 0x802000\n\tO_TMPFILE                        = 0x2010000\n\tO_TRUNC                          = 0x400\n\tO_WRONLY                         = 0x1\n\tPACKET_ADD_MEMBERSHIP            = 0x1\n\tPACKET_AUXDATA                   = 0x8\n\tPACKET_BROADCAST                 = 0x1\n\tPACKET_COPY_THRESH               = 0x7\n\tPACKET_DROP_MEMBERSHIP           = 0x2\n\tPACKET_FANOUT                    = 0x12\n\tPACKET_FANOUT_CBPF               = 0x6\n\tPACKET_FANOUT_CPU                = 0x2\n\tPACKET_FANOUT_DATA               = 0x16\n\tPACKET_FANOUT_EBPF               = 0x7\n\tPACKET_FANOUT_FLAG_DEFRAG        = 0x8000\n\tPACKET_FANOUT_FLAG_ROLLOVER      = 0x1000\n\tPACKET_FANOUT_HASH               = 0x0\n\tPACKET_FANOUT_LB                 = 0x1\n\tPACKET_FANOUT_QM                 = 0x5\n\tPACKET_FANOUT_RND                = 0x4\n\tPACKET_FANOUT_ROLLOVER           = 0x3\n\tPACKET_FASTROUTE                 = 0x6\n\tPACKET_HDRLEN                    = 0xb\n\tPACKET_HOST                      = 0x0\n\tPACKET_KERNEL                    = 0x7\n\tPACKET_LOOPBACK                  = 0x5\n\tPACKET_LOSS                      = 0xe\n\tPACKET_MR_ALLMULTI               = 0x2\n\tPACKET_MR_MULTICAST              = 0x0\n\tPACKET_MR_PROMISC                = 0x1\n\tPACKET_MR_UNICAST                = 0x3\n\tPACKET_MULTICAST                 = 0x2\n\tPACKET_ORIGDEV                   = 0x9\n\tPACKET_OTHERHOST                 = 0x3\n\tPACKET_OUTGOING                  = 0x4\n\tPACKET_QDISC_BYPASS              = 0x14\n\tPACKET_RECV_OUTPUT               = 0x3\n\tPACKET_RESERVE                   = 0xc\n\tPACKET_ROLLOVER_STATS            = 0x15\n\tPACKET_RX_RING                   = 0x5\n\tPACKET_STATISTICS                = 0x6\n\tPACKET_TIMESTAMP                 = 0x11\n\tPACKET_TX_HAS_OFF                = 0x13\n\tPACKET_TX_RING                   = 0xd\n\tPACKET_TX_TIMESTAMP              = 0x10\n\tPACKET_USER                      = 0x6\n\tPACKET_VERSION                   = 0xa\n\tPACKET_VNET_HDR                  = 0xf\n\tPARENB                           = 0x100\n\tPARITY_CRC16_PR0                 = 0x2\n\tPARITY_CRC16_PR0_CCITT           = 0x4\n\tPARITY_CRC16_PR1                 = 0x3\n\tPARITY_CRC16_PR1_CCITT           = 0x5\n\tPARITY_CRC32_PR0_CCITT           = 0x6\n\tPARITY_CRC32_PR1_CCITT           = 0x7\n\tPARITY_DEFAULT                   = 0x0\n\tPARITY_NONE                      = 0x1\n\tPARMRK                           = 0x8\n\tPARODD                           = 0x200\n\tPENDIN                           = 0x4000\n\tPRIO_PGRP                        = 0x1\n\tPRIO_PROCESS                     = 0x0\n\tPRIO_USER                        = 0x2\n\tPROT_EXEC                        = 0x4\n\tPROT_GROWSDOWN                   = 0x1000000\n\tPROT_GROWSUP                     = 0x2000000\n\tPROT_NONE                        = 0x0\n\tPROT_READ                        = 0x1\n\tPROT_WRITE                       = 0x2\n\tPR_CAPBSET_DROP                  = 0x18\n\tPR_CAPBSET_READ                  = 0x17\n\tPR_CAP_AMBIENT                   = 0x2f\n\tPR_CAP_AMBIENT_CLEAR_ALL         = 0x4\n\tPR_CAP_AMBIENT_IS_SET            = 0x1\n\tPR_CAP_AMBIENT_LOWER             = 0x3\n\tPR_CAP_AMBIENT_RAISE             = 0x2\n\tPR_ENDIAN_BIG                    = 0x0\n\tPR_ENDIAN_LITTLE                 = 0x1\n\tPR_ENDIAN_PPC_LITTLE             = 0x2\n\tPR_FPEMU_NOPRINT                 = 0x1\n\tPR_FPEMU_SIGFPE                  = 0x2\n\tPR_FP_EXC_ASYNC                  = 0x2\n\tPR_FP_EXC_DISABLED               = 0x0\n\tPR_FP_EXC_DIV                    = 0x10000\n\tPR_FP_EXC_INV                    = 0x100000\n\tPR_FP_EXC_NONRECOV               = 0x1\n\tPR_FP_EXC_OVF                    = 0x20000\n\tPR_FP_EXC_PRECISE                = 0x3\n\tPR_FP_EXC_RES                    = 0x80000\n\tPR_FP_EXC_SW_ENABLE              = 0x80\n\tPR_FP_EXC_UND                    = 0x40000\n\tPR_FP_MODE_FR                    = 0x1\n\tPR_FP_MODE_FRE                   = 0x2\n\tPR_GET_CHILD_SUBREAPER           = 0x25\n\tPR_GET_DUMPABLE                  = 0x3\n\tPR_GET_ENDIAN                    = 0x13\n\tPR_GET_FPEMU                     = 0x9\n\tPR_GET_FPEXC                     = 0xb\n\tPR_GET_FP_MODE                   = 0x2e\n\tPR_GET_KEEPCAPS                  = 0x7\n\tPR_GET_NAME                      = 0x10\n\tPR_GET_NO_NEW_PRIVS              = 0x27\n\tPR_GET_PDEATHSIG                 = 0x2\n\tPR_GET_SECCOMP                   = 0x15\n\tPR_GET_SECUREBITS                = 0x1b\n\tPR_GET_THP_DISABLE               = 0x2a\n\tPR_GET_TID_ADDRESS               = 0x28\n\tPR_GET_TIMERSLACK                = 0x1e\n\tPR_GET_TIMING                    = 0xd\n\tPR_GET_TSC                       = 0x19\n\tPR_GET_UNALIGN                   = 0x5\n\tPR_MCE_KILL                      = 0x21\n\tPR_MCE_KILL_CLEAR                = 0x0\n\tPR_MCE_KILL_DEFAULT              = 0x2\n\tPR_MCE_KILL_EARLY                = 0x1\n\tPR_MCE_KILL_GET                  = 0x22\n\tPR_MCE_KILL_LATE                 = 0x0\n\tPR_MCE_KILL_SET                  = 0x1\n\tPR_MPX_DISABLE_MANAGEMENT        = 0x2c\n\tPR_MPX_ENABLE_MANAGEMENT         = 0x2b\n\tPR_SET_CHILD_SUBREAPER           = 0x24\n\tPR_SET_DUMPABLE                  = 0x4\n\tPR_SET_ENDIAN                    = 0x14\n\tPR_SET_FPEMU                     = 0xa\n\tPR_SET_FPEXC                     = 0xc\n\tPR_SET_FP_MODE                   = 0x2d\n\tPR_SET_KEEPCAPS                  = 0x8\n\tPR_SET_MM                        = 0x23\n\tPR_SET_MM_ARG_END                = 0x9\n\tPR_SET_MM_ARG_START              = 0x8\n\tPR_SET_MM_AUXV                   = 0xc\n\tPR_SET_MM_BRK                    = 0x7\n\tPR_SET_MM_END_CODE               = 0x2\n\tPR_SET_MM_END_DATA               = 0x4\n\tPR_SET_MM_ENV_END                = 0xb\n\tPR_SET_MM_ENV_START              = 0xa\n\tPR_SET_MM_EXE_FILE               = 0xd\n\tPR_SET_MM_MAP                    = 0xe\n\tPR_SET_MM_MAP_SIZE               = 0xf\n\tPR_SET_MM_START_BRK              = 0x6\n\tPR_SET_MM_START_CODE             = 0x1\n\tPR_SET_MM_START_DATA             = 0x3\n\tPR_SET_MM_START_STACK            = 0x5\n\tPR_SET_NAME                      = 0xf\n\tPR_SET_NO_NEW_PRIVS              = 0x26\n\tPR_SET_PDEATHSIG                 = 0x1\n\tPR_SET_PTRACER                   = 0x59616d61\n\tPR_SET_PTRACER_ANY               = -0x1\n\tPR_SET_SECCOMP                   = 0x16\n\tPR_SET_SECUREBITS                = 0x1c\n\tPR_SET_THP_DISABLE               = 0x29\n\tPR_SET_TIMERSLACK                = 0x1d\n\tPR_SET_TIMING                    = 0xe\n\tPR_SET_TSC                       = 0x1a\n\tPR_SET_UNALIGN                   = 0x6\n\tPR_TASK_PERF_EVENTS_DISABLE      = 0x1f\n\tPR_TASK_PERF_EVENTS_ENABLE       = 0x20\n\tPR_TIMING_STATISTICAL            = 0x0\n\tPR_TIMING_TIMESTAMP              = 0x1\n\tPR_TSC_ENABLE                    = 0x1\n\tPR_TSC_SIGSEGV                   = 0x2\n\tPR_UNALIGN_NOPRINT               = 0x1\n\tPR_UNALIGN_SIGBUS                = 0x2\n\tPTRACE_ATTACH                    = 0x10\n\tPTRACE_CONT                      = 0x7\n\tPTRACE_DETACH                    = 0x11\n\tPTRACE_EVENT_CLONE               = 0x3\n\tPTRACE_EVENT_EXEC                = 0x4\n\tPTRACE_EVENT_EXIT                = 0x6\n\tPTRACE_EVENT_FORK                = 0x1\n\tPTRACE_EVENT_SECCOMP             = 0x7\n\tPTRACE_EVENT_STOP                = 0x80\n\tPTRACE_EVENT_VFORK               = 0x2\n\tPTRACE_EVENT_VFORK_DONE          = 0x5\n\tPTRACE_GETEVENTMSG               = 0x4201\n\tPTRACE_GETFPAREGS                = 0x14\n\tPTRACE_GETFPREGS                 = 0xe\n\tPTRACE_GETFPREGS64               = 0x19\n\tPTRACE_GETREGS                   = 0xc\n\tPTRACE_GETREGS64                 = 0x16\n\tPTRACE_GETREGSET                 = 0x4204\n\tPTRACE_GETSIGINFO                = 0x4202\n\tPTRACE_GETSIGMASK                = 0x420a\n\tPTRACE_INTERRUPT                 = 0x4207\n\tPTRACE_KILL                      = 0x8\n\tPTRACE_LISTEN                    = 0x4208\n\tPTRACE_O_EXITKILL                = 0x100000\n\tPTRACE_O_MASK                    = 0x3000ff\n\tPTRACE_O_SUSPEND_SECCOMP         = 0x200000\n\tPTRACE_O_TRACECLONE              = 0x8\n\tPTRACE_O_TRACEEXEC               = 0x10\n\tPTRACE_O_TRACEEXIT               = 0x40\n\tPTRACE_O_TRACEFORK               = 0x2\n\tPTRACE_O_TRACESECCOMP            = 0x80\n\tPTRACE_O_TRACESYSGOOD            = 0x1\n\tPTRACE_O_TRACEVFORK              = 0x4\n\tPTRACE_O_TRACEVFORKDONE          = 0x20\n\tPTRACE_PEEKDATA                  = 0x2\n\tPTRACE_PEEKSIGINFO               = 0x4209\n\tPTRACE_PEEKSIGINFO_SHARED        = 0x1\n\tPTRACE_PEEKTEXT                  = 0x1\n\tPTRACE_PEEKUSR                   = 0x3\n\tPTRACE_POKEDATA                  = 0x5\n\tPTRACE_POKETEXT                  = 0x4\n\tPTRACE_POKEUSR                   = 0x6\n\tPTRACE_READDATA                  = 0x10\n\tPTRACE_READTEXT                  = 0x12\n\tPTRACE_SECCOMP_GET_FILTER        = 0x420c\n\tPTRACE_SEIZE                     = 0x4206\n\tPTRACE_SETFPAREGS                = 0x15\n\tPTRACE_SETFPREGS                 = 0xf\n\tPTRACE_SETFPREGS64               = 0x1a\n\tPTRACE_SETOPTIONS                = 0x4200\n\tPTRACE_SETREGS                   = 0xd\n\tPTRACE_SETREGS64                 = 0x17\n\tPTRACE_SETREGSET                 = 0x4205\n\tPTRACE_SETSIGINFO                = 0x4203\n\tPTRACE_SETSIGMASK                = 0x420b\n\tPTRACE_SINGLESTEP                = 0x9\n\tPTRACE_SPARC_DETACH              = 0xb\n\tPTRACE_SYSCALL                   = 0x18\n\tPTRACE_TRACEME                   = 0x0\n\tPTRACE_WRITEDATA                 = 0x11\n\tPTRACE_WRITETEXT                 = 0x13\n\tPT_FP                            = 0x48\n\tPT_G0                            = 0x10\n\tPT_G1                            = 0x14\n\tPT_G2                            = 0x18\n\tPT_G3                            = 0x1c\n\tPT_G4                            = 0x20\n\tPT_G5                            = 0x24\n\tPT_G6                            = 0x28\n\tPT_G7                            = 0x2c\n\tPT_I0                            = 0x30\n\tPT_I1                            = 0x34\n\tPT_I2                            = 0x38\n\tPT_I3                            = 0x3c\n\tPT_I4                            = 0x40\n\tPT_I5                            = 0x44\n\tPT_I6                            = 0x48\n\tPT_I7                            = 0x4c\n\tPT_NPC                           = 0x8\n\tPT_PC                            = 0x4\n\tPT_PSR                           = 0x0\n\tPT_REGS_MAGIC                    = 0x57ac6c00\n\tPT_TNPC                          = 0x90\n\tPT_TPC                           = 0x88\n\tPT_TSTATE                        = 0x80\n\tPT_V9_FP                         = 0x70\n\tPT_V9_G0                         = 0x0\n\tPT_V9_G1                         = 0x8\n\tPT_V9_G2                         = 0x10\n\tPT_V9_G3                         = 0x18\n\tPT_V9_G4                         = 0x20\n\tPT_V9_G5                         = 0x28\n\tPT_V9_G6                         = 0x30\n\tPT_V9_G7                         = 0x38\n\tPT_V9_I0                         = 0x40\n\tPT_V9_I1                         = 0x48\n\tPT_V9_I2                         = 0x50\n\tPT_V9_I3                         = 0x58\n\tPT_V9_I4                         = 0x60\n\tPT_V9_I5                         = 0x68\n\tPT_V9_I6                         = 0x70\n\tPT_V9_I7                         = 0x78\n\tPT_V9_MAGIC                      = 0x9c\n\tPT_V9_TNPC                       = 0x90\n\tPT_V9_TPC                        = 0x88\n\tPT_V9_TSTATE                     = 0x80\n\tPT_V9_Y                          = 0x98\n\tPT_WIM                           = 0x10\n\tPT_Y                             = 0xc\n\tRLIMIT_AS                        = 0x9\n\tRLIMIT_CORE                      = 0x4\n\tRLIMIT_CPU                       = 0x0\n\tRLIMIT_DATA                      = 0x2\n\tRLIMIT_FSIZE                     = 0x1\n\tRLIMIT_NOFILE                    = 0x6\n\tRLIMIT_STACK                     = 0x3\n\tRLIM_INFINITY                    = -0x1\n\tRTAX_ADVMSS                      = 0x8\n\tRTAX_CC_ALGO                     = 0x10\n\tRTAX_CWND                        = 0x7\n\tRTAX_FEATURES                    = 0xc\n\tRTAX_FEATURE_ALLFRAG             = 0x8\n\tRTAX_FEATURE_ECN                 = 0x1\n\tRTAX_FEATURE_MASK                = 0xf\n\tRTAX_FEATURE_SACK                = 0x2\n\tRTAX_FEATURE_TIMESTAMP           = 0x4\n\tRTAX_HOPLIMIT                    = 0xa\n\tRTAX_INITCWND                    = 0xb\n\tRTAX_INITRWND                    = 0xe\n\tRTAX_LOCK                        = 0x1\n\tRTAX_MAX                         = 0x10\n\tRTAX_MTU                         = 0x2\n\tRTAX_QUICKACK                    = 0xf\n\tRTAX_REORDERING                  = 0x9\n\tRTAX_RTO_MIN                     = 0xd\n\tRTAX_RTT                         = 0x4\n\tRTAX_RTTVAR                      = 0x5\n\tRTAX_SSTHRESH                    = 0x6\n\tRTAX_UNSPEC                      = 0x0\n\tRTAX_WINDOW                      = 0x3\n\tRTA_ALIGNTO                      = 0x4\n\tRTA_MAX                          = 0x18\n\tRTCF_DIRECTSRC                   = 0x4000000\n\tRTCF_DOREDIRECT                  = 0x1000000\n\tRTCF_LOG                         = 0x2000000\n\tRTCF_MASQ                        = 0x400000\n\tRTCF_NAT                         = 0x800000\n\tRTCF_VALVE                       = 0x200000\n\tRTF_ADDRCLASSMASK                = 0xf8000000\n\tRTF_ADDRCONF                     = 0x40000\n\tRTF_ALLONLINK                    = 0x20000\n\tRTF_BROADCAST                    = 0x10000000\n\tRTF_CACHE                        = 0x1000000\n\tRTF_DEFAULT                      = 0x10000\n\tRTF_DYNAMIC                      = 0x10\n\tRTF_FLOW                         = 0x2000000\n\tRTF_GATEWAY                      = 0x2\n\tRTF_HOST                         = 0x4\n\tRTF_INTERFACE                    = 0x40000000\n\tRTF_IRTT                         = 0x100\n\tRTF_LINKRT                       = 0x100000\n\tRTF_LOCAL                        = 0x80000000\n\tRTF_MODIFIED                     = 0x20\n\tRTF_MSS                          = 0x40\n\tRTF_MTU                          = 0x40\n\tRTF_MULTICAST                    = 0x20000000\n\tRTF_NAT                          = 0x8000000\n\tRTF_NOFORWARD                    = 0x1000\n\tRTF_NONEXTHOP                    = 0x200000\n\tRTF_NOPMTUDISC                   = 0x4000\n\tRTF_POLICY                       = 0x4000000\n\tRTF_REINSTATE                    = 0x8\n\tRTF_REJECT                       = 0x200\n\tRTF_STATIC                       = 0x400\n\tRTF_THROW                        = 0x2000\n\tRTF_UP                           = 0x1\n\tRTF_WINDOW                       = 0x80\n\tRTF_XRESOLVE                     = 0x800\n\tRTM_BASE                         = 0x10\n\tRTM_DELACTION                    = 0x31\n\tRTM_DELADDR                      = 0x15\n\tRTM_DELADDRLABEL                 = 0x49\n\tRTM_DELLINK                      = 0x11\n\tRTM_DELMDB                       = 0x55\n\tRTM_DELNEIGH                     = 0x1d\n\tRTM_DELNSID                      = 0x59\n\tRTM_DELQDISC                     = 0x25\n\tRTM_DELROUTE                     = 0x19\n\tRTM_DELRULE                      = 0x21\n\tRTM_DELTCLASS                    = 0x29\n\tRTM_DELTFILTER                   = 0x2d\n\tRTM_F_CLONED                     = 0x200\n\tRTM_F_EQUALIZE                   = 0x400\n\tRTM_F_LOOKUP_TABLE               = 0x1000\n\tRTM_F_NOTIFY                     = 0x100\n\tRTM_F_PREFIX                     = 0x800\n\tRTM_GETACTION                    = 0x32\n\tRTM_GETADDR                      = 0x16\n\tRTM_GETADDRLABEL                 = 0x4a\n\tRTM_GETANYCAST                   = 0x3e\n\tRTM_GETDCB                       = 0x4e\n\tRTM_GETLINK                      = 0x12\n\tRTM_GETMDB                       = 0x56\n\tRTM_GETMULTICAST                 = 0x3a\n\tRTM_GETNEIGH                     = 0x1e\n\tRTM_GETNEIGHTBL                  = 0x42\n\tRTM_GETNETCONF                   = 0x52\n\tRTM_GETNSID                      = 0x5a\n\tRTM_GETQDISC                     = 0x26\n\tRTM_GETROUTE                     = 0x1a\n\tRTM_GETRULE                      = 0x22\n\tRTM_GETSTATS                     = 0x5e\n\tRTM_GETTCLASS                    = 0x2a\n\tRTM_GETTFILTER                   = 0x2e\n\tRTM_MAX                          = 0x5f\n\tRTM_NEWACTION                    = 0x30\n\tRTM_NEWADDR                      = 0x14\n\tRTM_NEWADDRLABEL                 = 0x48\n\tRTM_NEWLINK                      = 0x10\n\tRTM_NEWMDB                       = 0x54\n\tRTM_NEWNDUSEROPT                 = 0x44\n\tRTM_NEWNEIGH                     = 0x1c\n\tRTM_NEWNEIGHTBL                  = 0x40\n\tRTM_NEWNETCONF                   = 0x50\n\tRTM_NEWNSID                      = 0x58\n\tRTM_NEWPREFIX                    = 0x34\n\tRTM_NEWQDISC                     = 0x24\n\tRTM_NEWROUTE                     = 0x18\n\tRTM_NEWRULE                      = 0x20\n\tRTM_NEWSTATS                     = 0x5c\n\tRTM_NEWTCLASS                    = 0x28\n\tRTM_NEWTFILTER                   = 0x2c\n\tRTM_NR_FAMILIES                  = 0x14\n\tRTM_NR_MSGTYPES                  = 0x50\n\tRTM_SETDCB                       = 0x4f\n\tRTM_SETLINK                      = 0x13\n\tRTM_SETNEIGHTBL                  = 0x43\n\tRTNH_ALIGNTO                     = 0x4\n\tRTNH_COMPARE_MASK                = 0x11\n\tRTNH_F_DEAD                      = 0x1\n\tRTNH_F_LINKDOWN                  = 0x10\n\tRTNH_F_OFFLOAD                   = 0x8\n\tRTNH_F_ONLINK                    = 0x4\n\tRTNH_F_PERVASIVE                 = 0x2\n\tRTN_MAX                          = 0xb\n\tRTPROT_BABEL                     = 0x2a\n\tRTPROT_BIRD                      = 0xc\n\tRTPROT_BOOT                      = 0x3\n\tRTPROT_DHCP                      = 0x10\n\tRTPROT_DNROUTED                  = 0xd\n\tRTPROT_GATED                     = 0x8\n\tRTPROT_KERNEL                    = 0x2\n\tRTPROT_MROUTED                   = 0x11\n\tRTPROT_MRT                       = 0xa\n\tRTPROT_NTK                       = 0xf\n\tRTPROT_RA                        = 0x9\n\tRTPROT_REDIRECT                  = 0x1\n\tRTPROT_STATIC                    = 0x4\n\tRTPROT_UNSPEC                    = 0x0\n\tRTPROT_XORP                      = 0xe\n\tRTPROT_ZEBRA                     = 0xb\n\tRT_CLASS_DEFAULT                 = 0xfd\n\tRT_CLASS_LOCAL                   = 0xff\n\tRT_CLASS_MAIN                    = 0xfe\n\tRT_CLASS_MAX                     = 0xff\n\tRT_CLASS_UNSPEC                  = 0x0\n\tRUSAGE_CHILDREN                  = -0x1\n\tRUSAGE_SELF                      = 0x0\n\tRUSAGE_THREAD                    = 0x1\n\tSCM_CREDENTIALS                  = 0x2\n\tSCM_RIGHTS                       = 0x1\n\tSCM_TIMESTAMP                    = 0x1d\n\tSCM_TIMESTAMPING                 = 0x23\n\tSCM_TIMESTAMPNS                  = 0x21\n\tSCM_WIFI_STATUS                  = 0x25\n\tSHUT_RD                          = 0x0\n\tSHUT_RDWR                        = 0x2\n\tSHUT_WR                          = 0x1\n\tSIOCADDDLCI                      = 0x8980\n\tSIOCADDMULTI                     = 0x8931\n\tSIOCADDRT                        = 0x890b\n\tSIOCATMARK                       = 0x8905\n\tSIOCBONDCHANGEACTIVE             = 0x8995\n\tSIOCBONDENSLAVE                  = 0x8990\n\tSIOCBONDINFOQUERY                = 0x8994\n\tSIOCBONDRELEASE                  = 0x8991\n\tSIOCBONDSETHWADDR                = 0x8992\n\tSIOCBONDSLAVEINFOQUERY           = 0x8993\n\tSIOCBRADDBR                      = 0x89a0\n\tSIOCBRADDIF                      = 0x89a2\n\tSIOCBRDELBR                      = 0x89a1\n\tSIOCBRDELIF                      = 0x89a3\n\tSIOCDARP                         = 0x8953\n\tSIOCDELDLCI                      = 0x8981\n\tSIOCDELMULTI                     = 0x8932\n\tSIOCDELRT                        = 0x890c\n\tSIOCDEVPRIVATE                   = 0x89f0\n\tSIOCDIFADDR                      = 0x8936\n\tSIOCDRARP                        = 0x8960\n\tSIOCETHTOOL                      = 0x8946\n\tSIOCGARP                         = 0x8954\n\tSIOCGHWTSTAMP                    = 0x89b1\n\tSIOCGIFADDR                      = 0x8915\n\tSIOCGIFBR                        = 0x8940\n\tSIOCGIFBRDADDR                   = 0x8919\n\tSIOCGIFCONF                      = 0x8912\n\tSIOCGIFCOUNT                     = 0x8938\n\tSIOCGIFDSTADDR                   = 0x8917\n\tSIOCGIFENCAP                     = 0x8925\n\tSIOCGIFFLAGS                     = 0x8913\n\tSIOCGIFHWADDR                    = 0x8927\n\tSIOCGIFINDEX                     = 0x8933\n\tSIOCGIFMAP                       = 0x8970\n\tSIOCGIFMEM                       = 0x891f\n\tSIOCGIFMETRIC                    = 0x891d\n\tSIOCGIFMTU                       = 0x8921\n\tSIOCGIFNAME                      = 0x8910\n\tSIOCGIFNETMASK                   = 0x891b\n\tSIOCGIFPFLAGS                    = 0x8935\n\tSIOCGIFSLAVE                     = 0x8929\n\tSIOCGIFTXQLEN                    = 0x8942\n\tSIOCGIFVLAN                      = 0x8982\n\tSIOCGMIIPHY                      = 0x8947\n\tSIOCGMIIREG                      = 0x8948\n\tSIOCGPGRP                        = 0x8904\n\tSIOCGRARP                        = 0x8961\n\tSIOCGSTAMP                       = 0x8906\n\tSIOCGSTAMPNS                     = 0x8907\n\tSIOCINQ                          = 0x4004667f\n\tSIOCOUTQ                         = 0x40047473\n\tSIOCOUTQNSD                      = 0x894b\n\tSIOCPROTOPRIVATE                 = 0x89e0\n\tSIOCRTMSG                        = 0x890d\n\tSIOCSARP                         = 0x8955\n\tSIOCSHWTSTAMP                    = 0x89b0\n\tSIOCSIFADDR                      = 0x8916\n\tSIOCSIFBR                        = 0x8941\n\tSIOCSIFBRDADDR                   = 0x891a\n\tSIOCSIFDSTADDR                   = 0x8918\n\tSIOCSIFENCAP                     = 0x8926\n\tSIOCSIFFLAGS                     = 0x8914\n\tSIOCSIFHWADDR                    = 0x8924\n\tSIOCSIFHWBROADCAST               = 0x8937\n\tSIOCSIFLINK                      = 0x8911\n\tSIOCSIFMAP                       = 0x8971\n\tSIOCSIFMEM                       = 0x8920\n\tSIOCSIFMETRIC                    = 0x891e\n\tSIOCSIFMTU                       = 0x8922\n\tSIOCSIFNAME                      = 0x8923\n\tSIOCSIFNETMASK                   = 0x891c\n\tSIOCSIFPFLAGS                    = 0x8934\n\tSIOCSIFSLAVE                     = 0x8930\n\tSIOCSIFTXQLEN                    = 0x8943\n\tSIOCSIFVLAN                      = 0x8983\n\tSIOCSMIIREG                      = 0x8949\n\tSIOCSPGRP                        = 0x8902\n\tSIOCSRARP                        = 0x8962\n\tSIOCWANDEV                       = 0x894a\n\tSOCK_CLOEXEC                     = 0x400000\n\tSOCK_DCCP                        = 0x6\n\tSOCK_DGRAM                       = 0x2\n\tSOCK_NONBLOCK                    = 0x4000\n\tSOCK_PACKET                      = 0xa\n\tSOCK_RAW                         = 0x3\n\tSOCK_RDM                         = 0x4\n\tSOCK_SEQPACKET                   = 0x5\n\tSOCK_STREAM                      = 0x1\n\tSOL_AAL                          = 0x109\n\tSOL_ALG                          = 0x117\n\tSOL_ATM                          = 0x108\n\tSOL_CAIF                         = 0x116\n\tSOL_DCCP                         = 0x10d\n\tSOL_DECNET                       = 0x105\n\tSOL_ICMPV6                       = 0x3a\n\tSOL_IP                           = 0x0\n\tSOL_IPV6                         = 0x29\n\tSOL_IRDA                         = 0x10a\n\tSOL_IUCV                         = 0x115\n\tSOL_KCM                          = 0x119\n\tSOL_LLC                          = 0x10c\n\tSOL_NETBEUI                      = 0x10b\n\tSOL_NETLINK                      = 0x10e\n\tSOL_NFC                          = 0x118\n\tSOL_PACKET                       = 0x107\n\tSOL_PNPIPE                       = 0x113\n\tSOL_PPPOL2TP                     = 0x111\n\tSOL_RAW                          = 0xff\n\tSOL_RDS                          = 0x114\n\tSOL_RXRPC                        = 0x110\n\tSOL_SOCKET                       = 0xffff\n\tSOL_TCP                          = 0x6\n\tSOL_TIPC                         = 0x10f\n\tSOL_X25                          = 0x106\n\tSOMAXCONN                        = 0x80\n\tSO_ACCEPTCONN                    = 0x8000\n\tSO_ATTACH_BPF                    = 0x34\n\tSO_ATTACH_FILTER                 = 0x1a\n\tSO_ATTACH_REUSEPORT_CBPF         = 0x35\n\tSO_ATTACH_REUSEPORT_EBPF         = 0x36\n\tSO_BINDTODEVICE                  = 0xd\n\tSO_BPF_EXTENSIONS                = 0x32\n\tSO_BROADCAST                     = 0x20\n\tSO_BSDCOMPAT                     = 0x400\n\tSO_BUSY_POLL                     = 0x30\n\tSO_CNX_ADVICE                    = 0x37\n\tSO_DEBUG                         = 0x1\n\tSO_DETACH_BPF                    = 0x1b\n\tSO_DETACH_FILTER                 = 0x1b\n\tSO_DOMAIN                        = 0x1029\n\tSO_DONTROUTE                     = 0x10\n\tSO_ERROR                         = 0x1007\n\tSO_GET_FILTER                    = 0x1a\n\tSO_INCOMING_CPU                  = 0x33\n\tSO_KEEPALIVE                     = 0x8\n\tSO_LINGER                        = 0x80\n\tSO_LOCK_FILTER                   = 0x28\n\tSO_MARK                          = 0x22\n\tSO_MAX_PACING_RATE               = 0x31\n\tSO_NOFCS                         = 0x27\n\tSO_NO_CHECK                      = 0xb\n\tSO_OOBINLINE                     = 0x100\n\tSO_PASSCRED                      = 0x2\n\tSO_PASSSEC                       = 0x1f\n\tSO_PEEK_OFF                      = 0x26\n\tSO_PEERCRED                      = 0x40\n\tSO_PEERNAME                      = 0x1c\n\tSO_PEERSEC                       = 0x1e\n\tSO_PRIORITY                      = 0xc\n\tSO_PROTOCOL                      = 0x1028\n\tSO_RCVBUF                        = 0x1002\n\tSO_RCVBUFFORCE                   = 0x100b\n\tSO_RCVLOWAT                      = 0x800\n\tSO_RCVTIMEO                      = 0x2000\n\tSO_REUSEADDR                     = 0x4\n\tSO_REUSEPORT                     = 0x200\n\tSO_RXQ_OVFL                      = 0x24\n\tSO_SECURITY_AUTHENTICATION       = 0x5001\n\tSO_SECURITY_ENCRYPTION_NETWORK   = 0x5004\n\tSO_SECURITY_ENCRYPTION_TRANSPORT = 0x5002\n\tSO_SELECT_ERR_QUEUE              = 0x29\n\tSO_SNDBUF                        = 0x1001\n\tSO_SNDBUFFORCE                   = 0x100a\n\tSO_SNDLOWAT                      = 0x1000\n\tSO_SNDTIMEO                      = 0x4000\n\tSO_TIMESTAMP                     = 0x1d\n\tSO_TIMESTAMPING                  = 0x23\n\tSO_TIMESTAMPNS                   = 0x21\n\tSO_TYPE                          = 0x1008\n\tSO_VM_SOCKETS_BUFFER_MAX_SIZE    = 0x2\n\tSO_VM_SOCKETS_BUFFER_MIN_SIZE    = 0x1\n\tSO_VM_SOCKETS_BUFFER_SIZE        = 0x0\n\tSO_VM_SOCKETS_CONNECT_TIMEOUT    = 0x6\n\tSO_VM_SOCKETS_NONBLOCK_TXRX      = 0x7\n\tSO_VM_SOCKETS_PEER_HOST_VM_ID    = 0x3\n\tSO_VM_SOCKETS_TRUSTED            = 0x5\n\tSO_WIFI_STATUS                   = 0x25\n\tSPLICE_F_GIFT                    = 0x8\n\tSPLICE_F_MORE                    = 0x4\n\tSPLICE_F_MOVE                    = 0x1\n\tSPLICE_F_NONBLOCK                = 0x2\n\tS_BLKSIZE                        = 0x200\n\tS_IEXEC                          = 0x40\n\tS_IFBLK                          = 0x6000\n\tS_IFCHR                          = 0x2000\n\tS_IFDIR                          = 0x4000\n\tS_IFIFO                          = 0x1000\n\tS_IFLNK                          = 0xa000\n\tS_IFMT                           = 0xf000\n\tS_IFREG                          = 0x8000\n\tS_IFSOCK                         = 0xc000\n\tS_IREAD                          = 0x100\n\tS_IRGRP                          = 0x20\n\tS_IROTH                          = 0x4\n\tS_IRUSR                          = 0x100\n\tS_IRWXG                          = 0x38\n\tS_IRWXO                          = 0x7\n\tS_IRWXU                          = 0x1c0\n\tS_ISGID                          = 0x400\n\tS_ISUID                          = 0x800\n\tS_ISVTX                          = 0x200\n\tS_IWGRP                          = 0x10\n\tS_IWOTH                          = 0x2\n\tS_IWRITE                         = 0x80\n\tS_IWUSR                          = 0x80\n\tS_IXGRP                          = 0x8\n\tS_IXOTH                          = 0x1\n\tS_IXUSR                          = 0x40\n\tTAB0                             = 0x0\n\tTAB1                             = 0x800\n\tTAB2                             = 0x1000\n\tTAB3                             = 0x1800\n\tTABDLY                           = 0x1800\n\tTCFLSH                           = 0x20005407\n\tTCGETA                           = 0x40125401\n\tTCGETS                           = 0x40245408\n\tTCGETS2                          = 0x402c540c\n\tTCIFLUSH                         = 0x0\n\tTCIOFF                           = 0x2\n\tTCIOFLUSH                        = 0x2\n\tTCION                            = 0x3\n\tTCOFLUSH                         = 0x1\n\tTCOOFF                           = 0x0\n\tTCOON                            = 0x1\n\tTCP_CC_INFO                      = 0x1a\n\tTCP_CONGESTION                   = 0xd\n\tTCP_COOKIE_IN_ALWAYS             = 0x1\n\tTCP_COOKIE_MAX                   = 0x10\n\tTCP_COOKIE_MIN                   = 0x8\n\tTCP_COOKIE_OUT_NEVER             = 0x2\n\tTCP_COOKIE_PAIR_SIZE             = 0x20\n\tTCP_COOKIE_TRANSACTIONS          = 0xf\n\tTCP_CORK                         = 0x3\n\tTCP_DEFER_ACCEPT                 = 0x9\n\tTCP_FASTOPEN                     = 0x17\n\tTCP_INFO                         = 0xb\n\tTCP_KEEPCNT                      = 0x6\n\tTCP_KEEPIDLE                     = 0x4\n\tTCP_KEEPINTVL                    = 0x5\n\tTCP_LINGER2                      = 0x8\n\tTCP_MAXSEG                       = 0x2\n\tTCP_MAXWIN                       = 0xffff\n\tTCP_MAX_WINSHIFT                 = 0xe\n\tTCP_MD5SIG                       = 0xe\n\tTCP_MD5SIG_MAXKEYLEN             = 0x50\n\tTCP_MSS                          = 0x200\n\tTCP_MSS_DEFAULT                  = 0x218\n\tTCP_MSS_DESIRED                  = 0x4c4\n\tTCP_NODELAY                      = 0x1\n\tTCP_NOTSENT_LOWAT                = 0x19\n\tTCP_QUEUE_SEQ                    = 0x15\n\tTCP_QUICKACK                     = 0xc\n\tTCP_REPAIR                       = 0x13\n\tTCP_REPAIR_OPTIONS               = 0x16\n\tTCP_REPAIR_QUEUE                 = 0x14\n\tTCP_SAVED_SYN                    = 0x1c\n\tTCP_SAVE_SYN                     = 0x1b\n\tTCP_SYNCNT                       = 0x7\n\tTCP_S_DATA_IN                    = 0x4\n\tTCP_S_DATA_OUT                   = 0x8\n\tTCP_THIN_DUPACK                  = 0x11\n\tTCP_THIN_LINEAR_TIMEOUTS         = 0x10\n\tTCP_TIMESTAMP                    = 0x18\n\tTCP_USER_TIMEOUT                 = 0x12\n\tTCP_WINDOW_CLAMP                 = 0xa\n\tTCSAFLUSH                        = 0x2\n\tTCSBRK                           = 0x20005405\n\tTCSBRKP                          = 0x5425\n\tTCSETA                           = 0x80125402\n\tTCSETAF                          = 0x80125404\n\tTCSETAW                          = 0x80125403\n\tTCSETS                           = 0x80245409\n\tTCSETS2                          = 0x802c540d\n\tTCSETSF                          = 0x8024540b\n\tTCSETSF2                         = 0x802c540f\n\tTCSETSW                          = 0x8024540a\n\tTCSETSW2                         = 0x802c540e\n\tTCXONC                           = 0x20005406\n\tTIOCCBRK                         = 0x2000747a\n\tTIOCCONS                         = 0x20007424\n\tTIOCEXCL                         = 0x2000740d\n\tTIOCGDEV                         = 0x40045432\n\tTIOCGETD                         = 0x40047400\n\tTIOCGEXCL                        = 0x40045440\n\tTIOCGICOUNT                      = 0x545d\n\tTIOCGLCKTRMIOS                   = 0x5456\n\tTIOCGPGRP                        = 0x40047483\n\tTIOCGPKT                         = 0x40045438\n\tTIOCGPTLCK                       = 0x40045439\n\tTIOCGPTN                         = 0x40047486\n\tTIOCGRS485                       = 0x40205441\n\tTIOCGSERIAL                      = 0x541e\n\tTIOCGSID                         = 0x40047485\n\tTIOCGSOFTCAR                     = 0x40047464\n\tTIOCGWINSZ                       = 0x40087468\n\tTIOCINQ                          = 0x4004667f\n\tTIOCLINUX                        = 0x541c\n\tTIOCMBIC                         = 0x8004746b\n\tTIOCMBIS                         = 0x8004746c\n\tTIOCMGET                         = 0x4004746a\n\tTIOCMIWAIT                       = 0x545c\n\tTIOCMSET                         = 0x8004746d\n\tTIOCM_CAR                        = 0x40\n\tTIOCM_CD                         = 0x40\n\tTIOCM_CTS                        = 0x20\n\tTIOCM_DSR                        = 0x100\n\tTIOCM_DTR                        = 0x2\n\tTIOCM_LE                         = 0x1\n\tTIOCM_LOOP                       = 0x8000\n\tTIOCM_OUT1                       = 0x2000\n\tTIOCM_OUT2                       = 0x4000\n\tTIOCM_RI                         = 0x80\n\tTIOCM_RNG                        = 0x80\n\tTIOCM_RTS                        = 0x4\n\tTIOCM_SR                         = 0x10\n\tTIOCM_ST                         = 0x8\n\tTIOCNOTTY                        = 0x20007471\n\tTIOCNXCL                         = 0x2000740e\n\tTIOCOUTQ                         = 0x40047473\n\tTIOCPKT                          = 0x80047470\n\tTIOCPKT_DATA                     = 0x0\n\tTIOCPKT_DOSTOP                   = 0x20\n\tTIOCPKT_FLUSHREAD                = 0x1\n\tTIOCPKT_FLUSHWRITE               = 0x2\n\tTIOCPKT_IOCTL                    = 0x40\n\tTIOCPKT_NOSTOP                   = 0x10\n\tTIOCPKT_START                    = 0x8\n\tTIOCPKT_STOP                     = 0x4\n\tTIOCSBRK                         = 0x2000747b\n\tTIOCSCTTY                        = 0x20007484\n\tTIOCSERCONFIG                    = 0x5453\n\tTIOCSERGETLSR                    = 0x5459\n\tTIOCSERGETMULTI                  = 0x545a\n\tTIOCSERGSTRUCT                   = 0x5458\n\tTIOCSERGWILD                     = 0x5454\n\tTIOCSERSETMULTI                  = 0x545b\n\tTIOCSERSWILD                     = 0x5455\n\tTIOCSER_TEMT                     = 0x1\n\tTIOCSETD                         = 0x80047401\n\tTIOCSIG                          = 0x80047488\n\tTIOCSLCKTRMIOS                   = 0x5457\n\tTIOCSPGRP                        = 0x80047482\n\tTIOCSPTLCK                       = 0x80047487\n\tTIOCSRS485                       = 0xc0205442\n\tTIOCSSERIAL                      = 0x541f\n\tTIOCSSOFTCAR                     = 0x80047465\n\tTIOCSTART                        = 0x2000746e\n\tTIOCSTI                          = 0x80017472\n\tTIOCSTOP                         = 0x2000746f\n\tTIOCSWINSZ                       = 0x80087467\n\tTIOCVHANGUP                      = 0x20005437\n\tTOSTOP                           = 0x100\n\tTUNATTACHFILTER                  = 0x801054d5\n\tTUNDETACHFILTER                  = 0x801054d6\n\tTUNGETFEATURES                   = 0x400454cf\n\tTUNGETFILTER                     = 0x401054db\n\tTUNGETIFF                        = 0x400454d2\n\tTUNGETSNDBUF                     = 0x400454d3\n\tTUNGETVNETBE                     = 0x400454df\n\tTUNGETVNETHDRSZ                  = 0x400454d7\n\tTUNGETVNETLE                     = 0x400454dd\n\tTUNSETDEBUG                      = 0x800454c9\n\tTUNSETGROUP                      = 0x800454ce\n\tTUNSETIFF                        = 0x800454ca\n\tTUNSETIFINDEX                    = 0x800454da\n\tTUNSETLINK                       = 0x800454cd\n\tTUNSETNOCSUM                     = 0x800454c8\n\tTUNSETOFFLOAD                    = 0x800454d0\n\tTUNSETOWNER                      = 0x800454cc\n\tTUNSETPERSIST                    = 0x800454cb\n\tTUNSETQUEUE                      = 0x800454d9\n\tTUNSETSNDBUF                     = 0x800454d4\n\tTUNSETTXFILTER                   = 0x800454d1\n\tTUNSETVNETBE                     = 0x800454de\n\tTUNSETVNETHDRSZ                  = 0x800454d8\n\tTUNSETVNETLE                     = 0x800454dc\n\tVDISCARD                         = 0xd\n\tVDSUSP                           = 0xb\n\tVEOF                             = 0x4\n\tVEOL                             = 0x5\n\tVEOL2                            = 0x6\n\tVERASE                           = 0x2\n\tVINTR                            = 0x0\n\tVKILL                            = 0x3\n\tVLNEXT                           = 0xf\n\tVMADDR_CID_ANY                   = 0xffffffff\n\tVMADDR_CID_HOST                  = 0x2\n\tVMADDR_CID_HYPERVISOR            = 0x0\n\tVMADDR_CID_RESERVED              = 0x1\n\tVMADDR_PORT_ANY                  = 0xffffffff\n\tVMIN                             = 0x4\n\tVQUIT                            = 0x1\n\tVREPRINT                         = 0xc\n\tVSTART                           = 0x8\n\tVSTOP                            = 0x9\n\tVSUSP                            = 0xa\n\tVSWTC                            = 0x7\n\tVT0                              = 0x0\n\tVT1                              = 0x4000\n\tVTDLY                            = 0x4000\n\tVTIME                            = 0x5\n\tVWERASE                          = 0xe\n\tWALL                             = 0x40000000\n\tWCLONE                           = 0x80000000\n\tWCONTINUED                       = 0x8\n\tWEXITED                          = 0x4\n\tWNOHANG                          = 0x1\n\tWNOTHREAD                        = 0x20000000\n\tWNOWAIT                          = 0x1000000\n\tWORDSIZE                         = 0x40\n\tWRAP                             = 0x20000\n\tWSTOPPED                         = 0x2\n\tWUNTRACED                        = 0x2\n\tXCASE                            = 0x4\n\tXTABS                            = 0x1800\n\t__TIOCFLUSH                      = 0x80047410\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x30)\n\tEADDRNOTAVAIL   = syscall.Errno(0x31)\n\tEADV            = syscall.Errno(0x53)\n\tEAFNOSUPPORT    = syscall.Errno(0x2f)\n\tEAGAIN          = syscall.Errno(0xb)\n\tEALREADY        = syscall.Errno(0x25)\n\tEBADE           = syscall.Errno(0x66)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADFD          = syscall.Errno(0x5d)\n\tEBADMSG         = syscall.Errno(0x4c)\n\tEBADR           = syscall.Errno(0x67)\n\tEBADRQC         = syscall.Errno(0x6a)\n\tEBADSLT         = syscall.Errno(0x6b)\n\tEBFONT          = syscall.Errno(0x6d)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x7f)\n\tECHILD          = syscall.Errno(0xa)\n\tECHRNG          = syscall.Errno(0x5e)\n\tECOMM           = syscall.Errno(0x55)\n\tECONNABORTED    = syscall.Errno(0x35)\n\tECONNREFUSED    = syscall.Errno(0x3d)\n\tECONNRESET      = syscall.Errno(0x36)\n\tEDEADLK         = syscall.Errno(0x4e)\n\tEDEADLOCK       = syscall.Errno(0x6c)\n\tEDESTADDRREQ    = syscall.Errno(0x27)\n\tEDOM            = syscall.Errno(0x21)\n\tEDOTDOT         = syscall.Errno(0x58)\n\tEDQUOT          = syscall.Errno(0x45)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEHOSTDOWN       = syscall.Errno(0x40)\n\tEHOSTUNREACH    = syscall.Errno(0x41)\n\tEHWPOISON       = syscall.Errno(0x87)\n\tEIDRM           = syscall.Errno(0x4d)\n\tEILSEQ          = syscall.Errno(0x7a)\n\tEINPROGRESS     = syscall.Errno(0x24)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x38)\n\tEISDIR          = syscall.Errno(0x15)\n\tEISNAM          = syscall.Errno(0x78)\n\tEKEYEXPIRED     = syscall.Errno(0x81)\n\tEKEYREJECTED    = syscall.Errno(0x83)\n\tEKEYREVOKED     = syscall.Errno(0x82)\n\tEL2HLT          = syscall.Errno(0x65)\n\tEL2NSYNC        = syscall.Errno(0x5f)\n\tEL3HLT          = syscall.Errno(0x60)\n\tEL3RST          = syscall.Errno(0x61)\n\tELIBACC         = syscall.Errno(0x72)\n\tELIBBAD         = syscall.Errno(0x70)\n\tELIBEXEC        = syscall.Errno(0x6e)\n\tELIBMAX         = syscall.Errno(0x7b)\n\tELIBSCN         = syscall.Errno(0x7c)\n\tELNRNG          = syscall.Errno(0x62)\n\tELOOP           = syscall.Errno(0x3e)\n\tEMEDIUMTYPE     = syscall.Errno(0x7e)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x28)\n\tEMULTIHOP       = syscall.Errno(0x57)\n\tENAMETOOLONG    = syscall.Errno(0x3f)\n\tENAVAIL         = syscall.Errno(0x77)\n\tENETDOWN        = syscall.Errno(0x32)\n\tENETRESET       = syscall.Errno(0x34)\n\tENETUNREACH     = syscall.Errno(0x33)\n\tENFILE          = syscall.Errno(0x17)\n\tENOANO          = syscall.Errno(0x69)\n\tENOBUFS         = syscall.Errno(0x37)\n\tENOCSI          = syscall.Errno(0x64)\n\tENODATA         = syscall.Errno(0x6f)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOKEY          = syscall.Errno(0x80)\n\tENOLCK          = syscall.Errno(0x4f)\n\tENOLINK         = syscall.Errno(0x52)\n\tENOMEDIUM       = syscall.Errno(0x7d)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x4b)\n\tENONET          = syscall.Errno(0x50)\n\tENOPKG          = syscall.Errno(0x71)\n\tENOPROTOOPT     = syscall.Errno(0x2a)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x4a)\n\tENOSTR          = syscall.Errno(0x48)\n\tENOSYS          = syscall.Errno(0x5a)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x39)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x42)\n\tENOTNAM         = syscall.Errno(0x76)\n\tENOTRECOVERABLE = syscall.Errno(0x85)\n\tENOTSOCK        = syscall.Errno(0x26)\n\tENOTSUP         = syscall.Errno(0x2d)\n\tENOTTY          = syscall.Errno(0x19)\n\tENOTUNIQ        = syscall.Errno(0x73)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x2d)\n\tEOVERFLOW       = syscall.Errno(0x5c)\n\tEOWNERDEAD      = syscall.Errno(0x84)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x2e)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROCLIM        = syscall.Errno(0x43)\n\tEPROTO          = syscall.Errno(0x56)\n\tEPROTONOSUPPORT = syscall.Errno(0x2b)\n\tEPROTOTYPE      = syscall.Errno(0x29)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMCHG         = syscall.Errno(0x59)\n\tEREMOTE         = syscall.Errno(0x47)\n\tEREMOTEIO       = syscall.Errno(0x79)\n\tERESTART        = syscall.Errno(0x74)\n\tERFKILL         = syscall.Errno(0x86)\n\tEROFS           = syscall.Errno(0x1e)\n\tERREMOTE        = syscall.Errno(0x51)\n\tESHUTDOWN       = syscall.Errno(0x3a)\n\tESOCKTNOSUPPORT = syscall.Errno(0x2c)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESRMNT          = syscall.Errno(0x54)\n\tESTALE          = syscall.Errno(0x46)\n\tESTRPIPE        = syscall.Errno(0x5b)\n\tETIME           = syscall.Errno(0x49)\n\tETIMEDOUT       = syscall.Errno(0x3c)\n\tETOOMANYREFS    = syscall.Errno(0x3b)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUCLEAN         = syscall.Errno(0x75)\n\tEUNATCH         = syscall.Errno(0x63)\n\tEUSERS          = syscall.Errno(0x44)\n\tEWOULDBLOCK     = syscall.Errno(0xb)\n\tEXDEV           = syscall.Errno(0x12)\n\tEXFULL          = syscall.Errno(0x68)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x14)\n\tSIGCLD    = syscall.Signal(0x14)\n\tSIGCONT   = syscall.Signal(0x13)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x17)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGLOST   = syscall.Signal(0x1d)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPOLL   = syscall.Signal(0x17)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGPWR    = syscall.Signal(0x1d)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x11)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x12)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x10)\n\tSIGUSR1   = syscall.Signal(0x1e)\n\tSIGUSR2   = syscall.Signal(0x1f)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errors = [...]string{\n\t1:   \"operation not permitted\",\n\t2:   \"no such file or directory\",\n\t3:   \"no such process\",\n\t4:   \"interrupted system call\",\n\t5:   \"input/output error\",\n\t6:   \"no such device or address\",\n\t7:   \"argument list too long\",\n\t8:   \"exec format error\",\n\t9:   \"bad file descriptor\",\n\t10:  \"no child processes\",\n\t11:  \"resource temporarily unavailable\",\n\t12:  \"cannot allocate memory\",\n\t13:  \"permission denied\",\n\t14:  \"bad address\",\n\t15:  \"block device required\",\n\t16:  \"device or resource busy\",\n\t17:  \"file exists\",\n\t18:  \"invalid cross-device link\",\n\t19:  \"no such device\",\n\t20:  \"not a directory\",\n\t21:  \"is a directory\",\n\t22:  \"invalid argument\",\n\t23:  \"too many open files in system\",\n\t24:  \"too many open files\",\n\t25:  \"inappropriate ioctl for device\",\n\t26:  \"text file busy\",\n\t27:  \"file too large\",\n\t28:  \"no space left on device\",\n\t29:  \"illegal seek\",\n\t30:  \"read-only file system\",\n\t31:  \"too many links\",\n\t32:  \"broken pipe\",\n\t33:  \"numerical argument out of domain\",\n\t34:  \"numerical result out of range\",\n\t36:  \"operation now in progress\",\n\t37:  \"operation already in progress\",\n\t38:  \"socket operation on non-socket\",\n\t39:  \"destination address required\",\n\t40:  \"message too long\",\n\t41:  \"protocol wrong type for socket\",\n\t42:  \"protocol not available\",\n\t43:  \"protocol not supported\",\n\t44:  \"socket type not supported\",\n\t45:  \"operation not supported\",\n\t46:  \"protocol family not supported\",\n\t47:  \"address family not supported by protocol\",\n\t48:  \"address already in use\",\n\t49:  \"cannot assign requested address\",\n\t50:  \"network is down\",\n\t51:  \"network is unreachable\",\n\t52:  \"network dropped connection on reset\",\n\t53:  \"software caused connection abort\",\n\t54:  \"connection reset by peer\",\n\t55:  \"no buffer space available\",\n\t56:  \"transport endpoint is already connected\",\n\t57:  \"transport endpoint is not connected\",\n\t58:  \"cannot send after transport endpoint shutdown\",\n\t59:  \"too many references: cannot splice\",\n\t60:  \"connection timed out\",\n\t61:  \"connection refused\",\n\t62:  \"too many levels of symbolic links\",\n\t63:  \"file name too long\",\n\t64:  \"host is down\",\n\t65:  \"no route to host\",\n\t66:  \"directory not empty\",\n\t67:  \"too many processes\",\n\t68:  \"too many users\",\n\t69:  \"disk quota exceeded\",\n\t70:  \"stale file handle\",\n\t71:  \"object is remote\",\n\t72:  \"device not a stream\",\n\t73:  \"timer expired\",\n\t74:  \"out of streams resources\",\n\t75:  \"no message of desired type\",\n\t76:  \"bad message\",\n\t77:  \"identifier removed\",\n\t78:  \"resource deadlock avoided\",\n\t79:  \"no locks available\",\n\t80:  \"machine is not on the network\",\n\t81:  \"unknown error 81\",\n\t82:  \"link has been severed\",\n\t83:  \"advertise error\",\n\t84:  \"srmount error\",\n\t85:  \"communication error on send\",\n\t86:  \"protocol error\",\n\t87:  \"multihop attempted\",\n\t88:  \"RFS specific error\",\n\t89:  \"remote address changed\",\n\t90:  \"function not implemented\",\n\t91:  \"streams pipe error\",\n\t92:  \"value too large for defined data type\",\n\t93:  \"file descriptor in bad state\",\n\t94:  \"channel number out of range\",\n\t95:  \"level 2 not synchronized\",\n\t96:  \"level 3 halted\",\n\t97:  \"level 3 reset\",\n\t98:  \"link number out of range\",\n\t99:  \"protocol driver not attached\",\n\t100: \"no CSI structure available\",\n\t101: \"level 2 halted\",\n\t102: \"invalid exchange\",\n\t103: \"invalid request descriptor\",\n\t104: \"exchange full\",\n\t105: \"no anode\",\n\t106: \"invalid request code\",\n\t107: \"invalid slot\",\n\t108: \"file locking deadlock error\",\n\t109: \"bad font file format\",\n\t110: \"cannot exec a shared library directly\",\n\t111: \"no data available\",\n\t112: \"accessing a corrupted shared library\",\n\t113: \"package not installed\",\n\t114: \"can not access a needed shared library\",\n\t115: \"name not unique on network\",\n\t116: \"interrupted system call should be restarted\",\n\t117: \"structure needs cleaning\",\n\t118: \"not a XENIX named type file\",\n\t119: \"no XENIX semaphores available\",\n\t120: \"is a named type file\",\n\t121: \"remote I/O error\",\n\t122: \"invalid or incomplete multibyte or wide character\",\n\t123: \"attempting to link in too many shared libraries\",\n\t124: \".lib section in a.out corrupted\",\n\t125: \"no medium found\",\n\t126: \"wrong medium type\",\n\t127: \"operation canceled\",\n\t128: \"required key not available\",\n\t129: \"key has expired\",\n\t130: \"key has been revoked\",\n\t131: \"key was rejected by service\",\n\t132: \"owner died\",\n\t133: \"state not recoverable\",\n\t134: \"operation not possible due to RF-kill\",\n\t135: \"memory page has hardware error\",\n}\n\n// Signal table\nvar signals = [...]string{\n\t1:  \"hangup\",\n\t2:  \"interrupt\",\n\t3:  \"quit\",\n\t4:  \"illegal instruction\",\n\t5:  \"trace/breakpoint trap\",\n\t6:  \"aborted\",\n\t7:  \"EMT trap\",\n\t8:  \"floating point exception\",\n\t9:  \"killed\",\n\t10: \"bus error\",\n\t11: \"segmentation fault\",\n\t12: \"bad system call\",\n\t13: \"broken pipe\",\n\t14: \"alarm clock\",\n\t15: \"terminated\",\n\t16: \"urgent I/O condition\",\n\t17: \"stopped (signal)\",\n\t18: \"stopped\",\n\t19: \"continued\",\n\t20: \"child exited\",\n\t21: \"stopped (tty input)\",\n\t22: \"stopped (tty output)\",\n\t23: \"I/O possible\",\n\t24: \"CPU time limit exceeded\",\n\t25: \"file size limit exceeded\",\n\t26: \"virtual timer expired\",\n\t27: \"profiling timer expired\",\n\t28: \"window changed\",\n\t29: \"resource lost\",\n\t30: \"user defined signal 1\",\n\t31: \"user defined signal 2\",\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go",
    "content": "// mkerrors.sh -m32\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build 386,netbsd\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -m32 _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_APPLETALK                      = 0x10\n\tAF_ARP                            = 0x1c\n\tAF_BLUETOOTH                      = 0x1f\n\tAF_CCITT                          = 0xa\n\tAF_CHAOS                          = 0x5\n\tAF_CNT                            = 0x15\n\tAF_COIP                           = 0x14\n\tAF_DATAKIT                        = 0x9\n\tAF_DECnet                         = 0xc\n\tAF_DLI                            = 0xd\n\tAF_E164                           = 0x1a\n\tAF_ECMA                           = 0x8\n\tAF_HYLINK                         = 0xf\n\tAF_IEEE80211                      = 0x20\n\tAF_IMPLINK                        = 0x3\n\tAF_INET                           = 0x2\n\tAF_INET6                          = 0x18\n\tAF_IPX                            = 0x17\n\tAF_ISDN                           = 0x1a\n\tAF_ISO                            = 0x7\n\tAF_LAT                            = 0xe\n\tAF_LINK                           = 0x12\n\tAF_LOCAL                          = 0x1\n\tAF_MAX                            = 0x23\n\tAF_MPLS                           = 0x21\n\tAF_NATM                           = 0x1b\n\tAF_NS                             = 0x6\n\tAF_OROUTE                         = 0x11\n\tAF_OSI                            = 0x7\n\tAF_PUP                            = 0x4\n\tAF_ROUTE                          = 0x22\n\tAF_SNA                            = 0xb\n\tAF_UNIX                           = 0x1\n\tAF_UNSPEC                         = 0x0\n\tARPHRD_ARCNET                     = 0x7\n\tARPHRD_ETHER                      = 0x1\n\tARPHRD_FRELAY                     = 0xf\n\tARPHRD_IEEE1394                   = 0x18\n\tARPHRD_IEEE802                    = 0x6\n\tARPHRD_STRIP                      = 0x17\n\tB0                                = 0x0\n\tB110                              = 0x6e\n\tB115200                           = 0x1c200\n\tB1200                             = 0x4b0\n\tB134                              = 0x86\n\tB14400                            = 0x3840\n\tB150                              = 0x96\n\tB1800                             = 0x708\n\tB19200                            = 0x4b00\n\tB200                              = 0xc8\n\tB230400                           = 0x38400\n\tB2400                             = 0x960\n\tB28800                            = 0x7080\n\tB300                              = 0x12c\n\tB38400                            = 0x9600\n\tB460800                           = 0x70800\n\tB4800                             = 0x12c0\n\tB50                               = 0x32\n\tB57600                            = 0xe100\n\tB600                              = 0x258\n\tB7200                             = 0x1c20\n\tB75                               = 0x4b\n\tB76800                            = 0x12c00\n\tB921600                           = 0xe1000\n\tB9600                             = 0x2580\n\tBIOCFEEDBACK                      = 0x8004427d\n\tBIOCFLUSH                         = 0x20004268\n\tBIOCGBLEN                         = 0x40044266\n\tBIOCGDLT                          = 0x4004426a\n\tBIOCGDLTLIST                      = 0xc0084277\n\tBIOCGETIF                         = 0x4090426b\n\tBIOCGFEEDBACK                     = 0x4004427c\n\tBIOCGHDRCMPLT                     = 0x40044274\n\tBIOCGRTIMEOUT                     = 0x400c427b\n\tBIOCGSEESENT                      = 0x40044278\n\tBIOCGSTATS                        = 0x4080426f\n\tBIOCGSTATSOLD                     = 0x4008426f\n\tBIOCIMMEDIATE                     = 0x80044270\n\tBIOCPROMISC                       = 0x20004269\n\tBIOCSBLEN                         = 0xc0044266\n\tBIOCSDLT                          = 0x80044276\n\tBIOCSETF                          = 0x80084267\n\tBIOCSETIF                         = 0x8090426c\n\tBIOCSFEEDBACK                     = 0x8004427d\n\tBIOCSHDRCMPLT                     = 0x80044275\n\tBIOCSRTIMEOUT                     = 0x800c427a\n\tBIOCSSEESENT                      = 0x80044279\n\tBIOCSTCPF                         = 0x80084272\n\tBIOCSUDPF                         = 0x80084273\n\tBIOCVERSION                       = 0x40044271\n\tBPF_A                             = 0x10\n\tBPF_ABS                           = 0x20\n\tBPF_ADD                           = 0x0\n\tBPF_ALIGNMENT                     = 0x4\n\tBPF_ALIGNMENT32                   = 0x4\n\tBPF_ALU                           = 0x4\n\tBPF_AND                           = 0x50\n\tBPF_B                             = 0x10\n\tBPF_DFLTBUFSIZE                   = 0x100000\n\tBPF_DIV                           = 0x30\n\tBPF_H                             = 0x8\n\tBPF_IMM                           = 0x0\n\tBPF_IND                           = 0x40\n\tBPF_JA                            = 0x0\n\tBPF_JEQ                           = 0x10\n\tBPF_JGE                           = 0x30\n\tBPF_JGT                           = 0x20\n\tBPF_JMP                           = 0x5\n\tBPF_JSET                          = 0x40\n\tBPF_K                             = 0x0\n\tBPF_LD                            = 0x0\n\tBPF_LDX                           = 0x1\n\tBPF_LEN                           = 0x80\n\tBPF_LSH                           = 0x60\n\tBPF_MAJOR_VERSION                 = 0x1\n\tBPF_MAXBUFSIZE                    = 0x1000000\n\tBPF_MAXINSNS                      = 0x200\n\tBPF_MEM                           = 0x60\n\tBPF_MEMWORDS                      = 0x10\n\tBPF_MINBUFSIZE                    = 0x20\n\tBPF_MINOR_VERSION                 = 0x1\n\tBPF_MISC                          = 0x7\n\tBPF_MSH                           = 0xa0\n\tBPF_MUL                           = 0x20\n\tBPF_NEG                           = 0x80\n\tBPF_OR                            = 0x40\n\tBPF_RELEASE                       = 0x30bb6\n\tBPF_RET                           = 0x6\n\tBPF_RSH                           = 0x70\n\tBPF_ST                            = 0x2\n\tBPF_STX                           = 0x3\n\tBPF_SUB                           = 0x10\n\tBPF_TAX                           = 0x0\n\tBPF_TXA                           = 0x80\n\tBPF_W                             = 0x0\n\tBPF_X                             = 0x8\n\tBRKINT                            = 0x2\n\tCFLUSH                            = 0xf\n\tCLOCAL                            = 0x8000\n\tCLONE_CSIGNAL                     = 0xff\n\tCLONE_FILES                       = 0x400\n\tCLONE_FS                          = 0x200\n\tCLONE_PID                         = 0x1000\n\tCLONE_PTRACE                      = 0x2000\n\tCLONE_SIGHAND                     = 0x800\n\tCLONE_VFORK                       = 0x4000\n\tCLONE_VM                          = 0x100\n\tCREAD                             = 0x800\n\tCRTSCTS                           = 0x10000\n\tCS5                               = 0x0\n\tCS6                               = 0x100\n\tCS7                               = 0x200\n\tCS8                               = 0x300\n\tCSIZE                             = 0x300\n\tCSTART                            = 0x11\n\tCSTATUS                           = 0x14\n\tCSTOP                             = 0x13\n\tCSTOPB                            = 0x400\n\tCSUSP                             = 0x1a\n\tCTL_HW                            = 0x6\n\tCTL_KERN                          = 0x1\n\tCTL_MAXNAME                       = 0xc\n\tCTL_NET                           = 0x4\n\tCTL_QUERY                         = -0x2\n\tDIOCBSFLUSH                       = 0x20006478\n\tDLT_A429                          = 0xb8\n\tDLT_A653_ICM                      = 0xb9\n\tDLT_AIRONET_HEADER                = 0x78\n\tDLT_AOS                           = 0xde\n\tDLT_APPLE_IP_OVER_IEEE1394        = 0x8a\n\tDLT_ARCNET                        = 0x7\n\tDLT_ARCNET_LINUX                  = 0x81\n\tDLT_ATM_CLIP                      = 0x13\n\tDLT_ATM_RFC1483                   = 0xb\n\tDLT_AURORA                        = 0x7e\n\tDLT_AX25                          = 0x3\n\tDLT_AX25_KISS                     = 0xca\n\tDLT_BACNET_MS_TP                  = 0xa5\n\tDLT_BLUETOOTH_HCI_H4              = 0xbb\n\tDLT_BLUETOOTH_HCI_H4_WITH_PHDR    = 0xc9\n\tDLT_CAN20B                        = 0xbe\n\tDLT_CAN_SOCKETCAN                 = 0xe3\n\tDLT_CHAOS                         = 0x5\n\tDLT_CISCO_IOS                     = 0x76\n\tDLT_C_HDLC                        = 0x68\n\tDLT_C_HDLC_WITH_DIR               = 0xcd\n\tDLT_DECT                          = 0xdd\n\tDLT_DOCSIS                        = 0x8f\n\tDLT_ECONET                        = 0x73\n\tDLT_EN10MB                        = 0x1\n\tDLT_EN3MB                         = 0x2\n\tDLT_ENC                           = 0x6d\n\tDLT_ERF                           = 0xc5\n\tDLT_ERF_ETH                       = 0xaf\n\tDLT_ERF_POS                       = 0xb0\n\tDLT_FC_2                          = 0xe0\n\tDLT_FC_2_WITH_FRAME_DELIMS        = 0xe1\n\tDLT_FDDI                          = 0xa\n\tDLT_FLEXRAY                       = 0xd2\n\tDLT_FRELAY                        = 0x6b\n\tDLT_FRELAY_WITH_DIR               = 0xce\n\tDLT_GCOM_SERIAL                   = 0xad\n\tDLT_GCOM_T1E1                     = 0xac\n\tDLT_GPF_F                         = 0xab\n\tDLT_GPF_T                         = 0xaa\n\tDLT_GPRS_LLC                      = 0xa9\n\tDLT_GSMTAP_ABIS                   = 0xda\n\tDLT_GSMTAP_UM                     = 0xd9\n\tDLT_HDLC                          = 0x10\n\tDLT_HHDLC                         = 0x79\n\tDLT_HIPPI                         = 0xf\n\tDLT_IBM_SN                        = 0x92\n\tDLT_IBM_SP                        = 0x91\n\tDLT_IEEE802                       = 0x6\n\tDLT_IEEE802_11                    = 0x69\n\tDLT_IEEE802_11_RADIO              = 0x7f\n\tDLT_IEEE802_11_RADIO_AVS          = 0xa3\n\tDLT_IEEE802_15_4                  = 0xc3\n\tDLT_IEEE802_15_4_LINUX            = 0xbf\n\tDLT_IEEE802_15_4_NONASK_PHY       = 0xd7\n\tDLT_IEEE802_16_MAC_CPS            = 0xbc\n\tDLT_IEEE802_16_MAC_CPS_RADIO      = 0xc1\n\tDLT_IPMB                          = 0xc7\n\tDLT_IPMB_LINUX                    = 0xd1\n\tDLT_IPNET                         = 0xe2\n\tDLT_IPV4                          = 0xe4\n\tDLT_IPV6                          = 0xe5\n\tDLT_IP_OVER_FC                    = 0x7a\n\tDLT_JUNIPER_ATM1                  = 0x89\n\tDLT_JUNIPER_ATM2                  = 0x87\n\tDLT_JUNIPER_CHDLC                 = 0xb5\n\tDLT_JUNIPER_ES                    = 0x84\n\tDLT_JUNIPER_ETHER                 = 0xb2\n\tDLT_JUNIPER_FRELAY                = 0xb4\n\tDLT_JUNIPER_GGSN                  = 0x85\n\tDLT_JUNIPER_ISM                   = 0xc2\n\tDLT_JUNIPER_MFR                   = 0x86\n\tDLT_JUNIPER_MLFR                  = 0x83\n\tDLT_JUNIPER_MLPPP                 = 0x82\n\tDLT_JUNIPER_MONITOR               = 0xa4\n\tDLT_JUNIPER_PIC_PEER              = 0xae\n\tDLT_JUNIPER_PPP                   = 0xb3\n\tDLT_JUNIPER_PPPOE                 = 0xa7\n\tDLT_JUNIPER_PPPOE_ATM             = 0xa8\n\tDLT_JUNIPER_SERVICES              = 0x88\n\tDLT_JUNIPER_ST                    = 0xc8\n\tDLT_JUNIPER_VP                    = 0xb7\n\tDLT_LAPB_WITH_DIR                 = 0xcf\n\tDLT_LAPD                          = 0xcb\n\tDLT_LIN                           = 0xd4\n\tDLT_LINUX_EVDEV                   = 0xd8\n\tDLT_LINUX_IRDA                    = 0x90\n\tDLT_LINUX_LAPD                    = 0xb1\n\tDLT_LINUX_SLL                     = 0x71\n\tDLT_LOOP                          = 0x6c\n\tDLT_LTALK                         = 0x72\n\tDLT_MFR                           = 0xb6\n\tDLT_MOST                          = 0xd3\n\tDLT_MPLS                          = 0xdb\n\tDLT_MTP2                          = 0x8c\n\tDLT_MTP2_WITH_PHDR                = 0x8b\n\tDLT_MTP3                          = 0x8d\n\tDLT_NULL                          = 0x0\n\tDLT_PCI_EXP                       = 0x7d\n\tDLT_PFLOG                         = 0x75\n\tDLT_PFSYNC                        = 0x12\n\tDLT_PPI                           = 0xc0\n\tDLT_PPP                           = 0x9\n\tDLT_PPP_BSDOS                     = 0xe\n\tDLT_PPP_ETHER                     = 0x33\n\tDLT_PPP_PPPD                      = 0xa6\n\tDLT_PPP_SERIAL                    = 0x32\n\tDLT_PPP_WITH_DIR                  = 0xcc\n\tDLT_PRISM_HEADER                  = 0x77\n\tDLT_PRONET                        = 0x4\n\tDLT_RAIF1                         = 0xc6\n\tDLT_RAW                           = 0xc\n\tDLT_RAWAF_MASK                    = 0x2240000\n\tDLT_RIO                           = 0x7c\n\tDLT_SCCP                          = 0x8e\n\tDLT_SITA                          = 0xc4\n\tDLT_SLIP                          = 0x8\n\tDLT_SLIP_BSDOS                    = 0xd\n\tDLT_SUNATM                        = 0x7b\n\tDLT_SYMANTEC_FIREWALL             = 0x63\n\tDLT_TZSP                          = 0x80\n\tDLT_USB                           = 0xba\n\tDLT_USB_LINUX                     = 0xbd\n\tDLT_USB_LINUX_MMAPPED             = 0xdc\n\tDLT_WIHART                        = 0xdf\n\tDLT_X2E_SERIAL                    = 0xd5\n\tDLT_X2E_XORAYA                    = 0xd6\n\tDT_BLK                            = 0x6\n\tDT_CHR                            = 0x2\n\tDT_DIR                            = 0x4\n\tDT_FIFO                           = 0x1\n\tDT_LNK                            = 0xa\n\tDT_REG                            = 0x8\n\tDT_SOCK                           = 0xc\n\tDT_UNKNOWN                        = 0x0\n\tDT_WHT                            = 0xe\n\tECHO                              = 0x8\n\tECHOCTL                           = 0x40\n\tECHOE                             = 0x2\n\tECHOK                             = 0x4\n\tECHOKE                            = 0x1\n\tECHONL                            = 0x10\n\tECHOPRT                           = 0x20\n\tEMUL_LINUX                        = 0x1\n\tEMUL_LINUX32                      = 0x5\n\tEMUL_MAXID                        = 0x6\n\tEN_SW_CTL_INF                     = 0x1000\n\tEN_SW_CTL_PREC                    = 0x300\n\tEN_SW_CTL_ROUND                   = 0xc00\n\tEN_SW_DATACHAIN                   = 0x80\n\tEN_SW_DENORM                      = 0x2\n\tEN_SW_INVOP                       = 0x1\n\tEN_SW_OVERFLOW                    = 0x8\n\tEN_SW_PRECLOSS                    = 0x20\n\tEN_SW_UNDERFLOW                   = 0x10\n\tEN_SW_ZERODIV                     = 0x4\n\tETHERCAP_JUMBO_MTU                = 0x4\n\tETHERCAP_VLAN_HWTAGGING           = 0x2\n\tETHERCAP_VLAN_MTU                 = 0x1\n\tETHERMIN                          = 0x2e\n\tETHERMTU                          = 0x5dc\n\tETHERMTU_JUMBO                    = 0x2328\n\tETHERTYPE_8023                    = 0x4\n\tETHERTYPE_AARP                    = 0x80f3\n\tETHERTYPE_ACCTON                  = 0x8390\n\tETHERTYPE_AEONIC                  = 0x8036\n\tETHERTYPE_ALPHA                   = 0x814a\n\tETHERTYPE_AMBER                   = 0x6008\n\tETHERTYPE_AMOEBA                  = 0x8145\n\tETHERTYPE_APOLLO                  = 0x80f7\n\tETHERTYPE_APOLLODOMAIN            = 0x8019\n\tETHERTYPE_APPLETALK               = 0x809b\n\tETHERTYPE_APPLITEK                = 0x80c7\n\tETHERTYPE_ARGONAUT                = 0x803a\n\tETHERTYPE_ARP                     = 0x806\n\tETHERTYPE_AT                      = 0x809b\n\tETHERTYPE_ATALK                   = 0x809b\n\tETHERTYPE_ATOMIC                  = 0x86df\n\tETHERTYPE_ATT                     = 0x8069\n\tETHERTYPE_ATTSTANFORD             = 0x8008\n\tETHERTYPE_AUTOPHON                = 0x806a\n\tETHERTYPE_AXIS                    = 0x8856\n\tETHERTYPE_BCLOOP                  = 0x9003\n\tETHERTYPE_BOFL                    = 0x8102\n\tETHERTYPE_CABLETRON               = 0x7034\n\tETHERTYPE_CHAOS                   = 0x804\n\tETHERTYPE_COMDESIGN               = 0x806c\n\tETHERTYPE_COMPUGRAPHIC            = 0x806d\n\tETHERTYPE_COUNTERPOINT            = 0x8062\n\tETHERTYPE_CRONUS                  = 0x8004\n\tETHERTYPE_CRONUSVLN               = 0x8003\n\tETHERTYPE_DCA                     = 0x1234\n\tETHERTYPE_DDE                     = 0x807b\n\tETHERTYPE_DEBNI                   = 0xaaaa\n\tETHERTYPE_DECAM                   = 0x8048\n\tETHERTYPE_DECCUST                 = 0x6006\n\tETHERTYPE_DECDIAG                 = 0x6005\n\tETHERTYPE_DECDNS                  = 0x803c\n\tETHERTYPE_DECDTS                  = 0x803e\n\tETHERTYPE_DECEXPER                = 0x6000\n\tETHERTYPE_DECLAST                 = 0x8041\n\tETHERTYPE_DECLTM                  = 0x803f\n\tETHERTYPE_DECMUMPS                = 0x6009\n\tETHERTYPE_DECNETBIOS              = 0x8040\n\tETHERTYPE_DELTACON                = 0x86de\n\tETHERTYPE_DIDDLE                  = 0x4321\n\tETHERTYPE_DLOG1                   = 0x660\n\tETHERTYPE_DLOG2                   = 0x661\n\tETHERTYPE_DN                      = 0x6003\n\tETHERTYPE_DOGFIGHT                = 0x1989\n\tETHERTYPE_DSMD                    = 0x8039\n\tETHERTYPE_ECMA                    = 0x803\n\tETHERTYPE_ENCRYPT                 = 0x803d\n\tETHERTYPE_ES                      = 0x805d\n\tETHERTYPE_EXCELAN                 = 0x8010\n\tETHERTYPE_EXPERDATA               = 0x8049\n\tETHERTYPE_FLIP                    = 0x8146\n\tETHERTYPE_FLOWCONTROL             = 0x8808\n\tETHERTYPE_FRARP                   = 0x808\n\tETHERTYPE_GENDYN                  = 0x8068\n\tETHERTYPE_HAYES                   = 0x8130\n\tETHERTYPE_HIPPI_FP                = 0x8180\n\tETHERTYPE_HITACHI                 = 0x8820\n\tETHERTYPE_HP                      = 0x8005\n\tETHERTYPE_IEEEPUP                 = 0xa00\n\tETHERTYPE_IEEEPUPAT               = 0xa01\n\tETHERTYPE_IMLBL                   = 0x4c42\n\tETHERTYPE_IMLBLDIAG               = 0x424c\n\tETHERTYPE_IP                      = 0x800\n\tETHERTYPE_IPAS                    = 0x876c\n\tETHERTYPE_IPV6                    = 0x86dd\n\tETHERTYPE_IPX                     = 0x8137\n\tETHERTYPE_IPXNEW                  = 0x8037\n\tETHERTYPE_KALPANA                 = 0x8582\n\tETHERTYPE_LANBRIDGE               = 0x8038\n\tETHERTYPE_LANPROBE                = 0x8888\n\tETHERTYPE_LAT                     = 0x6004\n\tETHERTYPE_LBACK                   = 0x9000\n\tETHERTYPE_LITTLE                  = 0x8060\n\tETHERTYPE_LOGICRAFT               = 0x8148\n\tETHERTYPE_LOOPBACK                = 0x9000\n\tETHERTYPE_MATRA                   = 0x807a\n\tETHERTYPE_MAX                     = 0xffff\n\tETHERTYPE_MERIT                   = 0x807c\n\tETHERTYPE_MICP                    = 0x873a\n\tETHERTYPE_MOPDL                   = 0x6001\n\tETHERTYPE_MOPRC                   = 0x6002\n\tETHERTYPE_MOTOROLA                = 0x818d\n\tETHERTYPE_MPLS                    = 0x8847\n\tETHERTYPE_MPLS_MCAST              = 0x8848\n\tETHERTYPE_MUMPS                   = 0x813f\n\tETHERTYPE_NBPCC                   = 0x3c04\n\tETHERTYPE_NBPCLAIM                = 0x3c09\n\tETHERTYPE_NBPCLREQ                = 0x3c05\n\tETHERTYPE_NBPCLRSP                = 0x3c06\n\tETHERTYPE_NBPCREQ                 = 0x3c02\n\tETHERTYPE_NBPCRSP                 = 0x3c03\n\tETHERTYPE_NBPDG                   = 0x3c07\n\tETHERTYPE_NBPDGB                  = 0x3c08\n\tETHERTYPE_NBPDLTE                 = 0x3c0a\n\tETHERTYPE_NBPRAR                  = 0x3c0c\n\tETHERTYPE_NBPRAS                  = 0x3c0b\n\tETHERTYPE_NBPRST                  = 0x3c0d\n\tETHERTYPE_NBPSCD                  = 0x3c01\n\tETHERTYPE_NBPVCD                  = 0x3c00\n\tETHERTYPE_NBS                     = 0x802\n\tETHERTYPE_NCD                     = 0x8149\n\tETHERTYPE_NESTAR                  = 0x8006\n\tETHERTYPE_NETBEUI                 = 0x8191\n\tETHERTYPE_NOVELL                  = 0x8138\n\tETHERTYPE_NS                      = 0x600\n\tETHERTYPE_NSAT                    = 0x601\n\tETHERTYPE_NSCOMPAT                = 0x807\n\tETHERTYPE_NTRAILER                = 0x10\n\tETHERTYPE_OS9                     = 0x7007\n\tETHERTYPE_OS9NET                  = 0x7009\n\tETHERTYPE_PACER                   = 0x80c6\n\tETHERTYPE_PAE                     = 0x888e\n\tETHERTYPE_PCS                     = 0x4242\n\tETHERTYPE_PLANNING                = 0x8044\n\tETHERTYPE_PPP                     = 0x880b\n\tETHERTYPE_PPPOE                   = 0x8864\n\tETHERTYPE_PPPOEDISC               = 0x8863\n\tETHERTYPE_PRIMENTS                = 0x7031\n\tETHERTYPE_PUP                     = 0x200\n\tETHERTYPE_PUPAT                   = 0x200\n\tETHERTYPE_RACAL                   = 0x7030\n\tETHERTYPE_RATIONAL                = 0x8150\n\tETHERTYPE_RAWFR                   = 0x6559\n\tETHERTYPE_RCL                     = 0x1995\n\tETHERTYPE_RDP                     = 0x8739\n\tETHERTYPE_RETIX                   = 0x80f2\n\tETHERTYPE_REVARP                  = 0x8035\n\tETHERTYPE_SCA                     = 0x6007\n\tETHERTYPE_SECTRA                  = 0x86db\n\tETHERTYPE_SECUREDATA              = 0x876d\n\tETHERTYPE_SGITW                   = 0x817e\n\tETHERTYPE_SG_BOUNCE               = 0x8016\n\tETHERTYPE_SG_DIAG                 = 0x8013\n\tETHERTYPE_SG_NETGAMES             = 0x8014\n\tETHERTYPE_SG_RESV                 = 0x8015\n\tETHERTYPE_SIMNET                  = 0x5208\n\tETHERTYPE_SLOWPROTOCOLS           = 0x8809\n\tETHERTYPE_SNA                     = 0x80d5\n\tETHERTYPE_SNMP                    = 0x814c\n\tETHERTYPE_SONIX                   = 0xfaf5\n\tETHERTYPE_SPIDER                  = 0x809f\n\tETHERTYPE_SPRITE                  = 0x500\n\tETHERTYPE_STP                     = 0x8181\n\tETHERTYPE_TALARIS                 = 0x812b\n\tETHERTYPE_TALARISMC               = 0x852b\n\tETHERTYPE_TCPCOMP                 = 0x876b\n\tETHERTYPE_TCPSM                   = 0x9002\n\tETHERTYPE_TEC                     = 0x814f\n\tETHERTYPE_TIGAN                   = 0x802f\n\tETHERTYPE_TRAIL                   = 0x1000\n\tETHERTYPE_TRANSETHER              = 0x6558\n\tETHERTYPE_TYMSHARE                = 0x802e\n\tETHERTYPE_UBBST                   = 0x7005\n\tETHERTYPE_UBDEBUG                 = 0x900\n\tETHERTYPE_UBDIAGLOOP              = 0x7002\n\tETHERTYPE_UBDL                    = 0x7000\n\tETHERTYPE_UBNIU                   = 0x7001\n\tETHERTYPE_UBNMC                   = 0x7003\n\tETHERTYPE_VALID                   = 0x1600\n\tETHERTYPE_VARIAN                  = 0x80dd\n\tETHERTYPE_VAXELN                  = 0x803b\n\tETHERTYPE_VEECO                   = 0x8067\n\tETHERTYPE_VEXP                    = 0x805b\n\tETHERTYPE_VGLAB                   = 0x8131\n\tETHERTYPE_VINES                   = 0xbad\n\tETHERTYPE_VINESECHO               = 0xbaf\n\tETHERTYPE_VINESLOOP               = 0xbae\n\tETHERTYPE_VITAL                   = 0xff00\n\tETHERTYPE_VLAN                    = 0x8100\n\tETHERTYPE_VLTLMAN                 = 0x8080\n\tETHERTYPE_VPROD                   = 0x805c\n\tETHERTYPE_VURESERVED              = 0x8147\n\tETHERTYPE_WATERLOO                = 0x8130\n\tETHERTYPE_WELLFLEET               = 0x8103\n\tETHERTYPE_X25                     = 0x805\n\tETHERTYPE_X75                     = 0x801\n\tETHERTYPE_XNSSM                   = 0x9001\n\tETHERTYPE_XTP                     = 0x817d\n\tETHER_ADDR_LEN                    = 0x6\n\tETHER_CRC_LEN                     = 0x4\n\tETHER_CRC_POLY_BE                 = 0x4c11db6\n\tETHER_CRC_POLY_LE                 = 0xedb88320\n\tETHER_HDR_LEN                     = 0xe\n\tETHER_MAX_LEN                     = 0x5ee\n\tETHER_MAX_LEN_JUMBO               = 0x233a\n\tETHER_MIN_LEN                     = 0x40\n\tETHER_PPPOE_ENCAP_LEN             = 0x8\n\tETHER_TYPE_LEN                    = 0x2\n\tETHER_VLAN_ENCAP_LEN              = 0x4\n\tEVFILT_AIO                        = 0x2\n\tEVFILT_PROC                       = 0x4\n\tEVFILT_READ                       = 0x0\n\tEVFILT_SIGNAL                     = 0x5\n\tEVFILT_SYSCOUNT                   = 0x7\n\tEVFILT_TIMER                      = 0x6\n\tEVFILT_VNODE                      = 0x3\n\tEVFILT_WRITE                      = 0x1\n\tEV_ADD                            = 0x1\n\tEV_CLEAR                          = 0x20\n\tEV_DELETE                         = 0x2\n\tEV_DISABLE                        = 0x8\n\tEV_ENABLE                         = 0x4\n\tEV_EOF                            = 0x8000\n\tEV_ERROR                          = 0x4000\n\tEV_FLAG1                          = 0x2000\n\tEV_ONESHOT                        = 0x10\n\tEV_SYSFLAGS                       = 0xf000\n\tEXTA                              = 0x4b00\n\tEXTATTR_CMD_START                 = 0x1\n\tEXTATTR_CMD_STOP                  = 0x2\n\tEXTATTR_NAMESPACE_SYSTEM          = 0x2\n\tEXTATTR_NAMESPACE_USER            = 0x1\n\tEXTB                              = 0x9600\n\tEXTPROC                           = 0x800\n\tFD_CLOEXEC                        = 0x1\n\tFD_SETSIZE                        = 0x100\n\tFLUSHO                            = 0x800000\n\tF_CLOSEM                          = 0xa\n\tF_DUPFD                           = 0x0\n\tF_DUPFD_CLOEXEC                   = 0xc\n\tF_FSCTL                           = -0x80000000\n\tF_FSDIRMASK                       = 0x70000000\n\tF_FSIN                            = 0x10000000\n\tF_FSINOUT                         = 0x30000000\n\tF_FSOUT                           = 0x20000000\n\tF_FSPRIV                          = 0x8000\n\tF_FSVOID                          = 0x40000000\n\tF_GETFD                           = 0x1\n\tF_GETFL                           = 0x3\n\tF_GETLK                           = 0x7\n\tF_GETNOSIGPIPE                    = 0xd\n\tF_GETOWN                          = 0x5\n\tF_MAXFD                           = 0xb\n\tF_OK                              = 0x0\n\tF_PARAM_MASK                      = 0xfff\n\tF_PARAM_MAX                       = 0xfff\n\tF_RDLCK                           = 0x1\n\tF_SETFD                           = 0x2\n\tF_SETFL                           = 0x4\n\tF_SETLK                           = 0x8\n\tF_SETLKW                          = 0x9\n\tF_SETNOSIGPIPE                    = 0xe\n\tF_SETOWN                          = 0x6\n\tF_UNLCK                           = 0x2\n\tF_WRLCK                           = 0x3\n\tHUPCL                             = 0x4000\n\tHW_MACHINE                        = 0x1\n\tICANON                            = 0x100\n\tICMP6_FILTER                      = 0x12\n\tICRNL                             = 0x100\n\tIEXTEN                            = 0x400\n\tIFAN_ARRIVAL                      = 0x0\n\tIFAN_DEPARTURE                    = 0x1\n\tIFA_ROUTE                         = 0x1\n\tIFF_ALLMULTI                      = 0x200\n\tIFF_BROADCAST                     = 0x2\n\tIFF_CANTCHANGE                    = 0x8f52\n\tIFF_DEBUG                         = 0x4\n\tIFF_LINK0                         = 0x1000\n\tIFF_LINK1                         = 0x2000\n\tIFF_LINK2                         = 0x4000\n\tIFF_LOOPBACK                      = 0x8\n\tIFF_MULTICAST                     = 0x8000\n\tIFF_NOARP                         = 0x80\n\tIFF_NOTRAILERS                    = 0x20\n\tIFF_OACTIVE                       = 0x400\n\tIFF_POINTOPOINT                   = 0x10\n\tIFF_PROMISC                       = 0x100\n\tIFF_RUNNING                       = 0x40\n\tIFF_SIMPLEX                       = 0x800\n\tIFF_UP                            = 0x1\n\tIFNAMSIZ                          = 0x10\n\tIFT_1822                          = 0x2\n\tIFT_A12MPPSWITCH                  = 0x82\n\tIFT_AAL2                          = 0xbb\n\tIFT_AAL5                          = 0x31\n\tIFT_ADSL                          = 0x5e\n\tIFT_AFLANE8023                    = 0x3b\n\tIFT_AFLANE8025                    = 0x3c\n\tIFT_ARAP                          = 0x58\n\tIFT_ARCNET                        = 0x23\n\tIFT_ARCNETPLUS                    = 0x24\n\tIFT_ASYNC                         = 0x54\n\tIFT_ATM                           = 0x25\n\tIFT_ATMDXI                        = 0x69\n\tIFT_ATMFUNI                       = 0x6a\n\tIFT_ATMIMA                        = 0x6b\n\tIFT_ATMLOGICAL                    = 0x50\n\tIFT_ATMRADIO                      = 0xbd\n\tIFT_ATMSUBINTERFACE               = 0x86\n\tIFT_ATMVCIENDPT                   = 0xc2\n\tIFT_ATMVIRTUAL                    = 0x95\n\tIFT_BGPPOLICYACCOUNTING           = 0xa2\n\tIFT_BRIDGE                        = 0xd1\n\tIFT_BSC                           = 0x53\n\tIFT_CARP                          = 0xf8\n\tIFT_CCTEMUL                       = 0x3d\n\tIFT_CEPT                          = 0x13\n\tIFT_CES                           = 0x85\n\tIFT_CHANNEL                       = 0x46\n\tIFT_CNR                           = 0x55\n\tIFT_COFFEE                        = 0x84\n\tIFT_COMPOSITELINK                 = 0x9b\n\tIFT_DCN                           = 0x8d\n\tIFT_DIGITALPOWERLINE              = 0x8a\n\tIFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba\n\tIFT_DLSW                          = 0x4a\n\tIFT_DOCSCABLEDOWNSTREAM           = 0x80\n\tIFT_DOCSCABLEMACLAYER             = 0x7f\n\tIFT_DOCSCABLEUPSTREAM             = 0x81\n\tIFT_DOCSCABLEUPSTREAMCHANNEL      = 0xcd\n\tIFT_DS0                           = 0x51\n\tIFT_DS0BUNDLE                     = 0x52\n\tIFT_DS1FDL                        = 0xaa\n\tIFT_DS3                           = 0x1e\n\tIFT_DTM                           = 0x8c\n\tIFT_DVBASILN                      = 0xac\n\tIFT_DVBASIOUT                     = 0xad\n\tIFT_DVBRCCDOWNSTREAM              = 0x93\n\tIFT_DVBRCCMACLAYER                = 0x92\n\tIFT_DVBRCCUPSTREAM                = 0x94\n\tIFT_ECONET                        = 0xce\n\tIFT_EON                           = 0x19\n\tIFT_EPLRS                         = 0x57\n\tIFT_ESCON                         = 0x49\n\tIFT_ETHER                         = 0x6\n\tIFT_FAITH                         = 0xf2\n\tIFT_FAST                          = 0x7d\n\tIFT_FASTETHER                     = 0x3e\n\tIFT_FASTETHERFX                   = 0x45\n\tIFT_FDDI                          = 0xf\n\tIFT_FIBRECHANNEL                  = 0x38\n\tIFT_FRAMERELAYINTERCONNECT        = 0x3a\n\tIFT_FRAMERELAYMPI                 = 0x5c\n\tIFT_FRDLCIENDPT                   = 0xc1\n\tIFT_FRELAY                        = 0x20\n\tIFT_FRELAYDCE                     = 0x2c\n\tIFT_FRF16MFRBUNDLE                = 0xa3\n\tIFT_FRFORWARD                     = 0x9e\n\tIFT_G703AT2MB                     = 0x43\n\tIFT_G703AT64K                     = 0x42\n\tIFT_GIF                           = 0xf0\n\tIFT_GIGABITETHERNET               = 0x75\n\tIFT_GR303IDT                      = 0xb2\n\tIFT_GR303RDT                      = 0xb1\n\tIFT_H323GATEKEEPER                = 0xa4\n\tIFT_H323PROXY                     = 0xa5\n\tIFT_HDH1822                       = 0x3\n\tIFT_HDLC                          = 0x76\n\tIFT_HDSL2                         = 0xa8\n\tIFT_HIPERLAN2                     = 0xb7\n\tIFT_HIPPI                         = 0x2f\n\tIFT_HIPPIINTERFACE                = 0x39\n\tIFT_HOSTPAD                       = 0x5a\n\tIFT_HSSI                          = 0x2e\n\tIFT_HY                            = 0xe\n\tIFT_IBM370PARCHAN                 = 0x48\n\tIFT_IDSL                          = 0x9a\n\tIFT_IEEE1394                      = 0x90\n\tIFT_IEEE80211                     = 0x47\n\tIFT_IEEE80212                     = 0x37\n\tIFT_IEEE8023ADLAG                 = 0xa1\n\tIFT_IFGSN                         = 0x91\n\tIFT_IMT                           = 0xbe\n\tIFT_INFINIBAND                    = 0xc7\n\tIFT_INTERLEAVE                    = 0x7c\n\tIFT_IP                            = 0x7e\n\tIFT_IPFORWARD                     = 0x8e\n\tIFT_IPOVERATM                     = 0x72\n\tIFT_IPOVERCDLC                    = 0x6d\n\tIFT_IPOVERCLAW                    = 0x6e\n\tIFT_IPSWITCH                      = 0x4e\n\tIFT_ISDN                          = 0x3f\n\tIFT_ISDNBASIC                     = 0x14\n\tIFT_ISDNPRIMARY                   = 0x15\n\tIFT_ISDNS                         = 0x4b\n\tIFT_ISDNU                         = 0x4c\n\tIFT_ISO88022LLC                   = 0x29\n\tIFT_ISO88023                      = 0x7\n\tIFT_ISO88024                      = 0x8\n\tIFT_ISO88025                      = 0x9\n\tIFT_ISO88025CRFPINT               = 0x62\n\tIFT_ISO88025DTR                   = 0x56\n\tIFT_ISO88025FIBER                 = 0x73\n\tIFT_ISO88026                      = 0xa\n\tIFT_ISUP                          = 0xb3\n\tIFT_L2VLAN                        = 0x87\n\tIFT_L3IPVLAN                      = 0x88\n\tIFT_L3IPXVLAN                     = 0x89\n\tIFT_LAPB                          = 0x10\n\tIFT_LAPD                          = 0x4d\n\tIFT_LAPF                          = 0x77\n\tIFT_LINEGROUP                     = 0xd2\n\tIFT_LOCALTALK                     = 0x2a\n\tIFT_LOOP                          = 0x18\n\tIFT_MEDIAMAILOVERIP               = 0x8b\n\tIFT_MFSIGLINK                     = 0xa7\n\tIFT_MIOX25                        = 0x26\n\tIFT_MODEM                         = 0x30\n\tIFT_MPC                           = 0x71\n\tIFT_MPLS                          = 0xa6\n\tIFT_MPLSTUNNEL                    = 0x96\n\tIFT_MSDSL                         = 0x8f\n\tIFT_MVL                           = 0xbf\n\tIFT_MYRINET                       = 0x63\n\tIFT_NFAS                          = 0xaf\n\tIFT_NSIP                          = 0x1b\n\tIFT_OPTICALCHANNEL                = 0xc3\n\tIFT_OPTICALTRANSPORT              = 0xc4\n\tIFT_OTHER                         = 0x1\n\tIFT_P10                           = 0xc\n\tIFT_P80                           = 0xd\n\tIFT_PARA                          = 0x22\n\tIFT_PFLOG                         = 0xf5\n\tIFT_PFSYNC                        = 0xf6\n\tIFT_PLC                           = 0xae\n\tIFT_PON155                        = 0xcf\n\tIFT_PON622                        = 0xd0\n\tIFT_POS                           = 0xab\n\tIFT_PPP                           = 0x17\n\tIFT_PPPMULTILINKBUNDLE            = 0x6c\n\tIFT_PROPATM                       = 0xc5\n\tIFT_PROPBWAP2MP                   = 0xb8\n\tIFT_PROPCNLS                      = 0x59\n\tIFT_PROPDOCSWIRELESSDOWNSTREAM    = 0xb5\n\tIFT_PROPDOCSWIRELESSMACLAYER      = 0xb4\n\tIFT_PROPDOCSWIRELESSUPSTREAM      = 0xb6\n\tIFT_PROPMUX                       = 0x36\n\tIFT_PROPVIRTUAL                   = 0x35\n\tIFT_PROPWIRELESSP2P               = 0x9d\n\tIFT_PTPSERIAL                     = 0x16\n\tIFT_PVC                           = 0xf1\n\tIFT_Q2931                         = 0xc9\n\tIFT_QLLC                          = 0x44\n\tIFT_RADIOMAC                      = 0xbc\n\tIFT_RADSL                         = 0x5f\n\tIFT_REACHDSL                      = 0xc0\n\tIFT_RFC1483                       = 0x9f\n\tIFT_RS232                         = 0x21\n\tIFT_RSRB                          = 0x4f\n\tIFT_SDLC                          = 0x11\n\tIFT_SDSL                          = 0x60\n\tIFT_SHDSL                         = 0xa9\n\tIFT_SIP                           = 0x1f\n\tIFT_SIPSIG                        = 0xcc\n\tIFT_SIPTG                         = 0xcb\n\tIFT_SLIP                          = 0x1c\n\tIFT_SMDSDXI                       = 0x2b\n\tIFT_SMDSICIP                      = 0x34\n\tIFT_SONET                         = 0x27\n\tIFT_SONETOVERHEADCHANNEL          = 0xb9\n\tIFT_SONETPATH                     = 0x32\n\tIFT_SONETVT                       = 0x33\n\tIFT_SRP                           = 0x97\n\tIFT_SS7SIGLINK                    = 0x9c\n\tIFT_STACKTOSTACK                  = 0x6f\n\tIFT_STARLAN                       = 0xb\n\tIFT_STF                           = 0xd7\n\tIFT_T1                            = 0x12\n\tIFT_TDLC                          = 0x74\n\tIFT_TELINK                        = 0xc8\n\tIFT_TERMPAD                       = 0x5b\n\tIFT_TR008                         = 0xb0\n\tIFT_TRANSPHDLC                    = 0x7b\n\tIFT_TUNNEL                        = 0x83\n\tIFT_ULTRA                         = 0x1d\n\tIFT_USB                           = 0xa0\n\tIFT_V11                           = 0x40\n\tIFT_V35                           = 0x2d\n\tIFT_V36                           = 0x41\n\tIFT_V37                           = 0x78\n\tIFT_VDSL                          = 0x61\n\tIFT_VIRTUALIPADDRESS              = 0x70\n\tIFT_VIRTUALTG                     = 0xca\n\tIFT_VOICEDID                      = 0xd5\n\tIFT_VOICEEM                       = 0x64\n\tIFT_VOICEEMFGD                    = 0xd3\n\tIFT_VOICEENCAP                    = 0x67\n\tIFT_VOICEFGDEANA                  = 0xd4\n\tIFT_VOICEFXO                      = 0x65\n\tIFT_VOICEFXS                      = 0x66\n\tIFT_VOICEOVERATM                  = 0x98\n\tIFT_VOICEOVERCABLE                = 0xc6\n\tIFT_VOICEOVERFRAMERELAY           = 0x99\n\tIFT_VOICEOVERIP                   = 0x68\n\tIFT_X213                          = 0x5d\n\tIFT_X25                           = 0x5\n\tIFT_X25DDN                        = 0x4\n\tIFT_X25HUNTGROUP                  = 0x7a\n\tIFT_X25MLP                        = 0x79\n\tIFT_X25PLE                        = 0x28\n\tIFT_XETHER                        = 0x1a\n\tIGNBRK                            = 0x1\n\tIGNCR                             = 0x80\n\tIGNPAR                            = 0x4\n\tIMAXBEL                           = 0x2000\n\tINLCR                             = 0x40\n\tINPCK                             = 0x10\n\tIN_CLASSA_HOST                    = 0xffffff\n\tIN_CLASSA_MAX                     = 0x80\n\tIN_CLASSA_NET                     = 0xff000000\n\tIN_CLASSA_NSHIFT                  = 0x18\n\tIN_CLASSB_HOST                    = 0xffff\n\tIN_CLASSB_MAX                     = 0x10000\n\tIN_CLASSB_NET                     = 0xffff0000\n\tIN_CLASSB_NSHIFT                  = 0x10\n\tIN_CLASSC_HOST                    = 0xff\n\tIN_CLASSC_NET                     = 0xffffff00\n\tIN_CLASSC_NSHIFT                  = 0x8\n\tIN_CLASSD_HOST                    = 0xfffffff\n\tIN_CLASSD_NET                     = 0xf0000000\n\tIN_CLASSD_NSHIFT                  = 0x1c\n\tIN_LOOPBACKNET                    = 0x7f\n\tIPPROTO_AH                        = 0x33\n\tIPPROTO_CARP                      = 0x70\n\tIPPROTO_DONE                      = 0x101\n\tIPPROTO_DSTOPTS                   = 0x3c\n\tIPPROTO_EGP                       = 0x8\n\tIPPROTO_ENCAP                     = 0x62\n\tIPPROTO_EON                       = 0x50\n\tIPPROTO_ESP                       = 0x32\n\tIPPROTO_ETHERIP                   = 0x61\n\tIPPROTO_FRAGMENT                  = 0x2c\n\tIPPROTO_GGP                       = 0x3\n\tIPPROTO_GRE                       = 0x2f\n\tIPPROTO_HOPOPTS                   = 0x0\n\tIPPROTO_ICMP                      = 0x1\n\tIPPROTO_ICMPV6                    = 0x3a\n\tIPPROTO_IDP                       = 0x16\n\tIPPROTO_IGMP                      = 0x2\n\tIPPROTO_IP                        = 0x0\n\tIPPROTO_IPCOMP                    = 0x6c\n\tIPPROTO_IPIP                      = 0x4\n\tIPPROTO_IPV4                      = 0x4\n\tIPPROTO_IPV6                      = 0x29\n\tIPPROTO_IPV6_ICMP                 = 0x3a\n\tIPPROTO_MAX                       = 0x100\n\tIPPROTO_MAXID                     = 0x34\n\tIPPROTO_MOBILE                    = 0x37\n\tIPPROTO_NONE                      = 0x3b\n\tIPPROTO_PFSYNC                    = 0xf0\n\tIPPROTO_PIM                       = 0x67\n\tIPPROTO_PUP                       = 0xc\n\tIPPROTO_RAW                       = 0xff\n\tIPPROTO_ROUTING                   = 0x2b\n\tIPPROTO_RSVP                      = 0x2e\n\tIPPROTO_TCP                       = 0x6\n\tIPPROTO_TP                        = 0x1d\n\tIPPROTO_UDP                       = 0x11\n\tIPPROTO_VRRP                      = 0x70\n\tIPV6_CHECKSUM                     = 0x1a\n\tIPV6_DEFAULT_MULTICAST_HOPS       = 0x1\n\tIPV6_DEFAULT_MULTICAST_LOOP       = 0x1\n\tIPV6_DEFHLIM                      = 0x40\n\tIPV6_DONTFRAG                     = 0x3e\n\tIPV6_DSTOPTS                      = 0x32\n\tIPV6_FAITH                        = 0x1d\n\tIPV6_FLOWINFO_MASK                = 0xffffff0f\n\tIPV6_FLOWLABEL_MASK               = 0xffff0f00\n\tIPV6_FRAGTTL                      = 0x78\n\tIPV6_HLIMDEC                      = 0x1\n\tIPV6_HOPLIMIT                     = 0x2f\n\tIPV6_HOPOPTS                      = 0x31\n\tIPV6_IPSEC_POLICY                 = 0x1c\n\tIPV6_JOIN_GROUP                   = 0xc\n\tIPV6_LEAVE_GROUP                  = 0xd\n\tIPV6_MAXHLIM                      = 0xff\n\tIPV6_MAXPACKET                    = 0xffff\n\tIPV6_MMTU                         = 0x500\n\tIPV6_MULTICAST_HOPS               = 0xa\n\tIPV6_MULTICAST_IF                 = 0x9\n\tIPV6_MULTICAST_LOOP               = 0xb\n\tIPV6_NEXTHOP                      = 0x30\n\tIPV6_PATHMTU                      = 0x2c\n\tIPV6_PKTINFO                      = 0x2e\n\tIPV6_PORTRANGE                    = 0xe\n\tIPV6_PORTRANGE_DEFAULT            = 0x0\n\tIPV6_PORTRANGE_HIGH               = 0x1\n\tIPV6_PORTRANGE_LOW                = 0x2\n\tIPV6_RECVDSTOPTS                  = 0x28\n\tIPV6_RECVHOPLIMIT                 = 0x25\n\tIPV6_RECVHOPOPTS                  = 0x27\n\tIPV6_RECVPATHMTU                  = 0x2b\n\tIPV6_RECVPKTINFO                  = 0x24\n\tIPV6_RECVRTHDR                    = 0x26\n\tIPV6_RECVTCLASS                   = 0x39\n\tIPV6_RTHDR                        = 0x33\n\tIPV6_RTHDRDSTOPTS                 = 0x23\n\tIPV6_RTHDR_LOOSE                  = 0x0\n\tIPV6_RTHDR_STRICT                 = 0x1\n\tIPV6_RTHDR_TYPE_0                 = 0x0\n\tIPV6_SOCKOPT_RESERVED1            = 0x3\n\tIPV6_TCLASS                       = 0x3d\n\tIPV6_UNICAST_HOPS                 = 0x4\n\tIPV6_USE_MIN_MTU                  = 0x2a\n\tIPV6_V6ONLY                       = 0x1b\n\tIPV6_VERSION                      = 0x60\n\tIPV6_VERSION_MASK                 = 0xf0\n\tIP_ADD_MEMBERSHIP                 = 0xc\n\tIP_DEFAULT_MULTICAST_LOOP         = 0x1\n\tIP_DEFAULT_MULTICAST_TTL          = 0x1\n\tIP_DF                             = 0x4000\n\tIP_DROP_MEMBERSHIP                = 0xd\n\tIP_EF                             = 0x8000\n\tIP_ERRORMTU                       = 0x15\n\tIP_HDRINCL                        = 0x2\n\tIP_IPSEC_POLICY                   = 0x16\n\tIP_MAXPACKET                      = 0xffff\n\tIP_MAX_MEMBERSHIPS                = 0x14\n\tIP_MF                             = 0x2000\n\tIP_MINFRAGSIZE                    = 0x45\n\tIP_MINTTL                         = 0x18\n\tIP_MSS                            = 0x240\n\tIP_MULTICAST_IF                   = 0x9\n\tIP_MULTICAST_LOOP                 = 0xb\n\tIP_MULTICAST_TTL                  = 0xa\n\tIP_OFFMASK                        = 0x1fff\n\tIP_OPTIONS                        = 0x1\n\tIP_PORTRANGE                      = 0x13\n\tIP_PORTRANGE_DEFAULT              = 0x0\n\tIP_PORTRANGE_HIGH                 = 0x1\n\tIP_PORTRANGE_LOW                  = 0x2\n\tIP_RECVDSTADDR                    = 0x7\n\tIP_RECVIF                         = 0x14\n\tIP_RECVOPTS                       = 0x5\n\tIP_RECVRETOPTS                    = 0x6\n\tIP_RECVTTL                        = 0x17\n\tIP_RETOPTS                        = 0x8\n\tIP_RF                             = 0x8000\n\tIP_TOS                            = 0x3\n\tIP_TTL                            = 0x4\n\tISIG                              = 0x80\n\tISTRIP                            = 0x20\n\tIXANY                             = 0x800\n\tIXOFF                             = 0x400\n\tIXON                              = 0x200\n\tKERN_HOSTNAME                     = 0xa\n\tKERN_OSRELEASE                    = 0x2\n\tKERN_OSTYPE                       = 0x1\n\tKERN_VERSION                      = 0x4\n\tLOCK_EX                           = 0x2\n\tLOCK_NB                           = 0x4\n\tLOCK_SH                           = 0x1\n\tLOCK_UN                           = 0x8\n\tMADV_DONTNEED                     = 0x4\n\tMADV_FREE                         = 0x6\n\tMADV_NORMAL                       = 0x0\n\tMADV_RANDOM                       = 0x1\n\tMADV_SEQUENTIAL                   = 0x2\n\tMADV_SPACEAVAIL                   = 0x5\n\tMADV_WILLNEED                     = 0x3\n\tMAP_ALIGNMENT_16MB                = 0x18000000\n\tMAP_ALIGNMENT_1TB                 = 0x28000000\n\tMAP_ALIGNMENT_256TB               = 0x30000000\n\tMAP_ALIGNMENT_4GB                 = 0x20000000\n\tMAP_ALIGNMENT_64KB                = 0x10000000\n\tMAP_ALIGNMENT_64PB                = 0x38000000\n\tMAP_ALIGNMENT_MASK                = -0x1000000\n\tMAP_ALIGNMENT_SHIFT               = 0x18\n\tMAP_ANON                          = 0x1000\n\tMAP_FILE                          = 0x0\n\tMAP_FIXED                         = 0x10\n\tMAP_HASSEMAPHORE                  = 0x200\n\tMAP_INHERIT                       = 0x80\n\tMAP_INHERIT_COPY                  = 0x1\n\tMAP_INHERIT_DEFAULT               = 0x1\n\tMAP_INHERIT_DONATE_COPY           = 0x3\n\tMAP_INHERIT_NONE                  = 0x2\n\tMAP_INHERIT_SHARE                 = 0x0\n\tMAP_NORESERVE                     = 0x40\n\tMAP_PRIVATE                       = 0x2\n\tMAP_RENAME                        = 0x20\n\tMAP_SHARED                        = 0x1\n\tMAP_STACK                         = 0x2000\n\tMAP_TRYFIXED                      = 0x400\n\tMAP_WIRED                         = 0x800\n\tMCL_CURRENT                       = 0x1\n\tMCL_FUTURE                        = 0x2\n\tMSG_BCAST                         = 0x100\n\tMSG_CMSG_CLOEXEC                  = 0x800\n\tMSG_CONTROLMBUF                   = 0x2000000\n\tMSG_CTRUNC                        = 0x20\n\tMSG_DONTROUTE                     = 0x4\n\tMSG_DONTWAIT                      = 0x80\n\tMSG_EOR                           = 0x8\n\tMSG_IOVUSRSPACE                   = 0x4000000\n\tMSG_LENUSRSPACE                   = 0x8000000\n\tMSG_MCAST                         = 0x200\n\tMSG_NAMEMBUF                      = 0x1000000\n\tMSG_NBIO                          = 0x1000\n\tMSG_NOSIGNAL                      = 0x400\n\tMSG_OOB                           = 0x1\n\tMSG_PEEK                          = 0x2\n\tMSG_TRUNC                         = 0x10\n\tMSG_USERFLAGS                     = 0xffffff\n\tMSG_WAITALL                       = 0x40\n\tMS_ASYNC                          = 0x1\n\tMS_INVALIDATE                     = 0x2\n\tMS_SYNC                           = 0x4\n\tNAME_MAX                          = 0x1ff\n\tNET_RT_DUMP                       = 0x1\n\tNET_RT_FLAGS                      = 0x2\n\tNET_RT_IFLIST                     = 0x5\n\tNET_RT_MAXID                      = 0x6\n\tNET_RT_OIFLIST                    = 0x4\n\tNET_RT_OOIFLIST                   = 0x3\n\tNOFLSH                            = 0x80000000\n\tNOTE_ATTRIB                       = 0x8\n\tNOTE_CHILD                        = 0x4\n\tNOTE_DELETE                       = 0x1\n\tNOTE_EXEC                         = 0x20000000\n\tNOTE_EXIT                         = 0x80000000\n\tNOTE_EXTEND                       = 0x4\n\tNOTE_FORK                         = 0x40000000\n\tNOTE_LINK                         = 0x10\n\tNOTE_LOWAT                        = 0x1\n\tNOTE_PCTRLMASK                    = 0xf0000000\n\tNOTE_PDATAMASK                    = 0xfffff\n\tNOTE_RENAME                       = 0x20\n\tNOTE_REVOKE                       = 0x40\n\tNOTE_TRACK                        = 0x1\n\tNOTE_TRACKERR                     = 0x2\n\tNOTE_WRITE                        = 0x2\n\tOCRNL                             = 0x10\n\tOFIOGETBMAP                       = 0xc004667a\n\tONLCR                             = 0x2\n\tONLRET                            = 0x40\n\tONOCR                             = 0x20\n\tONOEOT                            = 0x8\n\tOPOST                             = 0x1\n\tO_ACCMODE                         = 0x3\n\tO_ALT_IO                          = 0x40000\n\tO_APPEND                          = 0x8\n\tO_ASYNC                           = 0x40\n\tO_CLOEXEC                         = 0x400000\n\tO_CREAT                           = 0x200\n\tO_DIRECT                          = 0x80000\n\tO_DIRECTORY                       = 0x200000\n\tO_DSYNC                           = 0x10000\n\tO_EXCL                            = 0x800\n\tO_EXLOCK                          = 0x20\n\tO_FSYNC                           = 0x80\n\tO_NDELAY                          = 0x4\n\tO_NOCTTY                          = 0x8000\n\tO_NOFOLLOW                        = 0x100\n\tO_NONBLOCK                        = 0x4\n\tO_NOSIGPIPE                       = 0x1000000\n\tO_RDONLY                          = 0x0\n\tO_RDWR                            = 0x2\n\tO_RSYNC                           = 0x20000\n\tO_SHLOCK                          = 0x10\n\tO_SYNC                            = 0x80\n\tO_TRUNC                           = 0x400\n\tO_WRONLY                          = 0x1\n\tPARENB                            = 0x1000\n\tPARMRK                            = 0x8\n\tPARODD                            = 0x2000\n\tPENDIN                            = 0x20000000\n\tPRIO_PGRP                         = 0x1\n\tPRIO_PROCESS                      = 0x0\n\tPRIO_USER                         = 0x2\n\tPRI_IOFLUSH                       = 0x7c\n\tPROT_EXEC                         = 0x4\n\tPROT_NONE                         = 0x0\n\tPROT_READ                         = 0x1\n\tPROT_WRITE                        = 0x2\n\tRLIMIT_AS                         = 0xa\n\tRLIMIT_CORE                       = 0x4\n\tRLIMIT_CPU                        = 0x0\n\tRLIMIT_DATA                       = 0x2\n\tRLIMIT_FSIZE                      = 0x1\n\tRLIMIT_NOFILE                     = 0x8\n\tRLIMIT_STACK                      = 0x3\n\tRLIM_INFINITY                     = 0x7fffffffffffffff\n\tRTAX_AUTHOR                       = 0x6\n\tRTAX_BRD                          = 0x7\n\tRTAX_DST                          = 0x0\n\tRTAX_GATEWAY                      = 0x1\n\tRTAX_GENMASK                      = 0x3\n\tRTAX_IFA                          = 0x5\n\tRTAX_IFP                          = 0x4\n\tRTAX_MAX                          = 0x9\n\tRTAX_NETMASK                      = 0x2\n\tRTAX_TAG                          = 0x8\n\tRTA_AUTHOR                        = 0x40\n\tRTA_BRD                           = 0x80\n\tRTA_DST                           = 0x1\n\tRTA_GATEWAY                       = 0x2\n\tRTA_GENMASK                       = 0x8\n\tRTA_IFA                           = 0x20\n\tRTA_IFP                           = 0x10\n\tRTA_NETMASK                       = 0x4\n\tRTA_TAG                           = 0x100\n\tRTF_ANNOUNCE                      = 0x20000\n\tRTF_BLACKHOLE                     = 0x1000\n\tRTF_CLONED                        = 0x2000\n\tRTF_CLONING                       = 0x100\n\tRTF_DONE                          = 0x40\n\tRTF_DYNAMIC                       = 0x10\n\tRTF_GATEWAY                       = 0x2\n\tRTF_HOST                          = 0x4\n\tRTF_LLINFO                        = 0x400\n\tRTF_MASK                          = 0x80\n\tRTF_MODIFIED                      = 0x20\n\tRTF_PROTO1                        = 0x8000\n\tRTF_PROTO2                        = 0x4000\n\tRTF_REJECT                        = 0x8\n\tRTF_SRC                           = 0x10000\n\tRTF_STATIC                        = 0x800\n\tRTF_UP                            = 0x1\n\tRTF_XRESOLVE                      = 0x200\n\tRTM_ADD                           = 0x1\n\tRTM_CHANGE                        = 0x3\n\tRTM_CHGADDR                       = 0x15\n\tRTM_DELADDR                       = 0xd\n\tRTM_DELETE                        = 0x2\n\tRTM_GET                           = 0x4\n\tRTM_IEEE80211                     = 0x11\n\tRTM_IFANNOUNCE                    = 0x10\n\tRTM_IFINFO                        = 0x14\n\tRTM_LLINFO_UPD                    = 0x13\n\tRTM_LOCK                          = 0x8\n\tRTM_LOSING                        = 0x5\n\tRTM_MISS                          = 0x7\n\tRTM_NEWADDR                       = 0xc\n\tRTM_OIFINFO                       = 0xf\n\tRTM_OLDADD                        = 0x9\n\tRTM_OLDDEL                        = 0xa\n\tRTM_OOIFINFO                      = 0xe\n\tRTM_REDIRECT                      = 0x6\n\tRTM_RESOLVE                       = 0xb\n\tRTM_RTTUNIT                       = 0xf4240\n\tRTM_SETGATE                       = 0x12\n\tRTM_VERSION                       = 0x4\n\tRTV_EXPIRE                        = 0x4\n\tRTV_HOPCOUNT                      = 0x2\n\tRTV_MTU                           = 0x1\n\tRTV_RPIPE                         = 0x8\n\tRTV_RTT                           = 0x40\n\tRTV_RTTVAR                        = 0x80\n\tRTV_SPIPE                         = 0x10\n\tRTV_SSTHRESH                      = 0x20\n\tRUSAGE_CHILDREN                   = -0x1\n\tRUSAGE_SELF                       = 0x0\n\tSCM_CREDS                         = 0x4\n\tSCM_RIGHTS                        = 0x1\n\tSCM_TIMESTAMP                     = 0x8\n\tSHUT_RD                           = 0x0\n\tSHUT_RDWR                         = 0x2\n\tSHUT_WR                           = 0x1\n\tSIOCADDMULTI                      = 0x80906931\n\tSIOCADDRT                         = 0x8030720a\n\tSIOCAIFADDR                       = 0x8040691a\n\tSIOCALIFADDR                      = 0x8118691c\n\tSIOCATMARK                        = 0x40047307\n\tSIOCDELMULTI                      = 0x80906932\n\tSIOCDELRT                         = 0x8030720b\n\tSIOCDIFADDR                       = 0x80906919\n\tSIOCDIFPHYADDR                    = 0x80906949\n\tSIOCDLIFADDR                      = 0x8118691e\n\tSIOCGDRVSPEC                      = 0xc01c697b\n\tSIOCGETPFSYNC                     = 0xc09069f8\n\tSIOCGETSGCNT                      = 0xc0147534\n\tSIOCGETVIFCNT                     = 0xc0147533\n\tSIOCGHIWAT                        = 0x40047301\n\tSIOCGIFADDR                       = 0xc0906921\n\tSIOCGIFADDRPREF                   = 0xc0946920\n\tSIOCGIFALIAS                      = 0xc040691b\n\tSIOCGIFBRDADDR                    = 0xc0906923\n\tSIOCGIFCAP                        = 0xc0206976\n\tSIOCGIFCONF                       = 0xc0086926\n\tSIOCGIFDATA                       = 0xc0946985\n\tSIOCGIFDLT                        = 0xc0906977\n\tSIOCGIFDSTADDR                    = 0xc0906922\n\tSIOCGIFFLAGS                      = 0xc0906911\n\tSIOCGIFGENERIC                    = 0xc090693a\n\tSIOCGIFMEDIA                      = 0xc0286936\n\tSIOCGIFMETRIC                     = 0xc0906917\n\tSIOCGIFMTU                        = 0xc090697e\n\tSIOCGIFNETMASK                    = 0xc0906925\n\tSIOCGIFPDSTADDR                   = 0xc0906948\n\tSIOCGIFPSRCADDR                   = 0xc0906947\n\tSIOCGLIFADDR                      = 0xc118691d\n\tSIOCGLIFPHYADDR                   = 0xc118694b\n\tSIOCGLINKSTR                      = 0xc01c6987\n\tSIOCGLOWAT                        = 0x40047303\n\tSIOCGPGRP                         = 0x40047309\n\tSIOCGVH                           = 0xc0906983\n\tSIOCIFCREATE                      = 0x8090697a\n\tSIOCIFDESTROY                     = 0x80906979\n\tSIOCIFGCLONERS                    = 0xc00c6978\n\tSIOCINITIFADDR                    = 0xc0446984\n\tSIOCSDRVSPEC                      = 0x801c697b\n\tSIOCSETPFSYNC                     = 0x809069f7\n\tSIOCSHIWAT                        = 0x80047300\n\tSIOCSIFADDR                       = 0x8090690c\n\tSIOCSIFADDRPREF                   = 0x8094691f\n\tSIOCSIFBRDADDR                    = 0x80906913\n\tSIOCSIFCAP                        = 0x80206975\n\tSIOCSIFDSTADDR                    = 0x8090690e\n\tSIOCSIFFLAGS                      = 0x80906910\n\tSIOCSIFGENERIC                    = 0x80906939\n\tSIOCSIFMEDIA                      = 0xc0906935\n\tSIOCSIFMETRIC                     = 0x80906918\n\tSIOCSIFMTU                        = 0x8090697f\n\tSIOCSIFNETMASK                    = 0x80906916\n\tSIOCSIFPHYADDR                    = 0x80406946\n\tSIOCSLIFPHYADDR                   = 0x8118694a\n\tSIOCSLINKSTR                      = 0x801c6988\n\tSIOCSLOWAT                        = 0x80047302\n\tSIOCSPGRP                         = 0x80047308\n\tSIOCSVH                           = 0xc0906982\n\tSIOCZIFDATA                       = 0xc0946986\n\tSOCK_CLOEXEC                      = 0x10000000\n\tSOCK_DGRAM                        = 0x2\n\tSOCK_FLAGS_MASK                   = 0xf0000000\n\tSOCK_NONBLOCK                     = 0x20000000\n\tSOCK_NOSIGPIPE                    = 0x40000000\n\tSOCK_RAW                          = 0x3\n\tSOCK_RDM                          = 0x4\n\tSOCK_SEQPACKET                    = 0x5\n\tSOCK_STREAM                       = 0x1\n\tSOL_SOCKET                        = 0xffff\n\tSOMAXCONN                         = 0x80\n\tSO_ACCEPTCONN                     = 0x2\n\tSO_ACCEPTFILTER                   = 0x1000\n\tSO_BROADCAST                      = 0x20\n\tSO_DEBUG                          = 0x1\n\tSO_DONTROUTE                      = 0x10\n\tSO_ERROR                          = 0x1007\n\tSO_KEEPALIVE                      = 0x8\n\tSO_LINGER                         = 0x80\n\tSO_NOHEADER                       = 0x100a\n\tSO_NOSIGPIPE                      = 0x800\n\tSO_OOBINLINE                      = 0x100\n\tSO_OVERFLOWED                     = 0x1009\n\tSO_RCVBUF                         = 0x1002\n\tSO_RCVLOWAT                       = 0x1004\n\tSO_RCVTIMEO                       = 0x100c\n\tSO_REUSEADDR                      = 0x4\n\tSO_REUSEPORT                      = 0x200\n\tSO_SNDBUF                         = 0x1001\n\tSO_SNDLOWAT                       = 0x1003\n\tSO_SNDTIMEO                       = 0x100b\n\tSO_TIMESTAMP                      = 0x2000\n\tSO_TYPE                           = 0x1008\n\tSO_USELOOPBACK                    = 0x40\n\tSYSCTL_VERSION                    = 0x1000000\n\tSYSCTL_VERS_0                     = 0x0\n\tSYSCTL_VERS_1                     = 0x1000000\n\tSYSCTL_VERS_MASK                  = 0xff000000\n\tS_ARCH1                           = 0x10000\n\tS_ARCH2                           = 0x20000\n\tS_BLKSIZE                         = 0x200\n\tS_IEXEC                           = 0x40\n\tS_IFBLK                           = 0x6000\n\tS_IFCHR                           = 0x2000\n\tS_IFDIR                           = 0x4000\n\tS_IFIFO                           = 0x1000\n\tS_IFLNK                           = 0xa000\n\tS_IFMT                            = 0xf000\n\tS_IFREG                           = 0x8000\n\tS_IFSOCK                          = 0xc000\n\tS_IFWHT                           = 0xe000\n\tS_IREAD                           = 0x100\n\tS_IRGRP                           = 0x20\n\tS_IROTH                           = 0x4\n\tS_IRUSR                           = 0x100\n\tS_IRWXG                           = 0x38\n\tS_IRWXO                           = 0x7\n\tS_IRWXU                           = 0x1c0\n\tS_ISGID                           = 0x400\n\tS_ISTXT                           = 0x200\n\tS_ISUID                           = 0x800\n\tS_ISVTX                           = 0x200\n\tS_IWGRP                           = 0x10\n\tS_IWOTH                           = 0x2\n\tS_IWRITE                          = 0x80\n\tS_IWUSR                           = 0x80\n\tS_IXGRP                           = 0x8\n\tS_IXOTH                           = 0x1\n\tS_IXUSR                           = 0x40\n\tS_LOGIN_SET                       = 0x1\n\tTCIFLUSH                          = 0x1\n\tTCIOFLUSH                         = 0x3\n\tTCOFLUSH                          = 0x2\n\tTCP_CONGCTL                       = 0x20\n\tTCP_KEEPCNT                       = 0x6\n\tTCP_KEEPIDLE                      = 0x3\n\tTCP_KEEPINIT                      = 0x7\n\tTCP_KEEPINTVL                     = 0x5\n\tTCP_MAXBURST                      = 0x4\n\tTCP_MAXSEG                        = 0x2\n\tTCP_MAXWIN                        = 0xffff\n\tTCP_MAX_WINSHIFT                  = 0xe\n\tTCP_MD5SIG                        = 0x10\n\tTCP_MINMSS                        = 0xd8\n\tTCP_MSS                           = 0x218\n\tTCP_NODELAY                       = 0x1\n\tTCSAFLUSH                         = 0x2\n\tTIOCCBRK                          = 0x2000747a\n\tTIOCCDTR                          = 0x20007478\n\tTIOCCONS                          = 0x80047462\n\tTIOCDCDTIMESTAMP                  = 0x400c7458\n\tTIOCDRAIN                         = 0x2000745e\n\tTIOCEXCL                          = 0x2000740d\n\tTIOCEXT                           = 0x80047460\n\tTIOCFLAG_CDTRCTS                  = 0x10\n\tTIOCFLAG_CLOCAL                   = 0x2\n\tTIOCFLAG_CRTSCTS                  = 0x4\n\tTIOCFLAG_MDMBUF                   = 0x8\n\tTIOCFLAG_SOFTCAR                  = 0x1\n\tTIOCFLUSH                         = 0x80047410\n\tTIOCGETA                          = 0x402c7413\n\tTIOCGETD                          = 0x4004741a\n\tTIOCGFLAGS                        = 0x4004745d\n\tTIOCGLINED                        = 0x40207442\n\tTIOCGPGRP                         = 0x40047477\n\tTIOCGQSIZE                        = 0x40047481\n\tTIOCGRANTPT                       = 0x20007447\n\tTIOCGSID                          = 0x40047463\n\tTIOCGSIZE                         = 0x40087468\n\tTIOCGWINSZ                        = 0x40087468\n\tTIOCMBIC                          = 0x8004746b\n\tTIOCMBIS                          = 0x8004746c\n\tTIOCMGET                          = 0x4004746a\n\tTIOCMSET                          = 0x8004746d\n\tTIOCM_CAR                         = 0x40\n\tTIOCM_CD                          = 0x40\n\tTIOCM_CTS                         = 0x20\n\tTIOCM_DSR                         = 0x100\n\tTIOCM_DTR                         = 0x2\n\tTIOCM_LE                          = 0x1\n\tTIOCM_RI                          = 0x80\n\tTIOCM_RNG                         = 0x80\n\tTIOCM_RTS                         = 0x4\n\tTIOCM_SR                          = 0x10\n\tTIOCM_ST                          = 0x8\n\tTIOCNOTTY                         = 0x20007471\n\tTIOCNXCL                          = 0x2000740e\n\tTIOCOUTQ                          = 0x40047473\n\tTIOCPKT                           = 0x80047470\n\tTIOCPKT_DATA                      = 0x0\n\tTIOCPKT_DOSTOP                    = 0x20\n\tTIOCPKT_FLUSHREAD                 = 0x1\n\tTIOCPKT_FLUSHWRITE                = 0x2\n\tTIOCPKT_IOCTL                     = 0x40\n\tTIOCPKT_NOSTOP                    = 0x10\n\tTIOCPKT_START                     = 0x8\n\tTIOCPKT_STOP                      = 0x4\n\tTIOCPTMGET                        = 0x40287446\n\tTIOCPTSNAME                       = 0x40287448\n\tTIOCRCVFRAME                      = 0x80047445\n\tTIOCREMOTE                        = 0x80047469\n\tTIOCSBRK                          = 0x2000747b\n\tTIOCSCTTY                         = 0x20007461\n\tTIOCSDTR                          = 0x20007479\n\tTIOCSETA                          = 0x802c7414\n\tTIOCSETAF                         = 0x802c7416\n\tTIOCSETAW                         = 0x802c7415\n\tTIOCSETD                          = 0x8004741b\n\tTIOCSFLAGS                        = 0x8004745c\n\tTIOCSIG                           = 0x2000745f\n\tTIOCSLINED                        = 0x80207443\n\tTIOCSPGRP                         = 0x80047476\n\tTIOCSQSIZE                        = 0x80047480\n\tTIOCSSIZE                         = 0x80087467\n\tTIOCSTART                         = 0x2000746e\n\tTIOCSTAT                          = 0x80047465\n\tTIOCSTI                           = 0x80017472\n\tTIOCSTOP                          = 0x2000746f\n\tTIOCSWINSZ                        = 0x80087467\n\tTIOCUCNTL                         = 0x80047466\n\tTIOCXMTFRAME                      = 0x80047444\n\tTOSTOP                            = 0x400000\n\tVDISCARD                          = 0xf\n\tVDSUSP                            = 0xb\n\tVEOF                              = 0x0\n\tVEOL                              = 0x1\n\tVEOL2                             = 0x2\n\tVERASE                            = 0x3\n\tVINTR                             = 0x8\n\tVKILL                             = 0x5\n\tVLNEXT                            = 0xe\n\tVMIN                              = 0x10\n\tVQUIT                             = 0x9\n\tVREPRINT                          = 0x6\n\tVSTART                            = 0xc\n\tVSTATUS                           = 0x12\n\tVSTOP                             = 0xd\n\tVSUSP                             = 0xa\n\tVTIME                             = 0x11\n\tVWERASE                           = 0x4\n\tWALL                              = 0x8\n\tWALLSIG                           = 0x8\n\tWALTSIG                           = 0x4\n\tWCLONE                            = 0x4\n\tWCOREFLAG                         = 0x80\n\tWNOHANG                           = 0x1\n\tWNOWAIT                           = 0x10000\n\tWNOZOMBIE                         = 0x20000\n\tWOPTSCHECKED                      = 0x40000\n\tWSTOPPED                          = 0x7f\n\tWUNTRACED                         = 0x2\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x30)\n\tEADDRNOTAVAIL   = syscall.Errno(0x31)\n\tEAFNOSUPPORT    = syscall.Errno(0x2f)\n\tEAGAIN          = syscall.Errno(0x23)\n\tEALREADY        = syscall.Errno(0x25)\n\tEAUTH           = syscall.Errno(0x50)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADMSG         = syscall.Errno(0x58)\n\tEBADRPC         = syscall.Errno(0x48)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x57)\n\tECHILD          = syscall.Errno(0xa)\n\tECONNABORTED    = syscall.Errno(0x35)\n\tECONNREFUSED    = syscall.Errno(0x3d)\n\tECONNRESET      = syscall.Errno(0x36)\n\tEDEADLK         = syscall.Errno(0xb)\n\tEDESTADDRREQ    = syscall.Errno(0x27)\n\tEDOM            = syscall.Errno(0x21)\n\tEDQUOT          = syscall.Errno(0x45)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEFTYPE          = syscall.Errno(0x4f)\n\tEHOSTDOWN       = syscall.Errno(0x40)\n\tEHOSTUNREACH    = syscall.Errno(0x41)\n\tEIDRM           = syscall.Errno(0x52)\n\tEILSEQ          = syscall.Errno(0x55)\n\tEINPROGRESS     = syscall.Errno(0x24)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x38)\n\tEISDIR          = syscall.Errno(0x15)\n\tELAST           = syscall.Errno(0x60)\n\tELOOP           = syscall.Errno(0x3e)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x28)\n\tEMULTIHOP       = syscall.Errno(0x5e)\n\tENAMETOOLONG    = syscall.Errno(0x3f)\n\tENEEDAUTH       = syscall.Errno(0x51)\n\tENETDOWN        = syscall.Errno(0x32)\n\tENETRESET       = syscall.Errno(0x34)\n\tENETUNREACH     = syscall.Errno(0x33)\n\tENFILE          = syscall.Errno(0x17)\n\tENOATTR         = syscall.Errno(0x5d)\n\tENOBUFS         = syscall.Errno(0x37)\n\tENODATA         = syscall.Errno(0x59)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOLCK          = syscall.Errno(0x4d)\n\tENOLINK         = syscall.Errno(0x5f)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x53)\n\tENOPROTOOPT     = syscall.Errno(0x2a)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x5a)\n\tENOSTR          = syscall.Errno(0x5b)\n\tENOSYS          = syscall.Errno(0x4e)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x39)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x42)\n\tENOTSOCK        = syscall.Errno(0x26)\n\tENOTSUP         = syscall.Errno(0x56)\n\tENOTTY          = syscall.Errno(0x19)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x2d)\n\tEOVERFLOW       = syscall.Errno(0x54)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x2e)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROCLIM        = syscall.Errno(0x43)\n\tEPROCUNAVAIL    = syscall.Errno(0x4c)\n\tEPROGMISMATCH   = syscall.Errno(0x4b)\n\tEPROGUNAVAIL    = syscall.Errno(0x4a)\n\tEPROTO          = syscall.Errno(0x60)\n\tEPROTONOSUPPORT = syscall.Errno(0x2b)\n\tEPROTOTYPE      = syscall.Errno(0x29)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMOTE         = syscall.Errno(0x47)\n\tEROFS           = syscall.Errno(0x1e)\n\tERPCMISMATCH    = syscall.Errno(0x49)\n\tESHUTDOWN       = syscall.Errno(0x3a)\n\tESOCKTNOSUPPORT = syscall.Errno(0x2c)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESTALE          = syscall.Errno(0x46)\n\tETIME           = syscall.Errno(0x5c)\n\tETIMEDOUT       = syscall.Errno(0x3c)\n\tETOOMANYREFS    = syscall.Errno(0x3b)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUSERS          = syscall.Errno(0x44)\n\tEWOULDBLOCK     = syscall.Errno(0x23)\n\tEXDEV           = syscall.Errno(0x12)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x14)\n\tSIGCONT   = syscall.Signal(0x13)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINFO   = syscall.Signal(0x1d)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x17)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGPWR    = syscall.Signal(0x20)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x11)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x12)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x10)\n\tSIGUSR1   = syscall.Signal(0x1e)\n\tSIGUSR2   = syscall.Signal(0x1f)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errorList = [...]struct {\n\tnum  syscall.Errno\n\tname string\n\tdesc string\n}{\n\t{1, \"EPERM\", \"operation not permitted\"},\n\t{2, \"ENOENT\", \"no such file or directory\"},\n\t{3, \"ESRCH\", \"no such process\"},\n\t{4, \"EINTR\", \"interrupted system call\"},\n\t{5, \"EIO\", \"input/output error\"},\n\t{6, \"ENXIO\", \"device not configured\"},\n\t{7, \"E2BIG\", \"argument list too long\"},\n\t{8, \"ENOEXEC\", \"exec format error\"},\n\t{9, \"EBADF\", \"bad file descriptor\"},\n\t{10, \"ECHILD\", \"no child processes\"},\n\t{11, \"EDEADLK\", \"resource deadlock avoided\"},\n\t{12, \"ENOMEM\", \"cannot allocate memory\"},\n\t{13, \"EACCES\", \"permission denied\"},\n\t{14, \"EFAULT\", \"bad address\"},\n\t{15, \"ENOTBLK\", \"block device required\"},\n\t{16, \"EBUSY\", \"device busy\"},\n\t{17, \"EEXIST\", \"file exists\"},\n\t{18, \"EXDEV\", \"cross-device link\"},\n\t{19, \"ENODEV\", \"operation not supported by device\"},\n\t{20, \"ENOTDIR\", \"not a directory\"},\n\t{21, \"EISDIR\", \"is a directory\"},\n\t{22, \"EINVAL\", \"invalid argument\"},\n\t{23, \"ENFILE\", \"too many open files in system\"},\n\t{24, \"EMFILE\", \"too many open files\"},\n\t{25, \"ENOTTY\", \"inappropriate ioctl for device\"},\n\t{26, \"ETXTBSY\", \"text file busy\"},\n\t{27, \"EFBIG\", \"file too large\"},\n\t{28, \"ENOSPC\", \"no space left on device\"},\n\t{29, \"ESPIPE\", \"illegal seek\"},\n\t{30, \"EROFS\", \"read-only file system\"},\n\t{31, \"EMLINK\", \"too many links\"},\n\t{32, \"EPIPE\", \"broken pipe\"},\n\t{33, \"EDOM\", \"numerical argument out of domain\"},\n\t{34, \"ERANGE\", \"result too large or too small\"},\n\t{35, \"EAGAIN\", \"resource temporarily unavailable\"},\n\t{36, \"EINPROGRESS\", \"operation now in progress\"},\n\t{37, \"EALREADY\", \"operation already in progress\"},\n\t{38, \"ENOTSOCK\", \"socket operation on non-socket\"},\n\t{39, \"EDESTADDRREQ\", \"destination address required\"},\n\t{40, \"EMSGSIZE\", \"message too long\"},\n\t{41, \"EPROTOTYPE\", \"protocol wrong type for socket\"},\n\t{42, \"ENOPROTOOPT\", \"protocol option not available\"},\n\t{43, \"EPROTONOSUPPORT\", \"protocol not supported\"},\n\t{44, \"ESOCKTNOSUPPORT\", \"socket type not supported\"},\n\t{45, \"EOPNOTSUPP\", \"operation not supported\"},\n\t{46, \"EPFNOSUPPORT\", \"protocol family not supported\"},\n\t{47, \"EAFNOSUPPORT\", \"address family not supported by protocol family\"},\n\t{48, \"EADDRINUSE\", \"address already in use\"},\n\t{49, \"EADDRNOTAVAIL\", \"can't assign requested address\"},\n\t{50, \"ENETDOWN\", \"network is down\"},\n\t{51, \"ENETUNREACH\", \"network is unreachable\"},\n\t{52, \"ENETRESET\", \"network dropped connection on reset\"},\n\t{53, \"ECONNABORTED\", \"software caused connection abort\"},\n\t{54, \"ECONNRESET\", \"connection reset by peer\"},\n\t{55, \"ENOBUFS\", \"no buffer space available\"},\n\t{56, \"EISCONN\", \"socket is already connected\"},\n\t{57, \"ENOTCONN\", \"socket is not connected\"},\n\t{58, \"ESHUTDOWN\", \"can't send after socket shutdown\"},\n\t{59, \"ETOOMANYREFS\", \"too many references: can't splice\"},\n\t{60, \"ETIMEDOUT\", \"connection timed out\"},\n\t{61, \"ECONNREFUSED\", \"connection refused\"},\n\t{62, \"ELOOP\", \"too many levels of symbolic links\"},\n\t{63, \"ENAMETOOLONG\", \"file name too long\"},\n\t{64, \"EHOSTDOWN\", \"host is down\"},\n\t{65, \"EHOSTUNREACH\", \"no route to host\"},\n\t{66, \"ENOTEMPTY\", \"directory not empty\"},\n\t{67, \"EPROCLIM\", \"too many processes\"},\n\t{68, \"EUSERS\", \"too many users\"},\n\t{69, \"EDQUOT\", \"disc quota exceeded\"},\n\t{70, \"ESTALE\", \"stale NFS file handle\"},\n\t{71, \"EREMOTE\", \"too many levels of remote in path\"},\n\t{72, \"EBADRPC\", \"RPC struct is bad\"},\n\t{73, \"ERPCMISMATCH\", \"RPC version wrong\"},\n\t{74, \"EPROGUNAVAIL\", \"RPC prog. not avail\"},\n\t{75, \"EPROGMISMATCH\", \"program version wrong\"},\n\t{76, \"EPROCUNAVAIL\", \"bad procedure for program\"},\n\t{77, \"ENOLCK\", \"no locks available\"},\n\t{78, \"ENOSYS\", \"function not implemented\"},\n\t{79, \"EFTYPE\", \"inappropriate file type or format\"},\n\t{80, \"EAUTH\", \"authentication error\"},\n\t{81, \"ENEEDAUTH\", \"need authenticator\"},\n\t{82, \"EIDRM\", \"identifier removed\"},\n\t{83, \"ENOMSG\", \"no message of desired type\"},\n\t{84, \"EOVERFLOW\", \"value too large to be stored in data type\"},\n\t{85, \"EILSEQ\", \"illegal byte sequence\"},\n\t{86, \"ENOTSUP\", \"not supported\"},\n\t{87, \"ECANCELED\", \"operation Canceled\"},\n\t{88, \"EBADMSG\", \"bad or Corrupt message\"},\n\t{89, \"ENODATA\", \"no message available\"},\n\t{90, \"ENOSR\", \"no STREAM resources\"},\n\t{91, \"ENOSTR\", \"not a STREAM\"},\n\t{92, \"ETIME\", \"STREAM ioctl timeout\"},\n\t{93, \"ENOATTR\", \"attribute not found\"},\n\t{94, \"EMULTIHOP\", \"multihop attempted\"},\n\t{95, \"ENOLINK\", \"link has been severed\"},\n\t{96, \"ELAST\", \"protocol error\"},\n}\n\n// Signal table\nvar signalList = [...]struct {\n\tnum  syscall.Signal\n\tname string\n\tdesc string\n}{\n\t{1, \"SIGHUP\", \"hangup\"},\n\t{2, \"SIGINT\", \"interrupt\"},\n\t{3, \"SIGQUIT\", \"quit\"},\n\t{4, \"SIGILL\", \"illegal instruction\"},\n\t{5, \"SIGTRAP\", \"trace/BPT trap\"},\n\t{6, \"SIGIOT\", \"abort trap\"},\n\t{7, \"SIGEMT\", \"EMT trap\"},\n\t{8, \"SIGFPE\", \"floating point exception\"},\n\t{9, \"SIGKILL\", \"killed\"},\n\t{10, \"SIGBUS\", \"bus error\"},\n\t{11, \"SIGSEGV\", \"segmentation fault\"},\n\t{12, \"SIGSYS\", \"bad system call\"},\n\t{13, \"SIGPIPE\", \"broken pipe\"},\n\t{14, \"SIGALRM\", \"alarm clock\"},\n\t{15, \"SIGTERM\", \"terminated\"},\n\t{16, \"SIGURG\", \"urgent I/O condition\"},\n\t{17, \"SIGSTOP\", \"stopped (signal)\"},\n\t{18, \"SIGTSTP\", \"stopped\"},\n\t{19, \"SIGCONT\", \"continued\"},\n\t{20, \"SIGCHLD\", \"child exited\"},\n\t{21, \"SIGTTIN\", \"stopped (tty input)\"},\n\t{22, \"SIGTTOU\", \"stopped (tty output)\"},\n\t{23, \"SIGIO\", \"I/O possible\"},\n\t{24, \"SIGXCPU\", \"cputime limit exceeded\"},\n\t{25, \"SIGXFSZ\", \"filesize limit exceeded\"},\n\t{26, \"SIGVTALRM\", \"virtual timer expired\"},\n\t{27, \"SIGPROF\", \"profiling timer expired\"},\n\t{28, \"SIGWINCH\", \"window size changes\"},\n\t{29, \"SIGINFO\", \"information request\"},\n\t{30, \"SIGUSR1\", \"user defined signal 1\"},\n\t{31, \"SIGUSR2\", \"user defined signal 2\"},\n\t{32, \"SIGPWR\", \"power fail/restart\"},\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go",
    "content": "// mkerrors.sh -m64\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,netbsd\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -m64 _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_APPLETALK                      = 0x10\n\tAF_ARP                            = 0x1c\n\tAF_BLUETOOTH                      = 0x1f\n\tAF_CCITT                          = 0xa\n\tAF_CHAOS                          = 0x5\n\tAF_CNT                            = 0x15\n\tAF_COIP                           = 0x14\n\tAF_DATAKIT                        = 0x9\n\tAF_DECnet                         = 0xc\n\tAF_DLI                            = 0xd\n\tAF_E164                           = 0x1a\n\tAF_ECMA                           = 0x8\n\tAF_HYLINK                         = 0xf\n\tAF_IEEE80211                      = 0x20\n\tAF_IMPLINK                        = 0x3\n\tAF_INET                           = 0x2\n\tAF_INET6                          = 0x18\n\tAF_IPX                            = 0x17\n\tAF_ISDN                           = 0x1a\n\tAF_ISO                            = 0x7\n\tAF_LAT                            = 0xe\n\tAF_LINK                           = 0x12\n\tAF_LOCAL                          = 0x1\n\tAF_MAX                            = 0x23\n\tAF_MPLS                           = 0x21\n\tAF_NATM                           = 0x1b\n\tAF_NS                             = 0x6\n\tAF_OROUTE                         = 0x11\n\tAF_OSI                            = 0x7\n\tAF_PUP                            = 0x4\n\tAF_ROUTE                          = 0x22\n\tAF_SNA                            = 0xb\n\tAF_UNIX                           = 0x1\n\tAF_UNSPEC                         = 0x0\n\tARPHRD_ARCNET                     = 0x7\n\tARPHRD_ETHER                      = 0x1\n\tARPHRD_FRELAY                     = 0xf\n\tARPHRD_IEEE1394                   = 0x18\n\tARPHRD_IEEE802                    = 0x6\n\tARPHRD_STRIP                      = 0x17\n\tB0                                = 0x0\n\tB110                              = 0x6e\n\tB115200                           = 0x1c200\n\tB1200                             = 0x4b0\n\tB134                              = 0x86\n\tB14400                            = 0x3840\n\tB150                              = 0x96\n\tB1800                             = 0x708\n\tB19200                            = 0x4b00\n\tB200                              = 0xc8\n\tB230400                           = 0x38400\n\tB2400                             = 0x960\n\tB28800                            = 0x7080\n\tB300                              = 0x12c\n\tB38400                            = 0x9600\n\tB460800                           = 0x70800\n\tB4800                             = 0x12c0\n\tB50                               = 0x32\n\tB57600                            = 0xe100\n\tB600                              = 0x258\n\tB7200                             = 0x1c20\n\tB75                               = 0x4b\n\tB76800                            = 0x12c00\n\tB921600                           = 0xe1000\n\tB9600                             = 0x2580\n\tBIOCFEEDBACK                      = 0x8004427d\n\tBIOCFLUSH                         = 0x20004268\n\tBIOCGBLEN                         = 0x40044266\n\tBIOCGDLT                          = 0x4004426a\n\tBIOCGDLTLIST                      = 0xc0104277\n\tBIOCGETIF                         = 0x4090426b\n\tBIOCGFEEDBACK                     = 0x4004427c\n\tBIOCGHDRCMPLT                     = 0x40044274\n\tBIOCGRTIMEOUT                     = 0x4010427b\n\tBIOCGSEESENT                      = 0x40044278\n\tBIOCGSTATS                        = 0x4080426f\n\tBIOCGSTATSOLD                     = 0x4008426f\n\tBIOCIMMEDIATE                     = 0x80044270\n\tBIOCPROMISC                       = 0x20004269\n\tBIOCSBLEN                         = 0xc0044266\n\tBIOCSDLT                          = 0x80044276\n\tBIOCSETF                          = 0x80104267\n\tBIOCSETIF                         = 0x8090426c\n\tBIOCSFEEDBACK                     = 0x8004427d\n\tBIOCSHDRCMPLT                     = 0x80044275\n\tBIOCSRTIMEOUT                     = 0x8010427a\n\tBIOCSSEESENT                      = 0x80044279\n\tBIOCSTCPF                         = 0x80104272\n\tBIOCSUDPF                         = 0x80104273\n\tBIOCVERSION                       = 0x40044271\n\tBPF_A                             = 0x10\n\tBPF_ABS                           = 0x20\n\tBPF_ADD                           = 0x0\n\tBPF_ALIGNMENT                     = 0x8\n\tBPF_ALIGNMENT32                   = 0x4\n\tBPF_ALU                           = 0x4\n\tBPF_AND                           = 0x50\n\tBPF_B                             = 0x10\n\tBPF_DFLTBUFSIZE                   = 0x100000\n\tBPF_DIV                           = 0x30\n\tBPF_H                             = 0x8\n\tBPF_IMM                           = 0x0\n\tBPF_IND                           = 0x40\n\tBPF_JA                            = 0x0\n\tBPF_JEQ                           = 0x10\n\tBPF_JGE                           = 0x30\n\tBPF_JGT                           = 0x20\n\tBPF_JMP                           = 0x5\n\tBPF_JSET                          = 0x40\n\tBPF_K                             = 0x0\n\tBPF_LD                            = 0x0\n\tBPF_LDX                           = 0x1\n\tBPF_LEN                           = 0x80\n\tBPF_LSH                           = 0x60\n\tBPF_MAJOR_VERSION                 = 0x1\n\tBPF_MAXBUFSIZE                    = 0x1000000\n\tBPF_MAXINSNS                      = 0x200\n\tBPF_MEM                           = 0x60\n\tBPF_MEMWORDS                      = 0x10\n\tBPF_MINBUFSIZE                    = 0x20\n\tBPF_MINOR_VERSION                 = 0x1\n\tBPF_MISC                          = 0x7\n\tBPF_MSH                           = 0xa0\n\tBPF_MUL                           = 0x20\n\tBPF_NEG                           = 0x80\n\tBPF_OR                            = 0x40\n\tBPF_RELEASE                       = 0x30bb6\n\tBPF_RET                           = 0x6\n\tBPF_RSH                           = 0x70\n\tBPF_ST                            = 0x2\n\tBPF_STX                           = 0x3\n\tBPF_SUB                           = 0x10\n\tBPF_TAX                           = 0x0\n\tBPF_TXA                           = 0x80\n\tBPF_W                             = 0x0\n\tBPF_X                             = 0x8\n\tBRKINT                            = 0x2\n\tCFLUSH                            = 0xf\n\tCLOCAL                            = 0x8000\n\tCLONE_CSIGNAL                     = 0xff\n\tCLONE_FILES                       = 0x400\n\tCLONE_FS                          = 0x200\n\tCLONE_PID                         = 0x1000\n\tCLONE_PTRACE                      = 0x2000\n\tCLONE_SIGHAND                     = 0x800\n\tCLONE_VFORK                       = 0x4000\n\tCLONE_VM                          = 0x100\n\tCREAD                             = 0x800\n\tCRTSCTS                           = 0x10000\n\tCS5                               = 0x0\n\tCS6                               = 0x100\n\tCS7                               = 0x200\n\tCS8                               = 0x300\n\tCSIZE                             = 0x300\n\tCSTART                            = 0x11\n\tCSTATUS                           = 0x14\n\tCSTOP                             = 0x13\n\tCSTOPB                            = 0x400\n\tCSUSP                             = 0x1a\n\tCTL_HW                            = 0x6\n\tCTL_KERN                          = 0x1\n\tCTL_MAXNAME                       = 0xc\n\tCTL_NET                           = 0x4\n\tCTL_QUERY                         = -0x2\n\tDIOCBSFLUSH                       = 0x20006478\n\tDLT_A429                          = 0xb8\n\tDLT_A653_ICM                      = 0xb9\n\tDLT_AIRONET_HEADER                = 0x78\n\tDLT_AOS                           = 0xde\n\tDLT_APPLE_IP_OVER_IEEE1394        = 0x8a\n\tDLT_ARCNET                        = 0x7\n\tDLT_ARCNET_LINUX                  = 0x81\n\tDLT_ATM_CLIP                      = 0x13\n\tDLT_ATM_RFC1483                   = 0xb\n\tDLT_AURORA                        = 0x7e\n\tDLT_AX25                          = 0x3\n\tDLT_AX25_KISS                     = 0xca\n\tDLT_BACNET_MS_TP                  = 0xa5\n\tDLT_BLUETOOTH_HCI_H4              = 0xbb\n\tDLT_BLUETOOTH_HCI_H4_WITH_PHDR    = 0xc9\n\tDLT_CAN20B                        = 0xbe\n\tDLT_CAN_SOCKETCAN                 = 0xe3\n\tDLT_CHAOS                         = 0x5\n\tDLT_CISCO_IOS                     = 0x76\n\tDLT_C_HDLC                        = 0x68\n\tDLT_C_HDLC_WITH_DIR               = 0xcd\n\tDLT_DECT                          = 0xdd\n\tDLT_DOCSIS                        = 0x8f\n\tDLT_ECONET                        = 0x73\n\tDLT_EN10MB                        = 0x1\n\tDLT_EN3MB                         = 0x2\n\tDLT_ENC                           = 0x6d\n\tDLT_ERF                           = 0xc5\n\tDLT_ERF_ETH                       = 0xaf\n\tDLT_ERF_POS                       = 0xb0\n\tDLT_FC_2                          = 0xe0\n\tDLT_FC_2_WITH_FRAME_DELIMS        = 0xe1\n\tDLT_FDDI                          = 0xa\n\tDLT_FLEXRAY                       = 0xd2\n\tDLT_FRELAY                        = 0x6b\n\tDLT_FRELAY_WITH_DIR               = 0xce\n\tDLT_GCOM_SERIAL                   = 0xad\n\tDLT_GCOM_T1E1                     = 0xac\n\tDLT_GPF_F                         = 0xab\n\tDLT_GPF_T                         = 0xaa\n\tDLT_GPRS_LLC                      = 0xa9\n\tDLT_GSMTAP_ABIS                   = 0xda\n\tDLT_GSMTAP_UM                     = 0xd9\n\tDLT_HDLC                          = 0x10\n\tDLT_HHDLC                         = 0x79\n\tDLT_HIPPI                         = 0xf\n\tDLT_IBM_SN                        = 0x92\n\tDLT_IBM_SP                        = 0x91\n\tDLT_IEEE802                       = 0x6\n\tDLT_IEEE802_11                    = 0x69\n\tDLT_IEEE802_11_RADIO              = 0x7f\n\tDLT_IEEE802_11_RADIO_AVS          = 0xa3\n\tDLT_IEEE802_15_4                  = 0xc3\n\tDLT_IEEE802_15_4_LINUX            = 0xbf\n\tDLT_IEEE802_15_4_NONASK_PHY       = 0xd7\n\tDLT_IEEE802_16_MAC_CPS            = 0xbc\n\tDLT_IEEE802_16_MAC_CPS_RADIO      = 0xc1\n\tDLT_IPMB                          = 0xc7\n\tDLT_IPMB_LINUX                    = 0xd1\n\tDLT_IPNET                         = 0xe2\n\tDLT_IPV4                          = 0xe4\n\tDLT_IPV6                          = 0xe5\n\tDLT_IP_OVER_FC                    = 0x7a\n\tDLT_JUNIPER_ATM1                  = 0x89\n\tDLT_JUNIPER_ATM2                  = 0x87\n\tDLT_JUNIPER_CHDLC                 = 0xb5\n\tDLT_JUNIPER_ES                    = 0x84\n\tDLT_JUNIPER_ETHER                 = 0xb2\n\tDLT_JUNIPER_FRELAY                = 0xb4\n\tDLT_JUNIPER_GGSN                  = 0x85\n\tDLT_JUNIPER_ISM                   = 0xc2\n\tDLT_JUNIPER_MFR                   = 0x86\n\tDLT_JUNIPER_MLFR                  = 0x83\n\tDLT_JUNIPER_MLPPP                 = 0x82\n\tDLT_JUNIPER_MONITOR               = 0xa4\n\tDLT_JUNIPER_PIC_PEER              = 0xae\n\tDLT_JUNIPER_PPP                   = 0xb3\n\tDLT_JUNIPER_PPPOE                 = 0xa7\n\tDLT_JUNIPER_PPPOE_ATM             = 0xa8\n\tDLT_JUNIPER_SERVICES              = 0x88\n\tDLT_JUNIPER_ST                    = 0xc8\n\tDLT_JUNIPER_VP                    = 0xb7\n\tDLT_LAPB_WITH_DIR                 = 0xcf\n\tDLT_LAPD                          = 0xcb\n\tDLT_LIN                           = 0xd4\n\tDLT_LINUX_EVDEV                   = 0xd8\n\tDLT_LINUX_IRDA                    = 0x90\n\tDLT_LINUX_LAPD                    = 0xb1\n\tDLT_LINUX_SLL                     = 0x71\n\tDLT_LOOP                          = 0x6c\n\tDLT_LTALK                         = 0x72\n\tDLT_MFR                           = 0xb6\n\tDLT_MOST                          = 0xd3\n\tDLT_MPLS                          = 0xdb\n\tDLT_MTP2                          = 0x8c\n\tDLT_MTP2_WITH_PHDR                = 0x8b\n\tDLT_MTP3                          = 0x8d\n\tDLT_NULL                          = 0x0\n\tDLT_PCI_EXP                       = 0x7d\n\tDLT_PFLOG                         = 0x75\n\tDLT_PFSYNC                        = 0x12\n\tDLT_PPI                           = 0xc0\n\tDLT_PPP                           = 0x9\n\tDLT_PPP_BSDOS                     = 0xe\n\tDLT_PPP_ETHER                     = 0x33\n\tDLT_PPP_PPPD                      = 0xa6\n\tDLT_PPP_SERIAL                    = 0x32\n\tDLT_PPP_WITH_DIR                  = 0xcc\n\tDLT_PRISM_HEADER                  = 0x77\n\tDLT_PRONET                        = 0x4\n\tDLT_RAIF1                         = 0xc6\n\tDLT_RAW                           = 0xc\n\tDLT_RAWAF_MASK                    = 0x2240000\n\tDLT_RIO                           = 0x7c\n\tDLT_SCCP                          = 0x8e\n\tDLT_SITA                          = 0xc4\n\tDLT_SLIP                          = 0x8\n\tDLT_SLIP_BSDOS                    = 0xd\n\tDLT_SUNATM                        = 0x7b\n\tDLT_SYMANTEC_FIREWALL             = 0x63\n\tDLT_TZSP                          = 0x80\n\tDLT_USB                           = 0xba\n\tDLT_USB_LINUX                     = 0xbd\n\tDLT_USB_LINUX_MMAPPED             = 0xdc\n\tDLT_WIHART                        = 0xdf\n\tDLT_X2E_SERIAL                    = 0xd5\n\tDLT_X2E_XORAYA                    = 0xd6\n\tDT_BLK                            = 0x6\n\tDT_CHR                            = 0x2\n\tDT_DIR                            = 0x4\n\tDT_FIFO                           = 0x1\n\tDT_LNK                            = 0xa\n\tDT_REG                            = 0x8\n\tDT_SOCK                           = 0xc\n\tDT_UNKNOWN                        = 0x0\n\tDT_WHT                            = 0xe\n\tECHO                              = 0x8\n\tECHOCTL                           = 0x40\n\tECHOE                             = 0x2\n\tECHOK                             = 0x4\n\tECHOKE                            = 0x1\n\tECHONL                            = 0x10\n\tECHOPRT                           = 0x20\n\tEMUL_LINUX                        = 0x1\n\tEMUL_LINUX32                      = 0x5\n\tEMUL_MAXID                        = 0x6\n\tETHERCAP_JUMBO_MTU                = 0x4\n\tETHERCAP_VLAN_HWTAGGING           = 0x2\n\tETHERCAP_VLAN_MTU                 = 0x1\n\tETHERMIN                          = 0x2e\n\tETHERMTU                          = 0x5dc\n\tETHERMTU_JUMBO                    = 0x2328\n\tETHERTYPE_8023                    = 0x4\n\tETHERTYPE_AARP                    = 0x80f3\n\tETHERTYPE_ACCTON                  = 0x8390\n\tETHERTYPE_AEONIC                  = 0x8036\n\tETHERTYPE_ALPHA                   = 0x814a\n\tETHERTYPE_AMBER                   = 0x6008\n\tETHERTYPE_AMOEBA                  = 0x8145\n\tETHERTYPE_APOLLO                  = 0x80f7\n\tETHERTYPE_APOLLODOMAIN            = 0x8019\n\tETHERTYPE_APPLETALK               = 0x809b\n\tETHERTYPE_APPLITEK                = 0x80c7\n\tETHERTYPE_ARGONAUT                = 0x803a\n\tETHERTYPE_ARP                     = 0x806\n\tETHERTYPE_AT                      = 0x809b\n\tETHERTYPE_ATALK                   = 0x809b\n\tETHERTYPE_ATOMIC                  = 0x86df\n\tETHERTYPE_ATT                     = 0x8069\n\tETHERTYPE_ATTSTANFORD             = 0x8008\n\tETHERTYPE_AUTOPHON                = 0x806a\n\tETHERTYPE_AXIS                    = 0x8856\n\tETHERTYPE_BCLOOP                  = 0x9003\n\tETHERTYPE_BOFL                    = 0x8102\n\tETHERTYPE_CABLETRON               = 0x7034\n\tETHERTYPE_CHAOS                   = 0x804\n\tETHERTYPE_COMDESIGN               = 0x806c\n\tETHERTYPE_COMPUGRAPHIC            = 0x806d\n\tETHERTYPE_COUNTERPOINT            = 0x8062\n\tETHERTYPE_CRONUS                  = 0x8004\n\tETHERTYPE_CRONUSVLN               = 0x8003\n\tETHERTYPE_DCA                     = 0x1234\n\tETHERTYPE_DDE                     = 0x807b\n\tETHERTYPE_DEBNI                   = 0xaaaa\n\tETHERTYPE_DECAM                   = 0x8048\n\tETHERTYPE_DECCUST                 = 0x6006\n\tETHERTYPE_DECDIAG                 = 0x6005\n\tETHERTYPE_DECDNS                  = 0x803c\n\tETHERTYPE_DECDTS                  = 0x803e\n\tETHERTYPE_DECEXPER                = 0x6000\n\tETHERTYPE_DECLAST                 = 0x8041\n\tETHERTYPE_DECLTM                  = 0x803f\n\tETHERTYPE_DECMUMPS                = 0x6009\n\tETHERTYPE_DECNETBIOS              = 0x8040\n\tETHERTYPE_DELTACON                = 0x86de\n\tETHERTYPE_DIDDLE                  = 0x4321\n\tETHERTYPE_DLOG1                   = 0x660\n\tETHERTYPE_DLOG2                   = 0x661\n\tETHERTYPE_DN                      = 0x6003\n\tETHERTYPE_DOGFIGHT                = 0x1989\n\tETHERTYPE_DSMD                    = 0x8039\n\tETHERTYPE_ECMA                    = 0x803\n\tETHERTYPE_ENCRYPT                 = 0x803d\n\tETHERTYPE_ES                      = 0x805d\n\tETHERTYPE_EXCELAN                 = 0x8010\n\tETHERTYPE_EXPERDATA               = 0x8049\n\tETHERTYPE_FLIP                    = 0x8146\n\tETHERTYPE_FLOWCONTROL             = 0x8808\n\tETHERTYPE_FRARP                   = 0x808\n\tETHERTYPE_GENDYN                  = 0x8068\n\tETHERTYPE_HAYES                   = 0x8130\n\tETHERTYPE_HIPPI_FP                = 0x8180\n\tETHERTYPE_HITACHI                 = 0x8820\n\tETHERTYPE_HP                      = 0x8005\n\tETHERTYPE_IEEEPUP                 = 0xa00\n\tETHERTYPE_IEEEPUPAT               = 0xa01\n\tETHERTYPE_IMLBL                   = 0x4c42\n\tETHERTYPE_IMLBLDIAG               = 0x424c\n\tETHERTYPE_IP                      = 0x800\n\tETHERTYPE_IPAS                    = 0x876c\n\tETHERTYPE_IPV6                    = 0x86dd\n\tETHERTYPE_IPX                     = 0x8137\n\tETHERTYPE_IPXNEW                  = 0x8037\n\tETHERTYPE_KALPANA                 = 0x8582\n\tETHERTYPE_LANBRIDGE               = 0x8038\n\tETHERTYPE_LANPROBE                = 0x8888\n\tETHERTYPE_LAT                     = 0x6004\n\tETHERTYPE_LBACK                   = 0x9000\n\tETHERTYPE_LITTLE                  = 0x8060\n\tETHERTYPE_LOGICRAFT               = 0x8148\n\tETHERTYPE_LOOPBACK                = 0x9000\n\tETHERTYPE_MATRA                   = 0x807a\n\tETHERTYPE_MAX                     = 0xffff\n\tETHERTYPE_MERIT                   = 0x807c\n\tETHERTYPE_MICP                    = 0x873a\n\tETHERTYPE_MOPDL                   = 0x6001\n\tETHERTYPE_MOPRC                   = 0x6002\n\tETHERTYPE_MOTOROLA                = 0x818d\n\tETHERTYPE_MPLS                    = 0x8847\n\tETHERTYPE_MPLS_MCAST              = 0x8848\n\tETHERTYPE_MUMPS                   = 0x813f\n\tETHERTYPE_NBPCC                   = 0x3c04\n\tETHERTYPE_NBPCLAIM                = 0x3c09\n\tETHERTYPE_NBPCLREQ                = 0x3c05\n\tETHERTYPE_NBPCLRSP                = 0x3c06\n\tETHERTYPE_NBPCREQ                 = 0x3c02\n\tETHERTYPE_NBPCRSP                 = 0x3c03\n\tETHERTYPE_NBPDG                   = 0x3c07\n\tETHERTYPE_NBPDGB                  = 0x3c08\n\tETHERTYPE_NBPDLTE                 = 0x3c0a\n\tETHERTYPE_NBPRAR                  = 0x3c0c\n\tETHERTYPE_NBPRAS                  = 0x3c0b\n\tETHERTYPE_NBPRST                  = 0x3c0d\n\tETHERTYPE_NBPSCD                  = 0x3c01\n\tETHERTYPE_NBPVCD                  = 0x3c00\n\tETHERTYPE_NBS                     = 0x802\n\tETHERTYPE_NCD                     = 0x8149\n\tETHERTYPE_NESTAR                  = 0x8006\n\tETHERTYPE_NETBEUI                 = 0x8191\n\tETHERTYPE_NOVELL                  = 0x8138\n\tETHERTYPE_NS                      = 0x600\n\tETHERTYPE_NSAT                    = 0x601\n\tETHERTYPE_NSCOMPAT                = 0x807\n\tETHERTYPE_NTRAILER                = 0x10\n\tETHERTYPE_OS9                     = 0x7007\n\tETHERTYPE_OS9NET                  = 0x7009\n\tETHERTYPE_PACER                   = 0x80c6\n\tETHERTYPE_PAE                     = 0x888e\n\tETHERTYPE_PCS                     = 0x4242\n\tETHERTYPE_PLANNING                = 0x8044\n\tETHERTYPE_PPP                     = 0x880b\n\tETHERTYPE_PPPOE                   = 0x8864\n\tETHERTYPE_PPPOEDISC               = 0x8863\n\tETHERTYPE_PRIMENTS                = 0x7031\n\tETHERTYPE_PUP                     = 0x200\n\tETHERTYPE_PUPAT                   = 0x200\n\tETHERTYPE_RACAL                   = 0x7030\n\tETHERTYPE_RATIONAL                = 0x8150\n\tETHERTYPE_RAWFR                   = 0x6559\n\tETHERTYPE_RCL                     = 0x1995\n\tETHERTYPE_RDP                     = 0x8739\n\tETHERTYPE_RETIX                   = 0x80f2\n\tETHERTYPE_REVARP                  = 0x8035\n\tETHERTYPE_SCA                     = 0x6007\n\tETHERTYPE_SECTRA                  = 0x86db\n\tETHERTYPE_SECUREDATA              = 0x876d\n\tETHERTYPE_SGITW                   = 0x817e\n\tETHERTYPE_SG_BOUNCE               = 0x8016\n\tETHERTYPE_SG_DIAG                 = 0x8013\n\tETHERTYPE_SG_NETGAMES             = 0x8014\n\tETHERTYPE_SG_RESV                 = 0x8015\n\tETHERTYPE_SIMNET                  = 0x5208\n\tETHERTYPE_SLOWPROTOCOLS           = 0x8809\n\tETHERTYPE_SNA                     = 0x80d5\n\tETHERTYPE_SNMP                    = 0x814c\n\tETHERTYPE_SONIX                   = 0xfaf5\n\tETHERTYPE_SPIDER                  = 0x809f\n\tETHERTYPE_SPRITE                  = 0x500\n\tETHERTYPE_STP                     = 0x8181\n\tETHERTYPE_TALARIS                 = 0x812b\n\tETHERTYPE_TALARISMC               = 0x852b\n\tETHERTYPE_TCPCOMP                 = 0x876b\n\tETHERTYPE_TCPSM                   = 0x9002\n\tETHERTYPE_TEC                     = 0x814f\n\tETHERTYPE_TIGAN                   = 0x802f\n\tETHERTYPE_TRAIL                   = 0x1000\n\tETHERTYPE_TRANSETHER              = 0x6558\n\tETHERTYPE_TYMSHARE                = 0x802e\n\tETHERTYPE_UBBST                   = 0x7005\n\tETHERTYPE_UBDEBUG                 = 0x900\n\tETHERTYPE_UBDIAGLOOP              = 0x7002\n\tETHERTYPE_UBDL                    = 0x7000\n\tETHERTYPE_UBNIU                   = 0x7001\n\tETHERTYPE_UBNMC                   = 0x7003\n\tETHERTYPE_VALID                   = 0x1600\n\tETHERTYPE_VARIAN                  = 0x80dd\n\tETHERTYPE_VAXELN                  = 0x803b\n\tETHERTYPE_VEECO                   = 0x8067\n\tETHERTYPE_VEXP                    = 0x805b\n\tETHERTYPE_VGLAB                   = 0x8131\n\tETHERTYPE_VINES                   = 0xbad\n\tETHERTYPE_VINESECHO               = 0xbaf\n\tETHERTYPE_VINESLOOP               = 0xbae\n\tETHERTYPE_VITAL                   = 0xff00\n\tETHERTYPE_VLAN                    = 0x8100\n\tETHERTYPE_VLTLMAN                 = 0x8080\n\tETHERTYPE_VPROD                   = 0x805c\n\tETHERTYPE_VURESERVED              = 0x8147\n\tETHERTYPE_WATERLOO                = 0x8130\n\tETHERTYPE_WELLFLEET               = 0x8103\n\tETHERTYPE_X25                     = 0x805\n\tETHERTYPE_X75                     = 0x801\n\tETHERTYPE_XNSSM                   = 0x9001\n\tETHERTYPE_XTP                     = 0x817d\n\tETHER_ADDR_LEN                    = 0x6\n\tETHER_CRC_LEN                     = 0x4\n\tETHER_CRC_POLY_BE                 = 0x4c11db6\n\tETHER_CRC_POLY_LE                 = 0xedb88320\n\tETHER_HDR_LEN                     = 0xe\n\tETHER_MAX_LEN                     = 0x5ee\n\tETHER_MAX_LEN_JUMBO               = 0x233a\n\tETHER_MIN_LEN                     = 0x40\n\tETHER_PPPOE_ENCAP_LEN             = 0x8\n\tETHER_TYPE_LEN                    = 0x2\n\tETHER_VLAN_ENCAP_LEN              = 0x4\n\tEVFILT_AIO                        = 0x2\n\tEVFILT_PROC                       = 0x4\n\tEVFILT_READ                       = 0x0\n\tEVFILT_SIGNAL                     = 0x5\n\tEVFILT_SYSCOUNT                   = 0x7\n\tEVFILT_TIMER                      = 0x6\n\tEVFILT_VNODE                      = 0x3\n\tEVFILT_WRITE                      = 0x1\n\tEV_ADD                            = 0x1\n\tEV_CLEAR                          = 0x20\n\tEV_DELETE                         = 0x2\n\tEV_DISABLE                        = 0x8\n\tEV_ENABLE                         = 0x4\n\tEV_EOF                            = 0x8000\n\tEV_ERROR                          = 0x4000\n\tEV_FLAG1                          = 0x2000\n\tEV_ONESHOT                        = 0x10\n\tEV_SYSFLAGS                       = 0xf000\n\tEXTA                              = 0x4b00\n\tEXTATTR_CMD_START                 = 0x1\n\tEXTATTR_CMD_STOP                  = 0x2\n\tEXTATTR_NAMESPACE_SYSTEM          = 0x2\n\tEXTATTR_NAMESPACE_USER            = 0x1\n\tEXTB                              = 0x9600\n\tEXTPROC                           = 0x800\n\tFD_CLOEXEC                        = 0x1\n\tFD_SETSIZE                        = 0x100\n\tFLUSHO                            = 0x800000\n\tF_CLOSEM                          = 0xa\n\tF_DUPFD                           = 0x0\n\tF_DUPFD_CLOEXEC                   = 0xc\n\tF_FSCTL                           = -0x80000000\n\tF_FSDIRMASK                       = 0x70000000\n\tF_FSIN                            = 0x10000000\n\tF_FSINOUT                         = 0x30000000\n\tF_FSOUT                           = 0x20000000\n\tF_FSPRIV                          = 0x8000\n\tF_FSVOID                          = 0x40000000\n\tF_GETFD                           = 0x1\n\tF_GETFL                           = 0x3\n\tF_GETLK                           = 0x7\n\tF_GETNOSIGPIPE                    = 0xd\n\tF_GETOWN                          = 0x5\n\tF_MAXFD                           = 0xb\n\tF_OK                              = 0x0\n\tF_PARAM_MASK                      = 0xfff\n\tF_PARAM_MAX                       = 0xfff\n\tF_RDLCK                           = 0x1\n\tF_SETFD                           = 0x2\n\tF_SETFL                           = 0x4\n\tF_SETLK                           = 0x8\n\tF_SETLKW                          = 0x9\n\tF_SETNOSIGPIPE                    = 0xe\n\tF_SETOWN                          = 0x6\n\tF_UNLCK                           = 0x2\n\tF_WRLCK                           = 0x3\n\tHUPCL                             = 0x4000\n\tHW_MACHINE                        = 0x1\n\tICANON                            = 0x100\n\tICMP6_FILTER                      = 0x12\n\tICRNL                             = 0x100\n\tIEXTEN                            = 0x400\n\tIFAN_ARRIVAL                      = 0x0\n\tIFAN_DEPARTURE                    = 0x1\n\tIFA_ROUTE                         = 0x1\n\tIFF_ALLMULTI                      = 0x200\n\tIFF_BROADCAST                     = 0x2\n\tIFF_CANTCHANGE                    = 0x8f52\n\tIFF_DEBUG                         = 0x4\n\tIFF_LINK0                         = 0x1000\n\tIFF_LINK1                         = 0x2000\n\tIFF_LINK2                         = 0x4000\n\tIFF_LOOPBACK                      = 0x8\n\tIFF_MULTICAST                     = 0x8000\n\tIFF_NOARP                         = 0x80\n\tIFF_NOTRAILERS                    = 0x20\n\tIFF_OACTIVE                       = 0x400\n\tIFF_POINTOPOINT                   = 0x10\n\tIFF_PROMISC                       = 0x100\n\tIFF_RUNNING                       = 0x40\n\tIFF_SIMPLEX                       = 0x800\n\tIFF_UP                            = 0x1\n\tIFNAMSIZ                          = 0x10\n\tIFT_1822                          = 0x2\n\tIFT_A12MPPSWITCH                  = 0x82\n\tIFT_AAL2                          = 0xbb\n\tIFT_AAL5                          = 0x31\n\tIFT_ADSL                          = 0x5e\n\tIFT_AFLANE8023                    = 0x3b\n\tIFT_AFLANE8025                    = 0x3c\n\tIFT_ARAP                          = 0x58\n\tIFT_ARCNET                        = 0x23\n\tIFT_ARCNETPLUS                    = 0x24\n\tIFT_ASYNC                         = 0x54\n\tIFT_ATM                           = 0x25\n\tIFT_ATMDXI                        = 0x69\n\tIFT_ATMFUNI                       = 0x6a\n\tIFT_ATMIMA                        = 0x6b\n\tIFT_ATMLOGICAL                    = 0x50\n\tIFT_ATMRADIO                      = 0xbd\n\tIFT_ATMSUBINTERFACE               = 0x86\n\tIFT_ATMVCIENDPT                   = 0xc2\n\tIFT_ATMVIRTUAL                    = 0x95\n\tIFT_BGPPOLICYACCOUNTING           = 0xa2\n\tIFT_BRIDGE                        = 0xd1\n\tIFT_BSC                           = 0x53\n\tIFT_CARP                          = 0xf8\n\tIFT_CCTEMUL                       = 0x3d\n\tIFT_CEPT                          = 0x13\n\tIFT_CES                           = 0x85\n\tIFT_CHANNEL                       = 0x46\n\tIFT_CNR                           = 0x55\n\tIFT_COFFEE                        = 0x84\n\tIFT_COMPOSITELINK                 = 0x9b\n\tIFT_DCN                           = 0x8d\n\tIFT_DIGITALPOWERLINE              = 0x8a\n\tIFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba\n\tIFT_DLSW                          = 0x4a\n\tIFT_DOCSCABLEDOWNSTREAM           = 0x80\n\tIFT_DOCSCABLEMACLAYER             = 0x7f\n\tIFT_DOCSCABLEUPSTREAM             = 0x81\n\tIFT_DOCSCABLEUPSTREAMCHANNEL      = 0xcd\n\tIFT_DS0                           = 0x51\n\tIFT_DS0BUNDLE                     = 0x52\n\tIFT_DS1FDL                        = 0xaa\n\tIFT_DS3                           = 0x1e\n\tIFT_DTM                           = 0x8c\n\tIFT_DVBASILN                      = 0xac\n\tIFT_DVBASIOUT                     = 0xad\n\tIFT_DVBRCCDOWNSTREAM              = 0x93\n\tIFT_DVBRCCMACLAYER                = 0x92\n\tIFT_DVBRCCUPSTREAM                = 0x94\n\tIFT_ECONET                        = 0xce\n\tIFT_EON                           = 0x19\n\tIFT_EPLRS                         = 0x57\n\tIFT_ESCON                         = 0x49\n\tIFT_ETHER                         = 0x6\n\tIFT_FAITH                         = 0xf2\n\tIFT_FAST                          = 0x7d\n\tIFT_FASTETHER                     = 0x3e\n\tIFT_FASTETHERFX                   = 0x45\n\tIFT_FDDI                          = 0xf\n\tIFT_FIBRECHANNEL                  = 0x38\n\tIFT_FRAMERELAYINTERCONNECT        = 0x3a\n\tIFT_FRAMERELAYMPI                 = 0x5c\n\tIFT_FRDLCIENDPT                   = 0xc1\n\tIFT_FRELAY                        = 0x20\n\tIFT_FRELAYDCE                     = 0x2c\n\tIFT_FRF16MFRBUNDLE                = 0xa3\n\tIFT_FRFORWARD                     = 0x9e\n\tIFT_G703AT2MB                     = 0x43\n\tIFT_G703AT64K                     = 0x42\n\tIFT_GIF                           = 0xf0\n\tIFT_GIGABITETHERNET               = 0x75\n\tIFT_GR303IDT                      = 0xb2\n\tIFT_GR303RDT                      = 0xb1\n\tIFT_H323GATEKEEPER                = 0xa4\n\tIFT_H323PROXY                     = 0xa5\n\tIFT_HDH1822                       = 0x3\n\tIFT_HDLC                          = 0x76\n\tIFT_HDSL2                         = 0xa8\n\tIFT_HIPERLAN2                     = 0xb7\n\tIFT_HIPPI                         = 0x2f\n\tIFT_HIPPIINTERFACE                = 0x39\n\tIFT_HOSTPAD                       = 0x5a\n\tIFT_HSSI                          = 0x2e\n\tIFT_HY                            = 0xe\n\tIFT_IBM370PARCHAN                 = 0x48\n\tIFT_IDSL                          = 0x9a\n\tIFT_IEEE1394                      = 0x90\n\tIFT_IEEE80211                     = 0x47\n\tIFT_IEEE80212                     = 0x37\n\tIFT_IEEE8023ADLAG                 = 0xa1\n\tIFT_IFGSN                         = 0x91\n\tIFT_IMT                           = 0xbe\n\tIFT_INFINIBAND                    = 0xc7\n\tIFT_INTERLEAVE                    = 0x7c\n\tIFT_IP                            = 0x7e\n\tIFT_IPFORWARD                     = 0x8e\n\tIFT_IPOVERATM                     = 0x72\n\tIFT_IPOVERCDLC                    = 0x6d\n\tIFT_IPOVERCLAW                    = 0x6e\n\tIFT_IPSWITCH                      = 0x4e\n\tIFT_ISDN                          = 0x3f\n\tIFT_ISDNBASIC                     = 0x14\n\tIFT_ISDNPRIMARY                   = 0x15\n\tIFT_ISDNS                         = 0x4b\n\tIFT_ISDNU                         = 0x4c\n\tIFT_ISO88022LLC                   = 0x29\n\tIFT_ISO88023                      = 0x7\n\tIFT_ISO88024                      = 0x8\n\tIFT_ISO88025                      = 0x9\n\tIFT_ISO88025CRFPINT               = 0x62\n\tIFT_ISO88025DTR                   = 0x56\n\tIFT_ISO88025FIBER                 = 0x73\n\tIFT_ISO88026                      = 0xa\n\tIFT_ISUP                          = 0xb3\n\tIFT_L2VLAN                        = 0x87\n\tIFT_L3IPVLAN                      = 0x88\n\tIFT_L3IPXVLAN                     = 0x89\n\tIFT_LAPB                          = 0x10\n\tIFT_LAPD                          = 0x4d\n\tIFT_LAPF                          = 0x77\n\tIFT_LINEGROUP                     = 0xd2\n\tIFT_LOCALTALK                     = 0x2a\n\tIFT_LOOP                          = 0x18\n\tIFT_MEDIAMAILOVERIP               = 0x8b\n\tIFT_MFSIGLINK                     = 0xa7\n\tIFT_MIOX25                        = 0x26\n\tIFT_MODEM                         = 0x30\n\tIFT_MPC                           = 0x71\n\tIFT_MPLS                          = 0xa6\n\tIFT_MPLSTUNNEL                    = 0x96\n\tIFT_MSDSL                         = 0x8f\n\tIFT_MVL                           = 0xbf\n\tIFT_MYRINET                       = 0x63\n\tIFT_NFAS                          = 0xaf\n\tIFT_NSIP                          = 0x1b\n\tIFT_OPTICALCHANNEL                = 0xc3\n\tIFT_OPTICALTRANSPORT              = 0xc4\n\tIFT_OTHER                         = 0x1\n\tIFT_P10                           = 0xc\n\tIFT_P80                           = 0xd\n\tIFT_PARA                          = 0x22\n\tIFT_PFLOG                         = 0xf5\n\tIFT_PFSYNC                        = 0xf6\n\tIFT_PLC                           = 0xae\n\tIFT_PON155                        = 0xcf\n\tIFT_PON622                        = 0xd0\n\tIFT_POS                           = 0xab\n\tIFT_PPP                           = 0x17\n\tIFT_PPPMULTILINKBUNDLE            = 0x6c\n\tIFT_PROPATM                       = 0xc5\n\tIFT_PROPBWAP2MP                   = 0xb8\n\tIFT_PROPCNLS                      = 0x59\n\tIFT_PROPDOCSWIRELESSDOWNSTREAM    = 0xb5\n\tIFT_PROPDOCSWIRELESSMACLAYER      = 0xb4\n\tIFT_PROPDOCSWIRELESSUPSTREAM      = 0xb6\n\tIFT_PROPMUX                       = 0x36\n\tIFT_PROPVIRTUAL                   = 0x35\n\tIFT_PROPWIRELESSP2P               = 0x9d\n\tIFT_PTPSERIAL                     = 0x16\n\tIFT_PVC                           = 0xf1\n\tIFT_Q2931                         = 0xc9\n\tIFT_QLLC                          = 0x44\n\tIFT_RADIOMAC                      = 0xbc\n\tIFT_RADSL                         = 0x5f\n\tIFT_REACHDSL                      = 0xc0\n\tIFT_RFC1483                       = 0x9f\n\tIFT_RS232                         = 0x21\n\tIFT_RSRB                          = 0x4f\n\tIFT_SDLC                          = 0x11\n\tIFT_SDSL                          = 0x60\n\tIFT_SHDSL                         = 0xa9\n\tIFT_SIP                           = 0x1f\n\tIFT_SIPSIG                        = 0xcc\n\tIFT_SIPTG                         = 0xcb\n\tIFT_SLIP                          = 0x1c\n\tIFT_SMDSDXI                       = 0x2b\n\tIFT_SMDSICIP                      = 0x34\n\tIFT_SONET                         = 0x27\n\tIFT_SONETOVERHEADCHANNEL          = 0xb9\n\tIFT_SONETPATH                     = 0x32\n\tIFT_SONETVT                       = 0x33\n\tIFT_SRP                           = 0x97\n\tIFT_SS7SIGLINK                    = 0x9c\n\tIFT_STACKTOSTACK                  = 0x6f\n\tIFT_STARLAN                       = 0xb\n\tIFT_STF                           = 0xd7\n\tIFT_T1                            = 0x12\n\tIFT_TDLC                          = 0x74\n\tIFT_TELINK                        = 0xc8\n\tIFT_TERMPAD                       = 0x5b\n\tIFT_TR008                         = 0xb0\n\tIFT_TRANSPHDLC                    = 0x7b\n\tIFT_TUNNEL                        = 0x83\n\tIFT_ULTRA                         = 0x1d\n\tIFT_USB                           = 0xa0\n\tIFT_V11                           = 0x40\n\tIFT_V35                           = 0x2d\n\tIFT_V36                           = 0x41\n\tIFT_V37                           = 0x78\n\tIFT_VDSL                          = 0x61\n\tIFT_VIRTUALIPADDRESS              = 0x70\n\tIFT_VIRTUALTG                     = 0xca\n\tIFT_VOICEDID                      = 0xd5\n\tIFT_VOICEEM                       = 0x64\n\tIFT_VOICEEMFGD                    = 0xd3\n\tIFT_VOICEENCAP                    = 0x67\n\tIFT_VOICEFGDEANA                  = 0xd4\n\tIFT_VOICEFXO                      = 0x65\n\tIFT_VOICEFXS                      = 0x66\n\tIFT_VOICEOVERATM                  = 0x98\n\tIFT_VOICEOVERCABLE                = 0xc6\n\tIFT_VOICEOVERFRAMERELAY           = 0x99\n\tIFT_VOICEOVERIP                   = 0x68\n\tIFT_X213                          = 0x5d\n\tIFT_X25                           = 0x5\n\tIFT_X25DDN                        = 0x4\n\tIFT_X25HUNTGROUP                  = 0x7a\n\tIFT_X25MLP                        = 0x79\n\tIFT_X25PLE                        = 0x28\n\tIFT_XETHER                        = 0x1a\n\tIGNBRK                            = 0x1\n\tIGNCR                             = 0x80\n\tIGNPAR                            = 0x4\n\tIMAXBEL                           = 0x2000\n\tINLCR                             = 0x40\n\tINPCK                             = 0x10\n\tIN_CLASSA_HOST                    = 0xffffff\n\tIN_CLASSA_MAX                     = 0x80\n\tIN_CLASSA_NET                     = 0xff000000\n\tIN_CLASSA_NSHIFT                  = 0x18\n\tIN_CLASSB_HOST                    = 0xffff\n\tIN_CLASSB_MAX                     = 0x10000\n\tIN_CLASSB_NET                     = 0xffff0000\n\tIN_CLASSB_NSHIFT                  = 0x10\n\tIN_CLASSC_HOST                    = 0xff\n\tIN_CLASSC_NET                     = 0xffffff00\n\tIN_CLASSC_NSHIFT                  = 0x8\n\tIN_CLASSD_HOST                    = 0xfffffff\n\tIN_CLASSD_NET                     = 0xf0000000\n\tIN_CLASSD_NSHIFT                  = 0x1c\n\tIN_LOOPBACKNET                    = 0x7f\n\tIPPROTO_AH                        = 0x33\n\tIPPROTO_CARP                      = 0x70\n\tIPPROTO_DONE                      = 0x101\n\tIPPROTO_DSTOPTS                   = 0x3c\n\tIPPROTO_EGP                       = 0x8\n\tIPPROTO_ENCAP                     = 0x62\n\tIPPROTO_EON                       = 0x50\n\tIPPROTO_ESP                       = 0x32\n\tIPPROTO_ETHERIP                   = 0x61\n\tIPPROTO_FRAGMENT                  = 0x2c\n\tIPPROTO_GGP                       = 0x3\n\tIPPROTO_GRE                       = 0x2f\n\tIPPROTO_HOPOPTS                   = 0x0\n\tIPPROTO_ICMP                      = 0x1\n\tIPPROTO_ICMPV6                    = 0x3a\n\tIPPROTO_IDP                       = 0x16\n\tIPPROTO_IGMP                      = 0x2\n\tIPPROTO_IP                        = 0x0\n\tIPPROTO_IPCOMP                    = 0x6c\n\tIPPROTO_IPIP                      = 0x4\n\tIPPROTO_IPV4                      = 0x4\n\tIPPROTO_IPV6                      = 0x29\n\tIPPROTO_IPV6_ICMP                 = 0x3a\n\tIPPROTO_MAX                       = 0x100\n\tIPPROTO_MAXID                     = 0x34\n\tIPPROTO_MOBILE                    = 0x37\n\tIPPROTO_NONE                      = 0x3b\n\tIPPROTO_PFSYNC                    = 0xf0\n\tIPPROTO_PIM                       = 0x67\n\tIPPROTO_PUP                       = 0xc\n\tIPPROTO_RAW                       = 0xff\n\tIPPROTO_ROUTING                   = 0x2b\n\tIPPROTO_RSVP                      = 0x2e\n\tIPPROTO_TCP                       = 0x6\n\tIPPROTO_TP                        = 0x1d\n\tIPPROTO_UDP                       = 0x11\n\tIPPROTO_VRRP                      = 0x70\n\tIPV6_CHECKSUM                     = 0x1a\n\tIPV6_DEFAULT_MULTICAST_HOPS       = 0x1\n\tIPV6_DEFAULT_MULTICAST_LOOP       = 0x1\n\tIPV6_DEFHLIM                      = 0x40\n\tIPV6_DONTFRAG                     = 0x3e\n\tIPV6_DSTOPTS                      = 0x32\n\tIPV6_FAITH                        = 0x1d\n\tIPV6_FLOWINFO_MASK                = 0xffffff0f\n\tIPV6_FLOWLABEL_MASK               = 0xffff0f00\n\tIPV6_FRAGTTL                      = 0x78\n\tIPV6_HLIMDEC                      = 0x1\n\tIPV6_HOPLIMIT                     = 0x2f\n\tIPV6_HOPOPTS                      = 0x31\n\tIPV6_IPSEC_POLICY                 = 0x1c\n\tIPV6_JOIN_GROUP                   = 0xc\n\tIPV6_LEAVE_GROUP                  = 0xd\n\tIPV6_MAXHLIM                      = 0xff\n\tIPV6_MAXPACKET                    = 0xffff\n\tIPV6_MMTU                         = 0x500\n\tIPV6_MULTICAST_HOPS               = 0xa\n\tIPV6_MULTICAST_IF                 = 0x9\n\tIPV6_MULTICAST_LOOP               = 0xb\n\tIPV6_NEXTHOP                      = 0x30\n\tIPV6_PATHMTU                      = 0x2c\n\tIPV6_PKTINFO                      = 0x2e\n\tIPV6_PORTRANGE                    = 0xe\n\tIPV6_PORTRANGE_DEFAULT            = 0x0\n\tIPV6_PORTRANGE_HIGH               = 0x1\n\tIPV6_PORTRANGE_LOW                = 0x2\n\tIPV6_RECVDSTOPTS                  = 0x28\n\tIPV6_RECVHOPLIMIT                 = 0x25\n\tIPV6_RECVHOPOPTS                  = 0x27\n\tIPV6_RECVPATHMTU                  = 0x2b\n\tIPV6_RECVPKTINFO                  = 0x24\n\tIPV6_RECVRTHDR                    = 0x26\n\tIPV6_RECVTCLASS                   = 0x39\n\tIPV6_RTHDR                        = 0x33\n\tIPV6_RTHDRDSTOPTS                 = 0x23\n\tIPV6_RTHDR_LOOSE                  = 0x0\n\tIPV6_RTHDR_STRICT                 = 0x1\n\tIPV6_RTHDR_TYPE_0                 = 0x0\n\tIPV6_SOCKOPT_RESERVED1            = 0x3\n\tIPV6_TCLASS                       = 0x3d\n\tIPV6_UNICAST_HOPS                 = 0x4\n\tIPV6_USE_MIN_MTU                  = 0x2a\n\tIPV6_V6ONLY                       = 0x1b\n\tIPV6_VERSION                      = 0x60\n\tIPV6_VERSION_MASK                 = 0xf0\n\tIP_ADD_MEMBERSHIP                 = 0xc\n\tIP_DEFAULT_MULTICAST_LOOP         = 0x1\n\tIP_DEFAULT_MULTICAST_TTL          = 0x1\n\tIP_DF                             = 0x4000\n\tIP_DROP_MEMBERSHIP                = 0xd\n\tIP_EF                             = 0x8000\n\tIP_ERRORMTU                       = 0x15\n\tIP_HDRINCL                        = 0x2\n\tIP_IPSEC_POLICY                   = 0x16\n\tIP_MAXPACKET                      = 0xffff\n\tIP_MAX_MEMBERSHIPS                = 0x14\n\tIP_MF                             = 0x2000\n\tIP_MINFRAGSIZE                    = 0x45\n\tIP_MINTTL                         = 0x18\n\tIP_MSS                            = 0x240\n\tIP_MULTICAST_IF                   = 0x9\n\tIP_MULTICAST_LOOP                 = 0xb\n\tIP_MULTICAST_TTL                  = 0xa\n\tIP_OFFMASK                        = 0x1fff\n\tIP_OPTIONS                        = 0x1\n\tIP_PORTRANGE                      = 0x13\n\tIP_PORTRANGE_DEFAULT              = 0x0\n\tIP_PORTRANGE_HIGH                 = 0x1\n\tIP_PORTRANGE_LOW                  = 0x2\n\tIP_RECVDSTADDR                    = 0x7\n\tIP_RECVIF                         = 0x14\n\tIP_RECVOPTS                       = 0x5\n\tIP_RECVRETOPTS                    = 0x6\n\tIP_RECVTTL                        = 0x17\n\tIP_RETOPTS                        = 0x8\n\tIP_RF                             = 0x8000\n\tIP_TOS                            = 0x3\n\tIP_TTL                            = 0x4\n\tISIG                              = 0x80\n\tISTRIP                            = 0x20\n\tIXANY                             = 0x800\n\tIXOFF                             = 0x400\n\tIXON                              = 0x200\n\tKERN_HOSTNAME                     = 0xa\n\tKERN_OSRELEASE                    = 0x2\n\tKERN_OSTYPE                       = 0x1\n\tKERN_VERSION                      = 0x4\n\tLOCK_EX                           = 0x2\n\tLOCK_NB                           = 0x4\n\tLOCK_SH                           = 0x1\n\tLOCK_UN                           = 0x8\n\tMADV_DONTNEED                     = 0x4\n\tMADV_FREE                         = 0x6\n\tMADV_NORMAL                       = 0x0\n\tMADV_RANDOM                       = 0x1\n\tMADV_SEQUENTIAL                   = 0x2\n\tMADV_SPACEAVAIL                   = 0x5\n\tMADV_WILLNEED                     = 0x3\n\tMAP_ALIGNMENT_16MB                = 0x18000000\n\tMAP_ALIGNMENT_1TB                 = 0x28000000\n\tMAP_ALIGNMENT_256TB               = 0x30000000\n\tMAP_ALIGNMENT_4GB                 = 0x20000000\n\tMAP_ALIGNMENT_64KB                = 0x10000000\n\tMAP_ALIGNMENT_64PB                = 0x38000000\n\tMAP_ALIGNMENT_MASK                = -0x1000000\n\tMAP_ALIGNMENT_SHIFT               = 0x18\n\tMAP_ANON                          = 0x1000\n\tMAP_FILE                          = 0x0\n\tMAP_FIXED                         = 0x10\n\tMAP_HASSEMAPHORE                  = 0x200\n\tMAP_INHERIT                       = 0x80\n\tMAP_INHERIT_COPY                  = 0x1\n\tMAP_INHERIT_DEFAULT               = 0x1\n\tMAP_INHERIT_DONATE_COPY           = 0x3\n\tMAP_INHERIT_NONE                  = 0x2\n\tMAP_INHERIT_SHARE                 = 0x0\n\tMAP_NORESERVE                     = 0x40\n\tMAP_PRIVATE                       = 0x2\n\tMAP_RENAME                        = 0x20\n\tMAP_SHARED                        = 0x1\n\tMAP_STACK                         = 0x2000\n\tMAP_TRYFIXED                      = 0x400\n\tMAP_WIRED                         = 0x800\n\tMCL_CURRENT                       = 0x1\n\tMCL_FUTURE                        = 0x2\n\tMSG_BCAST                         = 0x100\n\tMSG_CMSG_CLOEXEC                  = 0x800\n\tMSG_CONTROLMBUF                   = 0x2000000\n\tMSG_CTRUNC                        = 0x20\n\tMSG_DONTROUTE                     = 0x4\n\tMSG_DONTWAIT                      = 0x80\n\tMSG_EOR                           = 0x8\n\tMSG_IOVUSRSPACE                   = 0x4000000\n\tMSG_LENUSRSPACE                   = 0x8000000\n\tMSG_MCAST                         = 0x200\n\tMSG_NAMEMBUF                      = 0x1000000\n\tMSG_NBIO                          = 0x1000\n\tMSG_NOSIGNAL                      = 0x400\n\tMSG_OOB                           = 0x1\n\tMSG_PEEK                          = 0x2\n\tMSG_TRUNC                         = 0x10\n\tMSG_USERFLAGS                     = 0xffffff\n\tMSG_WAITALL                       = 0x40\n\tMS_ASYNC                          = 0x1\n\tMS_INVALIDATE                     = 0x2\n\tMS_SYNC                           = 0x4\n\tNAME_MAX                          = 0x1ff\n\tNET_RT_DUMP                       = 0x1\n\tNET_RT_FLAGS                      = 0x2\n\tNET_RT_IFLIST                     = 0x5\n\tNET_RT_MAXID                      = 0x6\n\tNET_RT_OIFLIST                    = 0x4\n\tNET_RT_OOIFLIST                   = 0x3\n\tNOFLSH                            = 0x80000000\n\tNOTE_ATTRIB                       = 0x8\n\tNOTE_CHILD                        = 0x4\n\tNOTE_DELETE                       = 0x1\n\tNOTE_EXEC                         = 0x20000000\n\tNOTE_EXIT                         = 0x80000000\n\tNOTE_EXTEND                       = 0x4\n\tNOTE_FORK                         = 0x40000000\n\tNOTE_LINK                         = 0x10\n\tNOTE_LOWAT                        = 0x1\n\tNOTE_PCTRLMASK                    = 0xf0000000\n\tNOTE_PDATAMASK                    = 0xfffff\n\tNOTE_RENAME                       = 0x20\n\tNOTE_REVOKE                       = 0x40\n\tNOTE_TRACK                        = 0x1\n\tNOTE_TRACKERR                     = 0x2\n\tNOTE_WRITE                        = 0x2\n\tOCRNL                             = 0x10\n\tOFIOGETBMAP                       = 0xc004667a\n\tONLCR                             = 0x2\n\tONLRET                            = 0x40\n\tONOCR                             = 0x20\n\tONOEOT                            = 0x8\n\tOPOST                             = 0x1\n\tO_ACCMODE                         = 0x3\n\tO_ALT_IO                          = 0x40000\n\tO_APPEND                          = 0x8\n\tO_ASYNC                           = 0x40\n\tO_CLOEXEC                         = 0x400000\n\tO_CREAT                           = 0x200\n\tO_DIRECT                          = 0x80000\n\tO_DIRECTORY                       = 0x200000\n\tO_DSYNC                           = 0x10000\n\tO_EXCL                            = 0x800\n\tO_EXLOCK                          = 0x20\n\tO_FSYNC                           = 0x80\n\tO_NDELAY                          = 0x4\n\tO_NOCTTY                          = 0x8000\n\tO_NOFOLLOW                        = 0x100\n\tO_NONBLOCK                        = 0x4\n\tO_NOSIGPIPE                       = 0x1000000\n\tO_RDONLY                          = 0x0\n\tO_RDWR                            = 0x2\n\tO_RSYNC                           = 0x20000\n\tO_SHLOCK                          = 0x10\n\tO_SYNC                            = 0x80\n\tO_TRUNC                           = 0x400\n\tO_WRONLY                          = 0x1\n\tPARENB                            = 0x1000\n\tPARMRK                            = 0x8\n\tPARODD                            = 0x2000\n\tPENDIN                            = 0x20000000\n\tPRIO_PGRP                         = 0x1\n\tPRIO_PROCESS                      = 0x0\n\tPRIO_USER                         = 0x2\n\tPRI_IOFLUSH                       = 0x7c\n\tPROT_EXEC                         = 0x4\n\tPROT_NONE                         = 0x0\n\tPROT_READ                         = 0x1\n\tPROT_WRITE                        = 0x2\n\tRLIMIT_AS                         = 0xa\n\tRLIMIT_CORE                       = 0x4\n\tRLIMIT_CPU                        = 0x0\n\tRLIMIT_DATA                       = 0x2\n\tRLIMIT_FSIZE                      = 0x1\n\tRLIMIT_NOFILE                     = 0x8\n\tRLIMIT_STACK                      = 0x3\n\tRLIM_INFINITY                     = 0x7fffffffffffffff\n\tRTAX_AUTHOR                       = 0x6\n\tRTAX_BRD                          = 0x7\n\tRTAX_DST                          = 0x0\n\tRTAX_GATEWAY                      = 0x1\n\tRTAX_GENMASK                      = 0x3\n\tRTAX_IFA                          = 0x5\n\tRTAX_IFP                          = 0x4\n\tRTAX_MAX                          = 0x9\n\tRTAX_NETMASK                      = 0x2\n\tRTAX_TAG                          = 0x8\n\tRTA_AUTHOR                        = 0x40\n\tRTA_BRD                           = 0x80\n\tRTA_DST                           = 0x1\n\tRTA_GATEWAY                       = 0x2\n\tRTA_GENMASK                       = 0x8\n\tRTA_IFA                           = 0x20\n\tRTA_IFP                           = 0x10\n\tRTA_NETMASK                       = 0x4\n\tRTA_TAG                           = 0x100\n\tRTF_ANNOUNCE                      = 0x20000\n\tRTF_BLACKHOLE                     = 0x1000\n\tRTF_CLONED                        = 0x2000\n\tRTF_CLONING                       = 0x100\n\tRTF_DONE                          = 0x40\n\tRTF_DYNAMIC                       = 0x10\n\tRTF_GATEWAY                       = 0x2\n\tRTF_HOST                          = 0x4\n\tRTF_LLINFO                        = 0x400\n\tRTF_MASK                          = 0x80\n\tRTF_MODIFIED                      = 0x20\n\tRTF_PROTO1                        = 0x8000\n\tRTF_PROTO2                        = 0x4000\n\tRTF_REJECT                        = 0x8\n\tRTF_SRC                           = 0x10000\n\tRTF_STATIC                        = 0x800\n\tRTF_UP                            = 0x1\n\tRTF_XRESOLVE                      = 0x200\n\tRTM_ADD                           = 0x1\n\tRTM_CHANGE                        = 0x3\n\tRTM_CHGADDR                       = 0x15\n\tRTM_DELADDR                       = 0xd\n\tRTM_DELETE                        = 0x2\n\tRTM_GET                           = 0x4\n\tRTM_IEEE80211                     = 0x11\n\tRTM_IFANNOUNCE                    = 0x10\n\tRTM_IFINFO                        = 0x14\n\tRTM_LLINFO_UPD                    = 0x13\n\tRTM_LOCK                          = 0x8\n\tRTM_LOSING                        = 0x5\n\tRTM_MISS                          = 0x7\n\tRTM_NEWADDR                       = 0xc\n\tRTM_OIFINFO                       = 0xf\n\tRTM_OLDADD                        = 0x9\n\tRTM_OLDDEL                        = 0xa\n\tRTM_OOIFINFO                      = 0xe\n\tRTM_REDIRECT                      = 0x6\n\tRTM_RESOLVE                       = 0xb\n\tRTM_RTTUNIT                       = 0xf4240\n\tRTM_SETGATE                       = 0x12\n\tRTM_VERSION                       = 0x4\n\tRTV_EXPIRE                        = 0x4\n\tRTV_HOPCOUNT                      = 0x2\n\tRTV_MTU                           = 0x1\n\tRTV_RPIPE                         = 0x8\n\tRTV_RTT                           = 0x40\n\tRTV_RTTVAR                        = 0x80\n\tRTV_SPIPE                         = 0x10\n\tRTV_SSTHRESH                      = 0x20\n\tRUSAGE_CHILDREN                   = -0x1\n\tRUSAGE_SELF                       = 0x0\n\tSCM_CREDS                         = 0x4\n\tSCM_RIGHTS                        = 0x1\n\tSCM_TIMESTAMP                     = 0x8\n\tSHUT_RD                           = 0x0\n\tSHUT_RDWR                         = 0x2\n\tSHUT_WR                           = 0x1\n\tSIOCADDMULTI                      = 0x80906931\n\tSIOCADDRT                         = 0x8038720a\n\tSIOCAIFADDR                       = 0x8040691a\n\tSIOCALIFADDR                      = 0x8118691c\n\tSIOCATMARK                        = 0x40047307\n\tSIOCDELMULTI                      = 0x80906932\n\tSIOCDELRT                         = 0x8038720b\n\tSIOCDIFADDR                       = 0x80906919\n\tSIOCDIFPHYADDR                    = 0x80906949\n\tSIOCDLIFADDR                      = 0x8118691e\n\tSIOCGDRVSPEC                      = 0xc028697b\n\tSIOCGETPFSYNC                     = 0xc09069f8\n\tSIOCGETSGCNT                      = 0xc0207534\n\tSIOCGETVIFCNT                     = 0xc0287533\n\tSIOCGHIWAT                        = 0x40047301\n\tSIOCGIFADDR                       = 0xc0906921\n\tSIOCGIFADDRPREF                   = 0xc0986920\n\tSIOCGIFALIAS                      = 0xc040691b\n\tSIOCGIFBRDADDR                    = 0xc0906923\n\tSIOCGIFCAP                        = 0xc0206976\n\tSIOCGIFCONF                       = 0xc0106926\n\tSIOCGIFDATA                       = 0xc0986985\n\tSIOCGIFDLT                        = 0xc0906977\n\tSIOCGIFDSTADDR                    = 0xc0906922\n\tSIOCGIFFLAGS                      = 0xc0906911\n\tSIOCGIFGENERIC                    = 0xc090693a\n\tSIOCGIFMEDIA                      = 0xc0306936\n\tSIOCGIFMETRIC                     = 0xc0906917\n\tSIOCGIFMTU                        = 0xc090697e\n\tSIOCGIFNETMASK                    = 0xc0906925\n\tSIOCGIFPDSTADDR                   = 0xc0906948\n\tSIOCGIFPSRCADDR                   = 0xc0906947\n\tSIOCGLIFADDR                      = 0xc118691d\n\tSIOCGLIFPHYADDR                   = 0xc118694b\n\tSIOCGLINKSTR                      = 0xc0286987\n\tSIOCGLOWAT                        = 0x40047303\n\tSIOCGPGRP                         = 0x40047309\n\tSIOCGVH                           = 0xc0906983\n\tSIOCIFCREATE                      = 0x8090697a\n\tSIOCIFDESTROY                     = 0x80906979\n\tSIOCIFGCLONERS                    = 0xc0106978\n\tSIOCINITIFADDR                    = 0xc0706984\n\tSIOCSDRVSPEC                      = 0x8028697b\n\tSIOCSETPFSYNC                     = 0x809069f7\n\tSIOCSHIWAT                        = 0x80047300\n\tSIOCSIFADDR                       = 0x8090690c\n\tSIOCSIFADDRPREF                   = 0x8098691f\n\tSIOCSIFBRDADDR                    = 0x80906913\n\tSIOCSIFCAP                        = 0x80206975\n\tSIOCSIFDSTADDR                    = 0x8090690e\n\tSIOCSIFFLAGS                      = 0x80906910\n\tSIOCSIFGENERIC                    = 0x80906939\n\tSIOCSIFMEDIA                      = 0xc0906935\n\tSIOCSIFMETRIC                     = 0x80906918\n\tSIOCSIFMTU                        = 0x8090697f\n\tSIOCSIFNETMASK                    = 0x80906916\n\tSIOCSIFPHYADDR                    = 0x80406946\n\tSIOCSLIFPHYADDR                   = 0x8118694a\n\tSIOCSLINKSTR                      = 0x80286988\n\tSIOCSLOWAT                        = 0x80047302\n\tSIOCSPGRP                         = 0x80047308\n\tSIOCSVH                           = 0xc0906982\n\tSIOCZIFDATA                       = 0xc0986986\n\tSOCK_CLOEXEC                      = 0x10000000\n\tSOCK_DGRAM                        = 0x2\n\tSOCK_FLAGS_MASK                   = 0xf0000000\n\tSOCK_NONBLOCK                     = 0x20000000\n\tSOCK_NOSIGPIPE                    = 0x40000000\n\tSOCK_RAW                          = 0x3\n\tSOCK_RDM                          = 0x4\n\tSOCK_SEQPACKET                    = 0x5\n\tSOCK_STREAM                       = 0x1\n\tSOL_SOCKET                        = 0xffff\n\tSOMAXCONN                         = 0x80\n\tSO_ACCEPTCONN                     = 0x2\n\tSO_ACCEPTFILTER                   = 0x1000\n\tSO_BROADCAST                      = 0x20\n\tSO_DEBUG                          = 0x1\n\tSO_DONTROUTE                      = 0x10\n\tSO_ERROR                          = 0x1007\n\tSO_KEEPALIVE                      = 0x8\n\tSO_LINGER                         = 0x80\n\tSO_NOHEADER                       = 0x100a\n\tSO_NOSIGPIPE                      = 0x800\n\tSO_OOBINLINE                      = 0x100\n\tSO_OVERFLOWED                     = 0x1009\n\tSO_RCVBUF                         = 0x1002\n\tSO_RCVLOWAT                       = 0x1004\n\tSO_RCVTIMEO                       = 0x100c\n\tSO_REUSEADDR                      = 0x4\n\tSO_REUSEPORT                      = 0x200\n\tSO_SNDBUF                         = 0x1001\n\tSO_SNDLOWAT                       = 0x1003\n\tSO_SNDTIMEO                       = 0x100b\n\tSO_TIMESTAMP                      = 0x2000\n\tSO_TYPE                           = 0x1008\n\tSO_USELOOPBACK                    = 0x40\n\tSYSCTL_VERSION                    = 0x1000000\n\tSYSCTL_VERS_0                     = 0x0\n\tSYSCTL_VERS_1                     = 0x1000000\n\tSYSCTL_VERS_MASK                  = 0xff000000\n\tS_ARCH1                           = 0x10000\n\tS_ARCH2                           = 0x20000\n\tS_BLKSIZE                         = 0x200\n\tS_IEXEC                           = 0x40\n\tS_IFBLK                           = 0x6000\n\tS_IFCHR                           = 0x2000\n\tS_IFDIR                           = 0x4000\n\tS_IFIFO                           = 0x1000\n\tS_IFLNK                           = 0xa000\n\tS_IFMT                            = 0xf000\n\tS_IFREG                           = 0x8000\n\tS_IFSOCK                          = 0xc000\n\tS_IFWHT                           = 0xe000\n\tS_IREAD                           = 0x100\n\tS_IRGRP                           = 0x20\n\tS_IROTH                           = 0x4\n\tS_IRUSR                           = 0x100\n\tS_IRWXG                           = 0x38\n\tS_IRWXO                           = 0x7\n\tS_IRWXU                           = 0x1c0\n\tS_ISGID                           = 0x400\n\tS_ISTXT                           = 0x200\n\tS_ISUID                           = 0x800\n\tS_ISVTX                           = 0x200\n\tS_IWGRP                           = 0x10\n\tS_IWOTH                           = 0x2\n\tS_IWRITE                          = 0x80\n\tS_IWUSR                           = 0x80\n\tS_IXGRP                           = 0x8\n\tS_IXOTH                           = 0x1\n\tS_IXUSR                           = 0x40\n\tS_LOGIN_SET                       = 0x1\n\tTCIFLUSH                          = 0x1\n\tTCIOFLUSH                         = 0x3\n\tTCOFLUSH                          = 0x2\n\tTCP_CONGCTL                       = 0x20\n\tTCP_KEEPCNT                       = 0x6\n\tTCP_KEEPIDLE                      = 0x3\n\tTCP_KEEPINIT                      = 0x7\n\tTCP_KEEPINTVL                     = 0x5\n\tTCP_MAXBURST                      = 0x4\n\tTCP_MAXSEG                        = 0x2\n\tTCP_MAXWIN                        = 0xffff\n\tTCP_MAX_WINSHIFT                  = 0xe\n\tTCP_MD5SIG                        = 0x10\n\tTCP_MINMSS                        = 0xd8\n\tTCP_MSS                           = 0x218\n\tTCP_NODELAY                       = 0x1\n\tTCSAFLUSH                         = 0x2\n\tTIOCCBRK                          = 0x2000747a\n\tTIOCCDTR                          = 0x20007478\n\tTIOCCONS                          = 0x80047462\n\tTIOCDCDTIMESTAMP                  = 0x40107458\n\tTIOCDRAIN                         = 0x2000745e\n\tTIOCEXCL                          = 0x2000740d\n\tTIOCEXT                           = 0x80047460\n\tTIOCFLAG_CDTRCTS                  = 0x10\n\tTIOCFLAG_CLOCAL                   = 0x2\n\tTIOCFLAG_CRTSCTS                  = 0x4\n\tTIOCFLAG_MDMBUF                   = 0x8\n\tTIOCFLAG_SOFTCAR                  = 0x1\n\tTIOCFLUSH                         = 0x80047410\n\tTIOCGETA                          = 0x402c7413\n\tTIOCGETD                          = 0x4004741a\n\tTIOCGFLAGS                        = 0x4004745d\n\tTIOCGLINED                        = 0x40207442\n\tTIOCGPGRP                         = 0x40047477\n\tTIOCGQSIZE                        = 0x40047481\n\tTIOCGRANTPT                       = 0x20007447\n\tTIOCGSID                          = 0x40047463\n\tTIOCGSIZE                         = 0x40087468\n\tTIOCGWINSZ                        = 0x40087468\n\tTIOCMBIC                          = 0x8004746b\n\tTIOCMBIS                          = 0x8004746c\n\tTIOCMGET                          = 0x4004746a\n\tTIOCMSET                          = 0x8004746d\n\tTIOCM_CAR                         = 0x40\n\tTIOCM_CD                          = 0x40\n\tTIOCM_CTS                         = 0x20\n\tTIOCM_DSR                         = 0x100\n\tTIOCM_DTR                         = 0x2\n\tTIOCM_LE                          = 0x1\n\tTIOCM_RI                          = 0x80\n\tTIOCM_RNG                         = 0x80\n\tTIOCM_RTS                         = 0x4\n\tTIOCM_SR                          = 0x10\n\tTIOCM_ST                          = 0x8\n\tTIOCNOTTY                         = 0x20007471\n\tTIOCNXCL                          = 0x2000740e\n\tTIOCOUTQ                          = 0x40047473\n\tTIOCPKT                           = 0x80047470\n\tTIOCPKT_DATA                      = 0x0\n\tTIOCPKT_DOSTOP                    = 0x20\n\tTIOCPKT_FLUSHREAD                 = 0x1\n\tTIOCPKT_FLUSHWRITE                = 0x2\n\tTIOCPKT_IOCTL                     = 0x40\n\tTIOCPKT_NOSTOP                    = 0x10\n\tTIOCPKT_START                     = 0x8\n\tTIOCPKT_STOP                      = 0x4\n\tTIOCPTMGET                        = 0x40287446\n\tTIOCPTSNAME                       = 0x40287448\n\tTIOCRCVFRAME                      = 0x80087445\n\tTIOCREMOTE                        = 0x80047469\n\tTIOCSBRK                          = 0x2000747b\n\tTIOCSCTTY                         = 0x20007461\n\tTIOCSDTR                          = 0x20007479\n\tTIOCSETA                          = 0x802c7414\n\tTIOCSETAF                         = 0x802c7416\n\tTIOCSETAW                         = 0x802c7415\n\tTIOCSETD                          = 0x8004741b\n\tTIOCSFLAGS                        = 0x8004745c\n\tTIOCSIG                           = 0x2000745f\n\tTIOCSLINED                        = 0x80207443\n\tTIOCSPGRP                         = 0x80047476\n\tTIOCSQSIZE                        = 0x80047480\n\tTIOCSSIZE                         = 0x80087467\n\tTIOCSTART                         = 0x2000746e\n\tTIOCSTAT                          = 0x80047465\n\tTIOCSTI                           = 0x80017472\n\tTIOCSTOP                          = 0x2000746f\n\tTIOCSWINSZ                        = 0x80087467\n\tTIOCUCNTL                         = 0x80047466\n\tTIOCXMTFRAME                      = 0x80087444\n\tTOSTOP                            = 0x400000\n\tVDISCARD                          = 0xf\n\tVDSUSP                            = 0xb\n\tVEOF                              = 0x0\n\tVEOL                              = 0x1\n\tVEOL2                             = 0x2\n\tVERASE                            = 0x3\n\tVINTR                             = 0x8\n\tVKILL                             = 0x5\n\tVLNEXT                            = 0xe\n\tVMIN                              = 0x10\n\tVQUIT                             = 0x9\n\tVREPRINT                          = 0x6\n\tVSTART                            = 0xc\n\tVSTATUS                           = 0x12\n\tVSTOP                             = 0xd\n\tVSUSP                             = 0xa\n\tVTIME                             = 0x11\n\tVWERASE                           = 0x4\n\tWALL                              = 0x8\n\tWALLSIG                           = 0x8\n\tWALTSIG                           = 0x4\n\tWCLONE                            = 0x4\n\tWCOREFLAG                         = 0x80\n\tWNOHANG                           = 0x1\n\tWNOWAIT                           = 0x10000\n\tWNOZOMBIE                         = 0x20000\n\tWOPTSCHECKED                      = 0x40000\n\tWSTOPPED                          = 0x7f\n\tWUNTRACED                         = 0x2\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x30)\n\tEADDRNOTAVAIL   = syscall.Errno(0x31)\n\tEAFNOSUPPORT    = syscall.Errno(0x2f)\n\tEAGAIN          = syscall.Errno(0x23)\n\tEALREADY        = syscall.Errno(0x25)\n\tEAUTH           = syscall.Errno(0x50)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADMSG         = syscall.Errno(0x58)\n\tEBADRPC         = syscall.Errno(0x48)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x57)\n\tECHILD          = syscall.Errno(0xa)\n\tECONNABORTED    = syscall.Errno(0x35)\n\tECONNREFUSED    = syscall.Errno(0x3d)\n\tECONNRESET      = syscall.Errno(0x36)\n\tEDEADLK         = syscall.Errno(0xb)\n\tEDESTADDRREQ    = syscall.Errno(0x27)\n\tEDOM            = syscall.Errno(0x21)\n\tEDQUOT          = syscall.Errno(0x45)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEFTYPE          = syscall.Errno(0x4f)\n\tEHOSTDOWN       = syscall.Errno(0x40)\n\tEHOSTUNREACH    = syscall.Errno(0x41)\n\tEIDRM           = syscall.Errno(0x52)\n\tEILSEQ          = syscall.Errno(0x55)\n\tEINPROGRESS     = syscall.Errno(0x24)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x38)\n\tEISDIR          = syscall.Errno(0x15)\n\tELAST           = syscall.Errno(0x60)\n\tELOOP           = syscall.Errno(0x3e)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x28)\n\tEMULTIHOP       = syscall.Errno(0x5e)\n\tENAMETOOLONG    = syscall.Errno(0x3f)\n\tENEEDAUTH       = syscall.Errno(0x51)\n\tENETDOWN        = syscall.Errno(0x32)\n\tENETRESET       = syscall.Errno(0x34)\n\tENETUNREACH     = syscall.Errno(0x33)\n\tENFILE          = syscall.Errno(0x17)\n\tENOATTR         = syscall.Errno(0x5d)\n\tENOBUFS         = syscall.Errno(0x37)\n\tENODATA         = syscall.Errno(0x59)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOLCK          = syscall.Errno(0x4d)\n\tENOLINK         = syscall.Errno(0x5f)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x53)\n\tENOPROTOOPT     = syscall.Errno(0x2a)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x5a)\n\tENOSTR          = syscall.Errno(0x5b)\n\tENOSYS          = syscall.Errno(0x4e)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x39)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x42)\n\tENOTSOCK        = syscall.Errno(0x26)\n\tENOTSUP         = syscall.Errno(0x56)\n\tENOTTY          = syscall.Errno(0x19)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x2d)\n\tEOVERFLOW       = syscall.Errno(0x54)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x2e)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROCLIM        = syscall.Errno(0x43)\n\tEPROCUNAVAIL    = syscall.Errno(0x4c)\n\tEPROGMISMATCH   = syscall.Errno(0x4b)\n\tEPROGUNAVAIL    = syscall.Errno(0x4a)\n\tEPROTO          = syscall.Errno(0x60)\n\tEPROTONOSUPPORT = syscall.Errno(0x2b)\n\tEPROTOTYPE      = syscall.Errno(0x29)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMOTE         = syscall.Errno(0x47)\n\tEROFS           = syscall.Errno(0x1e)\n\tERPCMISMATCH    = syscall.Errno(0x49)\n\tESHUTDOWN       = syscall.Errno(0x3a)\n\tESOCKTNOSUPPORT = syscall.Errno(0x2c)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESTALE          = syscall.Errno(0x46)\n\tETIME           = syscall.Errno(0x5c)\n\tETIMEDOUT       = syscall.Errno(0x3c)\n\tETOOMANYREFS    = syscall.Errno(0x3b)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUSERS          = syscall.Errno(0x44)\n\tEWOULDBLOCK     = syscall.Errno(0x23)\n\tEXDEV           = syscall.Errno(0x12)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x14)\n\tSIGCONT   = syscall.Signal(0x13)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINFO   = syscall.Signal(0x1d)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x17)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGPWR    = syscall.Signal(0x20)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x11)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x12)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x10)\n\tSIGUSR1   = syscall.Signal(0x1e)\n\tSIGUSR2   = syscall.Signal(0x1f)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errorList = [...]struct {\n\tnum  syscall.Errno\n\tname string\n\tdesc string\n}{\n\t{1, \"EPERM\", \"operation not permitted\"},\n\t{2, \"ENOENT\", \"no such file or directory\"},\n\t{3, \"ESRCH\", \"no such process\"},\n\t{4, \"EINTR\", \"interrupted system call\"},\n\t{5, \"EIO\", \"input/output error\"},\n\t{6, \"ENXIO\", \"device not configured\"},\n\t{7, \"E2BIG\", \"argument list too long\"},\n\t{8, \"ENOEXEC\", \"exec format error\"},\n\t{9, \"EBADF\", \"bad file descriptor\"},\n\t{10, \"ECHILD\", \"no child processes\"},\n\t{11, \"EDEADLK\", \"resource deadlock avoided\"},\n\t{12, \"ENOMEM\", \"cannot allocate memory\"},\n\t{13, \"EACCES\", \"permission denied\"},\n\t{14, \"EFAULT\", \"bad address\"},\n\t{15, \"ENOTBLK\", \"block device required\"},\n\t{16, \"EBUSY\", \"device busy\"},\n\t{17, \"EEXIST\", \"file exists\"},\n\t{18, \"EXDEV\", \"cross-device link\"},\n\t{19, \"ENODEV\", \"operation not supported by device\"},\n\t{20, \"ENOTDIR\", \"not a directory\"},\n\t{21, \"EISDIR\", \"is a directory\"},\n\t{22, \"EINVAL\", \"invalid argument\"},\n\t{23, \"ENFILE\", \"too many open files in system\"},\n\t{24, \"EMFILE\", \"too many open files\"},\n\t{25, \"ENOTTY\", \"inappropriate ioctl for device\"},\n\t{26, \"ETXTBSY\", \"text file busy\"},\n\t{27, \"EFBIG\", \"file too large\"},\n\t{28, \"ENOSPC\", \"no space left on device\"},\n\t{29, \"ESPIPE\", \"illegal seek\"},\n\t{30, \"EROFS\", \"read-only file system\"},\n\t{31, \"EMLINK\", \"too many links\"},\n\t{32, \"EPIPE\", \"broken pipe\"},\n\t{33, \"EDOM\", \"numerical argument out of domain\"},\n\t{34, \"ERANGE\", \"result too large or too small\"},\n\t{35, \"EAGAIN\", \"resource temporarily unavailable\"},\n\t{36, \"EINPROGRESS\", \"operation now in progress\"},\n\t{37, \"EALREADY\", \"operation already in progress\"},\n\t{38, \"ENOTSOCK\", \"socket operation on non-socket\"},\n\t{39, \"EDESTADDRREQ\", \"destination address required\"},\n\t{40, \"EMSGSIZE\", \"message too long\"},\n\t{41, \"EPROTOTYPE\", \"protocol wrong type for socket\"},\n\t{42, \"ENOPROTOOPT\", \"protocol option not available\"},\n\t{43, \"EPROTONOSUPPORT\", \"protocol not supported\"},\n\t{44, \"ESOCKTNOSUPPORT\", \"socket type not supported\"},\n\t{45, \"EOPNOTSUPP\", \"operation not supported\"},\n\t{46, \"EPFNOSUPPORT\", \"protocol family not supported\"},\n\t{47, \"EAFNOSUPPORT\", \"address family not supported by protocol family\"},\n\t{48, \"EADDRINUSE\", \"address already in use\"},\n\t{49, \"EADDRNOTAVAIL\", \"can't assign requested address\"},\n\t{50, \"ENETDOWN\", \"network is down\"},\n\t{51, \"ENETUNREACH\", \"network is unreachable\"},\n\t{52, \"ENETRESET\", \"network dropped connection on reset\"},\n\t{53, \"ECONNABORTED\", \"software caused connection abort\"},\n\t{54, \"ECONNRESET\", \"connection reset by peer\"},\n\t{55, \"ENOBUFS\", \"no buffer space available\"},\n\t{56, \"EISCONN\", \"socket is already connected\"},\n\t{57, \"ENOTCONN\", \"socket is not connected\"},\n\t{58, \"ESHUTDOWN\", \"can't send after socket shutdown\"},\n\t{59, \"ETOOMANYREFS\", \"too many references: can't splice\"},\n\t{60, \"ETIMEDOUT\", \"connection timed out\"},\n\t{61, \"ECONNREFUSED\", \"connection refused\"},\n\t{62, \"ELOOP\", \"too many levels of symbolic links\"},\n\t{63, \"ENAMETOOLONG\", \"file name too long\"},\n\t{64, \"EHOSTDOWN\", \"host is down\"},\n\t{65, \"EHOSTUNREACH\", \"no route to host\"},\n\t{66, \"ENOTEMPTY\", \"directory not empty\"},\n\t{67, \"EPROCLIM\", \"too many processes\"},\n\t{68, \"EUSERS\", \"too many users\"},\n\t{69, \"EDQUOT\", \"disc quota exceeded\"},\n\t{70, \"ESTALE\", \"stale NFS file handle\"},\n\t{71, \"EREMOTE\", \"too many levels of remote in path\"},\n\t{72, \"EBADRPC\", \"RPC struct is bad\"},\n\t{73, \"ERPCMISMATCH\", \"RPC version wrong\"},\n\t{74, \"EPROGUNAVAIL\", \"RPC prog. not avail\"},\n\t{75, \"EPROGMISMATCH\", \"program version wrong\"},\n\t{76, \"EPROCUNAVAIL\", \"bad procedure for program\"},\n\t{77, \"ENOLCK\", \"no locks available\"},\n\t{78, \"ENOSYS\", \"function not implemented\"},\n\t{79, \"EFTYPE\", \"inappropriate file type or format\"},\n\t{80, \"EAUTH\", \"authentication error\"},\n\t{81, \"ENEEDAUTH\", \"need authenticator\"},\n\t{82, \"EIDRM\", \"identifier removed\"},\n\t{83, \"ENOMSG\", \"no message of desired type\"},\n\t{84, \"EOVERFLOW\", \"value too large to be stored in data type\"},\n\t{85, \"EILSEQ\", \"illegal byte sequence\"},\n\t{86, \"ENOTSUP\", \"not supported\"},\n\t{87, \"ECANCELED\", \"operation Canceled\"},\n\t{88, \"EBADMSG\", \"bad or Corrupt message\"},\n\t{89, \"ENODATA\", \"no message available\"},\n\t{90, \"ENOSR\", \"no STREAM resources\"},\n\t{91, \"ENOSTR\", \"not a STREAM\"},\n\t{92, \"ETIME\", \"STREAM ioctl timeout\"},\n\t{93, \"ENOATTR\", \"attribute not found\"},\n\t{94, \"EMULTIHOP\", \"multihop attempted\"},\n\t{95, \"ENOLINK\", \"link has been severed\"},\n\t{96, \"ELAST\", \"protocol error\"},\n}\n\n// Signal table\nvar signalList = [...]struct {\n\tnum  syscall.Signal\n\tname string\n\tdesc string\n}{\n\t{1, \"SIGHUP\", \"hangup\"},\n\t{2, \"SIGINT\", \"interrupt\"},\n\t{3, \"SIGQUIT\", \"quit\"},\n\t{4, \"SIGILL\", \"illegal instruction\"},\n\t{5, \"SIGTRAP\", \"trace/BPT trap\"},\n\t{6, \"SIGIOT\", \"abort trap\"},\n\t{7, \"SIGEMT\", \"EMT trap\"},\n\t{8, \"SIGFPE\", \"floating point exception\"},\n\t{9, \"SIGKILL\", \"killed\"},\n\t{10, \"SIGBUS\", \"bus error\"},\n\t{11, \"SIGSEGV\", \"segmentation fault\"},\n\t{12, \"SIGSYS\", \"bad system call\"},\n\t{13, \"SIGPIPE\", \"broken pipe\"},\n\t{14, \"SIGALRM\", \"alarm clock\"},\n\t{15, \"SIGTERM\", \"terminated\"},\n\t{16, \"SIGURG\", \"urgent I/O condition\"},\n\t{17, \"SIGSTOP\", \"stopped (signal)\"},\n\t{18, \"SIGTSTP\", \"stopped\"},\n\t{19, \"SIGCONT\", \"continued\"},\n\t{20, \"SIGCHLD\", \"child exited\"},\n\t{21, \"SIGTTIN\", \"stopped (tty input)\"},\n\t{22, \"SIGTTOU\", \"stopped (tty output)\"},\n\t{23, \"SIGIO\", \"I/O possible\"},\n\t{24, \"SIGXCPU\", \"cputime limit exceeded\"},\n\t{25, \"SIGXFSZ\", \"filesize limit exceeded\"},\n\t{26, \"SIGVTALRM\", \"virtual timer expired\"},\n\t{27, \"SIGPROF\", \"profiling timer expired\"},\n\t{28, \"SIGWINCH\", \"window size changes\"},\n\t{29, \"SIGINFO\", \"information request\"},\n\t{30, \"SIGUSR1\", \"user defined signal 1\"},\n\t{31, \"SIGUSR2\", \"user defined signal 2\"},\n\t{32, \"SIGPWR\", \"power fail/restart\"},\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go",
    "content": "// mkerrors.sh -marm\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build arm,netbsd\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -marm _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_APPLETALK                      = 0x10\n\tAF_ARP                            = 0x1c\n\tAF_BLUETOOTH                      = 0x1f\n\tAF_CCITT                          = 0xa\n\tAF_CHAOS                          = 0x5\n\tAF_CNT                            = 0x15\n\tAF_COIP                           = 0x14\n\tAF_DATAKIT                        = 0x9\n\tAF_DECnet                         = 0xc\n\tAF_DLI                            = 0xd\n\tAF_E164                           = 0x1a\n\tAF_ECMA                           = 0x8\n\tAF_HYLINK                         = 0xf\n\tAF_IEEE80211                      = 0x20\n\tAF_IMPLINK                        = 0x3\n\tAF_INET                           = 0x2\n\tAF_INET6                          = 0x18\n\tAF_IPX                            = 0x17\n\tAF_ISDN                           = 0x1a\n\tAF_ISO                            = 0x7\n\tAF_LAT                            = 0xe\n\tAF_LINK                           = 0x12\n\tAF_LOCAL                          = 0x1\n\tAF_MAX                            = 0x23\n\tAF_MPLS                           = 0x21\n\tAF_NATM                           = 0x1b\n\tAF_NS                             = 0x6\n\tAF_OROUTE                         = 0x11\n\tAF_OSI                            = 0x7\n\tAF_PUP                            = 0x4\n\tAF_ROUTE                          = 0x22\n\tAF_SNA                            = 0xb\n\tAF_UNIX                           = 0x1\n\tAF_UNSPEC                         = 0x0\n\tARPHRD_ARCNET                     = 0x7\n\tARPHRD_ETHER                      = 0x1\n\tARPHRD_FRELAY                     = 0xf\n\tARPHRD_IEEE1394                   = 0x18\n\tARPHRD_IEEE802                    = 0x6\n\tARPHRD_STRIP                      = 0x17\n\tB0                                = 0x0\n\tB110                              = 0x6e\n\tB115200                           = 0x1c200\n\tB1200                             = 0x4b0\n\tB134                              = 0x86\n\tB14400                            = 0x3840\n\tB150                              = 0x96\n\tB1800                             = 0x708\n\tB19200                            = 0x4b00\n\tB200                              = 0xc8\n\tB230400                           = 0x38400\n\tB2400                             = 0x960\n\tB28800                            = 0x7080\n\tB300                              = 0x12c\n\tB38400                            = 0x9600\n\tB460800                           = 0x70800\n\tB4800                             = 0x12c0\n\tB50                               = 0x32\n\tB57600                            = 0xe100\n\tB600                              = 0x258\n\tB7200                             = 0x1c20\n\tB75                               = 0x4b\n\tB76800                            = 0x12c00\n\tB921600                           = 0xe1000\n\tB9600                             = 0x2580\n\tBIOCFEEDBACK                      = 0x8004427d\n\tBIOCFLUSH                         = 0x20004268\n\tBIOCGBLEN                         = 0x40044266\n\tBIOCGDLT                          = 0x4004426a\n\tBIOCGDLTLIST                      = 0xc0084277\n\tBIOCGETIF                         = 0x4090426b\n\tBIOCGFEEDBACK                     = 0x4004427c\n\tBIOCGHDRCMPLT                     = 0x40044274\n\tBIOCGRTIMEOUT                     = 0x400c427b\n\tBIOCGSEESENT                      = 0x40044278\n\tBIOCGSTATS                        = 0x4080426f\n\tBIOCGSTATSOLD                     = 0x4008426f\n\tBIOCIMMEDIATE                     = 0x80044270\n\tBIOCPROMISC                       = 0x20004269\n\tBIOCSBLEN                         = 0xc0044266\n\tBIOCSDLT                          = 0x80044276\n\tBIOCSETF                          = 0x80084267\n\tBIOCSETIF                         = 0x8090426c\n\tBIOCSFEEDBACK                     = 0x8004427d\n\tBIOCSHDRCMPLT                     = 0x80044275\n\tBIOCSRTIMEOUT                     = 0x800c427a\n\tBIOCSSEESENT                      = 0x80044279\n\tBIOCSTCPF                         = 0x80084272\n\tBIOCSUDPF                         = 0x80084273\n\tBIOCVERSION                       = 0x40044271\n\tBPF_A                             = 0x10\n\tBPF_ABS                           = 0x20\n\tBPF_ADD                           = 0x0\n\tBPF_ALIGNMENT                     = 0x4\n\tBPF_ALIGNMENT32                   = 0x4\n\tBPF_ALU                           = 0x4\n\tBPF_AND                           = 0x50\n\tBPF_B                             = 0x10\n\tBPF_DFLTBUFSIZE                   = 0x100000\n\tBPF_DIV                           = 0x30\n\tBPF_H                             = 0x8\n\tBPF_IMM                           = 0x0\n\tBPF_IND                           = 0x40\n\tBPF_JA                            = 0x0\n\tBPF_JEQ                           = 0x10\n\tBPF_JGE                           = 0x30\n\tBPF_JGT                           = 0x20\n\tBPF_JMP                           = 0x5\n\tBPF_JSET                          = 0x40\n\tBPF_K                             = 0x0\n\tBPF_LD                            = 0x0\n\tBPF_LDX                           = 0x1\n\tBPF_LEN                           = 0x80\n\tBPF_LSH                           = 0x60\n\tBPF_MAJOR_VERSION                 = 0x1\n\tBPF_MAXBUFSIZE                    = 0x1000000\n\tBPF_MAXINSNS                      = 0x200\n\tBPF_MEM                           = 0x60\n\tBPF_MEMWORDS                      = 0x10\n\tBPF_MINBUFSIZE                    = 0x20\n\tBPF_MINOR_VERSION                 = 0x1\n\tBPF_MISC                          = 0x7\n\tBPF_MSH                           = 0xa0\n\tBPF_MUL                           = 0x20\n\tBPF_NEG                           = 0x80\n\tBPF_OR                            = 0x40\n\tBPF_RELEASE                       = 0x30bb6\n\tBPF_RET                           = 0x6\n\tBPF_RSH                           = 0x70\n\tBPF_ST                            = 0x2\n\tBPF_STX                           = 0x3\n\tBPF_SUB                           = 0x10\n\tBPF_TAX                           = 0x0\n\tBPF_TXA                           = 0x80\n\tBPF_W                             = 0x0\n\tBPF_X                             = 0x8\n\tBRKINT                            = 0x2\n\tCFLUSH                            = 0xf\n\tCLOCAL                            = 0x8000\n\tCREAD                             = 0x800\n\tCRTSCTS                           = 0x10000\n\tCS5                               = 0x0\n\tCS6                               = 0x100\n\tCS7                               = 0x200\n\tCS8                               = 0x300\n\tCSIZE                             = 0x300\n\tCSTART                            = 0x11\n\tCSTATUS                           = 0x14\n\tCSTOP                             = 0x13\n\tCSTOPB                            = 0x400\n\tCSUSP                             = 0x1a\n\tCTL_HW                            = 0x6\n\tCTL_KERN                          = 0x1\n\tCTL_MAXNAME                       = 0xc\n\tCTL_NET                           = 0x4\n\tCTL_QUERY                         = -0x2\n\tDIOCBSFLUSH                       = 0x20006478\n\tDLT_A429                          = 0xb8\n\tDLT_A653_ICM                      = 0xb9\n\tDLT_AIRONET_HEADER                = 0x78\n\tDLT_AOS                           = 0xde\n\tDLT_APPLE_IP_OVER_IEEE1394        = 0x8a\n\tDLT_ARCNET                        = 0x7\n\tDLT_ARCNET_LINUX                  = 0x81\n\tDLT_ATM_CLIP                      = 0x13\n\tDLT_ATM_RFC1483                   = 0xb\n\tDLT_AURORA                        = 0x7e\n\tDLT_AX25                          = 0x3\n\tDLT_AX25_KISS                     = 0xca\n\tDLT_BACNET_MS_TP                  = 0xa5\n\tDLT_BLUETOOTH_HCI_H4              = 0xbb\n\tDLT_BLUETOOTH_HCI_H4_WITH_PHDR    = 0xc9\n\tDLT_CAN20B                        = 0xbe\n\tDLT_CAN_SOCKETCAN                 = 0xe3\n\tDLT_CHAOS                         = 0x5\n\tDLT_CISCO_IOS                     = 0x76\n\tDLT_C_HDLC                        = 0x68\n\tDLT_C_HDLC_WITH_DIR               = 0xcd\n\tDLT_DECT                          = 0xdd\n\tDLT_DOCSIS                        = 0x8f\n\tDLT_ECONET                        = 0x73\n\tDLT_EN10MB                        = 0x1\n\tDLT_EN3MB                         = 0x2\n\tDLT_ENC                           = 0x6d\n\tDLT_ERF                           = 0xc5\n\tDLT_ERF_ETH                       = 0xaf\n\tDLT_ERF_POS                       = 0xb0\n\tDLT_FC_2                          = 0xe0\n\tDLT_FC_2_WITH_FRAME_DELIMS        = 0xe1\n\tDLT_FDDI                          = 0xa\n\tDLT_FLEXRAY                       = 0xd2\n\tDLT_FRELAY                        = 0x6b\n\tDLT_FRELAY_WITH_DIR               = 0xce\n\tDLT_GCOM_SERIAL                   = 0xad\n\tDLT_GCOM_T1E1                     = 0xac\n\tDLT_GPF_F                         = 0xab\n\tDLT_GPF_T                         = 0xaa\n\tDLT_GPRS_LLC                      = 0xa9\n\tDLT_GSMTAP_ABIS                   = 0xda\n\tDLT_GSMTAP_UM                     = 0xd9\n\tDLT_HDLC                          = 0x10\n\tDLT_HHDLC                         = 0x79\n\tDLT_HIPPI                         = 0xf\n\tDLT_IBM_SN                        = 0x92\n\tDLT_IBM_SP                        = 0x91\n\tDLT_IEEE802                       = 0x6\n\tDLT_IEEE802_11                    = 0x69\n\tDLT_IEEE802_11_RADIO              = 0x7f\n\tDLT_IEEE802_11_RADIO_AVS          = 0xa3\n\tDLT_IEEE802_15_4                  = 0xc3\n\tDLT_IEEE802_15_4_LINUX            = 0xbf\n\tDLT_IEEE802_15_4_NONASK_PHY       = 0xd7\n\tDLT_IEEE802_16_MAC_CPS            = 0xbc\n\tDLT_IEEE802_16_MAC_CPS_RADIO      = 0xc1\n\tDLT_IPMB                          = 0xc7\n\tDLT_IPMB_LINUX                    = 0xd1\n\tDLT_IPNET                         = 0xe2\n\tDLT_IPV4                          = 0xe4\n\tDLT_IPV6                          = 0xe5\n\tDLT_IP_OVER_FC                    = 0x7a\n\tDLT_JUNIPER_ATM1                  = 0x89\n\tDLT_JUNIPER_ATM2                  = 0x87\n\tDLT_JUNIPER_CHDLC                 = 0xb5\n\tDLT_JUNIPER_ES                    = 0x84\n\tDLT_JUNIPER_ETHER                 = 0xb2\n\tDLT_JUNIPER_FRELAY                = 0xb4\n\tDLT_JUNIPER_GGSN                  = 0x85\n\tDLT_JUNIPER_ISM                   = 0xc2\n\tDLT_JUNIPER_MFR                   = 0x86\n\tDLT_JUNIPER_MLFR                  = 0x83\n\tDLT_JUNIPER_MLPPP                 = 0x82\n\tDLT_JUNIPER_MONITOR               = 0xa4\n\tDLT_JUNIPER_PIC_PEER              = 0xae\n\tDLT_JUNIPER_PPP                   = 0xb3\n\tDLT_JUNIPER_PPPOE                 = 0xa7\n\tDLT_JUNIPER_PPPOE_ATM             = 0xa8\n\tDLT_JUNIPER_SERVICES              = 0x88\n\tDLT_JUNIPER_ST                    = 0xc8\n\tDLT_JUNIPER_VP                    = 0xb7\n\tDLT_LAPB_WITH_DIR                 = 0xcf\n\tDLT_LAPD                          = 0xcb\n\tDLT_LIN                           = 0xd4\n\tDLT_LINUX_EVDEV                   = 0xd8\n\tDLT_LINUX_IRDA                    = 0x90\n\tDLT_LINUX_LAPD                    = 0xb1\n\tDLT_LINUX_SLL                     = 0x71\n\tDLT_LOOP                          = 0x6c\n\tDLT_LTALK                         = 0x72\n\tDLT_MFR                           = 0xb6\n\tDLT_MOST                          = 0xd3\n\tDLT_MPLS                          = 0xdb\n\tDLT_MTP2                          = 0x8c\n\tDLT_MTP2_WITH_PHDR                = 0x8b\n\tDLT_MTP3                          = 0x8d\n\tDLT_NULL                          = 0x0\n\tDLT_PCI_EXP                       = 0x7d\n\tDLT_PFLOG                         = 0x75\n\tDLT_PFSYNC                        = 0x12\n\tDLT_PPI                           = 0xc0\n\tDLT_PPP                           = 0x9\n\tDLT_PPP_BSDOS                     = 0xe\n\tDLT_PPP_ETHER                     = 0x33\n\tDLT_PPP_PPPD                      = 0xa6\n\tDLT_PPP_SERIAL                    = 0x32\n\tDLT_PPP_WITH_DIR                  = 0xcc\n\tDLT_PRISM_HEADER                  = 0x77\n\tDLT_PRONET                        = 0x4\n\tDLT_RAIF1                         = 0xc6\n\tDLT_RAW                           = 0xc\n\tDLT_RAWAF_MASK                    = 0x2240000\n\tDLT_RIO                           = 0x7c\n\tDLT_SCCP                          = 0x8e\n\tDLT_SITA                          = 0xc4\n\tDLT_SLIP                          = 0x8\n\tDLT_SLIP_BSDOS                    = 0xd\n\tDLT_SUNATM                        = 0x7b\n\tDLT_SYMANTEC_FIREWALL             = 0x63\n\tDLT_TZSP                          = 0x80\n\tDLT_USB                           = 0xba\n\tDLT_USB_LINUX                     = 0xbd\n\tDLT_USB_LINUX_MMAPPED             = 0xdc\n\tDLT_WIHART                        = 0xdf\n\tDLT_X2E_SERIAL                    = 0xd5\n\tDLT_X2E_XORAYA                    = 0xd6\n\tDT_BLK                            = 0x6\n\tDT_CHR                            = 0x2\n\tDT_DIR                            = 0x4\n\tDT_FIFO                           = 0x1\n\tDT_LNK                            = 0xa\n\tDT_REG                            = 0x8\n\tDT_SOCK                           = 0xc\n\tDT_UNKNOWN                        = 0x0\n\tDT_WHT                            = 0xe\n\tECHO                              = 0x8\n\tECHOCTL                           = 0x40\n\tECHOE                             = 0x2\n\tECHOK                             = 0x4\n\tECHOKE                            = 0x1\n\tECHONL                            = 0x10\n\tECHOPRT                           = 0x20\n\tEMUL_LINUX                        = 0x1\n\tEMUL_LINUX32                      = 0x5\n\tEMUL_MAXID                        = 0x6\n\tETHERCAP_JUMBO_MTU                = 0x4\n\tETHERCAP_VLAN_HWTAGGING           = 0x2\n\tETHERCAP_VLAN_MTU                 = 0x1\n\tETHERMIN                          = 0x2e\n\tETHERMTU                          = 0x5dc\n\tETHERMTU_JUMBO                    = 0x2328\n\tETHERTYPE_8023                    = 0x4\n\tETHERTYPE_AARP                    = 0x80f3\n\tETHERTYPE_ACCTON                  = 0x8390\n\tETHERTYPE_AEONIC                  = 0x8036\n\tETHERTYPE_ALPHA                   = 0x814a\n\tETHERTYPE_AMBER                   = 0x6008\n\tETHERTYPE_AMOEBA                  = 0x8145\n\tETHERTYPE_APOLLO                  = 0x80f7\n\tETHERTYPE_APOLLODOMAIN            = 0x8019\n\tETHERTYPE_APPLETALK               = 0x809b\n\tETHERTYPE_APPLITEK                = 0x80c7\n\tETHERTYPE_ARGONAUT                = 0x803a\n\tETHERTYPE_ARP                     = 0x806\n\tETHERTYPE_AT                      = 0x809b\n\tETHERTYPE_ATALK                   = 0x809b\n\tETHERTYPE_ATOMIC                  = 0x86df\n\tETHERTYPE_ATT                     = 0x8069\n\tETHERTYPE_ATTSTANFORD             = 0x8008\n\tETHERTYPE_AUTOPHON                = 0x806a\n\tETHERTYPE_AXIS                    = 0x8856\n\tETHERTYPE_BCLOOP                  = 0x9003\n\tETHERTYPE_BOFL                    = 0x8102\n\tETHERTYPE_CABLETRON               = 0x7034\n\tETHERTYPE_CHAOS                   = 0x804\n\tETHERTYPE_COMDESIGN               = 0x806c\n\tETHERTYPE_COMPUGRAPHIC            = 0x806d\n\tETHERTYPE_COUNTERPOINT            = 0x8062\n\tETHERTYPE_CRONUS                  = 0x8004\n\tETHERTYPE_CRONUSVLN               = 0x8003\n\tETHERTYPE_DCA                     = 0x1234\n\tETHERTYPE_DDE                     = 0x807b\n\tETHERTYPE_DEBNI                   = 0xaaaa\n\tETHERTYPE_DECAM                   = 0x8048\n\tETHERTYPE_DECCUST                 = 0x6006\n\tETHERTYPE_DECDIAG                 = 0x6005\n\tETHERTYPE_DECDNS                  = 0x803c\n\tETHERTYPE_DECDTS                  = 0x803e\n\tETHERTYPE_DECEXPER                = 0x6000\n\tETHERTYPE_DECLAST                 = 0x8041\n\tETHERTYPE_DECLTM                  = 0x803f\n\tETHERTYPE_DECMUMPS                = 0x6009\n\tETHERTYPE_DECNETBIOS              = 0x8040\n\tETHERTYPE_DELTACON                = 0x86de\n\tETHERTYPE_DIDDLE                  = 0x4321\n\tETHERTYPE_DLOG1                   = 0x660\n\tETHERTYPE_DLOG2                   = 0x661\n\tETHERTYPE_DN                      = 0x6003\n\tETHERTYPE_DOGFIGHT                = 0x1989\n\tETHERTYPE_DSMD                    = 0x8039\n\tETHERTYPE_ECMA                    = 0x803\n\tETHERTYPE_ENCRYPT                 = 0x803d\n\tETHERTYPE_ES                      = 0x805d\n\tETHERTYPE_EXCELAN                 = 0x8010\n\tETHERTYPE_EXPERDATA               = 0x8049\n\tETHERTYPE_FLIP                    = 0x8146\n\tETHERTYPE_FLOWCONTROL             = 0x8808\n\tETHERTYPE_FRARP                   = 0x808\n\tETHERTYPE_GENDYN                  = 0x8068\n\tETHERTYPE_HAYES                   = 0x8130\n\tETHERTYPE_HIPPI_FP                = 0x8180\n\tETHERTYPE_HITACHI                 = 0x8820\n\tETHERTYPE_HP                      = 0x8005\n\tETHERTYPE_IEEEPUP                 = 0xa00\n\tETHERTYPE_IEEEPUPAT               = 0xa01\n\tETHERTYPE_IMLBL                   = 0x4c42\n\tETHERTYPE_IMLBLDIAG               = 0x424c\n\tETHERTYPE_IP                      = 0x800\n\tETHERTYPE_IPAS                    = 0x876c\n\tETHERTYPE_IPV6                    = 0x86dd\n\tETHERTYPE_IPX                     = 0x8137\n\tETHERTYPE_IPXNEW                  = 0x8037\n\tETHERTYPE_KALPANA                 = 0x8582\n\tETHERTYPE_LANBRIDGE               = 0x8038\n\tETHERTYPE_LANPROBE                = 0x8888\n\tETHERTYPE_LAT                     = 0x6004\n\tETHERTYPE_LBACK                   = 0x9000\n\tETHERTYPE_LITTLE                  = 0x8060\n\tETHERTYPE_LOGICRAFT               = 0x8148\n\tETHERTYPE_LOOPBACK                = 0x9000\n\tETHERTYPE_MATRA                   = 0x807a\n\tETHERTYPE_MAX                     = 0xffff\n\tETHERTYPE_MERIT                   = 0x807c\n\tETHERTYPE_MICP                    = 0x873a\n\tETHERTYPE_MOPDL                   = 0x6001\n\tETHERTYPE_MOPRC                   = 0x6002\n\tETHERTYPE_MOTOROLA                = 0x818d\n\tETHERTYPE_MPLS                    = 0x8847\n\tETHERTYPE_MPLS_MCAST              = 0x8848\n\tETHERTYPE_MUMPS                   = 0x813f\n\tETHERTYPE_NBPCC                   = 0x3c04\n\tETHERTYPE_NBPCLAIM                = 0x3c09\n\tETHERTYPE_NBPCLREQ                = 0x3c05\n\tETHERTYPE_NBPCLRSP                = 0x3c06\n\tETHERTYPE_NBPCREQ                 = 0x3c02\n\tETHERTYPE_NBPCRSP                 = 0x3c03\n\tETHERTYPE_NBPDG                   = 0x3c07\n\tETHERTYPE_NBPDGB                  = 0x3c08\n\tETHERTYPE_NBPDLTE                 = 0x3c0a\n\tETHERTYPE_NBPRAR                  = 0x3c0c\n\tETHERTYPE_NBPRAS                  = 0x3c0b\n\tETHERTYPE_NBPRST                  = 0x3c0d\n\tETHERTYPE_NBPSCD                  = 0x3c01\n\tETHERTYPE_NBPVCD                  = 0x3c00\n\tETHERTYPE_NBS                     = 0x802\n\tETHERTYPE_NCD                     = 0x8149\n\tETHERTYPE_NESTAR                  = 0x8006\n\tETHERTYPE_NETBEUI                 = 0x8191\n\tETHERTYPE_NOVELL                  = 0x8138\n\tETHERTYPE_NS                      = 0x600\n\tETHERTYPE_NSAT                    = 0x601\n\tETHERTYPE_NSCOMPAT                = 0x807\n\tETHERTYPE_NTRAILER                = 0x10\n\tETHERTYPE_OS9                     = 0x7007\n\tETHERTYPE_OS9NET                  = 0x7009\n\tETHERTYPE_PACER                   = 0x80c6\n\tETHERTYPE_PAE                     = 0x888e\n\tETHERTYPE_PCS                     = 0x4242\n\tETHERTYPE_PLANNING                = 0x8044\n\tETHERTYPE_PPP                     = 0x880b\n\tETHERTYPE_PPPOE                   = 0x8864\n\tETHERTYPE_PPPOEDISC               = 0x8863\n\tETHERTYPE_PRIMENTS                = 0x7031\n\tETHERTYPE_PUP                     = 0x200\n\tETHERTYPE_PUPAT                   = 0x200\n\tETHERTYPE_RACAL                   = 0x7030\n\tETHERTYPE_RATIONAL                = 0x8150\n\tETHERTYPE_RAWFR                   = 0x6559\n\tETHERTYPE_RCL                     = 0x1995\n\tETHERTYPE_RDP                     = 0x8739\n\tETHERTYPE_RETIX                   = 0x80f2\n\tETHERTYPE_REVARP                  = 0x8035\n\tETHERTYPE_SCA                     = 0x6007\n\tETHERTYPE_SECTRA                  = 0x86db\n\tETHERTYPE_SECUREDATA              = 0x876d\n\tETHERTYPE_SGITW                   = 0x817e\n\tETHERTYPE_SG_BOUNCE               = 0x8016\n\tETHERTYPE_SG_DIAG                 = 0x8013\n\tETHERTYPE_SG_NETGAMES             = 0x8014\n\tETHERTYPE_SG_RESV                 = 0x8015\n\tETHERTYPE_SIMNET                  = 0x5208\n\tETHERTYPE_SLOWPROTOCOLS           = 0x8809\n\tETHERTYPE_SNA                     = 0x80d5\n\tETHERTYPE_SNMP                    = 0x814c\n\tETHERTYPE_SONIX                   = 0xfaf5\n\tETHERTYPE_SPIDER                  = 0x809f\n\tETHERTYPE_SPRITE                  = 0x500\n\tETHERTYPE_STP                     = 0x8181\n\tETHERTYPE_TALARIS                 = 0x812b\n\tETHERTYPE_TALARISMC               = 0x852b\n\tETHERTYPE_TCPCOMP                 = 0x876b\n\tETHERTYPE_TCPSM                   = 0x9002\n\tETHERTYPE_TEC                     = 0x814f\n\tETHERTYPE_TIGAN                   = 0x802f\n\tETHERTYPE_TRAIL                   = 0x1000\n\tETHERTYPE_TRANSETHER              = 0x6558\n\tETHERTYPE_TYMSHARE                = 0x802e\n\tETHERTYPE_UBBST                   = 0x7005\n\tETHERTYPE_UBDEBUG                 = 0x900\n\tETHERTYPE_UBDIAGLOOP              = 0x7002\n\tETHERTYPE_UBDL                    = 0x7000\n\tETHERTYPE_UBNIU                   = 0x7001\n\tETHERTYPE_UBNMC                   = 0x7003\n\tETHERTYPE_VALID                   = 0x1600\n\tETHERTYPE_VARIAN                  = 0x80dd\n\tETHERTYPE_VAXELN                  = 0x803b\n\tETHERTYPE_VEECO                   = 0x8067\n\tETHERTYPE_VEXP                    = 0x805b\n\tETHERTYPE_VGLAB                   = 0x8131\n\tETHERTYPE_VINES                   = 0xbad\n\tETHERTYPE_VINESECHO               = 0xbaf\n\tETHERTYPE_VINESLOOP               = 0xbae\n\tETHERTYPE_VITAL                   = 0xff00\n\tETHERTYPE_VLAN                    = 0x8100\n\tETHERTYPE_VLTLMAN                 = 0x8080\n\tETHERTYPE_VPROD                   = 0x805c\n\tETHERTYPE_VURESERVED              = 0x8147\n\tETHERTYPE_WATERLOO                = 0x8130\n\tETHERTYPE_WELLFLEET               = 0x8103\n\tETHERTYPE_X25                     = 0x805\n\tETHERTYPE_X75                     = 0x801\n\tETHERTYPE_XNSSM                   = 0x9001\n\tETHERTYPE_XTP                     = 0x817d\n\tETHER_ADDR_LEN                    = 0x6\n\tETHER_CRC_LEN                     = 0x4\n\tETHER_CRC_POLY_BE                 = 0x4c11db6\n\tETHER_CRC_POLY_LE                 = 0xedb88320\n\tETHER_HDR_LEN                     = 0xe\n\tETHER_MAX_LEN                     = 0x5ee\n\tETHER_MAX_LEN_JUMBO               = 0x233a\n\tETHER_MIN_LEN                     = 0x40\n\tETHER_PPPOE_ENCAP_LEN             = 0x8\n\tETHER_TYPE_LEN                    = 0x2\n\tETHER_VLAN_ENCAP_LEN              = 0x4\n\tEVFILT_AIO                        = 0x2\n\tEVFILT_PROC                       = 0x4\n\tEVFILT_READ                       = 0x0\n\tEVFILT_SIGNAL                     = 0x5\n\tEVFILT_SYSCOUNT                   = 0x7\n\tEVFILT_TIMER                      = 0x6\n\tEVFILT_VNODE                      = 0x3\n\tEVFILT_WRITE                      = 0x1\n\tEV_ADD                            = 0x1\n\tEV_CLEAR                          = 0x20\n\tEV_DELETE                         = 0x2\n\tEV_DISABLE                        = 0x8\n\tEV_ENABLE                         = 0x4\n\tEV_EOF                            = 0x8000\n\tEV_ERROR                          = 0x4000\n\tEV_FLAG1                          = 0x2000\n\tEV_ONESHOT                        = 0x10\n\tEV_SYSFLAGS                       = 0xf000\n\tEXTA                              = 0x4b00\n\tEXTATTR_CMD_START                 = 0x1\n\tEXTATTR_CMD_STOP                  = 0x2\n\tEXTATTR_NAMESPACE_SYSTEM          = 0x2\n\tEXTATTR_NAMESPACE_USER            = 0x1\n\tEXTB                              = 0x9600\n\tEXTPROC                           = 0x800\n\tFD_CLOEXEC                        = 0x1\n\tFD_SETSIZE                        = 0x100\n\tFLUSHO                            = 0x800000\n\tF_CLOSEM                          = 0xa\n\tF_DUPFD                           = 0x0\n\tF_DUPFD_CLOEXEC                   = 0xc\n\tF_FSCTL                           = -0x80000000\n\tF_FSDIRMASK                       = 0x70000000\n\tF_FSIN                            = 0x10000000\n\tF_FSINOUT                         = 0x30000000\n\tF_FSOUT                           = 0x20000000\n\tF_FSPRIV                          = 0x8000\n\tF_FSVOID                          = 0x40000000\n\tF_GETFD                           = 0x1\n\tF_GETFL                           = 0x3\n\tF_GETLK                           = 0x7\n\tF_GETNOSIGPIPE                    = 0xd\n\tF_GETOWN                          = 0x5\n\tF_MAXFD                           = 0xb\n\tF_OK                              = 0x0\n\tF_PARAM_MASK                      = 0xfff\n\tF_PARAM_MAX                       = 0xfff\n\tF_RDLCK                           = 0x1\n\tF_SETFD                           = 0x2\n\tF_SETFL                           = 0x4\n\tF_SETLK                           = 0x8\n\tF_SETLKW                          = 0x9\n\tF_SETNOSIGPIPE                    = 0xe\n\tF_SETOWN                          = 0x6\n\tF_UNLCK                           = 0x2\n\tF_WRLCK                           = 0x3\n\tHUPCL                             = 0x4000\n\tHW_MACHINE                        = 0x1\n\tICANON                            = 0x100\n\tICMP6_FILTER                      = 0x12\n\tICRNL                             = 0x100\n\tIEXTEN                            = 0x400\n\tIFAN_ARRIVAL                      = 0x0\n\tIFAN_DEPARTURE                    = 0x1\n\tIFA_ROUTE                         = 0x1\n\tIFF_ALLMULTI                      = 0x200\n\tIFF_BROADCAST                     = 0x2\n\tIFF_CANTCHANGE                    = 0x8f52\n\tIFF_DEBUG                         = 0x4\n\tIFF_LINK0                         = 0x1000\n\tIFF_LINK1                         = 0x2000\n\tIFF_LINK2                         = 0x4000\n\tIFF_LOOPBACK                      = 0x8\n\tIFF_MULTICAST                     = 0x8000\n\tIFF_NOARP                         = 0x80\n\tIFF_NOTRAILERS                    = 0x20\n\tIFF_OACTIVE                       = 0x400\n\tIFF_POINTOPOINT                   = 0x10\n\tIFF_PROMISC                       = 0x100\n\tIFF_RUNNING                       = 0x40\n\tIFF_SIMPLEX                       = 0x800\n\tIFF_UP                            = 0x1\n\tIFNAMSIZ                          = 0x10\n\tIFT_1822                          = 0x2\n\tIFT_A12MPPSWITCH                  = 0x82\n\tIFT_AAL2                          = 0xbb\n\tIFT_AAL5                          = 0x31\n\tIFT_ADSL                          = 0x5e\n\tIFT_AFLANE8023                    = 0x3b\n\tIFT_AFLANE8025                    = 0x3c\n\tIFT_ARAP                          = 0x58\n\tIFT_ARCNET                        = 0x23\n\tIFT_ARCNETPLUS                    = 0x24\n\tIFT_ASYNC                         = 0x54\n\tIFT_ATM                           = 0x25\n\tIFT_ATMDXI                        = 0x69\n\tIFT_ATMFUNI                       = 0x6a\n\tIFT_ATMIMA                        = 0x6b\n\tIFT_ATMLOGICAL                    = 0x50\n\tIFT_ATMRADIO                      = 0xbd\n\tIFT_ATMSUBINTERFACE               = 0x86\n\tIFT_ATMVCIENDPT                   = 0xc2\n\tIFT_ATMVIRTUAL                    = 0x95\n\tIFT_BGPPOLICYACCOUNTING           = 0xa2\n\tIFT_BRIDGE                        = 0xd1\n\tIFT_BSC                           = 0x53\n\tIFT_CARP                          = 0xf8\n\tIFT_CCTEMUL                       = 0x3d\n\tIFT_CEPT                          = 0x13\n\tIFT_CES                           = 0x85\n\tIFT_CHANNEL                       = 0x46\n\tIFT_CNR                           = 0x55\n\tIFT_COFFEE                        = 0x84\n\tIFT_COMPOSITELINK                 = 0x9b\n\tIFT_DCN                           = 0x8d\n\tIFT_DIGITALPOWERLINE              = 0x8a\n\tIFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba\n\tIFT_DLSW                          = 0x4a\n\tIFT_DOCSCABLEDOWNSTREAM           = 0x80\n\tIFT_DOCSCABLEMACLAYER             = 0x7f\n\tIFT_DOCSCABLEUPSTREAM             = 0x81\n\tIFT_DOCSCABLEUPSTREAMCHANNEL      = 0xcd\n\tIFT_DS0                           = 0x51\n\tIFT_DS0BUNDLE                     = 0x52\n\tIFT_DS1FDL                        = 0xaa\n\tIFT_DS3                           = 0x1e\n\tIFT_DTM                           = 0x8c\n\tIFT_DVBASILN                      = 0xac\n\tIFT_DVBASIOUT                     = 0xad\n\tIFT_DVBRCCDOWNSTREAM              = 0x93\n\tIFT_DVBRCCMACLAYER                = 0x92\n\tIFT_DVBRCCUPSTREAM                = 0x94\n\tIFT_ECONET                        = 0xce\n\tIFT_EON                           = 0x19\n\tIFT_EPLRS                         = 0x57\n\tIFT_ESCON                         = 0x49\n\tIFT_ETHER                         = 0x6\n\tIFT_FAITH                         = 0xf2\n\tIFT_FAST                          = 0x7d\n\tIFT_FASTETHER                     = 0x3e\n\tIFT_FASTETHERFX                   = 0x45\n\tIFT_FDDI                          = 0xf\n\tIFT_FIBRECHANNEL                  = 0x38\n\tIFT_FRAMERELAYINTERCONNECT        = 0x3a\n\tIFT_FRAMERELAYMPI                 = 0x5c\n\tIFT_FRDLCIENDPT                   = 0xc1\n\tIFT_FRELAY                        = 0x20\n\tIFT_FRELAYDCE                     = 0x2c\n\tIFT_FRF16MFRBUNDLE                = 0xa3\n\tIFT_FRFORWARD                     = 0x9e\n\tIFT_G703AT2MB                     = 0x43\n\tIFT_G703AT64K                     = 0x42\n\tIFT_GIF                           = 0xf0\n\tIFT_GIGABITETHERNET               = 0x75\n\tIFT_GR303IDT                      = 0xb2\n\tIFT_GR303RDT                      = 0xb1\n\tIFT_H323GATEKEEPER                = 0xa4\n\tIFT_H323PROXY                     = 0xa5\n\tIFT_HDH1822                       = 0x3\n\tIFT_HDLC                          = 0x76\n\tIFT_HDSL2                         = 0xa8\n\tIFT_HIPERLAN2                     = 0xb7\n\tIFT_HIPPI                         = 0x2f\n\tIFT_HIPPIINTERFACE                = 0x39\n\tIFT_HOSTPAD                       = 0x5a\n\tIFT_HSSI                          = 0x2e\n\tIFT_HY                            = 0xe\n\tIFT_IBM370PARCHAN                 = 0x48\n\tIFT_IDSL                          = 0x9a\n\tIFT_IEEE1394                      = 0x90\n\tIFT_IEEE80211                     = 0x47\n\tIFT_IEEE80212                     = 0x37\n\tIFT_IEEE8023ADLAG                 = 0xa1\n\tIFT_IFGSN                         = 0x91\n\tIFT_IMT                           = 0xbe\n\tIFT_INFINIBAND                    = 0xc7\n\tIFT_INTERLEAVE                    = 0x7c\n\tIFT_IP                            = 0x7e\n\tIFT_IPFORWARD                     = 0x8e\n\tIFT_IPOVERATM                     = 0x72\n\tIFT_IPOVERCDLC                    = 0x6d\n\tIFT_IPOVERCLAW                    = 0x6e\n\tIFT_IPSWITCH                      = 0x4e\n\tIFT_ISDN                          = 0x3f\n\tIFT_ISDNBASIC                     = 0x14\n\tIFT_ISDNPRIMARY                   = 0x15\n\tIFT_ISDNS                         = 0x4b\n\tIFT_ISDNU                         = 0x4c\n\tIFT_ISO88022LLC                   = 0x29\n\tIFT_ISO88023                      = 0x7\n\tIFT_ISO88024                      = 0x8\n\tIFT_ISO88025                      = 0x9\n\tIFT_ISO88025CRFPINT               = 0x62\n\tIFT_ISO88025DTR                   = 0x56\n\tIFT_ISO88025FIBER                 = 0x73\n\tIFT_ISO88026                      = 0xa\n\tIFT_ISUP                          = 0xb3\n\tIFT_L2VLAN                        = 0x87\n\tIFT_L3IPVLAN                      = 0x88\n\tIFT_L3IPXVLAN                     = 0x89\n\tIFT_LAPB                          = 0x10\n\tIFT_LAPD                          = 0x4d\n\tIFT_LAPF                          = 0x77\n\tIFT_LINEGROUP                     = 0xd2\n\tIFT_LOCALTALK                     = 0x2a\n\tIFT_LOOP                          = 0x18\n\tIFT_MEDIAMAILOVERIP               = 0x8b\n\tIFT_MFSIGLINK                     = 0xa7\n\tIFT_MIOX25                        = 0x26\n\tIFT_MODEM                         = 0x30\n\tIFT_MPC                           = 0x71\n\tIFT_MPLS                          = 0xa6\n\tIFT_MPLSTUNNEL                    = 0x96\n\tIFT_MSDSL                         = 0x8f\n\tIFT_MVL                           = 0xbf\n\tIFT_MYRINET                       = 0x63\n\tIFT_NFAS                          = 0xaf\n\tIFT_NSIP                          = 0x1b\n\tIFT_OPTICALCHANNEL                = 0xc3\n\tIFT_OPTICALTRANSPORT              = 0xc4\n\tIFT_OTHER                         = 0x1\n\tIFT_P10                           = 0xc\n\tIFT_P80                           = 0xd\n\tIFT_PARA                          = 0x22\n\tIFT_PFLOG                         = 0xf5\n\tIFT_PFSYNC                        = 0xf6\n\tIFT_PLC                           = 0xae\n\tIFT_PON155                        = 0xcf\n\tIFT_PON622                        = 0xd0\n\tIFT_POS                           = 0xab\n\tIFT_PPP                           = 0x17\n\tIFT_PPPMULTILINKBUNDLE            = 0x6c\n\tIFT_PROPATM                       = 0xc5\n\tIFT_PROPBWAP2MP                   = 0xb8\n\tIFT_PROPCNLS                      = 0x59\n\tIFT_PROPDOCSWIRELESSDOWNSTREAM    = 0xb5\n\tIFT_PROPDOCSWIRELESSMACLAYER      = 0xb4\n\tIFT_PROPDOCSWIRELESSUPSTREAM      = 0xb6\n\tIFT_PROPMUX                       = 0x36\n\tIFT_PROPVIRTUAL                   = 0x35\n\tIFT_PROPWIRELESSP2P               = 0x9d\n\tIFT_PTPSERIAL                     = 0x16\n\tIFT_PVC                           = 0xf1\n\tIFT_Q2931                         = 0xc9\n\tIFT_QLLC                          = 0x44\n\tIFT_RADIOMAC                      = 0xbc\n\tIFT_RADSL                         = 0x5f\n\tIFT_REACHDSL                      = 0xc0\n\tIFT_RFC1483                       = 0x9f\n\tIFT_RS232                         = 0x21\n\tIFT_RSRB                          = 0x4f\n\tIFT_SDLC                          = 0x11\n\tIFT_SDSL                          = 0x60\n\tIFT_SHDSL                         = 0xa9\n\tIFT_SIP                           = 0x1f\n\tIFT_SIPSIG                        = 0xcc\n\tIFT_SIPTG                         = 0xcb\n\tIFT_SLIP                          = 0x1c\n\tIFT_SMDSDXI                       = 0x2b\n\tIFT_SMDSICIP                      = 0x34\n\tIFT_SONET                         = 0x27\n\tIFT_SONETOVERHEADCHANNEL          = 0xb9\n\tIFT_SONETPATH                     = 0x32\n\tIFT_SONETVT                       = 0x33\n\tIFT_SRP                           = 0x97\n\tIFT_SS7SIGLINK                    = 0x9c\n\tIFT_STACKTOSTACK                  = 0x6f\n\tIFT_STARLAN                       = 0xb\n\tIFT_STF                           = 0xd7\n\tIFT_T1                            = 0x12\n\tIFT_TDLC                          = 0x74\n\tIFT_TELINK                        = 0xc8\n\tIFT_TERMPAD                       = 0x5b\n\tIFT_TR008                         = 0xb0\n\tIFT_TRANSPHDLC                    = 0x7b\n\tIFT_TUNNEL                        = 0x83\n\tIFT_ULTRA                         = 0x1d\n\tIFT_USB                           = 0xa0\n\tIFT_V11                           = 0x40\n\tIFT_V35                           = 0x2d\n\tIFT_V36                           = 0x41\n\tIFT_V37                           = 0x78\n\tIFT_VDSL                          = 0x61\n\tIFT_VIRTUALIPADDRESS              = 0x70\n\tIFT_VIRTUALTG                     = 0xca\n\tIFT_VOICEDID                      = 0xd5\n\tIFT_VOICEEM                       = 0x64\n\tIFT_VOICEEMFGD                    = 0xd3\n\tIFT_VOICEENCAP                    = 0x67\n\tIFT_VOICEFGDEANA                  = 0xd4\n\tIFT_VOICEFXO                      = 0x65\n\tIFT_VOICEFXS                      = 0x66\n\tIFT_VOICEOVERATM                  = 0x98\n\tIFT_VOICEOVERCABLE                = 0xc6\n\tIFT_VOICEOVERFRAMERELAY           = 0x99\n\tIFT_VOICEOVERIP                   = 0x68\n\tIFT_X213                          = 0x5d\n\tIFT_X25                           = 0x5\n\tIFT_X25DDN                        = 0x4\n\tIFT_X25HUNTGROUP                  = 0x7a\n\tIFT_X25MLP                        = 0x79\n\tIFT_X25PLE                        = 0x28\n\tIFT_XETHER                        = 0x1a\n\tIGNBRK                            = 0x1\n\tIGNCR                             = 0x80\n\tIGNPAR                            = 0x4\n\tIMAXBEL                           = 0x2000\n\tINLCR                             = 0x40\n\tINPCK                             = 0x10\n\tIN_CLASSA_HOST                    = 0xffffff\n\tIN_CLASSA_MAX                     = 0x80\n\tIN_CLASSA_NET                     = 0xff000000\n\tIN_CLASSA_NSHIFT                  = 0x18\n\tIN_CLASSB_HOST                    = 0xffff\n\tIN_CLASSB_MAX                     = 0x10000\n\tIN_CLASSB_NET                     = 0xffff0000\n\tIN_CLASSB_NSHIFT                  = 0x10\n\tIN_CLASSC_HOST                    = 0xff\n\tIN_CLASSC_NET                     = 0xffffff00\n\tIN_CLASSC_NSHIFT                  = 0x8\n\tIN_CLASSD_HOST                    = 0xfffffff\n\tIN_CLASSD_NET                     = 0xf0000000\n\tIN_CLASSD_NSHIFT                  = 0x1c\n\tIN_LOOPBACKNET                    = 0x7f\n\tIPPROTO_AH                        = 0x33\n\tIPPROTO_CARP                      = 0x70\n\tIPPROTO_DONE                      = 0x101\n\tIPPROTO_DSTOPTS                   = 0x3c\n\tIPPROTO_EGP                       = 0x8\n\tIPPROTO_ENCAP                     = 0x62\n\tIPPROTO_EON                       = 0x50\n\tIPPROTO_ESP                       = 0x32\n\tIPPROTO_ETHERIP                   = 0x61\n\tIPPROTO_FRAGMENT                  = 0x2c\n\tIPPROTO_GGP                       = 0x3\n\tIPPROTO_GRE                       = 0x2f\n\tIPPROTO_HOPOPTS                   = 0x0\n\tIPPROTO_ICMP                      = 0x1\n\tIPPROTO_ICMPV6                    = 0x3a\n\tIPPROTO_IDP                       = 0x16\n\tIPPROTO_IGMP                      = 0x2\n\tIPPROTO_IP                        = 0x0\n\tIPPROTO_IPCOMP                    = 0x6c\n\tIPPROTO_IPIP                      = 0x4\n\tIPPROTO_IPV4                      = 0x4\n\tIPPROTO_IPV6                      = 0x29\n\tIPPROTO_IPV6_ICMP                 = 0x3a\n\tIPPROTO_MAX                       = 0x100\n\tIPPROTO_MAXID                     = 0x34\n\tIPPROTO_MOBILE                    = 0x37\n\tIPPROTO_NONE                      = 0x3b\n\tIPPROTO_PFSYNC                    = 0xf0\n\tIPPROTO_PIM                       = 0x67\n\tIPPROTO_PUP                       = 0xc\n\tIPPROTO_RAW                       = 0xff\n\tIPPROTO_ROUTING                   = 0x2b\n\tIPPROTO_RSVP                      = 0x2e\n\tIPPROTO_TCP                       = 0x6\n\tIPPROTO_TP                        = 0x1d\n\tIPPROTO_UDP                       = 0x11\n\tIPPROTO_VRRP                      = 0x70\n\tIPV6_CHECKSUM                     = 0x1a\n\tIPV6_DEFAULT_MULTICAST_HOPS       = 0x1\n\tIPV6_DEFAULT_MULTICAST_LOOP       = 0x1\n\tIPV6_DEFHLIM                      = 0x40\n\tIPV6_DONTFRAG                     = 0x3e\n\tIPV6_DSTOPTS                      = 0x32\n\tIPV6_FAITH                        = 0x1d\n\tIPV6_FLOWINFO_MASK                = 0xffffff0f\n\tIPV6_FLOWLABEL_MASK               = 0xffff0f00\n\tIPV6_FRAGTTL                      = 0x78\n\tIPV6_HLIMDEC                      = 0x1\n\tIPV6_HOPLIMIT                     = 0x2f\n\tIPV6_HOPOPTS                      = 0x31\n\tIPV6_IPSEC_POLICY                 = 0x1c\n\tIPV6_JOIN_GROUP                   = 0xc\n\tIPV6_LEAVE_GROUP                  = 0xd\n\tIPV6_MAXHLIM                      = 0xff\n\tIPV6_MAXPACKET                    = 0xffff\n\tIPV6_MMTU                         = 0x500\n\tIPV6_MULTICAST_HOPS               = 0xa\n\tIPV6_MULTICAST_IF                 = 0x9\n\tIPV6_MULTICAST_LOOP               = 0xb\n\tIPV6_NEXTHOP                      = 0x30\n\tIPV6_PATHMTU                      = 0x2c\n\tIPV6_PKTINFO                      = 0x2e\n\tIPV6_PORTRANGE                    = 0xe\n\tIPV6_PORTRANGE_DEFAULT            = 0x0\n\tIPV6_PORTRANGE_HIGH               = 0x1\n\tIPV6_PORTRANGE_LOW                = 0x2\n\tIPV6_RECVDSTOPTS                  = 0x28\n\tIPV6_RECVHOPLIMIT                 = 0x25\n\tIPV6_RECVHOPOPTS                  = 0x27\n\tIPV6_RECVPATHMTU                  = 0x2b\n\tIPV6_RECVPKTINFO                  = 0x24\n\tIPV6_RECVRTHDR                    = 0x26\n\tIPV6_RECVTCLASS                   = 0x39\n\tIPV6_RTHDR                        = 0x33\n\tIPV6_RTHDRDSTOPTS                 = 0x23\n\tIPV6_RTHDR_LOOSE                  = 0x0\n\tIPV6_RTHDR_STRICT                 = 0x1\n\tIPV6_RTHDR_TYPE_0                 = 0x0\n\tIPV6_SOCKOPT_RESERVED1            = 0x3\n\tIPV6_TCLASS                       = 0x3d\n\tIPV6_UNICAST_HOPS                 = 0x4\n\tIPV6_USE_MIN_MTU                  = 0x2a\n\tIPV6_V6ONLY                       = 0x1b\n\tIPV6_VERSION                      = 0x60\n\tIPV6_VERSION_MASK                 = 0xf0\n\tIP_ADD_MEMBERSHIP                 = 0xc\n\tIP_DEFAULT_MULTICAST_LOOP         = 0x1\n\tIP_DEFAULT_MULTICAST_TTL          = 0x1\n\tIP_DF                             = 0x4000\n\tIP_DROP_MEMBERSHIP                = 0xd\n\tIP_EF                             = 0x8000\n\tIP_ERRORMTU                       = 0x15\n\tIP_HDRINCL                        = 0x2\n\tIP_IPSEC_POLICY                   = 0x16\n\tIP_MAXPACKET                      = 0xffff\n\tIP_MAX_MEMBERSHIPS                = 0x14\n\tIP_MF                             = 0x2000\n\tIP_MINFRAGSIZE                    = 0x45\n\tIP_MINTTL                         = 0x18\n\tIP_MSS                            = 0x240\n\tIP_MULTICAST_IF                   = 0x9\n\tIP_MULTICAST_LOOP                 = 0xb\n\tIP_MULTICAST_TTL                  = 0xa\n\tIP_OFFMASK                        = 0x1fff\n\tIP_OPTIONS                        = 0x1\n\tIP_PORTRANGE                      = 0x13\n\tIP_PORTRANGE_DEFAULT              = 0x0\n\tIP_PORTRANGE_HIGH                 = 0x1\n\tIP_PORTRANGE_LOW                  = 0x2\n\tIP_RECVDSTADDR                    = 0x7\n\tIP_RECVIF                         = 0x14\n\tIP_RECVOPTS                       = 0x5\n\tIP_RECVRETOPTS                    = 0x6\n\tIP_RECVTTL                        = 0x17\n\tIP_RETOPTS                        = 0x8\n\tIP_RF                             = 0x8000\n\tIP_TOS                            = 0x3\n\tIP_TTL                            = 0x4\n\tISIG                              = 0x80\n\tISTRIP                            = 0x20\n\tIXANY                             = 0x800\n\tIXOFF                             = 0x400\n\tIXON                              = 0x200\n\tKERN_HOSTNAME                     = 0xa\n\tKERN_OSRELEASE                    = 0x2\n\tKERN_OSTYPE                       = 0x1\n\tKERN_VERSION                      = 0x4\n\tLOCK_EX                           = 0x2\n\tLOCK_NB                           = 0x4\n\tLOCK_SH                           = 0x1\n\tLOCK_UN                           = 0x8\n\tMADV_DONTNEED                     = 0x4\n\tMADV_FREE                         = 0x6\n\tMADV_NORMAL                       = 0x0\n\tMADV_RANDOM                       = 0x1\n\tMADV_SEQUENTIAL                   = 0x2\n\tMADV_SPACEAVAIL                   = 0x5\n\tMADV_WILLNEED                     = 0x3\n\tMAP_ALIGNMENT_16MB                = 0x18000000\n\tMAP_ALIGNMENT_1TB                 = 0x28000000\n\tMAP_ALIGNMENT_256TB               = 0x30000000\n\tMAP_ALIGNMENT_4GB                 = 0x20000000\n\tMAP_ALIGNMENT_64KB                = 0x10000000\n\tMAP_ALIGNMENT_64PB                = 0x38000000\n\tMAP_ALIGNMENT_MASK                = -0x1000000\n\tMAP_ALIGNMENT_SHIFT               = 0x18\n\tMAP_ANON                          = 0x1000\n\tMAP_FILE                          = 0x0\n\tMAP_FIXED                         = 0x10\n\tMAP_HASSEMAPHORE                  = 0x200\n\tMAP_INHERIT                       = 0x80\n\tMAP_INHERIT_COPY                  = 0x1\n\tMAP_INHERIT_DEFAULT               = 0x1\n\tMAP_INHERIT_DONATE_COPY           = 0x3\n\tMAP_INHERIT_NONE                  = 0x2\n\tMAP_INHERIT_SHARE                 = 0x0\n\tMAP_NORESERVE                     = 0x40\n\tMAP_PRIVATE                       = 0x2\n\tMAP_RENAME                        = 0x20\n\tMAP_SHARED                        = 0x1\n\tMAP_STACK                         = 0x2000\n\tMAP_TRYFIXED                      = 0x400\n\tMAP_WIRED                         = 0x800\n\tMSG_BCAST                         = 0x100\n\tMSG_CMSG_CLOEXEC                  = 0x800\n\tMSG_CONTROLMBUF                   = 0x2000000\n\tMSG_CTRUNC                        = 0x20\n\tMSG_DONTROUTE                     = 0x4\n\tMSG_DONTWAIT                      = 0x80\n\tMSG_EOR                           = 0x8\n\tMSG_IOVUSRSPACE                   = 0x4000000\n\tMSG_LENUSRSPACE                   = 0x8000000\n\tMSG_MCAST                         = 0x200\n\tMSG_NAMEMBUF                      = 0x1000000\n\tMSG_NBIO                          = 0x1000\n\tMSG_NOSIGNAL                      = 0x400\n\tMSG_OOB                           = 0x1\n\tMSG_PEEK                          = 0x2\n\tMSG_TRUNC                         = 0x10\n\tMSG_USERFLAGS                     = 0xffffff\n\tMSG_WAITALL                       = 0x40\n\tMS_ASYNC                          = 0x1\n\tMS_INVALIDATE                     = 0x2\n\tMS_SYNC                           = 0x4\n\tNAME_MAX                          = 0x1ff\n\tNET_RT_DUMP                       = 0x1\n\tNET_RT_FLAGS                      = 0x2\n\tNET_RT_IFLIST                     = 0x5\n\tNET_RT_MAXID                      = 0x6\n\tNET_RT_OIFLIST                    = 0x4\n\tNET_RT_OOIFLIST                   = 0x3\n\tNOFLSH                            = 0x80000000\n\tNOTE_ATTRIB                       = 0x8\n\tNOTE_CHILD                        = 0x4\n\tNOTE_DELETE                       = 0x1\n\tNOTE_EXEC                         = 0x20000000\n\tNOTE_EXIT                         = 0x80000000\n\tNOTE_EXTEND                       = 0x4\n\tNOTE_FORK                         = 0x40000000\n\tNOTE_LINK                         = 0x10\n\tNOTE_LOWAT                        = 0x1\n\tNOTE_PCTRLMASK                    = 0xf0000000\n\tNOTE_PDATAMASK                    = 0xfffff\n\tNOTE_RENAME                       = 0x20\n\tNOTE_REVOKE                       = 0x40\n\tNOTE_TRACK                        = 0x1\n\tNOTE_TRACKERR                     = 0x2\n\tNOTE_WRITE                        = 0x2\n\tOCRNL                             = 0x10\n\tOFIOGETBMAP                       = 0xc004667a\n\tONLCR                             = 0x2\n\tONLRET                            = 0x40\n\tONOCR                             = 0x20\n\tONOEOT                            = 0x8\n\tOPOST                             = 0x1\n\tO_ACCMODE                         = 0x3\n\tO_ALT_IO                          = 0x40000\n\tO_APPEND                          = 0x8\n\tO_ASYNC                           = 0x40\n\tO_CLOEXEC                         = 0x400000\n\tO_CREAT                           = 0x200\n\tO_DIRECT                          = 0x80000\n\tO_DIRECTORY                       = 0x200000\n\tO_DSYNC                           = 0x10000\n\tO_EXCL                            = 0x800\n\tO_EXLOCK                          = 0x20\n\tO_FSYNC                           = 0x80\n\tO_NDELAY                          = 0x4\n\tO_NOCTTY                          = 0x8000\n\tO_NOFOLLOW                        = 0x100\n\tO_NONBLOCK                        = 0x4\n\tO_NOSIGPIPE                       = 0x1000000\n\tO_RDONLY                          = 0x0\n\tO_RDWR                            = 0x2\n\tO_RSYNC                           = 0x20000\n\tO_SHLOCK                          = 0x10\n\tO_SYNC                            = 0x80\n\tO_TRUNC                           = 0x400\n\tO_WRONLY                          = 0x1\n\tPARENB                            = 0x1000\n\tPARMRK                            = 0x8\n\tPARODD                            = 0x2000\n\tPENDIN                            = 0x20000000\n\tPROT_EXEC                         = 0x4\n\tPROT_NONE                         = 0x0\n\tPROT_READ                         = 0x1\n\tPROT_WRITE                        = 0x2\n\tPRI_IOFLUSH                       = 0x7c\n\tPRIO_PGRP                         = 0x1\n\tPRIO_PROCESS                      = 0x0\n\tPRIO_USER                         = 0x2\n\tRLIMIT_AS                         = 0xa\n\tRLIMIT_CORE                       = 0x4\n\tRLIMIT_CPU                        = 0x0\n\tRLIMIT_DATA                       = 0x2\n\tRLIMIT_FSIZE                      = 0x1\n\tRLIMIT_NOFILE                     = 0x8\n\tRLIMIT_STACK                      = 0x3\n\tRLIM_INFINITY                     = 0x7fffffffffffffff\n\tRTAX_AUTHOR                       = 0x6\n\tRTAX_BRD                          = 0x7\n\tRTAX_DST                          = 0x0\n\tRTAX_GATEWAY                      = 0x1\n\tRTAX_GENMASK                      = 0x3\n\tRTAX_IFA                          = 0x5\n\tRTAX_IFP                          = 0x4\n\tRTAX_MAX                          = 0x9\n\tRTAX_NETMASK                      = 0x2\n\tRTAX_TAG                          = 0x8\n\tRTA_AUTHOR                        = 0x40\n\tRTA_BRD                           = 0x80\n\tRTA_DST                           = 0x1\n\tRTA_GATEWAY                       = 0x2\n\tRTA_GENMASK                       = 0x8\n\tRTA_IFA                           = 0x20\n\tRTA_IFP                           = 0x10\n\tRTA_NETMASK                       = 0x4\n\tRTA_TAG                           = 0x100\n\tRTF_ANNOUNCE                      = 0x20000\n\tRTF_BLACKHOLE                     = 0x1000\n\tRTF_CLONED                        = 0x2000\n\tRTF_CLONING                       = 0x100\n\tRTF_DONE                          = 0x40\n\tRTF_DYNAMIC                       = 0x10\n\tRTF_GATEWAY                       = 0x2\n\tRTF_HOST                          = 0x4\n\tRTF_LLINFO                        = 0x400\n\tRTF_MASK                          = 0x80\n\tRTF_MODIFIED                      = 0x20\n\tRTF_PROTO1                        = 0x8000\n\tRTF_PROTO2                        = 0x4000\n\tRTF_REJECT                        = 0x8\n\tRTF_SRC                           = 0x10000\n\tRTF_STATIC                        = 0x800\n\tRTF_UP                            = 0x1\n\tRTF_XRESOLVE                      = 0x200\n\tRTM_ADD                           = 0x1\n\tRTM_CHANGE                        = 0x3\n\tRTM_CHGADDR                       = 0x15\n\tRTM_DELADDR                       = 0xd\n\tRTM_DELETE                        = 0x2\n\tRTM_GET                           = 0x4\n\tRTM_IEEE80211                     = 0x11\n\tRTM_IFANNOUNCE                    = 0x10\n\tRTM_IFINFO                        = 0x14\n\tRTM_LLINFO_UPD                    = 0x13\n\tRTM_LOCK                          = 0x8\n\tRTM_LOSING                        = 0x5\n\tRTM_MISS                          = 0x7\n\tRTM_NEWADDR                       = 0xc\n\tRTM_OIFINFO                       = 0xf\n\tRTM_OLDADD                        = 0x9\n\tRTM_OLDDEL                        = 0xa\n\tRTM_OOIFINFO                      = 0xe\n\tRTM_REDIRECT                      = 0x6\n\tRTM_RESOLVE                       = 0xb\n\tRTM_RTTUNIT                       = 0xf4240\n\tRTM_SETGATE                       = 0x12\n\tRTM_VERSION                       = 0x4\n\tRTV_EXPIRE                        = 0x4\n\tRTV_HOPCOUNT                      = 0x2\n\tRTV_MTU                           = 0x1\n\tRTV_RPIPE                         = 0x8\n\tRTV_RTT                           = 0x40\n\tRTV_RTTVAR                        = 0x80\n\tRTV_SPIPE                         = 0x10\n\tRTV_SSTHRESH                      = 0x20\n\tRUSAGE_CHILDREN                   = -0x1\n\tRUSAGE_SELF                       = 0x0\n\tSCM_CREDS                         = 0x4\n\tSCM_RIGHTS                        = 0x1\n\tSCM_TIMESTAMP                     = 0x8\n\tSHUT_RD                           = 0x0\n\tSHUT_RDWR                         = 0x2\n\tSHUT_WR                           = 0x1\n\tSIOCADDMULTI                      = 0x80906931\n\tSIOCADDRT                         = 0x8030720a\n\tSIOCAIFADDR                       = 0x8040691a\n\tSIOCALIFADDR                      = 0x8118691c\n\tSIOCATMARK                        = 0x40047307\n\tSIOCDELMULTI                      = 0x80906932\n\tSIOCDELRT                         = 0x8030720b\n\tSIOCDIFADDR                       = 0x80906919\n\tSIOCDIFPHYADDR                    = 0x80906949\n\tSIOCDLIFADDR                      = 0x8118691e\n\tSIOCGDRVSPEC                      = 0xc01c697b\n\tSIOCGETPFSYNC                     = 0xc09069f8\n\tSIOCGETSGCNT                      = 0xc0147534\n\tSIOCGETVIFCNT                     = 0xc0147533\n\tSIOCGHIWAT                        = 0x40047301\n\tSIOCGIFADDR                       = 0xc0906921\n\tSIOCGIFADDRPREF                   = 0xc0946920\n\tSIOCGIFALIAS                      = 0xc040691b\n\tSIOCGIFBRDADDR                    = 0xc0906923\n\tSIOCGIFCAP                        = 0xc0206976\n\tSIOCGIFCONF                       = 0xc0086926\n\tSIOCGIFDATA                       = 0xc0946985\n\tSIOCGIFDLT                        = 0xc0906977\n\tSIOCGIFDSTADDR                    = 0xc0906922\n\tSIOCGIFFLAGS                      = 0xc0906911\n\tSIOCGIFGENERIC                    = 0xc090693a\n\tSIOCGIFMEDIA                      = 0xc0286936\n\tSIOCGIFMETRIC                     = 0xc0906917\n\tSIOCGIFMTU                        = 0xc090697e\n\tSIOCGIFNETMASK                    = 0xc0906925\n\tSIOCGIFPDSTADDR                   = 0xc0906948\n\tSIOCGIFPSRCADDR                   = 0xc0906947\n\tSIOCGLIFADDR                      = 0xc118691d\n\tSIOCGLIFPHYADDR                   = 0xc118694b\n\tSIOCGLINKSTR                      = 0xc01c6987\n\tSIOCGLOWAT                        = 0x40047303\n\tSIOCGPGRP                         = 0x40047309\n\tSIOCGVH                           = 0xc0906983\n\tSIOCIFCREATE                      = 0x8090697a\n\tSIOCIFDESTROY                     = 0x80906979\n\tSIOCIFGCLONERS                    = 0xc00c6978\n\tSIOCINITIFADDR                    = 0xc0446984\n\tSIOCSDRVSPEC                      = 0x801c697b\n\tSIOCSETPFSYNC                     = 0x809069f7\n\tSIOCSHIWAT                        = 0x80047300\n\tSIOCSIFADDR                       = 0x8090690c\n\tSIOCSIFADDRPREF                   = 0x8094691f\n\tSIOCSIFBRDADDR                    = 0x80906913\n\tSIOCSIFCAP                        = 0x80206975\n\tSIOCSIFDSTADDR                    = 0x8090690e\n\tSIOCSIFFLAGS                      = 0x80906910\n\tSIOCSIFGENERIC                    = 0x80906939\n\tSIOCSIFMEDIA                      = 0xc0906935\n\tSIOCSIFMETRIC                     = 0x80906918\n\tSIOCSIFMTU                        = 0x8090697f\n\tSIOCSIFNETMASK                    = 0x80906916\n\tSIOCSIFPHYADDR                    = 0x80406946\n\tSIOCSLIFPHYADDR                   = 0x8118694a\n\tSIOCSLINKSTR                      = 0x801c6988\n\tSIOCSLOWAT                        = 0x80047302\n\tSIOCSPGRP                         = 0x80047308\n\tSIOCSVH                           = 0xc0906982\n\tSIOCZIFDATA                       = 0xc0946986\n\tSOCK_CLOEXEC                      = 0x10000000\n\tSOCK_DGRAM                        = 0x2\n\tSOCK_FLAGS_MASK                   = 0xf0000000\n\tSOCK_NONBLOCK                     = 0x20000000\n\tSOCK_NOSIGPIPE                    = 0x40000000\n\tSOCK_RAW                          = 0x3\n\tSOCK_RDM                          = 0x4\n\tSOCK_SEQPACKET                    = 0x5\n\tSOCK_STREAM                       = 0x1\n\tSOL_SOCKET                        = 0xffff\n\tSOMAXCONN                         = 0x80\n\tSO_ACCEPTCONN                     = 0x2\n\tSO_ACCEPTFILTER                   = 0x1000\n\tSO_BROADCAST                      = 0x20\n\tSO_DEBUG                          = 0x1\n\tSO_DONTROUTE                      = 0x10\n\tSO_ERROR                          = 0x1007\n\tSO_KEEPALIVE                      = 0x8\n\tSO_LINGER                         = 0x80\n\tSO_NOHEADER                       = 0x100a\n\tSO_NOSIGPIPE                      = 0x800\n\tSO_OOBINLINE                      = 0x100\n\tSO_OVERFLOWED                     = 0x1009\n\tSO_RCVBUF                         = 0x1002\n\tSO_RCVLOWAT                       = 0x1004\n\tSO_RCVTIMEO                       = 0x100c\n\tSO_REUSEADDR                      = 0x4\n\tSO_REUSEPORT                      = 0x200\n\tSO_SNDBUF                         = 0x1001\n\tSO_SNDLOWAT                       = 0x1003\n\tSO_SNDTIMEO                       = 0x100b\n\tSO_TIMESTAMP                      = 0x2000\n\tSO_TYPE                           = 0x1008\n\tSO_USELOOPBACK                    = 0x40\n\tSYSCTL_VERSION                    = 0x1000000\n\tSYSCTL_VERS_0                     = 0x0\n\tSYSCTL_VERS_1                     = 0x1000000\n\tSYSCTL_VERS_MASK                  = 0xff000000\n\tS_ARCH1                           = 0x10000\n\tS_ARCH2                           = 0x20000\n\tS_BLKSIZE                         = 0x200\n\tS_IEXEC                           = 0x40\n\tS_IFBLK                           = 0x6000\n\tS_IFCHR                           = 0x2000\n\tS_IFDIR                           = 0x4000\n\tS_IFIFO                           = 0x1000\n\tS_IFLNK                           = 0xa000\n\tS_IFMT                            = 0xf000\n\tS_IFREG                           = 0x8000\n\tS_IFSOCK                          = 0xc000\n\tS_IFWHT                           = 0xe000\n\tS_IREAD                           = 0x100\n\tS_IRGRP                           = 0x20\n\tS_IROTH                           = 0x4\n\tS_IRUSR                           = 0x100\n\tS_IRWXG                           = 0x38\n\tS_IRWXO                           = 0x7\n\tS_IRWXU                           = 0x1c0\n\tS_ISGID                           = 0x400\n\tS_ISTXT                           = 0x200\n\tS_ISUID                           = 0x800\n\tS_ISVTX                           = 0x200\n\tS_IWGRP                           = 0x10\n\tS_IWOTH                           = 0x2\n\tS_IWRITE                          = 0x80\n\tS_IWUSR                           = 0x80\n\tS_IXGRP                           = 0x8\n\tS_IXOTH                           = 0x1\n\tS_IXUSR                           = 0x40\n\tTCIFLUSH                          = 0x1\n\tTCIOFLUSH                         = 0x3\n\tTCOFLUSH                          = 0x2\n\tTCP_CONGCTL                       = 0x20\n\tTCP_KEEPCNT                       = 0x6\n\tTCP_KEEPIDLE                      = 0x3\n\tTCP_KEEPINIT                      = 0x7\n\tTCP_KEEPINTVL                     = 0x5\n\tTCP_MAXBURST                      = 0x4\n\tTCP_MAXSEG                        = 0x2\n\tTCP_MAXWIN                        = 0xffff\n\tTCP_MAX_WINSHIFT                  = 0xe\n\tTCP_MD5SIG                        = 0x10\n\tTCP_MINMSS                        = 0xd8\n\tTCP_MSS                           = 0x218\n\tTCP_NODELAY                       = 0x1\n\tTCSAFLUSH                         = 0x2\n\tTIOCCBRK                          = 0x2000747a\n\tTIOCCDTR                          = 0x20007478\n\tTIOCCONS                          = 0x80047462\n\tTIOCDCDTIMESTAMP                  = 0x400c7458\n\tTIOCDRAIN                         = 0x2000745e\n\tTIOCEXCL                          = 0x2000740d\n\tTIOCEXT                           = 0x80047460\n\tTIOCFLAG_CDTRCTS                  = 0x10\n\tTIOCFLAG_CLOCAL                   = 0x2\n\tTIOCFLAG_CRTSCTS                  = 0x4\n\tTIOCFLAG_MDMBUF                   = 0x8\n\tTIOCFLAG_SOFTCAR                  = 0x1\n\tTIOCFLUSH                         = 0x80047410\n\tTIOCGETA                          = 0x402c7413\n\tTIOCGETD                          = 0x4004741a\n\tTIOCGFLAGS                        = 0x4004745d\n\tTIOCGLINED                        = 0x40207442\n\tTIOCGPGRP                         = 0x40047477\n\tTIOCGQSIZE                        = 0x40047481\n\tTIOCGRANTPT                       = 0x20007447\n\tTIOCGSID                          = 0x40047463\n\tTIOCGSIZE                         = 0x40087468\n\tTIOCGWINSZ                        = 0x40087468\n\tTIOCMBIC                          = 0x8004746b\n\tTIOCMBIS                          = 0x8004746c\n\tTIOCMGET                          = 0x4004746a\n\tTIOCMSET                          = 0x8004746d\n\tTIOCM_CAR                         = 0x40\n\tTIOCM_CD                          = 0x40\n\tTIOCM_CTS                         = 0x20\n\tTIOCM_DSR                         = 0x100\n\tTIOCM_DTR                         = 0x2\n\tTIOCM_LE                          = 0x1\n\tTIOCM_RI                          = 0x80\n\tTIOCM_RNG                         = 0x80\n\tTIOCM_RTS                         = 0x4\n\tTIOCM_SR                          = 0x10\n\tTIOCM_ST                          = 0x8\n\tTIOCNOTTY                         = 0x20007471\n\tTIOCNXCL                          = 0x2000740e\n\tTIOCOUTQ                          = 0x40047473\n\tTIOCPKT                           = 0x80047470\n\tTIOCPKT_DATA                      = 0x0\n\tTIOCPKT_DOSTOP                    = 0x20\n\tTIOCPKT_FLUSHREAD                 = 0x1\n\tTIOCPKT_FLUSHWRITE                = 0x2\n\tTIOCPKT_IOCTL                     = 0x40\n\tTIOCPKT_NOSTOP                    = 0x10\n\tTIOCPKT_START                     = 0x8\n\tTIOCPKT_STOP                      = 0x4\n\tTIOCPTMGET                        = 0x48087446\n\tTIOCPTSNAME                       = 0x48087448\n\tTIOCRCVFRAME                      = 0x80047445\n\tTIOCREMOTE                        = 0x80047469\n\tTIOCSBRK                          = 0x2000747b\n\tTIOCSCTTY                         = 0x20007461\n\tTIOCSDTR                          = 0x20007479\n\tTIOCSETA                          = 0x802c7414\n\tTIOCSETAF                         = 0x802c7416\n\tTIOCSETAW                         = 0x802c7415\n\tTIOCSETD                          = 0x8004741b\n\tTIOCSFLAGS                        = 0x8004745c\n\tTIOCSIG                           = 0x2000745f\n\tTIOCSLINED                        = 0x80207443\n\tTIOCSPGRP                         = 0x80047476\n\tTIOCSQSIZE                        = 0x80047480\n\tTIOCSSIZE                         = 0x80087467\n\tTIOCSTART                         = 0x2000746e\n\tTIOCSTAT                          = 0x80047465\n\tTIOCSTI                           = 0x80017472\n\tTIOCSTOP                          = 0x2000746f\n\tTIOCSWINSZ                        = 0x80087467\n\tTIOCUCNTL                         = 0x80047466\n\tTIOCXMTFRAME                      = 0x80047444\n\tTOSTOP                            = 0x400000\n\tVDISCARD                          = 0xf\n\tVDSUSP                            = 0xb\n\tVEOF                              = 0x0\n\tVEOL                              = 0x1\n\tVEOL2                             = 0x2\n\tVERASE                            = 0x3\n\tVINTR                             = 0x8\n\tVKILL                             = 0x5\n\tVLNEXT                            = 0xe\n\tVMIN                              = 0x10\n\tVQUIT                             = 0x9\n\tVREPRINT                          = 0x6\n\tVSTART                            = 0xc\n\tVSTATUS                           = 0x12\n\tVSTOP                             = 0xd\n\tVSUSP                             = 0xa\n\tVTIME                             = 0x11\n\tVWERASE                           = 0x4\n\tWALL                              = 0x8\n\tWALLSIG                           = 0x8\n\tWALTSIG                           = 0x4\n\tWCLONE                            = 0x4\n\tWCOREFLAG                         = 0x80\n\tWNOHANG                           = 0x1\n\tWNOWAIT                           = 0x10000\n\tWNOZOMBIE                         = 0x20000\n\tWOPTSCHECKED                      = 0x40000\n\tWSTOPPED                          = 0x7f\n\tWUNTRACED                         = 0x2\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x30)\n\tEADDRNOTAVAIL   = syscall.Errno(0x31)\n\tEAFNOSUPPORT    = syscall.Errno(0x2f)\n\tEAGAIN          = syscall.Errno(0x23)\n\tEALREADY        = syscall.Errno(0x25)\n\tEAUTH           = syscall.Errno(0x50)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADMSG         = syscall.Errno(0x58)\n\tEBADRPC         = syscall.Errno(0x48)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x57)\n\tECHILD          = syscall.Errno(0xa)\n\tECONNABORTED    = syscall.Errno(0x35)\n\tECONNREFUSED    = syscall.Errno(0x3d)\n\tECONNRESET      = syscall.Errno(0x36)\n\tEDEADLK         = syscall.Errno(0xb)\n\tEDESTADDRREQ    = syscall.Errno(0x27)\n\tEDOM            = syscall.Errno(0x21)\n\tEDQUOT          = syscall.Errno(0x45)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEFTYPE          = syscall.Errno(0x4f)\n\tEHOSTDOWN       = syscall.Errno(0x40)\n\tEHOSTUNREACH    = syscall.Errno(0x41)\n\tEIDRM           = syscall.Errno(0x52)\n\tEILSEQ          = syscall.Errno(0x55)\n\tEINPROGRESS     = syscall.Errno(0x24)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x38)\n\tEISDIR          = syscall.Errno(0x15)\n\tELAST           = syscall.Errno(0x60)\n\tELOOP           = syscall.Errno(0x3e)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x28)\n\tEMULTIHOP       = syscall.Errno(0x5e)\n\tENAMETOOLONG    = syscall.Errno(0x3f)\n\tENEEDAUTH       = syscall.Errno(0x51)\n\tENETDOWN        = syscall.Errno(0x32)\n\tENETRESET       = syscall.Errno(0x34)\n\tENETUNREACH     = syscall.Errno(0x33)\n\tENFILE          = syscall.Errno(0x17)\n\tENOATTR         = syscall.Errno(0x5d)\n\tENOBUFS         = syscall.Errno(0x37)\n\tENODATA         = syscall.Errno(0x59)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOLCK          = syscall.Errno(0x4d)\n\tENOLINK         = syscall.Errno(0x5f)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x53)\n\tENOPROTOOPT     = syscall.Errno(0x2a)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x5a)\n\tENOSTR          = syscall.Errno(0x5b)\n\tENOSYS          = syscall.Errno(0x4e)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x39)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x42)\n\tENOTSOCK        = syscall.Errno(0x26)\n\tENOTSUP         = syscall.Errno(0x56)\n\tENOTTY          = syscall.Errno(0x19)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x2d)\n\tEOVERFLOW       = syscall.Errno(0x54)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x2e)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROCLIM        = syscall.Errno(0x43)\n\tEPROCUNAVAIL    = syscall.Errno(0x4c)\n\tEPROGMISMATCH   = syscall.Errno(0x4b)\n\tEPROGUNAVAIL    = syscall.Errno(0x4a)\n\tEPROTO          = syscall.Errno(0x60)\n\tEPROTONOSUPPORT = syscall.Errno(0x2b)\n\tEPROTOTYPE      = syscall.Errno(0x29)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMOTE         = syscall.Errno(0x47)\n\tEROFS           = syscall.Errno(0x1e)\n\tERPCMISMATCH    = syscall.Errno(0x49)\n\tESHUTDOWN       = syscall.Errno(0x3a)\n\tESOCKTNOSUPPORT = syscall.Errno(0x2c)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESTALE          = syscall.Errno(0x46)\n\tETIME           = syscall.Errno(0x5c)\n\tETIMEDOUT       = syscall.Errno(0x3c)\n\tETOOMANYREFS    = syscall.Errno(0x3b)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUSERS          = syscall.Errno(0x44)\n\tEWOULDBLOCK     = syscall.Errno(0x23)\n\tEXDEV           = syscall.Errno(0x12)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x14)\n\tSIGCONT   = syscall.Signal(0x13)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINFO   = syscall.Signal(0x1d)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x17)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGPWR    = syscall.Signal(0x20)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x11)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x12)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x10)\n\tSIGUSR1   = syscall.Signal(0x1e)\n\tSIGUSR2   = syscall.Signal(0x1f)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errorList = [...]struct {\n\tnum  syscall.Errno\n\tname string\n\tdesc string\n}{\n\t{1, \"EPERM\", \"operation not permitted\"},\n\t{2, \"ENOENT\", \"no such file or directory\"},\n\t{3, \"ESRCH\", \"no such process\"},\n\t{4, \"EINTR\", \"interrupted system call\"},\n\t{5, \"EIO\", \"input/output error\"},\n\t{6, \"ENXIO\", \"device not configured\"},\n\t{7, \"E2BIG\", \"argument list too long\"},\n\t{8, \"ENOEXEC\", \"exec format error\"},\n\t{9, \"EBADF\", \"bad file descriptor\"},\n\t{10, \"ECHILD\", \"no child processes\"},\n\t{11, \"EDEADLK\", \"resource deadlock avoided\"},\n\t{12, \"ENOMEM\", \"cannot allocate memory\"},\n\t{13, \"EACCES\", \"permission denied\"},\n\t{14, \"EFAULT\", \"bad address\"},\n\t{15, \"ENOTBLK\", \"block device required\"},\n\t{16, \"EBUSY\", \"device busy\"},\n\t{17, \"EEXIST\", \"file exists\"},\n\t{18, \"EXDEV\", \"cross-device link\"},\n\t{19, \"ENODEV\", \"operation not supported by device\"},\n\t{20, \"ENOTDIR\", \"not a directory\"},\n\t{21, \"EISDIR\", \"is a directory\"},\n\t{22, \"EINVAL\", \"invalid argument\"},\n\t{23, \"ENFILE\", \"too many open files in system\"},\n\t{24, \"EMFILE\", \"too many open files\"},\n\t{25, \"ENOTTY\", \"inappropriate ioctl for device\"},\n\t{26, \"ETXTBSY\", \"text file busy\"},\n\t{27, \"EFBIG\", \"file too large\"},\n\t{28, \"ENOSPC\", \"no space left on device\"},\n\t{29, \"ESPIPE\", \"illegal seek\"},\n\t{30, \"EROFS\", \"read-only file system\"},\n\t{31, \"EMLINK\", \"too many links\"},\n\t{32, \"EPIPE\", \"broken pipe\"},\n\t{33, \"EDOM\", \"numerical argument out of domain\"},\n\t{34, \"ERANGE\", \"result too large or too small\"},\n\t{35, \"EAGAIN\", \"resource temporarily unavailable\"},\n\t{36, \"EINPROGRESS\", \"operation now in progress\"},\n\t{37, \"EALREADY\", \"operation already in progress\"},\n\t{38, \"ENOTSOCK\", \"socket operation on non-socket\"},\n\t{39, \"EDESTADDRREQ\", \"destination address required\"},\n\t{40, \"EMSGSIZE\", \"message too long\"},\n\t{41, \"EPROTOTYPE\", \"protocol wrong type for socket\"},\n\t{42, \"ENOPROTOOPT\", \"protocol option not available\"},\n\t{43, \"EPROTONOSUPPORT\", \"protocol not supported\"},\n\t{44, \"ESOCKTNOSUPPORT\", \"socket type not supported\"},\n\t{45, \"EOPNOTSUPP\", \"operation not supported\"},\n\t{46, \"EPFNOSUPPORT\", \"protocol family not supported\"},\n\t{47, \"EAFNOSUPPORT\", \"address family not supported by protocol family\"},\n\t{48, \"EADDRINUSE\", \"address already in use\"},\n\t{49, \"EADDRNOTAVAIL\", \"can't assign requested address\"},\n\t{50, \"ENETDOWN\", \"network is down\"},\n\t{51, \"ENETUNREACH\", \"network is unreachable\"},\n\t{52, \"ENETRESET\", \"network dropped connection on reset\"},\n\t{53, \"ECONNABORTED\", \"software caused connection abort\"},\n\t{54, \"ECONNRESET\", \"connection reset by peer\"},\n\t{55, \"ENOBUFS\", \"no buffer space available\"},\n\t{56, \"EISCONN\", \"socket is already connected\"},\n\t{57, \"ENOTCONN\", \"socket is not connected\"},\n\t{58, \"ESHUTDOWN\", \"can't send after socket shutdown\"},\n\t{59, \"ETOOMANYREFS\", \"too many references: can't splice\"},\n\t{60, \"ETIMEDOUT\", \"connection timed out\"},\n\t{61, \"ECONNREFUSED\", \"connection refused\"},\n\t{62, \"ELOOP\", \"too many levels of symbolic links\"},\n\t{63, \"ENAMETOOLONG\", \"file name too long\"},\n\t{64, \"EHOSTDOWN\", \"host is down\"},\n\t{65, \"EHOSTUNREACH\", \"no route to host\"},\n\t{66, \"ENOTEMPTY\", \"directory not empty\"},\n\t{67, \"EPROCLIM\", \"too many processes\"},\n\t{68, \"EUSERS\", \"too many users\"},\n\t{69, \"EDQUOT\", \"disc quota exceeded\"},\n\t{70, \"ESTALE\", \"stale NFS file handle\"},\n\t{71, \"EREMOTE\", \"too many levels of remote in path\"},\n\t{72, \"EBADRPC\", \"RPC struct is bad\"},\n\t{73, \"ERPCMISMATCH\", \"RPC version wrong\"},\n\t{74, \"EPROGUNAVAIL\", \"RPC prog. not avail\"},\n\t{75, \"EPROGMISMATCH\", \"program version wrong\"},\n\t{76, \"EPROCUNAVAIL\", \"bad procedure for program\"},\n\t{77, \"ENOLCK\", \"no locks available\"},\n\t{78, \"ENOSYS\", \"function not implemented\"},\n\t{79, \"EFTYPE\", \"inappropriate file type or format\"},\n\t{80, \"EAUTH\", \"authentication error\"},\n\t{81, \"ENEEDAUTH\", \"need authenticator\"},\n\t{82, \"EIDRM\", \"identifier removed\"},\n\t{83, \"ENOMSG\", \"no message of desired type\"},\n\t{84, \"EOVERFLOW\", \"value too large to be stored in data type\"},\n\t{85, \"EILSEQ\", \"illegal byte sequence\"},\n\t{86, \"ENOTSUP\", \"not supported\"},\n\t{87, \"ECANCELED\", \"operation Canceled\"},\n\t{88, \"EBADMSG\", \"bad or Corrupt message\"},\n\t{89, \"ENODATA\", \"no message available\"},\n\t{90, \"ENOSR\", \"no STREAM resources\"},\n\t{91, \"ENOSTR\", \"not a STREAM\"},\n\t{92, \"ETIME\", \"STREAM ioctl timeout\"},\n\t{93, \"ENOATTR\", \"attribute not found\"},\n\t{94, \"EMULTIHOP\", \"multihop attempted\"},\n\t{95, \"ENOLINK\", \"link has been severed\"},\n\t{96, \"ELAST\", \"protocol error\"},\n}\n\n// Signal table\nvar signalList = [...]struct {\n\tnum  syscall.Signal\n\tname string\n\tdesc string\n}{\n\t{1, \"SIGHUP\", \"hangup\"},\n\t{2, \"SIGINT\", \"interrupt\"},\n\t{3, \"SIGQUIT\", \"quit\"},\n\t{4, \"SIGILL\", \"illegal instruction\"},\n\t{5, \"SIGTRAP\", \"trace/BPT trap\"},\n\t{6, \"SIGIOT\", \"abort trap\"},\n\t{7, \"SIGEMT\", \"EMT trap\"},\n\t{8, \"SIGFPE\", \"floating point exception\"},\n\t{9, \"SIGKILL\", \"killed\"},\n\t{10, \"SIGBUS\", \"bus error\"},\n\t{11, \"SIGSEGV\", \"segmentation fault\"},\n\t{12, \"SIGSYS\", \"bad system call\"},\n\t{13, \"SIGPIPE\", \"broken pipe\"},\n\t{14, \"SIGALRM\", \"alarm clock\"},\n\t{15, \"SIGTERM\", \"terminated\"},\n\t{16, \"SIGURG\", \"urgent I/O condition\"},\n\t{17, \"SIGSTOP\", \"stopped (signal)\"},\n\t{18, \"SIGTSTP\", \"stopped\"},\n\t{19, \"SIGCONT\", \"continued\"},\n\t{20, \"SIGCHLD\", \"child exited\"},\n\t{21, \"SIGTTIN\", \"stopped (tty input)\"},\n\t{22, \"SIGTTOU\", \"stopped (tty output)\"},\n\t{23, \"SIGIO\", \"I/O possible\"},\n\t{24, \"SIGXCPU\", \"cputime limit exceeded\"},\n\t{25, \"SIGXFSZ\", \"filesize limit exceeded\"},\n\t{26, \"SIGVTALRM\", \"virtual timer expired\"},\n\t{27, \"SIGPROF\", \"profiling timer expired\"},\n\t{28, \"SIGWINCH\", \"window size changes\"},\n\t{29, \"SIGINFO\", \"information request\"},\n\t{30, \"SIGUSR1\", \"user defined signal 1\"},\n\t{31, \"SIGUSR2\", \"user defined signal 2\"},\n\t{32, \"SIGPWR\", \"power fail/restart\"},\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go",
    "content": "// mkerrors.sh -m32\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build 386,openbsd\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -m32 _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_APPLETALK                      = 0x10\n\tAF_BLUETOOTH                      = 0x20\n\tAF_CCITT                          = 0xa\n\tAF_CHAOS                          = 0x5\n\tAF_CNT                            = 0x15\n\tAF_COIP                           = 0x14\n\tAF_DATAKIT                        = 0x9\n\tAF_DECnet                         = 0xc\n\tAF_DLI                            = 0xd\n\tAF_E164                           = 0x1a\n\tAF_ECMA                           = 0x8\n\tAF_ENCAP                          = 0x1c\n\tAF_HYLINK                         = 0xf\n\tAF_IMPLINK                        = 0x3\n\tAF_INET                           = 0x2\n\tAF_INET6                          = 0x18\n\tAF_IPX                            = 0x17\n\tAF_ISDN                           = 0x1a\n\tAF_ISO                            = 0x7\n\tAF_KEY                            = 0x1e\n\tAF_LAT                            = 0xe\n\tAF_LINK                           = 0x12\n\tAF_LOCAL                          = 0x1\n\tAF_MAX                            = 0x24\n\tAF_MPLS                           = 0x21\n\tAF_NATM                           = 0x1b\n\tAF_NS                             = 0x6\n\tAF_OSI                            = 0x7\n\tAF_PUP                            = 0x4\n\tAF_ROUTE                          = 0x11\n\tAF_SIP                            = 0x1d\n\tAF_SNA                            = 0xb\n\tAF_UNIX                           = 0x1\n\tAF_UNSPEC                         = 0x0\n\tARPHRD_ETHER                      = 0x1\n\tARPHRD_FRELAY                     = 0xf\n\tARPHRD_IEEE1394                   = 0x18\n\tARPHRD_IEEE802                    = 0x6\n\tB0                                = 0x0\n\tB110                              = 0x6e\n\tB115200                           = 0x1c200\n\tB1200                             = 0x4b0\n\tB134                              = 0x86\n\tB14400                            = 0x3840\n\tB150                              = 0x96\n\tB1800                             = 0x708\n\tB19200                            = 0x4b00\n\tB200                              = 0xc8\n\tB230400                           = 0x38400\n\tB2400                             = 0x960\n\tB28800                            = 0x7080\n\tB300                              = 0x12c\n\tB38400                            = 0x9600\n\tB4800                             = 0x12c0\n\tB50                               = 0x32\n\tB57600                            = 0xe100\n\tB600                              = 0x258\n\tB7200                             = 0x1c20\n\tB75                               = 0x4b\n\tB76800                            = 0x12c00\n\tB9600                             = 0x2580\n\tBIOCFLUSH                         = 0x20004268\n\tBIOCGBLEN                         = 0x40044266\n\tBIOCGDIRFILT                      = 0x4004427c\n\tBIOCGDLT                          = 0x4004426a\n\tBIOCGDLTLIST                      = 0xc008427b\n\tBIOCGETIF                         = 0x4020426b\n\tBIOCGFILDROP                      = 0x40044278\n\tBIOCGHDRCMPLT                     = 0x40044274\n\tBIOCGRSIG                         = 0x40044273\n\tBIOCGRTIMEOUT                     = 0x400c426e\n\tBIOCGSTATS                        = 0x4008426f\n\tBIOCIMMEDIATE                     = 0x80044270\n\tBIOCLOCK                          = 0x20004276\n\tBIOCPROMISC                       = 0x20004269\n\tBIOCSBLEN                         = 0xc0044266\n\tBIOCSDIRFILT                      = 0x8004427d\n\tBIOCSDLT                          = 0x8004427a\n\tBIOCSETF                          = 0x80084267\n\tBIOCSETIF                         = 0x8020426c\n\tBIOCSETWF                         = 0x80084277\n\tBIOCSFILDROP                      = 0x80044279\n\tBIOCSHDRCMPLT                     = 0x80044275\n\tBIOCSRSIG                         = 0x80044272\n\tBIOCSRTIMEOUT                     = 0x800c426d\n\tBIOCVERSION                       = 0x40044271\n\tBPF_A                             = 0x10\n\tBPF_ABS                           = 0x20\n\tBPF_ADD                           = 0x0\n\tBPF_ALIGNMENT                     = 0x4\n\tBPF_ALU                           = 0x4\n\tBPF_AND                           = 0x50\n\tBPF_B                             = 0x10\n\tBPF_DIRECTION_IN                  = 0x1\n\tBPF_DIRECTION_OUT                 = 0x2\n\tBPF_DIV                           = 0x30\n\tBPF_H                             = 0x8\n\tBPF_IMM                           = 0x0\n\tBPF_IND                           = 0x40\n\tBPF_JA                            = 0x0\n\tBPF_JEQ                           = 0x10\n\tBPF_JGE                           = 0x30\n\tBPF_JGT                           = 0x20\n\tBPF_JMP                           = 0x5\n\tBPF_JSET                          = 0x40\n\tBPF_K                             = 0x0\n\tBPF_LD                            = 0x0\n\tBPF_LDX                           = 0x1\n\tBPF_LEN                           = 0x80\n\tBPF_LSH                           = 0x60\n\tBPF_MAJOR_VERSION                 = 0x1\n\tBPF_MAXBUFSIZE                    = 0x200000\n\tBPF_MAXINSNS                      = 0x200\n\tBPF_MEM                           = 0x60\n\tBPF_MEMWORDS                      = 0x10\n\tBPF_MINBUFSIZE                    = 0x20\n\tBPF_MINOR_VERSION                 = 0x1\n\tBPF_MISC                          = 0x7\n\tBPF_MSH                           = 0xa0\n\tBPF_MUL                           = 0x20\n\tBPF_NEG                           = 0x80\n\tBPF_OR                            = 0x40\n\tBPF_RELEASE                       = 0x30bb6\n\tBPF_RET                           = 0x6\n\tBPF_RSH                           = 0x70\n\tBPF_ST                            = 0x2\n\tBPF_STX                           = 0x3\n\tBPF_SUB                           = 0x10\n\tBPF_TAX                           = 0x0\n\tBPF_TXA                           = 0x80\n\tBPF_W                             = 0x0\n\tBPF_X                             = 0x8\n\tBRKINT                            = 0x2\n\tCFLUSH                            = 0xf\n\tCLOCAL                            = 0x8000\n\tCREAD                             = 0x800\n\tCRTSCTS                           = 0x10000\n\tCS5                               = 0x0\n\tCS6                               = 0x100\n\tCS7                               = 0x200\n\tCS8                               = 0x300\n\tCSIZE                             = 0x300\n\tCSTART                            = 0x11\n\tCSTATUS                           = 0xff\n\tCSTOP                             = 0x13\n\tCSTOPB                            = 0x400\n\tCSUSP                             = 0x1a\n\tCTL_HW                            = 0x6\n\tCTL_KERN                          = 0x1\n\tCTL_MAXNAME                       = 0xc\n\tCTL_NET                           = 0x4\n\tDIOCOSFPFLUSH                     = 0x2000444e\n\tDLT_ARCNET                        = 0x7\n\tDLT_ATM_RFC1483                   = 0xb\n\tDLT_AX25                          = 0x3\n\tDLT_CHAOS                         = 0x5\n\tDLT_C_HDLC                        = 0x68\n\tDLT_EN10MB                        = 0x1\n\tDLT_EN3MB                         = 0x2\n\tDLT_ENC                           = 0xd\n\tDLT_FDDI                          = 0xa\n\tDLT_IEEE802                       = 0x6\n\tDLT_IEEE802_11                    = 0x69\n\tDLT_IEEE802_11_RADIO              = 0x7f\n\tDLT_LOOP                          = 0xc\n\tDLT_MPLS                          = 0xdb\n\tDLT_NULL                          = 0x0\n\tDLT_PFLOG                         = 0x75\n\tDLT_PFSYNC                        = 0x12\n\tDLT_PPP                           = 0x9\n\tDLT_PPP_BSDOS                     = 0x10\n\tDLT_PPP_ETHER                     = 0x33\n\tDLT_PPP_SERIAL                    = 0x32\n\tDLT_PRONET                        = 0x4\n\tDLT_RAW                           = 0xe\n\tDLT_SLIP                          = 0x8\n\tDLT_SLIP_BSDOS                    = 0xf\n\tDT_BLK                            = 0x6\n\tDT_CHR                            = 0x2\n\tDT_DIR                            = 0x4\n\tDT_FIFO                           = 0x1\n\tDT_LNK                            = 0xa\n\tDT_REG                            = 0x8\n\tDT_SOCK                           = 0xc\n\tDT_UNKNOWN                        = 0x0\n\tECHO                              = 0x8\n\tECHOCTL                           = 0x40\n\tECHOE                             = 0x2\n\tECHOK                             = 0x4\n\tECHOKE                            = 0x1\n\tECHONL                            = 0x10\n\tECHOPRT                           = 0x20\n\tEMT_TAGOVF                        = 0x1\n\tEMUL_ENABLED                      = 0x1\n\tEMUL_NATIVE                       = 0x2\n\tENDRUNDISC                        = 0x9\n\tETHERMIN                          = 0x2e\n\tETHERMTU                          = 0x5dc\n\tETHERTYPE_8023                    = 0x4\n\tETHERTYPE_AARP                    = 0x80f3\n\tETHERTYPE_ACCTON                  = 0x8390\n\tETHERTYPE_AEONIC                  = 0x8036\n\tETHERTYPE_ALPHA                   = 0x814a\n\tETHERTYPE_AMBER                   = 0x6008\n\tETHERTYPE_AMOEBA                  = 0x8145\n\tETHERTYPE_AOE                     = 0x88a2\n\tETHERTYPE_APOLLO                  = 0x80f7\n\tETHERTYPE_APOLLODOMAIN            = 0x8019\n\tETHERTYPE_APPLETALK               = 0x809b\n\tETHERTYPE_APPLITEK                = 0x80c7\n\tETHERTYPE_ARGONAUT                = 0x803a\n\tETHERTYPE_ARP                     = 0x806\n\tETHERTYPE_AT                      = 0x809b\n\tETHERTYPE_ATALK                   = 0x809b\n\tETHERTYPE_ATOMIC                  = 0x86df\n\tETHERTYPE_ATT                     = 0x8069\n\tETHERTYPE_ATTSTANFORD             = 0x8008\n\tETHERTYPE_AUTOPHON                = 0x806a\n\tETHERTYPE_AXIS                    = 0x8856\n\tETHERTYPE_BCLOOP                  = 0x9003\n\tETHERTYPE_BOFL                    = 0x8102\n\tETHERTYPE_CABLETRON               = 0x7034\n\tETHERTYPE_CHAOS                   = 0x804\n\tETHERTYPE_COMDESIGN               = 0x806c\n\tETHERTYPE_COMPUGRAPHIC            = 0x806d\n\tETHERTYPE_COUNTERPOINT            = 0x8062\n\tETHERTYPE_CRONUS                  = 0x8004\n\tETHERTYPE_CRONUSVLN               = 0x8003\n\tETHERTYPE_DCA                     = 0x1234\n\tETHERTYPE_DDE                     = 0x807b\n\tETHERTYPE_DEBNI                   = 0xaaaa\n\tETHERTYPE_DECAM                   = 0x8048\n\tETHERTYPE_DECCUST                 = 0x6006\n\tETHERTYPE_DECDIAG                 = 0x6005\n\tETHERTYPE_DECDNS                  = 0x803c\n\tETHERTYPE_DECDTS                  = 0x803e\n\tETHERTYPE_DECEXPER                = 0x6000\n\tETHERTYPE_DECLAST                 = 0x8041\n\tETHERTYPE_DECLTM                  = 0x803f\n\tETHERTYPE_DECMUMPS                = 0x6009\n\tETHERTYPE_DECNETBIOS              = 0x8040\n\tETHERTYPE_DELTACON                = 0x86de\n\tETHERTYPE_DIDDLE                  = 0x4321\n\tETHERTYPE_DLOG1                   = 0x660\n\tETHERTYPE_DLOG2                   = 0x661\n\tETHERTYPE_DN                      = 0x6003\n\tETHERTYPE_DOGFIGHT                = 0x1989\n\tETHERTYPE_DSMD                    = 0x8039\n\tETHERTYPE_ECMA                    = 0x803\n\tETHERTYPE_ENCRYPT                 = 0x803d\n\tETHERTYPE_ES                      = 0x805d\n\tETHERTYPE_EXCELAN                 = 0x8010\n\tETHERTYPE_EXPERDATA               = 0x8049\n\tETHERTYPE_FLIP                    = 0x8146\n\tETHERTYPE_FLOWCONTROL             = 0x8808\n\tETHERTYPE_FRARP                   = 0x808\n\tETHERTYPE_GENDYN                  = 0x8068\n\tETHERTYPE_HAYES                   = 0x8130\n\tETHERTYPE_HIPPI_FP                = 0x8180\n\tETHERTYPE_HITACHI                 = 0x8820\n\tETHERTYPE_HP                      = 0x8005\n\tETHERTYPE_IEEEPUP                 = 0xa00\n\tETHERTYPE_IEEEPUPAT               = 0xa01\n\tETHERTYPE_IMLBL                   = 0x4c42\n\tETHERTYPE_IMLBLDIAG               = 0x424c\n\tETHERTYPE_IP                      = 0x800\n\tETHERTYPE_IPAS                    = 0x876c\n\tETHERTYPE_IPV6                    = 0x86dd\n\tETHERTYPE_IPX                     = 0x8137\n\tETHERTYPE_IPXNEW                  = 0x8037\n\tETHERTYPE_KALPANA                 = 0x8582\n\tETHERTYPE_LANBRIDGE               = 0x8038\n\tETHERTYPE_LANPROBE                = 0x8888\n\tETHERTYPE_LAT                     = 0x6004\n\tETHERTYPE_LBACK                   = 0x9000\n\tETHERTYPE_LITTLE                  = 0x8060\n\tETHERTYPE_LLDP                    = 0x88cc\n\tETHERTYPE_LOGICRAFT               = 0x8148\n\tETHERTYPE_LOOPBACK                = 0x9000\n\tETHERTYPE_MATRA                   = 0x807a\n\tETHERTYPE_MAX                     = 0xffff\n\tETHERTYPE_MERIT                   = 0x807c\n\tETHERTYPE_MICP                    = 0x873a\n\tETHERTYPE_MOPDL                   = 0x6001\n\tETHERTYPE_MOPRC                   = 0x6002\n\tETHERTYPE_MOTOROLA                = 0x818d\n\tETHERTYPE_MPLS                    = 0x8847\n\tETHERTYPE_MPLS_MCAST              = 0x8848\n\tETHERTYPE_MUMPS                   = 0x813f\n\tETHERTYPE_NBPCC                   = 0x3c04\n\tETHERTYPE_NBPCLAIM                = 0x3c09\n\tETHERTYPE_NBPCLREQ                = 0x3c05\n\tETHERTYPE_NBPCLRSP                = 0x3c06\n\tETHERTYPE_NBPCREQ                 = 0x3c02\n\tETHERTYPE_NBPCRSP                 = 0x3c03\n\tETHERTYPE_NBPDG                   = 0x3c07\n\tETHERTYPE_NBPDGB                  = 0x3c08\n\tETHERTYPE_NBPDLTE                 = 0x3c0a\n\tETHERTYPE_NBPRAR                  = 0x3c0c\n\tETHERTYPE_NBPRAS                  = 0x3c0b\n\tETHERTYPE_NBPRST                  = 0x3c0d\n\tETHERTYPE_NBPSCD                  = 0x3c01\n\tETHERTYPE_NBPVCD                  = 0x3c00\n\tETHERTYPE_NBS                     = 0x802\n\tETHERTYPE_NCD                     = 0x8149\n\tETHERTYPE_NESTAR                  = 0x8006\n\tETHERTYPE_NETBEUI                 = 0x8191\n\tETHERTYPE_NOVELL                  = 0x8138\n\tETHERTYPE_NS                      = 0x600\n\tETHERTYPE_NSAT                    = 0x601\n\tETHERTYPE_NSCOMPAT                = 0x807\n\tETHERTYPE_NTRAILER                = 0x10\n\tETHERTYPE_OS9                     = 0x7007\n\tETHERTYPE_OS9NET                  = 0x7009\n\tETHERTYPE_PACER                   = 0x80c6\n\tETHERTYPE_PAE                     = 0x888e\n\tETHERTYPE_PCS                     = 0x4242\n\tETHERTYPE_PLANNING                = 0x8044\n\tETHERTYPE_PPP                     = 0x880b\n\tETHERTYPE_PPPOE                   = 0x8864\n\tETHERTYPE_PPPOEDISC               = 0x8863\n\tETHERTYPE_PRIMENTS                = 0x7031\n\tETHERTYPE_PUP                     = 0x200\n\tETHERTYPE_PUPAT                   = 0x200\n\tETHERTYPE_QINQ                    = 0x88a8\n\tETHERTYPE_RACAL                   = 0x7030\n\tETHERTYPE_RATIONAL                = 0x8150\n\tETHERTYPE_RAWFR                   = 0x6559\n\tETHERTYPE_RCL                     = 0x1995\n\tETHERTYPE_RDP                     = 0x8739\n\tETHERTYPE_RETIX                   = 0x80f2\n\tETHERTYPE_REVARP                  = 0x8035\n\tETHERTYPE_SCA                     = 0x6007\n\tETHERTYPE_SECTRA                  = 0x86db\n\tETHERTYPE_SECUREDATA              = 0x876d\n\tETHERTYPE_SGITW                   = 0x817e\n\tETHERTYPE_SG_BOUNCE               = 0x8016\n\tETHERTYPE_SG_DIAG                 = 0x8013\n\tETHERTYPE_SG_NETGAMES             = 0x8014\n\tETHERTYPE_SG_RESV                 = 0x8015\n\tETHERTYPE_SIMNET                  = 0x5208\n\tETHERTYPE_SLOW                    = 0x8809\n\tETHERTYPE_SNA                     = 0x80d5\n\tETHERTYPE_SNMP                    = 0x814c\n\tETHERTYPE_SONIX                   = 0xfaf5\n\tETHERTYPE_SPIDER                  = 0x809f\n\tETHERTYPE_SPRITE                  = 0x500\n\tETHERTYPE_STP                     = 0x8181\n\tETHERTYPE_TALARIS                 = 0x812b\n\tETHERTYPE_TALARISMC               = 0x852b\n\tETHERTYPE_TCPCOMP                 = 0x876b\n\tETHERTYPE_TCPSM                   = 0x9002\n\tETHERTYPE_TEC                     = 0x814f\n\tETHERTYPE_TIGAN                   = 0x802f\n\tETHERTYPE_TRAIL                   = 0x1000\n\tETHERTYPE_TRANSETHER              = 0x6558\n\tETHERTYPE_TYMSHARE                = 0x802e\n\tETHERTYPE_UBBST                   = 0x7005\n\tETHERTYPE_UBDEBUG                 = 0x900\n\tETHERTYPE_UBDIAGLOOP              = 0x7002\n\tETHERTYPE_UBDL                    = 0x7000\n\tETHERTYPE_UBNIU                   = 0x7001\n\tETHERTYPE_UBNMC                   = 0x7003\n\tETHERTYPE_VALID                   = 0x1600\n\tETHERTYPE_VARIAN                  = 0x80dd\n\tETHERTYPE_VAXELN                  = 0x803b\n\tETHERTYPE_VEECO                   = 0x8067\n\tETHERTYPE_VEXP                    = 0x805b\n\tETHERTYPE_VGLAB                   = 0x8131\n\tETHERTYPE_VINES                   = 0xbad\n\tETHERTYPE_VINESECHO               = 0xbaf\n\tETHERTYPE_VINESLOOP               = 0xbae\n\tETHERTYPE_VITAL                   = 0xff00\n\tETHERTYPE_VLAN                    = 0x8100\n\tETHERTYPE_VLTLMAN                 = 0x8080\n\tETHERTYPE_VPROD                   = 0x805c\n\tETHERTYPE_VURESERVED              = 0x8147\n\tETHERTYPE_WATERLOO                = 0x8130\n\tETHERTYPE_WELLFLEET               = 0x8103\n\tETHERTYPE_X25                     = 0x805\n\tETHERTYPE_X75                     = 0x801\n\tETHERTYPE_XNSSM                   = 0x9001\n\tETHERTYPE_XTP                     = 0x817d\n\tETHER_ADDR_LEN                    = 0x6\n\tETHER_ALIGN                       = 0x2\n\tETHER_CRC_LEN                     = 0x4\n\tETHER_CRC_POLY_BE                 = 0x4c11db6\n\tETHER_CRC_POLY_LE                 = 0xedb88320\n\tETHER_HDR_LEN                     = 0xe\n\tETHER_MAX_DIX_LEN                 = 0x600\n\tETHER_MAX_LEN                     = 0x5ee\n\tETHER_MIN_LEN                     = 0x40\n\tETHER_TYPE_LEN                    = 0x2\n\tETHER_VLAN_ENCAP_LEN              = 0x4\n\tEVFILT_AIO                        = -0x3\n\tEVFILT_PROC                       = -0x5\n\tEVFILT_READ                       = -0x1\n\tEVFILT_SIGNAL                     = -0x6\n\tEVFILT_SYSCOUNT                   = 0x7\n\tEVFILT_TIMER                      = -0x7\n\tEVFILT_VNODE                      = -0x4\n\tEVFILT_WRITE                      = -0x2\n\tEV_ADD                            = 0x1\n\tEV_CLEAR                          = 0x20\n\tEV_DELETE                         = 0x2\n\tEV_DISABLE                        = 0x8\n\tEV_ENABLE                         = 0x4\n\tEV_EOF                            = 0x8000\n\tEV_ERROR                          = 0x4000\n\tEV_FLAG1                          = 0x2000\n\tEV_ONESHOT                        = 0x10\n\tEV_SYSFLAGS                       = 0xf000\n\tEXTA                              = 0x4b00\n\tEXTB                              = 0x9600\n\tEXTPROC                           = 0x800\n\tFD_CLOEXEC                        = 0x1\n\tFD_SETSIZE                        = 0x400\n\tFLUSHO                            = 0x800000\n\tF_DUPFD                           = 0x0\n\tF_DUPFD_CLOEXEC                   = 0xa\n\tF_GETFD                           = 0x1\n\tF_GETFL                           = 0x3\n\tF_GETLK                           = 0x7\n\tF_GETOWN                          = 0x5\n\tF_OK                              = 0x0\n\tF_RDLCK                           = 0x1\n\tF_SETFD                           = 0x2\n\tF_SETFL                           = 0x4\n\tF_SETLK                           = 0x8\n\tF_SETLKW                          = 0x9\n\tF_SETOWN                          = 0x6\n\tF_UNLCK                           = 0x2\n\tF_WRLCK                           = 0x3\n\tHUPCL                             = 0x4000\n\tHW_MACHINE                        = 0x1\n\tICANON                            = 0x100\n\tICMP6_FILTER                      = 0x12\n\tICRNL                             = 0x100\n\tIEXTEN                            = 0x400\n\tIFAN_ARRIVAL                      = 0x0\n\tIFAN_DEPARTURE                    = 0x1\n\tIFA_ROUTE                         = 0x1\n\tIFF_ALLMULTI                      = 0x200\n\tIFF_BROADCAST                     = 0x2\n\tIFF_CANTCHANGE                    = 0x8e52\n\tIFF_DEBUG                         = 0x4\n\tIFF_LINK0                         = 0x1000\n\tIFF_LINK1                         = 0x2000\n\tIFF_LINK2                         = 0x4000\n\tIFF_LOOPBACK                      = 0x8\n\tIFF_MULTICAST                     = 0x8000\n\tIFF_NOARP                         = 0x80\n\tIFF_NOTRAILERS                    = 0x20\n\tIFF_OACTIVE                       = 0x400\n\tIFF_POINTOPOINT                   = 0x10\n\tIFF_PROMISC                       = 0x100\n\tIFF_RUNNING                       = 0x40\n\tIFF_SIMPLEX                       = 0x800\n\tIFF_UP                            = 0x1\n\tIFNAMSIZ                          = 0x10\n\tIFT_1822                          = 0x2\n\tIFT_A12MPPSWITCH                  = 0x82\n\tIFT_AAL2                          = 0xbb\n\tIFT_AAL5                          = 0x31\n\tIFT_ADSL                          = 0x5e\n\tIFT_AFLANE8023                    = 0x3b\n\tIFT_AFLANE8025                    = 0x3c\n\tIFT_ARAP                          = 0x58\n\tIFT_ARCNET                        = 0x23\n\tIFT_ARCNETPLUS                    = 0x24\n\tIFT_ASYNC                         = 0x54\n\tIFT_ATM                           = 0x25\n\tIFT_ATMDXI                        = 0x69\n\tIFT_ATMFUNI                       = 0x6a\n\tIFT_ATMIMA                        = 0x6b\n\tIFT_ATMLOGICAL                    = 0x50\n\tIFT_ATMRADIO                      = 0xbd\n\tIFT_ATMSUBINTERFACE               = 0x86\n\tIFT_ATMVCIENDPT                   = 0xc2\n\tIFT_ATMVIRTUAL                    = 0x95\n\tIFT_BGPPOLICYACCOUNTING           = 0xa2\n\tIFT_BLUETOOTH                     = 0xf8\n\tIFT_BRIDGE                        = 0xd1\n\tIFT_BSC                           = 0x53\n\tIFT_CARP                          = 0xf7\n\tIFT_CCTEMUL                       = 0x3d\n\tIFT_CEPT                          = 0x13\n\tIFT_CES                           = 0x85\n\tIFT_CHANNEL                       = 0x46\n\tIFT_CNR                           = 0x55\n\tIFT_COFFEE                        = 0x84\n\tIFT_COMPOSITELINK                 = 0x9b\n\tIFT_DCN                           = 0x8d\n\tIFT_DIGITALPOWERLINE              = 0x8a\n\tIFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba\n\tIFT_DLSW                          = 0x4a\n\tIFT_DOCSCABLEDOWNSTREAM           = 0x80\n\tIFT_DOCSCABLEMACLAYER             = 0x7f\n\tIFT_DOCSCABLEUPSTREAM             = 0x81\n\tIFT_DOCSCABLEUPSTREAMCHANNEL      = 0xcd\n\tIFT_DS0                           = 0x51\n\tIFT_DS0BUNDLE                     = 0x52\n\tIFT_DS1FDL                        = 0xaa\n\tIFT_DS3                           = 0x1e\n\tIFT_DTM                           = 0x8c\n\tIFT_DUMMY                         = 0xf1\n\tIFT_DVBASILN                      = 0xac\n\tIFT_DVBASIOUT                     = 0xad\n\tIFT_DVBRCCDOWNSTREAM              = 0x93\n\tIFT_DVBRCCMACLAYER                = 0x92\n\tIFT_DVBRCCUPSTREAM                = 0x94\n\tIFT_ECONET                        = 0xce\n\tIFT_ENC                           = 0xf4\n\tIFT_EON                           = 0x19\n\tIFT_EPLRS                         = 0x57\n\tIFT_ESCON                         = 0x49\n\tIFT_ETHER                         = 0x6\n\tIFT_FAITH                         = 0xf3\n\tIFT_FAST                          = 0x7d\n\tIFT_FASTETHER                     = 0x3e\n\tIFT_FASTETHERFX                   = 0x45\n\tIFT_FDDI                          = 0xf\n\tIFT_FIBRECHANNEL                  = 0x38\n\tIFT_FRAMERELAYINTERCONNECT        = 0x3a\n\tIFT_FRAMERELAYMPI                 = 0x5c\n\tIFT_FRDLCIENDPT                   = 0xc1\n\tIFT_FRELAY                        = 0x20\n\tIFT_FRELAYDCE                     = 0x2c\n\tIFT_FRF16MFRBUNDLE                = 0xa3\n\tIFT_FRFORWARD                     = 0x9e\n\tIFT_G703AT2MB                     = 0x43\n\tIFT_G703AT64K                     = 0x42\n\tIFT_GIF                           = 0xf0\n\tIFT_GIGABITETHERNET               = 0x75\n\tIFT_GR303IDT                      = 0xb2\n\tIFT_GR303RDT                      = 0xb1\n\tIFT_H323GATEKEEPER                = 0xa4\n\tIFT_H323PROXY                     = 0xa5\n\tIFT_HDH1822                       = 0x3\n\tIFT_HDLC                          = 0x76\n\tIFT_HDSL2                         = 0xa8\n\tIFT_HIPERLAN2                     = 0xb7\n\tIFT_HIPPI                         = 0x2f\n\tIFT_HIPPIINTERFACE                = 0x39\n\tIFT_HOSTPAD                       = 0x5a\n\tIFT_HSSI                          = 0x2e\n\tIFT_HY                            = 0xe\n\tIFT_IBM370PARCHAN                 = 0x48\n\tIFT_IDSL                          = 0x9a\n\tIFT_IEEE1394                      = 0x90\n\tIFT_IEEE80211                     = 0x47\n\tIFT_IEEE80212                     = 0x37\n\tIFT_IEEE8023ADLAG                 = 0xa1\n\tIFT_IFGSN                         = 0x91\n\tIFT_IMT                           = 0xbe\n\tIFT_INFINIBAND                    = 0xc7\n\tIFT_INTERLEAVE                    = 0x7c\n\tIFT_IP                            = 0x7e\n\tIFT_IPFORWARD                     = 0x8e\n\tIFT_IPOVERATM                     = 0x72\n\tIFT_IPOVERCDLC                    = 0x6d\n\tIFT_IPOVERCLAW                    = 0x6e\n\tIFT_IPSWITCH                      = 0x4e\n\tIFT_ISDN                          = 0x3f\n\tIFT_ISDNBASIC                     = 0x14\n\tIFT_ISDNPRIMARY                   = 0x15\n\tIFT_ISDNS                         = 0x4b\n\tIFT_ISDNU                         = 0x4c\n\tIFT_ISO88022LLC                   = 0x29\n\tIFT_ISO88023                      = 0x7\n\tIFT_ISO88024                      = 0x8\n\tIFT_ISO88025                      = 0x9\n\tIFT_ISO88025CRFPINT               = 0x62\n\tIFT_ISO88025DTR                   = 0x56\n\tIFT_ISO88025FIBER                 = 0x73\n\tIFT_ISO88026                      = 0xa\n\tIFT_ISUP                          = 0xb3\n\tIFT_L2VLAN                        = 0x87\n\tIFT_L3IPVLAN                      = 0x88\n\tIFT_L3IPXVLAN                     = 0x89\n\tIFT_LAPB                          = 0x10\n\tIFT_LAPD                          = 0x4d\n\tIFT_LAPF                          = 0x77\n\tIFT_LINEGROUP                     = 0xd2\n\tIFT_LOCALTALK                     = 0x2a\n\tIFT_LOOP                          = 0x18\n\tIFT_MEDIAMAILOVERIP               = 0x8b\n\tIFT_MFSIGLINK                     = 0xa7\n\tIFT_MIOX25                        = 0x26\n\tIFT_MODEM                         = 0x30\n\tIFT_MPC                           = 0x71\n\tIFT_MPLS                          = 0xa6\n\tIFT_MPLSTUNNEL                    = 0x96\n\tIFT_MSDSL                         = 0x8f\n\tIFT_MVL                           = 0xbf\n\tIFT_MYRINET                       = 0x63\n\tIFT_NFAS                          = 0xaf\n\tIFT_NSIP                          = 0x1b\n\tIFT_OPTICALCHANNEL                = 0xc3\n\tIFT_OPTICALTRANSPORT              = 0xc4\n\tIFT_OTHER                         = 0x1\n\tIFT_P10                           = 0xc\n\tIFT_P80                           = 0xd\n\tIFT_PARA                          = 0x22\n\tIFT_PFLOG                         = 0xf5\n\tIFT_PFLOW                         = 0xf9\n\tIFT_PFSYNC                        = 0xf6\n\tIFT_PLC                           = 0xae\n\tIFT_PON155                        = 0xcf\n\tIFT_PON622                        = 0xd0\n\tIFT_POS                           = 0xab\n\tIFT_PPP                           = 0x17\n\tIFT_PPPMULTILINKBUNDLE            = 0x6c\n\tIFT_PROPATM                       = 0xc5\n\tIFT_PROPBWAP2MP                   = 0xb8\n\tIFT_PROPCNLS                      = 0x59\n\tIFT_PROPDOCSWIRELESSDOWNSTREAM    = 0xb5\n\tIFT_PROPDOCSWIRELESSMACLAYER      = 0xb4\n\tIFT_PROPDOCSWIRELESSUPSTREAM      = 0xb6\n\tIFT_PROPMUX                       = 0x36\n\tIFT_PROPVIRTUAL                   = 0x35\n\tIFT_PROPWIRELESSP2P               = 0x9d\n\tIFT_PTPSERIAL                     = 0x16\n\tIFT_PVC                           = 0xf2\n\tIFT_Q2931                         = 0xc9\n\tIFT_QLLC                          = 0x44\n\tIFT_RADIOMAC                      = 0xbc\n\tIFT_RADSL                         = 0x5f\n\tIFT_REACHDSL                      = 0xc0\n\tIFT_RFC1483                       = 0x9f\n\tIFT_RS232                         = 0x21\n\tIFT_RSRB                          = 0x4f\n\tIFT_SDLC                          = 0x11\n\tIFT_SDSL                          = 0x60\n\tIFT_SHDSL                         = 0xa9\n\tIFT_SIP                           = 0x1f\n\tIFT_SIPSIG                        = 0xcc\n\tIFT_SIPTG                         = 0xcb\n\tIFT_SLIP                          = 0x1c\n\tIFT_SMDSDXI                       = 0x2b\n\tIFT_SMDSICIP                      = 0x34\n\tIFT_SONET                         = 0x27\n\tIFT_SONETOVERHEADCHANNEL          = 0xb9\n\tIFT_SONETPATH                     = 0x32\n\tIFT_SONETVT                       = 0x33\n\tIFT_SRP                           = 0x97\n\tIFT_SS7SIGLINK                    = 0x9c\n\tIFT_STACKTOSTACK                  = 0x6f\n\tIFT_STARLAN                       = 0xb\n\tIFT_T1                            = 0x12\n\tIFT_TDLC                          = 0x74\n\tIFT_TELINK                        = 0xc8\n\tIFT_TERMPAD                       = 0x5b\n\tIFT_TR008                         = 0xb0\n\tIFT_TRANSPHDLC                    = 0x7b\n\tIFT_TUNNEL                        = 0x83\n\tIFT_ULTRA                         = 0x1d\n\tIFT_USB                           = 0xa0\n\tIFT_V11                           = 0x40\n\tIFT_V35                           = 0x2d\n\tIFT_V36                           = 0x41\n\tIFT_V37                           = 0x78\n\tIFT_VDSL                          = 0x61\n\tIFT_VIRTUALIPADDRESS              = 0x70\n\tIFT_VIRTUALTG                     = 0xca\n\tIFT_VOICEDID                      = 0xd5\n\tIFT_VOICEEM                       = 0x64\n\tIFT_VOICEEMFGD                    = 0xd3\n\tIFT_VOICEENCAP                    = 0x67\n\tIFT_VOICEFGDEANA                  = 0xd4\n\tIFT_VOICEFXO                      = 0x65\n\tIFT_VOICEFXS                      = 0x66\n\tIFT_VOICEOVERATM                  = 0x98\n\tIFT_VOICEOVERCABLE                = 0xc6\n\tIFT_VOICEOVERFRAMERELAY           = 0x99\n\tIFT_VOICEOVERIP                   = 0x68\n\tIFT_X213                          = 0x5d\n\tIFT_X25                           = 0x5\n\tIFT_X25DDN                        = 0x4\n\tIFT_X25HUNTGROUP                  = 0x7a\n\tIFT_X25MLP                        = 0x79\n\tIFT_X25PLE                        = 0x28\n\tIFT_XETHER                        = 0x1a\n\tIGNBRK                            = 0x1\n\tIGNCR                             = 0x80\n\tIGNPAR                            = 0x4\n\tIMAXBEL                           = 0x2000\n\tINLCR                             = 0x40\n\tINPCK                             = 0x10\n\tIN_CLASSA_HOST                    = 0xffffff\n\tIN_CLASSA_MAX                     = 0x80\n\tIN_CLASSA_NET                     = 0xff000000\n\tIN_CLASSA_NSHIFT                  = 0x18\n\tIN_CLASSB_HOST                    = 0xffff\n\tIN_CLASSB_MAX                     = 0x10000\n\tIN_CLASSB_NET                     = 0xffff0000\n\tIN_CLASSB_NSHIFT                  = 0x10\n\tIN_CLASSC_HOST                    = 0xff\n\tIN_CLASSC_NET                     = 0xffffff00\n\tIN_CLASSC_NSHIFT                  = 0x8\n\tIN_CLASSD_HOST                    = 0xfffffff\n\tIN_CLASSD_NET                     = 0xf0000000\n\tIN_CLASSD_NSHIFT                  = 0x1c\n\tIN_LOOPBACKNET                    = 0x7f\n\tIN_RFC3021_HOST                   = 0x1\n\tIN_RFC3021_NET                    = 0xfffffffe\n\tIN_RFC3021_NSHIFT                 = 0x1f\n\tIPPROTO_AH                        = 0x33\n\tIPPROTO_CARP                      = 0x70\n\tIPPROTO_DIVERT                    = 0x102\n\tIPPROTO_DIVERT_INIT               = 0x2\n\tIPPROTO_DIVERT_RESP               = 0x1\n\tIPPROTO_DONE                      = 0x101\n\tIPPROTO_DSTOPTS                   = 0x3c\n\tIPPROTO_EGP                       = 0x8\n\tIPPROTO_ENCAP                     = 0x62\n\tIPPROTO_EON                       = 0x50\n\tIPPROTO_ESP                       = 0x32\n\tIPPROTO_ETHERIP                   = 0x61\n\tIPPROTO_FRAGMENT                  = 0x2c\n\tIPPROTO_GGP                       = 0x3\n\tIPPROTO_GRE                       = 0x2f\n\tIPPROTO_HOPOPTS                   = 0x0\n\tIPPROTO_ICMP                      = 0x1\n\tIPPROTO_ICMPV6                    = 0x3a\n\tIPPROTO_IDP                       = 0x16\n\tIPPROTO_IGMP                      = 0x2\n\tIPPROTO_IP                        = 0x0\n\tIPPROTO_IPCOMP                    = 0x6c\n\tIPPROTO_IPIP                      = 0x4\n\tIPPROTO_IPV4                      = 0x4\n\tIPPROTO_IPV6                      = 0x29\n\tIPPROTO_MAX                       = 0x100\n\tIPPROTO_MAXID                     = 0x103\n\tIPPROTO_MOBILE                    = 0x37\n\tIPPROTO_MPLS                      = 0x89\n\tIPPROTO_NONE                      = 0x3b\n\tIPPROTO_PFSYNC                    = 0xf0\n\tIPPROTO_PIM                       = 0x67\n\tIPPROTO_PUP                       = 0xc\n\tIPPROTO_RAW                       = 0xff\n\tIPPROTO_ROUTING                   = 0x2b\n\tIPPROTO_RSVP                      = 0x2e\n\tIPPROTO_TCP                       = 0x6\n\tIPPROTO_TP                        = 0x1d\n\tIPPROTO_UDP                       = 0x11\n\tIPV6_AUTH_LEVEL                   = 0x35\n\tIPV6_AUTOFLOWLABEL                = 0x3b\n\tIPV6_CHECKSUM                     = 0x1a\n\tIPV6_DEFAULT_MULTICAST_HOPS       = 0x1\n\tIPV6_DEFAULT_MULTICAST_LOOP       = 0x1\n\tIPV6_DEFHLIM                      = 0x40\n\tIPV6_DONTFRAG                     = 0x3e\n\tIPV6_DSTOPTS                      = 0x32\n\tIPV6_ESP_NETWORK_LEVEL            = 0x37\n\tIPV6_ESP_TRANS_LEVEL              = 0x36\n\tIPV6_FAITH                        = 0x1d\n\tIPV6_FLOWINFO_MASK                = 0xffffff0f\n\tIPV6_FLOWLABEL_MASK               = 0xffff0f00\n\tIPV6_FRAGTTL                      = 0x78\n\tIPV6_HLIMDEC                      = 0x1\n\tIPV6_HOPLIMIT                     = 0x2f\n\tIPV6_HOPOPTS                      = 0x31\n\tIPV6_IPCOMP_LEVEL                 = 0x3c\n\tIPV6_JOIN_GROUP                   = 0xc\n\tIPV6_LEAVE_GROUP                  = 0xd\n\tIPV6_MAXHLIM                      = 0xff\n\tIPV6_MAXPACKET                    = 0xffff\n\tIPV6_MMTU                         = 0x500\n\tIPV6_MULTICAST_HOPS               = 0xa\n\tIPV6_MULTICAST_IF                 = 0x9\n\tIPV6_MULTICAST_LOOP               = 0xb\n\tIPV6_NEXTHOP                      = 0x30\n\tIPV6_OPTIONS                      = 0x1\n\tIPV6_PATHMTU                      = 0x2c\n\tIPV6_PIPEX                        = 0x3f\n\tIPV6_PKTINFO                      = 0x2e\n\tIPV6_PORTRANGE                    = 0xe\n\tIPV6_PORTRANGE_DEFAULT            = 0x0\n\tIPV6_PORTRANGE_HIGH               = 0x1\n\tIPV6_PORTRANGE_LOW                = 0x2\n\tIPV6_RECVDSTOPTS                  = 0x28\n\tIPV6_RECVDSTPORT                  = 0x40\n\tIPV6_RECVHOPLIMIT                 = 0x25\n\tIPV6_RECVHOPOPTS                  = 0x27\n\tIPV6_RECVPATHMTU                  = 0x2b\n\tIPV6_RECVPKTINFO                  = 0x24\n\tIPV6_RECVRTHDR                    = 0x26\n\tIPV6_RECVTCLASS                   = 0x39\n\tIPV6_RTABLE                       = 0x1021\n\tIPV6_RTHDR                        = 0x33\n\tIPV6_RTHDRDSTOPTS                 = 0x23\n\tIPV6_RTHDR_LOOSE                  = 0x0\n\tIPV6_RTHDR_STRICT                 = 0x1\n\tIPV6_RTHDR_TYPE_0                 = 0x0\n\tIPV6_SOCKOPT_RESERVED1            = 0x3\n\tIPV6_TCLASS                       = 0x3d\n\tIPV6_UNICAST_HOPS                 = 0x4\n\tIPV6_USE_MIN_MTU                  = 0x2a\n\tIPV6_V6ONLY                       = 0x1b\n\tIPV6_VERSION                      = 0x60\n\tIPV6_VERSION_MASK                 = 0xf0\n\tIP_ADD_MEMBERSHIP                 = 0xc\n\tIP_AUTH_LEVEL                     = 0x14\n\tIP_DEFAULT_MULTICAST_LOOP         = 0x1\n\tIP_DEFAULT_MULTICAST_TTL          = 0x1\n\tIP_DF                             = 0x4000\n\tIP_DIVERTFL                       = 0x1022\n\tIP_DROP_MEMBERSHIP                = 0xd\n\tIP_ESP_NETWORK_LEVEL              = 0x16\n\tIP_ESP_TRANS_LEVEL                = 0x15\n\tIP_HDRINCL                        = 0x2\n\tIP_IPCOMP_LEVEL                   = 0x1d\n\tIP_IPSECFLOWINFO                  = 0x24\n\tIP_IPSEC_LOCAL_AUTH               = 0x1b\n\tIP_IPSEC_LOCAL_CRED               = 0x19\n\tIP_IPSEC_LOCAL_ID                 = 0x17\n\tIP_IPSEC_REMOTE_AUTH              = 0x1c\n\tIP_IPSEC_REMOTE_CRED              = 0x1a\n\tIP_IPSEC_REMOTE_ID                = 0x18\n\tIP_MAXPACKET                      = 0xffff\n\tIP_MAX_MEMBERSHIPS                = 0xfff\n\tIP_MF                             = 0x2000\n\tIP_MINTTL                         = 0x20\n\tIP_MIN_MEMBERSHIPS                = 0xf\n\tIP_MSS                            = 0x240\n\tIP_MULTICAST_IF                   = 0x9\n\tIP_MULTICAST_LOOP                 = 0xb\n\tIP_MULTICAST_TTL                  = 0xa\n\tIP_OFFMASK                        = 0x1fff\n\tIP_OPTIONS                        = 0x1\n\tIP_PIPEX                          = 0x22\n\tIP_PORTRANGE                      = 0x13\n\tIP_PORTRANGE_DEFAULT              = 0x0\n\tIP_PORTRANGE_HIGH                 = 0x1\n\tIP_PORTRANGE_LOW                  = 0x2\n\tIP_RECVDSTADDR                    = 0x7\n\tIP_RECVDSTPORT                    = 0x21\n\tIP_RECVIF                         = 0x1e\n\tIP_RECVOPTS                       = 0x5\n\tIP_RECVRETOPTS                    = 0x6\n\tIP_RECVRTABLE                     = 0x23\n\tIP_RECVTTL                        = 0x1f\n\tIP_RETOPTS                        = 0x8\n\tIP_RF                             = 0x8000\n\tIP_RTABLE                         = 0x1021\n\tIP_TOS                            = 0x3\n\tIP_TTL                            = 0x4\n\tISIG                              = 0x80\n\tISTRIP                            = 0x20\n\tIXANY                             = 0x800\n\tIXOFF                             = 0x400\n\tIXON                              = 0x200\n\tKERN_HOSTNAME                     = 0xa\n\tKERN_OSRELEASE                    = 0x2\n\tKERN_OSTYPE                       = 0x1\n\tKERN_VERSION                      = 0x4\n\tLCNT_OVERLOAD_FLUSH               = 0x6\n\tLOCK_EX                           = 0x2\n\tLOCK_NB                           = 0x4\n\tLOCK_SH                           = 0x1\n\tLOCK_UN                           = 0x8\n\tMADV_DONTNEED                     = 0x4\n\tMADV_FREE                         = 0x6\n\tMADV_NORMAL                       = 0x0\n\tMADV_RANDOM                       = 0x1\n\tMADV_SEQUENTIAL                   = 0x2\n\tMADV_SPACEAVAIL                   = 0x5\n\tMADV_WILLNEED                     = 0x3\n\tMAP_ANON                          = 0x1000\n\tMAP_COPY                          = 0x4\n\tMAP_FILE                          = 0x0\n\tMAP_FIXED                         = 0x10\n\tMAP_FLAGMASK                      = 0x1ff7\n\tMAP_HASSEMAPHORE                  = 0x200\n\tMAP_INHERIT                       = 0x80\n\tMAP_INHERIT_COPY                  = 0x1\n\tMAP_INHERIT_DONATE_COPY           = 0x3\n\tMAP_INHERIT_NONE                  = 0x2\n\tMAP_INHERIT_SHARE                 = 0x0\n\tMAP_NOEXTEND                      = 0x100\n\tMAP_NORESERVE                     = 0x40\n\tMAP_PRIVATE                       = 0x2\n\tMAP_RENAME                        = 0x20\n\tMAP_SHARED                        = 0x1\n\tMAP_TRYFIXED                      = 0x400\n\tMCL_CURRENT                       = 0x1\n\tMCL_FUTURE                        = 0x2\n\tMSG_BCAST                         = 0x100\n\tMSG_CTRUNC                        = 0x20\n\tMSG_DONTROUTE                     = 0x4\n\tMSG_DONTWAIT                      = 0x80\n\tMSG_EOR                           = 0x8\n\tMSG_MCAST                         = 0x200\n\tMSG_NOSIGNAL                      = 0x400\n\tMSG_OOB                           = 0x1\n\tMSG_PEEK                          = 0x2\n\tMSG_TRUNC                         = 0x10\n\tMSG_WAITALL                       = 0x40\n\tMS_ASYNC                          = 0x1\n\tMS_INVALIDATE                     = 0x4\n\tMS_SYNC                           = 0x2\n\tNAME_MAX                          = 0xff\n\tNET_RT_DUMP                       = 0x1\n\tNET_RT_FLAGS                      = 0x2\n\tNET_RT_IFLIST                     = 0x3\n\tNET_RT_MAXID                      = 0x6\n\tNET_RT_STATS                      = 0x4\n\tNET_RT_TABLE                      = 0x5\n\tNOFLSH                            = 0x80000000\n\tNOTE_ATTRIB                       = 0x8\n\tNOTE_CHILD                        = 0x4\n\tNOTE_DELETE                       = 0x1\n\tNOTE_EOF                          = 0x2\n\tNOTE_EXEC                         = 0x20000000\n\tNOTE_EXIT                         = 0x80000000\n\tNOTE_EXTEND                       = 0x4\n\tNOTE_FORK                         = 0x40000000\n\tNOTE_LINK                         = 0x10\n\tNOTE_LOWAT                        = 0x1\n\tNOTE_PCTRLMASK                    = 0xf0000000\n\tNOTE_PDATAMASK                    = 0xfffff\n\tNOTE_RENAME                       = 0x20\n\tNOTE_REVOKE                       = 0x40\n\tNOTE_TRACK                        = 0x1\n\tNOTE_TRACKERR                     = 0x2\n\tNOTE_TRUNCATE                     = 0x80\n\tNOTE_WRITE                        = 0x2\n\tOCRNL                             = 0x10\n\tONLCR                             = 0x2\n\tONLRET                            = 0x80\n\tONOCR                             = 0x40\n\tONOEOT                            = 0x8\n\tOPOST                             = 0x1\n\tO_ACCMODE                         = 0x3\n\tO_APPEND                          = 0x8\n\tO_ASYNC                           = 0x40\n\tO_CLOEXEC                         = 0x10000\n\tO_CREAT                           = 0x200\n\tO_DIRECTORY                       = 0x20000\n\tO_DSYNC                           = 0x80\n\tO_EXCL                            = 0x800\n\tO_EXLOCK                          = 0x20\n\tO_FSYNC                           = 0x80\n\tO_NDELAY                          = 0x4\n\tO_NOCTTY                          = 0x8000\n\tO_NOFOLLOW                        = 0x100\n\tO_NONBLOCK                        = 0x4\n\tO_RDONLY                          = 0x0\n\tO_RDWR                            = 0x2\n\tO_RSYNC                           = 0x80\n\tO_SHLOCK                          = 0x10\n\tO_SYNC                            = 0x80\n\tO_TRUNC                           = 0x400\n\tO_WRONLY                          = 0x1\n\tPARENB                            = 0x1000\n\tPARMRK                            = 0x8\n\tPARODD                            = 0x2000\n\tPENDIN                            = 0x20000000\n\tPF_FLUSH                          = 0x1\n\tPRIO_PGRP                         = 0x1\n\tPRIO_PROCESS                      = 0x0\n\tPRIO_USER                         = 0x2\n\tPROT_EXEC                         = 0x4\n\tPROT_NONE                         = 0x0\n\tPROT_READ                         = 0x1\n\tPROT_WRITE                        = 0x2\n\tPT_MASK                           = 0x3ff000\n\tRLIMIT_CORE                       = 0x4\n\tRLIMIT_CPU                        = 0x0\n\tRLIMIT_DATA                       = 0x2\n\tRLIMIT_FSIZE                      = 0x1\n\tRLIMIT_NOFILE                     = 0x8\n\tRLIMIT_STACK                      = 0x3\n\tRLIM_INFINITY                     = 0x7fffffffffffffff\n\tRTAX_AUTHOR                       = 0x6\n\tRTAX_BRD                          = 0x7\n\tRTAX_DST                          = 0x0\n\tRTAX_GATEWAY                      = 0x1\n\tRTAX_GENMASK                      = 0x3\n\tRTAX_IFA                          = 0x5\n\tRTAX_IFP                          = 0x4\n\tRTAX_LABEL                        = 0xa\n\tRTAX_MAX                          = 0xb\n\tRTAX_NETMASK                      = 0x2\n\tRTAX_SRC                          = 0x8\n\tRTAX_SRCMASK                      = 0x9\n\tRTA_AUTHOR                        = 0x40\n\tRTA_BRD                           = 0x80\n\tRTA_DST                           = 0x1\n\tRTA_GATEWAY                       = 0x2\n\tRTA_GENMASK                       = 0x8\n\tRTA_IFA                           = 0x20\n\tRTA_IFP                           = 0x10\n\tRTA_LABEL                         = 0x400\n\tRTA_NETMASK                       = 0x4\n\tRTA_SRC                           = 0x100\n\tRTA_SRCMASK                       = 0x200\n\tRTF_ANNOUNCE                      = 0x4000\n\tRTF_BLACKHOLE                     = 0x1000\n\tRTF_CLONED                        = 0x10000\n\tRTF_CLONING                       = 0x100\n\tRTF_DONE                          = 0x40\n\tRTF_DYNAMIC                       = 0x10\n\tRTF_FMASK                         = 0x10f808\n\tRTF_GATEWAY                       = 0x2\n\tRTF_HOST                          = 0x4\n\tRTF_LLINFO                        = 0x400\n\tRTF_MASK                          = 0x80\n\tRTF_MODIFIED                      = 0x20\n\tRTF_MPATH                         = 0x40000\n\tRTF_MPLS                          = 0x100000\n\tRTF_PERMANENT_ARP                 = 0x2000\n\tRTF_PROTO1                        = 0x8000\n\tRTF_PROTO2                        = 0x4000\n\tRTF_PROTO3                        = 0x2000\n\tRTF_REJECT                        = 0x8\n\tRTF_SOURCE                        = 0x20000\n\tRTF_STATIC                        = 0x800\n\tRTF_TUNNEL                        = 0x100000\n\tRTF_UP                            = 0x1\n\tRTF_USETRAILERS                   = 0x8000\n\tRTF_XRESOLVE                      = 0x200\n\tRTM_ADD                           = 0x1\n\tRTM_CHANGE                        = 0x3\n\tRTM_DELADDR                       = 0xd\n\tRTM_DELETE                        = 0x2\n\tRTM_DESYNC                        = 0x10\n\tRTM_GET                           = 0x4\n\tRTM_IFANNOUNCE                    = 0xf\n\tRTM_IFINFO                        = 0xe\n\tRTM_LOCK                          = 0x8\n\tRTM_LOSING                        = 0x5\n\tRTM_MAXSIZE                       = 0x800\n\tRTM_MISS                          = 0x7\n\tRTM_NEWADDR                       = 0xc\n\tRTM_REDIRECT                      = 0x6\n\tRTM_RESOLVE                       = 0xb\n\tRTM_RTTUNIT                       = 0xf4240\n\tRTM_VERSION                       = 0x5\n\tRTV_EXPIRE                        = 0x4\n\tRTV_HOPCOUNT                      = 0x2\n\tRTV_MTU                           = 0x1\n\tRTV_RPIPE                         = 0x8\n\tRTV_RTT                           = 0x40\n\tRTV_RTTVAR                        = 0x80\n\tRTV_SPIPE                         = 0x10\n\tRTV_SSTHRESH                      = 0x20\n\tRT_TABLEID_MAX                    = 0xff\n\tRUSAGE_CHILDREN                   = -0x1\n\tRUSAGE_SELF                       = 0x0\n\tRUSAGE_THREAD                     = 0x1\n\tSCM_RIGHTS                        = 0x1\n\tSCM_TIMESTAMP                     = 0x4\n\tSHUT_RD                           = 0x0\n\tSHUT_RDWR                         = 0x2\n\tSHUT_WR                           = 0x1\n\tSIOCADDMULTI                      = 0x80206931\n\tSIOCAIFADDR                       = 0x8040691a\n\tSIOCAIFGROUP                      = 0x80246987\n\tSIOCALIFADDR                      = 0x8218691c\n\tSIOCATMARK                        = 0x40047307\n\tSIOCBRDGADD                       = 0x8054693c\n\tSIOCBRDGADDS                      = 0x80546941\n\tSIOCBRDGARL                       = 0x806e694d\n\tSIOCBRDGDADDR                     = 0x81286947\n\tSIOCBRDGDEL                       = 0x8054693d\n\tSIOCBRDGDELS                      = 0x80546942\n\tSIOCBRDGFLUSH                     = 0x80546948\n\tSIOCBRDGFRL                       = 0x806e694e\n\tSIOCBRDGGCACHE                    = 0xc0146941\n\tSIOCBRDGGFD                       = 0xc0146952\n\tSIOCBRDGGHT                       = 0xc0146951\n\tSIOCBRDGGIFFLGS                   = 0xc054693e\n\tSIOCBRDGGMA                       = 0xc0146953\n\tSIOCBRDGGPARAM                    = 0xc03c6958\n\tSIOCBRDGGPRI                      = 0xc0146950\n\tSIOCBRDGGRL                       = 0xc028694f\n\tSIOCBRDGGSIFS                     = 0xc054693c\n\tSIOCBRDGGTO                       = 0xc0146946\n\tSIOCBRDGIFS                       = 0xc0546942\n\tSIOCBRDGRTS                       = 0xc0186943\n\tSIOCBRDGSADDR                     = 0xc1286944\n\tSIOCBRDGSCACHE                    = 0x80146940\n\tSIOCBRDGSFD                       = 0x80146952\n\tSIOCBRDGSHT                       = 0x80146951\n\tSIOCBRDGSIFCOST                   = 0x80546955\n\tSIOCBRDGSIFFLGS                   = 0x8054693f\n\tSIOCBRDGSIFPRIO                   = 0x80546954\n\tSIOCBRDGSMA                       = 0x80146953\n\tSIOCBRDGSPRI                      = 0x80146950\n\tSIOCBRDGSPROTO                    = 0x8014695a\n\tSIOCBRDGSTO                       = 0x80146945\n\tSIOCBRDGSTXHC                     = 0x80146959\n\tSIOCDELMULTI                      = 0x80206932\n\tSIOCDIFADDR                       = 0x80206919\n\tSIOCDIFGROUP                      = 0x80246989\n\tSIOCDIFPHYADDR                    = 0x80206949\n\tSIOCDLIFADDR                      = 0x8218691e\n\tSIOCGETKALIVE                     = 0xc01869a4\n\tSIOCGETLABEL                      = 0x8020699a\n\tSIOCGETPFLOW                      = 0xc02069fe\n\tSIOCGETPFSYNC                     = 0xc02069f8\n\tSIOCGETSGCNT                      = 0xc0147534\n\tSIOCGETVIFCNT                     = 0xc0147533\n\tSIOCGETVLAN                       = 0xc0206990\n\tSIOCGHIWAT                        = 0x40047301\n\tSIOCGIFADDR                       = 0xc0206921\n\tSIOCGIFASYNCMAP                   = 0xc020697c\n\tSIOCGIFBRDADDR                    = 0xc0206923\n\tSIOCGIFCONF                       = 0xc0086924\n\tSIOCGIFDATA                       = 0xc020691b\n\tSIOCGIFDESCR                      = 0xc0206981\n\tSIOCGIFDSTADDR                    = 0xc0206922\n\tSIOCGIFFLAGS                      = 0xc0206911\n\tSIOCGIFGATTR                      = 0xc024698b\n\tSIOCGIFGENERIC                    = 0xc020693a\n\tSIOCGIFGMEMB                      = 0xc024698a\n\tSIOCGIFGROUP                      = 0xc0246988\n\tSIOCGIFHARDMTU                    = 0xc02069a5\n\tSIOCGIFMEDIA                      = 0xc0286936\n\tSIOCGIFMETRIC                     = 0xc0206917\n\tSIOCGIFMTU                        = 0xc020697e\n\tSIOCGIFNETMASK                    = 0xc0206925\n\tSIOCGIFPDSTADDR                   = 0xc0206948\n\tSIOCGIFPRIORITY                   = 0xc020699c\n\tSIOCGIFPSRCADDR                   = 0xc0206947\n\tSIOCGIFRDOMAIN                    = 0xc02069a0\n\tSIOCGIFRTLABEL                    = 0xc0206983\n\tSIOCGIFTIMESLOT                   = 0xc0206986\n\tSIOCGIFXFLAGS                     = 0xc020699e\n\tSIOCGLIFADDR                      = 0xc218691d\n\tSIOCGLIFPHYADDR                   = 0xc218694b\n\tSIOCGLIFPHYRTABLE                 = 0xc02069a2\n\tSIOCGLIFPHYTTL                    = 0xc02069a9\n\tSIOCGLOWAT                        = 0x40047303\n\tSIOCGPGRP                         = 0x40047309\n\tSIOCGSPPPPARAMS                   = 0xc0206994\n\tSIOCGVH                           = 0xc02069f6\n\tSIOCGVNETID                       = 0xc02069a7\n\tSIOCIFCREATE                      = 0x8020697a\n\tSIOCIFDESTROY                     = 0x80206979\n\tSIOCIFGCLONERS                    = 0xc00c6978\n\tSIOCSETKALIVE                     = 0x801869a3\n\tSIOCSETLABEL                      = 0x80206999\n\tSIOCSETPFLOW                      = 0x802069fd\n\tSIOCSETPFSYNC                     = 0x802069f7\n\tSIOCSETVLAN                       = 0x8020698f\n\tSIOCSHIWAT                        = 0x80047300\n\tSIOCSIFADDR                       = 0x8020690c\n\tSIOCSIFASYNCMAP                   = 0x8020697d\n\tSIOCSIFBRDADDR                    = 0x80206913\n\tSIOCSIFDESCR                      = 0x80206980\n\tSIOCSIFDSTADDR                    = 0x8020690e\n\tSIOCSIFFLAGS                      = 0x80206910\n\tSIOCSIFGATTR                      = 0x8024698c\n\tSIOCSIFGENERIC                    = 0x80206939\n\tSIOCSIFLLADDR                     = 0x8020691f\n\tSIOCSIFMEDIA                      = 0xc0206935\n\tSIOCSIFMETRIC                     = 0x80206918\n\tSIOCSIFMTU                        = 0x8020697f\n\tSIOCSIFNETMASK                    = 0x80206916\n\tSIOCSIFPHYADDR                    = 0x80406946\n\tSIOCSIFPRIORITY                   = 0x8020699b\n\tSIOCSIFRDOMAIN                    = 0x8020699f\n\tSIOCSIFRTLABEL                    = 0x80206982\n\tSIOCSIFTIMESLOT                   = 0x80206985\n\tSIOCSIFXFLAGS                     = 0x8020699d\n\tSIOCSLIFPHYADDR                   = 0x8218694a\n\tSIOCSLIFPHYRTABLE                 = 0x802069a1\n\tSIOCSLIFPHYTTL                    = 0x802069a8\n\tSIOCSLOWAT                        = 0x80047302\n\tSIOCSPGRP                         = 0x80047308\n\tSIOCSSPPPPARAMS                   = 0x80206993\n\tSIOCSVH                           = 0xc02069f5\n\tSIOCSVNETID                       = 0x802069a6\n\tSOCK_DGRAM                        = 0x2\n\tSOCK_RAW                          = 0x3\n\tSOCK_RDM                          = 0x4\n\tSOCK_SEQPACKET                    = 0x5\n\tSOCK_STREAM                       = 0x1\n\tSOL_SOCKET                        = 0xffff\n\tSOMAXCONN                         = 0x80\n\tSO_ACCEPTCONN                     = 0x2\n\tSO_BINDANY                        = 0x1000\n\tSO_BROADCAST                      = 0x20\n\tSO_DEBUG                          = 0x1\n\tSO_DONTROUTE                      = 0x10\n\tSO_ERROR                          = 0x1007\n\tSO_KEEPALIVE                      = 0x8\n\tSO_LINGER                         = 0x80\n\tSO_NETPROC                        = 0x1020\n\tSO_OOBINLINE                      = 0x100\n\tSO_PEERCRED                       = 0x1022\n\tSO_RCVBUF                         = 0x1002\n\tSO_RCVLOWAT                       = 0x1004\n\tSO_RCVTIMEO                       = 0x1006\n\tSO_REUSEADDR                      = 0x4\n\tSO_REUSEPORT                      = 0x200\n\tSO_RTABLE                         = 0x1021\n\tSO_SNDBUF                         = 0x1001\n\tSO_SNDLOWAT                       = 0x1003\n\tSO_SNDTIMEO                       = 0x1005\n\tSO_SPLICE                         = 0x1023\n\tSO_TIMESTAMP                      = 0x800\n\tSO_TYPE                           = 0x1008\n\tSO_USELOOPBACK                    = 0x40\n\tS_BLKSIZE                         = 0x200\n\tS_IEXEC                           = 0x40\n\tS_IFBLK                           = 0x6000\n\tS_IFCHR                           = 0x2000\n\tS_IFDIR                           = 0x4000\n\tS_IFIFO                           = 0x1000\n\tS_IFLNK                           = 0xa000\n\tS_IFMT                            = 0xf000\n\tS_IFREG                           = 0x8000\n\tS_IFSOCK                          = 0xc000\n\tS_IREAD                           = 0x100\n\tS_IRGRP                           = 0x20\n\tS_IROTH                           = 0x4\n\tS_IRUSR                           = 0x100\n\tS_IRWXG                           = 0x38\n\tS_IRWXO                           = 0x7\n\tS_IRWXU                           = 0x1c0\n\tS_ISGID                           = 0x400\n\tS_ISTXT                           = 0x200\n\tS_ISUID                           = 0x800\n\tS_ISVTX                           = 0x200\n\tS_IWGRP                           = 0x10\n\tS_IWOTH                           = 0x2\n\tS_IWRITE                          = 0x80\n\tS_IWUSR                           = 0x80\n\tS_IXGRP                           = 0x8\n\tS_IXOTH                           = 0x1\n\tS_IXUSR                           = 0x40\n\tTCIFLUSH                          = 0x1\n\tTCIOFLUSH                         = 0x3\n\tTCOFLUSH                          = 0x2\n\tTCP_MAXBURST                      = 0x4\n\tTCP_MAXSEG                        = 0x2\n\tTCP_MAXWIN                        = 0xffff\n\tTCP_MAX_SACK                      = 0x3\n\tTCP_MAX_WINSHIFT                  = 0xe\n\tTCP_MD5SIG                        = 0x4\n\tTCP_MSS                           = 0x200\n\tTCP_NODELAY                       = 0x1\n\tTCP_NOPUSH                        = 0x10\n\tTCP_NSTATES                       = 0xb\n\tTCP_SACK_ENABLE                   = 0x8\n\tTCSAFLUSH                         = 0x2\n\tTIOCCBRK                          = 0x2000747a\n\tTIOCCDTR                          = 0x20007478\n\tTIOCCONS                          = 0x80047462\n\tTIOCDRAIN                         = 0x2000745e\n\tTIOCEXCL                          = 0x2000740d\n\tTIOCEXT                           = 0x80047460\n\tTIOCFLAG_CLOCAL                   = 0x2\n\tTIOCFLAG_CRTSCTS                  = 0x4\n\tTIOCFLAG_MDMBUF                   = 0x8\n\tTIOCFLAG_PPS                      = 0x10\n\tTIOCFLAG_SOFTCAR                  = 0x1\n\tTIOCFLUSH                         = 0x80047410\n\tTIOCGETA                          = 0x402c7413\n\tTIOCGETD                          = 0x4004741a\n\tTIOCGFLAGS                        = 0x4004745d\n\tTIOCGPGRP                         = 0x40047477\n\tTIOCGSID                          = 0x40047463\n\tTIOCGTSTAMP                       = 0x400c745b\n\tTIOCGWINSZ                        = 0x40087468\n\tTIOCMBIC                          = 0x8004746b\n\tTIOCMBIS                          = 0x8004746c\n\tTIOCMGET                          = 0x4004746a\n\tTIOCMODG                          = 0x4004746a\n\tTIOCMODS                          = 0x8004746d\n\tTIOCMSET                          = 0x8004746d\n\tTIOCM_CAR                         = 0x40\n\tTIOCM_CD                          = 0x40\n\tTIOCM_CTS                         = 0x20\n\tTIOCM_DSR                         = 0x100\n\tTIOCM_DTR                         = 0x2\n\tTIOCM_LE                          = 0x1\n\tTIOCM_RI                          = 0x80\n\tTIOCM_RNG                         = 0x80\n\tTIOCM_RTS                         = 0x4\n\tTIOCM_SR                          = 0x10\n\tTIOCM_ST                          = 0x8\n\tTIOCNOTTY                         = 0x20007471\n\tTIOCNXCL                          = 0x2000740e\n\tTIOCOUTQ                          = 0x40047473\n\tTIOCPKT                           = 0x80047470\n\tTIOCPKT_DATA                      = 0x0\n\tTIOCPKT_DOSTOP                    = 0x20\n\tTIOCPKT_FLUSHREAD                 = 0x1\n\tTIOCPKT_FLUSHWRITE                = 0x2\n\tTIOCPKT_IOCTL                     = 0x40\n\tTIOCPKT_NOSTOP                    = 0x10\n\tTIOCPKT_START                     = 0x8\n\tTIOCPKT_STOP                      = 0x4\n\tTIOCREMOTE                        = 0x80047469\n\tTIOCSBRK                          = 0x2000747b\n\tTIOCSCTTY                         = 0x20007461\n\tTIOCSDTR                          = 0x20007479\n\tTIOCSETA                          = 0x802c7414\n\tTIOCSETAF                         = 0x802c7416\n\tTIOCSETAW                         = 0x802c7415\n\tTIOCSETD                          = 0x8004741b\n\tTIOCSFLAGS                        = 0x8004745c\n\tTIOCSIG                           = 0x8004745f\n\tTIOCSPGRP                         = 0x80047476\n\tTIOCSTART                         = 0x2000746e\n\tTIOCSTAT                          = 0x80047465\n\tTIOCSTI                           = 0x80017472\n\tTIOCSTOP                          = 0x2000746f\n\tTIOCSTSTAMP                       = 0x8008745a\n\tTIOCSWINSZ                        = 0x80087467\n\tTIOCUCNTL                         = 0x80047466\n\tTOSTOP                            = 0x400000\n\tVDISCARD                          = 0xf\n\tVDSUSP                            = 0xb\n\tVEOF                              = 0x0\n\tVEOL                              = 0x1\n\tVEOL2                             = 0x2\n\tVERASE                            = 0x3\n\tVINTR                             = 0x8\n\tVKILL                             = 0x5\n\tVLNEXT                            = 0xe\n\tVMIN                              = 0x10\n\tVQUIT                             = 0x9\n\tVREPRINT                          = 0x6\n\tVSTART                            = 0xc\n\tVSTATUS                           = 0x12\n\tVSTOP                             = 0xd\n\tVSUSP                             = 0xa\n\tVTIME                             = 0x11\n\tVWERASE                           = 0x4\n\tWALTSIG                           = 0x4\n\tWCONTINUED                        = 0x8\n\tWCOREFLAG                         = 0x80\n\tWNOHANG                           = 0x1\n\tWSTOPPED                          = 0x7f\n\tWUNTRACED                         = 0x2\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x30)\n\tEADDRNOTAVAIL   = syscall.Errno(0x31)\n\tEAFNOSUPPORT    = syscall.Errno(0x2f)\n\tEAGAIN          = syscall.Errno(0x23)\n\tEALREADY        = syscall.Errno(0x25)\n\tEAUTH           = syscall.Errno(0x50)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADRPC         = syscall.Errno(0x48)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x58)\n\tECHILD          = syscall.Errno(0xa)\n\tECONNABORTED    = syscall.Errno(0x35)\n\tECONNREFUSED    = syscall.Errno(0x3d)\n\tECONNRESET      = syscall.Errno(0x36)\n\tEDEADLK         = syscall.Errno(0xb)\n\tEDESTADDRREQ    = syscall.Errno(0x27)\n\tEDOM            = syscall.Errno(0x21)\n\tEDQUOT          = syscall.Errno(0x45)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEFTYPE          = syscall.Errno(0x4f)\n\tEHOSTDOWN       = syscall.Errno(0x40)\n\tEHOSTUNREACH    = syscall.Errno(0x41)\n\tEIDRM           = syscall.Errno(0x59)\n\tEILSEQ          = syscall.Errno(0x54)\n\tEINPROGRESS     = syscall.Errno(0x24)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEIPSEC          = syscall.Errno(0x52)\n\tEISCONN         = syscall.Errno(0x38)\n\tEISDIR          = syscall.Errno(0x15)\n\tELAST           = syscall.Errno(0x5b)\n\tELOOP           = syscall.Errno(0x3e)\n\tEMEDIUMTYPE     = syscall.Errno(0x56)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x28)\n\tENAMETOOLONG    = syscall.Errno(0x3f)\n\tENEEDAUTH       = syscall.Errno(0x51)\n\tENETDOWN        = syscall.Errno(0x32)\n\tENETRESET       = syscall.Errno(0x34)\n\tENETUNREACH     = syscall.Errno(0x33)\n\tENFILE          = syscall.Errno(0x17)\n\tENOATTR         = syscall.Errno(0x53)\n\tENOBUFS         = syscall.Errno(0x37)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOLCK          = syscall.Errno(0x4d)\n\tENOMEDIUM       = syscall.Errno(0x55)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x5a)\n\tENOPROTOOPT     = syscall.Errno(0x2a)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSYS          = syscall.Errno(0x4e)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x39)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x42)\n\tENOTSOCK        = syscall.Errno(0x26)\n\tENOTSUP         = syscall.Errno(0x5b)\n\tENOTTY          = syscall.Errno(0x19)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x2d)\n\tEOVERFLOW       = syscall.Errno(0x57)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x2e)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROCLIM        = syscall.Errno(0x43)\n\tEPROCUNAVAIL    = syscall.Errno(0x4c)\n\tEPROGMISMATCH   = syscall.Errno(0x4b)\n\tEPROGUNAVAIL    = syscall.Errno(0x4a)\n\tEPROTONOSUPPORT = syscall.Errno(0x2b)\n\tEPROTOTYPE      = syscall.Errno(0x29)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMOTE         = syscall.Errno(0x47)\n\tEROFS           = syscall.Errno(0x1e)\n\tERPCMISMATCH    = syscall.Errno(0x49)\n\tESHUTDOWN       = syscall.Errno(0x3a)\n\tESOCKTNOSUPPORT = syscall.Errno(0x2c)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESTALE          = syscall.Errno(0x46)\n\tETIMEDOUT       = syscall.Errno(0x3c)\n\tETOOMANYREFS    = syscall.Errno(0x3b)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUSERS          = syscall.Errno(0x44)\n\tEWOULDBLOCK     = syscall.Errno(0x23)\n\tEXDEV           = syscall.Errno(0x12)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x14)\n\tSIGCONT   = syscall.Signal(0x13)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINFO   = syscall.Signal(0x1d)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x17)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x11)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTHR    = syscall.Signal(0x20)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x12)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x10)\n\tSIGUSR1   = syscall.Signal(0x1e)\n\tSIGUSR2   = syscall.Signal(0x1f)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errorList = [...]struct {\n\tnum  syscall.Errno\n\tname string\n\tdesc string\n}{\n\t{1, \"EPERM\", \"operation not permitted\"},\n\t{2, \"ENOENT\", \"no such file or directory\"},\n\t{3, \"ESRCH\", \"no such process\"},\n\t{4, \"EINTR\", \"interrupted system call\"},\n\t{5, \"EIO\", \"input/output error\"},\n\t{6, \"ENXIO\", \"device not configured\"},\n\t{7, \"E2BIG\", \"argument list too long\"},\n\t{8, \"ENOEXEC\", \"exec format error\"},\n\t{9, \"EBADF\", \"bad file descriptor\"},\n\t{10, \"ECHILD\", \"no child processes\"},\n\t{11, \"EDEADLK\", \"resource deadlock avoided\"},\n\t{12, \"ENOMEM\", \"cannot allocate memory\"},\n\t{13, \"EACCES\", \"permission denied\"},\n\t{14, \"EFAULT\", \"bad address\"},\n\t{15, \"ENOTBLK\", \"block device required\"},\n\t{16, \"EBUSY\", \"device busy\"},\n\t{17, \"EEXIST\", \"file exists\"},\n\t{18, \"EXDEV\", \"cross-device link\"},\n\t{19, \"ENODEV\", \"operation not supported by device\"},\n\t{20, \"ENOTDIR\", \"not a directory\"},\n\t{21, \"EISDIR\", \"is a directory\"},\n\t{22, \"EINVAL\", \"invalid argument\"},\n\t{23, \"ENFILE\", \"too many open files in system\"},\n\t{24, \"EMFILE\", \"too many open files\"},\n\t{25, \"ENOTTY\", \"inappropriate ioctl for device\"},\n\t{26, \"ETXTBSY\", \"text file busy\"},\n\t{27, \"EFBIG\", \"file too large\"},\n\t{28, \"ENOSPC\", \"no space left on device\"},\n\t{29, \"ESPIPE\", \"illegal seek\"},\n\t{30, \"EROFS\", \"read-only file system\"},\n\t{31, \"EMLINK\", \"too many links\"},\n\t{32, \"EPIPE\", \"broken pipe\"},\n\t{33, \"EDOM\", \"numerical argument out of domain\"},\n\t{34, \"ERANGE\", \"result too large\"},\n\t{35, \"EWOULDBLOCK\", \"resource temporarily unavailable\"},\n\t{36, \"EINPROGRESS\", \"operation now in progress\"},\n\t{37, \"EALREADY\", \"operation already in progress\"},\n\t{38, \"ENOTSOCK\", \"socket operation on non-socket\"},\n\t{39, \"EDESTADDRREQ\", \"destination address required\"},\n\t{40, \"EMSGSIZE\", \"message too long\"},\n\t{41, \"EPROTOTYPE\", \"protocol wrong type for socket\"},\n\t{42, \"ENOPROTOOPT\", \"protocol not available\"},\n\t{43, \"EPROTONOSUPPORT\", \"protocol not supported\"},\n\t{44, \"ESOCKTNOSUPPORT\", \"socket type not supported\"},\n\t{45, \"EOPNOTSUPP\", \"operation not supported\"},\n\t{46, \"EPFNOSUPPORT\", \"protocol family not supported\"},\n\t{47, \"EAFNOSUPPORT\", \"address family not supported by protocol family\"},\n\t{48, \"EADDRINUSE\", \"address already in use\"},\n\t{49, \"EADDRNOTAVAIL\", \"can't assign requested address\"},\n\t{50, \"ENETDOWN\", \"network is down\"},\n\t{51, \"ENETUNREACH\", \"network is unreachable\"},\n\t{52, \"ENETRESET\", \"network dropped connection on reset\"},\n\t{53, \"ECONNABORTED\", \"software caused connection abort\"},\n\t{54, \"ECONNRESET\", \"connection reset by peer\"},\n\t{55, \"ENOBUFS\", \"no buffer space available\"},\n\t{56, \"EISCONN\", \"socket is already connected\"},\n\t{57, \"ENOTCONN\", \"socket is not connected\"},\n\t{58, \"ESHUTDOWN\", \"can't send after socket shutdown\"},\n\t{59, \"ETOOMANYREFS\", \"too many references: can't splice\"},\n\t{60, \"ETIMEDOUT\", \"operation timed out\"},\n\t{61, \"ECONNREFUSED\", \"connection refused\"},\n\t{62, \"ELOOP\", \"too many levels of symbolic links\"},\n\t{63, \"ENAMETOOLONG\", \"file name too long\"},\n\t{64, \"EHOSTDOWN\", \"host is down\"},\n\t{65, \"EHOSTUNREACH\", \"no route to host\"},\n\t{66, \"ENOTEMPTY\", \"directory not empty\"},\n\t{67, \"EPROCLIM\", \"too many processes\"},\n\t{68, \"EUSERS\", \"too many users\"},\n\t{69, \"EDQUOT\", \"disk quota exceeded\"},\n\t{70, \"ESTALE\", \"stale NFS file handle\"},\n\t{71, \"EREMOTE\", \"too many levels of remote in path\"},\n\t{72, \"EBADRPC\", \"RPC struct is bad\"},\n\t{73, \"ERPCMISMATCH\", \"RPC version wrong\"},\n\t{74, \"EPROGUNAVAIL\", \"RPC program not available\"},\n\t{75, \"EPROGMISMATCH\", \"program version wrong\"},\n\t{76, \"EPROCUNAVAIL\", \"bad procedure for program\"},\n\t{77, \"ENOLCK\", \"no locks available\"},\n\t{78, \"ENOSYS\", \"function not implemented\"},\n\t{79, \"EFTYPE\", \"inappropriate file type or format\"},\n\t{80, \"EAUTH\", \"authentication error\"},\n\t{81, \"ENEEDAUTH\", \"need authenticator\"},\n\t{82, \"EIPSEC\", \"IPsec processing failure\"},\n\t{83, \"ENOATTR\", \"attribute not found\"},\n\t{84, \"EILSEQ\", \"illegal byte sequence\"},\n\t{85, \"ENOMEDIUM\", \"no medium found\"},\n\t{86, \"EMEDIUMTYPE\", \"wrong medium type\"},\n\t{87, \"EOVERFLOW\", \"value too large to be stored in data type\"},\n\t{88, \"ECANCELED\", \"operation canceled\"},\n\t{89, \"EIDRM\", \"identifier removed\"},\n\t{90, \"ENOMSG\", \"no message of desired type\"},\n\t{91, \"ELAST\", \"not supported\"},\n}\n\n// Signal table\nvar signalList = [...]struct {\n\tnum  syscall.Signal\n\tname string\n\tdesc string\n}{\n\t{1, \"SIGHUP\", \"hangup\"},\n\t{2, \"SIGINT\", \"interrupt\"},\n\t{3, \"SIGQUIT\", \"quit\"},\n\t{4, \"SIGILL\", \"illegal instruction\"},\n\t{5, \"SIGTRAP\", \"trace/BPT trap\"},\n\t{6, \"SIGABRT\", \"abort trap\"},\n\t{7, \"SIGEMT\", \"EMT trap\"},\n\t{8, \"SIGFPE\", \"floating point exception\"},\n\t{9, \"SIGKILL\", \"killed\"},\n\t{10, \"SIGBUS\", \"bus error\"},\n\t{11, \"SIGSEGV\", \"segmentation fault\"},\n\t{12, \"SIGSYS\", \"bad system call\"},\n\t{13, \"SIGPIPE\", \"broken pipe\"},\n\t{14, \"SIGALRM\", \"alarm clock\"},\n\t{15, \"SIGTERM\", \"terminated\"},\n\t{16, \"SIGURG\", \"urgent I/O condition\"},\n\t{17, \"SIGSTOP\", \"suspended (signal)\"},\n\t{18, \"SIGTSTP\", \"suspended\"},\n\t{19, \"SIGCONT\", \"continued\"},\n\t{20, \"SIGCHLD\", \"child exited\"},\n\t{21, \"SIGTTIN\", \"stopped (tty input)\"},\n\t{22, \"SIGTTOU\", \"stopped (tty output)\"},\n\t{23, \"SIGIO\", \"I/O possible\"},\n\t{24, \"SIGXCPU\", \"cputime limit exceeded\"},\n\t{25, \"SIGXFSZ\", \"filesize limit exceeded\"},\n\t{26, \"SIGVTALRM\", \"virtual timer expired\"},\n\t{27, \"SIGPROF\", \"profiling timer expired\"},\n\t{28, \"SIGWINCH\", \"window size changes\"},\n\t{29, \"SIGINFO\", \"information request\"},\n\t{30, \"SIGUSR1\", \"user defined signal 1\"},\n\t{31, \"SIGUSR2\", \"user defined signal 2\"},\n\t{32, \"SIGTHR\", \"thread AST\"},\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go",
    "content": "// mkerrors.sh -m64\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,openbsd\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -m64 _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_APPLETALK                      = 0x10\n\tAF_BLUETOOTH                      = 0x20\n\tAF_CCITT                          = 0xa\n\tAF_CHAOS                          = 0x5\n\tAF_CNT                            = 0x15\n\tAF_COIP                           = 0x14\n\tAF_DATAKIT                        = 0x9\n\tAF_DECnet                         = 0xc\n\tAF_DLI                            = 0xd\n\tAF_E164                           = 0x1a\n\tAF_ECMA                           = 0x8\n\tAF_ENCAP                          = 0x1c\n\tAF_HYLINK                         = 0xf\n\tAF_IMPLINK                        = 0x3\n\tAF_INET                           = 0x2\n\tAF_INET6                          = 0x18\n\tAF_IPX                            = 0x17\n\tAF_ISDN                           = 0x1a\n\tAF_ISO                            = 0x7\n\tAF_KEY                            = 0x1e\n\tAF_LAT                            = 0xe\n\tAF_LINK                           = 0x12\n\tAF_LOCAL                          = 0x1\n\tAF_MAX                            = 0x24\n\tAF_MPLS                           = 0x21\n\tAF_NATM                           = 0x1b\n\tAF_NS                             = 0x6\n\tAF_OSI                            = 0x7\n\tAF_PUP                            = 0x4\n\tAF_ROUTE                          = 0x11\n\tAF_SIP                            = 0x1d\n\tAF_SNA                            = 0xb\n\tAF_UNIX                           = 0x1\n\tAF_UNSPEC                         = 0x0\n\tALTWERASE                         = 0x200\n\tARPHRD_ETHER                      = 0x1\n\tARPHRD_FRELAY                     = 0xf\n\tARPHRD_IEEE1394                   = 0x18\n\tARPHRD_IEEE802                    = 0x6\n\tB0                                = 0x0\n\tB110                              = 0x6e\n\tB115200                           = 0x1c200\n\tB1200                             = 0x4b0\n\tB134                              = 0x86\n\tB14400                            = 0x3840\n\tB150                              = 0x96\n\tB1800                             = 0x708\n\tB19200                            = 0x4b00\n\tB200                              = 0xc8\n\tB230400                           = 0x38400\n\tB2400                             = 0x960\n\tB28800                            = 0x7080\n\tB300                              = 0x12c\n\tB38400                            = 0x9600\n\tB4800                             = 0x12c0\n\tB50                               = 0x32\n\tB57600                            = 0xe100\n\tB600                              = 0x258\n\tB7200                             = 0x1c20\n\tB75                               = 0x4b\n\tB76800                            = 0x12c00\n\tB9600                             = 0x2580\n\tBIOCFLUSH                         = 0x20004268\n\tBIOCGBLEN                         = 0x40044266\n\tBIOCGDIRFILT                      = 0x4004427c\n\tBIOCGDLT                          = 0x4004426a\n\tBIOCGDLTLIST                      = 0xc010427b\n\tBIOCGETIF                         = 0x4020426b\n\tBIOCGFILDROP                      = 0x40044278\n\tBIOCGHDRCMPLT                     = 0x40044274\n\tBIOCGRSIG                         = 0x40044273\n\tBIOCGRTIMEOUT                     = 0x4010426e\n\tBIOCGSTATS                        = 0x4008426f\n\tBIOCIMMEDIATE                     = 0x80044270\n\tBIOCLOCK                          = 0x20004276\n\tBIOCPROMISC                       = 0x20004269\n\tBIOCSBLEN                         = 0xc0044266\n\tBIOCSDIRFILT                      = 0x8004427d\n\tBIOCSDLT                          = 0x8004427a\n\tBIOCSETF                          = 0x80104267\n\tBIOCSETIF                         = 0x8020426c\n\tBIOCSETWF                         = 0x80104277\n\tBIOCSFILDROP                      = 0x80044279\n\tBIOCSHDRCMPLT                     = 0x80044275\n\tBIOCSRSIG                         = 0x80044272\n\tBIOCSRTIMEOUT                     = 0x8010426d\n\tBIOCVERSION                       = 0x40044271\n\tBPF_A                             = 0x10\n\tBPF_ABS                           = 0x20\n\tBPF_ADD                           = 0x0\n\tBPF_ALIGNMENT                     = 0x4\n\tBPF_ALU                           = 0x4\n\tBPF_AND                           = 0x50\n\tBPF_B                             = 0x10\n\tBPF_DIRECTION_IN                  = 0x1\n\tBPF_DIRECTION_OUT                 = 0x2\n\tBPF_DIV                           = 0x30\n\tBPF_H                             = 0x8\n\tBPF_IMM                           = 0x0\n\tBPF_IND                           = 0x40\n\tBPF_JA                            = 0x0\n\tBPF_JEQ                           = 0x10\n\tBPF_JGE                           = 0x30\n\tBPF_JGT                           = 0x20\n\tBPF_JMP                           = 0x5\n\tBPF_JSET                          = 0x40\n\tBPF_K                             = 0x0\n\tBPF_LD                            = 0x0\n\tBPF_LDX                           = 0x1\n\tBPF_LEN                           = 0x80\n\tBPF_LSH                           = 0x60\n\tBPF_MAJOR_VERSION                 = 0x1\n\tBPF_MAXBUFSIZE                    = 0x200000\n\tBPF_MAXINSNS                      = 0x200\n\tBPF_MEM                           = 0x60\n\tBPF_MEMWORDS                      = 0x10\n\tBPF_MINBUFSIZE                    = 0x20\n\tBPF_MINOR_VERSION                 = 0x1\n\tBPF_MISC                          = 0x7\n\tBPF_MSH                           = 0xa0\n\tBPF_MUL                           = 0x20\n\tBPF_NEG                           = 0x80\n\tBPF_OR                            = 0x40\n\tBPF_RELEASE                       = 0x30bb6\n\tBPF_RET                           = 0x6\n\tBPF_RSH                           = 0x70\n\tBPF_ST                            = 0x2\n\tBPF_STX                           = 0x3\n\tBPF_SUB                           = 0x10\n\tBPF_TAX                           = 0x0\n\tBPF_TXA                           = 0x80\n\tBPF_W                             = 0x0\n\tBPF_X                             = 0x8\n\tBRKINT                            = 0x2\n\tCFLUSH                            = 0xf\n\tCLOCAL                            = 0x8000\n\tCLOCK_BOOTTIME                    = 0x6\n\tCLOCK_MONOTONIC                   = 0x3\n\tCLOCK_PROCESS_CPUTIME_ID          = 0x2\n\tCLOCK_REALTIME                    = 0x0\n\tCLOCK_THREAD_CPUTIME_ID           = 0x4\n\tCLOCK_UPTIME                      = 0x5\n\tCREAD                             = 0x800\n\tCRTSCTS                           = 0x10000\n\tCS5                               = 0x0\n\tCS6                               = 0x100\n\tCS7                               = 0x200\n\tCS8                               = 0x300\n\tCSIZE                             = 0x300\n\tCSTART                            = 0x11\n\tCSTATUS                           = 0xff\n\tCSTOP                             = 0x13\n\tCSTOPB                            = 0x400\n\tCSUSP                             = 0x1a\n\tCTL_HW                            = 0x6\n\tCTL_KERN                          = 0x1\n\tCTL_MAXNAME                       = 0xc\n\tCTL_NET                           = 0x4\n\tDIOCOSFPFLUSH                     = 0x2000444e\n\tDLT_ARCNET                        = 0x7\n\tDLT_ATM_RFC1483                   = 0xb\n\tDLT_AX25                          = 0x3\n\tDLT_CHAOS                         = 0x5\n\tDLT_C_HDLC                        = 0x68\n\tDLT_EN10MB                        = 0x1\n\tDLT_EN3MB                         = 0x2\n\tDLT_ENC                           = 0xd\n\tDLT_FDDI                          = 0xa\n\tDLT_IEEE802                       = 0x6\n\tDLT_IEEE802_11                    = 0x69\n\tDLT_IEEE802_11_RADIO              = 0x7f\n\tDLT_LOOP                          = 0xc\n\tDLT_MPLS                          = 0xdb\n\tDLT_NULL                          = 0x0\n\tDLT_OPENFLOW                      = 0x10b\n\tDLT_PFLOG                         = 0x75\n\tDLT_PFSYNC                        = 0x12\n\tDLT_PPP                           = 0x9\n\tDLT_PPP_BSDOS                     = 0x10\n\tDLT_PPP_ETHER                     = 0x33\n\tDLT_PPP_SERIAL                    = 0x32\n\tDLT_PRONET                        = 0x4\n\tDLT_RAW                           = 0xe\n\tDLT_SLIP                          = 0x8\n\tDLT_SLIP_BSDOS                    = 0xf\n\tDLT_USBPCAP                       = 0xf9\n\tDLT_USER0                         = 0x93\n\tDLT_USER1                         = 0x94\n\tDLT_USER10                        = 0x9d\n\tDLT_USER11                        = 0x9e\n\tDLT_USER12                        = 0x9f\n\tDLT_USER13                        = 0xa0\n\tDLT_USER14                        = 0xa1\n\tDLT_USER15                        = 0xa2\n\tDLT_USER2                         = 0x95\n\tDLT_USER3                         = 0x96\n\tDLT_USER4                         = 0x97\n\tDLT_USER5                         = 0x98\n\tDLT_USER6                         = 0x99\n\tDLT_USER7                         = 0x9a\n\tDLT_USER8                         = 0x9b\n\tDLT_USER9                         = 0x9c\n\tDT_BLK                            = 0x6\n\tDT_CHR                            = 0x2\n\tDT_DIR                            = 0x4\n\tDT_FIFO                           = 0x1\n\tDT_LNK                            = 0xa\n\tDT_REG                            = 0x8\n\tDT_SOCK                           = 0xc\n\tDT_UNKNOWN                        = 0x0\n\tECHO                              = 0x8\n\tECHOCTL                           = 0x40\n\tECHOE                             = 0x2\n\tECHOK                             = 0x4\n\tECHOKE                            = 0x1\n\tECHONL                            = 0x10\n\tECHOPRT                           = 0x20\n\tEMT_TAGOVF                        = 0x1\n\tEMUL_ENABLED                      = 0x1\n\tEMUL_NATIVE                       = 0x2\n\tENDRUNDISC                        = 0x9\n\tETHERMIN                          = 0x2e\n\tETHERMTU                          = 0x5dc\n\tETHERTYPE_8023                    = 0x4\n\tETHERTYPE_AARP                    = 0x80f3\n\tETHERTYPE_ACCTON                  = 0x8390\n\tETHERTYPE_AEONIC                  = 0x8036\n\tETHERTYPE_ALPHA                   = 0x814a\n\tETHERTYPE_AMBER                   = 0x6008\n\tETHERTYPE_AMOEBA                  = 0x8145\n\tETHERTYPE_AOE                     = 0x88a2\n\tETHERTYPE_APOLLO                  = 0x80f7\n\tETHERTYPE_APOLLODOMAIN            = 0x8019\n\tETHERTYPE_APPLETALK               = 0x809b\n\tETHERTYPE_APPLITEK                = 0x80c7\n\tETHERTYPE_ARGONAUT                = 0x803a\n\tETHERTYPE_ARP                     = 0x806\n\tETHERTYPE_AT                      = 0x809b\n\tETHERTYPE_ATALK                   = 0x809b\n\tETHERTYPE_ATOMIC                  = 0x86df\n\tETHERTYPE_ATT                     = 0x8069\n\tETHERTYPE_ATTSTANFORD             = 0x8008\n\tETHERTYPE_AUTOPHON                = 0x806a\n\tETHERTYPE_AXIS                    = 0x8856\n\tETHERTYPE_BCLOOP                  = 0x9003\n\tETHERTYPE_BOFL                    = 0x8102\n\tETHERTYPE_CABLETRON               = 0x7034\n\tETHERTYPE_CHAOS                   = 0x804\n\tETHERTYPE_COMDESIGN               = 0x806c\n\tETHERTYPE_COMPUGRAPHIC            = 0x806d\n\tETHERTYPE_COUNTERPOINT            = 0x8062\n\tETHERTYPE_CRONUS                  = 0x8004\n\tETHERTYPE_CRONUSVLN               = 0x8003\n\tETHERTYPE_DCA                     = 0x1234\n\tETHERTYPE_DDE                     = 0x807b\n\tETHERTYPE_DEBNI                   = 0xaaaa\n\tETHERTYPE_DECAM                   = 0x8048\n\tETHERTYPE_DECCUST                 = 0x6006\n\tETHERTYPE_DECDIAG                 = 0x6005\n\tETHERTYPE_DECDNS                  = 0x803c\n\tETHERTYPE_DECDTS                  = 0x803e\n\tETHERTYPE_DECEXPER                = 0x6000\n\tETHERTYPE_DECLAST                 = 0x8041\n\tETHERTYPE_DECLTM                  = 0x803f\n\tETHERTYPE_DECMUMPS                = 0x6009\n\tETHERTYPE_DECNETBIOS              = 0x8040\n\tETHERTYPE_DELTACON                = 0x86de\n\tETHERTYPE_DIDDLE                  = 0x4321\n\tETHERTYPE_DLOG1                   = 0x660\n\tETHERTYPE_DLOG2                   = 0x661\n\tETHERTYPE_DN                      = 0x6003\n\tETHERTYPE_DOGFIGHT                = 0x1989\n\tETHERTYPE_DSMD                    = 0x8039\n\tETHERTYPE_ECMA                    = 0x803\n\tETHERTYPE_ENCRYPT                 = 0x803d\n\tETHERTYPE_ES                      = 0x805d\n\tETHERTYPE_EXCELAN                 = 0x8010\n\tETHERTYPE_EXPERDATA               = 0x8049\n\tETHERTYPE_FLIP                    = 0x8146\n\tETHERTYPE_FLOWCONTROL             = 0x8808\n\tETHERTYPE_FRARP                   = 0x808\n\tETHERTYPE_GENDYN                  = 0x8068\n\tETHERTYPE_HAYES                   = 0x8130\n\tETHERTYPE_HIPPI_FP                = 0x8180\n\tETHERTYPE_HITACHI                 = 0x8820\n\tETHERTYPE_HP                      = 0x8005\n\tETHERTYPE_IEEEPUP                 = 0xa00\n\tETHERTYPE_IEEEPUPAT               = 0xa01\n\tETHERTYPE_IMLBL                   = 0x4c42\n\tETHERTYPE_IMLBLDIAG               = 0x424c\n\tETHERTYPE_IP                      = 0x800\n\tETHERTYPE_IPAS                    = 0x876c\n\tETHERTYPE_IPV6                    = 0x86dd\n\tETHERTYPE_IPX                     = 0x8137\n\tETHERTYPE_IPXNEW                  = 0x8037\n\tETHERTYPE_KALPANA                 = 0x8582\n\tETHERTYPE_LANBRIDGE               = 0x8038\n\tETHERTYPE_LANPROBE                = 0x8888\n\tETHERTYPE_LAT                     = 0x6004\n\tETHERTYPE_LBACK                   = 0x9000\n\tETHERTYPE_LITTLE                  = 0x8060\n\tETHERTYPE_LLDP                    = 0x88cc\n\tETHERTYPE_LOGICRAFT               = 0x8148\n\tETHERTYPE_LOOPBACK                = 0x9000\n\tETHERTYPE_MATRA                   = 0x807a\n\tETHERTYPE_MAX                     = 0xffff\n\tETHERTYPE_MERIT                   = 0x807c\n\tETHERTYPE_MICP                    = 0x873a\n\tETHERTYPE_MOPDL                   = 0x6001\n\tETHERTYPE_MOPRC                   = 0x6002\n\tETHERTYPE_MOTOROLA                = 0x818d\n\tETHERTYPE_MPLS                    = 0x8847\n\tETHERTYPE_MPLS_MCAST              = 0x8848\n\tETHERTYPE_MUMPS                   = 0x813f\n\tETHERTYPE_NBPCC                   = 0x3c04\n\tETHERTYPE_NBPCLAIM                = 0x3c09\n\tETHERTYPE_NBPCLREQ                = 0x3c05\n\tETHERTYPE_NBPCLRSP                = 0x3c06\n\tETHERTYPE_NBPCREQ                 = 0x3c02\n\tETHERTYPE_NBPCRSP                 = 0x3c03\n\tETHERTYPE_NBPDG                   = 0x3c07\n\tETHERTYPE_NBPDGB                  = 0x3c08\n\tETHERTYPE_NBPDLTE                 = 0x3c0a\n\tETHERTYPE_NBPRAR                  = 0x3c0c\n\tETHERTYPE_NBPRAS                  = 0x3c0b\n\tETHERTYPE_NBPRST                  = 0x3c0d\n\tETHERTYPE_NBPSCD                  = 0x3c01\n\tETHERTYPE_NBPVCD                  = 0x3c00\n\tETHERTYPE_NBS                     = 0x802\n\tETHERTYPE_NCD                     = 0x8149\n\tETHERTYPE_NESTAR                  = 0x8006\n\tETHERTYPE_NETBEUI                 = 0x8191\n\tETHERTYPE_NOVELL                  = 0x8138\n\tETHERTYPE_NS                      = 0x600\n\tETHERTYPE_NSAT                    = 0x601\n\tETHERTYPE_NSCOMPAT                = 0x807\n\tETHERTYPE_NTRAILER                = 0x10\n\tETHERTYPE_OS9                     = 0x7007\n\tETHERTYPE_OS9NET                  = 0x7009\n\tETHERTYPE_PACER                   = 0x80c6\n\tETHERTYPE_PAE                     = 0x888e\n\tETHERTYPE_PCS                     = 0x4242\n\tETHERTYPE_PLANNING                = 0x8044\n\tETHERTYPE_PPP                     = 0x880b\n\tETHERTYPE_PPPOE                   = 0x8864\n\tETHERTYPE_PPPOEDISC               = 0x8863\n\tETHERTYPE_PRIMENTS                = 0x7031\n\tETHERTYPE_PUP                     = 0x200\n\tETHERTYPE_PUPAT                   = 0x200\n\tETHERTYPE_QINQ                    = 0x88a8\n\tETHERTYPE_RACAL                   = 0x7030\n\tETHERTYPE_RATIONAL                = 0x8150\n\tETHERTYPE_RAWFR                   = 0x6559\n\tETHERTYPE_RCL                     = 0x1995\n\tETHERTYPE_RDP                     = 0x8739\n\tETHERTYPE_RETIX                   = 0x80f2\n\tETHERTYPE_REVARP                  = 0x8035\n\tETHERTYPE_SCA                     = 0x6007\n\tETHERTYPE_SECTRA                  = 0x86db\n\tETHERTYPE_SECUREDATA              = 0x876d\n\tETHERTYPE_SGITW                   = 0x817e\n\tETHERTYPE_SG_BOUNCE               = 0x8016\n\tETHERTYPE_SG_DIAG                 = 0x8013\n\tETHERTYPE_SG_NETGAMES             = 0x8014\n\tETHERTYPE_SG_RESV                 = 0x8015\n\tETHERTYPE_SIMNET                  = 0x5208\n\tETHERTYPE_SLOW                    = 0x8809\n\tETHERTYPE_SNA                     = 0x80d5\n\tETHERTYPE_SNMP                    = 0x814c\n\tETHERTYPE_SONIX                   = 0xfaf5\n\tETHERTYPE_SPIDER                  = 0x809f\n\tETHERTYPE_SPRITE                  = 0x500\n\tETHERTYPE_STP                     = 0x8181\n\tETHERTYPE_TALARIS                 = 0x812b\n\tETHERTYPE_TALARISMC               = 0x852b\n\tETHERTYPE_TCPCOMP                 = 0x876b\n\tETHERTYPE_TCPSM                   = 0x9002\n\tETHERTYPE_TEC                     = 0x814f\n\tETHERTYPE_TIGAN                   = 0x802f\n\tETHERTYPE_TRAIL                   = 0x1000\n\tETHERTYPE_TRANSETHER              = 0x6558\n\tETHERTYPE_TYMSHARE                = 0x802e\n\tETHERTYPE_UBBST                   = 0x7005\n\tETHERTYPE_UBDEBUG                 = 0x900\n\tETHERTYPE_UBDIAGLOOP              = 0x7002\n\tETHERTYPE_UBDL                    = 0x7000\n\tETHERTYPE_UBNIU                   = 0x7001\n\tETHERTYPE_UBNMC                   = 0x7003\n\tETHERTYPE_VALID                   = 0x1600\n\tETHERTYPE_VARIAN                  = 0x80dd\n\tETHERTYPE_VAXELN                  = 0x803b\n\tETHERTYPE_VEECO                   = 0x8067\n\tETHERTYPE_VEXP                    = 0x805b\n\tETHERTYPE_VGLAB                   = 0x8131\n\tETHERTYPE_VINES                   = 0xbad\n\tETHERTYPE_VINESECHO               = 0xbaf\n\tETHERTYPE_VINESLOOP               = 0xbae\n\tETHERTYPE_VITAL                   = 0xff00\n\tETHERTYPE_VLAN                    = 0x8100\n\tETHERTYPE_VLTLMAN                 = 0x8080\n\tETHERTYPE_VPROD                   = 0x805c\n\tETHERTYPE_VURESERVED              = 0x8147\n\tETHERTYPE_WATERLOO                = 0x8130\n\tETHERTYPE_WELLFLEET               = 0x8103\n\tETHERTYPE_X25                     = 0x805\n\tETHERTYPE_X75                     = 0x801\n\tETHERTYPE_XNSSM                   = 0x9001\n\tETHERTYPE_XTP                     = 0x817d\n\tETHER_ADDR_LEN                    = 0x6\n\tETHER_ALIGN                       = 0x2\n\tETHER_CRC_LEN                     = 0x4\n\tETHER_CRC_POLY_BE                 = 0x4c11db6\n\tETHER_CRC_POLY_LE                 = 0xedb88320\n\tETHER_HDR_LEN                     = 0xe\n\tETHER_MAX_DIX_LEN                 = 0x600\n\tETHER_MAX_HARDMTU_LEN             = 0xff9b\n\tETHER_MAX_LEN                     = 0x5ee\n\tETHER_MIN_LEN                     = 0x40\n\tETHER_TYPE_LEN                    = 0x2\n\tETHER_VLAN_ENCAP_LEN              = 0x4\n\tEVFILT_AIO                        = -0x3\n\tEVFILT_DEVICE                     = -0x8\n\tEVFILT_PROC                       = -0x5\n\tEVFILT_READ                       = -0x1\n\tEVFILT_SIGNAL                     = -0x6\n\tEVFILT_SYSCOUNT                   = 0x8\n\tEVFILT_TIMER                      = -0x7\n\tEVFILT_VNODE                      = -0x4\n\tEVFILT_WRITE                      = -0x2\n\tEVL_ENCAPLEN                      = 0x4\n\tEVL_PRIO_BITS                     = 0xd\n\tEVL_PRIO_MAX                      = 0x7\n\tEVL_VLID_MASK                     = 0xfff\n\tEVL_VLID_MAX                      = 0xffe\n\tEVL_VLID_MIN                      = 0x1\n\tEVL_VLID_NULL                     = 0x0\n\tEV_ADD                            = 0x1\n\tEV_CLEAR                          = 0x20\n\tEV_DELETE                         = 0x2\n\tEV_DISABLE                        = 0x8\n\tEV_DISPATCH                       = 0x80\n\tEV_ENABLE                         = 0x4\n\tEV_EOF                            = 0x8000\n\tEV_ERROR                          = 0x4000\n\tEV_FLAG1                          = 0x2000\n\tEV_ONESHOT                        = 0x10\n\tEV_RECEIPT                        = 0x40\n\tEV_SYSFLAGS                       = 0xf000\n\tEXTA                              = 0x4b00\n\tEXTB                              = 0x9600\n\tEXTPROC                           = 0x800\n\tFD_CLOEXEC                        = 0x1\n\tFD_SETSIZE                        = 0x400\n\tFLUSHO                            = 0x800000\n\tF_DUPFD                           = 0x0\n\tF_DUPFD_CLOEXEC                   = 0xa\n\tF_GETFD                           = 0x1\n\tF_GETFL                           = 0x3\n\tF_GETLK                           = 0x7\n\tF_GETOWN                          = 0x5\n\tF_ISATTY                          = 0xb\n\tF_OK                              = 0x0\n\tF_RDLCK                           = 0x1\n\tF_SETFD                           = 0x2\n\tF_SETFL                           = 0x4\n\tF_SETLK                           = 0x8\n\tF_SETLKW                          = 0x9\n\tF_SETOWN                          = 0x6\n\tF_UNLCK                           = 0x2\n\tF_WRLCK                           = 0x3\n\tHUPCL                             = 0x4000\n\tHW_MACHINE                        = 0x1\n\tICANON                            = 0x100\n\tICMP6_FILTER                      = 0x12\n\tICRNL                             = 0x100\n\tIEXTEN                            = 0x400\n\tIFAN_ARRIVAL                      = 0x0\n\tIFAN_DEPARTURE                    = 0x1\n\tIFF_ALLMULTI                      = 0x200\n\tIFF_BROADCAST                     = 0x2\n\tIFF_CANTCHANGE                    = 0x8e52\n\tIFF_DEBUG                         = 0x4\n\tIFF_LINK0                         = 0x1000\n\tIFF_LINK1                         = 0x2000\n\tIFF_LINK2                         = 0x4000\n\tIFF_LOOPBACK                      = 0x8\n\tIFF_MULTICAST                     = 0x8000\n\tIFF_NOARP                         = 0x80\n\tIFF_OACTIVE                       = 0x400\n\tIFF_POINTOPOINT                   = 0x10\n\tIFF_PROMISC                       = 0x100\n\tIFF_RUNNING                       = 0x40\n\tIFF_SIMPLEX                       = 0x800\n\tIFF_STATICARP                     = 0x20\n\tIFF_UP                            = 0x1\n\tIFNAMSIZ                          = 0x10\n\tIFT_1822                          = 0x2\n\tIFT_A12MPPSWITCH                  = 0x82\n\tIFT_AAL2                          = 0xbb\n\tIFT_AAL5                          = 0x31\n\tIFT_ADSL                          = 0x5e\n\tIFT_AFLANE8023                    = 0x3b\n\tIFT_AFLANE8025                    = 0x3c\n\tIFT_ARAP                          = 0x58\n\tIFT_ARCNET                        = 0x23\n\tIFT_ARCNETPLUS                    = 0x24\n\tIFT_ASYNC                         = 0x54\n\tIFT_ATM                           = 0x25\n\tIFT_ATMDXI                        = 0x69\n\tIFT_ATMFUNI                       = 0x6a\n\tIFT_ATMIMA                        = 0x6b\n\tIFT_ATMLOGICAL                    = 0x50\n\tIFT_ATMRADIO                      = 0xbd\n\tIFT_ATMSUBINTERFACE               = 0x86\n\tIFT_ATMVCIENDPT                   = 0xc2\n\tIFT_ATMVIRTUAL                    = 0x95\n\tIFT_BGPPOLICYACCOUNTING           = 0xa2\n\tIFT_BLUETOOTH                     = 0xf8\n\tIFT_BRIDGE                        = 0xd1\n\tIFT_BSC                           = 0x53\n\tIFT_CARP                          = 0xf7\n\tIFT_CCTEMUL                       = 0x3d\n\tIFT_CEPT                          = 0x13\n\tIFT_CES                           = 0x85\n\tIFT_CHANNEL                       = 0x46\n\tIFT_CNR                           = 0x55\n\tIFT_COFFEE                        = 0x84\n\tIFT_COMPOSITELINK                 = 0x9b\n\tIFT_DCN                           = 0x8d\n\tIFT_DIGITALPOWERLINE              = 0x8a\n\tIFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba\n\tIFT_DLSW                          = 0x4a\n\tIFT_DOCSCABLEDOWNSTREAM           = 0x80\n\tIFT_DOCSCABLEMACLAYER             = 0x7f\n\tIFT_DOCSCABLEUPSTREAM             = 0x81\n\tIFT_DOCSCABLEUPSTREAMCHANNEL      = 0xcd\n\tIFT_DS0                           = 0x51\n\tIFT_DS0BUNDLE                     = 0x52\n\tIFT_DS1FDL                        = 0xaa\n\tIFT_DS3                           = 0x1e\n\tIFT_DTM                           = 0x8c\n\tIFT_DUMMY                         = 0xf1\n\tIFT_DVBASILN                      = 0xac\n\tIFT_DVBASIOUT                     = 0xad\n\tIFT_DVBRCCDOWNSTREAM              = 0x93\n\tIFT_DVBRCCMACLAYER                = 0x92\n\tIFT_DVBRCCUPSTREAM                = 0x94\n\tIFT_ECONET                        = 0xce\n\tIFT_ENC                           = 0xf4\n\tIFT_EON                           = 0x19\n\tIFT_EPLRS                         = 0x57\n\tIFT_ESCON                         = 0x49\n\tIFT_ETHER                         = 0x6\n\tIFT_FAITH                         = 0xf3\n\tIFT_FAST                          = 0x7d\n\tIFT_FASTETHER                     = 0x3e\n\tIFT_FASTETHERFX                   = 0x45\n\tIFT_FDDI                          = 0xf\n\tIFT_FIBRECHANNEL                  = 0x38\n\tIFT_FRAMERELAYINTERCONNECT        = 0x3a\n\tIFT_FRAMERELAYMPI                 = 0x5c\n\tIFT_FRDLCIENDPT                   = 0xc1\n\tIFT_FRELAY                        = 0x20\n\tIFT_FRELAYDCE                     = 0x2c\n\tIFT_FRF16MFRBUNDLE                = 0xa3\n\tIFT_FRFORWARD                     = 0x9e\n\tIFT_G703AT2MB                     = 0x43\n\tIFT_G703AT64K                     = 0x42\n\tIFT_GIF                           = 0xf0\n\tIFT_GIGABITETHERNET               = 0x75\n\tIFT_GR303IDT                      = 0xb2\n\tIFT_GR303RDT                      = 0xb1\n\tIFT_H323GATEKEEPER                = 0xa4\n\tIFT_H323PROXY                     = 0xa5\n\tIFT_HDH1822                       = 0x3\n\tIFT_HDLC                          = 0x76\n\tIFT_HDSL2                         = 0xa8\n\tIFT_HIPERLAN2                     = 0xb7\n\tIFT_HIPPI                         = 0x2f\n\tIFT_HIPPIINTERFACE                = 0x39\n\tIFT_HOSTPAD                       = 0x5a\n\tIFT_HSSI                          = 0x2e\n\tIFT_HY                            = 0xe\n\tIFT_IBM370PARCHAN                 = 0x48\n\tIFT_IDSL                          = 0x9a\n\tIFT_IEEE1394                      = 0x90\n\tIFT_IEEE80211                     = 0x47\n\tIFT_IEEE80212                     = 0x37\n\tIFT_IEEE8023ADLAG                 = 0xa1\n\tIFT_IFGSN                         = 0x91\n\tIFT_IMT                           = 0xbe\n\tIFT_INFINIBAND                    = 0xc7\n\tIFT_INTERLEAVE                    = 0x7c\n\tIFT_IP                            = 0x7e\n\tIFT_IPFORWARD                     = 0x8e\n\tIFT_IPOVERATM                     = 0x72\n\tIFT_IPOVERCDLC                    = 0x6d\n\tIFT_IPOVERCLAW                    = 0x6e\n\tIFT_IPSWITCH                      = 0x4e\n\tIFT_ISDN                          = 0x3f\n\tIFT_ISDNBASIC                     = 0x14\n\tIFT_ISDNPRIMARY                   = 0x15\n\tIFT_ISDNS                         = 0x4b\n\tIFT_ISDNU                         = 0x4c\n\tIFT_ISO88022LLC                   = 0x29\n\tIFT_ISO88023                      = 0x7\n\tIFT_ISO88024                      = 0x8\n\tIFT_ISO88025                      = 0x9\n\tIFT_ISO88025CRFPINT               = 0x62\n\tIFT_ISO88025DTR                   = 0x56\n\tIFT_ISO88025FIBER                 = 0x73\n\tIFT_ISO88026                      = 0xa\n\tIFT_ISUP                          = 0xb3\n\tIFT_L2VLAN                        = 0x87\n\tIFT_L3IPVLAN                      = 0x88\n\tIFT_L3IPXVLAN                     = 0x89\n\tIFT_LAPB                          = 0x10\n\tIFT_LAPD                          = 0x4d\n\tIFT_LAPF                          = 0x77\n\tIFT_LINEGROUP                     = 0xd2\n\tIFT_LOCALTALK                     = 0x2a\n\tIFT_LOOP                          = 0x18\n\tIFT_MBIM                          = 0xfa\n\tIFT_MEDIAMAILOVERIP               = 0x8b\n\tIFT_MFSIGLINK                     = 0xa7\n\tIFT_MIOX25                        = 0x26\n\tIFT_MODEM                         = 0x30\n\tIFT_MPC                           = 0x71\n\tIFT_MPLS                          = 0xa6\n\tIFT_MPLSTUNNEL                    = 0x96\n\tIFT_MSDSL                         = 0x8f\n\tIFT_MVL                           = 0xbf\n\tIFT_MYRINET                       = 0x63\n\tIFT_NFAS                          = 0xaf\n\tIFT_NSIP                          = 0x1b\n\tIFT_OPTICALCHANNEL                = 0xc3\n\tIFT_OPTICALTRANSPORT              = 0xc4\n\tIFT_OTHER                         = 0x1\n\tIFT_P10                           = 0xc\n\tIFT_P80                           = 0xd\n\tIFT_PARA                          = 0x22\n\tIFT_PFLOG                         = 0xf5\n\tIFT_PFLOW                         = 0xf9\n\tIFT_PFSYNC                        = 0xf6\n\tIFT_PLC                           = 0xae\n\tIFT_PON155                        = 0xcf\n\tIFT_PON622                        = 0xd0\n\tIFT_POS                           = 0xab\n\tIFT_PPP                           = 0x17\n\tIFT_PPPMULTILINKBUNDLE            = 0x6c\n\tIFT_PROPATM                       = 0xc5\n\tIFT_PROPBWAP2MP                   = 0xb8\n\tIFT_PROPCNLS                      = 0x59\n\tIFT_PROPDOCSWIRELESSDOWNSTREAM    = 0xb5\n\tIFT_PROPDOCSWIRELESSMACLAYER      = 0xb4\n\tIFT_PROPDOCSWIRELESSUPSTREAM      = 0xb6\n\tIFT_PROPMUX                       = 0x36\n\tIFT_PROPVIRTUAL                   = 0x35\n\tIFT_PROPWIRELESSP2P               = 0x9d\n\tIFT_PTPSERIAL                     = 0x16\n\tIFT_PVC                           = 0xf2\n\tIFT_Q2931                         = 0xc9\n\tIFT_QLLC                          = 0x44\n\tIFT_RADIOMAC                      = 0xbc\n\tIFT_RADSL                         = 0x5f\n\tIFT_REACHDSL                      = 0xc0\n\tIFT_RFC1483                       = 0x9f\n\tIFT_RS232                         = 0x21\n\tIFT_RSRB                          = 0x4f\n\tIFT_SDLC                          = 0x11\n\tIFT_SDSL                          = 0x60\n\tIFT_SHDSL                         = 0xa9\n\tIFT_SIP                           = 0x1f\n\tIFT_SIPSIG                        = 0xcc\n\tIFT_SIPTG                         = 0xcb\n\tIFT_SLIP                          = 0x1c\n\tIFT_SMDSDXI                       = 0x2b\n\tIFT_SMDSICIP                      = 0x34\n\tIFT_SONET                         = 0x27\n\tIFT_SONETOVERHEADCHANNEL          = 0xb9\n\tIFT_SONETPATH                     = 0x32\n\tIFT_SONETVT                       = 0x33\n\tIFT_SRP                           = 0x97\n\tIFT_SS7SIGLINK                    = 0x9c\n\tIFT_STACKTOSTACK                  = 0x6f\n\tIFT_STARLAN                       = 0xb\n\tIFT_T1                            = 0x12\n\tIFT_TDLC                          = 0x74\n\tIFT_TELINK                        = 0xc8\n\tIFT_TERMPAD                       = 0x5b\n\tIFT_TR008                         = 0xb0\n\tIFT_TRANSPHDLC                    = 0x7b\n\tIFT_TUNNEL                        = 0x83\n\tIFT_ULTRA                         = 0x1d\n\tIFT_USB                           = 0xa0\n\tIFT_V11                           = 0x40\n\tIFT_V35                           = 0x2d\n\tIFT_V36                           = 0x41\n\tIFT_V37                           = 0x78\n\tIFT_VDSL                          = 0x61\n\tIFT_VIRTUALIPADDRESS              = 0x70\n\tIFT_VIRTUALTG                     = 0xca\n\tIFT_VOICEDID                      = 0xd5\n\tIFT_VOICEEM                       = 0x64\n\tIFT_VOICEEMFGD                    = 0xd3\n\tIFT_VOICEENCAP                    = 0x67\n\tIFT_VOICEFGDEANA                  = 0xd4\n\tIFT_VOICEFXO                      = 0x65\n\tIFT_VOICEFXS                      = 0x66\n\tIFT_VOICEOVERATM                  = 0x98\n\tIFT_VOICEOVERCABLE                = 0xc6\n\tIFT_VOICEOVERFRAMERELAY           = 0x99\n\tIFT_VOICEOVERIP                   = 0x68\n\tIFT_X213                          = 0x5d\n\tIFT_X25                           = 0x5\n\tIFT_X25DDN                        = 0x4\n\tIFT_X25HUNTGROUP                  = 0x7a\n\tIFT_X25MLP                        = 0x79\n\tIFT_X25PLE                        = 0x28\n\tIFT_XETHER                        = 0x1a\n\tIGNBRK                            = 0x1\n\tIGNCR                             = 0x80\n\tIGNPAR                            = 0x4\n\tIMAXBEL                           = 0x2000\n\tINLCR                             = 0x40\n\tINPCK                             = 0x10\n\tIN_CLASSA_HOST                    = 0xffffff\n\tIN_CLASSA_MAX                     = 0x80\n\tIN_CLASSA_NET                     = 0xff000000\n\tIN_CLASSA_NSHIFT                  = 0x18\n\tIN_CLASSB_HOST                    = 0xffff\n\tIN_CLASSB_MAX                     = 0x10000\n\tIN_CLASSB_NET                     = 0xffff0000\n\tIN_CLASSB_NSHIFT                  = 0x10\n\tIN_CLASSC_HOST                    = 0xff\n\tIN_CLASSC_NET                     = 0xffffff00\n\tIN_CLASSC_NSHIFT                  = 0x8\n\tIN_CLASSD_HOST                    = 0xfffffff\n\tIN_CLASSD_NET                     = 0xf0000000\n\tIN_CLASSD_NSHIFT                  = 0x1c\n\tIN_LOOPBACKNET                    = 0x7f\n\tIN_RFC3021_HOST                   = 0x1\n\tIN_RFC3021_NET                    = 0xfffffffe\n\tIN_RFC3021_NSHIFT                 = 0x1f\n\tIPPROTO_AH                        = 0x33\n\tIPPROTO_CARP                      = 0x70\n\tIPPROTO_DIVERT                    = 0x102\n\tIPPROTO_DONE                      = 0x101\n\tIPPROTO_DSTOPTS                   = 0x3c\n\tIPPROTO_EGP                       = 0x8\n\tIPPROTO_ENCAP                     = 0x62\n\tIPPROTO_EON                       = 0x50\n\tIPPROTO_ESP                       = 0x32\n\tIPPROTO_ETHERIP                   = 0x61\n\tIPPROTO_FRAGMENT                  = 0x2c\n\tIPPROTO_GGP                       = 0x3\n\tIPPROTO_GRE                       = 0x2f\n\tIPPROTO_HOPOPTS                   = 0x0\n\tIPPROTO_ICMP                      = 0x1\n\tIPPROTO_ICMPV6                    = 0x3a\n\tIPPROTO_IDP                       = 0x16\n\tIPPROTO_IGMP                      = 0x2\n\tIPPROTO_IP                        = 0x0\n\tIPPROTO_IPCOMP                    = 0x6c\n\tIPPROTO_IPIP                      = 0x4\n\tIPPROTO_IPV4                      = 0x4\n\tIPPROTO_IPV6                      = 0x29\n\tIPPROTO_MAX                       = 0x100\n\tIPPROTO_MAXID                     = 0x103\n\tIPPROTO_MOBILE                    = 0x37\n\tIPPROTO_MPLS                      = 0x89\n\tIPPROTO_NONE                      = 0x3b\n\tIPPROTO_PFSYNC                    = 0xf0\n\tIPPROTO_PIM                       = 0x67\n\tIPPROTO_PUP                       = 0xc\n\tIPPROTO_RAW                       = 0xff\n\tIPPROTO_ROUTING                   = 0x2b\n\tIPPROTO_RSVP                      = 0x2e\n\tIPPROTO_TCP                       = 0x6\n\tIPPROTO_TP                        = 0x1d\n\tIPPROTO_UDP                       = 0x11\n\tIPV6_AUTH_LEVEL                   = 0x35\n\tIPV6_AUTOFLOWLABEL                = 0x3b\n\tIPV6_CHECKSUM                     = 0x1a\n\tIPV6_DEFAULT_MULTICAST_HOPS       = 0x1\n\tIPV6_DEFAULT_MULTICAST_LOOP       = 0x1\n\tIPV6_DEFHLIM                      = 0x40\n\tIPV6_DONTFRAG                     = 0x3e\n\tIPV6_DSTOPTS                      = 0x32\n\tIPV6_ESP_NETWORK_LEVEL            = 0x37\n\tIPV6_ESP_TRANS_LEVEL              = 0x36\n\tIPV6_FAITH                        = 0x1d\n\tIPV6_FLOWINFO_MASK                = 0xffffff0f\n\tIPV6_FLOWLABEL_MASK               = 0xffff0f00\n\tIPV6_FRAGTTL                      = 0x78\n\tIPV6_HLIMDEC                      = 0x1\n\tIPV6_HOPLIMIT                     = 0x2f\n\tIPV6_HOPOPTS                      = 0x31\n\tIPV6_IPCOMP_LEVEL                 = 0x3c\n\tIPV6_JOIN_GROUP                   = 0xc\n\tIPV6_LEAVE_GROUP                  = 0xd\n\tIPV6_MAXHLIM                      = 0xff\n\tIPV6_MAXPACKET                    = 0xffff\n\tIPV6_MINHOPCOUNT                  = 0x41\n\tIPV6_MMTU                         = 0x500\n\tIPV6_MULTICAST_HOPS               = 0xa\n\tIPV6_MULTICAST_IF                 = 0x9\n\tIPV6_MULTICAST_LOOP               = 0xb\n\tIPV6_NEXTHOP                      = 0x30\n\tIPV6_OPTIONS                      = 0x1\n\tIPV6_PATHMTU                      = 0x2c\n\tIPV6_PIPEX                        = 0x3f\n\tIPV6_PKTINFO                      = 0x2e\n\tIPV6_PORTRANGE                    = 0xe\n\tIPV6_PORTRANGE_DEFAULT            = 0x0\n\tIPV6_PORTRANGE_HIGH               = 0x1\n\tIPV6_PORTRANGE_LOW                = 0x2\n\tIPV6_RECVDSTOPTS                  = 0x28\n\tIPV6_RECVDSTPORT                  = 0x40\n\tIPV6_RECVHOPLIMIT                 = 0x25\n\tIPV6_RECVHOPOPTS                  = 0x27\n\tIPV6_RECVPATHMTU                  = 0x2b\n\tIPV6_RECVPKTINFO                  = 0x24\n\tIPV6_RECVRTHDR                    = 0x26\n\tIPV6_RECVTCLASS                   = 0x39\n\tIPV6_RTABLE                       = 0x1021\n\tIPV6_RTHDR                        = 0x33\n\tIPV6_RTHDRDSTOPTS                 = 0x23\n\tIPV6_RTHDR_LOOSE                  = 0x0\n\tIPV6_RTHDR_STRICT                 = 0x1\n\tIPV6_RTHDR_TYPE_0                 = 0x0\n\tIPV6_SOCKOPT_RESERVED1            = 0x3\n\tIPV6_TCLASS                       = 0x3d\n\tIPV6_UNICAST_HOPS                 = 0x4\n\tIPV6_USE_MIN_MTU                  = 0x2a\n\tIPV6_V6ONLY                       = 0x1b\n\tIPV6_VERSION                      = 0x60\n\tIPV6_VERSION_MASK                 = 0xf0\n\tIP_ADD_MEMBERSHIP                 = 0xc\n\tIP_AUTH_LEVEL                     = 0x14\n\tIP_DEFAULT_MULTICAST_LOOP         = 0x1\n\tIP_DEFAULT_MULTICAST_TTL          = 0x1\n\tIP_DF                             = 0x4000\n\tIP_DROP_MEMBERSHIP                = 0xd\n\tIP_ESP_NETWORK_LEVEL              = 0x16\n\tIP_ESP_TRANS_LEVEL                = 0x15\n\tIP_HDRINCL                        = 0x2\n\tIP_IPCOMP_LEVEL                   = 0x1d\n\tIP_IPDEFTTL                       = 0x25\n\tIP_IPSECFLOWINFO                  = 0x24\n\tIP_IPSEC_LOCAL_AUTH               = 0x1b\n\tIP_IPSEC_LOCAL_CRED               = 0x19\n\tIP_IPSEC_LOCAL_ID                 = 0x17\n\tIP_IPSEC_REMOTE_AUTH              = 0x1c\n\tIP_IPSEC_REMOTE_CRED              = 0x1a\n\tIP_IPSEC_REMOTE_ID                = 0x18\n\tIP_MAXPACKET                      = 0xffff\n\tIP_MAX_MEMBERSHIPS                = 0xfff\n\tIP_MF                             = 0x2000\n\tIP_MINTTL                         = 0x20\n\tIP_MIN_MEMBERSHIPS                = 0xf\n\tIP_MSS                            = 0x240\n\tIP_MULTICAST_IF                   = 0x9\n\tIP_MULTICAST_LOOP                 = 0xb\n\tIP_MULTICAST_TTL                  = 0xa\n\tIP_OFFMASK                        = 0x1fff\n\tIP_OPTIONS                        = 0x1\n\tIP_PIPEX                          = 0x22\n\tIP_PORTRANGE                      = 0x13\n\tIP_PORTRANGE_DEFAULT              = 0x0\n\tIP_PORTRANGE_HIGH                 = 0x1\n\tIP_PORTRANGE_LOW                  = 0x2\n\tIP_RECVDSTADDR                    = 0x7\n\tIP_RECVDSTPORT                    = 0x21\n\tIP_RECVIF                         = 0x1e\n\tIP_RECVOPTS                       = 0x5\n\tIP_RECVRETOPTS                    = 0x6\n\tIP_RECVRTABLE                     = 0x23\n\tIP_RECVTTL                        = 0x1f\n\tIP_RETOPTS                        = 0x8\n\tIP_RF                             = 0x8000\n\tIP_RTABLE                         = 0x1021\n\tIP_SENDSRCADDR                    = 0x7\n\tIP_TOS                            = 0x3\n\tIP_TTL                            = 0x4\n\tISIG                              = 0x80\n\tISTRIP                            = 0x20\n\tIUCLC                             = 0x1000\n\tIXANY                             = 0x800\n\tIXOFF                             = 0x400\n\tIXON                              = 0x200\n\tKERN_HOSTNAME                     = 0xa\n\tKERN_OSRELEASE                    = 0x2\n\tKERN_OSTYPE                       = 0x1\n\tKERN_VERSION                      = 0x4\n\tLCNT_OVERLOAD_FLUSH               = 0x6\n\tLOCK_EX                           = 0x2\n\tLOCK_NB                           = 0x4\n\tLOCK_SH                           = 0x1\n\tLOCK_UN                           = 0x8\n\tMADV_DONTNEED                     = 0x4\n\tMADV_FREE                         = 0x6\n\tMADV_NORMAL                       = 0x0\n\tMADV_RANDOM                       = 0x1\n\tMADV_SEQUENTIAL                   = 0x2\n\tMADV_SPACEAVAIL                   = 0x5\n\tMADV_WILLNEED                     = 0x3\n\tMAP_ANON                          = 0x1000\n\tMAP_ANONYMOUS                     = 0x1000\n\tMAP_COPY                          = 0x2\n\tMAP_FILE                          = 0x0\n\tMAP_FIXED                         = 0x10\n\tMAP_FLAGMASK                      = 0x7ff7\n\tMAP_HASSEMAPHORE                  = 0x0\n\tMAP_INHERIT                       = 0x0\n\tMAP_INHERIT_COPY                  = 0x1\n\tMAP_INHERIT_NONE                  = 0x2\n\tMAP_INHERIT_SHARE                 = 0x0\n\tMAP_INHERIT_ZERO                  = 0x3\n\tMAP_NOEXTEND                      = 0x0\n\tMAP_NORESERVE                     = 0x0\n\tMAP_PRIVATE                       = 0x2\n\tMAP_RENAME                        = 0x0\n\tMAP_SHARED                        = 0x1\n\tMAP_STACK                         = 0x4000\n\tMAP_TRYFIXED                      = 0x0\n\tMCL_CURRENT                       = 0x1\n\tMCL_FUTURE                        = 0x2\n\tMSG_BCAST                         = 0x100\n\tMSG_CMSG_CLOEXEC                  = 0x800\n\tMSG_CTRUNC                        = 0x20\n\tMSG_DONTROUTE                     = 0x4\n\tMSG_DONTWAIT                      = 0x80\n\tMSG_EOR                           = 0x8\n\tMSG_MCAST                         = 0x200\n\tMSG_NOSIGNAL                      = 0x400\n\tMSG_OOB                           = 0x1\n\tMSG_PEEK                          = 0x2\n\tMSG_TRUNC                         = 0x10\n\tMSG_WAITALL                       = 0x40\n\tMS_ASYNC                          = 0x1\n\tMS_INVALIDATE                     = 0x4\n\tMS_SYNC                           = 0x2\n\tNAME_MAX                          = 0xff\n\tNET_RT_DUMP                       = 0x1\n\tNET_RT_FLAGS                      = 0x2\n\tNET_RT_IFLIST                     = 0x3\n\tNET_RT_IFNAMES                    = 0x6\n\tNET_RT_MAXID                      = 0x7\n\tNET_RT_STATS                      = 0x4\n\tNET_RT_TABLE                      = 0x5\n\tNOFLSH                            = 0x80000000\n\tNOKERNINFO                        = 0x2000000\n\tNOTE_ATTRIB                       = 0x8\n\tNOTE_CHANGE                       = 0x1\n\tNOTE_CHILD                        = 0x4\n\tNOTE_DELETE                       = 0x1\n\tNOTE_EOF                          = 0x2\n\tNOTE_EXEC                         = 0x20000000\n\tNOTE_EXIT                         = 0x80000000\n\tNOTE_EXTEND                       = 0x4\n\tNOTE_FORK                         = 0x40000000\n\tNOTE_LINK                         = 0x10\n\tNOTE_LOWAT                        = 0x1\n\tNOTE_PCTRLMASK                    = 0xf0000000\n\tNOTE_PDATAMASK                    = 0xfffff\n\tNOTE_RENAME                       = 0x20\n\tNOTE_REVOKE                       = 0x40\n\tNOTE_TRACK                        = 0x1\n\tNOTE_TRACKERR                     = 0x2\n\tNOTE_TRUNCATE                     = 0x80\n\tNOTE_WRITE                        = 0x2\n\tOCRNL                             = 0x10\n\tOLCUC                             = 0x20\n\tONLCR                             = 0x2\n\tONLRET                            = 0x80\n\tONOCR                             = 0x40\n\tONOEOT                            = 0x8\n\tOPOST                             = 0x1\n\tOXTABS                            = 0x4\n\tO_ACCMODE                         = 0x3\n\tO_APPEND                          = 0x8\n\tO_ASYNC                           = 0x40\n\tO_CLOEXEC                         = 0x10000\n\tO_CREAT                           = 0x200\n\tO_DIRECTORY                       = 0x20000\n\tO_DSYNC                           = 0x80\n\tO_EXCL                            = 0x800\n\tO_EXLOCK                          = 0x20\n\tO_FSYNC                           = 0x80\n\tO_NDELAY                          = 0x4\n\tO_NOCTTY                          = 0x8000\n\tO_NOFOLLOW                        = 0x100\n\tO_NONBLOCK                        = 0x4\n\tO_RDONLY                          = 0x0\n\tO_RDWR                            = 0x2\n\tO_RSYNC                           = 0x80\n\tO_SHLOCK                          = 0x10\n\tO_SYNC                            = 0x80\n\tO_TRUNC                           = 0x400\n\tO_WRONLY                          = 0x1\n\tPARENB                            = 0x1000\n\tPARMRK                            = 0x8\n\tPARODD                            = 0x2000\n\tPENDIN                            = 0x20000000\n\tPF_FLUSH                          = 0x1\n\tPRIO_PGRP                         = 0x1\n\tPRIO_PROCESS                      = 0x0\n\tPRIO_USER                         = 0x2\n\tPROT_EXEC                         = 0x4\n\tPROT_NONE                         = 0x0\n\tPROT_READ                         = 0x1\n\tPROT_WRITE                        = 0x2\n\tRLIMIT_CORE                       = 0x4\n\tRLIMIT_CPU                        = 0x0\n\tRLIMIT_DATA                       = 0x2\n\tRLIMIT_FSIZE                      = 0x1\n\tRLIMIT_MEMLOCK                    = 0x6\n\tRLIMIT_NOFILE                     = 0x8\n\tRLIMIT_NPROC                      = 0x7\n\tRLIMIT_RSS                        = 0x5\n\tRLIMIT_STACK                      = 0x3\n\tRLIM_INFINITY                     = 0x7fffffffffffffff\n\tRTAX_AUTHOR                       = 0x6\n\tRTAX_BFD                          = 0xb\n\tRTAX_BRD                          = 0x7\n\tRTAX_DNS                          = 0xc\n\tRTAX_DST                          = 0x0\n\tRTAX_GATEWAY                      = 0x1\n\tRTAX_GENMASK                      = 0x3\n\tRTAX_IFA                          = 0x5\n\tRTAX_IFP                          = 0x4\n\tRTAX_LABEL                        = 0xa\n\tRTAX_MAX                          = 0xf\n\tRTAX_NETMASK                      = 0x2\n\tRTAX_SEARCH                       = 0xe\n\tRTAX_SRC                          = 0x8\n\tRTAX_SRCMASK                      = 0x9\n\tRTAX_STATIC                       = 0xd\n\tRTA_AUTHOR                        = 0x40\n\tRTA_BFD                           = 0x800\n\tRTA_BRD                           = 0x80\n\tRTA_DNS                           = 0x1000\n\tRTA_DST                           = 0x1\n\tRTA_GATEWAY                       = 0x2\n\tRTA_GENMASK                       = 0x8\n\tRTA_IFA                           = 0x20\n\tRTA_IFP                           = 0x10\n\tRTA_LABEL                         = 0x400\n\tRTA_NETMASK                       = 0x4\n\tRTA_SEARCH                        = 0x4000\n\tRTA_SRC                           = 0x100\n\tRTA_SRCMASK                       = 0x200\n\tRTA_STATIC                        = 0x2000\n\tRTF_ANNOUNCE                      = 0x4000\n\tRTF_BFD                           = 0x1000000\n\tRTF_BLACKHOLE                     = 0x1000\n\tRTF_BROADCAST                     = 0x400000\n\tRTF_CACHED                        = 0x20000\n\tRTF_CLONED                        = 0x10000\n\tRTF_CLONING                       = 0x100\n\tRTF_CONNECTED                     = 0x800000\n\tRTF_DONE                          = 0x40\n\tRTF_DYNAMIC                       = 0x10\n\tRTF_FMASK                         = 0x110fc08\n\tRTF_GATEWAY                       = 0x2\n\tRTF_HOST                          = 0x4\n\tRTF_LLINFO                        = 0x400\n\tRTF_LOCAL                         = 0x200000\n\tRTF_MODIFIED                      = 0x20\n\tRTF_MPATH                         = 0x40000\n\tRTF_MPLS                          = 0x100000\n\tRTF_MULTICAST                     = 0x200\n\tRTF_PERMANENT_ARP                 = 0x2000\n\tRTF_PROTO1                        = 0x8000\n\tRTF_PROTO2                        = 0x4000\n\tRTF_PROTO3                        = 0x2000\n\tRTF_REJECT                        = 0x8\n\tRTF_STATIC                        = 0x800\n\tRTF_UP                            = 0x1\n\tRTF_USETRAILERS                   = 0x8000\n\tRTM_ADD                           = 0x1\n\tRTM_BFD                           = 0x12\n\tRTM_CHANGE                        = 0x3\n\tRTM_DELADDR                       = 0xd\n\tRTM_DELETE                        = 0x2\n\tRTM_DESYNC                        = 0x10\n\tRTM_GET                           = 0x4\n\tRTM_IFANNOUNCE                    = 0xf\n\tRTM_IFINFO                        = 0xe\n\tRTM_INVALIDATE                    = 0x11\n\tRTM_LOCK                          = 0x8\n\tRTM_LOSING                        = 0x5\n\tRTM_MAXSIZE                       = 0x800\n\tRTM_MISS                          = 0x7\n\tRTM_NEWADDR                       = 0xc\n\tRTM_PROPOSAL                      = 0x13\n\tRTM_REDIRECT                      = 0x6\n\tRTM_RESOLVE                       = 0xb\n\tRTM_RTTUNIT                       = 0xf4240\n\tRTM_VERSION                       = 0x5\n\tRTV_EXPIRE                        = 0x4\n\tRTV_HOPCOUNT                      = 0x2\n\tRTV_MTU                           = 0x1\n\tRTV_RPIPE                         = 0x8\n\tRTV_RTT                           = 0x40\n\tRTV_RTTVAR                        = 0x80\n\tRTV_SPIPE                         = 0x10\n\tRTV_SSTHRESH                      = 0x20\n\tRT_TABLEID_BITS                   = 0x8\n\tRT_TABLEID_MASK                   = 0xff\n\tRT_TABLEID_MAX                    = 0xff\n\tRUSAGE_CHILDREN                   = -0x1\n\tRUSAGE_SELF                       = 0x0\n\tRUSAGE_THREAD                     = 0x1\n\tSCM_RIGHTS                        = 0x1\n\tSCM_TIMESTAMP                     = 0x4\n\tSHUT_RD                           = 0x0\n\tSHUT_RDWR                         = 0x2\n\tSHUT_WR                           = 0x1\n\tSIOCADDMULTI                      = 0x80206931\n\tSIOCAIFADDR                       = 0x8040691a\n\tSIOCAIFGROUP                      = 0x80286987\n\tSIOCATMARK                        = 0x40047307\n\tSIOCBRDGADD                       = 0x8060693c\n\tSIOCBRDGADDL                      = 0x80606949\n\tSIOCBRDGADDS                      = 0x80606941\n\tSIOCBRDGARL                       = 0x808c694d\n\tSIOCBRDGDADDR                     = 0x81286947\n\tSIOCBRDGDEL                       = 0x8060693d\n\tSIOCBRDGDELS                      = 0x80606942\n\tSIOCBRDGFLUSH                     = 0x80606948\n\tSIOCBRDGFRL                       = 0x808c694e\n\tSIOCBRDGGCACHE                    = 0xc0186941\n\tSIOCBRDGGFD                       = 0xc0186952\n\tSIOCBRDGGHT                       = 0xc0186951\n\tSIOCBRDGGIFFLGS                   = 0xc060693e\n\tSIOCBRDGGMA                       = 0xc0186953\n\tSIOCBRDGGPARAM                    = 0xc0406958\n\tSIOCBRDGGPRI                      = 0xc0186950\n\tSIOCBRDGGRL                       = 0xc030694f\n\tSIOCBRDGGTO                       = 0xc0186946\n\tSIOCBRDGIFS                       = 0xc0606942\n\tSIOCBRDGRTS                       = 0xc0206943\n\tSIOCBRDGSADDR                     = 0xc1286944\n\tSIOCBRDGSCACHE                    = 0x80186940\n\tSIOCBRDGSFD                       = 0x80186952\n\tSIOCBRDGSHT                       = 0x80186951\n\tSIOCBRDGSIFCOST                   = 0x80606955\n\tSIOCBRDGSIFFLGS                   = 0x8060693f\n\tSIOCBRDGSIFPRIO                   = 0x80606954\n\tSIOCBRDGSIFPROT                   = 0x8060694a\n\tSIOCBRDGSMA                       = 0x80186953\n\tSIOCBRDGSPRI                      = 0x80186950\n\tSIOCBRDGSPROTO                    = 0x8018695a\n\tSIOCBRDGSTO                       = 0x80186945\n\tSIOCBRDGSTXHC                     = 0x80186959\n\tSIOCDELMULTI                      = 0x80206932\n\tSIOCDIFADDR                       = 0x80206919\n\tSIOCDIFGROUP                      = 0x80286989\n\tSIOCDIFPARENT                     = 0x802069b4\n\tSIOCDIFPHYADDR                    = 0x80206949\n\tSIOCDVNETID                       = 0x802069af\n\tSIOCGETKALIVE                     = 0xc01869a4\n\tSIOCGETLABEL                      = 0x8020699a\n\tSIOCGETMPWCFG                     = 0xc02069ae\n\tSIOCGETPFLOW                      = 0xc02069fe\n\tSIOCGETPFSYNC                     = 0xc02069f8\n\tSIOCGETSGCNT                      = 0xc0207534\n\tSIOCGETVIFCNT                     = 0xc0287533\n\tSIOCGETVLAN                       = 0xc0206990\n\tSIOCGIFADDR                       = 0xc0206921\n\tSIOCGIFBRDADDR                    = 0xc0206923\n\tSIOCGIFCONF                       = 0xc0106924\n\tSIOCGIFDATA                       = 0xc020691b\n\tSIOCGIFDESCR                      = 0xc0206981\n\tSIOCGIFDSTADDR                    = 0xc0206922\n\tSIOCGIFFLAGS                      = 0xc0206911\n\tSIOCGIFGATTR                      = 0xc028698b\n\tSIOCGIFGENERIC                    = 0xc020693a\n\tSIOCGIFGMEMB                      = 0xc028698a\n\tSIOCGIFGROUP                      = 0xc0286988\n\tSIOCGIFHARDMTU                    = 0xc02069a5\n\tSIOCGIFLLPRIO                     = 0xc02069b6\n\tSIOCGIFMEDIA                      = 0xc0406938\n\tSIOCGIFMETRIC                     = 0xc0206917\n\tSIOCGIFMTU                        = 0xc020697e\n\tSIOCGIFNETMASK                    = 0xc0206925\n\tSIOCGIFPAIR                       = 0xc02069b1\n\tSIOCGIFPARENT                     = 0xc02069b3\n\tSIOCGIFPRIORITY                   = 0xc020699c\n\tSIOCGIFRDOMAIN                    = 0xc02069a0\n\tSIOCGIFRTLABEL                    = 0xc0206983\n\tSIOCGIFRXR                        = 0x802069aa\n\tSIOCGIFXFLAGS                     = 0xc020699e\n\tSIOCGLIFPHYADDR                   = 0xc218694b\n\tSIOCGLIFPHYDF                     = 0xc02069c2\n\tSIOCGLIFPHYRTABLE                 = 0xc02069a2\n\tSIOCGLIFPHYTTL                    = 0xc02069a9\n\tSIOCGPGRP                         = 0x40047309\n\tSIOCGSPPPPARAMS                   = 0xc0206994\n\tSIOCGUMBINFO                      = 0xc02069be\n\tSIOCGUMBPARAM                     = 0xc02069c0\n\tSIOCGVH                           = 0xc02069f6\n\tSIOCGVNETFLOWID                   = 0xc02069c4\n\tSIOCGVNETID                       = 0xc02069a7\n\tSIOCIFAFATTACH                    = 0x801169ab\n\tSIOCIFAFDETACH                    = 0x801169ac\n\tSIOCIFCREATE                      = 0x8020697a\n\tSIOCIFDESTROY                     = 0x80206979\n\tSIOCIFGCLONERS                    = 0xc0106978\n\tSIOCSETKALIVE                     = 0x801869a3\n\tSIOCSETLABEL                      = 0x80206999\n\tSIOCSETMPWCFG                     = 0x802069ad\n\tSIOCSETPFLOW                      = 0x802069fd\n\tSIOCSETPFSYNC                     = 0x802069f7\n\tSIOCSETVLAN                       = 0x8020698f\n\tSIOCSIFADDR                       = 0x8020690c\n\tSIOCSIFBRDADDR                    = 0x80206913\n\tSIOCSIFDESCR                      = 0x80206980\n\tSIOCSIFDSTADDR                    = 0x8020690e\n\tSIOCSIFFLAGS                      = 0x80206910\n\tSIOCSIFGATTR                      = 0x8028698c\n\tSIOCSIFGENERIC                    = 0x80206939\n\tSIOCSIFLLADDR                     = 0x8020691f\n\tSIOCSIFLLPRIO                     = 0x802069b5\n\tSIOCSIFMEDIA                      = 0xc0206937\n\tSIOCSIFMETRIC                     = 0x80206918\n\tSIOCSIFMTU                        = 0x8020697f\n\tSIOCSIFNETMASK                    = 0x80206916\n\tSIOCSIFPAIR                       = 0x802069b0\n\tSIOCSIFPARENT                     = 0x802069b2\n\tSIOCSIFPRIORITY                   = 0x8020699b\n\tSIOCSIFRDOMAIN                    = 0x8020699f\n\tSIOCSIFRTLABEL                    = 0x80206982\n\tSIOCSIFXFLAGS                     = 0x8020699d\n\tSIOCSLIFPHYADDR                   = 0x8218694a\n\tSIOCSLIFPHYDF                     = 0x802069c1\n\tSIOCSLIFPHYRTABLE                 = 0x802069a1\n\tSIOCSLIFPHYTTL                    = 0x802069a8\n\tSIOCSPGRP                         = 0x80047308\n\tSIOCSSPPPPARAMS                   = 0x80206993\n\tSIOCSUMBPARAM                     = 0x802069bf\n\tSIOCSVH                           = 0xc02069f5\n\tSIOCSVNETFLOWID                   = 0x802069c3\n\tSIOCSVNETID                       = 0x802069a6\n\tSIOCSWGDPID                       = 0xc018695b\n\tSIOCSWGMAXFLOW                    = 0xc0186960\n\tSIOCSWGMAXGROUP                   = 0xc018695d\n\tSIOCSWSDPID                       = 0x8018695c\n\tSIOCSWSPORTNO                     = 0xc060695f\n\tSOCK_CLOEXEC                      = 0x8000\n\tSOCK_DGRAM                        = 0x2\n\tSOCK_DNS                          = 0x1000\n\tSOCK_NONBLOCK                     = 0x4000\n\tSOCK_RAW                          = 0x3\n\tSOCK_RDM                          = 0x4\n\tSOCK_SEQPACKET                    = 0x5\n\tSOCK_STREAM                       = 0x1\n\tSOL_SOCKET                        = 0xffff\n\tSOMAXCONN                         = 0x80\n\tSO_ACCEPTCONN                     = 0x2\n\tSO_BINDANY                        = 0x1000\n\tSO_BROADCAST                      = 0x20\n\tSO_DEBUG                          = 0x1\n\tSO_DONTROUTE                      = 0x10\n\tSO_ERROR                          = 0x1007\n\tSO_KEEPALIVE                      = 0x8\n\tSO_LINGER                         = 0x80\n\tSO_NETPROC                        = 0x1020\n\tSO_OOBINLINE                      = 0x100\n\tSO_PEERCRED                       = 0x1022\n\tSO_RCVBUF                         = 0x1002\n\tSO_RCVLOWAT                       = 0x1004\n\tSO_RCVTIMEO                       = 0x1006\n\tSO_REUSEADDR                      = 0x4\n\tSO_REUSEPORT                      = 0x200\n\tSO_RTABLE                         = 0x1021\n\tSO_SNDBUF                         = 0x1001\n\tSO_SNDLOWAT                       = 0x1003\n\tSO_SNDTIMEO                       = 0x1005\n\tSO_SPLICE                         = 0x1023\n\tSO_TIMESTAMP                      = 0x800\n\tSO_TYPE                           = 0x1008\n\tSO_USELOOPBACK                    = 0x40\n\tSO_ZEROIZE                        = 0x2000\n\tS_BLKSIZE                         = 0x200\n\tS_IEXEC                           = 0x40\n\tS_IFBLK                           = 0x6000\n\tS_IFCHR                           = 0x2000\n\tS_IFDIR                           = 0x4000\n\tS_IFIFO                           = 0x1000\n\tS_IFLNK                           = 0xa000\n\tS_IFMT                            = 0xf000\n\tS_IFREG                           = 0x8000\n\tS_IFSOCK                          = 0xc000\n\tS_IREAD                           = 0x100\n\tS_IRGRP                           = 0x20\n\tS_IROTH                           = 0x4\n\tS_IRUSR                           = 0x100\n\tS_IRWXG                           = 0x38\n\tS_IRWXO                           = 0x7\n\tS_IRWXU                           = 0x1c0\n\tS_ISGID                           = 0x400\n\tS_ISTXT                           = 0x200\n\tS_ISUID                           = 0x800\n\tS_ISVTX                           = 0x200\n\tS_IWGRP                           = 0x10\n\tS_IWOTH                           = 0x2\n\tS_IWRITE                          = 0x80\n\tS_IWUSR                           = 0x80\n\tS_IXGRP                           = 0x8\n\tS_IXOTH                           = 0x1\n\tS_IXUSR                           = 0x40\n\tTCIFLUSH                          = 0x1\n\tTCIOFF                            = 0x3\n\tTCIOFLUSH                         = 0x3\n\tTCION                             = 0x4\n\tTCOFLUSH                          = 0x2\n\tTCOOFF                            = 0x1\n\tTCOON                             = 0x2\n\tTCP_MAXBURST                      = 0x4\n\tTCP_MAXSEG                        = 0x2\n\tTCP_MAXWIN                        = 0xffff\n\tTCP_MAX_SACK                      = 0x3\n\tTCP_MAX_WINSHIFT                  = 0xe\n\tTCP_MD5SIG                        = 0x4\n\tTCP_MSS                           = 0x200\n\tTCP_NODELAY                       = 0x1\n\tTCP_NOPUSH                        = 0x10\n\tTCP_SACK_ENABLE                   = 0x8\n\tTCSAFLUSH                         = 0x2\n\tTIOCCBRK                          = 0x2000747a\n\tTIOCCDTR                          = 0x20007478\n\tTIOCCHKVERAUTH                    = 0x2000741e\n\tTIOCCLRVERAUTH                    = 0x2000741d\n\tTIOCCONS                          = 0x80047462\n\tTIOCDRAIN                         = 0x2000745e\n\tTIOCEXCL                          = 0x2000740d\n\tTIOCEXT                           = 0x80047460\n\tTIOCFLAG_CLOCAL                   = 0x2\n\tTIOCFLAG_CRTSCTS                  = 0x4\n\tTIOCFLAG_MDMBUF                   = 0x8\n\tTIOCFLAG_PPS                      = 0x10\n\tTIOCFLAG_SOFTCAR                  = 0x1\n\tTIOCFLUSH                         = 0x80047410\n\tTIOCGETA                          = 0x402c7413\n\tTIOCGETD                          = 0x4004741a\n\tTIOCGFLAGS                        = 0x4004745d\n\tTIOCGPGRP                         = 0x40047477\n\tTIOCGSID                          = 0x40047463\n\tTIOCGTSTAMP                       = 0x4010745b\n\tTIOCGWINSZ                        = 0x40087468\n\tTIOCMBIC                          = 0x8004746b\n\tTIOCMBIS                          = 0x8004746c\n\tTIOCMGET                          = 0x4004746a\n\tTIOCMODG                          = 0x4004746a\n\tTIOCMODS                          = 0x8004746d\n\tTIOCMSET                          = 0x8004746d\n\tTIOCM_CAR                         = 0x40\n\tTIOCM_CD                          = 0x40\n\tTIOCM_CTS                         = 0x20\n\tTIOCM_DSR                         = 0x100\n\tTIOCM_DTR                         = 0x2\n\tTIOCM_LE                          = 0x1\n\tTIOCM_RI                          = 0x80\n\tTIOCM_RNG                         = 0x80\n\tTIOCM_RTS                         = 0x4\n\tTIOCM_SR                          = 0x10\n\tTIOCM_ST                          = 0x8\n\tTIOCNOTTY                         = 0x20007471\n\tTIOCNXCL                          = 0x2000740e\n\tTIOCOUTQ                          = 0x40047473\n\tTIOCPKT                           = 0x80047470\n\tTIOCPKT_DATA                      = 0x0\n\tTIOCPKT_DOSTOP                    = 0x20\n\tTIOCPKT_FLUSHREAD                 = 0x1\n\tTIOCPKT_FLUSHWRITE                = 0x2\n\tTIOCPKT_IOCTL                     = 0x40\n\tTIOCPKT_NOSTOP                    = 0x10\n\tTIOCPKT_START                     = 0x8\n\tTIOCPKT_STOP                      = 0x4\n\tTIOCREMOTE                        = 0x80047469\n\tTIOCSBRK                          = 0x2000747b\n\tTIOCSCTTY                         = 0x20007461\n\tTIOCSDTR                          = 0x20007479\n\tTIOCSETA                          = 0x802c7414\n\tTIOCSETAF                         = 0x802c7416\n\tTIOCSETAW                         = 0x802c7415\n\tTIOCSETD                          = 0x8004741b\n\tTIOCSETVERAUTH                    = 0x8004741c\n\tTIOCSFLAGS                        = 0x8004745c\n\tTIOCSIG                           = 0x8004745f\n\tTIOCSPGRP                         = 0x80047476\n\tTIOCSTART                         = 0x2000746e\n\tTIOCSTAT                          = 0x20007465\n\tTIOCSTI                           = 0x80017472\n\tTIOCSTOP                          = 0x2000746f\n\tTIOCSTSTAMP                       = 0x8008745a\n\tTIOCSWINSZ                        = 0x80087467\n\tTIOCUCNTL                         = 0x80047466\n\tTIOCUCNTL_CBRK                    = 0x7a\n\tTIOCUCNTL_SBRK                    = 0x7b\n\tTOSTOP                            = 0x400000\n\tVDISCARD                          = 0xf\n\tVDSUSP                            = 0xb\n\tVEOF                              = 0x0\n\tVEOL                              = 0x1\n\tVEOL2                             = 0x2\n\tVERASE                            = 0x3\n\tVINTR                             = 0x8\n\tVKILL                             = 0x5\n\tVLNEXT                            = 0xe\n\tVMIN                              = 0x10\n\tVM_ANONMIN                        = 0x7\n\tVM_LOADAVG                        = 0x2\n\tVM_MAXID                          = 0xc\n\tVM_MAXSLP                         = 0xa\n\tVM_METER                          = 0x1\n\tVM_NKMEMPAGES                     = 0x6\n\tVM_PSSTRINGS                      = 0x3\n\tVM_SWAPENCRYPT                    = 0x5\n\tVM_USPACE                         = 0xb\n\tVM_UVMEXP                         = 0x4\n\tVM_VNODEMIN                       = 0x9\n\tVM_VTEXTMIN                       = 0x8\n\tVQUIT                             = 0x9\n\tVREPRINT                          = 0x6\n\tVSTART                            = 0xc\n\tVSTATUS                           = 0x12\n\tVSTOP                             = 0xd\n\tVSUSP                             = 0xa\n\tVTIME                             = 0x11\n\tVWERASE                           = 0x4\n\tWALTSIG                           = 0x4\n\tWCONTINUED                        = 0x8\n\tWCOREFLAG                         = 0x80\n\tWNOHANG                           = 0x1\n\tWUNTRACED                         = 0x2\n\tXCASE                             = 0x1000000\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x30)\n\tEADDRNOTAVAIL   = syscall.Errno(0x31)\n\tEAFNOSUPPORT    = syscall.Errno(0x2f)\n\tEAGAIN          = syscall.Errno(0x23)\n\tEALREADY        = syscall.Errno(0x25)\n\tEAUTH           = syscall.Errno(0x50)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADMSG         = syscall.Errno(0x5c)\n\tEBADRPC         = syscall.Errno(0x48)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x58)\n\tECHILD          = syscall.Errno(0xa)\n\tECONNABORTED    = syscall.Errno(0x35)\n\tECONNREFUSED    = syscall.Errno(0x3d)\n\tECONNRESET      = syscall.Errno(0x36)\n\tEDEADLK         = syscall.Errno(0xb)\n\tEDESTADDRREQ    = syscall.Errno(0x27)\n\tEDOM            = syscall.Errno(0x21)\n\tEDQUOT          = syscall.Errno(0x45)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEFTYPE          = syscall.Errno(0x4f)\n\tEHOSTDOWN       = syscall.Errno(0x40)\n\tEHOSTUNREACH    = syscall.Errno(0x41)\n\tEIDRM           = syscall.Errno(0x59)\n\tEILSEQ          = syscall.Errno(0x54)\n\tEINPROGRESS     = syscall.Errno(0x24)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEIPSEC          = syscall.Errno(0x52)\n\tEISCONN         = syscall.Errno(0x38)\n\tEISDIR          = syscall.Errno(0x15)\n\tELAST           = syscall.Errno(0x5f)\n\tELOOP           = syscall.Errno(0x3e)\n\tEMEDIUMTYPE     = syscall.Errno(0x56)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x28)\n\tENAMETOOLONG    = syscall.Errno(0x3f)\n\tENEEDAUTH       = syscall.Errno(0x51)\n\tENETDOWN        = syscall.Errno(0x32)\n\tENETRESET       = syscall.Errno(0x34)\n\tENETUNREACH     = syscall.Errno(0x33)\n\tENFILE          = syscall.Errno(0x17)\n\tENOATTR         = syscall.Errno(0x53)\n\tENOBUFS         = syscall.Errno(0x37)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOLCK          = syscall.Errno(0x4d)\n\tENOMEDIUM       = syscall.Errno(0x55)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x5a)\n\tENOPROTOOPT     = syscall.Errno(0x2a)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSYS          = syscall.Errno(0x4e)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x39)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x42)\n\tENOTRECOVERABLE = syscall.Errno(0x5d)\n\tENOTSOCK        = syscall.Errno(0x26)\n\tENOTSUP         = syscall.Errno(0x5b)\n\tENOTTY          = syscall.Errno(0x19)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x2d)\n\tEOVERFLOW       = syscall.Errno(0x57)\n\tEOWNERDEAD      = syscall.Errno(0x5e)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x2e)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROCLIM        = syscall.Errno(0x43)\n\tEPROCUNAVAIL    = syscall.Errno(0x4c)\n\tEPROGMISMATCH   = syscall.Errno(0x4b)\n\tEPROGUNAVAIL    = syscall.Errno(0x4a)\n\tEPROTO          = syscall.Errno(0x5f)\n\tEPROTONOSUPPORT = syscall.Errno(0x2b)\n\tEPROTOTYPE      = syscall.Errno(0x29)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMOTE         = syscall.Errno(0x47)\n\tEROFS           = syscall.Errno(0x1e)\n\tERPCMISMATCH    = syscall.Errno(0x49)\n\tESHUTDOWN       = syscall.Errno(0x3a)\n\tESOCKTNOSUPPORT = syscall.Errno(0x2c)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESTALE          = syscall.Errno(0x46)\n\tETIMEDOUT       = syscall.Errno(0x3c)\n\tETOOMANYREFS    = syscall.Errno(0x3b)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUSERS          = syscall.Errno(0x44)\n\tEWOULDBLOCK     = syscall.Errno(0x23)\n\tEXDEV           = syscall.Errno(0x12)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x14)\n\tSIGCONT   = syscall.Signal(0x13)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINFO   = syscall.Signal(0x1d)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x17)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x11)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTHR    = syscall.Signal(0x20)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x12)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x10)\n\tSIGUSR1   = syscall.Signal(0x1e)\n\tSIGUSR2   = syscall.Signal(0x1f)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errorList = [...]struct {\n\tnum  syscall.Errno\n\tname string\n\tdesc string\n}{\n\t{1, \"EPERM\", \"operation not permitted\"},\n\t{2, \"ENOENT\", \"no such file or directory\"},\n\t{3, \"ESRCH\", \"no such process\"},\n\t{4, \"EINTR\", \"interrupted system call\"},\n\t{5, \"EIO\", \"input/output error\"},\n\t{6, \"ENXIO\", \"device not configured\"},\n\t{7, \"E2BIG\", \"argument list too long\"},\n\t{8, \"ENOEXEC\", \"exec format error\"},\n\t{9, \"EBADF\", \"bad file descriptor\"},\n\t{10, \"ECHILD\", \"no child processes\"},\n\t{11, \"EDEADLK\", \"resource deadlock avoided\"},\n\t{12, \"ENOMEM\", \"cannot allocate memory\"},\n\t{13, \"EACCES\", \"permission denied\"},\n\t{14, \"EFAULT\", \"bad address\"},\n\t{15, \"ENOTBLK\", \"block device required\"},\n\t{16, \"EBUSY\", \"device busy\"},\n\t{17, \"EEXIST\", \"file exists\"},\n\t{18, \"EXDEV\", \"cross-device link\"},\n\t{19, \"ENODEV\", \"operation not supported by device\"},\n\t{20, \"ENOTDIR\", \"not a directory\"},\n\t{21, \"EISDIR\", \"is a directory\"},\n\t{22, \"EINVAL\", \"invalid argument\"},\n\t{23, \"ENFILE\", \"too many open files in system\"},\n\t{24, \"EMFILE\", \"too many open files\"},\n\t{25, \"ENOTTY\", \"inappropriate ioctl for device\"},\n\t{26, \"ETXTBSY\", \"text file busy\"},\n\t{27, \"EFBIG\", \"file too large\"},\n\t{28, \"ENOSPC\", \"no space left on device\"},\n\t{29, \"ESPIPE\", \"illegal seek\"},\n\t{30, \"EROFS\", \"read-only file system\"},\n\t{31, \"EMLINK\", \"too many links\"},\n\t{32, \"EPIPE\", \"broken pipe\"},\n\t{33, \"EDOM\", \"numerical argument out of domain\"},\n\t{34, \"ERANGE\", \"result too large\"},\n\t{35, \"EAGAIN\", \"resource temporarily unavailable\"},\n\t{36, \"EINPROGRESS\", \"operation now in progress\"},\n\t{37, \"EALREADY\", \"operation already in progress\"},\n\t{38, \"ENOTSOCK\", \"socket operation on non-socket\"},\n\t{39, \"EDESTADDRREQ\", \"destination address required\"},\n\t{40, \"EMSGSIZE\", \"message too long\"},\n\t{41, \"EPROTOTYPE\", \"protocol wrong type for socket\"},\n\t{42, \"ENOPROTOOPT\", \"protocol not available\"},\n\t{43, \"EPROTONOSUPPORT\", \"protocol not supported\"},\n\t{44, \"ESOCKTNOSUPPORT\", \"socket type not supported\"},\n\t{45, \"EOPNOTSUPP\", \"operation not supported\"},\n\t{46, \"EPFNOSUPPORT\", \"protocol family not supported\"},\n\t{47, \"EAFNOSUPPORT\", \"address family not supported by protocol family\"},\n\t{48, \"EADDRINUSE\", \"address already in use\"},\n\t{49, \"EADDRNOTAVAIL\", \"can't assign requested address\"},\n\t{50, \"ENETDOWN\", \"network is down\"},\n\t{51, \"ENETUNREACH\", \"network is unreachable\"},\n\t{52, \"ENETRESET\", \"network dropped connection on reset\"},\n\t{53, \"ECONNABORTED\", \"software caused connection abort\"},\n\t{54, \"ECONNRESET\", \"connection reset by peer\"},\n\t{55, \"ENOBUFS\", \"no buffer space available\"},\n\t{56, \"EISCONN\", \"socket is already connected\"},\n\t{57, \"ENOTCONN\", \"socket is not connected\"},\n\t{58, \"ESHUTDOWN\", \"can't send after socket shutdown\"},\n\t{59, \"ETOOMANYREFS\", \"too many references: can't splice\"},\n\t{60, \"ETIMEDOUT\", \"operation timed out\"},\n\t{61, \"ECONNREFUSED\", \"connection refused\"},\n\t{62, \"ELOOP\", \"too many levels of symbolic links\"},\n\t{63, \"ENAMETOOLONG\", \"file name too long\"},\n\t{64, \"EHOSTDOWN\", \"host is down\"},\n\t{65, \"EHOSTUNREACH\", \"no route to host\"},\n\t{66, \"ENOTEMPTY\", \"directory not empty\"},\n\t{67, \"EPROCLIM\", \"too many processes\"},\n\t{68, \"EUSERS\", \"too many users\"},\n\t{69, \"EDQUOT\", \"disk quota exceeded\"},\n\t{70, \"ESTALE\", \"stale NFS file handle\"},\n\t{71, \"EREMOTE\", \"too many levels of remote in path\"},\n\t{72, \"EBADRPC\", \"RPC struct is bad\"},\n\t{73, \"ERPCMISMATCH\", \"RPC version wrong\"},\n\t{74, \"EPROGUNAVAIL\", \"RPC program not available\"},\n\t{75, \"EPROGMISMATCH\", \"program version wrong\"},\n\t{76, \"EPROCUNAVAIL\", \"bad procedure for program\"},\n\t{77, \"ENOLCK\", \"no locks available\"},\n\t{78, \"ENOSYS\", \"function not implemented\"},\n\t{79, \"EFTYPE\", \"inappropriate file type or format\"},\n\t{80, \"EAUTH\", \"authentication error\"},\n\t{81, \"ENEEDAUTH\", \"need authenticator\"},\n\t{82, \"EIPSEC\", \"IPsec processing failure\"},\n\t{83, \"ENOATTR\", \"attribute not found\"},\n\t{84, \"EILSEQ\", \"illegal byte sequence\"},\n\t{85, \"ENOMEDIUM\", \"no medium found\"},\n\t{86, \"EMEDIUMTYPE\", \"wrong medium type\"},\n\t{87, \"EOVERFLOW\", \"value too large to be stored in data type\"},\n\t{88, \"ECANCELED\", \"operation canceled\"},\n\t{89, \"EIDRM\", \"identifier removed\"},\n\t{90, \"ENOMSG\", \"no message of desired type\"},\n\t{91, \"ENOTSUP\", \"not supported\"},\n\t{92, \"EBADMSG\", \"bad message\"},\n\t{93, \"ENOTRECOVERABLE\", \"state not recoverable\"},\n\t{94, \"EOWNERDEAD\", \"previous owner died\"},\n\t{95, \"ELAST\", \"protocol error\"},\n}\n\n// Signal table\nvar signalList = [...]struct {\n\tnum  syscall.Signal\n\tname string\n\tdesc string\n}{\n\t{1, \"SIGHUP\", \"hangup\"},\n\t{2, \"SIGINT\", \"interrupt\"},\n\t{3, \"SIGQUIT\", \"quit\"},\n\t{4, \"SIGILL\", \"illegal instruction\"},\n\t{5, \"SIGTRAP\", \"trace/BPT trap\"},\n\t{6, \"SIGABRT\", \"abort trap\"},\n\t{7, \"SIGEMT\", \"EMT trap\"},\n\t{8, \"SIGFPE\", \"floating point exception\"},\n\t{9, \"SIGKILL\", \"killed\"},\n\t{10, \"SIGBUS\", \"bus error\"},\n\t{11, \"SIGSEGV\", \"segmentation fault\"},\n\t{12, \"SIGSYS\", \"bad system call\"},\n\t{13, \"SIGPIPE\", \"broken pipe\"},\n\t{14, \"SIGALRM\", \"alarm clock\"},\n\t{15, \"SIGTERM\", \"terminated\"},\n\t{16, \"SIGURG\", \"urgent I/O condition\"},\n\t{17, \"SIGSTOP\", \"suspended (signal)\"},\n\t{18, \"SIGTSTP\", \"suspended\"},\n\t{19, \"SIGCONT\", \"continued\"},\n\t{20, \"SIGCHLD\", \"child exited\"},\n\t{21, \"SIGTTIN\", \"stopped (tty input)\"},\n\t{22, \"SIGTTOU\", \"stopped (tty output)\"},\n\t{23, \"SIGIO\", \"I/O possible\"},\n\t{24, \"SIGXCPU\", \"cputime limit exceeded\"},\n\t{25, \"SIGXFSZ\", \"filesize limit exceeded\"},\n\t{26, \"SIGVTALRM\", \"virtual timer expired\"},\n\t{27, \"SIGPROF\", \"profiling timer expired\"},\n\t{28, \"SIGWINCH\", \"window size changes\"},\n\t{29, \"SIGINFO\", \"information request\"},\n\t{30, \"SIGUSR1\", \"user defined signal 1\"},\n\t{31, \"SIGUSR2\", \"user defined signal 2\"},\n\t{32, \"SIGTHR\", \"thread AST\"},\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go",
    "content": "// mkerrors.sh\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- _const.go\n\n// +build arm,openbsd\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_APPLETALK                      = 0x10\n\tAF_BLUETOOTH                      = 0x20\n\tAF_CCITT                          = 0xa\n\tAF_CHAOS                          = 0x5\n\tAF_CNT                            = 0x15\n\tAF_COIP                           = 0x14\n\tAF_DATAKIT                        = 0x9\n\tAF_DECnet                         = 0xc\n\tAF_DLI                            = 0xd\n\tAF_E164                           = 0x1a\n\tAF_ECMA                           = 0x8\n\tAF_ENCAP                          = 0x1c\n\tAF_HYLINK                         = 0xf\n\tAF_IMPLINK                        = 0x3\n\tAF_INET                           = 0x2\n\tAF_INET6                          = 0x18\n\tAF_IPX                            = 0x17\n\tAF_ISDN                           = 0x1a\n\tAF_ISO                            = 0x7\n\tAF_KEY                            = 0x1e\n\tAF_LAT                            = 0xe\n\tAF_LINK                           = 0x12\n\tAF_LOCAL                          = 0x1\n\tAF_MAX                            = 0x24\n\tAF_MPLS                           = 0x21\n\tAF_NATM                           = 0x1b\n\tAF_NS                             = 0x6\n\tAF_OSI                            = 0x7\n\tAF_PUP                            = 0x4\n\tAF_ROUTE                          = 0x11\n\tAF_SIP                            = 0x1d\n\tAF_SNA                            = 0xb\n\tAF_UNIX                           = 0x1\n\tAF_UNSPEC                         = 0x0\n\tARPHRD_ETHER                      = 0x1\n\tARPHRD_FRELAY                     = 0xf\n\tARPHRD_IEEE1394                   = 0x18\n\tARPHRD_IEEE802                    = 0x6\n\tB0                                = 0x0\n\tB110                              = 0x6e\n\tB115200                           = 0x1c200\n\tB1200                             = 0x4b0\n\tB134                              = 0x86\n\tB14400                            = 0x3840\n\tB150                              = 0x96\n\tB1800                             = 0x708\n\tB19200                            = 0x4b00\n\tB200                              = 0xc8\n\tB230400                           = 0x38400\n\tB2400                             = 0x960\n\tB28800                            = 0x7080\n\tB300                              = 0x12c\n\tB38400                            = 0x9600\n\tB4800                             = 0x12c0\n\tB50                               = 0x32\n\tB57600                            = 0xe100\n\tB600                              = 0x258\n\tB7200                             = 0x1c20\n\tB75                               = 0x4b\n\tB76800                            = 0x12c00\n\tB9600                             = 0x2580\n\tBIOCFLUSH                         = 0x20004268\n\tBIOCGBLEN                         = 0x40044266\n\tBIOCGDIRFILT                      = 0x4004427c\n\tBIOCGDLT                          = 0x4004426a\n\tBIOCGDLTLIST                      = 0xc008427b\n\tBIOCGETIF                         = 0x4020426b\n\tBIOCGFILDROP                      = 0x40044278\n\tBIOCGHDRCMPLT                     = 0x40044274\n\tBIOCGRSIG                         = 0x40044273\n\tBIOCGRTIMEOUT                     = 0x400c426e\n\tBIOCGSTATS                        = 0x4008426f\n\tBIOCIMMEDIATE                     = 0x80044270\n\tBIOCLOCK                          = 0x20004276\n\tBIOCPROMISC                       = 0x20004269\n\tBIOCSBLEN                         = 0xc0044266\n\tBIOCSDIRFILT                      = 0x8004427d\n\tBIOCSDLT                          = 0x8004427a\n\tBIOCSETF                          = 0x80084267\n\tBIOCSETIF                         = 0x8020426c\n\tBIOCSETWF                         = 0x80084277\n\tBIOCSFILDROP                      = 0x80044279\n\tBIOCSHDRCMPLT                     = 0x80044275\n\tBIOCSRSIG                         = 0x80044272\n\tBIOCSRTIMEOUT                     = 0x800c426d\n\tBIOCVERSION                       = 0x40044271\n\tBPF_A                             = 0x10\n\tBPF_ABS                           = 0x20\n\tBPF_ADD                           = 0x0\n\tBPF_ALIGNMENT                     = 0x4\n\tBPF_ALU                           = 0x4\n\tBPF_AND                           = 0x50\n\tBPF_B                             = 0x10\n\tBPF_DIRECTION_IN                  = 0x1\n\tBPF_DIRECTION_OUT                 = 0x2\n\tBPF_DIV                           = 0x30\n\tBPF_H                             = 0x8\n\tBPF_IMM                           = 0x0\n\tBPF_IND                           = 0x40\n\tBPF_JA                            = 0x0\n\tBPF_JEQ                           = 0x10\n\tBPF_JGE                           = 0x30\n\tBPF_JGT                           = 0x20\n\tBPF_JMP                           = 0x5\n\tBPF_JSET                          = 0x40\n\tBPF_K                             = 0x0\n\tBPF_LD                            = 0x0\n\tBPF_LDX                           = 0x1\n\tBPF_LEN                           = 0x80\n\tBPF_LSH                           = 0x60\n\tBPF_MAJOR_VERSION                 = 0x1\n\tBPF_MAXBUFSIZE                    = 0x200000\n\tBPF_MAXINSNS                      = 0x200\n\tBPF_MEM                           = 0x60\n\tBPF_MEMWORDS                      = 0x10\n\tBPF_MINBUFSIZE                    = 0x20\n\tBPF_MINOR_VERSION                 = 0x1\n\tBPF_MISC                          = 0x7\n\tBPF_MSH                           = 0xa0\n\tBPF_MUL                           = 0x20\n\tBPF_NEG                           = 0x80\n\tBPF_OR                            = 0x40\n\tBPF_RELEASE                       = 0x30bb6\n\tBPF_RET                           = 0x6\n\tBPF_RSH                           = 0x70\n\tBPF_ST                            = 0x2\n\tBPF_STX                           = 0x3\n\tBPF_SUB                           = 0x10\n\tBPF_TAX                           = 0x0\n\tBPF_TXA                           = 0x80\n\tBPF_W                             = 0x0\n\tBPF_X                             = 0x8\n\tBRKINT                            = 0x2\n\tCFLUSH                            = 0xf\n\tCLOCAL                            = 0x8000\n\tCREAD                             = 0x800\n\tCRTSCTS                           = 0x10000\n\tCS5                               = 0x0\n\tCS6                               = 0x100\n\tCS7                               = 0x200\n\tCS8                               = 0x300\n\tCSIZE                             = 0x300\n\tCSTART                            = 0x11\n\tCSTATUS                           = 0xff\n\tCSTOP                             = 0x13\n\tCSTOPB                            = 0x400\n\tCSUSP                             = 0x1a\n\tCTL_HW                            = 0x6\n\tCTL_KERN                          = 0x1\n\tCTL_MAXNAME                       = 0xc\n\tCTL_NET                           = 0x4\n\tDIOCOSFPFLUSH                     = 0x2000444e\n\tDLT_ARCNET                        = 0x7\n\tDLT_ATM_RFC1483                   = 0xb\n\tDLT_AX25                          = 0x3\n\tDLT_CHAOS                         = 0x5\n\tDLT_C_HDLC                        = 0x68\n\tDLT_EN10MB                        = 0x1\n\tDLT_EN3MB                         = 0x2\n\tDLT_ENC                           = 0xd\n\tDLT_FDDI                          = 0xa\n\tDLT_IEEE802                       = 0x6\n\tDLT_IEEE802_11                    = 0x69\n\tDLT_IEEE802_11_RADIO              = 0x7f\n\tDLT_LOOP                          = 0xc\n\tDLT_MPLS                          = 0xdb\n\tDLT_NULL                          = 0x0\n\tDLT_PFLOG                         = 0x75\n\tDLT_PFSYNC                        = 0x12\n\tDLT_PPP                           = 0x9\n\tDLT_PPP_BSDOS                     = 0x10\n\tDLT_PPP_ETHER                     = 0x33\n\tDLT_PPP_SERIAL                    = 0x32\n\tDLT_PRONET                        = 0x4\n\tDLT_RAW                           = 0xe\n\tDLT_SLIP                          = 0x8\n\tDLT_SLIP_BSDOS                    = 0xf\n\tDT_BLK                            = 0x6\n\tDT_CHR                            = 0x2\n\tDT_DIR                            = 0x4\n\tDT_FIFO                           = 0x1\n\tDT_LNK                            = 0xa\n\tDT_REG                            = 0x8\n\tDT_SOCK                           = 0xc\n\tDT_UNKNOWN                        = 0x0\n\tECHO                              = 0x8\n\tECHOCTL                           = 0x40\n\tECHOE                             = 0x2\n\tECHOK                             = 0x4\n\tECHOKE                            = 0x1\n\tECHONL                            = 0x10\n\tECHOPRT                           = 0x20\n\tEMT_TAGOVF                        = 0x1\n\tEMUL_ENABLED                      = 0x1\n\tEMUL_NATIVE                       = 0x2\n\tENDRUNDISC                        = 0x9\n\tETHERMIN                          = 0x2e\n\tETHERMTU                          = 0x5dc\n\tETHERTYPE_8023                    = 0x4\n\tETHERTYPE_AARP                    = 0x80f3\n\tETHERTYPE_ACCTON                  = 0x8390\n\tETHERTYPE_AEONIC                  = 0x8036\n\tETHERTYPE_ALPHA                   = 0x814a\n\tETHERTYPE_AMBER                   = 0x6008\n\tETHERTYPE_AMOEBA                  = 0x8145\n\tETHERTYPE_AOE                     = 0x88a2\n\tETHERTYPE_APOLLO                  = 0x80f7\n\tETHERTYPE_APOLLODOMAIN            = 0x8019\n\tETHERTYPE_APPLETALK               = 0x809b\n\tETHERTYPE_APPLITEK                = 0x80c7\n\tETHERTYPE_ARGONAUT                = 0x803a\n\tETHERTYPE_ARP                     = 0x806\n\tETHERTYPE_AT                      = 0x809b\n\tETHERTYPE_ATALK                   = 0x809b\n\tETHERTYPE_ATOMIC                  = 0x86df\n\tETHERTYPE_ATT                     = 0x8069\n\tETHERTYPE_ATTSTANFORD             = 0x8008\n\tETHERTYPE_AUTOPHON                = 0x806a\n\tETHERTYPE_AXIS                    = 0x8856\n\tETHERTYPE_BCLOOP                  = 0x9003\n\tETHERTYPE_BOFL                    = 0x8102\n\tETHERTYPE_CABLETRON               = 0x7034\n\tETHERTYPE_CHAOS                   = 0x804\n\tETHERTYPE_COMDESIGN               = 0x806c\n\tETHERTYPE_COMPUGRAPHIC            = 0x806d\n\tETHERTYPE_COUNTERPOINT            = 0x8062\n\tETHERTYPE_CRONUS                  = 0x8004\n\tETHERTYPE_CRONUSVLN               = 0x8003\n\tETHERTYPE_DCA                     = 0x1234\n\tETHERTYPE_DDE                     = 0x807b\n\tETHERTYPE_DEBNI                   = 0xaaaa\n\tETHERTYPE_DECAM                   = 0x8048\n\tETHERTYPE_DECCUST                 = 0x6006\n\tETHERTYPE_DECDIAG                 = 0x6005\n\tETHERTYPE_DECDNS                  = 0x803c\n\tETHERTYPE_DECDTS                  = 0x803e\n\tETHERTYPE_DECEXPER                = 0x6000\n\tETHERTYPE_DECLAST                 = 0x8041\n\tETHERTYPE_DECLTM                  = 0x803f\n\tETHERTYPE_DECMUMPS                = 0x6009\n\tETHERTYPE_DECNETBIOS              = 0x8040\n\tETHERTYPE_DELTACON                = 0x86de\n\tETHERTYPE_DIDDLE                  = 0x4321\n\tETHERTYPE_DLOG1                   = 0x660\n\tETHERTYPE_DLOG2                   = 0x661\n\tETHERTYPE_DN                      = 0x6003\n\tETHERTYPE_DOGFIGHT                = 0x1989\n\tETHERTYPE_DSMD                    = 0x8039\n\tETHERTYPE_ECMA                    = 0x803\n\tETHERTYPE_ENCRYPT                 = 0x803d\n\tETHERTYPE_ES                      = 0x805d\n\tETHERTYPE_EXCELAN                 = 0x8010\n\tETHERTYPE_EXPERDATA               = 0x8049\n\tETHERTYPE_FLIP                    = 0x8146\n\tETHERTYPE_FLOWCONTROL             = 0x8808\n\tETHERTYPE_FRARP                   = 0x808\n\tETHERTYPE_GENDYN                  = 0x8068\n\tETHERTYPE_HAYES                   = 0x8130\n\tETHERTYPE_HIPPI_FP                = 0x8180\n\tETHERTYPE_HITACHI                 = 0x8820\n\tETHERTYPE_HP                      = 0x8005\n\tETHERTYPE_IEEEPUP                 = 0xa00\n\tETHERTYPE_IEEEPUPAT               = 0xa01\n\tETHERTYPE_IMLBL                   = 0x4c42\n\tETHERTYPE_IMLBLDIAG               = 0x424c\n\tETHERTYPE_IP                      = 0x800\n\tETHERTYPE_IPAS                    = 0x876c\n\tETHERTYPE_IPV6                    = 0x86dd\n\tETHERTYPE_IPX                     = 0x8137\n\tETHERTYPE_IPXNEW                  = 0x8037\n\tETHERTYPE_KALPANA                 = 0x8582\n\tETHERTYPE_LANBRIDGE               = 0x8038\n\tETHERTYPE_LANPROBE                = 0x8888\n\tETHERTYPE_LAT                     = 0x6004\n\tETHERTYPE_LBACK                   = 0x9000\n\tETHERTYPE_LITTLE                  = 0x8060\n\tETHERTYPE_LLDP                    = 0x88cc\n\tETHERTYPE_LOGICRAFT               = 0x8148\n\tETHERTYPE_LOOPBACK                = 0x9000\n\tETHERTYPE_MATRA                   = 0x807a\n\tETHERTYPE_MAX                     = 0xffff\n\tETHERTYPE_MERIT                   = 0x807c\n\tETHERTYPE_MICP                    = 0x873a\n\tETHERTYPE_MOPDL                   = 0x6001\n\tETHERTYPE_MOPRC                   = 0x6002\n\tETHERTYPE_MOTOROLA                = 0x818d\n\tETHERTYPE_MPLS                    = 0x8847\n\tETHERTYPE_MPLS_MCAST              = 0x8848\n\tETHERTYPE_MUMPS                   = 0x813f\n\tETHERTYPE_NBPCC                   = 0x3c04\n\tETHERTYPE_NBPCLAIM                = 0x3c09\n\tETHERTYPE_NBPCLREQ                = 0x3c05\n\tETHERTYPE_NBPCLRSP                = 0x3c06\n\tETHERTYPE_NBPCREQ                 = 0x3c02\n\tETHERTYPE_NBPCRSP                 = 0x3c03\n\tETHERTYPE_NBPDG                   = 0x3c07\n\tETHERTYPE_NBPDGB                  = 0x3c08\n\tETHERTYPE_NBPDLTE                 = 0x3c0a\n\tETHERTYPE_NBPRAR                  = 0x3c0c\n\tETHERTYPE_NBPRAS                  = 0x3c0b\n\tETHERTYPE_NBPRST                  = 0x3c0d\n\tETHERTYPE_NBPSCD                  = 0x3c01\n\tETHERTYPE_NBPVCD                  = 0x3c00\n\tETHERTYPE_NBS                     = 0x802\n\tETHERTYPE_NCD                     = 0x8149\n\tETHERTYPE_NESTAR                  = 0x8006\n\tETHERTYPE_NETBEUI                 = 0x8191\n\tETHERTYPE_NOVELL                  = 0x8138\n\tETHERTYPE_NS                      = 0x600\n\tETHERTYPE_NSAT                    = 0x601\n\tETHERTYPE_NSCOMPAT                = 0x807\n\tETHERTYPE_NTRAILER                = 0x10\n\tETHERTYPE_OS9                     = 0x7007\n\tETHERTYPE_OS9NET                  = 0x7009\n\tETHERTYPE_PACER                   = 0x80c6\n\tETHERTYPE_PAE                     = 0x888e\n\tETHERTYPE_PCS                     = 0x4242\n\tETHERTYPE_PLANNING                = 0x8044\n\tETHERTYPE_PPP                     = 0x880b\n\tETHERTYPE_PPPOE                   = 0x8864\n\tETHERTYPE_PPPOEDISC               = 0x8863\n\tETHERTYPE_PRIMENTS                = 0x7031\n\tETHERTYPE_PUP                     = 0x200\n\tETHERTYPE_PUPAT                   = 0x200\n\tETHERTYPE_QINQ                    = 0x88a8\n\tETHERTYPE_RACAL                   = 0x7030\n\tETHERTYPE_RATIONAL                = 0x8150\n\tETHERTYPE_RAWFR                   = 0x6559\n\tETHERTYPE_RCL                     = 0x1995\n\tETHERTYPE_RDP                     = 0x8739\n\tETHERTYPE_RETIX                   = 0x80f2\n\tETHERTYPE_REVARP                  = 0x8035\n\tETHERTYPE_SCA                     = 0x6007\n\tETHERTYPE_SECTRA                  = 0x86db\n\tETHERTYPE_SECUREDATA              = 0x876d\n\tETHERTYPE_SGITW                   = 0x817e\n\tETHERTYPE_SG_BOUNCE               = 0x8016\n\tETHERTYPE_SG_DIAG                 = 0x8013\n\tETHERTYPE_SG_NETGAMES             = 0x8014\n\tETHERTYPE_SG_RESV                 = 0x8015\n\tETHERTYPE_SIMNET                  = 0x5208\n\tETHERTYPE_SLOW                    = 0x8809\n\tETHERTYPE_SNA                     = 0x80d5\n\tETHERTYPE_SNMP                    = 0x814c\n\tETHERTYPE_SONIX                   = 0xfaf5\n\tETHERTYPE_SPIDER                  = 0x809f\n\tETHERTYPE_SPRITE                  = 0x500\n\tETHERTYPE_STP                     = 0x8181\n\tETHERTYPE_TALARIS                 = 0x812b\n\tETHERTYPE_TALARISMC               = 0x852b\n\tETHERTYPE_TCPCOMP                 = 0x876b\n\tETHERTYPE_TCPSM                   = 0x9002\n\tETHERTYPE_TEC                     = 0x814f\n\tETHERTYPE_TIGAN                   = 0x802f\n\tETHERTYPE_TRAIL                   = 0x1000\n\tETHERTYPE_TRANSETHER              = 0x6558\n\tETHERTYPE_TYMSHARE                = 0x802e\n\tETHERTYPE_UBBST                   = 0x7005\n\tETHERTYPE_UBDEBUG                 = 0x900\n\tETHERTYPE_UBDIAGLOOP              = 0x7002\n\tETHERTYPE_UBDL                    = 0x7000\n\tETHERTYPE_UBNIU                   = 0x7001\n\tETHERTYPE_UBNMC                   = 0x7003\n\tETHERTYPE_VALID                   = 0x1600\n\tETHERTYPE_VARIAN                  = 0x80dd\n\tETHERTYPE_VAXELN                  = 0x803b\n\tETHERTYPE_VEECO                   = 0x8067\n\tETHERTYPE_VEXP                    = 0x805b\n\tETHERTYPE_VGLAB                   = 0x8131\n\tETHERTYPE_VINES                   = 0xbad\n\tETHERTYPE_VINESECHO               = 0xbaf\n\tETHERTYPE_VINESLOOP               = 0xbae\n\tETHERTYPE_VITAL                   = 0xff00\n\tETHERTYPE_VLAN                    = 0x8100\n\tETHERTYPE_VLTLMAN                 = 0x8080\n\tETHERTYPE_VPROD                   = 0x805c\n\tETHERTYPE_VURESERVED              = 0x8147\n\tETHERTYPE_WATERLOO                = 0x8130\n\tETHERTYPE_WELLFLEET               = 0x8103\n\tETHERTYPE_X25                     = 0x805\n\tETHERTYPE_X75                     = 0x801\n\tETHERTYPE_XNSSM                   = 0x9001\n\tETHERTYPE_XTP                     = 0x817d\n\tETHER_ADDR_LEN                    = 0x6\n\tETHER_ALIGN                       = 0x2\n\tETHER_CRC_LEN                     = 0x4\n\tETHER_CRC_POLY_BE                 = 0x4c11db6\n\tETHER_CRC_POLY_LE                 = 0xedb88320\n\tETHER_HDR_LEN                     = 0xe\n\tETHER_MAX_DIX_LEN                 = 0x600\n\tETHER_MAX_LEN                     = 0x5ee\n\tETHER_MIN_LEN                     = 0x40\n\tETHER_TYPE_LEN                    = 0x2\n\tETHER_VLAN_ENCAP_LEN              = 0x4\n\tEVFILT_AIO                        = -0x3\n\tEVFILT_PROC                       = -0x5\n\tEVFILT_READ                       = -0x1\n\tEVFILT_SIGNAL                     = -0x6\n\tEVFILT_SYSCOUNT                   = 0x7\n\tEVFILT_TIMER                      = -0x7\n\tEVFILT_VNODE                      = -0x4\n\tEVFILT_WRITE                      = -0x2\n\tEV_ADD                            = 0x1\n\tEV_CLEAR                          = 0x20\n\tEV_DELETE                         = 0x2\n\tEV_DISABLE                        = 0x8\n\tEV_ENABLE                         = 0x4\n\tEV_EOF                            = 0x8000\n\tEV_ERROR                          = 0x4000\n\tEV_FLAG1                          = 0x2000\n\tEV_ONESHOT                        = 0x10\n\tEV_SYSFLAGS                       = 0xf000\n\tEXTA                              = 0x4b00\n\tEXTB                              = 0x9600\n\tEXTPROC                           = 0x800\n\tFD_CLOEXEC                        = 0x1\n\tFD_SETSIZE                        = 0x400\n\tFLUSHO                            = 0x800000\n\tF_DUPFD                           = 0x0\n\tF_DUPFD_CLOEXEC                   = 0xa\n\tF_GETFD                           = 0x1\n\tF_GETFL                           = 0x3\n\tF_GETLK                           = 0x7\n\tF_GETOWN                          = 0x5\n\tF_RDLCK                           = 0x1\n\tF_SETFD                           = 0x2\n\tF_SETFL                           = 0x4\n\tF_SETLK                           = 0x8\n\tF_SETLKW                          = 0x9\n\tF_SETOWN                          = 0x6\n\tF_UNLCK                           = 0x2\n\tF_WRLCK                           = 0x3\n\tHUPCL                             = 0x4000\n\tHW_MACHINE                        = 0x1\n\tICANON                            = 0x100\n\tICMP6_FILTER                      = 0x12\n\tICRNL                             = 0x100\n\tIEXTEN                            = 0x400\n\tIFAN_ARRIVAL                      = 0x0\n\tIFAN_DEPARTURE                    = 0x1\n\tIFA_ROUTE                         = 0x1\n\tIFF_ALLMULTI                      = 0x200\n\tIFF_BROADCAST                     = 0x2\n\tIFF_CANTCHANGE                    = 0x8e52\n\tIFF_DEBUG                         = 0x4\n\tIFF_LINK0                         = 0x1000\n\tIFF_LINK1                         = 0x2000\n\tIFF_LINK2                         = 0x4000\n\tIFF_LOOPBACK                      = 0x8\n\tIFF_MULTICAST                     = 0x8000\n\tIFF_NOARP                         = 0x80\n\tIFF_NOTRAILERS                    = 0x20\n\tIFF_OACTIVE                       = 0x400\n\tIFF_POINTOPOINT                   = 0x10\n\tIFF_PROMISC                       = 0x100\n\tIFF_RUNNING                       = 0x40\n\tIFF_SIMPLEX                       = 0x800\n\tIFF_UP                            = 0x1\n\tIFNAMSIZ                          = 0x10\n\tIFT_1822                          = 0x2\n\tIFT_A12MPPSWITCH                  = 0x82\n\tIFT_AAL2                          = 0xbb\n\tIFT_AAL5                          = 0x31\n\tIFT_ADSL                          = 0x5e\n\tIFT_AFLANE8023                    = 0x3b\n\tIFT_AFLANE8025                    = 0x3c\n\tIFT_ARAP                          = 0x58\n\tIFT_ARCNET                        = 0x23\n\tIFT_ARCNETPLUS                    = 0x24\n\tIFT_ASYNC                         = 0x54\n\tIFT_ATM                           = 0x25\n\tIFT_ATMDXI                        = 0x69\n\tIFT_ATMFUNI                       = 0x6a\n\tIFT_ATMIMA                        = 0x6b\n\tIFT_ATMLOGICAL                    = 0x50\n\tIFT_ATMRADIO                      = 0xbd\n\tIFT_ATMSUBINTERFACE               = 0x86\n\tIFT_ATMVCIENDPT                   = 0xc2\n\tIFT_ATMVIRTUAL                    = 0x95\n\tIFT_BGPPOLICYACCOUNTING           = 0xa2\n\tIFT_BLUETOOTH                     = 0xf8\n\tIFT_BRIDGE                        = 0xd1\n\tIFT_BSC                           = 0x53\n\tIFT_CARP                          = 0xf7\n\tIFT_CCTEMUL                       = 0x3d\n\tIFT_CEPT                          = 0x13\n\tIFT_CES                           = 0x85\n\tIFT_CHANNEL                       = 0x46\n\tIFT_CNR                           = 0x55\n\tIFT_COFFEE                        = 0x84\n\tIFT_COMPOSITELINK                 = 0x9b\n\tIFT_DCN                           = 0x8d\n\tIFT_DIGITALPOWERLINE              = 0x8a\n\tIFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba\n\tIFT_DLSW                          = 0x4a\n\tIFT_DOCSCABLEDOWNSTREAM           = 0x80\n\tIFT_DOCSCABLEMACLAYER             = 0x7f\n\tIFT_DOCSCABLEUPSTREAM             = 0x81\n\tIFT_DOCSCABLEUPSTREAMCHANNEL      = 0xcd\n\tIFT_DS0                           = 0x51\n\tIFT_DS0BUNDLE                     = 0x52\n\tIFT_DS1FDL                        = 0xaa\n\tIFT_DS3                           = 0x1e\n\tIFT_DTM                           = 0x8c\n\tIFT_DUMMY                         = 0xf1\n\tIFT_DVBASILN                      = 0xac\n\tIFT_DVBASIOUT                     = 0xad\n\tIFT_DVBRCCDOWNSTREAM              = 0x93\n\tIFT_DVBRCCMACLAYER                = 0x92\n\tIFT_DVBRCCUPSTREAM                = 0x94\n\tIFT_ECONET                        = 0xce\n\tIFT_ENC                           = 0xf4\n\tIFT_EON                           = 0x19\n\tIFT_EPLRS                         = 0x57\n\tIFT_ESCON                         = 0x49\n\tIFT_ETHER                         = 0x6\n\tIFT_FAITH                         = 0xf3\n\tIFT_FAST                          = 0x7d\n\tIFT_FASTETHER                     = 0x3e\n\tIFT_FASTETHERFX                   = 0x45\n\tIFT_FDDI                          = 0xf\n\tIFT_FIBRECHANNEL                  = 0x38\n\tIFT_FRAMERELAYINTERCONNECT        = 0x3a\n\tIFT_FRAMERELAYMPI                 = 0x5c\n\tIFT_FRDLCIENDPT                   = 0xc1\n\tIFT_FRELAY                        = 0x20\n\tIFT_FRELAYDCE                     = 0x2c\n\tIFT_FRF16MFRBUNDLE                = 0xa3\n\tIFT_FRFORWARD                     = 0x9e\n\tIFT_G703AT2MB                     = 0x43\n\tIFT_G703AT64K                     = 0x42\n\tIFT_GIF                           = 0xf0\n\tIFT_GIGABITETHERNET               = 0x75\n\tIFT_GR303IDT                      = 0xb2\n\tIFT_GR303RDT                      = 0xb1\n\tIFT_H323GATEKEEPER                = 0xa4\n\tIFT_H323PROXY                     = 0xa5\n\tIFT_HDH1822                       = 0x3\n\tIFT_HDLC                          = 0x76\n\tIFT_HDSL2                         = 0xa8\n\tIFT_HIPERLAN2                     = 0xb7\n\tIFT_HIPPI                         = 0x2f\n\tIFT_HIPPIINTERFACE                = 0x39\n\tIFT_HOSTPAD                       = 0x5a\n\tIFT_HSSI                          = 0x2e\n\tIFT_HY                            = 0xe\n\tIFT_IBM370PARCHAN                 = 0x48\n\tIFT_IDSL                          = 0x9a\n\tIFT_IEEE1394                      = 0x90\n\tIFT_IEEE80211                     = 0x47\n\tIFT_IEEE80212                     = 0x37\n\tIFT_IEEE8023ADLAG                 = 0xa1\n\tIFT_IFGSN                         = 0x91\n\tIFT_IMT                           = 0xbe\n\tIFT_INFINIBAND                    = 0xc7\n\tIFT_INTERLEAVE                    = 0x7c\n\tIFT_IP                            = 0x7e\n\tIFT_IPFORWARD                     = 0x8e\n\tIFT_IPOVERATM                     = 0x72\n\tIFT_IPOVERCDLC                    = 0x6d\n\tIFT_IPOVERCLAW                    = 0x6e\n\tIFT_IPSWITCH                      = 0x4e\n\tIFT_ISDN                          = 0x3f\n\tIFT_ISDNBASIC                     = 0x14\n\tIFT_ISDNPRIMARY                   = 0x15\n\tIFT_ISDNS                         = 0x4b\n\tIFT_ISDNU                         = 0x4c\n\tIFT_ISO88022LLC                   = 0x29\n\tIFT_ISO88023                      = 0x7\n\tIFT_ISO88024                      = 0x8\n\tIFT_ISO88025                      = 0x9\n\tIFT_ISO88025CRFPINT               = 0x62\n\tIFT_ISO88025DTR                   = 0x56\n\tIFT_ISO88025FIBER                 = 0x73\n\tIFT_ISO88026                      = 0xa\n\tIFT_ISUP                          = 0xb3\n\tIFT_L2VLAN                        = 0x87\n\tIFT_L3IPVLAN                      = 0x88\n\tIFT_L3IPXVLAN                     = 0x89\n\tIFT_LAPB                          = 0x10\n\tIFT_LAPD                          = 0x4d\n\tIFT_LAPF                          = 0x77\n\tIFT_LINEGROUP                     = 0xd2\n\tIFT_LOCALTALK                     = 0x2a\n\tIFT_LOOP                          = 0x18\n\tIFT_MEDIAMAILOVERIP               = 0x8b\n\tIFT_MFSIGLINK                     = 0xa7\n\tIFT_MIOX25                        = 0x26\n\tIFT_MODEM                         = 0x30\n\tIFT_MPC                           = 0x71\n\tIFT_MPLS                          = 0xa6\n\tIFT_MPLSTUNNEL                    = 0x96\n\tIFT_MSDSL                         = 0x8f\n\tIFT_MVL                           = 0xbf\n\tIFT_MYRINET                       = 0x63\n\tIFT_NFAS                          = 0xaf\n\tIFT_NSIP                          = 0x1b\n\tIFT_OPTICALCHANNEL                = 0xc3\n\tIFT_OPTICALTRANSPORT              = 0xc4\n\tIFT_OTHER                         = 0x1\n\tIFT_P10                           = 0xc\n\tIFT_P80                           = 0xd\n\tIFT_PARA                          = 0x22\n\tIFT_PFLOG                         = 0xf5\n\tIFT_PFLOW                         = 0xf9\n\tIFT_PFSYNC                        = 0xf6\n\tIFT_PLC                           = 0xae\n\tIFT_PON155                        = 0xcf\n\tIFT_PON622                        = 0xd0\n\tIFT_POS                           = 0xab\n\tIFT_PPP                           = 0x17\n\tIFT_PPPMULTILINKBUNDLE            = 0x6c\n\tIFT_PROPATM                       = 0xc5\n\tIFT_PROPBWAP2MP                   = 0xb8\n\tIFT_PROPCNLS                      = 0x59\n\tIFT_PROPDOCSWIRELESSDOWNSTREAM    = 0xb5\n\tIFT_PROPDOCSWIRELESSMACLAYER      = 0xb4\n\tIFT_PROPDOCSWIRELESSUPSTREAM      = 0xb6\n\tIFT_PROPMUX                       = 0x36\n\tIFT_PROPVIRTUAL                   = 0x35\n\tIFT_PROPWIRELESSP2P               = 0x9d\n\tIFT_PTPSERIAL                     = 0x16\n\tIFT_PVC                           = 0xf2\n\tIFT_Q2931                         = 0xc9\n\tIFT_QLLC                          = 0x44\n\tIFT_RADIOMAC                      = 0xbc\n\tIFT_RADSL                         = 0x5f\n\tIFT_REACHDSL                      = 0xc0\n\tIFT_RFC1483                       = 0x9f\n\tIFT_RS232                         = 0x21\n\tIFT_RSRB                          = 0x4f\n\tIFT_SDLC                          = 0x11\n\tIFT_SDSL                          = 0x60\n\tIFT_SHDSL                         = 0xa9\n\tIFT_SIP                           = 0x1f\n\tIFT_SIPSIG                        = 0xcc\n\tIFT_SIPTG                         = 0xcb\n\tIFT_SLIP                          = 0x1c\n\tIFT_SMDSDXI                       = 0x2b\n\tIFT_SMDSICIP                      = 0x34\n\tIFT_SONET                         = 0x27\n\tIFT_SONETOVERHEADCHANNEL          = 0xb9\n\tIFT_SONETPATH                     = 0x32\n\tIFT_SONETVT                       = 0x33\n\tIFT_SRP                           = 0x97\n\tIFT_SS7SIGLINK                    = 0x9c\n\tIFT_STACKTOSTACK                  = 0x6f\n\tIFT_STARLAN                       = 0xb\n\tIFT_T1                            = 0x12\n\tIFT_TDLC                          = 0x74\n\tIFT_TELINK                        = 0xc8\n\tIFT_TERMPAD                       = 0x5b\n\tIFT_TR008                         = 0xb0\n\tIFT_TRANSPHDLC                    = 0x7b\n\tIFT_TUNNEL                        = 0x83\n\tIFT_ULTRA                         = 0x1d\n\tIFT_USB                           = 0xa0\n\tIFT_V11                           = 0x40\n\tIFT_V35                           = 0x2d\n\tIFT_V36                           = 0x41\n\tIFT_V37                           = 0x78\n\tIFT_VDSL                          = 0x61\n\tIFT_VIRTUALIPADDRESS              = 0x70\n\tIFT_VIRTUALTG                     = 0xca\n\tIFT_VOICEDID                      = 0xd5\n\tIFT_VOICEEM                       = 0x64\n\tIFT_VOICEEMFGD                    = 0xd3\n\tIFT_VOICEENCAP                    = 0x67\n\tIFT_VOICEFGDEANA                  = 0xd4\n\tIFT_VOICEFXO                      = 0x65\n\tIFT_VOICEFXS                      = 0x66\n\tIFT_VOICEOVERATM                  = 0x98\n\tIFT_VOICEOVERCABLE                = 0xc6\n\tIFT_VOICEOVERFRAMERELAY           = 0x99\n\tIFT_VOICEOVERIP                   = 0x68\n\tIFT_X213                          = 0x5d\n\tIFT_X25                           = 0x5\n\tIFT_X25DDN                        = 0x4\n\tIFT_X25HUNTGROUP                  = 0x7a\n\tIFT_X25MLP                        = 0x79\n\tIFT_X25PLE                        = 0x28\n\tIFT_XETHER                        = 0x1a\n\tIGNBRK                            = 0x1\n\tIGNCR                             = 0x80\n\tIGNPAR                            = 0x4\n\tIMAXBEL                           = 0x2000\n\tINLCR                             = 0x40\n\tINPCK                             = 0x10\n\tIN_CLASSA_HOST                    = 0xffffff\n\tIN_CLASSA_MAX                     = 0x80\n\tIN_CLASSA_NET                     = 0xff000000\n\tIN_CLASSA_NSHIFT                  = 0x18\n\tIN_CLASSB_HOST                    = 0xffff\n\tIN_CLASSB_MAX                     = 0x10000\n\tIN_CLASSB_NET                     = 0xffff0000\n\tIN_CLASSB_NSHIFT                  = 0x10\n\tIN_CLASSC_HOST                    = 0xff\n\tIN_CLASSC_NET                     = 0xffffff00\n\tIN_CLASSC_NSHIFT                  = 0x8\n\tIN_CLASSD_HOST                    = 0xfffffff\n\tIN_CLASSD_NET                     = 0xf0000000\n\tIN_CLASSD_NSHIFT                  = 0x1c\n\tIN_LOOPBACKNET                    = 0x7f\n\tIN_RFC3021_HOST                   = 0x1\n\tIN_RFC3021_NET                    = 0xfffffffe\n\tIN_RFC3021_NSHIFT                 = 0x1f\n\tIPPROTO_AH                        = 0x33\n\tIPPROTO_CARP                      = 0x70\n\tIPPROTO_DIVERT                    = 0x102\n\tIPPROTO_DIVERT_INIT               = 0x2\n\tIPPROTO_DIVERT_RESP               = 0x1\n\tIPPROTO_DONE                      = 0x101\n\tIPPROTO_DSTOPTS                   = 0x3c\n\tIPPROTO_EGP                       = 0x8\n\tIPPROTO_ENCAP                     = 0x62\n\tIPPROTO_EON                       = 0x50\n\tIPPROTO_ESP                       = 0x32\n\tIPPROTO_ETHERIP                   = 0x61\n\tIPPROTO_FRAGMENT                  = 0x2c\n\tIPPROTO_GGP                       = 0x3\n\tIPPROTO_GRE                       = 0x2f\n\tIPPROTO_HOPOPTS                   = 0x0\n\tIPPROTO_ICMP                      = 0x1\n\tIPPROTO_ICMPV6                    = 0x3a\n\tIPPROTO_IDP                       = 0x16\n\tIPPROTO_IGMP                      = 0x2\n\tIPPROTO_IP                        = 0x0\n\tIPPROTO_IPCOMP                    = 0x6c\n\tIPPROTO_IPIP                      = 0x4\n\tIPPROTO_IPV4                      = 0x4\n\tIPPROTO_IPV6                      = 0x29\n\tIPPROTO_MAX                       = 0x100\n\tIPPROTO_MAXID                     = 0x103\n\tIPPROTO_MOBILE                    = 0x37\n\tIPPROTO_MPLS                      = 0x89\n\tIPPROTO_NONE                      = 0x3b\n\tIPPROTO_PFSYNC                    = 0xf0\n\tIPPROTO_PIM                       = 0x67\n\tIPPROTO_PUP                       = 0xc\n\tIPPROTO_RAW                       = 0xff\n\tIPPROTO_ROUTING                   = 0x2b\n\tIPPROTO_RSVP                      = 0x2e\n\tIPPROTO_TCP                       = 0x6\n\tIPPROTO_TP                        = 0x1d\n\tIPPROTO_UDP                       = 0x11\n\tIPV6_AUTH_LEVEL                   = 0x35\n\tIPV6_AUTOFLOWLABEL                = 0x3b\n\tIPV6_CHECKSUM                     = 0x1a\n\tIPV6_DEFAULT_MULTICAST_HOPS       = 0x1\n\tIPV6_DEFAULT_MULTICAST_LOOP       = 0x1\n\tIPV6_DEFHLIM                      = 0x40\n\tIPV6_DONTFRAG                     = 0x3e\n\tIPV6_DSTOPTS                      = 0x32\n\tIPV6_ESP_NETWORK_LEVEL            = 0x37\n\tIPV6_ESP_TRANS_LEVEL              = 0x36\n\tIPV6_FAITH                        = 0x1d\n\tIPV6_FLOWINFO_MASK                = 0xffffff0f\n\tIPV6_FLOWLABEL_MASK               = 0xffff0f00\n\tIPV6_FRAGTTL                      = 0x78\n\tIPV6_HLIMDEC                      = 0x1\n\tIPV6_HOPLIMIT                     = 0x2f\n\tIPV6_HOPOPTS                      = 0x31\n\tIPV6_IPCOMP_LEVEL                 = 0x3c\n\tIPV6_JOIN_GROUP                   = 0xc\n\tIPV6_LEAVE_GROUP                  = 0xd\n\tIPV6_MAXHLIM                      = 0xff\n\tIPV6_MAXPACKET                    = 0xffff\n\tIPV6_MMTU                         = 0x500\n\tIPV6_MULTICAST_HOPS               = 0xa\n\tIPV6_MULTICAST_IF                 = 0x9\n\tIPV6_MULTICAST_LOOP               = 0xb\n\tIPV6_NEXTHOP                      = 0x30\n\tIPV6_OPTIONS                      = 0x1\n\tIPV6_PATHMTU                      = 0x2c\n\tIPV6_PIPEX                        = 0x3f\n\tIPV6_PKTINFO                      = 0x2e\n\tIPV6_PORTRANGE                    = 0xe\n\tIPV6_PORTRANGE_DEFAULT            = 0x0\n\tIPV6_PORTRANGE_HIGH               = 0x1\n\tIPV6_PORTRANGE_LOW                = 0x2\n\tIPV6_RECVDSTOPTS                  = 0x28\n\tIPV6_RECVDSTPORT                  = 0x40\n\tIPV6_RECVHOPLIMIT                 = 0x25\n\tIPV6_RECVHOPOPTS                  = 0x27\n\tIPV6_RECVPATHMTU                  = 0x2b\n\tIPV6_RECVPKTINFO                  = 0x24\n\tIPV6_RECVRTHDR                    = 0x26\n\tIPV6_RECVTCLASS                   = 0x39\n\tIPV6_RTABLE                       = 0x1021\n\tIPV6_RTHDR                        = 0x33\n\tIPV6_RTHDRDSTOPTS                 = 0x23\n\tIPV6_RTHDR_LOOSE                  = 0x0\n\tIPV6_RTHDR_STRICT                 = 0x1\n\tIPV6_RTHDR_TYPE_0                 = 0x0\n\tIPV6_SOCKOPT_RESERVED1            = 0x3\n\tIPV6_TCLASS                       = 0x3d\n\tIPV6_UNICAST_HOPS                 = 0x4\n\tIPV6_USE_MIN_MTU                  = 0x2a\n\tIPV6_V6ONLY                       = 0x1b\n\tIPV6_VERSION                      = 0x60\n\tIPV6_VERSION_MASK                 = 0xf0\n\tIP_ADD_MEMBERSHIP                 = 0xc\n\tIP_AUTH_LEVEL                     = 0x14\n\tIP_DEFAULT_MULTICAST_LOOP         = 0x1\n\tIP_DEFAULT_MULTICAST_TTL          = 0x1\n\tIP_DF                             = 0x4000\n\tIP_DIVERTFL                       = 0x1022\n\tIP_DROP_MEMBERSHIP                = 0xd\n\tIP_ESP_NETWORK_LEVEL              = 0x16\n\tIP_ESP_TRANS_LEVEL                = 0x15\n\tIP_HDRINCL                        = 0x2\n\tIP_IPCOMP_LEVEL                   = 0x1d\n\tIP_IPSECFLOWINFO                  = 0x24\n\tIP_IPSEC_LOCAL_AUTH               = 0x1b\n\tIP_IPSEC_LOCAL_CRED               = 0x19\n\tIP_IPSEC_LOCAL_ID                 = 0x17\n\tIP_IPSEC_REMOTE_AUTH              = 0x1c\n\tIP_IPSEC_REMOTE_CRED              = 0x1a\n\tIP_IPSEC_REMOTE_ID                = 0x18\n\tIP_MAXPACKET                      = 0xffff\n\tIP_MAX_MEMBERSHIPS                = 0xfff\n\tIP_MF                             = 0x2000\n\tIP_MINTTL                         = 0x20\n\tIP_MIN_MEMBERSHIPS                = 0xf\n\tIP_MSS                            = 0x240\n\tIP_MULTICAST_IF                   = 0x9\n\tIP_MULTICAST_LOOP                 = 0xb\n\tIP_MULTICAST_TTL                  = 0xa\n\tIP_OFFMASK                        = 0x1fff\n\tIP_OPTIONS                        = 0x1\n\tIP_PIPEX                          = 0x22\n\tIP_PORTRANGE                      = 0x13\n\tIP_PORTRANGE_DEFAULT              = 0x0\n\tIP_PORTRANGE_HIGH                 = 0x1\n\tIP_PORTRANGE_LOW                  = 0x2\n\tIP_RECVDSTADDR                    = 0x7\n\tIP_RECVDSTPORT                    = 0x21\n\tIP_RECVIF                         = 0x1e\n\tIP_RECVOPTS                       = 0x5\n\tIP_RECVRETOPTS                    = 0x6\n\tIP_RECVRTABLE                     = 0x23\n\tIP_RECVTTL                        = 0x1f\n\tIP_RETOPTS                        = 0x8\n\tIP_RF                             = 0x8000\n\tIP_RTABLE                         = 0x1021\n\tIP_TOS                            = 0x3\n\tIP_TTL                            = 0x4\n\tISIG                              = 0x80\n\tISTRIP                            = 0x20\n\tIXANY                             = 0x800\n\tIXOFF                             = 0x400\n\tIXON                              = 0x200\n\tKERN_HOSTNAME                     = 0xa\n\tKERN_OSRELEASE                    = 0x2\n\tKERN_OSTYPE                       = 0x1\n\tKERN_VERSION                      = 0x4\n\tLCNT_OVERLOAD_FLUSH               = 0x6\n\tLOCK_EX                           = 0x2\n\tLOCK_NB                           = 0x4\n\tLOCK_SH                           = 0x1\n\tLOCK_UN                           = 0x8\n\tMADV_DONTNEED                     = 0x4\n\tMADV_FREE                         = 0x6\n\tMADV_NORMAL                       = 0x0\n\tMADV_RANDOM                       = 0x1\n\tMADV_SEQUENTIAL                   = 0x2\n\tMADV_SPACEAVAIL                   = 0x5\n\tMADV_WILLNEED                     = 0x3\n\tMAP_ANON                          = 0x1000\n\tMAP_ANONYMOUS                     = 0x1000\n\tMAP_COPY                          = 0x2\n\tMAP_FILE                          = 0x0\n\tMAP_FIXED                         = 0x10\n\tMAP_FLAGMASK                      = 0x3ff7\n\tMAP_HASSEMAPHORE                  = 0x0\n\tMAP_INHERIT                       = 0x0\n\tMAP_INHERIT_COPY                  = 0x1\n\tMAP_INHERIT_NONE                  = 0x2\n\tMAP_INHERIT_SHARE                 = 0x0\n\tMAP_INHERIT_ZERO                  = 0x3\n\tMAP_NOEXTEND                      = 0x0\n\tMAP_NORESERVE                     = 0x0\n\tMAP_PRIVATE                       = 0x2\n\tMAP_RENAME                        = 0x0\n\tMAP_SHARED                        = 0x1\n\tMAP_TRYFIXED                      = 0x0\n\tMCL_CURRENT                       = 0x1\n\tMCL_FUTURE                        = 0x2\n\tMSG_BCAST                         = 0x100\n\tMSG_CMSG_CLOEXEC                  = 0x800\n\tMSG_CTRUNC                        = 0x20\n\tMSG_DONTROUTE                     = 0x4\n\tMSG_DONTWAIT                      = 0x80\n\tMSG_EOR                           = 0x8\n\tMSG_MCAST                         = 0x200\n\tMSG_NOSIGNAL                      = 0x400\n\tMSG_OOB                           = 0x1\n\tMSG_PEEK                          = 0x2\n\tMSG_TRUNC                         = 0x10\n\tMSG_WAITALL                       = 0x40\n\tMS_ASYNC                          = 0x1\n\tMS_INVALIDATE                     = 0x4\n\tMS_SYNC                           = 0x2\n\tNAME_MAX                          = 0xff\n\tNET_RT_DUMP                       = 0x1\n\tNET_RT_FLAGS                      = 0x2\n\tNET_RT_IFLIST                     = 0x3\n\tNET_RT_MAXID                      = 0x6\n\tNET_RT_STATS                      = 0x4\n\tNET_RT_TABLE                      = 0x5\n\tNOFLSH                            = 0x80000000\n\tNOTE_ATTRIB                       = 0x8\n\tNOTE_CHILD                        = 0x4\n\tNOTE_DELETE                       = 0x1\n\tNOTE_EOF                          = 0x2\n\tNOTE_EXEC                         = 0x20000000\n\tNOTE_EXIT                         = 0x80000000\n\tNOTE_EXTEND                       = 0x4\n\tNOTE_FORK                         = 0x40000000\n\tNOTE_LINK                         = 0x10\n\tNOTE_LOWAT                        = 0x1\n\tNOTE_PCTRLMASK                    = 0xf0000000\n\tNOTE_PDATAMASK                    = 0xfffff\n\tNOTE_RENAME                       = 0x20\n\tNOTE_REVOKE                       = 0x40\n\tNOTE_TRACK                        = 0x1\n\tNOTE_TRACKERR                     = 0x2\n\tNOTE_TRUNCATE                     = 0x80\n\tNOTE_WRITE                        = 0x2\n\tOCRNL                             = 0x10\n\tONLCR                             = 0x2\n\tONLRET                            = 0x80\n\tONOCR                             = 0x40\n\tONOEOT                            = 0x8\n\tOPOST                             = 0x1\n\tO_ACCMODE                         = 0x3\n\tO_APPEND                          = 0x8\n\tO_ASYNC                           = 0x40\n\tO_CLOEXEC                         = 0x10000\n\tO_CREAT                           = 0x200\n\tO_DIRECTORY                       = 0x20000\n\tO_DSYNC                           = 0x80\n\tO_EXCL                            = 0x800\n\tO_EXLOCK                          = 0x20\n\tO_FSYNC                           = 0x80\n\tO_NDELAY                          = 0x4\n\tO_NOCTTY                          = 0x8000\n\tO_NOFOLLOW                        = 0x100\n\tO_NONBLOCK                        = 0x4\n\tO_RDONLY                          = 0x0\n\tO_RDWR                            = 0x2\n\tO_RSYNC                           = 0x80\n\tO_SHLOCK                          = 0x10\n\tO_SYNC                            = 0x80\n\tO_TRUNC                           = 0x400\n\tO_WRONLY                          = 0x1\n\tPARENB                            = 0x1000\n\tPARMRK                            = 0x8\n\tPARODD                            = 0x2000\n\tPENDIN                            = 0x20000000\n\tPF_FLUSH                          = 0x1\n\tPRIO_PGRP                         = 0x1\n\tPRIO_PROCESS                      = 0x0\n\tPRIO_USER                         = 0x2\n\tPROT_EXEC                         = 0x4\n\tPROT_NONE                         = 0x0\n\tPROT_READ                         = 0x1\n\tPROT_WRITE                        = 0x2\n\tRLIMIT_CORE                       = 0x4\n\tRLIMIT_CPU                        = 0x0\n\tRLIMIT_DATA                       = 0x2\n\tRLIMIT_FSIZE                      = 0x1\n\tRLIMIT_NOFILE                     = 0x8\n\tRLIMIT_STACK                      = 0x3\n\tRLIM_INFINITY                     = 0x7fffffffffffffff\n\tRTAX_AUTHOR                       = 0x6\n\tRTAX_BRD                          = 0x7\n\tRTAX_DST                          = 0x0\n\tRTAX_GATEWAY                      = 0x1\n\tRTAX_GENMASK                      = 0x3\n\tRTAX_IFA                          = 0x5\n\tRTAX_IFP                          = 0x4\n\tRTAX_LABEL                        = 0xa\n\tRTAX_MAX                          = 0xb\n\tRTAX_NETMASK                      = 0x2\n\tRTAX_SRC                          = 0x8\n\tRTAX_SRCMASK                      = 0x9\n\tRTA_AUTHOR                        = 0x40\n\tRTA_BRD                           = 0x80\n\tRTA_DST                           = 0x1\n\tRTA_GATEWAY                       = 0x2\n\tRTA_GENMASK                       = 0x8\n\tRTA_IFA                           = 0x20\n\tRTA_IFP                           = 0x10\n\tRTA_LABEL                         = 0x400\n\tRTA_NETMASK                       = 0x4\n\tRTA_SRC                           = 0x100\n\tRTA_SRCMASK                       = 0x200\n\tRTF_ANNOUNCE                      = 0x4000\n\tRTF_BLACKHOLE                     = 0x1000\n\tRTF_BROADCAST                     = 0x400000\n\tRTF_CLONED                        = 0x10000\n\tRTF_CLONING                       = 0x100\n\tRTF_DONE                          = 0x40\n\tRTF_DYNAMIC                       = 0x10\n\tRTF_FMASK                         = 0x70f808\n\tRTF_GATEWAY                       = 0x2\n\tRTF_HOST                          = 0x4\n\tRTF_LLINFO                        = 0x400\n\tRTF_LOCAL                         = 0x200000\n\tRTF_MASK                          = 0x80\n\tRTF_MODIFIED                      = 0x20\n\tRTF_MPATH                         = 0x40000\n\tRTF_MPLS                          = 0x100000\n\tRTF_PERMANENT_ARP                 = 0x2000\n\tRTF_PROTO1                        = 0x8000\n\tRTF_PROTO2                        = 0x4000\n\tRTF_PROTO3                        = 0x2000\n\tRTF_REJECT                        = 0x8\n\tRTF_STATIC                        = 0x800\n\tRTF_UP                            = 0x1\n\tRTF_USETRAILERS                   = 0x8000\n\tRTF_XRESOLVE                      = 0x200\n\tRTM_ADD                           = 0x1\n\tRTM_CHANGE                        = 0x3\n\tRTM_DELADDR                       = 0xd\n\tRTM_DELETE                        = 0x2\n\tRTM_DESYNC                        = 0x10\n\tRTM_GET                           = 0x4\n\tRTM_IFANNOUNCE                    = 0xf\n\tRTM_IFINFO                        = 0xe\n\tRTM_LOCK                          = 0x8\n\tRTM_LOSING                        = 0x5\n\tRTM_MAXSIZE                       = 0x800\n\tRTM_MISS                          = 0x7\n\tRTM_NEWADDR                       = 0xc\n\tRTM_REDIRECT                      = 0x6\n\tRTM_RESOLVE                       = 0xb\n\tRTM_RTTUNIT                       = 0xf4240\n\tRTM_VERSION                       = 0x5\n\tRTV_EXPIRE                        = 0x4\n\tRTV_HOPCOUNT                      = 0x2\n\tRTV_MTU                           = 0x1\n\tRTV_RPIPE                         = 0x8\n\tRTV_RTT                           = 0x40\n\tRTV_RTTVAR                        = 0x80\n\tRTV_SPIPE                         = 0x10\n\tRTV_SSTHRESH                      = 0x20\n\tRT_TABLEID_MAX                    = 0xff\n\tRUSAGE_CHILDREN                   = -0x1\n\tRUSAGE_SELF                       = 0x0\n\tRUSAGE_THREAD                     = 0x1\n\tSCM_RIGHTS                        = 0x1\n\tSCM_TIMESTAMP                     = 0x4\n\tSHUT_RD                           = 0x0\n\tSHUT_RDWR                         = 0x2\n\tSHUT_WR                           = 0x1\n\tSIOCADDMULTI                      = 0x80206931\n\tSIOCAIFADDR                       = 0x8040691a\n\tSIOCAIFGROUP                      = 0x80246987\n\tSIOCALIFADDR                      = 0x8218691c\n\tSIOCATMARK                        = 0x40047307\n\tSIOCBRDGADD                       = 0x8054693c\n\tSIOCBRDGADDS                      = 0x80546941\n\tSIOCBRDGARL                       = 0x806e694d\n\tSIOCBRDGDADDR                     = 0x81286947\n\tSIOCBRDGDEL                       = 0x8054693d\n\tSIOCBRDGDELS                      = 0x80546942\n\tSIOCBRDGFLUSH                     = 0x80546948\n\tSIOCBRDGFRL                       = 0x806e694e\n\tSIOCBRDGGCACHE                    = 0xc0146941\n\tSIOCBRDGGFD                       = 0xc0146952\n\tSIOCBRDGGHT                       = 0xc0146951\n\tSIOCBRDGGIFFLGS                   = 0xc054693e\n\tSIOCBRDGGMA                       = 0xc0146953\n\tSIOCBRDGGPARAM                    = 0xc03c6958\n\tSIOCBRDGGPRI                      = 0xc0146950\n\tSIOCBRDGGRL                       = 0xc028694f\n\tSIOCBRDGGSIFS                     = 0xc054693c\n\tSIOCBRDGGTO                       = 0xc0146946\n\tSIOCBRDGIFS                       = 0xc0546942\n\tSIOCBRDGRTS                       = 0xc0186943\n\tSIOCBRDGSADDR                     = 0xc1286944\n\tSIOCBRDGSCACHE                    = 0x80146940\n\tSIOCBRDGSFD                       = 0x80146952\n\tSIOCBRDGSHT                       = 0x80146951\n\tSIOCBRDGSIFCOST                   = 0x80546955\n\tSIOCBRDGSIFFLGS                   = 0x8054693f\n\tSIOCBRDGSIFPRIO                   = 0x80546954\n\tSIOCBRDGSMA                       = 0x80146953\n\tSIOCBRDGSPRI                      = 0x80146950\n\tSIOCBRDGSPROTO                    = 0x8014695a\n\tSIOCBRDGSTO                       = 0x80146945\n\tSIOCBRDGSTXHC                     = 0x80146959\n\tSIOCDELMULTI                      = 0x80206932\n\tSIOCDIFADDR                       = 0x80206919\n\tSIOCDIFGROUP                      = 0x80246989\n\tSIOCDIFPHYADDR                    = 0x80206949\n\tSIOCDLIFADDR                      = 0x8218691e\n\tSIOCGETKALIVE                     = 0xc01869a4\n\tSIOCGETLABEL                      = 0x8020699a\n\tSIOCGETPFLOW                      = 0xc02069fe\n\tSIOCGETPFSYNC                     = 0xc02069f8\n\tSIOCGETSGCNT                      = 0xc0147534\n\tSIOCGETVIFCNT                     = 0xc0147533\n\tSIOCGETVLAN                       = 0xc0206990\n\tSIOCGHIWAT                        = 0x40047301\n\tSIOCGIFADDR                       = 0xc0206921\n\tSIOCGIFASYNCMAP                   = 0xc020697c\n\tSIOCGIFBRDADDR                    = 0xc0206923\n\tSIOCGIFCONF                       = 0xc0086924\n\tSIOCGIFDATA                       = 0xc020691b\n\tSIOCGIFDESCR                      = 0xc0206981\n\tSIOCGIFDSTADDR                    = 0xc0206922\n\tSIOCGIFFLAGS                      = 0xc0206911\n\tSIOCGIFGATTR                      = 0xc024698b\n\tSIOCGIFGENERIC                    = 0xc020693a\n\tSIOCGIFGMEMB                      = 0xc024698a\n\tSIOCGIFGROUP                      = 0xc0246988\n\tSIOCGIFHARDMTU                    = 0xc02069a5\n\tSIOCGIFMEDIA                      = 0xc0286936\n\tSIOCGIFMETRIC                     = 0xc0206917\n\tSIOCGIFMTU                        = 0xc020697e\n\tSIOCGIFNETMASK                    = 0xc0206925\n\tSIOCGIFPDSTADDR                   = 0xc0206948\n\tSIOCGIFPRIORITY                   = 0xc020699c\n\tSIOCGIFPSRCADDR                   = 0xc0206947\n\tSIOCGIFRDOMAIN                    = 0xc02069a0\n\tSIOCGIFRTLABEL                    = 0xc0206983\n\tSIOCGIFRXR                        = 0x802069aa\n\tSIOCGIFTIMESLOT                   = 0xc0206986\n\tSIOCGIFXFLAGS                     = 0xc020699e\n\tSIOCGLIFADDR                      = 0xc218691d\n\tSIOCGLIFPHYADDR                   = 0xc218694b\n\tSIOCGLIFPHYRTABLE                 = 0xc02069a2\n\tSIOCGLIFPHYTTL                    = 0xc02069a9\n\tSIOCGLOWAT                        = 0x40047303\n\tSIOCGPGRP                         = 0x40047309\n\tSIOCGSPPPPARAMS                   = 0xc0206994\n\tSIOCGVH                           = 0xc02069f6\n\tSIOCGVNETID                       = 0xc02069a7\n\tSIOCIFCREATE                      = 0x8020697a\n\tSIOCIFDESTROY                     = 0x80206979\n\tSIOCIFGCLONERS                    = 0xc00c6978\n\tSIOCSETKALIVE                     = 0x801869a3\n\tSIOCSETLABEL                      = 0x80206999\n\tSIOCSETPFLOW                      = 0x802069fd\n\tSIOCSETPFSYNC                     = 0x802069f7\n\tSIOCSETVLAN                       = 0x8020698f\n\tSIOCSHIWAT                        = 0x80047300\n\tSIOCSIFADDR                       = 0x8020690c\n\tSIOCSIFASYNCMAP                   = 0x8020697d\n\tSIOCSIFBRDADDR                    = 0x80206913\n\tSIOCSIFDESCR                      = 0x80206980\n\tSIOCSIFDSTADDR                    = 0x8020690e\n\tSIOCSIFFLAGS                      = 0x80206910\n\tSIOCSIFGATTR                      = 0x8024698c\n\tSIOCSIFGENERIC                    = 0x80206939\n\tSIOCSIFLLADDR                     = 0x8020691f\n\tSIOCSIFMEDIA                      = 0xc0206935\n\tSIOCSIFMETRIC                     = 0x80206918\n\tSIOCSIFMTU                        = 0x8020697f\n\tSIOCSIFNETMASK                    = 0x80206916\n\tSIOCSIFPHYADDR                    = 0x80406946\n\tSIOCSIFPRIORITY                   = 0x8020699b\n\tSIOCSIFRDOMAIN                    = 0x8020699f\n\tSIOCSIFRTLABEL                    = 0x80206982\n\tSIOCSIFTIMESLOT                   = 0x80206985\n\tSIOCSIFXFLAGS                     = 0x8020699d\n\tSIOCSLIFPHYADDR                   = 0x8218694a\n\tSIOCSLIFPHYRTABLE                 = 0x802069a1\n\tSIOCSLIFPHYTTL                    = 0x802069a8\n\tSIOCSLOWAT                        = 0x80047302\n\tSIOCSPGRP                         = 0x80047308\n\tSIOCSSPPPPARAMS                   = 0x80206993\n\tSIOCSVH                           = 0xc02069f5\n\tSIOCSVNETID                       = 0x802069a6\n\tSOCK_CLOEXEC                      = 0x8000\n\tSOCK_DGRAM                        = 0x2\n\tSOCK_NONBLOCK                     = 0x4000\n\tSOCK_RAW                          = 0x3\n\tSOCK_RDM                          = 0x4\n\tSOCK_SEQPACKET                    = 0x5\n\tSOCK_STREAM                       = 0x1\n\tSOL_SOCKET                        = 0xffff\n\tSOMAXCONN                         = 0x80\n\tSO_ACCEPTCONN                     = 0x2\n\tSO_BINDANY                        = 0x1000\n\tSO_BROADCAST                      = 0x20\n\tSO_DEBUG                          = 0x1\n\tSO_DONTROUTE                      = 0x10\n\tSO_ERROR                          = 0x1007\n\tSO_KEEPALIVE                      = 0x8\n\tSO_LINGER                         = 0x80\n\tSO_NETPROC                        = 0x1020\n\tSO_OOBINLINE                      = 0x100\n\tSO_PEERCRED                       = 0x1022\n\tSO_RCVBUF                         = 0x1002\n\tSO_RCVLOWAT                       = 0x1004\n\tSO_RCVTIMEO                       = 0x1006\n\tSO_REUSEADDR                      = 0x4\n\tSO_REUSEPORT                      = 0x200\n\tSO_RTABLE                         = 0x1021\n\tSO_SNDBUF                         = 0x1001\n\tSO_SNDLOWAT                       = 0x1003\n\tSO_SNDTIMEO                       = 0x1005\n\tSO_SPLICE                         = 0x1023\n\tSO_TIMESTAMP                      = 0x800\n\tSO_TYPE                           = 0x1008\n\tSO_USELOOPBACK                    = 0x40\n\tS_BLKSIZE                         = 0x200\n\tS_IEXEC                           = 0x40\n\tS_IFBLK                           = 0x6000\n\tS_IFCHR                           = 0x2000\n\tS_IFDIR                           = 0x4000\n\tS_IFIFO                           = 0x1000\n\tS_IFLNK                           = 0xa000\n\tS_IFMT                            = 0xf000\n\tS_IFREG                           = 0x8000\n\tS_IFSOCK                          = 0xc000\n\tS_IREAD                           = 0x100\n\tS_IRGRP                           = 0x20\n\tS_IROTH                           = 0x4\n\tS_IRUSR                           = 0x100\n\tS_IRWXG                           = 0x38\n\tS_IRWXO                           = 0x7\n\tS_IRWXU                           = 0x1c0\n\tS_ISGID                           = 0x400\n\tS_ISTXT                           = 0x200\n\tS_ISUID                           = 0x800\n\tS_ISVTX                           = 0x200\n\tS_IWGRP                           = 0x10\n\tS_IWOTH                           = 0x2\n\tS_IWRITE                          = 0x80\n\tS_IWUSR                           = 0x80\n\tS_IXGRP                           = 0x8\n\tS_IXOTH                           = 0x1\n\tS_IXUSR                           = 0x40\n\tTCIFLUSH                          = 0x1\n\tTCIOFLUSH                         = 0x3\n\tTCOFLUSH                          = 0x2\n\tTCP_MAXBURST                      = 0x4\n\tTCP_MAXSEG                        = 0x2\n\tTCP_MAXWIN                        = 0xffff\n\tTCP_MAX_SACK                      = 0x3\n\tTCP_MAX_WINSHIFT                  = 0xe\n\tTCP_MD5SIG                        = 0x4\n\tTCP_MSS                           = 0x200\n\tTCP_NODELAY                       = 0x1\n\tTCP_NOPUSH                        = 0x10\n\tTCP_NSTATES                       = 0xb\n\tTCP_SACK_ENABLE                   = 0x8\n\tTCSAFLUSH                         = 0x2\n\tTIOCCBRK                          = 0x2000747a\n\tTIOCCDTR                          = 0x20007478\n\tTIOCCONS                          = 0x80047462\n\tTIOCDRAIN                         = 0x2000745e\n\tTIOCEXCL                          = 0x2000740d\n\tTIOCEXT                           = 0x80047460\n\tTIOCFLAG_CLOCAL                   = 0x2\n\tTIOCFLAG_CRTSCTS                  = 0x4\n\tTIOCFLAG_MDMBUF                   = 0x8\n\tTIOCFLAG_PPS                      = 0x10\n\tTIOCFLAG_SOFTCAR                  = 0x1\n\tTIOCFLUSH                         = 0x80047410\n\tTIOCGETA                          = 0x402c7413\n\tTIOCGETD                          = 0x4004741a\n\tTIOCGFLAGS                        = 0x4004745d\n\tTIOCGPGRP                         = 0x40047477\n\tTIOCGSID                          = 0x40047463\n\tTIOCGTSTAMP                       = 0x400c745b\n\tTIOCGWINSZ                        = 0x40087468\n\tTIOCMBIC                          = 0x8004746b\n\tTIOCMBIS                          = 0x8004746c\n\tTIOCMGET                          = 0x4004746a\n\tTIOCMODG                          = 0x4004746a\n\tTIOCMODS                          = 0x8004746d\n\tTIOCMSET                          = 0x8004746d\n\tTIOCM_CAR                         = 0x40\n\tTIOCM_CD                          = 0x40\n\tTIOCM_CTS                         = 0x20\n\tTIOCM_DSR                         = 0x100\n\tTIOCM_DTR                         = 0x2\n\tTIOCM_LE                          = 0x1\n\tTIOCM_RI                          = 0x80\n\tTIOCM_RNG                         = 0x80\n\tTIOCM_RTS                         = 0x4\n\tTIOCM_SR                          = 0x10\n\tTIOCM_ST                          = 0x8\n\tTIOCNOTTY                         = 0x20007471\n\tTIOCNXCL                          = 0x2000740e\n\tTIOCOUTQ                          = 0x40047473\n\tTIOCPKT                           = 0x80047470\n\tTIOCPKT_DATA                      = 0x0\n\tTIOCPKT_DOSTOP                    = 0x20\n\tTIOCPKT_FLUSHREAD                 = 0x1\n\tTIOCPKT_FLUSHWRITE                = 0x2\n\tTIOCPKT_IOCTL                     = 0x40\n\tTIOCPKT_NOSTOP                    = 0x10\n\tTIOCPKT_START                     = 0x8\n\tTIOCPKT_STOP                      = 0x4\n\tTIOCREMOTE                        = 0x80047469\n\tTIOCSBRK                          = 0x2000747b\n\tTIOCSCTTY                         = 0x20007461\n\tTIOCSDTR                          = 0x20007479\n\tTIOCSETA                          = 0x802c7414\n\tTIOCSETAF                         = 0x802c7416\n\tTIOCSETAW                         = 0x802c7415\n\tTIOCSETD                          = 0x8004741b\n\tTIOCSFLAGS                        = 0x8004745c\n\tTIOCSIG                           = 0x8004745f\n\tTIOCSPGRP                         = 0x80047476\n\tTIOCSTART                         = 0x2000746e\n\tTIOCSTAT                          = 0x80047465\n\tTIOCSTI                           = 0x80017472\n\tTIOCSTOP                          = 0x2000746f\n\tTIOCSTSTAMP                       = 0x8008745a\n\tTIOCSWINSZ                        = 0x80087467\n\tTIOCUCNTL                         = 0x80047466\n\tTOSTOP                            = 0x400000\n\tVDISCARD                          = 0xf\n\tVDSUSP                            = 0xb\n\tVEOF                              = 0x0\n\tVEOL                              = 0x1\n\tVEOL2                             = 0x2\n\tVERASE                            = 0x3\n\tVINTR                             = 0x8\n\tVKILL                             = 0x5\n\tVLNEXT                            = 0xe\n\tVMIN                              = 0x10\n\tVQUIT                             = 0x9\n\tVREPRINT                          = 0x6\n\tVSTART                            = 0xc\n\tVSTATUS                           = 0x12\n\tVSTOP                             = 0xd\n\tVSUSP                             = 0xa\n\tVTIME                             = 0x11\n\tVWERASE                           = 0x4\n\tWALTSIG                           = 0x4\n\tWCONTINUED                        = 0x8\n\tWCOREFLAG                         = 0x80\n\tWNOHANG                           = 0x1\n\tWUNTRACED                         = 0x2\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x30)\n\tEADDRNOTAVAIL   = syscall.Errno(0x31)\n\tEAFNOSUPPORT    = syscall.Errno(0x2f)\n\tEAGAIN          = syscall.Errno(0x23)\n\tEALREADY        = syscall.Errno(0x25)\n\tEAUTH           = syscall.Errno(0x50)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADRPC         = syscall.Errno(0x48)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x58)\n\tECHILD          = syscall.Errno(0xa)\n\tECONNABORTED    = syscall.Errno(0x35)\n\tECONNREFUSED    = syscall.Errno(0x3d)\n\tECONNRESET      = syscall.Errno(0x36)\n\tEDEADLK         = syscall.Errno(0xb)\n\tEDESTADDRREQ    = syscall.Errno(0x27)\n\tEDOM            = syscall.Errno(0x21)\n\tEDQUOT          = syscall.Errno(0x45)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEFTYPE          = syscall.Errno(0x4f)\n\tEHOSTDOWN       = syscall.Errno(0x40)\n\tEHOSTUNREACH    = syscall.Errno(0x41)\n\tEIDRM           = syscall.Errno(0x59)\n\tEILSEQ          = syscall.Errno(0x54)\n\tEINPROGRESS     = syscall.Errno(0x24)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEIPSEC          = syscall.Errno(0x52)\n\tEISCONN         = syscall.Errno(0x38)\n\tEISDIR          = syscall.Errno(0x15)\n\tELAST           = syscall.Errno(0x5b)\n\tELOOP           = syscall.Errno(0x3e)\n\tEMEDIUMTYPE     = syscall.Errno(0x56)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x28)\n\tENAMETOOLONG    = syscall.Errno(0x3f)\n\tENEEDAUTH       = syscall.Errno(0x51)\n\tENETDOWN        = syscall.Errno(0x32)\n\tENETRESET       = syscall.Errno(0x34)\n\tENETUNREACH     = syscall.Errno(0x33)\n\tENFILE          = syscall.Errno(0x17)\n\tENOATTR         = syscall.Errno(0x53)\n\tENOBUFS         = syscall.Errno(0x37)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOLCK          = syscall.Errno(0x4d)\n\tENOMEDIUM       = syscall.Errno(0x55)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x5a)\n\tENOPROTOOPT     = syscall.Errno(0x2a)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSYS          = syscall.Errno(0x4e)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x39)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x42)\n\tENOTSOCK        = syscall.Errno(0x26)\n\tENOTSUP         = syscall.Errno(0x5b)\n\tENOTTY          = syscall.Errno(0x19)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x2d)\n\tEOVERFLOW       = syscall.Errno(0x57)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x2e)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROCLIM        = syscall.Errno(0x43)\n\tEPROCUNAVAIL    = syscall.Errno(0x4c)\n\tEPROGMISMATCH   = syscall.Errno(0x4b)\n\tEPROGUNAVAIL    = syscall.Errno(0x4a)\n\tEPROTONOSUPPORT = syscall.Errno(0x2b)\n\tEPROTOTYPE      = syscall.Errno(0x29)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMOTE         = syscall.Errno(0x47)\n\tEROFS           = syscall.Errno(0x1e)\n\tERPCMISMATCH    = syscall.Errno(0x49)\n\tESHUTDOWN       = syscall.Errno(0x3a)\n\tESOCKTNOSUPPORT = syscall.Errno(0x2c)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESTALE          = syscall.Errno(0x46)\n\tETIMEDOUT       = syscall.Errno(0x3c)\n\tETOOMANYREFS    = syscall.Errno(0x3b)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUSERS          = syscall.Errno(0x44)\n\tEWOULDBLOCK     = syscall.Errno(0x23)\n\tEXDEV           = syscall.Errno(0x12)\n)\n\n// Signals\nconst (\n\tSIGABRT   = syscall.Signal(0x6)\n\tSIGALRM   = syscall.Signal(0xe)\n\tSIGBUS    = syscall.Signal(0xa)\n\tSIGCHLD   = syscall.Signal(0x14)\n\tSIGCONT   = syscall.Signal(0x13)\n\tSIGEMT    = syscall.Signal(0x7)\n\tSIGFPE    = syscall.Signal(0x8)\n\tSIGHUP    = syscall.Signal(0x1)\n\tSIGILL    = syscall.Signal(0x4)\n\tSIGINFO   = syscall.Signal(0x1d)\n\tSIGINT    = syscall.Signal(0x2)\n\tSIGIO     = syscall.Signal(0x17)\n\tSIGIOT    = syscall.Signal(0x6)\n\tSIGKILL   = syscall.Signal(0x9)\n\tSIGPIPE   = syscall.Signal(0xd)\n\tSIGPROF   = syscall.Signal(0x1b)\n\tSIGQUIT   = syscall.Signal(0x3)\n\tSIGSEGV   = syscall.Signal(0xb)\n\tSIGSTOP   = syscall.Signal(0x11)\n\tSIGSYS    = syscall.Signal(0xc)\n\tSIGTERM   = syscall.Signal(0xf)\n\tSIGTHR    = syscall.Signal(0x20)\n\tSIGTRAP   = syscall.Signal(0x5)\n\tSIGTSTP   = syscall.Signal(0x12)\n\tSIGTTIN   = syscall.Signal(0x15)\n\tSIGTTOU   = syscall.Signal(0x16)\n\tSIGURG    = syscall.Signal(0x10)\n\tSIGUSR1   = syscall.Signal(0x1e)\n\tSIGUSR2   = syscall.Signal(0x1f)\n\tSIGVTALRM = syscall.Signal(0x1a)\n\tSIGWINCH  = syscall.Signal(0x1c)\n\tSIGXCPU   = syscall.Signal(0x18)\n\tSIGXFSZ   = syscall.Signal(0x19)\n)\n\n// Error table\nvar errorList = [...]struct {\n\tnum  syscall.Errno\n\tname string\n\tdesc string\n}{\n\t{1, \"EPERM\", \"operation not permitted\"},\n\t{2, \"ENOENT\", \"no such file or directory\"},\n\t{3, \"ESRCH\", \"no such process\"},\n\t{4, \"EINTR\", \"interrupted system call\"},\n\t{5, \"EIO\", \"input/output error\"},\n\t{6, \"ENXIO\", \"device not configured\"},\n\t{7, \"E2BIG\", \"argument list too long\"},\n\t{8, \"ENOEXEC\", \"exec format error\"},\n\t{9, \"EBADF\", \"bad file descriptor\"},\n\t{10, \"ECHILD\", \"no child processes\"},\n\t{11, \"EDEADLK\", \"resource deadlock avoided\"},\n\t{12, \"ENOMEM\", \"cannot allocate memory\"},\n\t{13, \"EACCES\", \"permission denied\"},\n\t{14, \"EFAULT\", \"bad address\"},\n\t{15, \"ENOTBLK\", \"block device required\"},\n\t{16, \"EBUSY\", \"device busy\"},\n\t{17, \"EEXIST\", \"file exists\"},\n\t{18, \"EXDEV\", \"cross-device link\"},\n\t{19, \"ENODEV\", \"operation not supported by device\"},\n\t{20, \"ENOTDIR\", \"not a directory\"},\n\t{21, \"EISDIR\", \"is a directory\"},\n\t{22, \"EINVAL\", \"invalid argument\"},\n\t{23, \"ENFILE\", \"too many open files in system\"},\n\t{24, \"EMFILE\", \"too many open files\"},\n\t{25, \"ENOTTY\", \"inappropriate ioctl for device\"},\n\t{26, \"ETXTBSY\", \"text file busy\"},\n\t{27, \"EFBIG\", \"file too large\"},\n\t{28, \"ENOSPC\", \"no space left on device\"},\n\t{29, \"ESPIPE\", \"illegal seek\"},\n\t{30, \"EROFS\", \"read-only file system\"},\n\t{31, \"EMLINK\", \"too many links\"},\n\t{32, \"EPIPE\", \"broken pipe\"},\n\t{33, \"EDOM\", \"numerical argument out of domain\"},\n\t{34, \"ERANGE\", \"result too large\"},\n\t{35, \"EWOULDBLOCK\", \"resource temporarily unavailable\"},\n\t{36, \"EINPROGRESS\", \"operation now in progress\"},\n\t{37, \"EALREADY\", \"operation already in progress\"},\n\t{38, \"ENOTSOCK\", \"socket operation on non-socket\"},\n\t{39, \"EDESTADDRREQ\", \"destination address required\"},\n\t{40, \"EMSGSIZE\", \"message too long\"},\n\t{41, \"EPROTOTYPE\", \"protocol wrong type for socket\"},\n\t{42, \"ENOPROTOOPT\", \"protocol not available\"},\n\t{43, \"EPROTONOSUPPORT\", \"protocol not supported\"},\n\t{44, \"ESOCKTNOSUPPORT\", \"socket type not supported\"},\n\t{45, \"EOPNOTSUPP\", \"operation not supported\"},\n\t{46, \"EPFNOSUPPORT\", \"protocol family not supported\"},\n\t{47, \"EAFNOSUPPORT\", \"address family not supported by protocol family\"},\n\t{48, \"EADDRINUSE\", \"address already in use\"},\n\t{49, \"EADDRNOTAVAIL\", \"can't assign requested address\"},\n\t{50, \"ENETDOWN\", \"network is down\"},\n\t{51, \"ENETUNREACH\", \"network is unreachable\"},\n\t{52, \"ENETRESET\", \"network dropped connection on reset\"},\n\t{53, \"ECONNABORTED\", \"software caused connection abort\"},\n\t{54, \"ECONNRESET\", \"connection reset by peer\"},\n\t{55, \"ENOBUFS\", \"no buffer space available\"},\n\t{56, \"EISCONN\", \"socket is already connected\"},\n\t{57, \"ENOTCONN\", \"socket is not connected\"},\n\t{58, \"ESHUTDOWN\", \"can't send after socket shutdown\"},\n\t{59, \"ETOOMANYREFS\", \"too many references: can't splice\"},\n\t{60, \"ETIMEDOUT\", \"operation timed out\"},\n\t{61, \"ECONNREFUSED\", \"connection refused\"},\n\t{62, \"ELOOP\", \"too many levels of symbolic links\"},\n\t{63, \"ENAMETOOLONG\", \"file name too long\"},\n\t{64, \"EHOSTDOWN\", \"host is down\"},\n\t{65, \"EHOSTUNREACH\", \"no route to host\"},\n\t{66, \"ENOTEMPTY\", \"directory not empty\"},\n\t{67, \"EPROCLIM\", \"too many processes\"},\n\t{68, \"EUSERS\", \"too many users\"},\n\t{69, \"EDQUOT\", \"disk quota exceeded\"},\n\t{70, \"ESTALE\", \"stale NFS file handle\"},\n\t{71, \"EREMOTE\", \"too many levels of remote in path\"},\n\t{72, \"EBADRPC\", \"RPC struct is bad\"},\n\t{73, \"ERPCMISMATCH\", \"RPC version wrong\"},\n\t{74, \"EPROGUNAVAIL\", \"RPC program not available\"},\n\t{75, \"EPROGMISMATCH\", \"program version wrong\"},\n\t{76, \"EPROCUNAVAIL\", \"bad procedure for program\"},\n\t{77, \"ENOLCK\", \"no locks available\"},\n\t{78, \"ENOSYS\", \"function not implemented\"},\n\t{79, \"EFTYPE\", \"inappropriate file type or format\"},\n\t{80, \"EAUTH\", \"authentication error\"},\n\t{81, \"ENEEDAUTH\", \"need authenticator\"},\n\t{82, \"EIPSEC\", \"IPsec processing failure\"},\n\t{83, \"ENOATTR\", \"attribute not found\"},\n\t{84, \"EILSEQ\", \"illegal byte sequence\"},\n\t{85, \"ENOMEDIUM\", \"no medium found\"},\n\t{86, \"EMEDIUMTYPE\", \"wrong medium type\"},\n\t{87, \"EOVERFLOW\", \"value too large to be stored in data type\"},\n\t{88, \"ECANCELED\", \"operation canceled\"},\n\t{89, \"EIDRM\", \"identifier removed\"},\n\t{90, \"ENOMSG\", \"no message of desired type\"},\n\t{91, \"ELAST\", \"not supported\"},\n}\n\n// Signal table\nvar signalList = [...]struct {\n\tnum  syscall.Signal\n\tname string\n\tdesc string\n}{\n\t{1, \"SIGHUP\", \"hangup\"},\n\t{2, \"SIGINT\", \"interrupt\"},\n\t{3, \"SIGQUIT\", \"quit\"},\n\t{4, \"SIGILL\", \"illegal instruction\"},\n\t{5, \"SIGTRAP\", \"trace/BPT trap\"},\n\t{6, \"SIGABRT\", \"abort trap\"},\n\t{7, \"SIGEMT\", \"EMT trap\"},\n\t{8, \"SIGFPE\", \"floating point exception\"},\n\t{9, \"SIGKILL\", \"killed\"},\n\t{10, \"SIGBUS\", \"bus error\"},\n\t{11, \"SIGSEGV\", \"segmentation fault\"},\n\t{12, \"SIGSYS\", \"bad system call\"},\n\t{13, \"SIGPIPE\", \"broken pipe\"},\n\t{14, \"SIGALRM\", \"alarm clock\"},\n\t{15, \"SIGTERM\", \"terminated\"},\n\t{16, \"SIGURG\", \"urgent I/O condition\"},\n\t{17, \"SIGSTOP\", \"suspended (signal)\"},\n\t{18, \"SIGTSTP\", \"suspended\"},\n\t{19, \"SIGCONT\", \"continued\"},\n\t{20, \"SIGCHLD\", \"child exited\"},\n\t{21, \"SIGTTIN\", \"stopped (tty input)\"},\n\t{22, \"SIGTTOU\", \"stopped (tty output)\"},\n\t{23, \"SIGIO\", \"I/O possible\"},\n\t{24, \"SIGXCPU\", \"cputime limit exceeded\"},\n\t{25, \"SIGXFSZ\", \"filesize limit exceeded\"},\n\t{26, \"SIGVTALRM\", \"virtual timer expired\"},\n\t{27, \"SIGPROF\", \"profiling timer expired\"},\n\t{28, \"SIGWINCH\", \"window size changes\"},\n\t{29, \"SIGINFO\", \"information request\"},\n\t{30, \"SIGUSR1\", \"user defined signal 1\"},\n\t{31, \"SIGUSR2\", \"user defined signal 2\"},\n\t{32, \"SIGTHR\", \"thread AST\"},\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go",
    "content": "// mkerrors.sh -m64\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,solaris\n\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs -- -m64 _const.go\n\npackage unix\n\nimport \"syscall\"\n\nconst (\n\tAF_802                        = 0x12\n\tAF_APPLETALK                  = 0x10\n\tAF_CCITT                      = 0xa\n\tAF_CHAOS                      = 0x5\n\tAF_DATAKIT                    = 0x9\n\tAF_DECnet                     = 0xc\n\tAF_DLI                        = 0xd\n\tAF_ECMA                       = 0x8\n\tAF_FILE                       = 0x1\n\tAF_GOSIP                      = 0x16\n\tAF_HYLINK                     = 0xf\n\tAF_IMPLINK                    = 0x3\n\tAF_INET                       = 0x2\n\tAF_INET6                      = 0x1a\n\tAF_INET_OFFLOAD               = 0x1e\n\tAF_IPX                        = 0x17\n\tAF_KEY                        = 0x1b\n\tAF_LAT                        = 0xe\n\tAF_LINK                       = 0x19\n\tAF_LOCAL                      = 0x1\n\tAF_MAX                        = 0x20\n\tAF_NBS                        = 0x7\n\tAF_NCA                        = 0x1c\n\tAF_NIT                        = 0x11\n\tAF_NS                         = 0x6\n\tAF_OSI                        = 0x13\n\tAF_OSINET                     = 0x15\n\tAF_PACKET                     = 0x20\n\tAF_POLICY                     = 0x1d\n\tAF_PUP                        = 0x4\n\tAF_ROUTE                      = 0x18\n\tAF_SNA                        = 0xb\n\tAF_TRILL                      = 0x1f\n\tAF_UNIX                       = 0x1\n\tAF_UNSPEC                     = 0x0\n\tAF_X25                        = 0x14\n\tARPHRD_ARCNET                 = 0x7\n\tARPHRD_ATM                    = 0x10\n\tARPHRD_AX25                   = 0x3\n\tARPHRD_CHAOS                  = 0x5\n\tARPHRD_EETHER                 = 0x2\n\tARPHRD_ETHER                  = 0x1\n\tARPHRD_FC                     = 0x12\n\tARPHRD_FRAME                  = 0xf\n\tARPHRD_HDLC                   = 0x11\n\tARPHRD_IB                     = 0x20\n\tARPHRD_IEEE802                = 0x6\n\tARPHRD_IPATM                  = 0x13\n\tARPHRD_METRICOM               = 0x17\n\tARPHRD_TUNNEL                 = 0x1f\n\tB0                            = 0x0\n\tB110                          = 0x3\n\tB115200                       = 0x12\n\tB1200                         = 0x9\n\tB134                          = 0x4\n\tB150                          = 0x5\n\tB153600                       = 0x13\n\tB1800                         = 0xa\n\tB19200                        = 0xe\n\tB200                          = 0x6\n\tB230400                       = 0x14\n\tB2400                         = 0xb\n\tB300                          = 0x7\n\tB307200                       = 0x15\n\tB38400                        = 0xf\n\tB460800                       = 0x16\n\tB4800                         = 0xc\n\tB50                           = 0x1\n\tB57600                        = 0x10\n\tB600                          = 0x8\n\tB75                           = 0x2\n\tB76800                        = 0x11\n\tB921600                       = 0x17\n\tB9600                         = 0xd\n\tBIOCFLUSH                     = 0x20004268\n\tBIOCGBLEN                     = 0x40044266\n\tBIOCGDLT                      = 0x4004426a\n\tBIOCGDLTLIST                  = -0x3fefbd89\n\tBIOCGDLTLIST32                = -0x3ff7bd89\n\tBIOCGETIF                     = 0x4020426b\n\tBIOCGETLIF                    = 0x4078426b\n\tBIOCGHDRCMPLT                 = 0x40044274\n\tBIOCGRTIMEOUT                 = 0x4010427b\n\tBIOCGRTIMEOUT32               = 0x4008427b\n\tBIOCGSEESENT                  = 0x40044278\n\tBIOCGSTATS                    = 0x4080426f\n\tBIOCGSTATSOLD                 = 0x4008426f\n\tBIOCIMMEDIATE                 = -0x7ffbbd90\n\tBIOCPROMISC                   = 0x20004269\n\tBIOCSBLEN                     = -0x3ffbbd9a\n\tBIOCSDLT                      = -0x7ffbbd8a\n\tBIOCSETF                      = -0x7fefbd99\n\tBIOCSETF32                    = -0x7ff7bd99\n\tBIOCSETIF                     = -0x7fdfbd94\n\tBIOCSETLIF                    = -0x7f87bd94\n\tBIOCSHDRCMPLT                 = -0x7ffbbd8b\n\tBIOCSRTIMEOUT                 = -0x7fefbd86\n\tBIOCSRTIMEOUT32               = -0x7ff7bd86\n\tBIOCSSEESENT                  = -0x7ffbbd87\n\tBIOCSTCPF                     = -0x7fefbd8e\n\tBIOCSUDPF                     = -0x7fefbd8d\n\tBIOCVERSION                   = 0x40044271\n\tBPF_A                         = 0x10\n\tBPF_ABS                       = 0x20\n\tBPF_ADD                       = 0x0\n\tBPF_ALIGNMENT                 = 0x4\n\tBPF_ALU                       = 0x4\n\tBPF_AND                       = 0x50\n\tBPF_B                         = 0x10\n\tBPF_DFLTBUFSIZE               = 0x100000\n\tBPF_DIV                       = 0x30\n\tBPF_H                         = 0x8\n\tBPF_IMM                       = 0x0\n\tBPF_IND                       = 0x40\n\tBPF_JA                        = 0x0\n\tBPF_JEQ                       = 0x10\n\tBPF_JGE                       = 0x30\n\tBPF_JGT                       = 0x20\n\tBPF_JMP                       = 0x5\n\tBPF_JSET                      = 0x40\n\tBPF_K                         = 0x0\n\tBPF_LD                        = 0x0\n\tBPF_LDX                       = 0x1\n\tBPF_LEN                       = 0x80\n\tBPF_LSH                       = 0x60\n\tBPF_MAJOR_VERSION             = 0x1\n\tBPF_MAXBUFSIZE                = 0x1000000\n\tBPF_MAXINSNS                  = 0x200\n\tBPF_MEM                       = 0x60\n\tBPF_MEMWORDS                  = 0x10\n\tBPF_MINBUFSIZE                = 0x20\n\tBPF_MINOR_VERSION             = 0x1\n\tBPF_MISC                      = 0x7\n\tBPF_MSH                       = 0xa0\n\tBPF_MUL                       = 0x20\n\tBPF_NEG                       = 0x80\n\tBPF_OR                        = 0x40\n\tBPF_RELEASE                   = 0x30bb6\n\tBPF_RET                       = 0x6\n\tBPF_RSH                       = 0x70\n\tBPF_ST                        = 0x2\n\tBPF_STX                       = 0x3\n\tBPF_SUB                       = 0x10\n\tBPF_TAX                       = 0x0\n\tBPF_TXA                       = 0x80\n\tBPF_W                         = 0x0\n\tBPF_X                         = 0x8\n\tBRKINT                        = 0x2\n\tBS0                           = 0x0\n\tBS1                           = 0x2000\n\tBSDLY                         = 0x2000\n\tCBAUD                         = 0xf\n\tCFLUSH                        = 0xf\n\tCIBAUD                        = 0xf0000\n\tCLOCAL                        = 0x800\n\tCLOCK_HIGHRES                 = 0x4\n\tCLOCK_LEVEL                   = 0xa\n\tCLOCK_MONOTONIC               = 0x4\n\tCLOCK_PROCESS_CPUTIME_ID      = 0x5\n\tCLOCK_PROF                    = 0x2\n\tCLOCK_REALTIME                = 0x3\n\tCLOCK_THREAD_CPUTIME_ID       = 0x2\n\tCLOCK_VIRTUAL                 = 0x1\n\tCR0                           = 0x0\n\tCR1                           = 0x200\n\tCR2                           = 0x400\n\tCR3                           = 0x600\n\tCRDLY                         = 0x600\n\tCREAD                         = 0x80\n\tCRTSCTS                       = 0x80000000\n\tCS5                           = 0x0\n\tCS6                           = 0x10\n\tCS7                           = 0x20\n\tCS8                           = 0x30\n\tCSIZE                         = 0x30\n\tCSTART                        = 0x11\n\tCSTATUS                       = 0x14\n\tCSTOP                         = 0x13\n\tCSTOPB                        = 0x40\n\tCSUSP                         = 0x1a\n\tCSWTCH                        = 0x1a\n\tDLT_AIRONET_HEADER            = 0x78\n\tDLT_APPLE_IP_OVER_IEEE1394    = 0x8a\n\tDLT_ARCNET                    = 0x7\n\tDLT_ARCNET_LINUX              = 0x81\n\tDLT_ATM_CLIP                  = 0x13\n\tDLT_ATM_RFC1483               = 0xb\n\tDLT_AURORA                    = 0x7e\n\tDLT_AX25                      = 0x3\n\tDLT_BACNET_MS_TP              = 0xa5\n\tDLT_CHAOS                     = 0x5\n\tDLT_CISCO_IOS                 = 0x76\n\tDLT_C_HDLC                    = 0x68\n\tDLT_DOCSIS                    = 0x8f\n\tDLT_ECONET                    = 0x73\n\tDLT_EN10MB                    = 0x1\n\tDLT_EN3MB                     = 0x2\n\tDLT_ENC                       = 0x6d\n\tDLT_ERF_ETH                   = 0xaf\n\tDLT_ERF_POS                   = 0xb0\n\tDLT_FDDI                      = 0xa\n\tDLT_FRELAY                    = 0x6b\n\tDLT_GCOM_SERIAL               = 0xad\n\tDLT_GCOM_T1E1                 = 0xac\n\tDLT_GPF_F                     = 0xab\n\tDLT_GPF_T                     = 0xaa\n\tDLT_GPRS_LLC                  = 0xa9\n\tDLT_HDLC                      = 0x10\n\tDLT_HHDLC                     = 0x79\n\tDLT_HIPPI                     = 0xf\n\tDLT_IBM_SN                    = 0x92\n\tDLT_IBM_SP                    = 0x91\n\tDLT_IEEE802                   = 0x6\n\tDLT_IEEE802_11                = 0x69\n\tDLT_IEEE802_11_RADIO          = 0x7f\n\tDLT_IEEE802_11_RADIO_AVS      = 0xa3\n\tDLT_IPNET                     = 0xe2\n\tDLT_IPOIB                     = 0xa2\n\tDLT_IP_OVER_FC                = 0x7a\n\tDLT_JUNIPER_ATM1              = 0x89\n\tDLT_JUNIPER_ATM2              = 0x87\n\tDLT_JUNIPER_CHDLC             = 0xb5\n\tDLT_JUNIPER_ES                = 0x84\n\tDLT_JUNIPER_ETHER             = 0xb2\n\tDLT_JUNIPER_FRELAY            = 0xb4\n\tDLT_JUNIPER_GGSN              = 0x85\n\tDLT_JUNIPER_MFR               = 0x86\n\tDLT_JUNIPER_MLFR              = 0x83\n\tDLT_JUNIPER_MLPPP             = 0x82\n\tDLT_JUNIPER_MONITOR           = 0xa4\n\tDLT_JUNIPER_PIC_PEER          = 0xae\n\tDLT_JUNIPER_PPP               = 0xb3\n\tDLT_JUNIPER_PPPOE             = 0xa7\n\tDLT_JUNIPER_PPPOE_ATM         = 0xa8\n\tDLT_JUNIPER_SERVICES          = 0x88\n\tDLT_LINUX_IRDA                = 0x90\n\tDLT_LINUX_LAPD                = 0xb1\n\tDLT_LINUX_SLL                 = 0x71\n\tDLT_LOOP                      = 0x6c\n\tDLT_LTALK                     = 0x72\n\tDLT_MTP2                      = 0x8c\n\tDLT_MTP2_WITH_PHDR            = 0x8b\n\tDLT_MTP3                      = 0x8d\n\tDLT_NULL                      = 0x0\n\tDLT_PCI_EXP                   = 0x7d\n\tDLT_PFLOG                     = 0x75\n\tDLT_PFSYNC                    = 0x12\n\tDLT_PPP                       = 0x9\n\tDLT_PPP_BSDOS                 = 0xe\n\tDLT_PPP_PPPD                  = 0xa6\n\tDLT_PRISM_HEADER              = 0x77\n\tDLT_PRONET                    = 0x4\n\tDLT_RAW                       = 0xc\n\tDLT_RAWAF_MASK                = 0x2240000\n\tDLT_RIO                       = 0x7c\n\tDLT_SCCP                      = 0x8e\n\tDLT_SLIP                      = 0x8\n\tDLT_SLIP_BSDOS                = 0xd\n\tDLT_SUNATM                    = 0x7b\n\tDLT_SYMANTEC_FIREWALL         = 0x63\n\tDLT_TZSP                      = 0x80\n\tECHO                          = 0x8\n\tECHOCTL                       = 0x200\n\tECHOE                         = 0x10\n\tECHOK                         = 0x20\n\tECHOKE                        = 0x800\n\tECHONL                        = 0x40\n\tECHOPRT                       = 0x400\n\tEMPTY_SET                     = 0x0\n\tEMT_CPCOVF                    = 0x1\n\tEQUALITY_CHECK                = 0x0\n\tEXTA                          = 0xe\n\tEXTB                          = 0xf\n\tFD_CLOEXEC                    = 0x1\n\tFD_NFDBITS                    = 0x40\n\tFD_SETSIZE                    = 0x10000\n\tFF0                           = 0x0\n\tFF1                           = 0x8000\n\tFFDLY                         = 0x8000\n\tFLUSHALL                      = 0x1\n\tFLUSHDATA                     = 0x0\n\tFLUSHO                        = 0x2000\n\tF_ALLOCSP                     = 0xa\n\tF_ALLOCSP64                   = 0xa\n\tF_BADFD                       = 0x2e\n\tF_BLKSIZE                     = 0x13\n\tF_BLOCKS                      = 0x12\n\tF_CHKFL                       = 0x8\n\tF_COMPAT                      = 0x8\n\tF_DUP2FD                      = 0x9\n\tF_DUP2FD_CLOEXEC              = 0x24\n\tF_DUPFD                       = 0x0\n\tF_DUPFD_CLOEXEC               = 0x25\n\tF_FLOCK                       = 0x35\n\tF_FLOCK64                     = 0x35\n\tF_FLOCKW                      = 0x36\n\tF_FLOCKW64                    = 0x36\n\tF_FREESP                      = 0xb\n\tF_FREESP64                    = 0xb\n\tF_GETFD                       = 0x1\n\tF_GETFL                       = 0x3\n\tF_GETLK                       = 0xe\n\tF_GETLK64                     = 0xe\n\tF_GETOWN                      = 0x17\n\tF_GETXFL                      = 0x2d\n\tF_HASREMOTELOCKS              = 0x1a\n\tF_ISSTREAM                    = 0xd\n\tF_MANDDNY                     = 0x10\n\tF_MDACC                       = 0x20\n\tF_NODNY                       = 0x0\n\tF_NPRIV                       = 0x10\n\tF_OFD_GETLK                   = 0x2f\n\tF_OFD_GETLK64                 = 0x2f\n\tF_OFD_SETLK                   = 0x30\n\tF_OFD_SETLK64                 = 0x30\n\tF_OFD_SETLKW                  = 0x31\n\tF_OFD_SETLKW64                = 0x31\n\tF_PRIV                        = 0xf\n\tF_QUOTACTL                    = 0x11\n\tF_RDACC                       = 0x1\n\tF_RDDNY                       = 0x1\n\tF_RDLCK                       = 0x1\n\tF_REVOKE                      = 0x19\n\tF_RMACC                       = 0x4\n\tF_RMDNY                       = 0x4\n\tF_RWACC                       = 0x3\n\tF_RWDNY                       = 0x3\n\tF_SETFD                       = 0x2\n\tF_SETFL                       = 0x4\n\tF_SETLK                       = 0x6\n\tF_SETLK64                     = 0x6\n\tF_SETLK64_NBMAND              = 0x2a\n\tF_SETLKW                      = 0x7\n\tF_SETLKW64                    = 0x7\n\tF_SETLK_NBMAND                = 0x2a\n\tF_SETOWN                      = 0x18\n\tF_SHARE                       = 0x28\n\tF_SHARE_NBMAND                = 0x2b\n\tF_UNLCK                       = 0x3\n\tF_UNLKSYS                     = 0x4\n\tF_UNSHARE                     = 0x29\n\tF_WRACC                       = 0x2\n\tF_WRDNY                       = 0x2\n\tF_WRLCK                       = 0x2\n\tHUPCL                         = 0x400\n\tIBSHIFT                       = 0x10\n\tICANON                        = 0x2\n\tICRNL                         = 0x100\n\tIEXTEN                        = 0x8000\n\tIFF_ADDRCONF                  = 0x80000\n\tIFF_ALLMULTI                  = 0x200\n\tIFF_ANYCAST                   = 0x400000\n\tIFF_BROADCAST                 = 0x2\n\tIFF_CANTCHANGE                = 0x7f203003b5a\n\tIFF_COS_ENABLED               = 0x200000000\n\tIFF_DEBUG                     = 0x4\n\tIFF_DEPRECATED                = 0x40000\n\tIFF_DHCPRUNNING               = 0x4000\n\tIFF_DUPLICATE                 = 0x4000000000\n\tIFF_FAILED                    = 0x10000000\n\tIFF_FIXEDMTU                  = 0x1000000000\n\tIFF_INACTIVE                  = 0x40000000\n\tIFF_INTELLIGENT               = 0x400\n\tIFF_IPMP                      = 0x8000000000\n\tIFF_IPMP_CANTCHANGE           = 0x10000000\n\tIFF_IPMP_INVALID              = 0x1ec200080\n\tIFF_IPV4                      = 0x1000000\n\tIFF_IPV6                      = 0x2000000\n\tIFF_L3PROTECT                 = 0x40000000000\n\tIFF_LOOPBACK                  = 0x8\n\tIFF_MULTICAST                 = 0x800\n\tIFF_MULTI_BCAST               = 0x1000\n\tIFF_NOACCEPT                  = 0x4000000\n\tIFF_NOARP                     = 0x80\n\tIFF_NOFAILOVER                = 0x8000000\n\tIFF_NOLINKLOCAL               = 0x20000000000\n\tIFF_NOLOCAL                   = 0x20000\n\tIFF_NONUD                     = 0x200000\n\tIFF_NORTEXCH                  = 0x800000\n\tIFF_NOTRAILERS                = 0x20\n\tIFF_NOXMIT                    = 0x10000\n\tIFF_OFFLINE                   = 0x80000000\n\tIFF_POINTOPOINT               = 0x10\n\tIFF_PREFERRED                 = 0x400000000\n\tIFF_PRIVATE                   = 0x8000\n\tIFF_PROMISC                   = 0x100\n\tIFF_ROUTER                    = 0x100000\n\tIFF_RUNNING                   = 0x40\n\tIFF_STANDBY                   = 0x20000000\n\tIFF_TEMPORARY                 = 0x800000000\n\tIFF_UNNUMBERED                = 0x2000\n\tIFF_UP                        = 0x1\n\tIFF_VIRTUAL                   = 0x2000000000\n\tIFF_VRRP                      = 0x10000000000\n\tIFF_XRESOLV                   = 0x100000000\n\tIFNAMSIZ                      = 0x10\n\tIFT_1822                      = 0x2\n\tIFT_6TO4                      = 0xca\n\tIFT_AAL5                      = 0x31\n\tIFT_ARCNET                    = 0x23\n\tIFT_ARCNETPLUS                = 0x24\n\tIFT_ATM                       = 0x25\n\tIFT_CEPT                      = 0x13\n\tIFT_DS3                       = 0x1e\n\tIFT_EON                       = 0x19\n\tIFT_ETHER                     = 0x6\n\tIFT_FDDI                      = 0xf\n\tIFT_FRELAY                    = 0x20\n\tIFT_FRELAYDCE                 = 0x2c\n\tIFT_HDH1822                   = 0x3\n\tIFT_HIPPI                     = 0x2f\n\tIFT_HSSI                      = 0x2e\n\tIFT_HY                        = 0xe\n\tIFT_IB                        = 0xc7\n\tIFT_IPV4                      = 0xc8\n\tIFT_IPV6                      = 0xc9\n\tIFT_ISDNBASIC                 = 0x14\n\tIFT_ISDNPRIMARY               = 0x15\n\tIFT_ISO88022LLC               = 0x29\n\tIFT_ISO88023                  = 0x7\n\tIFT_ISO88024                  = 0x8\n\tIFT_ISO88025                  = 0x9\n\tIFT_ISO88026                  = 0xa\n\tIFT_LAPB                      = 0x10\n\tIFT_LOCALTALK                 = 0x2a\n\tIFT_LOOP                      = 0x18\n\tIFT_MIOX25                    = 0x26\n\tIFT_MODEM                     = 0x30\n\tIFT_NSIP                      = 0x1b\n\tIFT_OTHER                     = 0x1\n\tIFT_P10                       = 0xc\n\tIFT_P80                       = 0xd\n\tIFT_PARA                      = 0x22\n\tIFT_PPP                       = 0x17\n\tIFT_PROPMUX                   = 0x36\n\tIFT_PROPVIRTUAL               = 0x35\n\tIFT_PTPSERIAL                 = 0x16\n\tIFT_RS232                     = 0x21\n\tIFT_SDLC                      = 0x11\n\tIFT_SIP                       = 0x1f\n\tIFT_SLIP                      = 0x1c\n\tIFT_SMDSDXI                   = 0x2b\n\tIFT_SMDSICIP                  = 0x34\n\tIFT_SONET                     = 0x27\n\tIFT_SONETPATH                 = 0x32\n\tIFT_SONETVT                   = 0x33\n\tIFT_STARLAN                   = 0xb\n\tIFT_T1                        = 0x12\n\tIFT_ULTRA                     = 0x1d\n\tIFT_V35                       = 0x2d\n\tIFT_X25                       = 0x5\n\tIFT_X25DDN                    = 0x4\n\tIFT_X25PLE                    = 0x28\n\tIFT_XETHER                    = 0x1a\n\tIGNBRK                        = 0x1\n\tIGNCR                         = 0x80\n\tIGNPAR                        = 0x4\n\tIMAXBEL                       = 0x2000\n\tINLCR                         = 0x40\n\tINPCK                         = 0x10\n\tIN_AUTOCONF_MASK              = 0xffff0000\n\tIN_AUTOCONF_NET               = 0xa9fe0000\n\tIN_CLASSA_HOST                = 0xffffff\n\tIN_CLASSA_MAX                 = 0x80\n\tIN_CLASSA_NET                 = 0xff000000\n\tIN_CLASSA_NSHIFT              = 0x18\n\tIN_CLASSB_HOST                = 0xffff\n\tIN_CLASSB_MAX                 = 0x10000\n\tIN_CLASSB_NET                 = 0xffff0000\n\tIN_CLASSB_NSHIFT              = 0x10\n\tIN_CLASSC_HOST                = 0xff\n\tIN_CLASSC_NET                 = 0xffffff00\n\tIN_CLASSC_NSHIFT              = 0x8\n\tIN_CLASSD_HOST                = 0xfffffff\n\tIN_CLASSD_NET                 = 0xf0000000\n\tIN_CLASSD_NSHIFT              = 0x1c\n\tIN_CLASSE_NET                 = 0xffffffff\n\tIN_LOOPBACKNET                = 0x7f\n\tIN_PRIVATE12_MASK             = 0xfff00000\n\tIN_PRIVATE12_NET              = 0xac100000\n\tIN_PRIVATE16_MASK             = 0xffff0000\n\tIN_PRIVATE16_NET              = 0xc0a80000\n\tIN_PRIVATE8_MASK              = 0xff000000\n\tIN_PRIVATE8_NET               = 0xa000000\n\tIPPROTO_AH                    = 0x33\n\tIPPROTO_DSTOPTS               = 0x3c\n\tIPPROTO_EGP                   = 0x8\n\tIPPROTO_ENCAP                 = 0x4\n\tIPPROTO_EON                   = 0x50\n\tIPPROTO_ESP                   = 0x32\n\tIPPROTO_FRAGMENT              = 0x2c\n\tIPPROTO_GGP                   = 0x3\n\tIPPROTO_HELLO                 = 0x3f\n\tIPPROTO_HOPOPTS               = 0x0\n\tIPPROTO_ICMP                  = 0x1\n\tIPPROTO_ICMPV6                = 0x3a\n\tIPPROTO_IDP                   = 0x16\n\tIPPROTO_IGMP                  = 0x2\n\tIPPROTO_IP                    = 0x0\n\tIPPROTO_IPV6                  = 0x29\n\tIPPROTO_MAX                   = 0x100\n\tIPPROTO_ND                    = 0x4d\n\tIPPROTO_NONE                  = 0x3b\n\tIPPROTO_OSPF                  = 0x59\n\tIPPROTO_PIM                   = 0x67\n\tIPPROTO_PUP                   = 0xc\n\tIPPROTO_RAW                   = 0xff\n\tIPPROTO_ROUTING               = 0x2b\n\tIPPROTO_RSVP                  = 0x2e\n\tIPPROTO_SCTP                  = 0x84\n\tIPPROTO_TCP                   = 0x6\n\tIPPROTO_UDP                   = 0x11\n\tIPV6_ADD_MEMBERSHIP           = 0x9\n\tIPV6_BOUND_IF                 = 0x41\n\tIPV6_CHECKSUM                 = 0x18\n\tIPV6_DONTFRAG                 = 0x21\n\tIPV6_DROP_MEMBERSHIP          = 0xa\n\tIPV6_DSTOPTS                  = 0xf\n\tIPV6_FLOWINFO_FLOWLABEL       = 0xffff0f00\n\tIPV6_FLOWINFO_TCLASS          = 0xf00f\n\tIPV6_HOPLIMIT                 = 0xc\n\tIPV6_HOPOPTS                  = 0xe\n\tIPV6_JOIN_GROUP               = 0x9\n\tIPV6_LEAVE_GROUP              = 0xa\n\tIPV6_MULTICAST_HOPS           = 0x7\n\tIPV6_MULTICAST_IF             = 0x6\n\tIPV6_MULTICAST_LOOP           = 0x8\n\tIPV6_NEXTHOP                  = 0xd\n\tIPV6_PAD1_OPT                 = 0x0\n\tIPV6_PATHMTU                  = 0x25\n\tIPV6_PKTINFO                  = 0xb\n\tIPV6_PREFER_SRC_CGA           = 0x20\n\tIPV6_PREFER_SRC_CGADEFAULT    = 0x10\n\tIPV6_PREFER_SRC_CGAMASK       = 0x30\n\tIPV6_PREFER_SRC_COA           = 0x2\n\tIPV6_PREFER_SRC_DEFAULT       = 0x15\n\tIPV6_PREFER_SRC_HOME          = 0x1\n\tIPV6_PREFER_SRC_MASK          = 0x3f\n\tIPV6_PREFER_SRC_MIPDEFAULT    = 0x1\n\tIPV6_PREFER_SRC_MIPMASK       = 0x3\n\tIPV6_PREFER_SRC_NONCGA        = 0x10\n\tIPV6_PREFER_SRC_PUBLIC        = 0x4\n\tIPV6_PREFER_SRC_TMP           = 0x8\n\tIPV6_PREFER_SRC_TMPDEFAULT    = 0x4\n\tIPV6_PREFER_SRC_TMPMASK       = 0xc\n\tIPV6_RECVDSTOPTS              = 0x28\n\tIPV6_RECVHOPLIMIT             = 0x13\n\tIPV6_RECVHOPOPTS              = 0x14\n\tIPV6_RECVPATHMTU              = 0x24\n\tIPV6_RECVPKTINFO              = 0x12\n\tIPV6_RECVRTHDR                = 0x16\n\tIPV6_RECVRTHDRDSTOPTS         = 0x17\n\tIPV6_RECVTCLASS               = 0x19\n\tIPV6_RTHDR                    = 0x10\n\tIPV6_RTHDRDSTOPTS             = 0x11\n\tIPV6_RTHDR_TYPE_0             = 0x0\n\tIPV6_SEC_OPT                  = 0x22\n\tIPV6_SRC_PREFERENCES          = 0x23\n\tIPV6_TCLASS                   = 0x26\n\tIPV6_UNICAST_HOPS             = 0x5\n\tIPV6_UNSPEC_SRC               = 0x42\n\tIPV6_USE_MIN_MTU              = 0x20\n\tIPV6_V6ONLY                   = 0x27\n\tIP_ADD_MEMBERSHIP             = 0x13\n\tIP_ADD_SOURCE_MEMBERSHIP      = 0x17\n\tIP_BLOCK_SOURCE               = 0x15\n\tIP_BOUND_IF                   = 0x41\n\tIP_BROADCAST                  = 0x106\n\tIP_BROADCAST_TTL              = 0x43\n\tIP_DEFAULT_MULTICAST_LOOP     = 0x1\n\tIP_DEFAULT_MULTICAST_TTL      = 0x1\n\tIP_DF                         = 0x4000\n\tIP_DHCPINIT_IF                = 0x45\n\tIP_DONTFRAG                   = 0x1b\n\tIP_DONTROUTE                  = 0x105\n\tIP_DROP_MEMBERSHIP            = 0x14\n\tIP_DROP_SOURCE_MEMBERSHIP     = 0x18\n\tIP_HDRINCL                    = 0x2\n\tIP_MAXPACKET                  = 0xffff\n\tIP_MF                         = 0x2000\n\tIP_MSS                        = 0x240\n\tIP_MULTICAST_IF               = 0x10\n\tIP_MULTICAST_LOOP             = 0x12\n\tIP_MULTICAST_TTL              = 0x11\n\tIP_NEXTHOP                    = 0x19\n\tIP_OPTIONS                    = 0x1\n\tIP_PKTINFO                    = 0x1a\n\tIP_RECVDSTADDR                = 0x7\n\tIP_RECVIF                     = 0x9\n\tIP_RECVOPTS                   = 0x5\n\tIP_RECVPKTINFO                = 0x1a\n\tIP_RECVRETOPTS                = 0x6\n\tIP_RECVSLLA                   = 0xa\n\tIP_RECVTTL                    = 0xb\n\tIP_RETOPTS                    = 0x8\n\tIP_REUSEADDR                  = 0x104\n\tIP_SEC_OPT                    = 0x22\n\tIP_TOS                        = 0x3\n\tIP_TTL                        = 0x4\n\tIP_UNBLOCK_SOURCE             = 0x16\n\tIP_UNSPEC_SRC                 = 0x42\n\tISIG                          = 0x1\n\tISTRIP                        = 0x20\n\tIUCLC                         = 0x200\n\tIXANY                         = 0x800\n\tIXOFF                         = 0x1000\n\tIXON                          = 0x400\n\tLOCK_EX                       = 0x2\n\tLOCK_NB                       = 0x4\n\tLOCK_SH                       = 0x1\n\tLOCK_UN                       = 0x8\n\tMADV_ACCESS_DEFAULT           = 0x6\n\tMADV_ACCESS_LWP               = 0x7\n\tMADV_ACCESS_MANY              = 0x8\n\tMADV_DONTNEED                 = 0x4\n\tMADV_FREE                     = 0x5\n\tMADV_NORMAL                   = 0x0\n\tMADV_PURGE                    = 0x9\n\tMADV_RANDOM                   = 0x1\n\tMADV_SEQUENTIAL               = 0x2\n\tMADV_WILLNEED                 = 0x3\n\tMAP_32BIT                     = 0x80\n\tMAP_ALIGN                     = 0x200\n\tMAP_ANON                      = 0x100\n\tMAP_ANONYMOUS                 = 0x100\n\tMAP_FILE                      = 0x0\n\tMAP_FIXED                     = 0x10\n\tMAP_INITDATA                  = 0x800\n\tMAP_NORESERVE                 = 0x40\n\tMAP_PRIVATE                   = 0x2\n\tMAP_RENAME                    = 0x20\n\tMAP_SHARED                    = 0x1\n\tMAP_TEXT                      = 0x400\n\tMAP_TYPE                      = 0xf\n\tMCL_CURRENT                   = 0x1\n\tMCL_FUTURE                    = 0x2\n\tMSG_CTRUNC                    = 0x10\n\tMSG_DONTROUTE                 = 0x4\n\tMSG_DONTWAIT                  = 0x80\n\tMSG_DUPCTRL                   = 0x800\n\tMSG_EOR                       = 0x8\n\tMSG_MAXIOVLEN                 = 0x10\n\tMSG_NOTIFICATION              = 0x100\n\tMSG_OOB                       = 0x1\n\tMSG_PEEK                      = 0x2\n\tMSG_TRUNC                     = 0x20\n\tMSG_WAITALL                   = 0x40\n\tMSG_XPG4_2                    = 0x8000\n\tMS_ASYNC                      = 0x1\n\tMS_INVALIDATE                 = 0x2\n\tMS_OLDSYNC                    = 0x0\n\tMS_SYNC                       = 0x4\n\tM_FLUSH                       = 0x86\n\tNAME_MAX                      = 0xff\n\tNEWDEV                        = 0x1\n\tNL0                           = 0x0\n\tNL1                           = 0x100\n\tNLDLY                         = 0x100\n\tNOFLSH                        = 0x80\n\tOCRNL                         = 0x8\n\tOFDEL                         = 0x80\n\tOFILL                         = 0x40\n\tOLCUC                         = 0x2\n\tOLDDEV                        = 0x0\n\tONBITSMAJOR                   = 0x7\n\tONBITSMINOR                   = 0x8\n\tONLCR                         = 0x4\n\tONLRET                        = 0x20\n\tONOCR                         = 0x10\n\tOPENFAIL                      = -0x1\n\tOPOST                         = 0x1\n\tO_ACCMODE                     = 0x600003\n\tO_APPEND                      = 0x8\n\tO_CLOEXEC                     = 0x800000\n\tO_CREAT                       = 0x100\n\tO_DSYNC                       = 0x40\n\tO_EXCL                        = 0x400\n\tO_EXEC                        = 0x400000\n\tO_LARGEFILE                   = 0x2000\n\tO_NDELAY                      = 0x4\n\tO_NOCTTY                      = 0x800\n\tO_NOFOLLOW                    = 0x20000\n\tO_NOLINKS                     = 0x40000\n\tO_NONBLOCK                    = 0x80\n\tO_RDONLY                      = 0x0\n\tO_RDWR                        = 0x2\n\tO_RSYNC                       = 0x8000\n\tO_SEARCH                      = 0x200000\n\tO_SIOCGIFCONF                 = -0x3ff796ec\n\tO_SIOCGLIFCONF                = -0x3fef9688\n\tO_SYNC                        = 0x10\n\tO_TRUNC                       = 0x200\n\tO_WRONLY                      = 0x1\n\tO_XATTR                       = 0x4000\n\tPARENB                        = 0x100\n\tPAREXT                        = 0x100000\n\tPARMRK                        = 0x8\n\tPARODD                        = 0x200\n\tPENDIN                        = 0x4000\n\tPRIO_PGRP                     = 0x1\n\tPRIO_PROCESS                  = 0x0\n\tPRIO_USER                     = 0x2\n\tPROT_EXEC                     = 0x4\n\tPROT_NONE                     = 0x0\n\tPROT_READ                     = 0x1\n\tPROT_WRITE                    = 0x2\n\tRLIMIT_AS                     = 0x6\n\tRLIMIT_CORE                   = 0x4\n\tRLIMIT_CPU                    = 0x0\n\tRLIMIT_DATA                   = 0x2\n\tRLIMIT_FSIZE                  = 0x1\n\tRLIMIT_NOFILE                 = 0x5\n\tRLIMIT_STACK                  = 0x3\n\tRLIM_INFINITY                 = -0x3\n\tRTAX_AUTHOR                   = 0x6\n\tRTAX_BRD                      = 0x7\n\tRTAX_DST                      = 0x0\n\tRTAX_GATEWAY                  = 0x1\n\tRTAX_GENMASK                  = 0x3\n\tRTAX_IFA                      = 0x5\n\tRTAX_IFP                      = 0x4\n\tRTAX_MAX                      = 0x9\n\tRTAX_NETMASK                  = 0x2\n\tRTAX_SRC                      = 0x8\n\tRTA_AUTHOR                    = 0x40\n\tRTA_BRD                       = 0x80\n\tRTA_DST                       = 0x1\n\tRTA_GATEWAY                   = 0x2\n\tRTA_GENMASK                   = 0x8\n\tRTA_IFA                       = 0x20\n\tRTA_IFP                       = 0x10\n\tRTA_NETMASK                   = 0x4\n\tRTA_NUMBITS                   = 0x9\n\tRTA_SRC                       = 0x100\n\tRTF_BLACKHOLE                 = 0x1000\n\tRTF_CLONING                   = 0x100\n\tRTF_DONE                      = 0x40\n\tRTF_DYNAMIC                   = 0x10\n\tRTF_GATEWAY                   = 0x2\n\tRTF_HOST                      = 0x4\n\tRTF_INDIRECT                  = 0x40000\n\tRTF_KERNEL                    = 0x80000\n\tRTF_LLINFO                    = 0x400\n\tRTF_MASK                      = 0x80\n\tRTF_MODIFIED                  = 0x20\n\tRTF_MULTIRT                   = 0x10000\n\tRTF_PRIVATE                   = 0x2000\n\tRTF_PROTO1                    = 0x8000\n\tRTF_PROTO2                    = 0x4000\n\tRTF_REJECT                    = 0x8\n\tRTF_SETSRC                    = 0x20000\n\tRTF_STATIC                    = 0x800\n\tRTF_UP                        = 0x1\n\tRTF_XRESOLVE                  = 0x200\n\tRTF_ZONE                      = 0x100000\n\tRTM_ADD                       = 0x1\n\tRTM_CHANGE                    = 0x3\n\tRTM_CHGADDR                   = 0xf\n\tRTM_DELADDR                   = 0xd\n\tRTM_DELETE                    = 0x2\n\tRTM_FREEADDR                  = 0x10\n\tRTM_GET                       = 0x4\n\tRTM_IFINFO                    = 0xe\n\tRTM_LOCK                      = 0x8\n\tRTM_LOSING                    = 0x5\n\tRTM_MISS                      = 0x7\n\tRTM_NEWADDR                   = 0xc\n\tRTM_OLDADD                    = 0x9\n\tRTM_OLDDEL                    = 0xa\n\tRTM_REDIRECT                  = 0x6\n\tRTM_RESOLVE                   = 0xb\n\tRTM_VERSION                   = 0x3\n\tRTV_EXPIRE                    = 0x4\n\tRTV_HOPCOUNT                  = 0x2\n\tRTV_MTU                       = 0x1\n\tRTV_RPIPE                     = 0x8\n\tRTV_RTT                       = 0x40\n\tRTV_RTTVAR                    = 0x80\n\tRTV_SPIPE                     = 0x10\n\tRTV_SSTHRESH                  = 0x20\n\tRT_AWARE                      = 0x1\n\tRUSAGE_CHILDREN               = -0x1\n\tRUSAGE_SELF                   = 0x0\n\tSCM_RIGHTS                    = 0x1010\n\tSCM_TIMESTAMP                 = 0x1013\n\tSCM_UCRED                     = 0x1012\n\tSHUT_RD                       = 0x0\n\tSHUT_RDWR                     = 0x2\n\tSHUT_WR                       = 0x1\n\tSIG2STR_MAX                   = 0x20\n\tSIOCADDMULTI                  = -0x7fdf96cf\n\tSIOCADDRT                     = -0x7fcf8df6\n\tSIOCATMARK                    = 0x40047307\n\tSIOCDARP                      = -0x7fdb96e0\n\tSIOCDELMULTI                  = -0x7fdf96ce\n\tSIOCDELRT                     = -0x7fcf8df5\n\tSIOCDXARP                     = -0x7fff9658\n\tSIOCGARP                      = -0x3fdb96e1\n\tSIOCGDSTINFO                  = -0x3fff965c\n\tSIOCGENADDR                   = -0x3fdf96ab\n\tSIOCGENPSTATS                 = -0x3fdf96c7\n\tSIOCGETLSGCNT                 = -0x3fef8deb\n\tSIOCGETNAME                   = 0x40107334\n\tSIOCGETPEER                   = 0x40107335\n\tSIOCGETPROP                   = -0x3fff8f44\n\tSIOCGETSGCNT                  = -0x3feb8deb\n\tSIOCGETSYNC                   = -0x3fdf96d3\n\tSIOCGETVIFCNT                 = -0x3feb8dec\n\tSIOCGHIWAT                    = 0x40047301\n\tSIOCGIFADDR                   = -0x3fdf96f3\n\tSIOCGIFBRDADDR                = -0x3fdf96e9\n\tSIOCGIFCONF                   = -0x3ff796a4\n\tSIOCGIFDSTADDR                = -0x3fdf96f1\n\tSIOCGIFFLAGS                  = -0x3fdf96ef\n\tSIOCGIFHWADDR                 = -0x3fdf9647\n\tSIOCGIFINDEX                  = -0x3fdf96a6\n\tSIOCGIFMEM                    = -0x3fdf96ed\n\tSIOCGIFMETRIC                 = -0x3fdf96e5\n\tSIOCGIFMTU                    = -0x3fdf96ea\n\tSIOCGIFMUXID                  = -0x3fdf96a8\n\tSIOCGIFNETMASK                = -0x3fdf96e7\n\tSIOCGIFNUM                    = 0x40046957\n\tSIOCGIP6ADDRPOLICY            = -0x3fff965e\n\tSIOCGIPMSFILTER               = -0x3ffb964c\n\tSIOCGLIFADDR                  = -0x3f87968f\n\tSIOCGLIFBINDING               = -0x3f879666\n\tSIOCGLIFBRDADDR               = -0x3f879685\n\tSIOCGLIFCONF                  = -0x3fef965b\n\tSIOCGLIFDADSTATE              = -0x3f879642\n\tSIOCGLIFDSTADDR               = -0x3f87968d\n\tSIOCGLIFFLAGS                 = -0x3f87968b\n\tSIOCGLIFGROUPINFO             = -0x3f4b9663\n\tSIOCGLIFGROUPNAME             = -0x3f879664\n\tSIOCGLIFHWADDR                = -0x3f879640\n\tSIOCGLIFINDEX                 = -0x3f87967b\n\tSIOCGLIFLNKINFO               = -0x3f879674\n\tSIOCGLIFMETRIC                = -0x3f879681\n\tSIOCGLIFMTU                   = -0x3f879686\n\tSIOCGLIFMUXID                 = -0x3f87967d\n\tSIOCGLIFNETMASK               = -0x3f879683\n\tSIOCGLIFNUM                   = -0x3ff3967e\n\tSIOCGLIFSRCOF                 = -0x3fef964f\n\tSIOCGLIFSUBNET                = -0x3f879676\n\tSIOCGLIFTOKEN                 = -0x3f879678\n\tSIOCGLIFUSESRC                = -0x3f879651\n\tSIOCGLIFZONE                  = -0x3f879656\n\tSIOCGLOWAT                    = 0x40047303\n\tSIOCGMSFILTER                 = -0x3ffb964e\n\tSIOCGPGRP                     = 0x40047309\n\tSIOCGSTAMP                    = -0x3fef9646\n\tSIOCGXARP                     = -0x3fff9659\n\tSIOCIFDETACH                  = -0x7fdf96c8\n\tSIOCILB                       = -0x3ffb9645\n\tSIOCLIFADDIF                  = -0x3f879691\n\tSIOCLIFDELND                  = -0x7f879673\n\tSIOCLIFGETND                  = -0x3f879672\n\tSIOCLIFREMOVEIF               = -0x7f879692\n\tSIOCLIFSETND                  = -0x7f879671\n\tSIOCLOWER                     = -0x7fdf96d7\n\tSIOCSARP                      = -0x7fdb96e2\n\tSIOCSCTPGOPT                  = -0x3fef9653\n\tSIOCSCTPPEELOFF               = -0x3ffb9652\n\tSIOCSCTPSOPT                  = -0x7fef9654\n\tSIOCSENABLESDP                = -0x3ffb9649\n\tSIOCSETPROP                   = -0x7ffb8f43\n\tSIOCSETSYNC                   = -0x7fdf96d4\n\tSIOCSHIWAT                    = -0x7ffb8d00\n\tSIOCSIFADDR                   = -0x7fdf96f4\n\tSIOCSIFBRDADDR                = -0x7fdf96e8\n\tSIOCSIFDSTADDR                = -0x7fdf96f2\n\tSIOCSIFFLAGS                  = -0x7fdf96f0\n\tSIOCSIFINDEX                  = -0x7fdf96a5\n\tSIOCSIFMEM                    = -0x7fdf96ee\n\tSIOCSIFMETRIC                 = -0x7fdf96e4\n\tSIOCSIFMTU                    = -0x7fdf96eb\n\tSIOCSIFMUXID                  = -0x7fdf96a7\n\tSIOCSIFNAME                   = -0x7fdf96b7\n\tSIOCSIFNETMASK                = -0x7fdf96e6\n\tSIOCSIP6ADDRPOLICY            = -0x7fff965d\n\tSIOCSIPMSFILTER               = -0x7ffb964b\n\tSIOCSLGETREQ                  = -0x3fdf96b9\n\tSIOCSLIFADDR                  = -0x7f879690\n\tSIOCSLIFBRDADDR               = -0x7f879684\n\tSIOCSLIFDSTADDR               = -0x7f87968e\n\tSIOCSLIFFLAGS                 = -0x7f87968c\n\tSIOCSLIFGROUPNAME             = -0x7f879665\n\tSIOCSLIFINDEX                 = -0x7f87967a\n\tSIOCSLIFLNKINFO               = -0x7f879675\n\tSIOCSLIFMETRIC                = -0x7f879680\n\tSIOCSLIFMTU                   = -0x7f879687\n\tSIOCSLIFMUXID                 = -0x7f87967c\n\tSIOCSLIFNAME                  = -0x3f87967f\n\tSIOCSLIFNETMASK               = -0x7f879682\n\tSIOCSLIFPREFIX                = -0x3f879641\n\tSIOCSLIFSUBNET                = -0x7f879677\n\tSIOCSLIFTOKEN                 = -0x7f879679\n\tSIOCSLIFUSESRC                = -0x7f879650\n\tSIOCSLIFZONE                  = -0x7f879655\n\tSIOCSLOWAT                    = -0x7ffb8cfe\n\tSIOCSLSTAT                    = -0x7fdf96b8\n\tSIOCSMSFILTER                 = -0x7ffb964d\n\tSIOCSPGRP                     = -0x7ffb8cf8\n\tSIOCSPROMISC                  = -0x7ffb96d0\n\tSIOCSQPTR                     = -0x3ffb9648\n\tSIOCSSDSTATS                  = -0x3fdf96d2\n\tSIOCSSESTATS                  = -0x3fdf96d1\n\tSIOCSXARP                     = -0x7fff965a\n\tSIOCTMYADDR                   = -0x3ff79670\n\tSIOCTMYSITE                   = -0x3ff7966e\n\tSIOCTONLINK                   = -0x3ff7966f\n\tSIOCUPPER                     = -0x7fdf96d8\n\tSIOCX25RCV                    = -0x3fdf96c4\n\tSIOCX25TBL                    = -0x3fdf96c3\n\tSIOCX25XMT                    = -0x3fdf96c5\n\tSIOCXPROTO                    = 0x20007337\n\tSOCK_CLOEXEC                  = 0x80000\n\tSOCK_DGRAM                    = 0x1\n\tSOCK_NDELAY                   = 0x200000\n\tSOCK_NONBLOCK                 = 0x100000\n\tSOCK_RAW                      = 0x4\n\tSOCK_RDM                      = 0x5\n\tSOCK_SEQPACKET                = 0x6\n\tSOCK_STREAM                   = 0x2\n\tSOCK_TYPE_MASK                = 0xffff\n\tSOL_FILTER                    = 0xfffc\n\tSOL_PACKET                    = 0xfffd\n\tSOL_ROUTE                     = 0xfffe\n\tSOL_SOCKET                    = 0xffff\n\tSOMAXCONN                     = 0x80\n\tSO_ACCEPTCONN                 = 0x2\n\tSO_ALL                        = 0x3f\n\tSO_ALLZONES                   = 0x1014\n\tSO_ANON_MLP                   = 0x100a\n\tSO_ATTACH_FILTER              = 0x40000001\n\tSO_BAND                       = 0x4000\n\tSO_BROADCAST                  = 0x20\n\tSO_COPYOPT                    = 0x80000\n\tSO_DEBUG                      = 0x1\n\tSO_DELIM                      = 0x8000\n\tSO_DETACH_FILTER              = 0x40000002\n\tSO_DGRAM_ERRIND               = 0x200\n\tSO_DOMAIN                     = 0x100c\n\tSO_DONTLINGER                 = -0x81\n\tSO_DONTROUTE                  = 0x10\n\tSO_ERROPT                     = 0x40000\n\tSO_ERROR                      = 0x1007\n\tSO_EXCLBIND                   = 0x1015\n\tSO_HIWAT                      = 0x10\n\tSO_ISNTTY                     = 0x800\n\tSO_ISTTY                      = 0x400\n\tSO_KEEPALIVE                  = 0x8\n\tSO_LINGER                     = 0x80\n\tSO_LOWAT                      = 0x20\n\tSO_MAC_EXEMPT                 = 0x100b\n\tSO_MAC_IMPLICIT               = 0x1016\n\tSO_MAXBLK                     = 0x100000\n\tSO_MAXPSZ                     = 0x8\n\tSO_MINPSZ                     = 0x4\n\tSO_MREADOFF                   = 0x80\n\tSO_MREADON                    = 0x40\n\tSO_NDELOFF                    = 0x200\n\tSO_NDELON                     = 0x100\n\tSO_NODELIM                    = 0x10000\n\tSO_OOBINLINE                  = 0x100\n\tSO_PROTOTYPE                  = 0x1009\n\tSO_RCVBUF                     = 0x1002\n\tSO_RCVLOWAT                   = 0x1004\n\tSO_RCVPSH                     = 0x100d\n\tSO_RCVTIMEO                   = 0x1006\n\tSO_READOPT                    = 0x1\n\tSO_RECVUCRED                  = 0x400\n\tSO_REUSEADDR                  = 0x4\n\tSO_SECATTR                    = 0x1011\n\tSO_SNDBUF                     = 0x1001\n\tSO_SNDLOWAT                   = 0x1003\n\tSO_SNDTIMEO                   = 0x1005\n\tSO_STRHOLD                    = 0x20000\n\tSO_TAIL                       = 0x200000\n\tSO_TIMESTAMP                  = 0x1013\n\tSO_TONSTOP                    = 0x2000\n\tSO_TOSTOP                     = 0x1000\n\tSO_TYPE                       = 0x1008\n\tSO_USELOOPBACK                = 0x40\n\tSO_VRRP                       = 0x1017\n\tSO_WROFF                      = 0x2\n\tTAB0                          = 0x0\n\tTAB1                          = 0x800\n\tTAB2                          = 0x1000\n\tTAB3                          = 0x1800\n\tTABDLY                        = 0x1800\n\tTCFLSH                        = 0x5407\n\tTCGETA                        = 0x5401\n\tTCGETS                        = 0x540d\n\tTCIFLUSH                      = 0x0\n\tTCIOFF                        = 0x2\n\tTCIOFLUSH                     = 0x2\n\tTCION                         = 0x3\n\tTCOFLUSH                      = 0x1\n\tTCOOFF                        = 0x0\n\tTCOON                         = 0x1\n\tTCP_ABORT_THRESHOLD           = 0x11\n\tTCP_ANONPRIVBIND              = 0x20\n\tTCP_CONN_ABORT_THRESHOLD      = 0x13\n\tTCP_CONN_NOTIFY_THRESHOLD     = 0x12\n\tTCP_CORK                      = 0x18\n\tTCP_EXCLBIND                  = 0x21\n\tTCP_INIT_CWND                 = 0x15\n\tTCP_KEEPALIVE                 = 0x8\n\tTCP_KEEPALIVE_ABORT_THRESHOLD = 0x17\n\tTCP_KEEPALIVE_THRESHOLD       = 0x16\n\tTCP_KEEPCNT                   = 0x23\n\tTCP_KEEPIDLE                  = 0x22\n\tTCP_KEEPINTVL                 = 0x24\n\tTCP_LINGER2                   = 0x1c\n\tTCP_MAXSEG                    = 0x2\n\tTCP_MSS                       = 0x218\n\tTCP_NODELAY                   = 0x1\n\tTCP_NOTIFY_THRESHOLD          = 0x10\n\tTCP_RECVDSTADDR               = 0x14\n\tTCP_RTO_INITIAL               = 0x19\n\tTCP_RTO_MAX                   = 0x1b\n\tTCP_RTO_MIN                   = 0x1a\n\tTCSAFLUSH                     = 0x5410\n\tTCSBRK                        = 0x5405\n\tTCSETA                        = 0x5402\n\tTCSETAF                       = 0x5404\n\tTCSETAW                       = 0x5403\n\tTCSETS                        = 0x540e\n\tTCSETSF                       = 0x5410\n\tTCSETSW                       = 0x540f\n\tTCXONC                        = 0x5406\n\tTIOC                          = 0x5400\n\tTIOCCBRK                      = 0x747a\n\tTIOCCDTR                      = 0x7478\n\tTIOCCILOOP                    = 0x746c\n\tTIOCEXCL                      = 0x740d\n\tTIOCFLUSH                     = 0x7410\n\tTIOCGETC                      = 0x7412\n\tTIOCGETD                      = 0x7400\n\tTIOCGETP                      = 0x7408\n\tTIOCGLTC                      = 0x7474\n\tTIOCGPGRP                     = 0x7414\n\tTIOCGPPS                      = 0x547d\n\tTIOCGPPSEV                    = 0x547f\n\tTIOCGSID                      = 0x7416\n\tTIOCGSOFTCAR                  = 0x5469\n\tTIOCGWINSZ                    = 0x5468\n\tTIOCHPCL                      = 0x7402\n\tTIOCKBOF                      = 0x5409\n\tTIOCKBON                      = 0x5408\n\tTIOCLBIC                      = 0x747e\n\tTIOCLBIS                      = 0x747f\n\tTIOCLGET                      = 0x747c\n\tTIOCLSET                      = 0x747d\n\tTIOCMBIC                      = 0x741c\n\tTIOCMBIS                      = 0x741b\n\tTIOCMGET                      = 0x741d\n\tTIOCMSET                      = 0x741a\n\tTIOCM_CAR                     = 0x40\n\tTIOCM_CD                      = 0x40\n\tTIOCM_CTS                     = 0x20\n\tTIOCM_DSR                     = 0x100\n\tTIOCM_DTR                     = 0x2\n\tTIOCM_LE                      = 0x1\n\tTIOCM_RI                      = 0x80\n\tTIOCM_RNG                     = 0x80\n\tTIOCM_RTS                     = 0x4\n\tTIOCM_SR                      = 0x10\n\tTIOCM_ST                      = 0x8\n\tTIOCNOTTY                     = 0x7471\n\tTIOCNXCL                      = 0x740e\n\tTIOCOUTQ                      = 0x7473\n\tTIOCREMOTE                    = 0x741e\n\tTIOCSBRK                      = 0x747b\n\tTIOCSCTTY                     = 0x7484\n\tTIOCSDTR                      = 0x7479\n\tTIOCSETC                      = 0x7411\n\tTIOCSETD                      = 0x7401\n\tTIOCSETN                      = 0x740a\n\tTIOCSETP                      = 0x7409\n\tTIOCSIGNAL                    = 0x741f\n\tTIOCSILOOP                    = 0x746d\n\tTIOCSLTC                      = 0x7475\n\tTIOCSPGRP                     = 0x7415\n\tTIOCSPPS                      = 0x547e\n\tTIOCSSOFTCAR                  = 0x546a\n\tTIOCSTART                     = 0x746e\n\tTIOCSTI                       = 0x7417\n\tTIOCSTOP                      = 0x746f\n\tTIOCSWINSZ                    = 0x5467\n\tTOSTOP                        = 0x100\n\tVCEOF                         = 0x8\n\tVCEOL                         = 0x9\n\tVDISCARD                      = 0xd\n\tVDSUSP                        = 0xb\n\tVEOF                          = 0x4\n\tVEOL                          = 0x5\n\tVEOL2                         = 0x6\n\tVERASE                        = 0x2\n\tVERASE2                       = 0x11\n\tVINTR                         = 0x0\n\tVKILL                         = 0x3\n\tVLNEXT                        = 0xf\n\tVMIN                          = 0x4\n\tVQUIT                         = 0x1\n\tVREPRINT                      = 0xc\n\tVSTART                        = 0x8\n\tVSTATUS                       = 0x10\n\tVSTOP                         = 0x9\n\tVSUSP                         = 0xa\n\tVSWTCH                        = 0x7\n\tVT0                           = 0x0\n\tVT1                           = 0x4000\n\tVTDLY                         = 0x4000\n\tVTIME                         = 0x5\n\tVWERASE                       = 0xe\n\tWCONTFLG                      = 0xffff\n\tWCONTINUED                    = 0x8\n\tWCOREFLG                      = 0x80\n\tWEXITED                       = 0x1\n\tWNOHANG                       = 0x40\n\tWNOWAIT                       = 0x80\n\tWOPTMASK                      = 0xcf\n\tWRAP                          = 0x20000\n\tWSIGMASK                      = 0x7f\n\tWSTOPFLG                      = 0x7f\n\tWSTOPPED                      = 0x4\n\tWTRAPPED                      = 0x2\n\tWUNTRACED                     = 0x4\n\tXCASE                         = 0x4\n\tXTABS                         = 0x1800\n)\n\n// Errors\nconst (\n\tE2BIG           = syscall.Errno(0x7)\n\tEACCES          = syscall.Errno(0xd)\n\tEADDRINUSE      = syscall.Errno(0x7d)\n\tEADDRNOTAVAIL   = syscall.Errno(0x7e)\n\tEADV            = syscall.Errno(0x44)\n\tEAFNOSUPPORT    = syscall.Errno(0x7c)\n\tEAGAIN          = syscall.Errno(0xb)\n\tEALREADY        = syscall.Errno(0x95)\n\tEBADE           = syscall.Errno(0x32)\n\tEBADF           = syscall.Errno(0x9)\n\tEBADFD          = syscall.Errno(0x51)\n\tEBADMSG         = syscall.Errno(0x4d)\n\tEBADR           = syscall.Errno(0x33)\n\tEBADRQC         = syscall.Errno(0x36)\n\tEBADSLT         = syscall.Errno(0x37)\n\tEBFONT          = syscall.Errno(0x39)\n\tEBUSY           = syscall.Errno(0x10)\n\tECANCELED       = syscall.Errno(0x2f)\n\tECHILD          = syscall.Errno(0xa)\n\tECHRNG          = syscall.Errno(0x25)\n\tECOMM           = syscall.Errno(0x46)\n\tECONNABORTED    = syscall.Errno(0x82)\n\tECONNREFUSED    = syscall.Errno(0x92)\n\tECONNRESET      = syscall.Errno(0x83)\n\tEDEADLK         = syscall.Errno(0x2d)\n\tEDEADLOCK       = syscall.Errno(0x38)\n\tEDESTADDRREQ    = syscall.Errno(0x60)\n\tEDOM            = syscall.Errno(0x21)\n\tEDQUOT          = syscall.Errno(0x31)\n\tEEXIST          = syscall.Errno(0x11)\n\tEFAULT          = syscall.Errno(0xe)\n\tEFBIG           = syscall.Errno(0x1b)\n\tEHOSTDOWN       = syscall.Errno(0x93)\n\tEHOSTUNREACH    = syscall.Errno(0x94)\n\tEIDRM           = syscall.Errno(0x24)\n\tEILSEQ          = syscall.Errno(0x58)\n\tEINPROGRESS     = syscall.Errno(0x96)\n\tEINTR           = syscall.Errno(0x4)\n\tEINVAL          = syscall.Errno(0x16)\n\tEIO             = syscall.Errno(0x5)\n\tEISCONN         = syscall.Errno(0x85)\n\tEISDIR          = syscall.Errno(0x15)\n\tEL2HLT          = syscall.Errno(0x2c)\n\tEL2NSYNC        = syscall.Errno(0x26)\n\tEL3HLT          = syscall.Errno(0x27)\n\tEL3RST          = syscall.Errno(0x28)\n\tELIBACC         = syscall.Errno(0x53)\n\tELIBBAD         = syscall.Errno(0x54)\n\tELIBEXEC        = syscall.Errno(0x57)\n\tELIBMAX         = syscall.Errno(0x56)\n\tELIBSCN         = syscall.Errno(0x55)\n\tELNRNG          = syscall.Errno(0x29)\n\tELOCKUNMAPPED   = syscall.Errno(0x48)\n\tELOOP           = syscall.Errno(0x5a)\n\tEMFILE          = syscall.Errno(0x18)\n\tEMLINK          = syscall.Errno(0x1f)\n\tEMSGSIZE        = syscall.Errno(0x61)\n\tEMULTIHOP       = syscall.Errno(0x4a)\n\tENAMETOOLONG    = syscall.Errno(0x4e)\n\tENETDOWN        = syscall.Errno(0x7f)\n\tENETRESET       = syscall.Errno(0x81)\n\tENETUNREACH     = syscall.Errno(0x80)\n\tENFILE          = syscall.Errno(0x17)\n\tENOANO          = syscall.Errno(0x35)\n\tENOBUFS         = syscall.Errno(0x84)\n\tENOCSI          = syscall.Errno(0x2b)\n\tENODATA         = syscall.Errno(0x3d)\n\tENODEV          = syscall.Errno(0x13)\n\tENOENT          = syscall.Errno(0x2)\n\tENOEXEC         = syscall.Errno(0x8)\n\tENOLCK          = syscall.Errno(0x2e)\n\tENOLINK         = syscall.Errno(0x43)\n\tENOMEM          = syscall.Errno(0xc)\n\tENOMSG          = syscall.Errno(0x23)\n\tENONET          = syscall.Errno(0x40)\n\tENOPKG          = syscall.Errno(0x41)\n\tENOPROTOOPT     = syscall.Errno(0x63)\n\tENOSPC          = syscall.Errno(0x1c)\n\tENOSR           = syscall.Errno(0x3f)\n\tENOSTR          = syscall.Errno(0x3c)\n\tENOSYS          = syscall.Errno(0x59)\n\tENOTACTIVE      = syscall.Errno(0x49)\n\tENOTBLK         = syscall.Errno(0xf)\n\tENOTCONN        = syscall.Errno(0x86)\n\tENOTDIR         = syscall.Errno(0x14)\n\tENOTEMPTY       = syscall.Errno(0x5d)\n\tENOTRECOVERABLE = syscall.Errno(0x3b)\n\tENOTSOCK        = syscall.Errno(0x5f)\n\tENOTSUP         = syscall.Errno(0x30)\n\tENOTTY          = syscall.Errno(0x19)\n\tENOTUNIQ        = syscall.Errno(0x50)\n\tENXIO           = syscall.Errno(0x6)\n\tEOPNOTSUPP      = syscall.Errno(0x7a)\n\tEOVERFLOW       = syscall.Errno(0x4f)\n\tEOWNERDEAD      = syscall.Errno(0x3a)\n\tEPERM           = syscall.Errno(0x1)\n\tEPFNOSUPPORT    = syscall.Errno(0x7b)\n\tEPIPE           = syscall.Errno(0x20)\n\tEPROTO          = syscall.Errno(0x47)\n\tEPROTONOSUPPORT = syscall.Errno(0x78)\n\tEPROTOTYPE      = syscall.Errno(0x62)\n\tERANGE          = syscall.Errno(0x22)\n\tEREMCHG         = syscall.Errno(0x52)\n\tEREMOTE         = syscall.Errno(0x42)\n\tERESTART        = syscall.Errno(0x5b)\n\tEROFS           = syscall.Errno(0x1e)\n\tESHUTDOWN       = syscall.Errno(0x8f)\n\tESOCKTNOSUPPORT = syscall.Errno(0x79)\n\tESPIPE          = syscall.Errno(0x1d)\n\tESRCH           = syscall.Errno(0x3)\n\tESRMNT          = syscall.Errno(0x45)\n\tESTALE          = syscall.Errno(0x97)\n\tESTRPIPE        = syscall.Errno(0x5c)\n\tETIME           = syscall.Errno(0x3e)\n\tETIMEDOUT       = syscall.Errno(0x91)\n\tETOOMANYREFS    = syscall.Errno(0x90)\n\tETXTBSY         = syscall.Errno(0x1a)\n\tEUNATCH         = syscall.Errno(0x2a)\n\tEUSERS          = syscall.Errno(0x5e)\n\tEWOULDBLOCK     = syscall.Errno(0xb)\n\tEXDEV           = syscall.Errno(0x12)\n\tEXFULL          = syscall.Errno(0x34)\n)\n\n// Signals\nconst (\n\tSIGABRT    = syscall.Signal(0x6)\n\tSIGALRM    = syscall.Signal(0xe)\n\tSIGBUS     = syscall.Signal(0xa)\n\tSIGCANCEL  = syscall.Signal(0x24)\n\tSIGCHLD    = syscall.Signal(0x12)\n\tSIGCLD     = syscall.Signal(0x12)\n\tSIGCONT    = syscall.Signal(0x19)\n\tSIGEMT     = syscall.Signal(0x7)\n\tSIGFPE     = syscall.Signal(0x8)\n\tSIGFREEZE  = syscall.Signal(0x22)\n\tSIGHUP     = syscall.Signal(0x1)\n\tSIGILL     = syscall.Signal(0x4)\n\tSIGINFO    = syscall.Signal(0x29)\n\tSIGINT     = syscall.Signal(0x2)\n\tSIGIO      = syscall.Signal(0x16)\n\tSIGIOT     = syscall.Signal(0x6)\n\tSIGJVM1    = syscall.Signal(0x27)\n\tSIGJVM2    = syscall.Signal(0x28)\n\tSIGKILL    = syscall.Signal(0x9)\n\tSIGLOST    = syscall.Signal(0x25)\n\tSIGLWP     = syscall.Signal(0x21)\n\tSIGPIPE    = syscall.Signal(0xd)\n\tSIGPOLL    = syscall.Signal(0x16)\n\tSIGPROF    = syscall.Signal(0x1d)\n\tSIGPWR     = syscall.Signal(0x13)\n\tSIGQUIT    = syscall.Signal(0x3)\n\tSIGSEGV    = syscall.Signal(0xb)\n\tSIGSTOP    = syscall.Signal(0x17)\n\tSIGSYS     = syscall.Signal(0xc)\n\tSIGTERM    = syscall.Signal(0xf)\n\tSIGTHAW    = syscall.Signal(0x23)\n\tSIGTRAP    = syscall.Signal(0x5)\n\tSIGTSTP    = syscall.Signal(0x18)\n\tSIGTTIN    = syscall.Signal(0x1a)\n\tSIGTTOU    = syscall.Signal(0x1b)\n\tSIGURG     = syscall.Signal(0x15)\n\tSIGUSR1    = syscall.Signal(0x10)\n\tSIGUSR2    = syscall.Signal(0x11)\n\tSIGVTALRM  = syscall.Signal(0x1c)\n\tSIGWAITING = syscall.Signal(0x20)\n\tSIGWINCH   = syscall.Signal(0x14)\n\tSIGXCPU    = syscall.Signal(0x1e)\n\tSIGXFSZ    = syscall.Signal(0x1f)\n\tSIGXRES    = syscall.Signal(0x26)\n)\n\n// Error table\nvar errorList = [...]struct {\n\tnum  syscall.Errno\n\tname string\n\tdesc string\n}{\n\t{1, \"EPERM\", \"not owner\"},\n\t{2, \"ENOENT\", \"no such file or directory\"},\n\t{3, \"ESRCH\", \"no such process\"},\n\t{4, \"EINTR\", \"interrupted system call\"},\n\t{5, \"EIO\", \"I/O error\"},\n\t{6, \"ENXIO\", \"no such device or address\"},\n\t{7, \"E2BIG\", \"arg list too long\"},\n\t{8, \"ENOEXEC\", \"exec format error\"},\n\t{9, \"EBADF\", \"bad file number\"},\n\t{10, \"ECHILD\", \"no child processes\"},\n\t{11, \"EAGAIN\", \"resource temporarily unavailable\"},\n\t{12, \"ENOMEM\", \"not enough space\"},\n\t{13, \"EACCES\", \"permission denied\"},\n\t{14, \"EFAULT\", \"bad address\"},\n\t{15, \"ENOTBLK\", \"block device required\"},\n\t{16, \"EBUSY\", \"device busy\"},\n\t{17, \"EEXIST\", \"file exists\"},\n\t{18, \"EXDEV\", \"cross-device link\"},\n\t{19, \"ENODEV\", \"no such device\"},\n\t{20, \"ENOTDIR\", \"not a directory\"},\n\t{21, \"EISDIR\", \"is a directory\"},\n\t{22, \"EINVAL\", \"invalid argument\"},\n\t{23, \"ENFILE\", \"file table overflow\"},\n\t{24, \"EMFILE\", \"too many open files\"},\n\t{25, \"ENOTTY\", \"inappropriate ioctl for device\"},\n\t{26, \"ETXTBSY\", \"text file busy\"},\n\t{27, \"EFBIG\", \"file too large\"},\n\t{28, \"ENOSPC\", \"no space left on device\"},\n\t{29, \"ESPIPE\", \"illegal seek\"},\n\t{30, \"EROFS\", \"read-only file system\"},\n\t{31, \"EMLINK\", \"too many links\"},\n\t{32, \"EPIPE\", \"broken pipe\"},\n\t{33, \"EDOM\", \"argument out of domain\"},\n\t{34, \"ERANGE\", \"result too large\"},\n\t{35, \"ENOMSG\", \"no message of desired type\"},\n\t{36, \"EIDRM\", \"identifier removed\"},\n\t{37, \"ECHRNG\", \"channel number out of range\"},\n\t{38, \"EL2NSYNC\", \"level 2 not synchronized\"},\n\t{39, \"EL3HLT\", \"level 3 halted\"},\n\t{40, \"EL3RST\", \"level 3 reset\"},\n\t{41, \"ELNRNG\", \"link number out of range\"},\n\t{42, \"EUNATCH\", \"protocol driver not attached\"},\n\t{43, \"ENOCSI\", \"no CSI structure available\"},\n\t{44, \"EL2HLT\", \"level 2 halted\"},\n\t{45, \"EDEADLK\", \"deadlock situation detected/avoided\"},\n\t{46, \"ENOLCK\", \"no record locks available\"},\n\t{47, \"ECANCELED\", \"operation canceled\"},\n\t{48, \"ENOTSUP\", \"operation not supported\"},\n\t{49, \"EDQUOT\", \"disc quota exceeded\"},\n\t{50, \"EBADE\", \"bad exchange descriptor\"},\n\t{51, \"EBADR\", \"bad request descriptor\"},\n\t{52, \"EXFULL\", \"message tables full\"},\n\t{53, \"ENOANO\", \"anode table overflow\"},\n\t{54, \"EBADRQC\", \"bad request code\"},\n\t{55, \"EBADSLT\", \"invalid slot\"},\n\t{56, \"EDEADLOCK\", \"file locking deadlock\"},\n\t{57, \"EBFONT\", \"bad font file format\"},\n\t{58, \"EOWNERDEAD\", \"owner of the lock died\"},\n\t{59, \"ENOTRECOVERABLE\", \"lock is not recoverable\"},\n\t{60, \"ENOSTR\", \"not a stream device\"},\n\t{61, \"ENODATA\", \"no data available\"},\n\t{62, \"ETIME\", \"timer expired\"},\n\t{63, \"ENOSR\", \"out of stream resources\"},\n\t{64, \"ENONET\", \"machine is not on the network\"},\n\t{65, \"ENOPKG\", \"package not installed\"},\n\t{66, \"EREMOTE\", \"object is remote\"},\n\t{67, \"ENOLINK\", \"link has been severed\"},\n\t{68, \"EADV\", \"advertise error\"},\n\t{69, \"ESRMNT\", \"srmount error\"},\n\t{70, \"ECOMM\", \"communication error on send\"},\n\t{71, \"EPROTO\", \"protocol error\"},\n\t{72, \"ELOCKUNMAPPED\", \"locked lock was unmapped \"},\n\t{73, \"ENOTACTIVE\", \"facility is not active\"},\n\t{74, \"EMULTIHOP\", \"multihop attempted\"},\n\t{77, \"EBADMSG\", \"not a data message\"},\n\t{78, \"ENAMETOOLONG\", \"file name too long\"},\n\t{79, \"EOVERFLOW\", \"value too large for defined data type\"},\n\t{80, \"ENOTUNIQ\", \"name not unique on network\"},\n\t{81, \"EBADFD\", \"file descriptor in bad state\"},\n\t{82, \"EREMCHG\", \"remote address changed\"},\n\t{83, \"ELIBACC\", \"can not access a needed shared library\"},\n\t{84, \"ELIBBAD\", \"accessing a corrupted shared library\"},\n\t{85, \"ELIBSCN\", \".lib section in a.out corrupted\"},\n\t{86, \"ELIBMAX\", \"attempting to link in more shared libraries than system limit\"},\n\t{87, \"ELIBEXEC\", \"can not exec a shared library directly\"},\n\t{88, \"EILSEQ\", \"illegal byte sequence\"},\n\t{89, \"ENOSYS\", \"operation not applicable\"},\n\t{90, \"ELOOP\", \"number of symbolic links encountered during path name traversal exceeds MAXSYMLINKS\"},\n\t{91, \"ERESTART\", \"error 91\"},\n\t{92, \"ESTRPIPE\", \"error 92\"},\n\t{93, \"ENOTEMPTY\", \"directory not empty\"},\n\t{94, \"EUSERS\", \"too many users\"},\n\t{95, \"ENOTSOCK\", \"socket operation on non-socket\"},\n\t{96, \"EDESTADDRREQ\", \"destination address required\"},\n\t{97, \"EMSGSIZE\", \"message too long\"},\n\t{98, \"EPROTOTYPE\", \"protocol wrong type for socket\"},\n\t{99, \"ENOPROTOOPT\", \"option not supported by protocol\"},\n\t{120, \"EPROTONOSUPPORT\", \"protocol not supported\"},\n\t{121, \"ESOCKTNOSUPPORT\", \"socket type not supported\"},\n\t{122, \"EOPNOTSUPP\", \"operation not supported on transport endpoint\"},\n\t{123, \"EPFNOSUPPORT\", \"protocol family not supported\"},\n\t{124, \"EAFNOSUPPORT\", \"address family not supported by protocol family\"},\n\t{125, \"EADDRINUSE\", \"address already in use\"},\n\t{126, \"EADDRNOTAVAIL\", \"cannot assign requested address\"},\n\t{127, \"ENETDOWN\", \"network is down\"},\n\t{128, \"ENETUNREACH\", \"network is unreachable\"},\n\t{129, \"ENETRESET\", \"network dropped connection because of reset\"},\n\t{130, \"ECONNABORTED\", \"software caused connection abort\"},\n\t{131, \"ECONNRESET\", \"connection reset by peer\"},\n\t{132, \"ENOBUFS\", \"no buffer space available\"},\n\t{133, \"EISCONN\", \"transport endpoint is already connected\"},\n\t{134, \"ENOTCONN\", \"transport endpoint is not connected\"},\n\t{143, \"ESHUTDOWN\", \"cannot send after socket shutdown\"},\n\t{144, \"ETOOMANYREFS\", \"too many references: cannot splice\"},\n\t{145, \"ETIMEDOUT\", \"connection timed out\"},\n\t{146, \"ECONNREFUSED\", \"connection refused\"},\n\t{147, \"EHOSTDOWN\", \"host is down\"},\n\t{148, \"EHOSTUNREACH\", \"no route to host\"},\n\t{149, \"EALREADY\", \"operation already in progress\"},\n\t{150, \"EINPROGRESS\", \"operation now in progress\"},\n\t{151, \"ESTALE\", \"stale NFS file handle\"},\n}\n\n// Signal table\nvar signalList = [...]struct {\n\tnum  syscall.Signal\n\tname string\n\tdesc string\n}{\n\t{1, \"SIGHUP\", \"hangup\"},\n\t{2, \"SIGINT\", \"interrupt\"},\n\t{3, \"SIGQUIT\", \"quit\"},\n\t{4, \"SIGILL\", \"illegal Instruction\"},\n\t{5, \"SIGTRAP\", \"trace/Breakpoint Trap\"},\n\t{6, \"SIGABRT\", \"abort\"},\n\t{7, \"SIGEMT\", \"emulation Trap\"},\n\t{8, \"SIGFPE\", \"arithmetic Exception\"},\n\t{9, \"SIGKILL\", \"killed\"},\n\t{10, \"SIGBUS\", \"bus Error\"},\n\t{11, \"SIGSEGV\", \"segmentation Fault\"},\n\t{12, \"SIGSYS\", \"bad System Call\"},\n\t{13, \"SIGPIPE\", \"broken Pipe\"},\n\t{14, \"SIGALRM\", \"alarm Clock\"},\n\t{15, \"SIGTERM\", \"terminated\"},\n\t{16, \"SIGUSR1\", \"user Signal 1\"},\n\t{17, \"SIGUSR2\", \"user Signal 2\"},\n\t{18, \"SIGCHLD\", \"child Status Changed\"},\n\t{19, \"SIGPWR\", \"power-Fail/Restart\"},\n\t{20, \"SIGWINCH\", \"window Size Change\"},\n\t{21, \"SIGURG\", \"urgent Socket Condition\"},\n\t{22, \"SIGIO\", \"pollable Event\"},\n\t{23, \"SIGSTOP\", \"stopped (signal)\"},\n\t{24, \"SIGTSTP\", \"stopped (user)\"},\n\t{25, \"SIGCONT\", \"continued\"},\n\t{26, \"SIGTTIN\", \"stopped (tty input)\"},\n\t{27, \"SIGTTOU\", \"stopped (tty output)\"},\n\t{28, \"SIGVTALRM\", \"virtual Timer Expired\"},\n\t{29, \"SIGPROF\", \"profiling Timer Expired\"},\n\t{30, \"SIGXCPU\", \"cpu Limit Exceeded\"},\n\t{31, \"SIGXFSZ\", \"file Size Limit Exceeded\"},\n\t{32, \"SIGWAITING\", \"no runnable lwp\"},\n\t{33, \"SIGLWP\", \"inter-lwp signal\"},\n\t{34, \"SIGFREEZE\", \"checkpoint Freeze\"},\n\t{35, \"SIGTHAW\", \"checkpoint Thaw\"},\n\t{36, \"SIGCANCEL\", \"thread Cancellation\"},\n\t{37, \"SIGLOST\", \"resource Lost\"},\n\t{38, \"SIGXRES\", \"resource Control Exceeded\"},\n\t{39, \"SIGJVM1\", \"reserved for JVM 1\"},\n\t{40, \"SIGJVM2\", \"reserved for JVM 2\"},\n\t{41, \"SIGINFO\", \"information Request\"},\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zptrace386_linux.go",
    "content": "// Code generated by linux/mkall.go generatePtracePair(386, amd64). DO NOT EDIT.\n\n// +build linux\n// +build 386 amd64\n\npackage unix\n\nimport \"unsafe\"\n\n// PtraceRegs386 is the registers used by 386 binaries.\ntype PtraceRegs386 struct {\n\tEbx      int32\n\tEcx      int32\n\tEdx      int32\n\tEsi      int32\n\tEdi      int32\n\tEbp      int32\n\tEax      int32\n\tXds      int32\n\tXes      int32\n\tXfs      int32\n\tXgs      int32\n\tOrig_eax int32\n\tEip      int32\n\tXcs      int32\n\tEflags   int32\n\tEsp      int32\n\tXss      int32\n}\n\n// PtraceGetRegs386 fetches the registers used by 386 binaries.\nfunc PtraceGetRegs386(pid int, regsout *PtraceRegs386) error {\n\treturn ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))\n}\n\n// PtraceSetRegs386 sets the registers used by 386 binaries.\nfunc PtraceSetRegs386(pid int, regs *PtraceRegs386) error {\n\treturn ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))\n}\n\n// PtraceRegsAmd64 is the registers used by amd64 binaries.\ntype PtraceRegsAmd64 struct {\n\tR15      uint64\n\tR14      uint64\n\tR13      uint64\n\tR12      uint64\n\tRbp      uint64\n\tRbx      uint64\n\tR11      uint64\n\tR10      uint64\n\tR9       uint64\n\tR8       uint64\n\tRax      uint64\n\tRcx      uint64\n\tRdx      uint64\n\tRsi      uint64\n\tRdi      uint64\n\tOrig_rax uint64\n\tRip      uint64\n\tCs       uint64\n\tEflags   uint64\n\tRsp      uint64\n\tSs       uint64\n\tFs_base  uint64\n\tGs_base  uint64\n\tDs       uint64\n\tEs       uint64\n\tFs       uint64\n\tGs       uint64\n}\n\n// PtraceGetRegsAmd64 fetches the registers used by amd64 binaries.\nfunc PtraceGetRegsAmd64(pid int, regsout *PtraceRegsAmd64) error {\n\treturn ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))\n}\n\n// PtraceSetRegsAmd64 sets the registers used by amd64 binaries.\nfunc PtraceSetRegsAmd64(pid int, regs *PtraceRegsAmd64) error {\n\treturn ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zptracearm_linux.go",
    "content": "// Code generated by linux/mkall.go generatePtracePair(arm, arm64). DO NOT EDIT.\n\n// +build linux\n// +build arm arm64\n\npackage unix\n\nimport \"unsafe\"\n\n// PtraceRegsArm is the registers used by arm binaries.\ntype PtraceRegsArm struct {\n\tUregs [18]uint32\n}\n\n// PtraceGetRegsArm fetches the registers used by arm binaries.\nfunc PtraceGetRegsArm(pid int, regsout *PtraceRegsArm) error {\n\treturn ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))\n}\n\n// PtraceSetRegsArm sets the registers used by arm binaries.\nfunc PtraceSetRegsArm(pid int, regs *PtraceRegsArm) error {\n\treturn ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))\n}\n\n// PtraceRegsArm64 is the registers used by arm64 binaries.\ntype PtraceRegsArm64 struct {\n\tRegs   [31]uint64\n\tSp     uint64\n\tPc     uint64\n\tPstate uint64\n}\n\n// PtraceGetRegsArm64 fetches the registers used by arm64 binaries.\nfunc PtraceGetRegsArm64(pid int, regsout *PtraceRegsArm64) error {\n\treturn ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))\n}\n\n// PtraceSetRegsArm64 sets the registers used by arm64 binaries.\nfunc PtraceSetRegsArm64(pid int, regs *PtraceRegsArm64) error {\n\treturn ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zptracemips_linux.go",
    "content": "// Code generated by linux/mkall.go generatePtracePair(mips, mips64). DO NOT EDIT.\n\n// +build linux\n// +build mips mips64\n\npackage unix\n\nimport \"unsafe\"\n\n// PtraceRegsMips is the registers used by mips binaries.\ntype PtraceRegsMips struct {\n\tRegs     [32]uint64\n\tLo       uint64\n\tHi       uint64\n\tEpc      uint64\n\tBadvaddr uint64\n\tStatus   uint64\n\tCause    uint64\n}\n\n// PtraceGetRegsMips fetches the registers used by mips binaries.\nfunc PtraceGetRegsMips(pid int, regsout *PtraceRegsMips) error {\n\treturn ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))\n}\n\n// PtraceSetRegsMips sets the registers used by mips binaries.\nfunc PtraceSetRegsMips(pid int, regs *PtraceRegsMips) error {\n\treturn ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))\n}\n\n// PtraceRegsMips64 is the registers used by mips64 binaries.\ntype PtraceRegsMips64 struct {\n\tRegs     [32]uint64\n\tLo       uint64\n\tHi       uint64\n\tEpc      uint64\n\tBadvaddr uint64\n\tStatus   uint64\n\tCause    uint64\n}\n\n// PtraceGetRegsMips64 fetches the registers used by mips64 binaries.\nfunc PtraceGetRegsMips64(pid int, regsout *PtraceRegsMips64) error {\n\treturn ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))\n}\n\n// PtraceSetRegsMips64 sets the registers used by mips64 binaries.\nfunc PtraceSetRegsMips64(pid int, regs *PtraceRegsMips64) error {\n\treturn ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zptracemipsle_linux.go",
    "content": "// Code generated by linux/mkall.go generatePtracePair(mipsle, mips64le). DO NOT EDIT.\n\n// +build linux\n// +build mipsle mips64le\n\npackage unix\n\nimport \"unsafe\"\n\n// PtraceRegsMipsle is the registers used by mipsle binaries.\ntype PtraceRegsMipsle struct {\n\tRegs     [32]uint64\n\tLo       uint64\n\tHi       uint64\n\tEpc      uint64\n\tBadvaddr uint64\n\tStatus   uint64\n\tCause    uint64\n}\n\n// PtraceGetRegsMipsle fetches the registers used by mipsle binaries.\nfunc PtraceGetRegsMipsle(pid int, regsout *PtraceRegsMipsle) error {\n\treturn ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))\n}\n\n// PtraceSetRegsMipsle sets the registers used by mipsle binaries.\nfunc PtraceSetRegsMipsle(pid int, regs *PtraceRegsMipsle) error {\n\treturn ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))\n}\n\n// PtraceRegsMips64le is the registers used by mips64le binaries.\ntype PtraceRegsMips64le struct {\n\tRegs     [32]uint64\n\tLo       uint64\n\tHi       uint64\n\tEpc      uint64\n\tBadvaddr uint64\n\tStatus   uint64\n\tCause    uint64\n}\n\n// PtraceGetRegsMips64le fetches the registers used by mips64le binaries.\nfunc PtraceGetRegsMips64le(pid int, regsout *PtraceRegsMips64le) error {\n\treturn ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))\n}\n\n// PtraceSetRegsMips64le sets the registers used by mips64le binaries.\nfunc PtraceSetRegsMips64le(pid int, regs *PtraceRegsMips64le) error {\n\treturn ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go",
    "content": "// mksyscall.pl -l32 -tags darwin,386 syscall_bsd.go syscall_darwin.go syscall_darwin_386.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build darwin,386\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(ngid int, gid *_Gid_t) (n int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(ngid int, gid *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(s int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(mib) > 0 {\n\t\t_p0 = unsafe.Pointer(&mib[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, timeval *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimes(fd int, timeval *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, behav int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe() (r int, w int, err error) {\n\tr0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)\n\tr = int(r0)\n\tw = int(r1)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc removexattr(path string, attr string, options int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fremovexattr(fd int, attr string, options int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc listxattr(path string, dest *byte, size int, options int) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) {\n\tr0, _, e1 := Syscall6(SYS_FLISTXATTR, uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kill(pid int, signum int, posix int) (err error) {\n\t_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Access(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtime(delta *Timeval, olddelta *Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chflags(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chmod(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(fd int) (nfd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(from int, to int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exchangedata(path1 string, path2 string, options int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path1)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(path2)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscall(SYS_EXIT, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchflags(fd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fpathconf(fd int, name int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, stat *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), uintptr(length>>32))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdtablesize() (size int) {\n\tr0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0)\n\tsize = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgrp() (pgrp int) {\n\tr0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0)\n\tpgrp = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Issetugid() (tainted bool) {\n\tr0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0)\n\ttainted = bool(r0 != 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kqueue() (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Link(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, backlog int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdir(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkfifo(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknod(path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Open(path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pathconf(path string, name int) (val int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlink(path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rename(from string, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(fromfd int, from string, tofd int, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Revoke(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rmdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (newoffset int64, err error) {\n\tr0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0)\n\tnewoffset = int64(int64(r1)<<32 | int64(r0))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {\n\t_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setegid(egid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seteuid(euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setgid(gid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setlogin(name string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(name)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setprivexec(flag int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tp *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setuid(uid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, stat *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlink(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() (err error) {\n\t_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(newmask int) (oldmask int) {\n\tr0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Undelete(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlink(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {\n\tr0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0)\n\tret = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc gettimeofday(tp *Timeval) (sec int32, usec int32, err error) {\n\tr0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tsec = int32(r0)\n\tusec = int32(r1)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go",
    "content": "// mksyscall.pl -tags darwin,amd64 syscall_bsd.go syscall_darwin.go syscall_darwin_amd64.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build darwin,amd64\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(ngid int, gid *_Gid_t) (n int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(ngid int, gid *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(s int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(mib) > 0 {\n\t\t_p0 = unsafe.Pointer(&mib[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, timeval *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimes(fd int, timeval *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, behav int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe() (r int, w int, err error) {\n\tr0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)\n\tr = int(r0)\n\tw = int(r1)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc removexattr(path string, attr string, options int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fremovexattr(fd int, attr string, options int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc listxattr(path string, dest *byte, size int, options int) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) {\n\tr0, _, e1 := Syscall6(SYS_FLISTXATTR, uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kill(pid int, signum int, posix int) (err error) {\n\t_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Access(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtime(delta *Timeval, olddelta *Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chflags(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chmod(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(fd int) (nfd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(from int, to int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exchangedata(path1 string, path2 string, options int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path1)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(path2)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscall(SYS_EXIT, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchflags(fd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fpathconf(fd int, name int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, stat *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdtablesize() (size int) {\n\tr0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0)\n\tsize = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgrp() (pgrp int) {\n\tr0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0)\n\tpgrp = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Issetugid() (tainted bool) {\n\tr0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0)\n\ttainted = bool(r0 != 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kqueue() (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Link(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, backlog int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdir(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkfifo(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknod(path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Open(path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pathconf(path string, name int) (val int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlink(path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rename(from string, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(fromfd int, from string, tofd int, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Revoke(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rmdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (newoffset int64, err error) {\n\tr0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))\n\tnewoffset = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {\n\t_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setegid(egid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seteuid(euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setgid(gid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setlogin(name string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(name)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setprivexec(flag int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tp *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setuid(uid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, stat *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlink(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() (err error) {\n\t_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(newmask int) (oldmask int) {\n\tr0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Undelete(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlink(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {\n\tr0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos))\n\tret = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc gettimeofday(tp *Timeval) (sec int64, usec int32, err error) {\n\tr0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tsec = int64(r0)\n\tusec = int32(r1)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go",
    "content": "// mksyscall.pl -l32 -tags darwin,arm syscall_bsd.go syscall_darwin.go syscall_darwin_arm.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build darwin,arm\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(ngid int, gid *_Gid_t) (n int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(ngid int, gid *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(s int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(mib) > 0 {\n\t\t_p0 = unsafe.Pointer(&mib[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, timeval *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimes(fd int, timeval *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, behav int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe() (r int, w int, err error) {\n\tr0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)\n\tr = int(r0)\n\tw = int(r1)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc removexattr(path string, attr string, options int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fremovexattr(fd int, attr string, options int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc listxattr(path string, dest *byte, size int, options int) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) {\n\tr0, _, e1 := Syscall6(SYS_FLISTXATTR, uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kill(pid int, signum int, posix int) (err error) {\n\t_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Access(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtime(delta *Timeval, olddelta *Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chflags(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chmod(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(fd int) (nfd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(from int, to int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exchangedata(path1 string, path2 string, options int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path1)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(path2)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscall(SYS_EXIT, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchflags(fd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fpathconf(fd int, name int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, stat *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), uintptr(length>>32))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdtablesize() (size int) {\n\tr0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0)\n\tsize = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgrp() (pgrp int) {\n\tr0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0)\n\tpgrp = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Issetugid() (tainted bool) {\n\tr0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0)\n\ttainted = bool(r0 != 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kqueue() (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Link(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, backlog int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdir(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkfifo(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknod(path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Open(path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pathconf(path string, name int) (val int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlink(path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rename(from string, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(fromfd int, from string, tofd int, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Revoke(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rmdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (newoffset int64, err error) {\n\tr0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0)\n\tnewoffset = int64(int64(r1)<<32 | int64(r0))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {\n\t_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setegid(egid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seteuid(euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setgid(gid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setlogin(name string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(name)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setprivexec(flag int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tp *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setuid(uid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, stat *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlink(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() (err error) {\n\t_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(newmask int) (oldmask int) {\n\tr0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Undelete(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlink(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {\n\tr0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0)\n\tret = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc gettimeofday(tp *Timeval) (sec int32, usec int32, err error) {\n\tr0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tsec = int32(r0)\n\tusec = int32(r1)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go",
    "content": "// mksyscall.pl -tags darwin,arm64 syscall_bsd.go syscall_darwin.go syscall_darwin_arm64.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build darwin,arm64\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(ngid int, gid *_Gid_t) (n int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(ngid int, gid *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(s int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(mib) > 0 {\n\t\t_p0 = unsafe.Pointer(&mib[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, timeval *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimes(fd int, timeval *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, behav int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe() (r int, w int, err error) {\n\tr0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)\n\tr = int(r0)\n\tw = int(r1)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc removexattr(path string, attr string, options int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fremovexattr(fd int, attr string, options int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc listxattr(path string, dest *byte, size int, options int) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) {\n\tr0, _, e1 := Syscall6(SYS_FLISTXATTR, uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kill(pid int, signum int, posix int) (err error) {\n\t_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Access(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtime(delta *Timeval, olddelta *Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chflags(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chmod(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(fd int) (nfd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(from int, to int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exchangedata(path1 string, path2 string, options int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path1)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(path2)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscall(SYS_EXIT, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchflags(fd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fpathconf(fd int, name int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, stat *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdtablesize() (size int) {\n\tr0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0)\n\tsize = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgrp() (pgrp int) {\n\tr0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0)\n\tpgrp = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Issetugid() (tainted bool) {\n\tr0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0)\n\ttainted = bool(r0 != 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kqueue() (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Link(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, backlog int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdir(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkfifo(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknod(path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Open(path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pathconf(path string, name int) (val int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlink(path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rename(from string, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(fromfd int, from string, tofd int, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Revoke(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rmdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (newoffset int64, err error) {\n\tr0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))\n\tnewoffset = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {\n\t_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setegid(egid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seteuid(euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setgid(gid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setlogin(name string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(name)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setprivexec(flag int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tp *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setuid(uid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, stat *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlink(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() (err error) {\n\t_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(newmask int) (oldmask int) {\n\tr0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Undelete(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlink(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {\n\tr0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos))\n\tret = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc gettimeofday(tp *Timeval) (sec int64, usec int32, err error) {\n\tr0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tsec = int64(r0)\n\tusec = int32(r1)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go",
    "content": "// mksyscall.pl -dragonfly -tags dragonfly,amd64 syscall_bsd.go syscall_dragonfly.go syscall_dragonfly_amd64.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build dragonfly,amd64\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(ngid int, gid *_Gid_t) (n int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(ngid int, gid *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(s int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(mib) > 0 {\n\t\t_p0 = unsafe.Pointer(&mib[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, timeval *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimes(fd int, timeval *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, behav int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe() (r int, w int, err error) {\n\tr0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)\n\tr = int(r0)\n\tw = int(r1)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc extpread(fd int, p []byte, flags int, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTPREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(offset), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc extpwrite(fd int, p []byte, flags int, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTPWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(offset), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Access(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtime(delta *Timeval, olddelta *Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chflags(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chmod(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(fd int) (nfd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(from int, to int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscall(SYS_EXIT, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchflags(fd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fpathconf(fd int, name int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, stat *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdtablesize() (size int) {\n\tr0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0)\n\tsize = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgrp() (pgrp int) {\n\tr0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0)\n\tpgrp = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Issetugid() (tainted bool) {\n\tr0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0)\n\ttainted = bool(r0 != 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, signum syscall.Signal) (err error) {\n\t_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kqueue() (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Link(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, backlog int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdir(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkfifo(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknod(path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Open(path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pathconf(path string, name int) (val int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlink(path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rename(from string, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Revoke(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rmdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (newoffset int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0)\n\tnewoffset = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {\n\t_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setegid(egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seteuid(euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setgid(gid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setlogin(name string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(name)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tp *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setuid(uid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, stat *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlink(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() (err error) {\n\t_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(newmask int) (oldmask int) {\n\tr0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Undelete(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlink(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {\n\tr0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0)\n\tret = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go",
    "content": "// mksyscall.pl -l32 -tags freebsd,386 syscall_bsd.go syscall_freebsd.go syscall_freebsd_386.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build freebsd,386\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(ngid int, gid *_Gid_t) (n int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(ngid int, gid *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(s int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(mib) > 0 {\n\t\t_p0 = unsafe.Pointer(&mib[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, timeval *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimes(fd int, timeval *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, behav int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe() (r int, w int, err error) {\n\tr0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)\n\tr = int(r0)\n\tw = int(r1)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Access(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtime(delta *Timeval, olddelta *Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc CapEnter() (err error) {\n\t_, _, e1 := Syscall(SYS_CAP_ENTER, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc capRightsGet(version int, fd int, rightsp *CapRights) (err error) {\n\t_, _, e1 := Syscall(SYS___CAP_RIGHTS_GET, uintptr(version), uintptr(fd), uintptr(unsafe.Pointer(rightsp)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc capRightsLimit(fd int, rightsp *CapRights) (err error) {\n\t_, _, e1 := Syscall(SYS_CAP_RIGHTS_LIMIT, uintptr(fd), uintptr(unsafe.Pointer(rightsp)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chflags(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chmod(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(fd int) (nfd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(from int, to int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscall(SYS_EXIT, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fadvise(fd int, offset int64, length int64, advice int) (err error) {\n\t_, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchflags(fd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fpathconf(fd int, name int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, stat *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), uintptr(length>>32))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdtablesize() (size int) {\n\tr0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0)\n\tsize = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgrp() (pgrp int) {\n\tr0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0)\n\tpgrp = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Issetugid() (tainted bool) {\n\tr0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0)\n\ttainted = bool(r0 != 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, signum syscall.Signal) (err error) {\n\t_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kqueue() (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Link(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, backlog int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdir(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkfifo(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknod(path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Open(path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(fdat), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pathconf(path string, name int) (val int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlink(path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rename(from string, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(fromfd int, from string, tofd int, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Revoke(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rmdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (newoffset int64, err error) {\n\tr0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0)\n\tnewoffset = int64(int64(r1)<<32 | int64(r0))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {\n\t_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setegid(egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seteuid(euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setgid(gid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setlogin(name string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(name)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tp *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setuid(uid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, stat *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlink(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() (err error) {\n\t_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(newmask int) (oldmask int) {\n\tr0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Undelete(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlink(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {\n\tr0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0)\n\tret = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go",
    "content": "// mksyscall.pl -tags freebsd,amd64 syscall_bsd.go syscall_freebsd.go syscall_freebsd_amd64.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build freebsd,amd64\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(ngid int, gid *_Gid_t) (n int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(ngid int, gid *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(s int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(mib) > 0 {\n\t\t_p0 = unsafe.Pointer(&mib[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, timeval *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimes(fd int, timeval *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, behav int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe() (r int, w int, err error) {\n\tr0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)\n\tr = int(r0)\n\tw = int(r1)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Access(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtime(delta *Timeval, olddelta *Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc CapEnter() (err error) {\n\t_, _, e1 := Syscall(SYS_CAP_ENTER, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc capRightsGet(version int, fd int, rightsp *CapRights) (err error) {\n\t_, _, e1 := Syscall(SYS___CAP_RIGHTS_GET, uintptr(version), uintptr(fd), uintptr(unsafe.Pointer(rightsp)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc capRightsLimit(fd int, rightsp *CapRights) (err error) {\n\t_, _, e1 := Syscall(SYS_CAP_RIGHTS_LIMIT, uintptr(fd), uintptr(unsafe.Pointer(rightsp)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chflags(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chmod(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(fd int) (nfd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(from int, to int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscall(SYS_EXIT, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fadvise(fd int, offset int64, length int64, advice int) (err error) {\n\t_, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchflags(fd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fpathconf(fd int, name int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, stat *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdtablesize() (size int) {\n\tr0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0)\n\tsize = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgrp() (pgrp int) {\n\tr0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0)\n\tpgrp = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Issetugid() (tainted bool) {\n\tr0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0)\n\ttainted = bool(r0 != 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, signum syscall.Signal) (err error) {\n\t_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kqueue() (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Link(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, backlog int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdir(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkfifo(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknod(path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Open(path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(fdat), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pathconf(path string, name int) (val int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlink(path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rename(from string, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(fromfd int, from string, tofd int, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Revoke(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rmdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (newoffset int64, err error) {\n\tr0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))\n\tnewoffset = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {\n\t_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setegid(egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seteuid(euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setgid(gid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setlogin(name string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(name)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tp *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setuid(uid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, stat *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlink(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() (err error) {\n\t_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(newmask int) (oldmask int) {\n\tr0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Undelete(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlink(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {\n\tr0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos))\n\tret = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go",
    "content": "// mksyscall.pl -l32 -arm -tags freebsd,arm syscall_bsd.go syscall_freebsd.go syscall_freebsd_arm.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build freebsd,arm\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(ngid int, gid *_Gid_t) (n int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(ngid int, gid *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(s int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(mib) > 0 {\n\t\t_p0 = unsafe.Pointer(&mib[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, timeval *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimes(fd int, timeval *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, behav int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe() (r int, w int, err error) {\n\tr0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)\n\tr = int(r0)\n\tw = int(r1)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Access(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtime(delta *Timeval, olddelta *Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc CapEnter() (err error) {\n\t_, _, e1 := Syscall(SYS_CAP_ENTER, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc capRightsGet(version int, fd int, rightsp *CapRights) (err error) {\n\t_, _, e1 := Syscall(SYS___CAP_RIGHTS_GET, uintptr(version), uintptr(fd), uintptr(unsafe.Pointer(rightsp)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc capRightsLimit(fd int, rightsp *CapRights) (err error) {\n\t_, _, e1 := Syscall(SYS_CAP_RIGHTS_LIMIT, uintptr(fd), uintptr(unsafe.Pointer(rightsp)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chflags(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chmod(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(fd int) (nfd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(from int, to int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscall(SYS_EXIT, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fadvise(fd int, offset int64, length int64, advice int) (err error) {\n\t_, _, e1 := Syscall9(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchflags(fd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fpathconf(fd int, name int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, stat *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdtablesize() (size int) {\n\tr0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0)\n\tsize = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgrp() (pgrp int) {\n\tr0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0)\n\tpgrp = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Issetugid() (tainted bool) {\n\tr0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0)\n\ttainted = bool(r0 != 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, signum syscall.Signal) (err error) {\n\t_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kqueue() (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Link(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, backlog int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdir(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkfifo(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknod(path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Open(path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(fdat), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pathconf(path string, name int) (val int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlink(path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rename(from string, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(fromfd int, from string, tofd int, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Revoke(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rmdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (newoffset int64, err error) {\n\tr0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0)\n\tnewoffset = int64(int64(r1)<<32 | int64(r0))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {\n\t_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setegid(egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seteuid(euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setgid(gid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setlogin(name string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(name)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tp *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setuid(uid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, stat *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlink(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() (err error) {\n\t_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(newmask int) (oldmask int) {\n\tr0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Undelete(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlink(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {\n\tr0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0)\n\tret = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_linux_386.go",
    "content": "// mksyscall.pl -l32 -tags linux,386 syscall_linux.go syscall_linux_386.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build linux,386\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fchmodat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlJoin(cmd int, arg2 string) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg2)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg3)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(arg4)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p0 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(source)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(fstype)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Acct(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p2 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtimex(buf *Timex) (state int, err error) {\n\tr0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tstate = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ClockGettime(clockid int32, time *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(oldfd int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup3(oldfd int, newfd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate1(flag int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Eventfd(initval uint, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fallocate(fd int, mode uint32, off int64, len int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fdatasync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flistxattr(fd int, dest []byte) (sz int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p0 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fremovexattr(fd int, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrandom(buf []byte, flags int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettid() (tid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0)\n\ttid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(pathname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))\n\twatchdesc = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit1(flags int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)\n\tsuccess = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Klogctl(typ int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Llistxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lremovexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lsetxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PivotRoot(newroot string, putold string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(newroot)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(putold)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Removexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(callback)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setdomainname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sethostname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setns(fd int, nstype int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() {\n\tSyscallNoError(SYS_SYNC, 0, 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Syncfs(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sysinfo(info *Sysinfo_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {\n\tr0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)\n\tn = int64(int64(r1)<<32 | int64(r0))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Times(tms *Tms) (ticks uintptr, err error) {\n\tr0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)\n\tticks = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(mask int) (oldmask int) {\n\tr0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Uname(buf *Utsname) (err error) {\n\t_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(target string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unshare(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc exitThread(code int) (err error) {\n\t_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, advice int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc faccessat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe(p *[2]_C_int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe2(p *[2]_C_int, flags int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(oldfd int, newfd int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate(size int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(events) > 0 {\n\t\t_p0 = unsafe.Pointer(&events[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fadvise(fd int, offset int64, length int64, advice int) (err error) {\n\t_, _, e1 := Syscall6(SYS_FADVISE64_64, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN32, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE64, uintptr(fd), uintptr(length), uintptr(length>>32))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEGID32, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (euid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEUID32, 0, 0, 0)\n\teuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETGID32, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETUID32, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit() (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ioperm(from int, num int, on int) (err error) {\n\t_, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Iopl(level int) (err error) {\n\t_, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN32, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)\n\twritten = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsgid(gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSGID32, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsuid(uid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSUID32, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID32, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID32, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID32, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID32, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc SyncFileRange(fd int, off int64, n int64, flags int) (err error) {\n\t_, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(off>>32), uintptr(n), uintptr(n>>32), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ustat(dev int, ubuf *Ustat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(n int, list *_Gid_t) (nn int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tnn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(n int, list *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) {\n\tr0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset))\n\txaddr = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pause() (err error) {\n\t_, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getrlimit(resource int, rlim *rlimit32) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setrlimit(resource int, rlim *rlimit32) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimesat(dirfd int, path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Time(t *Time_t) (tt Time_t, err error) {\n\tr0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0)\n\ttt = Time_t(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Utime(path string, buf *Utimbuf) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go",
    "content": "// mksyscall.pl -tags linux,amd64 syscall_linux.go syscall_linux_amd64.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build linux,amd64\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fchmodat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlJoin(cmd int, arg2 string) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg2)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg3)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(arg4)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p0 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(source)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(fstype)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Acct(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p2 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtimex(buf *Timex) (state int, err error) {\n\tr0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tstate = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ClockGettime(clockid int32, time *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(oldfd int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup3(oldfd int, newfd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate1(flag int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Eventfd(initval uint, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fallocate(fd int, mode uint32, off int64, len int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fdatasync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flistxattr(fd int, dest []byte) (sz int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p0 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fremovexattr(fd int, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrandom(buf []byte, flags int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettid() (tid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0)\n\ttid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(pathname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))\n\twatchdesc = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit1(flags int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)\n\tsuccess = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Klogctl(typ int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Llistxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lremovexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lsetxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PivotRoot(newroot string, putold string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(newroot)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(putold)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Removexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(callback)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setdomainname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sethostname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setns(fd int, nstype int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() {\n\tSyscallNoError(SYS_SYNC, 0, 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Syncfs(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sysinfo(info *Sysinfo_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)\n\tn = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Times(tms *Tms) (ticks uintptr, err error) {\n\tr0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)\n\tticks = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(mask int) (oldmask int) {\n\tr0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Uname(buf *Utsname) (err error) {\n\t_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(target string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unshare(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc exitThread(code int) (err error) {\n\t_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, advice int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc faccessat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(oldfd int, newfd int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate(size int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(events) > 0 {\n\t\t_p0 = unsafe.Pointer(&events[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fadvise(fd int, offset int64, length int64, advice int) (err error) {\n\t_, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, buf *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (euid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0)\n\teuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(resource int, rlim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit() (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ioperm(from int, num int, on int) (err error) {\n\t_, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Iopl(level int) (err error) {\n\t_, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, n int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pause() (err error) {\n\t_, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (off int64, err error) {\n\tr0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))\n\toff = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)\n\twritten = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsgid(gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsuid(uid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(resource int, rlim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, buf *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc SyncFileRange(fd int, off int64, n int64, flags int) (err error) {\n\t_, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ustat(dev int, ubuf *Ustat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(n int, list *_Gid_t) (nn int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tnn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(n int, list *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) {\n\tr0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset))\n\txaddr = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimesat(dirfd int, path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Utime(path string, buf *Utimbuf) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe(p *[2]_C_int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe2(p *[2]_C_int, flags int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go",
    "content": "// mksyscall.pl -l32 -arm -tags linux,arm syscall_linux.go syscall_linux_arm.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build linux,arm\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fchmodat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlJoin(cmd int, arg2 string) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg2)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg3)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(arg4)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p0 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(source)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(fstype)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Acct(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p2 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtimex(buf *Timex) (state int, err error) {\n\tr0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tstate = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ClockGettime(clockid int32, time *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(oldfd int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup3(oldfd int, newfd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate1(flag int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Eventfd(initval uint, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fallocate(fd int, mode uint32, off int64, len int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fdatasync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flistxattr(fd int, dest []byte) (sz int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p0 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fremovexattr(fd int, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrandom(buf []byte, flags int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettid() (tid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0)\n\ttid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(pathname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))\n\twatchdesc = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit1(flags int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)\n\tsuccess = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Klogctl(typ int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Llistxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lremovexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lsetxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PivotRoot(newroot string, putold string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(newroot)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(putold)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Removexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(callback)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setdomainname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sethostname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setns(fd int, nstype int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() {\n\tSyscallNoError(SYS_SYNC, 0, 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Syncfs(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sysinfo(info *Sysinfo_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {\n\tr0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)\n\tn = int64(int64(r1)<<32 | int64(r0))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Times(tms *Tms) (ticks uintptr, err error) {\n\tr0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)\n\tticks = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(mask int) (oldmask int) {\n\tr0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Uname(buf *Utsname) (err error) {\n\t_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(target string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unshare(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc exitThread(code int) (err error) {\n\t_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, advice int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc faccessat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe2(p *[2]_C_int, flags int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(n int, list *_Gid_t) (nn int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tnn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(n int, list *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, flags int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(flags), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(oldfd int, newfd int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate(size int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(events) > 0 {\n\t\t_p0 = unsafe.Pointer(&events[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN32, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEGID32, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (euid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEUID32, 0, 0, 0)\n\teuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETGID32, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETUID32, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit() (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN32, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, n int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pause() (err error) {\n\t_, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)\n\twritten = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsgid(gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSGID32, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsuid(uid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSUID32, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID32, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID32, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID32, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID32, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ustat(dev int, ubuf *Ustat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimesat(dirfd int, path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FTRUNCATE64, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) {\n\tr0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset))\n\txaddr = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getrlimit(resource int, rlim *rlimit32) (err error) {\n\t_, _, e1 := RawSyscall(SYS_UGETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setrlimit(resource int, rlim *rlimit32) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go",
    "content": "// mksyscall.pl -tags linux,arm64 syscall_linux.go syscall_linux_arm64.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build linux,arm64\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fchmodat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlJoin(cmd int, arg2 string) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg2)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg3)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(arg4)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p0 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(source)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(fstype)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Acct(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p2 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtimex(buf *Timex) (state int, err error) {\n\tr0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tstate = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ClockGettime(clockid int32, time *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(oldfd int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup3(oldfd int, newfd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate1(flag int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Eventfd(initval uint, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fallocate(fd int, mode uint32, off int64, len int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fdatasync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flistxattr(fd int, dest []byte) (sz int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p0 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fremovexattr(fd int, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrandom(buf []byte, flags int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettid() (tid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0)\n\ttid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(pathname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))\n\twatchdesc = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit1(flags int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)\n\tsuccess = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Klogctl(typ int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Llistxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lremovexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lsetxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PivotRoot(newroot string, putold string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(newroot)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(putold)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Removexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(callback)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setdomainname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sethostname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setns(fd int, nstype int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() {\n\tSyscallNoError(SYS_SYNC, 0, 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Syncfs(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sysinfo(info *Sysinfo_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)\n\tn = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Times(tms *Tms) (ticks uintptr, err error) {\n\tr0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)\n\tticks = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(mask int) (oldmask int) {\n\tr0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Uname(buf *Utsname) (err error) {\n\t_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(target string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unshare(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc exitThread(code int) (err error) {\n\t_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, advice int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc faccessat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(events) > 0 {\n\t\t_p0 = unsafe.Pointer(&events[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_EPOLL_PWAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fadvise(fd int, offset int64, length int64, advice int) (err error) {\n\t_, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, buf *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (euid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0)\n\teuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(resource int, rlim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, n int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (off int64, err error) {\n\tr0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))\n\toff = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)\n\twritten = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsgid(gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsuid(uid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(resource int, rlim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, buf *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc SyncFileRange(fd int, off int64, n int64, flags int) (err error) {\n\t_, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(n int, list *_Gid_t) (nn int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tnn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(n int, list *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) {\n\tr0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset))\n\txaddr = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe2(p *[2]_C_int, flags int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go",
    "content": "// mksyscall.pl -b32 -arm -tags linux,mips syscall_linux.go syscall_linux_mipsx.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build linux,mips\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fchmodat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlJoin(cmd int, arg2 string) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg2)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg3)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(arg4)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p0 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(source)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(fstype)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Acct(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p2 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtimex(buf *Timex) (state int, err error) {\n\tr0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tstate = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ClockGettime(clockid int32, time *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(oldfd int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup3(oldfd int, newfd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate1(flag int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Eventfd(initval uint, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fallocate(fd int, mode uint32, off int64, len int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off>>32), uintptr(off), uintptr(len>>32), uintptr(len))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fdatasync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flistxattr(fd int, dest []byte) (sz int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p0 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fremovexattr(fd int, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrandom(buf []byte, flags int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettid() (tid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0)\n\ttid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(pathname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))\n\twatchdesc = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit1(flags int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)\n\tsuccess = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Klogctl(typ int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Llistxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lremovexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lsetxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PivotRoot(newroot string, putold string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(newroot)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(putold)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Removexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(callback)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setdomainname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sethostname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setns(fd int, nstype int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() {\n\tSyscallNoError(SYS_SYNC, 0, 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Syncfs(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sysinfo(info *Sysinfo_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {\n\tr0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)\n\tn = int64(int64(r0)<<32 | int64(r1))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Times(tms *Tms) (ticks uintptr, err error) {\n\tr0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)\n\tticks = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(mask int) (oldmask int) {\n\tr0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Uname(buf *Utsname) (err error) {\n\t_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(target string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unshare(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc exitThread(code int) (err error) {\n\t_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, advice int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc faccessat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(oldfd int, newfd int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate(size int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(events) > 0 {\n\t\t_p0 = unsafe.Pointer(&events[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fadvise(fd int, offset int64, length int64, advice int) (err error) {\n\t_, _, e1 := Syscall9(SYS_FADVISE64, uintptr(fd), 0, uintptr(offset>>32), uintptr(offset), uintptr(length>>32), uintptr(length), uintptr(advice), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FTRUNCATE64, uintptr(fd), 0, uintptr(length>>32), uintptr(length), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (euid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0)\n\teuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, n int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset>>32), uintptr(offset))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset>>32), uintptr(offset))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)\n\twritten = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsgid(gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsuid(uid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc SyncFileRange(fd int, off int64, n int64, flags int) (err error) {\n\t_, _, e1 := Syscall9(SYS_SYNC_FILE_RANGE, uintptr(fd), 0, uintptr(off>>32), uintptr(off), uintptr(n>>32), uintptr(n), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length>>32), uintptr(length), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ustat(dev int, ubuf *Ustat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(n int, list *_Gid_t) (nn int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tnn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(n int, list *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit() (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ioperm(from int, num int, on int) (err error) {\n\t_, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Iopl(level int) (err error) {\n\t_, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimesat(dirfd int, path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Time(t *Time_t) (tt Time_t, err error) {\n\tr0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0)\n\ttt = Time_t(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Utime(path string, buf *Utimbuf) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pause() (err error) {\n\t_, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe2(p *[2]_C_int, flags int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe() (p1 int, p2 int, err error) {\n\tr0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)\n\tp1 = int(r0)\n\tp2 = int(r1)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) {\n\tr0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset))\n\txaddr = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getrlimit(resource int, rlim *rlimit32) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setrlimit(resource int, rlim *rlimit32) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go",
    "content": "// mksyscall.pl -tags linux,mips64 syscall_linux.go syscall_linux_mips64x.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build linux,mips64\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fchmodat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlJoin(cmd int, arg2 string) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg2)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg3)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(arg4)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p0 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(source)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(fstype)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Acct(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p2 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtimex(buf *Timex) (state int, err error) {\n\tr0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tstate = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ClockGettime(clockid int32, time *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(oldfd int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup3(oldfd int, newfd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate1(flag int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Eventfd(initval uint, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fallocate(fd int, mode uint32, off int64, len int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fdatasync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flistxattr(fd int, dest []byte) (sz int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p0 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fremovexattr(fd int, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrandom(buf []byte, flags int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettid() (tid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0)\n\ttid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(pathname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))\n\twatchdesc = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit1(flags int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)\n\tsuccess = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Klogctl(typ int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Llistxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lremovexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lsetxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PivotRoot(newroot string, putold string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(newroot)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(putold)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Removexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(callback)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setdomainname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sethostname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setns(fd int, nstype int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() {\n\tSyscallNoError(SYS_SYNC, 0, 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Syncfs(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sysinfo(info *Sysinfo_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)\n\tn = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Times(tms *Tms) (ticks uintptr, err error) {\n\tr0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)\n\tticks = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(mask int) (oldmask int) {\n\tr0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Uname(buf *Utsname) (err error) {\n\t_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(target string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unshare(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc exitThread(code int) (err error) {\n\t_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, advice int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc faccessat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(oldfd int, newfd int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate(size int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(events) > 0 {\n\t\t_p0 = unsafe.Pointer(&events[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fadvise(fd int, offset int64, length int64, advice int) (err error) {\n\t_, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, buf *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (euid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0)\n\teuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(resource int, rlim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, n int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pause() (err error) {\n\t_, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (off int64, err error) {\n\tr0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))\n\toff = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)\n\twritten = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsgid(gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsuid(uid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(resource int, rlim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, buf *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc SyncFileRange(fd int, off int64, n int64, flags int) (err error) {\n\t_, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ustat(dev int, ubuf *Ustat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(n int, list *_Gid_t) (nn int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tnn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(n int, list *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) {\n\tr0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset))\n\txaddr = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimesat(dirfd int, path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Utime(path string, buf *Utimbuf) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe2(p *[2]_C_int, flags int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fstat(fd int, st *stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(st)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc lstat(path string, st *stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc stat(path string, st *stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go",
    "content": "// mksyscall.pl -tags linux,mips64le syscall_linux.go syscall_linux_mips64x.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build linux,mips64le\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fchmodat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlJoin(cmd int, arg2 string) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg2)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg3)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(arg4)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p0 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(source)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(fstype)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Acct(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p2 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtimex(buf *Timex) (state int, err error) {\n\tr0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tstate = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ClockGettime(clockid int32, time *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(oldfd int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup3(oldfd int, newfd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate1(flag int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Eventfd(initval uint, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fallocate(fd int, mode uint32, off int64, len int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fdatasync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flistxattr(fd int, dest []byte) (sz int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p0 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fremovexattr(fd int, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrandom(buf []byte, flags int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettid() (tid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0)\n\ttid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(pathname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))\n\twatchdesc = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit1(flags int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)\n\tsuccess = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Klogctl(typ int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Llistxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lremovexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lsetxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PivotRoot(newroot string, putold string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(newroot)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(putold)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Removexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(callback)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setdomainname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sethostname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setns(fd int, nstype int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() {\n\tSyscallNoError(SYS_SYNC, 0, 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Syncfs(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sysinfo(info *Sysinfo_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)\n\tn = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Times(tms *Tms) (ticks uintptr, err error) {\n\tr0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)\n\tticks = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(mask int) (oldmask int) {\n\tr0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Uname(buf *Utsname) (err error) {\n\t_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(target string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unshare(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc exitThread(code int) (err error) {\n\t_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, advice int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc faccessat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(oldfd int, newfd int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate(size int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(events) > 0 {\n\t\t_p0 = unsafe.Pointer(&events[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fadvise(fd int, offset int64, length int64, advice int) (err error) {\n\t_, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, buf *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (euid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0)\n\teuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(resource int, rlim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, n int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pause() (err error) {\n\t_, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (off int64, err error) {\n\tr0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))\n\toff = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)\n\twritten = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsgid(gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsuid(uid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(resource int, rlim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, buf *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc SyncFileRange(fd int, off int64, n int64, flags int) (err error) {\n\t_, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ustat(dev int, ubuf *Ustat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(n int, list *_Gid_t) (nn int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tnn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(n int, list *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) {\n\tr0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset))\n\txaddr = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimesat(dirfd int, path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Utime(path string, buf *Utimbuf) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe2(p *[2]_C_int, flags int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fstat(fd int, st *stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(st)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc lstat(path string, st *stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc stat(path string, st *stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go",
    "content": "// mksyscall.pl -l32 -arm -tags linux,mipsle syscall_linux.go syscall_linux_mipsx.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build linux,mipsle\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fchmodat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlJoin(cmd int, arg2 string) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg2)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg3)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(arg4)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p0 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(source)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(fstype)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Acct(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p2 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtimex(buf *Timex) (state int, err error) {\n\tr0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tstate = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ClockGettime(clockid int32, time *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(oldfd int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup3(oldfd int, newfd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate1(flag int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Eventfd(initval uint, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fallocate(fd int, mode uint32, off int64, len int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fdatasync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flistxattr(fd int, dest []byte) (sz int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p0 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fremovexattr(fd int, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrandom(buf []byte, flags int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettid() (tid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0)\n\ttid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(pathname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))\n\twatchdesc = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit1(flags int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)\n\tsuccess = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Klogctl(typ int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Llistxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lremovexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lsetxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PivotRoot(newroot string, putold string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(newroot)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(putold)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Removexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(callback)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setdomainname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sethostname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setns(fd int, nstype int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() {\n\tSyscallNoError(SYS_SYNC, 0, 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Syncfs(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sysinfo(info *Sysinfo_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {\n\tr0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)\n\tn = int64(int64(r1)<<32 | int64(r0))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Times(tms *Tms) (ticks uintptr, err error) {\n\tr0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)\n\tticks = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(mask int) (oldmask int) {\n\tr0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Uname(buf *Utsname) (err error) {\n\t_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(target string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unshare(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc exitThread(code int) (err error) {\n\t_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, advice int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc faccessat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(oldfd int, newfd int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate(size int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(events) > 0 {\n\t\t_p0 = unsafe.Pointer(&events[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fadvise(fd int, offset int64, length int64, advice int) (err error) {\n\t_, _, e1 := Syscall9(SYS_FADVISE64, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FTRUNCATE64, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (euid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0)\n\teuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, n int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)\n\twritten = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsgid(gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsuid(uid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc SyncFileRange(fd int, off int64, n int64, flags int) (err error) {\n\t_, _, e1 := Syscall9(SYS_SYNC_FILE_RANGE, uintptr(fd), 0, uintptr(off), uintptr(off>>32), uintptr(n), uintptr(n>>32), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ustat(dev int, ubuf *Ustat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(n int, list *_Gid_t) (nn int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tnn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(n int, list *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit() (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ioperm(from int, num int, on int) (err error) {\n\t_, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Iopl(level int) (err error) {\n\t_, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimesat(dirfd int, path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Time(t *Time_t) (tt Time_t, err error) {\n\tr0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0)\n\ttt = Time_t(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Utime(path string, buf *Utimbuf) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pause() (err error) {\n\t_, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe2(p *[2]_C_int, flags int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe() (p1 int, p2 int, err error) {\n\tr0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)\n\tp1 = int(r0)\n\tp2 = int(r1)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) {\n\tr0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset))\n\txaddr = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getrlimit(resource int, rlim *rlimit32) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setrlimit(resource int, rlim *rlimit32) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go",
    "content": "// mksyscall.pl -tags linux,ppc64 syscall_linux.go syscall_linux_ppc64x.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build linux,ppc64\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fchmodat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlJoin(cmd int, arg2 string) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg2)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg3)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(arg4)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p0 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(source)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(fstype)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Acct(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p2 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtimex(buf *Timex) (state int, err error) {\n\tr0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tstate = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ClockGettime(clockid int32, time *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(oldfd int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup3(oldfd int, newfd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate1(flag int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Eventfd(initval uint, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fallocate(fd int, mode uint32, off int64, len int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fdatasync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flistxattr(fd int, dest []byte) (sz int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p0 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fremovexattr(fd int, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrandom(buf []byte, flags int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettid() (tid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0)\n\ttid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(pathname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))\n\twatchdesc = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit1(flags int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)\n\tsuccess = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Klogctl(typ int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Llistxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lremovexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lsetxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PivotRoot(newroot string, putold string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(newroot)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(putold)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Removexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(callback)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setdomainname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sethostname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setns(fd int, nstype int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() {\n\tSyscallNoError(SYS_SYNC, 0, 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Syncfs(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sysinfo(info *Sysinfo_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)\n\tn = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Times(tms *Tms) (ticks uintptr, err error) {\n\tr0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)\n\tticks = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(mask int) (oldmask int) {\n\tr0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Uname(buf *Utsname) (err error) {\n\t_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(target string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unshare(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc exitThread(code int) (err error) {\n\t_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, advice int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc faccessat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(oldfd int, newfd int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate(size int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(events) > 0 {\n\t\t_p0 = unsafe.Pointer(&events[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fadvise(fd int, offset int64, length int64, advice int) (err error) {\n\t_, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, buf *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (euid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0)\n\teuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(resource int, rlim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_UGETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit() (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ioperm(from int, num int, on int) (err error) {\n\t_, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Iopl(level int) (err error) {\n\t_, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, n int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pause() (err error) {\n\t_, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (off int64, err error) {\n\tr0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))\n\toff = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)\n\twritten = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsgid(gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsuid(uid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(resource int, rlim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, buf *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc SyncFileRange(fd int, off int64, n int64, flags int) (err error) {\n\t_, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ustat(dev int, ubuf *Ustat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(n int, list *_Gid_t) (nn int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tnn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(n int, list *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) {\n\tr0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset))\n\txaddr = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimesat(dirfd int, path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Time(t *Time_t) (tt Time_t, err error) {\n\tr0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0)\n\ttt = Time_t(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Utime(path string, buf *Utimbuf) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe(p *[2]_C_int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe2(p *[2]_C_int, flags int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go",
    "content": "// mksyscall.pl -tags linux,ppc64le syscall_linux.go syscall_linux_ppc64x.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build linux,ppc64le\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fchmodat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlJoin(cmd int, arg2 string) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg2)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg3)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(arg4)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p0 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(source)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(fstype)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Acct(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p2 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtimex(buf *Timex) (state int, err error) {\n\tr0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tstate = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ClockGettime(clockid int32, time *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(oldfd int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup3(oldfd int, newfd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate1(flag int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Eventfd(initval uint, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fallocate(fd int, mode uint32, off int64, len int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fdatasync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flistxattr(fd int, dest []byte) (sz int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p0 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fremovexattr(fd int, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrandom(buf []byte, flags int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettid() (tid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0)\n\ttid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(pathname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))\n\twatchdesc = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit1(flags int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)\n\tsuccess = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Klogctl(typ int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Llistxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lremovexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lsetxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PivotRoot(newroot string, putold string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(newroot)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(putold)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Removexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(callback)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setdomainname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sethostname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setns(fd int, nstype int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() {\n\tSyscallNoError(SYS_SYNC, 0, 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Syncfs(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sysinfo(info *Sysinfo_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)\n\tn = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Times(tms *Tms) (ticks uintptr, err error) {\n\tr0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)\n\tticks = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(mask int) (oldmask int) {\n\tr0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Uname(buf *Utsname) (err error) {\n\t_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(target string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unshare(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc exitThread(code int) (err error) {\n\t_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, advice int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc faccessat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(oldfd int, newfd int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate(size int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(events) > 0 {\n\t\t_p0 = unsafe.Pointer(&events[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fadvise(fd int, offset int64, length int64, advice int) (err error) {\n\t_, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, buf *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (euid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0)\n\teuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(resource int, rlim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_UGETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit() (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ioperm(from int, num int, on int) (err error) {\n\t_, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Iopl(level int) (err error) {\n\t_, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, n int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pause() (err error) {\n\t_, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (off int64, err error) {\n\tr0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))\n\toff = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)\n\twritten = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsgid(gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsuid(uid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(resource int, rlim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, buf *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc SyncFileRange(fd int, off int64, n int64, flags int) (err error) {\n\t_, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ustat(dev int, ubuf *Ustat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(n int, list *_Gid_t) (nn int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tnn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(n int, list *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) {\n\tr0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset))\n\txaddr = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimesat(dirfd int, path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Time(t *Time_t) (tt Time_t, err error) {\n\tr0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0)\n\ttt = Time_t(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Utime(path string, buf *Utimbuf) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe(p *[2]_C_int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe2(p *[2]_C_int, flags int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go",
    "content": "// mksyscall.pl -tags linux,s390x syscall_linux.go syscall_linux_s390x.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build linux,s390x\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fchmodat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlJoin(cmd int, arg2 string) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg2)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg3)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(arg4)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p0 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(source)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(fstype)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Acct(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p2 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtimex(buf *Timex) (state int, err error) {\n\tr0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tstate = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ClockGettime(clockid int32, time *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(oldfd int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup3(oldfd int, newfd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate1(flag int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Eventfd(initval uint, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fallocate(fd int, mode uint32, off int64, len int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fdatasync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flistxattr(fd int, dest []byte) (sz int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p0 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fremovexattr(fd int, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrandom(buf []byte, flags int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettid() (tid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0)\n\ttid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(pathname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))\n\twatchdesc = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit1(flags int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)\n\tsuccess = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Klogctl(typ int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Llistxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lremovexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lsetxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PivotRoot(newroot string, putold string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(newroot)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(putold)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Removexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(callback)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setdomainname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sethostname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setns(fd int, nstype int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() {\n\tSyscallNoError(SYS_SYNC, 0, 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Syncfs(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sysinfo(info *Sysinfo_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)\n\tn = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Times(tms *Tms) (ticks uintptr, err error) {\n\tr0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)\n\tticks = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(mask int) (oldmask int) {\n\tr0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Uname(buf *Utsname) (err error) {\n\t_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(target string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unshare(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc exitThread(code int) (err error) {\n\t_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, advice int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc faccessat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(oldfd int, newfd int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate(size int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(events) > 0 {\n\t\t_p0 = unsafe.Pointer(&events[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fadvise(fd int, offset int64, length int64, advice int) (err error) {\n\t_, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_NEWFSTATAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, buf *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (euid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0)\n\teuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(resource int, rlim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit() (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pause() (err error) {\n\t_, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (off int64, err error) {\n\tr0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))\n\toff = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)\n\twritten = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsgid(gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsuid(uid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(resource int, rlim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, buf *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc SyncFileRange(fd int, off int64, n int64, flags int) (err error) {\n\t_, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ustat(dev int, ubuf *Ustat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(n int, list *_Gid_t) (nn int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tnn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(n int, list *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimesat(dirfd int, path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Utime(path string, buf *Utimbuf) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe2(p *[2]_C_int, flags int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go",
    "content": "// mksyscall.pl -tags linux,sparc64 syscall_linux.go syscall_linux_sparc64.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build linux,sparc64\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fchmodat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlinkat(dirfd int, path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlJoin(cmd int, arg2 string) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg2)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg3)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(arg4)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p0 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(arg)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(source)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(fstype)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Acct(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(payload) > 0 {\n\t\t_p2 = unsafe.Pointer(&payload[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtimex(buf *Timex) (state int, err error) {\n\tr0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tstate = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ClockGettime(clockid int32, time *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(oldfd int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup3(oldfd int, newfd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCreate1(flag int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Eventfd(initval uint, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscallNoError(SYS_EXIT_GROUP, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fallocate(fd int, mode uint32, off int64, len int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fdatasync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrandom(buf []byte, flags int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettid() (tid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETTID, 0, 0, 0)\n\ttid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(pathname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))\n\twatchdesc = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit1(flags int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0)\n\tsuccess = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Klogctl(typ int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lgetxattr(path string, attr string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p2 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Llistxattr(path string, dest []byte) (sz int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(dest) > 0 {\n\t\t_p1 = unsafe.Pointer(&dest[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))\n\tsz = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lremovexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lsetxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc PivotRoot(newroot string, putold string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(newroot)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(putold)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Removexattr(path string, attr string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(keyType)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(description)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 *byte\n\t_p2, err = BytePtrFromString(callback)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0)\n\tid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setdomainname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sethostname(p []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setns(fd int, nstype int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setxattr(path string, attr string, data []byte, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attr)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p2 unsafe.Pointer\n\tif len(data) > 0 {\n\t\t_p2 = unsafe.Pointer(&data[0])\n\t} else {\n\t\t_p2 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() {\n\tSyscallNoError(SYS_SYNC, 0, 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Syncfs(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sysinfo(info *Sysinfo_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0)\n\tn = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Tgkill(tgid int, tid int, sig syscall.Signal) (err error) {\n\t_, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Times(tms *Tms) (ticks uintptr, err error) {\n\tr0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0)\n\tticks = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(mask int) (oldmask int) {\n\tr0, _ := RawSyscallNoError(SYS_UMASK, uintptr(mask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Uname(buf *Utsname) (err error) {\n\t_, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(target string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unshare(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc exitThread(code int) (err error) {\n\t_, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, p *byte, np int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, advice int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(events) > 0 {\n\t\t_p0 = unsafe.Pointer(&events[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fadvise(fd int, offset int64, length int64, advice int) (err error) {\n\t_, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(oldfd int, newfd int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, buf *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (euid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0)\n\teuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(resource int, rlim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc InotifyInit() (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, n int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pause() (err error) {\n\t_, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (off int64, err error) {\n\tr0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))\n\toff = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tr0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)\n\twritten = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsgid(gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setfsuid(uid int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(resource int, rlim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))\n\tn = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, buf *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc SyncFileRange(fd int, off int64, n int64, flags int) (err error) {\n\t_, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {\n\tr0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(n int, list *_Gid_t) (nn int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tnn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(n int, list *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) {\n\tr0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset))\n\txaddr = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimesat(dirfd int, path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Utime(path string, buf *Utimbuf) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe(p *[2]_C_int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe2(p *[2]_C_int, flags int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go",
    "content": "// mksyscall.pl -l32 -netbsd -tags netbsd,386 syscall_bsd.go syscall_netbsd.go syscall_netbsd_386.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build netbsd,386\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(ngid int, gid *_Gid_t) (n int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(ngid int, gid *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(s int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(mib) > 0 {\n\t\t_p0 = unsafe.Pointer(&mib[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, timeval *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimes(fd int, timeval *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, behav int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe() (fd1 int, fd2 int, err error) {\n\tr0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)\n\tfd1 = int(r0)\n\tfd2 = int(r1)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Access(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtime(delta *Timeval, olddelta *Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chflags(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chmod(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(fd int) (nfd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(from int, to int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscall(SYS_EXIT, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fadvise(fd int, offset int64, length int64, advice int) (err error) {\n\t_, _, e1 := Syscall9(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), 0, uintptr(length), uintptr(length>>32), uintptr(advice), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchflags(fd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fpathconf(fd int, name int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgrp() (pgrp int) {\n\tr0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0)\n\tpgrp = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Issetugid() (tainted bool) {\n\tr0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0)\n\ttainted = bool(r0 != 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, signum syscall.Signal) (err error) {\n\t_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kqueue() (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Link(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, backlog int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdir(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkfifo(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknod(path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Open(path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pathconf(path string, name int) (val int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlink(path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rename(from string, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Revoke(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rmdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (newoffset int64, err error) {\n\tr0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0)\n\tnewoffset = int64(int64(r1)<<32 | int64(r0))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {\n\t_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setegid(egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seteuid(euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setgid(gid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tp *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setuid(uid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlink(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() (err error) {\n\t_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(newmask int) (oldmask int) {\n\tr0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlink(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {\n\tr0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0)\n\tret = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go",
    "content": "// mksyscall.pl -netbsd -tags netbsd,amd64 syscall_bsd.go syscall_netbsd.go syscall_netbsd_amd64.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build netbsd,amd64\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(ngid int, gid *_Gid_t) (n int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(ngid int, gid *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(s int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(mib) > 0 {\n\t\t_p0 = unsafe.Pointer(&mib[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, timeval *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimes(fd int, timeval *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, behav int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe() (fd1 int, fd2 int, err error) {\n\tr0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)\n\tfd1 = int(r0)\n\tfd2 = int(r1)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Access(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtime(delta *Timeval, olddelta *Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chflags(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chmod(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(fd int) (nfd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(from int, to int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscall(SYS_EXIT, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fadvise(fd int, offset int64, length int64, advice int) (err error) {\n\t_, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), 0, uintptr(length), uintptr(advice))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchflags(fd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fpathconf(fd int, name int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgrp() (pgrp int) {\n\tr0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0)\n\tpgrp = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Issetugid() (tainted bool) {\n\tr0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0)\n\ttainted = bool(r0 != 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, signum syscall.Signal) (err error) {\n\t_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kqueue() (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Link(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, backlog int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdir(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkfifo(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknod(path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Open(path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pathconf(path string, name int) (val int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlink(path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rename(from string, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Revoke(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rmdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (newoffset int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0)\n\tnewoffset = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {\n\t_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setegid(egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seteuid(euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setgid(gid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tp *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setuid(uid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlink(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() (err error) {\n\t_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(newmask int) (oldmask int) {\n\tr0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlink(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {\n\tr0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0)\n\tret = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go",
    "content": "// mksyscall.pl -l32 -netbsd -arm -tags netbsd,arm syscall_bsd.go syscall_netbsd.go syscall_netbsd_arm.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build netbsd,arm\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(ngid int, gid *_Gid_t) (n int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(ngid int, gid *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(s int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(mib) > 0 {\n\t\t_p0 = unsafe.Pointer(&mib[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, timeval *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimes(fd int, timeval *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, behav int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe() (fd1 int, fd2 int, err error) {\n\tr0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)\n\tfd1 = int(r0)\n\tfd2 = int(r1)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Access(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtime(delta *Timeval, olddelta *Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chflags(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chmod(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(fd int) (nfd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(from int, to int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscall(SYS_EXIT, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(file)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(attrname)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)\n\tret = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fadvise(fd int, offset int64, length int64, advice int) (err error) {\n\t_, _, e1 := Syscall9(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), 0, uintptr(length), uintptr(length>>32), uintptr(advice), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchflags(fd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fpathconf(fd int, name int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgrp() (pgrp int) {\n\tr0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0)\n\tpgrp = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Issetugid() (tainted bool) {\n\tr0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0)\n\ttainted = bool(r0 != 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, signum syscall.Signal) (err error) {\n\t_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kqueue() (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Link(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, backlog int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdir(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkfifo(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknod(path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Open(path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pathconf(path string, name int) (val int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlink(path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rename(from string, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Revoke(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rmdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (newoffset int64, err error) {\n\tr0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0)\n\tnewoffset = int64(int64(r1)<<32 | int64(r0))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {\n\t_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setegid(egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seteuid(euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setgid(gid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tp *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setuid(uid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlink(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() (err error) {\n\t_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(newmask int) (oldmask int) {\n\tr0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlink(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {\n\tr0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0)\n\tret = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go",
    "content": "// mksyscall.pl -l32 -openbsd -tags openbsd,386 syscall_bsd.go syscall_openbsd.go syscall_openbsd_386.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build openbsd,386\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(ngid int, gid *_Gid_t) (n int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(ngid int, gid *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(s int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(mib) > 0 {\n\t\t_p0 = unsafe.Pointer(&mib[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, timeval *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimes(fd int, timeval *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, behav int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe(p *[2]_C_int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Access(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtime(delta *Timeval, olddelta *Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chflags(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chmod(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(fd int) (nfd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(from int, to int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscall(SYS_EXIT, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchflags(fd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fpathconf(fd int, name int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, stat *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgrp() (pgrp int) {\n\tr0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0)\n\tpgrp = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrtable() (rtable int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETRTABLE, 0, 0, 0)\n\trtable = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Issetugid() (tainted bool) {\n\tr0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0)\n\ttainted = bool(r0 != 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, signum syscall.Signal) (err error) {\n\t_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kqueue() (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Link(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, backlog int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdir(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkfifo(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknod(path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Open(path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pathconf(path string, name int) (val int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlink(path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rename(from string, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Revoke(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rmdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (newoffset int64, err error) {\n\tr0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0)\n\tnewoffset = int64(int64(r1)<<32 | int64(r0))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {\n\t_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setegid(egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seteuid(euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setgid(gid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setlogin(name string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(name)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrtable(rtable int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRTABLE, uintptr(rtable), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tp *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setuid(uid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, stat *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlink(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() (err error) {\n\t_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(newmask int) (oldmask int) {\n\tr0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlink(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {\n\tr0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0)\n\tret = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go",
    "content": "// mksyscall.pl -openbsd -tags openbsd,amd64 syscall_bsd.go syscall_openbsd.go syscall_openbsd_amd64.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build openbsd,amd64\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(ngid int, gid *_Gid_t) (n int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(ngid int, gid *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(s int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(mib) > 0 {\n\t\t_p0 = unsafe.Pointer(&mib[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, timeval *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimes(fd int, timeval *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, behav int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe(p *[2]_C_int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Access(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtime(delta *Timeval, olddelta *Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chflags(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chmod(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(fd int) (nfd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(from int, to int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscall(SYS_EXIT, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchflags(fd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fpathconf(fd int, name int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, stat *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgrp() (pgrp int) {\n\tr0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0)\n\tpgrp = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrtable() (rtable int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETRTABLE, 0, 0, 0)\n\trtable = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Issetugid() (tainted bool) {\n\tr0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0)\n\ttainted = bool(r0 != 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, signum syscall.Signal) (err error) {\n\t_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kqueue() (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Link(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, backlog int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdir(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkfifo(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknod(path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Open(path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pathconf(path string, name int) (val int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlink(path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rename(from string, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Revoke(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rmdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (newoffset int64, err error) {\n\tr0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0)\n\tnewoffset = int64(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {\n\t_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setegid(egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seteuid(euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setgid(gid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setlogin(name string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(name)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrtable(rtable int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRTABLE, uintptr(rtable), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tp *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setuid(uid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, stat *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlink(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() (err error) {\n\t_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(newmask int) (oldmask int) {\n\tr0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlink(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {\n\tr0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0)\n\tret = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go",
    "content": "// mksyscall.pl -l32 -openbsd -arm -tags openbsd,arm syscall_bsd.go syscall_openbsd.go syscall_openbsd_arm.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build openbsd,arm\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\nvar _ syscall.Errno\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getgroups(ngid int, gid *_Gid_t) (n int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setgroups(ngid int, gid *_Gid_t) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) {\n\tr0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Shutdown(s int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) {\n\tr0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(mib) > 0 {\n\t\t_p0 = unsafe.Pointer(&mib[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimes(path string, timeval *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc futimes(fd int, timeval *[2]Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg))\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Madvise(b []byte, behav int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(b) > 0 {\n\t\t_p0 = unsafe.Pointer(&b[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\t_, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc pipe(p *[2]_C_int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc getdents(fd int, buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p0 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Access(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Adjtime(delta *Timeval, olddelta *Timeval) (err error) {\n\t_, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chflags(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chmod(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup(fd int) (nfd int, err error) {\n\tr0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Dup2(from int, to int) (err error) {\n\t_, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Exit(code int) {\n\tSyscall(SYS_EXIT, uintptr(code), 0, 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchflags(fd int, flags int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fpathconf(fd int, name int) (val int, err error) {\n\tr0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fstatfs(fd int, stat *Statfs_t) (err error) {\n\t_, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getegid() (egid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Geteuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getgid() (gid int) {\n\tr0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpgrp() (pgrp int) {\n\tr0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0)\n\tpgrp = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpid() (pid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getppid() (ppid int) {\n\tr0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getpriority(which int, who int) (prio int, err error) {\n\tr0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0)\n\tprio = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrtable() (rtable int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETRTABLE, 0, 0, 0)\n\trtable = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getsid(pid int) (sid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0)\n\tsid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Getuid() (uid int) {\n\tr0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Issetugid() (tainted bool) {\n\tr0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0)\n\ttainted = bool(r0 != 0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kill(pid int, signum syscall.Signal) (err error) {\n\t_, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Kqueue() (fd int, err error) {\n\tr0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Link(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Listen(s int, backlog int) (err error) {\n\t_, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkdir(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mkfifo(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Mknod(path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Open(path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pathconf(path string, name int) (val int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Readlink(path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 unsafe.Pointer\n\tif len(buf) > 0 {\n\t\t_p1 = unsafe.Pointer(&buf[0])\n\t} else {\n\t\t_p1 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rename(from string, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Revoke(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Rmdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seek(fd int, offset int64, whence int) (newoffset int64, err error) {\n\tr0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0)\n\tnewoffset = int64(int64(r1)<<32 | int64(r0))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {\n\t_, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setegid(egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Seteuid(euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setgid(gid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setlogin(name string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(name)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresgid(rgid int, egid int, sgid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setresuid(ruid int, euid int, suid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid))\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setrtable(rtable int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETRTABLE, uintptr(rtable), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Settimeofday(tp *Timeval) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Setuid(uid int) (err error) {\n\t_, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Statfs(path string, stat *Statfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Symlink(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Sync() (err error) {\n\t_, _, e1 := Syscall(SYS_SYNC, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Umask(newmask int) (oldmask int) {\n\tr0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unlink(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc Unmount(path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 unsafe.Pointer\n\tif len(p) > 0 {\n\t\t_p0 = unsafe.Pointer(&p[0])\n\t} else {\n\t\t_p0 = unsafe.Pointer(&_zero)\n\t}\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {\n\tr0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0)\n\tret = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc readlen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc writelen(fd int, buf *byte, nbuf int) (n int, err error) {\n\tr0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n\n// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\nfunc utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = errnoErr(e1)\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go",
    "content": "// mksyscall_solaris.pl -tags solaris,amd64 syscall_solaris.go syscall_solaris_amd64.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build solaris,amd64\n\npackage unix\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\n//go:cgo_import_dynamic libc_pipe pipe \"libc.so\"\n//go:cgo_import_dynamic libc_getsockname getsockname \"libsocket.so\"\n//go:cgo_import_dynamic libc_getcwd getcwd \"libc.so\"\n//go:cgo_import_dynamic libc_getgroups getgroups \"libc.so\"\n//go:cgo_import_dynamic libc_setgroups setgroups \"libc.so\"\n//go:cgo_import_dynamic libc_wait4 wait4 \"libc.so\"\n//go:cgo_import_dynamic libc_gethostname gethostname \"libc.so\"\n//go:cgo_import_dynamic libc_utimes utimes \"libc.so\"\n//go:cgo_import_dynamic libc_utimensat utimensat \"libc.so\"\n//go:cgo_import_dynamic libc_fcntl fcntl \"libc.so\"\n//go:cgo_import_dynamic libc_futimesat futimesat \"libc.so\"\n//go:cgo_import_dynamic libc_accept accept \"libsocket.so\"\n//go:cgo_import_dynamic libc___xnet_recvmsg __xnet_recvmsg \"libsocket.so\"\n//go:cgo_import_dynamic libc___xnet_sendmsg __xnet_sendmsg \"libsocket.so\"\n//go:cgo_import_dynamic libc_acct acct \"libc.so\"\n//go:cgo_import_dynamic libc___makedev __makedev \"libc.so\"\n//go:cgo_import_dynamic libc___major __major \"libc.so\"\n//go:cgo_import_dynamic libc___minor __minor \"libc.so\"\n//go:cgo_import_dynamic libc_ioctl ioctl \"libc.so\"\n//go:cgo_import_dynamic libc_poll poll \"libc.so\"\n//go:cgo_import_dynamic libc_access access \"libc.so\"\n//go:cgo_import_dynamic libc_adjtime adjtime \"libc.so\"\n//go:cgo_import_dynamic libc_chdir chdir \"libc.so\"\n//go:cgo_import_dynamic libc_chmod chmod \"libc.so\"\n//go:cgo_import_dynamic libc_chown chown \"libc.so\"\n//go:cgo_import_dynamic libc_chroot chroot \"libc.so\"\n//go:cgo_import_dynamic libc_close close \"libc.so\"\n//go:cgo_import_dynamic libc_creat creat \"libc.so\"\n//go:cgo_import_dynamic libc_dup dup \"libc.so\"\n//go:cgo_import_dynamic libc_dup2 dup2 \"libc.so\"\n//go:cgo_import_dynamic libc_exit exit \"libc.so\"\n//go:cgo_import_dynamic libc_faccessat faccessat \"libc.so\"\n//go:cgo_import_dynamic libc_fchdir fchdir \"libc.so\"\n//go:cgo_import_dynamic libc_fchmod fchmod \"libc.so\"\n//go:cgo_import_dynamic libc_fchmodat fchmodat \"libc.so\"\n//go:cgo_import_dynamic libc_fchown fchown \"libc.so\"\n//go:cgo_import_dynamic libc_fchownat fchownat \"libc.so\"\n//go:cgo_import_dynamic libc_fdatasync fdatasync \"libc.so\"\n//go:cgo_import_dynamic libc_flock flock \"libc.so\"\n//go:cgo_import_dynamic libc_fpathconf fpathconf \"libc.so\"\n//go:cgo_import_dynamic libc_fstat fstat \"libc.so\"\n//go:cgo_import_dynamic libc_fstatat fstatat \"libc.so\"\n//go:cgo_import_dynamic libc_fstatvfs fstatvfs \"libc.so\"\n//go:cgo_import_dynamic libc_getdents getdents \"libc.so\"\n//go:cgo_import_dynamic libc_getgid getgid \"libc.so\"\n//go:cgo_import_dynamic libc_getpid getpid \"libc.so\"\n//go:cgo_import_dynamic libc_getpgid getpgid \"libc.so\"\n//go:cgo_import_dynamic libc_getpgrp getpgrp \"libc.so\"\n//go:cgo_import_dynamic libc_geteuid geteuid \"libc.so\"\n//go:cgo_import_dynamic libc_getegid getegid \"libc.so\"\n//go:cgo_import_dynamic libc_getppid getppid \"libc.so\"\n//go:cgo_import_dynamic libc_getpriority getpriority \"libc.so\"\n//go:cgo_import_dynamic libc_getrlimit getrlimit \"libc.so\"\n//go:cgo_import_dynamic libc_getrusage getrusage \"libc.so\"\n//go:cgo_import_dynamic libc_gettimeofday gettimeofday \"libc.so\"\n//go:cgo_import_dynamic libc_getuid getuid \"libc.so\"\n//go:cgo_import_dynamic libc_kill kill \"libc.so\"\n//go:cgo_import_dynamic libc_lchown lchown \"libc.so\"\n//go:cgo_import_dynamic libc_link link \"libc.so\"\n//go:cgo_import_dynamic libc___xnet_llisten __xnet_llisten \"libsocket.so\"\n//go:cgo_import_dynamic libc_lstat lstat \"libc.so\"\n//go:cgo_import_dynamic libc_madvise madvise \"libc.so\"\n//go:cgo_import_dynamic libc_mkdir mkdir \"libc.so\"\n//go:cgo_import_dynamic libc_mkdirat mkdirat \"libc.so\"\n//go:cgo_import_dynamic libc_mkfifo mkfifo \"libc.so\"\n//go:cgo_import_dynamic libc_mkfifoat mkfifoat \"libc.so\"\n//go:cgo_import_dynamic libc_mknod mknod \"libc.so\"\n//go:cgo_import_dynamic libc_mknodat mknodat \"libc.so\"\n//go:cgo_import_dynamic libc_mlock mlock \"libc.so\"\n//go:cgo_import_dynamic libc_mlockall mlockall \"libc.so\"\n//go:cgo_import_dynamic libc_mprotect mprotect \"libc.so\"\n//go:cgo_import_dynamic libc_msync msync \"libc.so\"\n//go:cgo_import_dynamic libc_munlock munlock \"libc.so\"\n//go:cgo_import_dynamic libc_munlockall munlockall \"libc.so\"\n//go:cgo_import_dynamic libc_nanosleep nanosleep \"libc.so\"\n//go:cgo_import_dynamic libc_open open \"libc.so\"\n//go:cgo_import_dynamic libc_openat openat \"libc.so\"\n//go:cgo_import_dynamic libc_pathconf pathconf \"libc.so\"\n//go:cgo_import_dynamic libc_pause pause \"libc.so\"\n//go:cgo_import_dynamic libc_pread pread \"libc.so\"\n//go:cgo_import_dynamic libc_pwrite pwrite \"libc.so\"\n//go:cgo_import_dynamic libc_read read \"libc.so\"\n//go:cgo_import_dynamic libc_readlink readlink \"libc.so\"\n//go:cgo_import_dynamic libc_rename rename \"libc.so\"\n//go:cgo_import_dynamic libc_renameat renameat \"libc.so\"\n//go:cgo_import_dynamic libc_rmdir rmdir \"libc.so\"\n//go:cgo_import_dynamic libc_lseek lseek \"libc.so\"\n//go:cgo_import_dynamic libc_select select \"libc.so\"\n//go:cgo_import_dynamic libc_setegid setegid \"libc.so\"\n//go:cgo_import_dynamic libc_seteuid seteuid \"libc.so\"\n//go:cgo_import_dynamic libc_setgid setgid \"libc.so\"\n//go:cgo_import_dynamic libc_sethostname sethostname \"libc.so\"\n//go:cgo_import_dynamic libc_setpgid setpgid \"libc.so\"\n//go:cgo_import_dynamic libc_setpriority setpriority \"libc.so\"\n//go:cgo_import_dynamic libc_setregid setregid \"libc.so\"\n//go:cgo_import_dynamic libc_setreuid setreuid \"libc.so\"\n//go:cgo_import_dynamic libc_setrlimit setrlimit \"libc.so\"\n//go:cgo_import_dynamic libc_setsid setsid \"libc.so\"\n//go:cgo_import_dynamic libc_setuid setuid \"libc.so\"\n//go:cgo_import_dynamic libc_shutdown shutdown \"libsocket.so\"\n//go:cgo_import_dynamic libc_stat stat \"libc.so\"\n//go:cgo_import_dynamic libc_statvfs statvfs \"libc.so\"\n//go:cgo_import_dynamic libc_symlink symlink \"libc.so\"\n//go:cgo_import_dynamic libc_sync sync \"libc.so\"\n//go:cgo_import_dynamic libc_times times \"libc.so\"\n//go:cgo_import_dynamic libc_truncate truncate \"libc.so\"\n//go:cgo_import_dynamic libc_fsync fsync \"libc.so\"\n//go:cgo_import_dynamic libc_ftruncate ftruncate \"libc.so\"\n//go:cgo_import_dynamic libc_umask umask \"libc.so\"\n//go:cgo_import_dynamic libc_uname uname \"libc.so\"\n//go:cgo_import_dynamic libc_umount umount \"libc.so\"\n//go:cgo_import_dynamic libc_unlink unlink \"libc.so\"\n//go:cgo_import_dynamic libc_unlinkat unlinkat \"libc.so\"\n//go:cgo_import_dynamic libc_ustat ustat \"libc.so\"\n//go:cgo_import_dynamic libc_utime utime \"libc.so\"\n//go:cgo_import_dynamic libc___xnet_bind __xnet_bind \"libsocket.so\"\n//go:cgo_import_dynamic libc___xnet_connect __xnet_connect \"libsocket.so\"\n//go:cgo_import_dynamic libc_mmap mmap \"libc.so\"\n//go:cgo_import_dynamic libc_munmap munmap \"libc.so\"\n//go:cgo_import_dynamic libc_sendfile sendfile \"libsendfile.so\"\n//go:cgo_import_dynamic libc___xnet_sendto __xnet_sendto \"libsocket.so\"\n//go:cgo_import_dynamic libc___xnet_socket __xnet_socket \"libsocket.so\"\n//go:cgo_import_dynamic libc___xnet_socketpair __xnet_socketpair \"libsocket.so\"\n//go:cgo_import_dynamic libc_write write \"libc.so\"\n//go:cgo_import_dynamic libc___xnet_getsockopt __xnet_getsockopt \"libsocket.so\"\n//go:cgo_import_dynamic libc_getpeername getpeername \"libsocket.so\"\n//go:cgo_import_dynamic libc_setsockopt setsockopt \"libsocket.so\"\n//go:cgo_import_dynamic libc_recvfrom recvfrom \"libsocket.so\"\n\n//go:linkname procpipe libc_pipe\n//go:linkname procgetsockname libc_getsockname\n//go:linkname procGetcwd libc_getcwd\n//go:linkname procgetgroups libc_getgroups\n//go:linkname procsetgroups libc_setgroups\n//go:linkname procwait4 libc_wait4\n//go:linkname procgethostname libc_gethostname\n//go:linkname procutimes libc_utimes\n//go:linkname procutimensat libc_utimensat\n//go:linkname procfcntl libc_fcntl\n//go:linkname procfutimesat libc_futimesat\n//go:linkname procaccept libc_accept\n//go:linkname proc__xnet_recvmsg libc___xnet_recvmsg\n//go:linkname proc__xnet_sendmsg libc___xnet_sendmsg\n//go:linkname procacct libc_acct\n//go:linkname proc__makedev libc___makedev\n//go:linkname proc__major libc___major\n//go:linkname proc__minor libc___minor\n//go:linkname procioctl libc_ioctl\n//go:linkname procpoll libc_poll\n//go:linkname procAccess libc_access\n//go:linkname procAdjtime libc_adjtime\n//go:linkname procChdir libc_chdir\n//go:linkname procChmod libc_chmod\n//go:linkname procChown libc_chown\n//go:linkname procChroot libc_chroot\n//go:linkname procClose libc_close\n//go:linkname procCreat libc_creat\n//go:linkname procDup libc_dup\n//go:linkname procDup2 libc_dup2\n//go:linkname procExit libc_exit\n//go:linkname procFaccessat libc_faccessat\n//go:linkname procFchdir libc_fchdir\n//go:linkname procFchmod libc_fchmod\n//go:linkname procFchmodat libc_fchmodat\n//go:linkname procFchown libc_fchown\n//go:linkname procFchownat libc_fchownat\n//go:linkname procFdatasync libc_fdatasync\n//go:linkname procFlock libc_flock\n//go:linkname procFpathconf libc_fpathconf\n//go:linkname procFstat libc_fstat\n//go:linkname procFstatat libc_fstatat\n//go:linkname procFstatvfs libc_fstatvfs\n//go:linkname procGetdents libc_getdents\n//go:linkname procGetgid libc_getgid\n//go:linkname procGetpid libc_getpid\n//go:linkname procGetpgid libc_getpgid\n//go:linkname procGetpgrp libc_getpgrp\n//go:linkname procGeteuid libc_geteuid\n//go:linkname procGetegid libc_getegid\n//go:linkname procGetppid libc_getppid\n//go:linkname procGetpriority libc_getpriority\n//go:linkname procGetrlimit libc_getrlimit\n//go:linkname procGetrusage libc_getrusage\n//go:linkname procGettimeofday libc_gettimeofday\n//go:linkname procGetuid libc_getuid\n//go:linkname procKill libc_kill\n//go:linkname procLchown libc_lchown\n//go:linkname procLink libc_link\n//go:linkname proc__xnet_llisten libc___xnet_llisten\n//go:linkname procLstat libc_lstat\n//go:linkname procMadvise libc_madvise\n//go:linkname procMkdir libc_mkdir\n//go:linkname procMkdirat libc_mkdirat\n//go:linkname procMkfifo libc_mkfifo\n//go:linkname procMkfifoat libc_mkfifoat\n//go:linkname procMknod libc_mknod\n//go:linkname procMknodat libc_mknodat\n//go:linkname procMlock libc_mlock\n//go:linkname procMlockall libc_mlockall\n//go:linkname procMprotect libc_mprotect\n//go:linkname procMsync libc_msync\n//go:linkname procMunlock libc_munlock\n//go:linkname procMunlockall libc_munlockall\n//go:linkname procNanosleep libc_nanosleep\n//go:linkname procOpen libc_open\n//go:linkname procOpenat libc_openat\n//go:linkname procPathconf libc_pathconf\n//go:linkname procPause libc_pause\n//go:linkname procPread libc_pread\n//go:linkname procPwrite libc_pwrite\n//go:linkname procread libc_read\n//go:linkname procReadlink libc_readlink\n//go:linkname procRename libc_rename\n//go:linkname procRenameat libc_renameat\n//go:linkname procRmdir libc_rmdir\n//go:linkname proclseek libc_lseek\n//go:linkname procSelect libc_select\n//go:linkname procSetegid libc_setegid\n//go:linkname procSeteuid libc_seteuid\n//go:linkname procSetgid libc_setgid\n//go:linkname procSethostname libc_sethostname\n//go:linkname procSetpgid libc_setpgid\n//go:linkname procSetpriority libc_setpriority\n//go:linkname procSetregid libc_setregid\n//go:linkname procSetreuid libc_setreuid\n//go:linkname procSetrlimit libc_setrlimit\n//go:linkname procSetsid libc_setsid\n//go:linkname procSetuid libc_setuid\n//go:linkname procshutdown libc_shutdown\n//go:linkname procStat libc_stat\n//go:linkname procStatvfs libc_statvfs\n//go:linkname procSymlink libc_symlink\n//go:linkname procSync libc_sync\n//go:linkname procTimes libc_times\n//go:linkname procTruncate libc_truncate\n//go:linkname procFsync libc_fsync\n//go:linkname procFtruncate libc_ftruncate\n//go:linkname procUmask libc_umask\n//go:linkname procUname libc_uname\n//go:linkname procumount libc_umount\n//go:linkname procUnlink libc_unlink\n//go:linkname procUnlinkat libc_unlinkat\n//go:linkname procUstat libc_ustat\n//go:linkname procUtime libc_utime\n//go:linkname proc__xnet_bind libc___xnet_bind\n//go:linkname proc__xnet_connect libc___xnet_connect\n//go:linkname procmmap libc_mmap\n//go:linkname procmunmap libc_munmap\n//go:linkname procsendfile libc_sendfile\n//go:linkname proc__xnet_sendto libc___xnet_sendto\n//go:linkname proc__xnet_socket libc___xnet_socket\n//go:linkname proc__xnet_socketpair libc___xnet_socketpair\n//go:linkname procwrite libc_write\n//go:linkname proc__xnet_getsockopt libc___xnet_getsockopt\n//go:linkname procgetpeername libc_getpeername\n//go:linkname procsetsockopt libc_setsockopt\n//go:linkname procrecvfrom libc_recvfrom\n\nvar (\n\tprocpipe,\n\tprocgetsockname,\n\tprocGetcwd,\n\tprocgetgroups,\n\tprocsetgroups,\n\tprocwait4,\n\tprocgethostname,\n\tprocutimes,\n\tprocutimensat,\n\tprocfcntl,\n\tprocfutimesat,\n\tprocaccept,\n\tproc__xnet_recvmsg,\n\tproc__xnet_sendmsg,\n\tprocacct,\n\tproc__makedev,\n\tproc__major,\n\tproc__minor,\n\tprocioctl,\n\tprocpoll,\n\tprocAccess,\n\tprocAdjtime,\n\tprocChdir,\n\tprocChmod,\n\tprocChown,\n\tprocChroot,\n\tprocClose,\n\tprocCreat,\n\tprocDup,\n\tprocDup2,\n\tprocExit,\n\tprocFaccessat,\n\tprocFchdir,\n\tprocFchmod,\n\tprocFchmodat,\n\tprocFchown,\n\tprocFchownat,\n\tprocFdatasync,\n\tprocFlock,\n\tprocFpathconf,\n\tprocFstat,\n\tprocFstatat,\n\tprocFstatvfs,\n\tprocGetdents,\n\tprocGetgid,\n\tprocGetpid,\n\tprocGetpgid,\n\tprocGetpgrp,\n\tprocGeteuid,\n\tprocGetegid,\n\tprocGetppid,\n\tprocGetpriority,\n\tprocGetrlimit,\n\tprocGetrusage,\n\tprocGettimeofday,\n\tprocGetuid,\n\tprocKill,\n\tprocLchown,\n\tprocLink,\n\tproc__xnet_llisten,\n\tprocLstat,\n\tprocMadvise,\n\tprocMkdir,\n\tprocMkdirat,\n\tprocMkfifo,\n\tprocMkfifoat,\n\tprocMknod,\n\tprocMknodat,\n\tprocMlock,\n\tprocMlockall,\n\tprocMprotect,\n\tprocMsync,\n\tprocMunlock,\n\tprocMunlockall,\n\tprocNanosleep,\n\tprocOpen,\n\tprocOpenat,\n\tprocPathconf,\n\tprocPause,\n\tprocPread,\n\tprocPwrite,\n\tprocread,\n\tprocReadlink,\n\tprocRename,\n\tprocRenameat,\n\tprocRmdir,\n\tproclseek,\n\tprocSelect,\n\tprocSetegid,\n\tprocSeteuid,\n\tprocSetgid,\n\tprocSethostname,\n\tprocSetpgid,\n\tprocSetpriority,\n\tprocSetregid,\n\tprocSetreuid,\n\tprocSetrlimit,\n\tprocSetsid,\n\tprocSetuid,\n\tprocshutdown,\n\tprocStat,\n\tprocStatvfs,\n\tprocSymlink,\n\tprocSync,\n\tprocTimes,\n\tprocTruncate,\n\tprocFsync,\n\tprocFtruncate,\n\tprocUmask,\n\tprocUname,\n\tprocumount,\n\tprocUnlink,\n\tprocUnlinkat,\n\tprocUstat,\n\tprocUtime,\n\tproc__xnet_bind,\n\tproc__xnet_connect,\n\tprocmmap,\n\tprocmunmap,\n\tprocsendfile,\n\tproc__xnet_sendto,\n\tproc__xnet_socket,\n\tproc__xnet_socketpair,\n\tprocwrite,\n\tproc__xnet_getsockopt,\n\tprocgetpeername,\n\tprocsetsockopt,\n\tprocrecvfrom syscallFunc\n)\n\nfunc pipe(p *[2]_C_int) (n int, err error) {\n\tr0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procpipe)), 1, uintptr(unsafe.Pointer(p)), 0, 0, 0, 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procgetsockname)), 3, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Getcwd(buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\tif len(buf) > 0 {\n\t\t_p0 = &buf[0]\n\t}\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procGetcwd)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), 0, 0, 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc getgroups(ngid int, gid *_Gid_t) (n int, err error) {\n\tr0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procgetgroups)), 2, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0, 0, 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc setgroups(ngid int, gid *_Gid_t) (err error) {\n\t_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procsetgroups)), 2, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc wait4(pid int32, statusp *_C_int, options int, rusage *Rusage) (wpid int32, err error) {\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwait4)), 4, uintptr(pid), uintptr(unsafe.Pointer(statusp)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0)\n\twpid = int32(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc gethostname(buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\tif len(buf) > 0 {\n\t\t_p0 = &buf[0]\n\t}\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procgethostname)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), 0, 0, 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc utimes(path string, times *[2]Timeval) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procutimes)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc utimensat(fd int, path string, times *[2]Timespec, flag int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procutimensat)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flag), 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc fcntl(fd int, cmd int, arg int) (val int, err error) {\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(arg), 0, 0, 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc futimesat(fildes int, path *byte, times *[2]Timeval) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfutimesat)), 3, uintptr(fildes), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)), 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procaccept)), 3, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_recvmsg)), 3, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_sendmsg)), 3, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc acct(path *byte) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procacct)), 1, uintptr(unsafe.Pointer(path)), 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc __makedev(version int, major uint, minor uint) (val uint64) {\n\tr0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__makedev)), 3, uintptr(version), uintptr(major), uintptr(minor), 0, 0, 0)\n\tval = uint64(r0)\n\treturn\n}\n\nfunc __major(version int, dev uint64) (val uint) {\n\tr0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__major)), 2, uintptr(version), uintptr(dev), 0, 0, 0, 0)\n\tval = uint(r0)\n\treturn\n}\n\nfunc __minor(version int, dev uint64) (val uint) {\n\tr0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__minor)), 2, uintptr(version), uintptr(dev), 0, 0, 0, 0)\n\tval = uint(r0)\n\treturn\n}\n\nfunc ioctl(fd int, req uint, arg uintptr) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procioctl)), 3, uintptr(fd), uintptr(req), uintptr(arg), 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc poll(fds *PollFd, nfds int, timeout int) (n int, err error) {\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procpoll)), 3, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout), 0, 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Access(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procAccess)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Adjtime(delta *Timeval, olddelta *Timeval) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procAdjtime)), 2, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Chdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChdir)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Chmod(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChmod)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Chown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChown)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Chroot(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChroot)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Close(fd int) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procClose)), 1, uintptr(fd), 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Creat(path string, mode uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procCreat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Dup(fd int) (nfd int, err error) {\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procDup)), 1, uintptr(fd), 0, 0, 0, 0, 0)\n\tnfd = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Dup2(oldfd int, newfd int) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procDup2)), 2, uintptr(oldfd), uintptr(newfd), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Exit(code int) {\n\tsysvicall6(uintptr(unsafe.Pointer(&procExit)), 1, uintptr(code), 0, 0, 0, 0, 0)\n\treturn\n}\n\nfunc Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFaccessat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Fchdir(fd int) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchdir)), 1, uintptr(fd), 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Fchmod(fd int, mode uint32) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchmod)), 2, uintptr(fd), uintptr(mode), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchmodat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Fchown(fd int, uid int, gid int) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchown)), 3, uintptr(fd), uintptr(uid), uintptr(gid), 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchownat)), 5, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Fdatasync(fd int) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFdatasync)), 1, uintptr(fd), 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Flock(fd int, how int) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFlock)), 2, uintptr(fd), uintptr(how), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Fpathconf(fd int, name int) (val int, err error) {\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFpathconf)), 2, uintptr(fd), uintptr(name), 0, 0, 0, 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Fstat(fd int, stat *Stat_t) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFstat)), 2, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFstatat)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Fstatvfs(fd int, vfsstat *Statvfs_t) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFstatvfs)), 2, uintptr(fd), uintptr(unsafe.Pointer(vfsstat)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Getdents(fd int, buf []byte, basep *uintptr) (n int, err error) {\n\tvar _p0 *byte\n\tif len(buf) > 0 {\n\t\t_p0 = &buf[0]\n\t}\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procGetdents)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Getgid() (gid int) {\n\tr0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetgid)), 0, 0, 0, 0, 0, 0, 0)\n\tgid = int(r0)\n\treturn\n}\n\nfunc Getpid() (pid int) {\n\tr0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpid)), 0, 0, 0, 0, 0, 0, 0)\n\tpid = int(r0)\n\treturn\n}\n\nfunc Getpgid(pid int) (pgid int, err error) {\n\tr0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpgid)), 1, uintptr(pid), 0, 0, 0, 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Getpgrp() (pgid int, err error) {\n\tr0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpgrp)), 0, 0, 0, 0, 0, 0, 0)\n\tpgid = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Geteuid() (euid int) {\n\tr0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGeteuid)), 0, 0, 0, 0, 0, 0, 0)\n\teuid = int(r0)\n\treturn\n}\n\nfunc Getegid() (egid int) {\n\tr0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGetegid)), 0, 0, 0, 0, 0, 0, 0)\n\tegid = int(r0)\n\treturn\n}\n\nfunc Getppid() (ppid int) {\n\tr0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGetppid)), 0, 0, 0, 0, 0, 0, 0)\n\tppid = int(r0)\n\treturn\n}\n\nfunc Getpriority(which int, who int) (n int, err error) {\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procGetpriority)), 2, uintptr(which), uintptr(who), 0, 0, 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Getrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetrlimit)), 2, uintptr(which), uintptr(unsafe.Pointer(lim)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Getrusage(who int, rusage *Rusage) (err error) {\n\t_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetrusage)), 2, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Gettimeofday(tv *Timeval) (err error) {\n\t_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGettimeofday)), 1, uintptr(unsafe.Pointer(tv)), 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Getuid() (uid int) {\n\tr0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetuid)), 0, 0, 0, 0, 0, 0, 0)\n\tuid = int(r0)\n\treturn\n}\n\nfunc Kill(pid int, signum syscall.Signal) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procKill)), 2, uintptr(pid), uintptr(signum), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Lchown(path string, uid int, gid int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procLchown)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Link(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procLink)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Listen(s int, backlog int) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_llisten)), 2, uintptr(s), uintptr(backlog), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Lstat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procLstat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Madvise(b []byte, advice int) (err error) {\n\tvar _p0 *byte\n\tif len(b) > 0 {\n\t\t_p0 = &b[0]\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMadvise)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), uintptr(advice), 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Mkdir(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkdir)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Mkdirat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkdirat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Mkfifo(path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkfifo)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Mkfifoat(dirfd int, path string, mode uint32) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkfifoat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Mknod(path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMknod)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMknodat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Mlock(b []byte) (err error) {\n\tvar _p0 *byte\n\tif len(b) > 0 {\n\t\t_p0 = &b[0]\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMlock)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Mlockall(flags int) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMlockall)), 1, uintptr(flags), 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Mprotect(b []byte, prot int) (err error) {\n\tvar _p0 *byte\n\tif len(b) > 0 {\n\t\t_p0 = &b[0]\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMprotect)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), uintptr(prot), 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Msync(b []byte, flags int) (err error) {\n\tvar _p0 *byte\n\tif len(b) > 0 {\n\t\t_p0 = &b[0]\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMsync)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), uintptr(flags), 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Munlock(b []byte) (err error) {\n\tvar _p0 *byte\n\tif len(b) > 0 {\n\t\t_p0 = &b[0]\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMunlock)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Munlockall() (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMunlockall)), 0, 0, 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Nanosleep(time *Timespec, leftover *Timespec) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procNanosleep)), 2, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Open(path string, mode int, perm uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procOpen)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procOpenat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Pathconf(path string, name int) (val int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPathconf)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0, 0, 0, 0)\n\tval = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Pause() (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPause)), 0, 0, 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Pread(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 *byte\n\tif len(p) > 0 {\n\t\t_p0 = &p[0]\n\t}\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPread)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Pwrite(fd int, p []byte, offset int64) (n int, err error) {\n\tvar _p0 *byte\n\tif len(p) > 0 {\n\t\t_p0 = &p[0]\n\t}\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPwrite)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(offset), 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc read(fd int, p []byte) (n int, err error) {\n\tvar _p0 *byte\n\tif len(p) > 0 {\n\t\t_p0 = &p[0]\n\t}\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procread)), 3, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), 0, 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Readlink(path string, buf []byte) (n int, err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\tif len(buf) > 0 {\n\t\t_p1 = &buf[0]\n\t}\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procReadlink)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(len(buf)), 0, 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Rename(from string, to string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(from)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(to)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procRename)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(oldpath)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(newpath)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procRenameat)), 4, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Rmdir(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procRmdir)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Seek(fd int, offset int64, whence int) (newoffset int64, err error) {\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proclseek)), 3, uintptr(fd), uintptr(offset), uintptr(whence), 0, 0, 0)\n\tnewoffset = int64(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSelect)), 5, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Setegid(egid int) (err error) {\n\t_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetegid)), 1, uintptr(egid), 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Seteuid(euid int) (err error) {\n\t_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSeteuid)), 1, uintptr(euid), 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Setgid(gid int) (err error) {\n\t_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetgid)), 1, uintptr(gid), 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Sethostname(p []byte) (err error) {\n\tvar _p0 *byte\n\tif len(p) > 0 {\n\t\t_p0 = &p[0]\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSethostname)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Setpgid(pid int, pgid int) (err error) {\n\t_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetpgid)), 2, uintptr(pid), uintptr(pgid), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Setpriority(which int, who int, prio int) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSetpriority)), 3, uintptr(which), uintptr(who), uintptr(prio), 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Setregid(rgid int, egid int) (err error) {\n\t_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetregid)), 2, uintptr(rgid), uintptr(egid), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Setreuid(ruid int, euid int) (err error) {\n\t_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetreuid)), 2, uintptr(ruid), uintptr(euid), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Setrlimit(which int, lim *Rlimit) (err error) {\n\t_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetrlimit)), 2, uintptr(which), uintptr(unsafe.Pointer(lim)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Setsid() (pid int, err error) {\n\tr0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetsid)), 0, 0, 0, 0, 0, 0, 0)\n\tpid = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Setuid(uid int) (err error) {\n\t_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetuid)), 1, uintptr(uid), 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Shutdown(s int, how int) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procshutdown)), 2, uintptr(s), uintptr(how), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Stat(path string, stat *Stat_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procStat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Statvfs(path string, vfsstat *Statvfs_t) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procStatvfs)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(vfsstat)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Symlink(path string, link string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\tvar _p1 *byte\n\t_p1, err = BytePtrFromString(link)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSymlink)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Sync() (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSync)), 0, 0, 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Times(tms *Tms) (ticks uintptr, err error) {\n\tr0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procTimes)), 1, uintptr(unsafe.Pointer(tms)), 0, 0, 0, 0, 0)\n\tticks = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Truncate(path string, length int64) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procTruncate)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Fsync(fd int) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFsync)), 1, uintptr(fd), 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Ftruncate(fd int, length int64) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFtruncate)), 2, uintptr(fd), uintptr(length), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Umask(mask int) (oldmask int) {\n\tr0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procUmask)), 1, uintptr(mask), 0, 0, 0, 0, 0)\n\toldmask = int(r0)\n\treturn\n}\n\nfunc Uname(buf *Utsname) (err error) {\n\t_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procUname)), 1, uintptr(unsafe.Pointer(buf)), 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Unmount(target string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(target)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procumount)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Unlink(path string) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUnlink)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Unlinkat(dirfd int, path string, flags int) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUnlinkat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Ustat(dev int, ubuf *Ustat_t) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUstat)), 2, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc Utime(path string, buf *Utimbuf) (err error) {\n\tvar _p0 *byte\n\t_p0, err = BytePtrFromString(path)\n\tif err != nil {\n\t\treturn\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUtime)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_bind)), 3, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_connect)), 3, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) {\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procmmap)), 6, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos))\n\tret = uintptr(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc munmap(addr uintptr, length uintptr) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procmunmap)), 2, uintptr(addr), uintptr(length), 0, 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procsendfile)), 4, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)\n\twritten = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) {\n\tvar _p0 *byte\n\tif len(buf) > 0 {\n\t\t_p0 = &buf[0]\n\t}\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_sendto)), 6, uintptr(s), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc socket(domain int, typ int, proto int) (fd int, err error) {\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_socket)), 3, uintptr(domain), uintptr(typ), uintptr(proto), 0, 0, 0)\n\tfd = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {\n\t_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&proc__xnet_socketpair)), 4, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc write(fd int, p []byte) (n int, err error) {\n\tvar _p0 *byte\n\tif len(p) > 0 {\n\t\t_p0 = &p[0]\n\t}\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwrite)), 3, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), 0, 0, 0)\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_getsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {\n\t_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procgetpeername)), 3, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) {\n\t_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procsetsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n\nfunc recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) {\n\tvar _p0 *byte\n\tif len(p) > 0 {\n\t\t_p0 = &p[0]\n\t}\n\tr0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procrecvfrom)), 6, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)))\n\tn = int(r0)\n\tif e1 != 0 {\n\t\terr = e1\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go",
    "content": "// mksysctl_openbsd.pl\n// Code generated by the command above; DO NOT EDIT.\n\npackage unix\n\ntype mibentry struct {\n\tctlname string\n\tctloid  []_C_int\n}\n\nvar sysctlMib = []mibentry{\n\t{\"ddb.console\", []_C_int{9, 6}},\n\t{\"ddb.log\", []_C_int{9, 7}},\n\t{\"ddb.max_line\", []_C_int{9, 3}},\n\t{\"ddb.max_width\", []_C_int{9, 2}},\n\t{\"ddb.panic\", []_C_int{9, 5}},\n\t{\"ddb.radix\", []_C_int{9, 1}},\n\t{\"ddb.tab_stop_width\", []_C_int{9, 4}},\n\t{\"ddb.trigger\", []_C_int{9, 8}},\n\t{\"fs.posix.setuid\", []_C_int{3, 1, 1}},\n\t{\"hw.allowpowerdown\", []_C_int{6, 22}},\n\t{\"hw.byteorder\", []_C_int{6, 4}},\n\t{\"hw.cpuspeed\", []_C_int{6, 12}},\n\t{\"hw.diskcount\", []_C_int{6, 10}},\n\t{\"hw.disknames\", []_C_int{6, 8}},\n\t{\"hw.diskstats\", []_C_int{6, 9}},\n\t{\"hw.machine\", []_C_int{6, 1}},\n\t{\"hw.model\", []_C_int{6, 2}},\n\t{\"hw.ncpu\", []_C_int{6, 3}},\n\t{\"hw.ncpufound\", []_C_int{6, 21}},\n\t{\"hw.pagesize\", []_C_int{6, 7}},\n\t{\"hw.physmem\", []_C_int{6, 19}},\n\t{\"hw.product\", []_C_int{6, 15}},\n\t{\"hw.serialno\", []_C_int{6, 17}},\n\t{\"hw.setperf\", []_C_int{6, 13}},\n\t{\"hw.usermem\", []_C_int{6, 20}},\n\t{\"hw.uuid\", []_C_int{6, 18}},\n\t{\"hw.vendor\", []_C_int{6, 14}},\n\t{\"hw.version\", []_C_int{6, 16}},\n\t{\"kern.arandom\", []_C_int{1, 37}},\n\t{\"kern.argmax\", []_C_int{1, 8}},\n\t{\"kern.boottime\", []_C_int{1, 21}},\n\t{\"kern.bufcachepercent\", []_C_int{1, 72}},\n\t{\"kern.ccpu\", []_C_int{1, 45}},\n\t{\"kern.clockrate\", []_C_int{1, 12}},\n\t{\"kern.consdev\", []_C_int{1, 75}},\n\t{\"kern.cp_time\", []_C_int{1, 40}},\n\t{\"kern.cp_time2\", []_C_int{1, 71}},\n\t{\"kern.cryptodevallowsoft\", []_C_int{1, 53}},\n\t{\"kern.domainname\", []_C_int{1, 22}},\n\t{\"kern.file\", []_C_int{1, 73}},\n\t{\"kern.forkstat\", []_C_int{1, 42}},\n\t{\"kern.fscale\", []_C_int{1, 46}},\n\t{\"kern.fsync\", []_C_int{1, 33}},\n\t{\"kern.hostid\", []_C_int{1, 11}},\n\t{\"kern.hostname\", []_C_int{1, 10}},\n\t{\"kern.intrcnt.nintrcnt\", []_C_int{1, 63, 1}},\n\t{\"kern.job_control\", []_C_int{1, 19}},\n\t{\"kern.malloc.buckets\", []_C_int{1, 39, 1}},\n\t{\"kern.malloc.kmemnames\", []_C_int{1, 39, 3}},\n\t{\"kern.maxclusters\", []_C_int{1, 67}},\n\t{\"kern.maxfiles\", []_C_int{1, 7}},\n\t{\"kern.maxlocksperuid\", []_C_int{1, 70}},\n\t{\"kern.maxpartitions\", []_C_int{1, 23}},\n\t{\"kern.maxproc\", []_C_int{1, 6}},\n\t{\"kern.maxthread\", []_C_int{1, 25}},\n\t{\"kern.maxvnodes\", []_C_int{1, 5}},\n\t{\"kern.mbstat\", []_C_int{1, 59}},\n\t{\"kern.msgbuf\", []_C_int{1, 48}},\n\t{\"kern.msgbufsize\", []_C_int{1, 38}},\n\t{\"kern.nchstats\", []_C_int{1, 41}},\n\t{\"kern.netlivelocks\", []_C_int{1, 76}},\n\t{\"kern.nfiles\", []_C_int{1, 56}},\n\t{\"kern.ngroups\", []_C_int{1, 18}},\n\t{\"kern.nosuidcoredump\", []_C_int{1, 32}},\n\t{\"kern.nprocs\", []_C_int{1, 47}},\n\t{\"kern.nselcoll\", []_C_int{1, 43}},\n\t{\"kern.nthreads\", []_C_int{1, 26}},\n\t{\"kern.numvnodes\", []_C_int{1, 58}},\n\t{\"kern.osrelease\", []_C_int{1, 2}},\n\t{\"kern.osrevision\", []_C_int{1, 3}},\n\t{\"kern.ostype\", []_C_int{1, 1}},\n\t{\"kern.osversion\", []_C_int{1, 27}},\n\t{\"kern.pool_debug\", []_C_int{1, 77}},\n\t{\"kern.posix1version\", []_C_int{1, 17}},\n\t{\"kern.proc\", []_C_int{1, 66}},\n\t{\"kern.random\", []_C_int{1, 31}},\n\t{\"kern.rawpartition\", []_C_int{1, 24}},\n\t{\"kern.saved_ids\", []_C_int{1, 20}},\n\t{\"kern.securelevel\", []_C_int{1, 9}},\n\t{\"kern.seminfo\", []_C_int{1, 61}},\n\t{\"kern.shminfo\", []_C_int{1, 62}},\n\t{\"kern.somaxconn\", []_C_int{1, 28}},\n\t{\"kern.sominconn\", []_C_int{1, 29}},\n\t{\"kern.splassert\", []_C_int{1, 54}},\n\t{\"kern.stackgap_random\", []_C_int{1, 50}},\n\t{\"kern.sysvipc_info\", []_C_int{1, 51}},\n\t{\"kern.sysvmsg\", []_C_int{1, 34}},\n\t{\"kern.sysvsem\", []_C_int{1, 35}},\n\t{\"kern.sysvshm\", []_C_int{1, 36}},\n\t{\"kern.timecounter.choice\", []_C_int{1, 69, 4}},\n\t{\"kern.timecounter.hardware\", []_C_int{1, 69, 3}},\n\t{\"kern.timecounter.tick\", []_C_int{1, 69, 1}},\n\t{\"kern.timecounter.timestepwarnings\", []_C_int{1, 69, 2}},\n\t{\"kern.tty.maxptys\", []_C_int{1, 44, 6}},\n\t{\"kern.tty.nptys\", []_C_int{1, 44, 7}},\n\t{\"kern.tty.tk_cancc\", []_C_int{1, 44, 4}},\n\t{\"kern.tty.tk_nin\", []_C_int{1, 44, 1}},\n\t{\"kern.tty.tk_nout\", []_C_int{1, 44, 2}},\n\t{\"kern.tty.tk_rawcc\", []_C_int{1, 44, 3}},\n\t{\"kern.tty.ttyinfo\", []_C_int{1, 44, 5}},\n\t{\"kern.ttycount\", []_C_int{1, 57}},\n\t{\"kern.userasymcrypto\", []_C_int{1, 60}},\n\t{\"kern.usercrypto\", []_C_int{1, 52}},\n\t{\"kern.usermount\", []_C_int{1, 30}},\n\t{\"kern.version\", []_C_int{1, 4}},\n\t{\"kern.vnode\", []_C_int{1, 13}},\n\t{\"kern.watchdog.auto\", []_C_int{1, 64, 2}},\n\t{\"kern.watchdog.period\", []_C_int{1, 64, 1}},\n\t{\"net.bpf.bufsize\", []_C_int{4, 31, 1}},\n\t{\"net.bpf.maxbufsize\", []_C_int{4, 31, 2}},\n\t{\"net.inet.ah.enable\", []_C_int{4, 2, 51, 1}},\n\t{\"net.inet.ah.stats\", []_C_int{4, 2, 51, 2}},\n\t{\"net.inet.carp.allow\", []_C_int{4, 2, 112, 1}},\n\t{\"net.inet.carp.log\", []_C_int{4, 2, 112, 3}},\n\t{\"net.inet.carp.preempt\", []_C_int{4, 2, 112, 2}},\n\t{\"net.inet.carp.stats\", []_C_int{4, 2, 112, 4}},\n\t{\"net.inet.divert.recvspace\", []_C_int{4, 2, 258, 1}},\n\t{\"net.inet.divert.sendspace\", []_C_int{4, 2, 258, 2}},\n\t{\"net.inet.divert.stats\", []_C_int{4, 2, 258, 3}},\n\t{\"net.inet.esp.enable\", []_C_int{4, 2, 50, 1}},\n\t{\"net.inet.esp.stats\", []_C_int{4, 2, 50, 4}},\n\t{\"net.inet.esp.udpencap\", []_C_int{4, 2, 50, 2}},\n\t{\"net.inet.esp.udpencap_port\", []_C_int{4, 2, 50, 3}},\n\t{\"net.inet.etherip.allow\", []_C_int{4, 2, 97, 1}},\n\t{\"net.inet.etherip.stats\", []_C_int{4, 2, 97, 2}},\n\t{\"net.inet.gre.allow\", []_C_int{4, 2, 47, 1}},\n\t{\"net.inet.gre.wccp\", []_C_int{4, 2, 47, 2}},\n\t{\"net.inet.icmp.bmcastecho\", []_C_int{4, 2, 1, 2}},\n\t{\"net.inet.icmp.errppslimit\", []_C_int{4, 2, 1, 3}},\n\t{\"net.inet.icmp.maskrepl\", []_C_int{4, 2, 1, 1}},\n\t{\"net.inet.icmp.rediraccept\", []_C_int{4, 2, 1, 4}},\n\t{\"net.inet.icmp.redirtimeout\", []_C_int{4, 2, 1, 5}},\n\t{\"net.inet.icmp.stats\", []_C_int{4, 2, 1, 7}},\n\t{\"net.inet.icmp.tstamprepl\", []_C_int{4, 2, 1, 6}},\n\t{\"net.inet.igmp.stats\", []_C_int{4, 2, 2, 1}},\n\t{\"net.inet.ip.arpqueued\", []_C_int{4, 2, 0, 36}},\n\t{\"net.inet.ip.encdebug\", []_C_int{4, 2, 0, 12}},\n\t{\"net.inet.ip.forwarding\", []_C_int{4, 2, 0, 1}},\n\t{\"net.inet.ip.ifq.congestion\", []_C_int{4, 2, 0, 30, 4}},\n\t{\"net.inet.ip.ifq.drops\", []_C_int{4, 2, 0, 30, 3}},\n\t{\"net.inet.ip.ifq.len\", []_C_int{4, 2, 0, 30, 1}},\n\t{\"net.inet.ip.ifq.maxlen\", []_C_int{4, 2, 0, 30, 2}},\n\t{\"net.inet.ip.maxqueue\", []_C_int{4, 2, 0, 11}},\n\t{\"net.inet.ip.mforwarding\", []_C_int{4, 2, 0, 31}},\n\t{\"net.inet.ip.mrtproto\", []_C_int{4, 2, 0, 34}},\n\t{\"net.inet.ip.mrtstats\", []_C_int{4, 2, 0, 35}},\n\t{\"net.inet.ip.mtu\", []_C_int{4, 2, 0, 4}},\n\t{\"net.inet.ip.mtudisc\", []_C_int{4, 2, 0, 27}},\n\t{\"net.inet.ip.mtudisctimeout\", []_C_int{4, 2, 0, 28}},\n\t{\"net.inet.ip.multipath\", []_C_int{4, 2, 0, 32}},\n\t{\"net.inet.ip.portfirst\", []_C_int{4, 2, 0, 7}},\n\t{\"net.inet.ip.porthifirst\", []_C_int{4, 2, 0, 9}},\n\t{\"net.inet.ip.porthilast\", []_C_int{4, 2, 0, 10}},\n\t{\"net.inet.ip.portlast\", []_C_int{4, 2, 0, 8}},\n\t{\"net.inet.ip.redirect\", []_C_int{4, 2, 0, 2}},\n\t{\"net.inet.ip.sourceroute\", []_C_int{4, 2, 0, 5}},\n\t{\"net.inet.ip.stats\", []_C_int{4, 2, 0, 33}},\n\t{\"net.inet.ip.ttl\", []_C_int{4, 2, 0, 3}},\n\t{\"net.inet.ipcomp.enable\", []_C_int{4, 2, 108, 1}},\n\t{\"net.inet.ipcomp.stats\", []_C_int{4, 2, 108, 2}},\n\t{\"net.inet.ipip.allow\", []_C_int{4, 2, 4, 1}},\n\t{\"net.inet.ipip.stats\", []_C_int{4, 2, 4, 2}},\n\t{\"net.inet.mobileip.allow\", []_C_int{4, 2, 55, 1}},\n\t{\"net.inet.pfsync.stats\", []_C_int{4, 2, 240, 1}},\n\t{\"net.inet.pim.stats\", []_C_int{4, 2, 103, 1}},\n\t{\"net.inet.tcp.ackonpush\", []_C_int{4, 2, 6, 13}},\n\t{\"net.inet.tcp.always_keepalive\", []_C_int{4, 2, 6, 22}},\n\t{\"net.inet.tcp.baddynamic\", []_C_int{4, 2, 6, 6}},\n\t{\"net.inet.tcp.drop\", []_C_int{4, 2, 6, 19}},\n\t{\"net.inet.tcp.ecn\", []_C_int{4, 2, 6, 14}},\n\t{\"net.inet.tcp.ident\", []_C_int{4, 2, 6, 9}},\n\t{\"net.inet.tcp.keepidle\", []_C_int{4, 2, 6, 3}},\n\t{\"net.inet.tcp.keepinittime\", []_C_int{4, 2, 6, 2}},\n\t{\"net.inet.tcp.keepintvl\", []_C_int{4, 2, 6, 4}},\n\t{\"net.inet.tcp.mssdflt\", []_C_int{4, 2, 6, 11}},\n\t{\"net.inet.tcp.reasslimit\", []_C_int{4, 2, 6, 18}},\n\t{\"net.inet.tcp.rfc1323\", []_C_int{4, 2, 6, 1}},\n\t{\"net.inet.tcp.rfc3390\", []_C_int{4, 2, 6, 17}},\n\t{\"net.inet.tcp.rstppslimit\", []_C_int{4, 2, 6, 12}},\n\t{\"net.inet.tcp.sack\", []_C_int{4, 2, 6, 10}},\n\t{\"net.inet.tcp.sackholelimit\", []_C_int{4, 2, 6, 20}},\n\t{\"net.inet.tcp.slowhz\", []_C_int{4, 2, 6, 5}},\n\t{\"net.inet.tcp.stats\", []_C_int{4, 2, 6, 21}},\n\t{\"net.inet.tcp.synbucketlimit\", []_C_int{4, 2, 6, 16}},\n\t{\"net.inet.tcp.syncachelimit\", []_C_int{4, 2, 6, 15}},\n\t{\"net.inet.udp.baddynamic\", []_C_int{4, 2, 17, 2}},\n\t{\"net.inet.udp.checksum\", []_C_int{4, 2, 17, 1}},\n\t{\"net.inet.udp.recvspace\", []_C_int{4, 2, 17, 3}},\n\t{\"net.inet.udp.sendspace\", []_C_int{4, 2, 17, 4}},\n\t{\"net.inet.udp.stats\", []_C_int{4, 2, 17, 5}},\n\t{\"net.inet6.divert.recvspace\", []_C_int{4, 24, 86, 1}},\n\t{\"net.inet6.divert.sendspace\", []_C_int{4, 24, 86, 2}},\n\t{\"net.inet6.divert.stats\", []_C_int{4, 24, 86, 3}},\n\t{\"net.inet6.icmp6.errppslimit\", []_C_int{4, 24, 30, 14}},\n\t{\"net.inet6.icmp6.mtudisc_hiwat\", []_C_int{4, 24, 30, 16}},\n\t{\"net.inet6.icmp6.mtudisc_lowat\", []_C_int{4, 24, 30, 17}},\n\t{\"net.inet6.icmp6.nd6_debug\", []_C_int{4, 24, 30, 18}},\n\t{\"net.inet6.icmp6.nd6_delay\", []_C_int{4, 24, 30, 8}},\n\t{\"net.inet6.icmp6.nd6_maxnudhint\", []_C_int{4, 24, 30, 15}},\n\t{\"net.inet6.icmp6.nd6_mmaxtries\", []_C_int{4, 24, 30, 10}},\n\t{\"net.inet6.icmp6.nd6_prune\", []_C_int{4, 24, 30, 6}},\n\t{\"net.inet6.icmp6.nd6_umaxtries\", []_C_int{4, 24, 30, 9}},\n\t{\"net.inet6.icmp6.nd6_useloopback\", []_C_int{4, 24, 30, 11}},\n\t{\"net.inet6.icmp6.nodeinfo\", []_C_int{4, 24, 30, 13}},\n\t{\"net.inet6.icmp6.rediraccept\", []_C_int{4, 24, 30, 2}},\n\t{\"net.inet6.icmp6.redirtimeout\", []_C_int{4, 24, 30, 3}},\n\t{\"net.inet6.ip6.accept_rtadv\", []_C_int{4, 24, 17, 12}},\n\t{\"net.inet6.ip6.auto_flowlabel\", []_C_int{4, 24, 17, 17}},\n\t{\"net.inet6.ip6.dad_count\", []_C_int{4, 24, 17, 16}},\n\t{\"net.inet6.ip6.dad_pending\", []_C_int{4, 24, 17, 49}},\n\t{\"net.inet6.ip6.defmcasthlim\", []_C_int{4, 24, 17, 18}},\n\t{\"net.inet6.ip6.forwarding\", []_C_int{4, 24, 17, 1}},\n\t{\"net.inet6.ip6.forwsrcrt\", []_C_int{4, 24, 17, 5}},\n\t{\"net.inet6.ip6.hdrnestlimit\", []_C_int{4, 24, 17, 15}},\n\t{\"net.inet6.ip6.hlim\", []_C_int{4, 24, 17, 3}},\n\t{\"net.inet6.ip6.log_interval\", []_C_int{4, 24, 17, 14}},\n\t{\"net.inet6.ip6.maxdynroutes\", []_C_int{4, 24, 17, 48}},\n\t{\"net.inet6.ip6.maxfragpackets\", []_C_int{4, 24, 17, 9}},\n\t{\"net.inet6.ip6.maxfrags\", []_C_int{4, 24, 17, 41}},\n\t{\"net.inet6.ip6.maxifdefrouters\", []_C_int{4, 24, 17, 47}},\n\t{\"net.inet6.ip6.maxifprefixes\", []_C_int{4, 24, 17, 46}},\n\t{\"net.inet6.ip6.mforwarding\", []_C_int{4, 24, 17, 42}},\n\t{\"net.inet6.ip6.mrtproto\", []_C_int{4, 24, 17, 8}},\n\t{\"net.inet6.ip6.mtudisctimeout\", []_C_int{4, 24, 17, 50}},\n\t{\"net.inet6.ip6.multicast_mtudisc\", []_C_int{4, 24, 17, 44}},\n\t{\"net.inet6.ip6.multipath\", []_C_int{4, 24, 17, 43}},\n\t{\"net.inet6.ip6.neighborgcthresh\", []_C_int{4, 24, 17, 45}},\n\t{\"net.inet6.ip6.redirect\", []_C_int{4, 24, 17, 2}},\n\t{\"net.inet6.ip6.rr_prune\", []_C_int{4, 24, 17, 22}},\n\t{\"net.inet6.ip6.sourcecheck\", []_C_int{4, 24, 17, 10}},\n\t{\"net.inet6.ip6.sourcecheck_logint\", []_C_int{4, 24, 17, 11}},\n\t{\"net.inet6.ip6.use_deprecated\", []_C_int{4, 24, 17, 21}},\n\t{\"net.inet6.ip6.v6only\", []_C_int{4, 24, 17, 24}},\n\t{\"net.key.sadb_dump\", []_C_int{4, 30, 1}},\n\t{\"net.key.spd_dump\", []_C_int{4, 30, 2}},\n\t{\"net.mpls.ifq.congestion\", []_C_int{4, 33, 3, 4}},\n\t{\"net.mpls.ifq.drops\", []_C_int{4, 33, 3, 3}},\n\t{\"net.mpls.ifq.len\", []_C_int{4, 33, 3, 1}},\n\t{\"net.mpls.ifq.maxlen\", []_C_int{4, 33, 3, 2}},\n\t{\"net.mpls.mapttl_ip\", []_C_int{4, 33, 5}},\n\t{\"net.mpls.mapttl_ip6\", []_C_int{4, 33, 6}},\n\t{\"net.mpls.maxloop_inkernel\", []_C_int{4, 33, 4}},\n\t{\"net.mpls.ttl\", []_C_int{4, 33, 2}},\n\t{\"net.pflow.stats\", []_C_int{4, 34, 1}},\n\t{\"net.pipex.enable\", []_C_int{4, 35, 1}},\n\t{\"vm.anonmin\", []_C_int{2, 7}},\n\t{\"vm.loadavg\", []_C_int{2, 2}},\n\t{\"vm.maxslp\", []_C_int{2, 10}},\n\t{\"vm.nkmempages\", []_C_int{2, 6}},\n\t{\"vm.psstrings\", []_C_int{2, 3}},\n\t{\"vm.swapencrypt.enable\", []_C_int{2, 5, 0}},\n\t{\"vm.swapencrypt.keyscreated\", []_C_int{2, 5, 1}},\n\t{\"vm.swapencrypt.keysdeleted\", []_C_int{2, 5, 2}},\n\t{\"vm.uspace\", []_C_int{2, 11}},\n\t{\"vm.uvmexp\", []_C_int{2, 4}},\n\t{\"vm.vmmeter\", []_C_int{2, 1}},\n\t{\"vm.vnodemin\", []_C_int{2, 9}},\n\t{\"vm.vtextmin\", []_C_int{2, 8}},\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go",
    "content": "// mksysctl_openbsd.pl\n// Code generated by the command above; DO NOT EDIT.\n\n// +build amd64,openbsd\n\npackage unix\n\ntype mibentry struct {\n\tctlname string\n\tctloid  []_C_int\n}\n\nvar sysctlMib = []mibentry{\n\t{\"ddb.console\", []_C_int{9, 6}},\n\t{\"ddb.log\", []_C_int{9, 7}},\n\t{\"ddb.max_line\", []_C_int{9, 3}},\n\t{\"ddb.max_width\", []_C_int{9, 2}},\n\t{\"ddb.panic\", []_C_int{9, 5}},\n\t{\"ddb.profile\", []_C_int{9, 9}},\n\t{\"ddb.radix\", []_C_int{9, 1}},\n\t{\"ddb.tab_stop_width\", []_C_int{9, 4}},\n\t{\"ddb.trigger\", []_C_int{9, 8}},\n\t{\"fs.posix.setuid\", []_C_int{3, 1, 1}},\n\t{\"hw.allowpowerdown\", []_C_int{6, 22}},\n\t{\"hw.byteorder\", []_C_int{6, 4}},\n\t{\"hw.cpuspeed\", []_C_int{6, 12}},\n\t{\"hw.diskcount\", []_C_int{6, 10}},\n\t{\"hw.disknames\", []_C_int{6, 8}},\n\t{\"hw.diskstats\", []_C_int{6, 9}},\n\t{\"hw.machine\", []_C_int{6, 1}},\n\t{\"hw.model\", []_C_int{6, 2}},\n\t{\"hw.ncpu\", []_C_int{6, 3}},\n\t{\"hw.ncpufound\", []_C_int{6, 21}},\n\t{\"hw.pagesize\", []_C_int{6, 7}},\n\t{\"hw.perfpolicy\", []_C_int{6, 23}},\n\t{\"hw.physmem\", []_C_int{6, 19}},\n\t{\"hw.product\", []_C_int{6, 15}},\n\t{\"hw.serialno\", []_C_int{6, 17}},\n\t{\"hw.setperf\", []_C_int{6, 13}},\n\t{\"hw.usermem\", []_C_int{6, 20}},\n\t{\"hw.uuid\", []_C_int{6, 18}},\n\t{\"hw.vendor\", []_C_int{6, 14}},\n\t{\"hw.version\", []_C_int{6, 16}},\n\t{\"kern.allowkmem\", []_C_int{1, 52}},\n\t{\"kern.argmax\", []_C_int{1, 8}},\n\t{\"kern.boottime\", []_C_int{1, 21}},\n\t{\"kern.bufcachepercent\", []_C_int{1, 72}},\n\t{\"kern.ccpu\", []_C_int{1, 45}},\n\t{\"kern.clockrate\", []_C_int{1, 12}},\n\t{\"kern.consdev\", []_C_int{1, 75}},\n\t{\"kern.cp_time\", []_C_int{1, 40}},\n\t{\"kern.cp_time2\", []_C_int{1, 71}},\n\t{\"kern.dnsjackport\", []_C_int{1, 13}},\n\t{\"kern.domainname\", []_C_int{1, 22}},\n\t{\"kern.file\", []_C_int{1, 73}},\n\t{\"kern.forkstat\", []_C_int{1, 42}},\n\t{\"kern.fscale\", []_C_int{1, 46}},\n\t{\"kern.fsync\", []_C_int{1, 33}},\n\t{\"kern.global_ptrace\", []_C_int{1, 81}},\n\t{\"kern.hostid\", []_C_int{1, 11}},\n\t{\"kern.hostname\", []_C_int{1, 10}},\n\t{\"kern.intrcnt.nintrcnt\", []_C_int{1, 63, 1}},\n\t{\"kern.job_control\", []_C_int{1, 19}},\n\t{\"kern.malloc.buckets\", []_C_int{1, 39, 1}},\n\t{\"kern.malloc.kmemnames\", []_C_int{1, 39, 3}},\n\t{\"kern.maxclusters\", []_C_int{1, 67}},\n\t{\"kern.maxfiles\", []_C_int{1, 7}},\n\t{\"kern.maxlocksperuid\", []_C_int{1, 70}},\n\t{\"kern.maxpartitions\", []_C_int{1, 23}},\n\t{\"kern.maxproc\", []_C_int{1, 6}},\n\t{\"kern.maxthread\", []_C_int{1, 25}},\n\t{\"kern.maxvnodes\", []_C_int{1, 5}},\n\t{\"kern.mbstat\", []_C_int{1, 59}},\n\t{\"kern.msgbuf\", []_C_int{1, 48}},\n\t{\"kern.msgbufsize\", []_C_int{1, 38}},\n\t{\"kern.nchstats\", []_C_int{1, 41}},\n\t{\"kern.netlivelocks\", []_C_int{1, 76}},\n\t{\"kern.nfiles\", []_C_int{1, 56}},\n\t{\"kern.ngroups\", []_C_int{1, 18}},\n\t{\"kern.nosuidcoredump\", []_C_int{1, 32}},\n\t{\"kern.nprocs\", []_C_int{1, 47}},\n\t{\"kern.nselcoll\", []_C_int{1, 43}},\n\t{\"kern.nthreads\", []_C_int{1, 26}},\n\t{\"kern.numvnodes\", []_C_int{1, 58}},\n\t{\"kern.osrelease\", []_C_int{1, 2}},\n\t{\"kern.osrevision\", []_C_int{1, 3}},\n\t{\"kern.ostype\", []_C_int{1, 1}},\n\t{\"kern.osversion\", []_C_int{1, 27}},\n\t{\"kern.pool_debug\", []_C_int{1, 77}},\n\t{\"kern.posix1version\", []_C_int{1, 17}},\n\t{\"kern.proc\", []_C_int{1, 66}},\n\t{\"kern.rawpartition\", []_C_int{1, 24}},\n\t{\"kern.saved_ids\", []_C_int{1, 20}},\n\t{\"kern.securelevel\", []_C_int{1, 9}},\n\t{\"kern.seminfo\", []_C_int{1, 61}},\n\t{\"kern.shminfo\", []_C_int{1, 62}},\n\t{\"kern.somaxconn\", []_C_int{1, 28}},\n\t{\"kern.sominconn\", []_C_int{1, 29}},\n\t{\"kern.splassert\", []_C_int{1, 54}},\n\t{\"kern.stackgap_random\", []_C_int{1, 50}},\n\t{\"kern.sysvipc_info\", []_C_int{1, 51}},\n\t{\"kern.sysvmsg\", []_C_int{1, 34}},\n\t{\"kern.sysvsem\", []_C_int{1, 35}},\n\t{\"kern.sysvshm\", []_C_int{1, 36}},\n\t{\"kern.timecounter.choice\", []_C_int{1, 69, 4}},\n\t{\"kern.timecounter.hardware\", []_C_int{1, 69, 3}},\n\t{\"kern.timecounter.tick\", []_C_int{1, 69, 1}},\n\t{\"kern.timecounter.timestepwarnings\", []_C_int{1, 69, 2}},\n\t{\"kern.tty.tk_cancc\", []_C_int{1, 44, 4}},\n\t{\"kern.tty.tk_nin\", []_C_int{1, 44, 1}},\n\t{\"kern.tty.tk_nout\", []_C_int{1, 44, 2}},\n\t{\"kern.tty.tk_rawcc\", []_C_int{1, 44, 3}},\n\t{\"kern.tty.ttyinfo\", []_C_int{1, 44, 5}},\n\t{\"kern.ttycount\", []_C_int{1, 57}},\n\t{\"kern.version\", []_C_int{1, 4}},\n\t{\"kern.watchdog.auto\", []_C_int{1, 64, 2}},\n\t{\"kern.watchdog.period\", []_C_int{1, 64, 1}},\n\t{\"kern.wxabort\", []_C_int{1, 74}},\n\t{\"net.bpf.bufsize\", []_C_int{4, 31, 1}},\n\t{\"net.bpf.maxbufsize\", []_C_int{4, 31, 2}},\n\t{\"net.inet.ah.enable\", []_C_int{4, 2, 51, 1}},\n\t{\"net.inet.ah.stats\", []_C_int{4, 2, 51, 2}},\n\t{\"net.inet.carp.allow\", []_C_int{4, 2, 112, 1}},\n\t{\"net.inet.carp.log\", []_C_int{4, 2, 112, 3}},\n\t{\"net.inet.carp.preempt\", []_C_int{4, 2, 112, 2}},\n\t{\"net.inet.carp.stats\", []_C_int{4, 2, 112, 4}},\n\t{\"net.inet.divert.recvspace\", []_C_int{4, 2, 258, 1}},\n\t{\"net.inet.divert.sendspace\", []_C_int{4, 2, 258, 2}},\n\t{\"net.inet.divert.stats\", []_C_int{4, 2, 258, 3}},\n\t{\"net.inet.esp.enable\", []_C_int{4, 2, 50, 1}},\n\t{\"net.inet.esp.stats\", []_C_int{4, 2, 50, 4}},\n\t{\"net.inet.esp.udpencap\", []_C_int{4, 2, 50, 2}},\n\t{\"net.inet.esp.udpencap_port\", []_C_int{4, 2, 50, 3}},\n\t{\"net.inet.etherip.allow\", []_C_int{4, 2, 97, 1}},\n\t{\"net.inet.etherip.stats\", []_C_int{4, 2, 97, 2}},\n\t{\"net.inet.gre.allow\", []_C_int{4, 2, 47, 1}},\n\t{\"net.inet.gre.wccp\", []_C_int{4, 2, 47, 2}},\n\t{\"net.inet.icmp.bmcastecho\", []_C_int{4, 2, 1, 2}},\n\t{\"net.inet.icmp.errppslimit\", []_C_int{4, 2, 1, 3}},\n\t{\"net.inet.icmp.maskrepl\", []_C_int{4, 2, 1, 1}},\n\t{\"net.inet.icmp.rediraccept\", []_C_int{4, 2, 1, 4}},\n\t{\"net.inet.icmp.redirtimeout\", []_C_int{4, 2, 1, 5}},\n\t{\"net.inet.icmp.stats\", []_C_int{4, 2, 1, 7}},\n\t{\"net.inet.icmp.tstamprepl\", []_C_int{4, 2, 1, 6}},\n\t{\"net.inet.igmp.stats\", []_C_int{4, 2, 2, 1}},\n\t{\"net.inet.ip.arpdown\", []_C_int{4, 2, 0, 40}},\n\t{\"net.inet.ip.arpqueued\", []_C_int{4, 2, 0, 36}},\n\t{\"net.inet.ip.arptimeout\", []_C_int{4, 2, 0, 39}},\n\t{\"net.inet.ip.encdebug\", []_C_int{4, 2, 0, 12}},\n\t{\"net.inet.ip.forwarding\", []_C_int{4, 2, 0, 1}},\n\t{\"net.inet.ip.ifq.congestion\", []_C_int{4, 2, 0, 30, 4}},\n\t{\"net.inet.ip.ifq.drops\", []_C_int{4, 2, 0, 30, 3}},\n\t{\"net.inet.ip.ifq.len\", []_C_int{4, 2, 0, 30, 1}},\n\t{\"net.inet.ip.ifq.maxlen\", []_C_int{4, 2, 0, 30, 2}},\n\t{\"net.inet.ip.maxqueue\", []_C_int{4, 2, 0, 11}},\n\t{\"net.inet.ip.mforwarding\", []_C_int{4, 2, 0, 31}},\n\t{\"net.inet.ip.mrtmfc\", []_C_int{4, 2, 0, 37}},\n\t{\"net.inet.ip.mrtproto\", []_C_int{4, 2, 0, 34}},\n\t{\"net.inet.ip.mrtstats\", []_C_int{4, 2, 0, 35}},\n\t{\"net.inet.ip.mrtvif\", []_C_int{4, 2, 0, 38}},\n\t{\"net.inet.ip.mtu\", []_C_int{4, 2, 0, 4}},\n\t{\"net.inet.ip.mtudisc\", []_C_int{4, 2, 0, 27}},\n\t{\"net.inet.ip.mtudisctimeout\", []_C_int{4, 2, 0, 28}},\n\t{\"net.inet.ip.multipath\", []_C_int{4, 2, 0, 32}},\n\t{\"net.inet.ip.portfirst\", []_C_int{4, 2, 0, 7}},\n\t{\"net.inet.ip.porthifirst\", []_C_int{4, 2, 0, 9}},\n\t{\"net.inet.ip.porthilast\", []_C_int{4, 2, 0, 10}},\n\t{\"net.inet.ip.portlast\", []_C_int{4, 2, 0, 8}},\n\t{\"net.inet.ip.redirect\", []_C_int{4, 2, 0, 2}},\n\t{\"net.inet.ip.sourceroute\", []_C_int{4, 2, 0, 5}},\n\t{\"net.inet.ip.stats\", []_C_int{4, 2, 0, 33}},\n\t{\"net.inet.ip.ttl\", []_C_int{4, 2, 0, 3}},\n\t{\"net.inet.ipcomp.enable\", []_C_int{4, 2, 108, 1}},\n\t{\"net.inet.ipcomp.stats\", []_C_int{4, 2, 108, 2}},\n\t{\"net.inet.ipip.allow\", []_C_int{4, 2, 4, 1}},\n\t{\"net.inet.ipip.stats\", []_C_int{4, 2, 4, 2}},\n\t{\"net.inet.mobileip.allow\", []_C_int{4, 2, 55, 1}},\n\t{\"net.inet.pfsync.stats\", []_C_int{4, 2, 240, 1}},\n\t{\"net.inet.tcp.ackonpush\", []_C_int{4, 2, 6, 13}},\n\t{\"net.inet.tcp.always_keepalive\", []_C_int{4, 2, 6, 22}},\n\t{\"net.inet.tcp.baddynamic\", []_C_int{4, 2, 6, 6}},\n\t{\"net.inet.tcp.drop\", []_C_int{4, 2, 6, 19}},\n\t{\"net.inet.tcp.ecn\", []_C_int{4, 2, 6, 14}},\n\t{\"net.inet.tcp.ident\", []_C_int{4, 2, 6, 9}},\n\t{\"net.inet.tcp.keepidle\", []_C_int{4, 2, 6, 3}},\n\t{\"net.inet.tcp.keepinittime\", []_C_int{4, 2, 6, 2}},\n\t{\"net.inet.tcp.keepintvl\", []_C_int{4, 2, 6, 4}},\n\t{\"net.inet.tcp.mssdflt\", []_C_int{4, 2, 6, 11}},\n\t{\"net.inet.tcp.reasslimit\", []_C_int{4, 2, 6, 18}},\n\t{\"net.inet.tcp.rfc1323\", []_C_int{4, 2, 6, 1}},\n\t{\"net.inet.tcp.rfc3390\", []_C_int{4, 2, 6, 17}},\n\t{\"net.inet.tcp.rootonly\", []_C_int{4, 2, 6, 24}},\n\t{\"net.inet.tcp.rstppslimit\", []_C_int{4, 2, 6, 12}},\n\t{\"net.inet.tcp.sack\", []_C_int{4, 2, 6, 10}},\n\t{\"net.inet.tcp.sackholelimit\", []_C_int{4, 2, 6, 20}},\n\t{\"net.inet.tcp.slowhz\", []_C_int{4, 2, 6, 5}},\n\t{\"net.inet.tcp.stats\", []_C_int{4, 2, 6, 21}},\n\t{\"net.inet.tcp.synbucketlimit\", []_C_int{4, 2, 6, 16}},\n\t{\"net.inet.tcp.syncachelimit\", []_C_int{4, 2, 6, 15}},\n\t{\"net.inet.tcp.synhashsize\", []_C_int{4, 2, 6, 25}},\n\t{\"net.inet.tcp.synuselimit\", []_C_int{4, 2, 6, 23}},\n\t{\"net.inet.udp.baddynamic\", []_C_int{4, 2, 17, 2}},\n\t{\"net.inet.udp.checksum\", []_C_int{4, 2, 17, 1}},\n\t{\"net.inet.udp.recvspace\", []_C_int{4, 2, 17, 3}},\n\t{\"net.inet.udp.rootonly\", []_C_int{4, 2, 17, 6}},\n\t{\"net.inet.udp.sendspace\", []_C_int{4, 2, 17, 4}},\n\t{\"net.inet.udp.stats\", []_C_int{4, 2, 17, 5}},\n\t{\"net.inet6.divert.recvspace\", []_C_int{4, 24, 86, 1}},\n\t{\"net.inet6.divert.sendspace\", []_C_int{4, 24, 86, 2}},\n\t{\"net.inet6.divert.stats\", []_C_int{4, 24, 86, 3}},\n\t{\"net.inet6.icmp6.errppslimit\", []_C_int{4, 24, 30, 14}},\n\t{\"net.inet6.icmp6.mtudisc_hiwat\", []_C_int{4, 24, 30, 16}},\n\t{\"net.inet6.icmp6.mtudisc_lowat\", []_C_int{4, 24, 30, 17}},\n\t{\"net.inet6.icmp6.nd6_debug\", []_C_int{4, 24, 30, 18}},\n\t{\"net.inet6.icmp6.nd6_delay\", []_C_int{4, 24, 30, 8}},\n\t{\"net.inet6.icmp6.nd6_maxnudhint\", []_C_int{4, 24, 30, 15}},\n\t{\"net.inet6.icmp6.nd6_mmaxtries\", []_C_int{4, 24, 30, 10}},\n\t{\"net.inet6.icmp6.nd6_umaxtries\", []_C_int{4, 24, 30, 9}},\n\t{\"net.inet6.icmp6.redirtimeout\", []_C_int{4, 24, 30, 3}},\n\t{\"net.inet6.ip6.auto_flowlabel\", []_C_int{4, 24, 17, 17}},\n\t{\"net.inet6.ip6.dad_count\", []_C_int{4, 24, 17, 16}},\n\t{\"net.inet6.ip6.dad_pending\", []_C_int{4, 24, 17, 49}},\n\t{\"net.inet6.ip6.defmcasthlim\", []_C_int{4, 24, 17, 18}},\n\t{\"net.inet6.ip6.forwarding\", []_C_int{4, 24, 17, 1}},\n\t{\"net.inet6.ip6.forwsrcrt\", []_C_int{4, 24, 17, 5}},\n\t{\"net.inet6.ip6.hdrnestlimit\", []_C_int{4, 24, 17, 15}},\n\t{\"net.inet6.ip6.hlim\", []_C_int{4, 24, 17, 3}},\n\t{\"net.inet6.ip6.log_interval\", []_C_int{4, 24, 17, 14}},\n\t{\"net.inet6.ip6.maxdynroutes\", []_C_int{4, 24, 17, 48}},\n\t{\"net.inet6.ip6.maxfragpackets\", []_C_int{4, 24, 17, 9}},\n\t{\"net.inet6.ip6.maxfrags\", []_C_int{4, 24, 17, 41}},\n\t{\"net.inet6.ip6.mforwarding\", []_C_int{4, 24, 17, 42}},\n\t{\"net.inet6.ip6.mrtmfc\", []_C_int{4, 24, 17, 53}},\n\t{\"net.inet6.ip6.mrtmif\", []_C_int{4, 24, 17, 52}},\n\t{\"net.inet6.ip6.mrtproto\", []_C_int{4, 24, 17, 8}},\n\t{\"net.inet6.ip6.mtudisctimeout\", []_C_int{4, 24, 17, 50}},\n\t{\"net.inet6.ip6.multicast_mtudisc\", []_C_int{4, 24, 17, 44}},\n\t{\"net.inet6.ip6.multipath\", []_C_int{4, 24, 17, 43}},\n\t{\"net.inet6.ip6.neighborgcthresh\", []_C_int{4, 24, 17, 45}},\n\t{\"net.inet6.ip6.redirect\", []_C_int{4, 24, 17, 2}},\n\t{\"net.inet6.ip6.soiikey\", []_C_int{4, 24, 17, 54}},\n\t{\"net.inet6.ip6.sourcecheck\", []_C_int{4, 24, 17, 10}},\n\t{\"net.inet6.ip6.sourcecheck_logint\", []_C_int{4, 24, 17, 11}},\n\t{\"net.inet6.ip6.use_deprecated\", []_C_int{4, 24, 17, 21}},\n\t{\"net.key.sadb_dump\", []_C_int{4, 30, 1}},\n\t{\"net.key.spd_dump\", []_C_int{4, 30, 2}},\n\t{\"net.mpls.ifq.congestion\", []_C_int{4, 33, 3, 4}},\n\t{\"net.mpls.ifq.drops\", []_C_int{4, 33, 3, 3}},\n\t{\"net.mpls.ifq.len\", []_C_int{4, 33, 3, 1}},\n\t{\"net.mpls.ifq.maxlen\", []_C_int{4, 33, 3, 2}},\n\t{\"net.mpls.mapttl_ip\", []_C_int{4, 33, 5}},\n\t{\"net.mpls.mapttl_ip6\", []_C_int{4, 33, 6}},\n\t{\"net.mpls.maxloop_inkernel\", []_C_int{4, 33, 4}},\n\t{\"net.mpls.ttl\", []_C_int{4, 33, 2}},\n\t{\"net.pflow.stats\", []_C_int{4, 34, 1}},\n\t{\"net.pipex.enable\", []_C_int{4, 35, 1}},\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go",
    "content": "// mksysctl_openbsd.pl\n// Code generated by the command above; DO NOT EDIT.\n\npackage unix\n\ntype mibentry struct {\n\tctlname string\n\tctloid  []_C_int\n}\n\nvar sysctlMib = []mibentry{\n\t{\"ddb.console\", []_C_int{9, 6}},\n\t{\"ddb.log\", []_C_int{9, 7}},\n\t{\"ddb.max_line\", []_C_int{9, 3}},\n\t{\"ddb.max_width\", []_C_int{9, 2}},\n\t{\"ddb.panic\", []_C_int{9, 5}},\n\t{\"ddb.radix\", []_C_int{9, 1}},\n\t{\"ddb.tab_stop_width\", []_C_int{9, 4}},\n\t{\"ddb.trigger\", []_C_int{9, 8}},\n\t{\"fs.posix.setuid\", []_C_int{3, 1, 1}},\n\t{\"hw.allowpowerdown\", []_C_int{6, 22}},\n\t{\"hw.byteorder\", []_C_int{6, 4}},\n\t{\"hw.cpuspeed\", []_C_int{6, 12}},\n\t{\"hw.diskcount\", []_C_int{6, 10}},\n\t{\"hw.disknames\", []_C_int{6, 8}},\n\t{\"hw.diskstats\", []_C_int{6, 9}},\n\t{\"hw.machine\", []_C_int{6, 1}},\n\t{\"hw.model\", []_C_int{6, 2}},\n\t{\"hw.ncpu\", []_C_int{6, 3}},\n\t{\"hw.ncpufound\", []_C_int{6, 21}},\n\t{\"hw.pagesize\", []_C_int{6, 7}},\n\t{\"hw.physmem\", []_C_int{6, 19}},\n\t{\"hw.product\", []_C_int{6, 15}},\n\t{\"hw.serialno\", []_C_int{6, 17}},\n\t{\"hw.setperf\", []_C_int{6, 13}},\n\t{\"hw.usermem\", []_C_int{6, 20}},\n\t{\"hw.uuid\", []_C_int{6, 18}},\n\t{\"hw.vendor\", []_C_int{6, 14}},\n\t{\"hw.version\", []_C_int{6, 16}},\n\t{\"kern.arandom\", []_C_int{1, 37}},\n\t{\"kern.argmax\", []_C_int{1, 8}},\n\t{\"kern.boottime\", []_C_int{1, 21}},\n\t{\"kern.bufcachepercent\", []_C_int{1, 72}},\n\t{\"kern.ccpu\", []_C_int{1, 45}},\n\t{\"kern.clockrate\", []_C_int{1, 12}},\n\t{\"kern.consdev\", []_C_int{1, 75}},\n\t{\"kern.cp_time\", []_C_int{1, 40}},\n\t{\"kern.cp_time2\", []_C_int{1, 71}},\n\t{\"kern.cryptodevallowsoft\", []_C_int{1, 53}},\n\t{\"kern.domainname\", []_C_int{1, 22}},\n\t{\"kern.file\", []_C_int{1, 73}},\n\t{\"kern.forkstat\", []_C_int{1, 42}},\n\t{\"kern.fscale\", []_C_int{1, 46}},\n\t{\"kern.fsync\", []_C_int{1, 33}},\n\t{\"kern.hostid\", []_C_int{1, 11}},\n\t{\"kern.hostname\", []_C_int{1, 10}},\n\t{\"kern.intrcnt.nintrcnt\", []_C_int{1, 63, 1}},\n\t{\"kern.job_control\", []_C_int{1, 19}},\n\t{\"kern.malloc.buckets\", []_C_int{1, 39, 1}},\n\t{\"kern.malloc.kmemnames\", []_C_int{1, 39, 3}},\n\t{\"kern.maxclusters\", []_C_int{1, 67}},\n\t{\"kern.maxfiles\", []_C_int{1, 7}},\n\t{\"kern.maxlocksperuid\", []_C_int{1, 70}},\n\t{\"kern.maxpartitions\", []_C_int{1, 23}},\n\t{\"kern.maxproc\", []_C_int{1, 6}},\n\t{\"kern.maxthread\", []_C_int{1, 25}},\n\t{\"kern.maxvnodes\", []_C_int{1, 5}},\n\t{\"kern.mbstat\", []_C_int{1, 59}},\n\t{\"kern.msgbuf\", []_C_int{1, 48}},\n\t{\"kern.msgbufsize\", []_C_int{1, 38}},\n\t{\"kern.nchstats\", []_C_int{1, 41}},\n\t{\"kern.netlivelocks\", []_C_int{1, 76}},\n\t{\"kern.nfiles\", []_C_int{1, 56}},\n\t{\"kern.ngroups\", []_C_int{1, 18}},\n\t{\"kern.nosuidcoredump\", []_C_int{1, 32}},\n\t{\"kern.nprocs\", []_C_int{1, 47}},\n\t{\"kern.nselcoll\", []_C_int{1, 43}},\n\t{\"kern.nthreads\", []_C_int{1, 26}},\n\t{\"kern.numvnodes\", []_C_int{1, 58}},\n\t{\"kern.osrelease\", []_C_int{1, 2}},\n\t{\"kern.osrevision\", []_C_int{1, 3}},\n\t{\"kern.ostype\", []_C_int{1, 1}},\n\t{\"kern.osversion\", []_C_int{1, 27}},\n\t{\"kern.pool_debug\", []_C_int{1, 77}},\n\t{\"kern.posix1version\", []_C_int{1, 17}},\n\t{\"kern.proc\", []_C_int{1, 66}},\n\t{\"kern.random\", []_C_int{1, 31}},\n\t{\"kern.rawpartition\", []_C_int{1, 24}},\n\t{\"kern.saved_ids\", []_C_int{1, 20}},\n\t{\"kern.securelevel\", []_C_int{1, 9}},\n\t{\"kern.seminfo\", []_C_int{1, 61}},\n\t{\"kern.shminfo\", []_C_int{1, 62}},\n\t{\"kern.somaxconn\", []_C_int{1, 28}},\n\t{\"kern.sominconn\", []_C_int{1, 29}},\n\t{\"kern.splassert\", []_C_int{1, 54}},\n\t{\"kern.stackgap_random\", []_C_int{1, 50}},\n\t{\"kern.sysvipc_info\", []_C_int{1, 51}},\n\t{\"kern.sysvmsg\", []_C_int{1, 34}},\n\t{\"kern.sysvsem\", []_C_int{1, 35}},\n\t{\"kern.sysvshm\", []_C_int{1, 36}},\n\t{\"kern.timecounter.choice\", []_C_int{1, 69, 4}},\n\t{\"kern.timecounter.hardware\", []_C_int{1, 69, 3}},\n\t{\"kern.timecounter.tick\", []_C_int{1, 69, 1}},\n\t{\"kern.timecounter.timestepwarnings\", []_C_int{1, 69, 2}},\n\t{\"kern.tty.maxptys\", []_C_int{1, 44, 6}},\n\t{\"kern.tty.nptys\", []_C_int{1, 44, 7}},\n\t{\"kern.tty.tk_cancc\", []_C_int{1, 44, 4}},\n\t{\"kern.tty.tk_nin\", []_C_int{1, 44, 1}},\n\t{\"kern.tty.tk_nout\", []_C_int{1, 44, 2}},\n\t{\"kern.tty.tk_rawcc\", []_C_int{1, 44, 3}},\n\t{\"kern.tty.ttyinfo\", []_C_int{1, 44, 5}},\n\t{\"kern.ttycount\", []_C_int{1, 57}},\n\t{\"kern.userasymcrypto\", []_C_int{1, 60}},\n\t{\"kern.usercrypto\", []_C_int{1, 52}},\n\t{\"kern.usermount\", []_C_int{1, 30}},\n\t{\"kern.version\", []_C_int{1, 4}},\n\t{\"kern.vnode\", []_C_int{1, 13}},\n\t{\"kern.watchdog.auto\", []_C_int{1, 64, 2}},\n\t{\"kern.watchdog.period\", []_C_int{1, 64, 1}},\n\t{\"net.bpf.bufsize\", []_C_int{4, 31, 1}},\n\t{\"net.bpf.maxbufsize\", []_C_int{4, 31, 2}},\n\t{\"net.inet.ah.enable\", []_C_int{4, 2, 51, 1}},\n\t{\"net.inet.ah.stats\", []_C_int{4, 2, 51, 2}},\n\t{\"net.inet.carp.allow\", []_C_int{4, 2, 112, 1}},\n\t{\"net.inet.carp.log\", []_C_int{4, 2, 112, 3}},\n\t{\"net.inet.carp.preempt\", []_C_int{4, 2, 112, 2}},\n\t{\"net.inet.carp.stats\", []_C_int{4, 2, 112, 4}},\n\t{\"net.inet.divert.recvspace\", []_C_int{4, 2, 258, 1}},\n\t{\"net.inet.divert.sendspace\", []_C_int{4, 2, 258, 2}},\n\t{\"net.inet.divert.stats\", []_C_int{4, 2, 258, 3}},\n\t{\"net.inet.esp.enable\", []_C_int{4, 2, 50, 1}},\n\t{\"net.inet.esp.stats\", []_C_int{4, 2, 50, 4}},\n\t{\"net.inet.esp.udpencap\", []_C_int{4, 2, 50, 2}},\n\t{\"net.inet.esp.udpencap_port\", []_C_int{4, 2, 50, 3}},\n\t{\"net.inet.etherip.allow\", []_C_int{4, 2, 97, 1}},\n\t{\"net.inet.etherip.stats\", []_C_int{4, 2, 97, 2}},\n\t{\"net.inet.gre.allow\", []_C_int{4, 2, 47, 1}},\n\t{\"net.inet.gre.wccp\", []_C_int{4, 2, 47, 2}},\n\t{\"net.inet.icmp.bmcastecho\", []_C_int{4, 2, 1, 2}},\n\t{\"net.inet.icmp.errppslimit\", []_C_int{4, 2, 1, 3}},\n\t{\"net.inet.icmp.maskrepl\", []_C_int{4, 2, 1, 1}},\n\t{\"net.inet.icmp.rediraccept\", []_C_int{4, 2, 1, 4}},\n\t{\"net.inet.icmp.redirtimeout\", []_C_int{4, 2, 1, 5}},\n\t{\"net.inet.icmp.stats\", []_C_int{4, 2, 1, 7}},\n\t{\"net.inet.icmp.tstamprepl\", []_C_int{4, 2, 1, 6}},\n\t{\"net.inet.igmp.stats\", []_C_int{4, 2, 2, 1}},\n\t{\"net.inet.ip.arpqueued\", []_C_int{4, 2, 0, 36}},\n\t{\"net.inet.ip.encdebug\", []_C_int{4, 2, 0, 12}},\n\t{\"net.inet.ip.forwarding\", []_C_int{4, 2, 0, 1}},\n\t{\"net.inet.ip.ifq.congestion\", []_C_int{4, 2, 0, 30, 4}},\n\t{\"net.inet.ip.ifq.drops\", []_C_int{4, 2, 0, 30, 3}},\n\t{\"net.inet.ip.ifq.len\", []_C_int{4, 2, 0, 30, 1}},\n\t{\"net.inet.ip.ifq.maxlen\", []_C_int{4, 2, 0, 30, 2}},\n\t{\"net.inet.ip.maxqueue\", []_C_int{4, 2, 0, 11}},\n\t{\"net.inet.ip.mforwarding\", []_C_int{4, 2, 0, 31}},\n\t{\"net.inet.ip.mrtproto\", []_C_int{4, 2, 0, 34}},\n\t{\"net.inet.ip.mrtstats\", []_C_int{4, 2, 0, 35}},\n\t{\"net.inet.ip.mtu\", []_C_int{4, 2, 0, 4}},\n\t{\"net.inet.ip.mtudisc\", []_C_int{4, 2, 0, 27}},\n\t{\"net.inet.ip.mtudisctimeout\", []_C_int{4, 2, 0, 28}},\n\t{\"net.inet.ip.multipath\", []_C_int{4, 2, 0, 32}},\n\t{\"net.inet.ip.portfirst\", []_C_int{4, 2, 0, 7}},\n\t{\"net.inet.ip.porthifirst\", []_C_int{4, 2, 0, 9}},\n\t{\"net.inet.ip.porthilast\", []_C_int{4, 2, 0, 10}},\n\t{\"net.inet.ip.portlast\", []_C_int{4, 2, 0, 8}},\n\t{\"net.inet.ip.redirect\", []_C_int{4, 2, 0, 2}},\n\t{\"net.inet.ip.sourceroute\", []_C_int{4, 2, 0, 5}},\n\t{\"net.inet.ip.stats\", []_C_int{4, 2, 0, 33}},\n\t{\"net.inet.ip.ttl\", []_C_int{4, 2, 0, 3}},\n\t{\"net.inet.ipcomp.enable\", []_C_int{4, 2, 108, 1}},\n\t{\"net.inet.ipcomp.stats\", []_C_int{4, 2, 108, 2}},\n\t{\"net.inet.ipip.allow\", []_C_int{4, 2, 4, 1}},\n\t{\"net.inet.ipip.stats\", []_C_int{4, 2, 4, 2}},\n\t{\"net.inet.mobileip.allow\", []_C_int{4, 2, 55, 1}},\n\t{\"net.inet.pfsync.stats\", []_C_int{4, 2, 240, 1}},\n\t{\"net.inet.pim.stats\", []_C_int{4, 2, 103, 1}},\n\t{\"net.inet.tcp.ackonpush\", []_C_int{4, 2, 6, 13}},\n\t{\"net.inet.tcp.always_keepalive\", []_C_int{4, 2, 6, 22}},\n\t{\"net.inet.tcp.baddynamic\", []_C_int{4, 2, 6, 6}},\n\t{\"net.inet.tcp.drop\", []_C_int{4, 2, 6, 19}},\n\t{\"net.inet.tcp.ecn\", []_C_int{4, 2, 6, 14}},\n\t{\"net.inet.tcp.ident\", []_C_int{4, 2, 6, 9}},\n\t{\"net.inet.tcp.keepidle\", []_C_int{4, 2, 6, 3}},\n\t{\"net.inet.tcp.keepinittime\", []_C_int{4, 2, 6, 2}},\n\t{\"net.inet.tcp.keepintvl\", []_C_int{4, 2, 6, 4}},\n\t{\"net.inet.tcp.mssdflt\", []_C_int{4, 2, 6, 11}},\n\t{\"net.inet.tcp.reasslimit\", []_C_int{4, 2, 6, 18}},\n\t{\"net.inet.tcp.rfc1323\", []_C_int{4, 2, 6, 1}},\n\t{\"net.inet.tcp.rfc3390\", []_C_int{4, 2, 6, 17}},\n\t{\"net.inet.tcp.rstppslimit\", []_C_int{4, 2, 6, 12}},\n\t{\"net.inet.tcp.sack\", []_C_int{4, 2, 6, 10}},\n\t{\"net.inet.tcp.sackholelimit\", []_C_int{4, 2, 6, 20}},\n\t{\"net.inet.tcp.slowhz\", []_C_int{4, 2, 6, 5}},\n\t{\"net.inet.tcp.stats\", []_C_int{4, 2, 6, 21}},\n\t{\"net.inet.tcp.synbucketlimit\", []_C_int{4, 2, 6, 16}},\n\t{\"net.inet.tcp.syncachelimit\", []_C_int{4, 2, 6, 15}},\n\t{\"net.inet.udp.baddynamic\", []_C_int{4, 2, 17, 2}},\n\t{\"net.inet.udp.checksum\", []_C_int{4, 2, 17, 1}},\n\t{\"net.inet.udp.recvspace\", []_C_int{4, 2, 17, 3}},\n\t{\"net.inet.udp.sendspace\", []_C_int{4, 2, 17, 4}},\n\t{\"net.inet.udp.stats\", []_C_int{4, 2, 17, 5}},\n\t{\"net.inet6.divert.recvspace\", []_C_int{4, 24, 86, 1}},\n\t{\"net.inet6.divert.sendspace\", []_C_int{4, 24, 86, 2}},\n\t{\"net.inet6.divert.stats\", []_C_int{4, 24, 86, 3}},\n\t{\"net.inet6.icmp6.errppslimit\", []_C_int{4, 24, 30, 14}},\n\t{\"net.inet6.icmp6.mtudisc_hiwat\", []_C_int{4, 24, 30, 16}},\n\t{\"net.inet6.icmp6.mtudisc_lowat\", []_C_int{4, 24, 30, 17}},\n\t{\"net.inet6.icmp6.nd6_debug\", []_C_int{4, 24, 30, 18}},\n\t{\"net.inet6.icmp6.nd6_delay\", []_C_int{4, 24, 30, 8}},\n\t{\"net.inet6.icmp6.nd6_maxnudhint\", []_C_int{4, 24, 30, 15}},\n\t{\"net.inet6.icmp6.nd6_mmaxtries\", []_C_int{4, 24, 30, 10}},\n\t{\"net.inet6.icmp6.nd6_prune\", []_C_int{4, 24, 30, 6}},\n\t{\"net.inet6.icmp6.nd6_umaxtries\", []_C_int{4, 24, 30, 9}},\n\t{\"net.inet6.icmp6.nd6_useloopback\", []_C_int{4, 24, 30, 11}},\n\t{\"net.inet6.icmp6.nodeinfo\", []_C_int{4, 24, 30, 13}},\n\t{\"net.inet6.icmp6.rediraccept\", []_C_int{4, 24, 30, 2}},\n\t{\"net.inet6.icmp6.redirtimeout\", []_C_int{4, 24, 30, 3}},\n\t{\"net.inet6.ip6.accept_rtadv\", []_C_int{4, 24, 17, 12}},\n\t{\"net.inet6.ip6.auto_flowlabel\", []_C_int{4, 24, 17, 17}},\n\t{\"net.inet6.ip6.dad_count\", []_C_int{4, 24, 17, 16}},\n\t{\"net.inet6.ip6.dad_pending\", []_C_int{4, 24, 17, 49}},\n\t{\"net.inet6.ip6.defmcasthlim\", []_C_int{4, 24, 17, 18}},\n\t{\"net.inet6.ip6.forwarding\", []_C_int{4, 24, 17, 1}},\n\t{\"net.inet6.ip6.forwsrcrt\", []_C_int{4, 24, 17, 5}},\n\t{\"net.inet6.ip6.hdrnestlimit\", []_C_int{4, 24, 17, 15}},\n\t{\"net.inet6.ip6.hlim\", []_C_int{4, 24, 17, 3}},\n\t{\"net.inet6.ip6.log_interval\", []_C_int{4, 24, 17, 14}},\n\t{\"net.inet6.ip6.maxdynroutes\", []_C_int{4, 24, 17, 48}},\n\t{\"net.inet6.ip6.maxfragpackets\", []_C_int{4, 24, 17, 9}},\n\t{\"net.inet6.ip6.maxfrags\", []_C_int{4, 24, 17, 41}},\n\t{\"net.inet6.ip6.maxifdefrouters\", []_C_int{4, 24, 17, 47}},\n\t{\"net.inet6.ip6.maxifprefixes\", []_C_int{4, 24, 17, 46}},\n\t{\"net.inet6.ip6.mforwarding\", []_C_int{4, 24, 17, 42}},\n\t{\"net.inet6.ip6.mrtproto\", []_C_int{4, 24, 17, 8}},\n\t{\"net.inet6.ip6.mtudisctimeout\", []_C_int{4, 24, 17, 50}},\n\t{\"net.inet6.ip6.multicast_mtudisc\", []_C_int{4, 24, 17, 44}},\n\t{\"net.inet6.ip6.multipath\", []_C_int{4, 24, 17, 43}},\n\t{\"net.inet6.ip6.neighborgcthresh\", []_C_int{4, 24, 17, 45}},\n\t{\"net.inet6.ip6.redirect\", []_C_int{4, 24, 17, 2}},\n\t{\"net.inet6.ip6.rr_prune\", []_C_int{4, 24, 17, 22}},\n\t{\"net.inet6.ip6.sourcecheck\", []_C_int{4, 24, 17, 10}},\n\t{\"net.inet6.ip6.sourcecheck_logint\", []_C_int{4, 24, 17, 11}},\n\t{\"net.inet6.ip6.use_deprecated\", []_C_int{4, 24, 17, 21}},\n\t{\"net.inet6.ip6.v6only\", []_C_int{4, 24, 17, 24}},\n\t{\"net.key.sadb_dump\", []_C_int{4, 30, 1}},\n\t{\"net.key.spd_dump\", []_C_int{4, 30, 2}},\n\t{\"net.mpls.ifq.congestion\", []_C_int{4, 33, 3, 4}},\n\t{\"net.mpls.ifq.drops\", []_C_int{4, 33, 3, 3}},\n\t{\"net.mpls.ifq.len\", []_C_int{4, 33, 3, 1}},\n\t{\"net.mpls.ifq.maxlen\", []_C_int{4, 33, 3, 2}},\n\t{\"net.mpls.mapttl_ip\", []_C_int{4, 33, 5}},\n\t{\"net.mpls.mapttl_ip6\", []_C_int{4, 33, 6}},\n\t{\"net.mpls.maxloop_inkernel\", []_C_int{4, 33, 4}},\n\t{\"net.mpls.ttl\", []_C_int{4, 33, 2}},\n\t{\"net.pflow.stats\", []_C_int{4, 34, 1}},\n\t{\"net.pipex.enable\", []_C_int{4, 35, 1}},\n\t{\"vm.anonmin\", []_C_int{2, 7}},\n\t{\"vm.loadavg\", []_C_int{2, 2}},\n\t{\"vm.maxslp\", []_C_int{2, 10}},\n\t{\"vm.nkmempages\", []_C_int{2, 6}},\n\t{\"vm.psstrings\", []_C_int{2, 3}},\n\t{\"vm.swapencrypt.enable\", []_C_int{2, 5, 0}},\n\t{\"vm.swapencrypt.keyscreated\", []_C_int{2, 5, 1}},\n\t{\"vm.swapencrypt.keysdeleted\", []_C_int{2, 5, 2}},\n\t{\"vm.uspace\", []_C_int{2, 11}},\n\t{\"vm.uvmexp\", []_C_int{2, 4}},\n\t{\"vm.vmmeter\", []_C_int{2, 1}},\n\t{\"vm.vnodemin\", []_C_int{2, 9}},\n\t{\"vm.vtextmin\", []_C_int{2, 8}},\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go",
    "content": "// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/sys/syscall.h\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build 386,darwin\n\npackage unix\n\nconst (\n\tSYS_SYSCALL                        = 0\n\tSYS_EXIT                           = 1\n\tSYS_FORK                           = 2\n\tSYS_READ                           = 3\n\tSYS_WRITE                          = 4\n\tSYS_OPEN                           = 5\n\tSYS_CLOSE                          = 6\n\tSYS_WAIT4                          = 7\n\tSYS_LINK                           = 9\n\tSYS_UNLINK                         = 10\n\tSYS_CHDIR                          = 12\n\tSYS_FCHDIR                         = 13\n\tSYS_MKNOD                          = 14\n\tSYS_CHMOD                          = 15\n\tSYS_CHOWN                          = 16\n\tSYS_GETFSSTAT                      = 18\n\tSYS_GETPID                         = 20\n\tSYS_SETUID                         = 23\n\tSYS_GETUID                         = 24\n\tSYS_GETEUID                        = 25\n\tSYS_PTRACE                         = 26\n\tSYS_RECVMSG                        = 27\n\tSYS_SENDMSG                        = 28\n\tSYS_RECVFROM                       = 29\n\tSYS_ACCEPT                         = 30\n\tSYS_GETPEERNAME                    = 31\n\tSYS_GETSOCKNAME                    = 32\n\tSYS_ACCESS                         = 33\n\tSYS_CHFLAGS                        = 34\n\tSYS_FCHFLAGS                       = 35\n\tSYS_SYNC                           = 36\n\tSYS_KILL                           = 37\n\tSYS_GETPPID                        = 39\n\tSYS_DUP                            = 41\n\tSYS_PIPE                           = 42\n\tSYS_GETEGID                        = 43\n\tSYS_SIGACTION                      = 46\n\tSYS_GETGID                         = 47\n\tSYS_SIGPROCMASK                    = 48\n\tSYS_GETLOGIN                       = 49\n\tSYS_SETLOGIN                       = 50\n\tSYS_ACCT                           = 51\n\tSYS_SIGPENDING                     = 52\n\tSYS_SIGALTSTACK                    = 53\n\tSYS_IOCTL                          = 54\n\tSYS_REBOOT                         = 55\n\tSYS_REVOKE                         = 56\n\tSYS_SYMLINK                        = 57\n\tSYS_READLINK                       = 58\n\tSYS_EXECVE                         = 59\n\tSYS_UMASK                          = 60\n\tSYS_CHROOT                         = 61\n\tSYS_MSYNC                          = 65\n\tSYS_VFORK                          = 66\n\tSYS_MUNMAP                         = 73\n\tSYS_MPROTECT                       = 74\n\tSYS_MADVISE                        = 75\n\tSYS_MINCORE                        = 78\n\tSYS_GETGROUPS                      = 79\n\tSYS_SETGROUPS                      = 80\n\tSYS_GETPGRP                        = 81\n\tSYS_SETPGID                        = 82\n\tSYS_SETITIMER                      = 83\n\tSYS_SWAPON                         = 85\n\tSYS_GETITIMER                      = 86\n\tSYS_GETDTABLESIZE                  = 89\n\tSYS_DUP2                           = 90\n\tSYS_FCNTL                          = 92\n\tSYS_SELECT                         = 93\n\tSYS_FSYNC                          = 95\n\tSYS_SETPRIORITY                    = 96\n\tSYS_SOCKET                         = 97\n\tSYS_CONNECT                        = 98\n\tSYS_GETPRIORITY                    = 100\n\tSYS_BIND                           = 104\n\tSYS_SETSOCKOPT                     = 105\n\tSYS_LISTEN                         = 106\n\tSYS_SIGSUSPEND                     = 111\n\tSYS_GETTIMEOFDAY                   = 116\n\tSYS_GETRUSAGE                      = 117\n\tSYS_GETSOCKOPT                     = 118\n\tSYS_READV                          = 120\n\tSYS_WRITEV                         = 121\n\tSYS_SETTIMEOFDAY                   = 122\n\tSYS_FCHOWN                         = 123\n\tSYS_FCHMOD                         = 124\n\tSYS_SETREUID                       = 126\n\tSYS_SETREGID                       = 127\n\tSYS_RENAME                         = 128\n\tSYS_FLOCK                          = 131\n\tSYS_MKFIFO                         = 132\n\tSYS_SENDTO                         = 133\n\tSYS_SHUTDOWN                       = 134\n\tSYS_SOCKETPAIR                     = 135\n\tSYS_MKDIR                          = 136\n\tSYS_RMDIR                          = 137\n\tSYS_UTIMES                         = 138\n\tSYS_FUTIMES                        = 139\n\tSYS_ADJTIME                        = 140\n\tSYS_GETHOSTUUID                    = 142\n\tSYS_SETSID                         = 147\n\tSYS_GETPGID                        = 151\n\tSYS_SETPRIVEXEC                    = 152\n\tSYS_PREAD                          = 153\n\tSYS_PWRITE                         = 154\n\tSYS_NFSSVC                         = 155\n\tSYS_STATFS                         = 157\n\tSYS_FSTATFS                        = 158\n\tSYS_UNMOUNT                        = 159\n\tSYS_GETFH                          = 161\n\tSYS_QUOTACTL                       = 165\n\tSYS_MOUNT                          = 167\n\tSYS_CSOPS                          = 169\n\tSYS_CSOPS_AUDITTOKEN               = 170\n\tSYS_WAITID                         = 173\n\tSYS_KDEBUG_TYPEFILTER              = 177\n\tSYS_KDEBUG_TRACE_STRING            = 178\n\tSYS_KDEBUG_TRACE64                 = 179\n\tSYS_KDEBUG_TRACE                   = 180\n\tSYS_SETGID                         = 181\n\tSYS_SETEGID                        = 182\n\tSYS_SETEUID                        = 183\n\tSYS_SIGRETURN                      = 184\n\tSYS_THREAD_SELFCOUNTS              = 186\n\tSYS_FDATASYNC                      = 187\n\tSYS_STAT                           = 188\n\tSYS_FSTAT                          = 189\n\tSYS_LSTAT                          = 190\n\tSYS_PATHCONF                       = 191\n\tSYS_FPATHCONF                      = 192\n\tSYS_GETRLIMIT                      = 194\n\tSYS_SETRLIMIT                      = 195\n\tSYS_GETDIRENTRIES                  = 196\n\tSYS_MMAP                           = 197\n\tSYS_LSEEK                          = 199\n\tSYS_TRUNCATE                       = 200\n\tSYS_FTRUNCATE                      = 201\n\tSYS_SYSCTL                         = 202\n\tSYS_MLOCK                          = 203\n\tSYS_MUNLOCK                        = 204\n\tSYS_UNDELETE                       = 205\n\tSYS_OPEN_DPROTECTED_NP             = 216\n\tSYS_GETATTRLIST                    = 220\n\tSYS_SETATTRLIST                    = 221\n\tSYS_GETDIRENTRIESATTR              = 222\n\tSYS_EXCHANGEDATA                   = 223\n\tSYS_SEARCHFS                       = 225\n\tSYS_DELETE                         = 226\n\tSYS_COPYFILE                       = 227\n\tSYS_FGETATTRLIST                   = 228\n\tSYS_FSETATTRLIST                   = 229\n\tSYS_POLL                           = 230\n\tSYS_WATCHEVENT                     = 231\n\tSYS_WAITEVENT                      = 232\n\tSYS_MODWATCH                       = 233\n\tSYS_GETXATTR                       = 234\n\tSYS_FGETXATTR                      = 235\n\tSYS_SETXATTR                       = 236\n\tSYS_FSETXATTR                      = 237\n\tSYS_REMOVEXATTR                    = 238\n\tSYS_FREMOVEXATTR                   = 239\n\tSYS_LISTXATTR                      = 240\n\tSYS_FLISTXATTR                     = 241\n\tSYS_FSCTL                          = 242\n\tSYS_INITGROUPS                     = 243\n\tSYS_POSIX_SPAWN                    = 244\n\tSYS_FFSCTL                         = 245\n\tSYS_NFSCLNT                        = 247\n\tSYS_FHOPEN                         = 248\n\tSYS_MINHERIT                       = 250\n\tSYS_SEMSYS                         = 251\n\tSYS_MSGSYS                         = 252\n\tSYS_SHMSYS                         = 253\n\tSYS_SEMCTL                         = 254\n\tSYS_SEMGET                         = 255\n\tSYS_SEMOP                          = 256\n\tSYS_MSGCTL                         = 258\n\tSYS_MSGGET                         = 259\n\tSYS_MSGSND                         = 260\n\tSYS_MSGRCV                         = 261\n\tSYS_SHMAT                          = 262\n\tSYS_SHMCTL                         = 263\n\tSYS_SHMDT                          = 264\n\tSYS_SHMGET                         = 265\n\tSYS_SHM_OPEN                       = 266\n\tSYS_SHM_UNLINK                     = 267\n\tSYS_SEM_OPEN                       = 268\n\tSYS_SEM_CLOSE                      = 269\n\tSYS_SEM_UNLINK                     = 270\n\tSYS_SEM_WAIT                       = 271\n\tSYS_SEM_TRYWAIT                    = 272\n\tSYS_SEM_POST                       = 273\n\tSYS_SYSCTLBYNAME                   = 274\n\tSYS_OPEN_EXTENDED                  = 277\n\tSYS_UMASK_EXTENDED                 = 278\n\tSYS_STAT_EXTENDED                  = 279\n\tSYS_LSTAT_EXTENDED                 = 280\n\tSYS_FSTAT_EXTENDED                 = 281\n\tSYS_CHMOD_EXTENDED                 = 282\n\tSYS_FCHMOD_EXTENDED                = 283\n\tSYS_ACCESS_EXTENDED                = 284\n\tSYS_SETTID                         = 285\n\tSYS_GETTID                         = 286\n\tSYS_SETSGROUPS                     = 287\n\tSYS_GETSGROUPS                     = 288\n\tSYS_SETWGROUPS                     = 289\n\tSYS_GETWGROUPS                     = 290\n\tSYS_MKFIFO_EXTENDED                = 291\n\tSYS_MKDIR_EXTENDED                 = 292\n\tSYS_IDENTITYSVC                    = 293\n\tSYS_SHARED_REGION_CHECK_NP         = 294\n\tSYS_VM_PRESSURE_MONITOR            = 296\n\tSYS_PSYNCH_RW_LONGRDLOCK           = 297\n\tSYS_PSYNCH_RW_YIELDWRLOCK          = 298\n\tSYS_PSYNCH_RW_DOWNGRADE            = 299\n\tSYS_PSYNCH_RW_UPGRADE              = 300\n\tSYS_PSYNCH_MUTEXWAIT               = 301\n\tSYS_PSYNCH_MUTEXDROP               = 302\n\tSYS_PSYNCH_CVBROAD                 = 303\n\tSYS_PSYNCH_CVSIGNAL                = 304\n\tSYS_PSYNCH_CVWAIT                  = 305\n\tSYS_PSYNCH_RW_RDLOCK               = 306\n\tSYS_PSYNCH_RW_WRLOCK               = 307\n\tSYS_PSYNCH_RW_UNLOCK               = 308\n\tSYS_PSYNCH_RW_UNLOCK2              = 309\n\tSYS_GETSID                         = 310\n\tSYS_SETTID_WITH_PID                = 311\n\tSYS_PSYNCH_CVCLRPREPOST            = 312\n\tSYS_AIO_FSYNC                      = 313\n\tSYS_AIO_RETURN                     = 314\n\tSYS_AIO_SUSPEND                    = 315\n\tSYS_AIO_CANCEL                     = 316\n\tSYS_AIO_ERROR                      = 317\n\tSYS_AIO_READ                       = 318\n\tSYS_AIO_WRITE                      = 319\n\tSYS_LIO_LISTIO                     = 320\n\tSYS_IOPOLICYSYS                    = 322\n\tSYS_PROCESS_POLICY                 = 323\n\tSYS_MLOCKALL                       = 324\n\tSYS_MUNLOCKALL                     = 325\n\tSYS_ISSETUGID                      = 327\n\tSYS___PTHREAD_KILL                 = 328\n\tSYS___PTHREAD_SIGMASK              = 329\n\tSYS___SIGWAIT                      = 330\n\tSYS___DISABLE_THREADSIGNAL         = 331\n\tSYS___PTHREAD_MARKCANCEL           = 332\n\tSYS___PTHREAD_CANCELED             = 333\n\tSYS___SEMWAIT_SIGNAL               = 334\n\tSYS_PROC_INFO                      = 336\n\tSYS_SENDFILE                       = 337\n\tSYS_STAT64                         = 338\n\tSYS_FSTAT64                        = 339\n\tSYS_LSTAT64                        = 340\n\tSYS_STAT64_EXTENDED                = 341\n\tSYS_LSTAT64_EXTENDED               = 342\n\tSYS_FSTAT64_EXTENDED               = 343\n\tSYS_GETDIRENTRIES64                = 344\n\tSYS_STATFS64                       = 345\n\tSYS_FSTATFS64                      = 346\n\tSYS_GETFSSTAT64                    = 347\n\tSYS___PTHREAD_CHDIR                = 348\n\tSYS___PTHREAD_FCHDIR               = 349\n\tSYS_AUDIT                          = 350\n\tSYS_AUDITON                        = 351\n\tSYS_GETAUID                        = 353\n\tSYS_SETAUID                        = 354\n\tSYS_GETAUDIT_ADDR                  = 357\n\tSYS_SETAUDIT_ADDR                  = 358\n\tSYS_AUDITCTL                       = 359\n\tSYS_BSDTHREAD_CREATE               = 360\n\tSYS_BSDTHREAD_TERMINATE            = 361\n\tSYS_KQUEUE                         = 362\n\tSYS_KEVENT                         = 363\n\tSYS_LCHOWN                         = 364\n\tSYS_BSDTHREAD_REGISTER             = 366\n\tSYS_WORKQ_OPEN                     = 367\n\tSYS_WORKQ_KERNRETURN               = 368\n\tSYS_KEVENT64                       = 369\n\tSYS___OLD_SEMWAIT_SIGNAL           = 370\n\tSYS___OLD_SEMWAIT_SIGNAL_NOCANCEL  = 371\n\tSYS_THREAD_SELFID                  = 372\n\tSYS_LEDGER                         = 373\n\tSYS_KEVENT_QOS                     = 374\n\tSYS_KEVENT_ID                      = 375\n\tSYS___MAC_EXECVE                   = 380\n\tSYS___MAC_SYSCALL                  = 381\n\tSYS___MAC_GET_FILE                 = 382\n\tSYS___MAC_SET_FILE                 = 383\n\tSYS___MAC_GET_LINK                 = 384\n\tSYS___MAC_SET_LINK                 = 385\n\tSYS___MAC_GET_PROC                 = 386\n\tSYS___MAC_SET_PROC                 = 387\n\tSYS___MAC_GET_FD                   = 388\n\tSYS___MAC_SET_FD                   = 389\n\tSYS___MAC_GET_PID                  = 390\n\tSYS_PSELECT                        = 394\n\tSYS_PSELECT_NOCANCEL               = 395\n\tSYS_READ_NOCANCEL                  = 396\n\tSYS_WRITE_NOCANCEL                 = 397\n\tSYS_OPEN_NOCANCEL                  = 398\n\tSYS_CLOSE_NOCANCEL                 = 399\n\tSYS_WAIT4_NOCANCEL                 = 400\n\tSYS_RECVMSG_NOCANCEL               = 401\n\tSYS_SENDMSG_NOCANCEL               = 402\n\tSYS_RECVFROM_NOCANCEL              = 403\n\tSYS_ACCEPT_NOCANCEL                = 404\n\tSYS_MSYNC_NOCANCEL                 = 405\n\tSYS_FCNTL_NOCANCEL                 = 406\n\tSYS_SELECT_NOCANCEL                = 407\n\tSYS_FSYNC_NOCANCEL                 = 408\n\tSYS_CONNECT_NOCANCEL               = 409\n\tSYS_SIGSUSPEND_NOCANCEL            = 410\n\tSYS_READV_NOCANCEL                 = 411\n\tSYS_WRITEV_NOCANCEL                = 412\n\tSYS_SENDTO_NOCANCEL                = 413\n\tSYS_PREAD_NOCANCEL                 = 414\n\tSYS_PWRITE_NOCANCEL                = 415\n\tSYS_WAITID_NOCANCEL                = 416\n\tSYS_POLL_NOCANCEL                  = 417\n\tSYS_MSGSND_NOCANCEL                = 418\n\tSYS_MSGRCV_NOCANCEL                = 419\n\tSYS_SEM_WAIT_NOCANCEL              = 420\n\tSYS_AIO_SUSPEND_NOCANCEL           = 421\n\tSYS___SIGWAIT_NOCANCEL             = 422\n\tSYS___SEMWAIT_SIGNAL_NOCANCEL      = 423\n\tSYS___MAC_MOUNT                    = 424\n\tSYS___MAC_GET_MOUNT                = 425\n\tSYS___MAC_GETFSSTAT                = 426\n\tSYS_FSGETPATH                      = 427\n\tSYS_AUDIT_SESSION_SELF             = 428\n\tSYS_AUDIT_SESSION_JOIN             = 429\n\tSYS_FILEPORT_MAKEPORT              = 430\n\tSYS_FILEPORT_MAKEFD                = 431\n\tSYS_AUDIT_SESSION_PORT             = 432\n\tSYS_PID_SUSPEND                    = 433\n\tSYS_PID_RESUME                     = 434\n\tSYS_PID_HIBERNATE                  = 435\n\tSYS_PID_SHUTDOWN_SOCKETS           = 436\n\tSYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438\n\tSYS_KAS_INFO                       = 439\n\tSYS_MEMORYSTATUS_CONTROL           = 440\n\tSYS_GUARDED_OPEN_NP                = 441\n\tSYS_GUARDED_CLOSE_NP               = 442\n\tSYS_GUARDED_KQUEUE_NP              = 443\n\tSYS_CHANGE_FDGUARD_NP              = 444\n\tSYS_USRCTL                         = 445\n\tSYS_PROC_RLIMIT_CONTROL            = 446\n\tSYS_CONNECTX                       = 447\n\tSYS_DISCONNECTX                    = 448\n\tSYS_PEELOFF                        = 449\n\tSYS_SOCKET_DELEGATE                = 450\n\tSYS_TELEMETRY                      = 451\n\tSYS_PROC_UUID_POLICY               = 452\n\tSYS_MEMORYSTATUS_GET_LEVEL         = 453\n\tSYS_SYSTEM_OVERRIDE                = 454\n\tSYS_VFS_PURGE                      = 455\n\tSYS_SFI_CTL                        = 456\n\tSYS_SFI_PIDCTL                     = 457\n\tSYS_COALITION                      = 458\n\tSYS_COALITION_INFO                 = 459\n\tSYS_NECP_MATCH_POLICY              = 460\n\tSYS_GETATTRLISTBULK                = 461\n\tSYS_CLONEFILEAT                    = 462\n\tSYS_OPENAT                         = 463\n\tSYS_OPENAT_NOCANCEL                = 464\n\tSYS_RENAMEAT                       = 465\n\tSYS_FACCESSAT                      = 466\n\tSYS_FCHMODAT                       = 467\n\tSYS_FCHOWNAT                       = 468\n\tSYS_FSTATAT                        = 469\n\tSYS_FSTATAT64                      = 470\n\tSYS_LINKAT                         = 471\n\tSYS_UNLINKAT                       = 472\n\tSYS_READLINKAT                     = 473\n\tSYS_SYMLINKAT                      = 474\n\tSYS_MKDIRAT                        = 475\n\tSYS_GETATTRLISTAT                  = 476\n\tSYS_PROC_TRACE_LOG                 = 477\n\tSYS_BSDTHREAD_CTL                  = 478\n\tSYS_OPENBYID_NP                    = 479\n\tSYS_RECVMSG_X                      = 480\n\tSYS_SENDMSG_X                      = 481\n\tSYS_THREAD_SELFUSAGE               = 482\n\tSYS_CSRCTL                         = 483\n\tSYS_GUARDED_OPEN_DPROTECTED_NP     = 484\n\tSYS_GUARDED_WRITE_NP               = 485\n\tSYS_GUARDED_PWRITE_NP              = 486\n\tSYS_GUARDED_WRITEV_NP              = 487\n\tSYS_RENAMEATX_NP                   = 488\n\tSYS_MREMAP_ENCRYPTED               = 489\n\tSYS_NETAGENT_TRIGGER               = 490\n\tSYS_STACK_SNAPSHOT_WITH_CONFIG     = 491\n\tSYS_MICROSTACKSHOT                 = 492\n\tSYS_GRAB_PGO_DATA                  = 493\n\tSYS_PERSONA                        = 494\n\tSYS_WORK_INTERVAL_CTL              = 499\n\tSYS_GETENTROPY                     = 500\n\tSYS_NECP_OPEN                      = 501\n\tSYS_NECP_CLIENT_ACTION             = 502\n\tSYS___NEXUS_OPEN                   = 503\n\tSYS___NEXUS_REGISTER               = 504\n\tSYS___NEXUS_DEREGISTER             = 505\n\tSYS___NEXUS_CREATE                 = 506\n\tSYS___NEXUS_DESTROY                = 507\n\tSYS___NEXUS_GET_OPT                = 508\n\tSYS___NEXUS_SET_OPT                = 509\n\tSYS___CHANNEL_OPEN                 = 510\n\tSYS___CHANNEL_GET_INFO             = 511\n\tSYS___CHANNEL_SYNC                 = 512\n\tSYS___CHANNEL_GET_OPT              = 513\n\tSYS___CHANNEL_SET_OPT              = 514\n\tSYS_ULOCK_WAIT                     = 515\n\tSYS_ULOCK_WAKE                     = 516\n\tSYS_FCLONEFILEAT                   = 517\n\tSYS_FS_SNAPSHOT                    = 518\n\tSYS_TERMINATE_WITH_PAYLOAD         = 520\n\tSYS_ABORT_WITH_PAYLOAD             = 521\n\tSYS_NECP_SESSION_OPEN              = 522\n\tSYS_NECP_SESSION_ACTION            = 523\n\tSYS_SETATTRLISTAT                  = 524\n\tSYS_NET_QOS_GUIDELINE              = 525\n\tSYS_FMOUNT                         = 526\n\tSYS_NTP_ADJTIME                    = 527\n\tSYS_NTP_GETTIME                    = 528\n\tSYS_OS_FAULT_WITH_PAYLOAD          = 529\n\tSYS_MAXSYSCALL                     = 530\n\tSYS_INVALID                        = 63\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go",
    "content": "// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/sys/syscall.h\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,darwin\n\npackage unix\n\nconst (\n\tSYS_SYSCALL                        = 0\n\tSYS_EXIT                           = 1\n\tSYS_FORK                           = 2\n\tSYS_READ                           = 3\n\tSYS_WRITE                          = 4\n\tSYS_OPEN                           = 5\n\tSYS_CLOSE                          = 6\n\tSYS_WAIT4                          = 7\n\tSYS_LINK                           = 9\n\tSYS_UNLINK                         = 10\n\tSYS_CHDIR                          = 12\n\tSYS_FCHDIR                         = 13\n\tSYS_MKNOD                          = 14\n\tSYS_CHMOD                          = 15\n\tSYS_CHOWN                          = 16\n\tSYS_GETFSSTAT                      = 18\n\tSYS_GETPID                         = 20\n\tSYS_SETUID                         = 23\n\tSYS_GETUID                         = 24\n\tSYS_GETEUID                        = 25\n\tSYS_PTRACE                         = 26\n\tSYS_RECVMSG                        = 27\n\tSYS_SENDMSG                        = 28\n\tSYS_RECVFROM                       = 29\n\tSYS_ACCEPT                         = 30\n\tSYS_GETPEERNAME                    = 31\n\tSYS_GETSOCKNAME                    = 32\n\tSYS_ACCESS                         = 33\n\tSYS_CHFLAGS                        = 34\n\tSYS_FCHFLAGS                       = 35\n\tSYS_SYNC                           = 36\n\tSYS_KILL                           = 37\n\tSYS_GETPPID                        = 39\n\tSYS_DUP                            = 41\n\tSYS_PIPE                           = 42\n\tSYS_GETEGID                        = 43\n\tSYS_SIGACTION                      = 46\n\tSYS_GETGID                         = 47\n\tSYS_SIGPROCMASK                    = 48\n\tSYS_GETLOGIN                       = 49\n\tSYS_SETLOGIN                       = 50\n\tSYS_ACCT                           = 51\n\tSYS_SIGPENDING                     = 52\n\tSYS_SIGALTSTACK                    = 53\n\tSYS_IOCTL                          = 54\n\tSYS_REBOOT                         = 55\n\tSYS_REVOKE                         = 56\n\tSYS_SYMLINK                        = 57\n\tSYS_READLINK                       = 58\n\tSYS_EXECVE                         = 59\n\tSYS_UMASK                          = 60\n\tSYS_CHROOT                         = 61\n\tSYS_MSYNC                          = 65\n\tSYS_VFORK                          = 66\n\tSYS_MUNMAP                         = 73\n\tSYS_MPROTECT                       = 74\n\tSYS_MADVISE                        = 75\n\tSYS_MINCORE                        = 78\n\tSYS_GETGROUPS                      = 79\n\tSYS_SETGROUPS                      = 80\n\tSYS_GETPGRP                        = 81\n\tSYS_SETPGID                        = 82\n\tSYS_SETITIMER                      = 83\n\tSYS_SWAPON                         = 85\n\tSYS_GETITIMER                      = 86\n\tSYS_GETDTABLESIZE                  = 89\n\tSYS_DUP2                           = 90\n\tSYS_FCNTL                          = 92\n\tSYS_SELECT                         = 93\n\tSYS_FSYNC                          = 95\n\tSYS_SETPRIORITY                    = 96\n\tSYS_SOCKET                         = 97\n\tSYS_CONNECT                        = 98\n\tSYS_GETPRIORITY                    = 100\n\tSYS_BIND                           = 104\n\tSYS_SETSOCKOPT                     = 105\n\tSYS_LISTEN                         = 106\n\tSYS_SIGSUSPEND                     = 111\n\tSYS_GETTIMEOFDAY                   = 116\n\tSYS_GETRUSAGE                      = 117\n\tSYS_GETSOCKOPT                     = 118\n\tSYS_READV                          = 120\n\tSYS_WRITEV                         = 121\n\tSYS_SETTIMEOFDAY                   = 122\n\tSYS_FCHOWN                         = 123\n\tSYS_FCHMOD                         = 124\n\tSYS_SETREUID                       = 126\n\tSYS_SETREGID                       = 127\n\tSYS_RENAME                         = 128\n\tSYS_FLOCK                          = 131\n\tSYS_MKFIFO                         = 132\n\tSYS_SENDTO                         = 133\n\tSYS_SHUTDOWN                       = 134\n\tSYS_SOCKETPAIR                     = 135\n\tSYS_MKDIR                          = 136\n\tSYS_RMDIR                          = 137\n\tSYS_UTIMES                         = 138\n\tSYS_FUTIMES                        = 139\n\tSYS_ADJTIME                        = 140\n\tSYS_GETHOSTUUID                    = 142\n\tSYS_SETSID                         = 147\n\tSYS_GETPGID                        = 151\n\tSYS_SETPRIVEXEC                    = 152\n\tSYS_PREAD                          = 153\n\tSYS_PWRITE                         = 154\n\tSYS_NFSSVC                         = 155\n\tSYS_STATFS                         = 157\n\tSYS_FSTATFS                        = 158\n\tSYS_UNMOUNT                        = 159\n\tSYS_GETFH                          = 161\n\tSYS_QUOTACTL                       = 165\n\tSYS_MOUNT                          = 167\n\tSYS_CSOPS                          = 169\n\tSYS_CSOPS_AUDITTOKEN               = 170\n\tSYS_WAITID                         = 173\n\tSYS_KDEBUG_TYPEFILTER              = 177\n\tSYS_KDEBUG_TRACE_STRING            = 178\n\tSYS_KDEBUG_TRACE64                 = 179\n\tSYS_KDEBUG_TRACE                   = 180\n\tSYS_SETGID                         = 181\n\tSYS_SETEGID                        = 182\n\tSYS_SETEUID                        = 183\n\tSYS_SIGRETURN                      = 184\n\tSYS_THREAD_SELFCOUNTS              = 186\n\tSYS_FDATASYNC                      = 187\n\tSYS_STAT                           = 188\n\tSYS_FSTAT                          = 189\n\tSYS_LSTAT                          = 190\n\tSYS_PATHCONF                       = 191\n\tSYS_FPATHCONF                      = 192\n\tSYS_GETRLIMIT                      = 194\n\tSYS_SETRLIMIT                      = 195\n\tSYS_GETDIRENTRIES                  = 196\n\tSYS_MMAP                           = 197\n\tSYS_LSEEK                          = 199\n\tSYS_TRUNCATE                       = 200\n\tSYS_FTRUNCATE                      = 201\n\tSYS_SYSCTL                         = 202\n\tSYS_MLOCK                          = 203\n\tSYS_MUNLOCK                        = 204\n\tSYS_UNDELETE                       = 205\n\tSYS_OPEN_DPROTECTED_NP             = 216\n\tSYS_GETATTRLIST                    = 220\n\tSYS_SETATTRLIST                    = 221\n\tSYS_GETDIRENTRIESATTR              = 222\n\tSYS_EXCHANGEDATA                   = 223\n\tSYS_SEARCHFS                       = 225\n\tSYS_DELETE                         = 226\n\tSYS_COPYFILE                       = 227\n\tSYS_FGETATTRLIST                   = 228\n\tSYS_FSETATTRLIST                   = 229\n\tSYS_POLL                           = 230\n\tSYS_WATCHEVENT                     = 231\n\tSYS_WAITEVENT                      = 232\n\tSYS_MODWATCH                       = 233\n\tSYS_GETXATTR                       = 234\n\tSYS_FGETXATTR                      = 235\n\tSYS_SETXATTR                       = 236\n\tSYS_FSETXATTR                      = 237\n\tSYS_REMOVEXATTR                    = 238\n\tSYS_FREMOVEXATTR                   = 239\n\tSYS_LISTXATTR                      = 240\n\tSYS_FLISTXATTR                     = 241\n\tSYS_FSCTL                          = 242\n\tSYS_INITGROUPS                     = 243\n\tSYS_POSIX_SPAWN                    = 244\n\tSYS_FFSCTL                         = 245\n\tSYS_NFSCLNT                        = 247\n\tSYS_FHOPEN                         = 248\n\tSYS_MINHERIT                       = 250\n\tSYS_SEMSYS                         = 251\n\tSYS_MSGSYS                         = 252\n\tSYS_SHMSYS                         = 253\n\tSYS_SEMCTL                         = 254\n\tSYS_SEMGET                         = 255\n\tSYS_SEMOP                          = 256\n\tSYS_MSGCTL                         = 258\n\tSYS_MSGGET                         = 259\n\tSYS_MSGSND                         = 260\n\tSYS_MSGRCV                         = 261\n\tSYS_SHMAT                          = 262\n\tSYS_SHMCTL                         = 263\n\tSYS_SHMDT                          = 264\n\tSYS_SHMGET                         = 265\n\tSYS_SHM_OPEN                       = 266\n\tSYS_SHM_UNLINK                     = 267\n\tSYS_SEM_OPEN                       = 268\n\tSYS_SEM_CLOSE                      = 269\n\tSYS_SEM_UNLINK                     = 270\n\tSYS_SEM_WAIT                       = 271\n\tSYS_SEM_TRYWAIT                    = 272\n\tSYS_SEM_POST                       = 273\n\tSYS_SYSCTLBYNAME                   = 274\n\tSYS_OPEN_EXTENDED                  = 277\n\tSYS_UMASK_EXTENDED                 = 278\n\tSYS_STAT_EXTENDED                  = 279\n\tSYS_LSTAT_EXTENDED                 = 280\n\tSYS_FSTAT_EXTENDED                 = 281\n\tSYS_CHMOD_EXTENDED                 = 282\n\tSYS_FCHMOD_EXTENDED                = 283\n\tSYS_ACCESS_EXTENDED                = 284\n\tSYS_SETTID                         = 285\n\tSYS_GETTID                         = 286\n\tSYS_SETSGROUPS                     = 287\n\tSYS_GETSGROUPS                     = 288\n\tSYS_SETWGROUPS                     = 289\n\tSYS_GETWGROUPS                     = 290\n\tSYS_MKFIFO_EXTENDED                = 291\n\tSYS_MKDIR_EXTENDED                 = 292\n\tSYS_IDENTITYSVC                    = 293\n\tSYS_SHARED_REGION_CHECK_NP         = 294\n\tSYS_VM_PRESSURE_MONITOR            = 296\n\tSYS_PSYNCH_RW_LONGRDLOCK           = 297\n\tSYS_PSYNCH_RW_YIELDWRLOCK          = 298\n\tSYS_PSYNCH_RW_DOWNGRADE            = 299\n\tSYS_PSYNCH_RW_UPGRADE              = 300\n\tSYS_PSYNCH_MUTEXWAIT               = 301\n\tSYS_PSYNCH_MUTEXDROP               = 302\n\tSYS_PSYNCH_CVBROAD                 = 303\n\tSYS_PSYNCH_CVSIGNAL                = 304\n\tSYS_PSYNCH_CVWAIT                  = 305\n\tSYS_PSYNCH_RW_RDLOCK               = 306\n\tSYS_PSYNCH_RW_WRLOCK               = 307\n\tSYS_PSYNCH_RW_UNLOCK               = 308\n\tSYS_PSYNCH_RW_UNLOCK2              = 309\n\tSYS_GETSID                         = 310\n\tSYS_SETTID_WITH_PID                = 311\n\tSYS_PSYNCH_CVCLRPREPOST            = 312\n\tSYS_AIO_FSYNC                      = 313\n\tSYS_AIO_RETURN                     = 314\n\tSYS_AIO_SUSPEND                    = 315\n\tSYS_AIO_CANCEL                     = 316\n\tSYS_AIO_ERROR                      = 317\n\tSYS_AIO_READ                       = 318\n\tSYS_AIO_WRITE                      = 319\n\tSYS_LIO_LISTIO                     = 320\n\tSYS_IOPOLICYSYS                    = 322\n\tSYS_PROCESS_POLICY                 = 323\n\tSYS_MLOCKALL                       = 324\n\tSYS_MUNLOCKALL                     = 325\n\tSYS_ISSETUGID                      = 327\n\tSYS___PTHREAD_KILL                 = 328\n\tSYS___PTHREAD_SIGMASK              = 329\n\tSYS___SIGWAIT                      = 330\n\tSYS___DISABLE_THREADSIGNAL         = 331\n\tSYS___PTHREAD_MARKCANCEL           = 332\n\tSYS___PTHREAD_CANCELED             = 333\n\tSYS___SEMWAIT_SIGNAL               = 334\n\tSYS_PROC_INFO                      = 336\n\tSYS_SENDFILE                       = 337\n\tSYS_STAT64                         = 338\n\tSYS_FSTAT64                        = 339\n\tSYS_LSTAT64                        = 340\n\tSYS_STAT64_EXTENDED                = 341\n\tSYS_LSTAT64_EXTENDED               = 342\n\tSYS_FSTAT64_EXTENDED               = 343\n\tSYS_GETDIRENTRIES64                = 344\n\tSYS_STATFS64                       = 345\n\tSYS_FSTATFS64                      = 346\n\tSYS_GETFSSTAT64                    = 347\n\tSYS___PTHREAD_CHDIR                = 348\n\tSYS___PTHREAD_FCHDIR               = 349\n\tSYS_AUDIT                          = 350\n\tSYS_AUDITON                        = 351\n\tSYS_GETAUID                        = 353\n\tSYS_SETAUID                        = 354\n\tSYS_GETAUDIT_ADDR                  = 357\n\tSYS_SETAUDIT_ADDR                  = 358\n\tSYS_AUDITCTL                       = 359\n\tSYS_BSDTHREAD_CREATE               = 360\n\tSYS_BSDTHREAD_TERMINATE            = 361\n\tSYS_KQUEUE                         = 362\n\tSYS_KEVENT                         = 363\n\tSYS_LCHOWN                         = 364\n\tSYS_BSDTHREAD_REGISTER             = 366\n\tSYS_WORKQ_OPEN                     = 367\n\tSYS_WORKQ_KERNRETURN               = 368\n\tSYS_KEVENT64                       = 369\n\tSYS___OLD_SEMWAIT_SIGNAL           = 370\n\tSYS___OLD_SEMWAIT_SIGNAL_NOCANCEL  = 371\n\tSYS_THREAD_SELFID                  = 372\n\tSYS_LEDGER                         = 373\n\tSYS_KEVENT_QOS                     = 374\n\tSYS_KEVENT_ID                      = 375\n\tSYS___MAC_EXECVE                   = 380\n\tSYS___MAC_SYSCALL                  = 381\n\tSYS___MAC_GET_FILE                 = 382\n\tSYS___MAC_SET_FILE                 = 383\n\tSYS___MAC_GET_LINK                 = 384\n\tSYS___MAC_SET_LINK                 = 385\n\tSYS___MAC_GET_PROC                 = 386\n\tSYS___MAC_SET_PROC                 = 387\n\tSYS___MAC_GET_FD                   = 388\n\tSYS___MAC_SET_FD                   = 389\n\tSYS___MAC_GET_PID                  = 390\n\tSYS_PSELECT                        = 394\n\tSYS_PSELECT_NOCANCEL               = 395\n\tSYS_READ_NOCANCEL                  = 396\n\tSYS_WRITE_NOCANCEL                 = 397\n\tSYS_OPEN_NOCANCEL                  = 398\n\tSYS_CLOSE_NOCANCEL                 = 399\n\tSYS_WAIT4_NOCANCEL                 = 400\n\tSYS_RECVMSG_NOCANCEL               = 401\n\tSYS_SENDMSG_NOCANCEL               = 402\n\tSYS_RECVFROM_NOCANCEL              = 403\n\tSYS_ACCEPT_NOCANCEL                = 404\n\tSYS_MSYNC_NOCANCEL                 = 405\n\tSYS_FCNTL_NOCANCEL                 = 406\n\tSYS_SELECT_NOCANCEL                = 407\n\tSYS_FSYNC_NOCANCEL                 = 408\n\tSYS_CONNECT_NOCANCEL               = 409\n\tSYS_SIGSUSPEND_NOCANCEL            = 410\n\tSYS_READV_NOCANCEL                 = 411\n\tSYS_WRITEV_NOCANCEL                = 412\n\tSYS_SENDTO_NOCANCEL                = 413\n\tSYS_PREAD_NOCANCEL                 = 414\n\tSYS_PWRITE_NOCANCEL                = 415\n\tSYS_WAITID_NOCANCEL                = 416\n\tSYS_POLL_NOCANCEL                  = 417\n\tSYS_MSGSND_NOCANCEL                = 418\n\tSYS_MSGRCV_NOCANCEL                = 419\n\tSYS_SEM_WAIT_NOCANCEL              = 420\n\tSYS_AIO_SUSPEND_NOCANCEL           = 421\n\tSYS___SIGWAIT_NOCANCEL             = 422\n\tSYS___SEMWAIT_SIGNAL_NOCANCEL      = 423\n\tSYS___MAC_MOUNT                    = 424\n\tSYS___MAC_GET_MOUNT                = 425\n\tSYS___MAC_GETFSSTAT                = 426\n\tSYS_FSGETPATH                      = 427\n\tSYS_AUDIT_SESSION_SELF             = 428\n\tSYS_AUDIT_SESSION_JOIN             = 429\n\tSYS_FILEPORT_MAKEPORT              = 430\n\tSYS_FILEPORT_MAKEFD                = 431\n\tSYS_AUDIT_SESSION_PORT             = 432\n\tSYS_PID_SUSPEND                    = 433\n\tSYS_PID_RESUME                     = 434\n\tSYS_PID_HIBERNATE                  = 435\n\tSYS_PID_SHUTDOWN_SOCKETS           = 436\n\tSYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438\n\tSYS_KAS_INFO                       = 439\n\tSYS_MEMORYSTATUS_CONTROL           = 440\n\tSYS_GUARDED_OPEN_NP                = 441\n\tSYS_GUARDED_CLOSE_NP               = 442\n\tSYS_GUARDED_KQUEUE_NP              = 443\n\tSYS_CHANGE_FDGUARD_NP              = 444\n\tSYS_USRCTL                         = 445\n\tSYS_PROC_RLIMIT_CONTROL            = 446\n\tSYS_CONNECTX                       = 447\n\tSYS_DISCONNECTX                    = 448\n\tSYS_PEELOFF                        = 449\n\tSYS_SOCKET_DELEGATE                = 450\n\tSYS_TELEMETRY                      = 451\n\tSYS_PROC_UUID_POLICY               = 452\n\tSYS_MEMORYSTATUS_GET_LEVEL         = 453\n\tSYS_SYSTEM_OVERRIDE                = 454\n\tSYS_VFS_PURGE                      = 455\n\tSYS_SFI_CTL                        = 456\n\tSYS_SFI_PIDCTL                     = 457\n\tSYS_COALITION                      = 458\n\tSYS_COALITION_INFO                 = 459\n\tSYS_NECP_MATCH_POLICY              = 460\n\tSYS_GETATTRLISTBULK                = 461\n\tSYS_CLONEFILEAT                    = 462\n\tSYS_OPENAT                         = 463\n\tSYS_OPENAT_NOCANCEL                = 464\n\tSYS_RENAMEAT                       = 465\n\tSYS_FACCESSAT                      = 466\n\tSYS_FCHMODAT                       = 467\n\tSYS_FCHOWNAT                       = 468\n\tSYS_FSTATAT                        = 469\n\tSYS_FSTATAT64                      = 470\n\tSYS_LINKAT                         = 471\n\tSYS_UNLINKAT                       = 472\n\tSYS_READLINKAT                     = 473\n\tSYS_SYMLINKAT                      = 474\n\tSYS_MKDIRAT                        = 475\n\tSYS_GETATTRLISTAT                  = 476\n\tSYS_PROC_TRACE_LOG                 = 477\n\tSYS_BSDTHREAD_CTL                  = 478\n\tSYS_OPENBYID_NP                    = 479\n\tSYS_RECVMSG_X                      = 480\n\tSYS_SENDMSG_X                      = 481\n\tSYS_THREAD_SELFUSAGE               = 482\n\tSYS_CSRCTL                         = 483\n\tSYS_GUARDED_OPEN_DPROTECTED_NP     = 484\n\tSYS_GUARDED_WRITE_NP               = 485\n\tSYS_GUARDED_PWRITE_NP              = 486\n\tSYS_GUARDED_WRITEV_NP              = 487\n\tSYS_RENAMEATX_NP                   = 488\n\tSYS_MREMAP_ENCRYPTED               = 489\n\tSYS_NETAGENT_TRIGGER               = 490\n\tSYS_STACK_SNAPSHOT_WITH_CONFIG     = 491\n\tSYS_MICROSTACKSHOT                 = 492\n\tSYS_GRAB_PGO_DATA                  = 493\n\tSYS_PERSONA                        = 494\n\tSYS_WORK_INTERVAL_CTL              = 499\n\tSYS_GETENTROPY                     = 500\n\tSYS_NECP_OPEN                      = 501\n\tSYS_NECP_CLIENT_ACTION             = 502\n\tSYS___NEXUS_OPEN                   = 503\n\tSYS___NEXUS_REGISTER               = 504\n\tSYS___NEXUS_DEREGISTER             = 505\n\tSYS___NEXUS_CREATE                 = 506\n\tSYS___NEXUS_DESTROY                = 507\n\tSYS___NEXUS_GET_OPT                = 508\n\tSYS___NEXUS_SET_OPT                = 509\n\tSYS___CHANNEL_OPEN                 = 510\n\tSYS___CHANNEL_GET_INFO             = 511\n\tSYS___CHANNEL_SYNC                 = 512\n\tSYS___CHANNEL_GET_OPT              = 513\n\tSYS___CHANNEL_SET_OPT              = 514\n\tSYS_ULOCK_WAIT                     = 515\n\tSYS_ULOCK_WAKE                     = 516\n\tSYS_FCLONEFILEAT                   = 517\n\tSYS_FS_SNAPSHOT                    = 518\n\tSYS_TERMINATE_WITH_PAYLOAD         = 520\n\tSYS_ABORT_WITH_PAYLOAD             = 521\n\tSYS_NECP_SESSION_OPEN              = 522\n\tSYS_NECP_SESSION_ACTION            = 523\n\tSYS_SETATTRLISTAT                  = 524\n\tSYS_NET_QOS_GUIDELINE              = 525\n\tSYS_FMOUNT                         = 526\n\tSYS_NTP_ADJTIME                    = 527\n\tSYS_NTP_GETTIME                    = 528\n\tSYS_OS_FAULT_WITH_PAYLOAD          = 529\n\tSYS_MAXSYSCALL                     = 530\n\tSYS_INVALID                        = 63\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go",
    "content": "// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.1.sdk/usr/include/sys/syscall.h\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build arm,darwin\n\npackage unix\n\nconst (\n\tSYS_SYSCALL                        = 0\n\tSYS_EXIT                           = 1\n\tSYS_FORK                           = 2\n\tSYS_READ                           = 3\n\tSYS_WRITE                          = 4\n\tSYS_OPEN                           = 5\n\tSYS_CLOSE                          = 6\n\tSYS_WAIT4                          = 7\n\tSYS_LINK                           = 9\n\tSYS_UNLINK                         = 10\n\tSYS_CHDIR                          = 12\n\tSYS_FCHDIR                         = 13\n\tSYS_MKNOD                          = 14\n\tSYS_CHMOD                          = 15\n\tSYS_CHOWN                          = 16\n\tSYS_GETFSSTAT                      = 18\n\tSYS_GETPID                         = 20\n\tSYS_SETUID                         = 23\n\tSYS_GETUID                         = 24\n\tSYS_GETEUID                        = 25\n\tSYS_PTRACE                         = 26\n\tSYS_RECVMSG                        = 27\n\tSYS_SENDMSG                        = 28\n\tSYS_RECVFROM                       = 29\n\tSYS_ACCEPT                         = 30\n\tSYS_GETPEERNAME                    = 31\n\tSYS_GETSOCKNAME                    = 32\n\tSYS_ACCESS                         = 33\n\tSYS_CHFLAGS                        = 34\n\tSYS_FCHFLAGS                       = 35\n\tSYS_SYNC                           = 36\n\tSYS_KILL                           = 37\n\tSYS_GETPPID                        = 39\n\tSYS_DUP                            = 41\n\tSYS_PIPE                           = 42\n\tSYS_GETEGID                        = 43\n\tSYS_SIGACTION                      = 46\n\tSYS_GETGID                         = 47\n\tSYS_SIGPROCMASK                    = 48\n\tSYS_GETLOGIN                       = 49\n\tSYS_SETLOGIN                       = 50\n\tSYS_ACCT                           = 51\n\tSYS_SIGPENDING                     = 52\n\tSYS_SIGALTSTACK                    = 53\n\tSYS_IOCTL                          = 54\n\tSYS_REBOOT                         = 55\n\tSYS_REVOKE                         = 56\n\tSYS_SYMLINK                        = 57\n\tSYS_READLINK                       = 58\n\tSYS_EXECVE                         = 59\n\tSYS_UMASK                          = 60\n\tSYS_CHROOT                         = 61\n\tSYS_MSYNC                          = 65\n\tSYS_VFORK                          = 66\n\tSYS_MUNMAP                         = 73\n\tSYS_MPROTECT                       = 74\n\tSYS_MADVISE                        = 75\n\tSYS_MINCORE                        = 78\n\tSYS_GETGROUPS                      = 79\n\tSYS_SETGROUPS                      = 80\n\tSYS_GETPGRP                        = 81\n\tSYS_SETPGID                        = 82\n\tSYS_SETITIMER                      = 83\n\tSYS_SWAPON                         = 85\n\tSYS_GETITIMER                      = 86\n\tSYS_GETDTABLESIZE                  = 89\n\tSYS_DUP2                           = 90\n\tSYS_FCNTL                          = 92\n\tSYS_SELECT                         = 93\n\tSYS_FSYNC                          = 95\n\tSYS_SETPRIORITY                    = 96\n\tSYS_SOCKET                         = 97\n\tSYS_CONNECT                        = 98\n\tSYS_GETPRIORITY                    = 100\n\tSYS_BIND                           = 104\n\tSYS_SETSOCKOPT                     = 105\n\tSYS_LISTEN                         = 106\n\tSYS_SIGSUSPEND                     = 111\n\tSYS_GETTIMEOFDAY                   = 116\n\tSYS_GETRUSAGE                      = 117\n\tSYS_GETSOCKOPT                     = 118\n\tSYS_READV                          = 120\n\tSYS_WRITEV                         = 121\n\tSYS_SETTIMEOFDAY                   = 122\n\tSYS_FCHOWN                         = 123\n\tSYS_FCHMOD                         = 124\n\tSYS_SETREUID                       = 126\n\tSYS_SETREGID                       = 127\n\tSYS_RENAME                         = 128\n\tSYS_FLOCK                          = 131\n\tSYS_MKFIFO                         = 132\n\tSYS_SENDTO                         = 133\n\tSYS_SHUTDOWN                       = 134\n\tSYS_SOCKETPAIR                     = 135\n\tSYS_MKDIR                          = 136\n\tSYS_RMDIR                          = 137\n\tSYS_UTIMES                         = 138\n\tSYS_FUTIMES                        = 139\n\tSYS_ADJTIME                        = 140\n\tSYS_GETHOSTUUID                    = 142\n\tSYS_SETSID                         = 147\n\tSYS_GETPGID                        = 151\n\tSYS_SETPRIVEXEC                    = 152\n\tSYS_PREAD                          = 153\n\tSYS_PWRITE                         = 154\n\tSYS_NFSSVC                         = 155\n\tSYS_STATFS                         = 157\n\tSYS_FSTATFS                        = 158\n\tSYS_UNMOUNT                        = 159\n\tSYS_GETFH                          = 161\n\tSYS_QUOTACTL                       = 165\n\tSYS_MOUNT                          = 167\n\tSYS_CSOPS                          = 169\n\tSYS_CSOPS_AUDITTOKEN               = 170\n\tSYS_WAITID                         = 173\n\tSYS_KDEBUG_TYPEFILTER              = 177\n\tSYS_KDEBUG_TRACE_STRING            = 178\n\tSYS_KDEBUG_TRACE64                 = 179\n\tSYS_KDEBUG_TRACE                   = 180\n\tSYS_SETGID                         = 181\n\tSYS_SETEGID                        = 182\n\tSYS_SETEUID                        = 183\n\tSYS_SIGRETURN                      = 184\n\tSYS_THREAD_SELFCOUNTS              = 186\n\tSYS_FDATASYNC                      = 187\n\tSYS_STAT                           = 188\n\tSYS_FSTAT                          = 189\n\tSYS_LSTAT                          = 190\n\tSYS_PATHCONF                       = 191\n\tSYS_FPATHCONF                      = 192\n\tSYS_GETRLIMIT                      = 194\n\tSYS_SETRLIMIT                      = 195\n\tSYS_GETDIRENTRIES                  = 196\n\tSYS_MMAP                           = 197\n\tSYS_LSEEK                          = 199\n\tSYS_TRUNCATE                       = 200\n\tSYS_FTRUNCATE                      = 201\n\tSYS_SYSCTL                         = 202\n\tSYS_MLOCK                          = 203\n\tSYS_MUNLOCK                        = 204\n\tSYS_UNDELETE                       = 205\n\tSYS_OPEN_DPROTECTED_NP             = 216\n\tSYS_GETATTRLIST                    = 220\n\tSYS_SETATTRLIST                    = 221\n\tSYS_GETDIRENTRIESATTR              = 222\n\tSYS_EXCHANGEDATA                   = 223\n\tSYS_SEARCHFS                       = 225\n\tSYS_DELETE                         = 226\n\tSYS_COPYFILE                       = 227\n\tSYS_FGETATTRLIST                   = 228\n\tSYS_FSETATTRLIST                   = 229\n\tSYS_POLL                           = 230\n\tSYS_WATCHEVENT                     = 231\n\tSYS_WAITEVENT                      = 232\n\tSYS_MODWATCH                       = 233\n\tSYS_GETXATTR                       = 234\n\tSYS_FGETXATTR                      = 235\n\tSYS_SETXATTR                       = 236\n\tSYS_FSETXATTR                      = 237\n\tSYS_REMOVEXATTR                    = 238\n\tSYS_FREMOVEXATTR                   = 239\n\tSYS_LISTXATTR                      = 240\n\tSYS_FLISTXATTR                     = 241\n\tSYS_FSCTL                          = 242\n\tSYS_INITGROUPS                     = 243\n\tSYS_POSIX_SPAWN                    = 244\n\tSYS_FFSCTL                         = 245\n\tSYS_NFSCLNT                        = 247\n\tSYS_FHOPEN                         = 248\n\tSYS_MINHERIT                       = 250\n\tSYS_SEMSYS                         = 251\n\tSYS_MSGSYS                         = 252\n\tSYS_SHMSYS                         = 253\n\tSYS_SEMCTL                         = 254\n\tSYS_SEMGET                         = 255\n\tSYS_SEMOP                          = 256\n\tSYS_MSGCTL                         = 258\n\tSYS_MSGGET                         = 259\n\tSYS_MSGSND                         = 260\n\tSYS_MSGRCV                         = 261\n\tSYS_SHMAT                          = 262\n\tSYS_SHMCTL                         = 263\n\tSYS_SHMDT                          = 264\n\tSYS_SHMGET                         = 265\n\tSYS_SHM_OPEN                       = 266\n\tSYS_SHM_UNLINK                     = 267\n\tSYS_SEM_OPEN                       = 268\n\tSYS_SEM_CLOSE                      = 269\n\tSYS_SEM_UNLINK                     = 270\n\tSYS_SEM_WAIT                       = 271\n\tSYS_SEM_TRYWAIT                    = 272\n\tSYS_SEM_POST                       = 273\n\tSYS_SYSCTLBYNAME                   = 274\n\tSYS_OPEN_EXTENDED                  = 277\n\tSYS_UMASK_EXTENDED                 = 278\n\tSYS_STAT_EXTENDED                  = 279\n\tSYS_LSTAT_EXTENDED                 = 280\n\tSYS_FSTAT_EXTENDED                 = 281\n\tSYS_CHMOD_EXTENDED                 = 282\n\tSYS_FCHMOD_EXTENDED                = 283\n\tSYS_ACCESS_EXTENDED                = 284\n\tSYS_SETTID                         = 285\n\tSYS_GETTID                         = 286\n\tSYS_SETSGROUPS                     = 287\n\tSYS_GETSGROUPS                     = 288\n\tSYS_SETWGROUPS                     = 289\n\tSYS_GETWGROUPS                     = 290\n\tSYS_MKFIFO_EXTENDED                = 291\n\tSYS_MKDIR_EXTENDED                 = 292\n\tSYS_IDENTITYSVC                    = 293\n\tSYS_SHARED_REGION_CHECK_NP         = 294\n\tSYS_VM_PRESSURE_MONITOR            = 296\n\tSYS_PSYNCH_RW_LONGRDLOCK           = 297\n\tSYS_PSYNCH_RW_YIELDWRLOCK          = 298\n\tSYS_PSYNCH_RW_DOWNGRADE            = 299\n\tSYS_PSYNCH_RW_UPGRADE              = 300\n\tSYS_PSYNCH_MUTEXWAIT               = 301\n\tSYS_PSYNCH_MUTEXDROP               = 302\n\tSYS_PSYNCH_CVBROAD                 = 303\n\tSYS_PSYNCH_CVSIGNAL                = 304\n\tSYS_PSYNCH_CVWAIT                  = 305\n\tSYS_PSYNCH_RW_RDLOCK               = 306\n\tSYS_PSYNCH_RW_WRLOCK               = 307\n\tSYS_PSYNCH_RW_UNLOCK               = 308\n\tSYS_PSYNCH_RW_UNLOCK2              = 309\n\tSYS_GETSID                         = 310\n\tSYS_SETTID_WITH_PID                = 311\n\tSYS_PSYNCH_CVCLRPREPOST            = 312\n\tSYS_AIO_FSYNC                      = 313\n\tSYS_AIO_RETURN                     = 314\n\tSYS_AIO_SUSPEND                    = 315\n\tSYS_AIO_CANCEL                     = 316\n\tSYS_AIO_ERROR                      = 317\n\tSYS_AIO_READ                       = 318\n\tSYS_AIO_WRITE                      = 319\n\tSYS_LIO_LISTIO                     = 320\n\tSYS_IOPOLICYSYS                    = 322\n\tSYS_PROCESS_POLICY                 = 323\n\tSYS_MLOCKALL                       = 324\n\tSYS_MUNLOCKALL                     = 325\n\tSYS_ISSETUGID                      = 327\n\tSYS___PTHREAD_KILL                 = 328\n\tSYS___PTHREAD_SIGMASK              = 329\n\tSYS___SIGWAIT                      = 330\n\tSYS___DISABLE_THREADSIGNAL         = 331\n\tSYS___PTHREAD_MARKCANCEL           = 332\n\tSYS___PTHREAD_CANCELED             = 333\n\tSYS___SEMWAIT_SIGNAL               = 334\n\tSYS_PROC_INFO                      = 336\n\tSYS_SENDFILE                       = 337\n\tSYS_STAT64                         = 338\n\tSYS_FSTAT64                        = 339\n\tSYS_LSTAT64                        = 340\n\tSYS_STAT64_EXTENDED                = 341\n\tSYS_LSTAT64_EXTENDED               = 342\n\tSYS_FSTAT64_EXTENDED               = 343\n\tSYS_GETDIRENTRIES64                = 344\n\tSYS_STATFS64                       = 345\n\tSYS_FSTATFS64                      = 346\n\tSYS_GETFSSTAT64                    = 347\n\tSYS___PTHREAD_CHDIR                = 348\n\tSYS___PTHREAD_FCHDIR               = 349\n\tSYS_AUDIT                          = 350\n\tSYS_AUDITON                        = 351\n\tSYS_GETAUID                        = 353\n\tSYS_SETAUID                        = 354\n\tSYS_GETAUDIT_ADDR                  = 357\n\tSYS_SETAUDIT_ADDR                  = 358\n\tSYS_AUDITCTL                       = 359\n\tSYS_BSDTHREAD_CREATE               = 360\n\tSYS_BSDTHREAD_TERMINATE            = 361\n\tSYS_KQUEUE                         = 362\n\tSYS_KEVENT                         = 363\n\tSYS_LCHOWN                         = 364\n\tSYS_BSDTHREAD_REGISTER             = 366\n\tSYS_WORKQ_OPEN                     = 367\n\tSYS_WORKQ_KERNRETURN               = 368\n\tSYS_KEVENT64                       = 369\n\tSYS___OLD_SEMWAIT_SIGNAL           = 370\n\tSYS___OLD_SEMWAIT_SIGNAL_NOCANCEL  = 371\n\tSYS_THREAD_SELFID                  = 372\n\tSYS_LEDGER                         = 373\n\tSYS_KEVENT_QOS                     = 374\n\tSYS_KEVENT_ID                      = 375\n\tSYS___MAC_EXECVE                   = 380\n\tSYS___MAC_SYSCALL                  = 381\n\tSYS___MAC_GET_FILE                 = 382\n\tSYS___MAC_SET_FILE                 = 383\n\tSYS___MAC_GET_LINK                 = 384\n\tSYS___MAC_SET_LINK                 = 385\n\tSYS___MAC_GET_PROC                 = 386\n\tSYS___MAC_SET_PROC                 = 387\n\tSYS___MAC_GET_FD                   = 388\n\tSYS___MAC_SET_FD                   = 389\n\tSYS___MAC_GET_PID                  = 390\n\tSYS_PSELECT                        = 394\n\tSYS_PSELECT_NOCANCEL               = 395\n\tSYS_READ_NOCANCEL                  = 396\n\tSYS_WRITE_NOCANCEL                 = 397\n\tSYS_OPEN_NOCANCEL                  = 398\n\tSYS_CLOSE_NOCANCEL                 = 399\n\tSYS_WAIT4_NOCANCEL                 = 400\n\tSYS_RECVMSG_NOCANCEL               = 401\n\tSYS_SENDMSG_NOCANCEL               = 402\n\tSYS_RECVFROM_NOCANCEL              = 403\n\tSYS_ACCEPT_NOCANCEL                = 404\n\tSYS_MSYNC_NOCANCEL                 = 405\n\tSYS_FCNTL_NOCANCEL                 = 406\n\tSYS_SELECT_NOCANCEL                = 407\n\tSYS_FSYNC_NOCANCEL                 = 408\n\tSYS_CONNECT_NOCANCEL               = 409\n\tSYS_SIGSUSPEND_NOCANCEL            = 410\n\tSYS_READV_NOCANCEL                 = 411\n\tSYS_WRITEV_NOCANCEL                = 412\n\tSYS_SENDTO_NOCANCEL                = 413\n\tSYS_PREAD_NOCANCEL                 = 414\n\tSYS_PWRITE_NOCANCEL                = 415\n\tSYS_WAITID_NOCANCEL                = 416\n\tSYS_POLL_NOCANCEL                  = 417\n\tSYS_MSGSND_NOCANCEL                = 418\n\tSYS_MSGRCV_NOCANCEL                = 419\n\tSYS_SEM_WAIT_NOCANCEL              = 420\n\tSYS_AIO_SUSPEND_NOCANCEL           = 421\n\tSYS___SIGWAIT_NOCANCEL             = 422\n\tSYS___SEMWAIT_SIGNAL_NOCANCEL      = 423\n\tSYS___MAC_MOUNT                    = 424\n\tSYS___MAC_GET_MOUNT                = 425\n\tSYS___MAC_GETFSSTAT                = 426\n\tSYS_FSGETPATH                      = 427\n\tSYS_AUDIT_SESSION_SELF             = 428\n\tSYS_AUDIT_SESSION_JOIN             = 429\n\tSYS_FILEPORT_MAKEPORT              = 430\n\tSYS_FILEPORT_MAKEFD                = 431\n\tSYS_AUDIT_SESSION_PORT             = 432\n\tSYS_PID_SUSPEND                    = 433\n\tSYS_PID_RESUME                     = 434\n\tSYS_PID_HIBERNATE                  = 435\n\tSYS_PID_SHUTDOWN_SOCKETS           = 436\n\tSYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438\n\tSYS_KAS_INFO                       = 439\n\tSYS_MEMORYSTATUS_CONTROL           = 440\n\tSYS_GUARDED_OPEN_NP                = 441\n\tSYS_GUARDED_CLOSE_NP               = 442\n\tSYS_GUARDED_KQUEUE_NP              = 443\n\tSYS_CHANGE_FDGUARD_NP              = 444\n\tSYS_USRCTL                         = 445\n\tSYS_PROC_RLIMIT_CONTROL            = 446\n\tSYS_CONNECTX                       = 447\n\tSYS_DISCONNECTX                    = 448\n\tSYS_PEELOFF                        = 449\n\tSYS_SOCKET_DELEGATE                = 450\n\tSYS_TELEMETRY                      = 451\n\tSYS_PROC_UUID_POLICY               = 452\n\tSYS_MEMORYSTATUS_GET_LEVEL         = 453\n\tSYS_SYSTEM_OVERRIDE                = 454\n\tSYS_VFS_PURGE                      = 455\n\tSYS_SFI_CTL                        = 456\n\tSYS_SFI_PIDCTL                     = 457\n\tSYS_COALITION                      = 458\n\tSYS_COALITION_INFO                 = 459\n\tSYS_NECP_MATCH_POLICY              = 460\n\tSYS_GETATTRLISTBULK                = 461\n\tSYS_CLONEFILEAT                    = 462\n\tSYS_OPENAT                         = 463\n\tSYS_OPENAT_NOCANCEL                = 464\n\tSYS_RENAMEAT                       = 465\n\tSYS_FACCESSAT                      = 466\n\tSYS_FCHMODAT                       = 467\n\tSYS_FCHOWNAT                       = 468\n\tSYS_FSTATAT                        = 469\n\tSYS_FSTATAT64                      = 470\n\tSYS_LINKAT                         = 471\n\tSYS_UNLINKAT                       = 472\n\tSYS_READLINKAT                     = 473\n\tSYS_SYMLINKAT                      = 474\n\tSYS_MKDIRAT                        = 475\n\tSYS_GETATTRLISTAT                  = 476\n\tSYS_PROC_TRACE_LOG                 = 477\n\tSYS_BSDTHREAD_CTL                  = 478\n\tSYS_OPENBYID_NP                    = 479\n\tSYS_RECVMSG_X                      = 480\n\tSYS_SENDMSG_X                      = 481\n\tSYS_THREAD_SELFUSAGE               = 482\n\tSYS_CSRCTL                         = 483\n\tSYS_GUARDED_OPEN_DPROTECTED_NP     = 484\n\tSYS_GUARDED_WRITE_NP               = 485\n\tSYS_GUARDED_PWRITE_NP              = 486\n\tSYS_GUARDED_WRITEV_NP              = 487\n\tSYS_RENAMEATX_NP                   = 488\n\tSYS_MREMAP_ENCRYPTED               = 489\n\tSYS_NETAGENT_TRIGGER               = 490\n\tSYS_STACK_SNAPSHOT_WITH_CONFIG     = 491\n\tSYS_MICROSTACKSHOT                 = 492\n\tSYS_GRAB_PGO_DATA                  = 493\n\tSYS_PERSONA                        = 494\n\tSYS_WORK_INTERVAL_CTL              = 499\n\tSYS_GETENTROPY                     = 500\n\tSYS_NECP_OPEN                      = 501\n\tSYS_NECP_CLIENT_ACTION             = 502\n\tSYS___NEXUS_OPEN                   = 503\n\tSYS___NEXUS_REGISTER               = 504\n\tSYS___NEXUS_DEREGISTER             = 505\n\tSYS___NEXUS_CREATE                 = 506\n\tSYS___NEXUS_DESTROY                = 507\n\tSYS___NEXUS_GET_OPT                = 508\n\tSYS___NEXUS_SET_OPT                = 509\n\tSYS___CHANNEL_OPEN                 = 510\n\tSYS___CHANNEL_GET_INFO             = 511\n\tSYS___CHANNEL_SYNC                 = 512\n\tSYS___CHANNEL_GET_OPT              = 513\n\tSYS___CHANNEL_SET_OPT              = 514\n\tSYS_ULOCK_WAIT                     = 515\n\tSYS_ULOCK_WAKE                     = 516\n\tSYS_FCLONEFILEAT                   = 517\n\tSYS_FS_SNAPSHOT                    = 518\n\tSYS_TERMINATE_WITH_PAYLOAD         = 520\n\tSYS_ABORT_WITH_PAYLOAD             = 521\n\tSYS_NECP_SESSION_OPEN              = 522\n\tSYS_NECP_SESSION_ACTION            = 523\n\tSYS_SETATTRLISTAT                  = 524\n\tSYS_NET_QOS_GUIDELINE              = 525\n\tSYS_FMOUNT                         = 526\n\tSYS_NTP_ADJTIME                    = 527\n\tSYS_NTP_GETTIME                    = 528\n\tSYS_OS_FAULT_WITH_PAYLOAD          = 529\n\tSYS_MAXSYSCALL                     = 530\n\tSYS_INVALID                        = 63\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go",
    "content": "// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.1.sdk/usr/include/sys/syscall.h\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build arm64,darwin\n\npackage unix\n\nconst (\n\tSYS_SYSCALL                        = 0\n\tSYS_EXIT                           = 1\n\tSYS_FORK                           = 2\n\tSYS_READ                           = 3\n\tSYS_WRITE                          = 4\n\tSYS_OPEN                           = 5\n\tSYS_CLOSE                          = 6\n\tSYS_WAIT4                          = 7\n\tSYS_LINK                           = 9\n\tSYS_UNLINK                         = 10\n\tSYS_CHDIR                          = 12\n\tSYS_FCHDIR                         = 13\n\tSYS_MKNOD                          = 14\n\tSYS_CHMOD                          = 15\n\tSYS_CHOWN                          = 16\n\tSYS_GETFSSTAT                      = 18\n\tSYS_GETPID                         = 20\n\tSYS_SETUID                         = 23\n\tSYS_GETUID                         = 24\n\tSYS_GETEUID                        = 25\n\tSYS_PTRACE                         = 26\n\tSYS_RECVMSG                        = 27\n\tSYS_SENDMSG                        = 28\n\tSYS_RECVFROM                       = 29\n\tSYS_ACCEPT                         = 30\n\tSYS_GETPEERNAME                    = 31\n\tSYS_GETSOCKNAME                    = 32\n\tSYS_ACCESS                         = 33\n\tSYS_CHFLAGS                        = 34\n\tSYS_FCHFLAGS                       = 35\n\tSYS_SYNC                           = 36\n\tSYS_KILL                           = 37\n\tSYS_GETPPID                        = 39\n\tSYS_DUP                            = 41\n\tSYS_PIPE                           = 42\n\tSYS_GETEGID                        = 43\n\tSYS_SIGACTION                      = 46\n\tSYS_GETGID                         = 47\n\tSYS_SIGPROCMASK                    = 48\n\tSYS_GETLOGIN                       = 49\n\tSYS_SETLOGIN                       = 50\n\tSYS_ACCT                           = 51\n\tSYS_SIGPENDING                     = 52\n\tSYS_SIGALTSTACK                    = 53\n\tSYS_IOCTL                          = 54\n\tSYS_REBOOT                         = 55\n\tSYS_REVOKE                         = 56\n\tSYS_SYMLINK                        = 57\n\tSYS_READLINK                       = 58\n\tSYS_EXECVE                         = 59\n\tSYS_UMASK                          = 60\n\tSYS_CHROOT                         = 61\n\tSYS_MSYNC                          = 65\n\tSYS_VFORK                          = 66\n\tSYS_MUNMAP                         = 73\n\tSYS_MPROTECT                       = 74\n\tSYS_MADVISE                        = 75\n\tSYS_MINCORE                        = 78\n\tSYS_GETGROUPS                      = 79\n\tSYS_SETGROUPS                      = 80\n\tSYS_GETPGRP                        = 81\n\tSYS_SETPGID                        = 82\n\tSYS_SETITIMER                      = 83\n\tSYS_SWAPON                         = 85\n\tSYS_GETITIMER                      = 86\n\tSYS_GETDTABLESIZE                  = 89\n\tSYS_DUP2                           = 90\n\tSYS_FCNTL                          = 92\n\tSYS_SELECT                         = 93\n\tSYS_FSYNC                          = 95\n\tSYS_SETPRIORITY                    = 96\n\tSYS_SOCKET                         = 97\n\tSYS_CONNECT                        = 98\n\tSYS_GETPRIORITY                    = 100\n\tSYS_BIND                           = 104\n\tSYS_SETSOCKOPT                     = 105\n\tSYS_LISTEN                         = 106\n\tSYS_SIGSUSPEND                     = 111\n\tSYS_GETTIMEOFDAY                   = 116\n\tSYS_GETRUSAGE                      = 117\n\tSYS_GETSOCKOPT                     = 118\n\tSYS_READV                          = 120\n\tSYS_WRITEV                         = 121\n\tSYS_SETTIMEOFDAY                   = 122\n\tSYS_FCHOWN                         = 123\n\tSYS_FCHMOD                         = 124\n\tSYS_SETREUID                       = 126\n\tSYS_SETREGID                       = 127\n\tSYS_RENAME                         = 128\n\tSYS_FLOCK                          = 131\n\tSYS_MKFIFO                         = 132\n\tSYS_SENDTO                         = 133\n\tSYS_SHUTDOWN                       = 134\n\tSYS_SOCKETPAIR                     = 135\n\tSYS_MKDIR                          = 136\n\tSYS_RMDIR                          = 137\n\tSYS_UTIMES                         = 138\n\tSYS_FUTIMES                        = 139\n\tSYS_ADJTIME                        = 140\n\tSYS_GETHOSTUUID                    = 142\n\tSYS_SETSID                         = 147\n\tSYS_GETPGID                        = 151\n\tSYS_SETPRIVEXEC                    = 152\n\tSYS_PREAD                          = 153\n\tSYS_PWRITE                         = 154\n\tSYS_NFSSVC                         = 155\n\tSYS_STATFS                         = 157\n\tSYS_FSTATFS                        = 158\n\tSYS_UNMOUNT                        = 159\n\tSYS_GETFH                          = 161\n\tSYS_QUOTACTL                       = 165\n\tSYS_MOUNT                          = 167\n\tSYS_CSOPS                          = 169\n\tSYS_CSOPS_AUDITTOKEN               = 170\n\tSYS_WAITID                         = 173\n\tSYS_KDEBUG_TYPEFILTER              = 177\n\tSYS_KDEBUG_TRACE_STRING            = 178\n\tSYS_KDEBUG_TRACE64                 = 179\n\tSYS_KDEBUG_TRACE                   = 180\n\tSYS_SETGID                         = 181\n\tSYS_SETEGID                        = 182\n\tSYS_SETEUID                        = 183\n\tSYS_SIGRETURN                      = 184\n\tSYS_THREAD_SELFCOUNTS              = 186\n\tSYS_FDATASYNC                      = 187\n\tSYS_STAT                           = 188\n\tSYS_FSTAT                          = 189\n\tSYS_LSTAT                          = 190\n\tSYS_PATHCONF                       = 191\n\tSYS_FPATHCONF                      = 192\n\tSYS_GETRLIMIT                      = 194\n\tSYS_SETRLIMIT                      = 195\n\tSYS_GETDIRENTRIES                  = 196\n\tSYS_MMAP                           = 197\n\tSYS_LSEEK                          = 199\n\tSYS_TRUNCATE                       = 200\n\tSYS_FTRUNCATE                      = 201\n\tSYS_SYSCTL                         = 202\n\tSYS_MLOCK                          = 203\n\tSYS_MUNLOCK                        = 204\n\tSYS_UNDELETE                       = 205\n\tSYS_OPEN_DPROTECTED_NP             = 216\n\tSYS_GETATTRLIST                    = 220\n\tSYS_SETATTRLIST                    = 221\n\tSYS_GETDIRENTRIESATTR              = 222\n\tSYS_EXCHANGEDATA                   = 223\n\tSYS_SEARCHFS                       = 225\n\tSYS_DELETE                         = 226\n\tSYS_COPYFILE                       = 227\n\tSYS_FGETATTRLIST                   = 228\n\tSYS_FSETATTRLIST                   = 229\n\tSYS_POLL                           = 230\n\tSYS_WATCHEVENT                     = 231\n\tSYS_WAITEVENT                      = 232\n\tSYS_MODWATCH                       = 233\n\tSYS_GETXATTR                       = 234\n\tSYS_FGETXATTR                      = 235\n\tSYS_SETXATTR                       = 236\n\tSYS_FSETXATTR                      = 237\n\tSYS_REMOVEXATTR                    = 238\n\tSYS_FREMOVEXATTR                   = 239\n\tSYS_LISTXATTR                      = 240\n\tSYS_FLISTXATTR                     = 241\n\tSYS_FSCTL                          = 242\n\tSYS_INITGROUPS                     = 243\n\tSYS_POSIX_SPAWN                    = 244\n\tSYS_FFSCTL                         = 245\n\tSYS_NFSCLNT                        = 247\n\tSYS_FHOPEN                         = 248\n\tSYS_MINHERIT                       = 250\n\tSYS_SEMSYS                         = 251\n\tSYS_MSGSYS                         = 252\n\tSYS_SHMSYS                         = 253\n\tSYS_SEMCTL                         = 254\n\tSYS_SEMGET                         = 255\n\tSYS_SEMOP                          = 256\n\tSYS_MSGCTL                         = 258\n\tSYS_MSGGET                         = 259\n\tSYS_MSGSND                         = 260\n\tSYS_MSGRCV                         = 261\n\tSYS_SHMAT                          = 262\n\tSYS_SHMCTL                         = 263\n\tSYS_SHMDT                          = 264\n\tSYS_SHMGET                         = 265\n\tSYS_SHM_OPEN                       = 266\n\tSYS_SHM_UNLINK                     = 267\n\tSYS_SEM_OPEN                       = 268\n\tSYS_SEM_CLOSE                      = 269\n\tSYS_SEM_UNLINK                     = 270\n\tSYS_SEM_WAIT                       = 271\n\tSYS_SEM_TRYWAIT                    = 272\n\tSYS_SEM_POST                       = 273\n\tSYS_SYSCTLBYNAME                   = 274\n\tSYS_OPEN_EXTENDED                  = 277\n\tSYS_UMASK_EXTENDED                 = 278\n\tSYS_STAT_EXTENDED                  = 279\n\tSYS_LSTAT_EXTENDED                 = 280\n\tSYS_FSTAT_EXTENDED                 = 281\n\tSYS_CHMOD_EXTENDED                 = 282\n\tSYS_FCHMOD_EXTENDED                = 283\n\tSYS_ACCESS_EXTENDED                = 284\n\tSYS_SETTID                         = 285\n\tSYS_GETTID                         = 286\n\tSYS_SETSGROUPS                     = 287\n\tSYS_GETSGROUPS                     = 288\n\tSYS_SETWGROUPS                     = 289\n\tSYS_GETWGROUPS                     = 290\n\tSYS_MKFIFO_EXTENDED                = 291\n\tSYS_MKDIR_EXTENDED                 = 292\n\tSYS_IDENTITYSVC                    = 293\n\tSYS_SHARED_REGION_CHECK_NP         = 294\n\tSYS_VM_PRESSURE_MONITOR            = 296\n\tSYS_PSYNCH_RW_LONGRDLOCK           = 297\n\tSYS_PSYNCH_RW_YIELDWRLOCK          = 298\n\tSYS_PSYNCH_RW_DOWNGRADE            = 299\n\tSYS_PSYNCH_RW_UPGRADE              = 300\n\tSYS_PSYNCH_MUTEXWAIT               = 301\n\tSYS_PSYNCH_MUTEXDROP               = 302\n\tSYS_PSYNCH_CVBROAD                 = 303\n\tSYS_PSYNCH_CVSIGNAL                = 304\n\tSYS_PSYNCH_CVWAIT                  = 305\n\tSYS_PSYNCH_RW_RDLOCK               = 306\n\tSYS_PSYNCH_RW_WRLOCK               = 307\n\tSYS_PSYNCH_RW_UNLOCK               = 308\n\tSYS_PSYNCH_RW_UNLOCK2              = 309\n\tSYS_GETSID                         = 310\n\tSYS_SETTID_WITH_PID                = 311\n\tSYS_PSYNCH_CVCLRPREPOST            = 312\n\tSYS_AIO_FSYNC                      = 313\n\tSYS_AIO_RETURN                     = 314\n\tSYS_AIO_SUSPEND                    = 315\n\tSYS_AIO_CANCEL                     = 316\n\tSYS_AIO_ERROR                      = 317\n\tSYS_AIO_READ                       = 318\n\tSYS_AIO_WRITE                      = 319\n\tSYS_LIO_LISTIO                     = 320\n\tSYS_IOPOLICYSYS                    = 322\n\tSYS_PROCESS_POLICY                 = 323\n\tSYS_MLOCKALL                       = 324\n\tSYS_MUNLOCKALL                     = 325\n\tSYS_ISSETUGID                      = 327\n\tSYS___PTHREAD_KILL                 = 328\n\tSYS___PTHREAD_SIGMASK              = 329\n\tSYS___SIGWAIT                      = 330\n\tSYS___DISABLE_THREADSIGNAL         = 331\n\tSYS___PTHREAD_MARKCANCEL           = 332\n\tSYS___PTHREAD_CANCELED             = 333\n\tSYS___SEMWAIT_SIGNAL               = 334\n\tSYS_PROC_INFO                      = 336\n\tSYS_SENDFILE                       = 337\n\tSYS_STAT64                         = 338\n\tSYS_FSTAT64                        = 339\n\tSYS_LSTAT64                        = 340\n\tSYS_STAT64_EXTENDED                = 341\n\tSYS_LSTAT64_EXTENDED               = 342\n\tSYS_FSTAT64_EXTENDED               = 343\n\tSYS_GETDIRENTRIES64                = 344\n\tSYS_STATFS64                       = 345\n\tSYS_FSTATFS64                      = 346\n\tSYS_GETFSSTAT64                    = 347\n\tSYS___PTHREAD_CHDIR                = 348\n\tSYS___PTHREAD_FCHDIR               = 349\n\tSYS_AUDIT                          = 350\n\tSYS_AUDITON                        = 351\n\tSYS_GETAUID                        = 353\n\tSYS_SETAUID                        = 354\n\tSYS_GETAUDIT_ADDR                  = 357\n\tSYS_SETAUDIT_ADDR                  = 358\n\tSYS_AUDITCTL                       = 359\n\tSYS_BSDTHREAD_CREATE               = 360\n\tSYS_BSDTHREAD_TERMINATE            = 361\n\tSYS_KQUEUE                         = 362\n\tSYS_KEVENT                         = 363\n\tSYS_LCHOWN                         = 364\n\tSYS_BSDTHREAD_REGISTER             = 366\n\tSYS_WORKQ_OPEN                     = 367\n\tSYS_WORKQ_KERNRETURN               = 368\n\tSYS_KEVENT64                       = 369\n\tSYS___OLD_SEMWAIT_SIGNAL           = 370\n\tSYS___OLD_SEMWAIT_SIGNAL_NOCANCEL  = 371\n\tSYS_THREAD_SELFID                  = 372\n\tSYS_LEDGER                         = 373\n\tSYS_KEVENT_QOS                     = 374\n\tSYS_KEVENT_ID                      = 375\n\tSYS___MAC_EXECVE                   = 380\n\tSYS___MAC_SYSCALL                  = 381\n\tSYS___MAC_GET_FILE                 = 382\n\tSYS___MAC_SET_FILE                 = 383\n\tSYS___MAC_GET_LINK                 = 384\n\tSYS___MAC_SET_LINK                 = 385\n\tSYS___MAC_GET_PROC                 = 386\n\tSYS___MAC_SET_PROC                 = 387\n\tSYS___MAC_GET_FD                   = 388\n\tSYS___MAC_SET_FD                   = 389\n\tSYS___MAC_GET_PID                  = 390\n\tSYS_PSELECT                        = 394\n\tSYS_PSELECT_NOCANCEL               = 395\n\tSYS_READ_NOCANCEL                  = 396\n\tSYS_WRITE_NOCANCEL                 = 397\n\tSYS_OPEN_NOCANCEL                  = 398\n\tSYS_CLOSE_NOCANCEL                 = 399\n\tSYS_WAIT4_NOCANCEL                 = 400\n\tSYS_RECVMSG_NOCANCEL               = 401\n\tSYS_SENDMSG_NOCANCEL               = 402\n\tSYS_RECVFROM_NOCANCEL              = 403\n\tSYS_ACCEPT_NOCANCEL                = 404\n\tSYS_MSYNC_NOCANCEL                 = 405\n\tSYS_FCNTL_NOCANCEL                 = 406\n\tSYS_SELECT_NOCANCEL                = 407\n\tSYS_FSYNC_NOCANCEL                 = 408\n\tSYS_CONNECT_NOCANCEL               = 409\n\tSYS_SIGSUSPEND_NOCANCEL            = 410\n\tSYS_READV_NOCANCEL                 = 411\n\tSYS_WRITEV_NOCANCEL                = 412\n\tSYS_SENDTO_NOCANCEL                = 413\n\tSYS_PREAD_NOCANCEL                 = 414\n\tSYS_PWRITE_NOCANCEL                = 415\n\tSYS_WAITID_NOCANCEL                = 416\n\tSYS_POLL_NOCANCEL                  = 417\n\tSYS_MSGSND_NOCANCEL                = 418\n\tSYS_MSGRCV_NOCANCEL                = 419\n\tSYS_SEM_WAIT_NOCANCEL              = 420\n\tSYS_AIO_SUSPEND_NOCANCEL           = 421\n\tSYS___SIGWAIT_NOCANCEL             = 422\n\tSYS___SEMWAIT_SIGNAL_NOCANCEL      = 423\n\tSYS___MAC_MOUNT                    = 424\n\tSYS___MAC_GET_MOUNT                = 425\n\tSYS___MAC_GETFSSTAT                = 426\n\tSYS_FSGETPATH                      = 427\n\tSYS_AUDIT_SESSION_SELF             = 428\n\tSYS_AUDIT_SESSION_JOIN             = 429\n\tSYS_FILEPORT_MAKEPORT              = 430\n\tSYS_FILEPORT_MAKEFD                = 431\n\tSYS_AUDIT_SESSION_PORT             = 432\n\tSYS_PID_SUSPEND                    = 433\n\tSYS_PID_RESUME                     = 434\n\tSYS_PID_HIBERNATE                  = 435\n\tSYS_PID_SHUTDOWN_SOCKETS           = 436\n\tSYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438\n\tSYS_KAS_INFO                       = 439\n\tSYS_MEMORYSTATUS_CONTROL           = 440\n\tSYS_GUARDED_OPEN_NP                = 441\n\tSYS_GUARDED_CLOSE_NP               = 442\n\tSYS_GUARDED_KQUEUE_NP              = 443\n\tSYS_CHANGE_FDGUARD_NP              = 444\n\tSYS_USRCTL                         = 445\n\tSYS_PROC_RLIMIT_CONTROL            = 446\n\tSYS_CONNECTX                       = 447\n\tSYS_DISCONNECTX                    = 448\n\tSYS_PEELOFF                        = 449\n\tSYS_SOCKET_DELEGATE                = 450\n\tSYS_TELEMETRY                      = 451\n\tSYS_PROC_UUID_POLICY               = 452\n\tSYS_MEMORYSTATUS_GET_LEVEL         = 453\n\tSYS_SYSTEM_OVERRIDE                = 454\n\tSYS_VFS_PURGE                      = 455\n\tSYS_SFI_CTL                        = 456\n\tSYS_SFI_PIDCTL                     = 457\n\tSYS_COALITION                      = 458\n\tSYS_COALITION_INFO                 = 459\n\tSYS_NECP_MATCH_POLICY              = 460\n\tSYS_GETATTRLISTBULK                = 461\n\tSYS_CLONEFILEAT                    = 462\n\tSYS_OPENAT                         = 463\n\tSYS_OPENAT_NOCANCEL                = 464\n\tSYS_RENAMEAT                       = 465\n\tSYS_FACCESSAT                      = 466\n\tSYS_FCHMODAT                       = 467\n\tSYS_FCHOWNAT                       = 468\n\tSYS_FSTATAT                        = 469\n\tSYS_FSTATAT64                      = 470\n\tSYS_LINKAT                         = 471\n\tSYS_UNLINKAT                       = 472\n\tSYS_READLINKAT                     = 473\n\tSYS_SYMLINKAT                      = 474\n\tSYS_MKDIRAT                        = 475\n\tSYS_GETATTRLISTAT                  = 476\n\tSYS_PROC_TRACE_LOG                 = 477\n\tSYS_BSDTHREAD_CTL                  = 478\n\tSYS_OPENBYID_NP                    = 479\n\tSYS_RECVMSG_X                      = 480\n\tSYS_SENDMSG_X                      = 481\n\tSYS_THREAD_SELFUSAGE               = 482\n\tSYS_CSRCTL                         = 483\n\tSYS_GUARDED_OPEN_DPROTECTED_NP     = 484\n\tSYS_GUARDED_WRITE_NP               = 485\n\tSYS_GUARDED_PWRITE_NP              = 486\n\tSYS_GUARDED_WRITEV_NP              = 487\n\tSYS_RENAMEATX_NP                   = 488\n\tSYS_MREMAP_ENCRYPTED               = 489\n\tSYS_NETAGENT_TRIGGER               = 490\n\tSYS_STACK_SNAPSHOT_WITH_CONFIG     = 491\n\tSYS_MICROSTACKSHOT                 = 492\n\tSYS_GRAB_PGO_DATA                  = 493\n\tSYS_PERSONA                        = 494\n\tSYS_WORK_INTERVAL_CTL              = 499\n\tSYS_GETENTROPY                     = 500\n\tSYS_NECP_OPEN                      = 501\n\tSYS_NECP_CLIENT_ACTION             = 502\n\tSYS___NEXUS_OPEN                   = 503\n\tSYS___NEXUS_REGISTER               = 504\n\tSYS___NEXUS_DEREGISTER             = 505\n\tSYS___NEXUS_CREATE                 = 506\n\tSYS___NEXUS_DESTROY                = 507\n\tSYS___NEXUS_GET_OPT                = 508\n\tSYS___NEXUS_SET_OPT                = 509\n\tSYS___CHANNEL_OPEN                 = 510\n\tSYS___CHANNEL_GET_INFO             = 511\n\tSYS___CHANNEL_SYNC                 = 512\n\tSYS___CHANNEL_GET_OPT              = 513\n\tSYS___CHANNEL_SET_OPT              = 514\n\tSYS_ULOCK_WAIT                     = 515\n\tSYS_ULOCK_WAKE                     = 516\n\tSYS_FCLONEFILEAT                   = 517\n\tSYS_FS_SNAPSHOT                    = 518\n\tSYS_TERMINATE_WITH_PAYLOAD         = 520\n\tSYS_ABORT_WITH_PAYLOAD             = 521\n\tSYS_NECP_SESSION_OPEN              = 522\n\tSYS_NECP_SESSION_ACTION            = 523\n\tSYS_SETATTRLISTAT                  = 524\n\tSYS_NET_QOS_GUIDELINE              = 525\n\tSYS_FMOUNT                         = 526\n\tSYS_NTP_ADJTIME                    = 527\n\tSYS_NTP_GETTIME                    = 528\n\tSYS_OS_FAULT_WITH_PAYLOAD          = 529\n\tSYS_MAXSYSCALL                     = 530\n\tSYS_INVALID                        = 63\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go",
    "content": "// mksysnum_dragonfly.pl\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,dragonfly\n\npackage unix\n\nconst (\n\t// SYS_NOSYS = 0;  // { int nosys(void); } syscall nosys_args int\n\tSYS_EXIT          = 1   // { void exit(int rval); }\n\tSYS_FORK          = 2   // { int fork(void); }\n\tSYS_READ          = 3   // { ssize_t read(int fd, void *buf, size_t nbyte); }\n\tSYS_WRITE         = 4   // { ssize_t write(int fd, const void *buf, size_t nbyte); }\n\tSYS_OPEN          = 5   // { int open(char *path, int flags, int mode); }\n\tSYS_CLOSE         = 6   // { int close(int fd); }\n\tSYS_WAIT4         = 7   // { int wait4(int pid, int *status, int options, \\\n\tSYS_LINK          = 9   // { int link(char *path, char *link); }\n\tSYS_UNLINK        = 10  // { int unlink(char *path); }\n\tSYS_CHDIR         = 12  // { int chdir(char *path); }\n\tSYS_FCHDIR        = 13  // { int fchdir(int fd); }\n\tSYS_MKNOD         = 14  // { int mknod(char *path, int mode, int dev); }\n\tSYS_CHMOD         = 15  // { int chmod(char *path, int mode); }\n\tSYS_CHOWN         = 16  // { int chown(char *path, int uid, int gid); }\n\tSYS_OBREAK        = 17  // { int obreak(char *nsize); } break obreak_args int\n\tSYS_GETFSSTAT     = 18  // { int getfsstat(struct statfs *buf, long bufsize, \\\n\tSYS_GETPID        = 20  // { pid_t getpid(void); }\n\tSYS_MOUNT         = 21  // { int mount(char *type, char *path, int flags, \\\n\tSYS_UNMOUNT       = 22  // { int unmount(char *path, int flags); }\n\tSYS_SETUID        = 23  // { int setuid(uid_t uid); }\n\tSYS_GETUID        = 24  // { uid_t getuid(void); }\n\tSYS_GETEUID       = 25  // { uid_t geteuid(void); }\n\tSYS_PTRACE        = 26  // { int ptrace(int req, pid_t pid, caddr_t addr, \\\n\tSYS_RECVMSG       = 27  // { int recvmsg(int s, struct msghdr *msg, int flags); }\n\tSYS_SENDMSG       = 28  // { int sendmsg(int s, caddr_t msg, int flags); }\n\tSYS_RECVFROM      = 29  // { int recvfrom(int s, caddr_t buf, size_t len, \\\n\tSYS_ACCEPT        = 30  // { int accept(int s, caddr_t name, int *anamelen); }\n\tSYS_GETPEERNAME   = 31  // { int getpeername(int fdes, caddr_t asa, int *alen); }\n\tSYS_GETSOCKNAME   = 32  // { int getsockname(int fdes, caddr_t asa, int *alen); }\n\tSYS_ACCESS        = 33  // { int access(char *path, int flags); }\n\tSYS_CHFLAGS       = 34  // { int chflags(char *path, int flags); }\n\tSYS_FCHFLAGS      = 35  // { int fchflags(int fd, int flags); }\n\tSYS_SYNC          = 36  // { int sync(void); }\n\tSYS_KILL          = 37  // { int kill(int pid, int signum); }\n\tSYS_GETPPID       = 39  // { pid_t getppid(void); }\n\tSYS_DUP           = 41  // { int dup(int fd); }\n\tSYS_PIPE          = 42  // { int pipe(void); }\n\tSYS_GETEGID       = 43  // { gid_t getegid(void); }\n\tSYS_PROFIL        = 44  // { int profil(caddr_t samples, size_t size, \\\n\tSYS_KTRACE        = 45  // { int ktrace(const char *fname, int ops, int facs, \\\n\tSYS_GETGID        = 47  // { gid_t getgid(void); }\n\tSYS_GETLOGIN      = 49  // { int getlogin(char *namebuf, u_int namelen); }\n\tSYS_SETLOGIN      = 50  // { int setlogin(char *namebuf); }\n\tSYS_ACCT          = 51  // { int acct(char *path); }\n\tSYS_SIGALTSTACK   = 53  // { int sigaltstack(stack_t *ss, stack_t *oss); }\n\tSYS_IOCTL         = 54  // { int ioctl(int fd, u_long com, caddr_t data); }\n\tSYS_REBOOT        = 55  // { int reboot(int opt); }\n\tSYS_REVOKE        = 56  // { int revoke(char *path); }\n\tSYS_SYMLINK       = 57  // { int symlink(char *path, char *link); }\n\tSYS_READLINK      = 58  // { int readlink(char *path, char *buf, int count); }\n\tSYS_EXECVE        = 59  // { int execve(char *fname, char **argv, char **envv); }\n\tSYS_UMASK         = 60  // { int umask(int newmask); } umask umask_args int\n\tSYS_CHROOT        = 61  // { int chroot(char *path); }\n\tSYS_MSYNC         = 65  // { int msync(void *addr, size_t len, int flags); }\n\tSYS_VFORK         = 66  // { pid_t vfork(void); }\n\tSYS_SBRK          = 69  // { int sbrk(int incr); }\n\tSYS_SSTK          = 70  // { int sstk(int incr); }\n\tSYS_MUNMAP        = 73  // { int munmap(void *addr, size_t len); }\n\tSYS_MPROTECT      = 74  // { int mprotect(void *addr, size_t len, int prot); }\n\tSYS_MADVISE       = 75  // { int madvise(void *addr, size_t len, int behav); }\n\tSYS_MINCORE       = 78  // { int mincore(const void *addr, size_t len, \\\n\tSYS_GETGROUPS     = 79  // { int getgroups(u_int gidsetsize, gid_t *gidset); }\n\tSYS_SETGROUPS     = 80  // { int setgroups(u_int gidsetsize, gid_t *gidset); }\n\tSYS_GETPGRP       = 81  // { int getpgrp(void); }\n\tSYS_SETPGID       = 82  // { int setpgid(int pid, int pgid); }\n\tSYS_SETITIMER     = 83  // { int setitimer(u_int which, struct itimerval *itv, \\\n\tSYS_SWAPON        = 85  // { int swapon(char *name); }\n\tSYS_GETITIMER     = 86  // { int getitimer(u_int which, struct itimerval *itv); }\n\tSYS_GETDTABLESIZE = 89  // { int getdtablesize(void); }\n\tSYS_DUP2          = 90  // { int dup2(int from, int to); }\n\tSYS_FCNTL         = 92  // { int fcntl(int fd, int cmd, long arg); }\n\tSYS_SELECT        = 93  // { int select(int nd, fd_set *in, fd_set *ou, \\\n\tSYS_FSYNC         = 95  // { int fsync(int fd); }\n\tSYS_SETPRIORITY   = 96  // { int setpriority(int which, int who, int prio); }\n\tSYS_SOCKET        = 97  // { int socket(int domain, int type, int protocol); }\n\tSYS_CONNECT       = 98  // { int connect(int s, caddr_t name, int namelen); }\n\tSYS_GETPRIORITY   = 100 // { int getpriority(int which, int who); }\n\tSYS_BIND          = 104 // { int bind(int s, caddr_t name, int namelen); }\n\tSYS_SETSOCKOPT    = 105 // { int setsockopt(int s, int level, int name, \\\n\tSYS_LISTEN        = 106 // { int listen(int s, int backlog); }\n\tSYS_GETTIMEOFDAY  = 116 // { int gettimeofday(struct timeval *tp, \\\n\tSYS_GETRUSAGE     = 117 // { int getrusage(int who, struct rusage *rusage); }\n\tSYS_GETSOCKOPT    = 118 // { int getsockopt(int s, int level, int name, \\\n\tSYS_READV         = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); }\n\tSYS_WRITEV        = 121 // { int writev(int fd, struct iovec *iovp, \\\n\tSYS_SETTIMEOFDAY  = 122 // { int settimeofday(struct timeval *tv, \\\n\tSYS_FCHOWN        = 123 // { int fchown(int fd, int uid, int gid); }\n\tSYS_FCHMOD        = 124 // { int fchmod(int fd, int mode); }\n\tSYS_SETREUID      = 126 // { int setreuid(int ruid, int euid); }\n\tSYS_SETREGID      = 127 // { int setregid(int rgid, int egid); }\n\tSYS_RENAME        = 128 // { int rename(char *from, char *to); }\n\tSYS_FLOCK         = 131 // { int flock(int fd, int how); }\n\tSYS_MKFIFO        = 132 // { int mkfifo(char *path, int mode); }\n\tSYS_SENDTO        = 133 // { int sendto(int s, caddr_t buf, size_t len, \\\n\tSYS_SHUTDOWN      = 134 // { int shutdown(int s, int how); }\n\tSYS_SOCKETPAIR    = 135 // { int socketpair(int domain, int type, int protocol, \\\n\tSYS_MKDIR         = 136 // { int mkdir(char *path, int mode); }\n\tSYS_RMDIR         = 137 // { int rmdir(char *path); }\n\tSYS_UTIMES        = 138 // { int utimes(char *path, struct timeval *tptr); }\n\tSYS_ADJTIME       = 140 // { int adjtime(struct timeval *delta, \\\n\tSYS_SETSID        = 147 // { int setsid(void); }\n\tSYS_QUOTACTL      = 148 // { int quotactl(char *path, int cmd, int uid, \\\n\tSYS_STATFS        = 157 // { int statfs(char *path, struct statfs *buf); }\n\tSYS_FSTATFS       = 158 // { int fstatfs(int fd, struct statfs *buf); }\n\tSYS_GETFH         = 161 // { int getfh(char *fname, struct fhandle *fhp); }\n\tSYS_GETDOMAINNAME = 162 // { int getdomainname(char *domainname, int len); }\n\tSYS_SETDOMAINNAME = 163 // { int setdomainname(char *domainname, int len); }\n\tSYS_UNAME         = 164 // { int uname(struct utsname *name); }\n\tSYS_SYSARCH       = 165 // { int sysarch(int op, char *parms); }\n\tSYS_RTPRIO        = 166 // { int rtprio(int function, pid_t pid, \\\n\tSYS_EXTPREAD      = 173 // { ssize_t extpread(int fd, void *buf, \\\n\tSYS_EXTPWRITE     = 174 // { ssize_t extpwrite(int fd, const void *buf, \\\n\tSYS_NTP_ADJTIME   = 176 // { int ntp_adjtime(struct timex *tp); }\n\tSYS_SETGID        = 181 // { int setgid(gid_t gid); }\n\tSYS_SETEGID       = 182 // { int setegid(gid_t egid); }\n\tSYS_SETEUID       = 183 // { int seteuid(uid_t euid); }\n\tSYS_PATHCONF      = 191 // { int pathconf(char *path, int name); }\n\tSYS_FPATHCONF     = 192 // { int fpathconf(int fd, int name); }\n\tSYS_GETRLIMIT     = 194 // { int getrlimit(u_int which, \\\n\tSYS_SETRLIMIT     = 195 // { int setrlimit(u_int which, \\\n\tSYS_MMAP          = 197 // { caddr_t mmap(caddr_t addr, size_t len, int prot, \\\n\t// SYS_NOSYS = 198;  // { int nosys(void); } __syscall __syscall_args int\n\tSYS_LSEEK                  = 199 // { off_t lseek(int fd, int pad, off_t offset, \\\n\tSYS_TRUNCATE               = 200 // { int truncate(char *path, int pad, off_t length); }\n\tSYS_FTRUNCATE              = 201 // { int ftruncate(int fd, int pad, off_t length); }\n\tSYS___SYSCTL               = 202 // { int __sysctl(int *name, u_int namelen, void *old, \\\n\tSYS_MLOCK                  = 203 // { int mlock(const void *addr, size_t len); }\n\tSYS_MUNLOCK                = 204 // { int munlock(const void *addr, size_t len); }\n\tSYS_UNDELETE               = 205 // { int undelete(char *path); }\n\tSYS_FUTIMES                = 206 // { int futimes(int fd, struct timeval *tptr); }\n\tSYS_GETPGID                = 207 // { int getpgid(pid_t pid); }\n\tSYS_POLL                   = 209 // { int poll(struct pollfd *fds, u_int nfds, \\\n\tSYS___SEMCTL               = 220 // { int __semctl(int semid, int semnum, int cmd, \\\n\tSYS_SEMGET                 = 221 // { int semget(key_t key, int nsems, int semflg); }\n\tSYS_SEMOP                  = 222 // { int semop(int semid, struct sembuf *sops, \\\n\tSYS_MSGCTL                 = 224 // { int msgctl(int msqid, int cmd, \\\n\tSYS_MSGGET                 = 225 // { int msgget(key_t key, int msgflg); }\n\tSYS_MSGSND                 = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, \\\n\tSYS_MSGRCV                 = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, \\\n\tSYS_SHMAT                  = 228 // { caddr_t shmat(int shmid, const void *shmaddr, \\\n\tSYS_SHMCTL                 = 229 // { int shmctl(int shmid, int cmd, \\\n\tSYS_SHMDT                  = 230 // { int shmdt(const void *shmaddr); }\n\tSYS_SHMGET                 = 231 // { int shmget(key_t key, size_t size, int shmflg); }\n\tSYS_CLOCK_GETTIME          = 232 // { int clock_gettime(clockid_t clock_id, \\\n\tSYS_CLOCK_SETTIME          = 233 // { int clock_settime(clockid_t clock_id, \\\n\tSYS_CLOCK_GETRES           = 234 // { int clock_getres(clockid_t clock_id, \\\n\tSYS_NANOSLEEP              = 240 // { int nanosleep(const struct timespec *rqtp, \\\n\tSYS_MINHERIT               = 250 // { int minherit(void *addr, size_t len, int inherit); }\n\tSYS_RFORK                  = 251 // { int rfork(int flags); }\n\tSYS_OPENBSD_POLL           = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, \\\n\tSYS_ISSETUGID              = 253 // { int issetugid(void); }\n\tSYS_LCHOWN                 = 254 // { int lchown(char *path, int uid, int gid); }\n\tSYS_LCHMOD                 = 274 // { int lchmod(char *path, mode_t mode); }\n\tSYS_LUTIMES                = 276 // { int lutimes(char *path, struct timeval *tptr); }\n\tSYS_EXTPREADV              = 289 // { ssize_t extpreadv(int fd, struct iovec *iovp, \\\n\tSYS_EXTPWRITEV             = 290 // { ssize_t extpwritev(int fd, struct iovec *iovp,\\\n\tSYS_FHSTATFS               = 297 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); }\n\tSYS_FHOPEN                 = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); }\n\tSYS_MODNEXT                = 300 // { int modnext(int modid); }\n\tSYS_MODSTAT                = 301 // { int modstat(int modid, struct module_stat* stat); }\n\tSYS_MODFNEXT               = 302 // { int modfnext(int modid); }\n\tSYS_MODFIND                = 303 // { int modfind(const char *name); }\n\tSYS_KLDLOAD                = 304 // { int kldload(const char *file); }\n\tSYS_KLDUNLOAD              = 305 // { int kldunload(int fileid); }\n\tSYS_KLDFIND                = 306 // { int kldfind(const char *file); }\n\tSYS_KLDNEXT                = 307 // { int kldnext(int fileid); }\n\tSYS_KLDSTAT                = 308 // { int kldstat(int fileid, struct kld_file_stat* stat); }\n\tSYS_KLDFIRSTMOD            = 309 // { int kldfirstmod(int fileid); }\n\tSYS_GETSID                 = 310 // { int getsid(pid_t pid); }\n\tSYS_SETRESUID              = 311 // { int setresuid(uid_t ruid, uid_t euid, uid_t suid); }\n\tSYS_SETRESGID              = 312 // { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); }\n\tSYS_AIO_RETURN             = 314 // { int aio_return(struct aiocb *aiocbp); }\n\tSYS_AIO_SUSPEND            = 315 // { int aio_suspend(struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); }\n\tSYS_AIO_CANCEL             = 316 // { int aio_cancel(int fd, struct aiocb *aiocbp); }\n\tSYS_AIO_ERROR              = 317 // { int aio_error(struct aiocb *aiocbp); }\n\tSYS_AIO_READ               = 318 // { int aio_read(struct aiocb *aiocbp); }\n\tSYS_AIO_WRITE              = 319 // { int aio_write(struct aiocb *aiocbp); }\n\tSYS_LIO_LISTIO             = 320 // { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); }\n\tSYS_YIELD                  = 321 // { int yield(void); }\n\tSYS_MLOCKALL               = 324 // { int mlockall(int how); }\n\tSYS_MUNLOCKALL             = 325 // { int munlockall(void); }\n\tSYS___GETCWD               = 326 // { int __getcwd(u_char *buf, u_int buflen); }\n\tSYS_SCHED_SETPARAM         = 327 // { int sched_setparam (pid_t pid, const struct sched_param *param); }\n\tSYS_SCHED_GETPARAM         = 328 // { int sched_getparam (pid_t pid, struct sched_param *param); }\n\tSYS_SCHED_SETSCHEDULER     = 329 // { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); }\n\tSYS_SCHED_GETSCHEDULER     = 330 // { int sched_getscheduler (pid_t pid); }\n\tSYS_SCHED_YIELD            = 331 // { int sched_yield (void); }\n\tSYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); }\n\tSYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); }\n\tSYS_SCHED_RR_GET_INTERVAL  = 334 // { int sched_rr_get_interval (pid_t pid, struct timespec *interval); }\n\tSYS_UTRACE                 = 335 // { int utrace(const void *addr, size_t len); }\n\tSYS_KLDSYM                 = 337 // { int kldsym(int fileid, int cmd, void *data); }\n\tSYS_JAIL                   = 338 // { int jail(struct jail *jail); }\n\tSYS_SIGPROCMASK            = 340 // { int sigprocmask(int how, const sigset_t *set, \\\n\tSYS_SIGSUSPEND             = 341 // { int sigsuspend(const sigset_t *sigmask); }\n\tSYS_SIGACTION              = 342 // { int sigaction(int sig, const struct sigaction *act, \\\n\tSYS_SIGPENDING             = 343 // { int sigpending(sigset_t *set); }\n\tSYS_SIGRETURN              = 344 // { int sigreturn(ucontext_t *sigcntxp); }\n\tSYS_SIGTIMEDWAIT           = 345 // { int sigtimedwait(const sigset_t *set,\\\n\tSYS_SIGWAITINFO            = 346 // { int sigwaitinfo(const sigset_t *set,\\\n\tSYS___ACL_GET_FILE         = 347 // { int __acl_get_file(const char *path, \\\n\tSYS___ACL_SET_FILE         = 348 // { int __acl_set_file(const char *path, \\\n\tSYS___ACL_GET_FD           = 349 // { int __acl_get_fd(int filedes, acl_type_t type, \\\n\tSYS___ACL_SET_FD           = 350 // { int __acl_set_fd(int filedes, acl_type_t type, \\\n\tSYS___ACL_DELETE_FILE      = 351 // { int __acl_delete_file(const char *path, \\\n\tSYS___ACL_DELETE_FD        = 352 // { int __acl_delete_fd(int filedes, acl_type_t type); }\n\tSYS___ACL_ACLCHECK_FILE    = 353 // { int __acl_aclcheck_file(const char *path, \\\n\tSYS___ACL_ACLCHECK_FD      = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, \\\n\tSYS_EXTATTRCTL             = 355 // { int extattrctl(const char *path, int cmd, \\\n\tSYS_EXTATTR_SET_FILE       = 356 // { int extattr_set_file(const char *path, \\\n\tSYS_EXTATTR_GET_FILE       = 357 // { int extattr_get_file(const char *path, \\\n\tSYS_EXTATTR_DELETE_FILE    = 358 // { int extattr_delete_file(const char *path, \\\n\tSYS_AIO_WAITCOMPLETE       = 359 // { int aio_waitcomplete(struct aiocb **aiocbp, struct timespec *timeout); }\n\tSYS_GETRESUID              = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); }\n\tSYS_GETRESGID              = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); }\n\tSYS_KQUEUE                 = 362 // { int kqueue(void); }\n\tSYS_KEVENT                 = 363 // { int kevent(int fd, \\\n\tSYS_KENV                   = 390 // { int kenv(int what, const char *name, char *value, int len); }\n\tSYS_LCHFLAGS               = 391 // { int lchflags(char *path, int flags); }\n\tSYS_UUIDGEN                = 392 // { int uuidgen(struct uuid *store, int count); }\n\tSYS_SENDFILE               = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, \\\n\tSYS_VARSYM_SET             = 450 // { int varsym_set(int level, const char *name, const char *data); }\n\tSYS_VARSYM_GET             = 451 // { int varsym_get(int mask, const char *wild, char *buf, int bufsize); }\n\tSYS_VARSYM_LIST            = 452 // { int varsym_list(int level, char *buf, int maxsize, int *marker); }\n\tSYS_EXEC_SYS_REGISTER      = 465 // { int exec_sys_register(void *entry); }\n\tSYS_EXEC_SYS_UNREGISTER    = 466 // { int exec_sys_unregister(int id); }\n\tSYS_SYS_CHECKPOINT         = 467 // { int sys_checkpoint(int type, int fd, pid_t pid, int retval); }\n\tSYS_MOUNTCTL               = 468 // { int mountctl(const char *path, int op, int fd, const void *ctl, int ctllen, void *buf, int buflen); }\n\tSYS_UMTX_SLEEP             = 469 // { int umtx_sleep(volatile const int *ptr, int value, int timeout); }\n\tSYS_UMTX_WAKEUP            = 470 // { int umtx_wakeup(volatile const int *ptr, int count); }\n\tSYS_JAIL_ATTACH            = 471 // { int jail_attach(int jid); }\n\tSYS_SET_TLS_AREA           = 472 // { int set_tls_area(int which, struct tls_info *info, size_t infosize); }\n\tSYS_GET_TLS_AREA           = 473 // { int get_tls_area(int which, struct tls_info *info, size_t infosize); }\n\tSYS_CLOSEFROM              = 474 // { int closefrom(int fd); }\n\tSYS_STAT                   = 475 // { int stat(const char *path, struct stat *ub); }\n\tSYS_FSTAT                  = 476 // { int fstat(int fd, struct stat *sb); }\n\tSYS_LSTAT                  = 477 // { int lstat(const char *path, struct stat *ub); }\n\tSYS_FHSTAT                 = 478 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); }\n\tSYS_GETDIRENTRIES          = 479 // { int getdirentries(int fd, char *buf, u_int count, \\\n\tSYS_GETDENTS               = 480 // { int getdents(int fd, char *buf, size_t count); }\n\tSYS_USCHED_SET             = 481 // { int usched_set(pid_t pid, int cmd, void *data, \\\n\tSYS_EXTACCEPT              = 482 // { int extaccept(int s, int flags, caddr_t name, int *anamelen); }\n\tSYS_EXTCONNECT             = 483 // { int extconnect(int s, int flags, caddr_t name, int namelen); }\n\tSYS_MCONTROL               = 485 // { int mcontrol(void *addr, size_t len, int behav, off_t value); }\n\tSYS_VMSPACE_CREATE         = 486 // { int vmspace_create(void *id, int type, void *data); }\n\tSYS_VMSPACE_DESTROY        = 487 // { int vmspace_destroy(void *id); }\n\tSYS_VMSPACE_CTL            = 488 // { int vmspace_ctl(void *id, int cmd, \t\t\\\n\tSYS_VMSPACE_MMAP           = 489 // { int vmspace_mmap(void *id, void *addr, size_t len, \\\n\tSYS_VMSPACE_MUNMAP         = 490 // { int vmspace_munmap(void *id, void *addr,\t\\\n\tSYS_VMSPACE_MCONTROL       = 491 // { int vmspace_mcontrol(void *id, void *addr, \t\\\n\tSYS_VMSPACE_PREAD          = 492 // { ssize_t vmspace_pread(void *id, void *buf, \\\n\tSYS_VMSPACE_PWRITE         = 493 // { ssize_t vmspace_pwrite(void *id, const void *buf, \\\n\tSYS_EXTEXIT                = 494 // { void extexit(int how, int status, void *addr); }\n\tSYS_LWP_CREATE             = 495 // { int lwp_create(struct lwp_params *params); }\n\tSYS_LWP_GETTID             = 496 // { lwpid_t lwp_gettid(void); }\n\tSYS_LWP_KILL               = 497 // { int lwp_kill(pid_t pid, lwpid_t tid, int signum); }\n\tSYS_LWP_RTPRIO             = 498 // { int lwp_rtprio(int function, pid_t pid, lwpid_t tid, struct rtprio *rtp); }\n\tSYS_PSELECT                = 499 // { int pselect(int nd, fd_set *in, fd_set *ou, \\\n\tSYS_STATVFS                = 500 // { int statvfs(const char *path, struct statvfs *buf); }\n\tSYS_FSTATVFS               = 501 // { int fstatvfs(int fd, struct statvfs *buf); }\n\tSYS_FHSTATVFS              = 502 // { int fhstatvfs(const struct fhandle *u_fhp, struct statvfs *buf); }\n\tSYS_GETVFSSTAT             = 503 // { int getvfsstat(struct statfs *buf,          \\\n\tSYS_OPENAT                 = 504 // { int openat(int fd, char *path, int flags, int mode); }\n\tSYS_FSTATAT                = 505 // { int fstatat(int fd, char *path, \t\\\n\tSYS_FCHMODAT               = 506 // { int fchmodat(int fd, char *path, int mode, \\\n\tSYS_FCHOWNAT               = 507 // { int fchownat(int fd, char *path, int uid, int gid, \\\n\tSYS_UNLINKAT               = 508 // { int unlinkat(int fd, char *path, int flags); }\n\tSYS_FACCESSAT              = 509 // { int faccessat(int fd, char *path, int amode, \\\n\tSYS_MQ_OPEN                = 510 // { mqd_t mq_open(const char * name, int oflag, \\\n\tSYS_MQ_CLOSE               = 511 // { int mq_close(mqd_t mqdes); }\n\tSYS_MQ_UNLINK              = 512 // { int mq_unlink(const char *name); }\n\tSYS_MQ_GETATTR             = 513 // { int mq_getattr(mqd_t mqdes, \\\n\tSYS_MQ_SETATTR             = 514 // { int mq_setattr(mqd_t mqdes, \\\n\tSYS_MQ_NOTIFY              = 515 // { int mq_notify(mqd_t mqdes, \\\n\tSYS_MQ_SEND                = 516 // { int mq_send(mqd_t mqdes, const char *msg_ptr, \\\n\tSYS_MQ_RECEIVE             = 517 // { ssize_t mq_receive(mqd_t mqdes, char *msg_ptr, \\\n\tSYS_MQ_TIMEDSEND           = 518 // { int mq_timedsend(mqd_t mqdes, \\\n\tSYS_MQ_TIMEDRECEIVE        = 519 // { ssize_t mq_timedreceive(mqd_t mqdes, \\\n\tSYS_IOPRIO_SET             = 520 // { int ioprio_set(int which, int who, int prio); }\n\tSYS_IOPRIO_GET             = 521 // { int ioprio_get(int which, int who); }\n\tSYS_CHROOT_KERNEL          = 522 // { int chroot_kernel(char *path); }\n\tSYS_RENAMEAT               = 523 // { int renameat(int oldfd, char *old, int newfd, \\\n\tSYS_MKDIRAT                = 524 // { int mkdirat(int fd, char *path, mode_t mode); }\n\tSYS_MKFIFOAT               = 525 // { int mkfifoat(int fd, char *path, mode_t mode); }\n\tSYS_MKNODAT                = 526 // { int mknodat(int fd, char *path, mode_t mode, \\\n\tSYS_READLINKAT             = 527 // { int readlinkat(int fd, char *path, char *buf, \\\n\tSYS_SYMLINKAT              = 528 // { int symlinkat(char *path1, int fd, char *path2); }\n\tSYS_SWAPOFF                = 529 // { int swapoff(char *name); }\n\tSYS_VQUOTACTL              = 530 // { int vquotactl(const char *path, \\\n\tSYS_LINKAT                 = 531 // { int linkat(int fd1, char *path1, int fd2, \\\n\tSYS_EACCESS                = 532 // { int eaccess(char *path, int flags); }\n\tSYS_LPATHCONF              = 533 // { int lpathconf(char *path, int name); }\n\tSYS_VMM_GUEST_CTL          = 534 // { int vmm_guest_ctl(int op, struct vmm_guest_options *options); }\n\tSYS_VMM_GUEST_SYNC_ADDR    = 535 // { int vmm_guest_sync_addr(long *dstaddr, long *srcaddr); }\n\tSYS_PROCCTL                = 536 // { int procctl(idtype_t idtype, id_t id, int cmd, void *data); }\n\tSYS_CHFLAGSAT              = 537 // { int chflagsat(int fd, const char *path, int flags, int atflags);}\n\tSYS_PIPE2                  = 538 // { int pipe2(int *fildes, int flags); }\n\tSYS_UTIMENSAT              = 539 // { int utimensat(int fd, const char *path, const struct timespec *ts, int flags); }\n\tSYS_FUTIMENS               = 540 // { int futimens(int fd, const struct timespec *ts); }\n\tSYS_ACCEPT4                = 541 // { int accept4(int s, caddr_t name, int *anamelen, int flags); }\n\tSYS_LWP_SETNAME            = 542 // { int lwp_setname(lwpid_t tid, const char *name); }\n\tSYS_PPOLL                  = 543 // { int ppoll(struct pollfd *fds, u_int nfds, \\\n\tSYS_LWP_SETAFFINITY        = 544 // { int lwp_setaffinity(pid_t pid, lwpid_t tid, const cpumask_t *mask); }\n\tSYS_LWP_GETAFFINITY        = 545 // { int lwp_getaffinity(pid_t pid, lwpid_t tid, cpumask_t *mask); }\n\tSYS_LWP_CREATE2            = 546 // { int lwp_create2(struct lwp_params *params, const cpumask_t *mask); }\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go",
    "content": "// mksysnum_freebsd.pl\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build 386,freebsd\n\npackage unix\n\nconst (\n\t// SYS_NOSYS = 0;  // { int nosys(void); } syscall nosys_args int\n\tSYS_EXIT                   = 1   // { void sys_exit(int rval); } exit \\\n\tSYS_FORK                   = 2   // { int fork(void); }\n\tSYS_READ                   = 3   // { ssize_t read(int fd, void *buf, \\\n\tSYS_WRITE                  = 4   // { ssize_t write(int fd, const void *buf, \\\n\tSYS_OPEN                   = 5   // { int open(char *path, int flags, int mode); }\n\tSYS_CLOSE                  = 6   // { int close(int fd); }\n\tSYS_WAIT4                  = 7   // { int wait4(int pid, int *status, \\\n\tSYS_LINK                   = 9   // { int link(char *path, char *link); }\n\tSYS_UNLINK                 = 10  // { int unlink(char *path); }\n\tSYS_CHDIR                  = 12  // { int chdir(char *path); }\n\tSYS_FCHDIR                 = 13  // { int fchdir(int fd); }\n\tSYS_MKNOD                  = 14  // { int mknod(char *path, int mode, int dev); }\n\tSYS_CHMOD                  = 15  // { int chmod(char *path, int mode); }\n\tSYS_CHOWN                  = 16  // { int chown(char *path, int uid, int gid); }\n\tSYS_OBREAK                 = 17  // { int obreak(char *nsize); } break \\\n\tSYS_GETPID                 = 20  // { pid_t getpid(void); }\n\tSYS_MOUNT                  = 21  // { int mount(char *type, char *path, \\\n\tSYS_UNMOUNT                = 22  // { int unmount(char *path, int flags); }\n\tSYS_SETUID                 = 23  // { int setuid(uid_t uid); }\n\tSYS_GETUID                 = 24  // { uid_t getuid(void); }\n\tSYS_GETEUID                = 25  // { uid_t geteuid(void); }\n\tSYS_PTRACE                 = 26  // { int ptrace(int req, pid_t pid, \\\n\tSYS_RECVMSG                = 27  // { int recvmsg(int s, struct msghdr *msg, \\\n\tSYS_SENDMSG                = 28  // { int sendmsg(int s, struct msghdr *msg, \\\n\tSYS_RECVFROM               = 29  // { int recvfrom(int s, caddr_t buf, \\\n\tSYS_ACCEPT                 = 30  // { int accept(int s, \\\n\tSYS_GETPEERNAME            = 31  // { int getpeername(int fdes, \\\n\tSYS_GETSOCKNAME            = 32  // { int getsockname(int fdes, \\\n\tSYS_ACCESS                 = 33  // { int access(char *path, int amode); }\n\tSYS_CHFLAGS                = 34  // { int chflags(const char *path, u_long flags); }\n\tSYS_FCHFLAGS               = 35  // { int fchflags(int fd, u_long flags); }\n\tSYS_SYNC                   = 36  // { int sync(void); }\n\tSYS_KILL                   = 37  // { int kill(int pid, int signum); }\n\tSYS_GETPPID                = 39  // { pid_t getppid(void); }\n\tSYS_DUP                    = 41  // { int dup(u_int fd); }\n\tSYS_PIPE                   = 42  // { int pipe(void); }\n\tSYS_GETEGID                = 43  // { gid_t getegid(void); }\n\tSYS_PROFIL                 = 44  // { int profil(caddr_t samples, size_t size, \\\n\tSYS_KTRACE                 = 45  // { int ktrace(const char *fname, int ops, \\\n\tSYS_GETGID                 = 47  // { gid_t getgid(void); }\n\tSYS_GETLOGIN               = 49  // { int getlogin(char *namebuf, u_int \\\n\tSYS_SETLOGIN               = 50  // { int setlogin(char *namebuf); }\n\tSYS_ACCT                   = 51  // { int acct(char *path); }\n\tSYS_SIGALTSTACK            = 53  // { int sigaltstack(stack_t *ss, \\\n\tSYS_IOCTL                  = 54  // { int ioctl(int fd, u_long com, \\\n\tSYS_REBOOT                 = 55  // { int reboot(int opt); }\n\tSYS_REVOKE                 = 56  // { int revoke(char *path); }\n\tSYS_SYMLINK                = 57  // { int symlink(char *path, char *link); }\n\tSYS_READLINK               = 58  // { ssize_t readlink(char *path, char *buf, \\\n\tSYS_EXECVE                 = 59  // { int execve(char *fname, char **argv, \\\n\tSYS_UMASK                  = 60  // { int umask(int newmask); } umask umask_args \\\n\tSYS_CHROOT                 = 61  // { int chroot(char *path); }\n\tSYS_MSYNC                  = 65  // { int msync(void *addr, size_t len, \\\n\tSYS_VFORK                  = 66  // { int vfork(void); }\n\tSYS_SBRK                   = 69  // { int sbrk(int incr); }\n\tSYS_SSTK                   = 70  // { int sstk(int incr); }\n\tSYS_OVADVISE               = 72  // { int ovadvise(int anom); } vadvise \\\n\tSYS_MUNMAP                 = 73  // { int munmap(void *addr, size_t len); }\n\tSYS_MPROTECT               = 74  // { int mprotect(const void *addr, size_t len, \\\n\tSYS_MADVISE                = 75  // { int madvise(void *addr, size_t len, \\\n\tSYS_MINCORE                = 78  // { int mincore(const void *addr, size_t len, \\\n\tSYS_GETGROUPS              = 79  // { int getgroups(u_int gidsetsize, \\\n\tSYS_SETGROUPS              = 80  // { int setgroups(u_int gidsetsize, \\\n\tSYS_GETPGRP                = 81  // { int getpgrp(void); }\n\tSYS_SETPGID                = 82  // { int setpgid(int pid, int pgid); }\n\tSYS_SETITIMER              = 83  // { int setitimer(u_int which, struct \\\n\tSYS_SWAPON                 = 85  // { int swapon(char *name); }\n\tSYS_GETITIMER              = 86  // { int getitimer(u_int which, \\\n\tSYS_GETDTABLESIZE          = 89  // { int getdtablesize(void); }\n\tSYS_DUP2                   = 90  // { int dup2(u_int from, u_int to); }\n\tSYS_FCNTL                  = 92  // { int fcntl(int fd, int cmd, long arg); }\n\tSYS_SELECT                 = 93  // { int select(int nd, fd_set *in, fd_set *ou, \\\n\tSYS_FSYNC                  = 95  // { int fsync(int fd); }\n\tSYS_SETPRIORITY            = 96  // { int setpriority(int which, int who, \\\n\tSYS_SOCKET                 = 97  // { int socket(int domain, int type, \\\n\tSYS_CONNECT                = 98  // { int connect(int s, caddr_t name, \\\n\tSYS_GETPRIORITY            = 100 // { int getpriority(int which, int who); }\n\tSYS_BIND                   = 104 // { int bind(int s, caddr_t name, \\\n\tSYS_SETSOCKOPT             = 105 // { int setsockopt(int s, int level, int name, \\\n\tSYS_LISTEN                 = 106 // { int listen(int s, int backlog); }\n\tSYS_GETTIMEOFDAY           = 116 // { int gettimeofday(struct timeval *tp, \\\n\tSYS_GETRUSAGE              = 117 // { int getrusage(int who, \\\n\tSYS_GETSOCKOPT             = 118 // { int getsockopt(int s, int level, int name, \\\n\tSYS_READV                  = 120 // { int readv(int fd, struct iovec *iovp, \\\n\tSYS_WRITEV                 = 121 // { int writev(int fd, struct iovec *iovp, \\\n\tSYS_SETTIMEOFDAY           = 122 // { int settimeofday(struct timeval *tv, \\\n\tSYS_FCHOWN                 = 123 // { int fchown(int fd, int uid, int gid); }\n\tSYS_FCHMOD                 = 124 // { int fchmod(int fd, int mode); }\n\tSYS_SETREUID               = 126 // { int setreuid(int ruid, int euid); }\n\tSYS_SETREGID               = 127 // { int setregid(int rgid, int egid); }\n\tSYS_RENAME                 = 128 // { int rename(char *from, char *to); }\n\tSYS_FLOCK                  = 131 // { int flock(int fd, int how); }\n\tSYS_MKFIFO                 = 132 // { int mkfifo(char *path, int mode); }\n\tSYS_SENDTO                 = 133 // { int sendto(int s, caddr_t buf, size_t len, \\\n\tSYS_SHUTDOWN               = 134 // { int shutdown(int s, int how); }\n\tSYS_SOCKETPAIR             = 135 // { int socketpair(int domain, int type, \\\n\tSYS_MKDIR                  = 136 // { int mkdir(char *path, int mode); }\n\tSYS_RMDIR                  = 137 // { int rmdir(char *path); }\n\tSYS_UTIMES                 = 138 // { int utimes(char *path, \\\n\tSYS_ADJTIME                = 140 // { int adjtime(struct timeval *delta, \\\n\tSYS_SETSID                 = 147 // { int setsid(void); }\n\tSYS_QUOTACTL               = 148 // { int quotactl(char *path, int cmd, int uid, \\\n\tSYS_LGETFH                 = 160 // { int lgetfh(char *fname, \\\n\tSYS_GETFH                  = 161 // { int getfh(char *fname, \\\n\tSYS_SYSARCH                = 165 // { int sysarch(int op, char *parms); }\n\tSYS_RTPRIO                 = 166 // { int rtprio(int function, pid_t pid, \\\n\tSYS_FREEBSD6_PREAD         = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \\\n\tSYS_FREEBSD6_PWRITE        = 174 // { ssize_t freebsd6_pwrite(int fd, \\\n\tSYS_SETFIB                 = 175 // { int setfib(int fibnum); }\n\tSYS_NTP_ADJTIME            = 176 // { int ntp_adjtime(struct timex *tp); }\n\tSYS_SETGID                 = 181 // { int setgid(gid_t gid); }\n\tSYS_SETEGID                = 182 // { int setegid(gid_t egid); }\n\tSYS_SETEUID                = 183 // { int seteuid(uid_t euid); }\n\tSYS_STAT                   = 188 // { int stat(char *path, struct stat *ub); }\n\tSYS_FSTAT                  = 189 // { int fstat(int fd, struct stat *sb); }\n\tSYS_LSTAT                  = 190 // { int lstat(char *path, struct stat *ub); }\n\tSYS_PATHCONF               = 191 // { int pathconf(char *path, int name); }\n\tSYS_FPATHCONF              = 192 // { int fpathconf(int fd, int name); }\n\tSYS_GETRLIMIT              = 194 // { int getrlimit(u_int which, \\\n\tSYS_SETRLIMIT              = 195 // { int setrlimit(u_int which, \\\n\tSYS_GETDIRENTRIES          = 196 // { int getdirentries(int fd, char *buf, \\\n\tSYS_FREEBSD6_MMAP          = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \\\n\tSYS_FREEBSD6_LSEEK         = 199 // { off_t freebsd6_lseek(int fd, int pad, \\\n\tSYS_FREEBSD6_TRUNCATE      = 200 // { int freebsd6_truncate(char *path, int pad, \\\n\tSYS_FREEBSD6_FTRUNCATE     = 201 // { int freebsd6_ftruncate(int fd, int pad, \\\n\tSYS___SYSCTL               = 202 // { int __sysctl(int *name, u_int namelen, \\\n\tSYS_MLOCK                  = 203 // { int mlock(const void *addr, size_t len); }\n\tSYS_MUNLOCK                = 204 // { int munlock(const void *addr, size_t len); }\n\tSYS_UNDELETE               = 205 // { int undelete(char *path); }\n\tSYS_FUTIMES                = 206 // { int futimes(int fd, struct timeval *tptr); }\n\tSYS_GETPGID                = 207 // { int getpgid(pid_t pid); }\n\tSYS_POLL                   = 209 // { int poll(struct pollfd *fds, u_int nfds, \\\n\tSYS_CLOCK_GETTIME          = 232 // { int clock_gettime(clockid_t clock_id, \\\n\tSYS_CLOCK_SETTIME          = 233 // { int clock_settime( \\\n\tSYS_CLOCK_GETRES           = 234 // { int clock_getres(clockid_t clock_id, \\\n\tSYS_KTIMER_CREATE          = 235 // { int ktimer_create(clockid_t clock_id, \\\n\tSYS_KTIMER_DELETE          = 236 // { int ktimer_delete(int timerid); }\n\tSYS_KTIMER_SETTIME         = 237 // { int ktimer_settime(int timerid, int flags, \\\n\tSYS_KTIMER_GETTIME         = 238 // { int ktimer_gettime(int timerid, struct \\\n\tSYS_KTIMER_GETOVERRUN      = 239 // { int ktimer_getoverrun(int timerid); }\n\tSYS_NANOSLEEP              = 240 // { int nanosleep(const struct timespec *rqtp, \\\n\tSYS_FFCLOCK_GETCOUNTER     = 241 // { int ffclock_getcounter(ffcounter *ffcount); }\n\tSYS_FFCLOCK_SETESTIMATE    = 242 // { int ffclock_setestimate( \\\n\tSYS_FFCLOCK_GETESTIMATE    = 243 // { int ffclock_getestimate( \\\n\tSYS_CLOCK_GETCPUCLOCKID2   = 247 // { int clock_getcpuclockid2(id_t id,\\\n\tSYS_NTP_GETTIME            = 248 // { int ntp_gettime(struct ntptimeval *ntvp); }\n\tSYS_MINHERIT               = 250 // { int minherit(void *addr, size_t len, \\\n\tSYS_RFORK                  = 251 // { int rfork(int flags); }\n\tSYS_OPENBSD_POLL           = 252 // { int openbsd_poll(struct pollfd *fds, \\\n\tSYS_ISSETUGID              = 253 // { int issetugid(void); }\n\tSYS_LCHOWN                 = 254 // { int lchown(char *path, int uid, int gid); }\n\tSYS_GETDENTS               = 272 // { int getdents(int fd, char *buf, \\\n\tSYS_LCHMOD                 = 274 // { int lchmod(char *path, mode_t mode); }\n\tSYS_LUTIMES                = 276 // { int lutimes(char *path, \\\n\tSYS_NSTAT                  = 278 // { int nstat(char *path, struct nstat *ub); }\n\tSYS_NFSTAT                 = 279 // { int nfstat(int fd, struct nstat *sb); }\n\tSYS_NLSTAT                 = 280 // { int nlstat(char *path, struct nstat *ub); }\n\tSYS_PREADV                 = 289 // { ssize_t preadv(int fd, struct iovec *iovp, \\\n\tSYS_PWRITEV                = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \\\n\tSYS_FHOPEN                 = 298 // { int fhopen(const struct fhandle *u_fhp, \\\n\tSYS_FHSTAT                 = 299 // { int fhstat(const struct fhandle *u_fhp, \\\n\tSYS_MODNEXT                = 300 // { int modnext(int modid); }\n\tSYS_MODSTAT                = 301 // { int modstat(int modid, \\\n\tSYS_MODFNEXT               = 302 // { int modfnext(int modid); }\n\tSYS_MODFIND                = 303 // { int modfind(const char *name); }\n\tSYS_KLDLOAD                = 304 // { int kldload(const char *file); }\n\tSYS_KLDUNLOAD              = 305 // { int kldunload(int fileid); }\n\tSYS_KLDFIND                = 306 // { int kldfind(const char *file); }\n\tSYS_KLDNEXT                = 307 // { int kldnext(int fileid); }\n\tSYS_KLDSTAT                = 308 // { int kldstat(int fileid, struct \\\n\tSYS_KLDFIRSTMOD            = 309 // { int kldfirstmod(int fileid); }\n\tSYS_GETSID                 = 310 // { int getsid(pid_t pid); }\n\tSYS_SETRESUID              = 311 // { int setresuid(uid_t ruid, uid_t euid, \\\n\tSYS_SETRESGID              = 312 // { int setresgid(gid_t rgid, gid_t egid, \\\n\tSYS_YIELD                  = 321 // { int yield(void); }\n\tSYS_MLOCKALL               = 324 // { int mlockall(int how); }\n\tSYS_MUNLOCKALL             = 325 // { int munlockall(void); }\n\tSYS___GETCWD               = 326 // { int __getcwd(char *buf, u_int buflen); }\n\tSYS_SCHED_SETPARAM         = 327 // { int sched_setparam (pid_t pid, \\\n\tSYS_SCHED_GETPARAM         = 328 // { int sched_getparam (pid_t pid, struct \\\n\tSYS_SCHED_SETSCHEDULER     = 329 // { int sched_setscheduler (pid_t pid, int \\\n\tSYS_SCHED_GETSCHEDULER     = 330 // { int sched_getscheduler (pid_t pid); }\n\tSYS_SCHED_YIELD            = 331 // { int sched_yield (void); }\n\tSYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); }\n\tSYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); }\n\tSYS_SCHED_RR_GET_INTERVAL  = 334 // { int sched_rr_get_interval (pid_t pid, \\\n\tSYS_UTRACE                 = 335 // { int utrace(const void *addr, size_t len); }\n\tSYS_KLDSYM                 = 337 // { int kldsym(int fileid, int cmd, \\\n\tSYS_JAIL                   = 338 // { int jail(struct jail *jail); }\n\tSYS_SIGPROCMASK            = 340 // { int sigprocmask(int how, \\\n\tSYS_SIGSUSPEND             = 341 // { int sigsuspend(const sigset_t *sigmask); }\n\tSYS_SIGPENDING             = 343 // { int sigpending(sigset_t *set); }\n\tSYS_SIGTIMEDWAIT           = 345 // { int sigtimedwait(const sigset_t *set, \\\n\tSYS_SIGWAITINFO            = 346 // { int sigwaitinfo(const sigset_t *set, \\\n\tSYS___ACL_GET_FILE         = 347 // { int __acl_get_file(const char *path, \\\n\tSYS___ACL_SET_FILE         = 348 // { int __acl_set_file(const char *path, \\\n\tSYS___ACL_GET_FD           = 349 // { int __acl_get_fd(int filedes, \\\n\tSYS___ACL_SET_FD           = 350 // { int __acl_set_fd(int filedes, \\\n\tSYS___ACL_DELETE_FILE      = 351 // { int __acl_delete_file(const char *path, \\\n\tSYS___ACL_DELETE_FD        = 352 // { int __acl_delete_fd(int filedes, \\\n\tSYS___ACL_ACLCHECK_FILE    = 353 // { int __acl_aclcheck_file(const char *path, \\\n\tSYS___ACL_ACLCHECK_FD      = 354 // { int __acl_aclcheck_fd(int filedes, \\\n\tSYS_EXTATTRCTL             = 355 // { int extattrctl(const char *path, int cmd, \\\n\tSYS_EXTATTR_SET_FILE       = 356 // { ssize_t extattr_set_file( \\\n\tSYS_EXTATTR_GET_FILE       = 357 // { ssize_t extattr_get_file( \\\n\tSYS_EXTATTR_DELETE_FILE    = 358 // { int extattr_delete_file(const char *path, \\\n\tSYS_GETRESUID              = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \\\n\tSYS_GETRESGID              = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \\\n\tSYS_KQUEUE                 = 362 // { int kqueue(void); }\n\tSYS_KEVENT                 = 363 // { int kevent(int fd, \\\n\tSYS_EXTATTR_SET_FD         = 371 // { ssize_t extattr_set_fd(int fd, \\\n\tSYS_EXTATTR_GET_FD         = 372 // { ssize_t extattr_get_fd(int fd, \\\n\tSYS_EXTATTR_DELETE_FD      = 373 // { int extattr_delete_fd(int fd, \\\n\tSYS___SETUGID              = 374 // { int __setugid(int flag); }\n\tSYS_EACCESS                = 376 // { int eaccess(char *path, int amode); }\n\tSYS_NMOUNT                 = 378 // { int nmount(struct iovec *iovp, \\\n\tSYS___MAC_GET_PROC         = 384 // { int __mac_get_proc(struct mac *mac_p); }\n\tSYS___MAC_SET_PROC         = 385 // { int __mac_set_proc(struct mac *mac_p); }\n\tSYS___MAC_GET_FD           = 386 // { int __mac_get_fd(int fd, \\\n\tSYS___MAC_GET_FILE         = 387 // { int __mac_get_file(const char *path_p, \\\n\tSYS___MAC_SET_FD           = 388 // { int __mac_set_fd(int fd, \\\n\tSYS___MAC_SET_FILE         = 389 // { int __mac_set_file(const char *path_p, \\\n\tSYS_KENV                   = 390 // { int kenv(int what, const char *name, \\\n\tSYS_LCHFLAGS               = 391 // { int lchflags(const char *path, \\\n\tSYS_UUIDGEN                = 392 // { int uuidgen(struct uuid *store, \\\n\tSYS_SENDFILE               = 393 // { int sendfile(int fd, int s, off_t offset, \\\n\tSYS_MAC_SYSCALL            = 394 // { int mac_syscall(const char *policy, \\\n\tSYS_GETFSSTAT              = 395 // { int getfsstat(struct statfs *buf, \\\n\tSYS_STATFS                 = 396 // { int statfs(char *path, \\\n\tSYS_FSTATFS                = 397 // { int fstatfs(int fd, struct statfs *buf); }\n\tSYS_FHSTATFS               = 398 // { int fhstatfs(const struct fhandle *u_fhp, \\\n\tSYS___MAC_GET_PID          = 409 // { int __mac_get_pid(pid_t pid, \\\n\tSYS___MAC_GET_LINK         = 410 // { int __mac_get_link(const char *path_p, \\\n\tSYS___MAC_SET_LINK         = 411 // { int __mac_set_link(const char *path_p, \\\n\tSYS_EXTATTR_SET_LINK       = 412 // { ssize_t extattr_set_link( \\\n\tSYS_EXTATTR_GET_LINK       = 413 // { ssize_t extattr_get_link( \\\n\tSYS_EXTATTR_DELETE_LINK    = 414 // { int extattr_delete_link( \\\n\tSYS___MAC_EXECVE           = 415 // { int __mac_execve(char *fname, char **argv, \\\n\tSYS_SIGACTION              = 416 // { int sigaction(int sig, \\\n\tSYS_SIGRETURN              = 417 // { int sigreturn( \\\n\tSYS_GETCONTEXT             = 421 // { int getcontext(struct __ucontext *ucp); }\n\tSYS_SETCONTEXT             = 422 // { int setcontext( \\\n\tSYS_SWAPCONTEXT            = 423 // { int swapcontext(struct __ucontext *oucp, \\\n\tSYS_SWAPOFF                = 424 // { int swapoff(const char *name); }\n\tSYS___ACL_GET_LINK         = 425 // { int __acl_get_link(const char *path, \\\n\tSYS___ACL_SET_LINK         = 426 // { int __acl_set_link(const char *path, \\\n\tSYS___ACL_DELETE_LINK      = 427 // { int __acl_delete_link(const char *path, \\\n\tSYS___ACL_ACLCHECK_LINK    = 428 // { int __acl_aclcheck_link(const char *path, \\\n\tSYS_SIGWAIT                = 429 // { int sigwait(const sigset_t *set, \\\n\tSYS_THR_CREATE             = 430 // { int thr_create(ucontext_t *ctx, long *id, \\\n\tSYS_THR_EXIT               = 431 // { void thr_exit(long *state); }\n\tSYS_THR_SELF               = 432 // { int thr_self(long *id); }\n\tSYS_THR_KILL               = 433 // { int thr_kill(long id, int sig); }\n\tSYS__UMTX_LOCK             = 434 // { int _umtx_lock(struct umtx *umtx); }\n\tSYS__UMTX_UNLOCK           = 435 // { int _umtx_unlock(struct umtx *umtx); }\n\tSYS_JAIL_ATTACH            = 436 // { int jail_attach(int jid); }\n\tSYS_EXTATTR_LIST_FD        = 437 // { ssize_t extattr_list_fd(int fd, \\\n\tSYS_EXTATTR_LIST_FILE      = 438 // { ssize_t extattr_list_file( \\\n\tSYS_EXTATTR_LIST_LINK      = 439 // { ssize_t extattr_list_link( \\\n\tSYS_THR_SUSPEND            = 442 // { int thr_suspend( \\\n\tSYS_THR_WAKE               = 443 // { int thr_wake(long id); }\n\tSYS_KLDUNLOADF             = 444 // { int kldunloadf(int fileid, int flags); }\n\tSYS_AUDIT                  = 445 // { int audit(const void *record, \\\n\tSYS_AUDITON                = 446 // { int auditon(int cmd, void *data, \\\n\tSYS_GETAUID                = 447 // { int getauid(uid_t *auid); }\n\tSYS_SETAUID                = 448 // { int setauid(uid_t *auid); }\n\tSYS_GETAUDIT               = 449 // { int getaudit(struct auditinfo *auditinfo); }\n\tSYS_SETAUDIT               = 450 // { int setaudit(struct auditinfo *auditinfo); }\n\tSYS_GETAUDIT_ADDR          = 451 // { int getaudit_addr( \\\n\tSYS_SETAUDIT_ADDR          = 452 // { int setaudit_addr( \\\n\tSYS_AUDITCTL               = 453 // { int auditctl(char *path); }\n\tSYS__UMTX_OP               = 454 // { int _umtx_op(void *obj, int op, \\\n\tSYS_THR_NEW                = 455 // { int thr_new(struct thr_param *param, \\\n\tSYS_SIGQUEUE               = 456 // { int sigqueue(pid_t pid, int signum, void *value); }\n\tSYS_ABORT2                 = 463 // { int abort2(const char *why, int nargs, void **args); }\n\tSYS_THR_SET_NAME           = 464 // { int thr_set_name(long id, const char *name); }\n\tSYS_RTPRIO_THREAD          = 466 // { int rtprio_thread(int function, \\\n\tSYS_PREAD                  = 475 // { ssize_t pread(int fd, void *buf, \\\n\tSYS_PWRITE                 = 476 // { ssize_t pwrite(int fd, const void *buf, \\\n\tSYS_MMAP                   = 477 // { caddr_t mmap(caddr_t addr, size_t len, \\\n\tSYS_LSEEK                  = 478 // { off_t lseek(int fd, off_t offset, \\\n\tSYS_TRUNCATE               = 479 // { int truncate(char *path, off_t length); }\n\tSYS_FTRUNCATE              = 480 // { int ftruncate(int fd, off_t length); }\n\tSYS_THR_KILL2              = 481 // { int thr_kill2(pid_t pid, long id, int sig); }\n\tSYS_SHM_OPEN               = 482 // { int shm_open(const char *path, int flags, \\\n\tSYS_SHM_UNLINK             = 483 // { int shm_unlink(const char *path); }\n\tSYS_CPUSET                 = 484 // { int cpuset(cpusetid_t *setid); }\n\tSYS_CPUSET_SETID           = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, \\\n\tSYS_CPUSET_GETID           = 486 // { int cpuset_getid(cpulevel_t level, \\\n\tSYS_CPUSET_GETAFFINITY     = 487 // { int cpuset_getaffinity(cpulevel_t level, \\\n\tSYS_CPUSET_SETAFFINITY     = 488 // { int cpuset_setaffinity(cpulevel_t level, \\\n\tSYS_FACCESSAT              = 489 // { int faccessat(int fd, char *path, int amode, \\\n\tSYS_FCHMODAT               = 490 // { int fchmodat(int fd, char *path, mode_t mode, \\\n\tSYS_FCHOWNAT               = 491 // { int fchownat(int fd, char *path, uid_t uid, \\\n\tSYS_FEXECVE                = 492 // { int fexecve(int fd, char **argv, \\\n\tSYS_FSTATAT                = 493 // { int fstatat(int fd, char *path, \\\n\tSYS_FUTIMESAT              = 494 // { int futimesat(int fd, char *path, \\\n\tSYS_LINKAT                 = 495 // { int linkat(int fd1, char *path1, int fd2, \\\n\tSYS_MKDIRAT                = 496 // { int mkdirat(int fd, char *path, mode_t mode); }\n\tSYS_MKFIFOAT               = 497 // { int mkfifoat(int fd, char *path, mode_t mode); }\n\tSYS_MKNODAT                = 498 // { int mknodat(int fd, char *path, mode_t mode, \\\n\tSYS_OPENAT                 = 499 // { int openat(int fd, char *path, int flag, \\\n\tSYS_READLINKAT             = 500 // { int readlinkat(int fd, char *path, char *buf, \\\n\tSYS_RENAMEAT               = 501 // { int renameat(int oldfd, char *old, int newfd, \\\n\tSYS_SYMLINKAT              = 502 // { int symlinkat(char *path1, int fd, \\\n\tSYS_UNLINKAT               = 503 // { int unlinkat(int fd, char *path, int flag); }\n\tSYS_POSIX_OPENPT           = 504 // { int posix_openpt(int flags); }\n\tSYS_JAIL_GET               = 506 // { int jail_get(struct iovec *iovp, \\\n\tSYS_JAIL_SET               = 507 // { int jail_set(struct iovec *iovp, \\\n\tSYS_JAIL_REMOVE            = 508 // { int jail_remove(int jid); }\n\tSYS_CLOSEFROM              = 509 // { int closefrom(int lowfd); }\n\tSYS_LPATHCONF              = 513 // { int lpathconf(char *path, int name); }\n\tSYS___CAP_RIGHTS_GET       = 515 // { int __cap_rights_get(int version, \\\n\tSYS_CAP_ENTER              = 516 // { int cap_enter(void); }\n\tSYS_CAP_GETMODE            = 517 // { int cap_getmode(u_int *modep); }\n\tSYS_PDFORK                 = 518 // { int pdfork(int *fdp, int flags); }\n\tSYS_PDKILL                 = 519 // { int pdkill(int fd, int signum); }\n\tSYS_PDGETPID               = 520 // { int pdgetpid(int fd, pid_t *pidp); }\n\tSYS_PSELECT                = 522 // { int pselect(int nd, fd_set *in, \\\n\tSYS_GETLOGINCLASS          = 523 // { int getloginclass(char *namebuf, \\\n\tSYS_SETLOGINCLASS          = 524 // { int setloginclass(const char *namebuf); }\n\tSYS_RCTL_GET_RACCT         = 525 // { int rctl_get_racct(const void *inbufp, \\\n\tSYS_RCTL_GET_RULES         = 526 // { int rctl_get_rules(const void *inbufp, \\\n\tSYS_RCTL_GET_LIMITS        = 527 // { int rctl_get_limits(const void *inbufp, \\\n\tSYS_RCTL_ADD_RULE          = 528 // { int rctl_add_rule(const void *inbufp, \\\n\tSYS_RCTL_REMOVE_RULE       = 529 // { int rctl_remove_rule(const void *inbufp, \\\n\tSYS_POSIX_FALLOCATE        = 530 // { int posix_fallocate(int fd, \\\n\tSYS_POSIX_FADVISE          = 531 // { int posix_fadvise(int fd, off_t offset, \\\n\tSYS_WAIT6                  = 532 // { int wait6(idtype_t idtype, id_t id, \\\n\tSYS_CAP_RIGHTS_LIMIT       = 533 // { int cap_rights_limit(int fd, \\\n\tSYS_CAP_IOCTLS_LIMIT       = 534 // { int cap_ioctls_limit(int fd, \\\n\tSYS_CAP_IOCTLS_GET         = 535 // { ssize_t cap_ioctls_get(int fd, \\\n\tSYS_CAP_FCNTLS_LIMIT       = 536 // { int cap_fcntls_limit(int fd, \\\n\tSYS_CAP_FCNTLS_GET         = 537 // { int cap_fcntls_get(int fd, \\\n\tSYS_BINDAT                 = 538 // { int bindat(int fd, int s, caddr_t name, \\\n\tSYS_CONNECTAT              = 539 // { int connectat(int fd, int s, caddr_t name, \\\n\tSYS_CHFLAGSAT              = 540 // { int chflagsat(int fd, const char *path, \\\n\tSYS_ACCEPT4                = 541 // { int accept4(int s, \\\n\tSYS_PIPE2                  = 542 // { int pipe2(int *fildes, int flags); }\n\tSYS_PROCCTL                = 544 // { int procctl(idtype_t idtype, id_t id, \\\n\tSYS_PPOLL                  = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \\\n\tSYS_FUTIMENS               = 546 // { int futimens(int fd, \\\n\tSYS_UTIMENSAT              = 547 // { int utimensat(int fd, \\\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go",
    "content": "// mksysnum_freebsd.pl\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,freebsd\n\npackage unix\n\nconst (\n\t// SYS_NOSYS = 0;  // { int nosys(void); } syscall nosys_args int\n\tSYS_EXIT                   = 1   // { void sys_exit(int rval); } exit \\\n\tSYS_FORK                   = 2   // { int fork(void); }\n\tSYS_READ                   = 3   // { ssize_t read(int fd, void *buf, \\\n\tSYS_WRITE                  = 4   // { ssize_t write(int fd, const void *buf, \\\n\tSYS_OPEN                   = 5   // { int open(char *path, int flags, int mode); }\n\tSYS_CLOSE                  = 6   // { int close(int fd); }\n\tSYS_WAIT4                  = 7   // { int wait4(int pid, int *status, \\\n\tSYS_LINK                   = 9   // { int link(char *path, char *link); }\n\tSYS_UNLINK                 = 10  // { int unlink(char *path); }\n\tSYS_CHDIR                  = 12  // { int chdir(char *path); }\n\tSYS_FCHDIR                 = 13  // { int fchdir(int fd); }\n\tSYS_MKNOD                  = 14  // { int mknod(char *path, int mode, int dev); }\n\tSYS_CHMOD                  = 15  // { int chmod(char *path, int mode); }\n\tSYS_CHOWN                  = 16  // { int chown(char *path, int uid, int gid); }\n\tSYS_OBREAK                 = 17  // { int obreak(char *nsize); } break \\\n\tSYS_GETPID                 = 20  // { pid_t getpid(void); }\n\tSYS_MOUNT                  = 21  // { int mount(char *type, char *path, \\\n\tSYS_UNMOUNT                = 22  // { int unmount(char *path, int flags); }\n\tSYS_SETUID                 = 23  // { int setuid(uid_t uid); }\n\tSYS_GETUID                 = 24  // { uid_t getuid(void); }\n\tSYS_GETEUID                = 25  // { uid_t geteuid(void); }\n\tSYS_PTRACE                 = 26  // { int ptrace(int req, pid_t pid, \\\n\tSYS_RECVMSG                = 27  // { int recvmsg(int s, struct msghdr *msg, \\\n\tSYS_SENDMSG                = 28  // { int sendmsg(int s, struct msghdr *msg, \\\n\tSYS_RECVFROM               = 29  // { int recvfrom(int s, caddr_t buf, \\\n\tSYS_ACCEPT                 = 30  // { int accept(int s, \\\n\tSYS_GETPEERNAME            = 31  // { int getpeername(int fdes, \\\n\tSYS_GETSOCKNAME            = 32  // { int getsockname(int fdes, \\\n\tSYS_ACCESS                 = 33  // { int access(char *path, int amode); }\n\tSYS_CHFLAGS                = 34  // { int chflags(const char *path, u_long flags); }\n\tSYS_FCHFLAGS               = 35  // { int fchflags(int fd, u_long flags); }\n\tSYS_SYNC                   = 36  // { int sync(void); }\n\tSYS_KILL                   = 37  // { int kill(int pid, int signum); }\n\tSYS_GETPPID                = 39  // { pid_t getppid(void); }\n\tSYS_DUP                    = 41  // { int dup(u_int fd); }\n\tSYS_PIPE                   = 42  // { int pipe(void); }\n\tSYS_GETEGID                = 43  // { gid_t getegid(void); }\n\tSYS_PROFIL                 = 44  // { int profil(caddr_t samples, size_t size, \\\n\tSYS_KTRACE                 = 45  // { int ktrace(const char *fname, int ops, \\\n\tSYS_GETGID                 = 47  // { gid_t getgid(void); }\n\tSYS_GETLOGIN               = 49  // { int getlogin(char *namebuf, u_int \\\n\tSYS_SETLOGIN               = 50  // { int setlogin(char *namebuf); }\n\tSYS_ACCT                   = 51  // { int acct(char *path); }\n\tSYS_SIGALTSTACK            = 53  // { int sigaltstack(stack_t *ss, \\\n\tSYS_IOCTL                  = 54  // { int ioctl(int fd, u_long com, \\\n\tSYS_REBOOT                 = 55  // { int reboot(int opt); }\n\tSYS_REVOKE                 = 56  // { int revoke(char *path); }\n\tSYS_SYMLINK                = 57  // { int symlink(char *path, char *link); }\n\tSYS_READLINK               = 58  // { ssize_t readlink(char *path, char *buf, \\\n\tSYS_EXECVE                 = 59  // { int execve(char *fname, char **argv, \\\n\tSYS_UMASK                  = 60  // { int umask(int newmask); } umask umask_args \\\n\tSYS_CHROOT                 = 61  // { int chroot(char *path); }\n\tSYS_MSYNC                  = 65  // { int msync(void *addr, size_t len, \\\n\tSYS_VFORK                  = 66  // { int vfork(void); }\n\tSYS_SBRK                   = 69  // { int sbrk(int incr); }\n\tSYS_SSTK                   = 70  // { int sstk(int incr); }\n\tSYS_OVADVISE               = 72  // { int ovadvise(int anom); } vadvise \\\n\tSYS_MUNMAP                 = 73  // { int munmap(void *addr, size_t len); }\n\tSYS_MPROTECT               = 74  // { int mprotect(const void *addr, size_t len, \\\n\tSYS_MADVISE                = 75  // { int madvise(void *addr, size_t len, \\\n\tSYS_MINCORE                = 78  // { int mincore(const void *addr, size_t len, \\\n\tSYS_GETGROUPS              = 79  // { int getgroups(u_int gidsetsize, \\\n\tSYS_SETGROUPS              = 80  // { int setgroups(u_int gidsetsize, \\\n\tSYS_GETPGRP                = 81  // { int getpgrp(void); }\n\tSYS_SETPGID                = 82  // { int setpgid(int pid, int pgid); }\n\tSYS_SETITIMER              = 83  // { int setitimer(u_int which, struct \\\n\tSYS_SWAPON                 = 85  // { int swapon(char *name); }\n\tSYS_GETITIMER              = 86  // { int getitimer(u_int which, \\\n\tSYS_GETDTABLESIZE          = 89  // { int getdtablesize(void); }\n\tSYS_DUP2                   = 90  // { int dup2(u_int from, u_int to); }\n\tSYS_FCNTL                  = 92  // { int fcntl(int fd, int cmd, long arg); }\n\tSYS_SELECT                 = 93  // { int select(int nd, fd_set *in, fd_set *ou, \\\n\tSYS_FSYNC                  = 95  // { int fsync(int fd); }\n\tSYS_SETPRIORITY            = 96  // { int setpriority(int which, int who, \\\n\tSYS_SOCKET                 = 97  // { int socket(int domain, int type, \\\n\tSYS_CONNECT                = 98  // { int connect(int s, caddr_t name, \\\n\tSYS_GETPRIORITY            = 100 // { int getpriority(int which, int who); }\n\tSYS_BIND                   = 104 // { int bind(int s, caddr_t name, \\\n\tSYS_SETSOCKOPT             = 105 // { int setsockopt(int s, int level, int name, \\\n\tSYS_LISTEN                 = 106 // { int listen(int s, int backlog); }\n\tSYS_GETTIMEOFDAY           = 116 // { int gettimeofday(struct timeval *tp, \\\n\tSYS_GETRUSAGE              = 117 // { int getrusage(int who, \\\n\tSYS_GETSOCKOPT             = 118 // { int getsockopt(int s, int level, int name, \\\n\tSYS_READV                  = 120 // { int readv(int fd, struct iovec *iovp, \\\n\tSYS_WRITEV                 = 121 // { int writev(int fd, struct iovec *iovp, \\\n\tSYS_SETTIMEOFDAY           = 122 // { int settimeofday(struct timeval *tv, \\\n\tSYS_FCHOWN                 = 123 // { int fchown(int fd, int uid, int gid); }\n\tSYS_FCHMOD                 = 124 // { int fchmod(int fd, int mode); }\n\tSYS_SETREUID               = 126 // { int setreuid(int ruid, int euid); }\n\tSYS_SETREGID               = 127 // { int setregid(int rgid, int egid); }\n\tSYS_RENAME                 = 128 // { int rename(char *from, char *to); }\n\tSYS_FLOCK                  = 131 // { int flock(int fd, int how); }\n\tSYS_MKFIFO                 = 132 // { int mkfifo(char *path, int mode); }\n\tSYS_SENDTO                 = 133 // { int sendto(int s, caddr_t buf, size_t len, \\\n\tSYS_SHUTDOWN               = 134 // { int shutdown(int s, int how); }\n\tSYS_SOCKETPAIR             = 135 // { int socketpair(int domain, int type, \\\n\tSYS_MKDIR                  = 136 // { int mkdir(char *path, int mode); }\n\tSYS_RMDIR                  = 137 // { int rmdir(char *path); }\n\tSYS_UTIMES                 = 138 // { int utimes(char *path, \\\n\tSYS_ADJTIME                = 140 // { int adjtime(struct timeval *delta, \\\n\tSYS_SETSID                 = 147 // { int setsid(void); }\n\tSYS_QUOTACTL               = 148 // { int quotactl(char *path, int cmd, int uid, \\\n\tSYS_LGETFH                 = 160 // { int lgetfh(char *fname, \\\n\tSYS_GETFH                  = 161 // { int getfh(char *fname, \\\n\tSYS_SYSARCH                = 165 // { int sysarch(int op, char *parms); }\n\tSYS_RTPRIO                 = 166 // { int rtprio(int function, pid_t pid, \\\n\tSYS_FREEBSD6_PREAD         = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \\\n\tSYS_FREEBSD6_PWRITE        = 174 // { ssize_t freebsd6_pwrite(int fd, \\\n\tSYS_SETFIB                 = 175 // { int setfib(int fibnum); }\n\tSYS_NTP_ADJTIME            = 176 // { int ntp_adjtime(struct timex *tp); }\n\tSYS_SETGID                 = 181 // { int setgid(gid_t gid); }\n\tSYS_SETEGID                = 182 // { int setegid(gid_t egid); }\n\tSYS_SETEUID                = 183 // { int seteuid(uid_t euid); }\n\tSYS_STAT                   = 188 // { int stat(char *path, struct stat *ub); }\n\tSYS_FSTAT                  = 189 // { int fstat(int fd, struct stat *sb); }\n\tSYS_LSTAT                  = 190 // { int lstat(char *path, struct stat *ub); }\n\tSYS_PATHCONF               = 191 // { int pathconf(char *path, int name); }\n\tSYS_FPATHCONF              = 192 // { int fpathconf(int fd, int name); }\n\tSYS_GETRLIMIT              = 194 // { int getrlimit(u_int which, \\\n\tSYS_SETRLIMIT              = 195 // { int setrlimit(u_int which, \\\n\tSYS_GETDIRENTRIES          = 196 // { int getdirentries(int fd, char *buf, \\\n\tSYS_FREEBSD6_MMAP          = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \\\n\tSYS_FREEBSD6_LSEEK         = 199 // { off_t freebsd6_lseek(int fd, int pad, \\\n\tSYS_FREEBSD6_TRUNCATE      = 200 // { int freebsd6_truncate(char *path, int pad, \\\n\tSYS_FREEBSD6_FTRUNCATE     = 201 // { int freebsd6_ftruncate(int fd, int pad, \\\n\tSYS___SYSCTL               = 202 // { int __sysctl(int *name, u_int namelen, \\\n\tSYS_MLOCK                  = 203 // { int mlock(const void *addr, size_t len); }\n\tSYS_MUNLOCK                = 204 // { int munlock(const void *addr, size_t len); }\n\tSYS_UNDELETE               = 205 // { int undelete(char *path); }\n\tSYS_FUTIMES                = 206 // { int futimes(int fd, struct timeval *tptr); }\n\tSYS_GETPGID                = 207 // { int getpgid(pid_t pid); }\n\tSYS_POLL                   = 209 // { int poll(struct pollfd *fds, u_int nfds, \\\n\tSYS_CLOCK_GETTIME          = 232 // { int clock_gettime(clockid_t clock_id, \\\n\tSYS_CLOCK_SETTIME          = 233 // { int clock_settime( \\\n\tSYS_CLOCK_GETRES           = 234 // { int clock_getres(clockid_t clock_id, \\\n\tSYS_KTIMER_CREATE          = 235 // { int ktimer_create(clockid_t clock_id, \\\n\tSYS_KTIMER_DELETE          = 236 // { int ktimer_delete(int timerid); }\n\tSYS_KTIMER_SETTIME         = 237 // { int ktimer_settime(int timerid, int flags, \\\n\tSYS_KTIMER_GETTIME         = 238 // { int ktimer_gettime(int timerid, struct \\\n\tSYS_KTIMER_GETOVERRUN      = 239 // { int ktimer_getoverrun(int timerid); }\n\tSYS_NANOSLEEP              = 240 // { int nanosleep(const struct timespec *rqtp, \\\n\tSYS_FFCLOCK_GETCOUNTER     = 241 // { int ffclock_getcounter(ffcounter *ffcount); }\n\tSYS_FFCLOCK_SETESTIMATE    = 242 // { int ffclock_setestimate( \\\n\tSYS_FFCLOCK_GETESTIMATE    = 243 // { int ffclock_getestimate( \\\n\tSYS_CLOCK_GETCPUCLOCKID2   = 247 // { int clock_getcpuclockid2(id_t id,\\\n\tSYS_NTP_GETTIME            = 248 // { int ntp_gettime(struct ntptimeval *ntvp); }\n\tSYS_MINHERIT               = 250 // { int minherit(void *addr, size_t len, \\\n\tSYS_RFORK                  = 251 // { int rfork(int flags); }\n\tSYS_OPENBSD_POLL           = 252 // { int openbsd_poll(struct pollfd *fds, \\\n\tSYS_ISSETUGID              = 253 // { int issetugid(void); }\n\tSYS_LCHOWN                 = 254 // { int lchown(char *path, int uid, int gid); }\n\tSYS_GETDENTS               = 272 // { int getdents(int fd, char *buf, \\\n\tSYS_LCHMOD                 = 274 // { int lchmod(char *path, mode_t mode); }\n\tSYS_LUTIMES                = 276 // { int lutimes(char *path, \\\n\tSYS_NSTAT                  = 278 // { int nstat(char *path, struct nstat *ub); }\n\tSYS_NFSTAT                 = 279 // { int nfstat(int fd, struct nstat *sb); }\n\tSYS_NLSTAT                 = 280 // { int nlstat(char *path, struct nstat *ub); }\n\tSYS_PREADV                 = 289 // { ssize_t preadv(int fd, struct iovec *iovp, \\\n\tSYS_PWRITEV                = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \\\n\tSYS_FHOPEN                 = 298 // { int fhopen(const struct fhandle *u_fhp, \\\n\tSYS_FHSTAT                 = 299 // { int fhstat(const struct fhandle *u_fhp, \\\n\tSYS_MODNEXT                = 300 // { int modnext(int modid); }\n\tSYS_MODSTAT                = 301 // { int modstat(int modid, \\\n\tSYS_MODFNEXT               = 302 // { int modfnext(int modid); }\n\tSYS_MODFIND                = 303 // { int modfind(const char *name); }\n\tSYS_KLDLOAD                = 304 // { int kldload(const char *file); }\n\tSYS_KLDUNLOAD              = 305 // { int kldunload(int fileid); }\n\tSYS_KLDFIND                = 306 // { int kldfind(const char *file); }\n\tSYS_KLDNEXT                = 307 // { int kldnext(int fileid); }\n\tSYS_KLDSTAT                = 308 // { int kldstat(int fileid, struct \\\n\tSYS_KLDFIRSTMOD            = 309 // { int kldfirstmod(int fileid); }\n\tSYS_GETSID                 = 310 // { int getsid(pid_t pid); }\n\tSYS_SETRESUID              = 311 // { int setresuid(uid_t ruid, uid_t euid, \\\n\tSYS_SETRESGID              = 312 // { int setresgid(gid_t rgid, gid_t egid, \\\n\tSYS_YIELD                  = 321 // { int yield(void); }\n\tSYS_MLOCKALL               = 324 // { int mlockall(int how); }\n\tSYS_MUNLOCKALL             = 325 // { int munlockall(void); }\n\tSYS___GETCWD               = 326 // { int __getcwd(char *buf, u_int buflen); }\n\tSYS_SCHED_SETPARAM         = 327 // { int sched_setparam (pid_t pid, \\\n\tSYS_SCHED_GETPARAM         = 328 // { int sched_getparam (pid_t pid, struct \\\n\tSYS_SCHED_SETSCHEDULER     = 329 // { int sched_setscheduler (pid_t pid, int \\\n\tSYS_SCHED_GETSCHEDULER     = 330 // { int sched_getscheduler (pid_t pid); }\n\tSYS_SCHED_YIELD            = 331 // { int sched_yield (void); }\n\tSYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); }\n\tSYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); }\n\tSYS_SCHED_RR_GET_INTERVAL  = 334 // { int sched_rr_get_interval (pid_t pid, \\\n\tSYS_UTRACE                 = 335 // { int utrace(const void *addr, size_t len); }\n\tSYS_KLDSYM                 = 337 // { int kldsym(int fileid, int cmd, \\\n\tSYS_JAIL                   = 338 // { int jail(struct jail *jail); }\n\tSYS_SIGPROCMASK            = 340 // { int sigprocmask(int how, \\\n\tSYS_SIGSUSPEND             = 341 // { int sigsuspend(const sigset_t *sigmask); }\n\tSYS_SIGPENDING             = 343 // { int sigpending(sigset_t *set); }\n\tSYS_SIGTIMEDWAIT           = 345 // { int sigtimedwait(const sigset_t *set, \\\n\tSYS_SIGWAITINFO            = 346 // { int sigwaitinfo(const sigset_t *set, \\\n\tSYS___ACL_GET_FILE         = 347 // { int __acl_get_file(const char *path, \\\n\tSYS___ACL_SET_FILE         = 348 // { int __acl_set_file(const char *path, \\\n\tSYS___ACL_GET_FD           = 349 // { int __acl_get_fd(int filedes, \\\n\tSYS___ACL_SET_FD           = 350 // { int __acl_set_fd(int filedes, \\\n\tSYS___ACL_DELETE_FILE      = 351 // { int __acl_delete_file(const char *path, \\\n\tSYS___ACL_DELETE_FD        = 352 // { int __acl_delete_fd(int filedes, \\\n\tSYS___ACL_ACLCHECK_FILE    = 353 // { int __acl_aclcheck_file(const char *path, \\\n\tSYS___ACL_ACLCHECK_FD      = 354 // { int __acl_aclcheck_fd(int filedes, \\\n\tSYS_EXTATTRCTL             = 355 // { int extattrctl(const char *path, int cmd, \\\n\tSYS_EXTATTR_SET_FILE       = 356 // { ssize_t extattr_set_file( \\\n\tSYS_EXTATTR_GET_FILE       = 357 // { ssize_t extattr_get_file( \\\n\tSYS_EXTATTR_DELETE_FILE    = 358 // { int extattr_delete_file(const char *path, \\\n\tSYS_GETRESUID              = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \\\n\tSYS_GETRESGID              = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \\\n\tSYS_KQUEUE                 = 362 // { int kqueue(void); }\n\tSYS_KEVENT                 = 363 // { int kevent(int fd, \\\n\tSYS_EXTATTR_SET_FD         = 371 // { ssize_t extattr_set_fd(int fd, \\\n\tSYS_EXTATTR_GET_FD         = 372 // { ssize_t extattr_get_fd(int fd, \\\n\tSYS_EXTATTR_DELETE_FD      = 373 // { int extattr_delete_fd(int fd, \\\n\tSYS___SETUGID              = 374 // { int __setugid(int flag); }\n\tSYS_EACCESS                = 376 // { int eaccess(char *path, int amode); }\n\tSYS_NMOUNT                 = 378 // { int nmount(struct iovec *iovp, \\\n\tSYS___MAC_GET_PROC         = 384 // { int __mac_get_proc(struct mac *mac_p); }\n\tSYS___MAC_SET_PROC         = 385 // { int __mac_set_proc(struct mac *mac_p); }\n\tSYS___MAC_GET_FD           = 386 // { int __mac_get_fd(int fd, \\\n\tSYS___MAC_GET_FILE         = 387 // { int __mac_get_file(const char *path_p, \\\n\tSYS___MAC_SET_FD           = 388 // { int __mac_set_fd(int fd, \\\n\tSYS___MAC_SET_FILE         = 389 // { int __mac_set_file(const char *path_p, \\\n\tSYS_KENV                   = 390 // { int kenv(int what, const char *name, \\\n\tSYS_LCHFLAGS               = 391 // { int lchflags(const char *path, \\\n\tSYS_UUIDGEN                = 392 // { int uuidgen(struct uuid *store, \\\n\tSYS_SENDFILE               = 393 // { int sendfile(int fd, int s, off_t offset, \\\n\tSYS_MAC_SYSCALL            = 394 // { int mac_syscall(const char *policy, \\\n\tSYS_GETFSSTAT              = 395 // { int getfsstat(struct statfs *buf, \\\n\tSYS_STATFS                 = 396 // { int statfs(char *path, \\\n\tSYS_FSTATFS                = 397 // { int fstatfs(int fd, struct statfs *buf); }\n\tSYS_FHSTATFS               = 398 // { int fhstatfs(const struct fhandle *u_fhp, \\\n\tSYS___MAC_GET_PID          = 409 // { int __mac_get_pid(pid_t pid, \\\n\tSYS___MAC_GET_LINK         = 410 // { int __mac_get_link(const char *path_p, \\\n\tSYS___MAC_SET_LINK         = 411 // { int __mac_set_link(const char *path_p, \\\n\tSYS_EXTATTR_SET_LINK       = 412 // { ssize_t extattr_set_link( \\\n\tSYS_EXTATTR_GET_LINK       = 413 // { ssize_t extattr_get_link( \\\n\tSYS_EXTATTR_DELETE_LINK    = 414 // { int extattr_delete_link( \\\n\tSYS___MAC_EXECVE           = 415 // { int __mac_execve(char *fname, char **argv, \\\n\tSYS_SIGACTION              = 416 // { int sigaction(int sig, \\\n\tSYS_SIGRETURN              = 417 // { int sigreturn( \\\n\tSYS_GETCONTEXT             = 421 // { int getcontext(struct __ucontext *ucp); }\n\tSYS_SETCONTEXT             = 422 // { int setcontext( \\\n\tSYS_SWAPCONTEXT            = 423 // { int swapcontext(struct __ucontext *oucp, \\\n\tSYS_SWAPOFF                = 424 // { int swapoff(const char *name); }\n\tSYS___ACL_GET_LINK         = 425 // { int __acl_get_link(const char *path, \\\n\tSYS___ACL_SET_LINK         = 426 // { int __acl_set_link(const char *path, \\\n\tSYS___ACL_DELETE_LINK      = 427 // { int __acl_delete_link(const char *path, \\\n\tSYS___ACL_ACLCHECK_LINK    = 428 // { int __acl_aclcheck_link(const char *path, \\\n\tSYS_SIGWAIT                = 429 // { int sigwait(const sigset_t *set, \\\n\tSYS_THR_CREATE             = 430 // { int thr_create(ucontext_t *ctx, long *id, \\\n\tSYS_THR_EXIT               = 431 // { void thr_exit(long *state); }\n\tSYS_THR_SELF               = 432 // { int thr_self(long *id); }\n\tSYS_THR_KILL               = 433 // { int thr_kill(long id, int sig); }\n\tSYS__UMTX_LOCK             = 434 // { int _umtx_lock(struct umtx *umtx); }\n\tSYS__UMTX_UNLOCK           = 435 // { int _umtx_unlock(struct umtx *umtx); }\n\tSYS_JAIL_ATTACH            = 436 // { int jail_attach(int jid); }\n\tSYS_EXTATTR_LIST_FD        = 437 // { ssize_t extattr_list_fd(int fd, \\\n\tSYS_EXTATTR_LIST_FILE      = 438 // { ssize_t extattr_list_file( \\\n\tSYS_EXTATTR_LIST_LINK      = 439 // { ssize_t extattr_list_link( \\\n\tSYS_THR_SUSPEND            = 442 // { int thr_suspend( \\\n\tSYS_THR_WAKE               = 443 // { int thr_wake(long id); }\n\tSYS_KLDUNLOADF             = 444 // { int kldunloadf(int fileid, int flags); }\n\tSYS_AUDIT                  = 445 // { int audit(const void *record, \\\n\tSYS_AUDITON                = 446 // { int auditon(int cmd, void *data, \\\n\tSYS_GETAUID                = 447 // { int getauid(uid_t *auid); }\n\tSYS_SETAUID                = 448 // { int setauid(uid_t *auid); }\n\tSYS_GETAUDIT               = 449 // { int getaudit(struct auditinfo *auditinfo); }\n\tSYS_SETAUDIT               = 450 // { int setaudit(struct auditinfo *auditinfo); }\n\tSYS_GETAUDIT_ADDR          = 451 // { int getaudit_addr( \\\n\tSYS_SETAUDIT_ADDR          = 452 // { int setaudit_addr( \\\n\tSYS_AUDITCTL               = 453 // { int auditctl(char *path); }\n\tSYS__UMTX_OP               = 454 // { int _umtx_op(void *obj, int op, \\\n\tSYS_THR_NEW                = 455 // { int thr_new(struct thr_param *param, \\\n\tSYS_SIGQUEUE               = 456 // { int sigqueue(pid_t pid, int signum, void *value); }\n\tSYS_ABORT2                 = 463 // { int abort2(const char *why, int nargs, void **args); }\n\tSYS_THR_SET_NAME           = 464 // { int thr_set_name(long id, const char *name); }\n\tSYS_RTPRIO_THREAD          = 466 // { int rtprio_thread(int function, \\\n\tSYS_PREAD                  = 475 // { ssize_t pread(int fd, void *buf, \\\n\tSYS_PWRITE                 = 476 // { ssize_t pwrite(int fd, const void *buf, \\\n\tSYS_MMAP                   = 477 // { caddr_t mmap(caddr_t addr, size_t len, \\\n\tSYS_LSEEK                  = 478 // { off_t lseek(int fd, off_t offset, \\\n\tSYS_TRUNCATE               = 479 // { int truncate(char *path, off_t length); }\n\tSYS_FTRUNCATE              = 480 // { int ftruncate(int fd, off_t length); }\n\tSYS_THR_KILL2              = 481 // { int thr_kill2(pid_t pid, long id, int sig); }\n\tSYS_SHM_OPEN               = 482 // { int shm_open(const char *path, int flags, \\\n\tSYS_SHM_UNLINK             = 483 // { int shm_unlink(const char *path); }\n\tSYS_CPUSET                 = 484 // { int cpuset(cpusetid_t *setid); }\n\tSYS_CPUSET_SETID           = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, \\\n\tSYS_CPUSET_GETID           = 486 // { int cpuset_getid(cpulevel_t level, \\\n\tSYS_CPUSET_GETAFFINITY     = 487 // { int cpuset_getaffinity(cpulevel_t level, \\\n\tSYS_CPUSET_SETAFFINITY     = 488 // { int cpuset_setaffinity(cpulevel_t level, \\\n\tSYS_FACCESSAT              = 489 // { int faccessat(int fd, char *path, int amode, \\\n\tSYS_FCHMODAT               = 490 // { int fchmodat(int fd, char *path, mode_t mode, \\\n\tSYS_FCHOWNAT               = 491 // { int fchownat(int fd, char *path, uid_t uid, \\\n\tSYS_FEXECVE                = 492 // { int fexecve(int fd, char **argv, \\\n\tSYS_FSTATAT                = 493 // { int fstatat(int fd, char *path, \\\n\tSYS_FUTIMESAT              = 494 // { int futimesat(int fd, char *path, \\\n\tSYS_LINKAT                 = 495 // { int linkat(int fd1, char *path1, int fd2, \\\n\tSYS_MKDIRAT                = 496 // { int mkdirat(int fd, char *path, mode_t mode); }\n\tSYS_MKFIFOAT               = 497 // { int mkfifoat(int fd, char *path, mode_t mode); }\n\tSYS_MKNODAT                = 498 // { int mknodat(int fd, char *path, mode_t mode, \\\n\tSYS_OPENAT                 = 499 // { int openat(int fd, char *path, int flag, \\\n\tSYS_READLINKAT             = 500 // { int readlinkat(int fd, char *path, char *buf, \\\n\tSYS_RENAMEAT               = 501 // { int renameat(int oldfd, char *old, int newfd, \\\n\tSYS_SYMLINKAT              = 502 // { int symlinkat(char *path1, int fd, \\\n\tSYS_UNLINKAT               = 503 // { int unlinkat(int fd, char *path, int flag); }\n\tSYS_POSIX_OPENPT           = 504 // { int posix_openpt(int flags); }\n\tSYS_JAIL_GET               = 506 // { int jail_get(struct iovec *iovp, \\\n\tSYS_JAIL_SET               = 507 // { int jail_set(struct iovec *iovp, \\\n\tSYS_JAIL_REMOVE            = 508 // { int jail_remove(int jid); }\n\tSYS_CLOSEFROM              = 509 // { int closefrom(int lowfd); }\n\tSYS_LPATHCONF              = 513 // { int lpathconf(char *path, int name); }\n\tSYS___CAP_RIGHTS_GET       = 515 // { int __cap_rights_get(int version, \\\n\tSYS_CAP_ENTER              = 516 // { int cap_enter(void); }\n\tSYS_CAP_GETMODE            = 517 // { int cap_getmode(u_int *modep); }\n\tSYS_PDFORK                 = 518 // { int pdfork(int *fdp, int flags); }\n\tSYS_PDKILL                 = 519 // { int pdkill(int fd, int signum); }\n\tSYS_PDGETPID               = 520 // { int pdgetpid(int fd, pid_t *pidp); }\n\tSYS_PSELECT                = 522 // { int pselect(int nd, fd_set *in, \\\n\tSYS_GETLOGINCLASS          = 523 // { int getloginclass(char *namebuf, \\\n\tSYS_SETLOGINCLASS          = 524 // { int setloginclass(const char *namebuf); }\n\tSYS_RCTL_GET_RACCT         = 525 // { int rctl_get_racct(const void *inbufp, \\\n\tSYS_RCTL_GET_RULES         = 526 // { int rctl_get_rules(const void *inbufp, \\\n\tSYS_RCTL_GET_LIMITS        = 527 // { int rctl_get_limits(const void *inbufp, \\\n\tSYS_RCTL_ADD_RULE          = 528 // { int rctl_add_rule(const void *inbufp, \\\n\tSYS_RCTL_REMOVE_RULE       = 529 // { int rctl_remove_rule(const void *inbufp, \\\n\tSYS_POSIX_FALLOCATE        = 530 // { int posix_fallocate(int fd, \\\n\tSYS_POSIX_FADVISE          = 531 // { int posix_fadvise(int fd, off_t offset, \\\n\tSYS_WAIT6                  = 532 // { int wait6(idtype_t idtype, id_t id, \\\n\tSYS_CAP_RIGHTS_LIMIT       = 533 // { int cap_rights_limit(int fd, \\\n\tSYS_CAP_IOCTLS_LIMIT       = 534 // { int cap_ioctls_limit(int fd, \\\n\tSYS_CAP_IOCTLS_GET         = 535 // { ssize_t cap_ioctls_get(int fd, \\\n\tSYS_CAP_FCNTLS_LIMIT       = 536 // { int cap_fcntls_limit(int fd, \\\n\tSYS_CAP_FCNTLS_GET         = 537 // { int cap_fcntls_get(int fd, \\\n\tSYS_BINDAT                 = 538 // { int bindat(int fd, int s, caddr_t name, \\\n\tSYS_CONNECTAT              = 539 // { int connectat(int fd, int s, caddr_t name, \\\n\tSYS_CHFLAGSAT              = 540 // { int chflagsat(int fd, const char *path, \\\n\tSYS_ACCEPT4                = 541 // { int accept4(int s, \\\n\tSYS_PIPE2                  = 542 // { int pipe2(int *fildes, int flags); }\n\tSYS_PROCCTL                = 544 // { int procctl(idtype_t idtype, id_t id, \\\n\tSYS_PPOLL                  = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \\\n\tSYS_FUTIMENS               = 546 // { int futimens(int fd, \\\n\tSYS_UTIMENSAT              = 547 // { int utimensat(int fd, \\\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go",
    "content": "// mksysnum_freebsd.pl\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build arm,freebsd\n\npackage unix\n\nconst (\n\t// SYS_NOSYS = 0;  // { int nosys(void); } syscall nosys_args int\n\tSYS_EXIT                   = 1   // { void sys_exit(int rval); } exit \\\n\tSYS_FORK                   = 2   // { int fork(void); }\n\tSYS_READ                   = 3   // { ssize_t read(int fd, void *buf, \\\n\tSYS_WRITE                  = 4   // { ssize_t write(int fd, const void *buf, \\\n\tSYS_OPEN                   = 5   // { int open(char *path, int flags, int mode); }\n\tSYS_CLOSE                  = 6   // { int close(int fd); }\n\tSYS_WAIT4                  = 7   // { int wait4(int pid, int *status, \\\n\tSYS_LINK                   = 9   // { int link(char *path, char *link); }\n\tSYS_UNLINK                 = 10  // { int unlink(char *path); }\n\tSYS_CHDIR                  = 12  // { int chdir(char *path); }\n\tSYS_FCHDIR                 = 13  // { int fchdir(int fd); }\n\tSYS_MKNOD                  = 14  // { int mknod(char *path, int mode, int dev); }\n\tSYS_CHMOD                  = 15  // { int chmod(char *path, int mode); }\n\tSYS_CHOWN                  = 16  // { int chown(char *path, int uid, int gid); }\n\tSYS_OBREAK                 = 17  // { int obreak(char *nsize); } break \\\n\tSYS_GETPID                 = 20  // { pid_t getpid(void); }\n\tSYS_MOUNT                  = 21  // { int mount(char *type, char *path, \\\n\tSYS_UNMOUNT                = 22  // { int unmount(char *path, int flags); }\n\tSYS_SETUID                 = 23  // { int setuid(uid_t uid); }\n\tSYS_GETUID                 = 24  // { uid_t getuid(void); }\n\tSYS_GETEUID                = 25  // { uid_t geteuid(void); }\n\tSYS_PTRACE                 = 26  // { int ptrace(int req, pid_t pid, \\\n\tSYS_RECVMSG                = 27  // { int recvmsg(int s, struct msghdr *msg, \\\n\tSYS_SENDMSG                = 28  // { int sendmsg(int s, struct msghdr *msg, \\\n\tSYS_RECVFROM               = 29  // { int recvfrom(int s, caddr_t buf, \\\n\tSYS_ACCEPT                 = 30  // { int accept(int s, \\\n\tSYS_GETPEERNAME            = 31  // { int getpeername(int fdes, \\\n\tSYS_GETSOCKNAME            = 32  // { int getsockname(int fdes, \\\n\tSYS_ACCESS                 = 33  // { int access(char *path, int amode); }\n\tSYS_CHFLAGS                = 34  // { int chflags(const char *path, u_long flags); }\n\tSYS_FCHFLAGS               = 35  // { int fchflags(int fd, u_long flags); }\n\tSYS_SYNC                   = 36  // { int sync(void); }\n\tSYS_KILL                   = 37  // { int kill(int pid, int signum); }\n\tSYS_GETPPID                = 39  // { pid_t getppid(void); }\n\tSYS_DUP                    = 41  // { int dup(u_int fd); }\n\tSYS_PIPE                   = 42  // { int pipe(void); }\n\tSYS_GETEGID                = 43  // { gid_t getegid(void); }\n\tSYS_PROFIL                 = 44  // { int profil(caddr_t samples, size_t size, \\\n\tSYS_KTRACE                 = 45  // { int ktrace(const char *fname, int ops, \\\n\tSYS_GETGID                 = 47  // { gid_t getgid(void); }\n\tSYS_GETLOGIN               = 49  // { int getlogin(char *namebuf, u_int \\\n\tSYS_SETLOGIN               = 50  // { int setlogin(char *namebuf); }\n\tSYS_ACCT                   = 51  // { int acct(char *path); }\n\tSYS_SIGALTSTACK            = 53  // { int sigaltstack(stack_t *ss, \\\n\tSYS_IOCTL                  = 54  // { int ioctl(int fd, u_long com, \\\n\tSYS_REBOOT                 = 55  // { int reboot(int opt); }\n\tSYS_REVOKE                 = 56  // { int revoke(char *path); }\n\tSYS_SYMLINK                = 57  // { int symlink(char *path, char *link); }\n\tSYS_READLINK               = 58  // { ssize_t readlink(char *path, char *buf, \\\n\tSYS_EXECVE                 = 59  // { int execve(char *fname, char **argv, \\\n\tSYS_UMASK                  = 60  // { int umask(int newmask); } umask umask_args \\\n\tSYS_CHROOT                 = 61  // { int chroot(char *path); }\n\tSYS_MSYNC                  = 65  // { int msync(void *addr, size_t len, \\\n\tSYS_VFORK                  = 66  // { int vfork(void); }\n\tSYS_SBRK                   = 69  // { int sbrk(int incr); }\n\tSYS_SSTK                   = 70  // { int sstk(int incr); }\n\tSYS_OVADVISE               = 72  // { int ovadvise(int anom); } vadvise \\\n\tSYS_MUNMAP                 = 73  // { int munmap(void *addr, size_t len); }\n\tSYS_MPROTECT               = 74  // { int mprotect(const void *addr, size_t len, \\\n\tSYS_MADVISE                = 75  // { int madvise(void *addr, size_t len, \\\n\tSYS_MINCORE                = 78  // { int mincore(const void *addr, size_t len, \\\n\tSYS_GETGROUPS              = 79  // { int getgroups(u_int gidsetsize, \\\n\tSYS_SETGROUPS              = 80  // { int setgroups(u_int gidsetsize, \\\n\tSYS_GETPGRP                = 81  // { int getpgrp(void); }\n\tSYS_SETPGID                = 82  // { int setpgid(int pid, int pgid); }\n\tSYS_SETITIMER              = 83  // { int setitimer(u_int which, struct \\\n\tSYS_SWAPON                 = 85  // { int swapon(char *name); }\n\tSYS_GETITIMER              = 86  // { int getitimer(u_int which, \\\n\tSYS_GETDTABLESIZE          = 89  // { int getdtablesize(void); }\n\tSYS_DUP2                   = 90  // { int dup2(u_int from, u_int to); }\n\tSYS_FCNTL                  = 92  // { int fcntl(int fd, int cmd, long arg); }\n\tSYS_SELECT                 = 93  // { int select(int nd, fd_set *in, fd_set *ou, \\\n\tSYS_FSYNC                  = 95  // { int fsync(int fd); }\n\tSYS_SETPRIORITY            = 96  // { int setpriority(int which, int who, \\\n\tSYS_SOCKET                 = 97  // { int socket(int domain, int type, \\\n\tSYS_CONNECT                = 98  // { int connect(int s, caddr_t name, \\\n\tSYS_GETPRIORITY            = 100 // { int getpriority(int which, int who); }\n\tSYS_BIND                   = 104 // { int bind(int s, caddr_t name, \\\n\tSYS_SETSOCKOPT             = 105 // { int setsockopt(int s, int level, int name, \\\n\tSYS_LISTEN                 = 106 // { int listen(int s, int backlog); }\n\tSYS_GETTIMEOFDAY           = 116 // { int gettimeofday(struct timeval *tp, \\\n\tSYS_GETRUSAGE              = 117 // { int getrusage(int who, \\\n\tSYS_GETSOCKOPT             = 118 // { int getsockopt(int s, int level, int name, \\\n\tSYS_READV                  = 120 // { int readv(int fd, struct iovec *iovp, \\\n\tSYS_WRITEV                 = 121 // { int writev(int fd, struct iovec *iovp, \\\n\tSYS_SETTIMEOFDAY           = 122 // { int settimeofday(struct timeval *tv, \\\n\tSYS_FCHOWN                 = 123 // { int fchown(int fd, int uid, int gid); }\n\tSYS_FCHMOD                 = 124 // { int fchmod(int fd, int mode); }\n\tSYS_SETREUID               = 126 // { int setreuid(int ruid, int euid); }\n\tSYS_SETREGID               = 127 // { int setregid(int rgid, int egid); }\n\tSYS_RENAME                 = 128 // { int rename(char *from, char *to); }\n\tSYS_FLOCK                  = 131 // { int flock(int fd, int how); }\n\tSYS_MKFIFO                 = 132 // { int mkfifo(char *path, int mode); }\n\tSYS_SENDTO                 = 133 // { int sendto(int s, caddr_t buf, size_t len, \\\n\tSYS_SHUTDOWN               = 134 // { int shutdown(int s, int how); }\n\tSYS_SOCKETPAIR             = 135 // { int socketpair(int domain, int type, \\\n\tSYS_MKDIR                  = 136 // { int mkdir(char *path, int mode); }\n\tSYS_RMDIR                  = 137 // { int rmdir(char *path); }\n\tSYS_UTIMES                 = 138 // { int utimes(char *path, \\\n\tSYS_ADJTIME                = 140 // { int adjtime(struct timeval *delta, \\\n\tSYS_SETSID                 = 147 // { int setsid(void); }\n\tSYS_QUOTACTL               = 148 // { int quotactl(char *path, int cmd, int uid, \\\n\tSYS_LGETFH                 = 160 // { int lgetfh(char *fname, \\\n\tSYS_GETFH                  = 161 // { int getfh(char *fname, \\\n\tSYS_SYSARCH                = 165 // { int sysarch(int op, char *parms); }\n\tSYS_RTPRIO                 = 166 // { int rtprio(int function, pid_t pid, \\\n\tSYS_FREEBSD6_PREAD         = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \\\n\tSYS_FREEBSD6_PWRITE        = 174 // { ssize_t freebsd6_pwrite(int fd, \\\n\tSYS_SETFIB                 = 175 // { int setfib(int fibnum); }\n\tSYS_NTP_ADJTIME            = 176 // { int ntp_adjtime(struct timex *tp); }\n\tSYS_SETGID                 = 181 // { int setgid(gid_t gid); }\n\tSYS_SETEGID                = 182 // { int setegid(gid_t egid); }\n\tSYS_SETEUID                = 183 // { int seteuid(uid_t euid); }\n\tSYS_STAT                   = 188 // { int stat(char *path, struct stat *ub); }\n\tSYS_FSTAT                  = 189 // { int fstat(int fd, struct stat *sb); }\n\tSYS_LSTAT                  = 190 // { int lstat(char *path, struct stat *ub); }\n\tSYS_PATHCONF               = 191 // { int pathconf(char *path, int name); }\n\tSYS_FPATHCONF              = 192 // { int fpathconf(int fd, int name); }\n\tSYS_GETRLIMIT              = 194 // { int getrlimit(u_int which, \\\n\tSYS_SETRLIMIT              = 195 // { int setrlimit(u_int which, \\\n\tSYS_GETDIRENTRIES          = 196 // { int getdirentries(int fd, char *buf, \\\n\tSYS_FREEBSD6_MMAP          = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \\\n\tSYS_FREEBSD6_LSEEK         = 199 // { off_t freebsd6_lseek(int fd, int pad, \\\n\tSYS_FREEBSD6_TRUNCATE      = 200 // { int freebsd6_truncate(char *path, int pad, \\\n\tSYS_FREEBSD6_FTRUNCATE     = 201 // { int freebsd6_ftruncate(int fd, int pad, \\\n\tSYS___SYSCTL               = 202 // { int __sysctl(int *name, u_int namelen, \\\n\tSYS_MLOCK                  = 203 // { int mlock(const void *addr, size_t len); }\n\tSYS_MUNLOCK                = 204 // { int munlock(const void *addr, size_t len); }\n\tSYS_UNDELETE               = 205 // { int undelete(char *path); }\n\tSYS_FUTIMES                = 206 // { int futimes(int fd, struct timeval *tptr); }\n\tSYS_GETPGID                = 207 // { int getpgid(pid_t pid); }\n\tSYS_POLL                   = 209 // { int poll(struct pollfd *fds, u_int nfds, \\\n\tSYS_CLOCK_GETTIME          = 232 // { int clock_gettime(clockid_t clock_id, \\\n\tSYS_CLOCK_SETTIME          = 233 // { int clock_settime( \\\n\tSYS_CLOCK_GETRES           = 234 // { int clock_getres(clockid_t clock_id, \\\n\tSYS_KTIMER_CREATE          = 235 // { int ktimer_create(clockid_t clock_id, \\\n\tSYS_KTIMER_DELETE          = 236 // { int ktimer_delete(int timerid); }\n\tSYS_KTIMER_SETTIME         = 237 // { int ktimer_settime(int timerid, int flags, \\\n\tSYS_KTIMER_GETTIME         = 238 // { int ktimer_gettime(int timerid, struct \\\n\tSYS_KTIMER_GETOVERRUN      = 239 // { int ktimer_getoverrun(int timerid); }\n\tSYS_NANOSLEEP              = 240 // { int nanosleep(const struct timespec *rqtp, \\\n\tSYS_FFCLOCK_GETCOUNTER     = 241 // { int ffclock_getcounter(ffcounter *ffcount); }\n\tSYS_FFCLOCK_SETESTIMATE    = 242 // { int ffclock_setestimate( \\\n\tSYS_FFCLOCK_GETESTIMATE    = 243 // { int ffclock_getestimate( \\\n\tSYS_CLOCK_GETCPUCLOCKID2   = 247 // { int clock_getcpuclockid2(id_t id,\\\n\tSYS_NTP_GETTIME            = 248 // { int ntp_gettime(struct ntptimeval *ntvp); }\n\tSYS_MINHERIT               = 250 // { int minherit(void *addr, size_t len, \\\n\tSYS_RFORK                  = 251 // { int rfork(int flags); }\n\tSYS_OPENBSD_POLL           = 252 // { int openbsd_poll(struct pollfd *fds, \\\n\tSYS_ISSETUGID              = 253 // { int issetugid(void); }\n\tSYS_LCHOWN                 = 254 // { int lchown(char *path, int uid, int gid); }\n\tSYS_GETDENTS               = 272 // { int getdents(int fd, char *buf, \\\n\tSYS_LCHMOD                 = 274 // { int lchmod(char *path, mode_t mode); }\n\tSYS_LUTIMES                = 276 // { int lutimes(char *path, \\\n\tSYS_NSTAT                  = 278 // { int nstat(char *path, struct nstat *ub); }\n\tSYS_NFSTAT                 = 279 // { int nfstat(int fd, struct nstat *sb); }\n\tSYS_NLSTAT                 = 280 // { int nlstat(char *path, struct nstat *ub); }\n\tSYS_PREADV                 = 289 // { ssize_t preadv(int fd, struct iovec *iovp, \\\n\tSYS_PWRITEV                = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \\\n\tSYS_FHOPEN                 = 298 // { int fhopen(const struct fhandle *u_fhp, \\\n\tSYS_FHSTAT                 = 299 // { int fhstat(const struct fhandle *u_fhp, \\\n\tSYS_MODNEXT                = 300 // { int modnext(int modid); }\n\tSYS_MODSTAT                = 301 // { int modstat(int modid, \\\n\tSYS_MODFNEXT               = 302 // { int modfnext(int modid); }\n\tSYS_MODFIND                = 303 // { int modfind(const char *name); }\n\tSYS_KLDLOAD                = 304 // { int kldload(const char *file); }\n\tSYS_KLDUNLOAD              = 305 // { int kldunload(int fileid); }\n\tSYS_KLDFIND                = 306 // { int kldfind(const char *file); }\n\tSYS_KLDNEXT                = 307 // { int kldnext(int fileid); }\n\tSYS_KLDSTAT                = 308 // { int kldstat(int fileid, struct \\\n\tSYS_KLDFIRSTMOD            = 309 // { int kldfirstmod(int fileid); }\n\tSYS_GETSID                 = 310 // { int getsid(pid_t pid); }\n\tSYS_SETRESUID              = 311 // { int setresuid(uid_t ruid, uid_t euid, \\\n\tSYS_SETRESGID              = 312 // { int setresgid(gid_t rgid, gid_t egid, \\\n\tSYS_YIELD                  = 321 // { int yield(void); }\n\tSYS_MLOCKALL               = 324 // { int mlockall(int how); }\n\tSYS_MUNLOCKALL             = 325 // { int munlockall(void); }\n\tSYS___GETCWD               = 326 // { int __getcwd(char *buf, u_int buflen); }\n\tSYS_SCHED_SETPARAM         = 327 // { int sched_setparam (pid_t pid, \\\n\tSYS_SCHED_GETPARAM         = 328 // { int sched_getparam (pid_t pid, struct \\\n\tSYS_SCHED_SETSCHEDULER     = 329 // { int sched_setscheduler (pid_t pid, int \\\n\tSYS_SCHED_GETSCHEDULER     = 330 // { int sched_getscheduler (pid_t pid); }\n\tSYS_SCHED_YIELD            = 331 // { int sched_yield (void); }\n\tSYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); }\n\tSYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); }\n\tSYS_SCHED_RR_GET_INTERVAL  = 334 // { int sched_rr_get_interval (pid_t pid, \\\n\tSYS_UTRACE                 = 335 // { int utrace(const void *addr, size_t len); }\n\tSYS_KLDSYM                 = 337 // { int kldsym(int fileid, int cmd, \\\n\tSYS_JAIL                   = 338 // { int jail(struct jail *jail); }\n\tSYS_SIGPROCMASK            = 340 // { int sigprocmask(int how, \\\n\tSYS_SIGSUSPEND             = 341 // { int sigsuspend(const sigset_t *sigmask); }\n\tSYS_SIGPENDING             = 343 // { int sigpending(sigset_t *set); }\n\tSYS_SIGTIMEDWAIT           = 345 // { int sigtimedwait(const sigset_t *set, \\\n\tSYS_SIGWAITINFO            = 346 // { int sigwaitinfo(const sigset_t *set, \\\n\tSYS___ACL_GET_FILE         = 347 // { int __acl_get_file(const char *path, \\\n\tSYS___ACL_SET_FILE         = 348 // { int __acl_set_file(const char *path, \\\n\tSYS___ACL_GET_FD           = 349 // { int __acl_get_fd(int filedes, \\\n\tSYS___ACL_SET_FD           = 350 // { int __acl_set_fd(int filedes, \\\n\tSYS___ACL_DELETE_FILE      = 351 // { int __acl_delete_file(const char *path, \\\n\tSYS___ACL_DELETE_FD        = 352 // { int __acl_delete_fd(int filedes, \\\n\tSYS___ACL_ACLCHECK_FILE    = 353 // { int __acl_aclcheck_file(const char *path, \\\n\tSYS___ACL_ACLCHECK_FD      = 354 // { int __acl_aclcheck_fd(int filedes, \\\n\tSYS_EXTATTRCTL             = 355 // { int extattrctl(const char *path, int cmd, \\\n\tSYS_EXTATTR_SET_FILE       = 356 // { ssize_t extattr_set_file( \\\n\tSYS_EXTATTR_GET_FILE       = 357 // { ssize_t extattr_get_file( \\\n\tSYS_EXTATTR_DELETE_FILE    = 358 // { int extattr_delete_file(const char *path, \\\n\tSYS_GETRESUID              = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \\\n\tSYS_GETRESGID              = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \\\n\tSYS_KQUEUE                 = 362 // { int kqueue(void); }\n\tSYS_KEVENT                 = 363 // { int kevent(int fd, \\\n\tSYS_EXTATTR_SET_FD         = 371 // { ssize_t extattr_set_fd(int fd, \\\n\tSYS_EXTATTR_GET_FD         = 372 // { ssize_t extattr_get_fd(int fd, \\\n\tSYS_EXTATTR_DELETE_FD      = 373 // { int extattr_delete_fd(int fd, \\\n\tSYS___SETUGID              = 374 // { int __setugid(int flag); }\n\tSYS_EACCESS                = 376 // { int eaccess(char *path, int amode); }\n\tSYS_NMOUNT                 = 378 // { int nmount(struct iovec *iovp, \\\n\tSYS___MAC_GET_PROC         = 384 // { int __mac_get_proc(struct mac *mac_p); }\n\tSYS___MAC_SET_PROC         = 385 // { int __mac_set_proc(struct mac *mac_p); }\n\tSYS___MAC_GET_FD           = 386 // { int __mac_get_fd(int fd, \\\n\tSYS___MAC_GET_FILE         = 387 // { int __mac_get_file(const char *path_p, \\\n\tSYS___MAC_SET_FD           = 388 // { int __mac_set_fd(int fd, \\\n\tSYS___MAC_SET_FILE         = 389 // { int __mac_set_file(const char *path_p, \\\n\tSYS_KENV                   = 390 // { int kenv(int what, const char *name, \\\n\tSYS_LCHFLAGS               = 391 // { int lchflags(const char *path, \\\n\tSYS_UUIDGEN                = 392 // { int uuidgen(struct uuid *store, \\\n\tSYS_SENDFILE               = 393 // { int sendfile(int fd, int s, off_t offset, \\\n\tSYS_MAC_SYSCALL            = 394 // { int mac_syscall(const char *policy, \\\n\tSYS_GETFSSTAT              = 395 // { int getfsstat(struct statfs *buf, \\\n\tSYS_STATFS                 = 396 // { int statfs(char *path, \\\n\tSYS_FSTATFS                = 397 // { int fstatfs(int fd, struct statfs *buf); }\n\tSYS_FHSTATFS               = 398 // { int fhstatfs(const struct fhandle *u_fhp, \\\n\tSYS___MAC_GET_PID          = 409 // { int __mac_get_pid(pid_t pid, \\\n\tSYS___MAC_GET_LINK         = 410 // { int __mac_get_link(const char *path_p, \\\n\tSYS___MAC_SET_LINK         = 411 // { int __mac_set_link(const char *path_p, \\\n\tSYS_EXTATTR_SET_LINK       = 412 // { ssize_t extattr_set_link( \\\n\tSYS_EXTATTR_GET_LINK       = 413 // { ssize_t extattr_get_link( \\\n\tSYS_EXTATTR_DELETE_LINK    = 414 // { int extattr_delete_link( \\\n\tSYS___MAC_EXECVE           = 415 // { int __mac_execve(char *fname, char **argv, \\\n\tSYS_SIGACTION              = 416 // { int sigaction(int sig, \\\n\tSYS_SIGRETURN              = 417 // { int sigreturn( \\\n\tSYS_GETCONTEXT             = 421 // { int getcontext(struct __ucontext *ucp); }\n\tSYS_SETCONTEXT             = 422 // { int setcontext( \\\n\tSYS_SWAPCONTEXT            = 423 // { int swapcontext(struct __ucontext *oucp, \\\n\tSYS_SWAPOFF                = 424 // { int swapoff(const char *name); }\n\tSYS___ACL_GET_LINK         = 425 // { int __acl_get_link(const char *path, \\\n\tSYS___ACL_SET_LINK         = 426 // { int __acl_set_link(const char *path, \\\n\tSYS___ACL_DELETE_LINK      = 427 // { int __acl_delete_link(const char *path, \\\n\tSYS___ACL_ACLCHECK_LINK    = 428 // { int __acl_aclcheck_link(const char *path, \\\n\tSYS_SIGWAIT                = 429 // { int sigwait(const sigset_t *set, \\\n\tSYS_THR_CREATE             = 430 // { int thr_create(ucontext_t *ctx, long *id, \\\n\tSYS_THR_EXIT               = 431 // { void thr_exit(long *state); }\n\tSYS_THR_SELF               = 432 // { int thr_self(long *id); }\n\tSYS_THR_KILL               = 433 // { int thr_kill(long id, int sig); }\n\tSYS__UMTX_LOCK             = 434 // { int _umtx_lock(struct umtx *umtx); }\n\tSYS__UMTX_UNLOCK           = 435 // { int _umtx_unlock(struct umtx *umtx); }\n\tSYS_JAIL_ATTACH            = 436 // { int jail_attach(int jid); }\n\tSYS_EXTATTR_LIST_FD        = 437 // { ssize_t extattr_list_fd(int fd, \\\n\tSYS_EXTATTR_LIST_FILE      = 438 // { ssize_t extattr_list_file( \\\n\tSYS_EXTATTR_LIST_LINK      = 439 // { ssize_t extattr_list_link( \\\n\tSYS_THR_SUSPEND            = 442 // { int thr_suspend( \\\n\tSYS_THR_WAKE               = 443 // { int thr_wake(long id); }\n\tSYS_KLDUNLOADF             = 444 // { int kldunloadf(int fileid, int flags); }\n\tSYS_AUDIT                  = 445 // { int audit(const void *record, \\\n\tSYS_AUDITON                = 446 // { int auditon(int cmd, void *data, \\\n\tSYS_GETAUID                = 447 // { int getauid(uid_t *auid); }\n\tSYS_SETAUID                = 448 // { int setauid(uid_t *auid); }\n\tSYS_GETAUDIT               = 449 // { int getaudit(struct auditinfo *auditinfo); }\n\tSYS_SETAUDIT               = 450 // { int setaudit(struct auditinfo *auditinfo); }\n\tSYS_GETAUDIT_ADDR          = 451 // { int getaudit_addr( \\\n\tSYS_SETAUDIT_ADDR          = 452 // { int setaudit_addr( \\\n\tSYS_AUDITCTL               = 453 // { int auditctl(char *path); }\n\tSYS__UMTX_OP               = 454 // { int _umtx_op(void *obj, int op, \\\n\tSYS_THR_NEW                = 455 // { int thr_new(struct thr_param *param, \\\n\tSYS_SIGQUEUE               = 456 // { int sigqueue(pid_t pid, int signum, void *value); }\n\tSYS_ABORT2                 = 463 // { int abort2(const char *why, int nargs, void **args); }\n\tSYS_THR_SET_NAME           = 464 // { int thr_set_name(long id, const char *name); }\n\tSYS_RTPRIO_THREAD          = 466 // { int rtprio_thread(int function, \\\n\tSYS_PREAD                  = 475 // { ssize_t pread(int fd, void *buf, \\\n\tSYS_PWRITE                 = 476 // { ssize_t pwrite(int fd, const void *buf, \\\n\tSYS_MMAP                   = 477 // { caddr_t mmap(caddr_t addr, size_t len, \\\n\tSYS_LSEEK                  = 478 // { off_t lseek(int fd, off_t offset, \\\n\tSYS_TRUNCATE               = 479 // { int truncate(char *path, off_t length); }\n\tSYS_FTRUNCATE              = 480 // { int ftruncate(int fd, off_t length); }\n\tSYS_THR_KILL2              = 481 // { int thr_kill2(pid_t pid, long id, int sig); }\n\tSYS_SHM_OPEN               = 482 // { int shm_open(const char *path, int flags, \\\n\tSYS_SHM_UNLINK             = 483 // { int shm_unlink(const char *path); }\n\tSYS_CPUSET                 = 484 // { int cpuset(cpusetid_t *setid); }\n\tSYS_CPUSET_SETID           = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, \\\n\tSYS_CPUSET_GETID           = 486 // { int cpuset_getid(cpulevel_t level, \\\n\tSYS_CPUSET_GETAFFINITY     = 487 // { int cpuset_getaffinity(cpulevel_t level, \\\n\tSYS_CPUSET_SETAFFINITY     = 488 // { int cpuset_setaffinity(cpulevel_t level, \\\n\tSYS_FACCESSAT              = 489 // { int faccessat(int fd, char *path, int amode, \\\n\tSYS_FCHMODAT               = 490 // { int fchmodat(int fd, char *path, mode_t mode, \\\n\tSYS_FCHOWNAT               = 491 // { int fchownat(int fd, char *path, uid_t uid, \\\n\tSYS_FEXECVE                = 492 // { int fexecve(int fd, char **argv, \\\n\tSYS_FSTATAT                = 493 // { int fstatat(int fd, char *path, \\\n\tSYS_FUTIMESAT              = 494 // { int futimesat(int fd, char *path, \\\n\tSYS_LINKAT                 = 495 // { int linkat(int fd1, char *path1, int fd2, \\\n\tSYS_MKDIRAT                = 496 // { int mkdirat(int fd, char *path, mode_t mode); }\n\tSYS_MKFIFOAT               = 497 // { int mkfifoat(int fd, char *path, mode_t mode); }\n\tSYS_MKNODAT                = 498 // { int mknodat(int fd, char *path, mode_t mode, \\\n\tSYS_OPENAT                 = 499 // { int openat(int fd, char *path, int flag, \\\n\tSYS_READLINKAT             = 500 // { int readlinkat(int fd, char *path, char *buf, \\\n\tSYS_RENAMEAT               = 501 // { int renameat(int oldfd, char *old, int newfd, \\\n\tSYS_SYMLINKAT              = 502 // { int symlinkat(char *path1, int fd, \\\n\tSYS_UNLINKAT               = 503 // { int unlinkat(int fd, char *path, int flag); }\n\tSYS_POSIX_OPENPT           = 504 // { int posix_openpt(int flags); }\n\tSYS_JAIL_GET               = 506 // { int jail_get(struct iovec *iovp, \\\n\tSYS_JAIL_SET               = 507 // { int jail_set(struct iovec *iovp, \\\n\tSYS_JAIL_REMOVE            = 508 // { int jail_remove(int jid); }\n\tSYS_CLOSEFROM              = 509 // { int closefrom(int lowfd); }\n\tSYS_LPATHCONF              = 513 // { int lpathconf(char *path, int name); }\n\tSYS___CAP_RIGHTS_GET       = 515 // { int __cap_rights_get(int version, \\\n\tSYS_CAP_ENTER              = 516 // { int cap_enter(void); }\n\tSYS_CAP_GETMODE            = 517 // { int cap_getmode(u_int *modep); }\n\tSYS_PDFORK                 = 518 // { int pdfork(int *fdp, int flags); }\n\tSYS_PDKILL                 = 519 // { int pdkill(int fd, int signum); }\n\tSYS_PDGETPID               = 520 // { int pdgetpid(int fd, pid_t *pidp); }\n\tSYS_PSELECT                = 522 // { int pselect(int nd, fd_set *in, \\\n\tSYS_GETLOGINCLASS          = 523 // { int getloginclass(char *namebuf, \\\n\tSYS_SETLOGINCLASS          = 524 // { int setloginclass(const char *namebuf); }\n\tSYS_RCTL_GET_RACCT         = 525 // { int rctl_get_racct(const void *inbufp, \\\n\tSYS_RCTL_GET_RULES         = 526 // { int rctl_get_rules(const void *inbufp, \\\n\tSYS_RCTL_GET_LIMITS        = 527 // { int rctl_get_limits(const void *inbufp, \\\n\tSYS_RCTL_ADD_RULE          = 528 // { int rctl_add_rule(const void *inbufp, \\\n\tSYS_RCTL_REMOVE_RULE       = 529 // { int rctl_remove_rule(const void *inbufp, \\\n\tSYS_POSIX_FALLOCATE        = 530 // { int posix_fallocate(int fd, \\\n\tSYS_POSIX_FADVISE          = 531 // { int posix_fadvise(int fd, off_t offset, \\\n\tSYS_WAIT6                  = 532 // { int wait6(idtype_t idtype, id_t id, \\\n\tSYS_CAP_RIGHTS_LIMIT       = 533 // { int cap_rights_limit(int fd, \\\n\tSYS_CAP_IOCTLS_LIMIT       = 534 // { int cap_ioctls_limit(int fd, \\\n\tSYS_CAP_IOCTLS_GET         = 535 // { ssize_t cap_ioctls_get(int fd, \\\n\tSYS_CAP_FCNTLS_LIMIT       = 536 // { int cap_fcntls_limit(int fd, \\\n\tSYS_CAP_FCNTLS_GET         = 537 // { int cap_fcntls_get(int fd, \\\n\tSYS_BINDAT                 = 538 // { int bindat(int fd, int s, caddr_t name, \\\n\tSYS_CONNECTAT              = 539 // { int connectat(int fd, int s, caddr_t name, \\\n\tSYS_CHFLAGSAT              = 540 // { int chflagsat(int fd, const char *path, \\\n\tSYS_ACCEPT4                = 541 // { int accept4(int s, \\\n\tSYS_PIPE2                  = 542 // { int pipe2(int *fildes, int flags); }\n\tSYS_PROCCTL                = 544 // { int procctl(idtype_t idtype, id_t id, \\\n\tSYS_PPOLL                  = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \\\n\tSYS_FUTIMENS               = 546 // { int futimens(int fd, \\\n\tSYS_UTIMENSAT              = 547 // { int utimensat(int fd, \\\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_linux_386.go",
    "content": "// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include -m32 /tmp/include/asm/unistd.h\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build 386,linux\n\npackage unix\n\nconst (\n\tSYS_RESTART_SYSCALL        = 0\n\tSYS_EXIT                   = 1\n\tSYS_FORK                   = 2\n\tSYS_READ                   = 3\n\tSYS_WRITE                  = 4\n\tSYS_OPEN                   = 5\n\tSYS_CLOSE                  = 6\n\tSYS_WAITPID                = 7\n\tSYS_CREAT                  = 8\n\tSYS_LINK                   = 9\n\tSYS_UNLINK                 = 10\n\tSYS_EXECVE                 = 11\n\tSYS_CHDIR                  = 12\n\tSYS_TIME                   = 13\n\tSYS_MKNOD                  = 14\n\tSYS_CHMOD                  = 15\n\tSYS_LCHOWN                 = 16\n\tSYS_BREAK                  = 17\n\tSYS_OLDSTAT                = 18\n\tSYS_LSEEK                  = 19\n\tSYS_GETPID                 = 20\n\tSYS_MOUNT                  = 21\n\tSYS_UMOUNT                 = 22\n\tSYS_SETUID                 = 23\n\tSYS_GETUID                 = 24\n\tSYS_STIME                  = 25\n\tSYS_PTRACE                 = 26\n\tSYS_ALARM                  = 27\n\tSYS_OLDFSTAT               = 28\n\tSYS_PAUSE                  = 29\n\tSYS_UTIME                  = 30\n\tSYS_STTY                   = 31\n\tSYS_GTTY                   = 32\n\tSYS_ACCESS                 = 33\n\tSYS_NICE                   = 34\n\tSYS_FTIME                  = 35\n\tSYS_SYNC                   = 36\n\tSYS_KILL                   = 37\n\tSYS_RENAME                 = 38\n\tSYS_MKDIR                  = 39\n\tSYS_RMDIR                  = 40\n\tSYS_DUP                    = 41\n\tSYS_PIPE                   = 42\n\tSYS_TIMES                  = 43\n\tSYS_PROF                   = 44\n\tSYS_BRK                    = 45\n\tSYS_SETGID                 = 46\n\tSYS_GETGID                 = 47\n\tSYS_SIGNAL                 = 48\n\tSYS_GETEUID                = 49\n\tSYS_GETEGID                = 50\n\tSYS_ACCT                   = 51\n\tSYS_UMOUNT2                = 52\n\tSYS_LOCK                   = 53\n\tSYS_IOCTL                  = 54\n\tSYS_FCNTL                  = 55\n\tSYS_MPX                    = 56\n\tSYS_SETPGID                = 57\n\tSYS_ULIMIT                 = 58\n\tSYS_OLDOLDUNAME            = 59\n\tSYS_UMASK                  = 60\n\tSYS_CHROOT                 = 61\n\tSYS_USTAT                  = 62\n\tSYS_DUP2                   = 63\n\tSYS_GETPPID                = 64\n\tSYS_GETPGRP                = 65\n\tSYS_SETSID                 = 66\n\tSYS_SIGACTION              = 67\n\tSYS_SGETMASK               = 68\n\tSYS_SSETMASK               = 69\n\tSYS_SETREUID               = 70\n\tSYS_SETREGID               = 71\n\tSYS_SIGSUSPEND             = 72\n\tSYS_SIGPENDING             = 73\n\tSYS_SETHOSTNAME            = 74\n\tSYS_SETRLIMIT              = 75\n\tSYS_GETRLIMIT              = 76\n\tSYS_GETRUSAGE              = 77\n\tSYS_GETTIMEOFDAY           = 78\n\tSYS_SETTIMEOFDAY           = 79\n\tSYS_GETGROUPS              = 80\n\tSYS_SETGROUPS              = 81\n\tSYS_SELECT                 = 82\n\tSYS_SYMLINK                = 83\n\tSYS_OLDLSTAT               = 84\n\tSYS_READLINK               = 85\n\tSYS_USELIB                 = 86\n\tSYS_SWAPON                 = 87\n\tSYS_REBOOT                 = 88\n\tSYS_READDIR                = 89\n\tSYS_MMAP                   = 90\n\tSYS_MUNMAP                 = 91\n\tSYS_TRUNCATE               = 92\n\tSYS_FTRUNCATE              = 93\n\tSYS_FCHMOD                 = 94\n\tSYS_FCHOWN                 = 95\n\tSYS_GETPRIORITY            = 96\n\tSYS_SETPRIORITY            = 97\n\tSYS_PROFIL                 = 98\n\tSYS_STATFS                 = 99\n\tSYS_FSTATFS                = 100\n\tSYS_IOPERM                 = 101\n\tSYS_SOCKETCALL             = 102\n\tSYS_SYSLOG                 = 103\n\tSYS_SETITIMER              = 104\n\tSYS_GETITIMER              = 105\n\tSYS_STAT                   = 106\n\tSYS_LSTAT                  = 107\n\tSYS_FSTAT                  = 108\n\tSYS_OLDUNAME               = 109\n\tSYS_IOPL                   = 110\n\tSYS_VHANGUP                = 111\n\tSYS_IDLE                   = 112\n\tSYS_VM86OLD                = 113\n\tSYS_WAIT4                  = 114\n\tSYS_SWAPOFF                = 115\n\tSYS_SYSINFO                = 116\n\tSYS_IPC                    = 117\n\tSYS_FSYNC                  = 118\n\tSYS_SIGRETURN              = 119\n\tSYS_CLONE                  = 120\n\tSYS_SETDOMAINNAME          = 121\n\tSYS_UNAME                  = 122\n\tSYS_MODIFY_LDT             = 123\n\tSYS_ADJTIMEX               = 124\n\tSYS_MPROTECT               = 125\n\tSYS_SIGPROCMASK            = 126\n\tSYS_CREATE_MODULE          = 127\n\tSYS_INIT_MODULE            = 128\n\tSYS_DELETE_MODULE          = 129\n\tSYS_GET_KERNEL_SYMS        = 130\n\tSYS_QUOTACTL               = 131\n\tSYS_GETPGID                = 132\n\tSYS_FCHDIR                 = 133\n\tSYS_BDFLUSH                = 134\n\tSYS_SYSFS                  = 135\n\tSYS_PERSONALITY            = 136\n\tSYS_AFS_SYSCALL            = 137\n\tSYS_SETFSUID               = 138\n\tSYS_SETFSGID               = 139\n\tSYS__LLSEEK                = 140\n\tSYS_GETDENTS               = 141\n\tSYS__NEWSELECT             = 142\n\tSYS_FLOCK                  = 143\n\tSYS_MSYNC                  = 144\n\tSYS_READV                  = 145\n\tSYS_WRITEV                 = 146\n\tSYS_GETSID                 = 147\n\tSYS_FDATASYNC              = 148\n\tSYS__SYSCTL                = 149\n\tSYS_MLOCK                  = 150\n\tSYS_MUNLOCK                = 151\n\tSYS_MLOCKALL               = 152\n\tSYS_MUNLOCKALL             = 153\n\tSYS_SCHED_SETPARAM         = 154\n\tSYS_SCHED_GETPARAM         = 155\n\tSYS_SCHED_SETSCHEDULER     = 156\n\tSYS_SCHED_GETSCHEDULER     = 157\n\tSYS_SCHED_YIELD            = 158\n\tSYS_SCHED_GET_PRIORITY_MAX = 159\n\tSYS_SCHED_GET_PRIORITY_MIN = 160\n\tSYS_SCHED_RR_GET_INTERVAL  = 161\n\tSYS_NANOSLEEP              = 162\n\tSYS_MREMAP                 = 163\n\tSYS_SETRESUID              = 164\n\tSYS_GETRESUID              = 165\n\tSYS_VM86                   = 166\n\tSYS_QUERY_MODULE           = 167\n\tSYS_POLL                   = 168\n\tSYS_NFSSERVCTL             = 169\n\tSYS_SETRESGID              = 170\n\tSYS_GETRESGID              = 171\n\tSYS_PRCTL                  = 172\n\tSYS_RT_SIGRETURN           = 173\n\tSYS_RT_SIGACTION           = 174\n\tSYS_RT_SIGPROCMASK         = 175\n\tSYS_RT_SIGPENDING          = 176\n\tSYS_RT_SIGTIMEDWAIT        = 177\n\tSYS_RT_SIGQUEUEINFO        = 178\n\tSYS_RT_SIGSUSPEND          = 179\n\tSYS_PREAD64                = 180\n\tSYS_PWRITE64               = 181\n\tSYS_CHOWN                  = 182\n\tSYS_GETCWD                 = 183\n\tSYS_CAPGET                 = 184\n\tSYS_CAPSET                 = 185\n\tSYS_SIGALTSTACK            = 186\n\tSYS_SENDFILE               = 187\n\tSYS_GETPMSG                = 188\n\tSYS_PUTPMSG                = 189\n\tSYS_VFORK                  = 190\n\tSYS_UGETRLIMIT             = 191\n\tSYS_MMAP2                  = 192\n\tSYS_TRUNCATE64             = 193\n\tSYS_FTRUNCATE64            = 194\n\tSYS_STAT64                 = 195\n\tSYS_LSTAT64                = 196\n\tSYS_FSTAT64                = 197\n\tSYS_LCHOWN32               = 198\n\tSYS_GETUID32               = 199\n\tSYS_GETGID32               = 200\n\tSYS_GETEUID32              = 201\n\tSYS_GETEGID32              = 202\n\tSYS_SETREUID32             = 203\n\tSYS_SETREGID32             = 204\n\tSYS_GETGROUPS32            = 205\n\tSYS_SETGROUPS32            = 206\n\tSYS_FCHOWN32               = 207\n\tSYS_SETRESUID32            = 208\n\tSYS_GETRESUID32            = 209\n\tSYS_SETRESGID32            = 210\n\tSYS_GETRESGID32            = 211\n\tSYS_CHOWN32                = 212\n\tSYS_SETUID32               = 213\n\tSYS_SETGID32               = 214\n\tSYS_SETFSUID32             = 215\n\tSYS_SETFSGID32             = 216\n\tSYS_PIVOT_ROOT             = 217\n\tSYS_MINCORE                = 218\n\tSYS_MADVISE                = 219\n\tSYS_GETDENTS64             = 220\n\tSYS_FCNTL64                = 221\n\tSYS_GETTID                 = 224\n\tSYS_READAHEAD              = 225\n\tSYS_SETXATTR               = 226\n\tSYS_LSETXATTR              = 227\n\tSYS_FSETXATTR              = 228\n\tSYS_GETXATTR               = 229\n\tSYS_LGETXATTR              = 230\n\tSYS_FGETXATTR              = 231\n\tSYS_LISTXATTR              = 232\n\tSYS_LLISTXATTR             = 233\n\tSYS_FLISTXATTR             = 234\n\tSYS_REMOVEXATTR            = 235\n\tSYS_LREMOVEXATTR           = 236\n\tSYS_FREMOVEXATTR           = 237\n\tSYS_TKILL                  = 238\n\tSYS_SENDFILE64             = 239\n\tSYS_FUTEX                  = 240\n\tSYS_SCHED_SETAFFINITY      = 241\n\tSYS_SCHED_GETAFFINITY      = 242\n\tSYS_SET_THREAD_AREA        = 243\n\tSYS_GET_THREAD_AREA        = 244\n\tSYS_IO_SETUP               = 245\n\tSYS_IO_DESTROY             = 246\n\tSYS_IO_GETEVENTS           = 247\n\tSYS_IO_SUBMIT              = 248\n\tSYS_IO_CANCEL              = 249\n\tSYS_FADVISE64              = 250\n\tSYS_EXIT_GROUP             = 252\n\tSYS_LOOKUP_DCOOKIE         = 253\n\tSYS_EPOLL_CREATE           = 254\n\tSYS_EPOLL_CTL              = 255\n\tSYS_EPOLL_WAIT             = 256\n\tSYS_REMAP_FILE_PAGES       = 257\n\tSYS_SET_TID_ADDRESS        = 258\n\tSYS_TIMER_CREATE           = 259\n\tSYS_TIMER_SETTIME          = 260\n\tSYS_TIMER_GETTIME          = 261\n\tSYS_TIMER_GETOVERRUN       = 262\n\tSYS_TIMER_DELETE           = 263\n\tSYS_CLOCK_SETTIME          = 264\n\tSYS_CLOCK_GETTIME          = 265\n\tSYS_CLOCK_GETRES           = 266\n\tSYS_CLOCK_NANOSLEEP        = 267\n\tSYS_STATFS64               = 268\n\tSYS_FSTATFS64              = 269\n\tSYS_TGKILL                 = 270\n\tSYS_UTIMES                 = 271\n\tSYS_FADVISE64_64           = 272\n\tSYS_VSERVER                = 273\n\tSYS_MBIND                  = 274\n\tSYS_GET_MEMPOLICY          = 275\n\tSYS_SET_MEMPOLICY          = 276\n\tSYS_MQ_OPEN                = 277\n\tSYS_MQ_UNLINK              = 278\n\tSYS_MQ_TIMEDSEND           = 279\n\tSYS_MQ_TIMEDRECEIVE        = 280\n\tSYS_MQ_NOTIFY              = 281\n\tSYS_MQ_GETSETATTR          = 282\n\tSYS_KEXEC_LOAD             = 283\n\tSYS_WAITID                 = 284\n\tSYS_ADD_KEY                = 286\n\tSYS_REQUEST_KEY            = 287\n\tSYS_KEYCTL                 = 288\n\tSYS_IOPRIO_SET             = 289\n\tSYS_IOPRIO_GET             = 290\n\tSYS_INOTIFY_INIT           = 291\n\tSYS_INOTIFY_ADD_WATCH      = 292\n\tSYS_INOTIFY_RM_WATCH       = 293\n\tSYS_MIGRATE_PAGES          = 294\n\tSYS_OPENAT                 = 295\n\tSYS_MKDIRAT                = 296\n\tSYS_MKNODAT                = 297\n\tSYS_FCHOWNAT               = 298\n\tSYS_FUTIMESAT              = 299\n\tSYS_FSTATAT64              = 300\n\tSYS_UNLINKAT               = 301\n\tSYS_RENAMEAT               = 302\n\tSYS_LINKAT                 = 303\n\tSYS_SYMLINKAT              = 304\n\tSYS_READLINKAT             = 305\n\tSYS_FCHMODAT               = 306\n\tSYS_FACCESSAT              = 307\n\tSYS_PSELECT6               = 308\n\tSYS_PPOLL                  = 309\n\tSYS_UNSHARE                = 310\n\tSYS_SET_ROBUST_LIST        = 311\n\tSYS_GET_ROBUST_LIST        = 312\n\tSYS_SPLICE                 = 313\n\tSYS_SYNC_FILE_RANGE        = 314\n\tSYS_TEE                    = 315\n\tSYS_VMSPLICE               = 316\n\tSYS_MOVE_PAGES             = 317\n\tSYS_GETCPU                 = 318\n\tSYS_EPOLL_PWAIT            = 319\n\tSYS_UTIMENSAT              = 320\n\tSYS_SIGNALFD               = 321\n\tSYS_TIMERFD_CREATE         = 322\n\tSYS_EVENTFD                = 323\n\tSYS_FALLOCATE              = 324\n\tSYS_TIMERFD_SETTIME        = 325\n\tSYS_TIMERFD_GETTIME        = 326\n\tSYS_SIGNALFD4              = 327\n\tSYS_EVENTFD2               = 328\n\tSYS_EPOLL_CREATE1          = 329\n\tSYS_DUP3                   = 330\n\tSYS_PIPE2                  = 331\n\tSYS_INOTIFY_INIT1          = 332\n\tSYS_PREADV                 = 333\n\tSYS_PWRITEV                = 334\n\tSYS_RT_TGSIGQUEUEINFO      = 335\n\tSYS_PERF_EVENT_OPEN        = 336\n\tSYS_RECVMMSG               = 337\n\tSYS_FANOTIFY_INIT          = 338\n\tSYS_FANOTIFY_MARK          = 339\n\tSYS_PRLIMIT64              = 340\n\tSYS_NAME_TO_HANDLE_AT      = 341\n\tSYS_OPEN_BY_HANDLE_AT      = 342\n\tSYS_CLOCK_ADJTIME          = 343\n\tSYS_SYNCFS                 = 344\n\tSYS_SENDMMSG               = 345\n\tSYS_SETNS                  = 346\n\tSYS_PROCESS_VM_READV       = 347\n\tSYS_PROCESS_VM_WRITEV      = 348\n\tSYS_KCMP                   = 349\n\tSYS_FINIT_MODULE           = 350\n\tSYS_SCHED_SETATTR          = 351\n\tSYS_SCHED_GETATTR          = 352\n\tSYS_RENAMEAT2              = 353\n\tSYS_SECCOMP                = 354\n\tSYS_GETRANDOM              = 355\n\tSYS_MEMFD_CREATE           = 356\n\tSYS_BPF                    = 357\n\tSYS_EXECVEAT               = 358\n\tSYS_SOCKET                 = 359\n\tSYS_SOCKETPAIR             = 360\n\tSYS_BIND                   = 361\n\tSYS_CONNECT                = 362\n\tSYS_LISTEN                 = 363\n\tSYS_ACCEPT4                = 364\n\tSYS_GETSOCKOPT             = 365\n\tSYS_SETSOCKOPT             = 366\n\tSYS_GETSOCKNAME            = 367\n\tSYS_GETPEERNAME            = 368\n\tSYS_SENDTO                 = 369\n\tSYS_SENDMSG                = 370\n\tSYS_RECVFROM               = 371\n\tSYS_RECVMSG                = 372\n\tSYS_SHUTDOWN               = 373\n\tSYS_USERFAULTFD            = 374\n\tSYS_MEMBARRIER             = 375\n\tSYS_MLOCK2                 = 376\n\tSYS_COPY_FILE_RANGE        = 377\n\tSYS_PREADV2                = 378\n\tSYS_PWRITEV2               = 379\n\tSYS_PKEY_MPROTECT          = 380\n\tSYS_PKEY_ALLOC             = 381\n\tSYS_PKEY_FREE              = 382\n\tSYS_STATX                  = 383\n\tSYS_ARCH_PRCTL             = 384\n\tSYS_IO_PGETEVENTS          = 385\n\tSYS_RSEQ                   = 386\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go",
    "content": "// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include -m64 /tmp/include/asm/unistd.h\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,linux\n\npackage unix\n\nconst (\n\tSYS_READ                   = 0\n\tSYS_WRITE                  = 1\n\tSYS_OPEN                   = 2\n\tSYS_CLOSE                  = 3\n\tSYS_STAT                   = 4\n\tSYS_FSTAT                  = 5\n\tSYS_LSTAT                  = 6\n\tSYS_POLL                   = 7\n\tSYS_LSEEK                  = 8\n\tSYS_MMAP                   = 9\n\tSYS_MPROTECT               = 10\n\tSYS_MUNMAP                 = 11\n\tSYS_BRK                    = 12\n\tSYS_RT_SIGACTION           = 13\n\tSYS_RT_SIGPROCMASK         = 14\n\tSYS_RT_SIGRETURN           = 15\n\tSYS_IOCTL                  = 16\n\tSYS_PREAD64                = 17\n\tSYS_PWRITE64               = 18\n\tSYS_READV                  = 19\n\tSYS_WRITEV                 = 20\n\tSYS_ACCESS                 = 21\n\tSYS_PIPE                   = 22\n\tSYS_SELECT                 = 23\n\tSYS_SCHED_YIELD            = 24\n\tSYS_MREMAP                 = 25\n\tSYS_MSYNC                  = 26\n\tSYS_MINCORE                = 27\n\tSYS_MADVISE                = 28\n\tSYS_SHMGET                 = 29\n\tSYS_SHMAT                  = 30\n\tSYS_SHMCTL                 = 31\n\tSYS_DUP                    = 32\n\tSYS_DUP2                   = 33\n\tSYS_PAUSE                  = 34\n\tSYS_NANOSLEEP              = 35\n\tSYS_GETITIMER              = 36\n\tSYS_ALARM                  = 37\n\tSYS_SETITIMER              = 38\n\tSYS_GETPID                 = 39\n\tSYS_SENDFILE               = 40\n\tSYS_SOCKET                 = 41\n\tSYS_CONNECT                = 42\n\tSYS_ACCEPT                 = 43\n\tSYS_SENDTO                 = 44\n\tSYS_RECVFROM               = 45\n\tSYS_SENDMSG                = 46\n\tSYS_RECVMSG                = 47\n\tSYS_SHUTDOWN               = 48\n\tSYS_BIND                   = 49\n\tSYS_LISTEN                 = 50\n\tSYS_GETSOCKNAME            = 51\n\tSYS_GETPEERNAME            = 52\n\tSYS_SOCKETPAIR             = 53\n\tSYS_SETSOCKOPT             = 54\n\tSYS_GETSOCKOPT             = 55\n\tSYS_CLONE                  = 56\n\tSYS_FORK                   = 57\n\tSYS_VFORK                  = 58\n\tSYS_EXECVE                 = 59\n\tSYS_EXIT                   = 60\n\tSYS_WAIT4                  = 61\n\tSYS_KILL                   = 62\n\tSYS_UNAME                  = 63\n\tSYS_SEMGET                 = 64\n\tSYS_SEMOP                  = 65\n\tSYS_SEMCTL                 = 66\n\tSYS_SHMDT                  = 67\n\tSYS_MSGGET                 = 68\n\tSYS_MSGSND                 = 69\n\tSYS_MSGRCV                 = 70\n\tSYS_MSGCTL                 = 71\n\tSYS_FCNTL                  = 72\n\tSYS_FLOCK                  = 73\n\tSYS_FSYNC                  = 74\n\tSYS_FDATASYNC              = 75\n\tSYS_TRUNCATE               = 76\n\tSYS_FTRUNCATE              = 77\n\tSYS_GETDENTS               = 78\n\tSYS_GETCWD                 = 79\n\tSYS_CHDIR                  = 80\n\tSYS_FCHDIR                 = 81\n\tSYS_RENAME                 = 82\n\tSYS_MKDIR                  = 83\n\tSYS_RMDIR                  = 84\n\tSYS_CREAT                  = 85\n\tSYS_LINK                   = 86\n\tSYS_UNLINK                 = 87\n\tSYS_SYMLINK                = 88\n\tSYS_READLINK               = 89\n\tSYS_CHMOD                  = 90\n\tSYS_FCHMOD                 = 91\n\tSYS_CHOWN                  = 92\n\tSYS_FCHOWN                 = 93\n\tSYS_LCHOWN                 = 94\n\tSYS_UMASK                  = 95\n\tSYS_GETTIMEOFDAY           = 96\n\tSYS_GETRLIMIT              = 97\n\tSYS_GETRUSAGE              = 98\n\tSYS_SYSINFO                = 99\n\tSYS_TIMES                  = 100\n\tSYS_PTRACE                 = 101\n\tSYS_GETUID                 = 102\n\tSYS_SYSLOG                 = 103\n\tSYS_GETGID                 = 104\n\tSYS_SETUID                 = 105\n\tSYS_SETGID                 = 106\n\tSYS_GETEUID                = 107\n\tSYS_GETEGID                = 108\n\tSYS_SETPGID                = 109\n\tSYS_GETPPID                = 110\n\tSYS_GETPGRP                = 111\n\tSYS_SETSID                 = 112\n\tSYS_SETREUID               = 113\n\tSYS_SETREGID               = 114\n\tSYS_GETGROUPS              = 115\n\tSYS_SETGROUPS              = 116\n\tSYS_SETRESUID              = 117\n\tSYS_GETRESUID              = 118\n\tSYS_SETRESGID              = 119\n\tSYS_GETRESGID              = 120\n\tSYS_GETPGID                = 121\n\tSYS_SETFSUID               = 122\n\tSYS_SETFSGID               = 123\n\tSYS_GETSID                 = 124\n\tSYS_CAPGET                 = 125\n\tSYS_CAPSET                 = 126\n\tSYS_RT_SIGPENDING          = 127\n\tSYS_RT_SIGTIMEDWAIT        = 128\n\tSYS_RT_SIGQUEUEINFO        = 129\n\tSYS_RT_SIGSUSPEND          = 130\n\tSYS_SIGALTSTACK            = 131\n\tSYS_UTIME                  = 132\n\tSYS_MKNOD                  = 133\n\tSYS_USELIB                 = 134\n\tSYS_PERSONALITY            = 135\n\tSYS_USTAT                  = 136\n\tSYS_STATFS                 = 137\n\tSYS_FSTATFS                = 138\n\tSYS_SYSFS                  = 139\n\tSYS_GETPRIORITY            = 140\n\tSYS_SETPRIORITY            = 141\n\tSYS_SCHED_SETPARAM         = 142\n\tSYS_SCHED_GETPARAM         = 143\n\tSYS_SCHED_SETSCHEDULER     = 144\n\tSYS_SCHED_GETSCHEDULER     = 145\n\tSYS_SCHED_GET_PRIORITY_MAX = 146\n\tSYS_SCHED_GET_PRIORITY_MIN = 147\n\tSYS_SCHED_RR_GET_INTERVAL  = 148\n\tSYS_MLOCK                  = 149\n\tSYS_MUNLOCK                = 150\n\tSYS_MLOCKALL               = 151\n\tSYS_MUNLOCKALL             = 152\n\tSYS_VHANGUP                = 153\n\tSYS_MODIFY_LDT             = 154\n\tSYS_PIVOT_ROOT             = 155\n\tSYS__SYSCTL                = 156\n\tSYS_PRCTL                  = 157\n\tSYS_ARCH_PRCTL             = 158\n\tSYS_ADJTIMEX               = 159\n\tSYS_SETRLIMIT              = 160\n\tSYS_CHROOT                 = 161\n\tSYS_SYNC                   = 162\n\tSYS_ACCT                   = 163\n\tSYS_SETTIMEOFDAY           = 164\n\tSYS_MOUNT                  = 165\n\tSYS_UMOUNT2                = 166\n\tSYS_SWAPON                 = 167\n\tSYS_SWAPOFF                = 168\n\tSYS_REBOOT                 = 169\n\tSYS_SETHOSTNAME            = 170\n\tSYS_SETDOMAINNAME          = 171\n\tSYS_IOPL                   = 172\n\tSYS_IOPERM                 = 173\n\tSYS_CREATE_MODULE          = 174\n\tSYS_INIT_MODULE            = 175\n\tSYS_DELETE_MODULE          = 176\n\tSYS_GET_KERNEL_SYMS        = 177\n\tSYS_QUERY_MODULE           = 178\n\tSYS_QUOTACTL               = 179\n\tSYS_NFSSERVCTL             = 180\n\tSYS_GETPMSG                = 181\n\tSYS_PUTPMSG                = 182\n\tSYS_AFS_SYSCALL            = 183\n\tSYS_TUXCALL                = 184\n\tSYS_SECURITY               = 185\n\tSYS_GETTID                 = 186\n\tSYS_READAHEAD              = 187\n\tSYS_SETXATTR               = 188\n\tSYS_LSETXATTR              = 189\n\tSYS_FSETXATTR              = 190\n\tSYS_GETXATTR               = 191\n\tSYS_LGETXATTR              = 192\n\tSYS_FGETXATTR              = 193\n\tSYS_LISTXATTR              = 194\n\tSYS_LLISTXATTR             = 195\n\tSYS_FLISTXATTR             = 196\n\tSYS_REMOVEXATTR            = 197\n\tSYS_LREMOVEXATTR           = 198\n\tSYS_FREMOVEXATTR           = 199\n\tSYS_TKILL                  = 200\n\tSYS_TIME                   = 201\n\tSYS_FUTEX                  = 202\n\tSYS_SCHED_SETAFFINITY      = 203\n\tSYS_SCHED_GETAFFINITY      = 204\n\tSYS_SET_THREAD_AREA        = 205\n\tSYS_IO_SETUP               = 206\n\tSYS_IO_DESTROY             = 207\n\tSYS_IO_GETEVENTS           = 208\n\tSYS_IO_SUBMIT              = 209\n\tSYS_IO_CANCEL              = 210\n\tSYS_GET_THREAD_AREA        = 211\n\tSYS_LOOKUP_DCOOKIE         = 212\n\tSYS_EPOLL_CREATE           = 213\n\tSYS_EPOLL_CTL_OLD          = 214\n\tSYS_EPOLL_WAIT_OLD         = 215\n\tSYS_REMAP_FILE_PAGES       = 216\n\tSYS_GETDENTS64             = 217\n\tSYS_SET_TID_ADDRESS        = 218\n\tSYS_RESTART_SYSCALL        = 219\n\tSYS_SEMTIMEDOP             = 220\n\tSYS_FADVISE64              = 221\n\tSYS_TIMER_CREATE           = 222\n\tSYS_TIMER_SETTIME          = 223\n\tSYS_TIMER_GETTIME          = 224\n\tSYS_TIMER_GETOVERRUN       = 225\n\tSYS_TIMER_DELETE           = 226\n\tSYS_CLOCK_SETTIME          = 227\n\tSYS_CLOCK_GETTIME          = 228\n\tSYS_CLOCK_GETRES           = 229\n\tSYS_CLOCK_NANOSLEEP        = 230\n\tSYS_EXIT_GROUP             = 231\n\tSYS_EPOLL_WAIT             = 232\n\tSYS_EPOLL_CTL              = 233\n\tSYS_TGKILL                 = 234\n\tSYS_UTIMES                 = 235\n\tSYS_VSERVER                = 236\n\tSYS_MBIND                  = 237\n\tSYS_SET_MEMPOLICY          = 238\n\tSYS_GET_MEMPOLICY          = 239\n\tSYS_MQ_OPEN                = 240\n\tSYS_MQ_UNLINK              = 241\n\tSYS_MQ_TIMEDSEND           = 242\n\tSYS_MQ_TIMEDRECEIVE        = 243\n\tSYS_MQ_NOTIFY              = 244\n\tSYS_MQ_GETSETATTR          = 245\n\tSYS_KEXEC_LOAD             = 246\n\tSYS_WAITID                 = 247\n\tSYS_ADD_KEY                = 248\n\tSYS_REQUEST_KEY            = 249\n\tSYS_KEYCTL                 = 250\n\tSYS_IOPRIO_SET             = 251\n\tSYS_IOPRIO_GET             = 252\n\tSYS_INOTIFY_INIT           = 253\n\tSYS_INOTIFY_ADD_WATCH      = 254\n\tSYS_INOTIFY_RM_WATCH       = 255\n\tSYS_MIGRATE_PAGES          = 256\n\tSYS_OPENAT                 = 257\n\tSYS_MKDIRAT                = 258\n\tSYS_MKNODAT                = 259\n\tSYS_FCHOWNAT               = 260\n\tSYS_FUTIMESAT              = 261\n\tSYS_NEWFSTATAT             = 262\n\tSYS_UNLINKAT               = 263\n\tSYS_RENAMEAT               = 264\n\tSYS_LINKAT                 = 265\n\tSYS_SYMLINKAT              = 266\n\tSYS_READLINKAT             = 267\n\tSYS_FCHMODAT               = 268\n\tSYS_FACCESSAT              = 269\n\tSYS_PSELECT6               = 270\n\tSYS_PPOLL                  = 271\n\tSYS_UNSHARE                = 272\n\tSYS_SET_ROBUST_LIST        = 273\n\tSYS_GET_ROBUST_LIST        = 274\n\tSYS_SPLICE                 = 275\n\tSYS_TEE                    = 276\n\tSYS_SYNC_FILE_RANGE        = 277\n\tSYS_VMSPLICE               = 278\n\tSYS_MOVE_PAGES             = 279\n\tSYS_UTIMENSAT              = 280\n\tSYS_EPOLL_PWAIT            = 281\n\tSYS_SIGNALFD               = 282\n\tSYS_TIMERFD_CREATE         = 283\n\tSYS_EVENTFD                = 284\n\tSYS_FALLOCATE              = 285\n\tSYS_TIMERFD_SETTIME        = 286\n\tSYS_TIMERFD_GETTIME        = 287\n\tSYS_ACCEPT4                = 288\n\tSYS_SIGNALFD4              = 289\n\tSYS_EVENTFD2               = 290\n\tSYS_EPOLL_CREATE1          = 291\n\tSYS_DUP3                   = 292\n\tSYS_PIPE2                  = 293\n\tSYS_INOTIFY_INIT1          = 294\n\tSYS_PREADV                 = 295\n\tSYS_PWRITEV                = 296\n\tSYS_RT_TGSIGQUEUEINFO      = 297\n\tSYS_PERF_EVENT_OPEN        = 298\n\tSYS_RECVMMSG               = 299\n\tSYS_FANOTIFY_INIT          = 300\n\tSYS_FANOTIFY_MARK          = 301\n\tSYS_PRLIMIT64              = 302\n\tSYS_NAME_TO_HANDLE_AT      = 303\n\tSYS_OPEN_BY_HANDLE_AT      = 304\n\tSYS_CLOCK_ADJTIME          = 305\n\tSYS_SYNCFS                 = 306\n\tSYS_SENDMMSG               = 307\n\tSYS_SETNS                  = 308\n\tSYS_GETCPU                 = 309\n\tSYS_PROCESS_VM_READV       = 310\n\tSYS_PROCESS_VM_WRITEV      = 311\n\tSYS_KCMP                   = 312\n\tSYS_FINIT_MODULE           = 313\n\tSYS_SCHED_SETATTR          = 314\n\tSYS_SCHED_GETATTR          = 315\n\tSYS_RENAMEAT2              = 316\n\tSYS_SECCOMP                = 317\n\tSYS_GETRANDOM              = 318\n\tSYS_MEMFD_CREATE           = 319\n\tSYS_KEXEC_FILE_LOAD        = 320\n\tSYS_BPF                    = 321\n\tSYS_EXECVEAT               = 322\n\tSYS_USERFAULTFD            = 323\n\tSYS_MEMBARRIER             = 324\n\tSYS_MLOCK2                 = 325\n\tSYS_COPY_FILE_RANGE        = 326\n\tSYS_PREADV2                = 327\n\tSYS_PWRITEV2               = 328\n\tSYS_PKEY_MPROTECT          = 329\n\tSYS_PKEY_ALLOC             = 330\n\tSYS_PKEY_FREE              = 331\n\tSYS_STATX                  = 332\n\tSYS_IO_PGETEVENTS          = 333\n\tSYS_RSEQ                   = 334\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go",
    "content": "// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build arm,linux\n\npackage unix\n\nconst (\n\tSYS_RESTART_SYSCALL        = 0\n\tSYS_EXIT                   = 1\n\tSYS_FORK                   = 2\n\tSYS_READ                   = 3\n\tSYS_WRITE                  = 4\n\tSYS_OPEN                   = 5\n\tSYS_CLOSE                  = 6\n\tSYS_CREAT                  = 8\n\tSYS_LINK                   = 9\n\tSYS_UNLINK                 = 10\n\tSYS_EXECVE                 = 11\n\tSYS_CHDIR                  = 12\n\tSYS_MKNOD                  = 14\n\tSYS_CHMOD                  = 15\n\tSYS_LCHOWN                 = 16\n\tSYS_LSEEK                  = 19\n\tSYS_GETPID                 = 20\n\tSYS_MOUNT                  = 21\n\tSYS_SETUID                 = 23\n\tSYS_GETUID                 = 24\n\tSYS_PTRACE                 = 26\n\tSYS_PAUSE                  = 29\n\tSYS_ACCESS                 = 33\n\tSYS_NICE                   = 34\n\tSYS_SYNC                   = 36\n\tSYS_KILL                   = 37\n\tSYS_RENAME                 = 38\n\tSYS_MKDIR                  = 39\n\tSYS_RMDIR                  = 40\n\tSYS_DUP                    = 41\n\tSYS_PIPE                   = 42\n\tSYS_TIMES                  = 43\n\tSYS_BRK                    = 45\n\tSYS_SETGID                 = 46\n\tSYS_GETGID                 = 47\n\tSYS_GETEUID                = 49\n\tSYS_GETEGID                = 50\n\tSYS_ACCT                   = 51\n\tSYS_UMOUNT2                = 52\n\tSYS_IOCTL                  = 54\n\tSYS_FCNTL                  = 55\n\tSYS_SETPGID                = 57\n\tSYS_UMASK                  = 60\n\tSYS_CHROOT                 = 61\n\tSYS_USTAT                  = 62\n\tSYS_DUP2                   = 63\n\tSYS_GETPPID                = 64\n\tSYS_GETPGRP                = 65\n\tSYS_SETSID                 = 66\n\tSYS_SIGACTION              = 67\n\tSYS_SETREUID               = 70\n\tSYS_SETREGID               = 71\n\tSYS_SIGSUSPEND             = 72\n\tSYS_SIGPENDING             = 73\n\tSYS_SETHOSTNAME            = 74\n\tSYS_SETRLIMIT              = 75\n\tSYS_GETRUSAGE              = 77\n\tSYS_GETTIMEOFDAY           = 78\n\tSYS_SETTIMEOFDAY           = 79\n\tSYS_GETGROUPS              = 80\n\tSYS_SETGROUPS              = 81\n\tSYS_SYMLINK                = 83\n\tSYS_READLINK               = 85\n\tSYS_USELIB                 = 86\n\tSYS_SWAPON                 = 87\n\tSYS_REBOOT                 = 88\n\tSYS_MUNMAP                 = 91\n\tSYS_TRUNCATE               = 92\n\tSYS_FTRUNCATE              = 93\n\tSYS_FCHMOD                 = 94\n\tSYS_FCHOWN                 = 95\n\tSYS_GETPRIORITY            = 96\n\tSYS_SETPRIORITY            = 97\n\tSYS_STATFS                 = 99\n\tSYS_FSTATFS                = 100\n\tSYS_SYSLOG                 = 103\n\tSYS_SETITIMER              = 104\n\tSYS_GETITIMER              = 105\n\tSYS_STAT                   = 106\n\tSYS_LSTAT                  = 107\n\tSYS_FSTAT                  = 108\n\tSYS_VHANGUP                = 111\n\tSYS_WAIT4                  = 114\n\tSYS_SWAPOFF                = 115\n\tSYS_SYSINFO                = 116\n\tSYS_FSYNC                  = 118\n\tSYS_SIGRETURN              = 119\n\tSYS_CLONE                  = 120\n\tSYS_SETDOMAINNAME          = 121\n\tSYS_UNAME                  = 122\n\tSYS_ADJTIMEX               = 124\n\tSYS_MPROTECT               = 125\n\tSYS_SIGPROCMASK            = 126\n\tSYS_INIT_MODULE            = 128\n\tSYS_DELETE_MODULE          = 129\n\tSYS_QUOTACTL               = 131\n\tSYS_GETPGID                = 132\n\tSYS_FCHDIR                 = 133\n\tSYS_BDFLUSH                = 134\n\tSYS_SYSFS                  = 135\n\tSYS_PERSONALITY            = 136\n\tSYS_SETFSUID               = 138\n\tSYS_SETFSGID               = 139\n\tSYS__LLSEEK                = 140\n\tSYS_GETDENTS               = 141\n\tSYS__NEWSELECT             = 142\n\tSYS_FLOCK                  = 143\n\tSYS_MSYNC                  = 144\n\tSYS_READV                  = 145\n\tSYS_WRITEV                 = 146\n\tSYS_GETSID                 = 147\n\tSYS_FDATASYNC              = 148\n\tSYS__SYSCTL                = 149\n\tSYS_MLOCK                  = 150\n\tSYS_MUNLOCK                = 151\n\tSYS_MLOCKALL               = 152\n\tSYS_MUNLOCKALL             = 153\n\tSYS_SCHED_SETPARAM         = 154\n\tSYS_SCHED_GETPARAM         = 155\n\tSYS_SCHED_SETSCHEDULER     = 156\n\tSYS_SCHED_GETSCHEDULER     = 157\n\tSYS_SCHED_YIELD            = 158\n\tSYS_SCHED_GET_PRIORITY_MAX = 159\n\tSYS_SCHED_GET_PRIORITY_MIN = 160\n\tSYS_SCHED_RR_GET_INTERVAL  = 161\n\tSYS_NANOSLEEP              = 162\n\tSYS_MREMAP                 = 163\n\tSYS_SETRESUID              = 164\n\tSYS_GETRESUID              = 165\n\tSYS_POLL                   = 168\n\tSYS_NFSSERVCTL             = 169\n\tSYS_SETRESGID              = 170\n\tSYS_GETRESGID              = 171\n\tSYS_PRCTL                  = 172\n\tSYS_RT_SIGRETURN           = 173\n\tSYS_RT_SIGACTION           = 174\n\tSYS_RT_SIGPROCMASK         = 175\n\tSYS_RT_SIGPENDING          = 176\n\tSYS_RT_SIGTIMEDWAIT        = 177\n\tSYS_RT_SIGQUEUEINFO        = 178\n\tSYS_RT_SIGSUSPEND          = 179\n\tSYS_PREAD64                = 180\n\tSYS_PWRITE64               = 181\n\tSYS_CHOWN                  = 182\n\tSYS_GETCWD                 = 183\n\tSYS_CAPGET                 = 184\n\tSYS_CAPSET                 = 185\n\tSYS_SIGALTSTACK            = 186\n\tSYS_SENDFILE               = 187\n\tSYS_VFORK                  = 190\n\tSYS_UGETRLIMIT             = 191\n\tSYS_MMAP2                  = 192\n\tSYS_TRUNCATE64             = 193\n\tSYS_FTRUNCATE64            = 194\n\tSYS_STAT64                 = 195\n\tSYS_LSTAT64                = 196\n\tSYS_FSTAT64                = 197\n\tSYS_LCHOWN32               = 198\n\tSYS_GETUID32               = 199\n\tSYS_GETGID32               = 200\n\tSYS_GETEUID32              = 201\n\tSYS_GETEGID32              = 202\n\tSYS_SETREUID32             = 203\n\tSYS_SETREGID32             = 204\n\tSYS_GETGROUPS32            = 205\n\tSYS_SETGROUPS32            = 206\n\tSYS_FCHOWN32               = 207\n\tSYS_SETRESUID32            = 208\n\tSYS_GETRESUID32            = 209\n\tSYS_SETRESGID32            = 210\n\tSYS_GETRESGID32            = 211\n\tSYS_CHOWN32                = 212\n\tSYS_SETUID32               = 213\n\tSYS_SETGID32               = 214\n\tSYS_SETFSUID32             = 215\n\tSYS_SETFSGID32             = 216\n\tSYS_GETDENTS64             = 217\n\tSYS_PIVOT_ROOT             = 218\n\tSYS_MINCORE                = 219\n\tSYS_MADVISE                = 220\n\tSYS_FCNTL64                = 221\n\tSYS_GETTID                 = 224\n\tSYS_READAHEAD              = 225\n\tSYS_SETXATTR               = 226\n\tSYS_LSETXATTR              = 227\n\tSYS_FSETXATTR              = 228\n\tSYS_GETXATTR               = 229\n\tSYS_LGETXATTR              = 230\n\tSYS_FGETXATTR              = 231\n\tSYS_LISTXATTR              = 232\n\tSYS_LLISTXATTR             = 233\n\tSYS_FLISTXATTR             = 234\n\tSYS_REMOVEXATTR            = 235\n\tSYS_LREMOVEXATTR           = 236\n\tSYS_FREMOVEXATTR           = 237\n\tSYS_TKILL                  = 238\n\tSYS_SENDFILE64             = 239\n\tSYS_FUTEX                  = 240\n\tSYS_SCHED_SETAFFINITY      = 241\n\tSYS_SCHED_GETAFFINITY      = 242\n\tSYS_IO_SETUP               = 243\n\tSYS_IO_DESTROY             = 244\n\tSYS_IO_GETEVENTS           = 245\n\tSYS_IO_SUBMIT              = 246\n\tSYS_IO_CANCEL              = 247\n\tSYS_EXIT_GROUP             = 248\n\tSYS_LOOKUP_DCOOKIE         = 249\n\tSYS_EPOLL_CREATE           = 250\n\tSYS_EPOLL_CTL              = 251\n\tSYS_EPOLL_WAIT             = 252\n\tSYS_REMAP_FILE_PAGES       = 253\n\tSYS_SET_TID_ADDRESS        = 256\n\tSYS_TIMER_CREATE           = 257\n\tSYS_TIMER_SETTIME          = 258\n\tSYS_TIMER_GETTIME          = 259\n\tSYS_TIMER_GETOVERRUN       = 260\n\tSYS_TIMER_DELETE           = 261\n\tSYS_CLOCK_SETTIME          = 262\n\tSYS_CLOCK_GETTIME          = 263\n\tSYS_CLOCK_GETRES           = 264\n\tSYS_CLOCK_NANOSLEEP        = 265\n\tSYS_STATFS64               = 266\n\tSYS_FSTATFS64              = 267\n\tSYS_TGKILL                 = 268\n\tSYS_UTIMES                 = 269\n\tSYS_ARM_FADVISE64_64       = 270\n\tSYS_PCICONFIG_IOBASE       = 271\n\tSYS_PCICONFIG_READ         = 272\n\tSYS_PCICONFIG_WRITE        = 273\n\tSYS_MQ_OPEN                = 274\n\tSYS_MQ_UNLINK              = 275\n\tSYS_MQ_TIMEDSEND           = 276\n\tSYS_MQ_TIMEDRECEIVE        = 277\n\tSYS_MQ_NOTIFY              = 278\n\tSYS_MQ_GETSETATTR          = 279\n\tSYS_WAITID                 = 280\n\tSYS_SOCKET                 = 281\n\tSYS_BIND                   = 282\n\tSYS_CONNECT                = 283\n\tSYS_LISTEN                 = 284\n\tSYS_ACCEPT                 = 285\n\tSYS_GETSOCKNAME            = 286\n\tSYS_GETPEERNAME            = 287\n\tSYS_SOCKETPAIR             = 288\n\tSYS_SEND                   = 289\n\tSYS_SENDTO                 = 290\n\tSYS_RECV                   = 291\n\tSYS_RECVFROM               = 292\n\tSYS_SHUTDOWN               = 293\n\tSYS_SETSOCKOPT             = 294\n\tSYS_GETSOCKOPT             = 295\n\tSYS_SENDMSG                = 296\n\tSYS_RECVMSG                = 297\n\tSYS_SEMOP                  = 298\n\tSYS_SEMGET                 = 299\n\tSYS_SEMCTL                 = 300\n\tSYS_MSGSND                 = 301\n\tSYS_MSGRCV                 = 302\n\tSYS_MSGGET                 = 303\n\tSYS_MSGCTL                 = 304\n\tSYS_SHMAT                  = 305\n\tSYS_SHMDT                  = 306\n\tSYS_SHMGET                 = 307\n\tSYS_SHMCTL                 = 308\n\tSYS_ADD_KEY                = 309\n\tSYS_REQUEST_KEY            = 310\n\tSYS_KEYCTL                 = 311\n\tSYS_SEMTIMEDOP             = 312\n\tSYS_VSERVER                = 313\n\tSYS_IOPRIO_SET             = 314\n\tSYS_IOPRIO_GET             = 315\n\tSYS_INOTIFY_INIT           = 316\n\tSYS_INOTIFY_ADD_WATCH      = 317\n\tSYS_INOTIFY_RM_WATCH       = 318\n\tSYS_MBIND                  = 319\n\tSYS_GET_MEMPOLICY          = 320\n\tSYS_SET_MEMPOLICY          = 321\n\tSYS_OPENAT                 = 322\n\tSYS_MKDIRAT                = 323\n\tSYS_MKNODAT                = 324\n\tSYS_FCHOWNAT               = 325\n\tSYS_FUTIMESAT              = 326\n\tSYS_FSTATAT64              = 327\n\tSYS_UNLINKAT               = 328\n\tSYS_RENAMEAT               = 329\n\tSYS_LINKAT                 = 330\n\tSYS_SYMLINKAT              = 331\n\tSYS_READLINKAT             = 332\n\tSYS_FCHMODAT               = 333\n\tSYS_FACCESSAT              = 334\n\tSYS_PSELECT6               = 335\n\tSYS_PPOLL                  = 336\n\tSYS_UNSHARE                = 337\n\tSYS_SET_ROBUST_LIST        = 338\n\tSYS_GET_ROBUST_LIST        = 339\n\tSYS_SPLICE                 = 340\n\tSYS_ARM_SYNC_FILE_RANGE    = 341\n\tSYS_TEE                    = 342\n\tSYS_VMSPLICE               = 343\n\tSYS_MOVE_PAGES             = 344\n\tSYS_GETCPU                 = 345\n\tSYS_EPOLL_PWAIT            = 346\n\tSYS_KEXEC_LOAD             = 347\n\tSYS_UTIMENSAT              = 348\n\tSYS_SIGNALFD               = 349\n\tSYS_TIMERFD_CREATE         = 350\n\tSYS_EVENTFD                = 351\n\tSYS_FALLOCATE              = 352\n\tSYS_TIMERFD_SETTIME        = 353\n\tSYS_TIMERFD_GETTIME        = 354\n\tSYS_SIGNALFD4              = 355\n\tSYS_EVENTFD2               = 356\n\tSYS_EPOLL_CREATE1          = 357\n\tSYS_DUP3                   = 358\n\tSYS_PIPE2                  = 359\n\tSYS_INOTIFY_INIT1          = 360\n\tSYS_PREADV                 = 361\n\tSYS_PWRITEV                = 362\n\tSYS_RT_TGSIGQUEUEINFO      = 363\n\tSYS_PERF_EVENT_OPEN        = 364\n\tSYS_RECVMMSG               = 365\n\tSYS_ACCEPT4                = 366\n\tSYS_FANOTIFY_INIT          = 367\n\tSYS_FANOTIFY_MARK          = 368\n\tSYS_PRLIMIT64              = 369\n\tSYS_NAME_TO_HANDLE_AT      = 370\n\tSYS_OPEN_BY_HANDLE_AT      = 371\n\tSYS_CLOCK_ADJTIME          = 372\n\tSYS_SYNCFS                 = 373\n\tSYS_SENDMMSG               = 374\n\tSYS_SETNS                  = 375\n\tSYS_PROCESS_VM_READV       = 376\n\tSYS_PROCESS_VM_WRITEV      = 377\n\tSYS_KCMP                   = 378\n\tSYS_FINIT_MODULE           = 379\n\tSYS_SCHED_SETATTR          = 380\n\tSYS_SCHED_GETATTR          = 381\n\tSYS_RENAMEAT2              = 382\n\tSYS_SECCOMP                = 383\n\tSYS_GETRANDOM              = 384\n\tSYS_MEMFD_CREATE           = 385\n\tSYS_BPF                    = 386\n\tSYS_EXECVEAT               = 387\n\tSYS_USERFAULTFD            = 388\n\tSYS_MEMBARRIER             = 389\n\tSYS_MLOCK2                 = 390\n\tSYS_COPY_FILE_RANGE        = 391\n\tSYS_PREADV2                = 392\n\tSYS_PWRITEV2               = 393\n\tSYS_PKEY_MPROTECT          = 394\n\tSYS_PKEY_ALLOC             = 395\n\tSYS_PKEY_FREE              = 396\n\tSYS_STATX                  = 397\n\tSYS_RSEQ                   = 398\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go",
    "content": "// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include -fsigned-char /tmp/include/asm/unistd.h\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build arm64,linux\n\npackage unix\n\nconst (\n\tSYS_IO_SETUP               = 0\n\tSYS_IO_DESTROY             = 1\n\tSYS_IO_SUBMIT              = 2\n\tSYS_IO_CANCEL              = 3\n\tSYS_IO_GETEVENTS           = 4\n\tSYS_SETXATTR               = 5\n\tSYS_LSETXATTR              = 6\n\tSYS_FSETXATTR              = 7\n\tSYS_GETXATTR               = 8\n\tSYS_LGETXATTR              = 9\n\tSYS_FGETXATTR              = 10\n\tSYS_LISTXATTR              = 11\n\tSYS_LLISTXATTR             = 12\n\tSYS_FLISTXATTR             = 13\n\tSYS_REMOVEXATTR            = 14\n\tSYS_LREMOVEXATTR           = 15\n\tSYS_FREMOVEXATTR           = 16\n\tSYS_GETCWD                 = 17\n\tSYS_LOOKUP_DCOOKIE         = 18\n\tSYS_EVENTFD2               = 19\n\tSYS_EPOLL_CREATE1          = 20\n\tSYS_EPOLL_CTL              = 21\n\tSYS_EPOLL_PWAIT            = 22\n\tSYS_DUP                    = 23\n\tSYS_DUP3                   = 24\n\tSYS_FCNTL                  = 25\n\tSYS_INOTIFY_INIT1          = 26\n\tSYS_INOTIFY_ADD_WATCH      = 27\n\tSYS_INOTIFY_RM_WATCH       = 28\n\tSYS_IOCTL                  = 29\n\tSYS_IOPRIO_SET             = 30\n\tSYS_IOPRIO_GET             = 31\n\tSYS_FLOCK                  = 32\n\tSYS_MKNODAT                = 33\n\tSYS_MKDIRAT                = 34\n\tSYS_UNLINKAT               = 35\n\tSYS_SYMLINKAT              = 36\n\tSYS_LINKAT                 = 37\n\tSYS_RENAMEAT               = 38\n\tSYS_UMOUNT2                = 39\n\tSYS_MOUNT                  = 40\n\tSYS_PIVOT_ROOT             = 41\n\tSYS_NFSSERVCTL             = 42\n\tSYS_STATFS                 = 43\n\tSYS_FSTATFS                = 44\n\tSYS_TRUNCATE               = 45\n\tSYS_FTRUNCATE              = 46\n\tSYS_FALLOCATE              = 47\n\tSYS_FACCESSAT              = 48\n\tSYS_CHDIR                  = 49\n\tSYS_FCHDIR                 = 50\n\tSYS_CHROOT                 = 51\n\tSYS_FCHMOD                 = 52\n\tSYS_FCHMODAT               = 53\n\tSYS_FCHOWNAT               = 54\n\tSYS_FCHOWN                 = 55\n\tSYS_OPENAT                 = 56\n\tSYS_CLOSE                  = 57\n\tSYS_VHANGUP                = 58\n\tSYS_PIPE2                  = 59\n\tSYS_QUOTACTL               = 60\n\tSYS_GETDENTS64             = 61\n\tSYS_LSEEK                  = 62\n\tSYS_READ                   = 63\n\tSYS_WRITE                  = 64\n\tSYS_READV                  = 65\n\tSYS_WRITEV                 = 66\n\tSYS_PREAD64                = 67\n\tSYS_PWRITE64               = 68\n\tSYS_PREADV                 = 69\n\tSYS_PWRITEV                = 70\n\tSYS_SENDFILE               = 71\n\tSYS_PSELECT6               = 72\n\tSYS_PPOLL                  = 73\n\tSYS_SIGNALFD4              = 74\n\tSYS_VMSPLICE               = 75\n\tSYS_SPLICE                 = 76\n\tSYS_TEE                    = 77\n\tSYS_READLINKAT             = 78\n\tSYS_FSTATAT                = 79\n\tSYS_FSTAT                  = 80\n\tSYS_SYNC                   = 81\n\tSYS_FSYNC                  = 82\n\tSYS_FDATASYNC              = 83\n\tSYS_SYNC_FILE_RANGE        = 84\n\tSYS_TIMERFD_CREATE         = 85\n\tSYS_TIMERFD_SETTIME        = 86\n\tSYS_TIMERFD_GETTIME        = 87\n\tSYS_UTIMENSAT              = 88\n\tSYS_ACCT                   = 89\n\tSYS_CAPGET                 = 90\n\tSYS_CAPSET                 = 91\n\tSYS_PERSONALITY            = 92\n\tSYS_EXIT                   = 93\n\tSYS_EXIT_GROUP             = 94\n\tSYS_WAITID                 = 95\n\tSYS_SET_TID_ADDRESS        = 96\n\tSYS_UNSHARE                = 97\n\tSYS_FUTEX                  = 98\n\tSYS_SET_ROBUST_LIST        = 99\n\tSYS_GET_ROBUST_LIST        = 100\n\tSYS_NANOSLEEP              = 101\n\tSYS_GETITIMER              = 102\n\tSYS_SETITIMER              = 103\n\tSYS_KEXEC_LOAD             = 104\n\tSYS_INIT_MODULE            = 105\n\tSYS_DELETE_MODULE          = 106\n\tSYS_TIMER_CREATE           = 107\n\tSYS_TIMER_GETTIME          = 108\n\tSYS_TIMER_GETOVERRUN       = 109\n\tSYS_TIMER_SETTIME          = 110\n\tSYS_TIMER_DELETE           = 111\n\tSYS_CLOCK_SETTIME          = 112\n\tSYS_CLOCK_GETTIME          = 113\n\tSYS_CLOCK_GETRES           = 114\n\tSYS_CLOCK_NANOSLEEP        = 115\n\tSYS_SYSLOG                 = 116\n\tSYS_PTRACE                 = 117\n\tSYS_SCHED_SETPARAM         = 118\n\tSYS_SCHED_SETSCHEDULER     = 119\n\tSYS_SCHED_GETSCHEDULER     = 120\n\tSYS_SCHED_GETPARAM         = 121\n\tSYS_SCHED_SETAFFINITY      = 122\n\tSYS_SCHED_GETAFFINITY      = 123\n\tSYS_SCHED_YIELD            = 124\n\tSYS_SCHED_GET_PRIORITY_MAX = 125\n\tSYS_SCHED_GET_PRIORITY_MIN = 126\n\tSYS_SCHED_RR_GET_INTERVAL  = 127\n\tSYS_RESTART_SYSCALL        = 128\n\tSYS_KILL                   = 129\n\tSYS_TKILL                  = 130\n\tSYS_TGKILL                 = 131\n\tSYS_SIGALTSTACK            = 132\n\tSYS_RT_SIGSUSPEND          = 133\n\tSYS_RT_SIGACTION           = 134\n\tSYS_RT_SIGPROCMASK         = 135\n\tSYS_RT_SIGPENDING          = 136\n\tSYS_RT_SIGTIMEDWAIT        = 137\n\tSYS_RT_SIGQUEUEINFO        = 138\n\tSYS_RT_SIGRETURN           = 139\n\tSYS_SETPRIORITY            = 140\n\tSYS_GETPRIORITY            = 141\n\tSYS_REBOOT                 = 142\n\tSYS_SETREGID               = 143\n\tSYS_SETGID                 = 144\n\tSYS_SETREUID               = 145\n\tSYS_SETUID                 = 146\n\tSYS_SETRESUID              = 147\n\tSYS_GETRESUID              = 148\n\tSYS_SETRESGID              = 149\n\tSYS_GETRESGID              = 150\n\tSYS_SETFSUID               = 151\n\tSYS_SETFSGID               = 152\n\tSYS_TIMES                  = 153\n\tSYS_SETPGID                = 154\n\tSYS_GETPGID                = 155\n\tSYS_GETSID                 = 156\n\tSYS_SETSID                 = 157\n\tSYS_GETGROUPS              = 158\n\tSYS_SETGROUPS              = 159\n\tSYS_UNAME                  = 160\n\tSYS_SETHOSTNAME            = 161\n\tSYS_SETDOMAINNAME          = 162\n\tSYS_GETRLIMIT              = 163\n\tSYS_SETRLIMIT              = 164\n\tSYS_GETRUSAGE              = 165\n\tSYS_UMASK                  = 166\n\tSYS_PRCTL                  = 167\n\tSYS_GETCPU                 = 168\n\tSYS_GETTIMEOFDAY           = 169\n\tSYS_SETTIMEOFDAY           = 170\n\tSYS_ADJTIMEX               = 171\n\tSYS_GETPID                 = 172\n\tSYS_GETPPID                = 173\n\tSYS_GETUID                 = 174\n\tSYS_GETEUID                = 175\n\tSYS_GETGID                 = 176\n\tSYS_GETEGID                = 177\n\tSYS_GETTID                 = 178\n\tSYS_SYSINFO                = 179\n\tSYS_MQ_OPEN                = 180\n\tSYS_MQ_UNLINK              = 181\n\tSYS_MQ_TIMEDSEND           = 182\n\tSYS_MQ_TIMEDRECEIVE        = 183\n\tSYS_MQ_NOTIFY              = 184\n\tSYS_MQ_GETSETATTR          = 185\n\tSYS_MSGGET                 = 186\n\tSYS_MSGCTL                 = 187\n\tSYS_MSGRCV                 = 188\n\tSYS_MSGSND                 = 189\n\tSYS_SEMGET                 = 190\n\tSYS_SEMCTL                 = 191\n\tSYS_SEMTIMEDOP             = 192\n\tSYS_SEMOP                  = 193\n\tSYS_SHMGET                 = 194\n\tSYS_SHMCTL                 = 195\n\tSYS_SHMAT                  = 196\n\tSYS_SHMDT                  = 197\n\tSYS_SOCKET                 = 198\n\tSYS_SOCKETPAIR             = 199\n\tSYS_BIND                   = 200\n\tSYS_LISTEN                 = 201\n\tSYS_ACCEPT                 = 202\n\tSYS_CONNECT                = 203\n\tSYS_GETSOCKNAME            = 204\n\tSYS_GETPEERNAME            = 205\n\tSYS_SENDTO                 = 206\n\tSYS_RECVFROM               = 207\n\tSYS_SETSOCKOPT             = 208\n\tSYS_GETSOCKOPT             = 209\n\tSYS_SHUTDOWN               = 210\n\tSYS_SENDMSG                = 211\n\tSYS_RECVMSG                = 212\n\tSYS_READAHEAD              = 213\n\tSYS_BRK                    = 214\n\tSYS_MUNMAP                 = 215\n\tSYS_MREMAP                 = 216\n\tSYS_ADD_KEY                = 217\n\tSYS_REQUEST_KEY            = 218\n\tSYS_KEYCTL                 = 219\n\tSYS_CLONE                  = 220\n\tSYS_EXECVE                 = 221\n\tSYS_MMAP                   = 222\n\tSYS_FADVISE64              = 223\n\tSYS_SWAPON                 = 224\n\tSYS_SWAPOFF                = 225\n\tSYS_MPROTECT               = 226\n\tSYS_MSYNC                  = 227\n\tSYS_MLOCK                  = 228\n\tSYS_MUNLOCK                = 229\n\tSYS_MLOCKALL               = 230\n\tSYS_MUNLOCKALL             = 231\n\tSYS_MINCORE                = 232\n\tSYS_MADVISE                = 233\n\tSYS_REMAP_FILE_PAGES       = 234\n\tSYS_MBIND                  = 235\n\tSYS_GET_MEMPOLICY          = 236\n\tSYS_SET_MEMPOLICY          = 237\n\tSYS_MIGRATE_PAGES          = 238\n\tSYS_MOVE_PAGES             = 239\n\tSYS_RT_TGSIGQUEUEINFO      = 240\n\tSYS_PERF_EVENT_OPEN        = 241\n\tSYS_ACCEPT4                = 242\n\tSYS_RECVMMSG               = 243\n\tSYS_ARCH_SPECIFIC_SYSCALL  = 244\n\tSYS_WAIT4                  = 260\n\tSYS_PRLIMIT64              = 261\n\tSYS_FANOTIFY_INIT          = 262\n\tSYS_FANOTIFY_MARK          = 263\n\tSYS_NAME_TO_HANDLE_AT      = 264\n\tSYS_OPEN_BY_HANDLE_AT      = 265\n\tSYS_CLOCK_ADJTIME          = 266\n\tSYS_SYNCFS                 = 267\n\tSYS_SETNS                  = 268\n\tSYS_SENDMMSG               = 269\n\tSYS_PROCESS_VM_READV       = 270\n\tSYS_PROCESS_VM_WRITEV      = 271\n\tSYS_KCMP                   = 272\n\tSYS_FINIT_MODULE           = 273\n\tSYS_SCHED_SETATTR          = 274\n\tSYS_SCHED_GETATTR          = 275\n\tSYS_RENAMEAT2              = 276\n\tSYS_SECCOMP                = 277\n\tSYS_GETRANDOM              = 278\n\tSYS_MEMFD_CREATE           = 279\n\tSYS_BPF                    = 280\n\tSYS_EXECVEAT               = 281\n\tSYS_USERFAULTFD            = 282\n\tSYS_MEMBARRIER             = 283\n\tSYS_MLOCK2                 = 284\n\tSYS_COPY_FILE_RANGE        = 285\n\tSYS_PREADV2                = 286\n\tSYS_PWRITEV2               = 287\n\tSYS_PKEY_MPROTECT          = 288\n\tSYS_PKEY_ALLOC             = 289\n\tSYS_PKEY_FREE              = 290\n\tSYS_STATX                  = 291\n\tSYS_IO_PGETEVENTS          = 292\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go",
    "content": "// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build mips,linux\n\npackage unix\n\nconst (\n\tSYS_SYSCALL                = 4000\n\tSYS_EXIT                   = 4001\n\tSYS_FORK                   = 4002\n\tSYS_READ                   = 4003\n\tSYS_WRITE                  = 4004\n\tSYS_OPEN                   = 4005\n\tSYS_CLOSE                  = 4006\n\tSYS_WAITPID                = 4007\n\tSYS_CREAT                  = 4008\n\tSYS_LINK                   = 4009\n\tSYS_UNLINK                 = 4010\n\tSYS_EXECVE                 = 4011\n\tSYS_CHDIR                  = 4012\n\tSYS_TIME                   = 4013\n\tSYS_MKNOD                  = 4014\n\tSYS_CHMOD                  = 4015\n\tSYS_LCHOWN                 = 4016\n\tSYS_BREAK                  = 4017\n\tSYS_UNUSED18               = 4018\n\tSYS_LSEEK                  = 4019\n\tSYS_GETPID                 = 4020\n\tSYS_MOUNT                  = 4021\n\tSYS_UMOUNT                 = 4022\n\tSYS_SETUID                 = 4023\n\tSYS_GETUID                 = 4024\n\tSYS_STIME                  = 4025\n\tSYS_PTRACE                 = 4026\n\tSYS_ALARM                  = 4027\n\tSYS_UNUSED28               = 4028\n\tSYS_PAUSE                  = 4029\n\tSYS_UTIME                  = 4030\n\tSYS_STTY                   = 4031\n\tSYS_GTTY                   = 4032\n\tSYS_ACCESS                 = 4033\n\tSYS_NICE                   = 4034\n\tSYS_FTIME                  = 4035\n\tSYS_SYNC                   = 4036\n\tSYS_KILL                   = 4037\n\tSYS_RENAME                 = 4038\n\tSYS_MKDIR                  = 4039\n\tSYS_RMDIR                  = 4040\n\tSYS_DUP                    = 4041\n\tSYS_PIPE                   = 4042\n\tSYS_TIMES                  = 4043\n\tSYS_PROF                   = 4044\n\tSYS_BRK                    = 4045\n\tSYS_SETGID                 = 4046\n\tSYS_GETGID                 = 4047\n\tSYS_SIGNAL                 = 4048\n\tSYS_GETEUID                = 4049\n\tSYS_GETEGID                = 4050\n\tSYS_ACCT                   = 4051\n\tSYS_UMOUNT2                = 4052\n\tSYS_LOCK                   = 4053\n\tSYS_IOCTL                  = 4054\n\tSYS_FCNTL                  = 4055\n\tSYS_MPX                    = 4056\n\tSYS_SETPGID                = 4057\n\tSYS_ULIMIT                 = 4058\n\tSYS_UNUSED59               = 4059\n\tSYS_UMASK                  = 4060\n\tSYS_CHROOT                 = 4061\n\tSYS_USTAT                  = 4062\n\tSYS_DUP2                   = 4063\n\tSYS_GETPPID                = 4064\n\tSYS_GETPGRP                = 4065\n\tSYS_SETSID                 = 4066\n\tSYS_SIGACTION              = 4067\n\tSYS_SGETMASK               = 4068\n\tSYS_SSETMASK               = 4069\n\tSYS_SETREUID               = 4070\n\tSYS_SETREGID               = 4071\n\tSYS_SIGSUSPEND             = 4072\n\tSYS_SIGPENDING             = 4073\n\tSYS_SETHOSTNAME            = 4074\n\tSYS_SETRLIMIT              = 4075\n\tSYS_GETRLIMIT              = 4076\n\tSYS_GETRUSAGE              = 4077\n\tSYS_GETTIMEOFDAY           = 4078\n\tSYS_SETTIMEOFDAY           = 4079\n\tSYS_GETGROUPS              = 4080\n\tSYS_SETGROUPS              = 4081\n\tSYS_RESERVED82             = 4082\n\tSYS_SYMLINK                = 4083\n\tSYS_UNUSED84               = 4084\n\tSYS_READLINK               = 4085\n\tSYS_USELIB                 = 4086\n\tSYS_SWAPON                 = 4087\n\tSYS_REBOOT                 = 4088\n\tSYS_READDIR                = 4089\n\tSYS_MMAP                   = 4090\n\tSYS_MUNMAP                 = 4091\n\tSYS_TRUNCATE               = 4092\n\tSYS_FTRUNCATE              = 4093\n\tSYS_FCHMOD                 = 4094\n\tSYS_FCHOWN                 = 4095\n\tSYS_GETPRIORITY            = 4096\n\tSYS_SETPRIORITY            = 4097\n\tSYS_PROFIL                 = 4098\n\tSYS_STATFS                 = 4099\n\tSYS_FSTATFS                = 4100\n\tSYS_IOPERM                 = 4101\n\tSYS_SOCKETCALL             = 4102\n\tSYS_SYSLOG                 = 4103\n\tSYS_SETITIMER              = 4104\n\tSYS_GETITIMER              = 4105\n\tSYS_STAT                   = 4106\n\tSYS_LSTAT                  = 4107\n\tSYS_FSTAT                  = 4108\n\tSYS_UNUSED109              = 4109\n\tSYS_IOPL                   = 4110\n\tSYS_VHANGUP                = 4111\n\tSYS_IDLE                   = 4112\n\tSYS_VM86                   = 4113\n\tSYS_WAIT4                  = 4114\n\tSYS_SWAPOFF                = 4115\n\tSYS_SYSINFO                = 4116\n\tSYS_IPC                    = 4117\n\tSYS_FSYNC                  = 4118\n\tSYS_SIGRETURN              = 4119\n\tSYS_CLONE                  = 4120\n\tSYS_SETDOMAINNAME          = 4121\n\tSYS_UNAME                  = 4122\n\tSYS_MODIFY_LDT             = 4123\n\tSYS_ADJTIMEX               = 4124\n\tSYS_MPROTECT               = 4125\n\tSYS_SIGPROCMASK            = 4126\n\tSYS_CREATE_MODULE          = 4127\n\tSYS_INIT_MODULE            = 4128\n\tSYS_DELETE_MODULE          = 4129\n\tSYS_GET_KERNEL_SYMS        = 4130\n\tSYS_QUOTACTL               = 4131\n\tSYS_GETPGID                = 4132\n\tSYS_FCHDIR                 = 4133\n\tSYS_BDFLUSH                = 4134\n\tSYS_SYSFS                  = 4135\n\tSYS_PERSONALITY            = 4136\n\tSYS_AFS_SYSCALL            = 4137\n\tSYS_SETFSUID               = 4138\n\tSYS_SETFSGID               = 4139\n\tSYS__LLSEEK                = 4140\n\tSYS_GETDENTS               = 4141\n\tSYS__NEWSELECT             = 4142\n\tSYS_FLOCK                  = 4143\n\tSYS_MSYNC                  = 4144\n\tSYS_READV                  = 4145\n\tSYS_WRITEV                 = 4146\n\tSYS_CACHEFLUSH             = 4147\n\tSYS_CACHECTL               = 4148\n\tSYS_SYSMIPS                = 4149\n\tSYS_UNUSED150              = 4150\n\tSYS_GETSID                 = 4151\n\tSYS_FDATASYNC              = 4152\n\tSYS__SYSCTL                = 4153\n\tSYS_MLOCK                  = 4154\n\tSYS_MUNLOCK                = 4155\n\tSYS_MLOCKALL               = 4156\n\tSYS_MUNLOCKALL             = 4157\n\tSYS_SCHED_SETPARAM         = 4158\n\tSYS_SCHED_GETPARAM         = 4159\n\tSYS_SCHED_SETSCHEDULER     = 4160\n\tSYS_SCHED_GETSCHEDULER     = 4161\n\tSYS_SCHED_YIELD            = 4162\n\tSYS_SCHED_GET_PRIORITY_MAX = 4163\n\tSYS_SCHED_GET_PRIORITY_MIN = 4164\n\tSYS_SCHED_RR_GET_INTERVAL  = 4165\n\tSYS_NANOSLEEP              = 4166\n\tSYS_MREMAP                 = 4167\n\tSYS_ACCEPT                 = 4168\n\tSYS_BIND                   = 4169\n\tSYS_CONNECT                = 4170\n\tSYS_GETPEERNAME            = 4171\n\tSYS_GETSOCKNAME            = 4172\n\tSYS_GETSOCKOPT             = 4173\n\tSYS_LISTEN                 = 4174\n\tSYS_RECV                   = 4175\n\tSYS_RECVFROM               = 4176\n\tSYS_RECVMSG                = 4177\n\tSYS_SEND                   = 4178\n\tSYS_SENDMSG                = 4179\n\tSYS_SENDTO                 = 4180\n\tSYS_SETSOCKOPT             = 4181\n\tSYS_SHUTDOWN               = 4182\n\tSYS_SOCKET                 = 4183\n\tSYS_SOCKETPAIR             = 4184\n\tSYS_SETRESUID              = 4185\n\tSYS_GETRESUID              = 4186\n\tSYS_QUERY_MODULE           = 4187\n\tSYS_POLL                   = 4188\n\tSYS_NFSSERVCTL             = 4189\n\tSYS_SETRESGID              = 4190\n\tSYS_GETRESGID              = 4191\n\tSYS_PRCTL                  = 4192\n\tSYS_RT_SIGRETURN           = 4193\n\tSYS_RT_SIGACTION           = 4194\n\tSYS_RT_SIGPROCMASK         = 4195\n\tSYS_RT_SIGPENDING          = 4196\n\tSYS_RT_SIGTIMEDWAIT        = 4197\n\tSYS_RT_SIGQUEUEINFO        = 4198\n\tSYS_RT_SIGSUSPEND          = 4199\n\tSYS_PREAD64                = 4200\n\tSYS_PWRITE64               = 4201\n\tSYS_CHOWN                  = 4202\n\tSYS_GETCWD                 = 4203\n\tSYS_CAPGET                 = 4204\n\tSYS_CAPSET                 = 4205\n\tSYS_SIGALTSTACK            = 4206\n\tSYS_SENDFILE               = 4207\n\tSYS_GETPMSG                = 4208\n\tSYS_PUTPMSG                = 4209\n\tSYS_MMAP2                  = 4210\n\tSYS_TRUNCATE64             = 4211\n\tSYS_FTRUNCATE64            = 4212\n\tSYS_STAT64                 = 4213\n\tSYS_LSTAT64                = 4214\n\tSYS_FSTAT64                = 4215\n\tSYS_PIVOT_ROOT             = 4216\n\tSYS_MINCORE                = 4217\n\tSYS_MADVISE                = 4218\n\tSYS_GETDENTS64             = 4219\n\tSYS_FCNTL64                = 4220\n\tSYS_RESERVED221            = 4221\n\tSYS_GETTID                 = 4222\n\tSYS_READAHEAD              = 4223\n\tSYS_SETXATTR               = 4224\n\tSYS_LSETXATTR              = 4225\n\tSYS_FSETXATTR              = 4226\n\tSYS_GETXATTR               = 4227\n\tSYS_LGETXATTR              = 4228\n\tSYS_FGETXATTR              = 4229\n\tSYS_LISTXATTR              = 4230\n\tSYS_LLISTXATTR             = 4231\n\tSYS_FLISTXATTR             = 4232\n\tSYS_REMOVEXATTR            = 4233\n\tSYS_LREMOVEXATTR           = 4234\n\tSYS_FREMOVEXATTR           = 4235\n\tSYS_TKILL                  = 4236\n\tSYS_SENDFILE64             = 4237\n\tSYS_FUTEX                  = 4238\n\tSYS_SCHED_SETAFFINITY      = 4239\n\tSYS_SCHED_GETAFFINITY      = 4240\n\tSYS_IO_SETUP               = 4241\n\tSYS_IO_DESTROY             = 4242\n\tSYS_IO_GETEVENTS           = 4243\n\tSYS_IO_SUBMIT              = 4244\n\tSYS_IO_CANCEL              = 4245\n\tSYS_EXIT_GROUP             = 4246\n\tSYS_LOOKUP_DCOOKIE         = 4247\n\tSYS_EPOLL_CREATE           = 4248\n\tSYS_EPOLL_CTL              = 4249\n\tSYS_EPOLL_WAIT             = 4250\n\tSYS_REMAP_FILE_PAGES       = 4251\n\tSYS_SET_TID_ADDRESS        = 4252\n\tSYS_RESTART_SYSCALL        = 4253\n\tSYS_FADVISE64              = 4254\n\tSYS_STATFS64               = 4255\n\tSYS_FSTATFS64              = 4256\n\tSYS_TIMER_CREATE           = 4257\n\tSYS_TIMER_SETTIME          = 4258\n\tSYS_TIMER_GETTIME          = 4259\n\tSYS_TIMER_GETOVERRUN       = 4260\n\tSYS_TIMER_DELETE           = 4261\n\tSYS_CLOCK_SETTIME          = 4262\n\tSYS_CLOCK_GETTIME          = 4263\n\tSYS_CLOCK_GETRES           = 4264\n\tSYS_CLOCK_NANOSLEEP        = 4265\n\tSYS_TGKILL                 = 4266\n\tSYS_UTIMES                 = 4267\n\tSYS_MBIND                  = 4268\n\tSYS_GET_MEMPOLICY          = 4269\n\tSYS_SET_MEMPOLICY          = 4270\n\tSYS_MQ_OPEN                = 4271\n\tSYS_MQ_UNLINK              = 4272\n\tSYS_MQ_TIMEDSEND           = 4273\n\tSYS_MQ_TIMEDRECEIVE        = 4274\n\tSYS_MQ_NOTIFY              = 4275\n\tSYS_MQ_GETSETATTR          = 4276\n\tSYS_VSERVER                = 4277\n\tSYS_WAITID                 = 4278\n\tSYS_ADD_KEY                = 4280\n\tSYS_REQUEST_KEY            = 4281\n\tSYS_KEYCTL                 = 4282\n\tSYS_SET_THREAD_AREA        = 4283\n\tSYS_INOTIFY_INIT           = 4284\n\tSYS_INOTIFY_ADD_WATCH      = 4285\n\tSYS_INOTIFY_RM_WATCH       = 4286\n\tSYS_MIGRATE_PAGES          = 4287\n\tSYS_OPENAT                 = 4288\n\tSYS_MKDIRAT                = 4289\n\tSYS_MKNODAT                = 4290\n\tSYS_FCHOWNAT               = 4291\n\tSYS_FUTIMESAT              = 4292\n\tSYS_FSTATAT64              = 4293\n\tSYS_UNLINKAT               = 4294\n\tSYS_RENAMEAT               = 4295\n\tSYS_LINKAT                 = 4296\n\tSYS_SYMLINKAT              = 4297\n\tSYS_READLINKAT             = 4298\n\tSYS_FCHMODAT               = 4299\n\tSYS_FACCESSAT              = 4300\n\tSYS_PSELECT6               = 4301\n\tSYS_PPOLL                  = 4302\n\tSYS_UNSHARE                = 4303\n\tSYS_SPLICE                 = 4304\n\tSYS_SYNC_FILE_RANGE        = 4305\n\tSYS_TEE                    = 4306\n\tSYS_VMSPLICE               = 4307\n\tSYS_MOVE_PAGES             = 4308\n\tSYS_SET_ROBUST_LIST        = 4309\n\tSYS_GET_ROBUST_LIST        = 4310\n\tSYS_KEXEC_LOAD             = 4311\n\tSYS_GETCPU                 = 4312\n\tSYS_EPOLL_PWAIT            = 4313\n\tSYS_IOPRIO_SET             = 4314\n\tSYS_IOPRIO_GET             = 4315\n\tSYS_UTIMENSAT              = 4316\n\tSYS_SIGNALFD               = 4317\n\tSYS_TIMERFD                = 4318\n\tSYS_EVENTFD                = 4319\n\tSYS_FALLOCATE              = 4320\n\tSYS_TIMERFD_CREATE         = 4321\n\tSYS_TIMERFD_GETTIME        = 4322\n\tSYS_TIMERFD_SETTIME        = 4323\n\tSYS_SIGNALFD4              = 4324\n\tSYS_EVENTFD2               = 4325\n\tSYS_EPOLL_CREATE1          = 4326\n\tSYS_DUP3                   = 4327\n\tSYS_PIPE2                  = 4328\n\tSYS_INOTIFY_INIT1          = 4329\n\tSYS_PREADV                 = 4330\n\tSYS_PWRITEV                = 4331\n\tSYS_RT_TGSIGQUEUEINFO      = 4332\n\tSYS_PERF_EVENT_OPEN        = 4333\n\tSYS_ACCEPT4                = 4334\n\tSYS_RECVMMSG               = 4335\n\tSYS_FANOTIFY_INIT          = 4336\n\tSYS_FANOTIFY_MARK          = 4337\n\tSYS_PRLIMIT64              = 4338\n\tSYS_NAME_TO_HANDLE_AT      = 4339\n\tSYS_OPEN_BY_HANDLE_AT      = 4340\n\tSYS_CLOCK_ADJTIME          = 4341\n\tSYS_SYNCFS                 = 4342\n\tSYS_SENDMMSG               = 4343\n\tSYS_SETNS                  = 4344\n\tSYS_PROCESS_VM_READV       = 4345\n\tSYS_PROCESS_VM_WRITEV      = 4346\n\tSYS_KCMP                   = 4347\n\tSYS_FINIT_MODULE           = 4348\n\tSYS_SCHED_SETATTR          = 4349\n\tSYS_SCHED_GETATTR          = 4350\n\tSYS_RENAMEAT2              = 4351\n\tSYS_SECCOMP                = 4352\n\tSYS_GETRANDOM              = 4353\n\tSYS_MEMFD_CREATE           = 4354\n\tSYS_BPF                    = 4355\n\tSYS_EXECVEAT               = 4356\n\tSYS_USERFAULTFD            = 4357\n\tSYS_MEMBARRIER             = 4358\n\tSYS_MLOCK2                 = 4359\n\tSYS_COPY_FILE_RANGE        = 4360\n\tSYS_PREADV2                = 4361\n\tSYS_PWRITEV2               = 4362\n\tSYS_PKEY_MPROTECT          = 4363\n\tSYS_PKEY_ALLOC             = 4364\n\tSYS_PKEY_FREE              = 4365\n\tSYS_STATX                  = 4366\n\tSYS_RSEQ                   = 4367\n\tSYS_IO_PGETEVENTS          = 4368\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go",
    "content": "// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build mips64,linux\n\npackage unix\n\nconst (\n\tSYS_READ                   = 5000\n\tSYS_WRITE                  = 5001\n\tSYS_OPEN                   = 5002\n\tSYS_CLOSE                  = 5003\n\tSYS_STAT                   = 5004\n\tSYS_FSTAT                  = 5005\n\tSYS_LSTAT                  = 5006\n\tSYS_POLL                   = 5007\n\tSYS_LSEEK                  = 5008\n\tSYS_MMAP                   = 5009\n\tSYS_MPROTECT               = 5010\n\tSYS_MUNMAP                 = 5011\n\tSYS_BRK                    = 5012\n\tSYS_RT_SIGACTION           = 5013\n\tSYS_RT_SIGPROCMASK         = 5014\n\tSYS_IOCTL                  = 5015\n\tSYS_PREAD64                = 5016\n\tSYS_PWRITE64               = 5017\n\tSYS_READV                  = 5018\n\tSYS_WRITEV                 = 5019\n\tSYS_ACCESS                 = 5020\n\tSYS_PIPE                   = 5021\n\tSYS__NEWSELECT             = 5022\n\tSYS_SCHED_YIELD            = 5023\n\tSYS_MREMAP                 = 5024\n\tSYS_MSYNC                  = 5025\n\tSYS_MINCORE                = 5026\n\tSYS_MADVISE                = 5027\n\tSYS_SHMGET                 = 5028\n\tSYS_SHMAT                  = 5029\n\tSYS_SHMCTL                 = 5030\n\tSYS_DUP                    = 5031\n\tSYS_DUP2                   = 5032\n\tSYS_PAUSE                  = 5033\n\tSYS_NANOSLEEP              = 5034\n\tSYS_GETITIMER              = 5035\n\tSYS_SETITIMER              = 5036\n\tSYS_ALARM                  = 5037\n\tSYS_GETPID                 = 5038\n\tSYS_SENDFILE               = 5039\n\tSYS_SOCKET                 = 5040\n\tSYS_CONNECT                = 5041\n\tSYS_ACCEPT                 = 5042\n\tSYS_SENDTO                 = 5043\n\tSYS_RECVFROM               = 5044\n\tSYS_SENDMSG                = 5045\n\tSYS_RECVMSG                = 5046\n\tSYS_SHUTDOWN               = 5047\n\tSYS_BIND                   = 5048\n\tSYS_LISTEN                 = 5049\n\tSYS_GETSOCKNAME            = 5050\n\tSYS_GETPEERNAME            = 5051\n\tSYS_SOCKETPAIR             = 5052\n\tSYS_SETSOCKOPT             = 5053\n\tSYS_GETSOCKOPT             = 5054\n\tSYS_CLONE                  = 5055\n\tSYS_FORK                   = 5056\n\tSYS_EXECVE                 = 5057\n\tSYS_EXIT                   = 5058\n\tSYS_WAIT4                  = 5059\n\tSYS_KILL                   = 5060\n\tSYS_UNAME                  = 5061\n\tSYS_SEMGET                 = 5062\n\tSYS_SEMOP                  = 5063\n\tSYS_SEMCTL                 = 5064\n\tSYS_SHMDT                  = 5065\n\tSYS_MSGGET                 = 5066\n\tSYS_MSGSND                 = 5067\n\tSYS_MSGRCV                 = 5068\n\tSYS_MSGCTL                 = 5069\n\tSYS_FCNTL                  = 5070\n\tSYS_FLOCK                  = 5071\n\tSYS_FSYNC                  = 5072\n\tSYS_FDATASYNC              = 5073\n\tSYS_TRUNCATE               = 5074\n\tSYS_FTRUNCATE              = 5075\n\tSYS_GETDENTS               = 5076\n\tSYS_GETCWD                 = 5077\n\tSYS_CHDIR                  = 5078\n\tSYS_FCHDIR                 = 5079\n\tSYS_RENAME                 = 5080\n\tSYS_MKDIR                  = 5081\n\tSYS_RMDIR                  = 5082\n\tSYS_CREAT                  = 5083\n\tSYS_LINK                   = 5084\n\tSYS_UNLINK                 = 5085\n\tSYS_SYMLINK                = 5086\n\tSYS_READLINK               = 5087\n\tSYS_CHMOD                  = 5088\n\tSYS_FCHMOD                 = 5089\n\tSYS_CHOWN                  = 5090\n\tSYS_FCHOWN                 = 5091\n\tSYS_LCHOWN                 = 5092\n\tSYS_UMASK                  = 5093\n\tSYS_GETTIMEOFDAY           = 5094\n\tSYS_GETRLIMIT              = 5095\n\tSYS_GETRUSAGE              = 5096\n\tSYS_SYSINFO                = 5097\n\tSYS_TIMES                  = 5098\n\tSYS_PTRACE                 = 5099\n\tSYS_GETUID                 = 5100\n\tSYS_SYSLOG                 = 5101\n\tSYS_GETGID                 = 5102\n\tSYS_SETUID                 = 5103\n\tSYS_SETGID                 = 5104\n\tSYS_GETEUID                = 5105\n\tSYS_GETEGID                = 5106\n\tSYS_SETPGID                = 5107\n\tSYS_GETPPID                = 5108\n\tSYS_GETPGRP                = 5109\n\tSYS_SETSID                 = 5110\n\tSYS_SETREUID               = 5111\n\tSYS_SETREGID               = 5112\n\tSYS_GETGROUPS              = 5113\n\tSYS_SETGROUPS              = 5114\n\tSYS_SETRESUID              = 5115\n\tSYS_GETRESUID              = 5116\n\tSYS_SETRESGID              = 5117\n\tSYS_GETRESGID              = 5118\n\tSYS_GETPGID                = 5119\n\tSYS_SETFSUID               = 5120\n\tSYS_SETFSGID               = 5121\n\tSYS_GETSID                 = 5122\n\tSYS_CAPGET                 = 5123\n\tSYS_CAPSET                 = 5124\n\tSYS_RT_SIGPENDING          = 5125\n\tSYS_RT_SIGTIMEDWAIT        = 5126\n\tSYS_RT_SIGQUEUEINFO        = 5127\n\tSYS_RT_SIGSUSPEND          = 5128\n\tSYS_SIGALTSTACK            = 5129\n\tSYS_UTIME                  = 5130\n\tSYS_MKNOD                  = 5131\n\tSYS_PERSONALITY            = 5132\n\tSYS_USTAT                  = 5133\n\tSYS_STATFS                 = 5134\n\tSYS_FSTATFS                = 5135\n\tSYS_SYSFS                  = 5136\n\tSYS_GETPRIORITY            = 5137\n\tSYS_SETPRIORITY            = 5138\n\tSYS_SCHED_SETPARAM         = 5139\n\tSYS_SCHED_GETPARAM         = 5140\n\tSYS_SCHED_SETSCHEDULER     = 5141\n\tSYS_SCHED_GETSCHEDULER     = 5142\n\tSYS_SCHED_GET_PRIORITY_MAX = 5143\n\tSYS_SCHED_GET_PRIORITY_MIN = 5144\n\tSYS_SCHED_RR_GET_INTERVAL  = 5145\n\tSYS_MLOCK                  = 5146\n\tSYS_MUNLOCK                = 5147\n\tSYS_MLOCKALL               = 5148\n\tSYS_MUNLOCKALL             = 5149\n\tSYS_VHANGUP                = 5150\n\tSYS_PIVOT_ROOT             = 5151\n\tSYS__SYSCTL                = 5152\n\tSYS_PRCTL                  = 5153\n\tSYS_ADJTIMEX               = 5154\n\tSYS_SETRLIMIT              = 5155\n\tSYS_CHROOT                 = 5156\n\tSYS_SYNC                   = 5157\n\tSYS_ACCT                   = 5158\n\tSYS_SETTIMEOFDAY           = 5159\n\tSYS_MOUNT                  = 5160\n\tSYS_UMOUNT2                = 5161\n\tSYS_SWAPON                 = 5162\n\tSYS_SWAPOFF                = 5163\n\tSYS_REBOOT                 = 5164\n\tSYS_SETHOSTNAME            = 5165\n\tSYS_SETDOMAINNAME          = 5166\n\tSYS_CREATE_MODULE          = 5167\n\tSYS_INIT_MODULE            = 5168\n\tSYS_DELETE_MODULE          = 5169\n\tSYS_GET_KERNEL_SYMS        = 5170\n\tSYS_QUERY_MODULE           = 5171\n\tSYS_QUOTACTL               = 5172\n\tSYS_NFSSERVCTL             = 5173\n\tSYS_GETPMSG                = 5174\n\tSYS_PUTPMSG                = 5175\n\tSYS_AFS_SYSCALL            = 5176\n\tSYS_RESERVED177            = 5177\n\tSYS_GETTID                 = 5178\n\tSYS_READAHEAD              = 5179\n\tSYS_SETXATTR               = 5180\n\tSYS_LSETXATTR              = 5181\n\tSYS_FSETXATTR              = 5182\n\tSYS_GETXATTR               = 5183\n\tSYS_LGETXATTR              = 5184\n\tSYS_FGETXATTR              = 5185\n\tSYS_LISTXATTR              = 5186\n\tSYS_LLISTXATTR             = 5187\n\tSYS_FLISTXATTR             = 5188\n\tSYS_REMOVEXATTR            = 5189\n\tSYS_LREMOVEXATTR           = 5190\n\tSYS_FREMOVEXATTR           = 5191\n\tSYS_TKILL                  = 5192\n\tSYS_RESERVED193            = 5193\n\tSYS_FUTEX                  = 5194\n\tSYS_SCHED_SETAFFINITY      = 5195\n\tSYS_SCHED_GETAFFINITY      = 5196\n\tSYS_CACHEFLUSH             = 5197\n\tSYS_CACHECTL               = 5198\n\tSYS_SYSMIPS                = 5199\n\tSYS_IO_SETUP               = 5200\n\tSYS_IO_DESTROY             = 5201\n\tSYS_IO_GETEVENTS           = 5202\n\tSYS_IO_SUBMIT              = 5203\n\tSYS_IO_CANCEL              = 5204\n\tSYS_EXIT_GROUP             = 5205\n\tSYS_LOOKUP_DCOOKIE         = 5206\n\tSYS_EPOLL_CREATE           = 5207\n\tSYS_EPOLL_CTL              = 5208\n\tSYS_EPOLL_WAIT             = 5209\n\tSYS_REMAP_FILE_PAGES       = 5210\n\tSYS_RT_SIGRETURN           = 5211\n\tSYS_SET_TID_ADDRESS        = 5212\n\tSYS_RESTART_SYSCALL        = 5213\n\tSYS_SEMTIMEDOP             = 5214\n\tSYS_FADVISE64              = 5215\n\tSYS_TIMER_CREATE           = 5216\n\tSYS_TIMER_SETTIME          = 5217\n\tSYS_TIMER_GETTIME          = 5218\n\tSYS_TIMER_GETOVERRUN       = 5219\n\tSYS_TIMER_DELETE           = 5220\n\tSYS_CLOCK_SETTIME          = 5221\n\tSYS_CLOCK_GETTIME          = 5222\n\tSYS_CLOCK_GETRES           = 5223\n\tSYS_CLOCK_NANOSLEEP        = 5224\n\tSYS_TGKILL                 = 5225\n\tSYS_UTIMES                 = 5226\n\tSYS_MBIND                  = 5227\n\tSYS_GET_MEMPOLICY          = 5228\n\tSYS_SET_MEMPOLICY          = 5229\n\tSYS_MQ_OPEN                = 5230\n\tSYS_MQ_UNLINK              = 5231\n\tSYS_MQ_TIMEDSEND           = 5232\n\tSYS_MQ_TIMEDRECEIVE        = 5233\n\tSYS_MQ_NOTIFY              = 5234\n\tSYS_MQ_GETSETATTR          = 5235\n\tSYS_VSERVER                = 5236\n\tSYS_WAITID                 = 5237\n\tSYS_ADD_KEY                = 5239\n\tSYS_REQUEST_KEY            = 5240\n\tSYS_KEYCTL                 = 5241\n\tSYS_SET_THREAD_AREA        = 5242\n\tSYS_INOTIFY_INIT           = 5243\n\tSYS_INOTIFY_ADD_WATCH      = 5244\n\tSYS_INOTIFY_RM_WATCH       = 5245\n\tSYS_MIGRATE_PAGES          = 5246\n\tSYS_OPENAT                 = 5247\n\tSYS_MKDIRAT                = 5248\n\tSYS_MKNODAT                = 5249\n\tSYS_FCHOWNAT               = 5250\n\tSYS_FUTIMESAT              = 5251\n\tSYS_NEWFSTATAT             = 5252\n\tSYS_UNLINKAT               = 5253\n\tSYS_RENAMEAT               = 5254\n\tSYS_LINKAT                 = 5255\n\tSYS_SYMLINKAT              = 5256\n\tSYS_READLINKAT             = 5257\n\tSYS_FCHMODAT               = 5258\n\tSYS_FACCESSAT              = 5259\n\tSYS_PSELECT6               = 5260\n\tSYS_PPOLL                  = 5261\n\tSYS_UNSHARE                = 5262\n\tSYS_SPLICE                 = 5263\n\tSYS_SYNC_FILE_RANGE        = 5264\n\tSYS_TEE                    = 5265\n\tSYS_VMSPLICE               = 5266\n\tSYS_MOVE_PAGES             = 5267\n\tSYS_SET_ROBUST_LIST        = 5268\n\tSYS_GET_ROBUST_LIST        = 5269\n\tSYS_KEXEC_LOAD             = 5270\n\tSYS_GETCPU                 = 5271\n\tSYS_EPOLL_PWAIT            = 5272\n\tSYS_IOPRIO_SET             = 5273\n\tSYS_IOPRIO_GET             = 5274\n\tSYS_UTIMENSAT              = 5275\n\tSYS_SIGNALFD               = 5276\n\tSYS_TIMERFD                = 5277\n\tSYS_EVENTFD                = 5278\n\tSYS_FALLOCATE              = 5279\n\tSYS_TIMERFD_CREATE         = 5280\n\tSYS_TIMERFD_GETTIME        = 5281\n\tSYS_TIMERFD_SETTIME        = 5282\n\tSYS_SIGNALFD4              = 5283\n\tSYS_EVENTFD2               = 5284\n\tSYS_EPOLL_CREATE1          = 5285\n\tSYS_DUP3                   = 5286\n\tSYS_PIPE2                  = 5287\n\tSYS_INOTIFY_INIT1          = 5288\n\tSYS_PREADV                 = 5289\n\tSYS_PWRITEV                = 5290\n\tSYS_RT_TGSIGQUEUEINFO      = 5291\n\tSYS_PERF_EVENT_OPEN        = 5292\n\tSYS_ACCEPT4                = 5293\n\tSYS_RECVMMSG               = 5294\n\tSYS_FANOTIFY_INIT          = 5295\n\tSYS_FANOTIFY_MARK          = 5296\n\tSYS_PRLIMIT64              = 5297\n\tSYS_NAME_TO_HANDLE_AT      = 5298\n\tSYS_OPEN_BY_HANDLE_AT      = 5299\n\tSYS_CLOCK_ADJTIME          = 5300\n\tSYS_SYNCFS                 = 5301\n\tSYS_SENDMMSG               = 5302\n\tSYS_SETNS                  = 5303\n\tSYS_PROCESS_VM_READV       = 5304\n\tSYS_PROCESS_VM_WRITEV      = 5305\n\tSYS_KCMP                   = 5306\n\tSYS_FINIT_MODULE           = 5307\n\tSYS_GETDENTS64             = 5308\n\tSYS_SCHED_SETATTR          = 5309\n\tSYS_SCHED_GETATTR          = 5310\n\tSYS_RENAMEAT2              = 5311\n\tSYS_SECCOMP                = 5312\n\tSYS_GETRANDOM              = 5313\n\tSYS_MEMFD_CREATE           = 5314\n\tSYS_BPF                    = 5315\n\tSYS_EXECVEAT               = 5316\n\tSYS_USERFAULTFD            = 5317\n\tSYS_MEMBARRIER             = 5318\n\tSYS_MLOCK2                 = 5319\n\tSYS_COPY_FILE_RANGE        = 5320\n\tSYS_PREADV2                = 5321\n\tSYS_PWRITEV2               = 5322\n\tSYS_PKEY_MPROTECT          = 5323\n\tSYS_PKEY_ALLOC             = 5324\n\tSYS_PKEY_FREE              = 5325\n\tSYS_STATX                  = 5326\n\tSYS_RSEQ                   = 5327\n\tSYS_IO_PGETEVENTS          = 5328\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go",
    "content": "// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build mips64le,linux\n\npackage unix\n\nconst (\n\tSYS_READ                   = 5000\n\tSYS_WRITE                  = 5001\n\tSYS_OPEN                   = 5002\n\tSYS_CLOSE                  = 5003\n\tSYS_STAT                   = 5004\n\tSYS_FSTAT                  = 5005\n\tSYS_LSTAT                  = 5006\n\tSYS_POLL                   = 5007\n\tSYS_LSEEK                  = 5008\n\tSYS_MMAP                   = 5009\n\tSYS_MPROTECT               = 5010\n\tSYS_MUNMAP                 = 5011\n\tSYS_BRK                    = 5012\n\tSYS_RT_SIGACTION           = 5013\n\tSYS_RT_SIGPROCMASK         = 5014\n\tSYS_IOCTL                  = 5015\n\tSYS_PREAD64                = 5016\n\tSYS_PWRITE64               = 5017\n\tSYS_READV                  = 5018\n\tSYS_WRITEV                 = 5019\n\tSYS_ACCESS                 = 5020\n\tSYS_PIPE                   = 5021\n\tSYS__NEWSELECT             = 5022\n\tSYS_SCHED_YIELD            = 5023\n\tSYS_MREMAP                 = 5024\n\tSYS_MSYNC                  = 5025\n\tSYS_MINCORE                = 5026\n\tSYS_MADVISE                = 5027\n\tSYS_SHMGET                 = 5028\n\tSYS_SHMAT                  = 5029\n\tSYS_SHMCTL                 = 5030\n\tSYS_DUP                    = 5031\n\tSYS_DUP2                   = 5032\n\tSYS_PAUSE                  = 5033\n\tSYS_NANOSLEEP              = 5034\n\tSYS_GETITIMER              = 5035\n\tSYS_SETITIMER              = 5036\n\tSYS_ALARM                  = 5037\n\tSYS_GETPID                 = 5038\n\tSYS_SENDFILE               = 5039\n\tSYS_SOCKET                 = 5040\n\tSYS_CONNECT                = 5041\n\tSYS_ACCEPT                 = 5042\n\tSYS_SENDTO                 = 5043\n\tSYS_RECVFROM               = 5044\n\tSYS_SENDMSG                = 5045\n\tSYS_RECVMSG                = 5046\n\tSYS_SHUTDOWN               = 5047\n\tSYS_BIND                   = 5048\n\tSYS_LISTEN                 = 5049\n\tSYS_GETSOCKNAME            = 5050\n\tSYS_GETPEERNAME            = 5051\n\tSYS_SOCKETPAIR             = 5052\n\tSYS_SETSOCKOPT             = 5053\n\tSYS_GETSOCKOPT             = 5054\n\tSYS_CLONE                  = 5055\n\tSYS_FORK                   = 5056\n\tSYS_EXECVE                 = 5057\n\tSYS_EXIT                   = 5058\n\tSYS_WAIT4                  = 5059\n\tSYS_KILL                   = 5060\n\tSYS_UNAME                  = 5061\n\tSYS_SEMGET                 = 5062\n\tSYS_SEMOP                  = 5063\n\tSYS_SEMCTL                 = 5064\n\tSYS_SHMDT                  = 5065\n\tSYS_MSGGET                 = 5066\n\tSYS_MSGSND                 = 5067\n\tSYS_MSGRCV                 = 5068\n\tSYS_MSGCTL                 = 5069\n\tSYS_FCNTL                  = 5070\n\tSYS_FLOCK                  = 5071\n\tSYS_FSYNC                  = 5072\n\tSYS_FDATASYNC              = 5073\n\tSYS_TRUNCATE               = 5074\n\tSYS_FTRUNCATE              = 5075\n\tSYS_GETDENTS               = 5076\n\tSYS_GETCWD                 = 5077\n\tSYS_CHDIR                  = 5078\n\tSYS_FCHDIR                 = 5079\n\tSYS_RENAME                 = 5080\n\tSYS_MKDIR                  = 5081\n\tSYS_RMDIR                  = 5082\n\tSYS_CREAT                  = 5083\n\tSYS_LINK                   = 5084\n\tSYS_UNLINK                 = 5085\n\tSYS_SYMLINK                = 5086\n\tSYS_READLINK               = 5087\n\tSYS_CHMOD                  = 5088\n\tSYS_FCHMOD                 = 5089\n\tSYS_CHOWN                  = 5090\n\tSYS_FCHOWN                 = 5091\n\tSYS_LCHOWN                 = 5092\n\tSYS_UMASK                  = 5093\n\tSYS_GETTIMEOFDAY           = 5094\n\tSYS_GETRLIMIT              = 5095\n\tSYS_GETRUSAGE              = 5096\n\tSYS_SYSINFO                = 5097\n\tSYS_TIMES                  = 5098\n\tSYS_PTRACE                 = 5099\n\tSYS_GETUID                 = 5100\n\tSYS_SYSLOG                 = 5101\n\tSYS_GETGID                 = 5102\n\tSYS_SETUID                 = 5103\n\tSYS_SETGID                 = 5104\n\tSYS_GETEUID                = 5105\n\tSYS_GETEGID                = 5106\n\tSYS_SETPGID                = 5107\n\tSYS_GETPPID                = 5108\n\tSYS_GETPGRP                = 5109\n\tSYS_SETSID                 = 5110\n\tSYS_SETREUID               = 5111\n\tSYS_SETREGID               = 5112\n\tSYS_GETGROUPS              = 5113\n\tSYS_SETGROUPS              = 5114\n\tSYS_SETRESUID              = 5115\n\tSYS_GETRESUID              = 5116\n\tSYS_SETRESGID              = 5117\n\tSYS_GETRESGID              = 5118\n\tSYS_GETPGID                = 5119\n\tSYS_SETFSUID               = 5120\n\tSYS_SETFSGID               = 5121\n\tSYS_GETSID                 = 5122\n\tSYS_CAPGET                 = 5123\n\tSYS_CAPSET                 = 5124\n\tSYS_RT_SIGPENDING          = 5125\n\tSYS_RT_SIGTIMEDWAIT        = 5126\n\tSYS_RT_SIGQUEUEINFO        = 5127\n\tSYS_RT_SIGSUSPEND          = 5128\n\tSYS_SIGALTSTACK            = 5129\n\tSYS_UTIME                  = 5130\n\tSYS_MKNOD                  = 5131\n\tSYS_PERSONALITY            = 5132\n\tSYS_USTAT                  = 5133\n\tSYS_STATFS                 = 5134\n\tSYS_FSTATFS                = 5135\n\tSYS_SYSFS                  = 5136\n\tSYS_GETPRIORITY            = 5137\n\tSYS_SETPRIORITY            = 5138\n\tSYS_SCHED_SETPARAM         = 5139\n\tSYS_SCHED_GETPARAM         = 5140\n\tSYS_SCHED_SETSCHEDULER     = 5141\n\tSYS_SCHED_GETSCHEDULER     = 5142\n\tSYS_SCHED_GET_PRIORITY_MAX = 5143\n\tSYS_SCHED_GET_PRIORITY_MIN = 5144\n\tSYS_SCHED_RR_GET_INTERVAL  = 5145\n\tSYS_MLOCK                  = 5146\n\tSYS_MUNLOCK                = 5147\n\tSYS_MLOCKALL               = 5148\n\tSYS_MUNLOCKALL             = 5149\n\tSYS_VHANGUP                = 5150\n\tSYS_PIVOT_ROOT             = 5151\n\tSYS__SYSCTL                = 5152\n\tSYS_PRCTL                  = 5153\n\tSYS_ADJTIMEX               = 5154\n\tSYS_SETRLIMIT              = 5155\n\tSYS_CHROOT                 = 5156\n\tSYS_SYNC                   = 5157\n\tSYS_ACCT                   = 5158\n\tSYS_SETTIMEOFDAY           = 5159\n\tSYS_MOUNT                  = 5160\n\tSYS_UMOUNT2                = 5161\n\tSYS_SWAPON                 = 5162\n\tSYS_SWAPOFF                = 5163\n\tSYS_REBOOT                 = 5164\n\tSYS_SETHOSTNAME            = 5165\n\tSYS_SETDOMAINNAME          = 5166\n\tSYS_CREATE_MODULE          = 5167\n\tSYS_INIT_MODULE            = 5168\n\tSYS_DELETE_MODULE          = 5169\n\tSYS_GET_KERNEL_SYMS        = 5170\n\tSYS_QUERY_MODULE           = 5171\n\tSYS_QUOTACTL               = 5172\n\tSYS_NFSSERVCTL             = 5173\n\tSYS_GETPMSG                = 5174\n\tSYS_PUTPMSG                = 5175\n\tSYS_AFS_SYSCALL            = 5176\n\tSYS_RESERVED177            = 5177\n\tSYS_GETTID                 = 5178\n\tSYS_READAHEAD              = 5179\n\tSYS_SETXATTR               = 5180\n\tSYS_LSETXATTR              = 5181\n\tSYS_FSETXATTR              = 5182\n\tSYS_GETXATTR               = 5183\n\tSYS_LGETXATTR              = 5184\n\tSYS_FGETXATTR              = 5185\n\tSYS_LISTXATTR              = 5186\n\tSYS_LLISTXATTR             = 5187\n\tSYS_FLISTXATTR             = 5188\n\tSYS_REMOVEXATTR            = 5189\n\tSYS_LREMOVEXATTR           = 5190\n\tSYS_FREMOVEXATTR           = 5191\n\tSYS_TKILL                  = 5192\n\tSYS_RESERVED193            = 5193\n\tSYS_FUTEX                  = 5194\n\tSYS_SCHED_SETAFFINITY      = 5195\n\tSYS_SCHED_GETAFFINITY      = 5196\n\tSYS_CACHEFLUSH             = 5197\n\tSYS_CACHECTL               = 5198\n\tSYS_SYSMIPS                = 5199\n\tSYS_IO_SETUP               = 5200\n\tSYS_IO_DESTROY             = 5201\n\tSYS_IO_GETEVENTS           = 5202\n\tSYS_IO_SUBMIT              = 5203\n\tSYS_IO_CANCEL              = 5204\n\tSYS_EXIT_GROUP             = 5205\n\tSYS_LOOKUP_DCOOKIE         = 5206\n\tSYS_EPOLL_CREATE           = 5207\n\tSYS_EPOLL_CTL              = 5208\n\tSYS_EPOLL_WAIT             = 5209\n\tSYS_REMAP_FILE_PAGES       = 5210\n\tSYS_RT_SIGRETURN           = 5211\n\tSYS_SET_TID_ADDRESS        = 5212\n\tSYS_RESTART_SYSCALL        = 5213\n\tSYS_SEMTIMEDOP             = 5214\n\tSYS_FADVISE64              = 5215\n\tSYS_TIMER_CREATE           = 5216\n\tSYS_TIMER_SETTIME          = 5217\n\tSYS_TIMER_GETTIME          = 5218\n\tSYS_TIMER_GETOVERRUN       = 5219\n\tSYS_TIMER_DELETE           = 5220\n\tSYS_CLOCK_SETTIME          = 5221\n\tSYS_CLOCK_GETTIME          = 5222\n\tSYS_CLOCK_GETRES           = 5223\n\tSYS_CLOCK_NANOSLEEP        = 5224\n\tSYS_TGKILL                 = 5225\n\tSYS_UTIMES                 = 5226\n\tSYS_MBIND                  = 5227\n\tSYS_GET_MEMPOLICY          = 5228\n\tSYS_SET_MEMPOLICY          = 5229\n\tSYS_MQ_OPEN                = 5230\n\tSYS_MQ_UNLINK              = 5231\n\tSYS_MQ_TIMEDSEND           = 5232\n\tSYS_MQ_TIMEDRECEIVE        = 5233\n\tSYS_MQ_NOTIFY              = 5234\n\tSYS_MQ_GETSETATTR          = 5235\n\tSYS_VSERVER                = 5236\n\tSYS_WAITID                 = 5237\n\tSYS_ADD_KEY                = 5239\n\tSYS_REQUEST_KEY            = 5240\n\tSYS_KEYCTL                 = 5241\n\tSYS_SET_THREAD_AREA        = 5242\n\tSYS_INOTIFY_INIT           = 5243\n\tSYS_INOTIFY_ADD_WATCH      = 5244\n\tSYS_INOTIFY_RM_WATCH       = 5245\n\tSYS_MIGRATE_PAGES          = 5246\n\tSYS_OPENAT                 = 5247\n\tSYS_MKDIRAT                = 5248\n\tSYS_MKNODAT                = 5249\n\tSYS_FCHOWNAT               = 5250\n\tSYS_FUTIMESAT              = 5251\n\tSYS_NEWFSTATAT             = 5252\n\tSYS_UNLINKAT               = 5253\n\tSYS_RENAMEAT               = 5254\n\tSYS_LINKAT                 = 5255\n\tSYS_SYMLINKAT              = 5256\n\tSYS_READLINKAT             = 5257\n\tSYS_FCHMODAT               = 5258\n\tSYS_FACCESSAT              = 5259\n\tSYS_PSELECT6               = 5260\n\tSYS_PPOLL                  = 5261\n\tSYS_UNSHARE                = 5262\n\tSYS_SPLICE                 = 5263\n\tSYS_SYNC_FILE_RANGE        = 5264\n\tSYS_TEE                    = 5265\n\tSYS_VMSPLICE               = 5266\n\tSYS_MOVE_PAGES             = 5267\n\tSYS_SET_ROBUST_LIST        = 5268\n\tSYS_GET_ROBUST_LIST        = 5269\n\tSYS_KEXEC_LOAD             = 5270\n\tSYS_GETCPU                 = 5271\n\tSYS_EPOLL_PWAIT            = 5272\n\tSYS_IOPRIO_SET             = 5273\n\tSYS_IOPRIO_GET             = 5274\n\tSYS_UTIMENSAT              = 5275\n\tSYS_SIGNALFD               = 5276\n\tSYS_TIMERFD                = 5277\n\tSYS_EVENTFD                = 5278\n\tSYS_FALLOCATE              = 5279\n\tSYS_TIMERFD_CREATE         = 5280\n\tSYS_TIMERFD_GETTIME        = 5281\n\tSYS_TIMERFD_SETTIME        = 5282\n\tSYS_SIGNALFD4              = 5283\n\tSYS_EVENTFD2               = 5284\n\tSYS_EPOLL_CREATE1          = 5285\n\tSYS_DUP3                   = 5286\n\tSYS_PIPE2                  = 5287\n\tSYS_INOTIFY_INIT1          = 5288\n\tSYS_PREADV                 = 5289\n\tSYS_PWRITEV                = 5290\n\tSYS_RT_TGSIGQUEUEINFO      = 5291\n\tSYS_PERF_EVENT_OPEN        = 5292\n\tSYS_ACCEPT4                = 5293\n\tSYS_RECVMMSG               = 5294\n\tSYS_FANOTIFY_INIT          = 5295\n\tSYS_FANOTIFY_MARK          = 5296\n\tSYS_PRLIMIT64              = 5297\n\tSYS_NAME_TO_HANDLE_AT      = 5298\n\tSYS_OPEN_BY_HANDLE_AT      = 5299\n\tSYS_CLOCK_ADJTIME          = 5300\n\tSYS_SYNCFS                 = 5301\n\tSYS_SENDMMSG               = 5302\n\tSYS_SETNS                  = 5303\n\tSYS_PROCESS_VM_READV       = 5304\n\tSYS_PROCESS_VM_WRITEV      = 5305\n\tSYS_KCMP                   = 5306\n\tSYS_FINIT_MODULE           = 5307\n\tSYS_GETDENTS64             = 5308\n\tSYS_SCHED_SETATTR          = 5309\n\tSYS_SCHED_GETATTR          = 5310\n\tSYS_RENAMEAT2              = 5311\n\tSYS_SECCOMP                = 5312\n\tSYS_GETRANDOM              = 5313\n\tSYS_MEMFD_CREATE           = 5314\n\tSYS_BPF                    = 5315\n\tSYS_EXECVEAT               = 5316\n\tSYS_USERFAULTFD            = 5317\n\tSYS_MEMBARRIER             = 5318\n\tSYS_MLOCK2                 = 5319\n\tSYS_COPY_FILE_RANGE        = 5320\n\tSYS_PREADV2                = 5321\n\tSYS_PWRITEV2               = 5322\n\tSYS_PKEY_MPROTECT          = 5323\n\tSYS_PKEY_ALLOC             = 5324\n\tSYS_PKEY_FREE              = 5325\n\tSYS_STATX                  = 5326\n\tSYS_RSEQ                   = 5327\n\tSYS_IO_PGETEVENTS          = 5328\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go",
    "content": "// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build mipsle,linux\n\npackage unix\n\nconst (\n\tSYS_SYSCALL                = 4000\n\tSYS_EXIT                   = 4001\n\tSYS_FORK                   = 4002\n\tSYS_READ                   = 4003\n\tSYS_WRITE                  = 4004\n\tSYS_OPEN                   = 4005\n\tSYS_CLOSE                  = 4006\n\tSYS_WAITPID                = 4007\n\tSYS_CREAT                  = 4008\n\tSYS_LINK                   = 4009\n\tSYS_UNLINK                 = 4010\n\tSYS_EXECVE                 = 4011\n\tSYS_CHDIR                  = 4012\n\tSYS_TIME                   = 4013\n\tSYS_MKNOD                  = 4014\n\tSYS_CHMOD                  = 4015\n\tSYS_LCHOWN                 = 4016\n\tSYS_BREAK                  = 4017\n\tSYS_UNUSED18               = 4018\n\tSYS_LSEEK                  = 4019\n\tSYS_GETPID                 = 4020\n\tSYS_MOUNT                  = 4021\n\tSYS_UMOUNT                 = 4022\n\tSYS_SETUID                 = 4023\n\tSYS_GETUID                 = 4024\n\tSYS_STIME                  = 4025\n\tSYS_PTRACE                 = 4026\n\tSYS_ALARM                  = 4027\n\tSYS_UNUSED28               = 4028\n\tSYS_PAUSE                  = 4029\n\tSYS_UTIME                  = 4030\n\tSYS_STTY                   = 4031\n\tSYS_GTTY                   = 4032\n\tSYS_ACCESS                 = 4033\n\tSYS_NICE                   = 4034\n\tSYS_FTIME                  = 4035\n\tSYS_SYNC                   = 4036\n\tSYS_KILL                   = 4037\n\tSYS_RENAME                 = 4038\n\tSYS_MKDIR                  = 4039\n\tSYS_RMDIR                  = 4040\n\tSYS_DUP                    = 4041\n\tSYS_PIPE                   = 4042\n\tSYS_TIMES                  = 4043\n\tSYS_PROF                   = 4044\n\tSYS_BRK                    = 4045\n\tSYS_SETGID                 = 4046\n\tSYS_GETGID                 = 4047\n\tSYS_SIGNAL                 = 4048\n\tSYS_GETEUID                = 4049\n\tSYS_GETEGID                = 4050\n\tSYS_ACCT                   = 4051\n\tSYS_UMOUNT2                = 4052\n\tSYS_LOCK                   = 4053\n\tSYS_IOCTL                  = 4054\n\tSYS_FCNTL                  = 4055\n\tSYS_MPX                    = 4056\n\tSYS_SETPGID                = 4057\n\tSYS_ULIMIT                 = 4058\n\tSYS_UNUSED59               = 4059\n\tSYS_UMASK                  = 4060\n\tSYS_CHROOT                 = 4061\n\tSYS_USTAT                  = 4062\n\tSYS_DUP2                   = 4063\n\tSYS_GETPPID                = 4064\n\tSYS_GETPGRP                = 4065\n\tSYS_SETSID                 = 4066\n\tSYS_SIGACTION              = 4067\n\tSYS_SGETMASK               = 4068\n\tSYS_SSETMASK               = 4069\n\tSYS_SETREUID               = 4070\n\tSYS_SETREGID               = 4071\n\tSYS_SIGSUSPEND             = 4072\n\tSYS_SIGPENDING             = 4073\n\tSYS_SETHOSTNAME            = 4074\n\tSYS_SETRLIMIT              = 4075\n\tSYS_GETRLIMIT              = 4076\n\tSYS_GETRUSAGE              = 4077\n\tSYS_GETTIMEOFDAY           = 4078\n\tSYS_SETTIMEOFDAY           = 4079\n\tSYS_GETGROUPS              = 4080\n\tSYS_SETGROUPS              = 4081\n\tSYS_RESERVED82             = 4082\n\tSYS_SYMLINK                = 4083\n\tSYS_UNUSED84               = 4084\n\tSYS_READLINK               = 4085\n\tSYS_USELIB                 = 4086\n\tSYS_SWAPON                 = 4087\n\tSYS_REBOOT                 = 4088\n\tSYS_READDIR                = 4089\n\tSYS_MMAP                   = 4090\n\tSYS_MUNMAP                 = 4091\n\tSYS_TRUNCATE               = 4092\n\tSYS_FTRUNCATE              = 4093\n\tSYS_FCHMOD                 = 4094\n\tSYS_FCHOWN                 = 4095\n\tSYS_GETPRIORITY            = 4096\n\tSYS_SETPRIORITY            = 4097\n\tSYS_PROFIL                 = 4098\n\tSYS_STATFS                 = 4099\n\tSYS_FSTATFS                = 4100\n\tSYS_IOPERM                 = 4101\n\tSYS_SOCKETCALL             = 4102\n\tSYS_SYSLOG                 = 4103\n\tSYS_SETITIMER              = 4104\n\tSYS_GETITIMER              = 4105\n\tSYS_STAT                   = 4106\n\tSYS_LSTAT                  = 4107\n\tSYS_FSTAT                  = 4108\n\tSYS_UNUSED109              = 4109\n\tSYS_IOPL                   = 4110\n\tSYS_VHANGUP                = 4111\n\tSYS_IDLE                   = 4112\n\tSYS_VM86                   = 4113\n\tSYS_WAIT4                  = 4114\n\tSYS_SWAPOFF                = 4115\n\tSYS_SYSINFO                = 4116\n\tSYS_IPC                    = 4117\n\tSYS_FSYNC                  = 4118\n\tSYS_SIGRETURN              = 4119\n\tSYS_CLONE                  = 4120\n\tSYS_SETDOMAINNAME          = 4121\n\tSYS_UNAME                  = 4122\n\tSYS_MODIFY_LDT             = 4123\n\tSYS_ADJTIMEX               = 4124\n\tSYS_MPROTECT               = 4125\n\tSYS_SIGPROCMASK            = 4126\n\tSYS_CREATE_MODULE          = 4127\n\tSYS_INIT_MODULE            = 4128\n\tSYS_DELETE_MODULE          = 4129\n\tSYS_GET_KERNEL_SYMS        = 4130\n\tSYS_QUOTACTL               = 4131\n\tSYS_GETPGID                = 4132\n\tSYS_FCHDIR                 = 4133\n\tSYS_BDFLUSH                = 4134\n\tSYS_SYSFS                  = 4135\n\tSYS_PERSONALITY            = 4136\n\tSYS_AFS_SYSCALL            = 4137\n\tSYS_SETFSUID               = 4138\n\tSYS_SETFSGID               = 4139\n\tSYS__LLSEEK                = 4140\n\tSYS_GETDENTS               = 4141\n\tSYS__NEWSELECT             = 4142\n\tSYS_FLOCK                  = 4143\n\tSYS_MSYNC                  = 4144\n\tSYS_READV                  = 4145\n\tSYS_WRITEV                 = 4146\n\tSYS_CACHEFLUSH             = 4147\n\tSYS_CACHECTL               = 4148\n\tSYS_SYSMIPS                = 4149\n\tSYS_UNUSED150              = 4150\n\tSYS_GETSID                 = 4151\n\tSYS_FDATASYNC              = 4152\n\tSYS__SYSCTL                = 4153\n\tSYS_MLOCK                  = 4154\n\tSYS_MUNLOCK                = 4155\n\tSYS_MLOCKALL               = 4156\n\tSYS_MUNLOCKALL             = 4157\n\tSYS_SCHED_SETPARAM         = 4158\n\tSYS_SCHED_GETPARAM         = 4159\n\tSYS_SCHED_SETSCHEDULER     = 4160\n\tSYS_SCHED_GETSCHEDULER     = 4161\n\tSYS_SCHED_YIELD            = 4162\n\tSYS_SCHED_GET_PRIORITY_MAX = 4163\n\tSYS_SCHED_GET_PRIORITY_MIN = 4164\n\tSYS_SCHED_RR_GET_INTERVAL  = 4165\n\tSYS_NANOSLEEP              = 4166\n\tSYS_MREMAP                 = 4167\n\tSYS_ACCEPT                 = 4168\n\tSYS_BIND                   = 4169\n\tSYS_CONNECT                = 4170\n\tSYS_GETPEERNAME            = 4171\n\tSYS_GETSOCKNAME            = 4172\n\tSYS_GETSOCKOPT             = 4173\n\tSYS_LISTEN                 = 4174\n\tSYS_RECV                   = 4175\n\tSYS_RECVFROM               = 4176\n\tSYS_RECVMSG                = 4177\n\tSYS_SEND                   = 4178\n\tSYS_SENDMSG                = 4179\n\tSYS_SENDTO                 = 4180\n\tSYS_SETSOCKOPT             = 4181\n\tSYS_SHUTDOWN               = 4182\n\tSYS_SOCKET                 = 4183\n\tSYS_SOCKETPAIR             = 4184\n\tSYS_SETRESUID              = 4185\n\tSYS_GETRESUID              = 4186\n\tSYS_QUERY_MODULE           = 4187\n\tSYS_POLL                   = 4188\n\tSYS_NFSSERVCTL             = 4189\n\tSYS_SETRESGID              = 4190\n\tSYS_GETRESGID              = 4191\n\tSYS_PRCTL                  = 4192\n\tSYS_RT_SIGRETURN           = 4193\n\tSYS_RT_SIGACTION           = 4194\n\tSYS_RT_SIGPROCMASK         = 4195\n\tSYS_RT_SIGPENDING          = 4196\n\tSYS_RT_SIGTIMEDWAIT        = 4197\n\tSYS_RT_SIGQUEUEINFO        = 4198\n\tSYS_RT_SIGSUSPEND          = 4199\n\tSYS_PREAD64                = 4200\n\tSYS_PWRITE64               = 4201\n\tSYS_CHOWN                  = 4202\n\tSYS_GETCWD                 = 4203\n\tSYS_CAPGET                 = 4204\n\tSYS_CAPSET                 = 4205\n\tSYS_SIGALTSTACK            = 4206\n\tSYS_SENDFILE               = 4207\n\tSYS_GETPMSG                = 4208\n\tSYS_PUTPMSG                = 4209\n\tSYS_MMAP2                  = 4210\n\tSYS_TRUNCATE64             = 4211\n\tSYS_FTRUNCATE64            = 4212\n\tSYS_STAT64                 = 4213\n\tSYS_LSTAT64                = 4214\n\tSYS_FSTAT64                = 4215\n\tSYS_PIVOT_ROOT             = 4216\n\tSYS_MINCORE                = 4217\n\tSYS_MADVISE                = 4218\n\tSYS_GETDENTS64             = 4219\n\tSYS_FCNTL64                = 4220\n\tSYS_RESERVED221            = 4221\n\tSYS_GETTID                 = 4222\n\tSYS_READAHEAD              = 4223\n\tSYS_SETXATTR               = 4224\n\tSYS_LSETXATTR              = 4225\n\tSYS_FSETXATTR              = 4226\n\tSYS_GETXATTR               = 4227\n\tSYS_LGETXATTR              = 4228\n\tSYS_FGETXATTR              = 4229\n\tSYS_LISTXATTR              = 4230\n\tSYS_LLISTXATTR             = 4231\n\tSYS_FLISTXATTR             = 4232\n\tSYS_REMOVEXATTR            = 4233\n\tSYS_LREMOVEXATTR           = 4234\n\tSYS_FREMOVEXATTR           = 4235\n\tSYS_TKILL                  = 4236\n\tSYS_SENDFILE64             = 4237\n\tSYS_FUTEX                  = 4238\n\tSYS_SCHED_SETAFFINITY      = 4239\n\tSYS_SCHED_GETAFFINITY      = 4240\n\tSYS_IO_SETUP               = 4241\n\tSYS_IO_DESTROY             = 4242\n\tSYS_IO_GETEVENTS           = 4243\n\tSYS_IO_SUBMIT              = 4244\n\tSYS_IO_CANCEL              = 4245\n\tSYS_EXIT_GROUP             = 4246\n\tSYS_LOOKUP_DCOOKIE         = 4247\n\tSYS_EPOLL_CREATE           = 4248\n\tSYS_EPOLL_CTL              = 4249\n\tSYS_EPOLL_WAIT             = 4250\n\tSYS_REMAP_FILE_PAGES       = 4251\n\tSYS_SET_TID_ADDRESS        = 4252\n\tSYS_RESTART_SYSCALL        = 4253\n\tSYS_FADVISE64              = 4254\n\tSYS_STATFS64               = 4255\n\tSYS_FSTATFS64              = 4256\n\tSYS_TIMER_CREATE           = 4257\n\tSYS_TIMER_SETTIME          = 4258\n\tSYS_TIMER_GETTIME          = 4259\n\tSYS_TIMER_GETOVERRUN       = 4260\n\tSYS_TIMER_DELETE           = 4261\n\tSYS_CLOCK_SETTIME          = 4262\n\tSYS_CLOCK_GETTIME          = 4263\n\tSYS_CLOCK_GETRES           = 4264\n\tSYS_CLOCK_NANOSLEEP        = 4265\n\tSYS_TGKILL                 = 4266\n\tSYS_UTIMES                 = 4267\n\tSYS_MBIND                  = 4268\n\tSYS_GET_MEMPOLICY          = 4269\n\tSYS_SET_MEMPOLICY          = 4270\n\tSYS_MQ_OPEN                = 4271\n\tSYS_MQ_UNLINK              = 4272\n\tSYS_MQ_TIMEDSEND           = 4273\n\tSYS_MQ_TIMEDRECEIVE        = 4274\n\tSYS_MQ_NOTIFY              = 4275\n\tSYS_MQ_GETSETATTR          = 4276\n\tSYS_VSERVER                = 4277\n\tSYS_WAITID                 = 4278\n\tSYS_ADD_KEY                = 4280\n\tSYS_REQUEST_KEY            = 4281\n\tSYS_KEYCTL                 = 4282\n\tSYS_SET_THREAD_AREA        = 4283\n\tSYS_INOTIFY_INIT           = 4284\n\tSYS_INOTIFY_ADD_WATCH      = 4285\n\tSYS_INOTIFY_RM_WATCH       = 4286\n\tSYS_MIGRATE_PAGES          = 4287\n\tSYS_OPENAT                 = 4288\n\tSYS_MKDIRAT                = 4289\n\tSYS_MKNODAT                = 4290\n\tSYS_FCHOWNAT               = 4291\n\tSYS_FUTIMESAT              = 4292\n\tSYS_FSTATAT64              = 4293\n\tSYS_UNLINKAT               = 4294\n\tSYS_RENAMEAT               = 4295\n\tSYS_LINKAT                 = 4296\n\tSYS_SYMLINKAT              = 4297\n\tSYS_READLINKAT             = 4298\n\tSYS_FCHMODAT               = 4299\n\tSYS_FACCESSAT              = 4300\n\tSYS_PSELECT6               = 4301\n\tSYS_PPOLL                  = 4302\n\tSYS_UNSHARE                = 4303\n\tSYS_SPLICE                 = 4304\n\tSYS_SYNC_FILE_RANGE        = 4305\n\tSYS_TEE                    = 4306\n\tSYS_VMSPLICE               = 4307\n\tSYS_MOVE_PAGES             = 4308\n\tSYS_SET_ROBUST_LIST        = 4309\n\tSYS_GET_ROBUST_LIST        = 4310\n\tSYS_KEXEC_LOAD             = 4311\n\tSYS_GETCPU                 = 4312\n\tSYS_EPOLL_PWAIT            = 4313\n\tSYS_IOPRIO_SET             = 4314\n\tSYS_IOPRIO_GET             = 4315\n\tSYS_UTIMENSAT              = 4316\n\tSYS_SIGNALFD               = 4317\n\tSYS_TIMERFD                = 4318\n\tSYS_EVENTFD                = 4319\n\tSYS_FALLOCATE              = 4320\n\tSYS_TIMERFD_CREATE         = 4321\n\tSYS_TIMERFD_GETTIME        = 4322\n\tSYS_TIMERFD_SETTIME        = 4323\n\tSYS_SIGNALFD4              = 4324\n\tSYS_EVENTFD2               = 4325\n\tSYS_EPOLL_CREATE1          = 4326\n\tSYS_DUP3                   = 4327\n\tSYS_PIPE2                  = 4328\n\tSYS_INOTIFY_INIT1          = 4329\n\tSYS_PREADV                 = 4330\n\tSYS_PWRITEV                = 4331\n\tSYS_RT_TGSIGQUEUEINFO      = 4332\n\tSYS_PERF_EVENT_OPEN        = 4333\n\tSYS_ACCEPT4                = 4334\n\tSYS_RECVMMSG               = 4335\n\tSYS_FANOTIFY_INIT          = 4336\n\tSYS_FANOTIFY_MARK          = 4337\n\tSYS_PRLIMIT64              = 4338\n\tSYS_NAME_TO_HANDLE_AT      = 4339\n\tSYS_OPEN_BY_HANDLE_AT      = 4340\n\tSYS_CLOCK_ADJTIME          = 4341\n\tSYS_SYNCFS                 = 4342\n\tSYS_SENDMMSG               = 4343\n\tSYS_SETNS                  = 4344\n\tSYS_PROCESS_VM_READV       = 4345\n\tSYS_PROCESS_VM_WRITEV      = 4346\n\tSYS_KCMP                   = 4347\n\tSYS_FINIT_MODULE           = 4348\n\tSYS_SCHED_SETATTR          = 4349\n\tSYS_SCHED_GETATTR          = 4350\n\tSYS_RENAMEAT2              = 4351\n\tSYS_SECCOMP                = 4352\n\tSYS_GETRANDOM              = 4353\n\tSYS_MEMFD_CREATE           = 4354\n\tSYS_BPF                    = 4355\n\tSYS_EXECVEAT               = 4356\n\tSYS_USERFAULTFD            = 4357\n\tSYS_MEMBARRIER             = 4358\n\tSYS_MLOCK2                 = 4359\n\tSYS_COPY_FILE_RANGE        = 4360\n\tSYS_PREADV2                = 4361\n\tSYS_PWRITEV2               = 4362\n\tSYS_PKEY_MPROTECT          = 4363\n\tSYS_PKEY_ALLOC             = 4364\n\tSYS_PKEY_FREE              = 4365\n\tSYS_STATX                  = 4366\n\tSYS_RSEQ                   = 4367\n\tSYS_IO_PGETEVENTS          = 4368\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go",
    "content": "// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build ppc64,linux\n\npackage unix\n\nconst (\n\tSYS_RESTART_SYSCALL        = 0\n\tSYS_EXIT                   = 1\n\tSYS_FORK                   = 2\n\tSYS_READ                   = 3\n\tSYS_WRITE                  = 4\n\tSYS_OPEN                   = 5\n\tSYS_CLOSE                  = 6\n\tSYS_WAITPID                = 7\n\tSYS_CREAT                  = 8\n\tSYS_LINK                   = 9\n\tSYS_UNLINK                 = 10\n\tSYS_EXECVE                 = 11\n\tSYS_CHDIR                  = 12\n\tSYS_TIME                   = 13\n\tSYS_MKNOD                  = 14\n\tSYS_CHMOD                  = 15\n\tSYS_LCHOWN                 = 16\n\tSYS_BREAK                  = 17\n\tSYS_OLDSTAT                = 18\n\tSYS_LSEEK                  = 19\n\tSYS_GETPID                 = 20\n\tSYS_MOUNT                  = 21\n\tSYS_UMOUNT                 = 22\n\tSYS_SETUID                 = 23\n\tSYS_GETUID                 = 24\n\tSYS_STIME                  = 25\n\tSYS_PTRACE                 = 26\n\tSYS_ALARM                  = 27\n\tSYS_OLDFSTAT               = 28\n\tSYS_PAUSE                  = 29\n\tSYS_UTIME                  = 30\n\tSYS_STTY                   = 31\n\tSYS_GTTY                   = 32\n\tSYS_ACCESS                 = 33\n\tSYS_NICE                   = 34\n\tSYS_FTIME                  = 35\n\tSYS_SYNC                   = 36\n\tSYS_KILL                   = 37\n\tSYS_RENAME                 = 38\n\tSYS_MKDIR                  = 39\n\tSYS_RMDIR                  = 40\n\tSYS_DUP                    = 41\n\tSYS_PIPE                   = 42\n\tSYS_TIMES                  = 43\n\tSYS_PROF                   = 44\n\tSYS_BRK                    = 45\n\tSYS_SETGID                 = 46\n\tSYS_GETGID                 = 47\n\tSYS_SIGNAL                 = 48\n\tSYS_GETEUID                = 49\n\tSYS_GETEGID                = 50\n\tSYS_ACCT                   = 51\n\tSYS_UMOUNT2                = 52\n\tSYS_LOCK                   = 53\n\tSYS_IOCTL                  = 54\n\tSYS_FCNTL                  = 55\n\tSYS_MPX                    = 56\n\tSYS_SETPGID                = 57\n\tSYS_ULIMIT                 = 58\n\tSYS_OLDOLDUNAME            = 59\n\tSYS_UMASK                  = 60\n\tSYS_CHROOT                 = 61\n\tSYS_USTAT                  = 62\n\tSYS_DUP2                   = 63\n\tSYS_GETPPID                = 64\n\tSYS_GETPGRP                = 65\n\tSYS_SETSID                 = 66\n\tSYS_SIGACTION              = 67\n\tSYS_SGETMASK               = 68\n\tSYS_SSETMASK               = 69\n\tSYS_SETREUID               = 70\n\tSYS_SETREGID               = 71\n\tSYS_SIGSUSPEND             = 72\n\tSYS_SIGPENDING             = 73\n\tSYS_SETHOSTNAME            = 74\n\tSYS_SETRLIMIT              = 75\n\tSYS_GETRLIMIT              = 76\n\tSYS_GETRUSAGE              = 77\n\tSYS_GETTIMEOFDAY           = 78\n\tSYS_SETTIMEOFDAY           = 79\n\tSYS_GETGROUPS              = 80\n\tSYS_SETGROUPS              = 81\n\tSYS_SELECT                 = 82\n\tSYS_SYMLINK                = 83\n\tSYS_OLDLSTAT               = 84\n\tSYS_READLINK               = 85\n\tSYS_USELIB                 = 86\n\tSYS_SWAPON                 = 87\n\tSYS_REBOOT                 = 88\n\tSYS_READDIR                = 89\n\tSYS_MMAP                   = 90\n\tSYS_MUNMAP                 = 91\n\tSYS_TRUNCATE               = 92\n\tSYS_FTRUNCATE              = 93\n\tSYS_FCHMOD                 = 94\n\tSYS_FCHOWN                 = 95\n\tSYS_GETPRIORITY            = 96\n\tSYS_SETPRIORITY            = 97\n\tSYS_PROFIL                 = 98\n\tSYS_STATFS                 = 99\n\tSYS_FSTATFS                = 100\n\tSYS_IOPERM                 = 101\n\tSYS_SOCKETCALL             = 102\n\tSYS_SYSLOG                 = 103\n\tSYS_SETITIMER              = 104\n\tSYS_GETITIMER              = 105\n\tSYS_STAT                   = 106\n\tSYS_LSTAT                  = 107\n\tSYS_FSTAT                  = 108\n\tSYS_OLDUNAME               = 109\n\tSYS_IOPL                   = 110\n\tSYS_VHANGUP                = 111\n\tSYS_IDLE                   = 112\n\tSYS_VM86                   = 113\n\tSYS_WAIT4                  = 114\n\tSYS_SWAPOFF                = 115\n\tSYS_SYSINFO                = 116\n\tSYS_IPC                    = 117\n\tSYS_FSYNC                  = 118\n\tSYS_SIGRETURN              = 119\n\tSYS_CLONE                  = 120\n\tSYS_SETDOMAINNAME          = 121\n\tSYS_UNAME                  = 122\n\tSYS_MODIFY_LDT             = 123\n\tSYS_ADJTIMEX               = 124\n\tSYS_MPROTECT               = 125\n\tSYS_SIGPROCMASK            = 126\n\tSYS_CREATE_MODULE          = 127\n\tSYS_INIT_MODULE            = 128\n\tSYS_DELETE_MODULE          = 129\n\tSYS_GET_KERNEL_SYMS        = 130\n\tSYS_QUOTACTL               = 131\n\tSYS_GETPGID                = 132\n\tSYS_FCHDIR                 = 133\n\tSYS_BDFLUSH                = 134\n\tSYS_SYSFS                  = 135\n\tSYS_PERSONALITY            = 136\n\tSYS_AFS_SYSCALL            = 137\n\tSYS_SETFSUID               = 138\n\tSYS_SETFSGID               = 139\n\tSYS__LLSEEK                = 140\n\tSYS_GETDENTS               = 141\n\tSYS__NEWSELECT             = 142\n\tSYS_FLOCK                  = 143\n\tSYS_MSYNC                  = 144\n\tSYS_READV                  = 145\n\tSYS_WRITEV                 = 146\n\tSYS_GETSID                 = 147\n\tSYS_FDATASYNC              = 148\n\tSYS__SYSCTL                = 149\n\tSYS_MLOCK                  = 150\n\tSYS_MUNLOCK                = 151\n\tSYS_MLOCKALL               = 152\n\tSYS_MUNLOCKALL             = 153\n\tSYS_SCHED_SETPARAM         = 154\n\tSYS_SCHED_GETPARAM         = 155\n\tSYS_SCHED_SETSCHEDULER     = 156\n\tSYS_SCHED_GETSCHEDULER     = 157\n\tSYS_SCHED_YIELD            = 158\n\tSYS_SCHED_GET_PRIORITY_MAX = 159\n\tSYS_SCHED_GET_PRIORITY_MIN = 160\n\tSYS_SCHED_RR_GET_INTERVAL  = 161\n\tSYS_NANOSLEEP              = 162\n\tSYS_MREMAP                 = 163\n\tSYS_SETRESUID              = 164\n\tSYS_GETRESUID              = 165\n\tSYS_QUERY_MODULE           = 166\n\tSYS_POLL                   = 167\n\tSYS_NFSSERVCTL             = 168\n\tSYS_SETRESGID              = 169\n\tSYS_GETRESGID              = 170\n\tSYS_PRCTL                  = 171\n\tSYS_RT_SIGRETURN           = 172\n\tSYS_RT_SIGACTION           = 173\n\tSYS_RT_SIGPROCMASK         = 174\n\tSYS_RT_SIGPENDING          = 175\n\tSYS_RT_SIGTIMEDWAIT        = 176\n\tSYS_RT_SIGQUEUEINFO        = 177\n\tSYS_RT_SIGSUSPEND          = 178\n\tSYS_PREAD64                = 179\n\tSYS_PWRITE64               = 180\n\tSYS_CHOWN                  = 181\n\tSYS_GETCWD                 = 182\n\tSYS_CAPGET                 = 183\n\tSYS_CAPSET                 = 184\n\tSYS_SIGALTSTACK            = 185\n\tSYS_SENDFILE               = 186\n\tSYS_GETPMSG                = 187\n\tSYS_PUTPMSG                = 188\n\tSYS_VFORK                  = 189\n\tSYS_UGETRLIMIT             = 190\n\tSYS_READAHEAD              = 191\n\tSYS_PCICONFIG_READ         = 198\n\tSYS_PCICONFIG_WRITE        = 199\n\tSYS_PCICONFIG_IOBASE       = 200\n\tSYS_MULTIPLEXER            = 201\n\tSYS_GETDENTS64             = 202\n\tSYS_PIVOT_ROOT             = 203\n\tSYS_MADVISE                = 205\n\tSYS_MINCORE                = 206\n\tSYS_GETTID                 = 207\n\tSYS_TKILL                  = 208\n\tSYS_SETXATTR               = 209\n\tSYS_LSETXATTR              = 210\n\tSYS_FSETXATTR              = 211\n\tSYS_GETXATTR               = 212\n\tSYS_LGETXATTR              = 213\n\tSYS_FGETXATTR              = 214\n\tSYS_LISTXATTR              = 215\n\tSYS_LLISTXATTR             = 216\n\tSYS_FLISTXATTR             = 217\n\tSYS_REMOVEXATTR            = 218\n\tSYS_LREMOVEXATTR           = 219\n\tSYS_FREMOVEXATTR           = 220\n\tSYS_FUTEX                  = 221\n\tSYS_SCHED_SETAFFINITY      = 222\n\tSYS_SCHED_GETAFFINITY      = 223\n\tSYS_TUXCALL                = 225\n\tSYS_IO_SETUP               = 227\n\tSYS_IO_DESTROY             = 228\n\tSYS_IO_GETEVENTS           = 229\n\tSYS_IO_SUBMIT              = 230\n\tSYS_IO_CANCEL              = 231\n\tSYS_SET_TID_ADDRESS        = 232\n\tSYS_FADVISE64              = 233\n\tSYS_EXIT_GROUP             = 234\n\tSYS_LOOKUP_DCOOKIE         = 235\n\tSYS_EPOLL_CREATE           = 236\n\tSYS_EPOLL_CTL              = 237\n\tSYS_EPOLL_WAIT             = 238\n\tSYS_REMAP_FILE_PAGES       = 239\n\tSYS_TIMER_CREATE           = 240\n\tSYS_TIMER_SETTIME          = 241\n\tSYS_TIMER_GETTIME          = 242\n\tSYS_TIMER_GETOVERRUN       = 243\n\tSYS_TIMER_DELETE           = 244\n\tSYS_CLOCK_SETTIME          = 245\n\tSYS_CLOCK_GETTIME          = 246\n\tSYS_CLOCK_GETRES           = 247\n\tSYS_CLOCK_NANOSLEEP        = 248\n\tSYS_SWAPCONTEXT            = 249\n\tSYS_TGKILL                 = 250\n\tSYS_UTIMES                 = 251\n\tSYS_STATFS64               = 252\n\tSYS_FSTATFS64              = 253\n\tSYS_RTAS                   = 255\n\tSYS_SYS_DEBUG_SETCONTEXT   = 256\n\tSYS_MIGRATE_PAGES          = 258\n\tSYS_MBIND                  = 259\n\tSYS_GET_MEMPOLICY          = 260\n\tSYS_SET_MEMPOLICY          = 261\n\tSYS_MQ_OPEN                = 262\n\tSYS_MQ_UNLINK              = 263\n\tSYS_MQ_TIMEDSEND           = 264\n\tSYS_MQ_TIMEDRECEIVE        = 265\n\tSYS_MQ_NOTIFY              = 266\n\tSYS_MQ_GETSETATTR          = 267\n\tSYS_KEXEC_LOAD             = 268\n\tSYS_ADD_KEY                = 269\n\tSYS_REQUEST_KEY            = 270\n\tSYS_KEYCTL                 = 271\n\tSYS_WAITID                 = 272\n\tSYS_IOPRIO_SET             = 273\n\tSYS_IOPRIO_GET             = 274\n\tSYS_INOTIFY_INIT           = 275\n\tSYS_INOTIFY_ADD_WATCH      = 276\n\tSYS_INOTIFY_RM_WATCH       = 277\n\tSYS_SPU_RUN                = 278\n\tSYS_SPU_CREATE             = 279\n\tSYS_PSELECT6               = 280\n\tSYS_PPOLL                  = 281\n\tSYS_UNSHARE                = 282\n\tSYS_SPLICE                 = 283\n\tSYS_TEE                    = 284\n\tSYS_VMSPLICE               = 285\n\tSYS_OPENAT                 = 286\n\tSYS_MKDIRAT                = 287\n\tSYS_MKNODAT                = 288\n\tSYS_FCHOWNAT               = 289\n\tSYS_FUTIMESAT              = 290\n\tSYS_NEWFSTATAT             = 291\n\tSYS_UNLINKAT               = 292\n\tSYS_RENAMEAT               = 293\n\tSYS_LINKAT                 = 294\n\tSYS_SYMLINKAT              = 295\n\tSYS_READLINKAT             = 296\n\tSYS_FCHMODAT               = 297\n\tSYS_FACCESSAT              = 298\n\tSYS_GET_ROBUST_LIST        = 299\n\tSYS_SET_ROBUST_LIST        = 300\n\tSYS_MOVE_PAGES             = 301\n\tSYS_GETCPU                 = 302\n\tSYS_EPOLL_PWAIT            = 303\n\tSYS_UTIMENSAT              = 304\n\tSYS_SIGNALFD               = 305\n\tSYS_TIMERFD_CREATE         = 306\n\tSYS_EVENTFD                = 307\n\tSYS_SYNC_FILE_RANGE2       = 308\n\tSYS_FALLOCATE              = 309\n\tSYS_SUBPAGE_PROT           = 310\n\tSYS_TIMERFD_SETTIME        = 311\n\tSYS_TIMERFD_GETTIME        = 312\n\tSYS_SIGNALFD4              = 313\n\tSYS_EVENTFD2               = 314\n\tSYS_EPOLL_CREATE1          = 315\n\tSYS_DUP3                   = 316\n\tSYS_PIPE2                  = 317\n\tSYS_INOTIFY_INIT1          = 318\n\tSYS_PERF_EVENT_OPEN        = 319\n\tSYS_PREADV                 = 320\n\tSYS_PWRITEV                = 321\n\tSYS_RT_TGSIGQUEUEINFO      = 322\n\tSYS_FANOTIFY_INIT          = 323\n\tSYS_FANOTIFY_MARK          = 324\n\tSYS_PRLIMIT64              = 325\n\tSYS_SOCKET                 = 326\n\tSYS_BIND                   = 327\n\tSYS_CONNECT                = 328\n\tSYS_LISTEN                 = 329\n\tSYS_ACCEPT                 = 330\n\tSYS_GETSOCKNAME            = 331\n\tSYS_GETPEERNAME            = 332\n\tSYS_SOCKETPAIR             = 333\n\tSYS_SEND                   = 334\n\tSYS_SENDTO                 = 335\n\tSYS_RECV                   = 336\n\tSYS_RECVFROM               = 337\n\tSYS_SHUTDOWN               = 338\n\tSYS_SETSOCKOPT             = 339\n\tSYS_GETSOCKOPT             = 340\n\tSYS_SENDMSG                = 341\n\tSYS_RECVMSG                = 342\n\tSYS_RECVMMSG               = 343\n\tSYS_ACCEPT4                = 344\n\tSYS_NAME_TO_HANDLE_AT      = 345\n\tSYS_OPEN_BY_HANDLE_AT      = 346\n\tSYS_CLOCK_ADJTIME          = 347\n\tSYS_SYNCFS                 = 348\n\tSYS_SENDMMSG               = 349\n\tSYS_SETNS                  = 350\n\tSYS_PROCESS_VM_READV       = 351\n\tSYS_PROCESS_VM_WRITEV      = 352\n\tSYS_FINIT_MODULE           = 353\n\tSYS_KCMP                   = 354\n\tSYS_SCHED_SETATTR          = 355\n\tSYS_SCHED_GETATTR          = 356\n\tSYS_RENAMEAT2              = 357\n\tSYS_SECCOMP                = 358\n\tSYS_GETRANDOM              = 359\n\tSYS_MEMFD_CREATE           = 360\n\tSYS_BPF                    = 361\n\tSYS_EXECVEAT               = 362\n\tSYS_SWITCH_ENDIAN          = 363\n\tSYS_USERFAULTFD            = 364\n\tSYS_MEMBARRIER             = 365\n\tSYS_MLOCK2                 = 378\n\tSYS_COPY_FILE_RANGE        = 379\n\tSYS_PREADV2                = 380\n\tSYS_PWRITEV2               = 381\n\tSYS_KEXEC_FILE_LOAD        = 382\n\tSYS_STATX                  = 383\n\tSYS_PKEY_ALLOC             = 384\n\tSYS_PKEY_FREE              = 385\n\tSYS_PKEY_MPROTECT          = 386\n\tSYS_RSEQ                   = 387\n\tSYS_IO_PGETEVENTS          = 388\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go",
    "content": "// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build ppc64le,linux\n\npackage unix\n\nconst (\n\tSYS_RESTART_SYSCALL        = 0\n\tSYS_EXIT                   = 1\n\tSYS_FORK                   = 2\n\tSYS_READ                   = 3\n\tSYS_WRITE                  = 4\n\tSYS_OPEN                   = 5\n\tSYS_CLOSE                  = 6\n\tSYS_WAITPID                = 7\n\tSYS_CREAT                  = 8\n\tSYS_LINK                   = 9\n\tSYS_UNLINK                 = 10\n\tSYS_EXECVE                 = 11\n\tSYS_CHDIR                  = 12\n\tSYS_TIME                   = 13\n\tSYS_MKNOD                  = 14\n\tSYS_CHMOD                  = 15\n\tSYS_LCHOWN                 = 16\n\tSYS_BREAK                  = 17\n\tSYS_OLDSTAT                = 18\n\tSYS_LSEEK                  = 19\n\tSYS_GETPID                 = 20\n\tSYS_MOUNT                  = 21\n\tSYS_UMOUNT                 = 22\n\tSYS_SETUID                 = 23\n\tSYS_GETUID                 = 24\n\tSYS_STIME                  = 25\n\tSYS_PTRACE                 = 26\n\tSYS_ALARM                  = 27\n\tSYS_OLDFSTAT               = 28\n\tSYS_PAUSE                  = 29\n\tSYS_UTIME                  = 30\n\tSYS_STTY                   = 31\n\tSYS_GTTY                   = 32\n\tSYS_ACCESS                 = 33\n\tSYS_NICE                   = 34\n\tSYS_FTIME                  = 35\n\tSYS_SYNC                   = 36\n\tSYS_KILL                   = 37\n\tSYS_RENAME                 = 38\n\tSYS_MKDIR                  = 39\n\tSYS_RMDIR                  = 40\n\tSYS_DUP                    = 41\n\tSYS_PIPE                   = 42\n\tSYS_TIMES                  = 43\n\tSYS_PROF                   = 44\n\tSYS_BRK                    = 45\n\tSYS_SETGID                 = 46\n\tSYS_GETGID                 = 47\n\tSYS_SIGNAL                 = 48\n\tSYS_GETEUID                = 49\n\tSYS_GETEGID                = 50\n\tSYS_ACCT                   = 51\n\tSYS_UMOUNT2                = 52\n\tSYS_LOCK                   = 53\n\tSYS_IOCTL                  = 54\n\tSYS_FCNTL                  = 55\n\tSYS_MPX                    = 56\n\tSYS_SETPGID                = 57\n\tSYS_ULIMIT                 = 58\n\tSYS_OLDOLDUNAME            = 59\n\tSYS_UMASK                  = 60\n\tSYS_CHROOT                 = 61\n\tSYS_USTAT                  = 62\n\tSYS_DUP2                   = 63\n\tSYS_GETPPID                = 64\n\tSYS_GETPGRP                = 65\n\tSYS_SETSID                 = 66\n\tSYS_SIGACTION              = 67\n\tSYS_SGETMASK               = 68\n\tSYS_SSETMASK               = 69\n\tSYS_SETREUID               = 70\n\tSYS_SETREGID               = 71\n\tSYS_SIGSUSPEND             = 72\n\tSYS_SIGPENDING             = 73\n\tSYS_SETHOSTNAME            = 74\n\tSYS_SETRLIMIT              = 75\n\tSYS_GETRLIMIT              = 76\n\tSYS_GETRUSAGE              = 77\n\tSYS_GETTIMEOFDAY           = 78\n\tSYS_SETTIMEOFDAY           = 79\n\tSYS_GETGROUPS              = 80\n\tSYS_SETGROUPS              = 81\n\tSYS_SELECT                 = 82\n\tSYS_SYMLINK                = 83\n\tSYS_OLDLSTAT               = 84\n\tSYS_READLINK               = 85\n\tSYS_USELIB                 = 86\n\tSYS_SWAPON                 = 87\n\tSYS_REBOOT                 = 88\n\tSYS_READDIR                = 89\n\tSYS_MMAP                   = 90\n\tSYS_MUNMAP                 = 91\n\tSYS_TRUNCATE               = 92\n\tSYS_FTRUNCATE              = 93\n\tSYS_FCHMOD                 = 94\n\tSYS_FCHOWN                 = 95\n\tSYS_GETPRIORITY            = 96\n\tSYS_SETPRIORITY            = 97\n\tSYS_PROFIL                 = 98\n\tSYS_STATFS                 = 99\n\tSYS_FSTATFS                = 100\n\tSYS_IOPERM                 = 101\n\tSYS_SOCKETCALL             = 102\n\tSYS_SYSLOG                 = 103\n\tSYS_SETITIMER              = 104\n\tSYS_GETITIMER              = 105\n\tSYS_STAT                   = 106\n\tSYS_LSTAT                  = 107\n\tSYS_FSTAT                  = 108\n\tSYS_OLDUNAME               = 109\n\tSYS_IOPL                   = 110\n\tSYS_VHANGUP                = 111\n\tSYS_IDLE                   = 112\n\tSYS_VM86                   = 113\n\tSYS_WAIT4                  = 114\n\tSYS_SWAPOFF                = 115\n\tSYS_SYSINFO                = 116\n\tSYS_IPC                    = 117\n\tSYS_FSYNC                  = 118\n\tSYS_SIGRETURN              = 119\n\tSYS_CLONE                  = 120\n\tSYS_SETDOMAINNAME          = 121\n\tSYS_UNAME                  = 122\n\tSYS_MODIFY_LDT             = 123\n\tSYS_ADJTIMEX               = 124\n\tSYS_MPROTECT               = 125\n\tSYS_SIGPROCMASK            = 126\n\tSYS_CREATE_MODULE          = 127\n\tSYS_INIT_MODULE            = 128\n\tSYS_DELETE_MODULE          = 129\n\tSYS_GET_KERNEL_SYMS        = 130\n\tSYS_QUOTACTL               = 131\n\tSYS_GETPGID                = 132\n\tSYS_FCHDIR                 = 133\n\tSYS_BDFLUSH                = 134\n\tSYS_SYSFS                  = 135\n\tSYS_PERSONALITY            = 136\n\tSYS_AFS_SYSCALL            = 137\n\tSYS_SETFSUID               = 138\n\tSYS_SETFSGID               = 139\n\tSYS__LLSEEK                = 140\n\tSYS_GETDENTS               = 141\n\tSYS__NEWSELECT             = 142\n\tSYS_FLOCK                  = 143\n\tSYS_MSYNC                  = 144\n\tSYS_READV                  = 145\n\tSYS_WRITEV                 = 146\n\tSYS_GETSID                 = 147\n\tSYS_FDATASYNC              = 148\n\tSYS__SYSCTL                = 149\n\tSYS_MLOCK                  = 150\n\tSYS_MUNLOCK                = 151\n\tSYS_MLOCKALL               = 152\n\tSYS_MUNLOCKALL             = 153\n\tSYS_SCHED_SETPARAM         = 154\n\tSYS_SCHED_GETPARAM         = 155\n\tSYS_SCHED_SETSCHEDULER     = 156\n\tSYS_SCHED_GETSCHEDULER     = 157\n\tSYS_SCHED_YIELD            = 158\n\tSYS_SCHED_GET_PRIORITY_MAX = 159\n\tSYS_SCHED_GET_PRIORITY_MIN = 160\n\tSYS_SCHED_RR_GET_INTERVAL  = 161\n\tSYS_NANOSLEEP              = 162\n\tSYS_MREMAP                 = 163\n\tSYS_SETRESUID              = 164\n\tSYS_GETRESUID              = 165\n\tSYS_QUERY_MODULE           = 166\n\tSYS_POLL                   = 167\n\tSYS_NFSSERVCTL             = 168\n\tSYS_SETRESGID              = 169\n\tSYS_GETRESGID              = 170\n\tSYS_PRCTL                  = 171\n\tSYS_RT_SIGRETURN           = 172\n\tSYS_RT_SIGACTION           = 173\n\tSYS_RT_SIGPROCMASK         = 174\n\tSYS_RT_SIGPENDING          = 175\n\tSYS_RT_SIGTIMEDWAIT        = 176\n\tSYS_RT_SIGQUEUEINFO        = 177\n\tSYS_RT_SIGSUSPEND          = 178\n\tSYS_PREAD64                = 179\n\tSYS_PWRITE64               = 180\n\tSYS_CHOWN                  = 181\n\tSYS_GETCWD                 = 182\n\tSYS_CAPGET                 = 183\n\tSYS_CAPSET                 = 184\n\tSYS_SIGALTSTACK            = 185\n\tSYS_SENDFILE               = 186\n\tSYS_GETPMSG                = 187\n\tSYS_PUTPMSG                = 188\n\tSYS_VFORK                  = 189\n\tSYS_UGETRLIMIT             = 190\n\tSYS_READAHEAD              = 191\n\tSYS_PCICONFIG_READ         = 198\n\tSYS_PCICONFIG_WRITE        = 199\n\tSYS_PCICONFIG_IOBASE       = 200\n\tSYS_MULTIPLEXER            = 201\n\tSYS_GETDENTS64             = 202\n\tSYS_PIVOT_ROOT             = 203\n\tSYS_MADVISE                = 205\n\tSYS_MINCORE                = 206\n\tSYS_GETTID                 = 207\n\tSYS_TKILL                  = 208\n\tSYS_SETXATTR               = 209\n\tSYS_LSETXATTR              = 210\n\tSYS_FSETXATTR              = 211\n\tSYS_GETXATTR               = 212\n\tSYS_LGETXATTR              = 213\n\tSYS_FGETXATTR              = 214\n\tSYS_LISTXATTR              = 215\n\tSYS_LLISTXATTR             = 216\n\tSYS_FLISTXATTR             = 217\n\tSYS_REMOVEXATTR            = 218\n\tSYS_LREMOVEXATTR           = 219\n\tSYS_FREMOVEXATTR           = 220\n\tSYS_FUTEX                  = 221\n\tSYS_SCHED_SETAFFINITY      = 222\n\tSYS_SCHED_GETAFFINITY      = 223\n\tSYS_TUXCALL                = 225\n\tSYS_IO_SETUP               = 227\n\tSYS_IO_DESTROY             = 228\n\tSYS_IO_GETEVENTS           = 229\n\tSYS_IO_SUBMIT              = 230\n\tSYS_IO_CANCEL              = 231\n\tSYS_SET_TID_ADDRESS        = 232\n\tSYS_FADVISE64              = 233\n\tSYS_EXIT_GROUP             = 234\n\tSYS_LOOKUP_DCOOKIE         = 235\n\tSYS_EPOLL_CREATE           = 236\n\tSYS_EPOLL_CTL              = 237\n\tSYS_EPOLL_WAIT             = 238\n\tSYS_REMAP_FILE_PAGES       = 239\n\tSYS_TIMER_CREATE           = 240\n\tSYS_TIMER_SETTIME          = 241\n\tSYS_TIMER_GETTIME          = 242\n\tSYS_TIMER_GETOVERRUN       = 243\n\tSYS_TIMER_DELETE           = 244\n\tSYS_CLOCK_SETTIME          = 245\n\tSYS_CLOCK_GETTIME          = 246\n\tSYS_CLOCK_GETRES           = 247\n\tSYS_CLOCK_NANOSLEEP        = 248\n\tSYS_SWAPCONTEXT            = 249\n\tSYS_TGKILL                 = 250\n\tSYS_UTIMES                 = 251\n\tSYS_STATFS64               = 252\n\tSYS_FSTATFS64              = 253\n\tSYS_RTAS                   = 255\n\tSYS_SYS_DEBUG_SETCONTEXT   = 256\n\tSYS_MIGRATE_PAGES          = 258\n\tSYS_MBIND                  = 259\n\tSYS_GET_MEMPOLICY          = 260\n\tSYS_SET_MEMPOLICY          = 261\n\tSYS_MQ_OPEN                = 262\n\tSYS_MQ_UNLINK              = 263\n\tSYS_MQ_TIMEDSEND           = 264\n\tSYS_MQ_TIMEDRECEIVE        = 265\n\tSYS_MQ_NOTIFY              = 266\n\tSYS_MQ_GETSETATTR          = 267\n\tSYS_KEXEC_LOAD             = 268\n\tSYS_ADD_KEY                = 269\n\tSYS_REQUEST_KEY            = 270\n\tSYS_KEYCTL                 = 271\n\tSYS_WAITID                 = 272\n\tSYS_IOPRIO_SET             = 273\n\tSYS_IOPRIO_GET             = 274\n\tSYS_INOTIFY_INIT           = 275\n\tSYS_INOTIFY_ADD_WATCH      = 276\n\tSYS_INOTIFY_RM_WATCH       = 277\n\tSYS_SPU_RUN                = 278\n\tSYS_SPU_CREATE             = 279\n\tSYS_PSELECT6               = 280\n\tSYS_PPOLL                  = 281\n\tSYS_UNSHARE                = 282\n\tSYS_SPLICE                 = 283\n\tSYS_TEE                    = 284\n\tSYS_VMSPLICE               = 285\n\tSYS_OPENAT                 = 286\n\tSYS_MKDIRAT                = 287\n\tSYS_MKNODAT                = 288\n\tSYS_FCHOWNAT               = 289\n\tSYS_FUTIMESAT              = 290\n\tSYS_NEWFSTATAT             = 291\n\tSYS_UNLINKAT               = 292\n\tSYS_RENAMEAT               = 293\n\tSYS_LINKAT                 = 294\n\tSYS_SYMLINKAT              = 295\n\tSYS_READLINKAT             = 296\n\tSYS_FCHMODAT               = 297\n\tSYS_FACCESSAT              = 298\n\tSYS_GET_ROBUST_LIST        = 299\n\tSYS_SET_ROBUST_LIST        = 300\n\tSYS_MOVE_PAGES             = 301\n\tSYS_GETCPU                 = 302\n\tSYS_EPOLL_PWAIT            = 303\n\tSYS_UTIMENSAT              = 304\n\tSYS_SIGNALFD               = 305\n\tSYS_TIMERFD_CREATE         = 306\n\tSYS_EVENTFD                = 307\n\tSYS_SYNC_FILE_RANGE2       = 308\n\tSYS_FALLOCATE              = 309\n\tSYS_SUBPAGE_PROT           = 310\n\tSYS_TIMERFD_SETTIME        = 311\n\tSYS_TIMERFD_GETTIME        = 312\n\tSYS_SIGNALFD4              = 313\n\tSYS_EVENTFD2               = 314\n\tSYS_EPOLL_CREATE1          = 315\n\tSYS_DUP3                   = 316\n\tSYS_PIPE2                  = 317\n\tSYS_INOTIFY_INIT1          = 318\n\tSYS_PERF_EVENT_OPEN        = 319\n\tSYS_PREADV                 = 320\n\tSYS_PWRITEV                = 321\n\tSYS_RT_TGSIGQUEUEINFO      = 322\n\tSYS_FANOTIFY_INIT          = 323\n\tSYS_FANOTIFY_MARK          = 324\n\tSYS_PRLIMIT64              = 325\n\tSYS_SOCKET                 = 326\n\tSYS_BIND                   = 327\n\tSYS_CONNECT                = 328\n\tSYS_LISTEN                 = 329\n\tSYS_ACCEPT                 = 330\n\tSYS_GETSOCKNAME            = 331\n\tSYS_GETPEERNAME            = 332\n\tSYS_SOCKETPAIR             = 333\n\tSYS_SEND                   = 334\n\tSYS_SENDTO                 = 335\n\tSYS_RECV                   = 336\n\tSYS_RECVFROM               = 337\n\tSYS_SHUTDOWN               = 338\n\tSYS_SETSOCKOPT             = 339\n\tSYS_GETSOCKOPT             = 340\n\tSYS_SENDMSG                = 341\n\tSYS_RECVMSG                = 342\n\tSYS_RECVMMSG               = 343\n\tSYS_ACCEPT4                = 344\n\tSYS_NAME_TO_HANDLE_AT      = 345\n\tSYS_OPEN_BY_HANDLE_AT      = 346\n\tSYS_CLOCK_ADJTIME          = 347\n\tSYS_SYNCFS                 = 348\n\tSYS_SENDMMSG               = 349\n\tSYS_SETNS                  = 350\n\tSYS_PROCESS_VM_READV       = 351\n\tSYS_PROCESS_VM_WRITEV      = 352\n\tSYS_FINIT_MODULE           = 353\n\tSYS_KCMP                   = 354\n\tSYS_SCHED_SETATTR          = 355\n\tSYS_SCHED_GETATTR          = 356\n\tSYS_RENAMEAT2              = 357\n\tSYS_SECCOMP                = 358\n\tSYS_GETRANDOM              = 359\n\tSYS_MEMFD_CREATE           = 360\n\tSYS_BPF                    = 361\n\tSYS_EXECVEAT               = 362\n\tSYS_SWITCH_ENDIAN          = 363\n\tSYS_USERFAULTFD            = 364\n\tSYS_MEMBARRIER             = 365\n\tSYS_MLOCK2                 = 378\n\tSYS_COPY_FILE_RANGE        = 379\n\tSYS_PREADV2                = 380\n\tSYS_PWRITEV2               = 381\n\tSYS_KEXEC_FILE_LOAD        = 382\n\tSYS_STATX                  = 383\n\tSYS_PKEY_ALLOC             = 384\n\tSYS_PKEY_FREE              = 385\n\tSYS_PKEY_MPROTECT          = 386\n\tSYS_RSEQ                   = 387\n\tSYS_IO_PGETEVENTS          = 388\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go",
    "content": "// linux/mksysnum.pl -Wall -Werror -static -I/tmp/include -fsigned-char /tmp/include/asm/unistd.h\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build s390x,linux\n\npackage unix\n\nconst (\n\tSYS_EXIT                   = 1\n\tSYS_FORK                   = 2\n\tSYS_READ                   = 3\n\tSYS_WRITE                  = 4\n\tSYS_OPEN                   = 5\n\tSYS_CLOSE                  = 6\n\tSYS_RESTART_SYSCALL        = 7\n\tSYS_CREAT                  = 8\n\tSYS_LINK                   = 9\n\tSYS_UNLINK                 = 10\n\tSYS_EXECVE                 = 11\n\tSYS_CHDIR                  = 12\n\tSYS_MKNOD                  = 14\n\tSYS_CHMOD                  = 15\n\tSYS_LSEEK                  = 19\n\tSYS_GETPID                 = 20\n\tSYS_MOUNT                  = 21\n\tSYS_UMOUNT                 = 22\n\tSYS_PTRACE                 = 26\n\tSYS_ALARM                  = 27\n\tSYS_PAUSE                  = 29\n\tSYS_UTIME                  = 30\n\tSYS_ACCESS                 = 33\n\tSYS_NICE                   = 34\n\tSYS_SYNC                   = 36\n\tSYS_KILL                   = 37\n\tSYS_RENAME                 = 38\n\tSYS_MKDIR                  = 39\n\tSYS_RMDIR                  = 40\n\tSYS_DUP                    = 41\n\tSYS_PIPE                   = 42\n\tSYS_TIMES                  = 43\n\tSYS_BRK                    = 45\n\tSYS_SIGNAL                 = 48\n\tSYS_ACCT                   = 51\n\tSYS_UMOUNT2                = 52\n\tSYS_IOCTL                  = 54\n\tSYS_FCNTL                  = 55\n\tSYS_SETPGID                = 57\n\tSYS_UMASK                  = 60\n\tSYS_CHROOT                 = 61\n\tSYS_USTAT                  = 62\n\tSYS_DUP2                   = 63\n\tSYS_GETPPID                = 64\n\tSYS_GETPGRP                = 65\n\tSYS_SETSID                 = 66\n\tSYS_SIGACTION              = 67\n\tSYS_SIGSUSPEND             = 72\n\tSYS_SIGPENDING             = 73\n\tSYS_SETHOSTNAME            = 74\n\tSYS_SETRLIMIT              = 75\n\tSYS_GETRUSAGE              = 77\n\tSYS_GETTIMEOFDAY           = 78\n\tSYS_SETTIMEOFDAY           = 79\n\tSYS_SYMLINK                = 83\n\tSYS_READLINK               = 85\n\tSYS_USELIB                 = 86\n\tSYS_SWAPON                 = 87\n\tSYS_REBOOT                 = 88\n\tSYS_READDIR                = 89\n\tSYS_MMAP                   = 90\n\tSYS_MUNMAP                 = 91\n\tSYS_TRUNCATE               = 92\n\tSYS_FTRUNCATE              = 93\n\tSYS_FCHMOD                 = 94\n\tSYS_GETPRIORITY            = 96\n\tSYS_SETPRIORITY            = 97\n\tSYS_STATFS                 = 99\n\tSYS_FSTATFS                = 100\n\tSYS_SOCKETCALL             = 102\n\tSYS_SYSLOG                 = 103\n\tSYS_SETITIMER              = 104\n\tSYS_GETITIMER              = 105\n\tSYS_STAT                   = 106\n\tSYS_LSTAT                  = 107\n\tSYS_FSTAT                  = 108\n\tSYS_LOOKUP_DCOOKIE         = 110\n\tSYS_VHANGUP                = 111\n\tSYS_IDLE                   = 112\n\tSYS_WAIT4                  = 114\n\tSYS_SWAPOFF                = 115\n\tSYS_SYSINFO                = 116\n\tSYS_IPC                    = 117\n\tSYS_FSYNC                  = 118\n\tSYS_SIGRETURN              = 119\n\tSYS_CLONE                  = 120\n\tSYS_SETDOMAINNAME          = 121\n\tSYS_UNAME                  = 122\n\tSYS_ADJTIMEX               = 124\n\tSYS_MPROTECT               = 125\n\tSYS_SIGPROCMASK            = 126\n\tSYS_CREATE_MODULE          = 127\n\tSYS_INIT_MODULE            = 128\n\tSYS_DELETE_MODULE          = 129\n\tSYS_GET_KERNEL_SYMS        = 130\n\tSYS_QUOTACTL               = 131\n\tSYS_GETPGID                = 132\n\tSYS_FCHDIR                 = 133\n\tSYS_BDFLUSH                = 134\n\tSYS_SYSFS                  = 135\n\tSYS_PERSONALITY            = 136\n\tSYS_AFS_SYSCALL            = 137\n\tSYS_GETDENTS               = 141\n\tSYS_SELECT                 = 142\n\tSYS_FLOCK                  = 143\n\tSYS_MSYNC                  = 144\n\tSYS_READV                  = 145\n\tSYS_WRITEV                 = 146\n\tSYS_GETSID                 = 147\n\tSYS_FDATASYNC              = 148\n\tSYS__SYSCTL                = 149\n\tSYS_MLOCK                  = 150\n\tSYS_MUNLOCK                = 151\n\tSYS_MLOCKALL               = 152\n\tSYS_MUNLOCKALL             = 153\n\tSYS_SCHED_SETPARAM         = 154\n\tSYS_SCHED_GETPARAM         = 155\n\tSYS_SCHED_SETSCHEDULER     = 156\n\tSYS_SCHED_GETSCHEDULER     = 157\n\tSYS_SCHED_YIELD            = 158\n\tSYS_SCHED_GET_PRIORITY_MAX = 159\n\tSYS_SCHED_GET_PRIORITY_MIN = 160\n\tSYS_SCHED_RR_GET_INTERVAL  = 161\n\tSYS_NANOSLEEP              = 162\n\tSYS_MREMAP                 = 163\n\tSYS_QUERY_MODULE           = 167\n\tSYS_POLL                   = 168\n\tSYS_NFSSERVCTL             = 169\n\tSYS_PRCTL                  = 172\n\tSYS_RT_SIGRETURN           = 173\n\tSYS_RT_SIGACTION           = 174\n\tSYS_RT_SIGPROCMASK         = 175\n\tSYS_RT_SIGPENDING          = 176\n\tSYS_RT_SIGTIMEDWAIT        = 177\n\tSYS_RT_SIGQUEUEINFO        = 178\n\tSYS_RT_SIGSUSPEND          = 179\n\tSYS_PREAD64                = 180\n\tSYS_PWRITE64               = 181\n\tSYS_GETCWD                 = 183\n\tSYS_CAPGET                 = 184\n\tSYS_CAPSET                 = 185\n\tSYS_SIGALTSTACK            = 186\n\tSYS_SENDFILE               = 187\n\tSYS_GETPMSG                = 188\n\tSYS_PUTPMSG                = 189\n\tSYS_VFORK                  = 190\n\tSYS_GETRLIMIT              = 191\n\tSYS_LCHOWN                 = 198\n\tSYS_GETUID                 = 199\n\tSYS_GETGID                 = 200\n\tSYS_GETEUID                = 201\n\tSYS_GETEGID                = 202\n\tSYS_SETREUID               = 203\n\tSYS_SETREGID               = 204\n\tSYS_GETGROUPS              = 205\n\tSYS_SETGROUPS              = 206\n\tSYS_FCHOWN                 = 207\n\tSYS_SETRESUID              = 208\n\tSYS_GETRESUID              = 209\n\tSYS_SETRESGID              = 210\n\tSYS_GETRESGID              = 211\n\tSYS_CHOWN                  = 212\n\tSYS_SETUID                 = 213\n\tSYS_SETGID                 = 214\n\tSYS_SETFSUID               = 215\n\tSYS_SETFSGID               = 216\n\tSYS_PIVOT_ROOT             = 217\n\tSYS_MINCORE                = 218\n\tSYS_MADVISE                = 219\n\tSYS_GETDENTS64             = 220\n\tSYS_READAHEAD              = 222\n\tSYS_SETXATTR               = 224\n\tSYS_LSETXATTR              = 225\n\tSYS_FSETXATTR              = 226\n\tSYS_GETXATTR               = 227\n\tSYS_LGETXATTR              = 228\n\tSYS_FGETXATTR              = 229\n\tSYS_LISTXATTR              = 230\n\tSYS_LLISTXATTR             = 231\n\tSYS_FLISTXATTR             = 232\n\tSYS_REMOVEXATTR            = 233\n\tSYS_LREMOVEXATTR           = 234\n\tSYS_FREMOVEXATTR           = 235\n\tSYS_GETTID                 = 236\n\tSYS_TKILL                  = 237\n\tSYS_FUTEX                  = 238\n\tSYS_SCHED_SETAFFINITY      = 239\n\tSYS_SCHED_GETAFFINITY      = 240\n\tSYS_TGKILL                 = 241\n\tSYS_IO_SETUP               = 243\n\tSYS_IO_DESTROY             = 244\n\tSYS_IO_GETEVENTS           = 245\n\tSYS_IO_SUBMIT              = 246\n\tSYS_IO_CANCEL              = 247\n\tSYS_EXIT_GROUP             = 248\n\tSYS_EPOLL_CREATE           = 249\n\tSYS_EPOLL_CTL              = 250\n\tSYS_EPOLL_WAIT             = 251\n\tSYS_SET_TID_ADDRESS        = 252\n\tSYS_FADVISE64              = 253\n\tSYS_TIMER_CREATE           = 254\n\tSYS_TIMER_SETTIME          = 255\n\tSYS_TIMER_GETTIME          = 256\n\tSYS_TIMER_GETOVERRUN       = 257\n\tSYS_TIMER_DELETE           = 258\n\tSYS_CLOCK_SETTIME          = 259\n\tSYS_CLOCK_GETTIME          = 260\n\tSYS_CLOCK_GETRES           = 261\n\tSYS_CLOCK_NANOSLEEP        = 262\n\tSYS_STATFS64               = 265\n\tSYS_FSTATFS64              = 266\n\tSYS_REMAP_FILE_PAGES       = 267\n\tSYS_MBIND                  = 268\n\tSYS_GET_MEMPOLICY          = 269\n\tSYS_SET_MEMPOLICY          = 270\n\tSYS_MQ_OPEN                = 271\n\tSYS_MQ_UNLINK              = 272\n\tSYS_MQ_TIMEDSEND           = 273\n\tSYS_MQ_TIMEDRECEIVE        = 274\n\tSYS_MQ_NOTIFY              = 275\n\tSYS_MQ_GETSETATTR          = 276\n\tSYS_KEXEC_LOAD             = 277\n\tSYS_ADD_KEY                = 278\n\tSYS_REQUEST_KEY            = 279\n\tSYS_KEYCTL                 = 280\n\tSYS_WAITID                 = 281\n\tSYS_IOPRIO_SET             = 282\n\tSYS_IOPRIO_GET             = 283\n\tSYS_INOTIFY_INIT           = 284\n\tSYS_INOTIFY_ADD_WATCH      = 285\n\tSYS_INOTIFY_RM_WATCH       = 286\n\tSYS_MIGRATE_PAGES          = 287\n\tSYS_OPENAT                 = 288\n\tSYS_MKDIRAT                = 289\n\tSYS_MKNODAT                = 290\n\tSYS_FCHOWNAT               = 291\n\tSYS_FUTIMESAT              = 292\n\tSYS_NEWFSTATAT             = 293\n\tSYS_UNLINKAT               = 294\n\tSYS_RENAMEAT               = 295\n\tSYS_LINKAT                 = 296\n\tSYS_SYMLINKAT              = 297\n\tSYS_READLINKAT             = 298\n\tSYS_FCHMODAT               = 299\n\tSYS_FACCESSAT              = 300\n\tSYS_PSELECT6               = 301\n\tSYS_PPOLL                  = 302\n\tSYS_UNSHARE                = 303\n\tSYS_SET_ROBUST_LIST        = 304\n\tSYS_GET_ROBUST_LIST        = 305\n\tSYS_SPLICE                 = 306\n\tSYS_SYNC_FILE_RANGE        = 307\n\tSYS_TEE                    = 308\n\tSYS_VMSPLICE               = 309\n\tSYS_MOVE_PAGES             = 310\n\tSYS_GETCPU                 = 311\n\tSYS_EPOLL_PWAIT            = 312\n\tSYS_UTIMES                 = 313\n\tSYS_FALLOCATE              = 314\n\tSYS_UTIMENSAT              = 315\n\tSYS_SIGNALFD               = 316\n\tSYS_TIMERFD                = 317\n\tSYS_EVENTFD                = 318\n\tSYS_TIMERFD_CREATE         = 319\n\tSYS_TIMERFD_SETTIME        = 320\n\tSYS_TIMERFD_GETTIME        = 321\n\tSYS_SIGNALFD4              = 322\n\tSYS_EVENTFD2               = 323\n\tSYS_INOTIFY_INIT1          = 324\n\tSYS_PIPE2                  = 325\n\tSYS_DUP3                   = 326\n\tSYS_EPOLL_CREATE1          = 327\n\tSYS_PREADV                 = 328\n\tSYS_PWRITEV                = 329\n\tSYS_RT_TGSIGQUEUEINFO      = 330\n\tSYS_PERF_EVENT_OPEN        = 331\n\tSYS_FANOTIFY_INIT          = 332\n\tSYS_FANOTIFY_MARK          = 333\n\tSYS_PRLIMIT64              = 334\n\tSYS_NAME_TO_HANDLE_AT      = 335\n\tSYS_OPEN_BY_HANDLE_AT      = 336\n\tSYS_CLOCK_ADJTIME          = 337\n\tSYS_SYNCFS                 = 338\n\tSYS_SETNS                  = 339\n\tSYS_PROCESS_VM_READV       = 340\n\tSYS_PROCESS_VM_WRITEV      = 341\n\tSYS_S390_RUNTIME_INSTR     = 342\n\tSYS_KCMP                   = 343\n\tSYS_FINIT_MODULE           = 344\n\tSYS_SCHED_SETATTR          = 345\n\tSYS_SCHED_GETATTR          = 346\n\tSYS_RENAMEAT2              = 347\n\tSYS_SECCOMP                = 348\n\tSYS_GETRANDOM              = 349\n\tSYS_MEMFD_CREATE           = 350\n\tSYS_BPF                    = 351\n\tSYS_S390_PCI_MMIO_WRITE    = 352\n\tSYS_S390_PCI_MMIO_READ     = 353\n\tSYS_EXECVEAT               = 354\n\tSYS_USERFAULTFD            = 355\n\tSYS_MEMBARRIER             = 356\n\tSYS_RECVMMSG               = 357\n\tSYS_SENDMMSG               = 358\n\tSYS_SOCKET                 = 359\n\tSYS_SOCKETPAIR             = 360\n\tSYS_BIND                   = 361\n\tSYS_CONNECT                = 362\n\tSYS_LISTEN                 = 363\n\tSYS_ACCEPT4                = 364\n\tSYS_GETSOCKOPT             = 365\n\tSYS_SETSOCKOPT             = 366\n\tSYS_GETSOCKNAME            = 367\n\tSYS_GETPEERNAME            = 368\n\tSYS_SENDTO                 = 369\n\tSYS_SENDMSG                = 370\n\tSYS_RECVFROM               = 371\n\tSYS_RECVMSG                = 372\n\tSYS_SHUTDOWN               = 373\n\tSYS_MLOCK2                 = 374\n\tSYS_COPY_FILE_RANGE        = 375\n\tSYS_PREADV2                = 376\n\tSYS_PWRITEV2               = 377\n\tSYS_S390_GUARDED_STORAGE   = 378\n\tSYS_STATX                  = 379\n\tSYS_S390_STHYI             = 380\n\tSYS_KEXEC_FILE_LOAD        = 381\n\tSYS_IO_PGETEVENTS          = 382\n\tSYS_RSEQ                   = 383\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go",
    "content": "// mksysnum_linux.pl -Ilinux/usr/include -m64 -D__arch64__ linux/usr/include/asm/unistd.h\n// Code generated by the command above; DO NOT EDIT.\n\n// +build sparc64,linux\n\npackage unix\n\nconst (\n\tSYS_RESTART_SYSCALL        = 0\n\tSYS_EXIT                   = 1\n\tSYS_FORK                   = 2\n\tSYS_READ                   = 3\n\tSYS_WRITE                  = 4\n\tSYS_OPEN                   = 5\n\tSYS_CLOSE                  = 6\n\tSYS_WAIT4                  = 7\n\tSYS_CREAT                  = 8\n\tSYS_LINK                   = 9\n\tSYS_UNLINK                 = 10\n\tSYS_EXECV                  = 11\n\tSYS_CHDIR                  = 12\n\tSYS_CHOWN                  = 13\n\tSYS_MKNOD                  = 14\n\tSYS_CHMOD                  = 15\n\tSYS_LCHOWN                 = 16\n\tSYS_BRK                    = 17\n\tSYS_PERFCTR                = 18\n\tSYS_LSEEK                  = 19\n\tSYS_GETPID                 = 20\n\tSYS_CAPGET                 = 21\n\tSYS_CAPSET                 = 22\n\tSYS_SETUID                 = 23\n\tSYS_GETUID                 = 24\n\tSYS_VMSPLICE               = 25\n\tSYS_PTRACE                 = 26\n\tSYS_ALARM                  = 27\n\tSYS_SIGALTSTACK            = 28\n\tSYS_PAUSE                  = 29\n\tSYS_UTIME                  = 30\n\tSYS_ACCESS                 = 33\n\tSYS_NICE                   = 34\n\tSYS_SYNC                   = 36\n\tSYS_KILL                   = 37\n\tSYS_STAT                   = 38\n\tSYS_SENDFILE               = 39\n\tSYS_LSTAT                  = 40\n\tSYS_DUP                    = 41\n\tSYS_PIPE                   = 42\n\tSYS_TIMES                  = 43\n\tSYS_UMOUNT2                = 45\n\tSYS_SETGID                 = 46\n\tSYS_GETGID                 = 47\n\tSYS_SIGNAL                 = 48\n\tSYS_GETEUID                = 49\n\tSYS_GETEGID                = 50\n\tSYS_ACCT                   = 51\n\tSYS_MEMORY_ORDERING        = 52\n\tSYS_IOCTL                  = 54\n\tSYS_REBOOT                 = 55\n\tSYS_SYMLINK                = 57\n\tSYS_READLINK               = 58\n\tSYS_EXECVE                 = 59\n\tSYS_UMASK                  = 60\n\tSYS_CHROOT                 = 61\n\tSYS_FSTAT                  = 62\n\tSYS_FSTAT64                = 63\n\tSYS_GETPAGESIZE            = 64\n\tSYS_MSYNC                  = 65\n\tSYS_VFORK                  = 66\n\tSYS_PREAD64                = 67\n\tSYS_PWRITE64               = 68\n\tSYS_MMAP                   = 71\n\tSYS_MUNMAP                 = 73\n\tSYS_MPROTECT               = 74\n\tSYS_MADVISE                = 75\n\tSYS_VHANGUP                = 76\n\tSYS_MINCORE                = 78\n\tSYS_GETGROUPS              = 79\n\tSYS_SETGROUPS              = 80\n\tSYS_GETPGRP                = 81\n\tSYS_SETITIMER              = 83\n\tSYS_SWAPON                 = 85\n\tSYS_GETITIMER              = 86\n\tSYS_SETHOSTNAME            = 88\n\tSYS_DUP2                   = 90\n\tSYS_FCNTL                  = 92\n\tSYS_SELECT                 = 93\n\tSYS_FSYNC                  = 95\n\tSYS_SETPRIORITY            = 96\n\tSYS_SOCKET                 = 97\n\tSYS_CONNECT                = 98\n\tSYS_ACCEPT                 = 99\n\tSYS_GETPRIORITY            = 100\n\tSYS_RT_SIGRETURN           = 101\n\tSYS_RT_SIGACTION           = 102\n\tSYS_RT_SIGPROCMASK         = 103\n\tSYS_RT_SIGPENDING          = 104\n\tSYS_RT_SIGTIMEDWAIT        = 105\n\tSYS_RT_SIGQUEUEINFO        = 106\n\tSYS_RT_SIGSUSPEND          = 107\n\tSYS_SETRESUID              = 108\n\tSYS_GETRESUID              = 109\n\tSYS_SETRESGID              = 110\n\tSYS_GETRESGID              = 111\n\tSYS_RECVMSG                = 113\n\tSYS_SENDMSG                = 114\n\tSYS_GETTIMEOFDAY           = 116\n\tSYS_GETRUSAGE              = 117\n\tSYS_GETSOCKOPT             = 118\n\tSYS_GETCWD                 = 119\n\tSYS_READV                  = 120\n\tSYS_WRITEV                 = 121\n\tSYS_SETTIMEOFDAY           = 122\n\tSYS_FCHOWN                 = 123\n\tSYS_FCHMOD                 = 124\n\tSYS_RECVFROM               = 125\n\tSYS_SETREUID               = 126\n\tSYS_SETREGID               = 127\n\tSYS_RENAME                 = 128\n\tSYS_TRUNCATE               = 129\n\tSYS_FTRUNCATE              = 130\n\tSYS_FLOCK                  = 131\n\tSYS_LSTAT64                = 132\n\tSYS_SENDTO                 = 133\n\tSYS_SHUTDOWN               = 134\n\tSYS_SOCKETPAIR             = 135\n\tSYS_MKDIR                  = 136\n\tSYS_RMDIR                  = 137\n\tSYS_UTIMES                 = 138\n\tSYS_STAT64                 = 139\n\tSYS_SENDFILE64             = 140\n\tSYS_GETPEERNAME            = 141\n\tSYS_FUTEX                  = 142\n\tSYS_GETTID                 = 143\n\tSYS_GETRLIMIT              = 144\n\tSYS_SETRLIMIT              = 145\n\tSYS_PIVOT_ROOT             = 146\n\tSYS_PRCTL                  = 147\n\tSYS_PCICONFIG_READ         = 148\n\tSYS_PCICONFIG_WRITE        = 149\n\tSYS_GETSOCKNAME            = 150\n\tSYS_INOTIFY_INIT           = 151\n\tSYS_INOTIFY_ADD_WATCH      = 152\n\tSYS_POLL                   = 153\n\tSYS_GETDENTS64             = 154\n\tSYS_INOTIFY_RM_WATCH       = 156\n\tSYS_STATFS                 = 157\n\tSYS_FSTATFS                = 158\n\tSYS_UMOUNT                 = 159\n\tSYS_SCHED_SET_AFFINITY     = 160\n\tSYS_SCHED_GET_AFFINITY     = 161\n\tSYS_GETDOMAINNAME          = 162\n\tSYS_SETDOMAINNAME          = 163\n\tSYS_UTRAP_INSTALL          = 164\n\tSYS_QUOTACTL               = 165\n\tSYS_SET_TID_ADDRESS        = 166\n\tSYS_MOUNT                  = 167\n\tSYS_USTAT                  = 168\n\tSYS_SETXATTR               = 169\n\tSYS_LSETXATTR              = 170\n\tSYS_FSETXATTR              = 171\n\tSYS_GETXATTR               = 172\n\tSYS_LGETXATTR              = 173\n\tSYS_GETDENTS               = 174\n\tSYS_SETSID                 = 175\n\tSYS_FCHDIR                 = 176\n\tSYS_FGETXATTR              = 177\n\tSYS_LISTXATTR              = 178\n\tSYS_LLISTXATTR             = 179\n\tSYS_FLISTXATTR             = 180\n\tSYS_REMOVEXATTR            = 181\n\tSYS_LREMOVEXATTR           = 182\n\tSYS_SIGPENDING             = 183\n\tSYS_QUERY_MODULE           = 184\n\tSYS_SETPGID                = 185\n\tSYS_FREMOVEXATTR           = 186\n\tSYS_TKILL                  = 187\n\tSYS_EXIT_GROUP             = 188\n\tSYS_UNAME                  = 189\n\tSYS_INIT_MODULE            = 190\n\tSYS_PERSONALITY            = 191\n\tSYS_REMAP_FILE_PAGES       = 192\n\tSYS_EPOLL_CREATE           = 193\n\tSYS_EPOLL_CTL              = 194\n\tSYS_EPOLL_WAIT             = 195\n\tSYS_IOPRIO_SET             = 196\n\tSYS_GETPPID                = 197\n\tSYS_SIGACTION              = 198\n\tSYS_SGETMASK               = 199\n\tSYS_SSETMASK               = 200\n\tSYS_SIGSUSPEND             = 201\n\tSYS_OLDLSTAT               = 202\n\tSYS_USELIB                 = 203\n\tSYS_READDIR                = 204\n\tSYS_READAHEAD              = 205\n\tSYS_SOCKETCALL             = 206\n\tSYS_SYSLOG                 = 207\n\tSYS_LOOKUP_DCOOKIE         = 208\n\tSYS_FADVISE64              = 209\n\tSYS_FADVISE64_64           = 210\n\tSYS_TGKILL                 = 211\n\tSYS_WAITPID                = 212\n\tSYS_SWAPOFF                = 213\n\tSYS_SYSINFO                = 214\n\tSYS_IPC                    = 215\n\tSYS_SIGRETURN              = 216\n\tSYS_CLONE                  = 217\n\tSYS_IOPRIO_GET             = 218\n\tSYS_ADJTIMEX               = 219\n\tSYS_SIGPROCMASK            = 220\n\tSYS_CREATE_MODULE          = 221\n\tSYS_DELETE_MODULE          = 222\n\tSYS_GET_KERNEL_SYMS        = 223\n\tSYS_GETPGID                = 224\n\tSYS_BDFLUSH                = 225\n\tSYS_SYSFS                  = 226\n\tSYS_AFS_SYSCALL            = 227\n\tSYS_SETFSUID               = 228\n\tSYS_SETFSGID               = 229\n\tSYS__NEWSELECT             = 230\n\tSYS_SPLICE                 = 232\n\tSYS_STIME                  = 233\n\tSYS_STATFS64               = 234\n\tSYS_FSTATFS64              = 235\n\tSYS__LLSEEK                = 236\n\tSYS_MLOCK                  = 237\n\tSYS_MUNLOCK                = 238\n\tSYS_MLOCKALL               = 239\n\tSYS_MUNLOCKALL             = 240\n\tSYS_SCHED_SETPARAM         = 241\n\tSYS_SCHED_GETPARAM         = 242\n\tSYS_SCHED_SETSCHEDULER     = 243\n\tSYS_SCHED_GETSCHEDULER     = 244\n\tSYS_SCHED_YIELD            = 245\n\tSYS_SCHED_GET_PRIORITY_MAX = 246\n\tSYS_SCHED_GET_PRIORITY_MIN = 247\n\tSYS_SCHED_RR_GET_INTERVAL  = 248\n\tSYS_NANOSLEEP              = 249\n\tSYS_MREMAP                 = 250\n\tSYS__SYSCTL                = 251\n\tSYS_GETSID                 = 252\n\tSYS_FDATASYNC              = 253\n\tSYS_NFSSERVCTL             = 254\n\tSYS_SYNC_FILE_RANGE        = 255\n\tSYS_CLOCK_SETTIME          = 256\n\tSYS_CLOCK_GETTIME          = 257\n\tSYS_CLOCK_GETRES           = 258\n\tSYS_CLOCK_NANOSLEEP        = 259\n\tSYS_SCHED_GETAFFINITY      = 260\n\tSYS_SCHED_SETAFFINITY      = 261\n\tSYS_TIMER_SETTIME          = 262\n\tSYS_TIMER_GETTIME          = 263\n\tSYS_TIMER_GETOVERRUN       = 264\n\tSYS_TIMER_DELETE           = 265\n\tSYS_TIMER_CREATE           = 266\n\tSYS_IO_SETUP               = 268\n\tSYS_IO_DESTROY             = 269\n\tSYS_IO_SUBMIT              = 270\n\tSYS_IO_CANCEL              = 271\n\tSYS_IO_GETEVENTS           = 272\n\tSYS_MQ_OPEN                = 273\n\tSYS_MQ_UNLINK              = 274\n\tSYS_MQ_TIMEDSEND           = 275\n\tSYS_MQ_TIMEDRECEIVE        = 276\n\tSYS_MQ_NOTIFY              = 277\n\tSYS_MQ_GETSETATTR          = 278\n\tSYS_WAITID                 = 279\n\tSYS_TEE                    = 280\n\tSYS_ADD_KEY                = 281\n\tSYS_REQUEST_KEY            = 282\n\tSYS_KEYCTL                 = 283\n\tSYS_OPENAT                 = 284\n\tSYS_MKDIRAT                = 285\n\tSYS_MKNODAT                = 286\n\tSYS_FCHOWNAT               = 287\n\tSYS_FUTIMESAT              = 288\n\tSYS_FSTATAT64              = 289\n\tSYS_UNLINKAT               = 290\n\tSYS_RENAMEAT               = 291\n\tSYS_LINKAT                 = 292\n\tSYS_SYMLINKAT              = 293\n\tSYS_READLINKAT             = 294\n\tSYS_FCHMODAT               = 295\n\tSYS_FACCESSAT              = 296\n\tSYS_PSELECT6               = 297\n\tSYS_PPOLL                  = 298\n\tSYS_UNSHARE                = 299\n\tSYS_SET_ROBUST_LIST        = 300\n\tSYS_GET_ROBUST_LIST        = 301\n\tSYS_MIGRATE_PAGES          = 302\n\tSYS_MBIND                  = 303\n\tSYS_GET_MEMPOLICY          = 304\n\tSYS_SET_MEMPOLICY          = 305\n\tSYS_KEXEC_LOAD             = 306\n\tSYS_MOVE_PAGES             = 307\n\tSYS_GETCPU                 = 308\n\tSYS_EPOLL_PWAIT            = 309\n\tSYS_UTIMENSAT              = 310\n\tSYS_SIGNALFD               = 311\n\tSYS_TIMERFD_CREATE         = 312\n\tSYS_EVENTFD                = 313\n\tSYS_FALLOCATE              = 314\n\tSYS_TIMERFD_SETTIME        = 315\n\tSYS_TIMERFD_GETTIME        = 316\n\tSYS_SIGNALFD4              = 317\n\tSYS_EVENTFD2               = 318\n\tSYS_EPOLL_CREATE1          = 319\n\tSYS_DUP3                   = 320\n\tSYS_PIPE2                  = 321\n\tSYS_INOTIFY_INIT1          = 322\n\tSYS_ACCEPT4                = 323\n\tSYS_PREADV                 = 324\n\tSYS_PWRITEV                = 325\n\tSYS_RT_TGSIGQUEUEINFO      = 326\n\tSYS_PERF_EVENT_OPEN        = 327\n\tSYS_RECVMMSG               = 328\n\tSYS_FANOTIFY_INIT          = 329\n\tSYS_FANOTIFY_MARK          = 330\n\tSYS_PRLIMIT64              = 331\n\tSYS_NAME_TO_HANDLE_AT      = 332\n\tSYS_OPEN_BY_HANDLE_AT      = 333\n\tSYS_CLOCK_ADJTIME          = 334\n\tSYS_SYNCFS                 = 335\n\tSYS_SENDMMSG               = 336\n\tSYS_SETNS                  = 337\n\tSYS_PROCESS_VM_READV       = 338\n\tSYS_PROCESS_VM_WRITEV      = 339\n\tSYS_KERN_FEATURES          = 340\n\tSYS_KCMP                   = 341\n\tSYS_FINIT_MODULE           = 342\n\tSYS_SCHED_SETATTR          = 343\n\tSYS_SCHED_GETATTR          = 344\n\tSYS_RENAMEAT2              = 345\n\tSYS_SECCOMP                = 346\n\tSYS_GETRANDOM              = 347\n\tSYS_MEMFD_CREATE           = 348\n\tSYS_BPF                    = 349\n\tSYS_EXECVEAT               = 350\n\tSYS_MEMBARRIER             = 351\n\tSYS_USERFAULTFD            = 352\n\tSYS_BIND                   = 353\n\tSYS_LISTEN                 = 354\n\tSYS_SETSOCKOPT             = 355\n\tSYS_MLOCK2                 = 356\n\tSYS_COPY_FILE_RANGE        = 357\n\tSYS_PREADV2                = 358\n\tSYS_PWRITEV2               = 359\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go",
    "content": "// mksysnum_netbsd.pl\n// Code generated by the command above; DO NOT EDIT.\n\n// +build 386,netbsd\n\npackage unix\n\nconst (\n\tSYS_EXIT                 = 1   // { void|sys||exit(int rval); }\n\tSYS_FORK                 = 2   // { int|sys||fork(void); }\n\tSYS_READ                 = 3   // { ssize_t|sys||read(int fd, void *buf, size_t nbyte); }\n\tSYS_WRITE                = 4   // { ssize_t|sys||write(int fd, const void *buf, size_t nbyte); }\n\tSYS_OPEN                 = 5   // { int|sys||open(const char *path, int flags, ... mode_t mode); }\n\tSYS_CLOSE                = 6   // { int|sys||close(int fd); }\n\tSYS_LINK                 = 9   // { int|sys||link(const char *path, const char *link); }\n\tSYS_UNLINK               = 10  // { int|sys||unlink(const char *path); }\n\tSYS_CHDIR                = 12  // { int|sys||chdir(const char *path); }\n\tSYS_FCHDIR               = 13  // { int|sys||fchdir(int fd); }\n\tSYS_CHMOD                = 15  // { int|sys||chmod(const char *path, mode_t mode); }\n\tSYS_CHOWN                = 16  // { int|sys||chown(const char *path, uid_t uid, gid_t gid); }\n\tSYS_BREAK                = 17  // { int|sys||obreak(char *nsize); }\n\tSYS_GETPID               = 20  // { pid_t|sys||getpid_with_ppid(void); }\n\tSYS_UNMOUNT              = 22  // { int|sys||unmount(const char *path, int flags); }\n\tSYS_SETUID               = 23  // { int|sys||setuid(uid_t uid); }\n\tSYS_GETUID               = 24  // { uid_t|sys||getuid_with_euid(void); }\n\tSYS_GETEUID              = 25  // { uid_t|sys||geteuid(void); }\n\tSYS_PTRACE               = 26  // { int|sys||ptrace(int req, pid_t pid, void *addr, int data); }\n\tSYS_RECVMSG              = 27  // { ssize_t|sys||recvmsg(int s, struct msghdr *msg, int flags); }\n\tSYS_SENDMSG              = 28  // { ssize_t|sys||sendmsg(int s, const struct msghdr *msg, int flags); }\n\tSYS_RECVFROM             = 29  // { ssize_t|sys||recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); }\n\tSYS_ACCEPT               = 30  // { int|sys||accept(int s, struct sockaddr *name, socklen_t *anamelen); }\n\tSYS_GETPEERNAME          = 31  // { int|sys||getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); }\n\tSYS_GETSOCKNAME          = 32  // { int|sys||getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); }\n\tSYS_ACCESS               = 33  // { int|sys||access(const char *path, int flags); }\n\tSYS_CHFLAGS              = 34  // { int|sys||chflags(const char *path, u_long flags); }\n\tSYS_FCHFLAGS             = 35  // { int|sys||fchflags(int fd, u_long flags); }\n\tSYS_SYNC                 = 36  // { void|sys||sync(void); }\n\tSYS_KILL                 = 37  // { int|sys||kill(pid_t pid, int signum); }\n\tSYS_GETPPID              = 39  // { pid_t|sys||getppid(void); }\n\tSYS_DUP                  = 41  // { int|sys||dup(int fd); }\n\tSYS_PIPE                 = 42  // { int|sys||pipe(void); }\n\tSYS_GETEGID              = 43  // { gid_t|sys||getegid(void); }\n\tSYS_PROFIL               = 44  // { int|sys||profil(char *samples, size_t size, u_long offset, u_int scale); }\n\tSYS_KTRACE               = 45  // { int|sys||ktrace(const char *fname, int ops, int facs, pid_t pid); }\n\tSYS_GETGID               = 47  // { gid_t|sys||getgid_with_egid(void); }\n\tSYS___GETLOGIN           = 49  // { int|sys||__getlogin(char *namebuf, size_t namelen); }\n\tSYS___SETLOGIN           = 50  // { int|sys||__setlogin(const char *namebuf); }\n\tSYS_ACCT                 = 51  // { int|sys||acct(const char *path); }\n\tSYS_IOCTL                = 54  // { int|sys||ioctl(int fd, u_long com, ... void *data); }\n\tSYS_REVOKE               = 56  // { int|sys||revoke(const char *path); }\n\tSYS_SYMLINK              = 57  // { int|sys||symlink(const char *path, const char *link); }\n\tSYS_READLINK             = 58  // { ssize_t|sys||readlink(const char *path, char *buf, size_t count); }\n\tSYS_EXECVE               = 59  // { int|sys||execve(const char *path, char * const *argp, char * const *envp); }\n\tSYS_UMASK                = 60  // { mode_t|sys||umask(mode_t newmask); }\n\tSYS_CHROOT               = 61  // { int|sys||chroot(const char *path); }\n\tSYS_VFORK                = 66  // { int|sys||vfork(void); }\n\tSYS_SBRK                 = 69  // { int|sys||sbrk(intptr_t incr); }\n\tSYS_SSTK                 = 70  // { int|sys||sstk(int incr); }\n\tSYS_VADVISE              = 72  // { int|sys||ovadvise(int anom); }\n\tSYS_MUNMAP               = 73  // { int|sys||munmap(void *addr, size_t len); }\n\tSYS_MPROTECT             = 74  // { int|sys||mprotect(void *addr, size_t len, int prot); }\n\tSYS_MADVISE              = 75  // { int|sys||madvise(void *addr, size_t len, int behav); }\n\tSYS_MINCORE              = 78  // { int|sys||mincore(void *addr, size_t len, char *vec); }\n\tSYS_GETGROUPS            = 79  // { int|sys||getgroups(int gidsetsize, gid_t *gidset); }\n\tSYS_SETGROUPS            = 80  // { int|sys||setgroups(int gidsetsize, const gid_t *gidset); }\n\tSYS_GETPGRP              = 81  // { int|sys||getpgrp(void); }\n\tSYS_SETPGID              = 82  // { int|sys||setpgid(pid_t pid, pid_t pgid); }\n\tSYS_DUP2                 = 90  // { int|sys||dup2(int from, int to); }\n\tSYS_FCNTL                = 92  // { int|sys||fcntl(int fd, int cmd, ... void *arg); }\n\tSYS_FSYNC                = 95  // { int|sys||fsync(int fd); }\n\tSYS_SETPRIORITY          = 96  // { int|sys||setpriority(int which, id_t who, int prio); }\n\tSYS_CONNECT              = 98  // { int|sys||connect(int s, const struct sockaddr *name, socklen_t namelen); }\n\tSYS_GETPRIORITY          = 100 // { int|sys||getpriority(int which, id_t who); }\n\tSYS_BIND                 = 104 // { int|sys||bind(int s, const struct sockaddr *name, socklen_t namelen); }\n\tSYS_SETSOCKOPT           = 105 // { int|sys||setsockopt(int s, int level, int name, const void *val, socklen_t valsize); }\n\tSYS_LISTEN               = 106 // { int|sys||listen(int s, int backlog); }\n\tSYS_GETSOCKOPT           = 118 // { int|sys||getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); }\n\tSYS_READV                = 120 // { ssize_t|sys||readv(int fd, const struct iovec *iovp, int iovcnt); }\n\tSYS_WRITEV               = 121 // { ssize_t|sys||writev(int fd, const struct iovec *iovp, int iovcnt); }\n\tSYS_FCHOWN               = 123 // { int|sys||fchown(int fd, uid_t uid, gid_t gid); }\n\tSYS_FCHMOD               = 124 // { int|sys||fchmod(int fd, mode_t mode); }\n\tSYS_SETREUID             = 126 // { int|sys||setreuid(uid_t ruid, uid_t euid); }\n\tSYS_SETREGID             = 127 // { int|sys||setregid(gid_t rgid, gid_t egid); }\n\tSYS_RENAME               = 128 // { int|sys||rename(const char *from, const char *to); }\n\tSYS_FLOCK                = 131 // { int|sys||flock(int fd, int how); }\n\tSYS_MKFIFO               = 132 // { int|sys||mkfifo(const char *path, mode_t mode); }\n\tSYS_SENDTO               = 133 // { ssize_t|sys||sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); }\n\tSYS_SHUTDOWN             = 134 // { int|sys||shutdown(int s, int how); }\n\tSYS_SOCKETPAIR           = 135 // { int|sys||socketpair(int domain, int type, int protocol, int *rsv); }\n\tSYS_MKDIR                = 136 // { int|sys||mkdir(const char *path, mode_t mode); }\n\tSYS_RMDIR                = 137 // { int|sys||rmdir(const char *path); }\n\tSYS_SETSID               = 147 // { int|sys||setsid(void); }\n\tSYS_SYSARCH              = 165 // { int|sys||sysarch(int op, void *parms); }\n\tSYS_PREAD                = 173 // { ssize_t|sys||pread(int fd, void *buf, size_t nbyte, int PAD, off_t offset); }\n\tSYS_PWRITE               = 174 // { ssize_t|sys||pwrite(int fd, const void *buf, size_t nbyte, int PAD, off_t offset); }\n\tSYS_NTP_ADJTIME          = 176 // { int|sys||ntp_adjtime(struct timex *tp); }\n\tSYS_SETGID               = 181 // { int|sys||setgid(gid_t gid); }\n\tSYS_SETEGID              = 182 // { int|sys||setegid(gid_t egid); }\n\tSYS_SETEUID              = 183 // { int|sys||seteuid(uid_t euid); }\n\tSYS_PATHCONF             = 191 // { long|sys||pathconf(const char *path, int name); }\n\tSYS_FPATHCONF            = 192 // { long|sys||fpathconf(int fd, int name); }\n\tSYS_GETRLIMIT            = 194 // { int|sys||getrlimit(int which, struct rlimit *rlp); }\n\tSYS_SETRLIMIT            = 195 // { int|sys||setrlimit(int which, const struct rlimit *rlp); }\n\tSYS_MMAP                 = 197 // { void *|sys||mmap(void *addr, size_t len, int prot, int flags, int fd, long PAD, off_t pos); }\n\tSYS_LSEEK                = 199 // { off_t|sys||lseek(int fd, int PAD, off_t offset, int whence); }\n\tSYS_TRUNCATE             = 200 // { int|sys||truncate(const char *path, int PAD, off_t length); }\n\tSYS_FTRUNCATE            = 201 // { int|sys||ftruncate(int fd, int PAD, off_t length); }\n\tSYS___SYSCTL             = 202 // { int|sys||__sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, const void *new, size_t newlen); }\n\tSYS_MLOCK                = 203 // { int|sys||mlock(const void *addr, size_t len); }\n\tSYS_MUNLOCK              = 204 // { int|sys||munlock(const void *addr, size_t len); }\n\tSYS_UNDELETE             = 205 // { int|sys||undelete(const char *path); }\n\tSYS_GETPGID              = 207 // { pid_t|sys||getpgid(pid_t pid); }\n\tSYS_REBOOT               = 208 // { int|sys||reboot(int opt, char *bootstr); }\n\tSYS_POLL                 = 209 // { int|sys||poll(struct pollfd *fds, u_int nfds, int timeout); }\n\tSYS_SEMGET               = 221 // { int|sys||semget(key_t key, int nsems, int semflg); }\n\tSYS_SEMOP                = 222 // { int|sys||semop(int semid, struct sembuf *sops, size_t nsops); }\n\tSYS_SEMCONFIG            = 223 // { int|sys||semconfig(int flag); }\n\tSYS_MSGGET               = 225 // { int|sys||msgget(key_t key, int msgflg); }\n\tSYS_MSGSND               = 226 // { int|sys||msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); }\n\tSYS_MSGRCV               = 227 // { ssize_t|sys||msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); }\n\tSYS_SHMAT                = 228 // { void *|sys||shmat(int shmid, const void *shmaddr, int shmflg); }\n\tSYS_SHMDT                = 230 // { int|sys||shmdt(const void *shmaddr); }\n\tSYS_SHMGET               = 231 // { int|sys||shmget(key_t key, size_t size, int shmflg); }\n\tSYS_TIMER_CREATE         = 235 // { int|sys||timer_create(clockid_t clock_id, struct sigevent *evp, timer_t *timerid); }\n\tSYS_TIMER_DELETE         = 236 // { int|sys||timer_delete(timer_t timerid); }\n\tSYS_TIMER_GETOVERRUN     = 239 // { int|sys||timer_getoverrun(timer_t timerid); }\n\tSYS_FDATASYNC            = 241 // { int|sys||fdatasync(int fd); }\n\tSYS_MLOCKALL             = 242 // { int|sys||mlockall(int flags); }\n\tSYS_MUNLOCKALL           = 243 // { int|sys||munlockall(void); }\n\tSYS_SIGQUEUEINFO         = 245 // { int|sys||sigqueueinfo(pid_t pid, const siginfo_t *info); }\n\tSYS_MODCTL               = 246 // { int|sys||modctl(int cmd, void *arg); }\n\tSYS___POSIX_RENAME       = 270 // { int|sys||__posix_rename(const char *from, const char *to); }\n\tSYS_SWAPCTL              = 271 // { int|sys||swapctl(int cmd, void *arg, int misc); }\n\tSYS_MINHERIT             = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); }\n\tSYS_LCHMOD               = 274 // { int|sys||lchmod(const char *path, mode_t mode); }\n\tSYS_LCHOWN               = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); }\n\tSYS_MSYNC                = 277 // { int|sys|13|msync(void *addr, size_t len, int flags); }\n\tSYS___POSIX_CHOWN        = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); }\n\tSYS___POSIX_FCHOWN       = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); }\n\tSYS___POSIX_LCHOWN       = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); }\n\tSYS_GETSID               = 286 // { pid_t|sys||getsid(pid_t pid); }\n\tSYS___CLONE              = 287 // { pid_t|sys||__clone(int flags, void *stack); }\n\tSYS_FKTRACE              = 288 // { int|sys||fktrace(int fd, int ops, int facs, pid_t pid); }\n\tSYS_PREADV               = 289 // { ssize_t|sys||preadv(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); }\n\tSYS_PWRITEV              = 290 // { ssize_t|sys||pwritev(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); }\n\tSYS___GETCWD             = 296 // { int|sys||__getcwd(char *bufp, size_t length); }\n\tSYS_FCHROOT              = 297 // { int|sys||fchroot(int fd); }\n\tSYS_LCHFLAGS             = 304 // { int|sys||lchflags(const char *path, u_long flags); }\n\tSYS_ISSETUGID            = 305 // { int|sys||issetugid(void); }\n\tSYS_UTRACE               = 306 // { int|sys||utrace(const char *label, void *addr, size_t len); }\n\tSYS_GETCONTEXT           = 307 // { int|sys||getcontext(struct __ucontext *ucp); }\n\tSYS_SETCONTEXT           = 308 // { int|sys||setcontext(const struct __ucontext *ucp); }\n\tSYS__LWP_CREATE          = 309 // { int|sys||_lwp_create(const struct __ucontext *ucp, u_long flags, lwpid_t *new_lwp); }\n\tSYS__LWP_EXIT            = 310 // { int|sys||_lwp_exit(void); }\n\tSYS__LWP_SELF            = 311 // { lwpid_t|sys||_lwp_self(void); }\n\tSYS__LWP_WAIT            = 312 // { int|sys||_lwp_wait(lwpid_t wait_for, lwpid_t *departed); }\n\tSYS__LWP_SUSPEND         = 313 // { int|sys||_lwp_suspend(lwpid_t target); }\n\tSYS__LWP_CONTINUE        = 314 // { int|sys||_lwp_continue(lwpid_t target); }\n\tSYS__LWP_WAKEUP          = 315 // { int|sys||_lwp_wakeup(lwpid_t target); }\n\tSYS__LWP_GETPRIVATE      = 316 // { void *|sys||_lwp_getprivate(void); }\n\tSYS__LWP_SETPRIVATE      = 317 // { void|sys||_lwp_setprivate(void *ptr); }\n\tSYS__LWP_KILL            = 318 // { int|sys||_lwp_kill(lwpid_t target, int signo); }\n\tSYS__LWP_DETACH          = 319 // { int|sys||_lwp_detach(lwpid_t target); }\n\tSYS__LWP_UNPARK          = 321 // { int|sys||_lwp_unpark(lwpid_t target, const void *hint); }\n\tSYS__LWP_UNPARK_ALL      = 322 // { ssize_t|sys||_lwp_unpark_all(const lwpid_t *targets, size_t ntargets, const void *hint); }\n\tSYS__LWP_SETNAME         = 323 // { int|sys||_lwp_setname(lwpid_t target, const char *name); }\n\tSYS__LWP_GETNAME         = 324 // { int|sys||_lwp_getname(lwpid_t target, char *name, size_t len); }\n\tSYS__LWP_CTL             = 325 // { int|sys||_lwp_ctl(int features, struct lwpctl **address); }\n\tSYS___SIGACTION_SIGTRAMP = 340 // { int|sys||__sigaction_sigtramp(int signum, const struct sigaction *nsa, struct sigaction *osa, const void *tramp, int vers); }\n\tSYS_PMC_GET_INFO         = 341 // { int|sys||pmc_get_info(int ctr, int op, void *args); }\n\tSYS_PMC_CONTROL          = 342 // { int|sys||pmc_control(int ctr, int op, void *args); }\n\tSYS_RASCTL               = 343 // { int|sys||rasctl(void *addr, size_t len, int op); }\n\tSYS_KQUEUE               = 344 // { int|sys||kqueue(void); }\n\tSYS__SCHED_SETPARAM      = 346 // { int|sys||_sched_setparam(pid_t pid, lwpid_t lid, int policy, const struct sched_param *params); }\n\tSYS__SCHED_GETPARAM      = 347 // { int|sys||_sched_getparam(pid_t pid, lwpid_t lid, int *policy, struct sched_param *params); }\n\tSYS__SCHED_SETAFFINITY   = 348 // { int|sys||_sched_setaffinity(pid_t pid, lwpid_t lid, size_t size, const cpuset_t *cpuset); }\n\tSYS__SCHED_GETAFFINITY   = 349 // { int|sys||_sched_getaffinity(pid_t pid, lwpid_t lid, size_t size, cpuset_t *cpuset); }\n\tSYS_SCHED_YIELD          = 350 // { int|sys||sched_yield(void); }\n\tSYS_FSYNC_RANGE          = 354 // { int|sys||fsync_range(int fd, int flags, off_t start, off_t length); }\n\tSYS_UUIDGEN              = 355 // { int|sys||uuidgen(struct uuid *store, int count); }\n\tSYS_GETVFSSTAT           = 356 // { int|sys||getvfsstat(struct statvfs *buf, size_t bufsize, int flags); }\n\tSYS_STATVFS1             = 357 // { int|sys||statvfs1(const char *path, struct statvfs *buf, int flags); }\n\tSYS_FSTATVFS1            = 358 // { int|sys||fstatvfs1(int fd, struct statvfs *buf, int flags); }\n\tSYS_EXTATTRCTL           = 360 // { int|sys||extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); }\n\tSYS_EXTATTR_SET_FILE     = 361 // { int|sys||extattr_set_file(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); }\n\tSYS_EXTATTR_GET_FILE     = 362 // { ssize_t|sys||extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); }\n\tSYS_EXTATTR_DELETE_FILE  = 363 // { int|sys||extattr_delete_file(const char *path, int attrnamespace, const char *attrname); }\n\tSYS_EXTATTR_SET_FD       = 364 // { int|sys||extattr_set_fd(int fd, int attrnamespace, const char *attrname, const void *data, size_t nbytes); }\n\tSYS_EXTATTR_GET_FD       = 365 // { ssize_t|sys||extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); }\n\tSYS_EXTATTR_DELETE_FD    = 366 // { int|sys||extattr_delete_fd(int fd, int attrnamespace, const char *attrname); }\n\tSYS_EXTATTR_SET_LINK     = 367 // { int|sys||extattr_set_link(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); }\n\tSYS_EXTATTR_GET_LINK     = 368 // { ssize_t|sys||extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); }\n\tSYS_EXTATTR_DELETE_LINK  = 369 // { int|sys||extattr_delete_link(const char *path, int attrnamespace, const char *attrname); }\n\tSYS_EXTATTR_LIST_FD      = 370 // { ssize_t|sys||extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); }\n\tSYS_EXTATTR_LIST_FILE    = 371 // { ssize_t|sys||extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); }\n\tSYS_EXTATTR_LIST_LINK    = 372 // { ssize_t|sys||extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); }\n\tSYS_SETXATTR             = 375 // { int|sys||setxattr(const char *path, const char *name, const void *value, size_t size, int flags); }\n\tSYS_LSETXATTR            = 376 // { int|sys||lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags); }\n\tSYS_FSETXATTR            = 377 // { int|sys||fsetxattr(int fd, const char *name, const void *value, size_t size, int flags); }\n\tSYS_GETXATTR             = 378 // { int|sys||getxattr(const char *path, const char *name, void *value, size_t size); }\n\tSYS_LGETXATTR            = 379 // { int|sys||lgetxattr(const char *path, const char *name, void *value, size_t size); }\n\tSYS_FGETXATTR            = 380 // { int|sys||fgetxattr(int fd, const char *name, void *value, size_t size); }\n\tSYS_LISTXATTR            = 381 // { int|sys||listxattr(const char *path, char *list, size_t size); }\n\tSYS_LLISTXATTR           = 382 // { int|sys||llistxattr(const char *path, char *list, size_t size); }\n\tSYS_FLISTXATTR           = 383 // { int|sys||flistxattr(int fd, char *list, size_t size); }\n\tSYS_REMOVEXATTR          = 384 // { int|sys||removexattr(const char *path, const char *name); }\n\tSYS_LREMOVEXATTR         = 385 // { int|sys||lremovexattr(const char *path, const char *name); }\n\tSYS_FREMOVEXATTR         = 386 // { int|sys||fremovexattr(int fd, const char *name); }\n\tSYS_GETDENTS             = 390 // { int|sys|30|getdents(int fd, char *buf, size_t count); }\n\tSYS_SOCKET               = 394 // { int|sys|30|socket(int domain, int type, int protocol); }\n\tSYS_GETFH                = 395 // { int|sys|30|getfh(const char *fname, void *fhp, size_t *fh_size); }\n\tSYS_MOUNT                = 410 // { int|sys|50|mount(const char *type, const char *path, int flags, void *data, size_t data_len); }\n\tSYS_MREMAP               = 411 // { void *|sys||mremap(void *old_address, size_t old_size, void *new_address, size_t new_size, int flags); }\n\tSYS_PSET_CREATE          = 412 // { int|sys||pset_create(psetid_t *psid); }\n\tSYS_PSET_DESTROY         = 413 // { int|sys||pset_destroy(psetid_t psid); }\n\tSYS_PSET_ASSIGN          = 414 // { int|sys||pset_assign(psetid_t psid, cpuid_t cpuid, psetid_t *opsid); }\n\tSYS__PSET_BIND           = 415 // { int|sys||_pset_bind(idtype_t idtype, id_t first_id, id_t second_id, psetid_t psid, psetid_t *opsid); }\n\tSYS_POSIX_FADVISE        = 416 // { int|sys|50|posix_fadvise(int fd, int PAD, off_t offset, off_t len, int advice); }\n\tSYS_SELECT               = 417 // { int|sys|50|select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); }\n\tSYS_GETTIMEOFDAY         = 418 // { int|sys|50|gettimeofday(struct timeval *tp, void *tzp); }\n\tSYS_SETTIMEOFDAY         = 419 // { int|sys|50|settimeofday(const struct timeval *tv, const void *tzp); }\n\tSYS_UTIMES               = 420 // { int|sys|50|utimes(const char *path, const struct timeval *tptr); }\n\tSYS_ADJTIME              = 421 // { int|sys|50|adjtime(const struct timeval *delta, struct timeval *olddelta); }\n\tSYS_FUTIMES              = 423 // { int|sys|50|futimes(int fd, const struct timeval *tptr); }\n\tSYS_LUTIMES              = 424 // { int|sys|50|lutimes(const char *path, const struct timeval *tptr); }\n\tSYS_SETITIMER            = 425 // { int|sys|50|setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); }\n\tSYS_GETITIMER            = 426 // { int|sys|50|getitimer(int which, struct itimerval *itv); }\n\tSYS_CLOCK_GETTIME        = 427 // { int|sys|50|clock_gettime(clockid_t clock_id, struct timespec *tp); }\n\tSYS_CLOCK_SETTIME        = 428 // { int|sys|50|clock_settime(clockid_t clock_id, const struct timespec *tp); }\n\tSYS_CLOCK_GETRES         = 429 // { int|sys|50|clock_getres(clockid_t clock_id, struct timespec *tp); }\n\tSYS_NANOSLEEP            = 430 // { int|sys|50|nanosleep(const struct timespec *rqtp, struct timespec *rmtp); }\n\tSYS___SIGTIMEDWAIT       = 431 // { int|sys|50|__sigtimedwait(const sigset_t *set, siginfo_t *info, struct timespec *timeout); }\n\tSYS__LWP_PARK            = 434 // { int|sys|50|_lwp_park(const struct timespec *ts, lwpid_t unpark, const void *hint, const void *unparkhint); }\n\tSYS_KEVENT               = 435 // { int|sys|50|kevent(int fd, const struct kevent *changelist, size_t nchanges, struct kevent *eventlist, size_t nevents, const struct timespec *timeout); }\n\tSYS_PSELECT              = 436 // { int|sys|50|pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); }\n\tSYS_POLLTS               = 437 // { int|sys|50|pollts(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); }\n\tSYS_STAT                 = 439 // { int|sys|50|stat(const char *path, struct stat *ub); }\n\tSYS_FSTAT                = 440 // { int|sys|50|fstat(int fd, struct stat *sb); }\n\tSYS_LSTAT                = 441 // { int|sys|50|lstat(const char *path, struct stat *ub); }\n\tSYS___SEMCTL             = 442 // { int|sys|50|__semctl(int semid, int semnum, int cmd, ... union __semun *arg); }\n\tSYS_SHMCTL               = 443 // { int|sys|50|shmctl(int shmid, int cmd, struct shmid_ds *buf); }\n\tSYS_MSGCTL               = 444 // { int|sys|50|msgctl(int msqid, int cmd, struct msqid_ds *buf); }\n\tSYS_GETRUSAGE            = 445 // { int|sys|50|getrusage(int who, struct rusage *rusage); }\n\tSYS_TIMER_SETTIME        = 446 // { int|sys|50|timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); }\n\tSYS_TIMER_GETTIME        = 447 // { int|sys|50|timer_gettime(timer_t timerid, struct itimerspec *value); }\n\tSYS_NTP_GETTIME          = 448 // { int|sys|50|ntp_gettime(struct ntptimeval *ntvp); }\n\tSYS_WAIT4                = 449 // { int|sys|50|wait4(pid_t pid, int *status, int options, struct rusage *rusage); }\n\tSYS_MKNOD                = 450 // { int|sys|50|mknod(const char *path, mode_t mode, dev_t dev); }\n\tSYS_FHSTAT               = 451 // { int|sys|50|fhstat(const void *fhp, size_t fh_size, struct stat *sb); }\n\tSYS_PIPE2                = 453 // { int|sys||pipe2(int *fildes, int flags); }\n\tSYS_DUP3                 = 454 // { int|sys||dup3(int from, int to, int flags); }\n\tSYS_KQUEUE1              = 455 // { int|sys||kqueue1(int flags); }\n\tSYS_PACCEPT              = 456 // { int|sys||paccept(int s, struct sockaddr *name, socklen_t *anamelen, const sigset_t *mask, int flags); }\n\tSYS_LINKAT               = 457 // { int|sys||linkat(int fd1, const char *name1, int fd2, const char *name2, int flags); }\n\tSYS_RENAMEAT             = 458 // { int|sys||renameat(int fromfd, const char *from, int tofd, const char *to); }\n\tSYS_MKFIFOAT             = 459 // { int|sys||mkfifoat(int fd, const char *path, mode_t mode); }\n\tSYS_MKNODAT              = 460 // { int|sys||mknodat(int fd, const char *path, mode_t mode, uint32_t dev); }\n\tSYS_MKDIRAT              = 461 // { int|sys||mkdirat(int fd, const char *path, mode_t mode); }\n\tSYS_FACCESSAT            = 462 // { int|sys||faccessat(int fd, const char *path, int amode, int flag); }\n\tSYS_FCHMODAT             = 463 // { int|sys||fchmodat(int fd, const char *path, mode_t mode, int flag); }\n\tSYS_FCHOWNAT             = 464 // { int|sys||fchownat(int fd, const char *path, uid_t owner, gid_t group, int flag); }\n\tSYS_FEXECVE              = 465 // { int|sys||fexecve(int fd, char * const *argp, char * const *envp); }\n\tSYS_FSTATAT              = 466 // { int|sys||fstatat(int fd, const char *path, struct stat *buf, int flag); }\n\tSYS_UTIMENSAT            = 467 // { int|sys||utimensat(int fd, const char *path, const struct timespec *tptr, int flag); }\n\tSYS_OPENAT               = 468 // { int|sys||openat(int fd, const char *path, int oflags, ... mode_t mode); }\n\tSYS_READLINKAT           = 469 // { int|sys||readlinkat(int fd, const char *path, char *buf, size_t bufsize); }\n\tSYS_SYMLINKAT            = 470 // { int|sys||symlinkat(const char *path1, int fd, const char *path2); }\n\tSYS_UNLINKAT             = 471 // { int|sys||unlinkat(int fd, const char *path, int flag); }\n\tSYS_FUTIMENS             = 472 // { int|sys||futimens(int fd, const struct timespec *tptr); }\n\tSYS___QUOTACTL           = 473 // { int|sys||__quotactl(const char *path, struct quotactl_args *args); }\n\tSYS_POSIX_SPAWN          = 474 // { int|sys||posix_spawn(pid_t *pid, const char *path, const struct posix_spawn_file_actions *file_actions, const struct posix_spawnattr *attrp, char *const *argv, char *const *envp); }\n\tSYS_RECVMMSG             = 475 // { int|sys||recvmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags, struct timespec *timeout); }\n\tSYS_SENDMMSG             = 476 // { int|sys||sendmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags); }\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go",
    "content": "// mksysnum_netbsd.pl\n// Code generated by the command above; DO NOT EDIT.\n\n// +build amd64,netbsd\n\npackage unix\n\nconst (\n\tSYS_EXIT                 = 1   // { void|sys||exit(int rval); }\n\tSYS_FORK                 = 2   // { int|sys||fork(void); }\n\tSYS_READ                 = 3   // { ssize_t|sys||read(int fd, void *buf, size_t nbyte); }\n\tSYS_WRITE                = 4   // { ssize_t|sys||write(int fd, const void *buf, size_t nbyte); }\n\tSYS_OPEN                 = 5   // { int|sys||open(const char *path, int flags, ... mode_t mode); }\n\tSYS_CLOSE                = 6   // { int|sys||close(int fd); }\n\tSYS_LINK                 = 9   // { int|sys||link(const char *path, const char *link); }\n\tSYS_UNLINK               = 10  // { int|sys||unlink(const char *path); }\n\tSYS_CHDIR                = 12  // { int|sys||chdir(const char *path); }\n\tSYS_FCHDIR               = 13  // { int|sys||fchdir(int fd); }\n\tSYS_CHMOD                = 15  // { int|sys||chmod(const char *path, mode_t mode); }\n\tSYS_CHOWN                = 16  // { int|sys||chown(const char *path, uid_t uid, gid_t gid); }\n\tSYS_BREAK                = 17  // { int|sys||obreak(char *nsize); }\n\tSYS_GETPID               = 20  // { pid_t|sys||getpid_with_ppid(void); }\n\tSYS_UNMOUNT              = 22  // { int|sys||unmount(const char *path, int flags); }\n\tSYS_SETUID               = 23  // { int|sys||setuid(uid_t uid); }\n\tSYS_GETUID               = 24  // { uid_t|sys||getuid_with_euid(void); }\n\tSYS_GETEUID              = 25  // { uid_t|sys||geteuid(void); }\n\tSYS_PTRACE               = 26  // { int|sys||ptrace(int req, pid_t pid, void *addr, int data); }\n\tSYS_RECVMSG              = 27  // { ssize_t|sys||recvmsg(int s, struct msghdr *msg, int flags); }\n\tSYS_SENDMSG              = 28  // { ssize_t|sys||sendmsg(int s, const struct msghdr *msg, int flags); }\n\tSYS_RECVFROM             = 29  // { ssize_t|sys||recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); }\n\tSYS_ACCEPT               = 30  // { int|sys||accept(int s, struct sockaddr *name, socklen_t *anamelen); }\n\tSYS_GETPEERNAME          = 31  // { int|sys||getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); }\n\tSYS_GETSOCKNAME          = 32  // { int|sys||getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); }\n\tSYS_ACCESS               = 33  // { int|sys||access(const char *path, int flags); }\n\tSYS_CHFLAGS              = 34  // { int|sys||chflags(const char *path, u_long flags); }\n\tSYS_FCHFLAGS             = 35  // { int|sys||fchflags(int fd, u_long flags); }\n\tSYS_SYNC                 = 36  // { void|sys||sync(void); }\n\tSYS_KILL                 = 37  // { int|sys||kill(pid_t pid, int signum); }\n\tSYS_GETPPID              = 39  // { pid_t|sys||getppid(void); }\n\tSYS_DUP                  = 41  // { int|sys||dup(int fd); }\n\tSYS_PIPE                 = 42  // { int|sys||pipe(void); }\n\tSYS_GETEGID              = 43  // { gid_t|sys||getegid(void); }\n\tSYS_PROFIL               = 44  // { int|sys||profil(char *samples, size_t size, u_long offset, u_int scale); }\n\tSYS_KTRACE               = 45  // { int|sys||ktrace(const char *fname, int ops, int facs, pid_t pid); }\n\tSYS_GETGID               = 47  // { gid_t|sys||getgid_with_egid(void); }\n\tSYS___GETLOGIN           = 49  // { int|sys||__getlogin(char *namebuf, size_t namelen); }\n\tSYS___SETLOGIN           = 50  // { int|sys||__setlogin(const char *namebuf); }\n\tSYS_ACCT                 = 51  // { int|sys||acct(const char *path); }\n\tSYS_IOCTL                = 54  // { int|sys||ioctl(int fd, u_long com, ... void *data); }\n\tSYS_REVOKE               = 56  // { int|sys||revoke(const char *path); }\n\tSYS_SYMLINK              = 57  // { int|sys||symlink(const char *path, const char *link); }\n\tSYS_READLINK             = 58  // { ssize_t|sys||readlink(const char *path, char *buf, size_t count); }\n\tSYS_EXECVE               = 59  // { int|sys||execve(const char *path, char * const *argp, char * const *envp); }\n\tSYS_UMASK                = 60  // { mode_t|sys||umask(mode_t newmask); }\n\tSYS_CHROOT               = 61  // { int|sys||chroot(const char *path); }\n\tSYS_VFORK                = 66  // { int|sys||vfork(void); }\n\tSYS_SBRK                 = 69  // { int|sys||sbrk(intptr_t incr); }\n\tSYS_SSTK                 = 70  // { int|sys||sstk(int incr); }\n\tSYS_VADVISE              = 72  // { int|sys||ovadvise(int anom); }\n\tSYS_MUNMAP               = 73  // { int|sys||munmap(void *addr, size_t len); }\n\tSYS_MPROTECT             = 74  // { int|sys||mprotect(void *addr, size_t len, int prot); }\n\tSYS_MADVISE              = 75  // { int|sys||madvise(void *addr, size_t len, int behav); }\n\tSYS_MINCORE              = 78  // { int|sys||mincore(void *addr, size_t len, char *vec); }\n\tSYS_GETGROUPS            = 79  // { int|sys||getgroups(int gidsetsize, gid_t *gidset); }\n\tSYS_SETGROUPS            = 80  // { int|sys||setgroups(int gidsetsize, const gid_t *gidset); }\n\tSYS_GETPGRP              = 81  // { int|sys||getpgrp(void); }\n\tSYS_SETPGID              = 82  // { int|sys||setpgid(pid_t pid, pid_t pgid); }\n\tSYS_DUP2                 = 90  // { int|sys||dup2(int from, int to); }\n\tSYS_FCNTL                = 92  // { int|sys||fcntl(int fd, int cmd, ... void *arg); }\n\tSYS_FSYNC                = 95  // { int|sys||fsync(int fd); }\n\tSYS_SETPRIORITY          = 96  // { int|sys||setpriority(int which, id_t who, int prio); }\n\tSYS_CONNECT              = 98  // { int|sys||connect(int s, const struct sockaddr *name, socklen_t namelen); }\n\tSYS_GETPRIORITY          = 100 // { int|sys||getpriority(int which, id_t who); }\n\tSYS_BIND                 = 104 // { int|sys||bind(int s, const struct sockaddr *name, socklen_t namelen); }\n\tSYS_SETSOCKOPT           = 105 // { int|sys||setsockopt(int s, int level, int name, const void *val, socklen_t valsize); }\n\tSYS_LISTEN               = 106 // { int|sys||listen(int s, int backlog); }\n\tSYS_GETSOCKOPT           = 118 // { int|sys||getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); }\n\tSYS_READV                = 120 // { ssize_t|sys||readv(int fd, const struct iovec *iovp, int iovcnt); }\n\tSYS_WRITEV               = 121 // { ssize_t|sys||writev(int fd, const struct iovec *iovp, int iovcnt); }\n\tSYS_FCHOWN               = 123 // { int|sys||fchown(int fd, uid_t uid, gid_t gid); }\n\tSYS_FCHMOD               = 124 // { int|sys||fchmod(int fd, mode_t mode); }\n\tSYS_SETREUID             = 126 // { int|sys||setreuid(uid_t ruid, uid_t euid); }\n\tSYS_SETREGID             = 127 // { int|sys||setregid(gid_t rgid, gid_t egid); }\n\tSYS_RENAME               = 128 // { int|sys||rename(const char *from, const char *to); }\n\tSYS_FLOCK                = 131 // { int|sys||flock(int fd, int how); }\n\tSYS_MKFIFO               = 132 // { int|sys||mkfifo(const char *path, mode_t mode); }\n\tSYS_SENDTO               = 133 // { ssize_t|sys||sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); }\n\tSYS_SHUTDOWN             = 134 // { int|sys||shutdown(int s, int how); }\n\tSYS_SOCKETPAIR           = 135 // { int|sys||socketpair(int domain, int type, int protocol, int *rsv); }\n\tSYS_MKDIR                = 136 // { int|sys||mkdir(const char *path, mode_t mode); }\n\tSYS_RMDIR                = 137 // { int|sys||rmdir(const char *path); }\n\tSYS_SETSID               = 147 // { int|sys||setsid(void); }\n\tSYS_SYSARCH              = 165 // { int|sys||sysarch(int op, void *parms); }\n\tSYS_PREAD                = 173 // { ssize_t|sys||pread(int fd, void *buf, size_t nbyte, int PAD, off_t offset); }\n\tSYS_PWRITE               = 174 // { ssize_t|sys||pwrite(int fd, const void *buf, size_t nbyte, int PAD, off_t offset); }\n\tSYS_NTP_ADJTIME          = 176 // { int|sys||ntp_adjtime(struct timex *tp); }\n\tSYS_SETGID               = 181 // { int|sys||setgid(gid_t gid); }\n\tSYS_SETEGID              = 182 // { int|sys||setegid(gid_t egid); }\n\tSYS_SETEUID              = 183 // { int|sys||seteuid(uid_t euid); }\n\tSYS_PATHCONF             = 191 // { long|sys||pathconf(const char *path, int name); }\n\tSYS_FPATHCONF            = 192 // { long|sys||fpathconf(int fd, int name); }\n\tSYS_GETRLIMIT            = 194 // { int|sys||getrlimit(int which, struct rlimit *rlp); }\n\tSYS_SETRLIMIT            = 195 // { int|sys||setrlimit(int which, const struct rlimit *rlp); }\n\tSYS_MMAP                 = 197 // { void *|sys||mmap(void *addr, size_t len, int prot, int flags, int fd, long PAD, off_t pos); }\n\tSYS_LSEEK                = 199 // { off_t|sys||lseek(int fd, int PAD, off_t offset, int whence); }\n\tSYS_TRUNCATE             = 200 // { int|sys||truncate(const char *path, int PAD, off_t length); }\n\tSYS_FTRUNCATE            = 201 // { int|sys||ftruncate(int fd, int PAD, off_t length); }\n\tSYS___SYSCTL             = 202 // { int|sys||__sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, const void *new, size_t newlen); }\n\tSYS_MLOCK                = 203 // { int|sys||mlock(const void *addr, size_t len); }\n\tSYS_MUNLOCK              = 204 // { int|sys||munlock(const void *addr, size_t len); }\n\tSYS_UNDELETE             = 205 // { int|sys||undelete(const char *path); }\n\tSYS_GETPGID              = 207 // { pid_t|sys||getpgid(pid_t pid); }\n\tSYS_REBOOT               = 208 // { int|sys||reboot(int opt, char *bootstr); }\n\tSYS_POLL                 = 209 // { int|sys||poll(struct pollfd *fds, u_int nfds, int timeout); }\n\tSYS_SEMGET               = 221 // { int|sys||semget(key_t key, int nsems, int semflg); }\n\tSYS_SEMOP                = 222 // { int|sys||semop(int semid, struct sembuf *sops, size_t nsops); }\n\tSYS_SEMCONFIG            = 223 // { int|sys||semconfig(int flag); }\n\tSYS_MSGGET               = 225 // { int|sys||msgget(key_t key, int msgflg); }\n\tSYS_MSGSND               = 226 // { int|sys||msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); }\n\tSYS_MSGRCV               = 227 // { ssize_t|sys||msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); }\n\tSYS_SHMAT                = 228 // { void *|sys||shmat(int shmid, const void *shmaddr, int shmflg); }\n\tSYS_SHMDT                = 230 // { int|sys||shmdt(const void *shmaddr); }\n\tSYS_SHMGET               = 231 // { int|sys||shmget(key_t key, size_t size, int shmflg); }\n\tSYS_TIMER_CREATE         = 235 // { int|sys||timer_create(clockid_t clock_id, struct sigevent *evp, timer_t *timerid); }\n\tSYS_TIMER_DELETE         = 236 // { int|sys||timer_delete(timer_t timerid); }\n\tSYS_TIMER_GETOVERRUN     = 239 // { int|sys||timer_getoverrun(timer_t timerid); }\n\tSYS_FDATASYNC            = 241 // { int|sys||fdatasync(int fd); }\n\tSYS_MLOCKALL             = 242 // { int|sys||mlockall(int flags); }\n\tSYS_MUNLOCKALL           = 243 // { int|sys||munlockall(void); }\n\tSYS_SIGQUEUEINFO         = 245 // { int|sys||sigqueueinfo(pid_t pid, const siginfo_t *info); }\n\tSYS_MODCTL               = 246 // { int|sys||modctl(int cmd, void *arg); }\n\tSYS___POSIX_RENAME       = 270 // { int|sys||__posix_rename(const char *from, const char *to); }\n\tSYS_SWAPCTL              = 271 // { int|sys||swapctl(int cmd, void *arg, int misc); }\n\tSYS_MINHERIT             = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); }\n\tSYS_LCHMOD               = 274 // { int|sys||lchmod(const char *path, mode_t mode); }\n\tSYS_LCHOWN               = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); }\n\tSYS_MSYNC                = 277 // { int|sys|13|msync(void *addr, size_t len, int flags); }\n\tSYS___POSIX_CHOWN        = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); }\n\tSYS___POSIX_FCHOWN       = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); }\n\tSYS___POSIX_LCHOWN       = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); }\n\tSYS_GETSID               = 286 // { pid_t|sys||getsid(pid_t pid); }\n\tSYS___CLONE              = 287 // { pid_t|sys||__clone(int flags, void *stack); }\n\tSYS_FKTRACE              = 288 // { int|sys||fktrace(int fd, int ops, int facs, pid_t pid); }\n\tSYS_PREADV               = 289 // { ssize_t|sys||preadv(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); }\n\tSYS_PWRITEV              = 290 // { ssize_t|sys||pwritev(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); }\n\tSYS___GETCWD             = 296 // { int|sys||__getcwd(char *bufp, size_t length); }\n\tSYS_FCHROOT              = 297 // { int|sys||fchroot(int fd); }\n\tSYS_LCHFLAGS             = 304 // { int|sys||lchflags(const char *path, u_long flags); }\n\tSYS_ISSETUGID            = 305 // { int|sys||issetugid(void); }\n\tSYS_UTRACE               = 306 // { int|sys||utrace(const char *label, void *addr, size_t len); }\n\tSYS_GETCONTEXT           = 307 // { int|sys||getcontext(struct __ucontext *ucp); }\n\tSYS_SETCONTEXT           = 308 // { int|sys||setcontext(const struct __ucontext *ucp); }\n\tSYS__LWP_CREATE          = 309 // { int|sys||_lwp_create(const struct __ucontext *ucp, u_long flags, lwpid_t *new_lwp); }\n\tSYS__LWP_EXIT            = 310 // { int|sys||_lwp_exit(void); }\n\tSYS__LWP_SELF            = 311 // { lwpid_t|sys||_lwp_self(void); }\n\tSYS__LWP_WAIT            = 312 // { int|sys||_lwp_wait(lwpid_t wait_for, lwpid_t *departed); }\n\tSYS__LWP_SUSPEND         = 313 // { int|sys||_lwp_suspend(lwpid_t target); }\n\tSYS__LWP_CONTINUE        = 314 // { int|sys||_lwp_continue(lwpid_t target); }\n\tSYS__LWP_WAKEUP          = 315 // { int|sys||_lwp_wakeup(lwpid_t target); }\n\tSYS__LWP_GETPRIVATE      = 316 // { void *|sys||_lwp_getprivate(void); }\n\tSYS__LWP_SETPRIVATE      = 317 // { void|sys||_lwp_setprivate(void *ptr); }\n\tSYS__LWP_KILL            = 318 // { int|sys||_lwp_kill(lwpid_t target, int signo); }\n\tSYS__LWP_DETACH          = 319 // { int|sys||_lwp_detach(lwpid_t target); }\n\tSYS__LWP_UNPARK          = 321 // { int|sys||_lwp_unpark(lwpid_t target, const void *hint); }\n\tSYS__LWP_UNPARK_ALL      = 322 // { ssize_t|sys||_lwp_unpark_all(const lwpid_t *targets, size_t ntargets, const void *hint); }\n\tSYS__LWP_SETNAME         = 323 // { int|sys||_lwp_setname(lwpid_t target, const char *name); }\n\tSYS__LWP_GETNAME         = 324 // { int|sys||_lwp_getname(lwpid_t target, char *name, size_t len); }\n\tSYS__LWP_CTL             = 325 // { int|sys||_lwp_ctl(int features, struct lwpctl **address); }\n\tSYS___SIGACTION_SIGTRAMP = 340 // { int|sys||__sigaction_sigtramp(int signum, const struct sigaction *nsa, struct sigaction *osa, const void *tramp, int vers); }\n\tSYS_PMC_GET_INFO         = 341 // { int|sys||pmc_get_info(int ctr, int op, void *args); }\n\tSYS_PMC_CONTROL          = 342 // { int|sys||pmc_control(int ctr, int op, void *args); }\n\tSYS_RASCTL               = 343 // { int|sys||rasctl(void *addr, size_t len, int op); }\n\tSYS_KQUEUE               = 344 // { int|sys||kqueue(void); }\n\tSYS__SCHED_SETPARAM      = 346 // { int|sys||_sched_setparam(pid_t pid, lwpid_t lid, int policy, const struct sched_param *params); }\n\tSYS__SCHED_GETPARAM      = 347 // { int|sys||_sched_getparam(pid_t pid, lwpid_t lid, int *policy, struct sched_param *params); }\n\tSYS__SCHED_SETAFFINITY   = 348 // { int|sys||_sched_setaffinity(pid_t pid, lwpid_t lid, size_t size, const cpuset_t *cpuset); }\n\tSYS__SCHED_GETAFFINITY   = 349 // { int|sys||_sched_getaffinity(pid_t pid, lwpid_t lid, size_t size, cpuset_t *cpuset); }\n\tSYS_SCHED_YIELD          = 350 // { int|sys||sched_yield(void); }\n\tSYS_FSYNC_RANGE          = 354 // { int|sys||fsync_range(int fd, int flags, off_t start, off_t length); }\n\tSYS_UUIDGEN              = 355 // { int|sys||uuidgen(struct uuid *store, int count); }\n\tSYS_GETVFSSTAT           = 356 // { int|sys||getvfsstat(struct statvfs *buf, size_t bufsize, int flags); }\n\tSYS_STATVFS1             = 357 // { int|sys||statvfs1(const char *path, struct statvfs *buf, int flags); }\n\tSYS_FSTATVFS1            = 358 // { int|sys||fstatvfs1(int fd, struct statvfs *buf, int flags); }\n\tSYS_EXTATTRCTL           = 360 // { int|sys||extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); }\n\tSYS_EXTATTR_SET_FILE     = 361 // { int|sys||extattr_set_file(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); }\n\tSYS_EXTATTR_GET_FILE     = 362 // { ssize_t|sys||extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); }\n\tSYS_EXTATTR_DELETE_FILE  = 363 // { int|sys||extattr_delete_file(const char *path, int attrnamespace, const char *attrname); }\n\tSYS_EXTATTR_SET_FD       = 364 // { int|sys||extattr_set_fd(int fd, int attrnamespace, const char *attrname, const void *data, size_t nbytes); }\n\tSYS_EXTATTR_GET_FD       = 365 // { ssize_t|sys||extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); }\n\tSYS_EXTATTR_DELETE_FD    = 366 // { int|sys||extattr_delete_fd(int fd, int attrnamespace, const char *attrname); }\n\tSYS_EXTATTR_SET_LINK     = 367 // { int|sys||extattr_set_link(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); }\n\tSYS_EXTATTR_GET_LINK     = 368 // { ssize_t|sys||extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); }\n\tSYS_EXTATTR_DELETE_LINK  = 369 // { int|sys||extattr_delete_link(const char *path, int attrnamespace, const char *attrname); }\n\tSYS_EXTATTR_LIST_FD      = 370 // { ssize_t|sys||extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); }\n\tSYS_EXTATTR_LIST_FILE    = 371 // { ssize_t|sys||extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); }\n\tSYS_EXTATTR_LIST_LINK    = 372 // { ssize_t|sys||extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); }\n\tSYS_SETXATTR             = 375 // { int|sys||setxattr(const char *path, const char *name, const void *value, size_t size, int flags); }\n\tSYS_LSETXATTR            = 376 // { int|sys||lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags); }\n\tSYS_FSETXATTR            = 377 // { int|sys||fsetxattr(int fd, const char *name, const void *value, size_t size, int flags); }\n\tSYS_GETXATTR             = 378 // { int|sys||getxattr(const char *path, const char *name, void *value, size_t size); }\n\tSYS_LGETXATTR            = 379 // { int|sys||lgetxattr(const char *path, const char *name, void *value, size_t size); }\n\tSYS_FGETXATTR            = 380 // { int|sys||fgetxattr(int fd, const char *name, void *value, size_t size); }\n\tSYS_LISTXATTR            = 381 // { int|sys||listxattr(const char *path, char *list, size_t size); }\n\tSYS_LLISTXATTR           = 382 // { int|sys||llistxattr(const char *path, char *list, size_t size); }\n\tSYS_FLISTXATTR           = 383 // { int|sys||flistxattr(int fd, char *list, size_t size); }\n\tSYS_REMOVEXATTR          = 384 // { int|sys||removexattr(const char *path, const char *name); }\n\tSYS_LREMOVEXATTR         = 385 // { int|sys||lremovexattr(const char *path, const char *name); }\n\tSYS_FREMOVEXATTR         = 386 // { int|sys||fremovexattr(int fd, const char *name); }\n\tSYS_GETDENTS             = 390 // { int|sys|30|getdents(int fd, char *buf, size_t count); }\n\tSYS_SOCKET               = 394 // { int|sys|30|socket(int domain, int type, int protocol); }\n\tSYS_GETFH                = 395 // { int|sys|30|getfh(const char *fname, void *fhp, size_t *fh_size); }\n\tSYS_MOUNT                = 410 // { int|sys|50|mount(const char *type, const char *path, int flags, void *data, size_t data_len); }\n\tSYS_MREMAP               = 411 // { void *|sys||mremap(void *old_address, size_t old_size, void *new_address, size_t new_size, int flags); }\n\tSYS_PSET_CREATE          = 412 // { int|sys||pset_create(psetid_t *psid); }\n\tSYS_PSET_DESTROY         = 413 // { int|sys||pset_destroy(psetid_t psid); }\n\tSYS_PSET_ASSIGN          = 414 // { int|sys||pset_assign(psetid_t psid, cpuid_t cpuid, psetid_t *opsid); }\n\tSYS__PSET_BIND           = 415 // { int|sys||_pset_bind(idtype_t idtype, id_t first_id, id_t second_id, psetid_t psid, psetid_t *opsid); }\n\tSYS_POSIX_FADVISE        = 416 // { int|sys|50|posix_fadvise(int fd, int PAD, off_t offset, off_t len, int advice); }\n\tSYS_SELECT               = 417 // { int|sys|50|select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); }\n\tSYS_GETTIMEOFDAY         = 418 // { int|sys|50|gettimeofday(struct timeval *tp, void *tzp); }\n\tSYS_SETTIMEOFDAY         = 419 // { int|sys|50|settimeofday(const struct timeval *tv, const void *tzp); }\n\tSYS_UTIMES               = 420 // { int|sys|50|utimes(const char *path, const struct timeval *tptr); }\n\tSYS_ADJTIME              = 421 // { int|sys|50|adjtime(const struct timeval *delta, struct timeval *olddelta); }\n\tSYS_FUTIMES              = 423 // { int|sys|50|futimes(int fd, const struct timeval *tptr); }\n\tSYS_LUTIMES              = 424 // { int|sys|50|lutimes(const char *path, const struct timeval *tptr); }\n\tSYS_SETITIMER            = 425 // { int|sys|50|setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); }\n\tSYS_GETITIMER            = 426 // { int|sys|50|getitimer(int which, struct itimerval *itv); }\n\tSYS_CLOCK_GETTIME        = 427 // { int|sys|50|clock_gettime(clockid_t clock_id, struct timespec *tp); }\n\tSYS_CLOCK_SETTIME        = 428 // { int|sys|50|clock_settime(clockid_t clock_id, const struct timespec *tp); }\n\tSYS_CLOCK_GETRES         = 429 // { int|sys|50|clock_getres(clockid_t clock_id, struct timespec *tp); }\n\tSYS_NANOSLEEP            = 430 // { int|sys|50|nanosleep(const struct timespec *rqtp, struct timespec *rmtp); }\n\tSYS___SIGTIMEDWAIT       = 431 // { int|sys|50|__sigtimedwait(const sigset_t *set, siginfo_t *info, struct timespec *timeout); }\n\tSYS__LWP_PARK            = 434 // { int|sys|50|_lwp_park(const struct timespec *ts, lwpid_t unpark, const void *hint, const void *unparkhint); }\n\tSYS_KEVENT               = 435 // { int|sys|50|kevent(int fd, const struct kevent *changelist, size_t nchanges, struct kevent *eventlist, size_t nevents, const struct timespec *timeout); }\n\tSYS_PSELECT              = 436 // { int|sys|50|pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); }\n\tSYS_POLLTS               = 437 // { int|sys|50|pollts(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); }\n\tSYS_STAT                 = 439 // { int|sys|50|stat(const char *path, struct stat *ub); }\n\tSYS_FSTAT                = 440 // { int|sys|50|fstat(int fd, struct stat *sb); }\n\tSYS_LSTAT                = 441 // { int|sys|50|lstat(const char *path, struct stat *ub); }\n\tSYS___SEMCTL             = 442 // { int|sys|50|__semctl(int semid, int semnum, int cmd, ... union __semun *arg); }\n\tSYS_SHMCTL               = 443 // { int|sys|50|shmctl(int shmid, int cmd, struct shmid_ds *buf); }\n\tSYS_MSGCTL               = 444 // { int|sys|50|msgctl(int msqid, int cmd, struct msqid_ds *buf); }\n\tSYS_GETRUSAGE            = 445 // { int|sys|50|getrusage(int who, struct rusage *rusage); }\n\tSYS_TIMER_SETTIME        = 446 // { int|sys|50|timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); }\n\tSYS_TIMER_GETTIME        = 447 // { int|sys|50|timer_gettime(timer_t timerid, struct itimerspec *value); }\n\tSYS_NTP_GETTIME          = 448 // { int|sys|50|ntp_gettime(struct ntptimeval *ntvp); }\n\tSYS_WAIT4                = 449 // { int|sys|50|wait4(pid_t pid, int *status, int options, struct rusage *rusage); }\n\tSYS_MKNOD                = 450 // { int|sys|50|mknod(const char *path, mode_t mode, dev_t dev); }\n\tSYS_FHSTAT               = 451 // { int|sys|50|fhstat(const void *fhp, size_t fh_size, struct stat *sb); }\n\tSYS_PIPE2                = 453 // { int|sys||pipe2(int *fildes, int flags); }\n\tSYS_DUP3                 = 454 // { int|sys||dup3(int from, int to, int flags); }\n\tSYS_KQUEUE1              = 455 // { int|sys||kqueue1(int flags); }\n\tSYS_PACCEPT              = 456 // { int|sys||paccept(int s, struct sockaddr *name, socklen_t *anamelen, const sigset_t *mask, int flags); }\n\tSYS_LINKAT               = 457 // { int|sys||linkat(int fd1, const char *name1, int fd2, const char *name2, int flags); }\n\tSYS_RENAMEAT             = 458 // { int|sys||renameat(int fromfd, const char *from, int tofd, const char *to); }\n\tSYS_MKFIFOAT             = 459 // { int|sys||mkfifoat(int fd, const char *path, mode_t mode); }\n\tSYS_MKNODAT              = 460 // { int|sys||mknodat(int fd, const char *path, mode_t mode, uint32_t dev); }\n\tSYS_MKDIRAT              = 461 // { int|sys||mkdirat(int fd, const char *path, mode_t mode); }\n\tSYS_FACCESSAT            = 462 // { int|sys||faccessat(int fd, const char *path, int amode, int flag); }\n\tSYS_FCHMODAT             = 463 // { int|sys||fchmodat(int fd, const char *path, mode_t mode, int flag); }\n\tSYS_FCHOWNAT             = 464 // { int|sys||fchownat(int fd, const char *path, uid_t owner, gid_t group, int flag); }\n\tSYS_FEXECVE              = 465 // { int|sys||fexecve(int fd, char * const *argp, char * const *envp); }\n\tSYS_FSTATAT              = 466 // { int|sys||fstatat(int fd, const char *path, struct stat *buf, int flag); }\n\tSYS_UTIMENSAT            = 467 // { int|sys||utimensat(int fd, const char *path, const struct timespec *tptr, int flag); }\n\tSYS_OPENAT               = 468 // { int|sys||openat(int fd, const char *path, int oflags, ... mode_t mode); }\n\tSYS_READLINKAT           = 469 // { int|sys||readlinkat(int fd, const char *path, char *buf, size_t bufsize); }\n\tSYS_SYMLINKAT            = 470 // { int|sys||symlinkat(const char *path1, int fd, const char *path2); }\n\tSYS_UNLINKAT             = 471 // { int|sys||unlinkat(int fd, const char *path, int flag); }\n\tSYS_FUTIMENS             = 472 // { int|sys||futimens(int fd, const struct timespec *tptr); }\n\tSYS___QUOTACTL           = 473 // { int|sys||__quotactl(const char *path, struct quotactl_args *args); }\n\tSYS_POSIX_SPAWN          = 474 // { int|sys||posix_spawn(pid_t *pid, const char *path, const struct posix_spawn_file_actions *file_actions, const struct posix_spawnattr *attrp, char *const *argv, char *const *envp); }\n\tSYS_RECVMMSG             = 475 // { int|sys||recvmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags, struct timespec *timeout); }\n\tSYS_SENDMMSG             = 476 // { int|sys||sendmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags); }\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go",
    "content": "// mksysnum_netbsd.pl\n// Code generated by the command above; DO NOT EDIT.\n\n// +build arm,netbsd\n\npackage unix\n\nconst (\n\tSYS_EXIT                 = 1   // { void|sys||exit(int rval); }\n\tSYS_FORK                 = 2   // { int|sys||fork(void); }\n\tSYS_READ                 = 3   // { ssize_t|sys||read(int fd, void *buf, size_t nbyte); }\n\tSYS_WRITE                = 4   // { ssize_t|sys||write(int fd, const void *buf, size_t nbyte); }\n\tSYS_OPEN                 = 5   // { int|sys||open(const char *path, int flags, ... mode_t mode); }\n\tSYS_CLOSE                = 6   // { int|sys||close(int fd); }\n\tSYS_LINK                 = 9   // { int|sys||link(const char *path, const char *link); }\n\tSYS_UNLINK               = 10  // { int|sys||unlink(const char *path); }\n\tSYS_CHDIR                = 12  // { int|sys||chdir(const char *path); }\n\tSYS_FCHDIR               = 13  // { int|sys||fchdir(int fd); }\n\tSYS_CHMOD                = 15  // { int|sys||chmod(const char *path, mode_t mode); }\n\tSYS_CHOWN                = 16  // { int|sys||chown(const char *path, uid_t uid, gid_t gid); }\n\tSYS_BREAK                = 17  // { int|sys||obreak(char *nsize); }\n\tSYS_GETPID               = 20  // { pid_t|sys||getpid_with_ppid(void); }\n\tSYS_UNMOUNT              = 22  // { int|sys||unmount(const char *path, int flags); }\n\tSYS_SETUID               = 23  // { int|sys||setuid(uid_t uid); }\n\tSYS_GETUID               = 24  // { uid_t|sys||getuid_with_euid(void); }\n\tSYS_GETEUID              = 25  // { uid_t|sys||geteuid(void); }\n\tSYS_PTRACE               = 26  // { int|sys||ptrace(int req, pid_t pid, void *addr, int data); }\n\tSYS_RECVMSG              = 27  // { ssize_t|sys||recvmsg(int s, struct msghdr *msg, int flags); }\n\tSYS_SENDMSG              = 28  // { ssize_t|sys||sendmsg(int s, const struct msghdr *msg, int flags); }\n\tSYS_RECVFROM             = 29  // { ssize_t|sys||recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); }\n\tSYS_ACCEPT               = 30  // { int|sys||accept(int s, struct sockaddr *name, socklen_t *anamelen); }\n\tSYS_GETPEERNAME          = 31  // { int|sys||getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); }\n\tSYS_GETSOCKNAME          = 32  // { int|sys||getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); }\n\tSYS_ACCESS               = 33  // { int|sys||access(const char *path, int flags); }\n\tSYS_CHFLAGS              = 34  // { int|sys||chflags(const char *path, u_long flags); }\n\tSYS_FCHFLAGS             = 35  // { int|sys||fchflags(int fd, u_long flags); }\n\tSYS_SYNC                 = 36  // { void|sys||sync(void); }\n\tSYS_KILL                 = 37  // { int|sys||kill(pid_t pid, int signum); }\n\tSYS_GETPPID              = 39  // { pid_t|sys||getppid(void); }\n\tSYS_DUP                  = 41  // { int|sys||dup(int fd); }\n\tSYS_PIPE                 = 42  // { int|sys||pipe(void); }\n\tSYS_GETEGID              = 43  // { gid_t|sys||getegid(void); }\n\tSYS_PROFIL               = 44  // { int|sys||profil(char *samples, size_t size, u_long offset, u_int scale); }\n\tSYS_KTRACE               = 45  // { int|sys||ktrace(const char *fname, int ops, int facs, pid_t pid); }\n\tSYS_GETGID               = 47  // { gid_t|sys||getgid_with_egid(void); }\n\tSYS___GETLOGIN           = 49  // { int|sys||__getlogin(char *namebuf, size_t namelen); }\n\tSYS___SETLOGIN           = 50  // { int|sys||__setlogin(const char *namebuf); }\n\tSYS_ACCT                 = 51  // { int|sys||acct(const char *path); }\n\tSYS_IOCTL                = 54  // { int|sys||ioctl(int fd, u_long com, ... void *data); }\n\tSYS_REVOKE               = 56  // { int|sys||revoke(const char *path); }\n\tSYS_SYMLINK              = 57  // { int|sys||symlink(const char *path, const char *link); }\n\tSYS_READLINK             = 58  // { ssize_t|sys||readlink(const char *path, char *buf, size_t count); }\n\tSYS_EXECVE               = 59  // { int|sys||execve(const char *path, char * const *argp, char * const *envp); }\n\tSYS_UMASK                = 60  // { mode_t|sys||umask(mode_t newmask); }\n\tSYS_CHROOT               = 61  // { int|sys||chroot(const char *path); }\n\tSYS_VFORK                = 66  // { int|sys||vfork(void); }\n\tSYS_SBRK                 = 69  // { int|sys||sbrk(intptr_t incr); }\n\tSYS_SSTK                 = 70  // { int|sys||sstk(int incr); }\n\tSYS_VADVISE              = 72  // { int|sys||ovadvise(int anom); }\n\tSYS_MUNMAP               = 73  // { int|sys||munmap(void *addr, size_t len); }\n\tSYS_MPROTECT             = 74  // { int|sys||mprotect(void *addr, size_t len, int prot); }\n\tSYS_MADVISE              = 75  // { int|sys||madvise(void *addr, size_t len, int behav); }\n\tSYS_MINCORE              = 78  // { int|sys||mincore(void *addr, size_t len, char *vec); }\n\tSYS_GETGROUPS            = 79  // { int|sys||getgroups(int gidsetsize, gid_t *gidset); }\n\tSYS_SETGROUPS            = 80  // { int|sys||setgroups(int gidsetsize, const gid_t *gidset); }\n\tSYS_GETPGRP              = 81  // { int|sys||getpgrp(void); }\n\tSYS_SETPGID              = 82  // { int|sys||setpgid(pid_t pid, pid_t pgid); }\n\tSYS_DUP2                 = 90  // { int|sys||dup2(int from, int to); }\n\tSYS_FCNTL                = 92  // { int|sys||fcntl(int fd, int cmd, ... void *arg); }\n\tSYS_FSYNC                = 95  // { int|sys||fsync(int fd); }\n\tSYS_SETPRIORITY          = 96  // { int|sys||setpriority(int which, id_t who, int prio); }\n\tSYS_CONNECT              = 98  // { int|sys||connect(int s, const struct sockaddr *name, socklen_t namelen); }\n\tSYS_GETPRIORITY          = 100 // { int|sys||getpriority(int which, id_t who); }\n\tSYS_BIND                 = 104 // { int|sys||bind(int s, const struct sockaddr *name, socklen_t namelen); }\n\tSYS_SETSOCKOPT           = 105 // { int|sys||setsockopt(int s, int level, int name, const void *val, socklen_t valsize); }\n\tSYS_LISTEN               = 106 // { int|sys||listen(int s, int backlog); }\n\tSYS_GETSOCKOPT           = 118 // { int|sys||getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); }\n\tSYS_READV                = 120 // { ssize_t|sys||readv(int fd, const struct iovec *iovp, int iovcnt); }\n\tSYS_WRITEV               = 121 // { ssize_t|sys||writev(int fd, const struct iovec *iovp, int iovcnt); }\n\tSYS_FCHOWN               = 123 // { int|sys||fchown(int fd, uid_t uid, gid_t gid); }\n\tSYS_FCHMOD               = 124 // { int|sys||fchmod(int fd, mode_t mode); }\n\tSYS_SETREUID             = 126 // { int|sys||setreuid(uid_t ruid, uid_t euid); }\n\tSYS_SETREGID             = 127 // { int|sys||setregid(gid_t rgid, gid_t egid); }\n\tSYS_RENAME               = 128 // { int|sys||rename(const char *from, const char *to); }\n\tSYS_FLOCK                = 131 // { int|sys||flock(int fd, int how); }\n\tSYS_MKFIFO               = 132 // { int|sys||mkfifo(const char *path, mode_t mode); }\n\tSYS_SENDTO               = 133 // { ssize_t|sys||sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); }\n\tSYS_SHUTDOWN             = 134 // { int|sys||shutdown(int s, int how); }\n\tSYS_SOCKETPAIR           = 135 // { int|sys||socketpair(int domain, int type, int protocol, int *rsv); }\n\tSYS_MKDIR                = 136 // { int|sys||mkdir(const char *path, mode_t mode); }\n\tSYS_RMDIR                = 137 // { int|sys||rmdir(const char *path); }\n\tSYS_SETSID               = 147 // { int|sys||setsid(void); }\n\tSYS_SYSARCH              = 165 // { int|sys||sysarch(int op, void *parms); }\n\tSYS_PREAD                = 173 // { ssize_t|sys||pread(int fd, void *buf, size_t nbyte, int PAD, off_t offset); }\n\tSYS_PWRITE               = 174 // { ssize_t|sys||pwrite(int fd, const void *buf, size_t nbyte, int PAD, off_t offset); }\n\tSYS_NTP_ADJTIME          = 176 // { int|sys||ntp_adjtime(struct timex *tp); }\n\tSYS_SETGID               = 181 // { int|sys||setgid(gid_t gid); }\n\tSYS_SETEGID              = 182 // { int|sys||setegid(gid_t egid); }\n\tSYS_SETEUID              = 183 // { int|sys||seteuid(uid_t euid); }\n\tSYS_PATHCONF             = 191 // { long|sys||pathconf(const char *path, int name); }\n\tSYS_FPATHCONF            = 192 // { long|sys||fpathconf(int fd, int name); }\n\tSYS_GETRLIMIT            = 194 // { int|sys||getrlimit(int which, struct rlimit *rlp); }\n\tSYS_SETRLIMIT            = 195 // { int|sys||setrlimit(int which, const struct rlimit *rlp); }\n\tSYS_MMAP                 = 197 // { void *|sys||mmap(void *addr, size_t len, int prot, int flags, int fd, long PAD, off_t pos); }\n\tSYS_LSEEK                = 199 // { off_t|sys||lseek(int fd, int PAD, off_t offset, int whence); }\n\tSYS_TRUNCATE             = 200 // { int|sys||truncate(const char *path, int PAD, off_t length); }\n\tSYS_FTRUNCATE            = 201 // { int|sys||ftruncate(int fd, int PAD, off_t length); }\n\tSYS___SYSCTL             = 202 // { int|sys||__sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, const void *new, size_t newlen); }\n\tSYS_MLOCK                = 203 // { int|sys||mlock(const void *addr, size_t len); }\n\tSYS_MUNLOCK              = 204 // { int|sys||munlock(const void *addr, size_t len); }\n\tSYS_UNDELETE             = 205 // { int|sys||undelete(const char *path); }\n\tSYS_GETPGID              = 207 // { pid_t|sys||getpgid(pid_t pid); }\n\tSYS_REBOOT               = 208 // { int|sys||reboot(int opt, char *bootstr); }\n\tSYS_POLL                 = 209 // { int|sys||poll(struct pollfd *fds, u_int nfds, int timeout); }\n\tSYS_SEMGET               = 221 // { int|sys||semget(key_t key, int nsems, int semflg); }\n\tSYS_SEMOP                = 222 // { int|sys||semop(int semid, struct sembuf *sops, size_t nsops); }\n\tSYS_SEMCONFIG            = 223 // { int|sys||semconfig(int flag); }\n\tSYS_MSGGET               = 225 // { int|sys||msgget(key_t key, int msgflg); }\n\tSYS_MSGSND               = 226 // { int|sys||msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); }\n\tSYS_MSGRCV               = 227 // { ssize_t|sys||msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); }\n\tSYS_SHMAT                = 228 // { void *|sys||shmat(int shmid, const void *shmaddr, int shmflg); }\n\tSYS_SHMDT                = 230 // { int|sys||shmdt(const void *shmaddr); }\n\tSYS_SHMGET               = 231 // { int|sys||shmget(key_t key, size_t size, int shmflg); }\n\tSYS_TIMER_CREATE         = 235 // { int|sys||timer_create(clockid_t clock_id, struct sigevent *evp, timer_t *timerid); }\n\tSYS_TIMER_DELETE         = 236 // { int|sys||timer_delete(timer_t timerid); }\n\tSYS_TIMER_GETOVERRUN     = 239 // { int|sys||timer_getoverrun(timer_t timerid); }\n\tSYS_FDATASYNC            = 241 // { int|sys||fdatasync(int fd); }\n\tSYS_MLOCKALL             = 242 // { int|sys||mlockall(int flags); }\n\tSYS_MUNLOCKALL           = 243 // { int|sys||munlockall(void); }\n\tSYS_SIGQUEUEINFO         = 245 // { int|sys||sigqueueinfo(pid_t pid, const siginfo_t *info); }\n\tSYS_MODCTL               = 246 // { int|sys||modctl(int cmd, void *arg); }\n\tSYS___POSIX_RENAME       = 270 // { int|sys||__posix_rename(const char *from, const char *to); }\n\tSYS_SWAPCTL              = 271 // { int|sys||swapctl(int cmd, void *arg, int misc); }\n\tSYS_MINHERIT             = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); }\n\tSYS_LCHMOD               = 274 // { int|sys||lchmod(const char *path, mode_t mode); }\n\tSYS_LCHOWN               = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); }\n\tSYS_MSYNC                = 277 // { int|sys|13|msync(void *addr, size_t len, int flags); }\n\tSYS___POSIX_CHOWN        = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); }\n\tSYS___POSIX_FCHOWN       = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); }\n\tSYS___POSIX_LCHOWN       = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); }\n\tSYS_GETSID               = 286 // { pid_t|sys||getsid(pid_t pid); }\n\tSYS___CLONE              = 287 // { pid_t|sys||__clone(int flags, void *stack); }\n\tSYS_FKTRACE              = 288 // { int|sys||fktrace(int fd, int ops, int facs, pid_t pid); }\n\tSYS_PREADV               = 289 // { ssize_t|sys||preadv(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); }\n\tSYS_PWRITEV              = 290 // { ssize_t|sys||pwritev(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); }\n\tSYS___GETCWD             = 296 // { int|sys||__getcwd(char *bufp, size_t length); }\n\tSYS_FCHROOT              = 297 // { int|sys||fchroot(int fd); }\n\tSYS_LCHFLAGS             = 304 // { int|sys||lchflags(const char *path, u_long flags); }\n\tSYS_ISSETUGID            = 305 // { int|sys||issetugid(void); }\n\tSYS_UTRACE               = 306 // { int|sys||utrace(const char *label, void *addr, size_t len); }\n\tSYS_GETCONTEXT           = 307 // { int|sys||getcontext(struct __ucontext *ucp); }\n\tSYS_SETCONTEXT           = 308 // { int|sys||setcontext(const struct __ucontext *ucp); }\n\tSYS__LWP_CREATE          = 309 // { int|sys||_lwp_create(const struct __ucontext *ucp, u_long flags, lwpid_t *new_lwp); }\n\tSYS__LWP_EXIT            = 310 // { int|sys||_lwp_exit(void); }\n\tSYS__LWP_SELF            = 311 // { lwpid_t|sys||_lwp_self(void); }\n\tSYS__LWP_WAIT            = 312 // { int|sys||_lwp_wait(lwpid_t wait_for, lwpid_t *departed); }\n\tSYS__LWP_SUSPEND         = 313 // { int|sys||_lwp_suspend(lwpid_t target); }\n\tSYS__LWP_CONTINUE        = 314 // { int|sys||_lwp_continue(lwpid_t target); }\n\tSYS__LWP_WAKEUP          = 315 // { int|sys||_lwp_wakeup(lwpid_t target); }\n\tSYS__LWP_GETPRIVATE      = 316 // { void *|sys||_lwp_getprivate(void); }\n\tSYS__LWP_SETPRIVATE      = 317 // { void|sys||_lwp_setprivate(void *ptr); }\n\tSYS__LWP_KILL            = 318 // { int|sys||_lwp_kill(lwpid_t target, int signo); }\n\tSYS__LWP_DETACH          = 319 // { int|sys||_lwp_detach(lwpid_t target); }\n\tSYS__LWP_UNPARK          = 321 // { int|sys||_lwp_unpark(lwpid_t target, const void *hint); }\n\tSYS__LWP_UNPARK_ALL      = 322 // { ssize_t|sys||_lwp_unpark_all(const lwpid_t *targets, size_t ntargets, const void *hint); }\n\tSYS__LWP_SETNAME         = 323 // { int|sys||_lwp_setname(lwpid_t target, const char *name); }\n\tSYS__LWP_GETNAME         = 324 // { int|sys||_lwp_getname(lwpid_t target, char *name, size_t len); }\n\tSYS__LWP_CTL             = 325 // { int|sys||_lwp_ctl(int features, struct lwpctl **address); }\n\tSYS___SIGACTION_SIGTRAMP = 340 // { int|sys||__sigaction_sigtramp(int signum, const struct sigaction *nsa, struct sigaction *osa, const void *tramp, int vers); }\n\tSYS_PMC_GET_INFO         = 341 // { int|sys||pmc_get_info(int ctr, int op, void *args); }\n\tSYS_PMC_CONTROL          = 342 // { int|sys||pmc_control(int ctr, int op, void *args); }\n\tSYS_RASCTL               = 343 // { int|sys||rasctl(void *addr, size_t len, int op); }\n\tSYS_KQUEUE               = 344 // { int|sys||kqueue(void); }\n\tSYS__SCHED_SETPARAM      = 346 // { int|sys||_sched_setparam(pid_t pid, lwpid_t lid, int policy, const struct sched_param *params); }\n\tSYS__SCHED_GETPARAM      = 347 // { int|sys||_sched_getparam(pid_t pid, lwpid_t lid, int *policy, struct sched_param *params); }\n\tSYS__SCHED_SETAFFINITY   = 348 // { int|sys||_sched_setaffinity(pid_t pid, lwpid_t lid, size_t size, const cpuset_t *cpuset); }\n\tSYS__SCHED_GETAFFINITY   = 349 // { int|sys||_sched_getaffinity(pid_t pid, lwpid_t lid, size_t size, cpuset_t *cpuset); }\n\tSYS_SCHED_YIELD          = 350 // { int|sys||sched_yield(void); }\n\tSYS_FSYNC_RANGE          = 354 // { int|sys||fsync_range(int fd, int flags, off_t start, off_t length); }\n\tSYS_UUIDGEN              = 355 // { int|sys||uuidgen(struct uuid *store, int count); }\n\tSYS_GETVFSSTAT           = 356 // { int|sys||getvfsstat(struct statvfs *buf, size_t bufsize, int flags); }\n\tSYS_STATVFS1             = 357 // { int|sys||statvfs1(const char *path, struct statvfs *buf, int flags); }\n\tSYS_FSTATVFS1            = 358 // { int|sys||fstatvfs1(int fd, struct statvfs *buf, int flags); }\n\tSYS_EXTATTRCTL           = 360 // { int|sys||extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); }\n\tSYS_EXTATTR_SET_FILE     = 361 // { int|sys||extattr_set_file(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); }\n\tSYS_EXTATTR_GET_FILE     = 362 // { ssize_t|sys||extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); }\n\tSYS_EXTATTR_DELETE_FILE  = 363 // { int|sys||extattr_delete_file(const char *path, int attrnamespace, const char *attrname); }\n\tSYS_EXTATTR_SET_FD       = 364 // { int|sys||extattr_set_fd(int fd, int attrnamespace, const char *attrname, const void *data, size_t nbytes); }\n\tSYS_EXTATTR_GET_FD       = 365 // { ssize_t|sys||extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); }\n\tSYS_EXTATTR_DELETE_FD    = 366 // { int|sys||extattr_delete_fd(int fd, int attrnamespace, const char *attrname); }\n\tSYS_EXTATTR_SET_LINK     = 367 // { int|sys||extattr_set_link(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); }\n\tSYS_EXTATTR_GET_LINK     = 368 // { ssize_t|sys||extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); }\n\tSYS_EXTATTR_DELETE_LINK  = 369 // { int|sys||extattr_delete_link(const char *path, int attrnamespace, const char *attrname); }\n\tSYS_EXTATTR_LIST_FD      = 370 // { ssize_t|sys||extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); }\n\tSYS_EXTATTR_LIST_FILE    = 371 // { ssize_t|sys||extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); }\n\tSYS_EXTATTR_LIST_LINK    = 372 // { ssize_t|sys||extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); }\n\tSYS_SETXATTR             = 375 // { int|sys||setxattr(const char *path, const char *name, const void *value, size_t size, int flags); }\n\tSYS_LSETXATTR            = 376 // { int|sys||lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags); }\n\tSYS_FSETXATTR            = 377 // { int|sys||fsetxattr(int fd, const char *name, const void *value, size_t size, int flags); }\n\tSYS_GETXATTR             = 378 // { int|sys||getxattr(const char *path, const char *name, void *value, size_t size); }\n\tSYS_LGETXATTR            = 379 // { int|sys||lgetxattr(const char *path, const char *name, void *value, size_t size); }\n\tSYS_FGETXATTR            = 380 // { int|sys||fgetxattr(int fd, const char *name, void *value, size_t size); }\n\tSYS_LISTXATTR            = 381 // { int|sys||listxattr(const char *path, char *list, size_t size); }\n\tSYS_LLISTXATTR           = 382 // { int|sys||llistxattr(const char *path, char *list, size_t size); }\n\tSYS_FLISTXATTR           = 383 // { int|sys||flistxattr(int fd, char *list, size_t size); }\n\tSYS_REMOVEXATTR          = 384 // { int|sys||removexattr(const char *path, const char *name); }\n\tSYS_LREMOVEXATTR         = 385 // { int|sys||lremovexattr(const char *path, const char *name); }\n\tSYS_FREMOVEXATTR         = 386 // { int|sys||fremovexattr(int fd, const char *name); }\n\tSYS_GETDENTS             = 390 // { int|sys|30|getdents(int fd, char *buf, size_t count); }\n\tSYS_SOCKET               = 394 // { int|sys|30|socket(int domain, int type, int protocol); }\n\tSYS_GETFH                = 395 // { int|sys|30|getfh(const char *fname, void *fhp, size_t *fh_size); }\n\tSYS_MOUNT                = 410 // { int|sys|50|mount(const char *type, const char *path, int flags, void *data, size_t data_len); }\n\tSYS_MREMAP               = 411 // { void *|sys||mremap(void *old_address, size_t old_size, void *new_address, size_t new_size, int flags); }\n\tSYS_PSET_CREATE          = 412 // { int|sys||pset_create(psetid_t *psid); }\n\tSYS_PSET_DESTROY         = 413 // { int|sys||pset_destroy(psetid_t psid); }\n\tSYS_PSET_ASSIGN          = 414 // { int|sys||pset_assign(psetid_t psid, cpuid_t cpuid, psetid_t *opsid); }\n\tSYS__PSET_BIND           = 415 // { int|sys||_pset_bind(idtype_t idtype, id_t first_id, id_t second_id, psetid_t psid, psetid_t *opsid); }\n\tSYS_POSIX_FADVISE        = 416 // { int|sys|50|posix_fadvise(int fd, int PAD, off_t offset, off_t len, int advice); }\n\tSYS_SELECT               = 417 // { int|sys|50|select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); }\n\tSYS_GETTIMEOFDAY         = 418 // { int|sys|50|gettimeofday(struct timeval *tp, void *tzp); }\n\tSYS_SETTIMEOFDAY         = 419 // { int|sys|50|settimeofday(const struct timeval *tv, const void *tzp); }\n\tSYS_UTIMES               = 420 // { int|sys|50|utimes(const char *path, const struct timeval *tptr); }\n\tSYS_ADJTIME              = 421 // { int|sys|50|adjtime(const struct timeval *delta, struct timeval *olddelta); }\n\tSYS_FUTIMES              = 423 // { int|sys|50|futimes(int fd, const struct timeval *tptr); }\n\tSYS_LUTIMES              = 424 // { int|sys|50|lutimes(const char *path, const struct timeval *tptr); }\n\tSYS_SETITIMER            = 425 // { int|sys|50|setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); }\n\tSYS_GETITIMER            = 426 // { int|sys|50|getitimer(int which, struct itimerval *itv); }\n\tSYS_CLOCK_GETTIME        = 427 // { int|sys|50|clock_gettime(clockid_t clock_id, struct timespec *tp); }\n\tSYS_CLOCK_SETTIME        = 428 // { int|sys|50|clock_settime(clockid_t clock_id, const struct timespec *tp); }\n\tSYS_CLOCK_GETRES         = 429 // { int|sys|50|clock_getres(clockid_t clock_id, struct timespec *tp); }\n\tSYS_NANOSLEEP            = 430 // { int|sys|50|nanosleep(const struct timespec *rqtp, struct timespec *rmtp); }\n\tSYS___SIGTIMEDWAIT       = 431 // { int|sys|50|__sigtimedwait(const sigset_t *set, siginfo_t *info, struct timespec *timeout); }\n\tSYS__LWP_PARK            = 434 // { int|sys|50|_lwp_park(const struct timespec *ts, lwpid_t unpark, const void *hint, const void *unparkhint); }\n\tSYS_KEVENT               = 435 // { int|sys|50|kevent(int fd, const struct kevent *changelist, size_t nchanges, struct kevent *eventlist, size_t nevents, const struct timespec *timeout); }\n\tSYS_PSELECT              = 436 // { int|sys|50|pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); }\n\tSYS_POLLTS               = 437 // { int|sys|50|pollts(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); }\n\tSYS_STAT                 = 439 // { int|sys|50|stat(const char *path, struct stat *ub); }\n\tSYS_FSTAT                = 440 // { int|sys|50|fstat(int fd, struct stat *sb); }\n\tSYS_LSTAT                = 441 // { int|sys|50|lstat(const char *path, struct stat *ub); }\n\tSYS___SEMCTL             = 442 // { int|sys|50|__semctl(int semid, int semnum, int cmd, ... union __semun *arg); }\n\tSYS_SHMCTL               = 443 // { int|sys|50|shmctl(int shmid, int cmd, struct shmid_ds *buf); }\n\tSYS_MSGCTL               = 444 // { int|sys|50|msgctl(int msqid, int cmd, struct msqid_ds *buf); }\n\tSYS_GETRUSAGE            = 445 // { int|sys|50|getrusage(int who, struct rusage *rusage); }\n\tSYS_TIMER_SETTIME        = 446 // { int|sys|50|timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); }\n\tSYS_TIMER_GETTIME        = 447 // { int|sys|50|timer_gettime(timer_t timerid, struct itimerspec *value); }\n\tSYS_NTP_GETTIME          = 448 // { int|sys|50|ntp_gettime(struct ntptimeval *ntvp); }\n\tSYS_WAIT4                = 449 // { int|sys|50|wait4(pid_t pid, int *status, int options, struct rusage *rusage); }\n\tSYS_MKNOD                = 450 // { int|sys|50|mknod(const char *path, mode_t mode, dev_t dev); }\n\tSYS_FHSTAT               = 451 // { int|sys|50|fhstat(const void *fhp, size_t fh_size, struct stat *sb); }\n\tSYS_PIPE2                = 453 // { int|sys||pipe2(int *fildes, int flags); }\n\tSYS_DUP3                 = 454 // { int|sys||dup3(int from, int to, int flags); }\n\tSYS_KQUEUE1              = 455 // { int|sys||kqueue1(int flags); }\n\tSYS_PACCEPT              = 456 // { int|sys||paccept(int s, struct sockaddr *name, socklen_t *anamelen, const sigset_t *mask, int flags); }\n\tSYS_LINKAT               = 457 // { int|sys||linkat(int fd1, const char *name1, int fd2, const char *name2, int flags); }\n\tSYS_RENAMEAT             = 458 // { int|sys||renameat(int fromfd, const char *from, int tofd, const char *to); }\n\tSYS_MKFIFOAT             = 459 // { int|sys||mkfifoat(int fd, const char *path, mode_t mode); }\n\tSYS_MKNODAT              = 460 // { int|sys||mknodat(int fd, const char *path, mode_t mode, uint32_t dev); }\n\tSYS_MKDIRAT              = 461 // { int|sys||mkdirat(int fd, const char *path, mode_t mode); }\n\tSYS_FACCESSAT            = 462 // { int|sys||faccessat(int fd, const char *path, int amode, int flag); }\n\tSYS_FCHMODAT             = 463 // { int|sys||fchmodat(int fd, const char *path, mode_t mode, int flag); }\n\tSYS_FCHOWNAT             = 464 // { int|sys||fchownat(int fd, const char *path, uid_t owner, gid_t group, int flag); }\n\tSYS_FEXECVE              = 465 // { int|sys||fexecve(int fd, char * const *argp, char * const *envp); }\n\tSYS_FSTATAT              = 466 // { int|sys||fstatat(int fd, const char *path, struct stat *buf, int flag); }\n\tSYS_UTIMENSAT            = 467 // { int|sys||utimensat(int fd, const char *path, const struct timespec *tptr, int flag); }\n\tSYS_OPENAT               = 468 // { int|sys||openat(int fd, const char *path, int oflags, ... mode_t mode); }\n\tSYS_READLINKAT           = 469 // { int|sys||readlinkat(int fd, const char *path, char *buf, size_t bufsize); }\n\tSYS_SYMLINKAT            = 470 // { int|sys||symlinkat(const char *path1, int fd, const char *path2); }\n\tSYS_UNLINKAT             = 471 // { int|sys||unlinkat(int fd, const char *path, int flag); }\n\tSYS_FUTIMENS             = 472 // { int|sys||futimens(int fd, const struct timespec *tptr); }\n\tSYS___QUOTACTL           = 473 // { int|sys||__quotactl(const char *path, struct quotactl_args *args); }\n\tSYS_POSIX_SPAWN          = 474 // { int|sys||posix_spawn(pid_t *pid, const char *path, const struct posix_spawn_file_actions *file_actions, const struct posix_spawnattr *attrp, char *const *argv, char *const *envp); }\n\tSYS_RECVMMSG             = 475 // { int|sys||recvmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags, struct timespec *timeout); }\n\tSYS_SENDMMSG             = 476 // { int|sys||sendmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags); }\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go",
    "content": "// mksysnum_openbsd.pl\n// Code generated by the command above; DO NOT EDIT.\n\n// +build 386,openbsd\n\npackage unix\n\nconst (\n\tSYS_EXIT           = 1   // { void sys_exit(int rval); }\n\tSYS_FORK           = 2   // { int sys_fork(void); }\n\tSYS_READ           = 3   // { ssize_t sys_read(int fd, void *buf, size_t nbyte); }\n\tSYS_WRITE          = 4   // { ssize_t sys_write(int fd, const void *buf, \\\n\tSYS_OPEN           = 5   // { int sys_open(const char *path, \\\n\tSYS_CLOSE          = 6   // { int sys_close(int fd); }\n\tSYS___TFORK        = 8   // { int sys___tfork(const struct __tfork *param, \\\n\tSYS_LINK           = 9   // { int sys_link(const char *path, const char *link); }\n\tSYS_UNLINK         = 10  // { int sys_unlink(const char *path); }\n\tSYS_WAIT4          = 11  // { pid_t sys_wait4(pid_t pid, int *status, \\\n\tSYS_CHDIR          = 12  // { int sys_chdir(const char *path); }\n\tSYS_FCHDIR         = 13  // { int sys_fchdir(int fd); }\n\tSYS_MKNOD          = 14  // { int sys_mknod(const char *path, mode_t mode, \\\n\tSYS_CHMOD          = 15  // { int sys_chmod(const char *path, mode_t mode); }\n\tSYS_CHOWN          = 16  // { int sys_chown(const char *path, uid_t uid, \\\n\tSYS_OBREAK         = 17  // { int sys_obreak(char *nsize); } break\n\tSYS_GETDTABLECOUNT = 18  // { int sys_getdtablecount(void); }\n\tSYS_GETRUSAGE      = 19  // { int sys_getrusage(int who, \\\n\tSYS_GETPID         = 20  // { pid_t sys_getpid(void); }\n\tSYS_MOUNT          = 21  // { int sys_mount(const char *type, const char *path, \\\n\tSYS_UNMOUNT        = 22  // { int sys_unmount(const char *path, int flags); }\n\tSYS_SETUID         = 23  // { int sys_setuid(uid_t uid); }\n\tSYS_GETUID         = 24  // { uid_t sys_getuid(void); }\n\tSYS_GETEUID        = 25  // { uid_t sys_geteuid(void); }\n\tSYS_PTRACE         = 26  // { int sys_ptrace(int req, pid_t pid, caddr_t addr, \\\n\tSYS_RECVMSG        = 27  // { ssize_t sys_recvmsg(int s, struct msghdr *msg, \\\n\tSYS_SENDMSG        = 28  // { ssize_t sys_sendmsg(int s, \\\n\tSYS_RECVFROM       = 29  // { ssize_t sys_recvfrom(int s, void *buf, size_t len, \\\n\tSYS_ACCEPT         = 30  // { int sys_accept(int s, struct sockaddr *name, \\\n\tSYS_GETPEERNAME    = 31  // { int sys_getpeername(int fdes, struct sockaddr *asa, \\\n\tSYS_GETSOCKNAME    = 32  // { int sys_getsockname(int fdes, struct sockaddr *asa, \\\n\tSYS_ACCESS         = 33  // { int sys_access(const char *path, int flags); }\n\tSYS_CHFLAGS        = 34  // { int sys_chflags(const char *path, u_int flags); }\n\tSYS_FCHFLAGS       = 35  // { int sys_fchflags(int fd, u_int flags); }\n\tSYS_SYNC           = 36  // { void sys_sync(void); }\n\tSYS_KILL           = 37  // { int sys_kill(int pid, int signum); }\n\tSYS_STAT           = 38  // { int sys_stat(const char *path, struct stat *ub); }\n\tSYS_GETPPID        = 39  // { pid_t sys_getppid(void); }\n\tSYS_LSTAT          = 40  // { int sys_lstat(const char *path, struct stat *ub); }\n\tSYS_DUP            = 41  // { int sys_dup(int fd); }\n\tSYS_FSTATAT        = 42  // { int sys_fstatat(int fd, const char *path, \\\n\tSYS_GETEGID        = 43  // { gid_t sys_getegid(void); }\n\tSYS_PROFIL         = 44  // { int sys_profil(caddr_t samples, size_t size, \\\n\tSYS_KTRACE         = 45  // { int sys_ktrace(const char *fname, int ops, \\\n\tSYS_SIGACTION      = 46  // { int sys_sigaction(int signum, \\\n\tSYS_GETGID         = 47  // { gid_t sys_getgid(void); }\n\tSYS_SIGPROCMASK    = 48  // { int sys_sigprocmask(int how, sigset_t mask); }\n\tSYS_GETLOGIN       = 49  // { int sys_getlogin(char *namebuf, u_int namelen); }\n\tSYS_SETLOGIN       = 50  // { int sys_setlogin(const char *namebuf); }\n\tSYS_ACCT           = 51  // { int sys_acct(const char *path); }\n\tSYS_SIGPENDING     = 52  // { int sys_sigpending(void); }\n\tSYS_FSTAT          = 53  // { int sys_fstat(int fd, struct stat *sb); }\n\tSYS_IOCTL          = 54  // { int sys_ioctl(int fd, \\\n\tSYS_REBOOT         = 55  // { int sys_reboot(int opt); }\n\tSYS_REVOKE         = 56  // { int sys_revoke(const char *path); }\n\tSYS_SYMLINK        = 57  // { int sys_symlink(const char *path, \\\n\tSYS_READLINK       = 58  // { int sys_readlink(const char *path, char *buf, \\\n\tSYS_EXECVE         = 59  // { int sys_execve(const char *path, \\\n\tSYS_UMASK          = 60  // { mode_t sys_umask(mode_t newmask); }\n\tSYS_CHROOT         = 61  // { int sys_chroot(const char *path); }\n\tSYS_GETFSSTAT      = 62  // { int sys_getfsstat(struct statfs *buf, size_t bufsize, \\\n\tSYS_STATFS         = 63  // { int sys_statfs(const char *path, \\\n\tSYS_FSTATFS        = 64  // { int sys_fstatfs(int fd, struct statfs *buf); }\n\tSYS_FHSTATFS       = 65  // { int sys_fhstatfs(const fhandle_t *fhp, \\\n\tSYS_VFORK          = 66  // { int sys_vfork(void); }\n\tSYS_GETTIMEOFDAY   = 67  // { int sys_gettimeofday(struct timeval *tp, \\\n\tSYS_SETTIMEOFDAY   = 68  // { int sys_settimeofday(const struct timeval *tv, \\\n\tSYS_SETITIMER      = 69  // { int sys_setitimer(int which, \\\n\tSYS_GETITIMER      = 70  // { int sys_getitimer(int which, \\\n\tSYS_SELECT         = 71  // { int sys_select(int nd, fd_set *in, fd_set *ou, \\\n\tSYS_KEVENT         = 72  // { int sys_kevent(int fd, \\\n\tSYS_MUNMAP         = 73  // { int sys_munmap(void *addr, size_t len); }\n\tSYS_MPROTECT       = 74  // { int sys_mprotect(void *addr, size_t len, \\\n\tSYS_MADVISE        = 75  // { int sys_madvise(void *addr, size_t len, \\\n\tSYS_UTIMES         = 76  // { int sys_utimes(const char *path, \\\n\tSYS_FUTIMES        = 77  // { int sys_futimes(int fd, \\\n\tSYS_MINCORE        = 78  // { int sys_mincore(void *addr, size_t len, \\\n\tSYS_GETGROUPS      = 79  // { int sys_getgroups(int gidsetsize, \\\n\tSYS_SETGROUPS      = 80  // { int sys_setgroups(int gidsetsize, \\\n\tSYS_GETPGRP        = 81  // { int sys_getpgrp(void); }\n\tSYS_SETPGID        = 82  // { int sys_setpgid(pid_t pid, int pgid); }\n\tSYS_UTIMENSAT      = 84  // { int sys_utimensat(int fd, const char *path, \\\n\tSYS_FUTIMENS       = 85  // { int sys_futimens(int fd, \\\n\tSYS_CLOCK_GETTIME  = 87  // { int sys_clock_gettime(clockid_t clock_id, \\\n\tSYS_CLOCK_SETTIME  = 88  // { int sys_clock_settime(clockid_t clock_id, \\\n\tSYS_CLOCK_GETRES   = 89  // { int sys_clock_getres(clockid_t clock_id, \\\n\tSYS_DUP2           = 90  // { int sys_dup2(int from, int to); }\n\tSYS_NANOSLEEP      = 91  // { int sys_nanosleep(const struct timespec *rqtp, \\\n\tSYS_FCNTL          = 92  // { int sys_fcntl(int fd, int cmd, ... void *arg); }\n\tSYS___THRSLEEP     = 94  // { int sys___thrsleep(const volatile void *ident, \\\n\tSYS_FSYNC          = 95  // { int sys_fsync(int fd); }\n\tSYS_SETPRIORITY    = 96  // { int sys_setpriority(int which, id_t who, int prio); }\n\tSYS_SOCKET         = 97  // { int sys_socket(int domain, int type, int protocol); }\n\tSYS_CONNECT        = 98  // { int sys_connect(int s, const struct sockaddr *name, \\\n\tSYS_GETDENTS       = 99  // { int sys_getdents(int fd, void *buf, size_t buflen); }\n\tSYS_GETPRIORITY    = 100 // { int sys_getpriority(int which, id_t who); }\n\tSYS_SIGRETURN      = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); }\n\tSYS_BIND           = 104 // { int sys_bind(int s, const struct sockaddr *name, \\\n\tSYS_SETSOCKOPT     = 105 // { int sys_setsockopt(int s, int level, int name, \\\n\tSYS_LISTEN         = 106 // { int sys_listen(int s, int backlog); }\n\tSYS_PPOLL          = 109 // { int sys_ppoll(struct pollfd *fds, \\\n\tSYS_PSELECT        = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, \\\n\tSYS_SIGSUSPEND     = 111 // { int sys_sigsuspend(int mask); }\n\tSYS_GETSOCKOPT     = 118 // { int sys_getsockopt(int s, int level, int name, \\\n\tSYS_READV          = 120 // { ssize_t sys_readv(int fd, \\\n\tSYS_WRITEV         = 121 // { ssize_t sys_writev(int fd, \\\n\tSYS_FCHOWN         = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); }\n\tSYS_FCHMOD         = 124 // { int sys_fchmod(int fd, mode_t mode); }\n\tSYS_SETREUID       = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); }\n\tSYS_SETREGID       = 127 // { int sys_setregid(gid_t rgid, gid_t egid); }\n\tSYS_RENAME         = 128 // { int sys_rename(const char *from, const char *to); }\n\tSYS_FLOCK          = 131 // { int sys_flock(int fd, int how); }\n\tSYS_MKFIFO         = 132 // { int sys_mkfifo(const char *path, mode_t mode); }\n\tSYS_SENDTO         = 133 // { ssize_t sys_sendto(int s, const void *buf, \\\n\tSYS_SHUTDOWN       = 134 // { int sys_shutdown(int s, int how); }\n\tSYS_SOCKETPAIR     = 135 // { int sys_socketpair(int domain, int type, \\\n\tSYS_MKDIR          = 136 // { int sys_mkdir(const char *path, mode_t mode); }\n\tSYS_RMDIR          = 137 // { int sys_rmdir(const char *path); }\n\tSYS_ADJTIME        = 140 // { int sys_adjtime(const struct timeval *delta, \\\n\tSYS_SETSID         = 147 // { int sys_setsid(void); }\n\tSYS_QUOTACTL       = 148 // { int sys_quotactl(const char *path, int cmd, \\\n\tSYS_NFSSVC         = 155 // { int sys_nfssvc(int flag, void *argp); }\n\tSYS_GETFH          = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); }\n\tSYS_SYSARCH        = 165 // { int sys_sysarch(int op, void *parms); }\n\tSYS_PREAD          = 173 // { ssize_t sys_pread(int fd, void *buf, \\\n\tSYS_PWRITE         = 174 // { ssize_t sys_pwrite(int fd, const void *buf, \\\n\tSYS_SETGID         = 181 // { int sys_setgid(gid_t gid); }\n\tSYS_SETEGID        = 182 // { int sys_setegid(gid_t egid); }\n\tSYS_SETEUID        = 183 // { int sys_seteuid(uid_t euid); }\n\tSYS_PATHCONF       = 191 // { long sys_pathconf(const char *path, int name); }\n\tSYS_FPATHCONF      = 192 // { long sys_fpathconf(int fd, int name); }\n\tSYS_SWAPCTL        = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); }\n\tSYS_GETRLIMIT      = 194 // { int sys_getrlimit(int which, \\\n\tSYS_SETRLIMIT      = 195 // { int sys_setrlimit(int which, \\\n\tSYS_MMAP           = 197 // { void *sys_mmap(void *addr, size_t len, int prot, \\\n\tSYS_LSEEK          = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, \\\n\tSYS_TRUNCATE       = 200 // { int sys_truncate(const char *path, int pad, \\\n\tSYS_FTRUNCATE      = 201 // { int sys_ftruncate(int fd, int pad, off_t length); }\n\tSYS___SYSCTL       = 202 // { int sys___sysctl(const int *name, u_int namelen, \\\n\tSYS_MLOCK          = 203 // { int sys_mlock(const void *addr, size_t len); }\n\tSYS_MUNLOCK        = 204 // { int sys_munlock(const void *addr, size_t len); }\n\tSYS_GETPGID        = 207 // { pid_t sys_getpgid(pid_t pid); }\n\tSYS_UTRACE         = 209 // { int sys_utrace(const char *label, const void *addr, \\\n\tSYS_SEMGET         = 221 // { int sys_semget(key_t key, int nsems, int semflg); }\n\tSYS_MSGGET         = 225 // { int sys_msgget(key_t key, int msgflg); }\n\tSYS_MSGSND         = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, \\\n\tSYS_MSGRCV         = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \\\n\tSYS_SHMAT          = 228 // { void *sys_shmat(int shmid, const void *shmaddr, \\\n\tSYS_SHMDT          = 230 // { int sys_shmdt(const void *shmaddr); }\n\tSYS_MINHERIT       = 250 // { int sys_minherit(void *addr, size_t len, \\\n\tSYS_POLL           = 252 // { int sys_poll(struct pollfd *fds, \\\n\tSYS_ISSETUGID      = 253 // { int sys_issetugid(void); }\n\tSYS_LCHOWN         = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); }\n\tSYS_GETSID         = 255 // { pid_t sys_getsid(pid_t pid); }\n\tSYS_MSYNC          = 256 // { int sys_msync(void *addr, size_t len, int flags); }\n\tSYS_PIPE           = 263 // { int sys_pipe(int *fdp); }\n\tSYS_FHOPEN         = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); }\n\tSYS_PREADV         = 267 // { ssize_t sys_preadv(int fd, \\\n\tSYS_PWRITEV        = 268 // { ssize_t sys_pwritev(int fd, \\\n\tSYS_KQUEUE         = 269 // { int sys_kqueue(void); }\n\tSYS_MLOCKALL       = 271 // { int sys_mlockall(int flags); }\n\tSYS_MUNLOCKALL     = 272 // { int sys_munlockall(void); }\n\tSYS_GETRESUID      = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, \\\n\tSYS_SETRESUID      = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, \\\n\tSYS_GETRESGID      = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, \\\n\tSYS_SETRESGID      = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, \\\n\tSYS_MQUERY         = 286 // { void *sys_mquery(void *addr, size_t len, int prot, \\\n\tSYS_CLOSEFROM      = 287 // { int sys_closefrom(int fd); }\n\tSYS_SIGALTSTACK    = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, \\\n\tSYS_SHMGET         = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); }\n\tSYS_SEMOP          = 290 // { int sys_semop(int semid, struct sembuf *sops, \\\n\tSYS_FHSTAT         = 294 // { int sys_fhstat(const fhandle_t *fhp, \\\n\tSYS___SEMCTL       = 295 // { int sys___semctl(int semid, int semnum, int cmd, \\\n\tSYS_SHMCTL         = 296 // { int sys_shmctl(int shmid, int cmd, \\\n\tSYS_MSGCTL         = 297 // { int sys_msgctl(int msqid, int cmd, \\\n\tSYS_SCHED_YIELD    = 298 // { int sys_sched_yield(void); }\n\tSYS_GETTHRID       = 299 // { pid_t sys_getthrid(void); }\n\tSYS___THRWAKEUP    = 301 // { int sys___thrwakeup(const volatile void *ident, \\\n\tSYS___THREXIT      = 302 // { void sys___threxit(pid_t *notdead); }\n\tSYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, \\\n\tSYS___GETCWD       = 304 // { int sys___getcwd(char *buf, size_t len); }\n\tSYS_ADJFREQ        = 305 // { int sys_adjfreq(const int64_t *freq, \\\n\tSYS_SETRTABLE      = 310 // { int sys_setrtable(int rtableid); }\n\tSYS_GETRTABLE      = 311 // { int sys_getrtable(void); }\n\tSYS_FACCESSAT      = 313 // { int sys_faccessat(int fd, const char *path, \\\n\tSYS_FCHMODAT       = 314 // { int sys_fchmodat(int fd, const char *path, \\\n\tSYS_FCHOWNAT       = 315 // { int sys_fchownat(int fd, const char *path, \\\n\tSYS_LINKAT         = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, \\\n\tSYS_MKDIRAT        = 318 // { int sys_mkdirat(int fd, const char *path, \\\n\tSYS_MKFIFOAT       = 319 // { int sys_mkfifoat(int fd, const char *path, \\\n\tSYS_MKNODAT        = 320 // { int sys_mknodat(int fd, const char *path, \\\n\tSYS_OPENAT         = 321 // { int sys_openat(int fd, const char *path, int flags, \\\n\tSYS_READLINKAT     = 322 // { ssize_t sys_readlinkat(int fd, const char *path, \\\n\tSYS_RENAMEAT       = 323 // { int sys_renameat(int fromfd, const char *from, \\\n\tSYS_SYMLINKAT      = 324 // { int sys_symlinkat(const char *path, int fd, \\\n\tSYS_UNLINKAT       = 325 // { int sys_unlinkat(int fd, const char *path, \\\n\tSYS___SET_TCB      = 329 // { void sys___set_tcb(void *tcb); }\n\tSYS___GET_TCB      = 330 // { void *sys___get_tcb(void); }\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go",
    "content": "// mksysnum_openbsd.pl\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,openbsd\n\npackage unix\n\nconst (\n\tSYS_EXIT           = 1   // { void sys_exit(int rval); }\n\tSYS_FORK           = 2   // { int sys_fork(void); }\n\tSYS_READ           = 3   // { ssize_t sys_read(int fd, void *buf, size_t nbyte); }\n\tSYS_WRITE          = 4   // { ssize_t sys_write(int fd, const void *buf, \\\n\tSYS_OPEN           = 5   // { int sys_open(const char *path, \\\n\tSYS_CLOSE          = 6   // { int sys_close(int fd); }\n\tSYS_GETENTROPY     = 7   // { int sys_getentropy(void *buf, size_t nbyte); }\n\tSYS___TFORK        = 8   // { int sys___tfork(const struct __tfork *param, \\\n\tSYS_LINK           = 9   // { int sys_link(const char *path, const char *link); }\n\tSYS_UNLINK         = 10  // { int sys_unlink(const char *path); }\n\tSYS_WAIT4          = 11  // { pid_t sys_wait4(pid_t pid, int *status, \\\n\tSYS_CHDIR          = 12  // { int sys_chdir(const char *path); }\n\tSYS_FCHDIR         = 13  // { int sys_fchdir(int fd); }\n\tSYS_MKNOD          = 14  // { int sys_mknod(const char *path, mode_t mode, \\\n\tSYS_CHMOD          = 15  // { int sys_chmod(const char *path, mode_t mode); }\n\tSYS_CHOWN          = 16  // { int sys_chown(const char *path, uid_t uid, \\\n\tSYS_OBREAK         = 17  // { int sys_obreak(char *nsize); } break\n\tSYS_GETDTABLECOUNT = 18  // { int sys_getdtablecount(void); }\n\tSYS_GETRUSAGE      = 19  // { int sys_getrusage(int who, \\\n\tSYS_GETPID         = 20  // { pid_t sys_getpid(void); }\n\tSYS_MOUNT          = 21  // { int sys_mount(const char *type, const char *path, \\\n\tSYS_UNMOUNT        = 22  // { int sys_unmount(const char *path, int flags); }\n\tSYS_SETUID         = 23  // { int sys_setuid(uid_t uid); }\n\tSYS_GETUID         = 24  // { uid_t sys_getuid(void); }\n\tSYS_GETEUID        = 25  // { uid_t sys_geteuid(void); }\n\tSYS_PTRACE         = 26  // { int sys_ptrace(int req, pid_t pid, caddr_t addr, \\\n\tSYS_RECVMSG        = 27  // { ssize_t sys_recvmsg(int s, struct msghdr *msg, \\\n\tSYS_SENDMSG        = 28  // { ssize_t sys_sendmsg(int s, \\\n\tSYS_RECVFROM       = 29  // { ssize_t sys_recvfrom(int s, void *buf, size_t len, \\\n\tSYS_ACCEPT         = 30  // { int sys_accept(int s, struct sockaddr *name, \\\n\tSYS_GETPEERNAME    = 31  // { int sys_getpeername(int fdes, struct sockaddr *asa, \\\n\tSYS_GETSOCKNAME    = 32  // { int sys_getsockname(int fdes, struct sockaddr *asa, \\\n\tSYS_ACCESS         = 33  // { int sys_access(const char *path, int amode); }\n\tSYS_CHFLAGS        = 34  // { int sys_chflags(const char *path, u_int flags); }\n\tSYS_FCHFLAGS       = 35  // { int sys_fchflags(int fd, u_int flags); }\n\tSYS_SYNC           = 36  // { void sys_sync(void); }\n\tSYS_STAT           = 38  // { int sys_stat(const char *path, struct stat *ub); }\n\tSYS_GETPPID        = 39  // { pid_t sys_getppid(void); }\n\tSYS_LSTAT          = 40  // { int sys_lstat(const char *path, struct stat *ub); }\n\tSYS_DUP            = 41  // { int sys_dup(int fd); }\n\tSYS_FSTATAT        = 42  // { int sys_fstatat(int fd, const char *path, \\\n\tSYS_GETEGID        = 43  // { gid_t sys_getegid(void); }\n\tSYS_PROFIL         = 44  // { int sys_profil(caddr_t samples, size_t size, \\\n\tSYS_KTRACE         = 45  // { int sys_ktrace(const char *fname, int ops, \\\n\tSYS_SIGACTION      = 46  // { int sys_sigaction(int signum, \\\n\tSYS_GETGID         = 47  // { gid_t sys_getgid(void); }\n\tSYS_SIGPROCMASK    = 48  // { int sys_sigprocmask(int how, sigset_t mask); }\n\tSYS_SETLOGIN       = 50  // { int sys_setlogin(const char *namebuf); }\n\tSYS_ACCT           = 51  // { int sys_acct(const char *path); }\n\tSYS_SIGPENDING     = 52  // { int sys_sigpending(void); }\n\tSYS_FSTAT          = 53  // { int sys_fstat(int fd, struct stat *sb); }\n\tSYS_IOCTL          = 54  // { int sys_ioctl(int fd, \\\n\tSYS_REBOOT         = 55  // { int sys_reboot(int opt); }\n\tSYS_REVOKE         = 56  // { int sys_revoke(const char *path); }\n\tSYS_SYMLINK        = 57  // { int sys_symlink(const char *path, \\\n\tSYS_READLINK       = 58  // { ssize_t sys_readlink(const char *path, \\\n\tSYS_EXECVE         = 59  // { int sys_execve(const char *path, \\\n\tSYS_UMASK          = 60  // { mode_t sys_umask(mode_t newmask); }\n\tSYS_CHROOT         = 61  // { int sys_chroot(const char *path); }\n\tSYS_GETFSSTAT      = 62  // { int sys_getfsstat(struct statfs *buf, size_t bufsize, \\\n\tSYS_STATFS         = 63  // { int sys_statfs(const char *path, \\\n\tSYS_FSTATFS        = 64  // { int sys_fstatfs(int fd, struct statfs *buf); }\n\tSYS_FHSTATFS       = 65  // { int sys_fhstatfs(const fhandle_t *fhp, \\\n\tSYS_VFORK          = 66  // { int sys_vfork(void); }\n\tSYS_GETTIMEOFDAY   = 67  // { int sys_gettimeofday(struct timeval *tp, \\\n\tSYS_SETTIMEOFDAY   = 68  // { int sys_settimeofday(const struct timeval *tv, \\\n\tSYS_SETITIMER      = 69  // { int sys_setitimer(int which, \\\n\tSYS_GETITIMER      = 70  // { int sys_getitimer(int which, \\\n\tSYS_SELECT         = 71  // { int sys_select(int nd, fd_set *in, fd_set *ou, \\\n\tSYS_KEVENT         = 72  // { int sys_kevent(int fd, \\\n\tSYS_MUNMAP         = 73  // { int sys_munmap(void *addr, size_t len); }\n\tSYS_MPROTECT       = 74  // { int sys_mprotect(void *addr, size_t len, \\\n\tSYS_MADVISE        = 75  // { int sys_madvise(void *addr, size_t len, \\\n\tSYS_UTIMES         = 76  // { int sys_utimes(const char *path, \\\n\tSYS_FUTIMES        = 77  // { int sys_futimes(int fd, \\\n\tSYS_MINCORE        = 78  // { int sys_mincore(void *addr, size_t len, \\\n\tSYS_GETGROUPS      = 79  // { int sys_getgroups(int gidsetsize, \\\n\tSYS_SETGROUPS      = 80  // { int sys_setgroups(int gidsetsize, \\\n\tSYS_GETPGRP        = 81  // { int sys_getpgrp(void); }\n\tSYS_SETPGID        = 82  // { int sys_setpgid(pid_t pid, pid_t pgid); }\n\tSYS_FUTEX          = 83  // { int sys_futex(uint32_t *f, int op, int val, \\\n\tSYS_UTIMENSAT      = 84  // { int sys_utimensat(int fd, const char *path, \\\n\tSYS_FUTIMENS       = 85  // { int sys_futimens(int fd, \\\n\tSYS_KBIND          = 86  // { int sys_kbind(const struct __kbind *param, \\\n\tSYS_CLOCK_GETTIME  = 87  // { int sys_clock_gettime(clockid_t clock_id, \\\n\tSYS_CLOCK_SETTIME  = 88  // { int sys_clock_settime(clockid_t clock_id, \\\n\tSYS_CLOCK_GETRES   = 89  // { int sys_clock_getres(clockid_t clock_id, \\\n\tSYS_DUP2           = 90  // { int sys_dup2(int from, int to); }\n\tSYS_NANOSLEEP      = 91  // { int sys_nanosleep(const struct timespec *rqtp, \\\n\tSYS_FCNTL          = 92  // { int sys_fcntl(int fd, int cmd, ... void *arg); }\n\tSYS_ACCEPT4        = 93  // { int sys_accept4(int s, struct sockaddr *name, \\\n\tSYS___THRSLEEP     = 94  // { int sys___thrsleep(const volatile void *ident, \\\n\tSYS_FSYNC          = 95  // { int sys_fsync(int fd); }\n\tSYS_SETPRIORITY    = 96  // { int sys_setpriority(int which, id_t who, int prio); }\n\tSYS_SOCKET         = 97  // { int sys_socket(int domain, int type, int protocol); }\n\tSYS_CONNECT        = 98  // { int sys_connect(int s, const struct sockaddr *name, \\\n\tSYS_GETDENTS       = 99  // { int sys_getdents(int fd, void *buf, size_t buflen); }\n\tSYS_GETPRIORITY    = 100 // { int sys_getpriority(int which, id_t who); }\n\tSYS_PIPE2          = 101 // { int sys_pipe2(int *fdp, int flags); }\n\tSYS_DUP3           = 102 // { int sys_dup3(int from, int to, int flags); }\n\tSYS_SIGRETURN      = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); }\n\tSYS_BIND           = 104 // { int sys_bind(int s, const struct sockaddr *name, \\\n\tSYS_SETSOCKOPT     = 105 // { int sys_setsockopt(int s, int level, int name, \\\n\tSYS_LISTEN         = 106 // { int sys_listen(int s, int backlog); }\n\tSYS_CHFLAGSAT      = 107 // { int sys_chflagsat(int fd, const char *path, \\\n\tSYS_PLEDGE         = 108 // { int sys_pledge(const char *promises, \\\n\tSYS_PPOLL          = 109 // { int sys_ppoll(struct pollfd *fds, \\\n\tSYS_PSELECT        = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, \\\n\tSYS_SIGSUSPEND     = 111 // { int sys_sigsuspend(int mask); }\n\tSYS_SENDSYSLOG     = 112 // { int sys_sendsyslog(const char *buf, size_t nbyte, \\\n\tSYS_UNVEIL         = 114 // { int sys_unveil(const char *path, \\\n\tSYS_GETSOCKOPT     = 118 // { int sys_getsockopt(int s, int level, int name, \\\n\tSYS_THRKILL        = 119 // { int sys_thrkill(pid_t tid, int signum, void *tcb); }\n\tSYS_READV          = 120 // { ssize_t sys_readv(int fd, \\\n\tSYS_WRITEV         = 121 // { ssize_t sys_writev(int fd, \\\n\tSYS_KILL           = 122 // { int sys_kill(int pid, int signum); }\n\tSYS_FCHOWN         = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); }\n\tSYS_FCHMOD         = 124 // { int sys_fchmod(int fd, mode_t mode); }\n\tSYS_SETREUID       = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); }\n\tSYS_SETREGID       = 127 // { int sys_setregid(gid_t rgid, gid_t egid); }\n\tSYS_RENAME         = 128 // { int sys_rename(const char *from, const char *to); }\n\tSYS_FLOCK          = 131 // { int sys_flock(int fd, int how); }\n\tSYS_MKFIFO         = 132 // { int sys_mkfifo(const char *path, mode_t mode); }\n\tSYS_SENDTO         = 133 // { ssize_t sys_sendto(int s, const void *buf, \\\n\tSYS_SHUTDOWN       = 134 // { int sys_shutdown(int s, int how); }\n\tSYS_SOCKETPAIR     = 135 // { int sys_socketpair(int domain, int type, \\\n\tSYS_MKDIR          = 136 // { int sys_mkdir(const char *path, mode_t mode); }\n\tSYS_RMDIR          = 137 // { int sys_rmdir(const char *path); }\n\tSYS_ADJTIME        = 140 // { int sys_adjtime(const struct timeval *delta, \\\n\tSYS_GETLOGIN_R     = 141 // { int sys_getlogin_r(char *namebuf, u_int namelen); }\n\tSYS_SETSID         = 147 // { int sys_setsid(void); }\n\tSYS_QUOTACTL       = 148 // { int sys_quotactl(const char *path, int cmd, \\\n\tSYS_NFSSVC         = 155 // { int sys_nfssvc(int flag, void *argp); }\n\tSYS_GETFH          = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); }\n\tSYS_SYSARCH        = 165 // { int sys_sysarch(int op, void *parms); }\n\tSYS_PREAD          = 173 // { ssize_t sys_pread(int fd, void *buf, \\\n\tSYS_PWRITE         = 174 // { ssize_t sys_pwrite(int fd, const void *buf, \\\n\tSYS_SETGID         = 181 // { int sys_setgid(gid_t gid); }\n\tSYS_SETEGID        = 182 // { int sys_setegid(gid_t egid); }\n\tSYS_SETEUID        = 183 // { int sys_seteuid(uid_t euid); }\n\tSYS_PATHCONF       = 191 // { long sys_pathconf(const char *path, int name); }\n\tSYS_FPATHCONF      = 192 // { long sys_fpathconf(int fd, int name); }\n\tSYS_SWAPCTL        = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); }\n\tSYS_GETRLIMIT      = 194 // { int sys_getrlimit(int which, \\\n\tSYS_SETRLIMIT      = 195 // { int sys_setrlimit(int which, \\\n\tSYS_MMAP           = 197 // { void *sys_mmap(void *addr, size_t len, int prot, \\\n\tSYS_LSEEK          = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, \\\n\tSYS_TRUNCATE       = 200 // { int sys_truncate(const char *path, int pad, \\\n\tSYS_FTRUNCATE      = 201 // { int sys_ftruncate(int fd, int pad, off_t length); }\n\tSYS_SYSCTL         = 202 // { int sys_sysctl(const int *name, u_int namelen, \\\n\tSYS_MLOCK          = 203 // { int sys_mlock(const void *addr, size_t len); }\n\tSYS_MUNLOCK        = 204 // { int sys_munlock(const void *addr, size_t len); }\n\tSYS_GETPGID        = 207 // { pid_t sys_getpgid(pid_t pid); }\n\tSYS_UTRACE         = 209 // { int sys_utrace(const char *label, const void *addr, \\\n\tSYS_SEMGET         = 221 // { int sys_semget(key_t key, int nsems, int semflg); }\n\tSYS_MSGGET         = 225 // { int sys_msgget(key_t key, int msgflg); }\n\tSYS_MSGSND         = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, \\\n\tSYS_MSGRCV         = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \\\n\tSYS_SHMAT          = 228 // { void *sys_shmat(int shmid, const void *shmaddr, \\\n\tSYS_SHMDT          = 230 // { int sys_shmdt(const void *shmaddr); }\n\tSYS_MINHERIT       = 250 // { int sys_minherit(void *addr, size_t len, \\\n\tSYS_POLL           = 252 // { int sys_poll(struct pollfd *fds, \\\n\tSYS_ISSETUGID      = 253 // { int sys_issetugid(void); }\n\tSYS_LCHOWN         = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); }\n\tSYS_GETSID         = 255 // { pid_t sys_getsid(pid_t pid); }\n\tSYS_MSYNC          = 256 // { int sys_msync(void *addr, size_t len, int flags); }\n\tSYS_PIPE           = 263 // { int sys_pipe(int *fdp); }\n\tSYS_FHOPEN         = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); }\n\tSYS_PREADV         = 267 // { ssize_t sys_preadv(int fd, \\\n\tSYS_PWRITEV        = 268 // { ssize_t sys_pwritev(int fd, \\\n\tSYS_KQUEUE         = 269 // { int sys_kqueue(void); }\n\tSYS_MLOCKALL       = 271 // { int sys_mlockall(int flags); }\n\tSYS_MUNLOCKALL     = 272 // { int sys_munlockall(void); }\n\tSYS_GETRESUID      = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, \\\n\tSYS_SETRESUID      = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, \\\n\tSYS_GETRESGID      = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, \\\n\tSYS_SETRESGID      = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, \\\n\tSYS_MQUERY         = 286 // { void *sys_mquery(void *addr, size_t len, int prot, \\\n\tSYS_CLOSEFROM      = 287 // { int sys_closefrom(int fd); }\n\tSYS_SIGALTSTACK    = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, \\\n\tSYS_SHMGET         = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); }\n\tSYS_SEMOP          = 290 // { int sys_semop(int semid, struct sembuf *sops, \\\n\tSYS_FHSTAT         = 294 // { int sys_fhstat(const fhandle_t *fhp, \\\n\tSYS___SEMCTL       = 295 // { int sys___semctl(int semid, int semnum, int cmd, \\\n\tSYS_SHMCTL         = 296 // { int sys_shmctl(int shmid, int cmd, \\\n\tSYS_MSGCTL         = 297 // { int sys_msgctl(int msqid, int cmd, \\\n\tSYS_SCHED_YIELD    = 298 // { int sys_sched_yield(void); }\n\tSYS_GETTHRID       = 299 // { pid_t sys_getthrid(void); }\n\tSYS___THRWAKEUP    = 301 // { int sys___thrwakeup(const volatile void *ident, \\\n\tSYS___THREXIT      = 302 // { void sys___threxit(pid_t *notdead); }\n\tSYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, \\\n\tSYS___GETCWD       = 304 // { int sys___getcwd(char *buf, size_t len); }\n\tSYS_ADJFREQ        = 305 // { int sys_adjfreq(const int64_t *freq, \\\n\tSYS_SETRTABLE      = 310 // { int sys_setrtable(int rtableid); }\n\tSYS_GETRTABLE      = 311 // { int sys_getrtable(void); }\n\tSYS_FACCESSAT      = 313 // { int sys_faccessat(int fd, const char *path, \\\n\tSYS_FCHMODAT       = 314 // { int sys_fchmodat(int fd, const char *path, \\\n\tSYS_FCHOWNAT       = 315 // { int sys_fchownat(int fd, const char *path, \\\n\tSYS_LINKAT         = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, \\\n\tSYS_MKDIRAT        = 318 // { int sys_mkdirat(int fd, const char *path, \\\n\tSYS_MKFIFOAT       = 319 // { int sys_mkfifoat(int fd, const char *path, \\\n\tSYS_MKNODAT        = 320 // { int sys_mknodat(int fd, const char *path, \\\n\tSYS_OPENAT         = 321 // { int sys_openat(int fd, const char *path, int flags, \\\n\tSYS_READLINKAT     = 322 // { ssize_t sys_readlinkat(int fd, const char *path, \\\n\tSYS_RENAMEAT       = 323 // { int sys_renameat(int fromfd, const char *from, \\\n\tSYS_SYMLINKAT      = 324 // { int sys_symlinkat(const char *path, int fd, \\\n\tSYS_UNLINKAT       = 325 // { int sys_unlinkat(int fd, const char *path, \\\n\tSYS___SET_TCB      = 329 // { void sys___set_tcb(void *tcb); }\n\tSYS___GET_TCB      = 330 // { void *sys___get_tcb(void); }\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go",
    "content": "// mksysnum_openbsd.pl\n// Code generated by the command above; DO NOT EDIT.\n\n// +build arm,openbsd\n\npackage unix\n\nconst (\n\tSYS_EXIT           = 1   // { void sys_exit(int rval); }\n\tSYS_FORK           = 2   // { int sys_fork(void); }\n\tSYS_READ           = 3   // { ssize_t sys_read(int fd, void *buf, size_t nbyte); }\n\tSYS_WRITE          = 4   // { ssize_t sys_write(int fd, const void *buf, \\\n\tSYS_OPEN           = 5   // { int sys_open(const char *path, \\\n\tSYS_CLOSE          = 6   // { int sys_close(int fd); }\n\tSYS_GETENTROPY     = 7   // { int sys_getentropy(void *buf, size_t nbyte); }\n\tSYS___TFORK        = 8   // { int sys___tfork(const struct __tfork *param, \\\n\tSYS_LINK           = 9   // { int sys_link(const char *path, const char *link); }\n\tSYS_UNLINK         = 10  // { int sys_unlink(const char *path); }\n\tSYS_WAIT4          = 11  // { pid_t sys_wait4(pid_t pid, int *status, \\\n\tSYS_CHDIR          = 12  // { int sys_chdir(const char *path); }\n\tSYS_FCHDIR         = 13  // { int sys_fchdir(int fd); }\n\tSYS_MKNOD          = 14  // { int sys_mknod(const char *path, mode_t mode, \\\n\tSYS_CHMOD          = 15  // { int sys_chmod(const char *path, mode_t mode); }\n\tSYS_CHOWN          = 16  // { int sys_chown(const char *path, uid_t uid, \\\n\tSYS_OBREAK         = 17  // { int sys_obreak(char *nsize); } break\n\tSYS_GETDTABLECOUNT = 18  // { int sys_getdtablecount(void); }\n\tSYS_GETRUSAGE      = 19  // { int sys_getrusage(int who, \\\n\tSYS_GETPID         = 20  // { pid_t sys_getpid(void); }\n\tSYS_MOUNT          = 21  // { int sys_mount(const char *type, const char *path, \\\n\tSYS_UNMOUNT        = 22  // { int sys_unmount(const char *path, int flags); }\n\tSYS_SETUID         = 23  // { int sys_setuid(uid_t uid); }\n\tSYS_GETUID         = 24  // { uid_t sys_getuid(void); }\n\tSYS_GETEUID        = 25  // { uid_t sys_geteuid(void); }\n\tSYS_PTRACE         = 26  // { int sys_ptrace(int req, pid_t pid, caddr_t addr, \\\n\tSYS_RECVMSG        = 27  // { ssize_t sys_recvmsg(int s, struct msghdr *msg, \\\n\tSYS_SENDMSG        = 28  // { ssize_t sys_sendmsg(int s, \\\n\tSYS_RECVFROM       = 29  // { ssize_t sys_recvfrom(int s, void *buf, size_t len, \\\n\tSYS_ACCEPT         = 30  // { int sys_accept(int s, struct sockaddr *name, \\\n\tSYS_GETPEERNAME    = 31  // { int sys_getpeername(int fdes, struct sockaddr *asa, \\\n\tSYS_GETSOCKNAME    = 32  // { int sys_getsockname(int fdes, struct sockaddr *asa, \\\n\tSYS_ACCESS         = 33  // { int sys_access(const char *path, int amode); }\n\tSYS_CHFLAGS        = 34  // { int sys_chflags(const char *path, u_int flags); }\n\tSYS_FCHFLAGS       = 35  // { int sys_fchflags(int fd, u_int flags); }\n\tSYS_SYNC           = 36  // { void sys_sync(void); }\n\tSYS_STAT           = 38  // { int sys_stat(const char *path, struct stat *ub); }\n\tSYS_GETPPID        = 39  // { pid_t sys_getppid(void); }\n\tSYS_LSTAT          = 40  // { int sys_lstat(const char *path, struct stat *ub); }\n\tSYS_DUP            = 41  // { int sys_dup(int fd); }\n\tSYS_FSTATAT        = 42  // { int sys_fstatat(int fd, const char *path, \\\n\tSYS_GETEGID        = 43  // { gid_t sys_getegid(void); }\n\tSYS_PROFIL         = 44  // { int sys_profil(caddr_t samples, size_t size, \\\n\tSYS_KTRACE         = 45  // { int sys_ktrace(const char *fname, int ops, \\\n\tSYS_SIGACTION      = 46  // { int sys_sigaction(int signum, \\\n\tSYS_GETGID         = 47  // { gid_t sys_getgid(void); }\n\tSYS_SIGPROCMASK    = 48  // { int sys_sigprocmask(int how, sigset_t mask); }\n\tSYS_GETLOGIN       = 49  // { int sys_getlogin(char *namebuf, u_int namelen); }\n\tSYS_SETLOGIN       = 50  // { int sys_setlogin(const char *namebuf); }\n\tSYS_ACCT           = 51  // { int sys_acct(const char *path); }\n\tSYS_SIGPENDING     = 52  // { int sys_sigpending(void); }\n\tSYS_FSTAT          = 53  // { int sys_fstat(int fd, struct stat *sb); }\n\tSYS_IOCTL          = 54  // { int sys_ioctl(int fd, \\\n\tSYS_REBOOT         = 55  // { int sys_reboot(int opt); }\n\tSYS_REVOKE         = 56  // { int sys_revoke(const char *path); }\n\tSYS_SYMLINK        = 57  // { int sys_symlink(const char *path, \\\n\tSYS_READLINK       = 58  // { ssize_t sys_readlink(const char *path, \\\n\tSYS_EXECVE         = 59  // { int sys_execve(const char *path, \\\n\tSYS_UMASK          = 60  // { mode_t sys_umask(mode_t newmask); }\n\tSYS_CHROOT         = 61  // { int sys_chroot(const char *path); }\n\tSYS_GETFSSTAT      = 62  // { int sys_getfsstat(struct statfs *buf, size_t bufsize, \\\n\tSYS_STATFS         = 63  // { int sys_statfs(const char *path, \\\n\tSYS_FSTATFS        = 64  // { int sys_fstatfs(int fd, struct statfs *buf); }\n\tSYS_FHSTATFS       = 65  // { int sys_fhstatfs(const fhandle_t *fhp, \\\n\tSYS_VFORK          = 66  // { int sys_vfork(void); }\n\tSYS_GETTIMEOFDAY   = 67  // { int sys_gettimeofday(struct timeval *tp, \\\n\tSYS_SETTIMEOFDAY   = 68  // { int sys_settimeofday(const struct timeval *tv, \\\n\tSYS_SETITIMER      = 69  // { int sys_setitimer(int which, \\\n\tSYS_GETITIMER      = 70  // { int sys_getitimer(int which, \\\n\tSYS_SELECT         = 71  // { int sys_select(int nd, fd_set *in, fd_set *ou, \\\n\tSYS_KEVENT         = 72  // { int sys_kevent(int fd, \\\n\tSYS_MUNMAP         = 73  // { int sys_munmap(void *addr, size_t len); }\n\tSYS_MPROTECT       = 74  // { int sys_mprotect(void *addr, size_t len, \\\n\tSYS_MADVISE        = 75  // { int sys_madvise(void *addr, size_t len, \\\n\tSYS_UTIMES         = 76  // { int sys_utimes(const char *path, \\\n\tSYS_FUTIMES        = 77  // { int sys_futimes(int fd, \\\n\tSYS_MINCORE        = 78  // { int sys_mincore(void *addr, size_t len, \\\n\tSYS_GETGROUPS      = 79  // { int sys_getgroups(int gidsetsize, \\\n\tSYS_SETGROUPS      = 80  // { int sys_setgroups(int gidsetsize, \\\n\tSYS_GETPGRP        = 81  // { int sys_getpgrp(void); }\n\tSYS_SETPGID        = 82  // { int sys_setpgid(pid_t pid, pid_t pgid); }\n\tSYS_SENDSYSLOG     = 83  // { int sys_sendsyslog(const void *buf, size_t nbyte); }\n\tSYS_UTIMENSAT      = 84  // { int sys_utimensat(int fd, const char *path, \\\n\tSYS_FUTIMENS       = 85  // { int sys_futimens(int fd, \\\n\tSYS_CLOCK_GETTIME  = 87  // { int sys_clock_gettime(clockid_t clock_id, \\\n\tSYS_CLOCK_SETTIME  = 88  // { int sys_clock_settime(clockid_t clock_id, \\\n\tSYS_CLOCK_GETRES   = 89  // { int sys_clock_getres(clockid_t clock_id, \\\n\tSYS_DUP2           = 90  // { int sys_dup2(int from, int to); }\n\tSYS_NANOSLEEP      = 91  // { int sys_nanosleep(const struct timespec *rqtp, \\\n\tSYS_FCNTL          = 92  // { int sys_fcntl(int fd, int cmd, ... void *arg); }\n\tSYS_ACCEPT4        = 93  // { int sys_accept4(int s, struct sockaddr *name, \\\n\tSYS___THRSLEEP     = 94  // { int sys___thrsleep(const volatile void *ident, \\\n\tSYS_FSYNC          = 95  // { int sys_fsync(int fd); }\n\tSYS_SETPRIORITY    = 96  // { int sys_setpriority(int which, id_t who, int prio); }\n\tSYS_SOCKET         = 97  // { int sys_socket(int domain, int type, int protocol); }\n\tSYS_CONNECT        = 98  // { int sys_connect(int s, const struct sockaddr *name, \\\n\tSYS_GETDENTS       = 99  // { int sys_getdents(int fd, void *buf, size_t buflen); }\n\tSYS_GETPRIORITY    = 100 // { int sys_getpriority(int which, id_t who); }\n\tSYS_PIPE2          = 101 // { int sys_pipe2(int *fdp, int flags); }\n\tSYS_DUP3           = 102 // { int sys_dup3(int from, int to, int flags); }\n\tSYS_SIGRETURN      = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); }\n\tSYS_BIND           = 104 // { int sys_bind(int s, const struct sockaddr *name, \\\n\tSYS_SETSOCKOPT     = 105 // { int sys_setsockopt(int s, int level, int name, \\\n\tSYS_LISTEN         = 106 // { int sys_listen(int s, int backlog); }\n\tSYS_CHFLAGSAT      = 107 // { int sys_chflagsat(int fd, const char *path, \\\n\tSYS_PPOLL          = 109 // { int sys_ppoll(struct pollfd *fds, \\\n\tSYS_PSELECT        = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, \\\n\tSYS_SIGSUSPEND     = 111 // { int sys_sigsuspend(int mask); }\n\tSYS_GETSOCKOPT     = 118 // { int sys_getsockopt(int s, int level, int name, \\\n\tSYS_READV          = 120 // { ssize_t sys_readv(int fd, \\\n\tSYS_WRITEV         = 121 // { ssize_t sys_writev(int fd, \\\n\tSYS_KILL           = 122 // { int sys_kill(int pid, int signum); }\n\tSYS_FCHOWN         = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); }\n\tSYS_FCHMOD         = 124 // { int sys_fchmod(int fd, mode_t mode); }\n\tSYS_SETREUID       = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); }\n\tSYS_SETREGID       = 127 // { int sys_setregid(gid_t rgid, gid_t egid); }\n\tSYS_RENAME         = 128 // { int sys_rename(const char *from, const char *to); }\n\tSYS_FLOCK          = 131 // { int sys_flock(int fd, int how); }\n\tSYS_MKFIFO         = 132 // { int sys_mkfifo(const char *path, mode_t mode); }\n\tSYS_SENDTO         = 133 // { ssize_t sys_sendto(int s, const void *buf, \\\n\tSYS_SHUTDOWN       = 134 // { int sys_shutdown(int s, int how); }\n\tSYS_SOCKETPAIR     = 135 // { int sys_socketpair(int domain, int type, \\\n\tSYS_MKDIR          = 136 // { int sys_mkdir(const char *path, mode_t mode); }\n\tSYS_RMDIR          = 137 // { int sys_rmdir(const char *path); }\n\tSYS_ADJTIME        = 140 // { int sys_adjtime(const struct timeval *delta, \\\n\tSYS_SETSID         = 147 // { int sys_setsid(void); }\n\tSYS_QUOTACTL       = 148 // { int sys_quotactl(const char *path, int cmd, \\\n\tSYS_NFSSVC         = 155 // { int sys_nfssvc(int flag, void *argp); }\n\tSYS_GETFH          = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); }\n\tSYS_SYSARCH        = 165 // { int sys_sysarch(int op, void *parms); }\n\tSYS_PREAD          = 173 // { ssize_t sys_pread(int fd, void *buf, \\\n\tSYS_PWRITE         = 174 // { ssize_t sys_pwrite(int fd, const void *buf, \\\n\tSYS_SETGID         = 181 // { int sys_setgid(gid_t gid); }\n\tSYS_SETEGID        = 182 // { int sys_setegid(gid_t egid); }\n\tSYS_SETEUID        = 183 // { int sys_seteuid(uid_t euid); }\n\tSYS_PATHCONF       = 191 // { long sys_pathconf(const char *path, int name); }\n\tSYS_FPATHCONF      = 192 // { long sys_fpathconf(int fd, int name); }\n\tSYS_SWAPCTL        = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); }\n\tSYS_GETRLIMIT      = 194 // { int sys_getrlimit(int which, \\\n\tSYS_SETRLIMIT      = 195 // { int sys_setrlimit(int which, \\\n\tSYS_MMAP           = 197 // { void *sys_mmap(void *addr, size_t len, int prot, \\\n\tSYS_LSEEK          = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, \\\n\tSYS_TRUNCATE       = 200 // { int sys_truncate(const char *path, int pad, \\\n\tSYS_FTRUNCATE      = 201 // { int sys_ftruncate(int fd, int pad, off_t length); }\n\tSYS___SYSCTL       = 202 // { int sys___sysctl(const int *name, u_int namelen, \\\n\tSYS_MLOCK          = 203 // { int sys_mlock(const void *addr, size_t len); }\n\tSYS_MUNLOCK        = 204 // { int sys_munlock(const void *addr, size_t len); }\n\tSYS_GETPGID        = 207 // { pid_t sys_getpgid(pid_t pid); }\n\tSYS_UTRACE         = 209 // { int sys_utrace(const char *label, const void *addr, \\\n\tSYS_SEMGET         = 221 // { int sys_semget(key_t key, int nsems, int semflg); }\n\tSYS_MSGGET         = 225 // { int sys_msgget(key_t key, int msgflg); }\n\tSYS_MSGSND         = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, \\\n\tSYS_MSGRCV         = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \\\n\tSYS_SHMAT          = 228 // { void *sys_shmat(int shmid, const void *shmaddr, \\\n\tSYS_SHMDT          = 230 // { int sys_shmdt(const void *shmaddr); }\n\tSYS_MINHERIT       = 250 // { int sys_minherit(void *addr, size_t len, \\\n\tSYS_POLL           = 252 // { int sys_poll(struct pollfd *fds, \\\n\tSYS_ISSETUGID      = 253 // { int sys_issetugid(void); }\n\tSYS_LCHOWN         = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); }\n\tSYS_GETSID         = 255 // { pid_t sys_getsid(pid_t pid); }\n\tSYS_MSYNC          = 256 // { int sys_msync(void *addr, size_t len, int flags); }\n\tSYS_PIPE           = 263 // { int sys_pipe(int *fdp); }\n\tSYS_FHOPEN         = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); }\n\tSYS_PREADV         = 267 // { ssize_t sys_preadv(int fd, \\\n\tSYS_PWRITEV        = 268 // { ssize_t sys_pwritev(int fd, \\\n\tSYS_KQUEUE         = 269 // { int sys_kqueue(void); }\n\tSYS_MLOCKALL       = 271 // { int sys_mlockall(int flags); }\n\tSYS_MUNLOCKALL     = 272 // { int sys_munlockall(void); }\n\tSYS_GETRESUID      = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, \\\n\tSYS_SETRESUID      = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, \\\n\tSYS_GETRESGID      = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, \\\n\tSYS_SETRESGID      = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, \\\n\tSYS_MQUERY         = 286 // { void *sys_mquery(void *addr, size_t len, int prot, \\\n\tSYS_CLOSEFROM      = 287 // { int sys_closefrom(int fd); }\n\tSYS_SIGALTSTACK    = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, \\\n\tSYS_SHMGET         = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); }\n\tSYS_SEMOP          = 290 // { int sys_semop(int semid, struct sembuf *sops, \\\n\tSYS_FHSTAT         = 294 // { int sys_fhstat(const fhandle_t *fhp, \\\n\tSYS___SEMCTL       = 295 // { int sys___semctl(int semid, int semnum, int cmd, \\\n\tSYS_SHMCTL         = 296 // { int sys_shmctl(int shmid, int cmd, \\\n\tSYS_MSGCTL         = 297 // { int sys_msgctl(int msqid, int cmd, \\\n\tSYS_SCHED_YIELD    = 298 // { int sys_sched_yield(void); }\n\tSYS_GETTHRID       = 299 // { pid_t sys_getthrid(void); }\n\tSYS___THRWAKEUP    = 301 // { int sys___thrwakeup(const volatile void *ident, \\\n\tSYS___THREXIT      = 302 // { void sys___threxit(pid_t *notdead); }\n\tSYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, \\\n\tSYS___GETCWD       = 304 // { int sys___getcwd(char *buf, size_t len); }\n\tSYS_ADJFREQ        = 305 // { int sys_adjfreq(const int64_t *freq, \\\n\tSYS_SETRTABLE      = 310 // { int sys_setrtable(int rtableid); }\n\tSYS_GETRTABLE      = 311 // { int sys_getrtable(void); }\n\tSYS_FACCESSAT      = 313 // { int sys_faccessat(int fd, const char *path, \\\n\tSYS_FCHMODAT       = 314 // { int sys_fchmodat(int fd, const char *path, \\\n\tSYS_FCHOWNAT       = 315 // { int sys_fchownat(int fd, const char *path, \\\n\tSYS_LINKAT         = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, \\\n\tSYS_MKDIRAT        = 318 // { int sys_mkdirat(int fd, const char *path, \\\n\tSYS_MKFIFOAT       = 319 // { int sys_mkfifoat(int fd, const char *path, \\\n\tSYS_MKNODAT        = 320 // { int sys_mknodat(int fd, const char *path, \\\n\tSYS_OPENAT         = 321 // { int sys_openat(int fd, const char *path, int flags, \\\n\tSYS_READLINKAT     = 322 // { ssize_t sys_readlinkat(int fd, const char *path, \\\n\tSYS_RENAMEAT       = 323 // { int sys_renameat(int fromfd, const char *from, \\\n\tSYS_SYMLINKAT      = 324 // { int sys_symlinkat(const char *path, int fd, \\\n\tSYS_UNLINKAT       = 325 // { int sys_unlinkat(int fd, const char *path, \\\n\tSYS___SET_TCB      = 329 // { void sys___set_tcb(void *tcb); }\n\tSYS___GET_TCB      = 330 // { void *sys___get_tcb(void); }\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_darwin_386.go",
    "content": "// cgo -godefs types_darwin.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build 386,darwin\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x4\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x4\n\tsizeofLongLong = 0x8\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int32\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int32\n\tNsec int32\n}\n\ntype Timeval struct {\n\tSec  int32\n\tUsec int32\n}\n\ntype Timeval32 struct{}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int32\n\tIxrss    int32\n\tIdrss    int32\n\tIsrss    int32\n\tMinflt   int32\n\tMajflt   int32\n\tNswap    int32\n\tInblock  int32\n\tOublock  int32\n\tMsgsnd   int32\n\tMsgrcv   int32\n\tNsignals int32\n\tNvcsw    int32\n\tNivcsw   int32\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev           int32\n\tMode          uint16\n\tNlink         uint16\n\tIno           uint64\n\tUid           uint32\n\tGid           uint32\n\tRdev          int32\n\tAtimespec     Timespec\n\tMtimespec     Timespec\n\tCtimespec     Timespec\n\tBirthtimespec Timespec\n\tSize          int64\n\tBlocks        int64\n\tBlksize       int32\n\tFlags         uint32\n\tGen           uint32\n\tLspare        int32\n\tQspare        [2]int64\n}\n\ntype Statfs_t struct {\n\tBsize       uint32\n\tIosize      int32\n\tBlocks      uint64\n\tBfree       uint64\n\tBavail      uint64\n\tFiles       uint64\n\tFfree       uint64\n\tFsid        Fsid\n\tOwner       uint32\n\tType        uint32\n\tFlags       uint32\n\tFssubtype   uint32\n\tFstypename  [16]int8\n\tMntonname   [1024]int8\n\tMntfromname [1024]int8\n\tReserved    [8]uint32\n}\n\ntype Flock_t struct {\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\tType   int16\n\tWhence int16\n}\n\ntype Fstore_t struct {\n\tFlags      uint32\n\tPosmode    int32\n\tOffset     int64\n\tLength     int64\n\tBytesalloc int64\n}\n\ntype Radvisory_t struct {\n\tOffset int64\n\tCount  int32\n}\n\ntype Fbootstraptransfer_t struct {\n\tOffset int64\n\tLength uint32\n\tBuffer *byte\n}\n\ntype Log2phys_t struct {\n\tFlags       uint32\n\tContigbytes int64\n\tDevoffset   int64\n}\n\ntype Fsid struct {\n\tVal [2]int32\n}\n\ntype Dirent struct {\n\tIno     uint64\n\tSeekoff uint64\n\tReclen  uint16\n\tNamlen  uint16\n\tType    uint8\n\tName    [1024]int8\n\t_       [3]byte\n}\n\ntype RawSockaddrInet4 struct {\n\tLen    uint8\n\tFamily uint8\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]int8\n}\n\ntype RawSockaddrInet6 struct {\n\tLen      uint8\n\tFamily   uint8\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tLen    uint8\n\tFamily uint8\n\tPath   [104]int8\n}\n\ntype RawSockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [12]int8\n}\n\ntype RawSockaddr struct {\n\tLen    uint8\n\tFamily uint8\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [92]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint32\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tIov        *Iovec\n\tIovlen     int32\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet4Pktinfo struct {\n\tIfindex  uint32\n\tSpec_dst [4]byte /* in_addr */\n\tAddr     [4]byte /* in_addr */\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tFilt [8]uint32\n}\n\nconst (\n\tSizeofSockaddrInet4    = 0x10\n\tSizeofSockaddrInet6    = 0x1c\n\tSizeofSockaddrAny      = 0x6c\n\tSizeofSockaddrUnix     = 0x6a\n\tSizeofSockaddrDatalink = 0x14\n\tSizeofLinger           = 0x8\n\tSizeofIPMreq           = 0x8\n\tSizeofIPv6Mreq         = 0x14\n\tSizeofMsghdr           = 0x1c\n\tSizeofCmsghdr          = 0xc\n\tSizeofInet4Pktinfo     = 0xc\n\tSizeofInet6Pktinfo     = 0x14\n\tSizeofIPv6MTUInfo      = 0x20\n\tSizeofICMPv6Filter     = 0x20\n)\n\nconst (\n\tPTRACE_TRACEME = 0x0\n\tPTRACE_CONT    = 0x7\n\tPTRACE_KILL    = 0x8\n)\n\ntype Kevent_t struct {\n\tIdent  uint32\n\tFilter int16\n\tFlags  uint16\n\tFflags uint32\n\tData   int32\n\tUdata  *byte\n}\n\ntype FdSet struct {\n\tBits [32]int32\n}\n\nconst (\n\tSizeofIfMsghdr    = 0x70\n\tSizeofIfData      = 0x60\n\tSizeofIfaMsghdr   = 0x14\n\tSizeofIfmaMsghdr  = 0x10\n\tSizeofIfmaMsghdr2 = 0x14\n\tSizeofRtMsghdr    = 0x5c\n\tSizeofRtMetrics   = 0x38\n)\n\ntype IfMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tAddrs   int32\n\tFlags   int32\n\tIndex   uint16\n\t_       [2]byte\n\tData    IfData\n}\n\ntype IfData struct {\n\tType       uint8\n\tTypelen    uint8\n\tPhysical   uint8\n\tAddrlen    uint8\n\tHdrlen     uint8\n\tRecvquota  uint8\n\tXmitquota  uint8\n\tUnused1    uint8\n\tMtu        uint32\n\tMetric     uint32\n\tBaudrate   uint32\n\tIpackets   uint32\n\tIerrors    uint32\n\tOpackets   uint32\n\tOerrors    uint32\n\tCollisions uint32\n\tIbytes     uint32\n\tObytes     uint32\n\tImcasts    uint32\n\tOmcasts    uint32\n\tIqdrops    uint32\n\tNoproto    uint32\n\tRecvtiming uint32\n\tXmittiming uint32\n\tLastchange Timeval\n\tUnused2    uint32\n\tHwassist   uint32\n\tReserved1  uint32\n\tReserved2  uint32\n}\n\ntype IfaMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tAddrs   int32\n\tFlags   int32\n\tIndex   uint16\n\t_       [2]byte\n\tMetric  int32\n}\n\ntype IfmaMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tAddrs   int32\n\tFlags   int32\n\tIndex   uint16\n\t_       [2]byte\n}\n\ntype IfmaMsghdr2 struct {\n\tMsglen   uint16\n\tVersion  uint8\n\tType     uint8\n\tAddrs    int32\n\tFlags    int32\n\tIndex    uint16\n\t_        [2]byte\n\tRefcount int32\n}\n\ntype RtMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tIndex   uint16\n\t_       [2]byte\n\tFlags   int32\n\tAddrs   int32\n\tPid     int32\n\tSeq     int32\n\tErrno   int32\n\tUse     int32\n\tInits   uint32\n\tRmx     RtMetrics\n}\n\ntype RtMetrics struct {\n\tLocks    uint32\n\tMtu      uint32\n\tHopcount uint32\n\tExpire   int32\n\tRecvpipe uint32\n\tSendpipe uint32\n\tSsthresh uint32\n\tRtt      uint32\n\tRttvar   uint32\n\tPksent   uint32\n\tFiller   [4]uint32\n}\n\nconst (\n\tSizeofBpfVersion = 0x4\n\tSizeofBpfStat    = 0x8\n\tSizeofBpfProgram = 0x8\n\tSizeofBpfInsn    = 0x8\n\tSizeofBpfHdr     = 0x14\n)\n\ntype BpfVersion struct {\n\tMajor uint16\n\tMinor uint16\n}\n\ntype BpfStat struct {\n\tRecv uint32\n\tDrop uint32\n}\n\ntype BpfProgram struct {\n\tLen   uint32\n\tInsns *BpfInsn\n}\n\ntype BpfInsn struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype BpfHdr struct {\n\tTstamp  Timeval\n\tCaplen  uint32\n\tDatalen uint32\n\tHdrlen  uint16\n\t_       [2]byte\n}\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tCc     [20]uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\nconst (\n\tAT_FDCWD            = -0x2\n\tAT_REMOVEDIR        = 0x80\n\tAT_SYMLINK_FOLLOW   = 0x40\n\tAT_SYMLINK_NOFOLLOW = 0x20\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLERR    = 0x8\n\tPOLLHUP    = 0x10\n\tPOLLIN     = 0x1\n\tPOLLNVAL   = 0x20\n\tPOLLOUT    = 0x4\n\tPOLLPRI    = 0x2\n\tPOLLRDBAND = 0x80\n\tPOLLRDNORM = 0x40\n\tPOLLWRBAND = 0x100\n\tPOLLWRNORM = 0x4\n)\n\ntype Utsname struct {\n\tSysname  [256]byte\n\tNodename [256]byte\n\tRelease  [256]byte\n\tVersion  [256]byte\n\tMachine  [256]byte\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go",
    "content": "// cgo -godefs types_darwin.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,darwin\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x8\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x8\n\tsizeofLongLong = 0x8\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int64\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int64\n}\n\ntype Timeval struct {\n\tSec  int64\n\tUsec int32\n\t_    [4]byte\n}\n\ntype Timeval32 struct {\n\tSec  int32\n\tUsec int32\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int64\n\tIxrss    int64\n\tIdrss    int64\n\tIsrss    int64\n\tMinflt   int64\n\tMajflt   int64\n\tNswap    int64\n\tInblock  int64\n\tOublock  int64\n\tMsgsnd   int64\n\tMsgrcv   int64\n\tNsignals int64\n\tNvcsw    int64\n\tNivcsw   int64\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev           int32\n\tMode          uint16\n\tNlink         uint16\n\tIno           uint64\n\tUid           uint32\n\tGid           uint32\n\tRdev          int32\n\t_             [4]byte\n\tAtimespec     Timespec\n\tMtimespec     Timespec\n\tCtimespec     Timespec\n\tBirthtimespec Timespec\n\tSize          int64\n\tBlocks        int64\n\tBlksize       int32\n\tFlags         uint32\n\tGen           uint32\n\tLspare        int32\n\tQspare        [2]int64\n}\n\ntype Statfs_t struct {\n\tBsize       uint32\n\tIosize      int32\n\tBlocks      uint64\n\tBfree       uint64\n\tBavail      uint64\n\tFiles       uint64\n\tFfree       uint64\n\tFsid        Fsid\n\tOwner       uint32\n\tType        uint32\n\tFlags       uint32\n\tFssubtype   uint32\n\tFstypename  [16]int8\n\tMntonname   [1024]int8\n\tMntfromname [1024]int8\n\tReserved    [8]uint32\n}\n\ntype Flock_t struct {\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\tType   int16\n\tWhence int16\n}\n\ntype Fstore_t struct {\n\tFlags      uint32\n\tPosmode    int32\n\tOffset     int64\n\tLength     int64\n\tBytesalloc int64\n}\n\ntype Radvisory_t struct {\n\tOffset int64\n\tCount  int32\n\t_      [4]byte\n}\n\ntype Fbootstraptransfer_t struct {\n\tOffset int64\n\tLength uint64\n\tBuffer *byte\n}\n\ntype Log2phys_t struct {\n\tFlags uint32\n\t_     [8]byte\n\t_     [8]byte\n}\n\ntype Fsid struct {\n\tVal [2]int32\n}\n\ntype Dirent struct {\n\tIno     uint64\n\tSeekoff uint64\n\tReclen  uint16\n\tNamlen  uint16\n\tType    uint8\n\tName    [1024]int8\n\t_       [3]byte\n}\n\ntype RawSockaddrInet4 struct {\n\tLen    uint8\n\tFamily uint8\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]int8\n}\n\ntype RawSockaddrInet6 struct {\n\tLen      uint8\n\tFamily   uint8\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tLen    uint8\n\tFamily uint8\n\tPath   [104]int8\n}\n\ntype RawSockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [12]int8\n}\n\ntype RawSockaddr struct {\n\tLen    uint8\n\tFamily uint8\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [92]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint64\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\t_          [4]byte\n\tIov        *Iovec\n\tIovlen     int32\n\t_          [4]byte\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet4Pktinfo struct {\n\tIfindex  uint32\n\tSpec_dst [4]byte /* in_addr */\n\tAddr     [4]byte /* in_addr */\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tFilt [8]uint32\n}\n\nconst (\n\tSizeofSockaddrInet4    = 0x10\n\tSizeofSockaddrInet6    = 0x1c\n\tSizeofSockaddrAny      = 0x6c\n\tSizeofSockaddrUnix     = 0x6a\n\tSizeofSockaddrDatalink = 0x14\n\tSizeofLinger           = 0x8\n\tSizeofIPMreq           = 0x8\n\tSizeofIPv6Mreq         = 0x14\n\tSizeofMsghdr           = 0x30\n\tSizeofCmsghdr          = 0xc\n\tSizeofInet4Pktinfo     = 0xc\n\tSizeofInet6Pktinfo     = 0x14\n\tSizeofIPv6MTUInfo      = 0x20\n\tSizeofICMPv6Filter     = 0x20\n)\n\nconst (\n\tPTRACE_TRACEME = 0x0\n\tPTRACE_CONT    = 0x7\n\tPTRACE_KILL    = 0x8\n)\n\ntype Kevent_t struct {\n\tIdent  uint64\n\tFilter int16\n\tFlags  uint16\n\tFflags uint32\n\tData   int64\n\tUdata  *byte\n}\n\ntype FdSet struct {\n\tBits [32]int32\n}\n\nconst (\n\tSizeofIfMsghdr    = 0x70\n\tSizeofIfData      = 0x60\n\tSizeofIfaMsghdr   = 0x14\n\tSizeofIfmaMsghdr  = 0x10\n\tSizeofIfmaMsghdr2 = 0x14\n\tSizeofRtMsghdr    = 0x5c\n\tSizeofRtMetrics   = 0x38\n)\n\ntype IfMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tAddrs   int32\n\tFlags   int32\n\tIndex   uint16\n\t_       [2]byte\n\tData    IfData\n}\n\ntype IfData struct {\n\tType       uint8\n\tTypelen    uint8\n\tPhysical   uint8\n\tAddrlen    uint8\n\tHdrlen     uint8\n\tRecvquota  uint8\n\tXmitquota  uint8\n\tUnused1    uint8\n\tMtu        uint32\n\tMetric     uint32\n\tBaudrate   uint32\n\tIpackets   uint32\n\tIerrors    uint32\n\tOpackets   uint32\n\tOerrors    uint32\n\tCollisions uint32\n\tIbytes     uint32\n\tObytes     uint32\n\tImcasts    uint32\n\tOmcasts    uint32\n\tIqdrops    uint32\n\tNoproto    uint32\n\tRecvtiming uint32\n\tXmittiming uint32\n\tLastchange Timeval32\n\tUnused2    uint32\n\tHwassist   uint32\n\tReserved1  uint32\n\tReserved2  uint32\n}\n\ntype IfaMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tAddrs   int32\n\tFlags   int32\n\tIndex   uint16\n\t_       [2]byte\n\tMetric  int32\n}\n\ntype IfmaMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tAddrs   int32\n\tFlags   int32\n\tIndex   uint16\n\t_       [2]byte\n}\n\ntype IfmaMsghdr2 struct {\n\tMsglen   uint16\n\tVersion  uint8\n\tType     uint8\n\tAddrs    int32\n\tFlags    int32\n\tIndex    uint16\n\t_        [2]byte\n\tRefcount int32\n}\n\ntype RtMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tIndex   uint16\n\t_       [2]byte\n\tFlags   int32\n\tAddrs   int32\n\tPid     int32\n\tSeq     int32\n\tErrno   int32\n\tUse     int32\n\tInits   uint32\n\tRmx     RtMetrics\n}\n\ntype RtMetrics struct {\n\tLocks    uint32\n\tMtu      uint32\n\tHopcount uint32\n\tExpire   int32\n\tRecvpipe uint32\n\tSendpipe uint32\n\tSsthresh uint32\n\tRtt      uint32\n\tRttvar   uint32\n\tPksent   uint32\n\tFiller   [4]uint32\n}\n\nconst (\n\tSizeofBpfVersion = 0x4\n\tSizeofBpfStat    = 0x8\n\tSizeofBpfProgram = 0x10\n\tSizeofBpfInsn    = 0x8\n\tSizeofBpfHdr     = 0x14\n)\n\ntype BpfVersion struct {\n\tMajor uint16\n\tMinor uint16\n}\n\ntype BpfStat struct {\n\tRecv uint32\n\tDrop uint32\n}\n\ntype BpfProgram struct {\n\tLen   uint32\n\t_     [4]byte\n\tInsns *BpfInsn\n}\n\ntype BpfInsn struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype BpfHdr struct {\n\tTstamp  Timeval32\n\tCaplen  uint32\n\tDatalen uint32\n\tHdrlen  uint16\n\t_       [2]byte\n}\n\ntype Termios struct {\n\tIflag  uint64\n\tOflag  uint64\n\tCflag  uint64\n\tLflag  uint64\n\tCc     [20]uint8\n\t_      [4]byte\n\tIspeed uint64\n\tOspeed uint64\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\nconst (\n\tAT_FDCWD            = -0x2\n\tAT_REMOVEDIR        = 0x80\n\tAT_SYMLINK_FOLLOW   = 0x40\n\tAT_SYMLINK_NOFOLLOW = 0x20\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLERR    = 0x8\n\tPOLLHUP    = 0x10\n\tPOLLIN     = 0x1\n\tPOLLNVAL   = 0x20\n\tPOLLOUT    = 0x4\n\tPOLLPRI    = 0x2\n\tPOLLRDBAND = 0x80\n\tPOLLRDNORM = 0x40\n\tPOLLWRBAND = 0x100\n\tPOLLWRNORM = 0x4\n)\n\ntype Utsname struct {\n\tSysname  [256]byte\n\tNodename [256]byte\n\tRelease  [256]byte\n\tVersion  [256]byte\n\tMachine  [256]byte\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go",
    "content": "// NOTE: cgo can't generate struct Stat_t and struct Statfs_t yet\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs types_darwin.go\n\n// +build arm,darwin\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x4\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x4\n\tsizeofLongLong = 0x8\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int32\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int32\n\tNsec int32\n}\n\ntype Timeval struct {\n\tSec  int32\n\tUsec int32\n}\n\ntype Timeval32 [0]byte\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int32\n\tIxrss    int32\n\tIdrss    int32\n\tIsrss    int32\n\tMinflt   int32\n\tMajflt   int32\n\tNswap    int32\n\tInblock  int32\n\tOublock  int32\n\tMsgsnd   int32\n\tMsgrcv   int32\n\tNsignals int32\n\tNvcsw    int32\n\tNivcsw   int32\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev           int32\n\tMode          uint16\n\tNlink         uint16\n\tIno           uint64\n\tUid           uint32\n\tGid           uint32\n\tRdev          int32\n\tAtimespec     Timespec\n\tMtimespec     Timespec\n\tCtimespec     Timespec\n\tBirthtimespec Timespec\n\tSize          int64\n\tBlocks        int64\n\tBlksize       int32\n\tFlags         uint32\n\tGen           uint32\n\tLspare        int32\n\tQspare        [2]int64\n}\n\ntype Statfs_t struct {\n\tBsize       uint32\n\tIosize      int32\n\tBlocks      uint64\n\tBfree       uint64\n\tBavail      uint64\n\tFiles       uint64\n\tFfree       uint64\n\tFsid        Fsid\n\tOwner       uint32\n\tType        uint32\n\tFlags       uint32\n\tFssubtype   uint32\n\tFstypename  [16]int8\n\tMntonname   [1024]int8\n\tMntfromname [1024]int8\n\tReserved    [8]uint32\n}\n\ntype Flock_t struct {\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\tType   int16\n\tWhence int16\n}\n\ntype Fstore_t struct {\n\tFlags      uint32\n\tPosmode    int32\n\tOffset     int64\n\tLength     int64\n\tBytesalloc int64\n}\n\ntype Radvisory_t struct {\n\tOffset int64\n\tCount  int32\n}\n\ntype Fbootstraptransfer_t struct {\n\tOffset int64\n\tLength uint32\n\tBuffer *byte\n}\n\ntype Log2phys_t struct {\n\tFlags       uint32\n\tContigbytes int64\n\tDevoffset   int64\n}\n\ntype Fsid struct {\n\tVal [2]int32\n}\n\ntype Dirent struct {\n\tIno     uint64\n\tSeekoff uint64\n\tReclen  uint16\n\tNamlen  uint16\n\tType    uint8\n\tName    [1024]int8\n\t_       [3]byte\n}\n\ntype RawSockaddrInet4 struct {\n\tLen    uint8\n\tFamily uint8\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]int8\n}\n\ntype RawSockaddrInet6 struct {\n\tLen      uint8\n\tFamily   uint8\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tLen    uint8\n\tFamily uint8\n\tPath   [104]int8\n}\n\ntype RawSockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [12]int8\n}\n\ntype RawSockaddr struct {\n\tLen    uint8\n\tFamily uint8\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [92]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint32\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tIov        *Iovec\n\tIovlen     int32\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet4Pktinfo struct {\n\tIfindex  uint32\n\tSpec_dst [4]byte /* in_addr */\n\tAddr     [4]byte /* in_addr */\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tFilt [8]uint32\n}\n\nconst (\n\tSizeofSockaddrInet4    = 0x10\n\tSizeofSockaddrInet6    = 0x1c\n\tSizeofSockaddrAny      = 0x6c\n\tSizeofSockaddrUnix     = 0x6a\n\tSizeofSockaddrDatalink = 0x14\n\tSizeofLinger           = 0x8\n\tSizeofIPMreq           = 0x8\n\tSizeofIPv6Mreq         = 0x14\n\tSizeofMsghdr           = 0x1c\n\tSizeofCmsghdr          = 0xc\n\tSizeofInet4Pktinfo     = 0xc\n\tSizeofInet6Pktinfo     = 0x14\n\tSizeofIPv6MTUInfo      = 0x20\n\tSizeofICMPv6Filter     = 0x20\n)\n\nconst (\n\tPTRACE_TRACEME = 0x0\n\tPTRACE_CONT    = 0x7\n\tPTRACE_KILL    = 0x8\n)\n\ntype Kevent_t struct {\n\tIdent  uint32\n\tFilter int16\n\tFlags  uint16\n\tFflags uint32\n\tData   int32\n\tUdata  *byte\n}\n\ntype FdSet struct {\n\tBits [32]int32\n}\n\nconst (\n\tSizeofIfMsghdr    = 0x70\n\tSizeofIfData      = 0x60\n\tSizeofIfaMsghdr   = 0x14\n\tSizeofIfmaMsghdr  = 0x10\n\tSizeofIfmaMsghdr2 = 0x14\n\tSizeofRtMsghdr    = 0x5c\n\tSizeofRtMetrics   = 0x38\n)\n\ntype IfMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tAddrs   int32\n\tFlags   int32\n\tIndex   uint16\n\t_       [2]byte\n\tData    IfData\n}\n\ntype IfData struct {\n\tType       uint8\n\tTypelen    uint8\n\tPhysical   uint8\n\tAddrlen    uint8\n\tHdrlen     uint8\n\tRecvquota  uint8\n\tXmitquota  uint8\n\tUnused1    uint8\n\tMtu        uint32\n\tMetric     uint32\n\tBaudrate   uint32\n\tIpackets   uint32\n\tIerrors    uint32\n\tOpackets   uint32\n\tOerrors    uint32\n\tCollisions uint32\n\tIbytes     uint32\n\tObytes     uint32\n\tImcasts    uint32\n\tOmcasts    uint32\n\tIqdrops    uint32\n\tNoproto    uint32\n\tRecvtiming uint32\n\tXmittiming uint32\n\tLastchange Timeval\n\tUnused2    uint32\n\tHwassist   uint32\n\tReserved1  uint32\n\tReserved2  uint32\n}\n\ntype IfaMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tAddrs   int32\n\tFlags   int32\n\tIndex   uint16\n\t_       [2]byte\n\tMetric  int32\n}\n\ntype IfmaMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tAddrs   int32\n\tFlags   int32\n\tIndex   uint16\n\t_       [2]byte\n}\n\ntype IfmaMsghdr2 struct {\n\tMsglen   uint16\n\tVersion  uint8\n\tType     uint8\n\tAddrs    int32\n\tFlags    int32\n\tIndex    uint16\n\t_        [2]byte\n\tRefcount int32\n}\n\ntype RtMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tIndex   uint16\n\t_       [2]byte\n\tFlags   int32\n\tAddrs   int32\n\tPid     int32\n\tSeq     int32\n\tErrno   int32\n\tUse     int32\n\tInits   uint32\n\tRmx     RtMetrics\n}\n\ntype RtMetrics struct {\n\tLocks    uint32\n\tMtu      uint32\n\tHopcount uint32\n\tExpire   int32\n\tRecvpipe uint32\n\tSendpipe uint32\n\tSsthresh uint32\n\tRtt      uint32\n\tRttvar   uint32\n\tPksent   uint32\n\tFiller   [4]uint32\n}\n\nconst (\n\tSizeofBpfVersion = 0x4\n\tSizeofBpfStat    = 0x8\n\tSizeofBpfProgram = 0x8\n\tSizeofBpfInsn    = 0x8\n\tSizeofBpfHdr     = 0x14\n)\n\ntype BpfVersion struct {\n\tMajor uint16\n\tMinor uint16\n}\n\ntype BpfStat struct {\n\tRecv uint32\n\tDrop uint32\n}\n\ntype BpfProgram struct {\n\tLen   uint32\n\tInsns *BpfInsn\n}\n\ntype BpfInsn struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype BpfHdr struct {\n\tTstamp  Timeval\n\tCaplen  uint32\n\tDatalen uint32\n\tHdrlen  uint16\n\t_       [2]byte\n}\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tCc     [20]uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\nconst (\n\tAT_FDCWD            = -0x2\n\tAT_REMOVEDIR        = 0x80\n\tAT_SYMLINK_FOLLOW   = 0x40\n\tAT_SYMLINK_NOFOLLOW = 0x20\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLERR    = 0x8\n\tPOLLHUP    = 0x10\n\tPOLLIN     = 0x1\n\tPOLLNVAL   = 0x20\n\tPOLLOUT    = 0x4\n\tPOLLPRI    = 0x2\n\tPOLLRDBAND = 0x80\n\tPOLLRDNORM = 0x40\n\tPOLLWRBAND = 0x100\n\tPOLLWRNORM = 0x4\n)\n\ntype Utsname struct {\n\tSysname  [256]byte\n\tNodename [256]byte\n\tRelease  [256]byte\n\tVersion  [256]byte\n\tMachine  [256]byte\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go",
    "content": "// cgo -godefs types_darwin.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build arm64,darwin\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x8\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x8\n\tsizeofLongLong = 0x8\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int64\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int64\n}\n\ntype Timeval struct {\n\tSec  int64\n\tUsec int32\n\t_    [4]byte\n}\n\ntype Timeval32 struct {\n\tSec  int32\n\tUsec int32\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int64\n\tIxrss    int64\n\tIdrss    int64\n\tIsrss    int64\n\tMinflt   int64\n\tMajflt   int64\n\tNswap    int64\n\tInblock  int64\n\tOublock  int64\n\tMsgsnd   int64\n\tMsgrcv   int64\n\tNsignals int64\n\tNvcsw    int64\n\tNivcsw   int64\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev           int32\n\tMode          uint16\n\tNlink         uint16\n\tIno           uint64\n\tUid           uint32\n\tGid           uint32\n\tRdev          int32\n\t_             [4]byte\n\tAtimespec     Timespec\n\tMtimespec     Timespec\n\tCtimespec     Timespec\n\tBirthtimespec Timespec\n\tSize          int64\n\tBlocks        int64\n\tBlksize       int32\n\tFlags         uint32\n\tGen           uint32\n\tLspare        int32\n\tQspare        [2]int64\n}\n\ntype Statfs_t struct {\n\tBsize       uint32\n\tIosize      int32\n\tBlocks      uint64\n\tBfree       uint64\n\tBavail      uint64\n\tFiles       uint64\n\tFfree       uint64\n\tFsid        Fsid\n\tOwner       uint32\n\tType        uint32\n\tFlags       uint32\n\tFssubtype   uint32\n\tFstypename  [16]int8\n\tMntonname   [1024]int8\n\tMntfromname [1024]int8\n\tReserved    [8]uint32\n}\n\ntype Flock_t struct {\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\tType   int16\n\tWhence int16\n}\n\ntype Fstore_t struct {\n\tFlags      uint32\n\tPosmode    int32\n\tOffset     int64\n\tLength     int64\n\tBytesalloc int64\n}\n\ntype Radvisory_t struct {\n\tOffset int64\n\tCount  int32\n\t_      [4]byte\n}\n\ntype Fbootstraptransfer_t struct {\n\tOffset int64\n\tLength uint64\n\tBuffer *byte\n}\n\ntype Log2phys_t struct {\n\tFlags uint32\n\t_     [8]byte\n\t_     [8]byte\n}\n\ntype Fsid struct {\n\tVal [2]int32\n}\n\ntype Dirent struct {\n\tIno     uint64\n\tSeekoff uint64\n\tReclen  uint16\n\tNamlen  uint16\n\tType    uint8\n\tName    [1024]int8\n\t_       [3]byte\n}\n\ntype RawSockaddrInet4 struct {\n\tLen    uint8\n\tFamily uint8\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]int8\n}\n\ntype RawSockaddrInet6 struct {\n\tLen      uint8\n\tFamily   uint8\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tLen    uint8\n\tFamily uint8\n\tPath   [104]int8\n}\n\ntype RawSockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [12]int8\n}\n\ntype RawSockaddr struct {\n\tLen    uint8\n\tFamily uint8\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [92]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint64\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\t_          [4]byte\n\tIov        *Iovec\n\tIovlen     int32\n\t_          [4]byte\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet4Pktinfo struct {\n\tIfindex  uint32\n\tSpec_dst [4]byte /* in_addr */\n\tAddr     [4]byte /* in_addr */\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tFilt [8]uint32\n}\n\nconst (\n\tSizeofSockaddrInet4    = 0x10\n\tSizeofSockaddrInet6    = 0x1c\n\tSizeofSockaddrAny      = 0x6c\n\tSizeofSockaddrUnix     = 0x6a\n\tSizeofSockaddrDatalink = 0x14\n\tSizeofLinger           = 0x8\n\tSizeofIPMreq           = 0x8\n\tSizeofIPv6Mreq         = 0x14\n\tSizeofMsghdr           = 0x30\n\tSizeofCmsghdr          = 0xc\n\tSizeofInet4Pktinfo     = 0xc\n\tSizeofInet6Pktinfo     = 0x14\n\tSizeofIPv6MTUInfo      = 0x20\n\tSizeofICMPv6Filter     = 0x20\n)\n\nconst (\n\tPTRACE_TRACEME = 0x0\n\tPTRACE_CONT    = 0x7\n\tPTRACE_KILL    = 0x8\n)\n\ntype Kevent_t struct {\n\tIdent  uint64\n\tFilter int16\n\tFlags  uint16\n\tFflags uint32\n\tData   int64\n\tUdata  *byte\n}\n\ntype FdSet struct {\n\tBits [32]int32\n}\n\nconst (\n\tSizeofIfMsghdr    = 0x70\n\tSizeofIfData      = 0x60\n\tSizeofIfaMsghdr   = 0x14\n\tSizeofIfmaMsghdr  = 0x10\n\tSizeofIfmaMsghdr2 = 0x14\n\tSizeofRtMsghdr    = 0x5c\n\tSizeofRtMetrics   = 0x38\n)\n\ntype IfMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tAddrs   int32\n\tFlags   int32\n\tIndex   uint16\n\t_       [2]byte\n\tData    IfData\n}\n\ntype IfData struct {\n\tType       uint8\n\tTypelen    uint8\n\tPhysical   uint8\n\tAddrlen    uint8\n\tHdrlen     uint8\n\tRecvquota  uint8\n\tXmitquota  uint8\n\tUnused1    uint8\n\tMtu        uint32\n\tMetric     uint32\n\tBaudrate   uint32\n\tIpackets   uint32\n\tIerrors    uint32\n\tOpackets   uint32\n\tOerrors    uint32\n\tCollisions uint32\n\tIbytes     uint32\n\tObytes     uint32\n\tImcasts    uint32\n\tOmcasts    uint32\n\tIqdrops    uint32\n\tNoproto    uint32\n\tRecvtiming uint32\n\tXmittiming uint32\n\tLastchange Timeval32\n\tUnused2    uint32\n\tHwassist   uint32\n\tReserved1  uint32\n\tReserved2  uint32\n}\n\ntype IfaMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tAddrs   int32\n\tFlags   int32\n\tIndex   uint16\n\t_       [2]byte\n\tMetric  int32\n}\n\ntype IfmaMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tAddrs   int32\n\tFlags   int32\n\tIndex   uint16\n\t_       [2]byte\n}\n\ntype IfmaMsghdr2 struct {\n\tMsglen   uint16\n\tVersion  uint8\n\tType     uint8\n\tAddrs    int32\n\tFlags    int32\n\tIndex    uint16\n\t_        [2]byte\n\tRefcount int32\n}\n\ntype RtMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tIndex   uint16\n\t_       [2]byte\n\tFlags   int32\n\tAddrs   int32\n\tPid     int32\n\tSeq     int32\n\tErrno   int32\n\tUse     int32\n\tInits   uint32\n\tRmx     RtMetrics\n}\n\ntype RtMetrics struct {\n\tLocks    uint32\n\tMtu      uint32\n\tHopcount uint32\n\tExpire   int32\n\tRecvpipe uint32\n\tSendpipe uint32\n\tSsthresh uint32\n\tRtt      uint32\n\tRttvar   uint32\n\tPksent   uint32\n\tFiller   [4]uint32\n}\n\nconst (\n\tSizeofBpfVersion = 0x4\n\tSizeofBpfStat    = 0x8\n\tSizeofBpfProgram = 0x10\n\tSizeofBpfInsn    = 0x8\n\tSizeofBpfHdr     = 0x14\n)\n\ntype BpfVersion struct {\n\tMajor uint16\n\tMinor uint16\n}\n\ntype BpfStat struct {\n\tRecv uint32\n\tDrop uint32\n}\n\ntype BpfProgram struct {\n\tLen   uint32\n\t_     [4]byte\n\tInsns *BpfInsn\n}\n\ntype BpfInsn struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype BpfHdr struct {\n\tTstamp  Timeval32\n\tCaplen  uint32\n\tDatalen uint32\n\tHdrlen  uint16\n\t_       [2]byte\n}\n\ntype Termios struct {\n\tIflag  uint64\n\tOflag  uint64\n\tCflag  uint64\n\tLflag  uint64\n\tCc     [20]uint8\n\t_      [4]byte\n\tIspeed uint64\n\tOspeed uint64\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\nconst (\n\tAT_FDCWD            = -0x2\n\tAT_REMOVEDIR        = 0x80\n\tAT_SYMLINK_FOLLOW   = 0x40\n\tAT_SYMLINK_NOFOLLOW = 0x20\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLERR    = 0x8\n\tPOLLHUP    = 0x10\n\tPOLLIN     = 0x1\n\tPOLLNVAL   = 0x20\n\tPOLLOUT    = 0x4\n\tPOLLPRI    = 0x2\n\tPOLLRDBAND = 0x80\n\tPOLLRDNORM = 0x40\n\tPOLLWRBAND = 0x100\n\tPOLLWRNORM = 0x4\n)\n\ntype Utsname struct {\n\tSysname  [256]byte\n\tNodename [256]byte\n\tRelease  [256]byte\n\tVersion  [256]byte\n\tMachine  [256]byte\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go",
    "content": "// cgo -godefs types_dragonfly.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,dragonfly\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x8\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x8\n\tsizeofLongLong = 0x8\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int64\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int64\n}\n\ntype Timeval struct {\n\tSec  int64\n\tUsec int64\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int64\n\tIxrss    int64\n\tIdrss    int64\n\tIsrss    int64\n\tMinflt   int64\n\tMajflt   int64\n\tNswap    int64\n\tInblock  int64\n\tOublock  int64\n\tMsgsnd   int64\n\tMsgrcv   int64\n\tNsignals int64\n\tNvcsw    int64\n\tNivcsw   int64\n}\n\ntype Rlimit struct {\n\tCur int64\n\tMax int64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tIno      uint64\n\tNlink    uint32\n\tDev      uint32\n\tMode     uint16\n\tPadding1 uint16\n\tUid      uint32\n\tGid      uint32\n\tRdev     uint32\n\tAtim     Timespec\n\tMtim     Timespec\n\tCtim     Timespec\n\tSize     int64\n\tBlocks   int64\n\tBlksize  uint32\n\tFlags    uint32\n\tGen      uint32\n\tLspare   int32\n\tQspare1  int64\n\tQspare2  int64\n}\n\ntype Statfs_t struct {\n\tSpare2      int64\n\tBsize       int64\n\tIosize      int64\n\tBlocks      int64\n\tBfree       int64\n\tBavail      int64\n\tFiles       int64\n\tFfree       int64\n\tFsid        Fsid\n\tOwner       uint32\n\tType        int32\n\tFlags       int32\n\t_           [4]byte\n\tSyncwrites  int64\n\tAsyncwrites int64\n\tFstypename  [16]int8\n\tMntonname   [80]int8\n\tSyncreads   int64\n\tAsyncreads  int64\n\tSpares1     int16\n\tMntfromname [80]int8\n\tSpares2     int16\n\t_           [4]byte\n\tSpare       [2]int64\n}\n\ntype Flock_t struct {\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\tType   int16\n\tWhence int16\n}\n\ntype Dirent struct {\n\tFileno  uint64\n\tNamlen  uint16\n\tType    uint8\n\tUnused1 uint8\n\tUnused2 uint32\n\tName    [256]int8\n}\n\ntype Fsid struct {\n\tVal [2]int32\n}\n\nconst (\n\tPathMax = 0x400\n)\n\ntype RawSockaddrInet4 struct {\n\tLen    uint8\n\tFamily uint8\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]int8\n}\n\ntype RawSockaddrInet6 struct {\n\tLen      uint8\n\tFamily   uint8\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tLen    uint8\n\tFamily uint8\n\tPath   [104]int8\n}\n\ntype RawSockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [12]int8\n\tRcf    uint16\n\tRoute  [16]uint16\n}\n\ntype RawSockaddr struct {\n\tLen    uint8\n\tFamily uint8\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [92]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint64\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\t_          [4]byte\n\tIov        *Iovec\n\tIovlen     int32\n\t_          [4]byte\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tFilt [8]uint32\n}\n\nconst (\n\tSizeofSockaddrInet4    = 0x10\n\tSizeofSockaddrInet6    = 0x1c\n\tSizeofSockaddrAny      = 0x6c\n\tSizeofSockaddrUnix     = 0x6a\n\tSizeofSockaddrDatalink = 0x36\n\tSizeofLinger           = 0x8\n\tSizeofIPMreq           = 0x8\n\tSizeofIPv6Mreq         = 0x14\n\tSizeofMsghdr           = 0x30\n\tSizeofCmsghdr          = 0xc\n\tSizeofInet6Pktinfo     = 0x14\n\tSizeofIPv6MTUInfo      = 0x20\n\tSizeofICMPv6Filter     = 0x20\n)\n\nconst (\n\tPTRACE_TRACEME = 0x0\n\tPTRACE_CONT    = 0x7\n\tPTRACE_KILL    = 0x8\n)\n\ntype Kevent_t struct {\n\tIdent  uint64\n\tFilter int16\n\tFlags  uint16\n\tFflags uint32\n\tData   int64\n\tUdata  *byte\n}\n\ntype FdSet struct {\n\tBits [16]uint64\n}\n\nconst (\n\tSizeofIfMsghdr         = 0xb0\n\tSizeofIfData           = 0xa0\n\tSizeofIfaMsghdr        = 0x14\n\tSizeofIfmaMsghdr       = 0x10\n\tSizeofIfAnnounceMsghdr = 0x18\n\tSizeofRtMsghdr         = 0x98\n\tSizeofRtMetrics        = 0x70\n)\n\ntype IfMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tAddrs   int32\n\tFlags   int32\n\tIndex   uint16\n\t_       [2]byte\n\tData    IfData\n}\n\ntype IfData struct {\n\tType       uint8\n\tPhysical   uint8\n\tAddrlen    uint8\n\tHdrlen     uint8\n\tRecvquota  uint8\n\tXmitquota  uint8\n\t_          [2]byte\n\tMtu        uint64\n\tMetric     uint64\n\tLink_state uint64\n\tBaudrate   uint64\n\tIpackets   uint64\n\tIerrors    uint64\n\tOpackets   uint64\n\tOerrors    uint64\n\tCollisions uint64\n\tIbytes     uint64\n\tObytes     uint64\n\tImcasts    uint64\n\tOmcasts    uint64\n\tIqdrops    uint64\n\tNoproto    uint64\n\tHwassist   uint64\n\tOqdrops    uint64\n\tLastchange Timeval\n}\n\ntype IfaMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tAddrs   int32\n\tFlags   int32\n\tIndex   uint16\n\t_       [2]byte\n\tMetric  int32\n}\n\ntype IfmaMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tAddrs   int32\n\tFlags   int32\n\tIndex   uint16\n\t_       [2]byte\n}\n\ntype IfAnnounceMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tIndex   uint16\n\tName    [16]int8\n\tWhat    uint16\n}\n\ntype RtMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tIndex   uint16\n\t_       [2]byte\n\tFlags   int32\n\tAddrs   int32\n\tPid     int32\n\tSeq     int32\n\tErrno   int32\n\tUse     int32\n\tInits   uint64\n\tRmx     RtMetrics\n}\n\ntype RtMetrics struct {\n\tLocks     uint64\n\tMtu       uint64\n\tPksent    uint64\n\tExpire    uint64\n\tSendpipe  uint64\n\tSsthresh  uint64\n\tRtt       uint64\n\tRttvar    uint64\n\tRecvpipe  uint64\n\tHopcount  uint64\n\tMssopt    uint16\n\tPad       uint16\n\t_         [4]byte\n\tMsl       uint64\n\tIwmaxsegs uint64\n\tIwcapsegs uint64\n}\n\nconst (\n\tSizeofBpfVersion = 0x4\n\tSizeofBpfStat    = 0x8\n\tSizeofBpfProgram = 0x10\n\tSizeofBpfInsn    = 0x8\n\tSizeofBpfHdr     = 0x20\n)\n\ntype BpfVersion struct {\n\tMajor uint16\n\tMinor uint16\n}\n\ntype BpfStat struct {\n\tRecv uint32\n\tDrop uint32\n}\n\ntype BpfProgram struct {\n\tLen   uint32\n\t_     [4]byte\n\tInsns *BpfInsn\n}\n\ntype BpfInsn struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype BpfHdr struct {\n\tTstamp  Timeval\n\tCaplen  uint32\n\tDatalen uint32\n\tHdrlen  uint16\n\t_       [6]byte\n}\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tCc     [20]uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\nconst (\n\tAT_FDCWD            = 0xfffafdcd\n\tAT_SYMLINK_NOFOLLOW = 0x1\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLERR    = 0x8\n\tPOLLHUP    = 0x10\n\tPOLLIN     = 0x1\n\tPOLLNVAL   = 0x20\n\tPOLLOUT    = 0x4\n\tPOLLPRI    = 0x2\n\tPOLLRDBAND = 0x80\n\tPOLLRDNORM = 0x40\n\tPOLLWRBAND = 0x100\n\tPOLLWRNORM = 0x4\n)\n\ntype Utsname struct {\n\tSysname  [32]byte\n\tNodename [32]byte\n\tRelease  [32]byte\n\tVersion  [32]byte\n\tMachine  [32]byte\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go",
    "content": "// cgo -godefs types_freebsd.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build 386,freebsd\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x4\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x4\n\tsizeofLongLong = 0x8\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int32\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int32\n\tNsec int32\n}\n\ntype Timeval struct {\n\tSec  int32\n\tUsec int32\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int32\n\tIxrss    int32\n\tIdrss    int32\n\tIsrss    int32\n\tMinflt   int32\n\tMajflt   int32\n\tNswap    int32\n\tInblock  int32\n\tOublock  int32\n\tMsgsnd   int32\n\tMsgrcv   int32\n\tNsignals int32\n\tNvcsw    int32\n\tNivcsw   int32\n}\n\ntype Rlimit struct {\n\tCur int64\n\tMax int64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev           uint32\n\tIno           uint32\n\tMode          uint16\n\tNlink         uint16\n\tUid           uint32\n\tGid           uint32\n\tRdev          uint32\n\tAtimespec     Timespec\n\tMtimespec     Timespec\n\tCtimespec     Timespec\n\tSize          int64\n\tBlocks        int64\n\tBlksize       int32\n\tFlags         uint32\n\tGen           uint32\n\tLspare        int32\n\tBirthtimespec Timespec\n\tPad_cgo_0     [8]byte\n}\n\ntype Statfs_t struct {\n\tVersion     uint32\n\tType        uint32\n\tFlags       uint64\n\tBsize       uint64\n\tIosize      uint64\n\tBlocks      uint64\n\tBfree       uint64\n\tBavail      int64\n\tFiles       uint64\n\tFfree       int64\n\tSyncwrites  uint64\n\tAsyncwrites uint64\n\tSyncreads   uint64\n\tAsyncreads  uint64\n\tSpare       [10]uint64\n\tNamemax     uint32\n\tOwner       uint32\n\tFsid        Fsid\n\tCharspare   [80]int8\n\tFstypename  [16]int8\n\tMntfromname [88]int8\n\tMntonname   [88]int8\n}\n\ntype Flock_t struct {\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\tType   int16\n\tWhence int16\n\tSysid  int32\n}\n\ntype Dirent struct {\n\tFileno uint32\n\tReclen uint16\n\tType   uint8\n\tNamlen uint8\n\tName   [256]int8\n}\n\ntype Fsid struct {\n\tVal [2]int32\n}\n\nconst (\n\tPathMax = 0x400\n)\n\nconst (\n\tFADV_NORMAL     = 0x0\n\tFADV_RANDOM     = 0x1\n\tFADV_SEQUENTIAL = 0x2\n\tFADV_WILLNEED   = 0x3\n\tFADV_DONTNEED   = 0x4\n\tFADV_NOREUSE    = 0x5\n)\n\ntype RawSockaddrInet4 struct {\n\tLen    uint8\n\tFamily uint8\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]int8\n}\n\ntype RawSockaddrInet6 struct {\n\tLen      uint8\n\tFamily   uint8\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tLen    uint8\n\tFamily uint8\n\tPath   [104]int8\n}\n\ntype RawSockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [46]int8\n}\n\ntype RawSockaddr struct {\n\tLen    uint8\n\tFamily uint8\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [92]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint32\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPMreqn struct {\n\tMultiaddr [4]byte /* in_addr */\n\tAddress   [4]byte /* in_addr */\n\tIfindex   int32\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tIov        *Iovec\n\tIovlen     int32\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tFilt [8]uint32\n}\n\nconst (\n\tSizeofSockaddrInet4    = 0x10\n\tSizeofSockaddrInet6    = 0x1c\n\tSizeofSockaddrAny      = 0x6c\n\tSizeofSockaddrUnix     = 0x6a\n\tSizeofSockaddrDatalink = 0x36\n\tSizeofLinger           = 0x8\n\tSizeofIPMreq           = 0x8\n\tSizeofIPMreqn          = 0xc\n\tSizeofIPv6Mreq         = 0x14\n\tSizeofMsghdr           = 0x1c\n\tSizeofCmsghdr          = 0xc\n\tSizeofInet6Pktinfo     = 0x14\n\tSizeofIPv6MTUInfo      = 0x20\n\tSizeofICMPv6Filter     = 0x20\n)\n\nconst (\n\tPTRACE_TRACEME = 0x0\n\tPTRACE_CONT    = 0x7\n\tPTRACE_KILL    = 0x8\n)\n\ntype Kevent_t struct {\n\tIdent  uint32\n\tFilter int16\n\tFlags  uint16\n\tFflags uint32\n\tData   int32\n\tUdata  *byte\n}\n\ntype FdSet struct {\n\tX__fds_bits [32]uint32\n}\n\nconst (\n\tsizeofIfMsghdr         = 0xa8\n\tSizeofIfMsghdr         = 0x60\n\tsizeofIfData           = 0x98\n\tSizeofIfData           = 0x50\n\tSizeofIfaMsghdr        = 0x14\n\tSizeofIfmaMsghdr       = 0x10\n\tSizeofIfAnnounceMsghdr = 0x18\n\tSizeofRtMsghdr         = 0x5c\n\tSizeofRtMetrics        = 0x38\n)\n\ntype ifMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tData      ifData\n}\n\ntype IfMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tData      IfData\n}\n\ntype ifData struct {\n\tType              uint8\n\tPhysical          uint8\n\tAddrlen           uint8\n\tHdrlen            uint8\n\tLink_state        uint8\n\tVhid              uint8\n\tDatalen           uint16\n\tMtu               uint32\n\tMetric            uint32\n\tBaudrate          uint64\n\tIpackets          uint64\n\tIerrors           uint64\n\tOpackets          uint64\n\tOerrors           uint64\n\tCollisions        uint64\n\tIbytes            uint64\n\tObytes            uint64\n\tImcasts           uint64\n\tOmcasts           uint64\n\tIqdrops           uint64\n\tOqdrops           uint64\n\tNoproto           uint64\n\tHwassist          uint64\n\tX__ifi_epoch      [8]byte\n\tX__ifi_lastchange [16]byte\n}\n\ntype IfData struct {\n\tType        uint8\n\tPhysical    uint8\n\tAddrlen     uint8\n\tHdrlen      uint8\n\tLink_state  uint8\n\tSpare_char1 uint8\n\tSpare_char2 uint8\n\tDatalen     uint8\n\tMtu         uint32\n\tMetric      uint32\n\tBaudrate    uint32\n\tIpackets    uint32\n\tIerrors     uint32\n\tOpackets    uint32\n\tOerrors     uint32\n\tCollisions  uint32\n\tIbytes      uint32\n\tObytes      uint32\n\tImcasts     uint32\n\tOmcasts     uint32\n\tIqdrops     uint32\n\tNoproto     uint32\n\tHwassist    uint32\n\tEpoch       int32\n\tLastchange  Timeval\n}\n\ntype IfaMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tMetric    int32\n}\n\ntype IfmaMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n}\n\ntype IfAnnounceMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tIndex   uint16\n\tName    [16]int8\n\tWhat    uint16\n}\n\ntype RtMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tFlags     int32\n\tAddrs     int32\n\tPid       int32\n\tSeq       int32\n\tErrno     int32\n\tFmask     int32\n\tInits     uint32\n\tRmx       RtMetrics\n}\n\ntype RtMetrics struct {\n\tLocks    uint32\n\tMtu      uint32\n\tHopcount uint32\n\tExpire   uint32\n\tRecvpipe uint32\n\tSendpipe uint32\n\tSsthresh uint32\n\tRtt      uint32\n\tRttvar   uint32\n\tPksent   uint32\n\tWeight   uint32\n\tFiller   [3]uint32\n}\n\nconst (\n\tSizeofBpfVersion    = 0x4\n\tSizeofBpfStat       = 0x8\n\tSizeofBpfZbuf       = 0xc\n\tSizeofBpfProgram    = 0x8\n\tSizeofBpfInsn       = 0x8\n\tSizeofBpfHdr        = 0x14\n\tSizeofBpfZbufHeader = 0x20\n)\n\ntype BpfVersion struct {\n\tMajor uint16\n\tMinor uint16\n}\n\ntype BpfStat struct {\n\tRecv uint32\n\tDrop uint32\n}\n\ntype BpfZbuf struct {\n\tBufa   *byte\n\tBufb   *byte\n\tBuflen uint32\n}\n\ntype BpfProgram struct {\n\tLen   uint32\n\tInsns *BpfInsn\n}\n\ntype BpfInsn struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype BpfHdr struct {\n\tTstamp    Timeval\n\tCaplen    uint32\n\tDatalen   uint32\n\tHdrlen    uint16\n\tPad_cgo_0 [2]byte\n}\n\ntype BpfZbufHeader struct {\n\tKernel_gen uint32\n\tKernel_len uint32\n\tUser_gen   uint32\n\tX_bzh_pad  [5]uint32\n}\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tCc     [20]uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\nconst (\n\tAT_FDCWD            = -0x64\n\tAT_REMOVEDIR        = 0x800\n\tAT_SYMLINK_FOLLOW   = 0x400\n\tAT_SYMLINK_NOFOLLOW = 0x200\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLERR      = 0x8\n\tPOLLHUP      = 0x10\n\tPOLLIN       = 0x1\n\tPOLLINIGNEOF = 0x2000\n\tPOLLNVAL     = 0x20\n\tPOLLOUT      = 0x4\n\tPOLLPRI      = 0x2\n\tPOLLRDBAND   = 0x80\n\tPOLLRDNORM   = 0x40\n\tPOLLWRBAND   = 0x100\n\tPOLLWRNORM   = 0x4\n)\n\ntype CapRights struct {\n\tRights [2]uint64\n}\n\ntype Utsname struct {\n\tSysname  [256]byte\n\tNodename [256]byte\n\tRelease  [256]byte\n\tVersion  [256]byte\n\tMachine  [256]byte\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go",
    "content": "// cgo -godefs types_freebsd.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,freebsd\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x8\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x8\n\tsizeofLongLong = 0x8\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int64\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int64\n}\n\ntype Timeval struct {\n\tSec  int64\n\tUsec int64\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int64\n\tIxrss    int64\n\tIdrss    int64\n\tIsrss    int64\n\tMinflt   int64\n\tMajflt   int64\n\tNswap    int64\n\tInblock  int64\n\tOublock  int64\n\tMsgsnd   int64\n\tMsgrcv   int64\n\tNsignals int64\n\tNvcsw    int64\n\tNivcsw   int64\n}\n\ntype Rlimit struct {\n\tCur int64\n\tMax int64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev           uint32\n\tIno           uint32\n\tMode          uint16\n\tNlink         uint16\n\tUid           uint32\n\tGid           uint32\n\tRdev          uint32\n\tAtimespec     Timespec\n\tMtimespec     Timespec\n\tCtimespec     Timespec\n\tSize          int64\n\tBlocks        int64\n\tBlksize       int32\n\tFlags         uint32\n\tGen           uint32\n\tLspare        int32\n\tBirthtimespec Timespec\n}\n\ntype Statfs_t struct {\n\tVersion     uint32\n\tType        uint32\n\tFlags       uint64\n\tBsize       uint64\n\tIosize      uint64\n\tBlocks      uint64\n\tBfree       uint64\n\tBavail      int64\n\tFiles       uint64\n\tFfree       int64\n\tSyncwrites  uint64\n\tAsyncwrites uint64\n\tSyncreads   uint64\n\tAsyncreads  uint64\n\tSpare       [10]uint64\n\tNamemax     uint32\n\tOwner       uint32\n\tFsid        Fsid\n\tCharspare   [80]int8\n\tFstypename  [16]int8\n\tMntfromname [88]int8\n\tMntonname   [88]int8\n}\n\ntype Flock_t struct {\n\tStart     int64\n\tLen       int64\n\tPid       int32\n\tType      int16\n\tWhence    int16\n\tSysid     int32\n\tPad_cgo_0 [4]byte\n}\n\ntype Dirent struct {\n\tFileno uint32\n\tReclen uint16\n\tType   uint8\n\tNamlen uint8\n\tName   [256]int8\n}\n\ntype Fsid struct {\n\tVal [2]int32\n}\n\nconst (\n\tPathMax = 0x400\n)\n\nconst (\n\tFADV_NORMAL     = 0x0\n\tFADV_RANDOM     = 0x1\n\tFADV_SEQUENTIAL = 0x2\n\tFADV_WILLNEED   = 0x3\n\tFADV_DONTNEED   = 0x4\n\tFADV_NOREUSE    = 0x5\n)\n\ntype RawSockaddrInet4 struct {\n\tLen    uint8\n\tFamily uint8\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]int8\n}\n\ntype RawSockaddrInet6 struct {\n\tLen      uint8\n\tFamily   uint8\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tLen    uint8\n\tFamily uint8\n\tPath   [104]int8\n}\n\ntype RawSockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [46]int8\n}\n\ntype RawSockaddr struct {\n\tLen    uint8\n\tFamily uint8\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [92]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint64\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPMreqn struct {\n\tMultiaddr [4]byte /* in_addr */\n\tAddress   [4]byte /* in_addr */\n\tIfindex   int32\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tPad_cgo_0  [4]byte\n\tIov        *Iovec\n\tIovlen     int32\n\tPad_cgo_1  [4]byte\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tFilt [8]uint32\n}\n\nconst (\n\tSizeofSockaddrInet4    = 0x10\n\tSizeofSockaddrInet6    = 0x1c\n\tSizeofSockaddrAny      = 0x6c\n\tSizeofSockaddrUnix     = 0x6a\n\tSizeofSockaddrDatalink = 0x36\n\tSizeofLinger           = 0x8\n\tSizeofIPMreq           = 0x8\n\tSizeofIPMreqn          = 0xc\n\tSizeofIPv6Mreq         = 0x14\n\tSizeofMsghdr           = 0x30\n\tSizeofCmsghdr          = 0xc\n\tSizeofInet6Pktinfo     = 0x14\n\tSizeofIPv6MTUInfo      = 0x20\n\tSizeofICMPv6Filter     = 0x20\n)\n\nconst (\n\tPTRACE_TRACEME = 0x0\n\tPTRACE_CONT    = 0x7\n\tPTRACE_KILL    = 0x8\n)\n\ntype Kevent_t struct {\n\tIdent  uint64\n\tFilter int16\n\tFlags  uint16\n\tFflags uint32\n\tData   int64\n\tUdata  *byte\n}\n\ntype FdSet struct {\n\tX__fds_bits [16]uint64\n}\n\nconst (\n\tsizeofIfMsghdr         = 0xa8\n\tSizeofIfMsghdr         = 0xa8\n\tsizeofIfData           = 0x98\n\tSizeofIfData           = 0x98\n\tSizeofIfaMsghdr        = 0x14\n\tSizeofIfmaMsghdr       = 0x10\n\tSizeofIfAnnounceMsghdr = 0x18\n\tSizeofRtMsghdr         = 0x98\n\tSizeofRtMetrics        = 0x70\n)\n\ntype ifMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tData      ifData\n}\n\ntype IfMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tData      IfData\n}\n\ntype ifData struct {\n\tType              uint8\n\tPhysical          uint8\n\tAddrlen           uint8\n\tHdrlen            uint8\n\tLink_state        uint8\n\tVhid              uint8\n\tDatalen           uint16\n\tMtu               uint32\n\tMetric            uint32\n\tBaudrate          uint64\n\tIpackets          uint64\n\tIerrors           uint64\n\tOpackets          uint64\n\tOerrors           uint64\n\tCollisions        uint64\n\tIbytes            uint64\n\tObytes            uint64\n\tImcasts           uint64\n\tOmcasts           uint64\n\tIqdrops           uint64\n\tOqdrops           uint64\n\tNoproto           uint64\n\tHwassist          uint64\n\tX__ifi_epoch      [8]byte\n\tX__ifi_lastchange [16]byte\n}\n\ntype IfData struct {\n\tType        uint8\n\tPhysical    uint8\n\tAddrlen     uint8\n\tHdrlen      uint8\n\tLink_state  uint8\n\tSpare_char1 uint8\n\tSpare_char2 uint8\n\tDatalen     uint8\n\tMtu         uint64\n\tMetric      uint64\n\tBaudrate    uint64\n\tIpackets    uint64\n\tIerrors     uint64\n\tOpackets    uint64\n\tOerrors     uint64\n\tCollisions  uint64\n\tIbytes      uint64\n\tObytes      uint64\n\tImcasts     uint64\n\tOmcasts     uint64\n\tIqdrops     uint64\n\tNoproto     uint64\n\tHwassist    uint64\n\tEpoch       int64\n\tLastchange  Timeval\n}\n\ntype IfaMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tMetric    int32\n}\n\ntype IfmaMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n}\n\ntype IfAnnounceMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tIndex   uint16\n\tName    [16]int8\n\tWhat    uint16\n}\n\ntype RtMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tFlags     int32\n\tAddrs     int32\n\tPid       int32\n\tSeq       int32\n\tErrno     int32\n\tFmask     int32\n\tInits     uint64\n\tRmx       RtMetrics\n}\n\ntype RtMetrics struct {\n\tLocks    uint64\n\tMtu      uint64\n\tHopcount uint64\n\tExpire   uint64\n\tRecvpipe uint64\n\tSendpipe uint64\n\tSsthresh uint64\n\tRtt      uint64\n\tRttvar   uint64\n\tPksent   uint64\n\tWeight   uint64\n\tFiller   [3]uint64\n}\n\nconst (\n\tSizeofBpfVersion    = 0x4\n\tSizeofBpfStat       = 0x8\n\tSizeofBpfZbuf       = 0x18\n\tSizeofBpfProgram    = 0x10\n\tSizeofBpfInsn       = 0x8\n\tSizeofBpfHdr        = 0x20\n\tSizeofBpfZbufHeader = 0x20\n)\n\ntype BpfVersion struct {\n\tMajor uint16\n\tMinor uint16\n}\n\ntype BpfStat struct {\n\tRecv uint32\n\tDrop uint32\n}\n\ntype BpfZbuf struct {\n\tBufa   *byte\n\tBufb   *byte\n\tBuflen uint64\n}\n\ntype BpfProgram struct {\n\tLen       uint32\n\tPad_cgo_0 [4]byte\n\tInsns     *BpfInsn\n}\n\ntype BpfInsn struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype BpfHdr struct {\n\tTstamp    Timeval\n\tCaplen    uint32\n\tDatalen   uint32\n\tHdrlen    uint16\n\tPad_cgo_0 [6]byte\n}\n\ntype BpfZbufHeader struct {\n\tKernel_gen uint32\n\tKernel_len uint32\n\tUser_gen   uint32\n\tX_bzh_pad  [5]uint32\n}\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tCc     [20]uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\nconst (\n\tAT_FDCWD            = -0x64\n\tAT_REMOVEDIR        = 0x800\n\tAT_SYMLINK_FOLLOW   = 0x400\n\tAT_SYMLINK_NOFOLLOW = 0x200\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLERR      = 0x8\n\tPOLLHUP      = 0x10\n\tPOLLIN       = 0x1\n\tPOLLINIGNEOF = 0x2000\n\tPOLLNVAL     = 0x20\n\tPOLLOUT      = 0x4\n\tPOLLPRI      = 0x2\n\tPOLLRDBAND   = 0x80\n\tPOLLRDNORM   = 0x40\n\tPOLLWRBAND   = 0x100\n\tPOLLWRNORM   = 0x4\n)\n\ntype CapRights struct {\n\tRights [2]uint64\n}\n\ntype Utsname struct {\n\tSysname  [256]byte\n\tNodename [256]byte\n\tRelease  [256]byte\n\tVersion  [256]byte\n\tMachine  [256]byte\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go",
    "content": "// cgo -godefs -- -fsigned-char types_freebsd.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build arm,freebsd\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x4\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x4\n\tsizeofLongLong = 0x8\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int32\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec       int64\n\tNsec      int32\n\tPad_cgo_0 [4]byte\n}\n\ntype Timeval struct {\n\tSec       int64\n\tUsec      int32\n\tPad_cgo_0 [4]byte\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int32\n\tIxrss    int32\n\tIdrss    int32\n\tIsrss    int32\n\tMinflt   int32\n\tMajflt   int32\n\tNswap    int32\n\tInblock  int32\n\tOublock  int32\n\tMsgsnd   int32\n\tMsgrcv   int32\n\tNsignals int32\n\tNvcsw    int32\n\tNivcsw   int32\n}\n\ntype Rlimit struct {\n\tCur int64\n\tMax int64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev           uint32\n\tIno           uint32\n\tMode          uint16\n\tNlink         uint16\n\tUid           uint32\n\tGid           uint32\n\tRdev          uint32\n\tAtimespec     Timespec\n\tMtimespec     Timespec\n\tCtimespec     Timespec\n\tSize          int64\n\tBlocks        int64\n\tBlksize       int32\n\tFlags         uint32\n\tGen           uint32\n\tLspare        int32\n\tBirthtimespec Timespec\n}\n\ntype Statfs_t struct {\n\tVersion     uint32\n\tType        uint32\n\tFlags       uint64\n\tBsize       uint64\n\tIosize      uint64\n\tBlocks      uint64\n\tBfree       uint64\n\tBavail      int64\n\tFiles       uint64\n\tFfree       int64\n\tSyncwrites  uint64\n\tAsyncwrites uint64\n\tSyncreads   uint64\n\tAsyncreads  uint64\n\tSpare       [10]uint64\n\tNamemax     uint32\n\tOwner       uint32\n\tFsid        Fsid\n\tCharspare   [80]int8\n\tFstypename  [16]int8\n\tMntfromname [88]int8\n\tMntonname   [88]int8\n}\n\ntype Flock_t struct {\n\tStart     int64\n\tLen       int64\n\tPid       int32\n\tType      int16\n\tWhence    int16\n\tSysid     int32\n\tPad_cgo_0 [4]byte\n}\n\ntype Dirent struct {\n\tFileno uint32\n\tReclen uint16\n\tType   uint8\n\tNamlen uint8\n\tName   [256]int8\n}\n\ntype Fsid struct {\n\tVal [2]int32\n}\n\nconst (\n\tPathMax = 0x400\n)\n\nconst (\n\tFADV_NORMAL     = 0x0\n\tFADV_RANDOM     = 0x1\n\tFADV_SEQUENTIAL = 0x2\n\tFADV_WILLNEED   = 0x3\n\tFADV_DONTNEED   = 0x4\n\tFADV_NOREUSE    = 0x5\n)\n\ntype RawSockaddrInet4 struct {\n\tLen    uint8\n\tFamily uint8\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]int8\n}\n\ntype RawSockaddrInet6 struct {\n\tLen      uint8\n\tFamily   uint8\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tLen    uint8\n\tFamily uint8\n\tPath   [104]int8\n}\n\ntype RawSockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [46]int8\n}\n\ntype RawSockaddr struct {\n\tLen    uint8\n\tFamily uint8\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [92]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint32\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPMreqn struct {\n\tMultiaddr [4]byte /* in_addr */\n\tAddress   [4]byte /* in_addr */\n\tIfindex   int32\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tIov        *Iovec\n\tIovlen     int32\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tFilt [8]uint32\n}\n\nconst (\n\tSizeofSockaddrInet4    = 0x10\n\tSizeofSockaddrInet6    = 0x1c\n\tSizeofSockaddrAny      = 0x6c\n\tSizeofSockaddrUnix     = 0x6a\n\tSizeofSockaddrDatalink = 0x36\n\tSizeofLinger           = 0x8\n\tSizeofIPMreq           = 0x8\n\tSizeofIPMreqn          = 0xc\n\tSizeofIPv6Mreq         = 0x14\n\tSizeofMsghdr           = 0x1c\n\tSizeofCmsghdr          = 0xc\n\tSizeofInet6Pktinfo     = 0x14\n\tSizeofIPv6MTUInfo      = 0x20\n\tSizeofICMPv6Filter     = 0x20\n)\n\nconst (\n\tPTRACE_TRACEME = 0x0\n\tPTRACE_CONT    = 0x7\n\tPTRACE_KILL    = 0x8\n)\n\ntype Kevent_t struct {\n\tIdent  uint32\n\tFilter int16\n\tFlags  uint16\n\tFflags uint32\n\tData   int32\n\tUdata  *byte\n}\n\ntype FdSet struct {\n\tX__fds_bits [32]uint32\n}\n\nconst (\n\tsizeofIfMsghdr         = 0xa8\n\tSizeofIfMsghdr         = 0x70\n\tsizeofIfData           = 0x98\n\tSizeofIfData           = 0x60\n\tSizeofIfaMsghdr        = 0x14\n\tSizeofIfmaMsghdr       = 0x10\n\tSizeofIfAnnounceMsghdr = 0x18\n\tSizeofRtMsghdr         = 0x5c\n\tSizeofRtMetrics        = 0x38\n)\n\ntype ifMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tData      ifData\n}\n\ntype IfMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tData      IfData\n}\n\ntype ifData struct {\n\tType              uint8\n\tPhysical          uint8\n\tAddrlen           uint8\n\tHdrlen            uint8\n\tLink_state        uint8\n\tVhid              uint8\n\tDatalen           uint16\n\tMtu               uint32\n\tMetric            uint32\n\tBaudrate          uint64\n\tIpackets          uint64\n\tIerrors           uint64\n\tOpackets          uint64\n\tOerrors           uint64\n\tCollisions        uint64\n\tIbytes            uint64\n\tObytes            uint64\n\tImcasts           uint64\n\tOmcasts           uint64\n\tIqdrops           uint64\n\tOqdrops           uint64\n\tNoproto           uint64\n\tHwassist          uint64\n\tX__ifi_epoch      [8]byte\n\tX__ifi_lastchange [16]byte\n}\n\ntype IfData struct {\n\tType        uint8\n\tPhysical    uint8\n\tAddrlen     uint8\n\tHdrlen      uint8\n\tLink_state  uint8\n\tSpare_char1 uint8\n\tSpare_char2 uint8\n\tDatalen     uint8\n\tMtu         uint32\n\tMetric      uint32\n\tBaudrate    uint32\n\tIpackets    uint32\n\tIerrors     uint32\n\tOpackets    uint32\n\tOerrors     uint32\n\tCollisions  uint32\n\tIbytes      uint32\n\tObytes      uint32\n\tImcasts     uint32\n\tOmcasts     uint32\n\tIqdrops     uint32\n\tNoproto     uint32\n\tHwassist    uint32\n\tPad_cgo_0   [4]byte\n\tEpoch       int64\n\tLastchange  Timeval\n}\n\ntype IfaMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tMetric    int32\n}\n\ntype IfmaMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n}\n\ntype IfAnnounceMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tIndex   uint16\n\tName    [16]int8\n\tWhat    uint16\n}\n\ntype RtMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tFlags     int32\n\tAddrs     int32\n\tPid       int32\n\tSeq       int32\n\tErrno     int32\n\tFmask     int32\n\tInits     uint32\n\tRmx       RtMetrics\n}\n\ntype RtMetrics struct {\n\tLocks    uint32\n\tMtu      uint32\n\tHopcount uint32\n\tExpire   uint32\n\tRecvpipe uint32\n\tSendpipe uint32\n\tSsthresh uint32\n\tRtt      uint32\n\tRttvar   uint32\n\tPksent   uint32\n\tWeight   uint32\n\tFiller   [3]uint32\n}\n\nconst (\n\tSizeofBpfVersion    = 0x4\n\tSizeofBpfStat       = 0x8\n\tSizeofBpfZbuf       = 0xc\n\tSizeofBpfProgram    = 0x8\n\tSizeofBpfInsn       = 0x8\n\tSizeofBpfHdr        = 0x20\n\tSizeofBpfZbufHeader = 0x20\n)\n\ntype BpfVersion struct {\n\tMajor uint16\n\tMinor uint16\n}\n\ntype BpfStat struct {\n\tRecv uint32\n\tDrop uint32\n}\n\ntype BpfZbuf struct {\n\tBufa   *byte\n\tBufb   *byte\n\tBuflen uint32\n}\n\ntype BpfProgram struct {\n\tLen   uint32\n\tInsns *BpfInsn\n}\n\ntype BpfInsn struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype BpfHdr struct {\n\tTstamp    Timeval\n\tCaplen    uint32\n\tDatalen   uint32\n\tHdrlen    uint16\n\tPad_cgo_0 [6]byte\n}\n\ntype BpfZbufHeader struct {\n\tKernel_gen uint32\n\tKernel_len uint32\n\tUser_gen   uint32\n\tX_bzh_pad  [5]uint32\n}\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tCc     [20]uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\nconst (\n\tAT_FDCWD            = -0x64\n\tAT_REMOVEDIR        = 0x800\n\tAT_SYMLINK_FOLLOW   = 0x400\n\tAT_SYMLINK_NOFOLLOW = 0x200\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLERR      = 0x8\n\tPOLLHUP      = 0x10\n\tPOLLIN       = 0x1\n\tPOLLINIGNEOF = 0x2000\n\tPOLLNVAL     = 0x20\n\tPOLLOUT      = 0x4\n\tPOLLPRI      = 0x2\n\tPOLLRDBAND   = 0x80\n\tPOLLRDNORM   = 0x40\n\tPOLLWRBAND   = 0x100\n\tPOLLWRNORM   = 0x4\n)\n\ntype CapRights struct {\n\tRights [2]uint64\n}\n\ntype Utsname struct {\n\tSysname  [256]byte\n\tNodename [256]byte\n\tRelease  [256]byte\n\tVersion  [256]byte\n\tMachine  [256]byte\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_linux_386.go",
    "content": "// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 linux/types.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build 386,linux\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x4\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x4\n\tsizeofLongLong = 0x8\n\tPathMax        = 0x1000\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int32\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int32\n\tNsec int32\n}\n\ntype Timeval struct {\n\tSec  int32\n\tUsec int32\n}\n\ntype Timex struct {\n\tModes     uint32\n\tOffset    int32\n\tFreq      int32\n\tMaxerror  int32\n\tEsterror  int32\n\tStatus    int32\n\tConstant  int32\n\tPrecision int32\n\tTolerance int32\n\tTime      Timeval\n\tTick      int32\n\tPpsfreq   int32\n\tJitter    int32\n\tShift     int32\n\tStabil    int32\n\tJitcnt    int32\n\tCalcnt    int32\n\tErrcnt    int32\n\tStbcnt    int32\n\tTai       int32\n\t_         [44]byte\n}\n\ntype Time_t int32\n\ntype Tms struct {\n\tUtime  int32\n\tStime  int32\n\tCutime int32\n\tCstime int32\n}\n\ntype Utimbuf struct {\n\tActime  int32\n\tModtime int32\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int32\n\tIxrss    int32\n\tIdrss    int32\n\tIsrss    int32\n\tMinflt   int32\n\tMajflt   int32\n\tNswap    int32\n\tInblock  int32\n\tOublock  int32\n\tMsgsnd   int32\n\tMsgrcv   int32\n\tNsignals int32\n\tNvcsw    int32\n\tNivcsw   int32\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev     uint64\n\t_       uint16\n\t_       [2]byte\n\t_       uint32\n\tMode    uint32\n\tNlink   uint32\n\tUid     uint32\n\tGid     uint32\n\tRdev    uint64\n\t_       uint16\n\t_       [2]byte\n\tSize    int64\n\tBlksize int32\n\tBlocks  int64\n\tAtim    Timespec\n\tMtim    Timespec\n\tCtim    Timespec\n\tIno     uint64\n}\n\ntype StatxTimestamp struct {\n\tSec  int64\n\tNsec uint32\n\t_    int32\n}\n\ntype Statx_t struct {\n\tMask            uint32\n\tBlksize         uint32\n\tAttributes      uint64\n\tNlink           uint32\n\tUid             uint32\n\tGid             uint32\n\tMode            uint16\n\t_               [1]uint16\n\tIno             uint64\n\tSize            uint64\n\tBlocks          uint64\n\tAttributes_mask uint64\n\tAtime           StatxTimestamp\n\tBtime           StatxTimestamp\n\tCtime           StatxTimestamp\n\tMtime           StatxTimestamp\n\tRdev_major      uint32\n\tRdev_minor      uint32\n\tDev_major       uint32\n\tDev_minor       uint32\n\t_               [14]uint64\n}\n\ntype Dirent struct {\n\tIno    uint64\n\tOff    int64\n\tReclen uint16\n\tType   uint8\n\tName   [256]int8\n\t_      [1]byte\n}\n\ntype Fsid struct {\n\tVal [2]int32\n}\n\ntype Flock_t struct {\n\tType   int16\n\tWhence int16\n\tStart  int64\n\tLen    int64\n\tPid    int32\n}\n\ntype FscryptPolicy struct {\n\tVersion                   uint8\n\tContents_encryption_mode  uint8\n\tFilenames_encryption_mode uint8\n\tFlags                     uint8\n\tMaster_key_descriptor     [8]uint8\n}\n\ntype FscryptKey struct {\n\tMode uint32\n\tRaw  [64]uint8\n\tSize uint32\n}\n\ntype KeyctlDHParams struct {\n\tPrivate int32\n\tPrime   int32\n\tBase    int32\n}\n\nconst (\n\tFADV_NORMAL     = 0x0\n\tFADV_RANDOM     = 0x1\n\tFADV_SEQUENTIAL = 0x2\n\tFADV_WILLNEED   = 0x3\n\tFADV_DONTNEED   = 0x4\n\tFADV_NOREUSE    = 0x5\n)\n\ntype RawSockaddrInet4 struct {\n\tFamily uint16\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]uint8\n}\n\ntype RawSockaddrInet6 struct {\n\tFamily   uint16\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tFamily uint16\n\tPath   [108]int8\n}\n\ntype RawSockaddrLinklayer struct {\n\tFamily   uint16\n\tProtocol uint16\n\tIfindex  int32\n\tHatype   uint16\n\tPkttype  uint8\n\tHalen    uint8\n\tAddr     [8]uint8\n}\n\ntype RawSockaddrNetlink struct {\n\tFamily uint16\n\tPad    uint16\n\tPid    uint32\n\tGroups uint32\n}\n\ntype RawSockaddrHCI struct {\n\tFamily  uint16\n\tDev     uint16\n\tChannel uint16\n}\n\ntype RawSockaddrL2 struct {\n\tFamily      uint16\n\tPsm         uint16\n\tBdaddr      [6]uint8\n\tCid         uint16\n\tBdaddr_type uint8\n\t_           [1]byte\n}\n\ntype RawSockaddrRFCOMM struct {\n\tFamily  uint16\n\tBdaddr  [6]uint8\n\tChannel uint8\n\t_       [1]byte\n}\n\ntype RawSockaddrCAN struct {\n\tFamily  uint16\n\t_       [2]byte\n\tIfindex int32\n\tAddr    [8]byte\n}\n\ntype RawSockaddrALG struct {\n\tFamily uint16\n\tType   [14]uint8\n\tFeat   uint32\n\tMask   uint32\n\tName   [64]uint8\n}\n\ntype RawSockaddrVM struct {\n\tFamily    uint16\n\tReserved1 uint16\n\tPort      uint32\n\tCid       uint32\n\tZero      [4]uint8\n}\n\ntype RawSockaddr struct {\n\tFamily uint16\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [96]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint32\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPMreqn struct {\n\tMultiaddr [4]byte /* in_addr */\n\tAddress   [4]byte /* in_addr */\n\tIfindex   int32\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype PacketMreq struct {\n\tIfindex int32\n\tType    uint16\n\tAlen    uint16\n\tAddress [8]uint8\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tIov        *Iovec\n\tIovlen     uint32\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet4Pktinfo struct {\n\tIfindex  int32\n\tSpec_dst [4]byte /* in_addr */\n\tAddr     [4]byte /* in_addr */\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tData [8]uint32\n}\n\ntype Ucred struct {\n\tPid int32\n\tUid uint32\n\tGid uint32\n}\n\ntype TCPInfo struct {\n\tState          uint8\n\tCa_state       uint8\n\tRetransmits    uint8\n\tProbes         uint8\n\tBackoff        uint8\n\tOptions        uint8\n\t_              [2]byte\n\tRto            uint32\n\tAto            uint32\n\tSnd_mss        uint32\n\tRcv_mss        uint32\n\tUnacked        uint32\n\tSacked         uint32\n\tLost           uint32\n\tRetrans        uint32\n\tFackets        uint32\n\tLast_data_sent uint32\n\tLast_ack_sent  uint32\n\tLast_data_recv uint32\n\tLast_ack_recv  uint32\n\tPmtu           uint32\n\tRcv_ssthresh   uint32\n\tRtt            uint32\n\tRttvar         uint32\n\tSnd_ssthresh   uint32\n\tSnd_cwnd       uint32\n\tAdvmss         uint32\n\tReordering     uint32\n\tRcv_rtt        uint32\n\tRcv_space      uint32\n\tTotal_retrans  uint32\n}\n\nconst (\n\tSizeofSockaddrInet4     = 0x10\n\tSizeofSockaddrInet6     = 0x1c\n\tSizeofSockaddrAny       = 0x70\n\tSizeofSockaddrUnix      = 0x6e\n\tSizeofSockaddrLinklayer = 0x14\n\tSizeofSockaddrNetlink   = 0xc\n\tSizeofSockaddrHCI       = 0x6\n\tSizeofSockaddrL2        = 0xe\n\tSizeofSockaddrRFCOMM    = 0xa\n\tSizeofSockaddrCAN       = 0x10\n\tSizeofSockaddrALG       = 0x58\n\tSizeofSockaddrVM        = 0x10\n\tSizeofLinger            = 0x8\n\tSizeofIovec             = 0x8\n\tSizeofIPMreq            = 0x8\n\tSizeofIPMreqn           = 0xc\n\tSizeofIPv6Mreq          = 0x14\n\tSizeofPacketMreq        = 0x10\n\tSizeofMsghdr            = 0x1c\n\tSizeofCmsghdr           = 0xc\n\tSizeofInet4Pktinfo      = 0xc\n\tSizeofInet6Pktinfo      = 0x14\n\tSizeofIPv6MTUInfo       = 0x20\n\tSizeofICMPv6Filter      = 0x20\n\tSizeofUcred             = 0xc\n\tSizeofTCPInfo           = 0x68\n)\n\nconst (\n\tIFA_UNSPEC           = 0x0\n\tIFA_ADDRESS          = 0x1\n\tIFA_LOCAL            = 0x2\n\tIFA_LABEL            = 0x3\n\tIFA_BROADCAST        = 0x4\n\tIFA_ANYCAST          = 0x5\n\tIFA_CACHEINFO        = 0x6\n\tIFA_MULTICAST        = 0x7\n\tIFLA_UNSPEC          = 0x0\n\tIFLA_ADDRESS         = 0x1\n\tIFLA_BROADCAST       = 0x2\n\tIFLA_IFNAME          = 0x3\n\tIFLA_INFO_KIND       = 0x1\n\tIFLA_MTU             = 0x4\n\tIFLA_LINK            = 0x5\n\tIFLA_QDISC           = 0x6\n\tIFLA_STATS           = 0x7\n\tIFLA_COST            = 0x8\n\tIFLA_PRIORITY        = 0x9\n\tIFLA_MASTER          = 0xa\n\tIFLA_WIRELESS        = 0xb\n\tIFLA_PROTINFO        = 0xc\n\tIFLA_TXQLEN          = 0xd\n\tIFLA_MAP             = 0xe\n\tIFLA_WEIGHT          = 0xf\n\tIFLA_OPERSTATE       = 0x10\n\tIFLA_LINKMODE        = 0x11\n\tIFLA_LINKINFO        = 0x12\n\tIFLA_NET_NS_PID      = 0x13\n\tIFLA_IFALIAS         = 0x14\n\tIFLA_NUM_VF          = 0x15\n\tIFLA_VFINFO_LIST     = 0x16\n\tIFLA_STATS64         = 0x17\n\tIFLA_VF_PORTS        = 0x18\n\tIFLA_PORT_SELF       = 0x19\n\tIFLA_AF_SPEC         = 0x1a\n\tIFLA_GROUP           = 0x1b\n\tIFLA_NET_NS_FD       = 0x1c\n\tIFLA_EXT_MASK        = 0x1d\n\tIFLA_PROMISCUITY     = 0x1e\n\tIFLA_NUM_TX_QUEUES   = 0x1f\n\tIFLA_NUM_RX_QUEUES   = 0x20\n\tIFLA_CARRIER         = 0x21\n\tIFLA_PHYS_PORT_ID    = 0x22\n\tIFLA_CARRIER_CHANGES = 0x23\n\tIFLA_PHYS_SWITCH_ID  = 0x24\n\tIFLA_LINK_NETNSID    = 0x25\n\tIFLA_PHYS_PORT_NAME  = 0x26\n\tIFLA_PROTO_DOWN      = 0x27\n\tIFLA_GSO_MAX_SEGS    = 0x28\n\tIFLA_GSO_MAX_SIZE    = 0x29\n\tIFLA_PAD             = 0x2a\n\tIFLA_XDP             = 0x2b\n\tIFLA_EVENT           = 0x2c\n\tIFLA_NEW_NETNSID     = 0x2d\n\tIFLA_IF_NETNSID      = 0x2e\n\tIFLA_MAX             = 0x31\n\tRT_SCOPE_UNIVERSE    = 0x0\n\tRT_SCOPE_SITE        = 0xc8\n\tRT_SCOPE_LINK        = 0xfd\n\tRT_SCOPE_HOST        = 0xfe\n\tRT_SCOPE_NOWHERE     = 0xff\n\tRT_TABLE_UNSPEC      = 0x0\n\tRT_TABLE_COMPAT      = 0xfc\n\tRT_TABLE_DEFAULT     = 0xfd\n\tRT_TABLE_MAIN        = 0xfe\n\tRT_TABLE_LOCAL       = 0xff\n\tRT_TABLE_MAX         = 0xffffffff\n\tRTA_UNSPEC           = 0x0\n\tRTA_DST              = 0x1\n\tRTA_SRC              = 0x2\n\tRTA_IIF              = 0x3\n\tRTA_OIF              = 0x4\n\tRTA_GATEWAY          = 0x5\n\tRTA_PRIORITY         = 0x6\n\tRTA_PREFSRC          = 0x7\n\tRTA_METRICS          = 0x8\n\tRTA_MULTIPATH        = 0x9\n\tRTA_FLOW             = 0xb\n\tRTA_CACHEINFO        = 0xc\n\tRTA_TABLE            = 0xf\n\tRTN_UNSPEC           = 0x0\n\tRTN_UNICAST          = 0x1\n\tRTN_LOCAL            = 0x2\n\tRTN_BROADCAST        = 0x3\n\tRTN_ANYCAST          = 0x4\n\tRTN_MULTICAST        = 0x5\n\tRTN_BLACKHOLE        = 0x6\n\tRTN_UNREACHABLE      = 0x7\n\tRTN_PROHIBIT         = 0x8\n\tRTN_THROW            = 0x9\n\tRTN_NAT              = 0xa\n\tRTN_XRESOLVE         = 0xb\n\tRTNLGRP_NONE         = 0x0\n\tRTNLGRP_LINK         = 0x1\n\tRTNLGRP_NOTIFY       = 0x2\n\tRTNLGRP_NEIGH        = 0x3\n\tRTNLGRP_TC           = 0x4\n\tRTNLGRP_IPV4_IFADDR  = 0x5\n\tRTNLGRP_IPV4_MROUTE  = 0x6\n\tRTNLGRP_IPV4_ROUTE   = 0x7\n\tRTNLGRP_IPV4_RULE    = 0x8\n\tRTNLGRP_IPV6_IFADDR  = 0x9\n\tRTNLGRP_IPV6_MROUTE  = 0xa\n\tRTNLGRP_IPV6_ROUTE   = 0xb\n\tRTNLGRP_IPV6_IFINFO  = 0xc\n\tRTNLGRP_IPV6_PREFIX  = 0x12\n\tRTNLGRP_IPV6_RULE    = 0x13\n\tRTNLGRP_ND_USEROPT   = 0x14\n\tSizeofNlMsghdr       = 0x10\n\tSizeofNlMsgerr       = 0x14\n\tSizeofRtGenmsg       = 0x1\n\tSizeofNlAttr         = 0x4\n\tSizeofRtAttr         = 0x4\n\tSizeofIfInfomsg      = 0x10\n\tSizeofIfAddrmsg      = 0x8\n\tSizeofRtMsg          = 0xc\n\tSizeofRtNexthop      = 0x8\n)\n\ntype NlMsghdr struct {\n\tLen   uint32\n\tType  uint16\n\tFlags uint16\n\tSeq   uint32\n\tPid   uint32\n}\n\ntype NlMsgerr struct {\n\tError int32\n\tMsg   NlMsghdr\n}\n\ntype RtGenmsg struct {\n\tFamily uint8\n}\n\ntype NlAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype RtAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype IfInfomsg struct {\n\tFamily uint8\n\t_      uint8\n\tType   uint16\n\tIndex  int32\n\tFlags  uint32\n\tChange uint32\n}\n\ntype IfAddrmsg struct {\n\tFamily    uint8\n\tPrefixlen uint8\n\tFlags     uint8\n\tScope     uint8\n\tIndex     uint32\n}\n\ntype RtMsg struct {\n\tFamily   uint8\n\tDst_len  uint8\n\tSrc_len  uint8\n\tTos      uint8\n\tTable    uint8\n\tProtocol uint8\n\tScope    uint8\n\tType     uint8\n\tFlags    uint32\n}\n\ntype RtNexthop struct {\n\tLen     uint16\n\tFlags   uint8\n\tHops    uint8\n\tIfindex int32\n}\n\nconst (\n\tSizeofSockFilter = 0x8\n\tSizeofSockFprog  = 0x8\n)\n\ntype SockFilter struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype SockFprog struct {\n\tLen    uint16\n\t_      [2]byte\n\tFilter *SockFilter\n}\n\ntype InotifyEvent struct {\n\tWd     int32\n\tMask   uint32\n\tCookie uint32\n\tLen    uint32\n}\n\nconst SizeofInotifyEvent = 0x10\n\ntype PtraceRegs struct {\n\tEbx      int32\n\tEcx      int32\n\tEdx      int32\n\tEsi      int32\n\tEdi      int32\n\tEbp      int32\n\tEax      int32\n\tXds      int32\n\tXes      int32\n\tXfs      int32\n\tXgs      int32\n\tOrig_eax int32\n\tEip      int32\n\tXcs      int32\n\tEflags   int32\n\tEsp      int32\n\tXss      int32\n}\n\ntype FdSet struct {\n\tBits [32]int32\n}\n\ntype Sysinfo_t struct {\n\tUptime    int32\n\tLoads     [3]uint32\n\tTotalram  uint32\n\tFreeram   uint32\n\tSharedram uint32\n\tBufferram uint32\n\tTotalswap uint32\n\tFreeswap  uint32\n\tProcs     uint16\n\tPad       uint16\n\tTotalhigh uint32\n\tFreehigh  uint32\n\tUnit      uint32\n\t_         [8]int8\n}\n\ntype Utsname struct {\n\tSysname    [65]byte\n\tNodename   [65]byte\n\tRelease    [65]byte\n\tVersion    [65]byte\n\tMachine    [65]byte\n\tDomainname [65]byte\n}\n\ntype Ustat_t struct {\n\tTfree  int32\n\tTinode uint32\n\tFname  [6]int8\n\tFpack  [6]int8\n}\n\ntype EpollEvent struct {\n\tEvents uint32\n\tFd     int32\n\tPad    int32\n}\n\nconst (\n\tAT_EMPTY_PATH   = 0x1000\n\tAT_FDCWD        = -0x64\n\tAT_NO_AUTOMOUNT = 0x800\n\tAT_REMOVEDIR    = 0x200\n\n\tAT_STATX_SYNC_AS_STAT = 0x0\n\tAT_STATX_FORCE_SYNC   = 0x2000\n\tAT_STATX_DONT_SYNC    = 0x4000\n\n\tAT_SYMLINK_FOLLOW   = 0x400\n\tAT_SYMLINK_NOFOLLOW = 0x100\n\n\tAT_EACCESS = 0x200\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLIN    = 0x1\n\tPOLLPRI   = 0x2\n\tPOLLOUT   = 0x4\n\tPOLLRDHUP = 0x2000\n\tPOLLERR   = 0x8\n\tPOLLHUP   = 0x10\n\tPOLLNVAL  = 0x20\n)\n\ntype Sigset_t struct {\n\tVal [32]uint32\n}\n\nconst RNDGETENTCNT = 0x80045200\n\nconst PERF_IOC_FLAG_GROUP = 0x1\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tLine   uint8\n\tCc     [19]uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\ntype Taskstats struct {\n\tVersion                   uint16\n\t_                         [2]byte\n\tAc_exitcode               uint32\n\tAc_flag                   uint8\n\tAc_nice                   uint8\n\t_                         [6]byte\n\tCpu_count                 uint64\n\tCpu_delay_total           uint64\n\tBlkio_count               uint64\n\tBlkio_delay_total         uint64\n\tSwapin_count              uint64\n\tSwapin_delay_total        uint64\n\tCpu_run_real_total        uint64\n\tCpu_run_virtual_total     uint64\n\tAc_comm                   [32]int8\n\tAc_sched                  uint8\n\tAc_pad                    [3]uint8\n\t_                         [4]byte\n\tAc_uid                    uint32\n\tAc_gid                    uint32\n\tAc_pid                    uint32\n\tAc_ppid                   uint32\n\tAc_btime                  uint32\n\t_                         [4]byte\n\tAc_etime                  uint64\n\tAc_utime                  uint64\n\tAc_stime                  uint64\n\tAc_minflt                 uint64\n\tAc_majflt                 uint64\n\tCoremem                   uint64\n\tVirtmem                   uint64\n\tHiwater_rss               uint64\n\tHiwater_vm                uint64\n\tRead_char                 uint64\n\tWrite_char                uint64\n\tRead_syscalls             uint64\n\tWrite_syscalls            uint64\n\tRead_bytes                uint64\n\tWrite_bytes               uint64\n\tCancelled_write_bytes     uint64\n\tNvcsw                     uint64\n\tNivcsw                    uint64\n\tAc_utimescaled            uint64\n\tAc_stimescaled            uint64\n\tCpu_scaled_run_real_total uint64\n\tFreepages_count           uint64\n\tFreepages_delay_total     uint64\n}\n\nconst (\n\tTASKSTATS_CMD_UNSPEC                  = 0x0\n\tTASKSTATS_CMD_GET                     = 0x1\n\tTASKSTATS_CMD_NEW                     = 0x2\n\tTASKSTATS_TYPE_UNSPEC                 = 0x0\n\tTASKSTATS_TYPE_PID                    = 0x1\n\tTASKSTATS_TYPE_TGID                   = 0x2\n\tTASKSTATS_TYPE_STATS                  = 0x3\n\tTASKSTATS_TYPE_AGGR_PID               = 0x4\n\tTASKSTATS_TYPE_AGGR_TGID              = 0x5\n\tTASKSTATS_TYPE_NULL                   = 0x6\n\tTASKSTATS_CMD_ATTR_UNSPEC             = 0x0\n\tTASKSTATS_CMD_ATTR_PID                = 0x1\n\tTASKSTATS_CMD_ATTR_TGID               = 0x2\n\tTASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3\n\tTASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4\n)\n\ntype CGroupStats struct {\n\tSleeping        uint64\n\tRunning         uint64\n\tStopped         uint64\n\tUninterruptible uint64\n\tIo_wait         uint64\n}\n\nconst (\n\tCGROUPSTATS_CMD_UNSPEC        = 0x3\n\tCGROUPSTATS_CMD_GET           = 0x4\n\tCGROUPSTATS_CMD_NEW           = 0x5\n\tCGROUPSTATS_TYPE_UNSPEC       = 0x0\n\tCGROUPSTATS_TYPE_CGROUP_STATS = 0x1\n\tCGROUPSTATS_CMD_ATTR_UNSPEC   = 0x0\n\tCGROUPSTATS_CMD_ATTR_FD       = 0x1\n)\n\ntype Genlmsghdr struct {\n\tCmd      uint8\n\tVersion  uint8\n\tReserved uint16\n}\n\nconst (\n\tCTRL_CMD_UNSPEC            = 0x0\n\tCTRL_CMD_NEWFAMILY         = 0x1\n\tCTRL_CMD_DELFAMILY         = 0x2\n\tCTRL_CMD_GETFAMILY         = 0x3\n\tCTRL_CMD_NEWOPS            = 0x4\n\tCTRL_CMD_DELOPS            = 0x5\n\tCTRL_CMD_GETOPS            = 0x6\n\tCTRL_CMD_NEWMCAST_GRP      = 0x7\n\tCTRL_CMD_DELMCAST_GRP      = 0x8\n\tCTRL_CMD_GETMCAST_GRP      = 0x9\n\tCTRL_ATTR_UNSPEC           = 0x0\n\tCTRL_ATTR_FAMILY_ID        = 0x1\n\tCTRL_ATTR_FAMILY_NAME      = 0x2\n\tCTRL_ATTR_VERSION          = 0x3\n\tCTRL_ATTR_HDRSIZE          = 0x4\n\tCTRL_ATTR_MAXATTR          = 0x5\n\tCTRL_ATTR_OPS              = 0x6\n\tCTRL_ATTR_MCAST_GROUPS     = 0x7\n\tCTRL_ATTR_OP_UNSPEC        = 0x0\n\tCTRL_ATTR_OP_ID            = 0x1\n\tCTRL_ATTR_OP_FLAGS         = 0x2\n\tCTRL_ATTR_MCAST_GRP_UNSPEC = 0x0\n\tCTRL_ATTR_MCAST_GRP_NAME   = 0x1\n\tCTRL_ATTR_MCAST_GRP_ID     = 0x2\n)\n\ntype cpuMask uint32\n\nconst (\n\t_CPU_SETSIZE = 0x400\n\t_NCPUBITS    = 0x20\n)\n\nconst (\n\tBDADDR_BREDR     = 0x0\n\tBDADDR_LE_PUBLIC = 0x1\n\tBDADDR_LE_RANDOM = 0x2\n)\n\ntype PerfEventAttr struct {\n\tType               uint32\n\tSize               uint32\n\tConfig             uint64\n\tSample             uint64\n\tSample_type        uint64\n\tRead_format        uint64\n\tBits               uint64\n\tWakeup             uint32\n\tBp_type            uint32\n\tExt1               uint64\n\tExt2               uint64\n\tBranch_sample_type uint64\n\tSample_regs_user   uint64\n\tSample_stack_user  uint32\n\tClockid            int32\n\tSample_regs_intr   uint64\n\tAux_watermark      uint32\n\t_                  uint32\n}\n\ntype PerfEventMmapPage struct {\n\tVersion        uint32\n\tCompat_version uint32\n\tLock           uint32\n\tIndex          uint32\n\tOffset         int64\n\tTime_enabled   uint64\n\tTime_running   uint64\n\tCapabilities   uint64\n\tPmc_width      uint16\n\tTime_shift     uint16\n\tTime_mult      uint32\n\tTime_offset    uint64\n\tTime_zero      uint64\n\tSize           uint32\n\t_              [948]uint8\n\tData_head      uint64\n\tData_tail      uint64\n\tData_offset    uint64\n\tData_size      uint64\n\tAux_head       uint64\n\tAux_tail       uint64\n\tAux_offset     uint64\n\tAux_size       uint64\n}\n\nconst (\n\tPerfBitDisabled               uint64 = CBitFieldMaskBit0\n\tPerfBitInherit                       = CBitFieldMaskBit1\n\tPerfBitPinned                        = CBitFieldMaskBit2\n\tPerfBitExclusive                     = CBitFieldMaskBit3\n\tPerfBitExcludeUser                   = CBitFieldMaskBit4\n\tPerfBitExcludeKernel                 = CBitFieldMaskBit5\n\tPerfBitExcludeHv                     = CBitFieldMaskBit6\n\tPerfBitExcludeIdle                   = CBitFieldMaskBit7\n\tPerfBitMmap                          = CBitFieldMaskBit8\n\tPerfBitComm                          = CBitFieldMaskBit9\n\tPerfBitFreq                          = CBitFieldMaskBit10\n\tPerfBitInheritStat                   = CBitFieldMaskBit11\n\tPerfBitEnableOnExec                  = CBitFieldMaskBit12\n\tPerfBitTask                          = CBitFieldMaskBit13\n\tPerfBitWatermark                     = CBitFieldMaskBit14\n\tPerfBitPreciseIPBit1                 = CBitFieldMaskBit15\n\tPerfBitPreciseIPBit2                 = CBitFieldMaskBit16\n\tPerfBitMmapData                      = CBitFieldMaskBit17\n\tPerfBitSampleIDAll                   = CBitFieldMaskBit18\n\tPerfBitExcludeHost                   = CBitFieldMaskBit19\n\tPerfBitExcludeGuest                  = CBitFieldMaskBit20\n\tPerfBitExcludeCallchainKernel        = CBitFieldMaskBit21\n\tPerfBitExcludeCallchainUser          = CBitFieldMaskBit22\n\tPerfBitMmap2                         = CBitFieldMaskBit23\n\tPerfBitCommExec                      = CBitFieldMaskBit24\n\tPerfBitUseClockID                    = CBitFieldMaskBit25\n\tPerfBitContextSwitch                 = CBitFieldMaskBit26\n)\n\nconst (\n\tPERF_TYPE_HARDWARE   = 0x0\n\tPERF_TYPE_SOFTWARE   = 0x1\n\tPERF_TYPE_TRACEPOINT = 0x2\n\tPERF_TYPE_HW_CACHE   = 0x3\n\tPERF_TYPE_RAW        = 0x4\n\tPERF_TYPE_BREAKPOINT = 0x5\n\n\tPERF_COUNT_HW_CPU_CYCLES              = 0x0\n\tPERF_COUNT_HW_INSTRUCTIONS            = 0x1\n\tPERF_COUNT_HW_CACHE_REFERENCES        = 0x2\n\tPERF_COUNT_HW_CACHE_MISSES            = 0x3\n\tPERF_COUNT_HW_BRANCH_INSTRUCTIONS     = 0x4\n\tPERF_COUNT_HW_BRANCH_MISSES           = 0x5\n\tPERF_COUNT_HW_BUS_CYCLES              = 0x6\n\tPERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7\n\tPERF_COUNT_HW_STALLED_CYCLES_BACKEND  = 0x8\n\tPERF_COUNT_HW_REF_CPU_CYCLES          = 0x9\n\n\tPERF_COUNT_HW_CACHE_L1D  = 0x0\n\tPERF_COUNT_HW_CACHE_L1I  = 0x1\n\tPERF_COUNT_HW_CACHE_LL   = 0x2\n\tPERF_COUNT_HW_CACHE_DTLB = 0x3\n\tPERF_COUNT_HW_CACHE_ITLB = 0x4\n\tPERF_COUNT_HW_CACHE_BPU  = 0x5\n\tPERF_COUNT_HW_CACHE_NODE = 0x6\n\n\tPERF_COUNT_HW_CACHE_OP_READ     = 0x0\n\tPERF_COUNT_HW_CACHE_OP_WRITE    = 0x1\n\tPERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2\n\n\tPERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0\n\tPERF_COUNT_HW_CACHE_RESULT_MISS   = 0x1\n\n\tPERF_COUNT_SW_CPU_CLOCK        = 0x0\n\tPERF_COUNT_SW_TASK_CLOCK       = 0x1\n\tPERF_COUNT_SW_PAGE_FAULTS      = 0x2\n\tPERF_COUNT_SW_CONTEXT_SWITCHES = 0x3\n\tPERF_COUNT_SW_CPU_MIGRATIONS   = 0x4\n\tPERF_COUNT_SW_PAGE_FAULTS_MIN  = 0x5\n\tPERF_COUNT_SW_PAGE_FAULTS_MAJ  = 0x6\n\tPERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7\n\tPERF_COUNT_SW_EMULATION_FAULTS = 0x8\n\tPERF_COUNT_SW_DUMMY            = 0x9\n\n\tPERF_SAMPLE_IP           = 0x1\n\tPERF_SAMPLE_TID          = 0x2\n\tPERF_SAMPLE_TIME         = 0x4\n\tPERF_SAMPLE_ADDR         = 0x8\n\tPERF_SAMPLE_READ         = 0x10\n\tPERF_SAMPLE_CALLCHAIN    = 0x20\n\tPERF_SAMPLE_ID           = 0x40\n\tPERF_SAMPLE_CPU          = 0x80\n\tPERF_SAMPLE_PERIOD       = 0x100\n\tPERF_SAMPLE_STREAM_ID    = 0x200\n\tPERF_SAMPLE_RAW          = 0x400\n\tPERF_SAMPLE_BRANCH_STACK = 0x800\n\n\tPERF_SAMPLE_BRANCH_USER       = 0x1\n\tPERF_SAMPLE_BRANCH_KERNEL     = 0x2\n\tPERF_SAMPLE_BRANCH_HV         = 0x4\n\tPERF_SAMPLE_BRANCH_ANY        = 0x8\n\tPERF_SAMPLE_BRANCH_ANY_CALL   = 0x10\n\tPERF_SAMPLE_BRANCH_ANY_RETURN = 0x20\n\tPERF_SAMPLE_BRANCH_IND_CALL   = 0x40\n\n\tPERF_FORMAT_TOTAL_TIME_ENABLED = 0x1\n\tPERF_FORMAT_TOTAL_TIME_RUNNING = 0x2\n\tPERF_FORMAT_ID                 = 0x4\n\tPERF_FORMAT_GROUP              = 0x8\n\n\tPERF_RECORD_MMAP       = 0x1\n\tPERF_RECORD_LOST       = 0x2\n\tPERF_RECORD_COMM       = 0x3\n\tPERF_RECORD_EXIT       = 0x4\n\tPERF_RECORD_THROTTLE   = 0x5\n\tPERF_RECORD_UNTHROTTLE = 0x6\n\tPERF_RECORD_FORK       = 0x7\n\tPERF_RECORD_READ       = 0x8\n\tPERF_RECORD_SAMPLE     = 0x9\n\n\tPERF_CONTEXT_HV     = -0x20\n\tPERF_CONTEXT_KERNEL = -0x80\n\tPERF_CONTEXT_USER   = -0x200\n\n\tPERF_CONTEXT_GUEST        = -0x800\n\tPERF_CONTEXT_GUEST_KERNEL = -0x880\n\tPERF_CONTEXT_GUEST_USER   = -0xa00\n\n\tPERF_FLAG_FD_NO_GROUP = 0x1\n\tPERF_FLAG_FD_OUTPUT   = 0x2\n\tPERF_FLAG_PID_CGROUP  = 0x4\n)\n\nconst (\n\tCBitFieldMaskBit0  = 0x1\n\tCBitFieldMaskBit1  = 0x2\n\tCBitFieldMaskBit2  = 0x4\n\tCBitFieldMaskBit3  = 0x8\n\tCBitFieldMaskBit4  = 0x10\n\tCBitFieldMaskBit5  = 0x20\n\tCBitFieldMaskBit6  = 0x40\n\tCBitFieldMaskBit7  = 0x80\n\tCBitFieldMaskBit8  = 0x100\n\tCBitFieldMaskBit9  = 0x200\n\tCBitFieldMaskBit10 = 0x400\n\tCBitFieldMaskBit11 = 0x800\n\tCBitFieldMaskBit12 = 0x1000\n\tCBitFieldMaskBit13 = 0x2000\n\tCBitFieldMaskBit14 = 0x4000\n\tCBitFieldMaskBit15 = 0x8000\n\tCBitFieldMaskBit16 = 0x10000\n\tCBitFieldMaskBit17 = 0x20000\n\tCBitFieldMaskBit18 = 0x40000\n\tCBitFieldMaskBit19 = 0x80000\n\tCBitFieldMaskBit20 = 0x100000\n\tCBitFieldMaskBit21 = 0x200000\n\tCBitFieldMaskBit22 = 0x400000\n\tCBitFieldMaskBit23 = 0x800000\n\tCBitFieldMaskBit24 = 0x1000000\n\tCBitFieldMaskBit25 = 0x2000000\n\tCBitFieldMaskBit26 = 0x4000000\n\tCBitFieldMaskBit27 = 0x8000000\n\tCBitFieldMaskBit28 = 0x10000000\n\tCBitFieldMaskBit29 = 0x20000000\n\tCBitFieldMaskBit30 = 0x40000000\n\tCBitFieldMaskBit31 = 0x80000000\n\tCBitFieldMaskBit32 = 0x100000000\n\tCBitFieldMaskBit33 = 0x200000000\n\tCBitFieldMaskBit34 = 0x400000000\n\tCBitFieldMaskBit35 = 0x800000000\n\tCBitFieldMaskBit36 = 0x1000000000\n\tCBitFieldMaskBit37 = 0x2000000000\n\tCBitFieldMaskBit38 = 0x4000000000\n\tCBitFieldMaskBit39 = 0x8000000000\n\tCBitFieldMaskBit40 = 0x10000000000\n\tCBitFieldMaskBit41 = 0x20000000000\n\tCBitFieldMaskBit42 = 0x40000000000\n\tCBitFieldMaskBit43 = 0x80000000000\n\tCBitFieldMaskBit44 = 0x100000000000\n\tCBitFieldMaskBit45 = 0x200000000000\n\tCBitFieldMaskBit46 = 0x400000000000\n\tCBitFieldMaskBit47 = 0x800000000000\n\tCBitFieldMaskBit48 = 0x1000000000000\n\tCBitFieldMaskBit49 = 0x2000000000000\n\tCBitFieldMaskBit50 = 0x4000000000000\n\tCBitFieldMaskBit51 = 0x8000000000000\n\tCBitFieldMaskBit52 = 0x10000000000000\n\tCBitFieldMaskBit53 = 0x20000000000000\n\tCBitFieldMaskBit54 = 0x40000000000000\n\tCBitFieldMaskBit55 = 0x80000000000000\n\tCBitFieldMaskBit56 = 0x100000000000000\n\tCBitFieldMaskBit57 = 0x200000000000000\n\tCBitFieldMaskBit58 = 0x400000000000000\n\tCBitFieldMaskBit59 = 0x800000000000000\n\tCBitFieldMaskBit60 = 0x1000000000000000\n\tCBitFieldMaskBit61 = 0x2000000000000000\n\tCBitFieldMaskBit62 = 0x4000000000000000\n\tCBitFieldMaskBit63 = 0x8000000000000000\n)\n\ntype SockaddrStorage struct {\n\tFamily uint16\n\t_      [122]int8\n\t_      uint32\n}\n\ntype TCPMD5Sig struct {\n\tAddr      SockaddrStorage\n\tFlags     uint8\n\tPrefixlen uint8\n\tKeylen    uint16\n\t_         uint32\n\tKey       [80]uint8\n}\n\ntype HDDriveCmdHdr struct {\n\tCommand uint8\n\tNumber  uint8\n\tFeature uint8\n\tCount   uint8\n}\n\ntype HDGeometry struct {\n\tHeads     uint8\n\tSectors   uint8\n\tCylinders uint16\n\tStart     uint32\n}\n\ntype HDDriveID struct {\n\tConfig         uint16\n\tCyls           uint16\n\tReserved2      uint16\n\tHeads          uint16\n\tTrack_bytes    uint16\n\tSector_bytes   uint16\n\tSectors        uint16\n\tVendor0        uint16\n\tVendor1        uint16\n\tVendor2        uint16\n\tSerial_no      [20]uint8\n\tBuf_type       uint16\n\tBuf_size       uint16\n\tEcc_bytes      uint16\n\tFw_rev         [8]uint8\n\tModel          [40]uint8\n\tMax_multsect   uint8\n\tVendor3        uint8\n\tDword_io       uint16\n\tVendor4        uint8\n\tCapability     uint8\n\tReserved50     uint16\n\tVendor5        uint8\n\tTPIO           uint8\n\tVendor6        uint8\n\tTDMA           uint8\n\tField_valid    uint16\n\tCur_cyls       uint16\n\tCur_heads      uint16\n\tCur_sectors    uint16\n\tCur_capacity0  uint16\n\tCur_capacity1  uint16\n\tMultsect       uint8\n\tMultsect_valid uint8\n\tLba_capacity   uint32\n\tDma_1word      uint16\n\tDma_mword      uint16\n\tEide_pio_modes uint16\n\tEide_dma_min   uint16\n\tEide_dma_time  uint16\n\tEide_pio       uint16\n\tEide_pio_iordy uint16\n\tWords69_70     [2]uint16\n\tWords71_74     [4]uint16\n\tQueue_depth    uint16\n\tWords76_79     [4]uint16\n\tMajor_rev_num  uint16\n\tMinor_rev_num  uint16\n\tCommand_set_1  uint16\n\tCommand_set_2  uint16\n\tCfsse          uint16\n\tCfs_enable_1   uint16\n\tCfs_enable_2   uint16\n\tCsf_default    uint16\n\tDma_ultra      uint16\n\tTrseuc         uint16\n\tTrsEuc         uint16\n\tCurAPMvalues   uint16\n\tMprc           uint16\n\tHw_config      uint16\n\tAcoustic       uint16\n\tMsrqs          uint16\n\tSxfert         uint16\n\tSal            uint16\n\tSpg            uint32\n\tLba_capacity_2 uint64\n\tWords104_125   [22]uint16\n\tLast_lun       uint16\n\tWord127        uint16\n\tDlf            uint16\n\tCsfo           uint16\n\tWords130_155   [26]uint16\n\tWord156        uint16\n\tWords157_159   [3]uint16\n\tCfa_power      uint16\n\tWords161_175   [15]uint16\n\tWords176_205   [30]uint16\n\tWords206_254   [49]uint16\n\tIntegrity_word uint16\n}\n\ntype Statfs_t struct {\n\tType    int32\n\tBsize   int32\n\tBlocks  uint64\n\tBfree   uint64\n\tBavail  uint64\n\tFiles   uint64\n\tFfree   uint64\n\tFsid    Fsid\n\tNamelen int32\n\tFrsize  int32\n\tFlags   int32\n\tSpare   [4]int32\n}\n\nconst (\n\tST_MANDLOCK    = 0x40\n\tST_NOATIME     = 0x400\n\tST_NODEV       = 0x4\n\tST_NODIRATIME  = 0x800\n\tST_NOEXEC      = 0x8\n\tST_NOSUID      = 0x2\n\tST_RDONLY      = 0x1\n\tST_RELATIME    = 0x1000\n\tST_SYNCHRONOUS = 0x10\n)\n\ntype TpacketHdr struct {\n\tStatus  uint32\n\tLen     uint32\n\tSnaplen uint32\n\tMac     uint16\n\tNet     uint16\n\tSec     uint32\n\tUsec    uint32\n}\n\ntype Tpacket2Hdr struct {\n\tStatus    uint32\n\tLen       uint32\n\tSnaplen   uint32\n\tMac       uint16\n\tNet       uint16\n\tSec       uint32\n\tNsec      uint32\n\tVlan_tci  uint16\n\tVlan_tpid uint16\n\t_         [4]uint8\n}\n\ntype Tpacket3Hdr struct {\n\tNext_offset uint32\n\tSec         uint32\n\tNsec        uint32\n\tSnaplen     uint32\n\tLen         uint32\n\tStatus      uint32\n\tMac         uint16\n\tNet         uint16\n\tHv1         TpacketHdrVariant1\n\t_           [8]uint8\n}\n\ntype TpacketHdrVariant1 struct {\n\tRxhash    uint32\n\tVlan_tci  uint32\n\tVlan_tpid uint16\n\t_         uint16\n}\n\ntype TpacketBlockDesc struct {\n\tVersion uint32\n\tTo_priv uint32\n\tHdr     [40]byte\n}\n\ntype TpacketReq struct {\n\tBlock_size uint32\n\tBlock_nr   uint32\n\tFrame_size uint32\n\tFrame_nr   uint32\n}\n\ntype TpacketReq3 struct {\n\tBlock_size       uint32\n\tBlock_nr         uint32\n\tFrame_size       uint32\n\tFrame_nr         uint32\n\tRetire_blk_tov   uint32\n\tSizeof_priv      uint32\n\tFeature_req_word uint32\n}\n\ntype TpacketStats struct {\n\tPackets uint32\n\tDrops   uint32\n}\n\ntype TpacketStatsV3 struct {\n\tPackets      uint32\n\tDrops        uint32\n\tFreeze_q_cnt uint32\n}\n\ntype TpacketAuxdata struct {\n\tStatus    uint32\n\tLen       uint32\n\tSnaplen   uint32\n\tMac       uint16\n\tNet       uint16\n\tVlan_tci  uint16\n\tVlan_tpid uint16\n}\n\nconst (\n\tTPACKET_V1 = 0x0\n\tTPACKET_V2 = 0x1\n\tTPACKET_V3 = 0x2\n)\n\nconst (\n\tSizeofTpacketHdr  = 0x18\n\tSizeofTpacket2Hdr = 0x20\n\tSizeofTpacket3Hdr = 0x30\n)\n\nconst (\n\tNF_INET_PRE_ROUTING  = 0x0\n\tNF_INET_LOCAL_IN     = 0x1\n\tNF_INET_FORWARD      = 0x2\n\tNF_INET_LOCAL_OUT    = 0x3\n\tNF_INET_POST_ROUTING = 0x4\n\tNF_INET_NUMHOOKS     = 0x5\n)\n\nconst (\n\tNF_NETDEV_INGRESS  = 0x0\n\tNF_NETDEV_NUMHOOKS = 0x1\n)\n\nconst (\n\tNFPROTO_UNSPEC   = 0x0\n\tNFPROTO_INET     = 0x1\n\tNFPROTO_IPV4     = 0x2\n\tNFPROTO_ARP      = 0x3\n\tNFPROTO_NETDEV   = 0x5\n\tNFPROTO_BRIDGE   = 0x7\n\tNFPROTO_IPV6     = 0xa\n\tNFPROTO_DECNET   = 0xc\n\tNFPROTO_NUMPROTO = 0xd\n)\n\ntype Nfgenmsg struct {\n\tNfgen_family uint8\n\tVersion      uint8\n\tRes_id       uint16\n}\n\nconst (\n\tNFNL_BATCH_UNSPEC = 0x0\n\tNFNL_BATCH_GENID  = 0x1\n)\n\nconst (\n\tNFT_REG_VERDICT                   = 0x0\n\tNFT_REG_1                         = 0x1\n\tNFT_REG_2                         = 0x2\n\tNFT_REG_3                         = 0x3\n\tNFT_REG_4                         = 0x4\n\tNFT_REG32_00                      = 0x8\n\tNFT_REG32_01                      = 0x9\n\tNFT_REG32_02                      = 0xa\n\tNFT_REG32_03                      = 0xb\n\tNFT_REG32_04                      = 0xc\n\tNFT_REG32_05                      = 0xd\n\tNFT_REG32_06                      = 0xe\n\tNFT_REG32_07                      = 0xf\n\tNFT_REG32_08                      = 0x10\n\tNFT_REG32_09                      = 0x11\n\tNFT_REG32_10                      = 0x12\n\tNFT_REG32_11                      = 0x13\n\tNFT_REG32_12                      = 0x14\n\tNFT_REG32_13                      = 0x15\n\tNFT_REG32_14                      = 0x16\n\tNFT_REG32_15                      = 0x17\n\tNFT_CONTINUE                      = -0x1\n\tNFT_BREAK                         = -0x2\n\tNFT_JUMP                          = -0x3\n\tNFT_GOTO                          = -0x4\n\tNFT_RETURN                        = -0x5\n\tNFT_MSG_NEWTABLE                  = 0x0\n\tNFT_MSG_GETTABLE                  = 0x1\n\tNFT_MSG_DELTABLE                  = 0x2\n\tNFT_MSG_NEWCHAIN                  = 0x3\n\tNFT_MSG_GETCHAIN                  = 0x4\n\tNFT_MSG_DELCHAIN                  = 0x5\n\tNFT_MSG_NEWRULE                   = 0x6\n\tNFT_MSG_GETRULE                   = 0x7\n\tNFT_MSG_DELRULE                   = 0x8\n\tNFT_MSG_NEWSET                    = 0x9\n\tNFT_MSG_GETSET                    = 0xa\n\tNFT_MSG_DELSET                    = 0xb\n\tNFT_MSG_NEWSETELEM                = 0xc\n\tNFT_MSG_GETSETELEM                = 0xd\n\tNFT_MSG_DELSETELEM                = 0xe\n\tNFT_MSG_NEWGEN                    = 0xf\n\tNFT_MSG_GETGEN                    = 0x10\n\tNFT_MSG_TRACE                     = 0x11\n\tNFT_MSG_NEWOBJ                    = 0x12\n\tNFT_MSG_GETOBJ                    = 0x13\n\tNFT_MSG_DELOBJ                    = 0x14\n\tNFT_MSG_GETOBJ_RESET              = 0x15\n\tNFT_MSG_MAX                       = 0x19\n\tNFTA_LIST_UNPEC                   = 0x0\n\tNFTA_LIST_ELEM                    = 0x1\n\tNFTA_HOOK_UNSPEC                  = 0x0\n\tNFTA_HOOK_HOOKNUM                 = 0x1\n\tNFTA_HOOK_PRIORITY                = 0x2\n\tNFTA_HOOK_DEV                     = 0x3\n\tNFT_TABLE_F_DORMANT               = 0x1\n\tNFTA_TABLE_UNSPEC                 = 0x0\n\tNFTA_TABLE_NAME                   = 0x1\n\tNFTA_TABLE_FLAGS                  = 0x2\n\tNFTA_TABLE_USE                    = 0x3\n\tNFTA_CHAIN_UNSPEC                 = 0x0\n\tNFTA_CHAIN_TABLE                  = 0x1\n\tNFTA_CHAIN_HANDLE                 = 0x2\n\tNFTA_CHAIN_NAME                   = 0x3\n\tNFTA_CHAIN_HOOK                   = 0x4\n\tNFTA_CHAIN_POLICY                 = 0x5\n\tNFTA_CHAIN_USE                    = 0x6\n\tNFTA_CHAIN_TYPE                   = 0x7\n\tNFTA_CHAIN_COUNTERS               = 0x8\n\tNFTA_CHAIN_PAD                    = 0x9\n\tNFTA_RULE_UNSPEC                  = 0x0\n\tNFTA_RULE_TABLE                   = 0x1\n\tNFTA_RULE_CHAIN                   = 0x2\n\tNFTA_RULE_HANDLE                  = 0x3\n\tNFTA_RULE_EXPRESSIONS             = 0x4\n\tNFTA_RULE_COMPAT                  = 0x5\n\tNFTA_RULE_POSITION                = 0x6\n\tNFTA_RULE_USERDATA                = 0x7\n\tNFTA_RULE_PAD                     = 0x8\n\tNFTA_RULE_ID                      = 0x9\n\tNFT_RULE_COMPAT_F_INV             = 0x2\n\tNFT_RULE_COMPAT_F_MASK            = 0x2\n\tNFTA_RULE_COMPAT_UNSPEC           = 0x0\n\tNFTA_RULE_COMPAT_PROTO            = 0x1\n\tNFTA_RULE_COMPAT_FLAGS            = 0x2\n\tNFT_SET_ANONYMOUS                 = 0x1\n\tNFT_SET_CONSTANT                  = 0x2\n\tNFT_SET_INTERVAL                  = 0x4\n\tNFT_SET_MAP                       = 0x8\n\tNFT_SET_TIMEOUT                   = 0x10\n\tNFT_SET_EVAL                      = 0x20\n\tNFT_SET_OBJECT                    = 0x40\n\tNFT_SET_POL_PERFORMANCE           = 0x0\n\tNFT_SET_POL_MEMORY                = 0x1\n\tNFTA_SET_DESC_UNSPEC              = 0x0\n\tNFTA_SET_DESC_SIZE                = 0x1\n\tNFTA_SET_UNSPEC                   = 0x0\n\tNFTA_SET_TABLE                    = 0x1\n\tNFTA_SET_NAME                     = 0x2\n\tNFTA_SET_FLAGS                    = 0x3\n\tNFTA_SET_KEY_TYPE                 = 0x4\n\tNFTA_SET_KEY_LEN                  = 0x5\n\tNFTA_SET_DATA_TYPE                = 0x6\n\tNFTA_SET_DATA_LEN                 = 0x7\n\tNFTA_SET_POLICY                   = 0x8\n\tNFTA_SET_DESC                     = 0x9\n\tNFTA_SET_ID                       = 0xa\n\tNFTA_SET_TIMEOUT                  = 0xb\n\tNFTA_SET_GC_INTERVAL              = 0xc\n\tNFTA_SET_USERDATA                 = 0xd\n\tNFTA_SET_PAD                      = 0xe\n\tNFTA_SET_OBJ_TYPE                 = 0xf\n\tNFT_SET_ELEM_INTERVAL_END         = 0x1\n\tNFTA_SET_ELEM_UNSPEC              = 0x0\n\tNFTA_SET_ELEM_KEY                 = 0x1\n\tNFTA_SET_ELEM_DATA                = 0x2\n\tNFTA_SET_ELEM_FLAGS               = 0x3\n\tNFTA_SET_ELEM_TIMEOUT             = 0x4\n\tNFTA_SET_ELEM_EXPIRATION          = 0x5\n\tNFTA_SET_ELEM_USERDATA            = 0x6\n\tNFTA_SET_ELEM_EXPR                = 0x7\n\tNFTA_SET_ELEM_PAD                 = 0x8\n\tNFTA_SET_ELEM_OBJREF              = 0x9\n\tNFTA_SET_ELEM_LIST_UNSPEC         = 0x0\n\tNFTA_SET_ELEM_LIST_TABLE          = 0x1\n\tNFTA_SET_ELEM_LIST_SET            = 0x2\n\tNFTA_SET_ELEM_LIST_ELEMENTS       = 0x3\n\tNFTA_SET_ELEM_LIST_SET_ID         = 0x4\n\tNFT_DATA_VALUE                    = 0x0\n\tNFT_DATA_VERDICT                  = 0xffffff00\n\tNFTA_DATA_UNSPEC                  = 0x0\n\tNFTA_DATA_VALUE                   = 0x1\n\tNFTA_DATA_VERDICT                 = 0x2\n\tNFTA_VERDICT_UNSPEC               = 0x0\n\tNFTA_VERDICT_CODE                 = 0x1\n\tNFTA_VERDICT_CHAIN                = 0x2\n\tNFTA_EXPR_UNSPEC                  = 0x0\n\tNFTA_EXPR_NAME                    = 0x1\n\tNFTA_EXPR_DATA                    = 0x2\n\tNFTA_IMMEDIATE_UNSPEC             = 0x0\n\tNFTA_IMMEDIATE_DREG               = 0x1\n\tNFTA_IMMEDIATE_DATA               = 0x2\n\tNFTA_BITWISE_UNSPEC               = 0x0\n\tNFTA_BITWISE_SREG                 = 0x1\n\tNFTA_BITWISE_DREG                 = 0x2\n\tNFTA_BITWISE_LEN                  = 0x3\n\tNFTA_BITWISE_MASK                 = 0x4\n\tNFTA_BITWISE_XOR                  = 0x5\n\tNFT_BYTEORDER_NTOH                = 0x0\n\tNFT_BYTEORDER_HTON                = 0x1\n\tNFTA_BYTEORDER_UNSPEC             = 0x0\n\tNFTA_BYTEORDER_SREG               = 0x1\n\tNFTA_BYTEORDER_DREG               = 0x2\n\tNFTA_BYTEORDER_OP                 = 0x3\n\tNFTA_BYTEORDER_LEN                = 0x4\n\tNFTA_BYTEORDER_SIZE               = 0x5\n\tNFT_CMP_EQ                        = 0x0\n\tNFT_CMP_NEQ                       = 0x1\n\tNFT_CMP_LT                        = 0x2\n\tNFT_CMP_LTE                       = 0x3\n\tNFT_CMP_GT                        = 0x4\n\tNFT_CMP_GTE                       = 0x5\n\tNFTA_CMP_UNSPEC                   = 0x0\n\tNFTA_CMP_SREG                     = 0x1\n\tNFTA_CMP_OP                       = 0x2\n\tNFTA_CMP_DATA                     = 0x3\n\tNFT_RANGE_EQ                      = 0x0\n\tNFT_RANGE_NEQ                     = 0x1\n\tNFTA_RANGE_UNSPEC                 = 0x0\n\tNFTA_RANGE_SREG                   = 0x1\n\tNFTA_RANGE_OP                     = 0x2\n\tNFTA_RANGE_FROM_DATA              = 0x3\n\tNFTA_RANGE_TO_DATA                = 0x4\n\tNFT_LOOKUP_F_INV                  = 0x1\n\tNFTA_LOOKUP_UNSPEC                = 0x0\n\tNFTA_LOOKUP_SET                   = 0x1\n\tNFTA_LOOKUP_SREG                  = 0x2\n\tNFTA_LOOKUP_DREG                  = 0x3\n\tNFTA_LOOKUP_SET_ID                = 0x4\n\tNFTA_LOOKUP_FLAGS                 = 0x5\n\tNFT_DYNSET_OP_ADD                 = 0x0\n\tNFT_DYNSET_OP_UPDATE              = 0x1\n\tNFT_DYNSET_F_INV                  = 0x1\n\tNFTA_DYNSET_UNSPEC                = 0x0\n\tNFTA_DYNSET_SET_NAME              = 0x1\n\tNFTA_DYNSET_SET_ID                = 0x2\n\tNFTA_DYNSET_OP                    = 0x3\n\tNFTA_DYNSET_SREG_KEY              = 0x4\n\tNFTA_DYNSET_SREG_DATA             = 0x5\n\tNFTA_DYNSET_TIMEOUT               = 0x6\n\tNFTA_DYNSET_EXPR                  = 0x7\n\tNFTA_DYNSET_PAD                   = 0x8\n\tNFTA_DYNSET_FLAGS                 = 0x9\n\tNFT_PAYLOAD_LL_HEADER             = 0x0\n\tNFT_PAYLOAD_NETWORK_HEADER        = 0x1\n\tNFT_PAYLOAD_TRANSPORT_HEADER      = 0x2\n\tNFT_PAYLOAD_CSUM_NONE             = 0x0\n\tNFT_PAYLOAD_CSUM_INET             = 0x1\n\tNFT_PAYLOAD_L4CSUM_PSEUDOHDR      = 0x1\n\tNFTA_PAYLOAD_UNSPEC               = 0x0\n\tNFTA_PAYLOAD_DREG                 = 0x1\n\tNFTA_PAYLOAD_BASE                 = 0x2\n\tNFTA_PAYLOAD_OFFSET               = 0x3\n\tNFTA_PAYLOAD_LEN                  = 0x4\n\tNFTA_PAYLOAD_SREG                 = 0x5\n\tNFTA_PAYLOAD_CSUM_TYPE            = 0x6\n\tNFTA_PAYLOAD_CSUM_OFFSET          = 0x7\n\tNFTA_PAYLOAD_CSUM_FLAGS           = 0x8\n\tNFT_EXTHDR_F_PRESENT              = 0x1\n\tNFT_EXTHDR_OP_IPV6                = 0x0\n\tNFT_EXTHDR_OP_TCPOPT              = 0x1\n\tNFTA_EXTHDR_UNSPEC                = 0x0\n\tNFTA_EXTHDR_DREG                  = 0x1\n\tNFTA_EXTHDR_TYPE                  = 0x2\n\tNFTA_EXTHDR_OFFSET                = 0x3\n\tNFTA_EXTHDR_LEN                   = 0x4\n\tNFTA_EXTHDR_FLAGS                 = 0x5\n\tNFTA_EXTHDR_OP                    = 0x6\n\tNFTA_EXTHDR_SREG                  = 0x7\n\tNFT_META_LEN                      = 0x0\n\tNFT_META_PROTOCOL                 = 0x1\n\tNFT_META_PRIORITY                 = 0x2\n\tNFT_META_MARK                     = 0x3\n\tNFT_META_IIF                      = 0x4\n\tNFT_META_OIF                      = 0x5\n\tNFT_META_IIFNAME                  = 0x6\n\tNFT_META_OIFNAME                  = 0x7\n\tNFT_META_IIFTYPE                  = 0x8\n\tNFT_META_OIFTYPE                  = 0x9\n\tNFT_META_SKUID                    = 0xa\n\tNFT_META_SKGID                    = 0xb\n\tNFT_META_NFTRACE                  = 0xc\n\tNFT_META_RTCLASSID                = 0xd\n\tNFT_META_SECMARK                  = 0xe\n\tNFT_META_NFPROTO                  = 0xf\n\tNFT_META_L4PROTO                  = 0x10\n\tNFT_META_BRI_IIFNAME              = 0x11\n\tNFT_META_BRI_OIFNAME              = 0x12\n\tNFT_META_PKTTYPE                  = 0x13\n\tNFT_META_CPU                      = 0x14\n\tNFT_META_IIFGROUP                 = 0x15\n\tNFT_META_OIFGROUP                 = 0x16\n\tNFT_META_CGROUP                   = 0x17\n\tNFT_META_PRANDOM                  = 0x18\n\tNFT_RT_CLASSID                    = 0x0\n\tNFT_RT_NEXTHOP4                   = 0x1\n\tNFT_RT_NEXTHOP6                   = 0x2\n\tNFT_RT_TCPMSS                     = 0x3\n\tNFT_HASH_JENKINS                  = 0x0\n\tNFT_HASH_SYM                      = 0x1\n\tNFTA_HASH_UNSPEC                  = 0x0\n\tNFTA_HASH_SREG                    = 0x1\n\tNFTA_HASH_DREG                    = 0x2\n\tNFTA_HASH_LEN                     = 0x3\n\tNFTA_HASH_MODULUS                 = 0x4\n\tNFTA_HASH_SEED                    = 0x5\n\tNFTA_HASH_OFFSET                  = 0x6\n\tNFTA_HASH_TYPE                    = 0x7\n\tNFTA_META_UNSPEC                  = 0x0\n\tNFTA_META_DREG                    = 0x1\n\tNFTA_META_KEY                     = 0x2\n\tNFTA_META_SREG                    = 0x3\n\tNFTA_RT_UNSPEC                    = 0x0\n\tNFTA_RT_DREG                      = 0x1\n\tNFTA_RT_KEY                       = 0x2\n\tNFT_CT_STATE                      = 0x0\n\tNFT_CT_DIRECTION                  = 0x1\n\tNFT_CT_STATUS                     = 0x2\n\tNFT_CT_MARK                       = 0x3\n\tNFT_CT_SECMARK                    = 0x4\n\tNFT_CT_EXPIRATION                 = 0x5\n\tNFT_CT_HELPER                     = 0x6\n\tNFT_CT_L3PROTOCOL                 = 0x7\n\tNFT_CT_SRC                        = 0x8\n\tNFT_CT_DST                        = 0x9\n\tNFT_CT_PROTOCOL                   = 0xa\n\tNFT_CT_PROTO_SRC                  = 0xb\n\tNFT_CT_PROTO_DST                  = 0xc\n\tNFT_CT_LABELS                     = 0xd\n\tNFT_CT_PKTS                       = 0xe\n\tNFT_CT_BYTES                      = 0xf\n\tNFT_CT_AVGPKT                     = 0x10\n\tNFT_CT_ZONE                       = 0x11\n\tNFT_CT_EVENTMASK                  = 0x12\n\tNFTA_CT_UNSPEC                    = 0x0\n\tNFTA_CT_DREG                      = 0x1\n\tNFTA_CT_KEY                       = 0x2\n\tNFTA_CT_DIRECTION                 = 0x3\n\tNFTA_CT_SREG                      = 0x4\n\tNFT_LIMIT_PKTS                    = 0x0\n\tNFT_LIMIT_PKT_BYTES               = 0x1\n\tNFT_LIMIT_F_INV                   = 0x1\n\tNFTA_LIMIT_UNSPEC                 = 0x0\n\tNFTA_LIMIT_RATE                   = 0x1\n\tNFTA_LIMIT_UNIT                   = 0x2\n\tNFTA_LIMIT_BURST                  = 0x3\n\tNFTA_LIMIT_TYPE                   = 0x4\n\tNFTA_LIMIT_FLAGS                  = 0x5\n\tNFTA_LIMIT_PAD                    = 0x6\n\tNFTA_COUNTER_UNSPEC               = 0x0\n\tNFTA_COUNTER_BYTES                = 0x1\n\tNFTA_COUNTER_PACKETS              = 0x2\n\tNFTA_COUNTER_PAD                  = 0x3\n\tNFTA_LOG_UNSPEC                   = 0x0\n\tNFTA_LOG_GROUP                    = 0x1\n\tNFTA_LOG_PREFIX                   = 0x2\n\tNFTA_LOG_SNAPLEN                  = 0x3\n\tNFTA_LOG_QTHRESHOLD               = 0x4\n\tNFTA_LOG_LEVEL                    = 0x5\n\tNFTA_LOG_FLAGS                    = 0x6\n\tNFTA_QUEUE_UNSPEC                 = 0x0\n\tNFTA_QUEUE_NUM                    = 0x1\n\tNFTA_QUEUE_TOTAL                  = 0x2\n\tNFTA_QUEUE_FLAGS                  = 0x3\n\tNFTA_QUEUE_SREG_QNUM              = 0x4\n\tNFT_QUOTA_F_INV                   = 0x1\n\tNFT_QUOTA_F_DEPLETED              = 0x2\n\tNFTA_QUOTA_UNSPEC                 = 0x0\n\tNFTA_QUOTA_BYTES                  = 0x1\n\tNFTA_QUOTA_FLAGS                  = 0x2\n\tNFTA_QUOTA_PAD                    = 0x3\n\tNFTA_QUOTA_CONSUMED               = 0x4\n\tNFT_REJECT_ICMP_UNREACH           = 0x0\n\tNFT_REJECT_TCP_RST                = 0x1\n\tNFT_REJECT_ICMPX_UNREACH          = 0x2\n\tNFT_REJECT_ICMPX_NO_ROUTE         = 0x0\n\tNFT_REJECT_ICMPX_PORT_UNREACH     = 0x1\n\tNFT_REJECT_ICMPX_HOST_UNREACH     = 0x2\n\tNFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3\n\tNFTA_REJECT_UNSPEC                = 0x0\n\tNFTA_REJECT_TYPE                  = 0x1\n\tNFTA_REJECT_ICMP_CODE             = 0x2\n\tNFT_NAT_SNAT                      = 0x0\n\tNFT_NAT_DNAT                      = 0x1\n\tNFTA_NAT_UNSPEC                   = 0x0\n\tNFTA_NAT_TYPE                     = 0x1\n\tNFTA_NAT_FAMILY                   = 0x2\n\tNFTA_NAT_REG_ADDR_MIN             = 0x3\n\tNFTA_NAT_REG_ADDR_MAX             = 0x4\n\tNFTA_NAT_REG_PROTO_MIN            = 0x5\n\tNFTA_NAT_REG_PROTO_MAX            = 0x6\n\tNFTA_NAT_FLAGS                    = 0x7\n\tNFTA_MASQ_UNSPEC                  = 0x0\n\tNFTA_MASQ_FLAGS                   = 0x1\n\tNFTA_MASQ_REG_PROTO_MIN           = 0x2\n\tNFTA_MASQ_REG_PROTO_MAX           = 0x3\n\tNFTA_REDIR_UNSPEC                 = 0x0\n\tNFTA_REDIR_REG_PROTO_MIN          = 0x1\n\tNFTA_REDIR_REG_PROTO_MAX          = 0x2\n\tNFTA_REDIR_FLAGS                  = 0x3\n\tNFTA_DUP_UNSPEC                   = 0x0\n\tNFTA_DUP_SREG_ADDR                = 0x1\n\tNFTA_DUP_SREG_DEV                 = 0x2\n\tNFTA_FWD_UNSPEC                   = 0x0\n\tNFTA_FWD_SREG_DEV                 = 0x1\n\tNFTA_OBJREF_UNSPEC                = 0x0\n\tNFTA_OBJREF_IMM_TYPE              = 0x1\n\tNFTA_OBJREF_IMM_NAME              = 0x2\n\tNFTA_OBJREF_SET_SREG              = 0x3\n\tNFTA_OBJREF_SET_NAME              = 0x4\n\tNFTA_OBJREF_SET_ID                = 0x5\n\tNFTA_GEN_UNSPEC                   = 0x0\n\tNFTA_GEN_ID                       = 0x1\n\tNFTA_GEN_PROC_PID                 = 0x2\n\tNFTA_GEN_PROC_NAME                = 0x3\n\tNFTA_FIB_UNSPEC                   = 0x0\n\tNFTA_FIB_DREG                     = 0x1\n\tNFTA_FIB_RESULT                   = 0x2\n\tNFTA_FIB_FLAGS                    = 0x3\n\tNFT_FIB_RESULT_UNSPEC             = 0x0\n\tNFT_FIB_RESULT_OIF                = 0x1\n\tNFT_FIB_RESULT_OIFNAME            = 0x2\n\tNFT_FIB_RESULT_ADDRTYPE           = 0x3\n\tNFTA_FIB_F_SADDR                  = 0x1\n\tNFTA_FIB_F_DADDR                  = 0x2\n\tNFTA_FIB_F_MARK                   = 0x4\n\tNFTA_FIB_F_IIF                    = 0x8\n\tNFTA_FIB_F_OIF                    = 0x10\n\tNFTA_FIB_F_PRESENT                = 0x20\n\tNFTA_CT_HELPER_UNSPEC             = 0x0\n\tNFTA_CT_HELPER_NAME               = 0x1\n\tNFTA_CT_HELPER_L3PROTO            = 0x2\n\tNFTA_CT_HELPER_L4PROTO            = 0x3\n\tNFTA_OBJ_UNSPEC                   = 0x0\n\tNFTA_OBJ_TABLE                    = 0x1\n\tNFTA_OBJ_NAME                     = 0x2\n\tNFTA_OBJ_TYPE                     = 0x3\n\tNFTA_OBJ_DATA                     = 0x4\n\tNFTA_OBJ_USE                      = 0x5\n\tNFTA_TRACE_UNSPEC                 = 0x0\n\tNFTA_TRACE_TABLE                  = 0x1\n\tNFTA_TRACE_CHAIN                  = 0x2\n\tNFTA_TRACE_RULE_HANDLE            = 0x3\n\tNFTA_TRACE_TYPE                   = 0x4\n\tNFTA_TRACE_VERDICT                = 0x5\n\tNFTA_TRACE_ID                     = 0x6\n\tNFTA_TRACE_LL_HEADER              = 0x7\n\tNFTA_TRACE_NETWORK_HEADER         = 0x8\n\tNFTA_TRACE_TRANSPORT_HEADER       = 0x9\n\tNFTA_TRACE_IIF                    = 0xa\n\tNFTA_TRACE_IIFTYPE                = 0xb\n\tNFTA_TRACE_OIF                    = 0xc\n\tNFTA_TRACE_OIFTYPE                = 0xd\n\tNFTA_TRACE_MARK                   = 0xe\n\tNFTA_TRACE_NFPROTO                = 0xf\n\tNFTA_TRACE_POLICY                 = 0x10\n\tNFTA_TRACE_PAD                    = 0x11\n\tNFT_TRACETYPE_UNSPEC              = 0x0\n\tNFT_TRACETYPE_POLICY              = 0x1\n\tNFT_TRACETYPE_RETURN              = 0x2\n\tNFT_TRACETYPE_RULE                = 0x3\n\tNFTA_NG_UNSPEC                    = 0x0\n\tNFTA_NG_DREG                      = 0x1\n\tNFTA_NG_MODULUS                   = 0x2\n\tNFTA_NG_TYPE                      = 0x3\n\tNFTA_NG_OFFSET                    = 0x4\n\tNFT_NG_INCREMENTAL                = 0x0\n\tNFT_NG_RANDOM                     = 0x1\n)\n\ntype RTCTime struct {\n\tSec   int32\n\tMin   int32\n\tHour  int32\n\tMday  int32\n\tMon   int32\n\tYear  int32\n\tWday  int32\n\tYday  int32\n\tIsdst int32\n}\n\ntype RTCWkAlrm struct {\n\tEnabled uint8\n\tPending uint8\n\t_       [2]byte\n\tTime    RTCTime\n}\n\ntype RTCPLLInfo struct {\n\tCtrl    int32\n\tValue   int32\n\tMax     int32\n\tMin     int32\n\tPosmult int32\n\tNegmult int32\n\tClock   int32\n}\n\ntype BlkpgIoctlArg struct {\n\tOp      int32\n\tFlags   int32\n\tDatalen int32\n\tData    *byte\n}\n\ntype BlkpgPartition struct {\n\tStart   int64\n\tLength  int64\n\tPno     int32\n\tDevname [64]uint8\n\tVolname [64]uint8\n}\n\nconst (\n\tBLKPG                  = 0x1269\n\tBLKPG_ADD_PARTITION    = 0x1\n\tBLKPG_DEL_PARTITION    = 0x2\n\tBLKPG_RESIZE_PARTITION = 0x3\n)\n\nconst (\n\tNETNSA_NONE = 0x0\n\tNETNSA_NSID = 0x1\n\tNETNSA_PID  = 0x2\n\tNETNSA_FD   = 0x3\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go",
    "content": "// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 linux/types.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,linux\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x8\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x8\n\tsizeofLongLong = 0x8\n\tPathMax        = 0x1000\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int64\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int64\n}\n\ntype Timeval struct {\n\tSec  int64\n\tUsec int64\n}\n\ntype Timex struct {\n\tModes     uint32\n\t_         [4]byte\n\tOffset    int64\n\tFreq      int64\n\tMaxerror  int64\n\tEsterror  int64\n\tStatus    int32\n\t_         [4]byte\n\tConstant  int64\n\tPrecision int64\n\tTolerance int64\n\tTime      Timeval\n\tTick      int64\n\tPpsfreq   int64\n\tJitter    int64\n\tShift     int32\n\t_         [4]byte\n\tStabil    int64\n\tJitcnt    int64\n\tCalcnt    int64\n\tErrcnt    int64\n\tStbcnt    int64\n\tTai       int32\n\t_         [44]byte\n}\n\ntype Time_t int64\n\ntype Tms struct {\n\tUtime  int64\n\tStime  int64\n\tCutime int64\n\tCstime int64\n}\n\ntype Utimbuf struct {\n\tActime  int64\n\tModtime int64\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int64\n\tIxrss    int64\n\tIdrss    int64\n\tIsrss    int64\n\tMinflt   int64\n\tMajflt   int64\n\tNswap    int64\n\tInblock  int64\n\tOublock  int64\n\tMsgsnd   int64\n\tMsgrcv   int64\n\tNsignals int64\n\tNvcsw    int64\n\tNivcsw   int64\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev     uint64\n\tIno     uint64\n\tNlink   uint64\n\tMode    uint32\n\tUid     uint32\n\tGid     uint32\n\t_       int32\n\tRdev    uint64\n\tSize    int64\n\tBlksize int64\n\tBlocks  int64\n\tAtim    Timespec\n\tMtim    Timespec\n\tCtim    Timespec\n\t_       [3]int64\n}\n\ntype StatxTimestamp struct {\n\tSec  int64\n\tNsec uint32\n\t_    int32\n}\n\ntype Statx_t struct {\n\tMask            uint32\n\tBlksize         uint32\n\tAttributes      uint64\n\tNlink           uint32\n\tUid             uint32\n\tGid             uint32\n\tMode            uint16\n\t_               [1]uint16\n\tIno             uint64\n\tSize            uint64\n\tBlocks          uint64\n\tAttributes_mask uint64\n\tAtime           StatxTimestamp\n\tBtime           StatxTimestamp\n\tCtime           StatxTimestamp\n\tMtime           StatxTimestamp\n\tRdev_major      uint32\n\tRdev_minor      uint32\n\tDev_major       uint32\n\tDev_minor       uint32\n\t_               [14]uint64\n}\n\ntype Dirent struct {\n\tIno    uint64\n\tOff    int64\n\tReclen uint16\n\tType   uint8\n\tName   [256]int8\n\t_      [5]byte\n}\n\ntype Fsid struct {\n\tVal [2]int32\n}\n\ntype Flock_t struct {\n\tType   int16\n\tWhence int16\n\t_      [4]byte\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\t_      [4]byte\n}\n\ntype FscryptPolicy struct {\n\tVersion                   uint8\n\tContents_encryption_mode  uint8\n\tFilenames_encryption_mode uint8\n\tFlags                     uint8\n\tMaster_key_descriptor     [8]uint8\n}\n\ntype FscryptKey struct {\n\tMode uint32\n\tRaw  [64]uint8\n\tSize uint32\n}\n\ntype KeyctlDHParams struct {\n\tPrivate int32\n\tPrime   int32\n\tBase    int32\n}\n\nconst (\n\tFADV_NORMAL     = 0x0\n\tFADV_RANDOM     = 0x1\n\tFADV_SEQUENTIAL = 0x2\n\tFADV_WILLNEED   = 0x3\n\tFADV_DONTNEED   = 0x4\n\tFADV_NOREUSE    = 0x5\n)\n\ntype RawSockaddrInet4 struct {\n\tFamily uint16\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]uint8\n}\n\ntype RawSockaddrInet6 struct {\n\tFamily   uint16\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tFamily uint16\n\tPath   [108]int8\n}\n\ntype RawSockaddrLinklayer struct {\n\tFamily   uint16\n\tProtocol uint16\n\tIfindex  int32\n\tHatype   uint16\n\tPkttype  uint8\n\tHalen    uint8\n\tAddr     [8]uint8\n}\n\ntype RawSockaddrNetlink struct {\n\tFamily uint16\n\tPad    uint16\n\tPid    uint32\n\tGroups uint32\n}\n\ntype RawSockaddrHCI struct {\n\tFamily  uint16\n\tDev     uint16\n\tChannel uint16\n}\n\ntype RawSockaddrL2 struct {\n\tFamily      uint16\n\tPsm         uint16\n\tBdaddr      [6]uint8\n\tCid         uint16\n\tBdaddr_type uint8\n\t_           [1]byte\n}\n\ntype RawSockaddrRFCOMM struct {\n\tFamily  uint16\n\tBdaddr  [6]uint8\n\tChannel uint8\n\t_       [1]byte\n}\n\ntype RawSockaddrCAN struct {\n\tFamily  uint16\n\t_       [2]byte\n\tIfindex int32\n\tAddr    [8]byte\n}\n\ntype RawSockaddrALG struct {\n\tFamily uint16\n\tType   [14]uint8\n\tFeat   uint32\n\tMask   uint32\n\tName   [64]uint8\n}\n\ntype RawSockaddrVM struct {\n\tFamily    uint16\n\tReserved1 uint16\n\tPort      uint32\n\tCid       uint32\n\tZero      [4]uint8\n}\n\ntype RawSockaddr struct {\n\tFamily uint16\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [96]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint64\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPMreqn struct {\n\tMultiaddr [4]byte /* in_addr */\n\tAddress   [4]byte /* in_addr */\n\tIfindex   int32\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype PacketMreq struct {\n\tIfindex int32\n\tType    uint16\n\tAlen    uint16\n\tAddress [8]uint8\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\t_          [4]byte\n\tIov        *Iovec\n\tIovlen     uint64\n\tControl    *byte\n\tControllen uint64\n\tFlags      int32\n\t_          [4]byte\n}\n\ntype Cmsghdr struct {\n\tLen   uint64\n\tLevel int32\n\tType  int32\n}\n\ntype Inet4Pktinfo struct {\n\tIfindex  int32\n\tSpec_dst [4]byte /* in_addr */\n\tAddr     [4]byte /* in_addr */\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tData [8]uint32\n}\n\ntype Ucred struct {\n\tPid int32\n\tUid uint32\n\tGid uint32\n}\n\ntype TCPInfo struct {\n\tState          uint8\n\tCa_state       uint8\n\tRetransmits    uint8\n\tProbes         uint8\n\tBackoff        uint8\n\tOptions        uint8\n\t_              [2]byte\n\tRto            uint32\n\tAto            uint32\n\tSnd_mss        uint32\n\tRcv_mss        uint32\n\tUnacked        uint32\n\tSacked         uint32\n\tLost           uint32\n\tRetrans        uint32\n\tFackets        uint32\n\tLast_data_sent uint32\n\tLast_ack_sent  uint32\n\tLast_data_recv uint32\n\tLast_ack_recv  uint32\n\tPmtu           uint32\n\tRcv_ssthresh   uint32\n\tRtt            uint32\n\tRttvar         uint32\n\tSnd_ssthresh   uint32\n\tSnd_cwnd       uint32\n\tAdvmss         uint32\n\tReordering     uint32\n\tRcv_rtt        uint32\n\tRcv_space      uint32\n\tTotal_retrans  uint32\n}\n\nconst (\n\tSizeofSockaddrInet4     = 0x10\n\tSizeofSockaddrInet6     = 0x1c\n\tSizeofSockaddrAny       = 0x70\n\tSizeofSockaddrUnix      = 0x6e\n\tSizeofSockaddrLinklayer = 0x14\n\tSizeofSockaddrNetlink   = 0xc\n\tSizeofSockaddrHCI       = 0x6\n\tSizeofSockaddrL2        = 0xe\n\tSizeofSockaddrRFCOMM    = 0xa\n\tSizeofSockaddrCAN       = 0x10\n\tSizeofSockaddrALG       = 0x58\n\tSizeofSockaddrVM        = 0x10\n\tSizeofLinger            = 0x8\n\tSizeofIovec             = 0x10\n\tSizeofIPMreq            = 0x8\n\tSizeofIPMreqn           = 0xc\n\tSizeofIPv6Mreq          = 0x14\n\tSizeofPacketMreq        = 0x10\n\tSizeofMsghdr            = 0x38\n\tSizeofCmsghdr           = 0x10\n\tSizeofInet4Pktinfo      = 0xc\n\tSizeofInet6Pktinfo      = 0x14\n\tSizeofIPv6MTUInfo       = 0x20\n\tSizeofICMPv6Filter      = 0x20\n\tSizeofUcred             = 0xc\n\tSizeofTCPInfo           = 0x68\n)\n\nconst (\n\tIFA_UNSPEC           = 0x0\n\tIFA_ADDRESS          = 0x1\n\tIFA_LOCAL            = 0x2\n\tIFA_LABEL            = 0x3\n\tIFA_BROADCAST        = 0x4\n\tIFA_ANYCAST          = 0x5\n\tIFA_CACHEINFO        = 0x6\n\tIFA_MULTICAST        = 0x7\n\tIFLA_UNSPEC          = 0x0\n\tIFLA_ADDRESS         = 0x1\n\tIFLA_BROADCAST       = 0x2\n\tIFLA_IFNAME          = 0x3\n\tIFLA_INFO_KIND       = 0x1\n\tIFLA_MTU             = 0x4\n\tIFLA_LINK            = 0x5\n\tIFLA_QDISC           = 0x6\n\tIFLA_STATS           = 0x7\n\tIFLA_COST            = 0x8\n\tIFLA_PRIORITY        = 0x9\n\tIFLA_MASTER          = 0xa\n\tIFLA_WIRELESS        = 0xb\n\tIFLA_PROTINFO        = 0xc\n\tIFLA_TXQLEN          = 0xd\n\tIFLA_MAP             = 0xe\n\tIFLA_WEIGHT          = 0xf\n\tIFLA_OPERSTATE       = 0x10\n\tIFLA_LINKMODE        = 0x11\n\tIFLA_LINKINFO        = 0x12\n\tIFLA_NET_NS_PID      = 0x13\n\tIFLA_IFALIAS         = 0x14\n\tIFLA_NUM_VF          = 0x15\n\tIFLA_VFINFO_LIST     = 0x16\n\tIFLA_STATS64         = 0x17\n\tIFLA_VF_PORTS        = 0x18\n\tIFLA_PORT_SELF       = 0x19\n\tIFLA_AF_SPEC         = 0x1a\n\tIFLA_GROUP           = 0x1b\n\tIFLA_NET_NS_FD       = 0x1c\n\tIFLA_EXT_MASK        = 0x1d\n\tIFLA_PROMISCUITY     = 0x1e\n\tIFLA_NUM_TX_QUEUES   = 0x1f\n\tIFLA_NUM_RX_QUEUES   = 0x20\n\tIFLA_CARRIER         = 0x21\n\tIFLA_PHYS_PORT_ID    = 0x22\n\tIFLA_CARRIER_CHANGES = 0x23\n\tIFLA_PHYS_SWITCH_ID  = 0x24\n\tIFLA_LINK_NETNSID    = 0x25\n\tIFLA_PHYS_PORT_NAME  = 0x26\n\tIFLA_PROTO_DOWN      = 0x27\n\tIFLA_GSO_MAX_SEGS    = 0x28\n\tIFLA_GSO_MAX_SIZE    = 0x29\n\tIFLA_PAD             = 0x2a\n\tIFLA_XDP             = 0x2b\n\tIFLA_EVENT           = 0x2c\n\tIFLA_NEW_NETNSID     = 0x2d\n\tIFLA_IF_NETNSID      = 0x2e\n\tIFLA_MAX             = 0x31\n\tRT_SCOPE_UNIVERSE    = 0x0\n\tRT_SCOPE_SITE        = 0xc8\n\tRT_SCOPE_LINK        = 0xfd\n\tRT_SCOPE_HOST        = 0xfe\n\tRT_SCOPE_NOWHERE     = 0xff\n\tRT_TABLE_UNSPEC      = 0x0\n\tRT_TABLE_COMPAT      = 0xfc\n\tRT_TABLE_DEFAULT     = 0xfd\n\tRT_TABLE_MAIN        = 0xfe\n\tRT_TABLE_LOCAL       = 0xff\n\tRT_TABLE_MAX         = 0xffffffff\n\tRTA_UNSPEC           = 0x0\n\tRTA_DST              = 0x1\n\tRTA_SRC              = 0x2\n\tRTA_IIF              = 0x3\n\tRTA_OIF              = 0x4\n\tRTA_GATEWAY          = 0x5\n\tRTA_PRIORITY         = 0x6\n\tRTA_PREFSRC          = 0x7\n\tRTA_METRICS          = 0x8\n\tRTA_MULTIPATH        = 0x9\n\tRTA_FLOW             = 0xb\n\tRTA_CACHEINFO        = 0xc\n\tRTA_TABLE            = 0xf\n\tRTN_UNSPEC           = 0x0\n\tRTN_UNICAST          = 0x1\n\tRTN_LOCAL            = 0x2\n\tRTN_BROADCAST        = 0x3\n\tRTN_ANYCAST          = 0x4\n\tRTN_MULTICAST        = 0x5\n\tRTN_BLACKHOLE        = 0x6\n\tRTN_UNREACHABLE      = 0x7\n\tRTN_PROHIBIT         = 0x8\n\tRTN_THROW            = 0x9\n\tRTN_NAT              = 0xa\n\tRTN_XRESOLVE         = 0xb\n\tRTNLGRP_NONE         = 0x0\n\tRTNLGRP_LINK         = 0x1\n\tRTNLGRP_NOTIFY       = 0x2\n\tRTNLGRP_NEIGH        = 0x3\n\tRTNLGRP_TC           = 0x4\n\tRTNLGRP_IPV4_IFADDR  = 0x5\n\tRTNLGRP_IPV4_MROUTE  = 0x6\n\tRTNLGRP_IPV4_ROUTE   = 0x7\n\tRTNLGRP_IPV4_RULE    = 0x8\n\tRTNLGRP_IPV6_IFADDR  = 0x9\n\tRTNLGRP_IPV6_MROUTE  = 0xa\n\tRTNLGRP_IPV6_ROUTE   = 0xb\n\tRTNLGRP_IPV6_IFINFO  = 0xc\n\tRTNLGRP_IPV6_PREFIX  = 0x12\n\tRTNLGRP_IPV6_RULE    = 0x13\n\tRTNLGRP_ND_USEROPT   = 0x14\n\tSizeofNlMsghdr       = 0x10\n\tSizeofNlMsgerr       = 0x14\n\tSizeofRtGenmsg       = 0x1\n\tSizeofNlAttr         = 0x4\n\tSizeofRtAttr         = 0x4\n\tSizeofIfInfomsg      = 0x10\n\tSizeofIfAddrmsg      = 0x8\n\tSizeofRtMsg          = 0xc\n\tSizeofRtNexthop      = 0x8\n)\n\ntype NlMsghdr struct {\n\tLen   uint32\n\tType  uint16\n\tFlags uint16\n\tSeq   uint32\n\tPid   uint32\n}\n\ntype NlMsgerr struct {\n\tError int32\n\tMsg   NlMsghdr\n}\n\ntype RtGenmsg struct {\n\tFamily uint8\n}\n\ntype NlAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype RtAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype IfInfomsg struct {\n\tFamily uint8\n\t_      uint8\n\tType   uint16\n\tIndex  int32\n\tFlags  uint32\n\tChange uint32\n}\n\ntype IfAddrmsg struct {\n\tFamily    uint8\n\tPrefixlen uint8\n\tFlags     uint8\n\tScope     uint8\n\tIndex     uint32\n}\n\ntype RtMsg struct {\n\tFamily   uint8\n\tDst_len  uint8\n\tSrc_len  uint8\n\tTos      uint8\n\tTable    uint8\n\tProtocol uint8\n\tScope    uint8\n\tType     uint8\n\tFlags    uint32\n}\n\ntype RtNexthop struct {\n\tLen     uint16\n\tFlags   uint8\n\tHops    uint8\n\tIfindex int32\n}\n\nconst (\n\tSizeofSockFilter = 0x8\n\tSizeofSockFprog  = 0x10\n)\n\ntype SockFilter struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype SockFprog struct {\n\tLen    uint16\n\t_      [6]byte\n\tFilter *SockFilter\n}\n\ntype InotifyEvent struct {\n\tWd     int32\n\tMask   uint32\n\tCookie uint32\n\tLen    uint32\n}\n\nconst SizeofInotifyEvent = 0x10\n\ntype PtraceRegs struct {\n\tR15      uint64\n\tR14      uint64\n\tR13      uint64\n\tR12      uint64\n\tRbp      uint64\n\tRbx      uint64\n\tR11      uint64\n\tR10      uint64\n\tR9       uint64\n\tR8       uint64\n\tRax      uint64\n\tRcx      uint64\n\tRdx      uint64\n\tRsi      uint64\n\tRdi      uint64\n\tOrig_rax uint64\n\tRip      uint64\n\tCs       uint64\n\tEflags   uint64\n\tRsp      uint64\n\tSs       uint64\n\tFs_base  uint64\n\tGs_base  uint64\n\tDs       uint64\n\tEs       uint64\n\tFs       uint64\n\tGs       uint64\n}\n\ntype FdSet struct {\n\tBits [16]int64\n}\n\ntype Sysinfo_t struct {\n\tUptime    int64\n\tLoads     [3]uint64\n\tTotalram  uint64\n\tFreeram   uint64\n\tSharedram uint64\n\tBufferram uint64\n\tTotalswap uint64\n\tFreeswap  uint64\n\tProcs     uint16\n\tPad       uint16\n\t_         [4]byte\n\tTotalhigh uint64\n\tFreehigh  uint64\n\tUnit      uint32\n\t_         [0]int8\n\t_         [4]byte\n}\n\ntype Utsname struct {\n\tSysname    [65]byte\n\tNodename   [65]byte\n\tRelease    [65]byte\n\tVersion    [65]byte\n\tMachine    [65]byte\n\tDomainname [65]byte\n}\n\ntype Ustat_t struct {\n\tTfree  int32\n\t_      [4]byte\n\tTinode uint64\n\tFname  [6]int8\n\tFpack  [6]int8\n\t_      [4]byte\n}\n\ntype EpollEvent struct {\n\tEvents uint32\n\tFd     int32\n\tPad    int32\n}\n\nconst (\n\tAT_EMPTY_PATH   = 0x1000\n\tAT_FDCWD        = -0x64\n\tAT_NO_AUTOMOUNT = 0x800\n\tAT_REMOVEDIR    = 0x200\n\n\tAT_STATX_SYNC_AS_STAT = 0x0\n\tAT_STATX_FORCE_SYNC   = 0x2000\n\tAT_STATX_DONT_SYNC    = 0x4000\n\n\tAT_SYMLINK_FOLLOW   = 0x400\n\tAT_SYMLINK_NOFOLLOW = 0x100\n\n\tAT_EACCESS = 0x200\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLIN    = 0x1\n\tPOLLPRI   = 0x2\n\tPOLLOUT   = 0x4\n\tPOLLRDHUP = 0x2000\n\tPOLLERR   = 0x8\n\tPOLLHUP   = 0x10\n\tPOLLNVAL  = 0x20\n)\n\ntype Sigset_t struct {\n\tVal [16]uint64\n}\n\nconst RNDGETENTCNT = 0x80045200\n\nconst PERF_IOC_FLAG_GROUP = 0x1\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tLine   uint8\n\tCc     [19]uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\ntype Taskstats struct {\n\tVersion                   uint16\n\t_                         [2]byte\n\tAc_exitcode               uint32\n\tAc_flag                   uint8\n\tAc_nice                   uint8\n\t_                         [6]byte\n\tCpu_count                 uint64\n\tCpu_delay_total           uint64\n\tBlkio_count               uint64\n\tBlkio_delay_total         uint64\n\tSwapin_count              uint64\n\tSwapin_delay_total        uint64\n\tCpu_run_real_total        uint64\n\tCpu_run_virtual_total     uint64\n\tAc_comm                   [32]int8\n\tAc_sched                  uint8\n\tAc_pad                    [3]uint8\n\t_                         [4]byte\n\tAc_uid                    uint32\n\tAc_gid                    uint32\n\tAc_pid                    uint32\n\tAc_ppid                   uint32\n\tAc_btime                  uint32\n\t_                         [4]byte\n\tAc_etime                  uint64\n\tAc_utime                  uint64\n\tAc_stime                  uint64\n\tAc_minflt                 uint64\n\tAc_majflt                 uint64\n\tCoremem                   uint64\n\tVirtmem                   uint64\n\tHiwater_rss               uint64\n\tHiwater_vm                uint64\n\tRead_char                 uint64\n\tWrite_char                uint64\n\tRead_syscalls             uint64\n\tWrite_syscalls            uint64\n\tRead_bytes                uint64\n\tWrite_bytes               uint64\n\tCancelled_write_bytes     uint64\n\tNvcsw                     uint64\n\tNivcsw                    uint64\n\tAc_utimescaled            uint64\n\tAc_stimescaled            uint64\n\tCpu_scaled_run_real_total uint64\n\tFreepages_count           uint64\n\tFreepages_delay_total     uint64\n}\n\nconst (\n\tTASKSTATS_CMD_UNSPEC                  = 0x0\n\tTASKSTATS_CMD_GET                     = 0x1\n\tTASKSTATS_CMD_NEW                     = 0x2\n\tTASKSTATS_TYPE_UNSPEC                 = 0x0\n\tTASKSTATS_TYPE_PID                    = 0x1\n\tTASKSTATS_TYPE_TGID                   = 0x2\n\tTASKSTATS_TYPE_STATS                  = 0x3\n\tTASKSTATS_TYPE_AGGR_PID               = 0x4\n\tTASKSTATS_TYPE_AGGR_TGID              = 0x5\n\tTASKSTATS_TYPE_NULL                   = 0x6\n\tTASKSTATS_CMD_ATTR_UNSPEC             = 0x0\n\tTASKSTATS_CMD_ATTR_PID                = 0x1\n\tTASKSTATS_CMD_ATTR_TGID               = 0x2\n\tTASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3\n\tTASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4\n)\n\ntype CGroupStats struct {\n\tSleeping        uint64\n\tRunning         uint64\n\tStopped         uint64\n\tUninterruptible uint64\n\tIo_wait         uint64\n}\n\nconst (\n\tCGROUPSTATS_CMD_UNSPEC        = 0x3\n\tCGROUPSTATS_CMD_GET           = 0x4\n\tCGROUPSTATS_CMD_NEW           = 0x5\n\tCGROUPSTATS_TYPE_UNSPEC       = 0x0\n\tCGROUPSTATS_TYPE_CGROUP_STATS = 0x1\n\tCGROUPSTATS_CMD_ATTR_UNSPEC   = 0x0\n\tCGROUPSTATS_CMD_ATTR_FD       = 0x1\n)\n\ntype Genlmsghdr struct {\n\tCmd      uint8\n\tVersion  uint8\n\tReserved uint16\n}\n\nconst (\n\tCTRL_CMD_UNSPEC            = 0x0\n\tCTRL_CMD_NEWFAMILY         = 0x1\n\tCTRL_CMD_DELFAMILY         = 0x2\n\tCTRL_CMD_GETFAMILY         = 0x3\n\tCTRL_CMD_NEWOPS            = 0x4\n\tCTRL_CMD_DELOPS            = 0x5\n\tCTRL_CMD_GETOPS            = 0x6\n\tCTRL_CMD_NEWMCAST_GRP      = 0x7\n\tCTRL_CMD_DELMCAST_GRP      = 0x8\n\tCTRL_CMD_GETMCAST_GRP      = 0x9\n\tCTRL_ATTR_UNSPEC           = 0x0\n\tCTRL_ATTR_FAMILY_ID        = 0x1\n\tCTRL_ATTR_FAMILY_NAME      = 0x2\n\tCTRL_ATTR_VERSION          = 0x3\n\tCTRL_ATTR_HDRSIZE          = 0x4\n\tCTRL_ATTR_MAXATTR          = 0x5\n\tCTRL_ATTR_OPS              = 0x6\n\tCTRL_ATTR_MCAST_GROUPS     = 0x7\n\tCTRL_ATTR_OP_UNSPEC        = 0x0\n\tCTRL_ATTR_OP_ID            = 0x1\n\tCTRL_ATTR_OP_FLAGS         = 0x2\n\tCTRL_ATTR_MCAST_GRP_UNSPEC = 0x0\n\tCTRL_ATTR_MCAST_GRP_NAME   = 0x1\n\tCTRL_ATTR_MCAST_GRP_ID     = 0x2\n)\n\ntype cpuMask uint64\n\nconst (\n\t_CPU_SETSIZE = 0x400\n\t_NCPUBITS    = 0x40\n)\n\nconst (\n\tBDADDR_BREDR     = 0x0\n\tBDADDR_LE_PUBLIC = 0x1\n\tBDADDR_LE_RANDOM = 0x2\n)\n\ntype PerfEventAttr struct {\n\tType               uint32\n\tSize               uint32\n\tConfig             uint64\n\tSample             uint64\n\tSample_type        uint64\n\tRead_format        uint64\n\tBits               uint64\n\tWakeup             uint32\n\tBp_type            uint32\n\tExt1               uint64\n\tExt2               uint64\n\tBranch_sample_type uint64\n\tSample_regs_user   uint64\n\tSample_stack_user  uint32\n\tClockid            int32\n\tSample_regs_intr   uint64\n\tAux_watermark      uint32\n\t_                  uint32\n}\n\ntype PerfEventMmapPage struct {\n\tVersion        uint32\n\tCompat_version uint32\n\tLock           uint32\n\tIndex          uint32\n\tOffset         int64\n\tTime_enabled   uint64\n\tTime_running   uint64\n\tCapabilities   uint64\n\tPmc_width      uint16\n\tTime_shift     uint16\n\tTime_mult      uint32\n\tTime_offset    uint64\n\tTime_zero      uint64\n\tSize           uint32\n\t_              [948]uint8\n\tData_head      uint64\n\tData_tail      uint64\n\tData_offset    uint64\n\tData_size      uint64\n\tAux_head       uint64\n\tAux_tail       uint64\n\tAux_offset     uint64\n\tAux_size       uint64\n}\n\nconst (\n\tPerfBitDisabled               uint64 = CBitFieldMaskBit0\n\tPerfBitInherit                       = CBitFieldMaskBit1\n\tPerfBitPinned                        = CBitFieldMaskBit2\n\tPerfBitExclusive                     = CBitFieldMaskBit3\n\tPerfBitExcludeUser                   = CBitFieldMaskBit4\n\tPerfBitExcludeKernel                 = CBitFieldMaskBit5\n\tPerfBitExcludeHv                     = CBitFieldMaskBit6\n\tPerfBitExcludeIdle                   = CBitFieldMaskBit7\n\tPerfBitMmap                          = CBitFieldMaskBit8\n\tPerfBitComm                          = CBitFieldMaskBit9\n\tPerfBitFreq                          = CBitFieldMaskBit10\n\tPerfBitInheritStat                   = CBitFieldMaskBit11\n\tPerfBitEnableOnExec                  = CBitFieldMaskBit12\n\tPerfBitTask                          = CBitFieldMaskBit13\n\tPerfBitWatermark                     = CBitFieldMaskBit14\n\tPerfBitPreciseIPBit1                 = CBitFieldMaskBit15\n\tPerfBitPreciseIPBit2                 = CBitFieldMaskBit16\n\tPerfBitMmapData                      = CBitFieldMaskBit17\n\tPerfBitSampleIDAll                   = CBitFieldMaskBit18\n\tPerfBitExcludeHost                   = CBitFieldMaskBit19\n\tPerfBitExcludeGuest                  = CBitFieldMaskBit20\n\tPerfBitExcludeCallchainKernel        = CBitFieldMaskBit21\n\tPerfBitExcludeCallchainUser          = CBitFieldMaskBit22\n\tPerfBitMmap2                         = CBitFieldMaskBit23\n\tPerfBitCommExec                      = CBitFieldMaskBit24\n\tPerfBitUseClockID                    = CBitFieldMaskBit25\n\tPerfBitContextSwitch                 = CBitFieldMaskBit26\n)\n\nconst (\n\tPERF_TYPE_HARDWARE   = 0x0\n\tPERF_TYPE_SOFTWARE   = 0x1\n\tPERF_TYPE_TRACEPOINT = 0x2\n\tPERF_TYPE_HW_CACHE   = 0x3\n\tPERF_TYPE_RAW        = 0x4\n\tPERF_TYPE_BREAKPOINT = 0x5\n\n\tPERF_COUNT_HW_CPU_CYCLES              = 0x0\n\tPERF_COUNT_HW_INSTRUCTIONS            = 0x1\n\tPERF_COUNT_HW_CACHE_REFERENCES        = 0x2\n\tPERF_COUNT_HW_CACHE_MISSES            = 0x3\n\tPERF_COUNT_HW_BRANCH_INSTRUCTIONS     = 0x4\n\tPERF_COUNT_HW_BRANCH_MISSES           = 0x5\n\tPERF_COUNT_HW_BUS_CYCLES              = 0x6\n\tPERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7\n\tPERF_COUNT_HW_STALLED_CYCLES_BACKEND  = 0x8\n\tPERF_COUNT_HW_REF_CPU_CYCLES          = 0x9\n\n\tPERF_COUNT_HW_CACHE_L1D  = 0x0\n\tPERF_COUNT_HW_CACHE_L1I  = 0x1\n\tPERF_COUNT_HW_CACHE_LL   = 0x2\n\tPERF_COUNT_HW_CACHE_DTLB = 0x3\n\tPERF_COUNT_HW_CACHE_ITLB = 0x4\n\tPERF_COUNT_HW_CACHE_BPU  = 0x5\n\tPERF_COUNT_HW_CACHE_NODE = 0x6\n\n\tPERF_COUNT_HW_CACHE_OP_READ     = 0x0\n\tPERF_COUNT_HW_CACHE_OP_WRITE    = 0x1\n\tPERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2\n\n\tPERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0\n\tPERF_COUNT_HW_CACHE_RESULT_MISS   = 0x1\n\n\tPERF_COUNT_SW_CPU_CLOCK        = 0x0\n\tPERF_COUNT_SW_TASK_CLOCK       = 0x1\n\tPERF_COUNT_SW_PAGE_FAULTS      = 0x2\n\tPERF_COUNT_SW_CONTEXT_SWITCHES = 0x3\n\tPERF_COUNT_SW_CPU_MIGRATIONS   = 0x4\n\tPERF_COUNT_SW_PAGE_FAULTS_MIN  = 0x5\n\tPERF_COUNT_SW_PAGE_FAULTS_MAJ  = 0x6\n\tPERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7\n\tPERF_COUNT_SW_EMULATION_FAULTS = 0x8\n\tPERF_COUNT_SW_DUMMY            = 0x9\n\n\tPERF_SAMPLE_IP           = 0x1\n\tPERF_SAMPLE_TID          = 0x2\n\tPERF_SAMPLE_TIME         = 0x4\n\tPERF_SAMPLE_ADDR         = 0x8\n\tPERF_SAMPLE_READ         = 0x10\n\tPERF_SAMPLE_CALLCHAIN    = 0x20\n\tPERF_SAMPLE_ID           = 0x40\n\tPERF_SAMPLE_CPU          = 0x80\n\tPERF_SAMPLE_PERIOD       = 0x100\n\tPERF_SAMPLE_STREAM_ID    = 0x200\n\tPERF_SAMPLE_RAW          = 0x400\n\tPERF_SAMPLE_BRANCH_STACK = 0x800\n\n\tPERF_SAMPLE_BRANCH_USER       = 0x1\n\tPERF_SAMPLE_BRANCH_KERNEL     = 0x2\n\tPERF_SAMPLE_BRANCH_HV         = 0x4\n\tPERF_SAMPLE_BRANCH_ANY        = 0x8\n\tPERF_SAMPLE_BRANCH_ANY_CALL   = 0x10\n\tPERF_SAMPLE_BRANCH_ANY_RETURN = 0x20\n\tPERF_SAMPLE_BRANCH_IND_CALL   = 0x40\n\n\tPERF_FORMAT_TOTAL_TIME_ENABLED = 0x1\n\tPERF_FORMAT_TOTAL_TIME_RUNNING = 0x2\n\tPERF_FORMAT_ID                 = 0x4\n\tPERF_FORMAT_GROUP              = 0x8\n\n\tPERF_RECORD_MMAP       = 0x1\n\tPERF_RECORD_LOST       = 0x2\n\tPERF_RECORD_COMM       = 0x3\n\tPERF_RECORD_EXIT       = 0x4\n\tPERF_RECORD_THROTTLE   = 0x5\n\tPERF_RECORD_UNTHROTTLE = 0x6\n\tPERF_RECORD_FORK       = 0x7\n\tPERF_RECORD_READ       = 0x8\n\tPERF_RECORD_SAMPLE     = 0x9\n\n\tPERF_CONTEXT_HV     = -0x20\n\tPERF_CONTEXT_KERNEL = -0x80\n\tPERF_CONTEXT_USER   = -0x200\n\n\tPERF_CONTEXT_GUEST        = -0x800\n\tPERF_CONTEXT_GUEST_KERNEL = -0x880\n\tPERF_CONTEXT_GUEST_USER   = -0xa00\n\n\tPERF_FLAG_FD_NO_GROUP = 0x1\n\tPERF_FLAG_FD_OUTPUT   = 0x2\n\tPERF_FLAG_PID_CGROUP  = 0x4\n)\n\nconst (\n\tCBitFieldMaskBit0  = 0x1\n\tCBitFieldMaskBit1  = 0x2\n\tCBitFieldMaskBit2  = 0x4\n\tCBitFieldMaskBit3  = 0x8\n\tCBitFieldMaskBit4  = 0x10\n\tCBitFieldMaskBit5  = 0x20\n\tCBitFieldMaskBit6  = 0x40\n\tCBitFieldMaskBit7  = 0x80\n\tCBitFieldMaskBit8  = 0x100\n\tCBitFieldMaskBit9  = 0x200\n\tCBitFieldMaskBit10 = 0x400\n\tCBitFieldMaskBit11 = 0x800\n\tCBitFieldMaskBit12 = 0x1000\n\tCBitFieldMaskBit13 = 0x2000\n\tCBitFieldMaskBit14 = 0x4000\n\tCBitFieldMaskBit15 = 0x8000\n\tCBitFieldMaskBit16 = 0x10000\n\tCBitFieldMaskBit17 = 0x20000\n\tCBitFieldMaskBit18 = 0x40000\n\tCBitFieldMaskBit19 = 0x80000\n\tCBitFieldMaskBit20 = 0x100000\n\tCBitFieldMaskBit21 = 0x200000\n\tCBitFieldMaskBit22 = 0x400000\n\tCBitFieldMaskBit23 = 0x800000\n\tCBitFieldMaskBit24 = 0x1000000\n\tCBitFieldMaskBit25 = 0x2000000\n\tCBitFieldMaskBit26 = 0x4000000\n\tCBitFieldMaskBit27 = 0x8000000\n\tCBitFieldMaskBit28 = 0x10000000\n\tCBitFieldMaskBit29 = 0x20000000\n\tCBitFieldMaskBit30 = 0x40000000\n\tCBitFieldMaskBit31 = 0x80000000\n\tCBitFieldMaskBit32 = 0x100000000\n\tCBitFieldMaskBit33 = 0x200000000\n\tCBitFieldMaskBit34 = 0x400000000\n\tCBitFieldMaskBit35 = 0x800000000\n\tCBitFieldMaskBit36 = 0x1000000000\n\tCBitFieldMaskBit37 = 0x2000000000\n\tCBitFieldMaskBit38 = 0x4000000000\n\tCBitFieldMaskBit39 = 0x8000000000\n\tCBitFieldMaskBit40 = 0x10000000000\n\tCBitFieldMaskBit41 = 0x20000000000\n\tCBitFieldMaskBit42 = 0x40000000000\n\tCBitFieldMaskBit43 = 0x80000000000\n\tCBitFieldMaskBit44 = 0x100000000000\n\tCBitFieldMaskBit45 = 0x200000000000\n\tCBitFieldMaskBit46 = 0x400000000000\n\tCBitFieldMaskBit47 = 0x800000000000\n\tCBitFieldMaskBit48 = 0x1000000000000\n\tCBitFieldMaskBit49 = 0x2000000000000\n\tCBitFieldMaskBit50 = 0x4000000000000\n\tCBitFieldMaskBit51 = 0x8000000000000\n\tCBitFieldMaskBit52 = 0x10000000000000\n\tCBitFieldMaskBit53 = 0x20000000000000\n\tCBitFieldMaskBit54 = 0x40000000000000\n\tCBitFieldMaskBit55 = 0x80000000000000\n\tCBitFieldMaskBit56 = 0x100000000000000\n\tCBitFieldMaskBit57 = 0x200000000000000\n\tCBitFieldMaskBit58 = 0x400000000000000\n\tCBitFieldMaskBit59 = 0x800000000000000\n\tCBitFieldMaskBit60 = 0x1000000000000000\n\tCBitFieldMaskBit61 = 0x2000000000000000\n\tCBitFieldMaskBit62 = 0x4000000000000000\n\tCBitFieldMaskBit63 = 0x8000000000000000\n)\n\ntype SockaddrStorage struct {\n\tFamily uint16\n\t_      [118]int8\n\t_      uint64\n}\n\ntype TCPMD5Sig struct {\n\tAddr      SockaddrStorage\n\tFlags     uint8\n\tPrefixlen uint8\n\tKeylen    uint16\n\t_         uint32\n\tKey       [80]uint8\n}\n\ntype HDDriveCmdHdr struct {\n\tCommand uint8\n\tNumber  uint8\n\tFeature uint8\n\tCount   uint8\n}\n\ntype HDGeometry struct {\n\tHeads     uint8\n\tSectors   uint8\n\tCylinders uint16\n\t_         [4]byte\n\tStart     uint64\n}\n\ntype HDDriveID struct {\n\tConfig         uint16\n\tCyls           uint16\n\tReserved2      uint16\n\tHeads          uint16\n\tTrack_bytes    uint16\n\tSector_bytes   uint16\n\tSectors        uint16\n\tVendor0        uint16\n\tVendor1        uint16\n\tVendor2        uint16\n\tSerial_no      [20]uint8\n\tBuf_type       uint16\n\tBuf_size       uint16\n\tEcc_bytes      uint16\n\tFw_rev         [8]uint8\n\tModel          [40]uint8\n\tMax_multsect   uint8\n\tVendor3        uint8\n\tDword_io       uint16\n\tVendor4        uint8\n\tCapability     uint8\n\tReserved50     uint16\n\tVendor5        uint8\n\tTPIO           uint8\n\tVendor6        uint8\n\tTDMA           uint8\n\tField_valid    uint16\n\tCur_cyls       uint16\n\tCur_heads      uint16\n\tCur_sectors    uint16\n\tCur_capacity0  uint16\n\tCur_capacity1  uint16\n\tMultsect       uint8\n\tMultsect_valid uint8\n\tLba_capacity   uint32\n\tDma_1word      uint16\n\tDma_mword      uint16\n\tEide_pio_modes uint16\n\tEide_dma_min   uint16\n\tEide_dma_time  uint16\n\tEide_pio       uint16\n\tEide_pio_iordy uint16\n\tWords69_70     [2]uint16\n\tWords71_74     [4]uint16\n\tQueue_depth    uint16\n\tWords76_79     [4]uint16\n\tMajor_rev_num  uint16\n\tMinor_rev_num  uint16\n\tCommand_set_1  uint16\n\tCommand_set_2  uint16\n\tCfsse          uint16\n\tCfs_enable_1   uint16\n\tCfs_enable_2   uint16\n\tCsf_default    uint16\n\tDma_ultra      uint16\n\tTrseuc         uint16\n\tTrsEuc         uint16\n\tCurAPMvalues   uint16\n\tMprc           uint16\n\tHw_config      uint16\n\tAcoustic       uint16\n\tMsrqs          uint16\n\tSxfert         uint16\n\tSal            uint16\n\tSpg            uint32\n\tLba_capacity_2 uint64\n\tWords104_125   [22]uint16\n\tLast_lun       uint16\n\tWord127        uint16\n\tDlf            uint16\n\tCsfo           uint16\n\tWords130_155   [26]uint16\n\tWord156        uint16\n\tWords157_159   [3]uint16\n\tCfa_power      uint16\n\tWords161_175   [15]uint16\n\tWords176_205   [30]uint16\n\tWords206_254   [49]uint16\n\tIntegrity_word uint16\n}\n\ntype Statfs_t struct {\n\tType    int64\n\tBsize   int64\n\tBlocks  uint64\n\tBfree   uint64\n\tBavail  uint64\n\tFiles   uint64\n\tFfree   uint64\n\tFsid    Fsid\n\tNamelen int64\n\tFrsize  int64\n\tFlags   int64\n\tSpare   [4]int64\n}\n\nconst (\n\tST_MANDLOCK    = 0x40\n\tST_NOATIME     = 0x400\n\tST_NODEV       = 0x4\n\tST_NODIRATIME  = 0x800\n\tST_NOEXEC      = 0x8\n\tST_NOSUID      = 0x2\n\tST_RDONLY      = 0x1\n\tST_RELATIME    = 0x1000\n\tST_SYNCHRONOUS = 0x10\n)\n\ntype TpacketHdr struct {\n\tStatus  uint64\n\tLen     uint32\n\tSnaplen uint32\n\tMac     uint16\n\tNet     uint16\n\tSec     uint32\n\tUsec    uint32\n\t_       [4]byte\n}\n\ntype Tpacket2Hdr struct {\n\tStatus    uint32\n\tLen       uint32\n\tSnaplen   uint32\n\tMac       uint16\n\tNet       uint16\n\tSec       uint32\n\tNsec      uint32\n\tVlan_tci  uint16\n\tVlan_tpid uint16\n\t_         [4]uint8\n}\n\ntype Tpacket3Hdr struct {\n\tNext_offset uint32\n\tSec         uint32\n\tNsec        uint32\n\tSnaplen     uint32\n\tLen         uint32\n\tStatus      uint32\n\tMac         uint16\n\tNet         uint16\n\tHv1         TpacketHdrVariant1\n\t_           [8]uint8\n}\n\ntype TpacketHdrVariant1 struct {\n\tRxhash    uint32\n\tVlan_tci  uint32\n\tVlan_tpid uint16\n\t_         uint16\n}\n\ntype TpacketBlockDesc struct {\n\tVersion uint32\n\tTo_priv uint32\n\tHdr     [40]byte\n}\n\ntype TpacketReq struct {\n\tBlock_size uint32\n\tBlock_nr   uint32\n\tFrame_size uint32\n\tFrame_nr   uint32\n}\n\ntype TpacketReq3 struct {\n\tBlock_size       uint32\n\tBlock_nr         uint32\n\tFrame_size       uint32\n\tFrame_nr         uint32\n\tRetire_blk_tov   uint32\n\tSizeof_priv      uint32\n\tFeature_req_word uint32\n}\n\ntype TpacketStats struct {\n\tPackets uint32\n\tDrops   uint32\n}\n\ntype TpacketStatsV3 struct {\n\tPackets      uint32\n\tDrops        uint32\n\tFreeze_q_cnt uint32\n}\n\ntype TpacketAuxdata struct {\n\tStatus    uint32\n\tLen       uint32\n\tSnaplen   uint32\n\tMac       uint16\n\tNet       uint16\n\tVlan_tci  uint16\n\tVlan_tpid uint16\n}\n\nconst (\n\tTPACKET_V1 = 0x0\n\tTPACKET_V2 = 0x1\n\tTPACKET_V3 = 0x2\n)\n\nconst (\n\tSizeofTpacketHdr  = 0x20\n\tSizeofTpacket2Hdr = 0x20\n\tSizeofTpacket3Hdr = 0x30\n)\n\nconst (\n\tNF_INET_PRE_ROUTING  = 0x0\n\tNF_INET_LOCAL_IN     = 0x1\n\tNF_INET_FORWARD      = 0x2\n\tNF_INET_LOCAL_OUT    = 0x3\n\tNF_INET_POST_ROUTING = 0x4\n\tNF_INET_NUMHOOKS     = 0x5\n)\n\nconst (\n\tNF_NETDEV_INGRESS  = 0x0\n\tNF_NETDEV_NUMHOOKS = 0x1\n)\n\nconst (\n\tNFPROTO_UNSPEC   = 0x0\n\tNFPROTO_INET     = 0x1\n\tNFPROTO_IPV4     = 0x2\n\tNFPROTO_ARP      = 0x3\n\tNFPROTO_NETDEV   = 0x5\n\tNFPROTO_BRIDGE   = 0x7\n\tNFPROTO_IPV6     = 0xa\n\tNFPROTO_DECNET   = 0xc\n\tNFPROTO_NUMPROTO = 0xd\n)\n\ntype Nfgenmsg struct {\n\tNfgen_family uint8\n\tVersion      uint8\n\tRes_id       uint16\n}\n\nconst (\n\tNFNL_BATCH_UNSPEC = 0x0\n\tNFNL_BATCH_GENID  = 0x1\n)\n\nconst (\n\tNFT_REG_VERDICT                   = 0x0\n\tNFT_REG_1                         = 0x1\n\tNFT_REG_2                         = 0x2\n\tNFT_REG_3                         = 0x3\n\tNFT_REG_4                         = 0x4\n\tNFT_REG32_00                      = 0x8\n\tNFT_REG32_01                      = 0x9\n\tNFT_REG32_02                      = 0xa\n\tNFT_REG32_03                      = 0xb\n\tNFT_REG32_04                      = 0xc\n\tNFT_REG32_05                      = 0xd\n\tNFT_REG32_06                      = 0xe\n\tNFT_REG32_07                      = 0xf\n\tNFT_REG32_08                      = 0x10\n\tNFT_REG32_09                      = 0x11\n\tNFT_REG32_10                      = 0x12\n\tNFT_REG32_11                      = 0x13\n\tNFT_REG32_12                      = 0x14\n\tNFT_REG32_13                      = 0x15\n\tNFT_REG32_14                      = 0x16\n\tNFT_REG32_15                      = 0x17\n\tNFT_CONTINUE                      = -0x1\n\tNFT_BREAK                         = -0x2\n\tNFT_JUMP                          = -0x3\n\tNFT_GOTO                          = -0x4\n\tNFT_RETURN                        = -0x5\n\tNFT_MSG_NEWTABLE                  = 0x0\n\tNFT_MSG_GETTABLE                  = 0x1\n\tNFT_MSG_DELTABLE                  = 0x2\n\tNFT_MSG_NEWCHAIN                  = 0x3\n\tNFT_MSG_GETCHAIN                  = 0x4\n\tNFT_MSG_DELCHAIN                  = 0x5\n\tNFT_MSG_NEWRULE                   = 0x6\n\tNFT_MSG_GETRULE                   = 0x7\n\tNFT_MSG_DELRULE                   = 0x8\n\tNFT_MSG_NEWSET                    = 0x9\n\tNFT_MSG_GETSET                    = 0xa\n\tNFT_MSG_DELSET                    = 0xb\n\tNFT_MSG_NEWSETELEM                = 0xc\n\tNFT_MSG_GETSETELEM                = 0xd\n\tNFT_MSG_DELSETELEM                = 0xe\n\tNFT_MSG_NEWGEN                    = 0xf\n\tNFT_MSG_GETGEN                    = 0x10\n\tNFT_MSG_TRACE                     = 0x11\n\tNFT_MSG_NEWOBJ                    = 0x12\n\tNFT_MSG_GETOBJ                    = 0x13\n\tNFT_MSG_DELOBJ                    = 0x14\n\tNFT_MSG_GETOBJ_RESET              = 0x15\n\tNFT_MSG_MAX                       = 0x19\n\tNFTA_LIST_UNPEC                   = 0x0\n\tNFTA_LIST_ELEM                    = 0x1\n\tNFTA_HOOK_UNSPEC                  = 0x0\n\tNFTA_HOOK_HOOKNUM                 = 0x1\n\tNFTA_HOOK_PRIORITY                = 0x2\n\tNFTA_HOOK_DEV                     = 0x3\n\tNFT_TABLE_F_DORMANT               = 0x1\n\tNFTA_TABLE_UNSPEC                 = 0x0\n\tNFTA_TABLE_NAME                   = 0x1\n\tNFTA_TABLE_FLAGS                  = 0x2\n\tNFTA_TABLE_USE                    = 0x3\n\tNFTA_CHAIN_UNSPEC                 = 0x0\n\tNFTA_CHAIN_TABLE                  = 0x1\n\tNFTA_CHAIN_HANDLE                 = 0x2\n\tNFTA_CHAIN_NAME                   = 0x3\n\tNFTA_CHAIN_HOOK                   = 0x4\n\tNFTA_CHAIN_POLICY                 = 0x5\n\tNFTA_CHAIN_USE                    = 0x6\n\tNFTA_CHAIN_TYPE                   = 0x7\n\tNFTA_CHAIN_COUNTERS               = 0x8\n\tNFTA_CHAIN_PAD                    = 0x9\n\tNFTA_RULE_UNSPEC                  = 0x0\n\tNFTA_RULE_TABLE                   = 0x1\n\tNFTA_RULE_CHAIN                   = 0x2\n\tNFTA_RULE_HANDLE                  = 0x3\n\tNFTA_RULE_EXPRESSIONS             = 0x4\n\tNFTA_RULE_COMPAT                  = 0x5\n\tNFTA_RULE_POSITION                = 0x6\n\tNFTA_RULE_USERDATA                = 0x7\n\tNFTA_RULE_PAD                     = 0x8\n\tNFTA_RULE_ID                      = 0x9\n\tNFT_RULE_COMPAT_F_INV             = 0x2\n\tNFT_RULE_COMPAT_F_MASK            = 0x2\n\tNFTA_RULE_COMPAT_UNSPEC           = 0x0\n\tNFTA_RULE_COMPAT_PROTO            = 0x1\n\tNFTA_RULE_COMPAT_FLAGS            = 0x2\n\tNFT_SET_ANONYMOUS                 = 0x1\n\tNFT_SET_CONSTANT                  = 0x2\n\tNFT_SET_INTERVAL                  = 0x4\n\tNFT_SET_MAP                       = 0x8\n\tNFT_SET_TIMEOUT                   = 0x10\n\tNFT_SET_EVAL                      = 0x20\n\tNFT_SET_OBJECT                    = 0x40\n\tNFT_SET_POL_PERFORMANCE           = 0x0\n\tNFT_SET_POL_MEMORY                = 0x1\n\tNFTA_SET_DESC_UNSPEC              = 0x0\n\tNFTA_SET_DESC_SIZE                = 0x1\n\tNFTA_SET_UNSPEC                   = 0x0\n\tNFTA_SET_TABLE                    = 0x1\n\tNFTA_SET_NAME                     = 0x2\n\tNFTA_SET_FLAGS                    = 0x3\n\tNFTA_SET_KEY_TYPE                 = 0x4\n\tNFTA_SET_KEY_LEN                  = 0x5\n\tNFTA_SET_DATA_TYPE                = 0x6\n\tNFTA_SET_DATA_LEN                 = 0x7\n\tNFTA_SET_POLICY                   = 0x8\n\tNFTA_SET_DESC                     = 0x9\n\tNFTA_SET_ID                       = 0xa\n\tNFTA_SET_TIMEOUT                  = 0xb\n\tNFTA_SET_GC_INTERVAL              = 0xc\n\tNFTA_SET_USERDATA                 = 0xd\n\tNFTA_SET_PAD                      = 0xe\n\tNFTA_SET_OBJ_TYPE                 = 0xf\n\tNFT_SET_ELEM_INTERVAL_END         = 0x1\n\tNFTA_SET_ELEM_UNSPEC              = 0x0\n\tNFTA_SET_ELEM_KEY                 = 0x1\n\tNFTA_SET_ELEM_DATA                = 0x2\n\tNFTA_SET_ELEM_FLAGS               = 0x3\n\tNFTA_SET_ELEM_TIMEOUT             = 0x4\n\tNFTA_SET_ELEM_EXPIRATION          = 0x5\n\tNFTA_SET_ELEM_USERDATA            = 0x6\n\tNFTA_SET_ELEM_EXPR                = 0x7\n\tNFTA_SET_ELEM_PAD                 = 0x8\n\tNFTA_SET_ELEM_OBJREF              = 0x9\n\tNFTA_SET_ELEM_LIST_UNSPEC         = 0x0\n\tNFTA_SET_ELEM_LIST_TABLE          = 0x1\n\tNFTA_SET_ELEM_LIST_SET            = 0x2\n\tNFTA_SET_ELEM_LIST_ELEMENTS       = 0x3\n\tNFTA_SET_ELEM_LIST_SET_ID         = 0x4\n\tNFT_DATA_VALUE                    = 0x0\n\tNFT_DATA_VERDICT                  = 0xffffff00\n\tNFTA_DATA_UNSPEC                  = 0x0\n\tNFTA_DATA_VALUE                   = 0x1\n\tNFTA_DATA_VERDICT                 = 0x2\n\tNFTA_VERDICT_UNSPEC               = 0x0\n\tNFTA_VERDICT_CODE                 = 0x1\n\tNFTA_VERDICT_CHAIN                = 0x2\n\tNFTA_EXPR_UNSPEC                  = 0x0\n\tNFTA_EXPR_NAME                    = 0x1\n\tNFTA_EXPR_DATA                    = 0x2\n\tNFTA_IMMEDIATE_UNSPEC             = 0x0\n\tNFTA_IMMEDIATE_DREG               = 0x1\n\tNFTA_IMMEDIATE_DATA               = 0x2\n\tNFTA_BITWISE_UNSPEC               = 0x0\n\tNFTA_BITWISE_SREG                 = 0x1\n\tNFTA_BITWISE_DREG                 = 0x2\n\tNFTA_BITWISE_LEN                  = 0x3\n\tNFTA_BITWISE_MASK                 = 0x4\n\tNFTA_BITWISE_XOR                  = 0x5\n\tNFT_BYTEORDER_NTOH                = 0x0\n\tNFT_BYTEORDER_HTON                = 0x1\n\tNFTA_BYTEORDER_UNSPEC             = 0x0\n\tNFTA_BYTEORDER_SREG               = 0x1\n\tNFTA_BYTEORDER_DREG               = 0x2\n\tNFTA_BYTEORDER_OP                 = 0x3\n\tNFTA_BYTEORDER_LEN                = 0x4\n\tNFTA_BYTEORDER_SIZE               = 0x5\n\tNFT_CMP_EQ                        = 0x0\n\tNFT_CMP_NEQ                       = 0x1\n\tNFT_CMP_LT                        = 0x2\n\tNFT_CMP_LTE                       = 0x3\n\tNFT_CMP_GT                        = 0x4\n\tNFT_CMP_GTE                       = 0x5\n\tNFTA_CMP_UNSPEC                   = 0x0\n\tNFTA_CMP_SREG                     = 0x1\n\tNFTA_CMP_OP                       = 0x2\n\tNFTA_CMP_DATA                     = 0x3\n\tNFT_RANGE_EQ                      = 0x0\n\tNFT_RANGE_NEQ                     = 0x1\n\tNFTA_RANGE_UNSPEC                 = 0x0\n\tNFTA_RANGE_SREG                   = 0x1\n\tNFTA_RANGE_OP                     = 0x2\n\tNFTA_RANGE_FROM_DATA              = 0x3\n\tNFTA_RANGE_TO_DATA                = 0x4\n\tNFT_LOOKUP_F_INV                  = 0x1\n\tNFTA_LOOKUP_UNSPEC                = 0x0\n\tNFTA_LOOKUP_SET                   = 0x1\n\tNFTA_LOOKUP_SREG                  = 0x2\n\tNFTA_LOOKUP_DREG                  = 0x3\n\tNFTA_LOOKUP_SET_ID                = 0x4\n\tNFTA_LOOKUP_FLAGS                 = 0x5\n\tNFT_DYNSET_OP_ADD                 = 0x0\n\tNFT_DYNSET_OP_UPDATE              = 0x1\n\tNFT_DYNSET_F_INV                  = 0x1\n\tNFTA_DYNSET_UNSPEC                = 0x0\n\tNFTA_DYNSET_SET_NAME              = 0x1\n\tNFTA_DYNSET_SET_ID                = 0x2\n\tNFTA_DYNSET_OP                    = 0x3\n\tNFTA_DYNSET_SREG_KEY              = 0x4\n\tNFTA_DYNSET_SREG_DATA             = 0x5\n\tNFTA_DYNSET_TIMEOUT               = 0x6\n\tNFTA_DYNSET_EXPR                  = 0x7\n\tNFTA_DYNSET_PAD                   = 0x8\n\tNFTA_DYNSET_FLAGS                 = 0x9\n\tNFT_PAYLOAD_LL_HEADER             = 0x0\n\tNFT_PAYLOAD_NETWORK_HEADER        = 0x1\n\tNFT_PAYLOAD_TRANSPORT_HEADER      = 0x2\n\tNFT_PAYLOAD_CSUM_NONE             = 0x0\n\tNFT_PAYLOAD_CSUM_INET             = 0x1\n\tNFT_PAYLOAD_L4CSUM_PSEUDOHDR      = 0x1\n\tNFTA_PAYLOAD_UNSPEC               = 0x0\n\tNFTA_PAYLOAD_DREG                 = 0x1\n\tNFTA_PAYLOAD_BASE                 = 0x2\n\tNFTA_PAYLOAD_OFFSET               = 0x3\n\tNFTA_PAYLOAD_LEN                  = 0x4\n\tNFTA_PAYLOAD_SREG                 = 0x5\n\tNFTA_PAYLOAD_CSUM_TYPE            = 0x6\n\tNFTA_PAYLOAD_CSUM_OFFSET          = 0x7\n\tNFTA_PAYLOAD_CSUM_FLAGS           = 0x8\n\tNFT_EXTHDR_F_PRESENT              = 0x1\n\tNFT_EXTHDR_OP_IPV6                = 0x0\n\tNFT_EXTHDR_OP_TCPOPT              = 0x1\n\tNFTA_EXTHDR_UNSPEC                = 0x0\n\tNFTA_EXTHDR_DREG                  = 0x1\n\tNFTA_EXTHDR_TYPE                  = 0x2\n\tNFTA_EXTHDR_OFFSET                = 0x3\n\tNFTA_EXTHDR_LEN                   = 0x4\n\tNFTA_EXTHDR_FLAGS                 = 0x5\n\tNFTA_EXTHDR_OP                    = 0x6\n\tNFTA_EXTHDR_SREG                  = 0x7\n\tNFT_META_LEN                      = 0x0\n\tNFT_META_PROTOCOL                 = 0x1\n\tNFT_META_PRIORITY                 = 0x2\n\tNFT_META_MARK                     = 0x3\n\tNFT_META_IIF                      = 0x4\n\tNFT_META_OIF                      = 0x5\n\tNFT_META_IIFNAME                  = 0x6\n\tNFT_META_OIFNAME                  = 0x7\n\tNFT_META_IIFTYPE                  = 0x8\n\tNFT_META_OIFTYPE                  = 0x9\n\tNFT_META_SKUID                    = 0xa\n\tNFT_META_SKGID                    = 0xb\n\tNFT_META_NFTRACE                  = 0xc\n\tNFT_META_RTCLASSID                = 0xd\n\tNFT_META_SECMARK                  = 0xe\n\tNFT_META_NFPROTO                  = 0xf\n\tNFT_META_L4PROTO                  = 0x10\n\tNFT_META_BRI_IIFNAME              = 0x11\n\tNFT_META_BRI_OIFNAME              = 0x12\n\tNFT_META_PKTTYPE                  = 0x13\n\tNFT_META_CPU                      = 0x14\n\tNFT_META_IIFGROUP                 = 0x15\n\tNFT_META_OIFGROUP                 = 0x16\n\tNFT_META_CGROUP                   = 0x17\n\tNFT_META_PRANDOM                  = 0x18\n\tNFT_RT_CLASSID                    = 0x0\n\tNFT_RT_NEXTHOP4                   = 0x1\n\tNFT_RT_NEXTHOP6                   = 0x2\n\tNFT_RT_TCPMSS                     = 0x3\n\tNFT_HASH_JENKINS                  = 0x0\n\tNFT_HASH_SYM                      = 0x1\n\tNFTA_HASH_UNSPEC                  = 0x0\n\tNFTA_HASH_SREG                    = 0x1\n\tNFTA_HASH_DREG                    = 0x2\n\tNFTA_HASH_LEN                     = 0x3\n\tNFTA_HASH_MODULUS                 = 0x4\n\tNFTA_HASH_SEED                    = 0x5\n\tNFTA_HASH_OFFSET                  = 0x6\n\tNFTA_HASH_TYPE                    = 0x7\n\tNFTA_META_UNSPEC                  = 0x0\n\tNFTA_META_DREG                    = 0x1\n\tNFTA_META_KEY                     = 0x2\n\tNFTA_META_SREG                    = 0x3\n\tNFTA_RT_UNSPEC                    = 0x0\n\tNFTA_RT_DREG                      = 0x1\n\tNFTA_RT_KEY                       = 0x2\n\tNFT_CT_STATE                      = 0x0\n\tNFT_CT_DIRECTION                  = 0x1\n\tNFT_CT_STATUS                     = 0x2\n\tNFT_CT_MARK                       = 0x3\n\tNFT_CT_SECMARK                    = 0x4\n\tNFT_CT_EXPIRATION                 = 0x5\n\tNFT_CT_HELPER                     = 0x6\n\tNFT_CT_L3PROTOCOL                 = 0x7\n\tNFT_CT_SRC                        = 0x8\n\tNFT_CT_DST                        = 0x9\n\tNFT_CT_PROTOCOL                   = 0xa\n\tNFT_CT_PROTO_SRC                  = 0xb\n\tNFT_CT_PROTO_DST                  = 0xc\n\tNFT_CT_LABELS                     = 0xd\n\tNFT_CT_PKTS                       = 0xe\n\tNFT_CT_BYTES                      = 0xf\n\tNFT_CT_AVGPKT                     = 0x10\n\tNFT_CT_ZONE                       = 0x11\n\tNFT_CT_EVENTMASK                  = 0x12\n\tNFTA_CT_UNSPEC                    = 0x0\n\tNFTA_CT_DREG                      = 0x1\n\tNFTA_CT_KEY                       = 0x2\n\tNFTA_CT_DIRECTION                 = 0x3\n\tNFTA_CT_SREG                      = 0x4\n\tNFT_LIMIT_PKTS                    = 0x0\n\tNFT_LIMIT_PKT_BYTES               = 0x1\n\tNFT_LIMIT_F_INV                   = 0x1\n\tNFTA_LIMIT_UNSPEC                 = 0x0\n\tNFTA_LIMIT_RATE                   = 0x1\n\tNFTA_LIMIT_UNIT                   = 0x2\n\tNFTA_LIMIT_BURST                  = 0x3\n\tNFTA_LIMIT_TYPE                   = 0x4\n\tNFTA_LIMIT_FLAGS                  = 0x5\n\tNFTA_LIMIT_PAD                    = 0x6\n\tNFTA_COUNTER_UNSPEC               = 0x0\n\tNFTA_COUNTER_BYTES                = 0x1\n\tNFTA_COUNTER_PACKETS              = 0x2\n\tNFTA_COUNTER_PAD                  = 0x3\n\tNFTA_LOG_UNSPEC                   = 0x0\n\tNFTA_LOG_GROUP                    = 0x1\n\tNFTA_LOG_PREFIX                   = 0x2\n\tNFTA_LOG_SNAPLEN                  = 0x3\n\tNFTA_LOG_QTHRESHOLD               = 0x4\n\tNFTA_LOG_LEVEL                    = 0x5\n\tNFTA_LOG_FLAGS                    = 0x6\n\tNFTA_QUEUE_UNSPEC                 = 0x0\n\tNFTA_QUEUE_NUM                    = 0x1\n\tNFTA_QUEUE_TOTAL                  = 0x2\n\tNFTA_QUEUE_FLAGS                  = 0x3\n\tNFTA_QUEUE_SREG_QNUM              = 0x4\n\tNFT_QUOTA_F_INV                   = 0x1\n\tNFT_QUOTA_F_DEPLETED              = 0x2\n\tNFTA_QUOTA_UNSPEC                 = 0x0\n\tNFTA_QUOTA_BYTES                  = 0x1\n\tNFTA_QUOTA_FLAGS                  = 0x2\n\tNFTA_QUOTA_PAD                    = 0x3\n\tNFTA_QUOTA_CONSUMED               = 0x4\n\tNFT_REJECT_ICMP_UNREACH           = 0x0\n\tNFT_REJECT_TCP_RST                = 0x1\n\tNFT_REJECT_ICMPX_UNREACH          = 0x2\n\tNFT_REJECT_ICMPX_NO_ROUTE         = 0x0\n\tNFT_REJECT_ICMPX_PORT_UNREACH     = 0x1\n\tNFT_REJECT_ICMPX_HOST_UNREACH     = 0x2\n\tNFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3\n\tNFTA_REJECT_UNSPEC                = 0x0\n\tNFTA_REJECT_TYPE                  = 0x1\n\tNFTA_REJECT_ICMP_CODE             = 0x2\n\tNFT_NAT_SNAT                      = 0x0\n\tNFT_NAT_DNAT                      = 0x1\n\tNFTA_NAT_UNSPEC                   = 0x0\n\tNFTA_NAT_TYPE                     = 0x1\n\tNFTA_NAT_FAMILY                   = 0x2\n\tNFTA_NAT_REG_ADDR_MIN             = 0x3\n\tNFTA_NAT_REG_ADDR_MAX             = 0x4\n\tNFTA_NAT_REG_PROTO_MIN            = 0x5\n\tNFTA_NAT_REG_PROTO_MAX            = 0x6\n\tNFTA_NAT_FLAGS                    = 0x7\n\tNFTA_MASQ_UNSPEC                  = 0x0\n\tNFTA_MASQ_FLAGS                   = 0x1\n\tNFTA_MASQ_REG_PROTO_MIN           = 0x2\n\tNFTA_MASQ_REG_PROTO_MAX           = 0x3\n\tNFTA_REDIR_UNSPEC                 = 0x0\n\tNFTA_REDIR_REG_PROTO_MIN          = 0x1\n\tNFTA_REDIR_REG_PROTO_MAX          = 0x2\n\tNFTA_REDIR_FLAGS                  = 0x3\n\tNFTA_DUP_UNSPEC                   = 0x0\n\tNFTA_DUP_SREG_ADDR                = 0x1\n\tNFTA_DUP_SREG_DEV                 = 0x2\n\tNFTA_FWD_UNSPEC                   = 0x0\n\tNFTA_FWD_SREG_DEV                 = 0x1\n\tNFTA_OBJREF_UNSPEC                = 0x0\n\tNFTA_OBJREF_IMM_TYPE              = 0x1\n\tNFTA_OBJREF_IMM_NAME              = 0x2\n\tNFTA_OBJREF_SET_SREG              = 0x3\n\tNFTA_OBJREF_SET_NAME              = 0x4\n\tNFTA_OBJREF_SET_ID                = 0x5\n\tNFTA_GEN_UNSPEC                   = 0x0\n\tNFTA_GEN_ID                       = 0x1\n\tNFTA_GEN_PROC_PID                 = 0x2\n\tNFTA_GEN_PROC_NAME                = 0x3\n\tNFTA_FIB_UNSPEC                   = 0x0\n\tNFTA_FIB_DREG                     = 0x1\n\tNFTA_FIB_RESULT                   = 0x2\n\tNFTA_FIB_FLAGS                    = 0x3\n\tNFT_FIB_RESULT_UNSPEC             = 0x0\n\tNFT_FIB_RESULT_OIF                = 0x1\n\tNFT_FIB_RESULT_OIFNAME            = 0x2\n\tNFT_FIB_RESULT_ADDRTYPE           = 0x3\n\tNFTA_FIB_F_SADDR                  = 0x1\n\tNFTA_FIB_F_DADDR                  = 0x2\n\tNFTA_FIB_F_MARK                   = 0x4\n\tNFTA_FIB_F_IIF                    = 0x8\n\tNFTA_FIB_F_OIF                    = 0x10\n\tNFTA_FIB_F_PRESENT                = 0x20\n\tNFTA_CT_HELPER_UNSPEC             = 0x0\n\tNFTA_CT_HELPER_NAME               = 0x1\n\tNFTA_CT_HELPER_L3PROTO            = 0x2\n\tNFTA_CT_HELPER_L4PROTO            = 0x3\n\tNFTA_OBJ_UNSPEC                   = 0x0\n\tNFTA_OBJ_TABLE                    = 0x1\n\tNFTA_OBJ_NAME                     = 0x2\n\tNFTA_OBJ_TYPE                     = 0x3\n\tNFTA_OBJ_DATA                     = 0x4\n\tNFTA_OBJ_USE                      = 0x5\n\tNFTA_TRACE_UNSPEC                 = 0x0\n\tNFTA_TRACE_TABLE                  = 0x1\n\tNFTA_TRACE_CHAIN                  = 0x2\n\tNFTA_TRACE_RULE_HANDLE            = 0x3\n\tNFTA_TRACE_TYPE                   = 0x4\n\tNFTA_TRACE_VERDICT                = 0x5\n\tNFTA_TRACE_ID                     = 0x6\n\tNFTA_TRACE_LL_HEADER              = 0x7\n\tNFTA_TRACE_NETWORK_HEADER         = 0x8\n\tNFTA_TRACE_TRANSPORT_HEADER       = 0x9\n\tNFTA_TRACE_IIF                    = 0xa\n\tNFTA_TRACE_IIFTYPE                = 0xb\n\tNFTA_TRACE_OIF                    = 0xc\n\tNFTA_TRACE_OIFTYPE                = 0xd\n\tNFTA_TRACE_MARK                   = 0xe\n\tNFTA_TRACE_NFPROTO                = 0xf\n\tNFTA_TRACE_POLICY                 = 0x10\n\tNFTA_TRACE_PAD                    = 0x11\n\tNFT_TRACETYPE_UNSPEC              = 0x0\n\tNFT_TRACETYPE_POLICY              = 0x1\n\tNFT_TRACETYPE_RETURN              = 0x2\n\tNFT_TRACETYPE_RULE                = 0x3\n\tNFTA_NG_UNSPEC                    = 0x0\n\tNFTA_NG_DREG                      = 0x1\n\tNFTA_NG_MODULUS                   = 0x2\n\tNFTA_NG_TYPE                      = 0x3\n\tNFTA_NG_OFFSET                    = 0x4\n\tNFT_NG_INCREMENTAL                = 0x0\n\tNFT_NG_RANDOM                     = 0x1\n)\n\ntype RTCTime struct {\n\tSec   int32\n\tMin   int32\n\tHour  int32\n\tMday  int32\n\tMon   int32\n\tYear  int32\n\tWday  int32\n\tYday  int32\n\tIsdst int32\n}\n\ntype RTCWkAlrm struct {\n\tEnabled uint8\n\tPending uint8\n\t_       [2]byte\n\tTime    RTCTime\n}\n\ntype RTCPLLInfo struct {\n\tCtrl    int32\n\tValue   int32\n\tMax     int32\n\tMin     int32\n\tPosmult int32\n\tNegmult int32\n\tClock   int64\n}\n\ntype BlkpgIoctlArg struct {\n\tOp      int32\n\tFlags   int32\n\tDatalen int32\n\t_       [4]byte\n\tData    *byte\n}\n\ntype BlkpgPartition struct {\n\tStart   int64\n\tLength  int64\n\tPno     int32\n\tDevname [64]uint8\n\tVolname [64]uint8\n\t_       [4]byte\n}\n\nconst (\n\tBLKPG                  = 0x1269\n\tBLKPG_ADD_PARTITION    = 0x1\n\tBLKPG_DEL_PARTITION    = 0x2\n\tBLKPG_RESIZE_PARTITION = 0x3\n)\n\nconst (\n\tNETNSA_NONE = 0x0\n\tNETNSA_NSID = 0x1\n\tNETNSA_PID  = 0x2\n\tNETNSA_FD   = 0x3\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_linux_arm.go",
    "content": "// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build arm,linux\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x4\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x4\n\tsizeofLongLong = 0x8\n\tPathMax        = 0x1000\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int32\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int32\n\tNsec int32\n}\n\ntype Timeval struct {\n\tSec  int32\n\tUsec int32\n}\n\ntype Timex struct {\n\tModes     uint32\n\tOffset    int32\n\tFreq      int32\n\tMaxerror  int32\n\tEsterror  int32\n\tStatus    int32\n\tConstant  int32\n\tPrecision int32\n\tTolerance int32\n\tTime      Timeval\n\tTick      int32\n\tPpsfreq   int32\n\tJitter    int32\n\tShift     int32\n\tStabil    int32\n\tJitcnt    int32\n\tCalcnt    int32\n\tErrcnt    int32\n\tStbcnt    int32\n\tTai       int32\n\t_         [44]byte\n}\n\ntype Time_t int32\n\ntype Tms struct {\n\tUtime  int32\n\tStime  int32\n\tCutime int32\n\tCstime int32\n}\n\ntype Utimbuf struct {\n\tActime  int32\n\tModtime int32\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int32\n\tIxrss    int32\n\tIdrss    int32\n\tIsrss    int32\n\tMinflt   int32\n\tMajflt   int32\n\tNswap    int32\n\tInblock  int32\n\tOublock  int32\n\tMsgsnd   int32\n\tMsgrcv   int32\n\tNsignals int32\n\tNvcsw    int32\n\tNivcsw   int32\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev     uint64\n\t_       uint16\n\t_       [2]byte\n\t_       uint32\n\tMode    uint32\n\tNlink   uint32\n\tUid     uint32\n\tGid     uint32\n\tRdev    uint64\n\t_       uint16\n\t_       [6]byte\n\tSize    int64\n\tBlksize int32\n\t_       [4]byte\n\tBlocks  int64\n\tAtim    Timespec\n\tMtim    Timespec\n\tCtim    Timespec\n\tIno     uint64\n}\n\ntype StatxTimestamp struct {\n\tSec  int64\n\tNsec uint32\n\t_    int32\n}\n\ntype Statx_t struct {\n\tMask            uint32\n\tBlksize         uint32\n\tAttributes      uint64\n\tNlink           uint32\n\tUid             uint32\n\tGid             uint32\n\tMode            uint16\n\t_               [1]uint16\n\tIno             uint64\n\tSize            uint64\n\tBlocks          uint64\n\tAttributes_mask uint64\n\tAtime           StatxTimestamp\n\tBtime           StatxTimestamp\n\tCtime           StatxTimestamp\n\tMtime           StatxTimestamp\n\tRdev_major      uint32\n\tRdev_minor      uint32\n\tDev_major       uint32\n\tDev_minor       uint32\n\t_               [14]uint64\n}\n\ntype Dirent struct {\n\tIno    uint64\n\tOff    int64\n\tReclen uint16\n\tType   uint8\n\tName   [256]uint8\n\t_      [5]byte\n}\n\ntype Fsid struct {\n\tVal [2]int32\n}\n\ntype Flock_t struct {\n\tType   int16\n\tWhence int16\n\t_      [4]byte\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\t_      [4]byte\n}\n\ntype FscryptPolicy struct {\n\tVersion                   uint8\n\tContents_encryption_mode  uint8\n\tFilenames_encryption_mode uint8\n\tFlags                     uint8\n\tMaster_key_descriptor     [8]uint8\n}\n\ntype FscryptKey struct {\n\tMode uint32\n\tRaw  [64]uint8\n\tSize uint32\n}\n\ntype KeyctlDHParams struct {\n\tPrivate int32\n\tPrime   int32\n\tBase    int32\n}\n\nconst (\n\tFADV_NORMAL     = 0x0\n\tFADV_RANDOM     = 0x1\n\tFADV_SEQUENTIAL = 0x2\n\tFADV_WILLNEED   = 0x3\n\tFADV_DONTNEED   = 0x4\n\tFADV_NOREUSE    = 0x5\n)\n\ntype RawSockaddrInet4 struct {\n\tFamily uint16\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]uint8\n}\n\ntype RawSockaddrInet6 struct {\n\tFamily   uint16\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tFamily uint16\n\tPath   [108]int8\n}\n\ntype RawSockaddrLinklayer struct {\n\tFamily   uint16\n\tProtocol uint16\n\tIfindex  int32\n\tHatype   uint16\n\tPkttype  uint8\n\tHalen    uint8\n\tAddr     [8]uint8\n}\n\ntype RawSockaddrNetlink struct {\n\tFamily uint16\n\tPad    uint16\n\tPid    uint32\n\tGroups uint32\n}\n\ntype RawSockaddrHCI struct {\n\tFamily  uint16\n\tDev     uint16\n\tChannel uint16\n}\n\ntype RawSockaddrL2 struct {\n\tFamily      uint16\n\tPsm         uint16\n\tBdaddr      [6]uint8\n\tCid         uint16\n\tBdaddr_type uint8\n\t_           [1]byte\n}\n\ntype RawSockaddrRFCOMM struct {\n\tFamily  uint16\n\tBdaddr  [6]uint8\n\tChannel uint8\n\t_       [1]byte\n}\n\ntype RawSockaddrCAN struct {\n\tFamily  uint16\n\t_       [2]byte\n\tIfindex int32\n\tAddr    [8]byte\n}\n\ntype RawSockaddrALG struct {\n\tFamily uint16\n\tType   [14]uint8\n\tFeat   uint32\n\tMask   uint32\n\tName   [64]uint8\n}\n\ntype RawSockaddrVM struct {\n\tFamily    uint16\n\tReserved1 uint16\n\tPort      uint32\n\tCid       uint32\n\tZero      [4]uint8\n}\n\ntype RawSockaddr struct {\n\tFamily uint16\n\tData   [14]uint8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [96]uint8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint32\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPMreqn struct {\n\tMultiaddr [4]byte /* in_addr */\n\tAddress   [4]byte /* in_addr */\n\tIfindex   int32\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype PacketMreq struct {\n\tIfindex int32\n\tType    uint16\n\tAlen    uint16\n\tAddress [8]uint8\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tIov        *Iovec\n\tIovlen     uint32\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet4Pktinfo struct {\n\tIfindex  int32\n\tSpec_dst [4]byte /* in_addr */\n\tAddr     [4]byte /* in_addr */\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tData [8]uint32\n}\n\ntype Ucred struct {\n\tPid int32\n\tUid uint32\n\tGid uint32\n}\n\ntype TCPInfo struct {\n\tState          uint8\n\tCa_state       uint8\n\tRetransmits    uint8\n\tProbes         uint8\n\tBackoff        uint8\n\tOptions        uint8\n\t_              [2]byte\n\tRto            uint32\n\tAto            uint32\n\tSnd_mss        uint32\n\tRcv_mss        uint32\n\tUnacked        uint32\n\tSacked         uint32\n\tLost           uint32\n\tRetrans        uint32\n\tFackets        uint32\n\tLast_data_sent uint32\n\tLast_ack_sent  uint32\n\tLast_data_recv uint32\n\tLast_ack_recv  uint32\n\tPmtu           uint32\n\tRcv_ssthresh   uint32\n\tRtt            uint32\n\tRttvar         uint32\n\tSnd_ssthresh   uint32\n\tSnd_cwnd       uint32\n\tAdvmss         uint32\n\tReordering     uint32\n\tRcv_rtt        uint32\n\tRcv_space      uint32\n\tTotal_retrans  uint32\n}\n\nconst (\n\tSizeofSockaddrInet4     = 0x10\n\tSizeofSockaddrInet6     = 0x1c\n\tSizeofSockaddrAny       = 0x70\n\tSizeofSockaddrUnix      = 0x6e\n\tSizeofSockaddrLinklayer = 0x14\n\tSizeofSockaddrNetlink   = 0xc\n\tSizeofSockaddrHCI       = 0x6\n\tSizeofSockaddrL2        = 0xe\n\tSizeofSockaddrRFCOMM    = 0xa\n\tSizeofSockaddrCAN       = 0x10\n\tSizeofSockaddrALG       = 0x58\n\tSizeofSockaddrVM        = 0x10\n\tSizeofLinger            = 0x8\n\tSizeofIovec             = 0x8\n\tSizeofIPMreq            = 0x8\n\tSizeofIPMreqn           = 0xc\n\tSizeofIPv6Mreq          = 0x14\n\tSizeofPacketMreq        = 0x10\n\tSizeofMsghdr            = 0x1c\n\tSizeofCmsghdr           = 0xc\n\tSizeofInet4Pktinfo      = 0xc\n\tSizeofInet6Pktinfo      = 0x14\n\tSizeofIPv6MTUInfo       = 0x20\n\tSizeofICMPv6Filter      = 0x20\n\tSizeofUcred             = 0xc\n\tSizeofTCPInfo           = 0x68\n)\n\nconst (\n\tIFA_UNSPEC           = 0x0\n\tIFA_ADDRESS          = 0x1\n\tIFA_LOCAL            = 0x2\n\tIFA_LABEL            = 0x3\n\tIFA_BROADCAST        = 0x4\n\tIFA_ANYCAST          = 0x5\n\tIFA_CACHEINFO        = 0x6\n\tIFA_MULTICAST        = 0x7\n\tIFLA_UNSPEC          = 0x0\n\tIFLA_ADDRESS         = 0x1\n\tIFLA_BROADCAST       = 0x2\n\tIFLA_IFNAME          = 0x3\n\tIFLA_INFO_KIND       = 0x1\n\tIFLA_MTU             = 0x4\n\tIFLA_LINK            = 0x5\n\tIFLA_QDISC           = 0x6\n\tIFLA_STATS           = 0x7\n\tIFLA_COST            = 0x8\n\tIFLA_PRIORITY        = 0x9\n\tIFLA_MASTER          = 0xa\n\tIFLA_WIRELESS        = 0xb\n\tIFLA_PROTINFO        = 0xc\n\tIFLA_TXQLEN          = 0xd\n\tIFLA_MAP             = 0xe\n\tIFLA_WEIGHT          = 0xf\n\tIFLA_OPERSTATE       = 0x10\n\tIFLA_LINKMODE        = 0x11\n\tIFLA_LINKINFO        = 0x12\n\tIFLA_NET_NS_PID      = 0x13\n\tIFLA_IFALIAS         = 0x14\n\tIFLA_NUM_VF          = 0x15\n\tIFLA_VFINFO_LIST     = 0x16\n\tIFLA_STATS64         = 0x17\n\tIFLA_VF_PORTS        = 0x18\n\tIFLA_PORT_SELF       = 0x19\n\tIFLA_AF_SPEC         = 0x1a\n\tIFLA_GROUP           = 0x1b\n\tIFLA_NET_NS_FD       = 0x1c\n\tIFLA_EXT_MASK        = 0x1d\n\tIFLA_PROMISCUITY     = 0x1e\n\tIFLA_NUM_TX_QUEUES   = 0x1f\n\tIFLA_NUM_RX_QUEUES   = 0x20\n\tIFLA_CARRIER         = 0x21\n\tIFLA_PHYS_PORT_ID    = 0x22\n\tIFLA_CARRIER_CHANGES = 0x23\n\tIFLA_PHYS_SWITCH_ID  = 0x24\n\tIFLA_LINK_NETNSID    = 0x25\n\tIFLA_PHYS_PORT_NAME  = 0x26\n\tIFLA_PROTO_DOWN      = 0x27\n\tIFLA_GSO_MAX_SEGS    = 0x28\n\tIFLA_GSO_MAX_SIZE    = 0x29\n\tIFLA_PAD             = 0x2a\n\tIFLA_XDP             = 0x2b\n\tIFLA_EVENT           = 0x2c\n\tIFLA_NEW_NETNSID     = 0x2d\n\tIFLA_IF_NETNSID      = 0x2e\n\tIFLA_MAX             = 0x31\n\tRT_SCOPE_UNIVERSE    = 0x0\n\tRT_SCOPE_SITE        = 0xc8\n\tRT_SCOPE_LINK        = 0xfd\n\tRT_SCOPE_HOST        = 0xfe\n\tRT_SCOPE_NOWHERE     = 0xff\n\tRT_TABLE_UNSPEC      = 0x0\n\tRT_TABLE_COMPAT      = 0xfc\n\tRT_TABLE_DEFAULT     = 0xfd\n\tRT_TABLE_MAIN        = 0xfe\n\tRT_TABLE_LOCAL       = 0xff\n\tRT_TABLE_MAX         = 0xffffffff\n\tRTA_UNSPEC           = 0x0\n\tRTA_DST              = 0x1\n\tRTA_SRC              = 0x2\n\tRTA_IIF              = 0x3\n\tRTA_OIF              = 0x4\n\tRTA_GATEWAY          = 0x5\n\tRTA_PRIORITY         = 0x6\n\tRTA_PREFSRC          = 0x7\n\tRTA_METRICS          = 0x8\n\tRTA_MULTIPATH        = 0x9\n\tRTA_FLOW             = 0xb\n\tRTA_CACHEINFO        = 0xc\n\tRTA_TABLE            = 0xf\n\tRTN_UNSPEC           = 0x0\n\tRTN_UNICAST          = 0x1\n\tRTN_LOCAL            = 0x2\n\tRTN_BROADCAST        = 0x3\n\tRTN_ANYCAST          = 0x4\n\tRTN_MULTICAST        = 0x5\n\tRTN_BLACKHOLE        = 0x6\n\tRTN_UNREACHABLE      = 0x7\n\tRTN_PROHIBIT         = 0x8\n\tRTN_THROW            = 0x9\n\tRTN_NAT              = 0xa\n\tRTN_XRESOLVE         = 0xb\n\tRTNLGRP_NONE         = 0x0\n\tRTNLGRP_LINK         = 0x1\n\tRTNLGRP_NOTIFY       = 0x2\n\tRTNLGRP_NEIGH        = 0x3\n\tRTNLGRP_TC           = 0x4\n\tRTNLGRP_IPV4_IFADDR  = 0x5\n\tRTNLGRP_IPV4_MROUTE  = 0x6\n\tRTNLGRP_IPV4_ROUTE   = 0x7\n\tRTNLGRP_IPV4_RULE    = 0x8\n\tRTNLGRP_IPV6_IFADDR  = 0x9\n\tRTNLGRP_IPV6_MROUTE  = 0xa\n\tRTNLGRP_IPV6_ROUTE   = 0xb\n\tRTNLGRP_IPV6_IFINFO  = 0xc\n\tRTNLGRP_IPV6_PREFIX  = 0x12\n\tRTNLGRP_IPV6_RULE    = 0x13\n\tRTNLGRP_ND_USEROPT   = 0x14\n\tSizeofNlMsghdr       = 0x10\n\tSizeofNlMsgerr       = 0x14\n\tSizeofRtGenmsg       = 0x1\n\tSizeofNlAttr         = 0x4\n\tSizeofRtAttr         = 0x4\n\tSizeofIfInfomsg      = 0x10\n\tSizeofIfAddrmsg      = 0x8\n\tSizeofRtMsg          = 0xc\n\tSizeofRtNexthop      = 0x8\n)\n\ntype NlMsghdr struct {\n\tLen   uint32\n\tType  uint16\n\tFlags uint16\n\tSeq   uint32\n\tPid   uint32\n}\n\ntype NlMsgerr struct {\n\tError int32\n\tMsg   NlMsghdr\n}\n\ntype RtGenmsg struct {\n\tFamily uint8\n}\n\ntype NlAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype RtAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype IfInfomsg struct {\n\tFamily uint8\n\t_      uint8\n\tType   uint16\n\tIndex  int32\n\tFlags  uint32\n\tChange uint32\n}\n\ntype IfAddrmsg struct {\n\tFamily    uint8\n\tPrefixlen uint8\n\tFlags     uint8\n\tScope     uint8\n\tIndex     uint32\n}\n\ntype RtMsg struct {\n\tFamily   uint8\n\tDst_len  uint8\n\tSrc_len  uint8\n\tTos      uint8\n\tTable    uint8\n\tProtocol uint8\n\tScope    uint8\n\tType     uint8\n\tFlags    uint32\n}\n\ntype RtNexthop struct {\n\tLen     uint16\n\tFlags   uint8\n\tHops    uint8\n\tIfindex int32\n}\n\nconst (\n\tSizeofSockFilter = 0x8\n\tSizeofSockFprog  = 0x8\n)\n\ntype SockFilter struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype SockFprog struct {\n\tLen    uint16\n\t_      [2]byte\n\tFilter *SockFilter\n}\n\ntype InotifyEvent struct {\n\tWd     int32\n\tMask   uint32\n\tCookie uint32\n\tLen    uint32\n}\n\nconst SizeofInotifyEvent = 0x10\n\ntype PtraceRegs struct {\n\tUregs [18]uint32\n}\n\ntype FdSet struct {\n\tBits [32]int32\n}\n\ntype Sysinfo_t struct {\n\tUptime    int32\n\tLoads     [3]uint32\n\tTotalram  uint32\n\tFreeram   uint32\n\tSharedram uint32\n\tBufferram uint32\n\tTotalswap uint32\n\tFreeswap  uint32\n\tProcs     uint16\n\tPad       uint16\n\tTotalhigh uint32\n\tFreehigh  uint32\n\tUnit      uint32\n\t_         [8]uint8\n}\n\ntype Utsname struct {\n\tSysname    [65]byte\n\tNodename   [65]byte\n\tRelease    [65]byte\n\tVersion    [65]byte\n\tMachine    [65]byte\n\tDomainname [65]byte\n}\n\ntype Ustat_t struct {\n\tTfree  int32\n\tTinode uint32\n\tFname  [6]uint8\n\tFpack  [6]uint8\n}\n\ntype EpollEvent struct {\n\tEvents uint32\n\tPadFd  int32\n\tFd     int32\n\tPad    int32\n}\n\nconst (\n\tAT_EMPTY_PATH   = 0x1000\n\tAT_FDCWD        = -0x64\n\tAT_NO_AUTOMOUNT = 0x800\n\tAT_REMOVEDIR    = 0x200\n\n\tAT_STATX_SYNC_AS_STAT = 0x0\n\tAT_STATX_FORCE_SYNC   = 0x2000\n\tAT_STATX_DONT_SYNC    = 0x4000\n\n\tAT_SYMLINK_FOLLOW   = 0x400\n\tAT_SYMLINK_NOFOLLOW = 0x100\n\n\tAT_EACCESS = 0x200\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLIN    = 0x1\n\tPOLLPRI   = 0x2\n\tPOLLOUT   = 0x4\n\tPOLLRDHUP = 0x2000\n\tPOLLERR   = 0x8\n\tPOLLHUP   = 0x10\n\tPOLLNVAL  = 0x20\n)\n\ntype Sigset_t struct {\n\tVal [32]uint32\n}\n\nconst RNDGETENTCNT = 0x80045200\n\nconst PERF_IOC_FLAG_GROUP = 0x1\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tLine   uint8\n\tCc     [19]uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\ntype Taskstats struct {\n\tVersion                   uint16\n\t_                         [2]byte\n\tAc_exitcode               uint32\n\tAc_flag                   uint8\n\tAc_nice                   uint8\n\t_                         [6]byte\n\tCpu_count                 uint64\n\tCpu_delay_total           uint64\n\tBlkio_count               uint64\n\tBlkio_delay_total         uint64\n\tSwapin_count              uint64\n\tSwapin_delay_total        uint64\n\tCpu_run_real_total        uint64\n\tCpu_run_virtual_total     uint64\n\tAc_comm                   [32]uint8\n\tAc_sched                  uint8\n\tAc_pad                    [3]uint8\n\t_                         [4]byte\n\tAc_uid                    uint32\n\tAc_gid                    uint32\n\tAc_pid                    uint32\n\tAc_ppid                   uint32\n\tAc_btime                  uint32\n\t_                         [4]byte\n\tAc_etime                  uint64\n\tAc_utime                  uint64\n\tAc_stime                  uint64\n\tAc_minflt                 uint64\n\tAc_majflt                 uint64\n\tCoremem                   uint64\n\tVirtmem                   uint64\n\tHiwater_rss               uint64\n\tHiwater_vm                uint64\n\tRead_char                 uint64\n\tWrite_char                uint64\n\tRead_syscalls             uint64\n\tWrite_syscalls            uint64\n\tRead_bytes                uint64\n\tWrite_bytes               uint64\n\tCancelled_write_bytes     uint64\n\tNvcsw                     uint64\n\tNivcsw                    uint64\n\tAc_utimescaled            uint64\n\tAc_stimescaled            uint64\n\tCpu_scaled_run_real_total uint64\n\tFreepages_count           uint64\n\tFreepages_delay_total     uint64\n}\n\nconst (\n\tTASKSTATS_CMD_UNSPEC                  = 0x0\n\tTASKSTATS_CMD_GET                     = 0x1\n\tTASKSTATS_CMD_NEW                     = 0x2\n\tTASKSTATS_TYPE_UNSPEC                 = 0x0\n\tTASKSTATS_TYPE_PID                    = 0x1\n\tTASKSTATS_TYPE_TGID                   = 0x2\n\tTASKSTATS_TYPE_STATS                  = 0x3\n\tTASKSTATS_TYPE_AGGR_PID               = 0x4\n\tTASKSTATS_TYPE_AGGR_TGID              = 0x5\n\tTASKSTATS_TYPE_NULL                   = 0x6\n\tTASKSTATS_CMD_ATTR_UNSPEC             = 0x0\n\tTASKSTATS_CMD_ATTR_PID                = 0x1\n\tTASKSTATS_CMD_ATTR_TGID               = 0x2\n\tTASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3\n\tTASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4\n)\n\ntype CGroupStats struct {\n\tSleeping        uint64\n\tRunning         uint64\n\tStopped         uint64\n\tUninterruptible uint64\n\tIo_wait         uint64\n}\n\nconst (\n\tCGROUPSTATS_CMD_UNSPEC        = 0x3\n\tCGROUPSTATS_CMD_GET           = 0x4\n\tCGROUPSTATS_CMD_NEW           = 0x5\n\tCGROUPSTATS_TYPE_UNSPEC       = 0x0\n\tCGROUPSTATS_TYPE_CGROUP_STATS = 0x1\n\tCGROUPSTATS_CMD_ATTR_UNSPEC   = 0x0\n\tCGROUPSTATS_CMD_ATTR_FD       = 0x1\n)\n\ntype Genlmsghdr struct {\n\tCmd      uint8\n\tVersion  uint8\n\tReserved uint16\n}\n\nconst (\n\tCTRL_CMD_UNSPEC            = 0x0\n\tCTRL_CMD_NEWFAMILY         = 0x1\n\tCTRL_CMD_DELFAMILY         = 0x2\n\tCTRL_CMD_GETFAMILY         = 0x3\n\tCTRL_CMD_NEWOPS            = 0x4\n\tCTRL_CMD_DELOPS            = 0x5\n\tCTRL_CMD_GETOPS            = 0x6\n\tCTRL_CMD_NEWMCAST_GRP      = 0x7\n\tCTRL_CMD_DELMCAST_GRP      = 0x8\n\tCTRL_CMD_GETMCAST_GRP      = 0x9\n\tCTRL_ATTR_UNSPEC           = 0x0\n\tCTRL_ATTR_FAMILY_ID        = 0x1\n\tCTRL_ATTR_FAMILY_NAME      = 0x2\n\tCTRL_ATTR_VERSION          = 0x3\n\tCTRL_ATTR_HDRSIZE          = 0x4\n\tCTRL_ATTR_MAXATTR          = 0x5\n\tCTRL_ATTR_OPS              = 0x6\n\tCTRL_ATTR_MCAST_GROUPS     = 0x7\n\tCTRL_ATTR_OP_UNSPEC        = 0x0\n\tCTRL_ATTR_OP_ID            = 0x1\n\tCTRL_ATTR_OP_FLAGS         = 0x2\n\tCTRL_ATTR_MCAST_GRP_UNSPEC = 0x0\n\tCTRL_ATTR_MCAST_GRP_NAME   = 0x1\n\tCTRL_ATTR_MCAST_GRP_ID     = 0x2\n)\n\ntype cpuMask uint32\n\nconst (\n\t_CPU_SETSIZE = 0x400\n\t_NCPUBITS    = 0x20\n)\n\nconst (\n\tBDADDR_BREDR     = 0x0\n\tBDADDR_LE_PUBLIC = 0x1\n\tBDADDR_LE_RANDOM = 0x2\n)\n\ntype PerfEventAttr struct {\n\tType               uint32\n\tSize               uint32\n\tConfig             uint64\n\tSample             uint64\n\tSample_type        uint64\n\tRead_format        uint64\n\tBits               uint64\n\tWakeup             uint32\n\tBp_type            uint32\n\tExt1               uint64\n\tExt2               uint64\n\tBranch_sample_type uint64\n\tSample_regs_user   uint64\n\tSample_stack_user  uint32\n\tClockid            int32\n\tSample_regs_intr   uint64\n\tAux_watermark      uint32\n\t_                  uint32\n}\n\ntype PerfEventMmapPage struct {\n\tVersion        uint32\n\tCompat_version uint32\n\tLock           uint32\n\tIndex          uint32\n\tOffset         int64\n\tTime_enabled   uint64\n\tTime_running   uint64\n\tCapabilities   uint64\n\tPmc_width      uint16\n\tTime_shift     uint16\n\tTime_mult      uint32\n\tTime_offset    uint64\n\tTime_zero      uint64\n\tSize           uint32\n\t_              [948]uint8\n\tData_head      uint64\n\tData_tail      uint64\n\tData_offset    uint64\n\tData_size      uint64\n\tAux_head       uint64\n\tAux_tail       uint64\n\tAux_offset     uint64\n\tAux_size       uint64\n}\n\nconst (\n\tPerfBitDisabled               uint64 = CBitFieldMaskBit0\n\tPerfBitInherit                       = CBitFieldMaskBit1\n\tPerfBitPinned                        = CBitFieldMaskBit2\n\tPerfBitExclusive                     = CBitFieldMaskBit3\n\tPerfBitExcludeUser                   = CBitFieldMaskBit4\n\tPerfBitExcludeKernel                 = CBitFieldMaskBit5\n\tPerfBitExcludeHv                     = CBitFieldMaskBit6\n\tPerfBitExcludeIdle                   = CBitFieldMaskBit7\n\tPerfBitMmap                          = CBitFieldMaskBit8\n\tPerfBitComm                          = CBitFieldMaskBit9\n\tPerfBitFreq                          = CBitFieldMaskBit10\n\tPerfBitInheritStat                   = CBitFieldMaskBit11\n\tPerfBitEnableOnExec                  = CBitFieldMaskBit12\n\tPerfBitTask                          = CBitFieldMaskBit13\n\tPerfBitWatermark                     = CBitFieldMaskBit14\n\tPerfBitPreciseIPBit1                 = CBitFieldMaskBit15\n\tPerfBitPreciseIPBit2                 = CBitFieldMaskBit16\n\tPerfBitMmapData                      = CBitFieldMaskBit17\n\tPerfBitSampleIDAll                   = CBitFieldMaskBit18\n\tPerfBitExcludeHost                   = CBitFieldMaskBit19\n\tPerfBitExcludeGuest                  = CBitFieldMaskBit20\n\tPerfBitExcludeCallchainKernel        = CBitFieldMaskBit21\n\tPerfBitExcludeCallchainUser          = CBitFieldMaskBit22\n\tPerfBitMmap2                         = CBitFieldMaskBit23\n\tPerfBitCommExec                      = CBitFieldMaskBit24\n\tPerfBitUseClockID                    = CBitFieldMaskBit25\n\tPerfBitContextSwitch                 = CBitFieldMaskBit26\n)\n\nconst (\n\tPERF_TYPE_HARDWARE   = 0x0\n\tPERF_TYPE_SOFTWARE   = 0x1\n\tPERF_TYPE_TRACEPOINT = 0x2\n\tPERF_TYPE_HW_CACHE   = 0x3\n\tPERF_TYPE_RAW        = 0x4\n\tPERF_TYPE_BREAKPOINT = 0x5\n\n\tPERF_COUNT_HW_CPU_CYCLES              = 0x0\n\tPERF_COUNT_HW_INSTRUCTIONS            = 0x1\n\tPERF_COUNT_HW_CACHE_REFERENCES        = 0x2\n\tPERF_COUNT_HW_CACHE_MISSES            = 0x3\n\tPERF_COUNT_HW_BRANCH_INSTRUCTIONS     = 0x4\n\tPERF_COUNT_HW_BRANCH_MISSES           = 0x5\n\tPERF_COUNT_HW_BUS_CYCLES              = 0x6\n\tPERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7\n\tPERF_COUNT_HW_STALLED_CYCLES_BACKEND  = 0x8\n\tPERF_COUNT_HW_REF_CPU_CYCLES          = 0x9\n\n\tPERF_COUNT_HW_CACHE_L1D  = 0x0\n\tPERF_COUNT_HW_CACHE_L1I  = 0x1\n\tPERF_COUNT_HW_CACHE_LL   = 0x2\n\tPERF_COUNT_HW_CACHE_DTLB = 0x3\n\tPERF_COUNT_HW_CACHE_ITLB = 0x4\n\tPERF_COUNT_HW_CACHE_BPU  = 0x5\n\tPERF_COUNT_HW_CACHE_NODE = 0x6\n\n\tPERF_COUNT_HW_CACHE_OP_READ     = 0x0\n\tPERF_COUNT_HW_CACHE_OP_WRITE    = 0x1\n\tPERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2\n\n\tPERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0\n\tPERF_COUNT_HW_CACHE_RESULT_MISS   = 0x1\n\n\tPERF_COUNT_SW_CPU_CLOCK        = 0x0\n\tPERF_COUNT_SW_TASK_CLOCK       = 0x1\n\tPERF_COUNT_SW_PAGE_FAULTS      = 0x2\n\tPERF_COUNT_SW_CONTEXT_SWITCHES = 0x3\n\tPERF_COUNT_SW_CPU_MIGRATIONS   = 0x4\n\tPERF_COUNT_SW_PAGE_FAULTS_MIN  = 0x5\n\tPERF_COUNT_SW_PAGE_FAULTS_MAJ  = 0x6\n\tPERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7\n\tPERF_COUNT_SW_EMULATION_FAULTS = 0x8\n\tPERF_COUNT_SW_DUMMY            = 0x9\n\n\tPERF_SAMPLE_IP           = 0x1\n\tPERF_SAMPLE_TID          = 0x2\n\tPERF_SAMPLE_TIME         = 0x4\n\tPERF_SAMPLE_ADDR         = 0x8\n\tPERF_SAMPLE_READ         = 0x10\n\tPERF_SAMPLE_CALLCHAIN    = 0x20\n\tPERF_SAMPLE_ID           = 0x40\n\tPERF_SAMPLE_CPU          = 0x80\n\tPERF_SAMPLE_PERIOD       = 0x100\n\tPERF_SAMPLE_STREAM_ID    = 0x200\n\tPERF_SAMPLE_RAW          = 0x400\n\tPERF_SAMPLE_BRANCH_STACK = 0x800\n\n\tPERF_SAMPLE_BRANCH_USER       = 0x1\n\tPERF_SAMPLE_BRANCH_KERNEL     = 0x2\n\tPERF_SAMPLE_BRANCH_HV         = 0x4\n\tPERF_SAMPLE_BRANCH_ANY        = 0x8\n\tPERF_SAMPLE_BRANCH_ANY_CALL   = 0x10\n\tPERF_SAMPLE_BRANCH_ANY_RETURN = 0x20\n\tPERF_SAMPLE_BRANCH_IND_CALL   = 0x40\n\n\tPERF_FORMAT_TOTAL_TIME_ENABLED = 0x1\n\tPERF_FORMAT_TOTAL_TIME_RUNNING = 0x2\n\tPERF_FORMAT_ID                 = 0x4\n\tPERF_FORMAT_GROUP              = 0x8\n\n\tPERF_RECORD_MMAP       = 0x1\n\tPERF_RECORD_LOST       = 0x2\n\tPERF_RECORD_COMM       = 0x3\n\tPERF_RECORD_EXIT       = 0x4\n\tPERF_RECORD_THROTTLE   = 0x5\n\tPERF_RECORD_UNTHROTTLE = 0x6\n\tPERF_RECORD_FORK       = 0x7\n\tPERF_RECORD_READ       = 0x8\n\tPERF_RECORD_SAMPLE     = 0x9\n\n\tPERF_CONTEXT_HV     = -0x20\n\tPERF_CONTEXT_KERNEL = -0x80\n\tPERF_CONTEXT_USER   = -0x200\n\n\tPERF_CONTEXT_GUEST        = -0x800\n\tPERF_CONTEXT_GUEST_KERNEL = -0x880\n\tPERF_CONTEXT_GUEST_USER   = -0xa00\n\n\tPERF_FLAG_FD_NO_GROUP = 0x1\n\tPERF_FLAG_FD_OUTPUT   = 0x2\n\tPERF_FLAG_PID_CGROUP  = 0x4\n)\n\nconst (\n\tCBitFieldMaskBit0  = 0x1\n\tCBitFieldMaskBit1  = 0x2\n\tCBitFieldMaskBit2  = 0x4\n\tCBitFieldMaskBit3  = 0x8\n\tCBitFieldMaskBit4  = 0x10\n\tCBitFieldMaskBit5  = 0x20\n\tCBitFieldMaskBit6  = 0x40\n\tCBitFieldMaskBit7  = 0x80\n\tCBitFieldMaskBit8  = 0x100\n\tCBitFieldMaskBit9  = 0x200\n\tCBitFieldMaskBit10 = 0x400\n\tCBitFieldMaskBit11 = 0x800\n\tCBitFieldMaskBit12 = 0x1000\n\tCBitFieldMaskBit13 = 0x2000\n\tCBitFieldMaskBit14 = 0x4000\n\tCBitFieldMaskBit15 = 0x8000\n\tCBitFieldMaskBit16 = 0x10000\n\tCBitFieldMaskBit17 = 0x20000\n\tCBitFieldMaskBit18 = 0x40000\n\tCBitFieldMaskBit19 = 0x80000\n\tCBitFieldMaskBit20 = 0x100000\n\tCBitFieldMaskBit21 = 0x200000\n\tCBitFieldMaskBit22 = 0x400000\n\tCBitFieldMaskBit23 = 0x800000\n\tCBitFieldMaskBit24 = 0x1000000\n\tCBitFieldMaskBit25 = 0x2000000\n\tCBitFieldMaskBit26 = 0x4000000\n\tCBitFieldMaskBit27 = 0x8000000\n\tCBitFieldMaskBit28 = 0x10000000\n\tCBitFieldMaskBit29 = 0x20000000\n\tCBitFieldMaskBit30 = 0x40000000\n\tCBitFieldMaskBit31 = 0x80000000\n\tCBitFieldMaskBit32 = 0x100000000\n\tCBitFieldMaskBit33 = 0x200000000\n\tCBitFieldMaskBit34 = 0x400000000\n\tCBitFieldMaskBit35 = 0x800000000\n\tCBitFieldMaskBit36 = 0x1000000000\n\tCBitFieldMaskBit37 = 0x2000000000\n\tCBitFieldMaskBit38 = 0x4000000000\n\tCBitFieldMaskBit39 = 0x8000000000\n\tCBitFieldMaskBit40 = 0x10000000000\n\tCBitFieldMaskBit41 = 0x20000000000\n\tCBitFieldMaskBit42 = 0x40000000000\n\tCBitFieldMaskBit43 = 0x80000000000\n\tCBitFieldMaskBit44 = 0x100000000000\n\tCBitFieldMaskBit45 = 0x200000000000\n\tCBitFieldMaskBit46 = 0x400000000000\n\tCBitFieldMaskBit47 = 0x800000000000\n\tCBitFieldMaskBit48 = 0x1000000000000\n\tCBitFieldMaskBit49 = 0x2000000000000\n\tCBitFieldMaskBit50 = 0x4000000000000\n\tCBitFieldMaskBit51 = 0x8000000000000\n\tCBitFieldMaskBit52 = 0x10000000000000\n\tCBitFieldMaskBit53 = 0x20000000000000\n\tCBitFieldMaskBit54 = 0x40000000000000\n\tCBitFieldMaskBit55 = 0x80000000000000\n\tCBitFieldMaskBit56 = 0x100000000000000\n\tCBitFieldMaskBit57 = 0x200000000000000\n\tCBitFieldMaskBit58 = 0x400000000000000\n\tCBitFieldMaskBit59 = 0x800000000000000\n\tCBitFieldMaskBit60 = 0x1000000000000000\n\tCBitFieldMaskBit61 = 0x2000000000000000\n\tCBitFieldMaskBit62 = 0x4000000000000000\n\tCBitFieldMaskBit63 = 0x8000000000000000\n)\n\ntype SockaddrStorage struct {\n\tFamily uint16\n\t_      [122]uint8\n\t_      uint32\n}\n\ntype TCPMD5Sig struct {\n\tAddr      SockaddrStorage\n\tFlags     uint8\n\tPrefixlen uint8\n\tKeylen    uint16\n\t_         uint32\n\tKey       [80]uint8\n}\n\ntype HDDriveCmdHdr struct {\n\tCommand uint8\n\tNumber  uint8\n\tFeature uint8\n\tCount   uint8\n}\n\ntype HDGeometry struct {\n\tHeads     uint8\n\tSectors   uint8\n\tCylinders uint16\n\tStart     uint32\n}\n\ntype HDDriveID struct {\n\tConfig         uint16\n\tCyls           uint16\n\tReserved2      uint16\n\tHeads          uint16\n\tTrack_bytes    uint16\n\tSector_bytes   uint16\n\tSectors        uint16\n\tVendor0        uint16\n\tVendor1        uint16\n\tVendor2        uint16\n\tSerial_no      [20]uint8\n\tBuf_type       uint16\n\tBuf_size       uint16\n\tEcc_bytes      uint16\n\tFw_rev         [8]uint8\n\tModel          [40]uint8\n\tMax_multsect   uint8\n\tVendor3        uint8\n\tDword_io       uint16\n\tVendor4        uint8\n\tCapability     uint8\n\tReserved50     uint16\n\tVendor5        uint8\n\tTPIO           uint8\n\tVendor6        uint8\n\tTDMA           uint8\n\tField_valid    uint16\n\tCur_cyls       uint16\n\tCur_heads      uint16\n\tCur_sectors    uint16\n\tCur_capacity0  uint16\n\tCur_capacity1  uint16\n\tMultsect       uint8\n\tMultsect_valid uint8\n\tLba_capacity   uint32\n\tDma_1word      uint16\n\tDma_mword      uint16\n\tEide_pio_modes uint16\n\tEide_dma_min   uint16\n\tEide_dma_time  uint16\n\tEide_pio       uint16\n\tEide_pio_iordy uint16\n\tWords69_70     [2]uint16\n\tWords71_74     [4]uint16\n\tQueue_depth    uint16\n\tWords76_79     [4]uint16\n\tMajor_rev_num  uint16\n\tMinor_rev_num  uint16\n\tCommand_set_1  uint16\n\tCommand_set_2  uint16\n\tCfsse          uint16\n\tCfs_enable_1   uint16\n\tCfs_enable_2   uint16\n\tCsf_default    uint16\n\tDma_ultra      uint16\n\tTrseuc         uint16\n\tTrsEuc         uint16\n\tCurAPMvalues   uint16\n\tMprc           uint16\n\tHw_config      uint16\n\tAcoustic       uint16\n\tMsrqs          uint16\n\tSxfert         uint16\n\tSal            uint16\n\tSpg            uint32\n\tLba_capacity_2 uint64\n\tWords104_125   [22]uint16\n\tLast_lun       uint16\n\tWord127        uint16\n\tDlf            uint16\n\tCsfo           uint16\n\tWords130_155   [26]uint16\n\tWord156        uint16\n\tWords157_159   [3]uint16\n\tCfa_power      uint16\n\tWords161_175   [15]uint16\n\tWords176_205   [30]uint16\n\tWords206_254   [49]uint16\n\tIntegrity_word uint16\n}\n\ntype Statfs_t struct {\n\tType    int32\n\tBsize   int32\n\tBlocks  uint64\n\tBfree   uint64\n\tBavail  uint64\n\tFiles   uint64\n\tFfree   uint64\n\tFsid    Fsid\n\tNamelen int32\n\tFrsize  int32\n\tFlags   int32\n\tSpare   [4]int32\n\t_       [4]byte\n}\n\nconst (\n\tST_MANDLOCK    = 0x40\n\tST_NOATIME     = 0x400\n\tST_NODEV       = 0x4\n\tST_NODIRATIME  = 0x800\n\tST_NOEXEC      = 0x8\n\tST_NOSUID      = 0x2\n\tST_RDONLY      = 0x1\n\tST_RELATIME    = 0x1000\n\tST_SYNCHRONOUS = 0x10\n)\n\ntype TpacketHdr struct {\n\tStatus  uint32\n\tLen     uint32\n\tSnaplen uint32\n\tMac     uint16\n\tNet     uint16\n\tSec     uint32\n\tUsec    uint32\n}\n\ntype Tpacket2Hdr struct {\n\tStatus    uint32\n\tLen       uint32\n\tSnaplen   uint32\n\tMac       uint16\n\tNet       uint16\n\tSec       uint32\n\tNsec      uint32\n\tVlan_tci  uint16\n\tVlan_tpid uint16\n\t_         [4]uint8\n}\n\ntype Tpacket3Hdr struct {\n\tNext_offset uint32\n\tSec         uint32\n\tNsec        uint32\n\tSnaplen     uint32\n\tLen         uint32\n\tStatus      uint32\n\tMac         uint16\n\tNet         uint16\n\tHv1         TpacketHdrVariant1\n\t_           [8]uint8\n}\n\ntype TpacketHdrVariant1 struct {\n\tRxhash    uint32\n\tVlan_tci  uint32\n\tVlan_tpid uint16\n\t_         uint16\n}\n\ntype TpacketBlockDesc struct {\n\tVersion uint32\n\tTo_priv uint32\n\tHdr     [40]byte\n}\n\ntype TpacketReq struct {\n\tBlock_size uint32\n\tBlock_nr   uint32\n\tFrame_size uint32\n\tFrame_nr   uint32\n}\n\ntype TpacketReq3 struct {\n\tBlock_size       uint32\n\tBlock_nr         uint32\n\tFrame_size       uint32\n\tFrame_nr         uint32\n\tRetire_blk_tov   uint32\n\tSizeof_priv      uint32\n\tFeature_req_word uint32\n}\n\ntype TpacketStats struct {\n\tPackets uint32\n\tDrops   uint32\n}\n\ntype TpacketStatsV3 struct {\n\tPackets      uint32\n\tDrops        uint32\n\tFreeze_q_cnt uint32\n}\n\ntype TpacketAuxdata struct {\n\tStatus    uint32\n\tLen       uint32\n\tSnaplen   uint32\n\tMac       uint16\n\tNet       uint16\n\tVlan_tci  uint16\n\tVlan_tpid uint16\n}\n\nconst (\n\tTPACKET_V1 = 0x0\n\tTPACKET_V2 = 0x1\n\tTPACKET_V3 = 0x2\n)\n\nconst (\n\tSizeofTpacketHdr  = 0x18\n\tSizeofTpacket2Hdr = 0x20\n\tSizeofTpacket3Hdr = 0x30\n)\n\nconst (\n\tNF_INET_PRE_ROUTING  = 0x0\n\tNF_INET_LOCAL_IN     = 0x1\n\tNF_INET_FORWARD      = 0x2\n\tNF_INET_LOCAL_OUT    = 0x3\n\tNF_INET_POST_ROUTING = 0x4\n\tNF_INET_NUMHOOKS     = 0x5\n)\n\nconst (\n\tNF_NETDEV_INGRESS  = 0x0\n\tNF_NETDEV_NUMHOOKS = 0x1\n)\n\nconst (\n\tNFPROTO_UNSPEC   = 0x0\n\tNFPROTO_INET     = 0x1\n\tNFPROTO_IPV4     = 0x2\n\tNFPROTO_ARP      = 0x3\n\tNFPROTO_NETDEV   = 0x5\n\tNFPROTO_BRIDGE   = 0x7\n\tNFPROTO_IPV6     = 0xa\n\tNFPROTO_DECNET   = 0xc\n\tNFPROTO_NUMPROTO = 0xd\n)\n\ntype Nfgenmsg struct {\n\tNfgen_family uint8\n\tVersion      uint8\n\tRes_id       uint16\n}\n\nconst (\n\tNFNL_BATCH_UNSPEC = 0x0\n\tNFNL_BATCH_GENID  = 0x1\n)\n\nconst (\n\tNFT_REG_VERDICT                   = 0x0\n\tNFT_REG_1                         = 0x1\n\tNFT_REG_2                         = 0x2\n\tNFT_REG_3                         = 0x3\n\tNFT_REG_4                         = 0x4\n\tNFT_REG32_00                      = 0x8\n\tNFT_REG32_01                      = 0x9\n\tNFT_REG32_02                      = 0xa\n\tNFT_REG32_03                      = 0xb\n\tNFT_REG32_04                      = 0xc\n\tNFT_REG32_05                      = 0xd\n\tNFT_REG32_06                      = 0xe\n\tNFT_REG32_07                      = 0xf\n\tNFT_REG32_08                      = 0x10\n\tNFT_REG32_09                      = 0x11\n\tNFT_REG32_10                      = 0x12\n\tNFT_REG32_11                      = 0x13\n\tNFT_REG32_12                      = 0x14\n\tNFT_REG32_13                      = 0x15\n\tNFT_REG32_14                      = 0x16\n\tNFT_REG32_15                      = 0x17\n\tNFT_CONTINUE                      = -0x1\n\tNFT_BREAK                         = -0x2\n\tNFT_JUMP                          = -0x3\n\tNFT_GOTO                          = -0x4\n\tNFT_RETURN                        = -0x5\n\tNFT_MSG_NEWTABLE                  = 0x0\n\tNFT_MSG_GETTABLE                  = 0x1\n\tNFT_MSG_DELTABLE                  = 0x2\n\tNFT_MSG_NEWCHAIN                  = 0x3\n\tNFT_MSG_GETCHAIN                  = 0x4\n\tNFT_MSG_DELCHAIN                  = 0x5\n\tNFT_MSG_NEWRULE                   = 0x6\n\tNFT_MSG_GETRULE                   = 0x7\n\tNFT_MSG_DELRULE                   = 0x8\n\tNFT_MSG_NEWSET                    = 0x9\n\tNFT_MSG_GETSET                    = 0xa\n\tNFT_MSG_DELSET                    = 0xb\n\tNFT_MSG_NEWSETELEM                = 0xc\n\tNFT_MSG_GETSETELEM                = 0xd\n\tNFT_MSG_DELSETELEM                = 0xe\n\tNFT_MSG_NEWGEN                    = 0xf\n\tNFT_MSG_GETGEN                    = 0x10\n\tNFT_MSG_TRACE                     = 0x11\n\tNFT_MSG_NEWOBJ                    = 0x12\n\tNFT_MSG_GETOBJ                    = 0x13\n\tNFT_MSG_DELOBJ                    = 0x14\n\tNFT_MSG_GETOBJ_RESET              = 0x15\n\tNFT_MSG_MAX                       = 0x19\n\tNFTA_LIST_UNPEC                   = 0x0\n\tNFTA_LIST_ELEM                    = 0x1\n\tNFTA_HOOK_UNSPEC                  = 0x0\n\tNFTA_HOOK_HOOKNUM                 = 0x1\n\tNFTA_HOOK_PRIORITY                = 0x2\n\tNFTA_HOOK_DEV                     = 0x3\n\tNFT_TABLE_F_DORMANT               = 0x1\n\tNFTA_TABLE_UNSPEC                 = 0x0\n\tNFTA_TABLE_NAME                   = 0x1\n\tNFTA_TABLE_FLAGS                  = 0x2\n\tNFTA_TABLE_USE                    = 0x3\n\tNFTA_CHAIN_UNSPEC                 = 0x0\n\tNFTA_CHAIN_TABLE                  = 0x1\n\tNFTA_CHAIN_HANDLE                 = 0x2\n\tNFTA_CHAIN_NAME                   = 0x3\n\tNFTA_CHAIN_HOOK                   = 0x4\n\tNFTA_CHAIN_POLICY                 = 0x5\n\tNFTA_CHAIN_USE                    = 0x6\n\tNFTA_CHAIN_TYPE                   = 0x7\n\tNFTA_CHAIN_COUNTERS               = 0x8\n\tNFTA_CHAIN_PAD                    = 0x9\n\tNFTA_RULE_UNSPEC                  = 0x0\n\tNFTA_RULE_TABLE                   = 0x1\n\tNFTA_RULE_CHAIN                   = 0x2\n\tNFTA_RULE_HANDLE                  = 0x3\n\tNFTA_RULE_EXPRESSIONS             = 0x4\n\tNFTA_RULE_COMPAT                  = 0x5\n\tNFTA_RULE_POSITION                = 0x6\n\tNFTA_RULE_USERDATA                = 0x7\n\tNFTA_RULE_PAD                     = 0x8\n\tNFTA_RULE_ID                      = 0x9\n\tNFT_RULE_COMPAT_F_INV             = 0x2\n\tNFT_RULE_COMPAT_F_MASK            = 0x2\n\tNFTA_RULE_COMPAT_UNSPEC           = 0x0\n\tNFTA_RULE_COMPAT_PROTO            = 0x1\n\tNFTA_RULE_COMPAT_FLAGS            = 0x2\n\tNFT_SET_ANONYMOUS                 = 0x1\n\tNFT_SET_CONSTANT                  = 0x2\n\tNFT_SET_INTERVAL                  = 0x4\n\tNFT_SET_MAP                       = 0x8\n\tNFT_SET_TIMEOUT                   = 0x10\n\tNFT_SET_EVAL                      = 0x20\n\tNFT_SET_OBJECT                    = 0x40\n\tNFT_SET_POL_PERFORMANCE           = 0x0\n\tNFT_SET_POL_MEMORY                = 0x1\n\tNFTA_SET_DESC_UNSPEC              = 0x0\n\tNFTA_SET_DESC_SIZE                = 0x1\n\tNFTA_SET_UNSPEC                   = 0x0\n\tNFTA_SET_TABLE                    = 0x1\n\tNFTA_SET_NAME                     = 0x2\n\tNFTA_SET_FLAGS                    = 0x3\n\tNFTA_SET_KEY_TYPE                 = 0x4\n\tNFTA_SET_KEY_LEN                  = 0x5\n\tNFTA_SET_DATA_TYPE                = 0x6\n\tNFTA_SET_DATA_LEN                 = 0x7\n\tNFTA_SET_POLICY                   = 0x8\n\tNFTA_SET_DESC                     = 0x9\n\tNFTA_SET_ID                       = 0xa\n\tNFTA_SET_TIMEOUT                  = 0xb\n\tNFTA_SET_GC_INTERVAL              = 0xc\n\tNFTA_SET_USERDATA                 = 0xd\n\tNFTA_SET_PAD                      = 0xe\n\tNFTA_SET_OBJ_TYPE                 = 0xf\n\tNFT_SET_ELEM_INTERVAL_END         = 0x1\n\tNFTA_SET_ELEM_UNSPEC              = 0x0\n\tNFTA_SET_ELEM_KEY                 = 0x1\n\tNFTA_SET_ELEM_DATA                = 0x2\n\tNFTA_SET_ELEM_FLAGS               = 0x3\n\tNFTA_SET_ELEM_TIMEOUT             = 0x4\n\tNFTA_SET_ELEM_EXPIRATION          = 0x5\n\tNFTA_SET_ELEM_USERDATA            = 0x6\n\tNFTA_SET_ELEM_EXPR                = 0x7\n\tNFTA_SET_ELEM_PAD                 = 0x8\n\tNFTA_SET_ELEM_OBJREF              = 0x9\n\tNFTA_SET_ELEM_LIST_UNSPEC         = 0x0\n\tNFTA_SET_ELEM_LIST_TABLE          = 0x1\n\tNFTA_SET_ELEM_LIST_SET            = 0x2\n\tNFTA_SET_ELEM_LIST_ELEMENTS       = 0x3\n\tNFTA_SET_ELEM_LIST_SET_ID         = 0x4\n\tNFT_DATA_VALUE                    = 0x0\n\tNFT_DATA_VERDICT                  = 0xffffff00\n\tNFTA_DATA_UNSPEC                  = 0x0\n\tNFTA_DATA_VALUE                   = 0x1\n\tNFTA_DATA_VERDICT                 = 0x2\n\tNFTA_VERDICT_UNSPEC               = 0x0\n\tNFTA_VERDICT_CODE                 = 0x1\n\tNFTA_VERDICT_CHAIN                = 0x2\n\tNFTA_EXPR_UNSPEC                  = 0x0\n\tNFTA_EXPR_NAME                    = 0x1\n\tNFTA_EXPR_DATA                    = 0x2\n\tNFTA_IMMEDIATE_UNSPEC             = 0x0\n\tNFTA_IMMEDIATE_DREG               = 0x1\n\tNFTA_IMMEDIATE_DATA               = 0x2\n\tNFTA_BITWISE_UNSPEC               = 0x0\n\tNFTA_BITWISE_SREG                 = 0x1\n\tNFTA_BITWISE_DREG                 = 0x2\n\tNFTA_BITWISE_LEN                  = 0x3\n\tNFTA_BITWISE_MASK                 = 0x4\n\tNFTA_BITWISE_XOR                  = 0x5\n\tNFT_BYTEORDER_NTOH                = 0x0\n\tNFT_BYTEORDER_HTON                = 0x1\n\tNFTA_BYTEORDER_UNSPEC             = 0x0\n\tNFTA_BYTEORDER_SREG               = 0x1\n\tNFTA_BYTEORDER_DREG               = 0x2\n\tNFTA_BYTEORDER_OP                 = 0x3\n\tNFTA_BYTEORDER_LEN                = 0x4\n\tNFTA_BYTEORDER_SIZE               = 0x5\n\tNFT_CMP_EQ                        = 0x0\n\tNFT_CMP_NEQ                       = 0x1\n\tNFT_CMP_LT                        = 0x2\n\tNFT_CMP_LTE                       = 0x3\n\tNFT_CMP_GT                        = 0x4\n\tNFT_CMP_GTE                       = 0x5\n\tNFTA_CMP_UNSPEC                   = 0x0\n\tNFTA_CMP_SREG                     = 0x1\n\tNFTA_CMP_OP                       = 0x2\n\tNFTA_CMP_DATA                     = 0x3\n\tNFT_RANGE_EQ                      = 0x0\n\tNFT_RANGE_NEQ                     = 0x1\n\tNFTA_RANGE_UNSPEC                 = 0x0\n\tNFTA_RANGE_SREG                   = 0x1\n\tNFTA_RANGE_OP                     = 0x2\n\tNFTA_RANGE_FROM_DATA              = 0x3\n\tNFTA_RANGE_TO_DATA                = 0x4\n\tNFT_LOOKUP_F_INV                  = 0x1\n\tNFTA_LOOKUP_UNSPEC                = 0x0\n\tNFTA_LOOKUP_SET                   = 0x1\n\tNFTA_LOOKUP_SREG                  = 0x2\n\tNFTA_LOOKUP_DREG                  = 0x3\n\tNFTA_LOOKUP_SET_ID                = 0x4\n\tNFTA_LOOKUP_FLAGS                 = 0x5\n\tNFT_DYNSET_OP_ADD                 = 0x0\n\tNFT_DYNSET_OP_UPDATE              = 0x1\n\tNFT_DYNSET_F_INV                  = 0x1\n\tNFTA_DYNSET_UNSPEC                = 0x0\n\tNFTA_DYNSET_SET_NAME              = 0x1\n\tNFTA_DYNSET_SET_ID                = 0x2\n\tNFTA_DYNSET_OP                    = 0x3\n\tNFTA_DYNSET_SREG_KEY              = 0x4\n\tNFTA_DYNSET_SREG_DATA             = 0x5\n\tNFTA_DYNSET_TIMEOUT               = 0x6\n\tNFTA_DYNSET_EXPR                  = 0x7\n\tNFTA_DYNSET_PAD                   = 0x8\n\tNFTA_DYNSET_FLAGS                 = 0x9\n\tNFT_PAYLOAD_LL_HEADER             = 0x0\n\tNFT_PAYLOAD_NETWORK_HEADER        = 0x1\n\tNFT_PAYLOAD_TRANSPORT_HEADER      = 0x2\n\tNFT_PAYLOAD_CSUM_NONE             = 0x0\n\tNFT_PAYLOAD_CSUM_INET             = 0x1\n\tNFT_PAYLOAD_L4CSUM_PSEUDOHDR      = 0x1\n\tNFTA_PAYLOAD_UNSPEC               = 0x0\n\tNFTA_PAYLOAD_DREG                 = 0x1\n\tNFTA_PAYLOAD_BASE                 = 0x2\n\tNFTA_PAYLOAD_OFFSET               = 0x3\n\tNFTA_PAYLOAD_LEN                  = 0x4\n\tNFTA_PAYLOAD_SREG                 = 0x5\n\tNFTA_PAYLOAD_CSUM_TYPE            = 0x6\n\tNFTA_PAYLOAD_CSUM_OFFSET          = 0x7\n\tNFTA_PAYLOAD_CSUM_FLAGS           = 0x8\n\tNFT_EXTHDR_F_PRESENT              = 0x1\n\tNFT_EXTHDR_OP_IPV6                = 0x0\n\tNFT_EXTHDR_OP_TCPOPT              = 0x1\n\tNFTA_EXTHDR_UNSPEC                = 0x0\n\tNFTA_EXTHDR_DREG                  = 0x1\n\tNFTA_EXTHDR_TYPE                  = 0x2\n\tNFTA_EXTHDR_OFFSET                = 0x3\n\tNFTA_EXTHDR_LEN                   = 0x4\n\tNFTA_EXTHDR_FLAGS                 = 0x5\n\tNFTA_EXTHDR_OP                    = 0x6\n\tNFTA_EXTHDR_SREG                  = 0x7\n\tNFT_META_LEN                      = 0x0\n\tNFT_META_PROTOCOL                 = 0x1\n\tNFT_META_PRIORITY                 = 0x2\n\tNFT_META_MARK                     = 0x3\n\tNFT_META_IIF                      = 0x4\n\tNFT_META_OIF                      = 0x5\n\tNFT_META_IIFNAME                  = 0x6\n\tNFT_META_OIFNAME                  = 0x7\n\tNFT_META_IIFTYPE                  = 0x8\n\tNFT_META_OIFTYPE                  = 0x9\n\tNFT_META_SKUID                    = 0xa\n\tNFT_META_SKGID                    = 0xb\n\tNFT_META_NFTRACE                  = 0xc\n\tNFT_META_RTCLASSID                = 0xd\n\tNFT_META_SECMARK                  = 0xe\n\tNFT_META_NFPROTO                  = 0xf\n\tNFT_META_L4PROTO                  = 0x10\n\tNFT_META_BRI_IIFNAME              = 0x11\n\tNFT_META_BRI_OIFNAME              = 0x12\n\tNFT_META_PKTTYPE                  = 0x13\n\tNFT_META_CPU                      = 0x14\n\tNFT_META_IIFGROUP                 = 0x15\n\tNFT_META_OIFGROUP                 = 0x16\n\tNFT_META_CGROUP                   = 0x17\n\tNFT_META_PRANDOM                  = 0x18\n\tNFT_RT_CLASSID                    = 0x0\n\tNFT_RT_NEXTHOP4                   = 0x1\n\tNFT_RT_NEXTHOP6                   = 0x2\n\tNFT_RT_TCPMSS                     = 0x3\n\tNFT_HASH_JENKINS                  = 0x0\n\tNFT_HASH_SYM                      = 0x1\n\tNFTA_HASH_UNSPEC                  = 0x0\n\tNFTA_HASH_SREG                    = 0x1\n\tNFTA_HASH_DREG                    = 0x2\n\tNFTA_HASH_LEN                     = 0x3\n\tNFTA_HASH_MODULUS                 = 0x4\n\tNFTA_HASH_SEED                    = 0x5\n\tNFTA_HASH_OFFSET                  = 0x6\n\tNFTA_HASH_TYPE                    = 0x7\n\tNFTA_META_UNSPEC                  = 0x0\n\tNFTA_META_DREG                    = 0x1\n\tNFTA_META_KEY                     = 0x2\n\tNFTA_META_SREG                    = 0x3\n\tNFTA_RT_UNSPEC                    = 0x0\n\tNFTA_RT_DREG                      = 0x1\n\tNFTA_RT_KEY                       = 0x2\n\tNFT_CT_STATE                      = 0x0\n\tNFT_CT_DIRECTION                  = 0x1\n\tNFT_CT_STATUS                     = 0x2\n\tNFT_CT_MARK                       = 0x3\n\tNFT_CT_SECMARK                    = 0x4\n\tNFT_CT_EXPIRATION                 = 0x5\n\tNFT_CT_HELPER                     = 0x6\n\tNFT_CT_L3PROTOCOL                 = 0x7\n\tNFT_CT_SRC                        = 0x8\n\tNFT_CT_DST                        = 0x9\n\tNFT_CT_PROTOCOL                   = 0xa\n\tNFT_CT_PROTO_SRC                  = 0xb\n\tNFT_CT_PROTO_DST                  = 0xc\n\tNFT_CT_LABELS                     = 0xd\n\tNFT_CT_PKTS                       = 0xe\n\tNFT_CT_BYTES                      = 0xf\n\tNFT_CT_AVGPKT                     = 0x10\n\tNFT_CT_ZONE                       = 0x11\n\tNFT_CT_EVENTMASK                  = 0x12\n\tNFTA_CT_UNSPEC                    = 0x0\n\tNFTA_CT_DREG                      = 0x1\n\tNFTA_CT_KEY                       = 0x2\n\tNFTA_CT_DIRECTION                 = 0x3\n\tNFTA_CT_SREG                      = 0x4\n\tNFT_LIMIT_PKTS                    = 0x0\n\tNFT_LIMIT_PKT_BYTES               = 0x1\n\tNFT_LIMIT_F_INV                   = 0x1\n\tNFTA_LIMIT_UNSPEC                 = 0x0\n\tNFTA_LIMIT_RATE                   = 0x1\n\tNFTA_LIMIT_UNIT                   = 0x2\n\tNFTA_LIMIT_BURST                  = 0x3\n\tNFTA_LIMIT_TYPE                   = 0x4\n\tNFTA_LIMIT_FLAGS                  = 0x5\n\tNFTA_LIMIT_PAD                    = 0x6\n\tNFTA_COUNTER_UNSPEC               = 0x0\n\tNFTA_COUNTER_BYTES                = 0x1\n\tNFTA_COUNTER_PACKETS              = 0x2\n\tNFTA_COUNTER_PAD                  = 0x3\n\tNFTA_LOG_UNSPEC                   = 0x0\n\tNFTA_LOG_GROUP                    = 0x1\n\tNFTA_LOG_PREFIX                   = 0x2\n\tNFTA_LOG_SNAPLEN                  = 0x3\n\tNFTA_LOG_QTHRESHOLD               = 0x4\n\tNFTA_LOG_LEVEL                    = 0x5\n\tNFTA_LOG_FLAGS                    = 0x6\n\tNFTA_QUEUE_UNSPEC                 = 0x0\n\tNFTA_QUEUE_NUM                    = 0x1\n\tNFTA_QUEUE_TOTAL                  = 0x2\n\tNFTA_QUEUE_FLAGS                  = 0x3\n\tNFTA_QUEUE_SREG_QNUM              = 0x4\n\tNFT_QUOTA_F_INV                   = 0x1\n\tNFT_QUOTA_F_DEPLETED              = 0x2\n\tNFTA_QUOTA_UNSPEC                 = 0x0\n\tNFTA_QUOTA_BYTES                  = 0x1\n\tNFTA_QUOTA_FLAGS                  = 0x2\n\tNFTA_QUOTA_PAD                    = 0x3\n\tNFTA_QUOTA_CONSUMED               = 0x4\n\tNFT_REJECT_ICMP_UNREACH           = 0x0\n\tNFT_REJECT_TCP_RST                = 0x1\n\tNFT_REJECT_ICMPX_UNREACH          = 0x2\n\tNFT_REJECT_ICMPX_NO_ROUTE         = 0x0\n\tNFT_REJECT_ICMPX_PORT_UNREACH     = 0x1\n\tNFT_REJECT_ICMPX_HOST_UNREACH     = 0x2\n\tNFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3\n\tNFTA_REJECT_UNSPEC                = 0x0\n\tNFTA_REJECT_TYPE                  = 0x1\n\tNFTA_REJECT_ICMP_CODE             = 0x2\n\tNFT_NAT_SNAT                      = 0x0\n\tNFT_NAT_DNAT                      = 0x1\n\tNFTA_NAT_UNSPEC                   = 0x0\n\tNFTA_NAT_TYPE                     = 0x1\n\tNFTA_NAT_FAMILY                   = 0x2\n\tNFTA_NAT_REG_ADDR_MIN             = 0x3\n\tNFTA_NAT_REG_ADDR_MAX             = 0x4\n\tNFTA_NAT_REG_PROTO_MIN            = 0x5\n\tNFTA_NAT_REG_PROTO_MAX            = 0x6\n\tNFTA_NAT_FLAGS                    = 0x7\n\tNFTA_MASQ_UNSPEC                  = 0x0\n\tNFTA_MASQ_FLAGS                   = 0x1\n\tNFTA_MASQ_REG_PROTO_MIN           = 0x2\n\tNFTA_MASQ_REG_PROTO_MAX           = 0x3\n\tNFTA_REDIR_UNSPEC                 = 0x0\n\tNFTA_REDIR_REG_PROTO_MIN          = 0x1\n\tNFTA_REDIR_REG_PROTO_MAX          = 0x2\n\tNFTA_REDIR_FLAGS                  = 0x3\n\tNFTA_DUP_UNSPEC                   = 0x0\n\tNFTA_DUP_SREG_ADDR                = 0x1\n\tNFTA_DUP_SREG_DEV                 = 0x2\n\tNFTA_FWD_UNSPEC                   = 0x0\n\tNFTA_FWD_SREG_DEV                 = 0x1\n\tNFTA_OBJREF_UNSPEC                = 0x0\n\tNFTA_OBJREF_IMM_TYPE              = 0x1\n\tNFTA_OBJREF_IMM_NAME              = 0x2\n\tNFTA_OBJREF_SET_SREG              = 0x3\n\tNFTA_OBJREF_SET_NAME              = 0x4\n\tNFTA_OBJREF_SET_ID                = 0x5\n\tNFTA_GEN_UNSPEC                   = 0x0\n\tNFTA_GEN_ID                       = 0x1\n\tNFTA_GEN_PROC_PID                 = 0x2\n\tNFTA_GEN_PROC_NAME                = 0x3\n\tNFTA_FIB_UNSPEC                   = 0x0\n\tNFTA_FIB_DREG                     = 0x1\n\tNFTA_FIB_RESULT                   = 0x2\n\tNFTA_FIB_FLAGS                    = 0x3\n\tNFT_FIB_RESULT_UNSPEC             = 0x0\n\tNFT_FIB_RESULT_OIF                = 0x1\n\tNFT_FIB_RESULT_OIFNAME            = 0x2\n\tNFT_FIB_RESULT_ADDRTYPE           = 0x3\n\tNFTA_FIB_F_SADDR                  = 0x1\n\tNFTA_FIB_F_DADDR                  = 0x2\n\tNFTA_FIB_F_MARK                   = 0x4\n\tNFTA_FIB_F_IIF                    = 0x8\n\tNFTA_FIB_F_OIF                    = 0x10\n\tNFTA_FIB_F_PRESENT                = 0x20\n\tNFTA_CT_HELPER_UNSPEC             = 0x0\n\tNFTA_CT_HELPER_NAME               = 0x1\n\tNFTA_CT_HELPER_L3PROTO            = 0x2\n\tNFTA_CT_HELPER_L4PROTO            = 0x3\n\tNFTA_OBJ_UNSPEC                   = 0x0\n\tNFTA_OBJ_TABLE                    = 0x1\n\tNFTA_OBJ_NAME                     = 0x2\n\tNFTA_OBJ_TYPE                     = 0x3\n\tNFTA_OBJ_DATA                     = 0x4\n\tNFTA_OBJ_USE                      = 0x5\n\tNFTA_TRACE_UNSPEC                 = 0x0\n\tNFTA_TRACE_TABLE                  = 0x1\n\tNFTA_TRACE_CHAIN                  = 0x2\n\tNFTA_TRACE_RULE_HANDLE            = 0x3\n\tNFTA_TRACE_TYPE                   = 0x4\n\tNFTA_TRACE_VERDICT                = 0x5\n\tNFTA_TRACE_ID                     = 0x6\n\tNFTA_TRACE_LL_HEADER              = 0x7\n\tNFTA_TRACE_NETWORK_HEADER         = 0x8\n\tNFTA_TRACE_TRANSPORT_HEADER       = 0x9\n\tNFTA_TRACE_IIF                    = 0xa\n\tNFTA_TRACE_IIFTYPE                = 0xb\n\tNFTA_TRACE_OIF                    = 0xc\n\tNFTA_TRACE_OIFTYPE                = 0xd\n\tNFTA_TRACE_MARK                   = 0xe\n\tNFTA_TRACE_NFPROTO                = 0xf\n\tNFTA_TRACE_POLICY                 = 0x10\n\tNFTA_TRACE_PAD                    = 0x11\n\tNFT_TRACETYPE_UNSPEC              = 0x0\n\tNFT_TRACETYPE_POLICY              = 0x1\n\tNFT_TRACETYPE_RETURN              = 0x2\n\tNFT_TRACETYPE_RULE                = 0x3\n\tNFTA_NG_UNSPEC                    = 0x0\n\tNFTA_NG_DREG                      = 0x1\n\tNFTA_NG_MODULUS                   = 0x2\n\tNFTA_NG_TYPE                      = 0x3\n\tNFTA_NG_OFFSET                    = 0x4\n\tNFT_NG_INCREMENTAL                = 0x0\n\tNFT_NG_RANDOM                     = 0x1\n)\n\ntype RTCTime struct {\n\tSec   int32\n\tMin   int32\n\tHour  int32\n\tMday  int32\n\tMon   int32\n\tYear  int32\n\tWday  int32\n\tYday  int32\n\tIsdst int32\n}\n\ntype RTCWkAlrm struct {\n\tEnabled uint8\n\tPending uint8\n\t_       [2]byte\n\tTime    RTCTime\n}\n\ntype RTCPLLInfo struct {\n\tCtrl    int32\n\tValue   int32\n\tMax     int32\n\tMin     int32\n\tPosmult int32\n\tNegmult int32\n\tClock   int32\n}\n\ntype BlkpgIoctlArg struct {\n\tOp      int32\n\tFlags   int32\n\tDatalen int32\n\tData    *byte\n}\n\ntype BlkpgPartition struct {\n\tStart   int64\n\tLength  int64\n\tPno     int32\n\tDevname [64]uint8\n\tVolname [64]uint8\n\t_       [4]byte\n}\n\nconst (\n\tBLKPG                  = 0x1269\n\tBLKPG_ADD_PARTITION    = 0x1\n\tBLKPG_DEL_PARTITION    = 0x2\n\tBLKPG_RESIZE_PARTITION = 0x3\n)\n\nconst (\n\tNETNSA_NONE = 0x0\n\tNETNSA_NSID = 0x1\n\tNETNSA_PID  = 0x2\n\tNETNSA_FD   = 0x3\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go",
    "content": "// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char linux/types.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build arm64,linux\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x8\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x8\n\tsizeofLongLong = 0x8\n\tPathMax        = 0x1000\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int64\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int64\n}\n\ntype Timeval struct {\n\tSec  int64\n\tUsec int64\n}\n\ntype Timex struct {\n\tModes     uint32\n\t_         [4]byte\n\tOffset    int64\n\tFreq      int64\n\tMaxerror  int64\n\tEsterror  int64\n\tStatus    int32\n\t_         [4]byte\n\tConstant  int64\n\tPrecision int64\n\tTolerance int64\n\tTime      Timeval\n\tTick      int64\n\tPpsfreq   int64\n\tJitter    int64\n\tShift     int32\n\t_         [4]byte\n\tStabil    int64\n\tJitcnt    int64\n\tCalcnt    int64\n\tErrcnt    int64\n\tStbcnt    int64\n\tTai       int32\n\t_         [44]byte\n}\n\ntype Time_t int64\n\ntype Tms struct {\n\tUtime  int64\n\tStime  int64\n\tCutime int64\n\tCstime int64\n}\n\ntype Utimbuf struct {\n\tActime  int64\n\tModtime int64\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int64\n\tIxrss    int64\n\tIdrss    int64\n\tIsrss    int64\n\tMinflt   int64\n\tMajflt   int64\n\tNswap    int64\n\tInblock  int64\n\tOublock  int64\n\tMsgsnd   int64\n\tMsgrcv   int64\n\tNsignals int64\n\tNvcsw    int64\n\tNivcsw   int64\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev     uint64\n\tIno     uint64\n\tMode    uint32\n\tNlink   uint32\n\tUid     uint32\n\tGid     uint32\n\tRdev    uint64\n\t_       uint64\n\tSize    int64\n\tBlksize int32\n\t_       int32\n\tBlocks  int64\n\tAtim    Timespec\n\tMtim    Timespec\n\tCtim    Timespec\n\t_       [2]int32\n}\n\ntype StatxTimestamp struct {\n\tSec  int64\n\tNsec uint32\n\t_    int32\n}\n\ntype Statx_t struct {\n\tMask            uint32\n\tBlksize         uint32\n\tAttributes      uint64\n\tNlink           uint32\n\tUid             uint32\n\tGid             uint32\n\tMode            uint16\n\t_               [1]uint16\n\tIno             uint64\n\tSize            uint64\n\tBlocks          uint64\n\tAttributes_mask uint64\n\tAtime           StatxTimestamp\n\tBtime           StatxTimestamp\n\tCtime           StatxTimestamp\n\tMtime           StatxTimestamp\n\tRdev_major      uint32\n\tRdev_minor      uint32\n\tDev_major       uint32\n\tDev_minor       uint32\n\t_               [14]uint64\n}\n\ntype Dirent struct {\n\tIno    uint64\n\tOff    int64\n\tReclen uint16\n\tType   uint8\n\tName   [256]int8\n\t_      [5]byte\n}\n\ntype Fsid struct {\n\tVal [2]int32\n}\n\ntype Flock_t struct {\n\tType   int16\n\tWhence int16\n\t_      [4]byte\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\t_      [4]byte\n}\n\ntype FscryptPolicy struct {\n\tVersion                   uint8\n\tContents_encryption_mode  uint8\n\tFilenames_encryption_mode uint8\n\tFlags                     uint8\n\tMaster_key_descriptor     [8]uint8\n}\n\ntype FscryptKey struct {\n\tMode uint32\n\tRaw  [64]uint8\n\tSize uint32\n}\n\ntype KeyctlDHParams struct {\n\tPrivate int32\n\tPrime   int32\n\tBase    int32\n}\n\nconst (\n\tFADV_NORMAL     = 0x0\n\tFADV_RANDOM     = 0x1\n\tFADV_SEQUENTIAL = 0x2\n\tFADV_WILLNEED   = 0x3\n\tFADV_DONTNEED   = 0x4\n\tFADV_NOREUSE    = 0x5\n)\n\ntype RawSockaddrInet4 struct {\n\tFamily uint16\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]uint8\n}\n\ntype RawSockaddrInet6 struct {\n\tFamily   uint16\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tFamily uint16\n\tPath   [108]int8\n}\n\ntype RawSockaddrLinklayer struct {\n\tFamily   uint16\n\tProtocol uint16\n\tIfindex  int32\n\tHatype   uint16\n\tPkttype  uint8\n\tHalen    uint8\n\tAddr     [8]uint8\n}\n\ntype RawSockaddrNetlink struct {\n\tFamily uint16\n\tPad    uint16\n\tPid    uint32\n\tGroups uint32\n}\n\ntype RawSockaddrHCI struct {\n\tFamily  uint16\n\tDev     uint16\n\tChannel uint16\n}\n\ntype RawSockaddrL2 struct {\n\tFamily      uint16\n\tPsm         uint16\n\tBdaddr      [6]uint8\n\tCid         uint16\n\tBdaddr_type uint8\n\t_           [1]byte\n}\n\ntype RawSockaddrRFCOMM struct {\n\tFamily  uint16\n\tBdaddr  [6]uint8\n\tChannel uint8\n\t_       [1]byte\n}\n\ntype RawSockaddrCAN struct {\n\tFamily  uint16\n\t_       [2]byte\n\tIfindex int32\n\tAddr    [8]byte\n}\n\ntype RawSockaddrALG struct {\n\tFamily uint16\n\tType   [14]uint8\n\tFeat   uint32\n\tMask   uint32\n\tName   [64]uint8\n}\n\ntype RawSockaddrVM struct {\n\tFamily    uint16\n\tReserved1 uint16\n\tPort      uint32\n\tCid       uint32\n\tZero      [4]uint8\n}\n\ntype RawSockaddr struct {\n\tFamily uint16\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [96]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint64\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPMreqn struct {\n\tMultiaddr [4]byte /* in_addr */\n\tAddress   [4]byte /* in_addr */\n\tIfindex   int32\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype PacketMreq struct {\n\tIfindex int32\n\tType    uint16\n\tAlen    uint16\n\tAddress [8]uint8\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\t_          [4]byte\n\tIov        *Iovec\n\tIovlen     uint64\n\tControl    *byte\n\tControllen uint64\n\tFlags      int32\n\t_          [4]byte\n}\n\ntype Cmsghdr struct {\n\tLen   uint64\n\tLevel int32\n\tType  int32\n}\n\ntype Inet4Pktinfo struct {\n\tIfindex  int32\n\tSpec_dst [4]byte /* in_addr */\n\tAddr     [4]byte /* in_addr */\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tData [8]uint32\n}\n\ntype Ucred struct {\n\tPid int32\n\tUid uint32\n\tGid uint32\n}\n\ntype TCPInfo struct {\n\tState          uint8\n\tCa_state       uint8\n\tRetransmits    uint8\n\tProbes         uint8\n\tBackoff        uint8\n\tOptions        uint8\n\t_              [2]byte\n\tRto            uint32\n\tAto            uint32\n\tSnd_mss        uint32\n\tRcv_mss        uint32\n\tUnacked        uint32\n\tSacked         uint32\n\tLost           uint32\n\tRetrans        uint32\n\tFackets        uint32\n\tLast_data_sent uint32\n\tLast_ack_sent  uint32\n\tLast_data_recv uint32\n\tLast_ack_recv  uint32\n\tPmtu           uint32\n\tRcv_ssthresh   uint32\n\tRtt            uint32\n\tRttvar         uint32\n\tSnd_ssthresh   uint32\n\tSnd_cwnd       uint32\n\tAdvmss         uint32\n\tReordering     uint32\n\tRcv_rtt        uint32\n\tRcv_space      uint32\n\tTotal_retrans  uint32\n}\n\nconst (\n\tSizeofSockaddrInet4     = 0x10\n\tSizeofSockaddrInet6     = 0x1c\n\tSizeofSockaddrAny       = 0x70\n\tSizeofSockaddrUnix      = 0x6e\n\tSizeofSockaddrLinklayer = 0x14\n\tSizeofSockaddrNetlink   = 0xc\n\tSizeofSockaddrHCI       = 0x6\n\tSizeofSockaddrL2        = 0xe\n\tSizeofSockaddrRFCOMM    = 0xa\n\tSizeofSockaddrCAN       = 0x10\n\tSizeofSockaddrALG       = 0x58\n\tSizeofSockaddrVM        = 0x10\n\tSizeofLinger            = 0x8\n\tSizeofIovec             = 0x10\n\tSizeofIPMreq            = 0x8\n\tSizeofIPMreqn           = 0xc\n\tSizeofIPv6Mreq          = 0x14\n\tSizeofPacketMreq        = 0x10\n\tSizeofMsghdr            = 0x38\n\tSizeofCmsghdr           = 0x10\n\tSizeofInet4Pktinfo      = 0xc\n\tSizeofInet6Pktinfo      = 0x14\n\tSizeofIPv6MTUInfo       = 0x20\n\tSizeofICMPv6Filter      = 0x20\n\tSizeofUcred             = 0xc\n\tSizeofTCPInfo           = 0x68\n)\n\nconst (\n\tIFA_UNSPEC           = 0x0\n\tIFA_ADDRESS          = 0x1\n\tIFA_LOCAL            = 0x2\n\tIFA_LABEL            = 0x3\n\tIFA_BROADCAST        = 0x4\n\tIFA_ANYCAST          = 0x5\n\tIFA_CACHEINFO        = 0x6\n\tIFA_MULTICAST        = 0x7\n\tIFLA_UNSPEC          = 0x0\n\tIFLA_ADDRESS         = 0x1\n\tIFLA_BROADCAST       = 0x2\n\tIFLA_IFNAME          = 0x3\n\tIFLA_INFO_KIND       = 0x1\n\tIFLA_MTU             = 0x4\n\tIFLA_LINK            = 0x5\n\tIFLA_QDISC           = 0x6\n\tIFLA_STATS           = 0x7\n\tIFLA_COST            = 0x8\n\tIFLA_PRIORITY        = 0x9\n\tIFLA_MASTER          = 0xa\n\tIFLA_WIRELESS        = 0xb\n\tIFLA_PROTINFO        = 0xc\n\tIFLA_TXQLEN          = 0xd\n\tIFLA_MAP             = 0xe\n\tIFLA_WEIGHT          = 0xf\n\tIFLA_OPERSTATE       = 0x10\n\tIFLA_LINKMODE        = 0x11\n\tIFLA_LINKINFO        = 0x12\n\tIFLA_NET_NS_PID      = 0x13\n\tIFLA_IFALIAS         = 0x14\n\tIFLA_NUM_VF          = 0x15\n\tIFLA_VFINFO_LIST     = 0x16\n\tIFLA_STATS64         = 0x17\n\tIFLA_VF_PORTS        = 0x18\n\tIFLA_PORT_SELF       = 0x19\n\tIFLA_AF_SPEC         = 0x1a\n\tIFLA_GROUP           = 0x1b\n\tIFLA_NET_NS_FD       = 0x1c\n\tIFLA_EXT_MASK        = 0x1d\n\tIFLA_PROMISCUITY     = 0x1e\n\tIFLA_NUM_TX_QUEUES   = 0x1f\n\tIFLA_NUM_RX_QUEUES   = 0x20\n\tIFLA_CARRIER         = 0x21\n\tIFLA_PHYS_PORT_ID    = 0x22\n\tIFLA_CARRIER_CHANGES = 0x23\n\tIFLA_PHYS_SWITCH_ID  = 0x24\n\tIFLA_LINK_NETNSID    = 0x25\n\tIFLA_PHYS_PORT_NAME  = 0x26\n\tIFLA_PROTO_DOWN      = 0x27\n\tIFLA_GSO_MAX_SEGS    = 0x28\n\tIFLA_GSO_MAX_SIZE    = 0x29\n\tIFLA_PAD             = 0x2a\n\tIFLA_XDP             = 0x2b\n\tIFLA_EVENT           = 0x2c\n\tIFLA_NEW_NETNSID     = 0x2d\n\tIFLA_IF_NETNSID      = 0x2e\n\tIFLA_MAX             = 0x31\n\tRT_SCOPE_UNIVERSE    = 0x0\n\tRT_SCOPE_SITE        = 0xc8\n\tRT_SCOPE_LINK        = 0xfd\n\tRT_SCOPE_HOST        = 0xfe\n\tRT_SCOPE_NOWHERE     = 0xff\n\tRT_TABLE_UNSPEC      = 0x0\n\tRT_TABLE_COMPAT      = 0xfc\n\tRT_TABLE_DEFAULT     = 0xfd\n\tRT_TABLE_MAIN        = 0xfe\n\tRT_TABLE_LOCAL       = 0xff\n\tRT_TABLE_MAX         = 0xffffffff\n\tRTA_UNSPEC           = 0x0\n\tRTA_DST              = 0x1\n\tRTA_SRC              = 0x2\n\tRTA_IIF              = 0x3\n\tRTA_OIF              = 0x4\n\tRTA_GATEWAY          = 0x5\n\tRTA_PRIORITY         = 0x6\n\tRTA_PREFSRC          = 0x7\n\tRTA_METRICS          = 0x8\n\tRTA_MULTIPATH        = 0x9\n\tRTA_FLOW             = 0xb\n\tRTA_CACHEINFO        = 0xc\n\tRTA_TABLE            = 0xf\n\tRTN_UNSPEC           = 0x0\n\tRTN_UNICAST          = 0x1\n\tRTN_LOCAL            = 0x2\n\tRTN_BROADCAST        = 0x3\n\tRTN_ANYCAST          = 0x4\n\tRTN_MULTICAST        = 0x5\n\tRTN_BLACKHOLE        = 0x6\n\tRTN_UNREACHABLE      = 0x7\n\tRTN_PROHIBIT         = 0x8\n\tRTN_THROW            = 0x9\n\tRTN_NAT              = 0xa\n\tRTN_XRESOLVE         = 0xb\n\tRTNLGRP_NONE         = 0x0\n\tRTNLGRP_LINK         = 0x1\n\tRTNLGRP_NOTIFY       = 0x2\n\tRTNLGRP_NEIGH        = 0x3\n\tRTNLGRP_TC           = 0x4\n\tRTNLGRP_IPV4_IFADDR  = 0x5\n\tRTNLGRP_IPV4_MROUTE  = 0x6\n\tRTNLGRP_IPV4_ROUTE   = 0x7\n\tRTNLGRP_IPV4_RULE    = 0x8\n\tRTNLGRP_IPV6_IFADDR  = 0x9\n\tRTNLGRP_IPV6_MROUTE  = 0xa\n\tRTNLGRP_IPV6_ROUTE   = 0xb\n\tRTNLGRP_IPV6_IFINFO  = 0xc\n\tRTNLGRP_IPV6_PREFIX  = 0x12\n\tRTNLGRP_IPV6_RULE    = 0x13\n\tRTNLGRP_ND_USEROPT   = 0x14\n\tSizeofNlMsghdr       = 0x10\n\tSizeofNlMsgerr       = 0x14\n\tSizeofRtGenmsg       = 0x1\n\tSizeofNlAttr         = 0x4\n\tSizeofRtAttr         = 0x4\n\tSizeofIfInfomsg      = 0x10\n\tSizeofIfAddrmsg      = 0x8\n\tSizeofRtMsg          = 0xc\n\tSizeofRtNexthop      = 0x8\n)\n\ntype NlMsghdr struct {\n\tLen   uint32\n\tType  uint16\n\tFlags uint16\n\tSeq   uint32\n\tPid   uint32\n}\n\ntype NlMsgerr struct {\n\tError int32\n\tMsg   NlMsghdr\n}\n\ntype RtGenmsg struct {\n\tFamily uint8\n}\n\ntype NlAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype RtAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype IfInfomsg struct {\n\tFamily uint8\n\t_      uint8\n\tType   uint16\n\tIndex  int32\n\tFlags  uint32\n\tChange uint32\n}\n\ntype IfAddrmsg struct {\n\tFamily    uint8\n\tPrefixlen uint8\n\tFlags     uint8\n\tScope     uint8\n\tIndex     uint32\n}\n\ntype RtMsg struct {\n\tFamily   uint8\n\tDst_len  uint8\n\tSrc_len  uint8\n\tTos      uint8\n\tTable    uint8\n\tProtocol uint8\n\tScope    uint8\n\tType     uint8\n\tFlags    uint32\n}\n\ntype RtNexthop struct {\n\tLen     uint16\n\tFlags   uint8\n\tHops    uint8\n\tIfindex int32\n}\n\nconst (\n\tSizeofSockFilter = 0x8\n\tSizeofSockFprog  = 0x10\n)\n\ntype SockFilter struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype SockFprog struct {\n\tLen    uint16\n\t_      [6]byte\n\tFilter *SockFilter\n}\n\ntype InotifyEvent struct {\n\tWd     int32\n\tMask   uint32\n\tCookie uint32\n\tLen    uint32\n}\n\nconst SizeofInotifyEvent = 0x10\n\ntype PtraceRegs struct {\n\tRegs   [31]uint64\n\tSp     uint64\n\tPc     uint64\n\tPstate uint64\n}\n\ntype FdSet struct {\n\tBits [16]int64\n}\n\ntype Sysinfo_t struct {\n\tUptime    int64\n\tLoads     [3]uint64\n\tTotalram  uint64\n\tFreeram   uint64\n\tSharedram uint64\n\tBufferram uint64\n\tTotalswap uint64\n\tFreeswap  uint64\n\tProcs     uint16\n\tPad       uint16\n\t_         [4]byte\n\tTotalhigh uint64\n\tFreehigh  uint64\n\tUnit      uint32\n\t_         [0]int8\n\t_         [4]byte\n}\n\ntype Utsname struct {\n\tSysname    [65]byte\n\tNodename   [65]byte\n\tRelease    [65]byte\n\tVersion    [65]byte\n\tMachine    [65]byte\n\tDomainname [65]byte\n}\n\ntype Ustat_t struct {\n\tTfree  int32\n\t_      [4]byte\n\tTinode uint64\n\tFname  [6]int8\n\tFpack  [6]int8\n\t_      [4]byte\n}\n\ntype EpollEvent struct {\n\tEvents uint32\n\tPadFd  int32\n\tFd     int32\n\tPad    int32\n}\n\nconst (\n\tAT_EMPTY_PATH   = 0x1000\n\tAT_FDCWD        = -0x64\n\tAT_NO_AUTOMOUNT = 0x800\n\tAT_REMOVEDIR    = 0x200\n\n\tAT_STATX_SYNC_AS_STAT = 0x0\n\tAT_STATX_FORCE_SYNC   = 0x2000\n\tAT_STATX_DONT_SYNC    = 0x4000\n\n\tAT_SYMLINK_FOLLOW   = 0x400\n\tAT_SYMLINK_NOFOLLOW = 0x100\n\n\tAT_EACCESS = 0x200\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLIN    = 0x1\n\tPOLLPRI   = 0x2\n\tPOLLOUT   = 0x4\n\tPOLLRDHUP = 0x2000\n\tPOLLERR   = 0x8\n\tPOLLHUP   = 0x10\n\tPOLLNVAL  = 0x20\n)\n\ntype Sigset_t struct {\n\tVal [16]uint64\n}\n\nconst RNDGETENTCNT = 0x80045200\n\nconst PERF_IOC_FLAG_GROUP = 0x1\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tLine   uint8\n\tCc     [19]uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\ntype Taskstats struct {\n\tVersion                   uint16\n\t_                         [2]byte\n\tAc_exitcode               uint32\n\tAc_flag                   uint8\n\tAc_nice                   uint8\n\t_                         [6]byte\n\tCpu_count                 uint64\n\tCpu_delay_total           uint64\n\tBlkio_count               uint64\n\tBlkio_delay_total         uint64\n\tSwapin_count              uint64\n\tSwapin_delay_total        uint64\n\tCpu_run_real_total        uint64\n\tCpu_run_virtual_total     uint64\n\tAc_comm                   [32]int8\n\tAc_sched                  uint8\n\tAc_pad                    [3]uint8\n\t_                         [4]byte\n\tAc_uid                    uint32\n\tAc_gid                    uint32\n\tAc_pid                    uint32\n\tAc_ppid                   uint32\n\tAc_btime                  uint32\n\t_                         [4]byte\n\tAc_etime                  uint64\n\tAc_utime                  uint64\n\tAc_stime                  uint64\n\tAc_minflt                 uint64\n\tAc_majflt                 uint64\n\tCoremem                   uint64\n\tVirtmem                   uint64\n\tHiwater_rss               uint64\n\tHiwater_vm                uint64\n\tRead_char                 uint64\n\tWrite_char                uint64\n\tRead_syscalls             uint64\n\tWrite_syscalls            uint64\n\tRead_bytes                uint64\n\tWrite_bytes               uint64\n\tCancelled_write_bytes     uint64\n\tNvcsw                     uint64\n\tNivcsw                    uint64\n\tAc_utimescaled            uint64\n\tAc_stimescaled            uint64\n\tCpu_scaled_run_real_total uint64\n\tFreepages_count           uint64\n\tFreepages_delay_total     uint64\n}\n\nconst (\n\tTASKSTATS_CMD_UNSPEC                  = 0x0\n\tTASKSTATS_CMD_GET                     = 0x1\n\tTASKSTATS_CMD_NEW                     = 0x2\n\tTASKSTATS_TYPE_UNSPEC                 = 0x0\n\tTASKSTATS_TYPE_PID                    = 0x1\n\tTASKSTATS_TYPE_TGID                   = 0x2\n\tTASKSTATS_TYPE_STATS                  = 0x3\n\tTASKSTATS_TYPE_AGGR_PID               = 0x4\n\tTASKSTATS_TYPE_AGGR_TGID              = 0x5\n\tTASKSTATS_TYPE_NULL                   = 0x6\n\tTASKSTATS_CMD_ATTR_UNSPEC             = 0x0\n\tTASKSTATS_CMD_ATTR_PID                = 0x1\n\tTASKSTATS_CMD_ATTR_TGID               = 0x2\n\tTASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3\n\tTASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4\n)\n\ntype CGroupStats struct {\n\tSleeping        uint64\n\tRunning         uint64\n\tStopped         uint64\n\tUninterruptible uint64\n\tIo_wait         uint64\n}\n\nconst (\n\tCGROUPSTATS_CMD_UNSPEC        = 0x3\n\tCGROUPSTATS_CMD_GET           = 0x4\n\tCGROUPSTATS_CMD_NEW           = 0x5\n\tCGROUPSTATS_TYPE_UNSPEC       = 0x0\n\tCGROUPSTATS_TYPE_CGROUP_STATS = 0x1\n\tCGROUPSTATS_CMD_ATTR_UNSPEC   = 0x0\n\tCGROUPSTATS_CMD_ATTR_FD       = 0x1\n)\n\ntype Genlmsghdr struct {\n\tCmd      uint8\n\tVersion  uint8\n\tReserved uint16\n}\n\nconst (\n\tCTRL_CMD_UNSPEC            = 0x0\n\tCTRL_CMD_NEWFAMILY         = 0x1\n\tCTRL_CMD_DELFAMILY         = 0x2\n\tCTRL_CMD_GETFAMILY         = 0x3\n\tCTRL_CMD_NEWOPS            = 0x4\n\tCTRL_CMD_DELOPS            = 0x5\n\tCTRL_CMD_GETOPS            = 0x6\n\tCTRL_CMD_NEWMCAST_GRP      = 0x7\n\tCTRL_CMD_DELMCAST_GRP      = 0x8\n\tCTRL_CMD_GETMCAST_GRP      = 0x9\n\tCTRL_ATTR_UNSPEC           = 0x0\n\tCTRL_ATTR_FAMILY_ID        = 0x1\n\tCTRL_ATTR_FAMILY_NAME      = 0x2\n\tCTRL_ATTR_VERSION          = 0x3\n\tCTRL_ATTR_HDRSIZE          = 0x4\n\tCTRL_ATTR_MAXATTR          = 0x5\n\tCTRL_ATTR_OPS              = 0x6\n\tCTRL_ATTR_MCAST_GROUPS     = 0x7\n\tCTRL_ATTR_OP_UNSPEC        = 0x0\n\tCTRL_ATTR_OP_ID            = 0x1\n\tCTRL_ATTR_OP_FLAGS         = 0x2\n\tCTRL_ATTR_MCAST_GRP_UNSPEC = 0x0\n\tCTRL_ATTR_MCAST_GRP_NAME   = 0x1\n\tCTRL_ATTR_MCAST_GRP_ID     = 0x2\n)\n\ntype cpuMask uint64\n\nconst (\n\t_CPU_SETSIZE = 0x400\n\t_NCPUBITS    = 0x40\n)\n\nconst (\n\tBDADDR_BREDR     = 0x0\n\tBDADDR_LE_PUBLIC = 0x1\n\tBDADDR_LE_RANDOM = 0x2\n)\n\ntype PerfEventAttr struct {\n\tType               uint32\n\tSize               uint32\n\tConfig             uint64\n\tSample             uint64\n\tSample_type        uint64\n\tRead_format        uint64\n\tBits               uint64\n\tWakeup             uint32\n\tBp_type            uint32\n\tExt1               uint64\n\tExt2               uint64\n\tBranch_sample_type uint64\n\tSample_regs_user   uint64\n\tSample_stack_user  uint32\n\tClockid            int32\n\tSample_regs_intr   uint64\n\tAux_watermark      uint32\n\t_                  uint32\n}\n\ntype PerfEventMmapPage struct {\n\tVersion        uint32\n\tCompat_version uint32\n\tLock           uint32\n\tIndex          uint32\n\tOffset         int64\n\tTime_enabled   uint64\n\tTime_running   uint64\n\tCapabilities   uint64\n\tPmc_width      uint16\n\tTime_shift     uint16\n\tTime_mult      uint32\n\tTime_offset    uint64\n\tTime_zero      uint64\n\tSize           uint32\n\t_              [948]uint8\n\tData_head      uint64\n\tData_tail      uint64\n\tData_offset    uint64\n\tData_size      uint64\n\tAux_head       uint64\n\tAux_tail       uint64\n\tAux_offset     uint64\n\tAux_size       uint64\n}\n\nconst (\n\tPerfBitDisabled               uint64 = CBitFieldMaskBit0\n\tPerfBitInherit                       = CBitFieldMaskBit1\n\tPerfBitPinned                        = CBitFieldMaskBit2\n\tPerfBitExclusive                     = CBitFieldMaskBit3\n\tPerfBitExcludeUser                   = CBitFieldMaskBit4\n\tPerfBitExcludeKernel                 = CBitFieldMaskBit5\n\tPerfBitExcludeHv                     = CBitFieldMaskBit6\n\tPerfBitExcludeIdle                   = CBitFieldMaskBit7\n\tPerfBitMmap                          = CBitFieldMaskBit8\n\tPerfBitComm                          = CBitFieldMaskBit9\n\tPerfBitFreq                          = CBitFieldMaskBit10\n\tPerfBitInheritStat                   = CBitFieldMaskBit11\n\tPerfBitEnableOnExec                  = CBitFieldMaskBit12\n\tPerfBitTask                          = CBitFieldMaskBit13\n\tPerfBitWatermark                     = CBitFieldMaskBit14\n\tPerfBitPreciseIPBit1                 = CBitFieldMaskBit15\n\tPerfBitPreciseIPBit2                 = CBitFieldMaskBit16\n\tPerfBitMmapData                      = CBitFieldMaskBit17\n\tPerfBitSampleIDAll                   = CBitFieldMaskBit18\n\tPerfBitExcludeHost                   = CBitFieldMaskBit19\n\tPerfBitExcludeGuest                  = CBitFieldMaskBit20\n\tPerfBitExcludeCallchainKernel        = CBitFieldMaskBit21\n\tPerfBitExcludeCallchainUser          = CBitFieldMaskBit22\n\tPerfBitMmap2                         = CBitFieldMaskBit23\n\tPerfBitCommExec                      = CBitFieldMaskBit24\n\tPerfBitUseClockID                    = CBitFieldMaskBit25\n\tPerfBitContextSwitch                 = CBitFieldMaskBit26\n)\n\nconst (\n\tPERF_TYPE_HARDWARE   = 0x0\n\tPERF_TYPE_SOFTWARE   = 0x1\n\tPERF_TYPE_TRACEPOINT = 0x2\n\tPERF_TYPE_HW_CACHE   = 0x3\n\tPERF_TYPE_RAW        = 0x4\n\tPERF_TYPE_BREAKPOINT = 0x5\n\n\tPERF_COUNT_HW_CPU_CYCLES              = 0x0\n\tPERF_COUNT_HW_INSTRUCTIONS            = 0x1\n\tPERF_COUNT_HW_CACHE_REFERENCES        = 0x2\n\tPERF_COUNT_HW_CACHE_MISSES            = 0x3\n\tPERF_COUNT_HW_BRANCH_INSTRUCTIONS     = 0x4\n\tPERF_COUNT_HW_BRANCH_MISSES           = 0x5\n\tPERF_COUNT_HW_BUS_CYCLES              = 0x6\n\tPERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7\n\tPERF_COUNT_HW_STALLED_CYCLES_BACKEND  = 0x8\n\tPERF_COUNT_HW_REF_CPU_CYCLES          = 0x9\n\n\tPERF_COUNT_HW_CACHE_L1D  = 0x0\n\tPERF_COUNT_HW_CACHE_L1I  = 0x1\n\tPERF_COUNT_HW_CACHE_LL   = 0x2\n\tPERF_COUNT_HW_CACHE_DTLB = 0x3\n\tPERF_COUNT_HW_CACHE_ITLB = 0x4\n\tPERF_COUNT_HW_CACHE_BPU  = 0x5\n\tPERF_COUNT_HW_CACHE_NODE = 0x6\n\n\tPERF_COUNT_HW_CACHE_OP_READ     = 0x0\n\tPERF_COUNT_HW_CACHE_OP_WRITE    = 0x1\n\tPERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2\n\n\tPERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0\n\tPERF_COUNT_HW_CACHE_RESULT_MISS   = 0x1\n\n\tPERF_COUNT_SW_CPU_CLOCK        = 0x0\n\tPERF_COUNT_SW_TASK_CLOCK       = 0x1\n\tPERF_COUNT_SW_PAGE_FAULTS      = 0x2\n\tPERF_COUNT_SW_CONTEXT_SWITCHES = 0x3\n\tPERF_COUNT_SW_CPU_MIGRATIONS   = 0x4\n\tPERF_COUNT_SW_PAGE_FAULTS_MIN  = 0x5\n\tPERF_COUNT_SW_PAGE_FAULTS_MAJ  = 0x6\n\tPERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7\n\tPERF_COUNT_SW_EMULATION_FAULTS = 0x8\n\tPERF_COUNT_SW_DUMMY            = 0x9\n\n\tPERF_SAMPLE_IP           = 0x1\n\tPERF_SAMPLE_TID          = 0x2\n\tPERF_SAMPLE_TIME         = 0x4\n\tPERF_SAMPLE_ADDR         = 0x8\n\tPERF_SAMPLE_READ         = 0x10\n\tPERF_SAMPLE_CALLCHAIN    = 0x20\n\tPERF_SAMPLE_ID           = 0x40\n\tPERF_SAMPLE_CPU          = 0x80\n\tPERF_SAMPLE_PERIOD       = 0x100\n\tPERF_SAMPLE_STREAM_ID    = 0x200\n\tPERF_SAMPLE_RAW          = 0x400\n\tPERF_SAMPLE_BRANCH_STACK = 0x800\n\n\tPERF_SAMPLE_BRANCH_USER       = 0x1\n\tPERF_SAMPLE_BRANCH_KERNEL     = 0x2\n\tPERF_SAMPLE_BRANCH_HV         = 0x4\n\tPERF_SAMPLE_BRANCH_ANY        = 0x8\n\tPERF_SAMPLE_BRANCH_ANY_CALL   = 0x10\n\tPERF_SAMPLE_BRANCH_ANY_RETURN = 0x20\n\tPERF_SAMPLE_BRANCH_IND_CALL   = 0x40\n\n\tPERF_FORMAT_TOTAL_TIME_ENABLED = 0x1\n\tPERF_FORMAT_TOTAL_TIME_RUNNING = 0x2\n\tPERF_FORMAT_ID                 = 0x4\n\tPERF_FORMAT_GROUP              = 0x8\n\n\tPERF_RECORD_MMAP       = 0x1\n\tPERF_RECORD_LOST       = 0x2\n\tPERF_RECORD_COMM       = 0x3\n\tPERF_RECORD_EXIT       = 0x4\n\tPERF_RECORD_THROTTLE   = 0x5\n\tPERF_RECORD_UNTHROTTLE = 0x6\n\tPERF_RECORD_FORK       = 0x7\n\tPERF_RECORD_READ       = 0x8\n\tPERF_RECORD_SAMPLE     = 0x9\n\n\tPERF_CONTEXT_HV     = -0x20\n\tPERF_CONTEXT_KERNEL = -0x80\n\tPERF_CONTEXT_USER   = -0x200\n\n\tPERF_CONTEXT_GUEST        = -0x800\n\tPERF_CONTEXT_GUEST_KERNEL = -0x880\n\tPERF_CONTEXT_GUEST_USER   = -0xa00\n\n\tPERF_FLAG_FD_NO_GROUP = 0x1\n\tPERF_FLAG_FD_OUTPUT   = 0x2\n\tPERF_FLAG_PID_CGROUP  = 0x4\n)\n\nconst (\n\tCBitFieldMaskBit0  = 0x1\n\tCBitFieldMaskBit1  = 0x2\n\tCBitFieldMaskBit2  = 0x4\n\tCBitFieldMaskBit3  = 0x8\n\tCBitFieldMaskBit4  = 0x10\n\tCBitFieldMaskBit5  = 0x20\n\tCBitFieldMaskBit6  = 0x40\n\tCBitFieldMaskBit7  = 0x80\n\tCBitFieldMaskBit8  = 0x100\n\tCBitFieldMaskBit9  = 0x200\n\tCBitFieldMaskBit10 = 0x400\n\tCBitFieldMaskBit11 = 0x800\n\tCBitFieldMaskBit12 = 0x1000\n\tCBitFieldMaskBit13 = 0x2000\n\tCBitFieldMaskBit14 = 0x4000\n\tCBitFieldMaskBit15 = 0x8000\n\tCBitFieldMaskBit16 = 0x10000\n\tCBitFieldMaskBit17 = 0x20000\n\tCBitFieldMaskBit18 = 0x40000\n\tCBitFieldMaskBit19 = 0x80000\n\tCBitFieldMaskBit20 = 0x100000\n\tCBitFieldMaskBit21 = 0x200000\n\tCBitFieldMaskBit22 = 0x400000\n\tCBitFieldMaskBit23 = 0x800000\n\tCBitFieldMaskBit24 = 0x1000000\n\tCBitFieldMaskBit25 = 0x2000000\n\tCBitFieldMaskBit26 = 0x4000000\n\tCBitFieldMaskBit27 = 0x8000000\n\tCBitFieldMaskBit28 = 0x10000000\n\tCBitFieldMaskBit29 = 0x20000000\n\tCBitFieldMaskBit30 = 0x40000000\n\tCBitFieldMaskBit31 = 0x80000000\n\tCBitFieldMaskBit32 = 0x100000000\n\tCBitFieldMaskBit33 = 0x200000000\n\tCBitFieldMaskBit34 = 0x400000000\n\tCBitFieldMaskBit35 = 0x800000000\n\tCBitFieldMaskBit36 = 0x1000000000\n\tCBitFieldMaskBit37 = 0x2000000000\n\tCBitFieldMaskBit38 = 0x4000000000\n\tCBitFieldMaskBit39 = 0x8000000000\n\tCBitFieldMaskBit40 = 0x10000000000\n\tCBitFieldMaskBit41 = 0x20000000000\n\tCBitFieldMaskBit42 = 0x40000000000\n\tCBitFieldMaskBit43 = 0x80000000000\n\tCBitFieldMaskBit44 = 0x100000000000\n\tCBitFieldMaskBit45 = 0x200000000000\n\tCBitFieldMaskBit46 = 0x400000000000\n\tCBitFieldMaskBit47 = 0x800000000000\n\tCBitFieldMaskBit48 = 0x1000000000000\n\tCBitFieldMaskBit49 = 0x2000000000000\n\tCBitFieldMaskBit50 = 0x4000000000000\n\tCBitFieldMaskBit51 = 0x8000000000000\n\tCBitFieldMaskBit52 = 0x10000000000000\n\tCBitFieldMaskBit53 = 0x20000000000000\n\tCBitFieldMaskBit54 = 0x40000000000000\n\tCBitFieldMaskBit55 = 0x80000000000000\n\tCBitFieldMaskBit56 = 0x100000000000000\n\tCBitFieldMaskBit57 = 0x200000000000000\n\tCBitFieldMaskBit58 = 0x400000000000000\n\tCBitFieldMaskBit59 = 0x800000000000000\n\tCBitFieldMaskBit60 = 0x1000000000000000\n\tCBitFieldMaskBit61 = 0x2000000000000000\n\tCBitFieldMaskBit62 = 0x4000000000000000\n\tCBitFieldMaskBit63 = 0x8000000000000000\n)\n\ntype SockaddrStorage struct {\n\tFamily uint16\n\t_      [118]int8\n\t_      uint64\n}\n\ntype TCPMD5Sig struct {\n\tAddr      SockaddrStorage\n\tFlags     uint8\n\tPrefixlen uint8\n\tKeylen    uint16\n\t_         uint32\n\tKey       [80]uint8\n}\n\ntype HDDriveCmdHdr struct {\n\tCommand uint8\n\tNumber  uint8\n\tFeature uint8\n\tCount   uint8\n}\n\ntype HDGeometry struct {\n\tHeads     uint8\n\tSectors   uint8\n\tCylinders uint16\n\t_         [4]byte\n\tStart     uint64\n}\n\ntype HDDriveID struct {\n\tConfig         uint16\n\tCyls           uint16\n\tReserved2      uint16\n\tHeads          uint16\n\tTrack_bytes    uint16\n\tSector_bytes   uint16\n\tSectors        uint16\n\tVendor0        uint16\n\tVendor1        uint16\n\tVendor2        uint16\n\tSerial_no      [20]uint8\n\tBuf_type       uint16\n\tBuf_size       uint16\n\tEcc_bytes      uint16\n\tFw_rev         [8]uint8\n\tModel          [40]uint8\n\tMax_multsect   uint8\n\tVendor3        uint8\n\tDword_io       uint16\n\tVendor4        uint8\n\tCapability     uint8\n\tReserved50     uint16\n\tVendor5        uint8\n\tTPIO           uint8\n\tVendor6        uint8\n\tTDMA           uint8\n\tField_valid    uint16\n\tCur_cyls       uint16\n\tCur_heads      uint16\n\tCur_sectors    uint16\n\tCur_capacity0  uint16\n\tCur_capacity1  uint16\n\tMultsect       uint8\n\tMultsect_valid uint8\n\tLba_capacity   uint32\n\tDma_1word      uint16\n\tDma_mword      uint16\n\tEide_pio_modes uint16\n\tEide_dma_min   uint16\n\tEide_dma_time  uint16\n\tEide_pio       uint16\n\tEide_pio_iordy uint16\n\tWords69_70     [2]uint16\n\tWords71_74     [4]uint16\n\tQueue_depth    uint16\n\tWords76_79     [4]uint16\n\tMajor_rev_num  uint16\n\tMinor_rev_num  uint16\n\tCommand_set_1  uint16\n\tCommand_set_2  uint16\n\tCfsse          uint16\n\tCfs_enable_1   uint16\n\tCfs_enable_2   uint16\n\tCsf_default    uint16\n\tDma_ultra      uint16\n\tTrseuc         uint16\n\tTrsEuc         uint16\n\tCurAPMvalues   uint16\n\tMprc           uint16\n\tHw_config      uint16\n\tAcoustic       uint16\n\tMsrqs          uint16\n\tSxfert         uint16\n\tSal            uint16\n\tSpg            uint32\n\tLba_capacity_2 uint64\n\tWords104_125   [22]uint16\n\tLast_lun       uint16\n\tWord127        uint16\n\tDlf            uint16\n\tCsfo           uint16\n\tWords130_155   [26]uint16\n\tWord156        uint16\n\tWords157_159   [3]uint16\n\tCfa_power      uint16\n\tWords161_175   [15]uint16\n\tWords176_205   [30]uint16\n\tWords206_254   [49]uint16\n\tIntegrity_word uint16\n}\n\ntype Statfs_t struct {\n\tType    int64\n\tBsize   int64\n\tBlocks  uint64\n\tBfree   uint64\n\tBavail  uint64\n\tFiles   uint64\n\tFfree   uint64\n\tFsid    Fsid\n\tNamelen int64\n\tFrsize  int64\n\tFlags   int64\n\tSpare   [4]int64\n}\n\nconst (\n\tST_MANDLOCK    = 0x40\n\tST_NOATIME     = 0x400\n\tST_NODEV       = 0x4\n\tST_NODIRATIME  = 0x800\n\tST_NOEXEC      = 0x8\n\tST_NOSUID      = 0x2\n\tST_RDONLY      = 0x1\n\tST_RELATIME    = 0x1000\n\tST_SYNCHRONOUS = 0x10\n)\n\ntype TpacketHdr struct {\n\tStatus  uint64\n\tLen     uint32\n\tSnaplen uint32\n\tMac     uint16\n\tNet     uint16\n\tSec     uint32\n\tUsec    uint32\n\t_       [4]byte\n}\n\ntype Tpacket2Hdr struct {\n\tStatus    uint32\n\tLen       uint32\n\tSnaplen   uint32\n\tMac       uint16\n\tNet       uint16\n\tSec       uint32\n\tNsec      uint32\n\tVlan_tci  uint16\n\tVlan_tpid uint16\n\t_         [4]uint8\n}\n\ntype Tpacket3Hdr struct {\n\tNext_offset uint32\n\tSec         uint32\n\tNsec        uint32\n\tSnaplen     uint32\n\tLen         uint32\n\tStatus      uint32\n\tMac         uint16\n\tNet         uint16\n\tHv1         TpacketHdrVariant1\n\t_           [8]uint8\n}\n\ntype TpacketHdrVariant1 struct {\n\tRxhash    uint32\n\tVlan_tci  uint32\n\tVlan_tpid uint16\n\t_         uint16\n}\n\ntype TpacketBlockDesc struct {\n\tVersion uint32\n\tTo_priv uint32\n\tHdr     [40]byte\n}\n\ntype TpacketReq struct {\n\tBlock_size uint32\n\tBlock_nr   uint32\n\tFrame_size uint32\n\tFrame_nr   uint32\n}\n\ntype TpacketReq3 struct {\n\tBlock_size       uint32\n\tBlock_nr         uint32\n\tFrame_size       uint32\n\tFrame_nr         uint32\n\tRetire_blk_tov   uint32\n\tSizeof_priv      uint32\n\tFeature_req_word uint32\n}\n\ntype TpacketStats struct {\n\tPackets uint32\n\tDrops   uint32\n}\n\ntype TpacketStatsV3 struct {\n\tPackets      uint32\n\tDrops        uint32\n\tFreeze_q_cnt uint32\n}\n\ntype TpacketAuxdata struct {\n\tStatus    uint32\n\tLen       uint32\n\tSnaplen   uint32\n\tMac       uint16\n\tNet       uint16\n\tVlan_tci  uint16\n\tVlan_tpid uint16\n}\n\nconst (\n\tTPACKET_V1 = 0x0\n\tTPACKET_V2 = 0x1\n\tTPACKET_V3 = 0x2\n)\n\nconst (\n\tSizeofTpacketHdr  = 0x20\n\tSizeofTpacket2Hdr = 0x20\n\tSizeofTpacket3Hdr = 0x30\n)\n\nconst (\n\tNF_INET_PRE_ROUTING  = 0x0\n\tNF_INET_LOCAL_IN     = 0x1\n\tNF_INET_FORWARD      = 0x2\n\tNF_INET_LOCAL_OUT    = 0x3\n\tNF_INET_POST_ROUTING = 0x4\n\tNF_INET_NUMHOOKS     = 0x5\n)\n\nconst (\n\tNF_NETDEV_INGRESS  = 0x0\n\tNF_NETDEV_NUMHOOKS = 0x1\n)\n\nconst (\n\tNFPROTO_UNSPEC   = 0x0\n\tNFPROTO_INET     = 0x1\n\tNFPROTO_IPV4     = 0x2\n\tNFPROTO_ARP      = 0x3\n\tNFPROTO_NETDEV   = 0x5\n\tNFPROTO_BRIDGE   = 0x7\n\tNFPROTO_IPV6     = 0xa\n\tNFPROTO_DECNET   = 0xc\n\tNFPROTO_NUMPROTO = 0xd\n)\n\ntype Nfgenmsg struct {\n\tNfgen_family uint8\n\tVersion      uint8\n\tRes_id       uint16\n}\n\nconst (\n\tNFNL_BATCH_UNSPEC = 0x0\n\tNFNL_BATCH_GENID  = 0x1\n)\n\nconst (\n\tNFT_REG_VERDICT                   = 0x0\n\tNFT_REG_1                         = 0x1\n\tNFT_REG_2                         = 0x2\n\tNFT_REG_3                         = 0x3\n\tNFT_REG_4                         = 0x4\n\tNFT_REG32_00                      = 0x8\n\tNFT_REG32_01                      = 0x9\n\tNFT_REG32_02                      = 0xa\n\tNFT_REG32_03                      = 0xb\n\tNFT_REG32_04                      = 0xc\n\tNFT_REG32_05                      = 0xd\n\tNFT_REG32_06                      = 0xe\n\tNFT_REG32_07                      = 0xf\n\tNFT_REG32_08                      = 0x10\n\tNFT_REG32_09                      = 0x11\n\tNFT_REG32_10                      = 0x12\n\tNFT_REG32_11                      = 0x13\n\tNFT_REG32_12                      = 0x14\n\tNFT_REG32_13                      = 0x15\n\tNFT_REG32_14                      = 0x16\n\tNFT_REG32_15                      = 0x17\n\tNFT_CONTINUE                      = -0x1\n\tNFT_BREAK                         = -0x2\n\tNFT_JUMP                          = -0x3\n\tNFT_GOTO                          = -0x4\n\tNFT_RETURN                        = -0x5\n\tNFT_MSG_NEWTABLE                  = 0x0\n\tNFT_MSG_GETTABLE                  = 0x1\n\tNFT_MSG_DELTABLE                  = 0x2\n\tNFT_MSG_NEWCHAIN                  = 0x3\n\tNFT_MSG_GETCHAIN                  = 0x4\n\tNFT_MSG_DELCHAIN                  = 0x5\n\tNFT_MSG_NEWRULE                   = 0x6\n\tNFT_MSG_GETRULE                   = 0x7\n\tNFT_MSG_DELRULE                   = 0x8\n\tNFT_MSG_NEWSET                    = 0x9\n\tNFT_MSG_GETSET                    = 0xa\n\tNFT_MSG_DELSET                    = 0xb\n\tNFT_MSG_NEWSETELEM                = 0xc\n\tNFT_MSG_GETSETELEM                = 0xd\n\tNFT_MSG_DELSETELEM                = 0xe\n\tNFT_MSG_NEWGEN                    = 0xf\n\tNFT_MSG_GETGEN                    = 0x10\n\tNFT_MSG_TRACE                     = 0x11\n\tNFT_MSG_NEWOBJ                    = 0x12\n\tNFT_MSG_GETOBJ                    = 0x13\n\tNFT_MSG_DELOBJ                    = 0x14\n\tNFT_MSG_GETOBJ_RESET              = 0x15\n\tNFT_MSG_MAX                       = 0x19\n\tNFTA_LIST_UNPEC                   = 0x0\n\tNFTA_LIST_ELEM                    = 0x1\n\tNFTA_HOOK_UNSPEC                  = 0x0\n\tNFTA_HOOK_HOOKNUM                 = 0x1\n\tNFTA_HOOK_PRIORITY                = 0x2\n\tNFTA_HOOK_DEV                     = 0x3\n\tNFT_TABLE_F_DORMANT               = 0x1\n\tNFTA_TABLE_UNSPEC                 = 0x0\n\tNFTA_TABLE_NAME                   = 0x1\n\tNFTA_TABLE_FLAGS                  = 0x2\n\tNFTA_TABLE_USE                    = 0x3\n\tNFTA_CHAIN_UNSPEC                 = 0x0\n\tNFTA_CHAIN_TABLE                  = 0x1\n\tNFTA_CHAIN_HANDLE                 = 0x2\n\tNFTA_CHAIN_NAME                   = 0x3\n\tNFTA_CHAIN_HOOK                   = 0x4\n\tNFTA_CHAIN_POLICY                 = 0x5\n\tNFTA_CHAIN_USE                    = 0x6\n\tNFTA_CHAIN_TYPE                   = 0x7\n\tNFTA_CHAIN_COUNTERS               = 0x8\n\tNFTA_CHAIN_PAD                    = 0x9\n\tNFTA_RULE_UNSPEC                  = 0x0\n\tNFTA_RULE_TABLE                   = 0x1\n\tNFTA_RULE_CHAIN                   = 0x2\n\tNFTA_RULE_HANDLE                  = 0x3\n\tNFTA_RULE_EXPRESSIONS             = 0x4\n\tNFTA_RULE_COMPAT                  = 0x5\n\tNFTA_RULE_POSITION                = 0x6\n\tNFTA_RULE_USERDATA                = 0x7\n\tNFTA_RULE_PAD                     = 0x8\n\tNFTA_RULE_ID                      = 0x9\n\tNFT_RULE_COMPAT_F_INV             = 0x2\n\tNFT_RULE_COMPAT_F_MASK            = 0x2\n\tNFTA_RULE_COMPAT_UNSPEC           = 0x0\n\tNFTA_RULE_COMPAT_PROTO            = 0x1\n\tNFTA_RULE_COMPAT_FLAGS            = 0x2\n\tNFT_SET_ANONYMOUS                 = 0x1\n\tNFT_SET_CONSTANT                  = 0x2\n\tNFT_SET_INTERVAL                  = 0x4\n\tNFT_SET_MAP                       = 0x8\n\tNFT_SET_TIMEOUT                   = 0x10\n\tNFT_SET_EVAL                      = 0x20\n\tNFT_SET_OBJECT                    = 0x40\n\tNFT_SET_POL_PERFORMANCE           = 0x0\n\tNFT_SET_POL_MEMORY                = 0x1\n\tNFTA_SET_DESC_UNSPEC              = 0x0\n\tNFTA_SET_DESC_SIZE                = 0x1\n\tNFTA_SET_UNSPEC                   = 0x0\n\tNFTA_SET_TABLE                    = 0x1\n\tNFTA_SET_NAME                     = 0x2\n\tNFTA_SET_FLAGS                    = 0x3\n\tNFTA_SET_KEY_TYPE                 = 0x4\n\tNFTA_SET_KEY_LEN                  = 0x5\n\tNFTA_SET_DATA_TYPE                = 0x6\n\tNFTA_SET_DATA_LEN                 = 0x7\n\tNFTA_SET_POLICY                   = 0x8\n\tNFTA_SET_DESC                     = 0x9\n\tNFTA_SET_ID                       = 0xa\n\tNFTA_SET_TIMEOUT                  = 0xb\n\tNFTA_SET_GC_INTERVAL              = 0xc\n\tNFTA_SET_USERDATA                 = 0xd\n\tNFTA_SET_PAD                      = 0xe\n\tNFTA_SET_OBJ_TYPE                 = 0xf\n\tNFT_SET_ELEM_INTERVAL_END         = 0x1\n\tNFTA_SET_ELEM_UNSPEC              = 0x0\n\tNFTA_SET_ELEM_KEY                 = 0x1\n\tNFTA_SET_ELEM_DATA                = 0x2\n\tNFTA_SET_ELEM_FLAGS               = 0x3\n\tNFTA_SET_ELEM_TIMEOUT             = 0x4\n\tNFTA_SET_ELEM_EXPIRATION          = 0x5\n\tNFTA_SET_ELEM_USERDATA            = 0x6\n\tNFTA_SET_ELEM_EXPR                = 0x7\n\tNFTA_SET_ELEM_PAD                 = 0x8\n\tNFTA_SET_ELEM_OBJREF              = 0x9\n\tNFTA_SET_ELEM_LIST_UNSPEC         = 0x0\n\tNFTA_SET_ELEM_LIST_TABLE          = 0x1\n\tNFTA_SET_ELEM_LIST_SET            = 0x2\n\tNFTA_SET_ELEM_LIST_ELEMENTS       = 0x3\n\tNFTA_SET_ELEM_LIST_SET_ID         = 0x4\n\tNFT_DATA_VALUE                    = 0x0\n\tNFT_DATA_VERDICT                  = 0xffffff00\n\tNFTA_DATA_UNSPEC                  = 0x0\n\tNFTA_DATA_VALUE                   = 0x1\n\tNFTA_DATA_VERDICT                 = 0x2\n\tNFTA_VERDICT_UNSPEC               = 0x0\n\tNFTA_VERDICT_CODE                 = 0x1\n\tNFTA_VERDICT_CHAIN                = 0x2\n\tNFTA_EXPR_UNSPEC                  = 0x0\n\tNFTA_EXPR_NAME                    = 0x1\n\tNFTA_EXPR_DATA                    = 0x2\n\tNFTA_IMMEDIATE_UNSPEC             = 0x0\n\tNFTA_IMMEDIATE_DREG               = 0x1\n\tNFTA_IMMEDIATE_DATA               = 0x2\n\tNFTA_BITWISE_UNSPEC               = 0x0\n\tNFTA_BITWISE_SREG                 = 0x1\n\tNFTA_BITWISE_DREG                 = 0x2\n\tNFTA_BITWISE_LEN                  = 0x3\n\tNFTA_BITWISE_MASK                 = 0x4\n\tNFTA_BITWISE_XOR                  = 0x5\n\tNFT_BYTEORDER_NTOH                = 0x0\n\tNFT_BYTEORDER_HTON                = 0x1\n\tNFTA_BYTEORDER_UNSPEC             = 0x0\n\tNFTA_BYTEORDER_SREG               = 0x1\n\tNFTA_BYTEORDER_DREG               = 0x2\n\tNFTA_BYTEORDER_OP                 = 0x3\n\tNFTA_BYTEORDER_LEN                = 0x4\n\tNFTA_BYTEORDER_SIZE               = 0x5\n\tNFT_CMP_EQ                        = 0x0\n\tNFT_CMP_NEQ                       = 0x1\n\tNFT_CMP_LT                        = 0x2\n\tNFT_CMP_LTE                       = 0x3\n\tNFT_CMP_GT                        = 0x4\n\tNFT_CMP_GTE                       = 0x5\n\tNFTA_CMP_UNSPEC                   = 0x0\n\tNFTA_CMP_SREG                     = 0x1\n\tNFTA_CMP_OP                       = 0x2\n\tNFTA_CMP_DATA                     = 0x3\n\tNFT_RANGE_EQ                      = 0x0\n\tNFT_RANGE_NEQ                     = 0x1\n\tNFTA_RANGE_UNSPEC                 = 0x0\n\tNFTA_RANGE_SREG                   = 0x1\n\tNFTA_RANGE_OP                     = 0x2\n\tNFTA_RANGE_FROM_DATA              = 0x3\n\tNFTA_RANGE_TO_DATA                = 0x4\n\tNFT_LOOKUP_F_INV                  = 0x1\n\tNFTA_LOOKUP_UNSPEC                = 0x0\n\tNFTA_LOOKUP_SET                   = 0x1\n\tNFTA_LOOKUP_SREG                  = 0x2\n\tNFTA_LOOKUP_DREG                  = 0x3\n\tNFTA_LOOKUP_SET_ID                = 0x4\n\tNFTA_LOOKUP_FLAGS                 = 0x5\n\tNFT_DYNSET_OP_ADD                 = 0x0\n\tNFT_DYNSET_OP_UPDATE              = 0x1\n\tNFT_DYNSET_F_INV                  = 0x1\n\tNFTA_DYNSET_UNSPEC                = 0x0\n\tNFTA_DYNSET_SET_NAME              = 0x1\n\tNFTA_DYNSET_SET_ID                = 0x2\n\tNFTA_DYNSET_OP                    = 0x3\n\tNFTA_DYNSET_SREG_KEY              = 0x4\n\tNFTA_DYNSET_SREG_DATA             = 0x5\n\tNFTA_DYNSET_TIMEOUT               = 0x6\n\tNFTA_DYNSET_EXPR                  = 0x7\n\tNFTA_DYNSET_PAD                   = 0x8\n\tNFTA_DYNSET_FLAGS                 = 0x9\n\tNFT_PAYLOAD_LL_HEADER             = 0x0\n\tNFT_PAYLOAD_NETWORK_HEADER        = 0x1\n\tNFT_PAYLOAD_TRANSPORT_HEADER      = 0x2\n\tNFT_PAYLOAD_CSUM_NONE             = 0x0\n\tNFT_PAYLOAD_CSUM_INET             = 0x1\n\tNFT_PAYLOAD_L4CSUM_PSEUDOHDR      = 0x1\n\tNFTA_PAYLOAD_UNSPEC               = 0x0\n\tNFTA_PAYLOAD_DREG                 = 0x1\n\tNFTA_PAYLOAD_BASE                 = 0x2\n\tNFTA_PAYLOAD_OFFSET               = 0x3\n\tNFTA_PAYLOAD_LEN                  = 0x4\n\tNFTA_PAYLOAD_SREG                 = 0x5\n\tNFTA_PAYLOAD_CSUM_TYPE            = 0x6\n\tNFTA_PAYLOAD_CSUM_OFFSET          = 0x7\n\tNFTA_PAYLOAD_CSUM_FLAGS           = 0x8\n\tNFT_EXTHDR_F_PRESENT              = 0x1\n\tNFT_EXTHDR_OP_IPV6                = 0x0\n\tNFT_EXTHDR_OP_TCPOPT              = 0x1\n\tNFTA_EXTHDR_UNSPEC                = 0x0\n\tNFTA_EXTHDR_DREG                  = 0x1\n\tNFTA_EXTHDR_TYPE                  = 0x2\n\tNFTA_EXTHDR_OFFSET                = 0x3\n\tNFTA_EXTHDR_LEN                   = 0x4\n\tNFTA_EXTHDR_FLAGS                 = 0x5\n\tNFTA_EXTHDR_OP                    = 0x6\n\tNFTA_EXTHDR_SREG                  = 0x7\n\tNFT_META_LEN                      = 0x0\n\tNFT_META_PROTOCOL                 = 0x1\n\tNFT_META_PRIORITY                 = 0x2\n\tNFT_META_MARK                     = 0x3\n\tNFT_META_IIF                      = 0x4\n\tNFT_META_OIF                      = 0x5\n\tNFT_META_IIFNAME                  = 0x6\n\tNFT_META_OIFNAME                  = 0x7\n\tNFT_META_IIFTYPE                  = 0x8\n\tNFT_META_OIFTYPE                  = 0x9\n\tNFT_META_SKUID                    = 0xa\n\tNFT_META_SKGID                    = 0xb\n\tNFT_META_NFTRACE                  = 0xc\n\tNFT_META_RTCLASSID                = 0xd\n\tNFT_META_SECMARK                  = 0xe\n\tNFT_META_NFPROTO                  = 0xf\n\tNFT_META_L4PROTO                  = 0x10\n\tNFT_META_BRI_IIFNAME              = 0x11\n\tNFT_META_BRI_OIFNAME              = 0x12\n\tNFT_META_PKTTYPE                  = 0x13\n\tNFT_META_CPU                      = 0x14\n\tNFT_META_IIFGROUP                 = 0x15\n\tNFT_META_OIFGROUP                 = 0x16\n\tNFT_META_CGROUP                   = 0x17\n\tNFT_META_PRANDOM                  = 0x18\n\tNFT_RT_CLASSID                    = 0x0\n\tNFT_RT_NEXTHOP4                   = 0x1\n\tNFT_RT_NEXTHOP6                   = 0x2\n\tNFT_RT_TCPMSS                     = 0x3\n\tNFT_HASH_JENKINS                  = 0x0\n\tNFT_HASH_SYM                      = 0x1\n\tNFTA_HASH_UNSPEC                  = 0x0\n\tNFTA_HASH_SREG                    = 0x1\n\tNFTA_HASH_DREG                    = 0x2\n\tNFTA_HASH_LEN                     = 0x3\n\tNFTA_HASH_MODULUS                 = 0x4\n\tNFTA_HASH_SEED                    = 0x5\n\tNFTA_HASH_OFFSET                  = 0x6\n\tNFTA_HASH_TYPE                    = 0x7\n\tNFTA_META_UNSPEC                  = 0x0\n\tNFTA_META_DREG                    = 0x1\n\tNFTA_META_KEY                     = 0x2\n\tNFTA_META_SREG                    = 0x3\n\tNFTA_RT_UNSPEC                    = 0x0\n\tNFTA_RT_DREG                      = 0x1\n\tNFTA_RT_KEY                       = 0x2\n\tNFT_CT_STATE                      = 0x0\n\tNFT_CT_DIRECTION                  = 0x1\n\tNFT_CT_STATUS                     = 0x2\n\tNFT_CT_MARK                       = 0x3\n\tNFT_CT_SECMARK                    = 0x4\n\tNFT_CT_EXPIRATION                 = 0x5\n\tNFT_CT_HELPER                     = 0x6\n\tNFT_CT_L3PROTOCOL                 = 0x7\n\tNFT_CT_SRC                        = 0x8\n\tNFT_CT_DST                        = 0x9\n\tNFT_CT_PROTOCOL                   = 0xa\n\tNFT_CT_PROTO_SRC                  = 0xb\n\tNFT_CT_PROTO_DST                  = 0xc\n\tNFT_CT_LABELS                     = 0xd\n\tNFT_CT_PKTS                       = 0xe\n\tNFT_CT_BYTES                      = 0xf\n\tNFT_CT_AVGPKT                     = 0x10\n\tNFT_CT_ZONE                       = 0x11\n\tNFT_CT_EVENTMASK                  = 0x12\n\tNFTA_CT_UNSPEC                    = 0x0\n\tNFTA_CT_DREG                      = 0x1\n\tNFTA_CT_KEY                       = 0x2\n\tNFTA_CT_DIRECTION                 = 0x3\n\tNFTA_CT_SREG                      = 0x4\n\tNFT_LIMIT_PKTS                    = 0x0\n\tNFT_LIMIT_PKT_BYTES               = 0x1\n\tNFT_LIMIT_F_INV                   = 0x1\n\tNFTA_LIMIT_UNSPEC                 = 0x0\n\tNFTA_LIMIT_RATE                   = 0x1\n\tNFTA_LIMIT_UNIT                   = 0x2\n\tNFTA_LIMIT_BURST                  = 0x3\n\tNFTA_LIMIT_TYPE                   = 0x4\n\tNFTA_LIMIT_FLAGS                  = 0x5\n\tNFTA_LIMIT_PAD                    = 0x6\n\tNFTA_COUNTER_UNSPEC               = 0x0\n\tNFTA_COUNTER_BYTES                = 0x1\n\tNFTA_COUNTER_PACKETS              = 0x2\n\tNFTA_COUNTER_PAD                  = 0x3\n\tNFTA_LOG_UNSPEC                   = 0x0\n\tNFTA_LOG_GROUP                    = 0x1\n\tNFTA_LOG_PREFIX                   = 0x2\n\tNFTA_LOG_SNAPLEN                  = 0x3\n\tNFTA_LOG_QTHRESHOLD               = 0x4\n\tNFTA_LOG_LEVEL                    = 0x5\n\tNFTA_LOG_FLAGS                    = 0x6\n\tNFTA_QUEUE_UNSPEC                 = 0x0\n\tNFTA_QUEUE_NUM                    = 0x1\n\tNFTA_QUEUE_TOTAL                  = 0x2\n\tNFTA_QUEUE_FLAGS                  = 0x3\n\tNFTA_QUEUE_SREG_QNUM              = 0x4\n\tNFT_QUOTA_F_INV                   = 0x1\n\tNFT_QUOTA_F_DEPLETED              = 0x2\n\tNFTA_QUOTA_UNSPEC                 = 0x0\n\tNFTA_QUOTA_BYTES                  = 0x1\n\tNFTA_QUOTA_FLAGS                  = 0x2\n\tNFTA_QUOTA_PAD                    = 0x3\n\tNFTA_QUOTA_CONSUMED               = 0x4\n\tNFT_REJECT_ICMP_UNREACH           = 0x0\n\tNFT_REJECT_TCP_RST                = 0x1\n\tNFT_REJECT_ICMPX_UNREACH          = 0x2\n\tNFT_REJECT_ICMPX_NO_ROUTE         = 0x0\n\tNFT_REJECT_ICMPX_PORT_UNREACH     = 0x1\n\tNFT_REJECT_ICMPX_HOST_UNREACH     = 0x2\n\tNFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3\n\tNFTA_REJECT_UNSPEC                = 0x0\n\tNFTA_REJECT_TYPE                  = 0x1\n\tNFTA_REJECT_ICMP_CODE             = 0x2\n\tNFT_NAT_SNAT                      = 0x0\n\tNFT_NAT_DNAT                      = 0x1\n\tNFTA_NAT_UNSPEC                   = 0x0\n\tNFTA_NAT_TYPE                     = 0x1\n\tNFTA_NAT_FAMILY                   = 0x2\n\tNFTA_NAT_REG_ADDR_MIN             = 0x3\n\tNFTA_NAT_REG_ADDR_MAX             = 0x4\n\tNFTA_NAT_REG_PROTO_MIN            = 0x5\n\tNFTA_NAT_REG_PROTO_MAX            = 0x6\n\tNFTA_NAT_FLAGS                    = 0x7\n\tNFTA_MASQ_UNSPEC                  = 0x0\n\tNFTA_MASQ_FLAGS                   = 0x1\n\tNFTA_MASQ_REG_PROTO_MIN           = 0x2\n\tNFTA_MASQ_REG_PROTO_MAX           = 0x3\n\tNFTA_REDIR_UNSPEC                 = 0x0\n\tNFTA_REDIR_REG_PROTO_MIN          = 0x1\n\tNFTA_REDIR_REG_PROTO_MAX          = 0x2\n\tNFTA_REDIR_FLAGS                  = 0x3\n\tNFTA_DUP_UNSPEC                   = 0x0\n\tNFTA_DUP_SREG_ADDR                = 0x1\n\tNFTA_DUP_SREG_DEV                 = 0x2\n\tNFTA_FWD_UNSPEC                   = 0x0\n\tNFTA_FWD_SREG_DEV                 = 0x1\n\tNFTA_OBJREF_UNSPEC                = 0x0\n\tNFTA_OBJREF_IMM_TYPE              = 0x1\n\tNFTA_OBJREF_IMM_NAME              = 0x2\n\tNFTA_OBJREF_SET_SREG              = 0x3\n\tNFTA_OBJREF_SET_NAME              = 0x4\n\tNFTA_OBJREF_SET_ID                = 0x5\n\tNFTA_GEN_UNSPEC                   = 0x0\n\tNFTA_GEN_ID                       = 0x1\n\tNFTA_GEN_PROC_PID                 = 0x2\n\tNFTA_GEN_PROC_NAME                = 0x3\n\tNFTA_FIB_UNSPEC                   = 0x0\n\tNFTA_FIB_DREG                     = 0x1\n\tNFTA_FIB_RESULT                   = 0x2\n\tNFTA_FIB_FLAGS                    = 0x3\n\tNFT_FIB_RESULT_UNSPEC             = 0x0\n\tNFT_FIB_RESULT_OIF                = 0x1\n\tNFT_FIB_RESULT_OIFNAME            = 0x2\n\tNFT_FIB_RESULT_ADDRTYPE           = 0x3\n\tNFTA_FIB_F_SADDR                  = 0x1\n\tNFTA_FIB_F_DADDR                  = 0x2\n\tNFTA_FIB_F_MARK                   = 0x4\n\tNFTA_FIB_F_IIF                    = 0x8\n\tNFTA_FIB_F_OIF                    = 0x10\n\tNFTA_FIB_F_PRESENT                = 0x20\n\tNFTA_CT_HELPER_UNSPEC             = 0x0\n\tNFTA_CT_HELPER_NAME               = 0x1\n\tNFTA_CT_HELPER_L3PROTO            = 0x2\n\tNFTA_CT_HELPER_L4PROTO            = 0x3\n\tNFTA_OBJ_UNSPEC                   = 0x0\n\tNFTA_OBJ_TABLE                    = 0x1\n\tNFTA_OBJ_NAME                     = 0x2\n\tNFTA_OBJ_TYPE                     = 0x3\n\tNFTA_OBJ_DATA                     = 0x4\n\tNFTA_OBJ_USE                      = 0x5\n\tNFTA_TRACE_UNSPEC                 = 0x0\n\tNFTA_TRACE_TABLE                  = 0x1\n\tNFTA_TRACE_CHAIN                  = 0x2\n\tNFTA_TRACE_RULE_HANDLE            = 0x3\n\tNFTA_TRACE_TYPE                   = 0x4\n\tNFTA_TRACE_VERDICT                = 0x5\n\tNFTA_TRACE_ID                     = 0x6\n\tNFTA_TRACE_LL_HEADER              = 0x7\n\tNFTA_TRACE_NETWORK_HEADER         = 0x8\n\tNFTA_TRACE_TRANSPORT_HEADER       = 0x9\n\tNFTA_TRACE_IIF                    = 0xa\n\tNFTA_TRACE_IIFTYPE                = 0xb\n\tNFTA_TRACE_OIF                    = 0xc\n\tNFTA_TRACE_OIFTYPE                = 0xd\n\tNFTA_TRACE_MARK                   = 0xe\n\tNFTA_TRACE_NFPROTO                = 0xf\n\tNFTA_TRACE_POLICY                 = 0x10\n\tNFTA_TRACE_PAD                    = 0x11\n\tNFT_TRACETYPE_UNSPEC              = 0x0\n\tNFT_TRACETYPE_POLICY              = 0x1\n\tNFT_TRACETYPE_RETURN              = 0x2\n\tNFT_TRACETYPE_RULE                = 0x3\n\tNFTA_NG_UNSPEC                    = 0x0\n\tNFTA_NG_DREG                      = 0x1\n\tNFTA_NG_MODULUS                   = 0x2\n\tNFTA_NG_TYPE                      = 0x3\n\tNFTA_NG_OFFSET                    = 0x4\n\tNFT_NG_INCREMENTAL                = 0x0\n\tNFT_NG_RANDOM                     = 0x1\n)\n\ntype RTCTime struct {\n\tSec   int32\n\tMin   int32\n\tHour  int32\n\tMday  int32\n\tMon   int32\n\tYear  int32\n\tWday  int32\n\tYday  int32\n\tIsdst int32\n}\n\ntype RTCWkAlrm struct {\n\tEnabled uint8\n\tPending uint8\n\t_       [2]byte\n\tTime    RTCTime\n}\n\ntype RTCPLLInfo struct {\n\tCtrl    int32\n\tValue   int32\n\tMax     int32\n\tMin     int32\n\tPosmult int32\n\tNegmult int32\n\tClock   int64\n}\n\ntype BlkpgIoctlArg struct {\n\tOp      int32\n\tFlags   int32\n\tDatalen int32\n\t_       [4]byte\n\tData    *byte\n}\n\ntype BlkpgPartition struct {\n\tStart   int64\n\tLength  int64\n\tPno     int32\n\tDevname [64]uint8\n\tVolname [64]uint8\n\t_       [4]byte\n}\n\nconst (\n\tBLKPG                  = 0x1269\n\tBLKPG_ADD_PARTITION    = 0x1\n\tBLKPG_DEL_PARTITION    = 0x2\n\tBLKPG_RESIZE_PARTITION = 0x3\n)\n\nconst (\n\tNETNSA_NONE = 0x0\n\tNETNSA_NSID = 0x1\n\tNETNSA_PID  = 0x2\n\tNETNSA_FD   = 0x3\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_linux_mips.go",
    "content": "// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build mips,linux\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x4\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x4\n\tsizeofLongLong = 0x8\n\tPathMax        = 0x1000\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int32\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int32\n\tNsec int32\n}\n\ntype Timeval struct {\n\tSec  int32\n\tUsec int32\n}\n\ntype Timex struct {\n\tModes     uint32\n\tOffset    int32\n\tFreq      int32\n\tMaxerror  int32\n\tEsterror  int32\n\tStatus    int32\n\tConstant  int32\n\tPrecision int32\n\tTolerance int32\n\tTime      Timeval\n\tTick      int32\n\tPpsfreq   int32\n\tJitter    int32\n\tShift     int32\n\tStabil    int32\n\tJitcnt    int32\n\tCalcnt    int32\n\tErrcnt    int32\n\tStbcnt    int32\n\tTai       int32\n\t_         [44]byte\n}\n\ntype Time_t int32\n\ntype Tms struct {\n\tUtime  int32\n\tStime  int32\n\tCutime int32\n\tCstime int32\n}\n\ntype Utimbuf struct {\n\tActime  int32\n\tModtime int32\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int32\n\tIxrss    int32\n\tIdrss    int32\n\tIsrss    int32\n\tMinflt   int32\n\tMajflt   int32\n\tNswap    int32\n\tInblock  int32\n\tOublock  int32\n\tMsgsnd   int32\n\tMsgrcv   int32\n\tNsignals int32\n\tNvcsw    int32\n\tNivcsw   int32\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev     uint32\n\tPad1    [3]int32\n\tIno     uint64\n\tMode    uint32\n\tNlink   uint32\n\tUid     uint32\n\tGid     uint32\n\tRdev    uint32\n\tPad2    [3]int32\n\tSize    int64\n\tAtim    Timespec\n\tMtim    Timespec\n\tCtim    Timespec\n\tBlksize int32\n\tPad4    int32\n\tBlocks  int64\n\tPad5    [14]int32\n}\n\ntype StatxTimestamp struct {\n\tSec  int64\n\tNsec uint32\n\t_    int32\n}\n\ntype Statx_t struct {\n\tMask            uint32\n\tBlksize         uint32\n\tAttributes      uint64\n\tNlink           uint32\n\tUid             uint32\n\tGid             uint32\n\tMode            uint16\n\t_               [1]uint16\n\tIno             uint64\n\tSize            uint64\n\tBlocks          uint64\n\tAttributes_mask uint64\n\tAtime           StatxTimestamp\n\tBtime           StatxTimestamp\n\tCtime           StatxTimestamp\n\tMtime           StatxTimestamp\n\tRdev_major      uint32\n\tRdev_minor      uint32\n\tDev_major       uint32\n\tDev_minor       uint32\n\t_               [14]uint64\n}\n\ntype Dirent struct {\n\tIno    uint64\n\tOff    int64\n\tReclen uint16\n\tType   uint8\n\tName   [256]int8\n\t_      [5]byte\n}\n\ntype Fsid struct {\n\tVal [2]int32\n}\n\ntype Flock_t struct {\n\tType   int16\n\tWhence int16\n\t_      [4]byte\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\t_      [4]byte\n}\n\ntype FscryptPolicy struct {\n\tVersion                   uint8\n\tContents_encryption_mode  uint8\n\tFilenames_encryption_mode uint8\n\tFlags                     uint8\n\tMaster_key_descriptor     [8]uint8\n}\n\ntype FscryptKey struct {\n\tMode uint32\n\tRaw  [64]uint8\n\tSize uint32\n}\n\ntype KeyctlDHParams struct {\n\tPrivate int32\n\tPrime   int32\n\tBase    int32\n}\n\nconst (\n\tFADV_NORMAL     = 0x0\n\tFADV_RANDOM     = 0x1\n\tFADV_SEQUENTIAL = 0x2\n\tFADV_WILLNEED   = 0x3\n\tFADV_DONTNEED   = 0x4\n\tFADV_NOREUSE    = 0x5\n)\n\ntype RawSockaddrInet4 struct {\n\tFamily uint16\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]uint8\n}\n\ntype RawSockaddrInet6 struct {\n\tFamily   uint16\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tFamily uint16\n\tPath   [108]int8\n}\n\ntype RawSockaddrLinklayer struct {\n\tFamily   uint16\n\tProtocol uint16\n\tIfindex  int32\n\tHatype   uint16\n\tPkttype  uint8\n\tHalen    uint8\n\tAddr     [8]uint8\n}\n\ntype RawSockaddrNetlink struct {\n\tFamily uint16\n\tPad    uint16\n\tPid    uint32\n\tGroups uint32\n}\n\ntype RawSockaddrHCI struct {\n\tFamily  uint16\n\tDev     uint16\n\tChannel uint16\n}\n\ntype RawSockaddrL2 struct {\n\tFamily      uint16\n\tPsm         uint16\n\tBdaddr      [6]uint8\n\tCid         uint16\n\tBdaddr_type uint8\n\t_           [1]byte\n}\n\ntype RawSockaddrRFCOMM struct {\n\tFamily  uint16\n\tBdaddr  [6]uint8\n\tChannel uint8\n\t_       [1]byte\n}\n\ntype RawSockaddrCAN struct {\n\tFamily  uint16\n\t_       [2]byte\n\tIfindex int32\n\tAddr    [8]byte\n}\n\ntype RawSockaddrALG struct {\n\tFamily uint16\n\tType   [14]uint8\n\tFeat   uint32\n\tMask   uint32\n\tName   [64]uint8\n}\n\ntype RawSockaddrVM struct {\n\tFamily    uint16\n\tReserved1 uint16\n\tPort      uint32\n\tCid       uint32\n\tZero      [4]uint8\n}\n\ntype RawSockaddr struct {\n\tFamily uint16\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [96]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint32\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPMreqn struct {\n\tMultiaddr [4]byte /* in_addr */\n\tAddress   [4]byte /* in_addr */\n\tIfindex   int32\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype PacketMreq struct {\n\tIfindex int32\n\tType    uint16\n\tAlen    uint16\n\tAddress [8]uint8\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tIov        *Iovec\n\tIovlen     uint32\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet4Pktinfo struct {\n\tIfindex  int32\n\tSpec_dst [4]byte /* in_addr */\n\tAddr     [4]byte /* in_addr */\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tData [8]uint32\n}\n\ntype Ucred struct {\n\tPid int32\n\tUid uint32\n\tGid uint32\n}\n\ntype TCPInfo struct {\n\tState          uint8\n\tCa_state       uint8\n\tRetransmits    uint8\n\tProbes         uint8\n\tBackoff        uint8\n\tOptions        uint8\n\t_              [2]byte\n\tRto            uint32\n\tAto            uint32\n\tSnd_mss        uint32\n\tRcv_mss        uint32\n\tUnacked        uint32\n\tSacked         uint32\n\tLost           uint32\n\tRetrans        uint32\n\tFackets        uint32\n\tLast_data_sent uint32\n\tLast_ack_sent  uint32\n\tLast_data_recv uint32\n\tLast_ack_recv  uint32\n\tPmtu           uint32\n\tRcv_ssthresh   uint32\n\tRtt            uint32\n\tRttvar         uint32\n\tSnd_ssthresh   uint32\n\tSnd_cwnd       uint32\n\tAdvmss         uint32\n\tReordering     uint32\n\tRcv_rtt        uint32\n\tRcv_space      uint32\n\tTotal_retrans  uint32\n}\n\nconst (\n\tSizeofSockaddrInet4     = 0x10\n\tSizeofSockaddrInet6     = 0x1c\n\tSizeofSockaddrAny       = 0x70\n\tSizeofSockaddrUnix      = 0x6e\n\tSizeofSockaddrLinklayer = 0x14\n\tSizeofSockaddrNetlink   = 0xc\n\tSizeofSockaddrHCI       = 0x6\n\tSizeofSockaddrL2        = 0xe\n\tSizeofSockaddrRFCOMM    = 0xa\n\tSizeofSockaddrCAN       = 0x10\n\tSizeofSockaddrALG       = 0x58\n\tSizeofSockaddrVM        = 0x10\n\tSizeofLinger            = 0x8\n\tSizeofIovec             = 0x8\n\tSizeofIPMreq            = 0x8\n\tSizeofIPMreqn           = 0xc\n\tSizeofIPv6Mreq          = 0x14\n\tSizeofPacketMreq        = 0x10\n\tSizeofMsghdr            = 0x1c\n\tSizeofCmsghdr           = 0xc\n\tSizeofInet4Pktinfo      = 0xc\n\tSizeofInet6Pktinfo      = 0x14\n\tSizeofIPv6MTUInfo       = 0x20\n\tSizeofICMPv6Filter      = 0x20\n\tSizeofUcred             = 0xc\n\tSizeofTCPInfo           = 0x68\n)\n\nconst (\n\tIFA_UNSPEC           = 0x0\n\tIFA_ADDRESS          = 0x1\n\tIFA_LOCAL            = 0x2\n\tIFA_LABEL            = 0x3\n\tIFA_BROADCAST        = 0x4\n\tIFA_ANYCAST          = 0x5\n\tIFA_CACHEINFO        = 0x6\n\tIFA_MULTICAST        = 0x7\n\tIFLA_UNSPEC          = 0x0\n\tIFLA_ADDRESS         = 0x1\n\tIFLA_BROADCAST       = 0x2\n\tIFLA_IFNAME          = 0x3\n\tIFLA_INFO_KIND       = 0x1\n\tIFLA_MTU             = 0x4\n\tIFLA_LINK            = 0x5\n\tIFLA_QDISC           = 0x6\n\tIFLA_STATS           = 0x7\n\tIFLA_COST            = 0x8\n\tIFLA_PRIORITY        = 0x9\n\tIFLA_MASTER          = 0xa\n\tIFLA_WIRELESS        = 0xb\n\tIFLA_PROTINFO        = 0xc\n\tIFLA_TXQLEN          = 0xd\n\tIFLA_MAP             = 0xe\n\tIFLA_WEIGHT          = 0xf\n\tIFLA_OPERSTATE       = 0x10\n\tIFLA_LINKMODE        = 0x11\n\tIFLA_LINKINFO        = 0x12\n\tIFLA_NET_NS_PID      = 0x13\n\tIFLA_IFALIAS         = 0x14\n\tIFLA_NUM_VF          = 0x15\n\tIFLA_VFINFO_LIST     = 0x16\n\tIFLA_STATS64         = 0x17\n\tIFLA_VF_PORTS        = 0x18\n\tIFLA_PORT_SELF       = 0x19\n\tIFLA_AF_SPEC         = 0x1a\n\tIFLA_GROUP           = 0x1b\n\tIFLA_NET_NS_FD       = 0x1c\n\tIFLA_EXT_MASK        = 0x1d\n\tIFLA_PROMISCUITY     = 0x1e\n\tIFLA_NUM_TX_QUEUES   = 0x1f\n\tIFLA_NUM_RX_QUEUES   = 0x20\n\tIFLA_CARRIER         = 0x21\n\tIFLA_PHYS_PORT_ID    = 0x22\n\tIFLA_CARRIER_CHANGES = 0x23\n\tIFLA_PHYS_SWITCH_ID  = 0x24\n\tIFLA_LINK_NETNSID    = 0x25\n\tIFLA_PHYS_PORT_NAME  = 0x26\n\tIFLA_PROTO_DOWN      = 0x27\n\tIFLA_GSO_MAX_SEGS    = 0x28\n\tIFLA_GSO_MAX_SIZE    = 0x29\n\tIFLA_PAD             = 0x2a\n\tIFLA_XDP             = 0x2b\n\tIFLA_EVENT           = 0x2c\n\tIFLA_NEW_NETNSID     = 0x2d\n\tIFLA_IF_NETNSID      = 0x2e\n\tIFLA_MAX             = 0x31\n\tRT_SCOPE_UNIVERSE    = 0x0\n\tRT_SCOPE_SITE        = 0xc8\n\tRT_SCOPE_LINK        = 0xfd\n\tRT_SCOPE_HOST        = 0xfe\n\tRT_SCOPE_NOWHERE     = 0xff\n\tRT_TABLE_UNSPEC      = 0x0\n\tRT_TABLE_COMPAT      = 0xfc\n\tRT_TABLE_DEFAULT     = 0xfd\n\tRT_TABLE_MAIN        = 0xfe\n\tRT_TABLE_LOCAL       = 0xff\n\tRT_TABLE_MAX         = 0xffffffff\n\tRTA_UNSPEC           = 0x0\n\tRTA_DST              = 0x1\n\tRTA_SRC              = 0x2\n\tRTA_IIF              = 0x3\n\tRTA_OIF              = 0x4\n\tRTA_GATEWAY          = 0x5\n\tRTA_PRIORITY         = 0x6\n\tRTA_PREFSRC          = 0x7\n\tRTA_METRICS          = 0x8\n\tRTA_MULTIPATH        = 0x9\n\tRTA_FLOW             = 0xb\n\tRTA_CACHEINFO        = 0xc\n\tRTA_TABLE            = 0xf\n\tRTN_UNSPEC           = 0x0\n\tRTN_UNICAST          = 0x1\n\tRTN_LOCAL            = 0x2\n\tRTN_BROADCAST        = 0x3\n\tRTN_ANYCAST          = 0x4\n\tRTN_MULTICAST        = 0x5\n\tRTN_BLACKHOLE        = 0x6\n\tRTN_UNREACHABLE      = 0x7\n\tRTN_PROHIBIT         = 0x8\n\tRTN_THROW            = 0x9\n\tRTN_NAT              = 0xa\n\tRTN_XRESOLVE         = 0xb\n\tRTNLGRP_NONE         = 0x0\n\tRTNLGRP_LINK         = 0x1\n\tRTNLGRP_NOTIFY       = 0x2\n\tRTNLGRP_NEIGH        = 0x3\n\tRTNLGRP_TC           = 0x4\n\tRTNLGRP_IPV4_IFADDR  = 0x5\n\tRTNLGRP_IPV4_MROUTE  = 0x6\n\tRTNLGRP_IPV4_ROUTE   = 0x7\n\tRTNLGRP_IPV4_RULE    = 0x8\n\tRTNLGRP_IPV6_IFADDR  = 0x9\n\tRTNLGRP_IPV6_MROUTE  = 0xa\n\tRTNLGRP_IPV6_ROUTE   = 0xb\n\tRTNLGRP_IPV6_IFINFO  = 0xc\n\tRTNLGRP_IPV6_PREFIX  = 0x12\n\tRTNLGRP_IPV6_RULE    = 0x13\n\tRTNLGRP_ND_USEROPT   = 0x14\n\tSizeofNlMsghdr       = 0x10\n\tSizeofNlMsgerr       = 0x14\n\tSizeofRtGenmsg       = 0x1\n\tSizeofNlAttr         = 0x4\n\tSizeofRtAttr         = 0x4\n\tSizeofIfInfomsg      = 0x10\n\tSizeofIfAddrmsg      = 0x8\n\tSizeofRtMsg          = 0xc\n\tSizeofRtNexthop      = 0x8\n)\n\ntype NlMsghdr struct {\n\tLen   uint32\n\tType  uint16\n\tFlags uint16\n\tSeq   uint32\n\tPid   uint32\n}\n\ntype NlMsgerr struct {\n\tError int32\n\tMsg   NlMsghdr\n}\n\ntype RtGenmsg struct {\n\tFamily uint8\n}\n\ntype NlAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype RtAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype IfInfomsg struct {\n\tFamily uint8\n\t_      uint8\n\tType   uint16\n\tIndex  int32\n\tFlags  uint32\n\tChange uint32\n}\n\ntype IfAddrmsg struct {\n\tFamily    uint8\n\tPrefixlen uint8\n\tFlags     uint8\n\tScope     uint8\n\tIndex     uint32\n}\n\ntype RtMsg struct {\n\tFamily   uint8\n\tDst_len  uint8\n\tSrc_len  uint8\n\tTos      uint8\n\tTable    uint8\n\tProtocol uint8\n\tScope    uint8\n\tType     uint8\n\tFlags    uint32\n}\n\ntype RtNexthop struct {\n\tLen     uint16\n\tFlags   uint8\n\tHops    uint8\n\tIfindex int32\n}\n\nconst (\n\tSizeofSockFilter = 0x8\n\tSizeofSockFprog  = 0x8\n)\n\ntype SockFilter struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype SockFprog struct {\n\tLen    uint16\n\t_      [2]byte\n\tFilter *SockFilter\n}\n\ntype InotifyEvent struct {\n\tWd     int32\n\tMask   uint32\n\tCookie uint32\n\tLen    uint32\n}\n\nconst SizeofInotifyEvent = 0x10\n\ntype PtraceRegs struct {\n\tRegs     [32]uint64\n\tLo       uint64\n\tHi       uint64\n\tEpc      uint64\n\tBadvaddr uint64\n\tStatus   uint64\n\tCause    uint64\n}\n\ntype FdSet struct {\n\tBits [32]int32\n}\n\ntype Sysinfo_t struct {\n\tUptime    int32\n\tLoads     [3]uint32\n\tTotalram  uint32\n\tFreeram   uint32\n\tSharedram uint32\n\tBufferram uint32\n\tTotalswap uint32\n\tFreeswap  uint32\n\tProcs     uint16\n\tPad       uint16\n\tTotalhigh uint32\n\tFreehigh  uint32\n\tUnit      uint32\n\t_         [8]int8\n}\n\ntype Utsname struct {\n\tSysname    [65]byte\n\tNodename   [65]byte\n\tRelease    [65]byte\n\tVersion    [65]byte\n\tMachine    [65]byte\n\tDomainname [65]byte\n}\n\ntype Ustat_t struct {\n\tTfree  int32\n\tTinode uint32\n\tFname  [6]int8\n\tFpack  [6]int8\n}\n\ntype EpollEvent struct {\n\tEvents uint32\n\tPadFd  int32\n\tFd     int32\n\tPad    int32\n}\n\nconst (\n\tAT_EMPTY_PATH   = 0x1000\n\tAT_FDCWD        = -0x64\n\tAT_NO_AUTOMOUNT = 0x800\n\tAT_REMOVEDIR    = 0x200\n\n\tAT_STATX_SYNC_AS_STAT = 0x0\n\tAT_STATX_FORCE_SYNC   = 0x2000\n\tAT_STATX_DONT_SYNC    = 0x4000\n\n\tAT_SYMLINK_FOLLOW   = 0x400\n\tAT_SYMLINK_NOFOLLOW = 0x100\n\n\tAT_EACCESS = 0x200\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLIN    = 0x1\n\tPOLLPRI   = 0x2\n\tPOLLOUT   = 0x4\n\tPOLLRDHUP = 0x2000\n\tPOLLERR   = 0x8\n\tPOLLHUP   = 0x10\n\tPOLLNVAL  = 0x20\n)\n\ntype Sigset_t struct {\n\tVal [32]uint32\n}\n\nconst RNDGETENTCNT = 0x40045200\n\nconst PERF_IOC_FLAG_GROUP = 0x1\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tLine   uint8\n\tCc     [23]uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\ntype Taskstats struct {\n\tVersion                   uint16\n\t_                         [2]byte\n\tAc_exitcode               uint32\n\tAc_flag                   uint8\n\tAc_nice                   uint8\n\t_                         [6]byte\n\tCpu_count                 uint64\n\tCpu_delay_total           uint64\n\tBlkio_count               uint64\n\tBlkio_delay_total         uint64\n\tSwapin_count              uint64\n\tSwapin_delay_total        uint64\n\tCpu_run_real_total        uint64\n\tCpu_run_virtual_total     uint64\n\tAc_comm                   [32]int8\n\tAc_sched                  uint8\n\tAc_pad                    [3]uint8\n\t_                         [4]byte\n\tAc_uid                    uint32\n\tAc_gid                    uint32\n\tAc_pid                    uint32\n\tAc_ppid                   uint32\n\tAc_btime                  uint32\n\t_                         [4]byte\n\tAc_etime                  uint64\n\tAc_utime                  uint64\n\tAc_stime                  uint64\n\tAc_minflt                 uint64\n\tAc_majflt                 uint64\n\tCoremem                   uint64\n\tVirtmem                   uint64\n\tHiwater_rss               uint64\n\tHiwater_vm                uint64\n\tRead_char                 uint64\n\tWrite_char                uint64\n\tRead_syscalls             uint64\n\tWrite_syscalls            uint64\n\tRead_bytes                uint64\n\tWrite_bytes               uint64\n\tCancelled_write_bytes     uint64\n\tNvcsw                     uint64\n\tNivcsw                    uint64\n\tAc_utimescaled            uint64\n\tAc_stimescaled            uint64\n\tCpu_scaled_run_real_total uint64\n\tFreepages_count           uint64\n\tFreepages_delay_total     uint64\n}\n\nconst (\n\tTASKSTATS_CMD_UNSPEC                  = 0x0\n\tTASKSTATS_CMD_GET                     = 0x1\n\tTASKSTATS_CMD_NEW                     = 0x2\n\tTASKSTATS_TYPE_UNSPEC                 = 0x0\n\tTASKSTATS_TYPE_PID                    = 0x1\n\tTASKSTATS_TYPE_TGID                   = 0x2\n\tTASKSTATS_TYPE_STATS                  = 0x3\n\tTASKSTATS_TYPE_AGGR_PID               = 0x4\n\tTASKSTATS_TYPE_AGGR_TGID              = 0x5\n\tTASKSTATS_TYPE_NULL                   = 0x6\n\tTASKSTATS_CMD_ATTR_UNSPEC             = 0x0\n\tTASKSTATS_CMD_ATTR_PID                = 0x1\n\tTASKSTATS_CMD_ATTR_TGID               = 0x2\n\tTASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3\n\tTASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4\n)\n\ntype CGroupStats struct {\n\tSleeping        uint64\n\tRunning         uint64\n\tStopped         uint64\n\tUninterruptible uint64\n\tIo_wait         uint64\n}\n\nconst (\n\tCGROUPSTATS_CMD_UNSPEC        = 0x3\n\tCGROUPSTATS_CMD_GET           = 0x4\n\tCGROUPSTATS_CMD_NEW           = 0x5\n\tCGROUPSTATS_TYPE_UNSPEC       = 0x0\n\tCGROUPSTATS_TYPE_CGROUP_STATS = 0x1\n\tCGROUPSTATS_CMD_ATTR_UNSPEC   = 0x0\n\tCGROUPSTATS_CMD_ATTR_FD       = 0x1\n)\n\ntype Genlmsghdr struct {\n\tCmd      uint8\n\tVersion  uint8\n\tReserved uint16\n}\n\nconst (\n\tCTRL_CMD_UNSPEC            = 0x0\n\tCTRL_CMD_NEWFAMILY         = 0x1\n\tCTRL_CMD_DELFAMILY         = 0x2\n\tCTRL_CMD_GETFAMILY         = 0x3\n\tCTRL_CMD_NEWOPS            = 0x4\n\tCTRL_CMD_DELOPS            = 0x5\n\tCTRL_CMD_GETOPS            = 0x6\n\tCTRL_CMD_NEWMCAST_GRP      = 0x7\n\tCTRL_CMD_DELMCAST_GRP      = 0x8\n\tCTRL_CMD_GETMCAST_GRP      = 0x9\n\tCTRL_ATTR_UNSPEC           = 0x0\n\tCTRL_ATTR_FAMILY_ID        = 0x1\n\tCTRL_ATTR_FAMILY_NAME      = 0x2\n\tCTRL_ATTR_VERSION          = 0x3\n\tCTRL_ATTR_HDRSIZE          = 0x4\n\tCTRL_ATTR_MAXATTR          = 0x5\n\tCTRL_ATTR_OPS              = 0x6\n\tCTRL_ATTR_MCAST_GROUPS     = 0x7\n\tCTRL_ATTR_OP_UNSPEC        = 0x0\n\tCTRL_ATTR_OP_ID            = 0x1\n\tCTRL_ATTR_OP_FLAGS         = 0x2\n\tCTRL_ATTR_MCAST_GRP_UNSPEC = 0x0\n\tCTRL_ATTR_MCAST_GRP_NAME   = 0x1\n\tCTRL_ATTR_MCAST_GRP_ID     = 0x2\n)\n\ntype cpuMask uint32\n\nconst (\n\t_CPU_SETSIZE = 0x400\n\t_NCPUBITS    = 0x20\n)\n\nconst (\n\tBDADDR_BREDR     = 0x0\n\tBDADDR_LE_PUBLIC = 0x1\n\tBDADDR_LE_RANDOM = 0x2\n)\n\ntype PerfEventAttr struct {\n\tType               uint32\n\tSize               uint32\n\tConfig             uint64\n\tSample             uint64\n\tSample_type        uint64\n\tRead_format        uint64\n\tBits               uint64\n\tWakeup             uint32\n\tBp_type            uint32\n\tExt1               uint64\n\tExt2               uint64\n\tBranch_sample_type uint64\n\tSample_regs_user   uint64\n\tSample_stack_user  uint32\n\tClockid            int32\n\tSample_regs_intr   uint64\n\tAux_watermark      uint32\n\t_                  uint32\n}\n\ntype PerfEventMmapPage struct {\n\tVersion        uint32\n\tCompat_version uint32\n\tLock           uint32\n\tIndex          uint32\n\tOffset         int64\n\tTime_enabled   uint64\n\tTime_running   uint64\n\tCapabilities   uint64\n\tPmc_width      uint16\n\tTime_shift     uint16\n\tTime_mult      uint32\n\tTime_offset    uint64\n\tTime_zero      uint64\n\tSize           uint32\n\t_              [948]uint8\n\tData_head      uint64\n\tData_tail      uint64\n\tData_offset    uint64\n\tData_size      uint64\n\tAux_head       uint64\n\tAux_tail       uint64\n\tAux_offset     uint64\n\tAux_size       uint64\n}\n\nconst (\n\tPerfBitDisabled               uint64 = CBitFieldMaskBit0\n\tPerfBitInherit                       = CBitFieldMaskBit1\n\tPerfBitPinned                        = CBitFieldMaskBit2\n\tPerfBitExclusive                     = CBitFieldMaskBit3\n\tPerfBitExcludeUser                   = CBitFieldMaskBit4\n\tPerfBitExcludeKernel                 = CBitFieldMaskBit5\n\tPerfBitExcludeHv                     = CBitFieldMaskBit6\n\tPerfBitExcludeIdle                   = CBitFieldMaskBit7\n\tPerfBitMmap                          = CBitFieldMaskBit8\n\tPerfBitComm                          = CBitFieldMaskBit9\n\tPerfBitFreq                          = CBitFieldMaskBit10\n\tPerfBitInheritStat                   = CBitFieldMaskBit11\n\tPerfBitEnableOnExec                  = CBitFieldMaskBit12\n\tPerfBitTask                          = CBitFieldMaskBit13\n\tPerfBitWatermark                     = CBitFieldMaskBit14\n\tPerfBitPreciseIPBit1                 = CBitFieldMaskBit15\n\tPerfBitPreciseIPBit2                 = CBitFieldMaskBit16\n\tPerfBitMmapData                      = CBitFieldMaskBit17\n\tPerfBitSampleIDAll                   = CBitFieldMaskBit18\n\tPerfBitExcludeHost                   = CBitFieldMaskBit19\n\tPerfBitExcludeGuest                  = CBitFieldMaskBit20\n\tPerfBitExcludeCallchainKernel        = CBitFieldMaskBit21\n\tPerfBitExcludeCallchainUser          = CBitFieldMaskBit22\n\tPerfBitMmap2                         = CBitFieldMaskBit23\n\tPerfBitCommExec                      = CBitFieldMaskBit24\n\tPerfBitUseClockID                    = CBitFieldMaskBit25\n\tPerfBitContextSwitch                 = CBitFieldMaskBit26\n)\n\nconst (\n\tPERF_TYPE_HARDWARE   = 0x0\n\tPERF_TYPE_SOFTWARE   = 0x1\n\tPERF_TYPE_TRACEPOINT = 0x2\n\tPERF_TYPE_HW_CACHE   = 0x3\n\tPERF_TYPE_RAW        = 0x4\n\tPERF_TYPE_BREAKPOINT = 0x5\n\n\tPERF_COUNT_HW_CPU_CYCLES              = 0x0\n\tPERF_COUNT_HW_INSTRUCTIONS            = 0x1\n\tPERF_COUNT_HW_CACHE_REFERENCES        = 0x2\n\tPERF_COUNT_HW_CACHE_MISSES            = 0x3\n\tPERF_COUNT_HW_BRANCH_INSTRUCTIONS     = 0x4\n\tPERF_COUNT_HW_BRANCH_MISSES           = 0x5\n\tPERF_COUNT_HW_BUS_CYCLES              = 0x6\n\tPERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7\n\tPERF_COUNT_HW_STALLED_CYCLES_BACKEND  = 0x8\n\tPERF_COUNT_HW_REF_CPU_CYCLES          = 0x9\n\n\tPERF_COUNT_HW_CACHE_L1D  = 0x0\n\tPERF_COUNT_HW_CACHE_L1I  = 0x1\n\tPERF_COUNT_HW_CACHE_LL   = 0x2\n\tPERF_COUNT_HW_CACHE_DTLB = 0x3\n\tPERF_COUNT_HW_CACHE_ITLB = 0x4\n\tPERF_COUNT_HW_CACHE_BPU  = 0x5\n\tPERF_COUNT_HW_CACHE_NODE = 0x6\n\n\tPERF_COUNT_HW_CACHE_OP_READ     = 0x0\n\tPERF_COUNT_HW_CACHE_OP_WRITE    = 0x1\n\tPERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2\n\n\tPERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0\n\tPERF_COUNT_HW_CACHE_RESULT_MISS   = 0x1\n\n\tPERF_COUNT_SW_CPU_CLOCK        = 0x0\n\tPERF_COUNT_SW_TASK_CLOCK       = 0x1\n\tPERF_COUNT_SW_PAGE_FAULTS      = 0x2\n\tPERF_COUNT_SW_CONTEXT_SWITCHES = 0x3\n\tPERF_COUNT_SW_CPU_MIGRATIONS   = 0x4\n\tPERF_COUNT_SW_PAGE_FAULTS_MIN  = 0x5\n\tPERF_COUNT_SW_PAGE_FAULTS_MAJ  = 0x6\n\tPERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7\n\tPERF_COUNT_SW_EMULATION_FAULTS = 0x8\n\tPERF_COUNT_SW_DUMMY            = 0x9\n\n\tPERF_SAMPLE_IP           = 0x1\n\tPERF_SAMPLE_TID          = 0x2\n\tPERF_SAMPLE_TIME         = 0x4\n\tPERF_SAMPLE_ADDR         = 0x8\n\tPERF_SAMPLE_READ         = 0x10\n\tPERF_SAMPLE_CALLCHAIN    = 0x20\n\tPERF_SAMPLE_ID           = 0x40\n\tPERF_SAMPLE_CPU          = 0x80\n\tPERF_SAMPLE_PERIOD       = 0x100\n\tPERF_SAMPLE_STREAM_ID    = 0x200\n\tPERF_SAMPLE_RAW          = 0x400\n\tPERF_SAMPLE_BRANCH_STACK = 0x800\n\n\tPERF_SAMPLE_BRANCH_USER       = 0x1\n\tPERF_SAMPLE_BRANCH_KERNEL     = 0x2\n\tPERF_SAMPLE_BRANCH_HV         = 0x4\n\tPERF_SAMPLE_BRANCH_ANY        = 0x8\n\tPERF_SAMPLE_BRANCH_ANY_CALL   = 0x10\n\tPERF_SAMPLE_BRANCH_ANY_RETURN = 0x20\n\tPERF_SAMPLE_BRANCH_IND_CALL   = 0x40\n\n\tPERF_FORMAT_TOTAL_TIME_ENABLED = 0x1\n\tPERF_FORMAT_TOTAL_TIME_RUNNING = 0x2\n\tPERF_FORMAT_ID                 = 0x4\n\tPERF_FORMAT_GROUP              = 0x8\n\n\tPERF_RECORD_MMAP       = 0x1\n\tPERF_RECORD_LOST       = 0x2\n\tPERF_RECORD_COMM       = 0x3\n\tPERF_RECORD_EXIT       = 0x4\n\tPERF_RECORD_THROTTLE   = 0x5\n\tPERF_RECORD_UNTHROTTLE = 0x6\n\tPERF_RECORD_FORK       = 0x7\n\tPERF_RECORD_READ       = 0x8\n\tPERF_RECORD_SAMPLE     = 0x9\n\n\tPERF_CONTEXT_HV     = -0x20\n\tPERF_CONTEXT_KERNEL = -0x80\n\tPERF_CONTEXT_USER   = -0x200\n\n\tPERF_CONTEXT_GUEST        = -0x800\n\tPERF_CONTEXT_GUEST_KERNEL = -0x880\n\tPERF_CONTEXT_GUEST_USER   = -0xa00\n\n\tPERF_FLAG_FD_NO_GROUP = 0x1\n\tPERF_FLAG_FD_OUTPUT   = 0x2\n\tPERF_FLAG_PID_CGROUP  = 0x4\n)\n\nconst (\n\tCBitFieldMaskBit0  = 0x8000000000000000\n\tCBitFieldMaskBit1  = 0x4000000000000000\n\tCBitFieldMaskBit2  = 0x2000000000000000\n\tCBitFieldMaskBit3  = 0x1000000000000000\n\tCBitFieldMaskBit4  = 0x800000000000000\n\tCBitFieldMaskBit5  = 0x400000000000000\n\tCBitFieldMaskBit6  = 0x200000000000000\n\tCBitFieldMaskBit7  = 0x100000000000000\n\tCBitFieldMaskBit8  = 0x80000000000000\n\tCBitFieldMaskBit9  = 0x40000000000000\n\tCBitFieldMaskBit10 = 0x20000000000000\n\tCBitFieldMaskBit11 = 0x10000000000000\n\tCBitFieldMaskBit12 = 0x8000000000000\n\tCBitFieldMaskBit13 = 0x4000000000000\n\tCBitFieldMaskBit14 = 0x2000000000000\n\tCBitFieldMaskBit15 = 0x1000000000000\n\tCBitFieldMaskBit16 = 0x800000000000\n\tCBitFieldMaskBit17 = 0x400000000000\n\tCBitFieldMaskBit18 = 0x200000000000\n\tCBitFieldMaskBit19 = 0x100000000000\n\tCBitFieldMaskBit20 = 0x80000000000\n\tCBitFieldMaskBit21 = 0x40000000000\n\tCBitFieldMaskBit22 = 0x20000000000\n\tCBitFieldMaskBit23 = 0x10000000000\n\tCBitFieldMaskBit24 = 0x8000000000\n\tCBitFieldMaskBit25 = 0x4000000000\n\tCBitFieldMaskBit26 = 0x2000000000\n\tCBitFieldMaskBit27 = 0x1000000000\n\tCBitFieldMaskBit28 = 0x800000000\n\tCBitFieldMaskBit29 = 0x400000000\n\tCBitFieldMaskBit30 = 0x200000000\n\tCBitFieldMaskBit31 = 0x100000000\n\tCBitFieldMaskBit32 = 0x80000000\n\tCBitFieldMaskBit33 = 0x40000000\n\tCBitFieldMaskBit34 = 0x20000000\n\tCBitFieldMaskBit35 = 0x10000000\n\tCBitFieldMaskBit36 = 0x8000000\n\tCBitFieldMaskBit37 = 0x4000000\n\tCBitFieldMaskBit38 = 0x2000000\n\tCBitFieldMaskBit39 = 0x1000000\n\tCBitFieldMaskBit40 = 0x800000\n\tCBitFieldMaskBit41 = 0x400000\n\tCBitFieldMaskBit42 = 0x200000\n\tCBitFieldMaskBit43 = 0x100000\n\tCBitFieldMaskBit44 = 0x80000\n\tCBitFieldMaskBit45 = 0x40000\n\tCBitFieldMaskBit46 = 0x20000\n\tCBitFieldMaskBit47 = 0x10000\n\tCBitFieldMaskBit48 = 0x8000\n\tCBitFieldMaskBit49 = 0x4000\n\tCBitFieldMaskBit50 = 0x2000\n\tCBitFieldMaskBit51 = 0x1000\n\tCBitFieldMaskBit52 = 0x800\n\tCBitFieldMaskBit53 = 0x400\n\tCBitFieldMaskBit54 = 0x200\n\tCBitFieldMaskBit55 = 0x100\n\tCBitFieldMaskBit56 = 0x80\n\tCBitFieldMaskBit57 = 0x40\n\tCBitFieldMaskBit58 = 0x20\n\tCBitFieldMaskBit59 = 0x10\n\tCBitFieldMaskBit60 = 0x8\n\tCBitFieldMaskBit61 = 0x4\n\tCBitFieldMaskBit62 = 0x2\n\tCBitFieldMaskBit63 = 0x1\n)\n\ntype SockaddrStorage struct {\n\tFamily uint16\n\t_      [122]int8\n\t_      uint32\n}\n\ntype TCPMD5Sig struct {\n\tAddr      SockaddrStorage\n\tFlags     uint8\n\tPrefixlen uint8\n\tKeylen    uint16\n\t_         uint32\n\tKey       [80]uint8\n}\n\ntype HDDriveCmdHdr struct {\n\tCommand uint8\n\tNumber  uint8\n\tFeature uint8\n\tCount   uint8\n}\n\ntype HDGeometry struct {\n\tHeads     uint8\n\tSectors   uint8\n\tCylinders uint16\n\tStart     uint32\n}\n\ntype HDDriveID struct {\n\tConfig         uint16\n\tCyls           uint16\n\tReserved2      uint16\n\tHeads          uint16\n\tTrack_bytes    uint16\n\tSector_bytes   uint16\n\tSectors        uint16\n\tVendor0        uint16\n\tVendor1        uint16\n\tVendor2        uint16\n\tSerial_no      [20]uint8\n\tBuf_type       uint16\n\tBuf_size       uint16\n\tEcc_bytes      uint16\n\tFw_rev         [8]uint8\n\tModel          [40]uint8\n\tMax_multsect   uint8\n\tVendor3        uint8\n\tDword_io       uint16\n\tVendor4        uint8\n\tCapability     uint8\n\tReserved50     uint16\n\tVendor5        uint8\n\tTPIO           uint8\n\tVendor6        uint8\n\tTDMA           uint8\n\tField_valid    uint16\n\tCur_cyls       uint16\n\tCur_heads      uint16\n\tCur_sectors    uint16\n\tCur_capacity0  uint16\n\tCur_capacity1  uint16\n\tMultsect       uint8\n\tMultsect_valid uint8\n\tLba_capacity   uint32\n\tDma_1word      uint16\n\tDma_mword      uint16\n\tEide_pio_modes uint16\n\tEide_dma_min   uint16\n\tEide_dma_time  uint16\n\tEide_pio       uint16\n\tEide_pio_iordy uint16\n\tWords69_70     [2]uint16\n\tWords71_74     [4]uint16\n\tQueue_depth    uint16\n\tWords76_79     [4]uint16\n\tMajor_rev_num  uint16\n\tMinor_rev_num  uint16\n\tCommand_set_1  uint16\n\tCommand_set_2  uint16\n\tCfsse          uint16\n\tCfs_enable_1   uint16\n\tCfs_enable_2   uint16\n\tCsf_default    uint16\n\tDma_ultra      uint16\n\tTrseuc         uint16\n\tTrsEuc         uint16\n\tCurAPMvalues   uint16\n\tMprc           uint16\n\tHw_config      uint16\n\tAcoustic       uint16\n\tMsrqs          uint16\n\tSxfert         uint16\n\tSal            uint16\n\tSpg            uint32\n\tLba_capacity_2 uint64\n\tWords104_125   [22]uint16\n\tLast_lun       uint16\n\tWord127        uint16\n\tDlf            uint16\n\tCsfo           uint16\n\tWords130_155   [26]uint16\n\tWord156        uint16\n\tWords157_159   [3]uint16\n\tCfa_power      uint16\n\tWords161_175   [15]uint16\n\tWords176_205   [30]uint16\n\tWords206_254   [49]uint16\n\tIntegrity_word uint16\n}\n\ntype Statfs_t struct {\n\tType    int32\n\tBsize   int32\n\tFrsize  int32\n\t_       [4]byte\n\tBlocks  uint64\n\tBfree   uint64\n\tFiles   uint64\n\tFfree   uint64\n\tBavail  uint64\n\tFsid    Fsid\n\tNamelen int32\n\tFlags   int32\n\tSpare   [5]int32\n\t_       [4]byte\n}\n\nconst (\n\tST_MANDLOCK    = 0x40\n\tST_NOATIME     = 0x400\n\tST_NODEV       = 0x4\n\tST_NODIRATIME  = 0x800\n\tST_NOEXEC      = 0x8\n\tST_NOSUID      = 0x2\n\tST_RDONLY      = 0x1\n\tST_RELATIME    = 0x1000\n\tST_SYNCHRONOUS = 0x10\n)\n\ntype TpacketHdr struct {\n\tStatus  uint32\n\tLen     uint32\n\tSnaplen uint32\n\tMac     uint16\n\tNet     uint16\n\tSec     uint32\n\tUsec    uint32\n}\n\ntype Tpacket2Hdr struct {\n\tStatus    uint32\n\tLen       uint32\n\tSnaplen   uint32\n\tMac       uint16\n\tNet       uint16\n\tSec       uint32\n\tNsec      uint32\n\tVlan_tci  uint16\n\tVlan_tpid uint16\n\t_         [4]uint8\n}\n\ntype Tpacket3Hdr struct {\n\tNext_offset uint32\n\tSec         uint32\n\tNsec        uint32\n\tSnaplen     uint32\n\tLen         uint32\n\tStatus      uint32\n\tMac         uint16\n\tNet         uint16\n\tHv1         TpacketHdrVariant1\n\t_           [8]uint8\n}\n\ntype TpacketHdrVariant1 struct {\n\tRxhash    uint32\n\tVlan_tci  uint32\n\tVlan_tpid uint16\n\t_         uint16\n}\n\ntype TpacketBlockDesc struct {\n\tVersion uint32\n\tTo_priv uint32\n\tHdr     [40]byte\n}\n\ntype TpacketReq struct {\n\tBlock_size uint32\n\tBlock_nr   uint32\n\tFrame_size uint32\n\tFrame_nr   uint32\n}\n\ntype TpacketReq3 struct {\n\tBlock_size       uint32\n\tBlock_nr         uint32\n\tFrame_size       uint32\n\tFrame_nr         uint32\n\tRetire_blk_tov   uint32\n\tSizeof_priv      uint32\n\tFeature_req_word uint32\n}\n\ntype TpacketStats struct {\n\tPackets uint32\n\tDrops   uint32\n}\n\ntype TpacketStatsV3 struct {\n\tPackets      uint32\n\tDrops        uint32\n\tFreeze_q_cnt uint32\n}\n\ntype TpacketAuxdata struct {\n\tStatus    uint32\n\tLen       uint32\n\tSnaplen   uint32\n\tMac       uint16\n\tNet       uint16\n\tVlan_tci  uint16\n\tVlan_tpid uint16\n}\n\nconst (\n\tTPACKET_V1 = 0x0\n\tTPACKET_V2 = 0x1\n\tTPACKET_V3 = 0x2\n)\n\nconst (\n\tSizeofTpacketHdr  = 0x18\n\tSizeofTpacket2Hdr = 0x20\n\tSizeofTpacket3Hdr = 0x30\n)\n\nconst (\n\tNF_INET_PRE_ROUTING  = 0x0\n\tNF_INET_LOCAL_IN     = 0x1\n\tNF_INET_FORWARD      = 0x2\n\tNF_INET_LOCAL_OUT    = 0x3\n\tNF_INET_POST_ROUTING = 0x4\n\tNF_INET_NUMHOOKS     = 0x5\n)\n\nconst (\n\tNF_NETDEV_INGRESS  = 0x0\n\tNF_NETDEV_NUMHOOKS = 0x1\n)\n\nconst (\n\tNFPROTO_UNSPEC   = 0x0\n\tNFPROTO_INET     = 0x1\n\tNFPROTO_IPV4     = 0x2\n\tNFPROTO_ARP      = 0x3\n\tNFPROTO_NETDEV   = 0x5\n\tNFPROTO_BRIDGE   = 0x7\n\tNFPROTO_IPV6     = 0xa\n\tNFPROTO_DECNET   = 0xc\n\tNFPROTO_NUMPROTO = 0xd\n)\n\ntype Nfgenmsg struct {\n\tNfgen_family uint8\n\tVersion      uint8\n\tRes_id       uint16\n}\n\nconst (\n\tNFNL_BATCH_UNSPEC = 0x0\n\tNFNL_BATCH_GENID  = 0x1\n)\n\nconst (\n\tNFT_REG_VERDICT                   = 0x0\n\tNFT_REG_1                         = 0x1\n\tNFT_REG_2                         = 0x2\n\tNFT_REG_3                         = 0x3\n\tNFT_REG_4                         = 0x4\n\tNFT_REG32_00                      = 0x8\n\tNFT_REG32_01                      = 0x9\n\tNFT_REG32_02                      = 0xa\n\tNFT_REG32_03                      = 0xb\n\tNFT_REG32_04                      = 0xc\n\tNFT_REG32_05                      = 0xd\n\tNFT_REG32_06                      = 0xe\n\tNFT_REG32_07                      = 0xf\n\tNFT_REG32_08                      = 0x10\n\tNFT_REG32_09                      = 0x11\n\tNFT_REG32_10                      = 0x12\n\tNFT_REG32_11                      = 0x13\n\tNFT_REG32_12                      = 0x14\n\tNFT_REG32_13                      = 0x15\n\tNFT_REG32_14                      = 0x16\n\tNFT_REG32_15                      = 0x17\n\tNFT_CONTINUE                      = -0x1\n\tNFT_BREAK                         = -0x2\n\tNFT_JUMP                          = -0x3\n\tNFT_GOTO                          = -0x4\n\tNFT_RETURN                        = -0x5\n\tNFT_MSG_NEWTABLE                  = 0x0\n\tNFT_MSG_GETTABLE                  = 0x1\n\tNFT_MSG_DELTABLE                  = 0x2\n\tNFT_MSG_NEWCHAIN                  = 0x3\n\tNFT_MSG_GETCHAIN                  = 0x4\n\tNFT_MSG_DELCHAIN                  = 0x5\n\tNFT_MSG_NEWRULE                   = 0x6\n\tNFT_MSG_GETRULE                   = 0x7\n\tNFT_MSG_DELRULE                   = 0x8\n\tNFT_MSG_NEWSET                    = 0x9\n\tNFT_MSG_GETSET                    = 0xa\n\tNFT_MSG_DELSET                    = 0xb\n\tNFT_MSG_NEWSETELEM                = 0xc\n\tNFT_MSG_GETSETELEM                = 0xd\n\tNFT_MSG_DELSETELEM                = 0xe\n\tNFT_MSG_NEWGEN                    = 0xf\n\tNFT_MSG_GETGEN                    = 0x10\n\tNFT_MSG_TRACE                     = 0x11\n\tNFT_MSG_NEWOBJ                    = 0x12\n\tNFT_MSG_GETOBJ                    = 0x13\n\tNFT_MSG_DELOBJ                    = 0x14\n\tNFT_MSG_GETOBJ_RESET              = 0x15\n\tNFT_MSG_MAX                       = 0x19\n\tNFTA_LIST_UNPEC                   = 0x0\n\tNFTA_LIST_ELEM                    = 0x1\n\tNFTA_HOOK_UNSPEC                  = 0x0\n\tNFTA_HOOK_HOOKNUM                 = 0x1\n\tNFTA_HOOK_PRIORITY                = 0x2\n\tNFTA_HOOK_DEV                     = 0x3\n\tNFT_TABLE_F_DORMANT               = 0x1\n\tNFTA_TABLE_UNSPEC                 = 0x0\n\tNFTA_TABLE_NAME                   = 0x1\n\tNFTA_TABLE_FLAGS                  = 0x2\n\tNFTA_TABLE_USE                    = 0x3\n\tNFTA_CHAIN_UNSPEC                 = 0x0\n\tNFTA_CHAIN_TABLE                  = 0x1\n\tNFTA_CHAIN_HANDLE                 = 0x2\n\tNFTA_CHAIN_NAME                   = 0x3\n\tNFTA_CHAIN_HOOK                   = 0x4\n\tNFTA_CHAIN_POLICY                 = 0x5\n\tNFTA_CHAIN_USE                    = 0x6\n\tNFTA_CHAIN_TYPE                   = 0x7\n\tNFTA_CHAIN_COUNTERS               = 0x8\n\tNFTA_CHAIN_PAD                    = 0x9\n\tNFTA_RULE_UNSPEC                  = 0x0\n\tNFTA_RULE_TABLE                   = 0x1\n\tNFTA_RULE_CHAIN                   = 0x2\n\tNFTA_RULE_HANDLE                  = 0x3\n\tNFTA_RULE_EXPRESSIONS             = 0x4\n\tNFTA_RULE_COMPAT                  = 0x5\n\tNFTA_RULE_POSITION                = 0x6\n\tNFTA_RULE_USERDATA                = 0x7\n\tNFTA_RULE_PAD                     = 0x8\n\tNFTA_RULE_ID                      = 0x9\n\tNFT_RULE_COMPAT_F_INV             = 0x2\n\tNFT_RULE_COMPAT_F_MASK            = 0x2\n\tNFTA_RULE_COMPAT_UNSPEC           = 0x0\n\tNFTA_RULE_COMPAT_PROTO            = 0x1\n\tNFTA_RULE_COMPAT_FLAGS            = 0x2\n\tNFT_SET_ANONYMOUS                 = 0x1\n\tNFT_SET_CONSTANT                  = 0x2\n\tNFT_SET_INTERVAL                  = 0x4\n\tNFT_SET_MAP                       = 0x8\n\tNFT_SET_TIMEOUT                   = 0x10\n\tNFT_SET_EVAL                      = 0x20\n\tNFT_SET_OBJECT                    = 0x40\n\tNFT_SET_POL_PERFORMANCE           = 0x0\n\tNFT_SET_POL_MEMORY                = 0x1\n\tNFTA_SET_DESC_UNSPEC              = 0x0\n\tNFTA_SET_DESC_SIZE                = 0x1\n\tNFTA_SET_UNSPEC                   = 0x0\n\tNFTA_SET_TABLE                    = 0x1\n\tNFTA_SET_NAME                     = 0x2\n\tNFTA_SET_FLAGS                    = 0x3\n\tNFTA_SET_KEY_TYPE                 = 0x4\n\tNFTA_SET_KEY_LEN                  = 0x5\n\tNFTA_SET_DATA_TYPE                = 0x6\n\tNFTA_SET_DATA_LEN                 = 0x7\n\tNFTA_SET_POLICY                   = 0x8\n\tNFTA_SET_DESC                     = 0x9\n\tNFTA_SET_ID                       = 0xa\n\tNFTA_SET_TIMEOUT                  = 0xb\n\tNFTA_SET_GC_INTERVAL              = 0xc\n\tNFTA_SET_USERDATA                 = 0xd\n\tNFTA_SET_PAD                      = 0xe\n\tNFTA_SET_OBJ_TYPE                 = 0xf\n\tNFT_SET_ELEM_INTERVAL_END         = 0x1\n\tNFTA_SET_ELEM_UNSPEC              = 0x0\n\tNFTA_SET_ELEM_KEY                 = 0x1\n\tNFTA_SET_ELEM_DATA                = 0x2\n\tNFTA_SET_ELEM_FLAGS               = 0x3\n\tNFTA_SET_ELEM_TIMEOUT             = 0x4\n\tNFTA_SET_ELEM_EXPIRATION          = 0x5\n\tNFTA_SET_ELEM_USERDATA            = 0x6\n\tNFTA_SET_ELEM_EXPR                = 0x7\n\tNFTA_SET_ELEM_PAD                 = 0x8\n\tNFTA_SET_ELEM_OBJREF              = 0x9\n\tNFTA_SET_ELEM_LIST_UNSPEC         = 0x0\n\tNFTA_SET_ELEM_LIST_TABLE          = 0x1\n\tNFTA_SET_ELEM_LIST_SET            = 0x2\n\tNFTA_SET_ELEM_LIST_ELEMENTS       = 0x3\n\tNFTA_SET_ELEM_LIST_SET_ID         = 0x4\n\tNFT_DATA_VALUE                    = 0x0\n\tNFT_DATA_VERDICT                  = 0xffffff00\n\tNFTA_DATA_UNSPEC                  = 0x0\n\tNFTA_DATA_VALUE                   = 0x1\n\tNFTA_DATA_VERDICT                 = 0x2\n\tNFTA_VERDICT_UNSPEC               = 0x0\n\tNFTA_VERDICT_CODE                 = 0x1\n\tNFTA_VERDICT_CHAIN                = 0x2\n\tNFTA_EXPR_UNSPEC                  = 0x0\n\tNFTA_EXPR_NAME                    = 0x1\n\tNFTA_EXPR_DATA                    = 0x2\n\tNFTA_IMMEDIATE_UNSPEC             = 0x0\n\tNFTA_IMMEDIATE_DREG               = 0x1\n\tNFTA_IMMEDIATE_DATA               = 0x2\n\tNFTA_BITWISE_UNSPEC               = 0x0\n\tNFTA_BITWISE_SREG                 = 0x1\n\tNFTA_BITWISE_DREG                 = 0x2\n\tNFTA_BITWISE_LEN                  = 0x3\n\tNFTA_BITWISE_MASK                 = 0x4\n\tNFTA_BITWISE_XOR                  = 0x5\n\tNFT_BYTEORDER_NTOH                = 0x0\n\tNFT_BYTEORDER_HTON                = 0x1\n\tNFTA_BYTEORDER_UNSPEC             = 0x0\n\tNFTA_BYTEORDER_SREG               = 0x1\n\tNFTA_BYTEORDER_DREG               = 0x2\n\tNFTA_BYTEORDER_OP                 = 0x3\n\tNFTA_BYTEORDER_LEN                = 0x4\n\tNFTA_BYTEORDER_SIZE               = 0x5\n\tNFT_CMP_EQ                        = 0x0\n\tNFT_CMP_NEQ                       = 0x1\n\tNFT_CMP_LT                        = 0x2\n\tNFT_CMP_LTE                       = 0x3\n\tNFT_CMP_GT                        = 0x4\n\tNFT_CMP_GTE                       = 0x5\n\tNFTA_CMP_UNSPEC                   = 0x0\n\tNFTA_CMP_SREG                     = 0x1\n\tNFTA_CMP_OP                       = 0x2\n\tNFTA_CMP_DATA                     = 0x3\n\tNFT_RANGE_EQ                      = 0x0\n\tNFT_RANGE_NEQ                     = 0x1\n\tNFTA_RANGE_UNSPEC                 = 0x0\n\tNFTA_RANGE_SREG                   = 0x1\n\tNFTA_RANGE_OP                     = 0x2\n\tNFTA_RANGE_FROM_DATA              = 0x3\n\tNFTA_RANGE_TO_DATA                = 0x4\n\tNFT_LOOKUP_F_INV                  = 0x1\n\tNFTA_LOOKUP_UNSPEC                = 0x0\n\tNFTA_LOOKUP_SET                   = 0x1\n\tNFTA_LOOKUP_SREG                  = 0x2\n\tNFTA_LOOKUP_DREG                  = 0x3\n\tNFTA_LOOKUP_SET_ID                = 0x4\n\tNFTA_LOOKUP_FLAGS                 = 0x5\n\tNFT_DYNSET_OP_ADD                 = 0x0\n\tNFT_DYNSET_OP_UPDATE              = 0x1\n\tNFT_DYNSET_F_INV                  = 0x1\n\tNFTA_DYNSET_UNSPEC                = 0x0\n\tNFTA_DYNSET_SET_NAME              = 0x1\n\tNFTA_DYNSET_SET_ID                = 0x2\n\tNFTA_DYNSET_OP                    = 0x3\n\tNFTA_DYNSET_SREG_KEY              = 0x4\n\tNFTA_DYNSET_SREG_DATA             = 0x5\n\tNFTA_DYNSET_TIMEOUT               = 0x6\n\tNFTA_DYNSET_EXPR                  = 0x7\n\tNFTA_DYNSET_PAD                   = 0x8\n\tNFTA_DYNSET_FLAGS                 = 0x9\n\tNFT_PAYLOAD_LL_HEADER             = 0x0\n\tNFT_PAYLOAD_NETWORK_HEADER        = 0x1\n\tNFT_PAYLOAD_TRANSPORT_HEADER      = 0x2\n\tNFT_PAYLOAD_CSUM_NONE             = 0x0\n\tNFT_PAYLOAD_CSUM_INET             = 0x1\n\tNFT_PAYLOAD_L4CSUM_PSEUDOHDR      = 0x1\n\tNFTA_PAYLOAD_UNSPEC               = 0x0\n\tNFTA_PAYLOAD_DREG                 = 0x1\n\tNFTA_PAYLOAD_BASE                 = 0x2\n\tNFTA_PAYLOAD_OFFSET               = 0x3\n\tNFTA_PAYLOAD_LEN                  = 0x4\n\tNFTA_PAYLOAD_SREG                 = 0x5\n\tNFTA_PAYLOAD_CSUM_TYPE            = 0x6\n\tNFTA_PAYLOAD_CSUM_OFFSET          = 0x7\n\tNFTA_PAYLOAD_CSUM_FLAGS           = 0x8\n\tNFT_EXTHDR_F_PRESENT              = 0x1\n\tNFT_EXTHDR_OP_IPV6                = 0x0\n\tNFT_EXTHDR_OP_TCPOPT              = 0x1\n\tNFTA_EXTHDR_UNSPEC                = 0x0\n\tNFTA_EXTHDR_DREG                  = 0x1\n\tNFTA_EXTHDR_TYPE                  = 0x2\n\tNFTA_EXTHDR_OFFSET                = 0x3\n\tNFTA_EXTHDR_LEN                   = 0x4\n\tNFTA_EXTHDR_FLAGS                 = 0x5\n\tNFTA_EXTHDR_OP                    = 0x6\n\tNFTA_EXTHDR_SREG                  = 0x7\n\tNFT_META_LEN                      = 0x0\n\tNFT_META_PROTOCOL                 = 0x1\n\tNFT_META_PRIORITY                 = 0x2\n\tNFT_META_MARK                     = 0x3\n\tNFT_META_IIF                      = 0x4\n\tNFT_META_OIF                      = 0x5\n\tNFT_META_IIFNAME                  = 0x6\n\tNFT_META_OIFNAME                  = 0x7\n\tNFT_META_IIFTYPE                  = 0x8\n\tNFT_META_OIFTYPE                  = 0x9\n\tNFT_META_SKUID                    = 0xa\n\tNFT_META_SKGID                    = 0xb\n\tNFT_META_NFTRACE                  = 0xc\n\tNFT_META_RTCLASSID                = 0xd\n\tNFT_META_SECMARK                  = 0xe\n\tNFT_META_NFPROTO                  = 0xf\n\tNFT_META_L4PROTO                  = 0x10\n\tNFT_META_BRI_IIFNAME              = 0x11\n\tNFT_META_BRI_OIFNAME              = 0x12\n\tNFT_META_PKTTYPE                  = 0x13\n\tNFT_META_CPU                      = 0x14\n\tNFT_META_IIFGROUP                 = 0x15\n\tNFT_META_OIFGROUP                 = 0x16\n\tNFT_META_CGROUP                   = 0x17\n\tNFT_META_PRANDOM                  = 0x18\n\tNFT_RT_CLASSID                    = 0x0\n\tNFT_RT_NEXTHOP4                   = 0x1\n\tNFT_RT_NEXTHOP6                   = 0x2\n\tNFT_RT_TCPMSS                     = 0x3\n\tNFT_HASH_JENKINS                  = 0x0\n\tNFT_HASH_SYM                      = 0x1\n\tNFTA_HASH_UNSPEC                  = 0x0\n\tNFTA_HASH_SREG                    = 0x1\n\tNFTA_HASH_DREG                    = 0x2\n\tNFTA_HASH_LEN                     = 0x3\n\tNFTA_HASH_MODULUS                 = 0x4\n\tNFTA_HASH_SEED                    = 0x5\n\tNFTA_HASH_OFFSET                  = 0x6\n\tNFTA_HASH_TYPE                    = 0x7\n\tNFTA_META_UNSPEC                  = 0x0\n\tNFTA_META_DREG                    = 0x1\n\tNFTA_META_KEY                     = 0x2\n\tNFTA_META_SREG                    = 0x3\n\tNFTA_RT_UNSPEC                    = 0x0\n\tNFTA_RT_DREG                      = 0x1\n\tNFTA_RT_KEY                       = 0x2\n\tNFT_CT_STATE                      = 0x0\n\tNFT_CT_DIRECTION                  = 0x1\n\tNFT_CT_STATUS                     = 0x2\n\tNFT_CT_MARK                       = 0x3\n\tNFT_CT_SECMARK                    = 0x4\n\tNFT_CT_EXPIRATION                 = 0x5\n\tNFT_CT_HELPER                     = 0x6\n\tNFT_CT_L3PROTOCOL                 = 0x7\n\tNFT_CT_SRC                        = 0x8\n\tNFT_CT_DST                        = 0x9\n\tNFT_CT_PROTOCOL                   = 0xa\n\tNFT_CT_PROTO_SRC                  = 0xb\n\tNFT_CT_PROTO_DST                  = 0xc\n\tNFT_CT_LABELS                     = 0xd\n\tNFT_CT_PKTS                       = 0xe\n\tNFT_CT_BYTES                      = 0xf\n\tNFT_CT_AVGPKT                     = 0x10\n\tNFT_CT_ZONE                       = 0x11\n\tNFT_CT_EVENTMASK                  = 0x12\n\tNFTA_CT_UNSPEC                    = 0x0\n\tNFTA_CT_DREG                      = 0x1\n\tNFTA_CT_KEY                       = 0x2\n\tNFTA_CT_DIRECTION                 = 0x3\n\tNFTA_CT_SREG                      = 0x4\n\tNFT_LIMIT_PKTS                    = 0x0\n\tNFT_LIMIT_PKT_BYTES               = 0x1\n\tNFT_LIMIT_F_INV                   = 0x1\n\tNFTA_LIMIT_UNSPEC                 = 0x0\n\tNFTA_LIMIT_RATE                   = 0x1\n\tNFTA_LIMIT_UNIT                   = 0x2\n\tNFTA_LIMIT_BURST                  = 0x3\n\tNFTA_LIMIT_TYPE                   = 0x4\n\tNFTA_LIMIT_FLAGS                  = 0x5\n\tNFTA_LIMIT_PAD                    = 0x6\n\tNFTA_COUNTER_UNSPEC               = 0x0\n\tNFTA_COUNTER_BYTES                = 0x1\n\tNFTA_COUNTER_PACKETS              = 0x2\n\tNFTA_COUNTER_PAD                  = 0x3\n\tNFTA_LOG_UNSPEC                   = 0x0\n\tNFTA_LOG_GROUP                    = 0x1\n\tNFTA_LOG_PREFIX                   = 0x2\n\tNFTA_LOG_SNAPLEN                  = 0x3\n\tNFTA_LOG_QTHRESHOLD               = 0x4\n\tNFTA_LOG_LEVEL                    = 0x5\n\tNFTA_LOG_FLAGS                    = 0x6\n\tNFTA_QUEUE_UNSPEC                 = 0x0\n\tNFTA_QUEUE_NUM                    = 0x1\n\tNFTA_QUEUE_TOTAL                  = 0x2\n\tNFTA_QUEUE_FLAGS                  = 0x3\n\tNFTA_QUEUE_SREG_QNUM              = 0x4\n\tNFT_QUOTA_F_INV                   = 0x1\n\tNFT_QUOTA_F_DEPLETED              = 0x2\n\tNFTA_QUOTA_UNSPEC                 = 0x0\n\tNFTA_QUOTA_BYTES                  = 0x1\n\tNFTA_QUOTA_FLAGS                  = 0x2\n\tNFTA_QUOTA_PAD                    = 0x3\n\tNFTA_QUOTA_CONSUMED               = 0x4\n\tNFT_REJECT_ICMP_UNREACH           = 0x0\n\tNFT_REJECT_TCP_RST                = 0x1\n\tNFT_REJECT_ICMPX_UNREACH          = 0x2\n\tNFT_REJECT_ICMPX_NO_ROUTE         = 0x0\n\tNFT_REJECT_ICMPX_PORT_UNREACH     = 0x1\n\tNFT_REJECT_ICMPX_HOST_UNREACH     = 0x2\n\tNFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3\n\tNFTA_REJECT_UNSPEC                = 0x0\n\tNFTA_REJECT_TYPE                  = 0x1\n\tNFTA_REJECT_ICMP_CODE             = 0x2\n\tNFT_NAT_SNAT                      = 0x0\n\tNFT_NAT_DNAT                      = 0x1\n\tNFTA_NAT_UNSPEC                   = 0x0\n\tNFTA_NAT_TYPE                     = 0x1\n\tNFTA_NAT_FAMILY                   = 0x2\n\tNFTA_NAT_REG_ADDR_MIN             = 0x3\n\tNFTA_NAT_REG_ADDR_MAX             = 0x4\n\tNFTA_NAT_REG_PROTO_MIN            = 0x5\n\tNFTA_NAT_REG_PROTO_MAX            = 0x6\n\tNFTA_NAT_FLAGS                    = 0x7\n\tNFTA_MASQ_UNSPEC                  = 0x0\n\tNFTA_MASQ_FLAGS                   = 0x1\n\tNFTA_MASQ_REG_PROTO_MIN           = 0x2\n\tNFTA_MASQ_REG_PROTO_MAX           = 0x3\n\tNFTA_REDIR_UNSPEC                 = 0x0\n\tNFTA_REDIR_REG_PROTO_MIN          = 0x1\n\tNFTA_REDIR_REG_PROTO_MAX          = 0x2\n\tNFTA_REDIR_FLAGS                  = 0x3\n\tNFTA_DUP_UNSPEC                   = 0x0\n\tNFTA_DUP_SREG_ADDR                = 0x1\n\tNFTA_DUP_SREG_DEV                 = 0x2\n\tNFTA_FWD_UNSPEC                   = 0x0\n\tNFTA_FWD_SREG_DEV                 = 0x1\n\tNFTA_OBJREF_UNSPEC                = 0x0\n\tNFTA_OBJREF_IMM_TYPE              = 0x1\n\tNFTA_OBJREF_IMM_NAME              = 0x2\n\tNFTA_OBJREF_SET_SREG              = 0x3\n\tNFTA_OBJREF_SET_NAME              = 0x4\n\tNFTA_OBJREF_SET_ID                = 0x5\n\tNFTA_GEN_UNSPEC                   = 0x0\n\tNFTA_GEN_ID                       = 0x1\n\tNFTA_GEN_PROC_PID                 = 0x2\n\tNFTA_GEN_PROC_NAME                = 0x3\n\tNFTA_FIB_UNSPEC                   = 0x0\n\tNFTA_FIB_DREG                     = 0x1\n\tNFTA_FIB_RESULT                   = 0x2\n\tNFTA_FIB_FLAGS                    = 0x3\n\tNFT_FIB_RESULT_UNSPEC             = 0x0\n\tNFT_FIB_RESULT_OIF                = 0x1\n\tNFT_FIB_RESULT_OIFNAME            = 0x2\n\tNFT_FIB_RESULT_ADDRTYPE           = 0x3\n\tNFTA_FIB_F_SADDR                  = 0x1\n\tNFTA_FIB_F_DADDR                  = 0x2\n\tNFTA_FIB_F_MARK                   = 0x4\n\tNFTA_FIB_F_IIF                    = 0x8\n\tNFTA_FIB_F_OIF                    = 0x10\n\tNFTA_FIB_F_PRESENT                = 0x20\n\tNFTA_CT_HELPER_UNSPEC             = 0x0\n\tNFTA_CT_HELPER_NAME               = 0x1\n\tNFTA_CT_HELPER_L3PROTO            = 0x2\n\tNFTA_CT_HELPER_L4PROTO            = 0x3\n\tNFTA_OBJ_UNSPEC                   = 0x0\n\tNFTA_OBJ_TABLE                    = 0x1\n\tNFTA_OBJ_NAME                     = 0x2\n\tNFTA_OBJ_TYPE                     = 0x3\n\tNFTA_OBJ_DATA                     = 0x4\n\tNFTA_OBJ_USE                      = 0x5\n\tNFTA_TRACE_UNSPEC                 = 0x0\n\tNFTA_TRACE_TABLE                  = 0x1\n\tNFTA_TRACE_CHAIN                  = 0x2\n\tNFTA_TRACE_RULE_HANDLE            = 0x3\n\tNFTA_TRACE_TYPE                   = 0x4\n\tNFTA_TRACE_VERDICT                = 0x5\n\tNFTA_TRACE_ID                     = 0x6\n\tNFTA_TRACE_LL_HEADER              = 0x7\n\tNFTA_TRACE_NETWORK_HEADER         = 0x8\n\tNFTA_TRACE_TRANSPORT_HEADER       = 0x9\n\tNFTA_TRACE_IIF                    = 0xa\n\tNFTA_TRACE_IIFTYPE                = 0xb\n\tNFTA_TRACE_OIF                    = 0xc\n\tNFTA_TRACE_OIFTYPE                = 0xd\n\tNFTA_TRACE_MARK                   = 0xe\n\tNFTA_TRACE_NFPROTO                = 0xf\n\tNFTA_TRACE_POLICY                 = 0x10\n\tNFTA_TRACE_PAD                    = 0x11\n\tNFT_TRACETYPE_UNSPEC              = 0x0\n\tNFT_TRACETYPE_POLICY              = 0x1\n\tNFT_TRACETYPE_RETURN              = 0x2\n\tNFT_TRACETYPE_RULE                = 0x3\n\tNFTA_NG_UNSPEC                    = 0x0\n\tNFTA_NG_DREG                      = 0x1\n\tNFTA_NG_MODULUS                   = 0x2\n\tNFTA_NG_TYPE                      = 0x3\n\tNFTA_NG_OFFSET                    = 0x4\n\tNFT_NG_INCREMENTAL                = 0x0\n\tNFT_NG_RANDOM                     = 0x1\n)\n\ntype RTCTime struct {\n\tSec   int32\n\tMin   int32\n\tHour  int32\n\tMday  int32\n\tMon   int32\n\tYear  int32\n\tWday  int32\n\tYday  int32\n\tIsdst int32\n}\n\ntype RTCWkAlrm struct {\n\tEnabled uint8\n\tPending uint8\n\t_       [2]byte\n\tTime    RTCTime\n}\n\ntype RTCPLLInfo struct {\n\tCtrl    int32\n\tValue   int32\n\tMax     int32\n\tMin     int32\n\tPosmult int32\n\tNegmult int32\n\tClock   int32\n}\n\ntype BlkpgIoctlArg struct {\n\tOp      int32\n\tFlags   int32\n\tDatalen int32\n\tData    *byte\n}\n\ntype BlkpgPartition struct {\n\tStart   int64\n\tLength  int64\n\tPno     int32\n\tDevname [64]uint8\n\tVolname [64]uint8\n\t_       [4]byte\n}\n\nconst (\n\tBLKPG                  = 0x20001269\n\tBLKPG_ADD_PARTITION    = 0x1\n\tBLKPG_DEL_PARTITION    = 0x2\n\tBLKPG_RESIZE_PARTITION = 0x3\n)\n\nconst (\n\tNETNSA_NONE = 0x0\n\tNETNSA_NSID = 0x1\n\tNETNSA_PID  = 0x2\n\tNETNSA_FD   = 0x3\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go",
    "content": "// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build mips64,linux\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x8\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x8\n\tsizeofLongLong = 0x8\n\tPathMax        = 0x1000\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int64\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int64\n}\n\ntype Timeval struct {\n\tSec  int64\n\tUsec int64\n}\n\ntype Timex struct {\n\tModes     uint32\n\t_         [4]byte\n\tOffset    int64\n\tFreq      int64\n\tMaxerror  int64\n\tEsterror  int64\n\tStatus    int32\n\t_         [4]byte\n\tConstant  int64\n\tPrecision int64\n\tTolerance int64\n\tTime      Timeval\n\tTick      int64\n\tPpsfreq   int64\n\tJitter    int64\n\tShift     int32\n\t_         [4]byte\n\tStabil    int64\n\tJitcnt    int64\n\tCalcnt    int64\n\tErrcnt    int64\n\tStbcnt    int64\n\tTai       int32\n\t_         [44]byte\n}\n\ntype Time_t int64\n\ntype Tms struct {\n\tUtime  int64\n\tStime  int64\n\tCutime int64\n\tCstime int64\n}\n\ntype Utimbuf struct {\n\tActime  int64\n\tModtime int64\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int64\n\tIxrss    int64\n\tIdrss    int64\n\tIsrss    int64\n\tMinflt   int64\n\tMajflt   int64\n\tNswap    int64\n\tInblock  int64\n\tOublock  int64\n\tMsgsnd   int64\n\tMsgrcv   int64\n\tNsignals int64\n\tNvcsw    int64\n\tNivcsw   int64\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev     uint32\n\tPad1    [3]uint32\n\tIno     uint64\n\tMode    uint32\n\tNlink   uint32\n\tUid     uint32\n\tGid     uint32\n\tRdev    uint32\n\tPad2    [3]uint32\n\tSize    int64\n\tAtim    Timespec\n\tMtim    Timespec\n\tCtim    Timespec\n\tBlksize uint32\n\tPad4    uint32\n\tBlocks  int64\n}\n\ntype StatxTimestamp struct {\n\tSec  int64\n\tNsec uint32\n\t_    int32\n}\n\ntype Statx_t struct {\n\tMask            uint32\n\tBlksize         uint32\n\tAttributes      uint64\n\tNlink           uint32\n\tUid             uint32\n\tGid             uint32\n\tMode            uint16\n\t_               [1]uint16\n\tIno             uint64\n\tSize            uint64\n\tBlocks          uint64\n\tAttributes_mask uint64\n\tAtime           StatxTimestamp\n\tBtime           StatxTimestamp\n\tCtime           StatxTimestamp\n\tMtime           StatxTimestamp\n\tRdev_major      uint32\n\tRdev_minor      uint32\n\tDev_major       uint32\n\tDev_minor       uint32\n\t_               [14]uint64\n}\n\ntype Dirent struct {\n\tIno    uint64\n\tOff    int64\n\tReclen uint16\n\tType   uint8\n\tName   [256]int8\n\t_      [5]byte\n}\n\ntype Fsid struct {\n\tVal [2]int32\n}\n\ntype Flock_t struct {\n\tType   int16\n\tWhence int16\n\t_      [4]byte\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\t_      [4]byte\n}\n\ntype FscryptPolicy struct {\n\tVersion                   uint8\n\tContents_encryption_mode  uint8\n\tFilenames_encryption_mode uint8\n\tFlags                     uint8\n\tMaster_key_descriptor     [8]uint8\n}\n\ntype FscryptKey struct {\n\tMode uint32\n\tRaw  [64]uint8\n\tSize uint32\n}\n\ntype KeyctlDHParams struct {\n\tPrivate int32\n\tPrime   int32\n\tBase    int32\n}\n\nconst (\n\tFADV_NORMAL     = 0x0\n\tFADV_RANDOM     = 0x1\n\tFADV_SEQUENTIAL = 0x2\n\tFADV_WILLNEED   = 0x3\n\tFADV_DONTNEED   = 0x4\n\tFADV_NOREUSE    = 0x5\n)\n\ntype RawSockaddrInet4 struct {\n\tFamily uint16\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]uint8\n}\n\ntype RawSockaddrInet6 struct {\n\tFamily   uint16\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tFamily uint16\n\tPath   [108]int8\n}\n\ntype RawSockaddrLinklayer struct {\n\tFamily   uint16\n\tProtocol uint16\n\tIfindex  int32\n\tHatype   uint16\n\tPkttype  uint8\n\tHalen    uint8\n\tAddr     [8]uint8\n}\n\ntype RawSockaddrNetlink struct {\n\tFamily uint16\n\tPad    uint16\n\tPid    uint32\n\tGroups uint32\n}\n\ntype RawSockaddrHCI struct {\n\tFamily  uint16\n\tDev     uint16\n\tChannel uint16\n}\n\ntype RawSockaddrL2 struct {\n\tFamily      uint16\n\tPsm         uint16\n\tBdaddr      [6]uint8\n\tCid         uint16\n\tBdaddr_type uint8\n\t_           [1]byte\n}\n\ntype RawSockaddrRFCOMM struct {\n\tFamily  uint16\n\tBdaddr  [6]uint8\n\tChannel uint8\n\t_       [1]byte\n}\n\ntype RawSockaddrCAN struct {\n\tFamily  uint16\n\t_       [2]byte\n\tIfindex int32\n\tAddr    [8]byte\n}\n\ntype RawSockaddrALG struct {\n\tFamily uint16\n\tType   [14]uint8\n\tFeat   uint32\n\tMask   uint32\n\tName   [64]uint8\n}\n\ntype RawSockaddrVM struct {\n\tFamily    uint16\n\tReserved1 uint16\n\tPort      uint32\n\tCid       uint32\n\tZero      [4]uint8\n}\n\ntype RawSockaddr struct {\n\tFamily uint16\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [96]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint64\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPMreqn struct {\n\tMultiaddr [4]byte /* in_addr */\n\tAddress   [4]byte /* in_addr */\n\tIfindex   int32\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype PacketMreq struct {\n\tIfindex int32\n\tType    uint16\n\tAlen    uint16\n\tAddress [8]uint8\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\t_          [4]byte\n\tIov        *Iovec\n\tIovlen     uint64\n\tControl    *byte\n\tControllen uint64\n\tFlags      int32\n\t_          [4]byte\n}\n\ntype Cmsghdr struct {\n\tLen   uint64\n\tLevel int32\n\tType  int32\n}\n\ntype Inet4Pktinfo struct {\n\tIfindex  int32\n\tSpec_dst [4]byte /* in_addr */\n\tAddr     [4]byte /* in_addr */\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tData [8]uint32\n}\n\ntype Ucred struct {\n\tPid int32\n\tUid uint32\n\tGid uint32\n}\n\ntype TCPInfo struct {\n\tState          uint8\n\tCa_state       uint8\n\tRetransmits    uint8\n\tProbes         uint8\n\tBackoff        uint8\n\tOptions        uint8\n\t_              [2]byte\n\tRto            uint32\n\tAto            uint32\n\tSnd_mss        uint32\n\tRcv_mss        uint32\n\tUnacked        uint32\n\tSacked         uint32\n\tLost           uint32\n\tRetrans        uint32\n\tFackets        uint32\n\tLast_data_sent uint32\n\tLast_ack_sent  uint32\n\tLast_data_recv uint32\n\tLast_ack_recv  uint32\n\tPmtu           uint32\n\tRcv_ssthresh   uint32\n\tRtt            uint32\n\tRttvar         uint32\n\tSnd_ssthresh   uint32\n\tSnd_cwnd       uint32\n\tAdvmss         uint32\n\tReordering     uint32\n\tRcv_rtt        uint32\n\tRcv_space      uint32\n\tTotal_retrans  uint32\n}\n\nconst (\n\tSizeofSockaddrInet4     = 0x10\n\tSizeofSockaddrInet6     = 0x1c\n\tSizeofSockaddrAny       = 0x70\n\tSizeofSockaddrUnix      = 0x6e\n\tSizeofSockaddrLinklayer = 0x14\n\tSizeofSockaddrNetlink   = 0xc\n\tSizeofSockaddrHCI       = 0x6\n\tSizeofSockaddrL2        = 0xe\n\tSizeofSockaddrRFCOMM    = 0xa\n\tSizeofSockaddrCAN       = 0x10\n\tSizeofSockaddrALG       = 0x58\n\tSizeofSockaddrVM        = 0x10\n\tSizeofLinger            = 0x8\n\tSizeofIovec             = 0x10\n\tSizeofIPMreq            = 0x8\n\tSizeofIPMreqn           = 0xc\n\tSizeofIPv6Mreq          = 0x14\n\tSizeofPacketMreq        = 0x10\n\tSizeofMsghdr            = 0x38\n\tSizeofCmsghdr           = 0x10\n\tSizeofInet4Pktinfo      = 0xc\n\tSizeofInet6Pktinfo      = 0x14\n\tSizeofIPv6MTUInfo       = 0x20\n\tSizeofICMPv6Filter      = 0x20\n\tSizeofUcred             = 0xc\n\tSizeofTCPInfo           = 0x68\n)\n\nconst (\n\tIFA_UNSPEC           = 0x0\n\tIFA_ADDRESS          = 0x1\n\tIFA_LOCAL            = 0x2\n\tIFA_LABEL            = 0x3\n\tIFA_BROADCAST        = 0x4\n\tIFA_ANYCAST          = 0x5\n\tIFA_CACHEINFO        = 0x6\n\tIFA_MULTICAST        = 0x7\n\tIFLA_UNSPEC          = 0x0\n\tIFLA_ADDRESS         = 0x1\n\tIFLA_BROADCAST       = 0x2\n\tIFLA_IFNAME          = 0x3\n\tIFLA_INFO_KIND       = 0x1\n\tIFLA_MTU             = 0x4\n\tIFLA_LINK            = 0x5\n\tIFLA_QDISC           = 0x6\n\tIFLA_STATS           = 0x7\n\tIFLA_COST            = 0x8\n\tIFLA_PRIORITY        = 0x9\n\tIFLA_MASTER          = 0xa\n\tIFLA_WIRELESS        = 0xb\n\tIFLA_PROTINFO        = 0xc\n\tIFLA_TXQLEN          = 0xd\n\tIFLA_MAP             = 0xe\n\tIFLA_WEIGHT          = 0xf\n\tIFLA_OPERSTATE       = 0x10\n\tIFLA_LINKMODE        = 0x11\n\tIFLA_LINKINFO        = 0x12\n\tIFLA_NET_NS_PID      = 0x13\n\tIFLA_IFALIAS         = 0x14\n\tIFLA_NUM_VF          = 0x15\n\tIFLA_VFINFO_LIST     = 0x16\n\tIFLA_STATS64         = 0x17\n\tIFLA_VF_PORTS        = 0x18\n\tIFLA_PORT_SELF       = 0x19\n\tIFLA_AF_SPEC         = 0x1a\n\tIFLA_GROUP           = 0x1b\n\tIFLA_NET_NS_FD       = 0x1c\n\tIFLA_EXT_MASK        = 0x1d\n\tIFLA_PROMISCUITY     = 0x1e\n\tIFLA_NUM_TX_QUEUES   = 0x1f\n\tIFLA_NUM_RX_QUEUES   = 0x20\n\tIFLA_CARRIER         = 0x21\n\tIFLA_PHYS_PORT_ID    = 0x22\n\tIFLA_CARRIER_CHANGES = 0x23\n\tIFLA_PHYS_SWITCH_ID  = 0x24\n\tIFLA_LINK_NETNSID    = 0x25\n\tIFLA_PHYS_PORT_NAME  = 0x26\n\tIFLA_PROTO_DOWN      = 0x27\n\tIFLA_GSO_MAX_SEGS    = 0x28\n\tIFLA_GSO_MAX_SIZE    = 0x29\n\tIFLA_PAD             = 0x2a\n\tIFLA_XDP             = 0x2b\n\tIFLA_EVENT           = 0x2c\n\tIFLA_NEW_NETNSID     = 0x2d\n\tIFLA_IF_NETNSID      = 0x2e\n\tIFLA_MAX             = 0x31\n\tRT_SCOPE_UNIVERSE    = 0x0\n\tRT_SCOPE_SITE        = 0xc8\n\tRT_SCOPE_LINK        = 0xfd\n\tRT_SCOPE_HOST        = 0xfe\n\tRT_SCOPE_NOWHERE     = 0xff\n\tRT_TABLE_UNSPEC      = 0x0\n\tRT_TABLE_COMPAT      = 0xfc\n\tRT_TABLE_DEFAULT     = 0xfd\n\tRT_TABLE_MAIN        = 0xfe\n\tRT_TABLE_LOCAL       = 0xff\n\tRT_TABLE_MAX         = 0xffffffff\n\tRTA_UNSPEC           = 0x0\n\tRTA_DST              = 0x1\n\tRTA_SRC              = 0x2\n\tRTA_IIF              = 0x3\n\tRTA_OIF              = 0x4\n\tRTA_GATEWAY          = 0x5\n\tRTA_PRIORITY         = 0x6\n\tRTA_PREFSRC          = 0x7\n\tRTA_METRICS          = 0x8\n\tRTA_MULTIPATH        = 0x9\n\tRTA_FLOW             = 0xb\n\tRTA_CACHEINFO        = 0xc\n\tRTA_TABLE            = 0xf\n\tRTN_UNSPEC           = 0x0\n\tRTN_UNICAST          = 0x1\n\tRTN_LOCAL            = 0x2\n\tRTN_BROADCAST        = 0x3\n\tRTN_ANYCAST          = 0x4\n\tRTN_MULTICAST        = 0x5\n\tRTN_BLACKHOLE        = 0x6\n\tRTN_UNREACHABLE      = 0x7\n\tRTN_PROHIBIT         = 0x8\n\tRTN_THROW            = 0x9\n\tRTN_NAT              = 0xa\n\tRTN_XRESOLVE         = 0xb\n\tRTNLGRP_NONE         = 0x0\n\tRTNLGRP_LINK         = 0x1\n\tRTNLGRP_NOTIFY       = 0x2\n\tRTNLGRP_NEIGH        = 0x3\n\tRTNLGRP_TC           = 0x4\n\tRTNLGRP_IPV4_IFADDR  = 0x5\n\tRTNLGRP_IPV4_MROUTE  = 0x6\n\tRTNLGRP_IPV4_ROUTE   = 0x7\n\tRTNLGRP_IPV4_RULE    = 0x8\n\tRTNLGRP_IPV6_IFADDR  = 0x9\n\tRTNLGRP_IPV6_MROUTE  = 0xa\n\tRTNLGRP_IPV6_ROUTE   = 0xb\n\tRTNLGRP_IPV6_IFINFO  = 0xc\n\tRTNLGRP_IPV6_PREFIX  = 0x12\n\tRTNLGRP_IPV6_RULE    = 0x13\n\tRTNLGRP_ND_USEROPT   = 0x14\n\tSizeofNlMsghdr       = 0x10\n\tSizeofNlMsgerr       = 0x14\n\tSizeofRtGenmsg       = 0x1\n\tSizeofNlAttr         = 0x4\n\tSizeofRtAttr         = 0x4\n\tSizeofIfInfomsg      = 0x10\n\tSizeofIfAddrmsg      = 0x8\n\tSizeofRtMsg          = 0xc\n\tSizeofRtNexthop      = 0x8\n)\n\ntype NlMsghdr struct {\n\tLen   uint32\n\tType  uint16\n\tFlags uint16\n\tSeq   uint32\n\tPid   uint32\n}\n\ntype NlMsgerr struct {\n\tError int32\n\tMsg   NlMsghdr\n}\n\ntype RtGenmsg struct {\n\tFamily uint8\n}\n\ntype NlAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype RtAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype IfInfomsg struct {\n\tFamily uint8\n\t_      uint8\n\tType   uint16\n\tIndex  int32\n\tFlags  uint32\n\tChange uint32\n}\n\ntype IfAddrmsg struct {\n\tFamily    uint8\n\tPrefixlen uint8\n\tFlags     uint8\n\tScope     uint8\n\tIndex     uint32\n}\n\ntype RtMsg struct {\n\tFamily   uint8\n\tDst_len  uint8\n\tSrc_len  uint8\n\tTos      uint8\n\tTable    uint8\n\tProtocol uint8\n\tScope    uint8\n\tType     uint8\n\tFlags    uint32\n}\n\ntype RtNexthop struct {\n\tLen     uint16\n\tFlags   uint8\n\tHops    uint8\n\tIfindex int32\n}\n\nconst (\n\tSizeofSockFilter = 0x8\n\tSizeofSockFprog  = 0x10\n)\n\ntype SockFilter struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype SockFprog struct {\n\tLen    uint16\n\t_      [6]byte\n\tFilter *SockFilter\n}\n\ntype InotifyEvent struct {\n\tWd     int32\n\tMask   uint32\n\tCookie uint32\n\tLen    uint32\n}\n\nconst SizeofInotifyEvent = 0x10\n\ntype PtraceRegs struct {\n\tRegs     [32]uint64\n\tLo       uint64\n\tHi       uint64\n\tEpc      uint64\n\tBadvaddr uint64\n\tStatus   uint64\n\tCause    uint64\n}\n\ntype FdSet struct {\n\tBits [16]int64\n}\n\ntype Sysinfo_t struct {\n\tUptime    int64\n\tLoads     [3]uint64\n\tTotalram  uint64\n\tFreeram   uint64\n\tSharedram uint64\n\tBufferram uint64\n\tTotalswap uint64\n\tFreeswap  uint64\n\tProcs     uint16\n\tPad       uint16\n\t_         [4]byte\n\tTotalhigh uint64\n\tFreehigh  uint64\n\tUnit      uint32\n\t_         [0]int8\n\t_         [4]byte\n}\n\ntype Utsname struct {\n\tSysname    [65]byte\n\tNodename   [65]byte\n\tRelease    [65]byte\n\tVersion    [65]byte\n\tMachine    [65]byte\n\tDomainname [65]byte\n}\n\ntype Ustat_t struct {\n\tTfree  int32\n\t_      [4]byte\n\tTinode uint64\n\tFname  [6]int8\n\tFpack  [6]int8\n\t_      [4]byte\n}\n\ntype EpollEvent struct {\n\tEvents uint32\n\tFd     int32\n\tPad    int32\n}\n\nconst (\n\tAT_EMPTY_PATH   = 0x1000\n\tAT_FDCWD        = -0x64\n\tAT_NO_AUTOMOUNT = 0x800\n\tAT_REMOVEDIR    = 0x200\n\n\tAT_STATX_SYNC_AS_STAT = 0x0\n\tAT_STATX_FORCE_SYNC   = 0x2000\n\tAT_STATX_DONT_SYNC    = 0x4000\n\n\tAT_SYMLINK_FOLLOW   = 0x400\n\tAT_SYMLINK_NOFOLLOW = 0x100\n\n\tAT_EACCESS = 0x200\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLIN    = 0x1\n\tPOLLPRI   = 0x2\n\tPOLLOUT   = 0x4\n\tPOLLRDHUP = 0x2000\n\tPOLLERR   = 0x8\n\tPOLLHUP   = 0x10\n\tPOLLNVAL  = 0x20\n)\n\ntype Sigset_t struct {\n\tVal [16]uint64\n}\n\nconst RNDGETENTCNT = 0x40045200\n\nconst PERF_IOC_FLAG_GROUP = 0x1\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tLine   uint8\n\tCc     [23]uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\ntype Taskstats struct {\n\tVersion                   uint16\n\t_                         [2]byte\n\tAc_exitcode               uint32\n\tAc_flag                   uint8\n\tAc_nice                   uint8\n\t_                         [6]byte\n\tCpu_count                 uint64\n\tCpu_delay_total           uint64\n\tBlkio_count               uint64\n\tBlkio_delay_total         uint64\n\tSwapin_count              uint64\n\tSwapin_delay_total        uint64\n\tCpu_run_real_total        uint64\n\tCpu_run_virtual_total     uint64\n\tAc_comm                   [32]int8\n\tAc_sched                  uint8\n\tAc_pad                    [3]uint8\n\t_                         [4]byte\n\tAc_uid                    uint32\n\tAc_gid                    uint32\n\tAc_pid                    uint32\n\tAc_ppid                   uint32\n\tAc_btime                  uint32\n\t_                         [4]byte\n\tAc_etime                  uint64\n\tAc_utime                  uint64\n\tAc_stime                  uint64\n\tAc_minflt                 uint64\n\tAc_majflt                 uint64\n\tCoremem                   uint64\n\tVirtmem                   uint64\n\tHiwater_rss               uint64\n\tHiwater_vm                uint64\n\tRead_char                 uint64\n\tWrite_char                uint64\n\tRead_syscalls             uint64\n\tWrite_syscalls            uint64\n\tRead_bytes                uint64\n\tWrite_bytes               uint64\n\tCancelled_write_bytes     uint64\n\tNvcsw                     uint64\n\tNivcsw                    uint64\n\tAc_utimescaled            uint64\n\tAc_stimescaled            uint64\n\tCpu_scaled_run_real_total uint64\n\tFreepages_count           uint64\n\tFreepages_delay_total     uint64\n}\n\nconst (\n\tTASKSTATS_CMD_UNSPEC                  = 0x0\n\tTASKSTATS_CMD_GET                     = 0x1\n\tTASKSTATS_CMD_NEW                     = 0x2\n\tTASKSTATS_TYPE_UNSPEC                 = 0x0\n\tTASKSTATS_TYPE_PID                    = 0x1\n\tTASKSTATS_TYPE_TGID                   = 0x2\n\tTASKSTATS_TYPE_STATS                  = 0x3\n\tTASKSTATS_TYPE_AGGR_PID               = 0x4\n\tTASKSTATS_TYPE_AGGR_TGID              = 0x5\n\tTASKSTATS_TYPE_NULL                   = 0x6\n\tTASKSTATS_CMD_ATTR_UNSPEC             = 0x0\n\tTASKSTATS_CMD_ATTR_PID                = 0x1\n\tTASKSTATS_CMD_ATTR_TGID               = 0x2\n\tTASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3\n\tTASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4\n)\n\ntype CGroupStats struct {\n\tSleeping        uint64\n\tRunning         uint64\n\tStopped         uint64\n\tUninterruptible uint64\n\tIo_wait         uint64\n}\n\nconst (\n\tCGROUPSTATS_CMD_UNSPEC        = 0x3\n\tCGROUPSTATS_CMD_GET           = 0x4\n\tCGROUPSTATS_CMD_NEW           = 0x5\n\tCGROUPSTATS_TYPE_UNSPEC       = 0x0\n\tCGROUPSTATS_TYPE_CGROUP_STATS = 0x1\n\tCGROUPSTATS_CMD_ATTR_UNSPEC   = 0x0\n\tCGROUPSTATS_CMD_ATTR_FD       = 0x1\n)\n\ntype Genlmsghdr struct {\n\tCmd      uint8\n\tVersion  uint8\n\tReserved uint16\n}\n\nconst (\n\tCTRL_CMD_UNSPEC            = 0x0\n\tCTRL_CMD_NEWFAMILY         = 0x1\n\tCTRL_CMD_DELFAMILY         = 0x2\n\tCTRL_CMD_GETFAMILY         = 0x3\n\tCTRL_CMD_NEWOPS            = 0x4\n\tCTRL_CMD_DELOPS            = 0x5\n\tCTRL_CMD_GETOPS            = 0x6\n\tCTRL_CMD_NEWMCAST_GRP      = 0x7\n\tCTRL_CMD_DELMCAST_GRP      = 0x8\n\tCTRL_CMD_GETMCAST_GRP      = 0x9\n\tCTRL_ATTR_UNSPEC           = 0x0\n\tCTRL_ATTR_FAMILY_ID        = 0x1\n\tCTRL_ATTR_FAMILY_NAME      = 0x2\n\tCTRL_ATTR_VERSION          = 0x3\n\tCTRL_ATTR_HDRSIZE          = 0x4\n\tCTRL_ATTR_MAXATTR          = 0x5\n\tCTRL_ATTR_OPS              = 0x6\n\tCTRL_ATTR_MCAST_GROUPS     = 0x7\n\tCTRL_ATTR_OP_UNSPEC        = 0x0\n\tCTRL_ATTR_OP_ID            = 0x1\n\tCTRL_ATTR_OP_FLAGS         = 0x2\n\tCTRL_ATTR_MCAST_GRP_UNSPEC = 0x0\n\tCTRL_ATTR_MCAST_GRP_NAME   = 0x1\n\tCTRL_ATTR_MCAST_GRP_ID     = 0x2\n)\n\ntype cpuMask uint64\n\nconst (\n\t_CPU_SETSIZE = 0x400\n\t_NCPUBITS    = 0x40\n)\n\nconst (\n\tBDADDR_BREDR     = 0x0\n\tBDADDR_LE_PUBLIC = 0x1\n\tBDADDR_LE_RANDOM = 0x2\n)\n\ntype PerfEventAttr struct {\n\tType               uint32\n\tSize               uint32\n\tConfig             uint64\n\tSample             uint64\n\tSample_type        uint64\n\tRead_format        uint64\n\tBits               uint64\n\tWakeup             uint32\n\tBp_type            uint32\n\tExt1               uint64\n\tExt2               uint64\n\tBranch_sample_type uint64\n\tSample_regs_user   uint64\n\tSample_stack_user  uint32\n\tClockid            int32\n\tSample_regs_intr   uint64\n\tAux_watermark      uint32\n\t_                  uint32\n}\n\ntype PerfEventMmapPage struct {\n\tVersion        uint32\n\tCompat_version uint32\n\tLock           uint32\n\tIndex          uint32\n\tOffset         int64\n\tTime_enabled   uint64\n\tTime_running   uint64\n\tCapabilities   uint64\n\tPmc_width      uint16\n\tTime_shift     uint16\n\tTime_mult      uint32\n\tTime_offset    uint64\n\tTime_zero      uint64\n\tSize           uint32\n\t_              [948]uint8\n\tData_head      uint64\n\tData_tail      uint64\n\tData_offset    uint64\n\tData_size      uint64\n\tAux_head       uint64\n\tAux_tail       uint64\n\tAux_offset     uint64\n\tAux_size       uint64\n}\n\nconst (\n\tPerfBitDisabled               uint64 = CBitFieldMaskBit0\n\tPerfBitInherit                       = CBitFieldMaskBit1\n\tPerfBitPinned                        = CBitFieldMaskBit2\n\tPerfBitExclusive                     = CBitFieldMaskBit3\n\tPerfBitExcludeUser                   = CBitFieldMaskBit4\n\tPerfBitExcludeKernel                 = CBitFieldMaskBit5\n\tPerfBitExcludeHv                     = CBitFieldMaskBit6\n\tPerfBitExcludeIdle                   = CBitFieldMaskBit7\n\tPerfBitMmap                          = CBitFieldMaskBit8\n\tPerfBitComm                          = CBitFieldMaskBit9\n\tPerfBitFreq                          = CBitFieldMaskBit10\n\tPerfBitInheritStat                   = CBitFieldMaskBit11\n\tPerfBitEnableOnExec                  = CBitFieldMaskBit12\n\tPerfBitTask                          = CBitFieldMaskBit13\n\tPerfBitWatermark                     = CBitFieldMaskBit14\n\tPerfBitPreciseIPBit1                 = CBitFieldMaskBit15\n\tPerfBitPreciseIPBit2                 = CBitFieldMaskBit16\n\tPerfBitMmapData                      = CBitFieldMaskBit17\n\tPerfBitSampleIDAll                   = CBitFieldMaskBit18\n\tPerfBitExcludeHost                   = CBitFieldMaskBit19\n\tPerfBitExcludeGuest                  = CBitFieldMaskBit20\n\tPerfBitExcludeCallchainKernel        = CBitFieldMaskBit21\n\tPerfBitExcludeCallchainUser          = CBitFieldMaskBit22\n\tPerfBitMmap2                         = CBitFieldMaskBit23\n\tPerfBitCommExec                      = CBitFieldMaskBit24\n\tPerfBitUseClockID                    = CBitFieldMaskBit25\n\tPerfBitContextSwitch                 = CBitFieldMaskBit26\n)\n\nconst (\n\tPERF_TYPE_HARDWARE   = 0x0\n\tPERF_TYPE_SOFTWARE   = 0x1\n\tPERF_TYPE_TRACEPOINT = 0x2\n\tPERF_TYPE_HW_CACHE   = 0x3\n\tPERF_TYPE_RAW        = 0x4\n\tPERF_TYPE_BREAKPOINT = 0x5\n\n\tPERF_COUNT_HW_CPU_CYCLES              = 0x0\n\tPERF_COUNT_HW_INSTRUCTIONS            = 0x1\n\tPERF_COUNT_HW_CACHE_REFERENCES        = 0x2\n\tPERF_COUNT_HW_CACHE_MISSES            = 0x3\n\tPERF_COUNT_HW_BRANCH_INSTRUCTIONS     = 0x4\n\tPERF_COUNT_HW_BRANCH_MISSES           = 0x5\n\tPERF_COUNT_HW_BUS_CYCLES              = 0x6\n\tPERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7\n\tPERF_COUNT_HW_STALLED_CYCLES_BACKEND  = 0x8\n\tPERF_COUNT_HW_REF_CPU_CYCLES          = 0x9\n\n\tPERF_COUNT_HW_CACHE_L1D  = 0x0\n\tPERF_COUNT_HW_CACHE_L1I  = 0x1\n\tPERF_COUNT_HW_CACHE_LL   = 0x2\n\tPERF_COUNT_HW_CACHE_DTLB = 0x3\n\tPERF_COUNT_HW_CACHE_ITLB = 0x4\n\tPERF_COUNT_HW_CACHE_BPU  = 0x5\n\tPERF_COUNT_HW_CACHE_NODE = 0x6\n\n\tPERF_COUNT_HW_CACHE_OP_READ     = 0x0\n\tPERF_COUNT_HW_CACHE_OP_WRITE    = 0x1\n\tPERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2\n\n\tPERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0\n\tPERF_COUNT_HW_CACHE_RESULT_MISS   = 0x1\n\n\tPERF_COUNT_SW_CPU_CLOCK        = 0x0\n\tPERF_COUNT_SW_TASK_CLOCK       = 0x1\n\tPERF_COUNT_SW_PAGE_FAULTS      = 0x2\n\tPERF_COUNT_SW_CONTEXT_SWITCHES = 0x3\n\tPERF_COUNT_SW_CPU_MIGRATIONS   = 0x4\n\tPERF_COUNT_SW_PAGE_FAULTS_MIN  = 0x5\n\tPERF_COUNT_SW_PAGE_FAULTS_MAJ  = 0x6\n\tPERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7\n\tPERF_COUNT_SW_EMULATION_FAULTS = 0x8\n\tPERF_COUNT_SW_DUMMY            = 0x9\n\n\tPERF_SAMPLE_IP           = 0x1\n\tPERF_SAMPLE_TID          = 0x2\n\tPERF_SAMPLE_TIME         = 0x4\n\tPERF_SAMPLE_ADDR         = 0x8\n\tPERF_SAMPLE_READ         = 0x10\n\tPERF_SAMPLE_CALLCHAIN    = 0x20\n\tPERF_SAMPLE_ID           = 0x40\n\tPERF_SAMPLE_CPU          = 0x80\n\tPERF_SAMPLE_PERIOD       = 0x100\n\tPERF_SAMPLE_STREAM_ID    = 0x200\n\tPERF_SAMPLE_RAW          = 0x400\n\tPERF_SAMPLE_BRANCH_STACK = 0x800\n\n\tPERF_SAMPLE_BRANCH_USER       = 0x1\n\tPERF_SAMPLE_BRANCH_KERNEL     = 0x2\n\tPERF_SAMPLE_BRANCH_HV         = 0x4\n\tPERF_SAMPLE_BRANCH_ANY        = 0x8\n\tPERF_SAMPLE_BRANCH_ANY_CALL   = 0x10\n\tPERF_SAMPLE_BRANCH_ANY_RETURN = 0x20\n\tPERF_SAMPLE_BRANCH_IND_CALL   = 0x40\n\n\tPERF_FORMAT_TOTAL_TIME_ENABLED = 0x1\n\tPERF_FORMAT_TOTAL_TIME_RUNNING = 0x2\n\tPERF_FORMAT_ID                 = 0x4\n\tPERF_FORMAT_GROUP              = 0x8\n\n\tPERF_RECORD_MMAP       = 0x1\n\tPERF_RECORD_LOST       = 0x2\n\tPERF_RECORD_COMM       = 0x3\n\tPERF_RECORD_EXIT       = 0x4\n\tPERF_RECORD_THROTTLE   = 0x5\n\tPERF_RECORD_UNTHROTTLE = 0x6\n\tPERF_RECORD_FORK       = 0x7\n\tPERF_RECORD_READ       = 0x8\n\tPERF_RECORD_SAMPLE     = 0x9\n\n\tPERF_CONTEXT_HV     = -0x20\n\tPERF_CONTEXT_KERNEL = -0x80\n\tPERF_CONTEXT_USER   = -0x200\n\n\tPERF_CONTEXT_GUEST        = -0x800\n\tPERF_CONTEXT_GUEST_KERNEL = -0x880\n\tPERF_CONTEXT_GUEST_USER   = -0xa00\n\n\tPERF_FLAG_FD_NO_GROUP = 0x1\n\tPERF_FLAG_FD_OUTPUT   = 0x2\n\tPERF_FLAG_PID_CGROUP  = 0x4\n)\n\nconst (\n\tCBitFieldMaskBit0  = 0x8000000000000000\n\tCBitFieldMaskBit1  = 0x4000000000000000\n\tCBitFieldMaskBit2  = 0x2000000000000000\n\tCBitFieldMaskBit3  = 0x1000000000000000\n\tCBitFieldMaskBit4  = 0x800000000000000\n\tCBitFieldMaskBit5  = 0x400000000000000\n\tCBitFieldMaskBit6  = 0x200000000000000\n\tCBitFieldMaskBit7  = 0x100000000000000\n\tCBitFieldMaskBit8  = 0x80000000000000\n\tCBitFieldMaskBit9  = 0x40000000000000\n\tCBitFieldMaskBit10 = 0x20000000000000\n\tCBitFieldMaskBit11 = 0x10000000000000\n\tCBitFieldMaskBit12 = 0x8000000000000\n\tCBitFieldMaskBit13 = 0x4000000000000\n\tCBitFieldMaskBit14 = 0x2000000000000\n\tCBitFieldMaskBit15 = 0x1000000000000\n\tCBitFieldMaskBit16 = 0x800000000000\n\tCBitFieldMaskBit17 = 0x400000000000\n\tCBitFieldMaskBit18 = 0x200000000000\n\tCBitFieldMaskBit19 = 0x100000000000\n\tCBitFieldMaskBit20 = 0x80000000000\n\tCBitFieldMaskBit21 = 0x40000000000\n\tCBitFieldMaskBit22 = 0x20000000000\n\tCBitFieldMaskBit23 = 0x10000000000\n\tCBitFieldMaskBit24 = 0x8000000000\n\tCBitFieldMaskBit25 = 0x4000000000\n\tCBitFieldMaskBit26 = 0x2000000000\n\tCBitFieldMaskBit27 = 0x1000000000\n\tCBitFieldMaskBit28 = 0x800000000\n\tCBitFieldMaskBit29 = 0x400000000\n\tCBitFieldMaskBit30 = 0x200000000\n\tCBitFieldMaskBit31 = 0x100000000\n\tCBitFieldMaskBit32 = 0x80000000\n\tCBitFieldMaskBit33 = 0x40000000\n\tCBitFieldMaskBit34 = 0x20000000\n\tCBitFieldMaskBit35 = 0x10000000\n\tCBitFieldMaskBit36 = 0x8000000\n\tCBitFieldMaskBit37 = 0x4000000\n\tCBitFieldMaskBit38 = 0x2000000\n\tCBitFieldMaskBit39 = 0x1000000\n\tCBitFieldMaskBit40 = 0x800000\n\tCBitFieldMaskBit41 = 0x400000\n\tCBitFieldMaskBit42 = 0x200000\n\tCBitFieldMaskBit43 = 0x100000\n\tCBitFieldMaskBit44 = 0x80000\n\tCBitFieldMaskBit45 = 0x40000\n\tCBitFieldMaskBit46 = 0x20000\n\tCBitFieldMaskBit47 = 0x10000\n\tCBitFieldMaskBit48 = 0x8000\n\tCBitFieldMaskBit49 = 0x4000\n\tCBitFieldMaskBit50 = 0x2000\n\tCBitFieldMaskBit51 = 0x1000\n\tCBitFieldMaskBit52 = 0x800\n\tCBitFieldMaskBit53 = 0x400\n\tCBitFieldMaskBit54 = 0x200\n\tCBitFieldMaskBit55 = 0x100\n\tCBitFieldMaskBit56 = 0x80\n\tCBitFieldMaskBit57 = 0x40\n\tCBitFieldMaskBit58 = 0x20\n\tCBitFieldMaskBit59 = 0x10\n\tCBitFieldMaskBit60 = 0x8\n\tCBitFieldMaskBit61 = 0x4\n\tCBitFieldMaskBit62 = 0x2\n\tCBitFieldMaskBit63 = 0x1\n)\n\ntype SockaddrStorage struct {\n\tFamily uint16\n\t_      [118]int8\n\t_      uint64\n}\n\ntype TCPMD5Sig struct {\n\tAddr      SockaddrStorage\n\tFlags     uint8\n\tPrefixlen uint8\n\tKeylen    uint16\n\t_         uint32\n\tKey       [80]uint8\n}\n\ntype HDDriveCmdHdr struct {\n\tCommand uint8\n\tNumber  uint8\n\tFeature uint8\n\tCount   uint8\n}\n\ntype HDGeometry struct {\n\tHeads     uint8\n\tSectors   uint8\n\tCylinders uint16\n\t_         [4]byte\n\tStart     uint64\n}\n\ntype HDDriveID struct {\n\tConfig         uint16\n\tCyls           uint16\n\tReserved2      uint16\n\tHeads          uint16\n\tTrack_bytes    uint16\n\tSector_bytes   uint16\n\tSectors        uint16\n\tVendor0        uint16\n\tVendor1        uint16\n\tVendor2        uint16\n\tSerial_no      [20]uint8\n\tBuf_type       uint16\n\tBuf_size       uint16\n\tEcc_bytes      uint16\n\tFw_rev         [8]uint8\n\tModel          [40]uint8\n\tMax_multsect   uint8\n\tVendor3        uint8\n\tDword_io       uint16\n\tVendor4        uint8\n\tCapability     uint8\n\tReserved50     uint16\n\tVendor5        uint8\n\tTPIO           uint8\n\tVendor6        uint8\n\tTDMA           uint8\n\tField_valid    uint16\n\tCur_cyls       uint16\n\tCur_heads      uint16\n\tCur_sectors    uint16\n\tCur_capacity0  uint16\n\tCur_capacity1  uint16\n\tMultsect       uint8\n\tMultsect_valid uint8\n\tLba_capacity   uint32\n\tDma_1word      uint16\n\tDma_mword      uint16\n\tEide_pio_modes uint16\n\tEide_dma_min   uint16\n\tEide_dma_time  uint16\n\tEide_pio       uint16\n\tEide_pio_iordy uint16\n\tWords69_70     [2]uint16\n\tWords71_74     [4]uint16\n\tQueue_depth    uint16\n\tWords76_79     [4]uint16\n\tMajor_rev_num  uint16\n\tMinor_rev_num  uint16\n\tCommand_set_1  uint16\n\tCommand_set_2  uint16\n\tCfsse          uint16\n\tCfs_enable_1   uint16\n\tCfs_enable_2   uint16\n\tCsf_default    uint16\n\tDma_ultra      uint16\n\tTrseuc         uint16\n\tTrsEuc         uint16\n\tCurAPMvalues   uint16\n\tMprc           uint16\n\tHw_config      uint16\n\tAcoustic       uint16\n\tMsrqs          uint16\n\tSxfert         uint16\n\tSal            uint16\n\tSpg            uint32\n\tLba_capacity_2 uint64\n\tWords104_125   [22]uint16\n\tLast_lun       uint16\n\tWord127        uint16\n\tDlf            uint16\n\tCsfo           uint16\n\tWords130_155   [26]uint16\n\tWord156        uint16\n\tWords157_159   [3]uint16\n\tCfa_power      uint16\n\tWords161_175   [15]uint16\n\tWords176_205   [30]uint16\n\tWords206_254   [49]uint16\n\tIntegrity_word uint16\n}\n\ntype Statfs_t struct {\n\tType    int64\n\tBsize   int64\n\tFrsize  int64\n\tBlocks  uint64\n\tBfree   uint64\n\tFiles   uint64\n\tFfree   uint64\n\tBavail  uint64\n\tFsid    Fsid\n\tNamelen int64\n\tFlags   int64\n\tSpare   [5]int64\n}\n\nconst (\n\tST_MANDLOCK    = 0x40\n\tST_NOATIME     = 0x400\n\tST_NODEV       = 0x4\n\tST_NODIRATIME  = 0x800\n\tST_NOEXEC      = 0x8\n\tST_NOSUID      = 0x2\n\tST_RDONLY      = 0x1\n\tST_RELATIME    = 0x1000\n\tST_SYNCHRONOUS = 0x10\n)\n\ntype TpacketHdr struct {\n\tStatus  uint64\n\tLen     uint32\n\tSnaplen uint32\n\tMac     uint16\n\tNet     uint16\n\tSec     uint32\n\tUsec    uint32\n\t_       [4]byte\n}\n\ntype Tpacket2Hdr struct {\n\tStatus    uint32\n\tLen       uint32\n\tSnaplen   uint32\n\tMac       uint16\n\tNet       uint16\n\tSec       uint32\n\tNsec      uint32\n\tVlan_tci  uint16\n\tVlan_tpid uint16\n\t_         [4]uint8\n}\n\ntype Tpacket3Hdr struct {\n\tNext_offset uint32\n\tSec         uint32\n\tNsec        uint32\n\tSnaplen     uint32\n\tLen         uint32\n\tStatus      uint32\n\tMac         uint16\n\tNet         uint16\n\tHv1         TpacketHdrVariant1\n\t_           [8]uint8\n}\n\ntype TpacketHdrVariant1 struct {\n\tRxhash    uint32\n\tVlan_tci  uint32\n\tVlan_tpid uint16\n\t_         uint16\n}\n\ntype TpacketBlockDesc struct {\n\tVersion uint32\n\tTo_priv uint32\n\tHdr     [40]byte\n}\n\ntype TpacketReq struct {\n\tBlock_size uint32\n\tBlock_nr   uint32\n\tFrame_size uint32\n\tFrame_nr   uint32\n}\n\ntype TpacketReq3 struct {\n\tBlock_size       uint32\n\tBlock_nr         uint32\n\tFrame_size       uint32\n\tFrame_nr         uint32\n\tRetire_blk_tov   uint32\n\tSizeof_priv      uint32\n\tFeature_req_word uint32\n}\n\ntype TpacketStats struct {\n\tPackets uint32\n\tDrops   uint32\n}\n\ntype TpacketStatsV3 struct {\n\tPackets      uint32\n\tDrops        uint32\n\tFreeze_q_cnt uint32\n}\n\ntype TpacketAuxdata struct {\n\tStatus    uint32\n\tLen       uint32\n\tSnaplen   uint32\n\tMac       uint16\n\tNet       uint16\n\tVlan_tci  uint16\n\tVlan_tpid uint16\n}\n\nconst (\n\tTPACKET_V1 = 0x0\n\tTPACKET_V2 = 0x1\n\tTPACKET_V3 = 0x2\n)\n\nconst (\n\tSizeofTpacketHdr  = 0x20\n\tSizeofTpacket2Hdr = 0x20\n\tSizeofTpacket3Hdr = 0x30\n)\n\nconst (\n\tNF_INET_PRE_ROUTING  = 0x0\n\tNF_INET_LOCAL_IN     = 0x1\n\tNF_INET_FORWARD      = 0x2\n\tNF_INET_LOCAL_OUT    = 0x3\n\tNF_INET_POST_ROUTING = 0x4\n\tNF_INET_NUMHOOKS     = 0x5\n)\n\nconst (\n\tNF_NETDEV_INGRESS  = 0x0\n\tNF_NETDEV_NUMHOOKS = 0x1\n)\n\nconst (\n\tNFPROTO_UNSPEC   = 0x0\n\tNFPROTO_INET     = 0x1\n\tNFPROTO_IPV4     = 0x2\n\tNFPROTO_ARP      = 0x3\n\tNFPROTO_NETDEV   = 0x5\n\tNFPROTO_BRIDGE   = 0x7\n\tNFPROTO_IPV6     = 0xa\n\tNFPROTO_DECNET   = 0xc\n\tNFPROTO_NUMPROTO = 0xd\n)\n\ntype Nfgenmsg struct {\n\tNfgen_family uint8\n\tVersion      uint8\n\tRes_id       uint16\n}\n\nconst (\n\tNFNL_BATCH_UNSPEC = 0x0\n\tNFNL_BATCH_GENID  = 0x1\n)\n\nconst (\n\tNFT_REG_VERDICT                   = 0x0\n\tNFT_REG_1                         = 0x1\n\tNFT_REG_2                         = 0x2\n\tNFT_REG_3                         = 0x3\n\tNFT_REG_4                         = 0x4\n\tNFT_REG32_00                      = 0x8\n\tNFT_REG32_01                      = 0x9\n\tNFT_REG32_02                      = 0xa\n\tNFT_REG32_03                      = 0xb\n\tNFT_REG32_04                      = 0xc\n\tNFT_REG32_05                      = 0xd\n\tNFT_REG32_06                      = 0xe\n\tNFT_REG32_07                      = 0xf\n\tNFT_REG32_08                      = 0x10\n\tNFT_REG32_09                      = 0x11\n\tNFT_REG32_10                      = 0x12\n\tNFT_REG32_11                      = 0x13\n\tNFT_REG32_12                      = 0x14\n\tNFT_REG32_13                      = 0x15\n\tNFT_REG32_14                      = 0x16\n\tNFT_REG32_15                      = 0x17\n\tNFT_CONTINUE                      = -0x1\n\tNFT_BREAK                         = -0x2\n\tNFT_JUMP                          = -0x3\n\tNFT_GOTO                          = -0x4\n\tNFT_RETURN                        = -0x5\n\tNFT_MSG_NEWTABLE                  = 0x0\n\tNFT_MSG_GETTABLE                  = 0x1\n\tNFT_MSG_DELTABLE                  = 0x2\n\tNFT_MSG_NEWCHAIN                  = 0x3\n\tNFT_MSG_GETCHAIN                  = 0x4\n\tNFT_MSG_DELCHAIN                  = 0x5\n\tNFT_MSG_NEWRULE                   = 0x6\n\tNFT_MSG_GETRULE                   = 0x7\n\tNFT_MSG_DELRULE                   = 0x8\n\tNFT_MSG_NEWSET                    = 0x9\n\tNFT_MSG_GETSET                    = 0xa\n\tNFT_MSG_DELSET                    = 0xb\n\tNFT_MSG_NEWSETELEM                = 0xc\n\tNFT_MSG_GETSETELEM                = 0xd\n\tNFT_MSG_DELSETELEM                = 0xe\n\tNFT_MSG_NEWGEN                    = 0xf\n\tNFT_MSG_GETGEN                    = 0x10\n\tNFT_MSG_TRACE                     = 0x11\n\tNFT_MSG_NEWOBJ                    = 0x12\n\tNFT_MSG_GETOBJ                    = 0x13\n\tNFT_MSG_DELOBJ                    = 0x14\n\tNFT_MSG_GETOBJ_RESET              = 0x15\n\tNFT_MSG_MAX                       = 0x19\n\tNFTA_LIST_UNPEC                   = 0x0\n\tNFTA_LIST_ELEM                    = 0x1\n\tNFTA_HOOK_UNSPEC                  = 0x0\n\tNFTA_HOOK_HOOKNUM                 = 0x1\n\tNFTA_HOOK_PRIORITY                = 0x2\n\tNFTA_HOOK_DEV                     = 0x3\n\tNFT_TABLE_F_DORMANT               = 0x1\n\tNFTA_TABLE_UNSPEC                 = 0x0\n\tNFTA_TABLE_NAME                   = 0x1\n\tNFTA_TABLE_FLAGS                  = 0x2\n\tNFTA_TABLE_USE                    = 0x3\n\tNFTA_CHAIN_UNSPEC                 = 0x0\n\tNFTA_CHAIN_TABLE                  = 0x1\n\tNFTA_CHAIN_HANDLE                 = 0x2\n\tNFTA_CHAIN_NAME                   = 0x3\n\tNFTA_CHAIN_HOOK                   = 0x4\n\tNFTA_CHAIN_POLICY                 = 0x5\n\tNFTA_CHAIN_USE                    = 0x6\n\tNFTA_CHAIN_TYPE                   = 0x7\n\tNFTA_CHAIN_COUNTERS               = 0x8\n\tNFTA_CHAIN_PAD                    = 0x9\n\tNFTA_RULE_UNSPEC                  = 0x0\n\tNFTA_RULE_TABLE                   = 0x1\n\tNFTA_RULE_CHAIN                   = 0x2\n\tNFTA_RULE_HANDLE                  = 0x3\n\tNFTA_RULE_EXPRESSIONS             = 0x4\n\tNFTA_RULE_COMPAT                  = 0x5\n\tNFTA_RULE_POSITION                = 0x6\n\tNFTA_RULE_USERDATA                = 0x7\n\tNFTA_RULE_PAD                     = 0x8\n\tNFTA_RULE_ID                      = 0x9\n\tNFT_RULE_COMPAT_F_INV             = 0x2\n\tNFT_RULE_COMPAT_F_MASK            = 0x2\n\tNFTA_RULE_COMPAT_UNSPEC           = 0x0\n\tNFTA_RULE_COMPAT_PROTO            = 0x1\n\tNFTA_RULE_COMPAT_FLAGS            = 0x2\n\tNFT_SET_ANONYMOUS                 = 0x1\n\tNFT_SET_CONSTANT                  = 0x2\n\tNFT_SET_INTERVAL                  = 0x4\n\tNFT_SET_MAP                       = 0x8\n\tNFT_SET_TIMEOUT                   = 0x10\n\tNFT_SET_EVAL                      = 0x20\n\tNFT_SET_OBJECT                    = 0x40\n\tNFT_SET_POL_PERFORMANCE           = 0x0\n\tNFT_SET_POL_MEMORY                = 0x1\n\tNFTA_SET_DESC_UNSPEC              = 0x0\n\tNFTA_SET_DESC_SIZE                = 0x1\n\tNFTA_SET_UNSPEC                   = 0x0\n\tNFTA_SET_TABLE                    = 0x1\n\tNFTA_SET_NAME                     = 0x2\n\tNFTA_SET_FLAGS                    = 0x3\n\tNFTA_SET_KEY_TYPE                 = 0x4\n\tNFTA_SET_KEY_LEN                  = 0x5\n\tNFTA_SET_DATA_TYPE                = 0x6\n\tNFTA_SET_DATA_LEN                 = 0x7\n\tNFTA_SET_POLICY                   = 0x8\n\tNFTA_SET_DESC                     = 0x9\n\tNFTA_SET_ID                       = 0xa\n\tNFTA_SET_TIMEOUT                  = 0xb\n\tNFTA_SET_GC_INTERVAL              = 0xc\n\tNFTA_SET_USERDATA                 = 0xd\n\tNFTA_SET_PAD                      = 0xe\n\tNFTA_SET_OBJ_TYPE                 = 0xf\n\tNFT_SET_ELEM_INTERVAL_END         = 0x1\n\tNFTA_SET_ELEM_UNSPEC              = 0x0\n\tNFTA_SET_ELEM_KEY                 = 0x1\n\tNFTA_SET_ELEM_DATA                = 0x2\n\tNFTA_SET_ELEM_FLAGS               = 0x3\n\tNFTA_SET_ELEM_TIMEOUT             = 0x4\n\tNFTA_SET_ELEM_EXPIRATION          = 0x5\n\tNFTA_SET_ELEM_USERDATA            = 0x6\n\tNFTA_SET_ELEM_EXPR                = 0x7\n\tNFTA_SET_ELEM_PAD                 = 0x8\n\tNFTA_SET_ELEM_OBJREF              = 0x9\n\tNFTA_SET_ELEM_LIST_UNSPEC         = 0x0\n\tNFTA_SET_ELEM_LIST_TABLE          = 0x1\n\tNFTA_SET_ELEM_LIST_SET            = 0x2\n\tNFTA_SET_ELEM_LIST_ELEMENTS       = 0x3\n\tNFTA_SET_ELEM_LIST_SET_ID         = 0x4\n\tNFT_DATA_VALUE                    = 0x0\n\tNFT_DATA_VERDICT                  = 0xffffff00\n\tNFTA_DATA_UNSPEC                  = 0x0\n\tNFTA_DATA_VALUE                   = 0x1\n\tNFTA_DATA_VERDICT                 = 0x2\n\tNFTA_VERDICT_UNSPEC               = 0x0\n\tNFTA_VERDICT_CODE                 = 0x1\n\tNFTA_VERDICT_CHAIN                = 0x2\n\tNFTA_EXPR_UNSPEC                  = 0x0\n\tNFTA_EXPR_NAME                    = 0x1\n\tNFTA_EXPR_DATA                    = 0x2\n\tNFTA_IMMEDIATE_UNSPEC             = 0x0\n\tNFTA_IMMEDIATE_DREG               = 0x1\n\tNFTA_IMMEDIATE_DATA               = 0x2\n\tNFTA_BITWISE_UNSPEC               = 0x0\n\tNFTA_BITWISE_SREG                 = 0x1\n\tNFTA_BITWISE_DREG                 = 0x2\n\tNFTA_BITWISE_LEN                  = 0x3\n\tNFTA_BITWISE_MASK                 = 0x4\n\tNFTA_BITWISE_XOR                  = 0x5\n\tNFT_BYTEORDER_NTOH                = 0x0\n\tNFT_BYTEORDER_HTON                = 0x1\n\tNFTA_BYTEORDER_UNSPEC             = 0x0\n\tNFTA_BYTEORDER_SREG               = 0x1\n\tNFTA_BYTEORDER_DREG               = 0x2\n\tNFTA_BYTEORDER_OP                 = 0x3\n\tNFTA_BYTEORDER_LEN                = 0x4\n\tNFTA_BYTEORDER_SIZE               = 0x5\n\tNFT_CMP_EQ                        = 0x0\n\tNFT_CMP_NEQ                       = 0x1\n\tNFT_CMP_LT                        = 0x2\n\tNFT_CMP_LTE                       = 0x3\n\tNFT_CMP_GT                        = 0x4\n\tNFT_CMP_GTE                       = 0x5\n\tNFTA_CMP_UNSPEC                   = 0x0\n\tNFTA_CMP_SREG                     = 0x1\n\tNFTA_CMP_OP                       = 0x2\n\tNFTA_CMP_DATA                     = 0x3\n\tNFT_RANGE_EQ                      = 0x0\n\tNFT_RANGE_NEQ                     = 0x1\n\tNFTA_RANGE_UNSPEC                 = 0x0\n\tNFTA_RANGE_SREG                   = 0x1\n\tNFTA_RANGE_OP                     = 0x2\n\tNFTA_RANGE_FROM_DATA              = 0x3\n\tNFTA_RANGE_TO_DATA                = 0x4\n\tNFT_LOOKUP_F_INV                  = 0x1\n\tNFTA_LOOKUP_UNSPEC                = 0x0\n\tNFTA_LOOKUP_SET                   = 0x1\n\tNFTA_LOOKUP_SREG                  = 0x2\n\tNFTA_LOOKUP_DREG                  = 0x3\n\tNFTA_LOOKUP_SET_ID                = 0x4\n\tNFTA_LOOKUP_FLAGS                 = 0x5\n\tNFT_DYNSET_OP_ADD                 = 0x0\n\tNFT_DYNSET_OP_UPDATE              = 0x1\n\tNFT_DYNSET_F_INV                  = 0x1\n\tNFTA_DYNSET_UNSPEC                = 0x0\n\tNFTA_DYNSET_SET_NAME              = 0x1\n\tNFTA_DYNSET_SET_ID                = 0x2\n\tNFTA_DYNSET_OP                    = 0x3\n\tNFTA_DYNSET_SREG_KEY              = 0x4\n\tNFTA_DYNSET_SREG_DATA             = 0x5\n\tNFTA_DYNSET_TIMEOUT               = 0x6\n\tNFTA_DYNSET_EXPR                  = 0x7\n\tNFTA_DYNSET_PAD                   = 0x8\n\tNFTA_DYNSET_FLAGS                 = 0x9\n\tNFT_PAYLOAD_LL_HEADER             = 0x0\n\tNFT_PAYLOAD_NETWORK_HEADER        = 0x1\n\tNFT_PAYLOAD_TRANSPORT_HEADER      = 0x2\n\tNFT_PAYLOAD_CSUM_NONE             = 0x0\n\tNFT_PAYLOAD_CSUM_INET             = 0x1\n\tNFT_PAYLOAD_L4CSUM_PSEUDOHDR      = 0x1\n\tNFTA_PAYLOAD_UNSPEC               = 0x0\n\tNFTA_PAYLOAD_DREG                 = 0x1\n\tNFTA_PAYLOAD_BASE                 = 0x2\n\tNFTA_PAYLOAD_OFFSET               = 0x3\n\tNFTA_PAYLOAD_LEN                  = 0x4\n\tNFTA_PAYLOAD_SREG                 = 0x5\n\tNFTA_PAYLOAD_CSUM_TYPE            = 0x6\n\tNFTA_PAYLOAD_CSUM_OFFSET          = 0x7\n\tNFTA_PAYLOAD_CSUM_FLAGS           = 0x8\n\tNFT_EXTHDR_F_PRESENT              = 0x1\n\tNFT_EXTHDR_OP_IPV6                = 0x0\n\tNFT_EXTHDR_OP_TCPOPT              = 0x1\n\tNFTA_EXTHDR_UNSPEC                = 0x0\n\tNFTA_EXTHDR_DREG                  = 0x1\n\tNFTA_EXTHDR_TYPE                  = 0x2\n\tNFTA_EXTHDR_OFFSET                = 0x3\n\tNFTA_EXTHDR_LEN                   = 0x4\n\tNFTA_EXTHDR_FLAGS                 = 0x5\n\tNFTA_EXTHDR_OP                    = 0x6\n\tNFTA_EXTHDR_SREG                  = 0x7\n\tNFT_META_LEN                      = 0x0\n\tNFT_META_PROTOCOL                 = 0x1\n\tNFT_META_PRIORITY                 = 0x2\n\tNFT_META_MARK                     = 0x3\n\tNFT_META_IIF                      = 0x4\n\tNFT_META_OIF                      = 0x5\n\tNFT_META_IIFNAME                  = 0x6\n\tNFT_META_OIFNAME                  = 0x7\n\tNFT_META_IIFTYPE                  = 0x8\n\tNFT_META_OIFTYPE                  = 0x9\n\tNFT_META_SKUID                    = 0xa\n\tNFT_META_SKGID                    = 0xb\n\tNFT_META_NFTRACE                  = 0xc\n\tNFT_META_RTCLASSID                = 0xd\n\tNFT_META_SECMARK                  = 0xe\n\tNFT_META_NFPROTO                  = 0xf\n\tNFT_META_L4PROTO                  = 0x10\n\tNFT_META_BRI_IIFNAME              = 0x11\n\tNFT_META_BRI_OIFNAME              = 0x12\n\tNFT_META_PKTTYPE                  = 0x13\n\tNFT_META_CPU                      = 0x14\n\tNFT_META_IIFGROUP                 = 0x15\n\tNFT_META_OIFGROUP                 = 0x16\n\tNFT_META_CGROUP                   = 0x17\n\tNFT_META_PRANDOM                  = 0x18\n\tNFT_RT_CLASSID                    = 0x0\n\tNFT_RT_NEXTHOP4                   = 0x1\n\tNFT_RT_NEXTHOP6                   = 0x2\n\tNFT_RT_TCPMSS                     = 0x3\n\tNFT_HASH_JENKINS                  = 0x0\n\tNFT_HASH_SYM                      = 0x1\n\tNFTA_HASH_UNSPEC                  = 0x0\n\tNFTA_HASH_SREG                    = 0x1\n\tNFTA_HASH_DREG                    = 0x2\n\tNFTA_HASH_LEN                     = 0x3\n\tNFTA_HASH_MODULUS                 = 0x4\n\tNFTA_HASH_SEED                    = 0x5\n\tNFTA_HASH_OFFSET                  = 0x6\n\tNFTA_HASH_TYPE                    = 0x7\n\tNFTA_META_UNSPEC                  = 0x0\n\tNFTA_META_DREG                    = 0x1\n\tNFTA_META_KEY                     = 0x2\n\tNFTA_META_SREG                    = 0x3\n\tNFTA_RT_UNSPEC                    = 0x0\n\tNFTA_RT_DREG                      = 0x1\n\tNFTA_RT_KEY                       = 0x2\n\tNFT_CT_STATE                      = 0x0\n\tNFT_CT_DIRECTION                  = 0x1\n\tNFT_CT_STATUS                     = 0x2\n\tNFT_CT_MARK                       = 0x3\n\tNFT_CT_SECMARK                    = 0x4\n\tNFT_CT_EXPIRATION                 = 0x5\n\tNFT_CT_HELPER                     = 0x6\n\tNFT_CT_L3PROTOCOL                 = 0x7\n\tNFT_CT_SRC                        = 0x8\n\tNFT_CT_DST                        = 0x9\n\tNFT_CT_PROTOCOL                   = 0xa\n\tNFT_CT_PROTO_SRC                  = 0xb\n\tNFT_CT_PROTO_DST                  = 0xc\n\tNFT_CT_LABELS                     = 0xd\n\tNFT_CT_PKTS                       = 0xe\n\tNFT_CT_BYTES                      = 0xf\n\tNFT_CT_AVGPKT                     = 0x10\n\tNFT_CT_ZONE                       = 0x11\n\tNFT_CT_EVENTMASK                  = 0x12\n\tNFTA_CT_UNSPEC                    = 0x0\n\tNFTA_CT_DREG                      = 0x1\n\tNFTA_CT_KEY                       = 0x2\n\tNFTA_CT_DIRECTION                 = 0x3\n\tNFTA_CT_SREG                      = 0x4\n\tNFT_LIMIT_PKTS                    = 0x0\n\tNFT_LIMIT_PKT_BYTES               = 0x1\n\tNFT_LIMIT_F_INV                   = 0x1\n\tNFTA_LIMIT_UNSPEC                 = 0x0\n\tNFTA_LIMIT_RATE                   = 0x1\n\tNFTA_LIMIT_UNIT                   = 0x2\n\tNFTA_LIMIT_BURST                  = 0x3\n\tNFTA_LIMIT_TYPE                   = 0x4\n\tNFTA_LIMIT_FLAGS                  = 0x5\n\tNFTA_LIMIT_PAD                    = 0x6\n\tNFTA_COUNTER_UNSPEC               = 0x0\n\tNFTA_COUNTER_BYTES                = 0x1\n\tNFTA_COUNTER_PACKETS              = 0x2\n\tNFTA_COUNTER_PAD                  = 0x3\n\tNFTA_LOG_UNSPEC                   = 0x0\n\tNFTA_LOG_GROUP                    = 0x1\n\tNFTA_LOG_PREFIX                   = 0x2\n\tNFTA_LOG_SNAPLEN                  = 0x3\n\tNFTA_LOG_QTHRESHOLD               = 0x4\n\tNFTA_LOG_LEVEL                    = 0x5\n\tNFTA_LOG_FLAGS                    = 0x6\n\tNFTA_QUEUE_UNSPEC                 = 0x0\n\tNFTA_QUEUE_NUM                    = 0x1\n\tNFTA_QUEUE_TOTAL                  = 0x2\n\tNFTA_QUEUE_FLAGS                  = 0x3\n\tNFTA_QUEUE_SREG_QNUM              = 0x4\n\tNFT_QUOTA_F_INV                   = 0x1\n\tNFT_QUOTA_F_DEPLETED              = 0x2\n\tNFTA_QUOTA_UNSPEC                 = 0x0\n\tNFTA_QUOTA_BYTES                  = 0x1\n\tNFTA_QUOTA_FLAGS                  = 0x2\n\tNFTA_QUOTA_PAD                    = 0x3\n\tNFTA_QUOTA_CONSUMED               = 0x4\n\tNFT_REJECT_ICMP_UNREACH           = 0x0\n\tNFT_REJECT_TCP_RST                = 0x1\n\tNFT_REJECT_ICMPX_UNREACH          = 0x2\n\tNFT_REJECT_ICMPX_NO_ROUTE         = 0x0\n\tNFT_REJECT_ICMPX_PORT_UNREACH     = 0x1\n\tNFT_REJECT_ICMPX_HOST_UNREACH     = 0x2\n\tNFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3\n\tNFTA_REJECT_UNSPEC                = 0x0\n\tNFTA_REJECT_TYPE                  = 0x1\n\tNFTA_REJECT_ICMP_CODE             = 0x2\n\tNFT_NAT_SNAT                      = 0x0\n\tNFT_NAT_DNAT                      = 0x1\n\tNFTA_NAT_UNSPEC                   = 0x0\n\tNFTA_NAT_TYPE                     = 0x1\n\tNFTA_NAT_FAMILY                   = 0x2\n\tNFTA_NAT_REG_ADDR_MIN             = 0x3\n\tNFTA_NAT_REG_ADDR_MAX             = 0x4\n\tNFTA_NAT_REG_PROTO_MIN            = 0x5\n\tNFTA_NAT_REG_PROTO_MAX            = 0x6\n\tNFTA_NAT_FLAGS                    = 0x7\n\tNFTA_MASQ_UNSPEC                  = 0x0\n\tNFTA_MASQ_FLAGS                   = 0x1\n\tNFTA_MASQ_REG_PROTO_MIN           = 0x2\n\tNFTA_MASQ_REG_PROTO_MAX           = 0x3\n\tNFTA_REDIR_UNSPEC                 = 0x0\n\tNFTA_REDIR_REG_PROTO_MIN          = 0x1\n\tNFTA_REDIR_REG_PROTO_MAX          = 0x2\n\tNFTA_REDIR_FLAGS                  = 0x3\n\tNFTA_DUP_UNSPEC                   = 0x0\n\tNFTA_DUP_SREG_ADDR                = 0x1\n\tNFTA_DUP_SREG_DEV                 = 0x2\n\tNFTA_FWD_UNSPEC                   = 0x0\n\tNFTA_FWD_SREG_DEV                 = 0x1\n\tNFTA_OBJREF_UNSPEC                = 0x0\n\tNFTA_OBJREF_IMM_TYPE              = 0x1\n\tNFTA_OBJREF_IMM_NAME              = 0x2\n\tNFTA_OBJREF_SET_SREG              = 0x3\n\tNFTA_OBJREF_SET_NAME              = 0x4\n\tNFTA_OBJREF_SET_ID                = 0x5\n\tNFTA_GEN_UNSPEC                   = 0x0\n\tNFTA_GEN_ID                       = 0x1\n\tNFTA_GEN_PROC_PID                 = 0x2\n\tNFTA_GEN_PROC_NAME                = 0x3\n\tNFTA_FIB_UNSPEC                   = 0x0\n\tNFTA_FIB_DREG                     = 0x1\n\tNFTA_FIB_RESULT                   = 0x2\n\tNFTA_FIB_FLAGS                    = 0x3\n\tNFT_FIB_RESULT_UNSPEC             = 0x0\n\tNFT_FIB_RESULT_OIF                = 0x1\n\tNFT_FIB_RESULT_OIFNAME            = 0x2\n\tNFT_FIB_RESULT_ADDRTYPE           = 0x3\n\tNFTA_FIB_F_SADDR                  = 0x1\n\tNFTA_FIB_F_DADDR                  = 0x2\n\tNFTA_FIB_F_MARK                   = 0x4\n\tNFTA_FIB_F_IIF                    = 0x8\n\tNFTA_FIB_F_OIF                    = 0x10\n\tNFTA_FIB_F_PRESENT                = 0x20\n\tNFTA_CT_HELPER_UNSPEC             = 0x0\n\tNFTA_CT_HELPER_NAME               = 0x1\n\tNFTA_CT_HELPER_L3PROTO            = 0x2\n\tNFTA_CT_HELPER_L4PROTO            = 0x3\n\tNFTA_OBJ_UNSPEC                   = 0x0\n\tNFTA_OBJ_TABLE                    = 0x1\n\tNFTA_OBJ_NAME                     = 0x2\n\tNFTA_OBJ_TYPE                     = 0x3\n\tNFTA_OBJ_DATA                     = 0x4\n\tNFTA_OBJ_USE                      = 0x5\n\tNFTA_TRACE_UNSPEC                 = 0x0\n\tNFTA_TRACE_TABLE                  = 0x1\n\tNFTA_TRACE_CHAIN                  = 0x2\n\tNFTA_TRACE_RULE_HANDLE            = 0x3\n\tNFTA_TRACE_TYPE                   = 0x4\n\tNFTA_TRACE_VERDICT                = 0x5\n\tNFTA_TRACE_ID                     = 0x6\n\tNFTA_TRACE_LL_HEADER              = 0x7\n\tNFTA_TRACE_NETWORK_HEADER         = 0x8\n\tNFTA_TRACE_TRANSPORT_HEADER       = 0x9\n\tNFTA_TRACE_IIF                    = 0xa\n\tNFTA_TRACE_IIFTYPE                = 0xb\n\tNFTA_TRACE_OIF                    = 0xc\n\tNFTA_TRACE_OIFTYPE                = 0xd\n\tNFTA_TRACE_MARK                   = 0xe\n\tNFTA_TRACE_NFPROTO                = 0xf\n\tNFTA_TRACE_POLICY                 = 0x10\n\tNFTA_TRACE_PAD                    = 0x11\n\tNFT_TRACETYPE_UNSPEC              = 0x0\n\tNFT_TRACETYPE_POLICY              = 0x1\n\tNFT_TRACETYPE_RETURN              = 0x2\n\tNFT_TRACETYPE_RULE                = 0x3\n\tNFTA_NG_UNSPEC                    = 0x0\n\tNFTA_NG_DREG                      = 0x1\n\tNFTA_NG_MODULUS                   = 0x2\n\tNFTA_NG_TYPE                      = 0x3\n\tNFTA_NG_OFFSET                    = 0x4\n\tNFT_NG_INCREMENTAL                = 0x0\n\tNFT_NG_RANDOM                     = 0x1\n)\n\ntype RTCTime struct {\n\tSec   int32\n\tMin   int32\n\tHour  int32\n\tMday  int32\n\tMon   int32\n\tYear  int32\n\tWday  int32\n\tYday  int32\n\tIsdst int32\n}\n\ntype RTCWkAlrm struct {\n\tEnabled uint8\n\tPending uint8\n\t_       [2]byte\n\tTime    RTCTime\n}\n\ntype RTCPLLInfo struct {\n\tCtrl    int32\n\tValue   int32\n\tMax     int32\n\tMin     int32\n\tPosmult int32\n\tNegmult int32\n\tClock   int64\n}\n\ntype BlkpgIoctlArg struct {\n\tOp      int32\n\tFlags   int32\n\tDatalen int32\n\t_       [4]byte\n\tData    *byte\n}\n\ntype BlkpgPartition struct {\n\tStart   int64\n\tLength  int64\n\tPno     int32\n\tDevname [64]uint8\n\tVolname [64]uint8\n\t_       [4]byte\n}\n\nconst (\n\tBLKPG                  = 0x20001269\n\tBLKPG_ADD_PARTITION    = 0x1\n\tBLKPG_DEL_PARTITION    = 0x2\n\tBLKPG_RESIZE_PARTITION = 0x3\n)\n\nconst (\n\tNETNSA_NONE = 0x0\n\tNETNSA_NSID = 0x1\n\tNETNSA_PID  = 0x2\n\tNETNSA_FD   = 0x3\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go",
    "content": "// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build mips64le,linux\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x8\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x8\n\tsizeofLongLong = 0x8\n\tPathMax        = 0x1000\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int64\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int64\n}\n\ntype Timeval struct {\n\tSec  int64\n\tUsec int64\n}\n\ntype Timex struct {\n\tModes     uint32\n\t_         [4]byte\n\tOffset    int64\n\tFreq      int64\n\tMaxerror  int64\n\tEsterror  int64\n\tStatus    int32\n\t_         [4]byte\n\tConstant  int64\n\tPrecision int64\n\tTolerance int64\n\tTime      Timeval\n\tTick      int64\n\tPpsfreq   int64\n\tJitter    int64\n\tShift     int32\n\t_         [4]byte\n\tStabil    int64\n\tJitcnt    int64\n\tCalcnt    int64\n\tErrcnt    int64\n\tStbcnt    int64\n\tTai       int32\n\t_         [44]byte\n}\n\ntype Time_t int64\n\ntype Tms struct {\n\tUtime  int64\n\tStime  int64\n\tCutime int64\n\tCstime int64\n}\n\ntype Utimbuf struct {\n\tActime  int64\n\tModtime int64\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int64\n\tIxrss    int64\n\tIdrss    int64\n\tIsrss    int64\n\tMinflt   int64\n\tMajflt   int64\n\tNswap    int64\n\tInblock  int64\n\tOublock  int64\n\tMsgsnd   int64\n\tMsgrcv   int64\n\tNsignals int64\n\tNvcsw    int64\n\tNivcsw   int64\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev     uint32\n\tPad1    [3]uint32\n\tIno     uint64\n\tMode    uint32\n\tNlink   uint32\n\tUid     uint32\n\tGid     uint32\n\tRdev    uint32\n\tPad2    [3]uint32\n\tSize    int64\n\tAtim    Timespec\n\tMtim    Timespec\n\tCtim    Timespec\n\tBlksize uint32\n\tPad4    uint32\n\tBlocks  int64\n}\n\ntype StatxTimestamp struct {\n\tSec  int64\n\tNsec uint32\n\t_    int32\n}\n\ntype Statx_t struct {\n\tMask            uint32\n\tBlksize         uint32\n\tAttributes      uint64\n\tNlink           uint32\n\tUid             uint32\n\tGid             uint32\n\tMode            uint16\n\t_               [1]uint16\n\tIno             uint64\n\tSize            uint64\n\tBlocks          uint64\n\tAttributes_mask uint64\n\tAtime           StatxTimestamp\n\tBtime           StatxTimestamp\n\tCtime           StatxTimestamp\n\tMtime           StatxTimestamp\n\tRdev_major      uint32\n\tRdev_minor      uint32\n\tDev_major       uint32\n\tDev_minor       uint32\n\t_               [14]uint64\n}\n\ntype Dirent struct {\n\tIno    uint64\n\tOff    int64\n\tReclen uint16\n\tType   uint8\n\tName   [256]int8\n\t_      [5]byte\n}\n\ntype Fsid struct {\n\tVal [2]int32\n}\n\ntype Flock_t struct {\n\tType   int16\n\tWhence int16\n\t_      [4]byte\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\t_      [4]byte\n}\n\ntype FscryptPolicy struct {\n\tVersion                   uint8\n\tContents_encryption_mode  uint8\n\tFilenames_encryption_mode uint8\n\tFlags                     uint8\n\tMaster_key_descriptor     [8]uint8\n}\n\ntype FscryptKey struct {\n\tMode uint32\n\tRaw  [64]uint8\n\tSize uint32\n}\n\ntype KeyctlDHParams struct {\n\tPrivate int32\n\tPrime   int32\n\tBase    int32\n}\n\nconst (\n\tFADV_NORMAL     = 0x0\n\tFADV_RANDOM     = 0x1\n\tFADV_SEQUENTIAL = 0x2\n\tFADV_WILLNEED   = 0x3\n\tFADV_DONTNEED   = 0x4\n\tFADV_NOREUSE    = 0x5\n)\n\ntype RawSockaddrInet4 struct {\n\tFamily uint16\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]uint8\n}\n\ntype RawSockaddrInet6 struct {\n\tFamily   uint16\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tFamily uint16\n\tPath   [108]int8\n}\n\ntype RawSockaddrLinklayer struct {\n\tFamily   uint16\n\tProtocol uint16\n\tIfindex  int32\n\tHatype   uint16\n\tPkttype  uint8\n\tHalen    uint8\n\tAddr     [8]uint8\n}\n\ntype RawSockaddrNetlink struct {\n\tFamily uint16\n\tPad    uint16\n\tPid    uint32\n\tGroups uint32\n}\n\ntype RawSockaddrHCI struct {\n\tFamily  uint16\n\tDev     uint16\n\tChannel uint16\n}\n\ntype RawSockaddrL2 struct {\n\tFamily      uint16\n\tPsm         uint16\n\tBdaddr      [6]uint8\n\tCid         uint16\n\tBdaddr_type uint8\n\t_           [1]byte\n}\n\ntype RawSockaddrRFCOMM struct {\n\tFamily  uint16\n\tBdaddr  [6]uint8\n\tChannel uint8\n\t_       [1]byte\n}\n\ntype RawSockaddrCAN struct {\n\tFamily  uint16\n\t_       [2]byte\n\tIfindex int32\n\tAddr    [8]byte\n}\n\ntype RawSockaddrALG struct {\n\tFamily uint16\n\tType   [14]uint8\n\tFeat   uint32\n\tMask   uint32\n\tName   [64]uint8\n}\n\ntype RawSockaddrVM struct {\n\tFamily    uint16\n\tReserved1 uint16\n\tPort      uint32\n\tCid       uint32\n\tZero      [4]uint8\n}\n\ntype RawSockaddr struct {\n\tFamily uint16\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [96]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint64\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPMreqn struct {\n\tMultiaddr [4]byte /* in_addr */\n\tAddress   [4]byte /* in_addr */\n\tIfindex   int32\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype PacketMreq struct {\n\tIfindex int32\n\tType    uint16\n\tAlen    uint16\n\tAddress [8]uint8\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\t_          [4]byte\n\tIov        *Iovec\n\tIovlen     uint64\n\tControl    *byte\n\tControllen uint64\n\tFlags      int32\n\t_          [4]byte\n}\n\ntype Cmsghdr struct {\n\tLen   uint64\n\tLevel int32\n\tType  int32\n}\n\ntype Inet4Pktinfo struct {\n\tIfindex  int32\n\tSpec_dst [4]byte /* in_addr */\n\tAddr     [4]byte /* in_addr */\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tData [8]uint32\n}\n\ntype Ucred struct {\n\tPid int32\n\tUid uint32\n\tGid uint32\n}\n\ntype TCPInfo struct {\n\tState          uint8\n\tCa_state       uint8\n\tRetransmits    uint8\n\tProbes         uint8\n\tBackoff        uint8\n\tOptions        uint8\n\t_              [2]byte\n\tRto            uint32\n\tAto            uint32\n\tSnd_mss        uint32\n\tRcv_mss        uint32\n\tUnacked        uint32\n\tSacked         uint32\n\tLost           uint32\n\tRetrans        uint32\n\tFackets        uint32\n\tLast_data_sent uint32\n\tLast_ack_sent  uint32\n\tLast_data_recv uint32\n\tLast_ack_recv  uint32\n\tPmtu           uint32\n\tRcv_ssthresh   uint32\n\tRtt            uint32\n\tRttvar         uint32\n\tSnd_ssthresh   uint32\n\tSnd_cwnd       uint32\n\tAdvmss         uint32\n\tReordering     uint32\n\tRcv_rtt        uint32\n\tRcv_space      uint32\n\tTotal_retrans  uint32\n}\n\nconst (\n\tSizeofSockaddrInet4     = 0x10\n\tSizeofSockaddrInet6     = 0x1c\n\tSizeofSockaddrAny       = 0x70\n\tSizeofSockaddrUnix      = 0x6e\n\tSizeofSockaddrLinklayer = 0x14\n\tSizeofSockaddrNetlink   = 0xc\n\tSizeofSockaddrHCI       = 0x6\n\tSizeofSockaddrL2        = 0xe\n\tSizeofSockaddrRFCOMM    = 0xa\n\tSizeofSockaddrCAN       = 0x10\n\tSizeofSockaddrALG       = 0x58\n\tSizeofSockaddrVM        = 0x10\n\tSizeofLinger            = 0x8\n\tSizeofIovec             = 0x10\n\tSizeofIPMreq            = 0x8\n\tSizeofIPMreqn           = 0xc\n\tSizeofIPv6Mreq          = 0x14\n\tSizeofPacketMreq        = 0x10\n\tSizeofMsghdr            = 0x38\n\tSizeofCmsghdr           = 0x10\n\tSizeofInet4Pktinfo      = 0xc\n\tSizeofInet6Pktinfo      = 0x14\n\tSizeofIPv6MTUInfo       = 0x20\n\tSizeofICMPv6Filter      = 0x20\n\tSizeofUcred             = 0xc\n\tSizeofTCPInfo           = 0x68\n)\n\nconst (\n\tIFA_UNSPEC           = 0x0\n\tIFA_ADDRESS          = 0x1\n\tIFA_LOCAL            = 0x2\n\tIFA_LABEL            = 0x3\n\tIFA_BROADCAST        = 0x4\n\tIFA_ANYCAST          = 0x5\n\tIFA_CACHEINFO        = 0x6\n\tIFA_MULTICAST        = 0x7\n\tIFLA_UNSPEC          = 0x0\n\tIFLA_ADDRESS         = 0x1\n\tIFLA_BROADCAST       = 0x2\n\tIFLA_IFNAME          = 0x3\n\tIFLA_INFO_KIND       = 0x1\n\tIFLA_MTU             = 0x4\n\tIFLA_LINK            = 0x5\n\tIFLA_QDISC           = 0x6\n\tIFLA_STATS           = 0x7\n\tIFLA_COST            = 0x8\n\tIFLA_PRIORITY        = 0x9\n\tIFLA_MASTER          = 0xa\n\tIFLA_WIRELESS        = 0xb\n\tIFLA_PROTINFO        = 0xc\n\tIFLA_TXQLEN          = 0xd\n\tIFLA_MAP             = 0xe\n\tIFLA_WEIGHT          = 0xf\n\tIFLA_OPERSTATE       = 0x10\n\tIFLA_LINKMODE        = 0x11\n\tIFLA_LINKINFO        = 0x12\n\tIFLA_NET_NS_PID      = 0x13\n\tIFLA_IFALIAS         = 0x14\n\tIFLA_NUM_VF          = 0x15\n\tIFLA_VFINFO_LIST     = 0x16\n\tIFLA_STATS64         = 0x17\n\tIFLA_VF_PORTS        = 0x18\n\tIFLA_PORT_SELF       = 0x19\n\tIFLA_AF_SPEC         = 0x1a\n\tIFLA_GROUP           = 0x1b\n\tIFLA_NET_NS_FD       = 0x1c\n\tIFLA_EXT_MASK        = 0x1d\n\tIFLA_PROMISCUITY     = 0x1e\n\tIFLA_NUM_TX_QUEUES   = 0x1f\n\tIFLA_NUM_RX_QUEUES   = 0x20\n\tIFLA_CARRIER         = 0x21\n\tIFLA_PHYS_PORT_ID    = 0x22\n\tIFLA_CARRIER_CHANGES = 0x23\n\tIFLA_PHYS_SWITCH_ID  = 0x24\n\tIFLA_LINK_NETNSID    = 0x25\n\tIFLA_PHYS_PORT_NAME  = 0x26\n\tIFLA_PROTO_DOWN      = 0x27\n\tIFLA_GSO_MAX_SEGS    = 0x28\n\tIFLA_GSO_MAX_SIZE    = 0x29\n\tIFLA_PAD             = 0x2a\n\tIFLA_XDP             = 0x2b\n\tIFLA_EVENT           = 0x2c\n\tIFLA_NEW_NETNSID     = 0x2d\n\tIFLA_IF_NETNSID      = 0x2e\n\tIFLA_MAX             = 0x31\n\tRT_SCOPE_UNIVERSE    = 0x0\n\tRT_SCOPE_SITE        = 0xc8\n\tRT_SCOPE_LINK        = 0xfd\n\tRT_SCOPE_HOST        = 0xfe\n\tRT_SCOPE_NOWHERE     = 0xff\n\tRT_TABLE_UNSPEC      = 0x0\n\tRT_TABLE_COMPAT      = 0xfc\n\tRT_TABLE_DEFAULT     = 0xfd\n\tRT_TABLE_MAIN        = 0xfe\n\tRT_TABLE_LOCAL       = 0xff\n\tRT_TABLE_MAX         = 0xffffffff\n\tRTA_UNSPEC           = 0x0\n\tRTA_DST              = 0x1\n\tRTA_SRC              = 0x2\n\tRTA_IIF              = 0x3\n\tRTA_OIF              = 0x4\n\tRTA_GATEWAY          = 0x5\n\tRTA_PRIORITY         = 0x6\n\tRTA_PREFSRC          = 0x7\n\tRTA_METRICS          = 0x8\n\tRTA_MULTIPATH        = 0x9\n\tRTA_FLOW             = 0xb\n\tRTA_CACHEINFO        = 0xc\n\tRTA_TABLE            = 0xf\n\tRTN_UNSPEC           = 0x0\n\tRTN_UNICAST          = 0x1\n\tRTN_LOCAL            = 0x2\n\tRTN_BROADCAST        = 0x3\n\tRTN_ANYCAST          = 0x4\n\tRTN_MULTICAST        = 0x5\n\tRTN_BLACKHOLE        = 0x6\n\tRTN_UNREACHABLE      = 0x7\n\tRTN_PROHIBIT         = 0x8\n\tRTN_THROW            = 0x9\n\tRTN_NAT              = 0xa\n\tRTN_XRESOLVE         = 0xb\n\tRTNLGRP_NONE         = 0x0\n\tRTNLGRP_LINK         = 0x1\n\tRTNLGRP_NOTIFY       = 0x2\n\tRTNLGRP_NEIGH        = 0x3\n\tRTNLGRP_TC           = 0x4\n\tRTNLGRP_IPV4_IFADDR  = 0x5\n\tRTNLGRP_IPV4_MROUTE  = 0x6\n\tRTNLGRP_IPV4_ROUTE   = 0x7\n\tRTNLGRP_IPV4_RULE    = 0x8\n\tRTNLGRP_IPV6_IFADDR  = 0x9\n\tRTNLGRP_IPV6_MROUTE  = 0xa\n\tRTNLGRP_IPV6_ROUTE   = 0xb\n\tRTNLGRP_IPV6_IFINFO  = 0xc\n\tRTNLGRP_IPV6_PREFIX  = 0x12\n\tRTNLGRP_IPV6_RULE    = 0x13\n\tRTNLGRP_ND_USEROPT   = 0x14\n\tSizeofNlMsghdr       = 0x10\n\tSizeofNlMsgerr       = 0x14\n\tSizeofRtGenmsg       = 0x1\n\tSizeofNlAttr         = 0x4\n\tSizeofRtAttr         = 0x4\n\tSizeofIfInfomsg      = 0x10\n\tSizeofIfAddrmsg      = 0x8\n\tSizeofRtMsg          = 0xc\n\tSizeofRtNexthop      = 0x8\n)\n\ntype NlMsghdr struct {\n\tLen   uint32\n\tType  uint16\n\tFlags uint16\n\tSeq   uint32\n\tPid   uint32\n}\n\ntype NlMsgerr struct {\n\tError int32\n\tMsg   NlMsghdr\n}\n\ntype RtGenmsg struct {\n\tFamily uint8\n}\n\ntype NlAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype RtAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype IfInfomsg struct {\n\tFamily uint8\n\t_      uint8\n\tType   uint16\n\tIndex  int32\n\tFlags  uint32\n\tChange uint32\n}\n\ntype IfAddrmsg struct {\n\tFamily    uint8\n\tPrefixlen uint8\n\tFlags     uint8\n\tScope     uint8\n\tIndex     uint32\n}\n\ntype RtMsg struct {\n\tFamily   uint8\n\tDst_len  uint8\n\tSrc_len  uint8\n\tTos      uint8\n\tTable    uint8\n\tProtocol uint8\n\tScope    uint8\n\tType     uint8\n\tFlags    uint32\n}\n\ntype RtNexthop struct {\n\tLen     uint16\n\tFlags   uint8\n\tHops    uint8\n\tIfindex int32\n}\n\nconst (\n\tSizeofSockFilter = 0x8\n\tSizeofSockFprog  = 0x10\n)\n\ntype SockFilter struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype SockFprog struct {\n\tLen    uint16\n\t_      [6]byte\n\tFilter *SockFilter\n}\n\ntype InotifyEvent struct {\n\tWd     int32\n\tMask   uint32\n\tCookie uint32\n\tLen    uint32\n}\n\nconst SizeofInotifyEvent = 0x10\n\ntype PtraceRegs struct {\n\tRegs     [32]uint64\n\tLo       uint64\n\tHi       uint64\n\tEpc      uint64\n\tBadvaddr uint64\n\tStatus   uint64\n\tCause    uint64\n}\n\ntype FdSet struct {\n\tBits [16]int64\n}\n\ntype Sysinfo_t struct {\n\tUptime    int64\n\tLoads     [3]uint64\n\tTotalram  uint64\n\tFreeram   uint64\n\tSharedram uint64\n\tBufferram uint64\n\tTotalswap uint64\n\tFreeswap  uint64\n\tProcs     uint16\n\tPad       uint16\n\t_         [4]byte\n\tTotalhigh uint64\n\tFreehigh  uint64\n\tUnit      uint32\n\t_         [0]int8\n\t_         [4]byte\n}\n\ntype Utsname struct {\n\tSysname    [65]byte\n\tNodename   [65]byte\n\tRelease    [65]byte\n\tVersion    [65]byte\n\tMachine    [65]byte\n\tDomainname [65]byte\n}\n\ntype Ustat_t struct {\n\tTfree  int32\n\t_      [4]byte\n\tTinode uint64\n\tFname  [6]int8\n\tFpack  [6]int8\n\t_      [4]byte\n}\n\ntype EpollEvent struct {\n\tEvents uint32\n\tFd     int32\n\tPad    int32\n}\n\nconst (\n\tAT_EMPTY_PATH   = 0x1000\n\tAT_FDCWD        = -0x64\n\tAT_NO_AUTOMOUNT = 0x800\n\tAT_REMOVEDIR    = 0x200\n\n\tAT_STATX_SYNC_AS_STAT = 0x0\n\tAT_STATX_FORCE_SYNC   = 0x2000\n\tAT_STATX_DONT_SYNC    = 0x4000\n\n\tAT_SYMLINK_FOLLOW   = 0x400\n\tAT_SYMLINK_NOFOLLOW = 0x100\n\n\tAT_EACCESS = 0x200\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLIN    = 0x1\n\tPOLLPRI   = 0x2\n\tPOLLOUT   = 0x4\n\tPOLLRDHUP = 0x2000\n\tPOLLERR   = 0x8\n\tPOLLHUP   = 0x10\n\tPOLLNVAL  = 0x20\n)\n\ntype Sigset_t struct {\n\tVal [16]uint64\n}\n\nconst RNDGETENTCNT = 0x40045200\n\nconst PERF_IOC_FLAG_GROUP = 0x1\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tLine   uint8\n\tCc     [23]uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\ntype Taskstats struct {\n\tVersion                   uint16\n\t_                         [2]byte\n\tAc_exitcode               uint32\n\tAc_flag                   uint8\n\tAc_nice                   uint8\n\t_                         [6]byte\n\tCpu_count                 uint64\n\tCpu_delay_total           uint64\n\tBlkio_count               uint64\n\tBlkio_delay_total         uint64\n\tSwapin_count              uint64\n\tSwapin_delay_total        uint64\n\tCpu_run_real_total        uint64\n\tCpu_run_virtual_total     uint64\n\tAc_comm                   [32]int8\n\tAc_sched                  uint8\n\tAc_pad                    [3]uint8\n\t_                         [4]byte\n\tAc_uid                    uint32\n\tAc_gid                    uint32\n\tAc_pid                    uint32\n\tAc_ppid                   uint32\n\tAc_btime                  uint32\n\t_                         [4]byte\n\tAc_etime                  uint64\n\tAc_utime                  uint64\n\tAc_stime                  uint64\n\tAc_minflt                 uint64\n\tAc_majflt                 uint64\n\tCoremem                   uint64\n\tVirtmem                   uint64\n\tHiwater_rss               uint64\n\tHiwater_vm                uint64\n\tRead_char                 uint64\n\tWrite_char                uint64\n\tRead_syscalls             uint64\n\tWrite_syscalls            uint64\n\tRead_bytes                uint64\n\tWrite_bytes               uint64\n\tCancelled_write_bytes     uint64\n\tNvcsw                     uint64\n\tNivcsw                    uint64\n\tAc_utimescaled            uint64\n\tAc_stimescaled            uint64\n\tCpu_scaled_run_real_total uint64\n\tFreepages_count           uint64\n\tFreepages_delay_total     uint64\n}\n\nconst (\n\tTASKSTATS_CMD_UNSPEC                  = 0x0\n\tTASKSTATS_CMD_GET                     = 0x1\n\tTASKSTATS_CMD_NEW                     = 0x2\n\tTASKSTATS_TYPE_UNSPEC                 = 0x0\n\tTASKSTATS_TYPE_PID                    = 0x1\n\tTASKSTATS_TYPE_TGID                   = 0x2\n\tTASKSTATS_TYPE_STATS                  = 0x3\n\tTASKSTATS_TYPE_AGGR_PID               = 0x4\n\tTASKSTATS_TYPE_AGGR_TGID              = 0x5\n\tTASKSTATS_TYPE_NULL                   = 0x6\n\tTASKSTATS_CMD_ATTR_UNSPEC             = 0x0\n\tTASKSTATS_CMD_ATTR_PID                = 0x1\n\tTASKSTATS_CMD_ATTR_TGID               = 0x2\n\tTASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3\n\tTASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4\n)\n\ntype CGroupStats struct {\n\tSleeping        uint64\n\tRunning         uint64\n\tStopped         uint64\n\tUninterruptible uint64\n\tIo_wait         uint64\n}\n\nconst (\n\tCGROUPSTATS_CMD_UNSPEC        = 0x3\n\tCGROUPSTATS_CMD_GET           = 0x4\n\tCGROUPSTATS_CMD_NEW           = 0x5\n\tCGROUPSTATS_TYPE_UNSPEC       = 0x0\n\tCGROUPSTATS_TYPE_CGROUP_STATS = 0x1\n\tCGROUPSTATS_CMD_ATTR_UNSPEC   = 0x0\n\tCGROUPSTATS_CMD_ATTR_FD       = 0x1\n)\n\ntype Genlmsghdr struct {\n\tCmd      uint8\n\tVersion  uint8\n\tReserved uint16\n}\n\nconst (\n\tCTRL_CMD_UNSPEC            = 0x0\n\tCTRL_CMD_NEWFAMILY         = 0x1\n\tCTRL_CMD_DELFAMILY         = 0x2\n\tCTRL_CMD_GETFAMILY         = 0x3\n\tCTRL_CMD_NEWOPS            = 0x4\n\tCTRL_CMD_DELOPS            = 0x5\n\tCTRL_CMD_GETOPS            = 0x6\n\tCTRL_CMD_NEWMCAST_GRP      = 0x7\n\tCTRL_CMD_DELMCAST_GRP      = 0x8\n\tCTRL_CMD_GETMCAST_GRP      = 0x9\n\tCTRL_ATTR_UNSPEC           = 0x0\n\tCTRL_ATTR_FAMILY_ID        = 0x1\n\tCTRL_ATTR_FAMILY_NAME      = 0x2\n\tCTRL_ATTR_VERSION          = 0x3\n\tCTRL_ATTR_HDRSIZE          = 0x4\n\tCTRL_ATTR_MAXATTR          = 0x5\n\tCTRL_ATTR_OPS              = 0x6\n\tCTRL_ATTR_MCAST_GROUPS     = 0x7\n\tCTRL_ATTR_OP_UNSPEC        = 0x0\n\tCTRL_ATTR_OP_ID            = 0x1\n\tCTRL_ATTR_OP_FLAGS         = 0x2\n\tCTRL_ATTR_MCAST_GRP_UNSPEC = 0x0\n\tCTRL_ATTR_MCAST_GRP_NAME   = 0x1\n\tCTRL_ATTR_MCAST_GRP_ID     = 0x2\n)\n\ntype cpuMask uint64\n\nconst (\n\t_CPU_SETSIZE = 0x400\n\t_NCPUBITS    = 0x40\n)\n\nconst (\n\tBDADDR_BREDR     = 0x0\n\tBDADDR_LE_PUBLIC = 0x1\n\tBDADDR_LE_RANDOM = 0x2\n)\n\ntype PerfEventAttr struct {\n\tType               uint32\n\tSize               uint32\n\tConfig             uint64\n\tSample             uint64\n\tSample_type        uint64\n\tRead_format        uint64\n\tBits               uint64\n\tWakeup             uint32\n\tBp_type            uint32\n\tExt1               uint64\n\tExt2               uint64\n\tBranch_sample_type uint64\n\tSample_regs_user   uint64\n\tSample_stack_user  uint32\n\tClockid            int32\n\tSample_regs_intr   uint64\n\tAux_watermark      uint32\n\t_                  uint32\n}\n\ntype PerfEventMmapPage struct {\n\tVersion        uint32\n\tCompat_version uint32\n\tLock           uint32\n\tIndex          uint32\n\tOffset         int64\n\tTime_enabled   uint64\n\tTime_running   uint64\n\tCapabilities   uint64\n\tPmc_width      uint16\n\tTime_shift     uint16\n\tTime_mult      uint32\n\tTime_offset    uint64\n\tTime_zero      uint64\n\tSize           uint32\n\t_              [948]uint8\n\tData_head      uint64\n\tData_tail      uint64\n\tData_offset    uint64\n\tData_size      uint64\n\tAux_head       uint64\n\tAux_tail       uint64\n\tAux_offset     uint64\n\tAux_size       uint64\n}\n\nconst (\n\tPerfBitDisabled               uint64 = CBitFieldMaskBit0\n\tPerfBitInherit                       = CBitFieldMaskBit1\n\tPerfBitPinned                        = CBitFieldMaskBit2\n\tPerfBitExclusive                     = CBitFieldMaskBit3\n\tPerfBitExcludeUser                   = CBitFieldMaskBit4\n\tPerfBitExcludeKernel                 = CBitFieldMaskBit5\n\tPerfBitExcludeHv                     = CBitFieldMaskBit6\n\tPerfBitExcludeIdle                   = CBitFieldMaskBit7\n\tPerfBitMmap                          = CBitFieldMaskBit8\n\tPerfBitComm                          = CBitFieldMaskBit9\n\tPerfBitFreq                          = CBitFieldMaskBit10\n\tPerfBitInheritStat                   = CBitFieldMaskBit11\n\tPerfBitEnableOnExec                  = CBitFieldMaskBit12\n\tPerfBitTask                          = CBitFieldMaskBit13\n\tPerfBitWatermark                     = CBitFieldMaskBit14\n\tPerfBitPreciseIPBit1                 = CBitFieldMaskBit15\n\tPerfBitPreciseIPBit2                 = CBitFieldMaskBit16\n\tPerfBitMmapData                      = CBitFieldMaskBit17\n\tPerfBitSampleIDAll                   = CBitFieldMaskBit18\n\tPerfBitExcludeHost                   = CBitFieldMaskBit19\n\tPerfBitExcludeGuest                  = CBitFieldMaskBit20\n\tPerfBitExcludeCallchainKernel        = CBitFieldMaskBit21\n\tPerfBitExcludeCallchainUser          = CBitFieldMaskBit22\n\tPerfBitMmap2                         = CBitFieldMaskBit23\n\tPerfBitCommExec                      = CBitFieldMaskBit24\n\tPerfBitUseClockID                    = CBitFieldMaskBit25\n\tPerfBitContextSwitch                 = CBitFieldMaskBit26\n)\n\nconst (\n\tPERF_TYPE_HARDWARE   = 0x0\n\tPERF_TYPE_SOFTWARE   = 0x1\n\tPERF_TYPE_TRACEPOINT = 0x2\n\tPERF_TYPE_HW_CACHE   = 0x3\n\tPERF_TYPE_RAW        = 0x4\n\tPERF_TYPE_BREAKPOINT = 0x5\n\n\tPERF_COUNT_HW_CPU_CYCLES              = 0x0\n\tPERF_COUNT_HW_INSTRUCTIONS            = 0x1\n\tPERF_COUNT_HW_CACHE_REFERENCES        = 0x2\n\tPERF_COUNT_HW_CACHE_MISSES            = 0x3\n\tPERF_COUNT_HW_BRANCH_INSTRUCTIONS     = 0x4\n\tPERF_COUNT_HW_BRANCH_MISSES           = 0x5\n\tPERF_COUNT_HW_BUS_CYCLES              = 0x6\n\tPERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7\n\tPERF_COUNT_HW_STALLED_CYCLES_BACKEND  = 0x8\n\tPERF_COUNT_HW_REF_CPU_CYCLES          = 0x9\n\n\tPERF_COUNT_HW_CACHE_L1D  = 0x0\n\tPERF_COUNT_HW_CACHE_L1I  = 0x1\n\tPERF_COUNT_HW_CACHE_LL   = 0x2\n\tPERF_COUNT_HW_CACHE_DTLB = 0x3\n\tPERF_COUNT_HW_CACHE_ITLB = 0x4\n\tPERF_COUNT_HW_CACHE_BPU  = 0x5\n\tPERF_COUNT_HW_CACHE_NODE = 0x6\n\n\tPERF_COUNT_HW_CACHE_OP_READ     = 0x0\n\tPERF_COUNT_HW_CACHE_OP_WRITE    = 0x1\n\tPERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2\n\n\tPERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0\n\tPERF_COUNT_HW_CACHE_RESULT_MISS   = 0x1\n\n\tPERF_COUNT_SW_CPU_CLOCK        = 0x0\n\tPERF_COUNT_SW_TASK_CLOCK       = 0x1\n\tPERF_COUNT_SW_PAGE_FAULTS      = 0x2\n\tPERF_COUNT_SW_CONTEXT_SWITCHES = 0x3\n\tPERF_COUNT_SW_CPU_MIGRATIONS   = 0x4\n\tPERF_COUNT_SW_PAGE_FAULTS_MIN  = 0x5\n\tPERF_COUNT_SW_PAGE_FAULTS_MAJ  = 0x6\n\tPERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7\n\tPERF_COUNT_SW_EMULATION_FAULTS = 0x8\n\tPERF_COUNT_SW_DUMMY            = 0x9\n\n\tPERF_SAMPLE_IP           = 0x1\n\tPERF_SAMPLE_TID          = 0x2\n\tPERF_SAMPLE_TIME         = 0x4\n\tPERF_SAMPLE_ADDR         = 0x8\n\tPERF_SAMPLE_READ         = 0x10\n\tPERF_SAMPLE_CALLCHAIN    = 0x20\n\tPERF_SAMPLE_ID           = 0x40\n\tPERF_SAMPLE_CPU          = 0x80\n\tPERF_SAMPLE_PERIOD       = 0x100\n\tPERF_SAMPLE_STREAM_ID    = 0x200\n\tPERF_SAMPLE_RAW          = 0x400\n\tPERF_SAMPLE_BRANCH_STACK = 0x800\n\n\tPERF_SAMPLE_BRANCH_USER       = 0x1\n\tPERF_SAMPLE_BRANCH_KERNEL     = 0x2\n\tPERF_SAMPLE_BRANCH_HV         = 0x4\n\tPERF_SAMPLE_BRANCH_ANY        = 0x8\n\tPERF_SAMPLE_BRANCH_ANY_CALL   = 0x10\n\tPERF_SAMPLE_BRANCH_ANY_RETURN = 0x20\n\tPERF_SAMPLE_BRANCH_IND_CALL   = 0x40\n\n\tPERF_FORMAT_TOTAL_TIME_ENABLED = 0x1\n\tPERF_FORMAT_TOTAL_TIME_RUNNING = 0x2\n\tPERF_FORMAT_ID                 = 0x4\n\tPERF_FORMAT_GROUP              = 0x8\n\n\tPERF_RECORD_MMAP       = 0x1\n\tPERF_RECORD_LOST       = 0x2\n\tPERF_RECORD_COMM       = 0x3\n\tPERF_RECORD_EXIT       = 0x4\n\tPERF_RECORD_THROTTLE   = 0x5\n\tPERF_RECORD_UNTHROTTLE = 0x6\n\tPERF_RECORD_FORK       = 0x7\n\tPERF_RECORD_READ       = 0x8\n\tPERF_RECORD_SAMPLE     = 0x9\n\n\tPERF_CONTEXT_HV     = -0x20\n\tPERF_CONTEXT_KERNEL = -0x80\n\tPERF_CONTEXT_USER   = -0x200\n\n\tPERF_CONTEXT_GUEST        = -0x800\n\tPERF_CONTEXT_GUEST_KERNEL = -0x880\n\tPERF_CONTEXT_GUEST_USER   = -0xa00\n\n\tPERF_FLAG_FD_NO_GROUP = 0x1\n\tPERF_FLAG_FD_OUTPUT   = 0x2\n\tPERF_FLAG_PID_CGROUP  = 0x4\n)\n\nconst (\n\tCBitFieldMaskBit0  = 0x1\n\tCBitFieldMaskBit1  = 0x2\n\tCBitFieldMaskBit2  = 0x4\n\tCBitFieldMaskBit3  = 0x8\n\tCBitFieldMaskBit4  = 0x10\n\tCBitFieldMaskBit5  = 0x20\n\tCBitFieldMaskBit6  = 0x40\n\tCBitFieldMaskBit7  = 0x80\n\tCBitFieldMaskBit8  = 0x100\n\tCBitFieldMaskBit9  = 0x200\n\tCBitFieldMaskBit10 = 0x400\n\tCBitFieldMaskBit11 = 0x800\n\tCBitFieldMaskBit12 = 0x1000\n\tCBitFieldMaskBit13 = 0x2000\n\tCBitFieldMaskBit14 = 0x4000\n\tCBitFieldMaskBit15 = 0x8000\n\tCBitFieldMaskBit16 = 0x10000\n\tCBitFieldMaskBit17 = 0x20000\n\tCBitFieldMaskBit18 = 0x40000\n\tCBitFieldMaskBit19 = 0x80000\n\tCBitFieldMaskBit20 = 0x100000\n\tCBitFieldMaskBit21 = 0x200000\n\tCBitFieldMaskBit22 = 0x400000\n\tCBitFieldMaskBit23 = 0x800000\n\tCBitFieldMaskBit24 = 0x1000000\n\tCBitFieldMaskBit25 = 0x2000000\n\tCBitFieldMaskBit26 = 0x4000000\n\tCBitFieldMaskBit27 = 0x8000000\n\tCBitFieldMaskBit28 = 0x10000000\n\tCBitFieldMaskBit29 = 0x20000000\n\tCBitFieldMaskBit30 = 0x40000000\n\tCBitFieldMaskBit31 = 0x80000000\n\tCBitFieldMaskBit32 = 0x100000000\n\tCBitFieldMaskBit33 = 0x200000000\n\tCBitFieldMaskBit34 = 0x400000000\n\tCBitFieldMaskBit35 = 0x800000000\n\tCBitFieldMaskBit36 = 0x1000000000\n\tCBitFieldMaskBit37 = 0x2000000000\n\tCBitFieldMaskBit38 = 0x4000000000\n\tCBitFieldMaskBit39 = 0x8000000000\n\tCBitFieldMaskBit40 = 0x10000000000\n\tCBitFieldMaskBit41 = 0x20000000000\n\tCBitFieldMaskBit42 = 0x40000000000\n\tCBitFieldMaskBit43 = 0x80000000000\n\tCBitFieldMaskBit44 = 0x100000000000\n\tCBitFieldMaskBit45 = 0x200000000000\n\tCBitFieldMaskBit46 = 0x400000000000\n\tCBitFieldMaskBit47 = 0x800000000000\n\tCBitFieldMaskBit48 = 0x1000000000000\n\tCBitFieldMaskBit49 = 0x2000000000000\n\tCBitFieldMaskBit50 = 0x4000000000000\n\tCBitFieldMaskBit51 = 0x8000000000000\n\tCBitFieldMaskBit52 = 0x10000000000000\n\tCBitFieldMaskBit53 = 0x20000000000000\n\tCBitFieldMaskBit54 = 0x40000000000000\n\tCBitFieldMaskBit55 = 0x80000000000000\n\tCBitFieldMaskBit56 = 0x100000000000000\n\tCBitFieldMaskBit57 = 0x200000000000000\n\tCBitFieldMaskBit58 = 0x400000000000000\n\tCBitFieldMaskBit59 = 0x800000000000000\n\tCBitFieldMaskBit60 = 0x1000000000000000\n\tCBitFieldMaskBit61 = 0x2000000000000000\n\tCBitFieldMaskBit62 = 0x4000000000000000\n\tCBitFieldMaskBit63 = 0x8000000000000000\n)\n\ntype SockaddrStorage struct {\n\tFamily uint16\n\t_      [118]int8\n\t_      uint64\n}\n\ntype TCPMD5Sig struct {\n\tAddr      SockaddrStorage\n\tFlags     uint8\n\tPrefixlen uint8\n\tKeylen    uint16\n\t_         uint32\n\tKey       [80]uint8\n}\n\ntype HDDriveCmdHdr struct {\n\tCommand uint8\n\tNumber  uint8\n\tFeature uint8\n\tCount   uint8\n}\n\ntype HDGeometry struct {\n\tHeads     uint8\n\tSectors   uint8\n\tCylinders uint16\n\t_         [4]byte\n\tStart     uint64\n}\n\ntype HDDriveID struct {\n\tConfig         uint16\n\tCyls           uint16\n\tReserved2      uint16\n\tHeads          uint16\n\tTrack_bytes    uint16\n\tSector_bytes   uint16\n\tSectors        uint16\n\tVendor0        uint16\n\tVendor1        uint16\n\tVendor2        uint16\n\tSerial_no      [20]uint8\n\tBuf_type       uint16\n\tBuf_size       uint16\n\tEcc_bytes      uint16\n\tFw_rev         [8]uint8\n\tModel          [40]uint8\n\tMax_multsect   uint8\n\tVendor3        uint8\n\tDword_io       uint16\n\tVendor4        uint8\n\tCapability     uint8\n\tReserved50     uint16\n\tVendor5        uint8\n\tTPIO           uint8\n\tVendor6        uint8\n\tTDMA           uint8\n\tField_valid    uint16\n\tCur_cyls       uint16\n\tCur_heads      uint16\n\tCur_sectors    uint16\n\tCur_capacity0  uint16\n\tCur_capacity1  uint16\n\tMultsect       uint8\n\tMultsect_valid uint8\n\tLba_capacity   uint32\n\tDma_1word      uint16\n\tDma_mword      uint16\n\tEide_pio_modes uint16\n\tEide_dma_min   uint16\n\tEide_dma_time  uint16\n\tEide_pio       uint16\n\tEide_pio_iordy uint16\n\tWords69_70     [2]uint16\n\tWords71_74     [4]uint16\n\tQueue_depth    uint16\n\tWords76_79     [4]uint16\n\tMajor_rev_num  uint16\n\tMinor_rev_num  uint16\n\tCommand_set_1  uint16\n\tCommand_set_2  uint16\n\tCfsse          uint16\n\tCfs_enable_1   uint16\n\tCfs_enable_2   uint16\n\tCsf_default    uint16\n\tDma_ultra      uint16\n\tTrseuc         uint16\n\tTrsEuc         uint16\n\tCurAPMvalues   uint16\n\tMprc           uint16\n\tHw_config      uint16\n\tAcoustic       uint16\n\tMsrqs          uint16\n\tSxfert         uint16\n\tSal            uint16\n\tSpg            uint32\n\tLba_capacity_2 uint64\n\tWords104_125   [22]uint16\n\tLast_lun       uint16\n\tWord127        uint16\n\tDlf            uint16\n\tCsfo           uint16\n\tWords130_155   [26]uint16\n\tWord156        uint16\n\tWords157_159   [3]uint16\n\tCfa_power      uint16\n\tWords161_175   [15]uint16\n\tWords176_205   [30]uint16\n\tWords206_254   [49]uint16\n\tIntegrity_word uint16\n}\n\ntype Statfs_t struct {\n\tType    int64\n\tBsize   int64\n\tFrsize  int64\n\tBlocks  uint64\n\tBfree   uint64\n\tFiles   uint64\n\tFfree   uint64\n\tBavail  uint64\n\tFsid    Fsid\n\tNamelen int64\n\tFlags   int64\n\tSpare   [5]int64\n}\n\nconst (\n\tST_MANDLOCK    = 0x40\n\tST_NOATIME     = 0x400\n\tST_NODEV       = 0x4\n\tST_NODIRATIME  = 0x800\n\tST_NOEXEC      = 0x8\n\tST_NOSUID      = 0x2\n\tST_RDONLY      = 0x1\n\tST_RELATIME    = 0x1000\n\tST_SYNCHRONOUS = 0x10\n)\n\ntype TpacketHdr struct {\n\tStatus  uint64\n\tLen     uint32\n\tSnaplen uint32\n\tMac     uint16\n\tNet     uint16\n\tSec     uint32\n\tUsec    uint32\n\t_       [4]byte\n}\n\ntype Tpacket2Hdr struct {\n\tStatus    uint32\n\tLen       uint32\n\tSnaplen   uint32\n\tMac       uint16\n\tNet       uint16\n\tSec       uint32\n\tNsec      uint32\n\tVlan_tci  uint16\n\tVlan_tpid uint16\n\t_         [4]uint8\n}\n\ntype Tpacket3Hdr struct {\n\tNext_offset uint32\n\tSec         uint32\n\tNsec        uint32\n\tSnaplen     uint32\n\tLen         uint32\n\tStatus      uint32\n\tMac         uint16\n\tNet         uint16\n\tHv1         TpacketHdrVariant1\n\t_           [8]uint8\n}\n\ntype TpacketHdrVariant1 struct {\n\tRxhash    uint32\n\tVlan_tci  uint32\n\tVlan_tpid uint16\n\t_         uint16\n}\n\ntype TpacketBlockDesc struct {\n\tVersion uint32\n\tTo_priv uint32\n\tHdr     [40]byte\n}\n\ntype TpacketReq struct {\n\tBlock_size uint32\n\tBlock_nr   uint32\n\tFrame_size uint32\n\tFrame_nr   uint32\n}\n\ntype TpacketReq3 struct {\n\tBlock_size       uint32\n\tBlock_nr         uint32\n\tFrame_size       uint32\n\tFrame_nr         uint32\n\tRetire_blk_tov   uint32\n\tSizeof_priv      uint32\n\tFeature_req_word uint32\n}\n\ntype TpacketStats struct {\n\tPackets uint32\n\tDrops   uint32\n}\n\ntype TpacketStatsV3 struct {\n\tPackets      uint32\n\tDrops        uint32\n\tFreeze_q_cnt uint32\n}\n\ntype TpacketAuxdata struct {\n\tStatus    uint32\n\tLen       uint32\n\tSnaplen   uint32\n\tMac       uint16\n\tNet       uint16\n\tVlan_tci  uint16\n\tVlan_tpid uint16\n}\n\nconst (\n\tTPACKET_V1 = 0x0\n\tTPACKET_V2 = 0x1\n\tTPACKET_V3 = 0x2\n)\n\nconst (\n\tSizeofTpacketHdr  = 0x20\n\tSizeofTpacket2Hdr = 0x20\n\tSizeofTpacket3Hdr = 0x30\n)\n\nconst (\n\tNF_INET_PRE_ROUTING  = 0x0\n\tNF_INET_LOCAL_IN     = 0x1\n\tNF_INET_FORWARD      = 0x2\n\tNF_INET_LOCAL_OUT    = 0x3\n\tNF_INET_POST_ROUTING = 0x4\n\tNF_INET_NUMHOOKS     = 0x5\n)\n\nconst (\n\tNF_NETDEV_INGRESS  = 0x0\n\tNF_NETDEV_NUMHOOKS = 0x1\n)\n\nconst (\n\tNFPROTO_UNSPEC   = 0x0\n\tNFPROTO_INET     = 0x1\n\tNFPROTO_IPV4     = 0x2\n\tNFPROTO_ARP      = 0x3\n\tNFPROTO_NETDEV   = 0x5\n\tNFPROTO_BRIDGE   = 0x7\n\tNFPROTO_IPV6     = 0xa\n\tNFPROTO_DECNET   = 0xc\n\tNFPROTO_NUMPROTO = 0xd\n)\n\ntype Nfgenmsg struct {\n\tNfgen_family uint8\n\tVersion      uint8\n\tRes_id       uint16\n}\n\nconst (\n\tNFNL_BATCH_UNSPEC = 0x0\n\tNFNL_BATCH_GENID  = 0x1\n)\n\nconst (\n\tNFT_REG_VERDICT                   = 0x0\n\tNFT_REG_1                         = 0x1\n\tNFT_REG_2                         = 0x2\n\tNFT_REG_3                         = 0x3\n\tNFT_REG_4                         = 0x4\n\tNFT_REG32_00                      = 0x8\n\tNFT_REG32_01                      = 0x9\n\tNFT_REG32_02                      = 0xa\n\tNFT_REG32_03                      = 0xb\n\tNFT_REG32_04                      = 0xc\n\tNFT_REG32_05                      = 0xd\n\tNFT_REG32_06                      = 0xe\n\tNFT_REG32_07                      = 0xf\n\tNFT_REG32_08                      = 0x10\n\tNFT_REG32_09                      = 0x11\n\tNFT_REG32_10                      = 0x12\n\tNFT_REG32_11                      = 0x13\n\tNFT_REG32_12                      = 0x14\n\tNFT_REG32_13                      = 0x15\n\tNFT_REG32_14                      = 0x16\n\tNFT_REG32_15                      = 0x17\n\tNFT_CONTINUE                      = -0x1\n\tNFT_BREAK                         = -0x2\n\tNFT_JUMP                          = -0x3\n\tNFT_GOTO                          = -0x4\n\tNFT_RETURN                        = -0x5\n\tNFT_MSG_NEWTABLE                  = 0x0\n\tNFT_MSG_GETTABLE                  = 0x1\n\tNFT_MSG_DELTABLE                  = 0x2\n\tNFT_MSG_NEWCHAIN                  = 0x3\n\tNFT_MSG_GETCHAIN                  = 0x4\n\tNFT_MSG_DELCHAIN                  = 0x5\n\tNFT_MSG_NEWRULE                   = 0x6\n\tNFT_MSG_GETRULE                   = 0x7\n\tNFT_MSG_DELRULE                   = 0x8\n\tNFT_MSG_NEWSET                    = 0x9\n\tNFT_MSG_GETSET                    = 0xa\n\tNFT_MSG_DELSET                    = 0xb\n\tNFT_MSG_NEWSETELEM                = 0xc\n\tNFT_MSG_GETSETELEM                = 0xd\n\tNFT_MSG_DELSETELEM                = 0xe\n\tNFT_MSG_NEWGEN                    = 0xf\n\tNFT_MSG_GETGEN                    = 0x10\n\tNFT_MSG_TRACE                     = 0x11\n\tNFT_MSG_NEWOBJ                    = 0x12\n\tNFT_MSG_GETOBJ                    = 0x13\n\tNFT_MSG_DELOBJ                    = 0x14\n\tNFT_MSG_GETOBJ_RESET              = 0x15\n\tNFT_MSG_MAX                       = 0x19\n\tNFTA_LIST_UNPEC                   = 0x0\n\tNFTA_LIST_ELEM                    = 0x1\n\tNFTA_HOOK_UNSPEC                  = 0x0\n\tNFTA_HOOK_HOOKNUM                 = 0x1\n\tNFTA_HOOK_PRIORITY                = 0x2\n\tNFTA_HOOK_DEV                     = 0x3\n\tNFT_TABLE_F_DORMANT               = 0x1\n\tNFTA_TABLE_UNSPEC                 = 0x0\n\tNFTA_TABLE_NAME                   = 0x1\n\tNFTA_TABLE_FLAGS                  = 0x2\n\tNFTA_TABLE_USE                    = 0x3\n\tNFTA_CHAIN_UNSPEC                 = 0x0\n\tNFTA_CHAIN_TABLE                  = 0x1\n\tNFTA_CHAIN_HANDLE                 = 0x2\n\tNFTA_CHAIN_NAME                   = 0x3\n\tNFTA_CHAIN_HOOK                   = 0x4\n\tNFTA_CHAIN_POLICY                 = 0x5\n\tNFTA_CHAIN_USE                    = 0x6\n\tNFTA_CHAIN_TYPE                   = 0x7\n\tNFTA_CHAIN_COUNTERS               = 0x8\n\tNFTA_CHAIN_PAD                    = 0x9\n\tNFTA_RULE_UNSPEC                  = 0x0\n\tNFTA_RULE_TABLE                   = 0x1\n\tNFTA_RULE_CHAIN                   = 0x2\n\tNFTA_RULE_HANDLE                  = 0x3\n\tNFTA_RULE_EXPRESSIONS             = 0x4\n\tNFTA_RULE_COMPAT                  = 0x5\n\tNFTA_RULE_POSITION                = 0x6\n\tNFTA_RULE_USERDATA                = 0x7\n\tNFTA_RULE_PAD                     = 0x8\n\tNFTA_RULE_ID                      = 0x9\n\tNFT_RULE_COMPAT_F_INV             = 0x2\n\tNFT_RULE_COMPAT_F_MASK            = 0x2\n\tNFTA_RULE_COMPAT_UNSPEC           = 0x0\n\tNFTA_RULE_COMPAT_PROTO            = 0x1\n\tNFTA_RULE_COMPAT_FLAGS            = 0x2\n\tNFT_SET_ANONYMOUS                 = 0x1\n\tNFT_SET_CONSTANT                  = 0x2\n\tNFT_SET_INTERVAL                  = 0x4\n\tNFT_SET_MAP                       = 0x8\n\tNFT_SET_TIMEOUT                   = 0x10\n\tNFT_SET_EVAL                      = 0x20\n\tNFT_SET_OBJECT                    = 0x40\n\tNFT_SET_POL_PERFORMANCE           = 0x0\n\tNFT_SET_POL_MEMORY                = 0x1\n\tNFTA_SET_DESC_UNSPEC              = 0x0\n\tNFTA_SET_DESC_SIZE                = 0x1\n\tNFTA_SET_UNSPEC                   = 0x0\n\tNFTA_SET_TABLE                    = 0x1\n\tNFTA_SET_NAME                     = 0x2\n\tNFTA_SET_FLAGS                    = 0x3\n\tNFTA_SET_KEY_TYPE                 = 0x4\n\tNFTA_SET_KEY_LEN                  = 0x5\n\tNFTA_SET_DATA_TYPE                = 0x6\n\tNFTA_SET_DATA_LEN                 = 0x7\n\tNFTA_SET_POLICY                   = 0x8\n\tNFTA_SET_DESC                     = 0x9\n\tNFTA_SET_ID                       = 0xa\n\tNFTA_SET_TIMEOUT                  = 0xb\n\tNFTA_SET_GC_INTERVAL              = 0xc\n\tNFTA_SET_USERDATA                 = 0xd\n\tNFTA_SET_PAD                      = 0xe\n\tNFTA_SET_OBJ_TYPE                 = 0xf\n\tNFT_SET_ELEM_INTERVAL_END         = 0x1\n\tNFTA_SET_ELEM_UNSPEC              = 0x0\n\tNFTA_SET_ELEM_KEY                 = 0x1\n\tNFTA_SET_ELEM_DATA                = 0x2\n\tNFTA_SET_ELEM_FLAGS               = 0x3\n\tNFTA_SET_ELEM_TIMEOUT             = 0x4\n\tNFTA_SET_ELEM_EXPIRATION          = 0x5\n\tNFTA_SET_ELEM_USERDATA            = 0x6\n\tNFTA_SET_ELEM_EXPR                = 0x7\n\tNFTA_SET_ELEM_PAD                 = 0x8\n\tNFTA_SET_ELEM_OBJREF              = 0x9\n\tNFTA_SET_ELEM_LIST_UNSPEC         = 0x0\n\tNFTA_SET_ELEM_LIST_TABLE          = 0x1\n\tNFTA_SET_ELEM_LIST_SET            = 0x2\n\tNFTA_SET_ELEM_LIST_ELEMENTS       = 0x3\n\tNFTA_SET_ELEM_LIST_SET_ID         = 0x4\n\tNFT_DATA_VALUE                    = 0x0\n\tNFT_DATA_VERDICT                  = 0xffffff00\n\tNFTA_DATA_UNSPEC                  = 0x0\n\tNFTA_DATA_VALUE                   = 0x1\n\tNFTA_DATA_VERDICT                 = 0x2\n\tNFTA_VERDICT_UNSPEC               = 0x0\n\tNFTA_VERDICT_CODE                 = 0x1\n\tNFTA_VERDICT_CHAIN                = 0x2\n\tNFTA_EXPR_UNSPEC                  = 0x0\n\tNFTA_EXPR_NAME                    = 0x1\n\tNFTA_EXPR_DATA                    = 0x2\n\tNFTA_IMMEDIATE_UNSPEC             = 0x0\n\tNFTA_IMMEDIATE_DREG               = 0x1\n\tNFTA_IMMEDIATE_DATA               = 0x2\n\tNFTA_BITWISE_UNSPEC               = 0x0\n\tNFTA_BITWISE_SREG                 = 0x1\n\tNFTA_BITWISE_DREG                 = 0x2\n\tNFTA_BITWISE_LEN                  = 0x3\n\tNFTA_BITWISE_MASK                 = 0x4\n\tNFTA_BITWISE_XOR                  = 0x5\n\tNFT_BYTEORDER_NTOH                = 0x0\n\tNFT_BYTEORDER_HTON                = 0x1\n\tNFTA_BYTEORDER_UNSPEC             = 0x0\n\tNFTA_BYTEORDER_SREG               = 0x1\n\tNFTA_BYTEORDER_DREG               = 0x2\n\tNFTA_BYTEORDER_OP                 = 0x3\n\tNFTA_BYTEORDER_LEN                = 0x4\n\tNFTA_BYTEORDER_SIZE               = 0x5\n\tNFT_CMP_EQ                        = 0x0\n\tNFT_CMP_NEQ                       = 0x1\n\tNFT_CMP_LT                        = 0x2\n\tNFT_CMP_LTE                       = 0x3\n\tNFT_CMP_GT                        = 0x4\n\tNFT_CMP_GTE                       = 0x5\n\tNFTA_CMP_UNSPEC                   = 0x0\n\tNFTA_CMP_SREG                     = 0x1\n\tNFTA_CMP_OP                       = 0x2\n\tNFTA_CMP_DATA                     = 0x3\n\tNFT_RANGE_EQ                      = 0x0\n\tNFT_RANGE_NEQ                     = 0x1\n\tNFTA_RANGE_UNSPEC                 = 0x0\n\tNFTA_RANGE_SREG                   = 0x1\n\tNFTA_RANGE_OP                     = 0x2\n\tNFTA_RANGE_FROM_DATA              = 0x3\n\tNFTA_RANGE_TO_DATA                = 0x4\n\tNFT_LOOKUP_F_INV                  = 0x1\n\tNFTA_LOOKUP_UNSPEC                = 0x0\n\tNFTA_LOOKUP_SET                   = 0x1\n\tNFTA_LOOKUP_SREG                  = 0x2\n\tNFTA_LOOKUP_DREG                  = 0x3\n\tNFTA_LOOKUP_SET_ID                = 0x4\n\tNFTA_LOOKUP_FLAGS                 = 0x5\n\tNFT_DYNSET_OP_ADD                 = 0x0\n\tNFT_DYNSET_OP_UPDATE              = 0x1\n\tNFT_DYNSET_F_INV                  = 0x1\n\tNFTA_DYNSET_UNSPEC                = 0x0\n\tNFTA_DYNSET_SET_NAME              = 0x1\n\tNFTA_DYNSET_SET_ID                = 0x2\n\tNFTA_DYNSET_OP                    = 0x3\n\tNFTA_DYNSET_SREG_KEY              = 0x4\n\tNFTA_DYNSET_SREG_DATA             = 0x5\n\tNFTA_DYNSET_TIMEOUT               = 0x6\n\tNFTA_DYNSET_EXPR                  = 0x7\n\tNFTA_DYNSET_PAD                   = 0x8\n\tNFTA_DYNSET_FLAGS                 = 0x9\n\tNFT_PAYLOAD_LL_HEADER             = 0x0\n\tNFT_PAYLOAD_NETWORK_HEADER        = 0x1\n\tNFT_PAYLOAD_TRANSPORT_HEADER      = 0x2\n\tNFT_PAYLOAD_CSUM_NONE             = 0x0\n\tNFT_PAYLOAD_CSUM_INET             = 0x1\n\tNFT_PAYLOAD_L4CSUM_PSEUDOHDR      = 0x1\n\tNFTA_PAYLOAD_UNSPEC               = 0x0\n\tNFTA_PAYLOAD_DREG                 = 0x1\n\tNFTA_PAYLOAD_BASE                 = 0x2\n\tNFTA_PAYLOAD_OFFSET               = 0x3\n\tNFTA_PAYLOAD_LEN                  = 0x4\n\tNFTA_PAYLOAD_SREG                 = 0x5\n\tNFTA_PAYLOAD_CSUM_TYPE            = 0x6\n\tNFTA_PAYLOAD_CSUM_OFFSET          = 0x7\n\tNFTA_PAYLOAD_CSUM_FLAGS           = 0x8\n\tNFT_EXTHDR_F_PRESENT              = 0x1\n\tNFT_EXTHDR_OP_IPV6                = 0x0\n\tNFT_EXTHDR_OP_TCPOPT              = 0x1\n\tNFTA_EXTHDR_UNSPEC                = 0x0\n\tNFTA_EXTHDR_DREG                  = 0x1\n\tNFTA_EXTHDR_TYPE                  = 0x2\n\tNFTA_EXTHDR_OFFSET                = 0x3\n\tNFTA_EXTHDR_LEN                   = 0x4\n\tNFTA_EXTHDR_FLAGS                 = 0x5\n\tNFTA_EXTHDR_OP                    = 0x6\n\tNFTA_EXTHDR_SREG                  = 0x7\n\tNFT_META_LEN                      = 0x0\n\tNFT_META_PROTOCOL                 = 0x1\n\tNFT_META_PRIORITY                 = 0x2\n\tNFT_META_MARK                     = 0x3\n\tNFT_META_IIF                      = 0x4\n\tNFT_META_OIF                      = 0x5\n\tNFT_META_IIFNAME                  = 0x6\n\tNFT_META_OIFNAME                  = 0x7\n\tNFT_META_IIFTYPE                  = 0x8\n\tNFT_META_OIFTYPE                  = 0x9\n\tNFT_META_SKUID                    = 0xa\n\tNFT_META_SKGID                    = 0xb\n\tNFT_META_NFTRACE                  = 0xc\n\tNFT_META_RTCLASSID                = 0xd\n\tNFT_META_SECMARK                  = 0xe\n\tNFT_META_NFPROTO                  = 0xf\n\tNFT_META_L4PROTO                  = 0x10\n\tNFT_META_BRI_IIFNAME              = 0x11\n\tNFT_META_BRI_OIFNAME              = 0x12\n\tNFT_META_PKTTYPE                  = 0x13\n\tNFT_META_CPU                      = 0x14\n\tNFT_META_IIFGROUP                 = 0x15\n\tNFT_META_OIFGROUP                 = 0x16\n\tNFT_META_CGROUP                   = 0x17\n\tNFT_META_PRANDOM                  = 0x18\n\tNFT_RT_CLASSID                    = 0x0\n\tNFT_RT_NEXTHOP4                   = 0x1\n\tNFT_RT_NEXTHOP6                   = 0x2\n\tNFT_RT_TCPMSS                     = 0x3\n\tNFT_HASH_JENKINS                  = 0x0\n\tNFT_HASH_SYM                      = 0x1\n\tNFTA_HASH_UNSPEC                  = 0x0\n\tNFTA_HASH_SREG                    = 0x1\n\tNFTA_HASH_DREG                    = 0x2\n\tNFTA_HASH_LEN                     = 0x3\n\tNFTA_HASH_MODULUS                 = 0x4\n\tNFTA_HASH_SEED                    = 0x5\n\tNFTA_HASH_OFFSET                  = 0x6\n\tNFTA_HASH_TYPE                    = 0x7\n\tNFTA_META_UNSPEC                  = 0x0\n\tNFTA_META_DREG                    = 0x1\n\tNFTA_META_KEY                     = 0x2\n\tNFTA_META_SREG                    = 0x3\n\tNFTA_RT_UNSPEC                    = 0x0\n\tNFTA_RT_DREG                      = 0x1\n\tNFTA_RT_KEY                       = 0x2\n\tNFT_CT_STATE                      = 0x0\n\tNFT_CT_DIRECTION                  = 0x1\n\tNFT_CT_STATUS                     = 0x2\n\tNFT_CT_MARK                       = 0x3\n\tNFT_CT_SECMARK                    = 0x4\n\tNFT_CT_EXPIRATION                 = 0x5\n\tNFT_CT_HELPER                     = 0x6\n\tNFT_CT_L3PROTOCOL                 = 0x7\n\tNFT_CT_SRC                        = 0x8\n\tNFT_CT_DST                        = 0x9\n\tNFT_CT_PROTOCOL                   = 0xa\n\tNFT_CT_PROTO_SRC                  = 0xb\n\tNFT_CT_PROTO_DST                  = 0xc\n\tNFT_CT_LABELS                     = 0xd\n\tNFT_CT_PKTS                       = 0xe\n\tNFT_CT_BYTES                      = 0xf\n\tNFT_CT_AVGPKT                     = 0x10\n\tNFT_CT_ZONE                       = 0x11\n\tNFT_CT_EVENTMASK                  = 0x12\n\tNFTA_CT_UNSPEC                    = 0x0\n\tNFTA_CT_DREG                      = 0x1\n\tNFTA_CT_KEY                       = 0x2\n\tNFTA_CT_DIRECTION                 = 0x3\n\tNFTA_CT_SREG                      = 0x4\n\tNFT_LIMIT_PKTS                    = 0x0\n\tNFT_LIMIT_PKT_BYTES               = 0x1\n\tNFT_LIMIT_F_INV                   = 0x1\n\tNFTA_LIMIT_UNSPEC                 = 0x0\n\tNFTA_LIMIT_RATE                   = 0x1\n\tNFTA_LIMIT_UNIT                   = 0x2\n\tNFTA_LIMIT_BURST                  = 0x3\n\tNFTA_LIMIT_TYPE                   = 0x4\n\tNFTA_LIMIT_FLAGS                  = 0x5\n\tNFTA_LIMIT_PAD                    = 0x6\n\tNFTA_COUNTER_UNSPEC               = 0x0\n\tNFTA_COUNTER_BYTES                = 0x1\n\tNFTA_COUNTER_PACKETS              = 0x2\n\tNFTA_COUNTER_PAD                  = 0x3\n\tNFTA_LOG_UNSPEC                   = 0x0\n\tNFTA_LOG_GROUP                    = 0x1\n\tNFTA_LOG_PREFIX                   = 0x2\n\tNFTA_LOG_SNAPLEN                  = 0x3\n\tNFTA_LOG_QTHRESHOLD               = 0x4\n\tNFTA_LOG_LEVEL                    = 0x5\n\tNFTA_LOG_FLAGS                    = 0x6\n\tNFTA_QUEUE_UNSPEC                 = 0x0\n\tNFTA_QUEUE_NUM                    = 0x1\n\tNFTA_QUEUE_TOTAL                  = 0x2\n\tNFTA_QUEUE_FLAGS                  = 0x3\n\tNFTA_QUEUE_SREG_QNUM              = 0x4\n\tNFT_QUOTA_F_INV                   = 0x1\n\tNFT_QUOTA_F_DEPLETED              = 0x2\n\tNFTA_QUOTA_UNSPEC                 = 0x0\n\tNFTA_QUOTA_BYTES                  = 0x1\n\tNFTA_QUOTA_FLAGS                  = 0x2\n\tNFTA_QUOTA_PAD                    = 0x3\n\tNFTA_QUOTA_CONSUMED               = 0x4\n\tNFT_REJECT_ICMP_UNREACH           = 0x0\n\tNFT_REJECT_TCP_RST                = 0x1\n\tNFT_REJECT_ICMPX_UNREACH          = 0x2\n\tNFT_REJECT_ICMPX_NO_ROUTE         = 0x0\n\tNFT_REJECT_ICMPX_PORT_UNREACH     = 0x1\n\tNFT_REJECT_ICMPX_HOST_UNREACH     = 0x2\n\tNFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3\n\tNFTA_REJECT_UNSPEC                = 0x0\n\tNFTA_REJECT_TYPE                  = 0x1\n\tNFTA_REJECT_ICMP_CODE             = 0x2\n\tNFT_NAT_SNAT                      = 0x0\n\tNFT_NAT_DNAT                      = 0x1\n\tNFTA_NAT_UNSPEC                   = 0x0\n\tNFTA_NAT_TYPE                     = 0x1\n\tNFTA_NAT_FAMILY                   = 0x2\n\tNFTA_NAT_REG_ADDR_MIN             = 0x3\n\tNFTA_NAT_REG_ADDR_MAX             = 0x4\n\tNFTA_NAT_REG_PROTO_MIN            = 0x5\n\tNFTA_NAT_REG_PROTO_MAX            = 0x6\n\tNFTA_NAT_FLAGS                    = 0x7\n\tNFTA_MASQ_UNSPEC                  = 0x0\n\tNFTA_MASQ_FLAGS                   = 0x1\n\tNFTA_MASQ_REG_PROTO_MIN           = 0x2\n\tNFTA_MASQ_REG_PROTO_MAX           = 0x3\n\tNFTA_REDIR_UNSPEC                 = 0x0\n\tNFTA_REDIR_REG_PROTO_MIN          = 0x1\n\tNFTA_REDIR_REG_PROTO_MAX          = 0x2\n\tNFTA_REDIR_FLAGS                  = 0x3\n\tNFTA_DUP_UNSPEC                   = 0x0\n\tNFTA_DUP_SREG_ADDR                = 0x1\n\tNFTA_DUP_SREG_DEV                 = 0x2\n\tNFTA_FWD_UNSPEC                   = 0x0\n\tNFTA_FWD_SREG_DEV                 = 0x1\n\tNFTA_OBJREF_UNSPEC                = 0x0\n\tNFTA_OBJREF_IMM_TYPE              = 0x1\n\tNFTA_OBJREF_IMM_NAME              = 0x2\n\tNFTA_OBJREF_SET_SREG              = 0x3\n\tNFTA_OBJREF_SET_NAME              = 0x4\n\tNFTA_OBJREF_SET_ID                = 0x5\n\tNFTA_GEN_UNSPEC                   = 0x0\n\tNFTA_GEN_ID                       = 0x1\n\tNFTA_GEN_PROC_PID                 = 0x2\n\tNFTA_GEN_PROC_NAME                = 0x3\n\tNFTA_FIB_UNSPEC                   = 0x0\n\tNFTA_FIB_DREG                     = 0x1\n\tNFTA_FIB_RESULT                   = 0x2\n\tNFTA_FIB_FLAGS                    = 0x3\n\tNFT_FIB_RESULT_UNSPEC             = 0x0\n\tNFT_FIB_RESULT_OIF                = 0x1\n\tNFT_FIB_RESULT_OIFNAME            = 0x2\n\tNFT_FIB_RESULT_ADDRTYPE           = 0x3\n\tNFTA_FIB_F_SADDR                  = 0x1\n\tNFTA_FIB_F_DADDR                  = 0x2\n\tNFTA_FIB_F_MARK                   = 0x4\n\tNFTA_FIB_F_IIF                    = 0x8\n\tNFTA_FIB_F_OIF                    = 0x10\n\tNFTA_FIB_F_PRESENT                = 0x20\n\tNFTA_CT_HELPER_UNSPEC             = 0x0\n\tNFTA_CT_HELPER_NAME               = 0x1\n\tNFTA_CT_HELPER_L3PROTO            = 0x2\n\tNFTA_CT_HELPER_L4PROTO            = 0x3\n\tNFTA_OBJ_UNSPEC                   = 0x0\n\tNFTA_OBJ_TABLE                    = 0x1\n\tNFTA_OBJ_NAME                     = 0x2\n\tNFTA_OBJ_TYPE                     = 0x3\n\tNFTA_OBJ_DATA                     = 0x4\n\tNFTA_OBJ_USE                      = 0x5\n\tNFTA_TRACE_UNSPEC                 = 0x0\n\tNFTA_TRACE_TABLE                  = 0x1\n\tNFTA_TRACE_CHAIN                  = 0x2\n\tNFTA_TRACE_RULE_HANDLE            = 0x3\n\tNFTA_TRACE_TYPE                   = 0x4\n\tNFTA_TRACE_VERDICT                = 0x5\n\tNFTA_TRACE_ID                     = 0x6\n\tNFTA_TRACE_LL_HEADER              = 0x7\n\tNFTA_TRACE_NETWORK_HEADER         = 0x8\n\tNFTA_TRACE_TRANSPORT_HEADER       = 0x9\n\tNFTA_TRACE_IIF                    = 0xa\n\tNFTA_TRACE_IIFTYPE                = 0xb\n\tNFTA_TRACE_OIF                    = 0xc\n\tNFTA_TRACE_OIFTYPE                = 0xd\n\tNFTA_TRACE_MARK                   = 0xe\n\tNFTA_TRACE_NFPROTO                = 0xf\n\tNFTA_TRACE_POLICY                 = 0x10\n\tNFTA_TRACE_PAD                    = 0x11\n\tNFT_TRACETYPE_UNSPEC              = 0x0\n\tNFT_TRACETYPE_POLICY              = 0x1\n\tNFT_TRACETYPE_RETURN              = 0x2\n\tNFT_TRACETYPE_RULE                = 0x3\n\tNFTA_NG_UNSPEC                    = 0x0\n\tNFTA_NG_DREG                      = 0x1\n\tNFTA_NG_MODULUS                   = 0x2\n\tNFTA_NG_TYPE                      = 0x3\n\tNFTA_NG_OFFSET                    = 0x4\n\tNFT_NG_INCREMENTAL                = 0x0\n\tNFT_NG_RANDOM                     = 0x1\n)\n\ntype RTCTime struct {\n\tSec   int32\n\tMin   int32\n\tHour  int32\n\tMday  int32\n\tMon   int32\n\tYear  int32\n\tWday  int32\n\tYday  int32\n\tIsdst int32\n}\n\ntype RTCWkAlrm struct {\n\tEnabled uint8\n\tPending uint8\n\t_       [2]byte\n\tTime    RTCTime\n}\n\ntype RTCPLLInfo struct {\n\tCtrl    int32\n\tValue   int32\n\tMax     int32\n\tMin     int32\n\tPosmult int32\n\tNegmult int32\n\tClock   int64\n}\n\ntype BlkpgIoctlArg struct {\n\tOp      int32\n\tFlags   int32\n\tDatalen int32\n\t_       [4]byte\n\tData    *byte\n}\n\ntype BlkpgPartition struct {\n\tStart   int64\n\tLength  int64\n\tPno     int32\n\tDevname [64]uint8\n\tVolname [64]uint8\n\t_       [4]byte\n}\n\nconst (\n\tBLKPG                  = 0x20001269\n\tBLKPG_ADD_PARTITION    = 0x1\n\tBLKPG_DEL_PARTITION    = 0x2\n\tBLKPG_RESIZE_PARTITION = 0x3\n)\n\nconst (\n\tNETNSA_NONE = 0x0\n\tNETNSA_NSID = 0x1\n\tNETNSA_PID  = 0x2\n\tNETNSA_FD   = 0x3\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go",
    "content": "// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build mipsle,linux\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x4\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x4\n\tsizeofLongLong = 0x8\n\tPathMax        = 0x1000\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int32\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int32\n\tNsec int32\n}\n\ntype Timeval struct {\n\tSec  int32\n\tUsec int32\n}\n\ntype Timex struct {\n\tModes     uint32\n\tOffset    int32\n\tFreq      int32\n\tMaxerror  int32\n\tEsterror  int32\n\tStatus    int32\n\tConstant  int32\n\tPrecision int32\n\tTolerance int32\n\tTime      Timeval\n\tTick      int32\n\tPpsfreq   int32\n\tJitter    int32\n\tShift     int32\n\tStabil    int32\n\tJitcnt    int32\n\tCalcnt    int32\n\tErrcnt    int32\n\tStbcnt    int32\n\tTai       int32\n\t_         [44]byte\n}\n\ntype Time_t int32\n\ntype Tms struct {\n\tUtime  int32\n\tStime  int32\n\tCutime int32\n\tCstime int32\n}\n\ntype Utimbuf struct {\n\tActime  int32\n\tModtime int32\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int32\n\tIxrss    int32\n\tIdrss    int32\n\tIsrss    int32\n\tMinflt   int32\n\tMajflt   int32\n\tNswap    int32\n\tInblock  int32\n\tOublock  int32\n\tMsgsnd   int32\n\tMsgrcv   int32\n\tNsignals int32\n\tNvcsw    int32\n\tNivcsw   int32\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev     uint32\n\tPad1    [3]int32\n\tIno     uint64\n\tMode    uint32\n\tNlink   uint32\n\tUid     uint32\n\tGid     uint32\n\tRdev    uint32\n\tPad2    [3]int32\n\tSize    int64\n\tAtim    Timespec\n\tMtim    Timespec\n\tCtim    Timespec\n\tBlksize int32\n\tPad4    int32\n\tBlocks  int64\n\tPad5    [14]int32\n}\n\ntype StatxTimestamp struct {\n\tSec  int64\n\tNsec uint32\n\t_    int32\n}\n\ntype Statx_t struct {\n\tMask            uint32\n\tBlksize         uint32\n\tAttributes      uint64\n\tNlink           uint32\n\tUid             uint32\n\tGid             uint32\n\tMode            uint16\n\t_               [1]uint16\n\tIno             uint64\n\tSize            uint64\n\tBlocks          uint64\n\tAttributes_mask uint64\n\tAtime           StatxTimestamp\n\tBtime           StatxTimestamp\n\tCtime           StatxTimestamp\n\tMtime           StatxTimestamp\n\tRdev_major      uint32\n\tRdev_minor      uint32\n\tDev_major       uint32\n\tDev_minor       uint32\n\t_               [14]uint64\n}\n\ntype Dirent struct {\n\tIno    uint64\n\tOff    int64\n\tReclen uint16\n\tType   uint8\n\tName   [256]int8\n\t_      [5]byte\n}\n\ntype Fsid struct {\n\tVal [2]int32\n}\n\ntype Flock_t struct {\n\tType   int16\n\tWhence int16\n\t_      [4]byte\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\t_      [4]byte\n}\n\ntype FscryptPolicy struct {\n\tVersion                   uint8\n\tContents_encryption_mode  uint8\n\tFilenames_encryption_mode uint8\n\tFlags                     uint8\n\tMaster_key_descriptor     [8]uint8\n}\n\ntype FscryptKey struct {\n\tMode uint32\n\tRaw  [64]uint8\n\tSize uint32\n}\n\ntype KeyctlDHParams struct {\n\tPrivate int32\n\tPrime   int32\n\tBase    int32\n}\n\nconst (\n\tFADV_NORMAL     = 0x0\n\tFADV_RANDOM     = 0x1\n\tFADV_SEQUENTIAL = 0x2\n\tFADV_WILLNEED   = 0x3\n\tFADV_DONTNEED   = 0x4\n\tFADV_NOREUSE    = 0x5\n)\n\ntype RawSockaddrInet4 struct {\n\tFamily uint16\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]uint8\n}\n\ntype RawSockaddrInet6 struct {\n\tFamily   uint16\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tFamily uint16\n\tPath   [108]int8\n}\n\ntype RawSockaddrLinklayer struct {\n\tFamily   uint16\n\tProtocol uint16\n\tIfindex  int32\n\tHatype   uint16\n\tPkttype  uint8\n\tHalen    uint8\n\tAddr     [8]uint8\n}\n\ntype RawSockaddrNetlink struct {\n\tFamily uint16\n\tPad    uint16\n\tPid    uint32\n\tGroups uint32\n}\n\ntype RawSockaddrHCI struct {\n\tFamily  uint16\n\tDev     uint16\n\tChannel uint16\n}\n\ntype RawSockaddrL2 struct {\n\tFamily      uint16\n\tPsm         uint16\n\tBdaddr      [6]uint8\n\tCid         uint16\n\tBdaddr_type uint8\n\t_           [1]byte\n}\n\ntype RawSockaddrRFCOMM struct {\n\tFamily  uint16\n\tBdaddr  [6]uint8\n\tChannel uint8\n\t_       [1]byte\n}\n\ntype RawSockaddrCAN struct {\n\tFamily  uint16\n\t_       [2]byte\n\tIfindex int32\n\tAddr    [8]byte\n}\n\ntype RawSockaddrALG struct {\n\tFamily uint16\n\tType   [14]uint8\n\tFeat   uint32\n\tMask   uint32\n\tName   [64]uint8\n}\n\ntype RawSockaddrVM struct {\n\tFamily    uint16\n\tReserved1 uint16\n\tPort      uint32\n\tCid       uint32\n\tZero      [4]uint8\n}\n\ntype RawSockaddr struct {\n\tFamily uint16\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [96]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint32\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPMreqn struct {\n\tMultiaddr [4]byte /* in_addr */\n\tAddress   [4]byte /* in_addr */\n\tIfindex   int32\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype PacketMreq struct {\n\tIfindex int32\n\tType    uint16\n\tAlen    uint16\n\tAddress [8]uint8\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tIov        *Iovec\n\tIovlen     uint32\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet4Pktinfo struct {\n\tIfindex  int32\n\tSpec_dst [4]byte /* in_addr */\n\tAddr     [4]byte /* in_addr */\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tData [8]uint32\n}\n\ntype Ucred struct {\n\tPid int32\n\tUid uint32\n\tGid uint32\n}\n\ntype TCPInfo struct {\n\tState          uint8\n\tCa_state       uint8\n\tRetransmits    uint8\n\tProbes         uint8\n\tBackoff        uint8\n\tOptions        uint8\n\t_              [2]byte\n\tRto            uint32\n\tAto            uint32\n\tSnd_mss        uint32\n\tRcv_mss        uint32\n\tUnacked        uint32\n\tSacked         uint32\n\tLost           uint32\n\tRetrans        uint32\n\tFackets        uint32\n\tLast_data_sent uint32\n\tLast_ack_sent  uint32\n\tLast_data_recv uint32\n\tLast_ack_recv  uint32\n\tPmtu           uint32\n\tRcv_ssthresh   uint32\n\tRtt            uint32\n\tRttvar         uint32\n\tSnd_ssthresh   uint32\n\tSnd_cwnd       uint32\n\tAdvmss         uint32\n\tReordering     uint32\n\tRcv_rtt        uint32\n\tRcv_space      uint32\n\tTotal_retrans  uint32\n}\n\nconst (\n\tSizeofSockaddrInet4     = 0x10\n\tSizeofSockaddrInet6     = 0x1c\n\tSizeofSockaddrAny       = 0x70\n\tSizeofSockaddrUnix      = 0x6e\n\tSizeofSockaddrLinklayer = 0x14\n\tSizeofSockaddrNetlink   = 0xc\n\tSizeofSockaddrHCI       = 0x6\n\tSizeofSockaddrL2        = 0xe\n\tSizeofSockaddrRFCOMM    = 0xa\n\tSizeofSockaddrCAN       = 0x10\n\tSizeofSockaddrALG       = 0x58\n\tSizeofSockaddrVM        = 0x10\n\tSizeofLinger            = 0x8\n\tSizeofIovec             = 0x8\n\tSizeofIPMreq            = 0x8\n\tSizeofIPMreqn           = 0xc\n\tSizeofIPv6Mreq          = 0x14\n\tSizeofPacketMreq        = 0x10\n\tSizeofMsghdr            = 0x1c\n\tSizeofCmsghdr           = 0xc\n\tSizeofInet4Pktinfo      = 0xc\n\tSizeofInet6Pktinfo      = 0x14\n\tSizeofIPv6MTUInfo       = 0x20\n\tSizeofICMPv6Filter      = 0x20\n\tSizeofUcred             = 0xc\n\tSizeofTCPInfo           = 0x68\n)\n\nconst (\n\tIFA_UNSPEC           = 0x0\n\tIFA_ADDRESS          = 0x1\n\tIFA_LOCAL            = 0x2\n\tIFA_LABEL            = 0x3\n\tIFA_BROADCAST        = 0x4\n\tIFA_ANYCAST          = 0x5\n\tIFA_CACHEINFO        = 0x6\n\tIFA_MULTICAST        = 0x7\n\tIFLA_UNSPEC          = 0x0\n\tIFLA_ADDRESS         = 0x1\n\tIFLA_BROADCAST       = 0x2\n\tIFLA_IFNAME          = 0x3\n\tIFLA_INFO_KIND       = 0x1\n\tIFLA_MTU             = 0x4\n\tIFLA_LINK            = 0x5\n\tIFLA_QDISC           = 0x6\n\tIFLA_STATS           = 0x7\n\tIFLA_COST            = 0x8\n\tIFLA_PRIORITY        = 0x9\n\tIFLA_MASTER          = 0xa\n\tIFLA_WIRELESS        = 0xb\n\tIFLA_PROTINFO        = 0xc\n\tIFLA_TXQLEN          = 0xd\n\tIFLA_MAP             = 0xe\n\tIFLA_WEIGHT          = 0xf\n\tIFLA_OPERSTATE       = 0x10\n\tIFLA_LINKMODE        = 0x11\n\tIFLA_LINKINFO        = 0x12\n\tIFLA_NET_NS_PID      = 0x13\n\tIFLA_IFALIAS         = 0x14\n\tIFLA_NUM_VF          = 0x15\n\tIFLA_VFINFO_LIST     = 0x16\n\tIFLA_STATS64         = 0x17\n\tIFLA_VF_PORTS        = 0x18\n\tIFLA_PORT_SELF       = 0x19\n\tIFLA_AF_SPEC         = 0x1a\n\tIFLA_GROUP           = 0x1b\n\tIFLA_NET_NS_FD       = 0x1c\n\tIFLA_EXT_MASK        = 0x1d\n\tIFLA_PROMISCUITY     = 0x1e\n\tIFLA_NUM_TX_QUEUES   = 0x1f\n\tIFLA_NUM_RX_QUEUES   = 0x20\n\tIFLA_CARRIER         = 0x21\n\tIFLA_PHYS_PORT_ID    = 0x22\n\tIFLA_CARRIER_CHANGES = 0x23\n\tIFLA_PHYS_SWITCH_ID  = 0x24\n\tIFLA_LINK_NETNSID    = 0x25\n\tIFLA_PHYS_PORT_NAME  = 0x26\n\tIFLA_PROTO_DOWN      = 0x27\n\tIFLA_GSO_MAX_SEGS    = 0x28\n\tIFLA_GSO_MAX_SIZE    = 0x29\n\tIFLA_PAD             = 0x2a\n\tIFLA_XDP             = 0x2b\n\tIFLA_EVENT           = 0x2c\n\tIFLA_NEW_NETNSID     = 0x2d\n\tIFLA_IF_NETNSID      = 0x2e\n\tIFLA_MAX             = 0x31\n\tRT_SCOPE_UNIVERSE    = 0x0\n\tRT_SCOPE_SITE        = 0xc8\n\tRT_SCOPE_LINK        = 0xfd\n\tRT_SCOPE_HOST        = 0xfe\n\tRT_SCOPE_NOWHERE     = 0xff\n\tRT_TABLE_UNSPEC      = 0x0\n\tRT_TABLE_COMPAT      = 0xfc\n\tRT_TABLE_DEFAULT     = 0xfd\n\tRT_TABLE_MAIN        = 0xfe\n\tRT_TABLE_LOCAL       = 0xff\n\tRT_TABLE_MAX         = 0xffffffff\n\tRTA_UNSPEC           = 0x0\n\tRTA_DST              = 0x1\n\tRTA_SRC              = 0x2\n\tRTA_IIF              = 0x3\n\tRTA_OIF              = 0x4\n\tRTA_GATEWAY          = 0x5\n\tRTA_PRIORITY         = 0x6\n\tRTA_PREFSRC          = 0x7\n\tRTA_METRICS          = 0x8\n\tRTA_MULTIPATH        = 0x9\n\tRTA_FLOW             = 0xb\n\tRTA_CACHEINFO        = 0xc\n\tRTA_TABLE            = 0xf\n\tRTN_UNSPEC           = 0x0\n\tRTN_UNICAST          = 0x1\n\tRTN_LOCAL            = 0x2\n\tRTN_BROADCAST        = 0x3\n\tRTN_ANYCAST          = 0x4\n\tRTN_MULTICAST        = 0x5\n\tRTN_BLACKHOLE        = 0x6\n\tRTN_UNREACHABLE      = 0x7\n\tRTN_PROHIBIT         = 0x8\n\tRTN_THROW            = 0x9\n\tRTN_NAT              = 0xa\n\tRTN_XRESOLVE         = 0xb\n\tRTNLGRP_NONE         = 0x0\n\tRTNLGRP_LINK         = 0x1\n\tRTNLGRP_NOTIFY       = 0x2\n\tRTNLGRP_NEIGH        = 0x3\n\tRTNLGRP_TC           = 0x4\n\tRTNLGRP_IPV4_IFADDR  = 0x5\n\tRTNLGRP_IPV4_MROUTE  = 0x6\n\tRTNLGRP_IPV4_ROUTE   = 0x7\n\tRTNLGRP_IPV4_RULE    = 0x8\n\tRTNLGRP_IPV6_IFADDR  = 0x9\n\tRTNLGRP_IPV6_MROUTE  = 0xa\n\tRTNLGRP_IPV6_ROUTE   = 0xb\n\tRTNLGRP_IPV6_IFINFO  = 0xc\n\tRTNLGRP_IPV6_PREFIX  = 0x12\n\tRTNLGRP_IPV6_RULE    = 0x13\n\tRTNLGRP_ND_USEROPT   = 0x14\n\tSizeofNlMsghdr       = 0x10\n\tSizeofNlMsgerr       = 0x14\n\tSizeofRtGenmsg       = 0x1\n\tSizeofNlAttr         = 0x4\n\tSizeofRtAttr         = 0x4\n\tSizeofIfInfomsg      = 0x10\n\tSizeofIfAddrmsg      = 0x8\n\tSizeofRtMsg          = 0xc\n\tSizeofRtNexthop      = 0x8\n)\n\ntype NlMsghdr struct {\n\tLen   uint32\n\tType  uint16\n\tFlags uint16\n\tSeq   uint32\n\tPid   uint32\n}\n\ntype NlMsgerr struct {\n\tError int32\n\tMsg   NlMsghdr\n}\n\ntype RtGenmsg struct {\n\tFamily uint8\n}\n\ntype NlAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype RtAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype IfInfomsg struct {\n\tFamily uint8\n\t_      uint8\n\tType   uint16\n\tIndex  int32\n\tFlags  uint32\n\tChange uint32\n}\n\ntype IfAddrmsg struct {\n\tFamily    uint8\n\tPrefixlen uint8\n\tFlags     uint8\n\tScope     uint8\n\tIndex     uint32\n}\n\ntype RtMsg struct {\n\tFamily   uint8\n\tDst_len  uint8\n\tSrc_len  uint8\n\tTos      uint8\n\tTable    uint8\n\tProtocol uint8\n\tScope    uint8\n\tType     uint8\n\tFlags    uint32\n}\n\ntype RtNexthop struct {\n\tLen     uint16\n\tFlags   uint8\n\tHops    uint8\n\tIfindex int32\n}\n\nconst (\n\tSizeofSockFilter = 0x8\n\tSizeofSockFprog  = 0x8\n)\n\ntype SockFilter struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype SockFprog struct {\n\tLen    uint16\n\t_      [2]byte\n\tFilter *SockFilter\n}\n\ntype InotifyEvent struct {\n\tWd     int32\n\tMask   uint32\n\tCookie uint32\n\tLen    uint32\n}\n\nconst SizeofInotifyEvent = 0x10\n\ntype PtraceRegs struct {\n\tRegs     [32]uint64\n\tLo       uint64\n\tHi       uint64\n\tEpc      uint64\n\tBadvaddr uint64\n\tStatus   uint64\n\tCause    uint64\n}\n\ntype FdSet struct {\n\tBits [32]int32\n}\n\ntype Sysinfo_t struct {\n\tUptime    int32\n\tLoads     [3]uint32\n\tTotalram  uint32\n\tFreeram   uint32\n\tSharedram uint32\n\tBufferram uint32\n\tTotalswap uint32\n\tFreeswap  uint32\n\tProcs     uint16\n\tPad       uint16\n\tTotalhigh uint32\n\tFreehigh  uint32\n\tUnit      uint32\n\t_         [8]int8\n}\n\ntype Utsname struct {\n\tSysname    [65]byte\n\tNodename   [65]byte\n\tRelease    [65]byte\n\tVersion    [65]byte\n\tMachine    [65]byte\n\tDomainname [65]byte\n}\n\ntype Ustat_t struct {\n\tTfree  int32\n\tTinode uint32\n\tFname  [6]int8\n\tFpack  [6]int8\n}\n\ntype EpollEvent struct {\n\tEvents uint32\n\tPadFd  int32\n\tFd     int32\n\tPad    int32\n}\n\nconst (\n\tAT_EMPTY_PATH   = 0x1000\n\tAT_FDCWD        = -0x64\n\tAT_NO_AUTOMOUNT = 0x800\n\tAT_REMOVEDIR    = 0x200\n\n\tAT_STATX_SYNC_AS_STAT = 0x0\n\tAT_STATX_FORCE_SYNC   = 0x2000\n\tAT_STATX_DONT_SYNC    = 0x4000\n\n\tAT_SYMLINK_FOLLOW   = 0x400\n\tAT_SYMLINK_NOFOLLOW = 0x100\n\n\tAT_EACCESS = 0x200\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLIN    = 0x1\n\tPOLLPRI   = 0x2\n\tPOLLOUT   = 0x4\n\tPOLLRDHUP = 0x2000\n\tPOLLERR   = 0x8\n\tPOLLHUP   = 0x10\n\tPOLLNVAL  = 0x20\n)\n\ntype Sigset_t struct {\n\tVal [32]uint32\n}\n\nconst RNDGETENTCNT = 0x40045200\n\nconst PERF_IOC_FLAG_GROUP = 0x1\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tLine   uint8\n\tCc     [23]uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\ntype Taskstats struct {\n\tVersion                   uint16\n\t_                         [2]byte\n\tAc_exitcode               uint32\n\tAc_flag                   uint8\n\tAc_nice                   uint8\n\t_                         [6]byte\n\tCpu_count                 uint64\n\tCpu_delay_total           uint64\n\tBlkio_count               uint64\n\tBlkio_delay_total         uint64\n\tSwapin_count              uint64\n\tSwapin_delay_total        uint64\n\tCpu_run_real_total        uint64\n\tCpu_run_virtual_total     uint64\n\tAc_comm                   [32]int8\n\tAc_sched                  uint8\n\tAc_pad                    [3]uint8\n\t_                         [4]byte\n\tAc_uid                    uint32\n\tAc_gid                    uint32\n\tAc_pid                    uint32\n\tAc_ppid                   uint32\n\tAc_btime                  uint32\n\t_                         [4]byte\n\tAc_etime                  uint64\n\tAc_utime                  uint64\n\tAc_stime                  uint64\n\tAc_minflt                 uint64\n\tAc_majflt                 uint64\n\tCoremem                   uint64\n\tVirtmem                   uint64\n\tHiwater_rss               uint64\n\tHiwater_vm                uint64\n\tRead_char                 uint64\n\tWrite_char                uint64\n\tRead_syscalls             uint64\n\tWrite_syscalls            uint64\n\tRead_bytes                uint64\n\tWrite_bytes               uint64\n\tCancelled_write_bytes     uint64\n\tNvcsw                     uint64\n\tNivcsw                    uint64\n\tAc_utimescaled            uint64\n\tAc_stimescaled            uint64\n\tCpu_scaled_run_real_total uint64\n\tFreepages_count           uint64\n\tFreepages_delay_total     uint64\n}\n\nconst (\n\tTASKSTATS_CMD_UNSPEC                  = 0x0\n\tTASKSTATS_CMD_GET                     = 0x1\n\tTASKSTATS_CMD_NEW                     = 0x2\n\tTASKSTATS_TYPE_UNSPEC                 = 0x0\n\tTASKSTATS_TYPE_PID                    = 0x1\n\tTASKSTATS_TYPE_TGID                   = 0x2\n\tTASKSTATS_TYPE_STATS                  = 0x3\n\tTASKSTATS_TYPE_AGGR_PID               = 0x4\n\tTASKSTATS_TYPE_AGGR_TGID              = 0x5\n\tTASKSTATS_TYPE_NULL                   = 0x6\n\tTASKSTATS_CMD_ATTR_UNSPEC             = 0x0\n\tTASKSTATS_CMD_ATTR_PID                = 0x1\n\tTASKSTATS_CMD_ATTR_TGID               = 0x2\n\tTASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3\n\tTASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4\n)\n\ntype CGroupStats struct {\n\tSleeping        uint64\n\tRunning         uint64\n\tStopped         uint64\n\tUninterruptible uint64\n\tIo_wait         uint64\n}\n\nconst (\n\tCGROUPSTATS_CMD_UNSPEC        = 0x3\n\tCGROUPSTATS_CMD_GET           = 0x4\n\tCGROUPSTATS_CMD_NEW           = 0x5\n\tCGROUPSTATS_TYPE_UNSPEC       = 0x0\n\tCGROUPSTATS_TYPE_CGROUP_STATS = 0x1\n\tCGROUPSTATS_CMD_ATTR_UNSPEC   = 0x0\n\tCGROUPSTATS_CMD_ATTR_FD       = 0x1\n)\n\ntype Genlmsghdr struct {\n\tCmd      uint8\n\tVersion  uint8\n\tReserved uint16\n}\n\nconst (\n\tCTRL_CMD_UNSPEC            = 0x0\n\tCTRL_CMD_NEWFAMILY         = 0x1\n\tCTRL_CMD_DELFAMILY         = 0x2\n\tCTRL_CMD_GETFAMILY         = 0x3\n\tCTRL_CMD_NEWOPS            = 0x4\n\tCTRL_CMD_DELOPS            = 0x5\n\tCTRL_CMD_GETOPS            = 0x6\n\tCTRL_CMD_NEWMCAST_GRP      = 0x7\n\tCTRL_CMD_DELMCAST_GRP      = 0x8\n\tCTRL_CMD_GETMCAST_GRP      = 0x9\n\tCTRL_ATTR_UNSPEC           = 0x0\n\tCTRL_ATTR_FAMILY_ID        = 0x1\n\tCTRL_ATTR_FAMILY_NAME      = 0x2\n\tCTRL_ATTR_VERSION          = 0x3\n\tCTRL_ATTR_HDRSIZE          = 0x4\n\tCTRL_ATTR_MAXATTR          = 0x5\n\tCTRL_ATTR_OPS              = 0x6\n\tCTRL_ATTR_MCAST_GROUPS     = 0x7\n\tCTRL_ATTR_OP_UNSPEC        = 0x0\n\tCTRL_ATTR_OP_ID            = 0x1\n\tCTRL_ATTR_OP_FLAGS         = 0x2\n\tCTRL_ATTR_MCAST_GRP_UNSPEC = 0x0\n\tCTRL_ATTR_MCAST_GRP_NAME   = 0x1\n\tCTRL_ATTR_MCAST_GRP_ID     = 0x2\n)\n\ntype cpuMask uint32\n\nconst (\n\t_CPU_SETSIZE = 0x400\n\t_NCPUBITS    = 0x20\n)\n\nconst (\n\tBDADDR_BREDR     = 0x0\n\tBDADDR_LE_PUBLIC = 0x1\n\tBDADDR_LE_RANDOM = 0x2\n)\n\ntype PerfEventAttr struct {\n\tType               uint32\n\tSize               uint32\n\tConfig             uint64\n\tSample             uint64\n\tSample_type        uint64\n\tRead_format        uint64\n\tBits               uint64\n\tWakeup             uint32\n\tBp_type            uint32\n\tExt1               uint64\n\tExt2               uint64\n\tBranch_sample_type uint64\n\tSample_regs_user   uint64\n\tSample_stack_user  uint32\n\tClockid            int32\n\tSample_regs_intr   uint64\n\tAux_watermark      uint32\n\t_                  uint32\n}\n\ntype PerfEventMmapPage struct {\n\tVersion        uint32\n\tCompat_version uint32\n\tLock           uint32\n\tIndex          uint32\n\tOffset         int64\n\tTime_enabled   uint64\n\tTime_running   uint64\n\tCapabilities   uint64\n\tPmc_width      uint16\n\tTime_shift     uint16\n\tTime_mult      uint32\n\tTime_offset    uint64\n\tTime_zero      uint64\n\tSize           uint32\n\t_              [948]uint8\n\tData_head      uint64\n\tData_tail      uint64\n\tData_offset    uint64\n\tData_size      uint64\n\tAux_head       uint64\n\tAux_tail       uint64\n\tAux_offset     uint64\n\tAux_size       uint64\n}\n\nconst (\n\tPerfBitDisabled               uint64 = CBitFieldMaskBit0\n\tPerfBitInherit                       = CBitFieldMaskBit1\n\tPerfBitPinned                        = CBitFieldMaskBit2\n\tPerfBitExclusive                     = CBitFieldMaskBit3\n\tPerfBitExcludeUser                   = CBitFieldMaskBit4\n\tPerfBitExcludeKernel                 = CBitFieldMaskBit5\n\tPerfBitExcludeHv                     = CBitFieldMaskBit6\n\tPerfBitExcludeIdle                   = CBitFieldMaskBit7\n\tPerfBitMmap                          = CBitFieldMaskBit8\n\tPerfBitComm                          = CBitFieldMaskBit9\n\tPerfBitFreq                          = CBitFieldMaskBit10\n\tPerfBitInheritStat                   = CBitFieldMaskBit11\n\tPerfBitEnableOnExec                  = CBitFieldMaskBit12\n\tPerfBitTask                          = CBitFieldMaskBit13\n\tPerfBitWatermark                     = CBitFieldMaskBit14\n\tPerfBitPreciseIPBit1                 = CBitFieldMaskBit15\n\tPerfBitPreciseIPBit2                 = CBitFieldMaskBit16\n\tPerfBitMmapData                      = CBitFieldMaskBit17\n\tPerfBitSampleIDAll                   = CBitFieldMaskBit18\n\tPerfBitExcludeHost                   = CBitFieldMaskBit19\n\tPerfBitExcludeGuest                  = CBitFieldMaskBit20\n\tPerfBitExcludeCallchainKernel        = CBitFieldMaskBit21\n\tPerfBitExcludeCallchainUser          = CBitFieldMaskBit22\n\tPerfBitMmap2                         = CBitFieldMaskBit23\n\tPerfBitCommExec                      = CBitFieldMaskBit24\n\tPerfBitUseClockID                    = CBitFieldMaskBit25\n\tPerfBitContextSwitch                 = CBitFieldMaskBit26\n)\n\nconst (\n\tPERF_TYPE_HARDWARE   = 0x0\n\tPERF_TYPE_SOFTWARE   = 0x1\n\tPERF_TYPE_TRACEPOINT = 0x2\n\tPERF_TYPE_HW_CACHE   = 0x3\n\tPERF_TYPE_RAW        = 0x4\n\tPERF_TYPE_BREAKPOINT = 0x5\n\n\tPERF_COUNT_HW_CPU_CYCLES              = 0x0\n\tPERF_COUNT_HW_INSTRUCTIONS            = 0x1\n\tPERF_COUNT_HW_CACHE_REFERENCES        = 0x2\n\tPERF_COUNT_HW_CACHE_MISSES            = 0x3\n\tPERF_COUNT_HW_BRANCH_INSTRUCTIONS     = 0x4\n\tPERF_COUNT_HW_BRANCH_MISSES           = 0x5\n\tPERF_COUNT_HW_BUS_CYCLES              = 0x6\n\tPERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7\n\tPERF_COUNT_HW_STALLED_CYCLES_BACKEND  = 0x8\n\tPERF_COUNT_HW_REF_CPU_CYCLES          = 0x9\n\n\tPERF_COUNT_HW_CACHE_L1D  = 0x0\n\tPERF_COUNT_HW_CACHE_L1I  = 0x1\n\tPERF_COUNT_HW_CACHE_LL   = 0x2\n\tPERF_COUNT_HW_CACHE_DTLB = 0x3\n\tPERF_COUNT_HW_CACHE_ITLB = 0x4\n\tPERF_COUNT_HW_CACHE_BPU  = 0x5\n\tPERF_COUNT_HW_CACHE_NODE = 0x6\n\n\tPERF_COUNT_HW_CACHE_OP_READ     = 0x0\n\tPERF_COUNT_HW_CACHE_OP_WRITE    = 0x1\n\tPERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2\n\n\tPERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0\n\tPERF_COUNT_HW_CACHE_RESULT_MISS   = 0x1\n\n\tPERF_COUNT_SW_CPU_CLOCK        = 0x0\n\tPERF_COUNT_SW_TASK_CLOCK       = 0x1\n\tPERF_COUNT_SW_PAGE_FAULTS      = 0x2\n\tPERF_COUNT_SW_CONTEXT_SWITCHES = 0x3\n\tPERF_COUNT_SW_CPU_MIGRATIONS   = 0x4\n\tPERF_COUNT_SW_PAGE_FAULTS_MIN  = 0x5\n\tPERF_COUNT_SW_PAGE_FAULTS_MAJ  = 0x6\n\tPERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7\n\tPERF_COUNT_SW_EMULATION_FAULTS = 0x8\n\tPERF_COUNT_SW_DUMMY            = 0x9\n\n\tPERF_SAMPLE_IP           = 0x1\n\tPERF_SAMPLE_TID          = 0x2\n\tPERF_SAMPLE_TIME         = 0x4\n\tPERF_SAMPLE_ADDR         = 0x8\n\tPERF_SAMPLE_READ         = 0x10\n\tPERF_SAMPLE_CALLCHAIN    = 0x20\n\tPERF_SAMPLE_ID           = 0x40\n\tPERF_SAMPLE_CPU          = 0x80\n\tPERF_SAMPLE_PERIOD       = 0x100\n\tPERF_SAMPLE_STREAM_ID    = 0x200\n\tPERF_SAMPLE_RAW          = 0x400\n\tPERF_SAMPLE_BRANCH_STACK = 0x800\n\n\tPERF_SAMPLE_BRANCH_USER       = 0x1\n\tPERF_SAMPLE_BRANCH_KERNEL     = 0x2\n\tPERF_SAMPLE_BRANCH_HV         = 0x4\n\tPERF_SAMPLE_BRANCH_ANY        = 0x8\n\tPERF_SAMPLE_BRANCH_ANY_CALL   = 0x10\n\tPERF_SAMPLE_BRANCH_ANY_RETURN = 0x20\n\tPERF_SAMPLE_BRANCH_IND_CALL   = 0x40\n\n\tPERF_FORMAT_TOTAL_TIME_ENABLED = 0x1\n\tPERF_FORMAT_TOTAL_TIME_RUNNING = 0x2\n\tPERF_FORMAT_ID                 = 0x4\n\tPERF_FORMAT_GROUP              = 0x8\n\n\tPERF_RECORD_MMAP       = 0x1\n\tPERF_RECORD_LOST       = 0x2\n\tPERF_RECORD_COMM       = 0x3\n\tPERF_RECORD_EXIT       = 0x4\n\tPERF_RECORD_THROTTLE   = 0x5\n\tPERF_RECORD_UNTHROTTLE = 0x6\n\tPERF_RECORD_FORK       = 0x7\n\tPERF_RECORD_READ       = 0x8\n\tPERF_RECORD_SAMPLE     = 0x9\n\n\tPERF_CONTEXT_HV     = -0x20\n\tPERF_CONTEXT_KERNEL = -0x80\n\tPERF_CONTEXT_USER   = -0x200\n\n\tPERF_CONTEXT_GUEST        = -0x800\n\tPERF_CONTEXT_GUEST_KERNEL = -0x880\n\tPERF_CONTEXT_GUEST_USER   = -0xa00\n\n\tPERF_FLAG_FD_NO_GROUP = 0x1\n\tPERF_FLAG_FD_OUTPUT   = 0x2\n\tPERF_FLAG_PID_CGROUP  = 0x4\n)\n\nconst (\n\tCBitFieldMaskBit0  = 0x1\n\tCBitFieldMaskBit1  = 0x2\n\tCBitFieldMaskBit2  = 0x4\n\tCBitFieldMaskBit3  = 0x8\n\tCBitFieldMaskBit4  = 0x10\n\tCBitFieldMaskBit5  = 0x20\n\tCBitFieldMaskBit6  = 0x40\n\tCBitFieldMaskBit7  = 0x80\n\tCBitFieldMaskBit8  = 0x100\n\tCBitFieldMaskBit9  = 0x200\n\tCBitFieldMaskBit10 = 0x400\n\tCBitFieldMaskBit11 = 0x800\n\tCBitFieldMaskBit12 = 0x1000\n\tCBitFieldMaskBit13 = 0x2000\n\tCBitFieldMaskBit14 = 0x4000\n\tCBitFieldMaskBit15 = 0x8000\n\tCBitFieldMaskBit16 = 0x10000\n\tCBitFieldMaskBit17 = 0x20000\n\tCBitFieldMaskBit18 = 0x40000\n\tCBitFieldMaskBit19 = 0x80000\n\tCBitFieldMaskBit20 = 0x100000\n\tCBitFieldMaskBit21 = 0x200000\n\tCBitFieldMaskBit22 = 0x400000\n\tCBitFieldMaskBit23 = 0x800000\n\tCBitFieldMaskBit24 = 0x1000000\n\tCBitFieldMaskBit25 = 0x2000000\n\tCBitFieldMaskBit26 = 0x4000000\n\tCBitFieldMaskBit27 = 0x8000000\n\tCBitFieldMaskBit28 = 0x10000000\n\tCBitFieldMaskBit29 = 0x20000000\n\tCBitFieldMaskBit30 = 0x40000000\n\tCBitFieldMaskBit31 = 0x80000000\n\tCBitFieldMaskBit32 = 0x100000000\n\tCBitFieldMaskBit33 = 0x200000000\n\tCBitFieldMaskBit34 = 0x400000000\n\tCBitFieldMaskBit35 = 0x800000000\n\tCBitFieldMaskBit36 = 0x1000000000\n\tCBitFieldMaskBit37 = 0x2000000000\n\tCBitFieldMaskBit38 = 0x4000000000\n\tCBitFieldMaskBit39 = 0x8000000000\n\tCBitFieldMaskBit40 = 0x10000000000\n\tCBitFieldMaskBit41 = 0x20000000000\n\tCBitFieldMaskBit42 = 0x40000000000\n\tCBitFieldMaskBit43 = 0x80000000000\n\tCBitFieldMaskBit44 = 0x100000000000\n\tCBitFieldMaskBit45 = 0x200000000000\n\tCBitFieldMaskBit46 = 0x400000000000\n\tCBitFieldMaskBit47 = 0x800000000000\n\tCBitFieldMaskBit48 = 0x1000000000000\n\tCBitFieldMaskBit49 = 0x2000000000000\n\tCBitFieldMaskBit50 = 0x4000000000000\n\tCBitFieldMaskBit51 = 0x8000000000000\n\tCBitFieldMaskBit52 = 0x10000000000000\n\tCBitFieldMaskBit53 = 0x20000000000000\n\tCBitFieldMaskBit54 = 0x40000000000000\n\tCBitFieldMaskBit55 = 0x80000000000000\n\tCBitFieldMaskBit56 = 0x100000000000000\n\tCBitFieldMaskBit57 = 0x200000000000000\n\tCBitFieldMaskBit58 = 0x400000000000000\n\tCBitFieldMaskBit59 = 0x800000000000000\n\tCBitFieldMaskBit60 = 0x1000000000000000\n\tCBitFieldMaskBit61 = 0x2000000000000000\n\tCBitFieldMaskBit62 = 0x4000000000000000\n\tCBitFieldMaskBit63 = 0x8000000000000000\n)\n\ntype SockaddrStorage struct {\n\tFamily uint16\n\t_      [122]int8\n\t_      uint32\n}\n\ntype TCPMD5Sig struct {\n\tAddr      SockaddrStorage\n\tFlags     uint8\n\tPrefixlen uint8\n\tKeylen    uint16\n\t_         uint32\n\tKey       [80]uint8\n}\n\ntype HDDriveCmdHdr struct {\n\tCommand uint8\n\tNumber  uint8\n\tFeature uint8\n\tCount   uint8\n}\n\ntype HDGeometry struct {\n\tHeads     uint8\n\tSectors   uint8\n\tCylinders uint16\n\tStart     uint32\n}\n\ntype HDDriveID struct {\n\tConfig         uint16\n\tCyls           uint16\n\tReserved2      uint16\n\tHeads          uint16\n\tTrack_bytes    uint16\n\tSector_bytes   uint16\n\tSectors        uint16\n\tVendor0        uint16\n\tVendor1        uint16\n\tVendor2        uint16\n\tSerial_no      [20]uint8\n\tBuf_type       uint16\n\tBuf_size       uint16\n\tEcc_bytes      uint16\n\tFw_rev         [8]uint8\n\tModel          [40]uint8\n\tMax_multsect   uint8\n\tVendor3        uint8\n\tDword_io       uint16\n\tVendor4        uint8\n\tCapability     uint8\n\tReserved50     uint16\n\tVendor5        uint8\n\tTPIO           uint8\n\tVendor6        uint8\n\tTDMA           uint8\n\tField_valid    uint16\n\tCur_cyls       uint16\n\tCur_heads      uint16\n\tCur_sectors    uint16\n\tCur_capacity0  uint16\n\tCur_capacity1  uint16\n\tMultsect       uint8\n\tMultsect_valid uint8\n\tLba_capacity   uint32\n\tDma_1word      uint16\n\tDma_mword      uint16\n\tEide_pio_modes uint16\n\tEide_dma_min   uint16\n\tEide_dma_time  uint16\n\tEide_pio       uint16\n\tEide_pio_iordy uint16\n\tWords69_70     [2]uint16\n\tWords71_74     [4]uint16\n\tQueue_depth    uint16\n\tWords76_79     [4]uint16\n\tMajor_rev_num  uint16\n\tMinor_rev_num  uint16\n\tCommand_set_1  uint16\n\tCommand_set_2  uint16\n\tCfsse          uint16\n\tCfs_enable_1   uint16\n\tCfs_enable_2   uint16\n\tCsf_default    uint16\n\tDma_ultra      uint16\n\tTrseuc         uint16\n\tTrsEuc         uint16\n\tCurAPMvalues   uint16\n\tMprc           uint16\n\tHw_config      uint16\n\tAcoustic       uint16\n\tMsrqs          uint16\n\tSxfert         uint16\n\tSal            uint16\n\tSpg            uint32\n\tLba_capacity_2 uint64\n\tWords104_125   [22]uint16\n\tLast_lun       uint16\n\tWord127        uint16\n\tDlf            uint16\n\tCsfo           uint16\n\tWords130_155   [26]uint16\n\tWord156        uint16\n\tWords157_159   [3]uint16\n\tCfa_power      uint16\n\tWords161_175   [15]uint16\n\tWords176_205   [30]uint16\n\tWords206_254   [49]uint16\n\tIntegrity_word uint16\n}\n\ntype Statfs_t struct {\n\tType    int32\n\tBsize   int32\n\tFrsize  int32\n\t_       [4]byte\n\tBlocks  uint64\n\tBfree   uint64\n\tFiles   uint64\n\tFfree   uint64\n\tBavail  uint64\n\tFsid    Fsid\n\tNamelen int32\n\tFlags   int32\n\tSpare   [5]int32\n\t_       [4]byte\n}\n\nconst (\n\tST_MANDLOCK    = 0x40\n\tST_NOATIME     = 0x400\n\tST_NODEV       = 0x4\n\tST_NODIRATIME  = 0x800\n\tST_NOEXEC      = 0x8\n\tST_NOSUID      = 0x2\n\tST_RDONLY      = 0x1\n\tST_RELATIME    = 0x1000\n\tST_SYNCHRONOUS = 0x10\n)\n\ntype TpacketHdr struct {\n\tStatus  uint32\n\tLen     uint32\n\tSnaplen uint32\n\tMac     uint16\n\tNet     uint16\n\tSec     uint32\n\tUsec    uint32\n}\n\ntype Tpacket2Hdr struct {\n\tStatus    uint32\n\tLen       uint32\n\tSnaplen   uint32\n\tMac       uint16\n\tNet       uint16\n\tSec       uint32\n\tNsec      uint32\n\tVlan_tci  uint16\n\tVlan_tpid uint16\n\t_         [4]uint8\n}\n\ntype Tpacket3Hdr struct {\n\tNext_offset uint32\n\tSec         uint32\n\tNsec        uint32\n\tSnaplen     uint32\n\tLen         uint32\n\tStatus      uint32\n\tMac         uint16\n\tNet         uint16\n\tHv1         TpacketHdrVariant1\n\t_           [8]uint8\n}\n\ntype TpacketHdrVariant1 struct {\n\tRxhash    uint32\n\tVlan_tci  uint32\n\tVlan_tpid uint16\n\t_         uint16\n}\n\ntype TpacketBlockDesc struct {\n\tVersion uint32\n\tTo_priv uint32\n\tHdr     [40]byte\n}\n\ntype TpacketReq struct {\n\tBlock_size uint32\n\tBlock_nr   uint32\n\tFrame_size uint32\n\tFrame_nr   uint32\n}\n\ntype TpacketReq3 struct {\n\tBlock_size       uint32\n\tBlock_nr         uint32\n\tFrame_size       uint32\n\tFrame_nr         uint32\n\tRetire_blk_tov   uint32\n\tSizeof_priv      uint32\n\tFeature_req_word uint32\n}\n\ntype TpacketStats struct {\n\tPackets uint32\n\tDrops   uint32\n}\n\ntype TpacketStatsV3 struct {\n\tPackets      uint32\n\tDrops        uint32\n\tFreeze_q_cnt uint32\n}\n\ntype TpacketAuxdata struct {\n\tStatus    uint32\n\tLen       uint32\n\tSnaplen   uint32\n\tMac       uint16\n\tNet       uint16\n\tVlan_tci  uint16\n\tVlan_tpid uint16\n}\n\nconst (\n\tTPACKET_V1 = 0x0\n\tTPACKET_V2 = 0x1\n\tTPACKET_V3 = 0x2\n)\n\nconst (\n\tSizeofTpacketHdr  = 0x18\n\tSizeofTpacket2Hdr = 0x20\n\tSizeofTpacket3Hdr = 0x30\n)\n\nconst (\n\tNF_INET_PRE_ROUTING  = 0x0\n\tNF_INET_LOCAL_IN     = 0x1\n\tNF_INET_FORWARD      = 0x2\n\tNF_INET_LOCAL_OUT    = 0x3\n\tNF_INET_POST_ROUTING = 0x4\n\tNF_INET_NUMHOOKS     = 0x5\n)\n\nconst (\n\tNF_NETDEV_INGRESS  = 0x0\n\tNF_NETDEV_NUMHOOKS = 0x1\n)\n\nconst (\n\tNFPROTO_UNSPEC   = 0x0\n\tNFPROTO_INET     = 0x1\n\tNFPROTO_IPV4     = 0x2\n\tNFPROTO_ARP      = 0x3\n\tNFPROTO_NETDEV   = 0x5\n\tNFPROTO_BRIDGE   = 0x7\n\tNFPROTO_IPV6     = 0xa\n\tNFPROTO_DECNET   = 0xc\n\tNFPROTO_NUMPROTO = 0xd\n)\n\ntype Nfgenmsg struct {\n\tNfgen_family uint8\n\tVersion      uint8\n\tRes_id       uint16\n}\n\nconst (\n\tNFNL_BATCH_UNSPEC = 0x0\n\tNFNL_BATCH_GENID  = 0x1\n)\n\nconst (\n\tNFT_REG_VERDICT                   = 0x0\n\tNFT_REG_1                         = 0x1\n\tNFT_REG_2                         = 0x2\n\tNFT_REG_3                         = 0x3\n\tNFT_REG_4                         = 0x4\n\tNFT_REG32_00                      = 0x8\n\tNFT_REG32_01                      = 0x9\n\tNFT_REG32_02                      = 0xa\n\tNFT_REG32_03                      = 0xb\n\tNFT_REG32_04                      = 0xc\n\tNFT_REG32_05                      = 0xd\n\tNFT_REG32_06                      = 0xe\n\tNFT_REG32_07                      = 0xf\n\tNFT_REG32_08                      = 0x10\n\tNFT_REG32_09                      = 0x11\n\tNFT_REG32_10                      = 0x12\n\tNFT_REG32_11                      = 0x13\n\tNFT_REG32_12                      = 0x14\n\tNFT_REG32_13                      = 0x15\n\tNFT_REG32_14                      = 0x16\n\tNFT_REG32_15                      = 0x17\n\tNFT_CONTINUE                      = -0x1\n\tNFT_BREAK                         = -0x2\n\tNFT_JUMP                          = -0x3\n\tNFT_GOTO                          = -0x4\n\tNFT_RETURN                        = -0x5\n\tNFT_MSG_NEWTABLE                  = 0x0\n\tNFT_MSG_GETTABLE                  = 0x1\n\tNFT_MSG_DELTABLE                  = 0x2\n\tNFT_MSG_NEWCHAIN                  = 0x3\n\tNFT_MSG_GETCHAIN                  = 0x4\n\tNFT_MSG_DELCHAIN                  = 0x5\n\tNFT_MSG_NEWRULE                   = 0x6\n\tNFT_MSG_GETRULE                   = 0x7\n\tNFT_MSG_DELRULE                   = 0x8\n\tNFT_MSG_NEWSET                    = 0x9\n\tNFT_MSG_GETSET                    = 0xa\n\tNFT_MSG_DELSET                    = 0xb\n\tNFT_MSG_NEWSETELEM                = 0xc\n\tNFT_MSG_GETSETELEM                = 0xd\n\tNFT_MSG_DELSETELEM                = 0xe\n\tNFT_MSG_NEWGEN                    = 0xf\n\tNFT_MSG_GETGEN                    = 0x10\n\tNFT_MSG_TRACE                     = 0x11\n\tNFT_MSG_NEWOBJ                    = 0x12\n\tNFT_MSG_GETOBJ                    = 0x13\n\tNFT_MSG_DELOBJ                    = 0x14\n\tNFT_MSG_GETOBJ_RESET              = 0x15\n\tNFT_MSG_MAX                       = 0x19\n\tNFTA_LIST_UNPEC                   = 0x0\n\tNFTA_LIST_ELEM                    = 0x1\n\tNFTA_HOOK_UNSPEC                  = 0x0\n\tNFTA_HOOK_HOOKNUM                 = 0x1\n\tNFTA_HOOK_PRIORITY                = 0x2\n\tNFTA_HOOK_DEV                     = 0x3\n\tNFT_TABLE_F_DORMANT               = 0x1\n\tNFTA_TABLE_UNSPEC                 = 0x0\n\tNFTA_TABLE_NAME                   = 0x1\n\tNFTA_TABLE_FLAGS                  = 0x2\n\tNFTA_TABLE_USE                    = 0x3\n\tNFTA_CHAIN_UNSPEC                 = 0x0\n\tNFTA_CHAIN_TABLE                  = 0x1\n\tNFTA_CHAIN_HANDLE                 = 0x2\n\tNFTA_CHAIN_NAME                   = 0x3\n\tNFTA_CHAIN_HOOK                   = 0x4\n\tNFTA_CHAIN_POLICY                 = 0x5\n\tNFTA_CHAIN_USE                    = 0x6\n\tNFTA_CHAIN_TYPE                   = 0x7\n\tNFTA_CHAIN_COUNTERS               = 0x8\n\tNFTA_CHAIN_PAD                    = 0x9\n\tNFTA_RULE_UNSPEC                  = 0x0\n\tNFTA_RULE_TABLE                   = 0x1\n\tNFTA_RULE_CHAIN                   = 0x2\n\tNFTA_RULE_HANDLE                  = 0x3\n\tNFTA_RULE_EXPRESSIONS             = 0x4\n\tNFTA_RULE_COMPAT                  = 0x5\n\tNFTA_RULE_POSITION                = 0x6\n\tNFTA_RULE_USERDATA                = 0x7\n\tNFTA_RULE_PAD                     = 0x8\n\tNFTA_RULE_ID                      = 0x9\n\tNFT_RULE_COMPAT_F_INV             = 0x2\n\tNFT_RULE_COMPAT_F_MASK            = 0x2\n\tNFTA_RULE_COMPAT_UNSPEC           = 0x0\n\tNFTA_RULE_COMPAT_PROTO            = 0x1\n\tNFTA_RULE_COMPAT_FLAGS            = 0x2\n\tNFT_SET_ANONYMOUS                 = 0x1\n\tNFT_SET_CONSTANT                  = 0x2\n\tNFT_SET_INTERVAL                  = 0x4\n\tNFT_SET_MAP                       = 0x8\n\tNFT_SET_TIMEOUT                   = 0x10\n\tNFT_SET_EVAL                      = 0x20\n\tNFT_SET_OBJECT                    = 0x40\n\tNFT_SET_POL_PERFORMANCE           = 0x0\n\tNFT_SET_POL_MEMORY                = 0x1\n\tNFTA_SET_DESC_UNSPEC              = 0x0\n\tNFTA_SET_DESC_SIZE                = 0x1\n\tNFTA_SET_UNSPEC                   = 0x0\n\tNFTA_SET_TABLE                    = 0x1\n\tNFTA_SET_NAME                     = 0x2\n\tNFTA_SET_FLAGS                    = 0x3\n\tNFTA_SET_KEY_TYPE                 = 0x4\n\tNFTA_SET_KEY_LEN                  = 0x5\n\tNFTA_SET_DATA_TYPE                = 0x6\n\tNFTA_SET_DATA_LEN                 = 0x7\n\tNFTA_SET_POLICY                   = 0x8\n\tNFTA_SET_DESC                     = 0x9\n\tNFTA_SET_ID                       = 0xa\n\tNFTA_SET_TIMEOUT                  = 0xb\n\tNFTA_SET_GC_INTERVAL              = 0xc\n\tNFTA_SET_USERDATA                 = 0xd\n\tNFTA_SET_PAD                      = 0xe\n\tNFTA_SET_OBJ_TYPE                 = 0xf\n\tNFT_SET_ELEM_INTERVAL_END         = 0x1\n\tNFTA_SET_ELEM_UNSPEC              = 0x0\n\tNFTA_SET_ELEM_KEY                 = 0x1\n\tNFTA_SET_ELEM_DATA                = 0x2\n\tNFTA_SET_ELEM_FLAGS               = 0x3\n\tNFTA_SET_ELEM_TIMEOUT             = 0x4\n\tNFTA_SET_ELEM_EXPIRATION          = 0x5\n\tNFTA_SET_ELEM_USERDATA            = 0x6\n\tNFTA_SET_ELEM_EXPR                = 0x7\n\tNFTA_SET_ELEM_PAD                 = 0x8\n\tNFTA_SET_ELEM_OBJREF              = 0x9\n\tNFTA_SET_ELEM_LIST_UNSPEC         = 0x0\n\tNFTA_SET_ELEM_LIST_TABLE          = 0x1\n\tNFTA_SET_ELEM_LIST_SET            = 0x2\n\tNFTA_SET_ELEM_LIST_ELEMENTS       = 0x3\n\tNFTA_SET_ELEM_LIST_SET_ID         = 0x4\n\tNFT_DATA_VALUE                    = 0x0\n\tNFT_DATA_VERDICT                  = 0xffffff00\n\tNFTA_DATA_UNSPEC                  = 0x0\n\tNFTA_DATA_VALUE                   = 0x1\n\tNFTA_DATA_VERDICT                 = 0x2\n\tNFTA_VERDICT_UNSPEC               = 0x0\n\tNFTA_VERDICT_CODE                 = 0x1\n\tNFTA_VERDICT_CHAIN                = 0x2\n\tNFTA_EXPR_UNSPEC                  = 0x0\n\tNFTA_EXPR_NAME                    = 0x1\n\tNFTA_EXPR_DATA                    = 0x2\n\tNFTA_IMMEDIATE_UNSPEC             = 0x0\n\tNFTA_IMMEDIATE_DREG               = 0x1\n\tNFTA_IMMEDIATE_DATA               = 0x2\n\tNFTA_BITWISE_UNSPEC               = 0x0\n\tNFTA_BITWISE_SREG                 = 0x1\n\tNFTA_BITWISE_DREG                 = 0x2\n\tNFTA_BITWISE_LEN                  = 0x3\n\tNFTA_BITWISE_MASK                 = 0x4\n\tNFTA_BITWISE_XOR                  = 0x5\n\tNFT_BYTEORDER_NTOH                = 0x0\n\tNFT_BYTEORDER_HTON                = 0x1\n\tNFTA_BYTEORDER_UNSPEC             = 0x0\n\tNFTA_BYTEORDER_SREG               = 0x1\n\tNFTA_BYTEORDER_DREG               = 0x2\n\tNFTA_BYTEORDER_OP                 = 0x3\n\tNFTA_BYTEORDER_LEN                = 0x4\n\tNFTA_BYTEORDER_SIZE               = 0x5\n\tNFT_CMP_EQ                        = 0x0\n\tNFT_CMP_NEQ                       = 0x1\n\tNFT_CMP_LT                        = 0x2\n\tNFT_CMP_LTE                       = 0x3\n\tNFT_CMP_GT                        = 0x4\n\tNFT_CMP_GTE                       = 0x5\n\tNFTA_CMP_UNSPEC                   = 0x0\n\tNFTA_CMP_SREG                     = 0x1\n\tNFTA_CMP_OP                       = 0x2\n\tNFTA_CMP_DATA                     = 0x3\n\tNFT_RANGE_EQ                      = 0x0\n\tNFT_RANGE_NEQ                     = 0x1\n\tNFTA_RANGE_UNSPEC                 = 0x0\n\tNFTA_RANGE_SREG                   = 0x1\n\tNFTA_RANGE_OP                     = 0x2\n\tNFTA_RANGE_FROM_DATA              = 0x3\n\tNFTA_RANGE_TO_DATA                = 0x4\n\tNFT_LOOKUP_F_INV                  = 0x1\n\tNFTA_LOOKUP_UNSPEC                = 0x0\n\tNFTA_LOOKUP_SET                   = 0x1\n\tNFTA_LOOKUP_SREG                  = 0x2\n\tNFTA_LOOKUP_DREG                  = 0x3\n\tNFTA_LOOKUP_SET_ID                = 0x4\n\tNFTA_LOOKUP_FLAGS                 = 0x5\n\tNFT_DYNSET_OP_ADD                 = 0x0\n\tNFT_DYNSET_OP_UPDATE              = 0x1\n\tNFT_DYNSET_F_INV                  = 0x1\n\tNFTA_DYNSET_UNSPEC                = 0x0\n\tNFTA_DYNSET_SET_NAME              = 0x1\n\tNFTA_DYNSET_SET_ID                = 0x2\n\tNFTA_DYNSET_OP                    = 0x3\n\tNFTA_DYNSET_SREG_KEY              = 0x4\n\tNFTA_DYNSET_SREG_DATA             = 0x5\n\tNFTA_DYNSET_TIMEOUT               = 0x6\n\tNFTA_DYNSET_EXPR                  = 0x7\n\tNFTA_DYNSET_PAD                   = 0x8\n\tNFTA_DYNSET_FLAGS                 = 0x9\n\tNFT_PAYLOAD_LL_HEADER             = 0x0\n\tNFT_PAYLOAD_NETWORK_HEADER        = 0x1\n\tNFT_PAYLOAD_TRANSPORT_HEADER      = 0x2\n\tNFT_PAYLOAD_CSUM_NONE             = 0x0\n\tNFT_PAYLOAD_CSUM_INET             = 0x1\n\tNFT_PAYLOAD_L4CSUM_PSEUDOHDR      = 0x1\n\tNFTA_PAYLOAD_UNSPEC               = 0x0\n\tNFTA_PAYLOAD_DREG                 = 0x1\n\tNFTA_PAYLOAD_BASE                 = 0x2\n\tNFTA_PAYLOAD_OFFSET               = 0x3\n\tNFTA_PAYLOAD_LEN                  = 0x4\n\tNFTA_PAYLOAD_SREG                 = 0x5\n\tNFTA_PAYLOAD_CSUM_TYPE            = 0x6\n\tNFTA_PAYLOAD_CSUM_OFFSET          = 0x7\n\tNFTA_PAYLOAD_CSUM_FLAGS           = 0x8\n\tNFT_EXTHDR_F_PRESENT              = 0x1\n\tNFT_EXTHDR_OP_IPV6                = 0x0\n\tNFT_EXTHDR_OP_TCPOPT              = 0x1\n\tNFTA_EXTHDR_UNSPEC                = 0x0\n\tNFTA_EXTHDR_DREG                  = 0x1\n\tNFTA_EXTHDR_TYPE                  = 0x2\n\tNFTA_EXTHDR_OFFSET                = 0x3\n\tNFTA_EXTHDR_LEN                   = 0x4\n\tNFTA_EXTHDR_FLAGS                 = 0x5\n\tNFTA_EXTHDR_OP                    = 0x6\n\tNFTA_EXTHDR_SREG                  = 0x7\n\tNFT_META_LEN                      = 0x0\n\tNFT_META_PROTOCOL                 = 0x1\n\tNFT_META_PRIORITY                 = 0x2\n\tNFT_META_MARK                     = 0x3\n\tNFT_META_IIF                      = 0x4\n\tNFT_META_OIF                      = 0x5\n\tNFT_META_IIFNAME                  = 0x6\n\tNFT_META_OIFNAME                  = 0x7\n\tNFT_META_IIFTYPE                  = 0x8\n\tNFT_META_OIFTYPE                  = 0x9\n\tNFT_META_SKUID                    = 0xa\n\tNFT_META_SKGID                    = 0xb\n\tNFT_META_NFTRACE                  = 0xc\n\tNFT_META_RTCLASSID                = 0xd\n\tNFT_META_SECMARK                  = 0xe\n\tNFT_META_NFPROTO                  = 0xf\n\tNFT_META_L4PROTO                  = 0x10\n\tNFT_META_BRI_IIFNAME              = 0x11\n\tNFT_META_BRI_OIFNAME              = 0x12\n\tNFT_META_PKTTYPE                  = 0x13\n\tNFT_META_CPU                      = 0x14\n\tNFT_META_IIFGROUP                 = 0x15\n\tNFT_META_OIFGROUP                 = 0x16\n\tNFT_META_CGROUP                   = 0x17\n\tNFT_META_PRANDOM                  = 0x18\n\tNFT_RT_CLASSID                    = 0x0\n\tNFT_RT_NEXTHOP4                   = 0x1\n\tNFT_RT_NEXTHOP6                   = 0x2\n\tNFT_RT_TCPMSS                     = 0x3\n\tNFT_HASH_JENKINS                  = 0x0\n\tNFT_HASH_SYM                      = 0x1\n\tNFTA_HASH_UNSPEC                  = 0x0\n\tNFTA_HASH_SREG                    = 0x1\n\tNFTA_HASH_DREG                    = 0x2\n\tNFTA_HASH_LEN                     = 0x3\n\tNFTA_HASH_MODULUS                 = 0x4\n\tNFTA_HASH_SEED                    = 0x5\n\tNFTA_HASH_OFFSET                  = 0x6\n\tNFTA_HASH_TYPE                    = 0x7\n\tNFTA_META_UNSPEC                  = 0x0\n\tNFTA_META_DREG                    = 0x1\n\tNFTA_META_KEY                     = 0x2\n\tNFTA_META_SREG                    = 0x3\n\tNFTA_RT_UNSPEC                    = 0x0\n\tNFTA_RT_DREG                      = 0x1\n\tNFTA_RT_KEY                       = 0x2\n\tNFT_CT_STATE                      = 0x0\n\tNFT_CT_DIRECTION                  = 0x1\n\tNFT_CT_STATUS                     = 0x2\n\tNFT_CT_MARK                       = 0x3\n\tNFT_CT_SECMARK                    = 0x4\n\tNFT_CT_EXPIRATION                 = 0x5\n\tNFT_CT_HELPER                     = 0x6\n\tNFT_CT_L3PROTOCOL                 = 0x7\n\tNFT_CT_SRC                        = 0x8\n\tNFT_CT_DST                        = 0x9\n\tNFT_CT_PROTOCOL                   = 0xa\n\tNFT_CT_PROTO_SRC                  = 0xb\n\tNFT_CT_PROTO_DST                  = 0xc\n\tNFT_CT_LABELS                     = 0xd\n\tNFT_CT_PKTS                       = 0xe\n\tNFT_CT_BYTES                      = 0xf\n\tNFT_CT_AVGPKT                     = 0x10\n\tNFT_CT_ZONE                       = 0x11\n\tNFT_CT_EVENTMASK                  = 0x12\n\tNFTA_CT_UNSPEC                    = 0x0\n\tNFTA_CT_DREG                      = 0x1\n\tNFTA_CT_KEY                       = 0x2\n\tNFTA_CT_DIRECTION                 = 0x3\n\tNFTA_CT_SREG                      = 0x4\n\tNFT_LIMIT_PKTS                    = 0x0\n\tNFT_LIMIT_PKT_BYTES               = 0x1\n\tNFT_LIMIT_F_INV                   = 0x1\n\tNFTA_LIMIT_UNSPEC                 = 0x0\n\tNFTA_LIMIT_RATE                   = 0x1\n\tNFTA_LIMIT_UNIT                   = 0x2\n\tNFTA_LIMIT_BURST                  = 0x3\n\tNFTA_LIMIT_TYPE                   = 0x4\n\tNFTA_LIMIT_FLAGS                  = 0x5\n\tNFTA_LIMIT_PAD                    = 0x6\n\tNFTA_COUNTER_UNSPEC               = 0x0\n\tNFTA_COUNTER_BYTES                = 0x1\n\tNFTA_COUNTER_PACKETS              = 0x2\n\tNFTA_COUNTER_PAD                  = 0x3\n\tNFTA_LOG_UNSPEC                   = 0x0\n\tNFTA_LOG_GROUP                    = 0x1\n\tNFTA_LOG_PREFIX                   = 0x2\n\tNFTA_LOG_SNAPLEN                  = 0x3\n\tNFTA_LOG_QTHRESHOLD               = 0x4\n\tNFTA_LOG_LEVEL                    = 0x5\n\tNFTA_LOG_FLAGS                    = 0x6\n\tNFTA_QUEUE_UNSPEC                 = 0x0\n\tNFTA_QUEUE_NUM                    = 0x1\n\tNFTA_QUEUE_TOTAL                  = 0x2\n\tNFTA_QUEUE_FLAGS                  = 0x3\n\tNFTA_QUEUE_SREG_QNUM              = 0x4\n\tNFT_QUOTA_F_INV                   = 0x1\n\tNFT_QUOTA_F_DEPLETED              = 0x2\n\tNFTA_QUOTA_UNSPEC                 = 0x0\n\tNFTA_QUOTA_BYTES                  = 0x1\n\tNFTA_QUOTA_FLAGS                  = 0x2\n\tNFTA_QUOTA_PAD                    = 0x3\n\tNFTA_QUOTA_CONSUMED               = 0x4\n\tNFT_REJECT_ICMP_UNREACH           = 0x0\n\tNFT_REJECT_TCP_RST                = 0x1\n\tNFT_REJECT_ICMPX_UNREACH          = 0x2\n\tNFT_REJECT_ICMPX_NO_ROUTE         = 0x0\n\tNFT_REJECT_ICMPX_PORT_UNREACH     = 0x1\n\tNFT_REJECT_ICMPX_HOST_UNREACH     = 0x2\n\tNFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3\n\tNFTA_REJECT_UNSPEC                = 0x0\n\tNFTA_REJECT_TYPE                  = 0x1\n\tNFTA_REJECT_ICMP_CODE             = 0x2\n\tNFT_NAT_SNAT                      = 0x0\n\tNFT_NAT_DNAT                      = 0x1\n\tNFTA_NAT_UNSPEC                   = 0x0\n\tNFTA_NAT_TYPE                     = 0x1\n\tNFTA_NAT_FAMILY                   = 0x2\n\tNFTA_NAT_REG_ADDR_MIN             = 0x3\n\tNFTA_NAT_REG_ADDR_MAX             = 0x4\n\tNFTA_NAT_REG_PROTO_MIN            = 0x5\n\tNFTA_NAT_REG_PROTO_MAX            = 0x6\n\tNFTA_NAT_FLAGS                    = 0x7\n\tNFTA_MASQ_UNSPEC                  = 0x0\n\tNFTA_MASQ_FLAGS                   = 0x1\n\tNFTA_MASQ_REG_PROTO_MIN           = 0x2\n\tNFTA_MASQ_REG_PROTO_MAX           = 0x3\n\tNFTA_REDIR_UNSPEC                 = 0x0\n\tNFTA_REDIR_REG_PROTO_MIN          = 0x1\n\tNFTA_REDIR_REG_PROTO_MAX          = 0x2\n\tNFTA_REDIR_FLAGS                  = 0x3\n\tNFTA_DUP_UNSPEC                   = 0x0\n\tNFTA_DUP_SREG_ADDR                = 0x1\n\tNFTA_DUP_SREG_DEV                 = 0x2\n\tNFTA_FWD_UNSPEC                   = 0x0\n\tNFTA_FWD_SREG_DEV                 = 0x1\n\tNFTA_OBJREF_UNSPEC                = 0x0\n\tNFTA_OBJREF_IMM_TYPE              = 0x1\n\tNFTA_OBJREF_IMM_NAME              = 0x2\n\tNFTA_OBJREF_SET_SREG              = 0x3\n\tNFTA_OBJREF_SET_NAME              = 0x4\n\tNFTA_OBJREF_SET_ID                = 0x5\n\tNFTA_GEN_UNSPEC                   = 0x0\n\tNFTA_GEN_ID                       = 0x1\n\tNFTA_GEN_PROC_PID                 = 0x2\n\tNFTA_GEN_PROC_NAME                = 0x3\n\tNFTA_FIB_UNSPEC                   = 0x0\n\tNFTA_FIB_DREG                     = 0x1\n\tNFTA_FIB_RESULT                   = 0x2\n\tNFTA_FIB_FLAGS                    = 0x3\n\tNFT_FIB_RESULT_UNSPEC             = 0x0\n\tNFT_FIB_RESULT_OIF                = 0x1\n\tNFT_FIB_RESULT_OIFNAME            = 0x2\n\tNFT_FIB_RESULT_ADDRTYPE           = 0x3\n\tNFTA_FIB_F_SADDR                  = 0x1\n\tNFTA_FIB_F_DADDR                  = 0x2\n\tNFTA_FIB_F_MARK                   = 0x4\n\tNFTA_FIB_F_IIF                    = 0x8\n\tNFTA_FIB_F_OIF                    = 0x10\n\tNFTA_FIB_F_PRESENT                = 0x20\n\tNFTA_CT_HELPER_UNSPEC             = 0x0\n\tNFTA_CT_HELPER_NAME               = 0x1\n\tNFTA_CT_HELPER_L3PROTO            = 0x2\n\tNFTA_CT_HELPER_L4PROTO            = 0x3\n\tNFTA_OBJ_UNSPEC                   = 0x0\n\tNFTA_OBJ_TABLE                    = 0x1\n\tNFTA_OBJ_NAME                     = 0x2\n\tNFTA_OBJ_TYPE                     = 0x3\n\tNFTA_OBJ_DATA                     = 0x4\n\tNFTA_OBJ_USE                      = 0x5\n\tNFTA_TRACE_UNSPEC                 = 0x0\n\tNFTA_TRACE_TABLE                  = 0x1\n\tNFTA_TRACE_CHAIN                  = 0x2\n\tNFTA_TRACE_RULE_HANDLE            = 0x3\n\tNFTA_TRACE_TYPE                   = 0x4\n\tNFTA_TRACE_VERDICT                = 0x5\n\tNFTA_TRACE_ID                     = 0x6\n\tNFTA_TRACE_LL_HEADER              = 0x7\n\tNFTA_TRACE_NETWORK_HEADER         = 0x8\n\tNFTA_TRACE_TRANSPORT_HEADER       = 0x9\n\tNFTA_TRACE_IIF                    = 0xa\n\tNFTA_TRACE_IIFTYPE                = 0xb\n\tNFTA_TRACE_OIF                    = 0xc\n\tNFTA_TRACE_OIFTYPE                = 0xd\n\tNFTA_TRACE_MARK                   = 0xe\n\tNFTA_TRACE_NFPROTO                = 0xf\n\tNFTA_TRACE_POLICY                 = 0x10\n\tNFTA_TRACE_PAD                    = 0x11\n\tNFT_TRACETYPE_UNSPEC              = 0x0\n\tNFT_TRACETYPE_POLICY              = 0x1\n\tNFT_TRACETYPE_RETURN              = 0x2\n\tNFT_TRACETYPE_RULE                = 0x3\n\tNFTA_NG_UNSPEC                    = 0x0\n\tNFTA_NG_DREG                      = 0x1\n\tNFTA_NG_MODULUS                   = 0x2\n\tNFTA_NG_TYPE                      = 0x3\n\tNFTA_NG_OFFSET                    = 0x4\n\tNFT_NG_INCREMENTAL                = 0x0\n\tNFT_NG_RANDOM                     = 0x1\n)\n\ntype RTCTime struct {\n\tSec   int32\n\tMin   int32\n\tHour  int32\n\tMday  int32\n\tMon   int32\n\tYear  int32\n\tWday  int32\n\tYday  int32\n\tIsdst int32\n}\n\ntype RTCWkAlrm struct {\n\tEnabled uint8\n\tPending uint8\n\t_       [2]byte\n\tTime    RTCTime\n}\n\ntype RTCPLLInfo struct {\n\tCtrl    int32\n\tValue   int32\n\tMax     int32\n\tMin     int32\n\tPosmult int32\n\tNegmult int32\n\tClock   int32\n}\n\ntype BlkpgIoctlArg struct {\n\tOp      int32\n\tFlags   int32\n\tDatalen int32\n\tData    *byte\n}\n\ntype BlkpgPartition struct {\n\tStart   int64\n\tLength  int64\n\tPno     int32\n\tDevname [64]uint8\n\tVolname [64]uint8\n\t_       [4]byte\n}\n\nconst (\n\tBLKPG                  = 0x20001269\n\tBLKPG_ADD_PARTITION    = 0x1\n\tBLKPG_DEL_PARTITION    = 0x2\n\tBLKPG_RESIZE_PARTITION = 0x3\n)\n\nconst (\n\tNETNSA_NONE = 0x0\n\tNETNSA_NSID = 0x1\n\tNETNSA_PID  = 0x2\n\tNETNSA_FD   = 0x3\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go",
    "content": "// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build ppc64,linux\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x8\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x8\n\tsizeofLongLong = 0x8\n\tPathMax        = 0x1000\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int64\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int64\n}\n\ntype Timeval struct {\n\tSec  int64\n\tUsec int64\n}\n\ntype Timex struct {\n\tModes     uint32\n\t_         [4]byte\n\tOffset    int64\n\tFreq      int64\n\tMaxerror  int64\n\tEsterror  int64\n\tStatus    int32\n\t_         [4]byte\n\tConstant  int64\n\tPrecision int64\n\tTolerance int64\n\tTime      Timeval\n\tTick      int64\n\tPpsfreq   int64\n\tJitter    int64\n\tShift     int32\n\t_         [4]byte\n\tStabil    int64\n\tJitcnt    int64\n\tCalcnt    int64\n\tErrcnt    int64\n\tStbcnt    int64\n\tTai       int32\n\t_         [44]byte\n}\n\ntype Time_t int64\n\ntype Tms struct {\n\tUtime  int64\n\tStime  int64\n\tCutime int64\n\tCstime int64\n}\n\ntype Utimbuf struct {\n\tActime  int64\n\tModtime int64\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int64\n\tIxrss    int64\n\tIdrss    int64\n\tIsrss    int64\n\tMinflt   int64\n\tMajflt   int64\n\tNswap    int64\n\tInblock  int64\n\tOublock  int64\n\tMsgsnd   int64\n\tMsgrcv   int64\n\tNsignals int64\n\tNvcsw    int64\n\tNivcsw   int64\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev     uint64\n\tIno     uint64\n\tNlink   uint64\n\tMode    uint32\n\tUid     uint32\n\tGid     uint32\n\t_       int32\n\tRdev    uint64\n\tSize    int64\n\tBlksize int64\n\tBlocks  int64\n\tAtim    Timespec\n\tMtim    Timespec\n\tCtim    Timespec\n\t_       uint64\n\t_       uint64\n\t_       uint64\n}\n\ntype StatxTimestamp struct {\n\tSec  int64\n\tNsec uint32\n\t_    int32\n}\n\ntype Statx_t struct {\n\tMask            uint32\n\tBlksize         uint32\n\tAttributes      uint64\n\tNlink           uint32\n\tUid             uint32\n\tGid             uint32\n\tMode            uint16\n\t_               [1]uint16\n\tIno             uint64\n\tSize            uint64\n\tBlocks          uint64\n\tAttributes_mask uint64\n\tAtime           StatxTimestamp\n\tBtime           StatxTimestamp\n\tCtime           StatxTimestamp\n\tMtime           StatxTimestamp\n\tRdev_major      uint32\n\tRdev_minor      uint32\n\tDev_major       uint32\n\tDev_minor       uint32\n\t_               [14]uint64\n}\n\ntype Dirent struct {\n\tIno    uint64\n\tOff    int64\n\tReclen uint16\n\tType   uint8\n\tName   [256]uint8\n\t_      [5]byte\n}\n\ntype Fsid struct {\n\tVal [2]int32\n}\n\ntype Flock_t struct {\n\tType   int16\n\tWhence int16\n\t_      [4]byte\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\t_      [4]byte\n}\n\ntype FscryptPolicy struct {\n\tVersion                   uint8\n\tContents_encryption_mode  uint8\n\tFilenames_encryption_mode uint8\n\tFlags                     uint8\n\tMaster_key_descriptor     [8]uint8\n}\n\ntype FscryptKey struct {\n\tMode uint32\n\tRaw  [64]uint8\n\tSize uint32\n}\n\ntype KeyctlDHParams struct {\n\tPrivate int32\n\tPrime   int32\n\tBase    int32\n}\n\nconst (\n\tFADV_NORMAL     = 0x0\n\tFADV_RANDOM     = 0x1\n\tFADV_SEQUENTIAL = 0x2\n\tFADV_WILLNEED   = 0x3\n\tFADV_DONTNEED   = 0x4\n\tFADV_NOREUSE    = 0x5\n)\n\ntype RawSockaddrInet4 struct {\n\tFamily uint16\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]uint8\n}\n\ntype RawSockaddrInet6 struct {\n\tFamily   uint16\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tFamily uint16\n\tPath   [108]int8\n}\n\ntype RawSockaddrLinklayer struct {\n\tFamily   uint16\n\tProtocol uint16\n\tIfindex  int32\n\tHatype   uint16\n\tPkttype  uint8\n\tHalen    uint8\n\tAddr     [8]uint8\n}\n\ntype RawSockaddrNetlink struct {\n\tFamily uint16\n\tPad    uint16\n\tPid    uint32\n\tGroups uint32\n}\n\ntype RawSockaddrHCI struct {\n\tFamily  uint16\n\tDev     uint16\n\tChannel uint16\n}\n\ntype RawSockaddrL2 struct {\n\tFamily      uint16\n\tPsm         uint16\n\tBdaddr      [6]uint8\n\tCid         uint16\n\tBdaddr_type uint8\n\t_           [1]byte\n}\n\ntype RawSockaddrRFCOMM struct {\n\tFamily  uint16\n\tBdaddr  [6]uint8\n\tChannel uint8\n\t_       [1]byte\n}\n\ntype RawSockaddrCAN struct {\n\tFamily  uint16\n\t_       [2]byte\n\tIfindex int32\n\tAddr    [8]byte\n}\n\ntype RawSockaddrALG struct {\n\tFamily uint16\n\tType   [14]uint8\n\tFeat   uint32\n\tMask   uint32\n\tName   [64]uint8\n}\n\ntype RawSockaddrVM struct {\n\tFamily    uint16\n\tReserved1 uint16\n\tPort      uint32\n\tCid       uint32\n\tZero      [4]uint8\n}\n\ntype RawSockaddr struct {\n\tFamily uint16\n\tData   [14]uint8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [96]uint8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint64\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPMreqn struct {\n\tMultiaddr [4]byte /* in_addr */\n\tAddress   [4]byte /* in_addr */\n\tIfindex   int32\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype PacketMreq struct {\n\tIfindex int32\n\tType    uint16\n\tAlen    uint16\n\tAddress [8]uint8\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\t_          [4]byte\n\tIov        *Iovec\n\tIovlen     uint64\n\tControl    *byte\n\tControllen uint64\n\tFlags      int32\n\t_          [4]byte\n}\n\ntype Cmsghdr struct {\n\tLen   uint64\n\tLevel int32\n\tType  int32\n}\n\ntype Inet4Pktinfo struct {\n\tIfindex  int32\n\tSpec_dst [4]byte /* in_addr */\n\tAddr     [4]byte /* in_addr */\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tData [8]uint32\n}\n\ntype Ucred struct {\n\tPid int32\n\tUid uint32\n\tGid uint32\n}\n\ntype TCPInfo struct {\n\tState          uint8\n\tCa_state       uint8\n\tRetransmits    uint8\n\tProbes         uint8\n\tBackoff        uint8\n\tOptions        uint8\n\t_              [2]byte\n\tRto            uint32\n\tAto            uint32\n\tSnd_mss        uint32\n\tRcv_mss        uint32\n\tUnacked        uint32\n\tSacked         uint32\n\tLost           uint32\n\tRetrans        uint32\n\tFackets        uint32\n\tLast_data_sent uint32\n\tLast_ack_sent  uint32\n\tLast_data_recv uint32\n\tLast_ack_recv  uint32\n\tPmtu           uint32\n\tRcv_ssthresh   uint32\n\tRtt            uint32\n\tRttvar         uint32\n\tSnd_ssthresh   uint32\n\tSnd_cwnd       uint32\n\tAdvmss         uint32\n\tReordering     uint32\n\tRcv_rtt        uint32\n\tRcv_space      uint32\n\tTotal_retrans  uint32\n}\n\nconst (\n\tSizeofSockaddrInet4     = 0x10\n\tSizeofSockaddrInet6     = 0x1c\n\tSizeofSockaddrAny       = 0x70\n\tSizeofSockaddrUnix      = 0x6e\n\tSizeofSockaddrLinklayer = 0x14\n\tSizeofSockaddrNetlink   = 0xc\n\tSizeofSockaddrHCI       = 0x6\n\tSizeofSockaddrL2        = 0xe\n\tSizeofSockaddrRFCOMM    = 0xa\n\tSizeofSockaddrCAN       = 0x10\n\tSizeofSockaddrALG       = 0x58\n\tSizeofSockaddrVM        = 0x10\n\tSizeofLinger            = 0x8\n\tSizeofIovec             = 0x10\n\tSizeofIPMreq            = 0x8\n\tSizeofIPMreqn           = 0xc\n\tSizeofIPv6Mreq          = 0x14\n\tSizeofPacketMreq        = 0x10\n\tSizeofMsghdr            = 0x38\n\tSizeofCmsghdr           = 0x10\n\tSizeofInet4Pktinfo      = 0xc\n\tSizeofInet6Pktinfo      = 0x14\n\tSizeofIPv6MTUInfo       = 0x20\n\tSizeofICMPv6Filter      = 0x20\n\tSizeofUcred             = 0xc\n\tSizeofTCPInfo           = 0x68\n)\n\nconst (\n\tIFA_UNSPEC           = 0x0\n\tIFA_ADDRESS          = 0x1\n\tIFA_LOCAL            = 0x2\n\tIFA_LABEL            = 0x3\n\tIFA_BROADCAST        = 0x4\n\tIFA_ANYCAST          = 0x5\n\tIFA_CACHEINFO        = 0x6\n\tIFA_MULTICAST        = 0x7\n\tIFLA_UNSPEC          = 0x0\n\tIFLA_ADDRESS         = 0x1\n\tIFLA_BROADCAST       = 0x2\n\tIFLA_IFNAME          = 0x3\n\tIFLA_INFO_KIND       = 0x1\n\tIFLA_MTU             = 0x4\n\tIFLA_LINK            = 0x5\n\tIFLA_QDISC           = 0x6\n\tIFLA_STATS           = 0x7\n\tIFLA_COST            = 0x8\n\tIFLA_PRIORITY        = 0x9\n\tIFLA_MASTER          = 0xa\n\tIFLA_WIRELESS        = 0xb\n\tIFLA_PROTINFO        = 0xc\n\tIFLA_TXQLEN          = 0xd\n\tIFLA_MAP             = 0xe\n\tIFLA_WEIGHT          = 0xf\n\tIFLA_OPERSTATE       = 0x10\n\tIFLA_LINKMODE        = 0x11\n\tIFLA_LINKINFO        = 0x12\n\tIFLA_NET_NS_PID      = 0x13\n\tIFLA_IFALIAS         = 0x14\n\tIFLA_NUM_VF          = 0x15\n\tIFLA_VFINFO_LIST     = 0x16\n\tIFLA_STATS64         = 0x17\n\tIFLA_VF_PORTS        = 0x18\n\tIFLA_PORT_SELF       = 0x19\n\tIFLA_AF_SPEC         = 0x1a\n\tIFLA_GROUP           = 0x1b\n\tIFLA_NET_NS_FD       = 0x1c\n\tIFLA_EXT_MASK        = 0x1d\n\tIFLA_PROMISCUITY     = 0x1e\n\tIFLA_NUM_TX_QUEUES   = 0x1f\n\tIFLA_NUM_RX_QUEUES   = 0x20\n\tIFLA_CARRIER         = 0x21\n\tIFLA_PHYS_PORT_ID    = 0x22\n\tIFLA_CARRIER_CHANGES = 0x23\n\tIFLA_PHYS_SWITCH_ID  = 0x24\n\tIFLA_LINK_NETNSID    = 0x25\n\tIFLA_PHYS_PORT_NAME  = 0x26\n\tIFLA_PROTO_DOWN      = 0x27\n\tIFLA_GSO_MAX_SEGS    = 0x28\n\tIFLA_GSO_MAX_SIZE    = 0x29\n\tIFLA_PAD             = 0x2a\n\tIFLA_XDP             = 0x2b\n\tIFLA_EVENT           = 0x2c\n\tIFLA_NEW_NETNSID     = 0x2d\n\tIFLA_IF_NETNSID      = 0x2e\n\tIFLA_MAX             = 0x31\n\tRT_SCOPE_UNIVERSE    = 0x0\n\tRT_SCOPE_SITE        = 0xc8\n\tRT_SCOPE_LINK        = 0xfd\n\tRT_SCOPE_HOST        = 0xfe\n\tRT_SCOPE_NOWHERE     = 0xff\n\tRT_TABLE_UNSPEC      = 0x0\n\tRT_TABLE_COMPAT      = 0xfc\n\tRT_TABLE_DEFAULT     = 0xfd\n\tRT_TABLE_MAIN        = 0xfe\n\tRT_TABLE_LOCAL       = 0xff\n\tRT_TABLE_MAX         = 0xffffffff\n\tRTA_UNSPEC           = 0x0\n\tRTA_DST              = 0x1\n\tRTA_SRC              = 0x2\n\tRTA_IIF              = 0x3\n\tRTA_OIF              = 0x4\n\tRTA_GATEWAY          = 0x5\n\tRTA_PRIORITY         = 0x6\n\tRTA_PREFSRC          = 0x7\n\tRTA_METRICS          = 0x8\n\tRTA_MULTIPATH        = 0x9\n\tRTA_FLOW             = 0xb\n\tRTA_CACHEINFO        = 0xc\n\tRTA_TABLE            = 0xf\n\tRTN_UNSPEC           = 0x0\n\tRTN_UNICAST          = 0x1\n\tRTN_LOCAL            = 0x2\n\tRTN_BROADCAST        = 0x3\n\tRTN_ANYCAST          = 0x4\n\tRTN_MULTICAST        = 0x5\n\tRTN_BLACKHOLE        = 0x6\n\tRTN_UNREACHABLE      = 0x7\n\tRTN_PROHIBIT         = 0x8\n\tRTN_THROW            = 0x9\n\tRTN_NAT              = 0xa\n\tRTN_XRESOLVE         = 0xb\n\tRTNLGRP_NONE         = 0x0\n\tRTNLGRP_LINK         = 0x1\n\tRTNLGRP_NOTIFY       = 0x2\n\tRTNLGRP_NEIGH        = 0x3\n\tRTNLGRP_TC           = 0x4\n\tRTNLGRP_IPV4_IFADDR  = 0x5\n\tRTNLGRP_IPV4_MROUTE  = 0x6\n\tRTNLGRP_IPV4_ROUTE   = 0x7\n\tRTNLGRP_IPV4_RULE    = 0x8\n\tRTNLGRP_IPV6_IFADDR  = 0x9\n\tRTNLGRP_IPV6_MROUTE  = 0xa\n\tRTNLGRP_IPV6_ROUTE   = 0xb\n\tRTNLGRP_IPV6_IFINFO  = 0xc\n\tRTNLGRP_IPV6_PREFIX  = 0x12\n\tRTNLGRP_IPV6_RULE    = 0x13\n\tRTNLGRP_ND_USEROPT   = 0x14\n\tSizeofNlMsghdr       = 0x10\n\tSizeofNlMsgerr       = 0x14\n\tSizeofRtGenmsg       = 0x1\n\tSizeofNlAttr         = 0x4\n\tSizeofRtAttr         = 0x4\n\tSizeofIfInfomsg      = 0x10\n\tSizeofIfAddrmsg      = 0x8\n\tSizeofRtMsg          = 0xc\n\tSizeofRtNexthop      = 0x8\n)\n\ntype NlMsghdr struct {\n\tLen   uint32\n\tType  uint16\n\tFlags uint16\n\tSeq   uint32\n\tPid   uint32\n}\n\ntype NlMsgerr struct {\n\tError int32\n\tMsg   NlMsghdr\n}\n\ntype RtGenmsg struct {\n\tFamily uint8\n}\n\ntype NlAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype RtAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype IfInfomsg struct {\n\tFamily uint8\n\t_      uint8\n\tType   uint16\n\tIndex  int32\n\tFlags  uint32\n\tChange uint32\n}\n\ntype IfAddrmsg struct {\n\tFamily    uint8\n\tPrefixlen uint8\n\tFlags     uint8\n\tScope     uint8\n\tIndex     uint32\n}\n\ntype RtMsg struct {\n\tFamily   uint8\n\tDst_len  uint8\n\tSrc_len  uint8\n\tTos      uint8\n\tTable    uint8\n\tProtocol uint8\n\tScope    uint8\n\tType     uint8\n\tFlags    uint32\n}\n\ntype RtNexthop struct {\n\tLen     uint16\n\tFlags   uint8\n\tHops    uint8\n\tIfindex int32\n}\n\nconst (\n\tSizeofSockFilter = 0x8\n\tSizeofSockFprog  = 0x10\n)\n\ntype SockFilter struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype SockFprog struct {\n\tLen    uint16\n\t_      [6]byte\n\tFilter *SockFilter\n}\n\ntype InotifyEvent struct {\n\tWd     int32\n\tMask   uint32\n\tCookie uint32\n\tLen    uint32\n}\n\nconst SizeofInotifyEvent = 0x10\n\ntype PtraceRegs struct {\n\tGpr       [32]uint64\n\tNip       uint64\n\tMsr       uint64\n\tOrig_gpr3 uint64\n\tCtr       uint64\n\tLink      uint64\n\tXer       uint64\n\tCcr       uint64\n\tSofte     uint64\n\tTrap      uint64\n\tDar       uint64\n\tDsisr     uint64\n\tResult    uint64\n}\n\ntype FdSet struct {\n\tBits [16]int64\n}\n\ntype Sysinfo_t struct {\n\tUptime    int64\n\tLoads     [3]uint64\n\tTotalram  uint64\n\tFreeram   uint64\n\tSharedram uint64\n\tBufferram uint64\n\tTotalswap uint64\n\tFreeswap  uint64\n\tProcs     uint16\n\tPad       uint16\n\t_         [4]byte\n\tTotalhigh uint64\n\tFreehigh  uint64\n\tUnit      uint32\n\t_         [0]uint8\n\t_         [4]byte\n}\n\ntype Utsname struct {\n\tSysname    [65]byte\n\tNodename   [65]byte\n\tRelease    [65]byte\n\tVersion    [65]byte\n\tMachine    [65]byte\n\tDomainname [65]byte\n}\n\ntype Ustat_t struct {\n\tTfree  int32\n\t_      [4]byte\n\tTinode uint64\n\tFname  [6]uint8\n\tFpack  [6]uint8\n\t_      [4]byte\n}\n\ntype EpollEvent struct {\n\tEvents uint32\n\t_      int32\n\tFd     int32\n\tPad    int32\n}\n\nconst (\n\tAT_EMPTY_PATH   = 0x1000\n\tAT_FDCWD        = -0x64\n\tAT_NO_AUTOMOUNT = 0x800\n\tAT_REMOVEDIR    = 0x200\n\n\tAT_STATX_SYNC_AS_STAT = 0x0\n\tAT_STATX_FORCE_SYNC   = 0x2000\n\tAT_STATX_DONT_SYNC    = 0x4000\n\n\tAT_SYMLINK_FOLLOW   = 0x400\n\tAT_SYMLINK_NOFOLLOW = 0x100\n\n\tAT_EACCESS = 0x200\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLIN    = 0x1\n\tPOLLPRI   = 0x2\n\tPOLLOUT   = 0x4\n\tPOLLRDHUP = 0x2000\n\tPOLLERR   = 0x8\n\tPOLLHUP   = 0x10\n\tPOLLNVAL  = 0x20\n)\n\ntype Sigset_t struct {\n\tVal [16]uint64\n}\n\nconst RNDGETENTCNT = 0x40045200\n\nconst PERF_IOC_FLAG_GROUP = 0x1\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tCc     [19]uint8\n\tLine   uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\ntype Taskstats struct {\n\tVersion                   uint16\n\t_                         [2]byte\n\tAc_exitcode               uint32\n\tAc_flag                   uint8\n\tAc_nice                   uint8\n\t_                         [6]byte\n\tCpu_count                 uint64\n\tCpu_delay_total           uint64\n\tBlkio_count               uint64\n\tBlkio_delay_total         uint64\n\tSwapin_count              uint64\n\tSwapin_delay_total        uint64\n\tCpu_run_real_total        uint64\n\tCpu_run_virtual_total     uint64\n\tAc_comm                   [32]uint8\n\tAc_sched                  uint8\n\tAc_pad                    [3]uint8\n\t_                         [4]byte\n\tAc_uid                    uint32\n\tAc_gid                    uint32\n\tAc_pid                    uint32\n\tAc_ppid                   uint32\n\tAc_btime                  uint32\n\t_                         [4]byte\n\tAc_etime                  uint64\n\tAc_utime                  uint64\n\tAc_stime                  uint64\n\tAc_minflt                 uint64\n\tAc_majflt                 uint64\n\tCoremem                   uint64\n\tVirtmem                   uint64\n\tHiwater_rss               uint64\n\tHiwater_vm                uint64\n\tRead_char                 uint64\n\tWrite_char                uint64\n\tRead_syscalls             uint64\n\tWrite_syscalls            uint64\n\tRead_bytes                uint64\n\tWrite_bytes               uint64\n\tCancelled_write_bytes     uint64\n\tNvcsw                     uint64\n\tNivcsw                    uint64\n\tAc_utimescaled            uint64\n\tAc_stimescaled            uint64\n\tCpu_scaled_run_real_total uint64\n\tFreepages_count           uint64\n\tFreepages_delay_total     uint64\n}\n\nconst (\n\tTASKSTATS_CMD_UNSPEC                  = 0x0\n\tTASKSTATS_CMD_GET                     = 0x1\n\tTASKSTATS_CMD_NEW                     = 0x2\n\tTASKSTATS_TYPE_UNSPEC                 = 0x0\n\tTASKSTATS_TYPE_PID                    = 0x1\n\tTASKSTATS_TYPE_TGID                   = 0x2\n\tTASKSTATS_TYPE_STATS                  = 0x3\n\tTASKSTATS_TYPE_AGGR_PID               = 0x4\n\tTASKSTATS_TYPE_AGGR_TGID              = 0x5\n\tTASKSTATS_TYPE_NULL                   = 0x6\n\tTASKSTATS_CMD_ATTR_UNSPEC             = 0x0\n\tTASKSTATS_CMD_ATTR_PID                = 0x1\n\tTASKSTATS_CMD_ATTR_TGID               = 0x2\n\tTASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3\n\tTASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4\n)\n\ntype CGroupStats struct {\n\tSleeping        uint64\n\tRunning         uint64\n\tStopped         uint64\n\tUninterruptible uint64\n\tIo_wait         uint64\n}\n\nconst (\n\tCGROUPSTATS_CMD_UNSPEC        = 0x3\n\tCGROUPSTATS_CMD_GET           = 0x4\n\tCGROUPSTATS_CMD_NEW           = 0x5\n\tCGROUPSTATS_TYPE_UNSPEC       = 0x0\n\tCGROUPSTATS_TYPE_CGROUP_STATS = 0x1\n\tCGROUPSTATS_CMD_ATTR_UNSPEC   = 0x0\n\tCGROUPSTATS_CMD_ATTR_FD       = 0x1\n)\n\ntype Genlmsghdr struct {\n\tCmd      uint8\n\tVersion  uint8\n\tReserved uint16\n}\n\nconst (\n\tCTRL_CMD_UNSPEC            = 0x0\n\tCTRL_CMD_NEWFAMILY         = 0x1\n\tCTRL_CMD_DELFAMILY         = 0x2\n\tCTRL_CMD_GETFAMILY         = 0x3\n\tCTRL_CMD_NEWOPS            = 0x4\n\tCTRL_CMD_DELOPS            = 0x5\n\tCTRL_CMD_GETOPS            = 0x6\n\tCTRL_CMD_NEWMCAST_GRP      = 0x7\n\tCTRL_CMD_DELMCAST_GRP      = 0x8\n\tCTRL_CMD_GETMCAST_GRP      = 0x9\n\tCTRL_ATTR_UNSPEC           = 0x0\n\tCTRL_ATTR_FAMILY_ID        = 0x1\n\tCTRL_ATTR_FAMILY_NAME      = 0x2\n\tCTRL_ATTR_VERSION          = 0x3\n\tCTRL_ATTR_HDRSIZE          = 0x4\n\tCTRL_ATTR_MAXATTR          = 0x5\n\tCTRL_ATTR_OPS              = 0x6\n\tCTRL_ATTR_MCAST_GROUPS     = 0x7\n\tCTRL_ATTR_OP_UNSPEC        = 0x0\n\tCTRL_ATTR_OP_ID            = 0x1\n\tCTRL_ATTR_OP_FLAGS         = 0x2\n\tCTRL_ATTR_MCAST_GRP_UNSPEC = 0x0\n\tCTRL_ATTR_MCAST_GRP_NAME   = 0x1\n\tCTRL_ATTR_MCAST_GRP_ID     = 0x2\n)\n\ntype cpuMask uint64\n\nconst (\n\t_CPU_SETSIZE = 0x400\n\t_NCPUBITS    = 0x40\n)\n\nconst (\n\tBDADDR_BREDR     = 0x0\n\tBDADDR_LE_PUBLIC = 0x1\n\tBDADDR_LE_RANDOM = 0x2\n)\n\ntype PerfEventAttr struct {\n\tType               uint32\n\tSize               uint32\n\tConfig             uint64\n\tSample             uint64\n\tSample_type        uint64\n\tRead_format        uint64\n\tBits               uint64\n\tWakeup             uint32\n\tBp_type            uint32\n\tExt1               uint64\n\tExt2               uint64\n\tBranch_sample_type uint64\n\tSample_regs_user   uint64\n\tSample_stack_user  uint32\n\tClockid            int32\n\tSample_regs_intr   uint64\n\tAux_watermark      uint32\n\t_                  uint32\n}\n\ntype PerfEventMmapPage struct {\n\tVersion        uint32\n\tCompat_version uint32\n\tLock           uint32\n\tIndex          uint32\n\tOffset         int64\n\tTime_enabled   uint64\n\tTime_running   uint64\n\tCapabilities   uint64\n\tPmc_width      uint16\n\tTime_shift     uint16\n\tTime_mult      uint32\n\tTime_offset    uint64\n\tTime_zero      uint64\n\tSize           uint32\n\t_              [948]uint8\n\tData_head      uint64\n\tData_tail      uint64\n\tData_offset    uint64\n\tData_size      uint64\n\tAux_head       uint64\n\tAux_tail       uint64\n\tAux_offset     uint64\n\tAux_size       uint64\n}\n\nconst (\n\tPerfBitDisabled               uint64 = CBitFieldMaskBit0\n\tPerfBitInherit                       = CBitFieldMaskBit1\n\tPerfBitPinned                        = CBitFieldMaskBit2\n\tPerfBitExclusive                     = CBitFieldMaskBit3\n\tPerfBitExcludeUser                   = CBitFieldMaskBit4\n\tPerfBitExcludeKernel                 = CBitFieldMaskBit5\n\tPerfBitExcludeHv                     = CBitFieldMaskBit6\n\tPerfBitExcludeIdle                   = CBitFieldMaskBit7\n\tPerfBitMmap                          = CBitFieldMaskBit8\n\tPerfBitComm                          = CBitFieldMaskBit9\n\tPerfBitFreq                          = CBitFieldMaskBit10\n\tPerfBitInheritStat                   = CBitFieldMaskBit11\n\tPerfBitEnableOnExec                  = CBitFieldMaskBit12\n\tPerfBitTask                          = CBitFieldMaskBit13\n\tPerfBitWatermark                     = CBitFieldMaskBit14\n\tPerfBitPreciseIPBit1                 = CBitFieldMaskBit15\n\tPerfBitPreciseIPBit2                 = CBitFieldMaskBit16\n\tPerfBitMmapData                      = CBitFieldMaskBit17\n\tPerfBitSampleIDAll                   = CBitFieldMaskBit18\n\tPerfBitExcludeHost                   = CBitFieldMaskBit19\n\tPerfBitExcludeGuest                  = CBitFieldMaskBit20\n\tPerfBitExcludeCallchainKernel        = CBitFieldMaskBit21\n\tPerfBitExcludeCallchainUser          = CBitFieldMaskBit22\n\tPerfBitMmap2                         = CBitFieldMaskBit23\n\tPerfBitCommExec                      = CBitFieldMaskBit24\n\tPerfBitUseClockID                    = CBitFieldMaskBit25\n\tPerfBitContextSwitch                 = CBitFieldMaskBit26\n)\n\nconst (\n\tPERF_TYPE_HARDWARE   = 0x0\n\tPERF_TYPE_SOFTWARE   = 0x1\n\tPERF_TYPE_TRACEPOINT = 0x2\n\tPERF_TYPE_HW_CACHE   = 0x3\n\tPERF_TYPE_RAW        = 0x4\n\tPERF_TYPE_BREAKPOINT = 0x5\n\n\tPERF_COUNT_HW_CPU_CYCLES              = 0x0\n\tPERF_COUNT_HW_INSTRUCTIONS            = 0x1\n\tPERF_COUNT_HW_CACHE_REFERENCES        = 0x2\n\tPERF_COUNT_HW_CACHE_MISSES            = 0x3\n\tPERF_COUNT_HW_BRANCH_INSTRUCTIONS     = 0x4\n\tPERF_COUNT_HW_BRANCH_MISSES           = 0x5\n\tPERF_COUNT_HW_BUS_CYCLES              = 0x6\n\tPERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7\n\tPERF_COUNT_HW_STALLED_CYCLES_BACKEND  = 0x8\n\tPERF_COUNT_HW_REF_CPU_CYCLES          = 0x9\n\n\tPERF_COUNT_HW_CACHE_L1D  = 0x0\n\tPERF_COUNT_HW_CACHE_L1I  = 0x1\n\tPERF_COUNT_HW_CACHE_LL   = 0x2\n\tPERF_COUNT_HW_CACHE_DTLB = 0x3\n\tPERF_COUNT_HW_CACHE_ITLB = 0x4\n\tPERF_COUNT_HW_CACHE_BPU  = 0x5\n\tPERF_COUNT_HW_CACHE_NODE = 0x6\n\n\tPERF_COUNT_HW_CACHE_OP_READ     = 0x0\n\tPERF_COUNT_HW_CACHE_OP_WRITE    = 0x1\n\tPERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2\n\n\tPERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0\n\tPERF_COUNT_HW_CACHE_RESULT_MISS   = 0x1\n\n\tPERF_COUNT_SW_CPU_CLOCK        = 0x0\n\tPERF_COUNT_SW_TASK_CLOCK       = 0x1\n\tPERF_COUNT_SW_PAGE_FAULTS      = 0x2\n\tPERF_COUNT_SW_CONTEXT_SWITCHES = 0x3\n\tPERF_COUNT_SW_CPU_MIGRATIONS   = 0x4\n\tPERF_COUNT_SW_PAGE_FAULTS_MIN  = 0x5\n\tPERF_COUNT_SW_PAGE_FAULTS_MAJ  = 0x6\n\tPERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7\n\tPERF_COUNT_SW_EMULATION_FAULTS = 0x8\n\tPERF_COUNT_SW_DUMMY            = 0x9\n\n\tPERF_SAMPLE_IP           = 0x1\n\tPERF_SAMPLE_TID          = 0x2\n\tPERF_SAMPLE_TIME         = 0x4\n\tPERF_SAMPLE_ADDR         = 0x8\n\tPERF_SAMPLE_READ         = 0x10\n\tPERF_SAMPLE_CALLCHAIN    = 0x20\n\tPERF_SAMPLE_ID           = 0x40\n\tPERF_SAMPLE_CPU          = 0x80\n\tPERF_SAMPLE_PERIOD       = 0x100\n\tPERF_SAMPLE_STREAM_ID    = 0x200\n\tPERF_SAMPLE_RAW          = 0x400\n\tPERF_SAMPLE_BRANCH_STACK = 0x800\n\n\tPERF_SAMPLE_BRANCH_USER       = 0x1\n\tPERF_SAMPLE_BRANCH_KERNEL     = 0x2\n\tPERF_SAMPLE_BRANCH_HV         = 0x4\n\tPERF_SAMPLE_BRANCH_ANY        = 0x8\n\tPERF_SAMPLE_BRANCH_ANY_CALL   = 0x10\n\tPERF_SAMPLE_BRANCH_ANY_RETURN = 0x20\n\tPERF_SAMPLE_BRANCH_IND_CALL   = 0x40\n\n\tPERF_FORMAT_TOTAL_TIME_ENABLED = 0x1\n\tPERF_FORMAT_TOTAL_TIME_RUNNING = 0x2\n\tPERF_FORMAT_ID                 = 0x4\n\tPERF_FORMAT_GROUP              = 0x8\n\n\tPERF_RECORD_MMAP       = 0x1\n\tPERF_RECORD_LOST       = 0x2\n\tPERF_RECORD_COMM       = 0x3\n\tPERF_RECORD_EXIT       = 0x4\n\tPERF_RECORD_THROTTLE   = 0x5\n\tPERF_RECORD_UNTHROTTLE = 0x6\n\tPERF_RECORD_FORK       = 0x7\n\tPERF_RECORD_READ       = 0x8\n\tPERF_RECORD_SAMPLE     = 0x9\n\n\tPERF_CONTEXT_HV     = -0x20\n\tPERF_CONTEXT_KERNEL = -0x80\n\tPERF_CONTEXT_USER   = -0x200\n\n\tPERF_CONTEXT_GUEST        = -0x800\n\tPERF_CONTEXT_GUEST_KERNEL = -0x880\n\tPERF_CONTEXT_GUEST_USER   = -0xa00\n\n\tPERF_FLAG_FD_NO_GROUP = 0x1\n\tPERF_FLAG_FD_OUTPUT   = 0x2\n\tPERF_FLAG_PID_CGROUP  = 0x4\n)\n\nconst (\n\tCBitFieldMaskBit0  = 0x8000000000000000\n\tCBitFieldMaskBit1  = 0x4000000000000000\n\tCBitFieldMaskBit2  = 0x2000000000000000\n\tCBitFieldMaskBit3  = 0x1000000000000000\n\tCBitFieldMaskBit4  = 0x800000000000000\n\tCBitFieldMaskBit5  = 0x400000000000000\n\tCBitFieldMaskBit6  = 0x200000000000000\n\tCBitFieldMaskBit7  = 0x100000000000000\n\tCBitFieldMaskBit8  = 0x80000000000000\n\tCBitFieldMaskBit9  = 0x40000000000000\n\tCBitFieldMaskBit10 = 0x20000000000000\n\tCBitFieldMaskBit11 = 0x10000000000000\n\tCBitFieldMaskBit12 = 0x8000000000000\n\tCBitFieldMaskBit13 = 0x4000000000000\n\tCBitFieldMaskBit14 = 0x2000000000000\n\tCBitFieldMaskBit15 = 0x1000000000000\n\tCBitFieldMaskBit16 = 0x800000000000\n\tCBitFieldMaskBit17 = 0x400000000000\n\tCBitFieldMaskBit18 = 0x200000000000\n\tCBitFieldMaskBit19 = 0x100000000000\n\tCBitFieldMaskBit20 = 0x80000000000\n\tCBitFieldMaskBit21 = 0x40000000000\n\tCBitFieldMaskBit22 = 0x20000000000\n\tCBitFieldMaskBit23 = 0x10000000000\n\tCBitFieldMaskBit24 = 0x8000000000\n\tCBitFieldMaskBit25 = 0x4000000000\n\tCBitFieldMaskBit26 = 0x2000000000\n\tCBitFieldMaskBit27 = 0x1000000000\n\tCBitFieldMaskBit28 = 0x800000000\n\tCBitFieldMaskBit29 = 0x400000000\n\tCBitFieldMaskBit30 = 0x200000000\n\tCBitFieldMaskBit31 = 0x100000000\n\tCBitFieldMaskBit32 = 0x80000000\n\tCBitFieldMaskBit33 = 0x40000000\n\tCBitFieldMaskBit34 = 0x20000000\n\tCBitFieldMaskBit35 = 0x10000000\n\tCBitFieldMaskBit36 = 0x8000000\n\tCBitFieldMaskBit37 = 0x4000000\n\tCBitFieldMaskBit38 = 0x2000000\n\tCBitFieldMaskBit39 = 0x1000000\n\tCBitFieldMaskBit40 = 0x800000\n\tCBitFieldMaskBit41 = 0x400000\n\tCBitFieldMaskBit42 = 0x200000\n\tCBitFieldMaskBit43 = 0x100000\n\tCBitFieldMaskBit44 = 0x80000\n\tCBitFieldMaskBit45 = 0x40000\n\tCBitFieldMaskBit46 = 0x20000\n\tCBitFieldMaskBit47 = 0x10000\n\tCBitFieldMaskBit48 = 0x8000\n\tCBitFieldMaskBit49 = 0x4000\n\tCBitFieldMaskBit50 = 0x2000\n\tCBitFieldMaskBit51 = 0x1000\n\tCBitFieldMaskBit52 = 0x800\n\tCBitFieldMaskBit53 = 0x400\n\tCBitFieldMaskBit54 = 0x200\n\tCBitFieldMaskBit55 = 0x100\n\tCBitFieldMaskBit56 = 0x80\n\tCBitFieldMaskBit57 = 0x40\n\tCBitFieldMaskBit58 = 0x20\n\tCBitFieldMaskBit59 = 0x10\n\tCBitFieldMaskBit60 = 0x8\n\tCBitFieldMaskBit61 = 0x4\n\tCBitFieldMaskBit62 = 0x2\n\tCBitFieldMaskBit63 = 0x1\n)\n\ntype SockaddrStorage struct {\n\tFamily uint16\n\t_      [118]uint8\n\t_      uint64\n}\n\ntype TCPMD5Sig struct {\n\tAddr      SockaddrStorage\n\tFlags     uint8\n\tPrefixlen uint8\n\tKeylen    uint16\n\t_         uint32\n\tKey       [80]uint8\n}\n\ntype HDDriveCmdHdr struct {\n\tCommand uint8\n\tNumber  uint8\n\tFeature uint8\n\tCount   uint8\n}\n\ntype HDGeometry struct {\n\tHeads     uint8\n\tSectors   uint8\n\tCylinders uint16\n\t_         [4]byte\n\tStart     uint64\n}\n\ntype HDDriveID struct {\n\tConfig         uint16\n\tCyls           uint16\n\tReserved2      uint16\n\tHeads          uint16\n\tTrack_bytes    uint16\n\tSector_bytes   uint16\n\tSectors        uint16\n\tVendor0        uint16\n\tVendor1        uint16\n\tVendor2        uint16\n\tSerial_no      [20]uint8\n\tBuf_type       uint16\n\tBuf_size       uint16\n\tEcc_bytes      uint16\n\tFw_rev         [8]uint8\n\tModel          [40]uint8\n\tMax_multsect   uint8\n\tVendor3        uint8\n\tDword_io       uint16\n\tVendor4        uint8\n\tCapability     uint8\n\tReserved50     uint16\n\tVendor5        uint8\n\tTPIO           uint8\n\tVendor6        uint8\n\tTDMA           uint8\n\tField_valid    uint16\n\tCur_cyls       uint16\n\tCur_heads      uint16\n\tCur_sectors    uint16\n\tCur_capacity0  uint16\n\tCur_capacity1  uint16\n\tMultsect       uint8\n\tMultsect_valid uint8\n\tLba_capacity   uint32\n\tDma_1word      uint16\n\tDma_mword      uint16\n\tEide_pio_modes uint16\n\tEide_dma_min   uint16\n\tEide_dma_time  uint16\n\tEide_pio       uint16\n\tEide_pio_iordy uint16\n\tWords69_70     [2]uint16\n\tWords71_74     [4]uint16\n\tQueue_depth    uint16\n\tWords76_79     [4]uint16\n\tMajor_rev_num  uint16\n\tMinor_rev_num  uint16\n\tCommand_set_1  uint16\n\tCommand_set_2  uint16\n\tCfsse          uint16\n\tCfs_enable_1   uint16\n\tCfs_enable_2   uint16\n\tCsf_default    uint16\n\tDma_ultra      uint16\n\tTrseuc         uint16\n\tTrsEuc         uint16\n\tCurAPMvalues   uint16\n\tMprc           uint16\n\tHw_config      uint16\n\tAcoustic       uint16\n\tMsrqs          uint16\n\tSxfert         uint16\n\tSal            uint16\n\tSpg            uint32\n\tLba_capacity_2 uint64\n\tWords104_125   [22]uint16\n\tLast_lun       uint16\n\tWord127        uint16\n\tDlf            uint16\n\tCsfo           uint16\n\tWords130_155   [26]uint16\n\tWord156        uint16\n\tWords157_159   [3]uint16\n\tCfa_power      uint16\n\tWords161_175   [15]uint16\n\tWords176_205   [30]uint16\n\tWords206_254   [49]uint16\n\tIntegrity_word uint16\n}\n\ntype Statfs_t struct {\n\tType    int64\n\tBsize   int64\n\tBlocks  uint64\n\tBfree   uint64\n\tBavail  uint64\n\tFiles   uint64\n\tFfree   uint64\n\tFsid    Fsid\n\tNamelen int64\n\tFrsize  int64\n\tFlags   int64\n\tSpare   [4]int64\n}\n\nconst (\n\tST_MANDLOCK    = 0x40\n\tST_NOATIME     = 0x400\n\tST_NODEV       = 0x4\n\tST_NODIRATIME  = 0x800\n\tST_NOEXEC      = 0x8\n\tST_NOSUID      = 0x2\n\tST_RDONLY      = 0x1\n\tST_RELATIME    = 0x1000\n\tST_SYNCHRONOUS = 0x10\n)\n\ntype TpacketHdr struct {\n\tStatus  uint64\n\tLen     uint32\n\tSnaplen uint32\n\tMac     uint16\n\tNet     uint16\n\tSec     uint32\n\tUsec    uint32\n\t_       [4]byte\n}\n\ntype Tpacket2Hdr struct {\n\tStatus    uint32\n\tLen       uint32\n\tSnaplen   uint32\n\tMac       uint16\n\tNet       uint16\n\tSec       uint32\n\tNsec      uint32\n\tVlan_tci  uint16\n\tVlan_tpid uint16\n\t_         [4]uint8\n}\n\ntype Tpacket3Hdr struct {\n\tNext_offset uint32\n\tSec         uint32\n\tNsec        uint32\n\tSnaplen     uint32\n\tLen         uint32\n\tStatus      uint32\n\tMac         uint16\n\tNet         uint16\n\tHv1         TpacketHdrVariant1\n\t_           [8]uint8\n}\n\ntype TpacketHdrVariant1 struct {\n\tRxhash    uint32\n\tVlan_tci  uint32\n\tVlan_tpid uint16\n\t_         uint16\n}\n\ntype TpacketBlockDesc struct {\n\tVersion uint32\n\tTo_priv uint32\n\tHdr     [40]byte\n}\n\ntype TpacketReq struct {\n\tBlock_size uint32\n\tBlock_nr   uint32\n\tFrame_size uint32\n\tFrame_nr   uint32\n}\n\ntype TpacketReq3 struct {\n\tBlock_size       uint32\n\tBlock_nr         uint32\n\tFrame_size       uint32\n\tFrame_nr         uint32\n\tRetire_blk_tov   uint32\n\tSizeof_priv      uint32\n\tFeature_req_word uint32\n}\n\ntype TpacketStats struct {\n\tPackets uint32\n\tDrops   uint32\n}\n\ntype TpacketStatsV3 struct {\n\tPackets      uint32\n\tDrops        uint32\n\tFreeze_q_cnt uint32\n}\n\ntype TpacketAuxdata struct {\n\tStatus    uint32\n\tLen       uint32\n\tSnaplen   uint32\n\tMac       uint16\n\tNet       uint16\n\tVlan_tci  uint16\n\tVlan_tpid uint16\n}\n\nconst (\n\tTPACKET_V1 = 0x0\n\tTPACKET_V2 = 0x1\n\tTPACKET_V3 = 0x2\n)\n\nconst (\n\tSizeofTpacketHdr  = 0x20\n\tSizeofTpacket2Hdr = 0x20\n\tSizeofTpacket3Hdr = 0x30\n)\n\nconst (\n\tNF_INET_PRE_ROUTING  = 0x0\n\tNF_INET_LOCAL_IN     = 0x1\n\tNF_INET_FORWARD      = 0x2\n\tNF_INET_LOCAL_OUT    = 0x3\n\tNF_INET_POST_ROUTING = 0x4\n\tNF_INET_NUMHOOKS     = 0x5\n)\n\nconst (\n\tNF_NETDEV_INGRESS  = 0x0\n\tNF_NETDEV_NUMHOOKS = 0x1\n)\n\nconst (\n\tNFPROTO_UNSPEC   = 0x0\n\tNFPROTO_INET     = 0x1\n\tNFPROTO_IPV4     = 0x2\n\tNFPROTO_ARP      = 0x3\n\tNFPROTO_NETDEV   = 0x5\n\tNFPROTO_BRIDGE   = 0x7\n\tNFPROTO_IPV6     = 0xa\n\tNFPROTO_DECNET   = 0xc\n\tNFPROTO_NUMPROTO = 0xd\n)\n\ntype Nfgenmsg struct {\n\tNfgen_family uint8\n\tVersion      uint8\n\tRes_id       uint16\n}\n\nconst (\n\tNFNL_BATCH_UNSPEC = 0x0\n\tNFNL_BATCH_GENID  = 0x1\n)\n\nconst (\n\tNFT_REG_VERDICT                   = 0x0\n\tNFT_REG_1                         = 0x1\n\tNFT_REG_2                         = 0x2\n\tNFT_REG_3                         = 0x3\n\tNFT_REG_4                         = 0x4\n\tNFT_REG32_00                      = 0x8\n\tNFT_REG32_01                      = 0x9\n\tNFT_REG32_02                      = 0xa\n\tNFT_REG32_03                      = 0xb\n\tNFT_REG32_04                      = 0xc\n\tNFT_REG32_05                      = 0xd\n\tNFT_REG32_06                      = 0xe\n\tNFT_REG32_07                      = 0xf\n\tNFT_REG32_08                      = 0x10\n\tNFT_REG32_09                      = 0x11\n\tNFT_REG32_10                      = 0x12\n\tNFT_REG32_11                      = 0x13\n\tNFT_REG32_12                      = 0x14\n\tNFT_REG32_13                      = 0x15\n\tNFT_REG32_14                      = 0x16\n\tNFT_REG32_15                      = 0x17\n\tNFT_CONTINUE                      = -0x1\n\tNFT_BREAK                         = -0x2\n\tNFT_JUMP                          = -0x3\n\tNFT_GOTO                          = -0x4\n\tNFT_RETURN                        = -0x5\n\tNFT_MSG_NEWTABLE                  = 0x0\n\tNFT_MSG_GETTABLE                  = 0x1\n\tNFT_MSG_DELTABLE                  = 0x2\n\tNFT_MSG_NEWCHAIN                  = 0x3\n\tNFT_MSG_GETCHAIN                  = 0x4\n\tNFT_MSG_DELCHAIN                  = 0x5\n\tNFT_MSG_NEWRULE                   = 0x6\n\tNFT_MSG_GETRULE                   = 0x7\n\tNFT_MSG_DELRULE                   = 0x8\n\tNFT_MSG_NEWSET                    = 0x9\n\tNFT_MSG_GETSET                    = 0xa\n\tNFT_MSG_DELSET                    = 0xb\n\tNFT_MSG_NEWSETELEM                = 0xc\n\tNFT_MSG_GETSETELEM                = 0xd\n\tNFT_MSG_DELSETELEM                = 0xe\n\tNFT_MSG_NEWGEN                    = 0xf\n\tNFT_MSG_GETGEN                    = 0x10\n\tNFT_MSG_TRACE                     = 0x11\n\tNFT_MSG_NEWOBJ                    = 0x12\n\tNFT_MSG_GETOBJ                    = 0x13\n\tNFT_MSG_DELOBJ                    = 0x14\n\tNFT_MSG_GETOBJ_RESET              = 0x15\n\tNFT_MSG_MAX                       = 0x19\n\tNFTA_LIST_UNPEC                   = 0x0\n\tNFTA_LIST_ELEM                    = 0x1\n\tNFTA_HOOK_UNSPEC                  = 0x0\n\tNFTA_HOOK_HOOKNUM                 = 0x1\n\tNFTA_HOOK_PRIORITY                = 0x2\n\tNFTA_HOOK_DEV                     = 0x3\n\tNFT_TABLE_F_DORMANT               = 0x1\n\tNFTA_TABLE_UNSPEC                 = 0x0\n\tNFTA_TABLE_NAME                   = 0x1\n\tNFTA_TABLE_FLAGS                  = 0x2\n\tNFTA_TABLE_USE                    = 0x3\n\tNFTA_CHAIN_UNSPEC                 = 0x0\n\tNFTA_CHAIN_TABLE                  = 0x1\n\tNFTA_CHAIN_HANDLE                 = 0x2\n\tNFTA_CHAIN_NAME                   = 0x3\n\tNFTA_CHAIN_HOOK                   = 0x4\n\tNFTA_CHAIN_POLICY                 = 0x5\n\tNFTA_CHAIN_USE                    = 0x6\n\tNFTA_CHAIN_TYPE                   = 0x7\n\tNFTA_CHAIN_COUNTERS               = 0x8\n\tNFTA_CHAIN_PAD                    = 0x9\n\tNFTA_RULE_UNSPEC                  = 0x0\n\tNFTA_RULE_TABLE                   = 0x1\n\tNFTA_RULE_CHAIN                   = 0x2\n\tNFTA_RULE_HANDLE                  = 0x3\n\tNFTA_RULE_EXPRESSIONS             = 0x4\n\tNFTA_RULE_COMPAT                  = 0x5\n\tNFTA_RULE_POSITION                = 0x6\n\tNFTA_RULE_USERDATA                = 0x7\n\tNFTA_RULE_PAD                     = 0x8\n\tNFTA_RULE_ID                      = 0x9\n\tNFT_RULE_COMPAT_F_INV             = 0x2\n\tNFT_RULE_COMPAT_F_MASK            = 0x2\n\tNFTA_RULE_COMPAT_UNSPEC           = 0x0\n\tNFTA_RULE_COMPAT_PROTO            = 0x1\n\tNFTA_RULE_COMPAT_FLAGS            = 0x2\n\tNFT_SET_ANONYMOUS                 = 0x1\n\tNFT_SET_CONSTANT                  = 0x2\n\tNFT_SET_INTERVAL                  = 0x4\n\tNFT_SET_MAP                       = 0x8\n\tNFT_SET_TIMEOUT                   = 0x10\n\tNFT_SET_EVAL                      = 0x20\n\tNFT_SET_OBJECT                    = 0x40\n\tNFT_SET_POL_PERFORMANCE           = 0x0\n\tNFT_SET_POL_MEMORY                = 0x1\n\tNFTA_SET_DESC_UNSPEC              = 0x0\n\tNFTA_SET_DESC_SIZE                = 0x1\n\tNFTA_SET_UNSPEC                   = 0x0\n\tNFTA_SET_TABLE                    = 0x1\n\tNFTA_SET_NAME                     = 0x2\n\tNFTA_SET_FLAGS                    = 0x3\n\tNFTA_SET_KEY_TYPE                 = 0x4\n\tNFTA_SET_KEY_LEN                  = 0x5\n\tNFTA_SET_DATA_TYPE                = 0x6\n\tNFTA_SET_DATA_LEN                 = 0x7\n\tNFTA_SET_POLICY                   = 0x8\n\tNFTA_SET_DESC                     = 0x9\n\tNFTA_SET_ID                       = 0xa\n\tNFTA_SET_TIMEOUT                  = 0xb\n\tNFTA_SET_GC_INTERVAL              = 0xc\n\tNFTA_SET_USERDATA                 = 0xd\n\tNFTA_SET_PAD                      = 0xe\n\tNFTA_SET_OBJ_TYPE                 = 0xf\n\tNFT_SET_ELEM_INTERVAL_END         = 0x1\n\tNFTA_SET_ELEM_UNSPEC              = 0x0\n\tNFTA_SET_ELEM_KEY                 = 0x1\n\tNFTA_SET_ELEM_DATA                = 0x2\n\tNFTA_SET_ELEM_FLAGS               = 0x3\n\tNFTA_SET_ELEM_TIMEOUT             = 0x4\n\tNFTA_SET_ELEM_EXPIRATION          = 0x5\n\tNFTA_SET_ELEM_USERDATA            = 0x6\n\tNFTA_SET_ELEM_EXPR                = 0x7\n\tNFTA_SET_ELEM_PAD                 = 0x8\n\tNFTA_SET_ELEM_OBJREF              = 0x9\n\tNFTA_SET_ELEM_LIST_UNSPEC         = 0x0\n\tNFTA_SET_ELEM_LIST_TABLE          = 0x1\n\tNFTA_SET_ELEM_LIST_SET            = 0x2\n\tNFTA_SET_ELEM_LIST_ELEMENTS       = 0x3\n\tNFTA_SET_ELEM_LIST_SET_ID         = 0x4\n\tNFT_DATA_VALUE                    = 0x0\n\tNFT_DATA_VERDICT                  = 0xffffff00\n\tNFTA_DATA_UNSPEC                  = 0x0\n\tNFTA_DATA_VALUE                   = 0x1\n\tNFTA_DATA_VERDICT                 = 0x2\n\tNFTA_VERDICT_UNSPEC               = 0x0\n\tNFTA_VERDICT_CODE                 = 0x1\n\tNFTA_VERDICT_CHAIN                = 0x2\n\tNFTA_EXPR_UNSPEC                  = 0x0\n\tNFTA_EXPR_NAME                    = 0x1\n\tNFTA_EXPR_DATA                    = 0x2\n\tNFTA_IMMEDIATE_UNSPEC             = 0x0\n\tNFTA_IMMEDIATE_DREG               = 0x1\n\tNFTA_IMMEDIATE_DATA               = 0x2\n\tNFTA_BITWISE_UNSPEC               = 0x0\n\tNFTA_BITWISE_SREG                 = 0x1\n\tNFTA_BITWISE_DREG                 = 0x2\n\tNFTA_BITWISE_LEN                  = 0x3\n\tNFTA_BITWISE_MASK                 = 0x4\n\tNFTA_BITWISE_XOR                  = 0x5\n\tNFT_BYTEORDER_NTOH                = 0x0\n\tNFT_BYTEORDER_HTON                = 0x1\n\tNFTA_BYTEORDER_UNSPEC             = 0x0\n\tNFTA_BYTEORDER_SREG               = 0x1\n\tNFTA_BYTEORDER_DREG               = 0x2\n\tNFTA_BYTEORDER_OP                 = 0x3\n\tNFTA_BYTEORDER_LEN                = 0x4\n\tNFTA_BYTEORDER_SIZE               = 0x5\n\tNFT_CMP_EQ                        = 0x0\n\tNFT_CMP_NEQ                       = 0x1\n\tNFT_CMP_LT                        = 0x2\n\tNFT_CMP_LTE                       = 0x3\n\tNFT_CMP_GT                        = 0x4\n\tNFT_CMP_GTE                       = 0x5\n\tNFTA_CMP_UNSPEC                   = 0x0\n\tNFTA_CMP_SREG                     = 0x1\n\tNFTA_CMP_OP                       = 0x2\n\tNFTA_CMP_DATA                     = 0x3\n\tNFT_RANGE_EQ                      = 0x0\n\tNFT_RANGE_NEQ                     = 0x1\n\tNFTA_RANGE_UNSPEC                 = 0x0\n\tNFTA_RANGE_SREG                   = 0x1\n\tNFTA_RANGE_OP                     = 0x2\n\tNFTA_RANGE_FROM_DATA              = 0x3\n\tNFTA_RANGE_TO_DATA                = 0x4\n\tNFT_LOOKUP_F_INV                  = 0x1\n\tNFTA_LOOKUP_UNSPEC                = 0x0\n\tNFTA_LOOKUP_SET                   = 0x1\n\tNFTA_LOOKUP_SREG                  = 0x2\n\tNFTA_LOOKUP_DREG                  = 0x3\n\tNFTA_LOOKUP_SET_ID                = 0x4\n\tNFTA_LOOKUP_FLAGS                 = 0x5\n\tNFT_DYNSET_OP_ADD                 = 0x0\n\tNFT_DYNSET_OP_UPDATE              = 0x1\n\tNFT_DYNSET_F_INV                  = 0x1\n\tNFTA_DYNSET_UNSPEC                = 0x0\n\tNFTA_DYNSET_SET_NAME              = 0x1\n\tNFTA_DYNSET_SET_ID                = 0x2\n\tNFTA_DYNSET_OP                    = 0x3\n\tNFTA_DYNSET_SREG_KEY              = 0x4\n\tNFTA_DYNSET_SREG_DATA             = 0x5\n\tNFTA_DYNSET_TIMEOUT               = 0x6\n\tNFTA_DYNSET_EXPR                  = 0x7\n\tNFTA_DYNSET_PAD                   = 0x8\n\tNFTA_DYNSET_FLAGS                 = 0x9\n\tNFT_PAYLOAD_LL_HEADER             = 0x0\n\tNFT_PAYLOAD_NETWORK_HEADER        = 0x1\n\tNFT_PAYLOAD_TRANSPORT_HEADER      = 0x2\n\tNFT_PAYLOAD_CSUM_NONE             = 0x0\n\tNFT_PAYLOAD_CSUM_INET             = 0x1\n\tNFT_PAYLOAD_L4CSUM_PSEUDOHDR      = 0x1\n\tNFTA_PAYLOAD_UNSPEC               = 0x0\n\tNFTA_PAYLOAD_DREG                 = 0x1\n\tNFTA_PAYLOAD_BASE                 = 0x2\n\tNFTA_PAYLOAD_OFFSET               = 0x3\n\tNFTA_PAYLOAD_LEN                  = 0x4\n\tNFTA_PAYLOAD_SREG                 = 0x5\n\tNFTA_PAYLOAD_CSUM_TYPE            = 0x6\n\tNFTA_PAYLOAD_CSUM_OFFSET          = 0x7\n\tNFTA_PAYLOAD_CSUM_FLAGS           = 0x8\n\tNFT_EXTHDR_F_PRESENT              = 0x1\n\tNFT_EXTHDR_OP_IPV6                = 0x0\n\tNFT_EXTHDR_OP_TCPOPT              = 0x1\n\tNFTA_EXTHDR_UNSPEC                = 0x0\n\tNFTA_EXTHDR_DREG                  = 0x1\n\tNFTA_EXTHDR_TYPE                  = 0x2\n\tNFTA_EXTHDR_OFFSET                = 0x3\n\tNFTA_EXTHDR_LEN                   = 0x4\n\tNFTA_EXTHDR_FLAGS                 = 0x5\n\tNFTA_EXTHDR_OP                    = 0x6\n\tNFTA_EXTHDR_SREG                  = 0x7\n\tNFT_META_LEN                      = 0x0\n\tNFT_META_PROTOCOL                 = 0x1\n\tNFT_META_PRIORITY                 = 0x2\n\tNFT_META_MARK                     = 0x3\n\tNFT_META_IIF                      = 0x4\n\tNFT_META_OIF                      = 0x5\n\tNFT_META_IIFNAME                  = 0x6\n\tNFT_META_OIFNAME                  = 0x7\n\tNFT_META_IIFTYPE                  = 0x8\n\tNFT_META_OIFTYPE                  = 0x9\n\tNFT_META_SKUID                    = 0xa\n\tNFT_META_SKGID                    = 0xb\n\tNFT_META_NFTRACE                  = 0xc\n\tNFT_META_RTCLASSID                = 0xd\n\tNFT_META_SECMARK                  = 0xe\n\tNFT_META_NFPROTO                  = 0xf\n\tNFT_META_L4PROTO                  = 0x10\n\tNFT_META_BRI_IIFNAME              = 0x11\n\tNFT_META_BRI_OIFNAME              = 0x12\n\tNFT_META_PKTTYPE                  = 0x13\n\tNFT_META_CPU                      = 0x14\n\tNFT_META_IIFGROUP                 = 0x15\n\tNFT_META_OIFGROUP                 = 0x16\n\tNFT_META_CGROUP                   = 0x17\n\tNFT_META_PRANDOM                  = 0x18\n\tNFT_RT_CLASSID                    = 0x0\n\tNFT_RT_NEXTHOP4                   = 0x1\n\tNFT_RT_NEXTHOP6                   = 0x2\n\tNFT_RT_TCPMSS                     = 0x3\n\tNFT_HASH_JENKINS                  = 0x0\n\tNFT_HASH_SYM                      = 0x1\n\tNFTA_HASH_UNSPEC                  = 0x0\n\tNFTA_HASH_SREG                    = 0x1\n\tNFTA_HASH_DREG                    = 0x2\n\tNFTA_HASH_LEN                     = 0x3\n\tNFTA_HASH_MODULUS                 = 0x4\n\tNFTA_HASH_SEED                    = 0x5\n\tNFTA_HASH_OFFSET                  = 0x6\n\tNFTA_HASH_TYPE                    = 0x7\n\tNFTA_META_UNSPEC                  = 0x0\n\tNFTA_META_DREG                    = 0x1\n\tNFTA_META_KEY                     = 0x2\n\tNFTA_META_SREG                    = 0x3\n\tNFTA_RT_UNSPEC                    = 0x0\n\tNFTA_RT_DREG                      = 0x1\n\tNFTA_RT_KEY                       = 0x2\n\tNFT_CT_STATE                      = 0x0\n\tNFT_CT_DIRECTION                  = 0x1\n\tNFT_CT_STATUS                     = 0x2\n\tNFT_CT_MARK                       = 0x3\n\tNFT_CT_SECMARK                    = 0x4\n\tNFT_CT_EXPIRATION                 = 0x5\n\tNFT_CT_HELPER                     = 0x6\n\tNFT_CT_L3PROTOCOL                 = 0x7\n\tNFT_CT_SRC                        = 0x8\n\tNFT_CT_DST                        = 0x9\n\tNFT_CT_PROTOCOL                   = 0xa\n\tNFT_CT_PROTO_SRC                  = 0xb\n\tNFT_CT_PROTO_DST                  = 0xc\n\tNFT_CT_LABELS                     = 0xd\n\tNFT_CT_PKTS                       = 0xe\n\tNFT_CT_BYTES                      = 0xf\n\tNFT_CT_AVGPKT                     = 0x10\n\tNFT_CT_ZONE                       = 0x11\n\tNFT_CT_EVENTMASK                  = 0x12\n\tNFTA_CT_UNSPEC                    = 0x0\n\tNFTA_CT_DREG                      = 0x1\n\tNFTA_CT_KEY                       = 0x2\n\tNFTA_CT_DIRECTION                 = 0x3\n\tNFTA_CT_SREG                      = 0x4\n\tNFT_LIMIT_PKTS                    = 0x0\n\tNFT_LIMIT_PKT_BYTES               = 0x1\n\tNFT_LIMIT_F_INV                   = 0x1\n\tNFTA_LIMIT_UNSPEC                 = 0x0\n\tNFTA_LIMIT_RATE                   = 0x1\n\tNFTA_LIMIT_UNIT                   = 0x2\n\tNFTA_LIMIT_BURST                  = 0x3\n\tNFTA_LIMIT_TYPE                   = 0x4\n\tNFTA_LIMIT_FLAGS                  = 0x5\n\tNFTA_LIMIT_PAD                    = 0x6\n\tNFTA_COUNTER_UNSPEC               = 0x0\n\tNFTA_COUNTER_BYTES                = 0x1\n\tNFTA_COUNTER_PACKETS              = 0x2\n\tNFTA_COUNTER_PAD                  = 0x3\n\tNFTA_LOG_UNSPEC                   = 0x0\n\tNFTA_LOG_GROUP                    = 0x1\n\tNFTA_LOG_PREFIX                   = 0x2\n\tNFTA_LOG_SNAPLEN                  = 0x3\n\tNFTA_LOG_QTHRESHOLD               = 0x4\n\tNFTA_LOG_LEVEL                    = 0x5\n\tNFTA_LOG_FLAGS                    = 0x6\n\tNFTA_QUEUE_UNSPEC                 = 0x0\n\tNFTA_QUEUE_NUM                    = 0x1\n\tNFTA_QUEUE_TOTAL                  = 0x2\n\tNFTA_QUEUE_FLAGS                  = 0x3\n\tNFTA_QUEUE_SREG_QNUM              = 0x4\n\tNFT_QUOTA_F_INV                   = 0x1\n\tNFT_QUOTA_F_DEPLETED              = 0x2\n\tNFTA_QUOTA_UNSPEC                 = 0x0\n\tNFTA_QUOTA_BYTES                  = 0x1\n\tNFTA_QUOTA_FLAGS                  = 0x2\n\tNFTA_QUOTA_PAD                    = 0x3\n\tNFTA_QUOTA_CONSUMED               = 0x4\n\tNFT_REJECT_ICMP_UNREACH           = 0x0\n\tNFT_REJECT_TCP_RST                = 0x1\n\tNFT_REJECT_ICMPX_UNREACH          = 0x2\n\tNFT_REJECT_ICMPX_NO_ROUTE         = 0x0\n\tNFT_REJECT_ICMPX_PORT_UNREACH     = 0x1\n\tNFT_REJECT_ICMPX_HOST_UNREACH     = 0x2\n\tNFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3\n\tNFTA_REJECT_UNSPEC                = 0x0\n\tNFTA_REJECT_TYPE                  = 0x1\n\tNFTA_REJECT_ICMP_CODE             = 0x2\n\tNFT_NAT_SNAT                      = 0x0\n\tNFT_NAT_DNAT                      = 0x1\n\tNFTA_NAT_UNSPEC                   = 0x0\n\tNFTA_NAT_TYPE                     = 0x1\n\tNFTA_NAT_FAMILY                   = 0x2\n\tNFTA_NAT_REG_ADDR_MIN             = 0x3\n\tNFTA_NAT_REG_ADDR_MAX             = 0x4\n\tNFTA_NAT_REG_PROTO_MIN            = 0x5\n\tNFTA_NAT_REG_PROTO_MAX            = 0x6\n\tNFTA_NAT_FLAGS                    = 0x7\n\tNFTA_MASQ_UNSPEC                  = 0x0\n\tNFTA_MASQ_FLAGS                   = 0x1\n\tNFTA_MASQ_REG_PROTO_MIN           = 0x2\n\tNFTA_MASQ_REG_PROTO_MAX           = 0x3\n\tNFTA_REDIR_UNSPEC                 = 0x0\n\tNFTA_REDIR_REG_PROTO_MIN          = 0x1\n\tNFTA_REDIR_REG_PROTO_MAX          = 0x2\n\tNFTA_REDIR_FLAGS                  = 0x3\n\tNFTA_DUP_UNSPEC                   = 0x0\n\tNFTA_DUP_SREG_ADDR                = 0x1\n\tNFTA_DUP_SREG_DEV                 = 0x2\n\tNFTA_FWD_UNSPEC                   = 0x0\n\tNFTA_FWD_SREG_DEV                 = 0x1\n\tNFTA_OBJREF_UNSPEC                = 0x0\n\tNFTA_OBJREF_IMM_TYPE              = 0x1\n\tNFTA_OBJREF_IMM_NAME              = 0x2\n\tNFTA_OBJREF_SET_SREG              = 0x3\n\tNFTA_OBJREF_SET_NAME              = 0x4\n\tNFTA_OBJREF_SET_ID                = 0x5\n\tNFTA_GEN_UNSPEC                   = 0x0\n\tNFTA_GEN_ID                       = 0x1\n\tNFTA_GEN_PROC_PID                 = 0x2\n\tNFTA_GEN_PROC_NAME                = 0x3\n\tNFTA_FIB_UNSPEC                   = 0x0\n\tNFTA_FIB_DREG                     = 0x1\n\tNFTA_FIB_RESULT                   = 0x2\n\tNFTA_FIB_FLAGS                    = 0x3\n\tNFT_FIB_RESULT_UNSPEC             = 0x0\n\tNFT_FIB_RESULT_OIF                = 0x1\n\tNFT_FIB_RESULT_OIFNAME            = 0x2\n\tNFT_FIB_RESULT_ADDRTYPE           = 0x3\n\tNFTA_FIB_F_SADDR                  = 0x1\n\tNFTA_FIB_F_DADDR                  = 0x2\n\tNFTA_FIB_F_MARK                   = 0x4\n\tNFTA_FIB_F_IIF                    = 0x8\n\tNFTA_FIB_F_OIF                    = 0x10\n\tNFTA_FIB_F_PRESENT                = 0x20\n\tNFTA_CT_HELPER_UNSPEC             = 0x0\n\tNFTA_CT_HELPER_NAME               = 0x1\n\tNFTA_CT_HELPER_L3PROTO            = 0x2\n\tNFTA_CT_HELPER_L4PROTO            = 0x3\n\tNFTA_OBJ_UNSPEC                   = 0x0\n\tNFTA_OBJ_TABLE                    = 0x1\n\tNFTA_OBJ_NAME                     = 0x2\n\tNFTA_OBJ_TYPE                     = 0x3\n\tNFTA_OBJ_DATA                     = 0x4\n\tNFTA_OBJ_USE                      = 0x5\n\tNFTA_TRACE_UNSPEC                 = 0x0\n\tNFTA_TRACE_TABLE                  = 0x1\n\tNFTA_TRACE_CHAIN                  = 0x2\n\tNFTA_TRACE_RULE_HANDLE            = 0x3\n\tNFTA_TRACE_TYPE                   = 0x4\n\tNFTA_TRACE_VERDICT                = 0x5\n\tNFTA_TRACE_ID                     = 0x6\n\tNFTA_TRACE_LL_HEADER              = 0x7\n\tNFTA_TRACE_NETWORK_HEADER         = 0x8\n\tNFTA_TRACE_TRANSPORT_HEADER       = 0x9\n\tNFTA_TRACE_IIF                    = 0xa\n\tNFTA_TRACE_IIFTYPE                = 0xb\n\tNFTA_TRACE_OIF                    = 0xc\n\tNFTA_TRACE_OIFTYPE                = 0xd\n\tNFTA_TRACE_MARK                   = 0xe\n\tNFTA_TRACE_NFPROTO                = 0xf\n\tNFTA_TRACE_POLICY                 = 0x10\n\tNFTA_TRACE_PAD                    = 0x11\n\tNFT_TRACETYPE_UNSPEC              = 0x0\n\tNFT_TRACETYPE_POLICY              = 0x1\n\tNFT_TRACETYPE_RETURN              = 0x2\n\tNFT_TRACETYPE_RULE                = 0x3\n\tNFTA_NG_UNSPEC                    = 0x0\n\tNFTA_NG_DREG                      = 0x1\n\tNFTA_NG_MODULUS                   = 0x2\n\tNFTA_NG_TYPE                      = 0x3\n\tNFTA_NG_OFFSET                    = 0x4\n\tNFT_NG_INCREMENTAL                = 0x0\n\tNFT_NG_RANDOM                     = 0x1\n)\n\ntype RTCTime struct {\n\tSec   int32\n\tMin   int32\n\tHour  int32\n\tMday  int32\n\tMon   int32\n\tYear  int32\n\tWday  int32\n\tYday  int32\n\tIsdst int32\n}\n\ntype RTCWkAlrm struct {\n\tEnabled uint8\n\tPending uint8\n\t_       [2]byte\n\tTime    RTCTime\n}\n\ntype RTCPLLInfo struct {\n\tCtrl    int32\n\tValue   int32\n\tMax     int32\n\tMin     int32\n\tPosmult int32\n\tNegmult int32\n\tClock   int64\n}\n\ntype BlkpgIoctlArg struct {\n\tOp      int32\n\tFlags   int32\n\tDatalen int32\n\t_       [4]byte\n\tData    *byte\n}\n\ntype BlkpgPartition struct {\n\tStart   int64\n\tLength  int64\n\tPno     int32\n\tDevname [64]uint8\n\tVolname [64]uint8\n\t_       [4]byte\n}\n\nconst (\n\tBLKPG                  = 0x20001269\n\tBLKPG_ADD_PARTITION    = 0x1\n\tBLKPG_DEL_PARTITION    = 0x2\n\tBLKPG_RESIZE_PARTITION = 0x3\n)\n\nconst (\n\tNETNSA_NONE = 0x0\n\tNETNSA_NSID = 0x1\n\tNETNSA_PID  = 0x2\n\tNETNSA_FD   = 0x3\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go",
    "content": "// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build ppc64le,linux\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x8\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x8\n\tsizeofLongLong = 0x8\n\tPathMax        = 0x1000\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int64\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int64\n}\n\ntype Timeval struct {\n\tSec  int64\n\tUsec int64\n}\n\ntype Timex struct {\n\tModes     uint32\n\t_         [4]byte\n\tOffset    int64\n\tFreq      int64\n\tMaxerror  int64\n\tEsterror  int64\n\tStatus    int32\n\t_         [4]byte\n\tConstant  int64\n\tPrecision int64\n\tTolerance int64\n\tTime      Timeval\n\tTick      int64\n\tPpsfreq   int64\n\tJitter    int64\n\tShift     int32\n\t_         [4]byte\n\tStabil    int64\n\tJitcnt    int64\n\tCalcnt    int64\n\tErrcnt    int64\n\tStbcnt    int64\n\tTai       int32\n\t_         [44]byte\n}\n\ntype Time_t int64\n\ntype Tms struct {\n\tUtime  int64\n\tStime  int64\n\tCutime int64\n\tCstime int64\n}\n\ntype Utimbuf struct {\n\tActime  int64\n\tModtime int64\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int64\n\tIxrss    int64\n\tIdrss    int64\n\tIsrss    int64\n\tMinflt   int64\n\tMajflt   int64\n\tNswap    int64\n\tInblock  int64\n\tOublock  int64\n\tMsgsnd   int64\n\tMsgrcv   int64\n\tNsignals int64\n\tNvcsw    int64\n\tNivcsw   int64\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev     uint64\n\tIno     uint64\n\tNlink   uint64\n\tMode    uint32\n\tUid     uint32\n\tGid     uint32\n\t_       int32\n\tRdev    uint64\n\tSize    int64\n\tBlksize int64\n\tBlocks  int64\n\tAtim    Timespec\n\tMtim    Timespec\n\tCtim    Timespec\n\t_       uint64\n\t_       uint64\n\t_       uint64\n}\n\ntype StatxTimestamp struct {\n\tSec  int64\n\tNsec uint32\n\t_    int32\n}\n\ntype Statx_t struct {\n\tMask            uint32\n\tBlksize         uint32\n\tAttributes      uint64\n\tNlink           uint32\n\tUid             uint32\n\tGid             uint32\n\tMode            uint16\n\t_               [1]uint16\n\tIno             uint64\n\tSize            uint64\n\tBlocks          uint64\n\tAttributes_mask uint64\n\tAtime           StatxTimestamp\n\tBtime           StatxTimestamp\n\tCtime           StatxTimestamp\n\tMtime           StatxTimestamp\n\tRdev_major      uint32\n\tRdev_minor      uint32\n\tDev_major       uint32\n\tDev_minor       uint32\n\t_               [14]uint64\n}\n\ntype Dirent struct {\n\tIno    uint64\n\tOff    int64\n\tReclen uint16\n\tType   uint8\n\tName   [256]uint8\n\t_      [5]byte\n}\n\ntype Fsid struct {\n\tVal [2]int32\n}\n\ntype Flock_t struct {\n\tType   int16\n\tWhence int16\n\t_      [4]byte\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\t_      [4]byte\n}\n\ntype FscryptPolicy struct {\n\tVersion                   uint8\n\tContents_encryption_mode  uint8\n\tFilenames_encryption_mode uint8\n\tFlags                     uint8\n\tMaster_key_descriptor     [8]uint8\n}\n\ntype FscryptKey struct {\n\tMode uint32\n\tRaw  [64]uint8\n\tSize uint32\n}\n\ntype KeyctlDHParams struct {\n\tPrivate int32\n\tPrime   int32\n\tBase    int32\n}\n\nconst (\n\tFADV_NORMAL     = 0x0\n\tFADV_RANDOM     = 0x1\n\tFADV_SEQUENTIAL = 0x2\n\tFADV_WILLNEED   = 0x3\n\tFADV_DONTNEED   = 0x4\n\tFADV_NOREUSE    = 0x5\n)\n\ntype RawSockaddrInet4 struct {\n\tFamily uint16\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]uint8\n}\n\ntype RawSockaddrInet6 struct {\n\tFamily   uint16\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tFamily uint16\n\tPath   [108]int8\n}\n\ntype RawSockaddrLinklayer struct {\n\tFamily   uint16\n\tProtocol uint16\n\tIfindex  int32\n\tHatype   uint16\n\tPkttype  uint8\n\tHalen    uint8\n\tAddr     [8]uint8\n}\n\ntype RawSockaddrNetlink struct {\n\tFamily uint16\n\tPad    uint16\n\tPid    uint32\n\tGroups uint32\n}\n\ntype RawSockaddrHCI struct {\n\tFamily  uint16\n\tDev     uint16\n\tChannel uint16\n}\n\ntype RawSockaddrL2 struct {\n\tFamily      uint16\n\tPsm         uint16\n\tBdaddr      [6]uint8\n\tCid         uint16\n\tBdaddr_type uint8\n\t_           [1]byte\n}\n\ntype RawSockaddrRFCOMM struct {\n\tFamily  uint16\n\tBdaddr  [6]uint8\n\tChannel uint8\n\t_       [1]byte\n}\n\ntype RawSockaddrCAN struct {\n\tFamily  uint16\n\t_       [2]byte\n\tIfindex int32\n\tAddr    [8]byte\n}\n\ntype RawSockaddrALG struct {\n\tFamily uint16\n\tType   [14]uint8\n\tFeat   uint32\n\tMask   uint32\n\tName   [64]uint8\n}\n\ntype RawSockaddrVM struct {\n\tFamily    uint16\n\tReserved1 uint16\n\tPort      uint32\n\tCid       uint32\n\tZero      [4]uint8\n}\n\ntype RawSockaddr struct {\n\tFamily uint16\n\tData   [14]uint8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [96]uint8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint64\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPMreqn struct {\n\tMultiaddr [4]byte /* in_addr */\n\tAddress   [4]byte /* in_addr */\n\tIfindex   int32\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype PacketMreq struct {\n\tIfindex int32\n\tType    uint16\n\tAlen    uint16\n\tAddress [8]uint8\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\t_          [4]byte\n\tIov        *Iovec\n\tIovlen     uint64\n\tControl    *byte\n\tControllen uint64\n\tFlags      int32\n\t_          [4]byte\n}\n\ntype Cmsghdr struct {\n\tLen   uint64\n\tLevel int32\n\tType  int32\n}\n\ntype Inet4Pktinfo struct {\n\tIfindex  int32\n\tSpec_dst [4]byte /* in_addr */\n\tAddr     [4]byte /* in_addr */\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tData [8]uint32\n}\n\ntype Ucred struct {\n\tPid int32\n\tUid uint32\n\tGid uint32\n}\n\ntype TCPInfo struct {\n\tState          uint8\n\tCa_state       uint8\n\tRetransmits    uint8\n\tProbes         uint8\n\tBackoff        uint8\n\tOptions        uint8\n\t_              [2]byte\n\tRto            uint32\n\tAto            uint32\n\tSnd_mss        uint32\n\tRcv_mss        uint32\n\tUnacked        uint32\n\tSacked         uint32\n\tLost           uint32\n\tRetrans        uint32\n\tFackets        uint32\n\tLast_data_sent uint32\n\tLast_ack_sent  uint32\n\tLast_data_recv uint32\n\tLast_ack_recv  uint32\n\tPmtu           uint32\n\tRcv_ssthresh   uint32\n\tRtt            uint32\n\tRttvar         uint32\n\tSnd_ssthresh   uint32\n\tSnd_cwnd       uint32\n\tAdvmss         uint32\n\tReordering     uint32\n\tRcv_rtt        uint32\n\tRcv_space      uint32\n\tTotal_retrans  uint32\n}\n\nconst (\n\tSizeofSockaddrInet4     = 0x10\n\tSizeofSockaddrInet6     = 0x1c\n\tSizeofSockaddrAny       = 0x70\n\tSizeofSockaddrUnix      = 0x6e\n\tSizeofSockaddrLinklayer = 0x14\n\tSizeofSockaddrNetlink   = 0xc\n\tSizeofSockaddrHCI       = 0x6\n\tSizeofSockaddrL2        = 0xe\n\tSizeofSockaddrRFCOMM    = 0xa\n\tSizeofSockaddrCAN       = 0x10\n\tSizeofSockaddrALG       = 0x58\n\tSizeofSockaddrVM        = 0x10\n\tSizeofLinger            = 0x8\n\tSizeofIovec             = 0x10\n\tSizeofIPMreq            = 0x8\n\tSizeofIPMreqn           = 0xc\n\tSizeofIPv6Mreq          = 0x14\n\tSizeofPacketMreq        = 0x10\n\tSizeofMsghdr            = 0x38\n\tSizeofCmsghdr           = 0x10\n\tSizeofInet4Pktinfo      = 0xc\n\tSizeofInet6Pktinfo      = 0x14\n\tSizeofIPv6MTUInfo       = 0x20\n\tSizeofICMPv6Filter      = 0x20\n\tSizeofUcred             = 0xc\n\tSizeofTCPInfo           = 0x68\n)\n\nconst (\n\tIFA_UNSPEC           = 0x0\n\tIFA_ADDRESS          = 0x1\n\tIFA_LOCAL            = 0x2\n\tIFA_LABEL            = 0x3\n\tIFA_BROADCAST        = 0x4\n\tIFA_ANYCAST          = 0x5\n\tIFA_CACHEINFO        = 0x6\n\tIFA_MULTICAST        = 0x7\n\tIFLA_UNSPEC          = 0x0\n\tIFLA_ADDRESS         = 0x1\n\tIFLA_BROADCAST       = 0x2\n\tIFLA_IFNAME          = 0x3\n\tIFLA_INFO_KIND       = 0x1\n\tIFLA_MTU             = 0x4\n\tIFLA_LINK            = 0x5\n\tIFLA_QDISC           = 0x6\n\tIFLA_STATS           = 0x7\n\tIFLA_COST            = 0x8\n\tIFLA_PRIORITY        = 0x9\n\tIFLA_MASTER          = 0xa\n\tIFLA_WIRELESS        = 0xb\n\tIFLA_PROTINFO        = 0xc\n\tIFLA_TXQLEN          = 0xd\n\tIFLA_MAP             = 0xe\n\tIFLA_WEIGHT          = 0xf\n\tIFLA_OPERSTATE       = 0x10\n\tIFLA_LINKMODE        = 0x11\n\tIFLA_LINKINFO        = 0x12\n\tIFLA_NET_NS_PID      = 0x13\n\tIFLA_IFALIAS         = 0x14\n\tIFLA_NUM_VF          = 0x15\n\tIFLA_VFINFO_LIST     = 0x16\n\tIFLA_STATS64         = 0x17\n\tIFLA_VF_PORTS        = 0x18\n\tIFLA_PORT_SELF       = 0x19\n\tIFLA_AF_SPEC         = 0x1a\n\tIFLA_GROUP           = 0x1b\n\tIFLA_NET_NS_FD       = 0x1c\n\tIFLA_EXT_MASK        = 0x1d\n\tIFLA_PROMISCUITY     = 0x1e\n\tIFLA_NUM_TX_QUEUES   = 0x1f\n\tIFLA_NUM_RX_QUEUES   = 0x20\n\tIFLA_CARRIER         = 0x21\n\tIFLA_PHYS_PORT_ID    = 0x22\n\tIFLA_CARRIER_CHANGES = 0x23\n\tIFLA_PHYS_SWITCH_ID  = 0x24\n\tIFLA_LINK_NETNSID    = 0x25\n\tIFLA_PHYS_PORT_NAME  = 0x26\n\tIFLA_PROTO_DOWN      = 0x27\n\tIFLA_GSO_MAX_SEGS    = 0x28\n\tIFLA_GSO_MAX_SIZE    = 0x29\n\tIFLA_PAD             = 0x2a\n\tIFLA_XDP             = 0x2b\n\tIFLA_EVENT           = 0x2c\n\tIFLA_NEW_NETNSID     = 0x2d\n\tIFLA_IF_NETNSID      = 0x2e\n\tIFLA_MAX             = 0x31\n\tRT_SCOPE_UNIVERSE    = 0x0\n\tRT_SCOPE_SITE        = 0xc8\n\tRT_SCOPE_LINK        = 0xfd\n\tRT_SCOPE_HOST        = 0xfe\n\tRT_SCOPE_NOWHERE     = 0xff\n\tRT_TABLE_UNSPEC      = 0x0\n\tRT_TABLE_COMPAT      = 0xfc\n\tRT_TABLE_DEFAULT     = 0xfd\n\tRT_TABLE_MAIN        = 0xfe\n\tRT_TABLE_LOCAL       = 0xff\n\tRT_TABLE_MAX         = 0xffffffff\n\tRTA_UNSPEC           = 0x0\n\tRTA_DST              = 0x1\n\tRTA_SRC              = 0x2\n\tRTA_IIF              = 0x3\n\tRTA_OIF              = 0x4\n\tRTA_GATEWAY          = 0x5\n\tRTA_PRIORITY         = 0x6\n\tRTA_PREFSRC          = 0x7\n\tRTA_METRICS          = 0x8\n\tRTA_MULTIPATH        = 0x9\n\tRTA_FLOW             = 0xb\n\tRTA_CACHEINFO        = 0xc\n\tRTA_TABLE            = 0xf\n\tRTN_UNSPEC           = 0x0\n\tRTN_UNICAST          = 0x1\n\tRTN_LOCAL            = 0x2\n\tRTN_BROADCAST        = 0x3\n\tRTN_ANYCAST          = 0x4\n\tRTN_MULTICAST        = 0x5\n\tRTN_BLACKHOLE        = 0x6\n\tRTN_UNREACHABLE      = 0x7\n\tRTN_PROHIBIT         = 0x8\n\tRTN_THROW            = 0x9\n\tRTN_NAT              = 0xa\n\tRTN_XRESOLVE         = 0xb\n\tRTNLGRP_NONE         = 0x0\n\tRTNLGRP_LINK         = 0x1\n\tRTNLGRP_NOTIFY       = 0x2\n\tRTNLGRP_NEIGH        = 0x3\n\tRTNLGRP_TC           = 0x4\n\tRTNLGRP_IPV4_IFADDR  = 0x5\n\tRTNLGRP_IPV4_MROUTE  = 0x6\n\tRTNLGRP_IPV4_ROUTE   = 0x7\n\tRTNLGRP_IPV4_RULE    = 0x8\n\tRTNLGRP_IPV6_IFADDR  = 0x9\n\tRTNLGRP_IPV6_MROUTE  = 0xa\n\tRTNLGRP_IPV6_ROUTE   = 0xb\n\tRTNLGRP_IPV6_IFINFO  = 0xc\n\tRTNLGRP_IPV6_PREFIX  = 0x12\n\tRTNLGRP_IPV6_RULE    = 0x13\n\tRTNLGRP_ND_USEROPT   = 0x14\n\tSizeofNlMsghdr       = 0x10\n\tSizeofNlMsgerr       = 0x14\n\tSizeofRtGenmsg       = 0x1\n\tSizeofNlAttr         = 0x4\n\tSizeofRtAttr         = 0x4\n\tSizeofIfInfomsg      = 0x10\n\tSizeofIfAddrmsg      = 0x8\n\tSizeofRtMsg          = 0xc\n\tSizeofRtNexthop      = 0x8\n)\n\ntype NlMsghdr struct {\n\tLen   uint32\n\tType  uint16\n\tFlags uint16\n\tSeq   uint32\n\tPid   uint32\n}\n\ntype NlMsgerr struct {\n\tError int32\n\tMsg   NlMsghdr\n}\n\ntype RtGenmsg struct {\n\tFamily uint8\n}\n\ntype NlAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype RtAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype IfInfomsg struct {\n\tFamily uint8\n\t_      uint8\n\tType   uint16\n\tIndex  int32\n\tFlags  uint32\n\tChange uint32\n}\n\ntype IfAddrmsg struct {\n\tFamily    uint8\n\tPrefixlen uint8\n\tFlags     uint8\n\tScope     uint8\n\tIndex     uint32\n}\n\ntype RtMsg struct {\n\tFamily   uint8\n\tDst_len  uint8\n\tSrc_len  uint8\n\tTos      uint8\n\tTable    uint8\n\tProtocol uint8\n\tScope    uint8\n\tType     uint8\n\tFlags    uint32\n}\n\ntype RtNexthop struct {\n\tLen     uint16\n\tFlags   uint8\n\tHops    uint8\n\tIfindex int32\n}\n\nconst (\n\tSizeofSockFilter = 0x8\n\tSizeofSockFprog  = 0x10\n)\n\ntype SockFilter struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype SockFprog struct {\n\tLen    uint16\n\t_      [6]byte\n\tFilter *SockFilter\n}\n\ntype InotifyEvent struct {\n\tWd     int32\n\tMask   uint32\n\tCookie uint32\n\tLen    uint32\n}\n\nconst SizeofInotifyEvent = 0x10\n\ntype PtraceRegs struct {\n\tGpr       [32]uint64\n\tNip       uint64\n\tMsr       uint64\n\tOrig_gpr3 uint64\n\tCtr       uint64\n\tLink      uint64\n\tXer       uint64\n\tCcr       uint64\n\tSofte     uint64\n\tTrap      uint64\n\tDar       uint64\n\tDsisr     uint64\n\tResult    uint64\n}\n\ntype FdSet struct {\n\tBits [16]int64\n}\n\ntype Sysinfo_t struct {\n\tUptime    int64\n\tLoads     [3]uint64\n\tTotalram  uint64\n\tFreeram   uint64\n\tSharedram uint64\n\tBufferram uint64\n\tTotalswap uint64\n\tFreeswap  uint64\n\tProcs     uint16\n\tPad       uint16\n\t_         [4]byte\n\tTotalhigh uint64\n\tFreehigh  uint64\n\tUnit      uint32\n\t_         [0]uint8\n\t_         [4]byte\n}\n\ntype Utsname struct {\n\tSysname    [65]byte\n\tNodename   [65]byte\n\tRelease    [65]byte\n\tVersion    [65]byte\n\tMachine    [65]byte\n\tDomainname [65]byte\n}\n\ntype Ustat_t struct {\n\tTfree  int32\n\t_      [4]byte\n\tTinode uint64\n\tFname  [6]uint8\n\tFpack  [6]uint8\n\t_      [4]byte\n}\n\ntype EpollEvent struct {\n\tEvents uint32\n\t_      int32\n\tFd     int32\n\tPad    int32\n}\n\nconst (\n\tAT_EMPTY_PATH   = 0x1000\n\tAT_FDCWD        = -0x64\n\tAT_NO_AUTOMOUNT = 0x800\n\tAT_REMOVEDIR    = 0x200\n\n\tAT_STATX_SYNC_AS_STAT = 0x0\n\tAT_STATX_FORCE_SYNC   = 0x2000\n\tAT_STATX_DONT_SYNC    = 0x4000\n\n\tAT_SYMLINK_FOLLOW   = 0x400\n\tAT_SYMLINK_NOFOLLOW = 0x100\n\n\tAT_EACCESS = 0x200\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLIN    = 0x1\n\tPOLLPRI   = 0x2\n\tPOLLOUT   = 0x4\n\tPOLLRDHUP = 0x2000\n\tPOLLERR   = 0x8\n\tPOLLHUP   = 0x10\n\tPOLLNVAL  = 0x20\n)\n\ntype Sigset_t struct {\n\tVal [16]uint64\n}\n\nconst RNDGETENTCNT = 0x40045200\n\nconst PERF_IOC_FLAG_GROUP = 0x1\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tCc     [19]uint8\n\tLine   uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\ntype Taskstats struct {\n\tVersion                   uint16\n\t_                         [2]byte\n\tAc_exitcode               uint32\n\tAc_flag                   uint8\n\tAc_nice                   uint8\n\t_                         [6]byte\n\tCpu_count                 uint64\n\tCpu_delay_total           uint64\n\tBlkio_count               uint64\n\tBlkio_delay_total         uint64\n\tSwapin_count              uint64\n\tSwapin_delay_total        uint64\n\tCpu_run_real_total        uint64\n\tCpu_run_virtual_total     uint64\n\tAc_comm                   [32]uint8\n\tAc_sched                  uint8\n\tAc_pad                    [3]uint8\n\t_                         [4]byte\n\tAc_uid                    uint32\n\tAc_gid                    uint32\n\tAc_pid                    uint32\n\tAc_ppid                   uint32\n\tAc_btime                  uint32\n\t_                         [4]byte\n\tAc_etime                  uint64\n\tAc_utime                  uint64\n\tAc_stime                  uint64\n\tAc_minflt                 uint64\n\tAc_majflt                 uint64\n\tCoremem                   uint64\n\tVirtmem                   uint64\n\tHiwater_rss               uint64\n\tHiwater_vm                uint64\n\tRead_char                 uint64\n\tWrite_char                uint64\n\tRead_syscalls             uint64\n\tWrite_syscalls            uint64\n\tRead_bytes                uint64\n\tWrite_bytes               uint64\n\tCancelled_write_bytes     uint64\n\tNvcsw                     uint64\n\tNivcsw                    uint64\n\tAc_utimescaled            uint64\n\tAc_stimescaled            uint64\n\tCpu_scaled_run_real_total uint64\n\tFreepages_count           uint64\n\tFreepages_delay_total     uint64\n}\n\nconst (\n\tTASKSTATS_CMD_UNSPEC                  = 0x0\n\tTASKSTATS_CMD_GET                     = 0x1\n\tTASKSTATS_CMD_NEW                     = 0x2\n\tTASKSTATS_TYPE_UNSPEC                 = 0x0\n\tTASKSTATS_TYPE_PID                    = 0x1\n\tTASKSTATS_TYPE_TGID                   = 0x2\n\tTASKSTATS_TYPE_STATS                  = 0x3\n\tTASKSTATS_TYPE_AGGR_PID               = 0x4\n\tTASKSTATS_TYPE_AGGR_TGID              = 0x5\n\tTASKSTATS_TYPE_NULL                   = 0x6\n\tTASKSTATS_CMD_ATTR_UNSPEC             = 0x0\n\tTASKSTATS_CMD_ATTR_PID                = 0x1\n\tTASKSTATS_CMD_ATTR_TGID               = 0x2\n\tTASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3\n\tTASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4\n)\n\ntype CGroupStats struct {\n\tSleeping        uint64\n\tRunning         uint64\n\tStopped         uint64\n\tUninterruptible uint64\n\tIo_wait         uint64\n}\n\nconst (\n\tCGROUPSTATS_CMD_UNSPEC        = 0x3\n\tCGROUPSTATS_CMD_GET           = 0x4\n\tCGROUPSTATS_CMD_NEW           = 0x5\n\tCGROUPSTATS_TYPE_UNSPEC       = 0x0\n\tCGROUPSTATS_TYPE_CGROUP_STATS = 0x1\n\tCGROUPSTATS_CMD_ATTR_UNSPEC   = 0x0\n\tCGROUPSTATS_CMD_ATTR_FD       = 0x1\n)\n\ntype Genlmsghdr struct {\n\tCmd      uint8\n\tVersion  uint8\n\tReserved uint16\n}\n\nconst (\n\tCTRL_CMD_UNSPEC            = 0x0\n\tCTRL_CMD_NEWFAMILY         = 0x1\n\tCTRL_CMD_DELFAMILY         = 0x2\n\tCTRL_CMD_GETFAMILY         = 0x3\n\tCTRL_CMD_NEWOPS            = 0x4\n\tCTRL_CMD_DELOPS            = 0x5\n\tCTRL_CMD_GETOPS            = 0x6\n\tCTRL_CMD_NEWMCAST_GRP      = 0x7\n\tCTRL_CMD_DELMCAST_GRP      = 0x8\n\tCTRL_CMD_GETMCAST_GRP      = 0x9\n\tCTRL_ATTR_UNSPEC           = 0x0\n\tCTRL_ATTR_FAMILY_ID        = 0x1\n\tCTRL_ATTR_FAMILY_NAME      = 0x2\n\tCTRL_ATTR_VERSION          = 0x3\n\tCTRL_ATTR_HDRSIZE          = 0x4\n\tCTRL_ATTR_MAXATTR          = 0x5\n\tCTRL_ATTR_OPS              = 0x6\n\tCTRL_ATTR_MCAST_GROUPS     = 0x7\n\tCTRL_ATTR_OP_UNSPEC        = 0x0\n\tCTRL_ATTR_OP_ID            = 0x1\n\tCTRL_ATTR_OP_FLAGS         = 0x2\n\tCTRL_ATTR_MCAST_GRP_UNSPEC = 0x0\n\tCTRL_ATTR_MCAST_GRP_NAME   = 0x1\n\tCTRL_ATTR_MCAST_GRP_ID     = 0x2\n)\n\ntype cpuMask uint64\n\nconst (\n\t_CPU_SETSIZE = 0x400\n\t_NCPUBITS    = 0x40\n)\n\nconst (\n\tBDADDR_BREDR     = 0x0\n\tBDADDR_LE_PUBLIC = 0x1\n\tBDADDR_LE_RANDOM = 0x2\n)\n\ntype PerfEventAttr struct {\n\tType               uint32\n\tSize               uint32\n\tConfig             uint64\n\tSample             uint64\n\tSample_type        uint64\n\tRead_format        uint64\n\tBits               uint64\n\tWakeup             uint32\n\tBp_type            uint32\n\tExt1               uint64\n\tExt2               uint64\n\tBranch_sample_type uint64\n\tSample_regs_user   uint64\n\tSample_stack_user  uint32\n\tClockid            int32\n\tSample_regs_intr   uint64\n\tAux_watermark      uint32\n\t_                  uint32\n}\n\ntype PerfEventMmapPage struct {\n\tVersion        uint32\n\tCompat_version uint32\n\tLock           uint32\n\tIndex          uint32\n\tOffset         int64\n\tTime_enabled   uint64\n\tTime_running   uint64\n\tCapabilities   uint64\n\tPmc_width      uint16\n\tTime_shift     uint16\n\tTime_mult      uint32\n\tTime_offset    uint64\n\tTime_zero      uint64\n\tSize           uint32\n\t_              [948]uint8\n\tData_head      uint64\n\tData_tail      uint64\n\tData_offset    uint64\n\tData_size      uint64\n\tAux_head       uint64\n\tAux_tail       uint64\n\tAux_offset     uint64\n\tAux_size       uint64\n}\n\nconst (\n\tPerfBitDisabled               uint64 = CBitFieldMaskBit0\n\tPerfBitInherit                       = CBitFieldMaskBit1\n\tPerfBitPinned                        = CBitFieldMaskBit2\n\tPerfBitExclusive                     = CBitFieldMaskBit3\n\tPerfBitExcludeUser                   = CBitFieldMaskBit4\n\tPerfBitExcludeKernel                 = CBitFieldMaskBit5\n\tPerfBitExcludeHv                     = CBitFieldMaskBit6\n\tPerfBitExcludeIdle                   = CBitFieldMaskBit7\n\tPerfBitMmap                          = CBitFieldMaskBit8\n\tPerfBitComm                          = CBitFieldMaskBit9\n\tPerfBitFreq                          = CBitFieldMaskBit10\n\tPerfBitInheritStat                   = CBitFieldMaskBit11\n\tPerfBitEnableOnExec                  = CBitFieldMaskBit12\n\tPerfBitTask                          = CBitFieldMaskBit13\n\tPerfBitWatermark                     = CBitFieldMaskBit14\n\tPerfBitPreciseIPBit1                 = CBitFieldMaskBit15\n\tPerfBitPreciseIPBit2                 = CBitFieldMaskBit16\n\tPerfBitMmapData                      = CBitFieldMaskBit17\n\tPerfBitSampleIDAll                   = CBitFieldMaskBit18\n\tPerfBitExcludeHost                   = CBitFieldMaskBit19\n\tPerfBitExcludeGuest                  = CBitFieldMaskBit20\n\tPerfBitExcludeCallchainKernel        = CBitFieldMaskBit21\n\tPerfBitExcludeCallchainUser          = CBitFieldMaskBit22\n\tPerfBitMmap2                         = CBitFieldMaskBit23\n\tPerfBitCommExec                      = CBitFieldMaskBit24\n\tPerfBitUseClockID                    = CBitFieldMaskBit25\n\tPerfBitContextSwitch                 = CBitFieldMaskBit26\n)\n\nconst (\n\tPERF_TYPE_HARDWARE   = 0x0\n\tPERF_TYPE_SOFTWARE   = 0x1\n\tPERF_TYPE_TRACEPOINT = 0x2\n\tPERF_TYPE_HW_CACHE   = 0x3\n\tPERF_TYPE_RAW        = 0x4\n\tPERF_TYPE_BREAKPOINT = 0x5\n\n\tPERF_COUNT_HW_CPU_CYCLES              = 0x0\n\tPERF_COUNT_HW_INSTRUCTIONS            = 0x1\n\tPERF_COUNT_HW_CACHE_REFERENCES        = 0x2\n\tPERF_COUNT_HW_CACHE_MISSES            = 0x3\n\tPERF_COUNT_HW_BRANCH_INSTRUCTIONS     = 0x4\n\tPERF_COUNT_HW_BRANCH_MISSES           = 0x5\n\tPERF_COUNT_HW_BUS_CYCLES              = 0x6\n\tPERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7\n\tPERF_COUNT_HW_STALLED_CYCLES_BACKEND  = 0x8\n\tPERF_COUNT_HW_REF_CPU_CYCLES          = 0x9\n\n\tPERF_COUNT_HW_CACHE_L1D  = 0x0\n\tPERF_COUNT_HW_CACHE_L1I  = 0x1\n\tPERF_COUNT_HW_CACHE_LL   = 0x2\n\tPERF_COUNT_HW_CACHE_DTLB = 0x3\n\tPERF_COUNT_HW_CACHE_ITLB = 0x4\n\tPERF_COUNT_HW_CACHE_BPU  = 0x5\n\tPERF_COUNT_HW_CACHE_NODE = 0x6\n\n\tPERF_COUNT_HW_CACHE_OP_READ     = 0x0\n\tPERF_COUNT_HW_CACHE_OP_WRITE    = 0x1\n\tPERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2\n\n\tPERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0\n\tPERF_COUNT_HW_CACHE_RESULT_MISS   = 0x1\n\n\tPERF_COUNT_SW_CPU_CLOCK        = 0x0\n\tPERF_COUNT_SW_TASK_CLOCK       = 0x1\n\tPERF_COUNT_SW_PAGE_FAULTS      = 0x2\n\tPERF_COUNT_SW_CONTEXT_SWITCHES = 0x3\n\tPERF_COUNT_SW_CPU_MIGRATIONS   = 0x4\n\tPERF_COUNT_SW_PAGE_FAULTS_MIN  = 0x5\n\tPERF_COUNT_SW_PAGE_FAULTS_MAJ  = 0x6\n\tPERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7\n\tPERF_COUNT_SW_EMULATION_FAULTS = 0x8\n\tPERF_COUNT_SW_DUMMY            = 0x9\n\n\tPERF_SAMPLE_IP           = 0x1\n\tPERF_SAMPLE_TID          = 0x2\n\tPERF_SAMPLE_TIME         = 0x4\n\tPERF_SAMPLE_ADDR         = 0x8\n\tPERF_SAMPLE_READ         = 0x10\n\tPERF_SAMPLE_CALLCHAIN    = 0x20\n\tPERF_SAMPLE_ID           = 0x40\n\tPERF_SAMPLE_CPU          = 0x80\n\tPERF_SAMPLE_PERIOD       = 0x100\n\tPERF_SAMPLE_STREAM_ID    = 0x200\n\tPERF_SAMPLE_RAW          = 0x400\n\tPERF_SAMPLE_BRANCH_STACK = 0x800\n\n\tPERF_SAMPLE_BRANCH_USER       = 0x1\n\tPERF_SAMPLE_BRANCH_KERNEL     = 0x2\n\tPERF_SAMPLE_BRANCH_HV         = 0x4\n\tPERF_SAMPLE_BRANCH_ANY        = 0x8\n\tPERF_SAMPLE_BRANCH_ANY_CALL   = 0x10\n\tPERF_SAMPLE_BRANCH_ANY_RETURN = 0x20\n\tPERF_SAMPLE_BRANCH_IND_CALL   = 0x40\n\n\tPERF_FORMAT_TOTAL_TIME_ENABLED = 0x1\n\tPERF_FORMAT_TOTAL_TIME_RUNNING = 0x2\n\tPERF_FORMAT_ID                 = 0x4\n\tPERF_FORMAT_GROUP              = 0x8\n\n\tPERF_RECORD_MMAP       = 0x1\n\tPERF_RECORD_LOST       = 0x2\n\tPERF_RECORD_COMM       = 0x3\n\tPERF_RECORD_EXIT       = 0x4\n\tPERF_RECORD_THROTTLE   = 0x5\n\tPERF_RECORD_UNTHROTTLE = 0x6\n\tPERF_RECORD_FORK       = 0x7\n\tPERF_RECORD_READ       = 0x8\n\tPERF_RECORD_SAMPLE     = 0x9\n\n\tPERF_CONTEXT_HV     = -0x20\n\tPERF_CONTEXT_KERNEL = -0x80\n\tPERF_CONTEXT_USER   = -0x200\n\n\tPERF_CONTEXT_GUEST        = -0x800\n\tPERF_CONTEXT_GUEST_KERNEL = -0x880\n\tPERF_CONTEXT_GUEST_USER   = -0xa00\n\n\tPERF_FLAG_FD_NO_GROUP = 0x1\n\tPERF_FLAG_FD_OUTPUT   = 0x2\n\tPERF_FLAG_PID_CGROUP  = 0x4\n)\n\nconst (\n\tCBitFieldMaskBit0  = 0x1\n\tCBitFieldMaskBit1  = 0x2\n\tCBitFieldMaskBit2  = 0x4\n\tCBitFieldMaskBit3  = 0x8\n\tCBitFieldMaskBit4  = 0x10\n\tCBitFieldMaskBit5  = 0x20\n\tCBitFieldMaskBit6  = 0x40\n\tCBitFieldMaskBit7  = 0x80\n\tCBitFieldMaskBit8  = 0x100\n\tCBitFieldMaskBit9  = 0x200\n\tCBitFieldMaskBit10 = 0x400\n\tCBitFieldMaskBit11 = 0x800\n\tCBitFieldMaskBit12 = 0x1000\n\tCBitFieldMaskBit13 = 0x2000\n\tCBitFieldMaskBit14 = 0x4000\n\tCBitFieldMaskBit15 = 0x8000\n\tCBitFieldMaskBit16 = 0x10000\n\tCBitFieldMaskBit17 = 0x20000\n\tCBitFieldMaskBit18 = 0x40000\n\tCBitFieldMaskBit19 = 0x80000\n\tCBitFieldMaskBit20 = 0x100000\n\tCBitFieldMaskBit21 = 0x200000\n\tCBitFieldMaskBit22 = 0x400000\n\tCBitFieldMaskBit23 = 0x800000\n\tCBitFieldMaskBit24 = 0x1000000\n\tCBitFieldMaskBit25 = 0x2000000\n\tCBitFieldMaskBit26 = 0x4000000\n\tCBitFieldMaskBit27 = 0x8000000\n\tCBitFieldMaskBit28 = 0x10000000\n\tCBitFieldMaskBit29 = 0x20000000\n\tCBitFieldMaskBit30 = 0x40000000\n\tCBitFieldMaskBit31 = 0x80000000\n\tCBitFieldMaskBit32 = 0x100000000\n\tCBitFieldMaskBit33 = 0x200000000\n\tCBitFieldMaskBit34 = 0x400000000\n\tCBitFieldMaskBit35 = 0x800000000\n\tCBitFieldMaskBit36 = 0x1000000000\n\tCBitFieldMaskBit37 = 0x2000000000\n\tCBitFieldMaskBit38 = 0x4000000000\n\tCBitFieldMaskBit39 = 0x8000000000\n\tCBitFieldMaskBit40 = 0x10000000000\n\tCBitFieldMaskBit41 = 0x20000000000\n\tCBitFieldMaskBit42 = 0x40000000000\n\tCBitFieldMaskBit43 = 0x80000000000\n\tCBitFieldMaskBit44 = 0x100000000000\n\tCBitFieldMaskBit45 = 0x200000000000\n\tCBitFieldMaskBit46 = 0x400000000000\n\tCBitFieldMaskBit47 = 0x800000000000\n\tCBitFieldMaskBit48 = 0x1000000000000\n\tCBitFieldMaskBit49 = 0x2000000000000\n\tCBitFieldMaskBit50 = 0x4000000000000\n\tCBitFieldMaskBit51 = 0x8000000000000\n\tCBitFieldMaskBit52 = 0x10000000000000\n\tCBitFieldMaskBit53 = 0x20000000000000\n\tCBitFieldMaskBit54 = 0x40000000000000\n\tCBitFieldMaskBit55 = 0x80000000000000\n\tCBitFieldMaskBit56 = 0x100000000000000\n\tCBitFieldMaskBit57 = 0x200000000000000\n\tCBitFieldMaskBit58 = 0x400000000000000\n\tCBitFieldMaskBit59 = 0x800000000000000\n\tCBitFieldMaskBit60 = 0x1000000000000000\n\tCBitFieldMaskBit61 = 0x2000000000000000\n\tCBitFieldMaskBit62 = 0x4000000000000000\n\tCBitFieldMaskBit63 = 0x8000000000000000\n)\n\ntype SockaddrStorage struct {\n\tFamily uint16\n\t_      [118]uint8\n\t_      uint64\n}\n\ntype TCPMD5Sig struct {\n\tAddr      SockaddrStorage\n\tFlags     uint8\n\tPrefixlen uint8\n\tKeylen    uint16\n\t_         uint32\n\tKey       [80]uint8\n}\n\ntype HDDriveCmdHdr struct {\n\tCommand uint8\n\tNumber  uint8\n\tFeature uint8\n\tCount   uint8\n}\n\ntype HDGeometry struct {\n\tHeads     uint8\n\tSectors   uint8\n\tCylinders uint16\n\t_         [4]byte\n\tStart     uint64\n}\n\ntype HDDriveID struct {\n\tConfig         uint16\n\tCyls           uint16\n\tReserved2      uint16\n\tHeads          uint16\n\tTrack_bytes    uint16\n\tSector_bytes   uint16\n\tSectors        uint16\n\tVendor0        uint16\n\tVendor1        uint16\n\tVendor2        uint16\n\tSerial_no      [20]uint8\n\tBuf_type       uint16\n\tBuf_size       uint16\n\tEcc_bytes      uint16\n\tFw_rev         [8]uint8\n\tModel          [40]uint8\n\tMax_multsect   uint8\n\tVendor3        uint8\n\tDword_io       uint16\n\tVendor4        uint8\n\tCapability     uint8\n\tReserved50     uint16\n\tVendor5        uint8\n\tTPIO           uint8\n\tVendor6        uint8\n\tTDMA           uint8\n\tField_valid    uint16\n\tCur_cyls       uint16\n\tCur_heads      uint16\n\tCur_sectors    uint16\n\tCur_capacity0  uint16\n\tCur_capacity1  uint16\n\tMultsect       uint8\n\tMultsect_valid uint8\n\tLba_capacity   uint32\n\tDma_1word      uint16\n\tDma_mword      uint16\n\tEide_pio_modes uint16\n\tEide_dma_min   uint16\n\tEide_dma_time  uint16\n\tEide_pio       uint16\n\tEide_pio_iordy uint16\n\tWords69_70     [2]uint16\n\tWords71_74     [4]uint16\n\tQueue_depth    uint16\n\tWords76_79     [4]uint16\n\tMajor_rev_num  uint16\n\tMinor_rev_num  uint16\n\tCommand_set_1  uint16\n\tCommand_set_2  uint16\n\tCfsse          uint16\n\tCfs_enable_1   uint16\n\tCfs_enable_2   uint16\n\tCsf_default    uint16\n\tDma_ultra      uint16\n\tTrseuc         uint16\n\tTrsEuc         uint16\n\tCurAPMvalues   uint16\n\tMprc           uint16\n\tHw_config      uint16\n\tAcoustic       uint16\n\tMsrqs          uint16\n\tSxfert         uint16\n\tSal            uint16\n\tSpg            uint32\n\tLba_capacity_2 uint64\n\tWords104_125   [22]uint16\n\tLast_lun       uint16\n\tWord127        uint16\n\tDlf            uint16\n\tCsfo           uint16\n\tWords130_155   [26]uint16\n\tWord156        uint16\n\tWords157_159   [3]uint16\n\tCfa_power      uint16\n\tWords161_175   [15]uint16\n\tWords176_205   [30]uint16\n\tWords206_254   [49]uint16\n\tIntegrity_word uint16\n}\n\ntype Statfs_t struct {\n\tType    int64\n\tBsize   int64\n\tBlocks  uint64\n\tBfree   uint64\n\tBavail  uint64\n\tFiles   uint64\n\tFfree   uint64\n\tFsid    Fsid\n\tNamelen int64\n\tFrsize  int64\n\tFlags   int64\n\tSpare   [4]int64\n}\n\nconst (\n\tST_MANDLOCK    = 0x40\n\tST_NOATIME     = 0x400\n\tST_NODEV       = 0x4\n\tST_NODIRATIME  = 0x800\n\tST_NOEXEC      = 0x8\n\tST_NOSUID      = 0x2\n\tST_RDONLY      = 0x1\n\tST_RELATIME    = 0x1000\n\tST_SYNCHRONOUS = 0x10\n)\n\ntype TpacketHdr struct {\n\tStatus  uint64\n\tLen     uint32\n\tSnaplen uint32\n\tMac     uint16\n\tNet     uint16\n\tSec     uint32\n\tUsec    uint32\n\t_       [4]byte\n}\n\ntype Tpacket2Hdr struct {\n\tStatus    uint32\n\tLen       uint32\n\tSnaplen   uint32\n\tMac       uint16\n\tNet       uint16\n\tSec       uint32\n\tNsec      uint32\n\tVlan_tci  uint16\n\tVlan_tpid uint16\n\t_         [4]uint8\n}\n\ntype Tpacket3Hdr struct {\n\tNext_offset uint32\n\tSec         uint32\n\tNsec        uint32\n\tSnaplen     uint32\n\tLen         uint32\n\tStatus      uint32\n\tMac         uint16\n\tNet         uint16\n\tHv1         TpacketHdrVariant1\n\t_           [8]uint8\n}\n\ntype TpacketHdrVariant1 struct {\n\tRxhash    uint32\n\tVlan_tci  uint32\n\tVlan_tpid uint16\n\t_         uint16\n}\n\ntype TpacketBlockDesc struct {\n\tVersion uint32\n\tTo_priv uint32\n\tHdr     [40]byte\n}\n\ntype TpacketReq struct {\n\tBlock_size uint32\n\tBlock_nr   uint32\n\tFrame_size uint32\n\tFrame_nr   uint32\n}\n\ntype TpacketReq3 struct {\n\tBlock_size       uint32\n\tBlock_nr         uint32\n\tFrame_size       uint32\n\tFrame_nr         uint32\n\tRetire_blk_tov   uint32\n\tSizeof_priv      uint32\n\tFeature_req_word uint32\n}\n\ntype TpacketStats struct {\n\tPackets uint32\n\tDrops   uint32\n}\n\ntype TpacketStatsV3 struct {\n\tPackets      uint32\n\tDrops        uint32\n\tFreeze_q_cnt uint32\n}\n\ntype TpacketAuxdata struct {\n\tStatus    uint32\n\tLen       uint32\n\tSnaplen   uint32\n\tMac       uint16\n\tNet       uint16\n\tVlan_tci  uint16\n\tVlan_tpid uint16\n}\n\nconst (\n\tTPACKET_V1 = 0x0\n\tTPACKET_V2 = 0x1\n\tTPACKET_V3 = 0x2\n)\n\nconst (\n\tSizeofTpacketHdr  = 0x20\n\tSizeofTpacket2Hdr = 0x20\n\tSizeofTpacket3Hdr = 0x30\n)\n\nconst (\n\tNF_INET_PRE_ROUTING  = 0x0\n\tNF_INET_LOCAL_IN     = 0x1\n\tNF_INET_FORWARD      = 0x2\n\tNF_INET_LOCAL_OUT    = 0x3\n\tNF_INET_POST_ROUTING = 0x4\n\tNF_INET_NUMHOOKS     = 0x5\n)\n\nconst (\n\tNF_NETDEV_INGRESS  = 0x0\n\tNF_NETDEV_NUMHOOKS = 0x1\n)\n\nconst (\n\tNFPROTO_UNSPEC   = 0x0\n\tNFPROTO_INET     = 0x1\n\tNFPROTO_IPV4     = 0x2\n\tNFPROTO_ARP      = 0x3\n\tNFPROTO_NETDEV   = 0x5\n\tNFPROTO_BRIDGE   = 0x7\n\tNFPROTO_IPV6     = 0xa\n\tNFPROTO_DECNET   = 0xc\n\tNFPROTO_NUMPROTO = 0xd\n)\n\ntype Nfgenmsg struct {\n\tNfgen_family uint8\n\tVersion      uint8\n\tRes_id       uint16\n}\n\nconst (\n\tNFNL_BATCH_UNSPEC = 0x0\n\tNFNL_BATCH_GENID  = 0x1\n)\n\nconst (\n\tNFT_REG_VERDICT                   = 0x0\n\tNFT_REG_1                         = 0x1\n\tNFT_REG_2                         = 0x2\n\tNFT_REG_3                         = 0x3\n\tNFT_REG_4                         = 0x4\n\tNFT_REG32_00                      = 0x8\n\tNFT_REG32_01                      = 0x9\n\tNFT_REG32_02                      = 0xa\n\tNFT_REG32_03                      = 0xb\n\tNFT_REG32_04                      = 0xc\n\tNFT_REG32_05                      = 0xd\n\tNFT_REG32_06                      = 0xe\n\tNFT_REG32_07                      = 0xf\n\tNFT_REG32_08                      = 0x10\n\tNFT_REG32_09                      = 0x11\n\tNFT_REG32_10                      = 0x12\n\tNFT_REG32_11                      = 0x13\n\tNFT_REG32_12                      = 0x14\n\tNFT_REG32_13                      = 0x15\n\tNFT_REG32_14                      = 0x16\n\tNFT_REG32_15                      = 0x17\n\tNFT_CONTINUE                      = -0x1\n\tNFT_BREAK                         = -0x2\n\tNFT_JUMP                          = -0x3\n\tNFT_GOTO                          = -0x4\n\tNFT_RETURN                        = -0x5\n\tNFT_MSG_NEWTABLE                  = 0x0\n\tNFT_MSG_GETTABLE                  = 0x1\n\tNFT_MSG_DELTABLE                  = 0x2\n\tNFT_MSG_NEWCHAIN                  = 0x3\n\tNFT_MSG_GETCHAIN                  = 0x4\n\tNFT_MSG_DELCHAIN                  = 0x5\n\tNFT_MSG_NEWRULE                   = 0x6\n\tNFT_MSG_GETRULE                   = 0x7\n\tNFT_MSG_DELRULE                   = 0x8\n\tNFT_MSG_NEWSET                    = 0x9\n\tNFT_MSG_GETSET                    = 0xa\n\tNFT_MSG_DELSET                    = 0xb\n\tNFT_MSG_NEWSETELEM                = 0xc\n\tNFT_MSG_GETSETELEM                = 0xd\n\tNFT_MSG_DELSETELEM                = 0xe\n\tNFT_MSG_NEWGEN                    = 0xf\n\tNFT_MSG_GETGEN                    = 0x10\n\tNFT_MSG_TRACE                     = 0x11\n\tNFT_MSG_NEWOBJ                    = 0x12\n\tNFT_MSG_GETOBJ                    = 0x13\n\tNFT_MSG_DELOBJ                    = 0x14\n\tNFT_MSG_GETOBJ_RESET              = 0x15\n\tNFT_MSG_MAX                       = 0x19\n\tNFTA_LIST_UNPEC                   = 0x0\n\tNFTA_LIST_ELEM                    = 0x1\n\tNFTA_HOOK_UNSPEC                  = 0x0\n\tNFTA_HOOK_HOOKNUM                 = 0x1\n\tNFTA_HOOK_PRIORITY                = 0x2\n\tNFTA_HOOK_DEV                     = 0x3\n\tNFT_TABLE_F_DORMANT               = 0x1\n\tNFTA_TABLE_UNSPEC                 = 0x0\n\tNFTA_TABLE_NAME                   = 0x1\n\tNFTA_TABLE_FLAGS                  = 0x2\n\tNFTA_TABLE_USE                    = 0x3\n\tNFTA_CHAIN_UNSPEC                 = 0x0\n\tNFTA_CHAIN_TABLE                  = 0x1\n\tNFTA_CHAIN_HANDLE                 = 0x2\n\tNFTA_CHAIN_NAME                   = 0x3\n\tNFTA_CHAIN_HOOK                   = 0x4\n\tNFTA_CHAIN_POLICY                 = 0x5\n\tNFTA_CHAIN_USE                    = 0x6\n\tNFTA_CHAIN_TYPE                   = 0x7\n\tNFTA_CHAIN_COUNTERS               = 0x8\n\tNFTA_CHAIN_PAD                    = 0x9\n\tNFTA_RULE_UNSPEC                  = 0x0\n\tNFTA_RULE_TABLE                   = 0x1\n\tNFTA_RULE_CHAIN                   = 0x2\n\tNFTA_RULE_HANDLE                  = 0x3\n\tNFTA_RULE_EXPRESSIONS             = 0x4\n\tNFTA_RULE_COMPAT                  = 0x5\n\tNFTA_RULE_POSITION                = 0x6\n\tNFTA_RULE_USERDATA                = 0x7\n\tNFTA_RULE_PAD                     = 0x8\n\tNFTA_RULE_ID                      = 0x9\n\tNFT_RULE_COMPAT_F_INV             = 0x2\n\tNFT_RULE_COMPAT_F_MASK            = 0x2\n\tNFTA_RULE_COMPAT_UNSPEC           = 0x0\n\tNFTA_RULE_COMPAT_PROTO            = 0x1\n\tNFTA_RULE_COMPAT_FLAGS            = 0x2\n\tNFT_SET_ANONYMOUS                 = 0x1\n\tNFT_SET_CONSTANT                  = 0x2\n\tNFT_SET_INTERVAL                  = 0x4\n\tNFT_SET_MAP                       = 0x8\n\tNFT_SET_TIMEOUT                   = 0x10\n\tNFT_SET_EVAL                      = 0x20\n\tNFT_SET_OBJECT                    = 0x40\n\tNFT_SET_POL_PERFORMANCE           = 0x0\n\tNFT_SET_POL_MEMORY                = 0x1\n\tNFTA_SET_DESC_UNSPEC              = 0x0\n\tNFTA_SET_DESC_SIZE                = 0x1\n\tNFTA_SET_UNSPEC                   = 0x0\n\tNFTA_SET_TABLE                    = 0x1\n\tNFTA_SET_NAME                     = 0x2\n\tNFTA_SET_FLAGS                    = 0x3\n\tNFTA_SET_KEY_TYPE                 = 0x4\n\tNFTA_SET_KEY_LEN                  = 0x5\n\tNFTA_SET_DATA_TYPE                = 0x6\n\tNFTA_SET_DATA_LEN                 = 0x7\n\tNFTA_SET_POLICY                   = 0x8\n\tNFTA_SET_DESC                     = 0x9\n\tNFTA_SET_ID                       = 0xa\n\tNFTA_SET_TIMEOUT                  = 0xb\n\tNFTA_SET_GC_INTERVAL              = 0xc\n\tNFTA_SET_USERDATA                 = 0xd\n\tNFTA_SET_PAD                      = 0xe\n\tNFTA_SET_OBJ_TYPE                 = 0xf\n\tNFT_SET_ELEM_INTERVAL_END         = 0x1\n\tNFTA_SET_ELEM_UNSPEC              = 0x0\n\tNFTA_SET_ELEM_KEY                 = 0x1\n\tNFTA_SET_ELEM_DATA                = 0x2\n\tNFTA_SET_ELEM_FLAGS               = 0x3\n\tNFTA_SET_ELEM_TIMEOUT             = 0x4\n\tNFTA_SET_ELEM_EXPIRATION          = 0x5\n\tNFTA_SET_ELEM_USERDATA            = 0x6\n\tNFTA_SET_ELEM_EXPR                = 0x7\n\tNFTA_SET_ELEM_PAD                 = 0x8\n\tNFTA_SET_ELEM_OBJREF              = 0x9\n\tNFTA_SET_ELEM_LIST_UNSPEC         = 0x0\n\tNFTA_SET_ELEM_LIST_TABLE          = 0x1\n\tNFTA_SET_ELEM_LIST_SET            = 0x2\n\tNFTA_SET_ELEM_LIST_ELEMENTS       = 0x3\n\tNFTA_SET_ELEM_LIST_SET_ID         = 0x4\n\tNFT_DATA_VALUE                    = 0x0\n\tNFT_DATA_VERDICT                  = 0xffffff00\n\tNFTA_DATA_UNSPEC                  = 0x0\n\tNFTA_DATA_VALUE                   = 0x1\n\tNFTA_DATA_VERDICT                 = 0x2\n\tNFTA_VERDICT_UNSPEC               = 0x0\n\tNFTA_VERDICT_CODE                 = 0x1\n\tNFTA_VERDICT_CHAIN                = 0x2\n\tNFTA_EXPR_UNSPEC                  = 0x0\n\tNFTA_EXPR_NAME                    = 0x1\n\tNFTA_EXPR_DATA                    = 0x2\n\tNFTA_IMMEDIATE_UNSPEC             = 0x0\n\tNFTA_IMMEDIATE_DREG               = 0x1\n\tNFTA_IMMEDIATE_DATA               = 0x2\n\tNFTA_BITWISE_UNSPEC               = 0x0\n\tNFTA_BITWISE_SREG                 = 0x1\n\tNFTA_BITWISE_DREG                 = 0x2\n\tNFTA_BITWISE_LEN                  = 0x3\n\tNFTA_BITWISE_MASK                 = 0x4\n\tNFTA_BITWISE_XOR                  = 0x5\n\tNFT_BYTEORDER_NTOH                = 0x0\n\tNFT_BYTEORDER_HTON                = 0x1\n\tNFTA_BYTEORDER_UNSPEC             = 0x0\n\tNFTA_BYTEORDER_SREG               = 0x1\n\tNFTA_BYTEORDER_DREG               = 0x2\n\tNFTA_BYTEORDER_OP                 = 0x3\n\tNFTA_BYTEORDER_LEN                = 0x4\n\tNFTA_BYTEORDER_SIZE               = 0x5\n\tNFT_CMP_EQ                        = 0x0\n\tNFT_CMP_NEQ                       = 0x1\n\tNFT_CMP_LT                        = 0x2\n\tNFT_CMP_LTE                       = 0x3\n\tNFT_CMP_GT                        = 0x4\n\tNFT_CMP_GTE                       = 0x5\n\tNFTA_CMP_UNSPEC                   = 0x0\n\tNFTA_CMP_SREG                     = 0x1\n\tNFTA_CMP_OP                       = 0x2\n\tNFTA_CMP_DATA                     = 0x3\n\tNFT_RANGE_EQ                      = 0x0\n\tNFT_RANGE_NEQ                     = 0x1\n\tNFTA_RANGE_UNSPEC                 = 0x0\n\tNFTA_RANGE_SREG                   = 0x1\n\tNFTA_RANGE_OP                     = 0x2\n\tNFTA_RANGE_FROM_DATA              = 0x3\n\tNFTA_RANGE_TO_DATA                = 0x4\n\tNFT_LOOKUP_F_INV                  = 0x1\n\tNFTA_LOOKUP_UNSPEC                = 0x0\n\tNFTA_LOOKUP_SET                   = 0x1\n\tNFTA_LOOKUP_SREG                  = 0x2\n\tNFTA_LOOKUP_DREG                  = 0x3\n\tNFTA_LOOKUP_SET_ID                = 0x4\n\tNFTA_LOOKUP_FLAGS                 = 0x5\n\tNFT_DYNSET_OP_ADD                 = 0x0\n\tNFT_DYNSET_OP_UPDATE              = 0x1\n\tNFT_DYNSET_F_INV                  = 0x1\n\tNFTA_DYNSET_UNSPEC                = 0x0\n\tNFTA_DYNSET_SET_NAME              = 0x1\n\tNFTA_DYNSET_SET_ID                = 0x2\n\tNFTA_DYNSET_OP                    = 0x3\n\tNFTA_DYNSET_SREG_KEY              = 0x4\n\tNFTA_DYNSET_SREG_DATA             = 0x5\n\tNFTA_DYNSET_TIMEOUT               = 0x6\n\tNFTA_DYNSET_EXPR                  = 0x7\n\tNFTA_DYNSET_PAD                   = 0x8\n\tNFTA_DYNSET_FLAGS                 = 0x9\n\tNFT_PAYLOAD_LL_HEADER             = 0x0\n\tNFT_PAYLOAD_NETWORK_HEADER        = 0x1\n\tNFT_PAYLOAD_TRANSPORT_HEADER      = 0x2\n\tNFT_PAYLOAD_CSUM_NONE             = 0x0\n\tNFT_PAYLOAD_CSUM_INET             = 0x1\n\tNFT_PAYLOAD_L4CSUM_PSEUDOHDR      = 0x1\n\tNFTA_PAYLOAD_UNSPEC               = 0x0\n\tNFTA_PAYLOAD_DREG                 = 0x1\n\tNFTA_PAYLOAD_BASE                 = 0x2\n\tNFTA_PAYLOAD_OFFSET               = 0x3\n\tNFTA_PAYLOAD_LEN                  = 0x4\n\tNFTA_PAYLOAD_SREG                 = 0x5\n\tNFTA_PAYLOAD_CSUM_TYPE            = 0x6\n\tNFTA_PAYLOAD_CSUM_OFFSET          = 0x7\n\tNFTA_PAYLOAD_CSUM_FLAGS           = 0x8\n\tNFT_EXTHDR_F_PRESENT              = 0x1\n\tNFT_EXTHDR_OP_IPV6                = 0x0\n\tNFT_EXTHDR_OP_TCPOPT              = 0x1\n\tNFTA_EXTHDR_UNSPEC                = 0x0\n\tNFTA_EXTHDR_DREG                  = 0x1\n\tNFTA_EXTHDR_TYPE                  = 0x2\n\tNFTA_EXTHDR_OFFSET                = 0x3\n\tNFTA_EXTHDR_LEN                   = 0x4\n\tNFTA_EXTHDR_FLAGS                 = 0x5\n\tNFTA_EXTHDR_OP                    = 0x6\n\tNFTA_EXTHDR_SREG                  = 0x7\n\tNFT_META_LEN                      = 0x0\n\tNFT_META_PROTOCOL                 = 0x1\n\tNFT_META_PRIORITY                 = 0x2\n\tNFT_META_MARK                     = 0x3\n\tNFT_META_IIF                      = 0x4\n\tNFT_META_OIF                      = 0x5\n\tNFT_META_IIFNAME                  = 0x6\n\tNFT_META_OIFNAME                  = 0x7\n\tNFT_META_IIFTYPE                  = 0x8\n\tNFT_META_OIFTYPE                  = 0x9\n\tNFT_META_SKUID                    = 0xa\n\tNFT_META_SKGID                    = 0xb\n\tNFT_META_NFTRACE                  = 0xc\n\tNFT_META_RTCLASSID                = 0xd\n\tNFT_META_SECMARK                  = 0xe\n\tNFT_META_NFPROTO                  = 0xf\n\tNFT_META_L4PROTO                  = 0x10\n\tNFT_META_BRI_IIFNAME              = 0x11\n\tNFT_META_BRI_OIFNAME              = 0x12\n\tNFT_META_PKTTYPE                  = 0x13\n\tNFT_META_CPU                      = 0x14\n\tNFT_META_IIFGROUP                 = 0x15\n\tNFT_META_OIFGROUP                 = 0x16\n\tNFT_META_CGROUP                   = 0x17\n\tNFT_META_PRANDOM                  = 0x18\n\tNFT_RT_CLASSID                    = 0x0\n\tNFT_RT_NEXTHOP4                   = 0x1\n\tNFT_RT_NEXTHOP6                   = 0x2\n\tNFT_RT_TCPMSS                     = 0x3\n\tNFT_HASH_JENKINS                  = 0x0\n\tNFT_HASH_SYM                      = 0x1\n\tNFTA_HASH_UNSPEC                  = 0x0\n\tNFTA_HASH_SREG                    = 0x1\n\tNFTA_HASH_DREG                    = 0x2\n\tNFTA_HASH_LEN                     = 0x3\n\tNFTA_HASH_MODULUS                 = 0x4\n\tNFTA_HASH_SEED                    = 0x5\n\tNFTA_HASH_OFFSET                  = 0x6\n\tNFTA_HASH_TYPE                    = 0x7\n\tNFTA_META_UNSPEC                  = 0x0\n\tNFTA_META_DREG                    = 0x1\n\tNFTA_META_KEY                     = 0x2\n\tNFTA_META_SREG                    = 0x3\n\tNFTA_RT_UNSPEC                    = 0x0\n\tNFTA_RT_DREG                      = 0x1\n\tNFTA_RT_KEY                       = 0x2\n\tNFT_CT_STATE                      = 0x0\n\tNFT_CT_DIRECTION                  = 0x1\n\tNFT_CT_STATUS                     = 0x2\n\tNFT_CT_MARK                       = 0x3\n\tNFT_CT_SECMARK                    = 0x4\n\tNFT_CT_EXPIRATION                 = 0x5\n\tNFT_CT_HELPER                     = 0x6\n\tNFT_CT_L3PROTOCOL                 = 0x7\n\tNFT_CT_SRC                        = 0x8\n\tNFT_CT_DST                        = 0x9\n\tNFT_CT_PROTOCOL                   = 0xa\n\tNFT_CT_PROTO_SRC                  = 0xb\n\tNFT_CT_PROTO_DST                  = 0xc\n\tNFT_CT_LABELS                     = 0xd\n\tNFT_CT_PKTS                       = 0xe\n\tNFT_CT_BYTES                      = 0xf\n\tNFT_CT_AVGPKT                     = 0x10\n\tNFT_CT_ZONE                       = 0x11\n\tNFT_CT_EVENTMASK                  = 0x12\n\tNFTA_CT_UNSPEC                    = 0x0\n\tNFTA_CT_DREG                      = 0x1\n\tNFTA_CT_KEY                       = 0x2\n\tNFTA_CT_DIRECTION                 = 0x3\n\tNFTA_CT_SREG                      = 0x4\n\tNFT_LIMIT_PKTS                    = 0x0\n\tNFT_LIMIT_PKT_BYTES               = 0x1\n\tNFT_LIMIT_F_INV                   = 0x1\n\tNFTA_LIMIT_UNSPEC                 = 0x0\n\tNFTA_LIMIT_RATE                   = 0x1\n\tNFTA_LIMIT_UNIT                   = 0x2\n\tNFTA_LIMIT_BURST                  = 0x3\n\tNFTA_LIMIT_TYPE                   = 0x4\n\tNFTA_LIMIT_FLAGS                  = 0x5\n\tNFTA_LIMIT_PAD                    = 0x6\n\tNFTA_COUNTER_UNSPEC               = 0x0\n\tNFTA_COUNTER_BYTES                = 0x1\n\tNFTA_COUNTER_PACKETS              = 0x2\n\tNFTA_COUNTER_PAD                  = 0x3\n\tNFTA_LOG_UNSPEC                   = 0x0\n\tNFTA_LOG_GROUP                    = 0x1\n\tNFTA_LOG_PREFIX                   = 0x2\n\tNFTA_LOG_SNAPLEN                  = 0x3\n\tNFTA_LOG_QTHRESHOLD               = 0x4\n\tNFTA_LOG_LEVEL                    = 0x5\n\tNFTA_LOG_FLAGS                    = 0x6\n\tNFTA_QUEUE_UNSPEC                 = 0x0\n\tNFTA_QUEUE_NUM                    = 0x1\n\tNFTA_QUEUE_TOTAL                  = 0x2\n\tNFTA_QUEUE_FLAGS                  = 0x3\n\tNFTA_QUEUE_SREG_QNUM              = 0x4\n\tNFT_QUOTA_F_INV                   = 0x1\n\tNFT_QUOTA_F_DEPLETED              = 0x2\n\tNFTA_QUOTA_UNSPEC                 = 0x0\n\tNFTA_QUOTA_BYTES                  = 0x1\n\tNFTA_QUOTA_FLAGS                  = 0x2\n\tNFTA_QUOTA_PAD                    = 0x3\n\tNFTA_QUOTA_CONSUMED               = 0x4\n\tNFT_REJECT_ICMP_UNREACH           = 0x0\n\tNFT_REJECT_TCP_RST                = 0x1\n\tNFT_REJECT_ICMPX_UNREACH          = 0x2\n\tNFT_REJECT_ICMPX_NO_ROUTE         = 0x0\n\tNFT_REJECT_ICMPX_PORT_UNREACH     = 0x1\n\tNFT_REJECT_ICMPX_HOST_UNREACH     = 0x2\n\tNFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3\n\tNFTA_REJECT_UNSPEC                = 0x0\n\tNFTA_REJECT_TYPE                  = 0x1\n\tNFTA_REJECT_ICMP_CODE             = 0x2\n\tNFT_NAT_SNAT                      = 0x0\n\tNFT_NAT_DNAT                      = 0x1\n\tNFTA_NAT_UNSPEC                   = 0x0\n\tNFTA_NAT_TYPE                     = 0x1\n\tNFTA_NAT_FAMILY                   = 0x2\n\tNFTA_NAT_REG_ADDR_MIN             = 0x3\n\tNFTA_NAT_REG_ADDR_MAX             = 0x4\n\tNFTA_NAT_REG_PROTO_MIN            = 0x5\n\tNFTA_NAT_REG_PROTO_MAX            = 0x6\n\tNFTA_NAT_FLAGS                    = 0x7\n\tNFTA_MASQ_UNSPEC                  = 0x0\n\tNFTA_MASQ_FLAGS                   = 0x1\n\tNFTA_MASQ_REG_PROTO_MIN           = 0x2\n\tNFTA_MASQ_REG_PROTO_MAX           = 0x3\n\tNFTA_REDIR_UNSPEC                 = 0x0\n\tNFTA_REDIR_REG_PROTO_MIN          = 0x1\n\tNFTA_REDIR_REG_PROTO_MAX          = 0x2\n\tNFTA_REDIR_FLAGS                  = 0x3\n\tNFTA_DUP_UNSPEC                   = 0x0\n\tNFTA_DUP_SREG_ADDR                = 0x1\n\tNFTA_DUP_SREG_DEV                 = 0x2\n\tNFTA_FWD_UNSPEC                   = 0x0\n\tNFTA_FWD_SREG_DEV                 = 0x1\n\tNFTA_OBJREF_UNSPEC                = 0x0\n\tNFTA_OBJREF_IMM_TYPE              = 0x1\n\tNFTA_OBJREF_IMM_NAME              = 0x2\n\tNFTA_OBJREF_SET_SREG              = 0x3\n\tNFTA_OBJREF_SET_NAME              = 0x4\n\tNFTA_OBJREF_SET_ID                = 0x5\n\tNFTA_GEN_UNSPEC                   = 0x0\n\tNFTA_GEN_ID                       = 0x1\n\tNFTA_GEN_PROC_PID                 = 0x2\n\tNFTA_GEN_PROC_NAME                = 0x3\n\tNFTA_FIB_UNSPEC                   = 0x0\n\tNFTA_FIB_DREG                     = 0x1\n\tNFTA_FIB_RESULT                   = 0x2\n\tNFTA_FIB_FLAGS                    = 0x3\n\tNFT_FIB_RESULT_UNSPEC             = 0x0\n\tNFT_FIB_RESULT_OIF                = 0x1\n\tNFT_FIB_RESULT_OIFNAME            = 0x2\n\tNFT_FIB_RESULT_ADDRTYPE           = 0x3\n\tNFTA_FIB_F_SADDR                  = 0x1\n\tNFTA_FIB_F_DADDR                  = 0x2\n\tNFTA_FIB_F_MARK                   = 0x4\n\tNFTA_FIB_F_IIF                    = 0x8\n\tNFTA_FIB_F_OIF                    = 0x10\n\tNFTA_FIB_F_PRESENT                = 0x20\n\tNFTA_CT_HELPER_UNSPEC             = 0x0\n\tNFTA_CT_HELPER_NAME               = 0x1\n\tNFTA_CT_HELPER_L3PROTO            = 0x2\n\tNFTA_CT_HELPER_L4PROTO            = 0x3\n\tNFTA_OBJ_UNSPEC                   = 0x0\n\tNFTA_OBJ_TABLE                    = 0x1\n\tNFTA_OBJ_NAME                     = 0x2\n\tNFTA_OBJ_TYPE                     = 0x3\n\tNFTA_OBJ_DATA                     = 0x4\n\tNFTA_OBJ_USE                      = 0x5\n\tNFTA_TRACE_UNSPEC                 = 0x0\n\tNFTA_TRACE_TABLE                  = 0x1\n\tNFTA_TRACE_CHAIN                  = 0x2\n\tNFTA_TRACE_RULE_HANDLE            = 0x3\n\tNFTA_TRACE_TYPE                   = 0x4\n\tNFTA_TRACE_VERDICT                = 0x5\n\tNFTA_TRACE_ID                     = 0x6\n\tNFTA_TRACE_LL_HEADER              = 0x7\n\tNFTA_TRACE_NETWORK_HEADER         = 0x8\n\tNFTA_TRACE_TRANSPORT_HEADER       = 0x9\n\tNFTA_TRACE_IIF                    = 0xa\n\tNFTA_TRACE_IIFTYPE                = 0xb\n\tNFTA_TRACE_OIF                    = 0xc\n\tNFTA_TRACE_OIFTYPE                = 0xd\n\tNFTA_TRACE_MARK                   = 0xe\n\tNFTA_TRACE_NFPROTO                = 0xf\n\tNFTA_TRACE_POLICY                 = 0x10\n\tNFTA_TRACE_PAD                    = 0x11\n\tNFT_TRACETYPE_UNSPEC              = 0x0\n\tNFT_TRACETYPE_POLICY              = 0x1\n\tNFT_TRACETYPE_RETURN              = 0x2\n\tNFT_TRACETYPE_RULE                = 0x3\n\tNFTA_NG_UNSPEC                    = 0x0\n\tNFTA_NG_DREG                      = 0x1\n\tNFTA_NG_MODULUS                   = 0x2\n\tNFTA_NG_TYPE                      = 0x3\n\tNFTA_NG_OFFSET                    = 0x4\n\tNFT_NG_INCREMENTAL                = 0x0\n\tNFT_NG_RANDOM                     = 0x1\n)\n\ntype RTCTime struct {\n\tSec   int32\n\tMin   int32\n\tHour  int32\n\tMday  int32\n\tMon   int32\n\tYear  int32\n\tWday  int32\n\tYday  int32\n\tIsdst int32\n}\n\ntype RTCWkAlrm struct {\n\tEnabled uint8\n\tPending uint8\n\t_       [2]byte\n\tTime    RTCTime\n}\n\ntype RTCPLLInfo struct {\n\tCtrl    int32\n\tValue   int32\n\tMax     int32\n\tMin     int32\n\tPosmult int32\n\tNegmult int32\n\tClock   int64\n}\n\ntype BlkpgIoctlArg struct {\n\tOp      int32\n\tFlags   int32\n\tDatalen int32\n\t_       [4]byte\n\tData    *byte\n}\n\ntype BlkpgPartition struct {\n\tStart   int64\n\tLength  int64\n\tPno     int32\n\tDevname [64]uint8\n\tVolname [64]uint8\n\t_       [4]byte\n}\n\nconst (\n\tBLKPG                  = 0x20001269\n\tBLKPG_ADD_PARTITION    = 0x1\n\tBLKPG_DEL_PARTITION    = 0x2\n\tBLKPG_RESIZE_PARTITION = 0x3\n)\n\nconst (\n\tNETNSA_NONE = 0x0\n\tNETNSA_NSID = 0x1\n\tNETNSA_PID  = 0x2\n\tNETNSA_FD   = 0x3\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go",
    "content": "// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char linux/types.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build s390x,linux\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x8\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x8\n\tsizeofLongLong = 0x8\n\tPathMax        = 0x1000\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int64\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int64\n}\n\ntype Timeval struct {\n\tSec  int64\n\tUsec int64\n}\n\ntype Timex struct {\n\tModes     uint32\n\t_         [4]byte\n\tOffset    int64\n\tFreq      int64\n\tMaxerror  int64\n\tEsterror  int64\n\tStatus    int32\n\t_         [4]byte\n\tConstant  int64\n\tPrecision int64\n\tTolerance int64\n\tTime      Timeval\n\tTick      int64\n\tPpsfreq   int64\n\tJitter    int64\n\tShift     int32\n\t_         [4]byte\n\tStabil    int64\n\tJitcnt    int64\n\tCalcnt    int64\n\tErrcnt    int64\n\tStbcnt    int64\n\tTai       int32\n\t_         [44]byte\n}\n\ntype Time_t int64\n\ntype Tms struct {\n\tUtime  int64\n\tStime  int64\n\tCutime int64\n\tCstime int64\n}\n\ntype Utimbuf struct {\n\tActime  int64\n\tModtime int64\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int64\n\tIxrss    int64\n\tIdrss    int64\n\tIsrss    int64\n\tMinflt   int64\n\tMajflt   int64\n\tNswap    int64\n\tInblock  int64\n\tOublock  int64\n\tMsgsnd   int64\n\tMsgrcv   int64\n\tNsignals int64\n\tNvcsw    int64\n\tNivcsw   int64\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev     uint64\n\tIno     uint64\n\tNlink   uint64\n\tMode    uint32\n\tUid     uint32\n\tGid     uint32\n\t_       int32\n\tRdev    uint64\n\tSize    int64\n\tAtim    Timespec\n\tMtim    Timespec\n\tCtim    Timespec\n\tBlksize int64\n\tBlocks  int64\n\t_       [3]int64\n}\n\ntype StatxTimestamp struct {\n\tSec  int64\n\tNsec uint32\n\t_    int32\n}\n\ntype Statx_t struct {\n\tMask            uint32\n\tBlksize         uint32\n\tAttributes      uint64\n\tNlink           uint32\n\tUid             uint32\n\tGid             uint32\n\tMode            uint16\n\t_               [1]uint16\n\tIno             uint64\n\tSize            uint64\n\tBlocks          uint64\n\tAttributes_mask uint64\n\tAtime           StatxTimestamp\n\tBtime           StatxTimestamp\n\tCtime           StatxTimestamp\n\tMtime           StatxTimestamp\n\tRdev_major      uint32\n\tRdev_minor      uint32\n\tDev_major       uint32\n\tDev_minor       uint32\n\t_               [14]uint64\n}\n\ntype Dirent struct {\n\tIno    uint64\n\tOff    int64\n\tReclen uint16\n\tType   uint8\n\tName   [256]int8\n\t_      [5]byte\n}\n\ntype Fsid struct {\n\tVal [2]int32\n}\n\ntype Flock_t struct {\n\tType   int16\n\tWhence int16\n\t_      [4]byte\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\t_      [4]byte\n}\n\ntype FscryptPolicy struct {\n\tVersion                   uint8\n\tContents_encryption_mode  uint8\n\tFilenames_encryption_mode uint8\n\tFlags                     uint8\n\tMaster_key_descriptor     [8]uint8\n}\n\ntype FscryptKey struct {\n\tMode uint32\n\tRaw  [64]uint8\n\tSize uint32\n}\n\ntype KeyctlDHParams struct {\n\tPrivate int32\n\tPrime   int32\n\tBase    int32\n}\n\nconst (\n\tFADV_NORMAL     = 0x0\n\tFADV_RANDOM     = 0x1\n\tFADV_SEQUENTIAL = 0x2\n\tFADV_WILLNEED   = 0x3\n\tFADV_DONTNEED   = 0x6\n\tFADV_NOREUSE    = 0x7\n)\n\ntype RawSockaddrInet4 struct {\n\tFamily uint16\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]uint8\n}\n\ntype RawSockaddrInet6 struct {\n\tFamily   uint16\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tFamily uint16\n\tPath   [108]int8\n}\n\ntype RawSockaddrLinklayer struct {\n\tFamily   uint16\n\tProtocol uint16\n\tIfindex  int32\n\tHatype   uint16\n\tPkttype  uint8\n\tHalen    uint8\n\tAddr     [8]uint8\n}\n\ntype RawSockaddrNetlink struct {\n\tFamily uint16\n\tPad    uint16\n\tPid    uint32\n\tGroups uint32\n}\n\ntype RawSockaddrHCI struct {\n\tFamily  uint16\n\tDev     uint16\n\tChannel uint16\n}\n\ntype RawSockaddrL2 struct {\n\tFamily      uint16\n\tPsm         uint16\n\tBdaddr      [6]uint8\n\tCid         uint16\n\tBdaddr_type uint8\n\t_           [1]byte\n}\n\ntype RawSockaddrRFCOMM struct {\n\tFamily  uint16\n\tBdaddr  [6]uint8\n\tChannel uint8\n\t_       [1]byte\n}\n\ntype RawSockaddrCAN struct {\n\tFamily  uint16\n\t_       [2]byte\n\tIfindex int32\n\tAddr    [8]byte\n}\n\ntype RawSockaddrALG struct {\n\tFamily uint16\n\tType   [14]uint8\n\tFeat   uint32\n\tMask   uint32\n\tName   [64]uint8\n}\n\ntype RawSockaddrVM struct {\n\tFamily    uint16\n\tReserved1 uint16\n\tPort      uint32\n\tCid       uint32\n\tZero      [4]uint8\n}\n\ntype RawSockaddr struct {\n\tFamily uint16\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [96]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint64\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPMreqn struct {\n\tMultiaddr [4]byte /* in_addr */\n\tAddress   [4]byte /* in_addr */\n\tIfindex   int32\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype PacketMreq struct {\n\tIfindex int32\n\tType    uint16\n\tAlen    uint16\n\tAddress [8]uint8\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\t_          [4]byte\n\tIov        *Iovec\n\tIovlen     uint64\n\tControl    *byte\n\tControllen uint64\n\tFlags      int32\n\t_          [4]byte\n}\n\ntype Cmsghdr struct {\n\tLen   uint64\n\tLevel int32\n\tType  int32\n}\n\ntype Inet4Pktinfo struct {\n\tIfindex  int32\n\tSpec_dst [4]byte /* in_addr */\n\tAddr     [4]byte /* in_addr */\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tData [8]uint32\n}\n\ntype Ucred struct {\n\tPid int32\n\tUid uint32\n\tGid uint32\n}\n\ntype TCPInfo struct {\n\tState          uint8\n\tCa_state       uint8\n\tRetransmits    uint8\n\tProbes         uint8\n\tBackoff        uint8\n\tOptions        uint8\n\t_              [2]byte\n\tRto            uint32\n\tAto            uint32\n\tSnd_mss        uint32\n\tRcv_mss        uint32\n\tUnacked        uint32\n\tSacked         uint32\n\tLost           uint32\n\tRetrans        uint32\n\tFackets        uint32\n\tLast_data_sent uint32\n\tLast_ack_sent  uint32\n\tLast_data_recv uint32\n\tLast_ack_recv  uint32\n\tPmtu           uint32\n\tRcv_ssthresh   uint32\n\tRtt            uint32\n\tRttvar         uint32\n\tSnd_ssthresh   uint32\n\tSnd_cwnd       uint32\n\tAdvmss         uint32\n\tReordering     uint32\n\tRcv_rtt        uint32\n\tRcv_space      uint32\n\tTotal_retrans  uint32\n}\n\nconst (\n\tSizeofSockaddrInet4     = 0x10\n\tSizeofSockaddrInet6     = 0x1c\n\tSizeofSockaddrAny       = 0x70\n\tSizeofSockaddrUnix      = 0x6e\n\tSizeofSockaddrLinklayer = 0x14\n\tSizeofSockaddrNetlink   = 0xc\n\tSizeofSockaddrHCI       = 0x6\n\tSizeofSockaddrL2        = 0xe\n\tSizeofSockaddrRFCOMM    = 0xa\n\tSizeofSockaddrCAN       = 0x10\n\tSizeofSockaddrALG       = 0x58\n\tSizeofSockaddrVM        = 0x10\n\tSizeofLinger            = 0x8\n\tSizeofIovec             = 0x10\n\tSizeofIPMreq            = 0x8\n\tSizeofIPMreqn           = 0xc\n\tSizeofIPv6Mreq          = 0x14\n\tSizeofPacketMreq        = 0x10\n\tSizeofMsghdr            = 0x38\n\tSizeofCmsghdr           = 0x10\n\tSizeofInet4Pktinfo      = 0xc\n\tSizeofInet6Pktinfo      = 0x14\n\tSizeofIPv6MTUInfo       = 0x20\n\tSizeofICMPv6Filter      = 0x20\n\tSizeofUcred             = 0xc\n\tSizeofTCPInfo           = 0x68\n)\n\nconst (\n\tIFA_UNSPEC           = 0x0\n\tIFA_ADDRESS          = 0x1\n\tIFA_LOCAL            = 0x2\n\tIFA_LABEL            = 0x3\n\tIFA_BROADCAST        = 0x4\n\tIFA_ANYCAST          = 0x5\n\tIFA_CACHEINFO        = 0x6\n\tIFA_MULTICAST        = 0x7\n\tIFLA_UNSPEC          = 0x0\n\tIFLA_ADDRESS         = 0x1\n\tIFLA_BROADCAST       = 0x2\n\tIFLA_IFNAME          = 0x3\n\tIFLA_INFO_KIND       = 0x1\n\tIFLA_MTU             = 0x4\n\tIFLA_LINK            = 0x5\n\tIFLA_QDISC           = 0x6\n\tIFLA_STATS           = 0x7\n\tIFLA_COST            = 0x8\n\tIFLA_PRIORITY        = 0x9\n\tIFLA_MASTER          = 0xa\n\tIFLA_WIRELESS        = 0xb\n\tIFLA_PROTINFO        = 0xc\n\tIFLA_TXQLEN          = 0xd\n\tIFLA_MAP             = 0xe\n\tIFLA_WEIGHT          = 0xf\n\tIFLA_OPERSTATE       = 0x10\n\tIFLA_LINKMODE        = 0x11\n\tIFLA_LINKINFO        = 0x12\n\tIFLA_NET_NS_PID      = 0x13\n\tIFLA_IFALIAS         = 0x14\n\tIFLA_NUM_VF          = 0x15\n\tIFLA_VFINFO_LIST     = 0x16\n\tIFLA_STATS64         = 0x17\n\tIFLA_VF_PORTS        = 0x18\n\tIFLA_PORT_SELF       = 0x19\n\tIFLA_AF_SPEC         = 0x1a\n\tIFLA_GROUP           = 0x1b\n\tIFLA_NET_NS_FD       = 0x1c\n\tIFLA_EXT_MASK        = 0x1d\n\tIFLA_PROMISCUITY     = 0x1e\n\tIFLA_NUM_TX_QUEUES   = 0x1f\n\tIFLA_NUM_RX_QUEUES   = 0x20\n\tIFLA_CARRIER         = 0x21\n\tIFLA_PHYS_PORT_ID    = 0x22\n\tIFLA_CARRIER_CHANGES = 0x23\n\tIFLA_PHYS_SWITCH_ID  = 0x24\n\tIFLA_LINK_NETNSID    = 0x25\n\tIFLA_PHYS_PORT_NAME  = 0x26\n\tIFLA_PROTO_DOWN      = 0x27\n\tIFLA_GSO_MAX_SEGS    = 0x28\n\tIFLA_GSO_MAX_SIZE    = 0x29\n\tIFLA_PAD             = 0x2a\n\tIFLA_XDP             = 0x2b\n\tIFLA_EVENT           = 0x2c\n\tIFLA_NEW_NETNSID     = 0x2d\n\tIFLA_IF_NETNSID      = 0x2e\n\tIFLA_MAX             = 0x31\n\tRT_SCOPE_UNIVERSE    = 0x0\n\tRT_SCOPE_SITE        = 0xc8\n\tRT_SCOPE_LINK        = 0xfd\n\tRT_SCOPE_HOST        = 0xfe\n\tRT_SCOPE_NOWHERE     = 0xff\n\tRT_TABLE_UNSPEC      = 0x0\n\tRT_TABLE_COMPAT      = 0xfc\n\tRT_TABLE_DEFAULT     = 0xfd\n\tRT_TABLE_MAIN        = 0xfe\n\tRT_TABLE_LOCAL       = 0xff\n\tRT_TABLE_MAX         = 0xffffffff\n\tRTA_UNSPEC           = 0x0\n\tRTA_DST              = 0x1\n\tRTA_SRC              = 0x2\n\tRTA_IIF              = 0x3\n\tRTA_OIF              = 0x4\n\tRTA_GATEWAY          = 0x5\n\tRTA_PRIORITY         = 0x6\n\tRTA_PREFSRC          = 0x7\n\tRTA_METRICS          = 0x8\n\tRTA_MULTIPATH        = 0x9\n\tRTA_FLOW             = 0xb\n\tRTA_CACHEINFO        = 0xc\n\tRTA_TABLE            = 0xf\n\tRTN_UNSPEC           = 0x0\n\tRTN_UNICAST          = 0x1\n\tRTN_LOCAL            = 0x2\n\tRTN_BROADCAST        = 0x3\n\tRTN_ANYCAST          = 0x4\n\tRTN_MULTICAST        = 0x5\n\tRTN_BLACKHOLE        = 0x6\n\tRTN_UNREACHABLE      = 0x7\n\tRTN_PROHIBIT         = 0x8\n\tRTN_THROW            = 0x9\n\tRTN_NAT              = 0xa\n\tRTN_XRESOLVE         = 0xb\n\tRTNLGRP_NONE         = 0x0\n\tRTNLGRP_LINK         = 0x1\n\tRTNLGRP_NOTIFY       = 0x2\n\tRTNLGRP_NEIGH        = 0x3\n\tRTNLGRP_TC           = 0x4\n\tRTNLGRP_IPV4_IFADDR  = 0x5\n\tRTNLGRP_IPV4_MROUTE  = 0x6\n\tRTNLGRP_IPV4_ROUTE   = 0x7\n\tRTNLGRP_IPV4_RULE    = 0x8\n\tRTNLGRP_IPV6_IFADDR  = 0x9\n\tRTNLGRP_IPV6_MROUTE  = 0xa\n\tRTNLGRP_IPV6_ROUTE   = 0xb\n\tRTNLGRP_IPV6_IFINFO  = 0xc\n\tRTNLGRP_IPV6_PREFIX  = 0x12\n\tRTNLGRP_IPV6_RULE    = 0x13\n\tRTNLGRP_ND_USEROPT   = 0x14\n\tSizeofNlMsghdr       = 0x10\n\tSizeofNlMsgerr       = 0x14\n\tSizeofRtGenmsg       = 0x1\n\tSizeofNlAttr         = 0x4\n\tSizeofRtAttr         = 0x4\n\tSizeofIfInfomsg      = 0x10\n\tSizeofIfAddrmsg      = 0x8\n\tSizeofRtMsg          = 0xc\n\tSizeofRtNexthop      = 0x8\n)\n\ntype NlMsghdr struct {\n\tLen   uint32\n\tType  uint16\n\tFlags uint16\n\tSeq   uint32\n\tPid   uint32\n}\n\ntype NlMsgerr struct {\n\tError int32\n\tMsg   NlMsghdr\n}\n\ntype RtGenmsg struct {\n\tFamily uint8\n}\n\ntype NlAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype RtAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype IfInfomsg struct {\n\tFamily uint8\n\t_      uint8\n\tType   uint16\n\tIndex  int32\n\tFlags  uint32\n\tChange uint32\n}\n\ntype IfAddrmsg struct {\n\tFamily    uint8\n\tPrefixlen uint8\n\tFlags     uint8\n\tScope     uint8\n\tIndex     uint32\n}\n\ntype RtMsg struct {\n\tFamily   uint8\n\tDst_len  uint8\n\tSrc_len  uint8\n\tTos      uint8\n\tTable    uint8\n\tProtocol uint8\n\tScope    uint8\n\tType     uint8\n\tFlags    uint32\n}\n\ntype RtNexthop struct {\n\tLen     uint16\n\tFlags   uint8\n\tHops    uint8\n\tIfindex int32\n}\n\nconst (\n\tSizeofSockFilter = 0x8\n\tSizeofSockFprog  = 0x10\n)\n\ntype SockFilter struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype SockFprog struct {\n\tLen    uint16\n\t_      [6]byte\n\tFilter *SockFilter\n}\n\ntype InotifyEvent struct {\n\tWd     int32\n\tMask   uint32\n\tCookie uint32\n\tLen    uint32\n}\n\nconst SizeofInotifyEvent = 0x10\n\ntype PtraceRegs struct {\n\tPsw                      PtracePsw\n\tGprs                     [16]uint64\n\tAcrs                     [16]uint32\n\tOrig_gpr2                uint64\n\tFp_regs                  PtraceFpregs\n\tPer_info                 PtracePer\n\tIeee_instruction_pointer uint64\n}\n\ntype PtracePsw struct {\n\tMask uint64\n\tAddr uint64\n}\n\ntype PtraceFpregs struct {\n\tFpc  uint32\n\t_    [4]byte\n\tFprs [16]float64\n}\n\ntype PtracePer struct {\n\t_             [0]uint64\n\t_             [24]byte\n\t_             [8]byte\n\tStarting_addr uint64\n\tEnding_addr   uint64\n\tPerc_atmid    uint16\n\t_             [6]byte\n\tAddress       uint64\n\tAccess_id     uint8\n\t_             [7]byte\n}\n\ntype FdSet struct {\n\tBits [16]int64\n}\n\ntype Sysinfo_t struct {\n\tUptime    int64\n\tLoads     [3]uint64\n\tTotalram  uint64\n\tFreeram   uint64\n\tSharedram uint64\n\tBufferram uint64\n\tTotalswap uint64\n\tFreeswap  uint64\n\tProcs     uint16\n\tPad       uint16\n\t_         [4]byte\n\tTotalhigh uint64\n\tFreehigh  uint64\n\tUnit      uint32\n\t_         [0]int8\n\t_         [4]byte\n}\n\ntype Utsname struct {\n\tSysname    [65]byte\n\tNodename   [65]byte\n\tRelease    [65]byte\n\tVersion    [65]byte\n\tMachine    [65]byte\n\tDomainname [65]byte\n}\n\ntype Ustat_t struct {\n\tTfree  int32\n\t_      [4]byte\n\tTinode uint64\n\tFname  [6]int8\n\tFpack  [6]int8\n\t_      [4]byte\n}\n\ntype EpollEvent struct {\n\tEvents uint32\n\t_      int32\n\tFd     int32\n\tPad    int32\n}\n\nconst (\n\tAT_EMPTY_PATH   = 0x1000\n\tAT_FDCWD        = -0x64\n\tAT_NO_AUTOMOUNT = 0x800\n\tAT_REMOVEDIR    = 0x200\n\n\tAT_STATX_SYNC_AS_STAT = 0x0\n\tAT_STATX_FORCE_SYNC   = 0x2000\n\tAT_STATX_DONT_SYNC    = 0x4000\n\n\tAT_SYMLINK_FOLLOW   = 0x400\n\tAT_SYMLINK_NOFOLLOW = 0x100\n\n\tAT_EACCESS = 0x200\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLIN    = 0x1\n\tPOLLPRI   = 0x2\n\tPOLLOUT   = 0x4\n\tPOLLRDHUP = 0x2000\n\tPOLLERR   = 0x8\n\tPOLLHUP   = 0x10\n\tPOLLNVAL  = 0x20\n)\n\ntype Sigset_t struct {\n\tVal [16]uint64\n}\n\nconst RNDGETENTCNT = 0x80045200\n\nconst PERF_IOC_FLAG_GROUP = 0x1\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tLine   uint8\n\tCc     [19]uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\ntype Taskstats struct {\n\tVersion                   uint16\n\t_                         [2]byte\n\tAc_exitcode               uint32\n\tAc_flag                   uint8\n\tAc_nice                   uint8\n\t_                         [6]byte\n\tCpu_count                 uint64\n\tCpu_delay_total           uint64\n\tBlkio_count               uint64\n\tBlkio_delay_total         uint64\n\tSwapin_count              uint64\n\tSwapin_delay_total        uint64\n\tCpu_run_real_total        uint64\n\tCpu_run_virtual_total     uint64\n\tAc_comm                   [32]int8\n\tAc_sched                  uint8\n\tAc_pad                    [3]uint8\n\t_                         [4]byte\n\tAc_uid                    uint32\n\tAc_gid                    uint32\n\tAc_pid                    uint32\n\tAc_ppid                   uint32\n\tAc_btime                  uint32\n\t_                         [4]byte\n\tAc_etime                  uint64\n\tAc_utime                  uint64\n\tAc_stime                  uint64\n\tAc_minflt                 uint64\n\tAc_majflt                 uint64\n\tCoremem                   uint64\n\tVirtmem                   uint64\n\tHiwater_rss               uint64\n\tHiwater_vm                uint64\n\tRead_char                 uint64\n\tWrite_char                uint64\n\tRead_syscalls             uint64\n\tWrite_syscalls            uint64\n\tRead_bytes                uint64\n\tWrite_bytes               uint64\n\tCancelled_write_bytes     uint64\n\tNvcsw                     uint64\n\tNivcsw                    uint64\n\tAc_utimescaled            uint64\n\tAc_stimescaled            uint64\n\tCpu_scaled_run_real_total uint64\n\tFreepages_count           uint64\n\tFreepages_delay_total     uint64\n}\n\nconst (\n\tTASKSTATS_CMD_UNSPEC                  = 0x0\n\tTASKSTATS_CMD_GET                     = 0x1\n\tTASKSTATS_CMD_NEW                     = 0x2\n\tTASKSTATS_TYPE_UNSPEC                 = 0x0\n\tTASKSTATS_TYPE_PID                    = 0x1\n\tTASKSTATS_TYPE_TGID                   = 0x2\n\tTASKSTATS_TYPE_STATS                  = 0x3\n\tTASKSTATS_TYPE_AGGR_PID               = 0x4\n\tTASKSTATS_TYPE_AGGR_TGID              = 0x5\n\tTASKSTATS_TYPE_NULL                   = 0x6\n\tTASKSTATS_CMD_ATTR_UNSPEC             = 0x0\n\tTASKSTATS_CMD_ATTR_PID                = 0x1\n\tTASKSTATS_CMD_ATTR_TGID               = 0x2\n\tTASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3\n\tTASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4\n)\n\ntype CGroupStats struct {\n\tSleeping        uint64\n\tRunning         uint64\n\tStopped         uint64\n\tUninterruptible uint64\n\tIo_wait         uint64\n}\n\nconst (\n\tCGROUPSTATS_CMD_UNSPEC        = 0x3\n\tCGROUPSTATS_CMD_GET           = 0x4\n\tCGROUPSTATS_CMD_NEW           = 0x5\n\tCGROUPSTATS_TYPE_UNSPEC       = 0x0\n\tCGROUPSTATS_TYPE_CGROUP_STATS = 0x1\n\tCGROUPSTATS_CMD_ATTR_UNSPEC   = 0x0\n\tCGROUPSTATS_CMD_ATTR_FD       = 0x1\n)\n\ntype Genlmsghdr struct {\n\tCmd      uint8\n\tVersion  uint8\n\tReserved uint16\n}\n\nconst (\n\tCTRL_CMD_UNSPEC            = 0x0\n\tCTRL_CMD_NEWFAMILY         = 0x1\n\tCTRL_CMD_DELFAMILY         = 0x2\n\tCTRL_CMD_GETFAMILY         = 0x3\n\tCTRL_CMD_NEWOPS            = 0x4\n\tCTRL_CMD_DELOPS            = 0x5\n\tCTRL_CMD_GETOPS            = 0x6\n\tCTRL_CMD_NEWMCAST_GRP      = 0x7\n\tCTRL_CMD_DELMCAST_GRP      = 0x8\n\tCTRL_CMD_GETMCAST_GRP      = 0x9\n\tCTRL_ATTR_UNSPEC           = 0x0\n\tCTRL_ATTR_FAMILY_ID        = 0x1\n\tCTRL_ATTR_FAMILY_NAME      = 0x2\n\tCTRL_ATTR_VERSION          = 0x3\n\tCTRL_ATTR_HDRSIZE          = 0x4\n\tCTRL_ATTR_MAXATTR          = 0x5\n\tCTRL_ATTR_OPS              = 0x6\n\tCTRL_ATTR_MCAST_GROUPS     = 0x7\n\tCTRL_ATTR_OP_UNSPEC        = 0x0\n\tCTRL_ATTR_OP_ID            = 0x1\n\tCTRL_ATTR_OP_FLAGS         = 0x2\n\tCTRL_ATTR_MCAST_GRP_UNSPEC = 0x0\n\tCTRL_ATTR_MCAST_GRP_NAME   = 0x1\n\tCTRL_ATTR_MCAST_GRP_ID     = 0x2\n)\n\ntype cpuMask uint64\n\nconst (\n\t_CPU_SETSIZE = 0x400\n\t_NCPUBITS    = 0x40\n)\n\nconst (\n\tBDADDR_BREDR     = 0x0\n\tBDADDR_LE_PUBLIC = 0x1\n\tBDADDR_LE_RANDOM = 0x2\n)\n\ntype PerfEventAttr struct {\n\tType               uint32\n\tSize               uint32\n\tConfig             uint64\n\tSample             uint64\n\tSample_type        uint64\n\tRead_format        uint64\n\tBits               uint64\n\tWakeup             uint32\n\tBp_type            uint32\n\tExt1               uint64\n\tExt2               uint64\n\tBranch_sample_type uint64\n\tSample_regs_user   uint64\n\tSample_stack_user  uint32\n\tClockid            int32\n\tSample_regs_intr   uint64\n\tAux_watermark      uint32\n\t_                  uint32\n}\n\ntype PerfEventMmapPage struct {\n\tVersion        uint32\n\tCompat_version uint32\n\tLock           uint32\n\tIndex          uint32\n\tOffset         int64\n\tTime_enabled   uint64\n\tTime_running   uint64\n\tCapabilities   uint64\n\tPmc_width      uint16\n\tTime_shift     uint16\n\tTime_mult      uint32\n\tTime_offset    uint64\n\tTime_zero      uint64\n\tSize           uint32\n\t_              [948]uint8\n\tData_head      uint64\n\tData_tail      uint64\n\tData_offset    uint64\n\tData_size      uint64\n\tAux_head       uint64\n\tAux_tail       uint64\n\tAux_offset     uint64\n\tAux_size       uint64\n}\n\nconst (\n\tPerfBitDisabled               uint64 = CBitFieldMaskBit0\n\tPerfBitInherit                       = CBitFieldMaskBit1\n\tPerfBitPinned                        = CBitFieldMaskBit2\n\tPerfBitExclusive                     = CBitFieldMaskBit3\n\tPerfBitExcludeUser                   = CBitFieldMaskBit4\n\tPerfBitExcludeKernel                 = CBitFieldMaskBit5\n\tPerfBitExcludeHv                     = CBitFieldMaskBit6\n\tPerfBitExcludeIdle                   = CBitFieldMaskBit7\n\tPerfBitMmap                          = CBitFieldMaskBit8\n\tPerfBitComm                          = CBitFieldMaskBit9\n\tPerfBitFreq                          = CBitFieldMaskBit10\n\tPerfBitInheritStat                   = CBitFieldMaskBit11\n\tPerfBitEnableOnExec                  = CBitFieldMaskBit12\n\tPerfBitTask                          = CBitFieldMaskBit13\n\tPerfBitWatermark                     = CBitFieldMaskBit14\n\tPerfBitPreciseIPBit1                 = CBitFieldMaskBit15\n\tPerfBitPreciseIPBit2                 = CBitFieldMaskBit16\n\tPerfBitMmapData                      = CBitFieldMaskBit17\n\tPerfBitSampleIDAll                   = CBitFieldMaskBit18\n\tPerfBitExcludeHost                   = CBitFieldMaskBit19\n\tPerfBitExcludeGuest                  = CBitFieldMaskBit20\n\tPerfBitExcludeCallchainKernel        = CBitFieldMaskBit21\n\tPerfBitExcludeCallchainUser          = CBitFieldMaskBit22\n\tPerfBitMmap2                         = CBitFieldMaskBit23\n\tPerfBitCommExec                      = CBitFieldMaskBit24\n\tPerfBitUseClockID                    = CBitFieldMaskBit25\n\tPerfBitContextSwitch                 = CBitFieldMaskBit26\n)\n\nconst (\n\tPERF_TYPE_HARDWARE   = 0x0\n\tPERF_TYPE_SOFTWARE   = 0x1\n\tPERF_TYPE_TRACEPOINT = 0x2\n\tPERF_TYPE_HW_CACHE   = 0x3\n\tPERF_TYPE_RAW        = 0x4\n\tPERF_TYPE_BREAKPOINT = 0x5\n\n\tPERF_COUNT_HW_CPU_CYCLES              = 0x0\n\tPERF_COUNT_HW_INSTRUCTIONS            = 0x1\n\tPERF_COUNT_HW_CACHE_REFERENCES        = 0x2\n\tPERF_COUNT_HW_CACHE_MISSES            = 0x3\n\tPERF_COUNT_HW_BRANCH_INSTRUCTIONS     = 0x4\n\tPERF_COUNT_HW_BRANCH_MISSES           = 0x5\n\tPERF_COUNT_HW_BUS_CYCLES              = 0x6\n\tPERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7\n\tPERF_COUNT_HW_STALLED_CYCLES_BACKEND  = 0x8\n\tPERF_COUNT_HW_REF_CPU_CYCLES          = 0x9\n\n\tPERF_COUNT_HW_CACHE_L1D  = 0x0\n\tPERF_COUNT_HW_CACHE_L1I  = 0x1\n\tPERF_COUNT_HW_CACHE_LL   = 0x2\n\tPERF_COUNT_HW_CACHE_DTLB = 0x3\n\tPERF_COUNT_HW_CACHE_ITLB = 0x4\n\tPERF_COUNT_HW_CACHE_BPU  = 0x5\n\tPERF_COUNT_HW_CACHE_NODE = 0x6\n\n\tPERF_COUNT_HW_CACHE_OP_READ     = 0x0\n\tPERF_COUNT_HW_CACHE_OP_WRITE    = 0x1\n\tPERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2\n\n\tPERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0\n\tPERF_COUNT_HW_CACHE_RESULT_MISS   = 0x1\n\n\tPERF_COUNT_SW_CPU_CLOCK        = 0x0\n\tPERF_COUNT_SW_TASK_CLOCK       = 0x1\n\tPERF_COUNT_SW_PAGE_FAULTS      = 0x2\n\tPERF_COUNT_SW_CONTEXT_SWITCHES = 0x3\n\tPERF_COUNT_SW_CPU_MIGRATIONS   = 0x4\n\tPERF_COUNT_SW_PAGE_FAULTS_MIN  = 0x5\n\tPERF_COUNT_SW_PAGE_FAULTS_MAJ  = 0x6\n\tPERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7\n\tPERF_COUNT_SW_EMULATION_FAULTS = 0x8\n\tPERF_COUNT_SW_DUMMY            = 0x9\n\n\tPERF_SAMPLE_IP           = 0x1\n\tPERF_SAMPLE_TID          = 0x2\n\tPERF_SAMPLE_TIME         = 0x4\n\tPERF_SAMPLE_ADDR         = 0x8\n\tPERF_SAMPLE_READ         = 0x10\n\tPERF_SAMPLE_CALLCHAIN    = 0x20\n\tPERF_SAMPLE_ID           = 0x40\n\tPERF_SAMPLE_CPU          = 0x80\n\tPERF_SAMPLE_PERIOD       = 0x100\n\tPERF_SAMPLE_STREAM_ID    = 0x200\n\tPERF_SAMPLE_RAW          = 0x400\n\tPERF_SAMPLE_BRANCH_STACK = 0x800\n\n\tPERF_SAMPLE_BRANCH_USER       = 0x1\n\tPERF_SAMPLE_BRANCH_KERNEL     = 0x2\n\tPERF_SAMPLE_BRANCH_HV         = 0x4\n\tPERF_SAMPLE_BRANCH_ANY        = 0x8\n\tPERF_SAMPLE_BRANCH_ANY_CALL   = 0x10\n\tPERF_SAMPLE_BRANCH_ANY_RETURN = 0x20\n\tPERF_SAMPLE_BRANCH_IND_CALL   = 0x40\n\n\tPERF_FORMAT_TOTAL_TIME_ENABLED = 0x1\n\tPERF_FORMAT_TOTAL_TIME_RUNNING = 0x2\n\tPERF_FORMAT_ID                 = 0x4\n\tPERF_FORMAT_GROUP              = 0x8\n\n\tPERF_RECORD_MMAP       = 0x1\n\tPERF_RECORD_LOST       = 0x2\n\tPERF_RECORD_COMM       = 0x3\n\tPERF_RECORD_EXIT       = 0x4\n\tPERF_RECORD_THROTTLE   = 0x5\n\tPERF_RECORD_UNTHROTTLE = 0x6\n\tPERF_RECORD_FORK       = 0x7\n\tPERF_RECORD_READ       = 0x8\n\tPERF_RECORD_SAMPLE     = 0x9\n\n\tPERF_CONTEXT_HV     = -0x20\n\tPERF_CONTEXT_KERNEL = -0x80\n\tPERF_CONTEXT_USER   = -0x200\n\n\tPERF_CONTEXT_GUEST        = -0x800\n\tPERF_CONTEXT_GUEST_KERNEL = -0x880\n\tPERF_CONTEXT_GUEST_USER   = -0xa00\n\n\tPERF_FLAG_FD_NO_GROUP = 0x1\n\tPERF_FLAG_FD_OUTPUT   = 0x2\n\tPERF_FLAG_PID_CGROUP  = 0x4\n)\n\nconst (\n\tCBitFieldMaskBit0  = 0x8000000000000000\n\tCBitFieldMaskBit1  = 0x4000000000000000\n\tCBitFieldMaskBit2  = 0x2000000000000000\n\tCBitFieldMaskBit3  = 0x1000000000000000\n\tCBitFieldMaskBit4  = 0x800000000000000\n\tCBitFieldMaskBit5  = 0x400000000000000\n\tCBitFieldMaskBit6  = 0x200000000000000\n\tCBitFieldMaskBit7  = 0x100000000000000\n\tCBitFieldMaskBit8  = 0x80000000000000\n\tCBitFieldMaskBit9  = 0x40000000000000\n\tCBitFieldMaskBit10 = 0x20000000000000\n\tCBitFieldMaskBit11 = 0x10000000000000\n\tCBitFieldMaskBit12 = 0x8000000000000\n\tCBitFieldMaskBit13 = 0x4000000000000\n\tCBitFieldMaskBit14 = 0x2000000000000\n\tCBitFieldMaskBit15 = 0x1000000000000\n\tCBitFieldMaskBit16 = 0x800000000000\n\tCBitFieldMaskBit17 = 0x400000000000\n\tCBitFieldMaskBit18 = 0x200000000000\n\tCBitFieldMaskBit19 = 0x100000000000\n\tCBitFieldMaskBit20 = 0x80000000000\n\tCBitFieldMaskBit21 = 0x40000000000\n\tCBitFieldMaskBit22 = 0x20000000000\n\tCBitFieldMaskBit23 = 0x10000000000\n\tCBitFieldMaskBit24 = 0x8000000000\n\tCBitFieldMaskBit25 = 0x4000000000\n\tCBitFieldMaskBit26 = 0x2000000000\n\tCBitFieldMaskBit27 = 0x1000000000\n\tCBitFieldMaskBit28 = 0x800000000\n\tCBitFieldMaskBit29 = 0x400000000\n\tCBitFieldMaskBit30 = 0x200000000\n\tCBitFieldMaskBit31 = 0x100000000\n\tCBitFieldMaskBit32 = 0x80000000\n\tCBitFieldMaskBit33 = 0x40000000\n\tCBitFieldMaskBit34 = 0x20000000\n\tCBitFieldMaskBit35 = 0x10000000\n\tCBitFieldMaskBit36 = 0x8000000\n\tCBitFieldMaskBit37 = 0x4000000\n\tCBitFieldMaskBit38 = 0x2000000\n\tCBitFieldMaskBit39 = 0x1000000\n\tCBitFieldMaskBit40 = 0x800000\n\tCBitFieldMaskBit41 = 0x400000\n\tCBitFieldMaskBit42 = 0x200000\n\tCBitFieldMaskBit43 = 0x100000\n\tCBitFieldMaskBit44 = 0x80000\n\tCBitFieldMaskBit45 = 0x40000\n\tCBitFieldMaskBit46 = 0x20000\n\tCBitFieldMaskBit47 = 0x10000\n\tCBitFieldMaskBit48 = 0x8000\n\tCBitFieldMaskBit49 = 0x4000\n\tCBitFieldMaskBit50 = 0x2000\n\tCBitFieldMaskBit51 = 0x1000\n\tCBitFieldMaskBit52 = 0x800\n\tCBitFieldMaskBit53 = 0x400\n\tCBitFieldMaskBit54 = 0x200\n\tCBitFieldMaskBit55 = 0x100\n\tCBitFieldMaskBit56 = 0x80\n\tCBitFieldMaskBit57 = 0x40\n\tCBitFieldMaskBit58 = 0x20\n\tCBitFieldMaskBit59 = 0x10\n\tCBitFieldMaskBit60 = 0x8\n\tCBitFieldMaskBit61 = 0x4\n\tCBitFieldMaskBit62 = 0x2\n\tCBitFieldMaskBit63 = 0x1\n)\n\ntype SockaddrStorage struct {\n\tFamily uint16\n\t_      [118]int8\n\t_      uint64\n}\n\ntype TCPMD5Sig struct {\n\tAddr      SockaddrStorage\n\tFlags     uint8\n\tPrefixlen uint8\n\tKeylen    uint16\n\t_         uint32\n\tKey       [80]uint8\n}\n\ntype HDDriveCmdHdr struct {\n\tCommand uint8\n\tNumber  uint8\n\tFeature uint8\n\tCount   uint8\n}\n\ntype HDGeometry struct {\n\tHeads     uint8\n\tSectors   uint8\n\tCylinders uint16\n\t_         [4]byte\n\tStart     uint64\n}\n\ntype HDDriveID struct {\n\tConfig         uint16\n\tCyls           uint16\n\tReserved2      uint16\n\tHeads          uint16\n\tTrack_bytes    uint16\n\tSector_bytes   uint16\n\tSectors        uint16\n\tVendor0        uint16\n\tVendor1        uint16\n\tVendor2        uint16\n\tSerial_no      [20]uint8\n\tBuf_type       uint16\n\tBuf_size       uint16\n\tEcc_bytes      uint16\n\tFw_rev         [8]uint8\n\tModel          [40]uint8\n\tMax_multsect   uint8\n\tVendor3        uint8\n\tDword_io       uint16\n\tVendor4        uint8\n\tCapability     uint8\n\tReserved50     uint16\n\tVendor5        uint8\n\tTPIO           uint8\n\tVendor6        uint8\n\tTDMA           uint8\n\tField_valid    uint16\n\tCur_cyls       uint16\n\tCur_heads      uint16\n\tCur_sectors    uint16\n\tCur_capacity0  uint16\n\tCur_capacity1  uint16\n\tMultsect       uint8\n\tMultsect_valid uint8\n\tLba_capacity   uint32\n\tDma_1word      uint16\n\tDma_mword      uint16\n\tEide_pio_modes uint16\n\tEide_dma_min   uint16\n\tEide_dma_time  uint16\n\tEide_pio       uint16\n\tEide_pio_iordy uint16\n\tWords69_70     [2]uint16\n\tWords71_74     [4]uint16\n\tQueue_depth    uint16\n\tWords76_79     [4]uint16\n\tMajor_rev_num  uint16\n\tMinor_rev_num  uint16\n\tCommand_set_1  uint16\n\tCommand_set_2  uint16\n\tCfsse          uint16\n\tCfs_enable_1   uint16\n\tCfs_enable_2   uint16\n\tCsf_default    uint16\n\tDma_ultra      uint16\n\tTrseuc         uint16\n\tTrsEuc         uint16\n\tCurAPMvalues   uint16\n\tMprc           uint16\n\tHw_config      uint16\n\tAcoustic       uint16\n\tMsrqs          uint16\n\tSxfert         uint16\n\tSal            uint16\n\tSpg            uint32\n\tLba_capacity_2 uint64\n\tWords104_125   [22]uint16\n\tLast_lun       uint16\n\tWord127        uint16\n\tDlf            uint16\n\tCsfo           uint16\n\tWords130_155   [26]uint16\n\tWord156        uint16\n\tWords157_159   [3]uint16\n\tCfa_power      uint16\n\tWords161_175   [15]uint16\n\tWords176_205   [30]uint16\n\tWords206_254   [49]uint16\n\tIntegrity_word uint16\n}\n\ntype Statfs_t struct {\n\tType    uint32\n\tBsize   uint32\n\tBlocks  uint64\n\tBfree   uint64\n\tBavail  uint64\n\tFiles   uint64\n\tFfree   uint64\n\tFsid    Fsid\n\tNamelen uint32\n\tFrsize  uint32\n\tFlags   uint32\n\tSpare   [4]uint32\n\t_       [4]byte\n}\n\nconst (\n\tST_MANDLOCK    = 0x40\n\tST_NOATIME     = 0x400\n\tST_NODEV       = 0x4\n\tST_NODIRATIME  = 0x800\n\tST_NOEXEC      = 0x8\n\tST_NOSUID      = 0x2\n\tST_RDONLY      = 0x1\n\tST_RELATIME    = 0x1000\n\tST_SYNCHRONOUS = 0x10\n)\n\ntype TpacketHdr struct {\n\tStatus  uint64\n\tLen     uint32\n\tSnaplen uint32\n\tMac     uint16\n\tNet     uint16\n\tSec     uint32\n\tUsec    uint32\n\t_       [4]byte\n}\n\ntype Tpacket2Hdr struct {\n\tStatus    uint32\n\tLen       uint32\n\tSnaplen   uint32\n\tMac       uint16\n\tNet       uint16\n\tSec       uint32\n\tNsec      uint32\n\tVlan_tci  uint16\n\tVlan_tpid uint16\n\t_         [4]uint8\n}\n\ntype Tpacket3Hdr struct {\n\tNext_offset uint32\n\tSec         uint32\n\tNsec        uint32\n\tSnaplen     uint32\n\tLen         uint32\n\tStatus      uint32\n\tMac         uint16\n\tNet         uint16\n\tHv1         TpacketHdrVariant1\n\t_           [8]uint8\n}\n\ntype TpacketHdrVariant1 struct {\n\tRxhash    uint32\n\tVlan_tci  uint32\n\tVlan_tpid uint16\n\t_         uint16\n}\n\ntype TpacketBlockDesc struct {\n\tVersion uint32\n\tTo_priv uint32\n\tHdr     [40]byte\n}\n\ntype TpacketReq struct {\n\tBlock_size uint32\n\tBlock_nr   uint32\n\tFrame_size uint32\n\tFrame_nr   uint32\n}\n\ntype TpacketReq3 struct {\n\tBlock_size       uint32\n\tBlock_nr         uint32\n\tFrame_size       uint32\n\tFrame_nr         uint32\n\tRetire_blk_tov   uint32\n\tSizeof_priv      uint32\n\tFeature_req_word uint32\n}\n\ntype TpacketStats struct {\n\tPackets uint32\n\tDrops   uint32\n}\n\ntype TpacketStatsV3 struct {\n\tPackets      uint32\n\tDrops        uint32\n\tFreeze_q_cnt uint32\n}\n\ntype TpacketAuxdata struct {\n\tStatus    uint32\n\tLen       uint32\n\tSnaplen   uint32\n\tMac       uint16\n\tNet       uint16\n\tVlan_tci  uint16\n\tVlan_tpid uint16\n}\n\nconst (\n\tTPACKET_V1 = 0x0\n\tTPACKET_V2 = 0x1\n\tTPACKET_V3 = 0x2\n)\n\nconst (\n\tSizeofTpacketHdr  = 0x20\n\tSizeofTpacket2Hdr = 0x20\n\tSizeofTpacket3Hdr = 0x30\n)\n\nconst (\n\tNF_INET_PRE_ROUTING  = 0x0\n\tNF_INET_LOCAL_IN     = 0x1\n\tNF_INET_FORWARD      = 0x2\n\tNF_INET_LOCAL_OUT    = 0x3\n\tNF_INET_POST_ROUTING = 0x4\n\tNF_INET_NUMHOOKS     = 0x5\n)\n\nconst (\n\tNF_NETDEV_INGRESS  = 0x0\n\tNF_NETDEV_NUMHOOKS = 0x1\n)\n\nconst (\n\tNFPROTO_UNSPEC   = 0x0\n\tNFPROTO_INET     = 0x1\n\tNFPROTO_IPV4     = 0x2\n\tNFPROTO_ARP      = 0x3\n\tNFPROTO_NETDEV   = 0x5\n\tNFPROTO_BRIDGE   = 0x7\n\tNFPROTO_IPV6     = 0xa\n\tNFPROTO_DECNET   = 0xc\n\tNFPROTO_NUMPROTO = 0xd\n)\n\ntype Nfgenmsg struct {\n\tNfgen_family uint8\n\tVersion      uint8\n\tRes_id       uint16\n}\n\nconst (\n\tNFNL_BATCH_UNSPEC = 0x0\n\tNFNL_BATCH_GENID  = 0x1\n)\n\nconst (\n\tNFT_REG_VERDICT                   = 0x0\n\tNFT_REG_1                         = 0x1\n\tNFT_REG_2                         = 0x2\n\tNFT_REG_3                         = 0x3\n\tNFT_REG_4                         = 0x4\n\tNFT_REG32_00                      = 0x8\n\tNFT_REG32_01                      = 0x9\n\tNFT_REG32_02                      = 0xa\n\tNFT_REG32_03                      = 0xb\n\tNFT_REG32_04                      = 0xc\n\tNFT_REG32_05                      = 0xd\n\tNFT_REG32_06                      = 0xe\n\tNFT_REG32_07                      = 0xf\n\tNFT_REG32_08                      = 0x10\n\tNFT_REG32_09                      = 0x11\n\tNFT_REG32_10                      = 0x12\n\tNFT_REG32_11                      = 0x13\n\tNFT_REG32_12                      = 0x14\n\tNFT_REG32_13                      = 0x15\n\tNFT_REG32_14                      = 0x16\n\tNFT_REG32_15                      = 0x17\n\tNFT_CONTINUE                      = -0x1\n\tNFT_BREAK                         = -0x2\n\tNFT_JUMP                          = -0x3\n\tNFT_GOTO                          = -0x4\n\tNFT_RETURN                        = -0x5\n\tNFT_MSG_NEWTABLE                  = 0x0\n\tNFT_MSG_GETTABLE                  = 0x1\n\tNFT_MSG_DELTABLE                  = 0x2\n\tNFT_MSG_NEWCHAIN                  = 0x3\n\tNFT_MSG_GETCHAIN                  = 0x4\n\tNFT_MSG_DELCHAIN                  = 0x5\n\tNFT_MSG_NEWRULE                   = 0x6\n\tNFT_MSG_GETRULE                   = 0x7\n\tNFT_MSG_DELRULE                   = 0x8\n\tNFT_MSG_NEWSET                    = 0x9\n\tNFT_MSG_GETSET                    = 0xa\n\tNFT_MSG_DELSET                    = 0xb\n\tNFT_MSG_NEWSETELEM                = 0xc\n\tNFT_MSG_GETSETELEM                = 0xd\n\tNFT_MSG_DELSETELEM                = 0xe\n\tNFT_MSG_NEWGEN                    = 0xf\n\tNFT_MSG_GETGEN                    = 0x10\n\tNFT_MSG_TRACE                     = 0x11\n\tNFT_MSG_NEWOBJ                    = 0x12\n\tNFT_MSG_GETOBJ                    = 0x13\n\tNFT_MSG_DELOBJ                    = 0x14\n\tNFT_MSG_GETOBJ_RESET              = 0x15\n\tNFT_MSG_MAX                       = 0x19\n\tNFTA_LIST_UNPEC                   = 0x0\n\tNFTA_LIST_ELEM                    = 0x1\n\tNFTA_HOOK_UNSPEC                  = 0x0\n\tNFTA_HOOK_HOOKNUM                 = 0x1\n\tNFTA_HOOK_PRIORITY                = 0x2\n\tNFTA_HOOK_DEV                     = 0x3\n\tNFT_TABLE_F_DORMANT               = 0x1\n\tNFTA_TABLE_UNSPEC                 = 0x0\n\tNFTA_TABLE_NAME                   = 0x1\n\tNFTA_TABLE_FLAGS                  = 0x2\n\tNFTA_TABLE_USE                    = 0x3\n\tNFTA_CHAIN_UNSPEC                 = 0x0\n\tNFTA_CHAIN_TABLE                  = 0x1\n\tNFTA_CHAIN_HANDLE                 = 0x2\n\tNFTA_CHAIN_NAME                   = 0x3\n\tNFTA_CHAIN_HOOK                   = 0x4\n\tNFTA_CHAIN_POLICY                 = 0x5\n\tNFTA_CHAIN_USE                    = 0x6\n\tNFTA_CHAIN_TYPE                   = 0x7\n\tNFTA_CHAIN_COUNTERS               = 0x8\n\tNFTA_CHAIN_PAD                    = 0x9\n\tNFTA_RULE_UNSPEC                  = 0x0\n\tNFTA_RULE_TABLE                   = 0x1\n\tNFTA_RULE_CHAIN                   = 0x2\n\tNFTA_RULE_HANDLE                  = 0x3\n\tNFTA_RULE_EXPRESSIONS             = 0x4\n\tNFTA_RULE_COMPAT                  = 0x5\n\tNFTA_RULE_POSITION                = 0x6\n\tNFTA_RULE_USERDATA                = 0x7\n\tNFTA_RULE_PAD                     = 0x8\n\tNFTA_RULE_ID                      = 0x9\n\tNFT_RULE_COMPAT_F_INV             = 0x2\n\tNFT_RULE_COMPAT_F_MASK            = 0x2\n\tNFTA_RULE_COMPAT_UNSPEC           = 0x0\n\tNFTA_RULE_COMPAT_PROTO            = 0x1\n\tNFTA_RULE_COMPAT_FLAGS            = 0x2\n\tNFT_SET_ANONYMOUS                 = 0x1\n\tNFT_SET_CONSTANT                  = 0x2\n\tNFT_SET_INTERVAL                  = 0x4\n\tNFT_SET_MAP                       = 0x8\n\tNFT_SET_TIMEOUT                   = 0x10\n\tNFT_SET_EVAL                      = 0x20\n\tNFT_SET_OBJECT                    = 0x40\n\tNFT_SET_POL_PERFORMANCE           = 0x0\n\tNFT_SET_POL_MEMORY                = 0x1\n\tNFTA_SET_DESC_UNSPEC              = 0x0\n\tNFTA_SET_DESC_SIZE                = 0x1\n\tNFTA_SET_UNSPEC                   = 0x0\n\tNFTA_SET_TABLE                    = 0x1\n\tNFTA_SET_NAME                     = 0x2\n\tNFTA_SET_FLAGS                    = 0x3\n\tNFTA_SET_KEY_TYPE                 = 0x4\n\tNFTA_SET_KEY_LEN                  = 0x5\n\tNFTA_SET_DATA_TYPE                = 0x6\n\tNFTA_SET_DATA_LEN                 = 0x7\n\tNFTA_SET_POLICY                   = 0x8\n\tNFTA_SET_DESC                     = 0x9\n\tNFTA_SET_ID                       = 0xa\n\tNFTA_SET_TIMEOUT                  = 0xb\n\tNFTA_SET_GC_INTERVAL              = 0xc\n\tNFTA_SET_USERDATA                 = 0xd\n\tNFTA_SET_PAD                      = 0xe\n\tNFTA_SET_OBJ_TYPE                 = 0xf\n\tNFT_SET_ELEM_INTERVAL_END         = 0x1\n\tNFTA_SET_ELEM_UNSPEC              = 0x0\n\tNFTA_SET_ELEM_KEY                 = 0x1\n\tNFTA_SET_ELEM_DATA                = 0x2\n\tNFTA_SET_ELEM_FLAGS               = 0x3\n\tNFTA_SET_ELEM_TIMEOUT             = 0x4\n\tNFTA_SET_ELEM_EXPIRATION          = 0x5\n\tNFTA_SET_ELEM_USERDATA            = 0x6\n\tNFTA_SET_ELEM_EXPR                = 0x7\n\tNFTA_SET_ELEM_PAD                 = 0x8\n\tNFTA_SET_ELEM_OBJREF              = 0x9\n\tNFTA_SET_ELEM_LIST_UNSPEC         = 0x0\n\tNFTA_SET_ELEM_LIST_TABLE          = 0x1\n\tNFTA_SET_ELEM_LIST_SET            = 0x2\n\tNFTA_SET_ELEM_LIST_ELEMENTS       = 0x3\n\tNFTA_SET_ELEM_LIST_SET_ID         = 0x4\n\tNFT_DATA_VALUE                    = 0x0\n\tNFT_DATA_VERDICT                  = 0xffffff00\n\tNFTA_DATA_UNSPEC                  = 0x0\n\tNFTA_DATA_VALUE                   = 0x1\n\tNFTA_DATA_VERDICT                 = 0x2\n\tNFTA_VERDICT_UNSPEC               = 0x0\n\tNFTA_VERDICT_CODE                 = 0x1\n\tNFTA_VERDICT_CHAIN                = 0x2\n\tNFTA_EXPR_UNSPEC                  = 0x0\n\tNFTA_EXPR_NAME                    = 0x1\n\tNFTA_EXPR_DATA                    = 0x2\n\tNFTA_IMMEDIATE_UNSPEC             = 0x0\n\tNFTA_IMMEDIATE_DREG               = 0x1\n\tNFTA_IMMEDIATE_DATA               = 0x2\n\tNFTA_BITWISE_UNSPEC               = 0x0\n\tNFTA_BITWISE_SREG                 = 0x1\n\tNFTA_BITWISE_DREG                 = 0x2\n\tNFTA_BITWISE_LEN                  = 0x3\n\tNFTA_BITWISE_MASK                 = 0x4\n\tNFTA_BITWISE_XOR                  = 0x5\n\tNFT_BYTEORDER_NTOH                = 0x0\n\tNFT_BYTEORDER_HTON                = 0x1\n\tNFTA_BYTEORDER_UNSPEC             = 0x0\n\tNFTA_BYTEORDER_SREG               = 0x1\n\tNFTA_BYTEORDER_DREG               = 0x2\n\tNFTA_BYTEORDER_OP                 = 0x3\n\tNFTA_BYTEORDER_LEN                = 0x4\n\tNFTA_BYTEORDER_SIZE               = 0x5\n\tNFT_CMP_EQ                        = 0x0\n\tNFT_CMP_NEQ                       = 0x1\n\tNFT_CMP_LT                        = 0x2\n\tNFT_CMP_LTE                       = 0x3\n\tNFT_CMP_GT                        = 0x4\n\tNFT_CMP_GTE                       = 0x5\n\tNFTA_CMP_UNSPEC                   = 0x0\n\tNFTA_CMP_SREG                     = 0x1\n\tNFTA_CMP_OP                       = 0x2\n\tNFTA_CMP_DATA                     = 0x3\n\tNFT_RANGE_EQ                      = 0x0\n\tNFT_RANGE_NEQ                     = 0x1\n\tNFTA_RANGE_UNSPEC                 = 0x0\n\tNFTA_RANGE_SREG                   = 0x1\n\tNFTA_RANGE_OP                     = 0x2\n\tNFTA_RANGE_FROM_DATA              = 0x3\n\tNFTA_RANGE_TO_DATA                = 0x4\n\tNFT_LOOKUP_F_INV                  = 0x1\n\tNFTA_LOOKUP_UNSPEC                = 0x0\n\tNFTA_LOOKUP_SET                   = 0x1\n\tNFTA_LOOKUP_SREG                  = 0x2\n\tNFTA_LOOKUP_DREG                  = 0x3\n\tNFTA_LOOKUP_SET_ID                = 0x4\n\tNFTA_LOOKUP_FLAGS                 = 0x5\n\tNFT_DYNSET_OP_ADD                 = 0x0\n\tNFT_DYNSET_OP_UPDATE              = 0x1\n\tNFT_DYNSET_F_INV                  = 0x1\n\tNFTA_DYNSET_UNSPEC                = 0x0\n\tNFTA_DYNSET_SET_NAME              = 0x1\n\tNFTA_DYNSET_SET_ID                = 0x2\n\tNFTA_DYNSET_OP                    = 0x3\n\tNFTA_DYNSET_SREG_KEY              = 0x4\n\tNFTA_DYNSET_SREG_DATA             = 0x5\n\tNFTA_DYNSET_TIMEOUT               = 0x6\n\tNFTA_DYNSET_EXPR                  = 0x7\n\tNFTA_DYNSET_PAD                   = 0x8\n\tNFTA_DYNSET_FLAGS                 = 0x9\n\tNFT_PAYLOAD_LL_HEADER             = 0x0\n\tNFT_PAYLOAD_NETWORK_HEADER        = 0x1\n\tNFT_PAYLOAD_TRANSPORT_HEADER      = 0x2\n\tNFT_PAYLOAD_CSUM_NONE             = 0x0\n\tNFT_PAYLOAD_CSUM_INET             = 0x1\n\tNFT_PAYLOAD_L4CSUM_PSEUDOHDR      = 0x1\n\tNFTA_PAYLOAD_UNSPEC               = 0x0\n\tNFTA_PAYLOAD_DREG                 = 0x1\n\tNFTA_PAYLOAD_BASE                 = 0x2\n\tNFTA_PAYLOAD_OFFSET               = 0x3\n\tNFTA_PAYLOAD_LEN                  = 0x4\n\tNFTA_PAYLOAD_SREG                 = 0x5\n\tNFTA_PAYLOAD_CSUM_TYPE            = 0x6\n\tNFTA_PAYLOAD_CSUM_OFFSET          = 0x7\n\tNFTA_PAYLOAD_CSUM_FLAGS           = 0x8\n\tNFT_EXTHDR_F_PRESENT              = 0x1\n\tNFT_EXTHDR_OP_IPV6                = 0x0\n\tNFT_EXTHDR_OP_TCPOPT              = 0x1\n\tNFTA_EXTHDR_UNSPEC                = 0x0\n\tNFTA_EXTHDR_DREG                  = 0x1\n\tNFTA_EXTHDR_TYPE                  = 0x2\n\tNFTA_EXTHDR_OFFSET                = 0x3\n\tNFTA_EXTHDR_LEN                   = 0x4\n\tNFTA_EXTHDR_FLAGS                 = 0x5\n\tNFTA_EXTHDR_OP                    = 0x6\n\tNFTA_EXTHDR_SREG                  = 0x7\n\tNFT_META_LEN                      = 0x0\n\tNFT_META_PROTOCOL                 = 0x1\n\tNFT_META_PRIORITY                 = 0x2\n\tNFT_META_MARK                     = 0x3\n\tNFT_META_IIF                      = 0x4\n\tNFT_META_OIF                      = 0x5\n\tNFT_META_IIFNAME                  = 0x6\n\tNFT_META_OIFNAME                  = 0x7\n\tNFT_META_IIFTYPE                  = 0x8\n\tNFT_META_OIFTYPE                  = 0x9\n\tNFT_META_SKUID                    = 0xa\n\tNFT_META_SKGID                    = 0xb\n\tNFT_META_NFTRACE                  = 0xc\n\tNFT_META_RTCLASSID                = 0xd\n\tNFT_META_SECMARK                  = 0xe\n\tNFT_META_NFPROTO                  = 0xf\n\tNFT_META_L4PROTO                  = 0x10\n\tNFT_META_BRI_IIFNAME              = 0x11\n\tNFT_META_BRI_OIFNAME              = 0x12\n\tNFT_META_PKTTYPE                  = 0x13\n\tNFT_META_CPU                      = 0x14\n\tNFT_META_IIFGROUP                 = 0x15\n\tNFT_META_OIFGROUP                 = 0x16\n\tNFT_META_CGROUP                   = 0x17\n\tNFT_META_PRANDOM                  = 0x18\n\tNFT_RT_CLASSID                    = 0x0\n\tNFT_RT_NEXTHOP4                   = 0x1\n\tNFT_RT_NEXTHOP6                   = 0x2\n\tNFT_RT_TCPMSS                     = 0x3\n\tNFT_HASH_JENKINS                  = 0x0\n\tNFT_HASH_SYM                      = 0x1\n\tNFTA_HASH_UNSPEC                  = 0x0\n\tNFTA_HASH_SREG                    = 0x1\n\tNFTA_HASH_DREG                    = 0x2\n\tNFTA_HASH_LEN                     = 0x3\n\tNFTA_HASH_MODULUS                 = 0x4\n\tNFTA_HASH_SEED                    = 0x5\n\tNFTA_HASH_OFFSET                  = 0x6\n\tNFTA_HASH_TYPE                    = 0x7\n\tNFTA_META_UNSPEC                  = 0x0\n\tNFTA_META_DREG                    = 0x1\n\tNFTA_META_KEY                     = 0x2\n\tNFTA_META_SREG                    = 0x3\n\tNFTA_RT_UNSPEC                    = 0x0\n\tNFTA_RT_DREG                      = 0x1\n\tNFTA_RT_KEY                       = 0x2\n\tNFT_CT_STATE                      = 0x0\n\tNFT_CT_DIRECTION                  = 0x1\n\tNFT_CT_STATUS                     = 0x2\n\tNFT_CT_MARK                       = 0x3\n\tNFT_CT_SECMARK                    = 0x4\n\tNFT_CT_EXPIRATION                 = 0x5\n\tNFT_CT_HELPER                     = 0x6\n\tNFT_CT_L3PROTOCOL                 = 0x7\n\tNFT_CT_SRC                        = 0x8\n\tNFT_CT_DST                        = 0x9\n\tNFT_CT_PROTOCOL                   = 0xa\n\tNFT_CT_PROTO_SRC                  = 0xb\n\tNFT_CT_PROTO_DST                  = 0xc\n\tNFT_CT_LABELS                     = 0xd\n\tNFT_CT_PKTS                       = 0xe\n\tNFT_CT_BYTES                      = 0xf\n\tNFT_CT_AVGPKT                     = 0x10\n\tNFT_CT_ZONE                       = 0x11\n\tNFT_CT_EVENTMASK                  = 0x12\n\tNFTA_CT_UNSPEC                    = 0x0\n\tNFTA_CT_DREG                      = 0x1\n\tNFTA_CT_KEY                       = 0x2\n\tNFTA_CT_DIRECTION                 = 0x3\n\tNFTA_CT_SREG                      = 0x4\n\tNFT_LIMIT_PKTS                    = 0x0\n\tNFT_LIMIT_PKT_BYTES               = 0x1\n\tNFT_LIMIT_F_INV                   = 0x1\n\tNFTA_LIMIT_UNSPEC                 = 0x0\n\tNFTA_LIMIT_RATE                   = 0x1\n\tNFTA_LIMIT_UNIT                   = 0x2\n\tNFTA_LIMIT_BURST                  = 0x3\n\tNFTA_LIMIT_TYPE                   = 0x4\n\tNFTA_LIMIT_FLAGS                  = 0x5\n\tNFTA_LIMIT_PAD                    = 0x6\n\tNFTA_COUNTER_UNSPEC               = 0x0\n\tNFTA_COUNTER_BYTES                = 0x1\n\tNFTA_COUNTER_PACKETS              = 0x2\n\tNFTA_COUNTER_PAD                  = 0x3\n\tNFTA_LOG_UNSPEC                   = 0x0\n\tNFTA_LOG_GROUP                    = 0x1\n\tNFTA_LOG_PREFIX                   = 0x2\n\tNFTA_LOG_SNAPLEN                  = 0x3\n\tNFTA_LOG_QTHRESHOLD               = 0x4\n\tNFTA_LOG_LEVEL                    = 0x5\n\tNFTA_LOG_FLAGS                    = 0x6\n\tNFTA_QUEUE_UNSPEC                 = 0x0\n\tNFTA_QUEUE_NUM                    = 0x1\n\tNFTA_QUEUE_TOTAL                  = 0x2\n\tNFTA_QUEUE_FLAGS                  = 0x3\n\tNFTA_QUEUE_SREG_QNUM              = 0x4\n\tNFT_QUOTA_F_INV                   = 0x1\n\tNFT_QUOTA_F_DEPLETED              = 0x2\n\tNFTA_QUOTA_UNSPEC                 = 0x0\n\tNFTA_QUOTA_BYTES                  = 0x1\n\tNFTA_QUOTA_FLAGS                  = 0x2\n\tNFTA_QUOTA_PAD                    = 0x3\n\tNFTA_QUOTA_CONSUMED               = 0x4\n\tNFT_REJECT_ICMP_UNREACH           = 0x0\n\tNFT_REJECT_TCP_RST                = 0x1\n\tNFT_REJECT_ICMPX_UNREACH          = 0x2\n\tNFT_REJECT_ICMPX_NO_ROUTE         = 0x0\n\tNFT_REJECT_ICMPX_PORT_UNREACH     = 0x1\n\tNFT_REJECT_ICMPX_HOST_UNREACH     = 0x2\n\tNFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3\n\tNFTA_REJECT_UNSPEC                = 0x0\n\tNFTA_REJECT_TYPE                  = 0x1\n\tNFTA_REJECT_ICMP_CODE             = 0x2\n\tNFT_NAT_SNAT                      = 0x0\n\tNFT_NAT_DNAT                      = 0x1\n\tNFTA_NAT_UNSPEC                   = 0x0\n\tNFTA_NAT_TYPE                     = 0x1\n\tNFTA_NAT_FAMILY                   = 0x2\n\tNFTA_NAT_REG_ADDR_MIN             = 0x3\n\tNFTA_NAT_REG_ADDR_MAX             = 0x4\n\tNFTA_NAT_REG_PROTO_MIN            = 0x5\n\tNFTA_NAT_REG_PROTO_MAX            = 0x6\n\tNFTA_NAT_FLAGS                    = 0x7\n\tNFTA_MASQ_UNSPEC                  = 0x0\n\tNFTA_MASQ_FLAGS                   = 0x1\n\tNFTA_MASQ_REG_PROTO_MIN           = 0x2\n\tNFTA_MASQ_REG_PROTO_MAX           = 0x3\n\tNFTA_REDIR_UNSPEC                 = 0x0\n\tNFTA_REDIR_REG_PROTO_MIN          = 0x1\n\tNFTA_REDIR_REG_PROTO_MAX          = 0x2\n\tNFTA_REDIR_FLAGS                  = 0x3\n\tNFTA_DUP_UNSPEC                   = 0x0\n\tNFTA_DUP_SREG_ADDR                = 0x1\n\tNFTA_DUP_SREG_DEV                 = 0x2\n\tNFTA_FWD_UNSPEC                   = 0x0\n\tNFTA_FWD_SREG_DEV                 = 0x1\n\tNFTA_OBJREF_UNSPEC                = 0x0\n\tNFTA_OBJREF_IMM_TYPE              = 0x1\n\tNFTA_OBJREF_IMM_NAME              = 0x2\n\tNFTA_OBJREF_SET_SREG              = 0x3\n\tNFTA_OBJREF_SET_NAME              = 0x4\n\tNFTA_OBJREF_SET_ID                = 0x5\n\tNFTA_GEN_UNSPEC                   = 0x0\n\tNFTA_GEN_ID                       = 0x1\n\tNFTA_GEN_PROC_PID                 = 0x2\n\tNFTA_GEN_PROC_NAME                = 0x3\n\tNFTA_FIB_UNSPEC                   = 0x0\n\tNFTA_FIB_DREG                     = 0x1\n\tNFTA_FIB_RESULT                   = 0x2\n\tNFTA_FIB_FLAGS                    = 0x3\n\tNFT_FIB_RESULT_UNSPEC             = 0x0\n\tNFT_FIB_RESULT_OIF                = 0x1\n\tNFT_FIB_RESULT_OIFNAME            = 0x2\n\tNFT_FIB_RESULT_ADDRTYPE           = 0x3\n\tNFTA_FIB_F_SADDR                  = 0x1\n\tNFTA_FIB_F_DADDR                  = 0x2\n\tNFTA_FIB_F_MARK                   = 0x4\n\tNFTA_FIB_F_IIF                    = 0x8\n\tNFTA_FIB_F_OIF                    = 0x10\n\tNFTA_FIB_F_PRESENT                = 0x20\n\tNFTA_CT_HELPER_UNSPEC             = 0x0\n\tNFTA_CT_HELPER_NAME               = 0x1\n\tNFTA_CT_HELPER_L3PROTO            = 0x2\n\tNFTA_CT_HELPER_L4PROTO            = 0x3\n\tNFTA_OBJ_UNSPEC                   = 0x0\n\tNFTA_OBJ_TABLE                    = 0x1\n\tNFTA_OBJ_NAME                     = 0x2\n\tNFTA_OBJ_TYPE                     = 0x3\n\tNFTA_OBJ_DATA                     = 0x4\n\tNFTA_OBJ_USE                      = 0x5\n\tNFTA_TRACE_UNSPEC                 = 0x0\n\tNFTA_TRACE_TABLE                  = 0x1\n\tNFTA_TRACE_CHAIN                  = 0x2\n\tNFTA_TRACE_RULE_HANDLE            = 0x3\n\tNFTA_TRACE_TYPE                   = 0x4\n\tNFTA_TRACE_VERDICT                = 0x5\n\tNFTA_TRACE_ID                     = 0x6\n\tNFTA_TRACE_LL_HEADER              = 0x7\n\tNFTA_TRACE_NETWORK_HEADER         = 0x8\n\tNFTA_TRACE_TRANSPORT_HEADER       = 0x9\n\tNFTA_TRACE_IIF                    = 0xa\n\tNFTA_TRACE_IIFTYPE                = 0xb\n\tNFTA_TRACE_OIF                    = 0xc\n\tNFTA_TRACE_OIFTYPE                = 0xd\n\tNFTA_TRACE_MARK                   = 0xe\n\tNFTA_TRACE_NFPROTO                = 0xf\n\tNFTA_TRACE_POLICY                 = 0x10\n\tNFTA_TRACE_PAD                    = 0x11\n\tNFT_TRACETYPE_UNSPEC              = 0x0\n\tNFT_TRACETYPE_POLICY              = 0x1\n\tNFT_TRACETYPE_RETURN              = 0x2\n\tNFT_TRACETYPE_RULE                = 0x3\n\tNFTA_NG_UNSPEC                    = 0x0\n\tNFTA_NG_DREG                      = 0x1\n\tNFTA_NG_MODULUS                   = 0x2\n\tNFTA_NG_TYPE                      = 0x3\n\tNFTA_NG_OFFSET                    = 0x4\n\tNFT_NG_INCREMENTAL                = 0x0\n\tNFT_NG_RANDOM                     = 0x1\n)\n\ntype RTCTime struct {\n\tSec   int32\n\tMin   int32\n\tHour  int32\n\tMday  int32\n\tMon   int32\n\tYear  int32\n\tWday  int32\n\tYday  int32\n\tIsdst int32\n}\n\ntype RTCWkAlrm struct {\n\tEnabled uint8\n\tPending uint8\n\t_       [2]byte\n\tTime    RTCTime\n}\n\ntype RTCPLLInfo struct {\n\tCtrl    int32\n\tValue   int32\n\tMax     int32\n\tMin     int32\n\tPosmult int32\n\tNegmult int32\n\tClock   int64\n}\n\ntype BlkpgIoctlArg struct {\n\tOp      int32\n\tFlags   int32\n\tDatalen int32\n\t_       [4]byte\n\tData    *byte\n}\n\ntype BlkpgPartition struct {\n\tStart   int64\n\tLength  int64\n\tPno     int32\n\tDevname [64]uint8\n\tVolname [64]uint8\n\t_       [4]byte\n}\n\nconst (\n\tBLKPG                  = 0x1269\n\tBLKPG_ADD_PARTITION    = 0x1\n\tBLKPG_DEL_PARTITION    = 0x2\n\tBLKPG_RESIZE_PARTITION = 0x3\n)\n\nconst (\n\tNETNSA_NONE = 0x0\n\tNETNSA_NSID = 0x1\n\tNETNSA_PID  = 0x2\n\tNETNSA_FD   = 0x3\n)\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go",
    "content": "// +build sparc64,linux\n// Created by cgo -godefs - DO NOT EDIT\n// cgo -godefs types_linux.go | go run mkpost.go\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x8\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x8\n\tsizeofLongLong = 0x8\n\tPathMax        = 0x1000\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int64\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int64\n}\n\ntype Timeval struct {\n\tSec       int64\n\tUsec      int32\n\tPad_cgo_0 [4]byte\n}\n\ntype Timex struct {\n\tModes     uint32\n\tPad_cgo_0 [4]byte\n\tOffset    int64\n\tFreq      int64\n\tMaxerror  int64\n\tEsterror  int64\n\tStatus    int32\n\tPad_cgo_1 [4]byte\n\tConstant  int64\n\tPrecision int64\n\tTolerance int64\n\tTime      Timeval\n\tTick      int64\n\tPpsfreq   int64\n\tJitter    int64\n\tShift     int32\n\tPad_cgo_2 [4]byte\n\tStabil    int64\n\tJitcnt    int64\n\tCalcnt    int64\n\tErrcnt    int64\n\tStbcnt    int64\n\tTai       int32\n\tPad_cgo_3 [44]byte\n}\n\ntype Time_t int64\n\ntype Tms struct {\n\tUtime  int64\n\tStime  int64\n\tCutime int64\n\tCstime int64\n}\n\ntype Utimbuf struct {\n\tActime  int64\n\tModtime int64\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int64\n\tIxrss    int64\n\tIdrss    int64\n\tIsrss    int64\n\tMinflt   int64\n\tMajflt   int64\n\tNswap    int64\n\tInblock  int64\n\tOublock  int64\n\tMsgsnd   int64\n\tMsgrcv   int64\n\tNsignals int64\n\tNvcsw    int64\n\tNivcsw   int64\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev                uint64\n\tX__pad1            uint16\n\tPad_cgo_0          [6]byte\n\tIno                uint64\n\tMode               uint32\n\tNlink              uint32\n\tUid                uint32\n\tGid                uint32\n\tRdev               uint64\n\tX__pad2            uint16\n\tPad_cgo_1          [6]byte\n\tSize               int64\n\tBlksize            int64\n\tBlocks             int64\n\tAtim               Timespec\n\tMtim               Timespec\n\tCtim               Timespec\n\tX__glibc_reserved4 uint64\n\tX__glibc_reserved5 uint64\n}\n\ntype Statfs_t struct {\n\tType    int64\n\tBsize   int64\n\tBlocks  uint64\n\tBfree   uint64\n\tBavail  uint64\n\tFiles   uint64\n\tFfree   uint64\n\tFsid    Fsid\n\tNamelen int64\n\tFrsize  int64\n\tFlags   int64\n\tSpare   [4]int64\n}\n\ntype Dirent struct {\n\tIno       uint64\n\tOff       int64\n\tReclen    uint16\n\tType      uint8\n\tName      [256]int8\n\tPad_cgo_0 [5]byte\n}\n\ntype Fsid struct {\n\tX__val [2]int32\n}\n\ntype Flock_t struct {\n\tType              int16\n\tWhence            int16\n\tPad_cgo_0         [4]byte\n\tStart             int64\n\tLen               int64\n\tPid               int32\n\tX__glibc_reserved int16\n\tPad_cgo_1         [2]byte\n}\n\nconst (\n\tFADV_NORMAL     = 0x0\n\tFADV_RANDOM     = 0x1\n\tFADV_SEQUENTIAL = 0x2\n\tFADV_WILLNEED   = 0x3\n\tFADV_DONTNEED   = 0x4\n\tFADV_NOREUSE    = 0x5\n)\n\ntype RawSockaddrInet4 struct {\n\tFamily uint16\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]uint8\n}\n\ntype RawSockaddrInet6 struct {\n\tFamily   uint16\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tFamily uint16\n\tPath   [108]int8\n}\n\ntype RawSockaddrLinklayer struct {\n\tFamily   uint16\n\tProtocol uint16\n\tIfindex  int32\n\tHatype   uint16\n\tPkttype  uint8\n\tHalen    uint8\n\tAddr     [8]uint8\n}\n\ntype RawSockaddrNetlink struct {\n\tFamily uint16\n\tPad    uint16\n\tPid    uint32\n\tGroups uint32\n}\n\ntype RawSockaddrHCI struct {\n\tFamily  uint16\n\tDev     uint16\n\tChannel uint16\n}\n\ntype RawSockaddrCAN struct {\n\tFamily    uint16\n\tPad_cgo_0 [2]byte\n\tIfindex   int32\n\tAddr      [8]byte\n}\n\ntype RawSockaddrALG struct {\n\tFamily uint16\n\tType   [14]uint8\n\tFeat   uint32\n\tMask   uint32\n\tName   [64]uint8\n}\n\ntype RawSockaddrVM struct {\n\tFamily    uint16\n\tReserved1 uint16\n\tPort      uint32\n\tCid       uint32\n\tZero      [4]uint8\n}\n\ntype RawSockaddr struct {\n\tFamily uint16\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [96]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint64\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPMreqn struct {\n\tMultiaddr [4]byte /* in_addr */\n\tAddress   [4]byte /* in_addr */\n\tIfindex   int32\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tPad_cgo_0  [4]byte\n\tIov        *Iovec\n\tIovlen     uint64\n\tControl    *byte\n\tControllen uint64\n\tFlags      int32\n\tPad_cgo_1  [4]byte\n}\n\ntype Cmsghdr struct {\n\tLen   uint64\n\tLevel int32\n\tType  int32\n}\n\ntype Inet4Pktinfo struct {\n\tIfindex  int32\n\tSpec_dst [4]byte /* in_addr */\n\tAddr     [4]byte /* in_addr */\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tData [8]uint32\n}\n\ntype Ucred struct {\n\tPid int32\n\tUid uint32\n\tGid uint32\n}\n\ntype TCPInfo struct {\n\tState          uint8\n\tCa_state       uint8\n\tRetransmits    uint8\n\tProbes         uint8\n\tBackoff        uint8\n\tOptions        uint8\n\tPad_cgo_0      [2]byte\n\tRto            uint32\n\tAto            uint32\n\tSnd_mss        uint32\n\tRcv_mss        uint32\n\tUnacked        uint32\n\tSacked         uint32\n\tLost           uint32\n\tRetrans        uint32\n\tFackets        uint32\n\tLast_data_sent uint32\n\tLast_ack_sent  uint32\n\tLast_data_recv uint32\n\tLast_ack_recv  uint32\n\tPmtu           uint32\n\tRcv_ssthresh   uint32\n\tRtt            uint32\n\tRttvar         uint32\n\tSnd_ssthresh   uint32\n\tSnd_cwnd       uint32\n\tAdvmss         uint32\n\tReordering     uint32\n\tRcv_rtt        uint32\n\tRcv_space      uint32\n\tTotal_retrans  uint32\n}\n\nconst (\n\tSizeofSockaddrInet4     = 0x10\n\tSizeofSockaddrInet6     = 0x1c\n\tSizeofSockaddrAny       = 0x70\n\tSizeofSockaddrUnix      = 0x6e\n\tSizeofSockaddrLinklayer = 0x14\n\tSizeofSockaddrNetlink   = 0xc\n\tSizeofSockaddrHCI       = 0x6\n\tSizeofSockaddrCAN       = 0x10\n\tSizeofSockaddrALG       = 0x58\n\tSizeofSockaddrVM        = 0x10\n\tSizeofLinger            = 0x8\n\tSizeofIPMreq            = 0x8\n\tSizeofIPMreqn           = 0xc\n\tSizeofIPv6Mreq          = 0x14\n\tSizeofMsghdr            = 0x38\n\tSizeofCmsghdr           = 0x10\n\tSizeofInet4Pktinfo      = 0xc\n\tSizeofInet6Pktinfo      = 0x14\n\tSizeofIPv6MTUInfo       = 0x20\n\tSizeofICMPv6Filter      = 0x20\n\tSizeofUcred             = 0xc\n\tSizeofTCPInfo           = 0x68\n)\n\nconst (\n\tIFA_UNSPEC           = 0x0\n\tIFA_ADDRESS          = 0x1\n\tIFA_LOCAL            = 0x2\n\tIFA_LABEL            = 0x3\n\tIFA_BROADCAST        = 0x4\n\tIFA_ANYCAST          = 0x5\n\tIFA_CACHEINFO        = 0x6\n\tIFA_MULTICAST        = 0x7\n\tIFLA_UNSPEC          = 0x0\n\tIFLA_ADDRESS         = 0x1\n\tIFLA_BROADCAST       = 0x2\n\tIFLA_IFNAME          = 0x3\n\tIFLA_MTU             = 0x4\n\tIFLA_LINK            = 0x5\n\tIFLA_QDISC           = 0x6\n\tIFLA_STATS           = 0x7\n\tIFLA_COST            = 0x8\n\tIFLA_PRIORITY        = 0x9\n\tIFLA_MASTER          = 0xa\n\tIFLA_WIRELESS        = 0xb\n\tIFLA_PROTINFO        = 0xc\n\tIFLA_TXQLEN          = 0xd\n\tIFLA_MAP             = 0xe\n\tIFLA_WEIGHT          = 0xf\n\tIFLA_OPERSTATE       = 0x10\n\tIFLA_LINKMODE        = 0x11\n\tIFLA_LINKINFO        = 0x12\n\tIFLA_NET_NS_PID      = 0x13\n\tIFLA_IFALIAS         = 0x14\n\tIFLA_NUM_VF          = 0x15\n\tIFLA_VFINFO_LIST     = 0x16\n\tIFLA_STATS64         = 0x17\n\tIFLA_VF_PORTS        = 0x18\n\tIFLA_PORT_SELF       = 0x19\n\tIFLA_AF_SPEC         = 0x1a\n\tIFLA_GROUP           = 0x1b\n\tIFLA_NET_NS_FD       = 0x1c\n\tIFLA_EXT_MASK        = 0x1d\n\tIFLA_PROMISCUITY     = 0x1e\n\tIFLA_NUM_TX_QUEUES   = 0x1f\n\tIFLA_NUM_RX_QUEUES   = 0x20\n\tIFLA_CARRIER         = 0x21\n\tIFLA_PHYS_PORT_ID    = 0x22\n\tIFLA_CARRIER_CHANGES = 0x23\n\tIFLA_PHYS_SWITCH_ID  = 0x24\n\tIFLA_LINK_NETNSID    = 0x25\n\tIFLA_PHYS_PORT_NAME  = 0x26\n\tIFLA_PROTO_DOWN      = 0x27\n\tIFLA_GSO_MAX_SEGS    = 0x28\n\tIFLA_GSO_MAX_SIZE    = 0x29\n\tIFLA_PAD             = 0x2a\n\tIFLA_XDP             = 0x2b\n\tIFLA_EVENT           = 0x2c\n\tIFLA_NEW_NETNSID     = 0x2d\n\tIFLA_IF_NETNSID      = 0x2e\n\tIFLA_MAX             = 0x2e\n\tRT_SCOPE_UNIVERSE    = 0x0\n\tRT_SCOPE_SITE        = 0xc8\n\tRT_SCOPE_LINK        = 0xfd\n\tRT_SCOPE_HOST        = 0xfe\n\tRT_SCOPE_NOWHERE     = 0xff\n\tRT_TABLE_UNSPEC      = 0x0\n\tRT_TABLE_COMPAT      = 0xfc\n\tRT_TABLE_DEFAULT     = 0xfd\n\tRT_TABLE_MAIN        = 0xfe\n\tRT_TABLE_LOCAL       = 0xff\n\tRT_TABLE_MAX         = 0xffffffff\n\tRTA_UNSPEC           = 0x0\n\tRTA_DST              = 0x1\n\tRTA_SRC              = 0x2\n\tRTA_IIF              = 0x3\n\tRTA_OIF              = 0x4\n\tRTA_GATEWAY          = 0x5\n\tRTA_PRIORITY         = 0x6\n\tRTA_PREFSRC          = 0x7\n\tRTA_METRICS          = 0x8\n\tRTA_MULTIPATH        = 0x9\n\tRTA_FLOW             = 0xb\n\tRTA_CACHEINFO        = 0xc\n\tRTA_TABLE            = 0xf\n\tRTN_UNSPEC           = 0x0\n\tRTN_UNICAST          = 0x1\n\tRTN_LOCAL            = 0x2\n\tRTN_BROADCAST        = 0x3\n\tRTN_ANYCAST          = 0x4\n\tRTN_MULTICAST        = 0x5\n\tRTN_BLACKHOLE        = 0x6\n\tRTN_UNREACHABLE      = 0x7\n\tRTN_PROHIBIT         = 0x8\n\tRTN_THROW            = 0x9\n\tRTN_NAT              = 0xa\n\tRTN_XRESOLVE         = 0xb\n\tRTNLGRP_NONE         = 0x0\n\tRTNLGRP_LINK         = 0x1\n\tRTNLGRP_NOTIFY       = 0x2\n\tRTNLGRP_NEIGH        = 0x3\n\tRTNLGRP_TC           = 0x4\n\tRTNLGRP_IPV4_IFADDR  = 0x5\n\tRTNLGRP_IPV4_MROUTE  = 0x6\n\tRTNLGRP_IPV4_ROUTE   = 0x7\n\tRTNLGRP_IPV4_RULE    = 0x8\n\tRTNLGRP_IPV6_IFADDR  = 0x9\n\tRTNLGRP_IPV6_MROUTE  = 0xa\n\tRTNLGRP_IPV6_ROUTE   = 0xb\n\tRTNLGRP_IPV6_IFINFO  = 0xc\n\tRTNLGRP_IPV6_PREFIX  = 0x12\n\tRTNLGRP_IPV6_RULE    = 0x13\n\tRTNLGRP_ND_USEROPT   = 0x14\n\tSizeofNlMsghdr       = 0x10\n\tSizeofNlMsgerr       = 0x14\n\tSizeofRtGenmsg       = 0x1\n\tSizeofNlAttr         = 0x4\n\tSizeofRtAttr         = 0x4\n\tSizeofIfInfomsg      = 0x10\n\tSizeofIfAddrmsg      = 0x8\n\tSizeofRtMsg          = 0xc\n\tSizeofRtNexthop      = 0x8\n)\n\ntype NlMsghdr struct {\n\tLen   uint32\n\tType  uint16\n\tFlags uint16\n\tSeq   uint32\n\tPid   uint32\n}\n\ntype NlMsgerr struct {\n\tError int32\n\tMsg   NlMsghdr\n}\n\ntype RtGenmsg struct {\n\tFamily uint8\n}\n\ntype NlAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype RtAttr struct {\n\tLen  uint16\n\tType uint16\n}\n\ntype IfInfomsg struct {\n\tFamily     uint8\n\tX__ifi_pad uint8\n\tType       uint16\n\tIndex      int32\n\tFlags      uint32\n\tChange     uint32\n}\n\ntype IfAddrmsg struct {\n\tFamily    uint8\n\tPrefixlen uint8\n\tFlags     uint8\n\tScope     uint8\n\tIndex     uint32\n}\n\ntype RtMsg struct {\n\tFamily   uint8\n\tDst_len  uint8\n\tSrc_len  uint8\n\tTos      uint8\n\tTable    uint8\n\tProtocol uint8\n\tScope    uint8\n\tType     uint8\n\tFlags    uint32\n}\n\ntype RtNexthop struct {\n\tLen     uint16\n\tFlags   uint8\n\tHops    uint8\n\tIfindex int32\n}\n\nconst (\n\tSizeofSockFilter = 0x8\n\tSizeofSockFprog  = 0x10\n)\n\ntype SockFilter struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype SockFprog struct {\n\tLen       uint16\n\tPad_cgo_0 [6]byte\n\tFilter    *SockFilter\n}\n\ntype InotifyEvent struct {\n\tWd     int32\n\tMask   uint32\n\tCookie uint32\n\tLen    uint32\n}\n\nconst SizeofInotifyEvent = 0x10\n\ntype PtraceRegs struct {\n\tRegs   [16]uint64\n\tTstate uint64\n\tTpc    uint64\n\tTnpc   uint64\n\tY      uint32\n\tMagic  uint32\n}\n\ntype ptracePsw struct {\n}\n\ntype ptraceFpregs struct {\n}\n\ntype ptracePer struct {\n}\n\ntype FdSet struct {\n\tBits [16]int64\n}\n\ntype Sysinfo_t struct {\n\tUptime    int64\n\tLoads     [3]uint64\n\tTotalram  uint64\n\tFreeram   uint64\n\tSharedram uint64\n\tBufferram uint64\n\tTotalswap uint64\n\tFreeswap  uint64\n\tProcs     uint16\n\tPad       uint16\n\tPad_cgo_0 [4]byte\n\tTotalhigh uint64\n\tFreehigh  uint64\n\tUnit      uint32\n\tX_f       [0]int8\n\tPad_cgo_1 [4]byte\n}\n\ntype Utsname struct {\n\tSysname    [65]byte\n\tNodename   [65]byte\n\tRelease    [65]byte\n\tVersion    [65]byte\n\tMachine    [65]byte\n\tDomainname [65]byte\n}\n\ntype Ustat_t struct {\n\tTfree     int32\n\tPad_cgo_0 [4]byte\n\tTinode    uint64\n\tFname     [6]int8\n\tFpack     [6]int8\n\tPad_cgo_1 [4]byte\n}\n\ntype EpollEvent struct {\n\tEvents  uint32\n\tX_padFd int32\n\tFd      int32\n\tPad     int32\n}\n\nconst (\n\tAT_FDCWD            = -0x64\n\tAT_REMOVEDIR        = 0x200\n\tAT_SYMLINK_FOLLOW   = 0x400\n\tAT_SYMLINK_NOFOLLOW = 0x100\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLIN    = 0x1\n\tPOLLPRI   = 0x2\n\tPOLLOUT   = 0x4\n\tPOLLRDHUP = 0x800\n\tPOLLERR   = 0x8\n\tPOLLHUP   = 0x10\n\tPOLLNVAL  = 0x20\n)\n\ntype Sigset_t struct {\n\tX__val [16]uint64\n}\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tLine   uint8\n\tCc     [19]uint8\n\tIspeed uint32\n\tOspeed uint32\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go",
    "content": "// cgo -godefs types_netbsd.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build 386,netbsd\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x4\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x4\n\tsizeofLongLong = 0x8\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int32\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int32\n}\n\ntype Timeval struct {\n\tSec  int64\n\tUsec int32\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int32\n\tIxrss    int32\n\tIdrss    int32\n\tIsrss    int32\n\tMinflt   int32\n\tMajflt   int32\n\tNswap    int32\n\tInblock  int32\n\tOublock  int32\n\tMsgsnd   int32\n\tMsgrcv   int32\n\tNsignals int32\n\tNvcsw    int32\n\tNivcsw   int32\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev           uint64\n\tMode          uint32\n\tIno           uint64\n\tNlink         uint32\n\tUid           uint32\n\tGid           uint32\n\tRdev          uint64\n\tAtimespec     Timespec\n\tMtimespec     Timespec\n\tCtimespec     Timespec\n\tBirthtimespec Timespec\n\tSize          int64\n\tBlocks        int64\n\tBlksize       uint32\n\tFlags         uint32\n\tGen           uint32\n\tSpare         [2]uint32\n}\n\ntype Statfs_t [0]byte\n\ntype Flock_t struct {\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\tType   int16\n\tWhence int16\n}\n\ntype Dirent struct {\n\tFileno    uint64\n\tReclen    uint16\n\tNamlen    uint16\n\tType      uint8\n\tName      [512]int8\n\tPad_cgo_0 [3]byte\n}\n\ntype Fsid struct {\n\tX__fsid_val [2]int32\n}\n\nconst (\n\tPathMax = 0x400\n)\n\nconst (\n\tFADV_NORMAL     = 0x0\n\tFADV_RANDOM     = 0x1\n\tFADV_SEQUENTIAL = 0x2\n\tFADV_WILLNEED   = 0x3\n\tFADV_DONTNEED   = 0x4\n\tFADV_NOREUSE    = 0x5\n)\n\ntype RawSockaddrInet4 struct {\n\tLen    uint8\n\tFamily uint8\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]int8\n}\n\ntype RawSockaddrInet6 struct {\n\tLen      uint8\n\tFamily   uint8\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tLen    uint8\n\tFamily uint8\n\tPath   [104]int8\n}\n\ntype RawSockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [12]int8\n}\n\ntype RawSockaddr struct {\n\tLen    uint8\n\tFamily uint8\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [92]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint32\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tIov        *Iovec\n\tIovlen     int32\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tFilt [8]uint32\n}\n\nconst (\n\tSizeofSockaddrInet4    = 0x10\n\tSizeofSockaddrInet6    = 0x1c\n\tSizeofSockaddrAny      = 0x6c\n\tSizeofSockaddrUnix     = 0x6a\n\tSizeofSockaddrDatalink = 0x14\n\tSizeofLinger           = 0x8\n\tSizeofIPMreq           = 0x8\n\tSizeofIPv6Mreq         = 0x14\n\tSizeofMsghdr           = 0x1c\n\tSizeofCmsghdr          = 0xc\n\tSizeofInet6Pktinfo     = 0x14\n\tSizeofIPv6MTUInfo      = 0x20\n\tSizeofICMPv6Filter     = 0x20\n)\n\nconst (\n\tPTRACE_TRACEME = 0x0\n\tPTRACE_CONT    = 0x7\n\tPTRACE_KILL    = 0x8\n)\n\ntype Kevent_t struct {\n\tIdent  uint32\n\tFilter uint32\n\tFlags  uint32\n\tFflags uint32\n\tData   int64\n\tUdata  int32\n}\n\ntype FdSet struct {\n\tBits [8]uint32\n}\n\nconst (\n\tSizeofIfMsghdr         = 0x98\n\tSizeofIfData           = 0x84\n\tSizeofIfaMsghdr        = 0x18\n\tSizeofIfAnnounceMsghdr = 0x18\n\tSizeofRtMsghdr         = 0x78\n\tSizeofRtMetrics        = 0x50\n)\n\ntype IfMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tData      IfData\n\tPad_cgo_1 [4]byte\n}\n\ntype IfData struct {\n\tType       uint8\n\tAddrlen    uint8\n\tHdrlen     uint8\n\tPad_cgo_0  [1]byte\n\tLink_state int32\n\tMtu        uint64\n\tMetric     uint64\n\tBaudrate   uint64\n\tIpackets   uint64\n\tIerrors    uint64\n\tOpackets   uint64\n\tOerrors    uint64\n\tCollisions uint64\n\tIbytes     uint64\n\tObytes     uint64\n\tImcasts    uint64\n\tOmcasts    uint64\n\tIqdrops    uint64\n\tNoproto    uint64\n\tLastchange Timespec\n}\n\ntype IfaMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tMetric    int32\n\tIndex     uint16\n\tPad_cgo_0 [6]byte\n}\n\ntype IfAnnounceMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tIndex   uint16\n\tName    [16]int8\n\tWhat    uint16\n}\n\ntype RtMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tFlags     int32\n\tAddrs     int32\n\tPid       int32\n\tSeq       int32\n\tErrno     int32\n\tUse       int32\n\tInits     int32\n\tPad_cgo_1 [4]byte\n\tRmx       RtMetrics\n}\n\ntype RtMetrics struct {\n\tLocks    uint64\n\tMtu      uint64\n\tHopcount uint64\n\tRecvpipe uint64\n\tSendpipe uint64\n\tSsthresh uint64\n\tRtt      uint64\n\tRttvar   uint64\n\tExpire   int64\n\tPksent   int64\n}\n\ntype Mclpool [0]byte\n\nconst (\n\tSizeofBpfVersion = 0x4\n\tSizeofBpfStat    = 0x80\n\tSizeofBpfProgram = 0x8\n\tSizeofBpfInsn    = 0x8\n\tSizeofBpfHdr     = 0x14\n)\n\ntype BpfVersion struct {\n\tMajor uint16\n\tMinor uint16\n}\n\ntype BpfStat struct {\n\tRecv    uint64\n\tDrop    uint64\n\tCapt    uint64\n\tPadding [13]uint64\n}\n\ntype BpfProgram struct {\n\tLen   uint32\n\tInsns *BpfInsn\n}\n\ntype BpfInsn struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype BpfHdr struct {\n\tTstamp    BpfTimeval\n\tCaplen    uint32\n\tDatalen   uint32\n\tHdrlen    uint16\n\tPad_cgo_0 [2]byte\n}\n\ntype BpfTimeval struct {\n\tSec  int32\n\tUsec int32\n}\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tCc     [20]uint8\n\tIspeed int32\n\tOspeed int32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\nconst (\n\tAT_FDCWD            = -0x64\n\tAT_SYMLINK_NOFOLLOW = 0x200\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLERR    = 0x8\n\tPOLLHUP    = 0x10\n\tPOLLIN     = 0x1\n\tPOLLNVAL   = 0x20\n\tPOLLOUT    = 0x4\n\tPOLLPRI    = 0x2\n\tPOLLRDBAND = 0x80\n\tPOLLRDNORM = 0x40\n\tPOLLWRBAND = 0x100\n\tPOLLWRNORM = 0x4\n)\n\ntype Sysctlnode struct {\n\tFlags           uint32\n\tNum             int32\n\tName            [32]int8\n\tVer             uint32\n\tX__rsvd         uint32\n\tUn              [16]byte\n\tX_sysctl_size   [8]byte\n\tX_sysctl_func   [8]byte\n\tX_sysctl_parent [8]byte\n\tX_sysctl_desc   [8]byte\n}\n\ntype Utsname struct {\n\tSysname  [256]byte\n\tNodename [256]byte\n\tRelease  [256]byte\n\tVersion  [256]byte\n\tMachine  [256]byte\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go",
    "content": "// cgo -godefs types_netbsd.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,netbsd\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x8\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x8\n\tsizeofLongLong = 0x8\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int64\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int64\n}\n\ntype Timeval struct {\n\tSec       int64\n\tUsec      int32\n\tPad_cgo_0 [4]byte\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int64\n\tIxrss    int64\n\tIdrss    int64\n\tIsrss    int64\n\tMinflt   int64\n\tMajflt   int64\n\tNswap    int64\n\tInblock  int64\n\tOublock  int64\n\tMsgsnd   int64\n\tMsgrcv   int64\n\tNsignals int64\n\tNvcsw    int64\n\tNivcsw   int64\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev           uint64\n\tMode          uint32\n\tPad_cgo_0     [4]byte\n\tIno           uint64\n\tNlink         uint32\n\tUid           uint32\n\tGid           uint32\n\tPad_cgo_1     [4]byte\n\tRdev          uint64\n\tAtimespec     Timespec\n\tMtimespec     Timespec\n\tCtimespec     Timespec\n\tBirthtimespec Timespec\n\tSize          int64\n\tBlocks        int64\n\tBlksize       uint32\n\tFlags         uint32\n\tGen           uint32\n\tSpare         [2]uint32\n\tPad_cgo_2     [4]byte\n}\n\ntype Statfs_t [0]byte\n\ntype Flock_t struct {\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\tType   int16\n\tWhence int16\n}\n\ntype Dirent struct {\n\tFileno    uint64\n\tReclen    uint16\n\tNamlen    uint16\n\tType      uint8\n\tName      [512]int8\n\tPad_cgo_0 [3]byte\n}\n\ntype Fsid struct {\n\tX__fsid_val [2]int32\n}\n\nconst (\n\tPathMax = 0x400\n)\n\nconst (\n\tFADV_NORMAL     = 0x0\n\tFADV_RANDOM     = 0x1\n\tFADV_SEQUENTIAL = 0x2\n\tFADV_WILLNEED   = 0x3\n\tFADV_DONTNEED   = 0x4\n\tFADV_NOREUSE    = 0x5\n)\n\ntype RawSockaddrInet4 struct {\n\tLen    uint8\n\tFamily uint8\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]int8\n}\n\ntype RawSockaddrInet6 struct {\n\tLen      uint8\n\tFamily   uint8\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tLen    uint8\n\tFamily uint8\n\tPath   [104]int8\n}\n\ntype RawSockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [12]int8\n}\n\ntype RawSockaddr struct {\n\tLen    uint8\n\tFamily uint8\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [92]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint64\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tPad_cgo_0  [4]byte\n\tIov        *Iovec\n\tIovlen     int32\n\tPad_cgo_1  [4]byte\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tFilt [8]uint32\n}\n\nconst (\n\tSizeofSockaddrInet4    = 0x10\n\tSizeofSockaddrInet6    = 0x1c\n\tSizeofSockaddrAny      = 0x6c\n\tSizeofSockaddrUnix     = 0x6a\n\tSizeofSockaddrDatalink = 0x14\n\tSizeofLinger           = 0x8\n\tSizeofIPMreq           = 0x8\n\tSizeofIPv6Mreq         = 0x14\n\tSizeofMsghdr           = 0x30\n\tSizeofCmsghdr          = 0xc\n\tSizeofInet6Pktinfo     = 0x14\n\tSizeofIPv6MTUInfo      = 0x20\n\tSizeofICMPv6Filter     = 0x20\n)\n\nconst (\n\tPTRACE_TRACEME = 0x0\n\tPTRACE_CONT    = 0x7\n\tPTRACE_KILL    = 0x8\n)\n\ntype Kevent_t struct {\n\tIdent     uint64\n\tFilter    uint32\n\tFlags     uint32\n\tFflags    uint32\n\tPad_cgo_0 [4]byte\n\tData      int64\n\tUdata     int64\n}\n\ntype FdSet struct {\n\tBits [8]uint32\n}\n\nconst (\n\tSizeofIfMsghdr         = 0x98\n\tSizeofIfData           = 0x88\n\tSizeofIfaMsghdr        = 0x18\n\tSizeofIfAnnounceMsghdr = 0x18\n\tSizeofRtMsghdr         = 0x78\n\tSizeofRtMetrics        = 0x50\n)\n\ntype IfMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tData      IfData\n}\n\ntype IfData struct {\n\tType       uint8\n\tAddrlen    uint8\n\tHdrlen     uint8\n\tPad_cgo_0  [1]byte\n\tLink_state int32\n\tMtu        uint64\n\tMetric     uint64\n\tBaudrate   uint64\n\tIpackets   uint64\n\tIerrors    uint64\n\tOpackets   uint64\n\tOerrors    uint64\n\tCollisions uint64\n\tIbytes     uint64\n\tObytes     uint64\n\tImcasts    uint64\n\tOmcasts    uint64\n\tIqdrops    uint64\n\tNoproto    uint64\n\tLastchange Timespec\n}\n\ntype IfaMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tMetric    int32\n\tIndex     uint16\n\tPad_cgo_0 [6]byte\n}\n\ntype IfAnnounceMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tIndex   uint16\n\tName    [16]int8\n\tWhat    uint16\n}\n\ntype RtMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tFlags     int32\n\tAddrs     int32\n\tPid       int32\n\tSeq       int32\n\tErrno     int32\n\tUse       int32\n\tInits     int32\n\tPad_cgo_1 [4]byte\n\tRmx       RtMetrics\n}\n\ntype RtMetrics struct {\n\tLocks    uint64\n\tMtu      uint64\n\tHopcount uint64\n\tRecvpipe uint64\n\tSendpipe uint64\n\tSsthresh uint64\n\tRtt      uint64\n\tRttvar   uint64\n\tExpire   int64\n\tPksent   int64\n}\n\ntype Mclpool [0]byte\n\nconst (\n\tSizeofBpfVersion = 0x4\n\tSizeofBpfStat    = 0x80\n\tSizeofBpfProgram = 0x10\n\tSizeofBpfInsn    = 0x8\n\tSizeofBpfHdr     = 0x20\n)\n\ntype BpfVersion struct {\n\tMajor uint16\n\tMinor uint16\n}\n\ntype BpfStat struct {\n\tRecv    uint64\n\tDrop    uint64\n\tCapt    uint64\n\tPadding [13]uint64\n}\n\ntype BpfProgram struct {\n\tLen       uint32\n\tPad_cgo_0 [4]byte\n\tInsns     *BpfInsn\n}\n\ntype BpfInsn struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype BpfHdr struct {\n\tTstamp    BpfTimeval\n\tCaplen    uint32\n\tDatalen   uint32\n\tHdrlen    uint16\n\tPad_cgo_0 [6]byte\n}\n\ntype BpfTimeval struct {\n\tSec  int64\n\tUsec int64\n}\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tCc     [20]uint8\n\tIspeed int32\n\tOspeed int32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\nconst (\n\tAT_FDCWD            = -0x64\n\tAT_SYMLINK_NOFOLLOW = 0x200\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLERR    = 0x8\n\tPOLLHUP    = 0x10\n\tPOLLIN     = 0x1\n\tPOLLNVAL   = 0x20\n\tPOLLOUT    = 0x4\n\tPOLLPRI    = 0x2\n\tPOLLRDBAND = 0x80\n\tPOLLRDNORM = 0x40\n\tPOLLWRBAND = 0x100\n\tPOLLWRNORM = 0x4\n)\n\ntype Sysctlnode struct {\n\tFlags           uint32\n\tNum             int32\n\tName            [32]int8\n\tVer             uint32\n\tX__rsvd         uint32\n\tUn              [16]byte\n\tX_sysctl_size   [8]byte\n\tX_sysctl_func   [8]byte\n\tX_sysctl_parent [8]byte\n\tX_sysctl_desc   [8]byte\n}\n\ntype Utsname struct {\n\tSysname  [256]byte\n\tNodename [256]byte\n\tRelease  [256]byte\n\tVersion  [256]byte\n\tMachine  [256]byte\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go",
    "content": "// cgo -godefs types_netbsd.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build arm,netbsd\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x4\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x4\n\tsizeofLongLong = 0x8\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int32\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec       int64\n\tNsec      int32\n\tPad_cgo_0 [4]byte\n}\n\ntype Timeval struct {\n\tSec       int64\n\tUsec      int32\n\tPad_cgo_0 [4]byte\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int32\n\tIxrss    int32\n\tIdrss    int32\n\tIsrss    int32\n\tMinflt   int32\n\tMajflt   int32\n\tNswap    int32\n\tInblock  int32\n\tOublock  int32\n\tMsgsnd   int32\n\tMsgrcv   int32\n\tNsignals int32\n\tNvcsw    int32\n\tNivcsw   int32\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tDev           uint64\n\tMode          uint32\n\tPad_cgo_0     [4]byte\n\tIno           uint64\n\tNlink         uint32\n\tUid           uint32\n\tGid           uint32\n\tPad_cgo_1     [4]byte\n\tRdev          uint64\n\tAtimespec     Timespec\n\tMtimespec     Timespec\n\tCtimespec     Timespec\n\tBirthtimespec Timespec\n\tSize          int64\n\tBlocks        int64\n\tBlksize       uint32\n\tFlags         uint32\n\tGen           uint32\n\tSpare         [2]uint32\n\tPad_cgo_2     [4]byte\n}\n\ntype Statfs_t [0]byte\n\ntype Flock_t struct {\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\tType   int16\n\tWhence int16\n}\n\ntype Dirent struct {\n\tFileno    uint64\n\tReclen    uint16\n\tNamlen    uint16\n\tType      uint8\n\tName      [512]int8\n\tPad_cgo_0 [3]byte\n}\n\ntype Fsid struct {\n\tX__fsid_val [2]int32\n}\n\nconst (\n\tPathMax = 0x400\n)\n\nconst (\n\tFADV_NORMAL     = 0x0\n\tFADV_RANDOM     = 0x1\n\tFADV_SEQUENTIAL = 0x2\n\tFADV_WILLNEED   = 0x3\n\tFADV_DONTNEED   = 0x4\n\tFADV_NOREUSE    = 0x5\n)\n\ntype RawSockaddrInet4 struct {\n\tLen    uint8\n\tFamily uint8\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]int8\n}\n\ntype RawSockaddrInet6 struct {\n\tLen      uint8\n\tFamily   uint8\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tLen    uint8\n\tFamily uint8\n\tPath   [104]int8\n}\n\ntype RawSockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [12]int8\n}\n\ntype RawSockaddr struct {\n\tLen    uint8\n\tFamily uint8\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [92]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint32\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tIov        *Iovec\n\tIovlen     int32\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tFilt [8]uint32\n}\n\nconst (\n\tSizeofSockaddrInet4    = 0x10\n\tSizeofSockaddrInet6    = 0x1c\n\tSizeofSockaddrAny      = 0x6c\n\tSizeofSockaddrUnix     = 0x6a\n\tSizeofSockaddrDatalink = 0x14\n\tSizeofLinger           = 0x8\n\tSizeofIPMreq           = 0x8\n\tSizeofIPv6Mreq         = 0x14\n\tSizeofMsghdr           = 0x1c\n\tSizeofCmsghdr          = 0xc\n\tSizeofInet6Pktinfo     = 0x14\n\tSizeofIPv6MTUInfo      = 0x20\n\tSizeofICMPv6Filter     = 0x20\n)\n\nconst (\n\tPTRACE_TRACEME = 0x0\n\tPTRACE_CONT    = 0x7\n\tPTRACE_KILL    = 0x8\n)\n\ntype Kevent_t struct {\n\tIdent     uint32\n\tFilter    uint32\n\tFlags     uint32\n\tFflags    uint32\n\tData      int64\n\tUdata     int32\n\tPad_cgo_0 [4]byte\n}\n\ntype FdSet struct {\n\tBits [8]uint32\n}\n\nconst (\n\tSizeofIfMsghdr         = 0x98\n\tSizeofIfData           = 0x88\n\tSizeofIfaMsghdr        = 0x18\n\tSizeofIfAnnounceMsghdr = 0x18\n\tSizeofRtMsghdr         = 0x78\n\tSizeofRtMetrics        = 0x50\n)\n\ntype IfMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tData      IfData\n}\n\ntype IfData struct {\n\tType       uint8\n\tAddrlen    uint8\n\tHdrlen     uint8\n\tPad_cgo_0  [1]byte\n\tLink_state int32\n\tMtu        uint64\n\tMetric     uint64\n\tBaudrate   uint64\n\tIpackets   uint64\n\tIerrors    uint64\n\tOpackets   uint64\n\tOerrors    uint64\n\tCollisions uint64\n\tIbytes     uint64\n\tObytes     uint64\n\tImcasts    uint64\n\tOmcasts    uint64\n\tIqdrops    uint64\n\tNoproto    uint64\n\tLastchange Timespec\n}\n\ntype IfaMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tAddrs     int32\n\tFlags     int32\n\tMetric    int32\n\tIndex     uint16\n\tPad_cgo_0 [6]byte\n}\n\ntype IfAnnounceMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tIndex   uint16\n\tName    [16]int8\n\tWhat    uint16\n}\n\ntype RtMsghdr struct {\n\tMsglen    uint16\n\tVersion   uint8\n\tType      uint8\n\tIndex     uint16\n\tPad_cgo_0 [2]byte\n\tFlags     int32\n\tAddrs     int32\n\tPid       int32\n\tSeq       int32\n\tErrno     int32\n\tUse       int32\n\tInits     int32\n\tPad_cgo_1 [4]byte\n\tRmx       RtMetrics\n}\n\ntype RtMetrics struct {\n\tLocks    uint64\n\tMtu      uint64\n\tHopcount uint64\n\tRecvpipe uint64\n\tSendpipe uint64\n\tSsthresh uint64\n\tRtt      uint64\n\tRttvar   uint64\n\tExpire   int64\n\tPksent   int64\n}\n\ntype Mclpool [0]byte\n\nconst (\n\tSizeofBpfVersion = 0x4\n\tSizeofBpfStat    = 0x80\n\tSizeofBpfProgram = 0x8\n\tSizeofBpfInsn    = 0x8\n\tSizeofBpfHdr     = 0x14\n)\n\ntype BpfVersion struct {\n\tMajor uint16\n\tMinor uint16\n}\n\ntype BpfStat struct {\n\tRecv    uint64\n\tDrop    uint64\n\tCapt    uint64\n\tPadding [13]uint64\n}\n\ntype BpfProgram struct {\n\tLen   uint32\n\tInsns *BpfInsn\n}\n\ntype BpfInsn struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype BpfHdr struct {\n\tTstamp    BpfTimeval\n\tCaplen    uint32\n\tDatalen   uint32\n\tHdrlen    uint16\n\tPad_cgo_0 [2]byte\n}\n\ntype BpfTimeval struct {\n\tSec  int32\n\tUsec int32\n}\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tCc     [20]uint8\n\tIspeed int32\n\tOspeed int32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\nconst (\n\tAT_FDCWD            = -0x64\n\tAT_SYMLINK_NOFOLLOW = 0x200\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLERR    = 0x8\n\tPOLLHUP    = 0x10\n\tPOLLIN     = 0x1\n\tPOLLNVAL   = 0x20\n\tPOLLOUT    = 0x4\n\tPOLLPRI    = 0x2\n\tPOLLRDBAND = 0x80\n\tPOLLRDNORM = 0x40\n\tPOLLWRBAND = 0x100\n\tPOLLWRNORM = 0x4\n)\n\ntype Sysctlnode struct {\n\tFlags           uint32\n\tNum             int32\n\tName            [32]int8\n\tVer             uint32\n\tX__rsvd         uint32\n\tUn              [16]byte\n\tX_sysctl_size   [8]byte\n\tX_sysctl_func   [8]byte\n\tX_sysctl_parent [8]byte\n\tX_sysctl_desc   [8]byte\n}\n\ntype Utsname struct {\n\tSysname  [256]byte\n\tNodename [256]byte\n\tRelease  [256]byte\n\tVersion  [256]byte\n\tMachine  [256]byte\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go",
    "content": "// cgo -godefs types_openbsd.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build 386,openbsd\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x4\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x4\n\tsizeofLongLong = 0x8\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int32\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int32\n}\n\ntype Timeval struct {\n\tSec  int64\n\tUsec int32\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int32\n\tIxrss    int32\n\tIdrss    int32\n\tIsrss    int32\n\tMinflt   int32\n\tMajflt   int32\n\tNswap    int32\n\tInblock  int32\n\tOublock  int32\n\tMsgsnd   int32\n\tMsgrcv   int32\n\tNsignals int32\n\tNvcsw    int32\n\tNivcsw   int32\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tMode           uint32\n\tDev            int32\n\tIno            uint64\n\tNlink          uint32\n\tUid            uint32\n\tGid            uint32\n\tRdev           int32\n\tAtim           Timespec\n\tMtim           Timespec\n\tCtim           Timespec\n\tSize           int64\n\tBlocks         int64\n\tBlksize        uint32\n\tFlags          uint32\n\tGen            uint32\n\tX__st_birthtim Timespec\n}\n\ntype Statfs_t struct {\n\tF_flags       uint32\n\tF_bsize       uint32\n\tF_iosize      uint32\n\tF_blocks      uint64\n\tF_bfree       uint64\n\tF_bavail      int64\n\tF_files       uint64\n\tF_ffree       uint64\n\tF_favail      int64\n\tF_syncwrites  uint64\n\tF_syncreads   uint64\n\tF_asyncwrites uint64\n\tF_asyncreads  uint64\n\tF_fsid        Fsid\n\tF_namemax     uint32\n\tF_owner       uint32\n\tF_ctime       uint64\n\tF_fstypename  [16]int8\n\tF_mntonname   [90]int8\n\tF_mntfromname [90]int8\n\tF_mntfromspec [90]int8\n\tPad_cgo_0     [2]byte\n\tMount_info    [160]byte\n}\n\ntype Flock_t struct {\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\tType   int16\n\tWhence int16\n}\n\ntype Dirent struct {\n\tFileno       uint64\n\tOff          int64\n\tReclen       uint16\n\tType         uint8\n\tNamlen       uint8\n\tX__d_padding [4]uint8\n\tName         [256]int8\n}\n\ntype Fsid struct {\n\tVal [2]int32\n}\n\nconst (\n\tPathMax = 0x400\n)\n\ntype RawSockaddrInet4 struct {\n\tLen    uint8\n\tFamily uint8\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]int8\n}\n\ntype RawSockaddrInet6 struct {\n\tLen      uint8\n\tFamily   uint8\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tLen    uint8\n\tFamily uint8\n\tPath   [104]int8\n}\n\ntype RawSockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [24]int8\n}\n\ntype RawSockaddr struct {\n\tLen    uint8\n\tFamily uint8\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [92]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint32\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tIov        *Iovec\n\tIovlen     uint32\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tFilt [8]uint32\n}\n\nconst (\n\tSizeofSockaddrInet4    = 0x10\n\tSizeofSockaddrInet6    = 0x1c\n\tSizeofSockaddrAny      = 0x6c\n\tSizeofSockaddrUnix     = 0x6a\n\tSizeofSockaddrDatalink = 0x20\n\tSizeofLinger           = 0x8\n\tSizeofIPMreq           = 0x8\n\tSizeofIPv6Mreq         = 0x14\n\tSizeofMsghdr           = 0x1c\n\tSizeofCmsghdr          = 0xc\n\tSizeofInet6Pktinfo     = 0x14\n\tSizeofIPv6MTUInfo      = 0x20\n\tSizeofICMPv6Filter     = 0x20\n)\n\nconst (\n\tPTRACE_TRACEME = 0x0\n\tPTRACE_CONT    = 0x7\n\tPTRACE_KILL    = 0x8\n)\n\ntype Kevent_t struct {\n\tIdent  uint32\n\tFilter int16\n\tFlags  uint16\n\tFflags uint32\n\tData   int64\n\tUdata  *byte\n}\n\ntype FdSet struct {\n\tBits [32]uint32\n}\n\nconst (\n\tSizeofIfMsghdr         = 0xec\n\tSizeofIfData           = 0xd4\n\tSizeofIfaMsghdr        = 0x18\n\tSizeofIfAnnounceMsghdr = 0x1a\n\tSizeofRtMsghdr         = 0x60\n\tSizeofRtMetrics        = 0x38\n)\n\ntype IfMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tHdrlen  uint16\n\tIndex   uint16\n\tTableid uint16\n\tPad1    uint8\n\tPad2    uint8\n\tAddrs   int32\n\tFlags   int32\n\tXflags  int32\n\tData    IfData\n}\n\ntype IfData struct {\n\tType         uint8\n\tAddrlen      uint8\n\tHdrlen       uint8\n\tLink_state   uint8\n\tMtu          uint32\n\tMetric       uint32\n\tPad          uint32\n\tBaudrate     uint64\n\tIpackets     uint64\n\tIerrors      uint64\n\tOpackets     uint64\n\tOerrors      uint64\n\tCollisions   uint64\n\tIbytes       uint64\n\tObytes       uint64\n\tImcasts      uint64\n\tOmcasts      uint64\n\tIqdrops      uint64\n\tNoproto      uint64\n\tCapabilities uint32\n\tLastchange   Timeval\n\tMclpool      [7]Mclpool\n}\n\ntype IfaMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tHdrlen  uint16\n\tIndex   uint16\n\tTableid uint16\n\tPad1    uint8\n\tPad2    uint8\n\tAddrs   int32\n\tFlags   int32\n\tMetric  int32\n}\n\ntype IfAnnounceMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tHdrlen  uint16\n\tIndex   uint16\n\tWhat    uint16\n\tName    [16]int8\n}\n\ntype RtMsghdr struct {\n\tMsglen   uint16\n\tVersion  uint8\n\tType     uint8\n\tHdrlen   uint16\n\tIndex    uint16\n\tTableid  uint16\n\tPriority uint8\n\tMpls     uint8\n\tAddrs    int32\n\tFlags    int32\n\tFmask    int32\n\tPid      int32\n\tSeq      int32\n\tErrno    int32\n\tInits    uint32\n\tRmx      RtMetrics\n}\n\ntype RtMetrics struct {\n\tPksent   uint64\n\tExpire   int64\n\tLocks    uint32\n\tMtu      uint32\n\tRefcnt   uint32\n\tHopcount uint32\n\tRecvpipe uint32\n\tSendpipe uint32\n\tSsthresh uint32\n\tRtt      uint32\n\tRttvar   uint32\n\tPad      uint32\n}\n\ntype Mclpool struct {\n\tGrown int32\n\tAlive uint16\n\tHwm   uint16\n\tCwm   uint16\n\tLwm   uint16\n}\n\nconst (\n\tSizeofBpfVersion = 0x4\n\tSizeofBpfStat    = 0x8\n\tSizeofBpfProgram = 0x8\n\tSizeofBpfInsn    = 0x8\n\tSizeofBpfHdr     = 0x14\n)\n\ntype BpfVersion struct {\n\tMajor uint16\n\tMinor uint16\n}\n\ntype BpfStat struct {\n\tRecv uint32\n\tDrop uint32\n}\n\ntype BpfProgram struct {\n\tLen   uint32\n\tInsns *BpfInsn\n}\n\ntype BpfInsn struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype BpfHdr struct {\n\tTstamp    BpfTimeval\n\tCaplen    uint32\n\tDatalen   uint32\n\tHdrlen    uint16\n\tPad_cgo_0 [2]byte\n}\n\ntype BpfTimeval struct {\n\tSec  uint32\n\tUsec uint32\n}\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tCc     [20]uint8\n\tIspeed int32\n\tOspeed int32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\nconst (\n\tAT_FDCWD            = -0x64\n\tAT_SYMLINK_NOFOLLOW = 0x2\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLERR    = 0x8\n\tPOLLHUP    = 0x10\n\tPOLLIN     = 0x1\n\tPOLLNVAL   = 0x20\n\tPOLLOUT    = 0x4\n\tPOLLPRI    = 0x2\n\tPOLLRDBAND = 0x80\n\tPOLLRDNORM = 0x40\n\tPOLLWRBAND = 0x100\n\tPOLLWRNORM = 0x4\n)\n\ntype Utsname struct {\n\tSysname  [256]byte\n\tNodename [256]byte\n\tRelease  [256]byte\n\tVersion  [256]byte\n\tMachine  [256]byte\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go",
    "content": "// cgo -godefs types_openbsd.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,openbsd\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x8\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x8\n\tsizeofLongLong = 0x8\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int64\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int64\n}\n\ntype Timeval struct {\n\tSec  int64\n\tUsec int64\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int64\n\tIxrss    int64\n\tIdrss    int64\n\tIsrss    int64\n\tMinflt   int64\n\tMajflt   int64\n\tNswap    int64\n\tInblock  int64\n\tOublock  int64\n\tMsgsnd   int64\n\tMsgrcv   int64\n\tNsignals int64\n\tNvcsw    int64\n\tNivcsw   int64\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tMode    uint32\n\tDev     int32\n\tIno     uint64\n\tNlink   uint32\n\tUid     uint32\n\tGid     uint32\n\tRdev    int32\n\tAtim    Timespec\n\tMtim    Timespec\n\tCtim    Timespec\n\tSize    int64\n\tBlocks  int64\n\tBlksize int32\n\tFlags   uint32\n\tGen     uint32\n\t_       [4]byte\n\t_       Timespec\n}\n\ntype Statfs_t struct {\n\tF_flags       uint32\n\tF_bsize       uint32\n\tF_iosize      uint32\n\t_             [4]byte\n\tF_blocks      uint64\n\tF_bfree       uint64\n\tF_bavail      int64\n\tF_files       uint64\n\tF_ffree       uint64\n\tF_favail      int64\n\tF_syncwrites  uint64\n\tF_syncreads   uint64\n\tF_asyncwrites uint64\n\tF_asyncreads  uint64\n\tF_fsid        Fsid\n\tF_namemax     uint32\n\tF_owner       uint32\n\tF_ctime       uint64\n\tF_fstypename  [16]int8\n\tF_mntonname   [90]int8\n\tF_mntfromname [90]int8\n\tF_mntfromspec [90]int8\n\t_             [2]byte\n\tMount_info    [160]byte\n}\n\ntype Flock_t struct {\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\tType   int16\n\tWhence int16\n}\n\ntype Dirent struct {\n\tFileno uint64\n\tOff    int64\n\tReclen uint16\n\tType   uint8\n\tNamlen uint8\n\t_      [4]uint8\n\tName   [256]int8\n}\n\ntype Fsid struct {\n\tVal [2]int32\n}\n\nconst (\n\tPathMax = 0x400\n)\n\ntype RawSockaddrInet4 struct {\n\tLen    uint8\n\tFamily uint8\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]int8\n}\n\ntype RawSockaddrInet6 struct {\n\tLen      uint8\n\tFamily   uint8\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tLen    uint8\n\tFamily uint8\n\tPath   [104]int8\n}\n\ntype RawSockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [24]int8\n}\n\ntype RawSockaddr struct {\n\tLen    uint8\n\tFamily uint8\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [92]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint64\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\t_          [4]byte\n\tIov        *Iovec\n\tIovlen     uint32\n\t_          [4]byte\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tFilt [8]uint32\n}\n\nconst (\n\tSizeofSockaddrInet4    = 0x10\n\tSizeofSockaddrInet6    = 0x1c\n\tSizeofSockaddrAny      = 0x6c\n\tSizeofSockaddrUnix     = 0x6a\n\tSizeofSockaddrDatalink = 0x20\n\tSizeofLinger           = 0x8\n\tSizeofIPMreq           = 0x8\n\tSizeofIPv6Mreq         = 0x14\n\tSizeofMsghdr           = 0x30\n\tSizeofCmsghdr          = 0xc\n\tSizeofInet6Pktinfo     = 0x14\n\tSizeofIPv6MTUInfo      = 0x20\n\tSizeofICMPv6Filter     = 0x20\n)\n\nconst (\n\tPTRACE_TRACEME = 0x0\n\tPTRACE_CONT    = 0x7\n\tPTRACE_KILL    = 0x8\n)\n\ntype Kevent_t struct {\n\tIdent  uint64\n\tFilter int16\n\tFlags  uint16\n\tFflags uint32\n\tData   int64\n\tUdata  *byte\n}\n\ntype FdSet struct {\n\tBits [32]uint32\n}\n\nconst (\n\tSizeofIfMsghdr         = 0xa8\n\tSizeofIfData           = 0x90\n\tSizeofIfaMsghdr        = 0x18\n\tSizeofIfAnnounceMsghdr = 0x1a\n\tSizeofRtMsghdr         = 0x60\n\tSizeofRtMetrics        = 0x38\n)\n\ntype IfMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tHdrlen  uint16\n\tIndex   uint16\n\tTableid uint16\n\tPad1    uint8\n\tPad2    uint8\n\tAddrs   int32\n\tFlags   int32\n\tXflags  int32\n\tData    IfData\n}\n\ntype IfData struct {\n\tType         uint8\n\tAddrlen      uint8\n\tHdrlen       uint8\n\tLink_state   uint8\n\tMtu          uint32\n\tMetric       uint32\n\tRdomain      uint32\n\tBaudrate     uint64\n\tIpackets     uint64\n\tIerrors      uint64\n\tOpackets     uint64\n\tOerrors      uint64\n\tCollisions   uint64\n\tIbytes       uint64\n\tObytes       uint64\n\tImcasts      uint64\n\tOmcasts      uint64\n\tIqdrops      uint64\n\tOqdrops      uint64\n\tNoproto      uint64\n\tCapabilities uint32\n\t_            [4]byte\n\tLastchange   Timeval\n}\n\ntype IfaMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tHdrlen  uint16\n\tIndex   uint16\n\tTableid uint16\n\tPad1    uint8\n\tPad2    uint8\n\tAddrs   int32\n\tFlags   int32\n\tMetric  int32\n}\n\ntype IfAnnounceMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tHdrlen  uint16\n\tIndex   uint16\n\tWhat    uint16\n\tName    [16]int8\n}\n\ntype RtMsghdr struct {\n\tMsglen   uint16\n\tVersion  uint8\n\tType     uint8\n\tHdrlen   uint16\n\tIndex    uint16\n\tTableid  uint16\n\tPriority uint8\n\tMpls     uint8\n\tAddrs    int32\n\tFlags    int32\n\tFmask    int32\n\tPid      int32\n\tSeq      int32\n\tErrno    int32\n\tInits    uint32\n\tRmx      RtMetrics\n}\n\ntype RtMetrics struct {\n\tPksent   uint64\n\tExpire   int64\n\tLocks    uint32\n\tMtu      uint32\n\tRefcnt   uint32\n\tHopcount uint32\n\tRecvpipe uint32\n\tSendpipe uint32\n\tSsthresh uint32\n\tRtt      uint32\n\tRttvar   uint32\n\tPad      uint32\n}\n\ntype Mclpool struct{}\n\nconst (\n\tSizeofBpfVersion = 0x4\n\tSizeofBpfStat    = 0x8\n\tSizeofBpfProgram = 0x10\n\tSizeofBpfInsn    = 0x8\n\tSizeofBpfHdr     = 0x14\n)\n\ntype BpfVersion struct {\n\tMajor uint16\n\tMinor uint16\n}\n\ntype BpfStat struct {\n\tRecv uint32\n\tDrop uint32\n}\n\ntype BpfProgram struct {\n\tLen   uint32\n\t_     [4]byte\n\tInsns *BpfInsn\n}\n\ntype BpfInsn struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype BpfHdr struct {\n\tTstamp  BpfTimeval\n\tCaplen  uint32\n\tDatalen uint32\n\tHdrlen  uint16\n\t_       [2]byte\n}\n\ntype BpfTimeval struct {\n\tSec  uint32\n\tUsec uint32\n}\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tCc     [20]uint8\n\tIspeed int32\n\tOspeed int32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\nconst (\n\tAT_FDCWD            = -0x64\n\tAT_SYMLINK_NOFOLLOW = 0x2\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLERR    = 0x8\n\tPOLLHUP    = 0x10\n\tPOLLIN     = 0x1\n\tPOLLNVAL   = 0x20\n\tPOLLOUT    = 0x4\n\tPOLLPRI    = 0x2\n\tPOLLRDBAND = 0x80\n\tPOLLRDNORM = 0x40\n\tPOLLWRBAND = 0x100\n\tPOLLWRNORM = 0x4\n)\n\ntype Utsname struct {\n\tSysname  [256]byte\n\tNodename [256]byte\n\tRelease  [256]byte\n\tVersion  [256]byte\n\tMachine  [256]byte\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go",
    "content": "// cgo -godefs types_openbsd.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build arm,openbsd\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x4\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x4\n\tsizeofLongLong = 0x8\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int32\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int32\n}\n\ntype Timeval struct {\n\tSec  int64\n\tUsec int32\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int32\n\tIxrss    int32\n\tIdrss    int32\n\tIsrss    int32\n\tMinflt   int32\n\tMajflt   int32\n\tNswap    int32\n\tInblock  int32\n\tOublock  int32\n\tMsgsnd   int32\n\tMsgrcv   int32\n\tNsignals int32\n\tNvcsw    int32\n\tNivcsw   int32\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\ntype Stat_t struct {\n\tMode           uint32\n\tDev            int32\n\tIno            uint64\n\tNlink          uint32\n\tUid            uint32\n\tGid            uint32\n\tRdev           int32\n\tAtim           Timespec\n\tMtim           Timespec\n\tCtim           Timespec\n\tSize           int64\n\tBlocks         int64\n\tBlksize        int32\n\tFlags          uint32\n\tGen            uint32\n\tX__st_birthtim Timespec\n}\n\ntype Statfs_t struct {\n\tF_flags       uint32\n\tF_bsize       uint32\n\tF_iosize      uint32\n\tF_blocks      uint64\n\tF_bfree       uint64\n\tF_bavail      int64\n\tF_files       uint64\n\tF_ffree       uint64\n\tF_favail      int64\n\tF_syncwrites  uint64\n\tF_syncreads   uint64\n\tF_asyncwrites uint64\n\tF_asyncreads  uint64\n\tF_fsid        Fsid\n\tF_namemax     uint32\n\tF_owner       uint32\n\tF_ctime       uint64\n\tF_fstypename  [16]uint8\n\tF_mntonname   [90]uint8\n\tF_mntfromname [90]uint8\n\tF_mntfromspec [90]uint8\n\tPad_cgo_0     [2]byte\n\tMount_info    [160]byte\n}\n\ntype Flock_t struct {\n\tStart  int64\n\tLen    int64\n\tPid    int32\n\tType   int16\n\tWhence int16\n}\n\ntype Dirent struct {\n\tFileno       uint64\n\tOff          int64\n\tReclen       uint16\n\tType         uint8\n\tNamlen       uint8\n\tX__d_padding [4]uint8\n\tName         [256]uint8\n}\n\ntype Fsid struct {\n\tVal [2]int32\n}\n\nconst (\n\tPathMax = 0x400\n)\n\ntype RawSockaddrInet4 struct {\n\tLen    uint8\n\tFamily uint8\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]int8\n}\n\ntype RawSockaddrInet6 struct {\n\tLen      uint8\n\tFamily   uint8\n\tPort     uint16\n\tFlowinfo uint32\n\tAddr     [16]byte /* in6_addr */\n\tScope_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tLen    uint8\n\tFamily uint8\n\tPath   [104]int8\n}\n\ntype RawSockaddrDatalink struct {\n\tLen    uint8\n\tFamily uint8\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [24]int8\n}\n\ntype RawSockaddr struct {\n\tLen    uint8\n\tFamily uint8\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [92]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *byte\n\tLen  uint32\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype Msghdr struct {\n\tName       *byte\n\tNamelen    uint32\n\tIov        *Iovec\n\tIovlen     uint32\n\tControl    *byte\n\tControllen uint32\n\tFlags      int32\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tFilt [8]uint32\n}\n\nconst (\n\tSizeofSockaddrInet4    = 0x10\n\tSizeofSockaddrInet6    = 0x1c\n\tSizeofSockaddrAny      = 0x6c\n\tSizeofSockaddrUnix     = 0x6a\n\tSizeofSockaddrDatalink = 0x20\n\tSizeofLinger           = 0x8\n\tSizeofIPMreq           = 0x8\n\tSizeofIPv6Mreq         = 0x14\n\tSizeofMsghdr           = 0x1c\n\tSizeofCmsghdr          = 0xc\n\tSizeofInet6Pktinfo     = 0x14\n\tSizeofIPv6MTUInfo      = 0x20\n\tSizeofICMPv6Filter     = 0x20\n)\n\nconst (\n\tPTRACE_TRACEME = 0x0\n\tPTRACE_CONT    = 0x7\n\tPTRACE_KILL    = 0x8\n)\n\ntype Kevent_t struct {\n\tIdent  uint32\n\tFilter int16\n\tFlags  uint16\n\tFflags uint32\n\tData   int64\n\tUdata  *byte\n}\n\ntype FdSet struct {\n\tBits [32]uint32\n}\n\nconst (\n\tSizeofIfMsghdr         = 0x98\n\tSizeofIfData           = 0x80\n\tSizeofIfaMsghdr        = 0x18\n\tSizeofIfAnnounceMsghdr = 0x1a\n\tSizeofRtMsghdr         = 0x60\n\tSizeofRtMetrics        = 0x38\n)\n\ntype IfMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tHdrlen  uint16\n\tIndex   uint16\n\tTableid uint16\n\tPad1    uint8\n\tPad2    uint8\n\tAddrs   int32\n\tFlags   int32\n\tXflags  int32\n\tData    IfData\n}\n\ntype IfData struct {\n\tType         uint8\n\tAddrlen      uint8\n\tHdrlen       uint8\n\tLink_state   uint8\n\tMtu          uint32\n\tMetric       uint32\n\tPad          uint32\n\tBaudrate     uint64\n\tIpackets     uint64\n\tIerrors      uint64\n\tOpackets     uint64\n\tOerrors      uint64\n\tCollisions   uint64\n\tIbytes       uint64\n\tObytes       uint64\n\tImcasts      uint64\n\tOmcasts      uint64\n\tIqdrops      uint64\n\tNoproto      uint64\n\tCapabilities uint32\n\tLastchange   Timeval\n}\n\ntype IfaMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tHdrlen  uint16\n\tIndex   uint16\n\tTableid uint16\n\tPad1    uint8\n\tPad2    uint8\n\tAddrs   int32\n\tFlags   int32\n\tMetric  int32\n}\n\ntype IfAnnounceMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tHdrlen  uint16\n\tIndex   uint16\n\tWhat    uint16\n\tName    [16]uint8\n}\n\ntype RtMsghdr struct {\n\tMsglen   uint16\n\tVersion  uint8\n\tType     uint8\n\tHdrlen   uint16\n\tIndex    uint16\n\tTableid  uint16\n\tPriority uint8\n\tMpls     uint8\n\tAddrs    int32\n\tFlags    int32\n\tFmask    int32\n\tPid      int32\n\tSeq      int32\n\tErrno    int32\n\tInits    uint32\n\tRmx      RtMetrics\n}\n\ntype RtMetrics struct {\n\tPksent   uint64\n\tExpire   int64\n\tLocks    uint32\n\tMtu      uint32\n\tRefcnt   uint32\n\tHopcount uint32\n\tRecvpipe uint32\n\tSendpipe uint32\n\tSsthresh uint32\n\tRtt      uint32\n\tRttvar   uint32\n\tPad      uint32\n}\n\ntype Mclpool struct{}\n\nconst (\n\tSizeofBpfVersion = 0x4\n\tSizeofBpfStat    = 0x8\n\tSizeofBpfProgram = 0x8\n\tSizeofBpfInsn    = 0x8\n\tSizeofBpfHdr     = 0x14\n)\n\ntype BpfVersion struct {\n\tMajor uint16\n\tMinor uint16\n}\n\ntype BpfStat struct {\n\tRecv uint32\n\tDrop uint32\n}\n\ntype BpfProgram struct {\n\tLen   uint32\n\tInsns *BpfInsn\n}\n\ntype BpfInsn struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype BpfHdr struct {\n\tTstamp    BpfTimeval\n\tCaplen    uint32\n\tDatalen   uint32\n\tHdrlen    uint16\n\tPad_cgo_0 [2]byte\n}\n\ntype BpfTimeval struct {\n\tSec  uint32\n\tUsec uint32\n}\n\ntype Termios struct {\n\tIflag  uint32\n\tOflag  uint32\n\tCflag  uint32\n\tLflag  uint32\n\tCc     [20]uint8\n\tIspeed int32\n\tOspeed int32\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\nconst (\n\tAT_FDCWD            = -0x64\n\tAT_SYMLINK_NOFOLLOW = 0x2\n)\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLERR    = 0x8\n\tPOLLHUP    = 0x10\n\tPOLLIN     = 0x1\n\tPOLLNVAL   = 0x20\n\tPOLLOUT    = 0x4\n\tPOLLPRI    = 0x2\n\tPOLLRDBAND = 0x80\n\tPOLLRDNORM = 0x40\n\tPOLLWRBAND = 0x100\n\tPOLLWRNORM = 0x4\n)\n\ntype Utsname struct {\n\tSysname  [256]byte\n\tNodename [256]byte\n\tRelease  [256]byte\n\tVersion  [256]byte\n\tMachine  [256]byte\n}\n"
  },
  {
    "path": "vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go",
    "content": "// cgo -godefs types_solaris.go | go run mkpost.go\n// Code generated by the command above; see README.md. DO NOT EDIT.\n\n// +build amd64,solaris\n\npackage unix\n\nconst (\n\tsizeofPtr      = 0x8\n\tsizeofShort    = 0x2\n\tsizeofInt      = 0x4\n\tsizeofLong     = 0x8\n\tsizeofLongLong = 0x8\n\tPathMax        = 0x400\n\tMaxHostNameLen = 0x100\n)\n\ntype (\n\t_C_short     int16\n\t_C_int       int32\n\t_C_long      int64\n\t_C_long_long int64\n)\n\ntype Timespec struct {\n\tSec  int64\n\tNsec int64\n}\n\ntype Timeval struct {\n\tSec  int64\n\tUsec int64\n}\n\ntype Timeval32 struct {\n\tSec  int32\n\tUsec int32\n}\n\ntype Tms struct {\n\tUtime  int64\n\tStime  int64\n\tCutime int64\n\tCstime int64\n}\n\ntype Utimbuf struct {\n\tActime  int64\n\tModtime int64\n}\n\ntype Rusage struct {\n\tUtime    Timeval\n\tStime    Timeval\n\tMaxrss   int64\n\tIxrss    int64\n\tIdrss    int64\n\tIsrss    int64\n\tMinflt   int64\n\tMajflt   int64\n\tNswap    int64\n\tInblock  int64\n\tOublock  int64\n\tMsgsnd   int64\n\tMsgrcv   int64\n\tNsignals int64\n\tNvcsw    int64\n\tNivcsw   int64\n}\n\ntype Rlimit struct {\n\tCur uint64\n\tMax uint64\n}\n\ntype _Gid_t uint32\n\nconst (\n\tS_IFMT   = 0xf000\n\tS_IFIFO  = 0x1000\n\tS_IFCHR  = 0x2000\n\tS_IFDIR  = 0x4000\n\tS_IFBLK  = 0x6000\n\tS_IFREG  = 0x8000\n\tS_IFLNK  = 0xa000\n\tS_IFSOCK = 0xc000\n\tS_ISUID  = 0x800\n\tS_ISGID  = 0x400\n\tS_ISVTX  = 0x200\n\tS_IRUSR  = 0x100\n\tS_IWUSR  = 0x80\n\tS_IXUSR  = 0x40\n)\n\ntype Stat_t struct {\n\tDev     uint64\n\tIno     uint64\n\tMode    uint32\n\tNlink   uint32\n\tUid     uint32\n\tGid     uint32\n\tRdev    uint64\n\tSize    int64\n\tAtim    Timespec\n\tMtim    Timespec\n\tCtim    Timespec\n\tBlksize int32\n\t_       [4]byte\n\tBlocks  int64\n\tFstype  [16]int8\n}\n\ntype Flock_t struct {\n\tType   int16\n\tWhence int16\n\t_      [4]byte\n\tStart  int64\n\tLen    int64\n\tSysid  int32\n\tPid    int32\n\tPad    [4]int64\n}\n\ntype Dirent struct {\n\tIno    uint64\n\tOff    int64\n\tReclen uint16\n\tName   [1]int8\n\t_      [5]byte\n}\n\ntype _Fsblkcnt_t uint64\n\ntype Statvfs_t struct {\n\tBsize    uint64\n\tFrsize   uint64\n\tBlocks   uint64\n\tBfree    uint64\n\tBavail   uint64\n\tFiles    uint64\n\tFfree    uint64\n\tFavail   uint64\n\tFsid     uint64\n\tBasetype [16]int8\n\tFlag     uint64\n\tNamemax  uint64\n\tFstr     [32]int8\n}\n\ntype RawSockaddrInet4 struct {\n\tFamily uint16\n\tPort   uint16\n\tAddr   [4]byte /* in_addr */\n\tZero   [8]int8\n}\n\ntype RawSockaddrInet6 struct {\n\tFamily         uint16\n\tPort           uint16\n\tFlowinfo       uint32\n\tAddr           [16]byte /* in6_addr */\n\tScope_id       uint32\n\tX__sin6_src_id uint32\n}\n\ntype RawSockaddrUnix struct {\n\tFamily uint16\n\tPath   [108]int8\n}\n\ntype RawSockaddrDatalink struct {\n\tFamily uint16\n\tIndex  uint16\n\tType   uint8\n\tNlen   uint8\n\tAlen   uint8\n\tSlen   uint8\n\tData   [244]int8\n}\n\ntype RawSockaddr struct {\n\tFamily uint16\n\tData   [14]int8\n}\n\ntype RawSockaddrAny struct {\n\tAddr RawSockaddr\n\tPad  [236]int8\n}\n\ntype _Socklen uint32\n\ntype Linger struct {\n\tOnoff  int32\n\tLinger int32\n}\n\ntype Iovec struct {\n\tBase *int8\n\tLen  uint64\n}\n\ntype IPMreq struct {\n\tMultiaddr [4]byte /* in_addr */\n\tInterface [4]byte /* in_addr */\n}\n\ntype IPv6Mreq struct {\n\tMultiaddr [16]byte /* in6_addr */\n\tInterface uint32\n}\n\ntype Msghdr struct {\n\tName         *byte\n\tNamelen      uint32\n\t_            [4]byte\n\tIov          *Iovec\n\tIovlen       int32\n\t_            [4]byte\n\tAccrights    *int8\n\tAccrightslen int32\n\t_            [4]byte\n}\n\ntype Cmsghdr struct {\n\tLen   uint32\n\tLevel int32\n\tType  int32\n}\n\ntype Inet6Pktinfo struct {\n\tAddr    [16]byte /* in6_addr */\n\tIfindex uint32\n}\n\ntype IPv6MTUInfo struct {\n\tAddr RawSockaddrInet6\n\tMtu  uint32\n}\n\ntype ICMPv6Filter struct {\n\tX__icmp6_filt [8]uint32\n}\n\nconst (\n\tSizeofSockaddrInet4    = 0x10\n\tSizeofSockaddrInet6    = 0x20\n\tSizeofSockaddrAny      = 0xfc\n\tSizeofSockaddrUnix     = 0x6e\n\tSizeofSockaddrDatalink = 0xfc\n\tSizeofLinger           = 0x8\n\tSizeofIPMreq           = 0x8\n\tSizeofIPv6Mreq         = 0x14\n\tSizeofMsghdr           = 0x30\n\tSizeofCmsghdr          = 0xc\n\tSizeofInet6Pktinfo     = 0x14\n\tSizeofIPv6MTUInfo      = 0x24\n\tSizeofICMPv6Filter     = 0x20\n)\n\ntype FdSet struct {\n\tBits [1024]int64\n}\n\ntype Utsname struct {\n\tSysname  [257]byte\n\tNodename [257]byte\n\tRelease  [257]byte\n\tVersion  [257]byte\n\tMachine  [257]byte\n}\n\ntype Ustat_t struct {\n\tTfree  int64\n\tTinode uint64\n\tFname  [6]int8\n\tFpack  [6]int8\n\t_      [4]byte\n}\n\nconst (\n\tAT_FDCWD            = 0xffd19553\n\tAT_SYMLINK_NOFOLLOW = 0x1000\n\tAT_SYMLINK_FOLLOW   = 0x2000\n\tAT_REMOVEDIR        = 0x1\n\tAT_EACCESS          = 0x4\n)\n\nconst (\n\tSizeofIfMsghdr  = 0x54\n\tSizeofIfData    = 0x44\n\tSizeofIfaMsghdr = 0x14\n\tSizeofRtMsghdr  = 0x4c\n\tSizeofRtMetrics = 0x28\n)\n\ntype IfMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tAddrs   int32\n\tFlags   int32\n\tIndex   uint16\n\t_       [2]byte\n\tData    IfData\n}\n\ntype IfData struct {\n\tType       uint8\n\tAddrlen    uint8\n\tHdrlen     uint8\n\t_          [1]byte\n\tMtu        uint32\n\tMetric     uint32\n\tBaudrate   uint32\n\tIpackets   uint32\n\tIerrors    uint32\n\tOpackets   uint32\n\tOerrors    uint32\n\tCollisions uint32\n\tIbytes     uint32\n\tObytes     uint32\n\tImcasts    uint32\n\tOmcasts    uint32\n\tIqdrops    uint32\n\tNoproto    uint32\n\tLastchange Timeval32\n}\n\ntype IfaMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tAddrs   int32\n\tFlags   int32\n\tIndex   uint16\n\t_       [2]byte\n\tMetric  int32\n}\n\ntype RtMsghdr struct {\n\tMsglen  uint16\n\tVersion uint8\n\tType    uint8\n\tIndex   uint16\n\t_       [2]byte\n\tFlags   int32\n\tAddrs   int32\n\tPid     int32\n\tSeq     int32\n\tErrno   int32\n\tUse     int32\n\tInits   uint32\n\tRmx     RtMetrics\n}\n\ntype RtMetrics struct {\n\tLocks    uint32\n\tMtu      uint32\n\tHopcount uint32\n\tExpire   uint32\n\tRecvpipe uint32\n\tSendpipe uint32\n\tSsthresh uint32\n\tRtt      uint32\n\tRttvar   uint32\n\tPksent   uint32\n}\n\nconst (\n\tSizeofBpfVersion = 0x4\n\tSizeofBpfStat    = 0x80\n\tSizeofBpfProgram = 0x10\n\tSizeofBpfInsn    = 0x8\n\tSizeofBpfHdr     = 0x14\n)\n\ntype BpfVersion struct {\n\tMajor uint16\n\tMinor uint16\n}\n\ntype BpfStat struct {\n\tRecv    uint64\n\tDrop    uint64\n\tCapt    uint64\n\tPadding [13]uint64\n}\n\ntype BpfProgram struct {\n\tLen   uint32\n\t_     [4]byte\n\tInsns *BpfInsn\n}\n\ntype BpfInsn struct {\n\tCode uint16\n\tJt   uint8\n\tJf   uint8\n\tK    uint32\n}\n\ntype BpfTimeval struct {\n\tSec  int32\n\tUsec int32\n}\n\ntype BpfHdr struct {\n\tTstamp  BpfTimeval\n\tCaplen  uint32\n\tDatalen uint32\n\tHdrlen  uint16\n\t_       [2]byte\n}\n\ntype Termios struct {\n\tIflag uint32\n\tOflag uint32\n\tCflag uint32\n\tLflag uint32\n\tCc    [19]uint8\n\t_     [1]byte\n}\n\ntype Termio struct {\n\tIflag uint16\n\tOflag uint16\n\tCflag uint16\n\tLflag uint16\n\tLine  int8\n\tCc    [8]uint8\n\t_     [1]byte\n}\n\ntype Winsize struct {\n\tRow    uint16\n\tCol    uint16\n\tXpixel uint16\n\tYpixel uint16\n}\n\ntype PollFd struct {\n\tFd      int32\n\tEvents  int16\n\tRevents int16\n}\n\nconst (\n\tPOLLERR    = 0x8\n\tPOLLHUP    = 0x10\n\tPOLLIN     = 0x1\n\tPOLLNVAL   = 0x20\n\tPOLLOUT    = 0x4\n\tPOLLPRI    = 0x2\n\tPOLLRDBAND = 0x80\n\tPOLLRDNORM = 0x40\n\tPOLLWRBAND = 0x100\n\tPOLLWRNORM = 0x4\n)\n"
  },
  {
    "path": "vendor/golang.org/x/text/AUTHORS",
    "content": "# This source code refers to The Go Authors for copyright purposes.\n# The master list of authors is in the main Go distribution,\n# visible at http://tip.golang.org/AUTHORS.\n"
  },
  {
    "path": "vendor/golang.org/x/text/CONTRIBUTORS",
    "content": "# This source code was written by the Go contributors.\n# The master list of contributors is in the main Go distribution,\n# visible at http://tip.golang.org/CONTRIBUTORS.\n"
  },
  {
    "path": "vendor/golang.org/x/text/LICENSE",
    "content": "Copyright (c) 2009 The Go Authors. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n   * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n   * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n   * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
  },
  {
    "path": "vendor/golang.org/x/text/PATENTS",
    "content": "Additional IP Rights Grant (Patents)\n\n\"This implementation\" means the copyrightable works distributed by\nGoogle as part of the Go project.\n\nGoogle hereby grants to You a perpetual, worldwide, non-exclusive,\nno-charge, royalty-free, irrevocable (except as stated in this section)\npatent license to make, have made, use, offer to sell, sell, import,\ntransfer and otherwise run, modify and propagate the contents of this\nimplementation of Go, where such license applies only to those patent\nclaims, both currently owned or controlled by Google and acquired in\nthe future, licensable by Google that are necessarily infringed by this\nimplementation of Go.  This grant does not include claims that would be\ninfringed only as a consequence of further modification of this\nimplementation.  If you or your agent or exclusive licensee institute or\norder or agree to the institution of patent litigation against any\nentity (including a cross-claim or counterclaim in a lawsuit) alleging\nthat this implementation of Go or any code incorporated within this\nimplementation of Go constitutes direct or contributory patent\ninfringement, or inducement of patent infringement, then any patent\nrights granted to you under this License for this implementation of Go\nshall terminate as of the date such litigation is filed.\n"
  },
  {
    "path": "vendor/golang.org/x/text/collate/collate.go",
    "content": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// TODO: remove hard-coded versions when we have implemented fractional weights.\n// The current implementation is incompatible with later CLDR versions.\n//go:generate go run maketables.go -cldr=23 -unicode=6.2.0\n\n// Package collate contains types for comparing and sorting Unicode strings\n// according to a given collation order.\npackage collate // import \"golang.org/x/text/collate\"\n\nimport (\n\t\"bytes\"\n\t\"strings\"\n\n\t\"golang.org/x/text/internal/colltab\"\n\t\"golang.org/x/text/language\"\n)\n\n// Collator provides functionality for comparing strings for a given\n// collation order.\ntype Collator struct {\n\toptions\n\n\tsorter sorter\n\n\t_iter [2]iter\n}\n\nfunc (c *Collator) iter(i int) *iter {\n\t// TODO: evaluate performance for making the second iterator optional.\n\treturn &c._iter[i]\n}\n\n// Supported returns the list of languages for which collating differs from its parent.\nfunc Supported() []language.Tag {\n\t// TODO: use language.Coverage instead.\n\n\tt := make([]language.Tag, len(tags))\n\tcopy(t, tags)\n\treturn t\n}\n\nfunc init() {\n\tids := strings.Split(availableLocales, \",\")\n\ttags = make([]language.Tag, len(ids))\n\tfor i, s := range ids {\n\t\ttags[i] = language.Raw.MustParse(s)\n\t}\n}\n\nvar tags []language.Tag\n\n// New returns a new Collator initialized for the given locale.\nfunc New(t language.Tag, o ...Option) *Collator {\n\tindex := colltab.MatchLang(t, tags)\n\tc := newCollator(getTable(locales[index]))\n\n\t// Set options from the user-supplied tag.\n\tc.setFromTag(t)\n\n\t// Set the user-supplied options.\n\tc.setOptions(o)\n\n\tc.init()\n\treturn c\n}\n\n// NewFromTable returns a new Collator for the given Weighter.\nfunc NewFromTable(w colltab.Weighter, o ...Option) *Collator {\n\tc := newCollator(w)\n\tc.setOptions(o)\n\tc.init()\n\treturn c\n}\n\nfunc (c *Collator) init() {\n\tif c.numeric {\n\t\tc.t = colltab.NewNumericWeighter(c.t)\n\t}\n\tc._iter[0].init(c)\n\tc._iter[1].init(c)\n}\n\n// Buffer holds keys generated by Key and KeyString.\ntype Buffer struct {\n\tbuf [4096]byte\n\tkey []byte\n}\n\nfunc (b *Buffer) init() {\n\tif b.key == nil {\n\t\tb.key = b.buf[:0]\n\t}\n}\n\n// Reset clears the buffer from previous results generated by Key and KeyString.\nfunc (b *Buffer) Reset() {\n\tb.key = b.key[:0]\n}\n\n// Compare returns an integer comparing the two byte slices.\n// The result will be 0 if a==b, -1 if a < b, and +1 if a > b.\nfunc (c *Collator) Compare(a, b []byte) int {\n\t// TODO: skip identical prefixes once we have a fast way to detect if a rune is\n\t// part of a contraction. This would lead to roughly a 10% speedup for the colcmp regtest.\n\tc.iter(0).SetInput(a)\n\tc.iter(1).SetInput(b)\n\tif res := c.compare(); res != 0 {\n\t\treturn res\n\t}\n\tif !c.ignore[colltab.Identity] {\n\t\treturn bytes.Compare(a, b)\n\t}\n\treturn 0\n}\n\n// CompareString returns an integer comparing the two strings.\n// The result will be 0 if a==b, -1 if a < b, and +1 if a > b.\nfunc (c *Collator) CompareString(a, b string) int {\n\t// TODO: skip identical prefixes once we have a fast way to detect if a rune is\n\t// part of a contraction. This would lead to roughly a 10% speedup for the colcmp regtest.\n\tc.iter(0).SetInputString(a)\n\tc.iter(1).SetInputString(b)\n\tif res := c.compare(); res != 0 {\n\t\treturn res\n\t}\n\tif !c.ignore[colltab.Identity] {\n\t\tif a < b {\n\t\t\treturn -1\n\t\t} else if a > b {\n\t\t\treturn 1\n\t\t}\n\t}\n\treturn 0\n}\n\nfunc compareLevel(f func(i *iter) int, a, b *iter) int {\n\ta.pce = 0\n\tb.pce = 0\n\tfor {\n\t\tva := f(a)\n\t\tvb := f(b)\n\t\tif va != vb {\n\t\t\tif va < vb {\n\t\t\t\treturn -1\n\t\t\t}\n\t\t\treturn 1\n\t\t} else if va == 0 {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn 0\n}\n\nfunc (c *Collator) compare() int {\n\tia, ib := c.iter(0), c.iter(1)\n\t// Process primary level\n\tif c.alternate != altShifted {\n\t\t// TODO: implement script reordering\n\t\tif res := compareLevel((*iter).nextPrimary, ia, ib); res != 0 {\n\t\t\treturn res\n\t\t}\n\t} else {\n\t\t// TODO: handle shifted\n\t}\n\tif !c.ignore[colltab.Secondary] {\n\t\tf := (*iter).nextSecondary\n\t\tif c.backwards {\n\t\t\tf = (*iter).prevSecondary\n\t\t}\n\t\tif res := compareLevel(f, ia, ib); res != 0 {\n\t\t\treturn res\n\t\t}\n\t}\n\t// TODO: special case handling (Danish?)\n\tif !c.ignore[colltab.Tertiary] || c.caseLevel {\n\t\tif res := compareLevel((*iter).nextTertiary, ia, ib); res != 0 {\n\t\t\treturn res\n\t\t}\n\t\tif !c.ignore[colltab.Quaternary] {\n\t\t\tif res := compareLevel((*iter).nextQuaternary, ia, ib); res != 0 {\n\t\t\t\treturn res\n\t\t\t}\n\t\t}\n\t}\n\treturn 0\n}\n\n// Key returns the collation key for str.\n// Passing the buffer buf may avoid memory allocations.\n// The returned slice will point to an allocation in Buffer and will remain\n// valid until the next call to buf.Reset().\nfunc (c *Collator) Key(buf *Buffer, str []byte) []byte {\n\t// See http://www.unicode.org/reports/tr10/#Main_Algorithm for more details.\n\tbuf.init()\n\treturn c.key(buf, c.getColElems(str))\n}\n\n// KeyFromString returns the collation key for str.\n// Passing the buffer buf may avoid memory allocations.\n// The returned slice will point to an allocation in Buffer and will retain\n// valid until the next call to buf.ResetKeys().\nfunc (c *Collator) KeyFromString(buf *Buffer, str string) []byte {\n\t// See http://www.unicode.org/reports/tr10/#Main_Algorithm for more details.\n\tbuf.init()\n\treturn c.key(buf, c.getColElemsString(str))\n}\n\nfunc (c *Collator) key(buf *Buffer, w []colltab.Elem) []byte {\n\tprocessWeights(c.alternate, c.t.Top(), w)\n\tkn := len(buf.key)\n\tc.keyFromElems(buf, w)\n\treturn buf.key[kn:]\n}\n\nfunc (c *Collator) getColElems(str []byte) []colltab.Elem {\n\ti := c.iter(0)\n\ti.SetInput(str)\n\tfor i.Next() {\n\t}\n\treturn i.Elems\n}\n\nfunc (c *Collator) getColElemsString(str string) []colltab.Elem {\n\ti := c.iter(0)\n\ti.SetInputString(str)\n\tfor i.Next() {\n\t}\n\treturn i.Elems\n}\n\ntype iter struct {\n\twa [512]colltab.Elem\n\n\tcolltab.Iter\n\tpce int\n}\n\nfunc (i *iter) init(c *Collator) {\n\ti.Weighter = c.t\n\ti.Elems = i.wa[:0]\n}\n\nfunc (i *iter) nextPrimary() int {\n\tfor {\n\t\tfor ; i.pce < i.N; i.pce++ {\n\t\t\tif v := i.Elems[i.pce].Primary(); v != 0 {\n\t\t\t\ti.pce++\n\t\t\t\treturn v\n\t\t\t}\n\t\t}\n\t\tif !i.Next() {\n\t\t\treturn 0\n\t\t}\n\t}\n\tpanic(\"should not reach here\")\n}\n\nfunc (i *iter) nextSecondary() int {\n\tfor ; i.pce < len(i.Elems); i.pce++ {\n\t\tif v := i.Elems[i.pce].Secondary(); v != 0 {\n\t\t\ti.pce++\n\t\t\treturn v\n\t\t}\n\t}\n\treturn 0\n}\n\nfunc (i *iter) prevSecondary() int {\n\tfor ; i.pce < len(i.Elems); i.pce++ {\n\t\tif v := i.Elems[len(i.Elems)-i.pce-1].Secondary(); v != 0 {\n\t\t\ti.pce++\n\t\t\treturn v\n\t\t}\n\t}\n\treturn 0\n}\n\nfunc (i *iter) nextTertiary() int {\n\tfor ; i.pce < len(i.Elems); i.pce++ {\n\t\tif v := i.Elems[i.pce].Tertiary(); v != 0 {\n\t\t\ti.pce++\n\t\t\treturn int(v)\n\t\t}\n\t}\n\treturn 0\n}\n\nfunc (i *iter) nextQuaternary() int {\n\tfor ; i.pce < len(i.Elems); i.pce++ {\n\t\tif v := i.Elems[i.pce].Quaternary(); v != 0 {\n\t\t\ti.pce++\n\t\t\treturn v\n\t\t}\n\t}\n\treturn 0\n}\n\nfunc appendPrimary(key []byte, p int) []byte {\n\t// Convert to variable length encoding; supports up to 23 bits.\n\tif p <= 0x7FFF {\n\t\tkey = append(key, uint8(p>>8), uint8(p))\n\t} else {\n\t\tkey = append(key, uint8(p>>16)|0x80, uint8(p>>8), uint8(p))\n\t}\n\treturn key\n}\n\n// keyFromElems converts the weights ws to a compact sequence of bytes.\n// The result will be appended to the byte buffer in buf.\nfunc (c *Collator) keyFromElems(buf *Buffer, ws []colltab.Elem) {\n\tfor _, v := range ws {\n\t\tif w := v.Primary(); w > 0 {\n\t\t\tbuf.key = appendPrimary(buf.key, w)\n\t\t}\n\t}\n\tif !c.ignore[colltab.Secondary] {\n\t\tbuf.key = append(buf.key, 0, 0)\n\t\t// TODO: we can use one 0 if we can guarantee that all non-zero weights are > 0xFF.\n\t\tif !c.backwards {\n\t\t\tfor _, v := range ws {\n\t\t\t\tif w := v.Secondary(); w > 0 {\n\t\t\t\t\tbuf.key = append(buf.key, uint8(w>>8), uint8(w))\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor i := len(ws) - 1; i >= 0; i-- {\n\t\t\t\tif w := ws[i].Secondary(); w > 0 {\n\t\t\t\t\tbuf.key = append(buf.key, uint8(w>>8), uint8(w))\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else if c.caseLevel {\n\t\tbuf.key = append(buf.key, 0, 0)\n\t}\n\tif !c.ignore[colltab.Tertiary] || c.caseLevel {\n\t\tbuf.key = append(buf.key, 0, 0)\n\t\tfor _, v := range ws {\n\t\t\tif w := v.Tertiary(); w > 0 {\n\t\t\t\tbuf.key = append(buf.key, uint8(w))\n\t\t\t}\n\t\t}\n\t\t// Derive the quaternary weights from the options and other levels.\n\t\t// Note that we represent MaxQuaternary as 0xFF. The first byte of the\n\t\t// representation of a primary weight is always smaller than 0xFF,\n\t\t// so using this single byte value will compare correctly.\n\t\tif !c.ignore[colltab.Quaternary] && c.alternate >= altShifted {\n\t\t\tif c.alternate == altShiftTrimmed {\n\t\t\t\tlastNonFFFF := len(buf.key)\n\t\t\t\tbuf.key = append(buf.key, 0)\n\t\t\t\tfor _, v := range ws {\n\t\t\t\t\tif w := v.Quaternary(); w == colltab.MaxQuaternary {\n\t\t\t\t\t\tbuf.key = append(buf.key, 0xFF)\n\t\t\t\t\t} else if w > 0 {\n\t\t\t\t\t\tbuf.key = appendPrimary(buf.key, w)\n\t\t\t\t\t\tlastNonFFFF = len(buf.key)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbuf.key = buf.key[:lastNonFFFF]\n\t\t\t} else {\n\t\t\t\tbuf.key = append(buf.key, 0)\n\t\t\t\tfor _, v := range ws {\n\t\t\t\t\tif w := v.Quaternary(); w == colltab.MaxQuaternary {\n\t\t\t\t\t\tbuf.key = append(buf.key, 0xFF)\n\t\t\t\t\t} else if w > 0 {\n\t\t\t\t\t\tbuf.key = appendPrimary(buf.key, w)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc processWeights(vw alternateHandling, top uint32, wa []colltab.Elem) {\n\tignore := false\n\tvtop := int(top)\n\tswitch vw {\n\tcase altShifted, altShiftTrimmed:\n\t\tfor i := range wa {\n\t\t\tif p := wa[i].Primary(); p <= vtop && p != 0 {\n\t\t\t\twa[i] = colltab.MakeQuaternary(p)\n\t\t\t\tignore = true\n\t\t\t} else if p == 0 {\n\t\t\t\tif ignore {\n\t\t\t\t\twa[i] = colltab.Ignore\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tignore = false\n\t\t\t}\n\t\t}\n\tcase altBlanked:\n\t\tfor i := range wa {\n\t\t\tif p := wa[i].Primary(); p <= vtop && (ignore || p != 0) {\n\t\t\t\twa[i] = colltab.Ignore\n\t\t\t\tignore = true\n\t\t\t} else {\n\t\t\t\tignore = false\n\t\t\t}\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/collate/index.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage collate\n\nimport \"golang.org/x/text/internal/colltab\"\n\nconst blockSize = 64\n\nfunc getTable(t tableIndex) *colltab.Table {\n\treturn &colltab.Table{\n\t\tIndex: colltab.Trie{\n\t\t\tIndex0:  mainLookup[:][blockSize*t.lookupOffset:],\n\t\t\tValues0: mainValues[:][blockSize*t.valuesOffset:],\n\t\t\tIndex:   mainLookup[:],\n\t\t\tValues:  mainValues[:],\n\t\t},\n\t\tExpandElem:     mainExpandElem[:],\n\t\tContractTries:  colltab.ContractTrieSet(mainCTEntries[:]),\n\t\tContractElem:   mainContractElem[:],\n\t\tMaxContractLen: 18,\n\t\tVariableTop:    varTop,\n\t}\n}\n\n// tableIndex holds information for constructing a table\n// for a certain locale based on the main table.\ntype tableIndex struct {\n\tlookupOffset uint32\n\tvaluesOffset uint32\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/collate/maketables.go",
    "content": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\n// Collation table generator.\n// Data read from the web.\n\npackage main\n\nimport (\n\t\"archive/zip\"\n\t\"bufio\"\n\t\"bytes\"\n\t\"flag\"\n\t\"fmt\"\n\t\"io\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"os\"\n\t\"regexp\"\n\t\"sort\"\n\t\"strconv\"\n\t\"strings\"\n\t\"unicode/utf8\"\n\n\t\"golang.org/x/text/collate\"\n\t\"golang.org/x/text/collate/build\"\n\t\"golang.org/x/text/internal/colltab\"\n\t\"golang.org/x/text/internal/gen\"\n\t\"golang.org/x/text/language\"\n\t\"golang.org/x/text/unicode/cldr\"\n)\n\nvar (\n\ttest = flag.Bool(\"test\", false,\n\t\t\"test existing tables; can be used to compare web data with package data.\")\n\tshort = flag.Bool(\"short\", false, `Use \"short\" alternatives, when available.`)\n\tdraft = flag.Bool(\"draft\", false, `Use draft versions, when available.`)\n\ttags  = flag.String(\"tags\", \"\", \"build tags to be included after +build directive\")\n\tpkg   = flag.String(\"package\", \"collate\",\n\t\t\"the name of the package in which the generated file is to be included\")\n\n\ttables = flagStringSetAllowAll(\"tables\", \"collate\", \"collate,chars\",\n\t\t\"comma-spearated list of tables to generate.\")\n\texclude = flagStringSet(\"exclude\", \"zh2\", \"\",\n\t\t\"comma-separated list of languages to exclude.\")\n\tinclude = flagStringSet(\"include\", \"\", \"\",\n\t\t\"comma-separated list of languages to include. Include trumps exclude.\")\n\t// TODO: Not included: unihan gb2312han zhuyin big5han (for size reasons)\n\t// TODO: Not included: traditional (buggy for Bengali)\n\ttypes = flagStringSetAllowAll(\"types\", \"standard,phonebook,phonetic,reformed,pinyin,stroke\", \"\",\n\t\t\"comma-separated list of types that should be included.\")\n)\n\n// stringSet implements an ordered set based on a list.  It implements flag.Value\n// to allow a set to be specified as a comma-separated list.\ntype stringSet struct {\n\ts        []string\n\tallowed  *stringSet\n\tdirty    bool // needs compaction if true\n\tall      bool\n\tallowAll bool\n}\n\nfunc flagStringSet(name, def, allowed, usage string) *stringSet {\n\tss := &stringSet{}\n\tif allowed != \"\" {\n\t\tusage += fmt.Sprintf(\" (allowed values: any of %s)\", allowed)\n\t\tss.allowed = &stringSet{}\n\t\tfailOnError(ss.allowed.Set(allowed))\n\t}\n\tss.Set(def)\n\tflag.Var(ss, name, usage)\n\treturn ss\n}\n\nfunc flagStringSetAllowAll(name, def, allowed, usage string) *stringSet {\n\tss := &stringSet{allowAll: true}\n\tif allowed == \"\" {\n\t\tflag.Var(ss, name, usage+fmt.Sprintf(` Use \"all\" to select all.`))\n\t} else {\n\t\tss.allowed = &stringSet{}\n\t\tfailOnError(ss.allowed.Set(allowed))\n\t\tflag.Var(ss, name, usage+fmt.Sprintf(` (allowed values: \"all\" or any of %s)`, allowed))\n\t}\n\tss.Set(def)\n\treturn ss\n}\n\nfunc (ss stringSet) Len() int {\n\treturn len(ss.s)\n}\n\nfunc (ss stringSet) String() string {\n\treturn strings.Join(ss.s, \",\")\n}\n\nfunc (ss *stringSet) Set(s string) error {\n\tif ss.allowAll && s == \"all\" {\n\t\tss.s = nil\n\t\tss.all = true\n\t\treturn nil\n\t}\n\tss.s = ss.s[:0]\n\tfor _, s := range strings.Split(s, \",\") {\n\t\tif s := strings.TrimSpace(s); s != \"\" {\n\t\t\tif ss.allowed != nil && !ss.allowed.contains(s) {\n\t\t\t\treturn fmt.Errorf(\"unsupported value %q; must be one of %s\", s, ss.allowed)\n\t\t\t}\n\t\t\tss.add(s)\n\t\t}\n\t}\n\tss.compact()\n\treturn nil\n}\n\nfunc (ss *stringSet) add(s string) {\n\tss.s = append(ss.s, s)\n\tss.dirty = true\n}\n\nfunc (ss *stringSet) values() []string {\n\tss.compact()\n\treturn ss.s\n}\n\nfunc (ss *stringSet) contains(s string) bool {\n\tif ss.all {\n\t\treturn true\n\t}\n\tfor _, v := range ss.s {\n\t\tif v == s {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\nfunc (ss *stringSet) compact() {\n\tif !ss.dirty {\n\t\treturn\n\t}\n\ta := ss.s\n\tsort.Strings(a)\n\tk := 0\n\tfor i := 1; i < len(a); i++ {\n\t\tif a[k] != a[i] {\n\t\t\ta[k+1] = a[i]\n\t\t\tk++\n\t\t}\n\t}\n\tss.s = a[:k+1]\n\tss.dirty = false\n}\n\nfunc skipLang(l string) bool {\n\tif include.Len() > 0 {\n\t\treturn !include.contains(l)\n\t}\n\treturn exclude.contains(l)\n}\n\n// altInclude returns a list of alternatives (for the LDML alt attribute)\n// in order of preference.  An empty string in this list indicates the\n// default entry.\nfunc altInclude() []string {\n\tl := []string{}\n\tif *short {\n\t\tl = append(l, \"short\")\n\t}\n\tl = append(l, \"\")\n\t// TODO: handle draft using cldr.SetDraftLevel\n\tif *draft {\n\t\tl = append(l, \"proposed\")\n\t}\n\treturn l\n}\n\nfunc failOnError(e error) {\n\tif e != nil {\n\t\tlog.Panic(e)\n\t}\n}\n\nfunc openArchive() *zip.Reader {\n\tf := gen.OpenCLDRCoreZip()\n\tbuffer, err := ioutil.ReadAll(f)\n\tf.Close()\n\tfailOnError(err)\n\tarchive, err := zip.NewReader(bytes.NewReader(buffer), int64(len(buffer)))\n\tfailOnError(err)\n\treturn archive\n}\n\n// parseUCA parses a Default Unicode Collation Element Table of the format\n// specified in http://www.unicode.org/reports/tr10/#File_Format.\n// It returns the variable top.\nfunc parseUCA(builder *build.Builder) {\n\tvar r io.ReadCloser\n\tvar err error\n\tfor _, f := range openArchive().File {\n\t\tif strings.HasSuffix(f.Name, \"allkeys_CLDR.txt\") {\n\t\t\tr, err = f.Open()\n\t\t}\n\t}\n\tif r == nil {\n\t\tlog.Fatal(\"File allkeys_CLDR.txt not found in archive.\")\n\t}\n\tfailOnError(err)\n\tdefer r.Close()\n\tscanner := bufio.NewScanner(r)\n\tcolelem := regexp.MustCompile(`\\[([.*])([0-9A-F.]+)\\]`)\n\tfor i := 1; scanner.Scan(); i++ {\n\t\tline := scanner.Text()\n\t\tif len(line) == 0 || line[0] == '#' {\n\t\t\tcontinue\n\t\t}\n\t\tif line[0] == '@' {\n\t\t\t// parse properties\n\t\t\tswitch {\n\t\t\tcase strings.HasPrefix(line[1:], \"version \"):\n\t\t\t\ta := strings.Split(line[1:], \" \")\n\t\t\t\tif a[1] != gen.UnicodeVersion() {\n\t\t\t\t\tlog.Fatalf(\"incompatible version %s; want %s\", a[1], gen.UnicodeVersion())\n\t\t\t\t}\n\t\t\tcase strings.HasPrefix(line[1:], \"backwards \"):\n\t\t\t\tlog.Fatalf(\"%d: unsupported option backwards\", i)\n\t\t\tdefault:\n\t\t\t\tlog.Printf(\"%d: unknown option %s\", i, line[1:])\n\t\t\t}\n\t\t} else {\n\t\t\t// parse entries\n\t\t\tpart := strings.Split(line, \" ; \")\n\t\t\tif len(part) != 2 {\n\t\t\t\tlog.Fatalf(\"%d: production rule without ';': %v\", i, line)\n\t\t\t}\n\t\t\tlhs := []rune{}\n\t\t\tfor _, v := range strings.Split(part[0], \" \") {\n\t\t\t\tif v == \"\" {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tlhs = append(lhs, rune(convHex(i, v)))\n\t\t\t}\n\t\t\tvar n int\n\t\t\tvar vars []int\n\t\t\trhs := [][]int{}\n\t\t\tfor i, m := range colelem.FindAllStringSubmatch(part[1], -1) {\n\t\t\t\tn += len(m[0])\n\t\t\t\telem := []int{}\n\t\t\t\tfor _, h := range strings.Split(m[2], \".\") {\n\t\t\t\t\telem = append(elem, convHex(i, h))\n\t\t\t\t}\n\t\t\t\tif m[1] == \"*\" {\n\t\t\t\t\tvars = append(vars, i)\n\t\t\t\t}\n\t\t\t\trhs = append(rhs, elem)\n\t\t\t}\n\t\t\tif len(part[1]) < n+3 || part[1][n+1] != '#' {\n\t\t\t\tlog.Fatalf(\"%d: expected comment; found %s\", i, part[1][n:])\n\t\t\t}\n\t\t\tif *test {\n\t\t\t\ttestInput.add(string(lhs))\n\t\t\t}\n\t\t\tfailOnError(builder.Add(lhs, rhs, vars))\n\t\t}\n\t}\n\tif scanner.Err() != nil {\n\t\tlog.Fatal(scanner.Err())\n\t}\n}\n\nfunc convHex(line int, s string) int {\n\tr, e := strconv.ParseInt(s, 16, 32)\n\tif e != nil {\n\t\tlog.Fatalf(\"%d: %v\", line, e)\n\t}\n\treturn int(r)\n}\n\nvar testInput = stringSet{}\n\nvar charRe = regexp.MustCompile(`&#x([0-9A-F]*);`)\nvar tagRe = regexp.MustCompile(`<([a-z_]*)  */>`)\n\nvar mainLocales = []string{}\n\n// charsets holds a list of exemplar characters per category.\ntype charSets map[string][]string\n\nfunc (p charSets) fprint(w io.Writer) {\n\tfmt.Fprintln(w, \"[exN]string{\")\n\tfor i, k := range []string{\"\", \"contractions\", \"punctuation\", \"auxiliary\", \"currencySymbol\", \"index\"} {\n\t\tif set := p[k]; len(set) != 0 {\n\t\t\tfmt.Fprintf(w, \"\\t\\t%d: %q,\\n\", i, strings.Join(set, \" \"))\n\t\t}\n\t}\n\tfmt.Fprintln(w, \"\\t},\")\n}\n\nvar localeChars = make(map[string]charSets)\n\nconst exemplarHeader = `\ntype exemplarType int\nconst (\n\texCharacters exemplarType = iota\n\texContractions\n\texPunctuation\n\texAuxiliary\n\texCurrency\n\texIndex\n\texN\n)\n`\n\nfunc printExemplarCharacters(w io.Writer) {\n\tfmt.Fprintln(w, exemplarHeader)\n\tfmt.Fprintln(w, \"var exemplarCharacters = map[string][exN]string{\")\n\tfor _, loc := range mainLocales {\n\t\tfmt.Fprintf(w, \"\\t%q: \", loc)\n\t\tlocaleChars[loc].fprint(w)\n\t}\n\tfmt.Fprintln(w, \"}\")\n}\n\nfunc decodeCLDR(d *cldr.Decoder) *cldr.CLDR {\n\tr := gen.OpenCLDRCoreZip()\n\tdata, err := d.DecodeZip(r)\n\tfailOnError(err)\n\treturn data\n}\n\n// parseMain parses XML files in the main directory of the CLDR core.zip file.\nfunc parseMain() {\n\td := &cldr.Decoder{}\n\td.SetDirFilter(\"main\")\n\td.SetSectionFilter(\"characters\")\n\tdata := decodeCLDR(d)\n\tfor _, loc := range data.Locales() {\n\t\tx := data.RawLDML(loc)\n\t\tif skipLang(x.Identity.Language.Type) {\n\t\t\tcontinue\n\t\t}\n\t\tif x.Characters != nil {\n\t\t\tx, _ = data.LDML(loc)\n\t\t\tloc = language.Make(loc).String()\n\t\t\tfor _, ec := range x.Characters.ExemplarCharacters {\n\t\t\t\tif ec.Draft != \"\" {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif _, ok := localeChars[loc]; !ok {\n\t\t\t\t\tmainLocales = append(mainLocales, loc)\n\t\t\t\t\tlocaleChars[loc] = make(charSets)\n\t\t\t\t}\n\t\t\t\tlocaleChars[loc][ec.Type] = parseCharacters(ec.Data())\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc parseCharacters(chars string) []string {\n\tparseSingle := func(s string) (r rune, tail string, escaped bool) {\n\t\tif s[0] == '\\\\' {\n\t\t\treturn rune(s[1]), s[2:], true\n\t\t}\n\t\tr, sz := utf8.DecodeRuneInString(s)\n\t\treturn r, s[sz:], false\n\t}\n\tchars = strings.TrimSpace(chars)\n\tif n := len(chars) - 1; chars[n] == ']' && chars[0] == '[' {\n\t\tchars = chars[1:n]\n\t}\n\tlist := []string{}\n\tvar r, last, end rune\n\tfor len(chars) > 0 {\n\t\tif chars[0] == '{' { // character sequence\n\t\t\tbuf := []rune{}\n\t\t\tfor chars = chars[1:]; len(chars) > 0; {\n\t\t\t\tr, chars, _ = parseSingle(chars)\n\t\t\t\tif r == '}' {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tif r == ' ' {\n\t\t\t\t\tlog.Fatalf(\"space not supported in sequence %q\", chars)\n\t\t\t\t}\n\t\t\t\tbuf = append(buf, r)\n\t\t\t}\n\t\t\tlist = append(list, string(buf))\n\t\t\tlast = 0\n\t\t} else { // single character\n\t\t\tescaped := false\n\t\t\tr, chars, escaped = parseSingle(chars)\n\t\t\tif r != ' ' {\n\t\t\t\tif r == '-' && !escaped {\n\t\t\t\t\tif last == 0 {\n\t\t\t\t\t\tlog.Fatal(\"'-' should be preceded by a character\")\n\t\t\t\t\t}\n\t\t\t\t\tend, chars, _ = parseSingle(chars)\n\t\t\t\t\tfor ; last <= end; last++ {\n\t\t\t\t\t\tlist = append(list, string(last))\n\t\t\t\t\t}\n\t\t\t\t\tlast = 0\n\t\t\t\t} else {\n\t\t\t\t\tlist = append(list, string(r))\n\t\t\t\t\tlast = r\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn list\n}\n\nvar fileRe = regexp.MustCompile(`.*/collation/(.*)\\.xml`)\n\n// typeMap translates legacy type keys to their BCP47 equivalent.\nvar typeMap = map[string]string{\n\t\"phonebook\":   \"phonebk\",\n\t\"traditional\": \"trad\",\n}\n\n// parseCollation parses XML files in the collation directory of the CLDR core.zip file.\nfunc parseCollation(b *build.Builder) {\n\td := &cldr.Decoder{}\n\td.SetDirFilter(\"collation\")\n\tdata := decodeCLDR(d)\n\tfor _, loc := range data.Locales() {\n\t\tx, err := data.LDML(loc)\n\t\tfailOnError(err)\n\t\tif skipLang(x.Identity.Language.Type) {\n\t\t\tcontinue\n\t\t}\n\t\tcs := x.Collations.Collation\n\t\tsl := cldr.MakeSlice(&cs)\n\t\tif len(types.s) == 0 {\n\t\t\tsl.SelectAnyOf(\"type\", x.Collations.Default())\n\t\t} else if !types.all {\n\t\t\tsl.SelectAnyOf(\"type\", types.s...)\n\t\t}\n\t\tsl.SelectOnePerGroup(\"alt\", altInclude())\n\n\t\tfor _, c := range cs {\n\t\t\tid, err := language.Parse(loc)\n\t\t\tif err != nil {\n\t\t\t\tfmt.Fprintf(os.Stderr, \"invalid locale: %q\", err)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\t// Support both old- and new-style defaults.\n\t\t\td := c.Type\n\t\t\tif x.Collations.DefaultCollation == nil {\n\t\t\t\td = x.Collations.Default()\n\t\t\t} else {\n\t\t\t\td = x.Collations.DefaultCollation.Data()\n\t\t\t}\n\t\t\t// We assume tables are being built either for search or collation,\n\t\t\t// but not both. For search the default is always \"search\".\n\t\t\tif d != c.Type && c.Type != \"search\" {\n\t\t\t\ttyp := c.Type\n\t\t\t\tif len(c.Type) > 8 {\n\t\t\t\t\ttyp = typeMap[c.Type]\n\t\t\t\t}\n\t\t\t\tid, err = id.SetTypeForKey(\"co\", typ)\n\t\t\t\tfailOnError(err)\n\t\t\t}\n\t\t\tt := b.Tailoring(id)\n\t\t\tc.Process(processor{t})\n\t\t}\n\t}\n}\n\ntype processor struct {\n\tt *build.Tailoring\n}\n\nfunc (p processor) Reset(anchor string, before int) (err error) {\n\tif before != 0 {\n\t\terr = p.t.SetAnchorBefore(anchor)\n\t} else {\n\t\terr = p.t.SetAnchor(anchor)\n\t}\n\tfailOnError(err)\n\treturn nil\n}\n\nfunc (p processor) Insert(level int, str, context, extend string) error {\n\tstr = context + str\n\tif *test {\n\t\ttestInput.add(str)\n\t}\n\t// TODO: mimic bug in old maketables: remove.\n\terr := p.t.Insert(colltab.Level(level-1), str, context+extend)\n\tfailOnError(err)\n\treturn nil\n}\n\nfunc (p processor) Index(id string) {\n}\n\nfunc testCollator(c *collate.Collator) {\n\tc0 := collate.New(language.Und)\n\n\t// iterator over all characters for all locales and check\n\t// whether Key is equal.\n\tbuf := collate.Buffer{}\n\n\t// Add all common and not too uncommon runes to the test set.\n\tfor i := rune(0); i < 0x30000; i++ {\n\t\ttestInput.add(string(i))\n\t}\n\tfor i := rune(0xE0000); i < 0xF0000; i++ {\n\t\ttestInput.add(string(i))\n\t}\n\tfor _, str := range testInput.values() {\n\t\tk0 := c0.KeyFromString(&buf, str)\n\t\tk := c.KeyFromString(&buf, str)\n\t\tif !bytes.Equal(k0, k) {\n\t\t\tfailOnError(fmt.Errorf(\"test:%U: keys differ (%x vs %x)\", []rune(str), k0, k))\n\t\t}\n\t\tbuf.Reset()\n\t}\n\tfmt.Println(\"PASS\")\n}\n\nfunc main() {\n\tgen.Init()\n\tb := build.NewBuilder()\n\tparseUCA(b)\n\tif tables.contains(\"chars\") {\n\t\tparseMain()\n\t}\n\tparseCollation(b)\n\n\tc, err := b.Build()\n\tfailOnError(err)\n\n\tif *test {\n\t\ttestCollator(collate.NewFromTable(c))\n\t} else {\n\t\tw := &bytes.Buffer{}\n\n\t\tgen.WriteUnicodeVersion(w)\n\t\tgen.WriteCLDRVersion(w)\n\n\t\tif tables.contains(\"collate\") {\n\t\t\t_, err = b.Print(w)\n\t\t\tfailOnError(err)\n\t\t}\n\t\tif tables.contains(\"chars\") {\n\t\t\tprintExemplarCharacters(w)\n\t\t}\n\t\tgen.WriteGoFile(\"tables.go\", *pkg, w.Bytes())\n\t}\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/collate/option.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage collate\n\nimport (\n\t\"sort\"\n\n\t\"golang.org/x/text/internal/colltab\"\n\t\"golang.org/x/text/language\"\n\t\"golang.org/x/text/unicode/norm\"\n)\n\n// newCollator creates a new collator with default options configured.\nfunc newCollator(t colltab.Weighter) *Collator {\n\t// Initialize a collator with default options.\n\tc := &Collator{\n\t\toptions: options{\n\t\t\tignore: [colltab.NumLevels]bool{\n\t\t\t\tcolltab.Quaternary: true,\n\t\t\t\tcolltab.Identity:   true,\n\t\t\t},\n\t\t\tf: norm.NFD,\n\t\t\tt: t,\n\t\t},\n\t}\n\n\t// TODO: store vt in tags or remove.\n\tc.variableTop = t.Top()\n\n\treturn c\n}\n\n// An Option is used to change the behavior of a Collator. Options override the\n// settings passed through the locale identifier.\ntype Option struct {\n\tpriority int\n\tf        func(o *options)\n}\n\ntype prioritizedOptions []Option\n\nfunc (p prioritizedOptions) Len() int {\n\treturn len(p)\n}\n\nfunc (p prioritizedOptions) Swap(i, j int) {\n\tp[i], p[j] = p[j], p[i]\n}\n\nfunc (p prioritizedOptions) Less(i, j int) bool {\n\treturn p[i].priority < p[j].priority\n}\n\ntype options struct {\n\t// ignore specifies which levels to ignore.\n\tignore [colltab.NumLevels]bool\n\n\t// caseLevel is true if there is an additional level of case matching\n\t// between the secondary and tertiary levels.\n\tcaseLevel bool\n\n\t// backwards specifies the order of sorting at the secondary level.\n\t// This option exists predominantly to support reverse sorting of accents in French.\n\tbackwards bool\n\n\t// numeric specifies whether any sequence of decimal digits (category is Nd)\n\t// is sorted at a primary level with its numeric value.\n\t// For example, \"A-21\" < \"A-123\".\n\t// This option is set by wrapping the main Weighter with NewNumericWeighter.\n\tnumeric bool\n\n\t// alternate specifies an alternative handling of variables.\n\talternate alternateHandling\n\n\t// variableTop is the largest primary value that is considered to be\n\t// variable.\n\tvariableTop uint32\n\n\tt colltab.Weighter\n\n\tf norm.Form\n}\n\nfunc (o *options) setOptions(opts []Option) {\n\tsort.Sort(prioritizedOptions(opts))\n\tfor _, x := range opts {\n\t\tx.f(o)\n\t}\n}\n\n// OptionsFromTag extracts the BCP47 collation options from the tag and\n// configures a collator accordingly. These options are set before any other\n// option.\nfunc OptionsFromTag(t language.Tag) Option {\n\treturn Option{0, func(o *options) {\n\t\to.setFromTag(t)\n\t}}\n}\n\nfunc (o *options) setFromTag(t language.Tag) {\n\to.caseLevel = ldmlBool(t, o.caseLevel, \"kc\")\n\to.backwards = ldmlBool(t, o.backwards, \"kb\")\n\to.numeric = ldmlBool(t, o.numeric, \"kn\")\n\n\t// Extract settings from the BCP47 u extension.\n\tswitch t.TypeForKey(\"ks\") { // strength\n\tcase \"level1\":\n\t\to.ignore[colltab.Secondary] = true\n\t\to.ignore[colltab.Tertiary] = true\n\tcase \"level2\":\n\t\to.ignore[colltab.Tertiary] = true\n\tcase \"level3\", \"\":\n\t\t// The default.\n\tcase \"level4\":\n\t\to.ignore[colltab.Quaternary] = false\n\tcase \"identic\":\n\t\to.ignore[colltab.Quaternary] = false\n\t\to.ignore[colltab.Identity] = false\n\t}\n\n\tswitch t.TypeForKey(\"ka\") {\n\tcase \"shifted\":\n\t\to.alternate = altShifted\n\t// The following two types are not official BCP47, but we support them to\n\t// give access to this otherwise hidden functionality. The name blanked is\n\t// derived from the LDML name blanked and posix reflects the main use of\n\t// the shift-trimmed option.\n\tcase \"blanked\":\n\t\to.alternate = altBlanked\n\tcase \"posix\":\n\t\to.alternate = altShiftTrimmed\n\t}\n\n\t// TODO: caseFirst (\"kf\"), reorder (\"kr\"), and maybe variableTop (\"vt\").\n\n\t// Not used:\n\t// - normalization (\"kk\", not necessary for this implementation)\n\t// - hiraganaQuatenary (\"kh\", obsolete)\n}\n\nfunc ldmlBool(t language.Tag, old bool, key string) bool {\n\tswitch t.TypeForKey(key) {\n\tcase \"true\":\n\t\treturn true\n\tcase \"false\":\n\t\treturn false\n\tdefault:\n\t\treturn old\n\t}\n}\n\nvar (\n\t// IgnoreCase sets case-insensitive comparison.\n\tIgnoreCase Option = ignoreCase\n\tignoreCase        = Option{3, ignoreCaseF}\n\n\t// IgnoreDiacritics causes diacritical marks to be ignored. (\"o\" == \"ö\").\n\tIgnoreDiacritics Option = ignoreDiacritics\n\tignoreDiacritics        = Option{3, ignoreDiacriticsF}\n\n\t// IgnoreWidth causes full-width characters to match their half-width\n\t// equivalents.\n\tIgnoreWidth Option = ignoreWidth\n\tignoreWidth        = Option{2, ignoreWidthF}\n\n\t// Loose sets the collator to ignore diacritics, case and weight.\n\tLoose Option = loose\n\tloose        = Option{4, looseF}\n\n\t// Force ordering if strings are equivalent but not equal.\n\tForce Option = force\n\tforce        = Option{5, forceF}\n\n\t// Numeric specifies that numbers should sort numerically (\"2\" < \"12\").\n\tNumeric Option = numeric\n\tnumeric        = Option{5, numericF}\n)\n\nfunc ignoreWidthF(o *options) {\n\to.ignore[colltab.Tertiary] = true\n\to.caseLevel = true\n}\n\nfunc ignoreDiacriticsF(o *options) {\n\to.ignore[colltab.Secondary] = true\n}\n\nfunc ignoreCaseF(o *options) {\n\to.ignore[colltab.Tertiary] = true\n\to.caseLevel = false\n}\n\nfunc looseF(o *options) {\n\tignoreWidthF(o)\n\tignoreDiacriticsF(o)\n\tignoreCaseF(o)\n}\n\nfunc forceF(o *options) {\n\to.ignore[colltab.Identity] = false\n}\n\nfunc numericF(o *options) { o.numeric = true }\n\n// Reorder overrides the pre-defined ordering of scripts and character sets.\nfunc Reorder(s ...string) Option {\n\t// TODO: need fractional weights to implement this.\n\tpanic(\"TODO: implement\")\n}\n\n// TODO: consider making these public again. These options cannot be fully\n// specified in BCP47, so an API interface seems warranted. Still a higher-level\n// interface would be nice (e.g. a POSIX option for enabling altShiftTrimmed)\n\n// alternateHandling identifies the various ways in which variables are handled.\n// A rune with a primary weight lower than the variable top is considered a\n// variable.\n// See http://www.unicode.org/reports/tr10/#Variable_Weighting for details.\ntype alternateHandling int\n\nconst (\n\t// altNonIgnorable turns off special handling of variables.\n\taltNonIgnorable alternateHandling = iota\n\n\t// altBlanked sets variables and all subsequent primary ignorables to be\n\t// ignorable at all levels. This is identical to removing all variables\n\t// and subsequent primary ignorables from the input.\n\taltBlanked\n\n\t// altShifted sets variables to be ignorable for levels one through three and\n\t// adds a fourth level based on the values of the ignored levels.\n\taltShifted\n\n\t// altShiftTrimmed is a slight variant of altShifted that is used to\n\t// emulate POSIX.\n\taltShiftTrimmed\n)\n"
  },
  {
    "path": "vendor/golang.org/x/text/collate/sort.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage collate\n\nimport (\n\t\"bytes\"\n\t\"sort\"\n)\n\nconst (\n\tmaxSortBuffer  = 40960\n\tmaxSortEntries = 4096\n)\n\ntype swapper interface {\n\tSwap(i, j int)\n}\n\ntype sorter struct {\n\tbuf  *Buffer\n\tkeys [][]byte\n\tsrc  swapper\n}\n\nfunc (s *sorter) init(n int) {\n\tif s.buf == nil {\n\t\ts.buf = &Buffer{}\n\t\ts.buf.init()\n\t}\n\tif cap(s.keys) < n {\n\t\ts.keys = make([][]byte, n)\n\t}\n\ts.keys = s.keys[0:n]\n}\n\nfunc (s *sorter) sort(src swapper) {\n\ts.src = src\n\tsort.Sort(s)\n}\n\nfunc (s sorter) Len() int {\n\treturn len(s.keys)\n}\n\nfunc (s sorter) Less(i, j int) bool {\n\treturn bytes.Compare(s.keys[i], s.keys[j]) == -1\n}\n\nfunc (s sorter) Swap(i, j int) {\n\ts.keys[i], s.keys[j] = s.keys[j], s.keys[i]\n\ts.src.Swap(i, j)\n}\n\n// A Lister can be sorted by Collator's Sort method.\ntype Lister interface {\n\tLen() int\n\tSwap(i, j int)\n\t// Bytes returns the bytes of the text at index i.\n\tBytes(i int) []byte\n}\n\n// Sort uses sort.Sort to sort the strings represented by x using the rules of c.\nfunc (c *Collator) Sort(x Lister) {\n\tn := x.Len()\n\tc.sorter.init(n)\n\tfor i := 0; i < n; i++ {\n\t\tc.sorter.keys[i] = c.Key(c.sorter.buf, x.Bytes(i))\n\t}\n\tc.sorter.sort(x)\n}\n\n// SortStrings uses sort.Sort to sort the strings in x using the rules of c.\nfunc (c *Collator) SortStrings(x []string) {\n\tc.sorter.init(len(x))\n\tfor i, s := range x {\n\t\tc.sorter.keys[i] = c.KeyFromString(c.sorter.buf, s)\n\t}\n\tc.sorter.sort(sort.StringSlice(x))\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/collate/tables.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\npackage collate\n\n// UnicodeVersion is the Unicode version from which the tables in this package are derived.\nconst UnicodeVersion = \"6.2.0\"\n\n// CLDRVersion is the CLDR version from which the tables in this package are derived.\nconst CLDRVersion = \"23\"\n\nvar availableLocales = \"und,aa,af,ar,as,az,be,bg,bn,bs,bs-Cyrl,ca,cs,cy,da,de-u-co-phonebk,de,dz,ee,el,en,en-US,en-US-u-va-posix,eo,es,et,fa,fa-AF,fi,fi-u-co-standard,fil,fo,fr,fr-CA,gu,ha,haw,he,hi,hr,hu,hy,ig,is,ja,kk,kl,km,kn,ko,kok,ln-u-co-phonetic,ln,lt,lv,mk,ml,mr,mt,my,nb,nn,nso,om,or,pa,pl,ps,ro,ru,se,si,sk,sl,sq,sr,sr-Latn,ssy,sv,sv-u-co-standard,ta,te,th,tn,to,tr,uk,ur,vi,wae,yo,zh,zh-u-co-stroke,zh-Hant-u-co-pinyin,zh-Hant\"\n\nconst varTop = 0x30e\n\nvar locales = [...]tableIndex{\n\t{ // und\n\t\tlookupOffset: 0x15,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // aa\n\t\tlookupOffset: 0x1c,\n\t\tvaluesOffset: 0x1b4,\n\t},\n\t{ // af\n\t\tlookupOffset: 0x1d,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // ar\n\t\tlookupOffset: 0x1f,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // as\n\t\tlookupOffset: 0x21,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // az\n\t\tlookupOffset: 0x27,\n\t\tvaluesOffset: 0x1d7,\n\t},\n\t{ // be\n\t\tlookupOffset: 0x28,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // bg\n\t\tlookupOffset: 0x15,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // bn\n\t\tlookupOffset: 0x2a,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // bs\n\t\tlookupOffset: 0x15,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // bs-Cyrl\n\t\tlookupOffset: 0x15,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // ca\n\t\tlookupOffset: 0x2b,\n\t\tvaluesOffset: 0x1ec,\n\t},\n\t{ // cs\n\t\tlookupOffset: 0x2d,\n\t\tvaluesOffset: 0x1f0,\n\t},\n\t{ // cy\n\t\tlookupOffset: 0x15,\n\t\tvaluesOffset: 0x1f5,\n\t},\n\t{ // da\n\t\tlookupOffset: 0x30,\n\t\tvaluesOffset: 0x1f7,\n\t},\n\t{ // de-u-co-phonebk\n\t\tlookupOffset: 0x32,\n\t\tvaluesOffset: 0x201,\n\t},\n\t{ // de\n\t\tlookupOffset: 0x15,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // dz\n\t\tlookupOffset: 0x34,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // ee\n\t\tlookupOffset: 0x3a,\n\t\tvaluesOffset: 0x20a,\n\t},\n\t{ // el\n\t\tlookupOffset: 0x15,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // en\n\t\tlookupOffset: 0x15,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // en-US\n\t\tlookupOffset: 0x15,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // en-US-u-va-posix\n\t\tlookupOffset: 0x41,\n\t\tvaluesOffset: 0x219,\n\t},\n\t{ // eo\n\t\tlookupOffset: 0x42,\n\t\tvaluesOffset: 0x23b,\n\t},\n\t{ // es\n\t\tlookupOffset: 0x43,\n\t\tvaluesOffset: 0x23f,\n\t},\n\t{ // et\n\t\tlookupOffset: 0x49,\n\t\tvaluesOffset: 0x242,\n\t},\n\t{ // fa\n\t\tlookupOffset: 0x4b,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // fa-AF\n\t\tlookupOffset: 0x15,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // fi\n\t\tlookupOffset: 0x4e,\n\t\tvaluesOffset: 0x25a,\n\t},\n\t{ // fi-u-co-standard\n\t\tlookupOffset: 0x54,\n\t\tvaluesOffset: 0x265,\n\t},\n\t{ // fil\n\t\tlookupOffset: 0x43,\n\t\tvaluesOffset: 0x272,\n\t},\n\t{ // fo\n\t\tlookupOffset: 0x30,\n\t\tvaluesOffset: 0x1f7,\n\t},\n\t{ // fr\n\t\tlookupOffset: 0x15,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // fr-CA\n\t\tlookupOffset: 0x15,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // gu\n\t\tlookupOffset: 0x56,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // ha\n\t\tlookupOffset: 0x57,\n\t\tvaluesOffset: 0x275,\n\t},\n\t{ // haw\n\t\tlookupOffset: 0x5e,\n\t\tvaluesOffset: 0x27a,\n\t},\n\t{ // he\n\t\tlookupOffset: 0x5f,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // hi\n\t\tlookupOffset: 0x61,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // hr\n\t\tlookupOffset: 0x63,\n\t\tvaluesOffset: 0x291,\n\t},\n\t{ // hu\n\t\tlookupOffset: 0x65,\n\t\tvaluesOffset: 0x297,\n\t},\n\t{ // hy\n\t\tlookupOffset: 0x66,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // ig\n\t\tlookupOffset: 0x68,\n\t\tvaluesOffset: 0x29f,\n\t},\n\t{ // is\n\t\tlookupOffset: 0x6a,\n\t\tvaluesOffset: 0x2a3,\n\t},\n\t{ // ja\n\t\tlookupOffset: 0x76,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // kk\n\t\tlookupOffset: 0x77,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // kl\n\t\tlookupOffset: 0x78,\n\t\tvaluesOffset: 0x414,\n\t},\n\t{ // km\n\t\tlookupOffset: 0x7a,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // kn\n\t\tlookupOffset: 0x7c,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // ko\n\t\tlookupOffset: 0x88,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // kok\n\t\tlookupOffset: 0x8a,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // ln-u-co-phonetic\n\t\tlookupOffset: 0x8b,\n\t\tvaluesOffset: 0x570,\n\t},\n\t{ // ln\n\t\tlookupOffset: 0x8b,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // lt\n\t\tlookupOffset: 0x91,\n\t\tvaluesOffset: 0x574,\n\t},\n\t{ // lv\n\t\tlookupOffset: 0x93,\n\t\tvaluesOffset: 0x582,\n\t},\n\t{ // mk\n\t\tlookupOffset: 0x15,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // ml\n\t\tlookupOffset: 0x95,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // mr\n\t\tlookupOffset: 0x97,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // mt\n\t\tlookupOffset: 0x9a,\n\t\tvaluesOffset: 0x58a,\n\t},\n\t{ // my\n\t\tlookupOffset: 0x9c,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // nb\n\t\tlookupOffset: 0x30,\n\t\tvaluesOffset: 0x593,\n\t},\n\t{ // nn\n\t\tlookupOffset: 0x30,\n\t\tvaluesOffset: 0x593,\n\t},\n\t{ // nso\n\t\tlookupOffset: 0x9e,\n\t\tvaluesOffset: 0x595,\n\t},\n\t{ // om\n\t\tlookupOffset: 0x15,\n\t\tvaluesOffset: 0x59b,\n\t},\n\t{ // or\n\t\tlookupOffset: 0xa0,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // pa\n\t\tlookupOffset: 0xa2,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // pl\n\t\tlookupOffset: 0xa4,\n\t\tvaluesOffset: 0x5a1,\n\t},\n\t{ // ps\n\t\tlookupOffset: 0xa7,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // ro\n\t\tlookupOffset: 0xa9,\n\t\tvaluesOffset: 0x5b3,\n\t},\n\t{ // ru\n\t\tlookupOffset: 0x15,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // se\n\t\tlookupOffset: 0xab,\n\t\tvaluesOffset: 0x5ba,\n\t},\n\t{ // si\n\t\tlookupOffset: 0xad,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // sk\n\t\tlookupOffset: 0xaf,\n\t\tvaluesOffset: 0x5c7,\n\t},\n\t{ // sl\n\t\tlookupOffset: 0xb0,\n\t\tvaluesOffset: 0x5cc,\n\t},\n\t{ // sq\n\t\tlookupOffset: 0xb2,\n\t\tvaluesOffset: 0x5cf,\n\t},\n\t{ // sr\n\t\tlookupOffset: 0x15,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // sr-Latn\n\t\tlookupOffset: 0x15,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // ssy\n\t\tlookupOffset: 0x1c,\n\t\tvaluesOffset: 0x1b4,\n\t},\n\t{ // sv\n\t\tlookupOffset: 0xb4,\n\t\tvaluesOffset: 0x5d3,\n\t},\n\t{ // sv-u-co-standard\n\t\tlookupOffset: 0xb6,\n\t\tvaluesOffset: 0x5d9,\n\t},\n\t{ // ta\n\t\tlookupOffset: 0xb8,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // te\n\t\tlookupOffset: 0xba,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // th\n\t\tlookupOffset: 0xbc,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // tn\n\t\tlookupOffset: 0x9e,\n\t\tvaluesOffset: 0x595,\n\t},\n\t{ // to\n\t\tlookupOffset: 0xbe,\n\t\tvaluesOffset: 0x5e1,\n\t},\n\t{ // tr\n\t\tlookupOffset: 0xc4,\n\t\tvaluesOffset: 0x5ed,\n\t},\n\t{ // uk\n\t\tlookupOffset: 0xc5,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // ur\n\t\tlookupOffset: 0xc7,\n\t\tvaluesOffset: 0x0,\n\t},\n\t{ // vi\n\t\tlookupOffset: 0xc9,\n\t\tvaluesOffset: 0x5fc,\n\t},\n\t{ // wae\n\t\tlookupOffset: 0xca,\n\t\tvaluesOffset: 0x610,\n\t},\n\t{ // yo\n\t\tlookupOffset: 0xcc,\n\t\tvaluesOffset: 0x613,\n\t},\n\t{ // zh\n\t\tlookupOffset: 0xe6,\n\t\tvaluesOffset: 0x618,\n\t},\n\t{ // zh-u-co-stroke\n\t\tlookupOffset: 0xff,\n\t\tvaluesOffset: 0x618,\n\t},\n\t{ // zh-Hant-u-co-pinyin\n\t\tlookupOffset: 0xe6,\n\t\tvaluesOffset: 0x618,\n\t},\n\t{ // zh-Hant\n\t\tlookupOffset: 0xff,\n\t\tvaluesOffset: 0x618,\n\t},\n}\n\n// mainExpandElem: 46864 entries, 187456 bytes\nvar mainExpandElem = [46864]uint32{\n\t// Block 0, offset 0x0\n\t0x00000002, 0xAE604702, 0xAE603202, 0x00000002, 0xA000A51A, 0xA000BA1A,\n\t0x00000002, 0xA000A91A, 0xA000BA1A, 0x00000002, 0xA000AD1A, 0xA000BA1A,\n\t0x00000002, 0xA000B21A, 0xA000BA1A, 0x00000002, 0xA000B61A, 0xA000BA1A,\n\t0x00000002, 0xA000BA1A, 0xA000D11A, 0x00000004, 0x0003F484, 0x0029CE84,\n\t0x0029CC84, 0x0003F69F, 0x00000004, 0x0003F484, 0x0029CE84, 0x0029CE84,\n\t0x0003F69F, 0x00000004, 0x0003F484, 0x0029CE84, 0x0029D084, 0x0003F69F,\n\t0x00000004, 0x0003F484, 0x0029CE84, 0x0029D284, 0x0003F69F, 0x00000004,\n\t0x0003F484, 0x0029CE84, 0x0029D484, 0x0003F69F, 0x00000004, 0x0003F484,\n\t0x0029CE84, 0x0029D684, 0x0003F69F, 0x00000004, 0x0003F484, 0x0029CE84,\n\t0x0029D884, 0x0003F69F, 0x00000004, 0x0003F484, 0x0029CE84, 0x0029DA84,\n\t0x0003F69F, 0x00000004, 0x0003F484, 0x0029CE84,\n\t// Block 1, offset 0x40\n\t0x0029DC84, 0x0003F69F, 0x00000004, 0x0003F484, 0x0029CE84, 0x0029DE84,\n\t0x0003F69F, 0x00000004, 0x0003F484, 0x0029D084, 0x0029CC84, 0x0003F69F,\n\t0x00000004, 0x0003F484, 0x0062AC84, 0x0063A884, 0x0003F69F, 0x00000004,\n\t0x0003F484, 0x0062B084, 0x0063A884, 0x0003F69F, 0x00000004, 0x0003F484,\n\t0x0062B284, 0x0063A884, 0x0003F69F, 0x00000004, 0x0003F484, 0x0062B684,\n\t0x0063A884, 0x0003F69F, 0x00000004, 0x0003F484, 0x0062B884, 0x0063A884,\n\t0x0003F69F, 0x00000004, 0x0003F484, 0x0062BA84, 0x0063A884, 0x0003F69F,\n\t0x00000004, 0x0003F484, 0x0062BE84, 0x0063A884, 0x0003F69F, 0x00000004,\n\t0x0003F484, 0x0062C284, 0x0063A884, 0x0003F69F, 0x00000007, 0x0003F484,\n\t0x0062C284, 0x0063B884, 0x0062C484, 0x0063B084, 0x00646A84, 0x0003F69F,\n\t0x00000006, 0x0003F484, 0x0062C284, 0x0063B884,\n\t// Block 2, offset 0x80\n\t0x0062D084, 0x0063C284, 0x0003F69F, 0x00000004, 0x0003F484, 0x0062C484,\n\t0x0063A884, 0x0003F69F, 0x00000004, 0x0003F484, 0x0062C484, 0x0063C284,\n\t0x0003F69F, 0x00000004, 0x0003F484, 0x0062C884, 0x0063A884, 0x0003F69F,\n\t0x00000004, 0x0003F484, 0x0062CA84, 0x0063A884, 0x0003F69F, 0x00000004,\n\t0x0003F484, 0x0062CC84, 0x0063A884, 0x0003F69F, 0x00000004, 0x0003F484,\n\t0x0062CE84, 0x0063A884, 0x0003F69F, 0x00000004, 0x0003F484, 0x0062D084,\n\t0x0063A884, 0x0003F69F, 0x00000004, 0x00050E84, 0x00050E84, 0x00050E84,\n\t0x00050E9F, 0x00000002, 0x40062C20, 0xAE603202, 0x00000002, 0x40062C20,\n\t0xAE603502, 0x00000002, 0x40062C20, 0xAE604502, 0x00000002, 0x40063620,\n\t0xAE603202, 0x00000002, 0x40063620, 0xAE603502, 0x00000002, 0x40063620,\n\t0xAE604502, 0x00000002, 0x40063820, 0xAE603202,\n\t// Block 3, offset 0xc0\n\t0x00000002, 0x40063820, 0xAE603502, 0x00000002, 0x40063820, 0xAE604502,\n\t0x00000002, 0x40084420, 0xA0105402, 0x00000002, 0x40084620, 0xA0105402,\n\t0x00000002, 0x40084C20, 0xA0105402, 0x00000002, 0x4008B820, 0xA0105402,\n\t0x00000002, 0x4008BC20, 0xA0105402, 0x00000002, 0x4008C020, 0xA0105402,\n\t0x00000002, 0x40091E20, 0xA0105402, 0x00000002, 0x40092620, 0xA0105402,\n\t0x00000002, 0x40092A20, 0xA0105402, 0x00000002, 0x40094020, 0xA0105402,\n\t0x00000002, 0x40094220, 0xA0105402, 0x00000002, 0x40094420, 0xA0105402,\n\t0x00000002, 0x40097820, 0xA0105402, 0x00000002, 0x40097A20, 0xA0105402,\n\t0x00000004, 0x00098484, 0x00098484, 0x00098484, 0x0009849F, 0x00000002,\n\t0x40099E20, 0xA0105402, 0x00000002, 0x4009AA20, 0xA0105402, 0x00000002,\n\t0x4009AC20, 0xA0105402, 0x00000002, 0x4009B020,\n\t// Block 4, offset 0x100\n\t0xA0105402, 0x00000002, 0x4009B820, 0xA0105402, 0x00000002, 0x4009DE20,\n\t0xA0105402, 0x00000002, 0x4009E220, 0xA0105402, 0x00000002, 0x4009E420,\n\t0xA0105402, 0x00000002, 0x4009F420, 0xA0105402, 0x00000002, 0x4009F620,\n\t0xA0105402, 0x00000002, 0x4009F820, 0xA0105402, 0x00000002, 0x4009FA20,\n\t0xA0105402, 0x00000002, 0x4009FC20, 0xA0105402, 0x00000002, 0x4009FE20,\n\t0xA0105402, 0x00000002, 0x400A0020, 0xA0105402, 0x00000002, 0x400A0220,\n\t0xA0105402, 0x00000002, 0x400A0820, 0xA0105402, 0x00000002, 0x400A0A20,\n\t0xA0105402, 0x00000002, 0x400A0C20, 0xA0105402, 0x00000002, 0x400A0E20,\n\t0xA0105402, 0x00000002, 0x400A1E20, 0xA0105402, 0x00000002, 0x400A2020,\n\t0xA0105402, 0x00000002, 0x400A4020, 0xA0105402, 0x00000002, 0x400A4C20,\n\t0xA0105402, 0x00000002, 0x400A4E20, 0xA0105402,\n\t// Block 5, offset 0x140\n\t0x00000002, 0x400A5220, 0xA0105402, 0x00000002, 0x400A5820, 0xA0105402,\n\t0x00000002, 0x400A5A20, 0xA0105402, 0x00000002, 0x400A5C20, 0xA0105402,\n\t0x00000002, 0x400A5E20, 0xA0105402, 0x00000002, 0x40164620, 0xA0105402,\n\t0x00000002, 0x4027CE20, 0xA0012802, 0x00000002, 0x4027D020, 0xA0012802,\n\t0x00000002, 0x4027D420, 0xA0812802, 0x00000002, 0x4027D820, 0xA0812802,\n\t0x00000002, 0x4029CC20, 0xA0013F02, 0x00000002, 0x4029CC20, 0xA0014002,\n\t0x00000002, 0x4029CC20, 0xA0014202, 0x00000002, 0x4029CC20, 0xA0014402,\n\t0x00000002, 0x4029CC20, 0xA0014502, 0x00000002, 0x4029CC20, 0xA0014602,\n\t0x00000002, 0x4029CC20, 0xA0014702, 0x00000002, 0x4029CC20, 0xA0014802,\n\t0x00000002, 0x4029CC20, 0xA0014902, 0x00000002, 0x4029CC20, 0xA0014A02,\n\t0x00000002, 0x4029CC20, 0xA0014B02, 0x00000002,\n\t// Block 6, offset 0x180\n\t0x4029CC20, 0xA0014B02, 0x00000002, 0x4029CC20, 0xA0014C02, 0x00000002,\n\t0x4029CC20, 0xA0014D02, 0x00000002, 0x4029CC20, 0xA0014E02, 0x00000002,\n\t0x4029CC20, 0xA0014F02, 0x00000002, 0x4029CC20, 0xA0015002, 0x00000002,\n\t0x4029CC20, 0xA0015102, 0x00000002, 0x4029CC20, 0xA0015202, 0x00000002,\n\t0x4029CC20, 0xA0015302, 0x00000002, 0x4029CC20, 0xA0015402, 0x00000002,\n\t0x4029CC20, 0xA0015502, 0x00000002, 0x4029CC20, 0xA0015602, 0x00000002,\n\t0x0029CC84, 0xA0015604, 0x00000002, 0x4029CC20, 0xA0015702, 0x00000002,\n\t0x4029CC20, 0xA0015802, 0x00000002, 0x4029CC20, 0xA0015902, 0x00000002,\n\t0x4029CC20, 0xA0015A02, 0x00000002, 0x4029CC20, 0xA0015B02, 0x00000002,\n\t0x4029CC20, 0xA0015C02, 0x00000002, 0x4029CC20, 0xA0015D02, 0x00000002,\n\t0x4029CC20, 0xA0015E02, 0x00000002, 0x4029CC20,\n\t// Block 7, offset 0x1c0\n\t0xA0015F02, 0x00000002, 0x4029CC20, 0xA0016002, 0x00000002, 0x4029CC20,\n\t0xA0016102, 0x00000002, 0x4029CC20, 0xA0016202, 0x00000002, 0x4029CC20,\n\t0xA0016302, 0x00000002, 0x4029CC20, 0xA0016402, 0x00000002, 0x4029CC20,\n\t0xA0016502, 0x00000002, 0x4029CC20, 0xA0016602, 0x00000002, 0x4029CC20,\n\t0xA0016802, 0x00000002, 0x4029CC20, 0xA0017202, 0x00000002, 0x4029CC20,\n\t0xA0017302, 0x00000002, 0x4029CC20, 0xA0017402, 0x00000003, 0x0029CC9E,\n\t0x0009589E, 0x0029D29E, 0x00000002, 0x4029CE20, 0xA0013F02, 0x00000002,\n\t0x4029CE20, 0xA0014002, 0x00000002, 0x4029CE20, 0xA0014102, 0x00000002,\n\t0x4029CE20, 0xA0014202, 0x00000002, 0x4029CE20, 0xA0014302, 0x00000002,\n\t0x4029CE20, 0xA0014402, 0x00000002, 0x4029CE20, 0xA0014502, 0x00000002,\n\t0x4029CE20, 0xA0014602, 0x00000002, 0x4029CE20,\n\t// Block 8, offset 0x200\n\t0xA0014702, 0x00000002, 0x4029CE20, 0xA0014802, 0x00000002, 0x4029CE20,\n\t0xA0014902, 0x00000002, 0x4029CE20, 0xA0014A02, 0x00000002, 0x4029CE20,\n\t0xA0014B02, 0x00000002, 0x4029CE20, 0xA0014B02, 0x00000002, 0x4029CE20,\n\t0xA0014B02, 0x00000002, 0x4029CE20, 0xA0014C02, 0x00000002, 0x4029CE20,\n\t0xA0014D02, 0x00000002, 0x4029CE20, 0xA0014E02, 0x00000002, 0x4029CE20,\n\t0xA0014F02, 0x00000002, 0x4029CE20, 0xA0015002, 0x00000002, 0x4029CE20,\n\t0xA0015102, 0x00000002, 0x4029CE20, 0xA0015102, 0x00000002, 0x4029CE20,\n\t0xA0015202, 0x00000002, 0x4029CE20, 0xA0015302, 0x00000002, 0x4029CE20,\n\t0xA0015402, 0x00000002, 0x4029CE20, 0xA0015502, 0x00000002, 0x4029CE20,\n\t0xA0015602, 0x00000002, 0x0029CE84, 0xA0015604, 0x00000002, 0x4029CE20,\n\t0xA0015702, 0x00000002, 0x4029CE20, 0xA0015802,\n\t// Block 9, offset 0x240\n\t0x00000002, 0x4029CE20, 0xA0015902, 0x00000002, 0x4029CE20, 0xA0015A02,\n\t0x00000002, 0x4029CE20, 0xA0015B02, 0x00000002, 0x4029CE20, 0xA0015C02,\n\t0x00000002, 0x4029CE20, 0xA0015D02, 0x00000002, 0x4029CE20, 0xA0015E02,\n\t0x00000002, 0x4029CE20, 0xA0015F02, 0x00000002, 0x4029CE20, 0xA0016002,\n\t0x00000002, 0x4029CE20, 0xA0016102, 0x00000002, 0x4029CE20, 0xA0016202,\n\t0x00000002, 0x4029CE20, 0xA0016302, 0x00000002, 0x4029CE20, 0xA0016402,\n\t0x00000002, 0x4029CE20, 0xA0016502, 0x00000002, 0x4029CE20, 0xA0016602,\n\t0x00000002, 0x4029CE20, 0xA0016702, 0x00000002, 0x4029CE20, 0xA0016802,\n\t0x00000002, 0x4029CE20, 0xA0016802, 0x00000002, 0x4029CE20, 0xA0016802,\n\t0x00000002, 0x4029CE20, 0xA0016802, 0x00000002, 0x4029CE20, 0xA0016A02,\n\t0x00000002, 0x4029CE20, 0xA0016B02, 0x00000002,\n\t// Block 10, offset 0x280\n\t0x4029CE20, 0xA0016C02, 0x00000002, 0x4029CE20, 0xA0016C02, 0x00000002,\n\t0x4029CE20, 0xA0016C02, 0x00000002, 0x4029CE20, 0xA0016C02, 0x00000002,\n\t0x4029CE20, 0xA0016C02, 0x00000002, 0x4029CE20, 0xA0016C02, 0x00000002,\n\t0x4029CE20, 0xA0016D02, 0x00000002, 0x4029CE20, 0xA0016E02, 0x00000002,\n\t0x4029CE20, 0xA0016F02, 0x00000002, 0x4029CE20, 0xA0017002, 0x00000002,\n\t0x4029CE20, 0xA0017102, 0x00000002, 0x4029CE20, 0xA0017202, 0x00000002,\n\t0x4029CE20, 0xA0017302, 0x00000002, 0x4029CE20, 0xA0017402, 0x00000002,\n\t0x4029CE20, 0xA0017502, 0x00000002, 0x4029CE20, 0xA0017602, 0x00000002,\n\t0x4029CE20, 0xA0017702, 0x00000004, 0x0029CE9E, 0x0009589E, 0x0029CE9E,\n\t0x0029CC9E, 0x00000003, 0x0029CE9E, 0x0009589E, 0x0029D09E, 0x00000003,\n\t0x0029CE9E, 0x0009589E, 0x0029D29E, 0x00000003,\n\t// Block 11, offset 0x2c0\n\t0x0029CE9E, 0x0009589E, 0x0029D49E, 0x00000003, 0x0029CE9E, 0x0009589E,\n\t0x0029D69E, 0x00000003, 0x0029CE9E, 0x0009589E, 0x0029D89E, 0x00000003,\n\t0x0029CE9E, 0x0009589E, 0x0029DA9E, 0x00000003, 0x0029CE9E, 0x0009589E,\n\t0x0029DC9E, 0x00000003, 0x0029CE9E, 0x0009589E, 0x0029DE9E, 0x00000002,\n\t0x0029CE86, 0x0029CC86, 0x00000002, 0x0029CE86, 0x0029CC86, 0x00000002,\n\t0x0029CE86, 0x0029CC86, 0x00000002, 0x0029CE86, 0x0029CC86, 0x00000002,\n\t0x0029CE86, 0x0029CC86, 0x00000002, 0x0029CE86, 0x0029CE86, 0x00000002,\n\t0x0029CE86, 0x0029D086, 0x00000002, 0x0029CE86, 0x0029D286, 0x00000002,\n\t0x0029CE86, 0x0029D486, 0x00000002, 0x0029CE86, 0x0029D686, 0x00000002,\n\t0x0029CE86, 0x0029D886, 0x00000002, 0x0029CE86, 0x0029DA86, 0x00000002,\n\t0x0029CE86, 0x0029DC86, 0x00000002, 0x0029CE86,\n\t// Block 12, offset 0x300\n\t0x0029DE86, 0x00000002, 0x4029D020, 0xA0013F02, 0x00000002, 0x4029D020,\n\t0xA0014002, 0x00000002, 0x4029D020, 0xA0014102, 0x00000002, 0x4029D020,\n\t0xA0014202, 0x00000002, 0x4029D020, 0xA0014302, 0x00000002, 0x4029D020,\n\t0xA0014402, 0x00000002, 0x4029D020, 0xA0014502, 0x00000002, 0x4029D020,\n\t0xA0014602, 0x00000002, 0x4029D020, 0xA0014702, 0x00000002, 0x4029D020,\n\t0xA0014802, 0x00000002, 0x4029D020, 0xA0014902, 0x00000002, 0x4029D020,\n\t0xA0014A02, 0x00000002, 0x4029D020, 0xA0014B02, 0x00000002, 0x4029D020,\n\t0xA0014B02, 0x00000002, 0x4029D020, 0xA0014B02, 0x00000002, 0x4029D020,\n\t0xA0014C02, 0x00000002, 0x4029D020, 0xA0014D02, 0x00000002, 0x4029D020,\n\t0xA0014E02, 0x00000002, 0x4029D020, 0xA0014F02, 0x00000002, 0x4029D020,\n\t0xA0015002, 0x00000002, 0x4029D020, 0xA0015102,\n\t// Block 13, offset 0x340\n\t0x00000002, 0x4029D020, 0xA0015202, 0x00000002, 0x4029D020, 0xA0015302,\n\t0x00000002, 0x4029D020, 0xA0015402, 0x00000002, 0x4029D020, 0xA0015502,\n\t0x00000002, 0x4029D020, 0xA0015602, 0x00000002, 0x0029D084, 0xA0015604,\n\t0x00000002, 0x4029D020, 0xA0015702, 0x00000002, 0x4029D020, 0xA0015802,\n\t0x00000002, 0x4029D020, 0xA0015902, 0x00000002, 0x4029D020, 0xA0015A02,\n\t0x00000002, 0x4029D020, 0xA0015B02, 0x00000002, 0x4029D020, 0xA0015C02,\n\t0x00000002, 0x4029D020, 0xA0015D02, 0x00000002, 0x4029D020, 0xA0015E02,\n\t0x00000002, 0x4029D020, 0xA0015F02, 0x00000002, 0x4029D020, 0xA0016002,\n\t0x00000002, 0x4029D020, 0xA0016102, 0x00000002, 0x4029D020, 0xA0016202,\n\t0x00000002, 0x4029D020, 0xA0016302, 0x00000002, 0x4029D020, 0xA0016402,\n\t0x00000002, 0x4029D020, 0xA0016502, 0x00000002,\n\t// Block 14, offset 0x380\n\t0x4029D020, 0xA0016602, 0x00000002, 0x4029D020, 0xA0016702, 0x00000002,\n\t0x4029D020, 0xA0016802, 0x00000002, 0x4029D020, 0xA0016802, 0x00000002,\n\t0x4029D020, 0xA0016802, 0x00000002, 0x4029D020, 0xA0016802, 0x00000002,\n\t0x4029D020, 0xA0016B02, 0x00000002, 0x4029D020, 0xA0016C02, 0x00000002,\n\t0x4029D020, 0xA0016C02, 0x00000002, 0x4029D020, 0xA0016C02, 0x00000002,\n\t0x4029D020, 0xA0016C02, 0x00000002, 0x4029D020, 0xA0016C02, 0x00000002,\n\t0x4029D020, 0xA0016C02, 0x00000002, 0x4029D020, 0xA0016C02, 0x00000002,\n\t0x4029D020, 0xA0016C02, 0x00000002, 0x4029D020, 0xA0016C02, 0x00000002,\n\t0x4029D020, 0xA0016E02, 0x00000002, 0x4029D020, 0xA0016F02, 0x00000002,\n\t0x4029D020, 0xA0017002, 0x00000002, 0x4029D020, 0xA0017102, 0x00000002,\n\t0x4029D020, 0xA0017202, 0x00000002, 0x4029D020,\n\t// Block 15, offset 0x3c0\n\t0xA0017302, 0x00000002, 0x4029D020, 0xA0017402, 0x00000002, 0x4029D020,\n\t0xA0017502, 0x00000002, 0x4029D020, 0xA0017602, 0x00000002, 0x4029D020,\n\t0xA0017702, 0x00000003, 0x0029D09E, 0x0009589E, 0x0029D29E, 0x00000003,\n\t0x0029D09E, 0x0009589E, 0x0029D69E, 0x00000002, 0x0029D086, 0x0029CC86,\n\t0x00000002, 0x0029D086, 0x0029CC86, 0x00000002, 0x4029D220, 0xA0013F02,\n\t0x00000002, 0x4029D220, 0xA0014002, 0x00000002, 0x4029D220, 0xA0014102,\n\t0x00000002, 0x4029D220, 0xA0014202, 0x00000002, 0x4029D220, 0xA0014302,\n\t0x00000002, 0x4029D220, 0xA0014402, 0x00000002, 0x4029D220, 0xA0014502,\n\t0x00000002, 0x4029D220, 0xA0014602, 0x00000002, 0x4029D220, 0xA0014702,\n\t0x00000002, 0x4029D220, 0xA0014802, 0x00000002, 0x4029D220, 0xA0014902,\n\t0x00000002, 0x4029D220, 0xA0014A02, 0x00000002,\n\t// Block 16, offset 0x400\n\t0x4029D220, 0xA0014B02, 0x00000002, 0x4029D220, 0xA0014B02, 0x00000002,\n\t0x4029D220, 0xA0014B02, 0x00000002, 0x4029D220, 0xA0014C02, 0x00000002,\n\t0x4029D220, 0xA0014D02, 0x00000002, 0x4029D220, 0xA0014E02, 0x00000002,\n\t0x4029D220, 0xA0014F02, 0x00000002, 0x4029D220, 0xA0015002, 0x00000002,\n\t0x4029D220, 0xA0015102, 0x00000002, 0x4029D220, 0xA0015202, 0x00000002,\n\t0x4029D220, 0xA0015302, 0x00000002, 0x4029D220, 0xA0015402, 0x00000002,\n\t0x4029D220, 0xA0015502, 0x00000002, 0x4029D220, 0xA0015602, 0x00000002,\n\t0x0029D284, 0xA0015604, 0x00000002, 0x4029D220, 0xA0015702, 0x00000002,\n\t0x4029D220, 0xA0015802, 0x00000002, 0x4029D220, 0xA0015902, 0x00000002,\n\t0x4029D220, 0xA0015A02, 0x00000002, 0x4029D220, 0xA0015B02, 0x00000002,\n\t0x4029D220, 0xA0015C02, 0x00000002, 0x4029D220,\n\t// Block 17, offset 0x440\n\t0xA0015D02, 0x00000002, 0x4029D220, 0xA0015E02, 0x00000002, 0x4029D220,\n\t0xA0015F02, 0x00000002, 0x4029D220, 0xA0016002, 0x00000002, 0x4029D220,\n\t0xA0016102, 0x00000002, 0x4029D220, 0xA0016202, 0x00000002, 0x4029D220,\n\t0xA0016302, 0x00000002, 0x4029D220, 0xA0016402, 0x00000002, 0x4029D220,\n\t0xA0016502, 0x00000002, 0x4029D220, 0xA0016602, 0x00000002, 0x4029D220,\n\t0xA0016702, 0x00000002, 0x4029D220, 0xA0016C02, 0x00000002, 0x4029D220,\n\t0xA0016C02, 0x00000002, 0x4029D220, 0xA0016C02, 0x00000002, 0x4029D220,\n\t0xA0016C02, 0x00000002, 0x4029D220, 0xA0016C02, 0x00000002, 0x4029D220,\n\t0xA0016C02, 0x00000002, 0x4029D220, 0xA0016C02, 0x00000002, 0x4029D220,\n\t0xA0016C02, 0x00000002, 0x4029D220, 0xA0016C02, 0x00000002, 0x4029D220,\n\t0xA0016C02, 0x00000002, 0x4029D220, 0xA0016C02,\n\t// Block 18, offset 0x480\n\t0x00000002, 0x4029D220, 0xA0016C02, 0x00000002, 0x4029D220, 0xA0016C02,\n\t0x00000002, 0x4029D220, 0xA0016C02, 0x00000002, 0x4029D220, 0xA0016E02,\n\t0x00000002, 0x4029D220, 0xA0016F02, 0x00000002, 0x4029D220, 0xA0017002,\n\t0x00000002, 0x4029D220, 0xA0017102, 0x00000002, 0x4029D220, 0xA0017202,\n\t0x00000002, 0x4029D220, 0xA0017302, 0x00000002, 0x4029D220, 0xA0017402,\n\t0x00000002, 0x4029D220, 0xA0017502, 0x00000002, 0x4029D220, 0xA0017602,\n\t0x00000002, 0x4029D220, 0xA0017702, 0x00000003, 0x0029D29E, 0x0009589E,\n\t0x0029D49E, 0x00000003, 0x0029D29E, 0x0009589E, 0x0029D69E, 0x00000003,\n\t0x0029D29E, 0x0009589E, 0x0029DC9E, 0x00000002, 0x0029D286, 0x0029CC86,\n\t0x00000002, 0x4029D420, 0xA0013F02, 0x00000002, 0x4029D420, 0xA0014002,\n\t0x00000002, 0x4029D420, 0xA0014102, 0x00000002,\n\t// Block 19, offset 0x4c0\n\t0x4029D420, 0xA0014202, 0x00000002, 0x4029D420, 0xA0014302, 0x00000002,\n\t0x4029D420, 0xA0014402, 0x00000002, 0x4029D420, 0xA0014502, 0x00000002,\n\t0x4029D420, 0xA0014602, 0x00000002, 0x4029D420, 0xA0014702, 0x00000002,\n\t0x4029D420, 0xA0014802, 0x00000002, 0x4029D420, 0xA0014902, 0x00000002,\n\t0x4029D420, 0xA0014A02, 0x00000002, 0x4029D420, 0xA0014B02, 0x00000002,\n\t0x4029D420, 0xA0014C02, 0x00000002, 0x4029D420, 0xA0014D02, 0x00000002,\n\t0x4029D420, 0xA0014E02, 0x00000002, 0x4029D420, 0xA0014F02, 0x00000002,\n\t0x4029D420, 0xA0015002, 0x00000002, 0x4029D420, 0xA0015102, 0x00000002,\n\t0x4029D420, 0xA0015202, 0x00000002, 0x4029D420, 0xA0015302, 0x00000002,\n\t0x4029D420, 0xA0015402, 0x00000002, 0x4029D420, 0xA0015502, 0x00000002,\n\t0x4029D420, 0xA0015602, 0x00000002, 0x0029D484,\n\t// Block 20, offset 0x500\n\t0xA0015604, 0x00000002, 0x4029D420, 0xA0015702, 0x00000002, 0x4029D420,\n\t0xA0015802, 0x00000002, 0x4029D420, 0xA0015902, 0x00000002, 0x4029D420,\n\t0xA0015A02, 0x00000002, 0x4029D420, 0xA0015B02, 0x00000002, 0x4029D420,\n\t0xA0015C02, 0x00000002, 0x4029D420, 0xA0015D02, 0x00000002, 0x4029D420,\n\t0xA0015E02, 0x00000002, 0x4029D420, 0xA0015F02, 0x00000002, 0x4029D420,\n\t0xA0016002, 0x00000002, 0x4029D420, 0xA0016102, 0x00000002, 0x4029D420,\n\t0xA0016202, 0x00000002, 0x4029D420, 0xA0016302, 0x00000002, 0x4029D420,\n\t0xA0016402, 0x00000002, 0x4029D420, 0xA0016502, 0x00000002, 0x4029D420,\n\t0xA0016602, 0x00000002, 0x4029D420, 0xA0016702, 0x00000002, 0x4029D420,\n\t0xA0016C02, 0x00000002, 0x4029D420, 0xA0016C02, 0x00000002, 0x4029D420,\n\t0xA0016C02, 0x00000002, 0x4029D420, 0xA0016C02,\n\t// Block 21, offset 0x540\n\t0x00000002, 0x4029D420, 0xA0016C02, 0x00000002, 0x4029D420, 0xA0016C02,\n\t0x00000002, 0x4029D420, 0xA0016C02, 0x00000002, 0x4029D420, 0xA0016C02,\n\t0x00000002, 0x4029D420, 0xA0016C02, 0x00000002, 0x4029D420, 0xA0016C02,\n\t0x00000002, 0x4029D420, 0xA0016C02, 0x00000002, 0x4029D420, 0xA0016C02,\n\t0x00000002, 0x4029D420, 0xA0016C02, 0x00000002, 0x4029D420, 0xA0016C02,\n\t0x00000002, 0x4029D420, 0xA0016C02, 0x00000002, 0x4029D420, 0xA0017002,\n\t0x00000002, 0x4029D420, 0xA0017102, 0x00000002, 0x4029D420, 0xA0017202,\n\t0x00000002, 0x4029D420, 0xA0017302, 0x00000002, 0x4029D420, 0xA0017402,\n\t0x00000002, 0x4029D420, 0xA0017502, 0x00000002, 0x4029D420, 0xA0017602,\n\t0x00000002, 0x4029D420, 0xA0017702, 0x00000003, 0x0029D49E, 0x0009589E,\n\t0x0029D69E, 0x00000002, 0x0029D486, 0x0029CC86,\n\t// Block 22, offset 0x580\n\t0x00000002, 0x4029D620, 0xA0013F02, 0x00000002, 0x4029D620, 0xA0014002,\n\t0x00000002, 0x4029D620, 0xA0014102, 0x00000002, 0x4029D620, 0xA0014202,\n\t0x00000002, 0x4029D620, 0xA0014302, 0x00000002, 0x4029D620, 0xA0014402,\n\t0x00000002, 0x4029D620, 0xA0014502, 0x00000002, 0x4029D620, 0xA0014602,\n\t0x00000002, 0x4029D620, 0xA0014702, 0x00000002, 0x4029D620, 0xA0014802,\n\t0x00000002, 0x4029D620, 0xA0014902, 0x00000002, 0x4029D620, 0xA0014A02,\n\t0x00000002, 0x4029D620, 0xA0014B02, 0x00000002, 0x4029D620, 0xA0014C02,\n\t0x00000002, 0x4029D620, 0xA0014D02, 0x00000002, 0x4029D620, 0xA0014E02,\n\t0x00000002, 0x4029D620, 0xA0014F02, 0x00000002, 0x4029D620, 0xA0015002,\n\t0x00000002, 0x4029D620, 0xA0015102, 0x00000002, 0x4029D620, 0xA0015202,\n\t0x00000002, 0x4029D620, 0xA0015302, 0x00000002,\n\t// Block 23, offset 0x5c0\n\t0x4029D620, 0xA0015402, 0x00000002, 0x4029D620, 0xA0015502, 0x00000002,\n\t0x4029D620, 0xA0015602, 0x00000002, 0x0029D684, 0xA0015604, 0x00000002,\n\t0x4029D620, 0xA0015702, 0x00000002, 0x4029D620, 0xA0015802, 0x00000002,\n\t0x4029D620, 0xA0015902, 0x00000002, 0x4029D620, 0xA0015A02, 0x00000002,\n\t0x4029D620, 0xA0015B02, 0x00000002, 0x4029D620, 0xA0015C02, 0x00000002,\n\t0x4029D620, 0xA0015D02, 0x00000002, 0x4029D620, 0xA0015E02, 0x00000002,\n\t0x4029D620, 0xA0015F02, 0x00000002, 0x4029D620, 0xA0016002, 0x00000002,\n\t0x4029D620, 0xA0016102, 0x00000002, 0x4029D620, 0xA0016202, 0x00000002,\n\t0x4029D620, 0xA0016302, 0x00000002, 0x4029D620, 0xA0016402, 0x00000002,\n\t0x4029D620, 0xA0016502, 0x00000002, 0x4029D620, 0xA0016602, 0x00000002,\n\t0x4029D620, 0xA0016702, 0x00000002, 0x4029D620,\n\t// Block 24, offset 0x600\n\t0xA0016802, 0x00000002, 0x4029D620, 0xA0016802, 0x00000002, 0x4029D620,\n\t0xA0016802, 0x00000002, 0x4029D620, 0xA0016802, 0x00000002, 0x4029D620,\n\t0xA0016802, 0x00000002, 0x4029D620, 0xA0016A02, 0x00000002, 0x4029D620,\n\t0xA0016C02, 0x00000002, 0x4029D620, 0xA0016C02, 0x00000002, 0x4029D620,\n\t0xA0016C02, 0x00000002, 0x4029D620, 0xA0016C02, 0x00000002, 0x4029D620,\n\t0xA0016C02, 0x00000002, 0x4029D620, 0xA0016C02, 0x00000002, 0x4029D620,\n\t0xA0016C02, 0x00000002, 0x4029D620, 0xA0016C02, 0x00000002, 0x4029D620,\n\t0xA0016C02, 0x00000002, 0x4029D620, 0xA0016C02, 0x00000002, 0x4029D620,\n\t0xA0016C02, 0x00000002, 0x4029D620, 0xA0017202, 0x00000002, 0x4029D620,\n\t0xA0017302, 0x00000002, 0x4029D620, 0xA0017402, 0x00000002, 0x4029D620,\n\t0xA0017502, 0x00000002, 0x4029D620, 0xA0017702,\n\t// Block 25, offset 0x640\n\t0x00000003, 0x0029D69E, 0x0009589E, 0x0029D89E, 0x00000003, 0x0029D69E,\n\t0x0009589E, 0x0029DC9E, 0x00000002, 0x0029D686, 0x0029CC86, 0x00000002,\n\t0x4029D820, 0xA0013F02, 0x00000002, 0x4029D820, 0xA0014002, 0x00000002,\n\t0x4029D820, 0xA0014102, 0x00000002, 0x4029D820, 0xA0014202, 0x00000002,\n\t0x4029D820, 0xA0014302, 0x00000002, 0x4029D820, 0xA0014402, 0x00000002,\n\t0x4029D820, 0xA0014502, 0x00000002, 0x4029D820, 0xA0014602, 0x00000002,\n\t0x4029D820, 0xA0014702, 0x00000002, 0x4029D820, 0xA0014802, 0x00000002,\n\t0x4029D820, 0xA0014902, 0x00000002, 0x4029D820, 0xA0014A02, 0x00000002,\n\t0x4029D820, 0xA0014B02, 0x00000002, 0x4029D820, 0xA0014C02, 0x00000002,\n\t0x4029D820, 0xA0014D02, 0x00000002, 0x4029D820, 0xA0014E02, 0x00000002,\n\t0x4029D820, 0xA0014F02, 0x00000002, 0x4029D820,\n\t// Block 26, offset 0x680\n\t0xA0015002, 0x00000002, 0x4029D820, 0xA0015102, 0x00000002, 0x4029D820,\n\t0xA0015202, 0x00000002, 0x4029D820, 0xA0015302, 0x00000002, 0x4029D820,\n\t0xA0015402, 0x00000002, 0x4029D820, 0xA0015502, 0x00000002, 0x4029D820,\n\t0xA0015602, 0x00000002, 0x0029D884, 0xA0015604, 0x00000002, 0x4029D820,\n\t0xA0015702, 0x00000002, 0x4029D820, 0xA0015802, 0x00000002, 0x4029D820,\n\t0xA0015902, 0x00000002, 0x4029D820, 0xA0015A02, 0x00000002, 0x4029D820,\n\t0xA0015B02, 0x00000002, 0x4029D820, 0xA0015C02, 0x00000002, 0x4029D820,\n\t0xA0015D02, 0x00000002, 0x4029D820, 0xA0015E02, 0x00000002, 0x4029D820,\n\t0xA0015F02, 0x00000002, 0x4029D820, 0xA0016002, 0x00000002, 0x4029D820,\n\t0xA0016102, 0x00000002, 0x4029D820, 0xA0016202, 0x00000002, 0x4029D820,\n\t0xA0016302, 0x00000002, 0x4029D820, 0xA0016402,\n\t// Block 27, offset 0x6c0\n\t0x00000002, 0x4029D820, 0xA0016502, 0x00000002, 0x4029D820, 0xA0016602,\n\t0x00000002, 0x4029D820, 0xA0016702, 0x00000002, 0x4029D820, 0xA0016902,\n\t0x00000002, 0x4029D820, 0xA0016C02, 0x00000002, 0x4029D820, 0xA0016C02,\n\t0x00000002, 0x4029D820, 0xA0016C02, 0x00000002, 0x4029D820, 0xA0016C02,\n\t0x00000002, 0x4029D820, 0xA0016C02, 0x00000002, 0x4029D820, 0xA0016C02,\n\t0x00000002, 0x4029D820, 0xA0016C02, 0x00000002, 0x4029D820, 0xA0017202,\n\t0x00000002, 0x4029D820, 0xA0017302, 0x00000002, 0x4029D820, 0xA0017402,\n\t0x00000002, 0x4029D820, 0xA0017502, 0x00000002, 0x4029D820, 0xA0017702,\n\t0x00000002, 0x0029D886, 0x0029CC86, 0x00000002, 0x4029DA20, 0xA0013F02,\n\t0x00000002, 0x4029DA20, 0xA0014002, 0x00000002, 0x4029DA20, 0xA0014102,\n\t0x00000002, 0x4029DA20, 0xA0014202, 0x00000002,\n\t// Block 28, offset 0x700\n\t0x4029DA20, 0xA0014302, 0x00000002, 0x4029DA20, 0xA0014402, 0x00000002,\n\t0x4029DA20, 0xA0014502, 0x00000002, 0x4029DA20, 0xA0014602, 0x00000002,\n\t0x4029DA20, 0xA0014702, 0x00000002, 0x4029DA20, 0xA0014802, 0x00000002,\n\t0x4029DA20, 0xA0014902, 0x00000002, 0x4029DA20, 0xA0014A02, 0x00000002,\n\t0x4029DA20, 0xA0014B02, 0x00000002, 0x4029DA20, 0xA0014C02, 0x00000002,\n\t0x4029DA20, 0xA0014D02, 0x00000002, 0x4029DA20, 0xA0014E02, 0x00000002,\n\t0x4029DA20, 0xA0014F02, 0x00000002, 0x4029DA20, 0xA0015002, 0x00000002,\n\t0x4029DA20, 0xA0015102, 0x00000002, 0x4029DA20, 0xA0015202, 0x00000002,\n\t0x4029DA20, 0xA0015302, 0x00000002, 0x4029DA20, 0xA0015402, 0x00000002,\n\t0x4029DA20, 0xA0015502, 0x00000002, 0x4029DA20, 0xA0015602, 0x00000002,\n\t0x0029DA84, 0xA0015604, 0x00000002, 0x4029DA20,\n\t// Block 29, offset 0x740\n\t0xA0015702, 0x00000002, 0x4029DA20, 0xA0015802, 0x00000002, 0x4029DA20,\n\t0xA0015902, 0x00000002, 0x4029DA20, 0xA0015A02, 0x00000002, 0x4029DA20,\n\t0xA0015B02, 0x00000002, 0x4029DA20, 0xA0015C02, 0x00000002, 0x4029DA20,\n\t0xA0015D02, 0x00000002, 0x4029DA20, 0xA0015E02, 0x00000002, 0x4029DA20,\n\t0xA0015F02, 0x00000002, 0x4029DA20, 0xA0016002, 0x00000002, 0x4029DA20,\n\t0xA0016102, 0x00000002, 0x4029DA20, 0xA0016202, 0x00000002, 0x4029DA20,\n\t0xA0016302, 0x00000002, 0x4029DA20, 0xA0016402, 0x00000002, 0x4029DA20,\n\t0xA0016502, 0x00000002, 0x4029DA20, 0xA0016602, 0x00000002, 0x4029DA20,\n\t0xA0016702, 0x00000002, 0x4029DA20, 0xA0016C02, 0x00000002, 0x4029DA20,\n\t0xA0016C02, 0x00000002, 0x4029DA20, 0xA0016C02, 0x00000002, 0x4029DA20,\n\t0xA0016C02, 0x00000002, 0x4029DA20, 0xA0016C02,\n\t// Block 30, offset 0x780\n\t0x00000002, 0x4029DA20, 0xA0016C02, 0x00000002, 0x4029DA20, 0xA0016C02,\n\t0x00000002, 0x4029DA20, 0xA0016C02, 0x00000002, 0x4029DA20, 0xA0017202,\n\t0x00000002, 0x4029DA20, 0xA0017302, 0x00000002, 0x4029DA20, 0xA0017402,\n\t0x00000002, 0x4029DA20, 0xA0017502, 0x00000002, 0x4029DA20, 0xA0017702,\n\t0x00000003, 0x0029DA9E, 0x0009589E, 0x0029DC9E, 0x00000002, 0x0029DA86,\n\t0x0029CC86, 0x00000002, 0x4029DC20, 0xA0013F02, 0x00000002, 0x4029DC20,\n\t0xA0014002, 0x00000002, 0x4029DC20, 0xA0014102, 0x00000002, 0x4029DC20,\n\t0xA0014202, 0x00000002, 0x4029DC20, 0xA0014302, 0x00000002, 0x4029DC20,\n\t0xA0014402, 0x00000002, 0x4029DC20, 0xA0014502, 0x00000002, 0x4029DC20,\n\t0xA0014602, 0x00000002, 0x4029DC20, 0xA0014702, 0x00000002, 0x4029DC20,\n\t0xA0014802, 0x00000002, 0x4029DC20, 0xA0014902,\n\t// Block 31, offset 0x7c0\n\t0x00000002, 0x4029DC20, 0xA0014A02, 0x00000002, 0x4029DC20, 0xA0014B02,\n\t0x00000002, 0x4029DC20, 0xA0014C02, 0x00000002, 0x4029DC20, 0xA0014D02,\n\t0x00000002, 0x4029DC20, 0xA0014E02, 0x00000002, 0x4029DC20, 0xA0014F02,\n\t0x00000002, 0x4029DC20, 0xA0015002, 0x00000002, 0x4029DC20, 0xA0015102,\n\t0x00000002, 0x4029DC20, 0xA0015202, 0x00000002, 0x4029DC20, 0xA0015302,\n\t0x00000002, 0x4029DC20, 0xA0015402, 0x00000002, 0x4029DC20, 0xA0015502,\n\t0x00000002, 0x4029DC20, 0xA0015602, 0x00000002, 0x0029DC84, 0xA0015604,\n\t0x00000002, 0x4029DC20, 0xA0015702, 0x00000002, 0x4029DC20, 0xA0015802,\n\t0x00000002, 0x4029DC20, 0xA0015902, 0x00000002, 0x4029DC20, 0xA0015A02,\n\t0x00000002, 0x4029DC20, 0xA0015B02, 0x00000002, 0x4029DC20, 0xA0015C02,\n\t0x00000002, 0x4029DC20, 0xA0015D02, 0x00000002,\n\t// Block 32, offset 0x800\n\t0x4029DC20, 0xA0015E02, 0x00000002, 0x4029DC20, 0xA0015F02, 0x00000002,\n\t0x4029DC20, 0xA0016002, 0x00000002, 0x4029DC20, 0xA0016102, 0x00000002,\n\t0x4029DC20, 0xA0016202, 0x00000002, 0x4029DC20, 0xA0016302, 0x00000002,\n\t0x4029DC20, 0xA0016402, 0x00000002, 0x4029DC20, 0xA0016502, 0x00000002,\n\t0x4029DC20, 0xA0016602, 0x00000002, 0x4029DC20, 0xA0016702, 0x00000002,\n\t0x4029DC20, 0xA0016C02, 0x00000002, 0x4029DC20, 0xA0016C02, 0x00000002,\n\t0x4029DC20, 0xA0016C02, 0x00000002, 0x4029DC20, 0xA0016C02, 0x00000002,\n\t0x4029DC20, 0xA0016C02, 0x00000002, 0x4029DC20, 0xA0016C02, 0x00000002,\n\t0x4029DC20, 0xA0016C02, 0x00000002, 0x4029DC20, 0xA0017202, 0x00000002,\n\t0x4029DC20, 0xA0017302, 0x00000002, 0x4029DC20, 0xA0017402, 0x00000002,\n\t0x4029DC20, 0xA0017502, 0x00000002, 0x4029DC20,\n\t// Block 33, offset 0x840\n\t0xA0017702, 0x00000002, 0x0029DC86, 0x0029CC86, 0x00000002, 0x4029DE20,\n\t0xA0013F02, 0x00000002, 0x4029DE20, 0xA0014002, 0x00000002, 0x4029DE20,\n\t0xA0014102, 0x00000002, 0x4029DE20, 0xA0014202, 0x00000002, 0x4029DE20,\n\t0xA0014302, 0x00000002, 0x4029DE20, 0xA0014402, 0x00000002, 0x4029DE20,\n\t0xA0014502, 0x00000002, 0x4029DE20, 0xA0014602, 0x00000002, 0x4029DE20,\n\t0xA0014702, 0x00000002, 0x4029DE20, 0xA0014802, 0x00000002, 0x4029DE20,\n\t0xA0014902, 0x00000002, 0x4029DE20, 0xA0014A02, 0x00000002, 0x4029DE20,\n\t0xA0014B02, 0x00000002, 0x4029DE20, 0xA0014C02, 0x00000002, 0x4029DE20,\n\t0xA0014D02, 0x00000002, 0x4029DE20, 0xA0014E02, 0x00000002, 0x4029DE20,\n\t0xA0014F02, 0x00000002, 0x4029DE20, 0xA0015002, 0x00000002, 0x4029DE20,\n\t0xA0015102, 0x00000002, 0x4029DE20, 0xA0015202,\n\t// Block 34, offset 0x880\n\t0x00000002, 0x4029DE20, 0xA0015302, 0x00000002, 0x4029DE20, 0xA0015402,\n\t0x00000002, 0x4029DE20, 0xA0015502, 0x00000002, 0x4029DE20, 0xA0015602,\n\t0x00000002, 0x0029DE84, 0xA0015604, 0x00000002, 0x4029DE20, 0xA0015702,\n\t0x00000002, 0x4029DE20, 0xA0015802, 0x00000002, 0x4029DE20, 0xA0015902,\n\t0x00000002, 0x4029DE20, 0xA0015A02, 0x00000002, 0x4029DE20, 0xA0015B02,\n\t0x00000002, 0x4029DE20, 0xA0015C02, 0x00000002, 0x4029DE20, 0xA0015D02,\n\t0x00000002, 0x4029DE20, 0xA0015E02, 0x00000002, 0x4029DE20, 0xA0015F02,\n\t0x00000002, 0x4029DE20, 0xA0016002, 0x00000002, 0x4029DE20, 0xA0016102,\n\t0x00000002, 0x4029DE20, 0xA0016202, 0x00000002, 0x4029DE20, 0xA0016302,\n\t0x00000002, 0x4029DE20, 0xA0016402, 0x00000002, 0x4029DE20, 0xA0016502,\n\t0x00000002, 0x4029DE20, 0xA0016602, 0x00000002,\n\t// Block 35, offset 0x8c0\n\t0x4029DE20, 0xA0016702, 0x00000002, 0x4029DE20, 0xA0016C02, 0x00000002,\n\t0x4029DE20, 0xA0016C02, 0x00000002, 0x4029DE20, 0xA0016C02, 0x00000002,\n\t0x4029DE20, 0xA0016C02, 0x00000002, 0x4029DE20, 0xA0016C02, 0x00000002,\n\t0x4029DE20, 0xA0016C02, 0x00000002, 0x4029DE20, 0xA0016C02, 0x00000002,\n\t0x4029DE20, 0xA0016C02, 0x00000002, 0x4029DE20, 0xA0016C02, 0x00000002,\n\t0x4029DE20, 0xA0017202, 0x00000002, 0x4029DE20, 0xA0017302, 0x00000002,\n\t0x4029DE20, 0xA0017402, 0x00000002, 0x4029DE20, 0xA0017502, 0x00000002,\n\t0x4029DE20, 0xA0017702, 0x00000002, 0x402BDE20, 0xAE603202, 0x00000002,\n\t0x002BDE88, 0xAE603202, 0x00000002, 0x402BDE20, 0xAE603502, 0x00000002,\n\t0x002BDE88, 0xAE603502, 0x00000002, 0x402BDE20, 0xAE603702, 0x00000002,\n\t0x002BDE88, 0xAE603702, 0x00000003, 0x402BDE20,\n\t// Block 36, offset 0x900\n\t0xAE603702, 0xAE603202, 0x00000003, 0x002BDE88, 0xAE603702, 0xAE603202,\n\t0x00000003, 0x402BDE20, 0xAE603702, 0xAE603502, 0x00000003, 0x002BDE88,\n\t0xAE603702, 0xAE603502, 0x00000003, 0x402BDE20, 0xAE603702, 0xAE604E02,\n\t0x00000003, 0x002BDE88, 0xAE603702, 0xAE604E02, 0x00000003, 0x402BDE20,\n\t0xAE603702, 0xAE606402, 0x00000003, 0x002BDE88, 0xAE603702, 0xAE606402,\n\t0x00000002, 0x402BDE20, 0xAE603C02, 0x00000002, 0x002BDE88, 0xAE603C02,\n\t0x00000003, 0x402BDE20, 0xAE603C02, 0xAE603202, 0x00000003, 0x002BDE88,\n\t0xAE603C02, 0xAE603202, 0x00000003, 0x402BDE20, 0xAE603C02, 0xAE603502,\n\t0x00000003, 0x002BDE88, 0xAE603C02, 0xAE603502, 0x00000003, 0x402BDE20,\n\t0xAE603C02, 0xAE604E02, 0x00000003, 0x002BDE88, 0xAE603C02, 0xAE604E02,\n\t0x00000003, 0x402BDE20, 0xAE603C02, 0xAE606402,\n\t// Block 37, offset 0x940\n\t0x00000003, 0x002BDE88, 0xAE603C02, 0xAE606402, 0x00000002, 0x402BDE20,\n\t0xAE604102, 0x00000002, 0x002BDE88, 0xAE604102, 0x00000002, 0x402BDE20,\n\t0xAE604302, 0x00000002, 0x002BDE88, 0xAE604302, 0x00000003, 0x402BDE20,\n\t0xAE604302, 0xAE603202, 0x00000003, 0x002BDE88, 0xAE604302, 0xAE603202,\n\t0x00000002, 0x402BDE20, 0xAE604702, 0x00000002, 0x002BDE88, 0xAE604702,\n\t0x00000003, 0x402BDE20, 0xAE604702, 0xAE605B02, 0x00000003, 0x002BDE88,\n\t0xAE604702, 0xAE605B02, 0x00000002, 0x402BDE20, 0xAE604E02, 0x00000002,\n\t0x002BDE88, 0xAE604E02, 0x00000002, 0x402BDE20, 0xAE605202, 0x00000002,\n\t0x002BDE88, 0xAE605202, 0x00000003, 0x402BDE20, 0xAE605202, 0xAE605B02,\n\t0x00000003, 0x002BDE88, 0xAE605202, 0xAE605B02, 0x00000002, 0x402BDE20,\n\t0xACA05902, 0x00000002, 0x002BDE88, 0xACA05902,\n\t// Block 38, offset 0x980\n\t0x00000002, 0x402BDE20, 0xAE605B02, 0x00000002, 0x002BDE88, 0xAE605B02,\n\t0x00000002, 0x402BDE20, 0xAE606402, 0x00000002, 0x002BDE88, 0xAE606402,\n\t0x00000002, 0x402BDE20, 0xAE606502, 0x00000002, 0x002BDE88, 0xAE606502,\n\t0x00000002, 0x402BDE20, 0xAE606702, 0x00000002, 0x002BDE88, 0xAE606702,\n\t0x00000002, 0x402BDE20, 0xADC07002, 0x00000002, 0x002BDE88, 0xADC07002,\n\t0x00000003, 0x402BDE20, 0xADC07002, 0xAE603702, 0x00000003, 0x002BDE88,\n\t0xADC07002, 0xAE603702, 0x00000003, 0x402BDE20, 0xADC07002, 0xAE603C02,\n\t0x00000003, 0x002BDE88, 0xADC07002, 0xAE603C02, 0x00000002, 0x402BDE20,\n\t0xADC07602, 0x00000002, 0x002BDE88, 0xADC07602, 0x00000002, 0x84E615EF,\n\t0xAE613904, 0x00000004, 0x002BDE9C, 0x0002E49C, 0x002E829C, 0x0002E49C,\n\t0x00000003, 0x002BDE84, 0x0004E284, 0x002C3A84,\n\t// Block 39, offset 0x9c0\n\t0x00000003, 0x002BDE84, 0x0004E284, 0x002FE684, 0x00000003, 0x002BDE8A,\n\t0x0004E284, 0x002FE68A, 0x00000003, 0x002BDE9D, 0x0009569C, 0x002E829C,\n\t0x00000002, 0x002BDE84, 0x002BDE84, 0x00000002, 0x002BDE8A, 0x002BDE8A,\n\t0x00000002, 0x002BDE9D, 0x002C0A9D, 0x00000003, 0x002BDE84, 0xA0013904,\n\t0x002C9884, 0x00000003, 0x84E615EF, 0xAE613904, 0x84E6164C, 0x00000003,\n\t0x002BDE8A, 0xA0013904, 0x002C988A, 0x00000003, 0x002BDE94, 0xA0013914,\n\t0x002C9894, 0x00000004, 0x002BDE84, 0xA0013904, 0x002C9884, 0xAE603202,\n\t0x00000004, 0x002BDE8A, 0xA0013904, 0x002C988A, 0xAE603202, 0x00000004,\n\t0x002BDE84, 0xA0013904, 0x002C9884, 0xAE605B02, 0x00000004, 0x002BDE8A,\n\t0xA0013904, 0x002C988A, 0xAE605B02, 0x00000002, 0x84E615EF, 0x84E61771,\n\t0x00000002, 0x002BDE84, 0x002EE284, 0x00000002,\n\t// Block 40, offset 0xa00\n\t0x002BDE8A, 0x002EE28A, 0x00000002, 0x002BDE84, 0x00306C84, 0x00000002,\n\t0x002BDE8A, 0x00306C8A, 0x00000002, 0x84E615EF, 0x84E6185F, 0x00000002,\n\t0x002BDE84, 0x0030BE84, 0x00000002, 0x002BDE8A, 0x0030BE8A, 0x00000003,\n\t0x002BDE84, 0xA0013904, 0x0030BE84, 0x00000003, 0x002BDE8A, 0xA0013904,\n\t0x0030BE8A, 0x00000002, 0x002BDE84, 0x00310084, 0x00000002, 0x002BDE8A,\n\t0x0031008A, 0x00000002, 0x402C0A20, 0xAE605202, 0x00000002, 0x002C0A88,\n\t0xAE605202, 0x00000002, 0x402C0A20, 0xADC07002, 0x00000002, 0x002C0A88,\n\t0xADC07002, 0x00000002, 0x402C0A20, 0xADC07B02, 0x00000002, 0x002C0A88,\n\t0xADC07B02, 0x00000003, 0x002C0A9C, 0x002BDE9C, 0x002F7A9C, 0x00000002,\n\t0x402C3A20, 0xAE603202, 0x00000002, 0x002C3A88, 0xAE603202, 0x00000002,\n\t0x402C3A20, 0xAE603C02, 0x00000002, 0x002C3A88,\n\t// Block 41, offset 0xa40\n\t0xAE603C02, 0x00000002, 0x402C3A20, 0xAE604102, 0x00000002, 0x002C3A88,\n\t0xAE604102, 0x00000002, 0x402C3A20, 0xAE605202, 0x00000002, 0x002C3A88,\n\t0xAE605202, 0x00000002, 0x402C3A20, 0xACA05602, 0x00000002, 0x84E6161D,\n\t0xAE605604, 0x00000002, 0x002C3A88, 0xACA05602, 0x00000003, 0x402C3A20,\n\t0xACA05602, 0xAE603202, 0x00000003, 0x002C3A88, 0xACA05602, 0xAE603202,\n\t0x00000003, 0x002C3A84, 0x0004E284, 0x002EE284, 0x00000003, 0x002C3A84,\n\t0x0004E284, 0x00306C84, 0x00000004, 0x002C3A9D, 0x0009569C, 0x002DFE9C,\n\t0x002D229C, 0x00000003, 0x002C3A9C, 0x002BDE9C, 0x002E229C, 0x00000002,\n\t0x002C3A9D, 0x002E229D, 0x00000003, 0x002C3A9C, 0x002E829C, 0x0029D09C,\n\t0x00000003, 0x002C3A9C, 0x002E829C, 0x0029D29C, 0x00000003, 0x002C3A9D,\n\t0x002EE29C, 0x0002E49C, 0x00000004, 0x002C3A9D,\n\t// Block 42, offset 0xa80\n\t0x002EE29D, 0x002EE29D, 0x002E229D, 0x00000002, 0x402C6220, 0xAE604102,\n\t0x00000002, 0x002C6288, 0xAE604102, 0x00000002, 0x402C6220, 0xAE605202,\n\t0x00000002, 0x002C6288, 0xAE605202, 0x00000002, 0x402C6220, 0xACA05602,\n\t0x00000002, 0x002C6288, 0xACA05602, 0x00000002, 0x402C6220, 0xADC07002,\n\t0x00000002, 0x002C6288, 0xADC07002, 0x00000002, 0x402C6220, 0xADC07802,\n\t0x00000002, 0x002C6288, 0xADC07802, 0x00000002, 0x402C6220, 0xADC07B02,\n\t0x00000002, 0x002C6288, 0xADC07B02, 0x00000002, 0x402C6220, 0xA0007D02,\n\t0x00000002, 0x002C6288, 0xA0007D02, 0x00000002, 0x002C6284, 0xA0013904,\n\t0x00000002, 0x84E61631, 0xAE613904, 0x00000002, 0x002C628A, 0xA0013904,\n\t0x00000002, 0x84E61631, 0xAE613A04, 0x00000002, 0x002C6284, 0xA0013A04,\n\t0x00000002, 0x002C628A, 0xA0013A04, 0x00000002,\n\t// Block 43, offset 0xac0\n\t0x002C6284, 0x002C0A84, 0x00000003, 0x002C629C, 0x002E829C, 0x0029D09C,\n\t0x00000003, 0x002C629C, 0x002E829C, 0x0029D29C, 0x00000002, 0x002C6284,\n\t0x00312A84, 0x00000003, 0x002C6284, 0x00312A84, 0xA0004104, 0x00000003,\n\t0x002C628A, 0x00312A84, 0xA0004104, 0x00000003, 0x002C628A, 0x00312A8A,\n\t0xA0004104, 0x00000002, 0x002C6284, 0x00315084, 0x00000002, 0x002C6284,\n\t0x00316484, 0x00000002, 0x402C9820, 0xAE603202, 0x00000002, 0x002C9888,\n\t0xAE603202, 0x00000002, 0x402C9820, 0xAE603502, 0x00000002, 0x002C9888,\n\t0xAE603502, 0x00000002, 0x402C9820, 0xAE603702, 0x00000002, 0x002C9888,\n\t0xAE603702, 0x00000002, 0x402C9820, 0xAE603C02, 0x00000002, 0x002C9888,\n\t0xAE603C02, 0x00000003, 0x402C9820, 0xAE603C02, 0xAE603202, 0x00000003,\n\t0x002C9888, 0xAE603C02, 0xAE603202, 0x00000003,\n\t// Block 44, offset 0xb00\n\t0x402C9820, 0xAE603C02, 0xAE603502, 0x00000003, 0x002C9888, 0xAE603C02,\n\t0xAE603502, 0x00000003, 0x402C9820, 0xAE603C02, 0xAE604E02, 0x00000003,\n\t0x002C9888, 0xAE603C02, 0xAE604E02, 0x00000003, 0x402C9820, 0xAE603C02,\n\t0xAE606402, 0x00000003, 0x002C9888, 0xAE603C02, 0xAE606402, 0x00000002,\n\t0x402C9820, 0xAE604102, 0x00000002, 0x002C9888, 0xAE604102, 0x00000002,\n\t0x402C9820, 0xAE604702, 0x00000002, 0x002C9888, 0xAE604702, 0x00000002,\n\t0x402C9820, 0xAE604E02, 0x00000002, 0x002C9888, 0xAE604E02, 0x00000002,\n\t0x402C9820, 0xAE605202, 0x00000002, 0x002C9888, 0xAE605202, 0x00000002,\n\t0x402C9820, 0xACA05602, 0x00000002, 0x002C9888, 0xACA05602, 0x00000003,\n\t0x402C9820, 0xACA05602, 0xAE603702, 0x00000003, 0x002C9888, 0xACA05602,\n\t0xAE603702, 0x00000002, 0x402C9820, 0xACA05902,\n\t// Block 45, offset 0xb40\n\t0x00000002, 0x002C9888, 0xACA05902, 0x00000002, 0x402C9820, 0xAE605B02,\n\t0x00000002, 0x002C9888, 0xAE605B02, 0x00000003, 0x402C9820, 0xAE605B02,\n\t0xAE603202, 0x00000003, 0x002C9888, 0xAE605B02, 0xAE603202, 0x00000003,\n\t0x402C9820, 0xAE605B02, 0xAE603502, 0x00000003, 0x002C9888, 0xAE605B02,\n\t0xAE603502, 0x00000002, 0x402C9820, 0xAE606402, 0x00000002, 0x002C9888,\n\t0xAE606402, 0x00000002, 0x402C9820, 0xAE606502, 0x00000002, 0x002C9888,\n\t0xAE606502, 0x00000002, 0x402C9820, 0xAE606702, 0x00000002, 0x002C9888,\n\t0xAE606702, 0x00000002, 0x402C9820, 0xADC07002, 0x00000002, 0x002C9888,\n\t0xADC07002, 0x00000003, 0x402C9820, 0xADC07002, 0xAE603C02, 0x00000003,\n\t0x002C9888, 0xADC07002, 0xAE603C02, 0x00000002, 0x402C9820, 0xADC07802,\n\t0x00000002, 0x002C9888, 0xADC07802, 0x00000002,\n\t// Block 46, offset 0xb80\n\t0x402C9820, 0xADC07A02, 0x00000002, 0x002C9888, 0xADC07A02, 0x00000003,\n\t0x002C989C, 0x002F7A9C, 0x002D229C, 0x00000002, 0x402D0820, 0xAE605202,\n\t0x00000002, 0x002D0888, 0xAE605202, 0x00000002, 0x002D0884, 0xA0013A04,\n\t0x00000002, 0x002D088A, 0xA0013A04, 0x00000003, 0x002D088A, 0x002BDE8A,\n\t0x0030F68A, 0x00000003, 0x002D0884, 0x002D0884, 0x002D9A84, 0x00000003,\n\t0x002D0884, 0x002D0884, 0x002E2284, 0x00000002, 0x002D0884, 0x002EDA84,\n\t0x00000004, 0x002D089D, 0x002F7A9D, 0x002C989D, 0x002C989D, 0x00000002,\n\t0x402D2220, 0xAE603202, 0x00000002, 0x002D2288, 0xAE603202, 0x00000002,\n\t0x402D2220, 0xAE603702, 0x00000002, 0x002D2288, 0xAE603702, 0x00000002,\n\t0x402D2220, 0xAE603C02, 0x00000002, 0x002D2288, 0xAE603C02, 0x00000002,\n\t0x402D2220, 0xAE604102, 0x00000002, 0x002D2288,\n\t// Block 47, offset 0xbc0\n\t0xAE604102, 0x00000002, 0x402D2220, 0xAE605202, 0x00000002, 0x002D2288,\n\t0xAE605202, 0x00000002, 0x402D2220, 0xACA05602, 0x00000002, 0x002D2288,\n\t0xACA05602, 0x00000002, 0x402D2220, 0xAE605B02, 0x00000002, 0x002D2288,\n\t0xAE605B02, 0x00000002, 0x002D2284, 0xA0006104, 0x00000002, 0x002D228A,\n\t0xA0006104, 0x00000002, 0x002D2284, 0xA0013A04, 0x00000002, 0x002D228A,\n\t0xA0013A04, 0x00000003, 0x002D229C, 0x002BDE9C, 0x002E229C, 0x00000003,\n\t0x002D229D, 0x002D689D, 0x00312A9C, 0x00000003, 0x002D229D, 0x002F2C9D,\n\t0x002BDE9C, 0x00000002, 0x402D6820, 0xAE603C02, 0x00000002, 0x002D6888,\n\t0xAE603C02, 0x00000002, 0x402D6820, 0xAE604102, 0x00000002, 0x002D6888,\n\t0xAE604102, 0x00000002, 0x402D6820, 0xAE604702, 0x00000002, 0x002D6888,\n\t0xAE604702, 0x00000002, 0x402D6820, 0xAE605202,\n\t// Block 48, offset 0xc00\n\t0x00000002, 0x002D6888, 0xAE605202, 0x00000002, 0x402D6820, 0xACA05602,\n\t0x00000002, 0x002D6888, 0xACA05602, 0x00000002, 0x402D6820, 0xADC07002,\n\t0x00000002, 0x002D6888, 0xADC07002, 0x00000002, 0x402D6820, 0xADC07902,\n\t0x00000002, 0x002D6888, 0xADC07902, 0x00000002, 0x402D6820, 0xADC07B02,\n\t0x00000002, 0x402D6820, 0xA0007D02, 0x00000002, 0x002D6888, 0xA0007D02,\n\t0x00000003, 0x002D689C, 0x002F2C9D, 0x002BDE9C, 0x00000002, 0x402D9A20,\n\t0xAE603202, 0x00000002, 0x002D9A88, 0xAE603202, 0x00000002, 0x402D9A20,\n\t0xAE603502, 0x00000002, 0x002D9A88, 0xAE603502, 0x00000002, 0x402D9A20,\n\t0xAE603702, 0x00000002, 0x002D9A88, 0xAE603702, 0x00000002, 0x402D9A20,\n\t0xAE603C02, 0x00000002, 0x002D9A88, 0xAE603C02, 0x00000002, 0x402D9A20,\n\t0xAE604102, 0x00000002, 0x002D9A88, 0xAE604102,\n\t// Block 49, offset 0xc40\n\t0x00000002, 0x402D9A20, 0xAE604702, 0x00000002, 0x002D9A88, 0xAE604702,\n\t0x00000003, 0x402D9A20, 0xAE604702, 0xAE603202, 0x00000003, 0x002D9A88,\n\t0xAE604702, 0xAE603202, 0x00000002, 0x402D9A20, 0xAE604E02, 0x00000002,\n\t0x002D9A88, 0xAE604E02, 0x00000002, 0x002D9A88, 0xAE605202, 0x00000002,\n\t0x402D9A20, 0xACA05902, 0x00000002, 0x002D9A88, 0xACA05902, 0x00000002,\n\t0x402D9A20, 0xAE605B02, 0x00000002, 0x002D9A88, 0xAE605B02, 0x00000002,\n\t0x402D9A20, 0xAE606402, 0x00000002, 0x002D9A88, 0xAE606402, 0x00000002,\n\t0x402D9A20, 0xAE606502, 0x00000002, 0x002D9A88, 0xAE606502, 0x00000002,\n\t0x402D9A20, 0xAE606702, 0x00000002, 0x002D9A88, 0xAE606702, 0x00000002,\n\t0x402D9A20, 0xADC07002, 0x00000002, 0x002D9A88, 0xADC07002, 0x00000002,\n\t0x402D9A20, 0xADC07A02, 0x00000002, 0x002D9A88,\n\t// Block 50, offset 0xc80\n\t0xADC07A02, 0x00000002, 0x002D9A9D, 0x002C3A9D, 0x00000002, 0x002D9A9D,\n\t0x002C629D, 0x00000002, 0x402DCC20, 0xAE603C02, 0x00000002, 0x002DCC88,\n\t0xAE603C02, 0x00000002, 0x402DCC20, 0xAE604102, 0x00000002, 0x402DFE20,\n\t0xAE603202, 0x00000002, 0x002DFE88, 0xAE603202, 0x00000002, 0x402DFE20,\n\t0xAE604102, 0x00000002, 0x002DFE88, 0xAE604102, 0x00000002, 0x402DFE20,\n\t0xACA05602, 0x00000002, 0x002DFE88, 0xACA05602, 0x00000002, 0x002DFE84,\n\t0xA0006104, 0x00000002, 0x002DFE8A, 0xA0006104, 0x00000002, 0x402DFE20,\n\t0xADC07002, 0x00000002, 0x002DFE88, 0xADC07002, 0x00000002, 0x402DFE20,\n\t0xADC07B02, 0x00000002, 0x002DFE88, 0xADC07B02, 0x00000004, 0x002DFE9C,\n\t0x002C3A9C, 0x002BDE9C, 0x002E229C, 0x00000003, 0x002DFE9C, 0x002D689D,\n\t0x00312A9C, 0x00000003, 0x002DFE9C, 0x002E829C,\n\t// Block 51, offset 0xcc0\n\t0x0029D09C, 0x00000003, 0x002DFE9C, 0x002E829C, 0x0029D29C, 0x00000003,\n\t0x002DFE9C, 0x002F2C9D, 0x002BDE9C, 0x00000002, 0x402E2220, 0xAE603202,\n\t0x00000002, 0x002E2288, 0xAE603202, 0x00000002, 0x402E2220, 0xAE604102,\n\t0x00000002, 0x002E2288, 0xAE604102, 0x00000002, 0x402E2220, 0xACA05602,\n\t0x00000002, 0x002E2288, 0xACA05602, 0x00000002, 0x402E2220, 0xADC07002,\n\t0x00000002, 0x002E2288, 0xADC07002, 0x00000003, 0x402E2220, 0xADC07002,\n\t0xAE605B02, 0x00000003, 0x002E2288, 0xADC07002, 0xAE605B02, 0x00000002,\n\t0x402E2220, 0xADC07802, 0x00000002, 0x002E2288, 0xADC07802, 0x00000002,\n\t0x402E2220, 0xADC07B02, 0x00000002, 0x002E2288, 0xADC07B02, 0x00000002,\n\t0x402E2220, 0xA0007D02, 0x00000002, 0x002E2288, 0xA0007D02, 0x00000002,\n\t0x402E2220, 0xA0013902, 0x00000002, 0x402E2220,\n\t// Block 52, offset 0xd00\n\t0xA0013902, 0x00000002, 0x002E2288, 0xA0013902, 0x00000002, 0x002E2288,\n\t0xA0013902, 0x00000002, 0x002E2284, 0x002E2284, 0x00000002, 0x002E228A,\n\t0x002E228A, 0x00000003, 0x002E229C, 0x002EE29C, 0x002D229C, 0x00000002,\n\t0x002E2284, 0x002FE684, 0x00000003, 0x002E229D, 0x00302C9D, 0x002C629D,\n\t0x00000002, 0x002E2284, 0x00312A84, 0x00000002, 0x402E8220, 0xAE603202,\n\t0x00000002, 0x002E8288, 0xAE603202, 0x00000002, 0x402E8220, 0xAE605202,\n\t0x00000002, 0x002E8288, 0xAE605202, 0x00000002, 0x402E8220, 0xADC07002,\n\t0x00000002, 0x002E8288, 0xADC07002, 0x00000003, 0x002E829C, 0x0009569C,\n\t0x002FE69C, 0x00000004, 0x002E829C, 0x0009569C, 0x002FE69C, 0x0029D09C,\n\t0x00000003, 0x002E829D, 0x002D689D, 0x00312A9C, 0x00000003, 0x002E829C,\n\t0x002D9A9C, 0x002E229C, 0x00000003, 0x002E829C,\n\t// Block 53, offset 0xd40\n\t0x002E829C, 0x0029D09C, 0x00000003, 0x002E829C, 0x002E829C, 0x0029D29C,\n\t0x00000003, 0x002E829C, 0x002EE29C, 0x002E229C, 0x00000003, 0x002E829D,\n\t0x002F2C9D, 0x002BDE9C, 0x00000002, 0x402E9E20, 0xAE603202, 0x00000002,\n\t0x002E9E88, 0xAE603202, 0x00000002, 0x402E9E20, 0xAE603502, 0x00000002,\n\t0x002E9E88, 0xAE603502, 0x00000002, 0x402E9E20, 0xAE604102, 0x00000002,\n\t0x002E9E88, 0xAE604102, 0x00000002, 0x402E9E20, 0xAE604E02, 0x00000002,\n\t0x002E9E88, 0xAE604E02, 0x00000002, 0x402E9E20, 0xAE605202, 0x00000002,\n\t0x002E9E88, 0xAE605202, 0x00000002, 0x402E9E20, 0xACA05602, 0x00000002,\n\t0x002E9E88, 0xACA05602, 0x00000002, 0x002E9E84, 0xA0006104, 0x00000002,\n\t0x002E9E8A, 0xA0006104, 0x00000002, 0x402E9E20, 0xADC07002, 0x00000002,\n\t0x002E9E88, 0xADC07002, 0x00000002, 0x402E9E20,\n\t// Block 54, offset 0xd80\n\t0xADC07802, 0x00000002, 0x002E9E88, 0xADC07802, 0x00000002, 0x402E9E20,\n\t0xADC07B02, 0x00000002, 0x002E9E88, 0xADC07B02, 0x00000003, 0x002E9E9D,\n\t0x002C989D, 0x0030E29D, 0x00000002, 0x002E9E9D, 0x002D229D, 0x00000002,\n\t0x402EE220, 0xAE603202, 0x00000002, 0x002EE288, 0xAE603202, 0x00000002,\n\t0x402EE220, 0xAE603502, 0x00000002, 0x002EE288, 0xAE603502, 0x00000002,\n\t0x402EE220, 0xAE603702, 0x00000002, 0x002EE288, 0xAE603702, 0x00000002,\n\t0x402EE220, 0xAE603C02, 0x00000002, 0x002EE288, 0xAE603C02, 0x00000003,\n\t0x402EE220, 0xAE603C02, 0xAE603202, 0x00000003, 0x002EE288, 0xAE603C02,\n\t0xAE603202, 0x00000003, 0x402EE220, 0xAE603C02, 0xAE603502, 0x00000003,\n\t0x002EE288, 0xAE603C02, 0xAE603502, 0x00000003, 0x402EE220, 0xAE603C02,\n\t0xAE604E02, 0x00000003, 0x002EE288, 0xAE603C02,\n\t// Block 55, offset 0xdc0\n\t0xAE604E02, 0x00000003, 0x402EE220, 0xAE603C02, 0xAE606402, 0x00000003,\n\t0x002EE288, 0xAE603C02, 0xAE606402, 0x00000002, 0x402EE220, 0xAE604102,\n\t0x00000002, 0x002EE288, 0xAE604102, 0x00000002, 0x402EE220, 0xAE604702,\n\t0x00000002, 0x002EE288, 0xAE604702, 0x00000003, 0x402EE220, 0xAE604702,\n\t0xAE605B02, 0x00000003, 0x002EE288, 0xAE604702, 0xAE605B02, 0x00000002,\n\t0x402EE220, 0xAE604D02, 0x00000002, 0x002EE288, 0xAE604D02, 0x00000002,\n\t0x402EE220, 0xAE604E02, 0x00000002, 0x002EE288, 0xAE604E02, 0x00000003,\n\t0x402EE220, 0xAE604E02, 0xAE603202, 0x00000003, 0x002EE288, 0xAE604E02,\n\t0xAE603202, 0x00000003, 0x402EE220, 0xAE604E02, 0xAE604702, 0x00000003,\n\t0x002EE288, 0xAE604E02, 0xAE604702, 0x00000003, 0x402EE220, 0xAE604E02,\n\t0xAE605B02, 0x00000003, 0x002EE288, 0xAE604E02,\n\t// Block 56, offset 0xe00\n\t0xAE605B02, 0x00000002, 0x402EE220, 0xAE605202, 0x00000002, 0x002EE288,\n\t0xAE605202, 0x00000003, 0x402EE220, 0xAE605202, 0xAE605B02, 0x00000003,\n\t0x002EE288, 0xAE605202, 0xAE605B02, 0x00000002, 0x402EE220, 0xA0005402,\n\t0x00000002, 0x002EE288, 0xA0005402, 0x00000003, 0x402EE220, 0xA0005402,\n\t0xAE603202, 0x00000003, 0x002EE288, 0xA0005402, 0xAE603202, 0x00000002,\n\t0x402EE220, 0xACA05902, 0x00000002, 0x002EE288, 0xACA05902, 0x00000003,\n\t0x402EE220, 0xACA05902, 0xAE605B02, 0x00000003, 0x002EE288, 0xACA05902,\n\t0xAE605B02, 0x00000002, 0x402EE220, 0xAE605B02, 0x00000002, 0x002EE288,\n\t0xAE605B02, 0x00000003, 0x402EE220, 0xAE605B02, 0xAE603202, 0x00000003,\n\t0x002EE288, 0xAE605B02, 0xAE603202, 0x00000003, 0x402EE220, 0xAE605B02,\n\t0xAE603502, 0x00000003, 0x002EE288, 0xAE605B02,\n\t// Block 57, offset 0xe40\n\t0xAE603502, 0x00000002, 0x402EE220, 0xAE606402, 0x00000002, 0x002EE288,\n\t0xAE606402, 0x00000002, 0x402EE220, 0xAE606502, 0x00000002, 0x002EE288,\n\t0xAE606502, 0x00000002, 0x402EE220, 0xAE606702, 0x00000002, 0x002EE288,\n\t0xAE606702, 0x00000002, 0x402EE220, 0xAD806802, 0x00000002, 0x002EE288,\n\t0xAD806802, 0x00000003, 0x402EE220, 0xAD806802, 0xAE603202, 0x00000003,\n\t0x002EE288, 0xAD806802, 0xAE603202, 0x00000003, 0x402EE220, 0xAD806802,\n\t0xAE603502, 0x00000003, 0x002EE288, 0xAD806802, 0xAE603502, 0x00000003,\n\t0x402EE220, 0xAD806802, 0xAE604E02, 0x00000003, 0x002EE288, 0xAD806802,\n\t0xAE604E02, 0x00000003, 0x402EE220, 0xAD806802, 0xAE606402, 0x00000003,\n\t0x002EE288, 0xAD806802, 0xAE606402, 0x00000003, 0x402EE220, 0xAD806802,\n\t0xADC07002, 0x00000003, 0x002EE288, 0xAD806802,\n\t// Block 58, offset 0xe80\n\t0xADC07002, 0x00000002, 0x402EE220, 0xADC07002, 0x00000002, 0x002EE288,\n\t0xADC07002, 0x00000003, 0x402EE220, 0xADC07002, 0xAE603C02, 0x00000003,\n\t0x002EE288, 0xADC07002, 0xAE603C02, 0x00000003, 0x002EE284, 0xA0013904,\n\t0x002C9884, 0x00000003, 0x002EE28A, 0xA0013904, 0x002C988A, 0x00000003,\n\t0x002EE294, 0xA0013914, 0x002C9894, 0x00000002, 0x002EE29D, 0x002DFE9D,\n\t0x00000002, 0x002EE284, 0x002EE284, 0x00000002, 0x002EE28A, 0x002EE28A,\n\t0x00000002, 0x402F2C20, 0xAE603202, 0x00000002, 0x002F2C88, 0xAE603202,\n\t0x00000002, 0x402F2C20, 0xAE605202, 0x00000002, 0x002F2C88, 0xAE605202,\n\t0x00000004, 0x002F2C9C, 0x0002E49C, 0x002E829C, 0x0002E49C, 0x00000002,\n\t0x002F2C9D, 0x002BDE9D, 0x00000003, 0x002F2C9D, 0x002F2C9D, 0x002E829D,\n\t0x00000003, 0x002F2C9D, 0x002F2C9D, 0x0030BE9D,\n\t// Block 59, offset 0xec0\n\t0x00000003, 0x002F2C9D, 0x00302C9D, 0x002C989D, 0x00000002, 0x002F5684,\n\t0x002F2C84, 0x00000002, 0x402F7A20, 0xAE603202, 0x00000002, 0x002F7A88,\n\t0xAE603202, 0x00000002, 0x402F7A20, 0xAE604102, 0x00000002, 0x002F7A88,\n\t0xAE604102, 0x00000002, 0x402F7A20, 0xAE605202, 0x00000002, 0x002F7A88,\n\t0xAE605202, 0x00000002, 0x402F7A20, 0xACA05602, 0x00000002, 0x002F7A88,\n\t0xACA05602, 0x00000002, 0x002F7A84, 0xA0006104, 0x00000002, 0x002F7A8A,\n\t0xA0006104, 0x00000002, 0x402F7A20, 0xAE606502, 0x00000002, 0x002F7A88,\n\t0xAE606502, 0x00000002, 0x402F7A20, 0xAE606702, 0x00000002, 0x002F7A88,\n\t0xAE606702, 0x00000002, 0x402F7A20, 0xADC07002, 0x00000002, 0x002F7A88,\n\t0xADC07002, 0x00000003, 0x402F7A20, 0xADC07002, 0xAE605B02, 0x00000003,\n\t0x002F7A88, 0xADC07002, 0xAE605B02, 0x00000002,\n\t// Block 60, offset 0xf00\n\t0x402F7A20, 0xADC07B02, 0x00000002, 0x002F7A88, 0xADC07B02, 0x00000002,\n\t0x002F7A84, 0xA0013A04, 0x00000002, 0x002F7A8A, 0xA0013A04, 0x00000003,\n\t0x002F7A9C, 0x002BDE9C, 0x002C629C, 0x00000005, 0x002F7A9C, 0x002BDE9C,\n\t0x002C629C, 0x0009569C, 0x002FE69C, 0x00000006, 0x002F7A9C, 0x002BDE9C,\n\t0x002C629C, 0x0009569C, 0x002FE69C, 0x0029D09C, 0x00000002, 0x402FE620,\n\t0xAE603202, 0x00000002, 0x002FE688, 0xAE603202, 0x00000003, 0x402FE620,\n\t0xAE603202, 0xAE605202, 0x00000003, 0x002FE688, 0xAE603202, 0xAE605202,\n\t0x00000002, 0x402FE620, 0xAE603C02, 0x00000002, 0x002FE688, 0xAE603C02,\n\t0x00000002, 0x402FE620, 0xAE604102, 0x00000002, 0x002FE688, 0xAE604102,\n\t0x00000003, 0x402FE620, 0xAE604102, 0xAE605202, 0x00000003, 0x002FE688,\n\t0xAE604102, 0xAE605202, 0x00000002, 0x402FE620,\n\t// Block 61, offset 0xf40\n\t0xAE605202, 0x00000002, 0x002FE688, 0xAE605202, 0x00000002, 0x402FE620,\n\t0xACA05602, 0x00000002, 0x002FE688, 0xACA05602, 0x00000002, 0x002FE684,\n\t0xA0006104, 0x00000002, 0x002FE68A, 0xA0006104, 0x00000002, 0x402FE620,\n\t0xADC07002, 0x00000002, 0x002FE688, 0xADC07002, 0x00000003, 0x402FE620,\n\t0xADC07002, 0xAE605202, 0x00000003, 0x002FE688, 0xADC07002, 0xAE605202,\n\t0x00000002, 0x402FE620, 0xADC07702, 0x00000002, 0x002FE688, 0xADC07702,\n\t0x00000002, 0x002FE684, 0xA0013A04, 0x00000002, 0x84E617F3, 0xAE613A04,\n\t0x00000002, 0x002FE684, 0xA0013A04, 0x00000002, 0x002FE68A, 0xA0013A04,\n\t0x00000003, 0x002FE684, 0xA0013A04, 0xAE605202, 0x00000002, 0x002FE69D,\n\t0x002BDE9D, 0x00000003, 0x002FE69D, 0x002EE29D, 0x002FE69D, 0x00000003,\n\t0x002FE684, 0xA0013904, 0x002FE684, 0x00000003,\n\t// Block 62, offset 0xf80\n\t0x002FE68A, 0xA0013904, 0x002FE68A, 0x00000003, 0x002FE684, 0xA0013A04,\n\t0x00302C84, 0x00000002, 0x40302C20, 0xAE604102, 0x00000002, 0x00302C88,\n\t0xAE604102, 0x00000002, 0x40302C20, 0xAE604702, 0x00000002, 0x40302C20,\n\t0xAE605202, 0x00000002, 0x00302C88, 0xAE605202, 0x00000002, 0x40302C20,\n\t0xACA05602, 0x00000002, 0x00302C88, 0xACA05602, 0x00000002, 0x40302C20,\n\t0xADC07002, 0x00000002, 0x00302C88, 0xADC07002, 0x00000002, 0x40302C20,\n\t0xADC07702, 0x00000002, 0x00302C88, 0xADC07702, 0x00000002, 0x40302C20,\n\t0xADC07802, 0x00000002, 0x00302C88, 0xADC07802, 0x00000002, 0x40302C20,\n\t0xADC07B02, 0x00000002, 0x00302C88, 0xADC07B02, 0x00000002, 0x00302C84,\n\t0xA0013A04, 0x00000002, 0x00302C8A, 0xA0013A04, 0x00000002, 0x00302C84,\n\t0x002C5684, 0x00000003, 0x00302C8A, 0x002C988A,\n\t// Block 63, offset 0xfc0\n\t0x002E228A, 0x00000003, 0x00302C84, 0xA0013904, 0x002D6884, 0x00000003,\n\t0x00302C9D, 0x002D689D, 0x00312A9C, 0x00000002, 0x00302C84, 0x002FE684,\n\t0x00000002, 0x00302C84, 0x002FE684, 0x00000002, 0x00302C84, 0x00300884,\n\t0x00000002, 0x00302C84, 0x00312A84, 0x00000002, 0x00302C8A, 0x00312A84,\n\t0x00000002, 0x40306C20, 0xAE603202, 0x00000002, 0x00306C88, 0xAE603202,\n\t0x00000002, 0x40306C20, 0xAE603502, 0x00000002, 0x00306C88, 0xAE603502,\n\t0x00000002, 0x40306C20, 0xAE603702, 0x00000002, 0x00306C88, 0xAE603702,\n\t0x00000002, 0x40306C20, 0xAE603C02, 0x00000002, 0x00306C88, 0xAE603C02,\n\t0x00000002, 0x40306C20, 0xAE604102, 0x00000002, 0x00306C88, 0xAE604102,\n\t0x00000002, 0x40306C20, 0xAE604302, 0x00000002, 0x00306C88, 0xAE604302,\n\t0x00000002, 0x40306C20, 0xAE604702, 0x00000002,\n\t// Block 64, offset 0x1000\n\t0x00306C88, 0xAE604702, 0x00000003, 0x40306C20, 0xAE604702, 0xAE603202,\n\t0x00000003, 0x00306C88, 0xAE604702, 0xAE603202, 0x00000003, 0x40306C20,\n\t0xAE604702, 0xAE603502, 0x00000003, 0x00306C88, 0xAE604702, 0xAE603502,\n\t0x00000003, 0x40306C20, 0xAE604702, 0xAE604102, 0x00000003, 0x00306C88,\n\t0xAE604702, 0xAE604102, 0x00000003, 0x40306C20, 0xAE604702, 0xAE605B02,\n\t0x00000003, 0x00306C88, 0xAE604702, 0xAE605B02, 0x00000002, 0x40306C20,\n\t0xAE604D02, 0x00000002, 0x00306C88, 0xAE604D02, 0x00000002, 0x40306C20,\n\t0xAE604E02, 0x00000002, 0x00306C88, 0xAE604E02, 0x00000003, 0x40306C20,\n\t0xAE604E02, 0xAE603202, 0x00000003, 0x00306C88, 0xAE604E02, 0xAE603202,\n\t0x00000002, 0x40306C20, 0xACA05902, 0x00000002, 0x00306C88, 0xACA05902,\n\t0x00000002, 0x40306C20, 0xAE605B02, 0x00000002,\n\t// Block 65, offset 0x1040\n\t0x00306C88, 0xAE605B02, 0x00000003, 0x40306C20, 0xAE605B02, 0xAE604702,\n\t0x00000003, 0x00306C88, 0xAE605B02, 0xAE604702, 0x00000002, 0x40306C20,\n\t0xAE606402, 0x00000002, 0x00306C88, 0xAE606402, 0x00000002, 0x40306C20,\n\t0xAE606502, 0x00000002, 0x00306C88, 0xAE606502, 0x00000002, 0x40306C20,\n\t0xAE606702, 0x00000002, 0x00306C88, 0xAE606702, 0x00000002, 0x40306C20,\n\t0xAD806802, 0x00000002, 0x00306C88, 0xAD806802, 0x00000003, 0x40306C20,\n\t0xAD806802, 0xAE603202, 0x00000003, 0x00306C88, 0xAD806802, 0xAE603202,\n\t0x00000003, 0x40306C20, 0xAD806802, 0xAE603502, 0x00000003, 0x00306C88,\n\t0xAD806802, 0xAE603502, 0x00000003, 0x40306C20, 0xAD806802, 0xAE604E02,\n\t0x00000003, 0x00306C88, 0xAD806802, 0xAE604E02, 0x00000003, 0x40306C20,\n\t0xAD806802, 0xAE606402, 0x00000003, 0x00306C88,\n\t// Block 66, offset 0x1080\n\t0xAD806802, 0xAE606402, 0x00000003, 0x40306C20, 0xAD806802, 0xADC07002,\n\t0x00000003, 0x00306C88, 0xAD806802, 0xADC07002, 0x00000002, 0x40306C20,\n\t0xADC07002, 0x00000002, 0x00306C88, 0xADC07002, 0x00000002, 0x40306C20,\n\t0xADC07502, 0x00000002, 0x00306C88, 0xADC07502, 0x00000002, 0x40306C20,\n\t0xADC07802, 0x00000002, 0x00306C88, 0xADC07802, 0x00000002, 0x40306C20,\n\t0xADC07A02, 0x00000002, 0x00306C88, 0xADC07A02, 0x00000003, 0x00306C9D,\n\t0x002F2C9D, 0x0002BA9C, 0x00000002, 0x4030BE20, 0xAE604E02, 0x00000002,\n\t0x0030BE88, 0xAE604E02, 0x00000002, 0x4030BE20, 0xADC07002, 0x00000002,\n\t0x0030BE88, 0xADC07002, 0x00000003, 0x0030BE9D, 0x0009569C, 0x002E829C,\n\t0x00000004, 0x0030BE84, 0x002D9A84, 0x002D9A84, 0x002D9A9F, 0x00000004,\n\t0x0030BE8A, 0x002D9A8A, 0x002D9A8A, 0x002D9A9F,\n\t// Block 67, offset 0x10c0\n\t0x00000002, 0x0030BE9D, 0x002FE69D, 0x00000002, 0x0030BE84, 0x00310084,\n\t0x00000002, 0x0030BE8A, 0x0031008A, 0x00000002, 0x4030E220, 0xAE603202,\n\t0x00000002, 0x0030E288, 0xAE603202, 0x00000002, 0x4030E220, 0xAE603502,\n\t0x00000002, 0x0030E288, 0xAE603502, 0x00000002, 0x4030E220, 0xAE603C02,\n\t0x00000002, 0x0030E288, 0xAE603C02, 0x00000002, 0x4030E220, 0xAE604302,\n\t0x00000002, 0x4030E220, 0xAE604702, 0x00000002, 0x0030E288, 0xAE604702,\n\t0x00000002, 0x4030E220, 0xAE605202, 0x00000002, 0x0030E288, 0xAE605202,\n\t0x00000002, 0x4030E220, 0xADC07002, 0x00000002, 0x0030E288, 0xADC07002,\n\t0x00000002, 0x0030E29D, 0x002C3A9D, 0x00000002, 0x4030F620, 0xAE604702,\n\t0x00000002, 0x0030F688, 0xAE604702, 0x00000002, 0x4030F620, 0xAE605202,\n\t0x00000002, 0x0030F688, 0xAE605202, 0x00000002,\n\t// Block 68, offset 0x1100\n\t0x40310020, 0xAE603202, 0x00000002, 0x00310088, 0xAE603202, 0x00000002,\n\t0x40310020, 0xAE603502, 0x00000002, 0x00310088, 0xAE603502, 0x00000002,\n\t0x40310020, 0xAE603C02, 0x00000002, 0x00310088, 0xAE603C02, 0x00000002,\n\t0x40310020, 0xAE604302, 0x00000002, 0x40310020, 0xAE604702, 0x00000002,\n\t0x00310088, 0xAE604702, 0x00000002, 0x40310020, 0xAE604E02, 0x00000002,\n\t0x00310088, 0xAE604E02, 0x00000002, 0x40310020, 0xAE605202, 0x00000002,\n\t0x00310088, 0xAE605202, 0x00000002, 0x40310020, 0xAE605B02, 0x00000002,\n\t0x00310088, 0xAE605B02, 0x00000002, 0x40310020, 0xAE606402, 0x00000002,\n\t0x00310088, 0xAE606402, 0x00000002, 0x40310020, 0xADC07002, 0x00000002,\n\t0x00310088, 0xADC07002, 0x00000002, 0x40312A20, 0xAE603202, 0x00000002,\n\t0x00312A88, 0xAE603202, 0x00000002, 0x40312A20,\n\t// Block 69, offset 0x1140\n\t0xAE603C02, 0x00000002, 0x00312A88, 0xAE603C02, 0x00000002, 0x40312A20,\n\t0xAE604102, 0x00000002, 0x00312A88, 0xAE604102, 0x00000002, 0x40312A20,\n\t0xAE605202, 0x00000002, 0x00312A88, 0xAE605202, 0x00000002, 0x40312A20,\n\t0xADC07002, 0x00000002, 0x00312A88, 0xADC07002, 0x00000002, 0x40312A20,\n\t0xADC07B02, 0x00000002, 0x00312A88, 0xADC07B02, 0x00000002, 0x00312A84,\n\t0x0030E284, 0x00000002, 0x40316420, 0xAE604102, 0x00000002, 0x00316488,\n\t0xAE604102, 0x00000002, 0x40325220, 0xAE602202, 0x00000002, 0x00325288,\n\t0xAE602202, 0x00000003, 0x40325220, 0xAE602202, 0xAE603202, 0x00000003,\n\t0x00325288, 0xAE602202, 0xAE603202, 0x00000004, 0x40325220, 0xAE602202,\n\t0xAE603202, 0xAF007F02, 0x00000004, 0x00325288, 0xAE602202, 0xAE603202,\n\t0xAF007F02, 0x00000003, 0x40325220, 0xAE602202,\n\t// Block 70, offset 0x1180\n\t0xAE603502, 0x00000003, 0x00325288, 0xAE602202, 0xAE603502, 0x00000004,\n\t0x40325220, 0xAE602202, 0xAE603502, 0xAF007F02, 0x00000004, 0x00325288,\n\t0xAE602202, 0xAE603502, 0xAF007F02, 0x00000003, 0x40325220, 0xAE602202,\n\t0xAE604502, 0x00000003, 0x00325288, 0xAE602202, 0xAE604502, 0x00000004,\n\t0x40325220, 0xAE602202, 0xAE604502, 0xAF007F02, 0x00000004, 0x00325288,\n\t0xAE602202, 0xAE604502, 0xAF007F02, 0x00000003, 0x40325220, 0xAE602202,\n\t0xAF007F02, 0x00000003, 0x00325288, 0xAE602202, 0xAF007F02, 0x00000002,\n\t0x40325220, 0xAE602A02, 0x00000002, 0x00325288, 0xAE602A02, 0x00000003,\n\t0x40325220, 0xAE602A02, 0xAE603202, 0x00000003, 0x00325288, 0xAE602A02,\n\t0xAE603202, 0x00000004, 0x40325220, 0xAE602A02, 0xAE603202, 0xAF007F02,\n\t0x00000004, 0x00325288, 0xAE602A02, 0xAE603202,\n\t// Block 71, offset 0x11c0\n\t0xAF007F02, 0x00000003, 0x40325220, 0xAE602A02, 0xAE603502, 0x00000003,\n\t0x00325288, 0xAE602A02, 0xAE603502, 0x00000004, 0x40325220, 0xAE602A02,\n\t0xAE603502, 0xAF007F02, 0x00000004, 0x00325288, 0xAE602A02, 0xAE603502,\n\t0xAF007F02, 0x00000003, 0x40325220, 0xAE602A02, 0xAE604502, 0x00000003,\n\t0x00325288, 0xAE602A02, 0xAE604502, 0x00000004, 0x40325220, 0xAE602A02,\n\t0xAE604502, 0xAF007F02, 0x00000004, 0x00325288, 0xAE602A02, 0xAE604502,\n\t0xAF007F02, 0x00000003, 0x40325220, 0xAE602A02, 0xAF007F02, 0x00000003,\n\t0x00325288, 0xAE602A02, 0xAF007F02, 0x00000002, 0x40325220, 0xAE603202,\n\t0x00000002, 0x00325288, 0xAE603202, 0x00000003, 0x40325220, 0xAE603202,\n\t0xAF007F02, 0x00000002, 0x40325220, 0xAE603502, 0x00000002, 0x00325288,\n\t0xAE603502, 0x00000003, 0x40325220, 0xAE603502,\n\t// Block 72, offset 0x1200\n\t0xAF007F02, 0x00000002, 0x40325220, 0xAE603702, 0x00000002, 0x00325288,\n\t0xAE603702, 0x00000002, 0x40325220, 0xAE604502, 0x00000003, 0x40325220,\n\t0xAE604502, 0xAF007F02, 0x00000002, 0x40325220, 0xAE605B02, 0x00000002,\n\t0x00325288, 0xAE605B02, 0x00000002, 0x40325220, 0xAF007F02, 0x00000002,\n\t0x00325288, 0xAF007F02, 0x00000002, 0x40325C20, 0xAE602202, 0x00000002,\n\t0x00325C88, 0xAE602202, 0x00000003, 0x40325C20, 0xAE602202, 0xAE603202,\n\t0x00000003, 0x00325C88, 0xAE602202, 0xAE603202, 0x00000003, 0x40325C20,\n\t0xAE602202, 0xAE603502, 0x00000003, 0x00325C88, 0xAE602202, 0xAE603502,\n\t0x00000002, 0x40325C20, 0xAE602A02, 0x00000002, 0x00325C88, 0xAE602A02,\n\t0x00000003, 0x40325C20, 0xAE602A02, 0xAE603202, 0x00000003, 0x00325C88,\n\t0xAE602A02, 0xAE603202, 0x00000003, 0x40325C20,\n\t// Block 73, offset 0x1240\n\t0xAE602A02, 0xAE603502, 0x00000003, 0x00325C88, 0xAE602A02, 0xAE603502,\n\t0x00000002, 0x40325C20, 0xAE603202, 0x00000002, 0x00325C88, 0xAE603202,\n\t0x00000002, 0x40325C20, 0xAE603502, 0x00000002, 0x00325C88, 0xAE603502,\n\t0x00000002, 0x40326820, 0xAE602202, 0x00000002, 0x00326888, 0xAE602202,\n\t0x00000003, 0x40326820, 0xAE602202, 0xAE603202, 0x00000003, 0x00326888,\n\t0xAE602202, 0xAE603202, 0x00000004, 0x40326820, 0xAE602202, 0xAE603202,\n\t0xAF007F02, 0x00000004, 0x00326888, 0xAE602202, 0xAE603202, 0xAF007F02,\n\t0x00000003, 0x40326820, 0xAE602202, 0xAE603502, 0x00000003, 0x00326888,\n\t0xAE602202, 0xAE603502, 0x00000004, 0x40326820, 0xAE602202, 0xAE603502,\n\t0xAF007F02, 0x00000004, 0x00326888, 0xAE602202, 0xAE603502, 0xAF007F02,\n\t0x00000003, 0x40326820, 0xAE602202, 0xAE604502,\n\t// Block 74, offset 0x1280\n\t0x00000003, 0x00326888, 0xAE602202, 0xAE604502, 0x00000004, 0x40326820,\n\t0xAE602202, 0xAE604502, 0xAF007F02, 0x00000004, 0x00326888, 0xAE602202,\n\t0xAE604502, 0xAF007F02, 0x00000003, 0x40326820, 0xAE602202, 0xAF007F02,\n\t0x00000003, 0x00326888, 0xAE602202, 0xAF007F02, 0x00000002, 0x40326820,\n\t0xAE602A02, 0x00000002, 0x00326888, 0xAE602A02, 0x00000003, 0x40326820,\n\t0xAE602A02, 0xAE603202, 0x00000003, 0x00326888, 0xAE602A02, 0xAE603202,\n\t0x00000004, 0x40326820, 0xAE602A02, 0xAE603202, 0xAF007F02, 0x00000004,\n\t0x00326888, 0xAE602A02, 0xAE603202, 0xAF007F02, 0x00000003, 0x40326820,\n\t0xAE602A02, 0xAE603502, 0x00000003, 0x00326888, 0xAE602A02, 0xAE603502,\n\t0x00000004, 0x40326820, 0xAE602A02, 0xAE603502, 0xAF007F02, 0x00000004,\n\t0x00326888, 0xAE602A02, 0xAE603502, 0xAF007F02,\n\t// Block 75, offset 0x12c0\n\t0x00000003, 0x40326820, 0xAE602A02, 0xAE604502, 0x00000003, 0x00326888,\n\t0xAE602A02, 0xAE604502, 0x00000004, 0x40326820, 0xAE602A02, 0xAE604502,\n\t0xAF007F02, 0x00000004, 0x00326888, 0xAE602A02, 0xAE604502, 0xAF007F02,\n\t0x00000003, 0x40326820, 0xAE602A02, 0xAF007F02, 0x00000003, 0x00326888,\n\t0xAE602A02, 0xAF007F02, 0x00000002, 0x40326820, 0xAE603202, 0x00000002,\n\t0x00326888, 0xAE603202, 0x00000003, 0x40326820, 0xAE603202, 0xAF007F02,\n\t0x00000002, 0x40326820, 0xAE603502, 0x00000002, 0x00326888, 0xAE603502,\n\t0x00000003, 0x40326820, 0xAE603502, 0xAF007F02, 0x00000002, 0x40326820,\n\t0xAE604502, 0x00000003, 0x40326820, 0xAE604502, 0xAF007F02, 0x00000002,\n\t0x40326820, 0xAF007F02, 0x00000002, 0x00326888, 0xAF007F02, 0x00000002,\n\t0x40326C20, 0xAE602202, 0x00000002, 0x00326C88,\n\t// Block 76, offset 0x1300\n\t0xAE602202, 0x00000003, 0x40326C20, 0xAE602202, 0xAE603202, 0x00000003,\n\t0x00326C88, 0xAE602202, 0xAE603202, 0x00000003, 0x40326C20, 0xAE602202,\n\t0xAE603502, 0x00000003, 0x00326C88, 0xAE602202, 0xAE603502, 0x00000003,\n\t0x40326C20, 0xAE602202, 0xAE604502, 0x00000003, 0x00326C88, 0xAE602202,\n\t0xAE604502, 0x00000002, 0x40326C20, 0xAE602A02, 0x00000002, 0x00326C88,\n\t0xAE602A02, 0x00000003, 0x40326C20, 0xAE602A02, 0xAE603202, 0x00000003,\n\t0x00326C88, 0xAE602A02, 0xAE603202, 0x00000003, 0x40326C20, 0xAE602A02,\n\t0xAE603502, 0x00000003, 0x00326C88, 0xAE602A02, 0xAE603502, 0x00000003,\n\t0x40326C20, 0xAE602A02, 0xAE604502, 0x00000003, 0x00326C88, 0xAE602A02,\n\t0xAE604502, 0x00000002, 0x40326C20, 0xAE603202, 0x00000002, 0x00326C88,\n\t0xAE603202, 0x00000002, 0x40326C20, 0xAE603502,\n\t// Block 77, offset 0x1340\n\t0x00000002, 0x00326C88, 0xAE603502, 0x00000002, 0x40326C20, 0xAE603702,\n\t0x00000002, 0x00326C88, 0xAE603702, 0x00000002, 0x40326C20, 0xAE604502,\n\t0x00000002, 0x40326C20, 0xAE604702, 0x00000002, 0x00326C88, 0xAE604702,\n\t0x00000003, 0x40326C20, 0xAE604702, 0xAE603202, 0x00000003, 0x40326C20,\n\t0xAE604702, 0xAE603502, 0x00000003, 0x40326C20, 0xAE604702, 0xAE604502,\n\t0x00000002, 0x40326C20, 0xAE605B02, 0x00000002, 0x00326C88, 0xAE605B02,\n\t0x00000003, 0x00327084, 0x00325284, 0x00326C84, 0x00000003, 0x0032708A,\n\t0x00325284, 0x00326C84, 0x00000002, 0x40327C20, 0xAE602202, 0x00000002,\n\t0x00327C88, 0xAE602202, 0x00000003, 0x40327C20, 0xAE602202, 0xAE603202,\n\t0x00000003, 0x00327C88, 0xAE602202, 0xAE603202, 0x00000003, 0x40327C20,\n\t0xAE602202, 0xAE603502, 0x00000003, 0x00327C88,\n\t// Block 78, offset 0x1380\n\t0xAE602202, 0xAE603502, 0x00000002, 0x40327C20, 0xAE602A02, 0x00000002,\n\t0x00327C88, 0xAE602A02, 0x00000003, 0x40327C20, 0xAE602A02, 0xAE603202,\n\t0x00000003, 0x00327C88, 0xAE602A02, 0xAE603202, 0x00000003, 0x40327C20,\n\t0xAE602A02, 0xAE603502, 0x00000003, 0x00327C88, 0xAE602A02, 0xAE603502,\n\t0x00000002, 0x40327C20, 0xAE603202, 0x00000002, 0x00327C88, 0xAE603202,\n\t0x00000002, 0x40327C20, 0xAE603502, 0x00000002, 0x00327C88, 0xAE603502,\n\t0x00000002, 0x40328820, 0xAE602202, 0x00000002, 0x40328820, 0xAE602A02,\n\t0x00000002, 0x00328888, 0xAE602A02, 0x00000002, 0x40329820, 0xAE602202,\n\t0x00000003, 0x40329820, 0xAE602202, 0xAE603202, 0x00000003, 0x40329820,\n\t0xAE602202, 0xAE603502, 0x00000003, 0x40329820, 0xAE602202, 0xAE604502,\n\t0x00000002, 0x40329820, 0xAE602A02, 0x00000002,\n\t// Block 79, offset 0x13c0\n\t0x00329888, 0xAE602A02, 0x00000003, 0x40329820, 0xAE602A02, 0xAE603202,\n\t0x00000003, 0x00329888, 0xAE602A02, 0xAE603202, 0x00000003, 0x40329820,\n\t0xAE602A02, 0xAE603502, 0x00000003, 0x00329888, 0xAE602A02, 0xAE603502,\n\t0x00000003, 0x40329820, 0xAE602A02, 0xAE604502, 0x00000003, 0x00329888,\n\t0xAE602A02, 0xAE604502, 0x00000002, 0x40329820, 0xAE603202, 0x00000002,\n\t0x00329888, 0xAE603202, 0x00000002, 0x40329820, 0xAE603502, 0x00000002,\n\t0x00329888, 0xAE603502, 0x00000002, 0x40329820, 0xAE603702, 0x00000002,\n\t0x00329888, 0xAE603702, 0x00000002, 0x40329820, 0xAE604502, 0x00000002,\n\t0x40329820, 0xAE604702, 0x00000002, 0x00329888, 0xAE604702, 0x00000003,\n\t0x40329820, 0xAE604702, 0xAE603202, 0x00000003, 0x40329820, 0xAE604702,\n\t0xAE603502, 0x00000003, 0x40329820, 0xAE604702,\n\t// Block 80, offset 0x1400\n\t0xAE604502, 0x00000002, 0x40329820, 0xAE605B02, 0x00000002, 0x00329888,\n\t0xAE605B02, 0x00000002, 0x4032A220, 0xAE602202, 0x00000002, 0x0032A288,\n\t0xAE602202, 0x00000003, 0x4032A220, 0xAE602202, 0xAE603202, 0x00000003,\n\t0x0032A288, 0xAE602202, 0xAE603202, 0x00000004, 0x4032A220, 0xAE602202,\n\t0xAE603202, 0xAF007F02, 0x00000004, 0x0032A288, 0xAE602202, 0xAE603202,\n\t0xAF007F02, 0x00000003, 0x4032A220, 0xAE602202, 0xAE603502, 0x00000003,\n\t0x0032A288, 0xAE602202, 0xAE603502, 0x00000004, 0x4032A220, 0xAE602202,\n\t0xAE603502, 0xAF007F02, 0x00000004, 0x0032A288, 0xAE602202, 0xAE603502,\n\t0xAF007F02, 0x00000003, 0x4032A220, 0xAE602202, 0xAE604502, 0x00000003,\n\t0x0032A288, 0xAE602202, 0xAE604502, 0x00000004, 0x4032A220, 0xAE602202,\n\t0xAE604502, 0xAF007F02, 0x00000004, 0x0032A288,\n\t// Block 81, offset 0x1440\n\t0xAE602202, 0xAE604502, 0xAF007F02, 0x00000003, 0x4032A220, 0xAE602202,\n\t0xAF007F02, 0x00000003, 0x0032A288, 0xAE602202, 0xAF007F02, 0x00000002,\n\t0x4032A220, 0xAE602A02, 0x00000002, 0x0032A288, 0xAE602A02, 0x00000003,\n\t0x4032A220, 0xAE602A02, 0xAE603202, 0x00000003, 0x0032A288, 0xAE602A02,\n\t0xAE603202, 0x00000004, 0x4032A220, 0xAE602A02, 0xAE603202, 0xAF007F02,\n\t0x00000004, 0x0032A288, 0xAE602A02, 0xAE603202, 0xAF007F02, 0x00000003,\n\t0x4032A220, 0xAE602A02, 0xAE603502, 0x00000003, 0x0032A288, 0xAE602A02,\n\t0xAE603502, 0x00000004, 0x4032A220, 0xAE602A02, 0xAE603502, 0xAF007F02,\n\t0x00000004, 0x0032A288, 0xAE602A02, 0xAE603502, 0xAF007F02, 0x00000003,\n\t0x4032A220, 0xAE602A02, 0xAE604502, 0x00000003, 0x0032A288, 0xAE602A02,\n\t0xAE604502, 0x00000004, 0x4032A220, 0xAE602A02,\n\t// Block 82, offset 0x1480\n\t0xAE604502, 0xAF007F02, 0x00000004, 0x0032A288, 0xAE602A02, 0xAE604502,\n\t0xAF007F02, 0x00000003, 0x4032A220, 0xAE602A02, 0xAF007F02, 0x00000003,\n\t0x0032A288, 0xAE602A02, 0xAF007F02, 0x00000002, 0x4032A220, 0xAE603202,\n\t0x00000002, 0x0032A288, 0xAE603202, 0x00000003, 0x4032A220, 0xAE603202,\n\t0xAF007F02, 0x00000002, 0x4032A220, 0xAE603502, 0x00000002, 0x0032A288,\n\t0xAE603502, 0x00000003, 0x4032A220, 0xAE603502, 0xAF007F02, 0x00000002,\n\t0x4032A220, 0xAE604502, 0x00000003, 0x4032A220, 0xAE604502, 0xAF007F02,\n\t0x00000002, 0x4032A220, 0xAF007F02, 0x00000002, 0x0032A288, 0xAF007F02,\n\t0x00000003, 0x0032C084, 0x0032AA84, 0x0032BE84, 0x00000002, 0x00336284,\n\t0xA0013A04, 0x00000002, 0x0033628A, 0xA0013A04, 0x00000002, 0x4033B220,\n\t0xAE603502, 0x00000002, 0x0033B288, 0xAE603502,\n\t// Block 83, offset 0x14c0\n\t0x00000002, 0x4033B220, 0xAE604702, 0x00000002, 0x0033B288, 0xAE604702,\n\t0x00000002, 0x4033CA20, 0xAE603702, 0x00000002, 0x0033CA88, 0xAE603702,\n\t0x00000002, 0x40341420, 0xAE603502, 0x00000002, 0x00341488, 0xAE603502,\n\t0x00000002, 0x40341420, 0xAE605B02, 0x00000002, 0x00341488, 0xAE605B02,\n\t0x00000002, 0x84E61A9D, 0x84E61AA6, 0x00000002, 0x40357220, 0xAE605B02,\n\t0x00000002, 0x00357288, 0xAE605B02, 0x00000002, 0x40389020, 0xA1108C02,\n\t0x00000002, 0x40389020, 0xA1208D02, 0x00000002, 0x40389020, 0xA1509202,\n\t0x00000002, 0x40389220, 0xA1509202, 0x00000002, 0x40389220, 0xA1709502,\n\t0x00000002, 0x40389420, 0xA1509202, 0x00000002, 0x40389620, 0xA1509202,\n\t0x00000002, 0x40389820, 0xA1509202, 0x00000002, 0x40389A20, 0xA1308E02,\n\t0x00000002, 0x40389A20, 0xA1509202, 0x00000002,\n\t// Block 84, offset 0x1500\n\t0x00389A84, 0x00389A84, 0x00000002, 0x00389A84, 0x0038A284, 0x00000002,\n\t0x40389C20, 0xA1509202, 0x00000002, 0x4038A020, 0xA1509202, 0x00000002,\n\t0x4038A220, 0xA0E08902, 0x00000002, 0x4038A220, 0xA1509202, 0x00000002,\n\t0x0038A284, 0x0038A284, 0x00000003, 0x0038A284, 0x0038A284, 0xA1108C02,\n\t0x00000002, 0x4038A420, 0xA1509202, 0x00000002, 0x0038A499, 0xA1509202,\n\t0x00000002, 0x4038A420, 0xA1709502, 0x00000002, 0x4038A620, 0xA1509202,\n\t0x00000002, 0x4038A820, 0xA1509202, 0x00000002, 0x4038AA20, 0xA1509202,\n\t0x00000002, 0x4038AC20, 0xA1509202, 0x00000002, 0x4038B020, 0xA1509202,\n\t0x00000002, 0x0038B099, 0xA1509202, 0x00000002, 0x4038B020, 0xA1709502,\n\t0x00000002, 0x4038B220, 0xA1509202, 0x00000002, 0x4038B420, 0xA1509202,\n\t0x00000002, 0x4038B620, 0xA1509202, 0x00000002,\n\t// Block 85, offset 0x1540\n\t0x4038B820, 0xA1909002, 0x00000002, 0x4038B820, 0xA1809102, 0x00000002,\n\t0x4038B820, 0xA1509202, 0x00000003, 0x4038B820, 0xA1509202, 0xA1909002,\n\t0x00000003, 0x4038B820, 0xA1509202, 0xA1809102, 0x00000002, 0x4038BA20,\n\t0xA1509202, 0x00000002, 0x00391C84, 0xA0013A04, 0x00000002, 0x00393099,\n\t0x00393899, 0x00000002, 0x0039309A, 0x0039389A, 0x00000002, 0x00393097,\n\t0x00396497, 0x00000002, 0x0039309A, 0x0039649A, 0x00000002, 0x00393097,\n\t0x00397297, 0x00000002, 0x0039309A, 0x0039729A, 0x00000002, 0x00393097,\n\t0x00397497, 0x00000002, 0x00393099, 0x0039A499, 0x00000002, 0x00393099,\n\t0x0039A699, 0x00000002, 0x00393097, 0x003A4E97, 0x00000002, 0x00393098,\n\t0x003A4E98, 0x00000002, 0x00393099, 0x003A4E99, 0x00000002, 0x0039309A,\n\t0x003A4E9A, 0x00000002, 0x00393099, 0x003A5699,\n\t// Block 86, offset 0x1580\n\t0x00000002, 0x00393097, 0x003A6897, 0x00000002, 0x00393098, 0x003A6898,\n\t0x00000002, 0x00393099, 0x003A7299, 0x00000002, 0x0039309A, 0x003A729A,\n\t0x00000002, 0x00393099, 0x003A7499, 0x00000002, 0x0039309A, 0x003A749A,\n\t0x00000002, 0x00393099, 0x003A7A99, 0x00000002, 0x0039309A, 0x003A7A9A,\n\t0x00000002, 0x00393099, 0x003A7C99, 0x00000002, 0x0039309A, 0x003A7C9A,\n\t0x00000002, 0x00393099, 0x003A7E99, 0x00000002, 0x0039309A, 0x003A7E9A,\n\t0x00000002, 0x00393097, 0x003A8E97, 0x00000002, 0x00393099, 0x003A8E99,\n\t0x00000002, 0x00393099, 0x003A8E99, 0x00000002, 0x0039309A, 0x003A8E9A,\n\t0x00000002, 0x0039309A, 0x003A8E9A, 0x00000002, 0x00393099, 0x003A9099,\n\t0x00000002, 0x0039309A, 0x003A909A, 0x00000002, 0x00393097, 0x003A9897,\n\t0x00000002, 0x00393099, 0x003A9899, 0x00000002,\n\t// Block 87, offset 0x15c0\n\t0x0039309A, 0x003A989A, 0x00000004, 0x0039389A, 0x003A1A9A, 0x00393C9A,\n\t0x0039A49A, 0x00000004, 0x0039389A, 0x003A409A, 0x003A409A, 0x003A689A,\n\t0x00000003, 0x00393C99, 0x00397299, 0x003A9099, 0x00000003, 0x00393C99,\n\t0x00397499, 0x003A9099, 0x00000003, 0x00395697, 0x00396497, 0x003A4E97,\n\t0x00000003, 0x00395699, 0x00396499, 0x003A8E99, 0x00000003, 0x00395699,\n\t0x00396499, 0x003A9099, 0x00000003, 0x00395697, 0x00397297, 0x00396497,\n\t0x00000003, 0x00395699, 0x00397299, 0x00396499, 0x00000003, 0x00395697,\n\t0x00397297, 0x003A4E97, 0x00000003, 0x00395697, 0x00397497, 0x003A4E97,\n\t0x00000003, 0x00395699, 0x00397499, 0x003A8E99, 0x00000003, 0x00395699,\n\t0x00397499, 0x003A9099, 0x00000003, 0x00395697, 0x003A4E97, 0x00396497,\n\t0x00000003, 0x00395697, 0x003A4E97, 0x00397297,\n\t// Block 88, offset 0x1600\n\t0x00000003, 0x00395697, 0x003A4E97, 0x00397497, 0x00000003, 0x00395699,\n\t0x003A4E99, 0x003A8E99, 0x00000003, 0x00395699, 0x003A4E99, 0x003A9099,\n\t0x00000003, 0x00396499, 0x00397299, 0x003A8E99, 0x00000003, 0x00396499,\n\t0x00397299, 0x003A9099, 0x00000008, 0x0039649A, 0x003A409A, 0x0002129A,\n\t0x0039649A, 0x003A409A, 0x0039389A, 0x003A409A, 0x003A689A, 0x00000003,\n\t0x00396497, 0x003A4E97, 0x00397297, 0x00000003, 0x00396499, 0x003A4E99,\n\t0x00397299, 0x00000003, 0x00396499, 0x003A4E99, 0x003A8E99, 0x00000003,\n\t0x00396499, 0x003A4E99, 0x003A9099, 0x00000003, 0x00397299, 0x00396499,\n\t0x003A9099, 0x00000003, 0x00397299, 0x003A4E99, 0x003A8E99, 0x00000003,\n\t0x00397299, 0x003A4E99, 0x003A9099, 0x00000004, 0x0039A49A, 0x0039C69A,\n\t0x003A749A, 0x003A409A, 0x00000003, 0x0039C697,\n\t// Block 89, offset 0x1640\n\t0x00396497, 0x00397297, 0x00000003, 0x0039C699, 0x00396499, 0x003A8E99,\n\t0x00000003, 0x0039C697, 0x00397297, 0x00396497, 0x00000003, 0x0039C699,\n\t0x00397499, 0x003A8E99, 0x00000003, 0x0039C699, 0x00397499, 0x003A9099,\n\t0x00000003, 0x0039C697, 0x003A4E97, 0x00396497, 0x00000003, 0x0039C697,\n\t0x003A4E97, 0x00397297, 0x00000003, 0x0039C699, 0x003A4E99, 0x00397299,\n\t0x00000003, 0x0039C697, 0x003A4E97, 0x003A4E97, 0x00000003, 0x0039C699,\n\t0x003A4E99, 0x003A4E99, 0x00000003, 0x0039C899, 0x00396499, 0x003A9099,\n\t0x00000003, 0x0039C897, 0x00397297, 0x003A4E97, 0x00000003, 0x0039C899,\n\t0x00397299, 0x003A4E99, 0x00000003, 0x0039C899, 0x00397299, 0x003A9099,\n\t0x00000003, 0x0039C897, 0x003A4E97, 0x00397497, 0x00000003, 0x0039C899,\n\t0x003A4E99, 0x00397499, 0x00000003, 0x0039C897,\n\t// Block 90, offset 0x1680\n\t0x003A4E97, 0x003A4E97, 0x00000003, 0x0039C899, 0x003A4E99, 0x003A4E99,\n\t0x00000003, 0x0039DC97, 0x00397297, 0x00397297, 0x00000003, 0x0039DC99,\n\t0x00397299, 0x00397299, 0x00000003, 0x0039DC99, 0x00397299, 0x003A9099,\n\t0x00000004, 0x0039DC9A, 0x003A409A, 0x0039EE9A, 0x003A4E9A, 0x00000003,\n\t0x0039DC9A, 0x003A409A, 0x003A8E9A, 0x00000012, 0x0039DC9A, 0x003A409A,\n\t0x003A8E9A, 0x0002129A, 0x0039389A, 0x003A409A, 0x003A409A, 0x003A689A,\n\t0x0002129A, 0x0039EE9A, 0x003A409A, 0x003A909A, 0x003A689A, 0x0002129A,\n\t0x003A749A, 0x0039C69A, 0x003A409A, 0x003A4E9A, 0x00000003, 0x0039DC9A,\n\t0x003A409A, 0x003AAA9A, 0x00000003, 0x0039DC97, 0x003A4E97, 0x003A4E97,\n\t0x00000003, 0x0039DC99, 0x003A4E99, 0x003A4E99, 0x00000003, 0x0039DE99,\n\t0x00397299, 0x003A8E99, 0x00000003, 0x0039DE99,\n\t// Block 91, offset 0x16c0\n\t0x00397299, 0x003A9099, 0x00000003, 0x0039DE97, 0x00397497, 0x003A4E97,\n\t0x00000003, 0x0039DE99, 0x00397499, 0x003A4E99, 0x00000003, 0x0039E697,\n\t0x003A4E97, 0x00397297, 0x00000003, 0x0039E699, 0x003A4E99, 0x00397299,\n\t0x00000003, 0x0039E697, 0x003A4E97, 0x003A4E97, 0x00000003, 0x0039E699,\n\t0x003A4E99, 0x003A9099, 0x00000003, 0x0039EE97, 0x00396497, 0x003A4E97,\n\t0x00000003, 0x0039EE99, 0x00396499, 0x003A4E99, 0x00000004, 0x0039EE9A,\n\t0x003A409A, 0x003A909A, 0x003A689A, 0x00000003, 0x0039EE97, 0x003A4E97,\n\t0x003A4E97, 0x00000003, 0x0039EE99, 0x003A4E99, 0x003A4E99, 0x00000003,\n\t0x0039EE99, 0x003A4E99, 0x003A8E99, 0x00000003, 0x0039EE99, 0x003A4E99,\n\t0x003A9099, 0x00000003, 0x0039F099, 0x003A4E99, 0x003A4E99, 0x00000003,\n\t0x0039F099, 0x003A4E99, 0x003A8E99, 0x00000003,\n\t// Block 92, offset 0x1700\n\t0x0039F099, 0x003A4E99, 0x003A9099, 0x00000003, 0x0039FC97, 0x00397497,\n\t0x003A4E97, 0x00000003, 0x0039FC99, 0x00397499, 0x003A4E99, 0x00000003,\n\t0x0039FC99, 0x003A4E99, 0x003A9099, 0x00000003, 0x003A129A, 0x003A409A,\n\t0x003AAA9A, 0x00000003, 0x003A1297, 0x003A4E97, 0x00397297, 0x00000003,\n\t0x003A1299, 0x003A4E99, 0x00397299, 0x00000003, 0x003A1299, 0x003A4E99,\n\t0x003A4E99, 0x00000003, 0x003A1299, 0x003A4E99, 0x003A9099, 0x00000003,\n\t0x003A1A97, 0x003A4E97, 0x003A4E97, 0x00000003, 0x003A1A99, 0x003A4E99,\n\t0x003A4E99, 0x00000003, 0x003A1A99, 0x003A4E99, 0x003A9099, 0x00000002,\n\t0x003A4099, 0x00391E99, 0x00000002, 0x003A409A, 0x00391E9A, 0x00000002,\n\t0x003A4099, 0x00392099, 0x00000002, 0x003A409A, 0x0039209A, 0x00000002,\n\t0x003A4099, 0x00392899, 0x00000002, 0x003A409A,\n\t// Block 93, offset 0x1740\n\t0x0039289A, 0x00000003, 0x003A4097, 0x00396497, 0x00396497, 0x00000003,\n\t0x003A4099, 0x00396499, 0x00396499, 0x00000003, 0x003A4097, 0x00396497,\n\t0x003A4E97, 0x00000003, 0x003A4099, 0x00396499, 0x003A4E99, 0x00000003,\n\t0x003A4099, 0x00396499, 0x003A9099, 0x00000003, 0x003A4097, 0x00397297,\n\t0x003A4E97, 0x00000003, 0x003A4099, 0x00397299, 0x003A4E99, 0x00000003,\n\t0x003A4099, 0x00397299, 0x003A8E99, 0x00000003, 0x003A4099, 0x00397299,\n\t0x003A9099, 0x00000003, 0x003A4097, 0x00397497, 0x003A4E97, 0x00000003,\n\t0x003A4099, 0x00397499, 0x003A4E99, 0x00000003, 0x003A4097, 0x003A4E97,\n\t0x00397297, 0x00000003, 0x003A4099, 0x003A4E99, 0x00397299, 0x00000003,\n\t0x003A4099, 0x003A4E99, 0x003A9099, 0x00000002, 0x003A4E84, 0xA0013A04,\n\t0x00000003, 0x003A4E97, 0x00396497, 0x00397297,\n\t// Block 94, offset 0x1780\n\t0x00000003, 0x003A4E97, 0x00396497, 0x00397497, 0x00000003, 0x003A4E97,\n\t0x00396497, 0x003A4E97, 0x00000003, 0x003A4E99, 0x00396499, 0x003A9099,\n\t0x00000003, 0x003A4E97, 0x00397297, 0x00396497, 0x00000003, 0x003A4E97,\n\t0x00397297, 0x003A4E97, 0x00000004, 0x003A4E9A, 0x0039729A, 0x003A4E9A,\n\t0x0039889A, 0x00000003, 0x003A4E99, 0x00397299, 0x003A9099, 0x00000003,\n\t0x003A4E97, 0x00397497, 0x00396497, 0x00000003, 0x003A4E97, 0x00397497,\n\t0x003A4E97, 0x00000003, 0x003A4E99, 0x00397499, 0x003A9099, 0x00000003,\n\t0x003A4E99, 0x003A4E99, 0x003A9099, 0x00000003, 0x003A5697, 0x00396497,\n\t0x00397297, 0x00000003, 0x003A5699, 0x00396499, 0x00397299, 0x00000003,\n\t0x003A5697, 0x00396497, 0x003A4E97, 0x00000003, 0x003A5699, 0x00396499,\n\t0x003A4E99, 0x00000003, 0x003A5699, 0x00396499,\n\t// Block 95, offset 0x17c0\n\t0x003A8E99, 0x00000003, 0x003A5699, 0x00396499, 0x003A9099, 0x00000003,\n\t0x003A5697, 0x00397297, 0x003A4E97, 0x00000003, 0x003A5699, 0x00397299,\n\t0x003A8E99, 0x00000003, 0x003A5699, 0x00397299, 0x003A9099, 0x00000003,\n\t0x003A5699, 0x003A4E99, 0x003A8E99, 0x00000003, 0x003A5699, 0x003A4E99,\n\t0x003A9099, 0x00000003, 0x003A6897, 0x003A4E97, 0x00396497, 0x00000003,\n\t0x003A6897, 0x003A4E97, 0x003A4E97, 0x00000002, 0x403A6C20, 0xAE60BE02,\n\t0x00000002, 0x403A7220, 0xAE60BE02, 0x00000004, 0x003A749A, 0x0039C69A,\n\t0x003A409A, 0x003A4E9A, 0x00000003, 0x003A9099, 0x00396499, 0x003A9099,\n\t0x00000003, 0x003A9099, 0x00397299, 0x003A9099, 0x00000003, 0x003A9097,\n\t0x003A4E97, 0x003A4E97, 0x00000003, 0x003A9099, 0x003A4E99, 0x003A4E99,\n\t0x00000003, 0x003A9099, 0x003A4E99, 0x003A9099,\n\t// Block 96, offset 0x1800\n\t0x00000002, 0x403AAA20, 0xAE60BE02, 0x00000002, 0x003AB284, 0xA0013C04,\n\t0x00000002, 0x003AB484, 0xA0013A04, 0x00000002, 0x003AB484, 0xA0013C04,\n\t0x00000002, 0x003AB884, 0xA0013C04, 0x00000002, 0x003AC484, 0xA0013A04,\n\t0x00000002, 0x003AD884, 0xA0013A04, 0x00000002, 0x003B9484, 0xA0013904,\n\t0x00000002, 0x003B9684, 0xA0013904, 0x00000002, 0x003B9A84, 0xA0013904,\n\t0x00000002, 0x403FEC20, 0xA070F102, 0x00000002, 0x403FEE20, 0xA070F102,\n\t0x00000002, 0x403FF020, 0xA070F102, 0x00000002, 0x403FFC20, 0xA070F102,\n\t0x00000002, 0x40400A20, 0xA070F102, 0x00000002, 0x40400E20, 0xA070F102,\n\t0x00000002, 0x40401A20, 0xA070F102, 0x00000002, 0x40401E20, 0xA070F102,\n\t0x00000002, 0x40402820, 0xA070F102, 0x00000002, 0x40402C20, 0xA070F102,\n\t0x00000002, 0x40403020, 0xA070F102, 0x00000002,\n\t// Block 97, offset 0x1840\n\t0x4040B020, 0xA070F102, 0x00000002, 0x4040B220, 0xA070F102, 0x00000002,\n\t0x0040B684, 0x0040F884, 0x00000002, 0x4040CA20, 0xA070F102, 0x00000002,\n\t0x40411620, 0xA070F102, 0x00000002, 0x40411E20, 0xA070F102, 0x00000002,\n\t0x40412020, 0xA070F102, 0x00000002, 0x40412A20, 0xA070F102, 0x00000002,\n\t0x40414620, 0xA070F102, 0x00000002, 0x40415420, 0xA070F102, 0x00000002,\n\t0x40422A20, 0xA070F102, 0x00000002, 0x40422C20, 0xA070F102, 0x00000002,\n\t0x00442284, 0x00449084, 0x00000002, 0x00443E84, 0x00449084, 0x00000002,\n\t0x00444884, 0x00449084, 0x00000002, 0x00445884, 0x00449084, 0x00000002,\n\t0x00445884, 0x00449084, 0x00000002, 0x00445A84, 0x00449084, 0x00000002,\n\t0x00446684, 0x00449084, 0x00000002, 0x4046AA20, 0xA070F102, 0x00000002,\n\t0x4046AC20, 0xA070F102, 0x00000002, 0x4046BE20,\n\t// Block 98, offset 0x1880\n\t0xA070F102, 0x00000002, 0x40491020, 0x40498420, 0x00000002, 0x40491020,\n\t0x40498620, 0x00000002, 0x40491020, 0x40498820, 0x00000002, 0x40491020,\n\t0x40498A20, 0x00000002, 0x40491020, 0x40498C20, 0x00000002, 0x40491220,\n\t0x40498420, 0x00000002, 0x40491220, 0x40498620, 0x00000002, 0x40491220,\n\t0x40498820, 0x00000002, 0x40491220, 0x40498A20, 0x00000002, 0x40491220,\n\t0x40498C20, 0x00000002, 0x40491420, 0x40498420, 0x00000002, 0x40491420,\n\t0x40498620, 0x00000002, 0x40491420, 0x40498820, 0x00000002, 0x40491420,\n\t0x40498A20, 0x00000002, 0x40491420, 0x40498C20, 0x00000002, 0x40491620,\n\t0x40498420, 0x00000002, 0x40491620, 0x40498620, 0x00000002, 0x40491620,\n\t0x40498820, 0x00000002, 0x40491620, 0x40498A20, 0x00000002, 0x40491620,\n\t0x40498C20, 0x00000002, 0x40491820, 0x40498420,\n\t// Block 99, offset 0x18c0\n\t0x00000002, 0x40491820, 0x40498620, 0x00000002, 0x40491820, 0x40498820,\n\t0x00000002, 0x40491820, 0x40498A20, 0x00000002, 0x40491820, 0x40498C20,\n\t0x00000002, 0x40491A20, 0x40498420, 0x00000002, 0x40491A20, 0x40498620,\n\t0x00000002, 0x40491A20, 0x40498820, 0x00000002, 0x40491A20, 0x40498A20,\n\t0x00000002, 0x40491A20, 0x40498C20, 0x00000002, 0x40491C20, 0x40498420,\n\t0x00000002, 0x40491C20, 0x40498620, 0x00000002, 0x40491C20, 0x40498820,\n\t0x00000002, 0x40491C20, 0x40498A20, 0x00000002, 0x40491C20, 0x40498C20,\n\t0x00000002, 0x40491E20, 0x40498420, 0x00000002, 0x40491E20, 0x40498620,\n\t0x00000002, 0x40491E20, 0x40498820, 0x00000002, 0x40491E20, 0x40498A20,\n\t0x00000002, 0x40491E20, 0x40498C20, 0x00000002, 0x40492020, 0x40498420,\n\t0x00000002, 0x40492020, 0x40498620, 0x00000002,\n\t// Block 100, offset 0x1900\n\t0x40492020, 0x40498820, 0x00000002, 0x40492020, 0x40498A20, 0x00000002,\n\t0x40492020, 0x40498C20, 0x00000002, 0x40492220, 0x40498420, 0x00000002,\n\t0x40492220, 0x40498620, 0x00000002, 0x40492220, 0x40498820, 0x00000002,\n\t0x40492220, 0x40498A20, 0x00000002, 0x40492220, 0x40498C20, 0x00000002,\n\t0x40492420, 0x40498420, 0x00000002, 0x40492420, 0x40498620, 0x00000002,\n\t0x40492420, 0x40498820, 0x00000002, 0x40492420, 0x40498A20, 0x00000002,\n\t0x40492420, 0x40498C20, 0x00000002, 0x40492620, 0x40498420, 0x00000002,\n\t0x40492620, 0x40498620, 0x00000002, 0x40492620, 0x40498820, 0x00000002,\n\t0x40492620, 0x40498A20, 0x00000002, 0x40492620, 0x40498C20, 0x00000002,\n\t0x40492820, 0x40498420, 0x00000002, 0x40492820, 0x40498620, 0x00000002,\n\t0x40492820, 0x40498820, 0x00000002, 0x40492820,\n\t// Block 101, offset 0x1940\n\t0x40498A20, 0x00000002, 0x40492820, 0x40498C20, 0x00000002, 0x40492A20,\n\t0x40498420, 0x00000002, 0x40492A20, 0x40498620, 0x00000002, 0x40492A20,\n\t0x40498820, 0x00000002, 0x40492A20, 0x40498A20, 0x00000002, 0x40492A20,\n\t0x40498C20, 0x00000002, 0x40492C20, 0x40498420, 0x00000002, 0x40492C20,\n\t0x40498620, 0x00000002, 0x40492C20, 0x40498820, 0x00000002, 0x40492C20,\n\t0x40498A20, 0x00000002, 0x40492C20, 0x40498C20, 0x00000002, 0x40492E20,\n\t0x40498420, 0x00000002, 0x40492E20, 0x40498620, 0x00000002, 0x40492E20,\n\t0x40498820, 0x00000002, 0x40492E20, 0x40498A20, 0x00000002, 0x40492E20,\n\t0x40498C20, 0x00000002, 0x40493020, 0x40498420, 0x00000002, 0x40493020,\n\t0x40498620, 0x00000002, 0x40493020, 0x40498820, 0x00000002, 0x40493020,\n\t0x40498A20, 0x00000002, 0x40493020, 0x40498C20,\n\t// Block 102, offset 0x1980\n\t0x00000002, 0x40493220, 0x40498420, 0x00000002, 0x40493220, 0x40498620,\n\t0x00000002, 0x40493220, 0x40498820, 0x00000002, 0x40493220, 0x40498A20,\n\t0x00000002, 0x40493220, 0x40498C20, 0x00000002, 0x40493420, 0x40498420,\n\t0x00000002, 0x40493420, 0x40498620, 0x00000002, 0x40493420, 0x40498820,\n\t0x00000002, 0x40493420, 0x40498A20, 0x00000002, 0x40493420, 0x40498C20,\n\t0x00000002, 0x40493620, 0x40498420, 0x00000002, 0x40493620, 0x40498620,\n\t0x00000002, 0x40493620, 0x40498820, 0x00000002, 0x40493620, 0x40498A20,\n\t0x00000002, 0x40493620, 0x40498C20, 0x00000002, 0x40493820, 0x40498420,\n\t0x00000002, 0x40493820, 0x40498620, 0x00000002, 0x40493820, 0x40498820,\n\t0x00000002, 0x40493820, 0x40498A20, 0x00000002, 0x40493820, 0x40498C20,\n\t0x00000002, 0x40493A20, 0x40498420, 0x00000002,\n\t// Block 103, offset 0x19c0\n\t0x40493A20, 0x40498620, 0x00000002, 0x40493A20, 0x40498820, 0x00000002,\n\t0x40493A20, 0x40498A20, 0x00000002, 0x40493A20, 0x40498C20, 0x00000002,\n\t0x40493C20, 0x40498420, 0x00000002, 0x40493C20, 0x40498620, 0x00000002,\n\t0x40493C20, 0x40498820, 0x00000002, 0x40493C20, 0x40498A20, 0x00000002,\n\t0x40493C20, 0x40498C20, 0x00000002, 0x40493E20, 0x40498420, 0x00000002,\n\t0x40493E20, 0x40498620, 0x00000002, 0x40493E20, 0x40498820, 0x00000002,\n\t0x40493E20, 0x40498A20, 0x00000002, 0x40493E20, 0x40498C20, 0x00000002,\n\t0x40494020, 0x40498420, 0x00000002, 0x40494020, 0x40498620, 0x00000002,\n\t0x40494020, 0x40498820, 0x00000002, 0x40494020, 0x40498A20, 0x00000002,\n\t0x40494020, 0x40498C20, 0x00000002, 0x40494220, 0x40498420, 0x00000002,\n\t0x40494220, 0x40498620, 0x00000002, 0x40494220,\n\t// Block 104, offset 0x1a00\n\t0x40498820, 0x00000002, 0x40494220, 0x40498A20, 0x00000002, 0x40494220,\n\t0x40498C20, 0x00000002, 0x40494420, 0x40498420, 0x00000002, 0x40494420,\n\t0x40498620, 0x00000002, 0x40494420, 0x40498820, 0x00000002, 0x40494420,\n\t0x40498A20, 0x00000002, 0x40494420, 0x40498C20, 0x00000002, 0x40494620,\n\t0x40498420, 0x00000002, 0x40494620, 0x40498620, 0x00000002, 0x40494620,\n\t0x40498820, 0x00000002, 0x40494620, 0x40498A20, 0x00000002, 0x40494620,\n\t0x40498C20, 0x00000002, 0x40494820, 0x40498420, 0x00000002, 0x40494820,\n\t0x40498620, 0x00000002, 0x40494820, 0x40498820, 0x00000002, 0x40494820,\n\t0x40498A20, 0x00000002, 0x40494820, 0x40498C20, 0x00000002, 0x40494A20,\n\t0x40498420, 0x00000002, 0x40494A20, 0x40498620, 0x00000002, 0x40494A20,\n\t0x40498820, 0x00000002, 0x40494A20, 0x40498A20,\n\t// Block 105, offset 0x1a40\n\t0x00000002, 0x40494A20, 0x40498C20, 0x00000002, 0x40494C20, 0x40498420,\n\t0x00000002, 0x40494C20, 0x40498620, 0x00000002, 0x40494C20, 0x40498820,\n\t0x00000002, 0x40494C20, 0x40498A20, 0x00000002, 0x40494C20, 0x40498C20,\n\t0x00000002, 0x40494E20, 0x40498420, 0x00000002, 0x40494E20, 0x40498620,\n\t0x00000002, 0x40494E20, 0x40498820, 0x00000002, 0x40494E20, 0x40498A20,\n\t0x00000002, 0x40494E20, 0x40498C20, 0x00000002, 0x40495020, 0x40498420,\n\t0x00000002, 0x40495020, 0x40498620, 0x00000002, 0x40495020, 0x40498820,\n\t0x00000002, 0x40495020, 0x40498A20, 0x00000002, 0x40495020, 0x40498C20,\n\t0x00000002, 0x40495220, 0x40498420, 0x00000002, 0x40495220, 0x40498620,\n\t0x00000002, 0x40495220, 0x40498820, 0x00000002, 0x40495220, 0x40498A20,\n\t0x00000002, 0x40495220, 0x40498C20, 0x00000002,\n\t// Block 106, offset 0x1a80\n\t0x40495420, 0x40498420, 0x00000002, 0x40495420, 0x40498620, 0x00000002,\n\t0x40495420, 0x40498820, 0x00000002, 0x40495420, 0x40498A20, 0x00000002,\n\t0x40495420, 0x40498C20, 0x00000002, 0x40495620, 0x40498420, 0x00000002,\n\t0x40495620, 0x40498620, 0x00000002, 0x40495620, 0x40498820, 0x00000002,\n\t0x40495620, 0x40498A20, 0x00000002, 0x40495620, 0x40498C20, 0x00000002,\n\t0x40495820, 0x40498420, 0x00000002, 0x40495820, 0x40498620, 0x00000002,\n\t0x40495820, 0x40498820, 0x00000002, 0x40495820, 0x40498A20, 0x00000002,\n\t0x40495820, 0x40498C20, 0x00000002, 0x40495A20, 0x40498420, 0x00000002,\n\t0x40495A20, 0x40498620, 0x00000002, 0x40495A20, 0x40498820, 0x00000002,\n\t0x40495A20, 0x40498A20, 0x00000002, 0x40495A20, 0x40498C20, 0x00000002,\n\t0x40495C20, 0x40498420, 0x00000002, 0x40495C20,\n\t// Block 107, offset 0x1ac0\n\t0x40498620, 0x00000002, 0x40495C20, 0x40498820, 0x00000002, 0x40495C20,\n\t0x40498A20, 0x00000002, 0x40495C20, 0x40498C20, 0x00000002, 0x40495E20,\n\t0x40498420, 0x00000002, 0x40495E20, 0x40498620, 0x00000002, 0x40495E20,\n\t0x40498820, 0x00000002, 0x40495E20, 0x40498A20, 0x00000002, 0x40495E20,\n\t0x40498C20, 0x00000002, 0x40496020, 0x40498420, 0x00000002, 0x40496020,\n\t0x40498620, 0x00000002, 0x40496020, 0x40498820, 0x00000002, 0x40496020,\n\t0x40498A20, 0x00000002, 0x40496020, 0x40498C20, 0x00000002, 0x40496220,\n\t0x40498420, 0x00000002, 0x40496220, 0x40498620, 0x00000002, 0x40496220,\n\t0x40498820, 0x00000002, 0x40496220, 0x40498A20, 0x00000002, 0x40496220,\n\t0x40498C20, 0x00000002, 0x40496420, 0x40498420, 0x00000002, 0x40496420,\n\t0x40498620, 0x00000002, 0x40496420, 0x40498820,\n\t// Block 108, offset 0x1b00\n\t0x00000002, 0x40496420, 0x40498A20, 0x00000002, 0x40496420, 0x40498C20,\n\t0x00000002, 0x40496620, 0x40498420, 0x00000002, 0x40496620, 0x40498620,\n\t0x00000002, 0x40496620, 0x40498820, 0x00000002, 0x40496620, 0x40498A20,\n\t0x00000002, 0x40496620, 0x40498C20, 0x00000002, 0x40496820, 0x40498420,\n\t0x00000002, 0x40496820, 0x40498620, 0x00000002, 0x40496820, 0x40498820,\n\t0x00000002, 0x40496820, 0x40498A20, 0x00000002, 0x40496820, 0x40498C20,\n\t0x00000002, 0x40496A20, 0x40498420, 0x00000002, 0x40496A20, 0x40498620,\n\t0x00000002, 0x40496A20, 0x40498820, 0x00000002, 0x40496A20, 0x40498A20,\n\t0x00000002, 0x40496A20, 0x40498C20, 0x00000002, 0x40499020, 0x4049E620,\n\t0x00000002, 0x40499020, 0x4049E820, 0x00000002, 0x40499020, 0x4049EA20,\n\t0x00000002, 0x40499020, 0x4049EC20, 0x00000002,\n\t// Block 109, offset 0x1b40\n\t0x40499020, 0x4049EE20, 0x00000002, 0x40499220, 0x4049E620, 0x00000002,\n\t0x40499220, 0x4049E820, 0x00000002, 0x40499220, 0x4049EA20, 0x00000002,\n\t0x40499220, 0x4049EC20, 0x00000002, 0x40499220, 0x4049EE20, 0x00000002,\n\t0x40499420, 0x4049E620, 0x00000002, 0x40499420, 0x4049E820, 0x00000002,\n\t0x40499420, 0x4049EA20, 0x00000002, 0x40499420, 0x4049EC20, 0x00000002,\n\t0x40499420, 0x4049EE20, 0x00000002, 0x40499620, 0x4049E620, 0x00000002,\n\t0x40499620, 0x4049E820, 0x00000002, 0x40499620, 0x4049EA20, 0x00000002,\n\t0x40499620, 0x4049EC20, 0x00000002, 0x40499620, 0x4049EE20, 0x00000002,\n\t0x40499820, 0x4049E620, 0x00000002, 0x40499820, 0x4049E820, 0x00000002,\n\t0x40499820, 0x4049EA20, 0x00000002, 0x40499820, 0x4049EC20, 0x00000002,\n\t0x40499820, 0x4049EE20, 0x00000002, 0x40499A20,\n\t// Block 110, offset 0x1b80\n\t0x4049E620, 0x00000002, 0x40499A20, 0x4049E820, 0x00000002, 0x40499A20,\n\t0x4049EA20, 0x00000002, 0x40499A20, 0x4049EC20, 0x00000002, 0x40499A20,\n\t0x4049EE20, 0x00000002, 0x40499C20, 0x4049E620, 0x00000002, 0x40499C20,\n\t0x4049E820, 0x00000002, 0x40499C20, 0x4049EA20, 0x00000002, 0x40499C20,\n\t0x4049EC20, 0x00000002, 0x40499C20, 0x4049EE20, 0x00000002, 0x40499E20,\n\t0x4049E620, 0x00000002, 0x40499E20, 0x4049E820, 0x00000002, 0x40499E20,\n\t0x4049EA20, 0x00000002, 0x40499E20, 0x4049EC20, 0x00000002, 0x40499E20,\n\t0x4049EE20, 0x00000002, 0x4049A020, 0x4049E620, 0x00000002, 0x4049A020,\n\t0x4049E820, 0x00000002, 0x4049A020, 0x4049EA20, 0x00000002, 0x4049A020,\n\t0x4049EC20, 0x00000002, 0x4049A020, 0x4049EE20, 0x00000002, 0x4049A220,\n\t0x4049E620, 0x00000002, 0x4049A220, 0x4049E820,\n\t// Block 111, offset 0x1bc0\n\t0x00000002, 0x4049A220, 0x4049EA20, 0x00000002, 0x4049A220, 0x4049EC20,\n\t0x00000002, 0x4049A220, 0x4049EE20, 0x00000002, 0x4049A420, 0x4049E620,\n\t0x00000002, 0x4049A420, 0x4049E820, 0x00000002, 0x4049A420, 0x4049EA20,\n\t0x00000002, 0x4049A420, 0x4049EC20, 0x00000002, 0x4049A420, 0x4049EE20,\n\t0x00000002, 0x4049A620, 0x4049E620, 0x00000002, 0x4049A620, 0x4049E820,\n\t0x00000002, 0x4049A620, 0x4049EA20, 0x00000002, 0x4049A620, 0x4049EC20,\n\t0x00000002, 0x4049A620, 0x4049EE20, 0x00000002, 0x4049A820, 0x4049E620,\n\t0x00000002, 0x4049A820, 0x4049E820, 0x00000002, 0x4049A820, 0x4049EA20,\n\t0x00000002, 0x4049A820, 0x4049EC20, 0x00000002, 0x4049A820, 0x4049EE20,\n\t0x00000002, 0x4049AA20, 0x4049E620, 0x00000002, 0x4049AA20, 0x4049E820,\n\t0x00000002, 0x4049AA20, 0x4049EA20, 0x00000002,\n\t// Block 112, offset 0x1c00\n\t0x4049AA20, 0x4049EC20, 0x00000002, 0x4049AA20, 0x4049EE20, 0x00000002,\n\t0x4049AC20, 0x4049E620, 0x00000002, 0x4049AC20, 0x4049E820, 0x00000002,\n\t0x4049AC20, 0x4049EA20, 0x00000002, 0x4049AC20, 0x4049EC20, 0x00000002,\n\t0x4049AC20, 0x4049EE20, 0x00000002, 0x4049AE20, 0x4049E620, 0x00000002,\n\t0x4049AE20, 0x4049E820, 0x00000002, 0x4049AE20, 0x4049EA20, 0x00000002,\n\t0x4049AE20, 0x4049EC20, 0x00000002, 0x4049AE20, 0x4049EE20, 0x00000002,\n\t0x4049B020, 0x4049E620, 0x00000002, 0x4049B020, 0x4049E820, 0x00000002,\n\t0x4049B020, 0x4049EA20, 0x00000002, 0x4049B020, 0x4049EC20, 0x00000002,\n\t0x4049B020, 0x4049EE20, 0x00000002, 0x4049B220, 0x4049E620, 0x00000002,\n\t0x4049B220, 0x4049E820, 0x00000002, 0x4049B220, 0x4049EA20, 0x00000002,\n\t0x4049B220, 0x4049EC20, 0x00000002, 0x4049B220,\n\t// Block 113, offset 0x1c40\n\t0x4049EE20, 0x00000002, 0x4049B420, 0x4049E620, 0x00000002, 0x4049B420,\n\t0x4049E820, 0x00000002, 0x4049B420, 0x4049EA20, 0x00000002, 0x4049B420,\n\t0x4049EC20, 0x00000002, 0x4049B420, 0x4049EE20, 0x00000002, 0x4049B620,\n\t0x4049E620, 0x00000002, 0x4049B620, 0x4049E820, 0x00000002, 0x4049B620,\n\t0x4049EA20, 0x00000002, 0x4049B620, 0x4049EC20, 0x00000002, 0x4049B620,\n\t0x4049EE20, 0x00000002, 0x4049B820, 0x4049E620, 0x00000002, 0x4049B820,\n\t0x4049E820, 0x00000002, 0x4049B820, 0x4049EA20, 0x00000002, 0x4049B820,\n\t0x4049EC20, 0x00000002, 0x4049B820, 0x4049EE20, 0x00000002, 0x4049BA20,\n\t0x4049E620, 0x00000002, 0x4049BA20, 0x4049E820, 0x00000002, 0x4049BA20,\n\t0x4049EA20, 0x00000002, 0x4049BA20, 0x4049EC20, 0x00000002, 0x4049BA20,\n\t0x4049EE20, 0x00000002, 0x4049BC20, 0x4049E620,\n\t// Block 114, offset 0x1c80\n\t0x00000002, 0x4049BC20, 0x4049E820, 0x00000002, 0x4049BC20, 0x4049EA20,\n\t0x00000002, 0x4049BC20, 0x4049EC20, 0x00000002, 0x4049BC20, 0x4049EE20,\n\t0x00000002, 0x4049BE20, 0x4049E620, 0x00000002, 0x4049BE20, 0x4049E820,\n\t0x00000002, 0x4049BE20, 0x4049EA20, 0x00000002, 0x4049BE20, 0x4049EC20,\n\t0x00000002, 0x4049BE20, 0x4049EE20, 0x00000002, 0x4049C020, 0x4049E620,\n\t0x00000002, 0x4049C020, 0x4049E820, 0x00000002, 0x4049C020, 0x4049EA20,\n\t0x00000002, 0x4049C020, 0x4049EC20, 0x00000002, 0x4049C020, 0x4049EE20,\n\t0x00000002, 0x4049C220, 0x4049E620, 0x00000002, 0x4049C220, 0x4049E820,\n\t0x00000002, 0x4049C220, 0x4049EA20, 0x00000002, 0x4049C220, 0x4049EC20,\n\t0x00000002, 0x4049C220, 0x4049EE20, 0x00000003, 0x0049C484, 0x0049AC84,\n\t0x4049E620, 0x00000003, 0x0049C484, 0x0049AC84,\n\t// Block 115, offset 0x1cc0\n\t0x4049E820, 0x00000003, 0x0049C484, 0x0049AC84, 0x4049EA20, 0x00000003,\n\t0x0049C484, 0x0049AC84, 0x4049EC20, 0x00000003, 0x0049C484, 0x0049AC84,\n\t0x4049EE20, 0x00000003, 0x0049C484, 0x0049BA84, 0x4049E620, 0x00000003,\n\t0x0049C484, 0x0049BA84, 0x4049E820, 0x00000003, 0x0049C484, 0x0049BA84,\n\t0x4049EA20, 0x00000003, 0x0049C484, 0x0049BA84, 0x4049EC20, 0x00000003,\n\t0x0049C484, 0x0049BA84, 0x4049EE20, 0x00000002, 0x4049C420, 0x4049E620,\n\t0x00000002, 0x4049C420, 0x4049E820, 0x00000002, 0x4049C420, 0x4049EA20,\n\t0x00000002, 0x4049C420, 0x4049EC20, 0x00000002, 0x4049C420, 0x4049EE20,\n\t0x00000002, 0x4049C620, 0x4049E620, 0x00000002, 0x4049C620, 0x4049E820,\n\t0x00000002, 0x4049C620, 0x4049EA20, 0x00000002, 0x4049C620, 0x4049EC20,\n\t0x00000002, 0x4049C620, 0x4049EE20, 0x00000002,\n\t// Block 116, offset 0x1d00\n\t0x4049C820, 0x4049E620, 0x00000002, 0x4049C820, 0x4049E820, 0x00000002,\n\t0x4049C820, 0x4049EA20, 0x00000002, 0x4049C820, 0x4049EC20, 0x00000002,\n\t0x4049C820, 0x4049EE20, 0x00000002, 0x4049F020, 0x404A5A20, 0x00000002,\n\t0x4049F020, 0x404A5C20, 0x00000002, 0x4049F020, 0x404A6220, 0x00000002,\n\t0x4049F020, 0x404A6620, 0x00000002, 0x4049F020, 0x404A6820, 0x00000002,\n\t0x4049F220, 0x404A5A20, 0x00000002, 0x4049F220, 0x404A5C20, 0x00000002,\n\t0x4049F220, 0x404A6220, 0x00000002, 0x4049F220, 0x404A6620, 0x00000002,\n\t0x4049F220, 0x404A6820, 0x00000002, 0x4049F420, 0x404A5A20, 0x00000002,\n\t0x4049F420, 0x404A5C20, 0x00000002, 0x4049F420, 0x404A6220, 0x00000002,\n\t0x4049F420, 0x404A6620, 0x00000002, 0x4049F420, 0x404A6820, 0x00000002,\n\t0x4049F620, 0x404A5A20, 0x00000002, 0x4049F620,\n\t// Block 117, offset 0x1d40\n\t0x404A5C20, 0x00000002, 0x4049F620, 0x404A6220, 0x00000002, 0x4049F620,\n\t0x404A6620, 0x00000002, 0x4049F620, 0x404A6820, 0x00000002, 0x4049F820,\n\t0x404A5A20, 0x00000002, 0x4049F820, 0x404A5C20, 0x00000002, 0x4049F820,\n\t0x404A6220, 0x00000002, 0x4049F820, 0x404A6620, 0x00000002, 0x4049F820,\n\t0x404A6820, 0x00000002, 0x4049FA20, 0x404A5A20, 0x00000002, 0x4049FA20,\n\t0x404A5C20, 0x00000002, 0x4049FA20, 0x404A6220, 0x00000002, 0x4049FA20,\n\t0x404A6620, 0x00000002, 0x4049FA20, 0x404A6820, 0x00000002, 0x4049FC20,\n\t0x404A5A20, 0x00000002, 0x4049FC20, 0x404A5C20, 0x00000002, 0x4049FC20,\n\t0x404A6220, 0x00000002, 0x4049FC20, 0x404A6620, 0x00000002, 0x4049FC20,\n\t0x404A6820, 0x00000002, 0x4049FE20, 0x404A5A20, 0x00000002, 0x4049FE20,\n\t0x404A5C20, 0x00000002, 0x4049FE20, 0x404A6220,\n\t// Block 118, offset 0x1d80\n\t0x00000002, 0x4049FE20, 0x404A6620, 0x00000002, 0x4049FE20, 0x404A6820,\n\t0x00000002, 0x404A0020, 0x404A5A20, 0x00000002, 0x404A0020, 0x404A5C20,\n\t0x00000002, 0x404A0020, 0x404A6220, 0x00000002, 0x404A0020, 0x404A6620,\n\t0x00000002, 0x404A0020, 0x404A6820, 0x00000002, 0x404A0220, 0x404A5A20,\n\t0x00000002, 0x404A0220, 0x404A5C20, 0x00000002, 0x404A0220, 0x404A6220,\n\t0x00000002, 0x404A0220, 0x404A6620, 0x00000002, 0x404A0220, 0x404A6820,\n\t0x00000002, 0x404A0420, 0x404A5A20, 0x00000002, 0x404A0420, 0x404A5C20,\n\t0x00000002, 0x404A0420, 0x404A6220, 0x00000002, 0x404A0420, 0x404A6620,\n\t0x00000002, 0x404A0420, 0x404A6820, 0x00000002, 0x404A0620, 0x404A5A20,\n\t0x00000002, 0x404A0620, 0x404A5C20, 0x00000002, 0x404A0620, 0x404A6220,\n\t0x00000002, 0x404A0620, 0x404A6620, 0x00000002,\n\t// Block 119, offset 0x1dc0\n\t0x404A0620, 0x404A6820, 0x00000002, 0x404A0820, 0x404A5A20, 0x00000002,\n\t0x404A0820, 0x404A5C20, 0x00000002, 0x404A0820, 0x404A6220, 0x00000002,\n\t0x404A0820, 0x404A6620, 0x00000002, 0x404A0820, 0x404A6820, 0x00000002,\n\t0x404A0A20, 0x404A5A20, 0x00000002, 0x404A0A20, 0x404A5C20, 0x00000002,\n\t0x404A0A20, 0x404A6220, 0x00000002, 0x404A0A20, 0x404A6620, 0x00000002,\n\t0x404A0A20, 0x404A6820, 0x00000002, 0x404A0C20, 0x404A5A20, 0x00000002,\n\t0x404A0C20, 0x404A5C20, 0x00000002, 0x404A0C20, 0x404A6220, 0x00000002,\n\t0x404A0C20, 0x404A6620, 0x00000002, 0x404A0C20, 0x404A6820, 0x00000002,\n\t0x404A0E20, 0x404A5A20, 0x00000002, 0x404A0E20, 0x404A5C20, 0x00000002,\n\t0x404A0E20, 0x404A6220, 0x00000002, 0x404A0E20, 0x404A6620, 0x00000002,\n\t0x404A0E20, 0x404A6820, 0x00000002, 0x404A1020,\n\t// Block 120, offset 0x1e00\n\t0x404A5A20, 0x00000002, 0x404A1020, 0x404A5C20, 0x00000002, 0x404A1020,\n\t0x404A6220, 0x00000002, 0x404A1020, 0x404A6620, 0x00000002, 0x404A1020,\n\t0x404A6820, 0x00000002, 0x404A1220, 0x404A5A20, 0x00000002, 0x404A1220,\n\t0x404A5C20, 0x00000002, 0x404A1220, 0x404A6220, 0x00000002, 0x404A1220,\n\t0x404A6620, 0x00000002, 0x404A1220, 0x404A6820, 0x00000002, 0x404A1420,\n\t0x404A5A20, 0x00000002, 0x404A1420, 0x404A5C20, 0x00000002, 0x404A1420,\n\t0x404A6220, 0x00000002, 0x404A1420, 0x404A6620, 0x00000002, 0x404A1420,\n\t0x404A6820, 0x00000002, 0x404A1620, 0x404A5A20, 0x00000002, 0x404A1620,\n\t0x404A5C20, 0x00000002, 0x404A1620, 0x404A6220, 0x00000002, 0x404A1620,\n\t0x404A6620, 0x00000002, 0x404A1620, 0x404A6820, 0x00000002, 0x404A1820,\n\t0x404A5A20, 0x00000002, 0x404A1820, 0x404A5C20,\n\t// Block 121, offset 0x1e40\n\t0x00000002, 0x404A1820, 0x404A6220, 0x00000002, 0x404A1820, 0x404A6620,\n\t0x00000002, 0x404A1820, 0x404A6820, 0x00000002, 0x404A1A20, 0x404A5A20,\n\t0x00000002, 0x404A1A20, 0x404A5C20, 0x00000002, 0x404A1A20, 0x404A6220,\n\t0x00000002, 0x404A1A20, 0x404A6620, 0x00000002, 0x404A1A20, 0x404A6820,\n\t0x00000002, 0x404A1C20, 0x404A5A20, 0x00000002, 0x404A1C20, 0x404A5C20,\n\t0x00000002, 0x404A1C20, 0x404A6220, 0x00000002, 0x404A1C20, 0x404A6620,\n\t0x00000002, 0x404A1C20, 0x404A6820, 0x00000002, 0x404A1E20, 0x404A5A20,\n\t0x00000002, 0x404A1E20, 0x404A5C20, 0x00000002, 0x404A1E20, 0x404A6220,\n\t0x00000002, 0x404A1E20, 0x404A6620, 0x00000002, 0x404A1E20, 0x404A6820,\n\t0x00000002, 0x404A2020, 0x404A5A20, 0x00000002, 0x404A2020, 0x404A5C20,\n\t0x00000002, 0x404A2020, 0x404A6220, 0x00000002,\n\t// Block 122, offset 0x1e80\n\t0x404A2020, 0x404A6620, 0x00000002, 0x404A2020, 0x404A6820, 0x00000002,\n\t0x404A2220, 0x404A5A20, 0x00000002, 0x404A2220, 0x404A5C20, 0x00000002,\n\t0x404A2220, 0x404A6220, 0x00000002, 0x404A2220, 0x404A6620, 0x00000002,\n\t0x404A2220, 0x404A6820, 0x00000002, 0x404A2420, 0x404A5A20, 0x00000002,\n\t0x404A2420, 0x404A5C20, 0x00000002, 0x404A2420, 0x404A6220, 0x00000002,\n\t0x404A2420, 0x404A6620, 0x00000002, 0x404A2420, 0x404A6820, 0x00000002,\n\t0x404A2620, 0x404A5A20, 0x00000002, 0x404A2620, 0x404A5C20, 0x00000002,\n\t0x404A2620, 0x404A6220, 0x00000002, 0x404A2620, 0x404A6620, 0x00000002,\n\t0x404A2620, 0x404A6820, 0x00000002, 0x404A2820, 0x404A5A20, 0x00000002,\n\t0x404A2820, 0x404A5C20, 0x00000002, 0x404A2820, 0x404A6220, 0x00000002,\n\t0x404A2820, 0x404A6620, 0x00000002, 0x404A2820,\n\t// Block 123, offset 0x1ec0\n\t0x404A6820, 0x00000002, 0x404A2A20, 0x404A5A20, 0x00000002, 0x404A2A20,\n\t0x404A5C20, 0x00000002, 0x404A2A20, 0x404A6220, 0x00000002, 0x404A2A20,\n\t0x404A6620, 0x00000002, 0x404A2A20, 0x404A6820, 0x00000002, 0x404A2C20,\n\t0x404A5A20, 0x00000002, 0x404A2C20, 0x404A5C20, 0x00000002, 0x404A2C20,\n\t0x404A6220, 0x00000002, 0x404A2C20, 0x404A6620, 0x00000002, 0x404A2C20,\n\t0x404A6820, 0x00000002, 0x404A2E20, 0x404A5A20, 0x00000002, 0x404A2E20,\n\t0x404A5C20, 0x00000002, 0x404A2E20, 0x404A6220, 0x00000002, 0x404A2E20,\n\t0x404A6620, 0x00000002, 0x404A2E20, 0x404A6820, 0x00000002, 0x404A3020,\n\t0x404A5A20, 0x00000002, 0x404A3020, 0x404A5C20, 0x00000002, 0x404A3020,\n\t0x404A6220, 0x00000002, 0x404A3020, 0x404A6620, 0x00000002, 0x404A3020,\n\t0x404A6820, 0x00000002, 0x404A3220, 0x404A5A20,\n\t// Block 124, offset 0x1f00\n\t0x00000002, 0x404A3220, 0x404A5C20, 0x00000002, 0x404A3220, 0x404A6220,\n\t0x00000002, 0x404A3220, 0x404A6620, 0x00000002, 0x404A3220, 0x404A6820,\n\t0x00000002, 0x404A3420, 0x404A5A20, 0x00000002, 0x404A3420, 0x404A5C20,\n\t0x00000002, 0x404A3420, 0x404A6220, 0x00000002, 0x404A3420, 0x404A6620,\n\t0x00000002, 0x404A3420, 0x404A6820, 0x00000002, 0x404A3620, 0x404A5A20,\n\t0x00000002, 0x404A3620, 0x404A5C20, 0x00000002, 0x404A3620, 0x404A6220,\n\t0x00000002, 0x404A3620, 0x404A6620, 0x00000002, 0x404A3620, 0x404A6820,\n\t0x00000002, 0x404A3820, 0x404A5A20, 0x00000002, 0x404A3820, 0x404A5C20,\n\t0x00000002, 0x404A3820, 0x404A6220, 0x00000002, 0x404A3820, 0x404A6620,\n\t0x00000002, 0x404A3820, 0x404A6820, 0x00000002, 0x404A3A20, 0x404A5A20,\n\t0x00000002, 0x404A3A20, 0x404A5C20, 0x00000002,\n\t// Block 125, offset 0x1f40\n\t0x404A3A20, 0x404A6220, 0x00000002, 0x404A3A20, 0x404A6620, 0x00000002,\n\t0x404A3A20, 0x404A6820, 0x00000002, 0x404A3C20, 0x404A5A20, 0x00000002,\n\t0x404A3C20, 0x404A5C20, 0x00000002, 0x404A3C20, 0x404A6220, 0x00000002,\n\t0x404A3C20, 0x404A6620, 0x00000002, 0x404A3C20, 0x404A6820, 0x00000002,\n\t0x404A3E20, 0x404A5A20, 0x00000002, 0x404A3E20, 0x404A5C20, 0x00000002,\n\t0x404A3E20, 0x404A6220, 0x00000002, 0x404A3E20, 0x404A6620, 0x00000002,\n\t0x404A3E20, 0x404A6820, 0x00000002, 0x404A4020, 0x404A5A20, 0x00000002,\n\t0x404A4020, 0x404A5C20, 0x00000002, 0x404A4020, 0x404A6220, 0x00000002,\n\t0x404A4020, 0x404A6620, 0x00000002, 0x404A4020, 0x404A6820, 0x00000002,\n\t0x404A4220, 0x404A5A20, 0x00000002, 0x404A4220, 0x404A5C20, 0x00000002,\n\t0x404A4220, 0x404A6220, 0x00000002, 0x404A4220,\n\t// Block 126, offset 0x1f80\n\t0x404A6620, 0x00000002, 0x404A4220, 0x404A6820, 0x00000002, 0x404A4420,\n\t0x404A5A20, 0x00000002, 0x404A4420, 0x404A5C20, 0x00000002, 0x404A4420,\n\t0x404A6220, 0x00000002, 0x404A4420, 0x404A6620, 0x00000002, 0x404A4420,\n\t0x404A6820, 0x00000002, 0x404A4620, 0x404A5A20, 0x00000002, 0x404A4620,\n\t0x404A5C20, 0x00000002, 0x404A4620, 0x404A6220, 0x00000002, 0x404A4620,\n\t0x404A6620, 0x00000002, 0x404A4620, 0x404A6820, 0x00000002, 0x404A4820,\n\t0x404A5A20, 0x00000002, 0x404A4820, 0x404A5C20, 0x00000002, 0x404A4820,\n\t0x404A6220, 0x00000002, 0x404A4820, 0x404A6620, 0x00000002, 0x404A4820,\n\t0x404A6820, 0x00000002, 0x404A4A20, 0x404A5A20, 0x00000002, 0x404A4A20,\n\t0x404A5C20, 0x00000002, 0x404A4A20, 0x404A6220, 0x00000002, 0x404A4A20,\n\t0x404A6620, 0x00000002, 0x404A4A20, 0x404A6820,\n\t// Block 127, offset 0x1fc0\n\t0x00000002, 0x404A4C20, 0x404A5A20, 0x00000002, 0x404A4C20, 0x404A5C20,\n\t0x00000002, 0x404A4C20, 0x404A6220, 0x00000002, 0x404A4C20, 0x404A6620,\n\t0x00000002, 0x404A4C20, 0x404A6820, 0x00000002, 0x404A4E20, 0x404A5A20,\n\t0x00000002, 0x404A4E20, 0x404A5C20, 0x00000002, 0x404A4E20, 0x404A6220,\n\t0x00000002, 0x404A4E20, 0x404A6620, 0x00000002, 0x404A4E20, 0x404A6820,\n\t0x00000002, 0x404A7620, 0x404AF820, 0x00000002, 0x404A7820, 0x404AF820,\n\t0x00000002, 0x404A8020, 0x404B0020, 0x00000002, 0x404A8220, 0x404B0020,\n\t0x00000002, 0x404AA020, 0x404B0020, 0x00000002, 0x404AA220, 0x404B0020,\n\t0x00000002, 0x404AB020, 0x404B0020, 0x00000002, 0x404AB220, 0x404B0020,\n\t0x00000002, 0x404AC020, 0x404B0020, 0x00000002, 0x404AC220, 0x404B0020,\n\t0x00000002, 0x404AD020, 0x404B0020, 0x00000002,\n\t// Block 128, offset 0x2000\n\t0x404AD220, 0x404B0020, 0x00000002, 0x004AD684, 0xA0013A04, 0x00000002,\n\t0x004AE684, 0xA0013A04, 0x00000002, 0x004AE884, 0xA0013A04, 0x00000002,\n\t0x004AEA84, 0xA0013A04, 0x00000002, 0x404AEA20, 0x8281258D, 0x00000002,\n\t0x404AEA20, 0x82812591, 0x00000002, 0x404AF020, 0x8281258D, 0x00000002,\n\t0x404AF020, 0x82812591, 0x00000003, 0x004B0284, 0x004B3084, 0xA000F304,\n\t0x00000003, 0x004EA684, 0x004F1484, 0x004EA684, 0x00000002, 0x0050AE84,\n\t0x0050DA84, 0x00000003, 0x0050AE84, 0x0050DA84, 0x0050F084, 0x00000003,\n\t0x00514E84, 0x00519A84, 0x00514E84, 0x00000002, 0x005ADA84, 0xA0013904,\n\t0x00000002, 0x005ADC84, 0xA0013904, 0x00000002, 0x005ADC84, 0xA0013A04,\n\t0x00000002, 0x005ADE84, 0xA0013904, 0x00000002, 0x005ADE84, 0x005ADE84,\n\t0x00000002, 0x005AE084, 0xA0013904, 0x00000002,\n\t// Block 129, offset 0x2040\n\t0x005AE084, 0xA0013A04, 0x00000002, 0x005AE084, 0xA0013C04, 0x00000002,\n\t0x005AE084, 0xA0013D04, 0x00000002, 0x005AE884, 0xA0013904, 0x00000002,\n\t0x005AE884, 0xA0013A04, 0x00000002, 0x005AE884, 0xA0013C04, 0x00000002,\n\t0x005AE884, 0xA0013D04, 0x00000002, 0x005AEC84, 0xA0013904, 0x00000002,\n\t0x005AEE84, 0xA0013904, 0x00000002, 0x005AEE84, 0xA0013A04, 0x00000002,\n\t0x005AEE84, 0xA0013C04, 0x00000002, 0x005AF084, 0xA0013904, 0x00000002,\n\t0x005AF084, 0xA0013A04, 0x00000002, 0x005AF284, 0xA0013904, 0x00000002,\n\t0x005AF484, 0xA0013904, 0x00000002, 0x005AF684, 0xA0013904, 0x00000002,\n\t0x005AF684, 0x005B0884, 0x00000002, 0x005AFA84, 0xA0013904, 0x00000002,\n\t0x005AFE84, 0xA0013904, 0x00000002, 0x005AFE84, 0xA0013A04, 0x00000002,\n\t0x005AFE84, 0xA0013C04, 0x00000002, 0x005AFE84,\n\t// Block 130, offset 0x2080\n\t0xA0013D04, 0x00000002, 0x005AFE84, 0xA0013E04, 0x00000002, 0x005B0084,\n\t0xA0013904, 0x00000002, 0x005B0084, 0xA0013A04, 0x00000002, 0x005B0284,\n\t0xA0013904, 0x00000002, 0x005B0284, 0xA0013A04, 0x00000002, 0x005B0684,\n\t0xA0013904, 0x00000002, 0x005B0684, 0xA0013A04, 0x00000004, 0x005B0684,\n\t0xA0013904, 0x005B0684, 0xA0013904, 0x00000002, 0x005B0884, 0xA0013904,\n\t0x00000002, 0x005B0A84, 0xA0013904, 0x00000002, 0x005B2484, 0xA0013904,\n\t0x00000002, 0x005B2484, 0xA0013A04, 0x00000002, 0x005B2684, 0xA0013904,\n\t0x00000002, 0x005B2A84, 0xA0013904, 0x00000002, 0x005B3084, 0xA0013904,\n\t0x00000002, 0x005B3284, 0xA0013904, 0x00000002, 0x005B3484, 0xA0013904,\n\t0x00000002, 0x005B3684, 0xA0013904, 0x00000002, 0x005B3884, 0xA0013904,\n\t0x00000002, 0x005B3A84, 0xA0013904, 0x00000002,\n\t// Block 131, offset 0x20c0\n\t0x005B3E84, 0xA0013904, 0x00000002, 0x005B4084, 0xA0013904, 0x00000002,\n\t0x005B4284, 0xA0013904, 0x00000002, 0x005B4484, 0xA0013904, 0x00000002,\n\t0x005B4684, 0xA0013904, 0x00000002, 0x005B4884, 0xA0013904, 0x00000002,\n\t0x005B5284, 0xA0013904, 0x00000002, 0x005B5484, 0xA0013904, 0x00000002,\n\t0x005B5684, 0xA0013904, 0x00000002, 0x005B5884, 0xA0013904, 0x00000002,\n\t0x005B5C84, 0xA0013904, 0x00000002, 0x005B6484, 0xA0013904, 0x00000002,\n\t0x005B6684, 0xA0013904, 0x00000002, 0x005B6884, 0xA0013904, 0x00000002,\n\t0x005B6A84, 0xA0013904, 0x00000002, 0x005B6C84, 0xA0013904, 0x00000002,\n\t0x005B7484, 0xA0013904, 0x00000002, 0x005B7684, 0xA0013904, 0x00000002,\n\t0x005B7884, 0xA0013904, 0x00000002, 0x005B7A84, 0xA0013904, 0x00000002,\n\t0x005B9884, 0x005D9684, 0x00000002, 0x005BBC84,\n\t// Block 132, offset 0x2100\n\t0x005D9684, 0x00000002, 0x005BE684, 0x005D9684, 0x00000002, 0x005C0E84,\n\t0x005D9884, 0x00000002, 0x005C2484, 0x005D9684, 0x00000002, 0x005C3084,\n\t0x005D9884, 0x00000002, 0x005C3484, 0x005D9884, 0x00000002, 0x005C4084,\n\t0x005D9684, 0x00000002, 0x005C8A84, 0x005D9684, 0x00000002, 0x005CE884,\n\t0x005D9684, 0x00000002, 0x005D1684, 0x005D9684, 0x00000002, 0x005D2284,\n\t0x005D9884, 0x00000002, 0x005D3084, 0x005D9684, 0x00000004, 0x0062C486,\n\t0x0063C286, 0x0062C286, 0x0063CE86, 0x00000005, 0x0062C886, 0x0063A886,\n\t0x00648286, 0x0062AC86, 0x0063B886, 0x00000003, 0x0065769C, 0x0027D69C,\n\t0x0065CA9C, 0x00000005, 0x0065769C, 0x0065AA9C, 0xA001291C, 0x0027D69C,\n\t0x00659E9C, 0x00000004, 0x0065769C, 0x0065CA9C, 0x0065AE9C, 0x0065769C,\n\t0x00000005, 0x0065769C, 0x0065D89C, 0x0065B09C,\n\t// Block 133, offset 0x2140\n\t0xA001291C, 0x0065769C, 0x00000005, 0x0065789C, 0x0065A29C, 0x0065D89C,\n\t0x0065869C, 0xA001281C, 0x00000003, 0x0065789C, 0x0065D89C, 0x0065989C,\n\t0x00000002, 0x00657A8E, 0xA0812802, 0x00000002, 0x00657A91, 0xA0812802,\n\t0x00000003, 0x00657A9C, 0x0065809C, 0x0065D89C, 0x00000004, 0x00657E9C,\n\t0x0027D69C, 0x0065829C, 0x0027D69C, 0x00000006, 0x00657E9C, 0x0065909C,\n\t0x0065869C, 0x0027D69C, 0x00659E9C, 0xA001281C, 0x00000003, 0x0065809C,\n\t0x0027D69C, 0x0065B89C, 0x00000003, 0x0065809C, 0x0065D89C, 0x0065909C,\n\t0x00000002, 0x0065828E, 0xA0812802, 0x00000002, 0x00658291, 0xA0812802,\n\t0x00000003, 0x0065829C, 0x0065789C, 0x0065C89C, 0x00000004, 0x0065829C,\n\t0x0065C69C, 0x00659A9C, 0x00659E9C, 0x00000004, 0x0065829C, 0x0065CE9C,\n\t0x0065C89C, 0x0027D69C, 0x00000004, 0x0065829C,\n\t// Block 134, offset 0x2180\n\t0xA001281C, 0x0065CE9C, 0x0065D89C, 0x00000004, 0x0065829C, 0xA001281C,\n\t0x0065D89C, 0x0065B49C, 0x00000002, 0x0065848E, 0xA0812802, 0x00000002,\n\t0x00658491, 0xA0812802, 0x00000004, 0x0065849C, 0xA001281C, 0x0065829C,\n\t0xA001281C, 0x00000004, 0x0065849C, 0xA001281C, 0x0065A29C, 0x0027D69C,\n\t0x00000004, 0x0065849C, 0x0065C09C, 0x0065C89C, 0x0027D69C, 0x00000006,\n\t0x0065849C, 0xA001281C, 0x0065CA9C, 0x0065969C, 0xA001281C, 0x0027D69C,\n\t0x00000006, 0x0065849C, 0x0065CE9C, 0x0065869C, 0xA001281C, 0x0065C69C,\n\t0x0065B89C, 0x00000006, 0x0065849C, 0x0065CE9C, 0x0065BA9C, 0x0027D69C,\n\t0x00659E9C, 0x0065CA9C, 0x00000005, 0x0065849C, 0x0065CE9C, 0x0065D09C,\n\t0x00659A9C, 0x00659E9C, 0x00000002, 0x0065868E, 0xA0812802, 0x00000002,\n\t0x00658691, 0xA0812802, 0x00000004, 0x0065869C,\n\t// Block 135, offset 0x21c0\n\t0xA001281C, 0x0065C69C, 0x0065B89C, 0x00000006, 0x0065869C, 0xA001281C,\n\t0x0065C69C, 0x0065B89C, 0x00659E9C, 0x0065D89C, 0x00000006, 0x0065869C,\n\t0x0065CA9C, 0x0065929C, 0xA001281C, 0x0065789C, 0x0065CE9C, 0x00000004,\n\t0x0065869C, 0x0065CE9C, 0x0027D69C, 0x0065A69C, 0x00000002, 0x0065888E,\n\t0xA0812802, 0x00000002, 0x00658891, 0xA0812802, 0x00000003, 0x0065889C,\n\t0x0027D69C, 0x0065909C, 0x00000002, 0x00658A8E, 0xA0812802, 0x00000002,\n\t0x00658A91, 0xA0812802, 0x00000004, 0x00658A9C, 0x0027D69C, 0x0065B29C,\n\t0xA001291C, 0x00000003, 0x00658A9C, 0x0065CA9C, 0x0065A09C, 0x00000002,\n\t0x00658C8E, 0xA0812802, 0x00000002, 0x00658C91, 0xA0812802, 0x00000004,\n\t0x00658C9C, 0x0065789C, 0x0065869C, 0x0065CA9C, 0x00000005, 0x00658C9C,\n\t0x0065D89C, 0x0065989C, 0x0027D69C, 0x0065B89C,\n\t// Block 136, offset 0x2200\n\t0x00000002, 0x00658E8E, 0xA0812802, 0x00000002, 0x00658E91, 0xA0812802,\n\t0x00000002, 0x00658E84, 0x0065BA84, 0x00000005, 0x00658E9C, 0x0065C89C,\n\t0x0065D89C, 0x0065869C, 0xA001281C, 0x00000002, 0x0065908E, 0xA0812802,\n\t0x00000002, 0x00659091, 0xA0812802, 0x00000002, 0x0065928E, 0xA0812802,\n\t0x00000002, 0x00659291, 0xA0812802, 0x00000003, 0x0065929C, 0x0065D89C,\n\t0x0065989C, 0x00000003, 0x0065929C, 0x0065D89C, 0x00659E9C, 0x00000002,\n\t0x0065948E, 0xA0812802, 0x00000002, 0x00659491, 0xA0812802, 0x00000002,\n\t0x0065968E, 0xA0812802, 0x00000002, 0x00659691, 0xA0812802, 0x00000004,\n\t0x0065969C, 0xA001281C, 0x0027D69C, 0x0065909C, 0x00000002, 0x0065988E,\n\t0xA0812802, 0x00000002, 0x00659891, 0xA0812802, 0x00000002, 0x00659A8E,\n\t0xA0812802, 0x00000002, 0x00659A91, 0xA0812802,\n\t// Block 137, offset 0x2240\n\t0x00000002, 0x00659C8E, 0xA0812802, 0x00000002, 0x00659C91, 0xA0812802,\n\t0x00000003, 0x00659C9C, 0xA001281C, 0x00658E9C, 0x00000002, 0x00659E8E,\n\t0xA0812802, 0x00000002, 0x00659E91, 0xA0812802, 0x00000003, 0x00659E9C,\n\t0xA001281C, 0x0065CA9C, 0x00000003, 0x0065A89C, 0x00659A9C, 0x00659E9C,\n\t0x00000002, 0x0065AA8E, 0xA0812802, 0x00000002, 0x0065AA91, 0xA0812802,\n\t0x00000002, 0x0065AA8E, 0xA0812902, 0x00000002, 0x0065AA91, 0xA0812902,\n\t0x00000006, 0x0065AA9C, 0xA001291C, 0x0027D69C, 0x0065929C, 0x0065D89C,\n\t0x00659E9C, 0x00000004, 0x0065AA9C, 0xA001291C, 0x0027D69C, 0x00659A9C,\n\t0x00000005, 0x0065AA9C, 0xA001281C, 0x0027D69C, 0x0065CC9C, 0x0065CA9C,\n\t0x00000003, 0x0065AA9C, 0x0065789C, 0x00659A9C, 0x00000002, 0x0065AC8E,\n\t0xA0812802, 0x00000002, 0x0065AC91, 0xA0812802,\n\t// Block 138, offset 0x2280\n\t0x00000002, 0x0065AC8E, 0xA0812902, 0x00000002, 0x0065AC91, 0xA0812902,\n\t0x00000006, 0x0065AC9C, 0xA001291C, 0x0065769C, 0x0065909C, 0x00659E9C,\n\t0x0065CA9C, 0x00000004, 0x0065AC9C, 0xA001291C, 0x0065869C, 0x0065CA9C,\n\t0x00000003, 0x0065AC9C, 0xA001291C, 0x00658A9C, 0x00000003, 0x0065AC9C,\n\t0xA001281C, 0x0065CA9C, 0x00000002, 0x0065AE8E, 0xA0812802, 0x00000002,\n\t0x0065AE91, 0xA0812802, 0x00000002, 0x0065AE8E, 0xA0812902, 0x00000002,\n\t0x0065AE91, 0xA0812902, 0x00000006, 0x0065AE9C, 0x0065769C, 0x0065C69C,\n\t0x00659A9C, 0x00659E9C, 0xA001281C, 0x00000004, 0x0065AE9C, 0x0065789C,\n\t0x0027D69C, 0x00659E9C, 0x00000006, 0x0065AE9C, 0xA001281C, 0x00659A9C,\n\t0x00658E9C, 0x00657E9C, 0x0065CA9C, 0x00000003, 0x0065AE9C, 0x0065C69C,\n\t0x0065D89C, 0x00000002, 0x0065B08E, 0xA0812802,\n\t// Block 139, offset 0x22c0\n\t0x00000002, 0x0065B091, 0xA0812802, 0x00000002, 0x0065B08E, 0xA0812902,\n\t0x00000002, 0x0065B091, 0xA0812902, 0x00000005, 0x0065B09C, 0xA001291C,\n\t0x0027D69C, 0x00658E9C, 0xA001281C, 0x00000004, 0x0065B09C, 0xA001281C,\n\t0x0027D69C, 0x0065969C, 0x00000005, 0x0065B09C, 0x0065869C, 0x0065969C,\n\t0x0027D69C, 0x0065CA9C, 0x00000003, 0x0065B09C, 0xA001291C, 0x0065949C,\n\t0x00000004, 0x0065B09C, 0xA001291C, 0x0065A29C, 0x0065AC9C, 0x00000003,\n\t0x0065B09C, 0x0065CA9C, 0x00659A9C, 0x00000004, 0x0065B09C, 0xA001291C,\n\t0x0065D89C, 0x0065909C, 0x00000002, 0x0065B28E, 0xA0812802, 0x00000002,\n\t0x0065B291, 0xA0812802, 0x00000002, 0x0065B28E, 0xA0812902, 0x00000002,\n\t0x0065B291, 0xA0812902, 0x00000003, 0x0065B29C, 0x0027D69C, 0x0065CA9C,\n\t0x00000003, 0x0065B29C, 0x0027D69C, 0x0065D89C,\n\t// Block 140, offset 0x2300\n\t0x00000005, 0x0065B29C, 0xA001291C, 0x0065789C, 0x0065D89C, 0x00659E9C,\n\t0x00000004, 0x0065B29C, 0xA001281C, 0x0065CA9C, 0x00659E9C, 0x00000005,\n\t0x0065B29C, 0xA001291C, 0x0065D89C, 0x00659E9C, 0xA001281C, 0x00000004,\n\t0x0065B49C, 0x0065789C, 0x0065869C, 0x0065CE9C, 0x00000003, 0x0065B49C,\n\t0x0065789C, 0x0065CA9C, 0x00000002, 0x0065B484, 0x00659084, 0x00000003,\n\t0x0065B49C, 0x00659A9C, 0x0065AA9C, 0x00000003, 0x0065B49C, 0x0065CA9C,\n\t0x0065869C, 0x00000005, 0x0065B49C, 0x0065D89C, 0x00658E9C, 0x0065C49C,\n\t0x0065D89C, 0x00000004, 0x0065B69C, 0x0065869C, 0x0065CE9C, 0x0065D89C,\n\t0x00000006, 0x0065B69C, 0x0065C89C, 0x0065AA9C, 0xA001281C, 0x0027D69C,\n\t0x0065CA9C, 0x00000004, 0x0065BA9C, 0x0027D69C, 0x00659E9C, 0x0065CA9C,\n\t0x00000003, 0x0065BA9C, 0x0065829C, 0xA001281C,\n\t// Block 141, offset 0x2340\n\t0x00000005, 0x0065BA9C, 0x0065829C, 0xA001281C, 0x00659E9C, 0x0065D89C,\n\t0x00000004, 0x0065BE9C, 0x0027D69C, 0x00659E9C, 0xA001281C, 0x00000003,\n\t0x0065BE9C, 0x0027D69C, 0x0065CA9C, 0x00000003, 0x0065C09C, 0x0065769C,\n\t0x0065D89C, 0x00000004, 0x0065C89C, 0x00659A9C, 0x00659E9C, 0x0065CA9C,\n\t0x00000005, 0x0065CA9C, 0x0027D69C, 0x0065AE9C, 0xA001281C, 0x0065CA9C,\n\t0x00000004, 0x0065CA9C, 0x0065AC9C, 0xA001291C, 0x0027D69C, 0x00000006,\n\t0x0065CC9C, 0x0065D89C, 0x00659E9C, 0x0065889C, 0xA001281C, 0x0065D89C,\n\t0x00000002, 0x0065D091, 0xA0812802, 0x00000003, 0x0065D09C, 0x00659A9C,\n\t0x00659E9C, 0x00000002, 0x0065D291, 0xA0812802, 0x00000002, 0x0065D491,\n\t0xA0812802, 0x00000002, 0x0065D691, 0xA0812802, 0x00000002, 0x0065DA84,\n\t0xA0013A04, 0x00000002, 0x0065EC84, 0xA0013A04,\n\t// Block 142, offset 0x2380\n\t0x00000002, 0x0065F684, 0xA0013A04, 0x00000002, 0x00660684, 0xA0013A04,\n\t0x00000002, 0x00661284, 0xA0013A04, 0x00000002, 0x00661484, 0xA0013A04,\n\t0x00000002, 0x00661C84, 0xA0013A04, 0x00000002, 0x00661E84, 0xA0013A04,\n\t0x00000002, 0x00662284, 0xA0013A04, 0x00000002, 0x00663884, 0xA0013A04,\n\t0x00000002, 0x00663896, 0xA0013A16, 0x00000002, 0x00663A84, 0xA0013A04,\n\t0x00000002, 0x00663A84, 0xA0013C04, 0x00000002, 0x0075C284, 0xA0013904,\n\t0x00000002, 0x00862084, 0xA0013904, 0x00000002, 0x00862284, 0xA0013904,\n\t0x00000002, 0x00862484, 0xA0013904, 0x00000002, 0x00862684, 0xA0013904,\n\t0x00000002, 0x00862884, 0xA0013904, 0x00000002, 0x00862A84, 0xA0013904,\n\t0x00000002, 0x00862C84, 0xA0013904, 0x00000002, 0x00862C84, 0xA0013A04,\n\t0x00000002, 0x00862E84, 0xA0013904, 0x00000002,\n\t// Block 143, offset 0x23c0\n\t0x00863084, 0xA0013904, 0x00000002, 0x00863284, 0xA0013904, 0x00000002,\n\t0x00863284, 0xA0013A04, 0x00000002, 0x00863484, 0xA0013904, 0x00000002,\n\t0x00863484, 0xA0013A04, 0x00000002, 0x00863684, 0xA0013904, 0x00000002,\n\t0x00863684, 0xA0013A04, 0x00000002, 0x00863884, 0xA0013904, 0x00000002,\n\t0x00863A84, 0xA0013904, 0x00000002, 0x00863C84, 0xA0013904, 0x00000002,\n\t0x00863E84, 0xA0013904, 0x00000002, 0x00863E84, 0xA0013A04, 0x00000002,\n\t0x00863E84, 0xA0013C04, 0x00000002, 0x00864084, 0xA0013904, 0x00000002,\n\t0x00864284, 0xA0013904, 0x00000002, 0x00864484, 0xA0013904, 0x00000002,\n\t0x00864684, 0xA0013904, 0x00000002, 0x00864684, 0xA0013A04, 0x00000002,\n\t0x00864884, 0xA0013904, 0x00000002, 0x00864884, 0xA0013A04, 0x00000002,\n\t0x00864A84, 0xA0013904, 0x00000002, 0x00864C84,\n\t// Block 144, offset 0x2400\n\t0xA0013904, 0x00000002, 0x029C6C84, 0xA0013904, 0x00000002, 0x029CB284,\n\t0xA0013904, 0x00000002, 0x02A30484, 0xA0013904, 0x00000002, 0x02A3C084,\n\t0xA0013904, 0x00000002, 0x02A40084, 0xA0013904, 0x00000002, 0x02A6B884,\n\t0xA0013904, 0x00000002, 0x02A6D284, 0xA0013904, 0x00000002, 0x02A70484,\n\t0xA0013904, 0x00000002, 0x02B81E84, 0xA0013904, 0x00000002, 0x02B81E84,\n\t0xA0013A04, 0x00000002, 0x02B84484, 0xA0013904, 0x00000002, 0x02B84684,\n\t0xA0013904, 0x00000002, 0x02BEA084, 0xA0013904, 0x00000002, 0x02BF8684,\n\t0xA0013904, 0x00000002, 0x02CBCA84, 0xA0013904, 0x00000002, 0x02CE1084,\n\t0xA0013904, 0x00000004, 0x02D0549C, 0x02BE1E9C, 0x029E349C, 0x02F27C9C,\n\t0x00000002, 0x02D6F484, 0xA0013904, 0x00000002, 0x02E45684, 0xA0013904,\n\t0x00000002, 0x02E4B684, 0xA0013904, 0x00000002,\n\t// Block 145, offset 0x2440\n\t0x02E71684, 0xA0013904, 0x00000002, 0x02EB1684, 0xA0013904, 0x00000002,\n\t0x02EDDC84, 0xA0013904, 0x00000002, 0x02F27484, 0xA0013904, 0x00000002,\n\t0x02F5F284, 0xA0013904, 0x00000002, 0x02FEA484, 0xA0013904, 0x00000002,\n\t0x02FEA684, 0xA0013904, 0x00000002, 0x02FEA684, 0xA0013A04, 0x00000002,\n\t0x02FF1484, 0xA0013904, 0x00000002, 0x02FF1484, 0xA0013A04, 0x00000002,\n\t0x0300FE84, 0xA0013904, 0x00000002, 0x03011284, 0xA0013904, 0x00000002,\n\t0x0303F884, 0xA0013904, 0x00000002, 0x0304F284, 0xA0013904, 0x00000002,\n\t0x0304F284, 0xA0013A04, 0x00000002, 0x0313A484, 0xA0013904, 0x00000002,\n\t0x031B6684, 0xA0013904, 0x00000002, 0x031F6C84, 0xA0013904, 0x00000002,\n\t0x031F6C84, 0xA0013A04, 0x00000002, 0x03212284, 0xA0013904, 0x00000002,\n\t0x032C3884, 0xA0013904, 0x00000002, 0x032DD084,\n\t// Block 146, offset 0x2480\n\t0xA0013904, 0x00000002, 0x0331C084, 0xA0013904, 0x00000002, 0x03332C84,\n\t0xA0013904, 0x00000002, 0x03355084, 0xA0013904, 0x00000002, 0x03367884,\n\t0xA0013904, 0x00000002, 0x033CEA84, 0xA0013904, 0x00000002, 0x033E9484,\n\t0xA0013904, 0x00000002, 0x033EA484, 0xA0013904, 0x00000002, 0x033F1A84,\n\t0xA0013904, 0x00000002, 0x033F3884, 0xA0013904, 0x00000002, 0x033F3884,\n\t0xA0013A04, 0x00000003, 0x0003F484, 0x002C9884, 0x0003F69F, 0x00000003,\n\t0x0003F484, 0x002C988A, 0x0003F69F, 0x00000003, 0x0003F484, 0x002D6884,\n\t0x0003F69F, 0x00000003, 0x0003F484, 0x002D688A, 0x0003F69F, 0x00000003,\n\t0x0003F484, 0x002D9A84, 0x0003F69F, 0x00000003, 0x0003F484, 0x002D9A8A,\n\t0x0003F69F, 0x00000003, 0x0003F484, 0x002DFE84, 0x0003F69F, 0x00000003,\n\t0x0003F484, 0x002DFE8A, 0x0003F69F, 0x00000003,\n\t// Block 147, offset 0x24c0\n\t0x0003F484, 0x002EE284, 0x0003F69F, 0x00000003, 0x0003F484, 0x002EE28A,\n\t0x0003F69F, 0x00000003, 0x0003F484, 0x002F5684, 0x0003F69F, 0x00000003,\n\t0x0003F484, 0x002F568A, 0x0003F69F, 0x00000003, 0x0003F484, 0x002F7A84,\n\t0x0003F69F, 0x00000003, 0x0003F484, 0x002F7A8A, 0x0003F69F, 0x00000003,\n\t0x0003F484, 0x002FE684, 0x0003F69F, 0x00000003, 0x0003F484, 0x002FE68A,\n\t0x0003F69F, 0x00000003, 0x0003F484, 0x00302C84, 0x0003F69F, 0x00000003,\n\t0x0003F484, 0x00302C8A, 0x0003F69F, 0x00000003, 0x0003F484, 0x0030F684,\n\t0x0003F69F, 0x00000003, 0x0003F484, 0x0030F68A, 0x0003F69F, 0x00000003,\n\t0x0004B084, 0x002FE68A, 0x0004B29F, 0x00000002, 0x002C0A9D, 0x002F569C,\n\t0x00000002, 0x402C0C20, 0xAE604102, 0x00000002, 0x002C0C83, 0xAE604102,\n\t0x00000002, 0x402C0C20, 0xAE604702, 0x00000002,\n\t// Block 148, offset 0x2500\n\t0x402C0C20, 0xAE605202, 0x00000002, 0x002C0C83, 0xAE605202, 0x00000002,\n\t0x402C0C20, 0xACA05602, 0x00000002, 0x002C0C83, 0xACA05602, 0x00000002,\n\t0x402C0C20, 0xADC07002, 0x00000002, 0x002C0C83, 0xADC07002, 0x00000002,\n\t0x402C0C20, 0xADC07702, 0x00000002, 0x002C0C83, 0xADC07702, 0x00000002,\n\t0x402C0C20, 0xADC07802, 0x00000002, 0x002C0C83, 0xADC07802, 0x00000002,\n\t0x402C0C20, 0xADC07B02, 0x00000002, 0x002C0C83, 0xADC07B02, 0x00000002,\n\t0x402C0E20, 0xAE603202, 0x00000002, 0x002C0E83, 0xAE603202, 0x00000003,\n\t0x402C0E20, 0xAE603202, 0xAE605202, 0x00000003, 0x002C0E83, 0xAE603202,\n\t0xAE605202, 0x00000002, 0x402C0E20, 0xAE603C02, 0x00000002, 0x002C0E83,\n\t0xAE603C02, 0x00000002, 0x402C0E20, 0xAE604102, 0x00000002, 0x002C0E83,\n\t0xAE604102, 0x00000003, 0x402C0E20, 0xAE604102,\n\t// Block 149, offset 0x2540\n\t0xAE605202, 0x00000003, 0x002C0E83, 0xAE604102, 0xAE605202, 0x00000002,\n\t0x402C0E20, 0xAE605202, 0x00000002, 0x002C0E83, 0xAE605202, 0x00000002,\n\t0x402C0E20, 0xACA05602, 0x00000002, 0x002C0E83, 0xACA05602, 0x00000002,\n\t0x402C0E20, 0xADC07002, 0x00000002, 0x002C0E83, 0xADC07002, 0x00000003,\n\t0x402C0E20, 0xADC07002, 0xAE605202, 0x00000003, 0x002C0E83, 0xADC07002,\n\t0xAE605202, 0x00000002, 0x402C0E20, 0xADC07702, 0x00000002, 0x002C0E83,\n\t0xADC07702, 0x00000002, 0x402C1020, 0xAE603202, 0x00000002, 0x002C1083,\n\t0xAE603202, 0x00000002, 0x402C1020, 0xAE603502, 0x00000002, 0x002C1083,\n\t0xAE603502, 0x00000002, 0x402C1020, 0xAE603702, 0x00000002, 0x002C1083,\n\t0xAE603702, 0x00000002, 0x402C1020, 0xAE603C02, 0x00000002, 0x002C1083,\n\t0xAE603C02, 0x00000003, 0x402C1020, 0xAE603C02,\n\t// Block 150, offset 0x2580\n\t0xAE603202, 0x00000003, 0x002C1083, 0xAE603C02, 0xAE603202, 0x00000003,\n\t0x402C1020, 0xAE603C02, 0xAE603502, 0x00000003, 0x002C1083, 0xAE603C02,\n\t0xAE603502, 0x00000003, 0x402C1020, 0xAE603C02, 0xAE604E02, 0x00000003,\n\t0x002C1083, 0xAE603C02, 0xAE604E02, 0x00000003, 0x402C1020, 0xAE603C02,\n\t0xAE606402, 0x00000003, 0x002C1083, 0xAE603C02, 0xAE606402, 0x00000002,\n\t0x402C1020, 0xAE604102, 0x00000002, 0x002C1083, 0xAE604102, 0x00000002,\n\t0x402C1020, 0xAE604702, 0x00000002, 0x002C1083, 0xAE604702, 0x00000002,\n\t0x402C1020, 0xAE604E02, 0x00000002, 0x002C1083, 0xAE604E02, 0x00000002,\n\t0x402C1020, 0xAE605202, 0x00000002, 0x002C1083, 0xAE605202, 0x00000002,\n\t0x402C1020, 0xACA05602, 0x00000002, 0x002C1083, 0xACA05602, 0x00000003,\n\t0x402C1020, 0xACA05602, 0xAE603702, 0x00000003,\n\t// Block 151, offset 0x25c0\n\t0x002C1083, 0xACA05602, 0xAE603702, 0x00000002, 0x402C1020, 0xACA05902,\n\t0x00000002, 0x002C1083, 0xACA05902, 0x00000002, 0x402C1020, 0xAE605B02,\n\t0x00000002, 0x002C1083, 0xAE605B02, 0x00000003, 0x402C1020, 0xAE605B02,\n\t0xAE603202, 0x00000003, 0x002C1083, 0xAE605B02, 0xAE603202, 0x00000003,\n\t0x402C1020, 0xAE605B02, 0xAE603502, 0x00000003, 0x002C1083, 0xAE605B02,\n\t0xAE603502, 0x00000002, 0x402C1020, 0xAE606402, 0x00000002, 0x002C1083,\n\t0xAE606402, 0x00000002, 0x402C1020, 0xAE606502, 0x00000002, 0x002C1083,\n\t0xAE606502, 0x00000002, 0x402C1020, 0xAE606702, 0x00000002, 0x002C1083,\n\t0xAE606702, 0x00000002, 0x402C1020, 0xADC07002, 0x00000002, 0x002C1083,\n\t0xADC07002, 0x00000003, 0x402C1020, 0xADC07002, 0xAE603C02, 0x00000003,\n\t0x002C1083, 0xADC07002, 0xAE603C02, 0x00000002,\n\t// Block 152, offset 0x2600\n\t0x402C1020, 0xADC07802, 0x00000002, 0x002C1083, 0xADC07802, 0x00000002,\n\t0x402C1020, 0xADC07A02, 0x00000002, 0x002C1083, 0xADC07A02, 0x00000002,\n\t0x402C3C20, 0xAE603202, 0x00000002, 0x002C3C83, 0xAE603202, 0x00000002,\n\t0x402C3C20, 0xAE604102, 0x00000002, 0x002C3C83, 0xAE604102, 0x00000002,\n\t0x402C3C20, 0xACA05602, 0x00000002, 0x002C3C83, 0xACA05602, 0x00000002,\n\t0x402C3C20, 0xADC07002, 0x00000002, 0x002C3C83, 0xADC07002, 0x00000002,\n\t0x402C3C20, 0xADC07B02, 0x00000002, 0x002C3C83, 0xADC07B02, 0x00000002,\n\t0x402C3E20, 0xAE604702, 0x00000002, 0x002C3E83, 0xAE604702, 0x00000002,\n\t0x402C3E20, 0xAE605202, 0x00000002, 0x002C3E83, 0xAE605202, 0x00000002,\n\t0x402C4020, 0xAE603202, 0x00000002, 0x002C4083, 0xAE603202, 0x00000002,\n\t0x402C4020, 0xAE603502, 0x00000002, 0x002C4083,\n\t// Block 153, offset 0x2640\n\t0xAE603502, 0x00000002, 0x402C4020, 0xAE603702, 0x00000002, 0x002C4083,\n\t0xAE603702, 0x00000002, 0x402C4020, 0xAE603C02, 0x00000002, 0x002C4083,\n\t0xAE603C02, 0x00000002, 0x402C4020, 0xAE604102, 0x00000002, 0x002C4083,\n\t0xAE604102, 0x00000002, 0x402C4020, 0xAE604702, 0x00000002, 0x002C4083,\n\t0xAE604702, 0x00000003, 0x402C4020, 0xAE604702, 0xAE603202, 0x00000003,\n\t0x002C4083, 0xAE604702, 0xAE603202, 0x00000002, 0x402C4020, 0xAE604E02,\n\t0x00000002, 0x002C4083, 0xAE604E02, 0x00000002, 0x002C4083, 0xAE605202,\n\t0x00000002, 0x402C4020, 0xACA05902, 0x00000002, 0x002C4083, 0xACA05902,\n\t0x00000002, 0x402C4020, 0xAE605B02, 0x00000002, 0x002C4083, 0xAE605B02,\n\t0x00000002, 0x402C4020, 0xAE606402, 0x00000002, 0x002C4083, 0xAE606402,\n\t0x00000002, 0x402C4020, 0xAE606502, 0x00000002,\n\t// Block 154, offset 0x2680\n\t0x002C4083, 0xAE606502, 0x00000002, 0x402C4020, 0xAE606702, 0x00000002,\n\t0x002C4083, 0xAE606702, 0x00000002, 0x402C4020, 0xADC07002, 0x00000002,\n\t0x002C4083, 0xADC07002, 0x00000002, 0x402C4020, 0xADC07A02, 0x00000002,\n\t0x002C4083, 0xADC07A02, 0x00000002, 0x402C6620, 0xAE603202, 0x00000002,\n\t0x002C6683, 0xAE603202, 0x00000002, 0x402C6620, 0xAE604102, 0x00000002,\n\t0x002C6683, 0xAE604102, 0x00000002, 0x402C6620, 0xAE605202, 0x00000002,\n\t0x002C6683, 0xAE605202, 0x00000002, 0x402C6620, 0xACA05602, 0x00000002,\n\t0x002C6683, 0xACA05602, 0x00000002, 0x402C6620, 0xAE606502, 0x00000002,\n\t0x002C6683, 0xAE606502, 0x00000002, 0x402C6620, 0xAE606702, 0x00000002,\n\t0x002C6683, 0xAE606702, 0x00000002, 0x402C6620, 0xADC07002, 0x00000002,\n\t0x002C6683, 0xADC07002, 0x00000003, 0x402C6620,\n\t// Block 155, offset 0x26c0\n\t0xADC07002, 0xAE605B02, 0x00000003, 0x002C6683, 0xADC07002, 0xAE605B02,\n\t0x00000002, 0x402C6620, 0xADC07B02, 0x00000002, 0x002C6683, 0xADC07B02,\n\t0x00000002, 0x002C989C, 0x0030BE9D, 0x00000002, 0x002D0884, 0x002D9A84,\n\t0x00000002, 0x402D2420, 0xAE603202, 0x00000002, 0x002D2483, 0xAE603202,\n\t0x00000002, 0x402D2420, 0xAE603502, 0x00000002, 0x002D2483, 0xAE603502,\n\t0x00000002, 0x402D2420, 0xAE603702, 0x00000002, 0x002D2483, 0xAE603702,\n\t0x00000002, 0x402D2420, 0xAE603C02, 0x00000002, 0x002D2483, 0xAE603C02,\n\t0x00000003, 0x402D2420, 0xAE603C02, 0xAE603202, 0x00000003, 0x002D2483,\n\t0xAE603C02, 0xAE603202, 0x00000003, 0x402D2420, 0xAE603C02, 0xAE603502,\n\t0x00000003, 0x002D2483, 0xAE603C02, 0xAE603502, 0x00000003, 0x402D2420,\n\t0xAE603C02, 0xAE604E02, 0x00000003, 0x002D2483,\n\t// Block 156, offset 0x2700\n\t0xAE603C02, 0xAE604E02, 0x00000003, 0x402D2420, 0xAE603C02, 0xAE606402,\n\t0x00000003, 0x002D2483, 0xAE603C02, 0xAE606402, 0x00000002, 0x402D2420,\n\t0xAE604102, 0x00000002, 0x002D2483, 0xAE604102, 0x00000002, 0x402D2420,\n\t0xAE604702, 0x00000002, 0x002D2483, 0xAE604702, 0x00000003, 0x402D2420,\n\t0xAE604702, 0xAE605B02, 0x00000003, 0x002D2483, 0xAE604702, 0xAE605B02,\n\t0x00000002, 0x402D2420, 0xAE604D02, 0x00000002, 0x002D2483, 0xAE604D02,\n\t0x00000002, 0x402D2420, 0xAE604E02, 0x00000002, 0x002D2483, 0xAE604E02,\n\t0x00000003, 0x402D2420, 0xAE604E02, 0xAE603202, 0x00000003, 0x002D2483,\n\t0xAE604E02, 0xAE603202, 0x00000003, 0x402D2420, 0xAE604E02, 0xAE604702,\n\t0x00000003, 0x002D2483, 0xAE604E02, 0xAE604702, 0x00000003, 0x402D2420,\n\t0xAE604E02, 0xAE605B02, 0x00000003, 0x002D2483,\n\t// Block 157, offset 0x2740\n\t0xAE604E02, 0xAE605B02, 0x00000002, 0x402D2420, 0xAE605202, 0x00000002,\n\t0x002D2483, 0xAE605202, 0x00000003, 0x402D2420, 0xAE605202, 0xAE605B02,\n\t0x00000003, 0x002D2483, 0xAE605202, 0xAE605B02, 0x00000002, 0x402D2420,\n\t0xACA05902, 0x00000002, 0x002D2483, 0xACA05902, 0x00000003, 0x402D2420,\n\t0xACA05902, 0xAE605B02, 0x00000003, 0x002D2483, 0xACA05902, 0xAE605B02,\n\t0x00000002, 0x402D2420, 0xAE605B02, 0x00000002, 0x002D2483, 0xAE605B02,\n\t0x00000003, 0x402D2420, 0xAE605B02, 0xAE603202, 0x00000003, 0x002D2483,\n\t0xAE605B02, 0xAE603202, 0x00000003, 0x402D2420, 0xAE605B02, 0xAE603502,\n\t0x00000003, 0x002D2483, 0xAE605B02, 0xAE603502, 0x00000002, 0x402D2420,\n\t0xAE606402, 0x00000002, 0x002D2483, 0xAE606402, 0x00000002, 0x402D2420,\n\t0xAE606502, 0x00000002, 0x002D2483, 0xAE606502,\n\t// Block 158, offset 0x2780\n\t0x00000002, 0x402D2420, 0xAE606702, 0x00000002, 0x002D2483, 0xAE606702,\n\t0x00000002, 0x402D2420, 0xAD806802, 0x00000002, 0x002D2483, 0xAD806802,\n\t0x00000003, 0x402D2420, 0xAD806802, 0xAE603202, 0x00000003, 0x002D2483,\n\t0xAD806802, 0xAE603202, 0x00000003, 0x402D2420, 0xAD806802, 0xAE603502,\n\t0x00000003, 0x002D2483, 0xAD806802, 0xAE603502, 0x00000003, 0x402D2420,\n\t0xAD806802, 0xAE604E02, 0x00000003, 0x002D2483, 0xAD806802, 0xAE604E02,\n\t0x00000003, 0x402D2420, 0xAD806802, 0xAE606402, 0x00000003, 0x002D2483,\n\t0xAD806802, 0xAE606402, 0x00000003, 0x402D2420, 0xAD806802, 0xADC07002,\n\t0x00000003, 0x002D2483, 0xAD806802, 0xADC07002, 0x00000002, 0x402D2420,\n\t0xADC07002, 0x00000002, 0x002D2483, 0xADC07002, 0x00000003, 0x402D2420,\n\t0xADC07002, 0xAE603C02, 0x00000003, 0x002D2483,\n\t// Block 159, offset 0x27c0\n\t0xADC07002, 0xAE603C02, 0x00000002, 0x002D689C, 0x002BDE9C, 0x00000002,\n\t0x002D689D, 0x002D229C, 0x00000002, 0x002D689D, 0x002F2C9D, 0x00000002,\n\t0x002D689D, 0x0030BE9D, 0x00000002, 0x002D689D, 0x00312A9C, 0x00000002,\n\t0x002D9A84, 0x002D9A9F, 0x00000002, 0x002D9A8A, 0x002D9A9F, 0x00000003,\n\t0x002D9A84, 0x002D9A84, 0x002D9A9F, 0x00000003, 0x002D9A8A, 0x002D9A8A,\n\t0x002D9A9F, 0x00000002, 0x002D9A84, 0x002DCC84, 0x00000002, 0x002D9A8A,\n\t0x002DCC8A, 0x00000002, 0x002D9A9C, 0x002E9E9C, 0x00000002, 0x002D9A9D,\n\t0x00306C9D, 0x00000002, 0x002D9A84, 0x0030BE9F, 0x00000002, 0x002D9A8A,\n\t0x0030BE9F, 0x00000002, 0x002D9A84, 0x0030F69F, 0x00000002, 0x002D9A8A,\n\t0x0030F69F, 0x00000002, 0x002DFE9C, 0x002BDE9D, 0x00000002, 0x002DFE9D,\n\t0x002C0A9D, 0x00000002, 0x002DFE9C, 0x002D229C,\n\t// Block 160, offset 0x2800\n\t0x00000002, 0x002DFE9D, 0x002DFE9D, 0x00000002, 0x002DFE9C, 0x002E229C,\n\t0x00000002, 0x002DFE9C, 0x002E829C, 0x00000002, 0x002DFE9D, 0x002E829D,\n\t0x00000002, 0x002DFE9C, 0x00302C9C, 0x00000002, 0x002DFE9C, 0x0030BE9D,\n\t0x00000002, 0x002DFE9C, 0x0030E29D, 0x00000002, 0x002DFE9C, 0x0032A29D,\n\t0x00000002, 0x002E229C, 0x0030F69C, 0x00000002, 0x002E829C, 0x002FE69C,\n\t0x00000002, 0x002E9E8A, 0x002EE284, 0x00000002, 0x002E9E9C, 0x002FE69C,\n\t0x00000002, 0x002EE29C, 0x0030BE9D, 0x00000002, 0x002F2C9D, 0x002D689D,\n\t0x00000002, 0x002F2C9D, 0x002F7A9D, 0x00000002, 0x002F2C9C, 0x002FE69C,\n\t0x00000002, 0x002FE69D, 0x002C629D, 0x00000002, 0x002FE694, 0x002E8294,\n\t0x00000002, 0x002FE69C, 0x002F7A9C, 0x00000002, 0x002FE69D, 0x002FE69D,\n\t0x00000002, 0x002FE684, 0x00302C84, 0x00000002,\n\t// Block 161, offset 0x2840\n\t0x002FE69D, 0x0030BE9C, 0x00000002, 0x00302C94, 0x002E8294, 0x00000002,\n\t0x0030BE84, 0x002D9A9F, 0x00000002, 0x0030BE8A, 0x002D9A9F, 0x00000003,\n\t0x0030BE84, 0x002D9A84, 0x002D9A9F, 0x00000003, 0x0030BE8A, 0x002D9A8A,\n\t0x002D9A9F, 0x00000002, 0x4030E420, 0xAE603C02, 0x00000002, 0x0030E483,\n\t0xAE603C02, 0x00000002, 0x4030E420, 0xAE604102, 0x00000002, 0x0030E483,\n\t0xAE604102, 0x00000002, 0x4030E420, 0xAE604702, 0x00000002, 0x0030E483,\n\t0xAE604702, 0x00000002, 0x4030E420, 0xAE605202, 0x00000002, 0x0030E483,\n\t0xAE605202, 0x00000002, 0x4030E420, 0xACA05602, 0x00000002, 0x0030E483,\n\t0xACA05602, 0x00000002, 0x4030E420, 0xADC07002, 0x00000002, 0x0030E483,\n\t0xADC07002, 0x00000002, 0x4030E420, 0xADC07902, 0x00000002, 0x0030E483,\n\t0xADC07902, 0x00000002, 0x4030E420, 0xADC07B02,\n\t// Block 162, offset 0x2880\n\t0x00000002, 0x0030F684, 0x002D9A9F, 0x00000002, 0x0030F68A, 0x002D9A9F,\n\t0x00000003, 0x0030F684, 0x002D9A84, 0x002D9A9F, 0x00000003, 0x0030F68A,\n\t0x002D9A8A, 0x002D9A9F, 0x00000002, 0x0032769C, 0x002FE69C, 0x00000002,\n\t0x00393C99, 0x003A8E99, 0x00000002, 0x00393C9A, 0x003A8E9A, 0x00000002,\n\t0x00395699, 0x003A8E99, 0x00000002, 0x0039569A, 0x003A8E9A, 0x00000002,\n\t0x00395899, 0x003A8E99, 0x00000002, 0x0039589A, 0x003A8E9A, 0x00000002,\n\t0x00396499, 0x003A8E99, 0x00000002, 0x0039649A, 0x003A8E9A, 0x00000002,\n\t0x00397299, 0x003A8E99, 0x00000002, 0x0039729A, 0x003A8E9A, 0x00000002,\n\t0x00397499, 0x003A8E99, 0x00000002, 0x0039749A, 0x003A8E9A, 0x00000002,\n\t0x0039C699, 0x003A8E99, 0x00000002, 0x0039C69A, 0x003A8E9A, 0x00000002,\n\t0x0039C899, 0x003A8E99, 0x00000002, 0x0039C89A,\n\t// Block 163, offset 0x28c0\n\t0x003A8E9A, 0x00000002, 0x0039DC99, 0x003A8E99, 0x00000002, 0x0039DC9A,\n\t0x003A8E9A, 0x00000002, 0x0039DE99, 0x003A8E99, 0x00000002, 0x0039DE9A,\n\t0x003A8E9A, 0x00000002, 0x0039E699, 0x003A8E99, 0x00000002, 0x0039E69A,\n\t0x003A8E9A, 0x00000002, 0x0039EE99, 0x003A8E99, 0x00000002, 0x0039EE9A,\n\t0x003A8E9A, 0x00000002, 0x0039F099, 0x003A8E99, 0x00000002, 0x0039F09A,\n\t0x003A8E9A, 0x00000002, 0x0039FC99, 0x003A8E99, 0x00000002, 0x0039FC9A,\n\t0x003A8E9A, 0x00000002, 0x003A1299, 0x003A8E99, 0x00000002, 0x003A129A,\n\t0x003A8E9A, 0x00000002, 0x003A1A99, 0x003A8E99, 0x00000002, 0x003A1A9A,\n\t0x003A8E9A, 0x00000002, 0x003A4099, 0x003A8E99, 0x00000002, 0x003A409A,\n\t0x003A8E9A, 0x00000002, 0x003A4E9A, 0x003A8E9A, 0x00000002, 0x003A5699,\n\t0x003A8E99, 0x00000002, 0x003A569A, 0x003A8E9A,\n\t// Block 164, offset 0x2900\n\t0x00000002, 0x003A689A, 0x003A8E9A, 0x00000002, 0x003A9099, 0x003A8E99,\n\t0x00000002, 0x003A909A, 0x003A8E9A, 0x00000002, 0x402D6A20, 0xAE604702,\n\t0x00000002, 0x002D6A83, 0xAE604702, 0x00000002, 0x402D6A20, 0xAE605202,\n\t0x00000002, 0x002D6A83, 0xAE605202, 0x00000002, 0x002D9883, 0xAE603202,\n\t0x00000002, 0x002D9883, 0xAE603502, 0x00000002, 0x002D9883, 0xAE603702,\n\t0x00000002, 0x002D9883, 0xAE603C02, 0x00000002, 0x002D9883, 0xAE604102,\n\t0x00000002, 0x002D9883, 0xAE604702, 0x00000003, 0x002D9883, 0xAE604702,\n\t0xAE603202, 0x00000002, 0x002D9883, 0xAE604E02, 0x00000002, 0x002D9883,\n\t0xACA05902, 0x00000002, 0x002D9883, 0xAE605B02, 0x00000002, 0x002D9883,\n\t0xAE606402, 0x00000002, 0x002D9883, 0xAE606502, 0x00000002, 0x002D9883,\n\t0xAE606702, 0x00000002, 0x002D9883, 0xADC07002,\n\t// Block 165, offset 0x2940\n\t0x00000002, 0x002D9883, 0xADC07A02, 0x00000002, 0x402EE420, 0xAE604E02,\n\t0x00000002, 0x002EE483, 0xAE604E02, 0x00000002, 0x402EE420, 0xAE605B02,\n\t0x00000002, 0x002EE483, 0xAE605B02, 0x00000002, 0x40306E20, 0xAE603202,\n\t0x00000002, 0x00306E83, 0xAE603202, 0x00000002, 0x40306E20, 0xAE603502,\n\t0x00000002, 0x00306E83, 0xAE603502, 0x00000002, 0x40306E20, 0xAE604102,\n\t0x00000002, 0x00306E83, 0xAE604102, 0x00000002, 0x40306E20, 0xAE605B02,\n\t0x00000002, 0x00306E83, 0xAE605B02, 0x00000002, 0x402FE820, 0xAE605202,\n\t0x00000002, 0x002FE883, 0xAE605202, 0x00000002, 0x002C6294, 0xA0013914,\n\t0x00000002, 0x00302C83, 0x402D6820, 0x00000002, 0x00302C89, 0x002D6888,\n\t0x00000002, 0x40310021, 0xAE603202, 0x00000002, 0x003100A3, 0xAE603202,\n\t0x00000002, 0x40310021, 0xAE603502, 0x00000002,\n\t// Block 166, offset 0x2980\n\t0x003100A3, 0xAE603502, 0x00000002, 0x40310021, 0xAE604102, 0x00000002,\n\t0x003100A3, 0xAE604102, 0x00000002, 0x40310021, 0xAE605B02, 0x00000002,\n\t0x003100A3, 0xAE605B02, 0x00000002, 0x40320C20, 0xAE603202, 0x00000002,\n\t0x00320C83, 0xAE603202, 0x00000002, 0x40320C20, 0xAE605B02, 0x00000002,\n\t0x00320C83, 0xAE605B02, 0x00000002, 0x40320C21, 0xAE605B02, 0x00000002,\n\t0x00320CA3, 0xAE605B02, 0x00000002, 0x40320E20, 0xAE603202, 0x00000002,\n\t0x00320E83, 0xAE603202, 0x00000002, 0x40320E21, 0xAE604E02, 0x00000002,\n\t0x00320EA3, 0xAE604E02, 0x00000002, 0x40320E21, 0xAE605B02, 0x00000002,\n\t0x00320EA3, 0xAE605B02, 0x00000002, 0x40321020, 0xAE603202, 0x00000002,\n\t0x00321083, 0xAE603202, 0x00000002, 0x402BDE21, 0x002C9888, 0x00000002,\n\t0x002BDEA3, 0x002C9888, 0x00000003, 0x402BDE21,\n\t// Block 167, offset 0x29c0\n\t0x002C9888, 0xAE605B02, 0x00000003, 0x002BDEA3, 0x002C9888, 0xAE605B02,\n\t0x00000002, 0x402EE221, 0x002C9888, 0x00000002, 0x002EE2A3, 0x002C9888,\n\t0x00000003, 0x402EE221, 0x002C9888, 0xAE604E02, 0x00000003, 0x002EE2A3,\n\t0x002C9888, 0xAE604E02, 0x00000003, 0x402EE221, 0x002C9888, 0xAE605B02,\n\t0x00000003, 0x002EE2A3, 0x002C9888, 0xAE605B02, 0x00000002, 0x40306C21,\n\t0x002C9888, 0x00000002, 0x00306CA3, 0x002C9888, 0x00000003, 0x40306C21,\n\t0x002C9888, 0xAE603202, 0x00000003, 0x00306CA3, 0x002C9888, 0xAE603202,\n\t0x00000003, 0x40306C21, 0x002C9888, 0xAE603502, 0x00000003, 0x00306CA3,\n\t0x002C9888, 0xAE603502, 0x00000003, 0x40306C21, 0x002C9888, 0xAE604102,\n\t0x00000003, 0x00306CA3, 0x002C9888, 0xAE604102, 0x00000003, 0x40306C21,\n\t0x002C9888, 0xAE605B02, 0x00000003, 0x00306CA3,\n\t// Block 168, offset 0x2a00\n\t0x002C9888, 0xAE605B02, 0x00000002, 0x404A7620, 0x838225B3, 0x00000004,\n\t0x004A8083, 0x404AB020, 0x404A8020, 0x404AFA20, 0x00000004, 0x004A8084,\n\t0x404AB020, 0x404A8020, 0x404AFA20, 0x00000004, 0x004A8083, 0x404AB420,\n\t0x404A8020, 0x404AFA20, 0x00000004, 0x004A8084, 0x404AB420, 0x404A8020,\n\t0x404AFA20, 0x00000004, 0x004A8083, 0x404AFA20, 0x404A8020, 0x404AFA20,\n\t0x00000004, 0x004A8084, 0x404AFA20, 0x404A8020, 0x404AFA20, 0x00000002,\n\t0x404A8020, 0x828225B5, 0x00000004, 0x004AB083, 0x404A8020, 0x404A8020,\n\t0x404AFA20, 0x00000004, 0x004AB084, 0x404A8020, 0x404A8020, 0x404AFA20,\n\t0x00000004, 0x004AB083, 0x404A8420, 0x404A8020, 0x404AFA20, 0x00000004,\n\t0x004AB084, 0x404A8420, 0x404A8020, 0x404AFA20, 0x00000004, 0x004AB083,\n\t0x404AB820, 0x404A8020, 0x404AFA20, 0x00000004,\n\t// Block 169, offset 0x2a40\n\t0x004AB084, 0x404AB820, 0x404A8020, 0x404AFA20, 0x00000004, 0x004AB083,\n\t0x404AC020, 0x404A8020, 0x404AFA20, 0x00000004, 0x004AB084, 0x404AC020,\n\t0x404A8020, 0x404AFA20, 0x00000004, 0x004AB083, 0x404AC420, 0x404A8020,\n\t0x404AFA20, 0x00000004, 0x004AB084, 0x404AC420, 0x404A8020, 0x404AFA20,\n\t0x00000002, 0x404AB020, 0x828225B5, 0x00000002, 0x004AB083, 0x828225B5,\n\t0x00000004, 0x004AC083, 0x404A8020, 0x404A8020, 0x404AFA20, 0x00000004,\n\t0x004AC084, 0x404A8020, 0x404A8020, 0x404AFA20, 0x00000004, 0x004AC083,\n\t0x404AB020, 0x404A8020, 0x404AFA20, 0x00000004, 0x004AC084, 0x404AB020,\n\t0x404A8020, 0x404AFA20, 0x00000004, 0x004AC083, 0x404AFA20, 0x404A8020,\n\t0x404AFA20, 0x00000004, 0x004AC084, 0x404AFA20, 0x404A8020, 0x404AFA20,\n\t0x00000002, 0x404AC020, 0x828225B5, 0x00000004,\n\t// Block 170, offset 0x2a80\n\t0x004AC483, 0x404A8420, 0x404A8020, 0x404AFA20, 0x00000004, 0x004AC484,\n\t0x404A8420, 0x404A8020, 0x404AFA20, 0x00000004, 0x004AC483, 0x404AB020,\n\t0x404A8020, 0x404AFA20, 0x00000004, 0x004AC484, 0x404AB020, 0x404A8020,\n\t0x404AFA20, 0x00000004, 0x004AC483, 0x404AB420, 0x404A8020, 0x404AFA20,\n\t0x00000004, 0x004AC484, 0x404AB420, 0x404A8020, 0x404AFA20, 0x00000002,\n\t0x404AD020, 0x828225B5, 0x00000004, 0x004AE083, 0x404A8020, 0x404A8020,\n\t0x404AFA20, 0x00000004, 0x004AE084, 0x404A8020, 0x404A8020, 0x404AFA20,\n\t0x00000004, 0x004AE083, 0x404AB020, 0x404A8020, 0x404AFA20, 0x00000004,\n\t0x004AE084, 0x404AB020, 0x404A8020, 0x404AFA20, 0x00000004, 0x004AE083,\n\t0x404AC020, 0x404A8020, 0x404AFA20, 0x00000004, 0x004AE084, 0x404AC020,\n\t0x404A8020, 0x404AFA20, 0x00000002, 0x404AEA20,\n\t// Block 171, offset 0x2ac0\n\t0x8281258B, 0x00000002, 0x404AF020, 0x8281258B, 0x00000002, 0x82822599,\n\t0x838225B3, 0x00000002, 0x8282259B, 0x828225B5, 0x00000002, 0x828225A3,\n\t0x828225B5, 0x00000002, 0x838225A3, 0x828225B5, 0x00000002, 0x828225A7,\n\t0x828225B5, 0x00000002, 0x828225AB, 0x828225B5, 0x00000002, 0x402BDE20,\n\t0xAE604202, 0x00000002, 0x002BDE88, 0xAE604202, 0x00000003, 0x402BDE20,\n\t0xAE604202, 0xAE603202, 0x00000003, 0x002BDE88, 0xAE604202, 0xAE603202,\n\t0x00000003, 0x402BDE20, 0xAE604202, 0xAE603502, 0x00000003, 0x002BDE88,\n\t0xAE604202, 0xAE603502, 0x00000003, 0x402BDE20, 0xAE604202, 0xAE604E02,\n\t0x00000003, 0x002BDE88, 0xAE604202, 0xAE604E02, 0x00000003, 0x402BDE20,\n\t0xAE604202, 0xAE606402, 0x00000003, 0x002BDE88, 0xAE604202, 0xAE606402,\n\t0x00000003, 0x402BDE20, 0xADC07002, 0xAE604202,\n\t// Block 172, offset 0x2b00\n\t0x00000003, 0x002BDE88, 0xADC07002, 0xAE604202, 0x00000002, 0x402C3A20,\n\t0xAE604202, 0x00000002, 0x002C3A88, 0xAE604202, 0x00000002, 0x402C9820,\n\t0xAE604202, 0x00000002, 0x002C9888, 0xAE604202, 0x00000003, 0x402C9820,\n\t0xAE604202, 0xAE603202, 0x00000003, 0x002C9888, 0xAE604202, 0xAE603202,\n\t0x00000003, 0x402C9820, 0xAE604202, 0xAE603502, 0x00000003, 0x002C9888,\n\t0xAE604202, 0xAE603502, 0x00000003, 0x402C9820, 0xAE604202, 0xAE604E02,\n\t0x00000003, 0x002C9888, 0xAE604202, 0xAE604E02, 0x00000003, 0x402C9820,\n\t0xAE604202, 0xAE606402, 0x00000003, 0x002C9888, 0xAE604202, 0xAE606402,\n\t0x00000003, 0x402C9820, 0xADC07002, 0xAE604202, 0x00000003, 0x002C9888,\n\t0xADC07002, 0xAE604202, 0x00000002, 0x402D2220, 0xAE604202, 0x00000002,\n\t0x002D2288, 0xAE604202, 0x00000002, 0x402D6820,\n\t// Block 173, offset 0x2b40\n\t0xAE604202, 0x00000002, 0x002D6888, 0xAE604202, 0x00000002, 0x402D9A20,\n\t0xAE604202, 0x00000002, 0x002D9A88, 0xAE604202, 0x00000002, 0x402DCC20,\n\t0xAE604202, 0x00000002, 0x002DCC88, 0xAE604202, 0x00000002, 0x402EE220,\n\t0xAE604202, 0x00000002, 0x002EE288, 0xAE604202, 0x00000003, 0x402EE220,\n\t0xAE604202, 0xAE603202, 0x00000003, 0x002EE288, 0xAE604202, 0xAE603202,\n\t0x00000003, 0x402EE220, 0xAE604202, 0xAE603502, 0x00000003, 0x002EE288,\n\t0xAE604202, 0xAE603502, 0x00000003, 0x402EE220, 0xAE604202, 0xAE604E02,\n\t0x00000003, 0x002EE288, 0xAE604202, 0xAE604E02, 0x00000003, 0x402EE220,\n\t0xAE604202, 0xAE606402, 0x00000003, 0x002EE288, 0xAE604202, 0xAE606402,\n\t0x00000003, 0x402EE220, 0xADC07002, 0xAE604202, 0x00000003, 0x002EE288,\n\t0xADC07002, 0xAE604202, 0x00000002, 0x402FE620,\n\t// Block 174, offset 0x2b80\n\t0xAE604202, 0x00000002, 0x002FE688, 0xAE604202, 0x00000002, 0x40306C20,\n\t0xAE604202, 0x00000002, 0x00306C88, 0xAE604202, 0x00000002, 0x4030E220,\n\t0xAE604202, 0x00000002, 0x0030E288, 0xAE604202, 0x00000002, 0x40310020,\n\t0xAE604202, 0x00000002, 0x00310088, 0xAE604202, 0x00000002, 0x40312A20,\n\t0xAE604202, 0x00000002, 0x00312A88, 0xAE604202, 0x00000003, 0x00026C84,\n\t0x00026C84, 0x0009429F, 0x00000002, 0x0002BA84, 0x0002BA9F, 0x00000002,\n\t0x0002BA84, 0x0002C49F, 0x00000002, 0x0002C484, 0x0002BA9F, 0x00000002,\n\t0x0002C484, 0x0002C49F, 0x00000002, 0x0002E484, 0x0002E49F, 0x00000002,\n\t0x0002E496, 0x0002E49F, 0x00000003, 0x0002E484, 0x0002E484, 0x0002E49F,\n\t0x00000003, 0x0002E496, 0x0002E496, 0x0002E49F, 0x00000003, 0x0003F484,\n\t0x0029CE84, 0x0003F69F, 0x00000003, 0x0003F484,\n\t// Block 175, offset 0x2bc0\n\t0x0029D084, 0x0003F69F, 0x00000003, 0x0003F484, 0x0029D284, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x0029D484, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x0029D684, 0x0003F69F, 0x00000003, 0x0003F484, 0x0029D884, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x0029DA84, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x0029DC84, 0x0003F69F, 0x00000003, 0x0003F484, 0x0029DE84, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x002BDE84, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x002BDE8A, 0x0003F69F, 0x00000003, 0x0003F484, 0x002C0A84, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x002C0A8A, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x002C3A84, 0x0003F69F, 0x00000003, 0x0003F484, 0x002C3A8A, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x002C6284, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x002C628A, 0x0003F69F, 0x00000003, 0x0003F484,\n\t// Block 176, offset 0x2c00\n\t0x002D0884, 0x0003F69F, 0x00000003, 0x0003F484, 0x002D088A, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x002D2284, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x002D228A, 0x0003F69F, 0x00000003, 0x0003F484, 0x002DCC84, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x002DCC8A, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x002E2284, 0x0003F69F, 0x00000003, 0x0003F484, 0x002E228A, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x002E8284, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x002E828A, 0x0003F69F, 0x00000003, 0x0003F484, 0x002E9E84, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x002E9E8A, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x002F2C84, 0x0003F69F, 0x00000003, 0x0003F484, 0x002F2C8A, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x00306C84, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x00306C8A, 0x0003F69F, 0x00000003, 0x0003F484,\n\t// Block 177, offset 0x2c40\n\t0x0030BE84, 0x0003F69F, 0x00000003, 0x0003F484, 0x0030BE8A, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x0030E284, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x0030E28A, 0x0003F69F, 0x00000003, 0x0003F484, 0x00310084, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x0031008A, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x00312A84, 0x0003F69F, 0x00000003, 0x0003F484, 0x00312A8A, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x0062AC84, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x0062B084, 0x0003F69F, 0x00000003, 0x0003F484, 0x0062B284, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x0062B684, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x0062B884, 0x0003F69F, 0x00000003, 0x0003F484, 0x0062BA84, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x0062BE84, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x0062C284, 0x0003F69F, 0x00000003, 0x0003F484,\n\t// Block 178, offset 0x2c80\n\t0x0062C484, 0x0003F69F, 0x00000003, 0x0003F484, 0x0062C884, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x0062CA84, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x0062CC84, 0x0003F69F, 0x00000003, 0x0003F484, 0x0062CE84, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x0062D084, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x029C0084, 0x0003F69F, 0x00000003, 0x0003F484, 0x029C0684, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x029C1284, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x029CBA84, 0x0003F69F, 0x00000003, 0x0003F484, 0x029D1884, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x029D2884, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x029DC684, 0x0003F69F, 0x00000003, 0x0003F484, 0x029E0284, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x029E2284, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x02A2D684, 0x0003F69F, 0x00000003, 0x0003F484,\n\t// Block 179, offset 0x2cc0\n\t0x02A2DA84, 0x0003F69F, 0x00000003, 0x0003F484, 0x02A56884, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x02A68284, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x02A6A884, 0x0003F69F, 0x00000003, 0x0003F484, 0x02A81A84, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x02A8F884, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x02ADB684, 0x0003F69F, 0x00000003, 0x0003F484, 0x02AE3E84, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x02B6CC84, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x02CBCA84, 0x0003F69F, 0x00000003, 0x0003F484, 0x02CE1084, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x02CE1284, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x02CE5084, 0x0003F69F, 0x00000003, 0x0003F484, 0x02D05484, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x02D86884, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x02E0D684, 0x0003F69F, 0x00000003, 0x0003F484,\n\t// Block 180, offset 0x2d00\n\t0x02E4F284, 0x0003F69F, 0x00000003, 0x0003F484, 0x02EDC684, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x02F27C84, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x02F2BA84, 0x0003F69F, 0x00000003, 0x0003F484, 0x02F2DA84, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x0303D484, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x0303E684, 0x0003F69F, 0x00000003, 0x0003F484, 0x03194284, 0x0003F69F,\n\t0x00000003, 0x0003F484, 0x03198E84, 0x0003F69F, 0x00000003, 0x0003F484,\n\t0x0323A284, 0x0003F69F, 0x00000002, 0x00070484, 0x002C3A8A, 0x00000002,\n\t0x00070484, 0x002D088A, 0x00000002, 0x00094284, 0x0009429F, 0x00000003,\n\t0x00094284, 0x00094284, 0x0009429F, 0x00000002, 0x0029CC84, 0x0002409F,\n\t0x00000002, 0x0029CC84, 0x0002E49F, 0x00000002, 0x0029CC84, 0x02E1729F,\n\t0x00000002, 0x0029CE84, 0x0002409F, 0x00000002,\n\t// Block 181, offset 0x2d40\n\t0x0029CE84, 0x0002E49F, 0x00000002, 0x0029CE9E, 0x0009589E, 0x00000002,\n\t0x0029CE86, 0x0029CC86, 0x00000003, 0x0029CE84, 0x0029CC84, 0x0002E49F,\n\t0x00000003, 0x0029CE84, 0x0029CC84, 0x02CBCA9F, 0x00000003, 0x0029CE84,\n\t0x0029CC84, 0x02CE109F, 0x00000003, 0x0029CE84, 0x0029CC84, 0x02E1729F,\n\t0x00000002, 0x0029CE86, 0x0029CE86, 0x00000003, 0x0029CE84, 0x0029CE84,\n\t0x0002E49F, 0x00000003, 0x0029CE84, 0x0029CE84, 0x02CBCA9F, 0x00000003,\n\t0x0029CE84, 0x0029CE84, 0x02CE109F, 0x00000003, 0x0029CE84, 0x0029CE84,\n\t0x02E1729F, 0x00000002, 0x0029CE86, 0x0029D086, 0x00000003, 0x0029CE84,\n\t0x0029D084, 0x0002E49F, 0x00000003, 0x0029CE84, 0x0029D084, 0x02CBCA9F,\n\t0x00000003, 0x0029CE84, 0x0029D084, 0x02CE109F, 0x00000003, 0x0029CE84,\n\t0x0029D084, 0x02E1729F, 0x00000002, 0x0029CE86,\n\t// Block 182, offset 0x2d80\n\t0x0029D286, 0x00000003, 0x0029CE84, 0x0029D284, 0x0002E49F, 0x00000003,\n\t0x0029CE84, 0x0029D284, 0x02CBCA9F, 0x00000003, 0x0029CE84, 0x0029D284,\n\t0x02E1729F, 0x00000002, 0x0029CE86, 0x0029D486, 0x00000003, 0x0029CE84,\n\t0x0029D484, 0x0002E49F, 0x00000003, 0x0029CE84, 0x0029D484, 0x02CBCA9F,\n\t0x00000003, 0x0029CE84, 0x0029D484, 0x02E1729F, 0x00000002, 0x0029CE86,\n\t0x0029D686, 0x00000003, 0x0029CE84, 0x0029D684, 0x0002E49F, 0x00000003,\n\t0x0029CE84, 0x0029D684, 0x02CBCA9F, 0x00000003, 0x0029CE84, 0x0029D684,\n\t0x02E1729F, 0x00000002, 0x0029CE86, 0x0029D886, 0x00000003, 0x0029CE84,\n\t0x0029D884, 0x0002E49F, 0x00000003, 0x0029CE84, 0x0029D884, 0x02CBCA9F,\n\t0x00000003, 0x0029CE84, 0x0029D884, 0x02E1729F, 0x00000002, 0x0029CE86,\n\t0x0029DA86, 0x00000003, 0x0029CE84, 0x0029DA84,\n\t// Block 183, offset 0x2dc0\n\t0x0002E49F, 0x00000003, 0x0029CE84, 0x0029DA84, 0x02CBCA9F, 0x00000003,\n\t0x0029CE84, 0x0029DA84, 0x02E1729F, 0x00000002, 0x0029CE86, 0x0029DC86,\n\t0x00000003, 0x0029CE84, 0x0029DC84, 0x0002E49F, 0x00000003, 0x0029CE84,\n\t0x0029DC84, 0x02CBCA9F, 0x00000003, 0x0029CE84, 0x0029DC84, 0x02E1729F,\n\t0x00000002, 0x0029CE86, 0x0029DE86, 0x00000003, 0x0029CE84, 0x0029DE84,\n\t0x0002E49F, 0x00000003, 0x0029CE84, 0x0029DE84, 0x02CBCA9F, 0x00000003,\n\t0x0029CE84, 0x0029DE84, 0x02E1729F, 0x00000002, 0x0029CE84, 0x02CBCA9F,\n\t0x00000002, 0x0029CE84, 0x02CE109F, 0x00000002, 0x0029CE84, 0x02E1729F,\n\t0x00000002, 0x0029D084, 0x0002409F, 0x00000002, 0x0029D084, 0x0002E49F,\n\t0x00000002, 0x0029D086, 0x0029CC86, 0x00000003, 0x0029D084, 0x0029CC84,\n\t0x0002E49F, 0x00000003, 0x0029D084, 0x0029CC84,\n\t// Block 184, offset 0x2e00\n\t0x02CBCA9F, 0x00000003, 0x0029D084, 0x0029CC84, 0x02E1729F, 0x00000002,\n\t0x0029D086, 0x0029CE86, 0x00000003, 0x0029D084, 0x0029CE84, 0x02CBCA9F,\n\t0x00000003, 0x0029D084, 0x0029CE84, 0x02E1729F, 0x00000002, 0x0029D086,\n\t0x0029D086, 0x00000003, 0x0029D084, 0x0029D084, 0x02CBCA9F, 0x00000003,\n\t0x0029D084, 0x0029D084, 0x02E1729F, 0x00000002, 0x0029D086, 0x0029D286,\n\t0x00000003, 0x0029D084, 0x0029D284, 0x02CBCA9F, 0x00000003, 0x0029D084,\n\t0x0029D284, 0x02E1729F, 0x00000002, 0x0029D086, 0x0029D486, 0x00000003,\n\t0x0029D084, 0x0029D484, 0x02CBCA9F, 0x00000003, 0x0029D084, 0x0029D484,\n\t0x02E1729F, 0x00000002, 0x0029D086, 0x0029D686, 0x00000003, 0x0029D084,\n\t0x0029D684, 0x02CBCA9F, 0x00000002, 0x0029D086, 0x0029D886, 0x00000003,\n\t0x0029D084, 0x0029D884, 0x02CBCA9F, 0x00000002,\n\t// Block 185, offset 0x2e40\n\t0x0029D086, 0x0029DA86, 0x00000003, 0x0029D084, 0x0029DA84, 0x02CBCA9F,\n\t0x00000002, 0x0029D086, 0x0029DC86, 0x00000003, 0x0029D084, 0x0029DC84,\n\t0x02CBCA9F, 0x00000002, 0x0029D086, 0x0029DE86, 0x00000003, 0x0029D084,\n\t0x0029DE84, 0x02CBCA9F, 0x00000002, 0x0029D084, 0x02CBCA9F, 0x00000002,\n\t0x0029D084, 0x02CE109F, 0x00000002, 0x0029D084, 0x02E1729F, 0x00000002,\n\t0x0029D284, 0x0002409F, 0x00000002, 0x0029D284, 0x0002E49F, 0x00000002,\n\t0x0029D286, 0x0029CC86, 0x00000003, 0x0029D284, 0x0029CC84, 0x02CBCA9F,\n\t0x00000002, 0x0029D286, 0x0029CE86, 0x00000003, 0x0029D284, 0x0029CE84,\n\t0x02CBCA9F, 0x00000002, 0x0029D286, 0x0029D086, 0x00000002, 0x0029D286,\n\t0x0029D286, 0x00000002, 0x0029D286, 0x0029D486, 0x00000002, 0x0029D286,\n\t0x0029D686, 0x00000002, 0x0029D286, 0x0029D886,\n\t// Block 186, offset 0x2e80\n\t0x00000002, 0x0029D286, 0x0029DA86, 0x00000002, 0x0029D286, 0x0029DC86,\n\t0x00000002, 0x0029D286, 0x0029DE86, 0x00000002, 0x0029D284, 0x02CBCA9F,\n\t0x00000002, 0x0029D284, 0x02CE109F, 0x00000002, 0x0029D284, 0x02E1729F,\n\t0x00000002, 0x0029D484, 0x0002409F, 0x00000002, 0x0029D484, 0x0002E49F,\n\t0x00000002, 0x0029D486, 0x0029CC86, 0x00000002, 0x0029D486, 0x0029CE86,\n\t0x00000002, 0x0029D486, 0x0029D086, 0x00000002, 0x0029D486, 0x0029D286,\n\t0x00000002, 0x0029D486, 0x0029D486, 0x00000002, 0x0029D486, 0x0029D686,\n\t0x00000002, 0x0029D486, 0x0029D886, 0x00000002, 0x0029D486, 0x0029DA86,\n\t0x00000002, 0x0029D486, 0x0029DC86, 0x00000002, 0x0029D486, 0x0029DE86,\n\t0x00000002, 0x0029D484, 0x02CBCA9F, 0x00000002, 0x0029D484, 0x02CE109F,\n\t0x00000002, 0x0029D484, 0x02E1729F, 0x00000002,\n\t// Block 187, offset 0x2ec0\n\t0x0029D684, 0x0002409F, 0x00000002, 0x0029D684, 0x0002E49F, 0x00000002,\n\t0x0029D686, 0x0029CC86, 0x00000002, 0x0029D684, 0x02CBCA9F, 0x00000002,\n\t0x0029D684, 0x02CE109F, 0x00000002, 0x0029D684, 0x02E1729F, 0x00000002,\n\t0x0029D884, 0x0002409F, 0x00000002, 0x0029D884, 0x0002E49F, 0x00000002,\n\t0x0029D884, 0x02CBCA9F, 0x00000002, 0x0029D884, 0x02CE109F, 0x00000002,\n\t0x0029D884, 0x02E1729F, 0x00000002, 0x0029DA84, 0x0002409F, 0x00000002,\n\t0x0029DA84, 0x0002E49F, 0x00000002, 0x0029DA84, 0x02CBCA9F, 0x00000002,\n\t0x0029DA84, 0x02CE109F, 0x00000002, 0x0029DA84, 0x02E1729F, 0x00000002,\n\t0x0029DC84, 0x0002409F, 0x00000002, 0x0029DC84, 0x0002E49F, 0x00000002,\n\t0x0029DC84, 0x02CBCA9F, 0x00000002, 0x0029DC84, 0x02CE109F, 0x00000002,\n\t0x0029DC84, 0x02E1729F, 0x00000002, 0x0029DE84,\n\t// Block 188, offset 0x2f00\n\t0x0002409F, 0x00000002, 0x0029DE84, 0x0002E49F, 0x00000002, 0x0029DE84,\n\t0x02CBCA9F, 0x00000002, 0x0029DE84, 0x02CE109F, 0x00000002, 0x0029DE84,\n\t0x02E1729F, 0x00000002, 0x002BDE9D, 0x00306C9D, 0x00000002, 0x002BDE84,\n\t0x0031E284, 0x00000002, 0x402C1820, 0xA0105402, 0x00000002, 0x402C1A20,\n\t0xA0105402, 0x00000002, 0x402C1C20, 0xA0105402, 0x00000002, 0x402C2220,\n\t0xAE603202, 0x00000002, 0x402C2220, 0xAE603502, 0x00000002, 0x402C2220,\n\t0xAE603702, 0x00000003, 0x402C2220, 0xAE603702, 0xAE603202, 0x00000003,\n\t0x402C2220, 0xAE603702, 0xAE603502, 0x00000003, 0x402C2220, 0xAE603702,\n\t0xAE604E02, 0x00000003, 0x402C2220, 0xAE603702, 0xAE606402, 0x00000002,\n\t0x402C2220, 0xAE603C02, 0x00000003, 0x402C2220, 0xAE603C02, 0xAE603202,\n\t0x00000003, 0x402C2220, 0xAE603C02, 0xAE603502,\n\t// Block 189, offset 0x2f40\n\t0x00000003, 0x402C2220, 0xAE603C02, 0xAE604E02, 0x00000003, 0x402C2220,\n\t0xAE603C02, 0xAE606402, 0x00000002, 0x402C2220, 0xAE604102, 0x00000002,\n\t0x402C2220, 0xAE604302, 0x00000003, 0x402C2220, 0xAE604302, 0xAE603202,\n\t0x00000002, 0x402C2220, 0xAE604702, 0x00000003, 0x402C2220, 0xAE604702,\n\t0xAE605B02, 0x00000002, 0x402C2220, 0xAE604E02, 0x00000002, 0x402C2220,\n\t0xAE605202, 0x00000003, 0x402C2220, 0xAE605202, 0xAE605B02, 0x00000002,\n\t0x402C2220, 0xACA05902, 0x00000002, 0x402C2220, 0xAE605B02, 0x00000002,\n\t0x402C2220, 0xAE606402, 0x00000002, 0x402C2220, 0xAE606502, 0x00000002,\n\t0x402C2220, 0xAE606702, 0x00000002, 0x402C2220, 0xADC07002, 0x00000003,\n\t0x402C2220, 0xADC07002, 0xAE603702, 0x00000003, 0x402C2220, 0xADC07002,\n\t0xAE603C02, 0x00000002, 0x402C2220, 0xADC07602,\n\t// Block 190, offset 0x2f80\n\t0x00000002, 0x402C2420, 0xAE605202, 0x00000002, 0x402C2420, 0xADC07002,\n\t0x00000002, 0x402C2420, 0xADC07B02, 0x00000002, 0x402C2620, 0xAE603202,\n\t0x00000002, 0x402C2620, 0xAE603C02, 0x00000002, 0x402C2620, 0xAE604102,\n\t0x00000002, 0x402C2620, 0xAE605202, 0x00000002, 0x402C2620, 0xACA05602,\n\t0x00000003, 0x402C2620, 0xACA05602, 0xAE603202, 0x00000002, 0x402C2820,\n\t0xAE604102, 0x00000002, 0x402C2820, 0xAE605202, 0x00000002, 0x402C2820,\n\t0xACA05602, 0x00000002, 0x402C2820, 0xADC07002, 0x00000002, 0x402C2820,\n\t0xADC07802, 0x00000002, 0x402C2820, 0xADC07B02, 0x00000002, 0x402C2A20,\n\t0xAE603202, 0x00000002, 0x402C2A20, 0xAE603502, 0x00000002, 0x402C2A20,\n\t0xAE603702, 0x00000002, 0x402C2A20, 0xAE603C02, 0x00000003, 0x402C2A20,\n\t0xAE603C02, 0xAE603202, 0x00000003, 0x402C2A20,\n\t// Block 191, offset 0x2fc0\n\t0xAE603C02, 0xAE603502, 0x00000003, 0x402C2A20, 0xAE603C02, 0xAE604E02,\n\t0x00000003, 0x402C2A20, 0xAE603C02, 0xAE606402, 0x00000002, 0x402C2A20,\n\t0xAE604102, 0x00000002, 0x402C2A20, 0xAE604702, 0x00000002, 0x402C2A20,\n\t0xAE604E02, 0x00000002, 0x402C2A20, 0xAE605202, 0x00000002, 0x402C2A20,\n\t0xACA05602, 0x00000003, 0x402C2A20, 0xACA05602, 0xAE603702, 0x00000002,\n\t0x402C2A20, 0xACA05902, 0x00000002, 0x402C2A20, 0xAE605B02, 0x00000003,\n\t0x402C2A20, 0xAE605B02, 0xAE603202, 0x00000003, 0x402C2A20, 0xAE605B02,\n\t0xAE603502, 0x00000002, 0x402C2A20, 0xAE606402, 0x00000002, 0x402C2A20,\n\t0xAE606502, 0x00000002, 0x402C2A20, 0xAE606702, 0x00000002, 0x402C2A20,\n\t0xADC07002, 0x00000003, 0x402C2A20, 0xADC07002, 0xAE603C02, 0x00000002,\n\t0x402C2A20, 0xADC07802, 0x00000002, 0x402C2A20,\n\t// Block 192, offset 0x3000\n\t0xADC07A02, 0x00000002, 0x402C2C20, 0xAE605202, 0x00000002, 0x402C2E20,\n\t0xAE603202, 0x00000002, 0x402C2E20, 0xAE603702, 0x00000002, 0x402C2E20,\n\t0xAE603C02, 0x00000002, 0x402C2E20, 0xAE604102, 0x00000002, 0x402C2E20,\n\t0xAE605202, 0x00000002, 0x402C2E20, 0xACA05602, 0x00000002, 0x402C2E20,\n\t0xAE605B02, 0x00000002, 0x402C3020, 0xAE603C02, 0x00000002, 0x402C3020,\n\t0xAE604102, 0x00000002, 0x402C3020, 0xAE604702, 0x00000002, 0x402C3020,\n\t0xAE605202, 0x00000002, 0x402C3020, 0xACA05602, 0x00000002, 0x402C3020,\n\t0xADC07002, 0x00000002, 0x402C3020, 0xADC07902, 0x00000002, 0x402C3220,\n\t0xAE603202, 0x00000002, 0x402C3220, 0xAE603502, 0x00000002, 0x402C3220,\n\t0xAE603702, 0x00000002, 0x402C3220, 0xAE603C02, 0x00000002, 0x402C3220,\n\t0xAE604102, 0x00000002, 0x402C3220, 0xAE604702,\n\t// Block 193, offset 0x3040\n\t0x00000003, 0x402C3220, 0xAE604702, 0xAE603202, 0x00000002, 0x402C3220,\n\t0xAE604E02, 0x00000002, 0x402C3220, 0xAE605202, 0x00000002, 0x402C3220,\n\t0xACA05902, 0x00000002, 0x402C3220, 0xAE605B02, 0x00000002, 0x402C3220,\n\t0xAE606402, 0x00000002, 0x402C3220, 0xAE606502, 0x00000002, 0x402C3220,\n\t0xAE606702, 0x00000002, 0x402C3220, 0xADC07002, 0x00000002, 0x402C3220,\n\t0xADC07A02, 0x00000002, 0x402C3420, 0xAE603C02, 0x00000002, 0x402C3620,\n\t0xAE603202, 0x00000002, 0x402C3620, 0xAE604102, 0x00000002, 0x402C3620,\n\t0xACA05602, 0x00000002, 0x402C3620, 0xADC07002, 0x00000002, 0x402C3620,\n\t0xADC07B02, 0x00000002, 0x402C3820, 0xAE603202, 0x00000002, 0x402C3820,\n\t0xAE604102, 0x00000002, 0x402C3820, 0xACA05602, 0x00000002, 0x402C3820,\n\t0xADC07002, 0x00000003, 0x402C3820, 0xADC07002,\n\t// Block 194, offset 0x3080\n\t0xAE605B02, 0x00000002, 0x402C3820, 0xADC07802, 0x00000002, 0x402C3820,\n\t0xADC07B02, 0x00000002, 0x402C3A20, 0xAE603202, 0x00000002, 0x402C3A20,\n\t0xAE605202, 0x00000002, 0x402C3A20, 0xADC07002, 0x00000002, 0x002C3A9C,\n\t0x002C3A9C, 0x00000002, 0x002C3A8C, 0x002C628C, 0x00000002, 0x002C3A9C,\n\t0x002C629C, 0x00000002, 0x002C3A9C, 0x002E829C, 0x00000002, 0x402C3C20,\n\t0xAE603202, 0x00000002, 0x402C3C20, 0xAE603502, 0x00000002, 0x402C3C20,\n\t0xAE604102, 0x00000002, 0x402C3C20, 0xAE604E02, 0x00000002, 0x402C3C20,\n\t0xAE605202, 0x00000002, 0x402C3C20, 0xACA05602, 0x00000002, 0x402C3C20,\n\t0xADC07002, 0x00000002, 0x402C3C20, 0xADC07802, 0x00000002, 0x402C3C20,\n\t0xADC07B02, 0x00000002, 0x402C3E20, 0xAE603202, 0x00000002, 0x402C3E20,\n\t0xAE603502, 0x00000002, 0x402C3E20, 0xAE603702,\n\t// Block 195, offset 0x30c0\n\t0x00000002, 0x402C3E20, 0xAE603C02, 0x00000003, 0x402C3E20, 0xAE603C02,\n\t0xAE603202, 0x00000003, 0x402C3E20, 0xAE603C02, 0xAE603502, 0x00000003,\n\t0x402C3E20, 0xAE603C02, 0xAE604E02, 0x00000003, 0x402C3E20, 0xAE603C02,\n\t0xAE606402, 0x00000002, 0x402C3E20, 0xAE604102, 0x00000002, 0x402C3E20,\n\t0xAE604702, 0x00000003, 0x402C3E20, 0xAE604702, 0xAE605B02, 0x00000002,\n\t0x402C3E20, 0xAE604D02, 0x00000002, 0x402C3E20, 0xAE604E02, 0x00000003,\n\t0x402C3E20, 0xAE604E02, 0xAE603202, 0x00000003, 0x402C3E20, 0xAE604E02,\n\t0xAE604702, 0x00000003, 0x402C3E20, 0xAE604E02, 0xAE605B02, 0x00000002,\n\t0x402C3E20, 0xAE605202, 0x00000003, 0x402C3E20, 0xAE605202, 0xAE605B02,\n\t0x00000002, 0x402C3E20, 0xACA05902, 0x00000003, 0x402C3E20, 0xACA05902,\n\t0xAE605B02, 0x00000002, 0x402C3E20, 0xAE605B02,\n\t// Block 196, offset 0x3100\n\t0x00000003, 0x402C3E20, 0xAE605B02, 0xAE603202, 0x00000003, 0x402C3E20,\n\t0xAE605B02, 0xAE603502, 0x00000002, 0x402C3E20, 0xAE606402, 0x00000002,\n\t0x402C3E20, 0xAE606502, 0x00000002, 0x402C3E20, 0xAE606702, 0x00000002,\n\t0x402C3E20, 0xAD806802, 0x00000003, 0x402C3E20, 0xAD806802, 0xAE603202,\n\t0x00000003, 0x402C3E20, 0xAD806802, 0xAE603502, 0x00000003, 0x402C3E20,\n\t0xAD806802, 0xAE604E02, 0x00000003, 0x402C3E20, 0xAD806802, 0xAE606402,\n\t0x00000003, 0x402C3E20, 0xAD806802, 0xADC07002, 0x00000002, 0x402C3E20,\n\t0xADC07002, 0x00000003, 0x402C3E20, 0xADC07002, 0xAE603C02, 0x00000002,\n\t0x402C4020, 0xAE603202, 0x00000002, 0x402C4020, 0xAE605202, 0x00000002,\n\t0x402C4420, 0xAE603202, 0x00000002, 0x402C4420, 0xAE604102, 0x00000002,\n\t0x402C4420, 0xAE605202, 0x00000002, 0x402C4420,\n\t// Block 197, offset 0x3140\n\t0xACA05602, 0x00000002, 0x402C4420, 0xAE606502, 0x00000002, 0x402C4420,\n\t0xAE606702, 0x00000002, 0x402C4420, 0xADC07002, 0x00000003, 0x402C4420,\n\t0xADC07002, 0xAE605B02, 0x00000002, 0x402C4420, 0xADC07B02, 0x00000002,\n\t0x402C4620, 0xAE603202, 0x00000003, 0x402C4620, 0xAE603202, 0xAE605202,\n\t0x00000002, 0x402C4620, 0xAE603C02, 0x00000002, 0x402C4620, 0xAE604102,\n\t0x00000003, 0x402C4620, 0xAE604102, 0xAE605202, 0x00000002, 0x402C4620,\n\t0xAE605202, 0x00000002, 0x402C4620, 0xACA05602, 0x00000002, 0x402C4620,\n\t0xADC07002, 0x00000003, 0x402C4620, 0xADC07002, 0xAE605202, 0x00000002,\n\t0x402C4620, 0xADC07702, 0x00000002, 0x402C4820, 0xAE604102, 0x00000002,\n\t0x402C4820, 0xAE605202, 0x00000002, 0x402C4820, 0xACA05602, 0x00000002,\n\t0x402C4820, 0xADC07002, 0x00000002, 0x402C4820,\n\t// Block 198, offset 0x3180\n\t0xADC07702, 0x00000002, 0x402C4820, 0xADC07802, 0x00000002, 0x402C4820,\n\t0xADC07B02, 0x00000002, 0x402C4A20, 0xAE603202, 0x00000002, 0x402C4A20,\n\t0xAE603502, 0x00000002, 0x402C4A20, 0xAE603702, 0x00000002, 0x402C4A20,\n\t0xAE603C02, 0x00000002, 0x402C4A20, 0xAE604102, 0x00000002, 0x402C4A20,\n\t0xAE604302, 0x00000002, 0x402C4A20, 0xAE604702, 0x00000003, 0x402C4A20,\n\t0xAE604702, 0xAE603202, 0x00000003, 0x402C4A20, 0xAE604702, 0xAE603502,\n\t0x00000003, 0x402C4A20, 0xAE604702, 0xAE604102, 0x00000003, 0x402C4A20,\n\t0xAE604702, 0xAE605B02, 0x00000002, 0x402C4A20, 0xAE604D02, 0x00000002,\n\t0x402C4A20, 0xAE604E02, 0x00000003, 0x402C4A20, 0xAE604E02, 0xAE603202,\n\t0x00000002, 0x402C4A20, 0xACA05902, 0x00000002, 0x402C4A20, 0xAE605B02,\n\t0x00000003, 0x402C4A20, 0xAE605B02, 0xAE604702,\n\t// Block 199, offset 0x31c0\n\t0x00000002, 0x402C4A20, 0xAE606402, 0x00000002, 0x402C4A20, 0xAE606502,\n\t0x00000002, 0x402C4A20, 0xAE606702, 0x00000002, 0x402C4A20, 0xAD806802,\n\t0x00000003, 0x402C4A20, 0xAD806802, 0xAE603202, 0x00000003, 0x402C4A20,\n\t0xAD806802, 0xAE603502, 0x00000003, 0x402C4A20, 0xAD806802, 0xAE604E02,\n\t0x00000003, 0x402C4A20, 0xAD806802, 0xAE606402, 0x00000003, 0x402C4A20,\n\t0xAD806802, 0xADC07002, 0x00000002, 0x402C4A20, 0xADC07002, 0x00000002,\n\t0x402C4A20, 0xADC07502, 0x00000002, 0x402C4A20, 0xADC07802, 0x00000002,\n\t0x402C4A20, 0xADC07A02, 0x00000002, 0x402C4C20, 0xAE604E02, 0x00000002,\n\t0x402C4C20, 0xADC07002, 0x00000002, 0x402C4E20, 0xAE603202, 0x00000002,\n\t0x402C4E20, 0xAE603502, 0x00000002, 0x402C4E20, 0xAE603C02, 0x00000002,\n\t0x402C4E20, 0xAE604702, 0x00000002, 0x402C4E20,\n\t// Block 200, offset 0x3200\n\t0xAE605202, 0x00000002, 0x402C4E20, 0xADC07002, 0x00000002, 0x402C5020,\n\t0xAE604702, 0x00000002, 0x402C5020, 0xAE605202, 0x00000002, 0x402C5220,\n\t0xAE603202, 0x00000002, 0x402C5220, 0xAE603502, 0x00000002, 0x402C5220,\n\t0xAE603C02, 0x00000002, 0x402C5220, 0xAE604702, 0x00000002, 0x402C5220,\n\t0xAE604E02, 0x00000002, 0x402C5220, 0xAE605202, 0x00000002, 0x402C5220,\n\t0xAE605B02, 0x00000002, 0x402C5220, 0xAE606402, 0x00000002, 0x402C5220,\n\t0xADC07002, 0x00000002, 0x402C5420, 0xAE603202, 0x00000002, 0x402C5420,\n\t0xAE603C02, 0x00000002, 0x402C5420, 0xAE604102, 0x00000002, 0x402C5420,\n\t0xAE605202, 0x00000002, 0x402C5420, 0xADC07002, 0x00000002, 0x402C5420,\n\t0xADC07B02, 0x00000002, 0x402C6220, 0xAE603202, 0x00000002, 0x402C6220,\n\t0xAE603502, 0x00000002, 0x402C6220, 0xAE603702,\n\t// Block 201, offset 0x3240\n\t0x00000003, 0x402C6220, 0xAE603702, 0xAE603202, 0x00000003, 0x402C6220,\n\t0xAE603702, 0xAE603502, 0x00000003, 0x402C6220, 0xAE603702, 0xAE604E02,\n\t0x00000003, 0x402C6220, 0xAE603702, 0xAE606402, 0x00000002, 0x402C6220,\n\t0xAE603C02, 0x00000003, 0x402C6220, 0xAE603C02, 0xAE603202, 0x00000003,\n\t0x402C6220, 0xAE603C02, 0xAE603502, 0x00000003, 0x402C6220, 0xAE603C02,\n\t0xAE604E02, 0x00000003, 0x402C6220, 0xAE603C02, 0xAE606402, 0x00000002,\n\t0x402C6220, 0xAE604102, 0x00000002, 0x402C6220, 0xAE604302, 0x00000003,\n\t0x402C6220, 0xAE604302, 0xAE603202, 0x00000002, 0x402C6220, 0xAE604702,\n\t0x00000003, 0x402C6220, 0xAE604702, 0xAE605B02, 0x00000002, 0x402C6220,\n\t0xAE604E02, 0x00000002, 0x402C6220, 0xAE605202, 0x00000003, 0x402C6220,\n\t0xAE605202, 0xAE605B02, 0x00000002, 0x402C6220,\n\t// Block 202, offset 0x3280\n\t0xACA05902, 0x00000002, 0x402C6220, 0xAE605B02, 0x00000002, 0x402C6220,\n\t0xAE606402, 0x00000002, 0x402C6220, 0xAE606502, 0x00000002, 0x402C6220,\n\t0xAE606702, 0x00000002, 0x402C6220, 0xADC07002, 0x00000003, 0x402C6220,\n\t0xADC07002, 0xAE603702, 0x00000003, 0x402C6220, 0xADC07002, 0xAE603C02,\n\t0x00000002, 0x402C6220, 0xADC07602, 0x00000002, 0x002C629C, 0x002BDE9C,\n\t0x00000002, 0x002C629C, 0x002C0A9D, 0x00000002, 0x002C629D, 0x002DCC9D,\n\t0x00000002, 0x002C629C, 0x002E229C, 0x00000002, 0x002C629C, 0x002E829C,\n\t0x00000002, 0x002C6284, 0x00312A84, 0x00000002, 0x002C628A, 0x00312A84,\n\t0x00000002, 0x002C628A, 0x00312A8A, 0x00000002, 0x402C6420, 0xAE605202,\n\t0x00000002, 0x402C6420, 0xADC07002, 0x00000002, 0x402C6420, 0xADC07B02,\n\t0x00000002, 0x402C6620, 0xAE603202, 0x00000002,\n\t// Block 203, offset 0x32c0\n\t0x402C6620, 0xAE603C02, 0x00000002, 0x402C6620, 0xAE604102, 0x00000002,\n\t0x402C6620, 0xAE605202, 0x00000002, 0x402C6620, 0xACA05602, 0x00000003,\n\t0x402C6620, 0xACA05602, 0xAE603202, 0x00000002, 0x402C6820, 0xAE604102,\n\t0x00000002, 0x402C6820, 0xAE605202, 0x00000002, 0x402C6820, 0xACA05602,\n\t0x00000002, 0x402C6820, 0xADC07002, 0x00000002, 0x402C6820, 0xADC07802,\n\t0x00000002, 0x402C6820, 0xADC07B02, 0x00000002, 0x402C6A20, 0xAE603202,\n\t0x00000002, 0x402C6A20, 0xAE603502, 0x00000002, 0x402C6A20, 0xAE603702,\n\t0x00000002, 0x402C6A20, 0xAE603C02, 0x00000003, 0x402C6A20, 0xAE603C02,\n\t0xAE603202, 0x00000003, 0x402C6A20, 0xAE603C02, 0xAE603502, 0x00000003,\n\t0x402C6A20, 0xAE603C02, 0xAE604E02, 0x00000003, 0x402C6A20, 0xAE603C02,\n\t0xAE606402, 0x00000002, 0x402C6A20, 0xAE604102,\n\t// Block 204, offset 0x3300\n\t0x00000002, 0x402C6A20, 0xAE604702, 0x00000002, 0x402C6A20, 0xAE604E02,\n\t0x00000002, 0x402C6A20, 0xAE605202, 0x00000002, 0x402C6A20, 0xACA05602,\n\t0x00000003, 0x402C6A20, 0xACA05602, 0xAE603702, 0x00000002, 0x402C6A20,\n\t0xACA05902, 0x00000002, 0x402C6A20, 0xAE605B02, 0x00000003, 0x402C6A20,\n\t0xAE605B02, 0xAE603202, 0x00000003, 0x402C6A20, 0xAE605B02, 0xAE603502,\n\t0x00000002, 0x402C6A20, 0xAE606402, 0x00000002, 0x402C6A20, 0xAE606502,\n\t0x00000002, 0x402C6A20, 0xAE606702, 0x00000002, 0x402C6A20, 0xADC07002,\n\t0x00000003, 0x402C6A20, 0xADC07002, 0xAE603C02, 0x00000002, 0x402C6A20,\n\t0xADC07802, 0x00000002, 0x402C6A20, 0xADC07A02, 0x00000002, 0x402C6C20,\n\t0xAE605202, 0x00000002, 0x402C6E20, 0xAE603202, 0x00000002, 0x402C6E20,\n\t0xAE603702, 0x00000002, 0x402C6E20, 0xAE603C02,\n\t// Block 205, offset 0x3340\n\t0x00000002, 0x402C6E20, 0xAE604102, 0x00000002, 0x402C6E20, 0xAE605202,\n\t0x00000002, 0x402C6E20, 0xACA05602, 0x00000002, 0x402C6E20, 0xAE605B02,\n\t0x00000002, 0x402C7020, 0xAE603C02, 0x00000002, 0x402C7020, 0xAE604102,\n\t0x00000002, 0x402C7020, 0xAE604702, 0x00000002, 0x402C7020, 0xAE605202,\n\t0x00000002, 0x402C7020, 0xACA05602, 0x00000002, 0x402C7020, 0xADC07002,\n\t0x00000002, 0x402C7020, 0xADC07902, 0x00000002, 0x402C7020, 0xADC07B02,\n\t0x00000002, 0x402C7220, 0xAE603202, 0x00000002, 0x402C7220, 0xAE603502,\n\t0x00000002, 0x402C7220, 0xAE603702, 0x00000002, 0x402C7220, 0xAE603C02,\n\t0x00000002, 0x402C7220, 0xAE604102, 0x00000002, 0x402C7220, 0xAE604702,\n\t0x00000003, 0x402C7220, 0xAE604702, 0xAE603202, 0x00000002, 0x402C7220,\n\t0xAE604E02, 0x00000002, 0x402C7220, 0xACA05902,\n\t// Block 206, offset 0x3380\n\t0x00000002, 0x402C7220, 0xAE605B02, 0x00000002, 0x402C7220, 0xAE606402,\n\t0x00000002, 0x402C7220, 0xAE606502, 0x00000002, 0x402C7220, 0xAE606702,\n\t0x00000002, 0x402C7220, 0xADC07002, 0x00000002, 0x402C7220, 0xADC07A02,\n\t0x00000002, 0x402C7420, 0xAE603C02, 0x00000002, 0x402C7420, 0xAE604102,\n\t0x00000002, 0x402C7620, 0xAE603202, 0x00000002, 0x402C7620, 0xAE604102,\n\t0x00000002, 0x402C7620, 0xACA05602, 0x00000002, 0x402C7620, 0xADC07002,\n\t0x00000002, 0x402C7620, 0xADC07B02, 0x00000002, 0x402C7820, 0xAE603202,\n\t0x00000002, 0x402C7820, 0xAE604102, 0x00000002, 0x402C7820, 0xACA05602,\n\t0x00000002, 0x402C7820, 0xADC07002, 0x00000003, 0x402C7820, 0xADC07002,\n\t0xAE605B02, 0x00000002, 0x402C7820, 0xADC07802, 0x00000002, 0x402C7820,\n\t0xADC07B02, 0x00000002, 0x402C7A20, 0xAE603202,\n\t// Block 207, offset 0x33c0\n\t0x00000002, 0x402C7A20, 0xAE605202, 0x00000002, 0x402C7A20, 0xADC07002,\n\t0x00000002, 0x402C7C20, 0xAE603202, 0x00000002, 0x402C7C20, 0xAE603502,\n\t0x00000002, 0x402C7C20, 0xAE604102, 0x00000002, 0x402C7C20, 0xAE604E02,\n\t0x00000002, 0x402C7C20, 0xAE605202, 0x00000002, 0x402C7C20, 0xACA05602,\n\t0x00000002, 0x402C7C20, 0xADC07002, 0x00000002, 0x402C7C20, 0xADC07802,\n\t0x00000002, 0x402C7C20, 0xADC07B02, 0x00000002, 0x402C7E20, 0xAE603202,\n\t0x00000002, 0x402C7E20, 0xAE603502, 0x00000002, 0x402C7E20, 0xAE603702,\n\t0x00000002, 0x402C7E20, 0xAE603C02, 0x00000003, 0x402C7E20, 0xAE603C02,\n\t0xAE603202, 0x00000003, 0x402C7E20, 0xAE603C02, 0xAE603502, 0x00000003,\n\t0x402C7E20, 0xAE603C02, 0xAE604E02, 0x00000003, 0x402C7E20, 0xAE603C02,\n\t0xAE606402, 0x00000002, 0x402C7E20, 0xAE604102,\n\t// Block 208, offset 0x3400\n\t0x00000002, 0x402C7E20, 0xAE604702, 0x00000003, 0x402C7E20, 0xAE604702,\n\t0xAE605B02, 0x00000002, 0x402C7E20, 0xAE604D02, 0x00000002, 0x402C7E20,\n\t0xAE604E02, 0x00000003, 0x402C7E20, 0xAE604E02, 0xAE603202, 0x00000003,\n\t0x402C7E20, 0xAE604E02, 0xAE604702, 0x00000003, 0x402C7E20, 0xAE604E02,\n\t0xAE605B02, 0x00000002, 0x402C7E20, 0xAE605202, 0x00000003, 0x402C7E20,\n\t0xAE605202, 0xAE605B02, 0x00000002, 0x402C7E20, 0xACA05902, 0x00000003,\n\t0x402C7E20, 0xACA05902, 0xAE605B02, 0x00000002, 0x402C7E20, 0xAE605B02,\n\t0x00000003, 0x402C7E20, 0xAE605B02, 0xAE603202, 0x00000003, 0x402C7E20,\n\t0xAE605B02, 0xAE603502, 0x00000002, 0x402C7E20, 0xAE606402, 0x00000002,\n\t0x402C7E20, 0xAE606502, 0x00000002, 0x402C7E20, 0xAE606702, 0x00000002,\n\t0x402C7E20, 0xAD806802, 0x00000003, 0x402C7E20,\n\t// Block 209, offset 0x3440\n\t0xAD806802, 0xAE603202, 0x00000003, 0x402C7E20, 0xAD806802, 0xAE603502,\n\t0x00000003, 0x402C7E20, 0xAD806802, 0xAE604E02, 0x00000003, 0x402C7E20,\n\t0xAD806802, 0xAE606402, 0x00000003, 0x402C7E20, 0xAD806802, 0xADC07002,\n\t0x00000002, 0x402C7E20, 0xADC07002, 0x00000003, 0x402C7E20, 0xADC07002,\n\t0xAE603C02, 0x00000002, 0x402C8020, 0xAE603202, 0x00000002, 0x402C8020,\n\t0xAE605202, 0x00000002, 0x402C8420, 0xAE603202, 0x00000002, 0x402C8420,\n\t0xAE604102, 0x00000002, 0x402C8420, 0xAE605202, 0x00000002, 0x402C8420,\n\t0xACA05602, 0x00000002, 0x402C8420, 0xAE606502, 0x00000002, 0x402C8420,\n\t0xAE606702, 0x00000002, 0x402C8420, 0xADC07002, 0x00000003, 0x402C8420,\n\t0xADC07002, 0xAE605B02, 0x00000002, 0x402C8420, 0xADC07B02, 0x00000002,\n\t0x402C8620, 0xAE603202, 0x00000003, 0x402C8620,\n\t// Block 210, offset 0x3480\n\t0xAE603202, 0xAE605202, 0x00000002, 0x402C8620, 0xAE603C02, 0x00000002,\n\t0x402C8620, 0xAE604102, 0x00000003, 0x402C8620, 0xAE604102, 0xAE605202,\n\t0x00000002, 0x402C8620, 0xAE605202, 0x00000002, 0x402C8620, 0xACA05602,\n\t0x00000002, 0x402C8620, 0xADC07002, 0x00000003, 0x402C8620, 0xADC07002,\n\t0xAE605202, 0x00000002, 0x402C8620, 0xADC07702, 0x00000002, 0x402C8820,\n\t0xAE604102, 0x00000002, 0x402C8820, 0xAE604702, 0x00000002, 0x402C8820,\n\t0xAE605202, 0x00000002, 0x402C8820, 0xACA05602, 0x00000002, 0x402C8820,\n\t0xADC07002, 0x00000002, 0x402C8820, 0xADC07702, 0x00000002, 0x402C8820,\n\t0xADC07802, 0x00000002, 0x402C8820, 0xADC07B02, 0x00000002, 0x402C8A20,\n\t0xAE603202, 0x00000002, 0x402C8A20, 0xAE603502, 0x00000002, 0x402C8A20,\n\t0xAE603702, 0x00000002, 0x402C8A20, 0xAE603C02,\n\t// Block 211, offset 0x34c0\n\t0x00000002, 0x402C8A20, 0xAE604102, 0x00000002, 0x402C8A20, 0xAE604302,\n\t0x00000002, 0x402C8A20, 0xAE604702, 0x00000003, 0x402C8A20, 0xAE604702,\n\t0xAE603202, 0x00000003, 0x402C8A20, 0xAE604702, 0xAE603502, 0x00000003,\n\t0x402C8A20, 0xAE604702, 0xAE604102, 0x00000003, 0x402C8A20, 0xAE604702,\n\t0xAE605B02, 0x00000002, 0x402C8A20, 0xAE604D02, 0x00000002, 0x402C8A20,\n\t0xAE604E02, 0x00000003, 0x402C8A20, 0xAE604E02, 0xAE603202, 0x00000002,\n\t0x402C8A20, 0xACA05902, 0x00000002, 0x402C8A20, 0xAE605B02, 0x00000003,\n\t0x402C8A20, 0xAE605B02, 0xAE604702, 0x00000002, 0x402C8A20, 0xAE606402,\n\t0x00000002, 0x402C8A20, 0xAE606502, 0x00000002, 0x402C8A20, 0xAE606702,\n\t0x00000002, 0x402C8A20, 0xAD806802, 0x00000003, 0x402C8A20, 0xAD806802,\n\t0xAE603202, 0x00000003, 0x402C8A20, 0xAD806802,\n\t// Block 212, offset 0x3500\n\t0xAE603502, 0x00000003, 0x402C8A20, 0xAD806802, 0xAE604E02, 0x00000003,\n\t0x402C8A20, 0xAD806802, 0xAE606402, 0x00000003, 0x402C8A20, 0xAD806802,\n\t0xADC07002, 0x00000002, 0x402C8A20, 0xADC07002, 0x00000002, 0x402C8A20,\n\t0xADC07502, 0x00000002, 0x402C8A20, 0xADC07802, 0x00000002, 0x402C8A20,\n\t0xADC07A02, 0x00000002, 0x402C8C20, 0xAE604E02, 0x00000002, 0x402C8C20,\n\t0xADC07002, 0x00000002, 0x402C8E20, 0xAE603202, 0x00000002, 0x402C8E20,\n\t0xAE603502, 0x00000002, 0x402C8E20, 0xAE603C02, 0x00000002, 0x402C8E20,\n\t0xAE604302, 0x00000002, 0x402C8E20, 0xAE604702, 0x00000002, 0x402C8E20,\n\t0xAE605202, 0x00000002, 0x402C8E20, 0xADC07002, 0x00000002, 0x402C9020,\n\t0xAE604702, 0x00000002, 0x402C9020, 0xAE605202, 0x00000002, 0x402C9220,\n\t0xAE603202, 0x00000002, 0x402C9220, 0xAE603502,\n\t// Block 213, offset 0x3540\n\t0x00000002, 0x402C9220, 0xAE603C02, 0x00000002, 0x402C9220, 0xAE604302,\n\t0x00000002, 0x402C9220, 0xAE604702, 0x00000002, 0x402C9220, 0xAE604E02,\n\t0x00000002, 0x402C9220, 0xAE605202, 0x00000002, 0x402C9220, 0xAE605B02,\n\t0x00000002, 0x402C9220, 0xAE606402, 0x00000002, 0x402C9220, 0xADC07002,\n\t0x00000002, 0x402C9420, 0xAE603202, 0x00000002, 0x402C9420, 0xAE603C02,\n\t0x00000002, 0x402C9420, 0xAE604102, 0x00000002, 0x402C9420, 0xAE605202,\n\t0x00000002, 0x402C9420, 0xADC07002, 0x00000002, 0x402C9420, 0xADC07B02,\n\t0x00000002, 0x002D0884, 0x002D0884, 0x00000002, 0x002D0884, 0x002E2284,\n\t0x00000002, 0x002D089C, 0x002E829C, 0x00000002, 0x002D229D, 0x002C0A9D,\n\t0x00000002, 0x002D229D, 0x0031009C, 0x00000002, 0x002E2284, 0x002DCC84,\n\t0x00000002, 0x002E228A, 0x002DCC84, 0x00000002,\n\t// Block 214, offset 0x3580\n\t0x002E228A, 0x002DCC8A, 0x00000002, 0x002E229C, 0x002E829C, 0x00000002,\n\t0x002E229C, 0x002E9E9C, 0x00000002, 0x002E829C, 0x0029D09C, 0x00000002,\n\t0x002E829C, 0x0029D29C, 0x00000002, 0x002E829C, 0x002BDE9D, 0x00000002,\n\t0x002E829C, 0x002C0A9C, 0x00000002, 0x002E829D, 0x002C0A9D, 0x00000002,\n\t0x002E8294, 0x002C3A94, 0x00000002, 0x002E8294, 0x002C6294, 0x00000002,\n\t0x002E829C, 0x002D229C, 0x00000002, 0x002E829C, 0x002E229C, 0x00000002,\n\t0x002E829C, 0x002E829C, 0x00000002, 0x002E829C, 0x0030BE9D, 0x00000002,\n\t0x002E829D, 0x0030BE9D, 0x00000002, 0x002E829D, 0x0030BE9D, 0x00000002,\n\t0x002E829C, 0x0030E29D, 0x00000002, 0x002E829D, 0x0030E29D, 0x00000002,\n\t0x002E829D, 0x0032A29D, 0x00000002, 0x002E9E9C, 0x002BDE9D, 0x00000002,\n\t0x002E9E9C, 0x002D089D, 0x00000002, 0x002E9E84,\n\t// Block 215, offset 0x35c0\n\t0x002DCC84, 0x00000002, 0x002E9E8A, 0x002DCC84, 0x00000002, 0x002E9E8A,\n\t0x002DCC8A, 0x00000002, 0x002E9E9C, 0x002E829C, 0x00000002, 0x002E9E9C,\n\t0x0030BE9D, 0x00000002, 0x002E9E9C, 0x0030E29D, 0x00000002, 0x002F2C9C,\n\t0x002BDE9D, 0x00000002, 0x002F2C9D, 0x002BDE9C, 0x00000002, 0x002F2C9C,\n\t0x002C3A9C, 0x00000002, 0x002F2C9C, 0x002D089D, 0x00000002, 0x002F2C9C,\n\t0x0030BE9D, 0x00000002, 0x002F2C9C, 0x0030E29D, 0x00000002, 0x0030E29D,\n\t0x002C0A9C, 0x00000002, 0x0030E29D, 0x002C3A9D, 0x00000002, 0x0030E28C,\n\t0x00312A8C, 0x00000002, 0x0031DE84, 0x002E9E84, 0x00000002, 0x0032769C,\n\t0x002BDE9D, 0x00000002, 0x0032769C, 0x002D089D, 0x00000002, 0x0032769C,\n\t0x002D229C, 0x00000002, 0x0032769C, 0x002E229C, 0x00000002, 0x0032769C,\n\t0x002E829C, 0x00000002, 0x0032769C, 0x0030BE9D,\n\t// Block 216, offset 0x3600\n\t0x00000002, 0x0032769C, 0x0030E29D, 0x00000002, 0x40302620, 0xAE605202,\n\t0x00000002, 0x00302683, 0xAE605202, 0x00000002, 0x40302820, 0xAE603202,\n\t0x00000002, 0x00302883, 0xAE603202, 0x00000002, 0x40302820, 0xAE603C02,\n\t0x00000002, 0x00302883, 0xAE603C02, 0x00000002, 0x40302820, 0xAE605202,\n\t0x00000002, 0x00302883, 0xAE605202, 0x00000002, 0x40302820, 0xADC07002,\n\t0x00000002, 0x00302883, 0xADC07002, 0x00000002, 0x40302820, 0xADC07B02,\n\t0x00000002, 0x00302883, 0xADC07B02, 0x00000002, 0x4030BE21, 0xAE603202,\n\t0x00000002, 0x0030BEA3, 0xAE603202, 0x00000002, 0x4030BE21, 0xAE603502,\n\t0x00000002, 0x0030BEA3, 0xAE603502, 0x00000002, 0x4030BE21, 0xAE603C02,\n\t0x00000002, 0x0030BEA3, 0xAE603C02, 0x00000002, 0x4030BE21, 0xAE604302,\n\t0x00000002, 0x4030BE21, 0xAE604702, 0x00000002,\n\t// Block 217, offset 0x3640\n\t0x0030BEA3, 0xAE604702, 0x00000002, 0x4030BE21, 0xAE605202, 0x00000002,\n\t0x0030BEA3, 0xAE605202, 0x00000002, 0x4030BE21, 0xADC07002, 0x00000002,\n\t0x0030BEA3, 0xADC07002, 0x00000002, 0x4030EE20, 0xAE603202, 0x00000002,\n\t0x0030EE83, 0xAE603202, 0x00000002, 0x4030EE20, 0xAE603C02, 0x00000002,\n\t0x0030EE83, 0xAE603C02, 0x00000002, 0x4030EE20, 0xAE604702, 0x00000002,\n\t0x0030EE83, 0xAE604702, 0x00000002, 0x4030EE20, 0xAE605B02, 0x00000002,\n\t0x0030EE83, 0xAE605B02, 0x00000002, 0x4030EE20, 0xAD806802, 0x00000002,\n\t0x0030EE83, 0xAD806802, 0x00000002, 0x4030F020, 0xAE605B02, 0x00000002,\n\t0x0030F083, 0xAE605B02, 0x00000002, 0x4030F220, 0xAE605B02, 0x00000002,\n\t0x0030F283, 0xAE605B02, 0x00000002, 0x4030F420, 0xAE603202, 0x00000002,\n\t0x0030F483, 0xAE603202, 0x00000002, 0x4030F420,\n\t// Block 218, offset 0x3680\n\t0xAE603502, 0x00000002, 0x0030F483, 0xAE603502, 0x00000002, 0x4030F420,\n\t0xAE604102, 0x00000002, 0x0030F483, 0xAE604102, 0x00000002, 0x4030F420,\n\t0xAE605B02, 0x00000002, 0x0030F483, 0xAE605B02, 0x00000002, 0xA000B218,\n\t0xA000BA18, 0x00000002, 0xA000B618, 0xA000BA18, 0x00000002, 0x00393899,\n\t0xA000A219, 0x00000002, 0x0039389A, 0xA000A21A, 0x00000002, 0x00393C97,\n\t0x003A6897, 0x00000002, 0x00393C98, 0x003A6898, 0x00000002, 0x00393C99,\n\t0x003A9099, 0x00000002, 0x00393C9A, 0x003A909A, 0x00000002, 0x00395697,\n\t0x003A6897, 0x00000002, 0x00395698, 0x003A6898, 0x00000002, 0x00395699,\n\t0x003A9099, 0x00000002, 0x0039569A, 0x003A909A, 0x00000002, 0x00395898,\n\t0x003A6898, 0x00000002, 0x00395899, 0x003A9099, 0x00000002, 0x0039589A,\n\t0x003A909A, 0x00000002, 0x00396499, 0x003A9099,\n\t// Block 219, offset 0x36c0\n\t0x00000002, 0x0039649A, 0x003A909A, 0x00000002, 0x00397299, 0x003A9099,\n\t0x00000002, 0x0039729A, 0x003A909A, 0x00000002, 0x00397499, 0x003A9099,\n\t0x00000002, 0x0039749A, 0x003A909A, 0x00000002, 0x0039C697, 0x003A6897,\n\t0x00000002, 0x0039C698, 0x003A6898, 0x00000002, 0x0039C699, 0x003A9099,\n\t0x00000002, 0x0039C69A, 0x003A909A, 0x00000002, 0x0039C897, 0x003A6897,\n\t0x00000002, 0x0039C898, 0x003A6898, 0x00000002, 0x0039C899, 0x003A9099,\n\t0x00000002, 0x0039C89A, 0x003A909A, 0x00000002, 0x0039DC99, 0x003A9099,\n\t0x00000002, 0x0039DC9A, 0x003A909A, 0x00000002, 0x0039DE99, 0x003A9099,\n\t0x00000002, 0x0039DE9A, 0x003A909A, 0x00000002, 0x0039E699, 0x003A9099,\n\t0x00000002, 0x0039E69A, 0x003A909A, 0x00000002, 0x0039EE99, 0x003A9099,\n\t0x00000002, 0x0039EE9A, 0x003A909A, 0x00000002,\n\t// Block 220, offset 0x3700\n\t0x0039F099, 0x003A9099, 0x00000002, 0x0039F09A, 0x003A909A, 0x00000002,\n\t0x0039FC99, 0x003A9099, 0x00000002, 0x0039FC9A, 0x003A909A, 0x00000002,\n\t0x003A1299, 0x003A9099, 0x00000002, 0x003A129A, 0x003A909A, 0x00000002,\n\t0x003A1A99, 0x00393899, 0x00000002, 0x003A1A9A, 0x0039389A, 0x00000002,\n\t0x003A1A97, 0x00396497, 0x00000002, 0x003A1A9A, 0x0039649A, 0x00000002,\n\t0x003A1A97, 0x00397297, 0x00000002, 0x003A1A9A, 0x0039729A, 0x00000002,\n\t0x003A1A97, 0x00397497, 0x00000002, 0x003A1A9A, 0x0039749A, 0x00000002,\n\t0x003A1A97, 0x003A4097, 0x00000002, 0x003A1A98, 0x003A4098, 0x00000002,\n\t0x003A1A99, 0x003A4099, 0x00000002, 0x003A1A9A, 0x003A409A, 0x00000002,\n\t0x003A1A97, 0x003A4E97, 0x00000002, 0x003A1A98, 0x003A4E98, 0x00000002,\n\t0x003A1A99, 0x003A4E99, 0x00000002, 0x003A1A9A,\n\t// Block 221, offset 0x3740\n\t0x003A4E9A, 0x00000002, 0x003A1A99, 0x003A9099, 0x00000002, 0x003A1A9A,\n\t0x003A909A, 0x00000002, 0x003A4097, 0x003A6897, 0x00000002, 0x003A4099,\n\t0x003A9099, 0x00000002, 0x003A409A, 0x003A909A, 0x00000002, 0x003A4E9A,\n\t0x003A909A, 0x00000002, 0x003A5697, 0x003A6897, 0x00000002, 0x003A5698,\n\t0x003A6898, 0x00000002, 0x003A5699, 0x003A9099, 0x00000002, 0x003A569A,\n\t0x003A909A, 0x00000002, 0x003A6897, 0xA000D117, 0x00000002, 0x003A6897,\n\t0x00396497, 0x00000002, 0x003A689A, 0x0039649A, 0x00000002, 0x003A6897,\n\t0x003A4E97, 0x00000002, 0x003A689A, 0x003A4E9A, 0x00000002, 0x003A689A,\n\t0x003A909A, 0x00000002, 0x003A7299, 0xA000BE19, 0x00000002, 0x003A729A,\n\t0xA000BE1A, 0x00000002, 0x403A8822, 0xAE60BE02, 0x00000002, 0x003A8E99,\n\t0xA000D119, 0x00000002, 0x003A8E9A, 0xA000D11A,\n\t// Block 222, offset 0x3780\n\t0x00000002, 0x003A9084, 0x00391C84, 0x00000002, 0x003A9097, 0x00396497,\n\t0x00000002, 0x003A909A, 0x0039649A, 0x00000002, 0x003A9097, 0x00397297,\n\t0x00000002, 0x003A909A, 0x0039729A, 0x00000002, 0x003A9097, 0x00397497,\n\t0x00000002, 0x003A909A, 0x0039749A, 0x00000002, 0x003A9099, 0x0039A499,\n\t0x00000002, 0x003A9099, 0x0039A699, 0x00000002, 0x003A9097, 0x003A4E97,\n\t0x00000002, 0x003A9098, 0x003A4E98, 0x00000002, 0x003A9099, 0x003A4E99,\n\t0x00000002, 0x003A909A, 0x003A4E9A, 0x00000002, 0x003A9099, 0x003A5699,\n\t0x00000002, 0x003A9097, 0x003A6897, 0x00000002, 0x003A9098, 0x003A6898,\n\t0x00000002, 0x003A9099, 0x003A9099, 0x00000002, 0x003A909A, 0x003A909A,\n\t0x00000002, 0x403A9222, 0xAE60BE02, 0x00000002, 0x003AAA99, 0xA000BE19,\n\t0x00000002, 0x003AAA9A, 0xA000BE1A, 0x00000002,\n\t// Block 223, offset 0x37c0\n\t0x402C6221, 0x40021220, 0x00000002, 0x002C62A3, 0x40021220, 0x00000002,\n\t0x402D2221, 0x40021220, 0x00000002, 0x002D22A3, 0x40021220, 0x00000002,\n\t0x402E9E21, 0x40021220, 0x00000002, 0x002E9EA3, 0x40021220, 0x00000002,\n\t0x40302C21, 0x40021220, 0x00000002, 0x00302CA3, 0x40021220, 0x00000002,\n\t0x40312A21, 0x40021220, 0x00000002, 0x00312AA3, 0x40021220, 0x00000003,\n\t0x40312A21, 0x40021220, 0xAE604102, 0x00000003, 0x00312AA3, 0x40021220,\n\t0xAE604102, 0x00000002, 0x40320E20, 0xAE605B02, 0x00000002, 0x00320E83,\n\t0xAE605B02, 0x00000002, 0x40320E21, 0xAE603202, 0x00000002, 0x00320EA3,\n\t0xAE603202, 0x00000002, 0x40321020, 0xAE604E02, 0x00000002, 0x00321083,\n\t0xAE604E02, 0x00000002, 0x40321020, 0xAE605B02, 0x00000002, 0x00321083,\n\t0xAE605B02, 0x00000002, 0x40321021, 0xAE603202,\n\t// Block 224, offset 0x3800\n\t0x00000002, 0x003210A3, 0xAE603202, 0x00000002, 0x40302C21, 0x402D6820,\n\t0x00000002, 0x00302CA3, 0x402D6820, 0x00000002, 0x40321023, 0xAE603202,\n\t0x00000002, 0x003210E3, 0xAE603202, 0x00000002, 0x40321023, 0xAE603C02,\n\t0x00000002, 0x003210E3, 0xAE603C02, 0x00000002, 0x40321023, 0xAE604702,\n\t0x00000002, 0x003210E3, 0xAE604702, 0x00000002, 0x40321023, 0xAE605B02,\n\t0x00000002, 0x003210E3, 0xAE605B02, 0x00000002, 0x40321023, 0xAD806802,\n\t0x00000002, 0x003210E3, 0xAD806802, 0x00000002, 0x002BDE83, 0xAE603202,\n\t0x00000002, 0x002BDE83, 0xAE603502, 0x00000002, 0x002BDE83, 0xAE603702,\n\t0x00000003, 0x002BDE83, 0xAE603702, 0xAE603202, 0x00000003, 0x002BDE83,\n\t0xAE603702, 0xAE603502, 0x00000003, 0x002BDE83, 0xAE603702, 0xAE604E02,\n\t0x00000003, 0x002BDE83, 0xAE603702, 0xAE606402,\n\t// Block 225, offset 0x3840\n\t0x00000002, 0x002BDE83, 0xAE603C02, 0x00000003, 0x002BDE83, 0xAE603C02,\n\t0xAE603202, 0x00000003, 0x002BDE83, 0xAE603C02, 0xAE603502, 0x00000003,\n\t0x002BDE83, 0xAE603C02, 0xAE604E02, 0x00000003, 0x002BDE83, 0xAE603C02,\n\t0xAE606402, 0x00000002, 0x002BDE83, 0xAE604102, 0x00000002, 0x002BDE83,\n\t0xAE604302, 0x00000003, 0x002BDE83, 0xAE604302, 0xAE603202, 0x00000002,\n\t0x002BDE83, 0xAE604702, 0x00000003, 0x002BDE83, 0xAE604702, 0xAE605B02,\n\t0x00000002, 0x002BDE83, 0xAE604E02, 0x00000002, 0x002BDE83, 0xAE605202,\n\t0x00000003, 0x002BDE83, 0xAE605202, 0xAE605B02, 0x00000002, 0x002BDE83,\n\t0xACA05902, 0x00000002, 0x002BDE83, 0xAE605B02, 0x00000002, 0x002BDE83,\n\t0xAE606402, 0x00000002, 0x002BDE83, 0xAE606502, 0x00000002, 0x002BDE83,\n\t0xAE606702, 0x00000002, 0x002BDE83, 0xADC07002,\n\t// Block 226, offset 0x3880\n\t0x00000003, 0x002BDE83, 0xADC07002, 0xAE603702, 0x00000003, 0x002BDE83,\n\t0xADC07002, 0xAE603C02, 0x00000002, 0x002BDE83, 0xADC07602, 0x00000002,\n\t0x402BE020, 0xAE603202, 0x00000002, 0x002BE083, 0xAE603202, 0x00000002,\n\t0x402BE020, 0xAE603502, 0x00000002, 0x002BE083, 0xAE603502, 0x00000002,\n\t0x402BE020, 0xAE603702, 0x00000002, 0x002BE083, 0xAE603702, 0x00000002,\n\t0x402BE020, 0xAE603C02, 0x00000002, 0x002BE083, 0xAE603C02, 0x00000003,\n\t0x402BE020, 0xAE603C02, 0xAE603202, 0x00000003, 0x002BE083, 0xAE603C02,\n\t0xAE603202, 0x00000003, 0x402BE020, 0xAE603C02, 0xAE603502, 0x00000003,\n\t0x002BE083, 0xAE603C02, 0xAE603502, 0x00000003, 0x402BE020, 0xAE603C02,\n\t0xAE604E02, 0x00000003, 0x002BE083, 0xAE603C02, 0xAE604E02, 0x00000003,\n\t0x402BE020, 0xAE603C02, 0xAE606402, 0x00000003,\n\t// Block 227, offset 0x38c0\n\t0x002BE083, 0xAE603C02, 0xAE606402, 0x00000002, 0x402BE020, 0xAE604102,\n\t0x00000002, 0x002BE083, 0xAE604102, 0x00000002, 0x402BE020, 0xAE604702,\n\t0x00000002, 0x002BE083, 0xAE604702, 0x00000002, 0x402BE020, 0xAE604E02,\n\t0x00000002, 0x002BE083, 0xAE604E02, 0x00000002, 0x402BE020, 0xAE605202,\n\t0x00000002, 0x002BE083, 0xAE605202, 0x00000002, 0x402BE020, 0xACA05602,\n\t0x00000002, 0x002BE083, 0xACA05602, 0x00000003, 0x402BE020, 0xACA05602,\n\t0xAE603702, 0x00000003, 0x002BE083, 0xACA05602, 0xAE603702, 0x00000002,\n\t0x402BE020, 0xACA05902, 0x00000002, 0x002BE083, 0xACA05902, 0x00000002,\n\t0x402BE020, 0xAE605B02, 0x00000002, 0x002BE083, 0xAE605B02, 0x00000003,\n\t0x402BE020, 0xAE605B02, 0xAE603202, 0x00000003, 0x002BE083, 0xAE605B02,\n\t0xAE603202, 0x00000003, 0x402BE020, 0xAE605B02,\n\t// Block 228, offset 0x3900\n\t0xAE603502, 0x00000003, 0x002BE083, 0xAE605B02, 0xAE603502, 0x00000002,\n\t0x402BE020, 0xAE606402, 0x00000002, 0x002BE083, 0xAE606402, 0x00000002,\n\t0x402BE020, 0xAE606502, 0x00000002, 0x002BE083, 0xAE606502, 0x00000002,\n\t0x402BE020, 0xAE606702, 0x00000002, 0x002BE083, 0xAE606702, 0x00000002,\n\t0x402BE020, 0xADC07002, 0x00000002, 0x002BE083, 0xADC07002, 0x00000003,\n\t0x402BE020, 0xADC07002, 0xAE603C02, 0x00000003, 0x002BE083, 0xADC07002,\n\t0xAE603C02, 0x00000002, 0x402BE020, 0xADC07802, 0x00000002, 0x002BE083,\n\t0xADC07802, 0x00000002, 0x402BE020, 0xADC07A02, 0x00000002, 0x002BE083,\n\t0xADC07A02, 0x00000002, 0x402BE220, 0xAE603202, 0x00000002, 0x002BE283,\n\t0xAE603202, 0x00000002, 0x402BE220, 0xAE603502, 0x00000002, 0x002BE283,\n\t0xAE603502, 0x00000002, 0x402BE220, 0xAE603702,\n\t// Block 229, offset 0x3940\n\t0x00000002, 0x002BE283, 0xAE603702, 0x00000002, 0x402BE220, 0xAE603C02,\n\t0x00000002, 0x002BE283, 0xAE603C02, 0x00000002, 0x402BE220, 0xAE604102,\n\t0x00000002, 0x002BE283, 0xAE604102, 0x00000002, 0x402BE220, 0xAE604702,\n\t0x00000002, 0x002BE283, 0xAE604702, 0x00000003, 0x402BE220, 0xAE604702,\n\t0xAE603202, 0x00000003, 0x002BE283, 0xAE604702, 0xAE603202, 0x00000002,\n\t0x402BE220, 0xAE604E02, 0x00000002, 0x002BE283, 0xAE604E02, 0x00000002,\n\t0x002BE283, 0xAE605202, 0x00000002, 0x402BE220, 0xACA05902, 0x00000002,\n\t0x002BE283, 0xACA05902, 0x00000002, 0x402BE220, 0xAE605B02, 0x00000002,\n\t0x002BE283, 0xAE605B02, 0x00000002, 0x402BE220, 0xAE606402, 0x00000002,\n\t0x002BE283, 0xAE606402, 0x00000002, 0x402BE220, 0xAE606502, 0x00000002,\n\t0x002BE283, 0xAE606502, 0x00000002, 0x402BE220,\n\t// Block 230, offset 0x3980\n\t0xAE606702, 0x00000002, 0x002BE283, 0xAE606702, 0x00000002, 0x402BE220,\n\t0xADC07002, 0x00000002, 0x002BE283, 0xADC07002, 0x00000002, 0x402BE220,\n\t0xADC07A02, 0x00000002, 0x002BE283, 0xADC07A02, 0x00000002, 0x402BE420,\n\t0xAE603202, 0x00000002, 0x002BE483, 0xAE603202, 0x00000002, 0x402BE420,\n\t0xAE603502, 0x00000002, 0x002BE483, 0xAE603502, 0x00000002, 0x402BE420,\n\t0xAE603702, 0x00000002, 0x002BE483, 0xAE603702, 0x00000002, 0x402BE420,\n\t0xAE603C02, 0x00000002, 0x002BE483, 0xAE603C02, 0x00000003, 0x402BE420,\n\t0xAE603C02, 0xAE603202, 0x00000003, 0x002BE483, 0xAE603C02, 0xAE603202,\n\t0x00000003, 0x402BE420, 0xAE603C02, 0xAE603502, 0x00000003, 0x002BE483,\n\t0xAE603C02, 0xAE603502, 0x00000003, 0x402BE420, 0xAE603C02, 0xAE604E02,\n\t0x00000003, 0x002BE483, 0xAE603C02, 0xAE604E02,\n\t// Block 231, offset 0x39c0\n\t0x00000003, 0x402BE420, 0xAE603C02, 0xAE606402, 0x00000003, 0x002BE483,\n\t0xAE603C02, 0xAE606402, 0x00000002, 0x402BE420, 0xAE604102, 0x00000002,\n\t0x002BE483, 0xAE604102, 0x00000002, 0x402BE420, 0xAE604702, 0x00000002,\n\t0x002BE483, 0xAE604702, 0x00000003, 0x402BE420, 0xAE604702, 0xAE605B02,\n\t0x00000003, 0x002BE483, 0xAE604702, 0xAE605B02, 0x00000002, 0x402BE420,\n\t0xAE604D02, 0x00000002, 0x002BE483, 0xAE604D02, 0x00000002, 0x402BE420,\n\t0xAE604E02, 0x00000002, 0x002BE483, 0xAE604E02, 0x00000003, 0x402BE420,\n\t0xAE604E02, 0xAE603202, 0x00000003, 0x002BE483, 0xAE604E02, 0xAE603202,\n\t0x00000003, 0x402BE420, 0xAE604E02, 0xAE604702, 0x00000003, 0x002BE483,\n\t0xAE604E02, 0xAE604702, 0x00000003, 0x402BE420, 0xAE604E02, 0xAE605B02,\n\t0x00000003, 0x002BE483, 0xAE604E02, 0xAE605B02,\n\t// Block 232, offset 0x3a00\n\t0x00000002, 0x402BE420, 0xAE605202, 0x00000002, 0x002BE483, 0xAE605202,\n\t0x00000003, 0x402BE420, 0xAE605202, 0xAE605B02, 0x00000003, 0x002BE483,\n\t0xAE605202, 0xAE605B02, 0x00000002, 0x402BE420, 0xACA05902, 0x00000002,\n\t0x002BE483, 0xACA05902, 0x00000003, 0x402BE420, 0xACA05902, 0xAE605B02,\n\t0x00000003, 0x002BE483, 0xACA05902, 0xAE605B02, 0x00000002, 0x402BE420,\n\t0xAE605B02, 0x00000002, 0x002BE483, 0xAE605B02, 0x00000003, 0x402BE420,\n\t0xAE605B02, 0xAE603202, 0x00000003, 0x002BE483, 0xAE605B02, 0xAE603202,\n\t0x00000003, 0x402BE420, 0xAE605B02, 0xAE603502, 0x00000003, 0x002BE483,\n\t0xAE605B02, 0xAE603502, 0x00000002, 0x402BE420, 0xAE606402, 0x00000002,\n\t0x002BE483, 0xAE606402, 0x00000002, 0x402BE420, 0xAE606502, 0x00000002,\n\t0x002BE483, 0xAE606502, 0x00000002, 0x402BE420,\n\t// Block 233, offset 0x3a40\n\t0xAE606702, 0x00000002, 0x002BE483, 0xAE606702, 0x00000002, 0x402BE420,\n\t0xAD806802, 0x00000002, 0x002BE483, 0xAD806802, 0x00000003, 0x402BE420,\n\t0xAD806802, 0xAE603202, 0x00000003, 0x002BE483, 0xAD806802, 0xAE603202,\n\t0x00000003, 0x402BE420, 0xAD806802, 0xAE603502, 0x00000003, 0x002BE483,\n\t0xAD806802, 0xAE603502, 0x00000003, 0x402BE420, 0xAD806802, 0xAE604E02,\n\t0x00000003, 0x002BE483, 0xAD806802, 0xAE604E02, 0x00000003, 0x402BE420,\n\t0xAD806802, 0xAE606402, 0x00000003, 0x002BE483, 0xAD806802, 0xAE606402,\n\t0x00000003, 0x402BE420, 0xAD806802, 0xADC07002, 0x00000003, 0x002BE483,\n\t0xAD806802, 0xADC07002, 0x00000002, 0x402BE420, 0xADC07002, 0x00000002,\n\t0x002BE483, 0xADC07002, 0x00000003, 0x402BE420, 0xADC07002, 0xAE603C02,\n\t0x00000003, 0x002BE483, 0xADC07002, 0xAE603C02,\n\t// Block 234, offset 0x3a80\n\t0x00000002, 0x402BE620, 0xAE603202, 0x00000002, 0x002BE683, 0xAE603202,\n\t0x00000002, 0x402BE620, 0xAE603502, 0x00000002, 0x002BE683, 0xAE603502,\n\t0x00000002, 0x402BE620, 0xAE603702, 0x00000002, 0x002BE683, 0xAE603702,\n\t0x00000002, 0x402BE620, 0xAE603C02, 0x00000002, 0x002BE683, 0xAE603C02,\n\t0x00000002, 0x402BE620, 0xAE604102, 0x00000002, 0x002BE683, 0xAE604102,\n\t0x00000002, 0x402BE620, 0xAE604302, 0x00000002, 0x002BE683, 0xAE604302,\n\t0x00000002, 0x402BE620, 0xAE604702, 0x00000002, 0x002BE683, 0xAE604702,\n\t0x00000003, 0x402BE620, 0xAE604702, 0xAE603202, 0x00000003, 0x002BE683,\n\t0xAE604702, 0xAE603202, 0x00000003, 0x402BE620, 0xAE604702, 0xAE603502,\n\t0x00000003, 0x002BE683, 0xAE604702, 0xAE603502, 0x00000003, 0x402BE620,\n\t0xAE604702, 0xAE604102, 0x00000003, 0x002BE683,\n\t// Block 235, offset 0x3ac0\n\t0xAE604702, 0xAE604102, 0x00000003, 0x402BE620, 0xAE604702, 0xAE605B02,\n\t0x00000003, 0x002BE683, 0xAE604702, 0xAE605B02, 0x00000002, 0x402BE620,\n\t0xAE604D02, 0x00000002, 0x002BE683, 0xAE604D02, 0x00000002, 0x402BE620,\n\t0xAE604E02, 0x00000002, 0x002BE683, 0xAE604E02, 0x00000003, 0x402BE620,\n\t0xAE604E02, 0xAE603202, 0x00000003, 0x002BE683, 0xAE604E02, 0xAE603202,\n\t0x00000002, 0x402BE620, 0xACA05902, 0x00000002, 0x002BE683, 0xACA05902,\n\t0x00000002, 0x402BE620, 0xAE605B02, 0x00000002, 0x002BE683, 0xAE605B02,\n\t0x00000003, 0x402BE620, 0xAE605B02, 0xAE604702, 0x00000003, 0x002BE683,\n\t0xAE605B02, 0xAE604702, 0x00000002, 0x402BE620, 0xAE606402, 0x00000002,\n\t0x002BE683, 0xAE606402, 0x00000002, 0x402BE620, 0xAE606502, 0x00000002,\n\t0x002BE683, 0xAE606502, 0x00000002, 0x402BE620,\n\t// Block 236, offset 0x3b00\n\t0xAE606702, 0x00000002, 0x002BE683, 0xAE606702, 0x00000002, 0x402BE620,\n\t0xAD806802, 0x00000002, 0x002BE683, 0xAD806802, 0x00000003, 0x402BE620,\n\t0xAD806802, 0xAE603202, 0x00000003, 0x002BE683, 0xAD806802, 0xAE603202,\n\t0x00000003, 0x402BE620, 0xAD806802, 0xAE603502, 0x00000003, 0x002BE683,\n\t0xAD806802, 0xAE603502, 0x00000003, 0x402BE620, 0xAD806802, 0xAE604E02,\n\t0x00000003, 0x002BE683, 0xAD806802, 0xAE604E02, 0x00000003, 0x402BE620,\n\t0xAD806802, 0xAE606402, 0x00000003, 0x002BE683, 0xAD806802, 0xAE606402,\n\t0x00000003, 0x402BE620, 0xAD806802, 0xADC07002, 0x00000003, 0x002BE683,\n\t0xAD806802, 0xADC07002, 0x00000002, 0x402BE620, 0xADC07002, 0x00000002,\n\t0x002BE683, 0xADC07002, 0x00000002, 0x402BE620, 0xADC07502, 0x00000002,\n\t0x002BE683, 0xADC07502, 0x00000002, 0x402BE620,\n\t// Block 237, offset 0x3b40\n\t0xADC07802, 0x00000002, 0x002BE683, 0xADC07802, 0x00000002, 0x402BE620,\n\t0xADC07A02, 0x00000002, 0x002BE683, 0xADC07A02, 0x00000002, 0x402BE820,\n\t0xAE603C02, 0x00000002, 0x002BE883, 0xAE603C02, 0x00000002, 0x402BE820,\n\t0xAE604102, 0x00000002, 0x002BE883, 0xAE604102, 0x00000002, 0x402BE820,\n\t0xAE604702, 0x00000002, 0x002BE883, 0xAE604702, 0x00000002, 0x402BE820,\n\t0xAE605202, 0x00000002, 0x002BE883, 0xAE605202, 0x00000002, 0x402BE820,\n\t0xACA05602, 0x00000002, 0x002BE883, 0xACA05602, 0x00000002, 0x402BE820,\n\t0xADC07002, 0x00000002, 0x002BE883, 0xADC07002, 0x00000002, 0x402BE820,\n\t0xADC07902, 0x00000002, 0x002BE883, 0xADC07902, 0x00000002, 0x402BE820,\n\t0xADC07B02, 0x00000002, 0x402BEA20, 0xAE603202, 0x00000002, 0x002BEA83,\n\t0xAE603202, 0x00000002, 0x402BEA20, 0xAE604102,\n\t// Block 238, offset 0x3b80\n\t0x00000002, 0x002BEA83, 0xAE604102, 0x00000002, 0x402BEA20, 0xACA05602,\n\t0x00000002, 0x002BEA83, 0xACA05602, 0x00000002, 0x402BEA20, 0xADC07002,\n\t0x00000002, 0x002BEA83, 0xADC07002, 0x00000002, 0x402BEA20, 0xADC07B02,\n\t0x00000002, 0x002BEA83, 0xADC07B02, 0x00000002, 0x402BEC20, 0xAE603202,\n\t0x00000002, 0x002BEC83, 0xAE603202, 0x00000002, 0x402BEC20, 0xAE604102,\n\t0x00000002, 0x002BEC83, 0xAE604102, 0x00000002, 0x402BEC20, 0xACA05602,\n\t0x00000002, 0x002BEC83, 0xACA05602, 0x00000002, 0x402BEC20, 0xADC07002,\n\t0x00000002, 0x002BEC83, 0xADC07002, 0x00000003, 0x402BEC20, 0xADC07002,\n\t0xAE605B02, 0x00000003, 0x002BEC83, 0xADC07002, 0xAE605B02, 0x00000002,\n\t0x402BEC20, 0xADC07802, 0x00000002, 0x002BEC83, 0xADC07802, 0x00000002,\n\t0x402BEC20, 0xADC07B02, 0x00000002, 0x002BEC83,\n\t// Block 239, offset 0x3bc0\n\t0xADC07B02, 0x00000002, 0x402BEE20, 0xAE603202, 0x00000002, 0x002BEE83,\n\t0xAE603202, 0x00000002, 0x402BEE20, 0xAE605202, 0x00000002, 0x002BEE83,\n\t0xAE605202, 0x00000002, 0x402BEE20, 0xADC07002, 0x00000002, 0x002BEE83,\n\t0xADC07002, 0x00000002, 0x402BF020, 0xAE603202, 0x00000002, 0x002BF083,\n\t0xAE603202, 0x00000002, 0x402BF020, 0xAE603502, 0x00000002, 0x002BF083,\n\t0xAE603502, 0x00000002, 0x402BF020, 0xAE604102, 0x00000002, 0x002BF083,\n\t0xAE604102, 0x00000002, 0x402BF020, 0xAE604E02, 0x00000002, 0x002BF083,\n\t0xAE604E02, 0x00000002, 0x402BF020, 0xAE605202, 0x00000002, 0x002BF083,\n\t0xAE605202, 0x00000002, 0x402BF020, 0xACA05602, 0x00000002, 0x002BF083,\n\t0xACA05602, 0x00000002, 0x402BF020, 0xADC07002, 0x00000002, 0x002BF083,\n\t0xADC07002, 0x00000002, 0x402BF020, 0xADC07802,\n\t// Block 240, offset 0x3c00\n\t0x00000002, 0x002BF083, 0xADC07802, 0x00000002, 0x402BF020, 0xADC07B02,\n\t0x00000002, 0x002BF083, 0xADC07B02, 0x00000002, 0x402BF220, 0xAE603202,\n\t0x00000002, 0x002BF283, 0xAE603202, 0x00000002, 0x402BF220, 0xAE605202,\n\t0x00000002, 0x002BF283, 0xAE605202, 0x00000002, 0x402BF420, 0xAE603202,\n\t0x00000002, 0x002BF483, 0xAE603202, 0x00000002, 0x402BF420, 0xAE603502,\n\t0x00000002, 0x002BF483, 0xAE603502, 0x00000002, 0x402BF420, 0xAE603C02,\n\t0x00000002, 0x002BF483, 0xAE603C02, 0x00000002, 0x402BF420, 0xAE604302,\n\t0x00000002, 0x402BF420, 0xAE604702, 0x00000002, 0x002BF483, 0xAE604702,\n\t0x00000002, 0x402BF420, 0xAE605202, 0x00000002, 0x002BF483, 0xAE605202,\n\t0x00000002, 0x402BF420, 0xADC07002, 0x00000002, 0x002BF483, 0xADC07002,\n\t0x00000002, 0x402C3E20, 0xACA05602, 0x00000002,\n\t// Block 241, offset 0x3c40\n\t0x002C3E83, 0xACA05602, 0x00000002, 0x002C3C83, 0x402C3C20, 0x00000002,\n\t0x002C3C85, 0x402C3C20, 0x00000002, 0x002C3C87, 0x002C3C86, 0x00000002,\n\t0x002C6483, 0x402C6420, 0x00000002, 0x002C6485, 0x402C6420, 0x00000002,\n\t0x002C6487, 0x002C6486, 0x00000002, 0x002C6683, 0x402C6620, 0x00000002,\n\t0x002C6685, 0x402C6620, 0x00000002, 0x002C6687, 0x002C6686, 0x00000002,\n\t0x002D2483, 0x402D2420, 0x00000002, 0x002D2485, 0x402D2420, 0x00000002,\n\t0x002D2487, 0x002D2486, 0x00000002, 0x002E2483, 0x402E2420, 0x00000002,\n\t0x002E2485, 0x402E2420, 0x00000002, 0x002E2487, 0x002E2486, 0x00000002,\n\t0x002EA083, 0x402EA020, 0x00000002, 0x002EA085, 0x402EA020, 0x00000002,\n\t0x002EA087, 0x002EA086, 0x00000002, 0x002FE883, 0x402FE820, 0x00000002,\n\t0x002FE885, 0x402FE820, 0x00000002, 0x002FE887,\n\t// Block 242, offset 0x3c80\n\t0x002FE886, 0x00000002, 0x00302E83, 0x40302E20, 0x00000002, 0x00302E85,\n\t0x40302E20, 0x00000002, 0x00302E87, 0x00302E86, 0x00000002, 0x00312C83,\n\t0x40312C20, 0x00000002, 0x00312C85, 0x40312C20, 0x00000002, 0x00312C87,\n\t0x00312C86, 0x00000002, 0x402EE420, 0xAE603C02, 0x00000002, 0x002EE483,\n\t0xAE603C02, 0x00000002, 0x402EE420, 0xAD806802, 0x00000002, 0x002EE483,\n\t0xAD806802, 0x00000002, 0x40306E20, 0xAD806802, 0x00000002, 0x00306E83,\n\t0xAD806802, 0x00000002, 0x402C0820, 0xAE603702, 0x00000002, 0x002C0883,\n\t0xAE603702, 0x00000002, 0x402C0820, 0xAE603C02, 0x00000002, 0x002C0883,\n\t0xAE603C02, 0x00000002, 0x402D0620, 0xAE603C02, 0x00000002, 0x002D0683,\n\t0xAE603C02, 0x00000002, 0x402D0620, 0xAE605B02, 0x00000002, 0x002D0683,\n\t0xAE605B02, 0x00000002, 0x402DCA20, 0xAE604702,\n\t// Block 243, offset 0x3cc0\n\t0x00000002, 0x002DCA83, 0xAE604702, 0x00000002, 0x402F2A20, 0xAE603C02,\n\t0x00000002, 0x002F2A83, 0xAE603C02, 0x00000002, 0x402F2A20, 0xAE604E02,\n\t0x00000002, 0x002F2A83, 0xAE604E02, 0x00000002, 0x402F2A20, 0xAE605B02,\n\t0x00000002, 0x002F2A83, 0xAE605B02, 0x00000002, 0x402F2A20, 0xAD806802,\n\t0x00000002, 0x002F2A83, 0xAD806802, 0x00000002, 0x4030BC20, 0xAE604702,\n\t0x00000002, 0x0030BC83, 0xAE604702, 0x00000002, 0x4030BC20, 0xAE604E02,\n\t0x00000002, 0x0030BC83, 0xAE604E02, 0x00000002, 0x4030BC20, 0xAD806802,\n\t0x00000002, 0x0030BC83, 0xAD806802, 0x00000002, 0x40320E20, 0xAE604E02,\n\t0x00000002, 0x00320E83, 0xAE604E02, 0x00000003, 0x0004B084, 0x029C1284,\n\t0x0004B29F, 0x00000003, 0x0004B084, 0x029D1884, 0x0004B29F, 0x00000003,\n\t0x0004B084, 0x02A5BA84, 0x0004B29F, 0x00000003,\n\t// Block 244, offset 0x3d00\n\t0x0004B084, 0x02B71284, 0x0004B29F, 0x00000003, 0x0004B084, 0x02C4A684,\n\t0x0004B29F, 0x00000003, 0x0004B084, 0x02CAAE84, 0x0004B29F, 0x00000003,\n\t0x0004B084, 0x02CE5884, 0x0004B29F, 0x00000003, 0x0004B084, 0x02E17284,\n\t0x0004B29F, 0x00000003, 0x0004B084, 0x02EDAE84, 0x0004B29F, 0x00000002,\n\t0x0065768E, 0x0065768F, 0x00000002, 0x0065768E, 0x00657691, 0x00000002,\n\t0x00657690, 0x0065768F, 0x00000002, 0x00657690, 0x00657691, 0x00000002,\n\t0x0065768E, 0x0065828F, 0x00000002, 0x0065768E, 0x00658291, 0x00000003,\n\t0x0065768E, 0x00658291, 0xA0812802, 0x00000002, 0x0065768E, 0x00658C91,\n\t0x00000003, 0x0065768E, 0x00658C91, 0xA0812802, 0x00000002, 0x0065768E,\n\t0x00659691, 0x00000003, 0x0065768E, 0x00659691, 0xA0812802, 0x00000002,\n\t0x0065768E, 0x0065A091, 0x00000002, 0x0065768E,\n\t// Block 245, offset 0x3d40\n\t0x0065AA8F, 0x00000002, 0x0065768E, 0x0065AA91, 0x00000003, 0x0065768E,\n\t0x0065AA91, 0xA0812802, 0x00000003, 0x0065768E, 0x0065AA91, 0xA0812902,\n\t0x00000002, 0x0065768E, 0x0065B491, 0x00000002, 0x0065768E, 0x0065BE8F,\n\t0x00000002, 0x0065768E, 0x0065BE91, 0x00000002, 0x0065768E, 0x0065C68F,\n\t0x00000002, 0x0065768E, 0x0065C691, 0x00000002, 0x0065768E, 0x0065D08F,\n\t0x00000002, 0x0065768E, 0x0065D091, 0x00000003, 0x0065768E, 0x0065D091,\n\t0xA0812802, 0x00000002, 0x0065788E, 0x0065788F, 0x00000002, 0x0065788E,\n\t0x00657891, 0x00000002, 0x00657890, 0x0065788F, 0x00000002, 0x00657890,\n\t0x00657891, 0x00000002, 0x0065788E, 0x00658491, 0x00000003, 0x0065788E,\n\t0x00658491, 0xA0812802, 0x00000002, 0x0065788E, 0x00658E8F, 0x00000002,\n\t0x0065788E, 0x00658E91, 0x00000003, 0x0065788E,\n\t// Block 246, offset 0x3d80\n\t0x00658E91, 0xA0812802, 0x00000002, 0x0065788E, 0x00659891, 0x00000003,\n\t0x0065788E, 0x00659891, 0xA0812802, 0x00000002, 0x0065788E, 0x0065A291,\n\t0x00000002, 0x0065788E, 0x0065AC8F, 0x00000002, 0x0065788E, 0x0065AC91,\n\t0x00000003, 0x0065788E, 0x0065AC91, 0xA0812802, 0x00000003, 0x0065788E,\n\t0x0065AC91, 0xA0812902, 0x00000002, 0x0065788E, 0x0065B691, 0x00000002,\n\t0x0065788E, 0x0065C88F, 0x00000002, 0x0065788E, 0x0065C891, 0x00000002,\n\t0x0065788E, 0x0065D291, 0x00000003, 0x0065788E, 0x0065D291, 0xA0812802,\n\t0x00000002, 0x00657A8E, 0x00657A8F, 0x00000002, 0x00657A8E, 0x00657A91,\n\t0x00000002, 0x00657A90, 0x00657A8F, 0x00000002, 0x00657A90, 0x00657A91,\n\t0x00000003, 0x00657A8E, 0x00657A91, 0xA0812802, 0x00000003, 0x00657A90,\n\t0x00657A8F, 0xA0812802, 0x00000003, 0x00657A90,\n\t// Block 247, offset 0x3dc0\n\t0x00657A91, 0xA0812802, 0x00000004, 0x00657A90, 0x00657A91, 0xA0812802,\n\t0xA0812802, 0x00000002, 0x00657A8E, 0x0065868F, 0x00000002, 0x00657A8E,\n\t0x00658691, 0x00000003, 0x00657A8E, 0x00658691, 0xA0812802, 0x00000002,\n\t0x00657A8E, 0x0065908F, 0x00000002, 0x00657A8E, 0x00659091, 0x00000003,\n\t0x00657A8E, 0x00659091, 0xA0812802, 0x00000002, 0x00657A8E, 0x00659A8F,\n\t0x00000002, 0x00657A8E, 0x00659A91, 0x00000003, 0x00657A8E, 0x00659A91,\n\t0xA0812802, 0x00000002, 0x00657A8E, 0x0065A48F, 0x00000002, 0x00657A8E,\n\t0x0065A491, 0x00000002, 0x00657A8E, 0x0065AE8F, 0x00000002, 0x00657A8E,\n\t0x0065AE91, 0x00000003, 0x00657A8E, 0x0065AE91, 0xA0812802, 0x00000003,\n\t0x00657A8E, 0x0065AE91, 0xA0812902, 0x00000002, 0x00657A8E, 0x0065B88F,\n\t0x00000002, 0x00657A8E, 0x0065B891, 0x00000002,\n\t// Block 248, offset 0x3e00\n\t0x00657A8E, 0x0065C08F, 0x00000002, 0x00657A8E, 0x0065C091, 0x00000002,\n\t0x00657A8E, 0x0065CA8F, 0x00000002, 0x00657A8E, 0x0065CA91, 0x00000002,\n\t0x00657E8E, 0x00657E8F, 0x00000002, 0x00657E8E, 0x00657E91, 0x00000002,\n\t0x00657E90, 0x00657E8F, 0x00000002, 0x00657E90, 0x00657E91, 0x00000002,\n\t0x00657E8E, 0x0065888F, 0x00000002, 0x00657E8E, 0x00658891, 0x00000003,\n\t0x00657E8E, 0x00658891, 0xA0812802, 0x00000002, 0x00657E8E, 0x00659291,\n\t0x00000003, 0x00657E8E, 0x00659291, 0xA0812802, 0x00000002, 0x00657E8E,\n\t0x00659C91, 0x00000003, 0x00657E8E, 0x00659C91, 0xA0812802, 0x00000002,\n\t0x00657E8E, 0x0065A691, 0x00000002, 0x00657E8E, 0x0065B08F, 0x00000002,\n\t0x00657E8E, 0x0065B091, 0x00000003, 0x00657E8E, 0x0065B091, 0xA0812802,\n\t0x00000003, 0x00657E8E, 0x0065B091, 0xA0812902,\n\t// Block 249, offset 0x3e40\n\t0x00000002, 0x00657E8E, 0x0065BA91, 0x00000002, 0x00657E8E, 0x0065CC8F,\n\t0x00000002, 0x00657E8E, 0x0065CC91, 0x00000002, 0x00657E8E, 0x0065D491,\n\t0x00000003, 0x00657E8E, 0x0065D491, 0xA0812802, 0x00000002, 0x0065808E,\n\t0x0065808F, 0x00000002, 0x0065808E, 0x00658091, 0x00000002, 0x00658090,\n\t0x0065808F, 0x00000002, 0x00658090, 0x00658091, 0x00000002, 0x0065808E,\n\t0x00658A91, 0x00000003, 0x0065808E, 0x00658A91, 0xA0812802, 0x00000002,\n\t0x0065808E, 0x00659491, 0x00000003, 0x0065808E, 0x00659491, 0xA0812802,\n\t0x00000002, 0x0065808E, 0x00659E8F, 0x00000002, 0x0065808E, 0x00659E91,\n\t0x00000003, 0x0065808E, 0x00659E91, 0xA0812802, 0x00000002, 0x0065808E,\n\t0x0065A891, 0x00000002, 0x0065808E, 0x0065B28F, 0x00000002, 0x0065808E,\n\t0x0065B291, 0x00000003, 0x0065808E, 0x0065B291,\n\t// Block 250, offset 0x3e80\n\t0xA0812802, 0x00000003, 0x0065808E, 0x0065B291, 0xA0812902, 0x00000002,\n\t0x0065808E, 0x0065BC91, 0x00000002, 0x0065808E, 0x0065C48F, 0x00000002,\n\t0x0065808E, 0x0065C491, 0x00000002, 0x0065808E, 0x0065CE8F, 0x00000002,\n\t0x0065808E, 0x0065CE91, 0x00000002, 0x0065808E, 0x0065D691, 0x00000003,\n\t0x0065808E, 0x0065D691, 0xA0812802, 0x00000002, 0x00658290, 0x0065828F,\n\t0x00000002, 0x00658290, 0x00658291, 0x00000003, 0x0065848F, 0x00658291,\n\t0xA0812802, 0x00000002, 0x00658490, 0x00658491, 0x00000003, 0x00658490,\n\t0x00658491, 0xA0812802, 0x00000004, 0x00658490, 0x00658491, 0xA0812802,\n\t0xA0812802, 0x00000002, 0x00658690, 0x0065868F, 0x00000002, 0x00658690,\n\t0x00658691, 0x00000003, 0x00658690, 0x0065868F, 0xA0812802, 0x00000003,\n\t0x00658690, 0x00658691, 0xA0812802, 0x00000004,\n\t// Block 251, offset 0x3ec0\n\t0x00658690, 0x00658691, 0xA0812802, 0xA0812802, 0x00000002, 0x00658890,\n\t0x0065888F, 0x00000002, 0x00658890, 0x00658891, 0x00000003, 0x00658A8F,\n\t0x00658891, 0xA0812802, 0x00000002, 0x00658A90, 0x00658A91, 0x00000003,\n\t0x00658A90, 0x00658A91, 0xA0812802, 0x00000004, 0x00658A90, 0x00658A91,\n\t0xA0812802, 0xA0812802, 0x00000002, 0x40658A21, 0x00659E91, 0x00000002,\n\t0x00658C90, 0x00658C91, 0x00000003, 0x00658C90, 0x00658C91, 0xA0812802,\n\t0x00000004, 0x00658C90, 0x00658C91, 0xA0812802, 0xA0812802, 0x00000002,\n\t0x00658E90, 0x00658E8F, 0x00000002, 0x00658E90, 0x00658E91, 0x00000003,\n\t0x00658E90, 0x00658E8F, 0xA0812802, 0x00000003, 0x00658E90, 0x00658E91,\n\t0xA0812802, 0x00000004, 0x00658E90, 0x00658E91, 0xA0812802, 0xA0812802,\n\t0x00000002, 0x00659090, 0x0065908F, 0x00000002,\n\t// Block 252, offset 0x3f00\n\t0x00659090, 0x00659091, 0x00000003, 0x00659090, 0x0065908F, 0xA0812802,\n\t0x00000003, 0x00659090, 0x00659091, 0xA0812802, 0x00000004, 0x00659090,\n\t0x00659091, 0xA0812802, 0xA0812802, 0x00000002, 0x00659290, 0x00659291,\n\t0x00000003, 0x00659290, 0x00659291, 0xA0812802, 0x00000004, 0x00659290,\n\t0x00659291, 0xA0812802, 0xA0812802, 0x00000002, 0x00659490, 0x00659491,\n\t0x00000003, 0x00659490, 0x00659491, 0xA0812802, 0x00000004, 0x00659490,\n\t0x00659491, 0xA0812802, 0xA0812802, 0x00000002, 0x00659690, 0x00659691,\n\t0x00000003, 0x00659690, 0x00659691, 0xA0812802, 0x00000004, 0x00659690,\n\t0x00659691, 0xA0812802, 0xA0812802, 0x00000002, 0x00659890, 0x00659891,\n\t0x00000003, 0x00659890, 0x00659891, 0xA0812802, 0x00000004, 0x00659890,\n\t0x00659891, 0xA0812802, 0xA0812802, 0x00000002,\n\t// Block 253, offset 0x3f40\n\t0x00659A90, 0x00659A8F, 0x00000002, 0x00659A90, 0x00659A91, 0x00000003,\n\t0x00659A90, 0x00659A8F, 0xA0812802, 0x00000003, 0x00659A90, 0x00659A91,\n\t0xA0812802, 0x00000004, 0x00659A90, 0x00659A91, 0xA0812802, 0xA0812802,\n\t0x00000002, 0x00659C90, 0x00659C91, 0x00000003, 0x00659C90, 0x00659C91,\n\t0xA0812802, 0x00000004, 0x00659C90, 0x00659C91, 0xA0812802, 0xA0812802,\n\t0x00000002, 0x00659E90, 0x00659E8F, 0x00000002, 0x00659E90, 0x00659E91,\n\t0x00000003, 0x00659E90, 0x00659E8F, 0xA0812802, 0x00000003, 0x00659E90,\n\t0x00659E91, 0xA0812802, 0x00000004, 0x00659E90, 0x00659E91, 0xA0812802,\n\t0xA0812802, 0x00000002, 0x0065A090, 0x0065A091, 0x00000002, 0x0065A290,\n\t0x0065A291, 0x00000002, 0x0065A490, 0x0065A48F, 0x00000002, 0x0065A490,\n\t0x0065A491, 0x00000002, 0x0065A690, 0x0065A691,\n\t// Block 254, offset 0x3f80\n\t0x00000002, 0x0065A890, 0x0065A891, 0x00000002, 0x0065AA90, 0x0065AA8F,\n\t0x00000002, 0x0065AA90, 0x0065AA91, 0x00000003, 0x0065AA90, 0x0065AA8F,\n\t0xA0812802, 0x00000003, 0x0065AA90, 0x0065AA91, 0xA0812802, 0x00000004,\n\t0x0065AA90, 0x0065AA91, 0xA0812802, 0xA0812802, 0x00000003, 0x0065AA90,\n\t0x0065AA91, 0xA0812902, 0x00000004, 0x0065AA90, 0x0065AA91, 0xA0812902,\n\t0xA0812802, 0x00000002, 0x0065AC90, 0x0065AC8F, 0x00000002, 0x0065AC90,\n\t0x0065AC91, 0x00000003, 0x0065AC90, 0x0065AC8F, 0xA0812802, 0x00000003,\n\t0x0065AC90, 0x0065AC91, 0xA0812802, 0x00000004, 0x0065AC90, 0x0065AC91,\n\t0xA0812802, 0xA0812802, 0x00000003, 0x0065AC90, 0x0065AC91, 0xA0812902,\n\t0x00000004, 0x0065AC90, 0x0065AC91, 0xA0812902, 0xA0812802, 0x00000002,\n\t0x0065AE90, 0x0065AE8F, 0x00000002, 0x0065AE90,\n\t// Block 255, offset 0x3fc0\n\t0x0065AE91, 0x00000003, 0x0065AE90, 0x0065AE8F, 0xA0812802, 0x00000003,\n\t0x0065AE90, 0x0065AE91, 0xA0812802, 0x00000004, 0x0065AE90, 0x0065AE91,\n\t0xA0812802, 0xA0812802, 0x00000003, 0x0065AE90, 0x0065AE91, 0xA0812902,\n\t0x00000004, 0x0065AE90, 0x0065AE91, 0xA0812902, 0xA0812802, 0x00000002,\n\t0x0065B090, 0x0065B08F, 0x00000002, 0x0065B090, 0x0065B091, 0x00000003,\n\t0x0065B090, 0x0065B08F, 0xA0812802, 0x00000003, 0x0065B090, 0x0065B091,\n\t0xA0812802, 0x00000004, 0x0065B090, 0x0065B091, 0xA0812802, 0xA0812802,\n\t0x00000003, 0x0065B090, 0x0065B091, 0xA0812902, 0x00000004, 0x0065B090,\n\t0x0065B091, 0xA0812902, 0xA0812802, 0x00000002, 0x0065B290, 0x0065B28F,\n\t0x00000002, 0x0065B290, 0x0065B291, 0x00000003, 0x0065B290, 0x0065B28F,\n\t0xA0812802, 0x00000003, 0x0065B290, 0x0065B291,\n\t// Block 256, offset 0x4000\n\t0xA0812802, 0x00000004, 0x0065B290, 0x0065B291, 0xA0812802, 0xA0812802,\n\t0x00000003, 0x0065B290, 0x0065B291, 0xA0812902, 0x00000004, 0x0065B290,\n\t0x0065B291, 0xA0812902, 0xA0812802, 0x00000002, 0x0065B490, 0x0065B491,\n\t0x00000002, 0x0065B690, 0x0065B691, 0x00000002, 0x0065B890, 0x0065B88F,\n\t0x00000002, 0x0065B890, 0x0065B891, 0x00000002, 0x0065BA90, 0x0065BA91,\n\t0x00000002, 0x0065BC90, 0x0065BC91, 0x00000002, 0x0065BE90, 0x0065BE8F,\n\t0x00000002, 0x0065BE90, 0x0065BE91, 0x00000002, 0x0065C090, 0x0065C08F,\n\t0x00000002, 0x0065C090, 0x0065C091, 0x00000002, 0x0065C490, 0x0065C48F,\n\t0x00000002, 0x0065C490, 0x0065C491, 0x00000002, 0x4065C421, 0x0065C891,\n\t0x00000002, 0x0065C690, 0x0065C68F, 0x00000002, 0x0065C690, 0x0065C691,\n\t0x00000002, 0x0065C890, 0x0065C88F, 0x00000002,\n\t// Block 257, offset 0x4040\n\t0x0065C890, 0x0065C891, 0x00000002, 0x0065CA90, 0x0065CA8F, 0x00000002,\n\t0x0065CA90, 0x0065CA91, 0x00000002, 0x0065CC90, 0x0065CC8F, 0x00000002,\n\t0x0065CC90, 0x0065CC91, 0x00000002, 0x0065CE90, 0x0065CE8F, 0x00000002,\n\t0x0065CE90, 0x0065CE91, 0x00000002, 0x0065D090, 0x0065D08F, 0x00000002,\n\t0x0065D090, 0x0065D091, 0x00000003, 0x0065D090, 0x0065D08F, 0xA0812802,\n\t0x00000003, 0x0065D090, 0x0065D091, 0xA0812802, 0x00000004, 0x0065D090,\n\t0x0065D091, 0xA0812802, 0xA0812802, 0x00000002, 0x0065D290, 0x0065D291,\n\t0x00000003, 0x0065D290, 0x0065D291, 0xA0812802, 0x00000004, 0x0065D290,\n\t0x0065D291, 0xA0812802, 0xA0812802, 0x00000002, 0x0065D490, 0x0065D491,\n\t0x00000003, 0x0065D490, 0x0065D491, 0xA0812802, 0x00000004, 0x0065D490,\n\t0x0065D491, 0xA0812802, 0xA0812802, 0x00000002,\n\t// Block 258, offset 0x4080\n\t0x0065D690, 0x0065D691, 0x00000003, 0x0065D690, 0x0065D691, 0xA0812802,\n\t0x00000004, 0x0065D690, 0x0065D691, 0xA0812802, 0xA0812802, 0x00000002,\n\t0x0065D890, 0x0065D891, 0x00000002, 0x02B24E9C, 0x02D6C69C, 0x00000002,\n\t0x02BCE69C, 0x02C4209C, 0x00000002, 0x02CC1C9C, 0x02D9769C, 0x00000002,\n\t0x02CC5A9C, 0x02A9189C, 0x00000003, 0x00032683, 0x404FDA20, 0x40032620,\n\t0x00000003, 0x404FD821, 0x82092817, 0x404FA420, 0x00000003, 0x404FD821,\n\t0x82092817, 0x404FA620, 0x00000003, 0x404FD821, 0x82092817, 0x404FA820,\n\t0x00000003, 0x404FD821, 0x82092817, 0x404FAA20, 0x00000003, 0x404FD821,\n\t0x82092817, 0x404FAC20, 0x00000003, 0x404FD821, 0x82092817, 0x404FAE20,\n\t0x00000003, 0x404FD821, 0x82092817, 0x404FB020, 0x00000003, 0x404FD821,\n\t0x82092817, 0x404FB220, 0x00000003, 0x404FD821,\n\t// Block 259, offset 0x40c0\n\t0x82092817, 0x404FB420, 0x00000003, 0x404FD821, 0x82092817, 0x404FB620,\n\t0x00000003, 0x404FD821, 0x82092817, 0x404FB820, 0x00000003, 0x404FD821,\n\t0x82092817, 0x404FBA20, 0x00000003, 0x404FD821, 0x82092817, 0x404FBC20,\n\t0x00000003, 0x404FD821, 0x82092817, 0x404FBE20, 0x00000003, 0x404FD821,\n\t0x82092817, 0x404FC020, 0x00000003, 0x404FD821, 0x82092817, 0x404FC220,\n\t0x00000003, 0x404FD821, 0x82092817, 0x404FC420, 0x00000003, 0x404FD821,\n\t0x82092817, 0x404FC620, 0x00000003, 0x404FD821, 0x82092817, 0x404FC820,\n\t0x00000003, 0x404FD821, 0x82092817, 0x404FCA20, 0x00000003, 0x404FD821,\n\t0x82092817, 0x404FCC20, 0x00000003, 0x404FD821, 0x82092817, 0x404FCE20,\n\t0x00000003, 0x404FD821, 0x82092817, 0x404FD020, 0x00000003, 0x404FD821,\n\t0x82092817, 0x404FD220, 0x00000003, 0x404FD821,\n\t// Block 260, offset 0x4100\n\t0x82092817, 0x404FD420, 0x00000003, 0x404FD821, 0x82092817, 0x404FD620,\n\t0x00000003, 0x404FD821, 0x82092817, 0x404FD820, 0x00000003, 0x404FD821,\n\t0x82092817, 0x404FDA20, 0x00000003, 0x404FD821, 0x82092817, 0x404FDA20,\n\t0x00000003, 0x404FD821, 0x82092817, 0x404FDC20, 0x00000003, 0x404FD821,\n\t0x82092817, 0x404FDC20, 0x00000003, 0x404FD821, 0x82092817, 0x404FDC20,\n\t0x00000003, 0x404FD821, 0x82092817, 0x404FDE20, 0x00000003, 0x404FD821,\n\t0x82092817, 0x404FDE20, 0x00000003, 0x404FD821, 0x82092817, 0x404FE020,\n\t0x00000003, 0x404FD821, 0x82092817, 0x404FE220, 0x00000003, 0x404FD821,\n\t0x82092817, 0x404FE420, 0x00000003, 0x404FD821, 0x82092817, 0x404FE620,\n\t0x00000003, 0x404FD821, 0x82092817, 0x404FE820, 0x00000002, 0x404FE820,\n\t0x40500E20, 0x00000002, 0x404FE821, 0x40501020,\n\t// Block 261, offset 0x4140\n\t0x00000002, 0x404FE821, 0x40501220, 0x00000002, 0x404FE821, 0x40501820,\n\t0x00000003, 0x004FE8A3, 0x40501820, 0x404FA420, 0x00000002, 0x404FE821,\n\t0x40501A20, 0x00000003, 0x004FE8A3, 0x40501A20, 0x404FDC20, 0x00000002,\n\t0x404FE821, 0x40502620, 0x00000002, 0x404FE821, 0x40502820, 0x00000002,\n\t0x404FE821, 0x40502A20, 0x00000002, 0x004FE8A3, 0x40502A20, 0x00000002,\n\t0x404FE821, 0x40502C20, 0x00000002, 0x4062AC21, 0x4063A820, 0x00000002,\n\t0x4062AC22, 0x4063A820, 0x00000002, 0x4062AC23, 0x4063A820, 0x00000002,\n\t0x4062AC24, 0x4063A820, 0x00000002, 0x4062AC25, 0x4063A820, 0x00000002,\n\t0x4062AC26, 0x4063A820, 0x00000002, 0x4062AC27, 0x4063A820, 0x00000002,\n\t0x4062AC28, 0x4063A820, 0x00000002, 0x4062AC29, 0x4063A820, 0x00000002,\n\t0x4062AC2A, 0x4063A820, 0x00000002, 0x4062AC2B,\n\t// Block 262, offset 0x4180\n\t0x4063A820, 0x00000002, 0x4062AC2C, 0x4063A820, 0x00000002, 0x4062AC2D,\n\t0x4063A820, 0x00000002, 0x4062AC2E, 0x4063A820, 0x00000002, 0x4062AC2F,\n\t0x4063A820, 0x00000002, 0x4062AC30, 0x4063A820, 0x00000002, 0x4062AC31,\n\t0x4063A820, 0x00000002, 0x4062AC32, 0x4063A820, 0x00000002, 0x4062AC33,\n\t0x4063A820, 0x00000002, 0x4062AC34, 0x4063A820, 0x00000002, 0x4062AC35,\n\t0x4063A820, 0x00000002, 0x4062AC36, 0x4063A820, 0x00000002, 0x4062AC37,\n\t0x4063A820, 0x00000002, 0x4062AC38, 0x4063A820, 0x00000002, 0x4062AC39,\n\t0x4063A820, 0x00000002, 0x4062AC3A, 0x4063A820, 0x00000002, 0x4062AC3B,\n\t0x4063A820, 0x00000002, 0x4062AC3C, 0x4063A820, 0x00000002, 0x4062AC3D,\n\t0x4063A820, 0x00000002, 0x4062AC3E, 0x4063A820, 0x00000002, 0x4062AC3F,\n\t0x4063A820, 0x00000002, 0x4062AC40, 0x4063A820,\n\t// Block 263, offset 0x41c0\n\t0x00000002, 0x4062AC41, 0x4063A820, 0x00000002, 0x4062AC42, 0x4063A820,\n\t0x00000002, 0x4062AC43, 0x4063A820, 0x00000002, 0x4062AC44, 0x4063A820,\n\t0x00000002, 0x4062AC45, 0x4063A820, 0x00000002, 0x4062AC46, 0x4063A820,\n\t0x00000002, 0x4062AC47, 0x4063A820, 0x00000002, 0x4062AC48, 0x4063A820,\n\t0x00000002, 0x4062AC49, 0x4063A820, 0x00000002, 0x4062AC4A, 0x4063A820,\n\t0x00000002, 0x4062AC4B, 0x4063A820, 0x00000002, 0x4062AC4C, 0x4063A820,\n\t0x00000003, 0x4062AC21, 0x4063A820, 0x40646420, 0x00000003, 0x4062AC22,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062AC23, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062AC24, 0x4063A820, 0x40646420, 0x00000003, 0x4062AC25,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062AC26, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062AC27, 0x4063A820, 0x40646420,\n\t// Block 264, offset 0x4200\n\t0x00000003, 0x4062AC28, 0x4063A820, 0x40646420, 0x00000003, 0x4062AC29,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062AC2A, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062AC2B, 0x4063A820, 0x40646420, 0x00000003, 0x4062AC2C,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062AC2D, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062AC2E, 0x4063A820, 0x40646420, 0x00000003, 0x4062AC2F,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062AC30, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062AC31, 0x4063A820, 0x40646420, 0x00000003, 0x4062AC21,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062AC22, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062AC23, 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC24,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062AC25, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062AC26, 0x4063A820, 0x40646A20,\n\t// Block 265, offset 0x4240\n\t0x00000003, 0x4062AC27, 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC28,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062AC29, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062AC2A, 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC2B,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062AC2C, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062AC2D, 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC2E,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062AC2F, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062AC30, 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC31,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062AC32, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062AC33, 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC34,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062AC35, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062AC36, 0x4063A820, 0x40646A20,\n\t// Block 266, offset 0x4280\n\t0x00000003, 0x4062AC37, 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC38,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062AC39, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062AC3A, 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC3B,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062AC3C, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062AC3D, 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC3E,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062AC3F, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062AC40, 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC41,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062AC42, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062AC43, 0x4063A820, 0x40646A20, 0x00000003, 0x4062AC21,\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062AC22, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062AC23, 0x4063A820, 0x40647220,\n\t// Block 267, offset 0x42c0\n\t0x00000003, 0x4062AC24, 0x4063A820, 0x40647220, 0x00000003, 0x4062AC25,\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062AC26, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062AC27, 0x4063A820, 0x40647220, 0x00000003, 0x4062AC28,\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062AC29, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062AC2A, 0x4063A820, 0x40647220, 0x00000003, 0x4062AC2B,\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062AC2C, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062AC2D, 0x4063A820, 0x40647220, 0x00000003, 0x4062AC2E,\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062AC2F, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062AC30, 0x4063A820, 0x40647220, 0x00000003, 0x4062AC21,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062AC22, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062AC23, 0x4063A820, 0x40648220,\n\t// Block 268, offset 0x4300\n\t0x00000003, 0x4062AC24, 0x4063A820, 0x40648220, 0x00000003, 0x4062AC25,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062AC26, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062AC27, 0x4063A820, 0x40648220, 0x00000003, 0x4062AC28,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062AC29, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062AC2A, 0x4063A820, 0x40648220, 0x00000003, 0x4062AC2B,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062AC2C, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062AC2D, 0x4063A820, 0x40648220, 0x00000003, 0x4062AC2E,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062AC2F, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062AC30, 0x4063A820, 0x40648220, 0x00000003, 0x4062AC31,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062AC32, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062AC33, 0x4063A820, 0x40648220,\n\t// Block 269, offset 0x4340\n\t0x00000003, 0x4062AC34, 0x4063A820, 0x40648220, 0x00000003, 0x4062AC35,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062AC36, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062AC37, 0x4063A820, 0x40648220, 0x00000003, 0x4062AC38,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062AC39, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062AC3A, 0x4063A820, 0x40648220, 0x00000003, 0x4062AC3B,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062AC3C, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062AC3D, 0x4063A820, 0x40648220, 0x00000003, 0x4062AC3E,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062AC3F, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062AC40, 0x4063A820, 0x40648220, 0x00000003, 0x4062AC41,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062AC42, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062AC43, 0x4063A820, 0x40648220,\n\t// Block 270, offset 0x4380\n\t0x00000003, 0x4062AC21, 0x4063A820, 0x40648420, 0x00000003, 0x4062AC22,\n\t0x4063A820, 0x40648420, 0x00000003, 0x4062AC23, 0x4063A820, 0x40648420,\n\t0x00000003, 0x4062AC24, 0x4063A820, 0x40648420, 0x00000003, 0x4062AC25,\n\t0x4063A820, 0x40648420, 0x00000003, 0x4062AC26, 0x4063A820, 0x40648420,\n\t0x00000003, 0x4062AC27, 0x4063A820, 0x40648420, 0x00000003, 0x4062AC21,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062AC22, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062AC23, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC24,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062AC25, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062AC26, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC27,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062AC28, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062AC29, 0x4063A820, 0x40648C20,\n\t// Block 271, offset 0x43c0\n\t0x00000003, 0x4062AC2A, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC2B,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062AC2C, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062AC2D, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC2E,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062AC2F, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062AC30, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC31,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062AC32, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062AC33, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC34,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062AC35, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062AC36, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC37,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062AC38, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062AC39, 0x4063A820, 0x40648C20,\n\t// Block 272, offset 0x4400\n\t0x00000003, 0x4062AC3A, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC3B,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062AC3C, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062AC3D, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC3E,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062AC3F, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062AC40, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC41,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062AC42, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062AC43, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC44,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062AC45, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062AC46, 0x4063A820, 0x40648C20, 0x00000003, 0x4062AC47,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062AC48, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062AC49, 0x4063A820, 0x40648C20,\n\t// Block 273, offset 0x4440\n\t0x00000002, 0x4062AC21, 0x4063AA20, 0x00000002, 0x4062AC22, 0x4063AA20,\n\t0x00000002, 0x4062AC23, 0x4063AA20, 0x00000002, 0x4062AC24, 0x4063AA20,\n\t0x00000002, 0x4062AC25, 0x4063AA20, 0x00000002, 0x4062AC26, 0x4063AA20,\n\t0x00000002, 0x4062AC27, 0x4063AA20, 0x00000002, 0x4062AC28, 0x4063AA20,\n\t0x00000002, 0x4062AC29, 0x4063AA20, 0x00000002, 0x4062AC2A, 0x4063AA20,\n\t0x00000002, 0x4062AC2B, 0x4063AA20, 0x00000002, 0x4062AC2C, 0x4063AA20,\n\t0x00000002, 0x4062AC2D, 0x4063AA20, 0x00000002, 0x4062AC2E, 0x4063AA20,\n\t0x00000002, 0x4062AC2F, 0x4063AA20, 0x00000002, 0x4062AC30, 0x4063AA20,\n\t0x00000002, 0x4062AC31, 0x4063AA20, 0x00000002, 0x4062AC32, 0x4063AA20,\n\t0x00000002, 0x4062AC33, 0x4063AA20, 0x00000002, 0x4062AC34, 0x4063AA20,\n\t0x00000002, 0x4062AC35, 0x4063AA20, 0x00000002,\n\t// Block 274, offset 0x4480\n\t0x4062AC36, 0x4063AA20, 0x00000002, 0x4062AC37, 0x4063AA20, 0x00000002,\n\t0x4062AC38, 0x4063AA20, 0x00000002, 0x4062AC39, 0x4063AA20, 0x00000002,\n\t0x4062AC3A, 0x4063AA20, 0x00000003, 0x4062AC21, 0x4063AA20, 0x40646420,\n\t0x00000003, 0x4062AC22, 0x4063AA20, 0x40646420, 0x00000003, 0x4062AC21,\n\t0x4063AA20, 0x40648C20, 0x00000003, 0x4062AC22, 0x4063AA20, 0x40648C20,\n\t0x00000003, 0x4062AC23, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062AC24,\n\t0x4063AA20, 0x40648C20, 0x00000003, 0x4062AC25, 0x4063AA20, 0x40648C20,\n\t0x00000003, 0x4062AC26, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062AC21,\n\t0x4063AC20, 0x40646420, 0x00000002, 0x4062AC21, 0x4063B020, 0x00000002,\n\t0x4062AC22, 0x4063B020, 0x00000002, 0x4062AC23, 0x4063B020, 0x00000002,\n\t0x4062AC24, 0x4063B020, 0x00000002, 0x4062AC25,\n\t// Block 275, offset 0x44c0\n\t0x4063B020, 0x00000002, 0x4062AC26, 0x4063B020, 0x00000002, 0x4062AC27,\n\t0x4063B020, 0x00000002, 0x4062AC28, 0x4063B020, 0x00000002, 0x4062AC29,\n\t0x4063B020, 0x00000002, 0x4062AC2A, 0x4063B020, 0x00000002, 0x4062AC2B,\n\t0x4063B020, 0x00000002, 0x4062AC2C, 0x4063B020, 0x00000002, 0x4062AC2D,\n\t0x4063B020, 0x00000002, 0x4062AC2E, 0x4063B020, 0x00000002, 0x4062AC2F,\n\t0x4063B020, 0x00000002, 0x4062AC30, 0x4063B020, 0x00000002, 0x4062AC31,\n\t0x4063B020, 0x00000002, 0x4062AC32, 0x4063B020, 0x00000002, 0x4062AC33,\n\t0x4063B020, 0x00000002, 0x4062AC34, 0x4063B020, 0x00000002, 0x4062AC35,\n\t0x4063B020, 0x00000002, 0x4062AC36, 0x4063B020, 0x00000002, 0x4062AC37,\n\t0x4063B020, 0x00000002, 0x4062AC38, 0x4063B020, 0x00000002, 0x4062AC39,\n\t0x4063B020, 0x00000002, 0x4062AC3A, 0x4063B020,\n\t// Block 276, offset 0x4500\n\t0x00000002, 0x4062AC3B, 0x4063B020, 0x00000002, 0x4062AC3C, 0x4063B020,\n\t0x00000002, 0x4062AC3D, 0x4063B020, 0x00000002, 0x4062AC3E, 0x4063B020,\n\t0x00000003, 0x4062AC21, 0x4063B020, 0x40646A20, 0x00000003, 0x4062AC22,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062AC23, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062AC24, 0x4063B020, 0x40646A20, 0x00000003, 0x4062AC25,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062AC26, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062AC27, 0x4063B020, 0x40646A20, 0x00000003, 0x4062AC28,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062AC29, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062AC2A, 0x4063B020, 0x40646A20, 0x00000003, 0x4062AC2B,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062AC2C, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062AC2D, 0x4063B020, 0x40646A20,\n\t// Block 277, offset 0x4540\n\t0x00000003, 0x4062AC2E, 0x4063B020, 0x40646A20, 0x00000003, 0x4062AC2F,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062AC30, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062AC31, 0x4063B020, 0x40646A20, 0x00000003, 0x4062AC32,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062AC21, 0x4063B020, 0x40647220,\n\t0x00000003, 0x4062AC22, 0x4063B020, 0x40647220, 0x00000003, 0x4062AC23,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062AC24, 0x4063B020, 0x40647220,\n\t0x00000003, 0x4062AC25, 0x4063B020, 0x40647220, 0x00000003, 0x4062AC26,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062AC27, 0x4063B020, 0x40647220,\n\t0x00000003, 0x4062AC21, 0x4063B020, 0x40648220, 0x00000003, 0x4062AC22,\n\t0x4063B020, 0x40648220, 0x00000003, 0x4062AC23, 0x4063B020, 0x40648220,\n\t0x00000003, 0x4062AC24, 0x4063B020, 0x40648220,\n\t// Block 278, offset 0x4580\n\t0x00000003, 0x4062AC25, 0x4063B020, 0x40648220, 0x00000003, 0x4062AC26,\n\t0x4063B020, 0x40648220, 0x00000003, 0x4062AC27, 0x4063B020, 0x40648220,\n\t0x00000003, 0x4062AC28, 0x4063B020, 0x40648220, 0x00000003, 0x4062AC29,\n\t0x4063B020, 0x40648220, 0x00000003, 0x4062AC21, 0x4063B020, 0x40648420,\n\t0x00000003, 0x4062AC22, 0x4063B020, 0x40648420, 0x00000003, 0x4062AC23,\n\t0x4063B020, 0x40648420, 0x00000003, 0x4062AC24, 0x4063B020, 0x40648420,\n\t0x00000003, 0x4062AC25, 0x4063B020, 0x40648420, 0x00000002, 0x4062AC21,\n\t0x4063B220, 0x00000002, 0x4062AC22, 0x4063B220, 0x00000002, 0x4062AC23,\n\t0x4063B220, 0x00000003, 0x4062AC21, 0x4063B420, 0x40646420, 0x00000003,\n\t0x4062AC22, 0x4063B420, 0x40646420, 0x00000003, 0x4062AC23, 0x4063B420,\n\t0x40646420, 0x00000003, 0x4062AC24, 0x4063B420,\n\t// Block 279, offset 0x45c0\n\t0x40646420, 0x00000003, 0x4062AC25, 0x4063B420, 0x40646420, 0x00000003,\n\t0x4062AC26, 0x4063B420, 0x40646420, 0x00000003, 0x4062AC27, 0x4063B420,\n\t0x40646420, 0x00000003, 0x4062AC28, 0x4063B420, 0x40646420, 0x00000003,\n\t0x4062AC29, 0x4063B420, 0x40646420, 0x00000003, 0x4062AC2A, 0x4063B420,\n\t0x40646420, 0x00000003, 0x4062AC2B, 0x4063B420, 0x40646420, 0x00000003,\n\t0x4062AC2C, 0x4063B420, 0x40646420, 0x00000003, 0x4062AC2D, 0x4063B420,\n\t0x40646420, 0x00000003, 0x4062AC21, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062AC22, 0x4063B420, 0x40646A20, 0x00000003, 0x4062AC23, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062AC24, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062AC25, 0x4063B420, 0x40646A20, 0x00000003, 0x4062AC26, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062AC27, 0x4063B420,\n\t// Block 280, offset 0x4600\n\t0x40646A20, 0x00000003, 0x4062AC28, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062AC29, 0x4063B420, 0x40646A20, 0x00000003, 0x4062AC2A, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062AC2B, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062AC2C, 0x4063B420, 0x40646A20, 0x00000003, 0x4062AC2D, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062AC2E, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062AC2F, 0x4063B420, 0x40646A20, 0x00000003, 0x4062AC30, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062AC31, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062AC32, 0x4063B420, 0x40646A20, 0x00000003, 0x4062AC33, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062AC34, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062AC21, 0x4063B420, 0x40647220, 0x00000003, 0x4062AC22, 0x4063B420,\n\t0x40647220, 0x00000003, 0x4062AC23, 0x4063B420,\n\t// Block 281, offset 0x4640\n\t0x40647220, 0x00000003, 0x4062AC24, 0x4063B420, 0x40647220, 0x00000003,\n\t0x4062AC25, 0x4063B420, 0x40647220, 0x00000003, 0x4062AC26, 0x4063B420,\n\t0x40647220, 0x00000003, 0x4062AC27, 0x4063B420, 0x40647220, 0x00000003,\n\t0x4062AC28, 0x4063B420, 0x40647220, 0x00000003, 0x4062AC29, 0x4063B420,\n\t0x40647220, 0x00000003, 0x4062AC21, 0x4063B420, 0x40648220, 0x00000003,\n\t0x4062AC22, 0x4063B420, 0x40648220, 0x00000003, 0x4062AC23, 0x4063B420,\n\t0x40648220, 0x00000003, 0x4062AC24, 0x4063B420, 0x40648220, 0x00000003,\n\t0x4062AC25, 0x4063B420, 0x40648220, 0x00000003, 0x4062AC26, 0x4063B420,\n\t0x40648220, 0x00000003, 0x4062AC27, 0x4063B420, 0x40648220, 0x00000003,\n\t0x4062AC28, 0x4063B420, 0x40648220, 0x00000003, 0x4062AC29, 0x4063B420,\n\t0x40648220, 0x00000003, 0x4062AC2A, 0x4063B420,\n\t// Block 282, offset 0x4680\n\t0x40648220, 0x00000003, 0x4062AC2B, 0x4063B420, 0x40648220, 0x00000003,\n\t0x4062AC2C, 0x4063B420, 0x40648220, 0x00000003, 0x4062AC2D, 0x4063B420,\n\t0x40648220, 0x00000003, 0x4062AC2E, 0x4063B420, 0x40648220, 0x00000003,\n\t0x4062AC2F, 0x4063B420, 0x40648220, 0x00000003, 0x4062AC21, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC22, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC23, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC24, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC25, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC26, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC27, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC28, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC29, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC2A, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC2B, 0x4063B420,\n\t// Block 283, offset 0x46c0\n\t0x40648C20, 0x00000003, 0x4062AC2C, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC2D, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC2E, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC2F, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC30, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC31, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC32, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC33, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC34, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC35, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC36, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC37, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC38, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC39, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC3A, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC3B, 0x4063B420,\n\t// Block 284, offset 0x4700\n\t0x40648C20, 0x00000003, 0x4062AC3C, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC3D, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC3E, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC3F, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC40, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC41, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC42, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC43, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC44, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC45, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC46, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC47, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC48, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC49, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC4A, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC4B, 0x4063B420,\n\t// Block 285, offset 0x4740\n\t0x40648C20, 0x00000003, 0x4062AC4C, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC4D, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC4E, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC4F, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC50, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC51, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC52, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC53, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC54, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC55, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC56, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC57, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC58, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC59, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC5A, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC5B, 0x4063B420,\n\t// Block 286, offset 0x4780\n\t0x40648C20, 0x00000003, 0x4062AC5C, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC5D, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC5E, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062AC5F, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062AC60, 0x4063B420, 0x40648C20, 0x00000003, 0x4062AC61, 0x4063B420,\n\t0x40648C20, 0x00000002, 0x4062AC21, 0x4063B620, 0x00000002, 0x4062AC22,\n\t0x4063B620, 0x00000002, 0x4062AC23, 0x4063B620, 0x00000002, 0x4062AC24,\n\t0x4063B620, 0x00000002, 0x4062AC25, 0x4063B620, 0x00000002, 0x4062AC26,\n\t0x4063B620, 0x00000002, 0x4062AC27, 0x4063B620, 0x00000002, 0x4062AC28,\n\t0x4063B620, 0x00000002, 0x4062AC29, 0x4063B620, 0x00000002, 0x4062AC2A,\n\t0x4063B620, 0x00000002, 0x4062AC2B, 0x4063B620, 0x00000002, 0x4062AC2C,\n\t0x4063B620, 0x00000002, 0x4062AC2D, 0x4063B620,\n\t// Block 287, offset 0x47c0\n\t0x00000002, 0x4062AC2E, 0x4063B620, 0x00000002, 0x4062AC2F, 0x4063B620,\n\t0x00000002, 0x4062AC30, 0x4063B620, 0x00000002, 0x4062AC31, 0x4063B620,\n\t0x00000002, 0x4062AC32, 0x4063B620, 0x00000002, 0x4062AC33, 0x4063B620,\n\t0x00000002, 0x4062AC34, 0x4063B620, 0x00000002, 0x4062AC35, 0x4063B620,\n\t0x00000002, 0x4062AC36, 0x4063B620, 0x00000002, 0x4062AC37, 0x4063B620,\n\t0x00000002, 0x4062AC38, 0x4063B620, 0x00000002, 0x4062AC39, 0x4063B620,\n\t0x00000002, 0x4062AC3A, 0x4063B620, 0x00000002, 0x4062AC3B, 0x4063B620,\n\t0x00000002, 0x4062AC3C, 0x4063B620, 0x00000002, 0x4062AC3D, 0x4063B620,\n\t0x00000002, 0x4062AC3E, 0x4063B620, 0x00000002, 0x4062AC3F, 0x4063B620,\n\t0x00000002, 0x4062AC40, 0x4063B620, 0x00000002, 0x4062AC41, 0x4063B620,\n\t0x00000002, 0x4062AC42, 0x4063B620, 0x00000002,\n\t// Block 288, offset 0x4800\n\t0x4062AC43, 0x4063B620, 0x00000002, 0x4062AC44, 0x4063B620, 0x00000002,\n\t0x4062AC21, 0x4063B820, 0x00000002, 0x4062AC22, 0x4063B820, 0x00000002,\n\t0x4062AC23, 0x4063B820, 0x00000002, 0x4062AC24, 0x4063B820, 0x00000002,\n\t0x4062AC25, 0x4063B820, 0x00000002, 0x4062AC26, 0x4063B820, 0x00000002,\n\t0x4062AC27, 0x4063B820, 0x00000002, 0x4062AC28, 0x4063B820, 0x00000002,\n\t0x4062AC29, 0x4063B820, 0x00000002, 0x4062AC2A, 0x4063B820, 0x00000002,\n\t0x4062AC2B, 0x4063B820, 0x00000002, 0x4062AC2C, 0x4063B820, 0x00000002,\n\t0x4062AC2D, 0x4063B820, 0x00000002, 0x4062AC2E, 0x4063B820, 0x00000002,\n\t0x4062AC2F, 0x4063B820, 0x00000002, 0x4062AC30, 0x4063B820, 0x00000002,\n\t0x4062AC31, 0x4063B820, 0x00000002, 0x4062AC32, 0x4063B820, 0x00000002,\n\t0x4062AC33, 0x4063B820, 0x00000002, 0x4062AC34,\n\t// Block 289, offset 0x4840\n\t0x4063B820, 0x00000002, 0x4062AC35, 0x4063B820, 0x00000002, 0x4062AC36,\n\t0x4063B820, 0x00000002, 0x4062AC37, 0x4063B820, 0x00000002, 0x4062AC38,\n\t0x4063B820, 0x00000002, 0x4062AC39, 0x4063B820, 0x00000002, 0x4062AC3A,\n\t0x4063B820, 0x00000002, 0x4062AC3B, 0x4063B820, 0x00000002, 0x4062AC3C,\n\t0x4063B820, 0x00000002, 0x4062AC3D, 0x4063B820, 0x00000002, 0x4062AC3E,\n\t0x4063B820, 0x00000002, 0x4062AC3F, 0x4063B820, 0x00000002, 0x4062AC40,\n\t0x4063B820, 0x00000002, 0x4062AC41, 0x4063B820, 0x00000002, 0x4062AC42,\n\t0x4063B820, 0x00000002, 0x4062AC43, 0x4063B820, 0x00000002, 0x4062AC44,\n\t0x4063B820, 0x00000002, 0x4062AC45, 0x4063B820, 0x00000002, 0x4062AC46,\n\t0x4063B820, 0x00000002, 0x4062AC47, 0x4063B820, 0x00000002, 0x4062AC48,\n\t0x4063B820, 0x00000002, 0x4062AC49, 0x4063B820,\n\t// Block 290, offset 0x4880\n\t0x00000002, 0x4062AC4A, 0x4063B820, 0x00000002, 0x4062AC4B, 0x4063B820,\n\t0x00000002, 0x4062AC4C, 0x4063B820, 0x00000002, 0x4062AC4D, 0x4063B820,\n\t0x00000002, 0x4062AC4E, 0x4063B820, 0x00000002, 0x4062AC4F, 0x4063B820,\n\t0x00000002, 0x4062AC50, 0x4063B820, 0x00000002, 0x4062AC51, 0x4063B820,\n\t0x00000002, 0x4062AC52, 0x4063B820, 0x00000002, 0x4062AC53, 0x4063B820,\n\t0x00000002, 0x4062AC54, 0x4063B820, 0x00000002, 0x4062AC55, 0x4063B820,\n\t0x00000002, 0x4062AC56, 0x4063B820, 0x00000002, 0x4062AC57, 0x4063B820,\n\t0x00000002, 0x4062AC58, 0x4063B820, 0x00000002, 0x4062AC59, 0x4063B820,\n\t0x00000002, 0x4062AC5A, 0x4063B820, 0x00000002, 0x4062AC5B, 0x4063B820,\n\t0x00000002, 0x4062AC5C, 0x4063B820, 0x00000002, 0x4062AC5D, 0x4063B820,\n\t0x00000002, 0x4062AC5E, 0x4063B820, 0x00000002,\n\t// Block 291, offset 0x48c0\n\t0x4062AC5F, 0x4063B820, 0x00000002, 0x4062AC60, 0x4063B820, 0x00000002,\n\t0x4062AC61, 0x4063B820, 0x00000002, 0x4062AC62, 0x4063B820, 0x00000002,\n\t0x4062AC63, 0x4063B820, 0x00000003, 0x4062AC21, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062AC22, 0x4063B820, 0x40646420, 0x00000003, 0x4062AC23,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062AC24, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062AC25, 0x4063B820, 0x40646420, 0x00000003, 0x4062AC26,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062AC27, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062AC28, 0x4063B820, 0x40646420, 0x00000003, 0x4062AC29,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062AC2A, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062AC2B, 0x4063B820, 0x40646420, 0x00000003, 0x4062AC2C,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062AC21,\n\t// Block 292, offset 0x4900\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062AC22, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062AC23, 0x4063B820, 0x40646A20, 0x00000003, 0x4062AC24,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062AC25, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062AC26, 0x4063B820, 0x40646A20, 0x00000003, 0x4062AC27,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062AC28, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062AC29, 0x4063B820, 0x40646A20, 0x00000003, 0x4062AC2A,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062AC2B, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062AC2C, 0x4063B820, 0x40646A20, 0x00000003, 0x4062AC2D,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062AC2E, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062AC2F, 0x4063B820, 0x40646A20, 0x00000003, 0x4062AC30,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062AC31,\n\t// Block 293, offset 0x4940\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062AC32, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062AC33, 0x4063B820, 0x40646A20, 0x00000003, 0x4062AC34,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062AC35, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062AC36, 0x4063B820, 0x40646A20, 0x00000003, 0x4062AC37,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062AC38, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062AC21, 0x4063B820, 0x40647220, 0x00000003, 0x4062AC22,\n\t0x4063B820, 0x40647220, 0x00000003, 0x4062AC23, 0x4063B820, 0x40647220,\n\t0x00000003, 0x4062AC24, 0x4063B820, 0x40647220, 0x00000003, 0x4062AC25,\n\t0x4063B820, 0x40647220, 0x00000003, 0x4062AC26, 0x4063B820, 0x40647220,\n\t0x00000003, 0x4062AC21, 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC22,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062AC23,\n\t// Block 294, offset 0x4980\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062AC24, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062AC25, 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC26,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062AC27, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062AC28, 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC29,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062AC2A, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062AC2B, 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC2C,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062AC2D, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062AC2E, 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC2F,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062AC30, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062AC31, 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC32,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062AC33,\n\t// Block 295, offset 0x49c0\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062AC34, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062AC35, 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC36,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062AC37, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062AC38, 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC39,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062AC3A, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062AC3B, 0x4063B820, 0x40648C20, 0x00000003, 0x4062AC3C,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062AC21, 0x4063B820, 0x40648E20,\n\t0x00000002, 0x4062AC21, 0x4063BA20, 0x00000002, 0x4062AC22, 0x4063BA20,\n\t0x00000002, 0x4062AC23, 0x4063BA20, 0x00000002, 0x4062AC24, 0x4063BA20,\n\t0x00000002, 0x4062AC25, 0x4063BA20, 0x00000002, 0x4062AC26, 0x4063BA20,\n\t0x00000002, 0x4062AC27, 0x4063BA20, 0x00000002,\n\t// Block 296, offset 0x4a00\n\t0x4062AC28, 0x4063BA20, 0x00000002, 0x4062AC29, 0x4063BA20, 0x00000002,\n\t0x4062AC2A, 0x4063BA20, 0x00000002, 0x4062AC2B, 0x4063BA20, 0x00000002,\n\t0x4062AC2C, 0x4063BA20, 0x00000002, 0x4062AC2D, 0x4063BA20, 0x00000002,\n\t0x4062AC2E, 0x4063BA20, 0x00000002, 0x4062AC2F, 0x4063BA20, 0x00000002,\n\t0x4062AC30, 0x4063BA20, 0x00000002, 0x4062AC31, 0x4063BA20, 0x00000002,\n\t0x4062AC32, 0x4063BA20, 0x00000002, 0x4062AC33, 0x4063BA20, 0x00000002,\n\t0x4062AC34, 0x4063BA20, 0x00000002, 0x4062AC35, 0x4063BA20, 0x00000002,\n\t0x4062AC36, 0x4063BA20, 0x00000002, 0x4062AC37, 0x4063BA20, 0x00000002,\n\t0x4062AC38, 0x4063BA20, 0x00000002, 0x4062AC39, 0x4063BA20, 0x00000003,\n\t0x4062AC21, 0x4063BA20, 0x40646420, 0x00000003, 0x4062AC22, 0x4063BA20,\n\t0x40646420, 0x00000003, 0x4062AC23, 0x4063BA20,\n\t// Block 297, offset 0x4a40\n\t0x40646420, 0x00000003, 0x4062AC24, 0x4063BA20, 0x40646420, 0x00000003,\n\t0x4062AC25, 0x4063BA20, 0x40646420, 0x00000003, 0x4062AC26, 0x4063BA20,\n\t0x40646420, 0x00000003, 0x4062AC27, 0x4063BA20, 0x40646420, 0x00000003,\n\t0x4062AC28, 0x4063BA20, 0x40646420, 0x00000003, 0x4062AC29, 0x4063BA20,\n\t0x40646420, 0x00000003, 0x4062AC21, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062AC22, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062AC23, 0x4063BA20,\n\t0x40646A20, 0x00000003, 0x4062AC24, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062AC25, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062AC26, 0x4063BA20,\n\t0x40646A20, 0x00000003, 0x4062AC27, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062AC28, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062AC29, 0x4063BA20,\n\t0x40646A20, 0x00000003, 0x4062AC2A, 0x4063BA20,\n\t// Block 298, offset 0x4a80\n\t0x40646A20, 0x00000003, 0x4062AC2B, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062AC2C, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062AC2D, 0x4063BA20,\n\t0x40646A20, 0x00000003, 0x4062AC2E, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062AC2F, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062AC30, 0x4063BA20,\n\t0x40646A20, 0x00000003, 0x4062AC31, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062AC32, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062AC33, 0x4063BA20,\n\t0x40646A20, 0x00000003, 0x4062AC34, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062AC35, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062AC36, 0x4063BA20,\n\t0x40646A20, 0x00000003, 0x4062AC37, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062AC38, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062AC39, 0x4063BA20,\n\t0x40646A20, 0x00000003, 0x4062AC3A, 0x4063BA20,\n\t// Block 299, offset 0x4ac0\n\t0x40646A20, 0x00000003, 0x4062AC3B, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062AC3C, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062AC3D, 0x4063BA20,\n\t0x40646A20, 0x00000003, 0x4062AC3E, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062AC3F, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062AC21, 0x4063BA20,\n\t0x40647220, 0x00000003, 0x4062AC22, 0x4063BA20, 0x40647220, 0x00000003,\n\t0x4062AC23, 0x4063BA20, 0x40647220, 0x00000003, 0x4062AC24, 0x4063BA20,\n\t0x40647220, 0x00000003, 0x4062AC25, 0x4063BA20, 0x40647220, 0x00000003,\n\t0x4062AC26, 0x4063BA20, 0x40647220, 0x00000003, 0x4062AC27, 0x4063BA20,\n\t0x40647220, 0x00000003, 0x4062AC28, 0x4063BA20, 0x40647220, 0x00000003,\n\t0x4062AC29, 0x4063BA20, 0x40647220, 0x00000003, 0x4062AC2A, 0x4063BA20,\n\t0x40647220, 0x00000003, 0x4062AC21, 0x4063BA20,\n\t// Block 300, offset 0x4b00\n\t0x40648C20, 0x00000003, 0x4062AC22, 0x4063BA20, 0x40648C20, 0x00000003,\n\t0x4062AC23, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062AC24, 0x4063BA20,\n\t0x40648C20, 0x00000003, 0x4062AC25, 0x4063BA20, 0x40648C20, 0x00000003,\n\t0x4062AC26, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062AC27, 0x4063BA20,\n\t0x40648C20, 0x00000003, 0x4062AC28, 0x4063BA20, 0x40648C20, 0x00000003,\n\t0x4062AC29, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062AC2A, 0x4063BA20,\n\t0x40648C20, 0x00000003, 0x4062AC2B, 0x4063BA20, 0x40648C20, 0x00000003,\n\t0x4062AC2C, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062AC2D, 0x4063BA20,\n\t0x40648C20, 0x00000003, 0x4062AC2E, 0x4063BA20, 0x40648C20, 0x00000003,\n\t0x4062AC2F, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062AC30, 0x4063BA20,\n\t0x40648C20, 0x00000003, 0x4062AC31, 0x4063BA20,\n\t// Block 301, offset 0x4b40\n\t0x40648C20, 0x00000003, 0x4062AC32, 0x4063BA20, 0x40648C20, 0x00000003,\n\t0x4062AC33, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062AC34, 0x4063BA20,\n\t0x40648C20, 0x00000003, 0x4062AC35, 0x4063BA20, 0x40648C20, 0x00000003,\n\t0x4062AC36, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062AC37, 0x4063BA20,\n\t0x40648C20, 0x00000003, 0x4062AC38, 0x4063BA20, 0x40648C20, 0x00000002,\n\t0x4062AC21, 0x4063BC20, 0x00000002, 0x4062AC22, 0x4063BC20, 0x00000002,\n\t0x4062AC23, 0x4063BC20, 0x00000002, 0x4062AC24, 0x4063BC20, 0x00000002,\n\t0x4062AC25, 0x4063BC20, 0x00000002, 0x4062AC26, 0x4063BC20, 0x00000002,\n\t0x4062AC27, 0x4063BC20, 0x00000002, 0x4062AC21, 0x4063BE20, 0x00000002,\n\t0x4062AC22, 0x4063BE20, 0x00000002, 0x4062AC23, 0x4063BE20, 0x00000002,\n\t0x4062AC24, 0x4063BE20, 0x00000002, 0x4062AC25,\n\t// Block 302, offset 0x4b80\n\t0x4063BE20, 0x00000002, 0x4062AC26, 0x4063BE20, 0x00000002, 0x4062AC27,\n\t0x4063BE20, 0x00000002, 0x4062AC28, 0x4063BE20, 0x00000002, 0x4062AC29,\n\t0x4063BE20, 0x00000002, 0x4062AC2A, 0x4063BE20, 0x00000002, 0x4062AC2B,\n\t0x4063BE20, 0x00000002, 0x4062AC2C, 0x4063BE20, 0x00000002, 0x4062AC2D,\n\t0x4063BE20, 0x00000002, 0x4062AC2E, 0x4063BE20, 0x00000002, 0x4062AC2F,\n\t0x4063BE20, 0x00000002, 0x4062AC30, 0x4063BE20, 0x00000003, 0x4062AC21,\n\t0x4063BE20, 0x40646420, 0x00000003, 0x4062AC21, 0x4063BE20, 0x40648C20,\n\t0x00000003, 0x4062AC22, 0x4063BE20, 0x40648C20, 0x00000003, 0x4062AC23,\n\t0x4063BE20, 0x40648C20, 0x00000003, 0x4062AC24, 0x4063BE20, 0x40648C20,\n\t0x00000003, 0x4062AC25, 0x4063BE20, 0x40648C20, 0x00000003, 0x4062AC26,\n\t0x4063BE20, 0x40648C20, 0x00000003, 0x4062AC27,\n\t// Block 303, offset 0x4bc0\n\t0x4063BE20, 0x40648C20, 0x00000003, 0x4062AC28, 0x4063BE20, 0x40648C20,\n\t0x00000002, 0x4062AC21, 0x4063C020, 0x00000002, 0x4062AC22, 0x4063C020,\n\t0x00000002, 0x4062AC23, 0x4063C020, 0x00000002, 0x4062AC24, 0x4063C020,\n\t0x00000002, 0x4062AC25, 0x4063C020, 0x00000002, 0x4062AC26, 0x4063C020,\n\t0x00000002, 0x4062AC27, 0x4063C020, 0x00000002, 0x4062AC28, 0x4063C020,\n\t0x00000002, 0x4062AC29, 0x4063C020, 0x00000002, 0x4062AC2A, 0x4063C020,\n\t0x00000002, 0x4062AC2B, 0x4063C020, 0x00000002, 0x4062AC2C, 0x4063C020,\n\t0x00000002, 0x4062AC2D, 0x4063C020, 0x00000002, 0x4062AC2E, 0x4063C020,\n\t0x00000002, 0x4062AC2F, 0x4063C020, 0x00000002, 0x4062AC30, 0x4063C020,\n\t0x00000002, 0x4062AC31, 0x4063C020, 0x00000002, 0x4062AC32, 0x4063C020,\n\t0x00000002, 0x4062AC33, 0x4063C020, 0x00000002,\n\t// Block 304, offset 0x4c00\n\t0x4062AC34, 0x4063C020, 0x00000002, 0x4062AC35, 0x4063C020, 0x00000002,\n\t0x4062AC36, 0x4063C020, 0x00000002, 0x4062AC37, 0x4063C020, 0x00000002,\n\t0x4062AC38, 0x4063C020, 0x00000002, 0x4062AC39, 0x4063C020, 0x00000002,\n\t0x4062AC3A, 0x4063C020, 0x00000002, 0x4062AC3B, 0x4063C020, 0x00000002,\n\t0x4062AC3C, 0x4063C020, 0x00000002, 0x4062AC3D, 0x4063C020, 0x00000002,\n\t0x4062AC3E, 0x4063C020, 0x00000002, 0x4062AC3F, 0x4063C020, 0x00000002,\n\t0x4062AC40, 0x4063C020, 0x00000002, 0x4062AC41, 0x4063C020, 0x00000002,\n\t0x4062AC42, 0x4063C020, 0x00000002, 0x4062AC43, 0x4063C020, 0x00000002,\n\t0x4062AC44, 0x4063C020, 0x00000002, 0x4062AC45, 0x4063C020, 0x00000002,\n\t0x4062AC46, 0x4063C020, 0x00000002, 0x4062AC47, 0x4063C020, 0x00000002,\n\t0x4062AC48, 0x4063C020, 0x00000002, 0x4062AC49,\n\t// Block 305, offset 0x4c40\n\t0x4063C020, 0x00000002, 0x4062AC4A, 0x4063C020, 0x00000002, 0x4062AC4B,\n\t0x4063C020, 0x00000002, 0x4062AC4C, 0x4063C020, 0x00000002, 0x4062AC21,\n\t0x4063C220, 0x00000002, 0x4062AC22, 0x4063C220, 0x00000002, 0x4062AC23,\n\t0x4063C220, 0x00000002, 0x4062AC24, 0x4063C220, 0x00000002, 0x4062AC25,\n\t0x4063C220, 0x00000002, 0x4062AC26, 0x4063C220, 0x00000002, 0x4062AC27,\n\t0x4063C220, 0x00000002, 0x4062AC28, 0x4063C220, 0x00000002, 0x4062AC29,\n\t0x4063C220, 0x00000002, 0x4062AC2A, 0x4063C220, 0x00000002, 0x4062AC2B,\n\t0x4063C220, 0x00000002, 0x4062AC2C, 0x4063C220, 0x00000002, 0x4062AC2D,\n\t0x4063C220, 0x00000002, 0x4062AC2E, 0x4063C220, 0x00000002, 0x4062AC2F,\n\t0x4063C220, 0x00000002, 0x4062AC30, 0x4063C220, 0x00000002, 0x4062AC31,\n\t0x4063C220, 0x00000002, 0x4062AC32, 0x4063C220,\n\t// Block 306, offset 0x4c80\n\t0x00000002, 0x4062AC33, 0x4063C220, 0x00000002, 0x4062AC34, 0x4063C220,\n\t0x00000002, 0x4062AC35, 0x4063C220, 0x00000002, 0x4062AC36, 0x4063C220,\n\t0x00000002, 0x4062AC37, 0x4063C220, 0x00000002, 0x4062AC38, 0x4063C220,\n\t0x00000002, 0x4062AC39, 0x4063C220, 0x00000002, 0x4062AC3A, 0x4063C220,\n\t0x00000002, 0x4062AC3B, 0x4063C220, 0x00000002, 0x4062AC3C, 0x4063C220,\n\t0x00000002, 0x4062AC3D, 0x4063C220, 0x00000002, 0x4062AC3E, 0x4063C220,\n\t0x00000002, 0x4062AC3F, 0x4063C220, 0x00000002, 0x4062AC40, 0x4063C220,\n\t0x00000002, 0x4062AC41, 0x4063C220, 0x00000002, 0x4062AC42, 0x4063C220,\n\t0x00000002, 0x4062AC43, 0x4063C220, 0x00000002, 0x4062AC44, 0x4063C220,\n\t0x00000002, 0x4062AC45, 0x4063C220, 0x00000002, 0x4062AC46, 0x4063C220,\n\t0x00000002, 0x4062AC47, 0x4063C220, 0x00000002,\n\t// Block 307, offset 0x4cc0\n\t0x4062AC48, 0x4063C220, 0x00000002, 0x4062AC49, 0x4063C220, 0x00000002,\n\t0x4062AC4A, 0x4063C220, 0x00000002, 0x4062AC4B, 0x4063C220, 0x00000002,\n\t0x4062AC4C, 0x4063C220, 0x00000002, 0x4062AC4D, 0x4063C220, 0x00000002,\n\t0x4062AC4E, 0x4063C220, 0x00000002, 0x4062AC4F, 0x4063C220, 0x00000002,\n\t0x4062AC50, 0x4063C220, 0x00000002, 0x4062AC51, 0x4063C220, 0x00000002,\n\t0x4062AC52, 0x4063C220, 0x00000002, 0x4062AC53, 0x4063C220, 0x00000002,\n\t0x4062AC54, 0x4063C220, 0x00000002, 0x4062AC55, 0x4063C220, 0x00000002,\n\t0x4062AC56, 0x4063C220, 0x00000002, 0x4062AC57, 0x4063C220, 0x00000002,\n\t0x4062AC58, 0x4063C220, 0x00000002, 0x4062AC59, 0x4063C220, 0x00000002,\n\t0x4062AC5A, 0x4063C220, 0x00000002, 0x4062AC5B, 0x4063C220, 0x00000002,\n\t0x4062AC5C, 0x4063C220, 0x00000002, 0x4062AC5D,\n\t// Block 308, offset 0x4d00\n\t0x4063C220, 0x00000002, 0x4062AC5E, 0x4063C220, 0x00000002, 0x4062AC5F,\n\t0x4063C220, 0x00000002, 0x4062AC60, 0x4063C220, 0x00000002, 0x4062AC61,\n\t0x4063C220, 0x00000002, 0x4062AC62, 0x4063C220, 0x00000002, 0x4062AC63,\n\t0x4063C220, 0x00000002, 0x4062AC64, 0x4063C220, 0x00000002, 0x4062AC65,\n\t0x4063C220, 0x00000002, 0x4062AC66, 0x4063C220, 0x00000002, 0x4062AC67,\n\t0x4063C220, 0x00000002, 0x4062AC68, 0x4063C220, 0x00000002, 0x4062AC69,\n\t0x4063C220, 0x00000002, 0x4062AC6A, 0x4063C220, 0x00000002, 0x4062AC6B,\n\t0x4063C220, 0x00000002, 0x4062AC6C, 0x4063C220, 0x00000002, 0x4062AC6D,\n\t0x4063C220, 0x00000002, 0x4062AC6E, 0x4063C220, 0x00000002, 0x4062AC6F,\n\t0x4063C220, 0x00000002, 0x4062AC70, 0x4063C220, 0x00000002, 0x4062AC71,\n\t0x4063C220, 0x00000002, 0x4062AC72, 0x4063C220,\n\t// Block 309, offset 0x4d40\n\t0x00000002, 0x4062AC73, 0x4063C220, 0x00000002, 0x4062AC74, 0x4063C220,\n\t0x00000002, 0x4062AC75, 0x4063C220, 0x00000002, 0x4062AC76, 0x4063C220,\n\t0x00000002, 0x4062AC77, 0x4063C220, 0x00000002, 0x4062AC78, 0x4063C220,\n\t0x00000002, 0x4062AC79, 0x4063C220, 0x00000002, 0x4062AC7A, 0x4063C220,\n\t0x00000002, 0x4062AC7B, 0x4063C220, 0x00000002, 0x4062AC7C, 0x4063C220,\n\t0x00000002, 0x4062AC7D, 0x4063C220, 0x00000002, 0x4062AC7E, 0x4063C220,\n\t0x00000002, 0x4062AC7F, 0x4063C220, 0x00000002, 0x4062AC80, 0x4063C220,\n\t0x00000002, 0x4062AC81, 0x4063C220, 0x00000002, 0x4062AC82, 0x4063C220,\n\t0x00000002, 0x4062AC83, 0x4063C220, 0x00000002, 0x4062AC84, 0x4063C220,\n\t0x00000002, 0x4062AC85, 0x4063C220, 0x00000002, 0x4062AC86, 0x4063C220,\n\t0x00000002, 0x4062AC87, 0x4063C220, 0x00000003,\n\t// Block 310, offset 0x4d80\n\t0x4062AC21, 0x4063C220, 0x40646420, 0x00000003, 0x4062AC22, 0x4063C220,\n\t0x40646420, 0x00000003, 0x4062AC23, 0x4063C220, 0x40646420, 0x00000003,\n\t0x4062AC24, 0x4063C220, 0x40646420, 0x00000003, 0x4062AC25, 0x4063C220,\n\t0x40646420, 0x00000003, 0x4062AC26, 0x4063C220, 0x40646420, 0x00000003,\n\t0x4062AC27, 0x4063C220, 0x40646420, 0x00000003, 0x4062AC28, 0x4063C220,\n\t0x40646420, 0x00000003, 0x4062AC29, 0x4063C220, 0x40646420, 0x00000003,\n\t0x4062AC2A, 0x4063C220, 0x40646420, 0x00000003, 0x4062AC21, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062AC22, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062AC23, 0x4063C220, 0x40646A20, 0x00000003, 0x4062AC24, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062AC25, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062AC26, 0x4063C220, 0x40646A20, 0x00000003,\n\t// Block 311, offset 0x4dc0\n\t0x4062AC27, 0x4063C220, 0x40646A20, 0x00000003, 0x4062AC28, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062AC29, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062AC21, 0x4063C220, 0x40647220, 0x00000003, 0x4062AC22, 0x4063C220,\n\t0x40647220, 0x00000003, 0x4062AC23, 0x4063C220, 0x40647220, 0x00000003,\n\t0x4062AC24, 0x4063C220, 0x40647220, 0x00000003, 0x4062AC25, 0x4063C220,\n\t0x40647220, 0x00000003, 0x4062AC26, 0x4063C220, 0x40647220, 0x00000003,\n\t0x4062AC27, 0x4063C220, 0x40647220, 0x00000003, 0x4062AC28, 0x4063C220,\n\t0x40647220, 0x00000003, 0x4062AC21, 0x4063C220, 0x40648C20, 0x00000003,\n\t0x4062AC22, 0x4063C220, 0x40648C20, 0x00000003, 0x4062AC23, 0x4063C220,\n\t0x40648C20, 0x00000003, 0x4062AC24, 0x4063C220, 0x40648C20, 0x00000003,\n\t0x4062AC25, 0x4063C220, 0x40648C20, 0x00000003,\n\t// Block 312, offset 0x4e00\n\t0x4062AC26, 0x4063C220, 0x40648C20, 0x00000003, 0x4062AC27, 0x4063C220,\n\t0x40648C20, 0x00000003, 0x4062AC21, 0x4063C420, 0x40646A20, 0x00000003,\n\t0x4062AC22, 0x4063C420, 0x40646A20, 0x00000003, 0x4062AC23, 0x4063C420,\n\t0x40646A20, 0x00000003, 0x4062AC24, 0x4063C420, 0x40646A20, 0x00000003,\n\t0x4062AC25, 0x4063C420, 0x40646A20, 0x00000003, 0x4062AC26, 0x4063C420,\n\t0x40646A20, 0x00000003, 0x4062AC27, 0x4063C420, 0x40646A20, 0x00000003,\n\t0x4062AC28, 0x4063C420, 0x40646A20, 0x00000003, 0x4062AC29, 0x4063C420,\n\t0x40646A20, 0x00000003, 0x4062AC2A, 0x4063C420, 0x40646A20, 0x00000003,\n\t0x4062AC2B, 0x4063C420, 0x40646A20, 0x00000003, 0x4062AC2C, 0x4063C420,\n\t0x40646A20, 0x00000003, 0x4062AC2D, 0x4063C420, 0x40646A20, 0x00000003,\n\t0x4062AC2E, 0x4063C420, 0x40646A20, 0x00000003,\n\t// Block 313, offset 0x4e40\n\t0x4062AC2F, 0x4063C420, 0x40646A20, 0x00000003, 0x4062AC30, 0x4063C420,\n\t0x40646A20, 0x00000003, 0x4062AC21, 0x4063C420, 0x40647220, 0x00000003,\n\t0x4062AC22, 0x4063C420, 0x40647220, 0x00000003, 0x4062AC23, 0x4063C420,\n\t0x40647220, 0x00000003, 0x4062AC24, 0x4063C420, 0x40647220, 0x00000003,\n\t0x4062AC25, 0x4063C420, 0x40647220, 0x00000002, 0x4062AC21, 0x4063C620,\n\t0x00000002, 0x4062AC22, 0x4063C620, 0x00000002, 0x4062AC23, 0x4063C620,\n\t0x00000002, 0x4062AC24, 0x4063C620, 0x00000002, 0x4062AC25, 0x4063C620,\n\t0x00000002, 0x4062AC26, 0x4063C620, 0x00000002, 0x4062AC27, 0x4063C620,\n\t0x00000002, 0x4062AC28, 0x4063C620, 0x00000002, 0x4062AC29, 0x4063C620,\n\t0x00000002, 0x4062AC2A, 0x4063C620, 0x00000002, 0x4062AC2B, 0x4063C620,\n\t0x00000002, 0x4062AC2C, 0x4063C620, 0x00000002,\n\t// Block 314, offset 0x4e80\n\t0x4062AC2D, 0x4063C620, 0x00000002, 0x4062AC2E, 0x4063C620, 0x00000002,\n\t0x4062AC2F, 0x4063C620, 0x00000002, 0x4062AC30, 0x4063C620, 0x00000002,\n\t0x4062AC31, 0x4063C620, 0x00000002, 0x4062AC32, 0x4063C620, 0x00000002,\n\t0x4062AC33, 0x4063C620, 0x00000002, 0x4062AC34, 0x4063C620, 0x00000002,\n\t0x4062AC21, 0x4063C820, 0x00000002, 0x4062AC22, 0x4063C820, 0x00000002,\n\t0x4062AC23, 0x4063C820, 0x00000002, 0x4062AC24, 0x4063C820, 0x00000002,\n\t0x4062AC21, 0x4063CA20, 0x00000002, 0x4062AC22, 0x4063CA20, 0x00000002,\n\t0x4062AC23, 0x4063CA20, 0x00000002, 0x4062AC24, 0x4063CA20, 0x00000002,\n\t0x4062AC25, 0x4063CA20, 0x00000002, 0x4062AC26, 0x4063CA20, 0x00000002,\n\t0x4062AC27, 0x4063CA20, 0x00000002, 0x4062AC28, 0x4063CA20, 0x00000002,\n\t0x4062AC29, 0x4063CA20, 0x00000002, 0x4062AC2A,\n\t// Block 315, offset 0x4ec0\n\t0x4063CA20, 0x00000002, 0x4062AC2B, 0x4063CA20, 0x00000002, 0x4062AC2C,\n\t0x4063CA20, 0x00000002, 0x4062AC2D, 0x4063CA20, 0x00000002, 0x4062AC2E,\n\t0x4063CA20, 0x00000002, 0x4062AC2F, 0x4063CA20, 0x00000002, 0x4062AC30,\n\t0x4063CA20, 0x00000002, 0x4062AC31, 0x4063CA20, 0x00000002, 0x4062AC32,\n\t0x4063CA20, 0x00000002, 0x4062AC33, 0x4063CA20, 0x00000002, 0x4062AC34,\n\t0x4063CA20, 0x00000002, 0x4062AC35, 0x4063CA20, 0x00000002, 0x4062AC36,\n\t0x4063CA20, 0x00000002, 0x4062AC37, 0x4063CA20, 0x00000002, 0x4062AC38,\n\t0x4063CA20, 0x00000002, 0x4062AC39, 0x4063CA20, 0x00000002, 0x4062AC3A,\n\t0x4063CA20, 0x00000002, 0x4062AC3B, 0x4063CA20, 0x00000002, 0x4062AC3C,\n\t0x4063CA20, 0x00000002, 0x4062AC3D, 0x4063CA20, 0x00000002, 0x4062AC3E,\n\t0x4063CA20, 0x00000002, 0x4062AC3F, 0x4063CA20,\n\t// Block 316, offset 0x4f00\n\t0x00000002, 0x4062AC40, 0x4063CA20, 0x00000003, 0x4062AC21, 0x4063CA20,\n\t0x40646A20, 0x00000003, 0x4062AC22, 0x4063CA20, 0x40646A20, 0x00000003,\n\t0x4062AC23, 0x4063CA20, 0x40646A20, 0x00000003, 0x4062AC24, 0x4063CA20,\n\t0x40646A20, 0x00000003, 0x4062AC25, 0x4063CA20, 0x40646A20, 0x00000003,\n\t0x4062AC26, 0x4063CA20, 0x40646A20, 0x00000003, 0x4062AC27, 0x4063CA20,\n\t0x40646A20, 0x00000003, 0x4062AC28, 0x4063CA20, 0x40646A20, 0x00000003,\n\t0x4062AC21, 0x4063CA20, 0x40647220, 0x00000003, 0x4062AC21, 0x4063CC20,\n\t0x40646420, 0x00000003, 0x4062AC22, 0x4063CC20, 0x40646420, 0x00000003,\n\t0x4062AC23, 0x4063CC20, 0x40646420, 0x00000003, 0x4062AC24, 0x4063CC20,\n\t0x40646420, 0x00000003, 0x4062AC25, 0x4063CC20, 0x40646420, 0x00000003,\n\t0x4062AC26, 0x4063CC20, 0x40646420, 0x00000003,\n\t// Block 317, offset 0x4f40\n\t0x4062AC27, 0x4063CC20, 0x40646420, 0x00000003, 0x4062AC28, 0x4063CC20,\n\t0x40646420, 0x00000003, 0x4062AC29, 0x4063CC20, 0x40646420, 0x00000003,\n\t0x4062AC2A, 0x4063CC20, 0x40646420, 0x00000003, 0x4062AC2B, 0x4063CC20,\n\t0x40646420, 0x00000003, 0x4062AC21, 0x4063CC20, 0x40646A20, 0x00000003,\n\t0x4062AC22, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062AC23, 0x4063CC20,\n\t0x40646A20, 0x00000003, 0x4062AC24, 0x4063CC20, 0x40646A20, 0x00000003,\n\t0x4062AC25, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062AC26, 0x4063CC20,\n\t0x40646A20, 0x00000003, 0x4062AC27, 0x4063CC20, 0x40646A20, 0x00000003,\n\t0x4062AC28, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062AC29, 0x4063CC20,\n\t0x40646A20, 0x00000003, 0x4062AC2A, 0x4063CC20, 0x40646A20, 0x00000003,\n\t0x4062AC2B, 0x4063CC20, 0x40646A20, 0x00000003,\n\t// Block 318, offset 0x4f80\n\t0x4062AC2C, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062AC2D, 0x4063CC20,\n\t0x40646A20, 0x00000003, 0x4062AC2E, 0x4063CC20, 0x40646A20, 0x00000003,\n\t0x4062AC2F, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062AC30, 0x4063CC20,\n\t0x40646A20, 0x00000003, 0x4062AC31, 0x4063CC20, 0x40646A20, 0x00000003,\n\t0x4062AC32, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062AC33, 0x4063CC20,\n\t0x40646A20, 0x00000003, 0x4062AC34, 0x4063CC20, 0x40646A20, 0x00000003,\n\t0x4062AC35, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062AC36, 0x4063CC20,\n\t0x40646A20, 0x00000003, 0x4062AC37, 0x4063CC20, 0x40646A20, 0x00000003,\n\t0x4062AC38, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062AC39, 0x4063CC20,\n\t0x40646A20, 0x00000003, 0x4062AC21, 0x4063CC20, 0x40648220, 0x00000003,\n\t0x4062AC22, 0x4063CC20, 0x40648220, 0x00000003,\n\t// Block 319, offset 0x4fc0\n\t0x4062AC23, 0x4063CC20, 0x40648220, 0x00000003, 0x4062AC24, 0x4063CC20,\n\t0x40648220, 0x00000003, 0x4062AC25, 0x4063CC20, 0x40648220, 0x00000003,\n\t0x4062AC26, 0x4063CC20, 0x40648220, 0x00000003, 0x4062AC27, 0x4063CC20,\n\t0x40648220, 0x00000003, 0x4062AC28, 0x4063CC20, 0x40648220, 0x00000003,\n\t0x4062AC29, 0x4063CC20, 0x40648220, 0x00000003, 0x4062AC2A, 0x4063CC20,\n\t0x40648220, 0x00000003, 0x4062AC2B, 0x4063CC20, 0x40648220, 0x00000003,\n\t0x4062AC2C, 0x4063CC20, 0x40648220, 0x00000003, 0x4062AC2D, 0x4063CC20,\n\t0x40648220, 0x00000003, 0x4062AC2E, 0x4063CC20, 0x40648220, 0x00000003,\n\t0x4062AC2F, 0x4063CC20, 0x40648220, 0x00000003, 0x4062AC30, 0x4063CC20,\n\t0x40648220, 0x00000003, 0x4062AC31, 0x4063CC20, 0x40648220, 0x00000003,\n\t0x4062AC32, 0x4063CC20, 0x40648220, 0x00000003,\n\t// Block 320, offset 0x5000\n\t0x4062AC21, 0x4063CC20, 0x40648420, 0x00000003, 0x4062AC22, 0x4063CC20,\n\t0x40648420, 0x00000003, 0x4062AC23, 0x4063CC20, 0x40648420, 0x00000003,\n\t0x4062AC24, 0x4063CC20, 0x40648420, 0x00000003, 0x4062AC25, 0x4063CC20,\n\t0x40648420, 0x00000003, 0x4062AC26, 0x4063CC20, 0x40648420, 0x00000003,\n\t0x4062AC27, 0x4063CC20, 0x40648420, 0x00000003, 0x4062AC28, 0x4063CC20,\n\t0x40648420, 0x00000003, 0x4062AC29, 0x4063CC20, 0x40648420, 0x00000003,\n\t0x4062AC2A, 0x4063CC20, 0x40648420, 0x00000003, 0x4062AC2B, 0x4063CC20,\n\t0x40648420, 0x00000003, 0x4062AC2C, 0x4063CC20, 0x40648420, 0x00000003,\n\t0x4062AC2D, 0x4063CC20, 0x40648420, 0x00000003, 0x4062AC21, 0x4063CC20,\n\t0x40648C20, 0x00000003, 0x4062AC22, 0x4063CC20, 0x40648C20, 0x00000003,\n\t0x4062AC23, 0x4063CC20, 0x40648C20, 0x00000003,\n\t// Block 321, offset 0x5040\n\t0x4062AC24, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062AC25, 0x4063CC20,\n\t0x40648C20, 0x00000003, 0x4062AC26, 0x4063CC20, 0x40648C20, 0x00000002,\n\t0x4062AC21, 0x4063D020, 0x00000002, 0x4062AC22, 0x4063D020, 0x00000002,\n\t0x4062AC23, 0x4063D020, 0x00000002, 0x4062AC24, 0x4063D020, 0x00000002,\n\t0x4062AC25, 0x4063D020, 0x00000002, 0x4062AC26, 0x4063D020, 0x00000002,\n\t0x4062AC27, 0x4063D020, 0x00000002, 0x4062AC28, 0x4063D020, 0x00000002,\n\t0x4062AC29, 0x4063D020, 0x00000002, 0x4062AC2A, 0x4063D020, 0x00000002,\n\t0x4062AC2B, 0x4063D020, 0x00000002, 0x4062AC2C, 0x4063D020, 0x00000002,\n\t0x4062AC2D, 0x4063D020, 0x00000002, 0x4062AC2E, 0x4063D020, 0x00000002,\n\t0x4062AC2F, 0x4063D020, 0x00000002, 0x4062AC30, 0x4063D020, 0x00000002,\n\t0x4062AC31, 0x4063D020, 0x00000002, 0x4062AC32,\n\t// Block 322, offset 0x5080\n\t0x4063D020, 0x00000002, 0x4062AC33, 0x4063D020, 0x00000002, 0x4062AC34,\n\t0x4063D020, 0x00000002, 0x4062AC35, 0x4063D020, 0x00000002, 0x4062AC36,\n\t0x4063D020, 0x00000002, 0x4062AC37, 0x4063D020, 0x00000002, 0x4062AC38,\n\t0x4063D020, 0x00000002, 0x4062AC39, 0x4063D020, 0x00000002, 0x4062AC3A,\n\t0x4063D020, 0x00000002, 0x4062AC3B, 0x4063D020, 0x00000002, 0x4062AC3C,\n\t0x4063D020, 0x00000002, 0x4062AC3D, 0x4063D020, 0x00000002, 0x4062AC3E,\n\t0x4063D020, 0x00000002, 0x4062AC3F, 0x4063D020, 0x00000002, 0x4062AC40,\n\t0x4063D020, 0x00000002, 0x4062AC41, 0x4063D020, 0x00000002, 0x4062AC42,\n\t0x4063D020, 0x00000002, 0x4062AC43, 0x4063D020, 0x00000002, 0x4062AC44,\n\t0x4063D020, 0x00000002, 0x4062AC45, 0x4063D020, 0x00000002, 0x4062AC46,\n\t0x4063D020, 0x00000002, 0x4062AC47, 0x4063D020,\n\t// Block 323, offset 0x50c0\n\t0x00000002, 0x4062AC48, 0x4063D020, 0x00000002, 0x4062AC49, 0x4063D020,\n\t0x00000002, 0x4062AC4A, 0x4063D020, 0x00000002, 0x4062AC4B, 0x4063D020,\n\t0x00000002, 0x4062AC4C, 0x4063D020, 0x00000002, 0x4062AC4D, 0x4063D020,\n\t0x00000002, 0x4062AC4E, 0x4063D020, 0x00000002, 0x4062AC4F, 0x4063D020,\n\t0x00000002, 0x4062AC50, 0x4063D020, 0x00000002, 0x4062AC51, 0x4063D020,\n\t0x00000002, 0x4062AC52, 0x4063D020, 0x00000002, 0x4062AC53, 0x4063D020,\n\t0x00000002, 0x4062AC54, 0x4063D020, 0x00000002, 0x4062AC55, 0x4063D020,\n\t0x00000002, 0x4062AC56, 0x4063D020, 0x00000002, 0x4062AC57, 0x4063D020,\n\t0x00000002, 0x4062AC58, 0x4063D020, 0x00000002, 0x4062AC59, 0x4063D020,\n\t0x00000002, 0x4062AC5A, 0x4063D020, 0x00000002, 0x4062AC5B, 0x4063D020,\n\t0x00000002, 0x4062AC5C, 0x4063D020, 0x00000002,\n\t// Block 324, offset 0x5100\n\t0x4062AC5D, 0x4063D020, 0x00000002, 0x4062AC5E, 0x4063D020, 0x00000002,\n\t0x4062AC5F, 0x4063D020, 0x00000002, 0x4062AC60, 0x4063D020, 0x00000002,\n\t0x4062AC61, 0x4063D020, 0x00000002, 0x4062AC62, 0x4063D020, 0x00000002,\n\t0x4062AC63, 0x4063D020, 0x00000002, 0x4062AC64, 0x4063D020, 0x00000002,\n\t0x4062AC65, 0x4063D020, 0x00000002, 0x4062AC66, 0x4063D020, 0x00000002,\n\t0x4062AC67, 0x4063D020, 0x00000002, 0x4062AC68, 0x4063D020, 0x00000002,\n\t0x4062AC69, 0x4063D020, 0x00000002, 0x4062AC6A, 0x4063D020, 0x00000002,\n\t0x4062AC6B, 0x4063D020, 0x00000002, 0x4062AC6C, 0x4063D020, 0x00000002,\n\t0x4062AC6D, 0x4063D020, 0x00000002, 0x4062AC6E, 0x4063D020, 0x00000002,\n\t0x4062AC6F, 0x4063D020, 0x00000002, 0x4062AC70, 0x4063D020, 0x00000002,\n\t0x4062AC71, 0x4063D020, 0x00000002, 0x4062AC72,\n\t// Block 325, offset 0x5140\n\t0x4063D020, 0x00000002, 0x4062AC73, 0x4063D020, 0x00000002, 0x4062AC74,\n\t0x4063D020, 0x00000002, 0x4062AC75, 0x4063D020, 0x00000002, 0x4062AC76,\n\t0x4063D020, 0x00000002, 0x4062AC77, 0x4063D020, 0x00000002, 0x4062AC78,\n\t0x4063D020, 0x00000002, 0x4062AC79, 0x4063D020, 0x00000002, 0x4062AC7A,\n\t0x4063D020, 0x00000002, 0x4062AC7B, 0x4063D020, 0x00000002, 0x4062AC7C,\n\t0x4063D020, 0x00000002, 0x4062AC7D, 0x4063D020, 0x00000002, 0x4062AC7E,\n\t0x4063D020, 0x00000002, 0x4062AC7F, 0x4063D020, 0x00000002, 0x4062AC80,\n\t0x4063D020, 0x00000002, 0x4062AC81, 0x4063D020, 0x00000002, 0x4062AC82,\n\t0x4063D020, 0x00000002, 0x4062AC83, 0x4063D020, 0x00000002, 0x4062AC84,\n\t0x4063D020, 0x00000003, 0x4062AC21, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062AC21, 0x4063D020, 0x40647220, 0x00000003,\n\t// Block 326, offset 0x5180\n\t0x4062AC22, 0x4063D020, 0x40647220, 0x00000003, 0x4062AC23, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062AC24, 0x4063D020, 0x40647220, 0x00000003,\n\t0x4062AC25, 0x4063D020, 0x40647220, 0x00000003, 0x4062AC26, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062AC21, 0x4063D020, 0x40648220, 0x00000003,\n\t0x4062AE21, 0x4063D020, 0x40646420, 0x00000002, 0x4062B021, 0x4063A820,\n\t0x00000002, 0x4062B022, 0x4063A820, 0x00000002, 0x4062B023, 0x4063A820,\n\t0x00000002, 0x4062B024, 0x4063A820, 0x00000002, 0x4062B025, 0x4063A820,\n\t0x00000002, 0x4062B026, 0x4063A820, 0x00000002, 0x4062B027, 0x4063A820,\n\t0x00000002, 0x4062B028, 0x4063A820, 0x00000002, 0x4062B029, 0x4063A820,\n\t0x00000002, 0x4062B02A, 0x4063A820, 0x00000002, 0x4062B02B, 0x4063A820,\n\t0x00000003, 0x4062B021, 0x4063A820, 0x40646420,\n\t// Block 327, offset 0x51c0\n\t0x00000003, 0x4062B021, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B022,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062B023, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062B024, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B025,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062B026, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062B027, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B021,\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062B022, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062B021, 0x4063A820, 0x40648220, 0x00000003, 0x4062B022,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062B023, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062B024, 0x4063A820, 0x40648220, 0x00000003, 0x4062B025,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062B026, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062B027, 0x4063A820, 0x40648220,\n\t// Block 328, offset 0x5200\n\t0x00000003, 0x4062B021, 0x4063A820, 0x40648420, 0x00000003, 0x4062B022,\n\t0x4063A820, 0x40648420, 0x00000003, 0x4062B021, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062B022, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B023,\n\t0x4063A820, 0x40648C20, 0x00000002, 0x4062B021, 0x4063AA20, 0x00000002,\n\t0x4062B022, 0x4063AA20, 0x00000002, 0x4062B023, 0x4063AA20, 0x00000002,\n\t0x4062B024, 0x4063AA20, 0x00000002, 0x4062B025, 0x4063AA20, 0x00000002,\n\t0x4062B026, 0x4063AA20, 0x00000002, 0x4062B027, 0x4063AA20, 0x00000002,\n\t0x4062B028, 0x4063AA20, 0x00000002, 0x4062B029, 0x4063AA20, 0x00000002,\n\t0x4062B02A, 0x4063AA20, 0x00000002, 0x4062B021, 0x4063B420, 0x00000003,\n\t0x4062B021, 0x4063B420, 0x40646420, 0x00000003, 0x4062B021, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062B022, 0x4063B420,\n\t// Block 329, offset 0x5240\n\t0x40646A20, 0x00000003, 0x4062B023, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062B024, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B021, 0x4063B420,\n\t0x40648220, 0x00000003, 0x4062B022, 0x4063B420, 0x40648220, 0x00000003,\n\t0x4062B023, 0x4063B420, 0x40648220, 0x00000003, 0x4062B024, 0x4063B420,\n\t0x40648220, 0x00000003, 0x4062B021, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062B022, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B023, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062B024, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062B025, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B026, 0x4063B420,\n\t0x40648C20, 0x00000002, 0x4062B021, 0x4063B820, 0x00000002, 0x4062B022,\n\t0x4063B820, 0x00000002, 0x4062B023, 0x4063B820, 0x00000002, 0x4062B024,\n\t0x4063B820, 0x00000002, 0x4062B025, 0x4063B820,\n\t// Block 330, offset 0x5280\n\t0x00000002, 0x4062B026, 0x4063B820, 0x00000002, 0x4062B027, 0x4063B820,\n\t0x00000002, 0x4062B028, 0x4063B820, 0x00000002, 0x4062B029, 0x4063B820,\n\t0x00000002, 0x4062B02A, 0x4063B820, 0x00000002, 0x4062B02B, 0x4063B820,\n\t0x00000002, 0x4062B02C, 0x4063B820, 0x00000003, 0x4062B021, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062B022, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062B023, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B024, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062B025, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062B026, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B027, 0x4063B820,\n\t0x40648C20, 0x00000002, 0x4062B021, 0x4063BE20, 0x00000002, 0x4062B022,\n\t0x4063BE20, 0x00000002, 0x4062B023, 0x4063BE20, 0x00000002, 0x4062B021,\n\t0x4063C020, 0x00000002, 0x4062B022, 0x4063C020,\n\t// Block 331, offset 0x52c0\n\t0x00000002, 0x4062B023, 0x4063C020, 0x00000002, 0x4062B024, 0x4063C020,\n\t0x00000002, 0x4062B025, 0x4063C020, 0x00000002, 0x4062B026, 0x4063C020,\n\t0x00000002, 0x4062B027, 0x4063C020, 0x00000002, 0x4062B021, 0x4063C220,\n\t0x00000002, 0x4062B022, 0x4063C220, 0x00000003, 0x4062B021, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062B021, 0x4063C220, 0x40647220, 0x00000003,\n\t0x4062B022, 0x4063C220, 0x40647220, 0x00000003, 0x4062B023, 0x4063C220,\n\t0x40647220, 0x00000002, 0x4062B021, 0x4063CA20, 0x00000002, 0x4062B022,\n\t0x4063CA20, 0x00000002, 0x4062B023, 0x4063CA20, 0x00000002, 0x4062B024,\n\t0x4063CA20, 0x00000003, 0x4062B021, 0x4063CA20, 0x40646420, 0x00000003,\n\t0x4062B021, 0x4063CC20, 0x40648C20, 0x00000002, 0x4062B021, 0x4063D020,\n\t0x00000002, 0x4062B022, 0x4063D020, 0x00000002,\n\t// Block 332, offset 0x5300\n\t0x4062B023, 0x4063D020, 0x00000002, 0x4062B024, 0x4063D020, 0x00000002,\n\t0x4062B025, 0x4063D020, 0x00000002, 0x4062B026, 0x4063D020, 0x00000002,\n\t0x4062B027, 0x4063D020, 0x00000002, 0x4062B028, 0x4063D020, 0x00000003,\n\t0x4062B021, 0x4063D020, 0x40646420, 0x00000003, 0x4062B022, 0x4063D020,\n\t0x40646420, 0x00000003, 0x4062B023, 0x4063D020, 0x40646420, 0x00000003,\n\t0x4062B024, 0x4063D020, 0x40646420, 0x00000002, 0x4062B221, 0x4063A820,\n\t0x00000002, 0x4062B222, 0x4063A820, 0x00000002, 0x4062B223, 0x4063A820,\n\t0x00000003, 0x4062B221, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B222,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062B223, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062B224, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B225,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062B226,\n\t// Block 333, offset 0x5340\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062B227, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062B228, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B229,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062B22A, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062B22B, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B22C,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062B22D, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062B22E, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B22F,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062B230, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062B231, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B232,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062B233, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062B234, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B235,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062B236,\n\t// Block 334, offset 0x5380\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062B237, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062B238, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B239,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062B23A, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062B23B, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B23C,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062B23D, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062B221, 0x4063A820, 0x40647220, 0x00000003, 0x4062B222,\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062B223, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062B224, 0x4063A820, 0x40647220, 0x00000003, 0x4062B225,\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062B226, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062B227, 0x4063A820, 0x40647220, 0x00000003, 0x4062B228,\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062B229,\n\t// Block 335, offset 0x53c0\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062B22A, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062B221, 0x4063A820, 0x40648220, 0x00000003, 0x4062B222,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062B223, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062B224, 0x4063A820, 0x40648220, 0x00000003, 0x4062B225,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062B226, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062B227, 0x4063A820, 0x40648220, 0x00000003, 0x4062B228,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062B229, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062B22A, 0x4063A820, 0x40648220, 0x00000003, 0x4062B22B,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062B22C, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062B22D, 0x4063A820, 0x40648220, 0x00000003, 0x4062B22E,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062B22F,\n\t// Block 336, offset 0x5400\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062B230, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062B231, 0x4063A820, 0x40648220, 0x00000003, 0x4062B232,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062B233, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062B234, 0x4063A820, 0x40648220, 0x00000003, 0x4062B235,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062B236, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062B237, 0x4063A820, 0x40648220, 0x00000003, 0x4062B238,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062B239, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062B23A, 0x4063A820, 0x40648220, 0x00000003, 0x4062B23B,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062B23C, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062B23D, 0x4063A820, 0x40648220, 0x00000003, 0x4062B221,\n\t0x4063A820, 0x40648420, 0x00000003, 0x4062B222,\n\t// Block 337, offset 0x5440\n\t0x4063A820, 0x40648420, 0x00000003, 0x4062B223, 0x4063A820, 0x40648420,\n\t0x00000003, 0x4062B224, 0x4063A820, 0x40648420, 0x00000003, 0x4062B225,\n\t0x4063A820, 0x40648420, 0x00000003, 0x4062B221, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062B222, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B223,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062B224, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062B225, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B226,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062B227, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062B228, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B229,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062B22A, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062B22B, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B22C,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062B22D,\n\t// Block 338, offset 0x5480\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062B22E, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062B22F, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B230,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062B231, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062B232, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B233,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062B234, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062B235, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B236,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062B237, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062B238, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B239,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062B23A, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062B23B, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B23C,\n\t0x4063A820, 0x40648C20, 0x00000002, 0x4062B221,\n\t// Block 339, offset 0x54c0\n\t0x4063AA20, 0x00000002, 0x4062B222, 0x4063AA20, 0x00000002, 0x4062B223,\n\t0x4063AA20, 0x00000002, 0x4062B224, 0x4063AA20, 0x00000002, 0x4062B225,\n\t0x4063AA20, 0x00000002, 0x4062B226, 0x4063AA20, 0x00000002, 0x4062B227,\n\t0x4063AA20, 0x00000002, 0x4062B228, 0x4063AA20, 0x00000002, 0x4062B229,\n\t0x4063AA20, 0x00000002, 0x4062B22A, 0x4063AA20, 0x00000002, 0x4062B22B,\n\t0x4063AA20, 0x00000002, 0x4062B22C, 0x4063AA20, 0x00000002, 0x4062B22D,\n\t0x4063AA20, 0x00000002, 0x4062B22E, 0x4063AA20, 0x00000002, 0x4062B22F,\n\t0x4063AA20, 0x00000002, 0x4062B230, 0x4063AA20, 0x00000002, 0x4062B231,\n\t0x4063AA20, 0x00000002, 0x4062B232, 0x4063AA20, 0x00000002, 0x4062B233,\n\t0x4063AA20, 0x00000002, 0x4062B234, 0x4063AA20, 0x00000002, 0x4062B235,\n\t0x4063AA20, 0x00000002, 0x4062B236, 0x4063AA20,\n\t// Block 340, offset 0x5500\n\t0x00000003, 0x4062B221, 0x4063AA20, 0x40646420, 0x00000003, 0x4062B221,\n\t0x4063B020, 0x40646420, 0x00000003, 0x4062B222, 0x4063B020, 0x40646420,\n\t0x00000002, 0x4062B221, 0x4063B820, 0x00000002, 0x4062B222, 0x4063B820,\n\t0x00000002, 0x4062B223, 0x4063B820, 0x00000002, 0x4062B224, 0x4063B820,\n\t0x00000002, 0x4062B225, 0x4063B820, 0x00000002, 0x4062B226, 0x4063B820,\n\t0x00000002, 0x4062B227, 0x4063B820, 0x00000002, 0x4062B228, 0x4063B820,\n\t0x00000002, 0x4062B229, 0x4063B820, 0x00000002, 0x4062B22A, 0x4063B820,\n\t0x00000002, 0x4062B22B, 0x4063B820, 0x00000002, 0x4062B22C, 0x4063B820,\n\t0x00000002, 0x4062B22D, 0x4063B820, 0x00000002, 0x4062B22E, 0x4063B820,\n\t0x00000002, 0x4062B22F, 0x4063B820, 0x00000002, 0x4062B230, 0x4063B820,\n\t0x00000002, 0x4062B231, 0x4063B820, 0x00000002,\n\t// Block 341, offset 0x5540\n\t0x4062B232, 0x4063B820, 0x00000002, 0x4062B233, 0x4063B820, 0x00000002,\n\t0x4062B234, 0x4063B820, 0x00000002, 0x4062B235, 0x4063B820, 0x00000002,\n\t0x4062B236, 0x4063B820, 0x00000002, 0x4062B237, 0x4063B820, 0x00000002,\n\t0x4062B238, 0x4063B820, 0x00000002, 0x4062B239, 0x4063B820, 0x00000002,\n\t0x4062B23A, 0x4063B820, 0x00000002, 0x4062B23B, 0x4063B820, 0x00000002,\n\t0x4062B23C, 0x4063B820, 0x00000002, 0x4062B23D, 0x4063B820, 0x00000002,\n\t0x4062B23E, 0x4063B820, 0x00000002, 0x4062B23F, 0x4063B820, 0x00000002,\n\t0x4062B240, 0x4063B820, 0x00000002, 0x4062B241, 0x4063B820, 0x00000002,\n\t0x4062B242, 0x4063B820, 0x00000002, 0x4062B243, 0x4063B820, 0x00000002,\n\t0x4062B244, 0x4063B820, 0x00000002, 0x4062B245, 0x4063B820, 0x00000002,\n\t0x4062B246, 0x4063B820, 0x00000002, 0x4062B247,\n\t// Block 342, offset 0x5580\n\t0x4063B820, 0x00000002, 0x4062B248, 0x4063B820, 0x00000002, 0x4062B249,\n\t0x4063B820, 0x00000002, 0x4062B24A, 0x4063B820, 0x00000002, 0x4062B24B,\n\t0x4063B820, 0x00000002, 0x4062B24C, 0x4063B820, 0x00000002, 0x4062B24D,\n\t0x4063B820, 0x00000002, 0x4062B24E, 0x4063B820, 0x00000002, 0x4062B24F,\n\t0x4063B820, 0x00000002, 0x4062B250, 0x4063B820, 0x00000002, 0x4062B251,\n\t0x4063B820, 0x00000002, 0x4062B252, 0x4063B820, 0x00000002, 0x4062B253,\n\t0x4063B820, 0x00000002, 0x4062B254, 0x4063B820, 0x00000002, 0x4062B255,\n\t0x4063B820, 0x00000002, 0x4062B256, 0x4063B820, 0x00000002, 0x4062B257,\n\t0x4063B820, 0x00000002, 0x4062B258, 0x4063B820, 0x00000002, 0x4062B259,\n\t0x4063B820, 0x00000002, 0x4062B25A, 0x4063B820, 0x00000002, 0x4062B25B,\n\t0x4063B820, 0x00000003, 0x4062B221, 0x4063B820,\n\t// Block 343, offset 0x55c0\n\t0x40646420, 0x00000003, 0x4062B222, 0x4063B820, 0x40646420, 0x00000003,\n\t0x4062B223, 0x4063B820, 0x40646420, 0x00000003, 0x4062B224, 0x4063B820,\n\t0x40646420, 0x00000003, 0x4062B225, 0x4063B820, 0x40646420, 0x00000003,\n\t0x4062B226, 0x4063B820, 0x40646420, 0x00000003, 0x4062B227, 0x4063B820,\n\t0x40646420, 0x00000003, 0x4062B228, 0x4063B820, 0x40646420, 0x00000003,\n\t0x4062B229, 0x4063B820, 0x40646420, 0x00000003, 0x4062B22A, 0x4063B820,\n\t0x40646420, 0x00000003, 0x4062B22B, 0x4063B820, 0x40646420, 0x00000003,\n\t0x4062B22C, 0x4063B820, 0x40646420, 0x00000003, 0x4062B221, 0x4063B820,\n\t0x40646A20, 0x00000003, 0x4062B222, 0x4063B820, 0x40646A20, 0x00000003,\n\t0x4062B223, 0x4063B820, 0x40646A20, 0x00000003, 0x4062B224, 0x4063B820,\n\t0x40646A20, 0x00000003, 0x4062B225, 0x4063B820,\n\t// Block 344, offset 0x5600\n\t0x40646A20, 0x00000003, 0x4062B226, 0x4063B820, 0x40646A20, 0x00000003,\n\t0x4062B227, 0x4063B820, 0x40646A20, 0x00000003, 0x4062B228, 0x4063B820,\n\t0x40646A20, 0x00000003, 0x4062B229, 0x4063B820, 0x40646A20, 0x00000003,\n\t0x4062B22A, 0x4063B820, 0x40646A20, 0x00000003, 0x4062B22B, 0x4063B820,\n\t0x40646A20, 0x00000003, 0x4062B22C, 0x4063B820, 0x40646A20, 0x00000003,\n\t0x4062B22D, 0x4063B820, 0x40646A20, 0x00000003, 0x4062B221, 0x4063B820,\n\t0x40647220, 0x00000003, 0x4062B222, 0x4063B820, 0x40647220, 0x00000003,\n\t0x4062B223, 0x4063B820, 0x40647220, 0x00000003, 0x4062B224, 0x4063B820,\n\t0x40647220, 0x00000003, 0x4062B221, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062B222, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B223, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062B224, 0x4063B820,\n\t// Block 345, offset 0x5640\n\t0x40648C20, 0x00000003, 0x4062B225, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062B226, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B227, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062B228, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062B229, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B22A, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062B22B, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062B22C, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B22D, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062B22E, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062B22F, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B230, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062B231, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062B232, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B233, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062B234, 0x4063B820,\n\t// Block 346, offset 0x5680\n\t0x40648C20, 0x00000003, 0x4062B235, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062B236, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B237, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062B238, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062B239, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B23A, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062B23B, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062B23C, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B23D, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062B23E, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062B23F, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B240, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062B241, 0x4063B820, 0x40648C20, 0x00000002,\n\t0x4062B221, 0x4063C220, 0x00000002, 0x4062B222, 0x4063C220, 0x00000002,\n\t0x4062B223, 0x4063C220, 0x00000002, 0x4062B224,\n\t// Block 347, offset 0x56c0\n\t0x4063C220, 0x00000002, 0x4062B225, 0x4063C220, 0x00000002, 0x4062B226,\n\t0x4063C220, 0x00000002, 0x4062B227, 0x4063C220, 0x00000002, 0x4062B228,\n\t0x4063C220, 0x00000002, 0x4062B229, 0x4063C220, 0x00000002, 0x4062B22A,\n\t0x4063C220, 0x00000002, 0x4062B22B, 0x4063C220, 0x00000002, 0x4062B22C,\n\t0x4063C220, 0x00000002, 0x4062B22D, 0x4063C220, 0x00000002, 0x4062B22E,\n\t0x4063C220, 0x00000002, 0x4062B22F, 0x4063C220, 0x00000002, 0x4062B230,\n\t0x4063C220, 0x00000002, 0x4062B231, 0x4063C220, 0x00000003, 0x4062B221,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062B222, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062B223, 0x4063C220, 0x40646A20, 0x00000003, 0x4062B224,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062B225, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062B226, 0x4063C220, 0x40646A20,\n\t// Block 348, offset 0x5700\n\t0x00000003, 0x4062B227, 0x4063C220, 0x40646A20, 0x00000003, 0x4062B228,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062B221, 0x4063C220, 0x40647220,\n\t0x00000003, 0x4062B221, 0x4063CC20, 0x40646420, 0x00000003, 0x4062B221,\n\t0x4063CC20, 0x40648C20, 0x00000003, 0x4062B222, 0x4063CC20, 0x40648C20,\n\t0x00000003, 0x4062B223, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062B224,\n\t0x4063CC20, 0x40648C20, 0x00000003, 0x4062B225, 0x4063CC20, 0x40648C20,\n\t0x00000003, 0x4062B226, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062B227,\n\t0x4063CC20, 0x40648C20, 0x00000003, 0x4062B228, 0x4063CC20, 0x40648C20,\n\t0x00000003, 0x4062B229, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062B22A,\n\t0x4063CC20, 0x40648C20, 0x00000003, 0x4062B22B, 0x4063CC20, 0x40648C20,\n\t0x00000003, 0x4062B22C, 0x4063CC20, 0x40648C20,\n\t// Block 349, offset 0x5740\n\t0x00000003, 0x4062B22D, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062B22E,\n\t0x4063CC20, 0x40648C20, 0x00000003, 0x4062B22F, 0x4063CC20, 0x40648C20,\n\t0x00000003, 0x4062B230, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062B231,\n\t0x4063CC20, 0x40648C20, 0x00000002, 0x4062B621, 0x4063A820, 0x00000002,\n\t0x4062B622, 0x4063A820, 0x00000002, 0x4062B623, 0x4063A820, 0x00000002,\n\t0x4062B624, 0x4063A820, 0x00000002, 0x4062B625, 0x4063A820, 0x00000002,\n\t0x4062B626, 0x4063A820, 0x00000002, 0x4062B627, 0x4063A820, 0x00000002,\n\t0x4062B628, 0x4063A820, 0x00000002, 0x4062B629, 0x4063A820, 0x00000002,\n\t0x4062B62A, 0x4063A820, 0x00000002, 0x4062B62B, 0x4063A820, 0x00000002,\n\t0x4062B62C, 0x4063A820, 0x00000002, 0x4062B62D, 0x4063A820, 0x00000002,\n\t0x4062B62E, 0x4063A820, 0x00000002, 0x4062B62F,\n\t// Block 350, offset 0x5780\n\t0x4063A820, 0x00000002, 0x4062B630, 0x4063A820, 0x00000002, 0x4062B631,\n\t0x4063A820, 0x00000003, 0x4062B621, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062B622, 0x4063A820, 0x40646420, 0x00000003, 0x4062B623, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062B624, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062B625, 0x4063A820, 0x40646420, 0x00000003, 0x4062B626, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062B627, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062B628, 0x4063A820, 0x40646420, 0x00000003, 0x4062B629, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062B621, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062B622, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B623, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062B624, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062B625, 0x4063A820, 0x40646A20, 0x00000003,\n\t// Block 351, offset 0x57c0\n\t0x4062B626, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B627, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062B628, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062B629, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B62A, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062B62B, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062B62C, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B62D, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062B62E, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062B62F, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B621, 0x4063A820,\n\t0x40647220, 0x00000003, 0x4062B622, 0x4063A820, 0x40647220, 0x00000003,\n\t0x4062B623, 0x4063A820, 0x40647220, 0x00000003, 0x4062B624, 0x4063A820,\n\t0x40647220, 0x00000003, 0x4062B621, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062B622, 0x4063A820, 0x40648220, 0x00000003,\n\t// Block 352, offset 0x5800\n\t0x4062B623, 0x4063A820, 0x40648220, 0x00000003, 0x4062B624, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062B625, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062B626, 0x4063A820, 0x40648220, 0x00000003, 0x4062B627, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062B628, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062B629, 0x4063A820, 0x40648220, 0x00000003, 0x4062B62A, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062B62B, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062B62C, 0x4063A820, 0x40648220, 0x00000003, 0x4062B621, 0x4063A820,\n\t0x40648420, 0x00000003, 0x4062B622, 0x4063A820, 0x40648420, 0x00000003,\n\t0x4062B623, 0x4063A820, 0x40648420, 0x00000003, 0x4062B624, 0x4063A820,\n\t0x40648420, 0x00000003, 0x4062B621, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062B622, 0x4063A820, 0x40648C20, 0x00000003,\n\t// Block 353, offset 0x5840\n\t0x4062B623, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B624, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062B625, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062B626, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B627, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062B628, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062B629, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B62A, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062B62B, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062B62C, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B62D, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062B62E, 0x4063A820, 0x40648C20, 0x00000002,\n\t0x4062B621, 0x4063AA20, 0x00000002, 0x4062B622, 0x4063AA20, 0x00000002,\n\t0x4062B623, 0x4063AA20, 0x00000002, 0x4062B624, 0x4063AA20, 0x00000002,\n\t0x4062B625, 0x4063AA20, 0x00000002, 0x4062B626,\n\t// Block 354, offset 0x5880\n\t0x4063AA20, 0x00000003, 0x4062B621, 0x4063AA20, 0x40648C20, 0x00000003,\n\t0x4062B621, 0x4063AC20, 0x40646420, 0x00000003, 0x4062B622, 0x4063AC20,\n\t0x40646420, 0x00000003, 0x4062B623, 0x4063AC20, 0x40646420, 0x00000003,\n\t0x4062B621, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062B622, 0x4063AC20,\n\t0x40648C20, 0x00000003, 0x4062B623, 0x4063AC20, 0x40648C20, 0x00000003,\n\t0x4062B624, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062B625, 0x4063AC20,\n\t0x40648C20, 0x00000003, 0x4062B626, 0x4063AC20, 0x40648C20, 0x00000003,\n\t0x4062B627, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062B628, 0x4063AC20,\n\t0x40648C20, 0x00000003, 0x4062B629, 0x4063AC20, 0x40648C20, 0x00000003,\n\t0x4062B62A, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062B62B, 0x4063AC20,\n\t0x40648C20, 0x00000003, 0x4062B62C, 0x4063AC20,\n\t// Block 355, offset 0x58c0\n\t0x40648C20, 0x00000003, 0x4062B62D, 0x4063AC20, 0x40648C20, 0x00000003,\n\t0x4062B62E, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062B62F, 0x4063AC20,\n\t0x40648C20, 0x00000003, 0x4062B630, 0x4063AC20, 0x40648C20, 0x00000003,\n\t0x4062B631, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062B632, 0x4063AC20,\n\t0x40648C20, 0x00000003, 0x4062B633, 0x4063AC20, 0x40648C20, 0x00000002,\n\t0x4062B621, 0x4063B420, 0x00000002, 0x4062B622, 0x4063B420, 0x00000002,\n\t0x4062B623, 0x4063B420, 0x00000002, 0x4062B624, 0x4063B420, 0x00000002,\n\t0x4062B625, 0x4063B420, 0x00000002, 0x4062B626, 0x4063B420, 0x00000002,\n\t0x4062B627, 0x4063B420, 0x00000002, 0x4062B628, 0x4063B420, 0x00000002,\n\t0x4062B629, 0x4063B420, 0x00000002, 0x4062B62A, 0x4063B420, 0x00000002,\n\t0x4062B62B, 0x4063B420, 0x00000002, 0x4062B62C,\n\t// Block 356, offset 0x5900\n\t0x4063B420, 0x00000002, 0x4062B62D, 0x4063B420, 0x00000002, 0x4062B62E,\n\t0x4063B420, 0x00000002, 0x4062B62F, 0x4063B420, 0x00000002, 0x4062B630,\n\t0x4063B420, 0x00000002, 0x4062B631, 0x4063B420, 0x00000002, 0x4062B632,\n\t0x4063B420, 0x00000002, 0x4062B633, 0x4063B420, 0x00000002, 0x4062B634,\n\t0x4063B420, 0x00000002, 0x4062B635, 0x4063B420, 0x00000002, 0x4062B636,\n\t0x4063B420, 0x00000002, 0x4062B637, 0x4063B420, 0x00000002, 0x4062B638,\n\t0x4063B420, 0x00000002, 0x4062B639, 0x4063B420, 0x00000002, 0x4062B63A,\n\t0x4063B420, 0x00000002, 0x4062B63B, 0x4063B420, 0x00000002, 0x4062B63C,\n\t0x4063B420, 0x00000002, 0x4062B63D, 0x4063B420, 0x00000003, 0x4062B621,\n\t0x4063B420, 0x40646420, 0x00000003, 0x4062B622, 0x4063B420, 0x40646420,\n\t0x00000003, 0x4062B623, 0x4063B420, 0x40646420,\n\t// Block 357, offset 0x5940\n\t0x00000003, 0x4062B624, 0x4063B420, 0x40646420, 0x00000003, 0x4062B625,\n\t0x4063B420, 0x40646420, 0x00000003, 0x4062B626, 0x4063B420, 0x40646420,\n\t0x00000003, 0x4062B627, 0x4063B420, 0x40646420, 0x00000003, 0x4062B628,\n\t0x4063B420, 0x40646420, 0x00000003, 0x4062B629, 0x4063B420, 0x40646420,\n\t0x00000003, 0x4062B62A, 0x4063B420, 0x40646420, 0x00000003, 0x4062B62B,\n\t0x4063B420, 0x40646420, 0x00000003, 0x4062B62C, 0x4063B420, 0x40646420,\n\t0x00000003, 0x4062B62D, 0x4063B420, 0x40646420, 0x00000003, 0x4062B621,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062B622, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062B623, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B624,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062B625, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062B626, 0x4063B420, 0x40646A20,\n\t// Block 358, offset 0x5980\n\t0x00000003, 0x4062B627, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B628,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062B629, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062B62A, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B62B,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062B62C, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062B62D, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B62E,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062B62F, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062B630, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B631,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062B632, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062B633, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B621,\n\t0x4063B420, 0x40647220, 0x00000003, 0x4062B622, 0x4063B420, 0x40647220,\n\t0x00000003, 0x4062B623, 0x4063B420, 0x40647220,\n\t// Block 359, offset 0x59c0\n\t0x00000003, 0x4062B624, 0x4063B420, 0x40647220, 0x00000003, 0x4062B625,\n\t0x4063B420, 0x40647220, 0x00000003, 0x4062B626, 0x4063B420, 0x40647220,\n\t0x00000003, 0x4062B627, 0x4063B420, 0x40647220, 0x00000003, 0x4062B628,\n\t0x4063B420, 0x40647220, 0x00000003, 0x4062B629, 0x4063B420, 0x40647220,\n\t0x00000003, 0x4062B621, 0x4063B420, 0x40648220, 0x00000003, 0x4062B622,\n\t0x4063B420, 0x40648220, 0x00000003, 0x4062B623, 0x4063B420, 0x40648220,\n\t0x00000003, 0x4062B624, 0x4063B420, 0x40648220, 0x00000003, 0x4062B625,\n\t0x4063B420, 0x40648220, 0x00000003, 0x4062B626, 0x4063B420, 0x40648220,\n\t0x00000003, 0x4062B627, 0x4063B420, 0x40648220, 0x00000003, 0x4062B628,\n\t0x4063B420, 0x40648220, 0x00000003, 0x4062B621, 0x4063B420, 0x40648420,\n\t0x00000003, 0x4062B622, 0x4063B420, 0x40648420,\n\t// Block 360, offset 0x5a00\n\t0x00000003, 0x4062B623, 0x4063B420, 0x40648420, 0x00000003, 0x4062B621,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062B622, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062B623, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B624,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062B625, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062B626, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B627,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062B628, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062B629, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B62A,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062B62B, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062B62C, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B62D,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062B62E, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062B62F, 0x4063B420, 0x40648C20,\n\t// Block 361, offset 0x5a40\n\t0x00000003, 0x4062B630, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B631,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062B632, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062B633, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B634,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062B635, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062B636, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B637,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062B638, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062B639, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B63A,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062B63B, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062B63C, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B63D,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062B63E, 0x4063B420, 0x40648C20,\n\t0x00000002, 0x4062B621, 0x4063B620, 0x00000002,\n\t// Block 362, offset 0x5a80\n\t0x4062B622, 0x4063B620, 0x00000002, 0x4062B623, 0x4063B620, 0x00000002,\n\t0x4062B624, 0x4063B620, 0x00000002, 0x4062B625, 0x4063B620, 0x00000002,\n\t0x4062B626, 0x4063B620, 0x00000002, 0x4062B627, 0x4063B620, 0x00000002,\n\t0x4062B621, 0x4063B820, 0x00000002, 0x4062B622, 0x4063B820, 0x00000002,\n\t0x4062B623, 0x4063B820, 0x00000002, 0x4062B624, 0x4063B820, 0x00000002,\n\t0x4062B625, 0x4063B820, 0x00000002, 0x4062B626, 0x4063B820, 0x00000002,\n\t0x4062B627, 0x4063B820, 0x00000002, 0x4062B628, 0x4063B820, 0x00000002,\n\t0x4062B629, 0x4063B820, 0x00000002, 0x4062B62A, 0x4063B820, 0x00000002,\n\t0x4062B62B, 0x4063B820, 0x00000002, 0x4062B62C, 0x4063B820, 0x00000002,\n\t0x4062B62D, 0x4063B820, 0x00000002, 0x4062B62E, 0x4063B820, 0x00000002,\n\t0x4062B62F, 0x4063B820, 0x00000002, 0x4062B630,\n\t// Block 363, offset 0x5ac0\n\t0x4063B820, 0x00000002, 0x4062B631, 0x4063B820, 0x00000002, 0x4062B632,\n\t0x4063B820, 0x00000002, 0x4062B633, 0x4063B820, 0x00000002, 0x4062B634,\n\t0x4063B820, 0x00000002, 0x4062B635, 0x4063B820, 0x00000002, 0x4062B636,\n\t0x4063B820, 0x00000002, 0x4062B637, 0x4063B820, 0x00000002, 0x4062B638,\n\t0x4063B820, 0x00000002, 0x4062B639, 0x4063B820, 0x00000002, 0x4062B63A,\n\t0x4063B820, 0x00000002, 0x4062B63B, 0x4063B820, 0x00000002, 0x4062B63C,\n\t0x4063B820, 0x00000002, 0x4062B63D, 0x4063B820, 0x00000002, 0x4062B63E,\n\t0x4063B820, 0x00000002, 0x4062B63F, 0x4063B820, 0x00000003, 0x4062B621,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062B622, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062B623, 0x4063B820, 0x40646420, 0x00000003, 0x4062B624,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062B625,\n\t// Block 364, offset 0x5b00\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062B626, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062B627, 0x4063B820, 0x40646420, 0x00000003, 0x4062B628,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062B629, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062B62A, 0x4063B820, 0x40646420, 0x00000003, 0x4062B62B,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062B62C, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062B62D, 0x4063B820, 0x40646420, 0x00000003, 0x4062B62E,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062B621, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062B621, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B622,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062B623, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062B624, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B625,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062B626,\n\t// Block 365, offset 0x5b40\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062B627, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062B628, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B629,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062B62A, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062B62B, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B62C,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062B62D, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062B62E, 0x4063B820, 0x40648C20, 0x00000002, 0x4062B621,\n\t0x4063BE20, 0x00000002, 0x4062B622, 0x4063BE20, 0x00000002, 0x4062B623,\n\t0x4063BE20, 0x00000002, 0x4062B624, 0x4063BE20, 0x00000002, 0x4062B625,\n\t0x4063BE20, 0x00000002, 0x4062B626, 0x4063BE20, 0x00000002, 0x4062B627,\n\t0x4063BE20, 0x00000002, 0x4062B628, 0x4063BE20, 0x00000002, 0x4062B629,\n\t0x4063BE20, 0x00000002, 0x4062B62A, 0x4063BE20,\n\t// Block 366, offset 0x5b80\n\t0x00000002, 0x4062B62B, 0x4063BE20, 0x00000002, 0x4062B62C, 0x4063BE20,\n\t0x00000002, 0x4062B62D, 0x4063BE20, 0x00000002, 0x4062B62E, 0x4063BE20,\n\t0x00000002, 0x4062B62F, 0x4063BE20, 0x00000002, 0x4062B630, 0x4063BE20,\n\t0x00000002, 0x4062B631, 0x4063BE20, 0x00000002, 0x4062B632, 0x4063BE20,\n\t0x00000002, 0x4062B633, 0x4063BE20, 0x00000002, 0x4062B621, 0x4063C020,\n\t0x00000002, 0x4062B622, 0x4063C020, 0x00000002, 0x4062B623, 0x4063C020,\n\t0x00000002, 0x4062B624, 0x4063C020, 0x00000002, 0x4062B625, 0x4063C020,\n\t0x00000002, 0x4062B626, 0x4063C020, 0x00000002, 0x4062B627, 0x4063C020,\n\t0x00000002, 0x4062B628, 0x4063C020, 0x00000002, 0x4062B629, 0x4063C020,\n\t0x00000002, 0x4062B62A, 0x4063C020, 0x00000002, 0x4062B62B, 0x4063C020,\n\t0x00000002, 0x4062B62C, 0x4063C020, 0x00000002,\n\t// Block 367, offset 0x5bc0\n\t0x4062B62D, 0x4063C020, 0x00000002, 0x4062B62E, 0x4063C020, 0x00000002,\n\t0x4062B62F, 0x4063C020, 0x00000002, 0x4062B630, 0x4063C020, 0x00000002,\n\t0x4062B631, 0x4063C020, 0x00000002, 0x4062B632, 0x4063C020, 0x00000002,\n\t0x4062B633, 0x4063C020, 0x00000002, 0x4062B634, 0x4063C020, 0x00000002,\n\t0x4062B635, 0x4063C020, 0x00000002, 0x4062B636, 0x4063C020, 0x00000002,\n\t0x4062B637, 0x4063C020, 0x00000002, 0x4062B638, 0x4063C020, 0x00000003,\n\t0x4062B621, 0x4063C020, 0x40648C20, 0x00000003, 0x4062B622, 0x4063C020,\n\t0x40648C20, 0x00000002, 0x4062B621, 0x4063C220, 0x00000002, 0x4062B622,\n\t0x4063C220, 0x00000002, 0x4062B623, 0x4063C220, 0x00000002, 0x4062B624,\n\t0x4063C220, 0x00000002, 0x4062B625, 0x4063C220, 0x00000002, 0x4062B626,\n\t0x4063C220, 0x00000002, 0x4062B627, 0x4063C220,\n\t// Block 368, offset 0x5c00\n\t0x00000002, 0x4062B628, 0x4063C220, 0x00000002, 0x4062B629, 0x4063C220,\n\t0x00000002, 0x4062B62A, 0x4063C220, 0x00000002, 0x4062B62B, 0x4063C220,\n\t0x00000002, 0x4062B62C, 0x4063C220, 0x00000002, 0x4062B62D, 0x4063C220,\n\t0x00000002, 0x4062B62E, 0x4063C220, 0x00000002, 0x4062B62F, 0x4063C220,\n\t0x00000002, 0x4062B630, 0x4063C220, 0x00000002, 0x4062B631, 0x4063C220,\n\t0x00000002, 0x4062B632, 0x4063C220, 0x00000002, 0x4062B633, 0x4063C220,\n\t0x00000002, 0x4062B634, 0x4063C220, 0x00000002, 0x4062B621, 0x4063CA20,\n\t0x00000002, 0x4062B622, 0x4063CA20, 0x00000002, 0x4062B623, 0x4063CA20,\n\t0x00000002, 0x4062B624, 0x4063CA20, 0x00000002, 0x4062B625, 0x4063CA20,\n\t0x00000002, 0x4062B626, 0x4063CA20, 0x00000002, 0x4062B627, 0x4063CA20,\n\t0x00000002, 0x4062B628, 0x4063CA20, 0x00000002,\n\t// Block 369, offset 0x5c40\n\t0x4062B629, 0x4063CA20, 0x00000002, 0x4062B62A, 0x4063CA20, 0x00000002,\n\t0x4062B62B, 0x4063CA20, 0x00000002, 0x4062B62C, 0x4063CA20, 0x00000002,\n\t0x4062B62D, 0x4063CA20, 0x00000002, 0x4062B62E, 0x4063CA20, 0x00000002,\n\t0x4062B62F, 0x4063CA20, 0x00000002, 0x4062B630, 0x4063CA20, 0x00000002,\n\t0x4062B631, 0x4063CA20, 0x00000002, 0x4062B632, 0x4063CA20, 0x00000002,\n\t0x4062B633, 0x4063CA20, 0x00000003, 0x4062B621, 0x4063CA20, 0x40646420,\n\t0x00000003, 0x4062B622, 0x4063CA20, 0x40646420, 0x00000003, 0x4062B623,\n\t0x4063CA20, 0x40646420, 0x00000003, 0x4062B624, 0x4063CA20, 0x40646420,\n\t0x00000003, 0x4062B621, 0x4063CA20, 0x40646A20, 0x00000003, 0x4062B622,\n\t0x4063CA20, 0x40646A20, 0x00000003, 0x4062B623, 0x4063CA20, 0x40646A20,\n\t0x00000003, 0x4062B624, 0x4063CA20, 0x40646A20,\n\t// Block 370, offset 0x5c80\n\t0x00000003, 0x4062B625, 0x4063CA20, 0x40646A20, 0x00000003, 0x4062B626,\n\t0x4063CA20, 0x40646A20, 0x00000003, 0x4062B627, 0x4063CA20, 0x40646A20,\n\t0x00000003, 0x4062B621, 0x4063CA20, 0x40647220, 0x00000003, 0x4062B622,\n\t0x4063CA20, 0x40647220, 0x00000003, 0x4062B623, 0x4063CA20, 0x40647220,\n\t0x00000003, 0x4062B624, 0x4063CA20, 0x40647220, 0x00000003, 0x4062B625,\n\t0x4063CA20, 0x40647220, 0x00000003, 0x4062B621, 0x4063CA20, 0x40648C20,\n\t0x00000003, 0x4062B622, 0x4063CA20, 0x40648C20, 0x00000003, 0x4062B623,\n\t0x4063CA20, 0x40648C20, 0x00000003, 0x4062B621, 0x4063CC20, 0x40646420,\n\t0x00000003, 0x4062B622, 0x4063CC20, 0x40646420, 0x00000003, 0x4062B623,\n\t0x4063CC20, 0x40646420, 0x00000003, 0x4062B621, 0x4063CC20, 0x40648220,\n\t0x00000003, 0x4062B622, 0x4063CC20, 0x40648220,\n\t// Block 371, offset 0x5cc0\n\t0x00000003, 0x4062B623, 0x4063CC20, 0x40648220, 0x00000003, 0x4062B624,\n\t0x4063CC20, 0x40648220, 0x00000003, 0x4062B621, 0x4063CC20, 0x40648C20,\n\t0x00000003, 0x4062B622, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062B623,\n\t0x4063CC20, 0x40648C20, 0x00000003, 0x4062B624, 0x4063CC20, 0x40648C20,\n\t0x00000003, 0x4062B625, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062B626,\n\t0x4063CC20, 0x40648C20, 0x00000003, 0x4062B627, 0x4063CC20, 0x40648C20,\n\t0x00000003, 0x4062B628, 0x4063CC20, 0x40648C20, 0x00000002, 0x4062B621,\n\t0x4063D020, 0x00000002, 0x4062B622, 0x4063D020, 0x00000002, 0x4062B623,\n\t0x4063D020, 0x00000002, 0x4062B624, 0x4063D020, 0x00000002, 0x4062B625,\n\t0x4063D020, 0x00000002, 0x4062B626, 0x4063D020, 0x00000002, 0x4062B627,\n\t0x4063D020, 0x00000002, 0x4062B628, 0x4063D020,\n\t// Block 372, offset 0x5d00\n\t0x00000002, 0x4062B629, 0x4063D020, 0x00000002, 0x4062B62A, 0x4063D020,\n\t0x00000002, 0x4062B62B, 0x4063D020, 0x00000002, 0x4062B62C, 0x4063D020,\n\t0x00000002, 0x4062B62D, 0x4063D020, 0x00000002, 0x4062B62E, 0x4063D020,\n\t0x00000002, 0x4062B62F, 0x4063D020, 0x00000002, 0x4062B630, 0x4063D020,\n\t0x00000002, 0x4062B631, 0x4063D020, 0x00000002, 0x4062B632, 0x4063D020,\n\t0x00000002, 0x4062B633, 0x4063D020, 0x00000002, 0x4062B634, 0x4063D020,\n\t0x00000002, 0x4062B635, 0x4063D020, 0x00000002, 0x4062B636, 0x4063D020,\n\t0x00000002, 0x4062B637, 0x4063D020, 0x00000002, 0x4062B638, 0x4063D020,\n\t0x00000002, 0x4062B639, 0x4063D020, 0x00000002, 0x4062B63A, 0x4063D020,\n\t0x00000002, 0x4062B63B, 0x4063D020, 0x00000002, 0x4062B63C, 0x4063D020,\n\t0x00000002, 0x4062B63D, 0x4063D020, 0x00000002,\n\t// Block 373, offset 0x5d40\n\t0x4062B63E, 0x4063D020, 0x00000002, 0x4062B63F, 0x4063D020, 0x00000002,\n\t0x4062B640, 0x4063D020, 0x00000002, 0x4062B641, 0x4063D020, 0x00000002,\n\t0x4062B642, 0x4063D020, 0x00000002, 0x4062B643, 0x4063D020, 0x00000002,\n\t0x4062B644, 0x4063D020, 0x00000002, 0x4062B645, 0x4063D020, 0x00000002,\n\t0x4062B646, 0x4063D020, 0x00000002, 0x4062B647, 0x4063D020, 0x00000003,\n\t0x4062B621, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B622, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062B623, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062B624, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B625, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062B626, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062B627, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B628, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062B629, 0x4063D020,\n\t// Block 374, offset 0x5d80\n\t0x40646A20, 0x00000003, 0x4062B62A, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062B62B, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B62C, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062B62D, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062B62E, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B62F, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062B630, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062B631, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B632, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062B633, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062B634, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B635, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062B621, 0x4063D020, 0x40648220, 0x00000003,\n\t0x4062B622, 0x4063D020, 0x40648220, 0x00000003, 0x4062B623, 0x4063D020,\n\t0x40648220, 0x00000003, 0x4062B624, 0x4063D020,\n\t// Block 375, offset 0x5dc0\n\t0x40648220, 0x00000003, 0x4062B625, 0x4063D020, 0x40648220, 0x00000003,\n\t0x4062B626, 0x4063D020, 0x40648220, 0x00000003, 0x4062B621, 0x4063D020,\n\t0x40648420, 0x00000003, 0x4062B622, 0x4063D020, 0x40648420, 0x00000003,\n\t0x4062B623, 0x4063D020, 0x40648420, 0x00000003, 0x4062B624, 0x4063D020,\n\t0x40648420, 0x00000003, 0x4062B625, 0x4063D020, 0x40648420, 0x00000002,\n\t0x4062B821, 0x4063A820, 0x00000002, 0x4062B822, 0x4063A820, 0x00000002,\n\t0x4062B823, 0x4063A820, 0x00000002, 0x4062B824, 0x4063A820, 0x00000002,\n\t0x4062B825, 0x4063A820, 0x00000002, 0x4062B826, 0x4063A820, 0x00000002,\n\t0x4062B827, 0x4063A820, 0x00000002, 0x4062B828, 0x4063A820, 0x00000002,\n\t0x4062B829, 0x4063A820, 0x00000002, 0x4062B82A, 0x4063A820, 0x00000002,\n\t0x4062B82B, 0x4063A820, 0x00000002, 0x4062B82C,\n\t// Block 376, offset 0x5e00\n\t0x4063A820, 0x00000002, 0x4062B82D, 0x4063A820, 0x00000002, 0x4062B82E,\n\t0x4063A820, 0x00000003, 0x4062B821, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062B822, 0x4063A820, 0x40646420, 0x00000003, 0x4062B823, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062B824, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062B825, 0x4063A820, 0x40646420, 0x00000003, 0x4062B826, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062B827, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062B828, 0x4063A820, 0x40646420, 0x00000003, 0x4062B821, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062B822, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062B823, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B824, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062B825, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062B826, 0x4063A820, 0x40646A20, 0x00000003,\n\t// Block 377, offset 0x5e40\n\t0x4062B827, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B828, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062B829, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062B82A, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B82B, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062B82C, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062B82D, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B82E, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062B82F, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062B830, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B831, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062B832, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062B833, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B834, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062B835, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062B836, 0x4063A820, 0x40646A20, 0x00000003,\n\t// Block 378, offset 0x5e80\n\t0x4062B837, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B838, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062B839, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062B83A, 0x4063A820, 0x40646A20, 0x00000003, 0x4062B83B, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062B83C, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062B821, 0x4063A820, 0x40647220, 0x00000003, 0x4062B822, 0x4063A820,\n\t0x40647220, 0x00000003, 0x4062B823, 0x4063A820, 0x40647220, 0x00000003,\n\t0x4062B824, 0x4063A820, 0x40647220, 0x00000003, 0x4062B825, 0x4063A820,\n\t0x40647220, 0x00000003, 0x4062B826, 0x4063A820, 0x40647220, 0x00000003,\n\t0x4062B827, 0x4063A820, 0x40647220, 0x00000003, 0x4062B828, 0x4063A820,\n\t0x40647220, 0x00000003, 0x4062B829, 0x4063A820, 0x40647220, 0x00000003,\n\t0x4062B821, 0x4063A820, 0x40648C20, 0x00000003,\n\t// Block 379, offset 0x5ec0\n\t0x4062B822, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B823, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062B824, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062B825, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B826, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062B827, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062B828, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B829, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062B82A, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062B82B, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B82C, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062B82D, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062B82E, 0x4063A820, 0x40648C20, 0x00000003, 0x4062B82F, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062B830, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062B831, 0x4063A820, 0x40648C20, 0x00000003,\n\t// Block 380, offset 0x5f00\n\t0x4062B832, 0x4063A820, 0x40648C20, 0x00000002, 0x4062B821, 0x4063AA20,\n\t0x00000002, 0x4062B822, 0x4063AA20, 0x00000002, 0x4062B823, 0x4063AA20,\n\t0x00000002, 0x4062B824, 0x4063AA20, 0x00000002, 0x4062B825, 0x4063AA20,\n\t0x00000002, 0x4062B826, 0x4063AA20, 0x00000002, 0x4062B827, 0x4063AA20,\n\t0x00000002, 0x4062B828, 0x4063AA20, 0x00000002, 0x4062B829, 0x4063AA20,\n\t0x00000002, 0x4062B82A, 0x4063AA20, 0x00000002, 0x4062B82B, 0x4063AA20,\n\t0x00000002, 0x4062B82C, 0x4063AA20, 0x00000002, 0x4062B82D, 0x4063AA20,\n\t0x00000002, 0x4062B82E, 0x4063AA20, 0x00000002, 0x4062B82F, 0x4063AA20,\n\t0x00000002, 0x4062B830, 0x4063AA20, 0x00000002, 0x4062B831, 0x4063AA20,\n\t0x00000002, 0x4062B832, 0x4063AA20, 0x00000002, 0x4062B833, 0x4063AA20,\n\t0x00000002, 0x4062B834, 0x4063AA20, 0x00000002,\n\t// Block 381, offset 0x5f40\n\t0x4062B835, 0x4063AA20, 0x00000002, 0x4062B836, 0x4063AA20, 0x00000002,\n\t0x4062B837, 0x4063AA20, 0x00000003, 0x4062B821, 0x4063AA20, 0x40646420,\n\t0x00000003, 0x4062B822, 0x4063AA20, 0x40646420, 0x00000003, 0x4062B823,\n\t0x4063AA20, 0x40646420, 0x00000003, 0x4062B824, 0x4063AA20, 0x40646420,\n\t0x00000003, 0x4062B825, 0x4063AA20, 0x40646420, 0x00000003, 0x4062B826,\n\t0x4063AA20, 0x40646420, 0x00000003, 0x4062B827, 0x4063AA20, 0x40646420,\n\t0x00000003, 0x4062B828, 0x4063AA20, 0x40646420, 0x00000003, 0x4062B821,\n\t0x4063AA20, 0x40648C20, 0x00000003, 0x4062B822, 0x4063AA20, 0x40648C20,\n\t0x00000003, 0x4062B823, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062B824,\n\t0x4063AA20, 0x40648C20, 0x00000003, 0x4062B825, 0x4063AA20, 0x40648C20,\n\t0x00000003, 0x4062B826, 0x4063AA20, 0x40648C20,\n\t// Block 382, offset 0x5f80\n\t0x00000003, 0x4062B827, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062B828,\n\t0x4063AA20, 0x40648C20, 0x00000003, 0x4062B829, 0x4063AA20, 0x40648C20,\n\t0x00000003, 0x4062B82A, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062B821,\n\t0x4063B420, 0x40646420, 0x00000003, 0x4062B822, 0x4063B420, 0x40646420,\n\t0x00000003, 0x4062B823, 0x4063B420, 0x40646420, 0x00000003, 0x4062B824,\n\t0x4063B420, 0x40646420, 0x00000003, 0x4062B821, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062B822, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B823,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062B824, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062B825, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B826,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062B827, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062B828, 0x4063B420, 0x40646A20,\n\t// Block 383, offset 0x5fc0\n\t0x00000003, 0x4062B829, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B82A,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062B82B, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062B82C, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B82D,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062B82E, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062B82F, 0x4063B420, 0x40646A20, 0x00000003, 0x4062B830,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062B821, 0x4063B420, 0x40647220,\n\t0x00000003, 0x4062B822, 0x4063B420, 0x40647220, 0x00000003, 0x4062B823,\n\t0x4063B420, 0x40647220, 0x00000003, 0x4062B824, 0x4063B420, 0x40647220,\n\t0x00000003, 0x4062B821, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B822,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062B823, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062B824, 0x4063B420, 0x40648C20,\n\t// Block 384, offset 0x6000\n\t0x00000003, 0x4062B825, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B826,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062B827, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062B828, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B829,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062B82A, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062B82B, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B82C,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062B82D, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062B82E, 0x4063B420, 0x40648C20, 0x00000003, 0x4062B82F,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062B830, 0x4063B420, 0x40648C20,\n\t0x00000002, 0x4062B821, 0x4063B620, 0x00000002, 0x4062B821, 0x4063B820,\n\t0x00000002, 0x4062B822, 0x4063B820, 0x00000002, 0x4062B823, 0x4063B820,\n\t0x00000002, 0x4062B824, 0x4063B820, 0x00000002,\n\t// Block 385, offset 0x6040\n\t0x4062B825, 0x4063B820, 0x00000002, 0x4062B826, 0x4063B820, 0x00000002,\n\t0x4062B827, 0x4063B820, 0x00000002, 0x4062B828, 0x4063B820, 0x00000002,\n\t0x4062B829, 0x4063B820, 0x00000002, 0x4062B82A, 0x4063B820, 0x00000002,\n\t0x4062B82B, 0x4063B820, 0x00000002, 0x4062B82C, 0x4063B820, 0x00000002,\n\t0x4062B82D, 0x4063B820, 0x00000002, 0x4062B82E, 0x4063B820, 0x00000002,\n\t0x4062B82F, 0x4063B820, 0x00000002, 0x4062B830, 0x4063B820, 0x00000002,\n\t0x4062B831, 0x4063B820, 0x00000002, 0x4062B832, 0x4063B820, 0x00000002,\n\t0x4062B833, 0x4063B820, 0x00000002, 0x4062B834, 0x4063B820, 0x00000002,\n\t0x4062B835, 0x4063B820, 0x00000002, 0x4062B836, 0x4063B820, 0x00000002,\n\t0x4062B837, 0x4063B820, 0x00000002, 0x4062B838, 0x4063B820, 0x00000002,\n\t0x4062B839, 0x4063B820, 0x00000002, 0x4062B83A,\n\t// Block 386, offset 0x6080\n\t0x4063B820, 0x00000002, 0x4062B83B, 0x4063B820, 0x00000002, 0x4062B83C,\n\t0x4063B820, 0x00000002, 0x4062B83D, 0x4063B820, 0x00000002, 0x4062B83E,\n\t0x4063B820, 0x00000002, 0x4062B83F, 0x4063B820, 0x00000002, 0x4062B840,\n\t0x4063B820, 0x00000002, 0x4062B841, 0x4063B820, 0x00000002, 0x4062B842,\n\t0x4063B820, 0x00000002, 0x4062B843, 0x4063B820, 0x00000002, 0x4062B844,\n\t0x4063B820, 0x00000002, 0x4062B845, 0x4063B820, 0x00000002, 0x4062B846,\n\t0x4063B820, 0x00000002, 0x4062B847, 0x4063B820, 0x00000003, 0x4062B821,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062B822, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062B823, 0x4063B820, 0x40646420, 0x00000003, 0x4062B824,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062B825, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062B826, 0x4063B820, 0x40646420,\n\t// Block 387, offset 0x60c0\n\t0x00000003, 0x4062B827, 0x4063B820, 0x40646420, 0x00000003, 0x4062B828,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062B829, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062B821, 0x4063B820, 0x40647220, 0x00000003, 0x4062B822,\n\t0x4063B820, 0x40647220, 0x00000003, 0x4062B821, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062B822, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B823,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062B824, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062B825, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B826,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062B827, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062B828, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B829,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062B82A, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062B82B, 0x4063B820, 0x40648C20,\n\t// Block 388, offset 0x6100\n\t0x00000003, 0x4062B82C, 0x4063B820, 0x40648C20, 0x00000003, 0x4062B82D,\n\t0x4063B820, 0x40648C20, 0x00000002, 0x4062B821, 0x4063C020, 0x00000002,\n\t0x4062B822, 0x4063C020, 0x00000002, 0x4062B823, 0x4063C020, 0x00000002,\n\t0x4062B824, 0x4063C020, 0x00000002, 0x4062B825, 0x4063C020, 0x00000002,\n\t0x4062B826, 0x4063C020, 0x00000002, 0x4062B827, 0x4063C020, 0x00000002,\n\t0x4062B828, 0x4063C020, 0x00000002, 0x4062B829, 0x4063C020, 0x00000002,\n\t0x4062B82A, 0x4063C020, 0x00000002, 0x4062B82B, 0x4063C020, 0x00000002,\n\t0x4062B82C, 0x4063C020, 0x00000002, 0x4062B82D, 0x4063C020, 0x00000002,\n\t0x4062B82E, 0x4063C020, 0x00000002, 0x4062B82F, 0x4063C020, 0x00000002,\n\t0x4062B830, 0x4063C020, 0x00000002, 0x4062B821, 0x4063C220, 0x00000002,\n\t0x4062B822, 0x4063C220, 0x00000002, 0x4062B823,\n\t// Block 389, offset 0x6140\n\t0x4063C220, 0x00000002, 0x4062B824, 0x4063C220, 0x00000002, 0x4062B825,\n\t0x4063C220, 0x00000002, 0x4062B826, 0x4063C220, 0x00000002, 0x4062B827,\n\t0x4063C220, 0x00000002, 0x4062B828, 0x4063C220, 0x00000002, 0x4062B829,\n\t0x4063C220, 0x00000002, 0x4062B82A, 0x4063C220, 0x00000002, 0x4062B82B,\n\t0x4063C220, 0x00000002, 0x4062B82C, 0x4063C220, 0x00000002, 0x4062B82D,\n\t0x4063C220, 0x00000002, 0x4062B82E, 0x4063C220, 0x00000002, 0x4062B82F,\n\t0x4063C220, 0x00000002, 0x4062B830, 0x4063C220, 0x00000002, 0x4062B831,\n\t0x4063C220, 0x00000002, 0x4062B832, 0x4063C220, 0x00000002, 0x4062B833,\n\t0x4063C220, 0x00000002, 0x4062B834, 0x4063C220, 0x00000002, 0x4062B835,\n\t0x4063C220, 0x00000002, 0x4062B836, 0x4063C220, 0x00000002, 0x4062B837,\n\t0x4063C220, 0x00000002, 0x4062B838, 0x4063C220,\n\t// Block 390, offset 0x6180\n\t0x00000002, 0x4062B839, 0x4063C220, 0x00000002, 0x4062B83A, 0x4063C220,\n\t0x00000002, 0x4062B83B, 0x4063C220, 0x00000003, 0x4062B821, 0x4063C220,\n\t0x40646420, 0x00000003, 0x4062B822, 0x4063C220, 0x40646420, 0x00000003,\n\t0x4062B823, 0x4063C220, 0x40646420, 0x00000003, 0x4062B821, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062B822, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062B823, 0x4063C220, 0x40646A20, 0x00000003, 0x4062B824, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062B825, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062B826, 0x4063C220, 0x40646A20, 0x00000003, 0x4062B827, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062B828, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062B829, 0x4063C220, 0x40646A20, 0x00000003, 0x4062B82A, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062B82B, 0x4063C220,\n\t// Block 391, offset 0x61c0\n\t0x40646A20, 0x00000003, 0x4062B82C, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062B82D, 0x4063C220, 0x40646A20, 0x00000003, 0x4062B82E, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062B82F, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062B830, 0x4063C220, 0x40646A20, 0x00000003, 0x4062B831, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062B832, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062B833, 0x4063C220, 0x40646A20, 0x00000003, 0x4062B821, 0x4063C220,\n\t0x40647220, 0x00000003, 0x4062B822, 0x4063C220, 0x40647220, 0x00000003,\n\t0x4062B823, 0x4063C220, 0x40647220, 0x00000002, 0x4062B821, 0x4063D020,\n\t0x00000002, 0x4062B822, 0x4063D020, 0x00000002, 0x4062B823, 0x4063D020,\n\t0x00000002, 0x4062B824, 0x4063D020, 0x00000002, 0x4062B825, 0x4063D020,\n\t0x00000002, 0x4062B826, 0x4063D020, 0x00000002,\n\t// Block 392, offset 0x6200\n\t0x4062B827, 0x4063D020, 0x00000002, 0x4062B828, 0x4063D020, 0x00000002,\n\t0x4062B829, 0x4063D020, 0x00000002, 0x4062B82A, 0x4063D020, 0x00000002,\n\t0x4062B82B, 0x4063D020, 0x00000002, 0x4062B82C, 0x4063D020, 0x00000002,\n\t0x4062B82D, 0x4063D020, 0x00000002, 0x4062B82E, 0x4063D020, 0x00000002,\n\t0x4062B82F, 0x4063D020, 0x00000002, 0x4062B830, 0x4063D020, 0x00000002,\n\t0x4062B831, 0x4063D020, 0x00000002, 0x4062B832, 0x4063D020, 0x00000002,\n\t0x4062B833, 0x4063D020, 0x00000002, 0x4062B834, 0x4063D020, 0x00000002,\n\t0x4062B835, 0x4063D020, 0x00000002, 0x4062B836, 0x4063D020, 0x00000002,\n\t0x4062B837, 0x4063D020, 0x00000002, 0x4062B838, 0x4063D020, 0x00000002,\n\t0x4062B839, 0x4063D020, 0x00000002, 0x4062B83A, 0x4063D020, 0x00000002,\n\t0x4062B83B, 0x4063D020, 0x00000002, 0x4062B83C,\n\t// Block 393, offset 0x6240\n\t0x4063D020, 0x00000002, 0x4062B83D, 0x4063D020, 0x00000002, 0x4062B83E,\n\t0x4063D020, 0x00000002, 0x4062B83F, 0x4063D020, 0x00000002, 0x4062B840,\n\t0x4063D020, 0x00000002, 0x4062B841, 0x4063D020, 0x00000003, 0x4062B821,\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062B822, 0x4063D020, 0x40646A20,\n\t0x00000003, 0x4062B823, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B824,\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062B825, 0x4063D020, 0x40646A20,\n\t0x00000003, 0x4062B826, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B827,\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062B828, 0x4063D020, 0x40646A20,\n\t0x00000003, 0x4062B829, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B82A,\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062B82B, 0x4063D020, 0x40646A20,\n\t0x00000003, 0x4062B82C, 0x4063D020, 0x40646A20,\n\t// Block 394, offset 0x6280\n\t0x00000003, 0x4062B82D, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B82E,\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062B82F, 0x4063D020, 0x40646A20,\n\t0x00000003, 0x4062B830, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B831,\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062B832, 0x4063D020, 0x40646A20,\n\t0x00000003, 0x4062B833, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B834,\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062B835, 0x4063D020, 0x40646A20,\n\t0x00000003, 0x4062B836, 0x4063D020, 0x40646A20, 0x00000003, 0x4062B837,\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062B821, 0x4063D020, 0x40647220,\n\t0x00000003, 0x4062B822, 0x4063D020, 0x40647220, 0x00000003, 0x4062B823,\n\t0x4063D020, 0x40647220, 0x00000003, 0x4062B824, 0x4063D020, 0x40647220,\n\t0x00000003, 0x4062B825, 0x4063D020, 0x40647220,\n\t// Block 395, offset 0x62c0\n\t0x00000003, 0x4062BA21, 0x4063A820, 0x40646420, 0x00000003, 0x4062BA22,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062BA23, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062BA24, 0x4063A820, 0x40646420, 0x00000003, 0x4062BA25,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062BA26, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062BA27, 0x4063A820, 0x40646420, 0x00000003, 0x4062BA28,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062BA29, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062BA2A, 0x4063A820, 0x40646420, 0x00000003, 0x4062BA2B,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062BA2C, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062BA2D, 0x4063A820, 0x40646420, 0x00000003, 0x4062BA2E,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062BA2F, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062BA30, 0x4063A820, 0x40646420,\n\t// Block 396, offset 0x6300\n\t0x00000003, 0x4062BA31, 0x4063A820, 0x40646420, 0x00000003, 0x4062BA32,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062BA33, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062BA34, 0x4063A820, 0x40646420, 0x00000003, 0x4062BA35,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062BA36, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062BA37, 0x4063A820, 0x40646420, 0x00000003, 0x4062BA38,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062BA39, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062BA21, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA22,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BA23, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062BA24, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA25,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BA26, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062BA27, 0x4063A820, 0x40646A20,\n\t// Block 397, offset 0x6340\n\t0x00000003, 0x4062BA28, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA29,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BA2A, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062BA2B, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA2C,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BA2D, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062BA2E, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA2F,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BA30, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062BA31, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA32,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BA33, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062BA34, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA35,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BA36, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062BA37, 0x4063A820, 0x40646A20,\n\t// Block 398, offset 0x6380\n\t0x00000003, 0x4062BA38, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA39,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BA3A, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062BA3B, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA3C,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BA3D, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062BA3E, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA3F,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BA40, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062BA41, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BA21,\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062BA22, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062BA23, 0x4063A820, 0x40647220, 0x00000003, 0x4062BA24,\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062BA25, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062BA26, 0x4063A820, 0x40647220,\n\t// Block 399, offset 0x63c0\n\t0x00000003, 0x4062BA27, 0x4063A820, 0x40647220, 0x00000003, 0x4062BA28,\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062BA29, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062BA2A, 0x4063A820, 0x40647220, 0x00000003, 0x4062BA2B,\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062BA2C, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062BA2D, 0x4063A820, 0x40647220, 0x00000003, 0x4062BA2E,\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062BA2F, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062BA30, 0x4063A820, 0x40647220, 0x00000003, 0x4062BA21,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BA22, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BA23, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA24,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BA25, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BA26, 0x4063A820, 0x40648C20,\n\t// Block 400, offset 0x6400\n\t0x00000003, 0x4062BA27, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA28,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BA29, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BA2A, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA2B,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BA2C, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BA2D, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA2E,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BA2F, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BA30, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA31,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BA32, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BA33, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA34,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BA35, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BA36, 0x4063A820, 0x40648C20,\n\t// Block 401, offset 0x6440\n\t0x00000003, 0x4062BA37, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA38,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BA39, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BA3A, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA3B,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BA3C, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BA3D, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA3E,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BA3F, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BA40, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA41,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BA42, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BA43, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA44,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BA45, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BA46, 0x4063A820, 0x40648C20,\n\t// Block 402, offset 0x6480\n\t0x00000003, 0x4062BA47, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BA48,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BA49, 0x4063A820, 0x40648C20,\n\t0x00000002, 0x4062BA21, 0x4063AA20, 0x00000002, 0x4062BA22, 0x4063AA20,\n\t0x00000002, 0x4062BA23, 0x4063AA20, 0x00000002, 0x4062BA24, 0x4063AA20,\n\t0x00000002, 0x4062BA25, 0x4063AA20, 0x00000002, 0x4062BA26, 0x4063AA20,\n\t0x00000002, 0x4062BA27, 0x4063AA20, 0x00000002, 0x4062BA28, 0x4063AA20,\n\t0x00000002, 0x4062BA29, 0x4063AA20, 0x00000002, 0x4062BA2A, 0x4063AA20,\n\t0x00000002, 0x4062BA2B, 0x4063AA20, 0x00000002, 0x4062BA2C, 0x4063AA20,\n\t0x00000002, 0x4062BA2D, 0x4063AA20, 0x00000002, 0x4062BA2E, 0x4063AA20,\n\t0x00000002, 0x4062BA2F, 0x4063AA20, 0x00000002, 0x4062BA30, 0x4063AA20,\n\t0x00000002, 0x4062BA31, 0x4063AA20, 0x00000002,\n\t// Block 403, offset 0x64c0\n\t0x4062BA32, 0x4063AA20, 0x00000002, 0x4062BA33, 0x4063AA20, 0x00000002,\n\t0x4062BA34, 0x4063AA20, 0x00000002, 0x4062BA35, 0x4063AA20, 0x00000002,\n\t0x4062BA36, 0x4063AA20, 0x00000002, 0x4062BA37, 0x4063AA20, 0x00000002,\n\t0x4062BA38, 0x4063AA20, 0x00000003, 0x4062BA21, 0x4063AA20, 0x40646420,\n\t0x00000003, 0x4062BA22, 0x4063AA20, 0x40646420, 0x00000003, 0x4062BA23,\n\t0x4063AA20, 0x40646420, 0x00000003, 0x4062BA24, 0x4063AA20, 0x40646420,\n\t0x00000003, 0x4062BA25, 0x4063AA20, 0x40646420, 0x00000003, 0x4062BA26,\n\t0x4063AA20, 0x40646420, 0x00000003, 0x4062BA27, 0x4063AA20, 0x40646420,\n\t0x00000003, 0x4062BA28, 0x4063AA20, 0x40646420, 0x00000003, 0x4062BA29,\n\t0x4063AA20, 0x40646420, 0x00000003, 0x4062BA21, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BA22, 0x4063B020, 0x40646A20,\n\t// Block 404, offset 0x6500\n\t0x00000003, 0x4062BA23, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BA24,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BA25, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BA26, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BA27,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BA28, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BA29, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BA2A,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BA2B, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BA2C, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BA2D,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BA2E, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BA21, 0x4063B020, 0x40647220, 0x00000003, 0x4062BA22,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062BA23, 0x4063B020, 0x40647220,\n\t0x00000003, 0x4062BA24, 0x4063B020, 0x40647220,\n\t// Block 405, offset 0x6540\n\t0x00000003, 0x4062BA25, 0x4063B020, 0x40647220, 0x00000003, 0x4062BA26,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062BA21, 0x4063B020, 0x40648220,\n\t0x00000003, 0x4062BA22, 0x4063B020, 0x40648220, 0x00000003, 0x4062BA23,\n\t0x4063B020, 0x40648220, 0x00000003, 0x4062BA24, 0x4063B020, 0x40648220,\n\t0x00000003, 0x4062BA25, 0x4063B020, 0x40648220, 0x00000003, 0x4062BA26,\n\t0x4063B020, 0x40648220, 0x00000003, 0x4062BA27, 0x4063B020, 0x40648220,\n\t0x00000003, 0x4062BA28, 0x4063B020, 0x40648220, 0x00000003, 0x4062BA29,\n\t0x4063B020, 0x40648220, 0x00000003, 0x4062BA2A, 0x4063B020, 0x40648220,\n\t0x00000003, 0x4062BA2B, 0x4063B020, 0x40648220, 0x00000003, 0x4062BA2C,\n\t0x4063B020, 0x40648220, 0x00000003, 0x4062BA21, 0x4063B020, 0x40648420,\n\t0x00000003, 0x4062BA22, 0x4063B020, 0x40648420,\n\t// Block 406, offset 0x6580\n\t0x00000003, 0x4062BA21, 0x4063B420, 0x40646420, 0x00000003, 0x4062BA22,\n\t0x4063B420, 0x40646420, 0x00000003, 0x4062BA23, 0x4063B420, 0x40646420,\n\t0x00000003, 0x4062BA24, 0x4063B420, 0x40646420, 0x00000003, 0x4062BA25,\n\t0x4063B420, 0x40646420, 0x00000003, 0x4062BA26, 0x4063B420, 0x40646420,\n\t0x00000003, 0x4062BA27, 0x4063B420, 0x40646420, 0x00000003, 0x4062BA28,\n\t0x4063B420, 0x40646420, 0x00000003, 0x4062BA29, 0x4063B420, 0x40646420,\n\t0x00000003, 0x4062BA2A, 0x4063B420, 0x40646420, 0x00000003, 0x4062BA2B,\n\t0x4063B420, 0x40646420, 0x00000003, 0x4062BA2C, 0x4063B420, 0x40646420,\n\t0x00000003, 0x4062BA2D, 0x4063B420, 0x40646420, 0x00000003, 0x4062BA2E,\n\t0x4063B420, 0x40646420, 0x00000003, 0x4062BA2F, 0x4063B420, 0x40646420,\n\t0x00000003, 0x4062BA30, 0x4063B420, 0x40646420,\n\t// Block 407, offset 0x65c0\n\t0x00000003, 0x4062BA31, 0x4063B420, 0x40646420, 0x00000003, 0x4062BA21,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062BA22, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062BA23, 0x4063B420, 0x40646A20, 0x00000003, 0x4062BA24,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062BA25, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062BA26, 0x4063B420, 0x40646A20, 0x00000003, 0x4062BA27,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062BA28, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062BA29, 0x4063B420, 0x40646A20, 0x00000003, 0x4062BA2A,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062BA2B, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062BA2C, 0x4063B420, 0x40646A20, 0x00000003, 0x4062BA2D,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062BA2E, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062BA2F, 0x4063B420, 0x40646A20,\n\t// Block 408, offset 0x6600\n\t0x00000003, 0x4062BA21, 0x4063B420, 0x40647220, 0x00000003, 0x4062BA22,\n\t0x4063B420, 0x40647220, 0x00000003, 0x4062BA23, 0x4063B420, 0x40647220,\n\t0x00000003, 0x4062BA24, 0x4063B420, 0x40647220, 0x00000003, 0x4062BA25,\n\t0x4063B420, 0x40647220, 0x00000003, 0x4062BA26, 0x4063B420, 0x40647220,\n\t0x00000003, 0x4062BA21, 0x4063B420, 0x40648C20, 0x00000003, 0x4062BA22,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062BA23, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062BA24, 0x4063B420, 0x40648C20, 0x00000003, 0x4062BA25,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062BA26, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062BA27, 0x4063B420, 0x40648C20, 0x00000003, 0x4062BA28,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062BA29, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062BA2A, 0x4063B420, 0x40648C20,\n\t// Block 409, offset 0x6640\n\t0x00000003, 0x4062BA2B, 0x4063B420, 0x40648C20, 0x00000003, 0x4062BA2C,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062BA2D, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062BA2E, 0x4063B420, 0x40648C20, 0x00000003, 0x4062BA2F,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062BA30, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062BA31, 0x4063B420, 0x40648C20, 0x00000003, 0x4062BA32,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062BA33, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062BA34, 0x4063B420, 0x40648C20, 0x00000003, 0x4062BA35,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062BA36, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062BA37, 0x4063B420, 0x40648C20, 0x00000003, 0x4062BA38,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062BA39, 0x4063B420, 0x40648C20,\n\t0x00000002, 0x4062BA21, 0x4063B820, 0x00000002,\n\t// Block 410, offset 0x6680\n\t0x4062BA22, 0x4063B820, 0x00000002, 0x4062BA23, 0x4063B820, 0x00000002,\n\t0x4062BA24, 0x4063B820, 0x00000002, 0x4062BA25, 0x4063B820, 0x00000002,\n\t0x4062BA26, 0x4063B820, 0x00000002, 0x4062BA27, 0x4063B820, 0x00000002,\n\t0x4062BA28, 0x4063B820, 0x00000002, 0x4062BA29, 0x4063B820, 0x00000002,\n\t0x4062BA2A, 0x4063B820, 0x00000002, 0x4062BA2B, 0x4063B820, 0x00000002,\n\t0x4062BA2C, 0x4063B820, 0x00000002, 0x4062BA2D, 0x4063B820, 0x00000002,\n\t0x4062BA2E, 0x4063B820, 0x00000002, 0x4062BA2F, 0x4063B820, 0x00000002,\n\t0x4062BA30, 0x4063B820, 0x00000002, 0x4062BA31, 0x4063B820, 0x00000002,\n\t0x4062BA32, 0x4063B820, 0x00000002, 0x4062BA33, 0x4063B820, 0x00000002,\n\t0x4062BA34, 0x4063B820, 0x00000002, 0x4062BA35, 0x4063B820, 0x00000002,\n\t0x4062BA36, 0x4063B820, 0x00000002, 0x4062BA37,\n\t// Block 411, offset 0x66c0\n\t0x4063B820, 0x00000003, 0x4062BA21, 0x4063B820, 0x40646420, 0x00000003,\n\t0x4062BA22, 0x4063B820, 0x40646420, 0x00000003, 0x4062BA23, 0x4063B820,\n\t0x40646420, 0x00000003, 0x4062BA24, 0x4063B820, 0x40646420, 0x00000003,\n\t0x4062BA25, 0x4063B820, 0x40646420, 0x00000003, 0x4062BA26, 0x4063B820,\n\t0x40646420, 0x00000003, 0x4062BA27, 0x4063B820, 0x40646420, 0x00000003,\n\t0x4062BA28, 0x4063B820, 0x40646420, 0x00000003, 0x4062BA29, 0x4063B820,\n\t0x40646420, 0x00000003, 0x4062BA2A, 0x4063B820, 0x40646420, 0x00000003,\n\t0x4062BA2B, 0x4063B820, 0x40646420, 0x00000003, 0x4062BA2C, 0x4063B820,\n\t0x40646420, 0x00000003, 0x4062BA2D, 0x4063B820, 0x40646420, 0x00000003,\n\t0x4062BA2E, 0x4063B820, 0x40646420, 0x00000003, 0x4062BA2F, 0x4063B820,\n\t0x40646420, 0x00000003, 0x4062BA30, 0x4063B820,\n\t// Block 412, offset 0x6700\n\t0x40646420, 0x00000003, 0x4062BA31, 0x4063B820, 0x40646420, 0x00000003,\n\t0x4062BA32, 0x4063B820, 0x40646420, 0x00000003, 0x4062BA33, 0x4063B820,\n\t0x40646420, 0x00000003, 0x4062BA34, 0x4063B820, 0x40646420, 0x00000003,\n\t0x4062BA35, 0x4063B820, 0x40646420, 0x00000003, 0x4062BA36, 0x4063B820,\n\t0x40646420, 0x00000003, 0x4062BA37, 0x4063B820, 0x40646420, 0x00000003,\n\t0x4062BA38, 0x4063B820, 0x40646420, 0x00000003, 0x4062BA39, 0x4063B820,\n\t0x40646420, 0x00000003, 0x4062BA3A, 0x4063B820, 0x40646420, 0x00000003,\n\t0x4062BA21, 0x4063B820, 0x40646A20, 0x00000003, 0x4062BA21, 0x4063B820,\n\t0x40647220, 0x00000003, 0x4062BA21, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062BA22, 0x4063B820, 0x40648C20, 0x00000003, 0x4062BA23, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062BA24, 0x4063B820,\n\t// Block 413, offset 0x6740\n\t0x40648C20, 0x00000003, 0x4062BA25, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062BA26, 0x4063B820, 0x40648C20, 0x00000003, 0x4062BA27, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062BA28, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062BA29, 0x4063B820, 0x40648C20, 0x00000003, 0x4062BA2A, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062BA2B, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062BA2C, 0x4063B820, 0x40648C20, 0x00000003, 0x4062BA2D, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062BA2E, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062BA2F, 0x4063B820, 0x40648C20, 0x00000003, 0x4062BA30, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062BA31, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062BA32, 0x4063B820, 0x40648C20, 0x00000003, 0x4062BA33, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062BA34, 0x4063B820,\n\t// Block 414, offset 0x6780\n\t0x40648C20, 0x00000003, 0x4062BA35, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062BA36, 0x4063B820, 0x40648C20, 0x00000002, 0x4062BA21, 0x4063C220,\n\t0x00000002, 0x4062BA22, 0x4063C220, 0x00000002, 0x4062BA23, 0x4063C220,\n\t0x00000002, 0x4062BA24, 0x4063C220, 0x00000002, 0x4062BA25, 0x4063C220,\n\t0x00000002, 0x4062BA26, 0x4063C220, 0x00000002, 0x4062BA27, 0x4063C220,\n\t0x00000002, 0x4062BA28, 0x4063C220, 0x00000002, 0x4062BA29, 0x4063C220,\n\t0x00000002, 0x4062BA2A, 0x4063C220, 0x00000002, 0x4062BA2B, 0x4063C220,\n\t0x00000002, 0x4062BA2C, 0x4063C220, 0x00000002, 0x4062BA2D, 0x4063C220,\n\t0x00000002, 0x4062BA2E, 0x4063C220, 0x00000002, 0x4062BA2F, 0x4063C220,\n\t0x00000002, 0x4062BA30, 0x4063C220, 0x00000002, 0x4062BA31, 0x4063C220,\n\t0x00000002, 0x4062BA32, 0x4063C220, 0x00000002,\n\t// Block 415, offset 0x67c0\n\t0x4062BA33, 0x4063C220, 0x00000002, 0x4062BA34, 0x4063C220, 0x00000002,\n\t0x4062BA35, 0x4063C220, 0x00000002, 0x4062BA36, 0x4063C220, 0x00000002,\n\t0x4062BA37, 0x4063C220, 0x00000002, 0x4062BA38, 0x4063C220, 0x00000002,\n\t0x4062BA39, 0x4063C220, 0x00000002, 0x4062BA3A, 0x4063C220, 0x00000002,\n\t0x4062BA3B, 0x4063C220, 0x00000002, 0x4062BA3C, 0x4063C220, 0x00000002,\n\t0x4062BA3D, 0x4063C220, 0x00000002, 0x4062BA3E, 0x4063C220, 0x00000002,\n\t0x4062BA3F, 0x4063C220, 0x00000002, 0x4062BA40, 0x4063C220, 0x00000002,\n\t0x4062BA41, 0x4063C220, 0x00000002, 0x4062BA42, 0x4063C220, 0x00000002,\n\t0x4062BA43, 0x4063C220, 0x00000002, 0x4062BA44, 0x4063C220, 0x00000002,\n\t0x4062BA45, 0x4063C220, 0x00000002, 0x4062BA46, 0x4063C220, 0x00000002,\n\t0x4062BA47, 0x4063C220, 0x00000002, 0x4062BA48,\n\t// Block 416, offset 0x6800\n\t0x4063C220, 0x00000002, 0x4062BA49, 0x4063C220, 0x00000002, 0x4062BA4A,\n\t0x4063C220, 0x00000002, 0x4062BA4B, 0x4063C220, 0x00000002, 0x4062BA4C,\n\t0x4063C220, 0x00000002, 0x4062BA4D, 0x4063C220, 0x00000002, 0x4062BA4E,\n\t0x4063C220, 0x00000002, 0x4062BA4F, 0x4063C220, 0x00000002, 0x4062BA50,\n\t0x4063C220, 0x00000002, 0x4062BA51, 0x4063C220, 0x00000002, 0x4062BA52,\n\t0x4063C220, 0x00000002, 0x4062BA53, 0x4063C220, 0x00000002, 0x4062BA54,\n\t0x4063C220, 0x00000002, 0x4062BA55, 0x4063C220, 0x00000002, 0x4062BA56,\n\t0x4063C220, 0x00000002, 0x4062BA57, 0x4063C220, 0x00000002, 0x4062BA58,\n\t0x4063C220, 0x00000002, 0x4062BA59, 0x4063C220, 0x00000002, 0x4062BA5A,\n\t0x4063C220, 0x00000002, 0x4062BA5B, 0x4063C220, 0x00000002, 0x4062BA5C,\n\t0x4063C220, 0x00000002, 0x4062BA5D, 0x4063C220,\n\t// Block 417, offset 0x6840\n\t0x00000002, 0x4062BA5E, 0x4063C220, 0x00000002, 0x4062BA5F, 0x4063C220,\n\t0x00000002, 0x4062BA60, 0x4063C220, 0x00000002, 0x4062BA61, 0x4063C220,\n\t0x00000002, 0x4062BA62, 0x4063C220, 0x00000002, 0x4062BA63, 0x4063C220,\n\t0x00000002, 0x4062BA64, 0x4063C220, 0x00000002, 0x4062BA65, 0x4063C220,\n\t0x00000003, 0x4062BA21, 0x4063C220, 0x40646420, 0x00000003, 0x4062BA21,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062BA22, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062BA23, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA24,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062BA25, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062BA26, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA27,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062BA28, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062BA29, 0x4063C220, 0x40646A20,\n\t// Block 418, offset 0x6880\n\t0x00000003, 0x4062BA2A, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA2B,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062BA2C, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062BA2D, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA2E,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062BA2F, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062BA30, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA31,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062BA32, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062BA33, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA34,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062BA35, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062BA36, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA37,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062BA38, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062BA39, 0x4063C220, 0x40646A20,\n\t// Block 419, offset 0x68c0\n\t0x00000003, 0x4062BA3A, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA3B,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062BA3C, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062BA3D, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA3E,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062BA3F, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062BA40, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA41,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062BA42, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062BA43, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA44,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062BA45, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062BA46, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BA21,\n\t0x4063C220, 0x40647220, 0x00000003, 0x4062BA22, 0x4063C220, 0x40647220,\n\t0x00000003, 0x4062BA23, 0x4063C220, 0x40647220,\n\t// Block 420, offset 0x6900\n\t0x00000003, 0x4062BA24, 0x4063C220, 0x40647220, 0x00000003, 0x4062BA25,\n\t0x4063C220, 0x40647220, 0x00000003, 0x4062BA26, 0x4063C220, 0x40647220,\n\t0x00000003, 0x4062BA27, 0x4063C220, 0x40647220, 0x00000003, 0x4062BA28,\n\t0x4063C220, 0x40647220, 0x00000003, 0x4062BA29, 0x4063C220, 0x40647220,\n\t0x00000003, 0x4062BA2A, 0x4063C220, 0x40647220, 0x00000003, 0x4062BA2B,\n\t0x4063C220, 0x40647220, 0x00000003, 0x4062BA2C, 0x4063C220, 0x40647220,\n\t0x00000003, 0x4062BA21, 0x4063C220, 0x40648C20, 0x00000003, 0x4062BA22,\n\t0x4063C220, 0x40648C20, 0x00000003, 0x4062BA23, 0x4063C220, 0x40648C20,\n\t0x00000003, 0x4062BA24, 0x4063C220, 0x40648C20, 0x00000003, 0x4062BA25,\n\t0x4063C220, 0x40648C20, 0x00000003, 0x4062BA26, 0x4063C220, 0x40648C20,\n\t0x00000003, 0x4062BA27, 0x4063C220, 0x40648C20,\n\t// Block 421, offset 0x6940\n\t0x00000003, 0x4062BA28, 0x4063C220, 0x40648C20, 0x00000003, 0x4062BA29,\n\t0x4063C220, 0x40648C20, 0x00000002, 0x4062BA21, 0x4063D020, 0x00000002,\n\t0x4062BA22, 0x4063D020, 0x00000002, 0x4062BA23, 0x4063D020, 0x00000002,\n\t0x4062BA24, 0x4063D020, 0x00000002, 0x4062BA25, 0x4063D020, 0x00000002,\n\t0x4062BA26, 0x4063D020, 0x00000002, 0x4062BA27, 0x4063D020, 0x00000002,\n\t0x4062BA28, 0x4063D020, 0x00000002, 0x4062BA29, 0x4063D020, 0x00000002,\n\t0x4062BA2A, 0x4063D020, 0x00000002, 0x4062BA2B, 0x4063D020, 0x00000002,\n\t0x4062BA2C, 0x4063D020, 0x00000002, 0x4062BA2D, 0x4063D020, 0x00000002,\n\t0x4062BA2E, 0x4063D020, 0x00000002, 0x4062BA2F, 0x4063D020, 0x00000002,\n\t0x4062BA30, 0x4063D020, 0x00000002, 0x4062BA31, 0x4063D020, 0x00000002,\n\t0x4062BA32, 0x4063D020, 0x00000002, 0x4062BA33,\n\t// Block 422, offset 0x6980\n\t0x4063D020, 0x00000002, 0x4062BA34, 0x4063D020, 0x00000002, 0x4062BA35,\n\t0x4063D020, 0x00000002, 0x4062BA36, 0x4063D020, 0x00000002, 0x4062BA37,\n\t0x4063D020, 0x00000002, 0x4062BA38, 0x4063D020, 0x00000002, 0x4062BA39,\n\t0x4063D020, 0x00000002, 0x4062BA3A, 0x4063D020, 0x00000002, 0x4062BA3B,\n\t0x4063D020, 0x00000002, 0x4062BA3C, 0x4063D020, 0x00000002, 0x4062BA3D,\n\t0x4063D020, 0x00000002, 0x4062BA3E, 0x4063D020, 0x00000002, 0x4062BA3F,\n\t0x4063D020, 0x00000002, 0x4062BA40, 0x4063D020, 0x00000002, 0x4062BA41,\n\t0x4063D020, 0x00000002, 0x4062BA42, 0x4063D020, 0x00000002, 0x4062BA43,\n\t0x4063D020, 0x00000002, 0x4062BA44, 0x4063D020, 0x00000002, 0x4062BA45,\n\t0x4063D020, 0x00000002, 0x4062BA46, 0x4063D020, 0x00000002, 0x4062BA47,\n\t0x4063D020, 0x00000002, 0x4062BA48, 0x4063D020,\n\t// Block 423, offset 0x69c0\n\t0x00000002, 0x4062BA49, 0x4063D020, 0x00000002, 0x4062BA4A, 0x4063D020,\n\t0x00000002, 0x4062BA4B, 0x4063D020, 0x00000002, 0x4062BA4C, 0x4063D020,\n\t0x00000002, 0x4062BA4D, 0x4063D020, 0x00000002, 0x4062BA4E, 0x4063D020,\n\t0x00000002, 0x4062BA4F, 0x4063D020, 0x00000002, 0x4062BA50, 0x4063D020,\n\t0x00000002, 0x4062BA51, 0x4063D020, 0x00000002, 0x4062BA52, 0x4063D020,\n\t0x00000002, 0x4062BA53, 0x4063D020, 0x00000002, 0x4062BA54, 0x4063D020,\n\t0x00000002, 0x4062BA55, 0x4063D020, 0x00000002, 0x4062BA56, 0x4063D020,\n\t0x00000002, 0x4062BA57, 0x4063D020, 0x00000002, 0x4062BA58, 0x4063D020,\n\t0x00000002, 0x4062BA59, 0x4063D020, 0x00000002, 0x4062BA5A, 0x4063D020,\n\t0x00000002, 0x4062BA5B, 0x4063D020, 0x00000002, 0x4062BA5C, 0x4063D020,\n\t0x00000002, 0x4062BA5D, 0x4063D020, 0x00000002,\n\t// Block 424, offset 0x6a00\n\t0x4062BA5E, 0x4063D020, 0x00000002, 0x4062BA5F, 0x4063D020, 0x00000002,\n\t0x4062BA60, 0x4063D020, 0x00000002, 0x4062BA61, 0x4063D020, 0x00000002,\n\t0x4062BA62, 0x4063D020, 0x00000002, 0x4062BA63, 0x4063D020, 0x00000002,\n\t0x4062BA64, 0x4063D020, 0x00000002, 0x4062BA65, 0x4063D020, 0x00000002,\n\t0x4062BA66, 0x4063D020, 0x00000002, 0x4062BA67, 0x4063D020, 0x00000002,\n\t0x4062BA68, 0x4063D020, 0x00000002, 0x4062BA69, 0x4063D020, 0x00000002,\n\t0x4062BA6A, 0x4063D020, 0x00000002, 0x4062BA6B, 0x4063D020, 0x00000002,\n\t0x4062BA6C, 0x4063D020, 0x00000002, 0x4062BA6D, 0x4063D020, 0x00000002,\n\t0x4062BA6E, 0x4063D020, 0x00000002, 0x4062BA6F, 0x4063D020, 0x00000002,\n\t0x4062BA70, 0x4063D020, 0x00000002, 0x4062BA71, 0x4063D020, 0x00000002,\n\t0x4062BA72, 0x4063D020, 0x00000002, 0x4062BA73,\n\t// Block 425, offset 0x6a40\n\t0x4063D020, 0x00000002, 0x4062BA74, 0x4063D020, 0x00000002, 0x4062BA75,\n\t0x4063D020, 0x00000003, 0x4062BA21, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BA22, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BA23, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BA24, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BA25, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BA26, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BA27, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BA28, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BA29, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BA2A, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BA2B, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BA2C, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BA2D, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BA2E, 0x4063D020, 0x40646A20, 0x00000003,\n\t// Block 426, offset 0x6a80\n\t0x4062BA2F, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BA30, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BA31, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BA32, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BA33, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BA34, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BA35, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BA36, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BA37, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BA38, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BA39, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BA3A, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BA3B, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BA21, 0x4063D020,\n\t0x40648C20, 0x00000003, 0x4062BA22, 0x4063D020, 0x40648C20, 0x00000003,\n\t0x4062BA23, 0x4063D020, 0x40648C20, 0x00000003,\n\t// Block 427, offset 0x6ac0\n\t0x4062BA24, 0x4063D020, 0x40648C20, 0x00000003, 0x4062BA25, 0x4063D020,\n\t0x40648C20, 0x00000003, 0x4062BA26, 0x4063D020, 0x40648C20, 0x00000003,\n\t0x4062BA27, 0x4063D020, 0x40648C20, 0x00000003, 0x4062BA28, 0x4063D020,\n\t0x40648C20, 0x00000002, 0x4062BE21, 0x4063A820, 0x00000002, 0x4062BE22,\n\t0x4063A820, 0x00000002, 0x4062BE23, 0x4063A820, 0x00000002, 0x4062BE24,\n\t0x4063A820, 0x00000002, 0x4062BE25, 0x4063A820, 0x00000002, 0x4062BE26,\n\t0x4063A820, 0x00000002, 0x4062BE27, 0x4063A820, 0x00000002, 0x4062BE28,\n\t0x4063A820, 0x00000002, 0x4062BE29, 0x4063A820, 0x00000002, 0x4062BE2A,\n\t0x4063A820, 0x00000002, 0x4062BE2B, 0x4063A820, 0x00000002, 0x4062BE2C,\n\t0x4063A820, 0x00000002, 0x4062BE2D, 0x4063A820, 0x00000002, 0x4062BE2E,\n\t0x4063A820, 0x00000002, 0x4062BE2F, 0x4063A820,\n\t// Block 428, offset 0x6b00\n\t0x00000002, 0x4062BE30, 0x4063A820, 0x00000002, 0x4062BE31, 0x4063A820,\n\t0x00000002, 0x4062BE32, 0x4063A820, 0x00000002, 0x4062BE33, 0x4063A820,\n\t0x00000002, 0x4062BE34, 0x4063A820, 0x00000002, 0x4062BE35, 0x4063A820,\n\t0x00000002, 0x4062BE36, 0x4063A820, 0x00000002, 0x4062BE37, 0x4063A820,\n\t0x00000002, 0x4062BE38, 0x4063A820, 0x00000002, 0x4062BE39, 0x4063A820,\n\t0x00000002, 0x4062BE3A, 0x4063A820, 0x00000002, 0x4062BE3B, 0x4063A820,\n\t0x00000002, 0x4062BE3C, 0x4063A820, 0x00000002, 0x4062BE3D, 0x4063A820,\n\t0x00000002, 0x4062BE3E, 0x4063A820, 0x00000002, 0x4062BE3F, 0x4063A820,\n\t0x00000002, 0x4062BE40, 0x4063A820, 0x00000002, 0x4062BE41, 0x4063A820,\n\t0x00000002, 0x4062BE42, 0x4063A820, 0x00000002, 0x4062BE43, 0x4063A820,\n\t0x00000002, 0x4062BE44, 0x4063A820, 0x00000002,\n\t// Block 429, offset 0x6b40\n\t0x4062BE45, 0x4063A820, 0x00000002, 0x4062BE46, 0x4063A820, 0x00000002,\n\t0x4062BE47, 0x4063A820, 0x00000002, 0x4062BE48, 0x4063A820, 0x00000002,\n\t0x4062BE49, 0x4063A820, 0x00000002, 0x4062BE4A, 0x4063A820, 0x00000002,\n\t0x4062BE4B, 0x4063A820, 0x00000002, 0x4062BE4C, 0x4063A820, 0x00000002,\n\t0x4062BE4D, 0x4063A820, 0x00000002, 0x4062BE4E, 0x4063A820, 0x00000002,\n\t0x4062BE4F, 0x4063A820, 0x00000002, 0x4062BE50, 0x4063A820, 0x00000002,\n\t0x4062BE51, 0x4063A820, 0x00000002, 0x4062BE52, 0x4063A820, 0x00000002,\n\t0x4062BE53, 0x4063A820, 0x00000002, 0x4062BE54, 0x4063A820, 0x00000002,\n\t0x4062BE55, 0x4063A820, 0x00000002, 0x4062BE56, 0x4063A820, 0x00000002,\n\t0x4062BE57, 0x4063A820, 0x00000002, 0x4062BE58, 0x4063A820, 0x00000002,\n\t0x4062BE59, 0x4063A820, 0x00000002, 0x4062BE5A,\n\t// Block 430, offset 0x6b80\n\t0x4063A820, 0x00000002, 0x4062BE5B, 0x4063A820, 0x00000002, 0x4062BE5C,\n\t0x4063A820, 0x00000002, 0x4062BE5D, 0x4063A820, 0x00000002, 0x4062BE5E,\n\t0x4063A820, 0x00000002, 0x4062BE5F, 0x4063A820, 0x00000002, 0x4062BE60,\n\t0x4063A820, 0x00000002, 0x4062BE61, 0x4063A820, 0x00000002, 0x4062BE62,\n\t0x4063A820, 0x00000002, 0x4062BE63, 0x4063A820, 0x00000002, 0x4062BE64,\n\t0x4063A820, 0x00000002, 0x4062BE65, 0x4063A820, 0x00000002, 0x4062BE66,\n\t0x4063A820, 0x00000002, 0x4062BE67, 0x4063A820, 0x00000002, 0x4062BE68,\n\t0x4063A820, 0x00000002, 0x4062BE69, 0x4063A820, 0x00000002, 0x4062BE6A,\n\t0x4063A820, 0x00000002, 0x4062BE6B, 0x4063A820, 0x00000002, 0x4062BE6C,\n\t0x4063A820, 0x00000002, 0x4062BE6D, 0x4063A820, 0x00000002, 0x4062BE6E,\n\t0x4063A820, 0x00000002, 0x4062BE6F, 0x4063A820,\n\t// Block 431, offset 0x6bc0\n\t0x00000003, 0x4062BE21, 0x4063A820, 0x40646420, 0x00000003, 0x4062BE22,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062BE23, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062BE24, 0x4063A820, 0x40646420, 0x00000003, 0x4062BE25,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062BE26, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062BE21, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BE22,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BE23, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062BE24, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BE25,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BE26, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062BE27, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BE28,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BE29, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062BE2A, 0x4063A820, 0x40646A20,\n\t// Block 432, offset 0x6c00\n\t0x00000003, 0x4062BE2B, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BE2C,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BE2D, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062BE2E, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BE2F,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BE30, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062BE31, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BE32,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BE33, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062BE34, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BE35,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BE36, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062BE37, 0x4063A820, 0x40646A20, 0x00000003, 0x4062BE38,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062BE21, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062BE22, 0x4063A820, 0x40647220,\n\t// Block 433, offset 0x6c40\n\t0x00000003, 0x4062BE23, 0x4063A820, 0x40647220, 0x00000003, 0x4062BE24,\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062BE25, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062BE21, 0x4063A820, 0x40648220, 0x00000003, 0x4062BE22,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062BE23, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062BE24, 0x4063A820, 0x40648220, 0x00000003, 0x4062BE25,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062BE26, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062BE27, 0x4063A820, 0x40648220, 0x00000003, 0x4062BE28,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062BE29, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062BE2A, 0x4063A820, 0x40648220, 0x00000003, 0x4062BE21,\n\t0x4063A820, 0x40648420, 0x00000003, 0x4062BE22, 0x4063A820, 0x40648420,\n\t0x00000003, 0x4062BE23, 0x4063A820, 0x40648420,\n\t// Block 434, offset 0x6c80\n\t0x00000003, 0x4062BE24, 0x4063A820, 0x40648420, 0x00000003, 0x4062BE25,\n\t0x4063A820, 0x40648420, 0x00000003, 0x4062BE26, 0x4063A820, 0x40648420,\n\t0x00000003, 0x4062BE27, 0x4063A820, 0x40648420, 0x00000003, 0x4062BE28,\n\t0x4063A820, 0x40648420, 0x00000003, 0x4062BE29, 0x4063A820, 0x40648420,\n\t0x00000003, 0x4062BE2A, 0x4063A820, 0x40648420, 0x00000003, 0x4062BE2B,\n\t0x4063A820, 0x40648420, 0x00000003, 0x4062BE21, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BE22, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE23,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BE24, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BE25, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE26,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BE27, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BE28, 0x4063A820, 0x40648C20,\n\t// Block 435, offset 0x6cc0\n\t0x00000003, 0x4062BE29, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE2A,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BE2B, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BE2C, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE2D,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BE2E, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BE2F, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE30,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BE31, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BE32, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE33,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BE34, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BE35, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE36,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BE37, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BE38, 0x4063A820, 0x40648C20,\n\t// Block 436, offset 0x6d00\n\t0x00000003, 0x4062BE39, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE3A,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BE3B, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BE3C, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE3D,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BE3E, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BE3F, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE40,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BE41, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BE42, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE43,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BE44, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BE45, 0x4063A820, 0x40648C20, 0x00000003, 0x4062BE46,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062BE47, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062BE48, 0x4063A820, 0x40648C20,\n\t// Block 437, offset 0x6d40\n\t0x00000002, 0x4062BE21, 0x4063AA20, 0x00000002, 0x4062BE22, 0x4063AA20,\n\t0x00000002, 0x4062BE23, 0x4063AA20, 0x00000002, 0x4062BE24, 0x4063AA20,\n\t0x00000003, 0x4062BE21, 0x4063AA20, 0x40646420, 0x00000003, 0x4062BE22,\n\t0x4063AA20, 0x40646420, 0x00000003, 0x4062BE23, 0x4063AA20, 0x40646420,\n\t0x00000003, 0x4062BE24, 0x4063AA20, 0x40646420, 0x00000003, 0x4062BE25,\n\t0x4063AA20, 0x40646420, 0x00000003, 0x4062BE26, 0x4063AA20, 0x40646420,\n\t0x00000003, 0x4062BE27, 0x4063AA20, 0x40646420, 0x00000003, 0x4062BE21,\n\t0x4063AA20, 0x40648C20, 0x00000003, 0x4062BE22, 0x4063AA20, 0x40648C20,\n\t0x00000003, 0x4062BE23, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062BE24,\n\t0x4063AA20, 0x40648C20, 0x00000003, 0x4062BE25, 0x4063AA20, 0x40648C20,\n\t0x00000003, 0x4062BE26, 0x4063AA20, 0x40648C20,\n\t// Block 438, offset 0x6d80\n\t0x00000002, 0x4062BE21, 0x4063B020, 0x00000002, 0x4062BE22, 0x4063B020,\n\t0x00000002, 0x4062BE23, 0x4063B020, 0x00000002, 0x4062BE24, 0x4063B020,\n\t0x00000002, 0x4062BE25, 0x4063B020, 0x00000002, 0x4062BE26, 0x4063B020,\n\t0x00000002, 0x4062BE27, 0x4063B020, 0x00000002, 0x4062BE28, 0x4063B020,\n\t0x00000002, 0x4062BE29, 0x4063B020, 0x00000002, 0x4062BE2A, 0x4063B020,\n\t0x00000002, 0x4062BE2B, 0x4063B020, 0x00000002, 0x4062BE2C, 0x4063B020,\n\t0x00000002, 0x4062BE2D, 0x4063B020, 0x00000002, 0x4062BE2E, 0x4063B020,\n\t0x00000002, 0x4062BE2F, 0x4063B020, 0x00000002, 0x4062BE30, 0x4063B020,\n\t0x00000002, 0x4062BE31, 0x4063B020, 0x00000002, 0x4062BE32, 0x4063B020,\n\t0x00000002, 0x4062BE33, 0x4063B020, 0x00000002, 0x4062BE34, 0x4063B020,\n\t0x00000002, 0x4062BE35, 0x4063B020, 0x00000002,\n\t// Block 439, offset 0x6dc0\n\t0x4062BE36, 0x4063B020, 0x00000002, 0x4062BE37, 0x4063B020, 0x00000002,\n\t0x4062BE38, 0x4063B020, 0x00000002, 0x4062BE39, 0x4063B020, 0x00000002,\n\t0x4062BE3A, 0x4063B020, 0x00000002, 0x4062BE3B, 0x4063B020, 0x00000002,\n\t0x4062BE3C, 0x4063B020, 0x00000002, 0x4062BE3D, 0x4063B020, 0x00000002,\n\t0x4062BE3E, 0x4063B020, 0x00000002, 0x4062BE3F, 0x4063B020, 0x00000002,\n\t0x4062BE40, 0x4063B020, 0x00000002, 0x4062BE41, 0x4063B020, 0x00000002,\n\t0x4062BE42, 0x4063B020, 0x00000002, 0x4062BE43, 0x4063B020, 0x00000002,\n\t0x4062BE44, 0x4063B020, 0x00000002, 0x4062BE45, 0x4063B020, 0x00000002,\n\t0x4062BE46, 0x4063B020, 0x00000002, 0x4062BE47, 0x4063B020, 0x00000002,\n\t0x4062BE48, 0x4063B020, 0x00000003, 0x4062BE21, 0x4063B020, 0x40646420,\n\t0x00000003, 0x4062BE22, 0x4063B020, 0x40646420,\n\t// Block 440, offset 0x6e00\n\t0x00000003, 0x4062BE23, 0x4063B020, 0x40646420, 0x00000003, 0x4062BE24,\n\t0x4063B020, 0x40646420, 0x00000003, 0x4062BE25, 0x4063B020, 0x40646420,\n\t0x00000003, 0x4062BE26, 0x4063B020, 0x40646420, 0x00000003, 0x4062BE27,\n\t0x4063B020, 0x40646420, 0x00000003, 0x4062BE28, 0x4063B020, 0x40646420,\n\t0x00000003, 0x4062BE29, 0x4063B020, 0x40646420, 0x00000003, 0x4062BE2A,\n\t0x4063B020, 0x40646420, 0x00000003, 0x4062BE2B, 0x4063B020, 0x40646420,\n\t0x00000003, 0x4062BE2C, 0x4063B020, 0x40646420, 0x00000003, 0x4062BE2D,\n\t0x4063B020, 0x40646420, 0x00000003, 0x4062BE2E, 0x4063B020, 0x40646420,\n\t0x00000003, 0x4062BE2F, 0x4063B020, 0x40646420, 0x00000003, 0x4062BE30,\n\t0x4063B020, 0x40646420, 0x00000003, 0x4062BE31, 0x4063B020, 0x40646420,\n\t0x00000003, 0x4062BE32, 0x4063B020, 0x40646420,\n\t// Block 441, offset 0x6e40\n\t0x00000003, 0x4062BE33, 0x4063B020, 0x40646420, 0x00000003, 0x4062BE34,\n\t0x4063B020, 0x40646420, 0x00000003, 0x4062BE35, 0x4063B020, 0x40646420,\n\t0x00000003, 0x4062BE36, 0x4063B020, 0x40646420, 0x00000003, 0x4062BE21,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BE22, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BE23, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE24,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BE25, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BE26, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE27,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BE28, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BE29, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE2A,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BE2B, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BE2C, 0x4063B020, 0x40646A20,\n\t// Block 442, offset 0x6e80\n\t0x00000003, 0x4062BE2D, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE2E,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BE2F, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BE30, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE31,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BE32, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BE33, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE34,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BE35, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BE36, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE37,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BE38, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BE39, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE3A,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BE3B, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BE3C, 0x4063B020, 0x40646A20,\n\t// Block 443, offset 0x6ec0\n\t0x00000003, 0x4062BE3D, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE3E,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BE3F, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BE40, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE41,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BE42, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BE43, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE44,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BE45, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BE46, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE47,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BE48, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BE49, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE4A,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BE4B, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BE4C, 0x4063B020, 0x40646A20,\n\t// Block 444, offset 0x6f00\n\t0x00000003, 0x4062BE4D, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE4E,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062BE4F, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062BE50, 0x4063B020, 0x40646A20, 0x00000003, 0x4062BE21,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062BE22, 0x4063B020, 0x40647220,\n\t0x00000003, 0x4062BE23, 0x4063B020, 0x40647220, 0x00000003, 0x4062BE24,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062BE25, 0x4063B020, 0x40647220,\n\t0x00000003, 0x4062BE26, 0x4063B020, 0x40647220, 0x00000003, 0x4062BE27,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062BE28, 0x4063B020, 0x40647220,\n\t0x00000003, 0x4062BE29, 0x4063B020, 0x40647220, 0x00000003, 0x4062BE2A,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062BE2B, 0x4063B020, 0x40647220,\n\t0x00000003, 0x4062BE2C, 0x4063B020, 0x40647220,\n\t// Block 445, offset 0x6f40\n\t0x00000003, 0x4062BE2D, 0x4063B020, 0x40647220, 0x00000003, 0x4062BE2E,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062BE2F, 0x4063B020, 0x40647220,\n\t0x00000003, 0x4062BE30, 0x4063B020, 0x40647220, 0x00000003, 0x4062BE31,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062BE32, 0x4063B020, 0x40647220,\n\t0x00000003, 0x4062BE33, 0x4063B020, 0x40647220, 0x00000003, 0x4062BE34,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062BE35, 0x4063B020, 0x40647220,\n\t0x00000003, 0x4062BE21, 0x4063B020, 0x40648220, 0x00000003, 0x4062BE22,\n\t0x4063B020, 0x40648220, 0x00000003, 0x4062BE23, 0x4063B020, 0x40648220,\n\t0x00000003, 0x4062BE24, 0x4063B020, 0x40648220, 0x00000003, 0x4062BE25,\n\t0x4063B020, 0x40648220, 0x00000003, 0x4062BE26, 0x4063B020, 0x40648220,\n\t0x00000003, 0x4062BE27, 0x4063B020, 0x40648220,\n\t// Block 446, offset 0x6f80\n\t0x00000003, 0x4062BE28, 0x4063B020, 0x40648220, 0x00000003, 0x4062BE29,\n\t0x4063B020, 0x40648220, 0x00000003, 0x4062BE2A, 0x4063B020, 0x40648220,\n\t0x00000003, 0x4062BE2B, 0x4063B020, 0x40648220, 0x00000003, 0x4062BE2C,\n\t0x4063B020, 0x40648220, 0x00000003, 0x4062BE2D, 0x4063B020, 0x40648220,\n\t0x00000003, 0x4062BE2E, 0x4063B020, 0x40648220, 0x00000003, 0x4062BE2F,\n\t0x4063B020, 0x40648220, 0x00000003, 0x4062BE21, 0x4063B020, 0x40648420,\n\t0x00000003, 0x4062BE22, 0x4063B020, 0x40648420, 0x00000003, 0x4062BE23,\n\t0x4063B020, 0x40648420, 0x00000003, 0x4062BE24, 0x4063B020, 0x40648420,\n\t0x00000003, 0x4062BE25, 0x4063B020, 0x40648420, 0x00000003, 0x4062BE26,\n\t0x4063B020, 0x40648420, 0x00000003, 0x4062BE27, 0x4063B020, 0x40648420,\n\t0x00000003, 0x4062BE28, 0x4063B020, 0x40648420,\n\t// Block 447, offset 0x6fc0\n\t0x00000003, 0x4062BE29, 0x4063B020, 0x40648420, 0x00000003, 0x4062BE2A,\n\t0x4063B020, 0x40648420, 0x00000003, 0x4062BE21, 0x4063B020, 0x40648C20,\n\t0x00000003, 0x4062BE22, 0x4063B020, 0x40648C20, 0x00000003, 0x4062BE23,\n\t0x4063B020, 0x40648C20, 0x00000003, 0x4062BE24, 0x4063B020, 0x40648C20,\n\t0x00000003, 0x4062BE25, 0x4063B020, 0x40648C20, 0x00000003, 0x4062BE26,\n\t0x4063B020, 0x40648C20, 0x00000003, 0x4062BE27, 0x4063B020, 0x40648C20,\n\t0x00000003, 0x4062BE28, 0x4063B020, 0x40648C20, 0x00000003, 0x4062BE29,\n\t0x4063B020, 0x40648C20, 0x00000003, 0x4062BE2A, 0x4063B020, 0x40648C20,\n\t0x00000003, 0x4062BE2B, 0x4063B020, 0x40648C20, 0x00000003, 0x4062BE2C,\n\t0x4063B020, 0x40648C20, 0x00000003, 0x4062BE2D, 0x4063B020, 0x40648C20,\n\t0x00000003, 0x4062BE2E, 0x4063B020, 0x40648C20,\n\t// Block 448, offset 0x7000\n\t0x00000003, 0x4062BE2F, 0x4063B020, 0x40648C20, 0x00000003, 0x4062BE30,\n\t0x4063B020, 0x40648C20, 0x00000003, 0x4062BE31, 0x4063B020, 0x40648C20,\n\t0x00000003, 0x4062BE32, 0x4063B020, 0x40648C20, 0x00000003, 0x4062BE33,\n\t0x4063B020, 0x40648C20, 0x00000003, 0x4062BE34, 0x4063B020, 0x40648C20,\n\t0x00000002, 0x4062BE21, 0x4063B220, 0x00000002, 0x4062BE22, 0x4063B220,\n\t0x00000002, 0x4062BE23, 0x4063B220, 0x00000002, 0x4062BE24, 0x4063B220,\n\t0x00000002, 0x4062BE25, 0x4063B220, 0x00000002, 0x4062BE26, 0x4063B220,\n\t0x00000002, 0x4062BE27, 0x4063B220, 0x00000002, 0x4062BE28, 0x4063B220,\n\t0x00000002, 0x4062BE29, 0x4063B220, 0x00000002, 0x4062BE2A, 0x4063B220,\n\t0x00000002, 0x4062BE2B, 0x4063B220, 0x00000002, 0x4062BE2C, 0x4063B220,\n\t0x00000002, 0x4062BE21, 0x4063B820, 0x00000002,\n\t// Block 449, offset 0x7040\n\t0x4062BE22, 0x4063B820, 0x00000002, 0x4062BE23, 0x4063B820, 0x00000002,\n\t0x4062BE24, 0x4063B820, 0x00000002, 0x4062BE25, 0x4063B820, 0x00000002,\n\t0x4062BE26, 0x4063B820, 0x00000002, 0x4062BE27, 0x4063B820, 0x00000002,\n\t0x4062BE28, 0x4063B820, 0x00000002, 0x4062BE29, 0x4063B820, 0x00000002,\n\t0x4062BE2A, 0x4063B820, 0x00000002, 0x4062BE2B, 0x4063B820, 0x00000002,\n\t0x4062BE2C, 0x4063B820, 0x00000002, 0x4062BE2D, 0x4063B820, 0x00000002,\n\t0x4062BE2E, 0x4063B820, 0x00000002, 0x4062BE2F, 0x4063B820, 0x00000002,\n\t0x4062BE30, 0x4063B820, 0x00000002, 0x4062BE31, 0x4063B820, 0x00000002,\n\t0x4062BE32, 0x4063B820, 0x00000002, 0x4062BE33, 0x4063B820, 0x00000002,\n\t0x4062BE34, 0x4063B820, 0x00000002, 0x4062BE35, 0x4063B820, 0x00000002,\n\t0x4062BE36, 0x4063B820, 0x00000002, 0x4062BE37,\n\t// Block 450, offset 0x7080\n\t0x4063B820, 0x00000002, 0x4062BE38, 0x4063B820, 0x00000002, 0x4062BE39,\n\t0x4063B820, 0x00000002, 0x4062BE3A, 0x4063B820, 0x00000002, 0x4062BE3B,\n\t0x4063B820, 0x00000002, 0x4062BE3C, 0x4063B820, 0x00000002, 0x4062BE3D,\n\t0x4063B820, 0x00000002, 0x4062BE3E, 0x4063B820, 0x00000002, 0x4062BE3F,\n\t0x4063B820, 0x00000002, 0x4062BE40, 0x4063B820, 0x00000002, 0x4062BE41,\n\t0x4063B820, 0x00000002, 0x4062BE42, 0x4063B820, 0x00000002, 0x4062BE43,\n\t0x4063B820, 0x00000002, 0x4062BE44, 0x4063B820, 0x00000002, 0x4062BE45,\n\t0x4063B820, 0x00000002, 0x4062BE46, 0x4063B820, 0x00000002, 0x4062BE47,\n\t0x4063B820, 0x00000002, 0x4062BE48, 0x4063B820, 0x00000002, 0x4062BE49,\n\t0x4063B820, 0x00000002, 0x4062BE4A, 0x4063B820, 0x00000002, 0x4062BE4B,\n\t0x4063B820, 0x00000002, 0x4062BE4C, 0x4063B820,\n\t// Block 451, offset 0x70c0\n\t0x00000002, 0x4062BE4D, 0x4063B820, 0x00000002, 0x4062BE4E, 0x4063B820,\n\t0x00000002, 0x4062BE4F, 0x4063B820, 0x00000002, 0x4062BE50, 0x4063B820,\n\t0x00000002, 0x4062BE51, 0x4063B820, 0x00000002, 0x4062BE52, 0x4063B820,\n\t0x00000002, 0x4062BE53, 0x4063B820, 0x00000002, 0x4062BE54, 0x4063B820,\n\t0x00000002, 0x4062BE55, 0x4063B820, 0x00000002, 0x4062BE56, 0x4063B820,\n\t0x00000002, 0x4062BE57, 0x4063B820, 0x00000002, 0x4062BE58, 0x4063B820,\n\t0x00000002, 0x4062BE59, 0x4063B820, 0x00000002, 0x4062BE5A, 0x4063B820,\n\t0x00000002, 0x4062BE5B, 0x4063B820, 0x00000002, 0x4062BE5C, 0x4063B820,\n\t0x00000003, 0x4062BE21, 0x4063B820, 0x40646420, 0x00000003, 0x4062BE22,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062BE23, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062BE24, 0x4063B820, 0x40646420,\n\t// Block 452, offset 0x7100\n\t0x00000003, 0x4062BE25, 0x4063B820, 0x40646420, 0x00000003, 0x4062BE26,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062BE27, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062BE28, 0x4063B820, 0x40646420, 0x00000003, 0x4062BE29,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062BE2A, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062BE2B, 0x4063B820, 0x40646420, 0x00000003, 0x4062BE21,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062BE22, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062BE23, 0x4063B820, 0x40646A20, 0x00000003, 0x4062BE24,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062BE25, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062BE26, 0x4063B820, 0x40646A20, 0x00000003, 0x4062BE27,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062BE28, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062BE21, 0x4063B820, 0x40647220,\n\t// Block 453, offset 0x7140\n\t0x00000003, 0x4062BE22, 0x4063B820, 0x40647220, 0x00000003, 0x4062BE23,\n\t0x4063B820, 0x40647220, 0x00000003, 0x4062BE21, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062BE22, 0x4063B820, 0x40648C20, 0x00000003, 0x4062BE23,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062BE24, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062BE25, 0x4063B820, 0x40648C20, 0x00000003, 0x4062BE26,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062BE27, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062BE28, 0x4063B820, 0x40648C20, 0x00000003, 0x4062BE29,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062BE2A, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062BE2B, 0x4063B820, 0x40648C20, 0x00000002, 0x4062BE21,\n\t0x4063BC20, 0x00000002, 0x4062BE22, 0x4063BC20, 0x00000002, 0x4062BE23,\n\t0x4063BC20, 0x00000002, 0x4062BE24, 0x4063BC20,\n\t// Block 454, offset 0x7180\n\t0x00000002, 0x4062BE25, 0x4063BC20, 0x00000002, 0x4062BE26, 0x4063BC20,\n\t0x00000002, 0x4062BE27, 0x4063BC20, 0x00000002, 0x4062BE21, 0x4063BE20,\n\t0x00000002, 0x4062BE22, 0x4063BE20, 0x00000002, 0x4062BE21, 0x4063C220,\n\t0x00000002, 0x4062BE22, 0x4063C220, 0x00000002, 0x4062BE23, 0x4063C220,\n\t0x00000002, 0x4062BE24, 0x4063C220, 0x00000002, 0x4062BE25, 0x4063C220,\n\t0x00000002, 0x4062BE26, 0x4063C220, 0x00000002, 0x4062BE27, 0x4063C220,\n\t0x00000002, 0x4062BE28, 0x4063C220, 0x00000002, 0x4062BE29, 0x4063C220,\n\t0x00000002, 0x4062BE2A, 0x4063C220, 0x00000002, 0x4062BE2B, 0x4063C220,\n\t0x00000002, 0x4062BE2C, 0x4063C220, 0x00000002, 0x4062BE2D, 0x4063C220,\n\t0x00000002, 0x4062BE2E, 0x4063C220, 0x00000002, 0x4062BE2F, 0x4063C220,\n\t0x00000002, 0x4062BE30, 0x4063C220, 0x00000002,\n\t// Block 455, offset 0x71c0\n\t0x4062BE31, 0x4063C220, 0x00000002, 0x4062BE32, 0x4063C220, 0x00000002,\n\t0x4062BE33, 0x4063C220, 0x00000002, 0x4062BE34, 0x4063C220, 0x00000002,\n\t0x4062BE35, 0x4063C220, 0x00000002, 0x4062BE36, 0x4063C220, 0x00000002,\n\t0x4062BE37, 0x4063C220, 0x00000002, 0x4062BE38, 0x4063C220, 0x00000002,\n\t0x4062BE39, 0x4063C220, 0x00000002, 0x4062BE3A, 0x4063C220, 0x00000002,\n\t0x4062BE3B, 0x4063C220, 0x00000002, 0x4062BE3C, 0x4063C220, 0x00000002,\n\t0x4062BE3D, 0x4063C220, 0x00000002, 0x4062BE3E, 0x4063C220, 0x00000002,\n\t0x4062BE3F, 0x4063C220, 0x00000002, 0x4062BE40, 0x4063C220, 0x00000002,\n\t0x4062BE41, 0x4063C220, 0x00000002, 0x4062BE42, 0x4063C220, 0x00000002,\n\t0x4062BE43, 0x4063C220, 0x00000002, 0x4062BE44, 0x4063C220, 0x00000002,\n\t0x4062BE45, 0x4063C220, 0x00000002, 0x4062BE46,\n\t// Block 456, offset 0x7200\n\t0x4063C220, 0x00000002, 0x4062BE47, 0x4063C220, 0x00000002, 0x4062BE48,\n\t0x4063C220, 0x00000002, 0x4062BE49, 0x4063C220, 0x00000002, 0x4062BE4A,\n\t0x4063C220, 0x00000002, 0x4062BE4B, 0x4063C220, 0x00000002, 0x4062BE4C,\n\t0x4063C220, 0x00000002, 0x4062BE4D, 0x4063C220, 0x00000002, 0x4062BE4E,\n\t0x4063C220, 0x00000002, 0x4062BE4F, 0x4063C220, 0x00000002, 0x4062BE50,\n\t0x4063C220, 0x00000002, 0x4062BE51, 0x4063C220, 0x00000002, 0x4062BE52,\n\t0x4063C220, 0x00000002, 0x4062BE53, 0x4063C220, 0x00000002, 0x4062BE54,\n\t0x4063C220, 0x00000002, 0x4062BE55, 0x4063C220, 0x00000002, 0x4062BE56,\n\t0x4063C220, 0x00000002, 0x4062BE57, 0x4063C220, 0x00000002, 0x4062BE58,\n\t0x4063C220, 0x00000002, 0x4062BE59, 0x4063C220, 0x00000002, 0x4062BE5A,\n\t0x4063C220, 0x00000002, 0x4062BE5B, 0x4063C220,\n\t// Block 457, offset 0x7240\n\t0x00000002, 0x4062BE5C, 0x4063C220, 0x00000002, 0x4062BE5D, 0x4063C220,\n\t0x00000002, 0x4062BE5E, 0x4063C220, 0x00000002, 0x4062BE5F, 0x4063C220,\n\t0x00000002, 0x4062BE60, 0x4063C220, 0x00000002, 0x4062BE61, 0x4063C220,\n\t0x00000002, 0x4062BE62, 0x4063C220, 0x00000002, 0x4062BE63, 0x4063C220,\n\t0x00000002, 0x4062BE64, 0x4063C220, 0x00000002, 0x4062BE65, 0x4063C220,\n\t0x00000002, 0x4062BE66, 0x4063C220, 0x00000002, 0x4062BE67, 0x4063C220,\n\t0x00000002, 0x4062BE68, 0x4063C220, 0x00000002, 0x4062BE69, 0x4063C220,\n\t0x00000002, 0x4062BE6A, 0x4063C220, 0x00000002, 0x4062BE6B, 0x4063C220,\n\t0x00000002, 0x4062BE6C, 0x4063C220, 0x00000002, 0x4062BE6D, 0x4063C220,\n\t0x00000002, 0x4062BE6E, 0x4063C220, 0x00000002, 0x4062BE6F, 0x4063C220,\n\t0x00000002, 0x4062BE70, 0x4063C220, 0x00000002,\n\t// Block 458, offset 0x7280\n\t0x4062BE71, 0x4063C220, 0x00000002, 0x4062BE72, 0x4063C220, 0x00000003,\n\t0x4062BE21, 0x4063C220, 0x40646420, 0x00000003, 0x4062BE22, 0x4063C220,\n\t0x40646420, 0x00000003, 0x4062BE23, 0x4063C220, 0x40646420, 0x00000003,\n\t0x4062BE24, 0x4063C220, 0x40646420, 0x00000003, 0x4062BE25, 0x4063C220,\n\t0x40646420, 0x00000003, 0x4062BE26, 0x4063C220, 0x40646420, 0x00000003,\n\t0x4062BE27, 0x4063C220, 0x40646420, 0x00000003, 0x4062BE28, 0x4063C220,\n\t0x40646420, 0x00000003, 0x4062BE29, 0x4063C220, 0x40646420, 0x00000003,\n\t0x4062BE2A, 0x4063C220, 0x40646420, 0x00000003, 0x4062BE2B, 0x4063C220,\n\t0x40646420, 0x00000003, 0x4062BE2C, 0x4063C220, 0x40646420, 0x00000003,\n\t0x4062BE2D, 0x4063C220, 0x40646420, 0x00000003, 0x4062BE2E, 0x4063C220,\n\t0x40646420, 0x00000003, 0x4062BE2F, 0x4063C220,\n\t// Block 459, offset 0x72c0\n\t0x40646420, 0x00000003, 0x4062BE30, 0x4063C220, 0x40646420, 0x00000003,\n\t0x4062BE31, 0x4063C220, 0x40646420, 0x00000003, 0x4062BE32, 0x4063C220,\n\t0x40646420, 0x00000003, 0x4062BE33, 0x4063C220, 0x40646420, 0x00000003,\n\t0x4062BE21, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE22, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062BE23, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062BE24, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE25, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062BE26, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062BE27, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE28, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062BE29, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062BE2A, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE2B, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062BE2C, 0x4063C220,\n\t// Block 460, offset 0x7300\n\t0x40646A20, 0x00000003, 0x4062BE2D, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062BE2E, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE2F, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062BE30, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062BE31, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE32, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062BE33, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062BE34, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE35, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062BE36, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062BE37, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE38, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062BE39, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062BE3A, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE3B, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062BE3C, 0x4063C220,\n\t// Block 461, offset 0x7340\n\t0x40646A20, 0x00000003, 0x4062BE3D, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062BE3E, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE3F, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062BE40, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062BE41, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE42, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062BE43, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062BE44, 0x4063C220, 0x40646A20, 0x00000003, 0x4062BE21, 0x4063C220,\n\t0x40647220, 0x00000003, 0x4062BE22, 0x4063C220, 0x40647220, 0x00000003,\n\t0x4062BE23, 0x4063C220, 0x40647220, 0x00000003, 0x4062BE24, 0x4063C220,\n\t0x40647220, 0x00000003, 0x4062BE25, 0x4063C220, 0x40647220, 0x00000003,\n\t0x4062BE21, 0x4063C220, 0x40648C20, 0x00000003, 0x4062BE22, 0x4063C220,\n\t0x40648C20, 0x00000003, 0x4062BE23, 0x4063C220,\n\t// Block 462, offset 0x7380\n\t0x40648C20, 0x00000003, 0x4062BE24, 0x4063C220, 0x40648C20, 0x00000002,\n\t0x4062BE21, 0x4063C820, 0x00000002, 0x4062BE22, 0x4063C820, 0x00000002,\n\t0x4062BE23, 0x4063C820, 0x00000003, 0x4062BE21, 0x4063CC20, 0x40647220,\n\t0x00000003, 0x4062BE22, 0x4063CC20, 0x40647220, 0x00000003, 0x4062BE23,\n\t0x4063CC20, 0x40647220, 0x00000003, 0x4062BE24, 0x4063CC20, 0x40647220,\n\t0x00000003, 0x4062BE21, 0x4063CC20, 0x40648420, 0x00000003, 0x4062BE22,\n\t0x4063CC20, 0x40648420, 0x00000003, 0x4062BE23, 0x4063CC20, 0x40648420,\n\t0x00000003, 0x4062BE24, 0x4063CC20, 0x40648420, 0x00000003, 0x4062BE25,\n\t0x4063CC20, 0x40648420, 0x00000003, 0x4062BE26, 0x4063CC20, 0x40648420,\n\t0x00000003, 0x4062BE27, 0x4063CC20, 0x40648420, 0x00000003, 0x4062BE28,\n\t0x4063CC20, 0x40648420, 0x00000003, 0x4062BE21,\n\t// Block 463, offset 0x73c0\n\t0x4063CC20, 0x40648C20, 0x00000003, 0x4062BE22, 0x4063CC20, 0x40648C20,\n\t0x00000003, 0x4062BE23, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062BE24,\n\t0x4063CC20, 0x40648C20, 0x00000003, 0x4062BE25, 0x4063CC20, 0x40648C20,\n\t0x00000003, 0x4062BE26, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062BE27,\n\t0x4063CC20, 0x40648C20, 0x00000003, 0x4062BE28, 0x4063CC20, 0x40648C20,\n\t0x00000003, 0x4062BE29, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062BE2A,\n\t0x4063CC20, 0x40648C20, 0x00000003, 0x4062BE2B, 0x4063CC20, 0x40648C20,\n\t0x00000003, 0x4062BE2C, 0x4063CC20, 0x40648C20, 0x00000002, 0x4062BE21,\n\t0x4063D020, 0x00000002, 0x4062BE22, 0x4063D020, 0x00000002, 0x4062BE23,\n\t0x4063D020, 0x00000002, 0x4062BE24, 0x4063D020, 0x00000002, 0x4062BE25,\n\t0x4063D020, 0x00000002, 0x4062BE26, 0x4063D020,\n\t// Block 464, offset 0x7400\n\t0x00000002, 0x4062BE27, 0x4063D020, 0x00000002, 0x4062BE28, 0x4063D020,\n\t0x00000002, 0x4062BE29, 0x4063D020, 0x00000002, 0x4062BE2A, 0x4063D020,\n\t0x00000002, 0x4062BE2B, 0x4063D020, 0x00000002, 0x4062BE2C, 0x4063D020,\n\t0x00000002, 0x4062BE2D, 0x4063D020, 0x00000002, 0x4062BE2E, 0x4063D020,\n\t0x00000002, 0x4062BE2F, 0x4063D020, 0x00000002, 0x4062BE30, 0x4063D020,\n\t0x00000002, 0x4062BE31, 0x4063D020, 0x00000002, 0x4062BE32, 0x4063D020,\n\t0x00000002, 0x4062BE33, 0x4063D020, 0x00000002, 0x4062BE34, 0x4063D020,\n\t0x00000002, 0x4062BE35, 0x4063D020, 0x00000002, 0x4062BE36, 0x4063D020,\n\t0x00000002, 0x4062BE37, 0x4063D020, 0x00000002, 0x4062BE38, 0x4063D020,\n\t0x00000002, 0x4062BE39, 0x4063D020, 0x00000002, 0x4062BE3A, 0x4063D020,\n\t0x00000002, 0x4062BE3B, 0x4063D020, 0x00000002,\n\t// Block 465, offset 0x7440\n\t0x4062BE3C, 0x4063D020, 0x00000002, 0x4062BE3D, 0x4063D020, 0x00000002,\n\t0x4062BE3E, 0x4063D020, 0x00000002, 0x4062BE3F, 0x4063D020, 0x00000002,\n\t0x4062BE40, 0x4063D020, 0x00000002, 0x4062BE41, 0x4063D020, 0x00000002,\n\t0x4062BE42, 0x4063D020, 0x00000002, 0x4062BE43, 0x4063D020, 0x00000002,\n\t0x4062BE44, 0x4063D020, 0x00000002, 0x4062BE45, 0x4063D020, 0x00000002,\n\t0x4062BE46, 0x4063D020, 0x00000002, 0x4062BE47, 0x4063D020, 0x00000002,\n\t0x4062BE48, 0x4063D020, 0x00000002, 0x4062BE49, 0x4063D020, 0x00000002,\n\t0x4062BE4A, 0x4063D020, 0x00000002, 0x4062BE4B, 0x4063D020, 0x00000002,\n\t0x4062BE4C, 0x4063D020, 0x00000002, 0x4062BE4D, 0x4063D020, 0x00000003,\n\t0x4062BE21, 0x4063D020, 0x40646420, 0x00000003, 0x4062BE22, 0x4063D020,\n\t0x40646420, 0x00000003, 0x4062BE23, 0x4063D020,\n\t// Block 466, offset 0x7480\n\t0x40646420, 0x00000003, 0x4062BE24, 0x4063D020, 0x40646420, 0x00000003,\n\t0x4062BE25, 0x4063D020, 0x40646420, 0x00000003, 0x4062BE26, 0x4063D020,\n\t0x40646420, 0x00000003, 0x4062BE27, 0x4063D020, 0x40646420, 0x00000003,\n\t0x4062BE28, 0x4063D020, 0x40646420, 0x00000003, 0x4062BE29, 0x4063D020,\n\t0x40646420, 0x00000003, 0x4062BE2A, 0x4063D020, 0x40646420, 0x00000003,\n\t0x4062BE2B, 0x4063D020, 0x40646420, 0x00000003, 0x4062BE2C, 0x4063D020,\n\t0x40646420, 0x00000003, 0x4062BE2D, 0x4063D020, 0x40646420, 0x00000003,\n\t0x4062BE2E, 0x4063D020, 0x40646420, 0x00000003, 0x4062BE2F, 0x4063D020,\n\t0x40646420, 0x00000003, 0x4062BE30, 0x4063D020, 0x40646420, 0x00000003,\n\t0x4062BE31, 0x4063D020, 0x40646420, 0x00000003, 0x4062BE32, 0x4063D020,\n\t0x40646420, 0x00000003, 0x4062BE21, 0x4063D020,\n\t// Block 467, offset 0x74c0\n\t0x40646A20, 0x00000003, 0x4062BE22, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BE23, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BE24, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BE25, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BE26, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BE27, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BE28, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BE29, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BE2A, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BE2B, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BE2C, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BE2D, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BE2E, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BE2F, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BE30, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BE31, 0x4063D020,\n\t// Block 468, offset 0x7500\n\t0x40646A20, 0x00000003, 0x4062BE32, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BE33, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BE34, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BE35, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BE36, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BE37, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BE38, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BE39, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BE3A, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BE3B, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BE3C, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BE3D, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BE3E, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062BE3F, 0x4063D020, 0x40646A20, 0x00000003, 0x4062BE40, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062BE41, 0x4063D020,\n\t// Block 469, offset 0x7540\n\t0x40646A20, 0x00000003, 0x4062BE21, 0x4063D020, 0x40647220, 0x00000003,\n\t0x4062BE22, 0x4063D020, 0x40647220, 0x00000003, 0x4062BE23, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062BE24, 0x4063D020, 0x40647220, 0x00000003,\n\t0x4062BE25, 0x4063D020, 0x40647220, 0x00000003, 0x4062BE26, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062BE21, 0x4063D020, 0x40648220, 0x00000003,\n\t0x4062BE22, 0x4063D020, 0x40648220, 0x00000003, 0x4062BE23, 0x4063D020,\n\t0x40648220, 0x00000003, 0x4062BE24, 0x4063D020, 0x40648220, 0x00000003,\n\t0x4062BE25, 0x4063D020, 0x40648220, 0x00000003, 0x4062BE26, 0x4063D020,\n\t0x40648220, 0x00000003, 0x4062BE27, 0x4063D020, 0x40648220, 0x00000003,\n\t0x4062BE28, 0x4063D020, 0x40648220, 0x00000003, 0x4062BE29, 0x4063D020,\n\t0x40648220, 0x00000003, 0x4062BE2A, 0x4063D020,\n\t// Block 470, offset 0x7580\n\t0x40648220, 0x00000003, 0x4062BE2B, 0x4063D020, 0x40648220, 0x00000003,\n\t0x4062BE2C, 0x4063D020, 0x40648220, 0x00000003, 0x4062BE2D, 0x4063D020,\n\t0x40648220, 0x00000003, 0x4062BE2E, 0x4063D020, 0x40648220, 0x00000003,\n\t0x4062BE2F, 0x4063D020, 0x40648220, 0x00000003, 0x4062BE21, 0x4063D020,\n\t0x40648420, 0x00000003, 0x4062BE22, 0x4063D020, 0x40648420, 0x00000003,\n\t0x4062BE23, 0x4063D020, 0x40648420, 0x00000003, 0x4062C021, 0x4063A820,\n\t0x40648C20, 0x00000002, 0x4062C021, 0x4063D020, 0x00000002, 0x4062C221,\n\t0x4063A820, 0x00000002, 0x4062C222, 0x4063A820, 0x00000002, 0x4062C223,\n\t0x4063A820, 0x00000002, 0x4062C224, 0x4063A820, 0x00000002, 0x4062C225,\n\t0x4063A820, 0x00000002, 0x4062C226, 0x4063A820, 0x00000002, 0x4062C227,\n\t0x4063A820, 0x00000002, 0x4062C228, 0x4063A820,\n\t// Block 471, offset 0x75c0\n\t0x00000002, 0x4062C229, 0x4063A820, 0x00000002, 0x4062C22A, 0x4063A820,\n\t0x00000002, 0x4062C22B, 0x4063A820, 0x00000002, 0x4062C22C, 0x4063A820,\n\t0x00000002, 0x4062C22D, 0x4063A820, 0x00000002, 0x4062C22E, 0x4063A820,\n\t0x00000002, 0x4062C22F, 0x4063A820, 0x00000002, 0x4062C230, 0x4063A820,\n\t0x00000002, 0x4062C231, 0x4063A820, 0x00000002, 0x4062C232, 0x4063A820,\n\t0x00000002, 0x4062C233, 0x4063A820, 0x00000002, 0x4062C234, 0x4063A820,\n\t0x00000002, 0x4062C235, 0x4063A820, 0x00000002, 0x4062C236, 0x4063A820,\n\t0x00000002, 0x4062C237, 0x4063A820, 0x00000002, 0x4062C238, 0x4063A820,\n\t0x00000002, 0x4062C239, 0x4063A820, 0x00000002, 0x4062C23A, 0x4063A820,\n\t0x00000002, 0x4062C23B, 0x4063A820, 0x00000002, 0x4062C23C, 0x4063A820,\n\t0x00000002, 0x4062C23D, 0x4063A820, 0x00000003,\n\t// Block 472, offset 0x7600\n\t0x4062C221, 0x4063A820, 0x40646420, 0x00000003, 0x4062C222, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062C223, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062C224, 0x4063A820, 0x40646420, 0x00000003, 0x4062C225, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062C226, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062C227, 0x4063A820, 0x40646420, 0x00000003, 0x4062C228, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062C229, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062C22A, 0x4063A820, 0x40646420, 0x00000003, 0x4062C22B, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062C22C, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062C22D, 0x4063A820, 0x40646420, 0x00000003, 0x4062C22E, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062C22F, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062C230, 0x4063A820, 0x40646420, 0x00000003,\n\t// Block 473, offset 0x7640\n\t0x4062C231, 0x4063A820, 0x40646420, 0x00000003, 0x4062C232, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062C233, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062C234, 0x4063A820, 0x40646420, 0x00000003, 0x4062C235, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062C236, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062C237, 0x4063A820, 0x40646420, 0x00000003, 0x4062C238, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062C239, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062C221, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C222, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062C223, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062C224, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C225, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062C226, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062C227, 0x4063A820, 0x40646A20, 0x00000003,\n\t// Block 474, offset 0x7680\n\t0x4062C228, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C229, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062C22A, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062C22B, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C22C, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062C22D, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062C22E, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C221, 0x4063A820,\n\t0x40647220, 0x00000003, 0x4062C222, 0x4063A820, 0x40647220, 0x00000003,\n\t0x4062C223, 0x4063A820, 0x40647220, 0x00000003, 0x4062C224, 0x4063A820,\n\t0x40647220, 0x00000003, 0x4062C225, 0x4063A820, 0x40647220, 0x00000003,\n\t0x4062C226, 0x4063A820, 0x40647220, 0x00000003, 0x4062C227, 0x4063A820,\n\t0x40647220, 0x00000003, 0x4062C228, 0x4063A820, 0x40647220, 0x00000003,\n\t0x4062C229, 0x4063A820, 0x40647220, 0x00000003,\n\t// Block 475, offset 0x76c0\n\t0x4062C22A, 0x4063A820, 0x40647220, 0x00000003, 0x4062C22B, 0x4063A820,\n\t0x40647220, 0x00000003, 0x4062C22C, 0x4063A820, 0x40647220, 0x00000003,\n\t0x4062C221, 0x4063A820, 0x40648220, 0x00000003, 0x4062C222, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062C223, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062C224, 0x4063A820, 0x40648220, 0x00000003, 0x4062C225, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062C226, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062C227, 0x4063A820, 0x40648220, 0x00000003, 0x4062C228, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062C229, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062C22A, 0x4063A820, 0x40648220, 0x00000003, 0x4062C22B, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062C22C, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062C22D, 0x4063A820, 0x40648220, 0x00000003,\n\t// Block 476, offset 0x7700\n\t0x4062C22E, 0x4063A820, 0x40648220, 0x00000003, 0x4062C22F, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062C230, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062C231, 0x4063A820, 0x40648220, 0x00000003, 0x4062C232, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062C233, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062C221, 0x4063A820, 0x40648420, 0x00000003, 0x4062C222, 0x4063A820,\n\t0x40648420, 0x00000003, 0x4062C223, 0x4063A820, 0x40648420, 0x00000003,\n\t0x4062C224, 0x4063A820, 0x40648420, 0x00000003, 0x4062C221, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062C222, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062C223, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C224, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062C225, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062C226, 0x4063A820, 0x40648C20, 0x00000003,\n\t// Block 477, offset 0x7740\n\t0x4062C227, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C228, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062C229, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062C22A, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C22B, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062C22C, 0x4063A820, 0x40648C20, 0x00000002,\n\t0x4062C221, 0x4063AA20, 0x00000002, 0x4062C222, 0x4063AA20, 0x00000002,\n\t0x4062C223, 0x4063AA20, 0x00000002, 0x4062C224, 0x4063AA20, 0x00000002,\n\t0x4062C225, 0x4063AA20, 0x00000002, 0x4062C226, 0x4063AA20, 0x00000002,\n\t0x4062C227, 0x4063AA20, 0x00000002, 0x4062C228, 0x4063AA20, 0x00000002,\n\t0x4062C229, 0x4063AA20, 0x00000002, 0x4062C22A, 0x4063AA20, 0x00000002,\n\t0x4062C22B, 0x4063AA20, 0x00000002, 0x4062C22C, 0x4063AA20, 0x00000002,\n\t0x4062C22D, 0x4063AA20, 0x00000002, 0x4062C22E,\n\t// Block 478, offset 0x7780\n\t0x4063AA20, 0x00000002, 0x4062C22F, 0x4063AA20, 0x00000002, 0x4062C230,\n\t0x4063AA20, 0x00000002, 0x4062C231, 0x4063AA20, 0x00000002, 0x4062C232,\n\t0x4063AA20, 0x00000002, 0x4062C233, 0x4063AA20, 0x00000002, 0x4062C234,\n\t0x4063AA20, 0x00000002, 0x4062C235, 0x4063AA20, 0x00000002, 0x4062C236,\n\t0x4063AA20, 0x00000002, 0x4062C237, 0x4063AA20, 0x00000002, 0x4062C238,\n\t0x4063AA20, 0x00000002, 0x4062C239, 0x4063AA20, 0x00000002, 0x4062C23A,\n\t0x4063AA20, 0x00000002, 0x4062C23B, 0x4063AA20, 0x00000002, 0x4062C23C,\n\t0x4063AA20, 0x00000002, 0x4062C23D, 0x4063AA20, 0x00000002, 0x4062C23E,\n\t0x4063AA20, 0x00000002, 0x4062C23F, 0x4063AA20, 0x00000003, 0x4062C221,\n\t0x4063AA20, 0x40646420, 0x00000003, 0x4062C222, 0x4063AA20, 0x40646420,\n\t0x00000003, 0x4062C223, 0x4063AA20, 0x40646420,\n\t// Block 479, offset 0x77c0\n\t0x00000003, 0x4062C224, 0x4063AA20, 0x40646420, 0x00000003, 0x4062C225,\n\t0x4063AA20, 0x40646420, 0x00000003, 0x4062C226, 0x4063AA20, 0x40646420,\n\t0x00000003, 0x4062C227, 0x4063AA20, 0x40646420, 0x00000003, 0x4062C228,\n\t0x4063AA20, 0x40646420, 0x00000003, 0x4062C229, 0x4063AA20, 0x40646420,\n\t0x00000003, 0x4062C22A, 0x4063AA20, 0x40646420, 0x00000003, 0x4062C22B,\n\t0x4063AA20, 0x40646420, 0x00000003, 0x4062C221, 0x4063AA20, 0x40648C20,\n\t0x00000003, 0x4062C222, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062C223,\n\t0x4063AA20, 0x40648C20, 0x00000003, 0x4062C224, 0x4063AA20, 0x40648C20,\n\t0x00000003, 0x4062C225, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062C226,\n\t0x4063AA20, 0x40648C20, 0x00000003, 0x4062C227, 0x4063AA20, 0x40648C20,\n\t0x00000003, 0x4062C228, 0x4063AA20, 0x40648C20,\n\t// Block 480, offset 0x7800\n\t0x00000002, 0x4062C221, 0x4063AC20, 0x00000002, 0x4062C222, 0x4063AC20,\n\t0x00000002, 0x4062C223, 0x4063AC20, 0x00000002, 0x4062C224, 0x4063AC20,\n\t0x00000002, 0x4062C225, 0x4063AC20, 0x00000002, 0x4062C226, 0x4063AC20,\n\t0x00000002, 0x4062C227, 0x4063AC20, 0x00000002, 0x4062C228, 0x4063AC20,\n\t0x00000002, 0x4062C229, 0x4063AC20, 0x00000002, 0x4062C22A, 0x4063AC20,\n\t0x00000002, 0x4062C22B, 0x4063AC20, 0x00000003, 0x4062C221, 0x4063AC20,\n\t0x40646420, 0x00000003, 0x4062C222, 0x4063AC20, 0x40646420, 0x00000003,\n\t0x4062C223, 0x4063AC20, 0x40646420, 0x00000003, 0x4062C224, 0x4063AC20,\n\t0x40646420, 0x00000003, 0x4062C225, 0x4063AC20, 0x40646420, 0x00000003,\n\t0x4062C226, 0x4063AC20, 0x40646420, 0x00000003, 0x4062C227, 0x4063AC20,\n\t0x40646420, 0x00000003, 0x4062C228, 0x4063AC20,\n\t// Block 481, offset 0x7840\n\t0x40646420, 0x00000003, 0x4062C229, 0x4063AC20, 0x40646420, 0x00000003,\n\t0x4062C22A, 0x4063AC20, 0x40646420, 0x00000003, 0x4062C22B, 0x4063AC20,\n\t0x40646420, 0x00000003, 0x4062C22C, 0x4063AC20, 0x40646420, 0x00000003,\n\t0x4062C22D, 0x4063AC20, 0x40646420, 0x00000003, 0x4062C22E, 0x4063AC20,\n\t0x40646420, 0x00000003, 0x4062C22F, 0x4063AC20, 0x40646420, 0x00000003,\n\t0x4062C221, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062C222, 0x4063AC20,\n\t0x40648C20, 0x00000003, 0x4062C223, 0x4063AC20, 0x40648C20, 0x00000003,\n\t0x4062C224, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062C225, 0x4063AC20,\n\t0x40648C20, 0x00000003, 0x4062C226, 0x4063AC20, 0x40648C20, 0x00000003,\n\t0x4062C227, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062C228, 0x4063AC20,\n\t0x40648C20, 0x00000003, 0x4062C229, 0x4063AC20,\n\t// Block 482, offset 0x7880\n\t0x40648C20, 0x00000003, 0x4062C22A, 0x4063AC20, 0x40648C20, 0x00000003,\n\t0x4062C22B, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062C22C, 0x4063AC20,\n\t0x40648C20, 0x00000003, 0x4062C22D, 0x4063AC20, 0x40648C20, 0x00000003,\n\t0x4062C22E, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062C22F, 0x4063AC20,\n\t0x40648C20, 0x00000003, 0x4062C230, 0x4063AC20, 0x40648C20, 0x00000003,\n\t0x4062C231, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062C232, 0x4063AC20,\n\t0x40648C20, 0x00000003, 0x4062C233, 0x4063AC20, 0x40648C20, 0x00000003,\n\t0x4062C234, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062C235, 0x4063AC20,\n\t0x40648C20, 0x00000003, 0x4062C236, 0x4063AC20, 0x40648C20, 0x00000003,\n\t0x4062C237, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062C238, 0x4063AC20,\n\t0x40648C20, 0x00000003, 0x4062C239, 0x4063AC20,\n\t// Block 483, offset 0x78c0\n\t0x40648C20, 0x00000003, 0x4062C23A, 0x4063AC20, 0x40648C20, 0x00000003,\n\t0x4062C23B, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062C23C, 0x4063AC20,\n\t0x40648C20, 0x00000003, 0x4062C23D, 0x4063AC20, 0x40648C20, 0x00000003,\n\t0x4062C23E, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062C23F, 0x4063AC20,\n\t0x40648C20, 0x00000003, 0x4062C240, 0x4063AC20, 0x40648C20, 0x00000003,\n\t0x4062C241, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062C242, 0x4063AC20,\n\t0x40648C20, 0x00000002, 0x4062C221, 0x4063B020, 0x00000002, 0x4062C222,\n\t0x4063B020, 0x00000002, 0x4062C223, 0x4063B020, 0x00000002, 0x4062C224,\n\t0x4063B020, 0x00000002, 0x4062C225, 0x4063B020, 0x00000002, 0x4062C226,\n\t0x4063B020, 0x00000002, 0x4062C227, 0x4063B020, 0x00000002, 0x4062C228,\n\t0x4063B020, 0x00000002, 0x4062C229, 0x4063B020,\n\t// Block 484, offset 0x7900\n\t0x00000002, 0x4062C22A, 0x4063B020, 0x00000002, 0x4062C22B, 0x4063B020,\n\t0x00000002, 0x4062C22C, 0x4063B020, 0x00000002, 0x4062C22D, 0x4063B020,\n\t0x00000002, 0x4062C22E, 0x4063B020, 0x00000003, 0x4062C221, 0x4063B020,\n\t0x40646420, 0x00000003, 0x4062C222, 0x4063B020, 0x40646420, 0x00000003,\n\t0x4062C223, 0x4063B020, 0x40646420, 0x00000003, 0x4062C224, 0x4063B020,\n\t0x40646420, 0x00000003, 0x4062C225, 0x4063B020, 0x40646420, 0x00000003,\n\t0x4062C226, 0x4063B020, 0x40646420, 0x00000003, 0x4062C221, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C222, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C223, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C224, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C225, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C226, 0x4063B020, 0x40646A20, 0x00000003,\n\t// Block 485, offset 0x7940\n\t0x4062C227, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C228, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C229, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C22A, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C22B, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C22C, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C22D, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C221, 0x4063B020,\n\t0x40647220, 0x00000003, 0x4062C222, 0x4063B020, 0x40647220, 0x00000003,\n\t0x4062C223, 0x4063B020, 0x40647220, 0x00000003, 0x4062C221, 0x4063B020,\n\t0x40648220, 0x00000003, 0x4062C222, 0x4063B020, 0x40648220, 0x00000003,\n\t0x4062C223, 0x4063B020, 0x40648220, 0x00000003, 0x4062C224, 0x4063B020,\n\t0x40648220, 0x00000003, 0x4062C225, 0x4063B020, 0x40648220, 0x00000003,\n\t0x4062C226, 0x4063B020, 0x40648220, 0x00000003,\n\t// Block 486, offset 0x7980\n\t0x4062C227, 0x4063B020, 0x40648220, 0x00000003, 0x4062C228, 0x4063B020,\n\t0x40648220, 0x00000003, 0x4062C229, 0x4063B020, 0x40648220, 0x00000003,\n\t0x4062C22A, 0x4063B020, 0x40648220, 0x00000003, 0x4062C22B, 0x4063B020,\n\t0x40648220, 0x00000003, 0x4062C22C, 0x4063B020, 0x40648220, 0x00000003,\n\t0x4062C221, 0x4063B020, 0x40648420, 0x00000003, 0x4062C222, 0x4063B020,\n\t0x40648420, 0x00000003, 0x4062C223, 0x4063B020, 0x40648420, 0x00000003,\n\t0x4062C224, 0x4063B020, 0x40648420, 0x00000002, 0x4062C221, 0x4063B220,\n\t0x00000002, 0x4062C222, 0x4063B220, 0x00000003, 0x4062C221, 0x4063B220,\n\t0x40646A20, 0x00000002, 0x4062C221, 0x4063B420, 0x00000002, 0x4062C222,\n\t0x4063B420, 0x00000002, 0x4062C223, 0x4063B420, 0x00000002, 0x4062C224,\n\t0x4063B420, 0x00000002, 0x4062C225, 0x4063B420,\n\t// Block 487, offset 0x79c0\n\t0x00000002, 0x4062C226, 0x4063B420, 0x00000002, 0x4062C227, 0x4063B420,\n\t0x00000002, 0x4062C228, 0x4063B420, 0x00000002, 0x4062C229, 0x4063B420,\n\t0x00000002, 0x4062C22A, 0x4063B420, 0x00000002, 0x4062C22B, 0x4063B420,\n\t0x00000002, 0x4062C22C, 0x4063B420, 0x00000002, 0x4062C22D, 0x4063B420,\n\t0x00000002, 0x4062C22E, 0x4063B420, 0x00000003, 0x4062C221, 0x4063B420,\n\t0x40646420, 0x00000003, 0x4062C222, 0x4063B420, 0x40646420, 0x00000003,\n\t0x4062C223, 0x4063B420, 0x40646420, 0x00000003, 0x4062C224, 0x4063B420,\n\t0x40646420, 0x00000003, 0x4062C225, 0x4063B420, 0x40646420, 0x00000003,\n\t0x4062C226, 0x4063B420, 0x40646420, 0x00000003, 0x4062C227, 0x4063B420,\n\t0x40646420, 0x00000003, 0x4062C228, 0x4063B420, 0x40646420, 0x00000003,\n\t0x4062C229, 0x4063B420, 0x40646420, 0x00000003,\n\t// Block 488, offset 0x7a00\n\t0x4062C22A, 0x4063B420, 0x40646420, 0x00000003, 0x4062C22B, 0x4063B420,\n\t0x40646420, 0x00000003, 0x4062C22C, 0x4063B420, 0x40646420, 0x00000003,\n\t0x4062C22D, 0x4063B420, 0x40646420, 0x00000003, 0x4062C221, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062C222, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062C223, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C224, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062C225, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062C226, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C227, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062C228, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062C229, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C22A, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062C22B, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062C22C, 0x4063B420, 0x40646A20, 0x00000003,\n\t// Block 489, offset 0x7a40\n\t0x4062C22D, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C22E, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062C22F, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062C230, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C231, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062C232, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062C233, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C234, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062C235, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062C236, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C237, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062C238, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062C239, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C23A, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062C23B, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062C23C, 0x4063B420, 0x40646A20, 0x00000003,\n\t// Block 490, offset 0x7a80\n\t0x4062C23D, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C23E, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062C23F, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062C240, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C241, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062C242, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062C243, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C244, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062C245, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062C246, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C247, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062C248, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062C249, 0x4063B420, 0x40646A20, 0x00000003, 0x4062C24A, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062C24B, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062C24C, 0x4063B420, 0x40646A20, 0x00000003,\n\t// Block 491, offset 0x7ac0\n\t0x4062C221, 0x4063B420, 0x40647220, 0x00000003, 0x4062C222, 0x4063B420,\n\t0x40647220, 0x00000003, 0x4062C223, 0x4063B420, 0x40647220, 0x00000003,\n\t0x4062C224, 0x4063B420, 0x40647220, 0x00000003, 0x4062C225, 0x4063B420,\n\t0x40647220, 0x00000003, 0x4062C221, 0x4063B420, 0x40648220, 0x00000003,\n\t0x4062C222, 0x4063B420, 0x40648220, 0x00000003, 0x4062C223, 0x4063B420,\n\t0x40648220, 0x00000003, 0x4062C224, 0x4063B420, 0x40648220, 0x00000003,\n\t0x4062C225, 0x4063B420, 0x40648220, 0x00000003, 0x4062C226, 0x4063B420,\n\t0x40648220, 0x00000003, 0x4062C227, 0x4063B420, 0x40648220, 0x00000003,\n\t0x4062C228, 0x4063B420, 0x40648220, 0x00000003, 0x4062C229, 0x4063B420,\n\t0x40648220, 0x00000003, 0x4062C22A, 0x4063B420, 0x40648220, 0x00000003,\n\t0x4062C22B, 0x4063B420, 0x40648220, 0x00000003,\n\t// Block 492, offset 0x7b00\n\t0x4062C22C, 0x4063B420, 0x40648220, 0x00000003, 0x4062C22D, 0x4063B420,\n\t0x40648220, 0x00000003, 0x4062C22E, 0x4063B420, 0x40648220, 0x00000003,\n\t0x4062C22F, 0x4063B420, 0x40648220, 0x00000003, 0x4062C230, 0x4063B420,\n\t0x40648220, 0x00000003, 0x4062C231, 0x4063B420, 0x40648220, 0x00000003,\n\t0x4062C232, 0x4063B420, 0x40648220, 0x00000003, 0x4062C233, 0x4063B420,\n\t0x40648220, 0x00000003, 0x4062C234, 0x4063B420, 0x40648220, 0x00000003,\n\t0x4062C235, 0x4063B420, 0x40648220, 0x00000003, 0x4062C236, 0x4063B420,\n\t0x40648220, 0x00000003, 0x4062C221, 0x4063B420, 0x40648420, 0x00000003,\n\t0x4062C222, 0x4063B420, 0x40648420, 0x00000003, 0x4062C223, 0x4063B420,\n\t0x40648420, 0x00000003, 0x4062C224, 0x4063B420, 0x40648420, 0x00000003,\n\t0x4062C225, 0x4063B420, 0x40648420, 0x00000003,\n\t// Block 493, offset 0x7b40\n\t0x4062C226, 0x4063B420, 0x40648420, 0x00000003, 0x4062C227, 0x4063B420,\n\t0x40648420, 0x00000003, 0x4062C221, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062C222, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C223, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062C224, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062C225, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C226, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062C227, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062C228, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C229, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062C22A, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062C22B, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C22C, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062C22D, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062C22E, 0x4063B420, 0x40648C20, 0x00000003,\n\t// Block 494, offset 0x7b80\n\t0x4062C22F, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C230, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062C231, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062C232, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C233, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062C234, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062C235, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C236, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062C237, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062C238, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C239, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062C23A, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062C23B, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C23C, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062C23D, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062C23E, 0x4063B420, 0x40648C20, 0x00000003,\n\t// Block 495, offset 0x7bc0\n\t0x4062C23F, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C240, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062C241, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062C242, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C243, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062C244, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062C245, 0x4063B420, 0x40648C20, 0x00000003, 0x4062C246, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062C247, 0x4063B420, 0x40648C20, 0x00000002,\n\t0x4062C221, 0x4063B620, 0x00000002, 0x4062C222, 0x4063B620, 0x00000002,\n\t0x4062C223, 0x4063B620, 0x00000002, 0x4062C224, 0x4063B620, 0x00000002,\n\t0x4062C225, 0x4063B620, 0x00000002, 0x4062C226, 0x4063B620, 0x00000002,\n\t0x4062C227, 0x4063B620, 0x00000002, 0x4062C228, 0x4063B620, 0x00000002,\n\t0x4062C229, 0x4063B620, 0x00000002, 0x4062C22A,\n\t// Block 496, offset 0x7c00\n\t0x4063B620, 0x00000002, 0x4062C22B, 0x4063B620, 0x00000002, 0x4062C22C,\n\t0x4063B620, 0x00000002, 0x4062C22D, 0x4063B620, 0x00000002, 0x4062C22E,\n\t0x4063B620, 0x00000002, 0x4062C22F, 0x4063B620, 0x00000002, 0x4062C230,\n\t0x4063B620, 0x00000002, 0x4062C231, 0x4063B620, 0x00000002, 0x4062C232,\n\t0x4063B620, 0x00000002, 0x4062C233, 0x4063B620, 0x00000002, 0x4062C234,\n\t0x4063B620, 0x00000002, 0x4062C235, 0x4063B620, 0x00000002, 0x4062C236,\n\t0x4063B620, 0x00000002, 0x4062C237, 0x4063B620, 0x00000002, 0x4062C238,\n\t0x4063B620, 0x00000002, 0x4062C239, 0x4063B620, 0x00000002, 0x4062C23A,\n\t0x4063B620, 0x00000002, 0x4062C23B, 0x4063B620, 0x00000002, 0x4062C23C,\n\t0x4063B620, 0x00000002, 0x4062C23D, 0x4063B620, 0x00000002, 0x4062C23E,\n\t0x4063B620, 0x00000002, 0x4062C23F, 0x4063B620,\n\t// Block 497, offset 0x7c40\n\t0x00000002, 0x4062C240, 0x4063B620, 0x00000002, 0x4062C241, 0x4063B620,\n\t0x00000002, 0x4062C242, 0x4063B620, 0x00000002, 0x4062C243, 0x4063B620,\n\t0x00000002, 0x4062C244, 0x4063B620, 0x00000002, 0x4062C245, 0x4063B620,\n\t0x00000002, 0x4062C246, 0x4063B620, 0x00000002, 0x4062C247, 0x4063B620,\n\t0x00000002, 0x4062C221, 0x4063B820, 0x00000002, 0x4062C222, 0x4063B820,\n\t0x00000002, 0x4062C223, 0x4063B820, 0x00000002, 0x4062C224, 0x4063B820,\n\t0x00000002, 0x4062C225, 0x4063B820, 0x00000002, 0x4062C226, 0x4063B820,\n\t0x00000002, 0x4062C227, 0x4063B820, 0x00000002, 0x4062C228, 0x4063B820,\n\t0x00000002, 0x4062C229, 0x4063B820, 0x00000002, 0x4062C22A, 0x4063B820,\n\t0x00000002, 0x4062C22B, 0x4063B820, 0x00000002, 0x4062C22C, 0x4063B820,\n\t0x00000002, 0x4062C22D, 0x4063B820, 0x00000002,\n\t// Block 498, offset 0x7c80\n\t0x4062C22E, 0x4063B820, 0x00000002, 0x4062C22F, 0x4063B820, 0x00000002,\n\t0x4062C230, 0x4063B820, 0x00000002, 0x4062C231, 0x4063B820, 0x00000002,\n\t0x4062C232, 0x4063B820, 0x00000002, 0x4062C233, 0x4063B820, 0x00000002,\n\t0x4062C234, 0x4063B820, 0x00000002, 0x4062C235, 0x4063B820, 0x00000002,\n\t0x4062C236, 0x4063B820, 0x00000002, 0x4062C237, 0x4063B820, 0x00000002,\n\t0x4062C238, 0x4063B820, 0x00000002, 0x4062C239, 0x4063B820, 0x00000002,\n\t0x4062C23A, 0x4063B820, 0x00000002, 0x4062C23B, 0x4063B820, 0x00000002,\n\t0x4062C23C, 0x4063B820, 0x00000002, 0x4062C23D, 0x4063B820, 0x00000002,\n\t0x4062C23E, 0x4063B820, 0x00000002, 0x4062C23F, 0x4063B820, 0x00000002,\n\t0x4062C240, 0x4063B820, 0x00000002, 0x4062C241, 0x4063B820, 0x00000002,\n\t0x4062C242, 0x4063B820, 0x00000002, 0x4062C243,\n\t// Block 499, offset 0x7cc0\n\t0x4063B820, 0x00000002, 0x4062C244, 0x4063B820, 0x00000002, 0x4062C245,\n\t0x4063B820, 0x00000002, 0x4062C246, 0x4063B820, 0x00000002, 0x4062C247,\n\t0x4063B820, 0x00000002, 0x4062C248, 0x4063B820, 0x00000002, 0x4062C249,\n\t0x4063B820, 0x00000002, 0x4062C24A, 0x4063B820, 0x00000002, 0x4062C24B,\n\t0x4063B820, 0x00000002, 0x4062C24C, 0x4063B820, 0x00000002, 0x4062C24D,\n\t0x4063B820, 0x00000002, 0x4062C24E, 0x4063B820, 0x00000002, 0x4062C24F,\n\t0x4063B820, 0x00000002, 0x4062C250, 0x4063B820, 0x00000002, 0x4062C251,\n\t0x4063B820, 0x00000002, 0x4062C252, 0x4063B820, 0x00000002, 0x4062C253,\n\t0x4063B820, 0x00000002, 0x4062C254, 0x4063B820, 0x00000002, 0x4062C255,\n\t0x4063B820, 0x00000002, 0x4062C256, 0x4063B820, 0x00000003, 0x4062C221,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062C222,\n\t// Block 500, offset 0x7d00\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062C223, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062C224, 0x4063B820, 0x40646420, 0x00000003, 0x4062C225,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062C221, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062C222, 0x4063B820, 0x40646A20, 0x00000003, 0x4062C223,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062C224, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062C225, 0x4063B820, 0x40646A20, 0x00000003, 0x4062C226,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062C227, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062C228, 0x4063B820, 0x40646A20, 0x00000003, 0x4062C229,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062C22A, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062C22B, 0x4063B820, 0x40646A20, 0x00000003, 0x4062C22C,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062C22D,\n\t// Block 501, offset 0x7d40\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062C22E, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062C22F, 0x4063B820, 0x40646A20, 0x00000003, 0x4062C230,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062C231, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062C221, 0x4063B820, 0x40647220, 0x00000003, 0x4062C222,\n\t0x4063B820, 0x40647220, 0x00000003, 0x4062C223, 0x4063B820, 0x40647220,\n\t0x00000003, 0x4062C221, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C222,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062C223, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062C224, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C225,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062C226, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062C227, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C228,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062C229,\n\t// Block 502, offset 0x7d80\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062C22A, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062C22B, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C22C,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062C22D, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062C22E, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C22F,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062C230, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062C231, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C232,\n\t0x4063B820, 0x40648C20, 0x00000002, 0x4062C221, 0x4063BA20, 0x00000002,\n\t0x4062C222, 0x4063BA20, 0x00000002, 0x4062C223, 0x4063BA20, 0x00000002,\n\t0x4062C224, 0x4063BA20, 0x00000002, 0x4062C225, 0x4063BA20, 0x00000002,\n\t0x4062C226, 0x4063BA20, 0x00000002, 0x4062C227, 0x4063BA20, 0x00000002,\n\t0x4062C228, 0x4063BA20, 0x00000002, 0x4062C229,\n\t// Block 503, offset 0x7dc0\n\t0x4063BA20, 0x00000002, 0x4062C22A, 0x4063BA20, 0x00000002, 0x4062C22B,\n\t0x4063BA20, 0x00000002, 0x4062C22C, 0x4063BA20, 0x00000002, 0x4062C22D,\n\t0x4063BA20, 0x00000002, 0x4062C22E, 0x4063BA20, 0x00000002, 0x4062C22F,\n\t0x4063BA20, 0x00000002, 0x4062C230, 0x4063BA20, 0x00000002, 0x4062C231,\n\t0x4063BA20, 0x00000003, 0x4062C221, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062C222, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062C223, 0x4063BA20,\n\t0x40646A20, 0x00000003, 0x4062C224, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062C225, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062C226, 0x4063BA20,\n\t0x40646A20, 0x00000003, 0x4062C227, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062C228, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062C229, 0x4063BA20,\n\t0x40646A20, 0x00000003, 0x4062C22A, 0x4063BA20,\n\t// Block 504, offset 0x7e00\n\t0x40646A20, 0x00000003, 0x4062C22B, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062C22C, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062C22D, 0x4063BA20,\n\t0x40646A20, 0x00000003, 0x4062C22E, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062C22F, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062C230, 0x4063BA20,\n\t0x40646A20, 0x00000003, 0x4062C231, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062C232, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062C233, 0x4063BA20,\n\t0x40646A20, 0x00000003, 0x4062C234, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062C235, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062C236, 0x4063BA20,\n\t0x40646A20, 0x00000003, 0x4062C237, 0x4063BA20, 0x40646A20, 0x00000003,\n\t0x4062C238, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062C239, 0x4063BA20,\n\t0x40646A20, 0x00000003, 0x4062C23A, 0x4063BA20,\n\t// Block 505, offset 0x7e40\n\t0x40646A20, 0x00000003, 0x4062C221, 0x4063BA20, 0x40647220, 0x00000003,\n\t0x4062C221, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062C222, 0x4063BA20,\n\t0x40648C20, 0x00000003, 0x4062C223, 0x4063BA20, 0x40648C20, 0x00000003,\n\t0x4062C224, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062C225, 0x4063BA20,\n\t0x40648C20, 0x00000003, 0x4062C226, 0x4063BA20, 0x40648C20, 0x00000003,\n\t0x4062C227, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062C228, 0x4063BA20,\n\t0x40648C20, 0x00000002, 0x4062C221, 0x4063BC20, 0x00000002, 0x4062C222,\n\t0x4063BC20, 0x00000002, 0x4062C223, 0x4063BC20, 0x00000002, 0x4062C224,\n\t0x4063BC20, 0x00000002, 0x4062C225, 0x4063BC20, 0x00000002, 0x4062C221,\n\t0x4063BE20, 0x00000002, 0x4062C222, 0x4063BE20, 0x00000002, 0x4062C223,\n\t0x4063BE20, 0x00000002, 0x4062C224, 0x4063BE20,\n\t// Block 506, offset 0x7e80\n\t0x00000002, 0x4062C225, 0x4063BE20, 0x00000002, 0x4062C226, 0x4063BE20,\n\t0x00000002, 0x4062C227, 0x4063BE20, 0x00000002, 0x4062C228, 0x4063BE20,\n\t0x00000002, 0x4062C229, 0x4063BE20, 0x00000002, 0x4062C22A, 0x4063BE20,\n\t0x00000002, 0x4062C22B, 0x4063BE20, 0x00000002, 0x4062C22C, 0x4063BE20,\n\t0x00000002, 0x4062C22D, 0x4063BE20, 0x00000002, 0x4062C22E, 0x4063BE20,\n\t0x00000002, 0x4062C221, 0x4063C020, 0x00000002, 0x4062C222, 0x4063C020,\n\t0x00000002, 0x4062C223, 0x4063C020, 0x00000002, 0x4062C224, 0x4063C020,\n\t0x00000002, 0x4062C225, 0x4063C020, 0x00000002, 0x4062C226, 0x4063C020,\n\t0x00000002, 0x4062C227, 0x4063C020, 0x00000002, 0x4062C228, 0x4063C020,\n\t0x00000002, 0x4062C229, 0x4063C020, 0x00000002, 0x4062C22A, 0x4063C020,\n\t0x00000002, 0x4062C22B, 0x4063C020, 0x00000002,\n\t// Block 507, offset 0x7ec0\n\t0x4062C22C, 0x4063C020, 0x00000002, 0x4062C22D, 0x4063C020, 0x00000002,\n\t0x4062C22E, 0x4063C020, 0x00000002, 0x4062C22F, 0x4063C020, 0x00000002,\n\t0x4062C230, 0x4063C020, 0x00000002, 0x4062C231, 0x4063C020, 0x00000002,\n\t0x4062C232, 0x4063C020, 0x00000002, 0x4062C233, 0x4063C020, 0x00000002,\n\t0x4062C234, 0x4063C020, 0x00000002, 0x4062C235, 0x4063C020, 0x00000002,\n\t0x4062C236, 0x4063C020, 0x00000002, 0x4062C237, 0x4063C020, 0x00000002,\n\t0x4062C238, 0x4063C020, 0x00000002, 0x4062C239, 0x4063C020, 0x00000002,\n\t0x4062C23A, 0x4063C020, 0x00000002, 0x4062C23B, 0x4063C020, 0x00000002,\n\t0x4062C23C, 0x4063C020, 0x00000002, 0x4062C23D, 0x4063C020, 0x00000002,\n\t0x4062C23E, 0x4063C020, 0x00000002, 0x4062C23F, 0x4063C020, 0x00000002,\n\t0x4062C240, 0x4063C020, 0x00000002, 0x4062C241,\n\t// Block 508, offset 0x7f00\n\t0x4063C020, 0x00000002, 0x4062C242, 0x4063C020, 0x00000002, 0x4062C243,\n\t0x4063C020, 0x00000002, 0x4062C244, 0x4063C020, 0x00000002, 0x4062C245,\n\t0x4063C020, 0x00000002, 0x4062C246, 0x4063C020, 0x00000002, 0x4062C247,\n\t0x4063C020, 0x00000002, 0x4062C248, 0x4063C020, 0x00000002, 0x4062C249,\n\t0x4063C020, 0x00000002, 0x4062C24A, 0x4063C020, 0x00000002, 0x4062C24B,\n\t0x4063C020, 0x00000002, 0x4062C24C, 0x4063C020, 0x00000003, 0x4062C221,\n\t0x4063C020, 0x40646420, 0x00000003, 0x4062C222, 0x4063C020, 0x40646420,\n\t0x00000003, 0x4062C223, 0x4063C020, 0x40646420, 0x00000003, 0x4062C224,\n\t0x4063C020, 0x40646420, 0x00000003, 0x4062C225, 0x4063C020, 0x40646420,\n\t0x00000003, 0x4062C226, 0x4063C020, 0x40646420, 0x00000003, 0x4062C227,\n\t0x4063C020, 0x40646420, 0x00000003, 0x4062C228,\n\t// Block 509, offset 0x7f40\n\t0x4063C020, 0x40646420, 0x00000003, 0x4062C221, 0x4063C020, 0x40648C20,\n\t0x00000003, 0x4062C222, 0x4063C020, 0x40648C20, 0x00000003, 0x4062C223,\n\t0x4063C020, 0x40648C20, 0x00000003, 0x4062C224, 0x4063C020, 0x40648C20,\n\t0x00000003, 0x4062C225, 0x4063C020, 0x40648C20, 0x00000003, 0x4062C226,\n\t0x4063C020, 0x40648C20, 0x00000003, 0x4062C227, 0x4063C020, 0x40648C20,\n\t0x00000003, 0x4062C228, 0x4063C020, 0x40648C20, 0x00000003, 0x4062C229,\n\t0x4063C020, 0x40648C20, 0x00000003, 0x4062C22A, 0x4063C020, 0x40648C20,\n\t0x00000003, 0x4062C22B, 0x4063C020, 0x40648C20, 0x00000003, 0x4062C22C,\n\t0x4063C020, 0x40648C20, 0x00000003, 0x4062C22D, 0x4063C020, 0x40648C20,\n\t0x00000003, 0x4062C22E, 0x4063C020, 0x40648C20, 0x00000003, 0x4062C22F,\n\t0x4063C020, 0x40648C20, 0x00000003, 0x4062C230,\n\t// Block 510, offset 0x7f80\n\t0x4063C020, 0x40648C20, 0x00000003, 0x4062C231, 0x4063C020, 0x40648C20,\n\t0x00000003, 0x4062C232, 0x4063C020, 0x40648C20, 0x00000003, 0x4062C233,\n\t0x4063C020, 0x40648C20, 0x00000003, 0x4062C234, 0x4063C020, 0x40648C20,\n\t0x00000003, 0x4062C235, 0x4063C020, 0x40648C20, 0x00000003, 0x4062C236,\n\t0x4063C020, 0x40648C20, 0x00000003, 0x4062C237, 0x4063C020, 0x40648C20,\n\t0x00000003, 0x4062C238, 0x4063C020, 0x40648C20, 0x00000003, 0x4062C239,\n\t0x4063C020, 0x40648C20, 0x00000003, 0x4062C23A, 0x4063C020, 0x40648C20,\n\t0x00000003, 0x4062C23B, 0x4063C020, 0x40648C20, 0x00000003, 0x4062C23C,\n\t0x4063C020, 0x40648C20, 0x00000003, 0x4062C23D, 0x4063C020, 0x40648C20,\n\t0x00000003, 0x4062C23E, 0x4063C020, 0x40648C20, 0x00000003, 0x4062C23F,\n\t0x4063C020, 0x40648C20, 0x00000003, 0x4062C240,\n\t// Block 511, offset 0x7fc0\n\t0x4063C020, 0x40648C20, 0x00000003, 0x4062C241, 0x4063C020, 0x40648C20,\n\t0x00000002, 0x4062C221, 0x4063C220, 0x00000002, 0x4062C222, 0x4063C220,\n\t0x00000002, 0x4062C223, 0x4063C220, 0x00000002, 0x4062C224, 0x4063C220,\n\t0x00000002, 0x4062C225, 0x4063C220, 0x00000002, 0x4062C226, 0x4063C220,\n\t0x00000002, 0x4062C227, 0x4063C220, 0x00000002, 0x4062C228, 0x4063C220,\n\t0x00000002, 0x4062C229, 0x4063C220, 0x00000002, 0x4062C22A, 0x4063C220,\n\t0x00000002, 0x4062C22B, 0x4063C220, 0x00000002, 0x4062C22C, 0x4063C220,\n\t0x00000002, 0x4062C22D, 0x4063C220, 0x00000002, 0x4062C22E, 0x4063C220,\n\t0x00000002, 0x4062C22F, 0x4063C220, 0x00000002, 0x4062C230, 0x4063C220,\n\t0x00000002, 0x4062C231, 0x4063C220, 0x00000002, 0x4062C232, 0x4063C220,\n\t0x00000002, 0x4062C233, 0x4063C220, 0x00000002,\n\t// Block 512, offset 0x8000\n\t0x4062C234, 0x4063C220, 0x00000002, 0x4062C235, 0x4063C220, 0x00000002,\n\t0x4062C236, 0x4063C220, 0x00000002, 0x4062C237, 0x4063C220, 0x00000002,\n\t0x4062C238, 0x4063C220, 0x00000002, 0x4062C239, 0x4063C220, 0x00000002,\n\t0x4062C23A, 0x4063C220, 0x00000002, 0x4062C23B, 0x4063C220, 0x00000002,\n\t0x4062C23C, 0x4063C220, 0x00000002, 0x4062C23D, 0x4063C220, 0x00000002,\n\t0x4062C23E, 0x4063C220, 0x00000002, 0x4062C23F, 0x4063C220, 0x00000002,\n\t0x4062C240, 0x4063C220, 0x00000002, 0x4062C241, 0x4063C220, 0x00000002,\n\t0x4062C242, 0x4063C220, 0x00000002, 0x4062C243, 0x4063C220, 0x00000002,\n\t0x4062C244, 0x4063C220, 0x00000002, 0x4062C245, 0x4063C220, 0x00000002,\n\t0x4062C246, 0x4063C220, 0x00000002, 0x4062C247, 0x4063C220, 0x00000002,\n\t0x4062C248, 0x4063C220, 0x00000002, 0x4062C249,\n\t// Block 513, offset 0x8040\n\t0x4063C220, 0x00000002, 0x4062C24A, 0x4063C220, 0x00000002, 0x4062C24B,\n\t0x4063C220, 0x00000002, 0x4062C24C, 0x4063C220, 0x00000002, 0x4062C24D,\n\t0x4063C220, 0x00000002, 0x4062C24E, 0x4063C220, 0x00000002, 0x4062C24F,\n\t0x4063C220, 0x00000002, 0x4062C250, 0x4063C220, 0x00000002, 0x4062C251,\n\t0x4063C220, 0x00000002, 0x4062C252, 0x4063C220, 0x00000002, 0x4062C253,\n\t0x4063C220, 0x00000002, 0x4062C254, 0x4063C220, 0x00000003, 0x4062C221,\n\t0x4063C220, 0x40646420, 0x00000003, 0x4062C222, 0x4063C220, 0x40646420,\n\t0x00000003, 0x4062C223, 0x4063C220, 0x40646420, 0x00000003, 0x4062C224,\n\t0x4063C220, 0x40646420, 0x00000003, 0x4062C225, 0x4063C220, 0x40646420,\n\t0x00000003, 0x4062C226, 0x4063C220, 0x40646420, 0x00000003, 0x4062C227,\n\t0x4063C220, 0x40646420, 0x00000003, 0x4062C228,\n\t// Block 514, offset 0x8080\n\t0x4063C220, 0x40646420, 0x00000003, 0x4062C229, 0x4063C220, 0x40646420,\n\t0x00000003, 0x4062C22A, 0x4063C220, 0x40646420, 0x00000003, 0x4062C221,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062C222, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062C223, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C224,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062C225, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062C226, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C227,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062C228, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062C229, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C22A,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062C22B, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062C22C, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C22D,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062C22E,\n\t// Block 515, offset 0x80c0\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062C22F, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062C230, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C231,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062C232, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062C221, 0x4063C220, 0x40647220, 0x00000003, 0x4062C222,\n\t0x4063C220, 0x40647220, 0x00000003, 0x4062C223, 0x4063C220, 0x40647220,\n\t0x00000003, 0x4062C221, 0x4063C220, 0x40648C20, 0x00000003, 0x4062C222,\n\t0x4063C220, 0x40648C20, 0x00000003, 0x4062C221, 0x4063C420, 0x40646A20,\n\t0x00000003, 0x4062C222, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C223,\n\t0x4063C420, 0x40646A20, 0x00000003, 0x4062C224, 0x4063C420, 0x40646A20,\n\t0x00000003, 0x4062C225, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C226,\n\t0x4063C420, 0x40646A20, 0x00000003, 0x4062C227,\n\t// Block 516, offset 0x8100\n\t0x4063C420, 0x40646A20, 0x00000003, 0x4062C228, 0x4063C420, 0x40646A20,\n\t0x00000003, 0x4062C229, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C22A,\n\t0x4063C420, 0x40646A20, 0x00000003, 0x4062C22B, 0x4063C420, 0x40646A20,\n\t0x00000003, 0x4062C22C, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C22D,\n\t0x4063C420, 0x40646A20, 0x00000003, 0x4062C22E, 0x4063C420, 0x40646A20,\n\t0x00000003, 0x4062C22F, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C230,\n\t0x4063C420, 0x40646A20, 0x00000003, 0x4062C231, 0x4063C420, 0x40646A20,\n\t0x00000003, 0x4062C232, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C233,\n\t0x4063C420, 0x40646A20, 0x00000003, 0x4062C234, 0x4063C420, 0x40646A20,\n\t0x00000003, 0x4062C235, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C236,\n\t0x4063C420, 0x40646A20, 0x00000003, 0x4062C237,\n\t// Block 517, offset 0x8140\n\t0x4063C420, 0x40646A20, 0x00000003, 0x4062C238, 0x4063C420, 0x40646A20,\n\t0x00000003, 0x4062C239, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C23A,\n\t0x4063C420, 0x40646A20, 0x00000003, 0x4062C23B, 0x4063C420, 0x40646A20,\n\t0x00000003, 0x4062C23C, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C23D,\n\t0x4063C420, 0x40646A20, 0x00000003, 0x4062C23E, 0x4063C420, 0x40646A20,\n\t0x00000003, 0x4062C23F, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C240,\n\t0x4063C420, 0x40646A20, 0x00000003, 0x4062C241, 0x4063C420, 0x40646A20,\n\t0x00000003, 0x4062C242, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C243,\n\t0x4063C420, 0x40646A20, 0x00000003, 0x4062C244, 0x4063C420, 0x40646A20,\n\t0x00000003, 0x4062C245, 0x4063C420, 0x40646A20, 0x00000003, 0x4062C246,\n\t0x4063C420, 0x40646A20, 0x00000003, 0x4062C247,\n\t// Block 518, offset 0x8180\n\t0x4063C420, 0x40646A20, 0x00000003, 0x4062C248, 0x4063C420, 0x40646A20,\n\t0x00000003, 0x4062C221, 0x4063C420, 0x40647220, 0x00000003, 0x4062C222,\n\t0x4063C420, 0x40647220, 0x00000003, 0x4062C223, 0x4063C420, 0x40647220,\n\t0x00000003, 0x4062C224, 0x4063C420, 0x40647220, 0x00000003, 0x4062C225,\n\t0x4063C420, 0x40647220, 0x00000002, 0x4062C221, 0x4063C820, 0x00000002,\n\t0x4062C222, 0x4063C820, 0x00000002, 0x4062C223, 0x4063C820, 0x00000002,\n\t0x4062C224, 0x4063C820, 0x00000002, 0x4062C225, 0x4063C820, 0x00000002,\n\t0x4062C226, 0x4063C820, 0x00000002, 0x4062C227, 0x4063C820, 0x00000002,\n\t0x4062C228, 0x4063C820, 0x00000002, 0x4062C229, 0x4063C820, 0x00000002,\n\t0x4062C22A, 0x4063C820, 0x00000002, 0x4062C22B, 0x4063C820, 0x00000002,\n\t0x4062C22C, 0x4063C820, 0x00000002, 0x4062C22D,\n\t// Block 519, offset 0x81c0\n\t0x4063C820, 0x00000002, 0x4062C22E, 0x4063C820, 0x00000002, 0x4062C22F,\n\t0x4063C820, 0x00000002, 0x4062C230, 0x4063C820, 0x00000002, 0x4062C231,\n\t0x4063C820, 0x00000002, 0x4062C232, 0x4063C820, 0x00000002, 0x4062C233,\n\t0x4063C820, 0x00000002, 0x4062C234, 0x4063C820, 0x00000002, 0x4062C235,\n\t0x4063C820, 0x00000002, 0x4062C236, 0x4063C820, 0x00000002, 0x4062C237,\n\t0x4063C820, 0x00000002, 0x4062C238, 0x4063C820, 0x00000002, 0x4062C239,\n\t0x4063C820, 0x00000002, 0x4062C23A, 0x4063C820, 0x00000002, 0x4062C23B,\n\t0x4063C820, 0x00000002, 0x4062C23C, 0x4063C820, 0x00000002, 0x4062C23D,\n\t0x4063C820, 0x00000002, 0x4062C23E, 0x4063C820, 0x00000002, 0x4062C23F,\n\t0x4063C820, 0x00000002, 0x4062C240, 0x4063C820, 0x00000002, 0x4062C241,\n\t0x4063C820, 0x00000002, 0x4062C242, 0x4063C820,\n\t// Block 520, offset 0x8200\n\t0x00000002, 0x4062C243, 0x4063C820, 0x00000002, 0x4062C244, 0x4063C820,\n\t0x00000002, 0x4062C245, 0x4063C820, 0x00000002, 0x4062C246, 0x4063C820,\n\t0x00000002, 0x4062C247, 0x4063C820, 0x00000002, 0x4062C221, 0x4063CA20,\n\t0x00000002, 0x4062C222, 0x4063CA20, 0x00000002, 0x4062C223, 0x4063CA20,\n\t0x00000002, 0x4062C224, 0x4063CA20, 0x00000002, 0x4062C225, 0x4063CA20,\n\t0x00000002, 0x4062C226, 0x4063CA20, 0x00000002, 0x4062C227, 0x4063CA20,\n\t0x00000002, 0x4062C228, 0x4063CA20, 0x00000002, 0x4062C229, 0x4063CA20,\n\t0x00000002, 0x4062C22A, 0x4063CA20, 0x00000002, 0x4062C22B, 0x4063CA20,\n\t0x00000002, 0x4062C22C, 0x4063CA20, 0x00000002, 0x4062C22D, 0x4063CA20,\n\t0x00000002, 0x4062C22E, 0x4063CA20, 0x00000002, 0x4062C22F, 0x4063CA20,\n\t0x00000002, 0x4062C230, 0x4063CA20, 0x00000002,\n\t// Block 521, offset 0x8240\n\t0x4062C231, 0x4063CA20, 0x00000002, 0x4062C232, 0x4063CA20, 0x00000002,\n\t0x4062C233, 0x4063CA20, 0x00000002, 0x4062C234, 0x4063CA20, 0x00000002,\n\t0x4062C235, 0x4063CA20, 0x00000002, 0x4062C236, 0x4063CA20, 0x00000002,\n\t0x4062C237, 0x4063CA20, 0x00000002, 0x4062C238, 0x4063CA20, 0x00000002,\n\t0x4062C239, 0x4063CA20, 0x00000002, 0x4062C23A, 0x4063CA20, 0x00000002,\n\t0x4062C23B, 0x4063CA20, 0x00000002, 0x4062C23C, 0x4063CA20, 0x00000002,\n\t0x4062C23D, 0x4063CA20, 0x00000002, 0x4062C23E, 0x4063CA20, 0x00000002,\n\t0x4062C23F, 0x4063CA20, 0x00000002, 0x4062C240, 0x4063CA20, 0x00000002,\n\t0x4062C241, 0x4063CA20, 0x00000002, 0x4062C242, 0x4063CA20, 0x00000002,\n\t0x4062C243, 0x4063CA20, 0x00000002, 0x4062C244, 0x4063CA20, 0x00000002,\n\t0x4062C245, 0x4063CA20, 0x00000002, 0x4062C246,\n\t// Block 522, offset 0x8280\n\t0x4063CA20, 0x00000002, 0x4062C247, 0x4063CA20, 0x00000002, 0x4062C248,\n\t0x4063CA20, 0x00000002, 0x4062C249, 0x4063CA20, 0x00000002, 0x4062C24A,\n\t0x4063CA20, 0x00000002, 0x4062C24B, 0x4063CA20, 0x00000002, 0x4062C24C,\n\t0x4063CA20, 0x00000002, 0x4062C24D, 0x4063CA20, 0x00000002, 0x4062C24E,\n\t0x4063CA20, 0x00000002, 0x4062C24F, 0x4063CA20, 0x00000002, 0x4062C250,\n\t0x4063CA20, 0x00000002, 0x4062C251, 0x4063CA20, 0x00000002, 0x4062C252,\n\t0x4063CA20, 0x00000002, 0x4062C253, 0x4063CA20, 0x00000002, 0x4062C254,\n\t0x4063CA20, 0x00000002, 0x4062C255, 0x4063CA20, 0x00000002, 0x4062C256,\n\t0x4063CA20, 0x00000002, 0x4062C257, 0x4063CA20, 0x00000002, 0x4062C258,\n\t0x4063CA20, 0x00000002, 0x4062C259, 0x4063CA20, 0x00000002, 0x4062C25A,\n\t0x4063CA20, 0x00000002, 0x4062C25B, 0x4063CA20,\n\t// Block 523, offset 0x82c0\n\t0x00000002, 0x4062C25C, 0x4063CA20, 0x00000002, 0x4062C25D, 0x4063CA20,\n\t0x00000002, 0x4062C25E, 0x4063CA20, 0x00000002, 0x4062C25F, 0x4063CA20,\n\t0x00000002, 0x4062C260, 0x4063CA20, 0x00000002, 0x4062C261, 0x4063CA20,\n\t0x00000002, 0x4062C262, 0x4063CA20, 0x00000002, 0x4062C263, 0x4063CA20,\n\t0x00000002, 0x4062C264, 0x4063CA20, 0x00000002, 0x4062C265, 0x4063CA20,\n\t0x00000002, 0x4062C266, 0x4063CA20, 0x00000002, 0x4062C267, 0x4063CA20,\n\t0x00000002, 0x4062C268, 0x4063CA20, 0x00000002, 0x4062C269, 0x4063CA20,\n\t0x00000002, 0x4062C26A, 0x4063CA20, 0x00000002, 0x4062C26B, 0x4063CA20,\n\t0x00000002, 0x4062C26C, 0x4063CA20, 0x00000002, 0x4062C26D, 0x4063CA20,\n\t0x00000003, 0x4062C221, 0x4063CA20, 0x40646420, 0x00000003, 0x4062C222,\n\t0x4063CA20, 0x40646420, 0x00000003, 0x4062C223,\n\t// Block 524, offset 0x8300\n\t0x4063CA20, 0x40646420, 0x00000003, 0x4062C224, 0x4063CA20, 0x40646420,\n\t0x00000003, 0x4062C225, 0x4063CA20, 0x40646420, 0x00000003, 0x4062C221,\n\t0x4063CA20, 0x40646A20, 0x00000003, 0x4062C222, 0x4063CA20, 0x40646A20,\n\t0x00000003, 0x4062C223, 0x4063CA20, 0x40646A20, 0x00000003, 0x4062C224,\n\t0x4063CA20, 0x40646A20, 0x00000003, 0x4062C225, 0x4063CA20, 0x40646A20,\n\t0x00000003, 0x4062C226, 0x4063CA20, 0x40646A20, 0x00000003, 0x4062C227,\n\t0x4063CA20, 0x40646A20, 0x00000003, 0x4062C228, 0x4063CA20, 0x40646A20,\n\t0x00000003, 0x4062C229, 0x4063CA20, 0x40646A20, 0x00000003, 0x4062C22A,\n\t0x4063CA20, 0x40646A20, 0x00000003, 0x4062C22B, 0x4063CA20, 0x40646A20,\n\t0x00000003, 0x4062C221, 0x4063CA20, 0x40647220, 0x00000003, 0x4062C222,\n\t0x4063CA20, 0x40647220, 0x00000003, 0x4062C223,\n\t// Block 525, offset 0x8340\n\t0x4063CA20, 0x40647220, 0x00000003, 0x4062C221, 0x4063CA20, 0x40648C20,\n\t0x00000003, 0x4062C222, 0x4063CA20, 0x40648C20, 0x00000003, 0x4062C223,\n\t0x4063CA20, 0x40648C20, 0x00000003, 0x4062C224, 0x4063CA20, 0x40648C20,\n\t0x00000003, 0x4062C225, 0x4063CA20, 0x40648C20, 0x00000003, 0x4062C221,\n\t0x4063CC20, 0x40646A20, 0x00000003, 0x4062C222, 0x4063CC20, 0x40646A20,\n\t0x00000003, 0x4062C223, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062C224,\n\t0x4063CC20, 0x40646A20, 0x00000003, 0x4062C225, 0x4063CC20, 0x40646A20,\n\t0x00000003, 0x4062C226, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062C227,\n\t0x4063CC20, 0x40646A20, 0x00000003, 0x4062C228, 0x4063CC20, 0x40646A20,\n\t0x00000003, 0x4062C229, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062C22A,\n\t0x4063CC20, 0x40646A20, 0x00000003, 0x4062C22B,\n\t// Block 526, offset 0x8380\n\t0x4063CC20, 0x40646A20, 0x00000003, 0x4062C22C, 0x4063CC20, 0x40646A20,\n\t0x00000003, 0x4062C22D, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062C22E,\n\t0x4063CC20, 0x40646A20, 0x00000003, 0x4062C22F, 0x4063CC20, 0x40646A20,\n\t0x00000003, 0x4062C230, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062C231,\n\t0x4063CC20, 0x40646A20, 0x00000003, 0x4062C232, 0x4063CC20, 0x40646A20,\n\t0x00000003, 0x4062C233, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062C234,\n\t0x4063CC20, 0x40646A20, 0x00000003, 0x4062C221, 0x4063CC20, 0x40647220,\n\t0x00000003, 0x4062C222, 0x4063CC20, 0x40647220, 0x00000003, 0x4062C221,\n\t0x4063CC20, 0x40648220, 0x00000003, 0x4062C222, 0x4063CC20, 0x40648220,\n\t0x00000003, 0x4062C223, 0x4063CC20, 0x40648220, 0x00000003, 0x4062C224,\n\t0x4063CC20, 0x40648220, 0x00000003, 0x4062C225,\n\t// Block 527, offset 0x83c0\n\t0x4063CC20, 0x40648220, 0x00000003, 0x4062C226, 0x4063CC20, 0x40648220,\n\t0x00000003, 0x4062C227, 0x4063CC20, 0x40648220, 0x00000003, 0x4062C228,\n\t0x4063CC20, 0x40648220, 0x00000003, 0x4062C229, 0x4063CC20, 0x40648220,\n\t0x00000003, 0x4062C22A, 0x4063CC20, 0x40648220, 0x00000003, 0x4062C22B,\n\t0x4063CC20, 0x40648220, 0x00000003, 0x4062C221, 0x4063CC20, 0x40648420,\n\t0x00000003, 0x4062C222, 0x4063CC20, 0x40648420, 0x00000003, 0x4062C223,\n\t0x4063CC20, 0x40648420, 0x00000003, 0x4062C224, 0x4063CC20, 0x40648420,\n\t0x00000003, 0x4062C225, 0x4063CC20, 0x40648420, 0x00000003, 0x4062C226,\n\t0x4063CC20, 0x40648420, 0x00000003, 0x4062C221, 0x4063CC20, 0x40648C20,\n\t0x00000003, 0x4062C222, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062C223,\n\t0x4063CC20, 0x40648C20, 0x00000003, 0x4062C224,\n\t// Block 528, offset 0x8400\n\t0x4063CC20, 0x40648C20, 0x00000002, 0x4062C221, 0x4063CE20, 0x00000002,\n\t0x4062C222, 0x4063CE20, 0x00000002, 0x4062C223, 0x4063CE20, 0x00000002,\n\t0x4062C224, 0x4063CE20, 0x00000002, 0x4062C225, 0x4063CE20, 0x00000002,\n\t0x4062C226, 0x4063CE20, 0x00000002, 0x4062C227, 0x4063CE20, 0x00000002,\n\t0x4062C228, 0x4063CE20, 0x00000002, 0x4062C229, 0x4063CE20, 0x00000002,\n\t0x4062C22A, 0x4063CE20, 0x00000002, 0x4062C22B, 0x4063CE20, 0x00000002,\n\t0x4062C22C, 0x4063CE20, 0x00000002, 0x4062C22D, 0x4063CE20, 0x00000002,\n\t0x4062C22E, 0x4063CE20, 0x00000002, 0x4062C22F, 0x4063CE20, 0x00000002,\n\t0x4062C230, 0x4063CE20, 0x00000002, 0x4062C231, 0x4063CE20, 0x00000002,\n\t0x4062C232, 0x4063CE20, 0x00000002, 0x4062C233, 0x4063CE20, 0x00000002,\n\t0x4062C234, 0x4063CE20, 0x00000002, 0x4062C235,\n\t// Block 529, offset 0x8440\n\t0x4063CE20, 0x00000002, 0x4062C236, 0x4063CE20, 0x00000002, 0x4062C237,\n\t0x4063CE20, 0x00000002, 0x4062C238, 0x4063CE20, 0x00000002, 0x4062C239,\n\t0x4063CE20, 0x00000002, 0x4062C23A, 0x4063CE20, 0x00000002, 0x4062C23B,\n\t0x4063CE20, 0x00000002, 0x4062C23C, 0x4063CE20, 0x00000002, 0x4062C23D,\n\t0x4063CE20, 0x00000002, 0x4062C221, 0x4063D020, 0x00000002, 0x4062C222,\n\t0x4063D020, 0x00000002, 0x4062C223, 0x4063D020, 0x00000002, 0x4062C224,\n\t0x4063D020, 0x00000002, 0x4062C225, 0x4063D020, 0x00000002, 0x4062C226,\n\t0x4063D020, 0x00000002, 0x4062C227, 0x4063D020, 0x00000002, 0x4062C228,\n\t0x4063D020, 0x00000002, 0x4062C229, 0x4063D020, 0x00000002, 0x4062C22A,\n\t0x4063D020, 0x00000002, 0x4062C22B, 0x4063D020, 0x00000002, 0x4062C22C,\n\t0x4063D020, 0x00000002, 0x4062C22D, 0x4063D020,\n\t// Block 530, offset 0x8480\n\t0x00000002, 0x4062C22E, 0x4063D020, 0x00000002, 0x4062C22F, 0x4063D020,\n\t0x00000002, 0x4062C230, 0x4063D020, 0x00000002, 0x4062C231, 0x4063D020,\n\t0x00000002, 0x4062C232, 0x4063D020, 0x00000002, 0x4062C233, 0x4063D020,\n\t0x00000002, 0x4062C234, 0x4063D020, 0x00000002, 0x4062C235, 0x4063D020,\n\t0x00000002, 0x4062C236, 0x4063D020, 0x00000002, 0x4062C237, 0x4063D020,\n\t0x00000002, 0x4062C238, 0x4063D020, 0x00000002, 0x4062C239, 0x4063D020,\n\t0x00000002, 0x4062C23A, 0x4063D020, 0x00000002, 0x4062C23B, 0x4063D020,\n\t0x00000002, 0x4062C23C, 0x4063D020, 0x00000002, 0x4062C23D, 0x4063D020,\n\t0x00000002, 0x4062C23E, 0x4063D020, 0x00000002, 0x4062C23F, 0x4063D020,\n\t0x00000002, 0x4062C240, 0x4063D020, 0x00000002, 0x4062C241, 0x4063D020,\n\t0x00000002, 0x4062C242, 0x4063D020, 0x00000002,\n\t// Block 531, offset 0x84c0\n\t0x4062C243, 0x4063D020, 0x00000003, 0x4062C221, 0x4063D020, 0x40646420,\n\t0x00000003, 0x4062C222, 0x4063D020, 0x40646420, 0x00000003, 0x4062C223,\n\t0x4063D020, 0x40646420, 0x00000003, 0x4062C224, 0x4063D020, 0x40646420,\n\t0x00000003, 0x4062C225, 0x4063D020, 0x40646420, 0x00000003, 0x4062C226,\n\t0x4063D020, 0x40646420, 0x00000003, 0x4062C227, 0x4063D020, 0x40646420,\n\t0x00000003, 0x4062C228, 0x4063D020, 0x40646420, 0x00000003, 0x4062C229,\n\t0x4063D020, 0x40646420, 0x00000003, 0x4062C221, 0x4063D020, 0x40646A20,\n\t0x00000003, 0x4062C222, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C223,\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062C224, 0x4063D020, 0x40646A20,\n\t0x00000003, 0x4062C225, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C226,\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062C227,\n\t// Block 532, offset 0x8500\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062C228, 0x4063D020, 0x40646A20,\n\t0x00000003, 0x4062C229, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C22A,\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062C22B, 0x4063D020, 0x40646A20,\n\t0x00000003, 0x4062C22C, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C22D,\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062C22E, 0x4063D020, 0x40646A20,\n\t0x00000003, 0x4062C22F, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C230,\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062C231, 0x4063D020, 0x40646A20,\n\t0x00000003, 0x4062C232, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C233,\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062C234, 0x4063D020, 0x40646A20,\n\t0x00000003, 0x4062C235, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C236,\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062C237,\n\t// Block 533, offset 0x8540\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062C238, 0x4063D020, 0x40646A20,\n\t0x00000003, 0x4062C239, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C23A,\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062C23B, 0x4063D020, 0x40646A20,\n\t0x00000003, 0x4062C23C, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C221,\n\t0x4063D020, 0x40647220, 0x00000003, 0x4062C222, 0x4063D020, 0x40647220,\n\t0x00000003, 0x4062C223, 0x4063D020, 0x40647220, 0x00000003, 0x4062C224,\n\t0x4063D020, 0x40647220, 0x00000003, 0x4062C225, 0x4063D020, 0x40647220,\n\t0x00000003, 0x4062C226, 0x4063D020, 0x40647220, 0x00000003, 0x4062C227,\n\t0x4063D020, 0x40647220, 0x00000003, 0x4062C228, 0x4063D020, 0x40647220,\n\t0x00000003, 0x4062C229, 0x4063D020, 0x40647220, 0x00000003, 0x4062C22A,\n\t0x4063D020, 0x40647220, 0x00000003, 0x4062C22B,\n\t// Block 534, offset 0x8580\n\t0x4063D020, 0x40647220, 0x00000003, 0x4062C221, 0x4063D020, 0x40648220,\n\t0x00000003, 0x4062C222, 0x4063D020, 0x40648220, 0x00000003, 0x4062C223,\n\t0x4063D020, 0x40648220, 0x00000003, 0x4062C224, 0x4063D020, 0x40648220,\n\t0x00000003, 0x4062C225, 0x4063D020, 0x40648220, 0x00000003, 0x4062C226,\n\t0x4063D020, 0x40648220, 0x00000003, 0x4062C227, 0x4063D020, 0x40648220,\n\t0x00000003, 0x4062C228, 0x4063D020, 0x40648220, 0x00000003, 0x4062C229,\n\t0x4063D020, 0x40648220, 0x00000003, 0x4062C22A, 0x4063D020, 0x40648220,\n\t0x00000003, 0x4062C22B, 0x4063D020, 0x40648220, 0x00000003, 0x4062C22C,\n\t0x4063D020, 0x40648220, 0x00000003, 0x4062C221, 0x4063D020, 0x40648420,\n\t0x00000003, 0x4062C222, 0x4063D020, 0x40648420, 0x00000003, 0x4062C223,\n\t0x4063D020, 0x40648420, 0x00000003, 0x4062C221,\n\t// Block 535, offset 0x85c0\n\t0x4063D020, 0x40648C20, 0x00000003, 0x4062C222, 0x4063D020, 0x40648C20,\n\t0x00000003, 0x4062C223, 0x4063D020, 0x40648C20, 0x00000003, 0x4062C224,\n\t0x4063D020, 0x40648C20, 0x00000003, 0x4062C225, 0x4063D020, 0x40648C20,\n\t0x00000002, 0x4062C421, 0x4063A820, 0x00000002, 0x4062C422, 0x4063A820,\n\t0x00000002, 0x4062C423, 0x4063A820, 0x00000002, 0x4062C424, 0x4063A820,\n\t0x00000002, 0x4062C425, 0x4063A820, 0x00000002, 0x4062C426, 0x4063A820,\n\t0x00000002, 0x4062C427, 0x4063A820, 0x00000002, 0x4062C428, 0x4063A820,\n\t0x00000002, 0x4062C429, 0x4063A820, 0x00000002, 0x4062C42A, 0x4063A820,\n\t0x00000002, 0x4062C42B, 0x4063A820, 0x00000002, 0x4062C42C, 0x4063A820,\n\t0x00000002, 0x4062C42D, 0x4063A820, 0x00000002, 0x4062C42E, 0x4063A820,\n\t0x00000002, 0x4062C42F, 0x4063A820, 0x00000002,\n\t// Block 536, offset 0x8600\n\t0x4062C430, 0x4063A820, 0x00000002, 0x4062C431, 0x4063A820, 0x00000002,\n\t0x4062C432, 0x4063A820, 0x00000002, 0x4062C433, 0x4063A820, 0x00000002,\n\t0x4062C434, 0x4063A820, 0x00000002, 0x4062C435, 0x4063A820, 0x00000002,\n\t0x4062C436, 0x4063A820, 0x00000002, 0x4062C437, 0x4063A820, 0x00000002,\n\t0x4062C438, 0x4063A820, 0x00000002, 0x4062C439, 0x4063A820, 0x00000002,\n\t0x4062C43A, 0x4063A820, 0x00000002, 0x4062C43B, 0x4063A820, 0x00000002,\n\t0x4062C43C, 0x4063A820, 0x00000002, 0x4062C43D, 0x4063A820, 0x00000002,\n\t0x4062C43E, 0x4063A820, 0x00000002, 0x4062C43F, 0x4063A820, 0x00000002,\n\t0x4062C440, 0x4063A820, 0x00000002, 0x4062C441, 0x4063A820, 0x00000002,\n\t0x4062C442, 0x4063A820, 0x00000002, 0x4062C443, 0x4063A820, 0x00000002,\n\t0x4062C444, 0x4063A820, 0x00000002, 0x4062C445,\n\t// Block 537, offset 0x8640\n\t0x4063A820, 0x00000002, 0x4062C446, 0x4063A820, 0x00000002, 0x4062C447,\n\t0x4063A820, 0x00000002, 0x4062C448, 0x4063A820, 0x00000002, 0x4062C449,\n\t0x4063A820, 0x00000002, 0x4062C44A, 0x4063A820, 0x00000002, 0x4062C44B,\n\t0x4063A820, 0x00000002, 0x4062C44C, 0x4063A820, 0x00000002, 0x4062C44D,\n\t0x4063A820, 0x00000002, 0x4062C44E, 0x4063A820, 0x00000002, 0x4062C44F,\n\t0x4063A820, 0x00000002, 0x4062C450, 0x4063A820, 0x00000002, 0x4062C451,\n\t0x4063A820, 0x00000002, 0x4062C452, 0x4063A820, 0x00000002, 0x4062C453,\n\t0x4063A820, 0x00000002, 0x4062C454, 0x4063A820, 0x00000003, 0x4062C421,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062C422, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062C423, 0x4063A820, 0x40646420, 0x00000003, 0x4062C424,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062C425,\n\t// Block 538, offset 0x8680\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062C426, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062C427, 0x4063A820, 0x40646420, 0x00000003, 0x4062C428,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062C429, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062C42A, 0x4063A820, 0x40646420, 0x00000003, 0x4062C42B,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062C42C, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062C42D, 0x4063A820, 0x40646420, 0x00000003, 0x4062C42E,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062C42F, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062C430, 0x4063A820, 0x40646420, 0x00000003, 0x4062C431,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062C432, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062C433, 0x4063A820, 0x40646420, 0x00000003, 0x4062C434,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062C435,\n\t// Block 539, offset 0x86c0\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062C421, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062C422, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C423,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062C424, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062C425, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C426,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062C427, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062C428, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C421,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062C422, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062C423, 0x4063A820, 0x40648220, 0x00000003, 0x4062C424,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062C425, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062C426, 0x4063A820, 0x40648220, 0x00000003, 0x4062C427,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062C428,\n\t// Block 540, offset 0x8700\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062C429, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062C421, 0x4063A820, 0x40648420, 0x00000003, 0x4062C422,\n\t0x4063A820, 0x40648420, 0x00000003, 0x4062C423, 0x4063A820, 0x40648420,\n\t0x00000003, 0x4062C424, 0x4063A820, 0x40648420, 0x00000003, 0x4062C425,\n\t0x4063A820, 0x40648420, 0x00000003, 0x4062C426, 0x4063A820, 0x40648420,\n\t0x00000003, 0x4062C421, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C422,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C423, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062C424, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C425,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C426, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062C427, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C428,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C429,\n\t// Block 541, offset 0x8740\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C42A, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062C42B, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C42C,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C42D, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062C42E, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C42F,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C430, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062C431, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C432,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C433, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062C434, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C435,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C436, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062C437, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C438,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C439,\n\t// Block 542, offset 0x8780\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C43A, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062C43B, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C43C,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C43D, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062C43E, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C43F,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C440, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062C441, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C442,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C443, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062C444, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C445,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C446, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062C447, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C448,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C449,\n\t// Block 543, offset 0x87c0\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C44A, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062C44B, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C44C,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C44D, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062C44E, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C44F,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C450, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062C451, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C452,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C453, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062C454, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C455,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062C456, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062C457, 0x4063A820, 0x40648C20, 0x00000002, 0x4062C421,\n\t0x4063AA20, 0x00000002, 0x4062C422, 0x4063AA20,\n\t// Block 544, offset 0x8800\n\t0x00000002, 0x4062C423, 0x4063AA20, 0x00000002, 0x4062C424, 0x4063AA20,\n\t0x00000002, 0x4062C425, 0x4063AA20, 0x00000002, 0x4062C426, 0x4063AA20,\n\t0x00000002, 0x4062C427, 0x4063AA20, 0x00000002, 0x4062C428, 0x4063AA20,\n\t0x00000002, 0x4062C429, 0x4063AA20, 0x00000002, 0x4062C42A, 0x4063AA20,\n\t0x00000002, 0x4062C42B, 0x4063AA20, 0x00000002, 0x4062C42C, 0x4063AA20,\n\t0x00000002, 0x4062C42D, 0x4063AA20, 0x00000002, 0x4062C42E, 0x4063AA20,\n\t0x00000002, 0x4062C42F, 0x4063AA20, 0x00000002, 0x4062C430, 0x4063AA20,\n\t0x00000002, 0x4062C431, 0x4063AA20, 0x00000002, 0x4062C432, 0x4063AA20,\n\t0x00000002, 0x4062C433, 0x4063AA20, 0x00000002, 0x4062C434, 0x4063AA20,\n\t0x00000002, 0x4062C435, 0x4063AA20, 0x00000002, 0x4062C436, 0x4063AA20,\n\t0x00000002, 0x4062C437, 0x4063AA20, 0x00000003,\n\t// Block 545, offset 0x8840\n\t0x4062C421, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062C422, 0x4063AA20,\n\t0x40648C20, 0x00000003, 0x4062C423, 0x4063AA20, 0x40648C20, 0x00000003,\n\t0x4062C424, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062C425, 0x4063AA20,\n\t0x40648C20, 0x00000003, 0x4062C426, 0x4063AA20, 0x40648C20, 0x00000003,\n\t0x4062C427, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062C428, 0x4063AA20,\n\t0x40648C20, 0x00000002, 0x4062C421, 0x4063B020, 0x00000002, 0x4062C422,\n\t0x4063B020, 0x00000002, 0x4062C423, 0x4063B020, 0x00000002, 0x4062C424,\n\t0x4063B020, 0x00000002, 0x4062C425, 0x4063B020, 0x00000002, 0x4062C426,\n\t0x4063B020, 0x00000002, 0x4062C427, 0x4063B020, 0x00000002, 0x4062C428,\n\t0x4063B020, 0x00000002, 0x4062C429, 0x4063B020, 0x00000002, 0x4062C42A,\n\t0x4063B020, 0x00000002, 0x4062C42B, 0x4063B020,\n\t// Block 546, offset 0x8880\n\t0x00000002, 0x4062C42C, 0x4063B020, 0x00000002, 0x4062C42D, 0x4063B020,\n\t0x00000002, 0x4062C42E, 0x4063B020, 0x00000002, 0x4062C42F, 0x4063B020,\n\t0x00000002, 0x4062C430, 0x4063B020, 0x00000002, 0x4062C431, 0x4063B020,\n\t0x00000002, 0x4062C432, 0x4063B020, 0x00000002, 0x4062C433, 0x4063B020,\n\t0x00000002, 0x4062C434, 0x4063B020, 0x00000002, 0x4062C435, 0x4063B020,\n\t0x00000002, 0x4062C436, 0x4063B020, 0x00000002, 0x4062C437, 0x4063B020,\n\t0x00000002, 0x4062C438, 0x4063B020, 0x00000002, 0x4062C439, 0x4063B020,\n\t0x00000002, 0x4062C43A, 0x4063B020, 0x00000002, 0x4062C43B, 0x4063B020,\n\t0x00000002, 0x4062C43C, 0x4063B020, 0x00000002, 0x4062C43D, 0x4063B020,\n\t0x00000002, 0x4062C43E, 0x4063B020, 0x00000002, 0x4062C43F, 0x4063B020,\n\t0x00000002, 0x4062C440, 0x4063B020, 0x00000002,\n\t// Block 547, offset 0x88c0\n\t0x4062C441, 0x4063B020, 0x00000002, 0x4062C442, 0x4063B020, 0x00000002,\n\t0x4062C443, 0x4063B020, 0x00000002, 0x4062C444, 0x4063B020, 0x00000002,\n\t0x4062C445, 0x4063B020, 0x00000002, 0x4062C446, 0x4063B020, 0x00000002,\n\t0x4062C447, 0x4063B020, 0x00000002, 0x4062C448, 0x4063B020, 0x00000002,\n\t0x4062C449, 0x4063B020, 0x00000002, 0x4062C44A, 0x4063B020, 0x00000002,\n\t0x4062C44B, 0x4063B020, 0x00000002, 0x4062C44C, 0x4063B020, 0x00000002,\n\t0x4062C44D, 0x4063B020, 0x00000002, 0x4062C44E, 0x4063B020, 0x00000003,\n\t0x4062C421, 0x4063B020, 0x40646420, 0x00000003, 0x4062C422, 0x4063B020,\n\t0x40646420, 0x00000003, 0x4062C423, 0x4063B020, 0x40646420, 0x00000003,\n\t0x4062C424, 0x4063B020, 0x40646420, 0x00000003, 0x4062C425, 0x4063B020,\n\t0x40646420, 0x00000003, 0x4062C426, 0x4063B020,\n\t// Block 548, offset 0x8900\n\t0x40646420, 0x00000003, 0x4062C427, 0x4063B020, 0x40646420, 0x00000003,\n\t0x4062C428, 0x4063B020, 0x40646420, 0x00000003, 0x4062C429, 0x4063B020,\n\t0x40646420, 0x00000003, 0x4062C42A, 0x4063B020, 0x40646420, 0x00000003,\n\t0x4062C42B, 0x4063B020, 0x40646420, 0x00000003, 0x4062C42C, 0x4063B020,\n\t0x40646420, 0x00000003, 0x4062C42D, 0x4063B020, 0x40646420, 0x00000003,\n\t0x4062C42E, 0x4063B020, 0x40646420, 0x00000003, 0x4062C42F, 0x4063B020,\n\t0x40646420, 0x00000003, 0x4062C430, 0x4063B020, 0x40646420, 0x00000003,\n\t0x4062C431, 0x4063B020, 0x40646420, 0x00000003, 0x4062C432, 0x4063B020,\n\t0x40646420, 0x00000003, 0x4062C433, 0x4063B020, 0x40646420, 0x00000003,\n\t0x4062C434, 0x4063B020, 0x40646420, 0x00000003, 0x4062C435, 0x4063B020,\n\t0x40646420, 0x00000003, 0x4062C436, 0x4063B020,\n\t// Block 549, offset 0x8940\n\t0x40646420, 0x00000003, 0x4062C437, 0x4063B020, 0x40646420, 0x00000003,\n\t0x4062C438, 0x4063B020, 0x40646420, 0x00000003, 0x4062C439, 0x4063B020,\n\t0x40646420, 0x00000003, 0x4062C43A, 0x4063B020, 0x40646420, 0x00000003,\n\t0x4062C43B, 0x4063B020, 0x40646420, 0x00000003, 0x4062C43C, 0x4063B020,\n\t0x40646420, 0x00000003, 0x4062C43D, 0x4063B020, 0x40646420, 0x00000003,\n\t0x4062C43E, 0x4063B020, 0x40646420, 0x00000003, 0x4062C43F, 0x4063B020,\n\t0x40646420, 0x00000003, 0x4062C421, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C422, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C423, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C424, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C425, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C426, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C427, 0x4063B020,\n\t// Block 550, offset 0x8980\n\t0x40646A20, 0x00000003, 0x4062C428, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C429, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C42A, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C42B, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C42C, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C42D, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C42E, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C42F, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C430, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C431, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C432, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C433, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C434, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C435, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C436, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C437, 0x4063B020,\n\t// Block 551, offset 0x89c0\n\t0x40646A20, 0x00000003, 0x4062C438, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C439, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C43A, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C43B, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C43C, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C43D, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C43E, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C43F, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C440, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C441, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C442, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C443, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C444, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C445, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C446, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C447, 0x4063B020,\n\t// Block 552, offset 0x8a00\n\t0x40646A20, 0x00000003, 0x4062C448, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C449, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C44A, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C44B, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C44C, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C44D, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C44E, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C44F, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C450, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C451, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C452, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C453, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C454, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C455, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C456, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C457, 0x4063B020,\n\t// Block 553, offset 0x8a40\n\t0x40646A20, 0x00000003, 0x4062C458, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C459, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C45A, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C45B, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C45C, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C45D, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C45E, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C45F, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C460, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C461, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C462, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C463, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C464, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C465, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C466, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C467, 0x4063B020,\n\t// Block 554, offset 0x8a80\n\t0x40646A20, 0x00000003, 0x4062C468, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C469, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C46A, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C46B, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C46C, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C46D, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C46E, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C46F, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C470, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062C471, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062C421, 0x4063B020, 0x40647220, 0x00000003, 0x4062C422, 0x4063B020,\n\t0x40647220, 0x00000003, 0x4062C423, 0x4063B020, 0x40647220, 0x00000003,\n\t0x4062C424, 0x4063B020, 0x40647220, 0x00000003, 0x4062C425, 0x4063B020,\n\t0x40647220, 0x00000003, 0x4062C426, 0x4063B020,\n\t// Block 555, offset 0x8ac0\n\t0x40647220, 0x00000003, 0x4062C427, 0x4063B020, 0x40647220, 0x00000003,\n\t0x4062C428, 0x4063B020, 0x40647220, 0x00000003, 0x4062C429, 0x4063B020,\n\t0x40647220, 0x00000003, 0x4062C42A, 0x4063B020, 0x40647220, 0x00000003,\n\t0x4062C42B, 0x4063B020, 0x40647220, 0x00000003, 0x4062C421, 0x4063B020,\n\t0x40648220, 0x00000003, 0x4062C422, 0x4063B020, 0x40648220, 0x00000003,\n\t0x4062C423, 0x4063B020, 0x40648220, 0x00000003, 0x4062C424, 0x4063B020,\n\t0x40648220, 0x00000003, 0x4062C425, 0x4063B020, 0x40648220, 0x00000003,\n\t0x4062C426, 0x4063B020, 0x40648220, 0x00000003, 0x4062C427, 0x4063B020,\n\t0x40648220, 0x00000003, 0x4062C428, 0x4063B020, 0x40648220, 0x00000003,\n\t0x4062C429, 0x4063B020, 0x40648220, 0x00000003, 0x4062C42A, 0x4063B020,\n\t0x40648220, 0x00000003, 0x4062C42B, 0x4063B020,\n\t// Block 556, offset 0x8b00\n\t0x40648220, 0x00000003, 0x4062C42C, 0x4063B020, 0x40648220, 0x00000003,\n\t0x4062C42D, 0x4063B020, 0x40648220, 0x00000003, 0x4062C42E, 0x4063B020,\n\t0x40648220, 0x00000003, 0x4062C42F, 0x4063B020, 0x40648220, 0x00000003,\n\t0x4062C430, 0x4063B020, 0x40648220, 0x00000003, 0x4062C431, 0x4063B020,\n\t0x40648220, 0x00000003, 0x4062C432, 0x4063B020, 0x40648220, 0x00000003,\n\t0x4062C433, 0x4063B020, 0x40648220, 0x00000003, 0x4062C434, 0x4063B020,\n\t0x40648220, 0x00000003, 0x4062C421, 0x4063B020, 0x40648420, 0x00000003,\n\t0x4062C422, 0x4063B020, 0x40648420, 0x00000003, 0x4062C423, 0x4063B020,\n\t0x40648420, 0x00000003, 0x4062C424, 0x4063B020, 0x40648420, 0x00000003,\n\t0x4062C425, 0x4063B020, 0x40648420, 0x00000003, 0x4062C426, 0x4063B020,\n\t0x40648420, 0x00000003, 0x4062C427, 0x4063B020,\n\t// Block 557, offset 0x8b40\n\t0x40648420, 0x00000003, 0x4062C428, 0x4063B020, 0x40648420, 0x00000003,\n\t0x4062C429, 0x4063B020, 0x40648420, 0x00000003, 0x4062C421, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C422, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C423, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C424, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C425, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C426, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C427, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C428, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C429, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C42A, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C42B, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C42C, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C42D, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C42E, 0x4063B020,\n\t// Block 558, offset 0x8b80\n\t0x40648C20, 0x00000003, 0x4062C42F, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C430, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C431, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C432, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C433, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C434, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C435, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C436, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C437, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C438, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C439, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C43A, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C43B, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C43C, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C43D, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C43E, 0x4063B020,\n\t// Block 559, offset 0x8bc0\n\t0x40648C20, 0x00000003, 0x4062C43F, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C440, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C441, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C442, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C443, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C444, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C445, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C446, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C447, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C448, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C449, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C44A, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C44B, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C44C, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C44D, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C44E, 0x4063B020,\n\t// Block 560, offset 0x8c00\n\t0x40648C20, 0x00000003, 0x4062C44F, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C450, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C451, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C452, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C453, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C454, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C455, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C456, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C457, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C458, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C459, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C45A, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C45B, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C45C, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C45D, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C45E, 0x4063B020,\n\t// Block 561, offset 0x8c40\n\t0x40648C20, 0x00000003, 0x4062C45F, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C460, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C461, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C462, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C463, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C464, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C465, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C466, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C467, 0x4063B020,\n\t0x40648C20, 0x00000003, 0x4062C468, 0x4063B020, 0x40648C20, 0x00000003,\n\t0x4062C469, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C46A, 0x4063B020,\n\t0x40648C20, 0x00000002, 0x4062C421, 0x4063B220, 0x00000002, 0x4062C422,\n\t0x4063B220, 0x00000002, 0x4062C423, 0x4063B220, 0x00000002, 0x4062C424,\n\t0x4063B220, 0x00000002, 0x4062C425, 0x4063B220,\n\t// Block 562, offset 0x8c80\n\t0x00000002, 0x4062C426, 0x4063B220, 0x00000002, 0x4062C427, 0x4063B220,\n\t0x00000002, 0x4062C428, 0x4063B220, 0x00000002, 0x4062C429, 0x4063B220,\n\t0x00000002, 0x4062C42A, 0x4063B220, 0x00000002, 0x4062C42B, 0x4063B220,\n\t0x00000002, 0x4062C42C, 0x4063B220, 0x00000002, 0x4062C42D, 0x4063B220,\n\t0x00000002, 0x4062C42E, 0x4063B220, 0x00000002, 0x4062C42F, 0x4063B220,\n\t0x00000002, 0x4062C430, 0x4063B220, 0x00000002, 0x4062C431, 0x4063B220,\n\t0x00000002, 0x4062C432, 0x4063B220, 0x00000002, 0x4062C433, 0x4063B220,\n\t0x00000002, 0x4062C434, 0x4063B220, 0x00000002, 0x4062C435, 0x4063B220,\n\t0x00000002, 0x4062C436, 0x4063B220, 0x00000002, 0x4062C437, 0x4063B220,\n\t0x00000002, 0x4062C438, 0x4063B220, 0x00000002, 0x4062C439, 0x4063B220,\n\t0x00000002, 0x4062C43A, 0x4063B220, 0x00000002,\n\t// Block 563, offset 0x8cc0\n\t0x4062C43B, 0x4063B220, 0x00000002, 0x4062C43C, 0x4063B220, 0x00000002,\n\t0x4062C43D, 0x4063B220, 0x00000002, 0x4062C43E, 0x4063B220, 0x00000002,\n\t0x4062C43F, 0x4063B220, 0x00000002, 0x4062C440, 0x4063B220, 0x00000002,\n\t0x4062C441, 0x4063B220, 0x00000002, 0x4062C442, 0x4063B220, 0x00000002,\n\t0x4062C443, 0x4063B220, 0x00000002, 0x4062C444, 0x4063B220, 0x00000002,\n\t0x4062C445, 0x4063B220, 0x00000002, 0x4062C446, 0x4063B220, 0x00000002,\n\t0x4062C447, 0x4063B220, 0x00000002, 0x4062C448, 0x4063B220, 0x00000002,\n\t0x4062C421, 0x4063B820, 0x00000002, 0x4062C422, 0x4063B820, 0x00000002,\n\t0x4062C423, 0x4063B820, 0x00000002, 0x4062C424, 0x4063B820, 0x00000002,\n\t0x4062C425, 0x4063B820, 0x00000002, 0x4062C426, 0x4063B820, 0x00000002,\n\t0x4062C427, 0x4063B820, 0x00000002, 0x4062C428,\n\t// Block 564, offset 0x8d00\n\t0x4063B820, 0x00000002, 0x4062C429, 0x4063B820, 0x00000002, 0x4062C42A,\n\t0x4063B820, 0x00000002, 0x4062C42B, 0x4063B820, 0x00000002, 0x4062C42C,\n\t0x4063B820, 0x00000002, 0x4062C42D, 0x4063B820, 0x00000002, 0x4062C42E,\n\t0x4063B820, 0x00000002, 0x4062C42F, 0x4063B820, 0x00000002, 0x4062C430,\n\t0x4063B820, 0x00000002, 0x4062C431, 0x4063B820, 0x00000002, 0x4062C432,\n\t0x4063B820, 0x00000002, 0x4062C433, 0x4063B820, 0x00000002, 0x4062C434,\n\t0x4063B820, 0x00000002, 0x4062C435, 0x4063B820, 0x00000002, 0x4062C436,\n\t0x4063B820, 0x00000002, 0x4062C437, 0x4063B820, 0x00000002, 0x4062C438,\n\t0x4063B820, 0x00000002, 0x4062C439, 0x4063B820, 0x00000002, 0x4062C43A,\n\t0x4063B820, 0x00000002, 0x4062C43B, 0x4063B820, 0x00000002, 0x4062C43C,\n\t0x4063B820, 0x00000002, 0x4062C43D, 0x4063B820,\n\t// Block 565, offset 0x8d40\n\t0x00000002, 0x4062C43E, 0x4063B820, 0x00000002, 0x4062C43F, 0x4063B820,\n\t0x00000002, 0x4062C440, 0x4063B820, 0x00000002, 0x4062C441, 0x4063B820,\n\t0x00000002, 0x4062C442, 0x4063B820, 0x00000002, 0x4062C443, 0x4063B820,\n\t0x00000002, 0x4062C444, 0x4063B820, 0x00000002, 0x4062C445, 0x4063B820,\n\t0x00000002, 0x4062C446, 0x4063B820, 0x00000002, 0x4062C447, 0x4063B820,\n\t0x00000002, 0x4062C448, 0x4063B820, 0x00000002, 0x4062C449, 0x4063B820,\n\t0x00000002, 0x4062C44A, 0x4063B820, 0x00000002, 0x4062C44B, 0x4063B820,\n\t0x00000002, 0x4062C44C, 0x4063B820, 0x00000002, 0x4062C44D, 0x4063B820,\n\t0x00000002, 0x4062C44E, 0x4063B820, 0x00000002, 0x4062C44F, 0x4063B820,\n\t0x00000002, 0x4062C450, 0x4063B820, 0x00000002, 0x4062C451, 0x4063B820,\n\t0x00000002, 0x4062C452, 0x4063B820, 0x00000002,\n\t// Block 566, offset 0x8d80\n\t0x4062C453, 0x4063B820, 0x00000002, 0x4062C454, 0x4063B820, 0x00000002,\n\t0x4062C455, 0x4063B820, 0x00000002, 0x4062C456, 0x4063B820, 0x00000002,\n\t0x4062C457, 0x4063B820, 0x00000002, 0x4062C458, 0x4063B820, 0x00000002,\n\t0x4062C459, 0x4063B820, 0x00000002, 0x4062C45A, 0x4063B820, 0x00000002,\n\t0x4062C45B, 0x4063B820, 0x00000002, 0x4062C45C, 0x4063B820, 0x00000002,\n\t0x4062C45D, 0x4063B820, 0x00000002, 0x4062C45E, 0x4063B820, 0x00000002,\n\t0x4062C45F, 0x4063B820, 0x00000002, 0x4062C460, 0x4063B820, 0x00000002,\n\t0x4062C461, 0x4063B820, 0x00000002, 0x4062C462, 0x4063B820, 0x00000002,\n\t0x4062C463, 0x4063B820, 0x00000002, 0x4062C464, 0x4063B820, 0x00000002,\n\t0x4062C465, 0x4063B820, 0x00000002, 0x4062C466, 0x4063B820, 0x00000002,\n\t0x4062C467, 0x4063B820, 0x00000002, 0x4062C468,\n\t// Block 567, offset 0x8dc0\n\t0x4063B820, 0x00000002, 0x4062C469, 0x4063B820, 0x00000002, 0x4062C46A,\n\t0x4063B820, 0x00000002, 0x4062C46B, 0x4063B820, 0x00000002, 0x4062C46C,\n\t0x4063B820, 0x00000002, 0x4062C46D, 0x4063B820, 0x00000002, 0x4062C46E,\n\t0x4063B820, 0x00000002, 0x4062C46F, 0x4063B820, 0x00000002, 0x4062C470,\n\t0x4063B820, 0x00000003, 0x4062C421, 0x4063B820, 0x40646420, 0x00000003,\n\t0x4062C422, 0x4063B820, 0x40646420, 0x00000003, 0x4062C423, 0x4063B820,\n\t0x40646420, 0x00000003, 0x4062C424, 0x4063B820, 0x40646420, 0x00000003,\n\t0x4062C425, 0x4063B820, 0x40646420, 0x00000003, 0x4062C421, 0x4063B820,\n\t0x40646A20, 0x00000003, 0x4062C422, 0x4063B820, 0x40646A20, 0x00000003,\n\t0x4062C423, 0x4063B820, 0x40646A20, 0x00000003, 0x4062C421, 0x4063B820,\n\t0x40647220, 0x00000003, 0x4062C422, 0x4063B820,\n\t// Block 568, offset 0x8e00\n\t0x40647220, 0x00000003, 0x4062C423, 0x4063B820, 0x40647220, 0x00000003,\n\t0x4062C421, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C422, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062C423, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062C424, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C425, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062C426, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062C427, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C428, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062C429, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062C42A, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C42B, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062C42C, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062C42D, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C42E, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062C42F, 0x4063B820,\n\t// Block 569, offset 0x8e40\n\t0x40648C20, 0x00000003, 0x4062C430, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062C431, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C432, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062C433, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062C434, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C435, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062C436, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062C437, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C438, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062C439, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062C43A, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C43B, 0x4063B820,\n\t0x40648C20, 0x00000002, 0x4062C421, 0x4063BA20, 0x00000002, 0x4062C422,\n\t0x4063BA20, 0x00000002, 0x4062C423, 0x4063BA20, 0x00000002, 0x4062C424,\n\t0x4063BA20, 0x00000002, 0x4062C425, 0x4063BA20,\n\t// Block 570, offset 0x8e80\n\t0x00000002, 0x4062C426, 0x4063BA20, 0x00000002, 0x4062C427, 0x4063BA20,\n\t0x00000002, 0x4062C428, 0x4063BA20, 0x00000002, 0x4062C429, 0x4063BA20,\n\t0x00000002, 0x4062C421, 0x4063BE20, 0x00000002, 0x4062C421, 0x4063C220,\n\t0x00000002, 0x4062C422, 0x4063C220, 0x00000002, 0x4062C423, 0x4063C220,\n\t0x00000002, 0x4062C424, 0x4063C220, 0x00000002, 0x4062C425, 0x4063C220,\n\t0x00000002, 0x4062C426, 0x4063C220, 0x00000002, 0x4062C427, 0x4063C220,\n\t0x00000002, 0x4062C428, 0x4063C220, 0x00000002, 0x4062C429, 0x4063C220,\n\t0x00000002, 0x4062C42A, 0x4063C220, 0x00000002, 0x4062C42B, 0x4063C220,\n\t0x00000002, 0x4062C42C, 0x4063C220, 0x00000002, 0x4062C42D, 0x4063C220,\n\t0x00000002, 0x4062C42E, 0x4063C220, 0x00000002, 0x4062C42F, 0x4063C220,\n\t0x00000002, 0x4062C430, 0x4063C220, 0x00000002,\n\t// Block 571, offset 0x8ec0\n\t0x4062C431, 0x4063C220, 0x00000002, 0x4062C432, 0x4063C220, 0x00000002,\n\t0x4062C433, 0x4063C220, 0x00000002, 0x4062C434, 0x4063C220, 0x00000002,\n\t0x4062C435, 0x4063C220, 0x00000002, 0x4062C436, 0x4063C220, 0x00000002,\n\t0x4062C437, 0x4063C220, 0x00000002, 0x4062C438, 0x4063C220, 0x00000002,\n\t0x4062C439, 0x4063C220, 0x00000002, 0x4062C43A, 0x4063C220, 0x00000002,\n\t0x4062C43B, 0x4063C220, 0x00000002, 0x4062C43C, 0x4063C220, 0x00000002,\n\t0x4062C43D, 0x4063C220, 0x00000002, 0x4062C43E, 0x4063C220, 0x00000002,\n\t0x4062C43F, 0x4063C220, 0x00000002, 0x4062C440, 0x4063C220, 0x00000002,\n\t0x4062C441, 0x4063C220, 0x00000002, 0x4062C442, 0x4063C220, 0x00000002,\n\t0x4062C443, 0x4063C220, 0x00000002, 0x4062C444, 0x4063C220, 0x00000002,\n\t0x4062C445, 0x4063C220, 0x00000002, 0x4062C446,\n\t// Block 572, offset 0x8f00\n\t0x4063C220, 0x00000002, 0x4062C447, 0x4063C220, 0x00000002, 0x4062C448,\n\t0x4063C220, 0x00000002, 0x4062C449, 0x4063C220, 0x00000002, 0x4062C44A,\n\t0x4063C220, 0x00000002, 0x4062C44B, 0x4063C220, 0x00000002, 0x4062C44C,\n\t0x4063C220, 0x00000002, 0x4062C44D, 0x4063C220, 0x00000002, 0x4062C44E,\n\t0x4063C220, 0x00000002, 0x4062C44F, 0x4063C220, 0x00000002, 0x4062C450,\n\t0x4063C220, 0x00000002, 0x4062C451, 0x4063C220, 0x00000002, 0x4062C452,\n\t0x4063C220, 0x00000002, 0x4062C453, 0x4063C220, 0x00000002, 0x4062C454,\n\t0x4063C220, 0x00000002, 0x4062C455, 0x4063C220, 0x00000002, 0x4062C456,\n\t0x4063C220, 0x00000002, 0x4062C457, 0x4063C220, 0x00000002, 0x4062C458,\n\t0x4063C220, 0x00000002, 0x4062C459, 0x4063C220, 0x00000002, 0x4062C45A,\n\t0x4063C220, 0x00000002, 0x4062C45B, 0x4063C220,\n\t// Block 573, offset 0x8f40\n\t0x00000002, 0x4062C45C, 0x4063C220, 0x00000002, 0x4062C45D, 0x4063C220,\n\t0x00000002, 0x4062C45E, 0x4063C220, 0x00000003, 0x4062C421, 0x4063C220,\n\t0x40646420, 0x00000003, 0x4062C422, 0x4063C220, 0x40646420, 0x00000003,\n\t0x4062C421, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C422, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062C423, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062C424, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C425, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062C426, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062C427, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C428, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062C429, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062C42A, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C42B, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062C42C, 0x4063C220,\n\t// Block 574, offset 0x8f80\n\t0x40646A20, 0x00000003, 0x4062C42D, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062C42E, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C42F, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062C430, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062C431, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C432, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062C433, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062C434, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C435, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062C436, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062C437, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C438, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062C439, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062C43A, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C43B, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062C43C, 0x4063C220,\n\t// Block 575, offset 0x8fc0\n\t0x40646A20, 0x00000003, 0x4062C43D, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062C43E, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C43F, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062C440, 0x4063C220, 0x40646A20, 0x00000003,\n\t0x4062C441, 0x4063C220, 0x40646A20, 0x00000003, 0x4062C442, 0x4063C220,\n\t0x40646A20, 0x00000003, 0x4062C421, 0x4063C220, 0x40647220, 0x00000003,\n\t0x4062C422, 0x4063C220, 0x40647220, 0x00000003, 0x4062C421, 0x4063C220,\n\t0x40648C20, 0x00000003, 0x4062C422, 0x4063C220, 0x40648C20, 0x00000003,\n\t0x4062C423, 0x4063C220, 0x40648C20, 0x00000003, 0x4062C424, 0x4063C220,\n\t0x40648C20, 0x00000003, 0x4062C425, 0x4063C220, 0x40648C20, 0x00000003,\n\t0x4062C421, 0x4063CC20, 0x40646420, 0x00000003, 0x4062C422, 0x4063CC20,\n\t0x40646420, 0x00000003, 0x4062C423, 0x4063CC20,\n\t// Block 576, offset 0x9000\n\t0x40646420, 0x00000003, 0x4062C421, 0x4063CC20, 0x40647220, 0x00000003,\n\t0x4062C422, 0x4063CC20, 0x40647220, 0x00000003, 0x4062C421, 0x4063CC20,\n\t0x40648420, 0x00000003, 0x4062C422, 0x4063CC20, 0x40648420, 0x00000003,\n\t0x4062C423, 0x4063CC20, 0x40648420, 0x00000003, 0x4062C424, 0x4063CC20,\n\t0x40648420, 0x00000003, 0x4062C425, 0x4063CC20, 0x40648420, 0x00000003,\n\t0x4062C421, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062C422, 0x4063CC20,\n\t0x40648C20, 0x00000003, 0x4062C423, 0x4063CC20, 0x40648C20, 0x00000003,\n\t0x4062C424, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062C425, 0x4063CC20,\n\t0x40648C20, 0x00000003, 0x4062C426, 0x4063CC20, 0x40648C20, 0x00000003,\n\t0x4062C427, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062C428, 0x4063CC20,\n\t0x40648C20, 0x00000003, 0x4062C429, 0x4063CC20,\n\t// Block 577, offset 0x9040\n\t0x40648C20, 0x00000003, 0x4062C42A, 0x4063CC20, 0x40648C20, 0x00000003,\n\t0x4062C42B, 0x4063CC20, 0x40648C20, 0x00000003, 0x4062C42C, 0x4063CC20,\n\t0x40648C20, 0x00000003, 0x4062C42D, 0x4063CC20, 0x40648C20, 0x00000003,\n\t0x4062C42E, 0x4063CC20, 0x40648C20, 0x00000002, 0x4062C421, 0x4063D020,\n\t0x00000002, 0x4062C422, 0x4063D020, 0x00000002, 0x4062C423, 0x4063D020,\n\t0x00000002, 0x4062C424, 0x4063D020, 0x00000002, 0x4062C425, 0x4063D020,\n\t0x00000002, 0x4062C426, 0x4063D020, 0x00000002, 0x4062C427, 0x4063D020,\n\t0x00000002, 0x4062C428, 0x4063D020, 0x00000002, 0x4062C429, 0x4063D020,\n\t0x00000002, 0x4062C42A, 0x4063D020, 0x00000002, 0x4062C42B, 0x4063D020,\n\t0x00000002, 0x4062C42C, 0x4063D020, 0x00000002, 0x4062C42D, 0x4063D020,\n\t0x00000002, 0x4062C42E, 0x4063D020, 0x00000002,\n\t// Block 578, offset 0x9080\n\t0x4062C42F, 0x4063D020, 0x00000002, 0x4062C430, 0x4063D020, 0x00000002,\n\t0x4062C431, 0x4063D020, 0x00000002, 0x4062C432, 0x4063D020, 0x00000002,\n\t0x4062C433, 0x4063D020, 0x00000002, 0x4062C434, 0x4063D020, 0x00000002,\n\t0x4062C435, 0x4063D020, 0x00000002, 0x4062C436, 0x4063D020, 0x00000002,\n\t0x4062C437, 0x4063D020, 0x00000002, 0x4062C438, 0x4063D020, 0x00000002,\n\t0x4062C439, 0x4063D020, 0x00000002, 0x4062C43A, 0x4063D020, 0x00000002,\n\t0x4062C43B, 0x4063D020, 0x00000002, 0x4062C43C, 0x4063D020, 0x00000002,\n\t0x4062C43D, 0x4063D020, 0x00000002, 0x4062C43E, 0x4063D020, 0x00000002,\n\t0x4062C43F, 0x4063D020, 0x00000002, 0x4062C440, 0x4063D020, 0x00000002,\n\t0x4062C441, 0x4063D020, 0x00000002, 0x4062C442, 0x4063D020, 0x00000002,\n\t0x4062C443, 0x4063D020, 0x00000002, 0x4062C444,\n\t// Block 579, offset 0x90c0\n\t0x4063D020, 0x00000002, 0x4062C445, 0x4063D020, 0x00000002, 0x4062C446,\n\t0x4063D020, 0x00000002, 0x4062C447, 0x4063D020, 0x00000002, 0x4062C448,\n\t0x4063D020, 0x00000002, 0x4062C449, 0x4063D020, 0x00000002, 0x4062C44A,\n\t0x4063D020, 0x00000002, 0x4062C44B, 0x4063D020, 0x00000002, 0x4062C44C,\n\t0x4063D020, 0x00000002, 0x4062C44D, 0x4063D020, 0x00000002, 0x4062C44E,\n\t0x4063D020, 0x00000002, 0x4062C44F, 0x4063D020, 0x00000002, 0x4062C450,\n\t0x4063D020, 0x00000003, 0x4062C421, 0x4063D020, 0x40646420, 0x00000003,\n\t0x4062C422, 0x4063D020, 0x40646420, 0x00000003, 0x4062C423, 0x4063D020,\n\t0x40646420, 0x00000003, 0x4062C424, 0x4063D020, 0x40646420, 0x00000003,\n\t0x4062C425, 0x4063D020, 0x40646420, 0x00000003, 0x4062C426, 0x4063D020,\n\t0x40646420, 0x00000003, 0x4062C421, 0x4063D020,\n\t// Block 580, offset 0x9100\n\t0x40646A20, 0x00000003, 0x4062C422, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062C423, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C424, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062C425, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062C426, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C427, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062C428, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062C429, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C42A, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062C42B, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062C42C, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C42D, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062C42E, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062C42F, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C430, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062C431, 0x4063D020,\n\t// Block 581, offset 0x9140\n\t0x40646A20, 0x00000003, 0x4062C432, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062C433, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C434, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062C435, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062C436, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C437, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062C438, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062C439, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C43A, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062C43B, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062C43C, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C43D, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062C43E, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062C43F, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C440, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062C441, 0x4063D020,\n\t// Block 582, offset 0x9180\n\t0x40646A20, 0x00000003, 0x4062C442, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062C443, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C444, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062C445, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062C446, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C447, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062C448, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062C449, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C44A, 0x4063D020,\n\t0x40646A20, 0x00000003, 0x4062C44B, 0x4063D020, 0x40646A20, 0x00000003,\n\t0x4062C44C, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C421, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062C422, 0x4063D020, 0x40647220, 0x00000003,\n\t0x4062C423, 0x4063D020, 0x40647220, 0x00000003, 0x4062C424, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062C425, 0x4063D020,\n\t// Block 583, offset 0x91c0\n\t0x40647220, 0x00000003, 0x4062C426, 0x4063D020, 0x40647220, 0x00000003,\n\t0x4062C427, 0x4063D020, 0x40647220, 0x00000003, 0x4062C428, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062C429, 0x4063D020, 0x40647220, 0x00000003,\n\t0x4062C42A, 0x4063D020, 0x40647220, 0x00000003, 0x4062C42B, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062C42C, 0x4063D020, 0x40647220, 0x00000003,\n\t0x4062C42D, 0x4063D020, 0x40647220, 0x00000003, 0x4062C42E, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062C42F, 0x4063D020, 0x40647220, 0x00000003,\n\t0x4062C430, 0x4063D020, 0x40647220, 0x00000003, 0x4062C431, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062C432, 0x4063D020, 0x40647220, 0x00000003,\n\t0x4062C433, 0x4063D020, 0x40647220, 0x00000003, 0x4062C434, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062C421, 0x4063D020,\n\t// Block 584, offset 0x9200\n\t0x40648220, 0x00000003, 0x4062C422, 0x4063D020, 0x40648220, 0x00000003,\n\t0x4062C423, 0x4063D020, 0x40648220, 0x00000003, 0x4062C421, 0x4063D020,\n\t0x40648420, 0x00000003, 0x4062C422, 0x4063D020, 0x40648420, 0x00000003,\n\t0x4062C423, 0x4063D020, 0x40648420, 0x00000003, 0x4062C424, 0x4063D020,\n\t0x40648420, 0x00000003, 0x4062C425, 0x4063D020, 0x40648420, 0x00000003,\n\t0x4062C426, 0x4063D020, 0x40648420, 0x00000003, 0x4062C427, 0x4063D020,\n\t0x40648420, 0x00000003, 0x4062C428, 0x4063D020, 0x40648420, 0x00000003,\n\t0x4062C421, 0x4063D020, 0x40648C20, 0x00000003, 0x4062C422, 0x4063D020,\n\t0x40648C20, 0x00000003, 0x4062C423, 0x4063D020, 0x40648C20, 0x00000003,\n\t0x4062C424, 0x4063D020, 0x40648C20, 0x00000003, 0x4062C425, 0x4063D020,\n\t0x40648C20, 0x00000003, 0x4062C426, 0x4063D020,\n\t// Block 585, offset 0x9240\n\t0x40648C20, 0x00000003, 0x4062C427, 0x4063D020, 0x40648C20, 0x00000002,\n\t0x4062C821, 0x4063A820, 0x00000002, 0x4062C822, 0x4063A820, 0x00000002,\n\t0x4062C823, 0x4063A820, 0x00000002, 0x4062C824, 0x4063A820, 0x00000002,\n\t0x4062C825, 0x4063A820, 0x00000002, 0x4062C826, 0x4063A820, 0x00000002,\n\t0x4062C827, 0x4063A820, 0x00000002, 0x4062C828, 0x4063A820, 0x00000002,\n\t0x4062C829, 0x4063A820, 0x00000002, 0x4062C82A, 0x4063A820, 0x00000002,\n\t0x4062C82B, 0x4063A820, 0x00000002, 0x4062C82C, 0x4063A820, 0x00000002,\n\t0x4062C82D, 0x4063A820, 0x00000002, 0x4062C82E, 0x4063A820, 0x00000002,\n\t0x4062C82F, 0x4063A820, 0x00000002, 0x4062C830, 0x4063A820, 0x00000002,\n\t0x4062C831, 0x4063A820, 0x00000002, 0x4062C832, 0x4063A820, 0x00000002,\n\t0x4062C833, 0x4063A820, 0x00000002, 0x4062C834,\n\t// Block 586, offset 0x9280\n\t0x4063A820, 0x00000002, 0x4062C835, 0x4063A820, 0x00000002, 0x4062C836,\n\t0x4063A820, 0x00000003, 0x4062C821, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062C822, 0x4063A820, 0x40646420, 0x00000003, 0x4062C823, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062C824, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062C825, 0x4063A820, 0x40646420, 0x00000003, 0x4062C826, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062C827, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062C828, 0x4063A820, 0x40646420, 0x00000003, 0x4062C829, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062C82A, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062C821, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C822, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062C823, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062C824, 0x4063A820, 0x40646A20, 0x00000003,\n\t// Block 587, offset 0x92c0\n\t0x4062C825, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C826, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062C827, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062C828, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C829, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062C82A, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062C82B, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C82C, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062C82D, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062C82E, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C82F, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062C830, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062C831, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C832, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062C833, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062C834, 0x4063A820, 0x40646A20, 0x00000003,\n\t// Block 588, offset 0x9300\n\t0x4062C835, 0x4063A820, 0x40646A20, 0x00000003, 0x4062C836, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062C837, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062C821, 0x4063A820, 0x40647220, 0x00000003, 0x4062C822, 0x4063A820,\n\t0x40647220, 0x00000003, 0x4062C823, 0x4063A820, 0x40647220, 0x00000003,\n\t0x4062C824, 0x4063A820, 0x40647220, 0x00000003, 0x4062C825, 0x4063A820,\n\t0x40647220, 0x00000003, 0x4062C826, 0x4063A820, 0x40647220, 0x00000003,\n\t0x4062C827, 0x4063A820, 0x40647220, 0x00000003, 0x4062C821, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062C822, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062C823, 0x4063A820, 0x40648220, 0x00000003, 0x4062C824, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062C825, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062C826, 0x4063A820, 0x40648220, 0x00000003,\n\t// Block 589, offset 0x9340\n\t0x4062C827, 0x4063A820, 0x40648220, 0x00000003, 0x4062C828, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062C829, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062C82A, 0x4063A820, 0x40648220, 0x00000003, 0x4062C82B, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062C82C, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062C82D, 0x4063A820, 0x40648220, 0x00000003, 0x4062C82E, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062C82F, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062C830, 0x4063A820, 0x40648220, 0x00000003, 0x4062C831, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062C832, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062C833, 0x4063A820, 0x40648220, 0x00000003, 0x4062C834, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062C835, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062C836, 0x4063A820, 0x40648220, 0x00000003,\n\t// Block 590, offset 0x9380\n\t0x4062C837, 0x4063A820, 0x40648220, 0x00000003, 0x4062C838, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062C839, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062C83A, 0x4063A820, 0x40648220, 0x00000003, 0x4062C821, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062C822, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062C823, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C824, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062C825, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062C826, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C827, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062C828, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062C829, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C82A, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062C82B, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062C82C, 0x4063A820, 0x40648C20, 0x00000003,\n\t// Block 591, offset 0x93c0\n\t0x4062C82D, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C82E, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062C82F, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062C830, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C831, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062C832, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062C833, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C834, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062C835, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062C836, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C837, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062C838, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062C839, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C83A, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062C83B, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062C83C, 0x4063A820, 0x40648C20, 0x00000003,\n\t// Block 592, offset 0x9400\n\t0x4062C83D, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C83E, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062C83F, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062C840, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C841, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062C842, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062C843, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C844, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062C845, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062C846, 0x4063A820, 0x40648C20, 0x00000003, 0x4062C847, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062C848, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062C849, 0x4063A820, 0x40648C20, 0x00000002, 0x4062C821, 0x4063AA20,\n\t0x00000002, 0x4062C822, 0x4063AA20, 0x00000002, 0x4062C823, 0x4063AA20,\n\t0x00000002, 0x4062C824, 0x4063AA20, 0x00000002,\n\t// Block 593, offset 0x9440\n\t0x4062C825, 0x4063AA20, 0x00000002, 0x4062C826, 0x4063AA20, 0x00000002,\n\t0x4062C827, 0x4063AA20, 0x00000002, 0x4062C828, 0x4063AA20, 0x00000002,\n\t0x4062C829, 0x4063AA20, 0x00000002, 0x4062C82A, 0x4063AA20, 0x00000002,\n\t0x4062C82B, 0x4063AA20, 0x00000002, 0x4062C82C, 0x4063AA20, 0x00000002,\n\t0x4062C82D, 0x4063AA20, 0x00000002, 0x4062C82E, 0x4063AA20, 0x00000003,\n\t0x4062C821, 0x4063AA20, 0x40646420, 0x00000003, 0x4062C822, 0x4063AA20,\n\t0x40646420, 0x00000003, 0x4062C823, 0x4063AA20, 0x40646420, 0x00000003,\n\t0x4062C824, 0x4063AA20, 0x40646420, 0x00000003, 0x4062C825, 0x4063AA20,\n\t0x40646420, 0x00000003, 0x4062C826, 0x4063AA20, 0x40646420, 0x00000003,\n\t0x4062C827, 0x4063AA20, 0x40646420, 0x00000003, 0x4062C828, 0x4063AA20,\n\t0x40646420, 0x00000003, 0x4062C829, 0x4063AA20,\n\t// Block 594, offset 0x9480\n\t0x40646420, 0x00000003, 0x4062C82A, 0x4063AA20, 0x40646420, 0x00000002,\n\t0x4062C821, 0x4063B020, 0x00000002, 0x4062C822, 0x4063B020, 0x00000002,\n\t0x4062C823, 0x4063B020, 0x00000002, 0x4062C824, 0x4063B020, 0x00000002,\n\t0x4062C825, 0x4063B020, 0x00000002, 0x4062C826, 0x4063B020, 0x00000002,\n\t0x4062C827, 0x4063B020, 0x00000002, 0x4062C828, 0x4063B020, 0x00000002,\n\t0x4062C829, 0x4063B020, 0x00000003, 0x4062C821, 0x4063B020, 0x40646420,\n\t0x00000003, 0x4062C822, 0x4063B020, 0x40646420, 0x00000003, 0x4062C823,\n\t0x4063B020, 0x40646420, 0x00000003, 0x4062C824, 0x4063B020, 0x40646420,\n\t0x00000003, 0x4062C825, 0x4063B020, 0x40646420, 0x00000003, 0x4062C826,\n\t0x4063B020, 0x40646420, 0x00000003, 0x4062C827, 0x4063B020, 0x40646420,\n\t0x00000003, 0x4062C828, 0x4063B020, 0x40646420,\n\t// Block 595, offset 0x94c0\n\t0x00000003, 0x4062C829, 0x4063B020, 0x40646420, 0x00000003, 0x4062C82A,\n\t0x4063B020, 0x40646420, 0x00000003, 0x4062C82B, 0x4063B020, 0x40646420,\n\t0x00000003, 0x4062C82C, 0x4063B020, 0x40646420, 0x00000003, 0x4062C82D,\n\t0x4063B020, 0x40646420, 0x00000003, 0x4062C82E, 0x4063B020, 0x40646420,\n\t0x00000003, 0x4062C82F, 0x4063B020, 0x40646420, 0x00000003, 0x4062C830,\n\t0x4063B020, 0x40646420, 0x00000003, 0x4062C831, 0x4063B020, 0x40646420,\n\t0x00000003, 0x4062C832, 0x4063B020, 0x40646420, 0x00000003, 0x4062C833,\n\t0x4063B020, 0x40646420, 0x00000003, 0x4062C834, 0x4063B020, 0x40646420,\n\t0x00000003, 0x4062C835, 0x4063B020, 0x40646420, 0x00000003, 0x4062C836,\n\t0x4063B020, 0x40646420, 0x00000003, 0x4062C837, 0x4063B020, 0x40646420,\n\t0x00000003, 0x4062C821, 0x4063B020, 0x40646A20,\n\t// Block 596, offset 0x9500\n\t0x00000003, 0x4062C822, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C823,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062C824, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062C825, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C826,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062C827, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062C828, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C829,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062C82A, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062C82B, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C82C,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062C82D, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062C82E, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C82F,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062C830, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062C831, 0x4063B020, 0x40646A20,\n\t// Block 597, offset 0x9540\n\t0x00000003, 0x4062C832, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C833,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062C834, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062C835, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C836,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062C837, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062C838, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C839,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062C83A, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062C83B, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C83C,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062C83D, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062C83E, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C83F,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062C840, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062C841, 0x4063B020, 0x40646A20,\n\t// Block 598, offset 0x9580\n\t0x00000003, 0x4062C842, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C843,\n\t0x4063B020, 0x40646A20, 0x00000003, 0x4062C844, 0x4063B020, 0x40646A20,\n\t0x00000003, 0x4062C845, 0x4063B020, 0x40646A20, 0x00000003, 0x4062C821,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062C822, 0x4063B020, 0x40647220,\n\t0x00000003, 0x4062C823, 0x4063B020, 0x40647220, 0x00000003, 0x4062C824,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062C825, 0x4063B020, 0x40647220,\n\t0x00000003, 0x4062C826, 0x4063B020, 0x40647220, 0x00000003, 0x4062C827,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062C828, 0x4063B020, 0x40647220,\n\t0x00000003, 0x4062C829, 0x4063B020, 0x40647220, 0x00000003, 0x4062C82A,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062C82B, 0x4063B020, 0x40647220,\n\t0x00000003, 0x4062C82C, 0x4063B020, 0x40647220,\n\t// Block 599, offset 0x95c0\n\t0x00000003, 0x4062C82D, 0x4063B020, 0x40647220, 0x00000003, 0x4062C82E,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062C82F, 0x4063B020, 0x40647220,\n\t0x00000003, 0x4062C830, 0x4063B020, 0x40647220, 0x00000003, 0x4062C831,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062C832, 0x4063B020, 0x40647220,\n\t0x00000003, 0x4062C833, 0x4063B020, 0x40647220, 0x00000003, 0x4062C834,\n\t0x4063B020, 0x40647220, 0x00000003, 0x4062C821, 0x4063B020, 0x40648220,\n\t0x00000003, 0x4062C822, 0x4063B020, 0x40648220, 0x00000003, 0x4062C823,\n\t0x4063B020, 0x40648220, 0x00000003, 0x4062C824, 0x4063B020, 0x40648220,\n\t0x00000003, 0x4062C825, 0x4063B020, 0x40648220, 0x00000003, 0x4062C826,\n\t0x4063B020, 0x40648220, 0x00000003, 0x4062C827, 0x4063B020, 0x40648220,\n\t0x00000003, 0x4062C828, 0x4063B020, 0x40648220,\n\t// Block 600, offset 0x9600\n\t0x00000003, 0x4062C829, 0x4063B020, 0x40648220, 0x00000003, 0x4062C82A,\n\t0x4063B020, 0x40648220, 0x00000003, 0x4062C82B, 0x4063B020, 0x40648220,\n\t0x00000003, 0x4062C82C, 0x4063B020, 0x40648220, 0x00000003, 0x4062C82D,\n\t0x4063B020, 0x40648220, 0x00000003, 0x4062C82E, 0x4063B020, 0x40648220,\n\t0x00000003, 0x4062C82F, 0x4063B020, 0x40648220, 0x00000003, 0x4062C830,\n\t0x4063B020, 0x40648220, 0x00000003, 0x4062C831, 0x4063B020, 0x40648220,\n\t0x00000003, 0x4062C832, 0x4063B020, 0x40648220, 0x00000003, 0x4062C821,\n\t0x4063B020, 0x40648420, 0x00000003, 0x4062C822, 0x4063B020, 0x40648420,\n\t0x00000003, 0x4062C823, 0x4063B020, 0x40648420, 0x00000003, 0x4062C824,\n\t0x4063B020, 0x40648420, 0x00000003, 0x4062C825, 0x4063B020, 0x40648420,\n\t0x00000003, 0x4062C826, 0x4063B020, 0x40648420,\n\t// Block 601, offset 0x9640\n\t0x00000003, 0x4062C827, 0x4063B020, 0x40648420, 0x00000003, 0x4062C828,\n\t0x4063B020, 0x40648420, 0x00000003, 0x4062C829, 0x4063B020, 0x40648420,\n\t0x00000003, 0x4062C82A, 0x4063B020, 0x40648420, 0x00000003, 0x4062C82B,\n\t0x4063B020, 0x40648420, 0x00000003, 0x4062C82C, 0x4063B020, 0x40648420,\n\t0x00000003, 0x4062C82D, 0x4063B020, 0x40648420, 0x00000003, 0x4062C82E,\n\t0x4063B020, 0x40648420, 0x00000003, 0x4062C82F, 0x4063B020, 0x40648420,\n\t0x00000003, 0x4062C821, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C822,\n\t0x4063B020, 0x40648C20, 0x00000003, 0x4062C823, 0x4063B020, 0x40648C20,\n\t0x00000003, 0x4062C824, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C825,\n\t0x4063B020, 0x40648C20, 0x00000003, 0x4062C826, 0x4063B020, 0x40648C20,\n\t0x00000003, 0x4062C827, 0x4063B020, 0x40648C20,\n\t// Block 602, offset 0x9680\n\t0x00000003, 0x4062C828, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C829,\n\t0x4063B020, 0x40648C20, 0x00000003, 0x4062C82A, 0x4063B020, 0x40648C20,\n\t0x00000003, 0x4062C82B, 0x4063B020, 0x40648C20, 0x00000003, 0x4062C82C,\n\t0x4063B020, 0x40648C20, 0x00000002, 0x4062C821, 0x4063B220, 0x00000002,\n\t0x4062C822, 0x4063B220, 0x00000002, 0x4062C823, 0x4063B220, 0x00000002,\n\t0x4062C824, 0x4063B220, 0x00000002, 0x4062C825, 0x4063B220, 0x00000002,\n\t0x4062C826, 0x4063B220, 0x00000002, 0x4062C827, 0x4063B220, 0x00000002,\n\t0x4062C828, 0x4063B220, 0x00000002, 0x4062C829, 0x4063B220, 0x00000002,\n\t0x4062C82A, 0x4063B220, 0x00000002, 0x4062C82B, 0x4063B220, 0x00000002,\n\t0x4062C82C, 0x4063B220, 0x00000002, 0x4062C82D, 0x4063B220, 0x00000002,\n\t0x4062C82E, 0x4063B220, 0x00000002, 0x4062C82F,\n\t// Block 603, offset 0x96c0\n\t0x4063B220, 0x00000002, 0x4062C830, 0x4063B220, 0x00000002, 0x4062C831,\n\t0x4063B220, 0x00000002, 0x4062C832, 0x4063B220, 0x00000002, 0x4062C833,\n\t0x4063B220, 0x00000002, 0x4062C834, 0x4063B220, 0x00000002, 0x4062C821,\n\t0x4063B820, 0x00000002, 0x4062C822, 0x4063B820, 0x00000002, 0x4062C823,\n\t0x4063B820, 0x00000002, 0x4062C824, 0x4063B820, 0x00000002, 0x4062C825,\n\t0x4063B820, 0x00000002, 0x4062C826, 0x4063B820, 0x00000002, 0x4062C827,\n\t0x4063B820, 0x00000002, 0x4062C828, 0x4063B820, 0x00000002, 0x4062C829,\n\t0x4063B820, 0x00000002, 0x4062C82A, 0x4063B820, 0x00000002, 0x4062C82B,\n\t0x4063B820, 0x00000002, 0x4062C82C, 0x4063B820, 0x00000002, 0x4062C82D,\n\t0x4063B820, 0x00000002, 0x4062C82E, 0x4063B820, 0x00000002, 0x4062C82F,\n\t0x4063B820, 0x00000002, 0x4062C830, 0x4063B820,\n\t// Block 604, offset 0x9700\n\t0x00000002, 0x4062C831, 0x4063B820, 0x00000002, 0x4062C832, 0x4063B820,\n\t0x00000002, 0x4062C833, 0x4063B820, 0x00000002, 0x4062C834, 0x4063B820,\n\t0x00000002, 0x4062C835, 0x4063B820, 0x00000002, 0x4062C836, 0x4063B820,\n\t0x00000002, 0x4062C837, 0x4063B820, 0x00000002, 0x4062C838, 0x4063B820,\n\t0x00000002, 0x4062C839, 0x4063B820, 0x00000002, 0x4062C83A, 0x4063B820,\n\t0x00000002, 0x4062C83B, 0x4063B820, 0x00000002, 0x4062C83C, 0x4063B820,\n\t0x00000002, 0x4062C83D, 0x4063B820, 0x00000002, 0x4062C83E, 0x4063B820,\n\t0x00000002, 0x4062C83F, 0x4063B820, 0x00000002, 0x4062C840, 0x4063B820,\n\t0x00000002, 0x4062C841, 0x4063B820, 0x00000002, 0x4062C842, 0x4063B820,\n\t0x00000002, 0x4062C843, 0x4063B820, 0x00000002, 0x4062C844, 0x4063B820,\n\t0x00000002, 0x4062C845, 0x4063B820, 0x00000002,\n\t// Block 605, offset 0x9740\n\t0x4062C846, 0x4063B820, 0x00000002, 0x4062C847, 0x4063B820, 0x00000002,\n\t0x4062C848, 0x4063B820, 0x00000002, 0x4062C849, 0x4063B820, 0x00000002,\n\t0x4062C84A, 0x4063B820, 0x00000002, 0x4062C84B, 0x4063B820, 0x00000002,\n\t0x4062C84C, 0x4063B820, 0x00000002, 0x4062C84D, 0x4063B820, 0x00000002,\n\t0x4062C84E, 0x4063B820, 0x00000002, 0x4062C84F, 0x4063B820, 0x00000002,\n\t0x4062C850, 0x4063B820, 0x00000002, 0x4062C851, 0x4063B820, 0x00000002,\n\t0x4062C852, 0x4063B820, 0x00000002, 0x4062C853, 0x4063B820, 0x00000002,\n\t0x4062C854, 0x4063B820, 0x00000002, 0x4062C855, 0x4063B820, 0x00000002,\n\t0x4062C856, 0x4063B820, 0x00000002, 0x4062C857, 0x4063B820, 0x00000002,\n\t0x4062C858, 0x4063B820, 0x00000003, 0x4062C821, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062C822, 0x4063B820, 0x40646420,\n\t// Block 606, offset 0x9780\n\t0x00000003, 0x4062C823, 0x4063B820, 0x40646420, 0x00000003, 0x4062C824,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062C825, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062C826, 0x4063B820, 0x40646420, 0x00000003, 0x4062C827,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062C828, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062C829, 0x4063B820, 0x40646420, 0x00000003, 0x4062C82A,\n\t0x4063B820, 0x40646420, 0x00000003, 0x4062C82B, 0x4063B820, 0x40646420,\n\t0x00000003, 0x4062C82C, 0x4063B820, 0x40646420, 0x00000003, 0x4062C821,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062C822, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062C823, 0x4063B820, 0x40646A20, 0x00000003, 0x4062C824,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062C825, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062C821, 0x4063B820, 0x40648C20,\n\t// Block 607, offset 0x97c0\n\t0x00000003, 0x4062C822, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C823,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062C824, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062C825, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C826,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062C827, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062C828, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C829,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062C82A, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062C82B, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C82C,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062C82D, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062C82E, 0x4063B820, 0x40648C20, 0x00000003, 0x4062C82F,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062C821, 0x4063BA20, 0x40647220,\n\t0x00000002, 0x4062C821, 0x4063BE20, 0x00000002,\n\t// Block 608, offset 0x9800\n\t0x4062C822, 0x4063BE20, 0x00000002, 0x4062C823, 0x4063BE20, 0x00000002,\n\t0x4062C824, 0x4063BE20, 0x00000002, 0x4062C825, 0x4063BE20, 0x00000002,\n\t0x4062C826, 0x4063BE20, 0x00000002, 0x4062C827, 0x4063BE20, 0x00000002,\n\t0x4062C828, 0x4063BE20, 0x00000002, 0x4062C829, 0x4063BE20, 0x00000002,\n\t0x4062C82A, 0x4063BE20, 0x00000002, 0x4062C82B, 0x4063BE20, 0x00000002,\n\t0x4062C821, 0x4063C220, 0x00000002, 0x4062C822, 0x4063C220, 0x00000002,\n\t0x4062C823, 0x4063C220, 0x00000002, 0x4062C824, 0x4063C220, 0x00000002,\n\t0x4062C825, 0x4063C220, 0x00000002, 0x4062C826, 0x4063C220, 0x00000002,\n\t0x4062C827, 0x4063C220, 0x00000002, 0x4062C828, 0x4063C220, 0x00000002,\n\t0x4062C829, 0x4063C220, 0x00000002, 0x4062C82A, 0x4063C220, 0x00000002,\n\t0x4062C82B, 0x4063C220, 0x00000002, 0x4062C82C,\n\t// Block 609, offset 0x9840\n\t0x4063C220, 0x00000002, 0x4062C82D, 0x4063C220, 0x00000002, 0x4062C82E,\n\t0x4063C220, 0x00000002, 0x4062C82F, 0x4063C220, 0x00000002, 0x4062C830,\n\t0x4063C220, 0x00000002, 0x4062C831, 0x4063C220, 0x00000002, 0x4062C832,\n\t0x4063C220, 0x00000002, 0x4062C833, 0x4063C220, 0x00000002, 0x4062C834,\n\t0x4063C220, 0x00000002, 0x4062C835, 0x4063C220, 0x00000002, 0x4062C836,\n\t0x4063C220, 0x00000002, 0x4062C837, 0x4063C220, 0x00000002, 0x4062C838,\n\t0x4063C220, 0x00000002, 0x4062C839, 0x4063C220, 0x00000002, 0x4062C83A,\n\t0x4063C220, 0x00000002, 0x4062C83B, 0x4063C220, 0x00000002, 0x4062C83C,\n\t0x4063C220, 0x00000002, 0x4062C83D, 0x4063C220, 0x00000002, 0x4062C83E,\n\t0x4063C220, 0x00000002, 0x4062C83F, 0x4063C220, 0x00000002, 0x4062C840,\n\t0x4063C220, 0x00000002, 0x4062C841, 0x4063C220,\n\t// Block 610, offset 0x9880\n\t0x00000002, 0x4062C842, 0x4063C220, 0x00000002, 0x4062C843, 0x4063C220,\n\t0x00000002, 0x4062C844, 0x4063C220, 0x00000002, 0x4062C845, 0x4063C220,\n\t0x00000002, 0x4062C846, 0x4063C220, 0x00000002, 0x4062C847, 0x4063C220,\n\t0x00000002, 0x4062C848, 0x4063C220, 0x00000002, 0x4062C849, 0x4063C220,\n\t0x00000002, 0x4062C84A, 0x4063C220, 0x00000002, 0x4062C84B, 0x4063C220,\n\t0x00000002, 0x4062C84C, 0x4063C220, 0x00000002, 0x4062C84D, 0x4063C220,\n\t0x00000002, 0x4062C84E, 0x4063C220, 0x00000002, 0x4062C84F, 0x4063C220,\n\t0x00000002, 0x4062C850, 0x4063C220, 0x00000002, 0x4062C851, 0x4063C220,\n\t0x00000002, 0x4062C852, 0x4063C220, 0x00000002, 0x4062C853, 0x4063C220,\n\t0x00000003, 0x4062C821, 0x4063C220, 0x40646420, 0x00000003, 0x4062C822,\n\t0x4063C220, 0x40646420, 0x00000003, 0x4062C823,\n\t// Block 611, offset 0x98c0\n\t0x4063C220, 0x40646420, 0x00000003, 0x4062C824, 0x4063C220, 0x40646420,\n\t0x00000003, 0x4062C825, 0x4063C220, 0x40646420, 0x00000003, 0x4062C826,\n\t0x4063C220, 0x40646420, 0x00000003, 0x4062C827, 0x4063C220, 0x40646420,\n\t0x00000003, 0x4062C828, 0x4063C220, 0x40646420, 0x00000003, 0x4062C829,\n\t0x4063C220, 0x40646420, 0x00000003, 0x4062C82A, 0x4063C220, 0x40646420,\n\t0x00000003, 0x4062C82B, 0x4063C220, 0x40646420, 0x00000003, 0x4062C82C,\n\t0x4063C220, 0x40646420, 0x00000003, 0x4062C82D, 0x4063C220, 0x40646420,\n\t0x00000003, 0x4062C82E, 0x4063C220, 0x40646420, 0x00000003, 0x4062C82F,\n\t0x4063C220, 0x40646420, 0x00000003, 0x4062C830, 0x4063C220, 0x40646420,\n\t0x00000003, 0x4062C831, 0x4063C220, 0x40646420, 0x00000003, 0x4062C821,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062C822,\n\t// Block 612, offset 0x9900\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062C823, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062C821, 0x4063C220, 0x40647220, 0x00000003, 0x4062C822,\n\t0x4063C220, 0x40647220, 0x00000003, 0x4062C823, 0x4063C220, 0x40647220,\n\t0x00000003, 0x4062C824, 0x4063C220, 0x40647220, 0x00000003, 0x4062C821,\n\t0x4063C220, 0x40648C20, 0x00000003, 0x4062C822, 0x4063C220, 0x40648C20,\n\t0x00000003, 0x4062C823, 0x4063C220, 0x40648C20, 0x00000003, 0x4062C824,\n\t0x4063C220, 0x40648C20, 0x00000003, 0x4062C825, 0x4063C220, 0x40648C20,\n\t0x00000003, 0x4062C826, 0x4063C220, 0x40648C20, 0x00000003, 0x4062C827,\n\t0x4063C220, 0x40648C20, 0x00000003, 0x4062C828, 0x4063C220, 0x40648C20,\n\t0x00000003, 0x4062C829, 0x4063C220, 0x40648C20, 0x00000002, 0x4062C821,\n\t0x4063C620, 0x00000002, 0x4062C822, 0x4063C620,\n\t// Block 613, offset 0x9940\n\t0x00000002, 0x4062C823, 0x4063C620, 0x00000002, 0x4062C824, 0x4063C620,\n\t0x00000002, 0x4062C825, 0x4063C620, 0x00000002, 0x4062C826, 0x4063C620,\n\t0x00000002, 0x4062C827, 0x4063C620, 0x00000002, 0x4062C828, 0x4063C620,\n\t0x00000002, 0x4062C829, 0x4063C620, 0x00000002, 0x4062C821, 0x4063C820,\n\t0x00000002, 0x4062C822, 0x4063C820, 0x00000002, 0x4062C823, 0x4063C820,\n\t0x00000002, 0x4062C824, 0x4063C820, 0x00000002, 0x4062C825, 0x4063C820,\n\t0x00000002, 0x4062C826, 0x4063C820, 0x00000002, 0x4062C827, 0x4063C820,\n\t0x00000002, 0x4062C828, 0x4063C820, 0x00000002, 0x4062C829, 0x4063C820,\n\t0x00000002, 0x4062C82A, 0x4063C820, 0x00000002, 0x4062C82B, 0x4063C820,\n\t0x00000002, 0x4062C82C, 0x4063C820, 0x00000002, 0x4062C82D, 0x4063C820,\n\t0x00000002, 0x4062C82E, 0x4063C820, 0x00000002,\n\t// Block 614, offset 0x9980\n\t0x4062C82F, 0x4063C820, 0x00000002, 0x4062C830, 0x4063C820, 0x00000002,\n\t0x4062C831, 0x4063C820, 0x00000003, 0x4062C821, 0x4063CC20, 0x40646420,\n\t0x00000003, 0x4062C822, 0x4063CC20, 0x40646420, 0x00000003, 0x4062C823,\n\t0x4063CC20, 0x40646420, 0x00000003, 0x4062C824, 0x4063CC20, 0x40646420,\n\t0x00000003, 0x4062C825, 0x4063CC20, 0x40646420, 0x00000003, 0x4062C826,\n\t0x4063CC20, 0x40646420, 0x00000003, 0x4062C827, 0x4063CC20, 0x40646420,\n\t0x00000003, 0x4062C821, 0x4063CC20, 0x40648C20, 0x00000002, 0x4062C821,\n\t0x4063D020, 0x00000002, 0x4062C822, 0x4063D020, 0x00000002, 0x4062C823,\n\t0x4063D020, 0x00000002, 0x4062C824, 0x4063D020, 0x00000002, 0x4062C825,\n\t0x4063D020, 0x00000002, 0x4062C826, 0x4063D020, 0x00000002, 0x4062C827,\n\t0x4063D020, 0x00000002, 0x4062C828, 0x4063D020,\n\t// Block 615, offset 0x99c0\n\t0x00000002, 0x4062C829, 0x4063D020, 0x00000002, 0x4062C82A, 0x4063D020,\n\t0x00000002, 0x4062C82B, 0x4063D020, 0x00000002, 0x4062C82C, 0x4063D020,\n\t0x00000002, 0x4062C82D, 0x4063D020, 0x00000002, 0x4062C82E, 0x4063D020,\n\t0x00000002, 0x4062C82F, 0x4063D020, 0x00000002, 0x4062C830, 0x4063D020,\n\t0x00000002, 0x4062C831, 0x4063D020, 0x00000002, 0x4062C832, 0x4063D020,\n\t0x00000002, 0x4062C833, 0x4063D020, 0x00000002, 0x4062C834, 0x4063D020,\n\t0x00000002, 0x4062C835, 0x4063D020, 0x00000002, 0x4062C836, 0x4063D020,\n\t0x00000002, 0x4062C837, 0x4063D020, 0x00000002, 0x4062C838, 0x4063D020,\n\t0x00000002, 0x4062C839, 0x4063D020, 0x00000002, 0x4062C83A, 0x4063D020,\n\t0x00000002, 0x4062C83B, 0x4063D020, 0x00000002, 0x4062C83C, 0x4063D020,\n\t0x00000002, 0x4062C83D, 0x4063D020, 0x00000002,\n\t// Block 616, offset 0x9a00\n\t0x4062C83E, 0x4063D020, 0x00000002, 0x4062C83F, 0x4063D020, 0x00000002,\n\t0x4062C840, 0x4063D020, 0x00000002, 0x4062C841, 0x4063D020, 0x00000002,\n\t0x4062C842, 0x4063D020, 0x00000002, 0x4062C843, 0x4063D020, 0x00000002,\n\t0x4062C844, 0x4063D020, 0x00000002, 0x4062C845, 0x4063D020, 0x00000002,\n\t0x4062C846, 0x4063D020, 0x00000002, 0x4062C847, 0x4063D020, 0x00000002,\n\t0x4062C848, 0x4063D020, 0x00000002, 0x4062C849, 0x4063D020, 0x00000002,\n\t0x4062C84A, 0x4063D020, 0x00000003, 0x4062C821, 0x4063D020, 0x40646420,\n\t0x00000003, 0x4062C822, 0x4063D020, 0x40646420, 0x00000003, 0x4062C823,\n\t0x4063D020, 0x40646420, 0x00000003, 0x4062C824, 0x4063D020, 0x40646420,\n\t0x00000003, 0x4062C821, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C822,\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062C823,\n\t// Block 617, offset 0x9a40\n\t0x4063D020, 0x40646A20, 0x00000003, 0x4062C824, 0x4063D020, 0x40646A20,\n\t0x00000003, 0x4062C825, 0x4063D020, 0x40646A20, 0x00000003, 0x4062C821,\n\t0x4063D020, 0x40647220, 0x00000003, 0x4062C822, 0x4063D020, 0x40647220,\n\t0x00000003, 0x4062C823, 0x4063D020, 0x40647220, 0x00000003, 0x4062C821,\n\t0x4063D020, 0x40648220, 0x00000003, 0x4062C822, 0x4063D020, 0x40648220,\n\t0x00000003, 0x4062C823, 0x4063D020, 0x40648220, 0x00000003, 0x4062C824,\n\t0x4063D020, 0x40648220, 0x00000003, 0x4062C825, 0x4063D020, 0x40648220,\n\t0x00000003, 0x4062C826, 0x4063D020, 0x40648220, 0x00000003, 0x4062C827,\n\t0x4063D020, 0x40648220, 0x00000003, 0x4062C828, 0x4063D020, 0x40648220,\n\t0x00000003, 0x4062C829, 0x4063D020, 0x40648220, 0x00000003, 0x4062C82A,\n\t0x4063D020, 0x40648220, 0x00000003, 0x4062C82B,\n\t// Block 618, offset 0x9a80\n\t0x4063D020, 0x40648220, 0x00000003, 0x4062C82C, 0x4063D020, 0x40648220,\n\t0x00000003, 0x4062C82D, 0x4063D020, 0x40648220, 0x00000003, 0x4062C82E,\n\t0x4063D020, 0x40648220, 0x00000003, 0x4062C82F, 0x4063D020, 0x40648220,\n\t0x00000003, 0x4062C830, 0x4063D020, 0x40648220, 0x00000003, 0x4062C821,\n\t0x4063D020, 0x40648420, 0x00000003, 0x4062C821, 0x4063D020, 0x40648C20,\n\t0x00000003, 0x4062C822, 0x4063D020, 0x40648C20, 0x00000002, 0x4062CA21,\n\t0x4063BC20, 0x00000002, 0x4062CA22, 0x4063BC20, 0x00000002, 0x4062CA23,\n\t0x4063BC20, 0x00000002, 0x4062CC21, 0x4063A820, 0x00000002, 0x4062CC22,\n\t0x4063A820, 0x00000002, 0x4062CC23, 0x4063A820, 0x00000002, 0x4062CC24,\n\t0x4063A820, 0x00000002, 0x4062CC25, 0x4063A820, 0x00000002, 0x4062CC26,\n\t0x4063A820, 0x00000002, 0x4062CC27, 0x4063A820,\n\t// Block 619, offset 0x9ac0\n\t0x00000002, 0x4062CC28, 0x4063A820, 0x00000002, 0x4062CC29, 0x4063A820,\n\t0x00000002, 0x4062CC2A, 0x4063A820, 0x00000002, 0x4062CC2B, 0x4063A820,\n\t0x00000002, 0x4062CC2C, 0x4063A820, 0x00000002, 0x4062CC2D, 0x4063A820,\n\t0x00000002, 0x4062CC2E, 0x4063A820, 0x00000002, 0x4062CC2F, 0x4063A820,\n\t0x00000002, 0x4062CC30, 0x4063A820, 0x00000002, 0x4062CC31, 0x4063A820,\n\t0x00000002, 0x4062CC32, 0x4063A820, 0x00000002, 0x4062CC33, 0x4063A820,\n\t0x00000002, 0x4062CC34, 0x4063A820, 0x00000002, 0x4062CC35, 0x4063A820,\n\t0x00000002, 0x4062CC36, 0x4063A820, 0x00000002, 0x4062CC37, 0x4063A820,\n\t0x00000002, 0x4062CC38, 0x4063A820, 0x00000002, 0x4062CC39, 0x4063A820,\n\t0x00000002, 0x4062CC3A, 0x4063A820, 0x00000002, 0x4062CC3B, 0x4063A820,\n\t0x00000003, 0x4062CC21, 0x4063A820, 0x40646420,\n\t// Block 620, offset 0x9b00\n\t0x00000003, 0x4062CC22, 0x4063A820, 0x40646420, 0x00000003, 0x4062CC23,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062CC24, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062CC25, 0x4063A820, 0x40646420, 0x00000003, 0x4062CC26,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062CC27, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062CC28, 0x4063A820, 0x40646420, 0x00000003, 0x4062CC29,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062CC2A, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062CC2B, 0x4063A820, 0x40646420, 0x00000003, 0x4062CC2C,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062CC2D, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062CC2E, 0x4063A820, 0x40646420, 0x00000003, 0x4062CC2F,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062CC30, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062CC31, 0x4063A820, 0x40646420,\n\t// Block 621, offset 0x9b40\n\t0x00000003, 0x4062CC32, 0x4063A820, 0x40646420, 0x00000003, 0x4062CC33,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062CC34, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062CC35, 0x4063A820, 0x40646420, 0x00000003, 0x4062CC36,\n\t0x4063A820, 0x40646420, 0x00000003, 0x4062CC37, 0x4063A820, 0x40646420,\n\t0x00000003, 0x4062CC21, 0x4063A820, 0x40646A20, 0x00000003, 0x4062CC22,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062CC23, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062CC24, 0x4063A820, 0x40646A20, 0x00000003, 0x4062CC25,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062CC26, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062CC27, 0x4063A820, 0x40646A20, 0x00000003, 0x4062CC28,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062CC29, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062CC2A, 0x4063A820, 0x40646A20,\n\t// Block 622, offset 0x9b80\n\t0x00000003, 0x4062CC2B, 0x4063A820, 0x40646A20, 0x00000003, 0x4062CC2C,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062CC2D, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062CC2E, 0x4063A820, 0x40646A20, 0x00000003, 0x4062CC2F,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062CC21, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062CC22, 0x4063A820, 0x40647220, 0x00000003, 0x4062CC23,\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062CC21, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062CC22, 0x4063A820, 0x40648220, 0x00000003, 0x4062CC23,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062CC24, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062CC25, 0x4063A820, 0x40648220, 0x00000003, 0x4062CC26,\n\t0x4063A820, 0x40648220, 0x00000003, 0x4062CC27, 0x4063A820, 0x40648220,\n\t0x00000003, 0x4062CC21, 0x4063A820, 0x40648420,\n\t// Block 623, offset 0x9bc0\n\t0x00000003, 0x4062CC22, 0x4063A820, 0x40648420, 0x00000003, 0x4062CC23,\n\t0x4063A820, 0x40648420, 0x00000003, 0x4062CC24, 0x4063A820, 0x40648420,\n\t0x00000003, 0x4062CC25, 0x4063A820, 0x40648420, 0x00000003, 0x4062CC26,\n\t0x4063A820, 0x40648420, 0x00000003, 0x4062CC21, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062CC22, 0x4063A820, 0x40648C20, 0x00000003, 0x4062CC23,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062CC24, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062CC25, 0x4063A820, 0x40648C20, 0x00000003, 0x4062CC26,\n\t0x4063A820, 0x40648C20, 0x00000003, 0x4062CC27, 0x4063A820, 0x40648C20,\n\t0x00000003, 0x4062CC28, 0x4063A820, 0x40648C20, 0x00000002, 0x4062CC21,\n\t0x4063AA20, 0x00000002, 0x4062CC22, 0x4063AA20, 0x00000002, 0x4062CC23,\n\t0x4063AA20, 0x00000002, 0x4062CC24, 0x4063AA20,\n\t// Block 624, offset 0x9c00\n\t0x00000002, 0x4062CC25, 0x4063AA20, 0x00000002, 0x4062CC26, 0x4063AA20,\n\t0x00000002, 0x4062CC27, 0x4063AA20, 0x00000002, 0x4062CC28, 0x4063AA20,\n\t0x00000002, 0x4062CC29, 0x4063AA20, 0x00000002, 0x4062CC2A, 0x4063AA20,\n\t0x00000002, 0x4062CC2B, 0x4063AA20, 0x00000002, 0x4062CC2C, 0x4063AA20,\n\t0x00000002, 0x4062CC2D, 0x4063AA20, 0x00000002, 0x4062CC2E, 0x4063AA20,\n\t0x00000002, 0x4062CC2F, 0x4063AA20, 0x00000002, 0x4062CC30, 0x4063AA20,\n\t0x00000002, 0x4062CC31, 0x4063AA20, 0x00000002, 0x4062CC32, 0x4063AA20,\n\t0x00000002, 0x4062CC33, 0x4063AA20, 0x00000002, 0x4062CC34, 0x4063AA20,\n\t0x00000002, 0x4062CC35, 0x4063AA20, 0x00000003, 0x4062CC21, 0x4063AA20,\n\t0x40646420, 0x00000003, 0x4062CC22, 0x4063AA20, 0x40646420, 0x00000003,\n\t0x4062CC21, 0x4063AA20, 0x40648C20, 0x00000003,\n\t// Block 625, offset 0x9c40\n\t0x4062CC22, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062CC23, 0x4063AA20,\n\t0x40648C20, 0x00000002, 0x4062CC21, 0x4063B020, 0x00000002, 0x4062CC21,\n\t0x4063B820, 0x00000002, 0x4062CC22, 0x4063B820, 0x00000002, 0x4062CC23,\n\t0x4063B820, 0x00000002, 0x4062CC24, 0x4063B820, 0x00000003, 0x4062CC21,\n\t0x4063B820, 0x40646A20, 0x00000003, 0x4062CC22, 0x4063B820, 0x40646A20,\n\t0x00000003, 0x4062CC23, 0x4063B820, 0x40646A20, 0x00000003, 0x4062CC21,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062CC22, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062CC23, 0x4063B820, 0x40648C20, 0x00000003, 0x4062CC24,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062CC25, 0x4063B820, 0x40648C20,\n\t0x00000003, 0x4062CC26, 0x4063B820, 0x40648C20, 0x00000003, 0x4062CC27,\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062CC28,\n\t// Block 626, offset 0x9c80\n\t0x4063B820, 0x40648C20, 0x00000003, 0x4062CC29, 0x4063B820, 0x40648C20,\n\t0x00000002, 0x4062CC21, 0x4063BE20, 0x00000002, 0x4062CC22, 0x4063BE20,\n\t0x00000002, 0x4062CC23, 0x4063BE20, 0x00000002, 0x4062CC24, 0x4063BE20,\n\t0x00000002, 0x4062CC25, 0x4063BE20, 0x00000002, 0x4062CC26, 0x4063BE20,\n\t0x00000002, 0x4062CC27, 0x4063BE20, 0x00000002, 0x4062CC21, 0x4063C220,\n\t0x00000002, 0x4062CC22, 0x4063C220, 0x00000002, 0x4062CC23, 0x4063C220,\n\t0x00000002, 0x4062CC24, 0x4063C220, 0x00000002, 0x4062CC25, 0x4063C220,\n\t0x00000002, 0x4062CC26, 0x4063C220, 0x00000002, 0x4062CC27, 0x4063C220,\n\t0x00000002, 0x4062CC28, 0x4063C220, 0x00000002, 0x4062CC29, 0x4063C220,\n\t0x00000003, 0x4062CC21, 0x4063C220, 0x40648C20, 0x00000003, 0x4062CC21,\n\t0x4063CC20, 0x40646420, 0x00000003, 0x4062CC22,\n\t// Block 627, offset 0x9cc0\n\t0x4063CC20, 0x40646420, 0x00000003, 0x4062CC23, 0x4063CC20, 0x40646420,\n\t0x00000003, 0x4062CC21, 0x4063CC20, 0x40648220, 0x00000002, 0x4062CE21,\n\t0x4063A820, 0x00000002, 0x4062CE22, 0x4063A820, 0x00000002, 0x4062CE23,\n\t0x4063A820, 0x00000002, 0x4062CE24, 0x4063A820, 0x00000002, 0x4062CE25,\n\t0x4063A820, 0x00000002, 0x4062CE26, 0x4063A820, 0x00000002, 0x4062CE27,\n\t0x4063A820, 0x00000002, 0x4062CE28, 0x4063A820, 0x00000002, 0x4062CE29,\n\t0x4063A820, 0x00000002, 0x4062CE2A, 0x4063A820, 0x00000002, 0x4062CE2B,\n\t0x4063A820, 0x00000002, 0x4062CE2C, 0x4063A820, 0x00000002, 0x4062CE2D,\n\t0x4063A820, 0x00000002, 0x4062CE2E, 0x4063A820, 0x00000002, 0x4062CE2F,\n\t0x4063A820, 0x00000002, 0x4062CE30, 0x4063A820, 0x00000002, 0x4062CE31,\n\t0x4063A820, 0x00000002, 0x4062CE32, 0x4063A820,\n\t// Block 628, offset 0x9d00\n\t0x00000002, 0x4062CE33, 0x4063A820, 0x00000002, 0x4062CE34, 0x4063A820,\n\t0x00000002, 0x4062CE35, 0x4063A820, 0x00000002, 0x4062CE36, 0x4063A820,\n\t0x00000002, 0x4062CE37, 0x4063A820, 0x00000002, 0x4062CE38, 0x4063A820,\n\t0x00000002, 0x4062CE39, 0x4063A820, 0x00000002, 0x4062CE3A, 0x4063A820,\n\t0x00000002, 0x4062CE3B, 0x4063A820, 0x00000002, 0x4062CE3C, 0x4063A820,\n\t0x00000002, 0x4062CE3D, 0x4063A820, 0x00000002, 0x4062CE3E, 0x4063A820,\n\t0x00000003, 0x4062CE21, 0x4063A820, 0x40646A20, 0x00000003, 0x4062CE22,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062CE23, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062CE24, 0x4063A820, 0x40646A20, 0x00000003, 0x4062CE25,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062CE26, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062CE27, 0x4063A820, 0x40646A20,\n\t// Block 629, offset 0x9d40\n\t0x00000003, 0x4062CE28, 0x4063A820, 0x40646A20, 0x00000003, 0x4062CE29,\n\t0x4063A820, 0x40646A20, 0x00000003, 0x4062CE2A, 0x4063A820, 0x40646A20,\n\t0x00000003, 0x4062CE21, 0x4063A820, 0x40647220, 0x00000003, 0x4062CE22,\n\t0x4063A820, 0x40647220, 0x00000003, 0x4062CE23, 0x4063A820, 0x40647220,\n\t0x00000003, 0x4062CE24, 0x4063A820, 0x40647220, 0x00000003, 0x4062CE25,\n\t0x4063A820, 0x40647220, 0x00000002, 0x4062CE21, 0x4063AA20, 0x00000002,\n\t0x4062CE22, 0x4063AA20, 0x00000002, 0x4062CE23, 0x4063AA20, 0x00000002,\n\t0x4062CE24, 0x4063AA20, 0x00000002, 0x4062CE25, 0x4063AA20, 0x00000002,\n\t0x4062CE26, 0x4063AA20, 0x00000002, 0x4062CE27, 0x4063AA20, 0x00000002,\n\t0x4062CE28, 0x4063AA20, 0x00000002, 0x4062CE29, 0x4063AA20, 0x00000002,\n\t0x4062CE2A, 0x4063AA20, 0x00000002, 0x4062CE2B,\n\t// Block 630, offset 0x9d80\n\t0x4063AA20, 0x00000002, 0x4062CE2C, 0x4063AA20, 0x00000002, 0x4062CE2D,\n\t0x4063AA20, 0x00000002, 0x4062CE2E, 0x4063AA20, 0x00000002, 0x4062CE2F,\n\t0x4063AA20, 0x00000002, 0x4062CE30, 0x4063AA20, 0x00000003, 0x4062CE21,\n\t0x4063AA20, 0x40648C20, 0x00000003, 0x4062CE22, 0x4063AA20, 0x40648C20,\n\t0x00000003, 0x4062CE23, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062CE24,\n\t0x4063AA20, 0x40648C20, 0x00000003, 0x4062CE25, 0x4063AA20, 0x40648C20,\n\t0x00000003, 0x4062CE26, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062CE27,\n\t0x4063AA20, 0x40648C20, 0x00000003, 0x4062CE28, 0x4063AA20, 0x40648C20,\n\t0x00000003, 0x4062CE21, 0x4063AC20, 0x40646420, 0x00000003, 0x4062CE21,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062CE22, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062CE23, 0x4063B420, 0x40646A20,\n\t// Block 631, offset 0x9dc0\n\t0x00000003, 0x4062CE24, 0x4063B420, 0x40646A20, 0x00000003, 0x4062CE25,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062CE26, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062CE27, 0x4063B420, 0x40646A20, 0x00000003, 0x4062CE28,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062CE29, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062CE2A, 0x4063B420, 0x40646A20, 0x00000003, 0x4062CE2B,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062CE2C, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062CE2D, 0x4063B420, 0x40646A20, 0x00000003, 0x4062CE2E,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062CE2F, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062CE30, 0x4063B420, 0x40646A20, 0x00000003, 0x4062CE31,\n\t0x4063B420, 0x40646A20, 0x00000003, 0x4062CE32, 0x4063B420, 0x40646A20,\n\t0x00000003, 0x4062CE33, 0x4063B420, 0x40646A20,\n\t// Block 632, offset 0x9e00\n\t0x00000003, 0x4062CE21, 0x4063B420, 0x40648220, 0x00000003, 0x4062CE22,\n\t0x4063B420, 0x40648220, 0x00000003, 0x4062CE23, 0x4063B420, 0x40648220,\n\t0x00000003, 0x4062CE21, 0x4063B420, 0x40648C20, 0x00000003, 0x4062CE22,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062CE23, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062CE24, 0x4063B420, 0x40648C20, 0x00000003, 0x4062CE25,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062CE26, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062CE27, 0x4063B420, 0x40648C20, 0x00000003, 0x4062CE28,\n\t0x4063B420, 0x40648C20, 0x00000003, 0x4062CE29, 0x4063B420, 0x40648C20,\n\t0x00000003, 0x4062CE2A, 0x4063B420, 0x40648C20, 0x00000003, 0x4062CE2B,\n\t0x4063B420, 0x40648C20, 0x00000002, 0x4062CE21, 0x4063B620, 0x00000002,\n\t0x4062CE22, 0x4063B620, 0x00000002, 0x4062CE23,\n\t// Block 633, offset 0x9e40\n\t0x4063B620, 0x00000002, 0x4062CE24, 0x4063B620, 0x00000002, 0x4062CE25,\n\t0x4063B620, 0x00000002, 0x4062CE26, 0x4063B620, 0x00000002, 0x4062CE27,\n\t0x4063B620, 0x00000002, 0x4062CE28, 0x4063B620, 0x00000002, 0x4062CE29,\n\t0x4063B620, 0x00000002, 0x4062CE2A, 0x4063B620, 0x00000002, 0x4062CE2B,\n\t0x4063B620, 0x00000002, 0x4062CE2C, 0x4063B620, 0x00000002, 0x4062CE2D,\n\t0x4063B620, 0x00000002, 0x4062CE2E, 0x4063B620, 0x00000002, 0x4062CE21,\n\t0x4063B820, 0x00000002, 0x4062CE22, 0x4063B820, 0x00000002, 0x4062CE23,\n\t0x4063B820, 0x00000002, 0x4062CE24, 0x4063B820, 0x00000002, 0x4062CE25,\n\t0x4063B820, 0x00000002, 0x4062CE26, 0x4063B820, 0x00000002, 0x4062CE27,\n\t0x4063B820, 0x00000002, 0x4062CE28, 0x4063B820, 0x00000002, 0x4062CE29,\n\t0x4063B820, 0x00000002, 0x4062CE2A, 0x4063B820,\n\t// Block 634, offset 0x9e80\n\t0x00000002, 0x4062CE2B, 0x4063B820, 0x00000002, 0x4062CE2C, 0x4063B820,\n\t0x00000002, 0x4062CE2D, 0x4063B820, 0x00000002, 0x4062CE2E, 0x4063B820,\n\t0x00000002, 0x4062CE2F, 0x4063B820, 0x00000002, 0x4062CE30, 0x4063B820,\n\t0x00000002, 0x4062CE31, 0x4063B820, 0x00000002, 0x4062CE32, 0x4063B820,\n\t0x00000002, 0x4062CE33, 0x4063B820, 0x00000002, 0x4062CE34, 0x4063B820,\n\t0x00000002, 0x4062CE35, 0x4063B820, 0x00000002, 0x4062CE36, 0x4063B820,\n\t0x00000002, 0x4062CE37, 0x4063B820, 0x00000002, 0x4062CE38, 0x4063B820,\n\t0x00000002, 0x4062CE39, 0x4063B820, 0x00000002, 0x4062CE3A, 0x4063B820,\n\t0x00000002, 0x4062CE3B, 0x4063B820, 0x00000002, 0x4062CE3C, 0x4063B820,\n\t0x00000002, 0x4062CE3D, 0x4063B820, 0x00000002, 0x4062CE3E, 0x4063B820,\n\t0x00000002, 0x4062CE3F, 0x4063B820, 0x00000002,\n\t// Block 635, offset 0x9ec0\n\t0x4062CE40, 0x4063B820, 0x00000002, 0x4062CE41, 0x4063B820, 0x00000002,\n\t0x4062CE42, 0x4063B820, 0x00000002, 0x4062CE43, 0x4063B820, 0x00000002,\n\t0x4062CE44, 0x4063B820, 0x00000002, 0x4062CE45, 0x4063B820, 0x00000002,\n\t0x4062CE46, 0x4063B820, 0x00000002, 0x4062CE47, 0x4063B820, 0x00000003,\n\t0x4062CE21, 0x4063B820, 0x40646420, 0x00000003, 0x4062CE22, 0x4063B820,\n\t0x40646420, 0x00000003, 0x4062CE23, 0x4063B820, 0x40646420, 0x00000003,\n\t0x4062CE24, 0x4063B820, 0x40646420, 0x00000003, 0x4062CE25, 0x4063B820,\n\t0x40646420, 0x00000002, 0x4062CE21, 0x4063C020, 0x00000002, 0x4062CE22,\n\t0x4063C020, 0x00000002, 0x4062CE23, 0x4063C020, 0x00000002, 0x4062CE24,\n\t0x4063C020, 0x00000002, 0x4062CE25, 0x4063C020, 0x00000002, 0x4062CE26,\n\t0x4063C020, 0x00000002, 0x4062CE27, 0x4063C020,\n\t// Block 636, offset 0x9f00\n\t0x00000002, 0x4062CE28, 0x4063C020, 0x00000002, 0x4062CE29, 0x4063C020,\n\t0x00000002, 0x4062CE2A, 0x4063C020, 0x00000002, 0x4062CE2B, 0x4063C020,\n\t0x00000002, 0x4062CE2C, 0x4063C020, 0x00000002, 0x4062CE2D, 0x4063C020,\n\t0x00000002, 0x4062CE2E, 0x4063C020, 0x00000002, 0x4062CE2F, 0x4063C020,\n\t0x00000002, 0x4062CE30, 0x4063C020, 0x00000002, 0x4062CE31, 0x4063C020,\n\t0x00000002, 0x4062CE32, 0x4063C020, 0x00000002, 0x4062CE33, 0x4063C020,\n\t0x00000002, 0x4062CE34, 0x4063C020, 0x00000002, 0x4062CE35, 0x4063C020,\n\t0x00000002, 0x4062CE36, 0x4063C020, 0x00000002, 0x4062CE37, 0x4063C020,\n\t0x00000002, 0x4062CE38, 0x4063C020, 0x00000002, 0x4062CE39, 0x4063C020,\n\t0x00000002, 0x4062CE3A, 0x4063C020, 0x00000002, 0x4062CE3B, 0x4063C020,\n\t0x00000003, 0x4062CE21, 0x4063C220, 0x40648220,\n\t// Block 637, offset 0x9f40\n\t0x00000003, 0x4062CE22, 0x4063C220, 0x40648220, 0x00000003, 0x4062CE23,\n\t0x4063C220, 0x40648220, 0x00000003, 0x4062CE21, 0x4063C220, 0x40648C20,\n\t0x00000003, 0x4062CE22, 0x4063C220, 0x40648C20, 0x00000003, 0x4062CE23,\n\t0x4063C220, 0x40648C20, 0x00000003, 0x4062CE24, 0x4063C220, 0x40648C20,\n\t0x00000003, 0x4062CE25, 0x4063C220, 0x40648C20, 0x00000003, 0x4062CE26,\n\t0x4063C220, 0x40648C20, 0x00000003, 0x4062CE27, 0x4063C220, 0x40648C20,\n\t0x00000002, 0x4062CE21, 0x4063D020, 0x00000002, 0x4062CE22, 0x4063D020,\n\t0x00000002, 0x4062CE23, 0x4063D020, 0x00000002, 0x4062CE24, 0x4063D020,\n\t0x00000002, 0x4062CE25, 0x4063D020, 0x00000002, 0x4062CE26, 0x4063D020,\n\t0x00000002, 0x4062CE27, 0x4063D020, 0x00000002, 0x4062CE28, 0x4063D020,\n\t0x00000002, 0x4062CE29, 0x4063D020, 0x00000002,\n\t// Block 638, offset 0x9f80\n\t0x4062CE2A, 0x4063D020, 0x00000002, 0x4062CE2B, 0x4063D020, 0x00000003,\n\t0x4062CE21, 0x4063D020, 0x40646420, 0x00000003, 0x4062CE21, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062CE22, 0x4063D020, 0x40647220, 0x00000003,\n\t0x4062CE23, 0x4063D020, 0x40647220, 0x00000003, 0x4062CE24, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062CE25, 0x4063D020, 0x40647220, 0x00000003,\n\t0x4062CE26, 0x4063D020, 0x40647220, 0x00000003, 0x4062CE27, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062CE28, 0x4063D020, 0x40647220, 0x00000003,\n\t0x4062CE29, 0x4063D020, 0x40647220, 0x00000003, 0x4062CE2A, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062CE2B, 0x4063D020, 0x40647220, 0x00000003,\n\t0x4062CE2C, 0x4063D020, 0x40647220, 0x00000003, 0x4062CE2D, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062CE2E, 0x4063D020,\n\t// Block 639, offset 0x9fc0\n\t0x40647220, 0x00000003, 0x4062CE2F, 0x4063D020, 0x40647220, 0x00000003,\n\t0x4062CE30, 0x4063D020, 0x40647220, 0x00000003, 0x4062CE31, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062CE32, 0x4063D020, 0x40647220, 0x00000003,\n\t0x4062CE33, 0x4063D020, 0x40647220, 0x00000003, 0x4062CE34, 0x4063D020,\n\t0x40647220, 0x00000003, 0x4062CE35, 0x4063D020, 0x40647220, 0x00000003,\n\t0x4062CE36, 0x4063D020, 0x40647220, 0x00000003, 0x4062CE21, 0x4063D020,\n\t0x40648420, 0x00000003, 0x4062CE22, 0x4063D020, 0x40648420, 0x00000003,\n\t0x4062CE23, 0x4063D020, 0x40648420, 0x00000002, 0x4062D021, 0x4063A820,\n\t0x00000002, 0x4062D022, 0x4063A820, 0x00000002, 0x4062D023, 0x4063A820,\n\t0x00000002, 0x4062D024, 0x4063A820, 0x00000002, 0x4062D025, 0x4063A820,\n\t0x00000002, 0x4062D026, 0x4063A820, 0x00000002,\n\t// Block 640, offset 0xa000\n\t0x4062D027, 0x4063A820, 0x00000002, 0x4062D028, 0x4063A820, 0x00000002,\n\t0x4062D029, 0x4063A820, 0x00000002, 0x4062D02A, 0x4063A820, 0x00000002,\n\t0x4062D02B, 0x4063A820, 0x00000002, 0x4062D02C, 0x4063A820, 0x00000002,\n\t0x4062D02D, 0x4063A820, 0x00000002, 0x4062D02E, 0x4063A820, 0x00000002,\n\t0x4062D02F, 0x4063A820, 0x00000002, 0x4062D030, 0x4063A820, 0x00000002,\n\t0x4062D031, 0x4063A820, 0x00000002, 0x4062D032, 0x4063A820, 0x00000002,\n\t0x4062D033, 0x4063A820, 0x00000002, 0x4062D034, 0x4063A820, 0x00000002,\n\t0x4062D035, 0x4063A820, 0x00000002, 0x4062D036, 0x4063A820, 0x00000003,\n\t0x4062D021, 0x4063A820, 0x40646420, 0x00000003, 0x4062D022, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062D023, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062D024, 0x4063A820, 0x40646420, 0x00000003,\n\t// Block 641, offset 0xa040\n\t0x4062D025, 0x4063A820, 0x40646420, 0x00000003, 0x4062D026, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062D027, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062D028, 0x4063A820, 0x40646420, 0x00000003, 0x4062D029, 0x4063A820,\n\t0x40646420, 0x00000003, 0x4062D02A, 0x4063A820, 0x40646420, 0x00000003,\n\t0x4062D02B, 0x4063A820, 0x40646420, 0x00000003, 0x4062D021, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062D022, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062D023, 0x4063A820, 0x40646A20, 0x00000003, 0x4062D024, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062D025, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062D026, 0x4063A820, 0x40646A20, 0x00000003, 0x4062D027, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062D028, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062D029, 0x4063A820, 0x40646A20, 0x00000003,\n\t// Block 642, offset 0xa080\n\t0x4062D02A, 0x4063A820, 0x40646A20, 0x00000003, 0x4062D02B, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062D02C, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062D02D, 0x4063A820, 0x40646A20, 0x00000003, 0x4062D02E, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062D02F, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062D030, 0x4063A820, 0x40646A20, 0x00000003, 0x4062D031, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062D032, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062D033, 0x4063A820, 0x40646A20, 0x00000003, 0x4062D034, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062D035, 0x4063A820, 0x40646A20, 0x00000003,\n\t0x4062D036, 0x4063A820, 0x40646A20, 0x00000003, 0x4062D037, 0x4063A820,\n\t0x40646A20, 0x00000003, 0x4062D021, 0x4063A820, 0x40647220, 0x00000003,\n\t0x4062D022, 0x4063A820, 0x40647220, 0x00000003,\n\t// Block 643, offset 0xa0c0\n\t0x4062D023, 0x4063A820, 0x40647220, 0x00000003, 0x4062D021, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062D022, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062D023, 0x4063A820, 0x40648220, 0x00000003, 0x4062D024, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062D025, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062D026, 0x4063A820, 0x40648220, 0x00000003, 0x4062D027, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062D028, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062D029, 0x4063A820, 0x40648220, 0x00000003, 0x4062D02A, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062D02B, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062D02C, 0x4063A820, 0x40648220, 0x00000003, 0x4062D02D, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062D02E, 0x4063A820, 0x40648220, 0x00000003,\n\t0x4062D02F, 0x4063A820, 0x40648220, 0x00000003,\n\t// Block 644, offset 0xa100\n\t0x4062D030, 0x4063A820, 0x40648220, 0x00000003, 0x4062D031, 0x4063A820,\n\t0x40648220, 0x00000003, 0x4062D021, 0x4063A820, 0x40648420, 0x00000003,\n\t0x4062D022, 0x4063A820, 0x40648420, 0x00000003, 0x4062D023, 0x4063A820,\n\t0x40648420, 0x00000003, 0x4062D024, 0x4063A820, 0x40648420, 0x00000003,\n\t0x4062D025, 0x4063A820, 0x40648420, 0x00000003, 0x4062D026, 0x4063A820,\n\t0x40648420, 0x00000003, 0x4062D027, 0x4063A820, 0x40648420, 0x00000003,\n\t0x4062D028, 0x4063A820, 0x40648420, 0x00000003, 0x4062D029, 0x4063A820,\n\t0x40648420, 0x00000003, 0x4062D02A, 0x4063A820, 0x40648420, 0x00000003,\n\t0x4062D02B, 0x4063A820, 0x40648420, 0x00000003, 0x4062D02C, 0x4063A820,\n\t0x40648420, 0x00000003, 0x4062D02D, 0x4063A820, 0x40648420, 0x00000003,\n\t0x4062D02E, 0x4063A820, 0x40648420, 0x00000003,\n\t// Block 645, offset 0xa140\n\t0x4062D021, 0x4063A820, 0x40648C20, 0x00000003, 0x4062D022, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062D023, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062D024, 0x4063A820, 0x40648C20, 0x00000003, 0x4062D025, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062D026, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062D027, 0x4063A820, 0x40648C20, 0x00000003, 0x4062D028, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062D029, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062D02A, 0x4063A820, 0x40648C20, 0x00000003, 0x4062D02B, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062D02C, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062D02D, 0x4063A820, 0x40648C20, 0x00000003, 0x4062D02E, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062D02F, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062D030, 0x4063A820, 0x40648C20, 0x00000003,\n\t// Block 646, offset 0xa180\n\t0x4062D031, 0x4063A820, 0x40648C20, 0x00000003, 0x4062D032, 0x4063A820,\n\t0x40648C20, 0x00000003, 0x4062D033, 0x4063A820, 0x40648C20, 0x00000003,\n\t0x4062D034, 0x4063A820, 0x40648C20, 0x00000002, 0x4062D021, 0x4063AA20,\n\t0x00000002, 0x4062D022, 0x4063AA20, 0x00000002, 0x4062D023, 0x4063AA20,\n\t0x00000002, 0x4062D024, 0x4063AA20, 0x00000002, 0x4062D025, 0x4063AA20,\n\t0x00000002, 0x4062D026, 0x4063AA20, 0x00000002, 0x4062D027, 0x4063AA20,\n\t0x00000002, 0x4062D028, 0x4063AA20, 0x00000002, 0x4062D029, 0x4063AA20,\n\t0x00000002, 0x4062D02A, 0x4063AA20, 0x00000002, 0x4062D02B, 0x4063AA20,\n\t0x00000002, 0x4062D02C, 0x4063AA20, 0x00000002, 0x4062D02D, 0x4063AA20,\n\t0x00000002, 0x4062D02E, 0x4063AA20, 0x00000002, 0x4062D02F, 0x4063AA20,\n\t0x00000002, 0x4062D030, 0x4063AA20, 0x00000002,\n\t// Block 647, offset 0xa1c0\n\t0x4062D031, 0x4063AA20, 0x00000002, 0x4062D032, 0x4063AA20, 0x00000002,\n\t0x4062D033, 0x4063AA20, 0x00000002, 0x4062D034, 0x4063AA20, 0x00000002,\n\t0x4062D035, 0x4063AA20, 0x00000002, 0x4062D036, 0x4063AA20, 0x00000002,\n\t0x4062D037, 0x4063AA20, 0x00000002, 0x4062D038, 0x4063AA20, 0x00000002,\n\t0x4062D039, 0x4063AA20, 0x00000002, 0x4062D03A, 0x4063AA20, 0x00000002,\n\t0x4062D03B, 0x4063AA20, 0x00000002, 0x4062D03C, 0x4063AA20, 0x00000002,\n\t0x4062D03D, 0x4063AA20, 0x00000003, 0x4062D021, 0x4063AA20, 0x40646420,\n\t0x00000003, 0x4062D022, 0x4063AA20, 0x40646420, 0x00000003, 0x4062D023,\n\t0x4063AA20, 0x40646420, 0x00000003, 0x4062D024, 0x4063AA20, 0x40646420,\n\t0x00000003, 0x4062D021, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062D022,\n\t0x4063AA20, 0x40648C20, 0x00000003, 0x4062D023,\n\t// Block 648, offset 0xa200\n\t0x4063AA20, 0x40648C20, 0x00000003, 0x4062D024, 0x4063AA20, 0x40648C20,\n\t0x00000003, 0x4062D025, 0x4063AA20, 0x40648C20, 0x00000003, 0x4062D026,\n\t0x4063AA20, 0x40648C20, 0x00000003, 0x4062D021, 0x4063AC20, 0x40648C20,\n\t0x00000003, 0x4062D022, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062D023,\n\t0x4063AC20, 0x40648C20, 0x00000003, 0x4062D024, 0x4063AC20, 0x40648C20,\n\t0x00000003, 0x4062D025, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062D026,\n\t0x4063AC20, 0x40648C20, 0x00000003, 0x4062D027, 0x4063AC20, 0x40648C20,\n\t0x00000003, 0x4062D028, 0x4063AC20, 0x40648C20, 0x00000003, 0x4062D029,\n\t0x4063AC20, 0x40648C20, 0x00000003, 0x4062D02A, 0x4063AC20, 0x40648C20,\n\t0x00000002, 0x4062D021, 0x4063B020, 0x00000002, 0x4062D022, 0x4063B020,\n\t0x00000002, 0x4062D023, 0x4063B020, 0x00000002,\n\t// Block 649, offset 0xa240\n\t0x4062D024, 0x4063B020, 0x00000002, 0x4062D025, 0x4063B020, 0x00000003,\n\t0x4062D021, 0x4063B020, 0x40646A20, 0x00000003, 0x4062D022, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062D023, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062D024, 0x4063B020, 0x40646A20, 0x00000003, 0x4062D025, 0x4063B020,\n\t0x40646A20, 0x00000003, 0x4062D026, 0x4063B020, 0x40646A20, 0x00000003,\n\t0x4062D027, 0x4063B020, 0x40646A20, 0x00000003, 0x4062D021, 0x4063B020,\n\t0x40647220, 0x00000003, 0x4062D021, 0x4063B020, 0x40648220, 0x00000003,\n\t0x4062D022, 0x4063B020, 0x40648220, 0x00000003, 0x4062D023, 0x4063B020,\n\t0x40648220, 0x00000003, 0x4062D024, 0x4063B020, 0x40648220, 0x00000003,\n\t0x4062D025, 0x4063B020, 0x40648220, 0x00000003, 0x4062D021, 0x4063B420,\n\t0x40646420, 0x00000003, 0x4062D022, 0x4063B420,\n\t// Block 650, offset 0xa280\n\t0x40646420, 0x00000003, 0x4062D023, 0x4063B420, 0x40646420, 0x00000003,\n\t0x4062D024, 0x4063B420, 0x40646420, 0x00000003, 0x4062D025, 0x4063B420,\n\t0x40646420, 0x00000003, 0x4062D026, 0x4063B420, 0x40646420, 0x00000003,\n\t0x4062D027, 0x4063B420, 0x40646420, 0x00000003, 0x4062D028, 0x4063B420,\n\t0x40646420, 0x00000003, 0x4062D021, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062D022, 0x4063B420, 0x40646A20, 0x00000003, 0x4062D023, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062D024, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062D025, 0x4063B420, 0x40646A20, 0x00000003, 0x4062D026, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062D027, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062D028, 0x4063B420, 0x40646A20, 0x00000003, 0x4062D029, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062D02A, 0x4063B420,\n\t// Block 651, offset 0xa2c0\n\t0x40646A20, 0x00000003, 0x4062D02B, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062D02C, 0x4063B420, 0x40646A20, 0x00000003, 0x4062D02D, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062D02E, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062D02F, 0x4063B420, 0x40646A20, 0x00000003, 0x4062D030, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062D031, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062D032, 0x4063B420, 0x40646A20, 0x00000003, 0x4062D033, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062D034, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062D035, 0x4063B420, 0x40646A20, 0x00000003, 0x4062D036, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062D037, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062D038, 0x4063B420, 0x40646A20, 0x00000003, 0x4062D039, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062D03A, 0x4063B420,\n\t// Block 652, offset 0xa300\n\t0x40646A20, 0x00000003, 0x4062D03B, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062D03C, 0x4063B420, 0x40646A20, 0x00000003, 0x4062D03D, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062D03E, 0x4063B420, 0x40646A20, 0x00000003,\n\t0x4062D03F, 0x4063B420, 0x40646A20, 0x00000003, 0x4062D040, 0x4063B420,\n\t0x40646A20, 0x00000003, 0x4062D021, 0x4063B420, 0x40647220, 0x00000003,\n\t0x4062D022, 0x4063B420, 0x40647220, 0x00000003, 0x4062D023, 0x4063B420,\n\t0x40647220, 0x00000003, 0x4062D024, 0x4063B420, 0x40647220, 0x00000003,\n\t0x4062D025, 0x4063B420, 0x40647220, 0x00000003, 0x4062D026, 0x4063B420,\n\t0x40647220, 0x00000003, 0x4062D021, 0x4063B420, 0x40648220, 0x00000003,\n\t0x4062D021, 0x4063B420, 0x40648420, 0x00000003, 0x4062D022, 0x4063B420,\n\t0x40648420, 0x00000003, 0x4062D023, 0x4063B420,\n\t// Block 653, offset 0xa340\n\t0x40648420, 0x00000003, 0x4062D024, 0x4063B420, 0x40648420, 0x00000003,\n\t0x4062D025, 0x4063B420, 0x40648420, 0x00000003, 0x4062D026, 0x4063B420,\n\t0x40648420, 0x00000003, 0x4062D027, 0x4063B420, 0x40648420, 0x00000003,\n\t0x4062D028, 0x4063B420, 0x40648420, 0x00000003, 0x4062D029, 0x4063B420,\n\t0x40648420, 0x00000003, 0x4062D02A, 0x4063B420, 0x40648420, 0x00000003,\n\t0x4062D02B, 0x4063B420, 0x40648420, 0x00000003, 0x4062D02C, 0x4063B420,\n\t0x40648420, 0x00000003, 0x4062D02D, 0x4063B420, 0x40648420, 0x00000003,\n\t0x4062D02E, 0x4063B420, 0x40648420, 0x00000003, 0x4062D02F, 0x4063B420,\n\t0x40648420, 0x00000003, 0x4062D030, 0x4063B420, 0x40648420, 0x00000003,\n\t0x4062D031, 0x4063B420, 0x40648420, 0x00000003, 0x4062D032, 0x4063B420,\n\t0x40648420, 0x00000003, 0x4062D033, 0x4063B420,\n\t// Block 654, offset 0xa380\n\t0x40648420, 0x00000003, 0x4062D021, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062D022, 0x4063B420, 0x40648C20, 0x00000003, 0x4062D023, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062D024, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062D025, 0x4063B420, 0x40648C20, 0x00000003, 0x4062D026, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062D027, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062D028, 0x4063B420, 0x40648C20, 0x00000003, 0x4062D029, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062D02A, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062D02B, 0x4063B420, 0x40648C20, 0x00000003, 0x4062D02C, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062D02D, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062D02E, 0x4063B420, 0x40648C20, 0x00000003, 0x4062D02F, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062D030, 0x4063B420,\n\t// Block 655, offset 0xa3c0\n\t0x40648C20, 0x00000003, 0x4062D031, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062D032, 0x4063B420, 0x40648C20, 0x00000003, 0x4062D033, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062D034, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062D035, 0x4063B420, 0x40648C20, 0x00000003, 0x4062D036, 0x4063B420,\n\t0x40648C20, 0x00000003, 0x4062D037, 0x4063B420, 0x40648C20, 0x00000003,\n\t0x4062D038, 0x4063B420, 0x40648C20, 0x00000003, 0x4062D039, 0x4063B420,\n\t0x40648C20, 0x00000002, 0x4062D021, 0x4063B620, 0x00000002, 0x4062D022,\n\t0x4063B620, 0x00000002, 0x4062D023, 0x4063B620, 0x00000002, 0x4062D024,\n\t0x4063B620, 0x00000002, 0x4062D025, 0x4063B620, 0x00000002, 0x4062D026,\n\t0x4063B620, 0x00000002, 0x4062D027, 0x4063B620, 0x00000002, 0x4062D028,\n\t0x4063B620, 0x00000002, 0x4062D029, 0x4063B620,\n\t// Block 656, offset 0xa400\n\t0x00000002, 0x4062D02A, 0x4063B620, 0x00000002, 0x4062D02B, 0x4063B620,\n\t0x00000002, 0x4062D02C, 0x4063B620, 0x00000002, 0x4062D02D, 0x4063B620,\n\t0x00000002, 0x4062D02E, 0x4063B620, 0x00000002, 0x4062D02F, 0x4063B620,\n\t0x00000002, 0x4062D030, 0x4063B620, 0x00000002, 0x4062D031, 0x4063B620,\n\t0x00000002, 0x4062D021, 0x4063B820, 0x00000002, 0x4062D022, 0x4063B820,\n\t0x00000002, 0x4062D023, 0x4063B820, 0x00000002, 0x4062D024, 0x4063B820,\n\t0x00000002, 0x4062D025, 0x4063B820, 0x00000002, 0x4062D026, 0x4063B820,\n\t0x00000002, 0x4062D027, 0x4063B820, 0x00000002, 0x4062D028, 0x4063B820,\n\t0x00000002, 0x4062D029, 0x4063B820, 0x00000002, 0x4062D02A, 0x4063B820,\n\t0x00000002, 0x4062D02B, 0x4063B820, 0x00000002, 0x4062D02C, 0x4063B820,\n\t0x00000002, 0x4062D02D, 0x4063B820, 0x00000002,\n\t// Block 657, offset 0xa440\n\t0x4062D02E, 0x4063B820, 0x00000002, 0x4062D02F, 0x4063B820, 0x00000002,\n\t0x4062D030, 0x4063B820, 0x00000002, 0x4062D031, 0x4063B820, 0x00000002,\n\t0x4062D032, 0x4063B820, 0x00000002, 0x4062D033, 0x4063B820, 0x00000002,\n\t0x4062D034, 0x4063B820, 0x00000002, 0x4062D035, 0x4063B820, 0x00000002,\n\t0x4062D036, 0x4063B820, 0x00000002, 0x4062D037, 0x4063B820, 0x00000002,\n\t0x4062D038, 0x4063B820, 0x00000002, 0x4062D039, 0x4063B820, 0x00000002,\n\t0x4062D03A, 0x4063B820, 0x00000002, 0x4062D03B, 0x4063B820, 0x00000002,\n\t0x4062D03C, 0x4063B820, 0x00000002, 0x4062D03D, 0x4063B820, 0x00000002,\n\t0x4062D03E, 0x4063B820, 0x00000002, 0x4062D03F, 0x4063B820, 0x00000002,\n\t0x4062D040, 0x4063B820, 0x00000002, 0x4062D041, 0x4063B820, 0x00000002,\n\t0x4062D042, 0x4063B820, 0x00000002, 0x4062D043,\n\t// Block 658, offset 0xa480\n\t0x4063B820, 0x00000002, 0x4062D044, 0x4063B820, 0x00000002, 0x4062D045,\n\t0x4063B820, 0x00000002, 0x4062D046, 0x4063B820, 0x00000002, 0x4062D047,\n\t0x4063B820, 0x00000002, 0x4062D048, 0x4063B820, 0x00000002, 0x4062D049,\n\t0x4063B820, 0x00000002, 0x4062D04A, 0x4063B820, 0x00000002, 0x4062D04B,\n\t0x4063B820, 0x00000002, 0x4062D04C, 0x4063B820, 0x00000002, 0x4062D04D,\n\t0x4063B820, 0x00000002, 0x4062D04E, 0x4063B820, 0x00000002, 0x4062D04F,\n\t0x4063B820, 0x00000002, 0x4062D050, 0x4063B820, 0x00000002, 0x4062D051,\n\t0x4063B820, 0x00000002, 0x4062D052, 0x4063B820, 0x00000002, 0x4062D053,\n\t0x4063B820, 0x00000002, 0x4062D054, 0x4063B820, 0x00000002, 0x4062D055,\n\t0x4063B820, 0x00000002, 0x4062D056, 0x4063B820, 0x00000002, 0x4062D057,\n\t0x4063B820, 0x00000002, 0x4062D058, 0x4063B820,\n\t// Block 659, offset 0xa4c0\n\t0x00000002, 0x4062D059, 0x4063B820, 0x00000002, 0x4062D05A, 0x4063B820,\n\t0x00000002, 0x4062D05B, 0x4063B820, 0x00000003, 0x4062D021, 0x4063B820,\n\t0x40646420, 0x00000003, 0x4062D022, 0x4063B820, 0x40646420, 0x00000003,\n\t0x4062D023, 0x4063B820, 0x40646420, 0x00000003, 0x4062D021, 0x4063B820,\n\t0x40646A20, 0x00000003, 0x4062D022, 0x4063B820, 0x40646A20, 0x00000003,\n\t0x4062D023, 0x4063B820, 0x40646A20, 0x00000003, 0x4062D024, 0x4063B820,\n\t0x40646A20, 0x00000003, 0x4062D025, 0x4063B820, 0x40646A20, 0x00000003,\n\t0x4062D026, 0x4063B820, 0x40646A20, 0x00000003, 0x4062D027, 0x4063B820,\n\t0x40646A20, 0x00000003, 0x4062D028, 0x4063B820, 0x40646A20, 0x00000003,\n\t0x4062D029, 0x4063B820, 0x40646A20, 0x00000003, 0x4062D02A, 0x4063B820,\n\t0x40646A20, 0x00000003, 0x4062D02B, 0x4063B820,\n\t// Block 660, offset 0xa500\n\t0x40646A20, 0x00000003, 0x4062D021, 0x4063B820, 0x40647220, 0x00000003,\n\t0x4062D022, 0x4063B820, 0x40647220, 0x00000003, 0x4062D023, 0x4063B820,\n\t0x40647220, 0x00000003, 0x4062D024, 0x4063B820, 0x40647220, 0x00000003,\n\t0x4062D021, 0x4063B820, 0x40648C20, 0x00000003, 0x4062D022, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062D023, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062D024, 0x4063B820, 0x40648C20, 0x00000003, 0x4062D025, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062D026, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062D027, 0x4063B820, 0x40648C20, 0x00000003, 0x4062D028, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062D029, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062D02A, 0x4063B820, 0x40648C20, 0x00000003, 0x4062D02B, 0x4063B820,\n\t0x40648C20, 0x00000003, 0x4062D02C, 0x4063B820,\n\t// Block 661, offset 0xa540\n\t0x40648C20, 0x00000003, 0x4062D02D, 0x4063B820, 0x40648C20, 0x00000003,\n\t0x4062D02E, 0x4063B820, 0x40648C20, 0x00000003, 0x4062D02F, 0x4063B820,\n\t0x40648C20, 0x00000002, 0x4062D021, 0x4063BA20, 0x00000002, 0x4062D022,\n\t0x4063BA20, 0x00000002, 0x4062D023, 0x4063BA20, 0x00000002, 0x4062D024,\n\t0x4063BA20, 0x00000002, 0x4062D025, 0x4063BA20, 0x00000002, 0x4062D026,\n\t0x4063BA20, 0x00000002, 0x4062D027, 0x4063BA20, 0x00000002, 0x4062D028,\n\t0x4063BA20, 0x00000002, 0x4062D029, 0x4063BA20, 0x00000002, 0x4062D02A,\n\t0x4063BA20, 0x00000002, 0x4062D02B, 0x4063BA20, 0x00000002, 0x4062D02C,\n\t0x4063BA20, 0x00000002, 0x4062D02D, 0x4063BA20, 0x00000002, 0x4062D02E,\n\t0x4063BA20, 0x00000002, 0x4062D02F, 0x4063BA20, 0x00000002, 0x4062D030,\n\t0x4063BA20, 0x00000002, 0x4062D031, 0x4063BA20,\n\t// Block 662, offset 0xa580\n\t0x00000002, 0x4062D032, 0x4063BA20, 0x00000002, 0x4062D033, 0x4063BA20,\n\t0x00000002, 0x4062D034, 0x4063BA20, 0x00000002, 0x4062D035, 0x4063BA20,\n\t0x00000003, 0x4062D021, 0x4063BA20, 0x40646420, 0x00000003, 0x4062D022,\n\t0x4063BA20, 0x40646420, 0x00000003, 0x4062D023, 0x4063BA20, 0x40646420,\n\t0x00000003, 0x4062D024, 0x4063BA20, 0x40646420, 0x00000003, 0x4062D025,\n\t0x4063BA20, 0x40646420, 0x00000003, 0x4062D026, 0x4063BA20, 0x40646420,\n\t0x00000003, 0x4062D027, 0x4063BA20, 0x40646420, 0x00000003, 0x4062D028,\n\t0x4063BA20, 0x40646420, 0x00000003, 0x4062D029, 0x4063BA20, 0x40646420,\n\t0x00000003, 0x4062D021, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D022,\n\t0x4063BA20, 0x40646A20, 0x00000003, 0x4062D023, 0x4063BA20, 0x40646A20,\n\t0x00000003, 0x4062D024, 0x4063BA20, 0x40646A20,\n\t// Block 663, offset 0xa5c0\n\t0x00000003, 0x4062D025, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D026,\n\t0x4063BA20, 0x40646A20, 0x00000003, 0x4062D027, 0x4063BA20, 0x40646A20,\n\t0x00000003, 0x4062D028, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D029,\n\t0x4063BA20, 0x40646A20, 0x00000003, 0x4062D02A, 0x4063BA20, 0x40646A20,\n\t0x00000003, 0x4062D02B, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D02C,\n\t0x4063BA20, 0x40646A20, 0x00000003, 0x4062D02D, 0x4063BA20, 0x40646A20,\n\t0x00000003, 0x4062D02E, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D02F,\n\t0x4063BA20, 0x40646A20, 0x00000003, 0x4062D030, 0x4063BA20, 0x40646A20,\n\t0x00000003, 0x4062D031, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D032,\n\t0x4063BA20, 0x40646A20, 0x00000003, 0x4062D033, 0x4063BA20, 0x40646A20,\n\t0x00000003, 0x4062D034, 0x4063BA20, 0x40646A20,\n\t// Block 664, offset 0xa600\n\t0x00000003, 0x4062D035, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D036,\n\t0x4063BA20, 0x40646A20, 0x00000003, 0x4062D037, 0x4063BA20, 0x40646A20,\n\t0x00000003, 0x4062D038, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D039,\n\t0x4063BA20, 0x40646A20, 0x00000003, 0x4062D03A, 0x4063BA20, 0x40646A20,\n\t0x00000003, 0x4062D03B, 0x4063BA20, 0x40646A20, 0x00000003, 0x4062D03C,\n\t0x4063BA20, 0x40646A20, 0x00000003, 0x4062D03D, 0x4063BA20, 0x40646A20,\n\t0x00000003, 0x4062D021, 0x4063BA20, 0x40647220, 0x00000003, 0x4062D022,\n\t0x4063BA20, 0x40647220, 0x00000003, 0x4062D023, 0x4063BA20, 0x40647220,\n\t0x00000003, 0x4062D024, 0x4063BA20, 0x40647220, 0x00000003, 0x4062D025,\n\t0x4063BA20, 0x40647220, 0x00000003, 0x4062D026, 0x4063BA20, 0x40647220,\n\t0x00000003, 0x4062D021, 0x4063BA20, 0x40648C20,\n\t// Block 665, offset 0xa640\n\t0x00000003, 0x4062D022, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D023,\n\t0x4063BA20, 0x40648C20, 0x00000003, 0x4062D024, 0x4063BA20, 0x40648C20,\n\t0x00000003, 0x4062D025, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D026,\n\t0x4063BA20, 0x40648C20, 0x00000003, 0x4062D027, 0x4063BA20, 0x40648C20,\n\t0x00000003, 0x4062D028, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D029,\n\t0x4063BA20, 0x40648C20, 0x00000003, 0x4062D02A, 0x4063BA20, 0x40648C20,\n\t0x00000003, 0x4062D02B, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D02C,\n\t0x4063BA20, 0x40648C20, 0x00000003, 0x4062D02D, 0x4063BA20, 0x40648C20,\n\t0x00000003, 0x4062D02E, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D02F,\n\t0x4063BA20, 0x40648C20, 0x00000003, 0x4062D030, 0x4063BA20, 0x40648C20,\n\t0x00000003, 0x4062D031, 0x4063BA20, 0x40648C20,\n\t// Block 666, offset 0xa680\n\t0x00000003, 0x4062D032, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D033,\n\t0x4063BA20, 0x40648C20, 0x00000003, 0x4062D034, 0x4063BA20, 0x40648C20,\n\t0x00000003, 0x4062D035, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D036,\n\t0x4063BA20, 0x40648C20, 0x00000003, 0x4062D037, 0x4063BA20, 0x40648C20,\n\t0x00000003, 0x4062D038, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D039,\n\t0x4063BA20, 0x40648C20, 0x00000003, 0x4062D03A, 0x4063BA20, 0x40648C20,\n\t0x00000003, 0x4062D03B, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D03C,\n\t0x4063BA20, 0x40648C20, 0x00000003, 0x4062D03D, 0x4063BA20, 0x40648C20,\n\t0x00000003, 0x4062D03E, 0x4063BA20, 0x40648C20, 0x00000003, 0x4062D03F,\n\t0x4063BA20, 0x40648C20, 0x00000002, 0x4062D021, 0x4063BE20, 0x00000002,\n\t0x4062D022, 0x4063BE20, 0x00000002, 0x4062D023,\n\t// Block 667, offset 0xa6c0\n\t0x4063BE20, 0x00000002, 0x4062D024, 0x4063BE20, 0x00000002, 0x4062D025,\n\t0x4063BE20, 0x00000002, 0x4062D026, 0x4063BE20, 0x00000002, 0x4062D027,\n\t0x4063BE20, 0x00000002, 0x4062D028, 0x4063BE20, 0x00000002, 0x4062D029,\n\t0x4063BE20, 0x00000002, 0x4062D02A, 0x4063BE20, 0x00000002, 0x4062D02B,\n\t0x4063BE20, 0x00000002, 0x4062D02C, 0x4063BE20, 0x00000002, 0x4062D02D,\n\t0x4063BE20, 0x00000002, 0x4062D02E, 0x4063BE20, 0x00000002, 0x4062D02F,\n\t0x4063BE20, 0x00000002, 0x4062D030, 0x4063BE20, 0x00000002, 0x4062D031,\n\t0x4063BE20, 0x00000002, 0x4062D032, 0x4063BE20, 0x00000002, 0x4062D033,\n\t0x4063BE20, 0x00000002, 0x4062D034, 0x4063BE20, 0x00000002, 0x4062D035,\n\t0x4063BE20, 0x00000002, 0x4062D036, 0x4063BE20, 0x00000002, 0x4062D037,\n\t0x4063BE20, 0x00000002, 0x4062D038, 0x4063BE20,\n\t// Block 668, offset 0xa700\n\t0x00000002, 0x4062D039, 0x4063BE20, 0x00000002, 0x4062D03A, 0x4063BE20,\n\t0x00000002, 0x4062D03B, 0x4063BE20, 0x00000002, 0x4062D03C, 0x4063BE20,\n\t0x00000002, 0x4062D03D, 0x4063BE20, 0x00000003, 0x4062D021, 0x4063BE20,\n\t0x40646420, 0x00000003, 0x4062D022, 0x4063BE20, 0x40646420, 0x00000003,\n\t0x4062D023, 0x4063BE20, 0x40646420, 0x00000003, 0x4062D021, 0x4063BE20,\n\t0x40648C20, 0x00000003, 0x4062D022, 0x4063BE20, 0x40648C20, 0x00000003,\n\t0x4062D023, 0x4063BE20, 0x40648C20, 0x00000003, 0x4062D024, 0x4063BE20,\n\t0x40648C20, 0x00000003, 0x4062D025, 0x4063BE20, 0x40648C20, 0x00000003,\n\t0x4062D026, 0x4063BE20, 0x40648C20, 0x00000002, 0x4062D021, 0x4063C020,\n\t0x00000002, 0x4062D022, 0x4063C020, 0x00000002, 0x4062D023, 0x4063C020,\n\t0x00000002, 0x4062D024, 0x4063C020, 0x00000002,\n\t// Block 669, offset 0xa740\n\t0x4062D025, 0x4063C020, 0x00000002, 0x4062D026, 0x4063C020, 0x00000002,\n\t0x4062D027, 0x4063C020, 0x00000002, 0x4062D028, 0x4063C020, 0x00000002,\n\t0x4062D029, 0x4063C020, 0x00000002, 0x4062D02A, 0x4063C020, 0x00000002,\n\t0x4062D02B, 0x4063C020, 0x00000002, 0x4062D02C, 0x4063C020, 0x00000002,\n\t0x4062D02D, 0x4063C020, 0x00000002, 0x4062D02E, 0x4063C020, 0x00000002,\n\t0x4062D02F, 0x4063C020, 0x00000002, 0x4062D030, 0x4063C020, 0x00000002,\n\t0x4062D031, 0x4063C020, 0x00000002, 0x4062D032, 0x4063C020, 0x00000002,\n\t0x4062D033, 0x4063C020, 0x00000002, 0x4062D034, 0x4063C020, 0x00000002,\n\t0x4062D035, 0x4063C020, 0x00000002, 0x4062D021, 0x4063C220, 0x00000002,\n\t0x4062D022, 0x4063C220, 0x00000002, 0x4062D023, 0x4063C220, 0x00000002,\n\t0x4062D024, 0x4063C220, 0x00000002, 0x4062D025,\n\t// Block 670, offset 0xa780\n\t0x4063C220, 0x00000002, 0x4062D026, 0x4063C220, 0x00000002, 0x4062D027,\n\t0x4063C220, 0x00000002, 0x4062D028, 0x4063C220, 0x00000002, 0x4062D029,\n\t0x4063C220, 0x00000002, 0x4062D02A, 0x4063C220, 0x00000002, 0x4062D02B,\n\t0x4063C220, 0x00000002, 0x4062D02C, 0x4063C220, 0x00000002, 0x4062D02D,\n\t0x4063C220, 0x00000002, 0x4062D02E, 0x4063C220, 0x00000002, 0x4062D02F,\n\t0x4063C220, 0x00000002, 0x4062D030, 0x4063C220, 0x00000002, 0x4062D031,\n\t0x4063C220, 0x00000002, 0x4062D032, 0x4063C220, 0x00000002, 0x4062D033,\n\t0x4063C220, 0x00000002, 0x4062D034, 0x4063C220, 0x00000002, 0x4062D035,\n\t0x4063C220, 0x00000002, 0x4062D036, 0x4063C220, 0x00000002, 0x4062D037,\n\t0x4063C220, 0x00000002, 0x4062D038, 0x4063C220, 0x00000003, 0x4062D021,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062D022,\n\t// Block 671, offset 0xa7c0\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062D023, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062D024, 0x4063C220, 0x40646A20, 0x00000003, 0x4062D025,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062D026, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062D027, 0x4063C220, 0x40646A20, 0x00000003, 0x4062D028,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062D029, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062D02A, 0x4063C220, 0x40646A20, 0x00000003, 0x4062D02B,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062D02C, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062D02D, 0x4063C220, 0x40646A20, 0x00000003, 0x4062D02E,\n\t0x4063C220, 0x40646A20, 0x00000003, 0x4062D02F, 0x4063C220, 0x40646A20,\n\t0x00000003, 0x4062D030, 0x4063C220, 0x40646A20, 0x00000003, 0x4062D021,\n\t0x4063C220, 0x40647220, 0x00000003, 0x4062D021,\n\t// Block 672, offset 0xa800\n\t0x4063C220, 0x40648C20, 0x00000003, 0x4062D021, 0x4063C420, 0x40646A20,\n\t0x00000003, 0x4062D022, 0x4063C420, 0x40646A20, 0x00000003, 0x4062D023,\n\t0x4063C420, 0x40646A20, 0x00000003, 0x4062D024, 0x4063C420, 0x40646A20,\n\t0x00000003, 0x4062D025, 0x4063C420, 0x40646A20, 0x00000003, 0x4062D026,\n\t0x4063C420, 0x40646A20, 0x00000003, 0x4062D027, 0x4063C420, 0x40646A20,\n\t0x00000002, 0x4062D021, 0x4063C620, 0x00000002, 0x4062D022, 0x4063C620,\n\t0x00000002, 0x4062D023, 0x4063C620, 0x00000002, 0x4062D024, 0x4063C620,\n\t0x00000002, 0x4062D025, 0x4063C620, 0x00000002, 0x4062D026, 0x4063C620,\n\t0x00000002, 0x4062D027, 0x4063C620, 0x00000002, 0x4062D021, 0x4063C820,\n\t0x00000002, 0x4062D022, 0x4063C820, 0x00000002, 0x4062D023, 0x4063C820,\n\t0x00000002, 0x4062D024, 0x4063C820, 0x00000002,\n\t// Block 673, offset 0xa840\n\t0x4062D025, 0x4063C820, 0x00000002, 0x4062D026, 0x4063C820, 0x00000002,\n\t0x4062D027, 0x4063C820, 0x00000002, 0x4062D028, 0x4063C820, 0x00000002,\n\t0x4062D029, 0x4063C820, 0x00000002, 0x4062D02A, 0x4063C820, 0x00000002,\n\t0x4062D021, 0x4063CA20, 0x00000002, 0x4062D022, 0x4063CA20, 0x00000002,\n\t0x4062D023, 0x4063CA20, 0x00000002, 0x4062D024, 0x4063CA20, 0x00000002,\n\t0x4062D025, 0x4063CA20, 0x00000002, 0x4062D026, 0x4063CA20, 0x00000002,\n\t0x4062D027, 0x4063CA20, 0x00000002, 0x4062D028, 0x4063CA20, 0x00000002,\n\t0x4062D029, 0x4063CA20, 0x00000002, 0x4062D02A, 0x4063CA20, 0x00000003,\n\t0x4062D021, 0x4063CA20, 0x40647220, 0x00000003, 0x4062D022, 0x4063CA20,\n\t0x40647220, 0x00000003, 0x4062D023, 0x4063CA20, 0x40647220, 0x00000003,\n\t0x4062D024, 0x4063CA20, 0x40647220, 0x00000003,\n\t// Block 674, offset 0xa880\n\t0x4062D021, 0x4063CA20, 0x40648C20, 0x00000003, 0x4062D022, 0x4063CA20,\n\t0x40648C20, 0x00000003, 0x4062D023, 0x4063CA20, 0x40648C20, 0x00000003,\n\t0x4062D024, 0x4063CA20, 0x40648C20, 0x00000003, 0x4062D025, 0x4063CA20,\n\t0x40648C20, 0x00000003, 0x4062D026, 0x4063CA20, 0x40648C20, 0x00000003,\n\t0x4062D027, 0x4063CA20, 0x40648C20, 0x00000003, 0x4062D021, 0x4063CC20,\n\t0x40646420, 0x00000003, 0x4062D021, 0x4063CC20, 0x40646A20, 0x00000003,\n\t0x4062D022, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062D023, 0x4063CC20,\n\t0x40646A20, 0x00000003, 0x4062D024, 0x4063CC20, 0x40646A20, 0x00000003,\n\t0x4062D025, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062D026, 0x4063CC20,\n\t0x40646A20, 0x00000003, 0x4062D027, 0x4063CC20, 0x40646A20, 0x00000003,\n\t0x4062D028, 0x4063CC20, 0x40646A20, 0x00000003,\n\t// Block 675, offset 0xa8c0\n\t0x4062D029, 0x4063CC20, 0x40646A20, 0x00000003, 0x4062D02A, 0x4063CC20,\n\t0x40646A20, 0x00000003, 0x4062D021, 0x4063CC20, 0x40647220, 0x00000003,\n\t0x4062D022, 0x4063CC20, 0x40647220, 0x00000003, 0x4062D023, 0x4063CC20,\n\t0x40647220, 0x00000003, 0x4062D024, 0x4063CC20, 0x40647220, 0x00000003,\n\t0x4062D025, 0x4063CC20, 0x40647220, 0x00000003, 0x4062D026, 0x4063CC20,\n\t0x40647220, 0x00000003, 0x4062D027, 0x4063CC20, 0x40647220, 0x00000003,\n\t0x4062D028, 0x4063CC20, 0x40647220, 0x00000003, 0x4062D029, 0x4063CC20,\n\t0x40647220, 0x00000003, 0x4062D021, 0x4063CC20, 0x40648220, 0x00000003,\n\t0x4062D022, 0x4063CC20, 0x40648220, 0x00000003, 0x4062D023, 0x4063CC20,\n\t0x40648220, 0x00000003, 0x4062D024, 0x4063CC20, 0x40648220, 0x00000003,\n\t0x4062D021, 0x4063CC20, 0x40648420, 0x00000003,\n\t// Block 676, offset 0xa900\n\t0x4062D022, 0x4063CC20, 0x40648420, 0x00000003, 0x4062D023, 0x4063CC20,\n\t0x40648420, 0x00000003, 0x4062D024, 0x4063CC20, 0x40648420, 0x00000003,\n\t0x4062D025, 0x4063CC20, 0x40648420, 0x00000003, 0x4062D026, 0x4063CC20,\n\t0x40648420, 0x00000003, 0x4062D027, 0x4063CC20, 0x40648420, 0x00000003,\n\t0x4062D028, 0x4063CC20, 0x40648420, 0x00000003, 0x4062D021, 0x4063CC20,\n\t0x40648C20, 0x00000002, 0x4062D021, 0x4063CE20, 0x00000002, 0x4062D022,\n\t0x4063CE20, 0x00000002, 0x4062D023, 0x4063CE20, 0x00000002, 0x4062D024,\n\t0x4063CE20, 0x00000002, 0x4062D025, 0x4063CE20, 0x00000002, 0x4062D026,\n\t0x4063CE20, 0x00000002, 0x4062D027, 0x4063CE20, 0x00000002, 0x4062D028,\n\t0x4063CE20, 0x00000002, 0x4062D029, 0x4063CE20, 0x00000002, 0x4062D02A,\n\t0x4063CE20, 0x00000002, 0x4062D02B, 0x4063CE20,\n\t// Block 677, offset 0xa940\n\t0x00000002, 0x4062D02C, 0x4063CE20, 0x00000002, 0x4062D02D, 0x4063CE20,\n\t0x00000002, 0x4062D02E, 0x4063CE20, 0x00000002, 0x4062D02F, 0x4063CE20,\n\t0x00000002, 0x4062D030, 0x4063CE20, 0x00000002, 0x4062D031, 0x4063CE20,\n\t0x00000002, 0x4062D032, 0x4063CE20, 0x00000002, 0x4062D033, 0x4063CE20,\n\t0x00000002, 0x4062D034, 0x4063CE20, 0x00000002, 0x4062D035, 0x4063CE20,\n\t0x00000002, 0x4062D036, 0x4063CE20, 0x00000002, 0x4062D037, 0x4063CE20,\n\t0x00000002, 0x4062D038, 0x4063CE20, 0x00000002, 0x4062D039, 0x4063CE20,\n\t0x00000002, 0x4062D03A, 0x4063CE20, 0x00000002, 0x4062D03B, 0x4063CE20,\n\t0x00000002, 0x4062D03C, 0x4063CE20, 0x00000002, 0x4062D03D, 0x4063CE20,\n\t0x00000002, 0x4062D03E, 0x4063CE20, 0x00000002, 0x4062D03F, 0x4063CE20,\n\t0x00000003, 0x4062D021, 0x4063D020, 0x40647220,\n\t// Block 678, offset 0xa980\n\t0x00000003, 0x4062D022, 0x4063D020, 0x40647220, 0x00000003, 0x4062D023,\n\t0x4063D020, 0x40647220, 0x00000003, 0x4062D024, 0x4063D020, 0x40647220,\n\t0x00000003, 0x4062D025, 0x4063D020, 0x40647220, 0x00000003, 0x4062D026,\n\t0x4063D020, 0x40647220, 0x00000002, 0x40403C20, 0xA070F102, 0x00000002,\n\t0x402D9A22, 0xAE603202, 0x00000002, 0x002D9AC3, 0xAE603202, 0x00000002,\n\t0x402D9A22, 0xAE603502, 0x00000002, 0x002D9AC3, 0xAE603502, 0x00000002,\n\t0x402D9A22, 0xAE603C02, 0x00000002, 0x002D9AC3, 0xAE603C02, 0x00000002,\n\t0x402D9A22, 0xAE604302, 0x00000002, 0x402D9A22, 0xAE604702, 0x00000002,\n\t0x002D9AC3, 0xAE604702, 0x00000002, 0x402D9A22, 0xAE604E02, 0x00000002,\n\t0x002D9AC3, 0xAE604E02, 0x00000002, 0x402D9A22, 0xAE605202, 0x00000002,\n\t0x002D9AC3, 0xAE605202, 0x00000002, 0x402D9A22,\n\t// Block 679, offset 0xa9c0\n\t0xAE605B02, 0x00000002, 0x002D9AC3, 0xAE605B02, 0x00000002, 0x402D9A22,\n\t0xAE606402, 0x00000002, 0x002D9AC3, 0xAE606402, 0x00000002, 0x402D9A22,\n\t0xADC07002, 0x00000002, 0x002D9AC3, 0xADC07002, 0x00000002, 0x40306C22,\n\t0xAE604702, 0x00000002, 0x00306CC3, 0xAE604702, 0x00000002, 0x40302A20,\n\t0xAE605202, 0x00000002, 0x00302A83, 0xAE605202, 0x00000002, 0x40442221,\n\t0x82092248, 0x00000002, 0x004422A3, 0x82092248, 0x00000002, 0x40443E21,\n\t0x82092248, 0x00000002, 0x00443EA3, 0x82092248, 0x00000002, 0x00444883,\n\t0x82092248, 0x00000002, 0x40444821, 0x82092248, 0x00000002, 0x004448A3,\n\t0x82092248, 0x00000002, 0x40445421, 0x82092248, 0x00000002, 0x40445821,\n\t0x82092248, 0x00000002, 0x004458A3, 0x82092248, 0x00000002, 0x40445A21,\n\t0x82092248, 0x00000002, 0x00445AA3, 0x82092248,\n\t// Block 680, offset 0xaa00\n\t0x00000002, 0x40446621, 0x82092248, 0x00000002, 0x004466A3, 0x82092248,\n\t0x00000002, 0x402D6820, 0xA0007D02, 0x00000002, 0x002D6894, 0xA0007D14,\n\t0x00000005, 0x404E6020, 0x404E8420, 0x404E2420, 0x8209278B, 0x404F3020,\n\t0x00000006, 0x404E6A20, 0x8209278B, 0x404E6A20, 0x404EEE20, 0x404E7220,\n\t0x8209278B, 0x00000006, 0x404E6A21, 0x40510E20, 0x404EE620, 0x404EEE20,\n\t0x404E1420, 0x8209278B, 0x00000004, 0x404E8C21, 0x40510A20, 0x404EFE20,\n\t0x404F2E20, 0x00000006, 0x404E9420, 0x404E1420, 0x8209278B, 0x404E8220,\n\t0x404E1420, 0x8209278B, 0x00000005, 0x404E9420, 0x404E1420, 0x8209278B,\n\t0x404E8820, 0x404EDE20, 0x0000000A, 0x404E9421, 0x404E4820, 0x8209278B,\n\t0x404F3020, 0x404E1420, 0x404EFE20, 0x404EDE20, 0x404E2420, 0x8209278B,\n\t0x404F3020, 0x00000003, 0x404EA620, 0x404E8420,\n\t// Block 681, offset 0xaa40\n\t0x404EEA20, 0x00000003, 0x404EA620, 0x8209278A, 0x404EA620, 0x00000002,\n\t0x004EC283, 0x404EE620, 0x00000002, 0x404EC221, 0x404EE620, 0x00000002,\n\t0x004EC283, 0x404EEA20, 0x00000002, 0x004EC283, 0x404EEE20, 0x00000003,\n\t0x004EC283, 0x404EEE20, 0x404F0C20, 0x00000002, 0x004EC283, 0x404EF420,\n\t0x00000002, 0x004EC283, 0x404EFE20, 0x00000002, 0x004EC284, 0x404EFE20,\n\t0x00000003, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E1420, 0x8209278A, 0x00000005, 0x004EC284,\n\t0x404EFE20, 0x404EDE20, 0x404E1420, 0x8209278A, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E1420, 0x8209278B, 0x00000005, 0x004EC284,\n\t0x404EFE20, 0x404EDE20, 0x404E1420, 0x8209278B, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E1820, 0x8209278A,\n\t// Block 682, offset 0xaa80\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E1820, 0x8209278A,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E1820, 0x8209278B,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E1820, 0x8209278B,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E1C20, 0x8209278A,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E1C20, 0x8209278A,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E1C20, 0x8209278B,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E1C20, 0x8209278B,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E2220, 0x8209278A,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E2220, 0x8209278A,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E2220, 0x8209278B,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t// Block 683, offset 0xaac0\n\t0x404E2220, 0x8209278B, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404E2420, 0x8209278A, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404E2420, 0x8209278A, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404E2420, 0x8209278B, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404E2420, 0x8209278B, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404E2820, 0x8209278A, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404E2820, 0x8209278A, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404E2820, 0x8209278B, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404E2820, 0x8209278B, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404E2E20, 0x8209278A, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404E2E20, 0x8209278A, 0x00000005, 0x004EC283,\n\t// Block 684, offset 0xab00\n\t0x404EFE20, 0x404EDE20, 0x404E2E20, 0x8209278B, 0x00000005, 0x004EC284,\n\t0x404EFE20, 0x404EDE20, 0x404E2E20, 0x8209278B, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E3220, 0x8209278A, 0x00000005, 0x004EC284,\n\t0x404EFE20, 0x404EDE20, 0x404E3220, 0x8209278A, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E3220, 0x8209278B, 0x00000005, 0x004EC284,\n\t0x404EFE20, 0x404EDE20, 0x404E3220, 0x8209278B, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E4220, 0x8209278A, 0x00000005, 0x004EC284,\n\t0x404EFE20, 0x404EDE20, 0x404E4220, 0x8209278A, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E4220, 0x8209278B, 0x00000005, 0x004EC284,\n\t0x404EFE20, 0x404EDE20, 0x404E4220, 0x8209278B, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E4820, 0x8209278A,\n\t// Block 685, offset 0xab40\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E4820, 0x8209278A,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E4820, 0x8209278B,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E4820, 0x8209278B,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E4A20, 0x8209278A,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E4A20, 0x8209278A,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E4A20, 0x8209278B,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E4A20, 0x8209278B,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E4E20, 0x8209278A,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E4E20, 0x8209278A,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E4E20, 0x8209278B,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t// Block 686, offset 0xab80\n\t0x404E4E20, 0x8209278B, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404E5220, 0x8209278A, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404E5220, 0x8209278A, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404E5220, 0x8209278B, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404E5220, 0x8209278B, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404E5620, 0x8209278A, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404E5620, 0x8209278A, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404E5620, 0x8209278B, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404E5620, 0x8209278B, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404E5A20, 0x8209278A, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404E5A20, 0x8209278A, 0x00000005, 0x004EC283,\n\t// Block 687, offset 0xabc0\n\t0x404EFE20, 0x404EDE20, 0x404E5A20, 0x8209278B, 0x00000005, 0x004EC284,\n\t0x404EFE20, 0x404EDE20, 0x404E5A20, 0x8209278B, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E5E20, 0x8209278A, 0x00000005, 0x004EC284,\n\t0x404EFE20, 0x404EDE20, 0x404E5E20, 0x8209278A, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E5E20, 0x8209278B, 0x00000005, 0x004EC284,\n\t0x404EFE20, 0x404EDE20, 0x404E5E20, 0x8209278B, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E6020, 0x8209278A, 0x00000005, 0x004EC284,\n\t0x404EFE20, 0x404EDE20, 0x404E6020, 0x8209278A, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E6020, 0x8209278B, 0x00000005, 0x004EC284,\n\t0x404EFE20, 0x404EDE20, 0x404E6020, 0x8209278B, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E6220, 0x8209278A,\n\t// Block 688, offset 0xac00\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E6220, 0x8209278A,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E6220, 0x8209278B,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E6220, 0x8209278B,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E6620, 0x8209278A,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E6620, 0x8209278A,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E6620, 0x8209278B,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E6620, 0x8209278B,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E6A20, 0x8209278A,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E6A20, 0x8209278A,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E6A20, 0x8209278B,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t// Block 689, offset 0xac40\n\t0x404E6A20, 0x8209278B, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404E7220, 0x8209278A, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404E7220, 0x8209278A, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404E7220, 0x8209278B, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404E7220, 0x8209278B, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404E7420, 0x8209278A, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404E7420, 0x8209278A, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404E7420, 0x8209278B, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404E7420, 0x8209278B, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404E7E20, 0x8209278A, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404E7E20, 0x8209278A, 0x00000005, 0x004EC283,\n\t// Block 690, offset 0xac80\n\t0x404EFE20, 0x404EDE20, 0x404E7E20, 0x8209278B, 0x00000005, 0x004EC284,\n\t0x404EFE20, 0x404EDE20, 0x404E7E20, 0x8209278B, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E8220, 0x8209278A, 0x00000005, 0x004EC284,\n\t0x404EFE20, 0x404EDE20, 0x404E8220, 0x8209278A, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E8220, 0x8209278B, 0x00000005, 0x004EC284,\n\t0x404EFE20, 0x404EDE20, 0x404E8220, 0x8209278B, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E8420, 0x8209278A, 0x00000005, 0x004EC284,\n\t0x404EFE20, 0x404EDE20, 0x404E8420, 0x8209278A, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E8420, 0x8209278B, 0x00000005, 0x004EC284,\n\t0x404EFE20, 0x404EDE20, 0x404E8420, 0x8209278B, 0x00000005, 0x004EC283,\n\t0x404EFE20, 0x404EDE20, 0x404E8820, 0x8209278A,\n\t// Block 691, offset 0xacc0\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E8820, 0x8209278A,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E8820, 0x8209278B,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E8820, 0x8209278B,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E8C20, 0x8209278A,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E8C20, 0x8209278A,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E8C20, 0x8209278B,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E8C20, 0x8209278B,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E9420, 0x8209278A,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20, 0x404E9420, 0x8209278A,\n\t0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20, 0x404E9420, 0x8209278B,\n\t0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t// Block 692, offset 0xad00\n\t0x404E9420, 0x8209278B, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404EA620, 0x8209278A, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404EA620, 0x8209278A, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404EA620, 0x8209278B, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404EA620, 0x8209278B, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404EAA20, 0x8209278A, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404EAA20, 0x8209278A, 0x00000005, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x404EAA20, 0x8209278B, 0x00000005, 0x004EC284, 0x404EFE20, 0x404EDE20,\n\t0x404EAA20, 0x8209278B, 0x00000004, 0x004EC283, 0x404EFE20, 0x404EDE20,\n\t0x8209278B, 0x00000006, 0x404EFE20, 0x404EDE20, 0x404E1420, 0x8209278B,\n\t0x404E1420, 0x40510420, 0x00000002, 0x402C9A20,\n\t// Block 693, offset 0xad40\n\t0xAE603202, 0x00000002, 0x002C9A83, 0xAE603202, 0x00000002, 0x402C9A20,\n\t0xAE603502, 0x00000002, 0x002C9A83, 0xAE603502, 0x00000002, 0x402C9A20,\n\t0xAE604E02, 0x00000002, 0x002C9A83, 0xAE604E02, 0x00000002, 0x402C9A20,\n\t0xAE606402, 0x00000002, 0x002C9A83, 0xAE606402, 0x00000002, 0x402C9A20,\n\t0xADC07002, 0x00000002, 0x002C9A83, 0xADC07002, 0x00000002, 0x402EE420,\n\t0xAE603202, 0x00000002, 0x002EE483, 0xAE603202, 0x00000002, 0x402EE420,\n\t0xAE603502, 0x00000002, 0x002EE483, 0xAE603502, 0x00000002, 0x402EE420,\n\t0xAE606402, 0x00000002, 0x002EE483, 0xAE606402, 0x00000002, 0x402EE420,\n\t0xADC07002, 0x00000002, 0x002EE483, 0xADC07002, 0x00000002, 0x40411620,\n\t0xA000FA02, 0x00000002, 0x40411E20, 0xA000FA02, 0x00000002, 0x40412020,\n\t0xA000FA02, 0x00000002, 0x40412A20, 0xA000FA02,\n\t// Block 694, offset 0xad80\n\t0x00000002, 0x40414620, 0xA000FA02, 0x00000002, 0x40415420, 0xA000FA02,\n\t0x00000002, 0x403A6822, 0xAE60BE02, 0x00000002, 0x003A7C84, 0x00391C84,\n\t0x00000002, 0x003A7C9A, 0x00391C9A, 0x00000002, 0x40320820, 0xAE603202,\n\t0x00000002, 0x00320883, 0xAE603202, 0x00000002, 0x40320A20, 0xAE603202,\n\t0x00000002, 0x00320A83, 0xAE603202, 0x00000002, 0x40320A20, 0xAE605B02,\n\t0x00000002, 0x00320A83, 0xAE605B02, 0x00000002, 0x40320E21, 0xAE603702,\n\t0x00000002, 0x00320EA3, 0xAE603702, 0x00000002, 0x40320E21, 0xAE603C02,\n\t0x00000002, 0x00320EA3, 0xAE603C02, 0x00000002, 0x40321022, 0xAE603202,\n\t0x00000002, 0x003210C3, 0xAE603202, 0x00000002, 0x40321022, 0xAE604702,\n\t0x00000002, 0x003210C3, 0xAE604702, 0x00000002, 0x40321022, 0xAE605B02,\n\t0x00000002, 0x003210C3, 0xAE605B02, 0x00000002,\n\t// Block 695, offset 0xadc0\n\t0x40321022, 0xAD806802, 0x00000002, 0x003210C3, 0xAD806802, 0x00000002,\n\t0x40321023, 0xAE603502, 0x00000002, 0x003210E3, 0xAE603502, 0x00000002,\n\t0x40321023, 0xAE604E02, 0x00000002, 0x003210E3, 0xAE604E02, 0x00000002,\n\t0x40321023, 0xAE606402, 0x00000002, 0x003210E3, 0xAE606402, 0x00000002,\n\t0x40321023, 0xADC07002, 0x00000002, 0x003210E3, 0xADC07002, 0x00000002,\n\t0x40321024, 0xAE605B02, 0x00000002, 0x00321103, 0xAE605B02, 0x00000002,\n\t0x402C6020, 0xAE603202, 0x00000002, 0x002C6083, 0xAE603202, 0x00000002,\n\t0x40321024, 0xAE603202, 0x00000002, 0x00321103, 0xAE603202, 0x00000002,\n\t0x40321024, 0xAE603502, 0x00000002, 0x00321103, 0xAE603502, 0x00000002,\n\t0x40321024, 0xAE604E02, 0x00000002, 0x00321103, 0xAE604E02, 0x00000002,\n\t0x40321024, 0xAE606402, 0x00000002, 0x00321103,\n\t// Block 696, offset 0xae00\n\t0xAE606402, 0x00000002, 0x40321024, 0xADC07002, 0x00000002, 0x00321103,\n\t0xADC07002, 0x00000002, 0x0030BE83, 0xAE604E02, 0x00000002, 0x0030BE83,\n\t0xADC07002, 0x00000002, 0x00497283, 0x40496C20, 0x00000002, 0x00497284,\n\t0x40496C20, 0x00000002, 0x402BDE21, 0xAE603702, 0x00000002, 0x002BDEA3,\n\t0xAE603702, 0x00000002, 0x402BDE21, 0xAE603C02, 0x00000002, 0x002BDEA3,\n\t0xAE603C02, 0x00000002, 0x402BDE21, 0xAE604302, 0x00000002, 0x002BDEA3,\n\t0xAE604302, 0x00000002, 0x402BDE22, 0xAE604702, 0x00000002, 0x002BDEC3,\n\t0xAE604702, 0x00000002, 0x402BDE22, 0xAE605202, 0x00000002, 0x002BDEC3,\n\t0xAE605202, 0x00000002, 0x402C9821, 0xAE603C02, 0x00000002, 0x002C98A3,\n\t0xAE603C02, 0x00000002, 0x402C9822, 0xAE603202, 0x00000002, 0x002C98C3,\n\t0xAE603202, 0x00000002, 0x402C9822, 0xAE603502,\n\t// Block 697, offset 0xae40\n\t0x00000002, 0x002C98C3, 0xAE603502, 0x00000002, 0x402D9A21, 0xAE604702,\n\t0x00000002, 0x002D9AA3, 0xAE604702, 0x00000002, 0x402EE221, 0xAE603C02,\n\t0x00000002, 0x002EE2A3, 0xAE603C02, 0x00000002, 0x402EE221, 0xAE604E02,\n\t0x00000002, 0x002EE2A3, 0xAE604E02, 0x00000002, 0x402EE221, 0xAD806802,\n\t0x00000002, 0x002EE2A3, 0xAD806802, 0x00000002, 0x402EE222, 0xAE603202,\n\t0x00000002, 0x002EE2C3, 0xAE603202, 0x00000002, 0x402EE222, 0xAE603502,\n\t0x00000002, 0x002EE2C3, 0xAE603502, 0x00000002, 0x402EE222, 0xAE604702,\n\t0x00000002, 0x002EE2C3, 0xAE604702, 0x00000002, 0x402EE222, 0xAE604E02,\n\t0x00000002, 0x002EE2C3, 0xAE604E02, 0x00000002, 0x402EE222, 0xAE605202,\n\t0x00000002, 0x002EE2C3, 0xAE605202, 0x00000002, 0x402EE222, 0xACA05902,\n\t0x00000002, 0x002EE2C3, 0xACA05902, 0x00000002,\n\t// Block 698, offset 0xae80\n\t0x40306C21, 0xAE604702, 0x00000002, 0x00306CA3, 0xAE604702, 0x00000002,\n\t0x40306C21, 0xAE604E02, 0x00000002, 0x00306CA3, 0xAE604E02, 0x00000002,\n\t0x40306C21, 0xAD806802, 0x00000002, 0x00306CA3, 0xAD806802, 0x00000002,\n\t0xA000AD18, 0xA000BA18, 0x00000002, 0x00393C97, 0x00396497, 0x00000002,\n\t0x00393C9A, 0x0039649A, 0x00000002, 0x00393C97, 0x00397297, 0x00000002,\n\t0x00393C9A, 0x0039729A, 0x00000002, 0x00393C97, 0x00397497, 0x00000002,\n\t0x00393C9A, 0x0039749A, 0x00000002, 0x00393C99, 0x0039A499, 0x00000002,\n\t0x00393C99, 0x0039A699, 0x00000002, 0x00393C97, 0x003A4E97, 0x00000002,\n\t0x00393C98, 0x003A4E98, 0x00000002, 0x00393C99, 0x003A4E99, 0x00000002,\n\t0x00393C9A, 0x003A4E9A, 0x00000002, 0x00393C99, 0x003A5699, 0x00000002,\n\t0x00395697, 0x00396497, 0x00000002, 0x0039569A,\n\t// Block 699, offset 0xaec0\n\t0x0039649A, 0x00000002, 0x00395697, 0x00397297, 0x00000002, 0x0039569A,\n\t0x0039729A, 0x00000002, 0x00395697, 0x00397497, 0x00000002, 0x0039569A,\n\t0x0039749A, 0x00000002, 0x00395699, 0x0039A499, 0x00000002, 0x00395699,\n\t0x0039A699, 0x00000002, 0x00395697, 0x003A4E97, 0x00000002, 0x00395698,\n\t0x003A4E98, 0x00000002, 0x00395699, 0x003A4E99, 0x00000002, 0x0039569A,\n\t0x003A4E9A, 0x00000002, 0x00395699, 0x003A5699, 0x00000002, 0x0039589A,\n\t0x0039649A, 0x00000002, 0x00395899, 0x0039A499, 0x00000002, 0x00395899,\n\t0x0039A699, 0x00000002, 0x00395897, 0x003A4E97, 0x00000002, 0x00395898,\n\t0x003A4E98, 0x00000002, 0x00395899, 0x003A4E99, 0x00000002, 0x0039589A,\n\t0x003A4E9A, 0x00000002, 0x00395899, 0x003A5699, 0x00000002, 0x00396497,\n\t0x00397297, 0x00000002, 0x0039649A, 0x0039729A,\n\t// Block 700, offset 0xaf00\n\t0x00000002, 0x00396497, 0x003A4E97, 0x00000002, 0x0039649A, 0x003A4E9A,\n\t0x00000002, 0x00397297, 0x00396497, 0x00000002, 0x0039729A, 0x0039649A,\n\t0x00000002, 0x00397297, 0x003A4E97, 0x00000002, 0x0039729A, 0x003A4E9A,\n\t0x00000002, 0x00397497, 0x00396497, 0x00000002, 0x0039749A, 0x0039649A,\n\t0x00000002, 0x0039749A, 0x0039729A, 0x00000002, 0x00397497, 0x003A4E97,\n\t0x00000002, 0x0039749A, 0x003A4E9A, 0x00000002, 0x00398A9A, 0xA000D11A,\n\t0x00000002, 0x0039A49A, 0xA000D11A, 0x00000002, 0x0039C697, 0x00396497,\n\t0x00000002, 0x0039C698, 0x00396498, 0x00000002, 0x0039C69A, 0x0039649A,\n\t0x00000002, 0x0039C697, 0x00397297, 0x00000002, 0x0039C698, 0x00397298,\n\t0x00000002, 0x0039C69A, 0x0039729A, 0x00000002, 0x0039C697, 0x00397497,\n\t0x00000002, 0x0039C698, 0x00397498, 0x00000002,\n\t// Block 701, offset 0xaf40\n\t0x0039C69A, 0x0039749A, 0x00000002, 0x0039C699, 0x0039A499, 0x00000002,\n\t0x0039C69A, 0x0039A49A, 0x00000002, 0x0039C697, 0x003A4E97, 0x00000002,\n\t0x0039C698, 0x003A4E98, 0x00000002, 0x0039C69A, 0x003A4E9A, 0x00000002,\n\t0x0039C897, 0x00396497, 0x00000002, 0x0039C898, 0x00396498, 0x00000002,\n\t0x0039C899, 0x00396499, 0x00000002, 0x0039C89A, 0x0039649A, 0x00000002,\n\t0x0039C897, 0x00397297, 0x00000002, 0x0039C898, 0x00397298, 0x00000002,\n\t0x0039C899, 0x00397299, 0x00000002, 0x0039C89A, 0x0039729A, 0x00000002,\n\t0x0039C897, 0x00397497, 0x00000002, 0x0039C898, 0x00397498, 0x00000002,\n\t0x0039C899, 0x00397499, 0x00000002, 0x0039C89A, 0x0039749A, 0x00000002,\n\t0x0039C899, 0x0039A499, 0x00000002, 0x0039C89A, 0x0039A49A, 0x00000002,\n\t0x0039C897, 0x003A4E97, 0x00000002, 0x0039C898,\n\t// Block 702, offset 0xaf80\n\t0x003A4E98, 0x00000002, 0x0039C899, 0x003A4E99, 0x00000002, 0x0039C89A,\n\t0x003A4E9A, 0x00000002, 0x0039DC97, 0x00397297, 0x00000002, 0x0039DC9A,\n\t0x0039729A, 0x00000002, 0x0039DC97, 0x00397497, 0x00000002, 0x0039DC99,\n\t0x0039A499, 0x00000002, 0x0039DC9A, 0x0039A49A, 0x00000002, 0x0039DC97,\n\t0x003A4E97, 0x00000002, 0x0039DC9A, 0x003A4E9A, 0x00000002, 0x0039DE97,\n\t0x00396497, 0x00000002, 0x0039DE9A, 0x0039649A, 0x00000002, 0x0039DE97,\n\t0x00397297, 0x00000002, 0x0039DE9A, 0x0039729A, 0x00000002, 0x0039DE97,\n\t0x00397497, 0x00000002, 0x0039DE9A, 0x0039749A, 0x00000002, 0x0039DE99,\n\t0x0039A499, 0x00000002, 0x0039DE9A, 0x0039A49A, 0x00000002, 0x0039DE97,\n\t0x003A4E97, 0x00000002, 0x0039DE9A, 0x003A4E9A, 0x00000002, 0x0039E697,\n\t0x00397297, 0x00000002, 0x0039E69A, 0x0039729A,\n\t// Block 703, offset 0xafc0\n\t0x00000002, 0x0039E697, 0x003A4E97, 0x00000002, 0x0039E698, 0x003A4E98,\n\t0x00000002, 0x0039E69A, 0x003A4E9A, 0x00000002, 0x0039E897, 0x003A4E97,\n\t0x00000002, 0x0039E898, 0x003A4E98, 0x00000002, 0x0039E89A, 0x003A4E9A,\n\t0x00000002, 0x0039EE97, 0x00396497, 0x00000002, 0x0039EE9A, 0x0039649A,\n\t0x00000002, 0x0039EE97, 0x003A4E97, 0x00000002, 0x0039EE9A, 0x003A4E9A,\n\t0x00000002, 0x0039F097, 0x00396497, 0x00000002, 0x0039F09A, 0x0039649A,\n\t0x00000002, 0x0039F097, 0x003A4E97, 0x00000002, 0x0039F09A, 0x003A4E9A,\n\t0x00000002, 0x0039FC97, 0x00396497, 0x00000002, 0x0039FC9A, 0x0039649A,\n\t0x00000002, 0x0039FC97, 0x00397297, 0x00000002, 0x0039FC9A, 0x0039729A,\n\t0x00000002, 0x0039FC97, 0x00397497, 0x00000002, 0x0039FC9A, 0x0039749A,\n\t0x00000002, 0x0039FC97, 0x003A4E97, 0x00000002,\n\t// Block 704, offset 0xb000\n\t0x0039FC9A, 0x003A4E9A, 0x00000002, 0x003A1297, 0x00397297, 0x00000002,\n\t0x003A129A, 0x0039729A, 0x00000002, 0x003A1297, 0x003A4E97, 0x00000002,\n\t0x003A129A, 0x003A4E9A, 0x00000002, 0x003A4099, 0x00393899, 0x00000002,\n\t0x003A409A, 0x0039389A, 0x00000002, 0x003A4097, 0x00396497, 0x00000002,\n\t0x003A409A, 0x0039649A, 0x00000002, 0x003A4097, 0x00397297, 0x00000002,\n\t0x003A409A, 0x0039729A, 0x00000002, 0x003A4097, 0x00397497, 0x00000002,\n\t0x003A409A, 0x0039749A, 0x00000002, 0x003A4097, 0x003A4E97, 0x00000002,\n\t0x003A4098, 0x003A4E98, 0x00000002, 0x003A4099, 0x003A4E99, 0x00000002,\n\t0x003A409A, 0x003A4E9A, 0x00000002, 0x003A4E99, 0x00393899, 0x00000002,\n\t0x003A4E97, 0x00396497, 0x00000002, 0x003A4E9A, 0x0039649A, 0x00000002,\n\t0x003A4E97, 0x00397297, 0x00000002, 0x003A4E9A,\n\t// Block 705, offset 0xb040\n\t0x0039729A, 0x00000002, 0x003A4E97, 0x00397497, 0x00000002, 0x003A4E9A,\n\t0x0039749A, 0x00000002, 0x003A4E97, 0x003A4E97, 0x00000002, 0x003A4E99,\n\t0x003A4E99, 0x00000002, 0x003A4E9A, 0x003A4E9A, 0x00000002, 0x003A5697,\n\t0x00396497, 0x00000002, 0x003A569A, 0x0039649A, 0x00000002, 0x003A5697,\n\t0x00397297, 0x00000002, 0x003A569A, 0x0039729A, 0x00000002, 0x003A5697,\n\t0x00397497, 0x00000002, 0x003A569A, 0x0039749A, 0x00000002, 0x003A5699,\n\t0x0039A499, 0x00000002, 0x003A5699, 0x0039A699, 0x00000002, 0x003A5697,\n\t0x003A4E97, 0x00000002, 0x003A5698, 0x003A4E98, 0x00000002, 0x003A5699,\n\t0x003A4E99, 0x00000002, 0x003A569A, 0x003A4E9A, 0x00000002, 0x003A5699,\n\t0x003A5699, 0x00000002, 0x403A7220, 0xA000C602, 0x00000002, 0x003A7484,\n\t0x00391C84, 0x00000002, 0xAE604702, 0xAE603802,\n\t// Block 706, offset 0xb080\n\t0x00000002, 0x40062C20, 0xAE603802, 0x00000002, 0x40063620, 0xAE603802,\n\t0x00000002, 0x40063820, 0xAE603802, 0x00000002, 0x402BDE20, 0xAE603602,\n\t0x00000002, 0x002BDE88, 0xAE603602, 0x00000002, 0x402BDE20, 0xAE603702,\n\t0x00000002, 0x002BDE88, 0xAE603702, 0x00000002, 0x402BDE20, 0xAE603802,\n\t0x00000002, 0x002BDE88, 0xAE603802, 0x00000002, 0x402BDE20, 0xAE603902,\n\t0x00000002, 0x002BDE88, 0xAE603902, 0x00000003, 0x402BDE20, 0xAE604302,\n\t0xAE603802, 0x00000003, 0x002BDE88, 0xAE604302, 0xAE603802, 0x00000004,\n\t0x002BDE84, 0xA0013904, 0x002C9884, 0xAE603802, 0x00000004, 0x002BDE8A,\n\t0xA0013904, 0x002C988A, 0xAE603802, 0x00000002, 0x402BE020, 0xAE603602,\n\t0x00000002, 0x002BE083, 0xAE603602, 0x00000002, 0x402BE020, 0xAE603702,\n\t0x00000002, 0x002BE083, 0xAE603702, 0x00000002,\n\t// Block 707, offset 0xb0c0\n\t0x402BE020, 0xAE603802, 0x00000002, 0x002BE083, 0xAE603802, 0x00000002,\n\t0x402BE020, 0xAE603902, 0x00000002, 0x002BE083, 0xAE603902, 0x00000002,\n\t0x402BE220, 0xAE603602, 0x00000002, 0x002BE283, 0xAE603602, 0x00000002,\n\t0x402BE220, 0xAE603702, 0x00000002, 0x002BE283, 0xAE603702, 0x00000002,\n\t0x402BE220, 0xAE603802, 0x00000002, 0x002BE283, 0xAE603802, 0x00000002,\n\t0x402BE220, 0xAE603902, 0x00000002, 0x002BE283, 0xAE603902, 0x00000002,\n\t0x402C0A20, 0xAE603902, 0x00000002, 0x002C0A88, 0xAE603902, 0x00000002,\n\t0x402C3A20, 0xAE603802, 0x00000002, 0x002C3A88, 0xAE603802, 0x00000003,\n\t0x402C3A20, 0xACA05602, 0xAE603802, 0x00000003, 0x002C3A88, 0xACA05602,\n\t0xAE603802, 0x00000002, 0x402C6220, 0xAE603902, 0x00000002, 0x002C6288,\n\t0xAE603902, 0x00000002, 0x402C9820, 0xAE603602,\n\t// Block 708, offset 0xb100\n\t0x00000002, 0x002C9888, 0xAE603602, 0x00000002, 0x402C9820, 0xAE603702,\n\t0x00000002, 0x002C9888, 0xAE603702, 0x00000002, 0x402C9820, 0xAE603802,\n\t0x00000002, 0x002C9888, 0xAE603802, 0x00000002, 0x402C9820, 0xAE603902,\n\t0x00000002, 0x002C9888, 0xAE603902, 0x00000003, 0x402C9820, 0xAE605B02,\n\t0xAE603802, 0x00000003, 0x002C9888, 0xAE605B02, 0xAE603802, 0x00000002,\n\t0x402C9A20, 0xAE603602, 0x00000002, 0x002C9A83, 0xAE603602, 0x00000002,\n\t0x402C9A20, 0xAE603702, 0x00000002, 0x002C9A83, 0xAE603702, 0x00000002,\n\t0x402C9A20, 0xAE603802, 0x00000002, 0x002C9A83, 0xAE603802, 0x00000002,\n\t0x402C9A20, 0xAE603902, 0x00000002, 0x002C9A83, 0xAE603902, 0x00000002,\n\t0x402D2220, 0xAE603802, 0x00000002, 0x002D2288, 0xAE603802, 0x00000002,\n\t0x402D6820, 0xAE603902, 0x00000002, 0x002D6888,\n\t// Block 709, offset 0xb140\n\t0xAE603902, 0x00000002, 0x402D9A20, 0xAE603602, 0x00000002, 0x002D9A88,\n\t0xAE603602, 0x00000002, 0x402D9A20, 0xAE603702, 0x00000002, 0x002D9A88,\n\t0xAE603702, 0x00000002, 0x402D9A20, 0xAE603802, 0x00000002, 0x002D9A88,\n\t0xAE603802, 0x00000002, 0x402D9A20, 0xAE603902, 0x00000002, 0x002D9A88,\n\t0xAE603902, 0x00000003, 0x402D9A20, 0xAE604702, 0xAE603802, 0x00000003,\n\t0x002D9A88, 0xAE604702, 0xAE603802, 0x00000002, 0x402DFE20, 0xAE603802,\n\t0x00000002, 0x002DFE88, 0xAE603802, 0x00000002, 0x402DFE20, 0xAE603902,\n\t0x00000002, 0x002DFE88, 0xAE603902, 0x00000002, 0x402E2220, 0xAE603802,\n\t0x00000002, 0x002E2288, 0xAE603802, 0x00000002, 0x402E2220, 0xAE603902,\n\t0x00000002, 0x002E2288, 0xAE603902, 0x00000003, 0x402E2220, 0xAE603902,\n\t0xAE605B02, 0x00000003, 0x002E2288, 0xAE603902,\n\t// Block 710, offset 0xb180\n\t0xAE605B02, 0x00000002, 0x402E8220, 0xAE603802, 0x00000002, 0x002E8288,\n\t0xAE603802, 0x00000002, 0x402E8220, 0xAE603902, 0x00000002, 0x002E8288,\n\t0xAE603902, 0x00000002, 0x402E9E20, 0xAE603702, 0x00000002, 0x002E9E88,\n\t0xAE603702, 0x00000002, 0x402E9E20, 0xAE603802, 0x00000002, 0x002E9E88,\n\t0xAE603802, 0x00000002, 0x402E9E20, 0xAE603902, 0x00000002, 0x002E9E88,\n\t0xAE603902, 0x00000002, 0x402EE220, 0xAE603602, 0x00000002, 0x002EE288,\n\t0xAE603602, 0x00000002, 0x402EE220, 0xAE603702, 0x00000002, 0x002EE288,\n\t0xAE603702, 0x00000003, 0x402EE220, 0xAE603702, 0xAE603802, 0x00000003,\n\t0x002EE288, 0xAE603702, 0xAE603802, 0x00000003, 0x402EE220, 0xAE603702,\n\t0xAE604702, 0x00000003, 0x002EE288, 0xAE603702, 0xAE604702, 0x00000003,\n\t0x402EE220, 0xAE603702, 0xAE605B02, 0x00000003,\n\t// Block 711, offset 0xb1c0\n\t0x002EE288, 0xAE603702, 0xAE605B02, 0x00000002, 0x402EE220, 0xAE603802,\n\t0x00000002, 0x002EE288, 0xAE603802, 0x00000002, 0x402EE220, 0xAE603902,\n\t0x00000002, 0x002EE288, 0xAE603902, 0x00000003, 0x402EE220, 0xA0005402,\n\t0xAE603802, 0x00000003, 0x002EE288, 0xA0005402, 0xAE603802, 0x00000003,\n\t0x402EE220, 0xAE605B02, 0xAE603802, 0x00000003, 0x002EE288, 0xAE605B02,\n\t0xAE603802, 0x00000002, 0x402EE420, 0xAE603602, 0x00000002, 0x002EE483,\n\t0xAE603602, 0x00000002, 0x402EE420, 0xAE603702, 0x00000002, 0x002EE483,\n\t0xAE603702, 0x00000002, 0x402EE420, 0xAE603802, 0x00000002, 0x002EE483,\n\t0xAE603802, 0x00000002, 0x402EE420, 0xAE603902, 0x00000002, 0x002EE483,\n\t0xAE603902, 0x00000002, 0x402EE620, 0xAE603502, 0x00000002, 0x002EE683,\n\t0xAE603502, 0x00000002, 0x402EE620, 0xAE603602,\n\t// Block 712, offset 0xb200\n\t0x00000002, 0x002EE683, 0xAE603602, 0x00000002, 0x402EE620, 0xAE603702,\n\t0x00000002, 0x002EE683, 0xAE603702, 0x00000002, 0x402EE620, 0xAE603802,\n\t0x00000002, 0x002EE683, 0xAE603802, 0x00000002, 0x402EE620, 0xAE603902,\n\t0x00000002, 0x002EE683, 0xAE603902, 0x00000002, 0x402F2C20, 0xAE603802,\n\t0x00000002, 0x002F2C88, 0xAE603802, 0x00000002, 0x402F7A20, 0xAE603802,\n\t0x00000002, 0x002F7A88, 0xAE603802, 0x00000002, 0x402F7A20, 0xAE603902,\n\t0x00000002, 0x002F7A88, 0xAE603902, 0x00000003, 0x402F7A20, 0xAE603902,\n\t0xAE605B02, 0x00000003, 0x002F7A88, 0xAE603902, 0xAE605B02, 0x00000002,\n\t0x402FE620, 0xAE603802, 0x00000002, 0x002FE688, 0xAE603802, 0x00000003,\n\t0x402FE620, 0xAE603802, 0xAE605202, 0x00000003, 0x002FE688, 0xAE603802,\n\t0xAE605202, 0x00000002, 0x402FE620, 0xAE603902,\n\t// Block 713, offset 0xb240\n\t0x00000002, 0x002FE688, 0xAE603902, 0x00000003, 0x402FE620, 0xAE603902,\n\t0xAE605202, 0x00000003, 0x002FE688, 0xAE603902, 0xAE605202, 0x00000002,\n\t0x40302C20, 0xAE603902, 0x00000002, 0x00302C88, 0xAE603902, 0x00000002,\n\t0x40306C20, 0xAE603602, 0x00000002, 0x00306C88, 0xAE603602, 0x00000002,\n\t0x40306C20, 0xAE603702, 0x00000002, 0x00306C88, 0xAE603702, 0x00000003,\n\t0x40306C20, 0xAE603702, 0xAE603802, 0x00000003, 0x00306C88, 0xAE603702,\n\t0xAE603802, 0x00000002, 0x40306C20, 0xAE603802, 0x00000002, 0x00306C88,\n\t0xAE603802, 0x00000002, 0x40306C20, 0xAE603902, 0x00000002, 0x00306C88,\n\t0xAE603902, 0x00000003, 0x40306C20, 0xAE604702, 0xAE603802, 0x00000003,\n\t0x00306C88, 0xAE604702, 0xAE603802, 0x00000002, 0x40306E20, 0xAE603602,\n\t0x00000002, 0x00306E83, 0xAE603602, 0x00000002,\n\t// Block 714, offset 0xb280\n\t0x40306E20, 0xAE603702, 0x00000002, 0x00306E83, 0xAE603702, 0x00000002,\n\t0x40306E20, 0xAE603802, 0x00000002, 0x00306E83, 0xAE603802, 0x00000002,\n\t0x40306E20, 0xAE603902, 0x00000002, 0x00306E83, 0xAE603902, 0x00000002,\n\t0x4030BE20, 0xAE603702, 0x00000002, 0x0030BE88, 0xAE603702, 0x00000002,\n\t0x4030BE20, 0xAE603902, 0x00000002, 0x0030BE88, 0xAE603902, 0x00000002,\n\t0x4030E220, 0xAE603802, 0x00000002, 0x0030E288, 0xAE603802, 0x00000002,\n\t0x4030E220, 0xAE603902, 0x00000002, 0x0030E288, 0xAE603902, 0x00000002,\n\t0x40310020, 0xAE603602, 0x00000002, 0x00310088, 0xAE603602, 0x00000002,\n\t0x40310020, 0xAE603702, 0x00000002, 0x00310088, 0xAE603702, 0x00000002,\n\t0x40310020, 0xAE603802, 0x00000002, 0x00310088, 0xAE603802, 0x00000002,\n\t0x40310020, 0xAE603902, 0x00000002, 0x00310088,\n\t// Block 715, offset 0xb2c0\n\t0xAE603902, 0x00000002, 0x40312A20, 0xAE603802, 0x00000002, 0x00312A88,\n\t0xAE603802, 0x00000002, 0x40312A20, 0xAE603902, 0x00000002, 0x00312A88,\n\t0xAE603902, 0x00000003, 0x40325220, 0xAE602202, 0xAE603802, 0x00000003,\n\t0x00325288, 0xAE602202, 0xAE603802, 0x00000004, 0x40325220, 0xAE602202,\n\t0xAE603802, 0xAF007F02, 0x00000004, 0x00325288, 0xAE602202, 0xAE603802,\n\t0xAF007F02, 0x00000003, 0x40325220, 0xAE602A02, 0xAE603802, 0x00000003,\n\t0x00325288, 0xAE602A02, 0xAE603802, 0x00000004, 0x40325220, 0xAE602A02,\n\t0xAE603802, 0xAF007F02, 0x00000004, 0x00325288, 0xAE602A02, 0xAE603802,\n\t0xAF007F02, 0x00000002, 0x40325220, 0xAE603802, 0x00000002, 0x00325288,\n\t0xAE603802, 0x00000003, 0x40325220, 0xAE603802, 0xAF007F02, 0x00000003,\n\t0x40325C20, 0xAE602202, 0xAE603802, 0x00000003,\n\t// Block 716, offset 0xb300\n\t0x00325C88, 0xAE602202, 0xAE603802, 0x00000003, 0x40325C20, 0xAE602A02,\n\t0xAE603802, 0x00000003, 0x00325C88, 0xAE602A02, 0xAE603802, 0x00000002,\n\t0x40325C20, 0xAE603802, 0x00000002, 0x00325C88, 0xAE603802, 0x00000003,\n\t0x40326820, 0xAE602202, 0xAE603802, 0x00000003, 0x00326888, 0xAE602202,\n\t0xAE603802, 0x00000004, 0x40326820, 0xAE602202, 0xAE603802, 0xAF007F02,\n\t0x00000004, 0x00326888, 0xAE602202, 0xAE603802, 0xAF007F02, 0x00000003,\n\t0x40326820, 0xAE602A02, 0xAE603802, 0x00000003, 0x00326888, 0xAE602A02,\n\t0xAE603802, 0x00000004, 0x40326820, 0xAE602A02, 0xAE603802, 0xAF007F02,\n\t0x00000004, 0x00326888, 0xAE602A02, 0xAE603802, 0xAF007F02, 0x00000002,\n\t0x40326820, 0xAE603802, 0x00000002, 0x00326888, 0xAE603802, 0x00000003,\n\t0x40326820, 0xAE603802, 0xAF007F02, 0x00000003,\n\t// Block 717, offset 0xb340\n\t0x40326C20, 0xAE602202, 0xAE603802, 0x00000003, 0x00326C88, 0xAE602202,\n\t0xAE603802, 0x00000003, 0x40326C20, 0xAE602A02, 0xAE603802, 0x00000003,\n\t0x00326C88, 0xAE602A02, 0xAE603802, 0x00000002, 0x40326C20, 0xAE603802,\n\t0x00000002, 0x00326C88, 0xAE603802, 0x00000003, 0x40326C20, 0xAE604702,\n\t0xAE603802, 0x00000003, 0x40327C20, 0xAE602202, 0xAE603802, 0x00000003,\n\t0x00327C88, 0xAE602202, 0xAE603802, 0x00000003, 0x40327C20, 0xAE602A02,\n\t0xAE603802, 0x00000003, 0x00327C88, 0xAE602A02, 0xAE603802, 0x00000002,\n\t0x40327C20, 0xAE603802, 0x00000002, 0x00327C88, 0xAE603802, 0x00000003,\n\t0x40329820, 0xAE602202, 0xAE603802, 0x00000003, 0x40329820, 0xAE602A02,\n\t0xAE603802, 0x00000003, 0x00329888, 0xAE602A02, 0xAE603802, 0x00000002,\n\t0x40329820, 0xAE603802, 0x00000002, 0x00329888,\n\t// Block 718, offset 0xb380\n\t0xAE603802, 0x00000003, 0x40329820, 0xAE604702, 0xAE603802, 0x00000003,\n\t0x4032A220, 0xAE602202, 0xAE603802, 0x00000003, 0x0032A288, 0xAE602202,\n\t0xAE603802, 0x00000004, 0x4032A220, 0xAE602202, 0xAE603802, 0xAF007F02,\n\t0x00000004, 0x0032A288, 0xAE602202, 0xAE603802, 0xAF007F02, 0x00000003,\n\t0x4032A220, 0xAE602A02, 0xAE603802, 0x00000003, 0x0032A288, 0xAE602A02,\n\t0xAE603802, 0x00000004, 0x4032A220, 0xAE602A02, 0xAE603802, 0xAF007F02,\n\t0x00000004, 0x0032A288, 0xAE602A02, 0xAE603802, 0xAF007F02, 0x00000002,\n\t0x4032A220, 0xAE603802, 0x00000002, 0x0032A288, 0xAE603802, 0x00000003,\n\t0x4032A220, 0xAE603802, 0xAF007F02, 0x00000002, 0x402BDE20, 0xAE603202,\n\t0x00000002, 0x402C9820, 0xAE603202, 0x00000002, 0x402D9A20, 0xAE603202,\n\t0x00000002, 0x402EE220, 0xAE603202, 0x00000002,\n\t// Block 719, offset 0xb3c0\n\t0x40306C20, 0xAE603202, 0x00000002, 0x402C9A20, 0xAE603C02, 0x00000002,\n\t0x002C9A83, 0xAE603C02, 0x00000003, 0x0003F483, 0x6C030A20, 0x4003F620,\n\t0x00000003, 0x0003F483, 0x6C110E20, 0x4003F620, 0x00000003, 0x0003F483,\n\t0x6C272220, 0x4003F620, 0x00000003, 0x0003F483, 0x6C37B420, 0x4003F620,\n\t0x00000003, 0x0003F483, 0x6C549820, 0x4003F620, 0x00000003, 0x0003F483,\n\t0x6C5D8420, 0x4003F620, 0x00000003, 0x0003F483, 0x6C61F420, 0x4003F620,\n\t0x00000003, 0x0003F483, 0x6C64CA20, 0x4003F620, 0x00000003, 0x0003F483,\n\t0x6C6C2E20, 0x4003F620, 0x00000003, 0x0003F483, 0x6C6F9A20, 0x4003F620,\n\t0x00000003, 0x0003F483, 0x6C814020, 0x4003F620, 0x00000003, 0x0003F483,\n\t0x6C8F2420, 0x4003F620, 0x00000003, 0x0003F483, 0x6C9FE620, 0x4003F620,\n\t0x00000003, 0x0003F483, 0x6CA25C20, 0x4003F620,\n\t// Block 720, offset 0xb400\n\t0x00000003, 0x0003F483, 0x6CB4C620, 0x4003F620, 0x00000003, 0x0003F483,\n\t0x6CB6C820, 0x4003F620, 0x00000003, 0x0003F483, 0x6CC63620, 0x4003F620,\n\t0x00000003, 0x0003F483, 0x6CC9F220, 0x4003F620, 0x00000003, 0x0003F483,\n\t0x6CCF3620, 0x4003F620, 0x00000003, 0x0003F483, 0x6CD22420, 0x4003F620,\n\t0x00000003, 0x0003F483, 0x6CD70220, 0x4003F620, 0x00000003, 0x0003F483,\n\t0x6CD87420, 0x4003F620, 0x00000003, 0x0003F483, 0x6CE27020, 0x4003F620,\n\t0x00000003, 0x0003F483, 0x6CE91020, 0x4003F620, 0x00000003, 0x0003F483,\n\t0x6CF41420, 0x4003F620, 0x00000003, 0x0003F483, 0x6D007020, 0x4003F620,\n\t0x00000003, 0x0003F483, 0x6D04B220, 0x4003F620, 0x00000003, 0x0003F483,\n\t0x6D08F820, 0x4003F620, 0x00000003, 0x0003F483, 0x6D13B620, 0x4003F620,\n\t0x00000003, 0x0003F483, 0x6D1F9820, 0x4003F620,\n\t// Block 721, offset 0xb440\n\t0x00000003, 0x0003F483, 0x6D266820, 0x4003F620, 0x00000003, 0x0003F483,\n\t0x6D357020, 0x4003F620, 0x00000003, 0x0003F483, 0x6D399220, 0x4003F620,\n\t0x00000003, 0x0003F483, 0x6D3AC620, 0x4003F620, 0x00000003, 0x0003F483,\n\t0x6D3E6020, 0x4003F620, 0x00000003, 0x0003F483, 0x6D3F2A20, 0x4003F620,\n\t0x00000003, 0x0004B083, 0x6C011220, 0x4004B220, 0x00000003, 0x0004B083,\n\t0x6C044020, 0x4004B220, 0x00000003, 0x0004B083, 0x6C079220, 0x4004B220,\n\t0x00000003, 0x0004B083, 0x6C26E020, 0x4004B220, 0x00000003, 0x0004B083,\n\t0x6C2A1220, 0x4004B220, 0x00000003, 0x0004B083, 0x6C2D0A20, 0x4004B220,\n\t0x00000003, 0x0004B083, 0x6C37B420, 0x4004B220, 0x00000003, 0x0004B083,\n\t0x6CC9F220, 0x4004B220, 0x00000003, 0x0004B083, 0x6CD16420, 0x4004B220,\n\t0x00000003, 0x0029CE83, 0x4029CC20, 0x6C2D0A20,\n\t// Block 722, offset 0xb480\n\t0x00000003, 0x0029CE83, 0x4029CC20, 0x6CC63620, 0x00000003, 0x0029CE83,\n\t0x4029CC20, 0x6D266820, 0x00000003, 0x0029CE83, 0x4029CE20, 0x6C2D0A20,\n\t0x00000003, 0x0029CE83, 0x4029CE20, 0x6CC63620, 0x00000003, 0x0029CE83,\n\t0x4029CE20, 0x6D266820, 0x00000003, 0x0029CE83, 0x4029D020, 0x6C2D0A20,\n\t0x00000003, 0x0029CE83, 0x4029D020, 0x6CC63620, 0x00000003, 0x0029CE83,\n\t0x4029D020, 0x6D266820, 0x00000003, 0x0029CE83, 0x4029D220, 0x6C2D0A20,\n\t0x00000003, 0x0029CE83, 0x4029D220, 0x6CC63620, 0x00000003, 0x0029CE83,\n\t0x4029D420, 0x6C2D0A20, 0x00000003, 0x0029CE83, 0x4029D420, 0x6CC63620,\n\t0x00000003, 0x0029CE83, 0x4029D620, 0x6C2D0A20, 0x00000003, 0x0029CE83,\n\t0x4029D620, 0x6CC63620, 0x00000003, 0x0029CE83, 0x4029D820, 0x6C2D0A20,\n\t0x00000003, 0x0029CE83, 0x4029D820, 0x6CC63620,\n\t// Block 723, offset 0xb4c0\n\t0x00000003, 0x0029CE83, 0x4029DA20, 0x6C2D0A20, 0x00000003, 0x0029CE83,\n\t0x4029DA20, 0x6CC63620, 0x00000003, 0x0029CE83, 0x4029DC20, 0x6C2D0A20,\n\t0x00000003, 0x0029CE83, 0x4029DC20, 0x6CC63620, 0x00000003, 0x0029CE83,\n\t0x4029DE20, 0x6C2D0A20, 0x00000003, 0x0029CE83, 0x4029DE20, 0x6CC63620,\n\t0x00000003, 0x0029D083, 0x4029CC20, 0x6C2D0A20, 0x00000003, 0x0029D083,\n\t0x4029CC20, 0x6CC63620, 0x00000003, 0x0029D083, 0x4029CE20, 0x6C2D0A20,\n\t0x00000003, 0x0029D083, 0x4029CE20, 0x6CC63620, 0x00000003, 0x0029D083,\n\t0x4029D020, 0x6C2D0A20, 0x00000003, 0x0029D083, 0x4029D020, 0x6CC63620,\n\t0x00000003, 0x0029D083, 0x4029D220, 0x6C2D0A20, 0x00000003, 0x0029D083,\n\t0x4029D220, 0x6CC63620, 0x00000003, 0x0029D083, 0x4029D420, 0x6C2D0A20,\n\t0x00000003, 0x0029D083, 0x4029D420, 0x6CC63620,\n\t// Block 724, offset 0xb500\n\t0x00000003, 0x0029D083, 0x4029D620, 0x6CC63620, 0x00000003, 0x0029D083,\n\t0x4029D820, 0x6CC63620, 0x00000003, 0x0029D083, 0x4029DA20, 0x6CC63620,\n\t0x00000003, 0x0029D083, 0x4029DC20, 0x6CC63620, 0x00000003, 0x0029D083,\n\t0x4029DE20, 0x6CC63620, 0x00000003, 0x0029D283, 0x4029CC20, 0x6CC63620,\n\t0x00000003, 0x0029D283, 0x4029CE20, 0x6CC63620, 0x00000002, 0x402BDE1C,\n\t0xAE604702, 0x00000002, 0x002BDE03, 0xAE604702, 0x00000002, 0x402BDE1C,\n\t0xAE605202, 0x00000002, 0x002BDE03, 0xAE605202, 0x00000002, 0x402BDE1D,\n\t0xAE603702, 0x00000002, 0x002BDE23, 0xAE603702, 0x00000002, 0x402BDE1D,\n\t0xAE603C02, 0x00000002, 0x002BDE23, 0xAE603C02, 0x00000002, 0x402BDE1D,\n\t0xAE604302, 0x00000002, 0x002BDE23, 0xAE604302, 0x00000002, 0x402BDE1F,\n\t0xAE603702, 0x00000002, 0x002BDE63, 0xAE603702,\n\t// Block 725, offset 0xb540\n\t0x00000002, 0x402BDE1F, 0xAE603C02, 0x00000002, 0x002BDE63, 0xAE603C02,\n\t0x00000002, 0x402C981C, 0xAE603202, 0x00000002, 0x002C9803, 0xAE603202,\n\t0x00000002, 0x402C981C, 0xAE603502, 0x00000002, 0x002C9803, 0xAE603502,\n\t0x00000002, 0x402D9A1D, 0xAE604702, 0x00000002, 0x002D9A23, 0xAE604702,\n\t0x00000002, 0x402EE21C, 0xAE603202, 0x00000002, 0x002EE203, 0xAE603202,\n\t0x00000002, 0x402EE21C, 0xAE603502, 0x00000002, 0x002EE203, 0xAE603502,\n\t0x00000002, 0x402EE21C, 0xAE604702, 0x00000002, 0x002EE203, 0xAE604702,\n\t0x00000002, 0x402EE21C, 0xAE604E02, 0x00000002, 0x002EE203, 0xAE604E02,\n\t0x00000002, 0x402EE21C, 0xAE605202, 0x00000002, 0x002EE203, 0xAE605202,\n\t0x00000002, 0x402EE21C, 0xACA05902, 0x00000002, 0x002EE203, 0xACA05902,\n\t0x00000002, 0x402EE21D, 0xAE603C02, 0x00000002,\n\t// Block 726, offset 0xb580\n\t0x002EE223, 0xAE603C02, 0x00000002, 0x402EE21D, 0xAE604E02, 0x00000002,\n\t0x002EE223, 0xAE604E02, 0x00000002, 0x402EE21D, 0xAD806802, 0x00000002,\n\t0x002EE223, 0xAD806802, 0x00000002, 0x402EE21F, 0xAE603C02, 0x00000002,\n\t0x002EE263, 0xAE603C02, 0x00000002, 0x402EE21F, 0xAD806802, 0x00000002,\n\t0x002EE263, 0xAD806802, 0x00000002, 0x40306C1C, 0xAE604702, 0x00000002,\n\t0x00306C03, 0xAE604702, 0x00000002, 0x40306C1D, 0xAE604E02, 0x00000002,\n\t0x00306C23, 0xAE604E02, 0x00000002, 0x40306C1D, 0xAD806802, 0x00000002,\n\t0x00306C23, 0xAD806802, 0x00000002, 0x40306C1F, 0xAD806802, 0x00000002,\n\t0x00306C63, 0xAD806802, 0x00000004, 0x2D399283, 0x6CD2FC20, 0x6C5B8A20,\n\t0x6CCF3620, 0x00000003, 0x0003F483, 0x6C000220, 0x4003F620, 0x00000003,\n\t0x0003F483, 0x6C003620, 0x4003F620, 0x00000003,\n\t// Block 727, offset 0xb5c0\n\t0x0003F483, 0x6C006220, 0x4003F620, 0x00000003, 0x0003F483, 0x6C007420,\n\t0x4003F620, 0x00000003, 0x0003F483, 0x6C008820, 0x4003F620, 0x00000003,\n\t0x0003F483, 0x6C00B620, 0x4003F620, 0x00000003, 0x0003F483, 0x6C00DC20,\n\t0x4003F620, 0x00000003, 0x0003F483, 0x6C018420, 0x4003F620, 0x00000003,\n\t0x0003F483, 0x6C028820, 0x4003F620, 0x00000003, 0x0003F483, 0x6C02D820,\n\t0x4003F620, 0x00000003, 0x0003F483, 0x6C049620, 0x4003F620, 0x00000003,\n\t0x0003F483, 0x6C049C20, 0x4003F620, 0x00000003, 0x0003F483, 0x6C049E20,\n\t0x4003F620, 0x00000003, 0x0003F483, 0x6C04C620, 0x4003F620, 0x00000003,\n\t0x0003F483, 0x6C04D020, 0x4003F620, 0x00000003, 0x0003F483, 0x6C05E620,\n\t0x4003F620, 0x00000003, 0x0003F483, 0x6C079020, 0x4003F620, 0x00000003,\n\t0x0003F483, 0x6C0BA020, 0x4003F620, 0x00000003,\n\t// Block 728, offset 0xb600\n\t0x0003F483, 0x6C0BC020, 0x4003F620, 0x00000003, 0x0003F483, 0x6C0E3E20,\n\t0x4003F620, 0x00000003, 0x0003F483, 0x6C127420, 0x4003F620, 0x00000003,\n\t0x0003F483, 0x6C147E20, 0x4003F620, 0x00000003, 0x0003F483, 0x6C148220,\n\t0x4003F620, 0x00000003, 0x0003F483, 0x6C185220, 0x4003F620, 0x00000003,\n\t0x0003F483, 0x6C2BB220, 0x4003F620, 0x00000003, 0x0003F483, 0x6C2CA220,\n\t0x4003F620, 0x00000003, 0x0003F483, 0x6C2FD820, 0x4003F620, 0x00000003,\n\t0x0003F483, 0x6C3CEE20, 0x4003F620, 0x00000003, 0x0003F483, 0x6C41DC20,\n\t0x4003F620, 0x00000003, 0x0003F483, 0x6C741620, 0x4003F620, 0x00000003,\n\t0x0003F483, 0x6C791620, 0x4003F620, 0x00000003, 0x0003F483, 0x6C7DE020,\n\t0x4003F620, 0x00000003, 0x0003F483, 0x6C86F020, 0x4003F620, 0x00000003,\n\t0x0003F483, 0x6CA6A420, 0x4003F620, 0x00000003,\n\t// Block 729, offset 0xb640\n\t0x0003F483, 0x6D0F3820, 0x4003F620, 0x00000003, 0x0003F483, 0x6D2EFA20,\n\t0x4003F620, 0x00000003, 0x0004B083, 0x6C007420, 0x4004B220, 0x00000003,\n\t0x0004B083, 0x6C00DC20, 0x4004B220, 0x00000003, 0x0004B083, 0x6C093E20,\n\t0x4004B220, 0x00000003, 0x0004B083, 0x6C096620, 0x4004B220, 0x00000003,\n\t0x0004B083, 0x6C0FC420, 0x4004B220, 0x00000003, 0x0004B083, 0x6C555C20,\n\t0x4004B220, 0x00000003, 0x0004B083, 0x6C9AC020, 0x4004B220, 0x00000003,\n\t0x0004B083, 0x6CA4CC20, 0x4004B220, 0x00000003, 0x0004B083, 0x6CB9B020,\n\t0x4004B220, 0x00000003, 0x0029CE83, 0x4029CC20, 0x6C049620, 0x00000003,\n\t0x0029CE83, 0x4029CC20, 0x6C049C20, 0x00000003, 0x0029CE83, 0x4029CC20,\n\t0x6C555C20, 0x00000003, 0x0029CE83, 0x4029CE20, 0x6C049620, 0x00000003,\n\t0x0029CE83, 0x4029CE20, 0x6C049C20, 0x00000003,\n\t// Block 730, offset 0xb680\n\t0x0029CE83, 0x4029CE20, 0x6C555C20, 0x00000003, 0x0029CE83, 0x4029D020,\n\t0x6C049620, 0x00000003, 0x0029CE83, 0x4029D020, 0x6C049C20, 0x00000003,\n\t0x0029CE83, 0x4029D020, 0x6C555C20, 0x00000003, 0x0029CE83, 0x4029D220,\n\t0x6C049620, 0x00000003, 0x0029CE83, 0x4029D220, 0x6C555C20, 0x00000003,\n\t0x0029CE83, 0x4029D420, 0x6C049620, 0x00000003, 0x0029CE83, 0x4029D420,\n\t0x6C555C20, 0x00000003, 0x0029CE83, 0x4029D620, 0x6C049620, 0x00000003,\n\t0x0029CE83, 0x4029D620, 0x6C555C20, 0x00000003, 0x0029CE83, 0x4029D820,\n\t0x6C049620, 0x00000003, 0x0029CE83, 0x4029D820, 0x6C555C20, 0x00000003,\n\t0x0029CE83, 0x4029DA20, 0x6C049620, 0x00000003, 0x0029CE83, 0x4029DA20,\n\t0x6C555C20, 0x00000003, 0x0029CE83, 0x4029DC20, 0x6C049620, 0x00000003,\n\t0x0029CE83, 0x4029DC20, 0x6C555C20, 0x00000003,\n\t// Block 731, offset 0xb6c0\n\t0x0029CE83, 0x4029DE20, 0x6C049620, 0x00000003, 0x0029CE83, 0x4029DE20,\n\t0x6C555C20, 0x00000003, 0x0029D083, 0x4029CC20, 0x6C049620, 0x00000003,\n\t0x0029D083, 0x4029CC20, 0x6C555C20, 0x00000003, 0x0029D083, 0x4029CE20,\n\t0x6C049620, 0x00000003, 0x0029D083, 0x4029CE20, 0x6C555C20, 0x00000003,\n\t0x0029D083, 0x4029D020, 0x6C049620, 0x00000003, 0x0029D083, 0x4029D020,\n\t0x6C555C20, 0x00000003, 0x0029D083, 0x4029D220, 0x6C049620, 0x00000003,\n\t0x0029D083, 0x4029D220, 0x6C555C20, 0x00000003, 0x0029D083, 0x4029D420,\n\t0x6C049620, 0x00000003, 0x0029D083, 0x4029D420, 0x6C555C20, 0x00000003,\n\t0x0029D083, 0x4029D620, 0x6C049620, 0x00000003, 0x0029D083, 0x4029D820,\n\t0x6C049620, 0x00000003, 0x0029D083, 0x4029DA20, 0x6C049620, 0x00000003,\n\t0x0029D083, 0x4029DC20, 0x6C049620, 0x00000003,\n\t// Block 732, offset 0xb700\n\t0x0029D083, 0x4029DE20, 0x6C049620, 0x00000003, 0x0029D283, 0x4029CC20,\n\t0x6C049620, 0x00000003, 0x0029D283, 0x4029CE20, 0x6C049620, 0x00000004,\n\t0x2C741683, 0x6C111820, 0x6C0BD220, 0x6C3CEE20,\n}\n\n// mainContractElem: 4120 entries, 16480 bytes\nvar mainContractElem = [4120]uint32{\n\t// Block 0, offset 0x0\n\t0x402E2220, 0xE0000CFB, 0xE0000CFB, 0x002E2288, 0xE0000D01, 0xE0000D01,\n\t0x40332220, 0x40332A20, 0x40333220, 0x00332288, 0x00332A88, 0x00333288,\n\t0x40333A20, 0x40334220, 0x00333A88, 0x00334288, 0x40336220, 0x4033A220,\n\t0x4033A220, 0x00336288, 0x0033A288, 0x0033A288, 0x4033B220, 0x4033BA20,\n\t0x0033B288, 0x0033BA88, 0x4033CA20, 0x4033D420, 0x0033CA88, 0x0033D488,\n\t0x4033E420, 0x4033F220, 0x0033E488, 0x0033F288, 0x40341420, 0x40343E20,\n\t0x40342420, 0x00341488, 0x00343E88, 0x00342488, 0x40342C20, 0x40343620,\n\t0x00342C88, 0x00343688, 0x4034EE20, 0x4034F620, 0x0034EE88, 0x0034F688,\n\t0x4034FE20, 0x40350620, 0x0034FE88, 0x00350688, 0x40345020, 0x40356A20,\n\t0x40356A20, 0x00345088, 0x00356A88, 0x00356A88, 0x40357220, 0x40357A20,\n\t0x40358220, 0x40358A20, 0x00357288, 0x00357A88,\n\t// Block 1, offset 0x40\n\t0x00358288, 0x00358A88, 0x40361820, 0x40362220, 0x00361888, 0x00362288,\n\t0x40367E20, 0x40368620, 0x00367E88, 0x00368688, 0x4036A820, 0x4036B020,\n\t0x0036A888, 0x0036B088, 0x40371420, 0x40371C20, 0x00371488, 0x00371C88,\n\t0x40393820, 0x40391E20, 0x40392020, 0x40392820, 0x403A7420, 0x40392620,\n\t0x403A9020, 0x40393020, 0x4040F020, 0x4040F420, 0x4040F620, 0x40426E20,\n\t0x40427220, 0x40427020, 0x40427420, 0x40429020, 0x40429420, 0x4042D020,\n\t0x4042D620, 0x4042DA20, 0x4042D220, 0x4042D820, 0x40435E20, 0x40436220,\n\t0x4043E020, 0x4043E220, 0x4043F020, 0x4043F820, 0x4043F620, 0x4043F220,\n\t0x4043F420, 0x4043F620, 0x4043F820, 0x40448220, 0x40448820, 0x40448C20,\n\t0x40448420, 0x40448A20, 0x40451E20, 0x40452620, 0x40452020, 0x40452420,\n\t0x40452820, 0x40452420, 0x40452620, 0x40498420,\n\t// Block 2, offset 0x80\n\t0xE0001881, 0xE0001890, 0xE000189F, 0xE00018AE, 0xE00018BD, 0xE00018CC,\n\t0xE00018DB, 0xE00018EA, 0xE00018F9, 0xE0001908, 0xE0001917, 0xE0001926,\n\t0xE0001935, 0xE0001944, 0xE0001953, 0xE0001962, 0xE0001971, 0xE0001980,\n\t0xE000198F, 0xE000199E, 0xE00019AD, 0xE00019BC, 0xE00019CB, 0xE00019DA,\n\t0xE00019E9, 0xE00019F8, 0xE0001A07, 0xE0001A16, 0xE0001A25, 0xE0001A34,\n\t0xE0001A43, 0xE0001A52, 0xE0001A61, 0xE0001A70, 0xE0001A7F, 0xE0001A8E,\n\t0xE0001A9D, 0xE0001AAC, 0xE0001ABB, 0xE0001ACA, 0xE0001AD9, 0xE0001AE8,\n\t0xE0001AF7, 0xE0001B06, 0xE0001B15, 0xE0001B24, 0x40498620, 0xE0001884,\n\t0xE0001893, 0xE00018A2, 0xE00018B1, 0xE00018C0, 0xE00018CF, 0xE00018DE,\n\t0xE00018ED, 0xE00018FC, 0xE000190B, 0xE000191A, 0xE0001929, 0xE0001938,\n\t0xE0001947, 0xE0001956, 0xE0001965, 0xE0001974,\n\t// Block 3, offset 0xc0\n\t0xE0001983, 0xE0001992, 0xE00019A1, 0xE00019B0, 0xE00019BF, 0xE00019CE,\n\t0xE00019DD, 0xE00019EC, 0xE00019FB, 0xE0001A0A, 0xE0001A19, 0xE0001A28,\n\t0xE0001A37, 0xE0001A46, 0xE0001A55, 0xE0001A64, 0xE0001A73, 0xE0001A82,\n\t0xE0001A91, 0xE0001AA0, 0xE0001AAF, 0xE0001ABE, 0xE0001ACD, 0xE0001ADC,\n\t0xE0001AEB, 0xE0001AFA, 0xE0001B09, 0xE0001B18, 0xE0001B27, 0x40498820,\n\t0xE0001887, 0xE0001896, 0xE00018A5, 0xE00018B4, 0xE00018C3, 0xE00018D2,\n\t0xE00018E1, 0xE00018F0, 0xE00018FF, 0xE000190E, 0xE000191D, 0xE000192C,\n\t0xE000193B, 0xE000194A, 0xE0001959, 0xE0001968, 0xE0001977, 0xE0001986,\n\t0xE0001995, 0xE00019A4, 0xE00019B3, 0xE00019C2, 0xE00019D1, 0xE00019E0,\n\t0xE00019EF, 0xE00019FE, 0xE0001A0D, 0xE0001A1C, 0xE0001A2B, 0xE0001A3A,\n\t0xE0001A49, 0xE0001A58, 0xE0001A67, 0xE0001A76,\n\t// Block 4, offset 0x100\n\t0xE0001A85, 0xE0001A94, 0xE0001AA3, 0xE0001AB2, 0xE0001AC1, 0xE0001AD0,\n\t0xE0001ADF, 0xE0001AEE, 0xE0001AFD, 0xE0001B0C, 0xE0001B1B, 0xE0001B2A,\n\t0x40498A20, 0xE000188A, 0xE0001899, 0xE00018A8, 0xE00018B7, 0xE00018C6,\n\t0xE00018D5, 0xE00018E4, 0xE00018F3, 0xE0001902, 0xE0001911, 0xE0001920,\n\t0xE000192F, 0xE000193E, 0xE000194D, 0xE000195C, 0xE000196B, 0xE000197A,\n\t0xE0001989, 0xE0001998, 0xE00019A7, 0xE00019B6, 0xE00019C5, 0xE00019D4,\n\t0xE00019E3, 0xE00019F2, 0xE0001A01, 0xE0001A10, 0xE0001A1F, 0xE0001A2E,\n\t0xE0001A3D, 0xE0001A4C, 0xE0001A5B, 0xE0001A6A, 0xE0001A79, 0xE0001A88,\n\t0xE0001A97, 0xE0001AA6, 0xE0001AB5, 0xE0001AC4, 0xE0001AD3, 0xE0001AE2,\n\t0xE0001AF1, 0xE0001B00, 0xE0001B0F, 0xE0001B1E, 0xE0001B2D, 0x40498C20,\n\t0xE000188D, 0xE000189C, 0xE00018AB, 0xE00018BA,\n\t// Block 5, offset 0x140\n\t0xE00018C9, 0xE00018D8, 0xE00018E7, 0xE00018F6, 0xE0001905, 0xE0001914,\n\t0xE0001923, 0xE0001932, 0xE0001941, 0xE0001950, 0xE000195F, 0xE000196E,\n\t0xE000197D, 0xE000198C, 0xE000199B, 0xE00019AA, 0xE00019B9, 0xE00019C8,\n\t0xE00019D7, 0xE00019E6, 0xE00019F5, 0xE0001A04, 0xE0001A13, 0xE0001A22,\n\t0xE0001A31, 0xE0001A40, 0xE0001A4F, 0xE0001A5E, 0xE0001A6D, 0xE0001A7C,\n\t0xE0001A8B, 0xE0001A9A, 0xE0001AA9, 0xE0001AB8, 0xE0001AC7, 0xE0001AD6,\n\t0xE0001AE5, 0xE0001AF4, 0xE0001B03, 0xE0001B12, 0xE0001B21, 0xE0001B30,\n\t0xA0010502, 0x40497420, 0x4049E620, 0xE0001B42, 0xE0001B51, 0xE0001B60,\n\t0xE0001B6F, 0xE0001B7E, 0xE0001B9C, 0xE0001BBA, 0xE0001BC9, 0xE0001BD8,\n\t0xE0001BE7, 0xE0001BF6, 0xE0001C05, 0xE0001C14, 0xE0001C23, 0xE0001C32,\n\t0xE0001C41, 0xE0001C50, 0xE0001C5F, 0xE0001C6E,\n\t// Block 6, offset 0x180\n\t0xE0001C7D, 0xE0001C8C, 0xE0001C9B, 0xE0001CAA, 0xE0001B8D, 0xE0001CE1,\n\t0xE0001CF0, 0xE0001CFF, 0xE0001CB9, 0xE0001CCD, 0xE0001B33, 0xE0001BAB,\n\t0x4049E820, 0xE0001B45, 0xE0001B54, 0xE0001B63, 0xE0001B72, 0xE0001B81,\n\t0xE0001B9F, 0xE0001BBD, 0xE0001BCC, 0xE0001BDB, 0xE0001BEA, 0xE0001BF9,\n\t0xE0001C08, 0xE0001C17, 0xE0001C26, 0xE0001C35, 0xE0001C44, 0xE0001C53,\n\t0xE0001C62, 0xE0001C71, 0xE0001C80, 0xE0001C8F, 0xE0001C9E, 0xE0001CAD,\n\t0xE0001B90, 0xE0001CE4, 0xE0001CF3, 0xE0001D02, 0xE0001CBD, 0xE0001CD1,\n\t0xE0001B36, 0xE0001BAE, 0x4049EA20, 0xE0001B48, 0xE0001B57, 0xE0001B66,\n\t0xE0001B75, 0xE0001B84, 0xE0001BA2, 0xE0001BC0, 0xE0001BCF, 0xE0001BDE,\n\t0xE0001BED, 0xE0001BFC, 0xE0001C0B, 0xE0001C1A, 0xE0001C29, 0xE0001C38,\n\t0xE0001C47, 0xE0001C56, 0xE0001C65, 0xE0001C74,\n\t// Block 7, offset 0x1c0\n\t0xE0001C83, 0xE0001C92, 0xE0001CA1, 0xE0001CB0, 0xE0001B93, 0xE0001CE7,\n\t0xE0001CF6, 0xE0001D05, 0xE0001CC1, 0xE0001CD5, 0xE0001B39, 0xE0001BB1,\n\t0x4049EC20, 0xE0001B4B, 0xE0001B5A, 0xE0001B69, 0xE0001B78, 0xE0001B87,\n\t0xE0001BA5, 0xE0001BC3, 0xE0001BD2, 0xE0001BE1, 0xE0001BF0, 0xE0001BFF,\n\t0xE0001C0E, 0xE0001C1D, 0xE0001C2C, 0xE0001C3B, 0xE0001C4A, 0xE0001C59,\n\t0xE0001C68, 0xE0001C77, 0xE0001C86, 0xE0001C95, 0xE0001CA4, 0xE0001CB3,\n\t0xE0001B96, 0xE0001CEA, 0xE0001CF9, 0xE0001D08, 0xE0001CC5, 0xE0001CD9,\n\t0xE0001B3C, 0xE0001BB4, 0x4049EE20, 0xE0001B4E, 0xE0001B5D, 0xE0001B6C,\n\t0xE0001B7B, 0xE0001B8A, 0xE0001BA8, 0xE0001BC6, 0xE0001BD5, 0xE0001BE4,\n\t0xE0001BF3, 0xE0001C02, 0xE0001C11, 0xE0001C20, 0xE0001C2F, 0xE0001C3E,\n\t0xE0001C4D, 0xE0001C5C, 0xE0001C6B, 0xE0001C7A,\n\t// Block 8, offset 0x200\n\t0xE0001C89, 0xE0001C98, 0xE0001CA7, 0xE0001CB6, 0xE0001B99, 0xE0001CED,\n\t0xE0001CFC, 0xE0001D0B, 0xE0001CC9, 0xE0001CDD, 0xE0001B3F, 0xE0001BB7,\n\t0xA0010B02, 0x4049D220, 0x404A5A20, 0xE0001D0E, 0xE0001D1D, 0xE0001D2C,\n\t0xE0001D3B, 0xE0001D4A, 0xE0001D59, 0xE0001D68, 0xE0001D77, 0xE0001D86,\n\t0xE0001D95, 0xE0001DA4, 0xE0001DB3, 0xE0001DC2, 0xE0001DD1, 0xE0001DE0,\n\t0xE0001DEF, 0xE0001DFE, 0xE0001E0D, 0xE0001E1C, 0xE0001E2B, 0xE0001E3A,\n\t0xE0001E49, 0xE0001E58, 0xE0001E67, 0xE0001E76, 0xE0001E85, 0xE0001E94,\n\t0xE0001EA3, 0xE0001EB2, 0xE0001EC1, 0xE0001ED0, 0xE0001EDF, 0xE0001EEE,\n\t0xE0001EFD, 0xE0001F0C, 0xE0001F1B, 0xE0001F2A, 0xE0001F39, 0xE0001F48,\n\t0xE0001F57, 0xE0001F66, 0xE0001F75, 0xE0001F84, 0xE0001F93, 0xE0001FA2,\n\t0xE0001FB1, 0xE0001FC0, 0xE0001FCF, 0x404A5C20,\n\t// Block 9, offset 0x240\n\t0xE0001D11, 0xE0001D20, 0xE0001D2F, 0xE0001D3E, 0xE0001D4D, 0xE0001D5C,\n\t0xE0001D6B, 0xE0001D7A, 0xE0001D89, 0xE0001D98, 0xE0001DA7, 0xE0001DB6,\n\t0xE0001DC5, 0xE0001DD4, 0xE0001DE3, 0xE0001DF2, 0xE0001E01, 0xE0001E10,\n\t0xE0001E1F, 0xE0001E2E, 0xE0001E3D, 0xE0001E4C, 0xE0001E5B, 0xE0001E6A,\n\t0xE0001E79, 0xE0001E88, 0xE0001E97, 0xE0001EA6, 0xE0001EB5, 0xE0001EC4,\n\t0xE0001ED3, 0xE0001EE2, 0xE0001EF1, 0xE0001F00, 0xE0001F0F, 0xE0001F1E,\n\t0xE0001F2D, 0xE0001F3C, 0xE0001F4B, 0xE0001F5A, 0xE0001F69, 0xE0001F78,\n\t0xE0001F87, 0xE0001F96, 0xE0001FA5, 0xE0001FB4, 0xE0001FC3, 0xE0001FD2,\n\t0x404A6220, 0xE0001D14, 0xE0001D23, 0xE0001D32, 0xE0001D41, 0xE0001D50,\n\t0xE0001D5F, 0xE0001D6E, 0xE0001D7D, 0xE0001D8C, 0xE0001D9B, 0xE0001DAA,\n\t0xE0001DB9, 0xE0001DC8, 0xE0001DD7, 0xE0001DE6,\n\t// Block 10, offset 0x280\n\t0xE0001DF5, 0xE0001E04, 0xE0001E13, 0xE0001E22, 0xE0001E31, 0xE0001E40,\n\t0xE0001E4F, 0xE0001E5E, 0xE0001E6D, 0xE0001E7C, 0xE0001E8B, 0xE0001E9A,\n\t0xE0001EA9, 0xE0001EB8, 0xE0001EC7, 0xE0001ED6, 0xE0001EE5, 0xE0001EF4,\n\t0xE0001F03, 0xE0001F12, 0xE0001F21, 0xE0001F30, 0xE0001F3F, 0xE0001F4E,\n\t0xE0001F5D, 0xE0001F6C, 0xE0001F7B, 0xE0001F8A, 0xE0001F99, 0xE0001FA8,\n\t0xE0001FB7, 0xE0001FC6, 0xE0001FD5, 0x404A6620, 0xE0001D17, 0xE0001D26,\n\t0xE0001D35, 0xE0001D44, 0xE0001D53, 0xE0001D62, 0xE0001D71, 0xE0001D80,\n\t0xE0001D8F, 0xE0001D9E, 0xE0001DAD, 0xE0001DBC, 0xE0001DCB, 0xE0001DDA,\n\t0xE0001DE9, 0xE0001DF8, 0xE0001E07, 0xE0001E16, 0xE0001E25, 0xE0001E34,\n\t0xE0001E43, 0xE0001E52, 0xE0001E61, 0xE0001E70, 0xE0001E7F, 0xE0001E8E,\n\t0xE0001E9D, 0xE0001EAC, 0xE0001EBB, 0xE0001ECA,\n\t// Block 11, offset 0x2c0\n\t0xE0001ED9, 0xE0001EE8, 0xE0001EF7, 0xE0001F06, 0xE0001F15, 0xE0001F24,\n\t0xE0001F33, 0xE0001F42, 0xE0001F51, 0xE0001F60, 0xE0001F6F, 0xE0001F7E,\n\t0xE0001F8D, 0xE0001F9C, 0xE0001FAB, 0xE0001FBA, 0xE0001FC9, 0xE0001FD8,\n\t0x404A6820, 0xE0001D1A, 0xE0001D29, 0xE0001D38, 0xE0001D47, 0xE0001D56,\n\t0xE0001D65, 0xE0001D74, 0xE0001D83, 0xE0001D92, 0xE0001DA1, 0xE0001DB0,\n\t0xE0001DBF, 0xE0001DCE, 0xE0001DDD, 0xE0001DEC, 0xE0001DFB, 0xE0001E0A,\n\t0xE0001E19, 0xE0001E28, 0xE0001E37, 0xE0001E46, 0xE0001E55, 0xE0001E64,\n\t0xE0001E73, 0xE0001E82, 0xE0001E91, 0xE0001EA0, 0xE0001EAF, 0xE0001EBE,\n\t0xE0001ECD, 0xE0001EDC, 0xE0001EEB, 0xE0001EFA, 0xE0001F09, 0xE0001F18,\n\t0xE0001F27, 0xE0001F36, 0xE0001F45, 0xE0001F54, 0xE0001F63, 0xE0001F72,\n\t0xE0001F81, 0xE0001F90, 0xE0001F9F, 0xE0001FAE,\n\t// Block 12, offset 0x300\n\t0xE0001FBD, 0xE0001FCC, 0xE0001FDB, 0x404AEA20, 0xE000200E, 0xE0002011,\n\t0x404B2620, 0x404B2420, 0x404B2620, 0x404AF020, 0xE0002014, 0xE0002017,\n\t0x404B2A20, 0x404B2820, 0x404B2A20, 0x8281258B, 0x8281258D, 0x82812591,\n\t0x8281258F, 0x404ECA20, 0x404ECC20, 0x404F9C20, 0x404F9620, 0x404F9E20,\n\t0x404F9820, 0x40522620, 0x40522820, 0x40522A20, 0x40522C20, 0x40522E20,\n\t0x40523020, 0x40523220, 0x40523420, 0x40523620, 0x40523820, 0x40523E20,\n\t0x40524020, 0x40529C20, 0x40529E20, 0x4052A020, 0x4052A220, 0x4052A420,\n\t0x4052A820, 0x4052A620, 0x4052AA20, 0x4052AC20, 0x4052AE20, 0x4040B620,\n\t0x4040B420, 0x40409820, 0x4040DC20, 0x402C3A20, 0x402C3C20, 0x002C3A88,\n\t0x002C3C83, 0x402D2220, 0x402D2420, 0x002D2288, 0x002D2483, 0x002D9883,\n\t0x002D9A83, 0x402EE220, 0x402EE420, 0x002EE288,\n\t// Block 13, offset 0x340\n\t0x002EE483, 0x402FE620, 0x402FE820, 0x002FE688, 0x002FE883, 0x40306C20,\n\t0x40306E20, 0x00306C88, 0x00306E83, 0x4033B220, 0x4033BA20, 0x4033B420,\n\t0x0033B288, 0x0033BA88, 0x0033B483, 0x402E2220, 0x402E2221, 0x402E2221,\n\t0x002E2288, 0x002E22A3, 0x002E22A3, 0x402C3A20, 0x402C3C20, 0x002D6A83,\n\t0x402D6A20, 0x002C3A88, 0x002C3C83, 0x002D6A85, 0x002D6A84, 0x402F7A20,\n\t0x402F7C20, 0x002F7A88, 0x002F7C83, 0x40312A20, 0x40312C20, 0x00312A88,\n\t0x00312C83, 0x002C3A88, 0x002C3C84, 0x002C3C83, 0x402C6220, 0x402C6420,\n\t0x002C6288, 0x002C6484, 0x002C6483, 0x402D0820, 0x402D0A20, 0x002D0888,\n\t0x002D0A84, 0x002D0A83, 0x402E9E20, 0x402D2420, 0x002E9E88, 0x002D2484,\n\t0x002D2483, 0x402E2220, 0xE0000CFB, 0xE0000CFB, 0x402E2420, 0x002E2288,\n\t0xE0000D01, 0xE0000D01, 0x002E2484, 0x002E2483,\n\t// Block 14, offset 0x380\n\t0x402F2C20, 0x402F2E20, 0x002F2C88, 0x002F2E84, 0x002F2E83, 0x002F7A88,\n\t0x002F7C84, 0x002F7C83, 0x40302C20, 0x40302E20, 0x00302C88, 0x00302E84,\n\t0x00302E83, 0x40306C20, 0x40310021, 0x40310022, 0x00306C88, 0x003100A3,\n\t0x003100C3, 0x402BDE20, 0x40320C21, 0x40321020, 0x00321084, 0x002BDE88,\n\t0x00320CA3, 0x00321083, 0x00321086, 0x00321085, 0x402C9820, 0x40320C22,\n\t0x002C9888, 0x00320CC3, 0x402EE220, 0x40320E21, 0x40320E22, 0x002EE288,\n\t0x00320EA3, 0x00320EC3, 0x402BDE20, 0xE00029B8, 0x002BDE88, 0xE00029BB,\n\t0x402EE220, 0xE00029C6, 0x002EE288, 0xE00029C9, 0x40306C20, 0xE00029DC,\n\t0x00306C88, 0xE00029DF, 0xAE611302, 0x404A7621, 0x404A7C21, 0x404AB020,\n\t0x404ACC20, 0x404ACE20, 0x404AD020, 0x404AD220, 0x404AD420, 0x404ADA20,\n\t0x404A8220, 0x404A8420, 0xE0002A26, 0xE0002A2B,\n\t// Block 15, offset 0x3c0\n\t0x404A8620, 0x404A8820, 0x404A8A20, 0x404A8C20, 0x404A8E20, 0x404A9020,\n\t0x404A9220, 0x404A9420, 0x404A9620, 0x404A9820, 0x404A9A20, 0x404A9C20,\n\t0x404A8620, 0x404A8820, 0xE0002A30, 0xE0002A35, 0x404A8A20, 0x404A8C20,\n\t0x404A8E20, 0x404A9020, 0x404ABA20, 0x404ABC20, 0xE0002A3A, 0xE0002A3F,\n\t0x404ABE20, 0x404AC020, 0x404AC220, 0x404AC420, 0x404AC620, 0x404AC820,\n\t0x404ACA20, 0x404AD620, 0x404AD820, 0x404AC220, 0x404AC420, 0xE0002A44,\n\t0xE0002A49, 0x404AC620, 0x404AC820, 0x404ACA20, 0x404ACC20, 0x404ACE20,\n\t0x404AD020, 0x404AD220, 0x404AD420, 0x404AD620, 0x404AD820, 0x404ADA20,\n\t0x404ADC20, 0x404AC620, 0x404AC820, 0xE0002A4E, 0xE0002A53, 0x404ACA20,\n\t0x404ACC20, 0x404ACE20, 0x404AD020, 0x404AD220, 0x404AD420, 0x404AD620,\n\t0x404AD820, 0x404ADC20, 0x404A7820, 0x404AC020,\n\t// Block 16, offset 0x400\n\t0x404A9E20, 0xE0002A5E, 0xE0002A63, 0x404AA020, 0x404AA220, 0x404AA420,\n\t0x404AA620, 0x404AA820, 0x404AAA20, 0x404AAC20, 0x004AA283, 0x404AAE20,\n\t0x404AB020, 0x404AB220, 0x404ACC20, 0xE0002A68, 0xE0002A6D, 0x404ACE20,\n\t0x404AD020, 0x404AD220, 0x404AD420, 0x404AD620, 0x404AD820, 0x404ADA20,\n\t0x404ADC20, 0x004ACE83, 0x404A8220, 0x404AE820, 0x404AA420, 0x404A9A20,\n\t0x404A9E20, 0x404AB420, 0x404B1420, 0x404AE420, 0x404AD220, 0x404AD820,\n\t0x404AEA20, 0x404A9020, 0x404AB620, 0x404B1620, 0x404B1620, 0x404B1820,\n\t0xE0002A72, 0xE0002A77, 0x404B1A20, 0x404B1C20, 0x404B1E20, 0x404B2020,\n\t0x404B2220, 0x404B2420, 0x404B2620, 0x404B2820, 0x404B2A20, 0x004B1E83,\n\t0x404A8420, 0x404AEA20, 0x404AA620, 0x404AA020, 0x404AB820, 0x404B1820,\n\t0x404AE620, 0x404AD420, 0x404B2C20, 0x404B2E20,\n\t// Block 17, offset 0x440\n\t0x404B3020, 0x404A7A20, 0x404A8C20, 0x404AAC20, 0x404ACC20, 0x404ADC20,\n\t0x404AE020, 0x404AF620, 0x404AE820, 0x404A7C20, 0x404AE220, 0x404A9E20,\n\t0x404A9620, 0x404A9A20, 0x404AAE20, 0x404B0E20, 0x404AE020, 0x404AFC20,\n\t0x404ADE20, 0x404ACE20, 0x404AD620, 0x404AEE20, 0x404A7E20, 0x404AE420,\n\t0x404AA020, 0x404A8E20, 0x404A9820, 0x404AB020, 0x404B1020, 0x404ADA20,\n\t0x404AFE20, 0x404B0020, 0x404AC420, 0x404AB420, 0x404AB620, 0x404AB820,\n\t0x404ABA20, 0x404ABC20, 0x404ABE20, 0x404AC020, 0x404A9220, 0xE0002A7F,\n\t0xE0002A84, 0x404A9420, 0x404A9620, 0x404A9820, 0x404A9A20, 0x404A9C20,\n\t0x404ADE20, 0x404AE020, 0xE0002A89, 0xE0002A8E, 0x404AE220, 0x404AE420,\n\t0x404AE620, 0x404AE820, 0x404AEA20, 0x404AEC20, 0x404ACA20, 0x404ACC20,\n\t0xE0002A93, 0xE0002A98, 0x404ACE20, 0x404AD020,\n\t// Block 18, offset 0x480\n\t0x404AD220, 0x404AD420, 0x404AD620, 0x404AD820, 0x404ADA20, 0x404ADC20,\n\t0x404ADE20, 0x004AD283, 0x404A7E20, 0x404A8E20, 0x404A9220, 0x404A9820,\n\t0x404AAE20, 0x404ACE20, 0x404AD220, 0x404AFA20, 0x404A8020, 0x404AE620,\n\t0x404AA220, 0x404A9C20, 0x404AB220, 0x404B1220, 0x404AE220, 0x404ADC20,\n\t0x404B0020, 0x404AE020, 0x404AD020, 0x404AE020, 0x404AC220, 0x404AC420,\n\t0xE0002AA0, 0xE0002AA5, 0x404AC620, 0x404AC820, 0x404ACA20, 0x404ACC20,\n\t0x404ACE20, 0x404AD020, 0x404AD220, 0x404AD420, 0x404AD620, 0x404AD820,\n\t0x404ADA20, 0x404ADC20, 0x004ACC83, 0x404ADE20, 0x404AE020, 0x404AEE20,\n\t0x404AF020, 0xE0002AAA, 0xE0002AAF, 0x404AF220, 0x404AF420, 0x404AF620,\n\t0x404AF820, 0x404AFA20, 0x404AFC20, 0x404AFE20, 0x404B0020, 0x404B0220,\n\t0x404B0420, 0x404B0620, 0x404B0820, 0x404B0A20,\n\t// Block 19, offset 0x4c0\n\t0x004AF883, 0x404B0C20, 0x404ADE20, 0x404AE020, 0xE0002AB4, 0xE0002AB9,\n\t0x404AE220, 0x404AE420, 0x404AE620, 0x404AE820, 0x404AEA20, 0x404AEC20,\n\t0x404AEE20, 0x404AF020, 0x404AF220, 0x404AF420, 0x404AF620, 0x004AE883,\n\t0x404AF820, 0x404AFA20, 0x404A8020, 0x404A9020, 0x404A9420, 0x404AB020,\n\t0x404ABE20, 0x404AD020, 0x404AD420, 0x404A8020, 0x404AB220, 0x404AB420,\n\t0xE0002A05, 0xE0002A0A, 0x404AB620, 0x404AB820, 0x404ABA20, 0x404ABC20,\n\t0x404ABE20, 0x404AC020, 0x404AC220, 0x404AC420, 0x404AC620, 0x404AC820,\n\t0x404ACA20, 0x004ABA83, 0x404AB620, 0x404AB820, 0xE0002A0F, 0xE0002A14,\n\t0x404ABA20, 0x404ABC20, 0x404ABE20, 0x404AC020, 0x404AC220, 0x404AC420,\n\t0x404AC620, 0x404AC820, 0x004ABE83, 0x404AFC20, 0x404AFE20, 0xE0002A19,\n\t0xE0002A1E, 0x404B0020, 0x404B0220, 0x404B0420,\n\t// Block 20, offset 0x500\n\t0x404B0620, 0x404B0820, 0x404B0A20, 0x404B0C20, 0x404B0E20, 0x404B1020,\n\t0x404B1220, 0x404B1420, 0x404A8A20, 0x404A9620, 0x404AAA20, 0x404ACA20,\n\t0x404ADA20, 0x404ADE20, 0x404AE620, 0x404AF420, 0xAE611602, 0x404A9421,\n\t0xAE611402, 0x404AB821, 0x404ABC21, 0x828225B1, 0xE000200E, 0xE0002011,\n\t0x404B2620, 0xE0002ABE, 0xE000200E, 0xE0002011, 0x404B2420, 0x404B2620,\n\t0x828225B2, 0xE0002014, 0xE0002017, 0x404B2A20, 0xE0002AC1, 0xE0002014,\n\t0xE0002017, 0x404B2820, 0x404B2A20, 0xAE610F02, 0x8281258D, 0x82812591,\n\t0x8281258F, 0x002D2288, 0x002D2484, 0x002D2483, 0x402DFE20, 0x402E0020,\n\t0x002DFE88, 0x002E0084, 0x002E0083, 0x402E9E20, 0x402EA020, 0x002E9E88,\n\t0x002EA084, 0x002EA083, 0x402C7820, 0xE0000CFB, 0xE0000CFB, 0x402C3820,\n\t0xE0000D01, 0xE0000D01, 0x402D6820, 0x402D6A20,\n\t// Block 21, offset 0x540\n\t0x002D6888, 0x002D6A83, 0x402DCC20, 0x402DCE20, 0x002DCC88, 0x002DCE83,\n\t0x002E9E88, 0x002EA083, 0x402FE620, 0x40302620, 0x002FE688, 0x00302683,\n\t0x40302820, 0x40302A20, 0x00302883, 0x00302A83, 0x402EE220, 0x4030EE20,\n\t0x4030F220, 0x002EE288, 0x0030EE83, 0x0030F283, 0x402BDE20, 0x4030F020,\n\t0x002BDE88, 0x0030F083, 0x40306C20, 0x4030F420, 0x00306C88, 0x0030F483,\n\t0x40393820, 0x40393620, 0x40393A21, 0x40393A23, 0x403A7420, 0x40393A25,\n\t0x403A9220, 0x40393A26, 0x403A9221, 0x00393B43, 0x403A9223, 0x00393B44,\n\t0x403A8821, 0x403A8825, 0x40306C20, 0x40310021, 0x00306C88, 0x003100A3,\n\t0x402BDE20, 0x40320E20, 0x40320C20, 0x002BDE88, 0x00320E83, 0x00320C83,\n\t0x402EE220, 0x40321020, 0x002EE288, 0x00321083, 0x402EE220, 0x40321023,\n\t0x40321020, 0x40321022, 0x002EE288, 0x003210E3,\n\t// Block 22, offset 0x580\n\t0x00321083, 0x003210C3, 0x402E9E20, 0x402EA020, 0x402EA220, 0x002E9E88,\n\t0x002EA083, 0x002EA284, 0x002EA283, 0x002FE688, 0x002FE884, 0x002FE883,\n\t0x4031DE20, 0x00310286, 0x00310283, 0x4003D220, 0x00310287, 0x00310284,\n\t0x402BEC20, 0xE0000CFB, 0xE0000CFB, 0x002BEC83, 0xE0000D01, 0xE0000D01,\n\t0x402C3A20, 0x402C3E20, 0x402C3C20, 0x002C3A88, 0x002C3E83, 0x002C3C83,\n\t0x402C6220, 0x402C6420, 0x402C6420, 0x002C6288, 0x002C6486, 0x002C6484,\n\t0x002C6486, 0x002C6484, 0x002E2288, 0xE0000D01, 0xE0000D01, 0x002E2486,\n\t0x002E2484, 0x002E9E88, 0x002EA086, 0x002EA084, 0x402C3A20, 0xE0003C42,\n\t0x402C3C20, 0x002C3A88, 0xE0003C48, 0xE0003C45, 0x002C3C86, 0x002C3C84,\n\t0x402C6220, 0xE0003C54, 0xE0003C4B, 0x402C6620, 0x402C6420, 0x002C6288,\n\t0xE0003C5A, 0xE0003C57, 0xE0003C51, 0x002C6686,\n\t// Block 23, offset 0x5c0\n\t0xE0003C4E, 0x002C6684, 0x002C6486, 0x002C6484, 0x402D2220, 0xE0003C5D,\n\t0x402D2420, 0x002D2288, 0xE0003C63, 0xE0003C60, 0x002D2486, 0x002D2484,\n\t0x402E2220, 0xE0003C66, 0xE0000CFB, 0xE0000CFB, 0x402E2420, 0x002E2288,\n\t0xE0003C6C, 0xE0003C69, 0xE0000D01, 0xE0000D01, 0x002E2486, 0x002E2484,\n\t0x402E9E20, 0xE0003C6F, 0x402EA020, 0x002E9E88, 0xE0003C75, 0xE0003C72,\n\t0x002EA086, 0x002EA084, 0x402EE220, 0x402EE420, 0x402EE421, 0x002EE288,\n\t0x002EE483, 0x002EE4A3, 0x402FE620, 0xE0003C78, 0x402FE820, 0x002FE688,\n\t0xE0003C7E, 0xE0003C7B, 0x002FE886, 0x002FE884, 0x40302C20, 0xE0003C81,\n\t0x40302E20, 0x00302C88, 0xE0003C87, 0xE0003C84, 0x00302E86, 0x00302E84,\n\t0x40306C20, 0x40306E20, 0x40306E21, 0x00306C88, 0x00306E83, 0x00306EA3,\n\t0x40312A20, 0xE0003C8A, 0x40312C20, 0x00312A88,\n\t// Block 24, offset 0x600\n\t0xE0003C90, 0xE0003C8D, 0x00312C86, 0x00312C84, 0x00384A88, 0x00388A83,\n\t0x402C3A20, 0x402C0C20, 0x002C3A88, 0x002C0C84, 0x002C0C83, 0x402D2220,\n\t0x402D2420, 0x402D2620, 0x402D2820, 0x002D2288, 0x002D2484, 0x002D2684,\n\t0x002D2884, 0x002D2483, 0x002D2683, 0x002D2883, 0x402D9A20, 0x402D9C20,\n\t0x002D9A88, 0x002D9C83, 0x402DFE20, 0x402E0020, 0x402E0220, 0x002DFE88,\n\t0x002E0084, 0x002E0284, 0x002E0083, 0x002E0283, 0x402E9E20, 0x402EA020,\n\t0x402EA220, 0x402EA420, 0x002E9E88, 0x002EA083, 0x002EA284, 0x002EA484,\n\t0x002EA283, 0x002EA483, 0x402BDE20, 0x402C0820, 0x40320C21, 0x40321020,\n\t0x002BDE88, 0x002C0883, 0x00320CA3, 0x00321083, 0x402C9820, 0x402D0620,\n\t0x002C9888, 0x002D0683, 0x402D9A20, 0x402DCA20, 0x002D9A88, 0x002DCA83,\n\t0x402EE220, 0x402F2A20, 0x40320E20, 0x002EE288,\n\t// Block 25, offset 0x640\n\t0x002F2A83, 0x00320E83, 0x40306C20, 0x4030BC20, 0x00306C88, 0x0030BC83,\n\t0x40310020, 0x40312820, 0x00310088, 0x00312883, 0x0065768F, 0xE0003D1D,\n\t0xE0003D17, 0x0065768F, 0xE0003D17, 0xE0003D1D, 0x00657691, 0xE0003D20,\n\t0xE0003D1A, 0x00657691, 0xE0003D1A, 0xE0003D20, 0x0065828F, 0xE0003E9B,\n\t0xE0003D23, 0x0065828F, 0xE0003D23, 0xE0003E9B, 0x00658291, 0xE0003EA1,\n\t0xE0003D29, 0xE0003E9E, 0xE0003D26, 0x00658291, 0xE0003D29, 0xE0003EA1,\n\t0xE0003D26, 0xE0003E9E, 0x00658291, 0xE0003D26, 0xE0003E9E, 0xE000216D,\n\t0xE0003EA1, 0xE0003D29, 0xE000216D, 0xE0003D29, 0xE0003EA1, 0x00658C91,\n\t0xE0003EE4, 0xE0003EE0, 0xE0003D30, 0xE0003EE0, 0xE0003EDD, 0xE0003EE0,\n\t0xE0003D2D, 0x00658C91, 0xE0003EE4, 0xE0003D30, 0xE0003EE0, 0xE0003EE0,\n\t0xE0003D2D, 0xE0003EDD, 0xE0003EE0, 0x00658C91,\n\t// Block 26, offset 0x680\n\t0xE0003EE0, 0xE0003D2D, 0xE0003EDD, 0xE0003EE0, 0xE00021F2, 0xE0003EE0,\n\t0xE0003EE4, 0xE0003D30, 0xE00021F2, 0xE0003D30, 0xE0003EE0, 0xE0003EE4,\n\t0x00659691, 0xE0003F2E, 0xE0003F2A, 0xE0003D37, 0xE0003F2A, 0xE0003F27,\n\t0xE0003F2A, 0xE0003D34, 0x00659691, 0xE0003F2E, 0xE0003D37, 0xE0003F2A,\n\t0xE0003F2A, 0xE0003D34, 0xE0003F27, 0xE0003F2A, 0x00659691, 0xE0003F2A,\n\t0xE0003D34, 0xE0003F27, 0xE0003F2A, 0xE000222C, 0xE0003F2A, 0xE0003F2E,\n\t0xE0003D37, 0xE000222C, 0xE0003D37, 0xE0003F2A, 0xE0003F2E, 0x0065A091,\n\t0xE0003F71, 0xE0003D3B, 0x0065A091, 0xE0003D3B, 0xE0003F71, 0x0065AA8F,\n\t0xE0003F89, 0xE0003D3E, 0xE0003F83, 0xE0003F89, 0x0065AA91, 0xE0003F91,\n\t0xE0003F9A, 0xE0003F8D, 0xE0003D44, 0xE0003F96, 0xE0003D48, 0xE0003F8D,\n\t0xE0003F86, 0xE0003F8D, 0xE0003D41, 0x0065AA91,\n\t// Block 27, offset 0x6c0\n\t0xE0003F91, 0xE0003F9A, 0xE0003D44, 0xE0003F8D, 0xE0003D48, 0xE0003F96,\n\t0xE0003F8D, 0xE0003D41, 0xE0003F86, 0xE0003F8D, 0x0065AA91, 0xE0003F8D,\n\t0xE0003D41, 0xE0003F86, 0xE0003F8D, 0xE000225B, 0xE0003F8D, 0xE0003F91,\n\t0xE0003D44, 0xE000225B, 0xE0003D44, 0xE0003F8D, 0xE0003F91, 0xE0002261,\n\t0xE0003F96, 0xE0003F9A, 0xE0003D48, 0xE0002261, 0xE0003D48, 0xE0003F96,\n\t0xE0003F9A, 0x0065B491, 0xE000400F, 0xE0003D4C, 0x0065B491, 0xE0003D4C,\n\t0xE000400F, 0x0065BE8F, 0xE0004021, 0xE0003D4F, 0x0065BE8F, 0xE0003D4F,\n\t0xE0004021, 0x0065BE91, 0xE0004024, 0xE0003D52, 0x0065BE91, 0xE0003D52,\n\t0xE0004024, 0x0065C68F, 0xE0003D55, 0xE0004036, 0x0065C691, 0xE0004039,\n\t0xE0003D58, 0x0065C691, 0xE0003D58, 0xE0004039, 0x0065D08F, 0xE000405A,\n\t0xE0004054, 0xE000405A, 0xE0003D5B, 0x0065D08F,\n\t// Block 28, offset 0x700\n\t0xE000405A, 0xE0003D5B, 0xE0004054, 0xE000405A, 0x0065D091, 0xE000405E,\n\t0xE0004057, 0xE000405E, 0xE0003D5E, 0x0065D091, 0xE0004062, 0xE0003D61,\n\t0xE000405E, 0xE000405E, 0xE0003D5E, 0xE0004057, 0xE000405E, 0x0065D091,\n\t0xE000405E, 0xE0003D5E, 0xE0004057, 0xE000405E, 0xE000236A, 0xE0003D61,\n\t0xE000405E, 0xE0004062, 0x0065788F, 0xE0003D6B, 0xE0003D65, 0x0065788F,\n\t0xE0003D65, 0xE0003D6B, 0x00657891, 0xE0003D6E, 0xE0003D68, 0x00657891,\n\t0xE0003D68, 0xE0003D6E, 0x00658491, 0xE0003EAC, 0xE0003EA8, 0xE0003D74,\n\t0xE0003EA8, 0xE0003EA5, 0xE0003EA8, 0xE0003D71, 0x00658491, 0xE0003EAC,\n\t0xE0003D74, 0xE0003EA8, 0xE0003EA8, 0xE0003D71, 0xE0003EA5, 0xE0003EA8,\n\t0x00658491, 0xE0003EA8, 0xE0003D71, 0xE0003EA5, 0xE0003EA8, 0xE000218B,\n\t0xE0003EA8, 0xE0003EAC, 0xE0003D74, 0xE000218B,\n\t// Block 29, offset 0x740\n\t0xE0003D74, 0xE0003EA8, 0xE0003EAC, 0x00658E8F, 0xE0003EEF, 0xE0003D78,\n\t0xE0003EE9, 0xE0003EEF, 0x00658E91, 0xE0003EF7, 0xE0003EF3, 0xE0003D7E,\n\t0xE0003EF3, 0xE0003EEC, 0xE0003EF3, 0xE0003D7B, 0x00658E91, 0xE0003EF7,\n\t0xE0003D7E, 0xE0003EF3, 0xE0003EF3, 0xE0003D7B, 0xE0003EEC, 0xE0003EF3,\n\t0x00658E91, 0xE0003EF3, 0xE0003D7B, 0xE0003EEC, 0xE0003EF3, 0xE0002203,\n\t0xE0003EF3, 0xE0003EF7, 0xE0003D7E, 0xE0002203, 0xE0003D7E, 0xE0003EF3,\n\t0xE0003EF7, 0x00659891, 0xE0003F3A, 0xE0003F36, 0xE0003D85, 0xE0003F36,\n\t0xE0003F33, 0xE0003F36, 0xE0003D82, 0x00659891, 0xE0003F3A, 0xE0003D85,\n\t0xE0003F36, 0xE0003F36, 0xE0003D82, 0xE0003F33, 0xE0003F36, 0x00659891,\n\t0xE0003F36, 0xE0003D82, 0xE0003F33, 0xE0003F36, 0xE0002237, 0xE0003F36,\n\t0xE0003F3A, 0xE0003D85, 0xE0002237, 0xE0003D85,\n\t// Block 30, offset 0x780\n\t0xE0003F36, 0xE0003F3A, 0x0065A291, 0xE0003F74, 0xE0003D89, 0x0065A291,\n\t0xE0003D89, 0xE0003F74, 0x0065AC8F, 0xE0003FA5, 0xE0003D8C, 0xE0003F9F,\n\t0xE0003FA5, 0x0065AC91, 0xE0003FAD, 0xE0003FB6, 0xE0003FA9, 0xE0003D92,\n\t0xE0003FB2, 0xE0003D96, 0xE0003FA9, 0xE0003FA2, 0xE0003FA9, 0xE0003D8F,\n\t0x0065AC91, 0xE0003FAD, 0xE0003FB6, 0xE0003D92, 0xE0003FA9, 0xE0003D96,\n\t0xE0003FB2, 0xE0003FA9, 0xE0003D8F, 0xE0003FA2, 0xE0003FA9, 0x0065AC91,\n\t0xE0003FA9, 0xE0003D8F, 0xE0003FA2, 0xE0003FA9, 0xE000227D, 0xE0003FA9,\n\t0xE0003FAD, 0xE0003D92, 0xE000227D, 0xE0003D92, 0xE0003FA9, 0xE0003FAD,\n\t0xE0002283, 0xE0003FB2, 0xE0003FB6, 0xE0003D96, 0xE0002283, 0xE0003D96,\n\t0xE0003FB2, 0xE0003FB6, 0x0065B691, 0xE0004012, 0xE0003D9A, 0x0065B691,\n\t0xE0003D9A, 0xE0004012, 0x0065C88F, 0xE0003D9D,\n\t// Block 31, offset 0x7c0\n\t0xE000403C, 0x0065C891, 0xE000403F, 0xE0003DA0, 0x0065C891, 0xE0003DA0,\n\t0xE000403F, 0x0065D291, 0xE000406A, 0xE0004067, 0xE000406A, 0xE0003DA3,\n\t0x0065D291, 0xE000406E, 0xE0003DA6, 0xE000406A, 0xE000406A, 0xE0003DA3,\n\t0xE0004067, 0xE000406A, 0xE0002371, 0xE0003DA6, 0xE000406A, 0xE000406E,\n\t0x00657A8F, 0xE0003DBA, 0xE0003DB0, 0xE0003DBA, 0xE0003DAA, 0x00657A8F,\n\t0xE0003DBA, 0xE0003DAA, 0xE0003DB0, 0xE0003DBA, 0x00657A91, 0xE0003DC2,\n\t0xE0003DBE, 0xE0003DB6, 0xE0003DBE, 0xE0003DB3, 0xE0003DBE, 0xE0003DAD,\n\t0x00657A91, 0xE0003DC2, 0xE0003DB6, 0xE0003DBE, 0xE0003DBE, 0xE0003DAD,\n\t0xE0003DB3, 0xE0003DBE, 0x00657A91, 0xE0003DBE, 0xE0003DAD, 0xE0003DB3,\n\t0xE0003DBE, 0xE000214F, 0xE0003DBE, 0xE0003DC2, 0xE0003DB6, 0xE000214F,\n\t0xE0003DB6, 0xE0003DBE, 0xE0003DC2, 0x0065868F,\n\t// Block 32, offset 0x800\n\t0xE0003EB7, 0xE0003DC7, 0xE0003EB1, 0xE0003EB7, 0x00658691, 0xE0003EBF,\n\t0xE0003EBB, 0xE0003DCD, 0xE0003EBB, 0xE0003EB4, 0xE0003EBB, 0xE0003DCA,\n\t0x00658691, 0xE0003EBF, 0xE0003DCD, 0xE0003EBB, 0xE0003EBB, 0xE0003DCA,\n\t0xE0003EB4, 0xE0003EBB, 0x00658691, 0xE0003EBB, 0xE0003DCA, 0xE0003EB4,\n\t0xE0003EBB, 0xE00021BB, 0xE0003EBB, 0xE0003EBF, 0xE0003DCD, 0xE00021BB,\n\t0xE0003DCD, 0xE0003EBB, 0xE0003EBF, 0x0065908F, 0xE0003F02, 0xE0003DD1,\n\t0xE0003EFC, 0xE0003F02, 0x00659091, 0xE0003F0A, 0xE0003F06, 0xE0003DD7,\n\t0xE0003F06, 0xE0003EFF, 0xE0003F06, 0xE0003DD4, 0x00659091, 0xE0003F0A,\n\t0xE0003DD7, 0xE0003F06, 0xE0003F06, 0xE0003DD4, 0xE0003EFF, 0xE0003F06,\n\t0x00659091, 0xE0003F06, 0xE0003DD4, 0xE0003EFF, 0xE0003F06, 0xE0002212,\n\t0xE0003F06, 0xE0003F0A, 0xE0003DD7, 0xE0002212,\n\t// Block 33, offset 0x840\n\t0xE0003DD7, 0xE0003F06, 0xE0003F0A, 0x00659A8F, 0xE0003F45, 0xE0003F3F,\n\t0xE0003F45, 0xE0003DDB, 0x00659A8F, 0xE0003F45, 0xE0003DDB, 0xE0003F3F,\n\t0xE0003F45, 0x00659A91, 0xE0003F4D, 0xE0003F49, 0xE0003DE1, 0xE0003F49,\n\t0xE0003F42, 0xE0003F49, 0xE0003DDE, 0x00659A91, 0xE0003F4D, 0xE0003DE1,\n\t0xE0003F49, 0xE0003F49, 0xE0003DDE, 0xE0003F42, 0xE0003F49, 0x00659A91,\n\t0xE0003F49, 0xE0003DDE, 0xE0003F42, 0xE0003F49, 0xE000223D, 0xE0003F49,\n\t0xE0003F4D, 0xE0003DE1, 0xE000223D, 0xE0003DE1, 0xE0003F49, 0xE0003F4D,\n\t0x0065A48F, 0xE0003DE5, 0xE0003F77, 0x0065A491, 0xE0003F7A, 0xE0003DE8,\n\t0x0065A491, 0xE0003DE8, 0xE0003F7A, 0x0065AE8F, 0xE0003FC1, 0xE0003DEB,\n\t0xE0003FBB, 0xE0003FC1, 0x0065AE91, 0xE0003FC9, 0xE0003FD2, 0xE0003FC5,\n\t0xE0003DF1, 0xE0003FCE, 0xE0003DF5, 0xE0003FC5,\n\t// Block 34, offset 0x880\n\t0xE0003FBE, 0xE0003FC5, 0xE0003DEE, 0x0065AE91, 0xE0003FC9, 0xE0003FD2,\n\t0xE0003DF1, 0xE0003FC5, 0xE0003DF5, 0xE0003FCE, 0xE0003FC5, 0xE0003DEE,\n\t0xE0003FBE, 0xE0003FC5, 0x0065AE91, 0xE0003FC5, 0xE0003DEE, 0xE0003FBE,\n\t0xE0003FC5, 0xE000229D, 0xE0003FC5, 0xE0003FC9, 0xE0003DF1, 0xE000229D,\n\t0xE0003DF1, 0xE0003FC5, 0xE0003FC9, 0xE00022A3, 0xE0003FCE, 0xE0003FD2,\n\t0xE0003DF5, 0xE00022A3, 0xE0003DF5, 0xE0003FCE, 0xE0003FD2, 0x0065B88F,\n\t0xE0003DF9, 0xE0004015, 0x0065B891, 0xE0004018, 0xE0003DFC, 0x0065B891,\n\t0xE0003DFC, 0xE0004018, 0x0065C08F, 0xE0004027, 0xE0003DFF, 0x0065C08F,\n\t0xE0003DFF, 0xE0004027, 0x0065C091, 0xE000402A, 0xE0003E02, 0x0065C091,\n\t0xE0003E02, 0xE000402A, 0x0065CA8F, 0xE0003E05, 0xE0004042, 0x0065CA91,\n\t0xE0004045, 0xE0003E08, 0x0065CA91, 0xE0003E08,\n\t// Block 35, offset 0x8c0\n\t0xE0004045, 0x00657E8F, 0xE0003E11, 0xE0003E0B, 0x00657E8F, 0xE0003E0B,\n\t0xE0003E11, 0x00657E91, 0xE0003E14, 0xE0003E0E, 0x00657E91, 0xE0003E0E,\n\t0xE0003E14, 0x0065888F, 0xE0003EC4, 0xE0003E17, 0x0065888F, 0xE0003E17,\n\t0xE0003EC4, 0x00658891, 0xE0003ECA, 0xE0003E1D, 0xE0003EC7, 0xE0003E1A,\n\t0x00658891, 0xE0003E1D, 0xE0003ECA, 0xE0003E1A, 0xE0003EC7, 0x00658891,\n\t0xE0003E1A, 0xE0003EC7, 0xE00021D9, 0xE0003ECA, 0xE0003E1D, 0xE00021D9,\n\t0xE0003E1D, 0xE0003ECA, 0x00659291, 0xE0003F16, 0xE0003F12, 0xE0003E24,\n\t0xE0003F12, 0xE0003F0F, 0xE0003F12, 0xE0003E21, 0x00659291, 0xE0003F16,\n\t0xE0003E24, 0xE0003F12, 0xE0003F12, 0xE0003E21, 0xE0003F0F, 0xE0003F12,\n\t0x00659291, 0xE0003F12, 0xE0003E21, 0xE0003F0F, 0xE0003F12, 0xE0002218,\n\t0xE0003F12, 0xE0003F16, 0xE0003E24, 0xE0002218,\n\t// Block 36, offset 0x900\n\t0xE0003E24, 0xE0003F12, 0xE0003F16, 0x00659C91, 0xE0003F59, 0xE0003F55,\n\t0xE0003E2B, 0xE0003F55, 0xE0003F52, 0xE0003F55, 0xE0003E28, 0x00659C91,\n\t0xE0003F59, 0xE0003E2B, 0xE0003F55, 0xE0003F55, 0xE0003E28, 0xE0003F52,\n\t0xE0003F55, 0x00659C91, 0xE0003F55, 0xE0003E28, 0xE0003F52, 0xE0003F55,\n\t0xE0002243, 0xE0003F55, 0xE0003F59, 0xE0003E2B, 0xE0002243, 0xE0003E2B,\n\t0xE0003F55, 0xE0003F59, 0x0065A691, 0xE0003F7D, 0xE0003E2F, 0x0065A691,\n\t0xE0003E2F, 0xE0003F7D, 0x0065B08F, 0xE0003FDD, 0xE0003E32, 0xE0003FD7,\n\t0xE0003FDD, 0x0065B091, 0xE0003FE5, 0xE0003FEE, 0xE0003FE1, 0xE0003E38,\n\t0xE0003FEA, 0xE0003E3C, 0xE0003FE1, 0xE0003FDA, 0xE0003FE1, 0xE0003E35,\n\t0x0065B091, 0xE0003FE5, 0xE0003FEE, 0xE0003E38, 0xE0003FE1, 0xE0003E3C,\n\t0xE0003FEA, 0xE0003FE1, 0xE0003E35, 0xE0003FDA,\n\t// Block 37, offset 0x940\n\t0xE0003FE1, 0x0065B091, 0xE0003FE1, 0xE0003E35, 0xE0003FDA, 0xE0003FE1,\n\t0xE00022C0, 0xE0003FE1, 0xE0003FE5, 0xE0003E38, 0xE00022C0, 0xE0003E38,\n\t0xE0003FE1, 0xE0003FE5, 0xE00022C6, 0xE0003FEA, 0xE0003FEE, 0xE0003E3C,\n\t0xE00022C6, 0xE0003E3C, 0xE0003FEA, 0xE0003FEE, 0x0065BA91, 0xE000401B,\n\t0xE0003E40, 0x0065BA91, 0xE0003E40, 0xE000401B, 0x0065CC8F, 0xE0003E43,\n\t0xE0004048, 0x0065CC91, 0xE000404B, 0xE0003E46, 0x0065CC91, 0xE0003E46,\n\t0xE000404B, 0x0065D491, 0xE0004076, 0xE0004073, 0xE0004076, 0xE0003E49,\n\t0x0065D491, 0xE000407A, 0xE0003E4C, 0xE0004076, 0xE0004076, 0xE0003E49,\n\t0xE0004073, 0xE0004076, 0xE0002374, 0xE0003E4C, 0xE0004076, 0xE000407A,\n\t0x0065808F, 0xE0003E56, 0xE0003E50, 0x0065808F, 0xE0003E50, 0xE0003E56,\n\t0x00658091, 0xE0003E59, 0xE0003E53, 0x00658091,\n\t// Block 38, offset 0x980\n\t0xE0003E53, 0xE0003E59, 0x00658A91, 0xE0003ED5, 0xE0003ED1, 0xE0003E5F,\n\t0xE0003ED1, 0xE0003ECE, 0xE0003ED1, 0xE0003E5C, 0x00658A91, 0xE0003ED5,\n\t0xE0003E5F, 0xE0003ED1, 0xE0003ED1, 0xE0003E5C, 0xE0003ECE, 0xE0003ED1,\n\t0x00658A91, 0xE0003ED1, 0xE0003E5C, 0xE0003ECE, 0xE0003ED1, 0xE00021E3,\n\t0xE0003ED1, 0xE0003ED5, 0xE0003E5F, 0xE00021E3, 0xE0003E5F, 0xE0003ED1,\n\t0xE0003ED5, 0x00659491, 0xE0003F22, 0xE0003F1E, 0xE0003E66, 0xE0003F1E,\n\t0xE0003F1B, 0xE0003F1E, 0xE0003E63, 0x00659491, 0xE0003F22, 0xE0003E66,\n\t0xE0003F1E, 0xE0003F1E, 0xE0003E63, 0xE0003F1B, 0xE0003F1E, 0x00659491,\n\t0xE0003F1E, 0xE0003E63, 0xE0003F1B, 0xE0003F1E, 0xE0002226, 0xE0003F1E,\n\t0xE0003F22, 0xE0003E66, 0xE0002226, 0xE0003E66, 0xE0003F1E, 0xE0003F22,\n\t0x00659E8F, 0xE0003F64, 0xE0003E6A, 0xE0003F5E,\n\t// Block 39, offset 0x9c0\n\t0xE0003F64, 0x00659E91, 0xE0003F6C, 0xE0003F68, 0xE0003E70, 0xE0003F68,\n\t0xE0003F61, 0xE0003F68, 0xE0003E6D, 0x00659E91, 0xE0003F6C, 0xE0003E70,\n\t0xE0003F68, 0xE0003F68, 0xE0003E6D, 0xE0003F61, 0xE0003F68, 0x00659E91,\n\t0xE0003F68, 0xE0003E6D, 0xE0003F61, 0xE0003F68, 0xE000224D, 0xE0003F68,\n\t0xE0003F6C, 0xE0003E70, 0xE000224D, 0xE0003E70, 0xE0003F68, 0xE0003F6C,\n\t0x0065A891, 0xE0003F80, 0xE0003E74, 0x0065A891, 0xE0003E74, 0xE0003F80,\n\t0x0065B28F, 0xE0003FF9, 0xE0003E77, 0xE0003FF3, 0xE0003FF9, 0x0065B291,\n\t0xE0004001, 0xE000400A, 0xE0003FFD, 0xE0003E7D, 0xE0004006, 0xE0003E81,\n\t0xE0003FFD, 0xE0003FF6, 0xE0003FFD, 0xE0003E7A, 0x0065B291, 0xE0004001,\n\t0xE000400A, 0xE0003E7D, 0xE0003FFD, 0xE0003E81, 0xE0004006, 0xE0003FFD,\n\t0xE0003E7A, 0xE0003FF6, 0xE0003FFD, 0x0065B291,\n\t// Block 40, offset 0xa00\n\t0xE0003FFD, 0xE0003E7A, 0xE0003FF6, 0xE0003FFD, 0xE00022EF, 0xE0003FFD,\n\t0xE0004001, 0xE0003E7D, 0xE00022EF, 0xE0003E7D, 0xE0003FFD, 0xE0004001,\n\t0xE00022F5, 0xE0004006, 0xE000400A, 0xE0003E81, 0xE00022F5, 0xE0003E81,\n\t0xE0004006, 0xE000400A, 0x0065BC91, 0xE000401E, 0xE0003E85, 0x0065BC91,\n\t0xE0003E85, 0xE000401E, 0x0065C48F, 0xE000402D, 0xE0003E88, 0x0065C48F,\n\t0xE0003E88, 0xE000402D, 0x0065C491, 0xE0004030, 0xE0003E8B, 0x0065C491,\n\t0xE0003E8B, 0xE0004030, 0x0065CE8F, 0xE0003E8E, 0xE000404E, 0x0065CE91,\n\t0xE0004051, 0xE0003E91, 0x0065CE91, 0xE0003E91, 0xE0004051, 0x0065D691,\n\t0xE0004082, 0xE000407F, 0xE0004082, 0xE0003E94, 0x0065D691, 0xE0004086,\n\t0xE0003E97, 0xE0004082, 0xE0004082, 0xE0003E94, 0xE000407F, 0xE0004082,\n\t0x0065D691, 0xE0004082, 0xE0003E94, 0xE000407F,\n\t// Block 41, offset 0xa40\n\t0xE0004082, 0xE0002377, 0xE0003E97, 0xE0004082, 0xE0004086, 0x0065D891,\n\t0xE000408B, 0x40368C20, 0x40343620, 0x00368C83, 0x00343688, 0x002DFE88,\n\t0x002F56A3, 0x402BDE20, 0x40320C21, 0x40321020, 0x002BDE88, 0x00320CA3,\n\t0x00321083, 0x404FA420, 0xE000409E, 0x404FA620, 0xE00040A2, 0x404FA820,\n\t0xE00040A6, 0x404FAA20, 0xE00040AA, 0x404FAC20, 0xE00040AE, 0x404FAE20,\n\t0xE00040B2, 0x404FB020, 0xE00040B6, 0x404FB220, 0xE00040BA, 0x404FB420,\n\t0xE00040BE, 0x404FB620, 0xE00040C2, 0x404FB820, 0xE00040C6, 0x404FBA20,\n\t0xE00040CA, 0x404FBC20, 0xE00040CE, 0x404FBE20, 0xE00040D2, 0x404FC020,\n\t0xE00040D6, 0x404FC220, 0xE00040DA, 0x404FC420, 0xE00040DE, 0x404FC620,\n\t0xE00040E2, 0x404FC820, 0xE00040E6, 0x404FCA20, 0xE00040EA, 0x404FCC20,\n\t0xE00040EE, 0x404FCE20, 0xE00040F2, 0x404FD020,\n\t// Block 42, offset 0xa80\n\t0xE00040F6, 0x404FD220, 0xE00040FA, 0x404FD420, 0xE00040FE, 0x404FD620,\n\t0xE0004102, 0x404FD820, 0xE0004106, 0x404FDA20, 0xE000410A, 0x404FDA20,\n\t0xE000410E, 0x404FDC20, 0xE0004112, 0x404FDC20, 0xE0004116, 0x404FDC20,\n\t0xE000411A, 0x404FDE20, 0xE000411E, 0x404FDE20, 0xE0004122, 0x404FE020,\n\t0xE0004126, 0x404FE220, 0xE000412A, 0x404FE420, 0xE000412E, 0x404FE620,\n\t0xE0004132, 0x404FE820, 0xE0004136, 0x40501820, 0x40502E20, 0x40503820,\n\t0x40500E20, 0x40503220, 0x40501020, 0x40503620, 0x40502420, 0x40503A20,\n\t0x40502A20, 0x40503C20, 0x403FEC20, 0x40403E20, 0x402D2220, 0x002D2483,\n\t0x402D2420, 0x002D2288, 0x002D2485, 0x002D2484, 0x402DFE20, 0x002E0083,\n\t0x402E0020, 0x002DFE88, 0x002E0085, 0x002E0084, 0x402E8220, 0x002E8483,\n\t0x002E8683, 0x002E8883, 0x002E8A83, 0x402E8420,\n\t// Block 43, offset 0xac0\n\t0x402E8620, 0x402E8820, 0x402E8A20, 0x002E8288, 0x002E8485, 0x002E8685,\n\t0x002E8885, 0x002E8A85, 0x002E8484, 0x002E8684, 0x002E8884, 0x002E8A84,\n\t0x402E9E20, 0x002EA485, 0x002EA484, 0x002EA483, 0x402EA420, 0x002EA083,\n\t0x002EA283, 0x002EA683, 0x002EA883, 0x002EAA83, 0x002EAC83, 0x002EAE83,\n\t0x402EA020, 0x402EA220, 0x402EA620, 0x402EA820, 0x402EAA20, 0x402EAC20,\n\t0x402EAE20, 0x002E9E88, 0x002EA488, 0x002EA487, 0x002EA486, 0x002EA085,\n\t0x002EA285, 0x002EA685, 0x002EA885, 0x002EAA85, 0x002EAC85, 0x002EAE85,\n\t0x002EA084, 0x002EA284, 0x002EA684, 0x002EA884, 0x002EAA84, 0x002EAC84,\n\t0x002EAE84, 0x402FE620, 0x002FE883, 0x402FE820, 0x002FE688, 0x002FE885,\n\t0x002FE884, 0x40302C20, 0x00302E83, 0x40302E20, 0x00302C88, 0x00302E85,\n\t0x00302E84, 0xAE605202, 0xAE603502, 0xAE603202,\n\t// Block 44, offset 0xb00\n\t0xAE604E02, 0x402BDE20, 0x402BDE21, 0x002BDE88, 0x002BDEA3, 0x402C9820,\n\t0x402C9822, 0x402C9821, 0x002C9888, 0x002C98C3, 0x002C98A3, 0x402D9A20,\n\t0x402D9A21, 0x002D9A88, 0x002D9AA3, 0x40306C20, 0x40306C22, 0x40306C21,\n\t0x00306C88, 0x00306CC3, 0x00306CA3, 0x402C3A20, 0x402C6020, 0x002C3A88,\n\t0x002C6083, 0x402D2220, 0x402D6620, 0x002D2288, 0x002D6683, 0x402DFE20,\n\t0x402E2020, 0x002DFE88, 0x002E2083, 0x402E2220, 0xE0000CFB, 0x402E8020,\n\t0xE0000CFB, 0x002E2288, 0xE0000D01, 0x002E8083, 0xE0000D01, 0x402E9E20,\n\t0x402EE020, 0x002E9E88, 0x002EE083, 0x402F7A20, 0x402FE420, 0x002F7A88,\n\t0x002FE483, 0x402FE620, 0x40302A20, 0x002FE688, 0x00302A83, 0x40312A20,\n\t0x40316220, 0x00312A88, 0x00316283, 0x40442220, 0xE000A9DC, 0x40443E20,\n\t0xE000A9E2, 0xE000A9EE, 0xE000A9E8, 0x40444820,\n\t// Block 45, offset 0xb40\n\t0xE000A9EB, 0x40445820, 0xE000A9F4, 0x40445A20, 0xE000A9FA, 0x40446620,\n\t0xE000AA00, 0x40448220, 0x40448820, 0x00448C83, 0x403FFC20, 0x40404020,\n\t0x002C3A88, 0x402C3820, 0x402C3A20, 0x002C3883, 0x002D2288, 0x402D6620,\n\t0x002D6683, 0x402D2020, 0x402D2220, 0x002D6684, 0x002D6685, 0x002D2083,\n\t0x00312A88, 0x40312820, 0x40312A20, 0x00312883, 0x404E6020, 0xE000AA0C,\n\t0x404FFE20, 0x404FFE21, 0x404E6A20, 0xE000AA12, 0x40502820, 0x40502821,\n\t0x404E9420, 0xE000AA2C, 0xE000AA25, 0x4050AC20, 0x4050AC21, 0x4005B820,\n\t0xE000AA32, 0x404EA620, 0xE000AA3D, 0x4050C820, 0x4050C821, 0xE000AA4E,\n\t0xE000AA51, 0xE000AA55, 0xE000AA5E, 0xE000AA62, 0xE000AA6E, 0xE000AA7A,\n\t0xE000AA86, 0xE000AA92, 0xE000AA9E, 0xE000AAAA, 0xE000AAB6, 0xE000AAC2,\n\t0xE000AACE, 0xE000AADA, 0xE000AAE6, 0xE000AAF2,\n\t// Block 46, offset 0xb80\n\t0xE000AAFE, 0xE000AB0A, 0xE000AB16, 0xE000AB22, 0xE000AB2E, 0xE000AB3A,\n\t0xE000AB46, 0xE000AB52, 0xE000AB5E, 0xE000AB6A, 0xE000AB76, 0xE000AB82,\n\t0xE000AB8E, 0xE000AB9A, 0xE000ABA6, 0xE000ABB2, 0xE000ABBE, 0xE000ABCA,\n\t0xE000ABD6, 0xE000ABE2, 0xE000ABEE, 0xE000ABFA, 0xE000AC06, 0xE000AC12,\n\t0xE000AC1E, 0xE000AC2A, 0xE000AC36, 0xE000AC42, 0xE000AC4E, 0xE000AC5A,\n\t0xE000AC66, 0xE000AC72, 0xE000AC7E, 0xE000AC8A, 0xE000AC96, 0xE000ACA2,\n\t0xE000ACAE, 0xE000ACBA, 0xE000ACC6, 0xE000ACD2, 0xE000ACDE, 0xE000ACEA,\n\t0xE000ACF6, 0xE000AD02, 0xE000AD0E, 0xE000AD1A, 0xE000AD26, 0xE000AA68,\n\t0xE000AA74, 0xE000AA80, 0xE000AA8C, 0xE000AA98, 0xE000AAA4, 0xE000AAB0,\n\t0xE000AABC, 0xE000AAC8, 0xE000AAD4, 0xE000AAE0, 0xE000AAEC, 0xE000AAF8,\n\t0xE000AB04, 0xE000AB10, 0xE000AB1C, 0xE000AB28,\n\t// Block 47, offset 0xbc0\n\t0xE000AB34, 0xE000AB40, 0xE000AB4C, 0xE000AB58, 0xE000AB64, 0xE000AB70,\n\t0xE000AB7C, 0xE000AB88, 0xE000AB94, 0xE000ABA0, 0xE000ABAC, 0xE000ABB8,\n\t0xE000ABC4, 0xE000ABD0, 0xE000ABDC, 0xE000ABE8, 0xE000ABF4, 0xE000AC00,\n\t0xE000AC0C, 0xE000AC18, 0xE000AC24, 0xE000AC30, 0xE000AC3C, 0xE000AC48,\n\t0xE000AC54, 0xE000AC60, 0xE000AC6C, 0xE000AC78, 0xE000AC84, 0xE000AC90,\n\t0xE000AC9C, 0xE000ACA8, 0xE000ACB4, 0xE000ACC0, 0xE000ACCC, 0xE000ACD8,\n\t0xE000ACE4, 0xE000ACF0, 0xE000ACFC, 0xE000AD08, 0xE000AD14, 0xE000AD20,\n\t0xE000AD2C, 0x404EFE20, 0x404F5222, 0xE000AD37, 0x404F5220, 0x404F5020,\n\t0x404F1A22, 0x404F1A23, 0x404F2822, 0x404F2823, 0x404F3622, 0x404F3623,\n\t0x404F4422, 0x404F4423, 0x404F5223, 0x404F6022, 0x404F6023, 0x404F6E22,\n\t0x404F6E23, 0x404F7C22, 0x404F7C23, 0x404F8A21,\n\t// Block 48, offset 0xc00\n\t0x404F9822, 0x404F9823, 0x404FA622, 0x404FA623, 0x404FB422, 0x404FB423,\n\t0x404FC222, 0x404FC223, 0x404FD022, 0x404FD023, 0x404FDE22, 0x404FDE23,\n\t0x404FEC22, 0x404FEC23, 0x404FFA22, 0x404FFA23, 0x40500822, 0x40500823,\n\t0x40501622, 0x40501623, 0x40502422, 0x40502423, 0x40503222, 0x40503223,\n\t0x40504022, 0x40504023, 0x40504E22, 0x40504E23, 0x40505C22, 0x40505C23,\n\t0x40506A22, 0x40506A23, 0x40508C22, 0x40508C23, 0x40509A22, 0x40509A23,\n\t0x4050A822, 0x4050A823, 0x4050B622, 0x4050B623, 0x4050C421, 0x4050D222,\n\t0x4050D223, 0x4050E022, 0x4050E023, 0x4050EE21, 0x4050FC21, 0x404F1A20,\n\t0x404F1A21, 0x404F2820, 0x404F2821, 0x404F3620, 0x404F3621, 0x404F4420,\n\t0x404F4421, 0x404F5221, 0x404F6020, 0x404F6021, 0x404F6E20, 0x404F6E21,\n\t0x404F7C20, 0x404F7C21, 0x404F8A20, 0x404F9820,\n\t// Block 49, offset 0xc40\n\t0x404F9821, 0x404FA620, 0x404FA621, 0x404FB420, 0x404FB421, 0x404FC220,\n\t0x404FC221, 0x404FD020, 0x404FD021, 0x404FDE20, 0x404FDE21, 0x404FEC20,\n\t0x404FEC21, 0x404FFA20, 0x404FFA21, 0x40500820, 0x40500821, 0x40501620,\n\t0x40501621, 0x40502420, 0x40502421, 0x40503220, 0x40503221, 0x40504020,\n\t0x40504021, 0x40504E20, 0x40504E21, 0x40505C20, 0x40505C21, 0x40506A20,\n\t0x40506A21, 0x40508C20, 0x40508C21, 0x40509A20, 0x40509A21, 0x4050A820,\n\t0x4050A821, 0x4050B620, 0x4050B621, 0x4050C420, 0x4050D220, 0x4050D221,\n\t0x4050E020, 0x4050E021, 0x4050EE20, 0x4050FC20, 0x404F1820, 0x404F1821,\n\t0x404F2620, 0x404F2621, 0x404F3420, 0x404F3421, 0x404F4220, 0x404F4221,\n\t0x404F5021, 0x404F5E20, 0x404F5E21, 0x404F6C20, 0x404F6C21, 0x404F7A20,\n\t0x404F7A21, 0x404F8820, 0x404F9620, 0x404F9621,\n\t// Block 50, offset 0xc80\n\t0x404FA420, 0x404FA421, 0x404FB220, 0x404FB221, 0x404FC020, 0x404FC021,\n\t0x404FCE20, 0x404FCE21, 0x404FDC20, 0x404FDC21, 0x404FEA20, 0x404FEA21,\n\t0x404FF820, 0x404FF821, 0x40500620, 0x40500621, 0x40501420, 0x40501421,\n\t0x40502220, 0x40502221, 0x40503020, 0x40503021, 0x40503E20, 0x40503E21,\n\t0x40504C20, 0x40504C21, 0x40505A20, 0x40505A21, 0x40506820, 0x40506821,\n\t0x40508A20, 0x40508A21, 0x40509820, 0x40509821, 0x4050A620, 0x4050A621,\n\t0x4050B420, 0x4050B421, 0x4050C220, 0x4050D020, 0x4050D021, 0x4050DE20,\n\t0x4050DE21, 0x4050EC20, 0x4050FA20, 0x404F0A21, 0x404F0A20, 0x404F0821,\n\t0x404F0820, 0x404EE620, 0x404F5420, 0x404F4C20, 0x40507620, 0x40507A20,\n\t0x404F1C20, 0x404F1C21, 0x404F2A20, 0x404F2A21, 0x404F3820, 0x404F3821,\n\t0x404F4620, 0x404F4621, 0x404F5421, 0x404F6220,\n\t// Block 51, offset 0xcc0\n\t0x404F6221, 0x404F7020, 0x404F7021, 0x404F7E20, 0x404F7E21, 0x404F8C20,\n\t0x404F9A20, 0x404F9A21, 0x404FA820, 0x404FA821, 0x404FB620, 0x404FB621,\n\t0x404FC420, 0x404FC421, 0x404FD220, 0x404FD221, 0x404FE020, 0x404FE021,\n\t0x404FEE20, 0x404FEE21, 0x404FFC20, 0x404FFC21, 0x40500A20, 0x40500A21,\n\t0x40501820, 0x40501821, 0x40502620, 0x40502621, 0x40503420, 0x40503421,\n\t0x40504220, 0x40504221, 0x40505020, 0x40505021, 0x40505E20, 0x40505E21,\n\t0x40506C20, 0x40506C21, 0x40508E20, 0x40508E21, 0x40509C20, 0x40509C21,\n\t0x4050AA20, 0x4050AA21, 0x4050B820, 0x4050B821, 0x4050C620, 0x4050D420,\n\t0x4050D421, 0x4050E220, 0x4050E221, 0x4050F020, 0x4050FE20, 0x404F1420,\n\t0x404F1421, 0x404F2220, 0x404F2221, 0x404F3020, 0x404F3021, 0x404F3E20,\n\t0x404F3E21, 0x404F4C21, 0x404F5A20, 0x404F5A21,\n\t// Block 52, offset 0xd00\n\t0x404F6820, 0x404F6821, 0x404F7620, 0x404F7621, 0x404F8420, 0x404F9220,\n\t0x404F9221, 0x404FA020, 0x404FA021, 0x404FAE20, 0x404FAE21, 0x404FBC20,\n\t0x404FBC21, 0x404FCA20, 0x404FCA21, 0x404FD820, 0x404FD821, 0x404FE620,\n\t0x404FE621, 0x404FF420, 0x404FF421, 0x40500220, 0x40500221, 0x40501020,\n\t0x40501021, 0x40501E20, 0x40501E21, 0x40502C20, 0x40502C21, 0x40503A20,\n\t0x40503A21, 0x40504820, 0x40504821, 0x40505620, 0x40505621, 0x40506420,\n\t0x40506421, 0x40507220, 0x40507221, 0x40509420, 0x40509421, 0x4050A220,\n\t0x4050A221, 0x4050B020, 0x4050B021, 0x4050BE20, 0x4050CC20, 0x4050CC21,\n\t0x4050DA20, 0x4050DA21, 0x4050E820, 0x4050F620, 0x40507820, 0x40507C20,\n\t0x404F0E20, 0x40507420, 0x404E1420, 0x404F1020, 0x404F1021, 0x404EDE20,\n\t0x404F4A20, 0x404F1220, 0x404F1221, 0x404F2020,\n\t// Block 53, offset 0xd40\n\t0x404F2021, 0x404F2E20, 0x404F2E21, 0x404F3C20, 0x404F3C21, 0x404F4A21,\n\t0x404F5820, 0x404F5821, 0x404F6620, 0x404F6621, 0x404F7420, 0x404F7421,\n\t0x404F8220, 0x404F9020, 0x404F9021, 0x404F9E20, 0x404F9E21, 0x404FAC20,\n\t0x404FAC21, 0x404FBA20, 0x404FBA21, 0x404FC820, 0x404FC821, 0x404FD620,\n\t0x404FD621, 0x404FE420, 0x404FE421, 0x404FF220, 0x404FF221, 0x40500020,\n\t0x40500021, 0x40500E20, 0x40500E21, 0x40501C20, 0x40501C21, 0x40502A20,\n\t0x40502A21, 0x40503820, 0x40503821, 0x40504620, 0x40504621, 0x40505420,\n\t0x40505421, 0x40506220, 0x40506221, 0x40507020, 0x40507021, 0x40509220,\n\t0x40509221, 0x4050A020, 0x4050A021, 0x4050AE20, 0x4050AE21, 0x4050BC20,\n\t0x4050CA20, 0x4050CA21, 0x4050D820, 0x4050D821, 0x4050E620, 0x4050F420,\n\t0x404EDE21, 0x404F4A22, 0x404F1222, 0x404F1223,\n\t// Block 54, offset 0xd80\n\t0x404F2022, 0x404F2023, 0x404F2E22, 0x404F2E23, 0x404F3C22, 0x404F3C23,\n\t0x404F4A23, 0x404F5822, 0x404F5823, 0x404F6622, 0x404F6623, 0x404F7422,\n\t0x404F7423, 0x404F8221, 0x404F9022, 0x404F9023, 0x404F9E22, 0x404F9E23,\n\t0x404FAC22, 0x404FAC23, 0x404FBA22, 0x404FBA23, 0x404FC822, 0x404FC823,\n\t0x404FD622, 0x404FD623, 0x404FE422, 0x404FE423, 0x404FF222, 0x404FF223,\n\t0x40500022, 0x40500023, 0x40500E22, 0x40500E23, 0x40501C22, 0x40501C23,\n\t0x40502A22, 0x40502A23, 0x40503822, 0x40503823, 0x40504622, 0x40504623,\n\t0x40505422, 0x40505423, 0x40506222, 0x40506223, 0x40507022, 0x40507023,\n\t0x40509222, 0x40509223, 0x4050A022, 0x4050A023, 0x4050AE22, 0x4050AE23,\n\t0x4050BC21, 0x4050CA22, 0x4050CA23, 0x4050D822, 0x4050D823, 0x4050E621,\n\t0x4050F421, 0x404EEE20, 0x404F4E20, 0x40508220,\n\t// Block 55, offset 0xdc0\n\t0x40508620, 0x404F1620, 0x404F1621, 0x404F2420, 0x404F2421, 0x404F3220,\n\t0x404F3221, 0x404F4020, 0x404F4021, 0x404F4E21, 0x404F5C20, 0x404F5C21,\n\t0x404F6A20, 0x404F6A21, 0x404F7820, 0x404F7821, 0x404F8620, 0x404F9420,\n\t0x404F9421, 0x404FA220, 0x404FA221, 0x404FB020, 0x404FB021, 0x404FBE20,\n\t0x404FBE21, 0x404FCC20, 0x404FCC21, 0x404FDA20, 0x404FDA21, 0x404FE820,\n\t0x404FE821, 0x404FF620, 0x404FF621, 0x40500420, 0x40500421, 0x40501220,\n\t0x40501221, 0x40502020, 0x40502021, 0x40502E20, 0x40502E21, 0x40503C20,\n\t0x40503C21, 0x40504A20, 0x40504A21, 0x40505820, 0x40505821, 0x40506620,\n\t0x40506621, 0x40507E20, 0x40507E21, 0x40509620, 0x40509621, 0x4050A420,\n\t0x4050A421, 0x4050B220, 0x4050B221, 0x4050C020, 0x4050CE20, 0x4050CE21,\n\t0x4050DC20, 0x4050DC21, 0x4050EA20, 0x4050F820,\n\t// Block 56, offset 0xe00\n\t0x40508420, 0x40508820, 0x40508020, 0x404E1820, 0x404F1E20, 0x404F1E21,\n\t0x404E1C20, 0x404F2C20, 0x404F2C21, 0x404F2E20, 0x404F3220, 0x404E2220,\n\t0x404F3A20, 0x404F3A21, 0x404E2420, 0x404F4820, 0x404F4821, 0x404E2820,\n\t0x404F5620, 0x404F5621, 0x404E2E20, 0x404F6420, 0x404F6421, 0x404E3220,\n\t0x404F7220, 0x404F7221, 0x404E3A20, 0x404F8020, 0x404E4220, 0x404F8E20,\n\t0x404F8E21, 0x404E4820, 0x404F9C20, 0x404F9C21, 0x404E4A20, 0x404FAA20,\n\t0x404FAA21, 0x404E4E20, 0x404FB820, 0x404FB821, 0x404E5220, 0x404FC620,\n\t0x404FC621, 0x404E5620, 0x404FD420, 0x404FD421, 0x404E5A20, 0x404FE220,\n\t0x404FE221, 0x404E5E20, 0x404FF020, 0x404FF021, 0x404E6220, 0x40500C20,\n\t0x40500C21, 0x404E6620, 0x40501A20, 0x40501A21, 0x404E7220, 0x40503620,\n\t0x40503621, 0x404E7420, 0x40504420, 0x40504421,\n\t// Block 57, offset 0xe40\n\t0x404E7E20, 0x40505220, 0x40505221, 0x404E8220, 0x40506020, 0x40506021,\n\t0x404E8420, 0x40506E20, 0x40506E21, 0x404E8820, 0x40509020, 0x40509021,\n\t0x404E8C20, 0x40509E20, 0x40509E21, 0x404E9820, 0x4050BA20, 0x404EAA20,\n\t0x4050D620, 0x4050D621, 0x404EB620, 0x4050E420, 0x404EC220, 0x4050F220,\n\t0x40510420, 0x40511A20, 0x40511020, 0x40511420, 0x40510620, 0x40511C20,\n\t0x40511220, 0x40511620, 0x40510A20, 0x40511820, 0x402BDE20, 0x40320C21,\n\t0x40321020, 0x40321021, 0x002BDE88, 0x00320CA3, 0x00321083, 0x003210A4,\n\t0x003210A3, 0x402C9820, 0x402C9A20, 0x002C9888, 0x002C9A83, 0x402C3A20,\n\t0x40312C20, 0x002C3A88, 0x00312C84, 0x00312C83, 0x402C6220, 0x40312E20,\n\t0x002C6288, 0x00312E84, 0x00312E83, 0x402DFE20, 0x40313020, 0x002DFE88,\n\t0x00313084, 0x00313083, 0x402E9E20, 0x40313220,\n\t// Block 58, offset 0xe80\n\t0x002E9E88, 0x00313284, 0x00313283, 0x402F2C20, 0x40313420, 0x002F2C88,\n\t0x00313484, 0x00313483, 0x402FE620, 0x40313620, 0x002FE688, 0x00313683,\n\t0x40421220, 0x40425A20, 0x402BDE20, 0x402BE020, 0x002BDE88, 0x002BE083,\n\t0x40312A20, 0x40312C20, 0x40312E20, 0x00312A88, 0x00312C83, 0x00312E83,\n\t0x40393820, 0x40393620, 0x40393821, 0x40393824, 0x40397220, 0x40396621,\n\t0x403A6821, 0x003A6883, 0x403A6820, 0x003A6884, 0x403A7420, 0x403A7421,\n\t0x403A9220, 0x403A9226, 0x403A9221, 0x003A9343, 0x403A9223, 0x003A9344,\n\t0x402BDE20, 0x402BE220, 0x402BE020, 0x002BDE88, 0x002BE283, 0x002BE083,\n\t0x402FE620, 0x402FE820, 0x402FE820, 0x002FE688, 0x002FE883, 0x002FE883,\n\t0x40302C20, 0x40302E20, 0x40302E20, 0x00302C88, 0x00302E83, 0x00302E83,\n\t0x402BDE20, 0x402C0820, 0x40320E21, 0x40320C21,\n\t// Block 59, offset 0xec0\n\t0x40320E20, 0x40320C20, 0x002BDE88, 0x002C0883, 0x00320EA3, 0x00320CA3,\n\t0x00320E83, 0x00320C83, 0x402C3A20, 0x402C5C20, 0x002C3A88, 0x002C5C83,\n\t0x402C5E20, 0x402C6020, 0x002C5E83, 0x002C6083, 0x402D2220, 0x402D6420,\n\t0x002D2288, 0x002D6483, 0x402E9E20, 0x402EE021, 0x402EE022, 0x002E9E88,\n\t0x002EE0A3, 0x002EE0C3, 0x40312A20, 0x40320620, 0x00312A88, 0x00320683,\n\t0x402EE220, 0x40321023, 0x40321022, 0x40321020, 0x40321021, 0x40321024,\n\t0x002EE288, 0x003210E3, 0x003210C3, 0x00321083, 0x003210A3, 0x00321103,\n\t0x402C6220, 0x402C9620, 0x002C6288, 0x002C9684, 0x002C9683, 0x002D2288,\n\t0x002D6684, 0x002D6683, 0x402E2220, 0xE0000CFB, 0xE0000CFB, 0x402E8020,\n\t0x002E2288, 0xE0000D01, 0xE0000D01, 0x002E8084, 0x002E8083, 0x002E9E88,\n\t0x002EE084, 0x002EE083, 0x002F7A88, 0x002FE484,\n\t// Block 60, offset 0xf00\n\t0x002FE483, 0x002FE688, 0x00302A84, 0x00302A83, 0x40302C20, 0x40306A20,\n\t0x00302C88, 0x00306A84, 0x00306A83, 0x4030F620, 0x4030FE20, 0x0030F688,\n\t0x0030FE84, 0x0030FE83, 0x00312A88, 0x00316284, 0x00316283, 0x402C9820,\n\t0x40320E22, 0x002C9888, 0x00320EC3, 0x402EE220, 0x40321024, 0x40321020,\n\t0x40321022, 0x002EE288, 0x00321103, 0x00321083, 0x003210C3, 0x40429820,\n\t0x4042C220, 0x4042C420, 0x40429620, 0x40429A20, 0x40429820, 0x40429C20,\n\t0x40429A20, 0x40429E20, 0x40429C20, 0x4042A020, 0x40429E20, 0x4042A220,\n\t0x4042A020, 0x4042A420, 0x4042A220, 0x4042A620, 0x4042A420, 0x4042A820,\n\t0x4042A620, 0x4042AA20, 0x4042A820, 0x4042AC20, 0x4042AA20, 0x4042AE20,\n\t0x4042AC20, 0x4042B020, 0x4042AE20, 0x4042B220, 0x4042B020, 0x4042B420,\n\t0x4042B220, 0x4042B620, 0x4042B420, 0x4042B820,\n\t// Block 61, offset 0xf40\n\t0x4042B620, 0x4042BA20, 0x4042B820, 0x4042BC20, 0x4042BA20, 0x4042BE20,\n\t0x4042BC20, 0x4042C020, 0x4042BE20, 0x4042C220, 0x4042C020, 0x4042C420,\n\t0x4042C220, 0x40496C20, 0xE000AE0D, 0xE000AE10, 0x402BDE20, 0x402BDE21,\n\t0x402BDE22, 0x002BDE88, 0x002BDEA3, 0x002BDEC3, 0x402C9820, 0x402C9821,\n\t0x402C9822, 0x002C9888, 0x002C98A3, 0x002C98C3, 0x402D9A20, 0x402D9A21,\n\t0x402D9A22, 0x002D9A88, 0x002D9AA3, 0x002D9AC3, 0x402EE220, 0x402EE221,\n\t0x402EE222, 0x002EE288, 0x002EE2A3, 0x002EE2C3, 0x40306C20, 0x40306C21,\n\t0x40306C22, 0x00306C88, 0x00306CA3, 0x00306CC3, 0x40393820, 0x40393A20,\n\t0x40393821, 0x40392820, 0x40393C20, 0x40393E20, 0x40394020, 0x40394220,\n\t0x40394420, 0x40394620, 0x40394820, 0x40394A20, 0x40394E20, 0x40395020,\n\t0x40395220, 0x40395420, 0x40395A20, 0x40395C20,\n\t// Block 62, offset 0xf80\n\t0x40395E20, 0x40396020, 0x40396420, 0x40396620, 0x40396820, 0x40396A20,\n\t0x40398420, 0x40398620, 0x40398820, 0x40398A20, 0x40398C20, 0x40398E20,\n\t0x40399020, 0x40399220, 0x40399420, 0x40399620, 0x40399820, 0x40399A20,\n\t0x40399C20, 0x40399C21, 0x40399E20, 0x4039A020, 0x4039A021, 0x403A9020,\n\t0x4039A821, 0x4039A820, 0x4039AA20, 0x4039AC20, 0x4039AC21, 0x402EE220,\n\t0x402EE420, 0x402EE620, 0x002EE288, 0x002EE483, 0x002EE683, 0x402BDE20,\n\t0xE0000966, 0xE000B3B3, 0xE0000958, 0xE0000966, 0x402C3A20, 0xE0000A41,\n\t0x402C9820, 0xE000B3B6, 0x402D9A20, 0xE000B3B9, 0x402EE220, 0xE0000DE3,\n\t0xE000B3BC, 0xE0000DCF, 0xE0000DE3, 0x402FE620, 0xE0000F30, 0x40306C20,\n\t0xE0001028, 0xE000B3BF, 0xE0000FFC, 0xE0001028, 0x402BDE20, 0x402BDE1F,\n\t0x402BDE1D, 0x402BDE1C, 0x402BDE1E, 0x002BDE88,\n\t// Block 63, offset 0xfc0\n\t0x002BDE63, 0x002BDE23, 0x002BDE03, 0x002BDE43, 0x402C9820, 0x402C9824,\n\t0x402C9822, 0x402C9821, 0x402C9823, 0x402C981F, 0x402C981D, 0x402C981C,\n\t0x402C981E, 0x002C9888, 0x002C9903, 0x002C98C3, 0x002C98A3, 0x002C98E3,\n\t0x002C9863, 0x002C9823, 0x002C9803, 0x002C9843, 0xE0000AF1, 0x402C9821,\n\t0x402C9823, 0xE0000AF4, 0x002C98A3, 0x002C98E3, 0x402D9A20, 0x402D9A1F,\n\t0x402D9A1D, 0x402D9A1C, 0x402D9A1E, 0x002D9A88, 0x002D9A63, 0x002D9A23,\n\t0x002D9A03, 0x002D9A43, 0x402E8220, 0x402E821F, 0x402E821D, 0x402E821C,\n\t0x402E821E, 0x002E8288, 0x002E8263, 0x002E8223, 0x002E8203, 0x002E8243,\n\t0x402E9E20, 0x402E9E1F, 0x402E9E1D, 0x402E9E1C, 0x402E9E1E, 0x002E9E88,\n\t0x002E9E63, 0x002E9E23, 0x002E9E03, 0x002E9E43, 0x402EE220, 0x402EE21F,\n\t0x402EE21D, 0x402EE21C, 0x402EE21E, 0x002EE288,\n\t// Block 64, offset 0x1000\n\t0x002EE263, 0x002EE223, 0x002EE203, 0x002EE243, 0x40306C20, 0x40306C24,\n\t0x40306C22, 0x40306C21, 0x40306C23, 0x40306C1F, 0x40306C1D, 0x40306C1C,\n\t0x40306C25, 0x40306C1E, 0x00306C88, 0x00306D03, 0x00306CC3, 0x00306CA3,\n\t0x00306CE3, 0x00306C63, 0x00306C23, 0x00306C03, 0x00306D23, 0x00306C43,\n}\n\n// mainValues: 251456 entries, 1005824 bytes\n// Block 2 is the null block.\nvar mainValues = [251456]uint32{\n\t// Block 0x0, offset 0x0\n\t0x0000: 0xa0000000, 0x0001: 0xa0000000, 0x0002: 0xa0000000, 0x0003: 0xa0000000,\n\t0x0004: 0xa0000000, 0x0005: 0xa0000000, 0x0006: 0xa0000000, 0x0007: 0xa0000000,\n\t0x0008: 0xa0000000, 0x0009: 0x40020020, 0x000a: 0x40020220, 0x000b: 0x40020420,\n\t0x000c: 0x40020620, 0x000d: 0x40020820, 0x000e: 0xa0000000, 0x000f: 0xa0000000,\n\t0x0010: 0xa0000000, 0x0011: 0xa0000000, 0x0012: 0xa0000000, 0x0013: 0xa0000000,\n\t0x0014: 0xa0000000, 0x0015: 0xa0000000, 0x0016: 0xa0000000, 0x0017: 0xa0000000,\n\t0x0018: 0xa0000000, 0x0019: 0xa0000000, 0x001a: 0xa0000000, 0x001b: 0xa0000000,\n\t0x001c: 0xa0000000, 0x001d: 0xa0000000, 0x001e: 0xa0000000, 0x001f: 0xa0000000,\n\t0x0020: 0x40021220, 0x0021: 0x4002ba20, 0x0022: 0x4003e020, 0x0023: 0x4004ea20,\n\t0x0024: 0x4027de20, 0x0025: 0x4004ec20, 0x0026: 0x4004e620, 0x0027: 0x4003d220,\n\t0x0028: 0x4003f420, 0x0029: 0x4003f620, 0x002a: 0x4004d820, 0x002b: 0x40093820,\n\t0x002c: 0x40024020, 0x002d: 0x40021a20, 0x002e: 0x4002e420, 0x002f: 0x4004e220,\n\t0x0030: 0x4029cc20, 0x0031: 0x4029ce20, 0x0032: 0x4029d020, 0x0033: 0x4029d220,\n\t0x0034: 0x4029d420, 0x0035: 0x4029d620, 0x0036: 0x4029d820, 0x0037: 0x4029da20,\n\t0x0038: 0x4029dc20, 0x0039: 0x4029de20, 0x003a: 0x40026c20, 0x003b: 0x40026220,\n\t0x003c: 0x40094020, 0x003d: 0x40094220, 0x003e: 0x40094420, 0x003f: 0x4002c420,\n\t// Block 0x1, offset 0x40\n\t0x0040: 0x4004d620, 0x0041: 0x002bde88, 0x0042: 0x002c0a88, 0x0043: 0x002c3a88,\n\t0x0044: 0x002c6288, 0x0045: 0x002c9888, 0x0046: 0x002d0888, 0x0047: 0x002d2288,\n\t0x0048: 0x002d6888, 0x0049: 0x002d9a88, 0x004a: 0x002dcc88, 0x004b: 0x002dfe88,\n\t0x004c: 0xc0030002, 0x004d: 0x002e8288, 0x004e: 0x002e9e88, 0x004f: 0x002ee288,\n\t0x0050: 0x002f2c88, 0x0051: 0x002f5688, 0x0052: 0x002f7a88, 0x0053: 0x002fe688,\n\t0x0054: 0x00302c88, 0x0055: 0x00306c88, 0x0056: 0x0030be88, 0x0057: 0x0030e288,\n\t0x0058: 0x0030f688, 0x0059: 0x00310088, 0x005a: 0x00312a88, 0x005b: 0x4003f820,\n\t0x005c: 0x4004e420, 0x005d: 0x4003fa20, 0x005e: 0x40062420, 0x005f: 0x40021620,\n\t0x0060: 0x40061e20, 0x0061: 0x402bde20, 0x0062: 0x402c0a20, 0x0063: 0x402c3a20,\n\t0x0064: 0x402c6220, 0x0065: 0x402c9820, 0x0066: 0x402d0820, 0x0067: 0x402d2220,\n\t0x0068: 0x402d6820, 0x0069: 0x402d9a20, 0x006a: 0x402dcc20, 0x006b: 0x402dfe20,\n\t0x006c: 0xc0000002, 0x006d: 0x402e8220, 0x006e: 0x402e9e20, 0x006f: 0x402ee220,\n\t0x0070: 0x402f2c20, 0x0071: 0x402f5620, 0x0072: 0x402f7a20, 0x0073: 0x402fe620,\n\t0x0074: 0x40302c20, 0x0075: 0x40306c20, 0x0076: 0x4030be20, 0x0077: 0x4030e220,\n\t0x0078: 0x4030f620, 0x0079: 0x40310020, 0x007a: 0x40312a20, 0x007b: 0x4003fc20,\n\t0x007c: 0x40094820, 0x007d: 0x4003fe20, 0x007e: 0x40094c20, 0x007f: 0xa0000000,\n\t// Block 0x2, offset 0x80\n\t// Block 0x3, offset 0xc0\n\t0x00c0: 0xa0000000, 0x00c1: 0xa0000000, 0x00c2: 0xa0000000, 0x00c3: 0xa0000000,\n\t0x00c4: 0xa0000000, 0x00c5: 0x40020a20, 0x00c6: 0xa0000000, 0x00c7: 0xa0000000,\n\t0x00c8: 0xa0000000, 0x00c9: 0xa0000000, 0x00ca: 0xa0000000, 0x00cb: 0xa0000000,\n\t0x00cc: 0xa0000000, 0x00cd: 0xa0000000, 0x00ce: 0xa0000000, 0x00cf: 0xa0000000,\n\t0x00d0: 0xa0000000, 0x00d1: 0xa0000000, 0x00d2: 0xa0000000, 0x00d3: 0xa0000000,\n\t0x00d4: 0xa0000000, 0x00d5: 0xa0000000, 0x00d6: 0xa0000000, 0x00d7: 0xa0000000,\n\t0x00d8: 0xa0000000, 0x00d9: 0xa0000000, 0x00da: 0xa0000000, 0x00db: 0xa0000000,\n\t0x00dc: 0xa0000000, 0x00dd: 0xa0000000, 0x00de: 0xa0000000, 0x00df: 0xa0000000,\n\t0x00e0: 0x0002129b, 0x00e1: 0x4002bc20, 0x00e2: 0x4027dc20, 0x00e3: 0x4027e020,\n\t0x00e4: 0x4027da20, 0x00e5: 0x4027e220, 0x00e6: 0x40094a20, 0x00e7: 0x4004ce20,\n\t0x00e8: 0x40062c20, 0x00e9: 0x40081820, 0x00ea: 0x002bde94, 0x00eb: 0x4003f020,\n\t0x00ec: 0x40094620, 0x00ed: 0xa0000000, 0x00ee: 0x40081a20, 0x00ef: 0x40062620,\n\t0x00f0: 0x40070420, 0x00f1: 0x40093a20, 0x00f2: 0x0029d094, 0x00f3: 0x0029d294,\n\t0x00f4: 0x40062020, 0x00f5: 0x00327684, 0x00f6: 0x4004d220, 0x00f7: 0x40030620,\n\t0x00f8: 0x40063220, 0x00f9: 0x0029ce94, 0x00fa: 0x002ee294, 0x00fb: 0x4003f220,\n\t0x00fc: 0xe00002bf, 0x00fd: 0xe00002b7, 0x00fe: 0xe00004a7, 0x00ff: 0x4002c620,\n\t// Block 0x4, offset 0x100\n\t0x0100: 0xe00008f5, 0x0101: 0xe00008ef, 0x0102: 0xe0000921, 0x0103: 0xe0000969,\n\t0x0104: 0xe000095b, 0x0105: 0xe000094d, 0x0106: 0xe00009dd, 0x0107: 0xe0000a53,\n\t0x0108: 0xe0000ae8, 0x0109: 0xe0000ae2, 0x010a: 0xe0000af4, 0x010b: 0xe0000b20,\n\t0x010c: 0xe0000c2b, 0x010d: 0xe0000c25, 0x010e: 0xe0000c37, 0x010f: 0xe0000c43,\n\t0x0110: 0xe0000ab3, 0x0111: 0xe0000d63, 0x0112: 0xe0000d9a, 0x0113: 0xe0000d94,\n\t0x0114: 0xe0000da6, 0x0115: 0xe0000de6, 0x0116: 0xe0000dd2, 0x0117: 0x40093e20,\n\t0x0118: 0xe0000e12, 0x0119: 0xe0000fe1, 0x011a: 0xe0000fdb, 0x011b: 0xe0000fed,\n\t0x011c: 0xe0000fff, 0x011d: 0xe0001102, 0x011e: 0x00318888, 0x011f: 0xe0000f7b,\n\t0x0120: 0xe00008f2, 0x0121: 0xe00008ec, 0x0122: 0xe000091e, 0x0123: 0xe0000966,\n\t0x0124: 0xe0000958, 0x0125: 0xe000094a, 0x0126: 0xe00009d5, 0x0127: 0xe0000a4d,\n\t0x0128: 0xe0000ae5, 0x0129: 0xe0000adf, 0x012a: 0xe0000af1, 0x012b: 0xe0000b1d,\n\t0x012c: 0xe0000c28, 0x012d: 0xe0000c22, 0x012e: 0xe0000c34, 0x012f: 0xe0000c40,\n\t0x0130: 0xe0000aad, 0x0131: 0xe0000d60, 0x0132: 0xe0000d97, 0x0133: 0xe0000d91,\n\t0x0134: 0xe0000da3, 0x0135: 0xe0000de3, 0x0136: 0xe0000dcf, 0x0137: 0x40093c20,\n\t0x0138: 0xe0000e0f, 0x0139: 0xe0000fde, 0x013a: 0xe0000fd8, 0x013b: 0xe0000fea,\n\t0x013c: 0xe0000ffc, 0x013d: 0xe00010ff, 0x013e: 0x40318820, 0x013f: 0xe0001114,\n\t// Block 0x5, offset 0x140\n\t0x0140: 0xe0000983, 0x0141: 0xe0000980, 0x0142: 0xe00008fb, 0x0143: 0xe00008f8,\n\t0x0144: 0xe000097d, 0x0145: 0xe000097a, 0x0146: 0xe0000a38, 0x0147: 0xe0000a35,\n\t0x0148: 0xe0000a3e, 0x0149: 0xe0000a3b, 0x014a: 0xe0000a4a, 0x014b: 0xe0000a47,\n\t0x014c: 0xe0000a44, 0x014d: 0xe0000a41, 0x014e: 0xe0000a86, 0x014f: 0xe0000a83,\n\t0x0150: 0xe0000aaa, 0x0151: 0xe0000aa7, 0x0152: 0xe0000b46, 0x0153: 0xe0000b43,\n\t0x0154: 0xe0000aee, 0x0155: 0xe0000aeb, 0x0156: 0xe0000b2c, 0x0157: 0xe0000b29,\n\t0x0158: 0xe0000b40, 0x0159: 0xe0000b3d, 0x015a: 0xe0000b1a, 0x015b: 0xe0000b17,\n\t0x015c: 0xe0000bb8, 0x015d: 0xe0000bb5, 0x015e: 0xe0000bb2, 0x015f: 0xe0000baf,\n\t0x0160: 0xe0000bc4, 0x0161: 0xe0000bc1, 0x0162: 0xe0000bca, 0x0163: 0xe0000bc7,\n\t0x0164: 0xe0000bee, 0x0165: 0xe0000beb, 0x0166: 0xe0000c1b, 0x0167: 0xe0000c18,\n\t0x0168: 0xe0000c51, 0x0169: 0xe0000c4e, 0x016a: 0xe0000c60, 0x016b: 0xe0000c5d,\n\t0x016c: 0xe0000c31, 0x016d: 0xe0000c2e, 0x016e: 0xe0000c5a, 0x016f: 0xe0000c57,\n\t0x0170: 0xe0000c54, 0x0171: 0x402da220, 0x0172: 0xf0000a0a, 0x0173: 0xf0000404,\n\t0x0174: 0xe0000c8a, 0x0175: 0xe0000c87, 0x0176: 0xe0000c9f, 0x0177: 0xe0000c9c,\n\t0x0178: 0x402f7220, 0x0179: 0xe0000ccc, 0x017a: 0xe0000cc9, 0x017b: 0xe0000cd8,\n\t0x017c: 0xe0000cd5, 0x017d: 0xe0000cd2, 0x017e: 0xe0000ccf, 0x017f: 0xe0000d04,\n\t// Block 0x6, offset 0x180\n\t0x0180: 0xe0000cfe, 0x0181: 0xe0000cf8, 0x0182: 0xe0000cf5, 0x0183: 0xe0000d51,\n\t0x0184: 0xe0000d4e, 0x0185: 0xe0000d6f, 0x0186: 0xe0000d6c, 0x0187: 0xe0000d5d,\n\t0x0188: 0xe0000d5a, 0x0189: 0xf0000404, 0x018a: 0x002eda88, 0x018b: 0x402eda20,\n\t0x018c: 0xe0000e2e, 0x018d: 0xe0000e2b, 0x018e: 0xe0000da0, 0x018f: 0xe0000d9d,\n\t0x0190: 0xe0000de0, 0x0191: 0xe0000ddd, 0x0192: 0xe0000e93, 0x0193: 0xe0000e8f,\n\t0x0194: 0xe0000eca, 0x0195: 0xe0000ec7, 0x0196: 0xe0000edc, 0x0197: 0xe0000ed9,\n\t0x0198: 0xe0000ed0, 0x0199: 0xe0000ecd, 0x019a: 0xe0000f1f, 0x019b: 0xe0000f1c,\n\t0x019c: 0xe0000f2d, 0x019d: 0xe0000f2a, 0x019e: 0xe0000f47, 0x019f: 0xe0000f44,\n\t0x01a0: 0xe0000f33, 0x01a1: 0xe0000f30, 0x01a2: 0xe0000f99, 0x01a3: 0xe0000f96,\n\t0x01a4: 0xe0000f8a, 0x01a5: 0xe0000f87, 0x01a6: 0x00303688, 0x01a7: 0x40303620,\n\t0x01a8: 0xe000102b, 0x01a9: 0xe0001028, 0x01aa: 0xe000103f, 0x01ab: 0xe000103c,\n\t0x01ac: 0xe0000fe7, 0x01ad: 0xe0000fe4, 0x01ae: 0xe0000ff9, 0x01af: 0xe0000ff6,\n\t0x01b0: 0xe0001025, 0x01b1: 0xe0001022, 0x01b2: 0xe0001039, 0x01b3: 0xe0001036,\n\t0x01b4: 0xe00010d8, 0x01b5: 0xe00010d5, 0x01b6: 0xe000110e, 0x01b7: 0xe000110b,\n\t0x01b8: 0xe0001117, 0x01b9: 0xe000113b, 0x01ba: 0xe0001138, 0x01bb: 0xe000114d,\n\t0x01bc: 0xe000114a, 0x01bd: 0xe0001147, 0x01be: 0xe0001144, 0x01bf: 0xe0000f64,\n\t// Block 0x7, offset 0x1c0\n\t0x01c0: 0x402c1a20, 0x01c1: 0x002c2a88, 0x01c2: 0x002c3288, 0x01c3: 0x402c3220,\n\t0x01c4: 0x0031c488, 0x01c5: 0x4031c420, 0x01c6: 0x002efa88, 0x01c7: 0x002c4e88,\n\t0x01c8: 0x402c4e20, 0x01c9: 0x002c7288, 0x01ca: 0x002c7a88, 0x01cb: 0x002c8488,\n\t0x01cc: 0x402c8420, 0x01cd: 0xe000115c, 0x01ce: 0x002cae88, 0x01cf: 0x002cb888,\n\t0x01d0: 0x002cc288, 0x01d1: 0x002d1688, 0x01d2: 0x402d1620, 0x01d3: 0x002d4488,\n\t0x01d4: 0x002d5888, 0x01d5: 0x402d7820, 0x01d6: 0x002dc288, 0x01d7: 0x002db688,\n\t0x01d8: 0x002e0a88, 0x01d9: 0x402e0a20, 0x01da: 0x402e3820, 0x01db: 0x402e7220,\n\t0x01dc: 0x0030a088, 0x01dd: 0x002eb488, 0x01de: 0x402ebc20, 0x01df: 0x002f1088,\n\t0x01e0: 0xe0000e56, 0x01e1: 0xe0000e53, 0x01e2: 0x002d6088, 0x01e3: 0x402d6020,\n\t0x01e4: 0x002f3e88, 0x01e5: 0x402f3e20, 0x01e6: 0x002f8288, 0x01e7: 0x0031b488,\n\t0x01e8: 0x4031b420, 0x01e9: 0x00300888, 0x01ea: 0x40301220, 0x01eb: 0x40304220,\n\t0x01ec: 0x00304a88, 0x01ed: 0x40304a20, 0x01ee: 0x00305288, 0x01ef: 0xe000105f,\n\t0x01f0: 0xe000105c, 0x01f1: 0x0030b488, 0x01f2: 0x0030cc88, 0x01f3: 0x00311888,\n\t0x01f4: 0x40311820, 0x01f5: 0x00313488, 0x01f6: 0x40313420, 0x01f7: 0x00316488,\n\t0x01f8: 0x00316e88, 0x01f9: 0x40316e20, 0x01fa: 0x40317820, 0x01fb: 0x4031a620,\n\t0x01fc: 0x0031bc88, 0x01fd: 0x4031bc20, 0x01fe: 0xe0000fc9, 0x01ff: 0x40319420,\n\t// Block 0x8, offset 0x200\n\t0x0200: 0x40321220, 0x0201: 0x40321a20, 0x0202: 0x40322220, 0x0203: 0x40322a20,\n\t0x0204: 0xe0000ad5, 0x0205: 0xe0000ad1, 0x0206: 0xe0000acd, 0x0207: 0xf0000a0a,\n\t0x0208: 0xf000040a, 0x0209: 0xf0000404, 0x020a: 0xf0000a0a, 0x020b: 0xf000040a,\n\t0x020c: 0xf0000404, 0x020d: 0xe0000947, 0x020e: 0xe0000944, 0x020f: 0xe0000c3d,\n\t0x0210: 0xe0000c3a, 0x0211: 0xe0000dcc, 0x0212: 0xe0000dc9, 0x0213: 0xe0000ff3,\n\t0x0214: 0xe0000ff0, 0x0215: 0xe000101e, 0x0216: 0xe000101a, 0x0217: 0xe0001006,\n\t0x0218: 0xe0001002, 0x0219: 0xe0001016, 0x021a: 0xe0001012, 0x021b: 0xe000100e,\n\t0x021c: 0xe000100a, 0x021d: 0x402cae20, 0x021e: 0xe0000962, 0x021f: 0xe000095e,\n\t0x0220: 0xe0000976, 0x0221: 0xe0000972, 0x0222: 0xe00009f4, 0x0223: 0xe00009ef,\n\t0x0224: 0x002d3a88, 0x0225: 0x402d3a20, 0x0226: 0xe0000bbe, 0x0227: 0xe0000bbb,\n\t0x0228: 0xe0000c99, 0x0229: 0xe0000c96, 0x022a: 0xe0000e20, 0x022b: 0xe0000e1d,\n\t0x022c: 0xe0000e27, 0x022d: 0xe0000e23, 0x022e: 0xe0001162, 0x022f: 0xe000115f,\n\t0x0230: 0xe0000c8d, 0x0231: 0xf0000a0a, 0x0232: 0xf000040a, 0x0233: 0xf0000404,\n\t0x0234: 0xe0000bac, 0x0235: 0xe0000ba9, 0x0236: 0x002d7888, 0x0237: 0x00319488,\n\t0x0238: 0xe0000d57, 0x0239: 0xe0000d54, 0x023a: 0xe0000954, 0x023b: 0xe0000950,\n\t0x023c: 0xe00009ea, 0x023d: 0xe00009e5, 0x023e: 0xe0000e19, 0x023f: 0xe0000e15,\n\t// Block 0x9, offset 0x240\n\t0x0240: 0xe000098f, 0x0241: 0xe000098c, 0x0242: 0xe0000995, 0x0243: 0xe0000992,\n\t0x0244: 0xe0000b62, 0x0245: 0xe0000b5f, 0x0246: 0xe0000b68, 0x0247: 0xe0000b65,\n\t0x0248: 0xe0000c6c, 0x0249: 0xe0000c69, 0x024a: 0xe0000c72, 0x024b: 0xe0000c6f,\n\t0x024c: 0xe0000e4a, 0x024d: 0xe0000e47, 0x024e: 0xe0000e50, 0x024f: 0xe0000e4d,\n\t0x0250: 0xe0000ee8, 0x0251: 0xe0000ee5, 0x0252: 0xe0000eee, 0x0253: 0xe0000eeb,\n\t0x0254: 0xe0001053, 0x0255: 0xe0001050, 0x0256: 0xe0001059, 0x0257: 0xe0001056,\n\t0x0258: 0xe0000f61, 0x0259: 0xe0000f5e, 0x025a: 0xe0000fa5, 0x025b: 0xe0000fa2,\n\t0x025c: 0x00312288, 0x025d: 0x40312220, 0x025e: 0xe0000bf4, 0x025f: 0xe0000bf1,\n\t0x0260: 0x002ebc88, 0x0261: 0x402c8c20, 0x0262: 0x002f2288, 0x0263: 0x402f2220,\n\t0x0264: 0x00314088, 0x0265: 0x40314020, 0x0266: 0xe000096f, 0x0267: 0xe000096c,\n\t0x0268: 0xe0000b32, 0x0269: 0xe0000b2f, 0x026a: 0xe0000dd9, 0x026b: 0xe0000dd5,\n\t0x026c: 0xe0000dfd, 0x026d: 0xe0000df9, 0x026e: 0xe0000e04, 0x026f: 0xe0000e01,\n\t0x0270: 0xe0000e0b, 0x0271: 0xe0000e07, 0x0272: 0xe0001129, 0x0273: 0xe0001126,\n\t0x0274: 0x402e5e20, 0x0275: 0x402ed020, 0x0276: 0x40305a20, 0x0277: 0x402dd420,\n\t0x0278: 0xe0000abf, 0x0279: 0xe0000ec4, 0x027a: 0x002be888, 0x027b: 0x002c4488,\n\t0x027c: 0x402c4420, 0x027d: 0x002e3888, 0x027e: 0x00303e88, 0x027f: 0x402ffc20,\n\t// Block 0xa, offset 0x280\n\t0x0280: 0x40315820, 0x0281: 0x0031d488, 0x0282: 0x4031d420, 0x0283: 0x002c1a88,\n\t0x0284: 0x00307c88, 0x0285: 0x0030da88, 0x0286: 0x002ca288, 0x0287: 0x402ca220,\n\t0x0288: 0x002dde88, 0x0289: 0x402dde20, 0x028a: 0x002f6a88, 0x028b: 0x402f6a20,\n\t0x028c: 0x002f8e88, 0x028d: 0x402f8e20, 0x028e: 0x00311088, 0x028f: 0x40311020,\n\t0x0290: 0x402bf020, 0x0291: 0x402bf820, 0x0292: 0x402c0220, 0x0293: 0x402c2a20,\n\t0x0294: 0x402efa20, 0x0295: 0x402c5620, 0x0296: 0x402c7220, 0x0297: 0x402c7a20,\n\t0x0298: 0x402ccc20, 0x0299: 0x402cb820, 0x029a: 0x402cd420, 0x029b: 0x402cc220,\n\t0x029c: 0x402cdc20, 0x029d: 0x402ce820, 0x029e: 0x402cf020, 0x029f: 0x402dee20,\n\t0x02a0: 0x402d4420, 0x02a1: 0x402d2a20, 0x02a2: 0x402d3220, 0x02a3: 0x402d5820,\n\t0x02a4: 0x402d0020, 0x02a5: 0x40308820, 0x02a6: 0x402d8020, 0x02a7: 0x402d8e20,\n\t0x02a8: 0x402db620, 0x02a9: 0x402dc220, 0x02aa: 0x402daa20, 0x02ab: 0x402e4220,\n\t0x02ac: 0x402e4a20, 0x02ad: 0x402e5420, 0x02ae: 0x402e6820, 0x02af: 0x4030a020,\n\t0x02b0: 0x4030ac20, 0x02b1: 0x402e9020, 0x02b2: 0x402eb420, 0x02b3: 0x402ec820,\n\t0x02b4: 0x402ea620, 0x02b5: 0x402f1020, 0x02b6: 0x402eee20, 0x02b7: 0x402f1a20,\n\t0x02b8: 0x402f4c20, 0x02b9: 0x402f9820, 0x02ba: 0x402fa220, 0x02bb: 0x402fac20,\n\t0x02bc: 0x402fb620, 0x02bd: 0x402fbe20, 0x02be: 0x402fc620, 0x02bf: 0x402fd020,\n\t// Block 0xb, offset 0x2c0\n\t0x02c0: 0x402f8220, 0x02c1: 0x402fd820, 0x02c2: 0x402ff420, 0x02c3: 0x40300820,\n\t0x02c4: 0x402df620, 0x02c5: 0x40301a20, 0x02c6: 0x40302420, 0x02c7: 0x40306420,\n\t0x02c8: 0x40305220, 0x02c9: 0x40307c20, 0x02ca: 0x4030b420, 0x02cb: 0x4030cc20,\n\t0x02cc: 0x4030da20, 0x02cd: 0x4030ee20, 0x02ce: 0x402e7a20, 0x02cf: 0x40310820,\n\t0x02d0: 0x40314820, 0x02d1: 0x40315020, 0x02d2: 0x40316420, 0x02d3: 0x40318020,\n\t0x02d4: 0x4031cc20, 0x02d5: 0x4031e820, 0x02d6: 0x40320a20, 0x02d7: 0x40323220,\n\t0x02d8: 0x40323a20, 0x02d9: 0x402c1220, 0x02da: 0x402cf820, 0x02db: 0x402d4c20,\n\t0x02dc: 0x402d7020, 0x02dd: 0x402de620, 0x02de: 0x402e1a20, 0x02df: 0x402e2a20,\n\t0x02e0: 0x402f6220, 0x02e1: 0x4031fa20, 0x02e2: 0x40320220, 0x02e3: 0xe0000aca,\n\t0x02e4: 0xe0000adc, 0x02e5: 0xe0000ad9, 0x02e6: 0xe0000fcc, 0x02e7: 0xe0000fcf,\n\t0x02e8: 0xe0000fba, 0x02e9: 0xe0000ba1, 0x02ea: 0xe0000d11, 0x02eb: 0xe0000d18,\n\t0x02ec: 0x40324220, 0x02ed: 0x40324a20, 0x02ee: 0x40309020, 0x02ef: 0x40309820,\n\t0x02f0: 0x002d6894, 0x02f1: 0x002d8094, 0x02f2: 0x002dcc94, 0x02f3: 0x002f7a94,\n\t0x02f4: 0x002f9894, 0x02f5: 0x002fac94, 0x02f6: 0x002fd894, 0x02f7: 0x0030e294,\n\t0x02f8: 0x00310094, 0x02f9: 0x40064020, 0x02fa: 0x40064420, 0x02fb: 0x402d9620,\n\t0x02fc: 0x4031de20, 0x02fd: 0x402d9820, 0x02fe: 0x4031e220, 0x02ff: 0x4031f020,\n\t// Block 0xc, offset 0x300\n\t0x0300: 0x4031dc20, 0x0301: 0x4031f220, 0x0302: 0x40064620, 0x0303: 0x40064820,\n\t0x0304: 0x40064a20, 0x0305: 0x40064c20, 0x0306: 0x40064e20, 0x0307: 0x40065020,\n\t0x0308: 0x40065220, 0x0309: 0x40065420, 0x030a: 0x40065620, 0x030b: 0x40065820,\n\t0x030c: 0x40065a20, 0x030d: 0x40065c20, 0x030e: 0x40065e20, 0x030f: 0x40066020,\n\t0x0310: 0x4027b220, 0x0311: 0x4027b420, 0x0312: 0x40066220, 0x0313: 0x40066420,\n\t0x0314: 0x40066620, 0x0315: 0x40066820, 0x0316: 0x40066a20, 0x0317: 0x40066c20,\n\t0x0318: 0x40062820, 0x0319: 0x40062a20, 0x031a: 0x40062e20, 0x031b: 0x40063420,\n\t0x031c: 0x40062220, 0x031d: 0x40063020, 0x031e: 0x40066e20, 0x031f: 0x40067020,\n\t0x0320: 0x002d5894, 0x0321: 0x002e2294, 0x0322: 0x002fe694, 0x0323: 0x0030f694,\n\t0x0324: 0x0031e894, 0x0325: 0x40067220, 0x0326: 0x40067420, 0x0327: 0x40067620,\n\t0x0328: 0x40067820, 0x0329: 0x40067a20, 0x032a: 0x40067c20, 0x032b: 0x40067e20,\n\t0x032c: 0x40068020, 0x032d: 0x40068220, 0x032e: 0x4031e020, 0x032f: 0x40068420,\n\t0x0330: 0x40068620, 0x0331: 0x40068820, 0x0332: 0x40068a20, 0x0333: 0x40068c20,\n\t0x0334: 0x40068e20, 0x0335: 0x40069020, 0x0336: 0x40069220, 0x0337: 0x40069420,\n\t0x0338: 0x40069620, 0x0339: 0x40069820, 0x033a: 0x40069a20, 0x033b: 0x40069c20,\n\t0x033c: 0x40069e20, 0x033d: 0x4006a020, 0x033e: 0x4006a220, 0x033f: 0x4006a420,\n\t// Block 0xd, offset 0x340\n\t0x0340: 0xae603502, 0x0341: 0xae603202, 0x0342: 0xae603c02, 0x0343: 0xae604e02,\n\t0x0344: 0xae605b02, 0x0345: 0xae606302, 0x0346: 0xae603702, 0x0347: 0xae605202,\n\t0x0348: 0xae604702, 0x0349: 0xae606402, 0x034a: 0xae604302, 0x034b: 0xae604d02,\n\t0x034c: 0xae604102, 0x034d: 0xae605f02, 0x034e: 0xae605f02, 0x034f: 0xae606502,\n\t0x0350: 0xae606602, 0x0351: 0xae606702, 0x0352: 0xae605f02, 0x0353: 0xae602202,\n\t0x0354: 0xae602a02, 0x0355: 0xae805f02, 0x0356: 0xadc06002, 0x0357: 0xadc06002,\n\t0x0358: 0xadc06002, 0x0359: 0xadc06002, 0x035a: 0xae805f02, 0x035b: 0xad806802,\n\t0x035c: 0xadc06002, 0x035d: 0xadc06002, 0x035e: 0xadc06002, 0x035f: 0xadc06002,\n\t0x0360: 0xadc06002, 0x0361: 0xaca06e02, 0x0362: 0xaca06f02, 0x0363: 0xadc07002,\n\t0x0364: 0xadc07502, 0x0365: 0xadc07602, 0x0366: 0xadc07702, 0x0367: 0xaca05602,\n\t0x0368: 0xaca05902, 0x0369: 0xadc06002, 0x036a: 0xadc06002, 0x036b: 0xadc06002,\n\t0x036c: 0xadc06002, 0x036d: 0xadc07802, 0x036e: 0xadc07902, 0x036f: 0xadc06002,\n\t0x0370: 0xadc07a02, 0x0371: 0xadc07b02, 0x0372: 0xadc02102, 0x0373: 0xadc06002,\n\t0x0374: 0xa0107c02, 0x0375: 0xa0107d02, 0x0376: 0xa0106102, 0x0377: 0xa0106102,\n\t0x0378: 0xa0105402, 0x0379: 0xadc07e02, 0x037a: 0xadc06002, 0x037b: 0xadc06002,\n\t0x037c: 0xadc06002, 0x037d: 0xae605f02, 0x037e: 0xae605f02, 0x037f: 0xae605f02,\n\t// Block 0xe, offset 0x380\n\t0x0380: 0xae603502, 0x0381: 0xae603202, 0x0382: 0xae604502, 0x0383: 0xae602202,\n\t0x0384: 0xe0000000, 0x0385: 0xaf007f02, 0x0386: 0xae605f02, 0x0387: 0xadc06002,\n\t0x0388: 0xadc06002, 0x0389: 0xadc06002, 0x038a: 0xae605f02, 0x038b: 0xae605f02,\n\t0x038c: 0xae605f02, 0x038d: 0xadc06002, 0x038e: 0xadc06002, 0x038f: 0xa0000000,\n\t0x0390: 0xae605f02, 0x0391: 0xae605f02, 0x0392: 0xae605f02, 0x0393: 0xadc06002,\n\t0x0394: 0xadc06002, 0x0395: 0xadc06002, 0x0396: 0xadc06002, 0x0397: 0xae605f02,\n\t0x0398: 0xae808002, 0x0399: 0xadc06002, 0x039a: 0xadc06002, 0x039b: 0xae605f02,\n\t0x039c: 0xae906002, 0x039d: 0xaea05f02, 0x039e: 0xaea05f02, 0x039f: 0xae906002,\n\t0x03a0: 0xaea08102, 0x03a1: 0xaea08202, 0x03a2: 0xae906002, 0x03a3: 0x84e615ef,\n\t0x03a4: 0x84e6164c, 0x03a5: 0x84e616cd, 0x03a6: 0x84e61771, 0x03a7: 0x84e61836,\n\t0x03a8: 0x84e6161d, 0x03a9: 0x84e61631, 0x03aa: 0x84e616b4, 0x03ab: 0x84e61741,\n\t0x03ac: 0x84e617bd, 0x03ad: 0x84e61816, 0x03ae: 0x84e6185f, 0x03af: 0x84e6187b,\n\t0x03b0: 0x00326688, 0x03b1: 0x40326620, 0x03b2: 0x0032a688, 0x03b3: 0x4032a620,\n\t0x03b4: 0x40064020, 0x03b5: 0x40064220, 0x03b6: 0x00326088, 0x03b7: 0x40326020,\n\t0x03ba: 0x00326c84, 0x03bb: 0x40329220,\n\t0x03bc: 0x40329020, 0x03bd: 0x40329420, 0x03be: 0x40026220,\n\t// Block 0xf, offset 0x3c0\n\t0x03c4: 0x40062020, 0x03c5: 0xe00000ab, 0x03c6: 0xe00011f0, 0x03c7: 0x40030620,\n\t0x03c8: 0xe0001249, 0x03c9: 0xe00012dd, 0x03ca: 0xe000133a,\n\t0x03cc: 0xe000139b, 0x03ce: 0xe00013dd, 0x03cf: 0xe0001492,\n\t0x03d0: 0xe0001352, 0x03d1: 0x00325288, 0x03d2: 0x00325488, 0x03d3: 0x00325688,\n\t0x03d4: 0x00325a88, 0x03d5: 0x00325c88, 0x03d6: 0x00326488, 0x03d7: 0x00326888,\n\t0x03d8: 0x00326a88, 0x03d9: 0x00326c88, 0x03da: 0x00327088, 0x03db: 0x00327288,\n\t0x03dc: 0x00327688, 0x03dd: 0x00327888, 0x03de: 0x00327a88, 0x03df: 0x00327c88,\n\t0x03e0: 0x00327e88, 0x03e1: 0x00328888, 0x03e3: 0x00328e88,\n\t0x03e4: 0x00329688, 0x03e5: 0x00329888, 0x03e6: 0x00329a88, 0x03e7: 0x00329c88,\n\t0x03e8: 0x00329e88, 0x03e9: 0x0032a288, 0x03ea: 0xe000134f, 0x03eb: 0xe00013f2,\n\t0x03ec: 0xe00011ed, 0x03ed: 0xe0001246, 0x03ee: 0xe00012da, 0x03ef: 0xe0001337,\n\t0x03f0: 0xe00013f5, 0x03f1: 0x40325220, 0x03f2: 0x40325420, 0x03f3: 0x40325620,\n\t0x03f4: 0x40325a20, 0x03f5: 0x40325c20, 0x03f6: 0x40326420, 0x03f7: 0x40326820,\n\t0x03f8: 0x40326a20, 0x03f9: 0x40326c20, 0x03fa: 0x40327020, 0x03fb: 0x40327220,\n\t0x03fc: 0x40327620, 0x03fd: 0x40327820, 0x03fe: 0x40327a20, 0x03ff: 0x40327c20,\n\t// Block 0x10, offset 0x400\n\t0x0400: 0x40327e20, 0x0401: 0x40328820, 0x0402: 0x00328e99, 0x0403: 0x40328e20,\n\t0x0404: 0x40329620, 0x0405: 0x40329820, 0x0406: 0x40329a20, 0x0407: 0x40329c20,\n\t0x0408: 0x40329e20, 0x0409: 0x4032a220, 0x040a: 0xe000134c, 0x040b: 0xe00013ef,\n\t0x040c: 0xe0001398, 0x040d: 0xe00013da, 0x040e: 0xe000148f, 0x040f: 0xe0001368,\n\t0x0410: 0x00325484, 0x0411: 0x00326a84, 0x0412: 0x0032988a, 0x0413: 0xf000020a,\n\t0x0414: 0xf000020a, 0x0415: 0x00329a84, 0x0416: 0x00327e84, 0x0417: 0xe0001364,\n\t0x0418: 0x00328688, 0x0419: 0x40328620, 0x041a: 0x00326288, 0x041b: 0x40326220,\n\t0x041c: 0x00325e88, 0x041d: 0x40325e20, 0x041e: 0x00328488, 0x041f: 0x40328420,\n\t0x0420: 0x0032a488, 0x0421: 0x4032a420, 0x0422: 0x0032e888, 0x0423: 0x4032e820,\n\t0x0424: 0x0032f288, 0x0425: 0x4032f220, 0x0426: 0x0032f488, 0x0427: 0x4032f420,\n\t0x0428: 0x0032fa88, 0x0429: 0x4032fa20, 0x042a: 0x00330888, 0x042b: 0x40330820,\n\t0x042c: 0x00330e88, 0x042d: 0x40330e20, 0x042e: 0x00331688, 0x042f: 0x40331620,\n\t0x0430: 0x00327084, 0x0431: 0x00328884, 0x0432: 0x00328e84, 0x0433: 0x40326e20,\n\t0x0434: 0x00326a8a, 0x0435: 0x00325c84, 0x0436: 0x40092e20, 0x0437: 0x0032a888,\n\t0x0438: 0x4032a820, 0x0439: 0x00328e8a, 0x043a: 0x00328288, 0x043b: 0x40328220,\n\t0x043c: 0x40328c20, 0x043d: 0x00329288, 0x043e: 0x00329088, 0x043f: 0x00329488,\n\t// Block 0x11, offset 0x440\n\t0x0440: 0xe00014bd, 0x0441: 0xe00014c3, 0x0442: 0x00339688, 0x0443: 0x0033a288,\n\t0x0444: 0x0033c288, 0x0445: 0x0033fc88, 0x0446: 0xc02a0071, 0x0447: 0x00343688,\n\t0x0448: 0x00344688, 0x0449: 0x00349a88, 0x044a: 0x0034e488, 0x044b: 0x00356288,\n\t0x044c: 0x00356a88, 0x044d: 0xe00014cf, 0x044e: 0x00357a88, 0x044f: 0x00365488,\n\t0x0450: 0xc0090041, 0x0451: 0x00335288, 0x0452: 0x00335a88, 0x0453: 0xc0130092,\n\t0x0454: 0x00338a88, 0x0455: 0xc01800d1, 0x0456: 0xc01c0071, 0x0457: 0xc0200071,\n\t0x0458: 0xc0250041, 0x0459: 0x00343e88, 0x045a: 0xc0370092, 0x045b: 0x00348488,\n\t0x045c: 0x0034a888, 0x045d: 0x0034ba88, 0x045e: 0xc02e0071, 0x045f: 0x00350e88,\n\t0x0460: 0x00352888, 0x0461: 0x00353a88, 0x0462: 0x00354c88, 0x0463: 0xc03e00f1,\n\t0x0464: 0x0035ac88, 0x0465: 0x0035b488, 0x0466: 0x00360288, 0x0467: 0xc0440071,\n\t0x0468: 0x00365c88, 0x0469: 0x00366688, 0x046a: 0x00367488, 0x046b: 0xc0480071,\n\t0x046c: 0x00368e88, 0x046d: 0xc04c0071, 0x046e: 0x0036b888, 0x046f: 0x0036c488,\n\t0x0470: 0xc0060041, 0x0471: 0x40335220, 0x0472: 0x40335a20, 0x0473: 0xc0100092,\n\t0x0474: 0x40338a20, 0x0475: 0xc01600d1, 0x0476: 0xc01a0071, 0x0477: 0xc01e0071,\n\t0x0478: 0xc0220041, 0x0479: 0x40343e20, 0x047a: 0xc0340092, 0x047b: 0x40348420,\n\t0x047c: 0x4034a820, 0x047d: 0x4034ba20, 0x047e: 0xc02c0071, 0x047f: 0x40350e20,\n\t// Block 0x12, offset 0x480\n\t0x0480: 0x40352820, 0x0481: 0x40353a20, 0x0482: 0x40354c20, 0x0483: 0xc03a00f1,\n\t0x0484: 0x4035ac20, 0x0485: 0x4035b420, 0x0486: 0x40360220, 0x0487: 0xc0420071,\n\t0x0488: 0x40365c20, 0x0489: 0x40366620, 0x048a: 0x40367420, 0x048b: 0xc0460071,\n\t0x048c: 0x40368e20, 0x048d: 0xc04a0071, 0x048e: 0x4036b820, 0x048f: 0x4036c420,\n\t0x0490: 0xe00014ba, 0x0491: 0xe00014c0, 0x0492: 0x40339620, 0x0493: 0x4033a220,\n\t0x0494: 0x4033c220, 0x0495: 0x4033fc20, 0x0496: 0xc0280071, 0x0497: 0x40343620,\n\t0x0498: 0x40344620, 0x0499: 0x40349a20, 0x049a: 0x4034e420, 0x049b: 0x40356220,\n\t0x049c: 0x40356a20, 0x049d: 0xe00014cc, 0x049e: 0x40357a20, 0x049f: 0x40365420,\n\t0x04a0: 0x0035e088, 0x04a1: 0x4035e020, 0x04a2: 0x00369e88, 0x04a3: 0x40369e20,\n\t0x04a4: 0x0036ce88, 0x04a5: 0x4036ce20, 0x04a6: 0x0036d688, 0x04a7: 0x4036d620,\n\t0x04a8: 0x0036ea88, 0x04a9: 0x4036ea20, 0x04aa: 0x0036e088, 0x04ab: 0x4036e020,\n\t0x04ac: 0x0036f488, 0x04ad: 0x4036f420, 0x04ae: 0x0036fc88, 0x04af: 0x4036fc20,\n\t0x04b0: 0x00370488, 0x04b1: 0x40370420, 0x04b2: 0x00370c88, 0x04b3: 0x40370c20,\n\t0x04b4: 0xc0500131, 0x04b5: 0xc04e0131, 0x04b6: 0x00371c88, 0x04b7: 0x40371c20,\n\t0x04b8: 0x0035a488, 0x04b9: 0x4035a420, 0x04ba: 0x0035fa88, 0x04bb: 0x4035fa20,\n\t0x04bc: 0x0035f288, 0x04bd: 0x4035f220, 0x04be: 0x0035e888, 0x04bf: 0x4035e820,\n\t// Block 0x13, offset 0x4c0\n\t0x04c0: 0x00352088, 0x04c1: 0x40352020, 0x04c2: 0x40070620, 0x04c3: 0xae608302,\n\t0x04c4: 0xae605f02, 0x04c5: 0xae602a02, 0x04c6: 0xae602202, 0x04c7: 0xae605f02,\n\t0x04c8: 0xa0000000, 0x04c9: 0xa0000000, 0x04ca: 0x00341c88, 0x04cb: 0x40341c20,\n\t0x04cc: 0x00369688, 0x04cd: 0x40369620, 0x04ce: 0x00353088, 0x04cf: 0x40353020,\n\t0x04d0: 0xe00014b7, 0x04d1: 0xe00014b4, 0x04d2: 0x00336a88, 0x04d3: 0x40336a20,\n\t0x04d4: 0x00337a88, 0x04d5: 0x40337a20, 0x04d6: 0x0033dc88, 0x04d7: 0x4033dc20,\n\t0x04d8: 0x0033aa88, 0x04d9: 0x4033aa20, 0x04da: 0x00345888, 0x04db: 0x40345820,\n\t0x04dc: 0x00347888, 0x04dd: 0x40347820, 0x04de: 0x00347088, 0x04df: 0x40347020,\n\t0x04e0: 0x00346888, 0x04e1: 0x40346820, 0x04e2: 0x0034ca88, 0x04e3: 0x4034ca20,\n\t0x04e4: 0x0034dc88, 0x04e5: 0x4034dc20, 0x04e6: 0x00351888, 0x04e7: 0x40351820,\n\t0x04e8: 0x00372688, 0x04e9: 0x40372620, 0x04ea: 0x00354488, 0x04eb: 0x40354420,\n\t0x04ec: 0x00355888, 0x04ed: 0x40355820, 0x04ee: 0x00359288, 0x04ef: 0x40359220,\n\t0x04f0: 0x00359a88, 0x04f1: 0x40359a20, 0x04f2: 0x0035cc88, 0x04f3: 0x4035cc20,\n\t0x04f4: 0x00360e88, 0x04f5: 0x40360e20, 0x04f6: 0x00362a88, 0x04f7: 0x40362a20,\n\t0x04f8: 0x00363a88, 0x04f9: 0x40363a20, 0x04fa: 0x0035d488, 0x04fb: 0x4035d420,\n\t0x04fc: 0x00364488, 0x04fd: 0x40364420, 0x04fe: 0x00364c88, 0x04ff: 0x40364c20,\n\t// Block 0x14, offset 0x500\n\t0x0500: 0x00373088, 0x0501: 0xe00014c9, 0x0502: 0xe00014c6, 0x0503: 0x00346088,\n\t0x0504: 0x40346020, 0x0505: 0x00348e88, 0x0506: 0x40348e20, 0x0507: 0x0034d288,\n\t0x0508: 0x4034d220, 0x0509: 0x0034c288, 0x050a: 0x4034c220, 0x050b: 0x00363288,\n\t0x050c: 0x40363220, 0x050d: 0x0034b088, 0x050e: 0x4034b020, 0x050f: 0x40373020,\n\t0x0510: 0x00332a88, 0x0511: 0x40332a20, 0x0512: 0x00333288, 0x0513: 0x40333220,\n\t0x0514: 0x00334a88, 0x0515: 0x40334a20, 0x0516: 0x0033ba88, 0x0517: 0x4033ba20,\n\t0x0518: 0xc00e0071, 0x0519: 0xc00c0071, 0x051a: 0x00334288, 0x051b: 0x40334220,\n\t0x051c: 0x0033d488, 0x051d: 0x4033d420, 0x051e: 0x0033f288, 0x051f: 0x4033f220,\n\t0x0520: 0x00340688, 0x0521: 0x40340620, 0x0522: 0xe00014d5, 0x0523: 0xe00014d2,\n\t0x0524: 0x00342488, 0x0525: 0x40342420, 0x0526: 0x0034f688, 0x0527: 0x4034f620,\n\t0x0528: 0xc0320071, 0x0529: 0xc0300071, 0x052a: 0x00350688, 0x052b: 0x40350620,\n\t0x052c: 0x0036b088, 0x052d: 0x4036b020, 0x052e: 0xe00014de, 0x052f: 0xe00014db,\n\t0x0530: 0x00358288, 0x0531: 0x40358220, 0x0532: 0x00358a88, 0x0533: 0x40358a20,\n\t0x0534: 0x00362288, 0x0535: 0x40362220, 0x0536: 0x00338288, 0x0537: 0x40338220,\n\t0x0538: 0x00368688, 0x0539: 0x40368620, 0x053a: 0x00337288, 0x053b: 0x40337220,\n\t0x053c: 0x0035bc88, 0x053d: 0x4035bc20, 0x053e: 0x0035c488, 0x053f: 0x4035c420,\n\t// Block 0x15, offset 0x540\n\t0x0540: 0x00339288, 0x0541: 0x40339220, 0x0542: 0x0033a088, 0x0543: 0x4033a020,\n\t0x0544: 0x0033ee88, 0x0545: 0x4033ee20, 0x0546: 0x00341088, 0x0547: 0x40341020,\n\t0x0548: 0x0034a488, 0x0549: 0x4034a420, 0x054a: 0x0034ec88, 0x054b: 0x4034ec20,\n\t0x054c: 0x00354288, 0x054d: 0x40354220, 0x054e: 0x00355688, 0x054f: 0x40355620,\n\t0x0550: 0x0033f088, 0x0551: 0x4033f020, 0x0552: 0x00349688, 0x0553: 0x40349620,\n\t0x0554: 0x0034a688, 0x0555: 0x4034a620, 0x0556: 0x00353888, 0x0557: 0x40353820,\n\t0x0558: 0x0036cc88, 0x0559: 0x4036cc20, 0x055a: 0x00348288, 0x055b: 0x40348220,\n\t0x055c: 0x00372e88, 0x055d: 0x40372e20, 0x055e: 0x00348088, 0x055f: 0x40348020,\n\t0x0560: 0x00349888, 0x0561: 0x40349820, 0x0562: 0x0034da88, 0x0563: 0x4034da20,\n\t0x0564: 0x00351688, 0x0565: 0x40351620, 0x0566: 0x0035dc88, 0x0567: 0x4035dc20,\n\t0x0571: 0x00384288, 0x0572: 0x00384488, 0x0573: 0x00384688,\n\t0x0574: 0x00384888, 0x0575: 0x00384a88, 0x0576: 0x00384c88, 0x0577: 0x00384e88,\n\t0x0578: 0x00385088, 0x0579: 0x00385288, 0x057a: 0x00385488, 0x057b: 0x00385688,\n\t0x057c: 0x00385888, 0x057d: 0x00385a88, 0x057e: 0x00385c88, 0x057f: 0x00385e88,\n\t// Block 0x16, offset 0x580\n\t0x0580: 0x00386088, 0x0581: 0x00386288, 0x0582: 0x00386488, 0x0583: 0x00386688,\n\t0x0584: 0x00386888, 0x0585: 0x00386a88, 0x0586: 0x00386c88, 0x0587: 0x00386e88,\n\t0x0588: 0x00387088, 0x0589: 0x00387288, 0x058a: 0x00387488, 0x058b: 0x00387688,\n\t0x058c: 0x00387888, 0x058d: 0x00387a88, 0x058e: 0x00387c88, 0x058f: 0x00387e88,\n\t0x0590: 0x00388088, 0x0591: 0x00388288, 0x0592: 0x00388488, 0x0593: 0x00388688,\n\t0x0594: 0x00388888, 0x0595: 0x00388a88, 0x0596: 0x00388c88,\n\t0x0599: 0x40388e20, 0x059a: 0x40054e20, 0x059b: 0x40055020,\n\t0x059c: 0x4002be20, 0x059d: 0x40024620, 0x059e: 0x4002ca20, 0x059f: 0x40055220,\n\t0x05a1: 0x40384220, 0x05a2: 0x40384420, 0x05a3: 0x40384620,\n\t0x05a4: 0x40384820, 0x05a5: 0x40384a20, 0x05a6: 0x40384c20, 0x05a7: 0x40384e20,\n\t0x05a8: 0x40385020, 0x05a9: 0x40385220, 0x05aa: 0x40385420, 0x05ab: 0x40385620,\n\t0x05ac: 0x40385820, 0x05ad: 0x40385a20, 0x05ae: 0x40385c20, 0x05af: 0x40385e20,\n\t0x05b0: 0x40386020, 0x05b1: 0x40386220, 0x05b2: 0x40386420, 0x05b3: 0x40386620,\n\t0x05b4: 0x40386820, 0x05b5: 0x40386a20, 0x05b6: 0x40386c20, 0x05b7: 0x40386e20,\n\t0x05b8: 0x40387020, 0x05b9: 0x40387220, 0x05ba: 0x40387420, 0x05bb: 0x40387620,\n\t0x05bc: 0x40387820, 0x05bd: 0x40387a20, 0x05be: 0x40387c20, 0x05bf: 0x40387e20,\n\t// Block 0x17, offset 0x5c0\n\t0x05c0: 0x40388020, 0x05c1: 0x40388220, 0x05c2: 0x40388420, 0x05c3: 0x40388620,\n\t0x05c4: 0x40388820, 0x05c5: 0x40388a20, 0x05c6: 0x40388c20, 0x05c7: 0xf0000404,\n\t0x05c9: 0x40026e20, 0x05ca: 0x40021c20,\n\t0x05cf: 0x4027e420,\n\t0x05d1: 0xadc00000, 0x05d2: 0xae600000, 0x05d3: 0xae600000,\n\t0x05d4: 0xae600000, 0x05d5: 0xae600000, 0x05d6: 0xadc00000, 0x05d7: 0xae600000,\n\t0x05d8: 0xae600000, 0x05d9: 0xae600000, 0x05da: 0xade00000, 0x05db: 0xadc00000,\n\t0x05dc: 0xae600000, 0x05dd: 0xae600000, 0x05de: 0xae600000, 0x05df: 0xae600000,\n\t0x05e0: 0xae600000, 0x05e1: 0xae600000, 0x05e2: 0xadc00000, 0x05e3: 0xadc00000,\n\t0x05e4: 0xadc00000, 0x05e5: 0xadc00000, 0x05e6: 0xadc00000, 0x05e7: 0xadc00000,\n\t0x05e8: 0xae600000, 0x05e9: 0xae600000, 0x05ea: 0xadc00000, 0x05eb: 0xae600000,\n\t0x05ec: 0xae600000, 0x05ed: 0xade00000, 0x05ee: 0xae400000, 0x05ef: 0xae600000,\n\t0x05f0: 0xa0a08502, 0x05f1: 0xa0b08602, 0x05f2: 0xa0c08702, 0x05f3: 0xa0d08802,\n\t0x05f4: 0xa0e08902, 0x05f5: 0xa0f08a02, 0x05f6: 0xa1008b02, 0x05f7: 0xa1108c02,\n\t0x05f8: 0xa1208d02, 0x05f9: 0xa1308e02, 0x05fa: 0xa1308e02, 0x05fb: 0xa1408f02,\n\t0x05fc: 0xa1509202, 0x05fd: 0xa1600000, 0x05fe: 0x40055420, 0x05ff: 0xa1709502,\n\t// Block 0x18, offset 0x600\n\t0x0600: 0x40055620, 0x0601: 0xa1809102, 0x0602: 0xa1909002, 0x0603: 0x40055820,\n\t0x0604: 0xae600000, 0x0605: 0xadc00000, 0x0606: 0x40055a20, 0x0607: 0xa1208d02,\n\t0x0610: 0x40389020, 0x0611: 0x40389220, 0x0612: 0x40389420, 0x0613: 0x40389620,\n\t0x0614: 0x40389820, 0x0615: 0x40389a20, 0x0616: 0x40389c20, 0x0617: 0x40389e20,\n\t0x0618: 0x4038a020, 0x0619: 0x4038a220, 0x061a: 0x0038a499, 0x061b: 0x4038a420,\n\t0x061c: 0x4038a620, 0x061d: 0x0038a899, 0x061e: 0x4038a820, 0x061f: 0x0038aa99,\n\t0x0620: 0x4038aa20, 0x0621: 0x4038ac20, 0x0622: 0x4038ae20, 0x0623: 0x0038b099,\n\t0x0624: 0x4038b020, 0x0625: 0x0038b299, 0x0626: 0x4038b220, 0x0627: 0x4038b420,\n\t0x0628: 0x4038b620, 0x0629: 0x4038b820, 0x062a: 0x4038ba20,\n\t0x0630: 0xe00014ff, 0x0631: 0xe0001502, 0x0632: 0xe0001511, 0x0633: 0x40055c20,\n\t0x0634: 0x40055e20,\n\t// Block 0x19, offset 0x640\n\t0x0640: 0xa0000000, 0x0641: 0xa0000000, 0x0642: 0xa0000000, 0x0643: 0xa0000000,\n\t0x0644: 0xa0000000, 0x0646: 0x40096620, 0x0647: 0x40096a20,\n\t0x0648: 0x40070820, 0x0649: 0x4004f220, 0x064a: 0x4004f620, 0x064b: 0x4027e620,\n\t0x064c: 0x40024820, 0x064d: 0x40024a20, 0x064e: 0x40070e20, 0x064f: 0x40071020,\n\t0x0650: 0xae600000, 0x0651: 0xae600000, 0x0652: 0xae600000, 0x0653: 0xae600000,\n\t0x0654: 0xae600000, 0x0655: 0xae600000, 0x0656: 0xae600000, 0x0657: 0xae600000,\n\t0x0658: 0xa1e00000, 0x0659: 0xa1f00000, 0x065a: 0xa2000000, 0x065b: 0x40026420,\n\t0x065e: 0x40027020, 0x065f: 0x4002cc20,\n\t0x0660: 0x403aa220, 0x0661: 0x40391c20, 0x0662: 0x40391e20, 0x0663: 0x40392020,\n\t0x0664: 0x40392620, 0x0665: 0x40392820, 0x0666: 0x40393020, 0x0667: 0xc0520151,\n\t0x0668: 0x40393c20, 0x0669: 0x40395420, 0x066a: 0x40395620, 0x066b: 0x40395820,\n\t0x066c: 0x40396420, 0x066d: 0x40397220, 0x066e: 0x40397420, 0x066f: 0x40398820,\n\t0x0670: 0x40398a20, 0x0671: 0x4039a420, 0x0672: 0x4039a620, 0x0673: 0x4039c620,\n\t0x0674: 0x4039c820, 0x0675: 0x4039dc20, 0x0676: 0x4039de20, 0x0677: 0x4039e620,\n\t0x0678: 0x4039e820, 0x0679: 0x4039ee20, 0x067a: 0x4039f020, 0x067b: 0x403a3820,\n\t0x067c: 0x403a3a20, 0x067d: 0x403a9c20, 0x067e: 0x403a9e20, 0x067f: 0x403aa020,\n\t// Block 0x1a, offset 0x680\n\t0x0680: 0xa0000000, 0x0681: 0x4039fc20, 0x0682: 0x403a1220, 0x0683: 0x403a1a20,\n\t0x0684: 0x403a4020, 0x0685: 0x403a4e20, 0x0686: 0x403a5620, 0x0687: 0x403a6820,\n\t0x0688: 0xc0560171, 0x0689: 0x403a8e20, 0x068a: 0xc0580171, 0x068b: 0xa1b0a202,\n\t0x068c: 0xa1c0a502, 0x068d: 0xa1d0a902, 0x068e: 0xa1e0ad02, 0x068f: 0xa1f0b202,\n\t0x0690: 0xa200b602, 0x0691: 0xa210ba02, 0x0692: 0xa220bc02, 0x0693: 0xae60bd02,\n\t0x0694: 0xae60be02, 0x0695: 0xadc0bf02, 0x0696: 0xadc0c102, 0x0697: 0xae60c202,\n\t0x0698: 0xae60c302, 0x0699: 0xae60c402, 0x069a: 0xae60c502, 0x069b: 0xae60c602,\n\t0x069c: 0xadc0c702, 0x069d: 0xae60c802, 0x069e: 0xae60c902, 0x069f: 0xadc0c002,\n\t0x06a0: 0xe000015e, 0x06a1: 0xe00001e6, 0x06a2: 0xe0000301, 0x06a3: 0xe00003db,\n\t0x06a4: 0xe00004b6, 0x06a5: 0xe0000580, 0x06a6: 0xe000064b, 0x06a7: 0xe00006f3,\n\t0x06a8: 0xe000079f, 0x06a9: 0xe0000844, 0x06aa: 0x4004ee20, 0x06ab: 0x40024c20,\n\t0x06ac: 0x40024e20, 0x06ad: 0x4004de20, 0x06ae: 0x40393a20, 0x06af: 0x403a1020,\n\t0x06b0: 0xa230d102, 0x06b1: 0x40392420, 0x06b2: 0x40392220, 0x06b3: 0x40392a20,\n\t0x06b4: 0x00391c84, 0x06b5: 0xf0000404, 0x06b6: 0xf0000404, 0x06b7: 0xf0000404,\n\t0x06b8: 0xf0000404, 0x06b9: 0x40395a20, 0x06ba: 0x40395c20, 0x06bb: 0x40393e20,\n\t0x06bc: 0x40395e20, 0x06bd: 0x40396020, 0x06be: 0x40394020, 0x06bf: 0x40396220,\n\t// Block 0x1b, offset 0x6c0\n\t0x06c0: 0x40394220, 0x06c1: 0x40397620, 0x06c2: 0x40397820, 0x06c3: 0x40396620,\n\t0x06c4: 0x40396820, 0x06c5: 0x40397a20, 0x06c6: 0x40396a20, 0x06c7: 0x40396e20,\n\t0x06c8: 0x40398c20, 0x06c9: 0x40398e20, 0x06ca: 0x40399020, 0x06cb: 0x40399220,\n\t0x06cc: 0x40399420, 0x06cd: 0x40399620, 0x06ce: 0x40399820, 0x06cf: 0x40399a20,\n\t0x06d0: 0x40399c20, 0x06d1: 0x4039a820, 0x06d2: 0x4039aa20, 0x06d3: 0x4039ac20,\n\t0x06d4: 0x4039ae20, 0x06d5: 0x4039b020, 0x06d6: 0x4039b220, 0x06d7: 0x4039b420,\n\t0x06d8: 0x4039b620, 0x06d9: 0x4039b820, 0x06da: 0x4039ca20, 0x06db: 0x4039cc20,\n\t0x06dc: 0x4039ce20, 0x06dd: 0x4039e020, 0x06de: 0x4039e220, 0x06df: 0x4039ea20,\n\t0x06e0: 0x4039f220, 0x06e1: 0x4039fe20, 0x06e2: 0x403a0020, 0x06e3: 0x403a0220,\n\t0x06e4: 0x403a0420, 0x06e5: 0x403a0820, 0x06e6: 0x403a0a20, 0x06e7: 0x403a1420,\n\t0x06e8: 0x403a1620, 0x06e9: 0x403a1c20, 0x06ea: 0x403a1e20, 0x06eb: 0x403a2020,\n\t0x06ec: 0x403a2220, 0x06ed: 0x403a2620, 0x06ee: 0x403a2820, 0x06ef: 0x403a2a20,\n\t0x06f0: 0x403a2c20, 0x06f1: 0x403a2e20, 0x06f2: 0x403a3020, 0x06f3: 0x403a3220,\n\t0x06f4: 0x403a3420, 0x06f5: 0x403a4220, 0x06f6: 0x403a4420, 0x06f7: 0x403a4620,\n\t0x06f8: 0x403a4820, 0x06f9: 0x403a6020, 0x06fa: 0x403a5820, 0x06fb: 0x403a5a20,\n\t0x06fc: 0x403a5c20, 0x06fd: 0x403a5e20, 0x06fe: 0x403a6a20, 0x06ff: 0x40396c20,\n\t// Block 0x1c, offset 0x700\n\t0x0700: 0xe00017e4, 0x0701: 0x403a6c20, 0x0702: 0xe00017e1, 0x0703: 0x403a6e20,\n\t0x0704: 0x403a7620, 0x0705: 0x403a7820, 0x0706: 0x403a7a20, 0x0707: 0x403a7c20,\n\t0x0708: 0x403a7e20, 0x0709: 0x403a8020, 0x070a: 0x403a8220, 0x070b: 0x403a8420,\n\t0x070c: 0x403a9220, 0x070d: 0x403a9420, 0x070e: 0x403a9620, 0x070f: 0x403a8620,\n\t0x0710: 0x403a9820, 0x0711: 0x403a9a20, 0x0712: 0x403aaa20, 0x0713: 0xe0001800,\n\t0x0714: 0x4002e820, 0x0715: 0x403a7220, 0x0716: 0xae600000, 0x0717: 0xae600000,\n\t0x0718: 0xae600000, 0x0719: 0xae600000, 0x071a: 0xae600000, 0x071b: 0xae600000,\n\t0x071c: 0xae600000, 0x071d: 0xa0000000, 0x071e: 0x40071220, 0x071f: 0xae600000,\n\t0x0720: 0xae600000, 0x0721: 0xae600000, 0x0722: 0xae600000, 0x0723: 0xadc00000,\n\t0x0724: 0xae600000, 0x0725: 0x003a7484, 0x0726: 0x003a9084, 0x0727: 0xae600000,\n\t0x0728: 0xae600000, 0x0729: 0x40071420, 0x072a: 0xadc00000, 0x072b: 0xae600000,\n\t0x072c: 0xae600000, 0x072d: 0xadc00000, 0x072e: 0x40399e20, 0x072f: 0x4039ba20,\n\t0x0730: 0xe0000161, 0x0731: 0xe00001e9, 0x0732: 0xe0000304, 0x0733: 0xe00003de,\n\t0x0734: 0xe00004b9, 0x0735: 0xe0000583, 0x0736: 0xe000064e, 0x0737: 0xe00006f6,\n\t0x0738: 0xe00007a2, 0x0739: 0xe0000847, 0x073a: 0x4039d020, 0x073b: 0x4039e420,\n\t0x073c: 0x4039f420, 0x073d: 0xe0001553, 0x073e: 0xe0001779, 0x073f: 0x403a7020,\n\t// Block 0x1d, offset 0x740\n\t0x0740: 0x40035c20, 0x0741: 0x4002ea20, 0x0742: 0x4002ec20, 0x0743: 0x40027220,\n\t0x0744: 0x40027420, 0x0745: 0x40027620, 0x0746: 0x40027820, 0x0747: 0x40027a20,\n\t0x0748: 0x40027c20, 0x0749: 0x4002ce20, 0x074a: 0x40056020, 0x074b: 0x40056220,\n\t0x074c: 0x40056420, 0x074d: 0x40056620, 0x074f: 0xa0000000,\n\t0x0750: 0x403ab020, 0x0751: 0xa240d202, 0x0752: 0x403ab220, 0x0753: 0x403ab420,\n\t0x0754: 0xe0001806, 0x0755: 0x403ab820, 0x0756: 0x403ab620, 0x0757: 0x403aba20,\n\t0x0758: 0x403abc20, 0x0759: 0x403abe20, 0x075a: 0x403ac220, 0x075b: 0x403ac420,\n\t0x075c: 0xe000180f, 0x075d: 0x403ac620, 0x075e: 0x403ac820, 0x075f: 0x403aca20,\n\t0x0760: 0x403ace20, 0x0761: 0x403ad020, 0x0762: 0x403ad220, 0x0763: 0x403ad420,\n\t0x0764: 0x003ad499, 0x0765: 0x403ad620, 0x0766: 0x403ad820, 0x0767: 0xe0001812,\n\t0x0768: 0x403adc20, 0x0769: 0x403ade20, 0x076a: 0x403ae020, 0x076b: 0x403ae220,\n\t0x076c: 0x403ae420, 0x076d: 0xe0001803, 0x076e: 0xe0001809, 0x076f: 0xe000180c,\n\t0x0770: 0xae60d302, 0x0771: 0xadc0d402, 0x0772: 0xae60d502, 0x0773: 0xae60d602,\n\t0x0774: 0xadc0d702, 0x0775: 0xae60d802, 0x0776: 0xae60d902, 0x0777: 0xadc0da02,\n\t0x0778: 0xadc0db02, 0x0779: 0xadc0dc02, 0x077a: 0xae60dd02, 0x077b: 0xadc0de02,\n\t0x077c: 0xadc0df02, 0x077d: 0xae60e002, 0x077e: 0xadc0e102, 0x077f: 0xae60e202,\n\t// Block 0x1e, offset 0x780\n\t0x0780: 0xae600000, 0x0781: 0xae605f02, 0x0782: 0xadc06002, 0x0783: 0xae600000,\n\t0x0784: 0xadc00000, 0x0785: 0xae605f02, 0x0786: 0xadc06002, 0x0787: 0xae600000,\n\t0x0788: 0xadc00000, 0x0789: 0xae600000, 0x078a: 0xae600000,\n\t0x078d: 0x403ac020, 0x078e: 0x403acc20, 0x078f: 0x403ada20,\n\t0x0790: 0x40394420, 0x0791: 0x40394620, 0x0792: 0x40394820, 0x0793: 0x40394a20,\n\t0x0794: 0x40394c20, 0x0795: 0x40394e20, 0x0796: 0x40395220, 0x0797: 0x40397c20,\n\t0x0798: 0x40397e20, 0x0799: 0x4039a020, 0x079a: 0x4039a220, 0x079b: 0x4039bc20,\n\t0x079c: 0x4039d220, 0x079d: 0x4039f620, 0x079e: 0x4039f820, 0x079f: 0x4039fa20,\n\t0x07a0: 0x403a0c20, 0x07a1: 0x403a0e20, 0x07a2: 0x403a3620, 0x07a3: 0x403a3c20,\n\t0x07a4: 0x403a3e20, 0x07a5: 0x403a5020, 0x07a6: 0x403a5220, 0x07a7: 0x403a6220,\n\t0x07a8: 0x403a6420, 0x07a9: 0x403a6620, 0x07aa: 0x403a4a20, 0x07ab: 0x4039be20,\n\t0x07ac: 0x4039c020, 0x07ad: 0x4039d420, 0x07ae: 0x40398020, 0x07af: 0x40398220,\n\t0x07b0: 0x4039d620, 0x07b1: 0x4039c220, 0x07b2: 0x40398420, 0x07b3: 0x40392c20,\n\t0x07b4: 0x40392e20, 0x07b5: 0x403aa420, 0x07b6: 0x403aa620, 0x07b7: 0x403aa820,\n\t0x07b8: 0x403a8820, 0x07b9: 0x403a8a20, 0x07ba: 0x403aac20, 0x07bb: 0x403aae20,\n\t0x07bc: 0x40398620, 0x07bd: 0x4039d820, 0x07be: 0x4039da20, 0x07bf: 0x403a2420,\n\t// Block 0x1f, offset 0x7c0\n\t0x07c0: 0x403b1820, 0x07c1: 0x403b1e20, 0x07c2: 0x403b2020, 0x07c3: 0x403b2220,\n\t0x07c4: 0x403b2620, 0x07c5: 0x403b2820, 0x07c6: 0x403b2a20, 0x07c7: 0x403b2c20,\n\t0x07c8: 0x403b3220, 0x07c9: 0x403b3620, 0x07ca: 0x403b3820, 0x07cb: 0x403b3a20,\n\t0x07cc: 0x403b3e20, 0x07cd: 0x403b4620, 0x07ce: 0x403b4820, 0x07cf: 0x403b4c20,\n\t0x07d0: 0x403b4e20, 0x07d1: 0x403b5620, 0x07d2: 0x403b5820, 0x07d3: 0x403b5a20,\n\t0x07d4: 0x403b5c20, 0x07d5: 0x403b5e20, 0x07d6: 0x403b6020, 0x07d7: 0x403b6220,\n\t0x07d8: 0x403b4020, 0x07d9: 0x403b1a20, 0x07da: 0x403b1c20, 0x07db: 0x403b3c20,\n\t0x07dc: 0x403b2420, 0x07dd: 0x403b5020, 0x07de: 0x403b5220, 0x07df: 0x403b5420,\n\t0x07e0: 0x403b4220, 0x07e1: 0x403b4420, 0x07e2: 0x403b2e20, 0x07e3: 0x403b3020,\n\t0x07e4: 0x403b4a20, 0x07e5: 0x403b3420, 0x07e6: 0x403b6620, 0x07e7: 0x403b6820,\n\t0x07e8: 0x403b6a20, 0x07e9: 0x403b6c20, 0x07ea: 0x403b6e20, 0x07eb: 0x403b7020,\n\t0x07ec: 0x403b7220, 0x07ed: 0x403b7420, 0x07ee: 0x403b7620, 0x07ef: 0x403b7820,\n\t0x07f0: 0x403b7a20, 0x07f1: 0x403b6420,\n\t// Block 0x20, offset 0x800\n\t0x0800: 0xe0000164, 0x0801: 0xe00001ef, 0x0802: 0xe000030a, 0x0803: 0xe00003e4,\n\t0x0804: 0xe00004bf, 0x0805: 0xe0000589, 0x0806: 0xe0000654, 0x0807: 0xe00006fc,\n\t0x0808: 0xe00007a8, 0x0809: 0xe000084d, 0x080a: 0x403b7c20, 0x080b: 0x403b7e20,\n\t0x080c: 0x403b8020, 0x080d: 0x403b8220, 0x080e: 0x403b8420, 0x080f: 0x403b8620,\n\t0x0810: 0x403b8820, 0x0811: 0x403b8a20, 0x0812: 0x403b8c20, 0x0813: 0x403b8e20,\n\t0x0814: 0x403b9020, 0x0815: 0x403b9220, 0x0816: 0x403b9420, 0x0817: 0x403b9620,\n\t0x0818: 0x403b9820, 0x0819: 0x403b9a20, 0x081a: 0x403b9c20, 0x081b: 0x403b9e20,\n\t0x081c: 0x403ba020, 0x081d: 0x403ba220, 0x081e: 0x403ba420, 0x081f: 0x403ba620,\n\t0x0820: 0x403ba820, 0x0821: 0x403baa20, 0x0822: 0x403bac20, 0x0823: 0x403bae20,\n\t0x0824: 0x403bb020, 0x0825: 0x403bb220, 0x0826: 0x403bb420, 0x0827: 0x403bb620,\n\t0x0828: 0xe0001815, 0x0829: 0xe0001818, 0x082a: 0xe000181b, 0x082b: 0xae60e302,\n\t0x082c: 0xae60e402, 0x082d: 0xae60e502, 0x082e: 0xae60e602, 0x082f: 0xae60e702,\n\t0x0830: 0xae60e802, 0x0831: 0xae60e902, 0x0832: 0xadc0ea02, 0x0833: 0xae60eb02,\n\t0x0834: 0x403bb820, 0x0835: 0x403bba20, 0x0836: 0x40073820, 0x0837: 0x40035e20,\n\t0x0838: 0x40025020, 0x0839: 0x4002c020, 0x083a: 0xa0000000,\n\t// Block 0x21, offset 0x840\n\t0x0840: 0x4038e820, 0x0841: 0x4038ea20, 0x0842: 0x4038ec20, 0x0843: 0x4038ee20,\n\t0x0844: 0x4038f020, 0x0845: 0x4038f220, 0x0846: 0x4038f420, 0x0847: 0x4038f620,\n\t0x0848: 0x4038f820, 0x0849: 0x4038fa20, 0x084a: 0x4038fc20, 0x084b: 0x4038fe20,\n\t0x084c: 0x40390020, 0x084d: 0x40390220, 0x084e: 0x40390420, 0x084f: 0x40390620,\n\t0x0850: 0x40390820, 0x0851: 0x40390a20, 0x0852: 0x40390c20, 0x0853: 0x40390e20,\n\t0x0854: 0x40391020, 0x0855: 0x40391220, 0x0856: 0x82e61c8a, 0x0857: 0x82e61c8b,\n\t0x0858: 0xae609f02, 0x0859: 0xae60a002, 0x085a: 0x40391820, 0x085b: 0x82e61c8d,\n\t0x085c: 0xae609702, 0x085d: 0xae609702, 0x085e: 0xae609802, 0x085f: 0xae609802,\n\t0x0860: 0xae609802, 0x0861: 0xae609902, 0x0862: 0xae609902, 0x0863: 0xae609902,\n\t0x0864: 0xa0009a02, 0x0865: 0xae609a02, 0x0866: 0xae609b02, 0x0867: 0xae609b02,\n\t0x0868: 0xa0009c02, 0x0869: 0xae609c02, 0x086a: 0xae609c02, 0x086b: 0xae609d02,\n\t0x086c: 0xae609e02, 0x086d: 0xae60a102,\n\t0x0870: 0x40027e20, 0x0871: 0x40028020, 0x0872: 0x40028220, 0x0873: 0x40028420,\n\t0x0874: 0x40028620, 0x0875: 0x40028820, 0x0876: 0x40028a20, 0x0877: 0x40028c20,\n\t0x0878: 0x40028e20, 0x0879: 0x40029020, 0x087a: 0x40029220, 0x087b: 0x40029420,\n\t0x087c: 0x40029620, 0x087d: 0x40029820, 0x087e: 0x40029a20,\n\t// Block 0x22, offset 0x880\n\t0x0880: 0x403ae620, 0x0881: 0x403ae820, 0x0882: 0x403aea20, 0x0883: 0x403aec20,\n\t0x0884: 0x403aee20, 0x0885: 0x403af020, 0x0886: 0x403af220, 0x0887: 0x403af420,\n\t0x0888: 0x403af620, 0x0889: 0x403af820, 0x088a: 0x403afa20, 0x088b: 0x403afc20,\n\t0x088c: 0x403afe20, 0x088d: 0x403b0020, 0x088e: 0x403b0220, 0x088f: 0x403b0420,\n\t0x0890: 0x403b0620, 0x0891: 0x403b0820, 0x0892: 0x403b0a20, 0x0893: 0x403b0c20,\n\t0x0894: 0x403b0e20, 0x0895: 0x403b1020, 0x0896: 0x403b1220, 0x0897: 0x403b1420,\n\t0x0898: 0x403b1620, 0x0899: 0xadc06002, 0x089a: 0xadc06002, 0x089b: 0xadc06002,\n\t0x089e: 0x40056820,\n\t// Block 0x23, offset 0x8c0\n\t0x08e0: 0x40395020, 0x08e2: 0x40397020, 0x08e3: 0x4039ec20,\n\t0x08e4: 0x403a0620, 0x08e5: 0x403a1820, 0x08e6: 0x403a4c20, 0x08e7: 0x403a5420,\n\t0x08e8: 0x40393220, 0x08e9: 0x40393420, 0x08ea: 0x4039c420, 0x08eb: 0x403a8c20,\n\t0x08ec: 0x40393620,\n\t// Block 0x24, offset 0x900\n\t0x0924: 0xae60af02, 0x0925: 0xae60b402, 0x0926: 0xadc0b802, 0x0927: 0xae60a402,\n\t0x0928: 0xae60a802, 0x0929: 0xadc0ac02, 0x092a: 0xae600000, 0x092b: 0xae600000,\n\t0x092c: 0xae600000, 0x092d: 0xadc00000, 0x092e: 0xadc00000, 0x092f: 0xadc00000,\n\t0x0930: 0xa1b0a302, 0x0931: 0xa1c0a702, 0x0932: 0xa1d0ab02, 0x0933: 0xae600000,\n\t0x0934: 0xae60b002, 0x0935: 0xae60b102, 0x0936: 0xadc0b902, 0x0937: 0xae60ca02,\n\t0x0938: 0xae60cb02, 0x0939: 0xadc0cf02, 0x093a: 0xadc0d002, 0x093b: 0xae60cd02,\n\t0x093c: 0xae60ce02, 0x093d: 0xae60cc02, 0x093e: 0xae60b502,\n\t// Block 0x25, offset 0x940\n\t0x0940: 0xa000f202, 0x0941: 0xa000f202, 0x0942: 0xa000f302, 0x0943: 0xa000f402,\n\t0x0944: 0x403fbc20, 0x0945: 0x403fbe20, 0x0946: 0x403fc020, 0x0947: 0x403fcc20,\n\t0x0948: 0x403fce20, 0x0949: 0x403fd020, 0x094a: 0x403fd220, 0x094b: 0x403fd420,\n\t0x094c: 0x403fd820, 0x094d: 0x403fdc20, 0x094e: 0x403fde20, 0x094f: 0x403fe020,\n\t0x0950: 0x403fe220, 0x0951: 0x403fe420, 0x0952: 0x403fe620, 0x0953: 0x403fe820,\n\t0x0954: 0x403fea20, 0x0955: 0x403fec20, 0x0956: 0x403fee20, 0x0957: 0x403ff020,\n\t0x0958: 0x403ff420, 0x0959: 0x403ff620, 0x095a: 0x403ff820, 0x095b: 0x403ffa20,\n\t0x095c: 0x403ffc20, 0x095d: 0x40400220, 0x095e: 0x40400420, 0x095f: 0x40400620,\n\t0x0960: 0x40400820, 0x0961: 0x40400a20, 0x0962: 0x40400e20, 0x0963: 0x40401020,\n\t0x0964: 0x40401220, 0x0965: 0x40401420, 0x0966: 0x40401620, 0x0967: 0x40401820,\n\t0x0968: 0x40401a20, 0x0969: 0xe0001830, 0x096a: 0x40401c20, 0x096b: 0x40401e20,\n\t0x096c: 0x40402020, 0x096d: 0x40402420, 0x096e: 0x40402620, 0x096f: 0x40402820,\n\t0x0970: 0x40402c20, 0x0971: 0xe0001839, 0x0972: 0x40402e20, 0x0973: 0x40403020,\n\t0x0974: 0xe000183c, 0x0975: 0x40403220, 0x0976: 0x40403420, 0x0977: 0x40403620,\n\t0x0978: 0x40403820, 0x0979: 0x40403a20, 0x097a: 0x40404c20, 0x097b: 0x40404e20,\n\t0x097c: 0xa070f102, 0x097d: 0x40403c20, 0x097e: 0x40404a20, 0x097f: 0x40405620,\n\t// Block 0x26, offset 0x980\n\t0x0980: 0x40405820, 0x0981: 0x40405a20, 0x0982: 0x40405c20, 0x0983: 0x40405e20,\n\t0x0984: 0x40406020, 0x0985: 0x40406620, 0x0986: 0x40406a20, 0x0987: 0x40406c20,\n\t0x0988: 0x40407020, 0x0989: 0x40407220, 0x098a: 0x40407420, 0x098b: 0x40407620,\n\t0x098c: 0x40407820, 0x098d: 0x8209203d, 0x098e: 0x40406e20, 0x098f: 0x40405020,\n\t0x0990: 0x403fb820, 0x0991: 0xae600000, 0x0992: 0xadc00000, 0x0993: 0xae603502,\n\t0x0994: 0xae603202, 0x0995: 0x40406820, 0x0996: 0x40405220, 0x0997: 0x40405420,\n\t0x0998: 0xe000181e, 0x0999: 0xe0001821, 0x099a: 0xe0001824, 0x099b: 0xe0001827,\n\t0x099c: 0xe000182a, 0x099d: 0xe000182d, 0x099e: 0xe0001833, 0x099f: 0xe0001836,\n\t0x09a0: 0x403fd620, 0x09a1: 0x403fda20, 0x09a2: 0x40406220, 0x09a3: 0x40406420,\n\t0x09a4: 0x40030c20, 0x09a5: 0x40030e20, 0x09a6: 0xe000016a, 0x09a7: 0xe00001f8,\n\t0x09a8: 0xe0000313, 0x09a9: 0xe00003ed, 0x09aa: 0xe00004c8, 0x09ab: 0xe0000592,\n\t0x09ac: 0xe000065d, 0x09ad: 0xe0000705, 0x09ae: 0xe00007b1, 0x09af: 0xe0000856,\n\t0x09b0: 0x40056c20, 0x09b1: 0x4027b620, 0x09b2: 0x403fba20, 0x09b3: 0x403fc220,\n\t0x09b4: 0x403fc420, 0x09b5: 0x403fc620, 0x09b6: 0x403fc820, 0x09b7: 0x403fca20,\n\t0x09b9: 0x403ffe20, 0x09ba: 0x40402a20, 0x09bb: 0x403ff220,\n\t0x09bc: 0x40400020, 0x09bd: 0x40403e20, 0x09be: 0x40400c20, 0x09bf: 0x40402220,\n\t// Block 0x27, offset 0x9c0\n\t0x09c1: 0xa000f202, 0x09c2: 0xa000f302, 0x09c3: 0xa000f402,\n\t0x09c5: 0x40407c20, 0x09c6: 0x40407e20, 0x09c7: 0x40408020,\n\t0x09c8: 0x40408220, 0x09c9: 0x40408420, 0x09ca: 0x40408620, 0x09cb: 0x40408820,\n\t0x09cc: 0x40408c20, 0x09cf: 0x40409020,\n\t0x09d0: 0x40409220, 0x09d3: 0x40409420,\n\t0x09d4: 0x40409620, 0x09d5: 0x40409820, 0x09d6: 0x40409a20, 0x09d7: 0x40409c20,\n\t0x09d8: 0x40409e20, 0x09d9: 0x4040a020, 0x09da: 0x4040a220, 0x09db: 0x4040a420,\n\t0x09dc: 0x4040a620, 0x09dd: 0x4040a820, 0x09de: 0x4040aa20, 0x09df: 0x4040ac20,\n\t0x09e0: 0x4040ae20, 0x09e1: 0x4040b020, 0x09e2: 0x4040b220, 0x09e3: 0x4040b420,\n\t0x09e4: 0x4040b620, 0x09e5: 0x4040b820, 0x09e6: 0x4040ba20, 0x09e7: 0x4040bc20,\n\t0x09e8: 0x4040be20, 0x09ea: 0x4040c020, 0x09eb: 0x4040c220,\n\t0x09ec: 0x4040c420, 0x09ed: 0x4040c620, 0x09ee: 0x4040c820, 0x09ef: 0x4040ca20,\n\t0x09f0: 0x4040cc20, 0x09f2: 0x4040d020,\n\t0x09f6: 0x4040d420, 0x09f7: 0x4040d620,\n\t0x09f8: 0x4040d820, 0x09f9: 0x4040da20,\n\t0x09fc: 0xa070f102, 0x09fd: 0x4040dc20, 0x09fe: 0x4040de20, 0x09ff: 0x4040e020,\n\t// Block 0x28, offset 0xa00\n\t0x0a00: 0x4040e220, 0x0a01: 0x4040e420, 0x0a02: 0x4040e620, 0x0a03: 0x4040e820,\n\t0x0a04: 0x4040ea20, 0x0a07: 0xc05a0191,\n\t0x0a08: 0x4040f220, 0x0a0b: 0x4040f420,\n\t0x0a0c: 0x4040f620, 0x0a0d: 0x8209207c, 0x0a0e: 0xe0001845,\n\t0x0a17: 0x4040fa20,\n\t0x0a1c: 0xe000183f, 0x0a1d: 0xe0001842, 0x0a1f: 0xe0001848,\n\t0x0a20: 0x40408a20, 0x0a21: 0x40408e20, 0x0a22: 0x4040ec20, 0x0a23: 0x4040ee20,\n\t0x0a26: 0xe000016d, 0x0a27: 0xe00001fb,\n\t0x0a28: 0xe0000316, 0x0a29: 0xe00003f0, 0x0a2a: 0xe00004cb, 0x0a2b: 0xe0000595,\n\t0x0a2c: 0xe0000660, 0x0a2d: 0xe0000708, 0x0a2e: 0xe00007b4, 0x0a2f: 0xe0000859,\n\t0x0a30: 0x4040ce20, 0x0a31: 0x4040d220, 0x0a32: 0x4027e820, 0x0a33: 0x4027ea20,\n\t0x0a34: 0x40283020, 0x0a35: 0x40283220, 0x0a36: 0x40283420, 0x0a37: 0x40283620,\n\t0x0a38: 0x40283820, 0x0a39: 0x40283a20, 0x0a3a: 0x40073a20, 0x0a3b: 0x4027ec20,\n\t// Block 0x29, offset 0xa40\n\t0x0a41: 0xa000f202, 0x0a42: 0xa000f302, 0x0a43: 0xa000f402,\n\t0x0a45: 0x40410620, 0x0a46: 0x40410820, 0x0a47: 0x40411020,\n\t0x0a48: 0x40411220, 0x0a49: 0x40410020, 0x0a4a: 0x40410220,\n\t0x0a4f: 0x40411420,\n\t0x0a50: 0x40410a20, 0x0a53: 0x40410420,\n\t0x0a54: 0x40410c20, 0x0a55: 0x40411c20, 0x0a56: 0x40411e20, 0x0a57: 0x40412020,\n\t0x0a58: 0x40412220, 0x0a59: 0x40412420, 0x0a5a: 0x40412620, 0x0a5b: 0x40412820,\n\t0x0a5c: 0x40412a20, 0x0a5d: 0x40412c20, 0x0a5e: 0x40412e20, 0x0a5f: 0x40413020,\n\t0x0a60: 0x40413220, 0x0a61: 0x40413420, 0x0a62: 0x40413620, 0x0a63: 0x40413820,\n\t0x0a64: 0x40413a20, 0x0a65: 0x40413c20, 0x0a66: 0x40413e20, 0x0a67: 0x40414020,\n\t0x0a68: 0x40414220, 0x0a6a: 0x40414420, 0x0a6b: 0x40414620,\n\t0x0a6c: 0x40414820, 0x0a6d: 0x40414a20, 0x0a6e: 0x40414c20, 0x0a6f: 0x40414e20,\n\t0x0a70: 0x40415220, 0x0a72: 0x40415420, 0x0a73: 0xe000185a,\n\t0x0a75: 0x40415620, 0x0a76: 0xe000184b,\n\t0x0a78: 0x40411620, 0x0a79: 0x40411820,\n\t0x0a7c: 0xa070f102, 0x0a7e: 0x40415a20, 0x0a7f: 0x40415c20,\n\t// Block 0x2a, offset 0xa80\n\t0x0a80: 0x40415e20, 0x0a81: 0x40416020, 0x0a82: 0x40416220,\n\t0x0a87: 0x40416420,\n\t0x0a88: 0x40416620, 0x0a8b: 0x40416820,\n\t0x0a8c: 0x40416a20, 0x0a8d: 0x820920b6,\n\t0x0a91: 0x40411a20,\n\t0x0a99: 0xe000184e, 0x0a9a: 0xe0001851, 0x0a9b: 0xe0001854,\n\t0x0a9c: 0x40415820, 0x0a9e: 0xe0001857,\n\t0x0aa6: 0xe0000170, 0x0aa7: 0xe00001fe,\n\t0x0aa8: 0xe0000319, 0x0aa9: 0xe00003f3, 0x0aaa: 0xe00004ce, 0x0aab: 0xe0000598,\n\t0x0aac: 0xe0000663, 0x0aad: 0xe000070b, 0x0aae: 0xe00007b7, 0x0aaf: 0xe000085c,\n\t0x0ab0: 0xa000f502, 0x0ab1: 0xa000f602, 0x0ab2: 0x40410e20, 0x0ab3: 0x4040fe20,\n\t0x0ab4: 0x4040fc20, 0x0ab5: 0x40415020,\n\t// Block 0x2b, offset 0xac0\n\t0x0ac1: 0xa000f202, 0x0ac2: 0xa000f302, 0x0ac3: 0xa000f402,\n\t0x0ac5: 0x40417020, 0x0ac6: 0x40417220, 0x0ac7: 0x40417420,\n\t0x0ac8: 0x40417620, 0x0ac9: 0x40417820, 0x0aca: 0x40417a20, 0x0acb: 0x40417c20,\n\t0x0acc: 0x40418020, 0x0acd: 0x40418420, 0x0acf: 0x40418620,\n\t0x0ad0: 0x40418820, 0x0ad1: 0x40418a20, 0x0ad3: 0x40418c20,\n\t0x0ad4: 0x40418e20, 0x0ad5: 0x40419020, 0x0ad6: 0x40419220, 0x0ad7: 0x40419420,\n\t0x0ad8: 0x40419620, 0x0ad9: 0x40419820, 0x0ada: 0x40419a20, 0x0adb: 0x40419c20,\n\t0x0adc: 0x40419e20, 0x0add: 0x4041a020, 0x0ade: 0x4041a220, 0x0adf: 0x4041a420,\n\t0x0ae0: 0x4041a620, 0x0ae1: 0x4041a820, 0x0ae2: 0x4041aa20, 0x0ae3: 0x4041ac20,\n\t0x0ae4: 0x4041ae20, 0x0ae5: 0x4041b020, 0x0ae6: 0x4041b220, 0x0ae7: 0x4041b420,\n\t0x0ae8: 0x4041b620, 0x0aea: 0x4041b820, 0x0aeb: 0x4041ba20,\n\t0x0aec: 0x4041bc20, 0x0aed: 0x4041be20, 0x0aee: 0x4041c020, 0x0aef: 0x4041c220,\n\t0x0af0: 0x4041c420, 0x0af2: 0x4041c620, 0x0af3: 0x4041d220,\n\t0x0af5: 0x4041c820, 0x0af6: 0x4041ca20, 0x0af7: 0x4041cc20,\n\t0x0af8: 0x4041ce20, 0x0af9: 0x4041d020,\n\t0x0afc: 0xa070f102, 0x0afd: 0x4041d420, 0x0afe: 0x4041d620, 0x0aff: 0x4041d820,\n\t// Block 0x2c, offset 0xb00\n\t0x0b00: 0x4041da20, 0x0b01: 0x4041dc20, 0x0b02: 0x4041de20, 0x0b03: 0x4041e020,\n\t0x0b04: 0x4041e220, 0x0b05: 0x4041e820, 0x0b07: 0x4041ea20,\n\t0x0b08: 0x4041ec20, 0x0b09: 0x4041ee20, 0x0b0b: 0x4041f020,\n\t0x0b0c: 0x4041f220, 0x0b0d: 0x820920fa,\n\t0x0b10: 0x40416e20,\n\t0x0b20: 0x40417e20, 0x0b21: 0x40418220, 0x0b22: 0x4041e420, 0x0b23: 0x4041e620,\n\t0x0b26: 0xe0000173, 0x0b27: 0xe0000201,\n\t0x0b28: 0xe000031c, 0x0b29: 0xe00003f6, 0x0b2a: 0xe00004d1, 0x0b2b: 0xe000059b,\n\t0x0b2c: 0xe0000666, 0x0b2d: 0xe000070e, 0x0b2e: 0xe00007ba, 0x0b2f: 0xe000085f,\n\t0x0b30: 0x40057420, 0x0b31: 0x4027ee20,\n\t// Block 0x2d, offset 0xb40\n\t0x0b41: 0xa000f202, 0x0b42: 0xa000f302, 0x0b43: 0xa000f402,\n\t0x0b45: 0x4041f620, 0x0b46: 0x4041f820, 0x0b47: 0x4041fa20,\n\t0x0b48: 0x4041fc20, 0x0b49: 0x4041fe20, 0x0b4a: 0x40420020, 0x0b4b: 0x40420220,\n\t0x0b4c: 0x40420620, 0x0b4f: 0x40420a20,\n\t0x0b50: 0x40420c20, 0x0b53: 0x40420e20,\n\t0x0b54: 0x40421020, 0x0b55: 0x40421220, 0x0b56: 0x40421420, 0x0b57: 0x40421620,\n\t0x0b58: 0x40421820, 0x0b59: 0x40421a20, 0x0b5a: 0x40421c20, 0x0b5b: 0x40421e20,\n\t0x0b5c: 0x40422020, 0x0b5d: 0x40422220, 0x0b5e: 0x40422420, 0x0b5f: 0x40422620,\n\t0x0b60: 0x40422820, 0x0b61: 0x40422a20, 0x0b62: 0x40422c20, 0x0b63: 0x40422e20,\n\t0x0b64: 0x40423020, 0x0b65: 0x40423220, 0x0b66: 0x40423420, 0x0b67: 0x40423620,\n\t0x0b68: 0x40423820, 0x0b6a: 0x40423a20, 0x0b6b: 0x40423c20,\n\t0x0b6c: 0x40423e20, 0x0b6d: 0x40424020, 0x0b6e: 0x40424220, 0x0b6f: 0x40424420,\n\t0x0b70: 0x40424820, 0x0b72: 0x40424a20, 0x0b73: 0x40424c20,\n\t0x0b75: 0x40424e20, 0x0b76: 0x40425220, 0x0b77: 0x40425420,\n\t0x0b78: 0x40425620, 0x0b79: 0x40425820,\n\t0x0b7c: 0xa070f102, 0x0b7d: 0x40425a20, 0x0b7e: 0x40425c20, 0x0b7f: 0x40425e20,\n\t// Block 0x2e, offset 0xb80\n\t0x0b80: 0x40426020, 0x0b81: 0x40426220, 0x0b82: 0x40426420, 0x0b83: 0x40426620,\n\t0x0b84: 0x40426820, 0x0b87: 0xc05d01e1,\n\t0x0b88: 0x40427020, 0x0b8b: 0x40427220,\n\t0x0b8c: 0x40427420, 0x0b8d: 0x8209213b,\n\t0x0b96: 0x40427820, 0x0b97: 0x40427a20,\n\t0x0b9c: 0xe000185d, 0x0b9d: 0xe0001860, 0x0b9f: 0x40424620,\n\t0x0ba0: 0x40420420, 0x0ba1: 0x40420820, 0x0ba2: 0x40426a20, 0x0ba3: 0x40426c20,\n\t0x0ba6: 0xe0000176, 0x0ba7: 0xe0000204,\n\t0x0ba8: 0xe000031f, 0x0ba9: 0xe00003f9, 0x0baa: 0xe00004d4, 0x0bab: 0xe000059e,\n\t0x0bac: 0xe0000669, 0x0bad: 0xe0000711, 0x0bae: 0xe00007bd, 0x0baf: 0xe0000862,\n\t0x0bb0: 0x40073c20, 0x0bb1: 0x40425020, 0x0bb2: 0x40283c20, 0x0bb3: 0x40283e20,\n\t0x0bb4: 0x40284020, 0x0bb5: 0x40284220, 0x0bb6: 0x40284420, 0x0bb7: 0x40284620,\n\t// Block 0x2f, offset 0xbc0\n\t0x0bc2: 0xa000f302, 0x0bc3: 0x40429620,\n\t0x0bc5: 0x40427e20, 0x0bc6: 0x40428020, 0x0bc7: 0x40428220,\n\t0x0bc8: 0x40428420, 0x0bc9: 0x40428620, 0x0bca: 0x40428820,\n\t0x0bce: 0x40428a20, 0x0bcf: 0x40428c20,\n\t0x0bd0: 0x40428e20, 0x0bd2: 0xc0610231, 0x0bd3: 0x40429220,\n\t0x0bd4: 0x40429420, 0x0bd5: 0x40429820,\n\t0x0bd9: 0x40429a20, 0x0bda: 0x40429c20,\n\t0x0bdc: 0x4042bc20, 0x0bde: 0x40429e20, 0x0bdf: 0x4042a020,\n\t0x0be3: 0x4042a220,\n\t0x0be4: 0x4042a420,\n\t0x0be8: 0x4042a620, 0x0be9: 0x4042ba20, 0x0bea: 0x4042a820,\n\t0x0bee: 0x4042aa20, 0x0bef: 0x4042ac20,\n\t0x0bf0: 0x4042ae20, 0x0bf1: 0x4042b820, 0x0bf2: 0x4042b020, 0x0bf3: 0x4042b620,\n\t0x0bf4: 0x4042b420, 0x0bf5: 0x4042b220, 0x0bf6: 0x4042be20, 0x0bf7: 0x4042c020,\n\t0x0bf8: 0x4042c220, 0x0bf9: 0x4042c420,\n\t0x0bfe: 0x4042c620, 0x0bff: 0x4042c820,\n\t// Block 0x30, offset 0xc00\n\t0x0c00: 0x4042ca20, 0x0c01: 0x4042cc20, 0x0c02: 0x4042ce20,\n\t0x0c06: 0xc0630261, 0x0c07: 0xc06602b1,\n\t0x0c08: 0x4042d420, 0x0c0a: 0x4042d620, 0x0c0b: 0x4042d820,\n\t0x0c0c: 0x4042da20, 0x0c0d: 0x8209216e,\n\t0x0c10: 0x40427c20,\n\t0x0c17: 0x4042de20,\n\t0x0c26: 0xe0000179, 0x0c27: 0xe0000207,\n\t0x0c28: 0xe0000322, 0x0c29: 0xe00003fc, 0x0c2a: 0xe00004d7, 0x0c2b: 0xe00005a1,\n\t0x0c2c: 0xe000066c, 0x0c2d: 0xe0000714, 0x0c2e: 0xe00007c0, 0x0c2f: 0xe0000865,\n\t0x0c30: 0x40285420, 0x0c31: 0x40285620, 0x0c32: 0x40285820, 0x0c33: 0x40073e20,\n\t0x0c34: 0x40074020, 0x0c35: 0x40074220, 0x0c36: 0x40074420, 0x0c37: 0x40074620,\n\t0x0c38: 0x40074820, 0x0c39: 0x4027f220, 0x0c3a: 0x40074a20,\n\t// Block 0x31, offset 0xc40\n\t0x0c41: 0xa000f202, 0x0c42: 0xa000f302, 0x0c43: 0xa000f402,\n\t0x0c45: 0x4042e020, 0x0c46: 0x4042e220, 0x0c47: 0x4042e420,\n\t0x0c48: 0x4042e620, 0x0c49: 0x4042e820, 0x0c4a: 0x4042ea20, 0x0c4b: 0x4042ec20,\n\t0x0c4c: 0x4042f020, 0x0c4e: 0x4042f420, 0x0c4f: 0x4042f620,\n\t0x0c50: 0x4042f820, 0x0c52: 0x4042fa20, 0x0c53: 0x4042fc20,\n\t0x0c54: 0x4042fe20, 0x0c55: 0x40430020, 0x0c56: 0x40430220, 0x0c57: 0x40430420,\n\t0x0c58: 0x40430620, 0x0c59: 0x40430820, 0x0c5a: 0x40430a20, 0x0c5b: 0x40430e20,\n\t0x0c5c: 0x40431020, 0x0c5d: 0x40431420, 0x0c5e: 0x40431620, 0x0c5f: 0x40431820,\n\t0x0c60: 0x40431a20, 0x0c61: 0x40431c20, 0x0c62: 0x40431e20, 0x0c63: 0x40432020,\n\t0x0c64: 0x40432220, 0x0c65: 0x40432420, 0x0c66: 0x40432620, 0x0c67: 0x40432820,\n\t0x0c68: 0x40432a20, 0x0c6a: 0x40432c20, 0x0c6b: 0x40432e20,\n\t0x0c6c: 0x40433020, 0x0c6d: 0x40433220, 0x0c6e: 0x40433420, 0x0c6f: 0x40433620,\n\t0x0c70: 0x40433820, 0x0c71: 0x40433a20, 0x0c72: 0x40433c20, 0x0c73: 0x40434820,\n\t0x0c75: 0x40433e20, 0x0c76: 0x40434020, 0x0c77: 0x40434220,\n\t0x0c78: 0x40434420, 0x0c79: 0x40434620,\n\t0x0c7d: 0x40434a20, 0x0c7e: 0x40434c20, 0x0c7f: 0x40434e20,\n\t// Block 0x32, offset 0xc80\n\t0x0c80: 0x40435020, 0x0c81: 0x40435220, 0x0c82: 0x40435420, 0x0c83: 0x40435620,\n\t0x0c84: 0x40435820, 0x0c86: 0xc06802e1, 0x0c87: 0x40436020,\n\t0x0c88: 0x40436220, 0x0c8a: 0x40436420, 0x0c8b: 0x40436620,\n\t0x0c8c: 0x40436820, 0x0c8d: 0x820921b5,\n\t0x0c95: 0x825421b6, 0x0c96: 0x825b21b7,\n\t0x0c98: 0x40430c20, 0x0c99: 0x40431220,\n\t0x0ca0: 0x4042ee20, 0x0ca1: 0x4042f220, 0x0ca2: 0x40435a20, 0x0ca3: 0x40435c20,\n\t0x0ca6: 0xe000017c, 0x0ca7: 0xe000020a,\n\t0x0ca8: 0xe0000325, 0x0ca9: 0xe00003ff, 0x0caa: 0xe00004da, 0x0cab: 0xe00005a4,\n\t0x0cac: 0xe000066f, 0x0cad: 0xe0000717, 0x0cae: 0xe00007c3, 0x0caf: 0xe0000868,\n\t0x0cb8: 0xe000017f, 0x0cb9: 0xe000020d, 0x0cba: 0xe0000328, 0x0cbb: 0xe0000402,\n\t0x0cbc: 0xe0000210, 0x0cbd: 0xe000032b, 0x0cbe: 0xe0000405, 0x0cbf: 0x40074c20,\n\t// Block 0x33, offset 0xcc0\n\t0x0cc2: 0xa000f302, 0x0cc3: 0xa000f402,\n\t0x0cc5: 0x40437020, 0x0cc6: 0x40437220, 0x0cc7: 0x40437420,\n\t0x0cc8: 0x40437620, 0x0cc9: 0x40437820, 0x0cca: 0x40437a20, 0x0ccb: 0x40437c20,\n\t0x0ccc: 0x40438020, 0x0cce: 0x40438420, 0x0ccf: 0x40438620,\n\t0x0cd0: 0x40438820, 0x0cd2: 0x40438a20, 0x0cd3: 0x40438c20,\n\t0x0cd4: 0x40438e20, 0x0cd5: 0x40439020, 0x0cd6: 0x40439220, 0x0cd7: 0x40439420,\n\t0x0cd8: 0x40439620, 0x0cd9: 0x40439820, 0x0cda: 0x40439a20, 0x0cdb: 0x40439c20,\n\t0x0cdc: 0x40439e20, 0x0cdd: 0x4043a020, 0x0cde: 0x4043a220, 0x0cdf: 0x4043a420,\n\t0x0ce0: 0x4043a620, 0x0ce1: 0x4043a820, 0x0ce2: 0x4043aa20, 0x0ce3: 0x4043ac20,\n\t0x0ce4: 0x4043ae20, 0x0ce5: 0x4043b020, 0x0ce6: 0x4043b220, 0x0ce7: 0x4043b420,\n\t0x0ce8: 0x4043b620, 0x0cea: 0x4043b820, 0x0ceb: 0x4043ba20,\n\t0x0cec: 0x4043bc20, 0x0ced: 0x4043be20, 0x0cee: 0x4043c020, 0x0cef: 0x4043c220,\n\t0x0cf0: 0x4043c420, 0x0cf1: 0x4043c620, 0x0cf2: 0x4043c820, 0x0cf3: 0x4043d420,\n\t0x0cf5: 0x4043ca20, 0x0cf6: 0x4043cc20, 0x0cf7: 0x4043ce20,\n\t0x0cf8: 0x4043d020, 0x0cf9: 0x4043d220,\n\t0x0cfc: 0xa070f102, 0x0cfd: 0x4043d820, 0x0cfe: 0x4043de20, 0x0cff: 0xc06a0311,\n\t// Block 0x34, offset 0xd00\n\t0x0d00: 0x4043e220, 0x0d01: 0x4043e420, 0x0d02: 0x4043e620, 0x0d03: 0x4043e820,\n\t0x0d04: 0x4043ea20, 0x0d06: 0xc06c0341, 0x0d07: 0x4043f220,\n\t0x0d08: 0x4043f420, 0x0d0a: 0xc0710311, 0x0d0b: 0x4043f820,\n\t0x0d0c: 0x4043fa20, 0x0d0d: 0x820921fe,\n\t0x0d15: 0x4043fe20, 0x0d16: 0x40440020,\n\t0x0d1e: 0x4043d620,\n\t0x0d20: 0x40437e20, 0x0d21: 0x40438220, 0x0d22: 0x4043ec20, 0x0d23: 0x4043ee20,\n\t0x0d26: 0xe0000182, 0x0d27: 0xe0000213,\n\t0x0d28: 0xe000032e, 0x0d29: 0xe0000408, 0x0d2a: 0xe00004dd, 0x0d2b: 0xe00005a7,\n\t0x0d2c: 0xe0000672, 0x0d2d: 0xe000071a, 0x0d2e: 0xe00007c6, 0x0d2f: 0xe000086b,\n\t0x0d31: 0x4043da20, 0x0d32: 0x4043dc20,\n\t// Block 0x35, offset 0xd40\n\t0x0d42: 0xa000f302, 0x0d43: 0xa000f402,\n\t0x0d45: 0x40440220, 0x0d46: 0x40440420, 0x0d47: 0x40440620,\n\t0x0d48: 0x40440820, 0x0d49: 0x40440a20, 0x0d4a: 0x40440c20, 0x0d4b: 0x40440e20,\n\t0x0d4c: 0x40441220, 0x0d4e: 0x40441620, 0x0d4f: 0x40441820,\n\t0x0d50: 0x40441a20, 0x0d52: 0x40441c20, 0x0d53: 0x40441e20,\n\t0x0d54: 0x40442020, 0x0d55: 0x40442220, 0x0d56: 0x40442420, 0x0d57: 0x40442620,\n\t0x0d58: 0x40442820, 0x0d59: 0x40442a20, 0x0d5a: 0x40442c20, 0x0d5b: 0x40442e20,\n\t0x0d5c: 0x40443020, 0x0d5d: 0x40443220, 0x0d5e: 0x40443420, 0x0d5f: 0x40443620,\n\t0x0d60: 0x40443820, 0x0d61: 0x40443a20, 0x0d62: 0x40443c20, 0x0d63: 0x40443e20,\n\t0x0d64: 0x40444020, 0x0d65: 0x40444220, 0x0d66: 0x40444420, 0x0d67: 0x40444620,\n\t0x0d68: 0x40444820, 0x0d69: 0x40444a20, 0x0d6a: 0x40444c20, 0x0d6b: 0x40444e20,\n\t0x0d6c: 0x40445020, 0x0d6d: 0x40445220, 0x0d6e: 0x40445420, 0x0d6f: 0x40445620,\n\t0x0d70: 0x40445820, 0x0d71: 0x40446a20, 0x0d72: 0x40445a20, 0x0d73: 0x40446620,\n\t0x0d74: 0x40446820, 0x0d75: 0x40445c20, 0x0d76: 0x40445e20, 0x0d77: 0x40446020,\n\t0x0d78: 0x40446220, 0x0d79: 0x40446420, 0x0d7a: 0x40446c20,\n\t0x0d7d: 0x40446e20, 0x0d7e: 0x40447020, 0x0d7f: 0x40447220,\n\t// Block 0x36, offset 0xd80\n\t0x0d80: 0x40447420, 0x0d81: 0x40447620, 0x0d82: 0x40447820, 0x0d83: 0x40447a20,\n\t0x0d84: 0x40447c20, 0x0d86: 0xc07303b1, 0x0d87: 0xc0760401,\n\t0x0d88: 0x40448620, 0x0d8a: 0x40448820, 0x0d8b: 0x40448a20,\n\t0x0d8c: 0x40448c20, 0x0d8d: 0x82092248, 0x0d8e: 0xe000186c,\n\t0x0d97: 0x40448e20,\n\t0x0da0: 0x40441020, 0x0da1: 0x40441420, 0x0da2: 0x40447e20, 0x0da3: 0x40448020,\n\t0x0da6: 0xe0000185, 0x0da7: 0xe0000216,\n\t0x0da8: 0xe0000331, 0x0da9: 0xe000040b, 0x0daa: 0xe00004e0, 0x0dab: 0xe00005aa,\n\t0x0dac: 0xe0000675, 0x0dad: 0xe000071d, 0x0dae: 0xe00007c9, 0x0daf: 0xe000086e,\n\t0x0db0: 0x40285a20, 0x0db1: 0x40285c20, 0x0db2: 0x40285e20, 0x0db3: 0x40286020,\n\t0x0db4: 0x40286220, 0x0db5: 0x40286420,\n\t0x0db9: 0x40074e20, 0x0dba: 0xe0001866, 0x0dbb: 0xe0001869,\n\t0x0dbc: 0xe000186f, 0x0dbd: 0xe0001872, 0x0dbe: 0xe0001875, 0x0dbf: 0xe0001863,\n\t// Block 0x37, offset 0xdc0\n\t0x0dc2: 0xa000f302, 0x0dc3: 0xa000f402,\n\t0x0dc5: 0x40449220, 0x0dc6: 0x40449420, 0x0dc7: 0x40449620,\n\t0x0dc8: 0x40449820, 0x0dc9: 0x40449a20, 0x0dca: 0x40449c20, 0x0dcb: 0x40449e20,\n\t0x0dcc: 0x4044a020, 0x0dcd: 0x4044a220, 0x0dce: 0x4044a420, 0x0dcf: 0x4044a620,\n\t0x0dd0: 0x4044a820, 0x0dd1: 0x4044aa20, 0x0dd2: 0x4044ac20, 0x0dd3: 0x4044ae20,\n\t0x0dd4: 0x4044b020, 0x0dd5: 0x4044b220, 0x0dd6: 0x4044b420,\n\t0x0dda: 0x4044b620, 0x0ddb: 0x4044b820,\n\t0x0ddc: 0x4044ba20, 0x0ddd: 0x4044bc20, 0x0dde: 0x4044be20, 0x0ddf: 0x4044c020,\n\t0x0de0: 0x4044c220, 0x0de1: 0x4044c420, 0x0de2: 0x4044c620, 0x0de3: 0x4044c820,\n\t0x0de4: 0x4044ca20, 0x0de5: 0x4044cc20, 0x0de6: 0x4044ce20, 0x0de7: 0x4044d020,\n\t0x0de8: 0x4044d220, 0x0de9: 0x4044d420, 0x0dea: 0x4044d620, 0x0deb: 0x4044d820,\n\t0x0dec: 0x4044da20, 0x0ded: 0x4044dc20, 0x0dee: 0x4044de20, 0x0def: 0x4044e020,\n\t0x0df0: 0x4044e220, 0x0df1: 0x4044e420, 0x0df3: 0x4044e620,\n\t0x0df4: 0x4044e820, 0x0df5: 0x4044ea20, 0x0df6: 0x4044ec20, 0x0df7: 0x4044ee20,\n\t0x0df8: 0x4044f020, 0x0df9: 0x4044f220, 0x0dfa: 0x4044f420, 0x0dfb: 0x4044f620,\n\t0x0dfd: 0x4044f820,\n\t// Block 0x38, offset 0xe00\n\t0x0e00: 0x4044fa20, 0x0e01: 0x4044fc20, 0x0e02: 0x4044fe20, 0x0e03: 0x40450020,\n\t0x0e04: 0x40450220, 0x0e05: 0x40450420, 0x0e06: 0x40450620,\n\t0x0e0a: 0x82092295,\n\t0x0e0f: 0x40450820,\n\t0x0e10: 0x40450a20, 0x0e11: 0x40450c20, 0x0e12: 0x40450e20, 0x0e13: 0x40451020,\n\t0x0e14: 0x40451220, 0x0e16: 0x40451420,\n\t0x0e18: 0x40451620, 0x0e19: 0xc0780431, 0x0e1a: 0x40452020, 0x0e1b: 0x40452220,\n\t0x0e1c: 0xc07d04b1, 0x0e1d: 0x40452620, 0x0e1e: 0x40452820, 0x0e1f: 0x40451a20,\n\t0x0e32: 0x40451820, 0x0e33: 0x40451c20,\n\t0x0e34: 0x40057620,\n\t// Block 0x39, offset 0xe40\n\t0x0e41: 0x40491020, 0x0e42: 0x40491220, 0x0e43: 0x40491420,\n\t0x0e44: 0x40491620, 0x0e45: 0x40491820, 0x0e46: 0x40491a20, 0x0e47: 0x40491c20,\n\t0x0e48: 0x40491e20, 0x0e49: 0x40492020, 0x0e4a: 0x40492220, 0x0e4b: 0x40492420,\n\t0x0e4c: 0x40492620, 0x0e4d: 0x40492820, 0x0e4e: 0x40492a20, 0x0e4f: 0x40492c20,\n\t0x0e50: 0x40492e20, 0x0e51: 0x40493020, 0x0e52: 0x40493220, 0x0e53: 0x40493420,\n\t0x0e54: 0x40493620, 0x0e55: 0x40493820, 0x0e56: 0x40493a20, 0x0e57: 0x40493c20,\n\t0x0e58: 0x40493e20, 0x0e59: 0x40494020, 0x0e5a: 0x40494220, 0x0e5b: 0x40494420,\n\t0x0e5c: 0x40494620, 0x0e5d: 0x40494820, 0x0e5e: 0x40494a20, 0x0e5f: 0x40494c20,\n\t0x0e60: 0x40494e20, 0x0e61: 0x40495020, 0x0e62: 0x40495220, 0x0e63: 0x40495420,\n\t0x0e64: 0x40495620, 0x0e65: 0x40495820, 0x0e66: 0x40495a20, 0x0e67: 0x40495c20,\n\t0x0e68: 0x40495e20, 0x0e69: 0x40496020, 0x0e6a: 0x40496220, 0x0e6b: 0x40496420,\n\t0x0e6c: 0x40496620, 0x0e6d: 0x40496820, 0x0e6e: 0x40496a20, 0x0e6f: 0x40496c20,\n\t0x0e70: 0x40496e20, 0x0e71: 0x40497020, 0x0e72: 0x40497220, 0x0e73: 0x40497420,\n\t0x0e74: 0x40497620, 0x0e75: 0x40497820, 0x0e76: 0x40497a20, 0x0e77: 0x40497c20,\n\t0x0e78: 0x826724bf, 0x0e79: 0x826724c0, 0x0e7a: 0x820924c1,\n\t0x0e7f: 0x4027f420,\n\t// Block 0x3a, offset 0xe80\n\t0x0e80: 0xc07f04e1, 0x0e81: 0xc0ae04e1, 0x0e82: 0xc0dd04e1, 0x0e83: 0xc10c04e1,\n\t0x0e84: 0xc13b04e1, 0x0e85: 0x40498e20, 0x0e86: 0x4027b820, 0x0e87: 0xa000ff02,\n\t0x0e88: 0xa6b10002, 0x0e89: 0xa6b10102, 0x0e8a: 0xa6b10202, 0x0e8b: 0xa6b10302,\n\t0x0e8c: 0xa0010402, 0x0e8d: 0xc16a0511, 0x0e8e: 0xa000fe02, 0x0e8f: 0x40057820,\n\t0x0e90: 0xe000019a, 0x0e91: 0xe000022e, 0x0e92: 0xe0000346, 0x0e93: 0xe0000420,\n\t0x0e94: 0xe00004f5, 0x0e95: 0xe00005bf, 0x0e96: 0xe000068a, 0x0e97: 0xe0000732,\n\t0x0e98: 0xe00007de, 0x0e99: 0xe0000883, 0x0e9a: 0x40057a20, 0x0e9b: 0x40057c20,\n\t// Block 0x3b, offset 0xec0\n\t0x0ec1: 0x40499220, 0x0ec2: 0x40499420,\n\t0x0ec4: 0x40499620, 0x0ec7: 0x40499820,\n\t0x0ec8: 0x40499a20, 0x0eca: 0x40499e20,\n\t0x0ecd: 0x4049a220,\n\t0x0ed4: 0x4049a420, 0x0ed5: 0x4049a620, 0x0ed6: 0x4049a820, 0x0ed7: 0x4049aa20,\n\t0x0ed9: 0x4049ac20, 0x0eda: 0x4049ae20, 0x0edb: 0x4049b020,\n\t0x0edc: 0x4049b220, 0x0edd: 0x4049b420, 0x0ede: 0x4049b620, 0x0edf: 0x4049b820,\n\t0x0ee1: 0x4049ba20, 0x0ee2: 0x4049bc20, 0x0ee3: 0x4049be20,\n\t0x0ee5: 0x4049c020, 0x0ee7: 0x4049c220,\n\t0x0eea: 0x40499c20, 0x0eeb: 0x4049c420,\n\t0x0eed: 0x4049c620, 0x0eee: 0x4049c820, 0x0eef: 0x4049ca20,\n\t0x0ef0: 0x4049cc20, 0x0ef1: 0x4049ce20, 0x0ef2: 0x4049d020, 0x0ef3: 0x4049d220,\n\t0x0ef4: 0x4049d420, 0x0ef5: 0x4049d620, 0x0ef6: 0x4049d820, 0x0ef7: 0x4049da20,\n\t0x0ef8: 0x827624ee, 0x0ef9: 0x827624ef, 0x0efb: 0x4049e020,\n\t0x0efc: 0x4049e220, 0x0efd: 0x4049e420,\n\t// Block 0x3c, offset 0xf00\n\t0x0f00: 0xc16c0541, 0x0f01: 0xc18c0541, 0x0f02: 0xc1ac0541, 0x0f03: 0xc1cc0541,\n\t0x0f04: 0xc1ec0541, 0x0f06: 0x4027ba20,\n\t0x0f08: 0xa7a10602, 0x0f09: 0xa7a10702, 0x0f0a: 0xa7a10802, 0x0f0b: 0xa7a10902,\n\t0x0f0c: 0xa0010a02, 0x0f0d: 0xc20c0641,\n\t0x0f10: 0xe000019d, 0x0f11: 0xe0000231, 0x0f12: 0xe0000349, 0x0f13: 0xe0000423,\n\t0x0f14: 0xe00004f8, 0x0f15: 0xe00005c2, 0x0f16: 0xe000068d, 0x0f17: 0xe0000735,\n\t0x0f18: 0xe00007e1, 0x0f19: 0xe0000886,\n\t0x0f1c: 0xf0000404, 0x0f1d: 0xf0000404, 0x0f1e: 0x40499020, 0x0f1f: 0x4049a020,\n\t// Block 0x3d, offset 0xf40\n\t0x0f40: 0xe000201a, 0x0f41: 0x40075e20, 0x0f42: 0x40076020, 0x0f43: 0x40076220,\n\t0x0f44: 0x40058220, 0x0f45: 0x40058420, 0x0f46: 0x40058620, 0x0f47: 0x40058820,\n\t0x0f48: 0x40058a20, 0x0f49: 0x40058c20, 0x0f4a: 0x40058e20, 0x0f4b: 0x40059420,\n\t0x0f4c: 0x0005949b, 0x0f4d: 0x40059620, 0x0f4e: 0x40059820, 0x0f4f: 0x40059a20,\n\t0x0f50: 0x40059c20, 0x0f51: 0x40059e20, 0x0f52: 0x4005a020, 0x0f53: 0x40076420,\n\t0x0f54: 0x4002aa20, 0x0f55: 0x40076620, 0x0f56: 0x40076820, 0x0f57: 0x40076a20,\n\t0x0f58: 0xadc00000, 0x0f59: 0xadc00000, 0x0f5a: 0x40076c20, 0x0f5b: 0x40076e20,\n\t0x0f5c: 0x40077020, 0x0f5d: 0x40077220, 0x0f5e: 0x40077420, 0x0f5f: 0x40077620,\n\t0x0f60: 0xe00001a0, 0x0f61: 0xe0000234, 0x0f62: 0xe000034c, 0x0f63: 0xe0000426,\n\t0x0f64: 0xe00004fb, 0x0f65: 0xe00005c5, 0x0f66: 0xe0000690, 0x0f67: 0xe0000738,\n\t0x0f68: 0xe00007e4, 0x0f69: 0xe0000889, 0x0f6a: 0xe0000237, 0x0f6b: 0xe000034f,\n\t0x0f6c: 0xe0000429, 0x0f6d: 0xe00004fe, 0x0f6e: 0xe00005c8, 0x0f6f: 0xe0000693,\n\t0x0f70: 0xe000073b, 0x0f71: 0xe00007e7, 0x0f72: 0xe000088c, 0x0f73: 0xe00001a3,\n\t0x0f74: 0x40077820, 0x0f75: 0xadc00000, 0x0f76: 0x40077a20, 0x0f77: 0xadc00000,\n\t0x0f78: 0x40077c20, 0x0f79: 0xad810e02, 0x0f7a: 0x40040020, 0x0f7b: 0x40040220,\n\t0x0f7c: 0x40040420, 0x0f7d: 0x40040620, 0x0f7e: 0xa0000000, 0x0f7f: 0xa0000000,\n\t// Block 0x3e, offset 0xf80\n\t0x0f80: 0x404a7620, 0x0f81: 0x404a7c20, 0x0f82: 0x404a8020, 0x0f83: 0xe0001fe4,\n\t0x0f84: 0x404a8420, 0x0f85: 0x404a8820, 0x0f86: 0x404a8c20, 0x0f87: 0x404a9020,\n\t0x0f89: 0x404a9420, 0x0f8a: 0x404a9820, 0x0f8b: 0x404a9c20,\n\t0x0f8c: 0x404aa020, 0x0f8d: 0xe0001fea, 0x0f8e: 0x404aa420, 0x0f8f: 0x404aa820,\n\t0x0f90: 0x404aac20, 0x0f91: 0x404ab020, 0x0f92: 0xe0001ff0, 0x0f93: 0x404ab420,\n\t0x0f94: 0x404ab820, 0x0f95: 0x404abc20, 0x0f96: 0x404ac020, 0x0f97: 0xe0001ff6,\n\t0x0f98: 0x404ac420, 0x0f99: 0x404ac820, 0x0f9a: 0x404acc20, 0x0f9b: 0x404ad020,\n\t0x0f9c: 0xe0001ffc, 0x0f9d: 0x404ad420, 0x0f9e: 0x404ad820, 0x0f9f: 0x404adc20,\n\t0x0fa0: 0x404ae020, 0x0fa1: 0x404ae420, 0x0fa2: 0x404ae820, 0x0fa3: 0x404aee20,\n\t0x0fa4: 0x404af220, 0x0fa5: 0x404af620, 0x0fa6: 0x404afa20, 0x0fa7: 0x404afe20,\n\t0x0fa8: 0x404b0220, 0x0fa9: 0xe0001fde, 0x0faa: 0xe0002008, 0x0fab: 0x404a7a20,\n\t0x0fac: 0x404aec20,\n\t0x0fb1: 0xc30f0751, 0x0fb2: 0x8282258c, 0x0fb3: 0x8281258d,\n\t0x0fb4: 0x82842590, 0x0fb5: 0x82812591, 0x0fb6: 0x404b2420, 0x0fb7: 0x404b2620,\n\t0x0fb8: 0x404b2820, 0x0fb9: 0x404b2a20, 0x0fba: 0x82822596, 0x0fbb: 0x82822597,\n\t0x0fbc: 0x82822598, 0x0fbd: 0x82822599, 0x0fbe: 0xa000f302, 0x0fbf: 0xa000f402,\n\t// Block 0x3f, offset 0xfc0\n\t0x0fc0: 0x8282258e, 0x0fc1: 0x8281258f, 0x0fc2: 0xae600000, 0x0fc3: 0xae600000,\n\t0x0fc4: 0x8209259a, 0x0fc5: 0x4005a220, 0x0fc6: 0xae600000, 0x0fc7: 0xae600000,\n\t0x0fc8: 0x404b0620, 0x0fc9: 0x404b0a20, 0x0fca: 0x404b1220, 0x0fcb: 0x404b1420,\n\t0x0fcc: 0x404b0e20, 0x0fcd: 0x404b0820, 0x0fce: 0x404b0c20, 0x0fcf: 0x404b1020,\n\t0x0fd0: 0x404a7820, 0x0fd1: 0x404a7e20, 0x0fd2: 0x404a8220, 0x0fd3: 0xe0001fe7,\n\t0x0fd4: 0x404a8620, 0x0fd5: 0x404a8a20, 0x0fd6: 0x404a8e20, 0x0fd7: 0x404a9220,\n\t0x0fd9: 0x404a9620, 0x0fda: 0x404a9a20, 0x0fdb: 0x404a9e20,\n\t0x0fdc: 0x404aa220, 0x0fdd: 0xe0001fed, 0x0fde: 0x404aa620, 0x0fdf: 0x404aaa20,\n\t0x0fe0: 0x404aae20, 0x0fe1: 0x404ab220, 0x0fe2: 0xe0001ff3, 0x0fe3: 0x404ab620,\n\t0x0fe4: 0x404aba20, 0x0fe5: 0x404abe20, 0x0fe6: 0x404ac220, 0x0fe7: 0xe0001ff9,\n\t0x0fe8: 0x404ac620, 0x0fe9: 0x404aca20, 0x0fea: 0x404ace20, 0x0feb: 0x404ad220,\n\t0x0fec: 0xe0001fff, 0x0fed: 0x404ad620, 0x0fee: 0x404ada20, 0x0fef: 0x404ade20,\n\t0x0ff0: 0x404ae220, 0x0ff1: 0x404ae620, 0x0ff2: 0xc30306a1, 0x0ff3: 0xc30906a1,\n\t0x0ff4: 0x404af420, 0x0ff5: 0x404af820, 0x0ff6: 0x404afc20, 0x0ff7: 0x404b0020,\n\t0x0ff8: 0x404b0420, 0x0ff9: 0xe0001fe1, 0x0ffa: 0xe0002002, 0x0ffb: 0xe0002005,\n\t0x0ffc: 0xe000200b, 0x0ffe: 0x40077e20, 0x0fff: 0x40078020,\n\t// Block 0x40, offset 0x1000\n\t0x1000: 0x40078220, 0x1001: 0x40078420, 0x1002: 0x40078620, 0x1003: 0x40078820,\n\t0x1004: 0x40078a20, 0x1005: 0x40078c20, 0x1006: 0xadc00000, 0x1007: 0x40078e20,\n\t0x1008: 0x40079020, 0x1009: 0x40079220, 0x100a: 0x40079420, 0x100b: 0x40079620,\n\t0x100c: 0x40079820, 0x100e: 0x40079a20, 0x100f: 0x40079c20,\n\t0x1010: 0x40059020, 0x1011: 0x40059220, 0x1012: 0x4005a420, 0x1013: 0x4005a620,\n\t0x1014: 0x4005a820, 0x1015: 0x40079e20, 0x1016: 0x4007a020, 0x1017: 0x4007a220,\n\t0x1018: 0x4007a420, 0x1019: 0x4005aa20, 0x101a: 0x4005ac20,\n\t// Block 0x41, offset 0x1040\n\t0x1040: 0x404e1420, 0x1041: 0x404e1820, 0x1042: 0x404e1c20, 0x1043: 0x404e2220,\n\t0x1044: 0x404e2420, 0x1045: 0x404e2820, 0x1046: 0x404e2e20, 0x1047: 0x404e3220,\n\t0x1048: 0x404e3a20, 0x1049: 0x404e4220, 0x104a: 0x404e4820, 0x104b: 0x404e4a20,\n\t0x104c: 0x404e4e20, 0x104d: 0x404e5220, 0x104e: 0x404e5620, 0x104f: 0x404e5a20,\n\t0x1050: 0x404e5e20, 0x1051: 0x404e6020, 0x1052: 0x404e6220, 0x1053: 0x404e6620,\n\t0x1054: 0x404e6a20, 0x1055: 0x404e7220, 0x1056: 0x404e7420, 0x1057: 0x404e7e20,\n\t0x1058: 0x404e8220, 0x1059: 0x404e8420, 0x105a: 0x404e8820, 0x105b: 0x404e8c20,\n\t0x105c: 0x404e9420, 0x105d: 0x404e9820, 0x105e: 0x404ea620, 0x105f: 0x404eaa20,\n\t0x1060: 0x404eb620, 0x1061: 0x404ec220, 0x1062: 0x404ec420, 0x1063: 0x404ec620,\n\t0x1064: 0x404ec820, 0x1065: 0xc31307b1, 0x1066: 0x404ecc20, 0x1067: 0x404ed620,\n\t0x1068: 0x404ed820, 0x1069: 0x404eda20, 0x106a: 0x404edc20, 0x106b: 0x004ede84,\n\t0x106c: 0x404ede20, 0x106d: 0x404ee620, 0x106e: 0x404eea20, 0x106f: 0x404eee20,\n\t0x1070: 0x404ef420, 0x1071: 0x404efe20, 0x1072: 0x404f0620, 0x1073: 0x404eec20,\n\t0x1074: 0x404f0a20, 0x1075: 0x404f0220, 0x1076: 0xa000f302, 0x1077: 0xa0711202,\n\t0x1078: 0xa000f402, 0x1079: 0x8209278a, 0x107a: 0x8209278b, 0x107b: 0x404e8a20,\n\t0x107c: 0x404e9220, 0x107d: 0x404e9a20, 0x107e: 0x404eb020, 0x107f: 0xe000201e,\n\t// Block 0x42, offset 0x1080\n\t0x1080: 0xe00001ac, 0x1081: 0xe0000240, 0x1082: 0xe0000358, 0x1083: 0xe0000432,\n\t0x1084: 0xe0000507, 0x1085: 0xe00005d1, 0x1086: 0xe000069c, 0x1087: 0xe0000744,\n\t0x1088: 0xe00007f0, 0x1089: 0xe0000895, 0x108a: 0x40032220, 0x108b: 0x40032420,\n\t0x108c: 0x4005b420, 0x108d: 0x4005b620, 0x108e: 0x4005b820, 0x108f: 0x4005ba20,\n\t0x1090: 0x404ea020, 0x1091: 0x404ea220, 0x1092: 0x404ece20, 0x1093: 0x404ed020,\n\t0x1094: 0x404ed220, 0x1095: 0x404ed420, 0x1096: 0x404ef620, 0x1097: 0x404ef820,\n\t0x1098: 0x404efa20, 0x1099: 0x404efc20, 0x109a: 0x404e2620, 0x109b: 0x404e3c20,\n\t0x109c: 0x404eb820, 0x109d: 0x404eba20, 0x109e: 0x404e7020, 0x109f: 0x404e8620,\n\t0x10a0: 0x404e9620, 0x10a1: 0x404e4020, 0x10a2: 0x404f0c20, 0x10a3: 0x404f1820,\n\t0x10a4: 0x404f1a20, 0x10a5: 0x404ea420, 0x10a6: 0x404ec020, 0x10a7: 0x404f0e20,\n\t0x10a8: 0x404f1020, 0x10a9: 0x404f1c20, 0x10aa: 0x404f1e20, 0x10ab: 0x404f2020,\n\t0x10ac: 0x404f2220, 0x10ad: 0x404f2420, 0x10ae: 0x404e5c20, 0x10af: 0x404ebc20,\n\t0x10b0: 0x404ebe20, 0x10b1: 0x404ee820, 0x10b2: 0x404ee220, 0x10b3: 0x404ef020,\n\t0x10b4: 0x404ef220, 0x10b5: 0x404e1620, 0x10b6: 0x404e1a20, 0x10b7: 0x404e1e20,\n\t0x10b8: 0x404e2a20, 0x10b9: 0x404e3620, 0x10ba: 0x404e4420, 0x10bb: 0x404e6420,\n\t0x10bc: 0x404e6c20, 0x10bd: 0x404e7620, 0x10be: 0x404e7820, 0x10bf: 0x404e8020,\n\t// Block 0x43, offset 0x10c0\n\t0x10c0: 0x404e9e20, 0x10c1: 0x404eac20, 0x10c2: 0x404e9c20, 0x10c3: 0x404ee020,\n\t0x10c4: 0x404f0020, 0x10c5: 0x404f0420, 0x10c6: 0x404f1220, 0x10c7: 0x404f2620,\n\t0x10c8: 0x404f2a20, 0x10c9: 0x404f2e20, 0x10ca: 0x404f3020, 0x10cb: 0x404f2820,\n\t0x10cc: 0x404f2c20, 0x10cd: 0xadc11302, 0x10ce: 0x404e7c20, 0x10cf: 0x404f3220,\n\t0x10d0: 0xe00001af, 0x10d1: 0xe0000243, 0x10d2: 0xe000035b, 0x10d3: 0xe0000435,\n\t0x10d4: 0xe000050a, 0x10d5: 0xe00005d4, 0x10d6: 0xe000069f, 0x10d7: 0xe0000747,\n\t0x10d8: 0xe00007f3, 0x10d9: 0xe0000898, 0x10da: 0x404f3420, 0x10db: 0x404f3620,\n\t0x10dc: 0x404ee420, 0x10dd: 0x404f0820, 0x10de: 0x4007a820, 0x10df: 0x4007aa20,\n\t0x10e0: 0x00379888, 0x10e1: 0x00379c88, 0x10e2: 0x0037a088, 0x10e3: 0x0037a488,\n\t0x10e4: 0x0037a888, 0x10e5: 0x0037ac88, 0x10e6: 0x0037b088, 0x10e7: 0x0037b888,\n\t0x10e8: 0x0037bc88, 0x10e9: 0x0037c088, 0x10ea: 0x0037c488, 0x10eb: 0x0037c888,\n\t0x10ec: 0x0037cc88, 0x10ed: 0x0037d488, 0x10ee: 0x0037d888, 0x10ef: 0x0037dc88,\n\t0x10f0: 0x0037e088, 0x10f1: 0x0037e488, 0x10f2: 0x0037e888, 0x10f3: 0x0037f088,\n\t0x10f4: 0x0037f488, 0x10f5: 0x0037f888, 0x10f6: 0x0037fc88, 0x10f7: 0x00380088,\n\t0x10f8: 0x00380488, 0x10f9: 0x00380888, 0x10fa: 0x00380c88, 0x10fb: 0x00381088,\n\t0x10fc: 0x00381488, 0x10fd: 0x00381888, 0x10fe: 0x00381c88, 0x10ff: 0x00382488,\n\t// Block 0x44, offset 0x1100\n\t0x1100: 0x00382888, 0x1101: 0x0037b488, 0x1102: 0x0037d088, 0x1103: 0x0037ec88,\n\t0x1104: 0x00382088, 0x1105: 0x00382c88, 0x1107: 0x00383288,\n\t0x110d: 0x00383c88,\n\t0x1110: 0x40379620, 0x1111: 0x40379a20, 0x1112: 0x40379e20, 0x1113: 0x4037a220,\n\t0x1114: 0x4037a620, 0x1115: 0x4037aa20, 0x1116: 0x4037ae20, 0x1117: 0x4037b620,\n\t0x1118: 0x4037ba20, 0x1119: 0x4037be20, 0x111a: 0x4037c220, 0x111b: 0x4037c620,\n\t0x111c: 0x4037ca20, 0x111d: 0x4037d220, 0x111e: 0x4037d620, 0x111f: 0x4037da20,\n\t0x1120: 0x4037de20, 0x1121: 0x4037e220, 0x1122: 0x4037e620, 0x1123: 0x4037ee20,\n\t0x1124: 0x4037f220, 0x1125: 0x4037f620, 0x1126: 0x4037fa20, 0x1127: 0x4037fe20,\n\t0x1128: 0x40380220, 0x1129: 0x40380620, 0x112a: 0x40380a20, 0x112b: 0x40380e20,\n\t0x112c: 0x40381220, 0x112d: 0x40381620, 0x112e: 0x40381a20, 0x112f: 0x40382220,\n\t0x1130: 0x40382620, 0x1131: 0x4037b220, 0x1132: 0x4037ce20, 0x1133: 0x4037ea20,\n\t0x1134: 0x40381e20, 0x1135: 0x40382a20, 0x1136: 0x40382e20, 0x1137: 0x40383020,\n\t0x1138: 0x40383420, 0x1139: 0x40383620, 0x113a: 0x40383820, 0x113b: 0x40036020,\n\t0x113c: 0x0037ca94, 0x113d: 0x40383a20, 0x113e: 0x40383e20, 0x113f: 0x40384020,\n\t// Block 0x45, offset 0x1140\n\t0x1140: 0x4062ac20, 0x1141: 0x4062ae20, 0x1142: 0x4062b020, 0x1143: 0x4062b220,\n\t0x1144: 0x4062b420, 0x1145: 0x4062b620, 0x1146: 0x4062b820, 0x1147: 0x4062ba20,\n\t0x1148: 0x4062bc20, 0x1149: 0x4062be20, 0x114a: 0x4062c020, 0x114b: 0x4062c220,\n\t0x114c: 0x4062c420, 0x114d: 0x4062c620, 0x114e: 0x4062c820, 0x114f: 0x4062ca20,\n\t0x1150: 0x4062cc20, 0x1151: 0x4062ce20, 0x1152: 0x4062d020, 0x1153: 0x4062d220,\n\t0x1154: 0x4062d420, 0x1155: 0x4062d620, 0x1156: 0x4062d820, 0x1157: 0x4062da20,\n\t0x1158: 0x4062dc20, 0x1159: 0x4062de20, 0x115a: 0x4062e020, 0x115b: 0x4062e220,\n\t0x115c: 0x4062e420, 0x115d: 0x4062e620, 0x115e: 0x4062e820, 0x115f: 0x4062ea20,\n\t0x1160: 0x4062ec20, 0x1161: 0x4062ee20, 0x1162: 0x4062f020, 0x1163: 0x4062f220,\n\t0x1164: 0x4062f420, 0x1165: 0x4062f620, 0x1166: 0x4062f820, 0x1167: 0x4062fa20,\n\t0x1168: 0x4062fc20, 0x1169: 0x4062fe20, 0x116a: 0x40630020, 0x116b: 0x40630220,\n\t0x116c: 0x40630420, 0x116d: 0x40630620, 0x116e: 0x40630820, 0x116f: 0x40630a20,\n\t0x1170: 0x40630c20, 0x1171: 0x40630e20, 0x1172: 0x40631020, 0x1173: 0x40631220,\n\t0x1174: 0x40631420, 0x1175: 0x40631620, 0x1176: 0x40631820, 0x1177: 0x40631a20,\n\t0x1178: 0x40631c20, 0x1179: 0x40631e20, 0x117a: 0x40632020, 0x117b: 0x40632220,\n\t0x117c: 0x40632420, 0x117d: 0x40632620, 0x117e: 0x40632820, 0x117f: 0x40632a20,\n\t// Block 0x46, offset 0x1180\n\t0x1180: 0x40632c20, 0x1181: 0x40632e20, 0x1182: 0x40633020, 0x1183: 0x40633220,\n\t0x1184: 0x40633420, 0x1185: 0x40633620, 0x1186: 0x40633820, 0x1187: 0x40633a20,\n\t0x1188: 0x40633c20, 0x1189: 0x40633e20, 0x118a: 0x40634020, 0x118b: 0x40634220,\n\t0x118c: 0x40634420, 0x118d: 0x40634620, 0x118e: 0x40634820, 0x118f: 0x40634a20,\n\t0x1190: 0x40634c20, 0x1191: 0x40634e20, 0x1192: 0x40635020, 0x1193: 0x40635220,\n\t0x1194: 0x40635420, 0x1195: 0x40635620, 0x1196: 0x40635820, 0x1197: 0x40635a20,\n\t0x1198: 0x40635c20, 0x1199: 0x40635e20, 0x119a: 0x40636020, 0x119b: 0x40636220,\n\t0x119c: 0x40636420, 0x119d: 0x40636620, 0x119e: 0x40636820, 0x119f: 0x4063a420,\n\t0x11a0: 0x4063a620, 0x11a1: 0x4063a820, 0x11a2: 0x4063aa20, 0x11a3: 0x4063ac20,\n\t0x11a4: 0x4063ae20, 0x11a5: 0x4063b020, 0x11a6: 0x4063b220, 0x11a7: 0x4063b420,\n\t0x11a8: 0x4063b620, 0x11a9: 0x4063b820, 0x11aa: 0x4063ba20, 0x11ab: 0x4063bc20,\n\t0x11ac: 0x4063be20, 0x11ad: 0x4063c020, 0x11ae: 0x4063c220, 0x11af: 0x4063c420,\n\t0x11b0: 0x4063c620, 0x11b1: 0x4063c820, 0x11b2: 0x4063ca20, 0x11b3: 0x4063cc20,\n\t0x11b4: 0x4063ce20, 0x11b5: 0x4063d020, 0x11b6: 0x4063d220, 0x11b7: 0x4063d420,\n\t0x11b8: 0x4063d620, 0x11b9: 0x4063d820, 0x11ba: 0x4063da20, 0x11bb: 0x4063dc20,\n\t0x11bc: 0x4063de20, 0x11bd: 0x4063e020, 0x11be: 0x4063e220, 0x11bf: 0x4063e420,\n\t// Block 0x47, offset 0x11c0\n\t0x11c0: 0x4063e620, 0x11c1: 0x4063e820, 0x11c2: 0x4063ea20, 0x11c3: 0x4063ec20,\n\t0x11c4: 0x4063ee20, 0x11c5: 0x4063f020, 0x11c6: 0x4063f220, 0x11c7: 0x4063f420,\n\t0x11c8: 0x4063f620, 0x11c9: 0x4063f820, 0x11ca: 0x4063fa20, 0x11cb: 0x4063fc20,\n\t0x11cc: 0x4063fe20, 0x11cd: 0x40640020, 0x11ce: 0x40640220, 0x11cf: 0x40640420,\n\t0x11d0: 0x40640620, 0x11d1: 0x40640820, 0x11d2: 0x40640a20, 0x11d3: 0x40640c20,\n\t0x11d4: 0x40640e20, 0x11d5: 0x40641020, 0x11d6: 0x40641220, 0x11d7: 0x40641420,\n\t0x11d8: 0x40641620, 0x11d9: 0x40641820, 0x11da: 0x40641a20, 0x11db: 0x40641c20,\n\t0x11dc: 0x40641e20, 0x11dd: 0x40642020, 0x11de: 0x40642220, 0x11df: 0x40642420,\n\t0x11e0: 0x40642620, 0x11e1: 0x40642820, 0x11e2: 0x40642a20, 0x11e3: 0x40642c20,\n\t0x11e4: 0x40642e20, 0x11e5: 0x40643020, 0x11e6: 0x40643220, 0x11e7: 0x40643420,\n\t0x11e8: 0x40646420, 0x11e9: 0x40646620, 0x11ea: 0x40646820, 0x11eb: 0x40646a20,\n\t0x11ec: 0x40646c20, 0x11ed: 0x40646e20, 0x11ee: 0x40647020, 0x11ef: 0x40647220,\n\t0x11f0: 0x40647420, 0x11f1: 0x40647620, 0x11f2: 0x40647820, 0x11f3: 0x40647a20,\n\t0x11f4: 0x40647c20, 0x11f5: 0x40647e20, 0x11f6: 0x40648020, 0x11f7: 0x40648220,\n\t0x11f8: 0x40648420, 0x11f9: 0x40648620, 0x11fa: 0x40648820, 0x11fb: 0x40648a20,\n\t0x11fc: 0x40648c20, 0x11fd: 0x40648e20, 0x11fe: 0x40649020, 0x11ff: 0x40649220,\n\t// Block 0x48, offset 0x1200\n\t0x1200: 0x40649420, 0x1201: 0x40649620, 0x1202: 0x40649820, 0x1203: 0x40649a20,\n\t0x1204: 0x40649c20, 0x1205: 0x40649e20, 0x1206: 0x4064a020, 0x1207: 0x4064a220,\n\t0x1208: 0x4064a420, 0x1209: 0x4064a620, 0x120a: 0x4064a820, 0x120b: 0x4064aa20,\n\t0x120c: 0x4064ac20, 0x120d: 0x4064ae20, 0x120e: 0x4064b020, 0x120f: 0x4064b220,\n\t0x1210: 0x4064b420, 0x1211: 0x4064b620, 0x1212: 0x4064b820, 0x1213: 0x4064ba20,\n\t0x1214: 0x4064bc20, 0x1215: 0x4064be20, 0x1216: 0x4064c020, 0x1217: 0x4064c220,\n\t0x1218: 0x4064c420, 0x1219: 0x4064c620, 0x121a: 0x4064c820, 0x121b: 0x4064ca20,\n\t0x121c: 0x4064cc20, 0x121d: 0x4064ce20, 0x121e: 0x4064d020, 0x121f: 0x4064d220,\n\t0x1220: 0x4064d420, 0x1221: 0x4064d620, 0x1222: 0x4064d820, 0x1223: 0x4064da20,\n\t0x1224: 0x4064dc20, 0x1225: 0x4064de20, 0x1226: 0x4064e020, 0x1227: 0x4064e220,\n\t0x1228: 0x4064e420, 0x1229: 0x4064e620, 0x122a: 0x4064e820, 0x122b: 0x4064ea20,\n\t0x122c: 0x4064ec20, 0x122d: 0x4064ee20, 0x122e: 0x4064f020, 0x122f: 0x4064f220,\n\t0x1230: 0x4064f420, 0x1231: 0x4064f620, 0x1232: 0x4064f820, 0x1233: 0x4064fa20,\n\t0x1234: 0x4064fc20, 0x1235: 0x4064fe20, 0x1236: 0x40650020, 0x1237: 0x40650220,\n\t0x1238: 0x40650420, 0x1239: 0x40650620, 0x123a: 0x40650820, 0x123b: 0x40650a20,\n\t0x123c: 0x40650c20, 0x123d: 0x40650e20, 0x123e: 0x40651020, 0x123f: 0x40651220,\n\t// Block 0x49, offset 0x1240\n\t0x1240: 0x403c2e20, 0x1241: 0x403c3020, 0x1242: 0x403c3220, 0x1243: 0x403c3420,\n\t0x1244: 0x403c3620, 0x1245: 0x403c3820, 0x1246: 0x403c3a20, 0x1247: 0x403c3c20,\n\t0x1248: 0x403c3e20, 0x1249: 0x403c4020, 0x124a: 0x403c4220, 0x124b: 0x403c4420,\n\t0x124c: 0x403c4620, 0x124d: 0x403c4820, 0x124e: 0x403c4a20, 0x124f: 0x403c4c20,\n\t0x1250: 0x403c5020, 0x1251: 0x403c5220, 0x1252: 0x403c5420, 0x1253: 0x403c5620,\n\t0x1254: 0x403c5820, 0x1255: 0x403c5a20, 0x1256: 0x403c5c20, 0x1257: 0x403c5e20,\n\t0x1258: 0x403c6020, 0x1259: 0x403c6220, 0x125a: 0x403c6420, 0x125b: 0x403c6620,\n\t0x125c: 0x403c6820, 0x125d: 0x403c6a20, 0x125e: 0x403c6c20, 0x125f: 0x403c6e20,\n\t0x1260: 0x403c7a20, 0x1261: 0x403c7c20, 0x1262: 0x403c7e20, 0x1263: 0x403c8020,\n\t0x1264: 0x403c8220, 0x1265: 0x403c8420, 0x1266: 0x403c8620, 0x1267: 0x403c8820,\n\t0x1268: 0x403c8a20, 0x1269: 0x403c8c20, 0x126a: 0x403c8e20, 0x126b: 0x403c9020,\n\t0x126c: 0x403c9220, 0x126d: 0x403c9420, 0x126e: 0x403c9620, 0x126f: 0x403c9820,\n\t0x1270: 0x403c9c20, 0x1271: 0x403c9e20, 0x1272: 0x403ca020, 0x1273: 0x403ca220,\n\t0x1274: 0x403ca420, 0x1275: 0x403ca620, 0x1276: 0x403ca820, 0x1277: 0x403caa20,\n\t0x1278: 0x403cba20, 0x1279: 0x403cbc20, 0x127a: 0x403cbe20, 0x127b: 0x403cc020,\n\t0x127c: 0x403cc220, 0x127d: 0x403cc420, 0x127e: 0x403cc620, 0x127f: 0x403cc820,\n\t// Block 0x4a, offset 0x1280\n\t0x1280: 0x403ccc20, 0x1281: 0x403cce20, 0x1282: 0x403cd020, 0x1283: 0x403cd220,\n\t0x1284: 0x403cd420, 0x1285: 0x403cd620, 0x1286: 0x403cd820, 0x1287: 0x403cda20,\n\t0x1288: 0x403cdc20, 0x128a: 0x403cde20, 0x128b: 0x403ce020,\n\t0x128c: 0x403ce220, 0x128d: 0x403ce420,\n\t0x1290: 0x403ce620, 0x1291: 0x403ce820, 0x1292: 0x403cea20, 0x1293: 0x403cec20,\n\t0x1294: 0x403cee20, 0x1295: 0x403cf020, 0x1296: 0x403cf220,\n\t0x1298: 0x403cf420, 0x129a: 0x403cf620, 0x129b: 0x403cf820,\n\t0x129c: 0x403cfa20, 0x129d: 0x403cfc20,\n\t0x12a0: 0x403cfe20, 0x12a1: 0x403d0020, 0x12a2: 0x403d0220, 0x12a3: 0x403d0420,\n\t0x12a4: 0x403d0620, 0x12a5: 0x403d0820, 0x12a6: 0x403d0a20, 0x12a7: 0x403d0c20,\n\t0x12a8: 0x403d1820, 0x12a9: 0x403d1a20, 0x12aa: 0x403d1c20, 0x12ab: 0x403d1e20,\n\t0x12ac: 0x403d2020, 0x12ad: 0x403d2220, 0x12ae: 0x403d2420, 0x12af: 0x403d2620,\n\t0x12b0: 0x403d2820, 0x12b1: 0x403d2a20, 0x12b2: 0x403d2c20, 0x12b3: 0x403d2e20,\n\t0x12b4: 0x403d3020, 0x12b5: 0x403d3220, 0x12b6: 0x403d3420, 0x12b7: 0x403d3620,\n\t0x12b8: 0x403d3a20, 0x12b9: 0x403d3c20, 0x12ba: 0x403d3e20, 0x12bb: 0x403d4020,\n\t0x12bc: 0x403d4220, 0x12bd: 0x403d4420, 0x12be: 0x403d4620, 0x12bf: 0x403d4820,\n\t// Block 0x4b, offset 0x12c0\n\t0x12c0: 0x403d4c20, 0x12c1: 0x403d4e20, 0x12c2: 0x403d5020, 0x12c3: 0x403d5220,\n\t0x12c4: 0x403d5420, 0x12c5: 0x403d5620, 0x12c6: 0x403d5820, 0x12c7: 0x403d5a20,\n\t0x12c8: 0x403d5c20, 0x12ca: 0x403d5e20, 0x12cb: 0x403d6020,\n\t0x12cc: 0x403d6220, 0x12cd: 0x403d6420,\n\t0x12d0: 0x403d6620, 0x12d1: 0x403d6820, 0x12d2: 0x403d6a20, 0x12d3: 0x403d6c20,\n\t0x12d4: 0x403d6e20, 0x12d5: 0x403d7020, 0x12d6: 0x403d7220, 0x12d7: 0x403d7420,\n\t0x12d8: 0x403d7820, 0x12d9: 0x403d7a20, 0x12da: 0x403d7c20, 0x12db: 0x403d7e20,\n\t0x12dc: 0x403d8020, 0x12dd: 0x403d8220, 0x12de: 0x403d8420, 0x12df: 0x403d8620,\n\t0x12e0: 0x403d8a20, 0x12e1: 0x403d8c20, 0x12e2: 0x403d8e20, 0x12e3: 0x403d9020,\n\t0x12e4: 0x403d9220, 0x12e5: 0x403d9420, 0x12e6: 0x403d9620, 0x12e7: 0x403d9820,\n\t0x12e8: 0x403d9c20, 0x12e9: 0x403d9e20, 0x12ea: 0x403da020, 0x12eb: 0x403da220,\n\t0x12ec: 0x403da420, 0x12ed: 0x403da620, 0x12ee: 0x403da820, 0x12ef: 0x403daa20,\n\t0x12f0: 0x403dac20, 0x12f2: 0x403dae20, 0x12f3: 0x403db020,\n\t0x12f4: 0x403db220, 0x12f5: 0x403db420,\n\t0x12f8: 0x403db620, 0x12f9: 0x403db820, 0x12fa: 0x403dba20, 0x12fb: 0x403dbc20,\n\t0x12fc: 0x403dbe20, 0x12fd: 0x403dc020, 0x12fe: 0x403dc220,\n\t// Block 0x4c, offset 0x1300\n\t0x1300: 0x403dc420, 0x1302: 0x403dc620, 0x1303: 0x403dc820,\n\t0x1304: 0x403dca20, 0x1305: 0x403dcc20,\n\t0x1308: 0x403dce20, 0x1309: 0x403dd020, 0x130a: 0x403dd220, 0x130b: 0x403dd420,\n\t0x130c: 0x403dd620, 0x130d: 0x403dd820, 0x130e: 0x403dda20, 0x130f: 0x403ddc20,\n\t0x1310: 0x403dde20, 0x1311: 0x403de020, 0x1312: 0x403de220, 0x1313: 0x403de420,\n\t0x1314: 0x403de620, 0x1315: 0x403de820, 0x1316: 0x403dea20,\n\t0x1318: 0x403dec20, 0x1319: 0x403dee20, 0x131a: 0x403df020, 0x131b: 0x403df220,\n\t0x131c: 0x403df420, 0x131d: 0x403df620, 0x131e: 0x403df820, 0x131f: 0x403dfa20,\n\t0x1320: 0x403e0a20, 0x1321: 0x403e0c20, 0x1322: 0x403e0e20, 0x1323: 0x403e1020,\n\t0x1324: 0x403e1220, 0x1325: 0x403e1420, 0x1326: 0x403e1620, 0x1327: 0x403e1820,\n\t0x1328: 0x403e1a20, 0x1329: 0x403e1c20, 0x132a: 0x403e1e20, 0x132b: 0x403e2020,\n\t0x132c: 0x403e2220, 0x132d: 0x403e2420, 0x132e: 0x403e2620, 0x132f: 0x403e2820,\n\t0x1330: 0x403e2a20, 0x1331: 0x403e2c20, 0x1332: 0x403e2e20, 0x1333: 0x403e3020,\n\t0x1334: 0x403e3220, 0x1335: 0x403e3420, 0x1336: 0x403e3620, 0x1337: 0x403e3820,\n\t0x1338: 0x403e4820, 0x1339: 0x403e4a20, 0x133a: 0x403e4c20, 0x133b: 0x403e4e20,\n\t0x133c: 0x403e5020, 0x133d: 0x403e5220, 0x133e: 0x403e5420, 0x133f: 0x403e5620,\n\t// Block 0x4d, offset 0x1340\n\t0x1340: 0x403e5a20, 0x1341: 0x403e5c20, 0x1342: 0x403e5e20, 0x1343: 0x403e6020,\n\t0x1344: 0x403e6220, 0x1345: 0x403e6420, 0x1346: 0x403e6620, 0x1347: 0x403e6820,\n\t0x1348: 0x403e6c20, 0x1349: 0x403e6e20, 0x134a: 0x403e7020, 0x134b: 0x403e7220,\n\t0x134c: 0x403e7420, 0x134d: 0x403e7620, 0x134e: 0x403e7820, 0x134f: 0x403e7a20,\n\t0x1350: 0x403e7c20, 0x1352: 0x403e7e20, 0x1353: 0x403e8020,\n\t0x1354: 0x403e8220, 0x1355: 0x403e8420,\n\t0x1358: 0x403e8620, 0x1359: 0x403e8820, 0x135a: 0x403e8a20, 0x135b: 0x403e8c20,\n\t0x135c: 0x403e8e20, 0x135d: 0x403e9020, 0x135e: 0x403e9220, 0x135f: 0x403e9420,\n\t0x1360: 0x403e9e20, 0x1361: 0x403ea020, 0x1362: 0x403ea220, 0x1363: 0x403ea420,\n\t0x1364: 0x403ea620, 0x1365: 0x403ea820, 0x1366: 0x403eaa20, 0x1367: 0x403eac20,\n\t0x1368: 0x403eb020, 0x1369: 0x403eb220, 0x136a: 0x403eb420, 0x136b: 0x403eb620,\n\t0x136c: 0x403eb820, 0x136d: 0x403eba20, 0x136e: 0x403ebc20, 0x136f: 0x403ebe20,\n\t0x1370: 0x403ed020, 0x1371: 0x403ed220, 0x1372: 0x403ed420, 0x1373: 0x403ed620,\n\t0x1374: 0x403ed820, 0x1375: 0x403eda20, 0x1376: 0x403edc20, 0x1377: 0x403ede20,\n\t0x1378: 0x403ee220, 0x1379: 0x403ee420, 0x137a: 0x403ee620, 0x137b: 0x403ee820,\n\t0x137c: 0x403eea20, 0x137d: 0x403eec20, 0x137e: 0x403eee20, 0x137f: 0x403ef020,\n\t// Block 0x4e, offset 0x1380\n\t0x1380: 0x403f0020, 0x1381: 0x403f0220, 0x1382: 0x403f0420, 0x1383: 0x403f0620,\n\t0x1384: 0x403f0820, 0x1385: 0x403f0a20, 0x1386: 0x403f0c20, 0x1387: 0x403f0e20,\n\t0x1388: 0x403f1020, 0x1389: 0x403f1220, 0x138a: 0x403f1420, 0x138b: 0x403f1620,\n\t0x138c: 0x403f1820, 0x138d: 0x403f1a20, 0x138e: 0x403f1c20, 0x138f: 0x403f1e20,\n\t0x1390: 0x403f2820, 0x1391: 0x403f2a20, 0x1392: 0x403f2c20, 0x1393: 0x403f2e20,\n\t0x1394: 0x403f3020, 0x1395: 0x403f3220, 0x1396: 0x403f3420, 0x1397: 0x403f3620,\n\t0x1398: 0x403f4220, 0x1399: 0x403f4420, 0x139a: 0x403f4620,\n\t0x139d: 0xae60ee02, 0x139e: 0xae60ed02, 0x139f: 0xae60ec02,\n\t0x13a0: 0x40036220, 0x13a1: 0x40029c20, 0x13a2: 0x4002ee20, 0x13a3: 0x40029e20,\n\t0x13a4: 0x4002a020, 0x13a5: 0x4002a220, 0x13a6: 0x4002a420, 0x13a7: 0x4002d020,\n\t0x13a8: 0x40036420, 0x13a9: 0xe00001f2, 0x13aa: 0xe000030d, 0x13ab: 0xe00003e7,\n\t0x13ac: 0xe00004c2, 0x13ad: 0xe000058c, 0x13ae: 0xe0000657, 0x13af: 0xe00006ff,\n\t0x13b0: 0xe00007ab, 0x13b1: 0xe0000850, 0x13b2: 0x40286620, 0x13b3: 0x40286820,\n\t0x13b4: 0x40286a20, 0x13b5: 0x40286c20, 0x13b6: 0x40286e20, 0x13b7: 0x40287020,\n\t0x13b8: 0x40287220, 0x13b9: 0x40287420, 0x13ba: 0x40287620, 0x13bb: 0x40287820,\n\t0x13bc: 0x40287a20,\n\t// Block 0x4f, offset 0x13c0\n\t0x13c0: 0x403c7020, 0x13c1: 0x403c7220, 0x13c2: 0x403c7420, 0x13c3: 0x403c7620,\n\t0x13c4: 0x403d0e20, 0x13c5: 0x403d1020, 0x13c6: 0x403d1220, 0x13c7: 0x403d1420,\n\t0x13c8: 0x403f2020, 0x13c9: 0x403f2220, 0x13ca: 0x403f2420, 0x13cb: 0x403f2620,\n\t0x13cc: 0x403f3820, 0x13cd: 0x403f3a20, 0x13ce: 0x403f3c20, 0x13cf: 0x403f3e20,\n\t0x13d0: 0x4006a620, 0x13d1: 0x4006a820, 0x13d2: 0x4006aa20, 0x13d3: 0x4006ac20,\n\t0x13d4: 0x4006ae20, 0x13d5: 0x4006b020, 0x13d6: 0x4006b220, 0x13d7: 0x4006b420,\n\t0x13d8: 0x4006b620, 0x13d9: 0x4006b820,\n\t0x13e0: 0x40547620, 0x13e1: 0x40547820, 0x13e2: 0x40547a20, 0x13e3: 0x40547c20,\n\t0x13e4: 0x40547e20, 0x13e5: 0x40548020, 0x13e6: 0x40548220, 0x13e7: 0x40548420,\n\t0x13e8: 0x40548620, 0x13e9: 0x40548820, 0x13ea: 0x40548a20, 0x13eb: 0x40548c20,\n\t0x13ec: 0x40548e20, 0x13ed: 0x40549020, 0x13ee: 0x40549220, 0x13ef: 0x40549420,\n\t0x13f0: 0x40549620, 0x13f1: 0x40549820, 0x13f2: 0x40549a20, 0x13f3: 0x40549c20,\n\t0x13f4: 0x40549e20, 0x13f5: 0x4054a020, 0x13f6: 0x4054a220, 0x13f7: 0x4054a420,\n\t0x13f8: 0x4054a620, 0x13f9: 0x4054a820, 0x13fa: 0x4054aa20, 0x13fb: 0x4054ac20,\n\t0x13fc: 0x4054ae20, 0x13fd: 0x4054b020, 0x13fe: 0x4054b220, 0x13ff: 0x4054b420,\n\t// Block 0x50, offset 0x1400\n\t0x1400: 0x4054b620, 0x1401: 0x4054b820, 0x1402: 0x4054ba20, 0x1403: 0x4054bc20,\n\t0x1404: 0x4054be20, 0x1405: 0x4054c020, 0x1406: 0x4054c220, 0x1407: 0x4054c420,\n\t0x1408: 0x4054c620, 0x1409: 0x4054c820, 0x140a: 0x4054ca20, 0x140b: 0x4054cc20,\n\t0x140c: 0x4054ce20, 0x140d: 0x4054d020, 0x140e: 0x4054d220, 0x140f: 0x4054d420,\n\t0x1410: 0x4054d620, 0x1411: 0x4054d820, 0x1412: 0x4054da20, 0x1413: 0x4054dc20,\n\t0x1414: 0x4054de20, 0x1415: 0x4054e020, 0x1416: 0x4054e220, 0x1417: 0x4054e420,\n\t0x1418: 0x4054e620, 0x1419: 0x4054e820, 0x141a: 0x4054ea20, 0x141b: 0x4054ec20,\n\t0x141c: 0x4054ee20, 0x141d: 0x4054f020, 0x141e: 0x4054f220, 0x141f: 0x4054f420,\n\t0x1420: 0x4054f620, 0x1421: 0x4054f820, 0x1422: 0x4054fa20, 0x1423: 0x4054fc20,\n\t0x1424: 0x4054fe20, 0x1425: 0x40550020, 0x1426: 0x40550220, 0x1427: 0x40550420,\n\t0x1428: 0x40550620, 0x1429: 0x40550820, 0x142a: 0x40550a20, 0x142b: 0x40550c20,\n\t0x142c: 0x40550e20, 0x142d: 0x40551020, 0x142e: 0x40551220, 0x142f: 0x40551420,\n\t0x1430: 0x40551620, 0x1431: 0x40551820, 0x1432: 0x40551a20, 0x1433: 0x40551c20,\n\t0x1434: 0x40551e20,\n\t// Block 0x51, offset 0x1440\n\t0x1440: 0x40021e20, 0x1441: 0x40552020, 0x1442: 0x40552220, 0x1443: 0x40552420,\n\t0x1444: 0x40552620, 0x1445: 0x40552820, 0x1446: 0x40552a20, 0x1447: 0x40552c20,\n\t0x1448: 0x40552e20, 0x1449: 0x40553020, 0x144a: 0x40553220, 0x144b: 0x40553420,\n\t0x144c: 0x40553620, 0x144d: 0x40553820, 0x144e: 0x40553a20, 0x144f: 0x40553c20,\n\t0x1450: 0x40553e20, 0x1451: 0x40554020, 0x1452: 0x40554220, 0x1453: 0x40554420,\n\t0x1454: 0x40554620, 0x1455: 0x40554820, 0x1456: 0x40554a20, 0x1457: 0x40554c20,\n\t0x1458: 0x40554e20, 0x1459: 0x40555020, 0x145a: 0x40555220, 0x145b: 0x40555420,\n\t0x145c: 0x40555620, 0x145d: 0x40555820, 0x145e: 0x40555a20, 0x145f: 0x40555c20,\n\t0x1460: 0x40555e20, 0x1461: 0x40556020, 0x1462: 0x40556220, 0x1463: 0x40556420,\n\t0x1464: 0x40556620, 0x1465: 0x40556820, 0x1466: 0x40556a20, 0x1467: 0x40556c20,\n\t0x1468: 0x40556e20, 0x1469: 0x40557020, 0x146a: 0x40557220, 0x146b: 0x40557420,\n\t0x146c: 0x40557620, 0x146d: 0x40557820, 0x146e: 0x40557a20, 0x146f: 0x40557c20,\n\t0x1470: 0x40557e20, 0x1471: 0x40558020, 0x1472: 0x40558220, 0x1473: 0x40558420,\n\t0x1474: 0x40558620, 0x1475: 0x40558820, 0x1476: 0x40558a20, 0x1477: 0x40558c20,\n\t0x1478: 0x40558e20, 0x1479: 0x40559020, 0x147a: 0x40559220, 0x147b: 0x40559420,\n\t0x147c: 0x40559620, 0x147d: 0x40559820, 0x147e: 0x40559a20, 0x147f: 0x40559c20,\n\t// Block 0x52, offset 0x1480\n\t0x1480: 0x40559e20, 0x1481: 0x4055a020, 0x1482: 0x4055a220, 0x1483: 0x4055a420,\n\t0x1484: 0x4055a620, 0x1485: 0x4055a820, 0x1486: 0x4055aa20, 0x1487: 0x4055ac20,\n\t0x1488: 0x4055ae20, 0x1489: 0x4055b020, 0x148a: 0x4055b220, 0x148b: 0x4055b420,\n\t0x148c: 0x4055b620, 0x148d: 0x4055b820, 0x148e: 0x4055ba20, 0x148f: 0x4055bc20,\n\t0x1490: 0x4055be20, 0x1491: 0x4055c020, 0x1492: 0x4055c220, 0x1493: 0x4055c420,\n\t0x1494: 0x4055c620, 0x1495: 0x4055c820, 0x1496: 0x4055ca20, 0x1497: 0x4055cc20,\n\t0x1498: 0x4055ce20, 0x1499: 0x4055d020, 0x149a: 0x4055d220, 0x149b: 0x4055d420,\n\t0x149c: 0x4055d620, 0x149d: 0x4055d820, 0x149e: 0x4055da20, 0x149f: 0x4055dc20,\n\t0x14a0: 0x4055de20, 0x14a1: 0x4055e020, 0x14a2: 0x4055e220, 0x14a3: 0x4055e420,\n\t0x14a4: 0x4055e620, 0x14a5: 0x4055e820, 0x14a6: 0x4055ea20, 0x14a7: 0x4055ec20,\n\t0x14a8: 0x4055ee20, 0x14a9: 0x4055f020, 0x14aa: 0x4055f220, 0x14ab: 0x4055f420,\n\t0x14ac: 0x4055f620, 0x14ad: 0x4055f820, 0x14ae: 0x4055fa20, 0x14af: 0x4055fc20,\n\t0x14b0: 0x4055fe20, 0x14b1: 0x40560020, 0x14b2: 0x40560220, 0x14b3: 0x40560420,\n\t0x14b4: 0x40560620, 0x14b5: 0x40560820, 0x14b6: 0x40560a20, 0x14b7: 0x40560c20,\n\t0x14b8: 0x40560e20, 0x14b9: 0x40561020, 0x14ba: 0x40561220, 0x14bb: 0x40561420,\n\t0x14bc: 0x40561620, 0x14bd: 0x40561820, 0x14be: 0x40561a20, 0x14bf: 0x40561c20,\n\t// Block 0x53, offset 0x14c0\n\t0x14c0: 0x40561e20, 0x14c1: 0x40562020, 0x14c2: 0x40562220, 0x14c3: 0x40562420,\n\t0x14c4: 0x40562620, 0x14c5: 0x40562820, 0x14c6: 0x40562a20, 0x14c7: 0x40562c20,\n\t0x14c8: 0x40562e20, 0x14c9: 0x40563020, 0x14ca: 0x40563220, 0x14cb: 0x40563420,\n\t0x14cc: 0x40563620, 0x14cd: 0x40563820, 0x14ce: 0x40563a20, 0x14cf: 0x40563c20,\n\t0x14d0: 0x40563e20, 0x14d1: 0x40564020, 0x14d2: 0x40564220, 0x14d3: 0x40564420,\n\t0x14d4: 0x40564620, 0x14d5: 0x40564820, 0x14d6: 0x40564a20, 0x14d7: 0x40564c20,\n\t0x14d8: 0x40564e20, 0x14d9: 0x40565020, 0x14da: 0x40565220, 0x14db: 0x40565420,\n\t0x14dc: 0x40565620, 0x14dd: 0x40565820, 0x14de: 0x40565a20, 0x14df: 0x40565c20,\n\t0x14e0: 0x40565e20, 0x14e1: 0x40566020, 0x14e2: 0x40566220, 0x14e3: 0x40566420,\n\t0x14e4: 0x40566620, 0x14e5: 0x40566820, 0x14e6: 0x40566a20, 0x14e7: 0x40566c20,\n\t0x14e8: 0x40566e20, 0x14e9: 0x40567020, 0x14ea: 0x40567220, 0x14eb: 0x40567420,\n\t0x14ec: 0x40567620, 0x14ed: 0x40567820, 0x14ee: 0x40567a20, 0x14ef: 0x40567c20,\n\t0x14f0: 0x40567e20, 0x14f1: 0x40568020, 0x14f2: 0x40568220, 0x14f3: 0x40568420,\n\t0x14f4: 0x40568620, 0x14f5: 0x40568820, 0x14f6: 0x40568a20, 0x14f7: 0x40568c20,\n\t0x14f8: 0x40568e20, 0x14f9: 0x40569020, 0x14fa: 0x40569220, 0x14fb: 0x40569420,\n\t0x14fc: 0x40569620, 0x14fd: 0x40569820, 0x14fe: 0x40569a20, 0x14ff: 0x40569c20,\n\t// Block 0x54, offset 0x1500\n\t0x1500: 0x40569e20, 0x1501: 0x4056a020, 0x1502: 0x4056a220, 0x1503: 0x4056a420,\n\t0x1504: 0x4056a620, 0x1505: 0x4056a820, 0x1506: 0x4056aa20, 0x1507: 0x4056ac20,\n\t0x1508: 0x4056ae20, 0x1509: 0x4056b020, 0x150a: 0x4056b220, 0x150b: 0x4056b420,\n\t0x150c: 0x4056b620, 0x150d: 0x4056b820, 0x150e: 0x4056ba20, 0x150f: 0x4056bc20,\n\t0x1510: 0x4056be20, 0x1511: 0x4056c020, 0x1512: 0x4056c220, 0x1513: 0x4056c420,\n\t0x1514: 0x4056c620, 0x1515: 0x4056c820, 0x1516: 0x4056ca20, 0x1517: 0x4056cc20,\n\t0x1518: 0x4056ce20, 0x1519: 0x4056d020, 0x151a: 0x4056d220, 0x151b: 0x4056d420,\n\t0x151c: 0x4056d620, 0x151d: 0x4056d820, 0x151e: 0x4056da20, 0x151f: 0x4056dc20,\n\t0x1520: 0x4056de20, 0x1521: 0x4056e020, 0x1522: 0x4056e220, 0x1523: 0x4056e420,\n\t0x1524: 0x4056e620, 0x1525: 0x4056e820, 0x1526: 0x4056ea20, 0x1527: 0x4056ec20,\n\t0x1528: 0x4056ee20, 0x1529: 0x4056f020, 0x152a: 0x4056f220, 0x152b: 0x4056f420,\n\t0x152c: 0x4056f620, 0x152d: 0x4056f820, 0x152e: 0x4056fa20, 0x152f: 0x4056fc20,\n\t0x1530: 0x4056fe20, 0x1531: 0x40570020, 0x1532: 0x40570220, 0x1533: 0x40570420,\n\t0x1534: 0x40570620, 0x1535: 0x40570820, 0x1536: 0x40570a20, 0x1537: 0x40570c20,\n\t0x1538: 0x40570e20, 0x1539: 0x40571020, 0x153a: 0x40571220, 0x153b: 0x40571420,\n\t0x153c: 0x40571620, 0x153d: 0x40571820, 0x153e: 0x40571a20, 0x153f: 0x40571c20,\n\t// Block 0x55, offset 0x1540\n\t0x1540: 0x40571e20, 0x1541: 0x40572020, 0x1542: 0x40572220, 0x1543: 0x40572420,\n\t0x1544: 0x40572620, 0x1545: 0x40572820, 0x1546: 0x40572a20, 0x1547: 0x40572c20,\n\t0x1548: 0x40572e20, 0x1549: 0x40573020, 0x154a: 0x40573220, 0x154b: 0x40573420,\n\t0x154c: 0x40573620, 0x154d: 0x40573820, 0x154e: 0x40573a20, 0x154f: 0x40573c20,\n\t0x1550: 0x40573e20, 0x1551: 0x40574020, 0x1552: 0x40574220, 0x1553: 0x40574420,\n\t0x1554: 0x40574620, 0x1555: 0x40574820, 0x1556: 0x40574a20, 0x1557: 0x40574c20,\n\t0x1558: 0x40574e20, 0x1559: 0x40575020, 0x155a: 0x40575220, 0x155b: 0x40575420,\n\t0x155c: 0x40575620, 0x155d: 0x40575820, 0x155e: 0x40575a20, 0x155f: 0x40575c20,\n\t0x1560: 0x40575e20, 0x1561: 0x40576020, 0x1562: 0x40576220, 0x1563: 0x40576420,\n\t0x1564: 0x40576620, 0x1565: 0x40576820, 0x1566: 0x40576a20, 0x1567: 0x40576c20,\n\t0x1568: 0x40576e20, 0x1569: 0x40577020, 0x156a: 0x40577220, 0x156b: 0x40577420,\n\t0x156c: 0x40577620, 0x156d: 0x40577820, 0x156e: 0x40577a20, 0x156f: 0x40577c20,\n\t0x1570: 0x40577e20, 0x1571: 0x40578020, 0x1572: 0x40578220, 0x1573: 0x40578420,\n\t0x1574: 0x40578620, 0x1575: 0x40578820, 0x1576: 0x40578a20, 0x1577: 0x40578c20,\n\t0x1578: 0x40578e20, 0x1579: 0x40579020, 0x157a: 0x40579220, 0x157b: 0x40579420,\n\t0x157c: 0x40579620, 0x157d: 0x40579820, 0x157e: 0x40579a20, 0x157f: 0x40579c20,\n\t// Block 0x56, offset 0x1580\n\t0x1580: 0x40579e20, 0x1581: 0x4057a020, 0x1582: 0x4057a220, 0x1583: 0x4057a420,\n\t0x1584: 0x4057a620, 0x1585: 0x4057a820, 0x1586: 0x4057aa20, 0x1587: 0x4057ac20,\n\t0x1588: 0x4057ae20, 0x1589: 0x4057b020, 0x158a: 0x4057b220, 0x158b: 0x4057b420,\n\t0x158c: 0x4057b620, 0x158d: 0x4057b820, 0x158e: 0x4057ba20, 0x158f: 0x4057bc20,\n\t0x1590: 0x4057be20, 0x1591: 0x4057c020, 0x1592: 0x4057c220, 0x1593: 0x4057c420,\n\t0x1594: 0x4057c620, 0x1595: 0x4057c820, 0x1596: 0x4057ca20, 0x1597: 0x4057cc20,\n\t0x1598: 0x4057ce20, 0x1599: 0x4057d020, 0x159a: 0x4057d220, 0x159b: 0x4057d420,\n\t0x159c: 0x4057d620, 0x159d: 0x4057d820, 0x159e: 0x4057da20, 0x159f: 0x4057dc20,\n\t0x15a0: 0x4057de20, 0x15a1: 0x4057e020, 0x15a2: 0x4057e220, 0x15a3: 0x4057e420,\n\t0x15a4: 0x4057e620, 0x15a5: 0x4057e820, 0x15a6: 0x4057ea20, 0x15a7: 0x4057ec20,\n\t0x15a8: 0x4057ee20, 0x15a9: 0x4057f020, 0x15aa: 0x4057f220, 0x15ab: 0x4057f420,\n\t0x15ac: 0x4057f620, 0x15ad: 0x4057f820, 0x15ae: 0x4057fa20, 0x15af: 0x4057fc20,\n\t0x15b0: 0x4057fe20, 0x15b1: 0x40580020, 0x15b2: 0x40580220, 0x15b3: 0x40580420,\n\t0x15b4: 0x40580620, 0x15b5: 0x40580820, 0x15b6: 0x40580a20, 0x15b7: 0x40580c20,\n\t0x15b8: 0x40580e20, 0x15b9: 0x40581020, 0x15ba: 0x40581220, 0x15bb: 0x40581420,\n\t0x15bc: 0x40587a20, 0x15bd: 0x40581620, 0x15be: 0x40581a20, 0x15bf: 0x40581c20,\n\t// Block 0x57, offset 0x15c0\n\t0x15c0: 0x40581e20, 0x15c1: 0x40582020, 0x15c2: 0x40582220, 0x15c3: 0x40582420,\n\t0x15c4: 0x40582620, 0x15c5: 0x40582820, 0x15c6: 0x40582a20, 0x15c7: 0x40582c20,\n\t0x15c8: 0x40582e20, 0x15c9: 0x40583020, 0x15ca: 0x40583220, 0x15cb: 0x40583420,\n\t0x15cc: 0x40583620, 0x15cd: 0x40583820, 0x15ce: 0x40583c20, 0x15cf: 0x40583e20,\n\t0x15d0: 0x40584020, 0x15d1: 0x40584220, 0x15d2: 0x40584420, 0x15d3: 0x40584620,\n\t0x15d4: 0x40584820, 0x15d5: 0x40584a20, 0x15d6: 0x40585820, 0x15d7: 0x40585a20,\n\t0x15d8: 0x40585c20, 0x15d9: 0x40585e20, 0x15da: 0x40586020, 0x15db: 0x40586220,\n\t0x15dc: 0x40586420, 0x15dd: 0x40586620, 0x15de: 0x40586820, 0x15df: 0x40586a20,\n\t0x15e0: 0x40586c20, 0x15e1: 0x40586e20, 0x15e2: 0x40587020, 0x15e3: 0x40587220,\n\t0x15e4: 0x40587420, 0x15e5: 0x40587620, 0x15e6: 0x40587820, 0x15e7: 0x40587c20,\n\t0x15e8: 0x40587e20, 0x15e9: 0x40588020, 0x15ea: 0x40588220, 0x15eb: 0x40588420,\n\t0x15ec: 0x40588620, 0x15ed: 0x40588820, 0x15ee: 0x40588a20, 0x15ef: 0x40588c20,\n\t0x15f0: 0x40588e20, 0x15f1: 0x40589020, 0x15f2: 0x40589220, 0x15f3: 0x40589420,\n\t0x15f4: 0x40589620, 0x15f5: 0x40589820, 0x15f6: 0x40589a20, 0x15f7: 0x40589c20,\n\t0x15f8: 0x40589e20, 0x15f9: 0x4058a020, 0x15fa: 0x4058a220, 0x15fb: 0x4058a420,\n\t0x15fc: 0x4058a620, 0x15fd: 0x4058a820, 0x15fe: 0x4058aa20, 0x15ff: 0x4058ac20,\n\t// Block 0x58, offset 0x1600\n\t0x1600: 0x4058ae20, 0x1601: 0x4058b020, 0x1602: 0x4058b220, 0x1603: 0x4058b420,\n\t0x1604: 0x4058b620, 0x1605: 0x4058b820, 0x1606: 0x4058ba20, 0x1607: 0x4058bc20,\n\t0x1608: 0x4058be20, 0x1609: 0x4058c020, 0x160a: 0x4058c220, 0x160b: 0x4058c420,\n\t0x160c: 0x4058c620, 0x160d: 0x4058c820, 0x160e: 0x4058ca20, 0x160f: 0x4058cc20,\n\t0x1610: 0x4058ce20, 0x1611: 0x4058d020, 0x1612: 0x4058d220, 0x1613: 0x4058d420,\n\t0x1614: 0x4058d620, 0x1615: 0x4058d820, 0x1616: 0x4058da20, 0x1617: 0x4058dc20,\n\t0x1618: 0x4058de20, 0x1619: 0x4058e020, 0x161a: 0x4058e220, 0x161b: 0x4058e420,\n\t0x161c: 0x4058e620, 0x161d: 0x4058e820, 0x161e: 0x4058ea20, 0x161f: 0x4058ec20,\n\t0x1620: 0x4058ee20, 0x1621: 0x4058f020, 0x1622: 0x4058f220, 0x1623: 0x4058f420,\n\t0x1624: 0x4058f620, 0x1625: 0x4058f820, 0x1626: 0x4058fa20, 0x1627: 0x4058fc20,\n\t0x1628: 0x4058fe20, 0x1629: 0x40590020, 0x162a: 0x40590220, 0x162b: 0x40590420,\n\t0x162c: 0x40590620, 0x162d: 0x40590820, 0x162e: 0x40590a20, 0x162f: 0x40590c20,\n\t0x1630: 0x40590e20, 0x1631: 0x40591020, 0x1632: 0x40591220, 0x1633: 0x40591420,\n\t0x1634: 0x40591620, 0x1635: 0x40591820, 0x1636: 0x40591a20, 0x1637: 0x40591c20,\n\t0x1638: 0x40591e20, 0x1639: 0x40592020, 0x163a: 0x40592220, 0x163b: 0x40592420,\n\t0x163c: 0x40592620, 0x163d: 0x40592820, 0x163e: 0x40592a20, 0x163f: 0x40592c20,\n\t// Block 0x59, offset 0x1640\n\t0x1640: 0x40592e20, 0x1641: 0x40593020, 0x1642: 0x40593220, 0x1643: 0x40593420,\n\t0x1644: 0x40593620, 0x1645: 0x40593820, 0x1646: 0x40593a20, 0x1647: 0x40593c20,\n\t0x1648: 0x40593e20, 0x1649: 0x40594020, 0x164a: 0x40594220, 0x164b: 0x40594420,\n\t0x164c: 0x40594620, 0x164d: 0x40594820, 0x164e: 0x40594a20, 0x164f: 0x40594c20,\n\t0x1650: 0x40594e20, 0x1651: 0x40595020, 0x1652: 0x40595220, 0x1653: 0x40595420,\n\t0x1654: 0x40595620, 0x1655: 0x40595820, 0x1656: 0x40595a20, 0x1657: 0x40595c20,\n\t0x1658: 0x40595e20, 0x1659: 0x40596020, 0x165a: 0x40596220, 0x165b: 0x40596420,\n\t0x165c: 0x40596620, 0x165d: 0x40596820, 0x165e: 0x40596a20, 0x165f: 0x40596c20,\n\t0x1660: 0x40596e20, 0x1661: 0x40597020, 0x1662: 0x40597220, 0x1663: 0x40597420,\n\t0x1664: 0x40597620, 0x1665: 0x40597820, 0x1666: 0x40597a20, 0x1667: 0x40597c20,\n\t0x1668: 0x40597e20, 0x1669: 0x40598020, 0x166a: 0x40598220, 0x166b: 0x40598420,\n\t0x166c: 0x40598620, 0x166d: 0x40598820, 0x166e: 0x40598a20, 0x166f: 0x40598c20,\n\t0x1670: 0x40598e20, 0x1671: 0x40599020, 0x1672: 0x40599220, 0x1673: 0x40599420,\n\t0x1674: 0x40599620, 0x1675: 0x40599820, 0x1676: 0x40599a20, 0x1677: 0x40599c20,\n\t0x1678: 0x40599e20, 0x1679: 0x4059a020, 0x167a: 0x4059a220, 0x167b: 0x4059a420,\n\t0x167c: 0x4059a620, 0x167d: 0x4059a820, 0x167e: 0x4059aa20, 0x167f: 0x4059ac20,\n\t// Block 0x5a, offset 0x1680\n\t0x1680: 0x4059ae20, 0x1681: 0x4059b020, 0x1682: 0x4059b220, 0x1683: 0x4059b420,\n\t0x1684: 0x4059b620, 0x1685: 0x4059b820, 0x1686: 0x4059ba20, 0x1687: 0x4059bc20,\n\t0x1688: 0x4059be20, 0x1689: 0x4059c020, 0x168a: 0x4059c220, 0x168b: 0x4059c420,\n\t0x168c: 0x4059c620, 0x168d: 0x4059c820, 0x168e: 0x4059ca20, 0x168f: 0x4059cc20,\n\t0x1690: 0x4059ce20, 0x1691: 0x4059d020, 0x1692: 0x4059d220, 0x1693: 0x4059d420,\n\t0x1694: 0x4059d620, 0x1695: 0x4059d820, 0x1696: 0x4059da20, 0x1697: 0x4059dc20,\n\t0x1698: 0x4059de20, 0x1699: 0x4059e020, 0x169a: 0x4059e220, 0x169b: 0x4059e420,\n\t0x169c: 0x4059e620, 0x169d: 0x4059e820, 0x169e: 0x4059ea20, 0x169f: 0x4059ec20,\n\t0x16a0: 0x4059ee20, 0x16a1: 0x4059f020, 0x16a2: 0x4059f220, 0x16a3: 0x4059f420,\n\t0x16a4: 0x4059f620, 0x16a5: 0x4059f820, 0x16a6: 0x4059fa20, 0x16a7: 0x4059fc20,\n\t0x16a8: 0x4059fe20, 0x16a9: 0x405a0020, 0x16aa: 0x405a0220, 0x16ab: 0x405a0420,\n\t0x16ac: 0x405a0620, 0x16ad: 0x4005d420, 0x16ae: 0x4002f420, 0x16af: 0x40581820,\n\t0x16b0: 0x40583a20, 0x16b1: 0x40584c20, 0x16b2: 0x40584e20, 0x16b3: 0x40585020,\n\t0x16b4: 0x40585220, 0x16b5: 0x40585420, 0x16b6: 0x40585620, 0x16b7: 0x405a0820,\n\t0x16b8: 0x405a0a20, 0x16b9: 0x405a0c20, 0x16ba: 0x405a0e20, 0x16bb: 0x405a1020,\n\t0x16bc: 0x405a1220, 0x16bd: 0x405a1420, 0x16be: 0x405a1620, 0x16bf: 0x405a1820,\n\t// Block 0x5b, offset 0x16c0\n\t0x16c0: 0x00021284, 0x16c1: 0x405aa620, 0x16c2: 0x405aa820, 0x16c3: 0x405aaa20,\n\t0x16c4: 0x405aac20, 0x16c5: 0x405aae20, 0x16c6: 0x405ab020, 0x16c7: 0x405ab220,\n\t0x16c8: 0x405ab420, 0x16c9: 0x405ab620, 0x16ca: 0x405ab820, 0x16cb: 0x405aba20,\n\t0x16cc: 0x405abc20, 0x16cd: 0x405abe20, 0x16ce: 0x405ac020, 0x16cf: 0x405ac220,\n\t0x16d0: 0x405ac420, 0x16d1: 0x405ac620, 0x16d2: 0x405ac820, 0x16d3: 0x405aca20,\n\t0x16d4: 0x405acc20, 0x16d5: 0x405ace20, 0x16d6: 0x405ad020, 0x16d7: 0x405ad220,\n\t0x16d8: 0x405ad420, 0x16d9: 0x405ad620, 0x16da: 0x405ad820, 0x16db: 0x40040820,\n\t0x16dc: 0x40040a20,\n\t0x16e0: 0x405ada20, 0x16e1: 0xe000202d, 0x16e2: 0x405adc20, 0x16e3: 0x405b1420,\n\t0x16e4: 0xe0002030, 0x16e5: 0xe0002033, 0x16e6: 0x405ade20, 0x16e7: 0xe0002036,\n\t0x16e8: 0x405ae020, 0x16e9: 0xe000203c, 0x16ea: 0x405b1020, 0x16eb: 0x405b1220,\n\t0x16ec: 0xe000203f, 0x16ed: 0xe0002042, 0x16ee: 0xe0002045, 0x16ef: 0x405ae220,\n\t0x16f0: 0x405ae420, 0x16f1: 0x405ae620, 0x16f2: 0x405ae820, 0x16f3: 0xe0002048,\n\t0x16f4: 0xe000204b, 0x16f5: 0xe000204e, 0x16f6: 0xe0002051, 0x16f7: 0x405aea20,\n\t0x16f8: 0x405b1a20, 0x16f9: 0x405aec20, 0x16fa: 0x405aee20, 0x16fb: 0xe0002057,\n\t0x16fc: 0xe000205a, 0x16fd: 0xe000205d, 0x16fe: 0x405af020, 0x16ff: 0xe0002060,\n\t// Block 0x5c, offset 0x1700\n\t0x1700: 0xe0002063, 0x1701: 0x405af220, 0x1702: 0xe0002066, 0x1703: 0x405af420,\n\t0x1704: 0xe0002069, 0x1705: 0x405af620, 0x1706: 0xe000206c, 0x1707: 0x405af820,\n\t0x1708: 0x405afa20, 0x1709: 0x405afc20, 0x170a: 0x405afe20, 0x170b: 0xe0002075,\n\t0x170c: 0xe000207b, 0x170d: 0xe000207e, 0x170e: 0xe0002081, 0x170f: 0x405b0020,\n\t0x1710: 0xe0002084, 0x1711: 0xe0002087, 0x1712: 0x405b0220, 0x1713: 0xe000208a,\n\t0x1714: 0xe000208d, 0x1715: 0xe0002072, 0x1716: 0x405b0420, 0x1717: 0x405b0620,\n\t0x1718: 0xe0002090, 0x1719: 0xe0002093, 0x171a: 0x405b0820, 0x171b: 0xe000209b,\n\t0x171c: 0x405b0a20, 0x171d: 0xe000209e, 0x171e: 0x405b0c20, 0x171f: 0x405b0e20,\n\t0x1720: 0x405b1620, 0x1721: 0x405b1e20, 0x1722: 0x405b2020, 0x1723: 0x405b1820,\n\t0x1724: 0x405b1c20, 0x1725: 0x405b2220, 0x1726: 0x405b2420, 0x1727: 0xe00020a1,\n\t0x1728: 0xe00020a4, 0x1729: 0xe0002054, 0x172a: 0xe0002078, 0x172b: 0x4002b220,\n\t0x172c: 0x4002b420, 0x172d: 0x4002b620, 0x172e: 0xe000206f, 0x172f: 0xe0002096,\n\t0x1730: 0xe0002039,\n\t// Block 0x5d, offset 0x1740\n\t0x1740: 0x404c7620, 0x1741: 0x404c7820, 0x1742: 0x404c7a20, 0x1743: 0x404c7c20,\n\t0x1744: 0x404c7e20, 0x1745: 0x404c8020, 0x1746: 0x404c8220, 0x1747: 0x404c8420,\n\t0x1748: 0x404c8620, 0x1749: 0x404c8820, 0x174a: 0x404c8a20, 0x174b: 0x404c8c20,\n\t0x174c: 0x404c8e20, 0x174e: 0x404c9020, 0x174f: 0x404c9220,\n\t0x1750: 0x404c9420, 0x1751: 0x404c9620, 0x1752: 0x404c9820, 0x1753: 0x404c9a20,\n\t0x1754: 0x8209264e,\n\t0x1760: 0x404c9e20, 0x1761: 0x404ca020, 0x1762: 0x404ca220, 0x1763: 0x404ca420,\n\t0x1764: 0x404ca620, 0x1765: 0x404ca820, 0x1766: 0x404caa20, 0x1767: 0x404cac20,\n\t0x1768: 0x404cae20, 0x1769: 0x404cb020, 0x176a: 0x404cb220, 0x176b: 0x404cb420,\n\t0x176c: 0x404cb620, 0x176d: 0x404cb820, 0x176e: 0x404cba20, 0x176f: 0x404cbc20,\n\t0x1770: 0x404cbe20, 0x1771: 0x404cc020, 0x1772: 0x404cc220, 0x1773: 0x404cc420,\n\t0x1774: 0x82092663, 0x1775: 0x40031c20, 0x1776: 0x40031e20,\n\t// Block 0x5e, offset 0x1780\n\t0x1780: 0x404cc820, 0x1781: 0x404cca20, 0x1782: 0x404ccc20, 0x1783: 0x404cce20,\n\t0x1784: 0x404cd020, 0x1785: 0x404cd220, 0x1786: 0x404cd420, 0x1787: 0x404cd620,\n\t0x1788: 0x404cd820, 0x1789: 0x404cda20, 0x178a: 0x404cdc20, 0x178b: 0x404cde20,\n\t0x178c: 0x404ce020, 0x178d: 0x404ce220, 0x178e: 0x404ce420, 0x178f: 0x404ce620,\n\t0x1790: 0x404ce820, 0x1791: 0x404cea20, 0x1792: 0x404cec20, 0x1793: 0x404cee20,\n\t0x17a0: 0x404cf020, 0x17a1: 0x404cf220, 0x17a2: 0x404cf420, 0x17a3: 0x404cf620,\n\t0x17a4: 0x404cf820, 0x17a5: 0x404cfa20, 0x17a6: 0x404cfc20, 0x17a7: 0x404cfe20,\n\t0x17a8: 0x404d0020, 0x17a9: 0x404d0220, 0x17aa: 0x404d0420, 0x17ab: 0x404d0620,\n\t0x17ac: 0x404d0820, 0x17ae: 0x404d0a20, 0x17af: 0x404d0c20,\n\t0x17b0: 0x404d0e20, 0x17b2: 0x404d1020, 0x17b3: 0x404d1220,\n\t// Block 0x5f, offset 0x17c0\n\t0x17c0: 0x404fa420, 0x17c1: 0x404fa620, 0x17c2: 0x404fa820, 0x17c3: 0x404faa20,\n\t0x17c4: 0x404fac20, 0x17c5: 0x404fae20, 0x17c6: 0x404fb020, 0x17c7: 0x404fb220,\n\t0x17c8: 0x404fb420, 0x17c9: 0x404fb620, 0x17ca: 0x404fb820, 0x17cb: 0x404fba20,\n\t0x17cc: 0x404fbc20, 0x17cd: 0x404fbe20, 0x17ce: 0x404fc020, 0x17cf: 0x404fc220,\n\t0x17d0: 0x404fc420, 0x17d1: 0x404fc620, 0x17d2: 0x404fc820, 0x17d3: 0x404fca20,\n\t0x17d4: 0x404fcc20, 0x17d5: 0x404fce20, 0x17d6: 0x404fd020, 0x17d7: 0x404fd220,\n\t0x17d8: 0x404fd420, 0x17d9: 0x404fd620, 0x17da: 0x404fd820, 0x17db: 0x404fda20,\n\t0x17dc: 0x404fdc20, 0x17dd: 0x404fde20, 0x17de: 0x404fe020, 0x17df: 0x404fe220,\n\t0x17e0: 0x404fe420, 0x17e1: 0x404fe620, 0x17e2: 0x404fe820, 0x17e3: 0x404fec20,\n\t0x17e4: 0x404fee20, 0x17e5: 0x404ff020, 0x17e6: 0x404ff220, 0x17e7: 0x404ff420,\n\t0x17e8: 0x404ff620, 0x17e9: 0x404ff820, 0x17ea: 0x404ffa20, 0x17eb: 0x404ffc20,\n\t0x17ec: 0x404ffe20, 0x17ed: 0x40500020, 0x17ee: 0x40500220, 0x17ef: 0x40500420,\n\t0x17f0: 0x40500620, 0x17f1: 0x40500820, 0x17f2: 0x40500a20, 0x17f3: 0x40500c20,\n\t0x17f4: 0xa0000000, 0x17f5: 0xa0000000, 0x17f6: 0x40500e20, 0x17f7: 0x40501020,\n\t0x17f8: 0x40501220, 0x17f9: 0x40501420, 0x17fa: 0x40501620, 0x17fb: 0x40501820,\n\t0x17fc: 0x40501a20, 0x17fd: 0x40501c20, 0x17fe: 0x40501e20, 0x17ff: 0x40502020,\n\t// Block 0x60, offset 0x1800\n\t0x1800: 0x40502220, 0x1801: 0x40502420, 0x1802: 0x40502620, 0x1803: 0x40502820,\n\t0x1804: 0x40502a20, 0x1805: 0x40502c20, 0x1806: 0xa000f302, 0x1807: 0xa000f402,\n\t0x1808: 0xa0011402, 0x1809: 0xa0011502, 0x180a: 0xa0011602, 0x180b: 0xa0005f02,\n\t0x180c: 0xa0005f02, 0x180d: 0xa0005f02, 0x180e: 0xa0005f02, 0x180f: 0xa0005f02,\n\t0x1810: 0xa0005f02, 0x1811: 0xa0005f02, 0x1812: 0x82092817, 0x1813: 0xa0000000,\n\t0x1814: 0x40032620, 0x1815: 0x40032820, 0x1816: 0x4002ac20, 0x1817: 0x4027bc20,\n\t0x1818: 0x4005bc20, 0x1819: 0x4005be20, 0x181a: 0x4005c020, 0x181b: 0x4027f620,\n\t0x181c: 0x404fea20, 0x181d: 0xae605f02,\n\t0x1820: 0xe00001b5, 0x1821: 0xe0000249, 0x1822: 0xe0000361, 0x1823: 0xe000043b,\n\t0x1824: 0xe0000510, 0x1825: 0xe00005da, 0x1826: 0xe00006a5, 0x1827: 0xe000074d,\n\t0x1828: 0xe00007f9, 0x1829: 0xe000089e,\n\t0x1830: 0xe00001b8, 0x1831: 0xe000024c, 0x1832: 0xe0000364, 0x1833: 0xe000043e,\n\t0x1834: 0xe0000513, 0x1835: 0xe00005dd, 0x1836: 0xe00006a8, 0x1837: 0xe0000750,\n\t0x1838: 0xe00007fc, 0x1839: 0xe00008a1,\n\t// Block 0x61, offset 0x1840\n\t0x1840: 0x40056a20, 0x1841: 0x4002e620, 0x1842: 0x40025220, 0x1843: 0x4002f020,\n\t0x1844: 0x4002a620, 0x1845: 0x4002a820, 0x1846: 0x40022220, 0x1847: 0x40022420,\n\t0x1848: 0x40025420, 0x1849: 0x4002f220, 0x184a: 0xa0000000, 0x184b: 0xa0000000,\n\t0x184c: 0xa0000000, 0x184d: 0xa0000000, 0x184e: 0x40020c20,\n\t0x1850: 0xe00001c7, 0x1851: 0xe000025b, 0x1852: 0xe0000373, 0x1853: 0xe000044d,\n\t0x1854: 0xe0000522, 0x1855: 0xe00005ec, 0x1856: 0xe00006b7, 0x1857: 0xe000075f,\n\t0x1858: 0xe000080b, 0x1859: 0xe00008b0,\n\t0x1860: 0x40533820, 0x1861: 0x40533c20, 0x1862: 0x40534220, 0x1863: 0x40534e20,\n\t0x1864: 0x40535220, 0x1865: 0x40535820, 0x1866: 0x40535c20, 0x1867: 0x40536220,\n\t0x1868: 0x40536420, 0x1869: 0x40536620, 0x186a: 0x40537020, 0x186b: 0x40537420,\n\t0x186c: 0x40537a20, 0x186d: 0x40537e20, 0x186e: 0x40538820, 0x186f: 0x40538c20,\n\t0x1870: 0x40538e20, 0x1871: 0x40539020, 0x1872: 0x40539e20, 0x1873: 0x4053a420,\n\t0x1874: 0x4053aa20, 0x1875: 0x4053b420, 0x1876: 0x4053bc20, 0x1877: 0x4053c220,\n\t0x1878: 0x4053c620, 0x1879: 0x4053ca20, 0x187a: 0x4053d020, 0x187b: 0x4053da20,\n\t0x187c: 0x4053dc20, 0x187d: 0x4053e220, 0x187e: 0x4053ea20, 0x187f: 0x4053f020,\n\t// Block 0x62, offset 0x1880\n\t0x1880: 0x4053f220, 0x1881: 0x4053f420, 0x1882: 0x4053f620, 0x1883: 0x40533620,\n\t0x1884: 0x40533e20, 0x1885: 0x40534420, 0x1886: 0x40535020, 0x1887: 0x40535420,\n\t0x1888: 0x40535a20, 0x1889: 0x40535e20, 0x188a: 0x40536820, 0x188b: 0x40537220,\n\t0x188c: 0x40537620, 0x188d: 0x40537c20, 0x188e: 0x40538020, 0x188f: 0x40538a20,\n\t0x1890: 0x4053a020, 0x1891: 0x4053a620, 0x1892: 0x4053ac20, 0x1893: 0x4053b620,\n\t0x1894: 0x4053de20, 0x1895: 0x4053be20, 0x1896: 0x4053c820, 0x1897: 0x4053d220,\n\t0x1898: 0x4053e620, 0x1899: 0x4053ec20, 0x189a: 0x4053f820, 0x189b: 0x4053fa20,\n\t0x189c: 0x4053b020, 0x189d: 0x40534020, 0x189e: 0x40534620, 0x189f: 0x40534c20,\n\t0x18a0: 0x40536020, 0x18a1: 0x40535620, 0x18a2: 0x40536a20, 0x18a3: 0x4053d420,\n\t0x18a4: 0x40538220, 0x18a5: 0x40538620, 0x18a6: 0x40537820, 0x18a7: 0x40539220,\n\t0x18a8: 0x4053a220, 0x18a9: 0x4053a820, 0x18aa: 0x4053b820, 0x18ab: 0x4053cc20,\n\t0x18ac: 0x4053e820, 0x18ad: 0x4053ee20, 0x18ae: 0x4053e020, 0x18af: 0x4053e420,\n\t0x18b0: 0x4053fc20, 0x18b1: 0x4053ae20, 0x18b2: 0x4053c020, 0x18b3: 0x40534820,\n\t0x18b4: 0x4053d620, 0x18b5: 0x4053c420, 0x18b6: 0x4053ce20, 0x18b7: 0x4053ba20,\n\t// Block 0x63, offset 0x18c0\n\t0x18c0: 0x40532820, 0x18c1: 0x40532a20, 0x18c2: 0x40532c20, 0x18c3: 0x40532e20,\n\t0x18c4: 0x40533020, 0x18c5: 0x40533220, 0x18c6: 0x40533420, 0x18c7: 0x40533a20,\n\t0x18c8: 0x40534a20, 0x18c9: 0x4053d820, 0x18ca: 0x40536c20, 0x18cb: 0x4053b220,\n\t0x18cc: 0x4053fe20, 0x18cd: 0x40540220, 0x18ce: 0x40540420, 0x18cf: 0x40540820,\n\t0x18d0: 0x40540a20, 0x18d1: 0x40541020, 0x18d2: 0x40541420, 0x18d3: 0x40541620,\n\t0x18d4: 0x40541a20, 0x18d5: 0x40541e20, 0x18d6: 0x40542220, 0x18d7: 0x40542420,\n\t0x18d8: 0x40540c20, 0x18d9: 0x40542020, 0x18da: 0x40538420, 0x18db: 0x40536e20,\n\t0x18dc: 0x40539420, 0x18dd: 0x40539620, 0x18de: 0x40540020, 0x18df: 0x40540620,\n\t0x18e0: 0x40540e20, 0x18e1: 0x40541220, 0x18e2: 0x40539820, 0x18e3: 0x40541c20,\n\t0x18e4: 0x40539a20, 0x18e5: 0x40539c20, 0x18e6: 0x40542620, 0x18e7: 0x40542820,\n\t0x18e8: 0x40541820, 0x18e9: 0x82e42a16, 0x18ea: 0x40542a20,\n\t0x18f0: 0x405a1a20, 0x18f1: 0x405a1c20, 0x18f2: 0x405a1e20, 0x18f3: 0x405a2020,\n\t0x18f4: 0x405a2220, 0x18f5: 0x405a2420, 0x18f6: 0x405a2620, 0x18f7: 0x405a2820,\n\t0x18f8: 0x405a2a20, 0x18f9: 0x405a2c20, 0x18fa: 0x405a2e20, 0x18fb: 0x405a3020,\n\t0x18fc: 0x405a3220, 0x18fd: 0x405a3420, 0x18fe: 0x405a3620, 0x18ff: 0x405a3820,\n\t// Block 0x64, offset 0x1900\n\t0x1900: 0x405a3a20, 0x1901: 0x405a3c20, 0x1902: 0x405a3e20, 0x1903: 0x405a4020,\n\t0x1904: 0x405a4220, 0x1905: 0x405a4420, 0x1906: 0x405a4620, 0x1907: 0x405a4820,\n\t0x1908: 0x405a4a20, 0x1909: 0x405a4c20, 0x190a: 0x405a4e20, 0x190b: 0x405a5020,\n\t0x190c: 0x405a5220, 0x190d: 0x405a5420, 0x190e: 0x405a5620, 0x190f: 0x405a5820,\n\t0x1910: 0x405a5a20, 0x1911: 0x405a5c20, 0x1912: 0x405a5e20, 0x1913: 0x405a6020,\n\t0x1914: 0x405a6220, 0x1915: 0x405a6420, 0x1916: 0x405a6620, 0x1917: 0x405a6820,\n\t0x1918: 0x405a6a20, 0x1919: 0x405a6c20, 0x191a: 0x405a6e20, 0x191b: 0x405a7020,\n\t0x191c: 0x405a7220, 0x191d: 0x405a7420, 0x191e: 0x405a7620, 0x191f: 0x405a7820,\n\t0x1920: 0x405a7a20, 0x1921: 0x405a7c20, 0x1922: 0x405a7e20, 0x1923: 0x405a8020,\n\t0x1924: 0x405a8220, 0x1925: 0x405a8420, 0x1926: 0x405a8620, 0x1927: 0x405a8820,\n\t0x1928: 0x405a8a20, 0x1929: 0x405a8c20, 0x192a: 0x405a8e20, 0x192b: 0x405a9020,\n\t0x192c: 0x405a9220, 0x192d: 0x405a9420, 0x192e: 0x405a9620, 0x192f: 0x405a9820,\n\t0x1930: 0x405a9a20, 0x1931: 0x405a9c20, 0x1932: 0x405a9e20, 0x1933: 0x405aa020,\n\t0x1934: 0x405aa220, 0x1935: 0x405aa420,\n\t// Block 0x65, offset 0x1940\n\t0x1940: 0x404c1220, 0x1941: 0x404c1420, 0x1942: 0x404c1620, 0x1943: 0x404c1820,\n\t0x1944: 0x404c1a20, 0x1945: 0x404c1c20, 0x1946: 0x404c1e20, 0x1947: 0x404c2020,\n\t0x1948: 0x404c2220, 0x1949: 0x404c2420, 0x194a: 0x404c2620, 0x194b: 0x404c2820,\n\t0x194c: 0x404c2a20, 0x194d: 0x404c2c20, 0x194e: 0x404c2e20, 0x194f: 0x404c3020,\n\t0x1950: 0x404c3220, 0x1951: 0x404c3420, 0x1952: 0x404c3620, 0x1953: 0x404c3820,\n\t0x1954: 0x404c3a20, 0x1955: 0x404c3c20, 0x1956: 0x404c3e20, 0x1957: 0x404c4020,\n\t0x1958: 0x404c4220, 0x1959: 0x404c4420, 0x195a: 0x404c4620, 0x195b: 0x404c4820,\n\t0x195c: 0x404c4a20,\n\t0x1960: 0x404c4c20, 0x1961: 0x404c4e20, 0x1962: 0x404c5020, 0x1963: 0x404c5220,\n\t0x1964: 0x404c5420, 0x1965: 0x404c5620, 0x1966: 0x404c5820, 0x1967: 0x404c5a20,\n\t0x1968: 0x404c5c20, 0x1969: 0x404c5e20, 0x196a: 0x404c6020, 0x196b: 0x404c6220,\n\t0x1970: 0x404c6420, 0x1971: 0x404c6620, 0x1972: 0x404c6820, 0x1973: 0x404c6a20,\n\t0x1974: 0x404c6c20, 0x1975: 0x404c6e20, 0x1976: 0x404c7020, 0x1977: 0x404c7220,\n\t0x1978: 0x404c7420, 0x1979: 0xade11f02, 0x197a: 0xae612002, 0x197b: 0xadc12102,\n\t// Block 0x66, offset 0x1980\n\t0x1980: 0x4007a620,\n\t0x1984: 0x4002c220, 0x1985: 0x4002d220, 0x1986: 0xe000018e, 0x1987: 0xe000021f,\n\t0x1988: 0xe000033a, 0x1989: 0xe0000414, 0x198a: 0xe00004e9, 0x198b: 0xe00005b3,\n\t0x198c: 0xe000067e, 0x198d: 0xe0000726, 0x198e: 0xe00007d2, 0x198f: 0xe0000877,\n\t0x1990: 0x40503020, 0x1991: 0x40503220, 0x1992: 0x40503420, 0x1993: 0x40503620,\n\t0x1994: 0x40503820, 0x1995: 0x40503a20, 0x1996: 0x40503c20, 0x1997: 0x40503e20,\n\t0x1998: 0x40504020, 0x1999: 0x40504220, 0x199a: 0x40504420, 0x199b: 0x40504620,\n\t0x199c: 0x40504820, 0x199d: 0x40504a20, 0x199e: 0x40504c20, 0x199f: 0x40504e20,\n\t0x19a0: 0x40505020, 0x19a1: 0x40505220, 0x19a2: 0x40505420, 0x19a3: 0x40505620,\n\t0x19a4: 0x40505820, 0x19a5: 0x40505a20, 0x19a6: 0x40505c20, 0x19a7: 0x40505e20,\n\t0x19a8: 0x40506020, 0x19a9: 0x40506220, 0x19aa: 0x40506420, 0x19ab: 0x40506620,\n\t0x19ac: 0x40506820, 0x19ad: 0x40506a20,\n\t0x19b0: 0x40506c20, 0x19b1: 0x40506e20, 0x19b2: 0x40507020, 0x19b3: 0x40507220,\n\t0x19b4: 0x40507420,\n\t// Block 0x67, offset 0x19c0\n\t0x19c0: 0x40507620, 0x19c1: 0x40507820, 0x19c2: 0x40507a20, 0x19c3: 0x40507c20,\n\t0x19c4: 0x40507e20, 0x19c5: 0x40508020, 0x19c6: 0x40508220, 0x19c7: 0x40508420,\n\t0x19c8: 0x40508620, 0x19c9: 0x40508820, 0x19ca: 0x40508a20, 0x19cb: 0x40508c20,\n\t0x19cc: 0x40508e20, 0x19cd: 0x40509020, 0x19ce: 0x40509220, 0x19cf: 0x40509420,\n\t0x19d0: 0x40509620, 0x19d1: 0x40509820, 0x19d2: 0x40509a20, 0x19d3: 0x40509c20,\n\t0x19d4: 0x40509e20, 0x19d5: 0x4050a020, 0x19d6: 0x4050a220, 0x19d7: 0x4050a420,\n\t0x19d8: 0x4050a620, 0x19d9: 0x4050a820, 0x19da: 0x4050aa20, 0x19db: 0x4050ac20,\n\t0x19dc: 0x4050ae20, 0x19dd: 0x4050b020, 0x19de: 0x4050b220, 0x19df: 0x4050b420,\n\t0x19e0: 0x4050b620, 0x19e1: 0x4050b820, 0x19e2: 0x4050ba20, 0x19e3: 0x4050bc20,\n\t0x19e4: 0x4050be20, 0x19e5: 0x4050c020, 0x19e6: 0x4050c220, 0x19e7: 0x4050c420,\n\t0x19e8: 0x4050c620, 0x19e9: 0x4050c820, 0x19ea: 0x4050ca20, 0x19eb: 0x4050cc20,\n\t0x19f0: 0x4050ce20, 0x19f1: 0x4050d020, 0x19f2: 0x4050d220, 0x19f3: 0x4050d420,\n\t0x19f4: 0x4050d620, 0x19f5: 0x4050d820, 0x19f6: 0x4050da20, 0x19f7: 0x4050dc20,\n\t0x19f8: 0x4050de20, 0x19f9: 0x4050e020, 0x19fa: 0x4050e220, 0x19fb: 0x4050e420,\n\t0x19fc: 0x4050e620, 0x19fd: 0x4050e820, 0x19fe: 0x4050ea20, 0x19ff: 0x4050ec20,\n\t// Block 0x68, offset 0x1a00\n\t0x1a00: 0x4050ee20, 0x1a01: 0x4050f020, 0x1a02: 0x4050f220, 0x1a03: 0x4050f420,\n\t0x1a04: 0x4050f620, 0x1a05: 0x4050f820, 0x1a06: 0x4050fa20, 0x1a07: 0x4050fc20,\n\t0x1a08: 0x4050fe20, 0x1a09: 0x40510020,\n\t0x1a10: 0xe0000191, 0x1a11: 0xe0000222, 0x1a12: 0xe000033d, 0x1a13: 0xe0000417,\n\t0x1a14: 0xe00004ec, 0x1a15: 0xe00005b6, 0x1a16: 0xe0000681, 0x1a17: 0xe0000729,\n\t0x1a18: 0xe00007d5, 0x1a19: 0xe000087a, 0x1a1a: 0xe0000225,\n\t0x1a1e: 0xe0002022, 0x1a1f: 0xe0002025,\n\t0x1a20: 0x4007b220, 0x1a21: 0x4007b420, 0x1a22: 0x4007b620, 0x1a23: 0x4007b820,\n\t0x1a24: 0x4007ba20, 0x1a25: 0x4007bc20, 0x1a26: 0x4007be20, 0x1a27: 0x4007c020,\n\t0x1a28: 0x4007c220, 0x1a29: 0x4007c420, 0x1a2a: 0x4007c620, 0x1a2b: 0x4007c820,\n\t0x1a2c: 0x4007ca20, 0x1a2d: 0x4007cc20, 0x1a2e: 0x4007ce20, 0x1a2f: 0x4007d020,\n\t0x1a30: 0x4007d220, 0x1a31: 0x4007d420, 0x1a32: 0x4007d620, 0x1a33: 0x4007d820,\n\t0x1a34: 0x4007da20, 0x1a35: 0x4007dc20, 0x1a36: 0x4007de20, 0x1a37: 0x4007e020,\n\t0x1a38: 0x4007e220, 0x1a39: 0x4007e420, 0x1a3a: 0x4007e620, 0x1a3b: 0x4007e820,\n\t0x1a3c: 0x4007ea20, 0x1a3d: 0x4007ec20, 0x1a3e: 0x4007ee20, 0x1a3f: 0x4007f020,\n\t// Block 0x69, offset 0x1a40\n\t0x1a40: 0x404d1420, 0x1a41: 0x404d1620, 0x1a42: 0x404d1820, 0x1a43: 0x404d1a20,\n\t0x1a44: 0x404d1c20, 0x1a45: 0x404d1e20, 0x1a46: 0x404d2020, 0x1a47: 0x404d2220,\n\t0x1a48: 0x404d2420, 0x1a49: 0x404d2620, 0x1a4a: 0x404d2820, 0x1a4b: 0x404d2a20,\n\t0x1a4c: 0x404d2c20, 0x1a4d: 0x404d2e20, 0x1a4e: 0x404d3020, 0x1a4f: 0x404d3220,\n\t0x1a50: 0x404d3420, 0x1a51: 0x404d3620, 0x1a52: 0x404d3820, 0x1a53: 0x404d3a20,\n\t0x1a54: 0x404d3c20, 0x1a55: 0x404d3e20, 0x1a56: 0x404d4020, 0x1a57: 0x82e626a1,\n\t0x1a58: 0x82dc26a2, 0x1a59: 0x404d4620, 0x1a5a: 0x404d4820, 0x1a5b: 0x404d4a20,\n\t0x1a5e: 0x40036620, 0x1a5f: 0x40036820,\n\t0x1a60: 0x40510220, 0x1a61: 0x40510420, 0x1a62: 0x40510620, 0x1a63: 0x40510820,\n\t0x1a64: 0x40510a20, 0x1a65: 0x40510c20, 0x1a66: 0x40510e20, 0x1a67: 0x40511020,\n\t0x1a68: 0x40511220, 0x1a69: 0x40511420, 0x1a6a: 0x40511620, 0x1a6b: 0x40511820,\n\t0x1a6c: 0x40511a20, 0x1a6d: 0x40511c20, 0x1a6e: 0x40511e20, 0x1a6f: 0x40512020,\n\t0x1a70: 0x40512220, 0x1a71: 0x40512420, 0x1a72: 0x40512620, 0x1a73: 0x40512820,\n\t0x1a74: 0x40512a20, 0x1a75: 0x40512c20, 0x1a76: 0x40512e20, 0x1a77: 0x40513020,\n\t0x1a78: 0x40513220, 0x1a79: 0x40513420, 0x1a7a: 0x40513620, 0x1a7b: 0x40513820,\n\t0x1a7c: 0x40513a20, 0x1a7d: 0x40513c20, 0x1a7e: 0x40513e20, 0x1a7f: 0x40514020,\n\t// Block 0x6a, offset 0x1a80\n\t0x1a80: 0x40514220, 0x1a81: 0x40514420, 0x1a82: 0x40514620, 0x1a83: 0x40514820,\n\t0x1a84: 0x40514a20, 0x1a85: 0x40514c20, 0x1a86: 0x40514e20, 0x1a87: 0x40515020,\n\t0x1a88: 0x40515220, 0x1a89: 0x40515420, 0x1a8a: 0x40515620, 0x1a8b: 0x40515820,\n\t0x1a8c: 0x40515a20, 0x1a8d: 0x40516c20, 0x1a8e: 0x40516e20, 0x1a8f: 0x40517020,\n\t0x1a90: 0x40517220, 0x1a91: 0x40517420, 0x1a92: 0x40517620, 0x1a93: 0x40515c20,\n\t0x1a94: 0xe0002029, 0x1a95: 0x40516020, 0x1a96: 0x40516220, 0x1a97: 0x40516420,\n\t0x1a98: 0x00510e84, 0x1a99: 0x00510e84, 0x1a9a: 0x00513884, 0x1a9b: 0x00513884,\n\t0x1a9c: 0x40516620, 0x1a9d: 0x40516820, 0x1a9e: 0x40516a20,\n\t0x1aa0: 0x820928cd, 0x1aa1: 0x40517820, 0x1aa2: 0x40517c20, 0x1aa3: 0x40517e20,\n\t0x1aa4: 0x00517e84, 0x1aa5: 0x40518020, 0x1aa6: 0x40518220, 0x1aa7: 0x40518420,\n\t0x1aa8: 0x40518620, 0x1aa9: 0x40518820, 0x1aaa: 0x40518a20, 0x1aab: 0x40515e20,\n\t0x1aac: 0x40517a20, 0x1aad: 0x40519820, 0x1aae: 0x40518c20, 0x1aaf: 0x40518e20,\n\t0x1ab0: 0x40519220, 0x1ab1: 0x40519420, 0x1ab2: 0x40519620, 0x1ab3: 0x40519020,\n\t0x1ab4: 0xa000f302, 0x1ab5: 0xae611702, 0x1ab6: 0xae611802, 0x1ab7: 0xae611902,\n\t0x1ab8: 0xae611a02, 0x1ab9: 0xae611b02, 0x1aba: 0xae611c02, 0x1abb: 0xae611d02,\n\t0x1abc: 0xae611e02, 0x1abf: 0xadc00000,\n\t// Block 0x6b, offset 0x1ac0\n\t0x1ac0: 0xe0000194, 0x1ac1: 0xe0000228, 0x1ac2: 0xe0000340, 0x1ac3: 0xe000041a,\n\t0x1ac4: 0xe00004ef, 0x1ac5: 0xe00005b9, 0x1ac6: 0xe0000684, 0x1ac7: 0xe000072c,\n\t0x1ac8: 0xe00007d8, 0x1ac9: 0xe000087d,\n\t0x1ad0: 0xe0000197, 0x1ad1: 0xe000022b, 0x1ad2: 0xe0000343, 0x1ad3: 0xe000041d,\n\t0x1ad4: 0xe00004f2, 0x1ad5: 0xe00005bc, 0x1ad6: 0xe0000687, 0x1ad7: 0xe000072f,\n\t0x1ad8: 0xe00007db, 0x1ad9: 0xe0000880,\n\t0x1ae0: 0x4005c220, 0x1ae1: 0x4005c420, 0x1ae2: 0x4005c620, 0x1ae3: 0x4005c820,\n\t0x1ae4: 0x4005ca20, 0x1ae5: 0x4005cc20, 0x1ae6: 0x4005ce20, 0x1ae7: 0x4027be20,\n\t0x1ae8: 0x40032a20, 0x1ae9: 0x40032c20, 0x1aea: 0x40032e20, 0x1aeb: 0x40033020,\n\t0x1aec: 0x4005d020, 0x1aed: 0x4005d220,\n\t// Block 0x6c, offset 0x1b00\n\t0x1b00: 0xa000f202, 0x1b01: 0xa000f202, 0x1b02: 0xa000f302, 0x1b03: 0xa000f702,\n\t0x1b04: 0xa000f402, 0x1b05: 0xc3190821, 0x1b06: 0x40522820, 0x1b07: 0xc31b0821,\n\t0x1b08: 0x40522c20, 0x1b09: 0xc31d0821, 0x1b0a: 0x40523020, 0x1b0b: 0xc31f0821,\n\t0x1b0c: 0x40523420, 0x1b0d: 0xc3210821, 0x1b0e: 0x40523820, 0x1b0f: 0x40523a20,\n\t0x1b10: 0x40523c20, 0x1b11: 0xc3230821, 0x1b12: 0x40524020, 0x1b13: 0x40524220,\n\t0x1b14: 0x40524820, 0x1b15: 0x40524a20, 0x1b16: 0x40524c20, 0x1b17: 0x40524e20,\n\t0x1b18: 0x40525020, 0x1b19: 0x40525220, 0x1b1a: 0x40525420, 0x1b1b: 0x40525620,\n\t0x1b1c: 0x40525820, 0x1b1d: 0x40525a20, 0x1b1e: 0x40525c20, 0x1b1f: 0x40525e20,\n\t0x1b20: 0x40526020, 0x1b21: 0x40526220, 0x1b22: 0x40526420, 0x1b23: 0x40526820,\n\t0x1b24: 0x40526a20, 0x1b25: 0x40526c20, 0x1b26: 0x40526e20, 0x1b27: 0x40527020,\n\t0x1b28: 0x40527420, 0x1b29: 0x40527620, 0x1b2a: 0x40527820, 0x1b2b: 0x40527a20,\n\t0x1b2c: 0x40527c20, 0x1b2d: 0x40527e20, 0x1b2e: 0x40528020, 0x1b2f: 0x40528220,\n\t0x1b30: 0x40528620, 0x1b31: 0x40528820, 0x1b32: 0x40528a20, 0x1b33: 0x40529020,\n\t0x1b34: 0xa070f102, 0x1b35: 0x40529220, 0x1b36: 0x40529420, 0x1b37: 0x40529620,\n\t0x1b38: 0x40529820, 0x1b39: 0x40529a20, 0x1b3a: 0xc3250821, 0x1b3b: 0x40529e20,\n\t0x1b3c: 0xc3270821, 0x1b3d: 0x4052a220, 0x1b3e: 0xc3290821, 0x1b3f: 0xc32b0821,\n\t// Block 0x6d, offset 0x1b40\n\t0x1b40: 0x4052a820, 0x1b41: 0x4052aa20, 0x1b42: 0xc32d0821, 0x1b43: 0x4052ae20,\n\t0x1b44: 0x82092958, 0x1b45: 0x40524420, 0x1b46: 0x40524620, 0x1b47: 0x40526620,\n\t0x1b48: 0x40527220, 0x1b49: 0x40528420, 0x1b4a: 0x40528c20, 0x1b4b: 0x40528e20,\n\t0x1b50: 0xe00001be, 0x1b51: 0xe0000252, 0x1b52: 0xe000036a, 0x1b53: 0xe0000444,\n\t0x1b54: 0xe0000519, 0x1b55: 0xe00005e3, 0x1b56: 0xe00006ae, 0x1b57: 0xe0000756,\n\t0x1b58: 0xe0000802, 0x1b59: 0xe00008a7, 0x1b5a: 0x40036a20, 0x1b5b: 0x40036c20,\n\t0x1b5c: 0x4002f620, 0x1b5d: 0x4002ae20, 0x1b5e: 0x40033220, 0x1b5f: 0x40033420,\n\t0x1b60: 0x40022020, 0x1b61: 0x4007f220, 0x1b62: 0x4007f420, 0x1b63: 0x4007f620,\n\t0x1b64: 0x4007f820, 0x1b65: 0x4007fa20, 0x1b66: 0x4007fc20, 0x1b67: 0x4007fe20,\n\t0x1b68: 0x40080020, 0x1b69: 0x40080220, 0x1b6a: 0x40080420, 0x1b6b: 0xae600000,\n\t0x1b6c: 0xadc00000, 0x1b6d: 0xae600000, 0x1b6e: 0xae600000, 0x1b6f: 0xae600000,\n\t0x1b70: 0xae600000, 0x1b71: 0xae600000, 0x1b72: 0xae600000, 0x1b73: 0xae600000,\n\t0x1b74: 0x40080620, 0x1b75: 0x40080820, 0x1b76: 0x40080a20, 0x1b77: 0x40080c20,\n\t0x1b78: 0x40080e20, 0x1b79: 0x40081020, 0x1b7a: 0x40081220, 0x1b7b: 0x40081420,\n\t0x1b7c: 0x40081620,\n\t// Block 0x6e, offset 0x1b80\n\t0x1b80: 0xa000f302, 0x1b81: 0xa000f902, 0x1b82: 0xa000f402, 0x1b83: 0x4047d420,\n\t0x1b84: 0x4047d620, 0x1b85: 0x4047d820, 0x1b86: 0x4047da20, 0x1b87: 0x4047dc20,\n\t0x1b88: 0x4047de20, 0x1b89: 0x4047e020, 0x1b8a: 0x4047e220, 0x1b8b: 0x4047e620,\n\t0x1b8c: 0x4047e820, 0x1b8d: 0x4047ea20, 0x1b8e: 0x4047ec20, 0x1b8f: 0x4047ee20,\n\t0x1b90: 0x4047f020, 0x1b91: 0x4047f220, 0x1b92: 0x4047f420, 0x1b93: 0x4047f620,\n\t0x1b94: 0x4047f820, 0x1b95: 0x4047fa20, 0x1b96: 0x4047fc20, 0x1b97: 0x4047fe20,\n\t0x1b98: 0x40480020, 0x1b99: 0x40480420, 0x1b9a: 0x40480820, 0x1b9b: 0x40480c20,\n\t0x1b9c: 0x40481220, 0x1b9d: 0x40481820, 0x1b9e: 0x40481c20, 0x1b9f: 0x40481e20,\n\t0x1ba0: 0x40482220, 0x1ba1: 0x40480a20, 0x1ba2: 0x40480e20, 0x1ba3: 0x40481420,\n\t0x1ba4: 0x40482420, 0x1ba5: 0x40482620, 0x1ba6: 0x40482820, 0x1ba7: 0x40482a20,\n\t0x1ba8: 0x40482c20, 0x1ba9: 0x40482e20, 0x1baa: 0x82092418, 0x1bab: 0x82092419,\n\t0x1bac: 0x40480620, 0x1bad: 0x40481a20, 0x1bae: 0x4047e420, 0x1baf: 0x40482020,\n\t0x1bb0: 0xe00001c4, 0x1bb1: 0xe0000258, 0x1bb2: 0xe0000370, 0x1bb3: 0xe000044a,\n\t0x1bb4: 0xe000051f, 0x1bb5: 0xe00005e9, 0x1bb6: 0xe00006b4, 0x1bb7: 0xe000075c,\n\t0x1bb8: 0xe0000808, 0x1bb9: 0xe00008ad, 0x1bba: 0x0047d484, 0x1bbb: 0x40481020,\n\t0x1bbc: 0x40481620, 0x1bbd: 0x40480220, 0x1bbe: 0x0047e299, 0x1bbf: 0x00480499,\n\t// Block 0x6f, offset 0x1bc0\n\t0x1bc0: 0x404d4c20, 0x1bc1: 0x004d4c84, 0x1bc2: 0x404d4e20, 0x1bc3: 0x004d4e84,\n\t0x1bc4: 0x004d4e84, 0x1bc5: 0x404d5020, 0x1bc6: 0x004d5084, 0x1bc7: 0x404d5220,\n\t0x1bc8: 0x004d5284, 0x1bc9: 0x404d5420, 0x1bca: 0x004d5484, 0x1bcb: 0x404d5620,\n\t0x1bcc: 0x004d5684, 0x1bcd: 0x004d5684, 0x1bce: 0x404d5820, 0x1bcf: 0x004d5884,\n\t0x1bd0: 0x404d5a20, 0x1bd1: 0x404d5c20, 0x1bd2: 0x404d5e20, 0x1bd3: 0x004d5e84,\n\t0x1bd4: 0x404d6020, 0x1bd5: 0x004d6084, 0x1bd6: 0x404d6220, 0x1bd7: 0x004d6284,\n\t0x1bd8: 0x404d6420, 0x1bd9: 0x004d6484, 0x1bda: 0x004d6484, 0x1bdb: 0x404d6620,\n\t0x1bdc: 0x004d6684, 0x1bdd: 0x404d6820, 0x1bde: 0x404d6a20, 0x1bdf: 0x004d6a84,\n\t0x1be0: 0x404d6c20, 0x1be1: 0x404d6e20, 0x1be2: 0x404d7020, 0x1be3: 0x404d7220,\n\t0x1be4: 0x404d7420, 0x1be5: 0x404d7620, 0x1be6: 0xa070f102, 0x1be7: 0x404d7820,\n\t0x1be8: 0x004d7884, 0x1be9: 0x404d7a20, 0x1bea: 0x404d7c20, 0x1beb: 0x004d7c84,\n\t0x1bec: 0x404d7e20, 0x1bed: 0x004d7e84, 0x1bee: 0x404d8020, 0x1bef: 0x004d8084,\n\t0x1bf0: 0x404d8220, 0x1bf1: 0x404d8420, 0x1bf2: 0x820926c3, 0x1bf3: 0x820926c4,\n\t0x1bfc: 0x4005ec20, 0x1bfd: 0x4005ee20, 0x1bfe: 0x4005f020, 0x1bff: 0x4005f220,\n\t// Block 0x70, offset 0x1c00\n\t0x1c00: 0x404b3620, 0x1c01: 0x404b3820, 0x1c02: 0x404b3a20, 0x1c03: 0x404b3c20,\n\t0x1c04: 0x404b3e20, 0x1c05: 0x404b4020, 0x1c06: 0x404b4220, 0x1c07: 0x404b4420,\n\t0x1c08: 0x404b4620, 0x1c09: 0x404b4820, 0x1c0a: 0x404b5020, 0x1c0b: 0x404b5220,\n\t0x1c0c: 0x404b5420, 0x1c0d: 0x404b5620, 0x1c0e: 0x404b5820, 0x1c0f: 0x404b5a20,\n\t0x1c10: 0x404b5c20, 0x1c11: 0x404b5e20, 0x1c12: 0x404b6020, 0x1c13: 0x404b6220,\n\t0x1c14: 0x404b6420, 0x1c15: 0x404b6620, 0x1c16: 0x404b6820, 0x1c17: 0x404b6a20,\n\t0x1c18: 0x404b6c20, 0x1c19: 0x404b6e20, 0x1c1a: 0x404b7020, 0x1c1b: 0x404b7420,\n\t0x1c1c: 0x404b7820, 0x1c1d: 0x404b7a20, 0x1c1e: 0x404b7c20, 0x1c1f: 0x404b7e20,\n\t0x1c20: 0x404b8020, 0x1c21: 0x404b8220, 0x1c22: 0x404b8420, 0x1c23: 0x404b8620,\n\t0x1c24: 0x404b7220, 0x1c25: 0x404b7620, 0x1c26: 0x404b8a20, 0x1c27: 0x404b8c20,\n\t0x1c28: 0x404b8e20, 0x1c29: 0x404b9020, 0x1c2a: 0x404b9220, 0x1c2b: 0x404b9420,\n\t0x1c2c: 0x404b9620, 0x1c2d: 0x404b9820, 0x1c2e: 0x404b9a20, 0x1c2f: 0x404b9c20,\n\t0x1c30: 0x404b9e20, 0x1c31: 0x404ba020, 0x1c32: 0x404ba220, 0x1c33: 0x404ba420,\n\t0x1c34: 0x404ba620, 0x1c35: 0x404ba820, 0x1c36: 0x404b8820, 0x1c37: 0xa070f102,\n\t0x1c3b: 0x40031420,\n\t0x1c3c: 0x40031620, 0x1c3d: 0x4005ae20, 0x1c3e: 0x4005b020, 0x1c3f: 0x4005b220,\n\t// Block 0x71, offset 0x1c40\n\t0x1c40: 0xe00001a6, 0x1c41: 0xe000023a, 0x1c42: 0xe0000352, 0x1c43: 0xe000042c,\n\t0x1c44: 0xe0000501, 0x1c45: 0xe00005cb, 0x1c46: 0xe0000696, 0x1c47: 0xe000073e,\n\t0x1c48: 0xe00007ea, 0x1c49: 0xe000088f,\n\t0x1c4d: 0x404b4a20, 0x1c4e: 0x404b4c20, 0x1c4f: 0x404b4e20,\n\t0x1c50: 0xe00001ca, 0x1c51: 0xe000025e, 0x1c52: 0xe0000376, 0x1c53: 0xe0000450,\n\t0x1c54: 0xe0000525, 0x1c55: 0xe00005ef, 0x1c56: 0xe00006ba, 0x1c57: 0xe0000762,\n\t0x1c58: 0xe000080e, 0x1c59: 0xe00008b3, 0x1c5a: 0x40542e20, 0x1c5b: 0x40543020,\n\t0x1c5c: 0x40543220, 0x1c5d: 0x40543420, 0x1c5e: 0x40543620, 0x1c5f: 0x40543820,\n\t0x1c60: 0x40543a20, 0x1c61: 0x40543c20, 0x1c62: 0x40543e20, 0x1c63: 0x40544020,\n\t0x1c64: 0x40544220, 0x1c65: 0x40544420, 0x1c66: 0x40544620, 0x1c67: 0x40544820,\n\t0x1c68: 0x40544a20, 0x1c69: 0x40544c20, 0x1c6a: 0x40544e20, 0x1c6b: 0x40545020,\n\t0x1c6c: 0x40545220, 0x1c6d: 0x40545420, 0x1c6e: 0x40545620, 0x1c6f: 0x40545820,\n\t0x1c70: 0x40545a20, 0x1c71: 0x40545c20, 0x1c72: 0x40545e20, 0x1c73: 0x40546020,\n\t0x1c74: 0x40546220, 0x1c75: 0x40546420, 0x1c76: 0x40546620, 0x1c77: 0x40546820,\n\t0x1c78: 0x40546a20, 0x1c79: 0x40546c20, 0x1c7a: 0x40546e20, 0x1c7b: 0x40547020,\n\t0x1c7c: 0x40547220, 0x1c7d: 0x40547420, 0x1c7e: 0x40035820, 0x1c7f: 0x40035a20,\n\t// Block 0x72, offset 0x1c80\n\t0x1c80: 0x4005d620, 0x1c81: 0x4005d820, 0x1c82: 0x4005da20, 0x1c83: 0x4005dc20,\n\t0x1c84: 0x4005de20, 0x1c85: 0x4005e020, 0x1c86: 0x4005e220, 0x1c87: 0x4005e420,\n\t0x1c90: 0xae600000, 0x1c91: 0xae600000, 0x1c92: 0xae600000, 0x1c93: 0xa0000000,\n\t0x1c94: 0xa0100000, 0x1c95: 0xadc00000, 0x1c96: 0xadc00000, 0x1c97: 0xadc00000,\n\t0x1c98: 0xadc00000, 0x1c99: 0xadc00000, 0x1c9a: 0xae600000, 0x1c9b: 0xae600000,\n\t0x1c9c: 0xadc00000, 0x1c9d: 0xadc00000, 0x1c9e: 0xadc00000, 0x1c9f: 0xadc00000,\n\t0x1ca0: 0xae600000, 0x1ca1: 0xa0000000, 0x1ca2: 0xa0100000, 0x1ca3: 0xa0100000,\n\t0x1ca4: 0xa0100000, 0x1ca5: 0xa0100000, 0x1ca6: 0xa0100000, 0x1ca7: 0xa0100000,\n\t0x1ca8: 0xa0100000, 0x1ca9: 0x40404020, 0x1caa: 0x00404084, 0x1cab: 0x00404084,\n\t0x1cac: 0x00404084, 0x1cad: 0xadc0f302, 0x1cae: 0x00404084, 0x1caf: 0x00404084,\n\t0x1cb0: 0x00404084, 0x1cb1: 0x00404084, 0x1cb2: 0xa000f402, 0x1cb3: 0xa000f402,\n\t0x1cb4: 0xae600000, 0x1cb5: 0x40404220, 0x1cb6: 0x40404420,\n\t// Block 0x73, offset 0x1cc0\n\t0x1cc0: 0x402be620, 0x1cc1: 0x402bec20, 0x1cc2: 0x402bee20, 0x1cc3: 0x402c2420,\n\t0x1cc4: 0x402c4220, 0x1cc5: 0x402c6a20, 0x1cc6: 0x402c6c20, 0x1cc7: 0x402ca020,\n\t0x1cc8: 0x402ce620, 0x1cc9: 0x402db420, 0x1cca: 0x402ddc20, 0x1ccb: 0x402e0620,\n\t0x1ccc: 0x402e3420, 0x1ccd: 0x402e8a20, 0x1cce: 0x402eb020, 0x1ccf: 0x402eea20,\n\t0x1cd0: 0x402f0220, 0x1cd1: 0x402eec20, 0x1cd2: 0x402f0420, 0x1cd3: 0x402ef820,\n\t0x1cd4: 0x402ef620, 0x1cd5: 0x402f2a20, 0x1cd6: 0x402f0a20, 0x1cd7: 0x402f0c20,\n\t0x1cd8: 0x402f3420, 0x1cd9: 0x402f8c20, 0x1cda: 0x402fa020, 0x1cdb: 0x40303420,\n\t0x1cdc: 0x40307420, 0x1cdd: 0x40307620, 0x1cde: 0x40307820, 0x1cdf: 0x4030aa20,\n\t0x1ce0: 0x4030c620, 0x1ce1: 0x4030ea20, 0x1ce2: 0x40313220, 0x1ce3: 0x40316c20,\n\t0x1ce4: 0x4031f420, 0x1ce5: 0x4031f620, 0x1ce6: 0x40325820, 0x1ce7: 0x40327420,\n\t0x1ce8: 0x40328020, 0x1ce9: 0x40328a20, 0x1cea: 0x4032a020, 0x1ceb: 0x40348c20,\n\t0x1cec: 0x002bde9d, 0x1ced: 0xe00009e1, 0x1cee: 0x002c0a9d, 0x1cef: 0x402c2220,\n\t0x1cf0: 0x002c629d, 0x1cf1: 0x002c989d, 0x1cf2: 0x002cae9d, 0x1cf3: 0x002d229d,\n\t0x1cf4: 0x002d689d, 0x1cf5: 0x002d9a9d, 0x1cf6: 0x002dcc9d, 0x1cf7: 0x002dfe9d,\n\t0x1cf8: 0x002e229d, 0x1cf9: 0x002e829d, 0x1cfa: 0x002e9e9d, 0x1cfb: 0x402eae20,\n\t0x1cfc: 0x002ee29d, 0x1cfd: 0x002f229d, 0x1cfe: 0x002f2c9d, 0x1cff: 0x002f7a9d,\n\t// Block 0x74, offset 0x1d00\n\t0x1d00: 0x00302c9d, 0x1d01: 0x00306c9d, 0x1d02: 0x0030e29d, 0x1d03: 0x002bde94,\n\t0x1d04: 0x002bf094, 0x1d05: 0x002bf894, 0x1d06: 0x002bee94, 0x1d07: 0x002c0a94,\n\t0x1d08: 0x002c6294, 0x1d09: 0x002c9894, 0x1d0a: 0x002cb894, 0x1d0b: 0x002cc294,\n\t0x1d0c: 0x002ce694, 0x1d0d: 0x002d2294, 0x1d0e: 0x002db494, 0x1d0f: 0x002dfe94,\n\t0x1d10: 0x002e8294, 0x1d11: 0x002eda94, 0x1d12: 0x002ee294, 0x1d13: 0x002efa94,\n\t0x1d14: 0x002f0a94, 0x1d15: 0x002f0c94, 0x1d16: 0x002f2c94, 0x1d17: 0x00302c94,\n\t0x1d18: 0x00306c94, 0x1d19: 0x00307694, 0x1d1a: 0x0030a094, 0x1d1b: 0x0030be94,\n\t0x1d1c: 0x0031f694, 0x1d1d: 0x00325494, 0x1d1e: 0x00325694, 0x1d1f: 0x00325a94,\n\t0x1d20: 0x00329a94, 0x1d21: 0x00329c94, 0x1d22: 0x002d9a95, 0x1d23: 0x002f7a95,\n\t0x1d24: 0x00306c95, 0x1d25: 0x0030be95, 0x1d26: 0x00325495, 0x1d27: 0x00325695,\n\t0x1d28: 0x00328895, 0x1d29: 0x00329a95, 0x1d2a: 0x00329c95, 0x1d2b: 0x40307a20,\n\t0x1d2c: 0x402c2620, 0x1d2d: 0x402c6e20, 0x1d2e: 0x402d1220, 0x1d2f: 0x402e8c20,\n\t0x1d30: 0x402eb220, 0x1d31: 0x402f3a20, 0x1d32: 0x402f9620, 0x1d33: 0x402fce20,\n\t0x1d34: 0x402ff020, 0x1d35: 0x40304020, 0x1d36: 0x40313c20, 0x1d37: 0x402d5420,\n\t0x1d38: 0x0034ba94, 0x1d39: 0xe0000bd9, 0x1d3a: 0xe0000fc1, 0x1d3b: 0x402dbe20,\n\t0x1d3c: 0x402dca20, 0x1d3d: 0x402f3620, 0x1d3e: 0x40308420, 0x1d3f: 0x4030bc20,\n\t// Block 0x75, offset 0x1d40\n\t0x1d40: 0x402c2820, 0x1d41: 0x402c7020, 0x1d42: 0x402d1420, 0x1d43: 0x402d4220,\n\t0x1d44: 0x402e0820, 0x1d45: 0x402e5220, 0x1d46: 0x402e8e20, 0x1d47: 0x402ec620,\n\t0x1d48: 0x402f3c20, 0x1d49: 0x402faa20, 0x1d4a: 0x402ff220, 0x1d4b: 0x40301020,\n\t0x1d4c: 0x4030ca20, 0x1d4d: 0x4030fe20, 0x1d4e: 0x40313e20, 0x1d4f: 0x402bea20,\n\t0x1d50: 0x402c0020, 0x1d51: 0x402c8220, 0x1d52: 0x402caa20, 0x1d53: 0x402cca20,\n\t0x1d54: 0x402ce420, 0x1d55: 0x402cc020, 0x1d56: 0x402dc020, 0x1d57: 0x402f0620,\n\t0x1d58: 0x40302220, 0x1d59: 0x40308620, 0x1d5a: 0x40317620, 0x1d5b: 0x002c0294,\n\t0x1d5c: 0x002c3a94, 0x1d5d: 0x002c5694, 0x1d5e: 0xf0001414, 0x1d5f: 0x002cdc94,\n\t0x1d60: 0x002d0894, 0x1d61: 0x002dee94, 0x1d62: 0x002d2a94, 0x1d63: 0x00308894,\n\t0x1d64: 0x002db694, 0x1d65: 0x002dc294, 0x1d66: 0x002daa94, 0x1d67: 0x002dbe94,\n\t0x1d68: 0x002de694, 0x1d69: 0x002e5494, 0x1d6a: 0x002e5294, 0x1d6b: 0x002e2a94,\n\t0x1d6c: 0x002e9094, 0x1d6d: 0x0030ac94, 0x1d6e: 0x002eb494, 0x1d6f: 0x002ec894,\n\t0x1d70: 0x002ea694, 0x1d71: 0x002f1094, 0x1d72: 0x002f4c94, 0x1d73: 0x002ff494,\n\t0x1d74: 0x00300894, 0x1d75: 0x00304294, 0x1d76: 0x00307c94, 0x1d77: 0x0030b494,\n\t0x1d78: 0x00307494, 0x1d79: 0x0030cc94, 0x1d7a: 0x0030da94, 0x1d7b: 0x00312a94,\n\t0x1d7c: 0x00314894, 0x1d7d: 0x00315094, 0x1d7e: 0x00316494, 0x1d7f: 0x00326a94,\n\t// Block 0x76, offset 0x1d80\n\t0x1d80: 0xae605f02, 0x1d81: 0xae605f02, 0x1d82: 0xadc06002, 0x1d83: 0xae605f02,\n\t0x1d84: 0xae605f02, 0x1d85: 0xae605f02, 0x1d86: 0xae605f02, 0x1d87: 0xae605f02,\n\t0x1d88: 0xae605f02, 0x1d89: 0xae605f02, 0x1d8a: 0x84dc17bd, 0x1d8b: 0xae605f02,\n\t0x1d8c: 0xae605f02, 0x1d8d: 0xaea05f02, 0x1d8e: 0xad605f02, 0x1d8f: 0xadc06002,\n\t0x1d90: 0xaca06002, 0x1d91: 0xae605f02, 0x1d92: 0x84e618d1, 0x1d93: 0xe00009b4,\n\t0x1d94: 0xe00009d9, 0x1d95: 0xe00009f9, 0x1d96: 0xe0000a08, 0x1d97: 0xe0000a50,\n\t0x1d98: 0xe0000ab6, 0x1d99: 0xe0000ab0, 0x1d9a: 0x84e61691, 0x1d9b: 0x84e61699,\n\t0x1d9c: 0x84e616ff, 0x1d9d: 0x84e61711, 0x1d9e: 0x84e61715, 0x1d9f: 0x84e61745,\n\t0x1da0: 0x84e6174f, 0x1da1: 0x84e61753, 0x1da2: 0x84e617c1, 0x1da3: 0x84e617c5,\n\t0x1da4: 0x84e617f3, 0x1da5: 0xe0000f67, 0x1da6: 0x84e61895,\n\t0x1dbc: 0xae906002, 0x1dbd: 0xadc06002, 0x1dbe: 0xae605f02, 0x1dbf: 0xadc06002,\n\t// Block 0x77, offset 0x1dc0\n\t0x1dc0: 0xe00009b1, 0x1dc1: 0xe00009ae, 0x1dc2: 0xe0000a22, 0x1dc3: 0xe0000a1f,\n\t0x1dc4: 0xe0000a28, 0x1dc5: 0xe0000a25, 0x1dc6: 0xe0000a2e, 0x1dc7: 0xe0000a2b,\n\t0x1dc8: 0xe0000a5a, 0x1dc9: 0xe0000a56, 0x1dca: 0xe0000a8c, 0x1dcb: 0xe0000a89,\n\t0x1dcc: 0xe0000a98, 0x1dcd: 0xe0000a95, 0x1dce: 0xe0000aa4, 0x1dcf: 0xe0000aa1,\n\t0x1dd0: 0xe0000a92, 0x1dd1: 0xe0000a8f, 0x1dd2: 0xe0000a9e, 0x1dd3: 0xe0000a9b,\n\t0x1dd4: 0xe0000b55, 0x1dd5: 0xe0000b51, 0x1dd6: 0xe0000b4d, 0x1dd7: 0xe0000b49,\n\t0x1dd8: 0xe0000b7c, 0x1dd9: 0xe0000b79, 0x1dda: 0xe0000b82, 0x1ddb: 0xe0000b7f,\n\t0x1ddc: 0xe0000b39, 0x1ddd: 0xe0000b35, 0x1dde: 0xe0000b8c, 0x1ddf: 0xe0000b89,\n\t0x1de0: 0xe0000bd0, 0x1de1: 0xe0000bcd, 0x1de2: 0xe0000c00, 0x1de3: 0xe0000bfd,\n\t0x1de4: 0xe0000c0c, 0x1de5: 0xe0000c09, 0x1de6: 0xe0000bfa, 0x1de7: 0xe0000bf7,\n\t0x1de8: 0xe0000c06, 0x1de9: 0xe0000c03, 0x1dea: 0xe0000c12, 0x1deb: 0xe0000c0f,\n\t0x1dec: 0xe0000c7e, 0x1ded: 0xe0000c7b, 0x1dee: 0xe0000c4a, 0x1def: 0xe0000c46,\n\t0x1df0: 0xe0000c93, 0x1df1: 0xe0000c90, 0x1df2: 0xe0000cab, 0x1df3: 0xe0000ca8,\n\t0x1df4: 0xe0000cb1, 0x1df5: 0xe0000cae, 0x1df6: 0xe0000cde, 0x1df7: 0xe0000cdb,\n\t0x1df8: 0xe0000ce5, 0x1df9: 0xe0000ce1, 0x1dfa: 0xe0000cf2, 0x1dfb: 0xe0000cef,\n\t0x1dfc: 0xe0000cec, 0x1dfd: 0xe0000ce9, 0x1dfe: 0xe0000d1e, 0x1dff: 0xe0000d1b,\n\t// Block 0x78, offset 0x1e00\n\t0x1e00: 0xe0000d24, 0x1e01: 0xe0000d21, 0x1e02: 0xe0000d2a, 0x1e03: 0xe0000d27,\n\t0x1e04: 0xe0000d69, 0x1e05: 0xe0000d66, 0x1e06: 0xe0000d7b, 0x1e07: 0xe0000d78,\n\t0x1e08: 0xe0000d87, 0x1e09: 0xe0000d84, 0x1e0a: 0xe0000d81, 0x1e0b: 0xe0000d7e,\n\t0x1e0c: 0xe0000ded, 0x1e0d: 0xe0000de9, 0x1e0e: 0xe0000df5, 0x1e0f: 0xe0000df1,\n\t0x1e10: 0xe0000e3d, 0x1e11: 0xe0000e39, 0x1e12: 0xe0000e35, 0x1e13: 0xe0000e31,\n\t0x1e14: 0xe0000ea7, 0x1e15: 0xe0000ea4, 0x1e16: 0xe0000ead, 0x1e17: 0xe0000eaa,\n\t0x1e18: 0xe0000ed6, 0x1e19: 0xe0000ed3, 0x1e1a: 0xe0000ef4, 0x1e1b: 0xe0000ef1,\n\t0x1e1c: 0xe0000efb, 0x1e1d: 0xe0000ef7, 0x1e1e: 0xe0000f02, 0x1e1f: 0xe0000eff,\n\t0x1e20: 0xe0000f41, 0x1e21: 0xe0000f3e, 0x1e22: 0xe0000f53, 0x1e23: 0xe0000f50,\n\t0x1e24: 0xe0000f26, 0x1e25: 0xe0000f22, 0x1e26: 0xe0000f3a, 0x1e27: 0xe0000f36,\n\t0x1e28: 0xe0000f5a, 0x1e29: 0xe0000f56, 0x1e2a: 0xe0000f93, 0x1e2b: 0xe0000f90,\n\t0x1e2c: 0xe0000f9f, 0x1e2d: 0xe0000f9c, 0x1e2e: 0xe0000fb1, 0x1e2f: 0xe0000fae,\n\t0x1e30: 0xe0000fab, 0x1e31: 0xe0000fa8, 0x1e32: 0xe0001093, 0x1e33: 0xe0001090,\n\t0x1e34: 0xe000109f, 0x1e35: 0xe000109c, 0x1e36: 0xe0001099, 0x1e37: 0xe0001096,\n\t0x1e38: 0xe0001032, 0x1e39: 0xe000102e, 0x1e3a: 0xe0001046, 0x1e3b: 0xe0001042,\n\t0x1e3c: 0xe00010a9, 0x1e3d: 0xe00010a6, 0x1e3e: 0xe00010af, 0x1e3f: 0xe00010ac,\n\t// Block 0x79, offset 0x1e40\n\t0x1e40: 0xe00010d2, 0x1e41: 0xe00010cf, 0x1e42: 0xe00010cc, 0x1e43: 0xe00010c9,\n\t0x1e44: 0xe00010e1, 0x1e45: 0xe00010de, 0x1e46: 0xe00010e7, 0x1e47: 0xe00010e4,\n\t0x1e48: 0xe00010ed, 0x1e49: 0xe00010ea, 0x1e4a: 0xe00010fc, 0x1e4b: 0xe00010f9,\n\t0x1e4c: 0xe00010f6, 0x1e4d: 0xe00010f3, 0x1e4e: 0xe0001123, 0x1e4f: 0xe0001120,\n\t0x1e50: 0xe0001141, 0x1e51: 0xe000113e, 0x1e52: 0xe0001153, 0x1e53: 0xe0001150,\n\t0x1e54: 0xe0001159, 0x1e55: 0xe0001156, 0x1e56: 0xe0000c15, 0x1e57: 0xe0000f8d,\n\t0x1e58: 0xe00010db, 0x1e59: 0xe0001111, 0x1e5a: 0xf0000404, 0x1e5b: 0xe0000f70,\n\t0x1e5c: 0x40300420, 0x1e5d: 0x40300620, 0x1e5e: 0xe0000f7f, 0x1e5f: 0x402c9620,\n\t0x1e60: 0xe000099b, 0x1e61: 0xe0000998, 0x1e62: 0xe0000989, 0x1e63: 0xe0000986,\n\t0x1e64: 0xe0000928, 0x1e65: 0xe0000924, 0x1e66: 0xe0000930, 0x1e67: 0xe000092c,\n\t0x1e68: 0xe0000940, 0x1e69: 0xe000093c, 0x1e6a: 0xe0000938, 0x1e6b: 0xe0000934,\n\t0x1e6c: 0xe00009aa, 0x1e6d: 0xe00009a6, 0x1e6e: 0xe0000902, 0x1e6f: 0xe00008fe,\n\t0x1e70: 0xe000090a, 0x1e71: 0xe0000906, 0x1e72: 0xe000091a, 0x1e73: 0xe0000916,\n\t0x1e74: 0xe0000912, 0x1e75: 0xe000090e, 0x1e76: 0xe00009a2, 0x1e77: 0xe000099e,\n\t0x1e78: 0xe0000b6e, 0x1e79: 0xe0000b6b, 0x1e7a: 0xe0000b5c, 0x1e7b: 0xe0000b59,\n\t0x1e7c: 0xe0000b26, 0x1e7d: 0xe0000b23, 0x1e7e: 0xe0000afb, 0x1e7f: 0xe0000af7,\n\t// Block 0x7a, offset 0x1e80\n\t0x1e80: 0xe0000b03, 0x1e81: 0xe0000aff, 0x1e82: 0xe0000b13, 0x1e83: 0xe0000b0f,\n\t0x1e84: 0xe0000b0b, 0x1e85: 0xe0000b07, 0x1e86: 0xe0000b75, 0x1e87: 0xe0000b71,\n\t0x1e88: 0xe0000c66, 0x1e89: 0xe0000c63, 0x1e8a: 0xe0000c78, 0x1e8b: 0xe0000c75,\n\t0x1e8c: 0xe0000e84, 0x1e8d: 0xe0000e81, 0x1e8e: 0xe0000e44, 0x1e8f: 0xe0000e41,\n\t0x1e90: 0xe0000dad, 0x1e91: 0xe0000da9, 0x1e92: 0xe0000db5, 0x1e93: 0xe0000db1,\n\t0x1e94: 0xe0000dc5, 0x1e95: 0xe0000dc1, 0x1e96: 0xe0000dbd, 0x1e97: 0xe0000db9,\n\t0x1e98: 0xe0000e8b, 0x1e99: 0xe0000e87, 0x1e9a: 0xe0000e5d, 0x1e9b: 0xe0000e59,\n\t0x1e9c: 0xe0000e65, 0x1e9d: 0xe0000e61, 0x1e9e: 0xe0000e75, 0x1e9f: 0xe0000e71,\n\t0x1ea0: 0xe0000e6d, 0x1ea1: 0xe0000e69, 0x1ea2: 0xe0000e7d, 0x1ea3: 0xe0000e79,\n\t0x1ea4: 0xe000108d, 0x1ea5: 0xe000108a, 0x1ea6: 0xe000104d, 0x1ea7: 0xe000104a,\n\t0x1ea8: 0xe0001066, 0x1ea9: 0xe0001062, 0x1eaa: 0xe000106e, 0x1eab: 0xe000106a,\n\t0x1eac: 0xe000107e, 0x1ead: 0xe000107a, 0x1eae: 0xe0001076, 0x1eaf: 0xe0001072,\n\t0x1eb0: 0xe0001086, 0x1eb1: 0xe0001082, 0x1eb2: 0xe0001108, 0x1eb3: 0xe0001105,\n\t0x1eb4: 0xe0001135, 0x1eb5: 0xe0001132, 0x1eb6: 0xe000112f, 0x1eb7: 0xe000112c,\n\t0x1eb8: 0xe000111d, 0x1eb9: 0xe000111a, 0x1eba: 0xe0000d0a, 0x1ebb: 0xe0000d07,\n\t0x1ebc: 0x0030d888, 0x1ebd: 0x4030d820, 0x1ebe: 0x00312088, 0x1ebf: 0x40312020,\n\t// Block 0x7b, offset 0x1ec0\n\t0x1ec0: 0xe0001165, 0x1ec1: 0xe00011a9, 0x1ec2: 0xe000117d, 0x1ec3: 0xe00011c1,\n\t0x1ec4: 0xe000116b, 0x1ec5: 0xe00011af, 0x1ec6: 0xe000118f, 0x1ec7: 0xe00011d3,\n\t0x1ec8: 0xe0001168, 0x1ec9: 0xe00011ac, 0x1eca: 0xe0001181, 0x1ecb: 0xe00011c5,\n\t0x1ecc: 0xe000116f, 0x1ecd: 0xe00011b3, 0x1ece: 0xe0001193, 0x1ecf: 0xe00011d7,\n\t0x1ed0: 0xe000121a, 0x1ed1: 0xe0001230, 0x1ed2: 0xe0001228, 0x1ed3: 0xe000123e,\n\t0x1ed4: 0xe0001220, 0x1ed5: 0xe0001236,\n\t0x1ed8: 0xe000121d, 0x1ed9: 0xe0001233, 0x1eda: 0xe000122c, 0x1edb: 0xe0001242,\n\t0x1edc: 0xe0001224, 0x1edd: 0xe000123a,\n\t0x1ee0: 0xe0001252, 0x1ee1: 0xe0001296, 0x1ee2: 0xe000126a, 0x1ee3: 0xe00012ae,\n\t0x1ee4: 0xe0001258, 0x1ee5: 0xe000129c, 0x1ee6: 0xe000127c, 0x1ee7: 0xe00012c0,\n\t0x1ee8: 0xe0001255, 0x1ee9: 0xe0001299, 0x1eea: 0xe000126e, 0x1eeb: 0xe00012b2,\n\t0x1eec: 0xe000125c, 0x1eed: 0xe00012a0, 0x1eee: 0xe0001280, 0x1eef: 0xe00012c4,\n\t0x1ef0: 0xe00012fb, 0x1ef1: 0xe0001319, 0x1ef2: 0xe0001309, 0x1ef3: 0xe0001327,\n\t0x1ef4: 0xe0001301, 0x1ef5: 0xe000131f, 0x1ef6: 0xe0001311, 0x1ef7: 0xe000132f,\n\t0x1ef8: 0xe00012fe, 0x1ef9: 0xe000131c, 0x1efa: 0xe000130d, 0x1efb: 0xe000132b,\n\t0x1efc: 0xe0001305, 0x1efd: 0xe0001323, 0x1efe: 0xe0001315, 0x1eff: 0xe0001333,\n\t// Block 0x7c, offset 0x1f00\n\t0x1f00: 0xe000136c, 0x1f01: 0xe0001382, 0x1f02: 0xe000137a, 0x1f03: 0xe0001390,\n\t0x1f04: 0xe0001372, 0x1f05: 0xe0001388,\n\t0x1f08: 0xe000136f, 0x1f09: 0xe0001385, 0x1f0a: 0xe000137e, 0x1f0b: 0xe0001394,\n\t0x1f0c: 0xe0001376, 0x1f0d: 0xe000138c,\n\t0x1f10: 0xe00013ad, 0x1f11: 0xe00013bc, 0x1f12: 0xe00013b4, 0x1f13: 0xe00013ca,\n\t0x1f14: 0xe00013b0, 0x1f15: 0xe00013c2, 0x1f16: 0xe00013b8, 0x1f17: 0xe00013d2,\n\t0x1f19: 0xe00013bf, 0x1f1b: 0xe00013ce,\n\t0x1f1d: 0xe00013c6, 0x1f1f: 0xe00013d6,\n\t0x1f20: 0xe0001407, 0x1f21: 0xe000144b, 0x1f22: 0xe000141f, 0x1f23: 0xe0001463,\n\t0x1f24: 0xe000140d, 0x1f25: 0xe0001451, 0x1f26: 0xe0001431, 0x1f27: 0xe0001475,\n\t0x1f28: 0xe000140a, 0x1f29: 0xe000144e, 0x1f2a: 0xe0001423, 0x1f2b: 0xe0001467,\n\t0x1f2c: 0xe0001411, 0x1f2d: 0xe0001455, 0x1f2e: 0xe0001435, 0x1f2f: 0xe0001479,\n\t0x1f30: 0xe00011f7, 0x1f31: 0xe00011ed, 0x1f32: 0xe000124c, 0x1f33: 0xe0001246,\n\t0x1f34: 0xe00012e4, 0x1f35: 0xe00012da, 0x1f36: 0xe000133d, 0x1f37: 0xe0001337,\n\t0x1f38: 0xe000139e, 0x1f39: 0xe0001398, 0x1f3a: 0xe00013e0, 0x1f3b: 0xe00013da,\n\t0x1f3c: 0xe0001499, 0x1f3d: 0xe000148f,\n\t// Block 0x7d, offset 0x1f40\n\t0x1f40: 0xe00011a1, 0x1f41: 0xe00011e5, 0x1f42: 0xe0001185, 0x1f43: 0xe00011c9,\n\t0x1f44: 0xe0001173, 0x1f45: 0xe00011b7, 0x1f46: 0xe0001197, 0x1f47: 0xe00011db,\n\t0x1f48: 0xe00011a5, 0x1f49: 0xe00011e9, 0x1f4a: 0xe000118a, 0x1f4b: 0xe00011ce,\n\t0x1f4c: 0xe0001178, 0x1f4d: 0xe00011bc, 0x1f4e: 0xe000119c, 0x1f4f: 0xe00011e0,\n\t0x1f50: 0xe000128e, 0x1f51: 0xe00012d2, 0x1f52: 0xe0001272, 0x1f53: 0xe00012b6,\n\t0x1f54: 0xe0001260, 0x1f55: 0xe00012a4, 0x1f56: 0xe0001284, 0x1f57: 0xe00012c8,\n\t0x1f58: 0xe0001292, 0x1f59: 0xe00012d6, 0x1f5a: 0xe0001277, 0x1f5b: 0xe00012bb,\n\t0x1f5c: 0xe0001265, 0x1f5d: 0xe00012a9, 0x1f5e: 0xe0001289, 0x1f5f: 0xe00012cd,\n\t0x1f60: 0xe0001443, 0x1f61: 0xe0001487, 0x1f62: 0xe0001427, 0x1f63: 0xe000146b,\n\t0x1f64: 0xe0001415, 0x1f65: 0xe0001459, 0x1f66: 0xe0001439, 0x1f67: 0xe000147d,\n\t0x1f68: 0xe0001447, 0x1f69: 0xe000148b, 0x1f6a: 0xe000142c, 0x1f6b: 0xe0001470,\n\t0x1f6c: 0xe000141a, 0x1f6d: 0xe000145e, 0x1f6e: 0xe000143e, 0x1f6f: 0xe0001482,\n\t0x1f70: 0xe0001201, 0x1f71: 0xe000120e, 0x1f72: 0xe00011fd, 0x1f73: 0xe0001214,\n\t0x1f74: 0xe00011f3, 0x1f76: 0xe0001207, 0x1f77: 0xe000120a,\n\t0x1f78: 0xe0001204, 0x1f79: 0xe0001211, 0x1f7a: 0xe00011fa, 0x1f7b: 0xe00011f0,\n\t0x1f7c: 0xe0001217, 0x1f7d: 0x40063620, 0x1f7e: 0x40326c20, 0x1f7f: 0x40063620,\n\t// Block 0x7e, offset 0x1f80\n\t0x1f80: 0x40063a20, 0x1f81: 0xe00000b1, 0x1f82: 0xe00012ea, 0x1f83: 0xe00012f5,\n\t0x1f84: 0xe00012e0, 0x1f86: 0xe00012ee, 0x1f87: 0xe00012f1,\n\t0x1f88: 0xe000124f, 0x1f89: 0xe0001249, 0x1f8a: 0xe00012e7, 0x1f8b: 0xe00012dd,\n\t0x1f8c: 0xe00012f8, 0x1f8d: 0xe00000b7, 0x1f8e: 0xe00000b4, 0x1f8f: 0xe00000ba,\n\t0x1f90: 0xe0001343, 0x1f91: 0xe000135e, 0x1f92: 0xe0001356, 0x1f93: 0xe0001352,\n\t0x1f96: 0xe0001349, 0x1f97: 0xe000135a,\n\t0x1f98: 0xe0001346, 0x1f99: 0xe0001361, 0x1f9a: 0xe0001340, 0x1f9b: 0xe000133a,\n\t0x1f9d: 0xe00000c0, 0x1f9e: 0xe00000bd, 0x1f9f: 0xe00000c3,\n\t0x1fa0: 0xe00013e6, 0x1fa1: 0xe0001401, 0x1fa2: 0xe00013f9, 0x1fa3: 0xe00013f5,\n\t0x1fa4: 0xe00013a4, 0x1fa5: 0xe00013a7, 0x1fa6: 0xe00013ec, 0x1fa7: 0xe00013fd,\n\t0x1fa8: 0xe00013e9, 0x1fa9: 0xe0001404, 0x1faa: 0xe00013e3, 0x1fab: 0xe00013dd,\n\t0x1fac: 0xe00013aa, 0x1fad: 0xe00000ae, 0x1fae: 0xe00000ab, 0x1faf: 0x40061e20,\n\t0x1fb2: 0xe000149f, 0x1fb3: 0xe00014aa,\n\t0x1fb4: 0xe0001495, 0x1fb6: 0xe00014a3, 0x1fb7: 0xe00014a6,\n\t0x1fb8: 0xe00013a1, 0x1fb9: 0xe000139b, 0x1fba: 0xe000149c, 0x1fbb: 0xe0001492,\n\t0x1fbc: 0xe00014ad, 0x1fbd: 0x40062020, 0x1fbe: 0x40063820,\n\t// Block 0x7f, offset 0x1fc0\n\t0x1fc0: 0x00021284, 0x1fc1: 0x00021284, 0x1fc2: 0x00021284, 0x1fc3: 0x00021284,\n\t0x1fc4: 0x00021284, 0x1fc5: 0x00021284, 0x1fc6: 0x00021284, 0x1fc7: 0x0002129b,\n\t0x1fc8: 0x00021284, 0x1fc9: 0x00021284, 0x1fca: 0x00021284, 0x1fcb: 0xa0000000,\n\t0x1fcc: 0xa0000000, 0x1fcd: 0xa0000000, 0x1fce: 0xa0000000, 0x1fcf: 0xa0000000,\n\t0x1fd0: 0x40022620, 0x1fd1: 0x0002269b, 0x1fd2: 0x40022820, 0x1fd3: 0x40022a20,\n\t0x1fd4: 0x40022c20, 0x1fd5: 0x40022e20, 0x1fd6: 0x4004c420, 0x1fd7: 0x40021820,\n\t0x1fd8: 0x4003d420, 0x1fd9: 0x4003d620, 0x1fda: 0x4003d820, 0x1fdb: 0x4003da20,\n\t0x1fdc: 0x4003e220, 0x1fdd: 0x4003e420, 0x1fde: 0x4003e620, 0x1fdf: 0x4003e820,\n\t0x1fe0: 0x4004f820, 0x1fe1: 0x4004fa20, 0x1fe2: 0x40050220, 0x1fe3: 0x40050420,\n\t0x1fe4: 0x0002e484, 0x1fe5: 0xf0001f04, 0x1fe6: 0xf0000404, 0x1fe7: 0x40050620,\n\t0x1fe8: 0x40020e20, 0x1fe9: 0x40021020, 0x1fea: 0xa0000000, 0x1feb: 0xa0000000,\n\t0x1fec: 0xa0000000, 0x1fed: 0xa0000000, 0x1fee: 0xa0000000, 0x1fef: 0x0002129b,\n\t0x1ff0: 0x4004f020, 0x1ff1: 0x4004f420, 0x1ff2: 0x40050e20, 0x1ff3: 0xf0001f04,\n\t0x1ff4: 0xf0000404, 0x1ff5: 0x40051020, 0x1ff6: 0xf0001f04, 0x1ff7: 0xf0000404,\n\t0x1ff8: 0x40051620, 0x1ff9: 0x4003dc20, 0x1ffa: 0x4003de20, 0x1ffb: 0x40051820,\n\t0x1ffc: 0xf0001f04, 0x1ffd: 0x4002e020, 0x1ffe: 0x40021420, 0x1fff: 0x40051a20,\n\t// Block 0x80, offset 0x2000\n\t0x2000: 0x40051e20, 0x2001: 0x40052220, 0x2002: 0x40052420, 0x2003: 0x40050820,\n\t0x2004: 0x40095820, 0x2005: 0x40040c20, 0x2006: 0x40040e20, 0x2007: 0xf0001f04,\n\t0x2008: 0xf0001f04, 0x2009: 0xf0001f04, 0x200a: 0x4004e820, 0x200b: 0x4004d420,\n\t0x200c: 0x40050a20, 0x200d: 0x40050c20, 0x200e: 0x4004da20, 0x200f: 0x40026620,\n\t0x2010: 0x40052020, 0x2011: 0x4004dc20, 0x2012: 0x40095020, 0x2013: 0x40023420,\n\t0x2014: 0x40051c20, 0x2015: 0x40039c20, 0x2016: 0x40039e20, 0x2017: 0xe00000a6,\n\t0x2018: 0x4003a020, 0x2019: 0x4003a220, 0x201a: 0x4003a420, 0x201b: 0x4003a620,\n\t0x201c: 0x4003a820, 0x201d: 0x4003aa20, 0x201e: 0x4003ac20, 0x201f: 0x00021284,\n\t0x2020: 0xa0000000, 0x2021: 0xa0000000, 0x2022: 0xa0000000, 0x2023: 0xa0000000,\n\t0x2024: 0xa0000000,\n\t0x202a: 0xa0000000, 0x202b: 0xa0000000,\n\t0x202c: 0xa0000000, 0x202d: 0xa0000000, 0x202e: 0xa0000000, 0x202f: 0xa0000000,\n\t0x2030: 0x0029cc94, 0x2031: 0x002d9a94,\n\t0x2034: 0x0029d494, 0x2035: 0x0029d694, 0x2036: 0x0029d894, 0x2037: 0x0029da94,\n\t0x2038: 0x0029dc94, 0x2039: 0x0029de94, 0x203a: 0x00093894, 0x203b: 0x00094e94,\n\t0x203c: 0x00094294, 0x203d: 0x0003f494, 0x203e: 0x0003f694, 0x203f: 0x002e9e94,\n\t// Block 0x81, offset 0x2040\n\t0x2040: 0x0029cc95, 0x2041: 0x0029ce95, 0x2042: 0x0029d095, 0x2043: 0x0029d295,\n\t0x2044: 0x0029d495, 0x2045: 0x0029d695, 0x2046: 0x0029d895, 0x2047: 0x0029da95,\n\t0x2048: 0x0029dc95, 0x2049: 0x0029de95, 0x204a: 0x00093895, 0x204b: 0x00094e95,\n\t0x204c: 0x00094295, 0x204d: 0x0003f495, 0x204e: 0x0003f695,\n\t0x2050: 0x002bde95, 0x2051: 0x002c9895, 0x2052: 0x002ee295, 0x2053: 0x0030f695,\n\t0x2054: 0x002cb895, 0x2055: 0x002d6895, 0x2056: 0x002dfe95, 0x2057: 0x002e2295,\n\t0x2058: 0x002e8295, 0x2059: 0x002e9e95, 0x205a: 0x002f2c95, 0x205b: 0x002fe695,\n\t0x205c: 0x00302c95,\n\t0x2060: 0x4027f820, 0x2061: 0x4027fa20, 0x2062: 0x4027fc20, 0x2063: 0x4027fe20,\n\t0x2064: 0x40280020, 0x2065: 0x40280220, 0x2066: 0x40280420, 0x2067: 0x40280620,\n\t0x2068: 0x40282c20, 0x2069: 0x40280820, 0x206a: 0x40280a20, 0x206b: 0x40280c20,\n\t0x206c: 0x40280e20, 0x206d: 0x40281020, 0x206e: 0x40281220, 0x206f: 0x40281420,\n\t0x2070: 0x40281620, 0x2071: 0x40281820, 0x2072: 0x40281a20, 0x2073: 0x40281c20,\n\t0x2074: 0x40281e20, 0x2075: 0x40282020, 0x2076: 0x40282220, 0x2077: 0x40282420,\n\t0x2078: 0x40282620, 0x2079: 0x40282820, 0x207a: 0x40282a20,\n\t// Block 0x82, offset 0x2080\n\t0x2090: 0xae612a02, 0x2091: 0xae612b02, 0x2092: 0xa0112c02, 0x2093: 0xa0112c02,\n\t0x2094: 0xae612d02, 0x2095: 0xae612e02, 0x2096: 0xae612f02, 0x2097: 0xae613002,\n\t0x2098: 0xa0106102, 0x2099: 0xa0106102, 0x209a: 0xa0106102, 0x209b: 0xae613102,\n\t0x209c: 0xae613202, 0x209d: 0xa0006202, 0x209e: 0xa0006202, 0x209f: 0xa0006202,\n\t0x20a0: 0xa0006202, 0x20a1: 0xae613302, 0x20a2: 0xa0006202, 0x20a3: 0xa0006202,\n\t0x20a4: 0xa0006202, 0x20a5: 0xa0106102, 0x20a6: 0xa0113402, 0x20a7: 0xae613502,\n\t0x20a8: 0xadc13602, 0x20a9: 0xae613702, 0x20aa: 0xa0106102, 0x20ab: 0xa0106102,\n\t0x20ac: 0xadc06002, 0x20ad: 0xadc06002, 0x20ae: 0xadc06002, 0x20af: 0xadc06002,\n\t0x20b0: 0xae605f02,\n\t// Block 0x83, offset 0x20c0\n\t0x20c0: 0xe00009bc, 0x20c1: 0xe00009c0, 0x20c2: 0x002c3a8b, 0x20c3: 0xf0000a04,\n\t0x20c4: 0x40081c20, 0x20c5: 0xe0000a5e, 0x20c6: 0xe0000a62, 0x20c7: 0x002cc28a,\n\t0x20c8: 0x40081e20, 0x20c9: 0xf0000a04, 0x20ca: 0x002d2285, 0x20cb: 0x002d688b,\n\t0x20cc: 0x002d688b, 0x20cd: 0x002d688b, 0x20ce: 0x002d6885, 0x20cf: 0xf0000202,\n\t0x20d0: 0x002d9a8b, 0x20d1: 0x002d9a8b, 0x20d2: 0x002e228b, 0x20d3: 0x002e2285,\n\t0x20d4: 0x40082020, 0x20d5: 0x002e9e8b, 0x20d6: 0xf000040a, 0x20d7: 0x40082220,\n\t0x20d8: 0x40082420, 0x20d9: 0x002f2c8b, 0x20da: 0x002f568b, 0x20db: 0x002f7a8b,\n\t0x20dc: 0x002f7a8b, 0x20dd: 0x002f7a8b, 0x20de: 0x40082620, 0x20df: 0x40082820,\n\t0x20e0: 0xf0001414, 0x20e1: 0xe0000fbd, 0x20e2: 0xf0001414, 0x20e3: 0x40082a20,\n\t0x20e4: 0x00312a8b, 0x20e5: 0x40082c20, 0x20e6: 0x0032a288, 0x20e7: 0x40082e20,\n\t0x20e8: 0x00312a8b, 0x20e9: 0x40083020, 0x20ea: 0x002dfe88, 0x20eb: 0xe000094d,\n\t0x20ec: 0x002c0a8b, 0x20ed: 0x002c3a8b, 0x20ee: 0x40083220, 0x20ef: 0x002c9885,\n\t0x20f0: 0x002c988b, 0x20f1: 0x002d088b, 0x20f2: 0x002d1e88, 0x20f3: 0x002e828b,\n\t0x20f4: 0x002ee285, 0x20f5: 0x00389084, 0x20f6: 0x00389284, 0x20f7: 0x00389484,\n\t0x20f8: 0x00389684, 0x20f9: 0x002d9a85, 0x20fa: 0x40083420, 0x20fb: 0xe0000b95,\n\t0x20fc: 0x00327e85, 0x20fd: 0x00325685, 0x20fe: 0x0032568b, 0x20ff: 0x00327e8b,\n\t// Block 0x84, offset 0x2100\n\t0x2100: 0x00093685, 0x2101: 0x40083620, 0x2102: 0x40083820, 0x2103: 0x40083a20,\n\t0x2104: 0x40083c20, 0x2105: 0x002c628b, 0x2106: 0x002c6285, 0x2107: 0x002c9885,\n\t0x2108: 0x002d9a85, 0x2109: 0x002dcc85, 0x210a: 0x40083e20, 0x210b: 0x400a6e20,\n\t0x210c: 0x40084020, 0x210d: 0xe00009c4, 0x210e: 0x402d1e20, 0x210f: 0x40084220,\n\t0x2110: 0xe00002cb, 0x2111: 0xe00002d3, 0x2112: 0xe00002b2, 0x2113: 0xe00002bb,\n\t0x2114: 0xe00003cd, 0x2115: 0xe00002c3, 0x2116: 0xe00003d1, 0x2117: 0xe00004ab,\n\t0x2118: 0xe0000579, 0x2119: 0xe00002c7, 0x211a: 0xe0000640, 0x211b: 0xe00002cf,\n\t0x211c: 0xe00004af, 0x211d: 0xe0000644, 0x211e: 0xe0000798, 0x211f: 0xf0001e1e,\n\t0x2120: 0x002d9a8a, 0x2121: 0xf0001f0a, 0x2122: 0xf0000a0a, 0x2123: 0xf0001f0a,\n\t0x2124: 0x0030be8a, 0x2125: 0xf0001f0a, 0x2126: 0xf0000a0a, 0x2127: 0xe00010bb,\n\t0x2128: 0xf0001f0a, 0x2129: 0x0030f68a, 0x212a: 0xf0001f0a, 0x212b: 0xf0000a0a,\n\t0x212c: 0x002e228a, 0x212d: 0x002c3a8a, 0x212e: 0x002c628a, 0x212f: 0x002e828a,\n\t0x2130: 0x002d9a84, 0x2131: 0xf0001f04, 0x2132: 0xf0000404, 0x2133: 0xf0001f04,\n\t0x2134: 0x0030be84, 0x2135: 0xf0001f04, 0x2136: 0xf0000404, 0x2137: 0xe00010b6,\n\t0x2138: 0xf0001f04, 0x2139: 0x0030f684, 0x213a: 0xf0001f04, 0x213b: 0xf0000404,\n\t0x213c: 0x002e2284, 0x213d: 0x002c3a84, 0x213e: 0x002c6284, 0x213f: 0x002e8284,\n\t// Block 0x85, offset 0x2140\n\t0x2140: 0x40287c20, 0x2141: 0x40287e20, 0x2142: 0x40288020, 0x2143: 0x002c5e88,\n\t0x2144: 0x402c5e20, 0x2145: 0xe00006c9, 0x2146: 0x40288220, 0x2147: 0x40288420,\n\t0x2148: 0x40288620, 0x2149: 0xe00001e2,\n\t0x2150: 0x40084420, 0x2151: 0x40084820, 0x2152: 0x40084620, 0x2153: 0x40084a20,\n\t0x2154: 0x40084c20, 0x2155: 0x40084e20, 0x2156: 0x40085020, 0x2157: 0x40085220,\n\t0x2158: 0x40085420, 0x2159: 0x40085620, 0x215a: 0xe00000c6, 0x215b: 0xe00000c9,\n\t0x215c: 0x40085820, 0x215d: 0x40085a20, 0x215e: 0x40085c20, 0x215f: 0x40085e20,\n\t0x2160: 0x40086020, 0x2161: 0x40086220, 0x2162: 0x40086420, 0x2163: 0x40086620,\n\t0x2164: 0x40086820, 0x2165: 0x40086a20, 0x2166: 0x40086c20, 0x2167: 0x40086e20,\n\t0x2168: 0x40087020, 0x2169: 0x40087220, 0x216a: 0x40087420, 0x216b: 0x40087620,\n\t0x216c: 0x40087820, 0x216d: 0x40087a20, 0x216e: 0xe00000cc, 0x216f: 0x40087c20,\n\t0x2170: 0x40087e20, 0x2171: 0x40088020, 0x2172: 0x40088220, 0x2173: 0x40088420,\n\t0x2174: 0x40088620, 0x2175: 0x40088820, 0x2176: 0x40088a20, 0x2177: 0x40088c20,\n\t0x2178: 0x40088e20, 0x2179: 0x40089020, 0x217a: 0x40089220, 0x217b: 0x40089420,\n\t0x217c: 0x40089620, 0x217d: 0x40089820, 0x217e: 0x40089a20, 0x217f: 0x40089c20,\n\t// Block 0x86, offset 0x2180\n\t0x2180: 0x40089e20, 0x2181: 0x4008a020, 0x2182: 0x4008a220, 0x2183: 0x4008a420,\n\t0x2184: 0x4008a620, 0x2185: 0x4008a820, 0x2186: 0x4008aa20, 0x2187: 0x4008ac20,\n\t0x2188: 0x4008ae20, 0x2189: 0x4008b020, 0x218a: 0x4008b220, 0x218b: 0x4008b420,\n\t0x218c: 0x4008b620, 0x218d: 0xe00000cf, 0x218e: 0xe00000d5, 0x218f: 0xe00000d2,\n\t0x2190: 0x4008b820, 0x2191: 0x4008ba20, 0x2192: 0x4008bc20, 0x2193: 0x4008be20,\n\t0x2194: 0x4008c020, 0x2195: 0x4008c220, 0x2196: 0x4008c420, 0x2197: 0x4008c620,\n\t0x2198: 0x4008c820, 0x2199: 0x4008ca20, 0x219a: 0x4008cc20, 0x219b: 0x4008ce20,\n\t0x219c: 0x4008d020, 0x219d: 0x4008d220, 0x219e: 0x4008d420, 0x219f: 0x4008d620,\n\t0x21a0: 0x4008d820, 0x21a1: 0x4008da20, 0x21a2: 0x4008dc20, 0x21a3: 0x4008de20,\n\t0x21a4: 0x4008e020, 0x21a5: 0x4008e220, 0x21a6: 0x4008e420, 0x21a7: 0x4008e620,\n\t0x21a8: 0x4008e820, 0x21a9: 0x4008ea20, 0x21aa: 0x4008ec20, 0x21ab: 0x4008ee20,\n\t0x21ac: 0x4008f020, 0x21ad: 0x4008f220, 0x21ae: 0x4008f420, 0x21af: 0x4008f620,\n\t0x21b0: 0x4008f820, 0x21b1: 0x4008fa20, 0x21b2: 0x4008fc20, 0x21b3: 0x4008fe20,\n\t0x21b4: 0x40090020, 0x21b5: 0x40090220, 0x21b6: 0x40090420, 0x21b7: 0x40090620,\n\t0x21b8: 0x40090820, 0x21b9: 0x40090a20, 0x21ba: 0x40090c20, 0x21bb: 0x40090e20,\n\t0x21bc: 0x40091020, 0x21bd: 0x40091220, 0x21be: 0x40091420, 0x21bf: 0x40091620,\n\t// Block 0x87, offset 0x21c0\n\t0x21c0: 0x40091820, 0x21c1: 0x40091a20, 0x21c2: 0x40091c20, 0x21c3: 0x40091e20,\n\t0x21c4: 0xe00000d8, 0x21c5: 0x40092020, 0x21c6: 0x40092220, 0x21c7: 0x40092420,\n\t0x21c8: 0x40092620, 0x21c9: 0xe00000db, 0x21ca: 0x40092820, 0x21cb: 0x40092a20,\n\t0x21cc: 0xe00000de, 0x21cd: 0x40092c20, 0x21ce: 0x40093020, 0x21cf: 0x40093220,\n\t0x21d0: 0x40093420, 0x21d1: 0x40093620, 0x21d2: 0x40094e20, 0x21d3: 0x40095220,\n\t0x21d4: 0x40095420, 0x21d5: 0x40095620, 0x21d6: 0x40095a20, 0x21d7: 0x40095c20,\n\t0x21d8: 0x40095e20, 0x21d9: 0x40096020, 0x21da: 0x40096220, 0x21db: 0x40096420,\n\t0x21dc: 0x40096820, 0x21dd: 0x40096c20, 0x21de: 0x40096e20, 0x21df: 0x40097020,\n\t0x21e0: 0x40097220, 0x21e1: 0x40097420, 0x21e2: 0x40097620, 0x21e3: 0x40097820,\n\t0x21e4: 0xe00000ea, 0x21e5: 0x40097a20, 0x21e6: 0xe00000ed, 0x21e7: 0x40097c20,\n\t0x21e8: 0x40097e20, 0x21e9: 0x40098020, 0x21ea: 0x40098220, 0x21eb: 0x40098420,\n\t0x21ec: 0xf0001f04, 0x21ed: 0xf0000404, 0x21ee: 0x40098620, 0x21ef: 0xf0001f04,\n\t0x21f0: 0xf0000404, 0x21f1: 0x40098820, 0x21f2: 0x40098a20, 0x21f3: 0x40098c20,\n\t0x21f4: 0x40098e20, 0x21f5: 0x40099020, 0x21f6: 0x40099220, 0x21f7: 0x40099420,\n\t0x21f8: 0x40099620, 0x21f9: 0x40099820, 0x21fa: 0x40099a20, 0x21fb: 0x40099c20,\n\t0x21fc: 0x40099e20, 0x21fd: 0x4009a020, 0x21fe: 0x4009a220, 0x21ff: 0x4009a420,\n\t// Block 0x88, offset 0x2200\n\t0x2200: 0x4009a620, 0x2201: 0xe00000f5, 0x2202: 0x4009a820, 0x2203: 0x4009aa20,\n\t0x2204: 0xe00000f8, 0x2205: 0x4009ac20, 0x2206: 0x4009ae20, 0x2207: 0xe00000fb,\n\t0x2208: 0x4009b020, 0x2209: 0xe00000fe, 0x220a: 0x4009b220, 0x220b: 0x4009b420,\n\t0x220c: 0x4009b620, 0x220d: 0x4009b820, 0x220e: 0x4009ba20, 0x220f: 0x4009bc20,\n\t0x2210: 0x4009be20, 0x2211: 0x4009c020, 0x2212: 0x4009c220, 0x2213: 0x4009c420,\n\t0x2214: 0x4009c620, 0x2215: 0x4009c820, 0x2216: 0x4009ca20, 0x2217: 0x4009cc20,\n\t0x2218: 0x4009ce20, 0x2219: 0x4009d020, 0x221a: 0x4009d220, 0x221b: 0x4009d420,\n\t0x221c: 0x4009d620, 0x221d: 0x4009d820, 0x221e: 0x4009da20, 0x221f: 0x4009dc20,\n\t0x2220: 0xe00000e4, 0x2221: 0x4009de20, 0x2222: 0xe0000104, 0x2223: 0x4009e020,\n\t0x2224: 0x4009e220, 0x2225: 0x4009e420, 0x2226: 0x4009e620, 0x2227: 0x4009e820,\n\t0x2228: 0x4009ea20, 0x2229: 0x4009ec20, 0x222a: 0x4009ee20, 0x222b: 0x4009f020,\n\t0x222c: 0x4009f220, 0x222d: 0xe0000101, 0x222e: 0xe00000e1, 0x222f: 0xe00000e7,\n\t0x2230: 0xe0000107, 0x2231: 0xe000010a, 0x2232: 0x4009f420, 0x2233: 0x4009f620,\n\t0x2234: 0xe000010d, 0x2235: 0xe0000110, 0x2236: 0x4009f820, 0x2237: 0x4009fa20,\n\t0x2238: 0xe0000113, 0x2239: 0xe0000116, 0x223a: 0x4009fc20, 0x223b: 0x4009fe20,\n\t0x223c: 0x400a0020, 0x223d: 0x400a0220, 0x223e: 0x400a0420, 0x223f: 0x400a0620,\n\t// Block 0x89, offset 0x2240\n\t0x2240: 0xe0000119, 0x2241: 0xe000011c, 0x2242: 0x400a0820, 0x2243: 0x400a0a20,\n\t0x2244: 0xe0000125, 0x2245: 0xe0000128, 0x2246: 0x400a0c20, 0x2247: 0x400a0e20,\n\t0x2248: 0xe000012b, 0x2249: 0xe000012e, 0x224a: 0x400a1020, 0x224b: 0x400a1220,\n\t0x224c: 0x400a1420, 0x224d: 0x400a1620, 0x224e: 0x400a1820, 0x224f: 0x400a1a20,\n\t0x2250: 0x400a1c20, 0x2251: 0x400a1e20, 0x2252: 0x400a2020, 0x2253: 0x400a2220,\n\t0x2254: 0x400a2420, 0x2255: 0x400a2620, 0x2256: 0x400a2820, 0x2257: 0x400a2a20,\n\t0x2258: 0x400a2c20, 0x2259: 0x400a2e20, 0x225a: 0x400a3020, 0x225b: 0x400a3220,\n\t0x225c: 0x400a3420, 0x225d: 0x400a3620, 0x225e: 0x400a3820, 0x225f: 0x400a3a20,\n\t0x2260: 0x400a3c20, 0x2261: 0x400a3e20, 0x2262: 0x400a4020, 0x2263: 0x400a4220,\n\t0x2264: 0x400a4420, 0x2265: 0x400a4620, 0x2266: 0x400a4820, 0x2267: 0x400a4a20,\n\t0x2268: 0x400a4c20, 0x2269: 0x400a4e20, 0x226a: 0x400a5020, 0x226b: 0x400a5220,\n\t0x226c: 0xe0000137, 0x226d: 0xe000013a, 0x226e: 0xe000013d, 0x226f: 0xe0000140,\n\t0x2270: 0x400a5420, 0x2271: 0x400a5620, 0x2272: 0x400a5820, 0x2273: 0x400a5a20,\n\t0x2274: 0x400a5c20, 0x2275: 0x400a5e20, 0x2276: 0x400a6020, 0x2277: 0x400a6220,\n\t0x2278: 0x400a6420, 0x2279: 0x400a6620, 0x227a: 0x400a6820, 0x227b: 0x400a6a20,\n\t0x227c: 0x400a6c20, 0x227d: 0x400a7020, 0x227e: 0x400a7220, 0x227f: 0x400a7420,\n\t// Block 0x8a, offset 0x2280\n\t0x2280: 0x400a7620, 0x2281: 0x400a7820, 0x2282: 0x400a7a20, 0x2283: 0x400a7c20,\n\t0x2284: 0x400a7e20, 0x2285: 0x400a8020, 0x2286: 0x400a8220, 0x2287: 0x400a8420,\n\t0x2288: 0x400a8620, 0x2289: 0x400a8820, 0x228a: 0x400a8a20, 0x228b: 0x400a8c20,\n\t0x228c: 0x400a8e20, 0x228d: 0x400a9020, 0x228e: 0x400a9220, 0x228f: 0x400a9420,\n\t0x2290: 0x400a9620, 0x2291: 0x400a9820, 0x2292: 0x400a9a20, 0x2293: 0x400a9c20,\n\t0x2294: 0x400a9e20, 0x2295: 0x400aa020, 0x2296: 0x400aa220, 0x2297: 0x400aa420,\n\t0x2298: 0x400aa620, 0x2299: 0x400aa820, 0x229a: 0x400aaa20, 0x229b: 0x400aac20,\n\t0x229c: 0x400aae20, 0x229d: 0x400ab020, 0x229e: 0x400ab220, 0x229f: 0x400ab420,\n\t0x22a0: 0xe000011f, 0x22a1: 0xe0000122, 0x22a2: 0xe0000131, 0x22a3: 0xe0000134,\n\t0x22a4: 0x400ab620, 0x22a5: 0x400ab820, 0x22a6: 0x400aba20, 0x22a7: 0x400abc20,\n\t0x22a8: 0x400abe20, 0x22a9: 0x400ac020, 0x22aa: 0xe0000143, 0x22ab: 0xe0000146,\n\t0x22ac: 0xe0000149, 0x22ad: 0xe000014c, 0x22ae: 0x400ac220, 0x22af: 0x400ac420,\n\t0x22b0: 0x400ac620, 0x22b1: 0x400ac820, 0x22b2: 0x400aca20, 0x22b3: 0x400acc20,\n\t0x22b4: 0x400ace20, 0x22b5: 0x400ad020, 0x22b6: 0x400ad220, 0x22b7: 0x400ad420,\n\t0x22b8: 0x400ad620, 0x22b9: 0x400ad820, 0x22ba: 0x400ada20, 0x22bb: 0x400adc20,\n\t0x22bc: 0x400ade20, 0x22bd: 0x400ae020, 0x22be: 0x400ae220, 0x22bf: 0x400ae420,\n\t// Block 0x8b, offset 0x22c0\n\t0x22c0: 0x400ae620, 0x22c1: 0x400ae820, 0x22c2: 0x400aea20, 0x22c3: 0x400aec20,\n\t0x22c4: 0x400aee20, 0x22c5: 0x400af020, 0x22c6: 0x400af220, 0x22c7: 0x400af420,\n\t0x22c8: 0x400af620, 0x22c9: 0x400af820, 0x22ca: 0x400afa20, 0x22cb: 0x400afc20,\n\t0x22cc: 0x400afe20, 0x22cd: 0x400b0020, 0x22ce: 0x400b0220, 0x22cf: 0x400b0420,\n\t0x22d0: 0x400b0620, 0x22d1: 0x400b0820, 0x22d2: 0x400b0a20, 0x22d3: 0x400b0c20,\n\t0x22d4: 0x400b0e20, 0x22d5: 0x400b1020, 0x22d6: 0x400b1220, 0x22d7: 0x400b1420,\n\t0x22d8: 0x400b1620, 0x22d9: 0x400b1820, 0x22da: 0x400b1a20, 0x22db: 0x400b1c20,\n\t0x22dc: 0x400b1e20, 0x22dd: 0x400b2020, 0x22de: 0x400b2220, 0x22df: 0x400b2420,\n\t0x22e0: 0x400b2620, 0x22e1: 0x400b2820, 0x22e2: 0x400b2a20, 0x22e3: 0x400b2c20,\n\t0x22e4: 0x400b2e20, 0x22e5: 0x400b3020, 0x22e6: 0x400b3220, 0x22e7: 0x400b3420,\n\t0x22e8: 0x400b3620, 0x22e9: 0x40049c20, 0x22ea: 0x40049e20, 0x22eb: 0x400b3820,\n\t0x22ec: 0x400b3a20, 0x22ed: 0x400b3c20, 0x22ee: 0x400b3e20, 0x22ef: 0x400b4020,\n\t0x22f0: 0x400b4220, 0x22f1: 0x400b4420, 0x22f2: 0x400b4620, 0x22f3: 0x400b4820,\n\t0x22f4: 0x400b4a20, 0x22f5: 0x400b4c20, 0x22f6: 0x400b4e20, 0x22f7: 0x400b5020,\n\t0x22f8: 0x400b5220, 0x22f9: 0x400b5420, 0x22fa: 0x400b5620, 0x22fb: 0x400b5820,\n\t0x22fc: 0x400b5a20, 0x22fd: 0x400b5c20, 0x22fe: 0x400b5e20, 0x22ff: 0x400b6020,\n\t// Block 0x8c, offset 0x2300\n\t0x2300: 0x400b6220, 0x2301: 0x400b6420, 0x2302: 0x400b6620, 0x2303: 0x400b6820,\n\t0x2304: 0x400b6a20, 0x2305: 0x400b6c20, 0x2306: 0x400b6e20, 0x2307: 0x400b7020,\n\t0x2308: 0x400b7220, 0x2309: 0x400b7420, 0x230a: 0x400b7620, 0x230b: 0x400b7820,\n\t0x230c: 0x400b7a20, 0x230d: 0x400b7c20, 0x230e: 0x400b7e20, 0x230f: 0x400b8020,\n\t0x2310: 0x400b8220, 0x2311: 0x400b8420, 0x2312: 0x400b8620, 0x2313: 0x400b8820,\n\t0x2314: 0x400b8a20, 0x2315: 0x400b8c20, 0x2316: 0x400b8e20, 0x2317: 0x400b9020,\n\t0x2318: 0x400b9220, 0x2319: 0x400b9420, 0x231a: 0x400b9620, 0x231b: 0x400b9820,\n\t0x231c: 0x400b9a20, 0x231d: 0x400b9c20, 0x231e: 0x400b9e20, 0x231f: 0x400ba020,\n\t0x2320: 0x400ba220, 0x2321: 0x400ba420, 0x2322: 0x400ba620, 0x2323: 0x400ba820,\n\t0x2324: 0x400baa20, 0x2325: 0x400bac20, 0x2326: 0x400bae20, 0x2327: 0x400bb020,\n\t0x2328: 0x400bb220, 0x2329: 0x400bb420, 0x232a: 0x400bb620, 0x232b: 0x400bb820,\n\t0x232c: 0x400bba20, 0x232d: 0x400bbc20, 0x232e: 0x400bbe20, 0x232f: 0x400bc020,\n\t0x2330: 0x400bc220, 0x2331: 0x400bc420, 0x2332: 0x400bc620, 0x2333: 0x400bc820,\n\t0x2334: 0x400bca20, 0x2335: 0x400bcc20, 0x2336: 0x400bce20, 0x2337: 0x400bd020,\n\t0x2338: 0x400bd220, 0x2339: 0x400bd420, 0x233a: 0x400bd620, 0x233b: 0x400bd820,\n\t0x233c: 0x400bda20, 0x233d: 0x400bdc20, 0x233e: 0x400bde20, 0x233f: 0x400be020,\n\t// Block 0x8d, offset 0x2340\n\t0x2340: 0x400be220, 0x2341: 0x400be420, 0x2342: 0x400be620, 0x2343: 0x400be820,\n\t0x2344: 0x400bea20, 0x2345: 0x400bec20, 0x2346: 0x400bee20, 0x2347: 0x400bf020,\n\t0x2348: 0x400bf220, 0x2349: 0x400bf420, 0x234a: 0x400bf620, 0x234b: 0x400bf820,\n\t0x234c: 0x400bfa20, 0x234d: 0x400bfc20, 0x234e: 0x400bfe20, 0x234f: 0x400c0020,\n\t0x2350: 0x400c0220, 0x2351: 0x400c0420, 0x2352: 0x400c0620, 0x2353: 0x400c0820,\n\t0x2354: 0x400c0a20, 0x2355: 0x400c0c20, 0x2356: 0x400c0e20, 0x2357: 0x400c1020,\n\t0x2358: 0x400c1220, 0x2359: 0x400c1420, 0x235a: 0x400c1620, 0x235b: 0x400c1820,\n\t0x235c: 0x400c1a20, 0x235d: 0x400c1c20, 0x235e: 0x400c1e20, 0x235f: 0x400c2020,\n\t0x2360: 0x400c2220, 0x2361: 0x400c2420, 0x2362: 0x400c2620, 0x2363: 0x400c2820,\n\t0x2364: 0x400c2a20, 0x2365: 0x400c2c20, 0x2366: 0x400c2e20, 0x2367: 0x400c3020,\n\t0x2368: 0x400c3220, 0x2369: 0x400c3420, 0x236a: 0x400c3620, 0x236b: 0x400c3820,\n\t0x236c: 0x400c3a20, 0x236d: 0x400c3c20, 0x236e: 0x400c3e20, 0x236f: 0x400c4020,\n\t0x2370: 0x400c4220, 0x2371: 0x400c4420, 0x2372: 0x400c4620, 0x2373: 0x400c4820,\n\t0x2374: 0x400c4a20, 0x2375: 0x400c4c20, 0x2376: 0x400c4e20, 0x2377: 0x400c5020,\n\t0x2378: 0x400c5220, 0x2379: 0x400c5420, 0x237a: 0x400c5620, 0x237b: 0x400c5820,\n\t0x237c: 0x400c5a20, 0x237d: 0x400c5c20, 0x237e: 0x400c5e20, 0x237f: 0x400c6020,\n\t// Block 0x8e, offset 0x2380\n\t0x2380: 0x400c6220, 0x2381: 0x400c6420, 0x2382: 0x400c6620, 0x2383: 0x400c6820,\n\t0x2384: 0x400c6a20, 0x2385: 0x400c6c20, 0x2386: 0x400c6e20, 0x2387: 0x400c7020,\n\t0x2388: 0x400c7220, 0x2389: 0x400c7420, 0x238a: 0x400c7620, 0x238b: 0x400c7820,\n\t0x238c: 0x400c7a20, 0x238d: 0x400c7c20, 0x238e: 0x400c7e20, 0x238f: 0x400c8020,\n\t0x2390: 0x400c8220, 0x2391: 0x400c8420, 0x2392: 0x400c8620, 0x2393: 0x400c8820,\n\t0x2394: 0x400c8a20, 0x2395: 0x400c8c20, 0x2396: 0x400c8e20, 0x2397: 0x400c9020,\n\t0x2398: 0x400c9220, 0x2399: 0x400c9420, 0x239a: 0x400c9620, 0x239b: 0x400c9820,\n\t0x239c: 0x400c9a20, 0x239d: 0x400c9c20, 0x239e: 0x400c9e20, 0x239f: 0x400ca020,\n\t0x23a0: 0x400ca220, 0x23a1: 0x400ca420, 0x23a2: 0x400ca620, 0x23a3: 0x400ca820,\n\t0x23a4: 0x400caa20, 0x23a5: 0x400cac20, 0x23a6: 0x400cae20, 0x23a7: 0x400cb020,\n\t0x23a8: 0x400cb220, 0x23a9: 0x400cb420, 0x23aa: 0x400cb620, 0x23ab: 0x400cb820,\n\t0x23ac: 0x400cba20, 0x23ad: 0x400cbc20, 0x23ae: 0x400cbe20, 0x23af: 0x400cc020,\n\t0x23b0: 0x400cc220, 0x23b1: 0x400cc420, 0x23b2: 0x400cc620, 0x23b3: 0x400cc820,\n\t// Block 0x8f, offset 0x23c0\n\t0x23c0: 0x400cca20, 0x23c1: 0x400ccc20, 0x23c2: 0x400cce20, 0x23c3: 0x400cd020,\n\t0x23c4: 0x400cd220, 0x23c5: 0x400cd420, 0x23c6: 0x400cd620, 0x23c7: 0x400cd820,\n\t0x23c8: 0x400cda20, 0x23c9: 0x400cdc20, 0x23ca: 0x400cde20, 0x23cb: 0x400ce020,\n\t0x23cc: 0x400ce220, 0x23cd: 0x400ce420, 0x23ce: 0x400ce620, 0x23cf: 0x400ce820,\n\t0x23d0: 0x400cea20, 0x23d1: 0x400cec20, 0x23d2: 0x400cee20, 0x23d3: 0x400cf020,\n\t0x23d4: 0x400cf220, 0x23d5: 0x400cf420, 0x23d6: 0x400cf620, 0x23d7: 0x400cf820,\n\t0x23d8: 0x400cfa20, 0x23d9: 0x400cfc20, 0x23da: 0x400cfe20, 0x23db: 0x400d0020,\n\t0x23dc: 0x400d0220, 0x23dd: 0x400d0420, 0x23de: 0x400d0620, 0x23df: 0x400d0820,\n\t0x23e0: 0x400d0a20, 0x23e1: 0x400d0c20, 0x23e2: 0x400d0e20, 0x23e3: 0x400d1020,\n\t0x23e4: 0x400d1220, 0x23e5: 0x400d1420, 0x23e6: 0x400d1620,\n\t// Block 0x90, offset 0x2400\n\t0x2400: 0x400d1820, 0x2401: 0x400d1a20, 0x2402: 0x400d1c20, 0x2403: 0x400d1e20,\n\t0x2404: 0x400d2020, 0x2405: 0x400d2220, 0x2406: 0x400d2420, 0x2407: 0x400d2620,\n\t0x2408: 0x400d2820, 0x2409: 0x400d2a20, 0x240a: 0x400d2c20,\n\t0x2420: 0x0029ce86, 0x2421: 0x0029d086, 0x2422: 0x0029d286, 0x2423: 0x0029d486,\n\t0x2424: 0x0029d686, 0x2425: 0x0029d886, 0x2426: 0x0029da86, 0x2427: 0x0029dc86,\n\t0x2428: 0x0029de86, 0x2429: 0xf0000606, 0x242a: 0xf0000606, 0x242b: 0xf0000606,\n\t0x242c: 0xf0000606, 0x242d: 0xf0000606, 0x242e: 0xf0000606, 0x242f: 0xf0000606,\n\t0x2430: 0xf0000606, 0x2431: 0xf0000606, 0x2432: 0xf0000606, 0x2433: 0xf0000606,\n\t0x2434: 0xf0000404, 0x2435: 0xf0000404, 0x2436: 0xf0000404, 0x2437: 0xf0000404,\n\t0x2438: 0xf0000404, 0x2439: 0xf0000404, 0x243a: 0xf0000404, 0x243b: 0xf0000404,\n\t0x243c: 0xf0000404, 0x243d: 0xe0000015, 0x243e: 0xe000001a, 0x243f: 0xe000001f,\n\t// Block 0x91, offset 0x2440\n\t0x2440: 0xe0000024, 0x2441: 0xe0000029, 0x2442: 0xe000002e, 0x2443: 0xe0000033,\n\t0x2444: 0xe0000038, 0x2445: 0xe000003d, 0x2446: 0xe0000042, 0x2447: 0xe0000047,\n\t0x2448: 0xf0001f04, 0x2449: 0xf0001f04, 0x244a: 0xf0001f04, 0x244b: 0xf0001f04,\n\t0x244c: 0xf0001f04, 0x244d: 0xf0001f04, 0x244e: 0xf0001f04, 0x244f: 0xf0001f04,\n\t0x2450: 0xf0001f04, 0x2451: 0xf0000404, 0x2452: 0xf0000404, 0x2453: 0xf0000404,\n\t0x2454: 0xf0000404, 0x2455: 0xf0000404, 0x2456: 0xf0000404, 0x2457: 0xf0000404,\n\t0x2458: 0xf0000404, 0x2459: 0xf0000404, 0x245a: 0xf0000404, 0x245b: 0xf0000404,\n\t0x245c: 0xf0000404, 0x245d: 0xf0000404, 0x245e: 0xf0000404, 0x245f: 0xf0000404,\n\t0x2460: 0xf0000404, 0x2461: 0xf0000404, 0x2462: 0xf0000404, 0x2463: 0xf0000404,\n\t0x2464: 0xf0000404, 0x2465: 0xf0000404, 0x2466: 0xf0000404, 0x2467: 0xf0000404,\n\t0x2468: 0xf0000404, 0x2469: 0xf0000404, 0x246a: 0xf0000404, 0x246b: 0xf0000404,\n\t0x246c: 0xf0000404, 0x246d: 0xf0000404, 0x246e: 0xf0000404, 0x246f: 0xf0000404,\n\t0x2470: 0xf0000404, 0x2471: 0xf0000404, 0x2472: 0xf0000404, 0x2473: 0xf0000404,\n\t0x2474: 0xf0000404, 0x2475: 0xf0000404, 0x2476: 0x002bde8c, 0x2477: 0x002c0a8c,\n\t0x2478: 0x002c3a8c, 0x2479: 0x002c628c, 0x247a: 0x002c988c, 0x247b: 0x002d088c,\n\t0x247c: 0x002d228c, 0x247d: 0x002d688c, 0x247e: 0x002d9a8c, 0x247f: 0x002dcc8c,\n\t// Block 0x92, offset 0x2480\n\t0x2480: 0x002dfe8c, 0x2481: 0x002e228c, 0x2482: 0x002e828c, 0x2483: 0x002e9e8c,\n\t0x2484: 0x002ee28c, 0x2485: 0x002f2c8c, 0x2486: 0x002f568c, 0x2487: 0x002f7a8c,\n\t0x2488: 0x002fe68c, 0x2489: 0x00302c8c, 0x248a: 0x00306c8c, 0x248b: 0x0030be8c,\n\t0x248c: 0x0030e28c, 0x248d: 0x0030f68c, 0x248e: 0x0031008c, 0x248f: 0x00312a8c,\n\t0x2490: 0x002bde86, 0x2491: 0x002c0a86, 0x2492: 0x002c3a86, 0x2493: 0x002c6286,\n\t0x2494: 0x002c9886, 0x2495: 0x002d0886, 0x2496: 0x002d2286, 0x2497: 0x002d6886,\n\t0x2498: 0x002d9a86, 0x2499: 0x002dcc86, 0x249a: 0x002dfe86, 0x249b: 0x002e2286,\n\t0x249c: 0x002e8286, 0x249d: 0x002e9e86, 0x249e: 0x002ee286, 0x249f: 0x002f2c86,\n\t0x24a0: 0x002f5686, 0x24a1: 0x002f7a86, 0x24a2: 0x002fe686, 0x24a3: 0x00302c86,\n\t0x24a4: 0x00306c86, 0x24a5: 0x0030be86, 0x24a6: 0x0030e286, 0x24a7: 0x0030f686,\n\t0x24a8: 0x00310086, 0x24a9: 0x00312a86, 0x24aa: 0x0029cc86, 0x24ab: 0xe00002e6,\n\t0x24ac: 0xe00002e9, 0x24ad: 0xe00002ec, 0x24ae: 0xe00002ef, 0x24af: 0xe00002f2,\n\t0x24b0: 0xe00002f5, 0x24b1: 0xe00002f8, 0x24b2: 0xe00002fb, 0x24b3: 0xe00002fe,\n\t0x24b4: 0xe00003d5, 0x24b5: 0x0029ce86, 0x24b6: 0x0029d086, 0x24b7: 0x0029d286,\n\t0x24b8: 0x0029d486, 0x24b9: 0x0029d686, 0x24ba: 0x0029d886, 0x24bb: 0x0029da86,\n\t0x24bc: 0x0029dc86, 0x24bd: 0x0029de86, 0x24be: 0xe00002d7, 0x24bf: 0x0029cc86,\n\t// Block 0x93, offset 0x24c0\n\t0x24c0: 0x400d2e20, 0x24c1: 0x400d3020, 0x24c2: 0x400d3220, 0x24c3: 0x400d3420,\n\t0x24c4: 0x400d3620, 0x24c5: 0x400d3820, 0x24c6: 0x400d3a20, 0x24c7: 0x400d3c20,\n\t0x24c8: 0x400d3e20, 0x24c9: 0x400d4020, 0x24ca: 0x400d4220, 0x24cb: 0x400d4420,\n\t0x24cc: 0x400d4620, 0x24cd: 0x400d4820, 0x24ce: 0x400d4a20, 0x24cf: 0x400d4c20,\n\t0x24d0: 0x400d4e20, 0x24d1: 0x400d5020, 0x24d2: 0x400d5220, 0x24d3: 0x400d5420,\n\t0x24d4: 0x400d5620, 0x24d5: 0x400d5820, 0x24d6: 0x400d5a20, 0x24d7: 0x400d5c20,\n\t0x24d8: 0x400d5e20, 0x24d9: 0x400d6020, 0x24da: 0x400d6220, 0x24db: 0x400d6420,\n\t0x24dc: 0x400d6620, 0x24dd: 0x400d6820, 0x24de: 0x400d6a20, 0x24df: 0x400d6c20,\n\t0x24e0: 0x400d6e20, 0x24e1: 0x400d7020, 0x24e2: 0x400d7220, 0x24e3: 0x400d7420,\n\t0x24e4: 0x400d7620, 0x24e5: 0x400d7820, 0x24e6: 0x400d7a20, 0x24e7: 0x400d7c20,\n\t0x24e8: 0x400d7e20, 0x24e9: 0x400d8020, 0x24ea: 0x400d8220, 0x24eb: 0x400d8420,\n\t0x24ec: 0x400d8620, 0x24ed: 0x400d8820, 0x24ee: 0x400d8a20, 0x24ef: 0x400d8c20,\n\t0x24f0: 0x400d8e20, 0x24f1: 0x400d9020, 0x24f2: 0x400d9220, 0x24f3: 0x400d9420,\n\t0x24f4: 0x400d9620, 0x24f5: 0x400d9820, 0x24f6: 0x400d9a20, 0x24f7: 0x400d9c20,\n\t0x24f8: 0x400d9e20, 0x24f9: 0x400da020, 0x24fa: 0x400da220, 0x24fb: 0x400da420,\n\t0x24fc: 0x400da620, 0x24fd: 0x400da820, 0x24fe: 0x400daa20, 0x24ff: 0x400dac20,\n\t// Block 0x94, offset 0x2500\n\t0x2500: 0x400dae20, 0x2501: 0x400db020, 0x2502: 0x400db220, 0x2503: 0x400db420,\n\t0x2504: 0x400db620, 0x2505: 0x400db820, 0x2506: 0x400dba20, 0x2507: 0x400dbc20,\n\t0x2508: 0x400dbe20, 0x2509: 0x400dc020, 0x250a: 0x400dc220, 0x250b: 0x400dc420,\n\t0x250c: 0x400dc620, 0x250d: 0x400dc820, 0x250e: 0x400dca20, 0x250f: 0x400dcc20,\n\t0x2510: 0x400dce20, 0x2511: 0x400dd020, 0x2512: 0x400dd220, 0x2513: 0x400dd420,\n\t0x2514: 0x400dd620, 0x2515: 0x400dd820, 0x2516: 0x400dda20, 0x2517: 0x400ddc20,\n\t0x2518: 0x400dde20, 0x2519: 0x400de020, 0x251a: 0x400de220, 0x251b: 0x400de420,\n\t0x251c: 0x400de620, 0x251d: 0x400de820, 0x251e: 0x400dea20, 0x251f: 0x400dec20,\n\t0x2520: 0x400dee20, 0x2521: 0x400df020, 0x2522: 0x400df220, 0x2523: 0x400df420,\n\t0x2524: 0x400df620, 0x2525: 0x400df820, 0x2526: 0x400dfa20, 0x2527: 0x400dfc20,\n\t0x2528: 0x400dfe20, 0x2529: 0x400e0020, 0x252a: 0x400e0220, 0x252b: 0x400e0420,\n\t0x252c: 0x400e0620, 0x252d: 0x400e0820, 0x252e: 0x400e0a20, 0x252f: 0x400e0c20,\n\t0x2530: 0x400e0e20, 0x2531: 0x400e1020, 0x2532: 0x400e1220, 0x2533: 0x400e1420,\n\t0x2534: 0x400e1620, 0x2535: 0x400e1820, 0x2536: 0x400e1a20, 0x2537: 0x400e1c20,\n\t0x2538: 0x400e1e20, 0x2539: 0x400e2020, 0x253a: 0x400e2220, 0x253b: 0x400e2420,\n\t0x253c: 0x400e2620, 0x253d: 0x400e2820, 0x253e: 0x400e2a20, 0x253f: 0x400e2c20,\n\t// Block 0x95, offset 0x2540\n\t0x2540: 0x400e2e20, 0x2541: 0x400e3020, 0x2542: 0x400e3220, 0x2543: 0x400e3420,\n\t0x2544: 0x400e3620, 0x2545: 0x400e3820, 0x2546: 0x400e3a20, 0x2547: 0x400e3c20,\n\t0x2548: 0x400e3e20, 0x2549: 0x400e4020, 0x254a: 0x400e4220, 0x254b: 0x400e4420,\n\t0x254c: 0x400e4620, 0x254d: 0x400e4820, 0x254e: 0x400e4a20, 0x254f: 0x400e4c20,\n\t0x2550: 0x400e4e20, 0x2551: 0x400e5020, 0x2552: 0x400e5220, 0x2553: 0x400e5420,\n\t0x2554: 0x400e5620, 0x2555: 0x400e5820, 0x2556: 0x400e5a20, 0x2557: 0x400e5c20,\n\t0x2558: 0x400e5e20, 0x2559: 0x400e6020, 0x255a: 0x400e6220, 0x255b: 0x400e6420,\n\t0x255c: 0x400e6620, 0x255d: 0x400e6820, 0x255e: 0x400e6a20, 0x255f: 0x400e6c20,\n\t0x2560: 0x400e6e20, 0x2561: 0x400e7020, 0x2562: 0x400e7220, 0x2563: 0x400e7420,\n\t0x2564: 0x400e7620, 0x2565: 0x400e7820, 0x2566: 0x400e7a20, 0x2567: 0x400e7c20,\n\t0x2568: 0x400e7e20, 0x2569: 0x400e8020, 0x256a: 0x400e8220, 0x256b: 0x400e8420,\n\t0x256c: 0x400e8620, 0x256d: 0x400e8820, 0x256e: 0x400e8a20, 0x256f: 0x400e8c20,\n\t0x2570: 0x400e8e20, 0x2571: 0x400e9020, 0x2572: 0x400e9220, 0x2573: 0x400e9420,\n\t0x2574: 0x400e9620, 0x2575: 0x400e9820, 0x2576: 0x400e9a20, 0x2577: 0x400e9c20,\n\t0x2578: 0x400e9e20, 0x2579: 0x400ea020, 0x257a: 0x400ea220, 0x257b: 0x400ea420,\n\t0x257c: 0x400ea620, 0x257d: 0x400ea820, 0x257e: 0x400eaa20, 0x257f: 0x400eac20,\n\t// Block 0x96, offset 0x2580\n\t0x2580: 0x400eae20, 0x2581: 0x400eb020, 0x2582: 0x400eb220, 0x2583: 0x400eb420,\n\t0x2584: 0x400eb620, 0x2585: 0x400eb820, 0x2586: 0x400eba20, 0x2587: 0x400ebc20,\n\t0x2588: 0x400ebe20, 0x2589: 0x400ec020, 0x258a: 0x400ec220, 0x258b: 0x400ec420,\n\t0x258c: 0x400ec620, 0x258d: 0x400ec820, 0x258e: 0x400eca20, 0x258f: 0x400ecc20,\n\t0x2590: 0x400ece20, 0x2591: 0x400ed020, 0x2592: 0x400ed220, 0x2593: 0x400ed420,\n\t0x2594: 0x400ed620, 0x2595: 0x400ed820, 0x2596: 0x400eda20, 0x2597: 0x400edc20,\n\t0x2598: 0x400ede20, 0x2599: 0x400ee020, 0x259a: 0x400ee220, 0x259b: 0x400ee420,\n\t0x259c: 0x400ee620, 0x259d: 0x400ee820, 0x259e: 0x400eea20, 0x259f: 0x400eec20,\n\t0x25a0: 0x400eee20, 0x25a1: 0x400ef020, 0x25a2: 0x400ef220, 0x25a3: 0x400ef420,\n\t0x25a4: 0x400ef620, 0x25a5: 0x400ef820, 0x25a6: 0x400efa20, 0x25a7: 0x400efc20,\n\t0x25a8: 0x400efe20, 0x25a9: 0x400f0020, 0x25aa: 0x400f0220, 0x25ab: 0x400f0420,\n\t0x25ac: 0x400f0620, 0x25ad: 0x400f0820, 0x25ae: 0x400f0a20, 0x25af: 0x400f0c20,\n\t0x25b0: 0x400f0e20, 0x25b1: 0x400f1020, 0x25b2: 0x400f1220, 0x25b3: 0x400f1420,\n\t0x25b4: 0x400f1620, 0x25b5: 0x400f1820, 0x25b6: 0x400f1a20, 0x25b7: 0x400f1c20,\n\t0x25b8: 0x400f1e20, 0x25b9: 0x400f2020, 0x25ba: 0x400f2220, 0x25bb: 0x400f2420,\n\t0x25bc: 0x400f2620, 0x25bd: 0x400f2820, 0x25be: 0x400f2a20, 0x25bf: 0x400f2c20,\n\t// Block 0x97, offset 0x25c0\n\t0x25c0: 0x400f2e20, 0x25c1: 0x400f3020, 0x25c2: 0x400f3220, 0x25c3: 0x400f3420,\n\t0x25c4: 0x400f3620, 0x25c5: 0x400f3820, 0x25c6: 0x400f3a20, 0x25c7: 0x400f3c20,\n\t0x25c8: 0x400f3e20, 0x25c9: 0x400f4020, 0x25ca: 0x400f4220, 0x25cb: 0x400f4420,\n\t0x25cc: 0x400f4620, 0x25cd: 0x400f4820, 0x25ce: 0x400f4a20, 0x25cf: 0x400f4c20,\n\t0x25d0: 0x400f4e20, 0x25d1: 0x400f5020, 0x25d2: 0x400f5220, 0x25d3: 0x400f5420,\n\t0x25d4: 0x400f5620, 0x25d5: 0x400f5820, 0x25d6: 0x400f5a20, 0x25d7: 0x400f5c20,\n\t0x25d8: 0x400f5e20, 0x25d9: 0x400f6020, 0x25da: 0x400f6220, 0x25db: 0x400f6420,\n\t0x25dc: 0x400f6620, 0x25dd: 0x400f6820, 0x25de: 0x400f6a20, 0x25df: 0x400f6c20,\n\t0x25e0: 0x400f6e20, 0x25e1: 0x400f7020, 0x25e2: 0x400f7220, 0x25e3: 0x400f7420,\n\t0x25e4: 0x400f7620, 0x25e5: 0x400f7820, 0x25e6: 0x400f7a20, 0x25e7: 0x400f7c20,\n\t0x25e8: 0x400f7e20, 0x25e9: 0x400f8020, 0x25ea: 0x400f8220, 0x25eb: 0x400f8420,\n\t0x25ec: 0x400f8620, 0x25ed: 0x400f8820, 0x25ee: 0x400f8a20, 0x25ef: 0x400f8c20,\n\t0x25f0: 0x40195220, 0x25f1: 0x40195420, 0x25f2: 0x40195620, 0x25f3: 0x40195820,\n\t0x25f4: 0x40195a20, 0x25f5: 0x40195c20, 0x25f6: 0x40195e20, 0x25f7: 0x40196020,\n\t0x25f8: 0x400f8e20, 0x25f9: 0x400f9020, 0x25fa: 0x400f9220, 0x25fb: 0x400f9420,\n\t0x25fc: 0x400f9620, 0x25fd: 0x400f9820, 0x25fe: 0x400f9a20, 0x25ff: 0x400f9c20,\n\t// Block 0x98, offset 0x2600\n\t0x2600: 0x400f9e20, 0x2601: 0x400fa020, 0x2602: 0x400fa220, 0x2603: 0x400fa420,\n\t0x2604: 0x400fa620, 0x2605: 0x400fa820, 0x2606: 0x400faa20, 0x2607: 0x400fac20,\n\t0x2608: 0x400fae20, 0x2609: 0x400fb020, 0x260a: 0x400fb220, 0x260b: 0x400fb420,\n\t0x260c: 0x400fb620, 0x260d: 0x400fb820, 0x260e: 0x400fba20, 0x260f: 0x400fbc20,\n\t0x2610: 0x400fbe20, 0x2611: 0x400fc020, 0x2612: 0x400fc220, 0x2613: 0x400fc420,\n\t0x2614: 0x400fc620, 0x2615: 0x400fc820, 0x2616: 0x400fca20, 0x2617: 0x400fcc20,\n\t0x2618: 0x400fce20, 0x2619: 0x400fd020, 0x261a: 0x400fd220, 0x261b: 0x400fd420,\n\t0x261c: 0x400fd620, 0x261d: 0x400fd820, 0x261e: 0x400fda20, 0x261f: 0x400fdc20,\n\t0x2620: 0x400fde20, 0x2621: 0x400fe020, 0x2622: 0x400fe220, 0x2623: 0x400fe420,\n\t0x2624: 0x400fe620, 0x2625: 0x400fe820, 0x2626: 0x400fea20, 0x2627: 0x400fec20,\n\t0x2628: 0x400fee20, 0x2629: 0x400ff020, 0x262a: 0x400ff220, 0x262b: 0x400ff420,\n\t0x262c: 0x400ff620, 0x262d: 0x401dde20, 0x262e: 0x401de020, 0x262f: 0x401de220,\n\t0x2630: 0x400ff820, 0x2631: 0x400ffa20, 0x2632: 0x400ffc20, 0x2633: 0x400ffe20,\n\t0x2634: 0x40100020, 0x2635: 0x40100220, 0x2636: 0x40100420, 0x2637: 0x40100620,\n\t0x2638: 0x40100820, 0x2639: 0x40100a20, 0x263a: 0x40100c20, 0x263b: 0x40100e20,\n\t0x263c: 0x40101020, 0x263d: 0x40101220, 0x263e: 0x40101420, 0x263f: 0x40101620,\n\t// Block 0x99, offset 0x2640\n\t0x2640: 0x40101820, 0x2641: 0x40101a20, 0x2642: 0x40101c20, 0x2643: 0x40101e20,\n\t0x2644: 0x40102020, 0x2645: 0x40102220, 0x2646: 0x40102420, 0x2647: 0x40102620,\n\t0x2648: 0x40102820, 0x2649: 0x40102a20, 0x264a: 0x40194620, 0x264b: 0x40194820,\n\t0x264c: 0x40194a20, 0x264d: 0x40194c20, 0x264e: 0x40194e20, 0x264f: 0x40195020,\n\t0x2650: 0x40102c20, 0x2651: 0x40102e20, 0x2652: 0x40103020, 0x2653: 0x40103220,\n\t0x2654: 0x40103420, 0x2655: 0x40103620, 0x2656: 0x40103820, 0x2657: 0x40103a20,\n\t0x2658: 0x40103c20, 0x2659: 0x40103e20, 0x265a: 0x40104020, 0x265b: 0x40104220,\n\t0x265c: 0x40104420, 0x265d: 0x40104620, 0x265e: 0x40104820, 0x265f: 0x40104a20,\n\t0x2660: 0x40104c20, 0x2661: 0x40104e20, 0x2662: 0x40105020, 0x2663: 0x40105220,\n\t0x2664: 0x40105420, 0x2665: 0x40105620, 0x2666: 0x40105820, 0x2667: 0x40105a20,\n\t0x2668: 0x40105c20, 0x2669: 0x40105e20, 0x266a: 0x40106020, 0x266b: 0x40106220,\n\t0x266c: 0x40106420, 0x266d: 0x40106620, 0x266e: 0x40106820, 0x266f: 0x40106a20,\n\t0x2670: 0x40106c20, 0x2671: 0x40106e20, 0x2672: 0x40107020, 0x2673: 0x40107220,\n\t0x2674: 0x40107420, 0x2675: 0x40107620, 0x2676: 0x40107820, 0x2677: 0x40107a20,\n\t0x2678: 0x40107c20, 0x2679: 0x40107e20, 0x267a: 0x40108020, 0x267b: 0x40108220,\n\t0x267c: 0x40108420, 0x267d: 0x40108620, 0x267e: 0x40108820, 0x267f: 0x40108a20,\n\t// Block 0x9a, offset 0x2680\n\t0x2680: 0x40108c20, 0x2681: 0x40108e20, 0x2682: 0x40109020, 0x2683: 0x40109220,\n\t0x2684: 0x40109420, 0x2685: 0x40109620, 0x2686: 0x40109820, 0x2687: 0x40109a20,\n\t0x2688: 0x40109c20, 0x2689: 0x40109e20, 0x268a: 0x4010a020, 0x268b: 0x4010a220,\n\t0x268c: 0x4010a420, 0x268d: 0x4010a620, 0x268e: 0x4010a820, 0x268f: 0x4010aa20,\n\t0x2690: 0x4010ac20, 0x2691: 0x4010ae20, 0x2692: 0x4010b020, 0x2693: 0x4010b220,\n\t0x2694: 0x4010b420, 0x2695: 0x4010b620, 0x2696: 0x4010b820, 0x2697: 0x4010ba20,\n\t0x2698: 0x4010bc20, 0x2699: 0x4010be20, 0x269a: 0x4010c020, 0x269b: 0x4010c220,\n\t0x269c: 0x4010c420, 0x269d: 0x4010c620, 0x269e: 0x4010c820, 0x269f: 0x4010ca20,\n\t0x26a0: 0x4010cc20, 0x26a1: 0x4010ce20, 0x26a2: 0x4010d020, 0x26a3: 0x4010d220,\n\t0x26a4: 0x4010d420, 0x26a5: 0x4010d620, 0x26a6: 0x4010d820, 0x26a7: 0x4010da20,\n\t0x26a8: 0x4010dc20, 0x26a9: 0x4010de20, 0x26aa: 0x4010e020, 0x26ab: 0x4010e220,\n\t0x26ac: 0x4010e420, 0x26ad: 0x4010e620, 0x26ae: 0x4010e820, 0x26af: 0x4010ea20,\n\t0x26b0: 0x4010ec20, 0x26b1: 0x4010ee20, 0x26b2: 0x4010f020, 0x26b3: 0x4010f220,\n\t0x26b4: 0x4010f420, 0x26b5: 0x4010f620, 0x26b6: 0x4010f820, 0x26b7: 0x4010fa20,\n\t0x26b8: 0x4010fc20, 0x26b9: 0x4010fe20, 0x26ba: 0x40110020, 0x26bb: 0x40110220,\n\t0x26bc: 0x40110420, 0x26bd: 0x40110620, 0x26be: 0x40110820, 0x26bf: 0x40110a20,\n\t// Block 0x9b, offset 0x26c0\n\t0x26c1: 0x40114020, 0x26c2: 0x40114220, 0x26c3: 0x40114420,\n\t0x26c4: 0x40114620, 0x26c5: 0x40114820, 0x26c6: 0x40114a20, 0x26c7: 0x40114c20,\n\t0x26c8: 0x40114e20, 0x26c9: 0x40115020, 0x26ca: 0x40115220, 0x26cb: 0x40115420,\n\t0x26cc: 0x40115620, 0x26cd: 0x40115820, 0x26ce: 0x40115a20, 0x26cf: 0x40115c20,\n\t0x26d0: 0x40115e20, 0x26d1: 0x40116020, 0x26d2: 0x40116220, 0x26d3: 0x40116420,\n\t0x26d4: 0x40116620, 0x26d5: 0x40116820, 0x26d6: 0x40116a20, 0x26d7: 0x40116c20,\n\t0x26d8: 0x40116e20, 0x26d9: 0x40117020, 0x26da: 0x40117220, 0x26db: 0x40117420,\n\t0x26dc: 0x40117620, 0x26dd: 0x40117820, 0x26de: 0x40117a20, 0x26df: 0x40117c20,\n\t0x26e0: 0x40117e20, 0x26e1: 0x40118020, 0x26e2: 0x40118220, 0x26e3: 0x40118420,\n\t0x26e4: 0x40118620, 0x26e5: 0x40118820, 0x26e6: 0x40118a20, 0x26e7: 0x40118c20,\n\t0x26e8: 0x40118e20, 0x26e9: 0x40119020, 0x26ea: 0x40119220, 0x26eb: 0x40119420,\n\t0x26ec: 0x40119620, 0x26ed: 0x40119820, 0x26ee: 0x40119a20, 0x26ef: 0x40119c20,\n\t0x26f0: 0x40119e20, 0x26f1: 0x4011a020, 0x26f2: 0x4011a220, 0x26f3: 0x4011a420,\n\t0x26f4: 0x4011a620, 0x26f5: 0x4011a820, 0x26f6: 0x4011aa20, 0x26f7: 0x4011ac20,\n\t0x26f8: 0x4011ae20, 0x26f9: 0x4011b020, 0x26fa: 0x4011b220, 0x26fb: 0x4011b420,\n\t0x26fc: 0x4011b620, 0x26fd: 0x4011b820, 0x26fe: 0x4011ba20, 0x26ff: 0x4011bc20,\n\t// Block 0x9c, offset 0x2700\n\t0x2700: 0x4011be20, 0x2701: 0x4011c020, 0x2702: 0x4011c220, 0x2703: 0x4011c420,\n\t0x2704: 0x4011c620, 0x2705: 0x4011c820, 0x2706: 0x4011ca20, 0x2707: 0x4011cc20,\n\t0x2708: 0x4011ce20, 0x2709: 0x4011d020, 0x270a: 0x4011d220, 0x270b: 0x4011d420,\n\t0x270c: 0x4011d620, 0x270d: 0x4011d820, 0x270e: 0x4011da20, 0x270f: 0x4011dc20,\n\t0x2710: 0x4011de20, 0x2711: 0x4011e020, 0x2712: 0x4011e220, 0x2713: 0x4011e420,\n\t0x2714: 0x4011e620, 0x2715: 0x4011e820, 0x2716: 0x4011ea20, 0x2717: 0x4011ec20,\n\t0x2718: 0x4011ee20, 0x2719: 0x4011f020, 0x271a: 0x4011f220, 0x271b: 0x4011f420,\n\t0x271c: 0x4011f620, 0x271d: 0x4011f820, 0x271e: 0x4011fa20, 0x271f: 0x4011fc20,\n\t0x2720: 0x4011fe20, 0x2721: 0x40120020, 0x2722: 0x40120220, 0x2723: 0x40120420,\n\t0x2724: 0x40120620, 0x2725: 0x40120820, 0x2726: 0x40120a20, 0x2727: 0x40120c20,\n\t0x2728: 0x40045820, 0x2729: 0x40045a20, 0x272a: 0x40045c20, 0x272b: 0x40045e20,\n\t0x272c: 0x40046020, 0x272d: 0x40046220, 0x272e: 0x40046420, 0x272f: 0x40046620,\n\t0x2730: 0x40046820, 0x2731: 0x40046a20, 0x2732: 0x40046c20, 0x2733: 0x40046e20,\n\t0x2734: 0x40047020, 0x2735: 0x40047220, 0x2736: 0x0029ce86, 0x2737: 0x0029d086,\n\t0x2738: 0x0029d286, 0x2739: 0x0029d486, 0x273a: 0x0029d686, 0x273b: 0x0029d886,\n\t0x273c: 0x0029da86, 0x273d: 0x0029dc86, 0x273e: 0x0029de86, 0x273f: 0xe00002da,\n\t// Block 0x9d, offset 0x2740\n\t0x2740: 0x0029ce86, 0x2741: 0x0029d086, 0x2742: 0x0029d286, 0x2743: 0x0029d486,\n\t0x2744: 0x0029d686, 0x2745: 0x0029d886, 0x2746: 0x0029da86, 0x2747: 0x0029dc86,\n\t0x2748: 0x0029de86, 0x2749: 0xe00002dd, 0x274a: 0x0029ce86, 0x274b: 0x0029d086,\n\t0x274c: 0x0029d286, 0x274d: 0x0029d486, 0x274e: 0x0029d686, 0x274f: 0x0029d886,\n\t0x2750: 0x0029da86, 0x2751: 0x0029dc86, 0x2752: 0x0029de86, 0x2753: 0xe00002e0,\n\t0x2754: 0x40120e20, 0x2755: 0x40121020, 0x2756: 0x40121220, 0x2757: 0x40121420,\n\t0x2758: 0x40121620, 0x2759: 0x40121820, 0x275a: 0x40121a20, 0x275b: 0x40121c20,\n\t0x275c: 0x40121e20, 0x275d: 0x40122020, 0x275e: 0x40122220, 0x275f: 0x40122420,\n\t0x2760: 0x40122620, 0x2761: 0x40122820, 0x2762: 0x40122a20, 0x2763: 0x40122c20,\n\t0x2764: 0x40122e20, 0x2765: 0x40123020, 0x2766: 0x40123220, 0x2767: 0x40123420,\n\t0x2768: 0x40123620, 0x2769: 0x40123820, 0x276a: 0x40123a20, 0x276b: 0x40123c20,\n\t0x276c: 0x40123e20, 0x276d: 0x40124020, 0x276e: 0x40124220, 0x276f: 0x40124420,\n\t0x2770: 0x40124620, 0x2771: 0x40124820, 0x2772: 0x40124a20, 0x2773: 0x40124c20,\n\t0x2774: 0x40124e20, 0x2775: 0x40125020, 0x2776: 0x40125220, 0x2777: 0x40125420,\n\t0x2778: 0x40125620, 0x2779: 0x40125820, 0x277a: 0x40125a20, 0x277b: 0x40125c20,\n\t0x277c: 0x40125e20, 0x277d: 0x40126020, 0x277e: 0x40126220, 0x277f: 0x40126420,\n\t// Block 0x9e, offset 0x2780\n\t0x2780: 0x40126620, 0x2781: 0x40126820, 0x2782: 0x40126a20, 0x2783: 0x40126c20,\n\t0x2784: 0x40126e20, 0x2785: 0x40044020, 0x2786: 0x40044220, 0x2787: 0x40127020,\n\t0x2788: 0x40127220, 0x2789: 0x40127420, 0x278a: 0x40127620, 0x278b: 0x40127820,\n\t0x278c: 0x40127a20, 0x278d: 0x40127c20, 0x278e: 0x40127e20, 0x278f: 0x40128020,\n\t0x2790: 0x40128220, 0x2791: 0x40128420, 0x2792: 0x40128620, 0x2793: 0x40128820,\n\t0x2794: 0x40128a20, 0x2795: 0x40128c20, 0x2796: 0x40128e20, 0x2797: 0x40129020,\n\t0x2798: 0x40129220, 0x2799: 0x40129420, 0x279a: 0x40129620, 0x279b: 0x40129820,\n\t0x279c: 0x40129a20, 0x279d: 0x40129c20, 0x279e: 0x40129e20, 0x279f: 0x4012a020,\n\t0x27a0: 0x4012a220, 0x27a1: 0x4012a420, 0x27a2: 0x4012a620, 0x27a3: 0x4012a820,\n\t0x27a4: 0x4012aa20, 0x27a5: 0x4012ac20, 0x27a6: 0x40044420, 0x27a7: 0x40044620,\n\t0x27a8: 0x40044820, 0x27a9: 0x40044a20, 0x27aa: 0x40044c20, 0x27ab: 0x40044e20,\n\t0x27ac: 0x40045020, 0x27ad: 0x40045220, 0x27ae: 0x40045420, 0x27af: 0x40045620,\n\t0x27b0: 0x4012ae20, 0x27b1: 0x4012b020, 0x27b2: 0x4012b220, 0x27b3: 0x4012b420,\n\t0x27b4: 0x4012b620, 0x27b5: 0x4012b820, 0x27b6: 0x4012ba20, 0x27b7: 0x4012bc20,\n\t0x27b8: 0x4012be20, 0x27b9: 0x4012c020, 0x27ba: 0x4012c220, 0x27bb: 0x4012c420,\n\t0x27bc: 0x4012c620, 0x27bd: 0x4012c820, 0x27be: 0x4012ca20, 0x27bf: 0x4012cc20,\n\t// Block 0x9f, offset 0x27c0\n\t0x27c0: 0x40174620, 0x27c1: 0x40174820, 0x27c2: 0x40174a20, 0x27c3: 0x40174c20,\n\t0x27c4: 0x40174e20, 0x27c5: 0x40175020, 0x27c6: 0x40175220, 0x27c7: 0x40175420,\n\t0x27c8: 0x40175620, 0x27c9: 0x40175820, 0x27ca: 0x40175a20, 0x27cb: 0x40175c20,\n\t0x27cc: 0x40175e20, 0x27cd: 0x40176020, 0x27ce: 0x40176220, 0x27cf: 0x40176420,\n\t0x27d0: 0x40176620, 0x27d1: 0x40176820, 0x27d2: 0x40176a20, 0x27d3: 0x40176c20,\n\t0x27d4: 0x40176e20, 0x27d5: 0x40177020, 0x27d6: 0x40177220, 0x27d7: 0x40177420,\n\t0x27d8: 0x40177620, 0x27d9: 0x40177820, 0x27da: 0x40177a20, 0x27db: 0x40177c20,\n\t0x27dc: 0x40177e20, 0x27dd: 0x40178020, 0x27de: 0x40178220, 0x27df: 0x40178420,\n\t0x27e0: 0x40178620, 0x27e1: 0x40178820, 0x27e2: 0x40178a20, 0x27e3: 0x40178c20,\n\t0x27e4: 0x40178e20, 0x27e5: 0x40179020, 0x27e6: 0x40179220, 0x27e7: 0x40179420,\n\t0x27e8: 0x40179620, 0x27e9: 0x40179820, 0x27ea: 0x40179a20, 0x27eb: 0x40179c20,\n\t0x27ec: 0x40179e20, 0x27ed: 0x4017a020, 0x27ee: 0x4017a220, 0x27ef: 0x4017a420,\n\t0x27f0: 0x4017a620, 0x27f1: 0x4017a820, 0x27f2: 0x4017aa20, 0x27f3: 0x4017ac20,\n\t0x27f4: 0x4017ae20, 0x27f5: 0x4017b020, 0x27f6: 0x4017b220, 0x27f7: 0x4017b420,\n\t0x27f8: 0x4017b620, 0x27f9: 0x4017b820, 0x27fa: 0x4017ba20, 0x27fb: 0x4017bc20,\n\t0x27fc: 0x4017be20, 0x27fd: 0x4017c020, 0x27fe: 0x4017c220, 0x27ff: 0x4017c420,\n\t// Block 0xa0, offset 0x2800\n\t0x2800: 0x4017c620, 0x2801: 0x4017c820, 0x2802: 0x4017ca20, 0x2803: 0x4017cc20,\n\t0x2804: 0x4017ce20, 0x2805: 0x4017d020, 0x2806: 0x4017d220, 0x2807: 0x4017d420,\n\t0x2808: 0x4017d620, 0x2809: 0x4017d820, 0x280a: 0x4017da20, 0x280b: 0x4017dc20,\n\t0x280c: 0x4017de20, 0x280d: 0x4017e020, 0x280e: 0x4017e220, 0x280f: 0x4017e420,\n\t0x2810: 0x4017e620, 0x2811: 0x4017e820, 0x2812: 0x4017ea20, 0x2813: 0x4017ec20,\n\t0x2814: 0x4017ee20, 0x2815: 0x4017f020, 0x2816: 0x4017f220, 0x2817: 0x4017f420,\n\t0x2818: 0x4017f620, 0x2819: 0x4017f820, 0x281a: 0x4017fa20, 0x281b: 0x4017fc20,\n\t0x281c: 0x4017fe20, 0x281d: 0x40180020, 0x281e: 0x40180220, 0x281f: 0x40180420,\n\t0x2820: 0x40180620, 0x2821: 0x40180820, 0x2822: 0x40180a20, 0x2823: 0x40180c20,\n\t0x2824: 0x40180e20, 0x2825: 0x40181020, 0x2826: 0x40181220, 0x2827: 0x40181420,\n\t0x2828: 0x40181620, 0x2829: 0x40181820, 0x282a: 0x40181a20, 0x282b: 0x40181c20,\n\t0x282c: 0x40181e20, 0x282d: 0x40182020, 0x282e: 0x40182220, 0x282f: 0x40182420,\n\t0x2830: 0x40182620, 0x2831: 0x40182820, 0x2832: 0x40182a20, 0x2833: 0x40182c20,\n\t0x2834: 0x40182e20, 0x2835: 0x40183020, 0x2836: 0x40183220, 0x2837: 0x40183420,\n\t0x2838: 0x40183620, 0x2839: 0x40183820, 0x283a: 0x40183a20, 0x283b: 0x40183c20,\n\t0x283c: 0x40183e20, 0x283d: 0x40184020, 0x283e: 0x40184220, 0x283f: 0x40184420,\n\t// Block 0xa1, offset 0x2840\n\t0x2840: 0x40184620, 0x2841: 0x40184820, 0x2842: 0x40184a20, 0x2843: 0x40184c20,\n\t0x2844: 0x40184e20, 0x2845: 0x40185020, 0x2846: 0x40185220, 0x2847: 0x40185420,\n\t0x2848: 0x40185620, 0x2849: 0x40185820, 0x284a: 0x40185a20, 0x284b: 0x40185c20,\n\t0x284c: 0x40185e20, 0x284d: 0x40186020, 0x284e: 0x40186220, 0x284f: 0x40186420,\n\t0x2850: 0x40186620, 0x2851: 0x40186820, 0x2852: 0x40186a20, 0x2853: 0x40186c20,\n\t0x2854: 0x40186e20, 0x2855: 0x40187020, 0x2856: 0x40187220, 0x2857: 0x40187420,\n\t0x2858: 0x40187620, 0x2859: 0x40187820, 0x285a: 0x40187a20, 0x285b: 0x40187c20,\n\t0x285c: 0x40187e20, 0x285d: 0x40188020, 0x285e: 0x40188220, 0x285f: 0x40188420,\n\t0x2860: 0x40188620, 0x2861: 0x40188820, 0x2862: 0x40188a20, 0x2863: 0x40188c20,\n\t0x2864: 0x40188e20, 0x2865: 0x40189020, 0x2866: 0x40189220, 0x2867: 0x40189420,\n\t0x2868: 0x40189620, 0x2869: 0x40189820, 0x286a: 0x40189a20, 0x286b: 0x40189c20,\n\t0x286c: 0x40189e20, 0x286d: 0x4018a020, 0x286e: 0x4018a220, 0x286f: 0x4018a420,\n\t0x2870: 0x4018a620, 0x2871: 0x4018a820, 0x2872: 0x4018aa20, 0x2873: 0x4018ac20,\n\t0x2874: 0x4018ae20, 0x2875: 0x4018b020, 0x2876: 0x4018b220, 0x2877: 0x4018b420,\n\t0x2878: 0x4018b620, 0x2879: 0x4018b820, 0x287a: 0x4018ba20, 0x287b: 0x4018bc20,\n\t0x287c: 0x4018be20, 0x287d: 0x4018c020, 0x287e: 0x4018c220, 0x287f: 0x4018c420,\n\t// Block 0xa2, offset 0x2880\n\t0x2880: 0x4018c620, 0x2881: 0x4018c820, 0x2882: 0x4018ca20, 0x2883: 0x4018cc20,\n\t0x2884: 0x4018ce20, 0x2885: 0x4018d020, 0x2886: 0x4018d220, 0x2887: 0x4018d420,\n\t0x2888: 0x4018d620, 0x2889: 0x4018d820, 0x288a: 0x4018da20, 0x288b: 0x4018dc20,\n\t0x288c: 0x4018de20, 0x288d: 0x4018e020, 0x288e: 0x4018e220, 0x288f: 0x4018e420,\n\t0x2890: 0x4018e620, 0x2891: 0x4018e820, 0x2892: 0x4018ea20, 0x2893: 0x4018ec20,\n\t0x2894: 0x4018ee20, 0x2895: 0x4018f020, 0x2896: 0x4018f220, 0x2897: 0x4018f420,\n\t0x2898: 0x4018f620, 0x2899: 0x4018f820, 0x289a: 0x4018fa20, 0x289b: 0x4018fc20,\n\t0x289c: 0x4018fe20, 0x289d: 0x40190020, 0x289e: 0x40190220, 0x289f: 0x40190420,\n\t0x28a0: 0x40190620, 0x28a1: 0x40190820, 0x28a2: 0x40190a20, 0x28a3: 0x40190c20,\n\t0x28a4: 0x40190e20, 0x28a5: 0x40191020, 0x28a6: 0x40191220, 0x28a7: 0x40191420,\n\t0x28a8: 0x40191620, 0x28a9: 0x40191820, 0x28aa: 0x40191a20, 0x28ab: 0x40191c20,\n\t0x28ac: 0x40191e20, 0x28ad: 0x40192020, 0x28ae: 0x40192220, 0x28af: 0x40192420,\n\t0x28b0: 0x40192620, 0x28b1: 0x40192820, 0x28b2: 0x40192a20, 0x28b3: 0x40192c20,\n\t0x28b4: 0x40192e20, 0x28b5: 0x40193020, 0x28b6: 0x40193220, 0x28b7: 0x40193420,\n\t0x28b8: 0x40193620, 0x28b9: 0x40193820, 0x28ba: 0x40193a20, 0x28bb: 0x40193c20,\n\t0x28bc: 0x40193e20, 0x28bd: 0x40194020, 0x28be: 0x40194220, 0x28bf: 0x40194420,\n\t// Block 0xa3, offset 0x28c0\n\t0x28c0: 0x4012ce20, 0x28c1: 0x4012d020, 0x28c2: 0x4012d220, 0x28c3: 0x4012d420,\n\t0x28c4: 0x4012d620, 0x28c5: 0x4012d820, 0x28c6: 0x4012da20, 0x28c7: 0x4012dc20,\n\t0x28c8: 0x4012de20, 0x28c9: 0x4012e020, 0x28ca: 0x4012e220, 0x28cb: 0x4012e420,\n\t0x28cc: 0x4012e620, 0x28cd: 0x4012e820, 0x28ce: 0x4012ea20, 0x28cf: 0x4012ec20,\n\t0x28d0: 0x4012ee20, 0x28d1: 0x4012f020, 0x28d2: 0x4012f220, 0x28d3: 0x4012f420,\n\t0x28d4: 0x4012f620, 0x28d5: 0x4012f820, 0x28d6: 0x4012fa20, 0x28d7: 0x4012fc20,\n\t0x28d8: 0x4012fe20, 0x28d9: 0x40130020, 0x28da: 0x40130220, 0x28db: 0x40130420,\n\t0x28dc: 0x40130620, 0x28dd: 0x40130820, 0x28de: 0x40130a20, 0x28df: 0x40130c20,\n\t0x28e0: 0x40130e20, 0x28e1: 0x40131020, 0x28e2: 0x40131220, 0x28e3: 0x40131420,\n\t0x28e4: 0x40131620, 0x28e5: 0x40131820, 0x28e6: 0x40131a20, 0x28e7: 0x40131c20,\n\t0x28e8: 0x40131e20, 0x28e9: 0x40132020, 0x28ea: 0x40132220, 0x28eb: 0x40132420,\n\t0x28ec: 0x40132620, 0x28ed: 0x40132820, 0x28ee: 0x40132a20, 0x28ef: 0x40132c20,\n\t0x28f0: 0x40132e20, 0x28f1: 0x40133020, 0x28f2: 0x40133220, 0x28f3: 0x40133420,\n\t0x28f4: 0x40133620, 0x28f5: 0x40133820, 0x28f6: 0x40133a20, 0x28f7: 0x40133c20,\n\t0x28f8: 0x40133e20, 0x28f9: 0x40134020, 0x28fa: 0x40134220, 0x28fb: 0x40134420,\n\t0x28fc: 0x40134620, 0x28fd: 0x40134820, 0x28fe: 0x40134a20, 0x28ff: 0x40134c20,\n\t// Block 0xa4, offset 0x2900\n\t0x2900: 0x40134e20, 0x2901: 0x40135020, 0x2902: 0x40135220, 0x2903: 0x40135420,\n\t0x2904: 0x40135620, 0x2905: 0x40135820, 0x2906: 0x40135a20, 0x2907: 0x40135c20,\n\t0x2908: 0x40135e20, 0x2909: 0x40136020, 0x290a: 0x40136220, 0x290b: 0x40136420,\n\t0x290c: 0x40136620, 0x290d: 0x40136820, 0x290e: 0x40136a20, 0x290f: 0x40136c20,\n\t0x2910: 0x40136e20, 0x2911: 0x40137020, 0x2912: 0x40137220, 0x2913: 0x40137420,\n\t0x2914: 0x40137620, 0x2915: 0x40137820, 0x2916: 0x40137a20, 0x2917: 0x40137c20,\n\t0x2918: 0x40137e20, 0x2919: 0x40138020, 0x291a: 0x40138220, 0x291b: 0x40138420,\n\t0x291c: 0x40138620, 0x291d: 0x40138820, 0x291e: 0x40138a20, 0x291f: 0x40138c20,\n\t0x2920: 0x40138e20, 0x2921: 0x40139020, 0x2922: 0x40139220, 0x2923: 0x40139420,\n\t0x2924: 0x40139620, 0x2925: 0x40139820, 0x2926: 0x40139a20, 0x2927: 0x40139c20,\n\t0x2928: 0x40139e20, 0x2929: 0x4013a020, 0x292a: 0x4013a220, 0x292b: 0x4013a420,\n\t0x292c: 0x4013a620, 0x292d: 0x4013a820, 0x292e: 0x4013aa20, 0x292f: 0x4013ac20,\n\t0x2930: 0x4013ae20, 0x2931: 0x4013b020, 0x2932: 0x4013b220, 0x2933: 0x4013b420,\n\t0x2934: 0x4013b620, 0x2935: 0x4013b820, 0x2936: 0x4013ba20, 0x2937: 0x4013bc20,\n\t0x2938: 0x4013be20, 0x2939: 0x4013c020, 0x293a: 0x4013c220, 0x293b: 0x4013c420,\n\t0x293c: 0x4013c620, 0x293d: 0x4013c820, 0x293e: 0x4013ca20, 0x293f: 0x4013cc20,\n\t// Block 0xa5, offset 0x2940\n\t0x2940: 0x4013ce20, 0x2941: 0x4013d020, 0x2942: 0x4013d220, 0x2943: 0x40041420,\n\t0x2944: 0x40041620, 0x2945: 0x40041820, 0x2946: 0x40041a20, 0x2947: 0x40041c20,\n\t0x2948: 0x40041e20, 0x2949: 0x40042020, 0x294a: 0x40042220, 0x294b: 0x40042420,\n\t0x294c: 0x40042620, 0x294d: 0x40042820, 0x294e: 0x40042a20, 0x294f: 0x40042c20,\n\t0x2950: 0x40042e20, 0x2951: 0x40043020, 0x2952: 0x40043220, 0x2953: 0x40043420,\n\t0x2954: 0x40043620, 0x2955: 0x40043820, 0x2956: 0x40043a20, 0x2957: 0x40043c20,\n\t0x2958: 0x40043e20, 0x2959: 0x4013d420, 0x295a: 0x4013d620, 0x295b: 0x4013d820,\n\t0x295c: 0x4013da20, 0x295d: 0x4013dc20, 0x295e: 0x4013de20, 0x295f: 0x4013e020,\n\t0x2960: 0x4013e220, 0x2961: 0x4013e420, 0x2962: 0x4013e620, 0x2963: 0x4013e820,\n\t0x2964: 0x4013ea20, 0x2965: 0x4013ec20, 0x2966: 0x4013ee20, 0x2967: 0x4013f020,\n\t0x2968: 0x4013f220, 0x2969: 0x4013f420, 0x296a: 0x4013f620, 0x296b: 0x4013f820,\n\t0x296c: 0x4013fa20, 0x296d: 0x4013fc20, 0x296e: 0x4013fe20, 0x296f: 0x40140020,\n\t0x2970: 0x40140220, 0x2971: 0x40140420, 0x2972: 0x40140620, 0x2973: 0x40140820,\n\t0x2974: 0x40140a20, 0x2975: 0x40140c20, 0x2976: 0x40140e20, 0x2977: 0x40141020,\n\t0x2978: 0x40141220, 0x2979: 0x40141420, 0x297a: 0x40141620, 0x297b: 0x40141820,\n\t0x297c: 0x40141a20, 0x297d: 0x40141c20, 0x297e: 0x40141e20, 0x297f: 0x40142020,\n\t// Block 0xa6, offset 0x2980\n\t0x2980: 0x40142220, 0x2981: 0x40142420, 0x2982: 0x40142620, 0x2983: 0x40142820,\n\t0x2984: 0x40142a20, 0x2985: 0x40142c20, 0x2986: 0x40142e20, 0x2987: 0x40143020,\n\t0x2988: 0x40143220, 0x2989: 0x40143420, 0x298a: 0x40143620, 0x298b: 0x40143820,\n\t0x298c: 0x40143a20, 0x298d: 0x40143c20, 0x298e: 0x40143e20, 0x298f: 0x40144020,\n\t0x2990: 0x40144220, 0x2991: 0x40144420, 0x2992: 0x40144620, 0x2993: 0x40144820,\n\t0x2994: 0x40144a20, 0x2995: 0x40144c20, 0x2996: 0x40144e20, 0x2997: 0x40145020,\n\t0x2998: 0x4004c620, 0x2999: 0x4004c820, 0x299a: 0x4004ca20, 0x299b: 0x4004cc20,\n\t0x299c: 0x40145220, 0x299d: 0x40145420, 0x299e: 0x40145620, 0x299f: 0x40145820,\n\t0x29a0: 0x40145a20, 0x29a1: 0x40145c20, 0x29a2: 0x40145e20, 0x29a3: 0x40146020,\n\t0x29a4: 0x40146220, 0x29a5: 0x40146420, 0x29a6: 0x40146620, 0x29a7: 0x40146820,\n\t0x29a8: 0x40146a20, 0x29a9: 0x40146c20, 0x29aa: 0x40146e20, 0x29ab: 0x40147020,\n\t0x29ac: 0x40147220, 0x29ad: 0x40147420, 0x29ae: 0x40147620, 0x29af: 0x40147820,\n\t0x29b0: 0x40147a20, 0x29b1: 0x40147c20, 0x29b2: 0x40147e20, 0x29b3: 0x40148020,\n\t0x29b4: 0x40148220, 0x29b5: 0x40148420, 0x29b6: 0x40148620, 0x29b7: 0x40148820,\n\t0x29b8: 0x40148a20, 0x29b9: 0x40148c20, 0x29ba: 0x40148e20, 0x29bb: 0x40149020,\n\t0x29bc: 0x40041020, 0x29bd: 0x40041220, 0x29be: 0x40149220, 0x29bf: 0x40149420,\n\t// Block 0xa7, offset 0x29c0\n\t0x29c0: 0x40149620, 0x29c1: 0x40149820, 0x29c2: 0x40149a20, 0x29c3: 0x40149c20,\n\t0x29c4: 0x40149e20, 0x29c5: 0x4014a020, 0x29c6: 0x4014a220, 0x29c7: 0x4014a420,\n\t0x29c8: 0x4014a620, 0x29c9: 0x4014a820, 0x29ca: 0x4014aa20, 0x29cb: 0x4014ac20,\n\t0x29cc: 0xe00000f0, 0x29cd: 0x4014ae20, 0x29ce: 0x4014b020, 0x29cf: 0x4014b220,\n\t0x29d0: 0x4014b420, 0x29d1: 0x4014b620, 0x29d2: 0x4014b820, 0x29d3: 0x4014ba20,\n\t0x29d4: 0x4014bc20, 0x29d5: 0x4014be20, 0x29d6: 0x4014c020, 0x29d7: 0x4014c220,\n\t0x29d8: 0x4014c420, 0x29d9: 0x4014c620, 0x29da: 0x4014c820, 0x29db: 0x4014ca20,\n\t0x29dc: 0x4014cc20, 0x29dd: 0x4014ce20, 0x29de: 0x4014d020, 0x29df: 0x4014d220,\n\t0x29e0: 0x4014d420, 0x29e1: 0x4014d620, 0x29e2: 0x4014d820, 0x29e3: 0x4014da20,\n\t0x29e4: 0x4014dc20, 0x29e5: 0x4014de20, 0x29e6: 0x4014e020, 0x29e7: 0x4014e220,\n\t0x29e8: 0x4014e420, 0x29e9: 0x4014e620, 0x29ea: 0x4014e820, 0x29eb: 0x4014ea20,\n\t0x29ec: 0x4014ec20, 0x29ed: 0x4014ee20, 0x29ee: 0x4014f020, 0x29ef: 0x4014f220,\n\t0x29f0: 0x4014f420, 0x29f1: 0x4014f620, 0x29f2: 0x4014f820, 0x29f3: 0x4014fa20,\n\t0x29f4: 0x4014fc20, 0x29f5: 0x4014fe20, 0x29f6: 0x40150020, 0x29f7: 0x40150220,\n\t0x29f8: 0x40150420, 0x29f9: 0x40150620, 0x29fa: 0x40150820, 0x29fb: 0x40150a20,\n\t0x29fc: 0x40150c20, 0x29fd: 0x40150e20, 0x29fe: 0x40151020, 0x29ff: 0x40151220,\n\t// Block 0xa8, offset 0x2a00\n\t0x2a00: 0x40151420, 0x2a01: 0x40151620, 0x2a02: 0x40151820, 0x2a03: 0x40151a20,\n\t0x2a04: 0x40151c20, 0x2a05: 0x40151e20, 0x2a06: 0x40152020, 0x2a07: 0x40152220,\n\t0x2a08: 0x40152420, 0x2a09: 0x40152620, 0x2a0a: 0x40152820, 0x2a0b: 0x40152a20,\n\t0x2a0c: 0x40152c20, 0x2a0d: 0x40152e20, 0x2a0e: 0x40153020, 0x2a0f: 0x40153220,\n\t0x2a10: 0x40153420, 0x2a11: 0x40153620, 0x2a12: 0x40153820, 0x2a13: 0x40153a20,\n\t0x2a14: 0x40153c20, 0x2a15: 0x40153e20, 0x2a16: 0x40154020, 0x2a17: 0x40154220,\n\t0x2a18: 0x40154420, 0x2a19: 0x40154620, 0x2a1a: 0x40154820, 0x2a1b: 0x40154a20,\n\t0x2a1c: 0x40154c20, 0x2a1d: 0x40154e20, 0x2a1e: 0x40155020, 0x2a1f: 0x40155220,\n\t0x2a20: 0x40155420, 0x2a21: 0x40155620, 0x2a22: 0x40155820, 0x2a23: 0x40155a20,\n\t0x2a24: 0x40155c20, 0x2a25: 0x40155e20, 0x2a26: 0x40156020, 0x2a27: 0x40156220,\n\t0x2a28: 0x40156420, 0x2a29: 0x40156620, 0x2a2a: 0x40156820, 0x2a2b: 0x40156a20,\n\t0x2a2c: 0x40156c20, 0x2a2d: 0x40156e20, 0x2a2e: 0x40157020, 0x2a2f: 0x40157220,\n\t0x2a30: 0x40157420, 0x2a31: 0x40157620, 0x2a32: 0x40157820, 0x2a33: 0x40157a20,\n\t0x2a34: 0xf0000404, 0x2a35: 0xf0001f04, 0x2a36: 0xf0000404, 0x2a37: 0x40157c20,\n\t0x2a38: 0x40157e20, 0x2a39: 0x40158020, 0x2a3a: 0x40158220, 0x2a3b: 0x40158420,\n\t0x2a3c: 0x40158620, 0x2a3d: 0x40158820, 0x2a3e: 0x40158a20, 0x2a3f: 0x40158c20,\n\t// Block 0xa9, offset 0x2a40\n\t0x2a40: 0x40158e20, 0x2a41: 0x40159020, 0x2a42: 0x40159220, 0x2a43: 0x40159420,\n\t0x2a44: 0x40159620, 0x2a45: 0x40159820, 0x2a46: 0x40159a20, 0x2a47: 0x40159c20,\n\t0x2a48: 0x40159e20, 0x2a49: 0x4015a020, 0x2a4a: 0x4015a220, 0x2a4b: 0x4015a420,\n\t0x2a4c: 0x4015a620, 0x2a4d: 0x4015a820, 0x2a4e: 0x4015aa20, 0x2a4f: 0x4015ac20,\n\t0x2a50: 0x4015ae20, 0x2a51: 0x4015b020, 0x2a52: 0x4015b220, 0x2a53: 0x4015b420,\n\t0x2a54: 0x4015b620, 0x2a55: 0x4015b820, 0x2a56: 0x4015ba20, 0x2a57: 0x4015bc20,\n\t0x2a58: 0x4015be20, 0x2a59: 0x4015c020, 0x2a5a: 0x4015c220, 0x2a5b: 0x4015c420,\n\t0x2a5c: 0x4015c620, 0x2a5d: 0x4015c820, 0x2a5e: 0x4015ca20, 0x2a5f: 0x4015cc20,\n\t0x2a60: 0x4015ce20, 0x2a61: 0x4015d020, 0x2a62: 0x4015d220, 0x2a63: 0x4015d420,\n\t0x2a64: 0x4015d620, 0x2a65: 0x4015d820, 0x2a66: 0x4015da20, 0x2a67: 0x4015dc20,\n\t0x2a68: 0x4015de20, 0x2a69: 0x4015e020, 0x2a6a: 0x4015e220, 0x2a6b: 0x4015e420,\n\t0x2a6c: 0x4015e620, 0x2a6d: 0x4015e820, 0x2a6e: 0x4015ea20, 0x2a6f: 0x4015ec20,\n\t0x2a70: 0x4015ee20, 0x2a71: 0x4015f020, 0x2a72: 0x4015f220, 0x2a73: 0x4015f420,\n\t0x2a74: 0x4015f620, 0x2a75: 0x4015f820, 0x2a76: 0x4015fa20, 0x2a77: 0x4015fc20,\n\t0x2a78: 0x4015fe20, 0x2a79: 0x40160020, 0x2a7a: 0x40160220, 0x2a7b: 0x40160420,\n\t0x2a7c: 0x40160620, 0x2a7d: 0x40160820, 0x2a7e: 0x40160a20, 0x2a7f: 0x40160c20,\n\t// Block 0xaa, offset 0x2a80\n\t0x2a80: 0x40160e20, 0x2a81: 0x40161020, 0x2a82: 0x40161220, 0x2a83: 0x40161420,\n\t0x2a84: 0x40161620, 0x2a85: 0x40161820, 0x2a86: 0x40161a20, 0x2a87: 0x40161c20,\n\t0x2a88: 0x40161e20, 0x2a89: 0x40162020, 0x2a8a: 0x40162220, 0x2a8b: 0x40162420,\n\t0x2a8c: 0x40162620, 0x2a8d: 0x40162820, 0x2a8e: 0x40162a20, 0x2a8f: 0x40162c20,\n\t0x2a90: 0x40162e20, 0x2a91: 0x40163020, 0x2a92: 0x40163220, 0x2a93: 0x40163420,\n\t0x2a94: 0x40163620, 0x2a95: 0x40163820, 0x2a96: 0x40163a20, 0x2a97: 0x40163c20,\n\t0x2a98: 0x40163e20, 0x2a99: 0x40164020, 0x2a9a: 0x40164220, 0x2a9b: 0x40164420,\n\t0x2a9c: 0xe000014f, 0x2a9d: 0x40164620, 0x2a9e: 0x40164820, 0x2a9f: 0x40164a20,\n\t0x2aa0: 0x40164c20, 0x2aa1: 0x40164e20, 0x2aa2: 0x40165020, 0x2aa3: 0x40165220,\n\t0x2aa4: 0x40165420, 0x2aa5: 0x40165620, 0x2aa6: 0x40165820, 0x2aa7: 0x40165a20,\n\t0x2aa8: 0x40165c20, 0x2aa9: 0x40165e20, 0x2aaa: 0x40166020, 0x2aab: 0x40166220,\n\t0x2aac: 0x40166420, 0x2aad: 0x40166620, 0x2aae: 0x40166820, 0x2aaf: 0x40166a20,\n\t0x2ab0: 0x40166c20, 0x2ab1: 0x40166e20, 0x2ab2: 0x40167020, 0x2ab3: 0x40167220,\n\t0x2ab4: 0x40167420, 0x2ab5: 0x40167620, 0x2ab6: 0x40167820, 0x2ab7: 0x40167a20,\n\t0x2ab8: 0x40167c20, 0x2ab9: 0x40167e20, 0x2aba: 0x40168020, 0x2abb: 0x40168220,\n\t0x2abc: 0x40168420, 0x2abd: 0x40168620, 0x2abe: 0x40168820, 0x2abf: 0x40168a20,\n\t// Block 0xab, offset 0x2ac0\n\t0x2ac0: 0x40168c20, 0x2ac1: 0x40168e20, 0x2ac2: 0x40169020, 0x2ac3: 0x40169220,\n\t0x2ac4: 0x40169420, 0x2ac5: 0x40169620, 0x2ac6: 0x40169820, 0x2ac7: 0x40169a20,\n\t0x2ac8: 0x40169c20, 0x2ac9: 0x40169e20, 0x2aca: 0x4016a020, 0x2acb: 0x4016a220,\n\t0x2acc: 0x4016a420, 0x2acd: 0x4016a620, 0x2ace: 0x4016a820, 0x2acf: 0x4016aa20,\n\t0x2ad0: 0x4016ac20, 0x2ad1: 0x4016ae20, 0x2ad2: 0x4016b020, 0x2ad3: 0x4016b220,\n\t0x2ad4: 0x4016b420, 0x2ad5: 0x4016b620, 0x2ad6: 0x4016b820, 0x2ad7: 0x4016ba20,\n\t0x2ad8: 0x4016bc20, 0x2ad9: 0x4016be20, 0x2ada: 0x4016c020, 0x2adb: 0x4016c220,\n\t0x2adc: 0x4016c420, 0x2add: 0x4016c620, 0x2ade: 0x4016c820, 0x2adf: 0x4016ca20,\n\t0x2ae0: 0x4016cc20, 0x2ae1: 0x4016ce20, 0x2ae2: 0x4016d020, 0x2ae3: 0x4016d220,\n\t0x2ae4: 0x4016d420, 0x2ae5: 0x4016d620, 0x2ae6: 0x4016d820, 0x2ae7: 0x4016da20,\n\t0x2ae8: 0x4016dc20, 0x2ae9: 0x4016de20, 0x2aea: 0x4016e020, 0x2aeb: 0x4016e220,\n\t0x2aec: 0x4016e420, 0x2aed: 0x4016e620, 0x2aee: 0x4016e820, 0x2aef: 0x4016ea20,\n\t0x2af0: 0x4016ec20, 0x2af1: 0x4016ee20, 0x2af2: 0x4016f020, 0x2af3: 0x4016f220,\n\t0x2af4: 0x4016f420, 0x2af5: 0x4016f620, 0x2af6: 0x4016f820, 0x2af7: 0x4016fa20,\n\t0x2af8: 0x4016fc20, 0x2af9: 0x4016fe20, 0x2afa: 0x40170020, 0x2afb: 0x40170220,\n\t0x2afc: 0x40170420, 0x2afd: 0x40170620, 0x2afe: 0x40170820, 0x2aff: 0x40170a20,\n\t// Block 0xac, offset 0x2b00\n\t0x2b00: 0x40170c20, 0x2b01: 0x40170e20, 0x2b02: 0x40171020, 0x2b03: 0x40171220,\n\t0x2b04: 0x40171420, 0x2b05: 0x40171620, 0x2b06: 0x40171820, 0x2b07: 0x40171a20,\n\t0x2b08: 0x40171c20, 0x2b09: 0x40171e20, 0x2b0a: 0x40172020, 0x2b0b: 0x40172220,\n\t0x2b0c: 0x40172420,\n\t0x2b10: 0x40172620, 0x2b11: 0x40172820, 0x2b12: 0x40172a20, 0x2b13: 0x40172c20,\n\t0x2b14: 0x40172e20, 0x2b15: 0x40173020, 0x2b16: 0x40173220, 0x2b17: 0x40173420,\n\t0x2b18: 0x40173620, 0x2b19: 0x40173820,\n\t// Block 0xad, offset 0x2b40\n\t0x2b40: 0x00373888, 0x2b41: 0x00373a88, 0x2b42: 0x00373c88, 0x2b43: 0x00373e88,\n\t0x2b44: 0x00374088, 0x2b45: 0x00374288, 0x2b46: 0x00374488, 0x2b47: 0x00374688,\n\t0x2b48: 0x00374888, 0x2b49: 0x00374a88, 0x2b4a: 0x00374c88, 0x2b4b: 0x00374e88,\n\t0x2b4c: 0x00375088, 0x2b4d: 0x00375288, 0x2b4e: 0x00375488, 0x2b4f: 0x00375688,\n\t0x2b50: 0x00375888, 0x2b51: 0x00375a88, 0x2b52: 0x00375c88, 0x2b53: 0x00375e88,\n\t0x2b54: 0x00376088, 0x2b55: 0x00376288, 0x2b56: 0x00376488, 0x2b57: 0x00376688,\n\t0x2b58: 0x00376888, 0x2b59: 0x00376a88, 0x2b5a: 0x00376c88, 0x2b5b: 0x00376e88,\n\t0x2b5c: 0x00377088, 0x2b5d: 0x00377288, 0x2b5e: 0x00377488, 0x2b5f: 0x00377688,\n\t0x2b60: 0x00377888, 0x2b61: 0x00377a88, 0x2b62: 0x00377c88, 0x2b63: 0x00377e88,\n\t0x2b64: 0x00378088, 0x2b65: 0x00378288, 0x2b66: 0x00378488, 0x2b67: 0x00378688,\n\t0x2b68: 0x00378888, 0x2b69: 0x00378a88, 0x2b6a: 0x00378c88, 0x2b6b: 0x00378e88,\n\t0x2b6c: 0x00379088, 0x2b6d: 0x00379288, 0x2b6e: 0x00379488,\n\t0x2b70: 0x40373820, 0x2b71: 0x40373a20, 0x2b72: 0x40373c20, 0x2b73: 0x40373e20,\n\t0x2b74: 0x40374020, 0x2b75: 0x40374220, 0x2b76: 0x40374420, 0x2b77: 0x40374620,\n\t0x2b78: 0x40374820, 0x2b79: 0x40374a20, 0x2b7a: 0x40374c20, 0x2b7b: 0x40374e20,\n\t0x2b7c: 0x40375020, 0x2b7d: 0x40375220, 0x2b7e: 0x40375420, 0x2b7f: 0x40375620,\n\t// Block 0xae, offset 0x2b80\n\t0x2b80: 0x40375820, 0x2b81: 0x40375a20, 0x2b82: 0x40375c20, 0x2b83: 0x40375e20,\n\t0x2b84: 0x40376020, 0x2b85: 0x40376220, 0x2b86: 0x40376420, 0x2b87: 0x40376620,\n\t0x2b88: 0x40376820, 0x2b89: 0x40376a20, 0x2b8a: 0x40376c20, 0x2b8b: 0x40376e20,\n\t0x2b8c: 0x40377020, 0x2b8d: 0x40377220, 0x2b8e: 0x40377420, 0x2b8f: 0x40377620,\n\t0x2b90: 0x40377820, 0x2b91: 0x40377a20, 0x2b92: 0x40377c20, 0x2b93: 0x40377e20,\n\t0x2b94: 0x40378020, 0x2b95: 0x40378220, 0x2b96: 0x40378420, 0x2b97: 0x40378620,\n\t0x2b98: 0x40378820, 0x2b99: 0x40378a20, 0x2b9a: 0x40378c20, 0x2b9b: 0x40378e20,\n\t0x2b9c: 0x40379020, 0x2b9d: 0x40379220, 0x2b9e: 0x40379420,\n\t0x2ba0: 0x002e4088, 0x2ba1: 0x402e4020, 0x2ba2: 0x002e4288, 0x2ba3: 0x002f3688,\n\t0x2ba4: 0x002fbe88, 0x2ba5: 0x402be820, 0x2ba6: 0x40303e20, 0x2ba7: 0x002d8888,\n\t0x2ba8: 0x402d8820, 0x2ba9: 0x002e1288, 0x2baa: 0x402e1220, 0x2bab: 0x00316088,\n\t0x2bac: 0x40316020, 0x2bad: 0x002bf888, 0x2bae: 0x002e9088, 0x2baf: 0x002bf088,\n\t0x2bb0: 0x002c0288, 0x2bb1: 0x4030d420, 0x2bb2: 0x0030ec88, 0x2bb3: 0x4030ec20,\n\t0x2bb4: 0x4030d620, 0x2bb5: 0x002d8a88, 0x2bb6: 0x402d8a20, 0x2bb7: 0x402f5420,\n\t0x2bb8: 0x402cac20, 0x2bb9: 0x402fb420, 0x2bba: 0x402f0e20, 0x2bbb: 0x402cb620,\n\t0x2bbc: 0x002dcc95, 0x2bbd: 0x0030be9d, 0x2bbe: 0x002ffc88, 0x2bbf: 0x00315888,\n\t// Block 0xaf, offset 0x2bc0\n\t0x2bc0: 0x0032aa88, 0x2bc1: 0x4032aa20, 0x2bc2: 0x0032ac88, 0x2bc3: 0x4032ac20,\n\t0x2bc4: 0x0032ae88, 0x2bc5: 0x4032ae20, 0x2bc6: 0x0032b088, 0x2bc7: 0x4032b020,\n\t0x2bc8: 0x0032b288, 0x2bc9: 0x4032b220, 0x2bca: 0x0032b688, 0x2bcb: 0x4032b620,\n\t0x2bcc: 0x0032b888, 0x2bcd: 0x4032b820, 0x2bce: 0x0032ba88, 0x2bcf: 0x4032ba20,\n\t0x2bd0: 0x0032bc88, 0x2bd1: 0x4032bc20, 0x2bd2: 0x0032be88, 0x2bd3: 0x4032be20,\n\t0x2bd4: 0x0032c088, 0x2bd5: 0x4032c020, 0x2bd6: 0x0032c488, 0x2bd7: 0x4032c420,\n\t0x2bd8: 0x0032c688, 0x2bd9: 0x4032c620, 0x2bda: 0x0032c888, 0x2bdb: 0x4032c820,\n\t0x2bdc: 0x0032ce88, 0x2bdd: 0x4032ce20, 0x2bde: 0x0032d088, 0x2bdf: 0x4032d020,\n\t0x2be0: 0x0032d288, 0x2be1: 0x4032d220, 0x2be2: 0x0032d488, 0x2be3: 0x4032d420,\n\t0x2be4: 0x0032d688, 0x2be5: 0x4032d620, 0x2be6: 0x0032d888, 0x2be7: 0x4032d820,\n\t0x2be8: 0x0032da88, 0x2be9: 0x4032da20, 0x2bea: 0x0032dc88, 0x2beb: 0x4032dc20,\n\t0x2bec: 0x0032de88, 0x2bed: 0x4032de20, 0x2bee: 0x0032e088, 0x2bef: 0x4032e020,\n\t0x2bf0: 0x0032e288, 0x2bf1: 0x4032e220, 0x2bf2: 0x00331888, 0x2bf3: 0x40331820,\n\t0x2bf4: 0x00331a88, 0x2bf5: 0x40331a20, 0x2bf6: 0x0032b488, 0x2bf7: 0x4032b420,\n\t0x2bf8: 0x0032c288, 0x2bf9: 0x4032c220, 0x2bfa: 0x0032ca88, 0x2bfb: 0x4032ca20,\n\t0x2bfc: 0x0032cc88, 0x2bfd: 0x4032cc20, 0x2bfe: 0x0032e488, 0x2bff: 0x4032e420,\n\t// Block 0xb0, offset 0x2c00\n\t0x2c00: 0x0032e688, 0x2c01: 0x4032e620, 0x2c02: 0x0032ec88, 0x2c03: 0x4032ec20,\n\t0x2c04: 0x0032ee88, 0x2c05: 0x4032ee20, 0x2c06: 0x0032f088, 0x2c07: 0x4032f020,\n\t0x2c08: 0x0032f888, 0x2c09: 0x4032f820, 0x2c0a: 0x0032fc88, 0x2c0b: 0x4032fc20,\n\t0x2c0c: 0x0032fe88, 0x2c0d: 0x4032fe20, 0x2c0e: 0x00330088, 0x2c0f: 0x40330020,\n\t0x2c10: 0x00330288, 0x2c11: 0x40330220, 0x2c12: 0x00330488, 0x2c13: 0x40330420,\n\t0x2c14: 0x00330688, 0x2c15: 0x40330620, 0x2c16: 0x00330c88, 0x2c17: 0x40330c20,\n\t0x2c18: 0x00331088, 0x2c19: 0x40331020, 0x2c1a: 0x00331288, 0x2c1b: 0x40331220,\n\t0x2c1c: 0x00331488, 0x2c1d: 0x40331420, 0x2c1e: 0x00331c88, 0x2c1f: 0x40331c20,\n\t0x2c20: 0x00331e88, 0x2c21: 0x40331e20, 0x2c22: 0x00332088, 0x2c23: 0x40332020,\n\t0x2c24: 0xe00014b0, 0x2c25: 0x40173a20, 0x2c26: 0x40173c20, 0x2c27: 0x40173e20,\n\t0x2c28: 0x40174020, 0x2c29: 0x40174220, 0x2c2a: 0x40174420, 0x2c2b: 0x0032ea88,\n\t0x2c2c: 0x4032ea20, 0x2c2d: 0x00330a88, 0x2c2e: 0x40330a20, 0x2c2f: 0xae605f02,\n\t0x2c30: 0xae602a02, 0x2c31: 0xae602202, 0x2c32: 0x0032f688, 0x2c33: 0x4032f620,\n\t0x2c39: 0x4002f820, 0x2c3a: 0x4002d420, 0x2c3b: 0x4002d620,\n\t0x2c3c: 0x4003b620, 0x2c3d: 0x4028b420, 0x2c3e: 0x4002fa20, 0x2c3f: 0x4003b820,\n\t// Block 0xb1, offset 0x2c40\n\t0x2c40: 0x40379820, 0x2c41: 0x40379c20, 0x2c42: 0x4037a020, 0x2c43: 0x4037a420,\n\t0x2c44: 0x4037a820, 0x2c45: 0x4037ac20, 0x2c46: 0x4037b020, 0x2c47: 0x4037b820,\n\t0x2c48: 0x4037bc20, 0x2c49: 0x4037c020, 0x2c4a: 0x4037c420, 0x2c4b: 0x4037c820,\n\t0x2c4c: 0x4037cc20, 0x2c4d: 0x4037d420, 0x2c4e: 0x4037d820, 0x2c4f: 0x4037dc20,\n\t0x2c50: 0x4037e020, 0x2c51: 0x4037e420, 0x2c52: 0x4037e820, 0x2c53: 0x4037f020,\n\t0x2c54: 0x4037f420, 0x2c55: 0x4037f820, 0x2c56: 0x4037fc20, 0x2c57: 0x40380020,\n\t0x2c58: 0x40380420, 0x2c59: 0x40380820, 0x2c5a: 0x40380c20, 0x2c5b: 0x40381020,\n\t0x2c5c: 0x40381420, 0x2c5d: 0x40381820, 0x2c5e: 0x40381c20, 0x2c5f: 0x40382420,\n\t0x2c60: 0x40382820, 0x2c61: 0x4037b420, 0x2c62: 0x4037d020, 0x2c63: 0x4037ec20,\n\t0x2c64: 0x40382020, 0x2c65: 0x40382c20, 0x2c67: 0x40383220,\n\t0x2c6d: 0x40383c20,\n\t0x2c70: 0x403bbc20, 0x2c71: 0x403bbe20, 0x2c72: 0x403bc020, 0x2c73: 0x403bc220,\n\t0x2c74: 0x403bc420, 0x2c75: 0x403bc620, 0x2c76: 0x403bc820, 0x2c77: 0x403bca20,\n\t0x2c78: 0x403bcc20, 0x2c79: 0x403bce20, 0x2c7a: 0x403bd020, 0x2c7b: 0x403bd220,\n\t0x2c7c: 0x403bd620, 0x2c7d: 0x403bd820, 0x2c7e: 0x403bda20, 0x2c7f: 0x403bdc20,\n\t// Block 0xb2, offset 0x2c80\n\t0x2c80: 0x403bde20, 0x2c81: 0x403be020, 0x2c82: 0x403be220, 0x2c83: 0x403be420,\n\t0x2c84: 0x403be620, 0x2c85: 0x403be820, 0x2c86: 0x403bea20, 0x2c87: 0x403bec20,\n\t0x2c88: 0x403bee20, 0x2c89: 0x403bf020, 0x2c8a: 0x403bf220, 0x2c8b: 0x403bf420,\n\t0x2c8c: 0x403bf620, 0x2c8d: 0x403bf820, 0x2c8e: 0x403bfa20, 0x2c8f: 0x403bfc20,\n\t0x2c90: 0x403bfe20, 0x2c91: 0x403c0020, 0x2c92: 0x403c0220, 0x2c93: 0x403c0420,\n\t0x2c94: 0x403c0820, 0x2c95: 0x403c0a20, 0x2c96: 0x403c0c20, 0x2c97: 0x403c0e20,\n\t0x2c98: 0x403c1020, 0x2c99: 0x403c1220, 0x2c9a: 0x403c1420, 0x2c9b: 0x403c1620,\n\t0x2c9c: 0x403c1820, 0x2c9d: 0x403c1a20, 0x2c9e: 0x403c1c20, 0x2c9f: 0x403c1e20,\n\t0x2ca0: 0x403c2020, 0x2ca1: 0x403c2220, 0x2ca2: 0x403c2420, 0x2ca3: 0x403c2620,\n\t0x2ca4: 0x403c2820, 0x2ca5: 0x403c2a20, 0x2ca6: 0x403bd420, 0x2ca7: 0x403c0620,\n\t0x2caf: 0x403c2c20,\n\t0x2cb0: 0x4005e620,\n\t0x2cbf: 0xa0900000,\n\t// Block 0xb3, offset 0x2cc0\n\t0x2cc0: 0x403c4e20, 0x2cc1: 0x403c7820, 0x2cc2: 0x403c9a20, 0x2cc3: 0x403cac20,\n\t0x2cc4: 0x403cca20, 0x2cc5: 0x403d1620, 0x2cc6: 0x403d3820, 0x2cc7: 0x403d4a20,\n\t0x2cc8: 0x403d7620, 0x2cc9: 0x403d8820, 0x2cca: 0x403d9a20, 0x2ccb: 0x403dfc20,\n\t0x2ccc: 0x403e3a20, 0x2ccd: 0x403e5820, 0x2cce: 0x403e6a20, 0x2ccf: 0x403eae20,\n\t0x2cd0: 0x403ec020, 0x2cd1: 0x403ee020, 0x2cd2: 0x403f4020, 0x2cd3: 0x403e9620,\n\t0x2cd4: 0x403e9820, 0x2cd5: 0x403e9a20, 0x2cd6: 0x403e9c20,\n\t0x2ce0: 0x403f4820, 0x2ce1: 0x403f4a20, 0x2ce2: 0x403f4c20, 0x2ce3: 0x403f4e20,\n\t0x2ce4: 0x403f5020, 0x2ce5: 0x403f5220, 0x2ce6: 0x403f5420,\n\t0x2ce8: 0x403f5620, 0x2ce9: 0x403f5820, 0x2cea: 0x403f5a20, 0x2ceb: 0x403f5c20,\n\t0x2cec: 0x403f5e20, 0x2ced: 0x403f6020, 0x2cee: 0x403f6220,\n\t0x2cf0: 0x403f6420, 0x2cf1: 0x403f6620, 0x2cf2: 0x403f6820, 0x2cf3: 0x403f6a20,\n\t0x2cf4: 0x403f6c20, 0x2cf5: 0x403f6e20, 0x2cf6: 0x403f7020,\n\t0x2cf8: 0x403f7220, 0x2cf9: 0x403f7420, 0x2cfa: 0x403f7620, 0x2cfb: 0x403f7820,\n\t0x2cfc: 0x403f7a20, 0x2cfd: 0x403f7c20, 0x2cfe: 0x403f7e20,\n\t// Block 0xb4, offset 0x2d00\n\t0x2d00: 0x403f8020, 0x2d01: 0x403f8220, 0x2d02: 0x403f8420, 0x2d03: 0x403f8620,\n\t0x2d04: 0x403f8820, 0x2d05: 0x403f8a20, 0x2d06: 0x403f8c20,\n\t0x2d08: 0x403f8e20, 0x2d09: 0x403f9020, 0x2d0a: 0x403f9220, 0x2d0b: 0x403f9420,\n\t0x2d0c: 0x403f9620, 0x2d0d: 0x403f9820, 0x2d0e: 0x403f9a20,\n\t0x2d10: 0x403f9c20, 0x2d11: 0x403f9e20, 0x2d12: 0x403fa020, 0x2d13: 0x403fa220,\n\t0x2d14: 0x403fa420, 0x2d15: 0x403fa620, 0x2d16: 0x403fa820,\n\t0x2d18: 0x403faa20, 0x2d19: 0x403fac20, 0x2d1a: 0x403fae20, 0x2d1b: 0x403fb020,\n\t0x2d1c: 0x403fb220, 0x2d1d: 0x403fb420, 0x2d1e: 0x403fb620,\n\t0x2d20: 0x84e619a9, 0x2d21: 0x84e619ad, 0x2d22: 0x84e619b1, 0x2d23: 0x84e619c5,\n\t0x2d24: 0x84e619e5, 0x2d25: 0x84e619f2, 0x2d26: 0x84e61a28, 0x2d27: 0x84e61a42,\n\t0x2d28: 0x84e61a54, 0x2d29: 0x84e61a5d, 0x2d2a: 0x84e61a77, 0x2d2b: 0x84e61a87,\n\t0x2d2c: 0x84e61a94, 0x2d2d: 0x84e61a9d, 0x2d2e: 0x84e61aa6, 0x2d2f: 0x84e61ada,\n\t0x2d30: 0x84e61b01, 0x2d31: 0x84e61b0c, 0x2d32: 0x84e61b2e, 0x2d33: 0x84e61b33,\n\t0x2d34: 0x84e61b86, 0x2d35: 0xe00014d8, 0x2d36: 0x84e61991, 0x2d37: 0x84e619d9,\n\t0x2d38: 0x84e61a27, 0x2d39: 0x84e61ad1, 0x2d3a: 0x84e61b4f, 0x2d3b: 0x84e61b5c,\n\t0x2d3c: 0x84e61b61, 0x2d3d: 0x84e61b6b, 0x2d3e: 0x84e61b70, 0x2d3f: 0x84e61b7a,\n\t// Block 0xb5, offset 0x2d40\n\t0x2d40: 0x40052620, 0x2d41: 0x40052820, 0x2d42: 0x40047420, 0x2d43: 0x40047620,\n\t0x2d44: 0x40047820, 0x2d45: 0x40047a20, 0x2d46: 0x40052a20, 0x2d47: 0x40052c20,\n\t0x2d48: 0x40052e20, 0x2d49: 0x40047c20, 0x2d4a: 0x40047e20, 0x2d4b: 0x40053020,\n\t0x2d4c: 0x40048020, 0x2d4d: 0x40048220, 0x2d4e: 0x40053220, 0x2d4f: 0x40053420,\n\t0x2d50: 0x40053620, 0x2d51: 0x40053820, 0x2d52: 0x40053a20, 0x2d53: 0x40053c20,\n\t0x2d54: 0x40053e20, 0x2d55: 0x40054020, 0x2d56: 0x40054220, 0x2d57: 0x40023620,\n\t0x2d58: 0x4002e220, 0x2d59: 0x4003ba20, 0x2d5a: 0x40054420, 0x2d5b: 0x40054620,\n\t0x2d5c: 0x40048420, 0x2d5d: 0x40048620, 0x2d5e: 0x40054820, 0x2d5f: 0x40054a20,\n\t0x2d60: 0x40048820, 0x2d61: 0x40048a20, 0x2d62: 0x40048c20, 0x2d63: 0x40048e20,\n\t0x2d64: 0x40049020, 0x2d65: 0x40049220, 0x2d66: 0x40049420, 0x2d67: 0x40049620,\n\t0x2d68: 0x40049820, 0x2d69: 0x40049a20, 0x2d6a: 0x4003ae20, 0x2d6b: 0x4003b020,\n\t0x2d6c: 0x4003b220, 0x2d6d: 0x4003b420, 0x2d6e: 0x4002c820, 0x2d6f: 0x40367020,\n\t0x2d70: 0x4002fc20, 0x2d71: 0x40030820, 0x2d72: 0x40024420, 0x2d73: 0x40030a20,\n\t0x2d74: 0x40024220, 0x2d75: 0x40026820, 0x2d76: 0x4004fc20, 0x2d77: 0x4004fe20,\n\t0x2d78: 0x40050020, 0x2d79: 0x4004d020, 0x2d7a: 0x40023020, 0x2d7b: 0x40023220,\n\t// Block 0xb6, offset 0x2d80\n\t0x2d80: 0xe0002401, 0x2d81: 0xe0002416, 0x2d82: 0x029cb684, 0x2d83: 0x029cb484,\n\t0x2d84: 0xe0002404, 0x2d85: 0x029d7684, 0x2d86: 0xe0002407, 0x2d87: 0xe000240a,\n\t0x2d88: 0xe000240d, 0x2d89: 0x02a40484, 0x2d8a: 0xe0002410, 0x2d8b: 0xe0002413,\n\t0x2d8c: 0xe0002419, 0x2d8d: 0xe000241c, 0x2d8e: 0xe000241f, 0x2d8f: 0x02b84684,\n\t0x2d90: 0x02b84484, 0x2d91: 0xe0002422, 0x2d92: 0x02bbe684, 0x2d93: 0x02bcf484,\n\t0x2d94: 0x02bea284, 0x2d95: 0xe0002425, 0x2d96: 0x02bf8884, 0x2d97: 0xe0002428,\n\t0x2d98: 0x02c49884, 0x2d99: 0x02ca6a84, 0x2d9b: 0x02cbc284,\n\t0x2d9c: 0xe000242b, 0x2d9d: 0xe000242e, 0x2d9e: 0xe0002436, 0x2d9f: 0x02d79a84,\n\t0x2da0: 0x02d82284, 0x2da1: 0x02d86a84, 0x2da2: 0x02d87484, 0x2da3: 0x02e0d884,\n\t0x2da4: 0x02e45684, 0x2da5: 0xe0002439, 0x2da6: 0x029c5884, 0x2da7: 0xe000243c,\n\t0x2da8: 0x02e55a84, 0x2da9: 0xe000243f, 0x2daa: 0xe0002442, 0x2dab: 0xe0002445,\n\t0x2dac: 0xe0002448, 0x2dad: 0x02f27684, 0x2dae: 0xe000244b, 0x2daf: 0x02f9f284,\n\t0x2db0: 0x02fd3e84, 0x2db1: 0x02fea684, 0x2db2: 0x02fea484, 0x2db3: 0xe0002451,\n\t0x2db4: 0xe0002454, 0x2db5: 0xe000244e, 0x2db6: 0xe0002457, 0x2db7: 0xe000245a,\n\t0x2db8: 0x02ff1684, 0x2db9: 0x03000484, 0x2dba: 0x03010084, 0x2dbb: 0xe000245d,\n\t0x2dbc: 0xe0002460, 0x2dbd: 0xe0002463, 0x2dbe: 0x0304f284, 0x2dbf: 0xe0002466,\n\t// Block 0xb7, offset 0x2dc0\n\t0x2dc0: 0xe0002469, 0x2dc1: 0x030c9c84, 0x2dc2: 0x0310c884, 0x2dc3: 0x03130084,\n\t0x2dc4: 0x0312fe84, 0x2dc5: 0x03138284, 0x2dc6: 0x0313a484, 0x2dc7: 0xe000246c,\n\t0x2dc8: 0x03174084, 0x2dc9: 0x031a3a84, 0x2dca: 0xe000246f, 0x2dcb: 0x031ecc84,\n\t0x2dcc: 0x031f6c84, 0x2dcd: 0xe0002472, 0x2dce: 0xe0002475, 0x2dcf: 0xe0002478,\n\t0x2dd0: 0x03290a84, 0x2dd1: 0x032aee84, 0x2dd2: 0x032af084, 0x2dd3: 0x032afe84,\n\t0x2dd4: 0x032bd084, 0x2dd5: 0xe000247b, 0x2dd6: 0x032c3a84, 0x2dd7: 0xe000247e,\n\t0x2dd8: 0x032ea484, 0x2dd9: 0x032fcc84, 0x2dda: 0x0330ea84, 0x2ddb: 0x03319c84,\n\t0x2ddc: 0x0331bc84, 0x2ddd: 0x0331be84, 0x2dde: 0xe0002481, 0x2ddf: 0x0331c084,\n\t0x2de0: 0x0332c684, 0x2de1: 0xe0002484, 0x2de2: 0x0334d884, 0x2de3: 0xe0002487,\n\t0x2de4: 0xe000248a, 0x2de5: 0x0338f884, 0x2de6: 0x033c3e84, 0x2de7: 0xe000248d,\n\t0x2de8: 0x033d4c84, 0x2de9: 0x033d8884, 0x2dea: 0x033dfc84, 0x2deb: 0xe0002490,\n\t0x2dec: 0x033ea084, 0x2ded: 0xe0002493, 0x2dee: 0x033efe84, 0x2def: 0xe0002496,\n\t0x2df0: 0x033f3284, 0x2df1: 0xe0002499, 0x2df2: 0xe000249c, 0x2df3: 0x033f3e84,\n\t// Block 0xb8, offset 0x2e00\n\t0x2e00: 0x029c0084, 0x2e01: 0x029c5084, 0x2e02: 0x029c6c84, 0x2e03: 0x029c7e84,\n\t0x2e04: 0x029cb284, 0x2e05: 0x029d0a84, 0x2e06: 0x029d1884, 0x2e07: 0x029d4084,\n\t0x2e08: 0x029d7484, 0x2e09: 0x02a27e84, 0x2e0a: 0x02a2ca84, 0x2e0b: 0x02a2d684,\n\t0x2e0c: 0x02a30484, 0x2e0d: 0x02a32c84, 0x2e0e: 0x02a35684, 0x2e0f: 0x02a3c084,\n\t0x2e10: 0x02a3ea84, 0x2e11: 0x02a40084, 0x2e12: 0x02a53684, 0x2e13: 0x02a5f284,\n\t0x2e14: 0x02a62a84, 0x2e15: 0x02a63484, 0x2e16: 0x02a67084, 0x2e17: 0x02a68284,\n\t0x2e18: 0x02a6b884, 0x2e19: 0x02a6d284, 0x2e1a: 0x02a70484, 0x2e1b: 0x02a76c84,\n\t0x2e1c: 0x02a79084, 0x2e1d: 0x02a7c684, 0x2e1e: 0x02adae84, 0x2e1f: 0x02ae3e84,\n\t0x2e20: 0x02b1d684, 0x2e21: 0x02b20484, 0x2e22: 0x02b21484, 0x2e23: 0x02b22a84,\n\t0x2e24: 0x02b24e84, 0x2e25: 0x02b2e684, 0x2e26: 0x02b6a084, 0x2e27: 0x02b70084,\n\t0x2e28: 0x02b7f084, 0x2e29: 0x02b81e84, 0x2e2a: 0x02b84484, 0x2e2b: 0x02b87084,\n\t0x2e2c: 0x02b8dc84, 0x2e2d: 0x02b8e284, 0x2e2e: 0x02bbb684, 0x2e2f: 0x02bbca84,\n\t0x2e30: 0x02bbe284, 0x2e31: 0x02bbfc84, 0x2e32: 0x02bce484, 0x2e33: 0x02bcf484,\n\t0x2e34: 0x02bcfe84, 0x2e35: 0x02bde884, 0x2e36: 0x02bdfc84, 0x2e37: 0x02be1684,\n\t0x2e38: 0x02be2684, 0x2e39: 0x02bea084, 0x2e3a: 0x02bec284, 0x2e3b: 0x02bee684,\n\t0x2e3c: 0x02bf8684, 0x2e3d: 0x02c41084, 0x2e3e: 0x02c46c84, 0x2e3f: 0x02c49684,\n\t// Block 0xb9, offset 0x2e40\n\t0x2e40: 0x02ca5e84, 0x2e41: 0x02ca6884, 0x2e42: 0x02cb0e84, 0x2e43: 0x02cb2e84,\n\t0x2e44: 0x02cb4884, 0x2e45: 0x02cb7284, 0x2e46: 0x02cbc084, 0x2e47: 0x02cbca84,\n\t0x2e48: 0x02cde084, 0x2e49: 0x02ce1084, 0x2e4a: 0x02ce5084, 0x2e4b: 0x02d64084,\n\t0x2e4c: 0x02d6c484, 0x2e4d: 0x02d6f284, 0x2e4e: 0x02d76684, 0x2e4f: 0x02d79684,\n\t0x2e50: 0x02d7a884, 0x2e51: 0x02d7b684, 0x2e52: 0x02d81e84, 0x2e53: 0x02d82884,\n\t0x2e54: 0x02d86884, 0x2e55: 0x02e0d684, 0x2e56: 0x02e45484, 0x2e57: 0x02e46c84,\n\t0x2e58: 0x02e47684, 0x2e59: 0x02e47e84, 0x2e5a: 0x02e48e84, 0x2e5b: 0x02e4b284,\n\t0x2e5c: 0x02e4b684, 0x2e5d: 0x02e55884, 0x2e5e: 0x02e70884, 0x2e5f: 0x02e71284,\n\t0x2e60: 0x02e9b884, 0x2e61: 0x02e9cc84, 0x2e62: 0x02ea3084, 0x2e63: 0x02ea3e84,\n\t0x2e64: 0x02ea5084, 0x2e65: 0x02ea6084, 0x2e66: 0x02eb1684, 0x2e67: 0x02eb2484,\n\t0x2e68: 0x02ecec84, 0x2e69: 0x02ecfa84, 0x2e6a: 0x02ed5c84, 0x2e6b: 0x02ed7e84,\n\t0x2e6c: 0x02eddc84, 0x2e6d: 0x02efb684, 0x2e6e: 0x02efc484, 0x2e6f: 0x02efe684,\n\t0x2e70: 0x02f27484, 0x2e71: 0x02f37084, 0x2e72: 0x02f37c84, 0x2e73: 0x02f4e884,\n\t0x2e74: 0x02f59684, 0x2e75: 0x02f5f284, 0x2e76: 0x02f8e684, 0x2e77: 0x02f9f084,\n\t0x2e78: 0x02fe6c84, 0x2e79: 0x02fea284, 0x2e7a: 0x02ff1484, 0x2e7b: 0x02ff7a84,\n\t0x2e7c: 0x03000284, 0x2e7d: 0x03001884, 0x2e7e: 0x03002484, 0x2e7f: 0x03006684,\n\t// Block 0xba, offset 0x2e80\n\t0x2e80: 0x0300fe84, 0x2e81: 0x03011284, 0x2e82: 0x0303c684, 0x2e83: 0x0303d484,\n\t0x2e84: 0x0303e684, 0x2e85: 0x0303f884, 0x2e86: 0x03041884, 0x2e87: 0x03043684,\n\t0x2e88: 0x03043e84, 0x2e89: 0x0304dc84, 0x2e8a: 0x0304e484, 0x2e8b: 0x0304f084,\n\t0x2e8c: 0x030c9a84, 0x2e8d: 0x030cd684, 0x2e8e: 0x03108084, 0x2e8f: 0x03109884,\n\t0x2e90: 0x0310c684, 0x2e91: 0x0312fc84, 0x2e92: 0x03131684, 0x2e93: 0x0313a484,\n\t0x2e94: 0x03140084, 0x2e95: 0x03186e84, 0x2e96: 0x03188c84, 0x2e97: 0x0318aa84,\n\t0x2e98: 0x0318f084, 0x2e99: 0x03193a84, 0x2e9a: 0x031ac884, 0x2e9b: 0x031ae084,\n\t0x2e9c: 0x031b6684, 0x2e9d: 0x031d5684, 0x2e9e: 0x031d9484, 0x2e9f: 0x031f3684,\n\t0x2ea0: 0x031f6084, 0x2ea1: 0x031f6a84, 0x2ea2: 0x03212284, 0x2ea3: 0x03229284,\n\t0x2ea4: 0x03238c84, 0x2ea5: 0x03239884, 0x2ea6: 0x0323a284, 0x2ea7: 0x032aee84,\n\t0x2ea8: 0x032b0084, 0x2ea9: 0x032c3884, 0x2eaa: 0x032d6c84, 0x2eab: 0x032d7284,\n\t0x2eac: 0x032dd084, 0x2ead: 0x032ea284, 0x2eae: 0x032ebc84, 0x2eaf: 0x032ec484,\n\t0x2eb0: 0x032ed284, 0x2eb1: 0x032f9684, 0x2eb2: 0x032fda84, 0x2eb3: 0x032fe684,\n\t0x2eb4: 0x03300284, 0x2eb5: 0x03315084, 0x2eb6: 0x0331b684, 0x2eb7: 0x0331be84,\n\t0x2eb8: 0x03332c84, 0x2eb9: 0x03333284, 0x2eba: 0x03335884, 0x2ebb: 0x03355084,\n\t0x2ebc: 0x0335b084, 0x2ebd: 0x0335be84, 0x2ebe: 0x03364a84, 0x2ebf: 0x03365e84,\n\t// Block 0xbb, offset 0x2ec0\n\t0x2ec0: 0x03366484, 0x2ec1: 0x03367884, 0x2ec2: 0x0336b484, 0x2ec3: 0x0339ca84,\n\t0x2ec4: 0x033cea84, 0x2ec5: 0x033cfe84, 0x2ec6: 0x033d4a84, 0x2ec7: 0x033d7684,\n\t0x2ec8: 0x033d8684, 0x2ec9: 0x033d9a84, 0x2eca: 0x033da284, 0x2ecb: 0x033df284,\n\t0x2ecc: 0x033dfa84, 0x2ecd: 0x033e1c84, 0x2ece: 0x033e2684, 0x2ecf: 0x033e4084,\n\t0x2ed0: 0x033e7684, 0x2ed1: 0x033e9484, 0x2ed2: 0x033ea484, 0x2ed3: 0x033f1a84,\n\t0x2ed4: 0x033f3884, 0x2ed5: 0x033f4084,\n\t0x2ef0: 0x40273a20, 0x2ef1: 0x40273c20, 0x2ef2: 0x40273e20, 0x2ef3: 0x40274020,\n\t0x2ef4: 0x40274220, 0x2ef5: 0x40274420, 0x2ef6: 0x40274620, 0x2ef7: 0x40274820,\n\t0x2ef8: 0x40274a20, 0x2ef9: 0x40274c20, 0x2efa: 0x40274e20, 0x2efb: 0x40275020,\n\t// Block 0xbc, offset 0x2f00\n\t0x2f00: 0x00021283, 0x2f01: 0x40025c20, 0x2f02: 0x40030420, 0x2f03: 0x40051220,\n\t0x2f04: 0x40279a20, 0x2f05: 0x4027ca20, 0x2f06: 0xe0002206, 0x2f07: 0xe00001d3,\n\t0x2f08: 0x40049c20, 0x2f09: 0x40049e20, 0x2f0a: 0x4004a020, 0x2f0b: 0x4004a220,\n\t0x2f0c: 0x4004a420, 0x2f0d: 0x4004a620, 0x2f0e: 0x4004a820, 0x2f0f: 0x4004aa20,\n\t0x2f10: 0x4004ac20, 0x2f11: 0x4004ae20, 0x2f12: 0x40279c20, 0x2f13: 0x40279e20,\n\t0x2f14: 0x4004b020, 0x2f15: 0x4004b220, 0x2f16: 0x4004b420, 0x2f17: 0x4004b620,\n\t0x2f18: 0x4004b820, 0x2f19: 0x4004ba20, 0x2f1a: 0x4004bc20, 0x2f1b: 0x4004be20,\n\t0x2f1c: 0x40023820, 0x2f1d: 0x4003ea20, 0x2f1e: 0x4003ec20, 0x2f1f: 0x4003ee20,\n\t0x2f20: 0x4027a020, 0x2f21: 0xe0000267, 0x2f22: 0xe000037f, 0x2f23: 0xe0000459,\n\t0x2f24: 0xe000052e, 0x2f25: 0xe00005f8, 0x2f26: 0xe00006c3, 0x2f27: 0xe000076b,\n\t0x2f28: 0xe0000817, 0x2f29: 0xe00008bc, 0x2f2a: 0xada12202, 0x2f2b: 0xae412302,\n\t0x2f2c: 0xae812402, 0x2f2d: 0xade12502, 0x2f2e: 0xae012602, 0x2f2f: 0xae012702,\n\t0x2f30: 0x40023a20, 0x2f31: 0x4027ce20, 0x2f32: 0xe0000152, 0x2f33: 0x4027d020,\n\t0x2f34: 0xe0000155, 0x2f35: 0x4027d220, 0x2f36: 0x00279c84, 0x2f37: 0x4027a220,\n\t0x2f38: 0x02a68284, 0x2f39: 0x02a68884, 0x2f3a: 0x02a68a84, 0x2f3b: 0x4027cc20,\n\t0x2f3c: 0xe000231a, 0x2f3d: 0x40051420, 0x2f3e: 0x4027a420, 0x2f3f: 0x4027a620,\n\t// Block 0xbd, offset 0x2f40\n\t0x2f41: 0x0065768d, 0x2f42: 0x0065768e, 0x2f43: 0x0065788d,\n\t0x2f44: 0x0065788e, 0x2f45: 0x00657a8d, 0x2f46: 0x00657a8e, 0x2f47: 0x00657e8d,\n\t0x2f48: 0x00657e8e, 0x2f49: 0x0065808d, 0x2f4a: 0x0065808e, 0x2f4b: 0x0065828e,\n\t0x2f4c: 0xe000216a, 0x2f4d: 0x0065848e, 0x2f4e: 0xe0002188, 0x2f4f: 0x0065868e,\n\t0x2f50: 0xe00021b8, 0x2f51: 0x0065888e, 0x2f52: 0xe00021d6, 0x2f53: 0x00658a8e,\n\t0x2f54: 0xe00021e0, 0x2f55: 0x00658c8e, 0x2f56: 0xe00021ef, 0x2f57: 0x00658e8e,\n\t0x2f58: 0xe0002200, 0x2f59: 0x0065908e, 0x2f5a: 0xe000220f, 0x2f5b: 0x0065928e,\n\t0x2f5c: 0xe0002215, 0x2f5d: 0x0065948e, 0x2f5e: 0xe0002223, 0x2f5f: 0x0065968e,\n\t0x2f60: 0xe0002229, 0x2f61: 0x0065988e, 0x2f62: 0xe0002234, 0x2f63: 0x00659a8d,\n\t0x2f64: 0x00659a8e, 0x2f65: 0xe000223a, 0x2f66: 0x00659c8e, 0x2f67: 0xe0002240,\n\t0x2f68: 0x00659e8e, 0x2f69: 0xe000224a, 0x2f6a: 0x0065a08e, 0x2f6b: 0x0065a28e,\n\t0x2f6c: 0x0065a48e, 0x2f6d: 0x0065a68e, 0x2f6e: 0x0065a88e, 0x2f6f: 0x0065aa8e,\n\t0x2f70: 0xe0002258, 0x2f71: 0xe000225e, 0x2f72: 0x0065ac8e, 0x2f73: 0xe000227a,\n\t0x2f74: 0xe0002280, 0x2f75: 0x0065ae8e, 0x2f76: 0xe000229a, 0x2f77: 0xe00022a0,\n\t0x2f78: 0x0065b08e, 0x2f79: 0xe00022bd, 0x2f7a: 0xe00022c3, 0x2f7b: 0x0065b28e,\n\t0x2f7c: 0xe00022ec, 0x2f7d: 0xe00022f2, 0x2f7e: 0x0065b48e, 0x2f7f: 0x0065b68e,\n\t// Block 0xbe, offset 0x2f80\n\t0x2f80: 0x0065b88e, 0x2f81: 0x0065ba8e, 0x2f82: 0x0065bc8e, 0x2f83: 0x0065be8d,\n\t0x2f84: 0x0065be8e, 0x2f85: 0x0065c08d, 0x2f86: 0x0065c08e, 0x2f87: 0x0065c48d,\n\t0x2f88: 0x0065c48e, 0x2f89: 0x0065c68e, 0x2f8a: 0x0065c88e, 0x2f8b: 0x0065ca8e,\n\t0x2f8c: 0x0065cc8e, 0x2f8d: 0x0065ce8e, 0x2f8e: 0x0065d08d, 0x2f8f: 0x0065d08e,\n\t0x2f90: 0x0065d28e, 0x2f91: 0x0065d48e, 0x2f92: 0x0065d68e, 0x2f93: 0x0065d88e,\n\t0x2f94: 0xe000214c, 0x2f95: 0x0065828d, 0x2f96: 0x0065888d,\n\t0x2f99: 0xa0812802, 0x2f9a: 0xa0812902, 0x2f9b: 0x40063c20,\n\t0x2f9c: 0x40063e20, 0x2f9d: 0x4027d420, 0x2f9e: 0xe0000158, 0x2f9f: 0xf0001616,\n\t0x2fa0: 0x40023c20, 0x2fa1: 0x0065768f, 0x2fa2: 0x00657691, 0x2fa3: 0x0065788f,\n\t0x2fa4: 0x00657891, 0x2fa5: 0x00657a8f, 0x2fa6: 0x00657a91, 0x2fa7: 0x00657e8f,\n\t0x2fa8: 0x00657e91, 0x2fa9: 0x0065808f, 0x2faa: 0x00658091, 0x2fab: 0x00658291,\n\t0x2fac: 0xe000216d, 0x2fad: 0x00658491, 0x2fae: 0xe000218b, 0x2faf: 0x00658691,\n\t0x2fb0: 0xe00021bb, 0x2fb1: 0x00658891, 0x2fb2: 0xe00021d9, 0x2fb3: 0x00658a91,\n\t0x2fb4: 0xe00021e3, 0x2fb5: 0x00658c91, 0x2fb6: 0xe00021f2, 0x2fb7: 0x00658e91,\n\t0x2fb8: 0xe0002203, 0x2fb9: 0x00659091, 0x2fba: 0xe0002212, 0x2fbb: 0x00659291,\n\t0x2fbc: 0xe0002218, 0x2fbd: 0x00659491, 0x2fbe: 0xe0002226, 0x2fbf: 0x00659691,\n\t// Block 0xbf, offset 0x2fc0\n\t0x2fc0: 0xe000222c, 0x2fc1: 0x00659891, 0x2fc2: 0xe0002237, 0x2fc3: 0x00659a8f,\n\t0x2fc4: 0x00659a91, 0x2fc5: 0xe000223d, 0x2fc6: 0x00659c91, 0x2fc7: 0xe0002243,\n\t0x2fc8: 0x00659e91, 0x2fc9: 0xe000224d, 0x2fca: 0x0065a091, 0x2fcb: 0x0065a291,\n\t0x2fcc: 0x0065a491, 0x2fcd: 0x0065a691, 0x2fce: 0x0065a891, 0x2fcf: 0x0065aa91,\n\t0x2fd0: 0xe000225b, 0x2fd1: 0xe0002261, 0x2fd2: 0x0065ac91, 0x2fd3: 0xe000227d,\n\t0x2fd4: 0xe0002283, 0x2fd5: 0x0065ae91, 0x2fd6: 0xe000229d, 0x2fd7: 0xe00022a3,\n\t0x2fd8: 0x0065b091, 0x2fd9: 0xe00022c0, 0x2fda: 0xe00022c6, 0x2fdb: 0x0065b291,\n\t0x2fdc: 0xe00022ef, 0x2fdd: 0xe00022f5, 0x2fde: 0x0065b491, 0x2fdf: 0x0065b691,\n\t0x2fe0: 0x0065b891, 0x2fe1: 0x0065ba91, 0x2fe2: 0x0065bc91, 0x2fe3: 0x0065be8f,\n\t0x2fe4: 0x0065be91, 0x2fe5: 0x0065c08f, 0x2fe6: 0x0065c091, 0x2fe7: 0x0065c48f,\n\t0x2fe8: 0x0065c491, 0x2fe9: 0x0065c691, 0x2fea: 0x0065c891, 0x2feb: 0x0065ca91,\n\t0x2fec: 0x0065cc91, 0x2fed: 0x0065ce91, 0x2fee: 0x0065d08f, 0x2fef: 0x0065d091,\n\t0x2ff0: 0x0065d291, 0x2ff1: 0x0065d491, 0x2ff2: 0x0065d691, 0x2ff3: 0x0065d891,\n\t0x2ff4: 0xe000214f, 0x2ff5: 0x0065828f, 0x2ff6: 0x0065888f, 0x2ff7: 0xe000236a,\n\t0x2ff8: 0xe0002371, 0x2ff9: 0xe0002374, 0x2ffa: 0xe0002377, 0x2ffb: 0x40023e20,\n\t0x2ffc: 0x4027d620, 0x2ffd: 0x4027d820, 0x2ffe: 0xe000015b, 0x2fff: 0xf0001616,\n\t// Block 0xc0, offset 0x3000\n\t0x3005: 0x4065da20, 0x3006: 0x4065dc20, 0x3007: 0x4065de20,\n\t0x3008: 0x4065e020, 0x3009: 0x4065e420, 0x300a: 0x4065e620, 0x300b: 0x4065e820,\n\t0x300c: 0x4065ea20, 0x300d: 0x4065ec20, 0x300e: 0x4065ee20, 0x300f: 0x4065f420,\n\t0x3010: 0x4065f620, 0x3011: 0x4065f820, 0x3012: 0x4065fa20, 0x3013: 0x4065fe20,\n\t0x3014: 0x40660020, 0x3015: 0x40660220, 0x3016: 0x40660420, 0x3017: 0x40660620,\n\t0x3018: 0x40660820, 0x3019: 0x40660a20, 0x301a: 0x40661220, 0x301b: 0x40661420,\n\t0x301c: 0x40661820, 0x301d: 0x40661a20, 0x301e: 0x40661e20, 0x301f: 0x40662020,\n\t0x3020: 0x40662220, 0x3021: 0x40662420, 0x3022: 0x40662620, 0x3023: 0x40662820,\n\t0x3024: 0x40662a20, 0x3025: 0x40662e20, 0x3026: 0x40663620, 0x3027: 0x40663820,\n\t0x3028: 0x40663a20, 0x3029: 0x40663c20, 0x302a: 0x4065e220, 0x302b: 0x4065f020,\n\t0x302c: 0x4065fc20, 0x302d: 0x40663e20,\n\t0x3031: 0x0062ac84, 0x3032: 0x0062ae84, 0x3033: 0x00646884,\n\t0x3034: 0x0062b084, 0x3035: 0x00646c84, 0x3036: 0x00646e84, 0x3037: 0x0062b284,\n\t0x3038: 0x0062b484, 0x3039: 0x0062b684, 0x303a: 0x00647484, 0x303b: 0x00647684,\n\t0x303c: 0x00647884, 0x303d: 0x00647a84, 0x303e: 0x00647c84, 0x303f: 0x00647e84,\n\t// Block 0xc1, offset 0x3040\n\t0x3040: 0x0062e084, 0x3041: 0x0062b884, 0x3042: 0x0062ba84, 0x3043: 0x0062bc84,\n\t0x3044: 0x0062ee84, 0x3045: 0x0062be84, 0x3046: 0x0062c084, 0x3047: 0x0062c284,\n\t0x3048: 0x0062c484, 0x3049: 0x0062c684, 0x304a: 0x0062c884, 0x304b: 0x0062ca84,\n\t0x304c: 0x0062cc84, 0x304d: 0x0062ce84, 0x304e: 0x0062d084, 0x304f: 0x0063a884,\n\t0x3050: 0x0063aa84, 0x3051: 0x0063ac84, 0x3052: 0x0063ae84, 0x3053: 0x0063b084,\n\t0x3054: 0x0063b284, 0x3055: 0x0063b484, 0x3056: 0x0063b684, 0x3057: 0x0063b884,\n\t0x3058: 0x0063ba84, 0x3059: 0x0063bc84, 0x305a: 0x0063be84, 0x305b: 0x0063c084,\n\t0x305c: 0x0063c284, 0x305d: 0x0063c484, 0x305e: 0x0063c684, 0x305f: 0x0063c884,\n\t0x3060: 0x0063ca84, 0x3061: 0x0063cc84, 0x3062: 0x0063ce84, 0x3063: 0x0063d084,\n\t0x3064: 0x0063a684, 0x3065: 0x0062d484, 0x3066: 0x0062d684, 0x3067: 0x0064a284,\n\t0x3068: 0x0064a484, 0x3069: 0x0064ac84, 0x306a: 0x0064b084, 0x306b: 0x0064ba84,\n\t0x306c: 0x0064c284, 0x306d: 0x0064c684, 0x306e: 0x0062e484, 0x306f: 0x0064ce84,\n\t0x3070: 0x0064d284, 0x3071: 0x0062e684, 0x3072: 0x0062e884, 0x3073: 0x0062ec84,\n\t0x3074: 0x0062f084, 0x3075: 0x0062f284, 0x3076: 0x0062fa84, 0x3077: 0x0062fe84,\n\t0x3078: 0x00630284, 0x3079: 0x00630484, 0x307a: 0x00630684, 0x307b: 0x00630884,\n\t0x307c: 0x00630a84, 0x307d: 0x00631084, 0x307e: 0x00631884, 0x307f: 0x00632c84,\n\t// Block 0xc2, offset 0x3080\n\t0x3080: 0x00633a84, 0x3081: 0x00634484, 0x3082: 0x0064f684, 0x3083: 0x0064f884,\n\t0x3084: 0x00635a84, 0x3085: 0x00635c84, 0x3086: 0x00635e84, 0x3087: 0x0063ee84,\n\t0x3088: 0x0063f084, 0x3089: 0x0063f684, 0x308a: 0x00640884, 0x308b: 0x00640a84,\n\t0x308c: 0x00640e84, 0x308d: 0x00642284, 0x308e: 0x00642884,\n\t0x3090: 0x4027a820, 0x3091: 0x4027aa20, 0x3092: 0x029c0094, 0x3093: 0x029d1894,\n\t0x3094: 0x029c1294, 0x3095: 0x02adb694, 0x3096: 0x029c1494, 0x3097: 0x029c5a94,\n\t0x3098: 0x029c1694, 0x3099: 0x02ea6494, 0x309a: 0x029cb294, 0x309b: 0x029c3294,\n\t0x309c: 0x029c0294, 0x309d: 0x02b25294, 0x309e: 0x02ae6094, 0x309f: 0x029d7494,\n\t0x30a0: 0xe000237a, 0x30a1: 0xe0002383, 0x30a2: 0xe0002380, 0x30a3: 0xe000237d,\n\t0x30a4: 0x40661c20, 0x30a5: 0xe000238c, 0x30a6: 0x40661620, 0x30a7: 0xe0002389,\n\t0x30a8: 0xe000239e, 0x30a9: 0xe0002386, 0x30aa: 0xe0002395, 0x30ab: 0xe000239b,\n\t0x30ac: 0x40663420, 0x30ad: 0x4065f220, 0x30ae: 0xe000238f, 0x30af: 0xe0002392,\n\t0x30b0: 0x40663020, 0x30b1: 0x40663220, 0x30b2: 0x40662c20, 0x30b3: 0xe0002398,\n\t0x30b4: 0x0065dc99, 0x30b5: 0x0065e699, 0x30b6: 0x0065ee99, 0x30b7: 0x0065f499,\n\t0x30b8: 0x40660c20, 0x30b9: 0x40660e20, 0x30ba: 0x40661020,\n\t// Block 0xc3, offset 0x30c0\n\t0x30c0: 0x40275220, 0x30c1: 0x40275420, 0x30c2: 0x40275620, 0x30c3: 0x40275820,\n\t0x30c4: 0x40275a20, 0x30c5: 0x40275c20, 0x30c6: 0x40275e20, 0x30c7: 0x40276020,\n\t0x30c8: 0x40276220, 0x30c9: 0x40276420, 0x30ca: 0x40276620, 0x30cb: 0x40276820,\n\t0x30cc: 0x40276a20, 0x30cd: 0x40276c20, 0x30ce: 0x40276e20, 0x30cf: 0x40277020,\n\t0x30d0: 0x40277220, 0x30d1: 0x40277420, 0x30d2: 0x40277620, 0x30d3: 0x40277820,\n\t0x30d4: 0x40277a20, 0x30d5: 0x40277c20, 0x30d6: 0x40277e20, 0x30d7: 0x40278020,\n\t0x30d8: 0x40278220, 0x30d9: 0x40278420, 0x30da: 0x40278620, 0x30db: 0x40278820,\n\t0x30dc: 0x40278a20, 0x30dd: 0x40278c20, 0x30de: 0x40278e20, 0x30df: 0x40279020,\n\t0x30e0: 0x40279220, 0x30e1: 0x40279420, 0x30e2: 0x40279620, 0x30e3: 0x40279820,\n\t0x30f0: 0x0065868f, 0x30f1: 0x00658e8f, 0x30f2: 0x0065908f, 0x30f3: 0x00659e8f,\n\t0x30f4: 0x0065a48f, 0x30f5: 0x0065aa8f, 0x30f6: 0x0065ac8f, 0x30f7: 0x0065ae8f,\n\t0x30f8: 0x0065b08f, 0x30f9: 0x0065b28f, 0x30fa: 0x0065b88f, 0x30fb: 0x0065c68f,\n\t0x30fc: 0x0065c88f, 0x30fd: 0x0065ca8f, 0x30fe: 0x0065cc8f, 0x30ff: 0x0065ce8f,\n\t// Block 0xc4, offset 0x3100\n\t0x3100: 0xf0000404, 0x3101: 0xf0000404, 0x3102: 0xf0000404, 0x3103: 0xf0000404,\n\t0x3104: 0xf0000404, 0x3105: 0xf0000404, 0x3106: 0xf0000404, 0x3107: 0xf0000404,\n\t0x3108: 0xf0000404, 0x3109: 0xf0000404, 0x310a: 0xf0000404, 0x310b: 0xf0000404,\n\t0x310c: 0xf0000404, 0x310d: 0xf0000404, 0x310e: 0xe000004c, 0x310f: 0xe0000051,\n\t0x3110: 0xe0000056, 0x3111: 0xe000005b, 0x3112: 0xe0000060, 0x3113: 0xe0000065,\n\t0x3114: 0xe000006a, 0x3115: 0xe000006f, 0x3116: 0xe0000083, 0x3117: 0xe000008d,\n\t0x3118: 0xe0000092, 0x3119: 0xe0000097, 0x311a: 0xe000009c, 0x311b: 0xe00000a1,\n\t0x311c: 0xe0000088, 0x311d: 0xe0000074, 0x311e: 0xe000007c,\n\t0x3120: 0xf0000404, 0x3121: 0xf0000404, 0x3122: 0xf0000404, 0x3123: 0xf0000404,\n\t0x3124: 0xf0000404, 0x3125: 0xf0000404, 0x3126: 0xf0000404, 0x3127: 0xf0000404,\n\t0x3128: 0xf0000404, 0x3129: 0xf0000404, 0x312a: 0xf0000404, 0x312b: 0xf0000404,\n\t0x312c: 0xf0000404, 0x312d: 0xf0000404, 0x312e: 0xf0000404, 0x312f: 0xf0000404,\n\t0x3130: 0xf0000404, 0x3131: 0xf0000404, 0x3132: 0xf0000404, 0x3133: 0xf0000404,\n\t0x3134: 0xf0000404, 0x3135: 0xf0000404, 0x3136: 0xf0000404, 0x3137: 0xf0000404,\n\t0x3138: 0xf0000404, 0x3139: 0xf0000404, 0x313a: 0xf0000404, 0x313b: 0xf0000404,\n\t0x313c: 0xf0000404, 0x313d: 0xf0000404, 0x313e: 0xf0000404, 0x313f: 0xf0000404,\n\t// Block 0xc5, offset 0x3140\n\t0x3140: 0xf0000404, 0x3141: 0xf0000404, 0x3142: 0xf0000404, 0x3143: 0xf0000404,\n\t0x3144: 0x02aa9e86, 0x3145: 0x02bcf886, 0x3146: 0x02cb0e86, 0x3147: 0x02f71e86,\n\t0x3148: 0xe00002e3, 0x3149: 0xe00003d8, 0x314a: 0xe00004b3, 0x314b: 0xe000057d,\n\t0x314c: 0xe0000648, 0x314d: 0xe00006f0, 0x314e: 0xe000079c, 0x314f: 0xe0000841,\n\t0x3150: 0xe0000ec0, 0x3151: 0xf0000606, 0x3152: 0xf0000606, 0x3153: 0xf0000606,\n\t0x3154: 0xf0000606, 0x3155: 0xf0000606, 0x3156: 0xf0000606, 0x3157: 0xf0000606,\n\t0x3158: 0xf0000606, 0x3159: 0xf0000606, 0x315a: 0xf0000606, 0x315b: 0xf0000606,\n\t0x315c: 0xf0000606, 0x315d: 0xf0000606, 0x315e: 0xf0000606, 0x315f: 0xf0000606,\n\t0x3160: 0x0062ac86, 0x3161: 0x0062b086, 0x3162: 0x0062b286, 0x3163: 0x0062b686,\n\t0x3164: 0x0062b886, 0x3165: 0x0062ba86, 0x3166: 0x0062be86, 0x3167: 0x0062c286,\n\t0x3168: 0x0062c486, 0x3169: 0x0062c886, 0x316a: 0x0062ca86, 0x316b: 0x0062cc86,\n\t0x316c: 0x0062ce86, 0x316d: 0x0062d086, 0x316e: 0xf0000606, 0x316f: 0xf0000606,\n\t0x3170: 0xf0000606, 0x3171: 0xf0000606, 0x3172: 0xf0000606, 0x3173: 0xf0000606,\n\t0x3174: 0xf0000606, 0x3175: 0xf0000606, 0x3176: 0xf0000606, 0x3177: 0xf0000606,\n\t0x3178: 0xf0000606, 0x3179: 0xf0000606, 0x317a: 0xf0000606, 0x317b: 0xf0000606,\n\t0x317c: 0xe0002127, 0x317d: 0xe0002122, 0x317e: 0xf0000606, 0x317f: 0x4027ac20,\n\t// Block 0xc6, offset 0x3180\n\t0x3180: 0x029c0086, 0x3181: 0x029d1886, 0x3182: 0x029c1286, 0x3183: 0x02adb686,\n\t0x3184: 0x029d2886, 0x3185: 0x02a2da86, 0x3186: 0x029c0686, 0x3187: 0x02a2d686,\n\t0x3188: 0x029cba86, 0x3189: 0x02a68286, 0x318a: 0x02ce1086, 0x318b: 0x02e0d686,\n\t0x318c: 0x02d86886, 0x318d: 0x02ce5086, 0x318e: 0x0323a286, 0x318f: 0x02ae3e86,\n\t0x3190: 0x02cbca86, 0x3191: 0x02d05486, 0x3192: 0x02ce1286, 0x3193: 0x02f27c86,\n\t0x3194: 0x02a81a86, 0x3195: 0x02e4f286, 0x3196: 0x03194286, 0x3197: 0x02f2ba86,\n\t0x3198: 0x02a56886, 0x3199: 0x02f3b086, 0x319a: 0x02ea6e86, 0x319b: 0x02b2e686,\n\t0x319c: 0x0320d286, 0x319d: 0x02a25486, 0x319e: 0x02a6e086, 0x319f: 0x02d9d086,\n\t0x31a0: 0x03300a86, 0x31a1: 0x029e2286, 0x31a2: 0x02a33286, 0x31a3: 0x02d6c686,\n\t0x31a4: 0x029c1486, 0x31a5: 0x029c5a86, 0x31a6: 0x029c1686, 0x31a7: 0x02bbcc86,\n\t0x31a8: 0x02a7e686, 0x31a9: 0x02a67686, 0x31aa: 0x02b72e86, 0x31ab: 0x02b6cc86,\n\t0x31ac: 0x02edc686, 0x31ad: 0x029e0286, 0x31ae: 0x03198e86, 0x31af: 0x02a6a886,\n\t0x31b0: 0x02b23886, 0x31b1: 0xf0000606, 0x31b2: 0xf0000606, 0x31b3: 0xf0000606,\n\t0x31b4: 0xf0000606, 0x31b5: 0xf0000606, 0x31b6: 0xf0000606, 0x31b7: 0xf0000606,\n\t0x31b8: 0xf0000606, 0x31b9: 0xf0000606, 0x31ba: 0xf0000606, 0x31bb: 0xf0000606,\n\t0x31bc: 0xf0000606, 0x31bd: 0xf0000606, 0x31be: 0xf0000606, 0x31bf: 0xf0000606,\n\t// Block 0xc7, offset 0x31c0\n\t0x31c0: 0xf0001f04, 0x31c1: 0xf0001f04, 0x31c2: 0xf0001f04, 0x31c3: 0xf0001f04,\n\t0x31c4: 0xf0001f04, 0x31c5: 0xf0001f04, 0x31c6: 0xf0001f04, 0x31c7: 0xf0001f04,\n\t0x31c8: 0xf0001f04, 0x31c9: 0xf0000404, 0x31ca: 0xf0000404, 0x31cb: 0xf0000404,\n\t0x31cc: 0xf0001c1d, 0x31cd: 0xe0000b85, 0x31ce: 0xf0001d1c, 0x31cf: 0xe0000d14,\n\t0x31d0: 0x00657693, 0x31d1: 0x00657893, 0x31d2: 0x00657a93, 0x31d3: 0x00657e93,\n\t0x31d4: 0x00658093, 0x31d5: 0x00658293, 0x31d6: 0x00658493, 0x31d7: 0x00658693,\n\t0x31d8: 0x00658893, 0x31d9: 0x00658a93, 0x31da: 0x00658c93, 0x31db: 0x00658e93,\n\t0x31dc: 0x00659093, 0x31dd: 0x00659293, 0x31de: 0x00659493, 0x31df: 0x00659693,\n\t0x31e0: 0x00659893, 0x31e1: 0x00659a93, 0x31e2: 0x00659c93, 0x31e3: 0x00659e93,\n\t0x31e4: 0x0065a093, 0x31e5: 0x0065a293, 0x31e6: 0x0065a493, 0x31e7: 0x0065a693,\n\t0x31e8: 0x0065a893, 0x31e9: 0x0065aa93, 0x31ea: 0x0065ac93, 0x31eb: 0x0065ae93,\n\t0x31ec: 0x0065b093, 0x31ed: 0x0065b293, 0x31ee: 0x0065b493, 0x31ef: 0x0065b693,\n\t0x31f0: 0x0065b893, 0x31f1: 0x0065ba93, 0x31f2: 0x0065bc93, 0x31f3: 0x0065be93,\n\t0x31f4: 0x0065c093, 0x31f5: 0x0065c493, 0x31f6: 0x0065c693, 0x31f7: 0x0065c893,\n\t0x31f8: 0x0065ca93, 0x31f9: 0x0065cc93, 0x31fa: 0x0065ce93, 0x31fb: 0x0065d093,\n\t0x31fc: 0x0065d293, 0x31fd: 0x0065d493, 0x31fe: 0x0065d693,\n\t// Block 0xc8, offset 0x3200\n\t0x3200: 0xe0002131, 0x3201: 0xe0002137, 0x3202: 0xe000213c, 0x3203: 0xe000212d,\n\t0x3204: 0xe0002142, 0x3205: 0xe0002148, 0x3206: 0xe0002152, 0x3207: 0xe000215b,\n\t0x3208: 0xe0002156, 0x3209: 0xe0002166, 0x320a: 0xe0002162, 0x320b: 0xe0002170,\n\t0x320c: 0xe0002174, 0x320d: 0xe0002179, 0x320e: 0xe000217e, 0x320f: 0xe0002183,\n\t0x3210: 0xe000218e, 0x3211: 0xe0002193, 0x3212: 0xe0002198, 0x3213: 0xe000219d,\n\t0x3214: 0xf0001c1c, 0x3215: 0xe00021a4, 0x3216: 0xe00021ab, 0x3217: 0xe00021b2,\n\t0x3218: 0xe00021be, 0x3219: 0xe00021c3, 0x321a: 0xe00021ca, 0x321b: 0xe00021d1,\n\t0x321c: 0xe00021dc, 0x321d: 0xe00021eb, 0x321e: 0xe00021e6, 0x321f: 0xe00021f5,\n\t0x3220: 0xe00021fa, 0x3221: 0xe0002209, 0x3222: 0xe000221b, 0x3223: 0xe000221f,\n\t0x3224: 0xe000222f, 0x3225: 0xe0002246, 0x3226: 0xe0002250, 0x3227: 0xf0001c1c,\n\t0x3228: 0xf0001c1c, 0x3229: 0xe0002254, 0x322a: 0xe0002276, 0x322b: 0xe0002264,\n\t0x322c: 0xe000226b, 0x322d: 0xe0002270, 0x322e: 0xe0002286, 0x322f: 0xe000228d,\n\t0x3230: 0xe0002292, 0x3231: 0xe0002296, 0x3232: 0xe00022a6, 0x3233: 0xe00022ad,\n\t0x3234: 0xe00022b2, 0x3235: 0xe00022b9, 0x3236: 0xe00022d4, 0x3237: 0xe00022da,\n\t0x3238: 0xe00022de, 0x3239: 0xe00022e3, 0x323a: 0xe00022e7, 0x323b: 0xe00022c9,\n\t0x323c: 0xe00022cf, 0x323d: 0xe0002300, 0x323e: 0xe0002306, 0x323f: 0xf0001c1c,\n\t// Block 0xc9, offset 0x3240\n\t0x3240: 0xe000230b, 0x3241: 0xe00022f8, 0x3242: 0xe00022fc, 0x3243: 0xe0002311,\n\t0x3244: 0xe0002316, 0x3245: 0xe000231d, 0x3246: 0xe0002321, 0x3247: 0xe0002325,\n\t0x3248: 0xe000232b, 0x3249: 0xf0001c1c, 0x324a: 0xe0002330, 0x324b: 0xe000233c,\n\t0x324c: 0xe0002340, 0x324d: 0xe0002337, 0x324e: 0xe0002346, 0x324f: 0xe000234b,\n\t0x3250: 0xe000234f, 0x3251: 0xe0002353, 0x3252: 0xf0001c1c, 0x3253: 0xe000235e,\n\t0x3254: 0xe0002358, 0x3255: 0xf0001c1c, 0x3256: 0xe0002363, 0x3257: 0xe000236d,\n\t0x3258: 0xf0001f04, 0x3259: 0xf0001f04, 0x325a: 0xf0001f04, 0x325b: 0xf0001f04,\n\t0x325c: 0xf0001f04, 0x325d: 0xf0001f04, 0x325e: 0xf0001f04, 0x325f: 0xf0001f04,\n\t0x3260: 0xf0001f04, 0x3261: 0xf0001f04, 0x3262: 0xf0000404, 0x3263: 0xf0000404,\n\t0x3264: 0xf0000404, 0x3265: 0xf0000404, 0x3266: 0xf0000404, 0x3267: 0xf0000404,\n\t0x3268: 0xf0000404, 0x3269: 0xf0000404, 0x326a: 0xf0000404, 0x326b: 0xf0000404,\n\t0x326c: 0xf0000404, 0x326d: 0xf0000404, 0x326e: 0xf0000404, 0x326f: 0xf0000404,\n\t0x3270: 0xf0000404, 0x3271: 0xe0000c1e, 0x3272: 0xf0001c1c, 0x3273: 0xf0001d1d,\n\t0x3274: 0xe0000a31, 0x3275: 0xf0001d1c, 0x3276: 0xf0001c1c, 0x3277: 0xf0001c1c,\n\t0x3278: 0xe0000ac2, 0x3279: 0xe0000ac6, 0x327a: 0xf0001d1d, 0x327b: 0xf0001c1c,\n\t0x327c: 0xf0001c1c, 0x327d: 0xf0001c1c, 0x327e: 0xf0001c1c, 0x327f: 0xe0002431,\n\t// Block 0xca, offset 0x3280\n\t0x3280: 0xf0001d1c, 0x3281: 0xf0001d1c, 0x3282: 0xf0001d1c, 0x3283: 0xf0001d1c,\n\t0x3284: 0xf0001d1c, 0x3285: 0xf0001d1d, 0x3286: 0xf0001d1d, 0x3287: 0xf0001d1d,\n\t0x3288: 0xe0000a6b, 0x3289: 0xe0000cb4, 0x328a: 0xf0001d1c, 0x328b: 0xf0001d1c,\n\t0x328c: 0xf0001d1c, 0x328d: 0xf0001c1c, 0x328e: 0xf0001c1c, 0x328f: 0xf0001c1c,\n\t0x3290: 0xf0001c1d, 0x3291: 0xe0000cb9, 0x3292: 0xe0000d36, 0x3293: 0xe0000be3,\n\t0x3294: 0xe0000fc5, 0x3295: 0xf0001c1c, 0x3296: 0xf0001c1c, 0x3297: 0xf0001c1c,\n\t0x3298: 0xf0001c1c, 0x3299: 0xf0001c1c, 0x329a: 0xf0001c1c, 0x329b: 0xf0001c1c,\n\t0x329c: 0xf0001c1c, 0x329d: 0xf0001c1c, 0x329e: 0xf0001c1c, 0x329f: 0xe0000d3e,\n\t0x32a0: 0xe0000a72, 0x32a1: 0xf0001c1c, 0x32a2: 0xe0000cbd, 0x32a3: 0xe0000d42,\n\t0x32a4: 0xe0000a76, 0x32a5: 0xf0001c1c, 0x32a6: 0xe0000cc1, 0x32a7: 0xe0000d2d,\n\t0x32a8: 0xe0000d31, 0x32a9: 0xf0001c1d, 0x32aa: 0xe0000cc5, 0x32ab: 0xe0000d4a,\n\t0x32ac: 0xe0000be7, 0x32ad: 0xe0000f0b, 0x32ae: 0xe0000f0f, 0x32af: 0xe0000f15,\n\t0x32b0: 0xf0001c1c, 0x32b1: 0xf0001c1c, 0x32b2: 0xf0001c1c, 0x32b3: 0xf0001c1c,\n\t0x32b4: 0xf0001d1c, 0x32b5: 0xf0001d1c, 0x32b6: 0xf0001d1c, 0x32b7: 0xf0001d1c,\n\t0x32b8: 0xf0001d1c, 0x32b9: 0xf0001d1d, 0x32ba: 0xf0001d1c, 0x32bb: 0xf0001d1c,\n\t0x32bc: 0xf0001d1c, 0x32bd: 0xf0001d1c, 0x32be: 0xf0001d1c, 0x32bf: 0xf0001d1d,\n\t// Block 0xcb, offset 0x32c0\n\t0x32c0: 0xf0001d1c, 0x32c1: 0xf0001d1d, 0x32c2: 0xe00009b7, 0x32c3: 0xf0001c1d,\n\t0x32c4: 0xf0001c1c, 0x32c5: 0xf0001c1c, 0x32c6: 0xe0000a66, 0x32c7: 0xe0000a7a,\n\t0x32c8: 0xf0001d1c, 0x32c9: 0xf0001c1d, 0x32ca: 0xf0001c1c, 0x32cb: 0xf0001d1d,\n\t0x32cc: 0xf0001c1c, 0x32cd: 0xf0001d1d, 0x32ce: 0xf0001d1d, 0x32cf: 0xf0001c1c,\n\t0x32d0: 0xf0001c1c, 0x32d1: 0xf0001c1c, 0x32d2: 0xe0000d0d, 0x32d3: 0xf0001c1c,\n\t0x32d4: 0xf0001c1c, 0x32d5: 0xe0000d3a, 0x32d6: 0xe0000d46, 0x32d7: 0xf0001d1d,\n\t0x32d8: 0xe0000eb0, 0x32d9: 0xe0000eb8, 0x32da: 0xf0001d1d, 0x32db: 0xf0001c1c,\n\t0x32dc: 0xf0001c1d, 0x32dd: 0xf0001c1d, 0x32de: 0xe00010b2, 0x32df: 0xe00009c8,\n\t0x32e0: 0xf0001f04, 0x32e1: 0xf0001f04, 0x32e2: 0xf0001f04, 0x32e3: 0xf0001f04,\n\t0x32e4: 0xf0001f04, 0x32e5: 0xf0001f04, 0x32e6: 0xf0001f04, 0x32e7: 0xf0001f04,\n\t0x32e8: 0xf0001f04, 0x32e9: 0xf0000404, 0x32ea: 0xf0000404, 0x32eb: 0xf0000404,\n\t0x32ec: 0xf0000404, 0x32ed: 0xf0000404, 0x32ee: 0xf0000404, 0x32ef: 0xf0000404,\n\t0x32f0: 0xf0000404, 0x32f1: 0xf0000404, 0x32f2: 0xf0000404, 0x32f3: 0xf0000404,\n\t0x32f4: 0xf0000404, 0x32f5: 0xf0000404, 0x32f6: 0xf0000404, 0x32f7: 0xf0000404,\n\t0x32f8: 0xf0000404, 0x32f9: 0xf0000404, 0x32fa: 0xf0000404, 0x32fb: 0xf0000404,\n\t0x32fc: 0xf0000404, 0x32fd: 0xf0000404, 0x32fe: 0xf0000404, 0x32ff: 0xe0000bdf,\n\t// Block 0xcc, offset 0x3300\n\t0x3300: 0x40196220, 0x3301: 0x40196420, 0x3302: 0x40196620, 0x3303: 0x40196820,\n\t0x3304: 0x40196a20, 0x3305: 0x40196c20, 0x3306: 0x40196e20, 0x3307: 0x40197020,\n\t0x3308: 0x40197220, 0x3309: 0x40197420, 0x330a: 0x40197620, 0x330b: 0x40197820,\n\t0x330c: 0x40197a20, 0x330d: 0x40197c20, 0x330e: 0x40197e20, 0x330f: 0x40198020,\n\t0x3310: 0x40198220, 0x3311: 0x40198420, 0x3312: 0x40198620, 0x3313: 0x40198820,\n\t0x3314: 0x40198a20, 0x3315: 0x40198c20, 0x3316: 0x40198e20, 0x3317: 0x40199020,\n\t0x3318: 0x40199220, 0x3319: 0x40199420, 0x331a: 0x40199620, 0x331b: 0x40199820,\n\t0x331c: 0x40199a20, 0x331d: 0x40199c20, 0x331e: 0x40199e20, 0x331f: 0x4019a020,\n\t0x3320: 0x4019a220, 0x3321: 0x4019a420, 0x3322: 0x4019a620, 0x3323: 0x4019a820,\n\t0x3324: 0x4019aa20, 0x3325: 0x4019ac20, 0x3326: 0x4019ae20, 0x3327: 0x4019b020,\n\t0x3328: 0x4019b220, 0x3329: 0x4019b420, 0x332a: 0x4019b620, 0x332b: 0x4019b820,\n\t0x332c: 0x4019ba20, 0x332d: 0x4019bc20, 0x332e: 0x4019be20, 0x332f: 0x4019c020,\n\t0x3330: 0x4019c220, 0x3331: 0x4019c420, 0x3332: 0x4019c620, 0x3333: 0x4019c820,\n\t0x3334: 0x4019ca20, 0x3335: 0x4019cc20, 0x3336: 0x4019ce20, 0x3337: 0x4019d020,\n\t0x3338: 0x4019d220, 0x3339: 0x4019d420, 0x333a: 0x4019d620, 0x333b: 0x4019d820,\n\t0x333c: 0x4019da20, 0x333d: 0x4019dc20, 0x333e: 0x4019de20, 0x333f: 0x4019e020,\n\t// Block 0xcd, offset 0x3340\n\t0x3340: 0x40664020, 0x3341: 0x40664220, 0x3342: 0x40664420, 0x3343: 0x40664620,\n\t0x3344: 0x40664820, 0x3345: 0x40664a20, 0x3346: 0x40664c20, 0x3347: 0x40664e20,\n\t0x3348: 0x40665020, 0x3349: 0x40665220, 0x334a: 0x40665420, 0x334b: 0x40665620,\n\t0x334c: 0x40665820, 0x334d: 0x40665a20, 0x334e: 0x40665c20, 0x334f: 0x40665e20,\n\t0x3350: 0x40666020, 0x3351: 0x40666220, 0x3352: 0x40666420, 0x3353: 0x40666620,\n\t0x3354: 0x40666820, 0x3355: 0x40666a20, 0x3356: 0x40666c20, 0x3357: 0x40666e20,\n\t0x3358: 0x40667020, 0x3359: 0x40667220, 0x335a: 0x40667420, 0x335b: 0x40667620,\n\t0x335c: 0x40667820, 0x335d: 0x40667a20, 0x335e: 0x40667c20, 0x335f: 0x40667e20,\n\t0x3360: 0x40668020, 0x3361: 0x40668220, 0x3362: 0x40668420, 0x3363: 0x40668620,\n\t0x3364: 0x40668820, 0x3365: 0x40668a20, 0x3366: 0x40668c20, 0x3367: 0x40668e20,\n\t0x3368: 0x40669020, 0x3369: 0x40669220, 0x336a: 0x40669420, 0x336b: 0x40669620,\n\t0x336c: 0x40669820, 0x336d: 0x40669a20, 0x336e: 0x40669c20, 0x336f: 0x40669e20,\n\t0x3370: 0x4066a020, 0x3371: 0x4066a220, 0x3372: 0x4066a420, 0x3373: 0x4066a620,\n\t0x3374: 0x4066a820, 0x3375: 0x4066aa20, 0x3376: 0x4066ac20, 0x3377: 0x4066ae20,\n\t0x3378: 0x4066b020, 0x3379: 0x4066b220, 0x337a: 0x4066b420, 0x337b: 0x4066b620,\n\t0x337c: 0x4066b820, 0x337d: 0x4066ba20, 0x337e: 0x4066bc20, 0x337f: 0x4066be20,\n\t// Block 0xce, offset 0x3380\n\t0x3380: 0x4066c020, 0x3381: 0x4066c220, 0x3382: 0x4066c420, 0x3383: 0x4066c620,\n\t0x3384: 0x4066c820, 0x3385: 0x4066ca20, 0x3386: 0x4066cc20, 0x3387: 0x4066ce20,\n\t0x3388: 0x4066d020, 0x3389: 0x4066d220, 0x338a: 0x4066d420, 0x338b: 0x4066d620,\n\t0x338c: 0x4066d820, 0x338d: 0x4066da20, 0x338e: 0x4066dc20, 0x338f: 0x4066de20,\n\t0x3390: 0x4066e020, 0x3391: 0x4066e220, 0x3392: 0x4066e420, 0x3393: 0x4066e620,\n\t0x3394: 0x4066e820, 0x3395: 0x4066ea20, 0x3396: 0x4066ec20, 0x3397: 0x4066ee20,\n\t0x3398: 0x4066f020, 0x3399: 0x4066f220, 0x339a: 0x4066f420, 0x339b: 0x4066f620,\n\t0x339c: 0x4066f820, 0x339d: 0x4066fa20, 0x339e: 0x4066fc20, 0x339f: 0x4066fe20,\n\t0x33a0: 0x40670020, 0x33a1: 0x40670220, 0x33a2: 0x40670420, 0x33a3: 0x40670620,\n\t0x33a4: 0x40670820, 0x33a5: 0x40670a20, 0x33a6: 0x40670c20, 0x33a7: 0x40670e20,\n\t0x33a8: 0x40671020, 0x33a9: 0x40671220, 0x33aa: 0x40671420, 0x33ab: 0x40671620,\n\t0x33ac: 0x40671820, 0x33ad: 0x40671a20, 0x33ae: 0x40671c20, 0x33af: 0x40671e20,\n\t0x33b0: 0x40672020, 0x33b1: 0x40672220, 0x33b2: 0x40672420, 0x33b3: 0x40672620,\n\t0x33b4: 0x40672820, 0x33b5: 0x40672a20, 0x33b6: 0x40672c20, 0x33b7: 0x40672e20,\n\t0x33b8: 0x40673020, 0x33b9: 0x40673220, 0x33ba: 0x40673420, 0x33bb: 0x40673620,\n\t0x33bc: 0x40673820, 0x33bd: 0x40673a20, 0x33be: 0x40673c20, 0x33bf: 0x40673e20,\n\t// Block 0xcf, offset 0x33c0\n\t0x33c0: 0x40674020, 0x33c1: 0x40674220, 0x33c2: 0x40674420, 0x33c3: 0x40674620,\n\t0x33c4: 0x40674820, 0x33c5: 0x40674a20, 0x33c6: 0x40674c20, 0x33c7: 0x40674e20,\n\t0x33c8: 0x40675020, 0x33c9: 0x40675220, 0x33ca: 0x40675420, 0x33cb: 0x40675620,\n\t0x33cc: 0x40675820, 0x33cd: 0x40675a20, 0x33ce: 0x40675c20, 0x33cf: 0x40675e20,\n\t0x33d0: 0x40676020, 0x33d1: 0x40676220, 0x33d2: 0x40676420, 0x33d3: 0x40676620,\n\t0x33d4: 0x40676820, 0x33d5: 0x40676a20, 0x33d6: 0x40676c20, 0x33d7: 0x40676e20,\n\t0x33d8: 0x40677020, 0x33d9: 0x40677220, 0x33da: 0x40677420, 0x33db: 0x40677620,\n\t0x33dc: 0x40677820, 0x33dd: 0x40677a20, 0x33de: 0x40677c20, 0x33df: 0x40677e20,\n\t0x33e0: 0x40678020, 0x33e1: 0x40678220, 0x33e2: 0x40678420, 0x33e3: 0x40678620,\n\t0x33e4: 0x40678820, 0x33e5: 0x40678a20, 0x33e6: 0x40678c20, 0x33e7: 0x40678e20,\n\t0x33e8: 0x40679020, 0x33e9: 0x40679220, 0x33ea: 0x40679420, 0x33eb: 0x40679620,\n\t0x33ec: 0x40679820, 0x33ed: 0x40679a20, 0x33ee: 0x40679c20, 0x33ef: 0x40679e20,\n\t0x33f0: 0x4067a020, 0x33f1: 0x4067a220, 0x33f2: 0x4067a420, 0x33f3: 0x4067a620,\n\t0x33f4: 0x4067a820, 0x33f5: 0x4067aa20, 0x33f6: 0x4067ac20, 0x33f7: 0x4067ae20,\n\t0x33f8: 0x4067b020, 0x33f9: 0x4067b220, 0x33fa: 0x4067b420, 0x33fb: 0x4067b620,\n\t0x33fc: 0x4067b820, 0x33fd: 0x4067ba20, 0x33fe: 0x4067bc20, 0x33ff: 0x4067be20,\n\t// Block 0xd0, offset 0x3400\n\t0x3400: 0x4067c020, 0x3401: 0x4067c220, 0x3402: 0x4067c420, 0x3403: 0x4067c620,\n\t0x3404: 0x4067c820, 0x3405: 0x4067ca20, 0x3406: 0x4067cc20, 0x3407: 0x4067ce20,\n\t0x3408: 0x4067d020, 0x3409: 0x4067d220, 0x340a: 0x4067d420, 0x340b: 0x4067d620,\n\t0x340c: 0x4067d820, 0x340d: 0x4067da20, 0x340e: 0x4067dc20, 0x340f: 0x4067de20,\n\t0x3410: 0x4067e020, 0x3411: 0x4067e220, 0x3412: 0x4067e420, 0x3413: 0x4067e620,\n\t0x3414: 0x4067e820, 0x3415: 0x4067ea20, 0x3416: 0x4067ec20, 0x3417: 0x4067ee20,\n\t0x3418: 0x4067f020, 0x3419: 0x4067f220, 0x341a: 0x4067f420, 0x341b: 0x4067f620,\n\t0x341c: 0x4067f820, 0x341d: 0x4067fa20, 0x341e: 0x4067fc20, 0x341f: 0x4067fe20,\n\t0x3420: 0x40680020, 0x3421: 0x40680220, 0x3422: 0x40680420, 0x3423: 0x40680620,\n\t0x3424: 0x40680820, 0x3425: 0x40680a20, 0x3426: 0x40680c20, 0x3427: 0x40680e20,\n\t0x3428: 0x40681020, 0x3429: 0x40681220, 0x342a: 0x40681420, 0x342b: 0x40681620,\n\t0x342c: 0x40681820, 0x342d: 0x40681a20, 0x342e: 0x40681c20, 0x342f: 0x40681e20,\n\t0x3430: 0x40682020, 0x3431: 0x40682220, 0x3432: 0x40682420, 0x3433: 0x40682620,\n\t0x3434: 0x40682820, 0x3435: 0x40682a20, 0x3436: 0x40682c20, 0x3437: 0x40682e20,\n\t0x3438: 0x40683020, 0x3439: 0x40683220, 0x343a: 0x40683420, 0x343b: 0x40683620,\n\t0x343c: 0x40683820, 0x343d: 0x40683a20, 0x343e: 0x40683c20, 0x343f: 0x40683e20,\n\t// Block 0xd1, offset 0x3440\n\t0x3440: 0x40684020, 0x3441: 0x40684220, 0x3442: 0x40684420, 0x3443: 0x40684620,\n\t0x3444: 0x40684820, 0x3445: 0x40684a20, 0x3446: 0x40684c20, 0x3447: 0x40684e20,\n\t0x3448: 0x40685020, 0x3449: 0x40685220, 0x344a: 0x40685420, 0x344b: 0x40685620,\n\t0x344c: 0x40685820, 0x344d: 0x40685a20, 0x344e: 0x40685c20, 0x344f: 0x40685e20,\n\t0x3450: 0x40686020, 0x3451: 0x40686220, 0x3452: 0x40686420, 0x3453: 0x40686620,\n\t0x3454: 0x40686820, 0x3455: 0x40686a20, 0x3456: 0x40686c20, 0x3457: 0x40686e20,\n\t0x3458: 0x40687020, 0x3459: 0x40687220, 0x345a: 0x40687420, 0x345b: 0x40687620,\n\t0x345c: 0x40687820, 0x345d: 0x40687a20, 0x345e: 0x40687c20, 0x345f: 0x40687e20,\n\t0x3460: 0x40688020, 0x3461: 0x40688220, 0x3462: 0x40688420, 0x3463: 0x40688620,\n\t0x3464: 0x40688820, 0x3465: 0x40688a20, 0x3466: 0x40688c20, 0x3467: 0x40688e20,\n\t0x3468: 0x40689020, 0x3469: 0x40689220, 0x346a: 0x40689420, 0x346b: 0x40689620,\n\t0x346c: 0x40689820, 0x346d: 0x40689a20, 0x346e: 0x40689c20, 0x346f: 0x40689e20,\n\t0x3470: 0x4068a020, 0x3471: 0x4068a220, 0x3472: 0x4068a420, 0x3473: 0x4068a620,\n\t0x3474: 0x4068a820, 0x3475: 0x4068aa20, 0x3476: 0x4068ac20, 0x3477: 0x4068ae20,\n\t0x3478: 0x4068b020, 0x3479: 0x4068b220, 0x347a: 0x4068b420, 0x347b: 0x4068b620,\n\t0x347c: 0x4068b820, 0x347d: 0x4068ba20, 0x347e: 0x4068bc20, 0x347f: 0x4068be20,\n\t// Block 0xd2, offset 0x3480\n\t0x3480: 0x4068c020, 0x3481: 0x4068c220, 0x3482: 0x4068c420, 0x3483: 0x4068c620,\n\t0x3484: 0x4068c820, 0x3485: 0x4068ca20, 0x3486: 0x4068cc20, 0x3487: 0x4068ce20,\n\t0x3488: 0x4068d020, 0x3489: 0x4068d220, 0x348a: 0x4068d420, 0x348b: 0x4068d620,\n\t0x348c: 0x4068d820, 0x348d: 0x4068da20, 0x348e: 0x4068dc20, 0x348f: 0x4068de20,\n\t0x3490: 0x4068e020, 0x3491: 0x4068e220, 0x3492: 0x4068e420, 0x3493: 0x4068e620,\n\t0x3494: 0x4068e820, 0x3495: 0x4068ea20, 0x3496: 0x4068ec20, 0x3497: 0x4068ee20,\n\t0x3498: 0x4068f020, 0x3499: 0x4068f220, 0x349a: 0x4068f420, 0x349b: 0x4068f620,\n\t0x349c: 0x4068f820, 0x349d: 0x4068fa20, 0x349e: 0x4068fc20, 0x349f: 0x4068fe20,\n\t0x34a0: 0x40690020, 0x34a1: 0x40690220, 0x34a2: 0x40690420, 0x34a3: 0x40690620,\n\t0x34a4: 0x40690820, 0x34a5: 0x40690a20, 0x34a6: 0x40690c20, 0x34a7: 0x40690e20,\n\t0x34a8: 0x40691020, 0x34a9: 0x40691220, 0x34aa: 0x40691420, 0x34ab: 0x40691620,\n\t0x34ac: 0x40691820, 0x34ad: 0x40691a20, 0x34ae: 0x40691c20, 0x34af: 0x40691e20,\n\t0x34b0: 0x40692020, 0x34b1: 0x40692220, 0x34b2: 0x40692420, 0x34b3: 0x40692620,\n\t0x34b4: 0x40692820, 0x34b5: 0x40692a20, 0x34b6: 0x40692c20, 0x34b7: 0x40692e20,\n\t0x34b8: 0x40693020, 0x34b9: 0x40693220, 0x34ba: 0x40693420, 0x34bb: 0x40693620,\n\t0x34bc: 0x40693820, 0x34bd: 0x40693a20, 0x34be: 0x40693c20, 0x34bf: 0x40693e20,\n\t// Block 0xd3, offset 0x34c0\n\t0x34c0: 0x40694020, 0x34c1: 0x40694220, 0x34c2: 0x40694420, 0x34c3: 0x40694620,\n\t0x34c4: 0x40694820, 0x34c5: 0x40694a20, 0x34c6: 0x40694c20, 0x34c7: 0x40694e20,\n\t0x34c8: 0x40695020, 0x34c9: 0x40695220, 0x34ca: 0x40695420, 0x34cb: 0x40695620,\n\t0x34cc: 0x40695820, 0x34cd: 0x40695a20, 0x34ce: 0x40695c20, 0x34cf: 0x40695e20,\n\t0x34d0: 0x40696020, 0x34d1: 0x40696220, 0x34d2: 0x40696420, 0x34d3: 0x40696620,\n\t0x34d4: 0x40696820, 0x34d5: 0x40696a20, 0x34d6: 0x40696c20, 0x34d7: 0x40696e20,\n\t0x34d8: 0x40697020, 0x34d9: 0x40697220, 0x34da: 0x40697420, 0x34db: 0x40697620,\n\t0x34dc: 0x40697820, 0x34dd: 0x40697a20, 0x34de: 0x40697c20, 0x34df: 0x40697e20,\n\t0x34e0: 0x40698020, 0x34e1: 0x40698220, 0x34e2: 0x40698420, 0x34e3: 0x40698620,\n\t0x34e4: 0x40698820, 0x34e5: 0x40698a20, 0x34e6: 0x40698c20, 0x34e7: 0x40698e20,\n\t0x34e8: 0x40699020, 0x34e9: 0x40699220, 0x34ea: 0x40699420, 0x34eb: 0x40699620,\n\t0x34ec: 0x40699820, 0x34ed: 0x40699a20, 0x34ee: 0x40699c20, 0x34ef: 0x40699e20,\n\t0x34f0: 0x4069a020, 0x34f1: 0x4069a220, 0x34f2: 0x4069a420, 0x34f3: 0x4069a620,\n\t0x34f4: 0x4069a820, 0x34f5: 0x4069aa20, 0x34f6: 0x4069ac20, 0x34f7: 0x4069ae20,\n\t0x34f8: 0x4069b020, 0x34f9: 0x4069b220, 0x34fa: 0x4069b420, 0x34fb: 0x4069b620,\n\t0x34fc: 0x4069b820, 0x34fd: 0x4069ba20, 0x34fe: 0x4069bc20, 0x34ff: 0x4069be20,\n\t// Block 0xd4, offset 0x3500\n\t0x3500: 0x4069c020, 0x3501: 0x4069c220, 0x3502: 0x4069c420, 0x3503: 0x4069c620,\n\t0x3504: 0x4069c820, 0x3505: 0x4069ca20, 0x3506: 0x4069cc20, 0x3507: 0x4069ce20,\n\t0x3508: 0x4069d020, 0x3509: 0x4069d220, 0x350a: 0x4069d420, 0x350b: 0x4069d620,\n\t0x350c: 0x4069d820, 0x350d: 0x4069da20, 0x350e: 0x4069dc20, 0x350f: 0x4069de20,\n\t0x3510: 0x4069e020, 0x3511: 0x4069e220, 0x3512: 0x4069e420, 0x3513: 0x4069e620,\n\t0x3514: 0x4069e820, 0x3515: 0x4069ea20, 0x3516: 0x4069ec20, 0x3517: 0x4069ee20,\n\t0x3518: 0x4069f020, 0x3519: 0x4069f220, 0x351a: 0x4069f420, 0x351b: 0x4069f620,\n\t0x351c: 0x4069f820, 0x351d: 0x4069fa20, 0x351e: 0x4069fc20, 0x351f: 0x4069fe20,\n\t0x3520: 0x406a0020, 0x3521: 0x406a0220, 0x3522: 0x406a0420, 0x3523: 0x406a0620,\n\t0x3524: 0x406a0820, 0x3525: 0x406a0a20, 0x3526: 0x406a0c20, 0x3527: 0x406a0e20,\n\t0x3528: 0x406a1020, 0x3529: 0x406a1220, 0x352a: 0x406a1420, 0x352b: 0x406a1620,\n\t0x352c: 0x406a1820, 0x352d: 0x406a1a20, 0x352e: 0x406a1c20, 0x352f: 0x406a1e20,\n\t0x3530: 0x406a2020, 0x3531: 0x406a2220, 0x3532: 0x406a2420, 0x3533: 0x406a2620,\n\t0x3534: 0x406a2820, 0x3535: 0x406a2a20, 0x3536: 0x406a2c20, 0x3537: 0x406a2e20,\n\t0x3538: 0x406a3020, 0x3539: 0x406a3220, 0x353a: 0x406a3420, 0x353b: 0x406a3620,\n\t0x353c: 0x406a3820, 0x353d: 0x406a3a20, 0x353e: 0x406a3c20, 0x353f: 0x406a3e20,\n\t// Block 0xd5, offset 0x3540\n\t0x3540: 0x406a4020, 0x3541: 0x406a4220, 0x3542: 0x406a4420, 0x3543: 0x406a4620,\n\t0x3544: 0x406a4820, 0x3545: 0x406a4a20, 0x3546: 0x406a4c20, 0x3547: 0x406a4e20,\n\t0x3548: 0x406a5020, 0x3549: 0x406a5220, 0x354a: 0x406a5420, 0x354b: 0x406a5620,\n\t0x354c: 0x406a5820, 0x354d: 0x406a5a20, 0x354e: 0x406a5c20, 0x354f: 0x406a5e20,\n\t0x3550: 0x406a6020, 0x3551: 0x406a6220, 0x3552: 0x406a6420, 0x3553: 0x406a6620,\n\t0x3554: 0x406a6820, 0x3555: 0x406a6a20, 0x3556: 0x406a6c20, 0x3557: 0x406a6e20,\n\t0x3558: 0x406a7020, 0x3559: 0x406a7220, 0x355a: 0x406a7420, 0x355b: 0x406a7620,\n\t0x355c: 0x406a7820, 0x355d: 0x406a7a20, 0x355e: 0x406a7c20, 0x355f: 0x406a7e20,\n\t0x3560: 0x406a8020, 0x3561: 0x406a8220, 0x3562: 0x406a8420, 0x3563: 0x406a8620,\n\t0x3564: 0x406a8820, 0x3565: 0x406a8a20, 0x3566: 0x406a8c20, 0x3567: 0x406a8e20,\n\t0x3568: 0x406a9020, 0x3569: 0x406a9220, 0x356a: 0x406a9420, 0x356b: 0x406a9620,\n\t0x356c: 0x406a9820, 0x356d: 0x406a9a20, 0x356e: 0x406a9c20, 0x356f: 0x406a9e20,\n\t0x3570: 0x406aa020, 0x3571: 0x406aa220, 0x3572: 0x406aa420, 0x3573: 0x406aa620,\n\t0x3574: 0x406aa820, 0x3575: 0x406aaa20, 0x3576: 0x406aac20, 0x3577: 0x406aae20,\n\t0x3578: 0x406ab020, 0x3579: 0x406ab220, 0x357a: 0x406ab420, 0x357b: 0x406ab620,\n\t0x357c: 0x406ab820, 0x357d: 0x406aba20, 0x357e: 0x406abc20, 0x357f: 0x406abe20,\n\t// Block 0xd6, offset 0x3580\n\t0x3580: 0x406ac020, 0x3581: 0x406ac220, 0x3582: 0x406ac420, 0x3583: 0x406ac620,\n\t0x3584: 0x406ac820, 0x3585: 0x406aca20, 0x3586: 0x406acc20, 0x3587: 0x406ace20,\n\t0x3588: 0x406ad020, 0x3589: 0x406ad220, 0x358a: 0x406ad420, 0x358b: 0x406ad620,\n\t0x358c: 0x406ad820, 0x358d: 0x406ada20, 0x358e: 0x406adc20, 0x358f: 0x406ade20,\n\t0x3590: 0x406ae020, 0x3591: 0x406ae220, 0x3592: 0x406ae420, 0x3593: 0x406ae620,\n\t0x3594: 0x406ae820, 0x3595: 0x406aea20, 0x3596: 0x406aec20, 0x3597: 0x406aee20,\n\t0x3598: 0x406af020, 0x3599: 0x406af220, 0x359a: 0x406af420, 0x359b: 0x406af620,\n\t0x359c: 0x406af820, 0x359d: 0x406afa20, 0x359e: 0x406afc20, 0x359f: 0x406afe20,\n\t0x35a0: 0x406b0020, 0x35a1: 0x406b0220, 0x35a2: 0x406b0420, 0x35a3: 0x406b0620,\n\t0x35a4: 0x406b0820, 0x35a5: 0x406b0a20, 0x35a6: 0x406b0c20, 0x35a7: 0x406b0e20,\n\t0x35a8: 0x406b1020, 0x35a9: 0x406b1220, 0x35aa: 0x406b1420, 0x35ab: 0x406b1620,\n\t0x35ac: 0x406b1820, 0x35ad: 0x406b1a20, 0x35ae: 0x406b1c20, 0x35af: 0x406b1e20,\n\t0x35b0: 0x406b2020, 0x35b1: 0x406b2220, 0x35b2: 0x406b2420, 0x35b3: 0x406b2620,\n\t0x35b4: 0x406b2820, 0x35b5: 0x406b2a20, 0x35b6: 0x406b2c20, 0x35b7: 0x406b2e20,\n\t0x35b8: 0x406b3020, 0x35b9: 0x406b3220, 0x35ba: 0x406b3420, 0x35bb: 0x406b3620,\n\t0x35bc: 0x406b3820, 0x35bd: 0x406b3a20, 0x35be: 0x406b3c20, 0x35bf: 0x406b3e20,\n\t// Block 0xd7, offset 0x35c0\n\t0x35c0: 0x406b4020, 0x35c1: 0x406b4220, 0x35c2: 0x406b4420, 0x35c3: 0x406b4620,\n\t0x35c4: 0x406b4820, 0x35c5: 0x406b4a20, 0x35c6: 0x406b4c20, 0x35c7: 0x406b4e20,\n\t0x35c8: 0x406b5020, 0x35c9: 0x406b5220, 0x35ca: 0x406b5420, 0x35cb: 0x406b5620,\n\t0x35cc: 0x406b5820, 0x35cd: 0x406b5a20, 0x35ce: 0x406b5c20, 0x35cf: 0x406b5e20,\n\t0x35d0: 0x406b6020, 0x35d1: 0x406b6220, 0x35d2: 0x406b6420, 0x35d3: 0x406b6620,\n\t0x35d4: 0x406b6820, 0x35d5: 0x406b6a20, 0x35d6: 0x406b6c20, 0x35d7: 0x406b6e20,\n\t0x35d8: 0x406b7020, 0x35d9: 0x406b7220, 0x35da: 0x406b7420, 0x35db: 0x406b7620,\n\t0x35dc: 0x406b7820, 0x35dd: 0x406b7a20, 0x35de: 0x406b7c20, 0x35df: 0x406b7e20,\n\t0x35e0: 0x406b8020, 0x35e1: 0x406b8220, 0x35e2: 0x406b8420, 0x35e3: 0x406b8620,\n\t0x35e4: 0x406b8820, 0x35e5: 0x406b8a20, 0x35e6: 0x406b8c20, 0x35e7: 0x406b8e20,\n\t0x35e8: 0x406b9020, 0x35e9: 0x406b9220, 0x35ea: 0x406b9420, 0x35eb: 0x406b9620,\n\t0x35ec: 0x406b9820, 0x35ed: 0x406b9a20, 0x35ee: 0x406b9c20, 0x35ef: 0x406b9e20,\n\t0x35f0: 0x406ba020, 0x35f1: 0x406ba220, 0x35f2: 0x406ba420, 0x35f3: 0x406ba620,\n\t0x35f4: 0x406ba820, 0x35f5: 0x406baa20, 0x35f6: 0x406bac20, 0x35f7: 0x406bae20,\n\t0x35f8: 0x406bb020, 0x35f9: 0x406bb220, 0x35fa: 0x406bb420, 0x35fb: 0x406bb620,\n\t0x35fc: 0x406bb820, 0x35fd: 0x406bba20, 0x35fe: 0x406bbc20, 0x35ff: 0x406bbe20,\n\t// Block 0xd8, offset 0x3600\n\t0x3600: 0x406bc020, 0x3601: 0x406bc220, 0x3602: 0x406bc420, 0x3603: 0x406bc620,\n\t0x3604: 0x406bc820, 0x3605: 0x406bca20, 0x3606: 0x406bcc20, 0x3607: 0x406bce20,\n\t0x3608: 0x406bd020, 0x3609: 0x406bd220, 0x360a: 0x406bd420, 0x360b: 0x406bd620,\n\t0x360c: 0x406bd820, 0x360d: 0x406bda20, 0x360e: 0x406bdc20, 0x360f: 0x406bde20,\n\t0x3610: 0x406be020, 0x3611: 0x406be220, 0x3612: 0x406be420, 0x3613: 0x406be620,\n\t0x3614: 0x406be820, 0x3615: 0x406bea20, 0x3616: 0x406bec20, 0x3617: 0x406bee20,\n\t0x3618: 0x406bf020, 0x3619: 0x406bf220, 0x361a: 0x406bf420, 0x361b: 0x406bf620,\n\t0x361c: 0x406bf820, 0x361d: 0x406bfa20, 0x361e: 0x406bfc20, 0x361f: 0x406bfe20,\n\t0x3620: 0x406c0020, 0x3621: 0x406c0220, 0x3622: 0x406c0420, 0x3623: 0x406c0620,\n\t0x3624: 0x406c0820, 0x3625: 0x406c0a20, 0x3626: 0x406c0c20, 0x3627: 0x406c0e20,\n\t0x3628: 0x406c1020, 0x3629: 0x406c1220, 0x362a: 0x406c1420, 0x362b: 0x406c1620,\n\t0x362c: 0x406c1820, 0x362d: 0x406c1a20, 0x362e: 0x406c1c20, 0x362f: 0x406c1e20,\n\t0x3630: 0x406c2020, 0x3631: 0x406c2220, 0x3632: 0x406c2420, 0x3633: 0x406c2620,\n\t0x3634: 0x406c2820, 0x3635: 0x406c2a20, 0x3636: 0x406c2c20, 0x3637: 0x406c2e20,\n\t0x3638: 0x406c3020, 0x3639: 0x406c3220, 0x363a: 0x406c3420, 0x363b: 0x406c3620,\n\t0x363c: 0x406c3820, 0x363d: 0x406c3a20, 0x363e: 0x406c3c20, 0x363f: 0x406c3e20,\n\t// Block 0xd9, offset 0x3640\n\t0x3640: 0x406c4020, 0x3641: 0x406c4220, 0x3642: 0x406c4420, 0x3643: 0x406c4620,\n\t0x3644: 0x406c4820, 0x3645: 0x406c4a20, 0x3646: 0x406c4c20, 0x3647: 0x406c4e20,\n\t0x3648: 0x406c5020, 0x3649: 0x406c5220, 0x364a: 0x406c5420, 0x364b: 0x406c5620,\n\t0x364c: 0x406c5820, 0x364d: 0x406c5a20, 0x364e: 0x406c5c20, 0x364f: 0x406c5e20,\n\t0x3650: 0x406c6020, 0x3651: 0x406c6220, 0x3652: 0x406c6420, 0x3653: 0x406c6620,\n\t0x3654: 0x406c6820, 0x3655: 0x406c6a20, 0x3656: 0x406c6c20, 0x3657: 0x406c6e20,\n\t0x3658: 0x406c7020, 0x3659: 0x406c7220, 0x365a: 0x406c7420, 0x365b: 0x406c7620,\n\t0x365c: 0x406c7820, 0x365d: 0x406c7a20, 0x365e: 0x406c7c20, 0x365f: 0x406c7e20,\n\t0x3660: 0x406c8020, 0x3661: 0x406c8220, 0x3662: 0x406c8420, 0x3663: 0x406c8620,\n\t0x3664: 0x406c8820, 0x3665: 0x406c8a20, 0x3666: 0x406c8c20, 0x3667: 0x406c8e20,\n\t0x3668: 0x406c9020, 0x3669: 0x406c9220, 0x366a: 0x406c9420, 0x366b: 0x406c9620,\n\t0x366c: 0x406c9820, 0x366d: 0x406c9a20, 0x366e: 0x406c9c20, 0x366f: 0x406c9e20,\n\t0x3670: 0x406ca020, 0x3671: 0x406ca220, 0x3672: 0x406ca420, 0x3673: 0x406ca620,\n\t0x3674: 0x406ca820, 0x3675: 0x406caa20, 0x3676: 0x406cac20, 0x3677: 0x406cae20,\n\t0x3678: 0x406cb020, 0x3679: 0x406cb220, 0x367a: 0x406cb420, 0x367b: 0x406cb620,\n\t0x367c: 0x406cb820, 0x367d: 0x406cba20, 0x367e: 0x406cbc20, 0x367f: 0x406cbe20,\n\t// Block 0xda, offset 0x3680\n\t0x3680: 0x406cc020, 0x3681: 0x406cc220, 0x3682: 0x406cc420, 0x3683: 0x406cc620,\n\t0x3684: 0x406cc820, 0x3685: 0x406cca20, 0x3686: 0x406ccc20, 0x3687: 0x406cce20,\n\t0x3688: 0x406cd020, 0x3689: 0x406cd220, 0x368a: 0x406cd420, 0x368b: 0x406cd620,\n\t0x368c: 0x406cd820, 0x368d: 0x406cda20, 0x368e: 0x406cdc20, 0x368f: 0x406cde20,\n\t0x3690: 0x406ce020, 0x3691: 0x406ce220, 0x3692: 0x406ce420, 0x3693: 0x406ce620,\n\t0x3694: 0x406ce820, 0x3695: 0x406cea20, 0x3696: 0x406cec20, 0x3697: 0x406cee20,\n\t0x3698: 0x406cf020, 0x3699: 0x406cf220, 0x369a: 0x406cf420, 0x369b: 0x406cf620,\n\t0x369c: 0x406cf820, 0x369d: 0x406cfa20, 0x369e: 0x406cfc20, 0x369f: 0x406cfe20,\n\t0x36a0: 0x406d0020, 0x36a1: 0x406d0220, 0x36a2: 0x406d0420, 0x36a3: 0x406d0620,\n\t0x36a4: 0x406d0820, 0x36a5: 0x406d0a20, 0x36a6: 0x406d0c20, 0x36a7: 0x406d0e20,\n\t0x36a8: 0x406d1020, 0x36a9: 0x406d1220, 0x36aa: 0x406d1420, 0x36ab: 0x406d1620,\n\t0x36ac: 0x406d1820, 0x36ad: 0x406d1a20, 0x36ae: 0x406d1c20, 0x36af: 0x406d1e20,\n\t0x36b0: 0x406d2020, 0x36b1: 0x406d2220, 0x36b2: 0x406d2420, 0x36b3: 0x406d2620,\n\t0x36b4: 0x406d2820, 0x36b5: 0x406d2a20, 0x36b6: 0x406d2c20, 0x36b7: 0x406d2e20,\n\t0x36b8: 0x406d3020, 0x36b9: 0x406d3220, 0x36ba: 0x406d3420, 0x36bb: 0x406d3620,\n\t0x36bc: 0x406d3820, 0x36bd: 0x406d3a20, 0x36be: 0x406d3c20, 0x36bf: 0x406d3e20,\n\t// Block 0xdb, offset 0x36c0\n\t0x36c0: 0x406d4020, 0x36c1: 0x406d4220, 0x36c2: 0x406d4420, 0x36c3: 0x406d4620,\n\t0x36c4: 0x406d4820, 0x36c5: 0x406d4a20, 0x36c6: 0x406d4c20, 0x36c7: 0x406d4e20,\n\t0x36c8: 0x406d5020, 0x36c9: 0x406d5220, 0x36ca: 0x406d5420, 0x36cb: 0x406d5620,\n\t0x36cc: 0x406d5820, 0x36cd: 0x406d5a20, 0x36ce: 0x406d5c20, 0x36cf: 0x406d5e20,\n\t0x36d0: 0x406d6020, 0x36d1: 0x406d6220, 0x36d2: 0x406d6420, 0x36d3: 0x406d6620,\n\t0x36d4: 0x406d6820, 0x36d5: 0x406d6a20, 0x36d6: 0x406d6c20, 0x36d7: 0x406d6e20,\n\t0x36d8: 0x406d7020, 0x36d9: 0x406d7220, 0x36da: 0x406d7420, 0x36db: 0x406d7620,\n\t0x36dc: 0x406d7820, 0x36dd: 0x406d7a20, 0x36de: 0x406d7c20, 0x36df: 0x406d7e20,\n\t0x36e0: 0x406d8020, 0x36e1: 0x406d8220, 0x36e2: 0x406d8420, 0x36e3: 0x406d8620,\n\t0x36e4: 0x406d8820, 0x36e5: 0x406d8a20, 0x36e6: 0x406d8c20, 0x36e7: 0x406d8e20,\n\t0x36e8: 0x406d9020, 0x36e9: 0x406d9220, 0x36ea: 0x406d9420, 0x36eb: 0x406d9620,\n\t0x36ec: 0x406d9820, 0x36ed: 0x406d9a20, 0x36ee: 0x406d9c20, 0x36ef: 0x406d9e20,\n\t0x36f0: 0x406da020, 0x36f1: 0x406da220, 0x36f2: 0x406da420, 0x36f3: 0x406da620,\n\t0x36f4: 0x406da820, 0x36f5: 0x406daa20, 0x36f6: 0x406dac20, 0x36f7: 0x406dae20,\n\t0x36f8: 0x406db020, 0x36f9: 0x406db220, 0x36fa: 0x406db420, 0x36fb: 0x406db620,\n\t0x36fc: 0x406db820, 0x36fd: 0x406dba20, 0x36fe: 0x406dbc20, 0x36ff: 0x406dbe20,\n\t// Block 0xdc, offset 0x3700\n\t0x3700: 0x406dc020, 0x3701: 0x406dc220, 0x3702: 0x406dc420, 0x3703: 0x406dc620,\n\t0x3704: 0x406dc820, 0x3705: 0x406dca20, 0x3706: 0x406dcc20, 0x3707: 0x406dce20,\n\t0x3708: 0x406dd020, 0x3709: 0x406dd220, 0x370a: 0x406dd420, 0x370b: 0x406dd620,\n\t0x370c: 0x406dd820, 0x370d: 0x406dda20, 0x370e: 0x406ddc20, 0x370f: 0x406dde20,\n\t0x3710: 0x406de020, 0x3711: 0x406de220, 0x3712: 0x406de420, 0x3713: 0x406de620,\n\t0x3714: 0x406de820, 0x3715: 0x406dea20, 0x3716: 0x406dec20, 0x3717: 0x406dee20,\n\t0x3718: 0x406df020, 0x3719: 0x406df220, 0x371a: 0x406df420, 0x371b: 0x406df620,\n\t0x371c: 0x406df820, 0x371d: 0x406dfa20, 0x371e: 0x406dfc20, 0x371f: 0x406dfe20,\n\t0x3720: 0x406e0020, 0x3721: 0x406e0220, 0x3722: 0x406e0420, 0x3723: 0x406e0620,\n\t0x3724: 0x406e0820, 0x3725: 0x406e0a20, 0x3726: 0x406e0c20, 0x3727: 0x406e0e20,\n\t0x3728: 0x406e1020, 0x3729: 0x406e1220, 0x372a: 0x406e1420, 0x372b: 0x406e1620,\n\t0x372c: 0x406e1820, 0x372d: 0x406e1a20, 0x372e: 0x406e1c20, 0x372f: 0x406e1e20,\n\t0x3730: 0x406e2020, 0x3731: 0x406e2220, 0x3732: 0x406e2420, 0x3733: 0x406e2620,\n\t0x3734: 0x406e2820, 0x3735: 0x406e2a20, 0x3736: 0x406e2c20, 0x3737: 0x406e2e20,\n\t0x3738: 0x406e3020, 0x3739: 0x406e3220, 0x373a: 0x406e3420, 0x373b: 0x406e3620,\n\t0x373c: 0x406e3820, 0x373d: 0x406e3a20, 0x373e: 0x406e3c20, 0x373f: 0x406e3e20,\n\t// Block 0xdd, offset 0x3740\n\t0x3740: 0x406e4020, 0x3741: 0x406e4220, 0x3742: 0x406e4420, 0x3743: 0x406e4620,\n\t0x3744: 0x406e4820, 0x3745: 0x406e4a20, 0x3746: 0x406e4c20, 0x3747: 0x406e4e20,\n\t0x3748: 0x406e5020, 0x3749: 0x406e5220, 0x374a: 0x406e5420, 0x374b: 0x406e5620,\n\t0x374c: 0x406e5820, 0x374d: 0x406e5a20, 0x374e: 0x406e5c20, 0x374f: 0x406e5e20,\n\t0x3750: 0x406e6020, 0x3751: 0x406e6220, 0x3752: 0x406e6420, 0x3753: 0x406e6620,\n\t0x3754: 0x406e6820, 0x3755: 0x406e6a20, 0x3756: 0x406e6c20, 0x3757: 0x406e6e20,\n\t0x3758: 0x406e7020, 0x3759: 0x406e7220, 0x375a: 0x406e7420, 0x375b: 0x406e7620,\n\t0x375c: 0x406e7820, 0x375d: 0x406e7a20, 0x375e: 0x406e7c20, 0x375f: 0x406e7e20,\n\t0x3760: 0x406e8020, 0x3761: 0x406e8220, 0x3762: 0x406e8420, 0x3763: 0x406e8620,\n\t0x3764: 0x406e8820, 0x3765: 0x406e8a20, 0x3766: 0x406e8c20, 0x3767: 0x406e8e20,\n\t0x3768: 0x406e9020, 0x3769: 0x406e9220, 0x376a: 0x406e9420, 0x376b: 0x406e9620,\n\t0x376c: 0x406e9820, 0x376d: 0x406e9a20, 0x376e: 0x406e9c20, 0x376f: 0x406e9e20,\n\t0x3770: 0x406ea020, 0x3771: 0x406ea220, 0x3772: 0x406ea420, 0x3773: 0x406ea620,\n\t0x3774: 0x406ea820, 0x3775: 0x406eaa20, 0x3776: 0x406eac20, 0x3777: 0x406eae20,\n\t0x3778: 0x406eb020, 0x3779: 0x406eb220, 0x377a: 0x406eb420, 0x377b: 0x406eb620,\n\t0x377c: 0x406eb820, 0x377d: 0x406eba20, 0x377e: 0x406ebc20, 0x377f: 0x406ebe20,\n\t// Block 0xde, offset 0x3780\n\t0x3780: 0x406ec020, 0x3781: 0x406ec220, 0x3782: 0x406ec420, 0x3783: 0x406ec620,\n\t0x3784: 0x406ec820, 0x3785: 0x406eca20, 0x3786: 0x406ecc20, 0x3787: 0x406ece20,\n\t0x3788: 0x406ed020, 0x3789: 0x406ed220, 0x378a: 0x406ed420, 0x378b: 0x406ed620,\n\t0x378c: 0x406ed820, 0x378d: 0x406eda20, 0x378e: 0x406edc20, 0x378f: 0x406ede20,\n\t0x3790: 0x406ee020, 0x3791: 0x406ee220, 0x3792: 0x406ee420, 0x3793: 0x406ee620,\n\t0x3794: 0x406ee820, 0x3795: 0x406eea20, 0x3796: 0x406eec20, 0x3797: 0x406eee20,\n\t0x3798: 0x406ef020, 0x3799: 0x406ef220, 0x379a: 0x406ef420, 0x379b: 0x406ef620,\n\t0x379c: 0x406ef820, 0x379d: 0x406efa20, 0x379e: 0x406efc20, 0x379f: 0x406efe20,\n\t0x37a0: 0x406f0020, 0x37a1: 0x406f0220, 0x37a2: 0x406f0420, 0x37a3: 0x406f0620,\n\t0x37a4: 0x406f0820, 0x37a5: 0x406f0a20, 0x37a6: 0x406f0c20, 0x37a7: 0x406f0e20,\n\t0x37a8: 0x406f1020, 0x37a9: 0x406f1220, 0x37aa: 0x406f1420, 0x37ab: 0x406f1620,\n\t0x37ac: 0x406f1820, 0x37ad: 0x406f1a20, 0x37ae: 0x406f1c20, 0x37af: 0x406f1e20,\n\t0x37b0: 0x406f2020, 0x37b1: 0x406f2220, 0x37b2: 0x406f2420, 0x37b3: 0x406f2620,\n\t0x37b4: 0x406f2820, 0x37b5: 0x406f2a20, 0x37b6: 0x406f2c20, 0x37b7: 0x406f2e20,\n\t0x37b8: 0x406f3020, 0x37b9: 0x406f3220, 0x37ba: 0x406f3420, 0x37bb: 0x406f3620,\n\t0x37bc: 0x406f3820, 0x37bd: 0x406f3a20, 0x37be: 0x406f3c20, 0x37bf: 0x406f3e20,\n\t// Block 0xdf, offset 0x37c0\n\t0x37c0: 0x406f4020, 0x37c1: 0x406f4220, 0x37c2: 0x406f4420, 0x37c3: 0x406f4620,\n\t0x37c4: 0x406f4820, 0x37c5: 0x406f4a20, 0x37c6: 0x406f4c20, 0x37c7: 0x406f4e20,\n\t0x37c8: 0x406f5020, 0x37c9: 0x406f5220, 0x37ca: 0x406f5420, 0x37cb: 0x406f5620,\n\t0x37cc: 0x406f5820,\n\t0x37d0: 0x401a9020, 0x37d1: 0x401a9220, 0x37d2: 0x401a9420, 0x37d3: 0x401a9620,\n\t0x37d4: 0x401a9820, 0x37d5: 0x401a9a20, 0x37d6: 0x401a9c20, 0x37d7: 0x401a9e20,\n\t0x37d8: 0x401aa020, 0x37d9: 0x401aa220, 0x37da: 0x401aa420, 0x37db: 0x401aa620,\n\t0x37dc: 0x401aa820, 0x37dd: 0x401aaa20, 0x37de: 0x401aac20, 0x37df: 0x401aae20,\n\t0x37e0: 0x401ab020, 0x37e1: 0x401ab220, 0x37e2: 0x401ab420, 0x37e3: 0x401ab620,\n\t0x37e4: 0x401ab820, 0x37e5: 0x401aba20, 0x37e6: 0x401abc20, 0x37e7: 0x401abe20,\n\t0x37e8: 0x401ac020, 0x37e9: 0x401ac220, 0x37ea: 0x401ac420, 0x37eb: 0x401ac620,\n\t0x37ec: 0x401ac820, 0x37ed: 0x401aca20, 0x37ee: 0x401acc20, 0x37ef: 0x401ace20,\n\t0x37f0: 0x401ad020, 0x37f1: 0x401ad220, 0x37f2: 0x401ad420, 0x37f3: 0x401ad620,\n\t0x37f4: 0x401ad820, 0x37f5: 0x401ada20, 0x37f6: 0x401adc20, 0x37f7: 0x401ade20,\n\t0x37f8: 0x401ae020, 0x37f9: 0x401ae220, 0x37fa: 0x401ae420, 0x37fb: 0x401ae620,\n\t0x37fc: 0x401ae820, 0x37fd: 0x401aea20, 0x37fe: 0x401aec20, 0x37ff: 0x401aee20,\n\t// Block 0xe0, offset 0x3800\n\t0x3800: 0x401af020, 0x3801: 0x401af220, 0x3802: 0x401af420, 0x3803: 0x401af620,\n\t0x3804: 0x401af820, 0x3805: 0x401afa20, 0x3806: 0x401afc20,\n\t0x3810: 0x406f6620, 0x3811: 0x406f6820, 0x3812: 0x406f6a20, 0x3813: 0x406f6c20,\n\t0x3814: 0x406f6e20, 0x3815: 0x406f7020, 0x3816: 0x406f7220, 0x3817: 0x406f7420,\n\t0x3818: 0x406f7620, 0x3819: 0x406f7820, 0x381a: 0x406f7a20, 0x381b: 0x406f7c20,\n\t0x381c: 0x406f7e20, 0x381d: 0x406f8020, 0x381e: 0x406f8220, 0x381f: 0x406f8420,\n\t0x3820: 0x406f8620, 0x3821: 0x406f8820, 0x3822: 0x406f8a20, 0x3823: 0x406f8c20,\n\t0x3824: 0x406f8e20, 0x3825: 0x406f9020, 0x3826: 0x406f9220, 0x3827: 0x406f9420,\n\t0x3828: 0x406f9620, 0x3829: 0x406f9820, 0x382a: 0x406f9e20, 0x382b: 0x406f9a20,\n\t0x382c: 0x406fa020, 0x382d: 0x406f9c20, 0x382e: 0x406fa220, 0x382f: 0x406fa420,\n\t0x3830: 0x406fa620, 0x3831: 0x406fa820, 0x3832: 0x406faa20, 0x3833: 0x406fac20,\n\t0x3834: 0x406fae20, 0x3835: 0x406fb020, 0x3836: 0x406fb220, 0x3837: 0x406fb420,\n\t0x3838: 0x406f5a20, 0x3839: 0x406f5c20, 0x383a: 0x406f5e20, 0x383b: 0x406f6020,\n\t0x383c: 0x406f6420, 0x383d: 0x406f6220, 0x383e: 0x40025620, 0x383f: 0x4002fe20,\n\t// Block 0xe1, offset 0x3840\n\t0x3840: 0x405b8020, 0x3841: 0x405b8220, 0x3842: 0x405b8420, 0x3843: 0x405b8620,\n\t0x3844: 0x405b8820, 0x3845: 0x405b8a20, 0x3846: 0x405b8c20, 0x3847: 0x405b8e20,\n\t0x3848: 0x405b9020, 0x3849: 0x405b9220, 0x384a: 0x405b9420, 0x384b: 0x405b9620,\n\t0x384c: 0x405b9820, 0x384d: 0x405b9a20, 0x384e: 0x405b9c20, 0x384f: 0x405b9e20,\n\t0x3850: 0x405ba020, 0x3851: 0x405ba220, 0x3852: 0x405ba420, 0x3853: 0x405ba620,\n\t0x3854: 0x405ba820, 0x3855: 0x405baa20, 0x3856: 0x405bac20, 0x3857: 0x405bae20,\n\t0x3858: 0x405bb020, 0x3859: 0x405bb220, 0x385a: 0x405bb420, 0x385b: 0x405bb620,\n\t0x385c: 0x405bb820, 0x385d: 0x405bba20, 0x385e: 0x405bbc20, 0x385f: 0x405bbe20,\n\t0x3860: 0x405bc020, 0x3861: 0x405bc220, 0x3862: 0x405bc420, 0x3863: 0x405bc620,\n\t0x3864: 0x405bc820, 0x3865: 0x405bca20, 0x3866: 0x405bcc20, 0x3867: 0x405bce20,\n\t0x3868: 0x405bd020, 0x3869: 0x405bd220, 0x386a: 0x405bd420, 0x386b: 0x405bd620,\n\t0x386c: 0x405bd820, 0x386d: 0x405bda20, 0x386e: 0x405bdc20, 0x386f: 0x405bde20,\n\t0x3870: 0x405be020, 0x3871: 0x405be220, 0x3872: 0x405be420, 0x3873: 0x405be620,\n\t0x3874: 0x405be820, 0x3875: 0x405bea20, 0x3876: 0x405bec20, 0x3877: 0x405bee20,\n\t0x3878: 0x405bf020, 0x3879: 0x405bf220, 0x387a: 0x405bf420, 0x387b: 0x405bf620,\n\t0x387c: 0x405bf820, 0x387d: 0x405bfa20, 0x387e: 0x405bfc20, 0x387f: 0x405bfe20,\n\t// Block 0xe2, offset 0x3880\n\t0x3880: 0x405c0020, 0x3881: 0x405c0220, 0x3882: 0x405c0420, 0x3883: 0x405c0620,\n\t0x3884: 0x405c0820, 0x3885: 0x405c0a20, 0x3886: 0x405c0c20, 0x3887: 0x405c0e20,\n\t0x3888: 0x405c1020, 0x3889: 0x405c1220, 0x388a: 0x405c1420, 0x388b: 0x405c1620,\n\t0x388c: 0x405c1820, 0x388d: 0x405c1a20, 0x388e: 0x405c1c20, 0x388f: 0x405c1e20,\n\t0x3890: 0x405c2020, 0x3891: 0x405c2220, 0x3892: 0x405c2420, 0x3893: 0x405c2620,\n\t0x3894: 0x405c2820, 0x3895: 0x405c2a20, 0x3896: 0x405c2c20, 0x3897: 0x405c2e20,\n\t0x3898: 0x405c3020, 0x3899: 0x405c3220, 0x389a: 0x405c3420, 0x389b: 0x405c3620,\n\t0x389c: 0x405c3820, 0x389d: 0x405c3a20, 0x389e: 0x405c3c20, 0x389f: 0x405c3e20,\n\t0x38a0: 0x405c4020, 0x38a1: 0x405c4220, 0x38a2: 0x405c4420, 0x38a3: 0x405c4620,\n\t0x38a4: 0x405c4820, 0x38a5: 0x405c4a20, 0x38a6: 0x405c4c20, 0x38a7: 0x405c4e20,\n\t0x38a8: 0x405c5020, 0x38a9: 0x405c5220, 0x38aa: 0x405c5420, 0x38ab: 0x405c5620,\n\t0x38ac: 0x405c5820, 0x38ad: 0x405c5a20, 0x38ae: 0x405c5c20, 0x38af: 0x405c5e20,\n\t0x38b0: 0x405c6020, 0x38b1: 0x405c6220, 0x38b2: 0x405c6420, 0x38b3: 0x405c6620,\n\t0x38b4: 0x405c6820, 0x38b5: 0x405c6a20, 0x38b6: 0x405c6c20, 0x38b7: 0x405c6e20,\n\t0x38b8: 0x405c7020, 0x38b9: 0x405c7220, 0x38ba: 0x405c7420, 0x38bb: 0x405c7620,\n\t0x38bc: 0x405c7820, 0x38bd: 0x405c7a20, 0x38be: 0x405c7c20, 0x38bf: 0x405c7e20,\n\t// Block 0xe3, offset 0x38c0\n\t0x38c0: 0x405c8020, 0x38c1: 0x405c8220, 0x38c2: 0x405c8420, 0x38c3: 0x405c8620,\n\t0x38c4: 0x405c8820, 0x38c5: 0x405c8a20, 0x38c6: 0x405c8c20, 0x38c7: 0x405c8e20,\n\t0x38c8: 0x405c9020, 0x38c9: 0x405c9220, 0x38ca: 0x405c9420, 0x38cb: 0x405c9620,\n\t0x38cc: 0x405c9820, 0x38cd: 0x405c9a20, 0x38ce: 0x405c9c20, 0x38cf: 0x405c9e20,\n\t0x38d0: 0x405ca020, 0x38d1: 0x405ca220, 0x38d2: 0x405ca420, 0x38d3: 0x405ca620,\n\t0x38d4: 0x405ca820, 0x38d5: 0x405caa20, 0x38d6: 0x405cac20, 0x38d7: 0x405cae20,\n\t0x38d8: 0x405cb020, 0x38d9: 0x405cb220, 0x38da: 0x405cb420, 0x38db: 0x405cb620,\n\t0x38dc: 0x405cb820, 0x38dd: 0x405cba20, 0x38de: 0x405cbc20, 0x38df: 0x405cbe20,\n\t0x38e0: 0x405cc020, 0x38e1: 0x405cc220, 0x38e2: 0x405cc420, 0x38e3: 0x405cc620,\n\t0x38e4: 0x405cc820, 0x38e5: 0x405cca20, 0x38e6: 0x405ccc20, 0x38e7: 0x405cce20,\n\t0x38e8: 0x405cd020, 0x38e9: 0x405cd220, 0x38ea: 0x405cd420, 0x38eb: 0x405cd620,\n\t0x38ec: 0x405cd820, 0x38ed: 0x405cda20, 0x38ee: 0x405cdc20, 0x38ef: 0x405cde20,\n\t0x38f0: 0x405ce020, 0x38f1: 0x405ce220, 0x38f2: 0x405ce420, 0x38f3: 0x405ce620,\n\t0x38f4: 0x405ce820, 0x38f5: 0x405cea20, 0x38f6: 0x405cec20, 0x38f7: 0x405cee20,\n\t0x38f8: 0x405cf020, 0x38f9: 0x405cf220, 0x38fa: 0x405cf420, 0x38fb: 0x405cf620,\n\t0x38fc: 0x405cf820, 0x38fd: 0x405cfa20, 0x38fe: 0x405cfc20, 0x38ff: 0x405cfe20,\n\t// Block 0xe4, offset 0x3900\n\t0x3900: 0x405d0020, 0x3901: 0x405d0220, 0x3902: 0x405d0420, 0x3903: 0x405d0620,\n\t0x3904: 0x405d0820, 0x3905: 0x405d0a20, 0x3906: 0x405d0c20, 0x3907: 0x405d0e20,\n\t0x3908: 0x405d1020, 0x3909: 0x405d1220, 0x390a: 0x405d1420, 0x390b: 0x405d1620,\n\t0x390c: 0x405d1820, 0x390d: 0x405d1a20, 0x390e: 0x405d1c20, 0x390f: 0x405d1e20,\n\t0x3910: 0x405d2020, 0x3911: 0x405d2220, 0x3912: 0x405d2420, 0x3913: 0x405d2620,\n\t0x3914: 0x405d2820, 0x3915: 0x405d2a20, 0x3916: 0x405d2c20, 0x3917: 0x405d2e20,\n\t0x3918: 0x405d3020, 0x3919: 0x405d3220, 0x391a: 0x405d3420, 0x391b: 0x405d3620,\n\t0x391c: 0x405d3820, 0x391d: 0x405d3a20, 0x391e: 0x405d3c20, 0x391f: 0x405d3e20,\n\t0x3920: 0x405d4020, 0x3921: 0x405d4220, 0x3922: 0x405d4420, 0x3923: 0x405d4620,\n\t0x3924: 0x405d4820, 0x3925: 0x405d4a20, 0x3926: 0x405d4c20, 0x3927: 0x405d4e20,\n\t0x3928: 0x405d5020, 0x3929: 0x405d5220, 0x392a: 0x405d5420, 0x392b: 0x405d5620,\n\t0x392c: 0x405d5820, 0x392d: 0x405d5a20, 0x392e: 0x405d5c20, 0x392f: 0x405d5e20,\n\t0x3930: 0x405d6020, 0x3931: 0x405d6220, 0x3932: 0x405d6420, 0x3933: 0x405d6620,\n\t0x3934: 0x405d6820, 0x3935: 0x405d6a20, 0x3936: 0x405d6c20, 0x3937: 0x405d6e20,\n\t0x3938: 0x405d7020, 0x3939: 0x405d7220, 0x393a: 0x405d7420, 0x393b: 0x405d7620,\n\t0x393c: 0x405d7820, 0x393d: 0x405d7a20, 0x393e: 0x405d7c20, 0x393f: 0x405d7e20,\n\t// Block 0xe5, offset 0x3940\n\t0x3940: 0x405d8020, 0x3941: 0x405d8220, 0x3942: 0x405d8420, 0x3943: 0x405d8620,\n\t0x3944: 0x405d8820, 0x3945: 0x405d8a20, 0x3946: 0x405d8c20, 0x3947: 0x405d8e20,\n\t0x3948: 0x405d9020, 0x3949: 0x405d9220, 0x394a: 0x405d9420, 0x394b: 0x405d9620,\n\t0x394c: 0x405d9820, 0x394d: 0x40025820, 0x394e: 0x40030020, 0x394f: 0x4002d820,\n\t0x3950: 0x005c3084, 0x3951: 0x005c5484, 0x3952: 0x005c8e84, 0x3953: 0xe00020fb,\n\t0x3954: 0xe00020fe, 0x3955: 0xe0002101, 0x3956: 0xe0002104, 0x3957: 0xe0002107,\n\t0x3958: 0xe000210a, 0x3959: 0xe000210d, 0x395a: 0xe0002110, 0x395b: 0xe0002113,\n\t0x395c: 0xe0002116, 0x395d: 0xe0002119, 0x395e: 0xe000211c, 0x395f: 0xe000211f,\n\t0x3960: 0xe00001cd, 0x3961: 0xe0000261, 0x3962: 0xe0000379, 0x3963: 0xe0000453,\n\t0x3964: 0xe0000528, 0x3965: 0xe00005f2, 0x3966: 0xe00006bd, 0x3967: 0xe0000765,\n\t0x3968: 0xe0000811, 0x3969: 0xe00008b6, 0x396a: 0x005c5c84, 0x396b: 0x005d2284,\n\t// Block 0xe6, offset 0x3980\n\t0x3980: 0x0033ec88, 0x3981: 0x4033ec20, 0x3982: 0x0033fa88, 0x3983: 0x4033fa20,\n\t0x3984: 0x00340488, 0x3985: 0x40340420, 0x3986: 0x00343488, 0x3987: 0x40343420,\n\t0x3988: 0x00344e88, 0x3989: 0x40344e20, 0x398a: 0x0035a288, 0x398b: 0x4035a220,\n\t0x398c: 0x0035f088, 0x398d: 0x4035f020, 0x398e: 0x00366e88, 0x398f: 0x40366e20,\n\t0x3990: 0x00367c88, 0x3991: 0x40367c20, 0x3992: 0x0036a688, 0x3993: 0x4036a620,\n\t0x3994: 0x0036c088, 0x3995: 0x4036c020, 0x3996: 0x0036c288, 0x3997: 0x4036c220,\n\t0x3998: 0x0036de88, 0x3999: 0x4036de20, 0x399a: 0x0036e888, 0x399b: 0x4036e820,\n\t0x399c: 0x0036f288, 0x399d: 0x4036f220, 0x399e: 0x00372488, 0x399f: 0x40372420,\n\t0x39a0: 0x00360a88, 0x39a1: 0x40360a20, 0x39a2: 0x00339e88, 0x39a3: 0x40339e20,\n\t0x39a4: 0x0034a288, 0x39a5: 0x4034a220, 0x39a6: 0x0034b888, 0x39a7: 0x4034b820,\n\t0x39a8: 0x0034ee8a, 0x39a9: 0x0034ee84, 0x39aa: 0x0034ee8a, 0x39ab: 0x0034ee84,\n\t0x39ac: 0x0034ee8a, 0x39ad: 0x0034ee84, 0x39ae: 0x0034ee84, 0x39af: 0xae608402,\n\t0x39b0: 0xa0000000, 0x39b1: 0xa0000000, 0x39b2: 0xa0000000, 0x39b3: 0x4004e020,\n\t0x39b4: 0x84e619e1, 0x39b5: 0x84e61a0a, 0x39b6: 0x84e61a1b, 0x39b7: 0x84e61ab9,\n\t0x39b8: 0x84e61b3a, 0x39b9: 0x84e61b3f, 0x39ba: 0x84e61b47, 0x39bb: 0x84e61af0,\n\t0x39bc: 0xae605f02, 0x39bd: 0xae605f02, 0x39be: 0x40054c20, 0x39bf: 0x40367220,\n\t// Block 0xe7, offset 0x39c0\n\t0x39c0: 0x00339488, 0x39c1: 0x40339420, 0x39c2: 0x00341288, 0x39c3: 0x40341220,\n\t0x39c4: 0x0033d288, 0x39c5: 0x4033d220, 0x39c6: 0x00364288, 0x39c7: 0x40364220,\n\t0x39c8: 0x00340e88, 0x39c9: 0x40340e20, 0x39ca: 0x00356088, 0x39cb: 0x40356020,\n\t0x39cc: 0x00355488, 0x39cd: 0x40355420, 0x39ce: 0x00360c88, 0x39cf: 0x40360c20,\n\t0x39d0: 0x00361688, 0x39d1: 0x40361620, 0x39d2: 0x00362088, 0x39d3: 0x40362020,\n\t0x39d4: 0x0035de88, 0x39d5: 0x4035de20, 0x39d6: 0x00366488, 0x39d7: 0x40366420,\n\t0x39df: 0x84e61b67,\n\t0x39e0: 0x405d9a20, 0x39e1: 0x405d9c20, 0x39e2: 0x405d9e20, 0x39e3: 0x405da020,\n\t0x39e4: 0x405da220, 0x39e5: 0x405da420, 0x39e6: 0x405da620, 0x39e7: 0x405da820,\n\t0x39e8: 0x405daa20, 0x39e9: 0x405dac20, 0x39ea: 0x405dae20, 0x39eb: 0x405db020,\n\t0x39ec: 0x405db220, 0x39ed: 0x405db420, 0x39ee: 0x405db620, 0x39ef: 0x405db820,\n\t0x39f0: 0x405dba20, 0x39f1: 0x405dbc20, 0x39f2: 0x405dbe20, 0x39f3: 0x405dc020,\n\t0x39f4: 0x405dc220, 0x39f5: 0x405dc420, 0x39f6: 0x405dc620, 0x39f7: 0x405dc820,\n\t0x39f8: 0x405dca20, 0x39f9: 0x405dcc20, 0x39fa: 0x405dce20, 0x39fb: 0x405dd020,\n\t0x39fc: 0x405dd220, 0x39fd: 0x405dd420, 0x39fe: 0x405dd620, 0x39ff: 0x405dd820,\n\t// Block 0xe8, offset 0x3a00\n\t0x3a00: 0x405dda20, 0x3a01: 0x405ddc20, 0x3a02: 0x405dde20, 0x3a03: 0x405de020,\n\t0x3a04: 0x405de220, 0x3a05: 0x405de420, 0x3a06: 0x405de620, 0x3a07: 0x405de820,\n\t0x3a08: 0x405dea20, 0x3a09: 0x405dec20, 0x3a0a: 0x405dee20, 0x3a0b: 0x405df020,\n\t0x3a0c: 0x405df220, 0x3a0d: 0x405df420, 0x3a0e: 0x405df620, 0x3a0f: 0x405df820,\n\t0x3a10: 0x405dfa20, 0x3a11: 0x405dfc20, 0x3a12: 0x405dfe20, 0x3a13: 0x405e0020,\n\t0x3a14: 0x405e0220, 0x3a15: 0x405e0420, 0x3a16: 0x405e0620, 0x3a17: 0x405e0820,\n\t0x3a18: 0x405e0a20, 0x3a19: 0x405e0c20, 0x3a1a: 0x405e0e20, 0x3a1b: 0x405e1020,\n\t0x3a1c: 0x405e1220, 0x3a1d: 0x405e1420, 0x3a1e: 0x405e1620, 0x3a1f: 0x405e1820,\n\t0x3a20: 0x405e1a20, 0x3a21: 0x405e1c20, 0x3a22: 0x405e1e20, 0x3a23: 0x405e2020,\n\t0x3a24: 0x405e2220, 0x3a25: 0x405e2420, 0x3a26: 0x405e2620, 0x3a27: 0x405e2820,\n\t0x3a28: 0x405e2a20, 0x3a29: 0x405e2c20, 0x3a2a: 0x405e2e20, 0x3a2b: 0x405e3020,\n\t0x3a2c: 0x405e3220, 0x3a2d: 0x405e3420, 0x3a2e: 0x405e3620, 0x3a2f: 0x405e3820,\n\t0x3a30: 0xae60ef02, 0x3a31: 0xae60f002, 0x3a32: 0x40038220, 0x3a33: 0x40030220,\n\t0x3a34: 0x4002b820, 0x3a35: 0x40025a20, 0x3a36: 0x40026a20, 0x3a37: 0x4002da20,\n\t// Block 0xe9, offset 0x3a40\n\t0x3a40: 0x4006ba20, 0x3a41: 0x4006bc20, 0x3a42: 0x4006be20, 0x3a43: 0x4006c020,\n\t0x3a44: 0x4006c220, 0x3a45: 0x4006c420, 0x3a46: 0x4006c620, 0x3a47: 0x4006c820,\n\t0x3a48: 0x4006ca20, 0x3a49: 0x4006cc20, 0x3a4a: 0x4006ce20, 0x3a4b: 0x4006d020,\n\t0x3a4c: 0x4006d220, 0x3a4d: 0x4006d420, 0x3a4e: 0x4006d620, 0x3a4f: 0x4006d820,\n\t0x3a50: 0x4006da20, 0x3a51: 0x4006dc20, 0x3a52: 0x4006de20, 0x3a53: 0x4006e020,\n\t0x3a54: 0x4006e220, 0x3a55: 0x4006e420, 0x3a56: 0x4006e620, 0x3a57: 0x4006e820,\n\t0x3a58: 0x4006ea20, 0x3a59: 0x4006ec20, 0x3a5a: 0x4006ee20, 0x3a5b: 0x4006f020,\n\t0x3a5c: 0x4006f220, 0x3a5d: 0x4006f420, 0x3a5e: 0x4006f620, 0x3a5f: 0x4006f820,\n\t0x3a60: 0x4006fa20, 0x3a61: 0x4006fc20, 0x3a62: 0x0031e488, 0x3a63: 0x4031e420,\n\t0x3a64: 0x0031f888, 0x3a65: 0x4031f820, 0x3a66: 0x002d8c88, 0x3a67: 0x402d8c20,\n\t0x3a68: 0xe0000fd5, 0x3a69: 0xe0000fd2, 0x3a6a: 0x0031ae88, 0x3a6b: 0x4031ae20,\n\t0x3a6c: 0x0031b088, 0x3a6d: 0x4031b020, 0x3a6e: 0x0031b288, 0x3a6f: 0x4031b220,\n\t0x3a70: 0x402d1020, 0x3a71: 0x402fee20, 0x3a72: 0xe00009cf, 0x3a73: 0xe00009cc,\n\t0x3a74: 0xe00009ff, 0x3a75: 0xe00009fc, 0x3a76: 0xe0000a05, 0x3a77: 0xe0000a02,\n\t0x3a78: 0xe0000a0e, 0x3a79: 0xe0000a0b, 0x3a7a: 0xe0000a15, 0x3a7b: 0xe0000a11,\n\t0x3a7c: 0xe0000a1c, 0x3a7d: 0xe0000a19, 0x3a7e: 0x002c6088, 0x3a7f: 0x402c6020,\n\t// Block 0xea, offset 0x3a80\n\t0x3a80: 0x002e1488, 0x3a81: 0x402e1420, 0x3a82: 0x002e1688, 0x3a83: 0x402e1620,\n\t0x3a84: 0x002e1888, 0x3a85: 0x402e1820, 0x3a86: 0x002e3288, 0x3a87: 0x402e3220,\n\t0x3a88: 0x002e3688, 0x3a89: 0x402e3620, 0x3a8a: 0x002f1888, 0x3a8b: 0x402f1820,\n\t0x3a8c: 0x002f0888, 0x3a8d: 0x402f0820, 0x3a8e: 0xe0000ea1, 0x3a8f: 0xe0000e9e,\n\t0x3a90: 0x002f3888, 0x3a91: 0x402f3820, 0x3a92: 0x002f4688, 0x3a93: 0x402f4620,\n\t0x3a94: 0x002f4888, 0x3a95: 0x402f4820, 0x3a96: 0x002f5e88, 0x3a97: 0x402f5e20,\n\t0x3a98: 0x002f6088, 0x3a99: 0x402f6020, 0x3a9a: 0x002f8a88, 0x3a9b: 0x402f8a20,\n\t0x3a9c: 0x002fe488, 0x3a9d: 0x402fe420, 0x3a9e: 0x0030c888, 0x3a9f: 0x4030c820,\n\t0x3aa0: 0xe00010c6, 0x3aa1: 0xe00010c3, 0x3aa2: 0x00316288, 0x3aa3: 0x40316220,\n\t0x3aa4: 0x00319088, 0x3aa5: 0x40319020, 0x3aa6: 0x00319288, 0x3aa7: 0x40319220,\n\t0x3aa8: 0x00319c88, 0x3aa9: 0x40319c20, 0x3aaa: 0x00319e88, 0x3aab: 0x40319e20,\n\t0x3aac: 0x0031a088, 0x3aad: 0x4031a020, 0x3aae: 0x0031a288, 0x3aaf: 0x4031a220,\n\t0x3ab0: 0x0031a294, 0x3ab1: 0x402c9420, 0x3ab2: 0x402e6620, 0x3ab3: 0x402e9c20,\n\t0x3ab4: 0x402ed820, 0x3ab5: 0x402fe020, 0x3ab6: 0x402fe220, 0x3ab7: 0x40306220,\n\t0x3ab8: 0x4031a420, 0x3ab9: 0xe0000abc, 0x3aba: 0xe0000ab9, 0x3abb: 0xe0000b92,\n\t0x3abc: 0xe0000b8f, 0x3abd: 0xe0000bdc, 0x3abe: 0x002d5688, 0x3abf: 0x402d5620,\n\t// Block 0xeb, offset 0x3ac0\n\t0x3ac0: 0x002e7088, 0x3ac1: 0x402e7020, 0x3ac2: 0xe0000f08, 0x3ac3: 0xe0000f05,\n\t0x3ac4: 0xe0000f6d, 0x3ac5: 0xe0000f6a, 0x3ac6: 0xe0000fb7, 0x3ac7: 0xe0000fb4,\n\t0x3ac8: 0x4006fe20, 0x3ac9: 0x40070020, 0x3aca: 0x40070220, 0x3acb: 0x0031e688,\n\t0x3acc: 0x4031e620, 0x3acd: 0x00308888, 0x3ace: 0x402e5c20,\n\t0x3ad0: 0x002ec488, 0x3ad1: 0x402ec420, 0x3ad2: 0x002c4c88, 0x3ad3: 0x402c4c20,\n\t0x3ae0: 0xe0000bd6, 0x3ae1: 0xe0000bd3, 0x3ae2: 0xe0000ca5, 0x3ae3: 0xe0000ca2,\n\t0x3ae4: 0xe0000d75, 0x3ae5: 0xe0000d72, 0x3ae6: 0xe0000ee2, 0x3ae7: 0xe0000edf,\n\t0x3ae8: 0xe0000f4d, 0x3ae9: 0xe0000f4a, 0x3aea: 0x002d8088,\n\t// Block 0xec, offset 0x3b00\n\t0x3b38: 0xf0001414, 0x3b39: 0xe0000e97, 0x3b3a: 0x4030a820, 0x3b3b: 0x402d2020,\n\t0x3b3c: 0x402f4a20, 0x3b3d: 0x402e9820, 0x3b3e: 0x402db220, 0x3b3f: 0x402e9a20,\n\t// Block 0xed, offset 0x3b40\n\t0x3b40: 0x4045aa20, 0x3b41: 0x4045ac20, 0x3b42: 0x4045ae20, 0x3b43: 0x4045b020,\n\t0x3b44: 0x4045b220, 0x3b45: 0x4045b420, 0x3b46: 0x820922db, 0x3b47: 0x4045b820,\n\t0x3b48: 0x4045ba20, 0x3b49: 0x4045bc20, 0x3b4a: 0x4045be20, 0x3b4b: 0xa000f302,\n\t0x3b4c: 0x4045c020, 0x3b4d: 0x4045c220, 0x3b4e: 0x4045c420, 0x3b4f: 0x4045c620,\n\t0x3b50: 0x4045c820, 0x3b51: 0x4045ca20, 0x3b52: 0x4045cc20, 0x3b53: 0x4045ce20,\n\t0x3b54: 0x4045d020, 0x3b55: 0x4045d220, 0x3b56: 0x4045d420, 0x3b57: 0x4045d620,\n\t0x3b58: 0x4045d820, 0x3b59: 0x4045da20, 0x3b5a: 0x4045dc20, 0x3b5b: 0x4045de20,\n\t0x3b5c: 0x4045e020, 0x3b5d: 0x4045e220, 0x3b5e: 0x4045e420, 0x3b5f: 0x4045e620,\n\t0x3b60: 0x4045e820, 0x3b61: 0x4045ea20, 0x3b62: 0x4045ec20, 0x3b63: 0x4045ee20,\n\t0x3b64: 0x4045f020, 0x3b65: 0x4045f220, 0x3b66: 0x4045f420, 0x3b67: 0x4045f620,\n\t0x3b68: 0x40075020, 0x3b69: 0x40075220, 0x3b6a: 0x40075420, 0x3b6b: 0x40075620,\n\t0x3b70: 0x40284820, 0x3b71: 0x40284a20, 0x3b72: 0x40284c20, 0x3b73: 0x40284e20,\n\t0x3b74: 0x40285020, 0x3b75: 0x40285220, 0x3b76: 0x40075820, 0x3b77: 0x40075a20,\n\t0x3b78: 0x4027f020, 0x3b79: 0x40075c20,\n\t// Block 0xee, offset 0x3b80\n\t0x3b80: 0x404baa20, 0x3b81: 0x404bac20, 0x3b82: 0x404bae20, 0x3b83: 0x404bb020,\n\t0x3b84: 0x404bb220, 0x3b85: 0x404bb420, 0x3b86: 0x404bb620, 0x3b87: 0x404bb820,\n\t0x3b88: 0x404bc220, 0x3b89: 0x404bc420, 0x3b8a: 0x404bc620, 0x3b8b: 0x404bc820,\n\t0x3b8c: 0x404bca20, 0x3b8d: 0x404bcc20, 0x3b8e: 0x404bce20, 0x3b8f: 0x404bd020,\n\t0x3b90: 0x404bd220, 0x3b91: 0x404bd420, 0x3b92: 0x404bd620, 0x3b93: 0x404bd820,\n\t0x3b94: 0x404bdc20, 0x3b95: 0x404bde20, 0x3b96: 0x404be020, 0x3b97: 0x404be220,\n\t0x3b98: 0x404be820, 0x3b99: 0x404bee20, 0x3b9a: 0x404bf020, 0x3b9b: 0x404bf420,\n\t0x3b9c: 0x404bf620, 0x3b9d: 0x404bfc20, 0x3b9e: 0x404c0620, 0x3b9f: 0x404c0820,\n\t0x3ba0: 0x404c0a20, 0x3ba1: 0x404c0c20, 0x3ba2: 0x404bfe20, 0x3ba3: 0x404c0020,\n\t0x3ba4: 0x404c0220, 0x3ba5: 0x404c0420, 0x3ba6: 0x404c0e20, 0x3ba7: 0x404bda20,\n\t0x3ba8: 0x404be420, 0x3ba9: 0x404bba20, 0x3baa: 0x404bbc20, 0x3bab: 0x404bbe20,\n\t0x3bac: 0x404bc020, 0x3bad: 0x404be620, 0x3bae: 0x404bf220, 0x3baf: 0x404bf820,\n\t0x3bb0: 0x404bfa20, 0x3bb1: 0x404bea20, 0x3bb2: 0x404bec20, 0x3bb3: 0x404c1020,\n\t0x3bb4: 0x4005e820, 0x3bb5: 0x4005ea20, 0x3bb6: 0x40031820, 0x3bb7: 0x40031a20,\n\t// Block 0xef, offset 0x3bc0\n\t0x3bc0: 0xa000f302, 0x3bc1: 0xa000f402, 0x3bc2: 0x4045f820, 0x3bc3: 0x4045fa20,\n\t0x3bc4: 0x4045fc20, 0x3bc5: 0x4045fe20, 0x3bc6: 0x40460020, 0x3bc7: 0x40460220,\n\t0x3bc8: 0x40460420, 0x3bc9: 0x40460620, 0x3bca: 0x40460820, 0x3bcb: 0x40460a20,\n\t0x3bcc: 0x40460c20, 0x3bcd: 0x40460e20, 0x3bce: 0x40461020, 0x3bcf: 0x40461220,\n\t0x3bd0: 0x40461420, 0x3bd1: 0x40461620, 0x3bd2: 0x40461820, 0x3bd3: 0x40461a20,\n\t0x3bd4: 0x40461c20, 0x3bd5: 0x40461e20, 0x3bd6: 0x40462020, 0x3bd7: 0x40462220,\n\t0x3bd8: 0x40462420, 0x3bd9: 0x40462620, 0x3bda: 0x40462820, 0x3bdb: 0x40462a20,\n\t0x3bdc: 0x40462c20, 0x3bdd: 0x40462e20, 0x3bde: 0x40463020, 0x3bdf: 0x40463220,\n\t0x3be0: 0x40463420, 0x3be1: 0x40463620, 0x3be2: 0x40463820, 0x3be3: 0x40463a20,\n\t0x3be4: 0x40463c20, 0x3be5: 0x40463e20, 0x3be6: 0x40464020, 0x3be7: 0x40464220,\n\t0x3be8: 0x40464420, 0x3be9: 0x40464620, 0x3bea: 0x40464820, 0x3beb: 0x40464a20,\n\t0x3bec: 0x40464c20, 0x3bed: 0x40464e20, 0x3bee: 0x40465020, 0x3bef: 0x40465220,\n\t0x3bf0: 0x40465420, 0x3bf1: 0x40465620, 0x3bf2: 0x40465820, 0x3bf3: 0x40465a20,\n\t0x3bf4: 0x40465c20, 0x3bf5: 0x40465e20, 0x3bf6: 0x40466020, 0x3bf7: 0x40466220,\n\t0x3bf8: 0x40466420, 0x3bf9: 0x40466620, 0x3bfa: 0x40466820, 0x3bfb: 0x40466a20,\n\t0x3bfc: 0x40466c20, 0x3bfd: 0x40466e20, 0x3bfe: 0x40467020, 0x3bff: 0x40467220,\n\t// Block 0xf0, offset 0x3c00\n\t0x3c00: 0x40467420, 0x3c01: 0x40467620, 0x3c02: 0x40467820, 0x3c03: 0x40467a20,\n\t0x3c04: 0x8209233e,\n\t0x3c0e: 0x40031020, 0x3c0f: 0x40031220,\n\t0x3c10: 0xe000018b, 0x3c11: 0xe000021c, 0x3c12: 0xe0000337, 0x3c13: 0xe0000411,\n\t0x3c14: 0xe00004e6, 0x3c15: 0xe00005b0, 0x3c16: 0xe000067b, 0x3c17: 0xe0000723,\n\t0x3c18: 0xe00007cf, 0x3c19: 0xe0000874,\n\t0x3c20: 0xae600000, 0x3c21: 0xae600000, 0x3c22: 0xae600000, 0x3c23: 0xae600000,\n\t0x3c24: 0xae600000, 0x3c25: 0xae600000, 0x3c26: 0xae600000, 0x3c27: 0xae600000,\n\t0x3c28: 0xae600000, 0x3c29: 0xae600000, 0x3c2a: 0xae600000, 0x3c2b: 0xae600000,\n\t0x3c2c: 0xae600000, 0x3c2d: 0xae600000, 0x3c2e: 0xae600000, 0x3c2f: 0xae600000,\n\t0x3c30: 0xae600000, 0x3c31: 0xae600000, 0x3c32: 0x40404620, 0x3c33: 0x00404684,\n\t0x3c34: 0x00404684, 0x3c35: 0x00404684, 0x3c36: 0x00404684, 0x3c37: 0x00404684,\n\t0x3c38: 0x40056e20, 0x3c39: 0x40057020, 0x3c3a: 0x40057220, 0x3c3b: 0x40404820,\n\t// Block 0xf1, offset 0x3c40\n\t0x3c40: 0xe00001a9, 0x3c41: 0xe000023d, 0x3c42: 0xe0000355, 0x3c43: 0xe000042f,\n\t0x3c44: 0xe0000504, 0x3c45: 0xe00005ce, 0x3c46: 0xe0000699, 0x3c47: 0xe0000741,\n\t0x3c48: 0xe00007ed, 0x3c49: 0xe0000892, 0x3c4a: 0x404dd220, 0x3c4b: 0x404dd420,\n\t0x3c4c: 0x404dd620, 0x3c4d: 0x404dd820, 0x3c4e: 0x404dda20, 0x3c4f: 0x404ddc20,\n\t0x3c50: 0x404dde20, 0x3c51: 0x404de020, 0x3c52: 0x404de220, 0x3c53: 0x404de420,\n\t0x3c54: 0x404de620, 0x3c55: 0x404de820, 0x3c56: 0x404dea20, 0x3c57: 0x404dec20,\n\t0x3c58: 0x404dee20, 0x3c59: 0x404df020, 0x3c5a: 0x404df220, 0x3c5b: 0x404df420,\n\t0x3c5c: 0x404df620, 0x3c5d: 0x404df820, 0x3c5e: 0x404dfa20, 0x3c5f: 0x404dfc20,\n\t0x3c60: 0x404dfe20, 0x3c61: 0x404e0020, 0x3c62: 0x404e0220, 0x3c63: 0x404e0420,\n\t0x3c64: 0x404e0620, 0x3c65: 0x404e0820, 0x3c66: 0x404e0a20, 0x3c67: 0x404e0c20,\n\t0x3c68: 0x404e0e20, 0x3c69: 0x404e1020, 0x3c6a: 0x404e1220, 0x3c6b: 0xadc10f02,\n\t0x3c6c: 0xadc11002, 0x3c6d: 0xadc11102, 0x3c6e: 0x4005f420, 0x3c6f: 0x40032020,\n\t0x3c70: 0x404d8a20, 0x3c71: 0x404d8c20, 0x3c72: 0x404d8e20, 0x3c73: 0x404d9020,\n\t0x3c74: 0x404d9220, 0x3c75: 0x404d9420, 0x3c76: 0x404d9620, 0x3c77: 0x404d9820,\n\t0x3c78: 0x404d9a20, 0x3c79: 0x404d9c20, 0x3c7a: 0x404d9e20, 0x3c7b: 0x404da020,\n\t0x3c7c: 0x404da220, 0x3c7d: 0x404da420, 0x3c7e: 0x404da620, 0x3c7f: 0x404da820,\n\t// Block 0xf2, offset 0x3c80\n\t0x3c80: 0x404daa20, 0x3c81: 0x404dac20, 0x3c82: 0x404dae20, 0x3c83: 0x404db020,\n\t0x3c84: 0x404db220, 0x3c85: 0x404db420, 0x3c86: 0x404db620, 0x3c87: 0x404db820,\n\t0x3c88: 0x404dba20, 0x3c89: 0x404dbc20, 0x3c8a: 0x404dbe20, 0x3c8b: 0x404dc020,\n\t0x3c8c: 0x404dc220, 0x3c8d: 0x404dc420, 0x3c8e: 0x404dc620, 0x3c8f: 0x404dc820,\n\t0x3c90: 0x404dca20, 0x3c91: 0x404dcc20, 0x3c92: 0x404dce20, 0x3c93: 0x820926e8,\n\t0x3c9f: 0x40038420,\n\t0x3ca0: 0x40636a20, 0x3ca1: 0x40636c20, 0x3ca2: 0x40636e20, 0x3ca3: 0x40637020,\n\t0x3ca4: 0x40637220, 0x3ca5: 0x40637420, 0x3ca6: 0x40637620, 0x3ca7: 0x40637820,\n\t0x3ca8: 0x40637a20, 0x3ca9: 0x40637c20, 0x3caa: 0x40637e20, 0x3cab: 0x40638020,\n\t0x3cac: 0x40638220, 0x3cad: 0x40638420, 0x3cae: 0x40638620, 0x3caf: 0x40638820,\n\t0x3cb0: 0x40638a20, 0x3cb1: 0x40638c20, 0x3cb2: 0x40638e20, 0x3cb3: 0x40639020,\n\t0x3cb4: 0x40639220, 0x3cb5: 0x40639420, 0x3cb6: 0x40639620, 0x3cb7: 0x40639820,\n\t0x3cb8: 0x40639a20, 0x3cb9: 0x40639c20, 0x3cba: 0x40639e20, 0x3cbb: 0x4063a020,\n\t0x3cbc: 0x4063a220,\n\t// Block 0xf3, offset 0x3cc0\n\t0x3cc0: 0xa000f202, 0x3cc1: 0xa000f302, 0x3cc2: 0xa000f802, 0x3cc3: 0xa000f402,\n\t0x3cc4: 0x4052b220, 0x3cc5: 0x4052b420, 0x3cc6: 0x4052b620, 0x3cc7: 0x4052b820,\n\t0x3cc8: 0x4052ba20, 0x3cc9: 0x4052bc20, 0x3cca: 0x4052be20, 0x3ccb: 0x4052c020,\n\t0x3ccc: 0x4052c220, 0x3ccd: 0x4052c420, 0x3cce: 0x4052c620, 0x3ccf: 0x4052c820,\n\t0x3cd0: 0x4052ca20, 0x3cd1: 0x4052cc20, 0x3cd2: 0x4052ce20, 0x3cd3: 0x4052d020,\n\t0x3cd4: 0x4052d220, 0x3cd5: 0x4052d420, 0x3cd6: 0x4052d620, 0x3cd7: 0x4052d820,\n\t0x3cd8: 0x4052da20, 0x3cd9: 0x4052dc20, 0x3cda: 0x4052de20, 0x3cdb: 0x4052e020,\n\t0x3cdc: 0x4052e220, 0x3cdd: 0x4052e420, 0x3cde: 0x4052e620, 0x3cdf: 0x4052e820,\n\t0x3ce0: 0x4052ea20, 0x3ce1: 0x4052ec20, 0x3ce2: 0x4052ee20, 0x3ce3: 0x4052f020,\n\t0x3ce4: 0x4052f220, 0x3ce5: 0x4052f420, 0x3ce6: 0x4052f620, 0x3ce7: 0x4052f820,\n\t0x3ce8: 0x4052fa20, 0x3ce9: 0x4052fc20, 0x3cea: 0x4052fe20, 0x3ceb: 0x40530220,\n\t0x3cec: 0x00530284, 0x3ced: 0x40530620, 0x3cee: 0x40530820, 0x3cef: 0x40530a20,\n\t0x3cf0: 0x40530c20, 0x3cf1: 0x40530e20, 0x3cf2: 0x40531020, 0x3cf3: 0xa070f102,\n\t0x3cf4: 0x40531220, 0x3cf5: 0x40532420, 0x3cf6: 0x40531620, 0x3cf7: 0x40531820,\n\t0x3cf8: 0x40531a20, 0x3cf9: 0x40531c20, 0x3cfa: 0x40532020, 0x3cfb: 0x40532220,\n\t0x3cfc: 0x40531420, 0x3cfd: 0x40531e20, 0x3cfe: 0x40530020, 0x3cff: 0x40530420,\n\t// Block 0xf4, offset 0x3d00\n\t0x3d00: 0x82092993, 0x3d01: 0x40036e20, 0x3d02: 0x40037020, 0x3d03: 0x40037220,\n\t0x3d04: 0x40037420, 0x3d05: 0x40037620, 0x3d06: 0x40037820, 0x3d07: 0x4002b020,\n\t0x3d08: 0x40033620, 0x3d09: 0x40033820, 0x3d0a: 0x40037a20, 0x3d0b: 0x40037c20,\n\t0x3d0c: 0x40037e20, 0x3d0d: 0x40038020, 0x3d0f: 0x4027c020,\n\t0x3d10: 0xe00001c1, 0x3d11: 0xe0000255, 0x3d12: 0xe000036d, 0x3d13: 0xe0000447,\n\t0x3d14: 0xe000051c, 0x3d15: 0xe00005e6, 0x3d16: 0xe00006b1, 0x3d17: 0xe0000759,\n\t0x3d18: 0xe0000805, 0x3d19: 0xe00008aa,\n\t0x3d1e: 0x4005f620, 0x3d1f: 0x4005f820,\n\t// Block 0xf5, offset 0x3d40\n\t0x3d40: 0x40519c20, 0x3d41: 0x40519e20, 0x3d42: 0x4051a020, 0x3d43: 0x4051a220,\n\t0x3d44: 0x4051a420, 0x3d45: 0x4051a620, 0x3d46: 0x4051a820, 0x3d47: 0x4051aa20,\n\t0x3d48: 0x4051ac20, 0x3d49: 0x4051ae20, 0x3d4a: 0x4051b020, 0x3d4b: 0x4051b220,\n\t0x3d4c: 0x4051b420, 0x3d4d: 0x4051b620, 0x3d4e: 0x4051b820, 0x3d4f: 0x4051ba20,\n\t0x3d50: 0x4051bc20, 0x3d51: 0x4051be20, 0x3d52: 0x4051c020, 0x3d53: 0x4051c220,\n\t0x3d54: 0x4051c420, 0x3d55: 0x4051c620, 0x3d56: 0x4051c820, 0x3d57: 0x4051ca20,\n\t0x3d58: 0x4051cc20, 0x3d59: 0x4051ce20, 0x3d5a: 0x4051d020, 0x3d5b: 0x4051d220,\n\t0x3d5c: 0x4051d420, 0x3d5d: 0x4051d620, 0x3d5e: 0x4051d820, 0x3d5f: 0x4051da20,\n\t0x3d60: 0x4051dc20, 0x3d61: 0x4051de20, 0x3d62: 0x4051e020, 0x3d63: 0x4051e220,\n\t0x3d64: 0x4051e420, 0x3d65: 0x4051e620, 0x3d66: 0x4051e820, 0x3d67: 0x4051ea20,\n\t0x3d68: 0x4051ec20, 0x3d69: 0x4051f620, 0x3d6a: 0x4051f820, 0x3d6b: 0x4051fa20,\n\t0x3d6c: 0x4051fc20, 0x3d6d: 0x4051fe20, 0x3d6e: 0x40520020, 0x3d6f: 0x40520220,\n\t0x3d70: 0x40520420, 0x3d71: 0x40520620, 0x3d72: 0x40520820, 0x3d73: 0x4051ee20,\n\t0x3d74: 0x4051f020, 0x3d75: 0x4051f220, 0x3d76: 0x4051f420,\n\t// Block 0xf6, offset 0x3d80\n\t0x3d80: 0x40520a20, 0x3d81: 0x40520c20, 0x3d82: 0x40520e20, 0x3d83: 0x40521020,\n\t0x3d84: 0x40521220, 0x3d85: 0x40521420, 0x3d86: 0x40521620, 0x3d87: 0x40521820,\n\t0x3d88: 0x40521a20, 0x3d89: 0x40521c20, 0x3d8a: 0x40521e20, 0x3d8b: 0x40522020,\n\t0x3d8c: 0x40522220, 0x3d8d: 0x40522420,\n\t0x3d90: 0xe00001bb, 0x3d91: 0xe000024f, 0x3d92: 0xe0000367, 0x3d93: 0xe0000441,\n\t0x3d94: 0xe0000516, 0x3d95: 0xe00005e0, 0x3d96: 0xe00006ab, 0x3d97: 0xe0000753,\n\t0x3d98: 0xe00007ff, 0x3d99: 0xe00008a4,\n\t0x3d9c: 0x4005fa20, 0x3d9d: 0x40033a20, 0x3d9e: 0x40033c20, 0x3d9f: 0x40033e20,\n\t0x3da0: 0x404e2020, 0x3da1: 0x404e2c20, 0x3da2: 0x404e3020, 0x3da3: 0x404e3420,\n\t0x3da4: 0x404e3e20, 0x3da5: 0x404e4620, 0x3da6: 0x404e4c20, 0x3da7: 0x404e5020,\n\t0x3da8: 0x404e5420, 0x3da9: 0x404e5820, 0x3daa: 0x404e6820, 0x3dab: 0x404e6e20,\n\t0x3dac: 0x404ea820, 0x3dad: 0x404eae20, 0x3dae: 0x404eb220, 0x3daf: 0x404e7a20,\n\t0x3db0: 0x4027c220, 0x3db1: 0x404eb420, 0x3db2: 0x404e3820, 0x3db3: 0x404e8e20,\n\t0x3db4: 0x404f3a20, 0x3db5: 0x404f3c20, 0x3db6: 0x404f3e20, 0x3db7: 0x4007ac20,\n\t0x3db8: 0x4007ae20, 0x3db9: 0x4007b020, 0x3dba: 0x404e9020, 0x3dbb: 0x404f3820,\n\t// Block 0xf7, offset 0x3dc0\n\t0x3dc0: 0x4049f020, 0x3dc1: 0x4049f220, 0x3dc2: 0x4049f420, 0x3dc3: 0x4049f620,\n\t0x3dc4: 0x4049f820, 0x3dc5: 0x4049fa20, 0x3dc6: 0x4049fc20, 0x3dc7: 0x4049fe20,\n\t0x3dc8: 0x404a0020, 0x3dc9: 0x404a0220, 0x3dca: 0x404a0420, 0x3dcb: 0x404a0620,\n\t0x3dcc: 0x404a0820, 0x3dcd: 0x404a0a20, 0x3dce: 0x404a0c20, 0x3dcf: 0x404a0e20,\n\t0x3dd0: 0x404a1020, 0x3dd1: 0x404a1220, 0x3dd2: 0x404a1420, 0x3dd3: 0x404a1620,\n\t0x3dd4: 0x404a1820, 0x3dd5: 0x404a1a20, 0x3dd6: 0x404a1c20, 0x3dd7: 0x404a1e20,\n\t0x3dd8: 0x404a2020, 0x3dd9: 0x404a2220, 0x3dda: 0x404a2420, 0x3ddb: 0x404a2620,\n\t0x3ddc: 0x404a2820, 0x3ddd: 0x404a2a20, 0x3dde: 0x404a2c20, 0x3ddf: 0x404a2e20,\n\t0x3de0: 0x404a3020, 0x3de1: 0x404a3220, 0x3de2: 0x404a3420, 0x3de3: 0x404a3620,\n\t0x3de4: 0x404a3820, 0x3de5: 0x404a3a20, 0x3de6: 0x404a3c20, 0x3de7: 0x404a3e20,\n\t0x3de8: 0x404a4020, 0x3de9: 0x404a4220, 0x3dea: 0x404a4420, 0x3deb: 0x404a4620,\n\t0x3dec: 0x404a4820, 0x3ded: 0x404a4a20, 0x3dee: 0x404a4c20, 0x3def: 0x404a4e20,\n\t0x3df0: 0x82e62528, 0x3df1: 0x404a5220, 0x3df2: 0x82e6252a, 0x3df3: 0x82e6252b,\n\t0x3df4: 0x82dc252c, 0x3df5: 0xc20e0671, 0x3df6: 0xc23f0671, 0x3df7: 0x82e6252f,\n\t0x3df8: 0x82e62530, 0x3df9: 0xc2700671, 0x3dfa: 0x404a6420, 0x3dfb: 0xc2a10671,\n\t0x3dfc: 0xc2d20671, 0x3dfd: 0x404a6a20, 0x3dfe: 0x82e62536, 0x3dff: 0xae610c02,\n\t// Block 0xf8, offset 0x3e00\n\t0x3e00: 0x404a6e20, 0x3e01: 0xae610d02, 0x3e02: 0x404a7020,\n\t0x3e1b: 0x404a7220,\n\t0x3e1c: 0x404a7420, 0x3e1d: 0x4027c420, 0x3e1e: 0x40057e20, 0x3e1f: 0x40058020,\n\t0x3e20: 0x40456420, 0x3e21: 0x40456620, 0x3e22: 0x40456820, 0x3e23: 0x40456a20,\n\t0x3e24: 0x40456c20, 0x3e25: 0x40456e20, 0x3e26: 0x40457020, 0x3e27: 0x40457220,\n\t0x3e28: 0x40457420, 0x3e29: 0x40457620, 0x3e2a: 0x40457820, 0x3e2b: 0x40458a20,\n\t0x3e2c: 0x40458c20, 0x3e2d: 0x40458e20, 0x3e2e: 0x40459020, 0x3e2f: 0x40459220,\n\t0x3e30: 0x40034020, 0x3e31: 0x4002dc20, 0x3e32: 0x40452c20, 0x3e33: 0x4027c620,\n\t0x3e34: 0x4027c820, 0x3e35: 0x40459420, 0x3e36: 0x820922d4,\n\t// Block 0xf9, offset 0x3e40\n\t0x3e41: 0x403cae20, 0x3e42: 0x403cb020, 0x3e43: 0x403cb220,\n\t0x3e44: 0x403cb420, 0x3e45: 0x403cb620, 0x3e46: 0x403cb820,\n\t0x3e49: 0x403e3c20, 0x3e4a: 0x403e3e20, 0x3e4b: 0x403e4020,\n\t0x3e4c: 0x403e4220, 0x3e4d: 0x403e4420, 0x3e4e: 0x403e4620,\n\t0x3e51: 0x403dfe20, 0x3e52: 0x403e0020, 0x3e53: 0x403e0220,\n\t0x3e54: 0x403e0420, 0x3e55: 0x403e0620, 0x3e56: 0x403e0820,\n\t0x3e60: 0x403ec220, 0x3e61: 0x403ec420, 0x3e62: 0x403ec620, 0x3e63: 0x403ec820,\n\t0x3e64: 0x403eca20, 0x3e65: 0x403ecc20, 0x3e66: 0x403ece20,\n\t0x3e68: 0x403ef220, 0x3e69: 0x403ef420, 0x3e6a: 0x403ef620, 0x3e6b: 0x403ef820,\n\t0x3e6c: 0x403efa20, 0x3e6d: 0x403efc20, 0x3e6e: 0x403efe20,\n\t// Block 0xfa, offset 0x3e80\n\t0x3e80: 0x40452e20, 0x3e81: 0x40453020, 0x3e82: 0x40453220, 0x3e83: 0x40453420,\n\t0x3e84: 0x40453620, 0x3e85: 0x40453820, 0x3e86: 0x40453a20, 0x3e87: 0x40453c20,\n\t0x3e88: 0x40453e20, 0x3e89: 0x40454020, 0x3e8a: 0x40454220, 0x3e8b: 0x40454420,\n\t0x3e8c: 0x40454620, 0x3e8d: 0x40454820, 0x3e8e: 0x40454a20, 0x3e8f: 0x40454c20,\n\t0x3e90: 0x40454e20, 0x3e91: 0x40455020, 0x3e92: 0x40455220, 0x3e93: 0x40455420,\n\t0x3e94: 0x40455620, 0x3e95: 0x40455820, 0x3e96: 0x40455a20, 0x3e97: 0x40455c20,\n\t0x3e98: 0x40455e20, 0x3e99: 0x40456020, 0x3e9a: 0x40456220, 0x3e9b: 0x40459620,\n\t0x3e9c: 0x40459820, 0x3e9d: 0x40459a20, 0x3e9e: 0x40459c20, 0x3e9f: 0x40459e20,\n\t0x3ea0: 0x4045a020, 0x3ea1: 0x4045a220, 0x3ea2: 0x4045a420, 0x3ea3: 0x40457a20,\n\t0x3ea4: 0x40457c20, 0x3ea5: 0x40457e20, 0x3ea6: 0x40458020, 0x3ea7: 0x40458220,\n\t0x3ea8: 0x40458420, 0x3ea9: 0x40458620, 0x3eaa: 0x40458820, 0x3eab: 0x40034220,\n\t0x3eac: 0xa000fa02, 0x3ead: 0x820922d3,\n\t0x3eb0: 0xe0000188, 0x3eb1: 0xe0000219, 0x3eb2: 0xe0000334, 0x3eb3: 0xe000040e,\n\t0x3eb4: 0xe00004e3, 0x3eb5: 0xe00005ad, 0x3eb6: 0xe0000678, 0x3eb7: 0xe0000720,\n\t0x3eb8: 0xe00007cc, 0x3eb9: 0xe0000871,\n\t// Block 0xfb, offset 0x3ec0\n\t0x3ef0: 0x40643620, 0x3ef1: 0x40643820, 0x3ef2: 0x40643a20, 0x3ef3: 0x40643c20,\n\t0x3ef4: 0x40643e20, 0x3ef5: 0x40644020, 0x3ef6: 0x40644220, 0x3ef7: 0x40644420,\n\t0x3ef8: 0x40644620, 0x3ef9: 0x40644820, 0x3efa: 0x40644a20, 0x3efb: 0x40644c20,\n\t0x3efc: 0x40644e20, 0x3efd: 0x40645020, 0x3efe: 0x40645220, 0x3eff: 0x40645420,\n\t// Block 0xfc, offset 0x3f00\n\t0x3f00: 0x40645620, 0x3f01: 0x40645820, 0x3f02: 0x40645a20, 0x3f03: 0x40645c20,\n\t0x3f04: 0x40645e20, 0x3f05: 0x40646020, 0x3f06: 0x40646220,\n\t0x3f0b: 0x40651420,\n\t0x3f0c: 0x40651620, 0x3f0d: 0x40651820, 0x3f0e: 0x40651a20, 0x3f0f: 0x40651c20,\n\t0x3f10: 0x40651e20, 0x3f11: 0x40652020, 0x3f12: 0x40652220, 0x3f13: 0x40652420,\n\t0x3f14: 0x40652620, 0x3f15: 0x40652820, 0x3f16: 0x40652a20, 0x3f17: 0x40652c20,\n\t0x3f18: 0x40652e20, 0x3f19: 0x40653020, 0x3f1a: 0x40653220, 0x3f1b: 0x40653420,\n\t0x3f1c: 0x40653620, 0x3f1d: 0x40653820, 0x3f1e: 0x40653a20, 0x3f1f: 0x40653c20,\n\t0x3f20: 0x40653e20, 0x3f21: 0x40654020, 0x3f22: 0x40654220, 0x3f23: 0x40654420,\n\t0x3f24: 0x40654620, 0x3f25: 0x40654820, 0x3f26: 0x40654a20, 0x3f27: 0x40654c20,\n\t0x3f28: 0x40654e20, 0x3f29: 0x40655020, 0x3f2a: 0x40655220, 0x3f2b: 0x40655420,\n\t0x3f2c: 0x40655620, 0x3f2d: 0x40655820, 0x3f2e: 0x40655a20, 0x3f2f: 0x40655c20,\n\t0x3f30: 0x40655e20, 0x3f31: 0x40656020, 0x3f32: 0x40656220, 0x3f33: 0x40656420,\n\t0x3f34: 0x40656620, 0x3f35: 0x40656820, 0x3f36: 0x40656a20, 0x3f37: 0x40656c20,\n\t0x3f38: 0x40656e20, 0x3f39: 0x40657020, 0x3f3a: 0x40657220, 0x3f3b: 0x40657420,\n\t// Block 0xfd, offset 0x3f40\n\t0x3f40: 0x43189020, 0x3f41: 0x42cde820, 0x3f42: 0x431d9420, 0x3f43: 0x43199020,\n\t0x3f44: 0x42dda220, 0x3f45: 0x429c6420, 0x3f46: 0x42a7ca20, 0x3f47: 0x433f3820,\n\t0x3f48: 0x433f3820, 0x3f49: 0x42b2a220, 0x3f4a: 0x4323a220, 0x3f4b: 0x42ab0e20,\n\t0x3f4c: 0x42b29020, 0x3f4d: 0x42c3ec20, 0x3f4e: 0x42ecd220, 0x3f4f: 0x42ff0a20,\n\t0x3f50: 0x430c7e20, 0x3f51: 0x430f7420, 0x3f52: 0x4311f020, 0x3f53: 0x43211e20,\n\t0x3f54: 0x42d40420, 0x3f55: 0x42da3620, 0x3f56: 0x42e1b220, 0x3f57: 0x42e7bc20,\n\t0x3f58: 0x43087a20, 0x3f59: 0x4322d420, 0x3f5a: 0x4333e220, 0x3f5b: 0x429d0420,\n\t0x3f5c: 0x42a6ea20, 0x3f5d: 0x42d60820, 0x3f5e: 0x42e43620, 0x3f5f: 0x430c5a20,\n\t0x3f60: 0x433c3c20, 0x3f61: 0x42baa020, 0x3f62: 0x42dfd620, 0x3f63: 0x430b9a20,\n\t0x3f64: 0x4312c820, 0x3f65: 0x42c59220, 0x3f66: 0x4303b020, 0x3f67: 0x43103e20,\n\t0x3f68: 0x42bd9420, 0x3f69: 0x42ce2e20, 0x3f6a: 0x42dad420, 0x3f6b: 0x42e5f820,\n\t0x3f6c: 0x43219c20, 0x3f6d: 0x429f0c20, 0x3f6e: 0x42a36e20, 0x3f6f: 0x42a5bc20,\n\t0x3f70: 0x42c98820, 0x3f71: 0x42d5a620, 0x3f72: 0x42e42020, 0x3f73: 0x42edce20,\n\t0x3f74: 0x43000220, 0x3f75: 0x430c0c20, 0x3f76: 0x430cb820, 0x3f77: 0x431bde20,\n\t0x3f78: 0x432e6420, 0x3f79: 0x4336de20, 0x3f7a: 0x433bf420, 0x3f7b: 0x42f11820,\n\t0x3f7c: 0x42f2fe20, 0x3f7d: 0x42fb4020, 0x3f7e: 0x43079220, 0x3f7f: 0x43260820,\n\t// Block 0xfe, offset 0x3f80\n\t0x3f80: 0x433cfe20, 0x3f81: 0x4315ac20, 0x3f82: 0x42b1be20, 0x3f83: 0x42be0820,\n\t0x3f84: 0x42f8c020, 0x3f85: 0x4300fc20, 0x3f86: 0x42e4c420, 0x3f87: 0x42f19420,\n\t0x3f88: 0x43198420, 0x3f89: 0x432dee20, 0x3f8a: 0x42b1b020, 0x3f8b: 0x42b8c420,\n\t0x3f8c: 0x42d42620, 0x3f8d: 0x42dbb420, 0x3f8e: 0x42de1e20, 0x3f8f: 0x42fa5e20,\n\t0x3f90: 0x42fc6e20, 0x3f91: 0x432c9620, 0x3f92: 0x42a5a420, 0x3f93: 0x43011620,\n\t0x3f94: 0x42a3b820, 0x3f95: 0x42a39820, 0x3f96: 0x42f43820, 0x3f97: 0x42fb7c20,\n\t0x3f98: 0x4307e220, 0x3f99: 0x432cea20, 0x3f9a: 0x43170020, 0x3f9b: 0x42c59e20,\n\t0x3f9c: 0x42d40420, 0x3f9d: 0x4315fc20, 0x3f9e: 0x429c7220, 0x3f9f: 0x42b7ce20,\n\t0x3fa0: 0x42c02420, 0x3fa1: 0x42e70e20, 0x3fa2: 0x42eae020, 0x3fa3: 0x42a62e20,\n\t0x3fa4: 0x42f1f620, 0x3fa5: 0x429f7e20, 0x3fa6: 0x42bf5220, 0x3fa7: 0x429c1a20,\n\t0x3fa8: 0x42d99820, 0x3fa9: 0x42caf020, 0x3faa: 0x42fa4420, 0x3fab: 0x42a78620,\n\t0x3fac: 0x42b0bc20, 0x3fad: 0x42ee0220, 0x3fae: 0x43089220, 0x3faf: 0x43155420,\n\t0x3fb0: 0x42d77420, 0x3fb1: 0x431f6020, 0x3fb2: 0x42d91020, 0x3fb3: 0x42c5fc20,\n\t0x3fb4: 0x4305ca20, 0x3fb5: 0x42c74020, 0x3fb6: 0x42eaca20, 0x3fb7: 0x429d5c20,\n\t0x3fb8: 0x42a2d220, 0x3fb9: 0x42a39220, 0x3fba: 0x42d10220, 0x3fbb: 0x42f9ce20,\n\t0x3fbc: 0x4304de20, 0x3fbd: 0x4315a420, 0x3fbe: 0x43239e20, 0x3fbf: 0x42a5ea20,\n\t// Block 0xff, offset 0x3fc0\n\t0x3fc0: 0x42a88420, 0x3fc1: 0x42b2e620, 0x3fc2: 0x42bdd820, 0x3fc3: 0x42cb8a20,\n\t0x3fc4: 0x42dffc20, 0x3fc5: 0x42f25420, 0x3fc6: 0x432b5a20, 0x3fc7: 0x4334d420,\n\t0x3fc8: 0x433d2e20, 0x3fc9: 0x433d9c20, 0x3fca: 0x42a53620, 0x3fcb: 0x42cd8c20,\n\t0x3fcc: 0x42d6ee20, 0x3fcd: 0x431ec420, 0x3fce: 0x42bce820, 0x3fcf: 0x42c32020,\n\t0x3fd0: 0x42c40020, 0x3fd1: 0x42c93420, 0x3fd2: 0x42de4620, 0x3fd3: 0x42e29220,\n\t0x3fd4: 0x42e91220, 0x3fd5: 0x42f39420, 0x3fd6: 0x42fbe820, 0x3fd7: 0x4300de20,\n\t0x3fd8: 0x431e4c20, 0x3fd9: 0x4309dc20, 0x3fda: 0x43204620, 0x3fdb: 0x43269420,\n\t0x3fdc: 0x42a42e20, 0x3fdd: 0x42a54620, 0x3fde: 0x42a97a20, 0x3fdf: 0x42e19020,\n\t0x3fe0: 0x43118420, 0x3fe1: 0x43155420, 0x3fe2: 0x42bd9220, 0x3fe3: 0x42bfea20,\n\t0x3fe4: 0x42c6f620, 0x3fe5: 0x42d75c20, 0x3fe6: 0x42f87c20, 0x3fe7: 0x42e6ea20,\n\t0x3fe8: 0x429dc820, 0x3fe9: 0x42adf220, 0x3fea: 0x42b7ce20, 0x3feb: 0x42bb7420,\n\t0x3fec: 0x42c03820, 0x3fed: 0x42e76420, 0x3fee: 0x42e8d220, 0x3fef: 0x42ff3420,\n\t0x3ff0: 0x43008c20, 0x3ff1: 0x43246820, 0x3ff2: 0x432dec20, 0x3ff3: 0x432e9020,\n\t0x3ff4: 0x43303020, 0x3ff5: 0x429f1620, 0x3ff6: 0x42f35c20, 0x3ff7: 0x43236820,\n\t0x3ff8: 0x432d7020, 0x3ff9: 0x42c1c220, 0x3ffa: 0x429d0c20, 0x3ffb: 0x42a1b420,\n\t0x3ffc: 0x42b7dc20, 0x3ffd: 0x42b87e20, 0x3ffe: 0x42cb3220, 0x3fff: 0x42d40420,\n\t// Block 0x100, offset 0x4000\n\t0x4000: 0x42e39c20, 0x4001: 0x42ec8420, 0x4002: 0x4309f820, 0x4003: 0x4320f820,\n\t0x4004: 0x433f1a20, 0x4005: 0x42cd1020, 0x4006: 0x432c5c20, 0x4007: 0x42a51220,\n\t0x4008: 0x42cef620, 0x4009: 0x42cfe620, 0x400a: 0x42da8220, 0x400b: 0x42dd3820,\n\t0x400c: 0x42e81220, 0x400d: 0x42eab220, 0x400e: 0x42f0d620, 0x400f: 0x42fa2020,\n\t0x4010: 0x4330bc20, 0x4011: 0x42a2da20, 0x4012: 0x42c45c20, 0x4013: 0x432cf020,\n\t0x4014: 0x42a05620, 0x4015: 0x42ba3220, 0x4016: 0x42dbd420, 0x4017: 0x431e5420,\n\t0x4018: 0x42bf1620, 0x4019: 0x42c28820, 0x401a: 0x42d02e20, 0x401b: 0x42e70e20,\n\t0x401c: 0x432d0c20, 0x401d: 0x42a45220, 0x401e: 0x42a81e20, 0x401f: 0x42b8ca20,\n\t0x4020: 0x42cc2620, 0x4021: 0x42ce9c20, 0x4022: 0x42d15020, 0x4023: 0x42d9ca20,\n\t0x4024: 0x42e80c20, 0x4025: 0x42ebc420, 0x4026: 0x42fef220, 0x4027: 0x43119e20,\n\t0x4028: 0x4311c220, 0x4029: 0x43239820, 0x402a: 0x432dc420, 0x402b: 0x42a67e20,\n\t0x402c: 0x42dd7420, 0x402d: 0x42a83a20, 0x402e: 0x42e3a020, 0x402f: 0x42e93020,\n\t0x4030: 0x430bf420, 0x4031: 0x432d4620, 0x4032: 0x4338ae20, 0x4033: 0x433d3e20,\n\t0x4034: 0x42cf2e20, 0x4035: 0x42db9620, 0x4036: 0x4303d020, 0x4037: 0x42f59620,\n\t0x4038: 0x42f64020, 0x4039: 0x42f92420, 0x403a: 0x42e58020, 0x403b: 0x42e13220,\n\t0x403c: 0x4316b020, 0x403d: 0x429d8020, 0x403e: 0x43066c20, 0x403f: 0x42a47420,\n\t// Block 0x101, offset 0x4040\n\t0x4040: 0x42a40e20, 0x4041: 0x42bd4c20, 0x4042: 0x42c5a620, 0x4043: 0x42f9ac20,\n\t0x4044: 0x42b70a20, 0x4045: 0x42da3c20, 0x4046: 0x42cd6820, 0x4047: 0x431e7620,\n\t0x4048: 0x43109820, 0x4049: 0x432c9a20, 0x404a: 0x43131620, 0x404b: 0x42bda620,\n\t0x404c: 0x42a28020, 0x404d: 0x42ab8020, 0x404e: 0x43f41c20, 0x404f: 0x43f41e20,\n\t0x4050: 0x42b0b420, 0x4051: 0x43f42220, 0x4052: 0x42cce820, 0x4053: 0x43f42620,\n\t0x4054: 0x43f42820, 0x4055: 0x42a3bc20, 0x4056: 0x42e65420, 0x4057: 0x42ed9420,\n\t0x4058: 0x42f27820, 0x4059: 0x42f2bc20, 0x405a: 0x42f2ca20, 0x405b: 0x42f31e20,\n\t0x405c: 0x432eac20, 0x405d: 0x42f97c20, 0x405e: 0x42ff7a20, 0x405f: 0x43f43e20,\n\t0x4060: 0x430c2420, 0x4061: 0x43f44220, 0x4062: 0x4315f020, 0x4063: 0x43f44620,\n\t0x4064: 0x43f44820, 0x4065: 0x43207020, 0x4066: 0x4321fa20, 0x4067: 0x43f44e20,\n\t0x4068: 0x43f45020, 0x4069: 0x43f45220, 0x406a: 0x4331de20, 0x406b: 0x4331f820,\n\t0x406c: 0x43325020, 0x406d: 0x433b6820, 0x406e: 0x4321bc20, 0x406f: 0x432d6e20,\n\t0x4070: 0x429f5c20, 0x4071: 0x42a1ce20, 0x4072: 0x42a29a20, 0x4073: 0x42a59220,\n\t0x4074: 0x42a5c820, 0x4075: 0x42a6a220, 0x4076: 0x42ab3a20, 0x4077: 0x42ac0c20,\n\t0x4078: 0x42acd020, 0x4079: 0x42b08020, 0x407a: 0x42b15020, 0x407b: 0x42b8c820,\n\t0x407c: 0x42b8dc20, 0x407d: 0x42c12820, 0x407e: 0x42c2d020, 0x407f: 0x42c31c20,\n\t// Block 0x102, offset 0x4080\n\t0x4080: 0x42c3e420, 0x4081: 0x42ca9e20, 0x4082: 0x42cbc420, 0x4083: 0x42cd2220,\n\t0x4084: 0x42d10a20, 0x4085: 0x42daee20, 0x4086: 0x42dc3420, 0x4087: 0x42de4420,\n\t0x4088: 0x42e2dc20, 0x4089: 0x42e45620, 0x408a: 0x42e84420, 0x408b: 0x42f12220,\n\t0x408c: 0x42f27c20, 0x408d: 0x42f29220, 0x408e: 0x42f29020, 0x408f: 0x42f2a020,\n\t0x4090: 0x42f2ac20, 0x4091: 0x42f2ba20, 0x4092: 0x42f31a20, 0x4093: 0x42f31c20,\n\t0x4094: 0x42f48020, 0x4095: 0x42f50220, 0x4096: 0x42f78020, 0x4097: 0x42fbe820,\n\t0x4098: 0x42fc1220, 0x4099: 0x42fc8220, 0x409a: 0x42fee420, 0x409b: 0x43000a20,\n\t0x409c: 0x4303da20, 0x409d: 0x4304f220, 0x409e: 0x4304f220, 0x409f: 0x4308ae20,\n\t0x40a0: 0x43122020, 0x40a1: 0x43132c20, 0x40a2: 0x43160220, 0x40a3: 0x43167220,\n\t0x40a4: 0x4319a620, 0x40a5: 0x431a1020, 0x40a6: 0x431f6c20, 0x40a7: 0x43207020,\n\t0x40a8: 0x432dc620, 0x40a9: 0x432ffe20, 0x40aa: 0x43307620, 0x40ab: 0x42c0ea20,\n\t0x40ac: 0x4885dc20, 0x40ad: 0x43043020,\n\t0x40b0: 0x429c4c20, 0x40b1: 0x42a36a20, 0x40b2: 0x42a2d020, 0x40b3: 0x429f0020,\n\t0x40b4: 0x42a28a20, 0x40b5: 0x42a30020, 0x40b6: 0x42a58e20, 0x40b7: 0x42a5f420,\n\t0x40b8: 0x42ab3a20, 0x40b9: 0x42aaaa20, 0x40ba: 0x42ab3220, 0x40bb: 0x42abc420,\n\t0x40bc: 0x42b0b420, 0x40bd: 0x42b16620, 0x40be: 0x42b28820, 0x40bf: 0x42b2a820,\n\t// Block 0x103, offset 0x40c0\n\t0x40c0: 0x42b4c420, 0x40c1: 0x42b65020, 0x40c2: 0x42bda420, 0x40c3: 0x42bdb220,\n\t0x40c4: 0x42bed220, 0x40c5: 0x42bf5a20, 0x40c6: 0x42c1b020, 0x40c7: 0x42c29c20,\n\t0x40c8: 0x42c21020, 0x40c9: 0x42c31c20, 0x40ca: 0x42c2c020, 0x40cb: 0x42c3e420,\n\t0x40cc: 0x42c46820, 0x40cd: 0x42c78820, 0x40ce: 0x42c83820, 0x40cf: 0x42c8a420,\n\t0x40d0: 0x42caac20, 0x40d1: 0x42cce820, 0x40d2: 0x42ce2e20, 0x40d3: 0x42ce3620,\n\t0x40d4: 0x42ceac20, 0x40d5: 0x42d6f220, 0x40d6: 0x42d77420, 0x40d7: 0x42da8220,\n\t0x40d8: 0x42ddb620, 0x40d9: 0x42dd9620, 0x40da: 0x42de4420, 0x40db: 0x42e03c20,\n\t0x40dc: 0x42e2dc20, 0x40dd: 0x42ef4e20, 0x40de: 0x42e46a20, 0x40df: 0x42e55e20,\n\t0x40e0: 0x42e65420, 0x40e1: 0x42e8e220, 0x40e2: 0x42ea0c20, 0x40e3: 0x42ea7620,\n\t0x40e4: 0x42ec3a20, 0x40e5: 0x42ec3e20, 0x40e6: 0x42ed9420, 0x40e7: 0x42edb620,\n\t0x40e8: 0x42ede820, 0x40e9: 0x42ee9420, 0x40ea: 0x42ee8020, 0x40eb: 0x42f19820,\n\t0x40ec: 0x42f56220, 0x40ed: 0x42f78020, 0x40ee: 0x42f8f620, 0x40ef: 0x42fab620,\n\t0x40f0: 0x42fbe820, 0x40f1: 0x42fe7c20, 0x40f2: 0x43000a20, 0x40f3: 0x4306a420,\n\t0x40f4: 0x4307de20, 0x40f5: 0x430ef220, 0x40f6: 0x43128220, 0x40f7: 0x43130c20,\n\t0x40f8: 0x43132c20, 0x40f9: 0x43157e20, 0x40fa: 0x4315f020, 0x40fb: 0x43159620,\n\t0x40fc: 0x43160220, 0x40fd: 0x4315fc20, 0x40fe: 0x4315da20, 0x40ff: 0x43167220,\n\t// Block 0x104, offset 0x4100\n\t0x4100: 0x43171420, 0x4101: 0x431a1020, 0x4102: 0x431e7020, 0x4103: 0x4320e420,\n\t0x4104: 0x43233220, 0x4105: 0x4324ec20, 0x4106: 0x432cf820, 0x4107: 0x432dc620,\n\t0x4108: 0x432eac20, 0x4109: 0x432fb620, 0x410a: 0x432ffe20, 0x410b: 0x43301620,\n\t0x410c: 0x43307620, 0x410d: 0x43362420, 0x410e: 0x433f3820, 0x410f: 0x48509420,\n\t0x4110: 0x48508820, 0x4111: 0x4867aa20, 0x4112: 0x44773a20, 0x4113: 0x44803020,\n\t0x4114: 0x44807220, 0x4115: 0x48a49220, 0x4116: 0x48b9a020, 0x4117: 0x48fda620,\n\t0x4118: 0x433e8620, 0x4119: 0x433f1c20,\n\t// Block 0x105, offset 0x4140\n\t0x4140: 0xf0000404, 0x4141: 0xf0000404, 0x4142: 0xf0000404, 0x4143: 0xe0000b99,\n\t0x4144: 0xe0000b9d, 0x4145: 0xe0000f83, 0x4146: 0xf0000404,\n\t0x4153: 0xf0000404,\n\t0x4154: 0xf0000404, 0x4155: 0xf0000404, 0x4156: 0xf0000404, 0x4157: 0xf0000404,\n\t0x415d: 0xe000150b, 0x415e: 0xa1a09602, 0x415f: 0xe0001514,\n\t0x4160: 0x0038ae85, 0x4161: 0x00389085, 0x4162: 0x00389685, 0x4163: 0x00389885,\n\t0x4164: 0x0038a485, 0x4165: 0x0038a685, 0x4166: 0x0038a885, 0x4167: 0x0038b685,\n\t0x4168: 0x0038ba85, 0x4169: 0x00093885, 0x416a: 0xe0001542, 0x416b: 0xe000153f,\n\t0x416c: 0xe000154c, 0x416d: 0xe0001548, 0x416e: 0xe00014e1, 0x416f: 0xe00014e4,\n\t0x4170: 0xe00014e7, 0x4171: 0xe00014ea, 0x4172: 0xe00014f0, 0x4173: 0xe00014f3,\n\t0x4174: 0xe00014f6, 0x4175: 0xe00014fc, 0x4176: 0xe0001505,\n\t0x4178: 0xe0001508, 0x4179: 0xe000150e, 0x417a: 0xe000151b, 0x417b: 0xe0001518,\n\t0x417c: 0xe0001521, 0x417e: 0xe0001524,\n\t// Block 0x106, offset 0x4180\n\t0x4180: 0xe0001527, 0x4181: 0xe000152a, 0x4183: 0xe0001530,\n\t0x4184: 0xe000152d, 0x4186: 0xe0001536, 0x4187: 0xe0001539,\n\t0x4188: 0xe000153c, 0x4189: 0xe0001545, 0x418a: 0xe0001550, 0x418b: 0xe00014f9,\n\t0x418c: 0xe00014ed, 0x418d: 0xe000151e, 0x418e: 0xe0001533, 0x418f: 0xf0000404,\n\t0x4190: 0x0039249a, 0x4191: 0x00392499, 0x4192: 0x00393e9a, 0x4193: 0x00393e99,\n\t0x4194: 0x00393e97, 0x4195: 0x00393e98, 0x4196: 0x0039409a, 0x4197: 0x00394099,\n\t0x4198: 0x00394097, 0x4199: 0x00394098, 0x419a: 0x0039429a, 0x419b: 0x00394299,\n\t0x419c: 0x00394297, 0x419d: 0x00394298, 0x419e: 0x00395c9a, 0x419f: 0x00395c99,\n\t0x41a0: 0x00395c97, 0x41a1: 0x00395c98, 0x41a2: 0x0039629a, 0x41a3: 0x00396299,\n\t0x41a4: 0x00396297, 0x41a5: 0x00396298, 0x41a6: 0x00395a9a, 0x41a7: 0x00395a99,\n\t0x41a8: 0x00395a97, 0x41a9: 0x00395a98, 0x41aa: 0x003a049a, 0x41ab: 0x003a0499,\n\t0x41ac: 0x003a0497, 0x41ad: 0x003a0498, 0x41ae: 0x003a0a9a, 0x41af: 0x003a0a99,\n\t0x41b0: 0x003a0a97, 0x41b1: 0x003a0a98, 0x41b2: 0x0039689a, 0x41b3: 0x00396899,\n\t0x41b4: 0x00396897, 0x41b5: 0x00396898, 0x41b6: 0x0039669a, 0x41b7: 0x00396699,\n\t0x41b8: 0x00396697, 0x41b9: 0x00396698, 0x41ba: 0x00396a9a, 0x41bb: 0x00396a99,\n\t0x41bc: 0x00396a97, 0x41bd: 0x00396a98, 0x41be: 0x00396e9a, 0x41bf: 0x00396e99,\n\t// Block 0x107, offset 0x41c0\n\t0x41c0: 0x00396e97, 0x41c1: 0x00396e98, 0x41c2: 0x0039969a, 0x41c3: 0x00399699,\n\t0x41c4: 0x0039949a, 0x41c5: 0x00399499, 0x41c6: 0x0039989a, 0x41c7: 0x00399899,\n\t0x41c8: 0x00398c9a, 0x41c9: 0x00398c99, 0x41ca: 0x0039b69a, 0x41cb: 0x0039b699,\n\t0x41cc: 0x0039a89a, 0x41cd: 0x0039a899, 0x41ce: 0x003a1c9a, 0x41cf: 0x003a1c99,\n\t0x41d0: 0x003a1c97, 0x41d1: 0x003a1c98, 0x41d2: 0x003a2a9a, 0x41d3: 0x003a2a99,\n\t0x41d4: 0x003a2a97, 0x41d5: 0x003a2a98, 0x41d6: 0x003a329a, 0x41d7: 0x003a3299,\n\t0x41d8: 0x003a3297, 0x41d9: 0x003a3298, 0x41da: 0x003a2e9a, 0x41db: 0x003a2e99,\n\t0x41dc: 0x003a2e97, 0x41dd: 0x003a2e98, 0x41de: 0x003a589a, 0x41df: 0x003a5899,\n\t0x41e0: 0x003a5a9a, 0x41e1: 0x003a5a99, 0x41e2: 0x003a5a97, 0x41e3: 0x003a5a98,\n\t0x41e4: 0xf0001a1a, 0x41e5: 0xf0001919, 0x41e6: 0x003a6c9a, 0x41e7: 0x003a6c99,\n\t0x41e8: 0x003a6c97, 0x41e9: 0x003a6c98, 0x41ea: 0x003a6a9a, 0x41eb: 0x003a6a99,\n\t0x41ec: 0x003a6a97, 0x41ed: 0x003a6a98, 0x41ee: 0x003aaa9a, 0x41ef: 0x003aaa99,\n\t0x41f0: 0xf0001a1a, 0x41f1: 0xf0001919, 0x41f2: 0x40071820, 0x41f3: 0x40071a20,\n\t0x41f4: 0x40071c20, 0x41f5: 0x40071e20, 0x41f6: 0x40072020, 0x41f7: 0x40072220,\n\t0x41f8: 0x40072420, 0x41f9: 0x40072620, 0x41fa: 0x40072820, 0x41fb: 0x40072a20,\n\t0x41fc: 0x40072c20, 0x41fd: 0x40072e20, 0x41fe: 0x40073020, 0x41ff: 0x40073220,\n\t// Block 0x108, offset 0x4200\n\t0x4200: 0x40073420, 0x4201: 0x40073620,\n\t0x4213: 0x003a269a,\n\t0x4214: 0x003a2699, 0x4215: 0x003a2697, 0x4216: 0x003a2698, 0x4217: 0x003a7c9a,\n\t0x4218: 0x003a7c99, 0x4219: 0x003a7a9a, 0x421a: 0x003a7a99, 0x421b: 0x003a7e9a,\n\t0x421c: 0x003a7e99, 0x421d: 0xf0001a1a, 0x421e: 0x003a849a, 0x421f: 0x003a8499,\n\t0x4220: 0x003a789a, 0x4221: 0x003a7899, 0x4222: 0x003a809a, 0x4223: 0x003a8099,\n\t0x4224: 0x003a989a, 0x4225: 0x003a9899, 0x4226: 0x003a9897, 0x4227: 0x003a9898,\n\t0x4228: 0x003a8e97, 0x4229: 0x003a8e98, 0x422a: 0xe0001559, 0x422b: 0xe0001556,\n\t0x422c: 0xe0001589, 0x422d: 0xe0001586, 0x422e: 0xe000158f, 0x422f: 0xe000158c,\n\t0x4230: 0xe000159b, 0x4231: 0xe0001598, 0x4232: 0xe0001595, 0x4233: 0xe0001592,\n\t0x4234: 0xe00015a1, 0x4235: 0xe000159e, 0x4236: 0xe00015bf, 0x4237: 0xe00015bc,\n\t0x4238: 0xe00015b9, 0x4239: 0xe00015ad, 0x423a: 0xe00015a7, 0x423b: 0xe00015a4,\n\t0x423c: 0x003a929a, 0x423d: 0x003a9299, 0x423e: 0x003a9297, 0x423f: 0x003a9298,\n\t// Block 0x109, offset 0x4240\n\t0x4240: 0xe000155f, 0x4241: 0xe0001565, 0x4242: 0xe000157a, 0x4243: 0xe00015b0,\n\t0x4244: 0xe00015b6, 0x4245: 0xf0001a1a, 0x4246: 0xf0001a1a, 0x4247: 0xf0001a1a,\n\t0x4248: 0xf0001a1a, 0x4249: 0xf0001a1a, 0x424a: 0xf0001a1a, 0x424b: 0xf0001a1a,\n\t0x424c: 0xf0001a1a, 0x424d: 0xf0001a1a, 0x424e: 0xf0001a1a, 0x424f: 0xf0001a1a,\n\t0x4250: 0xf0001a1a, 0x4251: 0xf0001a1a, 0x4252: 0xf0001a1a, 0x4253: 0xf0001a1a,\n\t0x4254: 0xf0001a1a, 0x4255: 0xf0001a1a, 0x4256: 0xf0001a1a, 0x4257: 0xf0001a1a,\n\t0x4258: 0xf0001a1a, 0x4259: 0xf0001a1a, 0x425a: 0xf0001a1a, 0x425b: 0xf0001a1a,\n\t0x425c: 0xf0001a1a, 0x425d: 0xf0001a1a, 0x425e: 0xf0001a1a, 0x425f: 0xf0001a1a,\n\t0x4260: 0xf0001a1a, 0x4261: 0xf0001a1a, 0x4262: 0xf0001a1a, 0x4263: 0xf0001a1a,\n\t0x4264: 0xf0001a1a, 0x4265: 0xf0001a1a, 0x4266: 0xf0001a1a, 0x4267: 0xf0001a1a,\n\t0x4268: 0xf0001a1a, 0x4269: 0xf0001a1a, 0x426a: 0xf0001a1a, 0x426b: 0xf0001a1a,\n\t0x426c: 0xf0001a1a, 0x426d: 0xf0001a1a, 0x426e: 0xf0001a1a, 0x426f: 0xf0001a1a,\n\t0x4270: 0xf0001a1a, 0x4271: 0xf0001a1a, 0x4272: 0xf0001a1a, 0x4273: 0xf0001a1a,\n\t0x4274: 0xf0001a1a, 0x4275: 0xf0001a1a, 0x4276: 0xf0001a1a, 0x4277: 0xf0001a1a,\n\t0x4278: 0xf0001a1a, 0x4279: 0xf0001a1a, 0x427a: 0xf0001a1a, 0x427b: 0xf0001a1a,\n\t0x427c: 0xf0001a1a, 0x427d: 0xf0001a1a, 0x427e: 0xf0001a1a, 0x427f: 0xf0001a1a,\n\t// Block 0x10a, offset 0x4280\n\t0x4280: 0xf0001a1a, 0x4281: 0xf0001a1a, 0x4282: 0xf0001a1a, 0x4283: 0xf0001a1a,\n\t0x4284: 0xf0001a1a, 0x4285: 0xf0001a1a, 0x4286: 0xf0001a1a, 0x4287: 0xf0001a1a,\n\t0x4288: 0xf0001a1a, 0x4289: 0xf0001a1a, 0x428a: 0xf0001a1a, 0x428b: 0xf0001a1a,\n\t0x428c: 0xf0001a1a, 0x428d: 0xf0001a1a, 0x428e: 0xf0001a1a, 0x428f: 0xf0001a1a,\n\t0x4290: 0xf0001a1a, 0x4291: 0xf0001a1a, 0x4292: 0xf0001a1a, 0x4293: 0xf0001a1a,\n\t0x4294: 0xf0001a1a, 0x4295: 0xf0001a1a, 0x4296: 0xf0001a1a, 0x4297: 0xf0001a1a,\n\t0x4298: 0xf0001a1a, 0x4299: 0xf0001a1a, 0x429a: 0xf0001a1a, 0x429b: 0xf0001a1a,\n\t0x429c: 0xf0001a1a, 0x429d: 0xf0001a1a, 0x429e: 0xe0000003, 0x429f: 0xe0000006,\n\t0x42a0: 0xe0000009, 0x42a1: 0xe000000c, 0x42a2: 0xe000000f, 0x42a3: 0xe0000012,\n\t0x42a4: 0xe000156b, 0x42a5: 0xe000156e, 0x42a6: 0xe0001577, 0x42a7: 0xe000157d,\n\t0x42a8: 0xe00015aa, 0x42a9: 0xe00015b3, 0x42aa: 0xf0001919, 0x42ab: 0xf0001919,\n\t0x42ac: 0xf0001919, 0x42ad: 0xf0001919, 0x42ae: 0xf0001919, 0x42af: 0xf0001919,\n\t0x42b0: 0xf0001919, 0x42b1: 0xf0001919, 0x42b2: 0xf0001919, 0x42b3: 0xf0001919,\n\t0x42b4: 0xf0001919, 0x42b5: 0xf0001919, 0x42b6: 0xf0001919, 0x42b7: 0xf0001919,\n\t0x42b8: 0xf0001919, 0x42b9: 0xf0001919, 0x42ba: 0xf0001919, 0x42bb: 0xf0001919,\n\t0x42bc: 0xf0001919, 0x42bd: 0xf0001919, 0x42be: 0xf0001919, 0x42bf: 0xf0001919,\n\t// Block 0x10b, offset 0x42c0\n\t0x42c0: 0xf0001919, 0x42c1: 0xf0001919, 0x42c2: 0xf0001919, 0x42c3: 0xf0001919,\n\t0x42c4: 0xf0001919, 0x42c5: 0xf0001919, 0x42c6: 0xf0001919, 0x42c7: 0xf0001919,\n\t0x42c8: 0xf0001919, 0x42c9: 0xf0001919, 0x42ca: 0xf0001919, 0x42cb: 0xf0001919,\n\t0x42cc: 0xf0001919, 0x42cd: 0xf0001919, 0x42ce: 0xf0001919, 0x42cf: 0xf0001919,\n\t0x42d0: 0xf0001919, 0x42d1: 0xf0001919, 0x42d2: 0xf0001919, 0x42d3: 0xf0001919,\n\t0x42d4: 0xf0001919, 0x42d5: 0xf0001919, 0x42d6: 0xf0001919, 0x42d7: 0xe000155c,\n\t0x42d8: 0xe0001562, 0x42d9: 0xe0001568, 0x42da: 0xe0001571, 0x42db: 0xe0001580,\n\t0x42dc: 0xf0001717, 0x42dd: 0xf0001717, 0x42de: 0xf0001717, 0x42df: 0xf0001717,\n\t0x42e0: 0xf0001717, 0x42e1: 0xf0001717, 0x42e2: 0xf0001717, 0x42e3: 0xf0001717,\n\t0x42e4: 0xf0001717, 0x42e5: 0xf0001717, 0x42e6: 0xf0001717, 0x42e7: 0xf0001717,\n\t0x42e8: 0xf0001717, 0x42e9: 0xf0001717, 0x42ea: 0xf0001717, 0x42eb: 0xf0001717,\n\t0x42ec: 0xf0001717, 0x42ed: 0xf0001717, 0x42ee: 0xf0001717, 0x42ef: 0xf0001717,\n\t0x42f0: 0xf0001717, 0x42f1: 0xf0001717, 0x42f2: 0xf0001717, 0x42f3: 0xf0001717,\n\t0x42f4: 0xf0001717, 0x42f5: 0xf0001717, 0x42f6: 0xf0001717, 0x42f7: 0xf0001717,\n\t0x42f8: 0xf0001717, 0x42f9: 0xf0001717, 0x42fa: 0xf0001717, 0x42fb: 0xf0001717,\n\t0x42fc: 0xf0001717, 0x42fd: 0xf0001717, 0x42fe: 0xf0001717, 0x42ff: 0xf0001717,\n\t// Block 0x10c, offset 0x4300\n\t0x4300: 0xf0001717, 0x4301: 0xf0001717, 0x4302: 0xf0001717, 0x4303: 0xf0001717,\n\t0x4304: 0xf0001717, 0x4305: 0xf0001717, 0x4306: 0xf0001717, 0x4307: 0xf0001717,\n\t0x4308: 0xf0001717, 0x4309: 0xf0001717, 0x430a: 0xf0001717, 0x430b: 0xf0001717,\n\t0x430c: 0xf0001717, 0x430d: 0xf0001717, 0x430e: 0xf0001717, 0x430f: 0xf0001717,\n\t0x4310: 0xf0001717, 0x4311: 0xf0001717, 0x4312: 0xf0001717, 0x4313: 0xf0001717,\n\t0x4314: 0xf0001717, 0x4315: 0xf0001717, 0x4316: 0xf0001717, 0x4317: 0xf0001717,\n\t0x4318: 0xf0001717, 0x4319: 0xf0001717, 0x431a: 0xf0001717, 0x431b: 0xf0001717,\n\t0x431c: 0xf0001717, 0x431d: 0xf0001717, 0x431e: 0xf0001717, 0x431f: 0xe0001574,\n\t0x4320: 0xe0001583, 0x4321: 0xf0001818, 0x4322: 0xf0001818, 0x4323: 0xf0001818,\n\t0x4324: 0xf0001818, 0x4325: 0xf0001818, 0x4326: 0xf0001818, 0x4327: 0xf0001818,\n\t0x4328: 0xf0001818, 0x4329: 0xf0001818, 0x432a: 0xf0001818, 0x432b: 0xf0001818,\n\t0x432c: 0xf0001818, 0x432d: 0xf0001818, 0x432e: 0xf0001818, 0x432f: 0xf0001818,\n\t0x4330: 0xf0001818, 0x4331: 0xf0001818, 0x4332: 0xf0001818, 0x4333: 0xf0001818,\n\t0x4334: 0xf0001818, 0x4335: 0xf0001a1a, 0x4336: 0xf0001a1a, 0x4337: 0xf0001a1a,\n\t0x4338: 0xf0001a1a, 0x4339: 0xf0001a1a, 0x433a: 0xf0001a1a, 0x433b: 0xf0001a1a,\n\t0x433c: 0xf0001a1a, 0x433d: 0xf0001a1a, 0x433e: 0xf0001a1a, 0x433f: 0xf0001a1a,\n\t// Block 0x10d, offset 0x4340\n\t0x4340: 0xf0001a1a, 0x4341: 0xf0001a1a, 0x4342: 0xf0001a1a, 0x4343: 0xf0001a1a,\n\t0x4344: 0xf0001a1a, 0x4345: 0xf0001a1a, 0x4346: 0xf0001a1a, 0x4347: 0xf0001a1a,\n\t0x4348: 0xf0001a1a, 0x4349: 0xf0001a1a, 0x434a: 0xf0001a1a, 0x434b: 0xf0001a1a,\n\t0x434c: 0xf0001a1a, 0x434d: 0xf0001a1a, 0x434e: 0xf0001a1a, 0x434f: 0xf0001a1a,\n\t0x4350: 0xf0001a1a, 0x4351: 0xf0001919, 0x4352: 0xf0001919, 0x4353: 0xf0001919,\n\t0x4354: 0xf0001919, 0x4355: 0xf0001919, 0x4356: 0xf0001919, 0x4357: 0xf0001919,\n\t0x4358: 0xf0001919, 0x4359: 0xf0001919, 0x435a: 0xf0001919, 0x435b: 0xf0001919,\n\t0x435c: 0xf0001919, 0x435d: 0xf0001919, 0x435e: 0xf0001919, 0x435f: 0xf0001919,\n\t0x4360: 0xf0001919, 0x4361: 0xf0001919, 0x4362: 0xf0001919, 0x4363: 0xf0001919,\n\t0x4364: 0xf0001919, 0x4365: 0xf0001919, 0x4366: 0xf0001919, 0x4367: 0xf0001919,\n\t0x4368: 0xf0001919, 0x4369: 0xf0001919, 0x436a: 0xf0001919, 0x436b: 0xf0001919,\n\t0x436c: 0xf0001919, 0x436d: 0xf0001717, 0x436e: 0xf0001717, 0x436f: 0xf0001717,\n\t0x4370: 0xf0001717, 0x4371: 0xf0001717, 0x4372: 0xf0001717, 0x4373: 0xf0001717,\n\t0x4374: 0xf0001818, 0x4375: 0xf0001818, 0x4376: 0xf0001818, 0x4377: 0xf0001818,\n\t0x4378: 0xf0001818, 0x4379: 0xf0001818, 0x437a: 0xf0001818, 0x437b: 0xf0001818,\n\t0x437c: 0xf0001919, 0x437d: 0xf0001a1a, 0x437e: 0x4004c020, 0x437f: 0x4004c220,\n\t// Block 0x10e, offset 0x4380\n\t0x4390: 0xe00015d4, 0x4391: 0xe00015e4, 0x4392: 0xe00015e0, 0x4393: 0xe00015e8,\n\t0x4394: 0xe00015ec, 0x4395: 0xe00015f8, 0x4396: 0xe00015fc, 0x4397: 0xe0001600,\n\t0x4398: 0xe0001621, 0x4399: 0xe000161d, 0x439a: 0xe0001635, 0x439b: 0xe0001631,\n\t0x439c: 0xe0001646, 0x439d: 0xe000163e, 0x439e: 0xe0001642, 0x439f: 0xe000165a,\n\t0x43a0: 0xe0001656, 0x43a1: 0xe0001652, 0x43a2: 0xe0001662, 0x43a3: 0xe000165e,\n\t0x43a4: 0xe000168a, 0x43a5: 0xe0001686, 0x43a6: 0xe00016b6, 0x43a7: 0xe000166e,\n\t0x43a8: 0xe000166a, 0x43a9: 0xe0001666, 0x43aa: 0xe000167a, 0x43ab: 0xe0001676,\n\t0x43ac: 0xe0001682, 0x43ad: 0xe000167e, 0x43ae: 0xe00016ba, 0x43af: 0xe00016c6,\n\t0x43b0: 0xe00016c2, 0x43b1: 0xe00016ce, 0x43b2: 0xe00016ca, 0x43b3: 0xe00016d2,\n\t0x43b4: 0xe00016d6, 0x43b5: 0xe00016de, 0x43b6: 0xe00016eb, 0x43b7: 0xe00016e7,\n\t0x43b8: 0xe00016ef, 0x43b9: 0xe00016f7, 0x43ba: 0xe00016ff, 0x43bb: 0xe00016fb,\n\t0x43bc: 0xe0001707, 0x43bd: 0xe0001703, 0x43be: 0xe0001717, 0x43bf: 0xe000171b,\n\t// Block 0x10f, offset 0x43c0\n\t0x43c0: 0xe0001759, 0x43c1: 0xe0001761, 0x43c2: 0xe000175d, 0x43c3: 0xe0001741,\n\t0x43c4: 0xe0001745, 0x43c5: 0xe0001769, 0x43c6: 0xe0001765, 0x43c7: 0xe0001771,\n\t0x43c8: 0xe000176d, 0x43c9: 0xe000178c, 0x43ca: 0xe0001790, 0x43cb: 0xe0001799,\n\t0x43cc: 0xe000177c, 0x43cd: 0xe0001784, 0x43ce: 0xe000179d, 0x43cf: 0xe00017a1,\n\t0x43d2: 0xe0001780, 0x43d3: 0xe00017d9,\n\t0x43d4: 0xe00017dd, 0x43d5: 0xe00017c5, 0x43d6: 0xe00017c9, 0x43d7: 0xe00017b9,\n\t0x43d8: 0xe00017b5, 0x43d9: 0xe00017bd, 0x43da: 0xe00017d5, 0x43db: 0xe00017d1,\n\t0x43dc: 0xe00017f8, 0x43dd: 0xe00017f4, 0x43de: 0xe00015d0, 0x43df: 0xe00015dc,\n\t0x43e0: 0xe00015d8, 0x43e1: 0xe00015f4, 0x43e2: 0xe00015f0, 0x43e3: 0xe0001608,\n\t0x43e4: 0xe0001604, 0x43e5: 0xe0001629, 0x43e6: 0xe000160c, 0x43e7: 0xe0001625,\n\t0x43e8: 0xe000164a, 0x43e9: 0xe000168e, 0x43ea: 0xe0001672, 0x43eb: 0xe00016be,\n\t0x43ec: 0xe0001751, 0x43ed: 0xe0001775, 0x43ee: 0xe00017f0, 0x43ef: 0xe00017ec,\n\t0x43f0: 0xe00017fc, 0x43f1: 0xe00017a9, 0x43f2: 0xe000171f, 0x43f3: 0xe00017cd,\n\t0x43f4: 0xe0001713, 0x43f5: 0xe0001755, 0x43f6: 0xe00016f3, 0x43f7: 0xe000172b,\n\t0x43f8: 0xe00017ad, 0x43f9: 0xe00017a5, 0x43fa: 0xe0001749, 0x43fb: 0xe0001727,\n\t0x43fc: 0xe000174d, 0x43fd: 0xe00017b1, 0x43fe: 0xe0001610, 0x43ff: 0xe000162d,\n\t// Block 0x110, offset 0x4400\n\t0x4400: 0xe0001788, 0x4401: 0xe000170b, 0x4402: 0xe00015cc, 0x4403: 0xe0001723,\n\t0x4404: 0xe00016da, 0x4405: 0xe00016b2, 0x4406: 0xe000164e, 0x4407: 0xe00017c1,\n\t0x4430: 0xe00016ae, 0x4431: 0xe000170f, 0x4432: 0xe00015c7, 0x4433: 0xe00015c2,\n\t0x4434: 0xe0001794, 0x4435: 0xe0001692, 0x4436: 0xe0001639, 0x4437: 0xe00016e2,\n\t0x4438: 0xe00017e7, 0x4439: 0xe0001697, 0x443a: 0xe000169b, 0x443b: 0xe0001614,\n\t0x443c: 0x40282e20, 0x443d: 0x40071620,\n\t// Block 0x111, offset 0x4440\n\t0x4440: 0xa0000000, 0x4441: 0xa0000000, 0x4442: 0xa0000000, 0x4443: 0xa0000000,\n\t0x4444: 0xa0000000, 0x4445: 0xa0000000, 0x4446: 0xa0000000, 0x4447: 0xa0000000,\n\t0x4448: 0xa0000000, 0x4449: 0xa0000000, 0x444a: 0xa0000000, 0x444b: 0xa0000000,\n\t0x444c: 0xa0000000, 0x444d: 0xa0000000, 0x444e: 0xa0000000, 0x444f: 0xa0000000,\n\t0x4450: 0x00024096, 0x4451: 0x00025c96, 0x4452: 0x00030496, 0x4453: 0x00026c96,\n\t0x4454: 0x00026296, 0x4455: 0x0002ba96, 0x4456: 0x0002c496, 0x4457: 0x0004b496,\n\t0x4458: 0x0004b696, 0x4459: 0xf0001616,\n\t0x4460: 0xae608202, 0x4461: 0xae600000, 0x4462: 0xae608102, 0x4463: 0xae600000,\n\t0x4464: 0xae600000, 0x4465: 0xae600000, 0x4466: 0xae600000,\n\t0x4470: 0xf0001f16, 0x4471: 0x00022c96, 0x4472: 0x00022a96, 0x4473: 0x00021696,\n\t0x4474: 0x00021696, 0x4475: 0x0003f496, 0x4476: 0x0003f696, 0x4477: 0x0003fc96,\n\t0x4478: 0x0003fe96, 0x4479: 0x0004b096, 0x447a: 0x0004b296, 0x447b: 0x0004ac96,\n\t0x447c: 0x0004ae96, 0x447d: 0x0004a096, 0x447e: 0x0004a296, 0x447f: 0x00049c96,\n\t// Block 0x112, offset 0x4480\n\t0x4480: 0x00049e96, 0x4481: 0x0004a496, 0x4482: 0x0004a696, 0x4483: 0x0004a896,\n\t0x4484: 0x0004aa96, 0x4485: 0x40025e20, 0x4486: 0x40026020, 0x4487: 0x0003f896,\n\t0x4488: 0x0003fa96, 0x4489: 0x00021484, 0x448a: 0x00021484, 0x448b: 0x00021484,\n\t0x448c: 0x00021484, 0x448d: 0x00021684, 0x448e: 0x00021684, 0x448f: 0x00021684,\n\t0x4490: 0x0002408f, 0x4491: 0x00025c8f, 0x4492: 0x0002e48f,\n\t0x4494: 0x0002628f, 0x4495: 0x00026c8f, 0x4496: 0x0002c48f, 0x4497: 0x0002ba8f,\n\t0x4498: 0x00022c8f, 0x4499: 0x0003f48f, 0x449a: 0x0003f68f, 0x449b: 0x0003fc8f,\n\t0x449c: 0x0003fe8f, 0x449d: 0x0004b08f, 0x449e: 0x0004b28f, 0x449f: 0x0004ea8f,\n\t0x44a0: 0x0004e68f, 0x44a1: 0x0004d88f, 0x44a2: 0x0009388f, 0x44a3: 0x00021a8f,\n\t0x44a4: 0x0009408f, 0x44a5: 0x0009448f, 0x44a6: 0x0009428f,\n\t0x44a8: 0x0004e48f, 0x44a9: 0x0027de8f, 0x44aa: 0x0004ec8f, 0x44ab: 0x0004d68f,\n\t0x44b0: 0xa000a21a, 0x44b1: 0xa000a218, 0x44b2: 0xa000a51a, 0x44b3: 0xa0000000,\n\t0x44b4: 0xa000a91a, 0x44b6: 0xa000ad1a, 0x44b7: 0xa000ad18,\n\t0x44b8: 0xa000b21a, 0x44b9: 0xa000b218, 0x44ba: 0xa000b61a, 0x44bb: 0xa000b618,\n\t0x44bc: 0xa000ba1a, 0x44bd: 0xa000ba18, 0x44be: 0xa000bc1a, 0x44bf: 0xa000bc18,\n\t// Block 0x113, offset 0x44c0\n\t0x44c0: 0x00391c9a, 0x44c1: 0x00391e9a, 0x44c2: 0x00391e99, 0x44c3: 0x0039209a,\n\t0x44c4: 0x00392099, 0x44c5: 0x0039269a, 0x44c6: 0x00392699, 0x44c7: 0x0039289a,\n\t0x44c8: 0x00392899, 0x44c9: 0x0039309a, 0x44ca: 0x00393099, 0x44cb: 0x00393097,\n\t0x44cc: 0x00393098, 0x44cd: 0x0039389a, 0x44ce: 0x00393899, 0x44cf: 0x00393c9a,\n\t0x44d0: 0x00393c99, 0x44d1: 0x00393c97, 0x44d2: 0x00393c98, 0x44d3: 0x0039549a,\n\t0x44d4: 0x00395499, 0x44d5: 0x0039569a, 0x44d6: 0x00395699, 0x44d7: 0x00395697,\n\t0x44d8: 0x00395698, 0x44d9: 0x0039589a, 0x44da: 0x00395899, 0x44db: 0x00395897,\n\t0x44dc: 0x00395898, 0x44dd: 0x0039649a, 0x44de: 0x00396499, 0x44df: 0x00396497,\n\t0x44e0: 0x00396498, 0x44e1: 0x0039729a, 0x44e2: 0x00397299, 0x44e3: 0x00397297,\n\t0x44e4: 0x00397298, 0x44e5: 0x0039749a, 0x44e6: 0x00397499, 0x44e7: 0x00397497,\n\t0x44e8: 0x00397498, 0x44e9: 0x0039889a, 0x44ea: 0x00398899, 0x44eb: 0x00398a9a,\n\t0x44ec: 0x00398a99, 0x44ed: 0x0039a49a, 0x44ee: 0x0039a499, 0x44ef: 0x0039a69a,\n\t0x44f0: 0x0039a699, 0x44f1: 0x0039c69a, 0x44f2: 0x0039c699, 0x44f3: 0x0039c697,\n\t0x44f4: 0x0039c698, 0x44f5: 0x0039c89a, 0x44f6: 0x0039c899, 0x44f7: 0x0039c897,\n\t0x44f8: 0x0039c898, 0x44f9: 0x0039dc9a, 0x44fa: 0x0039dc99, 0x44fb: 0x0039dc97,\n\t0x44fc: 0x0039dc98, 0x44fd: 0x0039de9a, 0x44fe: 0x0039de99, 0x44ff: 0x0039de97,\n\t// Block 0x114, offset 0x4500\n\t0x4500: 0x0039de98, 0x4501: 0x0039e69a, 0x4502: 0x0039e699, 0x4503: 0x0039e697,\n\t0x4504: 0x0039e698, 0x4505: 0x0039e89a, 0x4506: 0x0039e899, 0x4507: 0x0039e897,\n\t0x4508: 0x0039e898, 0x4509: 0x0039ee9a, 0x450a: 0x0039ee99, 0x450b: 0x0039ee97,\n\t0x450c: 0x0039ee98, 0x450d: 0x0039f09a, 0x450e: 0x0039f099, 0x450f: 0x0039f097,\n\t0x4510: 0x0039f098, 0x4511: 0x0039fc9a, 0x4512: 0x0039fc99, 0x4513: 0x0039fc97,\n\t0x4514: 0x0039fc98, 0x4515: 0x003a129a, 0x4516: 0x003a1299, 0x4517: 0x003a1297,\n\t0x4518: 0x003a1298, 0x4519: 0x003a1a9a, 0x451a: 0x003a1a99, 0x451b: 0x003a1a97,\n\t0x451c: 0x003a1a98, 0x451d: 0x003a409a, 0x451e: 0x003a4099, 0x451f: 0x003a4097,\n\t0x4520: 0x003a4098, 0x4521: 0x003a4e9a, 0x4522: 0x003a4e99, 0x4523: 0x003a4e97,\n\t0x4524: 0x003a4e98, 0x4525: 0x003a569a, 0x4526: 0x003a5699, 0x4527: 0x003a5697,\n\t0x4528: 0x003a5698, 0x4529: 0x003a689a, 0x452a: 0x003a6899, 0x452b: 0x003a6897,\n\t0x452c: 0x003a6898, 0x452d: 0x003a749a, 0x452e: 0x003a7499, 0x452f: 0x003a8e9a,\n\t0x4530: 0x003a8e99, 0x4531: 0x003a909a, 0x4532: 0x003a9099, 0x4533: 0x003a9097,\n\t0x4534: 0x003a9098, 0x4535: 0xe0001732, 0x4536: 0xe000172f, 0x4537: 0xe0001738,\n\t0x4538: 0xe0001735, 0x4539: 0xe000173e, 0x453a: 0xe000173b, 0x453b: 0xf0001a1a,\n\t0x453c: 0xf0001919, 0x453f: 0xa0000000,\n\t// Block 0x115, offset 0x4540\n\t0x4541: 0x0002ba83, 0x4542: 0x0003e083, 0x4543: 0x0004ea83,\n\t0x4544: 0x0027de83, 0x4545: 0x0004ec83, 0x4546: 0x0004e683, 0x4547: 0x0003d283,\n\t0x4548: 0x0003f483, 0x4549: 0x0003f683, 0x454a: 0x0004d883, 0x454b: 0x00093883,\n\t0x454c: 0x00024083, 0x454d: 0x00021a83, 0x454e: 0x0002e483, 0x454f: 0x0004e283,\n\t0x4550: 0x0029cc83, 0x4551: 0x0029ce83, 0x4552: 0x0029d083, 0x4553: 0x0029d283,\n\t0x4554: 0x0029d483, 0x4555: 0x0029d683, 0x4556: 0x0029d883, 0x4557: 0x0029da83,\n\t0x4558: 0x0029dc83, 0x4559: 0x0029de83, 0x455a: 0x00026c83, 0x455b: 0x00026283,\n\t0x455c: 0x00094083, 0x455d: 0x00094283, 0x455e: 0x00094483, 0x455f: 0x0002c483,\n\t0x4560: 0x0004d683, 0x4561: 0x002bde89, 0x4562: 0x002c0a89, 0x4563: 0x002c3a89,\n\t0x4564: 0x002c6289, 0x4565: 0x002c9889, 0x4566: 0x002d0889, 0x4567: 0x002d2289,\n\t0x4568: 0x002d6889, 0x4569: 0x002d9a89, 0x456a: 0x002dcc89, 0x456b: 0x002dfe89,\n\t0x456c: 0x002e2289, 0x456d: 0x002e8289, 0x456e: 0x002e9e89, 0x456f: 0x002ee289,\n\t0x4570: 0x002f2c89, 0x4571: 0x002f5689, 0x4572: 0x002f7a89, 0x4573: 0x002fe689,\n\t0x4574: 0x00302c89, 0x4575: 0x00306c89, 0x4576: 0x0030be89, 0x4577: 0x0030e289,\n\t0x4578: 0x0030f689, 0x4579: 0x00310089, 0x457a: 0x00312a89, 0x457b: 0x0003f883,\n\t0x457c: 0x0004e483, 0x457d: 0x0003fa83, 0x457e: 0x00062483, 0x457f: 0x00021683,\n\t// Block 0x116, offset 0x4580\n\t0x4580: 0x00061e83, 0x4581: 0x002bde83, 0x4582: 0x002c0a83, 0x4583: 0x002c3a83,\n\t0x4584: 0x002c6283, 0x4585: 0x002c9883, 0x4586: 0x002d0883, 0x4587: 0x002d2283,\n\t0x4588: 0x002d6883, 0x4589: 0x002d9a83, 0x458a: 0x002dcc83, 0x458b: 0x002dfe83,\n\t0x458c: 0x002e2283, 0x458d: 0x002e8283, 0x458e: 0x002e9e83, 0x458f: 0x002ee283,\n\t0x4590: 0x002f2c83, 0x4591: 0x002f5683, 0x4592: 0x002f7a83, 0x4593: 0x002fe683,\n\t0x4594: 0x00302c83, 0x4595: 0x00306c83, 0x4596: 0x0030be83, 0x4597: 0x0030e283,\n\t0x4598: 0x0030f683, 0x4599: 0x00310083, 0x459a: 0x00312a83, 0x459b: 0x0003fc83,\n\t0x459c: 0x00094883, 0x459d: 0x0003fe83, 0x459e: 0x00094c83, 0x459f: 0x00041883,\n\t0x45a0: 0x00041a83, 0x45a1: 0x00030492, 0x45a2: 0x0004a492, 0x45a3: 0x0004a692,\n\t0x45a4: 0x00025c92, 0x45a5: 0x00023e92, 0x45a6: 0x0065d692, 0x45a7: 0x00657690,\n\t0x45a8: 0x00657890, 0x45a9: 0x00657a90, 0x45aa: 0x00657e90, 0x45ab: 0x00658090,\n\t0x45ac: 0x0065be90, 0x45ad: 0x0065c090, 0x45ae: 0x0065c490, 0x45af: 0x00659a90,\n\t0x45b0: 0x0027d692, 0x45b1: 0x00657692, 0x45b2: 0x00657892, 0x45b3: 0x00657a92,\n\t0x45b4: 0x00657e92, 0x45b5: 0x00658092, 0x45b6: 0x00658292, 0x45b7: 0x00658492,\n\t0x45b8: 0x00658692, 0x45b9: 0x00658892, 0x45ba: 0x00658a92, 0x45bb: 0x00658c92,\n\t0x45bc: 0x00658e92, 0x45bd: 0x00659092, 0x45be: 0x00659292, 0x45bf: 0x00659492,\n\t// Block 0x117, offset 0x45c0\n\t0x45c0: 0x00659692, 0x45c1: 0x00659892, 0x45c2: 0x00659a92, 0x45c3: 0x00659c92,\n\t0x45c4: 0x00659e92, 0x45c5: 0x0065a092, 0x45c6: 0x0065a292, 0x45c7: 0x0065a492,\n\t0x45c8: 0x0065a692, 0x45c9: 0x0065a892, 0x45ca: 0x0065aa92, 0x45cb: 0x0065ac92,\n\t0x45cc: 0x0065ae92, 0x45cd: 0x0065b092, 0x45ce: 0x0065b292, 0x45cf: 0x0065b492,\n\t0x45d0: 0x0065b692, 0x45d1: 0x0065b892, 0x45d2: 0x0065ba92, 0x45d3: 0x0065bc92,\n\t0x45d4: 0x0065be92, 0x45d5: 0x0065c092, 0x45d6: 0x0065c492, 0x45d7: 0x0065c692,\n\t0x45d8: 0x0065c892, 0x45d9: 0x0065ca92, 0x45da: 0x0065cc92, 0x45db: 0x0065ce92,\n\t0x45dc: 0x0065d092, 0x45dd: 0x0065d892, 0x45de: 0xa0012812, 0x45df: 0xa0012912,\n\t0x45e0: 0x0063a692, 0x45e1: 0x0062ac92, 0x45e2: 0x0062ae92, 0x45e3: 0x00646892,\n\t0x45e4: 0x0062b092, 0x45e5: 0x00646c92, 0x45e6: 0x00646e92, 0x45e7: 0x0062b292,\n\t0x45e8: 0x0062b492, 0x45e9: 0x0062b692, 0x45ea: 0x00647492, 0x45eb: 0x00647692,\n\t0x45ec: 0x00647892, 0x45ed: 0x00647a92, 0x45ee: 0x00647c92, 0x45ef: 0x00647e92,\n\t0x45f0: 0x0062e092, 0x45f1: 0x0062b892, 0x45f2: 0x0062ba92, 0x45f3: 0x0062bc92,\n\t0x45f4: 0x0062ee92, 0x45f5: 0x0062be92, 0x45f6: 0x0062c092, 0x45f7: 0x0062c292,\n\t0x45f8: 0x0062c492, 0x45f9: 0x0062c692, 0x45fa: 0x0062c892, 0x45fb: 0x0062ca92,\n\t0x45fc: 0x0062cc92, 0x45fd: 0x0062ce92, 0x45fe: 0x0062d092,\n\t// Block 0x118, offset 0x4600\n\t0x4602: 0x0063a892, 0x4603: 0x0063aa92,\n\t0x4604: 0x0063ac92, 0x4605: 0x0063ae92, 0x4606: 0x0063b092, 0x4607: 0x0063b292,\n\t0x460a: 0x0063b492, 0x460b: 0x0063b692,\n\t0x460c: 0x0063b892, 0x460d: 0x0063ba92, 0x460e: 0x0063bc92, 0x460f: 0x0063be92,\n\t0x4612: 0x0063c092, 0x4613: 0x0063c292,\n\t0x4614: 0x0063c492, 0x4615: 0x0063c692, 0x4616: 0x0063c892, 0x4617: 0x0063ca92,\n\t0x461a: 0x0063cc92, 0x461b: 0x0063ce92,\n\t0x461c: 0x0063d092,\n\t0x4620: 0x0027dc83, 0x4621: 0x0027e083, 0x4622: 0x00094683, 0x4623: 0x00062683,\n\t0x4624: 0x00094a83, 0x4625: 0x0027e283, 0x4626: 0x00280883,\n\t0x4628: 0x000d3292, 0x4629: 0x00084492, 0x462a: 0x00084892, 0x462b: 0x00084692,\n\t0x462c: 0x00084a92, 0x462d: 0x000e6e92, 0x462e: 0x000ec492,\n\t0x4639: 0xa0000000, 0x463a: 0xa0000000, 0x463b: 0xa0000000,\n\t0x463c: 0x4027ae20, 0x463d: 0x4027b020, 0x463e: 0x00000285, 0x463f: 0x2bfffe85,\n\t// Block 0x119, offset 0x4640\n\t0x4640: 0x40731a20, 0x4641: 0x40731c20, 0x4642: 0x40731e20, 0x4643: 0x40732020,\n\t0x4644: 0x40732220, 0x4645: 0x40732420, 0x4646: 0x40732620, 0x4647: 0x40732820,\n\t0x4648: 0x40732a20, 0x4649: 0x40732c20, 0x464a: 0x40732e20, 0x464b: 0x40733020,\n\t0x464d: 0x40733220, 0x464e: 0x40733420, 0x464f: 0x40733620,\n\t0x4650: 0x40733820, 0x4651: 0x40733a20, 0x4652: 0x40733c20, 0x4653: 0x40733e20,\n\t0x4654: 0x40734020, 0x4655: 0x40734220, 0x4656: 0x40734420, 0x4657: 0x40734620,\n\t0x4658: 0x40734820, 0x4659: 0x40734a20, 0x465a: 0x40734c20, 0x465b: 0x40734e20,\n\t0x465c: 0x40735020, 0x465d: 0x40735220, 0x465e: 0x40735420, 0x465f: 0x40735620,\n\t0x4660: 0x40735820, 0x4661: 0x40735a20, 0x4662: 0x40735c20, 0x4663: 0x40735e20,\n\t0x4664: 0x40736020, 0x4665: 0x40736220, 0x4666: 0x40736420,\n\t0x4668: 0x40736620, 0x4669: 0x40736820, 0x466a: 0x40736a20, 0x466b: 0x40736c20,\n\t0x466c: 0x40736e20, 0x466d: 0x40737020, 0x466e: 0x40737220, 0x466f: 0x40737420,\n\t0x4670: 0x40737620, 0x4671: 0x40737820, 0x4672: 0x40737a20, 0x4673: 0x40737c20,\n\t0x4674: 0x40737e20, 0x4675: 0x40738020, 0x4676: 0x40738220, 0x4677: 0x40738420,\n\t0x4678: 0x40738620, 0x4679: 0x40738820, 0x467a: 0x40738a20,\n\t0x467c: 0x40738c20, 0x467d: 0x40738e20, 0x467f: 0x40739020,\n\t// Block 0x11a, offset 0x4680\n\t0x4680: 0x40739220, 0x4681: 0x40739420, 0x4682: 0x40739620, 0x4683: 0x40739820,\n\t0x4684: 0x40739a20, 0x4685: 0x40739c20, 0x4686: 0x40739e20, 0x4687: 0x4073a020,\n\t0x4688: 0x4073a220, 0x4689: 0x4073a420, 0x468a: 0x4073a620, 0x468b: 0x4073a820,\n\t0x468c: 0x4073aa20, 0x468d: 0x4073ac20,\n\t0x4690: 0x4073ae20, 0x4691: 0x4073b020, 0x4692: 0x4073b220, 0x4693: 0x4073b420,\n\t0x4694: 0x4073b620, 0x4695: 0x4073b820, 0x4696: 0x4073ba20, 0x4697: 0x4073bc20,\n\t0x4698: 0x4073be20, 0x4699: 0x4073c020, 0x469a: 0x4073c220, 0x469b: 0x4073c420,\n\t0x469c: 0x4073c620, 0x469d: 0x4073c820,\n\t// Block 0x11b, offset 0x46c0\n\t0x46c0: 0x4073ca20, 0x46c1: 0x4073cc20, 0x46c2: 0x4073ce20, 0x46c3: 0x4073d020,\n\t0x46c4: 0x4073d220, 0x46c5: 0x4073d420, 0x46c6: 0x4073d620, 0x46c7: 0x4073d820,\n\t0x46c8: 0x4073da20, 0x46c9: 0x4073dc20, 0x46ca: 0x4073de20, 0x46cb: 0x4073e020,\n\t0x46cc: 0x4073e220, 0x46cd: 0x4073e420, 0x46ce: 0x4073e620, 0x46cf: 0x4073e820,\n\t0x46d0: 0x4073ea20, 0x46d1: 0x4073ec20, 0x46d2: 0x4073ee20, 0x46d3: 0x4073f020,\n\t0x46d4: 0x4073f220, 0x46d5: 0x4073f420, 0x46d6: 0x4073f620, 0x46d7: 0x4073f820,\n\t0x46d8: 0x4073fa20, 0x46d9: 0x4073fc20, 0x46da: 0x4073fe20, 0x46db: 0x40740020,\n\t0x46dc: 0x40740220, 0x46dd: 0x40740420, 0x46de: 0x40740620, 0x46df: 0x40740820,\n\t0x46e0: 0x40740a20, 0x46e1: 0x40740c20, 0x46e2: 0x40740e20, 0x46e3: 0x40741020,\n\t0x46e4: 0x40741220, 0x46e5: 0x40741420, 0x46e6: 0x40741620, 0x46e7: 0x40741820,\n\t0x46e8: 0x40741a20, 0x46e9: 0x40741c20, 0x46ea: 0x40741e20, 0x46eb: 0x40742020,\n\t0x46ec: 0x40742220, 0x46ed: 0x40742420, 0x46ee: 0x40742620, 0x46ef: 0x40742820,\n\t0x46f0: 0x40742a20, 0x46f1: 0x40742c20, 0x46f2: 0x40742e20, 0x46f3: 0x40743020,\n\t0x46f4: 0x40743220, 0x46f5: 0x40743420, 0x46f6: 0x40743620, 0x46f7: 0x40743820,\n\t0x46f8: 0x40743a20, 0x46f9: 0x40743c20, 0x46fa: 0x40743e20, 0x46fb: 0x40744020,\n\t0x46fc: 0x40744220, 0x46fd: 0x40744420, 0x46fe: 0x40744620, 0x46ff: 0x40744820,\n\t// Block 0x11c, offset 0x4700\n\t0x4700: 0x40744a20, 0x4701: 0x40744c20, 0x4702: 0x40744e20, 0x4703: 0x40745020,\n\t0x4704: 0x40745220, 0x4705: 0x40745420, 0x4706: 0x40745620, 0x4707: 0x40745820,\n\t0x4708: 0x40745a20, 0x4709: 0x40745c20, 0x470a: 0x40745e20, 0x470b: 0x40746020,\n\t0x470c: 0x40746220, 0x470d: 0x40746420, 0x470e: 0x40746620, 0x470f: 0x40746820,\n\t0x4710: 0x40746a20, 0x4711: 0x40746c20, 0x4712: 0x40746e20, 0x4713: 0x40747020,\n\t0x4714: 0x40747220, 0x4715: 0x40747420, 0x4716: 0x40747620, 0x4717: 0x40747820,\n\t0x4718: 0x40747a20, 0x4719: 0x40747c20, 0x471a: 0x40747e20, 0x471b: 0x40748020,\n\t0x471c: 0x40748220, 0x471d: 0x40748420, 0x471e: 0x40748620, 0x471f: 0x40748820,\n\t0x4720: 0x40748a20, 0x4721: 0x40748c20, 0x4722: 0x40748e20, 0x4723: 0x40749020,\n\t0x4724: 0x40749220, 0x4725: 0x40749420, 0x4726: 0x40749620, 0x4727: 0x40749820,\n\t0x4728: 0x40749a20, 0x4729: 0x40749c20, 0x472a: 0x40749e20, 0x472b: 0x4074a020,\n\t0x472c: 0x4074a220, 0x472d: 0x4074a420, 0x472e: 0x4074a620, 0x472f: 0x4074a820,\n\t0x4730: 0x4074aa20, 0x4731: 0x4074ac20, 0x4732: 0x4074ae20, 0x4733: 0x4074b020,\n\t0x4734: 0x4074b220, 0x4735: 0x4074b420, 0x4736: 0x4074b620, 0x4737: 0x4074b820,\n\t0x4738: 0x4074ba20, 0x4739: 0x4074bc20, 0x473a: 0x4074be20,\n\t// Block 0x11d, offset 0x4740\n\t0x4740: 0x4003be20, 0x4741: 0x4003c020, 0x4742: 0x4003c220,\n\t0x4747: 0xe000026a,\n\t0x4748: 0xe0000382, 0x4749: 0xe000045c, 0x474a: 0xe0000531, 0x474b: 0xe00005fb,\n\t0x474c: 0xe00006c6, 0x474d: 0xe000076e, 0x474e: 0xe000081a, 0x474f: 0xe00008bf,\n\t0x4750: 0x4028ba20, 0x4751: 0x4028bc20, 0x4752: 0x4028be20, 0x4753: 0x4028c020,\n\t0x4754: 0x4028c220, 0x4755: 0x4028c420, 0x4756: 0x4028c620, 0x4757: 0x4028c820,\n\t0x4758: 0x4028ca20, 0x4759: 0x4028cc20, 0x475a: 0x4028ce20, 0x475b: 0x4028d020,\n\t0x475c: 0x4028d220, 0x475d: 0x4028d420, 0x475e: 0x4028d620, 0x475f: 0x4028d820,\n\t0x4760: 0x4028da20, 0x4761: 0x4028dc20, 0x4762: 0x4028de20, 0x4763: 0x4028e020,\n\t0x4764: 0x4028e220, 0x4765: 0x4028e420, 0x4766: 0x4028e620, 0x4767: 0x4028e820,\n\t0x4768: 0x4028ea20, 0x4769: 0x4028ec20, 0x476a: 0x4028ee20, 0x476b: 0x4028f020,\n\t0x476c: 0x4028f220, 0x476d: 0x4028f420, 0x476e: 0x4028f620, 0x476f: 0x4028f820,\n\t0x4770: 0x4028fa20, 0x4771: 0x4028fc20, 0x4772: 0x4028fe20, 0x4773: 0x40290020,\n\t0x4777: 0x401afe20,\n\t0x4778: 0x401b0020, 0x4779: 0x401b0220, 0x477a: 0x401b0420, 0x477b: 0x401b0620,\n\t0x477c: 0x401b0820, 0x477d: 0x401b0a20, 0x477e: 0x401b0c20, 0x477f: 0x401b0e20,\n\t// Block 0x11e, offset 0x4780\n\t0x4780: 0x40290220, 0x4781: 0x40290420, 0x4782: 0xe000026d, 0x4783: 0xe00005fe,\n\t0x4784: 0x40290620, 0x4785: 0x40290820, 0x4786: 0x40290a20, 0x4787: 0x40290c20,\n\t0x4788: 0xe0000601, 0x4789: 0x40290e20, 0x478a: 0x40291020, 0x478b: 0x40291220,\n\t0x478c: 0x40291420, 0x478d: 0x40291620, 0x478e: 0x40291820, 0x478f: 0xe0000604,\n\t0x4790: 0x40291a20, 0x4791: 0x40291c20, 0x4792: 0x40291e20, 0x4793: 0x40292020,\n\t0x4794: 0x40292220, 0x4795: 0x40292420, 0x4796: 0x40292620, 0x4797: 0x40292820,\n\t0x4798: 0xe0000270, 0x4799: 0xe0000273, 0x479a: 0xe0000276, 0x479b: 0xe0000385,\n\t0x479c: 0xe0000388, 0x479d: 0xe000038b, 0x479e: 0xe000038e, 0x479f: 0xe0000607,\n\t0x47a0: 0x40292a20, 0x47a1: 0x40292c20, 0x47a2: 0x40292e20, 0x47a3: 0x40293020,\n\t0x47a4: 0x40293220, 0x47a5: 0x40293420, 0x47a6: 0x40293620, 0x47a7: 0x40293820,\n\t0x47a8: 0x40293a20, 0x47a9: 0x40293c20, 0x47aa: 0x40293e20, 0x47ab: 0x40294020,\n\t0x47ac: 0x40294220, 0x47ad: 0x40294420, 0x47ae: 0x40294620, 0x47af: 0x40294820,\n\t0x47b0: 0x40294a20, 0x47b1: 0x40294c20, 0x47b2: 0x40294e20, 0x47b3: 0xe000060a,\n\t0x47b4: 0x40295020, 0x47b5: 0x40295220, 0x47b6: 0x40295420, 0x47b7: 0x40295620,\n\t0x47b8: 0x40295820, 0x47b9: 0x401b1020, 0x47ba: 0x401b1220, 0x47bb: 0x401b1420,\n\t0x47bc: 0x401b1620, 0x47bd: 0x401b1820, 0x47be: 0x401b1a20, 0x47bf: 0x401b1c20,\n\t// Block 0x11f, offset 0x47c0\n\t0x47c0: 0x401b1e20, 0x47c1: 0x401b2020, 0x47c2: 0x401b2220, 0x47c3: 0x401b2420,\n\t0x47c4: 0x401b2620, 0x47c5: 0x401b2820, 0x47c6: 0x401b2a20, 0x47c7: 0x401b2c20,\n\t0x47c8: 0x401b2e20, 0x47c9: 0x401b3020, 0x47ca: 0xe00001d6,\n\t0x47d0: 0x401b3220, 0x47d1: 0x401b3420, 0x47d2: 0x401b3620, 0x47d3: 0x401b3820,\n\t0x47d4: 0x401b3a20, 0x47d5: 0x401b3c20, 0x47d6: 0x401b3e20, 0x47d7: 0x401b4020,\n\t0x47d8: 0x401b4220, 0x47d9: 0x401b4420, 0x47da: 0x401b4620, 0x47db: 0x401b4820,\n\t// Block 0x120, offset 0x4800\n\t0x4810: 0x401b4a20, 0x4811: 0x401b4c20, 0x4812: 0x401b4e20, 0x4813: 0x401b5020,\n\t0x4814: 0x401b5220, 0x4815: 0x401b5420, 0x4816: 0x401b5620, 0x4817: 0x401b5820,\n\t0x4818: 0x401b5a20, 0x4819: 0x401b5c20, 0x481a: 0x401b5e20, 0x481b: 0x401b6020,\n\t0x481c: 0x401b6220, 0x481d: 0x401b6420, 0x481e: 0x401b6620, 0x481f: 0x401b6820,\n\t0x4820: 0x401b6a20, 0x4821: 0x401b6c20, 0x4822: 0x401b6e20, 0x4823: 0x401b7020,\n\t0x4824: 0x401b7220, 0x4825: 0x401b7420, 0x4826: 0x401b7620, 0x4827: 0x401b7820,\n\t0x4828: 0x401b7a20, 0x4829: 0x401b7c20, 0x482a: 0x401b7e20, 0x482b: 0x401b8020,\n\t0x482c: 0x401b8220, 0x482d: 0x401b8420, 0x482e: 0x401b8620, 0x482f: 0x401b8820,\n\t0x4830: 0x401b8a20, 0x4831: 0x401b8c20, 0x4832: 0x401b8e20, 0x4833: 0x401b9020,\n\t0x4834: 0x401b9220, 0x4835: 0x401b9420, 0x4836: 0x401b9620, 0x4837: 0x401b9820,\n\t0x4838: 0x401b9a20, 0x4839: 0x401b9c20, 0x483a: 0x401b9e20, 0x483b: 0x401ba020,\n\t0x483c: 0x401ba220, 0x483d: 0xadc13802,\n\t// Block 0x121, offset 0x4840\n\t0x4840: 0x4070b820, 0x4841: 0x4070ba20, 0x4842: 0x4070bc20, 0x4843: 0x4070be20,\n\t0x4844: 0x4070c020, 0x4845: 0x4070c220, 0x4846: 0x4070c420, 0x4847: 0x4070c620,\n\t0x4848: 0x4070c820, 0x4849: 0x4070ca20, 0x484a: 0x4070cc20, 0x484b: 0x4070ce20,\n\t0x484c: 0x4070d020, 0x484d: 0x4070d220, 0x484e: 0x4070d420, 0x484f: 0x4070d620,\n\t0x4850: 0x4070d820, 0x4851: 0x4070da20, 0x4852: 0x4070dc20, 0x4853: 0x4070de20,\n\t0x4854: 0x4070e020, 0x4855: 0x4070e220, 0x4856: 0x4070e420, 0x4857: 0x4070e620,\n\t0x4858: 0x4070e820, 0x4859: 0x4070ea20, 0x485a: 0x4070ec20, 0x485b: 0x4070ee20,\n\t0x485c: 0x4070f020,\n\t0x4860: 0x4070f220, 0x4861: 0x4070f420, 0x4862: 0x4070f620, 0x4863: 0x4070f820,\n\t0x4864: 0x4070fa20, 0x4865: 0x4070fc20, 0x4866: 0x4070fe20, 0x4867: 0x40710020,\n\t0x4868: 0x40710220, 0x4869: 0x40710420, 0x486a: 0x40710620, 0x486b: 0x40710820,\n\t0x486c: 0x40710a20, 0x486d: 0x40710c20, 0x486e: 0x40710e20, 0x486f: 0x40711020,\n\t0x4870: 0x40711220, 0x4871: 0x40711420, 0x4872: 0x40711620, 0x4873: 0x40711820,\n\t0x4874: 0x40711a20, 0x4875: 0x40711c20, 0x4876: 0x40711e20, 0x4877: 0x40712020,\n\t0x4878: 0x40712220, 0x4879: 0x40712420, 0x487a: 0x40712620, 0x487b: 0x40712820,\n\t0x487c: 0x40712a20, 0x487d: 0x40712c20, 0x487e: 0x40712e20, 0x487f: 0x40713020,\n\t// Block 0x122, offset 0x4880\n\t0x4880: 0x40713220, 0x4881: 0x40713420, 0x4882: 0x40713620, 0x4883: 0x40713820,\n\t0x4884: 0x40713a20, 0x4885: 0x40713c20, 0x4886: 0x40713e20, 0x4887: 0x40714020,\n\t0x4888: 0x40714220, 0x4889: 0x40714420, 0x488a: 0x40714620, 0x488b: 0x40714820,\n\t0x488c: 0x40714a20, 0x488d: 0x40714c20, 0x488e: 0x40714e20, 0x488f: 0x40715020,\n\t0x4890: 0x40715220,\n\t// Block 0x123, offset 0x48c0\n\t0x48c0: 0x40718820, 0x48c1: 0x40718a20, 0x48c2: 0x40718c20, 0x48c3: 0x40718e20,\n\t0x48c4: 0x40719020, 0x48c5: 0x40719220, 0x48c6: 0x40719420, 0x48c7: 0x40719620,\n\t0x48c8: 0x40719820, 0x48c9: 0x40719a20, 0x48ca: 0x40719c20, 0x48cb: 0x40719e20,\n\t0x48cc: 0x4071a020, 0x48cd: 0x4071a220, 0x48ce: 0x4071a420, 0x48cf: 0x4071a620,\n\t0x48d0: 0x4071a820, 0x48d1: 0x4071aa20, 0x48d2: 0x4071ac20, 0x48d3: 0x4071ae20,\n\t0x48d4: 0x4071b020, 0x48d5: 0x4071b220, 0x48d6: 0x4071b420, 0x48d7: 0x4071b620,\n\t0x48d8: 0x4071b820, 0x48d9: 0x4071ba20, 0x48da: 0x4071bc20, 0x48db: 0x4071be20,\n\t0x48dc: 0x4071c020, 0x48dd: 0x4071c220, 0x48de: 0x4071c420,\n\t0x48e0: 0xe0000279, 0x48e1: 0xe000060d, 0x48e2: 0x4028b620, 0x48e3: 0x4028b820,\n\t0x48f0: 0x4071c620, 0x48f1: 0x4071c820, 0x48f2: 0x4071ca20, 0x48f3: 0x4071cc20,\n\t0x48f4: 0x4071ce20, 0x48f5: 0x4071d020, 0x48f6: 0x4071d220, 0x48f7: 0x4071d420,\n\t0x48f8: 0x4071d620, 0x48f9: 0x4071d820, 0x48fa: 0x4071da20, 0x48fb: 0x4071dc20,\n\t0x48fc: 0x4071de20, 0x48fd: 0x4071e020, 0x48fe: 0x4071e220, 0x48ff: 0x4071e420,\n\t// Block 0x124, offset 0x4900\n\t0x4900: 0x4071e620, 0x4901: 0x4071e820, 0x4902: 0x4071ea20, 0x4903: 0x4071ec20,\n\t0x4904: 0x4071ee20, 0x4905: 0x4071f020, 0x4906: 0x4071f220, 0x4907: 0x4071f420,\n\t0x4908: 0x4071f620, 0x4909: 0x4071f820, 0x490a: 0x4071fa20,\n\t// Block 0x125, offset 0x4940\n\t0x4940: 0x40765020, 0x4941: 0x40765220, 0x4942: 0x40765420, 0x4943: 0x40765620,\n\t0x4944: 0x40765820, 0x4945: 0x40765a20, 0x4946: 0x40765c20, 0x4947: 0x40765e20,\n\t0x4948: 0x40766020, 0x4949: 0x40766220, 0x494a: 0x40766420, 0x494b: 0x40766620,\n\t0x494c: 0x40766820, 0x494d: 0x40766a20, 0x494e: 0x40766c20, 0x494f: 0x40766e20,\n\t0x4950: 0x40767020, 0x4951: 0x40767220, 0x4952: 0x40767420, 0x4953: 0x40767620,\n\t0x4954: 0x40767820, 0x4955: 0x40767a20, 0x4956: 0x40767c20, 0x4957: 0x40767e20,\n\t0x4958: 0x40768020, 0x4959: 0x40768220, 0x495a: 0x40768420, 0x495b: 0x40768620,\n\t0x495c: 0x40768820, 0x495d: 0x40768a20, 0x495f: 0x4003c420,\n\t0x4960: 0x40768c20, 0x4961: 0x40768e20, 0x4962: 0x40769020, 0x4963: 0x40769220,\n\t0x4964: 0x40769420, 0x4965: 0x40769620, 0x4966: 0x40769820, 0x4967: 0x40769a20,\n\t0x4968: 0x40769c20, 0x4969: 0x40769e20, 0x496a: 0x4076a020, 0x496b: 0x4076a220,\n\t0x496c: 0x4076a420, 0x496d: 0x4076a620, 0x496e: 0x4076a820, 0x496f: 0x4076aa20,\n\t0x4970: 0x4076ac20, 0x4971: 0x4076ae20, 0x4972: 0x4076b020, 0x4973: 0x4076b220,\n\t0x4974: 0x4076b420, 0x4975: 0x4076b620, 0x4976: 0x4076b820, 0x4977: 0x4076ba20,\n\t0x4978: 0x4076bc20, 0x4979: 0x4076be20, 0x497a: 0x4076c020, 0x497b: 0x4076c220,\n\t0x497c: 0x4076c420, 0x497d: 0x4076c620, 0x497e: 0x4076c820, 0x497f: 0x4076ca20,\n\t// Block 0x126, offset 0x4980\n\t0x4980: 0x4076cc20, 0x4981: 0x4076ce20, 0x4982: 0x4076d020, 0x4983: 0x4076d220,\n\t0x4988: 0x4076d420, 0x4989: 0x4076d620, 0x498a: 0x4076d820, 0x498b: 0x4076da20,\n\t0x498c: 0x4076dc20, 0x498d: 0x4076de20, 0x498e: 0x4076e020, 0x498f: 0x4076e220,\n\t0x4990: 0x4003c620, 0x4991: 0xe000027c, 0x4992: 0xe0000391, 0x4993: 0x40295a20,\n\t0x4994: 0x40295c20, 0x4995: 0x40295e20,\n\t// Block 0x127, offset 0x49c0\n\t0x49c0: 0x0071fc88, 0x49c1: 0x0071fe88, 0x49c2: 0x00720088, 0x49c3: 0x00720288,\n\t0x49c4: 0x00720488, 0x49c5: 0x00720688, 0x49c6: 0x00720888, 0x49c7: 0x00720a88,\n\t0x49c8: 0x00720c88, 0x49c9: 0x00720e88, 0x49ca: 0x00721088, 0x49cb: 0x00721288,\n\t0x49cc: 0x00721488, 0x49cd: 0x00721688, 0x49ce: 0x00721888, 0x49cf: 0x00721a88,\n\t0x49d0: 0x00721c88, 0x49d1: 0x00721e88, 0x49d2: 0x00722088, 0x49d3: 0x00722288,\n\t0x49d4: 0x00722488, 0x49d5: 0x00722688, 0x49d6: 0x00722888, 0x49d7: 0x00722a88,\n\t0x49d8: 0x00722c88, 0x49d9: 0x00722e88, 0x49da: 0x00723088, 0x49db: 0x00723288,\n\t0x49dc: 0x00723488, 0x49dd: 0x00723688, 0x49de: 0x00723888, 0x49df: 0x00723a88,\n\t0x49e0: 0x00723c88, 0x49e1: 0x00723e88, 0x49e2: 0x00724088, 0x49e3: 0x00724288,\n\t0x49e4: 0x00724488, 0x49e5: 0x00724688, 0x49e6: 0x00724888, 0x49e7: 0x00724a88,\n\t0x49e8: 0x4071fc20, 0x49e9: 0x4071fe20, 0x49ea: 0x40720020, 0x49eb: 0x40720220,\n\t0x49ec: 0x40720420, 0x49ed: 0x40720620, 0x49ee: 0x40720820, 0x49ef: 0x40720a20,\n\t0x49f0: 0x40720c20, 0x49f1: 0x40720e20, 0x49f2: 0x40721020, 0x49f3: 0x40721220,\n\t0x49f4: 0x40721420, 0x49f5: 0x40721620, 0x49f6: 0x40721820, 0x49f7: 0x40721a20,\n\t0x49f8: 0x40721c20, 0x49f9: 0x40721e20, 0x49fa: 0x40722020, 0x49fb: 0x40722220,\n\t0x49fc: 0x40722420, 0x49fd: 0x40722620, 0x49fe: 0x40722820, 0x49ff: 0x40722a20,\n\t// Block 0x128, offset 0x4a00\n\t0x4a00: 0x40722c20, 0x4a01: 0x40722e20, 0x4a02: 0x40723020, 0x4a03: 0x40723220,\n\t0x4a04: 0x40723420, 0x4a05: 0x40723620, 0x4a06: 0x40723820, 0x4a07: 0x40723a20,\n\t0x4a08: 0x40723c20, 0x4a09: 0x40723e20, 0x4a0a: 0x40724020, 0x4a0b: 0x40724220,\n\t0x4a0c: 0x40724420, 0x4a0d: 0x40724620, 0x4a0e: 0x40724820, 0x4a0f: 0x40724a20,\n\t0x4a10: 0x40724c20, 0x4a11: 0x40724e20, 0x4a12: 0x40725020, 0x4a13: 0x40725220,\n\t0x4a14: 0x40725420, 0x4a15: 0x40725620, 0x4a16: 0x40725820, 0x4a17: 0x40725a20,\n\t0x4a18: 0x40725c20, 0x4a19: 0x40725e20, 0x4a1a: 0x40726020, 0x4a1b: 0x40726220,\n\t0x4a1c: 0x40726420, 0x4a1d: 0x40726620, 0x4a1e: 0x40726820, 0x4a1f: 0x40726a20,\n\t0x4a20: 0x40726c20, 0x4a21: 0x40726e20, 0x4a22: 0x40727020, 0x4a23: 0x40727220,\n\t0x4a24: 0x40727420, 0x4a25: 0x40727620, 0x4a26: 0x40727820, 0x4a27: 0x40727a20,\n\t0x4a28: 0x40727c20, 0x4a29: 0x40727e20, 0x4a2a: 0x40728020, 0x4a2b: 0x40728220,\n\t0x4a2c: 0x40728420, 0x4a2d: 0x40728620, 0x4a2e: 0x40728820, 0x4a2f: 0x40728a20,\n\t0x4a30: 0x40728c20, 0x4a31: 0x40728e20, 0x4a32: 0x40729020, 0x4a33: 0x40729220,\n\t0x4a34: 0x40729420, 0x4a35: 0x40729620, 0x4a36: 0x40729820, 0x4a37: 0x40729a20,\n\t0x4a38: 0x40729c20, 0x4a39: 0x40729e20, 0x4a3a: 0x4072a020, 0x4a3b: 0x4072a220,\n\t0x4a3c: 0x4072a420, 0x4a3d: 0x4072a620, 0x4a3e: 0x4072a820, 0x4a3f: 0x4072aa20,\n\t// Block 0x129, offset 0x4a40\n\t0x4a40: 0x4072ac20, 0x4a41: 0x4072ae20, 0x4a42: 0x4072b020, 0x4a43: 0x4072b220,\n\t0x4a44: 0x4072b420, 0x4a45: 0x4072b620, 0x4a46: 0x4072b820, 0x4a47: 0x4072ba20,\n\t0x4a48: 0x4072bc20, 0x4a49: 0x4072be20, 0x4a4a: 0x4072c020, 0x4a4b: 0x4072c220,\n\t0x4a4c: 0x4072c420, 0x4a4d: 0x4072c620, 0x4a4e: 0x4072c820, 0x4a4f: 0x4072ca20,\n\t0x4a50: 0x4072cc20, 0x4a51: 0x4072ce20, 0x4a52: 0x4072d020, 0x4a53: 0x4072d220,\n\t0x4a54: 0x4072d420, 0x4a55: 0x4072d620, 0x4a56: 0x4072d820, 0x4a57: 0x4072da20,\n\t0x4a58: 0x4072dc20, 0x4a59: 0x4072de20, 0x4a5a: 0x4072e020, 0x4a5b: 0x4072e220,\n\t0x4a5c: 0x4072e420, 0x4a5d: 0x4072e620,\n\t0x4a60: 0xe0000167, 0x4a61: 0xe00001f5, 0x4a62: 0xe0000310, 0x4a63: 0xe00003ea,\n\t0x4a64: 0xe00004c5, 0x4a65: 0xe000058f, 0x4a66: 0xe000065a, 0x4a67: 0xe0000702,\n\t0x4a68: 0xe00007ae, 0x4a69: 0xe0000853,\n\t// Block 0x12a, offset 0x4a80\n\t0x4a80: 0x4074c020, 0x4a81: 0x4074c220, 0x4a82: 0x4074c420, 0x4a83: 0x4074c620,\n\t0x4a84: 0x4074c820, 0x4a85: 0x4074ca20,\n\t0x4a88: 0x4074cc20, 0x4a8a: 0x4074ce20, 0x4a8b: 0x4074d020,\n\t0x4a8c: 0x4074d220, 0x4a8d: 0x4074d420, 0x4a8e: 0x4074d620, 0x4a8f: 0x4074d820,\n\t0x4a90: 0x4074da20, 0x4a91: 0x4074dc20, 0x4a92: 0x4074de20, 0x4a93: 0x4074e020,\n\t0x4a94: 0x4074e220, 0x4a95: 0x4074e420, 0x4a96: 0x4074e620, 0x4a97: 0x4074e820,\n\t0x4a98: 0x4074ea20, 0x4a99: 0x4074ec20, 0x4a9a: 0x4074ee20, 0x4a9b: 0x4074f020,\n\t0x4a9c: 0x4074f220, 0x4a9d: 0x4074f420, 0x4a9e: 0x4074f620, 0x4a9f: 0x4074f820,\n\t0x4aa0: 0x4074fa20, 0x4aa1: 0x4074fc20, 0x4aa2: 0x4074fe20, 0x4aa3: 0x40750020,\n\t0x4aa4: 0x40750220, 0x4aa5: 0x40750420, 0x4aa6: 0x40750620, 0x4aa7: 0x40750820,\n\t0x4aa8: 0x40750a20, 0x4aa9: 0x40750c20, 0x4aaa: 0x40750e20, 0x4aab: 0x40751020,\n\t0x4aac: 0x40751220, 0x4aad: 0x40751420, 0x4aae: 0x40751620, 0x4aaf: 0x40751820,\n\t0x4ab0: 0x40751a20, 0x4ab1: 0x40751c20, 0x4ab2: 0x40751e20, 0x4ab3: 0x40752020,\n\t0x4ab4: 0x40752220, 0x4ab5: 0x40752420, 0x4ab7: 0x40752620,\n\t0x4ab8: 0x40752820,\n\t0x4abc: 0x40752a20, 0x4abf: 0x40752c20,\n\t// Block 0x12b, offset 0x4ac0\n\t0x4ac0: 0x4075d220, 0x4ac1: 0x4075d420, 0x4ac2: 0x4075d620, 0x4ac3: 0x4075d820,\n\t0x4ac4: 0x4075da20, 0x4ac5: 0x4075dc20, 0x4ac6: 0x4075de20, 0x4ac7: 0x4075e020,\n\t0x4ac8: 0x4075e220, 0x4ac9: 0x4075e420, 0x4aca: 0x4075e620, 0x4acb: 0x4075e820,\n\t0x4acc: 0x4075ea20, 0x4acd: 0x4075ec20, 0x4ace: 0x4075ee20, 0x4acf: 0x4075f020,\n\t0x4ad0: 0x4075f220, 0x4ad1: 0x4075f420, 0x4ad2: 0x4075f620, 0x4ad3: 0x4075f820,\n\t0x4ad4: 0x4075fa20, 0x4ad5: 0x4075fc20, 0x4ad7: 0x40038620,\n\t0x4ad8: 0xe0000297, 0x4ad9: 0xe00003b2, 0x4ada: 0xe000048c, 0x4adb: 0x40296820,\n\t0x4adc: 0x40296a20, 0x4add: 0x40296c20, 0x4ade: 0x40296e20, 0x4adf: 0x40297020,\n\t// Block 0x12c, offset 0x4b00\n\t0x4b00: 0x4038bc20, 0x4b01: 0x4038be20, 0x4b02: 0x4038c020, 0x4b03: 0x4038c220,\n\t0x4b04: 0x4038c420, 0x4b05: 0x4038c620, 0x4b06: 0x4038c820, 0x4b07: 0x4038ca20,\n\t0x4b08: 0x4038cc20, 0x4b09: 0x4038ce20, 0x4b0a: 0x4038d020, 0x4b0b: 0x4038d220,\n\t0x4b0c: 0x4038d420, 0x4b0d: 0x4038d620, 0x4b0e: 0x4038d820, 0x4b0f: 0x4038da20,\n\t0x4b10: 0x4038dc20, 0x4b11: 0x4038de20, 0x4b12: 0x4038e020, 0x4b13: 0x4038e220,\n\t0x4b14: 0x4038e420, 0x4b15: 0x4038e620, 0x4b16: 0xe0000294, 0x4b17: 0x40296220,\n\t0x4b18: 0x40296420, 0x4b19: 0x40296620, 0x4b1a: 0xe00003af, 0x4b1b: 0xe0000489,\n\t0x4b1f: 0x4003c820,\n\t0x4b20: 0x40715420, 0x4b21: 0x40715620, 0x4b22: 0x40715820, 0x4b23: 0x40715a20,\n\t0x4b24: 0x40715c20, 0x4b25: 0x40715e20, 0x4b26: 0x40716020, 0x4b27: 0x40716220,\n\t0x4b28: 0x40716420, 0x4b29: 0x40716620, 0x4b2a: 0x40716820, 0x4b2b: 0x40716a20,\n\t0x4b2c: 0x40716c20, 0x4b2d: 0x40716e20, 0x4b2e: 0x40717020, 0x4b2f: 0x40717220,\n\t0x4b30: 0x40717420, 0x4b31: 0x40717620, 0x4b32: 0x40717820, 0x4b33: 0x40717a20,\n\t0x4b34: 0x40717c20, 0x4b35: 0x40717e20, 0x4b36: 0x40718020, 0x4b37: 0x40718220,\n\t0x4b38: 0x40718420, 0x4b39: 0x40718620,\n\t0x4b3f: 0x4003bc20,\n\t// Block 0x12d, offset 0x4b40\n\t0x4b40: 0xe00023a4, 0x4b41: 0xe00023a7, 0x4b42: 0xe00023aa, 0x4b43: 0xe00023ad,\n\t0x4b44: 0xe00023b0, 0x4b45: 0xe00023b3, 0x4b46: 0xe00023b6, 0x4b47: 0xe00023b9,\n\t0x4b48: 0xe00023bc, 0x4b49: 0xe00023bf, 0x4b4a: 0xe00023c2, 0x4b4b: 0xe00023c5,\n\t0x4b4c: 0xe00023c8, 0x4b4d: 0xe00023cb, 0x4b4e: 0xe00023ce, 0x4b4f: 0xe00023d1,\n\t0x4b50: 0xe00023d4, 0x4b51: 0xe00023d7, 0x4b52: 0xe00023da, 0x4b53: 0xe00023e0,\n\t0x4b54: 0xe00023e3, 0x4b55: 0xe00023e6, 0x4b56: 0xe00023e9, 0x4b57: 0xe00023ec,\n\t0x4b58: 0xe00023ef, 0x4b59: 0xe00023f2, 0x4b5a: 0xe00023f5, 0x4b5b: 0xe00023f8,\n\t0x4b5c: 0xe00023fb, 0x4b5d: 0xe00023fe, 0x4b5e: 0x40865220, 0x4b5f: 0x40865420,\n\t0x4b60: 0x40862020, 0x4b61: 0x40862220, 0x4b62: 0x40862420, 0x4b63: 0x40862620,\n\t0x4b64: 0x40862820, 0x4b65: 0x40862a20, 0x4b66: 0x40862c20, 0x4b67: 0x40862e20,\n\t0x4b68: 0x40863020, 0x4b69: 0x40863220, 0x4b6a: 0x40863420, 0x4b6b: 0x40863620,\n\t0x4b6c: 0x40863820, 0x4b6d: 0x40863a20, 0x4b6e: 0x40863c20, 0x4b6f: 0x40863e20,\n\t0x4b70: 0xe00023dd, 0x4b71: 0x40864020, 0x4b72: 0x40864220, 0x4b73: 0x40864420,\n\t0x4b74: 0x40864620, 0x4b75: 0x40864820, 0x4b76: 0x40864a20, 0x4b77: 0x40864c20,\n\t0x4b7e: 0x40864e20, 0x4b7f: 0x40865020,\n\t// Block 0x12e, offset 0x4b80\n\t0x4b80: 0x4048bc20, 0x4b81: 0x4048be20, 0x4b82: 0x4048c020, 0x4b83: 0x4048c220,\n\t0x4b85: 0x4048c420, 0x4b86: 0x4048c620,\n\t0x4b8c: 0x4048c820, 0x4b8d: 0xadc06002, 0x4b8e: 0xa000f302, 0x4b8f: 0xae60f402,\n\t0x4b90: 0x4048ca20, 0x4b91: 0x4048cc20, 0x4b92: 0x4048ce20, 0x4b93: 0x4048d020,\n\t0x4b95: 0x4048d220, 0x4b96: 0x4048d420, 0x4b97: 0x4048d620,\n\t0x4b99: 0x4048d820, 0x4b9a: 0x4048da20, 0x4b9b: 0x4048dc20,\n\t0x4b9c: 0x4048de20, 0x4b9d: 0x4048e020, 0x4b9e: 0x4048e220, 0x4b9f: 0x4048e420,\n\t0x4ba0: 0x4048e620, 0x4ba1: 0x4048e820, 0x4ba2: 0x4048ea20, 0x4ba3: 0x4048ec20,\n\t0x4ba4: 0x4048ee20, 0x4ba5: 0x4048f020, 0x4ba6: 0x4048f220, 0x4ba7: 0x4048f420,\n\t0x4ba8: 0x4048f620, 0x4ba9: 0x4048f820, 0x4baa: 0x4048fa20, 0x4bab: 0x4048fc20,\n\t0x4bac: 0x4048fe20, 0x4bad: 0x40490020, 0x4bae: 0x40490220, 0x4baf: 0x40490420,\n\t0x4bb0: 0x40490620, 0x4bb1: 0x40490820, 0x4bb2: 0x40490a20, 0x4bb3: 0x40490c20,\n\t0x4bb8: 0xae60fb02, 0x4bb9: 0xa010fc02, 0x4bba: 0xadc0fd02,\n\t0x4bbf: 0x82092487,\n\t// Block 0x12f, offset 0x4bc0\n\t0x4bc0: 0xe00002ac, 0x4bc1: 0xe00003c7, 0x4bc2: 0xe00004a1, 0x4bc3: 0xe0000573,\n\t0x4bc4: 0x40299820, 0x4bc5: 0x40299a20, 0x4bc6: 0x40299c20, 0x4bc7: 0x40299e20,\n\t0x4bd0: 0x40060620, 0x4bd1: 0x40060820, 0x4bd2: 0x40060a20, 0x4bd3: 0x40060c20,\n\t0x4bd4: 0x40060e20, 0x4bd5: 0x40061020, 0x4bd6: 0x40034420, 0x4bd7: 0x40034620,\n\t0x4bd8: 0x40061220,\n\t0x4be0: 0x40752e20, 0x4be1: 0x40753020, 0x4be2: 0x40753220, 0x4be3: 0x40753420,\n\t0x4be4: 0x40753620, 0x4be5: 0x40753820, 0x4be6: 0x40753a20, 0x4be7: 0x40753c20,\n\t0x4be8: 0x40753e20, 0x4be9: 0x40754020, 0x4bea: 0x40754220, 0x4beb: 0x40754420,\n\t0x4bec: 0x40754620, 0x4bed: 0x40754820, 0x4bee: 0x40754a20, 0x4bef: 0x40754c20,\n\t0x4bf0: 0x40754e20, 0x4bf1: 0x40755020, 0x4bf2: 0x40755220, 0x4bf3: 0x40755420,\n\t0x4bf4: 0x40755620, 0x4bf5: 0x40755820, 0x4bf6: 0x40755a20, 0x4bf7: 0x40755c20,\n\t0x4bf8: 0x40755e20, 0x4bf9: 0x40756020, 0x4bfa: 0x40756220, 0x4bfb: 0x40756420,\n\t0x4bfc: 0x40756620, 0x4bfd: 0xe0000291, 0x4bfe: 0x40296020, 0x4bff: 0x40061c20,\n\t// Block 0x130, offset 0x4c00\n\t0x4c00: 0x40756820, 0x4c01: 0x40756a20, 0x4c02: 0x40756c20, 0x4c03: 0x40756e20,\n\t0x4c04: 0x40757020, 0x4c05: 0x40757220, 0x4c06: 0x40757420, 0x4c07: 0x40757620,\n\t0x4c08: 0x40757820, 0x4c09: 0x40757a20, 0x4c0a: 0x40757c20, 0x4c0b: 0x40757e20,\n\t0x4c0c: 0x40758020, 0x4c0d: 0x40758220, 0x4c0e: 0x40758420, 0x4c0f: 0x40758620,\n\t0x4c10: 0x40758820, 0x4c11: 0x40758a20, 0x4c12: 0x40758c20, 0x4c13: 0x40758e20,\n\t0x4c14: 0x40759020, 0x4c15: 0x40759220, 0x4c16: 0x40759420, 0x4c17: 0x40759620,\n\t0x4c18: 0x40759820, 0x4c19: 0x40759a20, 0x4c1a: 0x40759c20, 0x4c1b: 0x40759e20,\n\t0x4c1c: 0x4075a020, 0x4c1d: 0x4075a220, 0x4c1e: 0x4075a420, 0x4c1f: 0x4075a620,\n\t0x4c20: 0x4075a820, 0x4c21: 0x4075aa20, 0x4c22: 0x4075ac20, 0x4c23: 0x4075ae20,\n\t0x4c24: 0x4075b020, 0x4c25: 0x4075b220, 0x4c26: 0x4075b420, 0x4c27: 0x4075b620,\n\t0x4c28: 0x4075b820, 0x4c29: 0x4075ba20, 0x4c2a: 0x4075bc20, 0x4c2b: 0x4075be20,\n\t0x4c2c: 0x4075c020, 0x4c2d: 0x4075c220, 0x4c2e: 0xe00023a1, 0x4c2f: 0x4075c420,\n\t0x4c30: 0x4075c620, 0x4c31: 0x4075c820, 0x4c32: 0x4075ca20, 0x4c33: 0x4075cc20,\n\t0x4c34: 0x4075ce20, 0x4c35: 0x4075d020,\n\t0x4c39: 0x40061420, 0x4c3a: 0x40038820, 0x4c3b: 0x40038a20,\n\t0x4c3c: 0x40038c20, 0x4c3d: 0x40038e20, 0x4c3e: 0x40039020, 0x4c3f: 0x40039220,\n\t// Block 0x131, offset 0x4c40\n\t0x4c40: 0x4075fe20, 0x4c41: 0x40760020, 0x4c42: 0x40760220, 0x4c43: 0x40760420,\n\t0x4c44: 0x40760620, 0x4c45: 0x40760820, 0x4c46: 0x40760a20, 0x4c47: 0x40760c20,\n\t0x4c48: 0x40760e20, 0x4c49: 0x40761020, 0x4c4a: 0x40761220, 0x4c4b: 0x40761420,\n\t0x4c4c: 0x40761620, 0x4c4d: 0x40761820, 0x4c4e: 0x40761a20, 0x4c4f: 0x40761c20,\n\t0x4c50: 0x40761e20, 0x4c51: 0x40762020, 0x4c52: 0x40762220, 0x4c53: 0x40762420,\n\t0x4c54: 0x40762620, 0x4c55: 0x40762820,\n\t0x4c58: 0xe000029a, 0x4c59: 0xe00003b5, 0x4c5a: 0xe000048f, 0x4c5b: 0xe0000561,\n\t0x4c5c: 0x40297220, 0x4c5d: 0x40297420, 0x4c5e: 0x40297620, 0x4c5f: 0x40297820,\n\t0x4c60: 0x40762a20, 0x4c61: 0x40762c20, 0x4c62: 0x40762e20, 0x4c63: 0x40763020,\n\t0x4c64: 0x40763220, 0x4c65: 0x40763420, 0x4c66: 0x40763620, 0x4c67: 0x40763820,\n\t0x4c68: 0x40763a20, 0x4c69: 0x40763c20, 0x4c6a: 0x40763e20, 0x4c6b: 0x40764020,\n\t0x4c6c: 0x40764220, 0x4c6d: 0x40764420, 0x4c6e: 0x40764620, 0x4c6f: 0x40764820,\n\t0x4c70: 0x40764a20, 0x4c71: 0x40764c20, 0x4c72: 0x40764e20,\n\t0x4c78: 0xe000029d, 0x4c79: 0xe00003b8, 0x4c7a: 0xe0000492, 0x4c7b: 0xe0000564,\n\t0x4c7c: 0x40297a20, 0x4c7d: 0x40297c20, 0x4c7e: 0x40297e20, 0x4c7f: 0x40298020,\n\t// Block 0x132, offset 0x4c80\n\t0x4c80: 0x405b2620, 0x4c81: 0xe00020a7, 0x4c82: 0x405b2820, 0x4c83: 0x405b2a20,\n\t0x4c84: 0xe00020aa, 0x4c85: 0x405b2c20, 0x4c86: 0x405b2e20, 0x4c87: 0x405b3020,\n\t0x4c88: 0xe00020ad, 0x4c89: 0x405b3220, 0x4c8a: 0xe00020b0, 0x4c8b: 0x405b3420,\n\t0x4c8c: 0xe00020b3, 0x4c8d: 0x405b3620, 0x4c8e: 0xe00020b6, 0x4c8f: 0x405b3820,\n\t0x4c90: 0xe00020b9, 0x4c91: 0x405b3a20, 0x4c92: 0xe00020bc, 0x4c93: 0x405b3c20,\n\t0x4c94: 0x405b3e20, 0x4c95: 0xe00020bf, 0x4c96: 0x405b4020, 0x4c97: 0xe00020c2,\n\t0x4c98: 0x405b4220, 0x4c99: 0xe00020c5, 0x4c9a: 0x405b4420, 0x4c9b: 0xe00020c8,\n\t0x4c9c: 0x405b4620, 0x4c9d: 0xe00020cb, 0x4c9e: 0x405b4820, 0x4c9f: 0xe00020ce,\n\t0x4ca0: 0x405b4a20, 0x4ca1: 0x405b4c20, 0x4ca2: 0x405b4e20, 0x4ca3: 0x405b5020,\n\t0x4ca4: 0x405b5220, 0x4ca5: 0xe00020d1, 0x4ca6: 0x405b5420, 0x4ca7: 0xe00020d4,\n\t0x4ca8: 0x405b5620, 0x4ca9: 0xe00020d7, 0x4caa: 0x405b5820, 0x4cab: 0xe00020da,\n\t0x4cac: 0x405b5a20, 0x4cad: 0x405b5c20, 0x4cae: 0xe00020dd, 0x4caf: 0x405b5e20,\n\t0x4cb0: 0x405b6020, 0x4cb1: 0x405b6220, 0x4cb2: 0x405b6420, 0x4cb3: 0xe00020e0,\n\t0x4cb4: 0x405b6620, 0x4cb5: 0xe00020e3, 0x4cb6: 0x405b6820, 0x4cb7: 0xe00020e6,\n\t0x4cb8: 0x405b6a20, 0x4cb9: 0xe00020e9, 0x4cba: 0x405b6c20, 0x4cbb: 0xe00020ec,\n\t0x4cbc: 0x405b6e20, 0x4cbd: 0x405b7020, 0x4cbe: 0x405b7220, 0x4cbf: 0x405b7420,\n\t// Block 0x133, offset 0x4cc0\n\t0x4cc0: 0xe00020ef, 0x4cc1: 0x405b7620, 0x4cc2: 0xe00020f2, 0x4cc3: 0x405b7820,\n\t0x4cc4: 0xe00020f5, 0x4cc5: 0x405b7a20, 0x4cc6: 0xe00020f8, 0x4cc7: 0x405b7c20,\n\t0x4cc8: 0x405b7e20,\n\t// Block 0x134, offset 0x4d00\n\t0x4d20: 0xe00001ec, 0x4d21: 0xe0000307, 0x4d22: 0xe00003e1, 0x4d23: 0xe00004bc,\n\t0x4d24: 0xe0000586, 0x4d25: 0xe0000651, 0x4d26: 0xe00006f9, 0x4d27: 0xe00007a5,\n\t0x4d28: 0xe000084a, 0x4d29: 0x40288820, 0x4d2a: 0x40288a20, 0x4d2b: 0x40288c20,\n\t0x4d2c: 0x40288e20, 0x4d2d: 0x40289020, 0x4d2e: 0x40289220, 0x4d2f: 0x40289420,\n\t0x4d30: 0x40289620, 0x4d31: 0x40289820, 0x4d32: 0x40289a20, 0x4d33: 0x40289c20,\n\t0x4d34: 0x40289e20, 0x4d35: 0x4028a020, 0x4d36: 0x4028a220, 0x4d37: 0x4028a420,\n\t0x4d38: 0x4028a620, 0x4d39: 0x4028a820, 0x4d3a: 0x4028aa20, 0x4d3b: 0x4028ac20,\n\t0x4d3c: 0x4028ae20, 0x4d3d: 0x4028b020, 0x4d3e: 0x4028b220,\n\t// Block 0x135, offset 0x4d40\n\t0x4d40: 0xa000f202, 0x4d41: 0xa000f302, 0x4d42: 0xa000f402, 0x4d43: 0x40489220,\n\t0x4d44: 0x40489420, 0x4d45: 0x40483420, 0x4d46: 0x40483620, 0x4d47: 0x40483820,\n\t0x4d48: 0x40483a20, 0x4d49: 0x40483c20, 0x4d4a: 0x40483e20, 0x4d4b: 0x40484020,\n\t0x4d4c: 0x40484220, 0x4d4d: 0x40484420, 0x4d4e: 0x40484620, 0x4d4f: 0x40484820,\n\t0x4d50: 0x40484a20, 0x4d51: 0x40484c20, 0x4d52: 0x40484e20, 0x4d53: 0x40485020,\n\t0x4d54: 0x40485220, 0x4d55: 0x40485420, 0x4d56: 0x40485620, 0x4d57: 0x40485820,\n\t0x4d58: 0x40485a20, 0x4d59: 0x40485c20, 0x4d5a: 0x40485e20, 0x4d5b: 0x40486020,\n\t0x4d5c: 0x40486220, 0x4d5d: 0x40486420, 0x4d5e: 0x40486620, 0x4d5f: 0x40486820,\n\t0x4d60: 0x40486a20, 0x4d61: 0x40486c20, 0x4d62: 0x40486e20, 0x4d63: 0x40487020,\n\t0x4d64: 0x40487220, 0x4d65: 0x40487420, 0x4d66: 0x40487620, 0x4d67: 0x40487820,\n\t0x4d68: 0x40487a20, 0x4d69: 0x40487c20, 0x4d6a: 0x40487e20, 0x4d6b: 0x40488020,\n\t0x4d6c: 0x40488220, 0x4d6d: 0x40488420, 0x4d6e: 0x40488620, 0x4d6f: 0x40488820,\n\t0x4d70: 0x40488a20, 0x4d71: 0x40488c20, 0x4d72: 0x40488e20, 0x4d73: 0x40489020,\n\t0x4d74: 0x40489620, 0x4d75: 0x40489820, 0x4d76: 0x40489a20, 0x4d77: 0x40489c20,\n\t0x4d78: 0x40489e20, 0x4d79: 0x4048a020, 0x4d7a: 0x4048a220, 0x4d7b: 0x4048a420,\n\t0x4d7c: 0x4048a620, 0x4d7d: 0x4048a820, 0x4d7e: 0x4048aa20, 0x4d7f: 0x4048ac20,\n\t// Block 0x136, offset 0x4d80\n\t0x4d80: 0x4048ae20, 0x4d81: 0x4048b020, 0x4d82: 0x4048b220, 0x4d83: 0x4048b420,\n\t0x4d84: 0x4048b620, 0x4d85: 0x4048b820, 0x4d86: 0x8209245d, 0x4d87: 0x40034820,\n\t0x4d88: 0x40034a20, 0x4d89: 0x4005fc20, 0x4d8a: 0x4005fe20, 0x4d8b: 0x40060020,\n\t0x4d8c: 0x40060220, 0x4d8d: 0x40060420,\n\t0x4d92: 0xe00002a9, 0x4d93: 0xe00003c4,\n\t0x4d94: 0xe000049e, 0x4d95: 0xe0000570, 0x4d96: 0xe000063a, 0x4d97: 0xe00006ea,\n\t0x4d98: 0xe0000792, 0x4d99: 0xe000083b, 0x4d9a: 0xe00008e6, 0x4d9b: 0x40298220,\n\t0x4d9c: 0x40298420, 0x4d9d: 0x40298620, 0x4d9e: 0x40298820, 0x4d9f: 0x40298a20,\n\t0x4da0: 0x40298c20, 0x4da1: 0x40298e20, 0x4da2: 0x40299020, 0x4da3: 0x40299220,\n\t0x4da4: 0x40299420, 0x4da5: 0x40299620, 0x4da6: 0xe00001df, 0x4da7: 0xe00002a6,\n\t0x4da8: 0xe00003c1, 0x4da9: 0xe000049b, 0x4daa: 0xe000056d, 0x4dab: 0xe0000637,\n\t0x4dac: 0xe00006e7, 0x4dad: 0xe000078f, 0x4dae: 0xe0000838, 0x4daf: 0xe00008e3,\n\t// Block 0x137, offset 0x4dc0\n\t0x4dc0: 0xa000f202, 0x4dc1: 0xa000f302, 0x4dc2: 0xa000f402, 0x4dc3: 0x40467e20,\n\t0x4dc4: 0x40468020, 0x4dc5: 0x40468220, 0x4dc6: 0x40468420, 0x4dc7: 0x40468620,\n\t0x4dc8: 0x40468820, 0x4dc9: 0x40468a20, 0x4dca: 0x40468c20, 0x4dcb: 0x40468e20,\n\t0x4dcc: 0x40469020, 0x4dcd: 0x40469220, 0x4dce: 0x40469420, 0x4dcf: 0x40469620,\n\t0x4dd0: 0x40469820, 0x4dd1: 0x40469a20, 0x4dd2: 0x40469c20, 0x4dd3: 0x40469e20,\n\t0x4dd4: 0x4046a020, 0x4dd5: 0x4046a220, 0x4dd6: 0x4046a420, 0x4dd7: 0x4046a620,\n\t0x4dd8: 0x4046a820, 0x4dd9: 0x4046aa20, 0x4dda: 0xe0001878, 0x4ddb: 0x4046ac20,\n\t0x4ddc: 0xe000187b, 0x4ddd: 0x4046ae20, 0x4dde: 0x4046b020, 0x4ddf: 0x4046b220,\n\t0x4de0: 0x4046b420, 0x4de1: 0x4046b620, 0x4de2: 0x4046b820, 0x4de3: 0x4046ba20,\n\t0x4de4: 0x4046bc20, 0x4de5: 0x4046be20, 0x4de6: 0x4046c020, 0x4de7: 0x4046c220,\n\t0x4de8: 0x4046c420, 0x4de9: 0x4046c620, 0x4dea: 0x4046c820, 0x4deb: 0xe000187e,\n\t0x4dec: 0x4046ca20, 0x4ded: 0x4046cc20, 0x4dee: 0x4046ce20, 0x4def: 0x4046d020,\n\t0x4df0: 0x4046d220, 0x4df1: 0x4046d420, 0x4df2: 0x4046d620, 0x4df3: 0x4046d820,\n\t0x4df4: 0x4046da20, 0x4df5: 0x4046dc20, 0x4df6: 0x4046de20, 0x4df7: 0x4046e020,\n\t0x4df8: 0x4046e220, 0x4df9: 0x82092372, 0x4dfa: 0xa070f102, 0x4dfb: 0x40061620,\n\t0x4dfc: 0x40061820, 0x4dfd: 0xa0000000, 0x4dfe: 0x40039420, 0x4dff: 0x40039620,\n\t// Block 0x138, offset 0x4e00\n\t0x4e00: 0x40034c20, 0x4e01: 0x40034e20,\n\t0x4e10: 0x4072e820, 0x4e11: 0x4072ea20, 0x4e12: 0x4072ec20, 0x4e13: 0x4072ee20,\n\t0x4e14: 0x4072f020, 0x4e15: 0x4072f220, 0x4e16: 0x4072f420, 0x4e17: 0x4072f620,\n\t0x4e18: 0x4072f820, 0x4e19: 0x4072fa20, 0x4e1a: 0x4072fc20, 0x4e1b: 0x4072fe20,\n\t0x4e1c: 0x40730020, 0x4e1d: 0x40730220, 0x4e1e: 0x40730420, 0x4e1f: 0x40730620,\n\t0x4e20: 0x40730820, 0x4e21: 0x40730a20, 0x4e22: 0x40730c20, 0x4e23: 0x40730e20,\n\t0x4e24: 0x40731020, 0x4e25: 0x40731220, 0x4e26: 0x40731420, 0x4e27: 0x40731620,\n\t0x4e28: 0x40731820,\n\t0x4e30: 0xe00001d0, 0x4e31: 0xe0000264, 0x4e32: 0xe000037c, 0x4e33: 0xe0000456,\n\t0x4e34: 0xe000052b, 0x4e35: 0xe00005f5, 0x4e36: 0xe00006c0, 0x4e37: 0xe0000768,\n\t0x4e38: 0xe0000814, 0x4e39: 0xe00008b9,\n\t// Block 0x139, offset 0x4e40\n\t0x4e40: 0xae60f202, 0x4e41: 0xae60f302, 0x4e42: 0xae60f402, 0x4e43: 0x404f4020,\n\t0x4e44: 0x404f4220, 0x4e45: 0x404f4420, 0x4e46: 0x404f4620, 0x4e47: 0x404f4820,\n\t0x4e48: 0x404f4a20, 0x4e49: 0x404f4c20, 0x4e4a: 0x404f4e20, 0x4e4b: 0x404f5020,\n\t0x4e4c: 0x404f5220, 0x4e4d: 0x404f5420, 0x4e4e: 0x404f5620, 0x4e4f: 0x404f5820,\n\t0x4e50: 0x404f5a20, 0x4e51: 0x404f5c20, 0x4e52: 0x404f5e20, 0x4e53: 0x404f6020,\n\t0x4e54: 0x404f6220, 0x4e55: 0x404f6420, 0x4e56: 0x404f6620, 0x4e57: 0x404f6820,\n\t0x4e58: 0x404f6a20, 0x4e59: 0x404f6c20, 0x4e5a: 0x404f6e20, 0x4e5b: 0x404f7020,\n\t0x4e5c: 0x404f7220, 0x4e5d: 0x404f7420, 0x4e5e: 0x404f7620, 0x4e5f: 0x404f7820,\n\t0x4e60: 0x404f7a20, 0x4e61: 0x404f7c20, 0x4e62: 0x404f7e20, 0x4e63: 0x404f8020,\n\t0x4e64: 0x404f8220, 0x4e65: 0x404f8420, 0x4e66: 0x404f8620, 0x4e67: 0x404f8820,\n\t0x4e68: 0x404f8a20, 0x4e69: 0x404f8c20, 0x4e6a: 0x404f8e20, 0x4e6b: 0x404f9020,\n\t0x4e6c: 0x404f9220, 0x4e6d: 0x404f9420, 0x4e6e: 0x404f9620, 0x4e6f: 0x404f9820,\n\t0x4e70: 0x404f9a20, 0x4e71: 0xc31507e1, 0x4e72: 0xc31707e1, 0x4e73: 0x820927d0,\n\t0x4e74: 0x820927d1, 0x4e76: 0xe00001b2, 0x4e77: 0xe0000246,\n\t0x4e78: 0xe000035e, 0x4e79: 0xe0000438, 0x4e7a: 0xe000050d, 0x4e7b: 0xe00005d7,\n\t0x4e7c: 0xe00006a2, 0x4e7d: 0xe000074a, 0x4e7e: 0xe00007f6, 0x4e7f: 0xe000089b,\n\t// Block 0x13a, offset 0x4e80\n\t0x4e80: 0x40039820, 0x4e81: 0x40035020, 0x4e82: 0x40035220, 0x4e83: 0x4002de20,\n\t// Block 0x13b, offset 0x4ec0\n\t0x4ec0: 0xa000f202, 0x4ec1: 0xa000f302, 0x4ec2: 0xa000f402, 0x4ec3: 0x4046e820,\n\t0x4ec4: 0x4046ea20, 0x4ec5: 0x4046ec20, 0x4ec6: 0x4046ee20, 0x4ec7: 0x4046f020,\n\t0x4ec8: 0x4046f220, 0x4ec9: 0x4046f420, 0x4eca: 0x4046f620, 0x4ecb: 0x4046f820,\n\t0x4ecc: 0x4046fa20, 0x4ecd: 0x4046fc20, 0x4ece: 0x4046fe20, 0x4ecf: 0x40470020,\n\t0x4ed0: 0x40470220, 0x4ed1: 0x40470420, 0x4ed2: 0x40470620, 0x4ed3: 0x40470820,\n\t0x4ed4: 0x40470a20, 0x4ed5: 0x40470c20, 0x4ed6: 0x40470e20, 0x4ed7: 0x40471020,\n\t0x4ed8: 0x40471220, 0x4ed9: 0x40471420, 0x4eda: 0x40471620, 0x4edb: 0x40471820,\n\t0x4edc: 0x40471a20, 0x4edd: 0x40471c20, 0x4ede: 0x40471e20, 0x4edf: 0x40472020,\n\t0x4ee0: 0x40472220, 0x4ee1: 0x40472420, 0x4ee2: 0x40472620, 0x4ee3: 0x40472820,\n\t0x4ee4: 0x40472a20, 0x4ee5: 0x40472c20, 0x4ee6: 0x40472e20, 0x4ee7: 0x40473020,\n\t0x4ee8: 0x40473220, 0x4ee9: 0x40473420, 0x4eea: 0x40473620, 0x4eeb: 0x40473820,\n\t0x4eec: 0x40473a20, 0x4eed: 0x40473c20, 0x4eee: 0x40473e20, 0x4eef: 0x40474020,\n\t0x4ef0: 0x40474220, 0x4ef1: 0x40474420, 0x4ef2: 0x40474620, 0x4ef3: 0x40474820,\n\t0x4ef4: 0x40474a20, 0x4ef5: 0x40474c20, 0x4ef6: 0x40474e20, 0x4ef7: 0x40475020,\n\t0x4ef8: 0x40475220, 0x4ef9: 0x40475420, 0x4efa: 0x40475620, 0x4efb: 0x40475820,\n\t0x4efc: 0x40475a20, 0x4efd: 0x40475c20, 0x4efe: 0x40475e20, 0x4eff: 0x40476020,\n\t// Block 0x13c, offset 0x4f00\n\t0x4f00: 0x820923b1, 0x4f01: 0x40476420, 0x4f02: 0x40476620, 0x4f03: 0x40476820,\n\t0x4f04: 0x4046e620, 0x4f05: 0x40035420, 0x4f06: 0x40035620, 0x4f07: 0x40061a20,\n\t0x4f08: 0x40039a20,\n\t0x4f10: 0xe00001d9, 0x4f11: 0xe00002a0, 0x4f12: 0xe00003bb, 0x4f13: 0xe0000495,\n\t0x4f14: 0xe0000567, 0x4f15: 0xe0000631, 0x4f16: 0xe00006e1, 0x4f17: 0xe0000789,\n\t0x4f18: 0xe0000832, 0x4f19: 0xe00008dd,\n\t// Block 0x13d, offset 0x4f40\n\t0x4f40: 0x40476a20, 0x4f41: 0x40476c20, 0x4f42: 0x40476e20, 0x4f43: 0x40477020,\n\t0x4f44: 0x40477220, 0x4f45: 0x40477420, 0x4f46: 0x40477620, 0x4f47: 0x40477820,\n\t0x4f48: 0x40477a20, 0x4f49: 0x40477c20, 0x4f4a: 0x40478420, 0x4f4b: 0x40478620,\n\t0x4f4c: 0x40478820, 0x4f4d: 0x40478a20, 0x4f4e: 0x40478c20, 0x4f4f: 0x40478e20,\n\t0x4f50: 0x40479020, 0x4f51: 0x40479220, 0x4f52: 0x40479420, 0x4f53: 0x40479620,\n\t0x4f54: 0x40479820, 0x4f55: 0x40479a20, 0x4f56: 0x40479c20, 0x4f57: 0x40479e20,\n\t0x4f58: 0x4047a020, 0x4f59: 0x4047a220, 0x4f5a: 0x4047a420, 0x4f5b: 0x4047a620,\n\t0x4f5c: 0x4047a820, 0x4f5d: 0x4047aa20, 0x4f5e: 0x4047ac20, 0x4f5f: 0x4047ae20,\n\t0x4f60: 0x4047b020, 0x4f61: 0x4047b220, 0x4f62: 0x4047b420, 0x4f63: 0x4047b620,\n\t0x4f64: 0x4047b820, 0x4f65: 0x4047ba20, 0x4f66: 0x4047bc20, 0x4f67: 0x40478020,\n\t0x4f68: 0x40477e20, 0x4f69: 0x40478220, 0x4f6a: 0x4047be20, 0x4f6b: 0xa000f302,\n\t0x4f6c: 0xa000f402, 0x4f6d: 0x4047c020, 0x4f6e: 0x4047c220, 0x4f6f: 0x4047c420,\n\t0x4f70: 0x4047c620, 0x4f71: 0x4047c820, 0x4f72: 0x4047ca20, 0x4f73: 0x4047cc20,\n\t0x4f74: 0x4047ce20, 0x4f75: 0x4047d020, 0x4f76: 0x820923e9, 0x4f77: 0xa070f102,\n\t// Block 0x13e, offset 0x4f80\n\t0x4f80: 0xe00001dc, 0x4f81: 0xe00002a3, 0x4f82: 0xe00003be, 0x4f83: 0xe0000498,\n\t0x4f84: 0xe000056a, 0x4f85: 0xe0000634, 0x4f86: 0xe00006e4, 0x4f87: 0xe000078c,\n\t0x4f88: 0xe0000835, 0x4f89: 0xe00008e0,\n\t// Block 0x13f, offset 0x4fc0\n\t0x4fc0: 0x4076e420, 0x4fc1: 0x4076e620, 0x4fc2: 0x4076e820, 0x4fc3: 0x4076ea20,\n\t0x4fc4: 0x4076ec20, 0x4fc5: 0x4076ee20, 0x4fc6: 0x4076f020, 0x4fc7: 0x4076f220,\n\t0x4fc8: 0x4076f420, 0x4fc9: 0x4076f620, 0x4fca: 0x4076f820, 0x4fcb: 0x4076fa20,\n\t0x4fcc: 0x4076fc20, 0x4fcd: 0x4076fe20, 0x4fce: 0x40770020, 0x4fcf: 0x40770220,\n\t0x4fd0: 0x40770420, 0x4fd1: 0x40770620, 0x4fd2: 0x40770820, 0x4fd3: 0x40770a20,\n\t0x4fd4: 0x40770c20, 0x4fd5: 0x40770e20, 0x4fd6: 0x40771020, 0x4fd7: 0x40771220,\n\t0x4fd8: 0x40771420, 0x4fd9: 0x40771620, 0x4fda: 0x40771820, 0x4fdb: 0x40771a20,\n\t0x4fdc: 0x40771c20, 0x4fdd: 0x40771e20, 0x4fde: 0x40772020, 0x4fdf: 0x40772220,\n\t0x4fe0: 0x40772420, 0x4fe1: 0x40772620, 0x4fe2: 0x40772820, 0x4fe3: 0x40772a20,\n\t0x4fe4: 0x40772c20, 0x4fe5: 0x40772e20, 0x4fe6: 0x40773020, 0x4fe7: 0x40773220,\n\t0x4fe8: 0x40773420, 0x4fe9: 0x40773620, 0x4fea: 0x40773820, 0x4feb: 0x40773a20,\n\t0x4fec: 0x40773c20, 0x4fed: 0x40773e20, 0x4fee: 0x40774020, 0x4fef: 0x40774220,\n\t0x4ff0: 0x40774420, 0x4ff1: 0x40774620, 0x4ff2: 0x40774820, 0x4ff3: 0x40774a20,\n\t0x4ff4: 0x40774c20, 0x4ff5: 0x40774e20, 0x4ff6: 0x40775020, 0x4ff7: 0x40775220,\n\t0x4ff8: 0x40775420, 0x4ff9: 0x40775620, 0x4ffa: 0x40775820, 0x4ffb: 0x40775a20,\n\t0x4ffc: 0x40775c20, 0x4ffd: 0x40775e20, 0x4ffe: 0x40776020, 0x4fff: 0x40776220,\n\t// Block 0x140, offset 0x5000\n\t0x5000: 0x40776420, 0x5001: 0x40776620, 0x5002: 0x40776820, 0x5003: 0x40776a20,\n\t0x5004: 0x40776c20, 0x5005: 0x40776e20, 0x5006: 0x40777020, 0x5007: 0x40777220,\n\t0x5008: 0x40777420, 0x5009: 0x40777620, 0x500a: 0x40777820, 0x500b: 0x40777a20,\n\t0x500c: 0x40777c20, 0x500d: 0x40777e20, 0x500e: 0x40778020, 0x500f: 0x40778220,\n\t0x5010: 0x40778420, 0x5011: 0x40778620, 0x5012: 0x40778820, 0x5013: 0x40778a20,\n\t0x5014: 0x40778c20, 0x5015: 0x40778e20, 0x5016: 0x40779020, 0x5017: 0x40779220,\n\t0x5018: 0x40779420, 0x5019: 0x40779620, 0x501a: 0x40779820, 0x501b: 0x40779a20,\n\t0x501c: 0x40779c20, 0x501d: 0x40779e20, 0x501e: 0x4077a020, 0x501f: 0x4077a220,\n\t0x5020: 0x4077a420, 0x5021: 0x4077a620, 0x5022: 0x4077a820, 0x5023: 0x4077aa20,\n\t0x5024: 0x4077ac20, 0x5025: 0x4077ae20, 0x5026: 0x4077b020, 0x5027: 0x4077b220,\n\t0x5028: 0x4077b420, 0x5029: 0x4077b620, 0x502a: 0x4077b820, 0x502b: 0x4077ba20,\n\t0x502c: 0x4077bc20, 0x502d: 0x4077be20, 0x502e: 0x4077c020, 0x502f: 0x4077c220,\n\t0x5030: 0x4077c420, 0x5031: 0x4077c620, 0x5032: 0x4077c820, 0x5033: 0x4077ca20,\n\t0x5034: 0x4077cc20, 0x5035: 0x4077ce20, 0x5036: 0x4077d020, 0x5037: 0x4077d220,\n\t0x5038: 0x4077d420, 0x5039: 0x4077d620, 0x503a: 0x4077d820, 0x503b: 0x4077da20,\n\t0x503c: 0x4077dc20, 0x503d: 0x4077de20, 0x503e: 0x4077e020, 0x503f: 0x4077e220,\n\t// Block 0x141, offset 0x5040\n\t0x5040: 0x4077e420, 0x5041: 0x4077e620, 0x5042: 0x4077e820, 0x5043: 0x4077ea20,\n\t0x5044: 0x4077ec20, 0x5045: 0x4077ee20, 0x5046: 0x4077f020, 0x5047: 0x4077f220,\n\t0x5048: 0x4077f420, 0x5049: 0x4077f620, 0x504a: 0x4077f820, 0x504b: 0x4077fa20,\n\t0x504c: 0x4077fc20, 0x504d: 0x4077fe20, 0x504e: 0x40780020, 0x504f: 0x40780220,\n\t0x5050: 0x40780420, 0x5051: 0x40780620, 0x5052: 0x40780820, 0x5053: 0x40780a20,\n\t0x5054: 0x40780c20, 0x5055: 0x40780e20, 0x5056: 0x40781020, 0x5057: 0x40781220,\n\t0x5058: 0x40781420, 0x5059: 0x40781620, 0x505a: 0x40781820, 0x505b: 0x40781a20,\n\t0x505c: 0x40781c20, 0x505d: 0x40781e20, 0x505e: 0x40782020, 0x505f: 0x40782220,\n\t0x5060: 0x40782420, 0x5061: 0x40782620, 0x5062: 0x40782820, 0x5063: 0x40782a20,\n\t0x5064: 0x40782c20, 0x5065: 0x40782e20, 0x5066: 0x40783020, 0x5067: 0x40783220,\n\t0x5068: 0x40783420, 0x5069: 0x40783620, 0x506a: 0x40783820, 0x506b: 0x40783a20,\n\t0x506c: 0x40783c20, 0x506d: 0x40783e20, 0x506e: 0x40784020, 0x506f: 0x40784220,\n\t0x5070: 0x40784420, 0x5071: 0x40784620, 0x5072: 0x40784820, 0x5073: 0x40784a20,\n\t0x5074: 0x40784c20, 0x5075: 0x40784e20, 0x5076: 0x40785020, 0x5077: 0x40785220,\n\t0x5078: 0x40785420, 0x5079: 0x40785620, 0x507a: 0x40785820, 0x507b: 0x40785a20,\n\t0x507c: 0x40785c20, 0x507d: 0x40785e20, 0x507e: 0x40786020, 0x507f: 0x40786220,\n\t// Block 0x142, offset 0x5080\n\t0x5080: 0x40786420, 0x5081: 0x40786620, 0x5082: 0x40786820, 0x5083: 0x40786a20,\n\t0x5084: 0x40786c20, 0x5085: 0x40786e20, 0x5086: 0x40787020, 0x5087: 0x40787220,\n\t0x5088: 0x40787420, 0x5089: 0x40787620, 0x508a: 0x40787820, 0x508b: 0x40787a20,\n\t0x508c: 0x40787c20, 0x508d: 0x40787e20, 0x508e: 0x40788020, 0x508f: 0x40788220,\n\t0x5090: 0x40788420, 0x5091: 0x40788620, 0x5092: 0x40788820, 0x5093: 0x40788a20,\n\t0x5094: 0x40788c20, 0x5095: 0x40788e20, 0x5096: 0x40789020, 0x5097: 0x40789220,\n\t0x5098: 0x40789420, 0x5099: 0x40789620, 0x509a: 0x40789820, 0x509b: 0x40789a20,\n\t0x509c: 0x40789c20, 0x509d: 0x40789e20, 0x509e: 0x4078a020, 0x509f: 0x4078a220,\n\t0x50a0: 0x4078a420, 0x50a1: 0x4078a620, 0x50a2: 0x4078a820, 0x50a3: 0x4078aa20,\n\t0x50a4: 0x4078ac20, 0x50a5: 0x4078ae20, 0x50a6: 0x4078b020, 0x50a7: 0x4078b220,\n\t0x50a8: 0x4078b420, 0x50a9: 0x4078b620, 0x50aa: 0x4078b820, 0x50ab: 0x4078ba20,\n\t0x50ac: 0x4078bc20, 0x50ad: 0x4078be20, 0x50ae: 0x4078c020, 0x50af: 0x4078c220,\n\t0x50b0: 0x4078c420, 0x50b1: 0x4078c620, 0x50b2: 0x4078c820, 0x50b3: 0x4078ca20,\n\t0x50b4: 0x4078cc20, 0x50b5: 0x4078ce20, 0x50b6: 0x4078d020, 0x50b7: 0x4078d220,\n\t0x50b8: 0x4078d420, 0x50b9: 0x4078d620, 0x50ba: 0x4078d820, 0x50bb: 0x4078da20,\n\t0x50bc: 0x4078dc20, 0x50bd: 0x4078de20, 0x50be: 0x4078e020, 0x50bf: 0x4078e220,\n\t// Block 0x143, offset 0x50c0\n\t0x50c0: 0x4078e420, 0x50c1: 0x4078e620, 0x50c2: 0x4078e820, 0x50c3: 0x4078ea20,\n\t0x50c4: 0x4078ec20, 0x50c5: 0x4078ee20, 0x50c6: 0x4078f020, 0x50c7: 0x4078f220,\n\t0x50c8: 0x4078f420, 0x50c9: 0x4078f620, 0x50ca: 0x4078f820, 0x50cb: 0x4078fa20,\n\t0x50cc: 0x4078fc20, 0x50cd: 0x4078fe20, 0x50ce: 0x40790020, 0x50cf: 0x40790220,\n\t0x50d0: 0x40790420, 0x50d1: 0x40790620, 0x50d2: 0x40790820, 0x50d3: 0x40790a20,\n\t0x50d4: 0x40790c20, 0x50d5: 0x40790e20, 0x50d6: 0x40791020, 0x50d7: 0x40791220,\n\t0x50d8: 0x40791420, 0x50d9: 0x40791620, 0x50da: 0x40791820, 0x50db: 0x40791a20,\n\t0x50dc: 0x40791c20, 0x50dd: 0x40791e20, 0x50de: 0x40792020, 0x50df: 0x40792220,\n\t0x50e0: 0x40792420, 0x50e1: 0x40792620, 0x50e2: 0x40792820, 0x50e3: 0x40792a20,\n\t0x50e4: 0x40792c20, 0x50e5: 0x40792e20, 0x50e6: 0x40793020, 0x50e7: 0x40793220,\n\t0x50e8: 0x40793420, 0x50e9: 0x40793620, 0x50ea: 0x40793820, 0x50eb: 0x40793a20,\n\t0x50ec: 0x40793c20, 0x50ed: 0x40793e20, 0x50ee: 0x40794020, 0x50ef: 0x40794220,\n\t0x50f0: 0x40794420, 0x50f1: 0x40794620, 0x50f2: 0x40794820, 0x50f3: 0x40794a20,\n\t0x50f4: 0x40794c20, 0x50f5: 0x40794e20, 0x50f6: 0x40795020, 0x50f7: 0x40795220,\n\t0x50f8: 0x40795420, 0x50f9: 0x40795620, 0x50fa: 0x40795820, 0x50fb: 0x40795a20,\n\t0x50fc: 0x40795c20, 0x50fd: 0x40795e20, 0x50fe: 0x40796020, 0x50ff: 0x40796220,\n\t// Block 0x144, offset 0x5100\n\t0x5100: 0x40796420, 0x5101: 0x40796620, 0x5102: 0x40796820, 0x5103: 0x40796a20,\n\t0x5104: 0x40796c20, 0x5105: 0x40796e20, 0x5106: 0x40797020, 0x5107: 0x40797220,\n\t0x5108: 0x40797420, 0x5109: 0x40797620, 0x510a: 0x40797820, 0x510b: 0x40797a20,\n\t0x510c: 0x40797c20, 0x510d: 0x40797e20, 0x510e: 0x40798020, 0x510f: 0x40798220,\n\t0x5110: 0x40798420, 0x5111: 0x40798620, 0x5112: 0x40798820, 0x5113: 0x40798a20,\n\t0x5114: 0x40798c20, 0x5115: 0x40798e20, 0x5116: 0x40799020, 0x5117: 0x40799220,\n\t0x5118: 0x40799420, 0x5119: 0x40799620, 0x511a: 0x40799820, 0x511b: 0x40799a20,\n\t0x511c: 0x40799c20, 0x511d: 0x40799e20, 0x511e: 0x4079a020, 0x511f: 0x4079a220,\n\t0x5120: 0x4079a420, 0x5121: 0x4079a620, 0x5122: 0x4079a820, 0x5123: 0x4079aa20,\n\t0x5124: 0x4079ac20, 0x5125: 0x4079ae20, 0x5126: 0x4079b020, 0x5127: 0x4079b220,\n\t0x5128: 0x4079b420, 0x5129: 0x4079b620, 0x512a: 0x4079b820, 0x512b: 0x4079ba20,\n\t0x512c: 0x4079bc20, 0x512d: 0x4079be20, 0x512e: 0x4079c020, 0x512f: 0x4079c220,\n\t0x5130: 0x4079c420, 0x5131: 0x4079c620, 0x5132: 0x4079c820, 0x5133: 0x4079ca20,\n\t0x5134: 0x4079cc20, 0x5135: 0x4079ce20, 0x5136: 0x4079d020, 0x5137: 0x4079d220,\n\t0x5138: 0x4079d420, 0x5139: 0x4079d620, 0x513a: 0x4079d820, 0x513b: 0x4079da20,\n\t0x513c: 0x4079dc20, 0x513d: 0x4079de20, 0x513e: 0x4079e020, 0x513f: 0x4079e220,\n\t// Block 0x145, offset 0x5140\n\t0x5140: 0x4079e420, 0x5141: 0x4079e620, 0x5142: 0x4079e820, 0x5143: 0x4079ea20,\n\t0x5144: 0x4079ec20, 0x5145: 0x4079ee20, 0x5146: 0x4079f020, 0x5147: 0x4079f220,\n\t0x5148: 0x4079f420, 0x5149: 0x4079f620, 0x514a: 0x4079f820, 0x514b: 0x4079fa20,\n\t0x514c: 0x4079fc20, 0x514d: 0x4079fe20, 0x514e: 0x407a0020, 0x514f: 0x407a0220,\n\t0x5150: 0x407a0420, 0x5151: 0x407a0620, 0x5152: 0x407a0820, 0x5153: 0x407a0a20,\n\t0x5154: 0x407a0c20, 0x5155: 0x407a0e20, 0x5156: 0x407a1020, 0x5157: 0x407a1220,\n\t0x5158: 0x407a1420, 0x5159: 0x407a1620, 0x515a: 0x407a1820, 0x515b: 0x407a1a20,\n\t0x515c: 0x407a1c20, 0x515d: 0x407a1e20, 0x515e: 0x407a2020, 0x515f: 0x407a2220,\n\t0x5160: 0x407a2420, 0x5161: 0x407a2620, 0x5162: 0x407a2820, 0x5163: 0x407a2a20,\n\t0x5164: 0x407a2c20, 0x5165: 0x407a2e20, 0x5166: 0x407a3020, 0x5167: 0x407a3220,\n\t0x5168: 0x407a3420, 0x5169: 0x407a3620, 0x516a: 0x407a3820, 0x516b: 0x407a3a20,\n\t0x516c: 0x407a3c20, 0x516d: 0x407a3e20, 0x516e: 0x407a4020, 0x516f: 0x407a4220,\n\t0x5170: 0x407a4420, 0x5171: 0x407a4620, 0x5172: 0x407a4820, 0x5173: 0x407a4a20,\n\t0x5174: 0x407a4c20, 0x5175: 0x407a4e20, 0x5176: 0x407a5020, 0x5177: 0x407a5220,\n\t0x5178: 0x407a5420, 0x5179: 0x407a5620, 0x517a: 0x407a5820, 0x517b: 0x407a5a20,\n\t0x517c: 0x407a5c20, 0x517d: 0x407a5e20, 0x517e: 0x407a6020, 0x517f: 0x407a6220,\n\t// Block 0x146, offset 0x5180\n\t0x5180: 0x407a6420, 0x5181: 0x407a6620, 0x5182: 0x407a6820, 0x5183: 0x407a6a20,\n\t0x5184: 0x407a6c20, 0x5185: 0x407a6e20, 0x5186: 0x407a7020, 0x5187: 0x407a7220,\n\t0x5188: 0x407a7420, 0x5189: 0x407a7620, 0x518a: 0x407a7820, 0x518b: 0x407a7a20,\n\t0x518c: 0x407a7c20, 0x518d: 0x407a7e20, 0x518e: 0x407a8020, 0x518f: 0x407a8220,\n\t0x5190: 0x407a8420, 0x5191: 0x407a8620, 0x5192: 0x407a8820, 0x5193: 0x407a8a20,\n\t0x5194: 0x407a8c20, 0x5195: 0x407a8e20, 0x5196: 0x407a9020, 0x5197: 0x407a9220,\n\t0x5198: 0x407a9420, 0x5199: 0x407a9620, 0x519a: 0x407a9820, 0x519b: 0x407a9a20,\n\t0x519c: 0x407a9c20, 0x519d: 0x407a9e20, 0x519e: 0x407aa020, 0x519f: 0x407aa220,\n\t0x51a0: 0x407aa420, 0x51a1: 0x407aa620, 0x51a2: 0x407aa820, 0x51a3: 0x407aaa20,\n\t0x51a4: 0x407aac20, 0x51a5: 0x407aae20, 0x51a6: 0x407ab020, 0x51a7: 0x407ab220,\n\t0x51a8: 0x407ab420, 0x51a9: 0x407ab620, 0x51aa: 0x407ab820, 0x51ab: 0x407aba20,\n\t0x51ac: 0x407abc20, 0x51ad: 0x407abe20, 0x51ae: 0x407ac020, 0x51af: 0x407ac220,\n\t0x51b0: 0x407ac420, 0x51b1: 0x407ac620, 0x51b2: 0x407ac820, 0x51b3: 0x407aca20,\n\t0x51b4: 0x407acc20, 0x51b5: 0x407ace20, 0x51b6: 0x407ad020, 0x51b7: 0x407ad220,\n\t0x51b8: 0x407ad420, 0x51b9: 0x407ad620, 0x51ba: 0x407ad820, 0x51bb: 0x407ada20,\n\t0x51bc: 0x407adc20, 0x51bd: 0x407ade20, 0x51be: 0x407ae020, 0x51bf: 0x407ae220,\n\t// Block 0x147, offset 0x51c0\n\t0x51c0: 0x407ae420, 0x51c1: 0x407ae620, 0x51c2: 0x407ae820, 0x51c3: 0x407aea20,\n\t0x51c4: 0x407aec20, 0x51c5: 0x407aee20, 0x51c6: 0x407af020, 0x51c7: 0x407af220,\n\t0x51c8: 0x407af420, 0x51c9: 0x407af620, 0x51ca: 0x407af820, 0x51cb: 0x407afa20,\n\t0x51cc: 0x407afc20, 0x51cd: 0x407afe20, 0x51ce: 0x407b0020, 0x51cf: 0x407b0220,\n\t0x51d0: 0x407b0420, 0x51d1: 0x407b0620, 0x51d2: 0x407b0820, 0x51d3: 0x407b0a20,\n\t0x51d4: 0x407b0c20, 0x51d5: 0x407b0e20, 0x51d6: 0x407b1020, 0x51d7: 0x407b1220,\n\t0x51d8: 0x407b1420, 0x51d9: 0x407b1620, 0x51da: 0x407b1820, 0x51db: 0x407b1a20,\n\t0x51dc: 0x407b1c20, 0x51dd: 0x407b1e20, 0x51de: 0x407b2020, 0x51df: 0x407b2220,\n\t0x51e0: 0x407b2420, 0x51e1: 0x407b2620, 0x51e2: 0x407b2820, 0x51e3: 0x407b2a20,\n\t0x51e4: 0x407b2c20, 0x51e5: 0x407b2e20, 0x51e6: 0x407b3020, 0x51e7: 0x407b3220,\n\t0x51e8: 0x407b3420, 0x51e9: 0x407b3620, 0x51ea: 0x407b3820, 0x51eb: 0x407b3a20,\n\t0x51ec: 0x407b3c20, 0x51ed: 0x407b3e20, 0x51ee: 0x407b4020, 0x51ef: 0x407b4220,\n\t0x51f0: 0x407b4420, 0x51f1: 0x407b4620, 0x51f2: 0x407b4820, 0x51f3: 0x407b4a20,\n\t0x51f4: 0x407b4c20, 0x51f5: 0x407b4e20, 0x51f6: 0x407b5020, 0x51f7: 0x407b5220,\n\t0x51f8: 0x407b5420, 0x51f9: 0x407b5620, 0x51fa: 0x407b5820, 0x51fb: 0x407b5a20,\n\t0x51fc: 0x407b5c20, 0x51fd: 0x407b5e20, 0x51fe: 0x407b6020, 0x51ff: 0x407b6220,\n\t// Block 0x148, offset 0x5200\n\t0x5200: 0x407b6420, 0x5201: 0x407b6620, 0x5202: 0x407b6820, 0x5203: 0x407b6a20,\n\t0x5204: 0x407b6c20, 0x5205: 0x407b6e20, 0x5206: 0x407b7020, 0x5207: 0x407b7220,\n\t0x5208: 0x407b7420, 0x5209: 0x407b7620, 0x520a: 0x407b7820, 0x520b: 0x407b7a20,\n\t0x520c: 0x407b7c20, 0x520d: 0x407b7e20, 0x520e: 0x407b8020, 0x520f: 0x407b8220,\n\t0x5210: 0x407b8420, 0x5211: 0x407b8620, 0x5212: 0x407b8820, 0x5213: 0x407b8a20,\n\t0x5214: 0x407b8c20, 0x5215: 0x407b8e20, 0x5216: 0x407b9020, 0x5217: 0x407b9220,\n\t0x5218: 0x407b9420, 0x5219: 0x407b9620, 0x521a: 0x407b9820, 0x521b: 0x407b9a20,\n\t0x521c: 0x407b9c20, 0x521d: 0x407b9e20, 0x521e: 0x407ba020, 0x521f: 0x407ba220,\n\t0x5220: 0x407ba420, 0x5221: 0x407ba620, 0x5222: 0x407ba820, 0x5223: 0x407baa20,\n\t0x5224: 0x407bac20, 0x5225: 0x407bae20, 0x5226: 0x407bb020, 0x5227: 0x407bb220,\n\t0x5228: 0x407bb420, 0x5229: 0x407bb620, 0x522a: 0x407bb820, 0x522b: 0x407bba20,\n\t0x522c: 0x407bbc20, 0x522d: 0x407bbe20, 0x522e: 0x407bc020, 0x522f: 0x407bc220,\n\t0x5230: 0x407bc420, 0x5231: 0x407bc620, 0x5232: 0x407bc820, 0x5233: 0x407bca20,\n\t0x5234: 0x407bcc20, 0x5235: 0x407bce20, 0x5236: 0x407bd020, 0x5237: 0x407bd220,\n\t0x5238: 0x407bd420, 0x5239: 0x407bd620, 0x523a: 0x407bd820, 0x523b: 0x407bda20,\n\t0x523c: 0x407bdc20, 0x523d: 0x407bde20, 0x523e: 0x407be020, 0x523f: 0x407be220,\n\t// Block 0x149, offset 0x5240\n\t0x5240: 0x407be420, 0x5241: 0x407be620, 0x5242: 0x407be820, 0x5243: 0x407bea20,\n\t0x5244: 0x407bec20, 0x5245: 0x407bee20, 0x5246: 0x407bf020, 0x5247: 0x407bf220,\n\t0x5248: 0x407bf420, 0x5249: 0x407bf620, 0x524a: 0x407bf820, 0x524b: 0x407bfa20,\n\t0x524c: 0x407bfc20, 0x524d: 0x407bfe20, 0x524e: 0x407c0020, 0x524f: 0x407c0220,\n\t0x5250: 0x407c0420, 0x5251: 0x407c0620, 0x5252: 0x407c0820, 0x5253: 0x407c0a20,\n\t0x5254: 0x407c0c20, 0x5255: 0x407c0e20, 0x5256: 0x407c1020, 0x5257: 0x407c1220,\n\t0x5258: 0x407c1420, 0x5259: 0x407c1620, 0x525a: 0x407c1820, 0x525b: 0x407c1a20,\n\t0x525c: 0x407c1c20, 0x525d: 0x407c1e20, 0x525e: 0x407c2020, 0x525f: 0x407c2220,\n\t0x5260: 0x407c2420, 0x5261: 0x407c2620, 0x5262: 0x407c2820, 0x5263: 0x407c2a20,\n\t0x5264: 0x407c2c20, 0x5265: 0x407c2e20, 0x5266: 0x407c3020, 0x5267: 0x407c3220,\n\t0x5268: 0x407c3420, 0x5269: 0x407c3620, 0x526a: 0x407c3820, 0x526b: 0x407c3a20,\n\t0x526c: 0x407c3c20, 0x526d: 0x407c3e20, 0x526e: 0x407c4020, 0x526f: 0x407c4220,\n\t0x5270: 0x407c4420, 0x5271: 0x407c4620, 0x5272: 0x407c4820, 0x5273: 0x407c4a20,\n\t0x5274: 0x407c4c20, 0x5275: 0x407c4e20, 0x5276: 0x407c5020, 0x5277: 0x407c5220,\n\t0x5278: 0x407c5420, 0x5279: 0x407c5620, 0x527a: 0x407c5820, 0x527b: 0x407c5a20,\n\t0x527c: 0x407c5c20, 0x527d: 0x407c5e20, 0x527e: 0x407c6020, 0x527f: 0x407c6220,\n\t// Block 0x14a, offset 0x5280\n\t0x5280: 0x407c6420, 0x5281: 0x407c6620, 0x5282: 0x407c6820, 0x5283: 0x407c6a20,\n\t0x5284: 0x407c6c20, 0x5285: 0x407c6e20, 0x5286: 0x407c7020, 0x5287: 0x407c7220,\n\t0x5288: 0x407c7420, 0x5289: 0x407c7620, 0x528a: 0x407c7820, 0x528b: 0x407c7a20,\n\t0x528c: 0x407c7c20, 0x528d: 0x407c7e20, 0x528e: 0x407c8020, 0x528f: 0x407c8220,\n\t0x5290: 0x407c8420, 0x5291: 0x407c8620, 0x5292: 0x407c8820, 0x5293: 0x407c8a20,\n\t0x5294: 0x407c8c20, 0x5295: 0x407c8e20, 0x5296: 0x407c9020, 0x5297: 0x407c9220,\n\t0x5298: 0x407c9420, 0x5299: 0x407c9620, 0x529a: 0x407c9820, 0x529b: 0x407c9a20,\n\t0x529c: 0x407c9c20, 0x529d: 0x407c9e20, 0x529e: 0x407ca020, 0x529f: 0x407ca220,\n\t0x52a0: 0x407ca420, 0x52a1: 0x407ca620, 0x52a2: 0x407ca820, 0x52a3: 0x407caa20,\n\t0x52a4: 0x407cac20, 0x52a5: 0x407cae20, 0x52a6: 0x407cb020, 0x52a7: 0x407cb220,\n\t0x52a8: 0x407cb420, 0x52a9: 0x407cb620, 0x52aa: 0x407cb820, 0x52ab: 0x407cba20,\n\t0x52ac: 0x407cbc20, 0x52ad: 0x407cbe20, 0x52ae: 0x407cc020, 0x52af: 0x407cc220,\n\t0x52b0: 0x407cc420, 0x52b1: 0x407cc620, 0x52b2: 0x407cc820, 0x52b3: 0x407cca20,\n\t0x52b4: 0x407ccc20, 0x52b5: 0x407cce20, 0x52b6: 0x407cd020, 0x52b7: 0x407cd220,\n\t0x52b8: 0x407cd420, 0x52b9: 0x407cd620, 0x52ba: 0x407cd820, 0x52bb: 0x407cda20,\n\t0x52bc: 0x407cdc20, 0x52bd: 0x407cde20, 0x52be: 0x407ce020, 0x52bf: 0x407ce220,\n\t// Block 0x14b, offset 0x52c0\n\t0x52c0: 0x407ce420, 0x52c1: 0x407ce620, 0x52c2: 0x407ce820, 0x52c3: 0x407cea20,\n\t0x52c4: 0x407cec20, 0x52c5: 0x407cee20, 0x52c6: 0x407cf020, 0x52c7: 0x407cf220,\n\t0x52c8: 0x407cf420, 0x52c9: 0x407cf620, 0x52ca: 0x407cf820, 0x52cb: 0x407cfa20,\n\t0x52cc: 0x407cfc20, 0x52cd: 0x407cfe20, 0x52ce: 0x407d0020, 0x52cf: 0x407d0220,\n\t0x52d0: 0x407d0420, 0x52d1: 0x407d0620, 0x52d2: 0x407d0820, 0x52d3: 0x407d0a20,\n\t0x52d4: 0x407d0c20, 0x52d5: 0x407d0e20, 0x52d6: 0x407d1020, 0x52d7: 0x407d1220,\n\t0x52d8: 0x407d1420, 0x52d9: 0x407d1620, 0x52da: 0x407d1820, 0x52db: 0x407d1a20,\n\t0x52dc: 0x407d1c20, 0x52dd: 0x407d1e20, 0x52de: 0x407d2020, 0x52df: 0x407d2220,\n\t0x52e0: 0x407d2420, 0x52e1: 0x407d2620, 0x52e2: 0x407d2820, 0x52e3: 0x407d2a20,\n\t0x52e4: 0x407d2c20, 0x52e5: 0x407d2e20, 0x52e6: 0x407d3020, 0x52e7: 0x407d3220,\n\t0x52e8: 0x407d3420, 0x52e9: 0x407d3620, 0x52ea: 0x407d3820, 0x52eb: 0x407d3a20,\n\t0x52ec: 0x407d3c20, 0x52ed: 0x407d3e20, 0x52ee: 0x407d4020, 0x52ef: 0x407d4220,\n\t0x52f0: 0x407d4420, 0x52f1: 0x407d4620, 0x52f2: 0x407d4820, 0x52f3: 0x407d4a20,\n\t0x52f4: 0x407d4c20, 0x52f5: 0x407d4e20, 0x52f6: 0x407d5020, 0x52f7: 0x407d5220,\n\t0x52f8: 0x407d5420, 0x52f9: 0x407d5620, 0x52fa: 0x407d5820, 0x52fb: 0x407d5a20,\n\t0x52fc: 0x407d5c20, 0x52fd: 0x407d5e20, 0x52fe: 0x407d6020, 0x52ff: 0x407d6220,\n\t// Block 0x14c, offset 0x5300\n\t0x5300: 0x407d6420, 0x5301: 0x407d6620, 0x5302: 0x407d6820, 0x5303: 0x407d6a20,\n\t0x5304: 0x407d6c20, 0x5305: 0x407d6e20, 0x5306: 0x407d7020, 0x5307: 0x407d7220,\n\t0x5308: 0x407d7420, 0x5309: 0x407d7620, 0x530a: 0x407d7820, 0x530b: 0x407d7a20,\n\t0x530c: 0x407d7c20, 0x530d: 0x407d7e20, 0x530e: 0x407d8020, 0x530f: 0x407d8220,\n\t0x5310: 0x407d8420, 0x5311: 0x407d8620, 0x5312: 0x407d8820, 0x5313: 0x407d8a20,\n\t0x5314: 0x407d8c20, 0x5315: 0x407d8e20, 0x5316: 0x407d9020, 0x5317: 0x407d9220,\n\t0x5318: 0x407d9420, 0x5319: 0x407d9620, 0x531a: 0x407d9820, 0x531b: 0x407d9a20,\n\t0x531c: 0x407d9c20, 0x531d: 0x407d9e20, 0x531e: 0x407da020, 0x531f: 0x407da220,\n\t0x5320: 0x407da420, 0x5321: 0x407da620, 0x5322: 0x407da820, 0x5323: 0x407daa20,\n\t0x5324: 0x407dac20, 0x5325: 0x407dae20, 0x5326: 0x407db020, 0x5327: 0x407db220,\n\t0x5328: 0x407db420, 0x5329: 0x407db620, 0x532a: 0x407db820, 0x532b: 0x407dba20,\n\t0x532c: 0x407dbc20, 0x532d: 0x407dbe20, 0x532e: 0x407dc020,\n\t// Block 0x14d, offset 0x5340\n\t0x5340: 0xe0000394, 0x5341: 0xe000045f, 0x5342: 0xe0000534, 0x5343: 0xe0000610,\n\t0x5344: 0xe00006cc, 0x5345: 0xe0000771, 0x5346: 0xe000081d, 0x5347: 0xe00008c2,\n\t0x5348: 0xe0000462, 0x5349: 0xe0000537, 0x534a: 0xe0000613, 0x534b: 0xe00006cf,\n\t0x534c: 0xe0000774, 0x534d: 0xe0000820, 0x534e: 0xe00008c5, 0x534f: 0xe000053a,\n\t0x5350: 0xe0000616, 0x5351: 0xe00006d2, 0x5352: 0xe0000777, 0x5353: 0xe0000823,\n\t0x5354: 0xe00008c8, 0x5355: 0xe000027f, 0x5356: 0xe0000397, 0x5357: 0xe0000465,\n\t0x5358: 0xe000053d, 0x5359: 0xe0000619, 0x535a: 0xe00006d5, 0x535b: 0xe000077a,\n\t0x535c: 0xe0000826, 0x535d: 0xe00008cb, 0x535e: 0xe0000282, 0x535f: 0xe000039a,\n\t0x5360: 0xe0000468, 0x5361: 0xe0000540, 0x5362: 0xe000061c, 0x5363: 0xe000039d,\n\t0x5364: 0xe000046b, 0x5365: 0xe000046e, 0x5366: 0xe0000543, 0x5367: 0xe000061f,\n\t0x5368: 0xe00006d8, 0x5369: 0xe000077d, 0x536a: 0xe0000829, 0x536b: 0xe00008ce,\n\t0x536c: 0xe0000285, 0x536d: 0xe00003a0, 0x536e: 0xe0000471, 0x536f: 0xe0000474,\n\t0x5370: 0xe0000546, 0x5371: 0xe0000622, 0x5372: 0x4029a020, 0x5373: 0x4029a220,\n\t0x5374: 0xe0000288, 0x5375: 0xe00003a3, 0x5376: 0xe0000477, 0x5377: 0xe000047a,\n\t0x5378: 0xe0000549, 0x5379: 0xe0000625, 0x537a: 0xe000047d, 0x537b: 0xe0000480,\n\t0x537c: 0xe000054c, 0x537d: 0xe000054f, 0x537e: 0xe0000552, 0x537f: 0xe0000555,\n\t// Block 0x14e, offset 0x5380\n\t0x5380: 0xe00006db, 0x5381: 0xe0000780, 0x5382: 0xe0000783, 0x5383: 0xe0000786,\n\t0x5384: 0xe000082c, 0x5385: 0xe000082f, 0x5386: 0xe00008d1, 0x5387: 0xe00008d4,\n\t0x5388: 0xe00008d7, 0x5389: 0xe00008da, 0x538a: 0xe00003a6, 0x538b: 0xe0000483,\n\t0x538c: 0xe0000558, 0x538d: 0xe0000628, 0x538e: 0xe00006de, 0x538f: 0xe000028b,\n\t0x5390: 0xe00003a9, 0x5391: 0xe0000486, 0x5392: 0xe000055b, 0x5393: 0xe000055e,\n\t0x5394: 0xe000062b, 0x5395: 0xe000062e, 0x5396: 0x4029a420, 0x5397: 0x4029a620,\n\t0x5398: 0xe000028e, 0x5399: 0xe00003ac, 0x539a: 0x4029a820, 0x539b: 0x4029aa20,\n\t0x539c: 0x4029ac20, 0x539d: 0x4029ae20, 0x539e: 0x4029b020, 0x539f: 0x4029b220,\n\t0x53a0: 0x4029b420, 0x53a1: 0x4029b620, 0x53a2: 0x4029b820,\n\t0x53b0: 0x4003ca20, 0x53b1: 0x4003cc20, 0x53b2: 0x4003ce20, 0x53b3: 0x4003d020,\n\t// Block 0x14f, offset 0x53c0\n\t0x53c0: 0x407dc220, 0x53c1: 0x407dc420, 0x53c2: 0x407dc620, 0x53c3: 0x407dc820,\n\t0x53c4: 0x407dca20, 0x53c5: 0x407dcc20, 0x53c6: 0x407dce20, 0x53c7: 0x407dd020,\n\t0x53c8: 0x407dd220, 0x53c9: 0x407dd420, 0x53ca: 0x407dd620, 0x53cb: 0x407dd820,\n\t0x53cc: 0x407dda20, 0x53cd: 0x407ddc20, 0x53ce: 0x407dde20, 0x53cf: 0x407de020,\n\t0x53d0: 0x407de220, 0x53d1: 0x407de420, 0x53d2: 0x407de620, 0x53d3: 0x407de820,\n\t0x53d4: 0x407dea20, 0x53d5: 0x407dec20, 0x53d6: 0x407dee20, 0x53d7: 0x407df020,\n\t0x53d8: 0x407df220, 0x53d9: 0x407df420, 0x53da: 0x407df620, 0x53db: 0x407df820,\n\t0x53dc: 0x407dfa20, 0x53dd: 0x407dfc20, 0x53de: 0x407dfe20, 0x53df: 0x407e0020,\n\t0x53e0: 0x407e0220, 0x53e1: 0x407e0420, 0x53e2: 0x407e0620, 0x53e3: 0x407e0820,\n\t0x53e4: 0x407e0a20, 0x53e5: 0x407e0c20, 0x53e6: 0x407e0e20, 0x53e7: 0x407e1020,\n\t0x53e8: 0x407e1220, 0x53e9: 0x407e1420, 0x53ea: 0x407e1620, 0x53eb: 0x407e1820,\n\t0x53ec: 0x407e1a20, 0x53ed: 0x407e1c20, 0x53ee: 0x407e1e20, 0x53ef: 0x407e2020,\n\t0x53f0: 0x407e2220, 0x53f1: 0x407e2420, 0x53f2: 0x407e2620, 0x53f3: 0x407e2820,\n\t0x53f4: 0x407e2a20, 0x53f5: 0x407e2c20, 0x53f6: 0x407e2e20, 0x53f7: 0x407e3020,\n\t0x53f8: 0x407e3220, 0x53f9: 0x407e3420, 0x53fa: 0x407e3620, 0x53fb: 0x407e3820,\n\t0x53fc: 0x407e3a20, 0x53fd: 0x407e3c20, 0x53fe: 0x407e3e20, 0x53ff: 0x407e4020,\n\t// Block 0x150, offset 0x5400\n\t0x5400: 0x407e4220, 0x5401: 0x407e4420, 0x5402: 0x407e4620, 0x5403: 0x407e4820,\n\t0x5404: 0x407e4a20, 0x5405: 0x407e4c20, 0x5406: 0x407e4e20, 0x5407: 0x407e5020,\n\t0x5408: 0x407e5220, 0x5409: 0x407e5420, 0x540a: 0x407e5620, 0x540b: 0x407e5820,\n\t0x540c: 0x407e5a20, 0x540d: 0x407e5c20, 0x540e: 0x407e5e20, 0x540f: 0x407e6020,\n\t0x5410: 0x407e6220, 0x5411: 0x407e6420, 0x5412: 0x407e6620, 0x5413: 0x407e6820,\n\t0x5414: 0x407e6a20, 0x5415: 0x407e6c20, 0x5416: 0x407e6e20, 0x5417: 0x407e7020,\n\t0x5418: 0x407e7220, 0x5419: 0x407e7420, 0x541a: 0x407e7620, 0x541b: 0x407e7820,\n\t0x541c: 0x407e7a20, 0x541d: 0x407e7c20, 0x541e: 0x407e7e20, 0x541f: 0x407e8020,\n\t0x5420: 0x407e8220, 0x5421: 0x407e8420, 0x5422: 0x407e8620, 0x5423: 0x407e8820,\n\t0x5424: 0x407e8a20, 0x5425: 0x407e8c20, 0x5426: 0x407e8e20, 0x5427: 0x407e9020,\n\t0x5428: 0x407e9220, 0x5429: 0x407e9420, 0x542a: 0x407e9620, 0x542b: 0x407e9820,\n\t0x542c: 0x407e9a20, 0x542d: 0x407e9c20, 0x542e: 0x407e9e20, 0x542f: 0x407ea020,\n\t0x5430: 0x407ea220, 0x5431: 0x407ea420, 0x5432: 0x407ea620, 0x5433: 0x407ea820,\n\t0x5434: 0x407eaa20, 0x5435: 0x407eac20, 0x5436: 0x407eae20, 0x5437: 0x407eb020,\n\t0x5438: 0x407eb220, 0x5439: 0x407eb420, 0x543a: 0x407eb620, 0x543b: 0x407eb820,\n\t0x543c: 0x407eba20, 0x543d: 0x407ebc20, 0x543e: 0x407ebe20, 0x543f: 0x407ec020,\n\t// Block 0x151, offset 0x5440\n\t0x5440: 0x407ec220, 0x5441: 0x407ec420, 0x5442: 0x407ec620, 0x5443: 0x407ec820,\n\t0x5444: 0x407eca20, 0x5445: 0x407ecc20, 0x5446: 0x407ece20, 0x5447: 0x407ed020,\n\t0x5448: 0x407ed220, 0x5449: 0x407ed420, 0x544a: 0x407ed620, 0x544b: 0x407ed820,\n\t0x544c: 0x407eda20, 0x544d: 0x407edc20, 0x544e: 0x407ede20, 0x544f: 0x407ee020,\n\t0x5450: 0x407ee220, 0x5451: 0x407ee420, 0x5452: 0x407ee620, 0x5453: 0x407ee820,\n\t0x5454: 0x407eea20, 0x5455: 0x407eec20, 0x5456: 0x407eee20, 0x5457: 0x407ef020,\n\t0x5458: 0x407ef220, 0x5459: 0x407ef420, 0x545a: 0x407ef620, 0x545b: 0x407ef820,\n\t0x545c: 0x407efa20, 0x545d: 0x407efc20, 0x545e: 0x407efe20, 0x545f: 0x407f0020,\n\t0x5460: 0x407f0220, 0x5461: 0x407f0420, 0x5462: 0x407f0620, 0x5463: 0x407f0820,\n\t0x5464: 0x407f0a20, 0x5465: 0x407f0c20, 0x5466: 0x407f0e20, 0x5467: 0x407f1020,\n\t0x5468: 0x407f1220, 0x5469: 0x407f1420, 0x546a: 0x407f1620, 0x546b: 0x407f1820,\n\t0x546c: 0x407f1a20, 0x546d: 0x407f1c20, 0x546e: 0x407f1e20, 0x546f: 0x407f2020,\n\t0x5470: 0x407f2220, 0x5471: 0x407f2420, 0x5472: 0x407f2620, 0x5473: 0x407f2820,\n\t0x5474: 0x407f2a20, 0x5475: 0x407f2c20, 0x5476: 0x407f2e20, 0x5477: 0x407f3020,\n\t0x5478: 0x407f3220, 0x5479: 0x407f3420, 0x547a: 0x407f3620, 0x547b: 0x407f3820,\n\t0x547c: 0x407f3a20, 0x547d: 0x407f3c20, 0x547e: 0x407f3e20, 0x547f: 0x407f4020,\n\t// Block 0x152, offset 0x5480\n\t0x5480: 0x407f4220, 0x5481: 0x407f4420, 0x5482: 0x407f4620, 0x5483: 0x407f4820,\n\t0x5484: 0x407f4a20, 0x5485: 0x407f4c20, 0x5486: 0x407f4e20, 0x5487: 0x407f5020,\n\t0x5488: 0x407f5220, 0x5489: 0x407f5420, 0x548a: 0x407f5620, 0x548b: 0x407f5820,\n\t0x548c: 0x407f5a20, 0x548d: 0x407f5c20, 0x548e: 0x407f5e20, 0x548f: 0x407f6020,\n\t0x5490: 0x407f6220, 0x5491: 0x407f6420, 0x5492: 0x407f6620, 0x5493: 0x407f6820,\n\t0x5494: 0x407f6a20, 0x5495: 0x407f6c20, 0x5496: 0x407f6e20, 0x5497: 0x407f7020,\n\t0x5498: 0x407f7220, 0x5499: 0x407f7420, 0x549a: 0x407f7620, 0x549b: 0x407f7820,\n\t0x549c: 0x407f7a20, 0x549d: 0x407f7c20, 0x549e: 0x407f7e20, 0x549f: 0x407f8020,\n\t0x54a0: 0x407f8220, 0x54a1: 0x407f8420, 0x54a2: 0x407f8620, 0x54a3: 0x407f8820,\n\t0x54a4: 0x407f8a20, 0x54a5: 0x407f8c20, 0x54a6: 0x407f8e20, 0x54a7: 0x407f9020,\n\t0x54a8: 0x407f9220, 0x54a9: 0x407f9420, 0x54aa: 0x407f9620, 0x54ab: 0x407f9820,\n\t0x54ac: 0x407f9a20, 0x54ad: 0x407f9c20, 0x54ae: 0x407f9e20, 0x54af: 0x407fa020,\n\t0x54b0: 0x407fa220, 0x54b1: 0x407fa420, 0x54b2: 0x407fa620, 0x54b3: 0x407fa820,\n\t0x54b4: 0x407faa20, 0x54b5: 0x407fac20, 0x54b6: 0x407fae20, 0x54b7: 0x407fb020,\n\t0x54b8: 0x407fb220, 0x54b9: 0x407fb420, 0x54ba: 0x407fb620, 0x54bb: 0x407fb820,\n\t0x54bc: 0x407fba20, 0x54bd: 0x407fbc20, 0x54be: 0x407fbe20, 0x54bf: 0x407fc020,\n\t// Block 0x153, offset 0x54c0\n\t0x54c0: 0x407fc220, 0x54c1: 0x407fc420, 0x54c2: 0x407fc620, 0x54c3: 0x407fc820,\n\t0x54c4: 0x407fca20, 0x54c5: 0x407fcc20, 0x54c6: 0x407fce20, 0x54c7: 0x407fd020,\n\t0x54c8: 0x407fd220, 0x54c9: 0x407fd420, 0x54ca: 0x407fd620, 0x54cb: 0x407fd820,\n\t0x54cc: 0x407fda20, 0x54cd: 0x407fdc20, 0x54ce: 0x407fde20, 0x54cf: 0x407fe020,\n\t0x54d0: 0x407fe220, 0x54d1: 0x407fe420, 0x54d2: 0x407fe620, 0x54d3: 0x407fe820,\n\t0x54d4: 0x407fea20, 0x54d5: 0x407fec20, 0x54d6: 0x407fee20, 0x54d7: 0x407ff020,\n\t0x54d8: 0x407ff220, 0x54d9: 0x407ff420, 0x54da: 0x407ff620, 0x54db: 0x407ff820,\n\t0x54dc: 0x407ffa20, 0x54dd: 0x407ffc20, 0x54de: 0x407ffe20, 0x54df: 0x40800020,\n\t0x54e0: 0x40800220, 0x54e1: 0x40800420, 0x54e2: 0x40800620, 0x54e3: 0x40800820,\n\t0x54e4: 0x40800a20, 0x54e5: 0x40800c20, 0x54e6: 0x40800e20, 0x54e7: 0x40801020,\n\t0x54e8: 0x40801220, 0x54e9: 0x40801420, 0x54ea: 0x40801620, 0x54eb: 0x40801820,\n\t0x54ec: 0x40801a20, 0x54ed: 0x40801c20, 0x54ee: 0x40801e20, 0x54ef: 0x40802020,\n\t0x54f0: 0x40802220, 0x54f1: 0x40802420, 0x54f2: 0x40802620, 0x54f3: 0x40802820,\n\t0x54f4: 0x40802a20, 0x54f5: 0x40802c20, 0x54f6: 0x40802e20, 0x54f7: 0x40803020,\n\t0x54f8: 0x40803220, 0x54f9: 0x40803420, 0x54fa: 0x40803620, 0x54fb: 0x40803820,\n\t0x54fc: 0x40803a20, 0x54fd: 0x40803c20, 0x54fe: 0x40803e20, 0x54ff: 0x40804020,\n\t// Block 0x154, offset 0x5500\n\t0x5500: 0x40804220, 0x5501: 0x40804420, 0x5502: 0x40804620, 0x5503: 0x40804820,\n\t0x5504: 0x40804a20, 0x5505: 0x40804c20, 0x5506: 0x40804e20, 0x5507: 0x40805020,\n\t0x5508: 0x40805220, 0x5509: 0x40805420, 0x550a: 0x40805620, 0x550b: 0x40805820,\n\t0x550c: 0x40805a20, 0x550d: 0x40805c20, 0x550e: 0x40805e20, 0x550f: 0x40806020,\n\t0x5510: 0x40806220, 0x5511: 0x40806420, 0x5512: 0x40806620, 0x5513: 0x40806820,\n\t0x5514: 0x40806a20, 0x5515: 0x40806c20, 0x5516: 0x40806e20, 0x5517: 0x40807020,\n\t0x5518: 0x40807220, 0x5519: 0x40807420, 0x551a: 0x40807620, 0x551b: 0x40807820,\n\t0x551c: 0x40807a20, 0x551d: 0x40807c20, 0x551e: 0x40807e20, 0x551f: 0x40808020,\n\t0x5520: 0x40808220, 0x5521: 0x40808420, 0x5522: 0x40808620, 0x5523: 0x40808820,\n\t0x5524: 0x40808a20, 0x5525: 0x40808c20, 0x5526: 0x40808e20, 0x5527: 0x40809020,\n\t0x5528: 0x40809220, 0x5529: 0x40809420, 0x552a: 0x40809620, 0x552b: 0x40809820,\n\t0x552c: 0x40809a20, 0x552d: 0x40809c20, 0x552e: 0x40809e20, 0x552f: 0x4080a020,\n\t0x5530: 0x4080a220, 0x5531: 0x4080a420, 0x5532: 0x4080a620, 0x5533: 0x4080a820,\n\t0x5534: 0x4080aa20, 0x5535: 0x4080ac20, 0x5536: 0x4080ae20, 0x5537: 0x4080b020,\n\t0x5538: 0x4080b220, 0x5539: 0x4080b420, 0x553a: 0x4080b620, 0x553b: 0x4080b820,\n\t0x553c: 0x4080ba20, 0x553d: 0x4080bc20, 0x553e: 0x4080be20, 0x553f: 0x4080c020,\n\t// Block 0x155, offset 0x5540\n\t0x5540: 0x4080c220, 0x5541: 0x4080c420, 0x5542: 0x4080c620, 0x5543: 0x4080c820,\n\t0x5544: 0x4080ca20, 0x5545: 0x4080cc20, 0x5546: 0x4080ce20, 0x5547: 0x4080d020,\n\t0x5548: 0x4080d220, 0x5549: 0x4080d420, 0x554a: 0x4080d620, 0x554b: 0x4080d820,\n\t0x554c: 0x4080da20, 0x554d: 0x4080dc20, 0x554e: 0x4080de20, 0x554f: 0x4080e020,\n\t0x5550: 0x4080e220, 0x5551: 0x4080e420, 0x5552: 0x4080e620, 0x5553: 0x4080e820,\n\t0x5554: 0x4080ea20, 0x5555: 0x4080ec20, 0x5556: 0x4080ee20, 0x5557: 0x4080f020,\n\t0x5558: 0x4080f220, 0x5559: 0x4080f420, 0x555a: 0x4080f620, 0x555b: 0x4080f820,\n\t0x555c: 0x4080fa20, 0x555d: 0x4080fc20, 0x555e: 0x4080fe20, 0x555f: 0x40810020,\n\t0x5560: 0x40810220, 0x5561: 0x40810420, 0x5562: 0x40810620, 0x5563: 0x40810820,\n\t0x5564: 0x40810a20, 0x5565: 0x40810c20, 0x5566: 0x40810e20, 0x5567: 0x40811020,\n\t0x5568: 0x40811220, 0x5569: 0x40811420, 0x556a: 0x40811620, 0x556b: 0x40811820,\n\t0x556c: 0x40811a20, 0x556d: 0x40811c20, 0x556e: 0x40811e20, 0x556f: 0x40812020,\n\t0x5570: 0x40812220, 0x5571: 0x40812420, 0x5572: 0x40812620, 0x5573: 0x40812820,\n\t0x5574: 0x40812a20, 0x5575: 0x40812c20, 0x5576: 0x40812e20, 0x5577: 0x40813020,\n\t0x5578: 0x40813220, 0x5579: 0x40813420, 0x557a: 0x40813620, 0x557b: 0x40813820,\n\t0x557c: 0x40813a20, 0x557d: 0x40813c20, 0x557e: 0x40813e20, 0x557f: 0x40814020,\n\t// Block 0x156, offset 0x5580\n\t0x5580: 0x40814220, 0x5581: 0x40814420, 0x5582: 0x40814620, 0x5583: 0x40814820,\n\t0x5584: 0x40814a20, 0x5585: 0x40814c20, 0x5586: 0x40814e20, 0x5587: 0x40815020,\n\t0x5588: 0x40815220, 0x5589: 0x40815420, 0x558a: 0x40815620, 0x558b: 0x40815820,\n\t0x558c: 0x40815a20, 0x558d: 0x40815c20, 0x558e: 0x40815e20, 0x558f: 0x40816020,\n\t0x5590: 0x40816220, 0x5591: 0x40816420, 0x5592: 0x40816620, 0x5593: 0x40816820,\n\t0x5594: 0x40816a20, 0x5595: 0x40816c20, 0x5596: 0x40816e20, 0x5597: 0x40817020,\n\t0x5598: 0x40817220, 0x5599: 0x40817420, 0x559a: 0x40817620, 0x559b: 0x40817820,\n\t0x559c: 0x40817a20, 0x559d: 0x40817c20, 0x559e: 0x40817e20, 0x559f: 0x40818020,\n\t0x55a0: 0x40818220, 0x55a1: 0x40818420, 0x55a2: 0x40818620, 0x55a3: 0x40818820,\n\t0x55a4: 0x40818a20, 0x55a5: 0x40818c20, 0x55a6: 0x40818e20, 0x55a7: 0x40819020,\n\t0x55a8: 0x40819220, 0x55a9: 0x40819420, 0x55aa: 0x40819620, 0x55ab: 0x40819820,\n\t0x55ac: 0x40819a20, 0x55ad: 0x40819c20, 0x55ae: 0x40819e20, 0x55af: 0x4081a020,\n\t0x55b0: 0x4081a220, 0x55b1: 0x4081a420, 0x55b2: 0x4081a620, 0x55b3: 0x4081a820,\n\t0x55b4: 0x4081aa20, 0x55b5: 0x4081ac20, 0x55b6: 0x4081ae20, 0x55b7: 0x4081b020,\n\t0x55b8: 0x4081b220, 0x55b9: 0x4081b420, 0x55ba: 0x4081b620, 0x55bb: 0x4081b820,\n\t0x55bc: 0x4081ba20, 0x55bd: 0x4081bc20, 0x55be: 0x4081be20, 0x55bf: 0x4081c020,\n\t// Block 0x157, offset 0x55c0\n\t0x55c0: 0x4081c220, 0x55c1: 0x4081c420, 0x55c2: 0x4081c620, 0x55c3: 0x4081c820,\n\t0x55c4: 0x4081ca20, 0x55c5: 0x4081cc20, 0x55c6: 0x4081ce20, 0x55c7: 0x4081d020,\n\t0x55c8: 0x4081d220, 0x55c9: 0x4081d420, 0x55ca: 0x4081d620, 0x55cb: 0x4081d820,\n\t0x55cc: 0x4081da20, 0x55cd: 0x4081dc20, 0x55ce: 0x4081de20, 0x55cf: 0x4081e020,\n\t0x55d0: 0x4081e220, 0x55d1: 0x4081e420, 0x55d2: 0x4081e620, 0x55d3: 0x4081e820,\n\t0x55d4: 0x4081ea20, 0x55d5: 0x4081ec20, 0x55d6: 0x4081ee20, 0x55d7: 0x4081f020,\n\t0x55d8: 0x4081f220, 0x55d9: 0x4081f420, 0x55da: 0x4081f620, 0x55db: 0x4081f820,\n\t0x55dc: 0x4081fa20, 0x55dd: 0x4081fc20, 0x55de: 0x4081fe20, 0x55df: 0x40820020,\n\t0x55e0: 0x40820220, 0x55e1: 0x40820420, 0x55e2: 0x40820620, 0x55e3: 0x40820820,\n\t0x55e4: 0x40820a20, 0x55e5: 0x40820c20, 0x55e6: 0x40820e20, 0x55e7: 0x40821020,\n\t0x55e8: 0x40821220, 0x55e9: 0x40821420, 0x55ea: 0x40821620, 0x55eb: 0x40821820,\n\t0x55ec: 0x40821a20, 0x55ed: 0x40821c20, 0x55ee: 0x40821e20, 0x55ef: 0x40822020,\n\t0x55f0: 0x40822220, 0x55f1: 0x40822420, 0x55f2: 0x40822620, 0x55f3: 0x40822820,\n\t0x55f4: 0x40822a20, 0x55f5: 0x40822c20, 0x55f6: 0x40822e20, 0x55f7: 0x40823020,\n\t0x55f8: 0x40823220, 0x55f9: 0x40823420, 0x55fa: 0x40823620, 0x55fb: 0x40823820,\n\t0x55fc: 0x40823a20, 0x55fd: 0x40823c20, 0x55fe: 0x40823e20, 0x55ff: 0x40824020,\n\t// Block 0x158, offset 0x5600\n\t0x5600: 0x40824220, 0x5601: 0x40824420, 0x5602: 0x40824620, 0x5603: 0x40824820,\n\t0x5604: 0x40824a20, 0x5605: 0x40824c20, 0x5606: 0x40824e20, 0x5607: 0x40825020,\n\t0x5608: 0x40825220, 0x5609: 0x40825420, 0x560a: 0x40825620, 0x560b: 0x40825820,\n\t0x560c: 0x40825a20, 0x560d: 0x40825c20, 0x560e: 0x40825e20, 0x560f: 0x40826020,\n\t0x5610: 0x40826220, 0x5611: 0x40826420, 0x5612: 0x40826620, 0x5613: 0x40826820,\n\t0x5614: 0x40826a20, 0x5615: 0x40826c20, 0x5616: 0x40826e20, 0x5617: 0x40827020,\n\t0x5618: 0x40827220, 0x5619: 0x40827420, 0x561a: 0x40827620, 0x561b: 0x40827820,\n\t0x561c: 0x40827a20, 0x561d: 0x40827c20, 0x561e: 0x40827e20, 0x561f: 0x40828020,\n\t0x5620: 0x40828220, 0x5621: 0x40828420, 0x5622: 0x40828620, 0x5623: 0x40828820,\n\t0x5624: 0x40828a20, 0x5625: 0x40828c20, 0x5626: 0x40828e20, 0x5627: 0x40829020,\n\t0x5628: 0x40829220, 0x5629: 0x40829420, 0x562a: 0x40829620, 0x562b: 0x40829820,\n\t0x562c: 0x40829a20, 0x562d: 0x40829c20, 0x562e: 0x40829e20, 0x562f: 0x4082a020,\n\t0x5630: 0x4082a220, 0x5631: 0x4082a420, 0x5632: 0x4082a620, 0x5633: 0x4082a820,\n\t0x5634: 0x4082aa20, 0x5635: 0x4082ac20, 0x5636: 0x4082ae20, 0x5637: 0x4082b020,\n\t0x5638: 0x4082b220, 0x5639: 0x4082b420, 0x563a: 0x4082b620, 0x563b: 0x4082b820,\n\t0x563c: 0x4082ba20, 0x563d: 0x4082bc20, 0x563e: 0x4082be20, 0x563f: 0x4082c020,\n\t// Block 0x159, offset 0x5640\n\t0x5640: 0x4082c220, 0x5641: 0x4082c420, 0x5642: 0x4082c620, 0x5643: 0x4082c820,\n\t0x5644: 0x4082ca20, 0x5645: 0x4082cc20, 0x5646: 0x4082ce20, 0x5647: 0x4082d020,\n\t0x5648: 0x4082d220, 0x5649: 0x4082d420, 0x564a: 0x4082d620, 0x564b: 0x4082d820,\n\t0x564c: 0x4082da20, 0x564d: 0x4082dc20, 0x564e: 0x4082de20, 0x564f: 0x4082e020,\n\t0x5650: 0x4082e220, 0x5651: 0x4082e420, 0x5652: 0x4082e620, 0x5653: 0x4082e820,\n\t0x5654: 0x4082ea20, 0x5655: 0x4082ec20, 0x5656: 0x4082ee20, 0x5657: 0x4082f020,\n\t0x5658: 0x4082f220, 0x5659: 0x4082f420, 0x565a: 0x4082f620, 0x565b: 0x4082f820,\n\t0x565c: 0x4082fa20, 0x565d: 0x4082fc20, 0x565e: 0x4082fe20, 0x565f: 0x40830020,\n\t0x5660: 0x40830220, 0x5661: 0x40830420, 0x5662: 0x40830620, 0x5663: 0x40830820,\n\t0x5664: 0x40830a20, 0x5665: 0x40830c20, 0x5666: 0x40830e20, 0x5667: 0x40831020,\n\t0x5668: 0x40831220, 0x5669: 0x40831420, 0x566a: 0x40831620, 0x566b: 0x40831820,\n\t0x566c: 0x40831a20, 0x566d: 0x40831c20, 0x566e: 0x40831e20, 0x566f: 0x40832020,\n\t0x5670: 0x40832220, 0x5671: 0x40832420, 0x5672: 0x40832620, 0x5673: 0x40832820,\n\t0x5674: 0x40832a20, 0x5675: 0x40832c20, 0x5676: 0x40832e20, 0x5677: 0x40833020,\n\t0x5678: 0x40833220, 0x5679: 0x40833420, 0x567a: 0x40833620, 0x567b: 0x40833820,\n\t0x567c: 0x40833a20, 0x567d: 0x40833c20, 0x567e: 0x40833e20, 0x567f: 0x40834020,\n\t// Block 0x15a, offset 0x5680\n\t0x5680: 0x40834220, 0x5681: 0x40834420, 0x5682: 0x40834620, 0x5683: 0x40834820,\n\t0x5684: 0x40834a20, 0x5685: 0x40834c20, 0x5686: 0x40834e20, 0x5687: 0x40835020,\n\t0x5688: 0x40835220, 0x5689: 0x40835420, 0x568a: 0x40835620, 0x568b: 0x40835820,\n\t0x568c: 0x40835a20, 0x568d: 0x40835c20, 0x568e: 0x40835e20, 0x568f: 0x40836020,\n\t0x5690: 0x40836220, 0x5691: 0x40836420, 0x5692: 0x40836620, 0x5693: 0x40836820,\n\t0x5694: 0x40836a20, 0x5695: 0x40836c20, 0x5696: 0x40836e20, 0x5697: 0x40837020,\n\t0x5698: 0x40837220, 0x5699: 0x40837420, 0x569a: 0x40837620, 0x569b: 0x40837820,\n\t0x569c: 0x40837a20, 0x569d: 0x40837c20, 0x569e: 0x40837e20, 0x569f: 0x40838020,\n\t0x56a0: 0x40838220, 0x56a1: 0x40838420, 0x56a2: 0x40838620, 0x56a3: 0x40838820,\n\t0x56a4: 0x40838a20, 0x56a5: 0x40838c20, 0x56a6: 0x40838e20, 0x56a7: 0x40839020,\n\t0x56a8: 0x40839220, 0x56a9: 0x40839420, 0x56aa: 0x40839620, 0x56ab: 0x40839820,\n\t0x56ac: 0x40839a20, 0x56ad: 0x40839c20, 0x56ae: 0x40839e20, 0x56af: 0x4083a020,\n\t0x56b0: 0x4083a220, 0x56b1: 0x4083a420, 0x56b2: 0x4083a620, 0x56b3: 0x4083a820,\n\t0x56b4: 0x4083aa20, 0x56b5: 0x4083ac20, 0x56b6: 0x4083ae20, 0x56b7: 0x4083b020,\n\t0x56b8: 0x4083b220, 0x56b9: 0x4083b420, 0x56ba: 0x4083b620, 0x56bb: 0x4083b820,\n\t0x56bc: 0x4083ba20, 0x56bd: 0x4083bc20, 0x56be: 0x4083be20, 0x56bf: 0x4083c020,\n\t// Block 0x15b, offset 0x56c0\n\t0x56c0: 0x4083c220, 0x56c1: 0x4083c420, 0x56c2: 0x4083c620, 0x56c3: 0x4083c820,\n\t0x56c4: 0x4083ca20, 0x56c5: 0x4083cc20, 0x56c6: 0x4083ce20, 0x56c7: 0x4083d020,\n\t0x56c8: 0x4083d220, 0x56c9: 0x4083d420, 0x56ca: 0x4083d620, 0x56cb: 0x4083d820,\n\t0x56cc: 0x4083da20, 0x56cd: 0x4083dc20, 0x56ce: 0x4083de20, 0x56cf: 0x4083e020,\n\t0x56d0: 0x4083e220, 0x56d1: 0x4083e420, 0x56d2: 0x4083e620, 0x56d3: 0x4083e820,\n\t0x56d4: 0x4083ea20, 0x56d5: 0x4083ec20, 0x56d6: 0x4083ee20, 0x56d7: 0x4083f020,\n\t0x56d8: 0x4083f220, 0x56d9: 0x4083f420, 0x56da: 0x4083f620, 0x56db: 0x4083f820,\n\t0x56dc: 0x4083fa20, 0x56dd: 0x4083fc20, 0x56de: 0x4083fe20, 0x56df: 0x40840020,\n\t0x56e0: 0x40840220, 0x56e1: 0x40840420, 0x56e2: 0x40840620, 0x56e3: 0x40840820,\n\t0x56e4: 0x40840a20, 0x56e5: 0x40840c20, 0x56e6: 0x40840e20, 0x56e7: 0x40841020,\n\t0x56e8: 0x40841220, 0x56e9: 0x40841420, 0x56ea: 0x40841620, 0x56eb: 0x40841820,\n\t0x56ec: 0x40841a20, 0x56ed: 0x40841c20, 0x56ee: 0x40841e20, 0x56ef: 0x40842020,\n\t0x56f0: 0x40842220, 0x56f1: 0x40842420, 0x56f2: 0x40842620, 0x56f3: 0x40842820,\n\t0x56f4: 0x40842a20, 0x56f5: 0x40842c20, 0x56f6: 0x40842e20, 0x56f7: 0x40843020,\n\t0x56f8: 0x40843220, 0x56f9: 0x40843420, 0x56fa: 0x40843620, 0x56fb: 0x40843820,\n\t0x56fc: 0x40843a20, 0x56fd: 0x40843c20, 0x56fe: 0x40843e20, 0x56ff: 0x40844020,\n\t// Block 0x15c, offset 0x5700\n\t0x5700: 0x40844220, 0x5701: 0x40844420, 0x5702: 0x40844620, 0x5703: 0x40844820,\n\t0x5704: 0x40844a20, 0x5705: 0x40844c20, 0x5706: 0x40844e20, 0x5707: 0x40845020,\n\t0x5708: 0x40845220, 0x5709: 0x40845420, 0x570a: 0x40845620, 0x570b: 0x40845820,\n\t0x570c: 0x40845a20, 0x570d: 0x40845c20, 0x570e: 0x40845e20, 0x570f: 0x40846020,\n\t0x5710: 0x40846220, 0x5711: 0x40846420, 0x5712: 0x40846620, 0x5713: 0x40846820,\n\t0x5714: 0x40846a20, 0x5715: 0x40846c20, 0x5716: 0x40846e20, 0x5717: 0x40847020,\n\t0x5718: 0x40847220, 0x5719: 0x40847420, 0x571a: 0x40847620, 0x571b: 0x40847820,\n\t0x571c: 0x40847a20, 0x571d: 0x40847c20, 0x571e: 0x40847e20, 0x571f: 0x40848020,\n\t0x5720: 0x40848220, 0x5721: 0x40848420, 0x5722: 0x40848620, 0x5723: 0x40848820,\n\t0x5724: 0x40848a20, 0x5725: 0x40848c20, 0x5726: 0x40848e20, 0x5727: 0x40849020,\n\t0x5728: 0x40849220, 0x5729: 0x40849420, 0x572a: 0x40849620, 0x572b: 0x40849820,\n\t0x572c: 0x40849a20, 0x572d: 0x40849c20, 0x572e: 0x40849e20, 0x572f: 0x4084a020,\n\t0x5730: 0x4084a220, 0x5731: 0x4084a420, 0x5732: 0x4084a620, 0x5733: 0x4084a820,\n\t0x5734: 0x4084aa20, 0x5735: 0x4084ac20, 0x5736: 0x4084ae20, 0x5737: 0x4084b020,\n\t0x5738: 0x4084b220, 0x5739: 0x4084b420, 0x573a: 0x4084b620, 0x573b: 0x4084b820,\n\t0x573c: 0x4084ba20, 0x573d: 0x4084bc20, 0x573e: 0x4084be20, 0x573f: 0x4084c020,\n\t// Block 0x15d, offset 0x5740\n\t0x5740: 0x4084c220, 0x5741: 0x4084c420, 0x5742: 0x4084c620, 0x5743: 0x4084c820,\n\t0x5744: 0x4084ca20, 0x5745: 0x4084cc20, 0x5746: 0x4084ce20, 0x5747: 0x4084d020,\n\t0x5748: 0x4084d220, 0x5749: 0x4084d420, 0x574a: 0x4084d620, 0x574b: 0x4084d820,\n\t0x574c: 0x4084da20, 0x574d: 0x4084dc20, 0x574e: 0x4084de20, 0x574f: 0x4084e020,\n\t0x5750: 0x4084e220, 0x5751: 0x4084e420, 0x5752: 0x4084e620, 0x5753: 0x4084e820,\n\t0x5754: 0x4084ea20, 0x5755: 0x4084ec20, 0x5756: 0x4084ee20, 0x5757: 0x4084f020,\n\t0x5758: 0x4084f220, 0x5759: 0x4084f420, 0x575a: 0x4084f620, 0x575b: 0x4084f820,\n\t0x575c: 0x4084fa20, 0x575d: 0x4084fc20, 0x575e: 0x4084fe20, 0x575f: 0x40850020,\n\t0x5760: 0x40850220, 0x5761: 0x40850420, 0x5762: 0x40850620, 0x5763: 0x40850820,\n\t0x5764: 0x40850a20, 0x5765: 0x40850c20, 0x5766: 0x40850e20, 0x5767: 0x40851020,\n\t0x5768: 0x40851220, 0x5769: 0x40851420, 0x576a: 0x40851620, 0x576b: 0x40851820,\n\t0x576c: 0x40851a20, 0x576d: 0x40851c20, 0x576e: 0x40851e20, 0x576f: 0x40852020,\n\t0x5770: 0x40852220, 0x5771: 0x40852420, 0x5772: 0x40852620, 0x5773: 0x40852820,\n\t0x5774: 0x40852a20, 0x5775: 0x40852c20, 0x5776: 0x40852e20, 0x5777: 0x40853020,\n\t0x5778: 0x40853220, 0x5779: 0x40853420, 0x577a: 0x40853620, 0x577b: 0x40853820,\n\t0x577c: 0x40853a20, 0x577d: 0x40853c20, 0x577e: 0x40853e20, 0x577f: 0x40854020,\n\t// Block 0x15e, offset 0x5780\n\t0x5780: 0x40854220, 0x5781: 0x40854420, 0x5782: 0x40854620, 0x5783: 0x40854820,\n\t0x5784: 0x40854a20, 0x5785: 0x40854c20, 0x5786: 0x40854e20, 0x5787: 0x40855020,\n\t0x5788: 0x40855220, 0x5789: 0x40855420, 0x578a: 0x40855620, 0x578b: 0x40855820,\n\t0x578c: 0x40855a20, 0x578d: 0x40855c20, 0x578e: 0x40855e20, 0x578f: 0x40856020,\n\t0x5790: 0x40856220, 0x5791: 0x40856420, 0x5792: 0x40856620, 0x5793: 0x40856820,\n\t0x5794: 0x40856a20, 0x5795: 0x40856c20, 0x5796: 0x40856e20, 0x5797: 0x40857020,\n\t0x5798: 0x40857220, 0x5799: 0x40857420, 0x579a: 0x40857620, 0x579b: 0x40857820,\n\t0x579c: 0x40857a20, 0x579d: 0x40857c20, 0x579e: 0x40857e20, 0x579f: 0x40858020,\n\t0x57a0: 0x40858220, 0x57a1: 0x40858420, 0x57a2: 0x40858620, 0x57a3: 0x40858820,\n\t0x57a4: 0x40858a20, 0x57a5: 0x40858c20, 0x57a6: 0x40858e20, 0x57a7: 0x40859020,\n\t0x57a8: 0x40859220, 0x57a9: 0x40859420, 0x57aa: 0x40859620, 0x57ab: 0x40859820,\n\t0x57ac: 0x40859a20, 0x57ad: 0x40859c20, 0x57ae: 0x40859e20, 0x57af: 0x4085a020,\n\t0x57b0: 0x4085a220, 0x57b1: 0x4085a420, 0x57b2: 0x4085a620, 0x57b3: 0x4085a820,\n\t0x57b4: 0x4085aa20, 0x57b5: 0x4085ac20, 0x57b6: 0x4085ae20, 0x57b7: 0x4085b020,\n\t0x57b8: 0x4085b220, 0x57b9: 0x4085b420, 0x57ba: 0x4085b620, 0x57bb: 0x4085b820,\n\t0x57bc: 0x4085ba20, 0x57bd: 0x4085bc20, 0x57be: 0x4085be20, 0x57bf: 0x4085c020,\n\t// Block 0x15f, offset 0x57c0\n\t0x57c0: 0x4085c220, 0x57c1: 0x4085c420, 0x57c2: 0x4085c620, 0x57c3: 0x4085c820,\n\t0x57c4: 0x4085ca20, 0x57c5: 0x4085cc20, 0x57c6: 0x4085ce20, 0x57c7: 0x4085d020,\n\t0x57c8: 0x4085d220, 0x57c9: 0x4085d420, 0x57ca: 0x4085d620, 0x57cb: 0x4085d820,\n\t0x57cc: 0x4085da20, 0x57cd: 0x4085dc20, 0x57ce: 0x4085de20, 0x57cf: 0x4085e020,\n\t0x57d0: 0x4085e220, 0x57d1: 0x4085e420, 0x57d2: 0x4085e620, 0x57d3: 0x4085e820,\n\t0x57d4: 0x4085ea20, 0x57d5: 0x4085ec20, 0x57d6: 0x4085ee20, 0x57d7: 0x4085f020,\n\t0x57d8: 0x4085f220, 0x57d9: 0x4085f420, 0x57da: 0x4085f620, 0x57db: 0x4085f820,\n\t0x57dc: 0x4085fa20, 0x57dd: 0x4085fc20, 0x57de: 0x4085fe20, 0x57df: 0x40860020,\n\t0x57e0: 0x40860220, 0x57e1: 0x40860420, 0x57e2: 0x40860620, 0x57e3: 0x40860820,\n\t0x57e4: 0x40860a20, 0x57e5: 0x40860c20, 0x57e6: 0x40860e20, 0x57e7: 0x40861020,\n\t0x57e8: 0x40861220, 0x57e9: 0x40861420, 0x57ea: 0x40861620, 0x57eb: 0x40861820,\n\t0x57ec: 0x40861a20, 0x57ed: 0x40861c20, 0x57ee: 0x40861e20,\n\t// Block 0x160, offset 0x5800\n\t0x5800: 0x405e3a20, 0x5801: 0x405e3c20, 0x5802: 0x405e3e20, 0x5803: 0x405e4020,\n\t0x5804: 0x405e4220, 0x5805: 0x405e4420, 0x5806: 0x405e4620, 0x5807: 0x405e4820,\n\t0x5808: 0x405e4a20, 0x5809: 0x405e4c20, 0x580a: 0x405e4e20, 0x580b: 0x405e5020,\n\t0x580c: 0x405e5220, 0x580d: 0x405e5420, 0x580e: 0x405e5620, 0x580f: 0x405e5820,\n\t0x5810: 0x405e5a20, 0x5811: 0x405e5c20, 0x5812: 0x405e5e20, 0x5813: 0x405e6020,\n\t0x5814: 0x405e6220, 0x5815: 0x405e6420, 0x5816: 0x405e6620, 0x5817: 0x405e6820,\n\t0x5818: 0x405e6a20, 0x5819: 0x405e6c20, 0x581a: 0x405e6e20, 0x581b: 0x405e7020,\n\t0x581c: 0x405e7220, 0x581d: 0x405e7420, 0x581e: 0x405e7620, 0x581f: 0x405e7820,\n\t0x5820: 0x405e7a20, 0x5821: 0x405e7c20, 0x5822: 0x405e7e20, 0x5823: 0x405e8020,\n\t0x5824: 0x405e8220, 0x5825: 0x405e8420, 0x5826: 0x405e8620, 0x5827: 0x405e8820,\n\t0x5828: 0x405e8a20, 0x5829: 0x405e8c20, 0x582a: 0x405e8e20, 0x582b: 0x405e9020,\n\t0x582c: 0x405e9220, 0x582d: 0x405e9420, 0x582e: 0x405e9620, 0x582f: 0x405e9820,\n\t0x5830: 0x405e9a20, 0x5831: 0x405e9c20, 0x5832: 0x405e9e20, 0x5833: 0x405ea020,\n\t0x5834: 0x405ea220, 0x5835: 0x405ea420, 0x5836: 0x405ea620, 0x5837: 0x405ea820,\n\t0x5838: 0x405eaa20, 0x5839: 0x405eac20, 0x583a: 0x405eae20, 0x583b: 0x405eb020,\n\t0x583c: 0x405eb220, 0x583d: 0x405eb420, 0x583e: 0x405eb620, 0x583f: 0x405eb820,\n\t// Block 0x161, offset 0x5840\n\t0x5840: 0x405eba20, 0x5841: 0x405ebc20, 0x5842: 0x405ebe20, 0x5843: 0x405ec020,\n\t0x5844: 0x405ec220, 0x5845: 0x405ec420, 0x5846: 0x405ec620, 0x5847: 0x405ec820,\n\t0x5848: 0x405eca20, 0x5849: 0x405ecc20, 0x584a: 0x405ece20, 0x584b: 0x405ed020,\n\t0x584c: 0x405ed220, 0x584d: 0x405ed420, 0x584e: 0x405ed620, 0x584f: 0x405ed820,\n\t0x5850: 0x405eda20, 0x5851: 0x405edc20, 0x5852: 0x405ede20, 0x5853: 0x405ee020,\n\t0x5854: 0x405ee220, 0x5855: 0x405ee420, 0x5856: 0x405ee620, 0x5857: 0x405ee820,\n\t0x5858: 0x405eea20, 0x5859: 0x405eec20, 0x585a: 0x405eee20, 0x585b: 0x405ef020,\n\t0x585c: 0x405ef220, 0x585d: 0x405ef420, 0x585e: 0x405ef620, 0x585f: 0x405ef820,\n\t0x5860: 0x405efa20, 0x5861: 0x405efc20, 0x5862: 0x405efe20, 0x5863: 0x405f0020,\n\t0x5864: 0x405f0220, 0x5865: 0x405f0420, 0x5866: 0x405f0620, 0x5867: 0x405f0820,\n\t0x5868: 0x405f0a20, 0x5869: 0x405f0c20, 0x586a: 0x405f0e20, 0x586b: 0x405f1020,\n\t0x586c: 0x405f1220, 0x586d: 0x405f1420, 0x586e: 0x405f1620, 0x586f: 0x405f1820,\n\t0x5870: 0x405f1a20, 0x5871: 0x405f1c20, 0x5872: 0x405f1e20, 0x5873: 0x405f2020,\n\t0x5874: 0x405f2220, 0x5875: 0x405f2420, 0x5876: 0x405f2620, 0x5877: 0x405f2820,\n\t0x5878: 0x405f2a20, 0x5879: 0x405f2c20, 0x587a: 0x405f2e20, 0x587b: 0x405f3020,\n\t0x587c: 0x405f3220, 0x587d: 0x405f3420, 0x587e: 0x405f3620, 0x587f: 0x405f3820,\n\t// Block 0x162, offset 0x5880\n\t0x5880: 0x405f3a20, 0x5881: 0x405f3c20, 0x5882: 0x405f3e20, 0x5883: 0x405f4020,\n\t0x5884: 0x405f4220, 0x5885: 0x405f4420, 0x5886: 0x405f4620, 0x5887: 0x405f4820,\n\t0x5888: 0x405f4a20, 0x5889: 0x405f4c20, 0x588a: 0x405f4e20, 0x588b: 0x405f5020,\n\t0x588c: 0x405f5220, 0x588d: 0x405f5420, 0x588e: 0x405f5620, 0x588f: 0x405f5820,\n\t0x5890: 0x405f5a20, 0x5891: 0x405f5c20, 0x5892: 0x405f5e20, 0x5893: 0x405f6020,\n\t0x5894: 0x405f6220, 0x5895: 0x405f6420, 0x5896: 0x405f6620, 0x5897: 0x405f6820,\n\t0x5898: 0x405f6a20, 0x5899: 0x405f6c20, 0x589a: 0x405f6e20, 0x589b: 0x405f7020,\n\t0x589c: 0x405f7220, 0x589d: 0x405f7420, 0x589e: 0x405f7620, 0x589f: 0x405f7820,\n\t0x58a0: 0x405f7a20, 0x58a1: 0x405f7c20, 0x58a2: 0x405f7e20, 0x58a3: 0x405f8020,\n\t0x58a4: 0x405f8220, 0x58a5: 0x405f8420, 0x58a6: 0x405f8620, 0x58a7: 0x405f8820,\n\t0x58a8: 0x405f8a20, 0x58a9: 0x405f8c20, 0x58aa: 0x405f8e20, 0x58ab: 0x405f9020,\n\t0x58ac: 0x405f9220, 0x58ad: 0x405f9420, 0x58ae: 0x405f9620, 0x58af: 0x405f9820,\n\t0x58b0: 0x405f9a20, 0x58b1: 0x405f9c20, 0x58b2: 0x405f9e20, 0x58b3: 0x405fa020,\n\t0x58b4: 0x405fa220, 0x58b5: 0x405fa420, 0x58b6: 0x405fa620, 0x58b7: 0x405fa820,\n\t0x58b8: 0x405faa20, 0x58b9: 0x405fac20, 0x58ba: 0x405fae20, 0x58bb: 0x405fb020,\n\t0x58bc: 0x405fb220, 0x58bd: 0x405fb420, 0x58be: 0x405fb620, 0x58bf: 0x405fb820,\n\t// Block 0x163, offset 0x58c0\n\t0x58c0: 0x405fba20, 0x58c1: 0x405fbc20, 0x58c2: 0x405fbe20, 0x58c3: 0x405fc020,\n\t0x58c4: 0x405fc220, 0x58c5: 0x405fc420, 0x58c6: 0x405fc620, 0x58c7: 0x405fc820,\n\t0x58c8: 0x405fca20, 0x58c9: 0x405fcc20, 0x58ca: 0x405fce20, 0x58cb: 0x405fd020,\n\t0x58cc: 0x405fd220, 0x58cd: 0x405fd420, 0x58ce: 0x405fd620, 0x58cf: 0x405fd820,\n\t0x58d0: 0x405fda20, 0x58d1: 0x405fdc20, 0x58d2: 0x405fde20, 0x58d3: 0x405fe020,\n\t0x58d4: 0x405fe220, 0x58d5: 0x405fe420, 0x58d6: 0x405fe620, 0x58d7: 0x405fe820,\n\t0x58d8: 0x405fea20, 0x58d9: 0x405fec20, 0x58da: 0x405fee20, 0x58db: 0x405ff020,\n\t0x58dc: 0x405ff220, 0x58dd: 0x405ff420, 0x58de: 0x405ff620, 0x58df: 0x405ff820,\n\t0x58e0: 0x405ffa20, 0x58e1: 0x405ffc20, 0x58e2: 0x405ffe20, 0x58e3: 0x40600020,\n\t0x58e4: 0x40600220, 0x58e5: 0x40600420, 0x58e6: 0x40600620, 0x58e7: 0x40600820,\n\t0x58e8: 0x40600a20, 0x58e9: 0x40600c20, 0x58ea: 0x40600e20, 0x58eb: 0x40601020,\n\t0x58ec: 0x40601220, 0x58ed: 0x40601420, 0x58ee: 0x40601620, 0x58ef: 0x40601820,\n\t0x58f0: 0x40601a20, 0x58f1: 0x40601c20, 0x58f2: 0x40601e20, 0x58f3: 0x40602020,\n\t0x58f4: 0x40602220, 0x58f5: 0x40602420, 0x58f6: 0x40602620, 0x58f7: 0x40602820,\n\t0x58f8: 0x40602a20, 0x58f9: 0x40602c20, 0x58fa: 0x40602e20, 0x58fb: 0x40603020,\n\t0x58fc: 0x40603220, 0x58fd: 0x40603420, 0x58fe: 0x40603620, 0x58ff: 0x40603820,\n\t// Block 0x164, offset 0x5900\n\t0x5900: 0x40603a20, 0x5901: 0x40603c20, 0x5902: 0x40603e20, 0x5903: 0x40604020,\n\t0x5904: 0x40604220, 0x5905: 0x40604420, 0x5906: 0x40604620, 0x5907: 0x40604820,\n\t0x5908: 0x40604a20, 0x5909: 0x40604c20, 0x590a: 0x40604e20, 0x590b: 0x40605020,\n\t0x590c: 0x40605220, 0x590d: 0x40605420, 0x590e: 0x40605620, 0x590f: 0x40605820,\n\t0x5910: 0x40605a20, 0x5911: 0x40605c20, 0x5912: 0x40605e20, 0x5913: 0x40606020,\n\t0x5914: 0x40606220, 0x5915: 0x40606420, 0x5916: 0x40606620, 0x5917: 0x40606820,\n\t0x5918: 0x40606a20, 0x5919: 0x40606c20, 0x591a: 0x40606e20, 0x591b: 0x40607020,\n\t0x591c: 0x40607220, 0x591d: 0x40607420, 0x591e: 0x40607620, 0x591f: 0x40607820,\n\t0x5920: 0x40607a20, 0x5921: 0x40607c20, 0x5922: 0x40607e20, 0x5923: 0x40608020,\n\t0x5924: 0x40608220, 0x5925: 0x40608420, 0x5926: 0x40608620, 0x5927: 0x40608820,\n\t0x5928: 0x40608a20, 0x5929: 0x40608c20, 0x592a: 0x40608e20, 0x592b: 0x40609020,\n\t0x592c: 0x40609220, 0x592d: 0x40609420, 0x592e: 0x40609620, 0x592f: 0x40609820,\n\t0x5930: 0x40609a20, 0x5931: 0x40609c20, 0x5932: 0x40609e20, 0x5933: 0x4060a020,\n\t0x5934: 0x4060a220, 0x5935: 0x4060a420, 0x5936: 0x4060a620, 0x5937: 0x4060a820,\n\t0x5938: 0x4060aa20, 0x5939: 0x4060ac20, 0x593a: 0x4060ae20, 0x593b: 0x4060b020,\n\t0x593c: 0x4060b220, 0x593d: 0x4060b420, 0x593e: 0x4060b620, 0x593f: 0x4060b820,\n\t// Block 0x165, offset 0x5940\n\t0x5940: 0x4060ba20, 0x5941: 0x4060bc20, 0x5942: 0x4060be20, 0x5943: 0x4060c020,\n\t0x5944: 0x4060c220, 0x5945: 0x4060c420, 0x5946: 0x4060c620, 0x5947: 0x4060c820,\n\t0x5948: 0x4060ca20, 0x5949: 0x4060cc20, 0x594a: 0x4060ce20, 0x594b: 0x4060d020,\n\t0x594c: 0x4060d220, 0x594d: 0x4060d420, 0x594e: 0x4060d620, 0x594f: 0x4060d820,\n\t0x5950: 0x4060da20, 0x5951: 0x4060dc20, 0x5952: 0x4060de20, 0x5953: 0x4060e020,\n\t0x5954: 0x4060e220, 0x5955: 0x4060e420, 0x5956: 0x4060e620, 0x5957: 0x4060e820,\n\t0x5958: 0x4060ea20, 0x5959: 0x4060ec20, 0x595a: 0x4060ee20, 0x595b: 0x4060f020,\n\t0x595c: 0x4060f220, 0x595d: 0x4060f420, 0x595e: 0x4060f620, 0x595f: 0x4060f820,\n\t0x5960: 0x4060fa20, 0x5961: 0x4060fc20, 0x5962: 0x4060fe20, 0x5963: 0x40610020,\n\t0x5964: 0x40610220, 0x5965: 0x40610420, 0x5966: 0x40610620, 0x5967: 0x40610820,\n\t0x5968: 0x40610a20, 0x5969: 0x40610c20, 0x596a: 0x40610e20, 0x596b: 0x40611020,\n\t0x596c: 0x40611220, 0x596d: 0x40611420, 0x596e: 0x40611620, 0x596f: 0x40611820,\n\t0x5970: 0x40611a20, 0x5971: 0x40611c20, 0x5972: 0x40611e20, 0x5973: 0x40612020,\n\t0x5974: 0x40612220, 0x5975: 0x40612420, 0x5976: 0x40612620, 0x5977: 0x40612820,\n\t0x5978: 0x40612a20, 0x5979: 0x40612c20, 0x597a: 0x40612e20, 0x597b: 0x40613020,\n\t0x597c: 0x40613220, 0x597d: 0x40613420, 0x597e: 0x40613620, 0x597f: 0x40613820,\n\t// Block 0x166, offset 0x5980\n\t0x5980: 0x40613a20, 0x5981: 0x40613c20, 0x5982: 0x40613e20, 0x5983: 0x40614020,\n\t0x5984: 0x40614220, 0x5985: 0x40614420, 0x5986: 0x40614620, 0x5987: 0x40614820,\n\t0x5988: 0x40614a20, 0x5989: 0x40614c20, 0x598a: 0x40614e20, 0x598b: 0x40615020,\n\t0x598c: 0x40615220, 0x598d: 0x40615420, 0x598e: 0x40615620, 0x598f: 0x40615820,\n\t0x5990: 0x40615a20, 0x5991: 0x40615c20, 0x5992: 0x40615e20, 0x5993: 0x40616020,\n\t0x5994: 0x40616220, 0x5995: 0x40616420, 0x5996: 0x40616620, 0x5997: 0x40616820,\n\t0x5998: 0x40616a20, 0x5999: 0x40616c20, 0x599a: 0x40616e20, 0x599b: 0x40617020,\n\t0x599c: 0x40617220, 0x599d: 0x40617420, 0x599e: 0x40617620, 0x599f: 0x40617820,\n\t0x59a0: 0x40617a20, 0x59a1: 0x40617c20, 0x59a2: 0x40617e20, 0x59a3: 0x40618020,\n\t0x59a4: 0x40618220, 0x59a5: 0x40618420, 0x59a6: 0x40618620, 0x59a7: 0x40618820,\n\t0x59a8: 0x40618a20, 0x59a9: 0x40618c20, 0x59aa: 0x40618e20, 0x59ab: 0x40619020,\n\t0x59ac: 0x40619220, 0x59ad: 0x40619420, 0x59ae: 0x40619620, 0x59af: 0x40619820,\n\t0x59b0: 0x40619a20, 0x59b1: 0x40619c20, 0x59b2: 0x40619e20, 0x59b3: 0x4061a020,\n\t0x59b4: 0x4061a220, 0x59b5: 0x4061a420, 0x59b6: 0x4061a620, 0x59b7: 0x4061a820,\n\t0x59b8: 0x4061aa20, 0x59b9: 0x4061ac20, 0x59ba: 0x4061ae20, 0x59bb: 0x4061b020,\n\t0x59bc: 0x4061b220, 0x59bd: 0x4061b420, 0x59be: 0x4061b620, 0x59bf: 0x4061b820,\n\t// Block 0x167, offset 0x59c0\n\t0x59c0: 0x4061ba20, 0x59c1: 0x4061bc20, 0x59c2: 0x4061be20, 0x59c3: 0x4061c020,\n\t0x59c4: 0x4061c220, 0x59c5: 0x4061c420, 0x59c6: 0x4061c620, 0x59c7: 0x4061c820,\n\t0x59c8: 0x4061ca20, 0x59c9: 0x4061cc20, 0x59ca: 0x4061ce20, 0x59cb: 0x4061d020,\n\t0x59cc: 0x4061d220, 0x59cd: 0x4061d420, 0x59ce: 0x4061d620, 0x59cf: 0x4061d820,\n\t0x59d0: 0x4061da20, 0x59d1: 0x4061dc20, 0x59d2: 0x4061de20, 0x59d3: 0x4061e020,\n\t0x59d4: 0x4061e220, 0x59d5: 0x4061e420, 0x59d6: 0x4061e620, 0x59d7: 0x4061e820,\n\t0x59d8: 0x4061ea20, 0x59d9: 0x4061ec20, 0x59da: 0x4061ee20, 0x59db: 0x4061f020,\n\t0x59dc: 0x4061f220, 0x59dd: 0x4061f420, 0x59de: 0x4061f620, 0x59df: 0x4061f820,\n\t0x59e0: 0x4061fa20, 0x59e1: 0x4061fc20, 0x59e2: 0x4061fe20, 0x59e3: 0x40620020,\n\t0x59e4: 0x40620220, 0x59e5: 0x40620420, 0x59e6: 0x40620620, 0x59e7: 0x40620820,\n\t0x59e8: 0x40620a20, 0x59e9: 0x40620c20, 0x59ea: 0x40620e20, 0x59eb: 0x40621020,\n\t0x59ec: 0x40621220, 0x59ed: 0x40621420, 0x59ee: 0x40621620, 0x59ef: 0x40621820,\n\t0x59f0: 0x40621a20, 0x59f1: 0x40621c20, 0x59f2: 0x40621e20, 0x59f3: 0x40622020,\n\t0x59f4: 0x40622220, 0x59f5: 0x40622420, 0x59f6: 0x40622620, 0x59f7: 0x40622820,\n\t0x59f8: 0x40622a20, 0x59f9: 0x40622c20, 0x59fa: 0x40622e20, 0x59fb: 0x40623020,\n\t0x59fc: 0x40623220, 0x59fd: 0x40623420, 0x59fe: 0x40623620, 0x59ff: 0x40623820,\n\t// Block 0x168, offset 0x5a00\n\t0x5a00: 0x40623a20, 0x5a01: 0x40623c20, 0x5a02: 0x40623e20, 0x5a03: 0x40624020,\n\t0x5a04: 0x40624220, 0x5a05: 0x40624420, 0x5a06: 0x40624620, 0x5a07: 0x40624820,\n\t0x5a08: 0x40624a20, 0x5a09: 0x40624c20, 0x5a0a: 0x40624e20, 0x5a0b: 0x40625020,\n\t0x5a0c: 0x40625220, 0x5a0d: 0x40625420, 0x5a0e: 0x40625620, 0x5a0f: 0x40625820,\n\t0x5a10: 0x40625a20, 0x5a11: 0x40625c20, 0x5a12: 0x40625e20, 0x5a13: 0x40626020,\n\t0x5a14: 0x40626220, 0x5a15: 0x40626420, 0x5a16: 0x40626620, 0x5a17: 0x40626820,\n\t0x5a18: 0x40626a20, 0x5a19: 0x40626c20, 0x5a1a: 0x40626e20, 0x5a1b: 0x40627020,\n\t0x5a1c: 0x40627220, 0x5a1d: 0x40627420, 0x5a1e: 0x40627620, 0x5a1f: 0x40627820,\n\t0x5a20: 0x40627a20, 0x5a21: 0x40627c20, 0x5a22: 0x40627e20, 0x5a23: 0x40628020,\n\t0x5a24: 0x40628220, 0x5a25: 0x40628420, 0x5a26: 0x40628620, 0x5a27: 0x40628820,\n\t0x5a28: 0x40628a20, 0x5a29: 0x40628c20, 0x5a2a: 0x40628e20, 0x5a2b: 0x40629020,\n\t0x5a2c: 0x40629220, 0x5a2d: 0x40629420, 0x5a2e: 0x40629620, 0x5a2f: 0x40629820,\n\t0x5a30: 0x40629a20, 0x5a31: 0x40629c20, 0x5a32: 0x40629e20, 0x5a33: 0x4062a020,\n\t0x5a34: 0x4062a220, 0x5a35: 0x4062a420, 0x5a36: 0x4062a620, 0x5a37: 0x4062a820,\n\t0x5a38: 0x4062aa20,\n\t// Block 0x169, offset 0x5a40\n\t0x5a40: 0x406fb620, 0x5a41: 0x406fb820, 0x5a42: 0x406fba20, 0x5a43: 0x406fbc20,\n\t0x5a44: 0x406fbe20, 0x5a45: 0x406fc020, 0x5a46: 0x006fbe84, 0x5a47: 0x406fc220,\n\t0x5a48: 0x406fc420, 0x5a49: 0x406fc620, 0x5a4a: 0x406fc820, 0x5a4b: 0x406fca20,\n\t0x5a4c: 0x406fcc20, 0x5a4d: 0x406fce20, 0x5a4e: 0x406fd020, 0x5a4f: 0x406fd220,\n\t0x5a50: 0x406fd420, 0x5a51: 0x406fd620, 0x5a52: 0x406fd820, 0x5a53: 0x006fd484,\n\t0x5a54: 0x406fda20, 0x5a55: 0x406fdc20, 0x5a56: 0x406fde20, 0x5a57: 0x406fe020,\n\t0x5a58: 0x406fe220, 0x5a59: 0x406fe420, 0x5a5a: 0x406fe620, 0x5a5b: 0x406fe820,\n\t0x5a5c: 0x406fea20, 0x5a5d: 0x406fec20, 0x5a5e: 0x406fee20, 0x5a5f: 0x406ff020,\n\t0x5a60: 0x406ff220, 0x5a61: 0x406ff420, 0x5a62: 0x406ff620, 0x5a63: 0x406ff820,\n\t0x5a64: 0x406ffa20, 0x5a65: 0x006ff884, 0x5a66: 0x406ffc20, 0x5a67: 0x406ffe20,\n\t0x5a68: 0x40700020, 0x5a69: 0x40700220, 0x5a6a: 0x40700420, 0x5a6b: 0x40700620,\n\t0x5a6c: 0x40700820, 0x5a6d: 0x40700a20, 0x5a6e: 0x40700c20, 0x5a6f: 0x40700e20,\n\t0x5a70: 0x40701020, 0x5a71: 0x40701220, 0x5a72: 0x40701420, 0x5a73: 0x40701620,\n\t0x5a74: 0x40701820, 0x5a75: 0x40701a20, 0x5a76: 0x40701c20, 0x5a77: 0x40701e20,\n\t0x5a78: 0x40702020, 0x5a79: 0x40702220, 0x5a7a: 0x40702420, 0x5a7b: 0x40702620,\n\t0x5a7c: 0x40702820, 0x5a7d: 0x40702a20, 0x5a7e: 0x40702c20, 0x5a7f: 0x00702a84,\n\t// Block 0x16a, offset 0x5a80\n\t0x5a80: 0x40702e20, 0x5a81: 0x40703020, 0x5a82: 0x40703220, 0x5a83: 0x40703420,\n\t0x5a84: 0x40703620,\n\t0x5a90: 0x40703820, 0x5a91: 0x40703a20, 0x5a92: 0x40703c20, 0x5a93: 0x40703e20,\n\t0x5a94: 0x40704020, 0x5a95: 0x40704220, 0x5a96: 0x40704420, 0x5a97: 0x40704620,\n\t0x5a98: 0x40704820, 0x5a99: 0x40704a20, 0x5a9a: 0x40704c20, 0x5a9b: 0x40704e20,\n\t0x5a9c: 0x40705020, 0x5a9d: 0x40705220, 0x5a9e: 0x40705420, 0x5a9f: 0x40705620,\n\t0x5aa0: 0x40705820, 0x5aa1: 0x40705a20, 0x5aa2: 0x40705c20, 0x5aa3: 0x40705e20,\n\t0x5aa4: 0x40706020, 0x5aa5: 0x40706220, 0x5aa6: 0x40706420, 0x5aa7: 0x40706620,\n\t0x5aa8: 0x40706820, 0x5aa9: 0x40706a20, 0x5aaa: 0x40706c20, 0x5aab: 0x40706e20,\n\t0x5aac: 0x40707020, 0x5aad: 0x40707220, 0x5aae: 0x40707420, 0x5aaf: 0x40707620,\n\t0x5ab0: 0x40707820, 0x5ab1: 0x40707a20, 0x5ab2: 0x40707c20, 0x5ab3: 0x40707e20,\n\t0x5ab4: 0x40708020, 0x5ab5: 0x40708220, 0x5ab6: 0x40708420, 0x5ab7: 0x40708620,\n\t0x5ab8: 0x40708820, 0x5ab9: 0x40708a20, 0x5aba: 0x40708c20, 0x5abb: 0x40708e20,\n\t0x5abc: 0x40709020, 0x5abd: 0x40709220, 0x5abe: 0x40709420,\n\t// Block 0x16b, offset 0x5ac0\n\t0x5acf: 0x40709620,\n\t0x5ad0: 0x40709820, 0x5ad1: 0x40709a20, 0x5ad2: 0x40709c20, 0x5ad3: 0x40709e20,\n\t0x5ad4: 0x4070a020, 0x5ad5: 0x4070a220, 0x5ad6: 0x4070a420, 0x5ad7: 0x4070a620,\n\t0x5ad8: 0x4070a820, 0x5ad9: 0x4070aa20, 0x5ada: 0x4070ac20, 0x5adb: 0x4070ae20,\n\t0x5adc: 0x4070b020, 0x5add: 0x4070b220, 0x5ade: 0x4070b420, 0x5adf: 0x4070b620,\n\t// Block 0x16c, offset 0x5b00\n\t0x5b00: 0x00657c91, 0x5b01: 0x0065c28e,\n\t// Block 0x16d, offset 0x5b40\n\t0x5b40: 0x401ba420, 0x5b41: 0x401ba620, 0x5b42: 0x401ba820, 0x5b43: 0x401baa20,\n\t0x5b44: 0x401bac20, 0x5b45: 0x401bae20, 0x5b46: 0x401bb020, 0x5b47: 0x401bb220,\n\t0x5b48: 0x401bb420, 0x5b49: 0x401bb620, 0x5b4a: 0x401bb820, 0x5b4b: 0x401bba20,\n\t0x5b4c: 0x401bbc20, 0x5b4d: 0x401bbe20, 0x5b4e: 0x401bc020, 0x5b4f: 0x401bc220,\n\t0x5b50: 0x401bc420, 0x5b51: 0x401bc620, 0x5b52: 0x401bc820, 0x5b53: 0x401bca20,\n\t0x5b54: 0x401bcc20, 0x5b55: 0x401bce20, 0x5b56: 0x401bd020, 0x5b57: 0x401bd220,\n\t0x5b58: 0x401bd420, 0x5b59: 0x401bd620, 0x5b5a: 0x401bd820, 0x5b5b: 0x401bda20,\n\t0x5b5c: 0x401bdc20, 0x5b5d: 0x401bde20, 0x5b5e: 0x401be020, 0x5b5f: 0x401be220,\n\t0x5b60: 0x401be420, 0x5b61: 0x401be620, 0x5b62: 0x401be820, 0x5b63: 0x401bea20,\n\t0x5b64: 0x401bec20, 0x5b65: 0x401bee20, 0x5b66: 0x401bf020, 0x5b67: 0x401bf220,\n\t0x5b68: 0x401bf420, 0x5b69: 0x401bf620, 0x5b6a: 0x401bf820, 0x5b6b: 0x401bfa20,\n\t0x5b6c: 0x401bfc20, 0x5b6d: 0x401bfe20, 0x5b6e: 0x401c0020, 0x5b6f: 0x401c0220,\n\t0x5b70: 0x401c0420, 0x5b71: 0x401c0620, 0x5b72: 0x401c0820, 0x5b73: 0x401c0a20,\n\t0x5b74: 0x401c0c20, 0x5b75: 0x401c0e20, 0x5b76: 0x401c1020, 0x5b77: 0x401c1220,\n\t0x5b78: 0x401c1420, 0x5b79: 0x401c1620, 0x5b7a: 0x401c1820, 0x5b7b: 0x401c1a20,\n\t0x5b7c: 0x401c1c20, 0x5b7d: 0x401c1e20, 0x5b7e: 0x401c2020, 0x5b7f: 0x401c2220,\n\t// Block 0x16e, offset 0x5b80\n\t0x5b80: 0x401c2420, 0x5b81: 0x401c2620, 0x5b82: 0x401c2820, 0x5b83: 0x401c2a20,\n\t0x5b84: 0x401c2c20, 0x5b85: 0x401c2e20, 0x5b86: 0x401c3020, 0x5b87: 0x401c3220,\n\t0x5b88: 0x401c3420, 0x5b89: 0x401c3620, 0x5b8a: 0x401c3820, 0x5b8b: 0x401c3a20,\n\t0x5b8c: 0x401c3c20, 0x5b8d: 0x401c3e20, 0x5b8e: 0x401c4020, 0x5b8f: 0x401c4220,\n\t0x5b90: 0x401c4420, 0x5b91: 0x401c4620, 0x5b92: 0x401c4820, 0x5b93: 0x401c4a20,\n\t0x5b94: 0x401c4c20, 0x5b95: 0x401c4e20, 0x5b96: 0x401c5020, 0x5b97: 0x401c5220,\n\t0x5b98: 0x401c5420, 0x5b99: 0x401c5620, 0x5b9a: 0x401c5820, 0x5b9b: 0x401c5a20,\n\t0x5b9c: 0x401c5c20, 0x5b9d: 0x401c5e20, 0x5b9e: 0x401c6020, 0x5b9f: 0x401c6220,\n\t0x5ba0: 0x401c6420, 0x5ba1: 0x401c6620, 0x5ba2: 0x401c6820, 0x5ba3: 0x401c6a20,\n\t0x5ba4: 0x401c6c20, 0x5ba5: 0x401c6e20, 0x5ba6: 0x401c7020, 0x5ba7: 0x401c7220,\n\t0x5ba8: 0x401c7420, 0x5ba9: 0x401c7620, 0x5baa: 0x401c7820, 0x5bab: 0x401c7a20,\n\t0x5bac: 0x401c7c20, 0x5bad: 0x401c7e20, 0x5bae: 0x401c8020, 0x5baf: 0x401c8220,\n\t0x5bb0: 0x401c8420, 0x5bb1: 0x401c8620, 0x5bb2: 0x401c8820, 0x5bb3: 0x401c8a20,\n\t0x5bb4: 0x401c8c20, 0x5bb5: 0x401c8e20, 0x5bb6: 0x401c9020, 0x5bb7: 0x401c9220,\n\t0x5bb8: 0x401c9420, 0x5bb9: 0x401c9620, 0x5bba: 0x401c9820, 0x5bbb: 0x401c9a20,\n\t0x5bbc: 0x401c9c20, 0x5bbd: 0x401c9e20, 0x5bbe: 0x401ca020, 0x5bbf: 0x401ca220,\n\t// Block 0x16f, offset 0x5bc0\n\t0x5bc0: 0x401ca420, 0x5bc1: 0x401ca620, 0x5bc2: 0x401ca820, 0x5bc3: 0x401caa20,\n\t0x5bc4: 0x401cac20, 0x5bc5: 0x401cae20, 0x5bc6: 0x401cb020, 0x5bc7: 0x401cb220,\n\t0x5bc8: 0x401cb420, 0x5bc9: 0x401cb620, 0x5bca: 0x401cb820, 0x5bcb: 0x401cba20,\n\t0x5bcc: 0x401cbc20, 0x5bcd: 0x401cbe20, 0x5bce: 0x401cc020, 0x5bcf: 0x401cc220,\n\t0x5bd0: 0x401cc420, 0x5bd1: 0x401cc620, 0x5bd2: 0x401cc820, 0x5bd3: 0x401cca20,\n\t0x5bd4: 0x401ccc20, 0x5bd5: 0x401cce20, 0x5bd6: 0x401cd020, 0x5bd7: 0x401cd220,\n\t0x5bd8: 0x401cd420, 0x5bd9: 0x401cd620, 0x5bda: 0x401cd820, 0x5bdb: 0x401cda20,\n\t0x5bdc: 0x401cdc20, 0x5bdd: 0x401cde20, 0x5bde: 0x401ce020, 0x5bdf: 0x401ce220,\n\t0x5be0: 0x401ce420, 0x5be1: 0x401ce620, 0x5be2: 0x401ce820, 0x5be3: 0x401cea20,\n\t0x5be4: 0x401cec20, 0x5be5: 0x401cee20, 0x5be6: 0x401cf020, 0x5be7: 0x401cf220,\n\t0x5be8: 0x401cf420, 0x5be9: 0x401cf620, 0x5bea: 0x401cf820, 0x5beb: 0x401cfa20,\n\t0x5bec: 0x401cfc20, 0x5bed: 0x401cfe20, 0x5bee: 0x401d0020, 0x5bef: 0x401d0220,\n\t0x5bf0: 0x401d0420, 0x5bf1: 0x401d0620, 0x5bf2: 0x401d0820, 0x5bf3: 0x401d0a20,\n\t0x5bf4: 0x401d0c20, 0x5bf5: 0x401d0e20, 0x5bf6: 0x401d1020, 0x5bf7: 0x401d1220,\n\t0x5bf8: 0x401d1420, 0x5bf9: 0x401d1620, 0x5bfa: 0x401d1820, 0x5bfb: 0x401d1a20,\n\t0x5bfc: 0x401d1c20, 0x5bfd: 0x401d1e20, 0x5bfe: 0x401d2020, 0x5bff: 0x401d2220,\n\t// Block 0x170, offset 0x5c00\n\t0x5c00: 0x401d2420, 0x5c01: 0x401d2620, 0x5c02: 0x401d2820, 0x5c03: 0x401d2a20,\n\t0x5c04: 0x401d2c20, 0x5c05: 0x401d2e20, 0x5c06: 0x401d3020, 0x5c07: 0x401d3220,\n\t0x5c08: 0x401d3420, 0x5c09: 0x401d3620, 0x5c0a: 0x401d3820, 0x5c0b: 0x401d3a20,\n\t0x5c0c: 0x401d3c20, 0x5c0d: 0x401d3e20, 0x5c0e: 0x401d4020, 0x5c0f: 0x401d4220,\n\t0x5c10: 0x401d4420, 0x5c11: 0x401d4620, 0x5c12: 0x401d4820, 0x5c13: 0x401d4a20,\n\t0x5c14: 0x401d4c20, 0x5c15: 0x401d4e20, 0x5c16: 0x401d5020, 0x5c17: 0x401d5220,\n\t0x5c18: 0x401d5420, 0x5c19: 0x401d5620, 0x5c1a: 0x401d5820, 0x5c1b: 0x401d5a20,\n\t0x5c1c: 0x401d5c20, 0x5c1d: 0x401d5e20, 0x5c1e: 0x401d6020, 0x5c1f: 0x401d6220,\n\t0x5c20: 0x401d6420, 0x5c21: 0x401d6620, 0x5c22: 0x401d6820, 0x5c23: 0x401d6a20,\n\t0x5c24: 0x401d6c20, 0x5c25: 0x401d6e20, 0x5c26: 0x401d7020, 0x5c27: 0x401d7220,\n\t0x5c28: 0x401d7420, 0x5c29: 0x401d7620, 0x5c2a: 0x401d7820, 0x5c2b: 0x401d7a20,\n\t0x5c2c: 0x401d7c20, 0x5c2d: 0x401d7e20, 0x5c2e: 0x401d8020, 0x5c2f: 0x401d8220,\n\t0x5c30: 0x401d8420, 0x5c31: 0x401d8620, 0x5c32: 0x401d8820, 0x5c33: 0x401d8a20,\n\t0x5c34: 0x401d8c20, 0x5c35: 0x401d8e20,\n\t// Block 0x171, offset 0x5c40\n\t0x5c40: 0x401d9020, 0x5c41: 0x401d9220, 0x5c42: 0x401d9420, 0x5c43: 0x401d9620,\n\t0x5c44: 0x401d9820, 0x5c45: 0x401d9a20, 0x5c46: 0x401d9c20, 0x5c47: 0x401d9e20,\n\t0x5c48: 0x401da020, 0x5c49: 0x401da220, 0x5c4a: 0x401da420, 0x5c4b: 0x401da620,\n\t0x5c4c: 0x401da820, 0x5c4d: 0x401daa20, 0x5c4e: 0x401dac20, 0x5c4f: 0x401dae20,\n\t0x5c50: 0x401db020, 0x5c51: 0x401db220, 0x5c52: 0x401db420, 0x5c53: 0x401db620,\n\t0x5c54: 0x401db820, 0x5c55: 0x401dba20, 0x5c56: 0x401dbc20, 0x5c57: 0x401dbe20,\n\t0x5c58: 0x401dc020, 0x5c59: 0x401dc220, 0x5c5a: 0x401dc420, 0x5c5b: 0x401dc620,\n\t0x5c5c: 0x401dc820, 0x5c5d: 0x401dca20, 0x5c5e: 0x401dcc20, 0x5c5f: 0x401dce20,\n\t0x5c60: 0x401dd020, 0x5c61: 0x401dd220, 0x5c62: 0x401dd420, 0x5c63: 0x401dd620,\n\t0x5c64: 0x401dd820, 0x5c65: 0x401dda20, 0x5c66: 0x401ddc20,\n\t0x5c69: 0x401e0420, 0x5c6a: 0x401de420, 0x5c6b: 0x401de620,\n\t0x5c6c: 0x401de820, 0x5c6d: 0x401dea20, 0x5c6e: 0x401dec20, 0x5c6f: 0x401dee20,\n\t0x5c70: 0x401df020, 0x5c71: 0x401df220, 0x5c72: 0x401df420, 0x5c73: 0x401df620,\n\t0x5c74: 0x401df820, 0x5c75: 0x401dfa20, 0x5c76: 0x401dfc20, 0x5c77: 0x401dfe20,\n\t0x5c78: 0x401e0020, 0x5c79: 0x401e0220, 0x5c7a: 0x401e0620, 0x5c7b: 0x401e0820,\n\t0x5c7c: 0x401e0a20, 0x5c7d: 0x401e0c20, 0x5c7e: 0x401e0e20, 0x5c7f: 0x401e1020,\n\t// Block 0x172, offset 0x5c80\n\t0x5c80: 0x401e1220, 0x5c81: 0x401e1420, 0x5c82: 0x401e1620, 0x5c83: 0x401e1820,\n\t0x5c84: 0x401e1a20, 0x5c85: 0x401e1c20, 0x5c86: 0x401e1e20, 0x5c87: 0x401e2020,\n\t0x5c88: 0x401e2220, 0x5c89: 0x401e2420, 0x5c8a: 0x401e2620, 0x5c8b: 0x401e2820,\n\t0x5c8c: 0x401e2a20, 0x5c8d: 0x401e2c20, 0x5c8e: 0x401e2e20, 0x5c8f: 0x401e3020,\n\t0x5c90: 0x401e3220, 0x5c91: 0x401e3420, 0x5c92: 0x401e3620, 0x5c93: 0x401e3820,\n\t0x5c94: 0x401e3a20, 0x5c95: 0x401e3c20, 0x5c96: 0x401e3e20, 0x5c97: 0x401e4020,\n\t0x5c98: 0x401e4220, 0x5c99: 0x401e4420, 0x5c9a: 0x401e4620, 0x5c9b: 0x401e4820,\n\t0x5c9c: 0x401e4a20, 0x5c9d: 0x401e4c20, 0x5c9e: 0x401e4020, 0x5c9f: 0x401e4220,\n\t0x5ca0: 0x401e4220, 0x5ca1: 0x401e4220, 0x5ca2: 0x401e4220, 0x5ca3: 0x401e4220,\n\t0x5ca4: 0x401e4220, 0x5ca5: 0xad800000, 0x5ca6: 0xad800000, 0x5ca7: 0xa0100000,\n\t0x5ca8: 0xa0100000, 0x5ca9: 0xa0100000, 0x5caa: 0x401e4e20, 0x5cab: 0x401e5020,\n\t0x5cac: 0x401e5220, 0x5cad: 0xae200000, 0x5cae: 0xad800000, 0x5caf: 0xad800000,\n\t0x5cb0: 0xad800000, 0x5cb1: 0xad800000, 0x5cb2: 0xad800000, 0x5cb3: 0xa0000000,\n\t0x5cb4: 0xa0000000, 0x5cb5: 0xa0000000, 0x5cb6: 0xa0000000, 0x5cb7: 0xa0000000,\n\t0x5cb8: 0xa0000000, 0x5cb9: 0xa0000000, 0x5cba: 0xa0000000, 0x5cbb: 0xadc00000,\n\t0x5cbc: 0xadc00000, 0x5cbd: 0xadc00000, 0x5cbe: 0xadc00000, 0x5cbf: 0xadc00000,\n\t// Block 0x173, offset 0x5cc0\n\t0x5cc0: 0xadc00000, 0x5cc1: 0xadc00000, 0x5cc2: 0xadc00000, 0x5cc3: 0x401e5420,\n\t0x5cc4: 0x401e5620, 0x5cc5: 0xae600000, 0x5cc6: 0xae600000, 0x5cc7: 0xae600000,\n\t0x5cc8: 0xae600000, 0x5cc9: 0xae600000, 0x5cca: 0xadc00000, 0x5ccb: 0xadc00000,\n\t0x5ccc: 0x401e5820, 0x5ccd: 0x401e5a20, 0x5cce: 0x401e5c20, 0x5ccf: 0x401e5e20,\n\t0x5cd0: 0x401e6020, 0x5cd1: 0x401e6220, 0x5cd2: 0x401e6420, 0x5cd3: 0x401e6620,\n\t0x5cd4: 0x401e6820, 0x5cd5: 0x401e6a20, 0x5cd6: 0x401e6c20, 0x5cd7: 0x401e6e20,\n\t0x5cd8: 0x401e7020, 0x5cd9: 0x401e7220, 0x5cda: 0x401e7420, 0x5cdb: 0x401e7620,\n\t0x5cdc: 0x401e7820, 0x5cdd: 0x401e7a20, 0x5cde: 0x401e7c20, 0x5cdf: 0x401e7e20,\n\t0x5ce0: 0x401e8020, 0x5ce1: 0x401e8220, 0x5ce2: 0x401e8420, 0x5ce3: 0x401e8620,\n\t0x5ce4: 0x401e8820, 0x5ce5: 0x401e8a20, 0x5ce6: 0x401e8c20, 0x5ce7: 0x401e8e20,\n\t0x5ce8: 0x401e9020, 0x5ce9: 0x401e9220, 0x5cea: 0xae600000, 0x5ceb: 0xae600000,\n\t0x5cec: 0xae600000, 0x5ced: 0xae600000, 0x5cee: 0x401e9420, 0x5cef: 0x401e9620,\n\t0x5cf0: 0x401e9820, 0x5cf1: 0x401e9a20, 0x5cf2: 0x401e9c20, 0x5cf3: 0x401e9e20,\n\t0x5cf4: 0x401ea020, 0x5cf5: 0x401ea220, 0x5cf6: 0x401ea420, 0x5cf7: 0x401ea620,\n\t0x5cf8: 0x401ea820, 0x5cf9: 0x401eaa20, 0x5cfa: 0x401eac20, 0x5cfb: 0x401eaa20,\n\t0x5cfc: 0x401eac20, 0x5cfd: 0x401eaa20, 0x5cfe: 0x401eac20, 0x5cff: 0x401eaa20,\n\t// Block 0x174, offset 0x5d00\n\t0x5d00: 0x401eac20, 0x5d01: 0x401eae20, 0x5d02: 0x401eb020, 0x5d03: 0x401eb220,\n\t0x5d04: 0x401eb420, 0x5d05: 0x401eb620, 0x5d06: 0x401eb820, 0x5d07: 0x401eba20,\n\t0x5d08: 0x401ebc20, 0x5d09: 0x401ebe20, 0x5d0a: 0x401ec020, 0x5d0b: 0x401ec220,\n\t0x5d0c: 0x401ec420, 0x5d0d: 0x401ec620, 0x5d0e: 0x401ec820, 0x5d0f: 0x401eca20,\n\t0x5d10: 0x401ecc20, 0x5d11: 0x401ece20, 0x5d12: 0x401ed020, 0x5d13: 0x401ed220,\n\t0x5d14: 0x401ed420, 0x5d15: 0x401ed620, 0x5d16: 0x401ed820, 0x5d17: 0x401eda20,\n\t0x5d18: 0x401edc20, 0x5d19: 0x401ede20, 0x5d1a: 0x401ee020, 0x5d1b: 0x401ee220,\n\t0x5d1c: 0x401ee420, 0x5d1d: 0x401ee620,\n\t// Block 0x175, offset 0x5d40\n\t0x5d40: 0x401ee820, 0x5d41: 0x401eea20, 0x5d42: 0x401eec20, 0x5d43: 0x401eee20,\n\t0x5d44: 0x401ef020, 0x5d45: 0x401ef220, 0x5d46: 0x401ef420, 0x5d47: 0x401ef620,\n\t0x5d48: 0x401ef820, 0x5d49: 0x401efa20, 0x5d4a: 0x401efc20, 0x5d4b: 0x401efe20,\n\t0x5d4c: 0x401f0020, 0x5d4d: 0x401f0220, 0x5d4e: 0x401f0420, 0x5d4f: 0x401f0620,\n\t0x5d50: 0x401f0820, 0x5d51: 0x401f0a20, 0x5d52: 0x401f0c20, 0x5d53: 0x401f0e20,\n\t0x5d54: 0x401f1020, 0x5d55: 0x401f1220, 0x5d56: 0x401f1420, 0x5d57: 0x401f1620,\n\t0x5d58: 0x401f1820, 0x5d59: 0x401f1a20, 0x5d5a: 0x401f1c20, 0x5d5b: 0x401f1e20,\n\t0x5d5c: 0x401f2020, 0x5d5d: 0x401f2220, 0x5d5e: 0x401f2420, 0x5d5f: 0x401f2620,\n\t0x5d60: 0x401f2820, 0x5d61: 0x401f2a20, 0x5d62: 0x401f2c20, 0x5d63: 0x401f2e20,\n\t0x5d64: 0x401f3020, 0x5d65: 0x401f3220, 0x5d66: 0x401f3420, 0x5d67: 0x401f3620,\n\t0x5d68: 0x401f3820, 0x5d69: 0x401f3a20, 0x5d6a: 0x401f3c20, 0x5d6b: 0x401f3e20,\n\t0x5d6c: 0x401f4020, 0x5d6d: 0x401f4220, 0x5d6e: 0x401f4420, 0x5d6f: 0x401f4620,\n\t0x5d70: 0x401f4820, 0x5d71: 0x401f4a20, 0x5d72: 0x401f4c20, 0x5d73: 0x401f4e20,\n\t0x5d74: 0x401f5020, 0x5d75: 0x401f5220, 0x5d76: 0x401f5420, 0x5d77: 0x401f5620,\n\t0x5d78: 0x401f5820, 0x5d79: 0x401f5a20, 0x5d7a: 0x401f5c20, 0x5d7b: 0x401f5e20,\n\t0x5d7c: 0x401f6020, 0x5d7d: 0x401f6220, 0x5d7e: 0x401f6420, 0x5d7f: 0x401f6620,\n\t// Block 0x176, offset 0x5d80\n\t0x5d80: 0x401f6820, 0x5d81: 0x401f6a20, 0x5d82: 0xae600000, 0x5d83: 0xae600000,\n\t0x5d84: 0xae600000, 0x5d85: 0x401f6c20,\n\t// Block 0x177, offset 0x5dc0\n\t0x5dc0: 0x4019e220, 0x5dc1: 0x4019e420, 0x5dc2: 0x4019e620, 0x5dc3: 0x4019e820,\n\t0x5dc4: 0x4019ea20, 0x5dc5: 0x4019ec20, 0x5dc6: 0x4019ee20, 0x5dc7: 0x4019f020,\n\t0x5dc8: 0x4019f220, 0x5dc9: 0x4019f420, 0x5dca: 0x4019f620, 0x5dcb: 0x4019f820,\n\t0x5dcc: 0x4019fa20, 0x5dcd: 0x4019fc20, 0x5dce: 0x4019fe20, 0x5dcf: 0x401a0020,\n\t0x5dd0: 0x401a0220, 0x5dd1: 0x401a0420, 0x5dd2: 0x401a0620, 0x5dd3: 0x401a0820,\n\t0x5dd4: 0x401a0a20, 0x5dd5: 0x401a0c20, 0x5dd6: 0x401a0e20, 0x5dd7: 0x401a1020,\n\t0x5dd8: 0x401a1220, 0x5dd9: 0x401a1420, 0x5dda: 0x401a1620, 0x5ddb: 0x401a1820,\n\t0x5ddc: 0x401a1a20, 0x5ddd: 0x401a1c20, 0x5dde: 0x401a1e20, 0x5ddf: 0x401a2020,\n\t0x5de0: 0x401a2220, 0x5de1: 0x401a2420, 0x5de2: 0x401a2620, 0x5de3: 0x401a2820,\n\t0x5de4: 0x401a2a20, 0x5de5: 0x401a2c20, 0x5de6: 0x401a2e20, 0x5de7: 0x401a3020,\n\t0x5de8: 0x401a3220, 0x5de9: 0x401a3420, 0x5dea: 0x401a3620, 0x5deb: 0x401a3820,\n\t0x5dec: 0x401a3a20, 0x5ded: 0x401a3c20, 0x5dee: 0x401a3e20, 0x5def: 0x401a4020,\n\t0x5df0: 0x401a4220, 0x5df1: 0x401a4420, 0x5df2: 0x401a4620, 0x5df3: 0x401a4820,\n\t0x5df4: 0x401a4a20, 0x5df5: 0x401a4c20, 0x5df6: 0x401a4e20, 0x5df7: 0x401a5020,\n\t0x5df8: 0x401a5220, 0x5df9: 0x401a5420, 0x5dfa: 0x401a5620, 0x5dfb: 0x401a5820,\n\t0x5dfc: 0x401a5a20, 0x5dfd: 0x401a5c20, 0x5dfe: 0x401a5e20, 0x5dff: 0x401a6020,\n\t// Block 0x178, offset 0x5e00\n\t0x5e00: 0x401a6220, 0x5e01: 0x401a6420, 0x5e02: 0x401a6620, 0x5e03: 0x401a6820,\n\t0x5e04: 0x401a6a20, 0x5e05: 0x401a6c20, 0x5e06: 0x401a6e20, 0x5e07: 0x401a7020,\n\t0x5e08: 0x401a7220, 0x5e09: 0x401a7420, 0x5e0a: 0x401a7620, 0x5e0b: 0x401a7820,\n\t0x5e0c: 0x401a7a20, 0x5e0d: 0x401a7c20, 0x5e0e: 0x401a7e20, 0x5e0f: 0x401a8020,\n\t0x5e10: 0x401a8220, 0x5e11: 0x401a8420, 0x5e12: 0x401a8620, 0x5e13: 0x401a8820,\n\t0x5e14: 0x401a8a20, 0x5e15: 0x401a8c20, 0x5e16: 0x401a8e20,\n\t0x5e20: 0xe00002af, 0x5e21: 0xe00003ca, 0x5e22: 0xe00004a4, 0x5e23: 0xe0000576,\n\t0x5e24: 0xe000063d, 0x5e25: 0xe00006ed, 0x5e26: 0xe0000795, 0x5e27: 0xe000083e,\n\t0x5e28: 0xe00008e9, 0x5e29: 0x4029ba20, 0x5e2a: 0x4029bc20, 0x5e2b: 0x4029be20,\n\t0x5e2c: 0x4029c020, 0x5e2d: 0x4029c220, 0x5e2e: 0x4029c420, 0x5e2f: 0x4029c620,\n\t0x5e30: 0x4029c820, 0x5e31: 0x4029ca20,\n\t// Block 0x179, offset 0x5e40\n\t0x5e40: 0x002bde8b, 0x5e41: 0x002c0a8b, 0x5e42: 0x002c3a8b, 0x5e43: 0x002c628b,\n\t0x5e44: 0x002c988b, 0x5e45: 0x002d088b, 0x5e46: 0x002d228b, 0x5e47: 0x002d688b,\n\t0x5e48: 0x002d9a8b, 0x5e49: 0x002dcc8b, 0x5e4a: 0x002dfe8b, 0x5e4b: 0x002e228b,\n\t0x5e4c: 0x002e828b, 0x5e4d: 0x002e9e8b, 0x5e4e: 0x002ee28b, 0x5e4f: 0x002f2c8b,\n\t0x5e50: 0x002f568b, 0x5e51: 0x002f7a8b, 0x5e52: 0x002fe68b, 0x5e53: 0x00302c8b,\n\t0x5e54: 0x00306c8b, 0x5e55: 0x0030be8b, 0x5e56: 0x0030e28b, 0x5e57: 0x0030f68b,\n\t0x5e58: 0x0031008b, 0x5e59: 0x00312a8b, 0x5e5a: 0x002bde85, 0x5e5b: 0x002c0a85,\n\t0x5e5c: 0x002c3a85, 0x5e5d: 0x002c6285, 0x5e5e: 0x002c9885, 0x5e5f: 0x002d0885,\n\t0x5e60: 0x002d2285, 0x5e61: 0x002d6885, 0x5e62: 0x002d9a85, 0x5e63: 0x002dcc85,\n\t0x5e64: 0x002dfe85, 0x5e65: 0x002e2285, 0x5e66: 0x002e8285, 0x5e67: 0x002e9e85,\n\t0x5e68: 0x002ee285, 0x5e69: 0x002f2c85, 0x5e6a: 0x002f5685, 0x5e6b: 0x002f7a85,\n\t0x5e6c: 0x002fe685, 0x5e6d: 0x00302c85, 0x5e6e: 0x00306c85, 0x5e6f: 0x0030be85,\n\t0x5e70: 0x0030e285, 0x5e71: 0x0030f685, 0x5e72: 0x00310085, 0x5e73: 0x00312a85,\n\t0x5e74: 0x002bde8b, 0x5e75: 0x002c0a8b, 0x5e76: 0x002c3a8b, 0x5e77: 0x002c628b,\n\t0x5e78: 0x002c988b, 0x5e79: 0x002d088b, 0x5e7a: 0x002d228b, 0x5e7b: 0x002d688b,\n\t0x5e7c: 0x002d9a8b, 0x5e7d: 0x002dcc8b, 0x5e7e: 0x002dfe8b, 0x5e7f: 0x002e228b,\n\t// Block 0x17a, offset 0x5e80\n\t0x5e80: 0x002e828b, 0x5e81: 0x002e9e8b, 0x5e82: 0x002ee28b, 0x5e83: 0x002f2c8b,\n\t0x5e84: 0x002f568b, 0x5e85: 0x002f7a8b, 0x5e86: 0x002fe68b, 0x5e87: 0x00302c8b,\n\t0x5e88: 0x00306c8b, 0x5e89: 0x0030be8b, 0x5e8a: 0x0030e28b, 0x5e8b: 0x0030f68b,\n\t0x5e8c: 0x0031008b, 0x5e8d: 0x00312a8b, 0x5e8e: 0x002bde85, 0x5e8f: 0x002c0a85,\n\t0x5e90: 0x002c3a85, 0x5e91: 0x002c6285, 0x5e92: 0x002c9885, 0x5e93: 0x002d0885,\n\t0x5e94: 0x002d2285, 0x5e96: 0x002d9a85, 0x5e97: 0x002dcc85,\n\t0x5e98: 0x002dfe85, 0x5e99: 0x002e2285, 0x5e9a: 0x002e8285, 0x5e9b: 0x002e9e85,\n\t0x5e9c: 0x002ee285, 0x5e9d: 0x002f2c85, 0x5e9e: 0x002f5685, 0x5e9f: 0x002f7a85,\n\t0x5ea0: 0x002fe685, 0x5ea1: 0x00302c85, 0x5ea2: 0x00306c85, 0x5ea3: 0x0030be85,\n\t0x5ea4: 0x0030e285, 0x5ea5: 0x0030f685, 0x5ea6: 0x00310085, 0x5ea7: 0x00312a85,\n\t0x5ea8: 0x002bde8b, 0x5ea9: 0x002c0a8b, 0x5eaa: 0x002c3a8b, 0x5eab: 0x002c628b,\n\t0x5eac: 0x002c988b, 0x5ead: 0x002d088b, 0x5eae: 0x002d228b, 0x5eaf: 0x002d688b,\n\t0x5eb0: 0x002d9a8b, 0x5eb1: 0x002dcc8b, 0x5eb2: 0x002dfe8b, 0x5eb3: 0x002e228b,\n\t0x5eb4: 0x002e828b, 0x5eb5: 0x002e9e8b, 0x5eb6: 0x002ee28b, 0x5eb7: 0x002f2c8b,\n\t0x5eb8: 0x002f568b, 0x5eb9: 0x002f7a8b, 0x5eba: 0x002fe68b, 0x5ebb: 0x00302c8b,\n\t0x5ebc: 0x00306c8b, 0x5ebd: 0x0030be8b, 0x5ebe: 0x0030e28b, 0x5ebf: 0x0030f68b,\n\t// Block 0x17b, offset 0x5ec0\n\t0x5ec0: 0x0031008b, 0x5ec1: 0x00312a8b, 0x5ec2: 0x002bde85, 0x5ec3: 0x002c0a85,\n\t0x5ec4: 0x002c3a85, 0x5ec5: 0x002c6285, 0x5ec6: 0x002c9885, 0x5ec7: 0x002d0885,\n\t0x5ec8: 0x002d2285, 0x5ec9: 0x002d6885, 0x5eca: 0x002d9a85, 0x5ecb: 0x002dcc85,\n\t0x5ecc: 0x002dfe85, 0x5ecd: 0x002e2285, 0x5ece: 0x002e8285, 0x5ecf: 0x002e9e85,\n\t0x5ed0: 0x002ee285, 0x5ed1: 0x002f2c85, 0x5ed2: 0x002f5685, 0x5ed3: 0x002f7a85,\n\t0x5ed4: 0x002fe685, 0x5ed5: 0x00302c85, 0x5ed6: 0x00306c85, 0x5ed7: 0x0030be85,\n\t0x5ed8: 0x0030e285, 0x5ed9: 0x0030f685, 0x5eda: 0x00310085, 0x5edb: 0x00312a85,\n\t0x5edc: 0x002bde8b, 0x5ede: 0x002c3a8b, 0x5edf: 0x002c628b,\n\t0x5ee2: 0x002d228b,\n\t0x5ee5: 0x002dcc8b, 0x5ee6: 0x002dfe8b,\n\t0x5ee9: 0x002e9e8b, 0x5eea: 0x002ee28b, 0x5eeb: 0x002f2c8b,\n\t0x5eec: 0x002f568b, 0x5eee: 0x002fe68b, 0x5eef: 0x00302c8b,\n\t0x5ef0: 0x00306c8b, 0x5ef1: 0x0030be8b, 0x5ef2: 0x0030e28b, 0x5ef3: 0x0030f68b,\n\t0x5ef4: 0x0031008b, 0x5ef5: 0x00312a8b, 0x5ef6: 0x002bde85, 0x5ef7: 0x002c0a85,\n\t0x5ef8: 0x002c3a85, 0x5ef9: 0x002c6285, 0x5efb: 0x002d0885,\n\t0x5efd: 0x002d6885, 0x5efe: 0x002d9a85, 0x5eff: 0x002dcc85,\n\t// Block 0x17c, offset 0x5f00\n\t0x5f00: 0x002dfe85, 0x5f01: 0x002e2285, 0x5f02: 0x002e8285, 0x5f03: 0x002e9e85,\n\t0x5f05: 0x002f2c85, 0x5f06: 0x002f5685, 0x5f07: 0x002f7a85,\n\t0x5f08: 0x002fe685, 0x5f09: 0x00302c85, 0x5f0a: 0x00306c85, 0x5f0b: 0x0030be85,\n\t0x5f0c: 0x0030e285, 0x5f0d: 0x0030f685, 0x5f0e: 0x00310085, 0x5f0f: 0x00312a85,\n\t0x5f10: 0x002bde8b, 0x5f11: 0x002c0a8b, 0x5f12: 0x002c3a8b, 0x5f13: 0x002c628b,\n\t0x5f14: 0x002c988b, 0x5f15: 0x002d088b, 0x5f16: 0x002d228b, 0x5f17: 0x002d688b,\n\t0x5f18: 0x002d9a8b, 0x5f19: 0x002dcc8b, 0x5f1a: 0x002dfe8b, 0x5f1b: 0x002e228b,\n\t0x5f1c: 0x002e828b, 0x5f1d: 0x002e9e8b, 0x5f1e: 0x002ee28b, 0x5f1f: 0x002f2c8b,\n\t0x5f20: 0x002f568b, 0x5f21: 0x002f7a8b, 0x5f22: 0x002fe68b, 0x5f23: 0x00302c8b,\n\t0x5f24: 0x00306c8b, 0x5f25: 0x0030be8b, 0x5f26: 0x0030e28b, 0x5f27: 0x0030f68b,\n\t0x5f28: 0x0031008b, 0x5f29: 0x00312a8b, 0x5f2a: 0x002bde85, 0x5f2b: 0x002c0a85,\n\t0x5f2c: 0x002c3a85, 0x5f2d: 0x002c6285, 0x5f2e: 0x002c9885, 0x5f2f: 0x002d0885,\n\t0x5f30: 0x002d2285, 0x5f31: 0x002d6885, 0x5f32: 0x002d9a85, 0x5f33: 0x002dcc85,\n\t0x5f34: 0x002dfe85, 0x5f35: 0x002e2285, 0x5f36: 0x002e8285, 0x5f37: 0x002e9e85,\n\t0x5f38: 0x002ee285, 0x5f39: 0x002f2c85, 0x5f3a: 0x002f5685, 0x5f3b: 0x002f7a85,\n\t0x5f3c: 0x002fe685, 0x5f3d: 0x00302c85, 0x5f3e: 0x00306c85, 0x5f3f: 0x0030be85,\n\t// Block 0x17d, offset 0x5f40\n\t0x5f40: 0x0030e285, 0x5f41: 0x0030f685, 0x5f42: 0x00310085, 0x5f43: 0x00312a85,\n\t0x5f44: 0x002bde8b, 0x5f45: 0x002c0a8b, 0x5f47: 0x002c628b,\n\t0x5f48: 0x002c988b, 0x5f49: 0x002d088b, 0x5f4a: 0x002d228b,\n\t0x5f4d: 0x002dcc8b, 0x5f4e: 0x002dfe8b, 0x5f4f: 0x002e228b,\n\t0x5f50: 0x002e828b, 0x5f51: 0x002e9e8b, 0x5f52: 0x002ee28b, 0x5f53: 0x002f2c8b,\n\t0x5f54: 0x002f568b, 0x5f56: 0x002fe68b, 0x5f57: 0x00302c8b,\n\t0x5f58: 0x00306c8b, 0x5f59: 0x0030be8b, 0x5f5a: 0x0030e28b, 0x5f5b: 0x0030f68b,\n\t0x5f5c: 0x0031008b, 0x5f5e: 0x002bde85, 0x5f5f: 0x002c0a85,\n\t0x5f60: 0x002c3a85, 0x5f61: 0x002c6285, 0x5f62: 0x002c9885, 0x5f63: 0x002d0885,\n\t0x5f64: 0x002d2285, 0x5f65: 0x002d6885, 0x5f66: 0x002d9a85, 0x5f67: 0x002dcc85,\n\t0x5f68: 0x002dfe85, 0x5f69: 0x002e2285, 0x5f6a: 0x002e8285, 0x5f6b: 0x002e9e85,\n\t0x5f6c: 0x002ee285, 0x5f6d: 0x002f2c85, 0x5f6e: 0x002f5685, 0x5f6f: 0x002f7a85,\n\t0x5f70: 0x002fe685, 0x5f71: 0x00302c85, 0x5f72: 0x00306c85, 0x5f73: 0x0030be85,\n\t0x5f74: 0x0030e285, 0x5f75: 0x0030f685, 0x5f76: 0x00310085, 0x5f77: 0x00312a85,\n\t0x5f78: 0x002bde8b, 0x5f79: 0x002c0a8b, 0x5f7b: 0x002c628b,\n\t0x5f7c: 0x002c988b, 0x5f7d: 0x002d088b, 0x5f7e: 0x002d228b,\n\t// Block 0x17e, offset 0x5f80\n\t0x5f80: 0x002d9a8b, 0x5f81: 0x002dcc8b, 0x5f82: 0x002dfe8b, 0x5f83: 0x002e228b,\n\t0x5f84: 0x002e828b, 0x5f86: 0x002ee28b,\n\t0x5f8a: 0x002fe68b, 0x5f8b: 0x00302c8b,\n\t0x5f8c: 0x00306c8b, 0x5f8d: 0x0030be8b, 0x5f8e: 0x0030e28b, 0x5f8f: 0x0030f68b,\n\t0x5f90: 0x0031008b, 0x5f92: 0x002bde85, 0x5f93: 0x002c0a85,\n\t0x5f94: 0x002c3a85, 0x5f95: 0x002c6285, 0x5f96: 0x002c9885, 0x5f97: 0x002d0885,\n\t0x5f98: 0x002d2285, 0x5f99: 0x002d6885, 0x5f9a: 0x002d9a85, 0x5f9b: 0x002dcc85,\n\t0x5f9c: 0x002dfe85, 0x5f9d: 0x002e2285, 0x5f9e: 0x002e8285, 0x5f9f: 0x002e9e85,\n\t0x5fa0: 0x002ee285, 0x5fa1: 0x002f2c85, 0x5fa2: 0x002f5685, 0x5fa3: 0x002f7a85,\n\t0x5fa4: 0x002fe685, 0x5fa5: 0x00302c85, 0x5fa6: 0x00306c85, 0x5fa7: 0x0030be85,\n\t0x5fa8: 0x0030e285, 0x5fa9: 0x0030f685, 0x5faa: 0x00310085, 0x5fab: 0x00312a85,\n\t0x5fac: 0x002bde8b, 0x5fad: 0x002c0a8b, 0x5fae: 0x002c3a8b, 0x5faf: 0x002c628b,\n\t0x5fb0: 0x002c988b, 0x5fb1: 0x002d088b, 0x5fb2: 0x002d228b, 0x5fb3: 0x002d688b,\n\t0x5fb4: 0x002d9a8b, 0x5fb5: 0x002dcc8b, 0x5fb6: 0x002dfe8b, 0x5fb7: 0x002e228b,\n\t0x5fb8: 0x002e828b, 0x5fb9: 0x002e9e8b, 0x5fba: 0x002ee28b, 0x5fbb: 0x002f2c8b,\n\t0x5fbc: 0x002f568b, 0x5fbd: 0x002f7a8b, 0x5fbe: 0x002fe68b, 0x5fbf: 0x00302c8b,\n\t// Block 0x17f, offset 0x5fc0\n\t0x5fc0: 0x00306c8b, 0x5fc1: 0x0030be8b, 0x5fc2: 0x0030e28b, 0x5fc3: 0x0030f68b,\n\t0x5fc4: 0x0031008b, 0x5fc5: 0x00312a8b, 0x5fc6: 0x002bde85, 0x5fc7: 0x002c0a85,\n\t0x5fc8: 0x002c3a85, 0x5fc9: 0x002c6285, 0x5fca: 0x002c9885, 0x5fcb: 0x002d0885,\n\t0x5fcc: 0x002d2285, 0x5fcd: 0x002d6885, 0x5fce: 0x002d9a85, 0x5fcf: 0x002dcc85,\n\t0x5fd0: 0x002dfe85, 0x5fd1: 0x002e2285, 0x5fd2: 0x002e8285, 0x5fd3: 0x002e9e85,\n\t0x5fd4: 0x002ee285, 0x5fd5: 0x002f2c85, 0x5fd6: 0x002f5685, 0x5fd7: 0x002f7a85,\n\t0x5fd8: 0x002fe685, 0x5fd9: 0x00302c85, 0x5fda: 0x00306c85, 0x5fdb: 0x0030be85,\n\t0x5fdc: 0x0030e285, 0x5fdd: 0x0030f685, 0x5fde: 0x00310085, 0x5fdf: 0x00312a85,\n\t0x5fe0: 0x002bde8b, 0x5fe1: 0x002c0a8b, 0x5fe2: 0x002c3a8b, 0x5fe3: 0x002c628b,\n\t0x5fe4: 0x002c988b, 0x5fe5: 0x002d088b, 0x5fe6: 0x002d228b, 0x5fe7: 0x002d688b,\n\t0x5fe8: 0x002d9a8b, 0x5fe9: 0x002dcc8b, 0x5fea: 0x002dfe8b, 0x5feb: 0x002e228b,\n\t0x5fec: 0x002e828b, 0x5fed: 0x002e9e8b, 0x5fee: 0x002ee28b, 0x5fef: 0x002f2c8b,\n\t0x5ff0: 0x002f568b, 0x5ff1: 0x002f7a8b, 0x5ff2: 0x002fe68b, 0x5ff3: 0x00302c8b,\n\t0x5ff4: 0x00306c8b, 0x5ff5: 0x0030be8b, 0x5ff6: 0x0030e28b, 0x5ff7: 0x0030f68b,\n\t0x5ff8: 0x0031008b, 0x5ff9: 0x00312a8b, 0x5ffa: 0x002bde85, 0x5ffb: 0x002c0a85,\n\t0x5ffc: 0x002c3a85, 0x5ffd: 0x002c6285, 0x5ffe: 0x002c9885, 0x5fff: 0x002d0885,\n\t// Block 0x180, offset 0x6000\n\t0x6000: 0x002d2285, 0x6001: 0x002d6885, 0x6002: 0x002d9a85, 0x6003: 0x002dcc85,\n\t0x6004: 0x002dfe85, 0x6005: 0x002e2285, 0x6006: 0x002e8285, 0x6007: 0x002e9e85,\n\t0x6008: 0x002ee285, 0x6009: 0x002f2c85, 0x600a: 0x002f5685, 0x600b: 0x002f7a85,\n\t0x600c: 0x002fe685, 0x600d: 0x00302c85, 0x600e: 0x00306c85, 0x600f: 0x0030be85,\n\t0x6010: 0x0030e285, 0x6011: 0x0030f685, 0x6012: 0x00310085, 0x6013: 0x00312a85,\n\t0x6014: 0x002bde8b, 0x6015: 0x002c0a8b, 0x6016: 0x002c3a8b, 0x6017: 0x002c628b,\n\t0x6018: 0x002c988b, 0x6019: 0x002d088b, 0x601a: 0x002d228b, 0x601b: 0x002d688b,\n\t0x601c: 0x002d9a8b, 0x601d: 0x002dcc8b, 0x601e: 0x002dfe8b, 0x601f: 0x002e228b,\n\t0x6020: 0x002e828b, 0x6021: 0x002e9e8b, 0x6022: 0x002ee28b, 0x6023: 0x002f2c8b,\n\t0x6024: 0x002f568b, 0x6025: 0x002f7a8b, 0x6026: 0x002fe68b, 0x6027: 0x00302c8b,\n\t0x6028: 0x00306c8b, 0x6029: 0x0030be8b, 0x602a: 0x0030e28b, 0x602b: 0x0030f68b,\n\t0x602c: 0x0031008b, 0x602d: 0x00312a8b, 0x602e: 0x002bde85, 0x602f: 0x002c0a85,\n\t0x6030: 0x002c3a85, 0x6031: 0x002c6285, 0x6032: 0x002c9885, 0x6033: 0x002d0885,\n\t0x6034: 0x002d2285, 0x6035: 0x002d6885, 0x6036: 0x002d9a85, 0x6037: 0x002dcc85,\n\t0x6038: 0x002dfe85, 0x6039: 0x002e2285, 0x603a: 0x002e8285, 0x603b: 0x002e9e85,\n\t0x603c: 0x002ee285, 0x603d: 0x002f2c85, 0x603e: 0x002f5685, 0x603f: 0x002f7a85,\n\t// Block 0x181, offset 0x6040\n\t0x6040: 0x002fe685, 0x6041: 0x00302c85, 0x6042: 0x00306c85, 0x6043: 0x0030be85,\n\t0x6044: 0x0030e285, 0x6045: 0x0030f685, 0x6046: 0x00310085, 0x6047: 0x00312a85,\n\t0x6048: 0x002bde8b, 0x6049: 0x002c0a8b, 0x604a: 0x002c3a8b, 0x604b: 0x002c628b,\n\t0x604c: 0x002c988b, 0x604d: 0x002d088b, 0x604e: 0x002d228b, 0x604f: 0x002d688b,\n\t0x6050: 0x002d9a8b, 0x6051: 0x002dcc8b, 0x6052: 0x002dfe8b, 0x6053: 0x002e228b,\n\t0x6054: 0x002e828b, 0x6055: 0x002e9e8b, 0x6056: 0x002ee28b, 0x6057: 0x002f2c8b,\n\t0x6058: 0x002f568b, 0x6059: 0x002f7a8b, 0x605a: 0x002fe68b, 0x605b: 0x00302c8b,\n\t0x605c: 0x00306c8b, 0x605d: 0x0030be8b, 0x605e: 0x0030e28b, 0x605f: 0x0030f68b,\n\t0x6060: 0x0031008b, 0x6061: 0x00312a8b, 0x6062: 0x002bde85, 0x6063: 0x002c0a85,\n\t0x6064: 0x002c3a85, 0x6065: 0x002c6285, 0x6066: 0x002c9885, 0x6067: 0x002d0885,\n\t0x6068: 0x002d2285, 0x6069: 0x002d6885, 0x606a: 0x002d9a85, 0x606b: 0x002dcc85,\n\t0x606c: 0x002dfe85, 0x606d: 0x002e2285, 0x606e: 0x002e8285, 0x606f: 0x002e9e85,\n\t0x6070: 0x002ee285, 0x6071: 0x002f2c85, 0x6072: 0x002f5685, 0x6073: 0x002f7a85,\n\t0x6074: 0x002fe685, 0x6075: 0x00302c85, 0x6076: 0x00306c85, 0x6077: 0x0030be85,\n\t0x6078: 0x0030e285, 0x6079: 0x0030f685, 0x607a: 0x00310085, 0x607b: 0x00312a85,\n\t0x607c: 0x002bde8b, 0x607d: 0x002c0a8b, 0x607e: 0x002c3a8b, 0x607f: 0x002c628b,\n\t// Block 0x182, offset 0x6080\n\t0x6080: 0x002c988b, 0x6081: 0x002d088b, 0x6082: 0x002d228b, 0x6083: 0x002d688b,\n\t0x6084: 0x002d9a8b, 0x6085: 0x002dcc8b, 0x6086: 0x002dfe8b, 0x6087: 0x002e228b,\n\t0x6088: 0x002e828b, 0x6089: 0x002e9e8b, 0x608a: 0x002ee28b, 0x608b: 0x002f2c8b,\n\t0x608c: 0x002f568b, 0x608d: 0x002f7a8b, 0x608e: 0x002fe68b, 0x608f: 0x00302c8b,\n\t0x6090: 0x00306c8b, 0x6091: 0x0030be8b, 0x6092: 0x0030e28b, 0x6093: 0x0030f68b,\n\t0x6094: 0x0031008b, 0x6095: 0x00312a8b, 0x6096: 0x002bde85, 0x6097: 0x002c0a85,\n\t0x6098: 0x002c3a85, 0x6099: 0x002c6285, 0x609a: 0x002c9885, 0x609b: 0x002d0885,\n\t0x609c: 0x002d2285, 0x609d: 0x002d6885, 0x609e: 0x002d9a85, 0x609f: 0x002dcc85,\n\t0x60a0: 0x002dfe85, 0x60a1: 0x002e2285, 0x60a2: 0x002e8285, 0x60a3: 0x002e9e85,\n\t0x60a4: 0x002ee285, 0x60a5: 0x002f2c85, 0x60a6: 0x002f5685, 0x60a7: 0x002f7a85,\n\t0x60a8: 0x002fe685, 0x60a9: 0x00302c85, 0x60aa: 0x00306c85, 0x60ab: 0x0030be85,\n\t0x60ac: 0x0030e285, 0x60ad: 0x0030f685, 0x60ae: 0x00310085, 0x60af: 0x00312a85,\n\t0x60b0: 0x002bde8b, 0x60b1: 0x002c0a8b, 0x60b2: 0x002c3a8b, 0x60b3: 0x002c628b,\n\t0x60b4: 0x002c988b, 0x60b5: 0x002d088b, 0x60b6: 0x002d228b, 0x60b7: 0x002d688b,\n\t0x60b8: 0x002d9a8b, 0x60b9: 0x002dcc8b, 0x60ba: 0x002dfe8b, 0x60bb: 0x002e228b,\n\t0x60bc: 0x002e828b, 0x60bd: 0x002e9e8b, 0x60be: 0x002ee28b, 0x60bf: 0x002f2c8b,\n\t// Block 0x183, offset 0x60c0\n\t0x60c0: 0x002f568b, 0x60c1: 0x002f7a8b, 0x60c2: 0x002fe68b, 0x60c3: 0x00302c8b,\n\t0x60c4: 0x00306c8b, 0x60c5: 0x0030be8b, 0x60c6: 0x0030e28b, 0x60c7: 0x0030f68b,\n\t0x60c8: 0x0031008b, 0x60c9: 0x00312a8b, 0x60ca: 0x002bde85, 0x60cb: 0x002c0a85,\n\t0x60cc: 0x002c3a85, 0x60cd: 0x002c6285, 0x60ce: 0x002c9885, 0x60cf: 0x002d0885,\n\t0x60d0: 0x002d2285, 0x60d1: 0x002d6885, 0x60d2: 0x002d9a85, 0x60d3: 0x002dcc85,\n\t0x60d4: 0x002dfe85, 0x60d5: 0x002e2285, 0x60d6: 0x002e8285, 0x60d7: 0x002e9e85,\n\t0x60d8: 0x002ee285, 0x60d9: 0x002f2c85, 0x60da: 0x002f5685, 0x60db: 0x002f7a85,\n\t0x60dc: 0x002fe685, 0x60dd: 0x00302c85, 0x60de: 0x00306c85, 0x60df: 0x0030be85,\n\t0x60e0: 0x0030e285, 0x60e1: 0x0030f685, 0x60e2: 0x00310085, 0x60e3: 0x00312a85,\n\t0x60e4: 0x002da285, 0x60e5: 0x002dd485,\n\t0x60e8: 0x0032528b, 0x60e9: 0x0032548b, 0x60ea: 0x0032568b, 0x60eb: 0x00325a8b,\n\t0x60ec: 0x00325c8b, 0x60ed: 0x0032648b, 0x60ee: 0x0032688b, 0x60ef: 0x00326a8b,\n\t0x60f0: 0x00326c8b, 0x60f1: 0x0032708b, 0x60f2: 0x0032728b, 0x60f3: 0x0032768b,\n\t0x60f4: 0x0032788b, 0x60f5: 0x00327a8b, 0x60f6: 0x00327c8b, 0x60f7: 0x00327e8b,\n\t0x60f8: 0x0032888b, 0x60f9: 0x00326a8b, 0x60fa: 0x00328e8b, 0x60fb: 0x0032968b,\n\t0x60fc: 0x0032988b, 0x60fd: 0x00329a8b, 0x60fe: 0x00329c8b, 0x60ff: 0x00329e8b,\n\t// Block 0x184, offset 0x6100\n\t0x6100: 0x0032a28b, 0x6101: 0x00092485, 0x6102: 0x00325285, 0x6103: 0x00325485,\n\t0x6104: 0x00325685, 0x6105: 0x00325a85, 0x6106: 0x00325c85, 0x6107: 0x00326485,\n\t0x6108: 0x00326885, 0x6109: 0x00326a85, 0x610a: 0x00326c85, 0x610b: 0x00327085,\n\t0x610c: 0x00327285, 0x610d: 0x00327685, 0x610e: 0x00327885, 0x610f: 0x00327a85,\n\t0x6110: 0x00327c85, 0x6111: 0x00327e85, 0x6112: 0x00328885, 0x6113: 0x00328e85,\n\t0x6114: 0x00328e85, 0x6115: 0x00329685, 0x6116: 0x00329885, 0x6117: 0x00329a85,\n\t0x6118: 0x00329c85, 0x6119: 0x00329e85, 0x611a: 0x0032a285, 0x611b: 0x00091c85,\n\t0x611c: 0x00325c85, 0x611d: 0x00326a85, 0x611e: 0x00327085, 0x611f: 0x00329a85,\n\t0x6120: 0x00328885, 0x6121: 0x00327e85, 0x6122: 0x0032528b, 0x6123: 0x0032548b,\n\t0x6124: 0x0032568b, 0x6125: 0x00325a8b, 0x6126: 0x00325c8b, 0x6127: 0x0032648b,\n\t0x6128: 0x0032688b, 0x6129: 0x00326a8b, 0x612a: 0x00326c8b, 0x612b: 0x0032708b,\n\t0x612c: 0x0032728b, 0x612d: 0x0032768b, 0x612e: 0x0032788b, 0x612f: 0x00327a8b,\n\t0x6130: 0x00327c8b, 0x6131: 0x00327e8b, 0x6132: 0x0032888b, 0x6133: 0x00326a8b,\n\t0x6134: 0x00328e8b, 0x6135: 0x0032968b, 0x6136: 0x0032988b, 0x6137: 0x00329a8b,\n\t0x6138: 0x00329c8b, 0x6139: 0x00329e8b, 0x613a: 0x0032a28b, 0x613b: 0x00092485,\n\t0x613c: 0x00325285, 0x613d: 0x00325485, 0x613e: 0x00325685, 0x613f: 0x00325a85,\n\t// Block 0x185, offset 0x6140\n\t0x6140: 0x00325c85, 0x6141: 0x00326485, 0x6142: 0x00326885, 0x6143: 0x00326a85,\n\t0x6144: 0x00326c85, 0x6145: 0x00327085, 0x6146: 0x00327285, 0x6147: 0x00327685,\n\t0x6148: 0x00327885, 0x6149: 0x00327a85, 0x614a: 0x00327c85, 0x614b: 0x00327e85,\n\t0x614c: 0x00328885, 0x614d: 0x00328e85, 0x614e: 0x00328e85, 0x614f: 0x00329685,\n\t0x6150: 0x00329885, 0x6151: 0x00329a85, 0x6152: 0x00329c85, 0x6153: 0x00329e85,\n\t0x6154: 0x0032a285, 0x6155: 0x00091c85, 0x6156: 0x00325c85, 0x6157: 0x00326a85,\n\t0x6158: 0x00327085, 0x6159: 0x00329a85, 0x615a: 0x00328885, 0x615b: 0x00327e85,\n\t0x615c: 0x0032528b, 0x615d: 0x0032548b, 0x615e: 0x0032568b, 0x615f: 0x00325a8b,\n\t0x6160: 0x00325c8b, 0x6161: 0x0032648b, 0x6162: 0x0032688b, 0x6163: 0x00326a8b,\n\t0x6164: 0x00326c8b, 0x6165: 0x0032708b, 0x6166: 0x0032728b, 0x6167: 0x0032768b,\n\t0x6168: 0x0032788b, 0x6169: 0x00327a8b, 0x616a: 0x00327c8b, 0x616b: 0x00327e8b,\n\t0x616c: 0x0032888b, 0x616d: 0x00326a8b, 0x616e: 0x00328e8b, 0x616f: 0x0032968b,\n\t0x6170: 0x0032988b, 0x6171: 0x00329a8b, 0x6172: 0x00329c8b, 0x6173: 0x00329e8b,\n\t0x6174: 0x0032a28b, 0x6175: 0x00092485, 0x6176: 0x00325285, 0x6177: 0x00325485,\n\t0x6178: 0x00325685, 0x6179: 0x00325a85, 0x617a: 0x00325c85, 0x617b: 0x00326485,\n\t0x617c: 0x00326885, 0x617d: 0x00326a85, 0x617e: 0x00326c85, 0x617f: 0x00327085,\n\t// Block 0x186, offset 0x6180\n\t0x6180: 0x00327285, 0x6181: 0x00327685, 0x6182: 0x00327885, 0x6183: 0x00327a85,\n\t0x6184: 0x00327c85, 0x6185: 0x00327e85, 0x6186: 0x00328885, 0x6187: 0x00328e85,\n\t0x6188: 0x00328e85, 0x6189: 0x00329685, 0x618a: 0x00329885, 0x618b: 0x00329a85,\n\t0x618c: 0x00329c85, 0x618d: 0x00329e85, 0x618e: 0x0032a285, 0x618f: 0x00091c85,\n\t0x6190: 0x00325c85, 0x6191: 0x00326a85, 0x6192: 0x00327085, 0x6193: 0x00329a85,\n\t0x6194: 0x00328885, 0x6195: 0x00327e85, 0x6196: 0x0032528b, 0x6197: 0x0032548b,\n\t0x6198: 0x0032568b, 0x6199: 0x00325a8b, 0x619a: 0x00325c8b, 0x619b: 0x0032648b,\n\t0x619c: 0x0032688b, 0x619d: 0x00326a8b, 0x619e: 0x00326c8b, 0x619f: 0x0032708b,\n\t0x61a0: 0x0032728b, 0x61a1: 0x0032768b, 0x61a2: 0x0032788b, 0x61a3: 0x00327a8b,\n\t0x61a4: 0x00327c8b, 0x61a5: 0x00327e8b, 0x61a6: 0x0032888b, 0x61a7: 0x00326a8b,\n\t0x61a8: 0x00328e8b, 0x61a9: 0x0032968b, 0x61aa: 0x0032988b, 0x61ab: 0x00329a8b,\n\t0x61ac: 0x00329c8b, 0x61ad: 0x00329e8b, 0x61ae: 0x0032a28b, 0x61af: 0x00092485,\n\t0x61b0: 0x00325285, 0x61b1: 0x00325485, 0x61b2: 0x00325685, 0x61b3: 0x00325a85,\n\t0x61b4: 0x00325c85, 0x61b5: 0x00326485, 0x61b6: 0x00326885, 0x61b7: 0x00326a85,\n\t0x61b8: 0x00326c85, 0x61b9: 0x00327085, 0x61ba: 0x00327285, 0x61bb: 0x00327685,\n\t0x61bc: 0x00327885, 0x61bd: 0x00327a85, 0x61be: 0x00327c85, 0x61bf: 0x00327e85,\n\t// Block 0x187, offset 0x61c0\n\t0x61c0: 0x00328885, 0x61c1: 0x00328e85, 0x61c2: 0x00328e85, 0x61c3: 0x00329685,\n\t0x61c4: 0x00329885, 0x61c5: 0x00329a85, 0x61c6: 0x00329c85, 0x61c7: 0x00329e85,\n\t0x61c8: 0x0032a285, 0x61c9: 0x00091c85, 0x61ca: 0x00325c85, 0x61cb: 0x00326a85,\n\t0x61cc: 0x00327085, 0x61cd: 0x00329a85, 0x61ce: 0x00328885, 0x61cf: 0x00327e85,\n\t0x61d0: 0x0032528b, 0x61d1: 0x0032548b, 0x61d2: 0x0032568b, 0x61d3: 0x00325a8b,\n\t0x61d4: 0x00325c8b, 0x61d5: 0x0032648b, 0x61d6: 0x0032688b, 0x61d7: 0x00326a8b,\n\t0x61d8: 0x00326c8b, 0x61d9: 0x0032708b, 0x61da: 0x0032728b, 0x61db: 0x0032768b,\n\t0x61dc: 0x0032788b, 0x61dd: 0x00327a8b, 0x61de: 0x00327c8b, 0x61df: 0x00327e8b,\n\t0x61e0: 0x0032888b, 0x61e1: 0x00326a8b, 0x61e2: 0x00328e8b, 0x61e3: 0x0032968b,\n\t0x61e4: 0x0032988b, 0x61e5: 0x00329a8b, 0x61e6: 0x00329c8b, 0x61e7: 0x00329e8b,\n\t0x61e8: 0x0032a28b, 0x61e9: 0x00092485, 0x61ea: 0x00325285, 0x61eb: 0x00325485,\n\t0x61ec: 0x00325685, 0x61ed: 0x00325a85, 0x61ee: 0x00325c85, 0x61ef: 0x00326485,\n\t0x61f0: 0x00326885, 0x61f1: 0x00326a85, 0x61f2: 0x00326c85, 0x61f3: 0x00327085,\n\t0x61f4: 0x00327285, 0x61f5: 0x00327685, 0x61f6: 0x00327885, 0x61f7: 0x00327a85,\n\t0x61f8: 0x00327c85, 0x61f9: 0x00327e85, 0x61fa: 0x00328885, 0x61fb: 0x00328e85,\n\t0x61fc: 0x00328e85, 0x61fd: 0x00329685, 0x61fe: 0x00329885, 0x61ff: 0x00329a85,\n\t// Block 0x188, offset 0x6200\n\t0x6200: 0x00329c85, 0x6201: 0x00329e85, 0x6202: 0x0032a285, 0x6203: 0x00091c85,\n\t0x6204: 0x00325c85, 0x6205: 0x00326a85, 0x6206: 0x00327085, 0x6207: 0x00329a85,\n\t0x6208: 0x00328885, 0x6209: 0x00327e85, 0x620a: 0x00325e8b, 0x620b: 0x00325e85,\n\t0x620e: 0x0029cc85, 0x620f: 0x0029ce85,\n\t0x6210: 0x0029d085, 0x6211: 0x0029d285, 0x6212: 0x0029d485, 0x6213: 0x0029d685,\n\t0x6214: 0x0029d885, 0x6215: 0x0029da85, 0x6216: 0x0029dc85, 0x6217: 0x0029de85,\n\t0x6218: 0x0029cc85, 0x6219: 0x0029ce85, 0x621a: 0x0029d085, 0x621b: 0x0029d285,\n\t0x621c: 0x0029d485, 0x621d: 0x0029d685, 0x621e: 0x0029d885, 0x621f: 0x0029da85,\n\t0x6220: 0x0029dc85, 0x6221: 0x0029de85, 0x6222: 0x0029cc85, 0x6223: 0x0029ce85,\n\t0x6224: 0x0029d085, 0x6225: 0x0029d285, 0x6226: 0x0029d485, 0x6227: 0x0029d685,\n\t0x6228: 0x0029d885, 0x6229: 0x0029da85, 0x622a: 0x0029dc85, 0x622b: 0x0029de85,\n\t0x622c: 0x0029cc85, 0x622d: 0x0029ce85, 0x622e: 0x0029d085, 0x622f: 0x0029d285,\n\t0x6230: 0x0029d485, 0x6231: 0x0029d685, 0x6232: 0x0029d885, 0x6233: 0x0029da85,\n\t0x6234: 0x0029dc85, 0x6235: 0x0029de85, 0x6236: 0x0029cc85, 0x6237: 0x0029ce85,\n\t0x6238: 0x0029d085, 0x6239: 0x0029d285, 0x623a: 0x0029d485, 0x623b: 0x0029d685,\n\t0x623c: 0x0029d885, 0x623d: 0x0029da85, 0x623e: 0x0029dc85, 0x623f: 0x0029de85,\n\t// Block 0x189, offset 0x6240\n\t0x6240: 0x00393885, 0x6241: 0x00393c85, 0x6242: 0x00396485, 0x6243: 0x00398885,\n\t0x6245: 0x003a7485, 0x6246: 0x0039a685, 0x6247: 0x00397285,\n\t0x6248: 0x0039e685, 0x6249: 0x003a9085, 0x624a: 0x003a1a85, 0x624b: 0x003a4085,\n\t0x624c: 0x003a4e85, 0x624d: 0x003a5685, 0x624e: 0x0039c685, 0x624f: 0x0039ee85,\n\t0x6250: 0x0039fc85, 0x6251: 0x0039dc85, 0x6252: 0x003a1285, 0x6253: 0x0039a485,\n\t0x6254: 0x0039c885, 0x6255: 0x00395685, 0x6256: 0x00395885, 0x6257: 0x00397485,\n\t0x6258: 0x00398a85, 0x6259: 0x0039de85, 0x625a: 0x0039e885, 0x625b: 0x0039f085,\n\t0x625c: 0x00393a85, 0x625d: 0x003a5885, 0x625e: 0x0039fe85, 0x625f: 0x003a1085,\n\t0x6261: 0x00393c85, 0x6262: 0x00396485,\n\t0x6264: 0x003a6885, 0x6267: 0x00397285,\n\t0x6269: 0x003a9085, 0x626a: 0x003a1a85, 0x626b: 0x003a4085,\n\t0x626c: 0x003a4e85, 0x626d: 0x003a5685, 0x626e: 0x0039c685, 0x626f: 0x0039ee85,\n\t0x6270: 0x0039fc85, 0x6271: 0x0039dc85, 0x6272: 0x003a1285,\n\t0x6274: 0x0039c885, 0x6275: 0x00395685, 0x6276: 0x00395885, 0x6277: 0x00397485,\n\t0x6279: 0x0039de85, 0x627b: 0x0039f085,\n\t// Block 0x18a, offset 0x6280\n\t0x6282: 0x00396485,\n\t0x6287: 0x00397285,\n\t0x6289: 0x003a9085, 0x628b: 0x003a4085,\n\t0x628d: 0x003a5685, 0x628e: 0x0039c685, 0x628f: 0x0039ee85,\n\t0x6291: 0x0039dc85, 0x6292: 0x003a1285,\n\t0x6294: 0x0039c885, 0x6297: 0x00397485,\n\t0x6299: 0x0039de85, 0x629b: 0x0039f085,\n\t0x629d: 0x003a5885, 0x629f: 0x003a1085,\n\t0x62a1: 0x00393c85, 0x62a2: 0x00396485,\n\t0x62a4: 0x003a6885, 0x62a7: 0x00397285,\n\t0x62a8: 0x0039e685, 0x62a9: 0x003a9085, 0x62aa: 0x003a1a85,\n\t0x62ac: 0x003a4e85, 0x62ad: 0x003a5685, 0x62ae: 0x0039c685, 0x62af: 0x0039ee85,\n\t0x62b0: 0x0039fc85, 0x62b1: 0x0039dc85, 0x62b2: 0x003a1285,\n\t0x62b4: 0x0039c885, 0x62b5: 0x00395685, 0x62b6: 0x00395885, 0x62b7: 0x00397485,\n\t0x62b9: 0x0039de85, 0x62ba: 0x0039e885, 0x62bb: 0x0039f085,\n\t0x62bc: 0x00393a85, 0x62be: 0x0039fe85,\n\t// Block 0x18b, offset 0x62c0\n\t0x62c0: 0x00393885, 0x62c1: 0x00393c85, 0x62c2: 0x00396485, 0x62c3: 0x00398885,\n\t0x62c4: 0x003a6885, 0x62c5: 0x003a7485, 0x62c6: 0x0039a685, 0x62c7: 0x00397285,\n\t0x62c8: 0x0039e685, 0x62c9: 0x003a9085, 0x62cb: 0x003a4085,\n\t0x62cc: 0x003a4e85, 0x62cd: 0x003a5685, 0x62ce: 0x0039c685, 0x62cf: 0x0039ee85,\n\t0x62d0: 0x0039fc85, 0x62d1: 0x0039dc85, 0x62d2: 0x003a1285, 0x62d3: 0x0039a485,\n\t0x62d4: 0x0039c885, 0x62d5: 0x00395685, 0x62d6: 0x00395885, 0x62d7: 0x00397485,\n\t0x62d8: 0x00398a85, 0x62d9: 0x0039de85, 0x62da: 0x0039e885, 0x62db: 0x0039f085,\n\t0x62e1: 0x00393c85, 0x62e2: 0x00396485, 0x62e3: 0x00398885,\n\t0x62e5: 0x003a7485, 0x62e6: 0x0039a685, 0x62e7: 0x00397285,\n\t0x62e8: 0x0039e685, 0x62e9: 0x003a9085, 0x62eb: 0x003a4085,\n\t0x62ec: 0x003a4e85, 0x62ed: 0x003a5685, 0x62ee: 0x0039c685, 0x62ef: 0x0039ee85,\n\t0x62f0: 0x0039fc85, 0x62f1: 0x0039dc85, 0x62f2: 0x003a1285, 0x62f3: 0x0039a485,\n\t0x62f4: 0x0039c885, 0x62f5: 0x00395685, 0x62f6: 0x00395885, 0x62f7: 0x00397485,\n\t0x62f8: 0x00398a85, 0x62f9: 0x0039de85, 0x62fa: 0x0039e885, 0x62fb: 0x0039f085,\n\t// Block 0x18c, offset 0x6300\n\t0x6330: 0x40070a20, 0x6331: 0x40070c20,\n\t// Block 0x18d, offset 0x6340\n\t0x6340: 0x401f6e20, 0x6341: 0x401f7020, 0x6342: 0x401f7220, 0x6343: 0x401f7420,\n\t0x6344: 0x401f7620, 0x6345: 0x401f7820, 0x6346: 0x401f7a20, 0x6347: 0x401f7c20,\n\t0x6348: 0x401f7e20, 0x6349: 0x401f8020, 0x634a: 0x401f8220, 0x634b: 0x401f8420,\n\t0x634c: 0x401f8620, 0x634d: 0x401f8820, 0x634e: 0x401f8a20, 0x634f: 0x401f8c20,\n\t0x6350: 0x401f8e20, 0x6351: 0x401f9020, 0x6352: 0x401f9220, 0x6353: 0x401f9420,\n\t0x6354: 0x401f9620, 0x6355: 0x401f9820, 0x6356: 0x401f9a20, 0x6357: 0x401f9c20,\n\t0x6358: 0x401f9e20, 0x6359: 0x401fa020, 0x635a: 0x401fa220, 0x635b: 0x401fa420,\n\t0x635c: 0x401fa620, 0x635d: 0x401fa820, 0x635e: 0x401faa20, 0x635f: 0x401fac20,\n\t0x6360: 0x401fae20, 0x6361: 0x401fb020, 0x6362: 0x401fb220, 0x6363: 0x401fb420,\n\t0x6364: 0x401fb620, 0x6365: 0x401fb820, 0x6366: 0x401fba20, 0x6367: 0x401fbc20,\n\t0x6368: 0x401fbe20, 0x6369: 0x401fc020, 0x636a: 0x401fc220, 0x636b: 0x401fc420,\n\t0x6370: 0x401fc620, 0x6371: 0x401fc820, 0x6372: 0x401fca20, 0x6373: 0x401fcc20,\n\t0x6374: 0x401fce20, 0x6375: 0x401fd020, 0x6376: 0x401fd220, 0x6377: 0x401fd420,\n\t0x6378: 0x401fd620, 0x6379: 0x401fd820, 0x637a: 0x401fda20, 0x637b: 0x401fdc20,\n\t0x637c: 0x401fde20, 0x637d: 0x401fe020, 0x637e: 0x401fe220, 0x637f: 0x401fe420,\n\t// Block 0x18e, offset 0x6380\n\t0x6380: 0x401fe620, 0x6381: 0x401fe820, 0x6382: 0x401fea20, 0x6383: 0x401fec20,\n\t0x6384: 0x401fee20, 0x6385: 0x401ff020, 0x6386: 0x401ff220, 0x6387: 0x401ff420,\n\t0x6388: 0x401ff620, 0x6389: 0x401ff820, 0x638a: 0x401ffa20, 0x638b: 0x401ffc20,\n\t0x638c: 0x401ffe20, 0x638d: 0x40200020, 0x638e: 0x40200220, 0x638f: 0x40200420,\n\t0x6390: 0x40200620, 0x6391: 0x40200820, 0x6392: 0x40200a20, 0x6393: 0x40200c20,\n\t0x6394: 0x40200e20, 0x6395: 0x40201020, 0x6396: 0x40201220, 0x6397: 0x40201420,\n\t0x6398: 0x40201620, 0x6399: 0x40201820, 0x639a: 0x40201a20, 0x639b: 0x40201c20,\n\t0x639c: 0x40201e20, 0x639d: 0x40202020, 0x639e: 0x40202220, 0x639f: 0x40202420,\n\t0x63a0: 0x40202620, 0x63a1: 0x40202820, 0x63a2: 0x40202a20, 0x63a3: 0x40202c20,\n\t0x63a4: 0x40202e20, 0x63a5: 0x40203020, 0x63a6: 0x40203220, 0x63a7: 0x40203420,\n\t0x63a8: 0x40203620, 0x63a9: 0x40203820, 0x63aa: 0x40203a20, 0x63ab: 0x40203c20,\n\t0x63ac: 0x40203e20, 0x63ad: 0x40204020, 0x63ae: 0x40204220, 0x63af: 0x40204420,\n\t0x63b0: 0x40204620, 0x63b1: 0x40204820, 0x63b2: 0x40204a20, 0x63b3: 0x40204c20,\n\t0x63b4: 0x40204e20, 0x63b5: 0x40205020, 0x63b6: 0x40205220, 0x63b7: 0x40205420,\n\t0x63b8: 0x40205620, 0x63b9: 0x40205820, 0x63ba: 0x40205a20, 0x63bb: 0x40205c20,\n\t0x63bc: 0x40205e20, 0x63bd: 0x40206020, 0x63be: 0x40206220, 0x63bf: 0x40206420,\n\t// Block 0x18f, offset 0x63c0\n\t0x63c0: 0x40206620, 0x63c1: 0x40206820, 0x63c2: 0x40206a20, 0x63c3: 0x40206c20,\n\t0x63c4: 0x40206e20, 0x63c5: 0x40207020, 0x63c6: 0x40207220, 0x63c7: 0x40207420,\n\t0x63c8: 0x40207620, 0x63c9: 0x40207820, 0x63ca: 0x40207a20, 0x63cb: 0x40207c20,\n\t0x63cc: 0x40207e20, 0x63cd: 0x40208020, 0x63ce: 0x40208220, 0x63cf: 0x40208420,\n\t0x63d0: 0x40208620, 0x63d1: 0x40208820, 0x63d2: 0x40208a20, 0x63d3: 0x40208c20,\n\t0x63e0: 0x40208e20, 0x63e1: 0x40209020, 0x63e2: 0x40209220, 0x63e3: 0x40209420,\n\t0x63e4: 0x40209620, 0x63e5: 0x40209820, 0x63e6: 0x40209a20, 0x63e7: 0x40209c20,\n\t0x63e8: 0x40209e20, 0x63e9: 0x4020a020, 0x63ea: 0x4020a220, 0x63eb: 0x4020a420,\n\t0x63ec: 0x4020a620, 0x63ed: 0x4020a820, 0x63ee: 0x4020aa20,\n\t0x63f1: 0x4020ac20, 0x63f2: 0x4020ae20, 0x63f3: 0x4020b020,\n\t0x63f4: 0x4020b220, 0x63f5: 0x4020b420, 0x63f6: 0x4020b620, 0x63f7: 0x4020b820,\n\t0x63f8: 0x4020ba20, 0x63f9: 0x4020bc20, 0x63fa: 0x4020be20, 0x63fb: 0x4020c020,\n\t0x63fc: 0x4020c220, 0x63fd: 0x4020c420, 0x63fe: 0x4020c620,\n\t// Block 0x190, offset 0x6400\n\t0x6401: 0x4020c820, 0x6402: 0x4020ca20, 0x6403: 0x4020cc20,\n\t0x6404: 0x4020ce20, 0x6405: 0x4020d020, 0x6406: 0x4020d220, 0x6407: 0x4020d420,\n\t0x6408: 0x4020d620, 0x6409: 0x4020d820, 0x640a: 0x4020da20, 0x640b: 0x4020dc20,\n\t0x640c: 0x4020de20, 0x640d: 0x4020e020, 0x640e: 0x4020e220, 0x640f: 0x4020e420,\n\t0x6411: 0x4020e620, 0x6412: 0x4020e820, 0x6413: 0x4020ea20,\n\t0x6414: 0x4020ec20, 0x6415: 0x4020ee20, 0x6416: 0x4020f020, 0x6417: 0x4020f220,\n\t0x6418: 0x4020f420, 0x6419: 0x4020f620, 0x641a: 0x4020f820, 0x641b: 0x4020fa20,\n\t0x641c: 0x4020fc20, 0x641d: 0x4020fe20, 0x641e: 0x40210020, 0x641f: 0x40210220,\n\t// Block 0x191, offset 0x6440\n\t0x6440: 0xf0001f04, 0x6441: 0xf0001f04, 0x6442: 0xf0001f04, 0x6443: 0xf0001f04,\n\t0x6444: 0xf0001f04, 0x6445: 0xf0001f04, 0x6446: 0xf0001f04, 0x6447: 0xf0001f04,\n\t0x6448: 0xf0001f04, 0x6449: 0xf0001f04, 0x644a: 0xf0001f04,\n\t0x6450: 0xf0000a04, 0x6451: 0xf0000a04, 0x6452: 0xf0000a04, 0x6453: 0xf0000a04,\n\t0x6454: 0xf0000a04, 0x6455: 0xf0000a04, 0x6456: 0xf0000a04, 0x6457: 0xf0000a04,\n\t0x6458: 0xf0000a04, 0x6459: 0xf0000a04, 0x645a: 0xf0000a04, 0x645b: 0xf0000a04,\n\t0x645c: 0xf0000a04, 0x645d: 0xf0000a04, 0x645e: 0xf0000a04, 0x645f: 0xf0000a04,\n\t0x6460: 0xf0000a04, 0x6461: 0xf0000a04, 0x6462: 0xf0000a04, 0x6463: 0xf0000a04,\n\t0x6464: 0xf0000a04, 0x6465: 0xf0000a04, 0x6466: 0xf0000a04, 0x6467: 0xf0000a04,\n\t0x6468: 0xf0000a04, 0x6469: 0xf0000a04, 0x646a: 0xf0000a04, 0x646b: 0x002c3a8c,\n\t0x646c: 0x002f7a8c, 0x646d: 0xf0000c0c, 0x646e: 0xf0000c0c,\n\t0x6470: 0x002bde9d, 0x6471: 0x002c0a9d, 0x6472: 0x002c3a9d, 0x6473: 0x002c629d,\n\t0x6474: 0x002c989d, 0x6475: 0x002d089d, 0x6476: 0x002d229d, 0x6477: 0x002d689d,\n\t0x6478: 0x002d9a9d, 0x6479: 0x002dcc9d, 0x647a: 0x002dfe9d, 0x647b: 0x002e229d,\n\t0x647c: 0x002e829d, 0x647d: 0x002e9e9d, 0x647e: 0x002ee29d, 0x647f: 0x002f2c9d,\n\t// Block 0x192, offset 0x6480\n\t0x6480: 0x002f569d, 0x6481: 0x002f7a9d, 0x6482: 0x002fe69d, 0x6483: 0x00302c9d,\n\t0x6484: 0x00306c9d, 0x6485: 0x0030be9d, 0x6486: 0x0030e29d, 0x6487: 0x0030f69d,\n\t0x6488: 0x0031009d, 0x6489: 0x00312a9d, 0x648a: 0xf0001d1d, 0x648b: 0xf0001d1d,\n\t0x648c: 0xf0001d1d, 0x648d: 0xf0001d1d, 0x648e: 0xe0000ebc, 0x648f: 0xf0001d1d,\n\t0x6490: 0x002bde8c, 0x6491: 0x002c0a8c, 0x6492: 0x002c3a8c, 0x6493: 0x002c628c,\n\t0x6494: 0x002c988c, 0x6495: 0x002d088c, 0x6496: 0x002d228c, 0x6497: 0x002d688c,\n\t0x6498: 0x002d9a8c, 0x6499: 0x002dcc8c, 0x649a: 0x002dfe8c, 0x649b: 0x002e228c,\n\t0x649c: 0x002e828c, 0x649d: 0x002e9e8c, 0x649e: 0x002ee28c, 0x649f: 0x002f2c8c,\n\t0x64a0: 0x002f568c, 0x64a1: 0x002f7a8c, 0x64a2: 0x002fe68c, 0x64a3: 0x00302c8c,\n\t0x64a4: 0x00306c8c, 0x64a5: 0x0030be8c, 0x64a6: 0x0030e28c, 0x64a7: 0x0030f68c,\n\t0x64a8: 0x0031008c, 0x64a9: 0x00312a8c, 0x64aa: 0xf0001414, 0x64ab: 0xf0001414,\n\t0x64b0: 0x002bde9d, 0x64b1: 0x002c0a9d, 0x64b2: 0x002c3a9d, 0x64b3: 0x002c629d,\n\t0x64b4: 0x002c989d, 0x64b5: 0x002d089d, 0x64b6: 0x002d229d, 0x64b7: 0x002d689d,\n\t0x64b8: 0x002d9a9d, 0x64b9: 0x002dcc9d, 0x64ba: 0x002dfe9d, 0x64bb: 0x002e229d,\n\t0x64bc: 0x002e829d, 0x64bd: 0x002e9e9d, 0x64be: 0x002ee29d, 0x64bf: 0x002f2c9d,\n\t// Block 0x193, offset 0x64c0\n\t0x64c0: 0x002f569d, 0x64c1: 0x002f7a9d, 0x64c2: 0x002fe69d, 0x64c3: 0x00302c9d,\n\t0x64c4: 0x00306c9d, 0x64c5: 0x0030be9d, 0x64c6: 0x0030e29d, 0x64c7: 0x0030f69d,\n\t0x64c8: 0x0031009d, 0x64c9: 0x00312a9d, 0x64ca: 0x002f2c9d, 0x64cb: 0xe0000c81,\n\t0x64cc: 0xe0000eb5, 0x64cd: 0xe0000f74, 0x64ce: 0xe00009d2, 0x64cf: 0xe00010f0,\n\t0x64d0: 0xf0001d1d, 0x64d1: 0xe0000a6f, 0x64d2: 0xe0000a7e, 0x64d3: 0xe0000ba4,\n\t0x64d4: 0xe0000c84, 0x64d5: 0xe0000d8a, 0x64d6: 0xe0000d8e, 0x64d7: 0xe0000e9b,\n\t0x64d8: 0xe0000f77, 0x64d9: 0xe00010a2, 0x64da: 0xe00010c0,\n\t// Block 0x194, offset 0x6500\n\t0x6526: 0x40110c20, 0x6527: 0x40110e20,\n\t0x6528: 0x40111020, 0x6529: 0x40111220, 0x652a: 0x40111420, 0x652b: 0x40111620,\n\t0x652c: 0x40111820, 0x652d: 0x40111a20, 0x652e: 0x40111c20, 0x652f: 0x40111e20,\n\t0x6530: 0x40112020, 0x6531: 0x40112220, 0x6532: 0x40112420, 0x6533: 0x40112620,\n\t0x6534: 0x40112820, 0x6535: 0x40112a20, 0x6536: 0x40112c20, 0x6537: 0x40112e20,\n\t0x6538: 0x40113020, 0x6539: 0x40113220, 0x653a: 0x40113420, 0x653b: 0x40113620,\n\t0x653c: 0x40113820, 0x653d: 0x40113a20, 0x653e: 0x40113c20, 0x653f: 0x40113e20,\n\t// Block 0x195, offset 0x6540\n\t0x6540: 0xf0001c1c, 0x6541: 0xf0001c1c, 0x6542: 0x00658c9c,\n\t0x6550: 0x02c4969c, 0x6551: 0x02b6ae9c, 0x6552: 0x02a7989c, 0x6553: 0xf0001c1c,\n\t0x6554: 0x029d189c, 0x6555: 0x02b2349c, 0x6556: 0x0313c69c, 0x6557: 0x02b2529c,\n\t0x6558: 0x029d489c, 0x6559: 0x02cc409c, 0x655a: 0x02e2429c, 0x655b: 0x02cb329c,\n\t0x655c: 0x02a49a9c, 0x655d: 0x02bf189c, 0x655e: 0x02a31a9c, 0x655f: 0x02cb609c,\n\t0x6560: 0x02a43a9c, 0x6561: 0x02fa849c, 0x6562: 0x02ea3e9c, 0x6563: 0x0319529c,\n\t0x6564: 0x02b1e09c, 0x6565: 0x02a8729c, 0x6566: 0x02de289c, 0x6567: 0x02c52a9c,\n\t0x6568: 0x02c6aa9c, 0x6569: 0x029c009c, 0x656a: 0x029c129c, 0x656b: 0x0320949c,\n\t0x656c: 0x02bbcc9c, 0x656d: 0x029c5a9c, 0x656e: 0x02a7e69c, 0x656f: 0x02c60e9c,\n\t0x6570: 0x031ae09c, 0x6571: 0x02c4a69c, 0x6572: 0x02f3029c, 0x6573: 0x02f4f49c,\n\t0x6574: 0x02a8109c, 0x6575: 0x02dd009c, 0x6576: 0x02ce129c, 0x6577: 0x02ce109c,\n\t0x6578: 0x02ea669c, 0x6579: 0x02a4e49c, 0x657a: 0x02ab6c9c,\n\t// Block 0x196, offset 0x6580\n\t0x6580: 0xf0000404, 0x6581: 0xf0000404, 0x6582: 0xf0000404, 0x6583: 0xf0000404,\n\t0x6584: 0xf0000404, 0x6585: 0xf0000404, 0x6586: 0xf0000404, 0x6587: 0xf0000404,\n\t0x6588: 0xf0000404,\n\t0x6590: 0x02bf2e86, 0x6591: 0x02a7de86,\n\t// Block 0x197, offset 0x65c0\n\t0x65c0: 0x40210420, 0x65c1: 0x40210620, 0x65c2: 0x40210820, 0x65c3: 0x40210a20,\n\t0x65c4: 0x40210c20, 0x65c5: 0x40210e20, 0x65c6: 0x40211020, 0x65c7: 0x40211220,\n\t0x65c8: 0x40211420, 0x65c9: 0x40211620, 0x65ca: 0x40211820, 0x65cb: 0x40211a20,\n\t0x65cc: 0x40211c20, 0x65cd: 0x40211e20, 0x65ce: 0x40212020, 0x65cf: 0x40212220,\n\t0x65d0: 0x40212420, 0x65d1: 0x40212620, 0x65d2: 0x40212820, 0x65d3: 0x40212a20,\n\t0x65d4: 0x40212c20, 0x65d5: 0x40212e20, 0x65d6: 0x40213020, 0x65d7: 0x40213220,\n\t0x65d8: 0x40213420, 0x65d9: 0x40213620, 0x65da: 0x40213820, 0x65db: 0x40213a20,\n\t0x65dc: 0x40213c20, 0x65dd: 0x40213e20, 0x65de: 0x40214020, 0x65df: 0x40214220,\n\t0x65e0: 0x40214420,\n\t0x65f0: 0x40214620, 0x65f1: 0x40214820, 0x65f2: 0x40214a20, 0x65f3: 0x40214c20,\n\t0x65f4: 0x40214e20, 0x65f5: 0x40215020, 0x65f7: 0x40215220,\n\t0x65f8: 0x40215420, 0x65f9: 0x40215620, 0x65fa: 0x40215820, 0x65fb: 0x40215a20,\n\t0x65fc: 0x40215c20, 0x65fd: 0x40215e20, 0x65fe: 0x40216020, 0x65ff: 0x40216220,\n\t// Block 0x198, offset 0x6600\n\t0x6600: 0x40216420, 0x6601: 0x40216620, 0x6602: 0x40216820, 0x6603: 0x40216a20,\n\t0x6604: 0x40216c20, 0x6605: 0x40216e20, 0x6606: 0x40217020, 0x6607: 0x40217220,\n\t0x6608: 0x40217420, 0x6609: 0x40217620, 0x660a: 0x40217820, 0x660b: 0x40217a20,\n\t0x660c: 0x40217c20, 0x660d: 0x40217e20, 0x660e: 0x40218020, 0x660f: 0x40218220,\n\t0x6610: 0x40218420, 0x6611: 0x40218620, 0x6612: 0x40218820, 0x6613: 0x40218a20,\n\t0x6614: 0x40218c20, 0x6615: 0x40218e20, 0x6616: 0x40219020, 0x6617: 0x40219220,\n\t0x6618: 0x40219420, 0x6619: 0x40219620, 0x661a: 0x40219820, 0x661b: 0x40219a20,\n\t0x661c: 0x40219c20, 0x661d: 0x40219e20, 0x661e: 0x4021a020, 0x661f: 0x4021a220,\n\t0x6620: 0x4021a420, 0x6621: 0x4021a620, 0x6622: 0x4021a820, 0x6623: 0x4021aa20,\n\t0x6624: 0x4021ac20, 0x6625: 0x4021ae20, 0x6626: 0x4021b020, 0x6627: 0x4021b220,\n\t0x6628: 0x4021b420, 0x6629: 0x4021b620, 0x662a: 0x4021b820, 0x662b: 0x4021ba20,\n\t0x662c: 0x4021bc20, 0x662d: 0x4021be20, 0x662e: 0x4021c020, 0x662f: 0x4021c220,\n\t0x6630: 0x4021c420, 0x6631: 0x4021c620, 0x6632: 0x4021c820, 0x6633: 0x4021ca20,\n\t0x6634: 0x4021cc20, 0x6635: 0x4021ce20, 0x6636: 0x4021d020, 0x6637: 0x4021d220,\n\t0x6638: 0x4021d420, 0x6639: 0x4021d620, 0x663a: 0x4021d820, 0x663b: 0x4021da20,\n\t0x663c: 0x4021dc20,\n\t// Block 0x199, offset 0x6640\n\t0x6640: 0x4021de20, 0x6641: 0x4021e020, 0x6642: 0x4021e220, 0x6643: 0x4021e420,\n\t0x6644: 0x4021e620, 0x6645: 0x4021e820, 0x6646: 0x4021ea20, 0x6647: 0x4021ec20,\n\t0x6648: 0x4021ee20, 0x6649: 0x4021f020, 0x664a: 0x4021f220, 0x664b: 0x4021f420,\n\t0x664c: 0x4021f620, 0x664d: 0x4021f820, 0x664e: 0x4021fa20, 0x664f: 0x4021fc20,\n\t0x6650: 0x4021fe20, 0x6651: 0x40220020, 0x6652: 0x40220220, 0x6653: 0x40220420,\n\t0x6660: 0x40220620, 0x6661: 0x40220820, 0x6662: 0x40220a20, 0x6663: 0x40220c20,\n\t0x6664: 0x40220e20, 0x6665: 0x40221020, 0x6666: 0x40221220, 0x6667: 0x40221420,\n\t0x6668: 0x40221620, 0x6669: 0x40221820, 0x666a: 0x40221a20, 0x666b: 0x40221c20,\n\t0x666c: 0x40221e20, 0x666d: 0x40222020, 0x666e: 0x40222220, 0x666f: 0x40222420,\n\t0x6670: 0x40222620, 0x6671: 0x40222820, 0x6672: 0x40222a20, 0x6673: 0x40222c20,\n\t0x6674: 0x40222e20, 0x6675: 0x40223020, 0x6676: 0x40223220, 0x6677: 0x40223420,\n\t0x6678: 0x40223620, 0x6679: 0x40223820, 0x667a: 0x40223a20, 0x667b: 0x40223c20,\n\t0x667c: 0x40223e20, 0x667d: 0x40224020, 0x667e: 0x40224220, 0x667f: 0x40224420,\n\t// Block 0x19a, offset 0x6680\n\t0x6680: 0x40224620, 0x6681: 0x40224820, 0x6682: 0x40224a20, 0x6683: 0x40224c20,\n\t0x6684: 0x40224e20, 0x6686: 0x40225020, 0x6687: 0x40225220,\n\t0x6688: 0x40225420, 0x6689: 0x40225620, 0x668a: 0x40225820,\n\t0x66a0: 0x40225a20, 0x66a1: 0x40225c20, 0x66a2: 0x40225e20, 0x66a3: 0x40226020,\n\t0x66a4: 0x40226220, 0x66a5: 0x40226420, 0x66a6: 0x40226620, 0x66a7: 0x40226820,\n\t0x66a8: 0x40226a20, 0x66a9: 0x40226c20, 0x66aa: 0x40226e20, 0x66ab: 0x40227020,\n\t0x66ac: 0x40227220, 0x66ad: 0x40227420, 0x66ae: 0x40227620, 0x66af: 0x40227820,\n\t0x66b0: 0x40227a20,\n\t// Block 0x19b, offset 0x66c0\n\t0x66c0: 0x40227c20, 0x66c1: 0x40227e20, 0x66c2: 0x40228020, 0x66c3: 0x40228220,\n\t0x66c4: 0x40228420, 0x66c5: 0x40228620, 0x66c6: 0x40228820, 0x66c7: 0x40228a20,\n\t0x66c8: 0x40228c20, 0x66c9: 0x40228e20, 0x66ca: 0x40229020, 0x66cb: 0x40229220,\n\t0x66cc: 0x40229420, 0x66cd: 0x40229620, 0x66ce: 0x40229820, 0x66cf: 0x40229a20,\n\t0x66d0: 0x40229c20, 0x66d1: 0x40229e20, 0x66d2: 0x4022a020, 0x66d3: 0x4022a220,\n\t0x66d4: 0x4022a420, 0x66d5: 0x4022a620, 0x66d6: 0x4022a820, 0x66d7: 0x4022aa20,\n\t0x66d8: 0x4022ac20, 0x66d9: 0x4022ae20, 0x66da: 0x4022b020, 0x66db: 0x4022b220,\n\t0x66dc: 0x4022b420, 0x66dd: 0x4022b620, 0x66de: 0x4022b820, 0x66df: 0x4022ba20,\n\t0x66e0: 0x4022bc20, 0x66e1: 0x4022be20, 0x66e2: 0x4022c020, 0x66e3: 0x4022c220,\n\t0x66e4: 0x4022c420, 0x66e5: 0x4022c620, 0x66e6: 0x4022c820, 0x66e7: 0x4022ca20,\n\t0x66e8: 0x4022cc20, 0x66e9: 0x4022ce20, 0x66ea: 0x4022d020, 0x66eb: 0x4022d220,\n\t0x66ec: 0x4022d420, 0x66ed: 0x4022d620, 0x66ee: 0x4022d820, 0x66ef: 0x4022da20,\n\t0x66f0: 0x4022dc20, 0x66f1: 0x4022de20, 0x66f2: 0x4022e020, 0x66f3: 0x4022e220,\n\t0x66f4: 0x4022e420, 0x66f5: 0x4022e620, 0x66f6: 0x4022e820, 0x66f7: 0x4022ea20,\n\t0x66f8: 0x4022ec20, 0x66f9: 0x4022ee20, 0x66fa: 0x4022f020, 0x66fb: 0x4022f220,\n\t0x66fc: 0x4022f420, 0x66fd: 0x4022f620, 0x66fe: 0x4022f820,\n\t// Block 0x19c, offset 0x6700\n\t0x6700: 0x4022fa20, 0x6702: 0x4022fc20, 0x6703: 0x4022fe20,\n\t0x6704: 0x40230020, 0x6705: 0x40230220, 0x6706: 0x40230420, 0x6707: 0x40230620,\n\t0x6708: 0x40230820, 0x6709: 0x40230a20, 0x670a: 0x40230c20, 0x670b: 0x40230e20,\n\t0x670c: 0x40231020, 0x670d: 0x40231220, 0x670e: 0x40231420, 0x670f: 0x40231620,\n\t0x6710: 0x40231820, 0x6711: 0x40231a20, 0x6712: 0x40231c20, 0x6713: 0x40231e20,\n\t0x6714: 0x40232020, 0x6715: 0x40232220, 0x6716: 0x40232420, 0x6717: 0x40232620,\n\t0x6718: 0x40232820, 0x6719: 0x40232a20, 0x671a: 0x40232c20, 0x671b: 0x40232e20,\n\t0x671c: 0x40233020, 0x671d: 0x40233220, 0x671e: 0x40233420, 0x671f: 0x40233620,\n\t0x6720: 0x40233820, 0x6721: 0x40233a20, 0x6722: 0x40233c20, 0x6723: 0x40233e20,\n\t0x6724: 0x40234020, 0x6725: 0x40234220, 0x6726: 0x40234420, 0x6727: 0x40234620,\n\t0x6728: 0x40234820, 0x6729: 0x40234a20, 0x672a: 0x40234c20, 0x672b: 0x40234e20,\n\t0x672c: 0x40235020, 0x672d: 0x40235220, 0x672e: 0x40235420, 0x672f: 0x40235620,\n\t0x6730: 0x40235820, 0x6731: 0x40235a20, 0x6732: 0x40235c20, 0x6733: 0x40235e20,\n\t0x6734: 0x40236020, 0x6735: 0x40236220, 0x6736: 0x40236420, 0x6737: 0x40236620,\n\t0x6738: 0x40236820, 0x6739: 0x40236a20, 0x673a: 0x40236c20, 0x673b: 0x40236e20,\n\t0x673c: 0x40237020, 0x673d: 0x40237220, 0x673e: 0x40237420, 0x673f: 0x40237620,\n\t// Block 0x19d, offset 0x6740\n\t0x6740: 0x40237820, 0x6741: 0x40237a20, 0x6742: 0x40237c20, 0x6743: 0x40237e20,\n\t0x6744: 0x40238020, 0x6745: 0x40238220, 0x6746: 0x40238420, 0x6747: 0x40238620,\n\t0x6748: 0x40238820, 0x6749: 0x40238a20, 0x674a: 0x40238c20, 0x674b: 0x40238e20,\n\t0x674c: 0x40239020, 0x674d: 0x40239220, 0x674e: 0x40239420, 0x674f: 0x40239620,\n\t0x6750: 0x40239820, 0x6751: 0x40239a20, 0x6752: 0x40239c20, 0x6753: 0x40239e20,\n\t0x6754: 0x4023a020, 0x6755: 0x4023a220, 0x6756: 0x4023a420, 0x6757: 0x4023a620,\n\t0x6758: 0x4023a820, 0x6759: 0x4023aa20, 0x675a: 0x4023ac20, 0x675b: 0x4023ae20,\n\t0x675c: 0x4023b020, 0x675d: 0x4023b220, 0x675e: 0x4023b420, 0x675f: 0x4023b620,\n\t0x6760: 0x4023b820, 0x6761: 0x4023ba20, 0x6762: 0x4023bc20, 0x6763: 0x4023be20,\n\t0x6764: 0x4023c020, 0x6765: 0x4023c220, 0x6766: 0x4023c420, 0x6767: 0x4023c620,\n\t0x6768: 0x4023c820, 0x6769: 0x4023ca20, 0x676a: 0x4023cc20, 0x676b: 0x4023ce20,\n\t0x676c: 0x4023d020, 0x676d: 0x4023d220, 0x676e: 0x4023d420, 0x676f: 0x4023d620,\n\t0x6770: 0x4023d820, 0x6771: 0x4023da20, 0x6772: 0x4023dc20, 0x6773: 0x4023de20,\n\t0x6774: 0x4023e020, 0x6775: 0x4023e220, 0x6776: 0x4023e420, 0x6777: 0x4023e620,\n\t0x6778: 0x4023e820, 0x6779: 0x4023ea20, 0x677a: 0x4023ec20, 0x677b: 0x4023ee20,\n\t0x677c: 0x4023f020, 0x677d: 0x4023f220, 0x677e: 0x4023f420, 0x677f: 0x4023f620,\n\t// Block 0x19e, offset 0x6780\n\t0x6780: 0x4023f820, 0x6781: 0x4023fa20, 0x6782: 0x4023fc20, 0x6783: 0x4023fe20,\n\t0x6784: 0x40240020, 0x6785: 0x40240220, 0x6786: 0x40240420, 0x6787: 0x40240620,\n\t0x6788: 0x40240820, 0x6789: 0x40240a20, 0x678a: 0x40240c20, 0x678b: 0x40240e20,\n\t0x678c: 0x40241020, 0x678d: 0x40241220, 0x678e: 0x40241420, 0x678f: 0x40241620,\n\t0x6790: 0x40241820, 0x6791: 0x40241a20, 0x6792: 0x40241c20, 0x6793: 0x40241e20,\n\t0x6794: 0x40242020, 0x6795: 0x40242220, 0x6796: 0x40242420, 0x6797: 0x40242620,\n\t0x6798: 0x40242820, 0x6799: 0x40242a20, 0x679a: 0x40242c20, 0x679b: 0x40242e20,\n\t0x679c: 0x40243020, 0x679d: 0x40243220, 0x679e: 0x40243420, 0x679f: 0x40243620,\n\t0x67a0: 0x40243820, 0x67a1: 0x40243a20, 0x67a2: 0x40243c20, 0x67a3: 0x40243e20,\n\t0x67a4: 0x40244020, 0x67a5: 0x40244220, 0x67a6: 0x40244420, 0x67a7: 0x40244620,\n\t0x67a8: 0x40244820, 0x67a9: 0x40244a20, 0x67aa: 0x40244c20, 0x67ab: 0x40244e20,\n\t0x67ac: 0x40245020, 0x67ad: 0x40245220, 0x67ae: 0x40245420, 0x67af: 0x40245620,\n\t0x67b0: 0x40245820, 0x67b1: 0x40245a20, 0x67b2: 0x40245c20, 0x67b3: 0x40245e20,\n\t0x67b4: 0x40246020, 0x67b5: 0x40246220, 0x67b6: 0x40246420, 0x67b7: 0x40246620,\n\t0x67b9: 0x40246820, 0x67ba: 0x40246a20, 0x67bb: 0x40246c20,\n\t0x67bc: 0x40246e20,\n\t// Block 0x19f, offset 0x67c0\n\t0x67c0: 0x40247020, 0x67c1: 0x40247220, 0x67c2: 0x40247420, 0x67c3: 0x40247620,\n\t0x67c4: 0x40247820, 0x67c5: 0x40247a20, 0x67c6: 0x40247c20, 0x67c7: 0x40247e20,\n\t0x67c8: 0x40248020, 0x67c9: 0x40248220, 0x67ca: 0x40248420, 0x67cb: 0x40248620,\n\t0x67cc: 0x40248820, 0x67cd: 0x40248a20, 0x67ce: 0x40248c20, 0x67cf: 0x40248e20,\n\t0x67d0: 0x40249020, 0x67d1: 0x40249220, 0x67d2: 0x40249420, 0x67d3: 0x40249620,\n\t0x67d4: 0x40249820, 0x67d5: 0x40249a20, 0x67d6: 0x40249c20, 0x67d7: 0x40249e20,\n\t0x67d8: 0x4024a020, 0x67d9: 0x4024a220, 0x67da: 0x4024a420, 0x67db: 0x4024a620,\n\t0x67dc: 0x4024a820, 0x67dd: 0x4024aa20, 0x67de: 0x4024ac20, 0x67df: 0x4024ae20,\n\t0x67e0: 0x4024b020, 0x67e1: 0x4024b220, 0x67e2: 0x4024b420, 0x67e3: 0x4024b620,\n\t0x67e4: 0x4024b820, 0x67e5: 0x4024ba20, 0x67e6: 0x4024bc20, 0x67e7: 0x4024be20,\n\t0x67e8: 0x4024c020, 0x67e9: 0x4024c220, 0x67ea: 0x4024c420, 0x67eb: 0x4024c620,\n\t0x67ec: 0x4024c820, 0x67ed: 0x4024ca20, 0x67ee: 0x4024cc20, 0x67ef: 0x4024ce20,\n\t0x67f0: 0x4024d020, 0x67f1: 0x4024d220, 0x67f2: 0x4024d420, 0x67f3: 0x4024d620,\n\t0x67f4: 0x4024d820, 0x67f5: 0x4024da20, 0x67f6: 0x4024dc20, 0x67f7: 0x4024de20,\n\t0x67f8: 0x4024e020, 0x67f9: 0x4024e220, 0x67fa: 0x4024e420, 0x67fb: 0x4024e620,\n\t0x67fc: 0x4024e820, 0x67fd: 0x4024ea20,\n\t// Block 0x1a0, offset 0x6800\n\t0x6800: 0x4024ec20, 0x6801: 0x4024ee20, 0x6802: 0x4024f020, 0x6803: 0x4024f220,\n\t0x6810: 0x4024f420, 0x6811: 0x4024f620, 0x6812: 0x4024f820, 0x6813: 0x4024fa20,\n\t0x6814: 0x4024fc20, 0x6815: 0x4024fe20, 0x6816: 0x40250020, 0x6817: 0x40250220,\n\t0x6818: 0x40250420, 0x6819: 0x40250620, 0x681a: 0x40250820, 0x681b: 0x40250a20,\n\t0x681c: 0x40250c20, 0x681d: 0x40250e20, 0x681e: 0x40251020, 0x681f: 0x40251220,\n\t0x6820: 0x40251420, 0x6821: 0x40251620, 0x6822: 0x40251820, 0x6823: 0x40251a20,\n\t0x6824: 0x40251c20, 0x6825: 0x40251e20, 0x6826: 0x40252020, 0x6827: 0x40252220,\n\t// Block 0x1a1, offset 0x6840\n\t0x687b: 0x40252420,\n\t0x687c: 0x40252620, 0x687d: 0x40252820, 0x687e: 0x40252a20, 0x687f: 0x40252c20,\n\t// Block 0x1a2, offset 0x6880\n\t0x6880: 0x40252e20, 0x6881: 0x40253020, 0x6882: 0x40253220, 0x6883: 0x40253420,\n\t0x6884: 0x40253620, 0x6885: 0x40253820, 0x6886: 0x40253a20, 0x6887: 0x40253c20,\n\t0x6888: 0x40253e20, 0x6889: 0x40254020, 0x688a: 0x40254220, 0x688b: 0x40254420,\n\t0x688c: 0x40254620, 0x688d: 0x40254820, 0x688e: 0x40254a20, 0x688f: 0x40254c20,\n\t0x6890: 0x40254e20, 0x6891: 0x40255020, 0x6892: 0x40255220, 0x6893: 0x40255420,\n\t0x6894: 0x40255620, 0x6895: 0x40255820, 0x6896: 0x40255a20, 0x6897: 0x40255c20,\n\t0x6898: 0x40255e20, 0x6899: 0x40256020, 0x689a: 0x40256220, 0x689b: 0x40256420,\n\t0x689c: 0x40256620, 0x689d: 0x40256820, 0x689e: 0x40256a20, 0x689f: 0x40256c20,\n\t0x68a0: 0x40256e20, 0x68a1: 0x40257020, 0x68a2: 0x40257220, 0x68a3: 0x40257420,\n\t0x68a4: 0x40257620, 0x68a5: 0x40257820, 0x68a6: 0x40257a20, 0x68a7: 0x40257c20,\n\t0x68a8: 0x40257e20, 0x68a9: 0x40258020, 0x68aa: 0x40258220, 0x68ab: 0x40258420,\n\t0x68ac: 0x40258620, 0x68ad: 0x40258820, 0x68ae: 0x40258a20, 0x68af: 0x40258c20,\n\t0x68b0: 0x40258e20, 0x68b1: 0x40259020, 0x68b2: 0x40259220, 0x68b3: 0x40259420,\n\t0x68b4: 0x40259620, 0x68b5: 0x40259820, 0x68b6: 0x40259a20, 0x68b7: 0x40259c20,\n\t0x68b8: 0x40259e20, 0x68b9: 0x4025a020, 0x68ba: 0x4025a220, 0x68bb: 0x4025a420,\n\t0x68bc: 0x4025a620, 0x68bd: 0x4025a820, 0x68be: 0x4025aa20, 0x68bf: 0x4025ac20,\n\t// Block 0x1a3, offset 0x68c0\n\t0x68c0: 0x4025ae20,\n\t0x68c5: 0x4025b020, 0x68c6: 0x4025b220, 0x68c7: 0x4025b420,\n\t0x68c8: 0x4025b620, 0x68c9: 0x4025b820, 0x68ca: 0x4025ba20, 0x68cb: 0x4025bc20,\n\t0x68cc: 0x4025be20, 0x68cd: 0x4025c020, 0x68ce: 0x4025c220, 0x68cf: 0x4025c420,\n\t// Block 0x1a4, offset 0x6900\n\t0x6900: 0x4025c620, 0x6901: 0x4025c820, 0x6902: 0x4025ca20, 0x6903: 0x4025cc20,\n\t0x6904: 0x4025ce20, 0x6905: 0x4025d020, 0x6906: 0x4025d220, 0x6907: 0x4025d420,\n\t0x6908: 0x4025d620, 0x6909: 0x4025d820, 0x690a: 0x4025da20, 0x690b: 0x4025dc20,\n\t0x690c: 0x4025de20, 0x690d: 0x4025e020, 0x690e: 0x4025e220, 0x690f: 0x4025e420,\n\t0x6910: 0x4025e620, 0x6911: 0x4025e820, 0x6912: 0x4025ea20, 0x6913: 0x4025ec20,\n\t0x6914: 0x4025ee20, 0x6915: 0x4025f020, 0x6916: 0x4025f220, 0x6917: 0x4025f420,\n\t0x6918: 0x4025f620, 0x6919: 0x4025f820, 0x691a: 0x4025fa20, 0x691b: 0x4025fc20,\n\t0x691c: 0x4025fe20, 0x691d: 0x40260020, 0x691e: 0x40260220, 0x691f: 0x40260420,\n\t0x6920: 0x40260620, 0x6921: 0x40260820, 0x6922: 0x40260a20, 0x6923: 0x40260c20,\n\t0x6924: 0x40260e20, 0x6925: 0x40261020, 0x6926: 0x40261220, 0x6927: 0x40261420,\n\t0x6928: 0x40261620, 0x6929: 0x40261820, 0x692a: 0x40261a20, 0x692b: 0x40261c20,\n\t0x692c: 0x40261e20, 0x692d: 0x40262020, 0x692e: 0x40262220, 0x692f: 0x40262420,\n\t0x6930: 0x40262620, 0x6931: 0x40262820, 0x6932: 0x40262a20, 0x6933: 0x40262c20,\n\t0x6934: 0x40262e20, 0x6935: 0x40263020, 0x6936: 0x40263220, 0x6937: 0x40263420,\n\t0x6938: 0x40263620, 0x6939: 0x40263820, 0x693a: 0x40263a20, 0x693b: 0x40263c20,\n\t0x693c: 0x40263e20, 0x693d: 0x40264020, 0x693e: 0x40264220, 0x693f: 0x40264420,\n\t// Block 0x1a5, offset 0x6940\n\t0x6940: 0x40264620, 0x6941: 0x40264820, 0x6942: 0x40264a20, 0x6943: 0x40264c20,\n\t0x6944: 0x40264e20, 0x6945: 0x40265020,\n\t// Block 0x1a6, offset 0x6980\n\t0x6980: 0x40265220, 0x6981: 0x40265420, 0x6982: 0x40265620, 0x6983: 0x40265820,\n\t0x6984: 0x40265a20, 0x6985: 0x40265c20, 0x6986: 0x40265e20, 0x6987: 0x40266020,\n\t0x6988: 0x40266220, 0x6989: 0x40266420, 0x698a: 0x40266620, 0x698b: 0x40266820,\n\t0x698c: 0x40266a20, 0x698d: 0x40266c20, 0x698e: 0x40266e20, 0x698f: 0x40267020,\n\t0x6990: 0x40267220, 0x6991: 0x40267420, 0x6992: 0x40267620, 0x6993: 0x40267820,\n\t0x6994: 0x40267a20, 0x6995: 0x40267c20, 0x6996: 0x40267e20, 0x6997: 0x40268020,\n\t0x6998: 0x40268220, 0x6999: 0x40268420, 0x699a: 0x40268620, 0x699b: 0x40268820,\n\t0x699c: 0x40268a20, 0x699d: 0x40268c20, 0x699e: 0x40268e20, 0x699f: 0x40269020,\n\t0x69a0: 0x40269220, 0x69a1: 0x40269420, 0x69a2: 0x40269620, 0x69a3: 0x40269820,\n\t0x69a4: 0x40269a20, 0x69a5: 0x40269c20, 0x69a6: 0x40269e20, 0x69a7: 0x4026a020,\n\t0x69a8: 0x4026a220, 0x69a9: 0x4026a420, 0x69aa: 0x4026a620, 0x69ab: 0x4026a820,\n\t0x69ac: 0x4026aa20, 0x69ad: 0x4026ac20, 0x69ae: 0x4026ae20, 0x69af: 0x4026b020,\n\t0x69b0: 0x4026b220, 0x69b1: 0x4026b420, 0x69b2: 0x4026b620, 0x69b3: 0x4026b820,\n\t0x69b4: 0x4026ba20, 0x69b5: 0x4026bc20, 0x69b6: 0x4026be20, 0x69b7: 0x4026c020,\n\t0x69b8: 0x4026c220, 0x69b9: 0x4026c420, 0x69ba: 0x4026c620, 0x69bb: 0x4026c820,\n\t0x69bc: 0x4026ca20, 0x69bd: 0x4026cc20, 0x69be: 0x4026ce20, 0x69bf: 0x4026d020,\n\t// Block 0x1a7, offset 0x69c0\n\t0x69c0: 0x4026d220, 0x69c1: 0x4026d420, 0x69c2: 0x4026d620, 0x69c3: 0x4026d820,\n\t0x69c4: 0x4026da20, 0x69c5: 0x4026dc20, 0x69c6: 0x4026de20, 0x69c7: 0x4026e020,\n\t0x69c8: 0x4026e220, 0x69c9: 0x4026e420, 0x69ca: 0x4026e620, 0x69cb: 0x4026e820,\n\t0x69cc: 0x4026ea20, 0x69cd: 0x4026ec20, 0x69ce: 0x4026ee20, 0x69cf: 0x4026f020,\n\t0x69d0: 0x4026f220, 0x69d1: 0x4026f420, 0x69d2: 0x4026f620, 0x69d3: 0x4026f820,\n\t0x69d4: 0x4026fa20, 0x69d5: 0x4026fc20, 0x69d6: 0x4026fe20, 0x69d7: 0x40270020,\n\t0x69d8: 0x40270220, 0x69d9: 0x40270420, 0x69da: 0x40270620, 0x69db: 0x40270820,\n\t0x69dc: 0x40270a20, 0x69dd: 0x40270c20, 0x69de: 0x40270e20, 0x69df: 0x40271020,\n\t0x69e0: 0x40271220, 0x69e1: 0x40271420, 0x69e2: 0x40271620, 0x69e3: 0x40271820,\n\t0x69e4: 0x40271a20, 0x69e5: 0x40271c20, 0x69e6: 0x40271e20, 0x69e7: 0x40272020,\n\t0x69e8: 0x40272220, 0x69e9: 0x40272420, 0x69ea: 0x40272620, 0x69eb: 0x40272820,\n\t0x69ec: 0x40272a20, 0x69ed: 0x40272c20, 0x69ee: 0x40272e20, 0x69ef: 0x40273020,\n\t0x69f0: 0x40273220, 0x69f1: 0x40273420, 0x69f2: 0x40273620, 0x69f3: 0x40273820,\n\t// Block 0x1a8, offset 0x6a00\n\t0x6a00: 0x429c7a20, 0x6a01: 0x429c7020, 0x6a02: 0x429c8220, 0x6a03: 0x48024420,\n\t0x6a04: 0x429ec020, 0x6a05: 0x429f5c20, 0x6a06: 0x429f7620, 0x6a07: 0x42a00420,\n\t0x6a08: 0x42a0f420, 0x6a09: 0x42a13220, 0x6a0a: 0x42a1ce20, 0x6a0b: 0x42a19e20,\n\t0x6a0c: 0x44693c20, 0x6a0d: 0x480c7420, 0x6a0e: 0x42a29a20, 0x6a0f: 0x42a2a820,\n\t0x6a10: 0x42a2c820, 0x6a11: 0x42a2ee20, 0x6a12: 0x480a3820, 0x6a13: 0x44697220,\n\t0x6a14: 0x42a2ce20, 0x6a15: 0x42a31a20, 0x6a16: 0x480a9620, 0x6a17: 0x42a32e20,\n\t0x6a18: 0x42a34820, 0x6a19: 0x429d9820, 0x6a1a: 0x42a35820, 0x6a1b: 0x42a36a20,\n\t0x6a1c: 0x4923be20, 0x6a1d: 0x42a3ea20, 0x6a1e: 0x42a40620, 0x6a1f: 0x4469be20,\n\t0x6a20: 0x42a47620, 0x6a21: 0x42a48c20, 0x6a22: 0x42a4e420, 0x6a23: 0x42a4ee20,\n\t0x6a24: 0x446a2a20, 0x6a25: 0x42a58e20, 0x6a26: 0x42a59220, 0x6a27: 0x42a5c820,\n\t0x6a28: 0x42a5f420, 0x6a29: 0x42a60a20, 0x6a2a: 0x42a60c20, 0x6a2b: 0x42a62e20,\n\t0x6a2c: 0x42a69220, 0x6a2d: 0x42a6a220, 0x6a2e: 0x42a6b420, 0x6a2f: 0x42a6e620,\n\t0x6a30: 0x42a6fa20, 0x6a31: 0x42a6fe20, 0x6a32: 0x42a6fe20, 0x6a33: 0x42a6fe20,\n\t0x6a34: 0x48145820, 0x6a35: 0x42e0e020, 0x6a36: 0x42a79420, 0x6a37: 0x42a7be20,\n\t0x6a38: 0x4816c620, 0x6a39: 0x42a7d620, 0x6a3a: 0x42a7e220, 0x6a3b: 0x42a80c20,\n\t0x6a3c: 0x42a93c20, 0x6a3d: 0x42a87020, 0x6a3e: 0x42a89020, 0x6a3f: 0x42a8d020,\n\t// Block 0x1a9, offset 0x6a40\n\t0x6a40: 0x42a94420, 0x6a41: 0x42a9ec20, 0x6a42: 0x42aa2020, 0x6a43: 0x42aaa620,\n\t0x6a44: 0x42aac620, 0x6a45: 0x42ab0820, 0x6a46: 0x42ab0820, 0x6a47: 0x42ab3220,\n\t0x6a48: 0x42ab5620, 0x6a49: 0x42ab6620, 0x6a4a: 0x42ab8420, 0x6a4b: 0x42ae2c20,\n\t0x6a4c: 0x42ac0c20, 0x6a4d: 0x42ae2e20, 0x6a4e: 0x42aca220, 0x6a4f: 0x42ace820,\n\t0x6a50: 0x42a40e20, 0x6a51: 0x42b1dc20, 0x6a52: 0x42af9c20, 0x6a53: 0x42afe820,\n\t0x6a54: 0x42b01a20, 0x6a55: 0x42af1620, 0x6a56: 0x42b06420, 0x6a57: 0x42b06220,\n\t0x6a58: 0x42b15820, 0x6a59: 0x4829c820, 0x6a5a: 0x42b1e420, 0x6a5b: 0x42b1ee20,\n\t0x6a5c: 0x42b20c20, 0x6a5d: 0x42b23420, 0x6a5e: 0x42b24420, 0x6a5f: 0x42b2c420,\n\t0x6a60: 0x482d5020, 0x6a61: 0x482dd420, 0x6a62: 0x42b3d820, 0x6a63: 0x42b43620,\n\t0x6a64: 0x42b44e20, 0x6a65: 0x42b3b020, 0x6a66: 0x42b4cc20, 0x6a67: 0x446ddc20,\n\t0x6a68: 0x446df820, 0x6a69: 0x42b61020, 0x6a6a: 0x42b67c20, 0x6a6b: 0x42b67c20,\n\t0x6a6c: 0x48339020, 0x6a6d: 0x42b78620, 0x6a6e: 0x42b7b020, 0x6a6f: 0x42b7ce20,\n\t0x6a70: 0x42b7e620, 0x6a71: 0x48363020, 0x6a72: 0x42b7fe20, 0x6a73: 0x42b80c20,\n\t0x6a74: 0x42bea620, 0x6a75: 0x42b84420, 0x6a76: 0x446f0220, 0x6a77: 0x42b8c020,\n\t0x6a78: 0x42b8dc20, 0x6a79: 0x42b98020, 0x6a7a: 0x42b91a20, 0x6a7b: 0x483bc820,\n\t0x6a7c: 0x42ba8620, 0x6a7d: 0x483bcc20, 0x6a7e: 0x42badc20, 0x6a7f: 0x42bad620,\n\t// Block 0x1aa, offset 0x6a80\n\t0x6a80: 0x42baf820, 0x6a81: 0x42bbc220, 0x6a82: 0x42bbc420, 0x6a83: 0x44705e20,\n\t0x6a84: 0x42bbfa20, 0x6a85: 0x42bc5020, 0x6a86: 0x42bc7a20, 0x6a87: 0x42bcd220,\n\t0x6a88: 0x4470c420, 0x6a89: 0x48430620, 0x6a8a: 0x4470f820, 0x6a8b: 0x42bd6020,\n\t0x6a8c: 0x42bd6620, 0x6a8d: 0x42bd6c20, 0x6a8e: 0x42bd9420, 0x6a8f: 0x49472420,\n\t0x6a90: 0x42bdfc20, 0x6a91: 0x48466220, 0x6a92: 0x48466220, 0x6a93: 0x43040220,\n\t0x6a94: 0x42be4420, 0x6a95: 0x42be4420, 0x6a96: 0x44718e20, 0x6a97: 0x48657020,\n\t0x6a98: 0x48c3b420, 0x6a99: 0x42bec420, 0x6a9a: 0x42bed620, 0x6a9b: 0x4471c620,\n\t0x6a9c: 0x42bf3420, 0x6a9d: 0x42bf9a20, 0x6a9e: 0x42bfae20, 0x6a9f: 0x42bff220,\n\t0x6aa0: 0x42c10220, 0x6aa1: 0x44727420, 0x6aa2: 0x44723820, 0x6aa3: 0x42c12820,\n\t0x6aa4: 0x484da820, 0x6aa5: 0x42c18e20, 0x6aa6: 0x42c29020, 0x6aa7: 0x42c29820,\n\t0x6aa8: 0x42c29c20, 0x6aa9: 0x42c29820, 0x6aaa: 0x42c2f420, 0x6aab: 0x42c31c20,\n\t0x6aac: 0x42c36420, 0x6aad: 0x42c34820, 0x6aae: 0x42c35e20, 0x6aaf: 0x42c3bc20,\n\t0x6ab0: 0x42c3e420, 0x6ab1: 0x42c3ec20, 0x6ab2: 0x42c42020, 0x6ab3: 0x42c43620,\n\t0x6ab4: 0x42c4ba20, 0x6ab5: 0x42c56220, 0x6ab6: 0x42c5a820, 0x6ab7: 0x42c6a020,\n\t0x6ab8: 0x48561820, 0x6ab9: 0x42c67a20, 0x6aba: 0x42c5f820, 0x6abb: 0x42c6d020,\n\t0x6abc: 0x42c70620, 0x6abd: 0x42c7c820, 0x6abe: 0x4857e220, 0x6abf: 0x42c84420,\n\t// Block 0x1ab, offset 0x6ac0\n\t0x6ac0: 0x42c78a20, 0x6ac1: 0x42c75220, 0x6ac2: 0x44745c20, 0x6ac3: 0x42c8d220,\n\t0x6ac4: 0x42c8fc20, 0x6ac5: 0x42c93a20, 0x6ac6: 0x42c8ee20, 0x6ac7: 0x4474d820,\n\t0x6ac8: 0x42ca9e20, 0x6ac9: 0x42cad820, 0x6aca: 0x48601420, 0x6acb: 0x42cbc620,\n\t0x6acc: 0x42cdf020, 0x6acd: 0x42cc9220, 0x6ace: 0x44763220, 0x6acf: 0x42cd2220,\n\t0x6ad0: 0x44761020, 0x6ad1: 0x4475c820, 0x6ad2: 0x42a32420, 0x6ad3: 0x42a32a20,\n\t0x6ad4: 0x42ce0020, 0x6ad5: 0x42cd3820, 0x6ad6: 0x43015a20, 0x6ad7: 0x4487b220,\n\t0x6ad8: 0x42ce2e20, 0x6ad9: 0x42ce3620, 0x6ada: 0x42ce4220, 0x6adb: 0x42cebc20,\n\t0x6adc: 0x42cea620, 0x6add: 0x48678620, 0x6ade: 0x44769220, 0x6adf: 0x42cff420,\n\t0x6ae0: 0x42cf0a20, 0x6ae1: 0x42d0a420, 0x6ae2: 0x42d10a20, 0x6ae3: 0x4868da20,\n\t0x6ae4: 0x42d11c20, 0x6ae5: 0x42d03e20, 0x6ae6: 0x42d22820, 0x6ae7: 0x44773a20,\n\t0x6ae8: 0x42d28420, 0x6ae9: 0x42d34620, 0x6aea: 0x42d3d420, 0x6aeb: 0x42d55020,\n\t0x6aec: 0x486d4620, 0x6aed: 0x42d5b620, 0x6aee: 0x44783020, 0x6aef: 0x42d64220,\n\t0x6af0: 0x48714e20, 0x6af1: 0x42d6a820, 0x6af2: 0x44789c20, 0x6af3: 0x42d6e420,\n\t0x6af4: 0x42d73e20, 0x6af5: 0x42d77420, 0x6af6: 0x42d77620, 0x6af7: 0x48751a20,\n\t0x6af8: 0x483a1620, 0x6af9: 0x4875f420, 0x6afa: 0x42d89c20, 0x6afb: 0x48797820,\n\t0x6afc: 0x42d97e20, 0x6afd: 0x42d99a20, 0x6afe: 0x42d8ce20, 0x6aff: 0x42da2c20,\n\t// Block 0x1ac, offset 0x6b00\n\t0x6b00: 0x42da7c20, 0x6b01: 0x42daee20, 0x6b02: 0x42da8220, 0x6b03: 0x42dad220,\n\t0x6b04: 0x42daf020, 0x6b05: 0x42db0a20, 0x6b06: 0x487a3c20, 0x6b07: 0x42da6820,\n\t0x6b08: 0x42dc5e20, 0x6b09: 0x42dcdc20, 0x6b0a: 0x447a6620, 0x6b0b: 0x42dd9620,\n\t0x6b0c: 0x42dd8e20, 0x6b0d: 0x487da220, 0x6b0e: 0x42dbf220, 0x6b0f: 0x42dedc20,\n\t0x6b10: 0x487ebc20, 0x6b11: 0x487f1c20, 0x6b12: 0x42df8c20, 0x6b13: 0x42e07220,\n\t0x6b14: 0x42e03c20, 0x6b15: 0x42e03620, 0x6b16: 0x447b2c20, 0x6b17: 0x42e09420,\n\t0x6b18: 0x42e0fa20, 0x6b19: 0x42e0ee20, 0x6b1a: 0x42e15a20, 0x6b1b: 0x480a4a20,\n\t0x6b1c: 0x42e28a20, 0x6b1d: 0x4884c620, 0x6b1e: 0x42e33820, 0x6b1f: 0x48875620,\n\t0x6b20: 0x42e45020, 0x6b21: 0x42e46a20, 0x6b22: 0x42e4a020, 0x6b23: 0x488c1020,\n\t0x6b24: 0x42e50020, 0x6b25: 0x42e52a20, 0x6b26: 0x488e6a20, 0x6b27: 0x48902820,\n\t0x6b28: 0x42e6f420, 0x6b29: 0x42e71620, 0x6b2a: 0x447d5820, 0x6b2b: 0x42e74a20,\n\t0x6b2c: 0x447d7020, 0x6b2d: 0x447d7020, 0x6b2e: 0x42e88e20, 0x6b2f: 0x42e8b820,\n\t0x6b30: 0x42e8e220, 0x6b31: 0x42e90a20, 0x6b32: 0x42e99420, 0x6b33: 0x447e3620,\n\t0x6b34: 0x42ea4820, 0x6b35: 0x48986c20, 0x6b36: 0x42ea7c20, 0x6b37: 0x48992420,\n\t0x6b38: 0x42eae020, 0x6b39: 0x48433e20, 0x6b3a: 0x42ec2020, 0x6b3b: 0x489f4220,\n\t0x6b3c: 0x489f7020, 0x6b3d: 0x48a08820, 0x6b3e: 0x447ff820, 0x6b3f: 0x44801020,\n\t// Block 0x1ad, offset 0x6b40\n\t0x6b40: 0x42ede820, 0x6b41: 0x48a1e620, 0x6b42: 0x48a1e420, 0x6b43: 0x48a23220,\n\t0x6b44: 0x48a26620, 0x6b45: 0x42ee3c20, 0x6b46: 0x42ee3e20, 0x6b47: 0x42ee3e20,\n\t0x6b48: 0x42ee9420, 0x6b49: 0x44807220, 0x6b4a: 0x42ef1620, 0x6b4b: 0x44808c20,\n\t0x6b4c: 0x44812c20, 0x6b4d: 0x48a83a20, 0x6b4e: 0x42f09c20, 0x6b4f: 0x42f11820,\n\t0x6b50: 0x42f19820, 0x6b51: 0x4481c620, 0x6b52: 0x48ac4c20, 0x6b53: 0x42f2ac20,\n\t0x6b54: 0x48ad3420, 0x6b55: 0x48ad8a20, 0x6b56: 0x42f31e20, 0x6b57: 0x42f3d620,\n\t0x6b58: 0x44825e20, 0x6b59: 0x42f48020, 0x6b5a: 0x42f49420, 0x6b5b: 0x42f49e20,\n\t0x6b5c: 0x48b2f820, 0x6b5d: 0x48b54e20, 0x6b5e: 0x48b54e20, 0x6b5f: 0x42f5dc20,\n\t0x6b60: 0x44840420, 0x6b61: 0x48b75620, 0x6b62: 0x42f78c20, 0x6b63: 0x42f79220,\n\t0x6b64: 0x44844e20, 0x6b65: 0x48b90020, 0x6b66: 0x42f9a420, 0x6b67: 0x44854020,\n\t0x6b68: 0x42f9d020, 0x6b69: 0x42f9c620, 0x6b6a: 0x42fa0020, 0x6b6b: 0x48bf0c20,\n\t0x6b6c: 0x42fac620, 0x6b6d: 0x44860220, 0x6b6e: 0x42fb8e20, 0x6b6f: 0x42fc0420,\n\t0x6b70: 0x42fc8a20, 0x6b71: 0x44866820, 0x6b72: 0x48c45020, 0x6b73: 0x48c48e20,\n\t0x6b74: 0x4486b220, 0x6b75: 0x48c5b220, 0x6b76: 0x42fef420, 0x6b77: 0x48c67c20,\n\t0x6b78: 0x42ff2a20, 0x6b79: 0x42fff420, 0x6b7a: 0x43000a20, 0x6b7b: 0x48c9b420,\n\t0x6b7c: 0x48ca4620, 0x6b7d: 0x4300c020, 0x6b7e: 0x48cb5020, 0x6b7f: 0x4300e020,\n\t// Block 0x1ae, offset 0x6b80\n\t0x6b80: 0x4866be20, 0x6b81: 0x4487aa20, 0x6b82: 0x43016420, 0x6b83: 0x43020620,\n\t0x6b84: 0x44881620, 0x6b85: 0x43027c20, 0x6b86: 0x42b56a20, 0x6b87: 0x48cf4e20,\n\t0x6b88: 0x48cf6a20, 0x6b89: 0x48672620, 0x6b8a: 0x48673820, 0x6b8b: 0x43040220,\n\t0x6b8c: 0x43040820, 0x6b8d: 0x431f3c20, 0x6b8e: 0x4488d620, 0x6b8f: 0x43052220,\n\t0x6b90: 0x43051620, 0x6b91: 0x43053a20, 0x6b92: 0x42a56620, 0x6b93: 0x43056220,\n\t0x6b94: 0x43056620, 0x6b95: 0x43057a20, 0x6b96: 0x4305cc20, 0x6b97: 0x48d67820,\n\t0x6b98: 0x4305ca20, 0x6b99: 0x43063a20, 0x6b9a: 0x4306c620, 0x6b9b: 0x43075a20,\n\t0x6b9c: 0x43064620, 0x6b9d: 0x43077a20, 0x6b9e: 0x4307ce20, 0x6b9f: 0x4308ae20,\n\t0x6ba0: 0x4306a620, 0x6ba1: 0x43079420, 0x6ba2: 0x43079820, 0x6ba3: 0x4307b820,\n\t0x6ba4: 0x48d86c20, 0x6ba5: 0x48dad620, 0x6ba6: 0x48d9aa20, 0x6ba7: 0x448a5620,\n\t0x6ba8: 0x4309e220, 0x6ba9: 0x4309e620, 0x6baa: 0x430a2c20, 0x6bab: 0x48e79420,\n\t0x6bac: 0x430ac820, 0x6bad: 0x48de5820, 0x6bae: 0x448aba20, 0x6baf: 0x448ac220,\n\t0x6bb0: 0x48df6220, 0x6bb1: 0x48e1a420, 0x6bb2: 0x448ad620, 0x6bb3: 0x430ca020,\n\t0x6bb4: 0x430cb820, 0x6bb5: 0x430cce20, 0x6bb6: 0x430cd220, 0x6bb7: 0x430d5220,\n\t0x6bb8: 0x430d1020, 0x6bb9: 0x430e1c20, 0x6bba: 0x430dc420, 0x6bbb: 0x430ef220,\n\t0x6bbc: 0x430e5020, 0x6bbd: 0x430ed620, 0x6bbe: 0x430f0c20, 0x6bbf: 0x448bae20,\n\t// Block 0x1af, offset 0x6bc0\n\t0x6bc0: 0x430fc220, 0x6bc1: 0x43100220, 0x6bc2: 0x448bf220, 0x6bc3: 0x4310c020,\n\t0x6bc4: 0x4310c620, 0x6bc5: 0x48ecce20, 0x6bc6: 0x4311ae20, 0x6bc7: 0x4311bc20,\n\t0x6bc8: 0x448c6a20, 0x6bc9: 0x4311f420, 0x6bca: 0x44697620, 0x6bcb: 0x48f15c20,\n\t0x6bcc: 0x48f2cc20, 0x6bcd: 0x448d7c20, 0x6bce: 0x448d8e20, 0x6bcf: 0x43154020,\n\t0x6bd0: 0x4315da20, 0x6bd1: 0x43171420, 0x6bd2: 0x4318aa20, 0x6bd3: 0x48f95020,\n\t0x6bd4: 0x43195620, 0x6bd5: 0x43198220, 0x6bd6: 0x431a3620, 0x6bd7: 0x431aee20,\n\t0x6bd8: 0x48fe5e20, 0x6bd9: 0x48100820, 0x6bda: 0x431b9620, 0x6bdb: 0x431b7820,\n\t0x6bdc: 0x431be020, 0x6bdd: 0x4811bc20, 0x6bde: 0x431da820, 0x6bdf: 0x431e7020,\n\t0x6be0: 0x490ba420, 0x6be1: 0x490bda20, 0x6be2: 0x43212820, 0x6be3: 0x4321e220,\n\t0x6be4: 0x43222220, 0x6be5: 0x490e5c20, 0x6be6: 0x43223620, 0x6be7: 0x43247020,\n\t0x6be8: 0x4325ae20, 0x6be9: 0x4325b020, 0x6bea: 0x4324f820, 0x6beb: 0x4327f220,\n\t0x6bec: 0x43282a20, 0x6bed: 0x4917f420, 0x6bee: 0x432b1620, 0x6bef: 0x44932a20,\n\t0x6bf0: 0x432b6e20, 0x6bf1: 0x491aee20, 0x6bf2: 0x4493cc20, 0x6bf3: 0x432d8620,\n\t0x6bf4: 0x42bb6420, 0x6bf5: 0x432e4620, 0x6bf6: 0x49228a20, 0x6bf7: 0x49243420,\n\t0x6bf8: 0x4494dc20, 0x6bf9: 0x4494ec20, 0x6bfa: 0x432fc020, 0x6bfb: 0x49281420,\n\t0x6bfc: 0x44956420, 0x6bfd: 0x49292c20, 0x6bfe: 0x43301620, 0x6bff: 0x43301620,\n\t// Block 0x1b0, offset 0x6c00\n\t0x6c00: 0x43305220, 0x6c01: 0x492b6c20, 0x6c02: 0x4331c420, 0x6c03: 0x44966620,\n\t0x6c04: 0x43325220, 0x6c05: 0x43334e20, 0x6c06: 0x43338420, 0x6c07: 0x4333fc20,\n\t0x6c08: 0x44979c20, 0x6c09: 0x49366020, 0x6c0a: 0x43362420, 0x6c0b: 0x43388020,\n\t0x6c0c: 0x4339fa20, 0x6c0d: 0x44999c20, 0x6c0e: 0x4499da20, 0x6c0f: 0x433ace20,\n\t0x6c10: 0x49419c20, 0x6c11: 0x4499f020, 0x6c12: 0x49420a20, 0x6c13: 0x49441c20,\n\t0x6c14: 0x49452220, 0x6c15: 0x433d7620, 0x6c16: 0x449aac20, 0x6c17: 0x433df220,\n\t0x6c18: 0x433dfc20, 0x6c19: 0x433e0a20, 0x6c1a: 0x433e1e20, 0x6c1b: 0x433e2c20,\n\t0x6c1c: 0x433e7620, 0x6c1d: 0x494c0020,\n\t// Block 0x1b1, offset 0x6c40\n\t0x6c41: 0xa0000000,\n\t0x6c60: 0xa0000000, 0x6c61: 0xa0000000, 0x6c62: 0xa0000000, 0x6c63: 0xa0000000,\n\t0x6c64: 0xa0000000, 0x6c65: 0xa0000000, 0x6c66: 0xa0000000, 0x6c67: 0xa0000000,\n\t0x6c68: 0xa0000000, 0x6c69: 0xa0000000, 0x6c6a: 0xa0000000, 0x6c6b: 0xa0000000,\n\t0x6c6c: 0xa0000000, 0x6c6d: 0xa0000000, 0x6c6e: 0xa0000000, 0x6c6f: 0xa0000000,\n\t0x6c70: 0xa0000000, 0x6c71: 0xa0000000, 0x6c72: 0xa0000000, 0x6c73: 0xa0000000,\n\t0x6c74: 0xa0000000, 0x6c75: 0xa0000000, 0x6c76: 0xa0000000, 0x6c77: 0xa0000000,\n\t0x6c78: 0xa0000000, 0x6c79: 0xa0000000, 0x6c7a: 0xa0000000, 0x6c7b: 0xa0000000,\n\t0x6c7c: 0xa0000000, 0x6c7d: 0xa0000000, 0x6c7e: 0xa0000000, 0x6c7f: 0xa0000000,\n\t// Block 0x1b2, offset 0x6c80\n\t0x6c80: 0xa0000000, 0x6c81: 0xa0000000, 0x6c82: 0xa0000000, 0x6c83: 0xa0000000,\n\t0x6c84: 0xa0000000, 0x6c85: 0xa0000000, 0x6c86: 0xa0000000, 0x6c87: 0xa0000000,\n\t0x6c88: 0xa0000000, 0x6c89: 0xa0000000, 0x6c8a: 0xa0000000, 0x6c8b: 0xa0000000,\n\t0x6c8c: 0xa0000000, 0x6c8d: 0xa0000000, 0x6c8e: 0xa0000000, 0x6c8f: 0xa0000000,\n\t0x6c90: 0xa0000000, 0x6c91: 0xa0000000, 0x6c92: 0xa0000000, 0x6c93: 0xa0000000,\n\t0x6c94: 0xa0000000, 0x6c95: 0xa0000000, 0x6c96: 0xa0000000, 0x6c97: 0xa0000000,\n\t0x6c98: 0xa0000000, 0x6c99: 0xa0000000, 0x6c9a: 0xa0000000, 0x6c9b: 0xa0000000,\n\t0x6c9c: 0xa0000000, 0x6c9d: 0xa0000000, 0x6c9e: 0xa0000000, 0x6c9f: 0xa0000000,\n\t0x6ca0: 0xa0000000, 0x6ca1: 0xa0000000, 0x6ca2: 0xa0000000, 0x6ca3: 0xa0000000,\n\t0x6ca4: 0xa0000000, 0x6ca5: 0xa0000000, 0x6ca6: 0xa0000000, 0x6ca7: 0xa0000000,\n\t0x6ca8: 0xa0000000, 0x6ca9: 0xa0000000, 0x6caa: 0xa0000000, 0x6cab: 0xa0000000,\n\t0x6cac: 0xa0000000, 0x6cad: 0xa0000000, 0x6cae: 0xa0000000, 0x6caf: 0xa0000000,\n\t0x6cb0: 0xa0000000, 0x6cb1: 0xa0000000, 0x6cb2: 0xa0000000, 0x6cb3: 0xa0000000,\n\t0x6cb4: 0xa0000000, 0x6cb5: 0xa0000000, 0x6cb6: 0xa0000000, 0x6cb7: 0xa0000000,\n\t0x6cb8: 0xa0000000, 0x6cb9: 0xa0000000, 0x6cba: 0xa0000000, 0x6cbb: 0xa0000000,\n\t0x6cbc: 0xa0000000, 0x6cbd: 0xa0000000, 0x6cbe: 0xa0000000, 0x6cbf: 0xa0000000,\n\t// Block 0x1b3, offset 0x6cc0\n\t0x6cc0: 0xa0000000, 0x6cc1: 0xa0000000, 0x6cc2: 0xa0000000, 0x6cc3: 0xa0000000,\n\t0x6cc4: 0xa0000000, 0x6cc5: 0xa0000000, 0x6cc6: 0xa0000000, 0x6cc7: 0xa0000000,\n\t0x6cc8: 0xa0000000, 0x6cc9: 0xa0000000, 0x6cca: 0xa0000000, 0x6ccb: 0xa0000000,\n\t0x6ccc: 0xa0000000, 0x6ccd: 0xa0000000, 0x6cce: 0xa0000000, 0x6ccf: 0xa0000000,\n\t0x6cd0: 0xa0000000, 0x6cd1: 0xa0000000, 0x6cd2: 0xa0000000, 0x6cd3: 0xa0000000,\n\t0x6cd4: 0xa0000000, 0x6cd5: 0xa0000000, 0x6cd6: 0xa0000000, 0x6cd7: 0xa0000000,\n\t0x6cd8: 0xa0000000, 0x6cd9: 0xa0000000, 0x6cda: 0xa0000000, 0x6cdb: 0xa0000000,\n\t0x6cdc: 0xa0000000, 0x6cdd: 0xa0000000, 0x6cde: 0xa0000000, 0x6cdf: 0xa0000000,\n\t0x6ce0: 0xa0000000, 0x6ce1: 0xa0000000, 0x6ce2: 0xa0000000, 0x6ce3: 0xa0000000,\n\t0x6ce4: 0xa0000000, 0x6ce5: 0xa0000000, 0x6ce6: 0xa0000000, 0x6ce7: 0xa0000000,\n\t0x6ce8: 0xa0000000, 0x6ce9: 0xa0000000, 0x6cea: 0xa0000000, 0x6ceb: 0xa0000000,\n\t0x6cec: 0xa0000000, 0x6ced: 0xa0000000, 0x6cee: 0xa0000000, 0x6cef: 0xa0000000,\n\t// Block 0x1b4, offset 0x6d00\n\t0x6d00: 0xa0000000, 0x6d01: 0xa0000000, 0x6d02: 0xa0000000, 0x6d03: 0xa0000000,\n\t0x6d04: 0xa0000000, 0x6d05: 0xa0000000, 0x6d06: 0xa0000000, 0x6d07: 0xa0000000,\n\t0x6d08: 0xa0000000, 0x6d09: 0x40020020, 0x6d0a: 0x40020220, 0x6d0b: 0x40020420,\n\t0x6d0c: 0x40020620, 0x6d0d: 0x40020820, 0x6d0e: 0xa0000000, 0x6d0f: 0xa0000000,\n\t0x6d10: 0xa0000000, 0x6d11: 0xa0000000, 0x6d12: 0xa0000000, 0x6d13: 0xa0000000,\n\t0x6d14: 0xa0000000, 0x6d15: 0xa0000000, 0x6d16: 0xa0000000, 0x6d17: 0xa0000000,\n\t0x6d18: 0xa0000000, 0x6d19: 0xa0000000, 0x6d1a: 0xa0000000, 0x6d1b: 0xa0000000,\n\t0x6d1c: 0xa0000000, 0x6d1d: 0xa0000000, 0x6d1e: 0xa0000000, 0x6d1f: 0xa0000000,\n\t0x6d20: 0x40021220, 0x6d21: 0x4002ba20, 0x6d22: 0x4003e020, 0x6d23: 0x4004ea20,\n\t0x6d24: 0x4027de20, 0x6d25: 0x4004ec20, 0x6d26: 0x4004e620, 0x6d27: 0x4003d220,\n\t0x6d28: 0x4003f420, 0x6d29: 0x4003f620, 0x6d2a: 0x4004d820, 0x6d2b: 0x40093820,\n\t0x6d2c: 0x40024020, 0x6d2d: 0x40021a20, 0x6d2e: 0x4002e420, 0x6d2f: 0x4004e220,\n\t0x6d30: 0x4029cc20, 0x6d31: 0x4029ce20, 0x6d32: 0x4029d020, 0x6d33: 0x4029d220,\n\t0x6d34: 0x4029d420, 0x6d35: 0x4029d620, 0x6d36: 0x4029d820, 0x6d37: 0x4029da20,\n\t0x6d38: 0x4029dc20, 0x6d39: 0x4029de20, 0x6d3a: 0x40026c20, 0x6d3b: 0x40026220,\n\t0x6d3c: 0x40094020, 0x6d3d: 0x40094220, 0x6d3e: 0x40094420, 0x6d3f: 0x4002c420,\n\t// Block 0x1b5, offset 0x6d40\n\t0x6d40: 0x4004d620, 0x6d41: 0x002bde88, 0x6d42: 0x002c0a88, 0x6d43: 0x002c3a88,\n\t0x6d44: 0x002c6288, 0x6d45: 0x002c1083, 0x6d46: 0x002d0888, 0x6d47: 0x002d2288,\n\t0x6d48: 0x0030e483, 0x6d49: 0x002c4083, 0x6d4a: 0x002dcc88, 0x6d4b: 0x002c3c83,\n\t0x6d4c: 0xc0030002, 0x6d4d: 0x002e8288, 0x6d4e: 0x002e9e88, 0x6d4f: 0x002d2483,\n\t0x6d50: 0x002f2c88, 0x6d51: 0x002c6483, 0x6d52: 0x002c6683, 0x6d53: 0x002c0e83,\n\t0x6d54: 0x002c0c83, 0x6d55: 0x00306c88, 0x6d56: 0x0030be88, 0x6d57: 0x0030e288,\n\t0x6d58: 0x002c3e83, 0x6d59: 0x00310088, 0x6d5a: 0x00312a88, 0x6d5b: 0x4003f820,\n\t0x6d5c: 0x4004e420, 0x6d5d: 0x4003fa20, 0x6d5e: 0x40062420, 0x6d5f: 0x40021620,\n\t0x6d60: 0x40061e20, 0x6d61: 0x402bde20, 0x6d62: 0x402c0a20, 0x6d63: 0x402c3a20,\n\t0x6d64: 0x402c6220, 0x6d65: 0x402c1020, 0x6d66: 0x402d0820, 0x6d67: 0x402d2220,\n\t0x6d68: 0x4030e420, 0x6d69: 0x402c4020, 0x6d6a: 0x402dcc20, 0x6d6b: 0x402c3c20,\n\t0x6d6c: 0xc0000002, 0x6d6d: 0x402e8220, 0x6d6e: 0x402e9e20, 0x6d6f: 0x402d2420,\n\t0x6d70: 0x402f2c20, 0x6d71: 0x402c6420, 0x6d72: 0x402c6620, 0x6d73: 0x402c0e20,\n\t0x6d74: 0x402c0c20, 0x6d75: 0x40306c20, 0x6d76: 0x4030be20, 0x6d77: 0x4030e220,\n\t0x6d78: 0x402c3e20, 0x6d79: 0x40310020, 0x6d7a: 0x40312a20, 0x6d7b: 0x4003fc20,\n\t0x6d7c: 0x40094820, 0x6d7d: 0x4003fe20, 0x6d7e: 0x40094c20, 0x6d7f: 0xa0000000,\n\t// Block 0x1b6, offset 0x6d80\n\t0x6d80: 0xe00008f5, 0x6d81: 0xe00008ef, 0x6d82: 0xe0000921, 0x6d83: 0xe0000969,\n\t0x6d84: 0xe000095b, 0x6d85: 0xe000094d, 0x6d86: 0xe00009dd, 0x6d87: 0xe0000a53,\n\t0x6d88: 0xe000256e, 0x6d89: 0xe0002568, 0x6d8a: 0xe000257a, 0x6d8b: 0xe00025a6,\n\t0x6d8c: 0xe000263e, 0x6d8d: 0xe0002638, 0x6d8e: 0xe000264a, 0x6d8f: 0xe0002656,\n\t0x6d90: 0xe0000ab3, 0x6d91: 0xe0000d63, 0x6d92: 0xe00026db, 0x6d93: 0xe00026d5,\n\t0x6d94: 0xe00026e7, 0x6d95: 0xe0002727, 0x6d96: 0xe0002713, 0x6d97: 0x40093e20,\n\t0x6d98: 0xe0000e12, 0x6d99: 0xe0000fe1, 0x6d9a: 0xe0000fdb, 0x6d9b: 0xe0000fed,\n\t0x6d9c: 0xe0000fff, 0x6d9d: 0xe0001102, 0x6d9e: 0x00318888, 0x6d9f: 0xe0000f7b,\n\t0x6da0: 0xe00008f2, 0x6da1: 0xe00008ec, 0x6da2: 0xe000091e, 0x6da3: 0xe0000966,\n\t0x6da4: 0xe0000958, 0x6da5: 0xe000094a, 0x6da6: 0xe00009d5, 0x6da7: 0xe0000a4d,\n\t0x6da8: 0xe000256b, 0x6da9: 0xe0002565, 0x6daa: 0xe0002577, 0x6dab: 0xe00025a3,\n\t0x6dac: 0xe000263b, 0x6dad: 0xe0002635, 0x6dae: 0xe0002647, 0x6daf: 0xe0002653,\n\t0x6db0: 0xe0000aad, 0x6db1: 0xe0000d60, 0x6db2: 0xe00026d8, 0x6db3: 0xe00026d2,\n\t0x6db4: 0xe00026e4, 0x6db5: 0xe0002724, 0x6db6: 0xe0002710, 0x6db7: 0x40093c20,\n\t0x6db8: 0xe0000e0f, 0x6db9: 0xe0000fde, 0x6dba: 0xe0000fd8, 0x6dbb: 0xe0000fea,\n\t0x6dbc: 0xe0000ffc, 0x6dbd: 0xe00010ff, 0x6dbe: 0x40318820, 0x6dbf: 0xe0001114,\n\t// Block 0x1b7, offset 0x6dc0\n\t0x6dc0: 0xe0000983, 0x6dc1: 0xe0000980, 0x6dc2: 0xe00008fb, 0x6dc3: 0xe00008f8,\n\t0x6dc4: 0xe000097d, 0x6dc5: 0xe000097a, 0x6dc6: 0xe0000a38, 0x6dc7: 0xe0000a35,\n\t0x6dc8: 0xe0000a3e, 0x6dc9: 0xe0000a3b, 0x6dca: 0xe0000a4a, 0x6dcb: 0xe0000a47,\n\t0x6dcc: 0xe0000a44, 0x6dcd: 0xe0000a41, 0x6dce: 0xe0000a86, 0x6dcf: 0xe0000a83,\n\t0x6dd0: 0xe0000aaa, 0x6dd1: 0xe0000aa7, 0x6dd2: 0xe00025cc, 0x6dd3: 0xe00025c9,\n\t0x6dd4: 0xe0002574, 0x6dd5: 0xe0002571, 0x6dd6: 0xe00025b2, 0x6dd7: 0xe00025af,\n\t0x6dd8: 0xe00025c6, 0x6dd9: 0xe00025c3, 0x6dda: 0xe00025a0, 0x6ddb: 0xe000259d,\n\t0x6ddc: 0xe0000bb8, 0x6ddd: 0xe0000bb5, 0x6dde: 0xe0000bb2, 0x6ddf: 0xe0000baf,\n\t0x6de0: 0xe0000bc4, 0x6de1: 0xe0000bc1, 0x6de2: 0xe0000bca, 0x6de3: 0xe0000bc7,\n\t0x6de4: 0xe0002856, 0x6de5: 0xe0002853, 0x6de6: 0xe0000c1b, 0x6de7: 0xe0000c18,\n\t0x6de8: 0xe0002664, 0x6de9: 0xe0002661, 0x6dea: 0xe0002673, 0x6deb: 0xe0002670,\n\t0x6dec: 0xe0002644, 0x6ded: 0xe0002641, 0x6dee: 0xe000266d, 0x6def: 0xe000266a,\n\t0x6df0: 0xe0002667, 0x6df1: 0x402da220, 0x6df2: 0xe00027e2, 0x6df3: 0xe00027df,\n\t0x6df4: 0xe0000c8a, 0x6df5: 0xe0000c87, 0x6df6: 0xe000261a, 0x6df7: 0xe0002617,\n\t0x6df8: 0x402f7220, 0x6df9: 0xe0000ccc, 0x6dfa: 0xe0000cc9, 0x6dfb: 0xe0000cd8,\n\t0x6dfc: 0xe0000cd5, 0x6dfd: 0xe0000cd2, 0x6dfe: 0xe0000ccf, 0x6dff: 0xe0000d04,\n\t// Block 0x1b8, offset 0x6e00\n\t0x6e00: 0xe0000cfe, 0x6e01: 0xe0000cf8, 0x6e02: 0xe0000cf5, 0x6e03: 0xe0000d51,\n\t0x6e04: 0xe0000d4e, 0x6e05: 0xe0000d6f, 0x6e06: 0xe0000d6c, 0x6e07: 0xe0000d5d,\n\t0x6e08: 0xe0000d5a, 0x6e09: 0xf0000404, 0x6e0a: 0x002eda88, 0x6e0b: 0x402eda20,\n\t0x6e0c: 0xe0002761, 0x6e0d: 0xe000275e, 0x6e0e: 0xe00026e1, 0x6e0f: 0xe00026de,\n\t0x6e10: 0xe0002721, 0x6e11: 0xe000271e, 0x6e12: 0xe0000e93, 0x6e13: 0xe0000e8f,\n\t0x6e14: 0xe0002697, 0x6e15: 0xe0002694, 0x6e16: 0xe00026a9, 0x6e17: 0xe00026a6,\n\t0x6e18: 0xe000269d, 0x6e19: 0xe000269a, 0x6e1a: 0xe0002526, 0x6e1b: 0xe0002523,\n\t0x6e1c: 0xe0002534, 0x6e1d: 0xe0002531, 0x6e1e: 0xe000254e, 0x6e1f: 0xe000254b,\n\t0x6e20: 0xe000253a, 0x6e21: 0xe0002537, 0x6e22: 0xe0002508, 0x6e23: 0xe0002505,\n\t0x6e24: 0xe00024f9, 0x6e25: 0xe00024f6, 0x6e26: 0x00303688, 0x6e27: 0x40303620,\n\t0x6e28: 0xe000102b, 0x6e29: 0xe0001028, 0x6e2a: 0xe000103f, 0x6e2b: 0xe000103c,\n\t0x6e2c: 0xe0000fe7, 0x6e2d: 0xe0000fe4, 0x6e2e: 0xe0000ff9, 0x6e2f: 0xe0000ff6,\n\t0x6e30: 0xe0001025, 0x6e31: 0xe0001022, 0x6e32: 0xe0001039, 0x6e33: 0xe0001036,\n\t0x6e34: 0xe00010d8, 0x6e35: 0xe00010d5, 0x6e36: 0xe000110e, 0x6e37: 0xe000110b,\n\t0x6e38: 0xe0001117, 0x6e39: 0xe000113b, 0x6e3a: 0xe0001138, 0x6e3b: 0xe000114d,\n\t0x6e3c: 0xe000114a, 0x6e3d: 0xe0001147, 0x6e3e: 0xe0001144, 0x6e3f: 0xe0000f64,\n\t// Block 0x1b9, offset 0x6e40\n\t0x6e40: 0x402c1a20, 0x6e41: 0x002c2a88, 0x6e42: 0x002c3288, 0x6e43: 0x402c3220,\n\t0x6e44: 0x0031c488, 0x6e45: 0x4031c420, 0x6e46: 0x002efa88, 0x6e47: 0x002c4e88,\n\t0x6e48: 0x402c4e20, 0x6e49: 0x002c7288, 0x6e4a: 0x002c7a88, 0x6e4b: 0x002c8488,\n\t0x6e4c: 0x402c8420, 0x6e4d: 0xe000115c, 0x6e4e: 0x002cae88, 0x6e4f: 0x002cb888,\n\t0x6e50: 0x002cc288, 0x6e51: 0x002d1688, 0x6e52: 0x402d1620, 0x6e53: 0x002d4488,\n\t0x6e54: 0x002d5888, 0x6e55: 0x402d7820, 0x6e56: 0x002dc288, 0x6e57: 0x002db688,\n\t0x6e58: 0x002e0a88, 0x6e59: 0x402e0a20, 0x6e5a: 0x402e3820, 0x6e5b: 0x402e7220,\n\t0x6e5c: 0x0030a088, 0x6e5d: 0x002eb488, 0x6e5e: 0x402ebc20, 0x6e5f: 0x002f1088,\n\t0x6e60: 0xe0002789, 0x6e61: 0xe0002786, 0x6e62: 0x002d6088, 0x6e63: 0x402d6020,\n\t0x6e64: 0x002f3e88, 0x6e65: 0x402f3e20, 0x6e66: 0x002f8288, 0x6e67: 0x0031b488,\n\t0x6e68: 0x4031b420, 0x6e69: 0x00300888, 0x6e6a: 0x40301220, 0x6e6b: 0x40304220,\n\t0x6e6c: 0x00304a88, 0x6e6d: 0x40304a20, 0x6e6e: 0x00305288, 0x6e6f: 0xe000105f,\n\t0x6e70: 0xe000105c, 0x6e71: 0x0030b488, 0x6e72: 0x0030cc88, 0x6e73: 0x00311888,\n\t0x6e74: 0x40311820, 0x6e75: 0x00313488, 0x6e76: 0x40313420, 0x6e77: 0x00316488,\n\t0x6e78: 0x00316e88, 0x6e79: 0x40316e20, 0x6e7a: 0x40317820, 0x6e7b: 0x4031a620,\n\t0x6e7c: 0x0031bc88, 0x6e7d: 0x4031bc20, 0x6e7e: 0xe0000fc9, 0x6e7f: 0x40319420,\n\t// Block 0x1ba, offset 0x6e80\n\t0x6e80: 0x40321220, 0x6e81: 0x40321a20, 0x6e82: 0x40322220, 0x6e83: 0x40322a20,\n\t0x6e84: 0xe0000ad5, 0x6e85: 0xe0000ad1, 0x6e86: 0xe0000acd, 0x6e87: 0xf0000a0a,\n\t0x6e88: 0xf000040a, 0x6e89: 0xf0000404, 0x6e8a: 0xf0000a0a, 0x6e8b: 0xf000040a,\n\t0x6e8c: 0xf0000404, 0x6e8d: 0xe0000947, 0x6e8e: 0xe0000944, 0x6e8f: 0xe0002650,\n\t0x6e90: 0xe000264d, 0x6e91: 0xe000270d, 0x6e92: 0xe000270a, 0x6e93: 0xe0000ff3,\n\t0x6e94: 0xe0000ff0, 0x6e95: 0xe000101e, 0x6e96: 0xe000101a, 0x6e97: 0xe0001006,\n\t0x6e98: 0xe0001002, 0x6e99: 0xe0001016, 0x6e9a: 0xe0001012, 0x6e9b: 0xe000100e,\n\t0x6e9c: 0xe000100a, 0x6e9d: 0x402cae20, 0x6e9e: 0xe0000962, 0x6e9f: 0xe000095e,\n\t0x6ea0: 0xe0000976, 0x6ea1: 0xe0000972, 0x6ea2: 0xe00009f4, 0x6ea3: 0xe00009ef,\n\t0x6ea4: 0x002d3a88, 0x6ea5: 0x402d3a20, 0x6ea6: 0xe0000bbe, 0x6ea7: 0xe0000bbb,\n\t0x6ea8: 0xe0002614, 0x6ea9: 0xe0002611, 0x6eaa: 0xe0002753, 0x6eab: 0xe0002750,\n\t0x6eac: 0xe000275a, 0x6ead: 0xe0002756, 0x6eae: 0xe0001162, 0x6eaf: 0xe000115f,\n\t0x6eb0: 0xe0000c8d, 0x6eb1: 0xf0000a0a, 0x6eb2: 0xf000040a, 0x6eb3: 0xf0000404,\n\t0x6eb4: 0xe0000bac, 0x6eb5: 0xe0000ba9, 0x6eb6: 0x002d7888, 0x6eb7: 0x00319488,\n\t0x6eb8: 0xe0000d57, 0x6eb9: 0xe0000d54, 0x6eba: 0xe0000954, 0x6ebb: 0xe0000950,\n\t0x6ebc: 0xe00009ea, 0x6ebd: 0xe00009e5, 0x6ebe: 0xe0000e19, 0x6ebf: 0xe0000e15,\n\t// Block 0x1bb, offset 0x6ec0\n\t0x6ec0: 0xe000098f, 0x6ec1: 0xe000098c, 0x6ec2: 0xe0000995, 0x6ec3: 0xe0000992,\n\t0x6ec4: 0xe00025e8, 0x6ec5: 0xe00025e5, 0x6ec6: 0xe00025ee, 0x6ec7: 0xe00025eb,\n\t0x6ec8: 0xe000267f, 0x6ec9: 0xe000267c, 0x6eca: 0xe0002685, 0x6ecb: 0xe0002682,\n\t0x6ecc: 0xe000277d, 0x6ecd: 0xe000277a, 0x6ece: 0xe0002783, 0x6ecf: 0xe0002780,\n\t0x6ed0: 0xe00026af, 0x6ed1: 0xe00026ac, 0x6ed2: 0xe00026b5, 0x6ed3: 0xe00026b2,\n\t0x6ed4: 0xe0001053, 0x6ed5: 0xe0001050, 0x6ed6: 0xe0001059, 0x6ed7: 0xe0001056,\n\t0x6ed8: 0xe0002562, 0x6ed9: 0xe000255f, 0x6eda: 0xe0002514, 0x6edb: 0xe0002511,\n\t0x6edc: 0x00312288, 0x6edd: 0x40312220, 0x6ede: 0xe000285c, 0x6edf: 0xe0002859,\n\t0x6ee0: 0x002ebc88, 0x6ee1: 0x402c8c20, 0x6ee2: 0x002f2288, 0x6ee3: 0x402f2220,\n\t0x6ee4: 0x00314088, 0x6ee5: 0x40314020, 0x6ee6: 0xe000096f, 0x6ee7: 0xe000096c,\n\t0x6ee8: 0xe00025b8, 0x6ee9: 0xe00025b5, 0x6eea: 0xe000271a, 0x6eeb: 0xe0002716,\n\t0x6eec: 0xe000273e, 0x6eed: 0xe000273a, 0x6eee: 0xe0002745, 0x6eef: 0xe0002742,\n\t0x6ef0: 0xe000274c, 0x6ef1: 0xe0002748, 0x6ef2: 0xe0001129, 0x6ef3: 0xe0001126,\n\t0x6ef4: 0x402e5e20, 0x6ef5: 0x402ed020, 0x6ef6: 0x40305a20, 0x6ef7: 0x402dd420,\n\t0x6ef8: 0xe0000abf, 0x6ef9: 0xe0000ec4, 0x6efa: 0x002be888, 0x6efb: 0x002c4488,\n\t0x6efc: 0x402c4420, 0x6efd: 0x002e3888, 0x6efe: 0x00303e88, 0x6eff: 0x402ffc20,\n\t// Block 0x1bc, offset 0x6f00\n\t0x6f00: 0xe00009b1, 0x6f01: 0xe00009ae, 0x6f02: 0xe0000a22, 0x6f03: 0xe0000a1f,\n\t0x6f04: 0xe0000a28, 0x6f05: 0xe0000a25, 0x6f06: 0xe0000a2e, 0x6f07: 0xe0000a2b,\n\t0x6f08: 0xe0000a5a, 0x6f09: 0xe0000a56, 0x6f0a: 0xe0000a8c, 0x6f0b: 0xe0000a89,\n\t0x6f0c: 0xe0000a98, 0x6f0d: 0xe0000a95, 0x6f0e: 0xe0000aa4, 0x6f0f: 0xe0000aa1,\n\t0x6f10: 0xe0000a92, 0x6f11: 0xe0000a8f, 0x6f12: 0xe0000a9e, 0x6f13: 0xe0000a9b,\n\t0x6f14: 0xe00025db, 0x6f15: 0xe00025d7, 0x6f16: 0xe00025d3, 0x6f17: 0xe00025cf,\n\t0x6f18: 0xe0002602, 0x6f19: 0xe00025ff, 0x6f1a: 0xe0002608, 0x6f1b: 0xe0002605,\n\t0x6f1c: 0xe00025bf, 0x6f1d: 0xe00025bb, 0x6f1e: 0xe0000b8c, 0x6f1f: 0xe0000b89,\n\t0x6f20: 0xe0000bd0, 0x6f21: 0xe0000bcd, 0x6f22: 0xe0002868, 0x6f23: 0xe0002865,\n\t0x6f24: 0xe0002874, 0x6f25: 0xe0002871, 0x6f26: 0xe0002862, 0x6f27: 0xe000285f,\n\t0x6f28: 0xe000286e, 0x6f29: 0xe000286b, 0x6f2a: 0xe000287a, 0x6f2b: 0xe0002877,\n\t0x6f2c: 0xe0002691, 0x6f2d: 0xe000268e, 0x6f2e: 0xe000265d, 0x6f2f: 0xe0002659,\n\t0x6f30: 0xe000260e, 0x6f31: 0xe000260b, 0x6f32: 0xe0002620, 0x6f33: 0xe000261d,\n\t0x6f34: 0xe0002626, 0x6f35: 0xe0002623, 0x6f36: 0xe0000cde, 0x6f37: 0xe0000cdb,\n\t0x6f38: 0xe0000ce5, 0x6f39: 0xe0000ce1, 0x6f3a: 0xe0000cf2, 0x6f3b: 0xe0000cef,\n\t0x6f3c: 0xe0000cec, 0x6f3d: 0xe0000ce9, 0x6f3e: 0xe0000d1e, 0x6f3f: 0xe0000d1b,\n\t// Block 0x1bd, offset 0x6f40\n\t0x6f40: 0xe0000d24, 0x6f41: 0xe0000d21, 0x6f42: 0xe0000d2a, 0x6f43: 0xe0000d27,\n\t0x6f44: 0xe0000d69, 0x6f45: 0xe0000d66, 0x6f46: 0xe0000d7b, 0x6f47: 0xe0000d78,\n\t0x6f48: 0xe0000d87, 0x6f49: 0xe0000d84, 0x6f4a: 0xe0000d81, 0x6f4b: 0xe0000d7e,\n\t0x6f4c: 0xe000272e, 0x6f4d: 0xe000272a, 0x6f4e: 0xe0002736, 0x6f4f: 0xe0002732,\n\t0x6f50: 0xe0002770, 0x6f51: 0xe000276c, 0x6f52: 0xe0002768, 0x6f53: 0xe0002764,\n\t0x6f54: 0xe0000ea7, 0x6f55: 0xe0000ea4, 0x6f56: 0xe0000ead, 0x6f57: 0xe0000eaa,\n\t0x6f58: 0xe00026a3, 0x6f59: 0xe00026a0, 0x6f5a: 0xe00026bb, 0x6f5b: 0xe00026b8,\n\t0x6f5c: 0xe00026c2, 0x6f5d: 0xe00026be, 0x6f5e: 0xe00026c9, 0x6f5f: 0xe00026c6,\n\t0x6f60: 0xe0002548, 0x6f61: 0xe0002545, 0x6f62: 0xe0002554, 0x6f63: 0xe0002551,\n\t0x6f64: 0xe000252d, 0x6f65: 0xe0002529, 0x6f66: 0xe0002541, 0x6f67: 0xe000253d,\n\t0x6f68: 0xe000255b, 0x6f69: 0xe0002557, 0x6f6a: 0xe0002502, 0x6f6b: 0xe00024ff,\n\t0x6f6c: 0xe000250e, 0x6f6d: 0xe000250b, 0x6f6e: 0xe0002520, 0x6f6f: 0xe000251d,\n\t0x6f70: 0xe000251a, 0x6f71: 0xe0002517, 0x6f72: 0xe0001093, 0x6f73: 0xe0001090,\n\t0x6f74: 0xe000109f, 0x6f75: 0xe000109c, 0x6f76: 0xe0001099, 0x6f77: 0xe0001096,\n\t0x6f78: 0xe0001032, 0x6f79: 0xe000102e, 0x6f7a: 0xe0001046, 0x6f7b: 0xe0001042,\n\t0x6f7c: 0xe00010a9, 0x6f7d: 0xe00010a6, 0x6f7e: 0xe00010af, 0x6f7f: 0xe00010ac,\n\t// Block 0x1be, offset 0x6f80\n\t0x6f80: 0xe00010d2, 0x6f81: 0xe00010cf, 0x6f82: 0xe00010cc, 0x6f83: 0xe00010c9,\n\t0x6f84: 0xe00010e1, 0x6f85: 0xe00010de, 0x6f86: 0xe00010e7, 0x6f87: 0xe00010e4,\n\t0x6f88: 0xe00010ed, 0x6f89: 0xe00010ea, 0x6f8a: 0xe0002632, 0x6f8b: 0xe000262f,\n\t0x6f8c: 0xe000262c, 0x6f8d: 0xe0002629, 0x6f8e: 0xe0001123, 0x6f8f: 0xe0001120,\n\t0x6f90: 0xe0001141, 0x6f91: 0xe000113e, 0x6f92: 0xe0001153, 0x6f93: 0xe0001150,\n\t0x6f94: 0xe0001159, 0x6f95: 0xe0001156, 0x6f96: 0xe000287d, 0x6f97: 0xe00024fc,\n\t0x6f98: 0xe00010db, 0x6f99: 0xe0001111, 0x6f9a: 0xf0000404, 0x6f9b: 0xe0000f70,\n\t0x6f9c: 0x40300420, 0x6f9d: 0x40300620, 0x6f9e: 0xe0000f7f, 0x6f9f: 0x402c9620,\n\t0x6fa0: 0xe000099b, 0x6fa1: 0xe0000998, 0x6fa2: 0xe0000989, 0x6fa3: 0xe0000986,\n\t0x6fa4: 0xe0000928, 0x6fa5: 0xe0000924, 0x6fa6: 0xe0000930, 0x6fa7: 0xe000092c,\n\t0x6fa8: 0xe0000940, 0x6fa9: 0xe000093c, 0x6faa: 0xe0000938, 0x6fab: 0xe0000934,\n\t0x6fac: 0xe00009aa, 0x6fad: 0xe00009a6, 0x6fae: 0xe0000902, 0x6faf: 0xe00008fe,\n\t0x6fb0: 0xe000090a, 0x6fb1: 0xe0000906, 0x6fb2: 0xe000091a, 0x6fb3: 0xe0000916,\n\t0x6fb4: 0xe0000912, 0x6fb5: 0xe000090e, 0x6fb6: 0xe00009a2, 0x6fb7: 0xe000099e,\n\t0x6fb8: 0xe00025f4, 0x6fb9: 0xe00025f1, 0x6fba: 0xe00025e2, 0x6fbb: 0xe00025df,\n\t0x6fbc: 0xe00025ac, 0x6fbd: 0xe00025a9, 0x6fbe: 0xe0002581, 0x6fbf: 0xe000257d,\n\t// Block 0x1bf, offset 0x6fc0\n\t0x6fc0: 0xe0002589, 0x6fc1: 0xe0002585, 0x6fc2: 0xe0002599, 0x6fc3: 0xe0002595,\n\t0x6fc4: 0xe0002591, 0x6fc5: 0xe000258d, 0x6fc6: 0xe00025fb, 0x6fc7: 0xe00025f7,\n\t0x6fc8: 0xe0002679, 0x6fc9: 0xe0002676, 0x6fca: 0xe000268b, 0x6fcb: 0xe0002688,\n\t0x6fcc: 0xe00027b7, 0x6fcd: 0xe00027b4, 0x6fce: 0xe0002777, 0x6fcf: 0xe0002774,\n\t0x6fd0: 0xe00026ee, 0x6fd1: 0xe00026ea, 0x6fd2: 0xe00026f6, 0x6fd3: 0xe00026f2,\n\t0x6fd4: 0xe0002706, 0x6fd5: 0xe0002702, 0x6fd6: 0xe00026fe, 0x6fd7: 0xe00026fa,\n\t0x6fd8: 0xe00027be, 0x6fd9: 0xe00027ba, 0x6fda: 0xe0002790, 0x6fdb: 0xe000278c,\n\t0x6fdc: 0xe0002798, 0x6fdd: 0xe0002794, 0x6fde: 0xe00027a8, 0x6fdf: 0xe00027a4,\n\t0x6fe0: 0xe00027a0, 0x6fe1: 0xe000279c, 0x6fe2: 0xe00027b0, 0x6fe3: 0xe00027ac,\n\t0x6fe4: 0xe000108d, 0x6fe5: 0xe000108a, 0x6fe6: 0xe000104d, 0x6fe7: 0xe000104a,\n\t0x6fe8: 0xe0001066, 0x6fe9: 0xe0001062, 0x6fea: 0xe000106e, 0x6feb: 0xe000106a,\n\t0x6fec: 0xe000107e, 0x6fed: 0xe000107a, 0x6fee: 0xe0001076, 0x6fef: 0xe0001072,\n\t0x6ff0: 0xe0001086, 0x6ff1: 0xe0001082, 0x6ff2: 0xe0001108, 0x6ff3: 0xe0001105,\n\t0x6ff4: 0xe0001135, 0x6ff5: 0xe0001132, 0x6ff6: 0xe000112f, 0x6ff7: 0xe000112c,\n\t0x6ff8: 0xe000111d, 0x6ff9: 0xe000111a, 0x6ffa: 0xe0000d0a, 0x6ffb: 0xe0000d07,\n\t0x6ffc: 0x0030d888, 0x6ffd: 0x4030d820, 0x6ffe: 0x00312088, 0x6fff: 0x40312020,\n\t// Block 0x1c0, offset 0x7000\n\t0x7000: 0xe00009bc, 0x7001: 0xe00009c0, 0x7002: 0x002c3a8b, 0x7003: 0xf0000a04,\n\t0x7004: 0x40081c20, 0x7005: 0xe0000a5e, 0x7006: 0xe0000a62, 0x7007: 0x002cc28a,\n\t0x7008: 0x40081e20, 0x7009: 0xf0000a04, 0x700a: 0x002d2285, 0x700b: 0x002d688b,\n\t0x700c: 0x002d688b, 0x700d: 0x002d688b, 0x700e: 0x002d6885, 0x700f: 0xf0000202,\n\t0x7010: 0x002d9a8b, 0x7011: 0x002d9a8b, 0x7012: 0x002e228b, 0x7013: 0x002e2285,\n\t0x7014: 0x40082020, 0x7015: 0x002e9e8b, 0x7016: 0xe000281e, 0x7017: 0x40082220,\n\t0x7018: 0x40082420, 0x7019: 0x002f2c8b, 0x701a: 0x002f568b, 0x701b: 0x002f7a8b,\n\t0x701c: 0x002f7a8b, 0x701d: 0x002f7a8b, 0x701e: 0x40082620, 0x701f: 0x40082820,\n\t0x7020: 0xe0002833, 0x7021: 0xe0000fbd, 0x7022: 0xe0002842, 0x7023: 0x40082a20,\n\t0x7024: 0x00312a8b, 0x7025: 0x40082c20, 0x7026: 0x0032a288, 0x7027: 0x40082e20,\n\t0x7028: 0x00312a8b, 0x7029: 0x40083020, 0x702a: 0x002c3c83, 0x702b: 0xe000094d,\n\t0x702c: 0x002c0a8b, 0x702d: 0x002c3a8b, 0x702e: 0x40083220, 0x702f: 0x002c9885,\n\t0x7030: 0x002c988b, 0x7031: 0x002d088b, 0x7032: 0x002d1e88, 0x7033: 0x002e828b,\n\t0x7034: 0x002ee285, 0x7035: 0x00389084, 0x7036: 0x00389284, 0x7037: 0x00389484,\n\t0x7038: 0x00389684, 0x7039: 0x002d9a85, 0x703a: 0x40083420, 0x703b: 0xe0000b95,\n\t0x703c: 0x00327e85, 0x703d: 0x00325685, 0x703e: 0x0032568b, 0x703f: 0x00327e8b,\n\t// Block 0x1c1, offset 0x7040\n\t0x7040: 0x00093685, 0x7041: 0x40083620, 0x7042: 0x40083820, 0x7043: 0x40083a20,\n\t0x7044: 0x40083c20, 0x7045: 0x002c628b, 0x7046: 0x002c6285, 0x7047: 0x002c9885,\n\t0x7048: 0x002d9a85, 0x7049: 0x002dcc85, 0x704a: 0x40083e20, 0x704b: 0x400a6e20,\n\t0x704c: 0x40084020, 0x704d: 0xe00009c4, 0x704e: 0x402d1e20, 0x704f: 0x40084220,\n\t0x7050: 0xe00002cb, 0x7051: 0xe00002d3, 0x7052: 0xe00002b2, 0x7053: 0xe00002bb,\n\t0x7054: 0xe00003cd, 0x7055: 0xe00002c3, 0x7056: 0xe00003d1, 0x7057: 0xe00004ab,\n\t0x7058: 0xe0000579, 0x7059: 0xe00002c7, 0x705a: 0xe0000640, 0x705b: 0xe00002cf,\n\t0x705c: 0xe00004af, 0x705d: 0xe0000644, 0x705e: 0xe0000798, 0x705f: 0xf0001e1e,\n\t0x7060: 0x002d9a8a, 0x7061: 0xe00027d4, 0x7062: 0xe00027db, 0x7063: 0xe00027ee,\n\t0x7064: 0x0030be8a, 0x7065: 0xe0002848, 0x7066: 0xe000284f, 0x7067: 0xe00010bb,\n\t0x7068: 0xe00027f4, 0x7069: 0x0030f68a, 0x706a: 0xe0002883, 0x706b: 0xe000288a,\n\t0x706c: 0x002e228a, 0x706d: 0x002c3a8a, 0x706e: 0x002c628a, 0x706f: 0x002e828a,\n\t0x7070: 0x002d9a84, 0x7071: 0xe00027d1, 0x7072: 0xe00027d7, 0x7073: 0xe00027eb,\n\t0x7074: 0x0030be84, 0x7075: 0xe0002845, 0x7076: 0xe000284b, 0x7077: 0xe00010b6,\n\t0x7078: 0xe00027f1, 0x7079: 0x0030f684, 0x707a: 0xe0002880, 0x707b: 0xe0002886,\n\t0x707c: 0x002e2284, 0x707d: 0x002c3a84, 0x707e: 0x002c6284, 0x707f: 0x002e8284,\n\t// Block 0x1c2, offset 0x7080\n\t0x7080: 0xe0000024, 0x7081: 0xe0000029, 0x7082: 0xe000002e, 0x7083: 0xe0000033,\n\t0x7084: 0xe0000038, 0x7085: 0xe000003d, 0x7086: 0xe0000042, 0x7087: 0xe0000047,\n\t0x7088: 0xf0001f04, 0x7089: 0xf0001f04, 0x708a: 0xf0001f04, 0x708b: 0xf0001f04,\n\t0x708c: 0xf0001f04, 0x708d: 0xf0001f04, 0x708e: 0xf0001f04, 0x708f: 0xf0001f04,\n\t0x7090: 0xf0001f04, 0x7091: 0xf0000404, 0x7092: 0xf0000404, 0x7093: 0xf0000404,\n\t0x7094: 0xf0000404, 0x7095: 0xf0000404, 0x7096: 0xf0000404, 0x7097: 0xf0000404,\n\t0x7098: 0xf0000404, 0x7099: 0xf0000404, 0x709a: 0xf0000404, 0x709b: 0xf0000404,\n\t0x709c: 0xf0000404, 0x709d: 0xf0000404, 0x709e: 0xf0000404, 0x709f: 0xf0000404,\n\t0x70a0: 0xe000249f, 0x70a1: 0xf0000404, 0x70a2: 0xf0000404, 0x70a3: 0xe00024a7,\n\t0x70a4: 0xe00024af, 0x70a5: 0xf0000404, 0x70a6: 0xe00024b7, 0x70a7: 0xf0000404,\n\t0x70a8: 0xf0000404, 0x70a9: 0xf0000404, 0x70aa: 0xe00024bf, 0x70ab: 0xf0000404,\n\t0x70ac: 0xe00024c7, 0x70ad: 0xe00024cf, 0x70ae: 0xe00024d7, 0x70af: 0xe00024df,\n\t0x70b0: 0xf0000404, 0x70b1: 0xf0000404, 0x70b2: 0xf0000404, 0x70b3: 0xe00024e7,\n\t0x70b4: 0xf0000404, 0x70b5: 0xf0000404, 0x70b6: 0x002bde8c, 0x70b7: 0x002c0a8c,\n\t0x70b8: 0x002c3a8c, 0x70b9: 0x002c628c, 0x70ba: 0x002c988c, 0x70bb: 0x002d088c,\n\t0x70bc: 0x002d228c, 0x70bd: 0x002d688c, 0x70be: 0x002d9a8c, 0x70bf: 0x002dcc8c,\n\t// Block 0x1c3, offset 0x70c0\n\t0x70c0: 0xf0001f04, 0x70c1: 0xf0001f04, 0x70c2: 0xf0001f04, 0x70c3: 0xf0001f04,\n\t0x70c4: 0xf0001f04, 0x70c5: 0xf0001f04, 0x70c6: 0xf0001f04, 0x70c7: 0xf0001f04,\n\t0x70c8: 0xf0001f04, 0x70c9: 0xf0000404, 0x70ca: 0xf0000404, 0x70cb: 0xf0000404,\n\t0x70cc: 0xe00027c5, 0x70cd: 0xe0000b85, 0x70ce: 0xe00026cc, 0x70cf: 0xe0000d14,\n\t0x70d0: 0x00657693, 0x70d1: 0x00657893, 0x70d2: 0x00657a93, 0x70d3: 0x00657e93,\n\t0x70d4: 0x00658093, 0x70d5: 0x00658293, 0x70d6: 0x00658493, 0x70d7: 0x00658693,\n\t0x70d8: 0x00658893, 0x70d9: 0x00658a93, 0x70da: 0x00658c93, 0x70db: 0x00658e93,\n\t0x70dc: 0x00659093, 0x70dd: 0x00659293, 0x70de: 0x00659493, 0x70df: 0x00659693,\n\t0x70e0: 0x00659893, 0x70e1: 0x00659a93, 0x70e2: 0x00659c93, 0x70e3: 0x00659e93,\n\t0x70e4: 0x0065a093, 0x70e5: 0x0065a293, 0x70e6: 0x0065a493, 0x70e7: 0x0065a693,\n\t0x70e8: 0x0065a893, 0x70e9: 0x0065aa93, 0x70ea: 0x0065ac93, 0x70eb: 0x0065ae93,\n\t0x70ec: 0x0065b093, 0x70ed: 0x0065b293, 0x70ee: 0x0065b493, 0x70ef: 0x0065b693,\n\t0x70f0: 0x0065b893, 0x70f1: 0x0065ba93, 0x70f2: 0x0065bc93, 0x70f3: 0x0065be93,\n\t0x70f4: 0x0065c093, 0x70f5: 0x0065c493, 0x70f6: 0x0065c693, 0x70f7: 0x0065c893,\n\t0x70f8: 0x0065ca93, 0x70f9: 0x0065cc93, 0x70fa: 0x0065ce93, 0x70fb: 0x0065d093,\n\t0x70fc: 0x0065d293, 0x70fd: 0x0065d493, 0x70fe: 0x0065d693,\n\t// Block 0x1c4, offset 0x7100\n\t0x7100: 0xe000230b, 0x7101: 0xe00022f8, 0x7102: 0xe00022fc, 0x7103: 0xe0002311,\n\t0x7104: 0xe0002316, 0x7105: 0xe000231d, 0x7106: 0xe0002321, 0x7107: 0xe0002325,\n\t0x7108: 0xe000232b, 0x7109: 0xf0001c1c, 0x710a: 0xe0002330, 0x710b: 0xe000233c,\n\t0x710c: 0xe0002340, 0x710d: 0xe0002337, 0x710e: 0xe0002346, 0x710f: 0xe000234b,\n\t0x7110: 0xe000234f, 0x7111: 0xe0002353, 0x7112: 0xf0001c1c, 0x7113: 0xe000235e,\n\t0x7114: 0xe0002358, 0x7115: 0xf0001c1c, 0x7116: 0xe0002363, 0x7117: 0xe000236d,\n\t0x7118: 0xf0001f04, 0x7119: 0xf0001f04, 0x711a: 0xf0001f04, 0x711b: 0xf0001f04,\n\t0x711c: 0xf0001f04, 0x711d: 0xf0001f04, 0x711e: 0xf0001f04, 0x711f: 0xf0001f04,\n\t0x7120: 0xf0001f04, 0x7121: 0xf0001f04, 0x7122: 0xf0000404, 0x7123: 0xf0000404,\n\t0x7124: 0xf0000404, 0x7125: 0xf0000404, 0x7126: 0xf0000404, 0x7127: 0xf0000404,\n\t0x7128: 0xf0000404, 0x7129: 0xf0000404, 0x712a: 0xf0000404, 0x712b: 0xf0000404,\n\t0x712c: 0xf0000404, 0x712d: 0xf0000404, 0x712e: 0xf0000404, 0x712f: 0xf0000404,\n\t0x7130: 0xf0000404, 0x7131: 0xe0000c1e, 0x7132: 0xf0001c1c, 0x7133: 0xf0001d1d,\n\t0x7134: 0xe0000a31, 0x7135: 0xe0002824, 0x7136: 0xf0001c1c, 0x7137: 0xf0001c1c,\n\t0x7138: 0xe0000ac2, 0x7139: 0xe0000ac6, 0x713a: 0xe00027e8, 0x713b: 0xf0001c1c,\n\t0x713c: 0xf0001c1c, 0x713d: 0xf0001c1c, 0x713e: 0xf0001c1c, 0x713f: 0xe0002431,\n\t// Block 0x1c5, offset 0x7140\n\t0x7140: 0xf0001d1c, 0x7141: 0xf0001d1c, 0x7142: 0xf0001d1c, 0x7143: 0xf0001d1c,\n\t0x7144: 0xe00027f7, 0x7145: 0xe00027fa, 0x7146: 0xf0001d1d, 0x7147: 0xf0001d1d,\n\t0x7148: 0xe0000a6b, 0x7149: 0xe0000cb4, 0x714a: 0xf0001d1c, 0x714b: 0xf0001d1c,\n\t0x714c: 0xf0001d1c, 0x714d: 0xf0001c1c, 0x714e: 0xf0001c1c, 0x714f: 0xe00027fd,\n\t0x7150: 0xe00027ce, 0x7151: 0xe0000cb9, 0x7152: 0xe0000d36, 0x7153: 0xe0000be3,\n\t0x7154: 0xe0000fc5, 0x7155: 0xf0001c1c, 0x7156: 0xf0001c1c, 0x7157: 0xf0001c1c,\n\t0x7158: 0xe0002803, 0x7159: 0xf0001c1c, 0x715a: 0xf0001c1c, 0x715b: 0xf0001c1c,\n\t0x715c: 0xf0001c1c, 0x715d: 0xf0001c1c, 0x715e: 0xe0002806, 0x715f: 0xe0000d3e,\n\t0x7160: 0xe0000a72, 0x7161: 0xf0001c1c, 0x7162: 0xe0000cbd, 0x7163: 0xe0000d42,\n\t0x7164: 0xe0000a76, 0x7165: 0xf0001c1c, 0x7166: 0xe0000cc1, 0x7167: 0xe0000d2d,\n\t0x7168: 0xe0000d31, 0x7169: 0xf0001c1d, 0x716a: 0xe0000cc5, 0x716b: 0xe0000d4a,\n\t0x716c: 0xe0000be7, 0x716d: 0xe0000f0b, 0x716e: 0xe0000f0f, 0x716f: 0xe0000f15,\n\t0x7170: 0xe000282d, 0x7171: 0xe0002821, 0x7172: 0xe000288e, 0x7173: 0xe000281b,\n\t0x7174: 0xf0001d1c, 0x7175: 0xf0001d1c, 0x7176: 0xf0001d1c, 0x7177: 0xf0001d1c,\n\t0x7178: 0xe000280f, 0x7179: 0xf0001d1d, 0x717a: 0xf0001d1c, 0x717b: 0xf0001d1c,\n\t0x717c: 0xf0001d1c, 0x717d: 0xf0001d1c, 0x717e: 0xe0002812, 0x717f: 0xf0001d1d,\n\t// Block 0x1c6, offset 0x7180\n\t0x7180: 0xe0002815, 0x7181: 0xf0001d1d, 0x7182: 0xe00009b7, 0x7183: 0xe00024f3,\n\t0x7184: 0xf0001c1c, 0x7185: 0xf0001c1c, 0x7186: 0xe0000a66, 0x7187: 0xe0000a7a,\n\t0x7188: 0xf0001d1c, 0x7189: 0xf0001c1d, 0x718a: 0xe00027c2, 0x718b: 0xe00027c8,\n\t0x718c: 0xe00027e5, 0x718d: 0xe0002800, 0x718e: 0xe0002809, 0x718f: 0xe000280c,\n\t0x7190: 0xf0001c1c, 0x7191: 0xf0001c1c, 0x7192: 0xe0000d0d, 0x7193: 0xe0002818,\n\t0x7194: 0xf0001c1c, 0x7195: 0xe0000d3a, 0x7196: 0xe0000d46, 0x7197: 0xe0002827,\n\t0x7198: 0xe0000eb0, 0x7199: 0xe0000eb8, 0x719a: 0xe000282a, 0x719b: 0xe0002836,\n\t0x719c: 0xe000283f, 0x719d: 0xf0001c1d, 0x719e: 0xe00010b2, 0x719f: 0xe00009c8,\n\t0x71a0: 0xf0001f04, 0x71a1: 0xf0001f04, 0x71a2: 0xf0001f04, 0x71a3: 0xf0001f04,\n\t0x71a4: 0xf0001f04, 0x71a5: 0xf0001f04, 0x71a6: 0xf0001f04, 0x71a7: 0xf0001f04,\n\t0x71a8: 0xf0001f04, 0x71a9: 0xf0000404, 0x71aa: 0xf0000404, 0x71ab: 0xf0000404,\n\t0x71ac: 0xf0000404, 0x71ad: 0xf0000404, 0x71ae: 0xf0000404, 0x71af: 0xf0000404,\n\t0x71b0: 0xf0000404, 0x71b1: 0xf0000404, 0x71b2: 0xf0000404, 0x71b3: 0xf0000404,\n\t0x71b4: 0xf0000404, 0x71b5: 0xf0000404, 0x71b6: 0xf0000404, 0x71b7: 0xf0000404,\n\t0x71b8: 0xf0000404, 0x71b9: 0xf0000404, 0x71ba: 0xf0000404, 0x71bb: 0xf0000404,\n\t0x71bc: 0xf0000404, 0x71bd: 0xf0000404, 0x71be: 0xf0000404, 0x71bf: 0xe0000bdf,\n\t// Block 0x1c7, offset 0x71c0\n\t0x71c0: 0xf0000404, 0x71c1: 0xe00026cf, 0x71c2: 0xf0000404, 0x71c3: 0xe0000b99,\n\t0x71c4: 0xe0000b9d, 0x71c5: 0xe0000f83, 0x71c6: 0xe000283c,\n\t0x71d3: 0xf0000404,\n\t0x71d4: 0xf0000404, 0x71d5: 0xf0000404, 0x71d6: 0xf0000404, 0x71d7: 0xf0000404,\n\t0x71dd: 0xe000150b, 0x71de: 0xa1a09602, 0x71df: 0xe0001514,\n\t0x71e0: 0x0038ae85, 0x71e1: 0x00389085, 0x71e2: 0x00389685, 0x71e3: 0x00389885,\n\t0x71e4: 0x0038a485, 0x71e5: 0x0038a685, 0x71e6: 0x0038a885, 0x71e7: 0x0038b685,\n\t0x71e8: 0x0038ba85, 0x71e9: 0x00093885, 0x71ea: 0xe0001542, 0x71eb: 0xe000153f,\n\t0x71ec: 0xe000154c, 0x71ed: 0xe0001548, 0x71ee: 0xe00014e1, 0x71ef: 0xe00014e4,\n\t0x71f0: 0xe00014e7, 0x71f1: 0xe00014ea, 0x71f2: 0xe00014f0, 0x71f3: 0xe00014f3,\n\t0x71f4: 0xe00014f6, 0x71f5: 0xe00014fc, 0x71f6: 0xe0001505,\n\t0x71f8: 0xe0001508, 0x71f9: 0xe000150e, 0x71fa: 0xe000151b, 0x71fb: 0xe0001518,\n\t0x71fc: 0xe0001521, 0x71fe: 0xe0001524,\n\t// Block 0x1c8, offset 0x7200\n\t0x7200: 0xf0001f04, 0x7201: 0xf0001f04, 0x7202: 0xf0001f04, 0x7203: 0xf0001f04,\n\t0x7204: 0xf0001f04, 0x7205: 0xf0001f04, 0x7206: 0xf0001f04, 0x7207: 0xf0001f04,\n\t0x7208: 0xf0001f04, 0x7209: 0xf0001f04, 0x720a: 0xf0001f04,\n\t0x7210: 0xf0000a04, 0x7211: 0xf0000a04, 0x7212: 0xf0000a04, 0x7213: 0xf0000a04,\n\t0x7214: 0xe00024a3, 0x7215: 0xf0000a04, 0x7216: 0xf0000a04, 0x7217: 0xe00024ab,\n\t0x7218: 0xe00024b3, 0x7219: 0xf0000a04, 0x721a: 0xe00024bb, 0x721b: 0xf0000a04,\n\t0x721c: 0xf0000a04, 0x721d: 0xf0000a04, 0x721e: 0xe00024c3, 0x721f: 0xf0000a04,\n\t0x7220: 0xe00024cb, 0x7221: 0xe00024d3, 0x7222: 0xe00024db, 0x7223: 0xe00024e3,\n\t0x7224: 0xf0000a04, 0x7225: 0xf0000a04, 0x7226: 0xf0000a04, 0x7227: 0xe00024eb,\n\t0x7228: 0xf0000a04, 0x7229: 0xf0000a04, 0x722a: 0xe00024ef, 0x722b: 0x002c3a8c,\n\t0x722c: 0x002f7a8c, 0x722d: 0xf0000c0c, 0x722e: 0xf0000c0c,\n\t0x7230: 0x002bde9d, 0x7231: 0x002c0a9d, 0x7232: 0x002c3a9d, 0x7233: 0x002c629d,\n\t0x7234: 0x002c989d, 0x7235: 0x002d089d, 0x7236: 0x002d229d, 0x7237: 0x002d689d,\n\t0x7238: 0x002d9a9d, 0x7239: 0x002dcc9d, 0x723a: 0x002dfe9d, 0x723b: 0x002e229d,\n\t0x723c: 0x002e829d, 0x723d: 0x002e9e9d, 0x723e: 0x002ee29d, 0x723f: 0x002f2c9d,\n\t// Block 0x1c9, offset 0x7240\n\t0x7240: 0x002f569d, 0x7241: 0x002f7a9d, 0x7242: 0x002fe69d, 0x7243: 0x00302c9d,\n\t0x7244: 0x00306c9d, 0x7245: 0x0030be9d, 0x7246: 0x0030e29d, 0x7247: 0x0030f69d,\n\t0x7248: 0x0031009d, 0x7249: 0x00312a9d, 0x724a: 0xe00027cb, 0x724b: 0xf0001d1d,\n\t0x724c: 0xe0002830, 0x724d: 0xe0002839, 0x724e: 0xe0000ebc, 0x724f: 0xf0001d1d,\n\t0x7250: 0x002bde8c, 0x7251: 0x002c0a8c, 0x7252: 0x002c3a8c, 0x7253: 0x002c628c,\n\t0x7254: 0x002c988c, 0x7255: 0x002d088c, 0x7256: 0x002d228c, 0x7257: 0x002d688c,\n\t0x7258: 0x002d9a8c, 0x7259: 0x002dcc8c, 0x725a: 0x002dfe8c, 0x725b: 0x002e228c,\n\t0x725c: 0x002e828c, 0x725d: 0x002e9e8c, 0x725e: 0x002ee28c, 0x725f: 0x002f2c8c,\n\t0x7260: 0x002f568c, 0x7261: 0x002f7a8c, 0x7262: 0x002fe68c, 0x7263: 0x00302c8c,\n\t0x7264: 0x00306c8c, 0x7265: 0x0030be8c, 0x7266: 0x0030e28c, 0x7267: 0x0030f68c,\n\t0x7268: 0x0031008c, 0x7269: 0x00312a8c, 0x726a: 0xf0001414, 0x726b: 0xf0001414,\n\t0x7270: 0x002bde9d, 0x7271: 0x002c0a9d, 0x7272: 0x002c3a9d, 0x7273: 0x002c629d,\n\t0x7274: 0x002c989d, 0x7275: 0x002d089d, 0x7276: 0x002d229d, 0x7277: 0x002d689d,\n\t0x7278: 0x002d9a9d, 0x7279: 0x002dcc9d, 0x727a: 0x002dfe9d, 0x727b: 0x002e229d,\n\t0x727c: 0x002e829d, 0x727d: 0x002e9e9d, 0x727e: 0x002ee29d, 0x727f: 0x002f2c9d,\n\t// Block 0x1ca, offset 0x7280\n\t0x7280: 0xe0000cfe, 0x7281: 0xe0000cf8, 0x7282: 0xe0000cf5, 0x7283: 0xe0000d51,\n\t0x7284: 0xe0000d4e, 0x7285: 0xe0000d6f, 0x7286: 0xe0000d6c, 0x7287: 0xe0000d5d,\n\t0x7288: 0xe0000d5a, 0x7289: 0x002e9e89, 0x728a: 0x002eda88, 0x728b: 0x402eda20,\n\t0x728c: 0xe0000e2e, 0x728d: 0xe0000e2b, 0x728e: 0xe0000da0, 0x728f: 0xe0000d9d,\n\t0x7290: 0xe0000de0, 0x7291: 0xe0000ddd, 0x7292: 0xe0000e93, 0x7293: 0xe0000e8f,\n\t0x7294: 0xe0000eca, 0x7295: 0xe0000ec7, 0x7296: 0xe0000edc, 0x7297: 0xe0000ed9,\n\t0x7298: 0xe0000ed0, 0x7299: 0xe0000ecd, 0x729a: 0xe0000f1f, 0x729b: 0xe0000f1c,\n\t0x729c: 0xe0000f2d, 0x729d: 0xe0000f2a, 0x729e: 0xe0000f47, 0x729f: 0xe0000f44,\n\t0x72a0: 0xe0000f33, 0x72a1: 0xe0000f30, 0x72a2: 0xe0000f99, 0x72a3: 0xe0000f96,\n\t0x72a4: 0xe0000f8a, 0x72a5: 0xe0000f87, 0x72a6: 0x00303688, 0x72a7: 0x40303620,\n\t0x72a8: 0xe000102b, 0x72a9: 0xe0001028, 0x72aa: 0xe000103f, 0x72ab: 0xe000103c,\n\t0x72ac: 0xe0000fe7, 0x72ad: 0xe0000fe4, 0x72ae: 0xe0000ff9, 0x72af: 0xe0000ff6,\n\t0x72b0: 0xe0001025, 0x72b1: 0xe0001022, 0x72b2: 0xe0001039, 0x72b3: 0xe0001036,\n\t0x72b4: 0xe00010d8, 0x72b5: 0xe00010d5, 0x72b6: 0xe000110e, 0x72b7: 0xe000110b,\n\t0x72b8: 0xe0001117, 0x72b9: 0xe000113b, 0x72ba: 0xe0001138, 0x72bb: 0xe000114d,\n\t0x72bc: 0xe000114a, 0x72bd: 0xe0001147, 0x72be: 0xe0001144, 0x72bf: 0xe0000f64,\n\t// Block 0x1cb, offset 0x72c0\n\t0x72c0: 0xa0000000, 0x72c1: 0xa0000000, 0x72c2: 0xa0000000, 0x72c3: 0xa0000000,\n\t0x72c4: 0xa0000000, 0x72c6: 0x40096620, 0x72c7: 0x40096a20,\n\t0x72c8: 0x40070820, 0x72c9: 0x4004f220, 0x72ca: 0x4004f620, 0x72cb: 0x4027e620,\n\t0x72cc: 0x40024820, 0x72cd: 0x40024a20, 0x72ce: 0x40070e20, 0x72cf: 0x40071020,\n\t0x72d0: 0xae600000, 0x72d1: 0xae600000, 0x72d2: 0xae600000, 0x72d3: 0xae600000,\n\t0x72d4: 0xae600000, 0x72d5: 0xae600000, 0x72d6: 0xae600000, 0x72d7: 0xae600000,\n\t0x72d8: 0xa1e00000, 0x72d9: 0xa1f00000, 0x72da: 0xa2000000, 0x72db: 0x40026420,\n\t0x72de: 0x40027020, 0x72df: 0x4002cc20,\n\t0x72e0: 0x403aa220, 0x72e1: 0x40391c20, 0x72e2: 0x40391e20, 0x72e3: 0x40392020,\n\t0x72e4: 0x40392620, 0x72e5: 0x40392820, 0x72e6: 0x40393020, 0x72e7: 0xc0520151,\n\t0x72e8: 0x40393c20, 0x72e9: 0x40395621, 0x72ea: 0x40395620, 0x72eb: 0x40395820,\n\t0x72ec: 0x40396420, 0x72ed: 0x40397220, 0x72ee: 0x40397420, 0x72ef: 0x40398820,\n\t0x72f0: 0x40398a20, 0x72f1: 0x4039a420, 0x72f2: 0x4039a620, 0x72f3: 0x4039c620,\n\t0x72f4: 0x4039c820, 0x72f5: 0x4039dc20, 0x72f6: 0x4039de20, 0x72f7: 0x4039e620,\n\t0x72f8: 0x4039e820, 0x72f9: 0x4039ee20, 0x72fa: 0x4039f020, 0x72fb: 0x403a3820,\n\t0x72fc: 0x403a3a20, 0x72fd: 0x403a9c20, 0x72fe: 0x403a9e20, 0x72ff: 0x403aa020,\n\t// Block 0x1cc, offset 0x7300\n\t0x7300: 0xa0000000, 0x7301: 0x4039fc20, 0x7302: 0x403a1220, 0x7303: 0x403a1a20,\n\t0x7304: 0x403a4020, 0x7305: 0x403a4e20, 0x7306: 0x403a5620, 0x7307: 0x403a6820,\n\t0x7308: 0xc0560171, 0x7309: 0x403a9021, 0x730a: 0xc0580171, 0x730b: 0xa1b0a202,\n\t0x730c: 0xa1c0a502, 0x730d: 0xa1d0a902, 0x730e: 0xa1e0ad02, 0x730f: 0xa1f0b202,\n\t0x7310: 0xa200b602, 0x7311: 0xa210ba02, 0x7312: 0xa220bc02, 0x7313: 0xae60bd02,\n\t0x7314: 0xae60be02, 0x7315: 0xadc0bf02, 0x7316: 0xadc0c102, 0x7317: 0xae60c202,\n\t0x7318: 0xae60c302, 0x7319: 0xae60c402, 0x731a: 0xae60c502, 0x731b: 0xae60c602,\n\t0x731c: 0xadc0c702, 0x731d: 0xae60c802, 0x731e: 0xae60c902, 0x731f: 0xadc0c002,\n\t0x7320: 0xe000015e, 0x7321: 0xe00001e6, 0x7322: 0xe0000301, 0x7323: 0xe00003db,\n\t0x7324: 0xe00004b6, 0x7325: 0xe0000580, 0x7326: 0xe000064b, 0x7327: 0xe00006f3,\n\t0x7328: 0xe000079f, 0x7329: 0xe0000844, 0x732a: 0x4004ee20, 0x732b: 0x40024c20,\n\t0x732c: 0x40024e20, 0x732d: 0x4004de20, 0x732e: 0x40393a20, 0x732f: 0x403a1020,\n\t0x7330: 0xa230d102, 0x7331: 0x40392420, 0x7332: 0x40392220, 0x7333: 0x40392a20,\n\t0x7334: 0x00391c84, 0x7335: 0xf0000404, 0x7336: 0xf0000404, 0x7337: 0xf0000404,\n\t0x7338: 0xf0000404, 0x7339: 0x40395a20, 0x733a: 0x40395c20, 0x733b: 0x40393e20,\n\t0x733c: 0x40395e20, 0x733d: 0x40396020, 0x733e: 0x40394020, 0x733f: 0x40396220,\n\t// Block 0x1cd, offset 0x7340\n\t0x7340: 0x40073420, 0x7341: 0x40073620,\n\t0x7353: 0x003a269a,\n\t0x7354: 0x003a2699, 0x7355: 0x003a2697, 0x7356: 0x003a2698, 0x7357: 0x003a7c9a,\n\t0x7358: 0x003a7c99, 0x7359: 0x003a7a9a, 0x735a: 0x003a7a99, 0x735b: 0x003a7e9a,\n\t0x735c: 0x003a7e99, 0x735d: 0xf0001a1a, 0x735e: 0x003a849a, 0x735f: 0x003a8499,\n\t0x7360: 0x003a789a, 0x7361: 0x003a7899, 0x7362: 0x003a809a, 0x7363: 0x003a8099,\n\t0x7364: 0x003a989a, 0x7365: 0x003a9899, 0x7366: 0x003a9897, 0x7367: 0x003a9898,\n\t0x7368: 0x003a90a3, 0x7369: 0x003a90a4, 0x736a: 0xe0001559, 0x736b: 0xe0001556,\n\t0x736c: 0xe0001589, 0x736d: 0xe0001586, 0x736e: 0xe000158f, 0x736f: 0xe000158c,\n\t0x7370: 0xe000159b, 0x7371: 0xe0001598, 0x7372: 0xe0001595, 0x7373: 0xe0001592,\n\t0x7374: 0xe00015a1, 0x7375: 0xe000159e, 0x7376: 0xe00015bf, 0x7377: 0xe00015bc,\n\t0x7378: 0xe00015b9, 0x7379: 0xe00015ad, 0x737a: 0xe00015a7, 0x737b: 0xe00015a4,\n\t0x737c: 0x003a929a, 0x737d: 0x003a9299, 0x737e: 0x003a9297, 0x737f: 0x003a9298,\n\t// Block 0x1ce, offset 0x7380\n\t0x7380: 0xe000155f, 0x7381: 0xe0001565, 0x7382: 0xe000157a, 0x7383: 0xe00015b0,\n\t0x7384: 0xe00015b6, 0x7385: 0xf0001a1a, 0x7386: 0xf0001a1a, 0x7387: 0xf0001a1a,\n\t0x7388: 0xf0001a1a, 0x7389: 0xe0002894, 0x738a: 0xf0001a1a, 0x738b: 0xf0001a1a,\n\t0x738c: 0xf0001a1a, 0x738d: 0xf0001a1a, 0x738e: 0xf0001a1a, 0x738f: 0xe000289a,\n\t0x7390: 0xf0001a1a, 0x7391: 0xf0001a1a, 0x7392: 0xf0001a1a, 0x7393: 0xe00028a0,\n\t0x7394: 0xf0001a1a, 0x7395: 0xf0001a1a, 0x7396: 0xf0001a1a, 0x7397: 0xf0001a1a,\n\t0x7398: 0xf0001a1a, 0x7399: 0xf0001a1a, 0x739a: 0xf0001a1a, 0x739b: 0xf0001a1a,\n\t0x739c: 0xf0001a1a, 0x739d: 0xf0001a1a, 0x739e: 0xf0001a1a, 0x739f: 0xf0001a1a,\n\t0x73a0: 0xf0001a1a, 0x73a1: 0xf0001a1a, 0x73a2: 0xf0001a1a, 0x73a3: 0xf0001a1a,\n\t0x73a4: 0xf0001a1a, 0x73a5: 0xf0001a1a, 0x73a6: 0xf0001a1a, 0x73a7: 0xf0001a1a,\n\t0x73a8: 0xf0001a1a, 0x73a9: 0xf0001a1a, 0x73aa: 0xf0001a1a, 0x73ab: 0xf0001a1a,\n\t0x73ac: 0xf0001a1a, 0x73ad: 0xf0001a1a, 0x73ae: 0xf0001a1a, 0x73af: 0xf0001a1a,\n\t0x73b0: 0xf0001a1a, 0x73b1: 0xe00028e2, 0x73b2: 0xf0001a1a, 0x73b3: 0xf0001a1a,\n\t0x73b4: 0xf0001a1a, 0x73b5: 0xe00028e8, 0x73b6: 0xf0001a1a, 0x73b7: 0xf0001a1a,\n\t0x73b8: 0xf0001a1a, 0x73b9: 0xf0001a1a, 0x73ba: 0xf0001a1a, 0x73bb: 0xf0001a1a,\n\t0x73bc: 0xf0001a1a, 0x73bd: 0xe00028ee, 0x73be: 0xf0001a1a, 0x73bf: 0xf0001a1a,\n\t// Block 0x1cf, offset 0x73c0\n\t0x73c0: 0xf0001a1a, 0x73c1: 0xf0001a1a, 0x73c2: 0xf0001a1a, 0x73c3: 0xe00028f4,\n\t0x73c4: 0xf0001a1a, 0x73c5: 0xf0001a1a, 0x73c6: 0xf0001a1a, 0x73c7: 0xf0001a1a,\n\t0x73c8: 0xf0001a1a, 0x73c9: 0xe00028f7, 0x73ca: 0xf0001a1a, 0x73cb: 0xf0001a1a,\n\t0x73cc: 0xf0001a1a, 0x73cd: 0xf0001a1a, 0x73ce: 0xf0001a1a, 0x73cf: 0xe00028fd,\n\t0x73d0: 0xf0001a1a, 0x73d1: 0xf0001a1a, 0x73d2: 0xf0001a1a, 0x73d3: 0xe0002900,\n\t0x73d4: 0xf0001a1a, 0x73d5: 0xf0001a1a, 0x73d6: 0xf0001a1a, 0x73d7: 0xf0001a1a,\n\t0x73d8: 0xf0001a1a, 0x73d9: 0xe0002906, 0x73da: 0xf0001a1a, 0x73db: 0xf0001a1a,\n\t0x73dc: 0xf0001a1a, 0x73dd: 0x003a90a8, 0x73de: 0xe0000003, 0x73df: 0xe0000006,\n\t0x73e0: 0xe0000009, 0x73e1: 0xe000000c, 0x73e2: 0xe000000f, 0x73e3: 0xe0000012,\n\t0x73e4: 0xe000156b, 0x73e5: 0xe000156e, 0x73e6: 0xe0001577, 0x73e7: 0xe000157d,\n\t0x73e8: 0xe00015aa, 0x73e9: 0xe00015b3, 0x73ea: 0xf0001919, 0x73eb: 0xf0001919,\n\t0x73ec: 0xf0001919, 0x73ed: 0xf0001919, 0x73ee: 0xe0002891, 0x73ef: 0xf0001919,\n\t0x73f0: 0xf0001919, 0x73f1: 0xf0001919, 0x73f2: 0xf0001919, 0x73f3: 0xf0001919,\n\t0x73f4: 0xe0002897, 0x73f5: 0xf0001919, 0x73f6: 0xf0001919, 0x73f7: 0xf0001919,\n\t0x73f8: 0xf0001919, 0x73f9: 0xf0001919, 0x73fa: 0xe000289d, 0x73fb: 0xf0001919,\n\t0x73fc: 0xe00028df, 0x73fd: 0xf0001919, 0x73fe: 0xe00028e5, 0x73ff: 0xf0001919,\n\t// Block 0x1d0, offset 0x7400\n\t0x7400: 0xf0001919, 0x7401: 0xf0001919, 0x7402: 0xf0001919, 0x7403: 0xe00028eb,\n\t0x7404: 0xf0001919, 0x7405: 0xf0001919, 0x7406: 0xe00028f1, 0x7407: 0xf0001919,\n\t0x7408: 0xf0001919, 0x7409: 0xf0001919, 0x740a: 0xf0001919, 0x740b: 0xf0001919,\n\t0x740c: 0xf0001919, 0x740d: 0xf0001919, 0x740e: 0xe00028fa, 0x740f: 0xf0001919,\n\t0x7410: 0x003a90a7, 0x7411: 0xf0001919, 0x7412: 0xf0001919, 0x7413: 0xf0001919,\n\t0x7414: 0xf0001919, 0x7415: 0xe0002903, 0x7416: 0xf0001919, 0x7417: 0xe000155c,\n\t0x7418: 0xe0001562, 0x7419: 0xe0001568, 0x741a: 0xe0001571, 0x741b: 0xe0001580,\n\t0x741c: 0xf0001717, 0x741d: 0xf0001717, 0x741e: 0xf0001717, 0x741f: 0xf0001717,\n\t0x7420: 0xf0001717, 0x7421: 0xf0001717, 0x7422: 0xf0001717, 0x7423: 0xf0001717,\n\t0x7424: 0xf0001717, 0x7425: 0xf0001717, 0x7426: 0xf0001717, 0x7427: 0xf0001717,\n\t0x7428: 0xf0001717, 0x7429: 0xf0001717, 0x742a: 0xf0001717, 0x742b: 0xf0001717,\n\t0x742c: 0xf0001717, 0x742d: 0xf0001717, 0x742e: 0xf0001717, 0x742f: 0xf0001717,\n\t0x7430: 0xf0001717, 0x7431: 0xf0001717, 0x7432: 0xf0001717, 0x7433: 0xf0001717,\n\t0x7434: 0xf0001717, 0x7435: 0xf0001717, 0x7436: 0xf0001717, 0x7437: 0xf0001717,\n\t0x7438: 0xf0001717, 0x7439: 0xf0001717, 0x743a: 0xf0001717, 0x743b: 0xf0001717,\n\t0x743c: 0xf0001717, 0x743d: 0xf0001717, 0x743e: 0xf0001717, 0x743f: 0xf0001717,\n\t// Block 0x1d1, offset 0x7440\n\t0x7440: 0xf0001717, 0x7441: 0xf0001717, 0x7442: 0xf0001717, 0x7443: 0xf0001717,\n\t0x7444: 0xf0001717, 0x7445: 0xf0001717, 0x7446: 0xf0001717, 0x7447: 0xf0001717,\n\t0x7448: 0xf0001717, 0x7449: 0xf0001717, 0x744a: 0xf0001717, 0x744b: 0xf0001717,\n\t0x744c: 0xf0001717, 0x744d: 0xf0001717, 0x744e: 0xf0001717, 0x744f: 0xf0001717,\n\t0x7450: 0xf0001717, 0x7451: 0xf0001717, 0x7452: 0xf0001717, 0x7453: 0xf0001717,\n\t0x7454: 0xf0001717, 0x7455: 0xf0001717, 0x7456: 0xf0001717, 0x7457: 0xf0001717,\n\t0x7458: 0xf0001717, 0x7459: 0xf0001717, 0x745a: 0xf0001717, 0x745b: 0xf0001717,\n\t0x745c: 0xf0001717, 0x745d: 0xf0001717, 0x745e: 0xf0001717, 0x745f: 0xe0001574,\n\t0x7460: 0xe0001583, 0x7461: 0xf0001818, 0x7462: 0xf0001818, 0x7463: 0xf0001818,\n\t0x7464: 0xf0001818, 0x7465: 0xf0001818, 0x7466: 0xf0001818, 0x7467: 0xf0001818,\n\t0x7468: 0xf0001818, 0x7469: 0xf0001818, 0x746a: 0xf0001818, 0x746b: 0xf0001818,\n\t0x746c: 0xf0001818, 0x746d: 0xf0001818, 0x746e: 0xf0001818, 0x746f: 0xf0001818,\n\t0x7470: 0xf0001818, 0x7471: 0xf0001818, 0x7472: 0xf0001818, 0x7473: 0xf0001818,\n\t0x7474: 0xf0001818, 0x7475: 0xe00028d0, 0x7476: 0xf0001a1a, 0x7477: 0xe00028d6,\n\t0x7478: 0xf0001a1a, 0x7479: 0xe00028dc, 0x747a: 0xf0001a1a, 0x747b: 0xe00028b8,\n\t0x747c: 0xf0001a1a, 0x747d: 0xe00028be, 0x747e: 0xf0001a1a, 0x747f: 0xe00028ac,\n\t// Block 0x1d2, offset 0x7480\n\t0x7480: 0xf0001a1a, 0x7481: 0xe00028a6, 0x7482: 0xf0001a1a, 0x7483: 0xe00028b2,\n\t0x7484: 0xf0001a1a, 0x7485: 0xe00028c4, 0x7486: 0xf0001a1a, 0x7487: 0xe00028ca,\n\t0x7488: 0xf0001a1a, 0x7489: 0xf0001a1a, 0x748a: 0xf0001a1a, 0x748b: 0xf0001a1a,\n\t0x748c: 0xf0001a1a, 0x748d: 0xf0001a1a, 0x748e: 0xf0001a1a, 0x748f: 0xf0001a1a,\n\t0x7490: 0xf0001a1a, 0x7491: 0xe00028cd, 0x7492: 0xf0001919, 0x7493: 0xe00028d3,\n\t0x7494: 0xf0001919, 0x7495: 0xe00028d9, 0x7496: 0xf0001919, 0x7497: 0xe00028b5,\n\t0x7498: 0xf0001919, 0x7499: 0xe00028bb, 0x749a: 0xf0001919, 0x749b: 0xe00028a9,\n\t0x749c: 0xf0001919, 0x749d: 0xe00028a3, 0x749e: 0xf0001919, 0x749f: 0xe00028af,\n\t0x74a0: 0xf0001919, 0x74a1: 0xe00028c1, 0x74a2: 0xf0001919, 0x74a3: 0xe00028c7,\n\t0x74a4: 0xf0001919, 0x74a5: 0xf0001919, 0x74a6: 0xf0001919, 0x74a7: 0xf0001919,\n\t0x74a8: 0xf0001919, 0x74a9: 0xf0001919, 0x74aa: 0xf0001919, 0x74ab: 0xf0001919,\n\t0x74ac: 0xf0001919, 0x74ad: 0xf0001717, 0x74ae: 0xf0001717, 0x74af: 0xf0001717,\n\t0x74b0: 0xf0001717, 0x74b1: 0xf0001717, 0x74b2: 0xf0001717, 0x74b3: 0xf0001717,\n\t0x74b4: 0xf0001818, 0x74b5: 0xf0001818, 0x74b6: 0xf0001818, 0x74b7: 0xf0001818,\n\t0x74b8: 0xf0001818, 0x74b9: 0xf0001818, 0x74ba: 0xf0001818, 0x74bb: 0xf0001818,\n\t0x74bc: 0xf0001919, 0x74bd: 0xf0001a1a, 0x74be: 0x4004c020, 0x74bf: 0x4004c220,\n\t// Block 0x1d3, offset 0x74c0\n\t0x74c0: 0x00391c9a, 0x74c1: 0x00391e9a, 0x74c2: 0x00391e99, 0x74c3: 0x0039209a,\n\t0x74c4: 0x00392099, 0x74c5: 0x0039269a, 0x74c6: 0x00392699, 0x74c7: 0x0039289a,\n\t0x74c8: 0x00392899, 0x74c9: 0x0039309a, 0x74ca: 0x00393099, 0x74cb: 0x00393097,\n\t0x74cc: 0x00393098, 0x74cd: 0x0039389a, 0x74ce: 0x00393899, 0x74cf: 0x00393c9a,\n\t0x74d0: 0x00393c99, 0x74d1: 0x00393c97, 0x74d2: 0x00393c98, 0x74d3: 0x003956a4,\n\t0x74d4: 0x003956a3, 0x74d5: 0x0039569a, 0x74d6: 0x00395699, 0x74d7: 0x00395697,\n\t0x74d8: 0x00395698, 0x74d9: 0x0039589a, 0x74da: 0x00395899, 0x74db: 0x00395897,\n\t0x74dc: 0x00395898, 0x74dd: 0x0039649a, 0x74de: 0x00396499, 0x74df: 0x00396497,\n\t0x74e0: 0x00396498, 0x74e1: 0x0039729a, 0x74e2: 0x00397299, 0x74e3: 0x00397297,\n\t0x74e4: 0x00397298, 0x74e5: 0x0039749a, 0x74e6: 0x00397499, 0x74e7: 0x00397497,\n\t0x74e8: 0x00397498, 0x74e9: 0x0039889a, 0x74ea: 0x00398899, 0x74eb: 0x00398a9a,\n\t0x74ec: 0x00398a99, 0x74ed: 0x0039a49a, 0x74ee: 0x0039a499, 0x74ef: 0x0039a69a,\n\t0x74f0: 0x0039a699, 0x74f1: 0x0039c69a, 0x74f2: 0x0039c699, 0x74f3: 0x0039c697,\n\t0x74f4: 0x0039c698, 0x74f5: 0x0039c89a, 0x74f6: 0x0039c899, 0x74f7: 0x0039c897,\n\t0x74f8: 0x0039c898, 0x74f9: 0x0039dc9a, 0x74fa: 0x0039dc99, 0x74fb: 0x0039dc97,\n\t0x74fc: 0x0039dc98, 0x74fd: 0x0039de9a, 0x74fe: 0x0039de99, 0x74ff: 0x0039de97,\n\t// Block 0x1d4, offset 0x7500\n\t0x7500: 0x0039de98, 0x7501: 0x0039e69a, 0x7502: 0x0039e699, 0x7503: 0x0039e697,\n\t0x7504: 0x0039e698, 0x7505: 0x0039e89a, 0x7506: 0x0039e899, 0x7507: 0x0039e897,\n\t0x7508: 0x0039e898, 0x7509: 0x0039ee9a, 0x750a: 0x0039ee99, 0x750b: 0x0039ee97,\n\t0x750c: 0x0039ee98, 0x750d: 0x0039f09a, 0x750e: 0x0039f099, 0x750f: 0x0039f097,\n\t0x7510: 0x0039f098, 0x7511: 0x0039fc9a, 0x7512: 0x0039fc99, 0x7513: 0x0039fc97,\n\t0x7514: 0x0039fc98, 0x7515: 0x003a129a, 0x7516: 0x003a1299, 0x7517: 0x003a1297,\n\t0x7518: 0x003a1298, 0x7519: 0x003a1a9a, 0x751a: 0x003a1a99, 0x751b: 0x003a1a97,\n\t0x751c: 0x003a1a98, 0x751d: 0x003a409a, 0x751e: 0x003a4099, 0x751f: 0x003a4097,\n\t0x7520: 0x003a4098, 0x7521: 0x003a4e9a, 0x7522: 0x003a4e99, 0x7523: 0x003a4e97,\n\t0x7524: 0x003a4e98, 0x7525: 0x003a569a, 0x7526: 0x003a5699, 0x7527: 0x003a5697,\n\t0x7528: 0x003a5698, 0x7529: 0x003a689a, 0x752a: 0x003a6899, 0x752b: 0x003a6897,\n\t0x752c: 0x003a6898, 0x752d: 0x003a749a, 0x752e: 0x003a7499, 0x752f: 0x003a90a6,\n\t0x7530: 0x003a90a5, 0x7531: 0x003a909a, 0x7532: 0x003a9099, 0x7533: 0x003a9097,\n\t0x7534: 0x003a9098, 0x7535: 0xe0001732, 0x7536: 0xe000172f, 0x7537: 0xe0001738,\n\t0x7538: 0xe0001735, 0x7539: 0xe000173e, 0x753a: 0xe000173b, 0x753b: 0xf0001a1a,\n\t0x753c: 0xf0001919, 0x753f: 0xa0000000,\n\t// Block 0x1d5, offset 0x7540\n\t0x7541: 0x40409a20, 0x7542: 0x40409820, 0x7543: 0x40409c20,\n\t0x7545: 0x40407c20, 0x7546: 0x40407e20, 0x7547: 0x40408020,\n\t0x7548: 0x40408220, 0x7549: 0x40408420, 0x754a: 0x40408620, 0x754b: 0x40408820,\n\t0x754c: 0x40408c20, 0x754f: 0x40409020,\n\t0x7550: 0x40409220, 0x7553: 0x40409420,\n\t0x7554: 0x40409620, 0x7555: 0xc33108b1, 0x7556: 0x40409a20, 0x7557: 0x40409c20,\n\t0x7558: 0x40409e20, 0x7559: 0x4040a020, 0x755a: 0x4040a220, 0x755b: 0x4040a420,\n\t0x755c: 0x4040a620, 0x755d: 0x4040a820, 0x755e: 0x4040aa20, 0x755f: 0x4040ac20,\n\t0x7560: 0x4040ae20, 0x7561: 0x4040b020, 0x7562: 0x4040b220, 0x7563: 0x4040b420,\n\t0x7564: 0xc32f0851, 0x7565: 0x4040b820, 0x7566: 0x4040ba20, 0x7567: 0x4040bc20,\n\t0x7568: 0x4040be20, 0x756a: 0x4040c020, 0x756b: 0x4040c220,\n\t0x756c: 0x4040c420, 0x756d: 0x4040c620, 0x756e: 0x4040c820, 0x756f: 0x4040ca20,\n\t0x7570: 0x4040cc20, 0x7572: 0x4040d020,\n\t0x7576: 0x4040d420, 0x7577: 0x4040d620,\n\t0x7578: 0x4040d820, 0x7579: 0x4040da20,\n\t0x757c: 0xa070f102, 0x757d: 0x4040dc20, 0x757e: 0x4040de20, 0x757f: 0x4040e020,\n\t// Block 0x1d6, offset 0x7580\n\t0x7580: 0x4040e220, 0x7581: 0x4040e420, 0x7582: 0x4040e620, 0x7583: 0x4040e820,\n\t0x7584: 0x4040ea20, 0x7587: 0xc05a0191,\n\t0x7588: 0x4040f220, 0x758b: 0x4040f420,\n\t0x758c: 0x4040f620, 0x758d: 0x8209207c, 0x758e: 0x4040b420,\n\t0x7597: 0x4040fa20,\n\t0x759c: 0xe000183f, 0x759d: 0xe0001842, 0x759f: 0xe0001848,\n\t0x75a0: 0x40408a20, 0x75a1: 0x40408e20, 0x75a2: 0x4040ec20, 0x75a3: 0x4040ee20,\n\t0x75a6: 0xe000016d, 0x75a7: 0xe00001fb,\n\t0x75a8: 0xe0000316, 0x75a9: 0xe00003f0, 0x75aa: 0xe00004cb, 0x75ab: 0xe0000595,\n\t0x75ac: 0xe0000660, 0x75ad: 0xe0000708, 0x75ae: 0xe00007b4, 0x75af: 0xe0000859,\n\t0x75b0: 0x4040ce20, 0x75b1: 0x4040d220, 0x75b2: 0x4027e820, 0x75b3: 0x4027ea20,\n\t0x75b4: 0x40283020, 0x75b5: 0x40283220, 0x75b6: 0x40283420, 0x75b7: 0x40283620,\n\t0x75b8: 0x40283820, 0x75b9: 0x40283a20, 0x75ba: 0x40073a20, 0x75bb: 0x4027ec20,\n\t// Block 0x1d7, offset 0x75c0\n\t0x75c0: 0xa0000000, 0x75c1: 0xa0000000, 0x75c2: 0xa0000000, 0x75c3: 0xa0000000,\n\t0x75c4: 0xa0000000, 0x75c5: 0xa0000000, 0x75c6: 0xa0000000, 0x75c7: 0xa0000000,\n\t0x75c8: 0xa0000000, 0x75c9: 0x40020020, 0x75ca: 0x40020220, 0x75cb: 0x40020420,\n\t0x75cc: 0x40020620, 0x75cd: 0x40020820, 0x75ce: 0xa0000000, 0x75cf: 0xa0000000,\n\t0x75d0: 0xa0000000, 0x75d1: 0xa0000000, 0x75d2: 0xa0000000, 0x75d3: 0xa0000000,\n\t0x75d4: 0xa0000000, 0x75d5: 0xa0000000, 0x75d6: 0xa0000000, 0x75d7: 0xa0000000,\n\t0x75d8: 0xa0000000, 0x75d9: 0xa0000000, 0x75da: 0xa0000000, 0x75db: 0xa0000000,\n\t0x75dc: 0xa0000000, 0x75dd: 0xa0000000, 0x75de: 0xa0000000, 0x75df: 0xa0000000,\n\t0x75e0: 0x40021220, 0x75e1: 0x4002ba20, 0x75e2: 0x4003e020, 0x75e3: 0x4004ea20,\n\t0x75e4: 0x4027de20, 0x75e5: 0x4004ec20, 0x75e6: 0x4004e620, 0x75e7: 0x4003d220,\n\t0x75e8: 0x4003f420, 0x75e9: 0x4003f620, 0x75ea: 0x4004d820, 0x75eb: 0x40093820,\n\t0x75ec: 0x40024020, 0x75ed: 0x40021a20, 0x75ee: 0x4002e420, 0x75ef: 0x4004e220,\n\t0x75f0: 0x4029cc20, 0x75f1: 0x4029ce20, 0x75f2: 0x4029d020, 0x75f3: 0x4029d220,\n\t0x75f4: 0x4029d420, 0x75f5: 0x4029d620, 0x75f6: 0x4029d820, 0x75f7: 0x4029da20,\n\t0x75f8: 0x4029dc20, 0x75f9: 0x4029de20, 0x75fa: 0x40026c20, 0x75fb: 0x40026220,\n\t0x75fc: 0x40094020, 0x75fd: 0x40094220, 0x75fe: 0x40094420, 0x75ff: 0x4002c420,\n\t// Block 0x1d8, offset 0x7600\n\t0x7600: 0x4004d620, 0x7601: 0x002bde88, 0x7602: 0x002c0a88, 0x7603: 0xc3350911,\n\t0x7604: 0x002c6288, 0x7605: 0x002c9888, 0x7606: 0x002d0888, 0x7607: 0xc33900d1,\n\t0x7608: 0x002d6888, 0x7609: 0xc33b0931, 0x760a: 0x002dcc88, 0x760b: 0x002dfe88,\n\t0x760c: 0xc0030002, 0x760d: 0x002e8288, 0x760e: 0x002e9e88, 0x760f: 0xc33f0071,\n\t0x7610: 0x002f2c88, 0x7611: 0x002e0083, 0x7612: 0x002f7a88, 0x7613: 0xc3430911,\n\t0x7614: 0x00302c88, 0x7615: 0xc3470071, 0x7616: 0x0030be88, 0x7617: 0x0030e288,\n\t0x7618: 0x002d6a83, 0x7619: 0x00310088, 0x761a: 0x00312a88, 0x761b: 0x4003f820,\n\t0x761c: 0x4004e420, 0x761d: 0x4003fa20, 0x761e: 0x40062420, 0x761f: 0x40021620,\n\t0x7620: 0x40061e20, 0x7621: 0x402bde20, 0x7622: 0x402c0a20, 0x7623: 0xc3330911,\n\t0x7624: 0x402c6220, 0x7625: 0x402c9820, 0x7626: 0x402d0820, 0x7627: 0xc33700d1,\n\t0x7628: 0x402d6820, 0x7629: 0x402d9a20, 0x762a: 0x402dcc20, 0x762b: 0x402dfe20,\n\t0x762c: 0xc0000002, 0x762d: 0x402e8220, 0x762e: 0x402e9e20, 0x762f: 0xc33d0071,\n\t0x7630: 0x402f2c20, 0x7631: 0x402e0020, 0x7632: 0x402f7a20, 0x7633: 0xc3410911,\n\t0x7634: 0x40302c20, 0x7635: 0xc3450071, 0x7636: 0x4030be20, 0x7637: 0x4030e220,\n\t0x7638: 0x402d6a20, 0x7639: 0x40310020, 0x763a: 0x40312a20, 0x763b: 0x4003fc20,\n\t0x763c: 0x40094820, 0x763d: 0x4003fe20, 0x763e: 0x40094c20, 0x763f: 0xa0000000,\n\t// Block 0x1d9, offset 0x7640\n\t0x7640: 0xe00008f5, 0x7641: 0xe00008ef, 0x7642: 0xe0000921, 0x7643: 0xe0000969,\n\t0x7644: 0xe000095b, 0x7645: 0xe000094d, 0x7646: 0xe00009dd, 0x7647: 0x002c3c83,\n\t0x7648: 0xe0000ae8, 0x7649: 0xe0000ae2, 0x764a: 0xe0000af4, 0x764b: 0xe0000b20,\n\t0x764c: 0xe0002918, 0x764d: 0xe0002915, 0x764e: 0xe000291e, 0x764f: 0xe0002924,\n\t0x7650: 0xe0000ab3, 0x7651: 0xe0000d63, 0x7652: 0xe0000d9a, 0x7653: 0xe0000d94,\n\t0x7654: 0xe0000da6, 0x7655: 0xe0000de6, 0x7656: 0x002ee483, 0x7657: 0x40093e20,\n\t0x7658: 0xe0000e12, 0x7659: 0xe0000fe1, 0x765a: 0xe0000fdb, 0x765b: 0xe0000fed,\n\t0x765c: 0x00306e83, 0x765d: 0xe0001102, 0x765e: 0x00318888, 0x765f: 0xe0000f7b,\n\t0x7660: 0xe00008f2, 0x7661: 0xe00008ec, 0x7662: 0xe000091e, 0x7663: 0xe0000966,\n\t0x7664: 0xe0000958, 0x7665: 0xe000094a, 0x7666: 0xe00009d5, 0x7667: 0x402c3c20,\n\t0x7668: 0xe0000ae5, 0x7669: 0xe0000adf, 0x766a: 0xe0000af1, 0x766b: 0xe0000b1d,\n\t0x766c: 0xe0000c28, 0x766d: 0xe0000c22, 0x766e: 0xe0000c34, 0x766f: 0xe0000c40,\n\t0x7670: 0xe0000aad, 0x7671: 0xe0000d60, 0x7672: 0xe0000d97, 0x7673: 0xe0000d91,\n\t0x7674: 0xe0000da3, 0x7675: 0xe0000de3, 0x7676: 0x402ee420, 0x7677: 0x40093c20,\n\t0x7678: 0xe0000e0f, 0x7679: 0xe0000fde, 0x767a: 0xe0000fd8, 0x767b: 0xe0000fea,\n\t0x767c: 0x40306e20, 0x767d: 0xe00010ff, 0x767e: 0x40318820, 0x767f: 0xe0001114,\n\t// Block 0x1da, offset 0x7680\n\t0x7680: 0xe0000983, 0x7681: 0xe0000980, 0x7682: 0xe00008fb, 0x7683: 0xe00008f8,\n\t0x7684: 0xe000097d, 0x7685: 0xe000097a, 0x7686: 0xe0000a38, 0x7687: 0xe0000a35,\n\t0x7688: 0xe0000a3e, 0x7689: 0xe0000a3b, 0x768a: 0xe0000a4a, 0x768b: 0xe0000a47,\n\t0x768c: 0xe0000a44, 0x768d: 0xe0000a41, 0x768e: 0xe0000a86, 0x768f: 0xe0000a83,\n\t0x7690: 0xe0000aaa, 0x7691: 0xe0000aa7, 0x7692: 0xe0000b46, 0x7693: 0xe0000b43,\n\t0x7694: 0xe0000aee, 0x7695: 0xe0000aeb, 0x7696: 0xe0000b2c, 0x7697: 0xe0000b29,\n\t0x7698: 0xe0000b40, 0x7699: 0xe0000b3d, 0x769a: 0xe0000b1a, 0x769b: 0xe0000b17,\n\t0x769c: 0xe0000bb8, 0x769d: 0xe0000bb5, 0x769e: 0x002d2483, 0x769f: 0x402d2420,\n\t0x76a0: 0xe0000bc4, 0x76a1: 0xe0000bc1, 0x76a2: 0xe0000bca, 0x76a3: 0xe0000bc7,\n\t0x76a4: 0xe0000bee, 0x76a5: 0xe0000beb, 0x76a6: 0xe0000c1b, 0x76a7: 0xe0000c18,\n\t0x76a8: 0xe000292b, 0x76a9: 0xe0000c4e, 0x76aa: 0xe0002931, 0x76ab: 0xe0000c5d,\n\t0x76ac: 0xe000291b, 0x76ad: 0xe0000c2e, 0x76ae: 0xe000292e, 0x76af: 0xe0000c57,\n\t0x76b0: 0x002d9a83, 0x76b1: 0x402d9820, 0x76b2: 0xe00027e2, 0x76b3: 0xf0000404,\n\t0x76b4: 0xe0000c8a, 0x76b5: 0xe0000c87, 0x76b6: 0xe0000c9f, 0x76b7: 0xe0000c9c,\n\t0x76b8: 0x402f7220, 0x76b9: 0xe0000ccc, 0x76ba: 0xe0000cc9, 0x76bb: 0xe0000cd8,\n\t0x76bc: 0xe0000cd5, 0x76bd: 0xe0000cd2, 0x76be: 0xe0000ccf, 0x76bf: 0xe0000d04,\n\t// Block 0x1db, offset 0x76c0\n\t0x76c0: 0xe0000cfe, 0x76c1: 0xe0000cf8, 0x76c2: 0xe0000cf5, 0x76c3: 0xe0000d51,\n\t0x76c4: 0xe0000d4e, 0x76c5: 0xe0000d6f, 0x76c6: 0xe0000d6c, 0x76c7: 0xe0000d5d,\n\t0x76c8: 0xe0000d5a, 0x76c9: 0xf0000404, 0x76ca: 0x002eda88, 0x76cb: 0x402eda20,\n\t0x76cc: 0xe0000e2e, 0x76cd: 0xe0000e2b, 0x76ce: 0xe0000da0, 0x76cf: 0xe0000d9d,\n\t0x76d0: 0xe0000de0, 0x76d1: 0xe0000ddd, 0x76d2: 0xe0000e93, 0x76d3: 0xe0000e8f,\n\t0x76d4: 0xe0000eca, 0x76d5: 0xe0000ec7, 0x76d6: 0xe0000edc, 0x76d7: 0xe0000ed9,\n\t0x76d8: 0xe0000ed0, 0x76d9: 0xe0000ecd, 0x76da: 0xe0000f1f, 0x76db: 0xe0000f1c,\n\t0x76dc: 0xe0000f2d, 0x76dd: 0xe0000f2a, 0x76de: 0x002fe883, 0x76df: 0x402fe820,\n\t0x76e0: 0xe0000f33, 0x76e1: 0xe0000f30, 0x76e2: 0xe0000f99, 0x76e3: 0xe0000f96,\n\t0x76e4: 0xe0000f8a, 0x76e5: 0xe0000f87, 0x76e6: 0x00303688, 0x76e7: 0x40303620,\n\t0x76e8: 0xe000102b, 0x76e9: 0xe0001028, 0x76ea: 0xe000103f, 0x76eb: 0xe000103c,\n\t0x76ec: 0xe0000fe7, 0x76ed: 0xe0000fe4, 0x76ee: 0xe0000ff9, 0x76ef: 0xe0000ff6,\n\t0x76f0: 0xe0001025, 0x76f1: 0xe0001022, 0x76f2: 0xe0001039, 0x76f3: 0xe0001036,\n\t0x76f4: 0xe00010d8, 0x76f5: 0xe00010d5, 0x76f6: 0xe000110e, 0x76f7: 0xe000110b,\n\t0x76f8: 0xe0001117, 0x76f9: 0xe000113b, 0x76fa: 0xe0001138, 0x76fb: 0xe000114d,\n\t0x76fc: 0xe000114a, 0x76fd: 0xe0001147, 0x76fe: 0xe0001144, 0x76ff: 0xe0000f64,\n\t// Block 0x1dc, offset 0x7700\n\t0x7700: 0x402c1a20, 0x7701: 0x002c2a88, 0x7702: 0x002c3288, 0x7703: 0x402c3220,\n\t0x7704: 0x0031c488, 0x7705: 0x4031c420, 0x7706: 0x002efa88, 0x7707: 0x002c4e88,\n\t0x7708: 0x402c4e20, 0x7709: 0x002c7288, 0x770a: 0x002c7a88, 0x770b: 0x002c8488,\n\t0x770c: 0x402c8420, 0x770d: 0xe000115c, 0x770e: 0x002cae88, 0x770f: 0x002c9a83,\n\t0x7710: 0x002cc288, 0x7711: 0x002d1688, 0x7712: 0x402d1620, 0x7713: 0x002d4488,\n\t0x7714: 0x002d5888, 0x7715: 0x402d7820, 0x7716: 0x002dc288, 0x7717: 0x002db688,\n\t0x7718: 0x002e0a88, 0x7719: 0x402e0a20, 0x771a: 0x402e3820, 0x771b: 0x402e7220,\n\t0x771c: 0x0030a088, 0x771d: 0x002eb488, 0x771e: 0x402ebc20, 0x771f: 0x002f1088,\n\t0x7720: 0xe0000e56, 0x7721: 0xe0000e53, 0x7722: 0x002d6088, 0x7723: 0x402d6020,\n\t0x7724: 0x002f3e88, 0x7725: 0x402f3e20, 0x7726: 0x002f8288, 0x7727: 0x0031b488,\n\t0x7728: 0x4031b420, 0x7729: 0x00300888, 0x772a: 0x40301220, 0x772b: 0x40304220,\n\t0x772c: 0x00304a88, 0x772d: 0x40304a20, 0x772e: 0x00305288, 0x772f: 0xe000105f,\n\t0x7730: 0xe000105c, 0x7731: 0x0030b488, 0x7732: 0x0030cc88, 0x7733: 0x00311888,\n\t0x7734: 0x40311820, 0x7735: 0x00313488, 0x7736: 0x40313420, 0x7737: 0x00316488,\n\t0x7738: 0x00316e88, 0x7739: 0x40316e20, 0x773a: 0x40317820, 0x773b: 0x4031a620,\n\t0x773c: 0x0031bc88, 0x773d: 0x4031bc20, 0x773e: 0xe0000fc9, 0x773f: 0x40319420,\n\t// Block 0x1dd, offset 0x7740\n\t0x7740: 0x40321220, 0x7741: 0x40321a20, 0x7742: 0x40322220, 0x7743: 0x40322a20,\n\t0x7744: 0xe0000ad5, 0x7745: 0xe0000ad1, 0x7746: 0xe0000acd, 0x7747: 0xf0000a0a,\n\t0x7748: 0xf000040a, 0x7749: 0xf0000404, 0x774a: 0xf0000a0a, 0x774b: 0xf000040a,\n\t0x774c: 0xf0000404, 0x774d: 0xe0000947, 0x774e: 0xe0000944, 0x774f: 0xe0002921,\n\t0x7750: 0xe0000c3a, 0x7751: 0xe0000dcc, 0x7752: 0xe0000dc9, 0x7753: 0xe0000ff3,\n\t0x7754: 0xe0000ff0, 0x7755: 0xe0002964, 0x7756: 0xe0002961, 0x7757: 0xe0002952,\n\t0x7758: 0xe000294f, 0x7759: 0xe000295e, 0x775a: 0xe000295b, 0x775b: 0xe0002958,\n\t0x775c: 0xe0002955, 0x775d: 0x402cae20, 0x775e: 0xe0000962, 0x775f: 0xe000095e,\n\t0x7760: 0xe0000976, 0x7761: 0xe0000972, 0x7762: 0xe00009f4, 0x7763: 0xe00009ef,\n\t0x7764: 0x002d3a88, 0x7765: 0x402d3a20, 0x7766: 0xe0000bbe, 0x7767: 0xe0000bbb,\n\t0x7768: 0xe0000c99, 0x7769: 0xe0000c96, 0x776a: 0xe0000e20, 0x776b: 0xe0000e1d,\n\t0x776c: 0xe0000e27, 0x776d: 0xe0000e23, 0x776e: 0xe0001162, 0x776f: 0xe000115f,\n\t0x7770: 0xe0000c8d, 0x7771: 0xf0000a0a, 0x7772: 0xf000040a, 0x7773: 0xf0000404,\n\t0x7774: 0xe0000bac, 0x7775: 0xe0000ba9, 0x7776: 0x002d7888, 0x7777: 0x00319488,\n\t0x7778: 0xe0000d57, 0x7779: 0xe0000d54, 0x777a: 0xe0000954, 0x777b: 0xe0000950,\n\t0x777c: 0xe00009ea, 0x777d: 0xe00009e5, 0x777e: 0xe0000e19, 0x777f: 0xe0000e15,\n\t// Block 0x1de, offset 0x7780\n\t0x7780: 0xe000098f, 0x7781: 0xe000098c, 0x7782: 0xe0000995, 0x7783: 0xe0000992,\n\t0x7784: 0xe0000b62, 0x7785: 0xe0000b5f, 0x7786: 0xe0000b68, 0x7787: 0xe0000b65,\n\t0x7788: 0xe0002937, 0x7789: 0xe0000c69, 0x778a: 0xe000293a, 0x778b: 0xe0000c6f,\n\t0x778c: 0xe0000e4a, 0x778d: 0xe0000e47, 0x778e: 0xe0000e50, 0x778f: 0xe0000e4d,\n\t0x7790: 0xe0000ee8, 0x7791: 0xe0000ee5, 0x7792: 0xe0000eee, 0x7793: 0xe0000eeb,\n\t0x7794: 0xe0001053, 0x7795: 0xe0001050, 0x7796: 0xe0001059, 0x7797: 0xe0001056,\n\t0x7798: 0xe0000f61, 0x7799: 0xe0000f5e, 0x779a: 0xe0000fa5, 0x779b: 0xe0000fa2,\n\t0x779c: 0x00312288, 0x779d: 0x40312220, 0x779e: 0xe0000bf4, 0x779f: 0xe0000bf1,\n\t0x77a0: 0x002ebc88, 0x77a1: 0x402c8c20, 0x77a2: 0x002f2288, 0x77a3: 0x402f2220,\n\t0x77a4: 0x00314088, 0x77a5: 0x40314020, 0x77a6: 0xe000096f, 0x77a7: 0xe000096c,\n\t0x77a8: 0xe0000b32, 0x77a9: 0xe0000b2f, 0x77aa: 0xe000294c, 0x77ab: 0xe0002949,\n\t0x77ac: 0xe0000dfd, 0x77ad: 0xe0000df9, 0x77ae: 0xe0000e04, 0x77af: 0xe0000e01,\n\t0x77b0: 0xe0000e0b, 0x77b1: 0xe0000e07, 0x77b2: 0xe0001129, 0x77b3: 0xe0001126,\n\t0x77b4: 0x402e5e20, 0x77b5: 0x402ed020, 0x77b6: 0x40305a20, 0x77b7: 0x402dd420,\n\t0x77b8: 0xe0000abf, 0x77b9: 0xe0000ec4, 0x77ba: 0x002be888, 0x77bb: 0x002c4488,\n\t0x77bc: 0x402c4420, 0x77bd: 0x002e3888, 0x77be: 0x00303e88, 0x77bf: 0x402ffc20,\n\t// Block 0x1df, offset 0x77c0\n\t0x77c0: 0x40315820, 0x77c1: 0x0031d488, 0x77c2: 0x4031d420, 0x77c3: 0x002c1a88,\n\t0x77c4: 0x00307c88, 0x77c5: 0x0030da88, 0x77c6: 0x002ca288, 0x77c7: 0x402ca220,\n\t0x77c8: 0x002dde88, 0x77c9: 0x402dde20, 0x77ca: 0x002f6a88, 0x77cb: 0x402f6a20,\n\t0x77cc: 0x002f8e88, 0x77cd: 0x402f8e20, 0x77ce: 0x00311088, 0x77cf: 0x40311020,\n\t0x77d0: 0x402bf020, 0x77d1: 0x402bf820, 0x77d2: 0x402c0220, 0x77d3: 0x402c2a20,\n\t0x77d4: 0x402efa20, 0x77d5: 0x402c5620, 0x77d6: 0x402c7220, 0x77d7: 0x402c7a20,\n\t0x77d8: 0x402ccc20, 0x77d9: 0x402c9a20, 0x77da: 0x402cd420, 0x77db: 0x402cc220,\n\t0x77dc: 0x402cdc20, 0x77dd: 0x402ce820, 0x77de: 0x402cf020, 0x77df: 0x402dee20,\n\t0x77e0: 0x402d4420, 0x77e1: 0x402d2a20, 0x77e2: 0x402d3220, 0x77e3: 0x402d5820,\n\t0x77e4: 0x402d0020, 0x77e5: 0x40308820, 0x77e6: 0x402d8020, 0x77e7: 0x402d8e20,\n\t0x77e8: 0x402db620, 0x77e9: 0x402dc220, 0x77ea: 0x402daa20, 0x77eb: 0x402e4220,\n\t0x77ec: 0x402e4a20, 0x77ed: 0x402e5420, 0x77ee: 0x402e6820, 0x77ef: 0x4030a020,\n\t0x77f0: 0x4030ac20, 0x77f1: 0x402e9020, 0x77f2: 0x402eb420, 0x77f3: 0x402ec820,\n\t0x77f4: 0x402ea620, 0x77f5: 0x402f1020, 0x77f6: 0x402eee20, 0x77f7: 0x402f1a20,\n\t0x77f8: 0x402f4c20, 0x77f9: 0x402f9820, 0x77fa: 0x402fa220, 0x77fb: 0x402fac20,\n\t0x77fc: 0x402fb620, 0x77fd: 0x402fbe20, 0x77fe: 0x402fc620, 0x77ff: 0x402fd020,\n\t// Block 0x1e0, offset 0x7800\n\t0x7800: 0xe00009b1, 0x7801: 0xe00009ae, 0x7802: 0xe0000a22, 0x7803: 0xe0000a1f,\n\t0x7804: 0xe0000a28, 0x7805: 0xe0000a25, 0x7806: 0xe0000a2e, 0x7807: 0xe0000a2b,\n\t0x7808: 0xe000260e, 0x7809: 0xe000260b, 0x780a: 0xe0000a8c, 0x780b: 0xe0000a89,\n\t0x780c: 0xe0000a98, 0x780d: 0xe0000a95, 0x780e: 0xe0000aa4, 0x780f: 0xe0000aa1,\n\t0x7810: 0xe0000a92, 0x7811: 0xe0000a8f, 0x7812: 0xe0000a9e, 0x7813: 0xe0000a9b,\n\t0x7814: 0xe0000b55, 0x7815: 0xe0000b51, 0x7816: 0xe0000b4d, 0x7817: 0xe0000b49,\n\t0x7818: 0xe0000b7c, 0x7819: 0xe0000b79, 0x781a: 0xe0000b82, 0x781b: 0xe0000b7f,\n\t0x781c: 0xe0000b39, 0x781d: 0xe0000b35, 0x781e: 0xe0000b8c, 0x781f: 0xe0000b89,\n\t0x7820: 0xe0000bd0, 0x7821: 0xe0000bcd, 0x7822: 0xe0000c00, 0x7823: 0xe0000bfd,\n\t0x7824: 0xe0000c0c, 0x7825: 0xe0000c09, 0x7826: 0xe0000bfa, 0x7827: 0xe0000bf7,\n\t0x7828: 0xe0000c06, 0x7829: 0xe0000c03, 0x782a: 0xe0000c12, 0x782b: 0xe0000c0f,\n\t0x782c: 0xe0002940, 0x782d: 0xe0000c7b, 0x782e: 0xe0002927, 0x782f: 0xe0000c46,\n\t0x7830: 0xe0000c93, 0x7831: 0xe0000c90, 0x7832: 0xe0000cab, 0x7833: 0xe0000ca8,\n\t0x7834: 0xe0000cb1, 0x7835: 0xe0000cae, 0x7836: 0xe0000cde, 0x7837: 0xe0000cdb,\n\t0x7838: 0xe0000ce5, 0x7839: 0xe0000ce1, 0x783a: 0xe0000cf2, 0x783b: 0xe0000cef,\n\t0x783c: 0xe0000cec, 0x783d: 0xe0000ce9, 0x783e: 0xe0000d1e, 0x783f: 0xe0000d1b,\n\t// Block 0x1e1, offset 0x7840\n\t0x7840: 0xe0000d24, 0x7841: 0xe0000d21, 0x7842: 0xe0000d2a, 0x7843: 0xe0000d27,\n\t0x7844: 0xe0000d69, 0x7845: 0xe0000d66, 0x7846: 0xe0000d7b, 0x7847: 0xe0000d78,\n\t0x7848: 0xe0000d87, 0x7849: 0xe0000d84, 0x784a: 0xe0000d81, 0x784b: 0xe0000d7e,\n\t0x784c: 0xe0000ded, 0x784d: 0xe0000de9, 0x784e: 0xe0002946, 0x784f: 0xe0002943,\n\t0x7850: 0xe0000e3d, 0x7851: 0xe0000e39, 0x7852: 0xe0000e35, 0x7853: 0xe0000e31,\n\t0x7854: 0xe0000ea7, 0x7855: 0xe0000ea4, 0x7856: 0xe0000ead, 0x7857: 0xe0000eaa,\n\t0x7858: 0xe0000ed6, 0x7859: 0xe0000ed3, 0x785a: 0xe0000ef4, 0x785b: 0xe0000ef1,\n\t0x785c: 0xe0000efb, 0x785d: 0xe0000ef7, 0x785e: 0xe0000f02, 0x785f: 0xe0000eff,\n\t0x7860: 0xe0000f41, 0x7861: 0xe0000f3e, 0x7862: 0xe0000f53, 0x7863: 0xe0000f50,\n\t0x7864: 0xe0000f26, 0x7865: 0xe0000f22, 0x7866: 0xe0000f3a, 0x7867: 0xe0000f36,\n\t0x7868: 0xe0000f5a, 0x7869: 0xe0000f56, 0x786a: 0xe0000f93, 0x786b: 0xe0000f90,\n\t0x786c: 0xe0000f9f, 0x786d: 0xe0000f9c, 0x786e: 0xe0000fb1, 0x786f: 0xe0000fae,\n\t0x7870: 0xe0000fab, 0x7871: 0xe0000fa8, 0x7872: 0xe0001093, 0x7873: 0xe0001090,\n\t0x7874: 0xe000109f, 0x7875: 0xe000109c, 0x7876: 0xe0001099, 0x7877: 0xe0001096,\n\t0x7878: 0xe0001032, 0x7879: 0xe000102e, 0x787a: 0xe0002964, 0x787b: 0xe0002961,\n\t0x787c: 0xe00010a9, 0x787d: 0xe00010a6, 0x787e: 0xe00010af, 0x787f: 0xe00010ac,\n\t// Block 0x1e2, offset 0x7880\n\t0x7880: 0xe00010d2, 0x7881: 0xe00010cf, 0x7882: 0xe00010cc, 0x7883: 0xe00010c9,\n\t0x7884: 0xe00010e1, 0x7885: 0xe00010de, 0x7886: 0xe00010e7, 0x7887: 0xe00010e4,\n\t0x7888: 0xe00010ed, 0x7889: 0xe00010ea, 0x788a: 0xe0002912, 0x788b: 0xe000290f,\n\t0x788c: 0xe000290c, 0x788d: 0xe0002909, 0x788e: 0xe0001123, 0x788f: 0xe0001120,\n\t0x7890: 0xe0001141, 0x7891: 0xe000113e, 0x7892: 0xe0001153, 0x7893: 0xe0001150,\n\t0x7894: 0xe0001159, 0x7895: 0xe0001156, 0x7896: 0xe0000c15, 0x7897: 0xe0000f8d,\n\t0x7898: 0xe00010db, 0x7899: 0xe0001111, 0x789a: 0xf0000404, 0x789b: 0xe0000f70,\n\t0x789c: 0x40300420, 0x789d: 0x40300620, 0x789e: 0xe0000f7f, 0x789f: 0x402c9620,\n\t0x78a0: 0xe000099b, 0x78a1: 0xe0000998, 0x78a2: 0xe0000989, 0x78a3: 0xe0000986,\n\t0x78a4: 0xe0000928, 0x78a5: 0xe0000924, 0x78a6: 0xe0000930, 0x78a7: 0xe000092c,\n\t0x78a8: 0xe0000940, 0x78a9: 0xe000093c, 0x78aa: 0xe0000938, 0x78ab: 0xe0000934,\n\t0x78ac: 0xe00009aa, 0x78ad: 0xe00009a6, 0x78ae: 0xe0000902, 0x78af: 0xe00008fe,\n\t0x78b0: 0xe000090a, 0x78b1: 0xe0000906, 0x78b2: 0xe000091a, 0x78b3: 0xe0000916,\n\t0x78b4: 0xe0000912, 0x78b5: 0xe000090e, 0x78b6: 0xe00009a2, 0x78b7: 0xe000099e,\n\t0x78b8: 0xe0000b6e, 0x78b9: 0xe0000b6b, 0x78ba: 0xe0000b5c, 0x78bb: 0xe0000b59,\n\t0x78bc: 0xe0000b26, 0x78bd: 0xe0000b23, 0x78be: 0xe0000afb, 0x78bf: 0xe0000af7,\n\t// Block 0x1e3, offset 0x78c0\n\t0x78c0: 0xe0000b03, 0x78c1: 0xe0000aff, 0x78c2: 0xe0000b13, 0x78c3: 0xe0000b0f,\n\t0x78c4: 0xe0000b0b, 0x78c5: 0xe0000b07, 0x78c6: 0xe0000b75, 0x78c7: 0xe0000b71,\n\t0x78c8: 0xe0002934, 0x78c9: 0xe0000c63, 0x78ca: 0xe000293d, 0x78cb: 0xe0000c75,\n\t0x78cc: 0xe0000e84, 0x78cd: 0xe0000e81, 0x78ce: 0xe0000e44, 0x78cf: 0xe0000e41,\n\t0x78d0: 0xe0000dad, 0x78d1: 0xe0000da9, 0x78d2: 0xe0000db5, 0x78d3: 0xe0000db1,\n\t0x78d4: 0xe0000dc5, 0x78d5: 0xe0000dc1, 0x78d6: 0xe0000dbd, 0x78d7: 0xe0000db9,\n\t0x78d8: 0xe0000e8b, 0x78d9: 0xe0000e87, 0x78da: 0xe0000e5d, 0x78db: 0xe0000e59,\n\t0x78dc: 0xe0000e65, 0x78dd: 0xe0000e61, 0x78de: 0xe0000e75, 0x78df: 0xe0000e71,\n\t0x78e0: 0xe0000e6d, 0x78e1: 0xe0000e69, 0x78e2: 0xe0000e7d, 0x78e3: 0xe0000e79,\n\t0x78e4: 0xe000108d, 0x78e5: 0xe000108a, 0x78e6: 0xe000104d, 0x78e7: 0xe000104a,\n\t0x78e8: 0xe0001066, 0x78e9: 0xe0001062, 0x78ea: 0xe000106e, 0x78eb: 0xe000106a,\n\t0x78ec: 0xe000107e, 0x78ed: 0xe000107a, 0x78ee: 0xe0001076, 0x78ef: 0xe0001072,\n\t0x78f0: 0xe0001086, 0x78f1: 0xe0001082, 0x78f2: 0xe0001108, 0x78f3: 0xe0001105,\n\t0x78f4: 0xe0001135, 0x78f5: 0xe0001132, 0x78f6: 0xe000112f, 0x78f7: 0xe000112c,\n\t0x78f8: 0xe000111d, 0x78f9: 0xe000111a, 0x78fa: 0xe0000d0a, 0x78fb: 0xe0000d07,\n\t0x78fc: 0x0030d888, 0x78fd: 0x4030d820, 0x78fe: 0x00312088, 0x78ff: 0x40312020,\n\t// Block 0x1e4, offset 0x7900\n\t0x7900: 0x00093685, 0x7901: 0x40083620, 0x7902: 0x40083820, 0x7903: 0x40083a20,\n\t0x7904: 0x40083c20, 0x7905: 0x002c628b, 0x7906: 0x002c6285, 0x7907: 0x002c9885,\n\t0x7908: 0x002d9a85, 0x7909: 0x002dcc85, 0x790a: 0x40083e20, 0x790b: 0x400a6e20,\n\t0x790c: 0x40084020, 0x790d: 0xe00009c4, 0x790e: 0x402d1e20, 0x790f: 0x40084220,\n\t0x7910: 0xe00002cb, 0x7911: 0xe00002d3, 0x7912: 0xe00002b2, 0x7913: 0xe00002bb,\n\t0x7914: 0xe00003cd, 0x7915: 0xe00002c3, 0x7916: 0xe00003d1, 0x7917: 0xe00004ab,\n\t0x7918: 0xe0000579, 0x7919: 0xe00002c7, 0x791a: 0xe0000640, 0x791b: 0xe00002cf,\n\t0x791c: 0xe00004af, 0x791d: 0xe0000644, 0x791e: 0xe0000798, 0x791f: 0xf0001e1e,\n\t0x7920: 0x002d9a8a, 0x7921: 0xe00027d4, 0x7922: 0xe00027db, 0x7923: 0xe00027ee,\n\t0x7924: 0x0030be8a, 0x7925: 0xe0002848, 0x7926: 0xe000284f, 0x7927: 0xe00010bb,\n\t0x7928: 0xe00027f4, 0x7929: 0x0030f68a, 0x792a: 0xe0002883, 0x792b: 0xe000288a,\n\t0x792c: 0x002e228a, 0x792d: 0x002c3a8a, 0x792e: 0x002c628a, 0x792f: 0x002e828a,\n\t0x7930: 0x002d9a84, 0x7931: 0xf0001f04, 0x7932: 0xf0000404, 0x7933: 0xf0001f04,\n\t0x7934: 0x0030be84, 0x7935: 0xf0001f04, 0x7936: 0xf0000404, 0x7937: 0xe00010b6,\n\t0x7938: 0xe00027f1, 0x7939: 0x0030f684, 0x793a: 0xe0002880, 0x793b: 0xe0002886,\n\t0x793c: 0x002e2284, 0x793d: 0x002c3a84, 0x793e: 0x002c6284, 0x793f: 0x002e8284,\n\t// Block 0x1e5, offset 0x7940\n\t0x7940: 0xe0000024, 0x7941: 0xe0000029, 0x7942: 0xe000002e, 0x7943: 0xe0000033,\n\t0x7944: 0xe0000038, 0x7945: 0xe000003d, 0x7946: 0xe0000042, 0x7947: 0xe0000047,\n\t0x7948: 0xf0001f04, 0x7949: 0xf0001f04, 0x794a: 0xf0001f04, 0x794b: 0xf0001f04,\n\t0x794c: 0xf0001f04, 0x794d: 0xf0001f04, 0x794e: 0xf0001f04, 0x794f: 0xf0001f04,\n\t0x7950: 0xf0001f04, 0x7951: 0xf0000404, 0x7952: 0xf0000404, 0x7953: 0xf0000404,\n\t0x7954: 0xf0000404, 0x7955: 0xf0000404, 0x7956: 0xf0000404, 0x7957: 0xf0000404,\n\t0x7958: 0xf0000404, 0x7959: 0xf0000404, 0x795a: 0xf0000404, 0x795b: 0xf0000404,\n\t0x795c: 0xf0000404, 0x795d: 0xf0000404, 0x795e: 0xf0000404, 0x795f: 0xf0000404,\n\t0x7960: 0xf0000404, 0x7961: 0xf0000404, 0x7962: 0xf0000404, 0x7963: 0xf0000404,\n\t0x7964: 0xf0000404, 0x7965: 0xf0000404, 0x7966: 0xf0000404, 0x7967: 0xf0000404,\n\t0x7968: 0xf0000404, 0x7969: 0xf0000404, 0x796a: 0xf0000404, 0x796b: 0xf0000404,\n\t0x796c: 0xe00024c7, 0x796d: 0xf0000404, 0x796e: 0xf0000404, 0x796f: 0xf0000404,\n\t0x7970: 0xf0000404, 0x7971: 0xf0000404, 0x7972: 0xf0000404, 0x7973: 0xe00024e7,\n\t0x7974: 0xf0000404, 0x7975: 0xf0000404, 0x7976: 0x002bde8c, 0x7977: 0x002c0a8c,\n\t0x7978: 0x002c3a8c, 0x7979: 0x002c628c, 0x797a: 0x002c988c, 0x797b: 0x002d088c,\n\t0x797c: 0x002d228c, 0x797d: 0x002d688c, 0x797e: 0x002d9a8c, 0x797f: 0x002dcc8c,\n\t// Block 0x1e6, offset 0x7980\n\t0x7980: 0xe000230b, 0x7981: 0xe00022f8, 0x7982: 0xe00022fc, 0x7983: 0xe0002311,\n\t0x7984: 0xe0002316, 0x7985: 0xe000231d, 0x7986: 0xe0002321, 0x7987: 0xe0002325,\n\t0x7988: 0xe000232b, 0x7989: 0xf0001c1c, 0x798a: 0xe0002330, 0x798b: 0xe000233c,\n\t0x798c: 0xe0002340, 0x798d: 0xe0002337, 0x798e: 0xe0002346, 0x798f: 0xe000234b,\n\t0x7990: 0xe000234f, 0x7991: 0xe0002353, 0x7992: 0xf0001c1c, 0x7993: 0xe000235e,\n\t0x7994: 0xe0002358, 0x7995: 0xf0001c1c, 0x7996: 0xe0002363, 0x7997: 0xe000236d,\n\t0x7998: 0xf0001f04, 0x7999: 0xf0001f04, 0x799a: 0xf0001f04, 0x799b: 0xf0001f04,\n\t0x799c: 0xf0001f04, 0x799d: 0xf0001f04, 0x799e: 0xf0001f04, 0x799f: 0xf0001f04,\n\t0x79a0: 0xf0001f04, 0x79a1: 0xf0001f04, 0x79a2: 0xf0000404, 0x79a3: 0xf0000404,\n\t0x79a4: 0xf0000404, 0x79a5: 0xf0000404, 0x79a6: 0xf0000404, 0x79a7: 0xf0000404,\n\t0x79a8: 0xf0000404, 0x79a9: 0xf0000404, 0x79aa: 0xf0000404, 0x79ab: 0xf0000404,\n\t0x79ac: 0xf0000404, 0x79ad: 0xf0000404, 0x79ae: 0xf0000404, 0x79af: 0xf0000404,\n\t0x79b0: 0xf0000404, 0x79b1: 0xe0000c1e, 0x79b2: 0xf0001c1c, 0x79b3: 0xf0001d1d,\n\t0x79b4: 0xe0000a31, 0x79b5: 0xf0001d1c, 0x79b6: 0xf0001c1c, 0x79b7: 0xf0001c1c,\n\t0x79b8: 0xe0000ac2, 0x79b9: 0xe0000ac6, 0x79ba: 0xe00027e8, 0x79bb: 0xf0001c1c,\n\t0x79bc: 0xf0001c1c, 0x79bd: 0xf0001c1c, 0x79be: 0xf0001c1c, 0x79bf: 0xe0002431,\n\t// Block 0x1e7, offset 0x79c0\n\t0x79c0: 0xf0001d1c, 0x79c1: 0xf0001d1d, 0x79c2: 0xe00009b7, 0x79c3: 0xe00024f3,\n\t0x79c4: 0xf0001c1c, 0x79c5: 0xf0001c1c, 0x79c6: 0xe0000a66, 0x79c7: 0xe0000a7a,\n\t0x79c8: 0xf0001d1c, 0x79c9: 0xf0001c1d, 0x79ca: 0xf0001c1c, 0x79cb: 0xf0001d1d,\n\t0x79cc: 0xf0001c1c, 0x79cd: 0xf0001d1d, 0x79ce: 0xf0001d1d, 0x79cf: 0xf0001c1c,\n\t0x79d0: 0xf0001c1c, 0x79d1: 0xf0001c1c, 0x79d2: 0xe0000d0d, 0x79d3: 0xe0002818,\n\t0x79d4: 0xf0001c1c, 0x79d5: 0xe0000d3a, 0x79d6: 0xe0000d46, 0x79d7: 0xf0001d1d,\n\t0x79d8: 0xe0000eb0, 0x79d9: 0xe0000eb8, 0x79da: 0xf0001d1d, 0x79db: 0xf0001c1c,\n\t0x79dc: 0xf0001c1d, 0x79dd: 0xf0001c1d, 0x79de: 0xe00010b2, 0x79df: 0xe00009c8,\n\t0x79e0: 0xf0001f04, 0x79e1: 0xf0001f04, 0x79e2: 0xf0001f04, 0x79e3: 0xf0001f04,\n\t0x79e4: 0xf0001f04, 0x79e5: 0xf0001f04, 0x79e6: 0xf0001f04, 0x79e7: 0xf0001f04,\n\t0x79e8: 0xf0001f04, 0x79e9: 0xf0000404, 0x79ea: 0xf0000404, 0x79eb: 0xf0000404,\n\t0x79ec: 0xf0000404, 0x79ed: 0xf0000404, 0x79ee: 0xf0000404, 0x79ef: 0xf0000404,\n\t0x79f0: 0xf0000404, 0x79f1: 0xf0000404, 0x79f2: 0xf0000404, 0x79f3: 0xf0000404,\n\t0x79f4: 0xf0000404, 0x79f5: 0xf0000404, 0x79f6: 0xf0000404, 0x79f7: 0xf0000404,\n\t0x79f8: 0xf0000404, 0x79f9: 0xf0000404, 0x79fa: 0xf0000404, 0x79fb: 0xf0000404,\n\t0x79fc: 0xf0000404, 0x79fd: 0xf0000404, 0x79fe: 0xf0000404, 0x79ff: 0xe0000bdf,\n\t// Block 0x1e8, offset 0x7a00\n\t0x7a00: 0xf0001f04, 0x7a01: 0xf0001f04, 0x7a02: 0xf0001f04, 0x7a03: 0xf0001f04,\n\t0x7a04: 0xf0001f04, 0x7a05: 0xf0001f04, 0x7a06: 0xf0001f04, 0x7a07: 0xf0001f04,\n\t0x7a08: 0xf0001f04, 0x7a09: 0xf0001f04, 0x7a0a: 0xf0001f04,\n\t0x7a10: 0xf0000a04, 0x7a11: 0xf0000a04, 0x7a12: 0xf0000a04, 0x7a13: 0xf0000a04,\n\t0x7a14: 0xf0000a04, 0x7a15: 0xf0000a04, 0x7a16: 0xf0000a04, 0x7a17: 0xf0000a04,\n\t0x7a18: 0xe00024b3, 0x7a19: 0xf0000a04, 0x7a1a: 0xf0000a04, 0x7a1b: 0xf0000a04,\n\t0x7a1c: 0xf0000a04, 0x7a1d: 0xf0000a04, 0x7a1e: 0xf0000a04, 0x7a1f: 0xf0000a04,\n\t0x7a20: 0xe00024cb, 0x7a21: 0xf0000a04, 0x7a22: 0xf0000a04, 0x7a23: 0xf0000a04,\n\t0x7a24: 0xf0000a04, 0x7a25: 0xf0000a04, 0x7a26: 0xf0000a04, 0x7a27: 0xe00024eb,\n\t0x7a28: 0xf0000a04, 0x7a29: 0xf0000a04, 0x7a2a: 0xf0000a04, 0x7a2b: 0x002c3a8c,\n\t0x7a2c: 0x002f7a8c, 0x7a2d: 0xf0000c0c, 0x7a2e: 0xf0000c0c,\n\t0x7a30: 0x002bde9d, 0x7a31: 0x002c0a9d, 0x7a32: 0x002c3a9d, 0x7a33: 0x002c629d,\n\t0x7a34: 0x002c989d, 0x7a35: 0x002d089d, 0x7a36: 0x002d229d, 0x7a37: 0x002d689d,\n\t0x7a38: 0x002d9a9d, 0x7a39: 0x002dcc9d, 0x7a3a: 0x002dfe9d, 0x7a3b: 0x002e229d,\n\t0x7a3c: 0x002e829d, 0x7a3d: 0x002e9e9d, 0x7a3e: 0x002ee29d, 0x7a3f: 0x002f2c9d,\n\t// Block 0x1e9, offset 0x7a40\n\t0x7a40: 0xe00014bd, 0x7a41: 0x0033b483, 0x7a42: 0x00339688, 0x7a43: 0x0033a288,\n\t0x7a44: 0x0033c288, 0x7a45: 0x0033fc88, 0x7a46: 0xc02a0071, 0x7a47: 0x00343688,\n\t0x7a48: 0x00344688, 0x7a49: 0x00349a88, 0x7a4a: 0x0034e488, 0x7a4b: 0x00356288,\n\t0x7a4c: 0x00356a88, 0x7a4d: 0xe00014cf, 0x7a4e: 0x00357a88, 0x7a4f: 0x00365488,\n\t0x7a50: 0xc0090041, 0x7a51: 0x00335288, 0x7a52: 0x00335a88, 0x7a53: 0xc0130092,\n\t0x7a54: 0x00338a88, 0x7a55: 0xc34c0041, 0x7a56: 0xc01c0071, 0x7a57: 0xc0200071,\n\t0x7a58: 0xc0250041, 0x7a59: 0x00343e88, 0x7a5a: 0xc0370092, 0x7a5b: 0x00348488,\n\t0x7a5c: 0x0034a888, 0x7a5d: 0x0034ba88, 0x7a5e: 0xc02e0071, 0x7a5f: 0x00350e88,\n\t0x7a60: 0x00352888, 0x7a61: 0x00353a88, 0x7a62: 0x00354c88, 0x7a63: 0xc03e00f1,\n\t0x7a64: 0x0035ac88, 0x7a65: 0x0035b488, 0x7a66: 0x00360288, 0x7a67: 0xc0440071,\n\t0x7a68: 0x00365c88, 0x7a69: 0x00366688, 0x7a6a: 0x00367488, 0x7a6b: 0xc0480071,\n\t0x7a6c: 0x00368e88, 0x7a6d: 0xc04c0071, 0x7a6e: 0x0036b888, 0x7a6f: 0x0036c488,\n\t0x7a70: 0xc0060041, 0x7a71: 0x40335220, 0x7a72: 0x40335a20, 0x7a73: 0xc0100092,\n\t0x7a74: 0x40338a20, 0x7a75: 0xc3490041, 0x7a76: 0xc01a0071, 0x7a77: 0xc01e0071,\n\t0x7a78: 0xc0220041, 0x7a79: 0x40343e20, 0x7a7a: 0xc0340092, 0x7a7b: 0x40348420,\n\t0x7a7c: 0x4034a820, 0x7a7d: 0x4034ba20, 0x7a7e: 0xc02c0071, 0x7a7f: 0x40350e20,\n\t// Block 0x1ea, offset 0x7a80\n\t0x7a80: 0x40352820, 0x7a81: 0x40353a20, 0x7a82: 0x40354c20, 0x7a83: 0xc03a00f1,\n\t0x7a84: 0x4035ac20, 0x7a85: 0x4035b420, 0x7a86: 0x40360220, 0x7a87: 0xc0420071,\n\t0x7a88: 0x40365c20, 0x7a89: 0x40366620, 0x7a8a: 0x40367420, 0x7a8b: 0xc0460071,\n\t0x7a8c: 0x40368e20, 0x7a8d: 0xc04a0071, 0x7a8e: 0x4036b820, 0x7a8f: 0x4036c420,\n\t0x7a90: 0xe00014ba, 0x7a91: 0x4033b420, 0x7a92: 0x40339620, 0x7a93: 0x4033a220,\n\t0x7a94: 0x4033c220, 0x7a95: 0x4033fc20, 0x7a96: 0xc0280071, 0x7a97: 0x40343620,\n\t0x7a98: 0x40344620, 0x7a99: 0x40349a20, 0x7a9a: 0x4034e420, 0x7a9b: 0x40356220,\n\t0x7a9c: 0x40356a20, 0x7a9d: 0xe00014cc, 0x7a9e: 0x40357a20, 0x7a9f: 0x40365420,\n\t0x7aa0: 0x0035e088, 0x7aa1: 0x4035e020, 0x7aa2: 0x00369e88, 0x7aa3: 0x40369e20,\n\t0x7aa4: 0x0036ce88, 0x7aa5: 0x4036ce20, 0x7aa6: 0x0036d688, 0x7aa7: 0x4036d620,\n\t0x7aa8: 0x0036ea88, 0x7aa9: 0x4036ea20, 0x7aaa: 0x0036e088, 0x7aab: 0x4036e020,\n\t0x7aac: 0x0036f488, 0x7aad: 0x4036f420, 0x7aae: 0x0036fc88, 0x7aaf: 0x4036fc20,\n\t0x7ab0: 0x00370488, 0x7ab1: 0x40370420, 0x7ab2: 0x00370c88, 0x7ab3: 0x40370c20,\n\t0x7ab4: 0xc0500131, 0x7ab5: 0xc04e0131, 0x7ab6: 0x00371c88, 0x7ab7: 0x40371c20,\n\t0x7ab8: 0x0035a488, 0x7ab9: 0x4035a420, 0x7aba: 0x0035fa88, 0x7abb: 0x4035fa20,\n\t0x7abc: 0x0035f288, 0x7abd: 0x4035f220, 0x7abe: 0x0035e888, 0x7abf: 0x4035e820,\n\t// Block 0x1eb, offset 0x7ac0\n\t0x7ac1: 0x40409c20, 0x7ac2: 0x40409820, 0x7ac3: 0x40409a20,\n\t0x7ac5: 0x40407c20, 0x7ac6: 0x40407e20, 0x7ac7: 0x40408020,\n\t0x7ac8: 0x40408220, 0x7ac9: 0x40408420, 0x7aca: 0x40408620, 0x7acb: 0x40408820,\n\t0x7acc: 0x40408c20, 0x7acf: 0x40409020,\n\t0x7ad0: 0x40409220, 0x7ad3: 0x40409420,\n\t0x7ad4: 0x40409620, 0x7ad5: 0x40409820, 0x7ad6: 0x40409a20, 0x7ad7: 0x40409c20,\n\t0x7ad8: 0x40409e20, 0x7ad9: 0x4040a020, 0x7ada: 0x4040a220, 0x7adb: 0x4040a420,\n\t0x7adc: 0x4040a620, 0x7add: 0x4040a820, 0x7ade: 0x4040aa20, 0x7adf: 0x4040ac20,\n\t0x7ae0: 0x4040ae20, 0x7ae1: 0x4040b020, 0x7ae2: 0x4040b220, 0x7ae3: 0x4040b420,\n\t0x7ae4: 0x4040b620, 0x7ae5: 0x4040b820, 0x7ae6: 0x4040ba20, 0x7ae7: 0x4040bc20,\n\t0x7ae8: 0x4040be20, 0x7aea: 0x4040c020, 0x7aeb: 0x4040c220,\n\t0x7aec: 0x4040c420, 0x7aed: 0x4040c620, 0x7aee: 0x4040c820, 0x7aef: 0x4040ca20,\n\t0x7af0: 0x4040cc20, 0x7af2: 0x4040d020,\n\t0x7af6: 0x4040d420, 0x7af7: 0x4040d620,\n\t0x7af8: 0x4040d820, 0x7af9: 0x4040da20,\n\t0x7afc: 0xa070f102, 0x7afd: 0x4040dc20, 0x7afe: 0x4040de20, 0x7aff: 0x4040e020,\n\t// Block 0x1ec, offset 0x7b00\n\t0x7b00: 0xa0000000, 0x7b01: 0xa0000000, 0x7b02: 0xa0000000, 0x7b03: 0xa0000000,\n\t0x7b04: 0xa0000000, 0x7b05: 0xa0000000, 0x7b06: 0xa0000000, 0x7b07: 0xa0000000,\n\t0x7b08: 0xa0000000, 0x7b09: 0x40020020, 0x7b0a: 0x40020220, 0x7b0b: 0x40020420,\n\t0x7b0c: 0x40020620, 0x7b0d: 0x40020820, 0x7b0e: 0xa0000000, 0x7b0f: 0xa0000000,\n\t0x7b10: 0xa0000000, 0x7b11: 0xa0000000, 0x7b12: 0xa0000000, 0x7b13: 0xa0000000,\n\t0x7b14: 0xa0000000, 0x7b15: 0xa0000000, 0x7b16: 0xa0000000, 0x7b17: 0xa0000000,\n\t0x7b18: 0xa0000000, 0x7b19: 0xa0000000, 0x7b1a: 0xa0000000, 0x7b1b: 0xa0000000,\n\t0x7b1c: 0xa0000000, 0x7b1d: 0xa0000000, 0x7b1e: 0xa0000000, 0x7b1f: 0xa0000000,\n\t0x7b20: 0x40021220, 0x7b21: 0x4002ba20, 0x7b22: 0x4003e020, 0x7b23: 0x4004ea20,\n\t0x7b24: 0x4027de20, 0x7b25: 0x4004ec20, 0x7b26: 0x4004e620, 0x7b27: 0x4003d220,\n\t0x7b28: 0x4003f420, 0x7b29: 0x4003f620, 0x7b2a: 0x4004d820, 0x7b2b: 0x40093820,\n\t0x7b2c: 0x40024020, 0x7b2d: 0x40021a20, 0x7b2e: 0x4002e420, 0x7b2f: 0x4004e220,\n\t0x7b30: 0x4029cc20, 0x7b31: 0x4029ce20, 0x7b32: 0x4029d020, 0x7b33: 0x4029d220,\n\t0x7b34: 0x4029d420, 0x7b35: 0x4029d620, 0x7b36: 0x4029d820, 0x7b37: 0x4029da20,\n\t0x7b38: 0x4029dc20, 0x7b39: 0x4029de20, 0x7b3a: 0x40026c20, 0x7b3b: 0x40026220,\n\t0x7b3c: 0x40094020, 0x7b3d: 0x40094220, 0x7b3e: 0x40094420, 0x7b3f: 0x4002c420,\n\t// Block 0x1ed, offset 0x7b40\n\t0x7b40: 0x4004d620, 0x7b41: 0x002bde88, 0x7b42: 0x002c0a88, 0x7b43: 0x002c3a88,\n\t0x7b44: 0x002c6288, 0x7b45: 0x002c9888, 0x7b46: 0x002d0888, 0x7b47: 0x002d2288,\n\t0x7b48: 0x002d6888, 0x7b49: 0x002d9a88, 0x7b4a: 0x002dcc88, 0x7b4b: 0x002dfe88,\n\t0x7b4c: 0xc3520002, 0x7b4d: 0x002e8288, 0x7b4e: 0x002e9e88, 0x7b4f: 0x002ee288,\n\t0x7b50: 0x002f2c88, 0x7b51: 0x002f5688, 0x7b52: 0x002f7a88, 0x7b53: 0x002fe688,\n\t0x7b54: 0x00302c88, 0x7b55: 0x00306c88, 0x7b56: 0x0030be88, 0x7b57: 0x0030e288,\n\t0x7b58: 0x0030f688, 0x7b59: 0x00310088, 0x7b5a: 0x00312a88, 0x7b5b: 0x4003f820,\n\t0x7b5c: 0x4004e420, 0x7b5d: 0x4003fa20, 0x7b5e: 0x40062420, 0x7b5f: 0x40021620,\n\t0x7b60: 0x40061e20, 0x7b61: 0x402bde20, 0x7b62: 0x402c0a20, 0x7b63: 0x402c3a20,\n\t0x7b64: 0x402c6220, 0x7b65: 0x402c9820, 0x7b66: 0x402d0820, 0x7b67: 0x402d2220,\n\t0x7b68: 0x402d6820, 0x7b69: 0x402d9a20, 0x7b6a: 0x402dcc20, 0x7b6b: 0x402dfe20,\n\t0x7b6c: 0xc34f0002, 0x7b6d: 0x402e8220, 0x7b6e: 0x402e9e20, 0x7b6f: 0x402ee220,\n\t0x7b70: 0x402f2c20, 0x7b71: 0x402f5620, 0x7b72: 0x402f7a20, 0x7b73: 0x402fe620,\n\t0x7b74: 0x40302c20, 0x7b75: 0x40306c20, 0x7b76: 0x4030be20, 0x7b77: 0x4030e220,\n\t0x7b78: 0x4030f620, 0x7b79: 0x40310020, 0x7b7a: 0x40312a20, 0x7b7b: 0x4003fc20,\n\t0x7b7c: 0x40094820, 0x7b7d: 0x4003fe20, 0x7b7e: 0x40094c20, 0x7b7f: 0xa0000000,\n\t// Block 0x1ee, offset 0x7b80\n\t0x7b80: 0xe0000983, 0x7b81: 0xe0000980, 0x7b82: 0xe00008fb, 0x7b83: 0xe00008f8,\n\t0x7b84: 0xe000097d, 0x7b85: 0xe000097a, 0x7b86: 0xe0000a38, 0x7b87: 0xe0000a35,\n\t0x7b88: 0xe0000a3e, 0x7b89: 0xe0000a3b, 0x7b8a: 0xe0000a4a, 0x7b8b: 0xe0000a47,\n\t0x7b8c: 0xe0000a44, 0x7b8d: 0xe0000a41, 0x7b8e: 0xe0000a86, 0x7b8f: 0xe0000a83,\n\t0x7b90: 0xe0000aaa, 0x7b91: 0xe0000aa7, 0x7b92: 0xe0000b46, 0x7b93: 0xe0000b43,\n\t0x7b94: 0xe0000aee, 0x7b95: 0xe0000aeb, 0x7b96: 0xe0000b2c, 0x7b97: 0xe0000b29,\n\t0x7b98: 0xe0000b40, 0x7b99: 0xe0000b3d, 0x7b9a: 0xe0000b1a, 0x7b9b: 0xe0000b17,\n\t0x7b9c: 0xe0000bb8, 0x7b9d: 0xe0000bb5, 0x7b9e: 0xe0000bb2, 0x7b9f: 0xe0000baf,\n\t0x7ba0: 0xe0000bc4, 0x7ba1: 0xe0000bc1, 0x7ba2: 0xe0000bca, 0x7ba3: 0xe0000bc7,\n\t0x7ba4: 0xe0000bee, 0x7ba5: 0xe0000beb, 0x7ba6: 0xe0000c1b, 0x7ba7: 0xe0000c18,\n\t0x7ba8: 0xe0000c51, 0x7ba9: 0xe0000c4e, 0x7baa: 0xe0000c60, 0x7bab: 0xe0000c5d,\n\t0x7bac: 0xe0000c31, 0x7bad: 0xe0000c2e, 0x7bae: 0xe0000c5a, 0x7baf: 0xe0000c57,\n\t0x7bb0: 0xe0000c54, 0x7bb1: 0x402da220, 0x7bb2: 0xf0000a0a, 0x7bb3: 0xf0000404,\n\t0x7bb4: 0xe0000c8a, 0x7bb5: 0xe0000c87, 0x7bb6: 0xe0000c9f, 0x7bb7: 0xe0000c9c,\n\t0x7bb8: 0x402f7220, 0x7bb9: 0xe0000ccc, 0x7bba: 0xe0000cc9, 0x7bbb: 0xe0000cd8,\n\t0x7bbc: 0xe0000cd5, 0x7bbd: 0xe0000cd2, 0x7bbe: 0xe0000ccf, 0x7bbf: 0x002e22a3,\n\t// Block 0x1ef, offset 0x7bc0\n\t0x7bc0: 0x402e2221, 0x7bc1: 0xe0000cf8, 0x7bc2: 0xe0000cf5, 0x7bc3: 0xe0000d51,\n\t0x7bc4: 0xe0000d4e, 0x7bc5: 0xe0000d6f, 0x7bc6: 0xe0000d6c, 0x7bc7: 0xe0000d5d,\n\t0x7bc8: 0xe0000d5a, 0x7bc9: 0xf0000404, 0x7bca: 0x002eda88, 0x7bcb: 0x402eda20,\n\t0x7bcc: 0xe0000e2e, 0x7bcd: 0xe0000e2b, 0x7bce: 0xe0000da0, 0x7bcf: 0xe0000d9d,\n\t0x7bd0: 0xe0000de0, 0x7bd1: 0xe0000ddd, 0x7bd2: 0xe0000e93, 0x7bd3: 0xe0000e8f,\n\t0x7bd4: 0xe0000eca, 0x7bd5: 0xe0000ec7, 0x7bd6: 0xe0000edc, 0x7bd7: 0xe0000ed9,\n\t0x7bd8: 0xe0000ed0, 0x7bd9: 0xe0000ecd, 0x7bda: 0xe0000f1f, 0x7bdb: 0xe0000f1c,\n\t0x7bdc: 0xe0000f2d, 0x7bdd: 0xe0000f2a, 0x7bde: 0xe0000f47, 0x7bdf: 0xe0000f44,\n\t0x7be0: 0xe0000f33, 0x7be1: 0xe0000f30, 0x7be2: 0xe0000f99, 0x7be3: 0xe0000f96,\n\t0x7be4: 0xe0000f8a, 0x7be5: 0xe0000f87, 0x7be6: 0x00303688, 0x7be7: 0x40303620,\n\t0x7be8: 0xe000102b, 0x7be9: 0xe0001028, 0x7bea: 0xe000103f, 0x7beb: 0xe000103c,\n\t0x7bec: 0xe0000fe7, 0x7bed: 0xe0000fe4, 0x7bee: 0xe0000ff9, 0x7bef: 0xe0000ff6,\n\t0x7bf0: 0xe0001025, 0x7bf1: 0xe0001022, 0x7bf2: 0xe0001039, 0x7bf3: 0xe0001036,\n\t0x7bf4: 0xe00010d8, 0x7bf5: 0xe00010d5, 0x7bf6: 0xe000110e, 0x7bf7: 0xe000110b,\n\t0x7bf8: 0xe0001117, 0x7bf9: 0xe000113b, 0x7bfa: 0xe0001138, 0x7bfb: 0xe000114d,\n\t0x7bfc: 0xe000114a, 0x7bfd: 0xe0001147, 0x7bfe: 0xe0001144, 0x7bff: 0xe0000f64,\n\t// Block 0x1f0, offset 0x7c00\n\t0x7c00: 0xa0000000, 0x7c01: 0xa0000000, 0x7c02: 0xa0000000, 0x7c03: 0xa0000000,\n\t0x7c04: 0xa0000000, 0x7c05: 0xa0000000, 0x7c06: 0xa0000000, 0x7c07: 0xa0000000,\n\t0x7c08: 0xa0000000, 0x7c09: 0x40020020, 0x7c0a: 0x40020220, 0x7c0b: 0x40020420,\n\t0x7c0c: 0x40020620, 0x7c0d: 0x40020820, 0x7c0e: 0xa0000000, 0x7c0f: 0xa0000000,\n\t0x7c10: 0xa0000000, 0x7c11: 0xa0000000, 0x7c12: 0xa0000000, 0x7c13: 0xa0000000,\n\t0x7c14: 0xa0000000, 0x7c15: 0xa0000000, 0x7c16: 0xa0000000, 0x7c17: 0xa0000000,\n\t0x7c18: 0xa0000000, 0x7c19: 0xa0000000, 0x7c1a: 0xa0000000, 0x7c1b: 0xa0000000,\n\t0x7c1c: 0xa0000000, 0x7c1d: 0xa0000000, 0x7c1e: 0xa0000000, 0x7c1f: 0xa0000000,\n\t0x7c20: 0x40021220, 0x7c21: 0x4002ba20, 0x7c22: 0x4003e020, 0x7c23: 0x4004ea20,\n\t0x7c24: 0x4027de20, 0x7c25: 0x4004ec20, 0x7c26: 0x4004e620, 0x7c27: 0x4003d220,\n\t0x7c28: 0x4003f420, 0x7c29: 0x4003f620, 0x7c2a: 0x4004d820, 0x7c2b: 0x40093820,\n\t0x7c2c: 0x40024020, 0x7c2d: 0x40021a20, 0x7c2e: 0x4002e420, 0x7c2f: 0x4004e220,\n\t0x7c30: 0x4029cc20, 0x7c31: 0x4029ce20, 0x7c32: 0x4029d020, 0x7c33: 0x4029d220,\n\t0x7c34: 0x4029d420, 0x7c35: 0x4029d620, 0x7c36: 0x4029d820, 0x7c37: 0x4029da20,\n\t0x7c38: 0x4029dc20, 0x7c39: 0x4029de20, 0x7c3a: 0x40026c20, 0x7c3b: 0x40026220,\n\t0x7c3c: 0x40094020, 0x7c3d: 0x40094220, 0x7c3e: 0x40094420, 0x7c3f: 0x4002c420,\n\t// Block 0x1f1, offset 0x7c40\n\t0x7c40: 0x4004d620, 0x7c41: 0x002bde88, 0x7c42: 0x002c0a88, 0x7c43: 0xc3590953,\n\t0x7c44: 0x002c6288, 0x7c45: 0x002c9888, 0x7c46: 0x002d0888, 0x7c47: 0x002d2288,\n\t0x7c48: 0x002d6888, 0x7c49: 0x002d9a88, 0x7c4a: 0x002dcc88, 0x7c4b: 0x002dfe88,\n\t0x7c4c: 0xc0030002, 0x7c4d: 0x002e8288, 0x7c4e: 0x002e9e88, 0x7c4f: 0x002ee288,\n\t0x7c50: 0x002f2c88, 0x7c51: 0x002f5688, 0x7c52: 0xc35f0991, 0x7c53: 0xc3430991,\n\t0x7c54: 0x00302c88, 0x7c55: 0x00306c88, 0x7c56: 0x0030be88, 0x7c57: 0x0030e288,\n\t0x7c58: 0x0030f688, 0x7c59: 0x00310088, 0x7c5a: 0xc3630991, 0x7c5b: 0x4003f820,\n\t0x7c5c: 0x4004e420, 0x7c5d: 0x4003fa20, 0x7c5e: 0x40062420, 0x7c5f: 0x40021620,\n\t0x7c60: 0x40061e20, 0x7c61: 0x402bde20, 0x7c62: 0x402c0a20, 0x7c63: 0xc3550953,\n\t0x7c64: 0x402c6220, 0x7c65: 0x402c9820, 0x7c66: 0x402d0820, 0x7c67: 0x402d2220,\n\t0x7c68: 0x402d6820, 0x7c69: 0x402d9a20, 0x7c6a: 0x402dcc20, 0x7c6b: 0x402dfe20,\n\t0x7c6c: 0xc0000002, 0x7c6d: 0x402e8220, 0x7c6e: 0x402e9e20, 0x7c6f: 0x402ee220,\n\t0x7c70: 0x402f2c20, 0x7c71: 0x402f5620, 0x7c72: 0xc35d0991, 0x7c73: 0xc3410991,\n\t0x7c74: 0x40302c20, 0x7c75: 0x40306c20, 0x7c76: 0x4030be20, 0x7c77: 0x4030e220,\n\t0x7c78: 0x4030f620, 0x7c79: 0x40310020, 0x7c7a: 0xc3610991, 0x7c7b: 0x4003fc20,\n\t0x7c7c: 0x40094820, 0x7c7d: 0x4003fe20, 0x7c7e: 0x40094c20, 0x7c7f: 0xa0000000,\n\t// Block 0x1f2, offset 0x7c80\n\t0x7c80: 0xe0000983, 0x7c81: 0xe0000980, 0x7c82: 0xe00008fb, 0x7c83: 0xe00008f8,\n\t0x7c84: 0xe000097d, 0x7c85: 0xe000097a, 0x7c86: 0xe0000a38, 0x7c87: 0xe0000a35,\n\t0x7c88: 0xe0000a3e, 0x7c89: 0xe0000a3b, 0x7c8a: 0xe0000a4a, 0x7c8b: 0xe0000a47,\n\t0x7c8c: 0x002c3c83, 0x7c8d: 0x402c3c20, 0x7c8e: 0xe0000a86, 0x7c8f: 0xe0000a83,\n\t0x7c90: 0xe0000aaa, 0x7c91: 0xe0000aa7, 0x7c92: 0xe0000b46, 0x7c93: 0xe0000b43,\n\t0x7c94: 0xe0000aee, 0x7c95: 0xe0000aeb, 0x7c96: 0xe0000b2c, 0x7c97: 0xe0000b29,\n\t0x7c98: 0xe0000b40, 0x7c99: 0xe0000b3d, 0x7c9a: 0xe0000b1a, 0x7c9b: 0xe0000b17,\n\t0x7c9c: 0xe0000bb8, 0x7c9d: 0xe0000bb5, 0x7c9e: 0xe0000bb2, 0x7c9f: 0xe0000baf,\n\t0x7ca0: 0xe0000bc4, 0x7ca1: 0xe0000bc1, 0x7ca2: 0xe0000bca, 0x7ca3: 0xe0000bc7,\n\t0x7ca4: 0xe0000bee, 0x7ca5: 0xe0000beb, 0x7ca6: 0xe0000c1b, 0x7ca7: 0xe0000c18,\n\t0x7ca8: 0xe0000c51, 0x7ca9: 0xe0000c4e, 0x7caa: 0xe0000c60, 0x7cab: 0xe0000c5d,\n\t0x7cac: 0xe0000c31, 0x7cad: 0xe0000c2e, 0x7cae: 0xe0000c5a, 0x7caf: 0xe0000c57,\n\t0x7cb0: 0xe0000c54, 0x7cb1: 0x402da220, 0x7cb2: 0xf0000a0a, 0x7cb3: 0xf0000404,\n\t0x7cb4: 0xe0000c8a, 0x7cb5: 0xe0000c87, 0x7cb6: 0xe0000c9f, 0x7cb7: 0xe0000c9c,\n\t0x7cb8: 0x402f7220, 0x7cb9: 0xe0000ccc, 0x7cba: 0xe0000cc9, 0x7cbb: 0xe0000cd8,\n\t0x7cbc: 0xe0000cd5, 0x7cbd: 0xe0000cd2, 0x7cbe: 0xe0000ccf, 0x7cbf: 0xe0000d04,\n\t// Block 0x1f3, offset 0x7cc0\n\t0x7cc0: 0xe0000cfe, 0x7cc1: 0xe0000cf8, 0x7cc2: 0xe0000cf5, 0x7cc3: 0xe0000d51,\n\t0x7cc4: 0xe0000d4e, 0x7cc5: 0xe0000d6f, 0x7cc6: 0xe0000d6c, 0x7cc7: 0xe0000d5d,\n\t0x7cc8: 0xe0000d5a, 0x7cc9: 0xf0000404, 0x7cca: 0x002eda88, 0x7ccb: 0x402eda20,\n\t0x7ccc: 0xe0000e2e, 0x7ccd: 0xe0000e2b, 0x7cce: 0xe0000da0, 0x7ccf: 0xe0000d9d,\n\t0x7cd0: 0xe0000de0, 0x7cd1: 0xe0000ddd, 0x7cd2: 0xe0000e93, 0x7cd3: 0xe0000e8f,\n\t0x7cd4: 0xe0000eca, 0x7cd5: 0xe0000ec7, 0x7cd6: 0xe0000edc, 0x7cd7: 0xe0000ed9,\n\t0x7cd8: 0x002f7c83, 0x7cd9: 0x402f7c20, 0x7cda: 0xe0000f1f, 0x7cdb: 0xe0000f1c,\n\t0x7cdc: 0xe0000f2d, 0x7cdd: 0xe0000f2a, 0x7cde: 0xe0000f47, 0x7cdf: 0xe0000f44,\n\t0x7ce0: 0x002fe883, 0x7ce1: 0x402fe820, 0x7ce2: 0xe0000f99, 0x7ce3: 0xe0000f96,\n\t0x7ce4: 0xe0000f8a, 0x7ce5: 0xe0000f87, 0x7ce6: 0x00303688, 0x7ce7: 0x40303620,\n\t0x7ce8: 0xe000102b, 0x7ce9: 0xe0001028, 0x7cea: 0xe000103f, 0x7ceb: 0xe000103c,\n\t0x7cec: 0xe0000fe7, 0x7ced: 0xe0000fe4, 0x7cee: 0xe0000ff9, 0x7cef: 0xe0000ff6,\n\t0x7cf0: 0xe0001025, 0x7cf1: 0xe0001022, 0x7cf2: 0xe0001039, 0x7cf3: 0xe0001036,\n\t0x7cf4: 0xe00010d8, 0x7cf5: 0xe00010d5, 0x7cf6: 0xe000110e, 0x7cf7: 0xe000110b,\n\t0x7cf8: 0xe0001117, 0x7cf9: 0xe000113b, 0x7cfa: 0xe0001138, 0x7cfb: 0xe000114d,\n\t0x7cfc: 0xe000114a, 0x7cfd: 0x00312c83, 0x7cfe: 0x40312c20, 0x7cff: 0xe0000f64,\n\t// Block 0x1f4, offset 0x7d00\n\t0x7d00: 0xe0000d24, 0x7d01: 0xe0000d21, 0x7d02: 0xe0000d2a, 0x7d03: 0xe0000d27,\n\t0x7d04: 0xe0000d69, 0x7d05: 0xe0000d66, 0x7d06: 0xe0000d7b, 0x7d07: 0xe0000d78,\n\t0x7d08: 0xe0000d87, 0x7d09: 0xe0000d84, 0x7d0a: 0xe0000d81, 0x7d0b: 0xe0000d7e,\n\t0x7d0c: 0xe0000ded, 0x7d0d: 0xe0000de9, 0x7d0e: 0xe0000df5, 0x7d0f: 0xe0000df1,\n\t0x7d10: 0xe0000e3d, 0x7d11: 0xe0000e39, 0x7d12: 0xe0000e35, 0x7d13: 0xe0000e31,\n\t0x7d14: 0xe0000ea7, 0x7d15: 0xe0000ea4, 0x7d16: 0xe0000ead, 0x7d17: 0xe0000eaa,\n\t0x7d18: 0xe0000ed6, 0x7d19: 0xe0000ed3, 0x7d1a: 0xe0000ef4, 0x7d1b: 0xe0000ef1,\n\t0x7d1c: 0xe0000efb, 0x7d1d: 0xe0000ef7, 0x7d1e: 0xe0000f02, 0x7d1f: 0xe0000eff,\n\t0x7d20: 0xe0000f41, 0x7d21: 0xe0000f3e, 0x7d22: 0xe0000f53, 0x7d23: 0xe0000f50,\n\t0x7d24: 0xe0000f26, 0x7d25: 0xe0000f22, 0x7d26: 0xe000296a, 0x7d27: 0xe0002967,\n\t0x7d28: 0xe0000f5a, 0x7d29: 0xe0000f56, 0x7d2a: 0xe0000f93, 0x7d2b: 0xe0000f90,\n\t0x7d2c: 0xe0000f9f, 0x7d2d: 0xe0000f9c, 0x7d2e: 0xe0000fb1, 0x7d2f: 0xe0000fae,\n\t0x7d30: 0xe0000fab, 0x7d31: 0xe0000fa8, 0x7d32: 0xe0001093, 0x7d33: 0xe0001090,\n\t0x7d34: 0xe000109f, 0x7d35: 0xe000109c, 0x7d36: 0xe0001099, 0x7d37: 0xe0001096,\n\t0x7d38: 0xe0001032, 0x7d39: 0xe000102e, 0x7d3a: 0xe0001046, 0x7d3b: 0xe0001042,\n\t0x7d3c: 0xe00010a9, 0x7d3d: 0xe00010a6, 0x7d3e: 0xe00010af, 0x7d3f: 0xe00010ac,\n\t// Block 0x1f5, offset 0x7d40\n\t0x7d40: 0xa0000000, 0x7d41: 0xa0000000, 0x7d42: 0xa0000000, 0x7d43: 0xa0000000,\n\t0x7d44: 0xa0000000, 0x7d45: 0xa0000000, 0x7d46: 0xa0000000, 0x7d47: 0xa0000000,\n\t0x7d48: 0xa0000000, 0x7d49: 0x40020020, 0x7d4a: 0x40020220, 0x7d4b: 0x40020420,\n\t0x7d4c: 0x40020620, 0x7d4d: 0x40020820, 0x7d4e: 0xa0000000, 0x7d4f: 0xa0000000,\n\t0x7d50: 0xa0000000, 0x7d51: 0xa0000000, 0x7d52: 0xa0000000, 0x7d53: 0xa0000000,\n\t0x7d54: 0xa0000000, 0x7d55: 0xa0000000, 0x7d56: 0xa0000000, 0x7d57: 0xa0000000,\n\t0x7d58: 0xa0000000, 0x7d59: 0xa0000000, 0x7d5a: 0xa0000000, 0x7d5b: 0xa0000000,\n\t0x7d5c: 0xa0000000, 0x7d5d: 0xa0000000, 0x7d5e: 0xa0000000, 0x7d5f: 0xa0000000,\n\t0x7d60: 0x40021220, 0x7d61: 0x4002ba20, 0x7d62: 0x4003e020, 0x7d63: 0x4004ea20,\n\t0x7d64: 0x4027de20, 0x7d65: 0x4004ec20, 0x7d66: 0x4004e620, 0x7d67: 0x4003d220,\n\t0x7d68: 0x4003f420, 0x7d69: 0x4003f620, 0x7d6a: 0x4004d820, 0x7d6b: 0x40093820,\n\t0x7d6c: 0x40024020, 0x7d6d: 0x40021a20, 0x7d6e: 0x4002e420, 0x7d6f: 0x4004e220,\n\t0x7d70: 0x4029cc20, 0x7d71: 0x4029ce20, 0x7d72: 0x4029d020, 0x7d73: 0x4029d220,\n\t0x7d74: 0x4029d420, 0x7d75: 0x4029d620, 0x7d76: 0x4029d820, 0x7d77: 0x4029da20,\n\t0x7d78: 0x4029dc20, 0x7d79: 0x4029de20, 0x7d7a: 0x40026c20, 0x7d7b: 0x40026220,\n\t0x7d7c: 0x40094020, 0x7d7d: 0x40094220, 0x7d7e: 0x40094420, 0x7d7f: 0x4002c420,\n\t// Block 0x1f6, offset 0x7d80\n\t0x7d80: 0x4004d620, 0x7d81: 0x002bde88, 0x7d82: 0x002c0a88, 0x7d83: 0xc36509c2,\n\t0x7d84: 0xc36a09f2, 0x7d85: 0x002c9888, 0x7d86: 0xc36f0a22, 0x7d87: 0x002d2288,\n\t0x7d88: 0x002d6888, 0x7d89: 0x002d9a88, 0x7d8a: 0x002dcc88, 0x7d8b: 0x002dfe88,\n\t0x7d8c: 0xc37b0ac4, 0x7d8d: 0x002e8288, 0x7d8e: 0xc3740a52, 0x7d8f: 0x002ee288,\n\t0x7d90: 0xc38209c2, 0x7d91: 0x002f5688, 0x7d92: 0xc38509c2, 0x7d93: 0x002fe688,\n\t0x7d94: 0xc38a09c2, 0x7d95: 0x00306c88, 0x7d96: 0x0030be88, 0x7d97: 0x0030e288,\n\t0x7d98: 0x0030f688, 0x7d99: 0x00310088, 0x7d9a: 0x00312a88, 0x7d9b: 0x4003f820,\n\t0x7d9c: 0x4004e420, 0x7d9d: 0x4003fa20, 0x7d9e: 0x40062420, 0x7d9f: 0x40021620,\n\t0x7da0: 0x40061e20, 0x7da1: 0x402bde20, 0x7da2: 0x402c0a20, 0x7da3: 0xc33309b1,\n\t0x7da4: 0xc36809e1, 0x7da5: 0x402c9820, 0x7da6: 0xc36d0a11, 0x7da7: 0x402d2220,\n\t0x7da8: 0x402d6820, 0x7da9: 0x402d9a20, 0x7daa: 0x402dcc20, 0x7dab: 0x402dfe20,\n\t0x7dac: 0xc3770a73, 0x7dad: 0x402e8220, 0x7dae: 0xc3720a41, 0x7daf: 0x402ee220,\n\t0x7db0: 0xc38009b1, 0x7db1: 0x402f5620, 0x7db2: 0xc35d09b1, 0x7db3: 0x402fe620,\n\t0x7db4: 0xc38809b1, 0x7db5: 0x40306c20, 0x7db6: 0x4030be20, 0x7db7: 0x4030e220,\n\t0x7db8: 0x4030f620, 0x7db9: 0x40310020, 0x7dba: 0x40312a20, 0x7dbb: 0x4003fc20,\n\t0x7dbc: 0x40094820, 0x7dbd: 0x4003fe20, 0x7dbe: 0x40094c20, 0x7dbf: 0xa0000000,\n\t// Block 0x1f7, offset 0x7dc0\n\t0x7dc0: 0xa0000000, 0x7dc1: 0xa0000000, 0x7dc2: 0xa0000000, 0x7dc3: 0xa0000000,\n\t0x7dc4: 0xa0000000, 0x7dc5: 0xa0000000, 0x7dc6: 0xa0000000, 0x7dc7: 0xa0000000,\n\t0x7dc8: 0xa0000000, 0x7dc9: 0x40020020, 0x7dca: 0x40020220, 0x7dcb: 0x40020420,\n\t0x7dcc: 0x40020620, 0x7dcd: 0x40020820, 0x7dce: 0xa0000000, 0x7dcf: 0xa0000000,\n\t0x7dd0: 0xa0000000, 0x7dd1: 0xa0000000, 0x7dd2: 0xa0000000, 0x7dd3: 0xa0000000,\n\t0x7dd4: 0xa0000000, 0x7dd5: 0xa0000000, 0x7dd6: 0xa0000000, 0x7dd7: 0xa0000000,\n\t0x7dd8: 0xa0000000, 0x7dd9: 0xa0000000, 0x7dda: 0xa0000000, 0x7ddb: 0xa0000000,\n\t0x7ddc: 0xa0000000, 0x7ddd: 0xa0000000, 0x7dde: 0xa0000000, 0x7ddf: 0xa0000000,\n\t0x7de0: 0x40021220, 0x7de1: 0x4002ba20, 0x7de2: 0x4003e020, 0x7de3: 0x4004ea20,\n\t0x7de4: 0x4027de20, 0x7de5: 0x4004ec20, 0x7de6: 0x4004e620, 0x7de7: 0x4003d220,\n\t0x7de8: 0x4003f420, 0x7de9: 0x4003f620, 0x7dea: 0x4004d820, 0x7deb: 0x40093820,\n\t0x7dec: 0x40024020, 0x7ded: 0x40021a20, 0x7dee: 0x4002e420, 0x7def: 0x4004e220,\n\t0x7df0: 0x4029cc20, 0x7df1: 0x4029ce20, 0x7df2: 0x4029d020, 0x7df3: 0x4029d220,\n\t0x7df4: 0x4029d420, 0x7df5: 0x4029d620, 0x7df6: 0x4029d820, 0x7df7: 0x4029da20,\n\t0x7df8: 0x4029dc20, 0x7df9: 0x4029de20, 0x7dfa: 0x40026c20, 0x7dfb: 0x40026220,\n\t0x7dfc: 0x40094020, 0x7dfd: 0x40094220, 0x7dfe: 0x40094420, 0x7dff: 0x4002c420,\n\t// Block 0x1f8, offset 0x7e00\n\t0x7e00: 0x4004d620, 0x7e01: 0xc3970b93, 0x7e02: 0x002c0a88, 0x7e03: 0x002c3a88,\n\t0x7e04: 0x002c6288, 0x7e05: 0xc39e0be1, 0x7e06: 0x002d0888, 0x7e07: 0x002d2288,\n\t0x7e08: 0x002d6888, 0x7e09: 0x002d9a88, 0x7e0a: 0x002dcc88, 0x7e0b: 0x002dfe88,\n\t0x7e0c: 0xc0030002, 0x7e0d: 0x002e8288, 0x7e0e: 0x002e9e88, 0x7e0f: 0xc3a30b21,\n\t0x7e10: 0x002f2c88, 0x7e11: 0x002f5688, 0x7e12: 0x002f7a88, 0x7e13: 0x002fe688,\n\t0x7e14: 0x00302c88, 0x7e15: 0xc3900b21, 0x7e16: 0x0030be88, 0x7e17: 0x0030e288,\n\t0x7e18: 0x0030f688, 0x7e19: 0x00310088, 0x7e1a: 0x00312a88, 0x7e1b: 0x4003f820,\n\t0x7e1c: 0x4004e420, 0x7e1d: 0x4003fa20, 0x7e1e: 0x40062420, 0x7e1f: 0x40021620,\n\t0x7e20: 0x40061e20, 0x7e21: 0xc3930b52, 0x7e22: 0x402c0a20, 0x7e23: 0x402c3a20,\n\t0x7e24: 0x402c6220, 0x7e25: 0xc39c0be1, 0x7e26: 0x402d0820, 0x7e27: 0x402d2220,\n\t0x7e28: 0x402d6820, 0x7e29: 0x402d9a20, 0x7e2a: 0x402dcc20, 0x7e2b: 0x402dfe20,\n\t0x7e2c: 0xc0000002, 0x7e2d: 0x402e8220, 0x7e2e: 0x402e9e20, 0x7e2f: 0xc3a00b21,\n\t0x7e30: 0x402f2c20, 0x7e31: 0x402f5620, 0x7e32: 0x402f7a20, 0x7e33: 0x402fe620,\n\t0x7e34: 0x40302c20, 0x7e35: 0xc38d0b21, 0x7e36: 0x4030be20, 0x7e37: 0x4030e220,\n\t0x7e38: 0x4030f620, 0x7e39: 0x40310020, 0x7e3a: 0x40312a20, 0x7e3b: 0x4003fc20,\n\t0x7e3c: 0x40094820, 0x7e3d: 0x4003fe20, 0x7e3e: 0x40094c20, 0x7e3f: 0xa0000000,\n\t// Block 0x1f9, offset 0x7e40\n\t0x7e40: 0xe00008f5, 0x7e41: 0xe00008ef, 0x7e42: 0xe0000921, 0x7e43: 0xe0000969,\n\t0x7e44: 0x00320ca3, 0x7e45: 0x00321083, 0x7e46: 0x00320c83, 0x7e47: 0xe0000a53,\n\t0x7e48: 0xe0000ae8, 0x7e49: 0xe0000ae2, 0x7e4a: 0xe0000af4, 0x7e4b: 0xe0000b20,\n\t0x7e4c: 0xe0000c2b, 0x7e4d: 0xe0000c25, 0x7e4e: 0xe0000c37, 0x7e4f: 0xe0000c43,\n\t0x7e50: 0x002c62c3, 0x7e51: 0xe0000d63, 0x7e52: 0xe0000d9a, 0x7e53: 0xe0000d94,\n\t0x7e54: 0xe0000da6, 0x7e55: 0xe0000de6, 0x7e56: 0x00320ea3, 0x7e57: 0x40093e20,\n\t0x7e58: 0x00320e83, 0x7e59: 0xe0000fe1, 0x7e5a: 0xe0000fdb, 0x7e5b: 0xe0000fed,\n\t0x7e5c: 0x003100a3, 0x7e5d: 0xe0001102, 0x7e5e: 0xe0002973, 0x7e5f: 0xe0000f7b,\n\t0x7e60: 0xe00008f2, 0x7e61: 0xe00008ec, 0x7e62: 0xe000091e, 0x7e63: 0xe0000966,\n\t0x7e64: 0x40320c21, 0x7e65: 0x40321020, 0x7e66: 0x40320c20, 0x7e67: 0xe0000a4d,\n\t0x7e68: 0xe0000ae5, 0x7e69: 0xe0000adf, 0x7e6a: 0xe0000af1, 0x7e6b: 0xe0000b1d,\n\t0x7e6c: 0xe0000c28, 0x7e6d: 0xe0000c22, 0x7e6e: 0xe0000c34, 0x7e6f: 0xe0000c40,\n\t0x7e70: 0x402c6222, 0x7e71: 0xe0000d60, 0x7e72: 0xe0000d97, 0x7e73: 0xe0000d91,\n\t0x7e74: 0xe0000da3, 0x7e75: 0xe0000de3, 0x7e76: 0x40320e21, 0x7e77: 0x40093c20,\n\t0x7e78: 0x40320e20, 0x7e79: 0xe0000fde, 0x7e7a: 0xe0000fd8, 0x7e7b: 0xe0000fea,\n\t0x7e7c: 0x40310021, 0x7e7d: 0xe00010ff, 0x7e7e: 0xe0002970, 0x7e7f: 0xe0001114,\n\t// Block 0x1fa, offset 0x7e80\n\t0x7e80: 0xe0000983, 0x7e81: 0xe0000980, 0x7e82: 0xe00008fb, 0x7e83: 0xe00008f8,\n\t0x7e84: 0xe000097d, 0x7e85: 0xe000097a, 0x7e86: 0xe0000a38, 0x7e87: 0xe0000a35,\n\t0x7e88: 0xe0000a3e, 0x7e89: 0xe0000a3b, 0x7e8a: 0xe0000a4a, 0x7e8b: 0xe0000a47,\n\t0x7e8c: 0xe0000a44, 0x7e8d: 0xe0000a41, 0x7e8e: 0xe0000a86, 0x7e8f: 0xe0000a83,\n\t0x7e90: 0x002c62a3, 0x7e91: 0x402c6221, 0x7e92: 0xe0000b46, 0x7e93: 0xe0000b43,\n\t0x7e94: 0xe0000aee, 0x7e95: 0xe0000aeb, 0x7e96: 0xe0000b2c, 0x7e97: 0xe0000b29,\n\t0x7e98: 0x00320cc3, 0x7e99: 0x40320c22, 0x7e9a: 0xe0000b1a, 0x7e9b: 0xe0000b17,\n\t0x7e9c: 0xe0000bb8, 0x7e9d: 0xe0000bb5, 0x7e9e: 0xe0000bb2, 0x7e9f: 0xe0000baf,\n\t0x7ea0: 0xe0000bc4, 0x7ea1: 0xe0000bc1, 0x7ea2: 0xe0000bca, 0x7ea3: 0xe0000bc7,\n\t0x7ea4: 0xe0000bee, 0x7ea5: 0xe0000beb, 0x7ea6: 0xe0000c1b, 0x7ea7: 0xe0000c18,\n\t0x7ea8: 0xe0000c51, 0x7ea9: 0xe0000c4e, 0x7eaa: 0xe0000c60, 0x7eab: 0xe0000c5d,\n\t0x7eac: 0xe0000c31, 0x7ead: 0xe0000c2e, 0x7eae: 0xe0000c5a, 0x7eaf: 0xe0000c57,\n\t0x7eb0: 0xe0000c54, 0x7eb1: 0x402da220, 0x7eb2: 0xf0000a0a, 0x7eb3: 0xf0000404,\n\t0x7eb4: 0xe0000c8a, 0x7eb5: 0xe0000c87, 0x7eb6: 0xe0000c9f, 0x7eb7: 0xe0000c9c,\n\t0x7eb8: 0x402f7220, 0x7eb9: 0xe0000ccc, 0x7eba: 0xe0000cc9, 0x7ebb: 0xe0000cd8,\n\t0x7ebc: 0xe0000cd5, 0x7ebd: 0xe0000cd2, 0x7ebe: 0xe0000ccf, 0x7ebf: 0xe0000d04,\n\t// Block 0x1fb, offset 0x7ec0\n\t0x7ec0: 0xe0000cfe, 0x7ec1: 0xe0000cf8, 0x7ec2: 0xe0000cf5, 0x7ec3: 0xe0000d51,\n\t0x7ec4: 0xe0000d4e, 0x7ec5: 0xe0000d6f, 0x7ec6: 0xe0000d6c, 0x7ec7: 0xe0000d5d,\n\t0x7ec8: 0xe0000d5a, 0x7ec9: 0xf0000404, 0x7eca: 0x002eda88, 0x7ecb: 0x402eda20,\n\t0x7ecc: 0xe0000e2e, 0x7ecd: 0xe0000e2b, 0x7ece: 0xe0000da0, 0x7ecf: 0xe0000d9d,\n\t0x7ed0: 0x00320ec3, 0x7ed1: 0x40320e22, 0x7ed2: 0x00320ee3, 0x7ed3: 0x40320e23,\n\t0x7ed4: 0xe0000eca, 0x7ed5: 0xe0000ec7, 0x7ed6: 0xe0000edc, 0x7ed7: 0xe0000ed9,\n\t0x7ed8: 0xe0000ed0, 0x7ed9: 0xe0000ecd, 0x7eda: 0xe0000f1f, 0x7edb: 0xe0000f1c,\n\t0x7edc: 0xe0000f2d, 0x7edd: 0xe0000f2a, 0x7ede: 0xe0000f47, 0x7edf: 0xe0000f44,\n\t0x7ee0: 0xe0000f33, 0x7ee1: 0xe0000f30, 0x7ee2: 0xe0000f99, 0x7ee3: 0xe0000f96,\n\t0x7ee4: 0xe0000f8a, 0x7ee5: 0xe0000f87, 0x7ee6: 0x00303688, 0x7ee7: 0x40303620,\n\t0x7ee8: 0xe000102b, 0x7ee9: 0xe0001028, 0x7eea: 0xe000103f, 0x7eeb: 0xe000103c,\n\t0x7eec: 0xe0000fe7, 0x7eed: 0xe0000fe4, 0x7eee: 0xe0000ff9, 0x7eef: 0xe0000ff6,\n\t0x7ef0: 0x003100c3, 0x7ef1: 0x40310022, 0x7ef2: 0xe0001039, 0x7ef3: 0xe0001036,\n\t0x7ef4: 0xe00010d8, 0x7ef5: 0xe00010d5, 0x7ef6: 0xe000110e, 0x7ef7: 0xe000110b,\n\t0x7ef8: 0xe0001117, 0x7ef9: 0xe000113b, 0x7efa: 0xe0001138, 0x7efb: 0xe000114d,\n\t0x7efc: 0xe000114a, 0x7efd: 0xe0001147, 0x7efe: 0xe0001144, 0x7eff: 0xe0000f64,\n\t// Block 0x1fc, offset 0x7f00\n\t0x7f00: 0x40321220, 0x7f01: 0x40321a20, 0x7f02: 0x40322220, 0x7f03: 0x40322a20,\n\t0x7f04: 0xe0000ad5, 0x7f05: 0xe0000ad1, 0x7f06: 0xe0000acd, 0x7f07: 0xf0000a0a,\n\t0x7f08: 0xf000040a, 0x7f09: 0xf0000404, 0x7f0a: 0xf0000a0a, 0x7f0b: 0xf000040a,\n\t0x7f0c: 0xf0000404, 0x7f0d: 0xe0000947, 0x7f0e: 0xe0000944, 0x7f0f: 0xe0000c3d,\n\t0x7f10: 0xe0000c3a, 0x7f11: 0xe0000dcc, 0x7f12: 0xe0000dc9, 0x7f13: 0xe0000ff3,\n\t0x7f14: 0xe0000ff0, 0x7f15: 0xe000298b, 0x7f16: 0xe0002988, 0x7f17: 0xe0002979,\n\t0x7f18: 0xe0002976, 0x7f19: 0xe0002985, 0x7f1a: 0xe0002982, 0x7f1b: 0xe000297f,\n\t0x7f1c: 0xe000297c, 0x7f1d: 0x402cae20, 0x7f1e: 0xe000299d, 0x7f1f: 0xe000299a,\n\t0x7f20: 0xe0000976, 0x7f21: 0xe0000972, 0x7f22: 0xe0002997, 0x7f23: 0xe0002994,\n\t0x7f24: 0x002d3a88, 0x7f25: 0x402d3a20, 0x7f26: 0xe0000bbe, 0x7f27: 0xe0000bbb,\n\t0x7f28: 0xe0000c99, 0x7f29: 0xe0000c96, 0x7f2a: 0xe0000e20, 0x7f2b: 0xe0000e1d,\n\t0x7f2c: 0xe0000e27, 0x7f2d: 0xe0000e23, 0x7f2e: 0xe0001162, 0x7f2f: 0xe000115f,\n\t0x7f30: 0xe0000c8d, 0x7f31: 0xf0000a0a, 0x7f32: 0xf000040a, 0x7f33: 0xf0000404,\n\t0x7f34: 0xe0000bac, 0x7f35: 0xe0000ba9, 0x7f36: 0x002d7888, 0x7f37: 0x00319488,\n\t0x7f38: 0xe0000d57, 0x7f39: 0xe0000d54, 0x7f3a: 0xe00029b5, 0x7f3b: 0xe00029b2,\n\t0x7f3c: 0xe0002991, 0x7f3d: 0xe000298e, 0x7f3e: 0xe00029a3, 0x7f3f: 0xe00029a0,\n\t// Block 0x1fd, offset 0x7f40\n\t0x7f40: 0xe000098f, 0x7f41: 0xe000098c, 0x7f42: 0xe0000995, 0x7f43: 0xe0000992,\n\t0x7f44: 0xe0000b62, 0x7f45: 0xe0000b5f, 0x7f46: 0xe0000b68, 0x7f47: 0xe0000b65,\n\t0x7f48: 0xe0000c6c, 0x7f49: 0xe0000c69, 0x7f4a: 0xe0000c72, 0x7f4b: 0xe0000c6f,\n\t0x7f4c: 0xe0000e4a, 0x7f4d: 0xe0000e47, 0x7f4e: 0xe0000e50, 0x7f4f: 0xe0000e4d,\n\t0x7f50: 0xe0000ee8, 0x7f51: 0xe0000ee5, 0x7f52: 0xe0000eee, 0x7f53: 0xe0000eeb,\n\t0x7f54: 0xe0001053, 0x7f55: 0xe0001050, 0x7f56: 0xe0001059, 0x7f57: 0xe0001056,\n\t0x7f58: 0xe0000f61, 0x7f59: 0xe0000f5e, 0x7f5a: 0xe0000fa5, 0x7f5b: 0xe0000fa2,\n\t0x7f5c: 0x00312288, 0x7f5d: 0x40312220, 0x7f5e: 0xe0000bf4, 0x7f5f: 0xe0000bf1,\n\t0x7f60: 0x002ebc88, 0x7f61: 0x402c8c20, 0x7f62: 0x002f2288, 0x7f63: 0x402f2220,\n\t0x7f64: 0x00314088, 0x7f65: 0x40314020, 0x7f66: 0xe000096f, 0x7f67: 0xe000096c,\n\t0x7f68: 0xe0000b32, 0x7f69: 0xe0000b2f, 0x7f6a: 0xe00029af, 0x7f6b: 0xe00029ac,\n\t0x7f6c: 0xe0000dfd, 0x7f6d: 0xe0000df9, 0x7f6e: 0xe0000e04, 0x7f6f: 0xe0000e01,\n\t0x7f70: 0xe0000e0b, 0x7f71: 0xe0000e07, 0x7f72: 0xe0001129, 0x7f73: 0xe0001126,\n\t0x7f74: 0x402e5e20, 0x7f75: 0x402ed020, 0x7f76: 0x40305a20, 0x7f77: 0x402dd420,\n\t0x7f78: 0xe0000abf, 0x7f79: 0xe0000ec4, 0x7f7a: 0x002be888, 0x7f7b: 0x002c4488,\n\t0x7f7c: 0x402c4420, 0x7f7d: 0x002e3888, 0x7f7e: 0x00303e88, 0x7f7f: 0x402ffc20,\n\t// Block 0x1fe, offset 0x7f80\n\t0x7f80: 0x402c2820, 0x7f81: 0x402c7020, 0x7f82: 0x402d1420, 0x7f83: 0x402d4220,\n\t0x7f84: 0x402e0820, 0x7f85: 0x402e5220, 0x7f86: 0x402e8e20, 0x7f87: 0x402ec620,\n\t0x7f88: 0x402f3c20, 0x7f89: 0x402faa20, 0x7f8a: 0x402ff220, 0x7f8b: 0x40301020,\n\t0x7f8c: 0x4030ca20, 0x7f8d: 0x4030fe20, 0x7f8e: 0x40313e20, 0x7f8f: 0x402bea20,\n\t0x7f90: 0x402c0020, 0x7f91: 0x402c8220, 0x7f92: 0x402caa20, 0x7f93: 0x402cca20,\n\t0x7f94: 0x402ce420, 0x7f95: 0x402cc020, 0x7f96: 0x402dc020, 0x7f97: 0x402f0620,\n\t0x7f98: 0x40302220, 0x7f99: 0x40308620, 0x7f9a: 0x40317620, 0x7f9b: 0x002c0294,\n\t0x7f9c: 0x002c3a94, 0x7f9d: 0x002c5694, 0x7f9e: 0xe000296d, 0x7f9f: 0x002cdc94,\n\t0x7fa0: 0x002d0894, 0x7fa1: 0x002dee94, 0x7fa2: 0x002d2a94, 0x7fa3: 0x00308894,\n\t0x7fa4: 0x002db694, 0x7fa5: 0x002dc294, 0x7fa6: 0x002daa94, 0x7fa7: 0x002dbe94,\n\t0x7fa8: 0x002de694, 0x7fa9: 0x002e5494, 0x7faa: 0x002e5294, 0x7fab: 0x002e2a94,\n\t0x7fac: 0x002e9094, 0x7fad: 0x0030ac94, 0x7fae: 0x002eb494, 0x7faf: 0x002ec894,\n\t0x7fb0: 0x002ea694, 0x7fb1: 0x002f1094, 0x7fb2: 0x002f4c94, 0x7fb3: 0x002ff494,\n\t0x7fb4: 0x00300894, 0x7fb5: 0x00304294, 0x7fb6: 0x00307c94, 0x7fb7: 0x0030b494,\n\t0x7fb8: 0x00307494, 0x7fb9: 0x0030cc94, 0x7fba: 0x0030da94, 0x7fbb: 0x00312a94,\n\t0x7fbc: 0x00314894, 0x7fbd: 0x00315094, 0x7fbe: 0x00316494, 0x7fbf: 0x00326a94,\n\t// Block 0x1ff, offset 0x7fc0\n\t0x7fc0: 0xe0000d24, 0x7fc1: 0xe0000d21, 0x7fc2: 0xe0000d2a, 0x7fc3: 0xe0000d27,\n\t0x7fc4: 0xe0000d69, 0x7fc5: 0xe0000d66, 0x7fc6: 0xe0000d7b, 0x7fc7: 0xe0000d78,\n\t0x7fc8: 0xe0000d87, 0x7fc9: 0xe0000d84, 0x7fca: 0xe0000d81, 0x7fcb: 0xe0000d7e,\n\t0x7fcc: 0xe0000ded, 0x7fcd: 0xe0000de9, 0x7fce: 0xe00029a9, 0x7fcf: 0xe00029a6,\n\t0x7fd0: 0xe0000e3d, 0x7fd1: 0xe0000e39, 0x7fd2: 0xe0000e35, 0x7fd3: 0xe0000e31,\n\t0x7fd4: 0xe0000ea7, 0x7fd5: 0xe0000ea4, 0x7fd6: 0xe0000ead, 0x7fd7: 0xe0000eaa,\n\t0x7fd8: 0xe0000ed6, 0x7fd9: 0xe0000ed3, 0x7fda: 0xe0000ef4, 0x7fdb: 0xe0000ef1,\n\t0x7fdc: 0xe0000efb, 0x7fdd: 0xe0000ef7, 0x7fde: 0xe0000f02, 0x7fdf: 0xe0000eff,\n\t0x7fe0: 0xe0000f41, 0x7fe1: 0xe0000f3e, 0x7fe2: 0xe0000f53, 0x7fe3: 0xe0000f50,\n\t0x7fe4: 0xe0000f26, 0x7fe5: 0xe0000f22, 0x7fe6: 0xe0000f3a, 0x7fe7: 0xe0000f36,\n\t0x7fe8: 0xe0000f5a, 0x7fe9: 0xe0000f56, 0x7fea: 0xe0000f93, 0x7feb: 0xe0000f90,\n\t0x7fec: 0xe0000f9f, 0x7fed: 0xe0000f9c, 0x7fee: 0xe0000fb1, 0x7fef: 0xe0000fae,\n\t0x7ff0: 0xe0000fab, 0x7ff1: 0xe0000fa8, 0x7ff2: 0xe0001093, 0x7ff3: 0xe0001090,\n\t0x7ff4: 0xe000109f, 0x7ff5: 0xe000109c, 0x7ff6: 0xe0001099, 0x7ff7: 0xe0001096,\n\t0x7ff8: 0xe0001032, 0x7ff9: 0xe000102e, 0x7ffa: 0xe000298b, 0x7ffb: 0xe0002988,\n\t0x7ffc: 0xe00010a9, 0x7ffd: 0xe00010a6, 0x7ffe: 0xe00010af, 0x7fff: 0xe00010ac,\n\t// Block 0x200, offset 0x8000\n\t0x8000: 0xe00009bc, 0x8001: 0xe00009c0, 0x8002: 0x002c3a8b, 0x8003: 0xf0000a04,\n\t0x8004: 0x40081c20, 0x8005: 0xe0000a5e, 0x8006: 0xe0000a62, 0x8007: 0x002cc28a,\n\t0x8008: 0x40081e20, 0x8009: 0xf0000a04, 0x800a: 0x002d2285, 0x800b: 0x002d688b,\n\t0x800c: 0x002d688b, 0x800d: 0x002d688b, 0x800e: 0x002d6885, 0x800f: 0xf0000202,\n\t0x8010: 0x002d9a8b, 0x8011: 0x002d9a8b, 0x8012: 0x002e228b, 0x8013: 0x002e2285,\n\t0x8014: 0x40082020, 0x8015: 0x002e9e8b, 0x8016: 0xf000040a, 0x8017: 0x40082220,\n\t0x8018: 0x40082420, 0x8019: 0x002f2c8b, 0x801a: 0x002f568b, 0x801b: 0x002f7a8b,\n\t0x801c: 0x002f7a8b, 0x801d: 0x002f7a8b, 0x801e: 0x40082620, 0x801f: 0x40082820,\n\t0x8020: 0xf0001414, 0x8021: 0xe0000fbd, 0x8022: 0xf0001414, 0x8023: 0x40082a20,\n\t0x8024: 0x00312a8b, 0x8025: 0x40082c20, 0x8026: 0x0032a288, 0x8027: 0x40082e20,\n\t0x8028: 0x00312a8b, 0x8029: 0x40083020, 0x802a: 0x002dfe88, 0x802b: 0x00321083,\n\t0x802c: 0x002c0a8b, 0x802d: 0x002c3a8b, 0x802e: 0x40083220, 0x802f: 0x002c9885,\n\t0x8030: 0x002c988b, 0x8031: 0x002d088b, 0x8032: 0x002d1e88, 0x8033: 0x002e828b,\n\t0x8034: 0x002ee285, 0x8035: 0x00389084, 0x8036: 0x00389284, 0x8037: 0x00389484,\n\t0x8038: 0x00389684, 0x8039: 0x002d9a85, 0x803a: 0x40083420, 0x803b: 0xe0000b95,\n\t0x803c: 0x00327e85, 0x803d: 0x00325685, 0x803e: 0x0032568b, 0x803f: 0x00327e8b,\n\t// Block 0x201, offset 0x8040\n\t0x8040: 0xa0000000, 0x8041: 0xa0000000, 0x8042: 0xa0000000, 0x8043: 0xa0000000,\n\t0x8044: 0xa0000000, 0x8045: 0xa0000000, 0x8046: 0xa0000000, 0x8047: 0xa0000000,\n\t0x8048: 0xa0000000, 0x8049: 0x40020020, 0x804a: 0x40020220, 0x804b: 0x40020420,\n\t0x804c: 0x40020620, 0x804d: 0x40020820, 0x804e: 0xa0000000, 0x804f: 0xa0000000,\n\t0x8050: 0xa0000000, 0x8051: 0xa0000000, 0x8052: 0xa0000000, 0x8053: 0xa0000000,\n\t0x8054: 0xa0000000, 0x8055: 0xa0000000, 0x8056: 0xa0000000, 0x8057: 0xa0000000,\n\t0x8058: 0xa0000000, 0x8059: 0xa0000000, 0x805a: 0xa0000000, 0x805b: 0xa0000000,\n\t0x805c: 0xa0000000, 0x805d: 0xa0000000, 0x805e: 0xa0000000, 0x805f: 0xa0000000,\n\t0x8060: 0x40021220, 0x8061: 0x4002ba20, 0x8062: 0x4003e020, 0x8063: 0x4004ea20,\n\t0x8064: 0x4027de20, 0x8065: 0x4004ec20, 0x8066: 0x4004e620, 0x8067: 0x4003d220,\n\t0x8068: 0x4003f420, 0x8069: 0x4003f620, 0x806a: 0x4004d820, 0x806b: 0x40093820,\n\t0x806c: 0x40024020, 0x806d: 0x40021a20, 0x806e: 0x4002e420, 0x806f: 0x4004e220,\n\t0x8070: 0x4029cc20, 0x8071: 0x4029ce20, 0x8072: 0x4029d020, 0x8073: 0x4029d220,\n\t0x8074: 0x4029d420, 0x8075: 0x4029d620, 0x8076: 0x4029d820, 0x8077: 0x4029da20,\n\t0x8078: 0x4029dc20, 0x8079: 0x4029de20, 0x807a: 0x40026c20, 0x807b: 0x40026220,\n\t0x807c: 0x40094020, 0x807d: 0x40094220, 0x807e: 0x40094420, 0x807f: 0x4002c420,\n\t// Block 0x202, offset 0x8080\n\t0x8080: 0x4004d620, 0x8081: 0xc3a80071, 0x8082: 0x002c0a88, 0x8083: 0x002c3a88,\n\t0x8084: 0x002c6288, 0x8085: 0x002c9888, 0x8086: 0x002d0888, 0x8087: 0x002d2288,\n\t0x8088: 0x002d6888, 0x8089: 0x002d9a88, 0x808a: 0x002dcc88, 0x808b: 0x002dfe88,\n\t0x808c: 0xc0030002, 0x808d: 0x002e8288, 0x808e: 0x002e9e88, 0x808f: 0xc3ac0071,\n\t0x8090: 0x002f2c88, 0x8091: 0x002f5688, 0x8092: 0x002f7a88, 0x8093: 0x002fe688,\n\t0x8094: 0x00302c88, 0x8095: 0xc3b00071, 0x8096: 0x0030be88, 0x8097: 0x0030e288,\n\t0x8098: 0x0030f688, 0x8099: 0x00310088, 0x809a: 0x00312a88, 0x809b: 0x4003f820,\n\t0x809c: 0x4004e420, 0x809d: 0x4003fa20, 0x809e: 0x40062420, 0x809f: 0x40021620,\n\t0x80a0: 0x40061e20, 0x80a1: 0xc3a60071, 0x80a2: 0x402c0a20, 0x80a3: 0x402c3a20,\n\t0x80a4: 0x402c6220, 0x80a5: 0x402c9820, 0x80a6: 0x402d0820, 0x80a7: 0x402d2220,\n\t0x80a8: 0x402d6820, 0x80a9: 0x402d9a20, 0x80aa: 0x402dcc20, 0x80ab: 0x402dfe20,\n\t0x80ac: 0xc0000002, 0x80ad: 0x402e8220, 0x80ae: 0x402e9e20, 0x80af: 0xc3aa0071,\n\t0x80b0: 0x402f2c20, 0x80b1: 0x402f5620, 0x80b2: 0x402f7a20, 0x80b3: 0x402fe620,\n\t0x80b4: 0x40302c20, 0x80b5: 0xc3ae0071, 0x80b6: 0x4030be20, 0x80b7: 0x4030e220,\n\t0x80b8: 0x4030f620, 0x80b9: 0x40310020, 0x80ba: 0x40312a20, 0x80bb: 0x4003fc20,\n\t0x80bc: 0x40094820, 0x80bd: 0x4003fe20, 0x80be: 0x40094c20, 0x80bf: 0xa0000000,\n\t// Block 0x203, offset 0x80c0\n\t0x80c0: 0xe00008f5, 0x80c1: 0xe00008ef, 0x80c2: 0xe0000921, 0x80c3: 0xe0000969,\n\t0x80c4: 0xe00029bb, 0x80c5: 0xe000094d, 0x80c6: 0xe00009dd, 0x80c7: 0xe0000a53,\n\t0x80c8: 0xe0000ae8, 0x80c9: 0xe0000ae2, 0x80ca: 0xe0000af4, 0x80cb: 0xe0000b20,\n\t0x80cc: 0xe0000c2b, 0x80cd: 0xe0000c25, 0x80ce: 0xe0000c37, 0x80cf: 0xe0000c43,\n\t0x80d0: 0xe0000ab3, 0x80d1: 0xe0000d63, 0x80d2: 0xe0000d9a, 0x80d3: 0xe0000d94,\n\t0x80d4: 0xe0000da6, 0x80d5: 0xe0000de6, 0x80d6: 0xe00029c9, 0x80d7: 0x40093e20,\n\t0x80d8: 0xe0000e12, 0x80d9: 0xe0000fe1, 0x80da: 0xe0000fdb, 0x80db: 0xe0000fed,\n\t0x80dc: 0xe00029df, 0x80dd: 0xe0001102, 0x80de: 0x00318888, 0x80df: 0xe0000f7b,\n\t0x80e0: 0xe00008f2, 0x80e1: 0xe00008ec, 0x80e2: 0xe000091e, 0x80e3: 0xe0000966,\n\t0x80e4: 0xe00029b8, 0x80e5: 0xe000094a, 0x80e6: 0xe00009d5, 0x80e7: 0xe0000a4d,\n\t0x80e8: 0xe0000ae5, 0x80e9: 0xe0000adf, 0x80ea: 0xe0000af1, 0x80eb: 0xe0000b1d,\n\t0x80ec: 0xe0000c28, 0x80ed: 0xe0000c22, 0x80ee: 0xe0000c34, 0x80ef: 0xe0000c40,\n\t0x80f0: 0xe0000aad, 0x80f1: 0xe0000d60, 0x80f2: 0xe0000d97, 0x80f3: 0xe0000d91,\n\t0x80f4: 0xe0000da3, 0x80f5: 0xe0000de3, 0x80f6: 0xe00029c6, 0x80f7: 0x40093c20,\n\t0x80f8: 0xe0000e0f, 0x80f9: 0xe0000fde, 0x80fa: 0xe0000fd8, 0x80fb: 0xe0000fea,\n\t0x80fc: 0xe00029dc, 0x80fd: 0xe00010ff, 0x80fe: 0x40318820, 0x80ff: 0xe0001114,\n\t// Block 0x204, offset 0x8100\n\t0x8100: 0x40321220, 0x8101: 0x40321a20, 0x8102: 0x40322220, 0x8103: 0x40322a20,\n\t0x8104: 0xe0000ad5, 0x8105: 0xe0000ad1, 0x8106: 0xe0000acd, 0x8107: 0xf0000a0a,\n\t0x8108: 0xf000040a, 0x8109: 0xf0000404, 0x810a: 0xf0000a0a, 0x810b: 0xf000040a,\n\t0x810c: 0xf0000404, 0x810d: 0xe0000947, 0x810e: 0xe0000944, 0x810f: 0xe0000c3d,\n\t0x8110: 0xe0000c3a, 0x8111: 0xe0000dcc, 0x8112: 0xe0000dc9, 0x8113: 0xe0000ff3,\n\t0x8114: 0xe0000ff0, 0x8115: 0xe00029fe, 0x8116: 0xe00029fa, 0x8117: 0xe00029e6,\n\t0x8118: 0xe00029e2, 0x8119: 0xe00029f6, 0x811a: 0xe00029f2, 0x811b: 0xe00029ee,\n\t0x811c: 0xe00029ea, 0x811d: 0x402cae20, 0x811e: 0xe00029c2, 0x811f: 0xe00029be,\n\t0x8120: 0xe0000976, 0x8121: 0xe0000972, 0x8122: 0xe00009f4, 0x8123: 0xe00009ef,\n\t0x8124: 0x002d3a88, 0x8125: 0x402d3a20, 0x8126: 0xe0000bbe, 0x8127: 0xe0000bbb,\n\t0x8128: 0xe0000c99, 0x8129: 0xe0000c96, 0x812a: 0xe0000e20, 0x812b: 0xe0000e1d,\n\t0x812c: 0xe0000e27, 0x812d: 0xe0000e23, 0x812e: 0xe0001162, 0x812f: 0xe000115f,\n\t0x8130: 0xe0000c8d, 0x8131: 0xf0000a0a, 0x8132: 0xf000040a, 0x8133: 0xf0000404,\n\t0x8134: 0xe0000bac, 0x8135: 0xe0000ba9, 0x8136: 0x002d7888, 0x8137: 0x00319488,\n\t0x8138: 0xe0000d57, 0x8139: 0xe0000d54, 0x813a: 0xe0000954, 0x813b: 0xe0000950,\n\t0x813c: 0xe00009ea, 0x813d: 0xe00009e5, 0x813e: 0xe0000e19, 0x813f: 0xe0000e15,\n\t// Block 0x205, offset 0x8140\n\t0x8140: 0xe000098f, 0x8141: 0xe000098c, 0x8142: 0xe0000995, 0x8143: 0xe0000992,\n\t0x8144: 0xe0000b62, 0x8145: 0xe0000b5f, 0x8146: 0xe0000b68, 0x8147: 0xe0000b65,\n\t0x8148: 0xe0000c6c, 0x8149: 0xe0000c69, 0x814a: 0xe0000c72, 0x814b: 0xe0000c6f,\n\t0x814c: 0xe0000e4a, 0x814d: 0xe0000e47, 0x814e: 0xe0000e50, 0x814f: 0xe0000e4d,\n\t0x8150: 0xe0000ee8, 0x8151: 0xe0000ee5, 0x8152: 0xe0000eee, 0x8153: 0xe0000eeb,\n\t0x8154: 0xe0001053, 0x8155: 0xe0001050, 0x8156: 0xe0001059, 0x8157: 0xe0001056,\n\t0x8158: 0xe0000f61, 0x8159: 0xe0000f5e, 0x815a: 0xe0000fa5, 0x815b: 0xe0000fa2,\n\t0x815c: 0x00312288, 0x815d: 0x40312220, 0x815e: 0xe0000bf4, 0x815f: 0xe0000bf1,\n\t0x8160: 0x002ebc88, 0x8161: 0x402c8c20, 0x8162: 0x002f2288, 0x8163: 0x402f2220,\n\t0x8164: 0x00314088, 0x8165: 0x40314020, 0x8166: 0xe000096f, 0x8167: 0xe000096c,\n\t0x8168: 0xe0000b32, 0x8169: 0xe0000b2f, 0x816a: 0xe00029d8, 0x816b: 0xe00029d4,\n\t0x816c: 0xe0000dfd, 0x816d: 0xe0000df9, 0x816e: 0xe0000e04, 0x816f: 0xe0000e01,\n\t0x8170: 0xe0000e0b, 0x8171: 0xe0000e07, 0x8172: 0xe0001129, 0x8173: 0xe0001126,\n\t0x8174: 0x402e5e20, 0x8175: 0x402ed020, 0x8176: 0x40305a20, 0x8177: 0x402dd420,\n\t0x8178: 0xe0000abf, 0x8179: 0xe0000ec4, 0x817a: 0x002be888, 0x817b: 0x002c4488,\n\t0x817c: 0x402c4420, 0x817d: 0x002e3888, 0x817e: 0x00303e88, 0x817f: 0x402ffc20,\n\t// Block 0x206, offset 0x8180\n\t0x8180: 0xe0000d24, 0x8181: 0xe0000d21, 0x8182: 0xe0000d2a, 0x8183: 0xe0000d27,\n\t0x8184: 0xe0000d69, 0x8185: 0xe0000d66, 0x8186: 0xe0000d7b, 0x8187: 0xe0000d78,\n\t0x8188: 0xe0000d87, 0x8189: 0xe0000d84, 0x818a: 0xe0000d81, 0x818b: 0xe0000d7e,\n\t0x818c: 0xe0000ded, 0x818d: 0xe0000de9, 0x818e: 0xe00029d0, 0x818f: 0xe00029cc,\n\t0x8190: 0xe0000e3d, 0x8191: 0xe0000e39, 0x8192: 0xe0000e35, 0x8193: 0xe0000e31,\n\t0x8194: 0xe0000ea7, 0x8195: 0xe0000ea4, 0x8196: 0xe0000ead, 0x8197: 0xe0000eaa,\n\t0x8198: 0xe0000ed6, 0x8199: 0xe0000ed3, 0x819a: 0xe0000ef4, 0x819b: 0xe0000ef1,\n\t0x819c: 0xe0000efb, 0x819d: 0xe0000ef7, 0x819e: 0xe0000f02, 0x819f: 0xe0000eff,\n\t0x81a0: 0xe0000f41, 0x81a1: 0xe0000f3e, 0x81a2: 0xe0000f53, 0x81a3: 0xe0000f50,\n\t0x81a4: 0xe0000f26, 0x81a5: 0xe0000f22, 0x81a6: 0xe0000f3a, 0x81a7: 0xe0000f36,\n\t0x81a8: 0xe0000f5a, 0x81a9: 0xe0000f56, 0x81aa: 0xe0000f93, 0x81ab: 0xe0000f90,\n\t0x81ac: 0xe0000f9f, 0x81ad: 0xe0000f9c, 0x81ae: 0xe0000fb1, 0x81af: 0xe0000fae,\n\t0x81b0: 0xe0000fab, 0x81b1: 0xe0000fa8, 0x81b2: 0xe0001093, 0x81b3: 0xe0001090,\n\t0x81b4: 0xe000109f, 0x81b5: 0xe000109c, 0x81b6: 0xe0001099, 0x81b7: 0xe0001096,\n\t0x81b8: 0xe0001032, 0x81b9: 0xe000102e, 0x81ba: 0xe00029fe, 0x81bb: 0xe00029fa,\n\t0x81bc: 0xe00010a9, 0x81bd: 0xe00010a6, 0x81be: 0xe00010af, 0x81bf: 0xe00010ac,\n\t// Block 0x207, offset 0x81c0\n\t0x81c0: 0x40078220, 0x81c1: 0x40075e20, 0x81c2: 0x40076020, 0x81c3: 0x40076220,\n\t0x81c4: 0x40058220, 0x81c5: 0x40058420, 0x81c6: 0x40058620, 0x81c7: 0x40058820,\n\t0x81c8: 0x40058a20, 0x81c9: 0x40058c20, 0x81ca: 0x40058e20, 0x81cb: 0x4027bc20,\n\t0x81cc: 0x0027bc83, 0x81cd: 0x4027bc21, 0x81ce: 0x4027bc22, 0x81cf: 0x4027bc23,\n\t0x81d0: 0x4027bc24, 0x81d1: 0x4027bc25, 0x81d2: 0x4005a020, 0x81d3: 0x40076420,\n\t0x81d4: 0x4027bc26, 0x81d5: 0x40076620, 0x81d6: 0x40076820, 0x81d7: 0x40076a20,\n\t0x81d8: 0xadc00000, 0x81d9: 0xadc00000, 0x81da: 0x40076c20, 0x81db: 0x40076e20,\n\t0x81dc: 0x40077020, 0x81dd: 0x40077220, 0x81de: 0x40077420, 0x81df: 0x40077620,\n\t0x81e0: 0xe00001a0, 0x81e1: 0xe0000234, 0x81e2: 0xe000034c, 0x81e3: 0xe0000426,\n\t0x81e4: 0xe00004fb, 0x81e5: 0xe00005c5, 0x81e6: 0xe0000690, 0x81e7: 0xe0000738,\n\t0x81e8: 0xe00007e4, 0x81e9: 0xe0000889, 0x81ea: 0xe0000237, 0x81eb: 0xe000034f,\n\t0x81ec: 0xe0000429, 0x81ed: 0xe00004fe, 0x81ee: 0xe00005c8, 0x81ef: 0xe0000693,\n\t0x81f0: 0xe000073b, 0x81f1: 0xe00007e7, 0x81f2: 0xe000088c, 0x81f3: 0xe00001a3,\n\t0x81f4: 0x4027bc27, 0x81f5: 0xadc00000, 0x81f6: 0x40077a20, 0x81f7: 0xadc00000,\n\t0x81f8: 0x40077c20, 0x81f9: 0xae611002, 0x81fa: 0x40040020, 0x81fb: 0x40040220,\n\t0x81fc: 0x40040420, 0x81fd: 0x40040620, 0x81fe: 0xa0000000, 0x81ff: 0xa0000000,\n\t// Block 0x208, offset 0x8200\n\t0x8200: 0x404a7620, 0x8201: 0x404a7c20, 0x8202: 0xc4db2161, 0x8203: 0xe0002a23,\n\t0x8204: 0x404a8420, 0x8205: 0x404a8820, 0x8206: 0x404a8c20, 0x8207: 0x404a9020,\n\t0x8209: 0x404a9420, 0x820a: 0x004aa883, 0x820b: 0x004aac83,\n\t0x820c: 0x004ab083, 0x820d: 0xe0002a5b, 0x820e: 0x004ab483, 0x820f: 0x404aa820,\n\t0x8210: 0x404aac20, 0x8211: 0xc3b50c31, 0x8212: 0xe0002a58, 0x8213: 0x404ab420,\n\t0x8214: 0x404ab820, 0x8215: 0x404abc20, 0x8216: 0xc3ff1211, 0x8217: 0xe0002a7c,\n\t0x8218: 0xc46018e1, 0x8219: 0x404ac820, 0x821a: 0x404acc20, 0x821b: 0x404ad020,\n\t0x821c: 0xe0002a9d, 0x821d: 0x404ad420, 0x821e: 0x404ad820, 0x821f: 0x404adc20,\n\t0x8220: 0xc49b1d01, 0x8221: 0x404ae420, 0x8222: 0xc4481761, 0x8223: 0xc4551831,\n\t0x8224: 0x404af220, 0x8225: 0x004af283, 0x8226: 0xc48f1c51, 0x8227: 0x404afe20,\n\t0x8228: 0x404b0220, 0x8229: 0xe0002a02, 0x822a: 0x004ae883, 0x822b: 0x404a7a20,\n\t0x822c: 0x404aec20,\n\t0x8231: 0xc5270751, 0x8232: 0x8282258c, 0x8233: 0x8281258d,\n\t0x8234: 0x82842590, 0x8235: 0x82812591, 0x8236: 0x404b2420, 0x8237: 0x404b2620,\n\t0x8238: 0x404b2820, 0x8239: 0x404b2a20, 0x823a: 0x82822596, 0x823b: 0x83822596,\n\t0x823c: 0x82822598, 0x823d: 0x83822598, 0x823e: 0x004ac483, 0x823f: 0xae611102,\n\t// Block 0x209, offset 0x8240\n\t0x8240: 0x8382258c, 0x8241: 0x8281258f, 0x8242: 0x004ac484, 0x8243: 0x004ac485,\n\t0x8244: 0xae610e02, 0x8245: 0xae611202, 0x8246: 0xae600000, 0x8247: 0xae600000,\n\t0x8248: 0xc3b20c01, 0x8249: 0xc5122551, 0x824a: 0xae611502, 0x824b: 0xc5102521,\n\t0x824c: 0x404b0e20, 0x824d: 0x404b0820, 0x824e: 0x404b0c20, 0x824f: 0x404b1020,\n\t0x8250: 0x82822599, 0x8251: 0x8282259a, 0x8252: 0x8282259b, 0x8253: 0xe0002ac7,\n\t0x8254: 0x8282259c, 0x8255: 0x8282259d, 0x8256: 0x8282259e, 0x8257: 0x8282259f,\n\t0x8259: 0x828225a0, 0x825a: 0x838225a1, 0x825b: 0x838225a2,\n\t0x825c: 0x838225a3, 0x825d: 0xe0002acd, 0x825e: 0x838225a4, 0x825f: 0x828225a1,\n\t0x8260: 0x828225a2, 0x8261: 0x828225a3, 0x8262: 0xe0002aca, 0x8263: 0x828225a4,\n\t0x8264: 0x828225a5, 0x8265: 0x828225a6, 0x8266: 0x828225a7, 0x8267: 0xe0002ad0,\n\t0x8268: 0x828225a8, 0x8269: 0x828225a9, 0x826a: 0x828225aa, 0x826b: 0x828225ab,\n\t0x826c: 0xe0002ad3, 0x826d: 0x828225ac, 0x826e: 0x828225ad, 0x826f: 0x828225ae,\n\t0x8270: 0x828225af, 0x8271: 0x828225b0, 0x8272: 0xc5152581, 0x8273: 0xc51e2581,\n\t0x8274: 0x828225b3, 0x8275: 0x838225b3, 0x8276: 0x828225b4, 0x8277: 0x828225b5,\n\t0x8278: 0x828225b6, 0x8279: 0xe0002ac4, 0x827a: 0x838225ac, 0x827b: 0x838225b0,\n\t0x827c: 0x838225b1, 0x827e: 0x40077e20, 0x827f: 0x40078020,\n\t// Block 0x20a, offset 0x8280\n\t0x8280: 0xa0000000, 0x8281: 0xa0000000, 0x8282: 0xa0000000, 0x8283: 0xa0000000,\n\t0x8284: 0xa0000000, 0x8285: 0xa0000000, 0x8286: 0xa0000000, 0x8287: 0xa0000000,\n\t0x8288: 0xa0000000, 0x8289: 0x40020020, 0x828a: 0x40020220, 0x828b: 0x40020420,\n\t0x828c: 0x40020620, 0x828d: 0x40020820, 0x828e: 0xa0000000, 0x828f: 0xa0000000,\n\t0x8290: 0xa0000000, 0x8291: 0xa0000000, 0x8292: 0xa0000000, 0x8293: 0xa0000000,\n\t0x8294: 0xa0000000, 0x8295: 0xa0000000, 0x8296: 0xa0000000, 0x8297: 0xa0000000,\n\t0x8298: 0xa0000000, 0x8299: 0xa0000000, 0x829a: 0xa0000000, 0x829b: 0xa0000000,\n\t0x829c: 0xa0000000, 0x829d: 0xa0000000, 0x829e: 0xa0000000, 0x829f: 0xa0000000,\n\t0x82a0: 0x40021220, 0x82a1: 0x4002ba20, 0x82a2: 0x4003e020, 0x82a3: 0x4004ea20,\n\t0x82a4: 0x4027de20, 0x82a5: 0x4004ec20, 0x82a6: 0x4004e620, 0x82a7: 0x4003d220,\n\t0x82a8: 0x4003f420, 0x82a9: 0x4003f620, 0x82aa: 0x4004d820, 0x82ab: 0x40093820,\n\t0x82ac: 0x40024020, 0x82ad: 0x40021a20, 0x82ae: 0x4002e420, 0x82af: 0x4004e220,\n\t0x82b0: 0x4029cc20, 0x82b1: 0x4029ce20, 0x82b2: 0x4029d020, 0x82b3: 0x4029d220,\n\t0x82b4: 0x4029d420, 0x82b5: 0x4029d620, 0x82b6: 0x4029d820, 0x82b7: 0x4029da20,\n\t0x82b8: 0x4029dc20, 0x82b9: 0x4029de20, 0x82ba: 0x40026c20, 0x82bb: 0x40026220,\n\t0x82bc: 0x40094020, 0x82bd: 0x40094220, 0x82be: 0x40094420, 0x82bf: 0x4002c420,\n\t// Block 0x20b, offset 0x82c0\n\t0x82c0: 0x4004d620, 0x82c1: 0x002bde88, 0x82c2: 0x002c0a88, 0x82c3: 0x002c3a88,\n\t0x82c4: 0xc36a2662, 0x82c5: 0x002c9888, 0x82c6: 0x002d0888, 0x82c7: 0xc52b2692,\n\t0x82c8: 0x002d6888, 0x82c9: 0x002d9a88, 0x82ca: 0x002dcc88, 0x82cb: 0xc53026c2,\n\t0x82cc: 0xc0030002, 0x82cd: 0x002e8288, 0x82ce: 0xc53526f2, 0x82cf: 0x002ee288,\n\t0x82d0: 0x002f2c88, 0x82d1: 0x002f5688, 0x82d2: 0x002f7a88, 0x82d3: 0x002fe688,\n\t0x82d4: 0xc38a2722, 0x82d5: 0x00306c88, 0x82d6: 0x0030be88, 0x82d7: 0x0030e288,\n\t0x82d8: 0x002d6a83, 0x82d9: 0x00310088, 0x82da: 0x00312a88, 0x82db: 0x4003f820,\n\t0x82dc: 0x4004e420, 0x82dd: 0x4003fa20, 0x82de: 0x40062420, 0x82df: 0x40021620,\n\t0x82e0: 0x40061e20, 0x82e1: 0x402bde20, 0x82e2: 0x402c0a20, 0x82e3: 0x402c3a20,\n\t0x82e4: 0xc3682651, 0x82e5: 0x402c9820, 0x82e6: 0x402d0820, 0x82e7: 0xc3372681,\n\t0x82e8: 0x402d6820, 0x82e9: 0x402d9a20, 0x82ea: 0x402dcc20, 0x82eb: 0xc52e26b1,\n\t0x82ec: 0xc0000002, 0x82ed: 0x402e8220, 0x82ee: 0xc53326e1, 0x82ef: 0x402ee220,\n\t0x82f0: 0x402f2c20, 0x82f1: 0x402f5620, 0x82f2: 0x402f7a20, 0x82f3: 0x402fe620,\n\t0x82f4: 0xc3882711, 0x82f5: 0x40306c20, 0x82f6: 0x4030be20, 0x82f7: 0x4030e220,\n\t0x82f8: 0x402d6a20, 0x82f9: 0x40310020, 0x82fa: 0x40312a20, 0x82fb: 0x4003fc20,\n\t0x82fc: 0x40094820, 0x82fd: 0x4003fe20, 0x82fe: 0x40094c20, 0x82ff: 0xa0000000,\n\t// Block 0x20c, offset 0x8300\n\t0x8300: 0xe00008f5, 0x8301: 0xe00008ef, 0x8302: 0xe0002ad9, 0x8303: 0xe0000969,\n\t0x8304: 0xe000095b, 0x8305: 0xe000094d, 0x8306: 0xe00009dd, 0x8307: 0xe0000a53,\n\t0x8308: 0xe0000ae8, 0x8309: 0xe0000ae2, 0x830a: 0xe0002b0d, 0x830b: 0xe0000b20,\n\t0x830c: 0xe0000c2b, 0x830d: 0xe0000c25, 0x830e: 0xe0002b47, 0x830f: 0xe0000c43,\n\t0x8310: 0xe0000ab3, 0x8311: 0xe0000d63, 0x8312: 0xe0000d9a, 0x8313: 0xe0000d94,\n\t0x8314: 0xe0002b53, 0x8315: 0xe0000de6, 0x8316: 0xe0000dd2, 0x8317: 0x40093e20,\n\t0x8318: 0xe0000e12, 0x8319: 0xe0000fe1, 0x831a: 0xe0000fdb, 0x831b: 0xe0002b87,\n\t0x831c: 0xe0000fff, 0x831d: 0xe0001102, 0x831e: 0x00318888, 0x831f: 0xe0000f7b,\n\t0x8320: 0xe00008f2, 0x8321: 0xe00008ec, 0x8322: 0xe0002ad6, 0x8323: 0xe0000966,\n\t0x8324: 0xe0000958, 0x8325: 0xe000094a, 0x8326: 0xe00009d5, 0x8327: 0xe0000a4d,\n\t0x8328: 0xe0000ae5, 0x8329: 0xe0000adf, 0x832a: 0xe0002b0a, 0x832b: 0xe0000b1d,\n\t0x832c: 0xe0000c28, 0x832d: 0xe0000c22, 0x832e: 0xe0002b44, 0x832f: 0xe0000c40,\n\t0x8330: 0xe0000aad, 0x8331: 0xe0000d60, 0x8332: 0xe0000d97, 0x8333: 0xe0000d91,\n\t0x8334: 0xe0002b50, 0x8335: 0xe0000de3, 0x8336: 0xe0000dcf, 0x8337: 0x40093c20,\n\t0x8338: 0xe0000e0f, 0x8339: 0xe0000fde, 0x833a: 0xe0000fd8, 0x833b: 0xe0002b84,\n\t0x833c: 0xe0000ffc, 0x833d: 0xe00010ff, 0x833e: 0x40318820, 0x833f: 0xe0001114,\n\t// Block 0x20d, offset 0x8340\n\t0x8340: 0xe0000983, 0x8341: 0xe0000980, 0x8342: 0xe00008fb, 0x8343: 0xe00008f8,\n\t0x8344: 0xe000097d, 0x8345: 0xe000097a, 0x8346: 0xe0000a38, 0x8347: 0xe0000a35,\n\t0x8348: 0xe0002b07, 0x8349: 0xe0002b04, 0x834a: 0xe0000a4a, 0x834b: 0xe0000a47,\n\t0x834c: 0xe0000a44, 0x834d: 0xe0000a41, 0x834e: 0xe0000a86, 0x834f: 0xe0000a83,\n\t0x8350: 0xe0000aaa, 0x8351: 0xe0000aa7, 0x8352: 0xe0000b46, 0x8353: 0xe0000b43,\n\t0x8354: 0xe0000aee, 0x8355: 0xe0000aeb, 0x8356: 0xe0000b2c, 0x8357: 0xe0000b29,\n\t0x8358: 0xe0000b40, 0x8359: 0xe0000b3d, 0x835a: 0xe0000b1a, 0x835b: 0xe0000b17,\n\t0x835c: 0xe0002b3b, 0x835d: 0xe0002b38, 0x835e: 0xe0000bb2, 0x835f: 0xe0000baf,\n\t0x8360: 0xe0000bc4, 0x8361: 0xe0000bc1, 0x8362: 0xe0000bca, 0x8363: 0xe0000bc7,\n\t0x8364: 0xe0002b41, 0x8365: 0xe0002b3e, 0x8366: 0xe0000c1b, 0x8367: 0xe0000c18,\n\t0x8368: 0xe0000c51, 0x8369: 0xe0000c4e, 0x836a: 0xe0000c60, 0x836b: 0xe0000c5d,\n\t0x836c: 0xe0000c31, 0x836d: 0xe0000c2e, 0x836e: 0xe0000c5a, 0x836f: 0xe0000c57,\n\t0x8370: 0xe0000c54, 0x8371: 0x402da220, 0x8372: 0xf0000a0a, 0x8373: 0xf0000404,\n\t0x8374: 0xe0002b4d, 0x8375: 0xe0002b4a, 0x8376: 0xe0000c9f, 0x8377: 0xe0000c9c,\n\t0x8378: 0x402f7220, 0x8379: 0xe0000ccc, 0x837a: 0xe0000cc9, 0x837b: 0xe0000cd8,\n\t0x837c: 0xe0000cd5, 0x837d: 0xe0000cd2, 0x837e: 0xe0000ccf, 0x837f: 0xe0000d04,\n\t// Block 0x20e, offset 0x8380\n\t0x8380: 0xe0000cfe, 0x8381: 0xe0000cf8, 0x8382: 0xe0000cf5, 0x8383: 0xe0000d51,\n\t0x8384: 0xe0000d4e, 0x8385: 0xe0000d6f, 0x8386: 0xe0000d6c, 0x8387: 0xe0000d5d,\n\t0x8388: 0xe0000d5a, 0x8389: 0xf0000404, 0x838a: 0x002ea283, 0x838b: 0x402ea220,\n\t0x838c: 0xe0000e2e, 0x838d: 0xe0000e2b, 0x838e: 0xe0000da0, 0x838f: 0xe0000d9d,\n\t0x8390: 0xe0000de0, 0x8391: 0xe0000ddd, 0x8392: 0xe0000e93, 0x8393: 0xe0000e8f,\n\t0x8394: 0xe0000eca, 0x8395: 0xe0000ec7, 0x8396: 0xe0000edc, 0x8397: 0xe0000ed9,\n\t0x8398: 0xe0000ed0, 0x8399: 0xe0000ecd, 0x839a: 0xe0000f1f, 0x839b: 0xe0000f1c,\n\t0x839c: 0xe0002b81, 0x839d: 0xe0002b7e, 0x839e: 0xe0000f47, 0x839f: 0xe0000f44,\n\t0x83a0: 0xe0000f33, 0x83a1: 0xe0000f30, 0x83a2: 0xe0000f99, 0x83a3: 0xe0000f96,\n\t0x83a4: 0xe0000f8a, 0x83a5: 0xe0000f87, 0x83a6: 0x00303688, 0x83a7: 0x40303620,\n\t0x83a8: 0xe000102b, 0x83a9: 0xe0001028, 0x83aa: 0xe000103f, 0x83ab: 0xe000103c,\n\t0x83ac: 0xe0000fe7, 0x83ad: 0xe0000fe4, 0x83ae: 0xe0000ff9, 0x83af: 0xe0000ff6,\n\t0x83b0: 0xe0001025, 0x83b1: 0xe0001022, 0x83b2: 0xe0001039, 0x83b3: 0xe0001036,\n\t0x83b4: 0xe0002b8d, 0x83b5: 0xe0002b8a, 0x83b6: 0xe0002b93, 0x83b7: 0xe0002b90,\n\t0x83b8: 0xe0001117, 0x83b9: 0xe000113b, 0x83ba: 0xe0001138, 0x83bb: 0xe000114d,\n\t0x83bc: 0xe000114a, 0x83bd: 0xe0001147, 0x83be: 0xe0001144, 0x83bf: 0xe0000f64,\n\t// Block 0x20f, offset 0x83c0\n\t0x83c0: 0x402c1a20, 0x83c1: 0x002c2a88, 0x83c2: 0x002c3288, 0x83c3: 0x402c3220,\n\t0x83c4: 0x0031c488, 0x83c5: 0x4031c420, 0x83c6: 0x002ee483, 0x83c7: 0x002c4e88,\n\t0x83c8: 0x402c4e20, 0x83c9: 0x002c6683, 0x83ca: 0x002c7a88, 0x83cb: 0x002c8488,\n\t0x83cc: 0x402c8420, 0x83cd: 0xe000115c, 0x83ce: 0x002cae88, 0x83cf: 0x002cb888,\n\t0x83d0: 0x002c9a83, 0x83d1: 0x002d0a83, 0x83d2: 0x402d0a20, 0x83d3: 0x002d4488,\n\t0x83d4: 0x002d2683, 0x83d5: 0x402d7820, 0x83d6: 0x002dc288, 0x83d7: 0x002db688,\n\t0x83d8: 0x002e0a88, 0x83d9: 0x402e0a20, 0x83da: 0x402e3820, 0x83db: 0x402e7220,\n\t0x83dc: 0x0030a088, 0x83dd: 0x002eb488, 0x83de: 0x402ebc20, 0x83df: 0x002f1088,\n\t0x83e0: 0xe0000e56, 0x83e1: 0xe0000e53, 0x83e2: 0x002d6088, 0x83e3: 0x402d6020,\n\t0x83e4: 0x002f3e88, 0x83e5: 0x402f3e20, 0x83e6: 0x002f8288, 0x83e7: 0x0031b488,\n\t0x83e8: 0x4031b420, 0x83e9: 0x00300888, 0x83ea: 0x40301220, 0x83eb: 0x40304220,\n\t0x83ec: 0x00304a88, 0x83ed: 0x40304a20, 0x83ee: 0x00305288, 0x83ef: 0xe000105f,\n\t0x83f0: 0xe000105c, 0x83f1: 0x0030b488, 0x83f2: 0x0030c083, 0x83f3: 0x00311888,\n\t0x83f4: 0x40311820, 0x83f5: 0x00313488, 0x83f6: 0x40313420, 0x83f7: 0x00316488,\n\t0x83f8: 0x00316e88, 0x83f9: 0x40316e20, 0x83fa: 0x40317820, 0x83fb: 0x4031a620,\n\t0x83fc: 0x0031bc88, 0x83fd: 0x4031bc20, 0x83fe: 0xe0000fc9, 0x83ff: 0x40319420,\n\t// Block 0x210, offset 0x8400\n\t0x8400: 0x40315820, 0x8401: 0x0031d488, 0x8402: 0x4031d420, 0x8403: 0x002c1a88,\n\t0x8404: 0x00307c88, 0x8405: 0x0030da88, 0x8406: 0x002ca288, 0x8407: 0x402ca220,\n\t0x8408: 0x002dde88, 0x8409: 0x402dde20, 0x840a: 0x002f6a88, 0x840b: 0x402f6a20,\n\t0x840c: 0x002f8e88, 0x840d: 0x402f8e20, 0x840e: 0x00311088, 0x840f: 0x40311020,\n\t0x8410: 0x402bf020, 0x8411: 0x402bf820, 0x8412: 0x402c0220, 0x8413: 0x402c2a20,\n\t0x8414: 0x402ee420, 0x8415: 0x402c5620, 0x8416: 0x402c6620, 0x8417: 0x402c7a20,\n\t0x8418: 0x402ccc20, 0x8419: 0x402cb820, 0x841a: 0x402cd420, 0x841b: 0x402c9a20,\n\t0x841c: 0x402cdc20, 0x841d: 0x402ce820, 0x841e: 0x402cf020, 0x841f: 0x402dee20,\n\t0x8420: 0x402d4420, 0x8421: 0x402d2a20, 0x8422: 0x402d3220, 0x8423: 0x402d2620,\n\t0x8424: 0x402d0020, 0x8425: 0x40308820, 0x8426: 0x402d8020, 0x8427: 0x402d8e20,\n\t0x8428: 0x402db620, 0x8429: 0x402dc220, 0x842a: 0x402daa20, 0x842b: 0x402e4220,\n\t0x842c: 0x402e4a20, 0x842d: 0x402e5420, 0x842e: 0x402e6820, 0x842f: 0x4030a020,\n\t0x8430: 0x4030ac20, 0x8431: 0x402e9020, 0x8432: 0x402eb420, 0x8433: 0x402ec820,\n\t0x8434: 0x402ea620, 0x8435: 0x402f1020, 0x8436: 0x402eee20, 0x8437: 0x402f1a20,\n\t0x8438: 0x402f4c20, 0x8439: 0x402f9820, 0x843a: 0x402fa220, 0x843b: 0x402fac20,\n\t0x843c: 0x402fb620, 0x843d: 0x402fbe20, 0x843e: 0x402fc620, 0x843f: 0x402fd020,\n\t// Block 0x211, offset 0x8440\n\t0x8440: 0x402f8220, 0x8441: 0x402fd820, 0x8442: 0x402ff420, 0x8443: 0x40300820,\n\t0x8444: 0x402df620, 0x8445: 0x40301a20, 0x8446: 0x40302420, 0x8447: 0x40306420,\n\t0x8448: 0x40305220, 0x8449: 0x40307c20, 0x844a: 0x4030b420, 0x844b: 0x4030c020,\n\t0x844c: 0x4030da20, 0x844d: 0x4030ee20, 0x844e: 0x402e7a20, 0x844f: 0x40310820,\n\t0x8450: 0x40314820, 0x8451: 0x40315020, 0x8452: 0x40316420, 0x8453: 0x40318020,\n\t0x8454: 0x4031cc20, 0x8455: 0x4031e820, 0x8456: 0x40320a20, 0x8457: 0x40323220,\n\t0x8458: 0x40323a20, 0x8459: 0x402c1220, 0x845a: 0x402cf820, 0x845b: 0x402d4c20,\n\t0x845c: 0x402d7020, 0x845d: 0x402de620, 0x845e: 0x402e1a20, 0x845f: 0x402e2a20,\n\t0x8460: 0x402f6220, 0x8461: 0x4031fa20, 0x8462: 0x40320220, 0x8463: 0xe0000aca,\n\t0x8464: 0xe0000adc, 0x8465: 0xe0000ad9, 0x8466: 0xe0000fcc, 0x8467: 0xe0000fcf,\n\t0x8468: 0xe0000fba, 0x8469: 0xe0000ba1, 0x846a: 0xe0000d11, 0x846b: 0xe0000d18,\n\t0x846c: 0x40324220, 0x846d: 0x40324a20, 0x846e: 0x40309020, 0x846f: 0x40309820,\n\t0x8470: 0x002d6894, 0x8471: 0x002d8094, 0x8472: 0x002dcc94, 0x8473: 0x002f7a94,\n\t0x8474: 0x002f9894, 0x8475: 0x002fac94, 0x8476: 0x002fd894, 0x8477: 0x0030e294,\n\t0x8478: 0x00310094, 0x8479: 0x40064020, 0x847a: 0x40064420, 0x847b: 0x402d9620,\n\t0x847c: 0x4031de20, 0x847d: 0x402d9820, 0x847e: 0x4031e220, 0x847f: 0x4031f020,\n\t// Block 0x212, offset 0x8480\n\t0x8480: 0xae603502, 0x8481: 0xae603202, 0x8482: 0xae604202, 0x8483: 0xae604e02,\n\t0x8484: 0xae605b02, 0x8485: 0xae606302, 0x8486: 0xae603702, 0x8487: 0xae605202,\n\t0x8488: 0xae604702, 0x8489: 0xae606402, 0x848a: 0xae604302, 0x848b: 0xae604d02,\n\t0x848c: 0xae604102, 0x848d: 0xae605f02, 0x848e: 0xae605f02, 0x848f: 0xae606502,\n\t0x8490: 0xae606602, 0x8491: 0xae606702, 0x8492: 0xae605f02, 0x8493: 0xae602202,\n\t0x8494: 0xae602a02, 0x8495: 0xae805f02, 0x8496: 0xadc06002, 0x8497: 0xadc06002,\n\t0x8498: 0xadc06002, 0x8499: 0xadc06002, 0x849a: 0xae805f02, 0x849b: 0xad806802,\n\t0x849c: 0xadc06002, 0x849d: 0xadc06002, 0x849e: 0xadc06002, 0x849f: 0xadc06002,\n\t0x84a0: 0xadc06002, 0x84a1: 0xaca06e02, 0x84a2: 0xaca06f02, 0x84a3: 0xadc07002,\n\t0x84a4: 0xadc07502, 0x84a5: 0xadc07602, 0x84a6: 0xadc07702, 0x84a7: 0xaca05602,\n\t0x84a8: 0xaca05902, 0x84a9: 0xadc06002, 0x84aa: 0xadc06002, 0x84ab: 0xadc06002,\n\t0x84ac: 0xadc06002, 0x84ad: 0xadc07802, 0x84ae: 0xadc07902, 0x84af: 0xadc06002,\n\t0x84b0: 0xadc07a02, 0x84b1: 0xadc07b02, 0x84b2: 0xadc02102, 0x84b3: 0xadc06002,\n\t0x84b4: 0xa0107c02, 0x84b5: 0xa0107d02, 0x84b6: 0xa0106102, 0x84b7: 0xa0106102,\n\t0x84b8: 0xa0105402, 0x84b9: 0xadc07e02, 0x84ba: 0xadc06002, 0x84bb: 0xadc06002,\n\t0x84bc: 0xadc06002, 0x84bd: 0xae605f02, 0x84be: 0xae605f02, 0x84bf: 0xae605f02,\n\t// Block 0x213, offset 0x84c0\n\t0x84c0: 0xe00010d2, 0x84c1: 0xe00010cf, 0x84c2: 0xe00010cc, 0x84c3: 0xe00010c9,\n\t0x84c4: 0xe00010e1, 0x84c5: 0xe00010de, 0x84c6: 0xe00010e7, 0x84c7: 0xe00010e4,\n\t0x84c8: 0xe00010ed, 0x84c9: 0xe00010ea, 0x84ca: 0xe0002912, 0x84cb: 0xe000290f,\n\t0x84cc: 0xe000290c, 0x84cd: 0xe0002909, 0x84ce: 0xe0001123, 0x84cf: 0xe0001120,\n\t0x84d0: 0xe0002b99, 0x84d1: 0xe0002b96, 0x84d2: 0xe0001153, 0x84d3: 0xe0001150,\n\t0x84d4: 0xe0001159, 0x84d5: 0xe0001156, 0x84d6: 0xe0000c15, 0x84d7: 0xe0000f8d,\n\t0x84d8: 0xe00010db, 0x84d9: 0xe0001111, 0x84da: 0xf0000404, 0x84db: 0xe0000f70,\n\t0x84dc: 0x40300420, 0x84dd: 0x40300620, 0x84de: 0xe0000f7f, 0x84df: 0x402c9620,\n\t0x84e0: 0xe000099b, 0x84e1: 0xe0000998, 0x84e2: 0xe0000989, 0x84e3: 0xe0000986,\n\t0x84e4: 0xe0002ae0, 0x84e5: 0xe0002adc, 0x84e6: 0xe0002ae8, 0x84e7: 0xe0002ae4,\n\t0x84e8: 0xe0002af8, 0x84e9: 0xe0002af4, 0x84ea: 0xe0002af0, 0x84eb: 0xe0002aec,\n\t0x84ec: 0xe0002b00, 0x84ed: 0xe0002afc, 0x84ee: 0xe0000902, 0x84ef: 0xe00008fe,\n\t0x84f0: 0xe000090a, 0x84f1: 0xe0000906, 0x84f2: 0xe000091a, 0x84f3: 0xe0000916,\n\t0x84f4: 0xe0000912, 0x84f5: 0xe000090e, 0x84f6: 0xe00009a2, 0x84f7: 0xe000099e,\n\t0x84f8: 0xe0000b6e, 0x84f9: 0xe0000b6b, 0x84fa: 0xe0000b5c, 0x84fb: 0xe0000b59,\n\t0x84fc: 0xe0000b26, 0x84fd: 0xe0000b23, 0x84fe: 0xe0002b14, 0x84ff: 0xe0002b10,\n\t// Block 0x214, offset 0x8500\n\t0x8500: 0xe0002b1c, 0x8501: 0xe0002b18, 0x8502: 0xe0002b2c, 0x8503: 0xe0002b28,\n\t0x8504: 0xe0002b24, 0x8505: 0xe0002b20, 0x8506: 0xe0002b34, 0x8507: 0xe0002b30,\n\t0x8508: 0xe0000c66, 0x8509: 0xe0000c63, 0x850a: 0xe0000c78, 0x850b: 0xe0000c75,\n\t0x850c: 0xe0000e84, 0x850d: 0xe0000e81, 0x850e: 0xe0000e44, 0x850f: 0xe0000e41,\n\t0x8510: 0xe0002b5a, 0x8511: 0xe0002b56, 0x8512: 0xe0002b62, 0x8513: 0xe0002b5e,\n\t0x8514: 0xe0002b72, 0x8515: 0xe0002b6e, 0x8516: 0xe0002b6a, 0x8517: 0xe0002b66,\n\t0x8518: 0xe0002b7a, 0x8519: 0xe0002b76, 0x851a: 0xe0000e5d, 0x851b: 0xe0000e59,\n\t0x851c: 0xe0000e65, 0x851d: 0xe0000e61, 0x851e: 0xe0000e75, 0x851f: 0xe0000e71,\n\t0x8520: 0xe0000e6d, 0x8521: 0xe0000e69, 0x8522: 0xe0000e7d, 0x8523: 0xe0000e79,\n\t0x8524: 0xe000108d, 0x8525: 0xe000108a, 0x8526: 0xe000104d, 0x8527: 0xe000104a,\n\t0x8528: 0xe0001066, 0x8529: 0xe0001062, 0x852a: 0xe000106e, 0x852b: 0xe000106a,\n\t0x852c: 0xe000107e, 0x852d: 0xe000107a, 0x852e: 0xe0001076, 0x852f: 0xe0001072,\n\t0x8530: 0xe0001086, 0x8531: 0xe0001082, 0x8532: 0xe0001108, 0x8533: 0xe0001105,\n\t0x8534: 0xe0001135, 0x8535: 0xe0001132, 0x8536: 0xe000112f, 0x8537: 0xe000112c,\n\t0x8538: 0xe000111d, 0x8539: 0xe000111a, 0x853a: 0xe0000d0a, 0x853b: 0xe0000d07,\n\t0x853c: 0x0030d888, 0x853d: 0x4030d820, 0x853e: 0x00312088, 0x853f: 0x40312020,\n\t// Block 0x215, offset 0x8540\n\t0x8540: 0x00093685, 0x8541: 0x40083620, 0x8542: 0x40083820, 0x8543: 0x40083a20,\n\t0x8544: 0x40083c20, 0x8545: 0x002c628b, 0x8546: 0x002c6285, 0x8547: 0x002c9885,\n\t0x8548: 0x002d9a85, 0x8549: 0x002dcc85, 0x854a: 0x40083e20, 0x854b: 0x400a6e20,\n\t0x854c: 0x40084020, 0x854d: 0xe00009c4, 0x854e: 0x402d1e20, 0x854f: 0x40084220,\n\t0x8550: 0xe00002cb, 0x8551: 0xe00002d3, 0x8552: 0xe00002b2, 0x8553: 0xe00002bb,\n\t0x8554: 0xe00003cd, 0x8555: 0xe00002c3, 0x8556: 0xe00003d1, 0x8557: 0xe00004ab,\n\t0x8558: 0xe0000579, 0x8559: 0xe00002c7, 0x855a: 0xe0000640, 0x855b: 0xe00002cf,\n\t0x855c: 0xe00004af, 0x855d: 0xe0000644, 0x855e: 0xe0000798, 0x855f: 0xf0001e1e,\n\t0x8560: 0x002d9a8a, 0x8561: 0xf0001f0a, 0x8562: 0xf0000a0a, 0x8563: 0xf0001f0a,\n\t0x8564: 0x0030be8a, 0x8565: 0xf0001f0a, 0x8566: 0xf0000a0a, 0x8567: 0xe00010bb,\n\t0x8568: 0xe00027f4, 0x8569: 0x0030f68a, 0x856a: 0xe0002883, 0x856b: 0xe000288a,\n\t0x856c: 0x002e228a, 0x856d: 0x002c3a8a, 0x856e: 0x002c628a, 0x856f: 0x002e828a,\n\t0x8570: 0x002d9a84, 0x8571: 0xf0001f04, 0x8572: 0xf0000404, 0x8573: 0xf0001f04,\n\t0x8574: 0x0030be84, 0x8575: 0xf0001f04, 0x8576: 0xf0000404, 0x8577: 0xe00010b6,\n\t0x8578: 0xe00027f1, 0x8579: 0x0030f684, 0x857a: 0xe0002880, 0x857b: 0xe0002886,\n\t0x857c: 0x002e2284, 0x857d: 0x002c3a84, 0x857e: 0x002c6284, 0x857f: 0x002e8284,\n\t// Block 0x216, offset 0x8580\n\t0x8580: 0xe0000024, 0x8581: 0xe0000029, 0x8582: 0xe000002e, 0x8583: 0xe0000033,\n\t0x8584: 0xe0000038, 0x8585: 0xe000003d, 0x8586: 0xe0000042, 0x8587: 0xe0000047,\n\t0x8588: 0xf0001f04, 0x8589: 0xf0001f04, 0x858a: 0xf0001f04, 0x858b: 0xf0001f04,\n\t0x858c: 0xf0001f04, 0x858d: 0xf0001f04, 0x858e: 0xf0001f04, 0x858f: 0xf0001f04,\n\t0x8590: 0xf0001f04, 0x8591: 0xf0000404, 0x8592: 0xf0000404, 0x8593: 0xf0000404,\n\t0x8594: 0xf0000404, 0x8595: 0xf0000404, 0x8596: 0xf0000404, 0x8597: 0xf0000404,\n\t0x8598: 0xf0000404, 0x8599: 0xf0000404, 0x859a: 0xf0000404, 0x859b: 0xf0000404,\n\t0x859c: 0xf0000404, 0x859d: 0xf0000404, 0x859e: 0xf0000404, 0x859f: 0xf0000404,\n\t0x85a0: 0xf0000404, 0x85a1: 0xf0000404, 0x85a2: 0xf0000404, 0x85a3: 0xf0000404,\n\t0x85a4: 0xf0000404, 0x85a5: 0xf0000404, 0x85a6: 0xf0000404, 0x85a7: 0xf0000404,\n\t0x85a8: 0xf0000404, 0x85a9: 0xf0000404, 0x85aa: 0xf0000404, 0x85ab: 0xf0000404,\n\t0x85ac: 0xf0000404, 0x85ad: 0xf0000404, 0x85ae: 0xf0000404, 0x85af: 0xf0000404,\n\t0x85b0: 0xf0000404, 0x85b1: 0xf0000404, 0x85b2: 0xf0000404, 0x85b3: 0xe00024e7,\n\t0x85b4: 0xf0000404, 0x85b5: 0xf0000404, 0x85b6: 0x002bde8c, 0x85b7: 0x002c0a8c,\n\t0x85b8: 0x002c3a8c, 0x85b9: 0x002c628c, 0x85ba: 0x002c988c, 0x85bb: 0x002d088c,\n\t0x85bc: 0x002d228c, 0x85bd: 0x002d688c, 0x85be: 0x002d9a8c, 0x85bf: 0x002dcc8c,\n\t// Block 0x217, offset 0x85c0\n\t0x85c0: 0xf0001d1c, 0x85c1: 0xf0001d1d, 0x85c2: 0xe00009b7, 0x85c3: 0xf0001c1d,\n\t0x85c4: 0xf0001c1c, 0x85c5: 0xf0001c1c, 0x85c6: 0xe0000a66, 0x85c7: 0xe0000a7a,\n\t0x85c8: 0xf0001d1c, 0x85c9: 0xf0001c1d, 0x85ca: 0xf0001c1c, 0x85cb: 0xf0001d1d,\n\t0x85cc: 0xf0001c1c, 0x85cd: 0xf0001d1d, 0x85ce: 0xf0001d1d, 0x85cf: 0xf0001c1c,\n\t0x85d0: 0xf0001c1c, 0x85d1: 0xf0001c1c, 0x85d2: 0xe0000d0d, 0x85d3: 0xe0002818,\n\t0x85d4: 0xf0001c1c, 0x85d5: 0xe0000d3a, 0x85d6: 0xe0000d46, 0x85d7: 0xf0001d1d,\n\t0x85d8: 0xe0000eb0, 0x85d9: 0xe0000eb8, 0x85da: 0xf0001d1d, 0x85db: 0xf0001c1c,\n\t0x85dc: 0xf0001c1d, 0x85dd: 0xf0001c1d, 0x85de: 0xe00010b2, 0x85df: 0xe00009c8,\n\t0x85e0: 0xf0001f04, 0x85e1: 0xf0001f04, 0x85e2: 0xf0001f04, 0x85e3: 0xf0001f04,\n\t0x85e4: 0xf0001f04, 0x85e5: 0xf0001f04, 0x85e6: 0xf0001f04, 0x85e7: 0xf0001f04,\n\t0x85e8: 0xf0001f04, 0x85e9: 0xf0000404, 0x85ea: 0xf0000404, 0x85eb: 0xf0000404,\n\t0x85ec: 0xf0000404, 0x85ed: 0xf0000404, 0x85ee: 0xf0000404, 0x85ef: 0xf0000404,\n\t0x85f0: 0xf0000404, 0x85f1: 0xf0000404, 0x85f2: 0xf0000404, 0x85f3: 0xf0000404,\n\t0x85f4: 0xf0000404, 0x85f5: 0xf0000404, 0x85f6: 0xf0000404, 0x85f7: 0xf0000404,\n\t0x85f8: 0xf0000404, 0x85f9: 0xf0000404, 0x85fa: 0xf0000404, 0x85fb: 0xf0000404,\n\t0x85fc: 0xf0000404, 0x85fd: 0xf0000404, 0x85fe: 0xf0000404, 0x85ff: 0xe0000bdf,\n\t// Block 0x218, offset 0x8600\n\t0x8600: 0xf0001f04, 0x8601: 0xf0001f04, 0x8602: 0xf0001f04, 0x8603: 0xf0001f04,\n\t0x8604: 0xf0001f04, 0x8605: 0xf0001f04, 0x8606: 0xf0001f04, 0x8607: 0xf0001f04,\n\t0x8608: 0xf0001f04, 0x8609: 0xf0001f04, 0x860a: 0xf0001f04,\n\t0x8610: 0xf0000a04, 0x8611: 0xf0000a04, 0x8612: 0xf0000a04, 0x8613: 0xf0000a04,\n\t0x8614: 0xf0000a04, 0x8615: 0xf0000a04, 0x8616: 0xf0000a04, 0x8617: 0xf0000a04,\n\t0x8618: 0xf0000a04, 0x8619: 0xf0000a04, 0x861a: 0xf0000a04, 0x861b: 0xf0000a04,\n\t0x861c: 0xf0000a04, 0x861d: 0xf0000a04, 0x861e: 0xf0000a04, 0x861f: 0xf0000a04,\n\t0x8620: 0xf0000a04, 0x8621: 0xf0000a04, 0x8622: 0xf0000a04, 0x8623: 0xf0000a04,\n\t0x8624: 0xf0000a04, 0x8625: 0xf0000a04, 0x8626: 0xf0000a04, 0x8627: 0xe00024eb,\n\t0x8628: 0xf0000a04, 0x8629: 0xf0000a04, 0x862a: 0xf0000a04, 0x862b: 0x002c3a8c,\n\t0x862c: 0x002f7a8c, 0x862d: 0xf0000c0c, 0x862e: 0xf0000c0c,\n\t0x8630: 0x002bde9d, 0x8631: 0x002c0a9d, 0x8632: 0x002c3a9d, 0x8633: 0x002c629d,\n\t0x8634: 0x002c989d, 0x8635: 0x002d089d, 0x8636: 0x002d229d, 0x8637: 0x002d689d,\n\t0x8638: 0x002d9a9d, 0x8639: 0x002dcc9d, 0x863a: 0x002dfe9d, 0x863b: 0x002e229d,\n\t0x863c: 0x002e829d, 0x863d: 0x002e9e9d, 0x863e: 0x002ee29d, 0x863f: 0x002f2c9d,\n\t// Block 0x219, offset 0x8640\n\t0x8640: 0xa0000000, 0x8641: 0xa0000000, 0x8642: 0xa0000000, 0x8643: 0xa0000000,\n\t0x8644: 0xa0000000, 0x8645: 0xa0000000, 0x8646: 0xa0000000, 0x8647: 0xa0000000,\n\t0x8648: 0xa0000000, 0x8649: 0x40020020, 0x864a: 0x40020220, 0x864b: 0x40020420,\n\t0x864c: 0x40020620, 0x864d: 0x40020820, 0x864e: 0xa0000000, 0x864f: 0xa0000000,\n\t0x8650: 0xa0000000, 0x8651: 0xa0000000, 0x8652: 0xa0000000, 0x8653: 0xa0000000,\n\t0x8654: 0xa0000000, 0x8655: 0xa0000000, 0x8656: 0xa0000000, 0x8657: 0xa0000000,\n\t0x8658: 0xa0000000, 0x8659: 0xa0000000, 0x865a: 0xa0000000, 0x865b: 0xa0000000,\n\t0x865c: 0xa0000000, 0x865d: 0xa0000000, 0x865e: 0xa0000000, 0x865f: 0xa0000000,\n\t0x8660: 0x402be020, 0x8661: 0x402be220, 0x8662: 0x402be420, 0x8663: 0x402be620,\n\t0x8664: 0x402be820, 0x8665: 0x402bea20, 0x8666: 0x402bec20, 0x8667: 0x402bee20,\n\t0x8668: 0x402bf020, 0x8669: 0x402bf220, 0x866a: 0x402bf420, 0x866b: 0x402bf620,\n\t0x866c: 0x402bf820, 0x866d: 0x402bfa20, 0x866e: 0x402bfc20, 0x866f: 0x402bfe20,\n\t0x8670: 0x402c0020, 0x8671: 0x402c0220, 0x8672: 0x402c0420, 0x8673: 0x402c0620,\n\t0x8674: 0x402c0820, 0x8675: 0x402c0a20, 0x8676: 0x402c0c20, 0x8677: 0x402c0e20,\n\t0x8678: 0x402c1020, 0x8679: 0x402c1220, 0x867a: 0x402c1420, 0x867b: 0x402c1620,\n\t0x867c: 0x402c1820, 0x867d: 0x402c1a20, 0x867e: 0x402c1c20, 0x867f: 0x402c1e20,\n\t// Block 0x21a, offset 0x8680\n\t0x8680: 0x402c2020, 0x8681: 0x402c2220, 0x8682: 0x402c2420, 0x8683: 0x402c2620,\n\t0x8684: 0x402c2820, 0x8685: 0x402c2a20, 0x8686: 0x402c2c20, 0x8687: 0x402c2e20,\n\t0x8688: 0x402c3020, 0x8689: 0x402c3220, 0x868a: 0x402c3420, 0x868b: 0x402c3620,\n\t0x868c: 0xc53b0002, 0x868d: 0x402c3a20, 0x868e: 0x402c3c20, 0x868f: 0x402c3e20,\n\t0x8690: 0x402c4020, 0x8691: 0x402c4220, 0x8692: 0x402c4420, 0x8693: 0x402c4620,\n\t0x8694: 0x402c4820, 0x8695: 0x402c4a20, 0x8696: 0x402c4c20, 0x8697: 0x402c4e20,\n\t0x8698: 0x402c5020, 0x8699: 0x402c5220, 0x869a: 0x402c5420, 0x869b: 0x402c5620,\n\t0x869c: 0x402c5820, 0x869d: 0x402c5a20, 0x869e: 0x402c5c20, 0x869f: 0x402c5e20,\n\t0x86a0: 0x402c6020, 0x86a1: 0x402c6220, 0x86a2: 0x402c6420, 0x86a3: 0x402c6620,\n\t0x86a4: 0x402c6820, 0x86a5: 0x402c6a20, 0x86a6: 0x402c6c20, 0x86a7: 0x402c6e20,\n\t0x86a8: 0x402c7020, 0x86a9: 0x402c7220, 0x86aa: 0x402c7420, 0x86ab: 0x402c7620,\n\t0x86ac: 0xc5380002, 0x86ad: 0x402c7a20, 0x86ae: 0x402c7c20, 0x86af: 0x402c7e20,\n\t0x86b0: 0x402c8020, 0x86b1: 0x402c8220, 0x86b2: 0x402c8420, 0x86b3: 0x402c8620,\n\t0x86b4: 0x402c8820, 0x86b5: 0x402c8a20, 0x86b6: 0x402c8c20, 0x86b7: 0x402c8e20,\n\t0x86b8: 0x402c9020, 0x86b9: 0x402c9220, 0x86ba: 0x402c9420, 0x86bb: 0x402c9620,\n\t0x86bc: 0x402c9820, 0x86bd: 0x402c9a20, 0x86be: 0x402c9c20, 0x86bf: 0x402c9e20,\n\t// Block 0x21b, offset 0x86c0\n\t0x86c0: 0xe0002f1f, 0x86c1: 0xe0002f1c, 0x86c2: 0xe0002f35, 0x86c3: 0xe0002f59,\n\t0x86c4: 0xe0002f52, 0x86c5: 0xe0002f4b, 0x86c6: 0xe00009dd, 0x86c7: 0xe0002f95,\n\t0x86c8: 0xe0002fb1, 0x86c9: 0xe0002fae, 0x86ca: 0xe0002fb7, 0x86cb: 0xe0002fcd,\n\t0x86cc: 0xe0003031, 0x86cd: 0xe000302e, 0x86ce: 0xe0003037, 0x86cf: 0xe000303d,\n\t0x86d0: 0xe0000ab3, 0x86d1: 0xe00030a5, 0x86d2: 0xe00030ba, 0x86d3: 0xe00030b7,\n\t0x86d4: 0xe00030c0, 0x86d5: 0xe00030e0, 0x86d6: 0xe00030d6, 0x86d7: 0x40093e20,\n\t0x86d8: 0xe0000e12, 0x86d9: 0xe000318a, 0x86da: 0xe0003187, 0x86db: 0xe0003190,\n\t0x86dc: 0xe0003199, 0x86dd: 0xe000320a, 0x86de: 0x00318888, 0x86df: 0xe0000f7b,\n\t0x86e0: 0xe000323a, 0x86e1: 0xe0003237, 0x86e2: 0xe0003250, 0x86e3: 0xe0003274,\n\t0x86e4: 0xe000326d, 0x86e5: 0xe0003266, 0x86e6: 0xe00009d5, 0x86e7: 0xe00032c8,\n\t0x86e8: 0xe00032e4, 0x86e9: 0xe00032e1, 0x86ea: 0xe00032ea, 0x86eb: 0xe0003300,\n\t0x86ec: 0xe0003367, 0x86ed: 0xe0003364, 0x86ee: 0xe000336d, 0x86ef: 0xe0003373,\n\t0x86f0: 0xe0000aad, 0x86f1: 0xe00033cf, 0x86f2: 0xe00033e4, 0x86f3: 0xe00033e1,\n\t0x86f4: 0xe00033ea, 0x86f5: 0xe000340a, 0x86f6: 0xe0003400, 0x86f7: 0x40093c20,\n\t0x86f8: 0xe0000e0f, 0x86f9: 0xe00034b7, 0x86fa: 0xe00034b4, 0x86fb: 0xe00034bd,\n\t0x86fc: 0xe00034c6, 0x86fd: 0xe000353a, 0x86fe: 0x40318820, 0x86ff: 0xe0003546,\n\t// Block 0x21c, offset 0x8700\n\t0x8700: 0xe0002f66, 0x8701: 0xe0003281, 0x8702: 0xe0002f22, 0x8703: 0xe000323d,\n\t0x8704: 0xe0002f63, 0x8705: 0xe000327e, 0x8706: 0xe0002f89, 0x8707: 0xe00032bc,\n\t0x8708: 0xe0002f8c, 0x8709: 0xe00032bf, 0x870a: 0xe0002f92, 0x870b: 0xe00032c5,\n\t0x870c: 0xe0002f8f, 0x870d: 0xe00032c2, 0x870e: 0xe0002f9c, 0x870f: 0xe00032cf,\n\t0x8710: 0xe0000aaa, 0x8711: 0xe0000aa7, 0x8712: 0xe0002fe0, 0x8713: 0xe0003313,\n\t0x8714: 0xe0002fb4, 0x8715: 0xe00032e7, 0x8716: 0xe0002fd3, 0x8717: 0xe0003306,\n\t0x8718: 0xe0002fdd, 0x8719: 0xe0003310, 0x871a: 0xe0002fca, 0x871b: 0xe00032fd,\n\t0x871c: 0xe000300a, 0x871d: 0xe000333d, 0x871e: 0xe0003007, 0x871f: 0xe000333a,\n\t0x8720: 0xe0003010, 0x8721: 0xe0003343, 0x8722: 0xe0003013, 0x8723: 0xe0003346,\n\t0x8724: 0xe0003019, 0x8725: 0xe000334c, 0x8726: 0xe0000c1b, 0x8727: 0xe0000c18,\n\t0x8728: 0xe0003044, 0x8729: 0xe000337a, 0x872a: 0xe000304d, 0x872b: 0xe0003380,\n\t0x872c: 0xe0003034, 0x872d: 0xe000336a, 0x872e: 0xe000304a, 0x872f: 0xe000337d,\n\t0x8730: 0xe0003047, 0x8731: 0x402da220, 0x8732: 0xe00027e2, 0x8733: 0xe00027df,\n\t0x8734: 0xe000305f, 0x8735: 0xe0003392, 0x8736: 0xe0003068, 0x8737: 0xe000339e,\n\t0x8738: 0x402f7220, 0x8739: 0xe0003071, 0x873a: 0xe00033a7, 0x873b: 0xe0003077,\n\t0x873c: 0xe00033ad, 0x873d: 0xe0003074, 0x873e: 0xe00033aa, 0x873f: 0xe0000d04,\n\t// Block 0x21d, offset 0x8740\n\t0x8740: 0xe0000cfe, 0x8741: 0xe0000cf8, 0x8742: 0xe0000cf5, 0x8743: 0xe000309c,\n\t0x8744: 0xe00033c6, 0x8745: 0xe00030ab, 0x8746: 0xe00033d5, 0x8747: 0xe00030a2,\n\t0x8748: 0xe00033cc, 0x8749: 0xe00035eb, 0x874a: 0x002eda88, 0x874b: 0x402eda20,\n\t0x874c: 0xe00030fd, 0x874d: 0xe0003427, 0x874e: 0xe00030bd, 0x874f: 0xe00033e7,\n\t0x8750: 0xe00030dd, 0x8751: 0xe0003407, 0x8752: 0xe0000e93, 0x8753: 0xe0000e8f,\n\t0x8754: 0xe0003135, 0x8755: 0xe000345f, 0x8756: 0xe000313e, 0x8757: 0xe0003468,\n\t0x8758: 0xe0003138, 0x8759: 0xe0003462, 0x875a: 0xe0003151, 0x875b: 0xe000347b,\n\t0x875c: 0xe0003158, 0x875d: 0xe0003482, 0x875e: 0xe0003165, 0x875f: 0xe000348f,\n\t0x8760: 0xe000315b, 0x8761: 0xe0003485, 0x8762: 0xe0003178, 0x8763: 0xe00034a5,\n\t0x8764: 0xe0003172, 0x8765: 0xe000349c, 0x8766: 0x00303688, 0x8767: 0x40303620,\n\t0x8768: 0xe00031af, 0x8769: 0xe00034dc, 0x876a: 0xe00031b9, 0x876b: 0xe00034e6,\n\t0x876c: 0xe000318d, 0x876d: 0xe00034ba, 0x876e: 0xe0003196, 0x876f: 0xe00034c3,\n\t0x8770: 0xe00031ac, 0x8771: 0xe00034d9, 0x8772: 0xe00031b6, 0x8773: 0xe00034e3,\n\t0x8774: 0xe00031f8, 0x8775: 0xe0003525, 0x8776: 0xe0003210, 0x8777: 0xe0003540,\n\t0x8778: 0xe0003213, 0x8779: 0xe0003225, 0x877a: 0xe0003558, 0x877b: 0xe000322e,\n\t0x877c: 0xe0003561, 0x877d: 0xe000322b, 0x877e: 0xe000355e, 0x877f: 0xe0000f64,\n\t// Block 0x21e, offset 0x8780\n\t0x8780: 0x402c1a20, 0x8781: 0x002c2a88, 0x8782: 0x002c3288, 0x8783: 0x402c3220,\n\t0x8784: 0x0031c488, 0x8785: 0x4031c420, 0x8786: 0x002efa88, 0x8787: 0x002c4e88,\n\t0x8788: 0x402c4e20, 0x8789: 0x002c7288, 0x878a: 0x002c7a88, 0x878b: 0x002c8488,\n\t0x878c: 0x402c8420, 0x878d: 0xe000115c, 0x878e: 0x002cae88, 0x878f: 0x002cb888,\n\t0x8790: 0x002cc288, 0x8791: 0x002d1688, 0x8792: 0x402d1620, 0x8793: 0x002d4488,\n\t0x8794: 0x002d5888, 0x8795: 0x402d7820, 0x8796: 0x002dc288, 0x8797: 0x002db688,\n\t0x8798: 0x002e0a88, 0x8799: 0x402e0a20, 0x879a: 0x402e3820, 0x879b: 0x402e7220,\n\t0x879c: 0x0030a088, 0x879d: 0x002eb488, 0x879e: 0x402ebc20, 0x879f: 0x002f1088,\n\t0x87a0: 0xe0003111, 0x87a1: 0xe000343b, 0x87a2: 0x002d6088, 0x87a3: 0x402d6020,\n\t0x87a4: 0x002f3e88, 0x87a5: 0x402f3e20, 0x87a6: 0x002f8288, 0x87a7: 0x0031b488,\n\t0x87a8: 0x4031b420, 0x87a9: 0x00300888, 0x87aa: 0x40301220, 0x87ab: 0x40304220,\n\t0x87ac: 0x00304a88, 0x87ad: 0x40304a20, 0x87ae: 0x00305288, 0x87af: 0xe00031c9,\n\t0x87b0: 0xe00034f6, 0x87b1: 0x0030b488, 0x87b2: 0x0030cc88, 0x87b3: 0x00311888,\n\t0x87b4: 0x40311820, 0x87b5: 0x00313488, 0x87b6: 0x40313420, 0x87b7: 0x00316488,\n\t0x87b8: 0x00316e88, 0x87b9: 0x40316e20, 0x87ba: 0x40317820, 0x87bb: 0x4031a620,\n\t0x87bc: 0x0031bc88, 0x87bd: 0x4031bc20, 0x87be: 0xe0000fc9, 0x87bf: 0x40319420,\n\t// Block 0x21f, offset 0x87c0\n\t0x87c0: 0x40321220, 0x87c1: 0x40321a20, 0x87c2: 0x40322220, 0x87c3: 0x40322a20,\n\t0x87c4: 0xe0000ad5, 0x87c5: 0xe0000ad1, 0x87c6: 0xe0000acd, 0x87c7: 0xe000357f,\n\t0x87c8: 0xe000357c, 0x87c9: 0xe0003579, 0x87ca: 0xe00035c4, 0x87cb: 0xe00035c1,\n\t0x87cc: 0xe00035be, 0x87cd: 0xe0002f48, 0x87ce: 0xe0003263, 0x87cf: 0xe000303a,\n\t0x87d0: 0xe0003370, 0x87d1: 0xe00030d3, 0x87d2: 0xe00033fd, 0x87d3: 0xe0003193,\n\t0x87d4: 0xe00034c0, 0x87d5: 0xe00031a8, 0x87d6: 0xe00034d5, 0x87d7: 0xe000319c,\n\t0x87d8: 0xe00034c9, 0x87d9: 0xe00031a4, 0x87da: 0xe00034d1, 0x87db: 0xe00031a0,\n\t0x87dc: 0xe00034cd, 0x87dd: 0x402cae20, 0x87de: 0xe0002f55, 0x87df: 0xe0003270,\n\t0x87e0: 0xe0002f5f, 0x87e1: 0xe000327a, 0x87e2: 0xe00009f4, 0x87e3: 0xe00009ef,\n\t0x87e4: 0x002d3a88, 0x87e5: 0x402d3a20, 0x87e6: 0xe000300d, 0x87e7: 0xe0003340,\n\t0x87e8: 0xe0003065, 0x87e9: 0xe000339b, 0x87ea: 0xe00030f6, 0x87eb: 0xe0003420,\n\t0x87ec: 0xe00030f9, 0x87ed: 0xe0003423, 0x87ee: 0xe0001162, 0x87ef: 0xe000115f,\n\t0x87f0: 0xe0003395, 0x87f1: 0xe00032b0, 0x87f2: 0xe00032ad, 0x87f3: 0xe00032aa,\n\t0x87f4: 0xe0003004, 0x87f5: 0xe0003337, 0x87f6: 0x002d7888, 0x87f7: 0x00319488,\n\t0x87f8: 0xe000309f, 0x87f9: 0xe00033c9, 0x87fa: 0xe0002f4e, 0x87fb: 0xe0003269,\n\t0x87fc: 0xe00009ea, 0x87fd: 0xe00009e5, 0x87fe: 0xe0000e19, 0x87ff: 0xe0000e15,\n\t// Block 0x220, offset 0x8800\n\t0x8800: 0xe0002f6c, 0x8801: 0xe0003287, 0x8802: 0xe0002f6f, 0x8803: 0xe000328a,\n\t0x8804: 0xe0002fee, 0x8805: 0xe0003321, 0x8806: 0xe0002ff1, 0x8807: 0xe0003324,\n\t0x8808: 0xe0003053, 0x8809: 0xe0003386, 0x880a: 0xe0003056, 0x880b: 0xe0003389,\n\t0x880c: 0xe000310b, 0x880d: 0xe0003435, 0x880e: 0xe000310e, 0x880f: 0xe0003438,\n\t0x8810: 0xe0003141, 0x8811: 0xe000346b, 0x8812: 0xe0003144, 0x8813: 0xe000346e,\n\t0x8814: 0xe00031c3, 0x8815: 0xe00034f0, 0x8816: 0xe00031c6, 0x8817: 0xe00034f3,\n\t0x8818: 0xe000316f, 0x8819: 0xe0003499, 0x881a: 0xe000317e, 0x881b: 0xe00034ab,\n\t0x881c: 0x00312288, 0x881d: 0x40312220, 0x881e: 0xe000301c, 0x881f: 0xe000334f,\n\t0x8820: 0x002ebc88, 0x8821: 0x402c8c20, 0x8822: 0x002f2288, 0x8823: 0x402f2220,\n\t0x8824: 0x00314088, 0x8825: 0x40314020, 0x8826: 0xe0002f5c, 0x8827: 0xe0003277,\n\t0x8828: 0xe0002fd6, 0x8829: 0xe0003309, 0x882a: 0xe00030d9, 0x882b: 0xe0003403,\n\t0x882c: 0xe00030eb, 0x882d: 0xe0003415, 0x882e: 0xe00030ef, 0x882f: 0xe0003419,\n\t0x8830: 0xe00030f2, 0x8831: 0xe000341c, 0x8832: 0xe000321c, 0x8833: 0xe000354f,\n\t0x8834: 0x402e5e20, 0x8835: 0x402ed020, 0x8836: 0x40305a20, 0x8837: 0x402dd420,\n\t0x8838: 0xe0000abf, 0x8839: 0xe0000ec4, 0x883a: 0x002be888, 0x883b: 0x002c4488,\n\t0x883c: 0x402c4420, 0x883d: 0x002e3888, 0x883e: 0x00303e88, 0x883f: 0x402ffc20,\n\t// Block 0x221, offset 0x8840\n\t0x8840: 0xae603502, 0x8841: 0xae603202, 0x8842: 0xae604502, 0x8843: 0xae602202,\n\t0x8844: 0xe0000000, 0x8845: 0xaf007f02, 0x8846: 0xae605f02, 0x8847: 0xadc06002,\n\t0x8848: 0xadc06002, 0x8849: 0xadc06002, 0x884a: 0xae605f02, 0x884b: 0xae605f02,\n\t0x884c: 0xae605f02, 0x884d: 0xadc06002, 0x884e: 0xadc06002, 0x884f: 0xa0000000,\n\t0x8850: 0xae605f02, 0x8851: 0xae605f02, 0x8852: 0xae605f02, 0x8853: 0xadc06002,\n\t0x8854: 0xadc06002, 0x8855: 0xadc06002, 0x8856: 0xadc06002, 0x8857: 0xae605f02,\n\t0x8858: 0xae808002, 0x8859: 0xadc06002, 0x885a: 0xadc06002, 0x885b: 0xae605f02,\n\t0x885c: 0xae906002, 0x885d: 0xaea05f02, 0x885e: 0xaea05f02, 0x885f: 0xae906002,\n\t0x8860: 0xaea08102, 0x8861: 0xaea08202, 0x8862: 0xae906002, 0x8863: 0x84e615ef,\n\t0x8864: 0x84e6164c, 0x8865: 0x84e616cd, 0x8866: 0x84e61771, 0x8867: 0x84e61836,\n\t0x8868: 0x84e6161d, 0x8869: 0x84e61631, 0x886a: 0x84e616b4, 0x886b: 0x84e61741,\n\t0x886c: 0x84e617bd, 0x886d: 0x84e61816, 0x886e: 0x84e6185f, 0x886f: 0x84e6187b,\n\t0x8870: 0x00326688, 0x8871: 0x40326620, 0x8872: 0x0032a688, 0x8873: 0x4032a620,\n\t0x8874: 0x40064020, 0x8875: 0x40064220, 0x8876: 0x00326088, 0x8877: 0x40326020,\n\t0x887a: 0x00326c84, 0x887b: 0x40329220,\n\t0x887c: 0x40329020, 0x887d: 0x40329420, 0x887e: 0x402c1620,\n\t// Block 0x222, offset 0x8880\n\t0x8880: 0xe0002f7d, 0x8881: 0xe0003298, 0x8882: 0xe0002f80, 0x8883: 0xe00032b3,\n\t0x8884: 0xe0002f83, 0x8885: 0xe00032b6, 0x8886: 0xe0002f86, 0x8887: 0xe00032b9,\n\t0x8888: 0xe0002f98, 0x8889: 0xe00032cb, 0x888a: 0xe0002f9f, 0x888b: 0xe00032d2,\n\t0x888c: 0xe0002fa5, 0x888d: 0xe00032d8, 0x888e: 0xe0002fab, 0x888f: 0xe00032de,\n\t0x8890: 0xe0002fa2, 0x8891: 0xe00032d5, 0x8892: 0xe0002fa8, 0x8893: 0xe00032db,\n\t0x8894: 0xe0002fe7, 0x8895: 0xe000331a, 0x8896: 0xe0002fe3, 0x8897: 0xe0003316,\n\t0x8898: 0xe0002ffb, 0x8899: 0xe000332e, 0x889a: 0xe0002ffe, 0x889b: 0xe0003331,\n\t0x889c: 0xe0002fd9, 0x889d: 0xe000330c, 0x889e: 0xe0003001, 0x889f: 0xe0003334,\n\t0x88a0: 0xe0003016, 0x88a1: 0xe0003349, 0x88a2: 0xe0003022, 0x88a3: 0xe0003355,\n\t0x88a4: 0xe0003028, 0x88a5: 0xe000335b, 0x88a6: 0xe000301f, 0x88a7: 0xe0003352,\n\t0x88a8: 0xe0003025, 0x88a9: 0xe0003358, 0x88aa: 0xe000302b, 0x88ab: 0xe000335e,\n\t0x88ac: 0xe000305c, 0x88ad: 0xe000338f, 0x88ae: 0xe0003040, 0x88af: 0xe0003376,\n\t0x88b0: 0xe0003062, 0x88b1: 0xe0003398, 0x88b2: 0xe000306b, 0x88b3: 0xe00033a1,\n\t0x88b4: 0xe000306e, 0x88b5: 0xe00033a4, 0x88b6: 0xe000307a, 0x88b7: 0xe00033b0,\n\t0x88b8: 0xe000307d, 0x88b9: 0xe00033b3, 0x88ba: 0xe0003084, 0x88bb: 0xe00033ba,\n\t0x88bc: 0xe0003081, 0x88bd: 0xe00033b7, 0x88be: 0xe0003087, 0x88bf: 0xe00033bd,\n\t// Block 0x223, offset 0x88c0\n\t0x88c0: 0xe000308a, 0x88c1: 0xe00033c0, 0x88c2: 0xe000308d, 0x88c3: 0xe00033c3,\n\t0x88c4: 0xe00030a8, 0x88c5: 0xe00033d2, 0x88c6: 0xe00030ae, 0x88c7: 0xe00033d8,\n\t0x88c8: 0xe00030b4, 0x88c9: 0xe00033de, 0x88ca: 0xe00030b1, 0x88cb: 0xe00033db,\n\t0x88cc: 0xe00030e3, 0x88cd: 0xe000340d, 0x88ce: 0xe00030e7, 0x88cf: 0xe0003411,\n\t0x88d0: 0xe0003104, 0x88d1: 0xe000342e, 0x88d2: 0xe0003100, 0x88d3: 0xe000342a,\n\t0x88d4: 0xe000312f, 0x88d5: 0xe0003459, 0x88d6: 0xe0003132, 0x88d7: 0xe000345c,\n\t0x88d8: 0xe000313b, 0x88d9: 0xe0003465, 0x88da: 0xe0003147, 0x88db: 0xe0003471,\n\t0x88dc: 0xe000314a, 0x88dd: 0xe0003474, 0x88de: 0xe000314e, 0x88df: 0xe0003478,\n\t0x88e0: 0xe0003162, 0x88e1: 0xe000348c, 0x88e2: 0xe0003168, 0x88e3: 0xe0003492,\n\t0x88e4: 0xe0003154, 0x88e5: 0xe000347e, 0x88e6: 0xe000315e, 0x88e7: 0xe0003488,\n\t0x88e8: 0xe000316b, 0x88e9: 0xe0003495, 0x88ea: 0xe0003175, 0x88eb: 0xe00034a2,\n\t0x88ec: 0xe000317b, 0x88ed: 0xe00034a8, 0x88ee: 0xe0003184, 0x88ef: 0xe00034b1,\n\t0x88f0: 0xe0003181, 0x88f1: 0xe00034ae, 0x88f2: 0xe00031e3, 0x88f3: 0xe0003510,\n\t0x88f4: 0xe00031e9, 0x88f5: 0xe0003516, 0x88f6: 0xe00031e6, 0x88f7: 0xe0003513,\n\t0x88f8: 0xe00031b2, 0x88f9: 0xe00034df, 0x88fa: 0xe00031bc, 0x88fb: 0xe00034e9,\n\t0x88fc: 0xe00031ec, 0x88fd: 0xe0003519, 0x88fe: 0xe00031ef, 0x88ff: 0xe000351c,\n\t// Block 0x224, offset 0x8900\n\t0x8900: 0xe00031f5, 0x8901: 0xe0003522, 0x8902: 0xe00031f2, 0x8903: 0xe000351f,\n\t0x8904: 0xe00031fb, 0x8905: 0xe000352b, 0x8906: 0xe00031fe, 0x8907: 0xe000352e,\n\t0x8908: 0xe0003201, 0x8909: 0xe0003531, 0x890a: 0xe0003207, 0x890b: 0xe0003537,\n\t0x890c: 0xe0003204, 0x890d: 0xe0003534, 0x890e: 0xe0003219, 0x890f: 0xe000354c,\n\t0x8910: 0xe0003228, 0x8911: 0xe000355b, 0x8912: 0xe0003231, 0x8913: 0xe0003564,\n\t0x8914: 0xe0003234, 0x8915: 0xe0003567, 0x8916: 0xe0003361, 0x8917: 0xe000349f,\n\t0x8918: 0xe0003528, 0x8919: 0xe0003543, 0x891a: 0xe0002f10, 0x891b: 0xe0000f70,\n\t0x891c: 0x40300420, 0x891d: 0x40300620, 0x891e: 0xe0000f7f, 0x891f: 0x402c9620,\n\t0x8920: 0xe0002f72, 0x8921: 0xe000328d, 0x8922: 0xe0002f69, 0x8923: 0xe0003284,\n\t0x8924: 0xe0002f38, 0x8925: 0xe0003253, 0x8926: 0xe0002f3c, 0x8927: 0xe0003257,\n\t0x8928: 0xe0002f44, 0x8929: 0xe000325f, 0x892a: 0xe0002f40, 0x892b: 0xe000325b,\n\t0x892c: 0xe0002f79, 0x892d: 0xe0003294, 0x892e: 0xe0002f25, 0x892f: 0xe0003240,\n\t0x8930: 0xe0002f29, 0x8931: 0xe0003244, 0x8932: 0xe0002f31, 0x8933: 0xe000324c,\n\t0x8934: 0xe0002f2d, 0x8935: 0xe0003248, 0x8936: 0xe0002f75, 0x8937: 0xe0003290,\n\t0x8938: 0xe0002ff4, 0x8939: 0xe0003327, 0x893a: 0xe0002feb, 0x893b: 0xe000331e,\n\t0x893c: 0xe0002fd0, 0x893d: 0xe0003303, 0x893e: 0xe0002fba, 0x893f: 0xe00032ed,\n\t// Block 0x225, offset 0x8940\n\t0x8940: 0xe0002fbe, 0x8941: 0xe00032f1, 0x8942: 0xe0002fc6, 0x8943: 0xe00032f9,\n\t0x8944: 0xe0002fc2, 0x8945: 0xe00032f5, 0x8946: 0xe0002ff7, 0x8947: 0xe000332a,\n\t0x8948: 0xe0003050, 0x8949: 0xe0003383, 0x894a: 0xe0003059, 0x894b: 0xe000338c,\n\t0x894c: 0xe0003128, 0x894d: 0xe0003452, 0x894e: 0xe0003108, 0x894f: 0xe0003432,\n\t0x8950: 0xe00030c3, 0x8951: 0xe00033ed, 0x8952: 0xe00030c7, 0x8953: 0xe00033f1,\n\t0x8954: 0xe00030cf, 0x8955: 0xe00033f9, 0x8956: 0xe00030cb, 0x8957: 0xe00033f5,\n\t0x8958: 0xe000312b, 0x8959: 0xe0003455, 0x895a: 0xe0003114, 0x895b: 0xe000343e,\n\t0x895c: 0xe0003118, 0x895d: 0xe0003442, 0x895e: 0xe0003120, 0x895f: 0xe000344a,\n\t0x8960: 0xe000311c, 0x8961: 0xe0003446, 0x8962: 0xe0003124, 0x8963: 0xe000344e,\n\t0x8964: 0xe00031e0, 0x8965: 0xe000350d, 0x8966: 0xe00031c0, 0x8967: 0xe00034ed,\n\t0x8968: 0xe00031cc, 0x8969: 0xe00034f9, 0x896a: 0xe00031d0, 0x896b: 0xe00034fd,\n\t0x896c: 0xe00031d8, 0x896d: 0xe0003505, 0x896e: 0xe00031d4, 0x896f: 0xe0003501,\n\t0x8970: 0xe00031dc, 0x8971: 0xe0003509, 0x8972: 0xe000320d, 0x8973: 0xe000353d,\n\t0x8974: 0xe0003222, 0x8975: 0xe0003555, 0x8976: 0xe000321f, 0x8977: 0xe0003552,\n\t0x8978: 0xe0003216, 0x8979: 0xe0003549, 0x897a: 0xe0000d0a, 0x897b: 0xe0000d07,\n\t0x897c: 0x0030d888, 0x897d: 0x4030d820, 0x897e: 0x00312088, 0x897f: 0x40312020,\n\t// Block 0x226, offset 0x8980\n\t0x8980: 0x40063a20, 0x8981: 0xe00000b1, 0x8982: 0xe00012ea, 0x8983: 0xe00012f5,\n\t0x8984: 0xe00012e0, 0x8986: 0xe00012ee, 0x8987: 0xe00012f1,\n\t0x8988: 0xe000124f, 0x8989: 0xe0001249, 0x898a: 0xe00012e7, 0x898b: 0xe00012dd,\n\t0x898c: 0xe00012f8, 0x898d: 0xe00000b7, 0x898e: 0xe00000b4, 0x898f: 0xe00000ba,\n\t0x8990: 0xe0001343, 0x8991: 0xe000135e, 0x8992: 0xe0001356, 0x8993: 0xe0001352,\n\t0x8996: 0xe0001349, 0x8997: 0xe000135a,\n\t0x8998: 0xe0001346, 0x8999: 0xe0001361, 0x899a: 0xe0001340, 0x899b: 0xe000133a,\n\t0x899d: 0xe00000c0, 0x899e: 0xe00000bd, 0x899f: 0xe00000c3,\n\t0x89a0: 0xe00013e6, 0x89a1: 0xe0001401, 0x89a2: 0xe00013f9, 0x89a3: 0xe00013f5,\n\t0x89a4: 0xe00013a4, 0x89a5: 0xe00013a7, 0x89a6: 0xe00013ec, 0x89a7: 0xe00013fd,\n\t0x89a8: 0xe00013e9, 0x89a9: 0xe0001404, 0x89aa: 0xe00013e3, 0x89ab: 0xe00013dd,\n\t0x89ac: 0xe00013aa, 0x89ad: 0xe00000ae, 0x89ae: 0xe00000ab, 0x89af: 0x402c6020,\n\t0x89b2: 0xe000149f, 0x89b3: 0xe00014aa,\n\t0x89b4: 0xe0001495, 0x89b6: 0xe00014a3, 0x89b7: 0xe00014a6,\n\t0x89b8: 0xe00013a1, 0x89b9: 0xe000139b, 0x89ba: 0xe000149c, 0x89bb: 0xe0001492,\n\t0x89bc: 0xe00014ad, 0x89bd: 0x40062020, 0x89be: 0x40063820,\n\t// Block 0x227, offset 0x89c0\n\t0x89c0: 0x00021284, 0x89c1: 0x00021284, 0x89c2: 0x00021284, 0x89c3: 0x00021284,\n\t0x89c4: 0x00021284, 0x89c5: 0x00021284, 0x89c6: 0x00021284, 0x89c7: 0x0002129b,\n\t0x89c8: 0x00021284, 0x89c9: 0x00021284, 0x89ca: 0x00021284, 0x89cb: 0xa0000000,\n\t0x89cc: 0xa0000000, 0x89cd: 0xa0000000, 0x89ce: 0xa0000000, 0x89cf: 0xa0000000,\n\t0x89d0: 0x40022620, 0x89d1: 0x0002269b, 0x89d2: 0x40022820, 0x89d3: 0x40022a20,\n\t0x89d4: 0x40022c20, 0x89d5: 0x40022e20, 0x89d6: 0x4004c420, 0x89d7: 0x40021820,\n\t0x89d8: 0x4003d420, 0x89d9: 0x4003d620, 0x89da: 0x4003d820, 0x89db: 0x4003da20,\n\t0x89dc: 0x4003e220, 0x89dd: 0x4003e420, 0x89de: 0x4003e620, 0x89df: 0x4003e820,\n\t0x89e0: 0x4004f820, 0x89e1: 0x4004fa20, 0x89e2: 0x40050220, 0x89e3: 0x40050420,\n\t0x89e4: 0x0002e484, 0x89e5: 0xe0002bac, 0x89e6: 0xe0002bb2, 0x89e7: 0x40050620,\n\t0x89e8: 0x40020e20, 0x89e9: 0x40021020, 0x89ea: 0xa0000000, 0x89eb: 0xa0000000,\n\t0x89ec: 0xa0000000, 0x89ed: 0xa0000000, 0x89ee: 0xa0000000, 0x89ef: 0x0002129b,\n\t0x89f0: 0x4004f020, 0x89f1: 0x4004f420, 0x89f2: 0x40050e20, 0x89f3: 0xf0001f04,\n\t0x89f4: 0xf0000404, 0x89f5: 0x40051020, 0x89f6: 0xf0001f04, 0x89f7: 0xf0000404,\n\t0x89f8: 0x40051620, 0x89f9: 0x4003dc20, 0x89fa: 0x4003de20, 0x89fb: 0x40051820,\n\t0x89fc: 0xe0002ba0, 0x89fd: 0x4002e020, 0x89fe: 0x40021420, 0x89ff: 0x40051a20,\n\t// Block 0x228, offset 0x8a00\n\t0x8a00: 0x40051e20, 0x8a01: 0x40052220, 0x8a02: 0x40052420, 0x8a03: 0x40050820,\n\t0x8a04: 0x40095820, 0x8a05: 0x40040c20, 0x8a06: 0x40040e20, 0x8a07: 0xe0002ba9,\n\t0x8a08: 0xe0002ba6, 0x8a09: 0xe0002ba3, 0x8a0a: 0x4004e820, 0x8a0b: 0x4004d420,\n\t0x8a0c: 0x40050a20, 0x8a0d: 0x40050c20, 0x8a0e: 0x4004da20, 0x8a0f: 0x40026620,\n\t0x8a10: 0x40052020, 0x8a11: 0x4004dc20, 0x8a12: 0x40095020, 0x8a13: 0x40023420,\n\t0x8a14: 0x40051c20, 0x8a15: 0x40039c20, 0x8a16: 0x40039e20, 0x8a17: 0xe00000a6,\n\t0x8a18: 0x4003a020, 0x8a19: 0x4003a220, 0x8a1a: 0x4003a420, 0x8a1b: 0x4003a620,\n\t0x8a1c: 0x4003a820, 0x8a1d: 0x4003aa20, 0x8a1e: 0x4003ac20, 0x8a1f: 0x00021284,\n\t0x8a20: 0xa0000000, 0x8a21: 0xa0000000, 0x8a22: 0xa0000000, 0x8a23: 0xa0000000,\n\t0x8a24: 0xa0000000,\n\t0x8a2a: 0xa0000000, 0x8a2b: 0xa0000000,\n\t0x8a2c: 0xa0000000, 0x8a2d: 0xa0000000, 0x8a2e: 0xa0000000, 0x8a2f: 0xa0000000,\n\t0x8a30: 0x0029cc94, 0x8a31: 0x002d9a94,\n\t0x8a34: 0x0029d494, 0x8a35: 0x0029d694, 0x8a36: 0x0029d894, 0x8a37: 0x0029da94,\n\t0x8a38: 0x0029dc94, 0x8a39: 0x0029de94, 0x8a3a: 0x00093894, 0x8a3b: 0x00094e94,\n\t0x8a3c: 0x00094294, 0x8a3d: 0x0003f494, 0x8a3e: 0x0003f694, 0x8a3f: 0x002e9e94,\n\t// Block 0x229, offset 0x8a40\n\t0x8a40: 0xe00009bc, 0x8a41: 0xe00009c0, 0x8a42: 0x002c3a8b, 0x8a43: 0xe0002d26,\n\t0x8a44: 0x40081c20, 0x8a45: 0xe0000a5e, 0x8a46: 0xe0000a62, 0x8a47: 0x002cc28a,\n\t0x8a48: 0x40081e20, 0x8a49: 0xe0002d29, 0x8a4a: 0x002d2285, 0x8a4b: 0x002d688b,\n\t0x8a4c: 0x002d688b, 0x8a4d: 0x002d688b, 0x8a4e: 0x002d6885, 0x8a4f: 0xf0000202,\n\t0x8a50: 0x002d9a8b, 0x8a51: 0x002d9a8b, 0x8a52: 0x002e228b, 0x8a53: 0x002e2285,\n\t0x8a54: 0x40082020, 0x8a55: 0x002e9e8b, 0x8a56: 0xe000281e, 0x8a57: 0x40082220,\n\t0x8a58: 0x40082420, 0x8a59: 0x002f2c8b, 0x8a5a: 0x002f568b, 0x8a5b: 0x002f7a8b,\n\t0x8a5c: 0x002f7a8b, 0x8a5d: 0x002f7a8b, 0x8a5e: 0x40082620, 0x8a5f: 0x40082820,\n\t0x8a60: 0xe0002833, 0x8a61: 0xe0000fbd, 0x8a62: 0xe0002842, 0x8a63: 0x40082a20,\n\t0x8a64: 0x00312a8b, 0x8a65: 0x40082c20, 0x8a66: 0x0032a288, 0x8a67: 0x40082e20,\n\t0x8a68: 0x00312a8b, 0x8a69: 0x40083020, 0x8a6a: 0x402c3620, 0x8a6b: 0xe0002f4b,\n\t0x8a6c: 0x002c0a8b, 0x8a6d: 0x002c3a8b, 0x8a6e: 0x40083220, 0x8a6f: 0x002c9885,\n\t0x8a70: 0x002c988b, 0x8a71: 0x002d088b, 0x8a72: 0x002d1e88, 0x8a73: 0x002e828b,\n\t0x8a74: 0x002ee285, 0x8a75: 0x00389084, 0x8a76: 0x00389284, 0x8a77: 0x00389484,\n\t0x8a78: 0x00389684, 0x8a79: 0x002d9a85, 0x8a7a: 0x40083420, 0x8a7b: 0xe0000b95,\n\t0x8a7c: 0x00327e85, 0x8a7d: 0x00325685, 0x8a7e: 0x0032568b, 0x8a7f: 0x00327e8b,\n\t// Block 0x22a, offset 0x8a80\n\t0x8a80: 0x00093685, 0x8a81: 0x40083620, 0x8a82: 0x40083820, 0x8a83: 0x40083a20,\n\t0x8a84: 0x40083c20, 0x8a85: 0x002c628b, 0x8a86: 0x002c6285, 0x8a87: 0x002c9885,\n\t0x8a88: 0x002d9a85, 0x8a89: 0x002dcc85, 0x8a8a: 0x40083e20, 0x8a8b: 0x400a6e20,\n\t0x8a8c: 0x40084020, 0x8a8d: 0xe00009c4, 0x8a8e: 0x402d1e20, 0x8a8f: 0x40084220,\n\t0x8a90: 0xe00002cb, 0x8a91: 0xe00002d3, 0x8a92: 0xe00002b2, 0x8a93: 0xe00002bb,\n\t0x8a94: 0xe00003cd, 0x8a95: 0xe00002c3, 0x8a96: 0xe00003d1, 0x8a97: 0xe00004ab,\n\t0x8a98: 0xe0000579, 0x8a99: 0xe00002c7, 0x8a9a: 0xe0000640, 0x8a9b: 0xe00002cf,\n\t0x8a9c: 0xe00004af, 0x8a9d: 0xe0000644, 0x8a9e: 0xe0000798, 0x8a9f: 0xe0002d42,\n\t0x8aa0: 0x002d9a8a, 0x8aa1: 0xe00027d4, 0x8aa2: 0xe00027db, 0x8aa3: 0xe00027ee,\n\t0x8aa4: 0x0030be8a, 0x8aa5: 0xe0002848, 0x8aa6: 0xe000284f, 0x8aa7: 0xe00010bb,\n\t0x8aa8: 0xe00027f4, 0x8aa9: 0x0030f68a, 0x8aaa: 0xe0002883, 0x8aab: 0xe000288a,\n\t0x8aac: 0x002e228a, 0x8aad: 0x002c3a8a, 0x8aae: 0x002c628a, 0x8aaf: 0x002e828a,\n\t0x8ab0: 0x002d9a84, 0x8ab1: 0xe00027d1, 0x8ab2: 0xe00027d7, 0x8ab3: 0xe00027eb,\n\t0x8ab4: 0x0030be84, 0x8ab5: 0xe0002845, 0x8ab6: 0xe000284b, 0x8ab7: 0xe00010b6,\n\t0x8ab8: 0xe00027f1, 0x8ab9: 0x0030f684, 0x8aba: 0xe0002880, 0x8abb: 0xe0002886,\n\t0x8abc: 0x002e2284, 0x8abd: 0x002c3a84, 0x8abe: 0x002c6284, 0x8abf: 0x002e8284,\n\t// Block 0x22b, offset 0x8ac0\n\t0x8ac0: 0x4009a620, 0x8ac1: 0xe00000f5, 0x8ac2: 0x4009a820, 0x8ac3: 0x4009aa20,\n\t0x8ac4: 0xe00000f8, 0x8ac5: 0x4009ac20, 0x8ac6: 0x4009ae20, 0x8ac7: 0xe00000fb,\n\t0x8ac8: 0x4009b020, 0x8ac9: 0xe00000fe, 0x8aca: 0x4009b220, 0x8acb: 0x4009b420,\n\t0x8acc: 0x4009b620, 0x8acd: 0x4009b820, 0x8ace: 0x4009ba20, 0x8acf: 0x4009bc20,\n\t0x8ad0: 0x4009be20, 0x8ad1: 0x4009c020, 0x8ad2: 0x4009c220, 0x8ad3: 0x4009c420,\n\t0x8ad4: 0x4009c620, 0x8ad5: 0x4009c820, 0x8ad6: 0x4009ca20, 0x8ad7: 0x4009cc20,\n\t0x8ad8: 0x4009ce20, 0x8ad9: 0x4009d020, 0x8ada: 0x4009d220, 0x8adb: 0x4009d420,\n\t0x8adc: 0x4009d620, 0x8add: 0x4009d820, 0x8ade: 0x4009da20, 0x8adf: 0x4009dc20,\n\t0x8ae0: 0xe0002f16, 0x8ae1: 0x4009de20, 0x8ae2: 0xe0000104, 0x8ae3: 0x4009e020,\n\t0x8ae4: 0x4009e220, 0x8ae5: 0x4009e420, 0x8ae6: 0x4009e620, 0x8ae7: 0x4009e820,\n\t0x8ae8: 0x4009ea20, 0x8ae9: 0x4009ec20, 0x8aea: 0x4009ee20, 0x8aeb: 0x4009f020,\n\t0x8aec: 0x4009f220, 0x8aed: 0xe0000101, 0x8aee: 0xe0002f13, 0x8aef: 0xe0002f19,\n\t0x8af0: 0xe0000107, 0x8af1: 0xe000010a, 0x8af2: 0x4009f420, 0x8af3: 0x4009f620,\n\t0x8af4: 0xe000010d, 0x8af5: 0xe0000110, 0x8af6: 0x4009f820, 0x8af7: 0x4009fa20,\n\t0x8af8: 0xe0000113, 0x8af9: 0xe0000116, 0x8afa: 0x4009fc20, 0x8afb: 0x4009fe20,\n\t0x8afc: 0x400a0020, 0x8afd: 0x400a0220, 0x8afe: 0x400a0420, 0x8aff: 0x400a0620,\n\t// Block 0x22c, offset 0x8b00\n\t0x8b00: 0x400d1820, 0x8b01: 0x400d1a20, 0x8b02: 0x400d1c20, 0x8b03: 0x400d1e20,\n\t0x8b04: 0x400d2020, 0x8b05: 0x400d2220, 0x8b06: 0x400d2420, 0x8b07: 0x400d2620,\n\t0x8b08: 0x400d2820, 0x8b09: 0x400d2a20, 0x8b0a: 0x400d2c20,\n\t0x8b20: 0x0029ce86, 0x8b21: 0x0029d086, 0x8b22: 0x0029d286, 0x8b23: 0x0029d486,\n\t0x8b24: 0x0029d686, 0x8b25: 0x0029d886, 0x8b26: 0x0029da86, 0x8b27: 0x0029dc86,\n\t0x8b28: 0x0029de86, 0x8b29: 0xe0002d45, 0x8b2a: 0xe0002d58, 0x8b2b: 0xe0002d6b,\n\t0x8b2c: 0xe0002d7e, 0x8b2d: 0xe0002d8d, 0x8b2e: 0xe0002d9c, 0x8b2f: 0xe0002dab,\n\t0x8b30: 0xe0002dba, 0x8b31: 0xe0002dc9, 0x8b32: 0xe0002dd8, 0x8b33: 0xe0002df6,\n\t0x8b34: 0xe0002bba, 0x8b35: 0xe0002bbe, 0x8b36: 0xe0002bc2, 0x8b37: 0xe0002bc6,\n\t0x8b38: 0xe0002bca, 0x8b39: 0xe0002bce, 0x8b3a: 0xe0002bd2, 0x8b3b: 0xe0002bd6,\n\t0x8b3c: 0xe0002bda, 0x8b3d: 0xe0000015, 0x8b3e: 0xe000001a, 0x8b3f: 0xe000001f,\n\t// Block 0x22d, offset 0x8b40\n\t0x8b40: 0xe0000024, 0x8b41: 0xe0000029, 0x8b42: 0xe000002e, 0x8b43: 0xe0000033,\n\t0x8b44: 0xe0000038, 0x8b45: 0xe000003d, 0x8b46: 0xe0000042, 0x8b47: 0xe0000047,\n\t0x8b48: 0xe0002d3f, 0x8b49: 0xe0002df3, 0x8b4a: 0xe0002e60, 0x8b4b: 0xe0002e95,\n\t0x8b4c: 0xe0002ec2, 0x8b4d: 0xe0002ed4, 0x8b4e: 0xe0002ee3, 0x8b4f: 0xe0002ef2,\n\t0x8b50: 0xe0002f01, 0x8b51: 0xe0002d48, 0x8b52: 0xe0002d5b, 0x8b53: 0xe0002d6e,\n\t0x8b54: 0xe0002d81, 0x8b55: 0xe0002d90, 0x8b56: 0xe0002d9f, 0x8b57: 0xe0002dae,\n\t0x8b58: 0xe0002dbd, 0x8b59: 0xe0002dcc, 0x8b5a: 0xe0002ddb, 0x8b5b: 0xe0002df9,\n\t0x8b5c: 0xe0002bde, 0x8b5d: 0xe0002be6, 0x8b5e: 0xe0002bee, 0x8b5f: 0xe0002bf6,\n\t0x8b60: 0xe000249f, 0x8b61: 0xe0002bfe, 0x8b62: 0xe0002c06, 0x8b63: 0xe00024a7,\n\t0x8b64: 0xe00024af, 0x8b65: 0xe0002c0e, 0x8b66: 0xe00024b7, 0x8b67: 0xe0002c16,\n\t0x8b68: 0xe0002c1e, 0x8b69: 0xe0002c26, 0x8b6a: 0xe00024bf, 0x8b6b: 0xe0002c2e,\n\t0x8b6c: 0xe00024c7, 0x8b6d: 0xe00024cf, 0x8b6e: 0xe00024d7, 0x8b6f: 0xe00024df,\n\t0x8b70: 0xe0002c36, 0x8b71: 0xe0002c3e, 0x8b72: 0xe0002c46, 0x8b73: 0xe00024e7,\n\t0x8b74: 0xe0002c4e, 0x8b75: 0xe0002c56, 0x8b76: 0x002bde8c, 0x8b77: 0x002c0a8c,\n\t0x8b78: 0x002c3a8c, 0x8b79: 0x002c628c, 0x8b7a: 0x002c988c, 0x8b7b: 0x002d088c,\n\t0x8b7c: 0x002d228c, 0x8b7d: 0x002d688c, 0x8b7e: 0x002d9a8c, 0x8b7f: 0x002dcc8c,\n\t// Block 0x22e, offset 0x8b80\n\t0x8b80: 0x40151420, 0x8b81: 0x40151620, 0x8b82: 0x40151820, 0x8b83: 0x40151a20,\n\t0x8b84: 0x40151c20, 0x8b85: 0x40151e20, 0x8b86: 0x40152020, 0x8b87: 0x40152220,\n\t0x8b88: 0x40152420, 0x8b89: 0x40152620, 0x8b8a: 0x40152820, 0x8b8b: 0x40152a20,\n\t0x8b8c: 0x40152c20, 0x8b8d: 0x40152e20, 0x8b8e: 0x40153020, 0x8b8f: 0x40153220,\n\t0x8b90: 0x40153420, 0x8b91: 0x40153620, 0x8b92: 0x40153820, 0x8b93: 0x40153a20,\n\t0x8b94: 0x40153c20, 0x8b95: 0x40153e20, 0x8b96: 0x40154020, 0x8b97: 0x40154220,\n\t0x8b98: 0x40154420, 0x8b99: 0x40154620, 0x8b9a: 0x40154820, 0x8b9b: 0x40154a20,\n\t0x8b9c: 0x40154c20, 0x8b9d: 0x40154e20, 0x8b9e: 0x40155020, 0x8b9f: 0x40155220,\n\t0x8ba0: 0x40155420, 0x8ba1: 0x40155620, 0x8ba2: 0x40155820, 0x8ba3: 0x40155a20,\n\t0x8ba4: 0x40155c20, 0x8ba5: 0x40155e20, 0x8ba6: 0x40156020, 0x8ba7: 0x40156220,\n\t0x8ba8: 0x40156420, 0x8ba9: 0x40156620, 0x8baa: 0x40156820, 0x8bab: 0x40156a20,\n\t0x8bac: 0x40156c20, 0x8bad: 0x40156e20, 0x8bae: 0x40157020, 0x8baf: 0x40157220,\n\t0x8bb0: 0x40157420, 0x8bb1: 0x40157620, 0x8bb2: 0x40157820, 0x8bb3: 0x40157a20,\n\t0x8bb4: 0xe0002b9c, 0x8bb5: 0xe0002d2c, 0x8bb6: 0xe0002d2f, 0x8bb7: 0x40157c20,\n\t0x8bb8: 0x40157e20, 0x8bb9: 0x40158020, 0x8bba: 0x40158220, 0x8bbb: 0x40158420,\n\t0x8bbc: 0x40158620, 0x8bbd: 0x40158820, 0x8bbe: 0x40158a20, 0x8bbf: 0x40158c20,\n\t// Block 0x22f, offset 0x8bc0\n\t0x8bc0: 0xe0002c5e, 0x8bc1: 0xe0002c62, 0x8bc2: 0xe0002c66, 0x8bc3: 0xe0002c6a,\n\t0x8bc4: 0xe0002c6e, 0x8bc5: 0xe0002c72, 0x8bc6: 0xe0002c76, 0x8bc7: 0xe0002c7a,\n\t0x8bc8: 0xe0002c7e, 0x8bc9: 0xe0002c82, 0x8bca: 0xe0002c86, 0x8bcb: 0xe0002c8a,\n\t0x8bcc: 0xe0002c8e, 0x8bcd: 0xe0002c92, 0x8bce: 0xe000004c, 0x8bcf: 0xe0000051,\n\t0x8bd0: 0xe0000056, 0x8bd1: 0xe000005b, 0x8bd2: 0xe0000060, 0x8bd3: 0xe0000065,\n\t0x8bd4: 0xe000006a, 0x8bd5: 0xe000006f, 0x8bd6: 0xe0000083, 0x8bd7: 0xe000008d,\n\t0x8bd8: 0xe0000092, 0x8bd9: 0xe0000097, 0x8bda: 0xe000009c, 0x8bdb: 0xe00000a1,\n\t0x8bdc: 0xe0000088, 0x8bdd: 0xe0000074, 0x8bde: 0xe000007c,\n\t0x8be0: 0xe0002c96, 0x8be1: 0xe0002ca6, 0x8be2: 0xe0002c9e, 0x8be3: 0xe0002cd6,\n\t0x8be4: 0xe0002caa, 0x8be5: 0xe0002cbe, 0x8be6: 0xe0002c9a, 0x8be7: 0xe0002cba,\n\t0x8be8: 0xe0002ca2, 0x8be9: 0xe0002cc6, 0x8bea: 0xe0002ce6, 0x8beb: 0xe0002cfa,\n\t0x8bec: 0xe0002cf6, 0x8bed: 0xe0002cee, 0x8bee: 0xe0002d22, 0x8bef: 0xe0002cda,\n\t0x8bf0: 0xe0002ce2, 0x8bf1: 0xe0002cf2, 0x8bf2: 0xe0002cea, 0x8bf3: 0xe0002d06,\n\t0x8bf4: 0xe0002cce, 0x8bf5: 0xe0002cfe, 0x8bf6: 0xe0002d1a, 0x8bf7: 0xe0002d0a,\n\t0x8bf8: 0xe0002cc2, 0x8bf9: 0xe0002cae, 0x8bfa: 0xe0002cd2, 0x8bfb: 0xe0002cde,\n\t0x8bfc: 0xe0002d02, 0x8bfd: 0xe0002cb2, 0x8bfe: 0xe0002d1e, 0x8bff: 0xe0002cca,\n\t// Block 0x230, offset 0x8c00\n\t0x8c00: 0xe0002d0e, 0x8c01: 0xe0002cb6, 0x8c02: 0xe0002d12, 0x8c03: 0xe0002d16,\n\t0x8c04: 0x02aa9e86, 0x8c05: 0x02bcf886, 0x8c06: 0x02cb0e86, 0x8c07: 0x02f71e86,\n\t0x8c08: 0xe00002e3, 0x8c09: 0xe00003d8, 0x8c0a: 0xe00004b3, 0x8c0b: 0xe000057d,\n\t0x8c0c: 0xe0000648, 0x8c0d: 0xe00006f0, 0x8c0e: 0xe000079c, 0x8c0f: 0xe0000841,\n\t0x8c10: 0xe0000ec0, 0x8c11: 0xe0002e05, 0x8c12: 0xe0002e10, 0x8c13: 0xe0002e1b,\n\t0x8c14: 0xe0002e26, 0x8c15: 0xe0002e31, 0x8c16: 0xe0002e38, 0x8c17: 0xe0002e3f,\n\t0x8c18: 0xe0002e46, 0x8c19: 0xe0002e4d, 0x8c1a: 0xe0002e63, 0x8c1b: 0xe0002e6a,\n\t0x8c1c: 0xe0002e71, 0x8c1d: 0xe0002e74, 0x8c1e: 0xe0002e77, 0x8c1f: 0xe0002e7a,\n\t0x8c20: 0x0062ac86, 0x8c21: 0x0062b086, 0x8c22: 0x0062b286, 0x8c23: 0x0062b686,\n\t0x8c24: 0x0062b886, 0x8c25: 0x0062ba86, 0x8c26: 0x0062be86, 0x8c27: 0x0062c286,\n\t0x8c28: 0x0062c486, 0x8c29: 0x0062c886, 0x8c2a: 0x0062ca86, 0x8c2b: 0x0062cc86,\n\t0x8c2c: 0x0062ce86, 0x8c2d: 0x0062d086, 0x8c2e: 0xf0000606, 0x8c2f: 0xf0000606,\n\t0x8c30: 0xf0000606, 0x8c31: 0xf0000606, 0x8c32: 0xf0000606, 0x8c33: 0xf0000606,\n\t0x8c34: 0xf0000606, 0x8c35: 0xf0000606, 0x8c36: 0xf0000606, 0x8c37: 0xf0000606,\n\t0x8c38: 0xf0000606, 0x8c39: 0xf0000606, 0x8c3a: 0xf0000606, 0x8c3b: 0xf0000606,\n\t0x8c3c: 0xe0002127, 0x8c3d: 0xe0002122, 0x8c3e: 0xf0000606, 0x8c3f: 0x4027ac20,\n\t// Block 0x231, offset 0x8c40\n\t0x8c40: 0x029c0086, 0x8c41: 0x029d1886, 0x8c42: 0x029c1286, 0x8c43: 0x02adb686,\n\t0x8c44: 0x029d2886, 0x8c45: 0x02a2da86, 0x8c46: 0x029c0686, 0x8c47: 0x02a2d686,\n\t0x8c48: 0x029cba86, 0x8c49: 0x02a68286, 0x8c4a: 0x02ce1086, 0x8c4b: 0x02e0d686,\n\t0x8c4c: 0x02d86886, 0x8c4d: 0x02ce5086, 0x8c4e: 0x0323a286, 0x8c4f: 0x02ae3e86,\n\t0x8c50: 0x02cbca86, 0x8c51: 0x02d05486, 0x8c52: 0x02ce1286, 0x8c53: 0x02f27c86,\n\t0x8c54: 0x02a81a86, 0x8c55: 0x02e4f286, 0x8c56: 0x03194286, 0x8c57: 0x02f2ba86,\n\t0x8c58: 0x02a56886, 0x8c59: 0x02f3b086, 0x8c5a: 0x02ea6e86, 0x8c5b: 0x02b2e686,\n\t0x8c5c: 0x0320d286, 0x8c5d: 0x02a25486, 0x8c5e: 0x02a6e086, 0x8c5f: 0x02d9d086,\n\t0x8c60: 0x03300a86, 0x8c61: 0x029e2286, 0x8c62: 0x02a33286, 0x8c63: 0x02d6c686,\n\t0x8c64: 0x029c1486, 0x8c65: 0x029c5a86, 0x8c66: 0x029c1686, 0x8c67: 0x02bbcc86,\n\t0x8c68: 0x02a7e686, 0x8c69: 0x02a67686, 0x8c6a: 0x02b72e86, 0x8c6b: 0x02b6cc86,\n\t0x8c6c: 0x02edc686, 0x8c6d: 0x029e0286, 0x8c6e: 0x03198e86, 0x8c6f: 0x02a6a886,\n\t0x8c70: 0x02b23886, 0x8c71: 0xe0002e7d, 0x8c72: 0xe0002e80, 0x8c73: 0xe0002e83,\n\t0x8c74: 0xe0002e86, 0x8c75: 0xe0002e98, 0x8c76: 0xe0002e9b, 0x8c77: 0xe0002e9e,\n\t0x8c78: 0xe0002ea1, 0x8c79: 0xe0002ea4, 0x8c7a: 0xe0002ea7, 0x8c7b: 0xe0002eaa,\n\t0x8c7c: 0xe0002ead, 0x8c7d: 0xe0002eb0, 0x8c7e: 0xe0002eb3, 0x8c7f: 0xe0002ec5,\n\t// Block 0x232, offset 0x8c80\n\t0x8c80: 0xe0002dea, 0x8c81: 0xe0002e57, 0x8c82: 0xe0002e8c, 0x8c83: 0xe0002eb9,\n\t0x8c84: 0xe0002ecb, 0x8c85: 0xe0002eda, 0x8c86: 0xe0002ee9, 0x8c87: 0xe0002ef8,\n\t0x8c88: 0xe0002f07, 0x8c89: 0xe0002d50, 0x8c8a: 0xe0002d63, 0x8c8b: 0xe0002d76,\n\t0x8c8c: 0xe00027c5, 0x8c8d: 0xe0000b85, 0x8c8e: 0xe00026cc, 0x8c8f: 0xe0000d14,\n\t0x8c90: 0x00657693, 0x8c91: 0x00657893, 0x8c92: 0x00657a93, 0x8c93: 0x00657e93,\n\t0x8c94: 0x00658093, 0x8c95: 0x00658293, 0x8c96: 0x00658493, 0x8c97: 0x00658693,\n\t0x8c98: 0x00658893, 0x8c99: 0x00658a93, 0x8c9a: 0x00658c93, 0x8c9b: 0x00658e93,\n\t0x8c9c: 0x00659093, 0x8c9d: 0x00659293, 0x8c9e: 0x00659493, 0x8c9f: 0x00659693,\n\t0x8ca0: 0x00659893, 0x8ca1: 0x00659a93, 0x8ca2: 0x00659c93, 0x8ca3: 0x00659e93,\n\t0x8ca4: 0x0065a093, 0x8ca5: 0x0065a293, 0x8ca6: 0x0065a493, 0x8ca7: 0x0065a693,\n\t0x8ca8: 0x0065a893, 0x8ca9: 0x0065aa93, 0x8caa: 0x0065ac93, 0x8cab: 0x0065ae93,\n\t0x8cac: 0x0065b093, 0x8cad: 0x0065b293, 0x8cae: 0x0065b493, 0x8caf: 0x0065b693,\n\t0x8cb0: 0x0065b893, 0x8cb1: 0x0065ba93, 0x8cb2: 0x0065bc93, 0x8cb3: 0x0065be93,\n\t0x8cb4: 0x0065c093, 0x8cb5: 0x0065c493, 0x8cb6: 0x0065c693, 0x8cb7: 0x0065c893,\n\t0x8cb8: 0x0065ca93, 0x8cb9: 0x0065cc93, 0x8cba: 0x0065ce93, 0x8cbb: 0x0065d093,\n\t0x8cbc: 0x0065d293, 0x8cbd: 0x0065d493, 0x8cbe: 0x0065d693,\n\t// Block 0x233, offset 0x8cc0\n\t0x8cc0: 0xe000230b, 0x8cc1: 0xe00022f8, 0x8cc2: 0xe00022fc, 0x8cc3: 0xe0002311,\n\t0x8cc4: 0xe0002316, 0x8cc5: 0xe000231d, 0x8cc6: 0xe0002321, 0x8cc7: 0xe0002325,\n\t0x8cc8: 0xe000232b, 0x8cc9: 0xf0001c1c, 0x8cca: 0xe0002330, 0x8ccb: 0xe000233c,\n\t0x8ccc: 0xe0002340, 0x8ccd: 0xe0002337, 0x8cce: 0xe0002346, 0x8ccf: 0xe000234b,\n\t0x8cd0: 0xe000234f, 0x8cd1: 0xe0002353, 0x8cd2: 0xf0001c1c, 0x8cd3: 0xe000235e,\n\t0x8cd4: 0xe0002358, 0x8cd5: 0xf0001c1c, 0x8cd6: 0xe0002363, 0x8cd7: 0xe000236d,\n\t0x8cd8: 0xe0002d39, 0x8cd9: 0xe0002ded, 0x8cda: 0xe0002e5a, 0x8cdb: 0xe0002e8f,\n\t0x8cdc: 0xe0002ebc, 0x8cdd: 0xe0002ece, 0x8cde: 0xe0002edd, 0x8cdf: 0xe0002eec,\n\t0x8ce0: 0xe0002efb, 0x8ce1: 0xe0002f0a, 0x8ce2: 0xe0002d54, 0x8ce3: 0xe0002d67,\n\t0x8ce4: 0xe0002d7a, 0x8ce5: 0xe0002d89, 0x8ce6: 0xe0002d98, 0x8ce7: 0xe0002da7,\n\t0x8ce8: 0xe0002db6, 0x8ce9: 0xe0002dc5, 0x8cea: 0xe0002dd4, 0x8ceb: 0xe0002de3,\n\t0x8cec: 0xe0002e01, 0x8ced: 0xe0002e0c, 0x8cee: 0xe0002e17, 0x8cef: 0xe0002e22,\n\t0x8cf0: 0xe0002e2d, 0x8cf1: 0xe0000c1e, 0x8cf2: 0xe000329b, 0x8cf3: 0xe0002f0d,\n\t0x8cf4: 0xe0000a31, 0x8cf5: 0xe0002824, 0x8cf6: 0xe00035d6, 0x8cf7: 0xe00032a7,\n\t0x8cf8: 0xe0000ac2, 0x8cf9: 0xe0000ac6, 0x8cfa: 0xe00027e8, 0x8cfb: 0xf0001c1c,\n\t0x8cfc: 0xf0001c1c, 0x8cfd: 0xf0001c1c, 0x8cfe: 0xf0001c1c, 0x8cff: 0xe0002431,\n\t// Block 0x234, offset 0x8d00\n\t0x8d00: 0xe00035d0, 0x8d01: 0xe00035b8, 0x8d02: 0xe00035ee, 0x8d03: 0xe000358e,\n\t0x8d04: 0xe00027f7, 0x8d05: 0xe00027fa, 0x8d06: 0xe0003594, 0x8d07: 0xe0003573,\n\t0x8d08: 0xe0000a6b, 0x8d09: 0xe0000cb4, 0x8d0a: 0xe00035d9, 0x8d0b: 0xe00035bb,\n\t0x8d0c: 0xe00035f1, 0x8d0d: 0xe00035f4, 0x8d0e: 0xe000359d, 0x8d0f: 0xe00027fd,\n\t0x8d10: 0xe00027ce, 0x8d11: 0xe0000cb9, 0x8d12: 0xe0000d36, 0x8d13: 0xe0000be3,\n\t0x8d14: 0xe0000fc5, 0x8d15: 0xe00035f7, 0x8d16: 0xe00035a0, 0x8d17: 0xe00032a4,\n\t0x8d18: 0xe0002803, 0x8d19: 0xe0003570, 0x8d1a: 0xe00035c7, 0x8d1b: 0xe00035fa,\n\t0x8d1c: 0xe00035a3, 0x8d1d: 0xe0003099, 0x8d1e: 0xe0002806, 0x8d1f: 0xe0000d3e,\n\t0x8d20: 0xe0000a72, 0x8d21: 0xe0003588, 0x8d22: 0xe0000cbd, 0x8d23: 0xe0000d42,\n\t0x8d24: 0xe0000a76, 0x8d25: 0xe000358b, 0x8d26: 0xe0000cc1, 0x8d27: 0xe0000d2d,\n\t0x8d28: 0xe0000d31, 0x8d29: 0xe00035d3, 0x8d2a: 0xe0000cc5, 0x8d2b: 0xe0000d4a,\n\t0x8d2c: 0xe0000be7, 0x8d2d: 0xe0000f0b, 0x8d2e: 0xe0000f0f, 0x8d2f: 0xe0000f15,\n\t0x8d30: 0xe000282d, 0x8d31: 0xe0002821, 0x8d32: 0xe000288e, 0x8d33: 0xe000281b,\n\t0x8d34: 0xe00035dc, 0x8d35: 0xe00035ca, 0x8d36: 0xe00035fd, 0x8d37: 0xe00035a6,\n\t0x8d38: 0xe000280f, 0x8d39: 0xe00035a9, 0x8d3a: 0xe00035df, 0x8d3b: 0xe00035cd,\n\t0x8d3c: 0xe0003600, 0x8d3d: 0xe00035af, 0x8d3e: 0xe0002812, 0x8d3f: 0xe00035b2,\n\t// Block 0x235, offset 0x8d40\n\t0x8d40: 0xe0002815, 0x8d41: 0xe00035b5, 0x8d42: 0xe00009b7, 0x8d43: 0xe00024f3,\n\t0x8d44: 0xe0003090, 0x8d45: 0xe0003096, 0x8d46: 0xe0000a66, 0x8d47: 0xe0000a7a,\n\t0x8d48: 0xe000329e, 0x8d49: 0xe0003576, 0x8d4a: 0xe00027c2, 0x8d4b: 0xe00027c8,\n\t0x8d4c: 0xe00027e5, 0x8d4d: 0xe0002800, 0x8d4e: 0xe0002809, 0x8d4f: 0xe000280c,\n\t0x8d50: 0xe0003582, 0x8d51: 0xe0003585, 0x8d52: 0xe0000d0d, 0x8d53: 0xe0002818,\n\t0x8d54: 0xe0003591, 0x8d55: 0xe0000d3a, 0x8d56: 0xe0000d46, 0x8d57: 0xe0002827,\n\t0x8d58: 0xe0000eb0, 0x8d59: 0xe0000eb8, 0x8d5a: 0xe000282a, 0x8d5b: 0xe0002836,\n\t0x8d5c: 0xe000283f, 0x8d5d: 0xe00035e2, 0x8d5e: 0xe00010b2, 0x8d5f: 0xe00009c8,\n\t0x8d60: 0xe0002de7, 0x8d61: 0xe0002e54, 0x8d62: 0xe0002e89, 0x8d63: 0xe0002eb6,\n\t0x8d64: 0xe0002ec8, 0x8d65: 0xe0002ed7, 0x8d66: 0xe0002ee6, 0x8d67: 0xe0002ef5,\n\t0x8d68: 0xe0002f04, 0x8d69: 0xe0002d4c, 0x8d6a: 0xe0002d5f, 0x8d6b: 0xe0002d72,\n\t0x8d6c: 0xe0002d85, 0x8d6d: 0xe0002d94, 0x8d6e: 0xe0002da3, 0x8d6f: 0xe0002db2,\n\t0x8d70: 0xe0002dc1, 0x8d71: 0xe0002dd0, 0x8d72: 0xe0002ddf, 0x8d73: 0xe0002dfd,\n\t0x8d74: 0xe0002e08, 0x8d75: 0xe0002e13, 0x8d76: 0xe0002e1e, 0x8d77: 0xe0002e29,\n\t0x8d78: 0xe0002e34, 0x8d79: 0xe0002e3b, 0x8d7a: 0xe0002e42, 0x8d7b: 0xe0002e49,\n\t0x8d7c: 0xe0002e50, 0x8d7d: 0xe0002e66, 0x8d7e: 0xe0002e6d, 0x8d7f: 0xe0000bdf,\n\t// Block 0x236, offset 0x8d80\n\t0x8d80: 0xe000356a, 0x8d81: 0xe00026cf, 0x8d82: 0xe000356d, 0x8d83: 0xe0000b99,\n\t0x8d84: 0xe0000b9d, 0x8d85: 0xe0000f83, 0x8d86: 0xe000283c,\n\t0x8d93: 0xf0000404,\n\t0x8d94: 0xf0000404, 0x8d95: 0xf0000404, 0x8d96: 0xf0000404, 0x8d97: 0xf0000404,\n\t0x8d9d: 0xe000150b, 0x8d9e: 0xa1a09602, 0x8d9f: 0xe0001514,\n\t0x8da0: 0x0038ae85, 0x8da1: 0x00389085, 0x8da2: 0x00389685, 0x8da3: 0x00389885,\n\t0x8da4: 0x0038a485, 0x8da5: 0x0038a685, 0x8da6: 0x0038a885, 0x8da7: 0x0038b685,\n\t0x8da8: 0x0038ba85, 0x8da9: 0x00093885, 0x8daa: 0xe0001542, 0x8dab: 0xe000153f,\n\t0x8dac: 0xe000154c, 0x8dad: 0xe0001548, 0x8dae: 0xe00014e1, 0x8daf: 0xe00014e4,\n\t0x8db0: 0xe00014e7, 0x8db1: 0xe00014ea, 0x8db2: 0xe00014f0, 0x8db3: 0xe00014f3,\n\t0x8db4: 0xe00014f6, 0x8db5: 0xe00014fc, 0x8db6: 0xe0001505,\n\t0x8db8: 0xe0001508, 0x8db9: 0xe000150e, 0x8dba: 0xe000151b, 0x8dbb: 0xe0001518,\n\t0x8dbc: 0xe0001521, 0x8dbe: 0xe0001524,\n\t// Block 0x237, offset 0x8dc0\n\t0x8dc0: 0xa0000000, 0x8dc1: 0xa0000000, 0x8dc2: 0xa0000000, 0x8dc3: 0xa0000000,\n\t0x8dc4: 0xa0000000, 0x8dc5: 0xa0000000, 0x8dc6: 0xa0000000, 0x8dc7: 0xa0000000,\n\t0x8dc8: 0xa0000000, 0x8dc9: 0xa0000000, 0x8dca: 0xa0000000, 0x8dcb: 0xa0000000,\n\t0x8dcc: 0xa0000000, 0x8dcd: 0xa0000000, 0x8dce: 0xa0000000, 0x8dcf: 0xa0000000,\n\t0x8dd0: 0x00024096, 0x8dd1: 0x00025c96, 0x8dd2: 0x00030496, 0x8dd3: 0x00026c96,\n\t0x8dd4: 0x00026296, 0x8dd5: 0x0002ba96, 0x8dd6: 0x0002c496, 0x8dd7: 0x0004b496,\n\t0x8dd8: 0x0004b696, 0x8dd9: 0xe0002bb6,\n\t0x8de0: 0xae608202, 0x8de1: 0xae600000, 0x8de2: 0xae608102, 0x8de3: 0xae600000,\n\t0x8de4: 0xae600000, 0x8de5: 0xae600000, 0x8de6: 0xae600000,\n\t0x8df0: 0xe0002baf, 0x8df1: 0x00022c96, 0x8df2: 0x00022a96, 0x8df3: 0x00021696,\n\t0x8df4: 0x00021696, 0x8df5: 0x0003f496, 0x8df6: 0x0003f696, 0x8df7: 0x0003fc96,\n\t0x8df8: 0x0003fe96, 0x8df9: 0x0004b096, 0x8dfa: 0x0004b296, 0x8dfb: 0x0004ac96,\n\t0x8dfc: 0x0004ae96, 0x8dfd: 0x0004a096, 0x8dfe: 0x0004a296, 0x8dff: 0x00049c96,\n\t// Block 0x238, offset 0x8e00\n\t0x8e00: 0xe0002d36, 0x8e01: 0xe0002d33, 0x8e02: 0xe0002d3c, 0x8e03: 0xe0002df0,\n\t0x8e04: 0xe0002e5d, 0x8e05: 0xe0002e92, 0x8e06: 0xe0002ebf, 0x8e07: 0xe0002ed1,\n\t0x8e08: 0xe0002ee0, 0x8e09: 0xe0002eef, 0x8e0a: 0xe0002efe,\n\t0x8e10: 0xe0002be2, 0x8e11: 0xe0002bea, 0x8e12: 0xe0002bf2, 0x8e13: 0xe0002bfa,\n\t0x8e14: 0xe00024a3, 0x8e15: 0xe0002c02, 0x8e16: 0xe0002c0a, 0x8e17: 0xe00024ab,\n\t0x8e18: 0xe00024b3, 0x8e19: 0xe0002c12, 0x8e1a: 0xe00024bb, 0x8e1b: 0xe0002c1a,\n\t0x8e1c: 0xe0002c22, 0x8e1d: 0xe0002c2a, 0x8e1e: 0xe00024c3, 0x8e1f: 0xe0002c32,\n\t0x8e20: 0xe00024cb, 0x8e21: 0xe00024d3, 0x8e22: 0xe00024db, 0x8e23: 0xe00024e3,\n\t0x8e24: 0xe0002c3a, 0x8e25: 0xe0002c42, 0x8e26: 0xe0002c4a, 0x8e27: 0xe00024eb,\n\t0x8e28: 0xe0002c52, 0x8e29: 0xe0002c5a, 0x8e2a: 0xe00024ef, 0x8e2b: 0x002c3a8c,\n\t0x8e2c: 0x002f7a8c, 0x8e2d: 0xe0003093, 0x8e2e: 0xe00035e8,\n\t0x8e30: 0x002bde9d, 0x8e31: 0x002c0a9d, 0x8e32: 0x002c3a9d, 0x8e33: 0x002c629d,\n\t0x8e34: 0x002c989d, 0x8e35: 0x002d089d, 0x8e36: 0x002d229d, 0x8e37: 0x002d689d,\n\t0x8e38: 0x002d9a9d, 0x8e39: 0x002dcc9d, 0x8e3a: 0x002dfe9d, 0x8e3b: 0x002e229d,\n\t0x8e3c: 0x002e829d, 0x8e3d: 0x002e9e9d, 0x8e3e: 0x002ee29d, 0x8e3f: 0x002f2c9d,\n\t// Block 0x239, offset 0x8e40\n\t0x8e40: 0x002f569d, 0x8e41: 0x002f7a9d, 0x8e42: 0x002fe69d, 0x8e43: 0x00302c9d,\n\t0x8e44: 0x00306c9d, 0x8e45: 0x0030be9d, 0x8e46: 0x0030e29d, 0x8e47: 0x0030f69d,\n\t0x8e48: 0x0031009d, 0x8e49: 0x00312a9d, 0x8e4a: 0xe00027cb, 0x8e4b: 0xe00035ac,\n\t0x8e4c: 0xe0002830, 0x8e4d: 0xe0002839, 0x8e4e: 0xe0000ebc, 0x8e4f: 0xe00035e5,\n\t0x8e50: 0x002bde8c, 0x8e51: 0x002c0a8c, 0x8e52: 0x002c3a8c, 0x8e53: 0x002c628c,\n\t0x8e54: 0x002c988c, 0x8e55: 0x002d088c, 0x8e56: 0x002d228c, 0x8e57: 0x002d688c,\n\t0x8e58: 0x002d9a8c, 0x8e59: 0x002dcc8c, 0x8e5a: 0x002dfe8c, 0x8e5b: 0x002e228c,\n\t0x8e5c: 0x002e828c, 0x8e5d: 0x002e9e8c, 0x8e5e: 0x002ee28c, 0x8e5f: 0x002f2c8c,\n\t0x8e60: 0x002f568c, 0x8e61: 0x002f7a8c, 0x8e62: 0x002fe68c, 0x8e63: 0x00302c8c,\n\t0x8e64: 0x00306c8c, 0x8e65: 0x0030be8c, 0x8e66: 0x0030e28c, 0x8e67: 0x0030f68c,\n\t0x8e68: 0x0031008c, 0x8e69: 0x00312a8c, 0x8e6a: 0xe0003597, 0x8e6b: 0xe000359a,\n\t0x8e70: 0x002bde9d, 0x8e71: 0x002c0a9d, 0x8e72: 0x002c3a9d, 0x8e73: 0x002c629d,\n\t0x8e74: 0x002c989d, 0x8e75: 0x002d089d, 0x8e76: 0x002d229d, 0x8e77: 0x002d689d,\n\t0x8e78: 0x002d9a9d, 0x8e79: 0x002dcc9d, 0x8e7a: 0x002dfe9d, 0x8e7b: 0x002e229d,\n\t0x8e7c: 0x002e829d, 0x8e7d: 0x002e9e9d, 0x8e7e: 0x002ee29d, 0x8e7f: 0x002f2c9d,\n\t// Block 0x23a, offset 0x8e80\n\t0x8e80: 0x002f569d, 0x8e81: 0x002f7a9d, 0x8e82: 0x002fe69d, 0x8e83: 0x00302c9d,\n\t0x8e84: 0x00306c9d, 0x8e85: 0x0030be9d, 0x8e86: 0x0030e29d, 0x8e87: 0x0030f69d,\n\t0x8e88: 0x0031009d, 0x8e89: 0x00312a9d, 0x8e8a: 0x002f2c9d, 0x8e8b: 0xe0000c81,\n\t0x8e8c: 0xe0000eb5, 0x8e8d: 0xe0000f74, 0x8e8e: 0xe00009d2, 0x8e8f: 0xe00010f0,\n\t0x8e90: 0xe00032a1, 0x8e91: 0xe0000a6f, 0x8e92: 0xe0000a7e, 0x8e93: 0xe0000ba4,\n\t0x8e94: 0xe0000c84, 0x8e95: 0xe0000d8a, 0x8e96: 0xe0000d8e, 0x8e97: 0xe0000e9b,\n\t0x8e98: 0xe0000f77, 0x8e99: 0xe00010a2, 0x8e9a: 0xe00010c0,\n\t// Block 0x23b, offset 0x8ec0\n\t0x8ec0: 0xa0000000, 0x8ec1: 0xa0000000, 0x8ec2: 0xa0000000, 0x8ec3: 0xa0000000,\n\t0x8ec4: 0xa0000000, 0x8ec5: 0xa0000000, 0x8ec6: 0xa0000000, 0x8ec7: 0xa0000000,\n\t0x8ec8: 0xa0000000, 0x8ec9: 0x40020020, 0x8eca: 0x40020220, 0x8ecb: 0x40020420,\n\t0x8ecc: 0x40020620, 0x8ecd: 0x40020820, 0x8ece: 0xa0000000, 0x8ecf: 0xa0000000,\n\t0x8ed0: 0xa0000000, 0x8ed1: 0xa0000000, 0x8ed2: 0xa0000000, 0x8ed3: 0xa0000000,\n\t0x8ed4: 0xa0000000, 0x8ed5: 0xa0000000, 0x8ed6: 0xa0000000, 0x8ed7: 0xa0000000,\n\t0x8ed8: 0xa0000000, 0x8ed9: 0xa0000000, 0x8eda: 0xa0000000, 0x8edb: 0xa0000000,\n\t0x8edc: 0xa0000000, 0x8edd: 0xa0000000, 0x8ede: 0xa0000000, 0x8edf: 0xa0000000,\n\t0x8ee0: 0x40021220, 0x8ee1: 0x4002ba20, 0x8ee2: 0x4003e020, 0x8ee3: 0x4004ea20,\n\t0x8ee4: 0x4027de20, 0x8ee5: 0x4004ec20, 0x8ee6: 0x4004e620, 0x8ee7: 0x4003d220,\n\t0x8ee8: 0x4003f420, 0x8ee9: 0x4003f620, 0x8eea: 0x4004d820, 0x8eeb: 0x40093820,\n\t0x8eec: 0x40024020, 0x8eed: 0x40021a20, 0x8eee: 0x4002e420, 0x8eef: 0x4004e220,\n\t0x8ef0: 0x4029cc20, 0x8ef1: 0x4029ce20, 0x8ef2: 0x4029d020, 0x8ef3: 0x4029d220,\n\t0x8ef4: 0x4029d420, 0x8ef5: 0x4029d620, 0x8ef6: 0x4029d820, 0x8ef7: 0x4029da20,\n\t0x8ef8: 0x4029dc20, 0x8ef9: 0x4029de20, 0x8efa: 0x40026c20, 0x8efb: 0x40026220,\n\t0x8efc: 0x40094020, 0x8efd: 0x40094220, 0x8efe: 0x40094420, 0x8eff: 0x4002c420,\n\t// Block 0x23c, offset 0x8f00\n\t0x8f00: 0x4004d620, 0x8f01: 0x002bde88, 0x8f02: 0x002c0a88, 0x8f03: 0xc3352741,\n\t0x8f04: 0x002c6288, 0x8f05: 0x002c9888, 0x8f06: 0x002d0888, 0x8f07: 0xc3392741,\n\t0x8f08: 0xc5402741, 0x8f09: 0x002d9a88, 0x8f0a: 0xc5442741, 0x8f0b: 0x002dfe88,\n\t0x8f0c: 0xc0030002, 0x8f0d: 0x002e8288, 0x8f0e: 0x002e9e88, 0x8f0f: 0x002ee288,\n\t0x8f10: 0x002f2c88, 0x8f11: 0x002f5688, 0x8f12: 0x002f7a88, 0x8f13: 0xc3432741,\n\t0x8f14: 0x00302c88, 0x8f15: 0xc34700d1, 0x8f16: 0x0030be88, 0x8f17: 0x0030e288,\n\t0x8f18: 0x0030f688, 0x8f19: 0x00310088, 0x8f1a: 0x00312a88, 0x8f1b: 0x4003f820,\n\t0x8f1c: 0x4004e420, 0x8f1d: 0x4003fa20, 0x8f1e: 0x40062420, 0x8f1f: 0x40021620,\n\t0x8f20: 0x40061e20, 0x8f21: 0x402bde20, 0x8f22: 0x402c0a20, 0x8f23: 0xc3332741,\n\t0x8f24: 0x402c6220, 0x8f25: 0x402c9820, 0x8f26: 0x402d0820, 0x8f27: 0xc3372741,\n\t0x8f28: 0xc53e2741, 0x8f29: 0x402d9a20, 0x8f2a: 0xc5422741, 0x8f2b: 0x402dfe20,\n\t0x8f2c: 0xc0000002, 0x8f2d: 0x402e8220, 0x8f2e: 0x402e9e20, 0x8f2f: 0x402ee220,\n\t0x8f30: 0x402f2c20, 0x8f31: 0x402f5620, 0x8f32: 0x402f7a20, 0x8f33: 0xc3412741,\n\t0x8f34: 0x40302c20, 0x8f35: 0xc34500d1, 0x8f36: 0x4030be20, 0x8f37: 0x4030e220,\n\t0x8f38: 0x4030f620, 0x8f39: 0x40310020, 0x8f3a: 0x40312a20, 0x8f3b: 0x4003fc20,\n\t0x8f3c: 0x40094820, 0x8f3d: 0x4003fe20, 0x8f3e: 0x40094c20, 0x8f3f: 0xa0000000,\n\t// Block 0x23d, offset 0x8f40\n\t0x8f40: 0xe0000983, 0x8f41: 0xe0000980, 0x8f42: 0xe00008fb, 0x8f43: 0xe00008f8,\n\t0x8f44: 0xe000097d, 0x8f45: 0xe000097a, 0x8f46: 0xe0000a38, 0x8f47: 0xe0000a35,\n\t0x8f48: 0x002c3c83, 0x8f49: 0x402c3c20, 0x8f4a: 0xe0000a4a, 0x8f4b: 0xe0000a47,\n\t0x8f4c: 0xe0000a44, 0x8f4d: 0xe0000a41, 0x8f4e: 0xe0000a86, 0x8f4f: 0xe0000a83,\n\t0x8f50: 0xe0000aaa, 0x8f51: 0xe0000aa7, 0x8f52: 0xe0000b46, 0x8f53: 0xe0000b43,\n\t0x8f54: 0xe0000aee, 0x8f55: 0xe0000aeb, 0x8f56: 0xe0000b2c, 0x8f57: 0xe0000b29,\n\t0x8f58: 0xe0000b40, 0x8f59: 0xe0000b3d, 0x8f5a: 0xe0000b1a, 0x8f5b: 0xe0000b17,\n\t0x8f5c: 0x002d2483, 0x8f5d: 0x402d2420, 0x8f5e: 0xe0000bb2, 0x8f5f: 0xe0000baf,\n\t0x8f60: 0xe0000bc4, 0x8f61: 0xe0000bc1, 0x8f62: 0xe0000bca, 0x8f63: 0xe0000bc7,\n\t0x8f64: 0x002d6a83, 0x8f65: 0x402d6a20, 0x8f66: 0xe0000c1b, 0x8f67: 0xe0000c18,\n\t0x8f68: 0xe0000c51, 0x8f69: 0xe0000c4e, 0x8f6a: 0xe0000c60, 0x8f6b: 0xe0000c5d,\n\t0x8f6c: 0xe0000c31, 0x8f6d: 0xe0000c2e, 0x8f6e: 0xe0000c5a, 0x8f6f: 0xe0000c57,\n\t0x8f70: 0xe0000c54, 0x8f71: 0x402da220, 0x8f72: 0xf0000a0a, 0x8f73: 0xf0000404,\n\t0x8f74: 0x002dce83, 0x8f75: 0x402dce20, 0x8f76: 0xe0000c9f, 0x8f77: 0xe0000c9c,\n\t0x8f78: 0x402f7220, 0x8f79: 0xe0000ccc, 0x8f7a: 0xe0000cc9, 0x8f7b: 0xe0000cd8,\n\t0x8f7c: 0xe0000cd5, 0x8f7d: 0xe0000cd2, 0x8f7e: 0xe0000ccf, 0x8f7f: 0xe0000d04,\n\t// Block 0x23e, offset 0x8f80\n\t0x8f80: 0xe0000cfe, 0x8f81: 0xe0000cf8, 0x8f82: 0xe0000cf5, 0x8f83: 0xe0000d51,\n\t0x8f84: 0xe0000d4e, 0x8f85: 0xe0000d6f, 0x8f86: 0xe0000d6c, 0x8f87: 0xe0000d5d,\n\t0x8f88: 0xe0000d5a, 0x8f89: 0xf0000404, 0x8f8a: 0x002eda88, 0x8f8b: 0x402eda20,\n\t0x8f8c: 0xe0000e2e, 0x8f8d: 0xe0000e2b, 0x8f8e: 0xe0000da0, 0x8f8f: 0xe0000d9d,\n\t0x8f90: 0xe0000de0, 0x8f91: 0xe0000ddd, 0x8f92: 0xe0000e93, 0x8f93: 0xe0000e8f,\n\t0x8f94: 0xe0000eca, 0x8f95: 0xe0000ec7, 0x8f96: 0xe0000edc, 0x8f97: 0xe0000ed9,\n\t0x8f98: 0xe0000ed0, 0x8f99: 0xe0000ecd, 0x8f9a: 0xe0000f1f, 0x8f9b: 0xe0000f1c,\n\t0x8f9c: 0x002fe883, 0x8f9d: 0x402fe820, 0x8f9e: 0xe0000f47, 0x8f9f: 0xe0000f44,\n\t0x8fa0: 0xe0000f33, 0x8fa1: 0xe0000f30, 0x8fa2: 0xe0000f99, 0x8fa3: 0xe0000f96,\n\t0x8fa4: 0xe0000f8a, 0x8fa5: 0xe0000f87, 0x8fa6: 0x00303688, 0x8fa7: 0x40303620,\n\t0x8fa8: 0xe000102b, 0x8fa9: 0xe0001028, 0x8faa: 0xe000103f, 0x8fab: 0xe000103c,\n\t0x8fac: 0x00306e83, 0x8fad: 0x40306e20, 0x8fae: 0xe0000ff9, 0x8faf: 0xe0000ff6,\n\t0x8fb0: 0xe0001025, 0x8fb1: 0xe0001022, 0x8fb2: 0xe0001039, 0x8fb3: 0xe0001036,\n\t0x8fb4: 0xe00010d8, 0x8fb5: 0xe00010d5, 0x8fb6: 0xe000110e, 0x8fb7: 0xe000110b,\n\t0x8fb8: 0xe0001117, 0x8fb9: 0xe000113b, 0x8fba: 0xe0001138, 0x8fbb: 0xe000114d,\n\t0x8fbc: 0xe000114a, 0x8fbd: 0xe0001147, 0x8fbe: 0xe0001144, 0x8fbf: 0xe0000f64,\n\t// Block 0x23f, offset 0x8fc0\n\t0x8fc0: 0xa0000000, 0x8fc1: 0xa0000000, 0x8fc2: 0xa0000000, 0x8fc3: 0xa0000000,\n\t0x8fc4: 0xa0000000, 0x8fc5: 0xa0000000, 0x8fc6: 0xa0000000, 0x8fc7: 0xa0000000,\n\t0x8fc8: 0xa0000000, 0x8fc9: 0x40020020, 0x8fca: 0x40020220, 0x8fcb: 0x40020420,\n\t0x8fcc: 0x40020620, 0x8fcd: 0x40020820, 0x8fce: 0xa0000000, 0x8fcf: 0xa0000000,\n\t0x8fd0: 0xa0000000, 0x8fd1: 0xa0000000, 0x8fd2: 0xa0000000, 0x8fd3: 0xa0000000,\n\t0x8fd4: 0xa0000000, 0x8fd5: 0xa0000000, 0x8fd6: 0xa0000000, 0x8fd7: 0xa0000000,\n\t0x8fd8: 0xa0000000, 0x8fd9: 0xa0000000, 0x8fda: 0xa0000000, 0x8fdb: 0xa0000000,\n\t0x8fdc: 0xa0000000, 0x8fdd: 0xa0000000, 0x8fde: 0xa0000000, 0x8fdf: 0xa0000000,\n\t0x8fe0: 0x40021220, 0x8fe1: 0x4002ba20, 0x8fe2: 0x4003e020, 0x8fe3: 0x4004ea20,\n\t0x8fe4: 0x4027de20, 0x8fe5: 0x4004ec20, 0x8fe6: 0x4004e620, 0x8fe7: 0x4003d220,\n\t0x8fe8: 0x4003f420, 0x8fe9: 0x4003f620, 0x8fea: 0x4004d820, 0x8feb: 0x40093820,\n\t0x8fec: 0x40024020, 0x8fed: 0x40021a20, 0x8fee: 0x4002e420, 0x8fef: 0x4004e220,\n\t0x8ff0: 0x4029cc20, 0x8ff1: 0x4029ce20, 0x8ff2: 0x4029d020, 0x8ff3: 0x4029d220,\n\t0x8ff4: 0x4029d420, 0x8ff5: 0x4029d620, 0x8ff6: 0x4029d820, 0x8ff7: 0x4029da20,\n\t0x8ff8: 0x4029dc20, 0x8ff9: 0x4029de20, 0x8ffa: 0x40026c20, 0x8ffb: 0x40026220,\n\t0x8ffc: 0x40094020, 0x8ffd: 0x40094220, 0x8ffe: 0x40094420, 0x8fff: 0x4002c420,\n\t// Block 0x240, offset 0x9000\n\t0x9000: 0x4004d620, 0x9001: 0x002bde88, 0x9002: 0x002c0a88, 0x9003: 0x002c3a88,\n\t0x9004: 0x002c6288, 0x9005: 0x002c9888, 0x9006: 0x002d0888, 0x9007: 0x002d2288,\n\t0x9008: 0x002d6888, 0x9009: 0x002d9a88, 0x900a: 0x002dcc88, 0x900b: 0x002dfe88,\n\t0x900c: 0xc0030002, 0x900d: 0x002e8288, 0x900e: 0xc5462761, 0x900f: 0x002ee288,\n\t0x9010: 0x002f2c88, 0x9011: 0x002f5688, 0x9012: 0x002f7a88, 0x9013: 0x002fe688,\n\t0x9014: 0x00302c88, 0x9015: 0x00306c88, 0x9016: 0x0030be88, 0x9017: 0x0030e288,\n\t0x9018: 0x0030f688, 0x9019: 0x00310088, 0x901a: 0x00312a88, 0x901b: 0x4003f820,\n\t0x901c: 0x4004e420, 0x901d: 0x4003fa20, 0x901e: 0x40062420, 0x901f: 0x40021620,\n\t0x9020: 0x40061e20, 0x9021: 0x402bde20, 0x9022: 0x402c0a20, 0x9023: 0x402c3a20,\n\t0x9024: 0x402c6220, 0x9025: 0x402c9820, 0x9026: 0x402d0820, 0x9027: 0x402d2220,\n\t0x9028: 0x402d6820, 0x9029: 0x402d9a20, 0x902a: 0x402dcc20, 0x902b: 0x402dfe20,\n\t0x902c: 0xc0000002, 0x902d: 0x402e8220, 0x902e: 0xc5332761, 0x902f: 0x402ee220,\n\t0x9030: 0x402f2c20, 0x9031: 0x402f5620, 0x9032: 0x402f7a20, 0x9033: 0x402fe620,\n\t0x9034: 0x40302c20, 0x9035: 0x40306c20, 0x9036: 0x4030be20, 0x9037: 0x4030e220,\n\t0x9038: 0x4030f620, 0x9039: 0x40310020, 0x903a: 0x40312a20, 0x903b: 0x4003fc20,\n\t0x903c: 0x40094820, 0x903d: 0x4003fe20, 0x903e: 0x40094c20, 0x903f: 0xa0000000,\n\t// Block 0x241, offset 0x9040\n\t0x9040: 0xe00008f5, 0x9041: 0xe00008ef, 0x9042: 0xe0000921, 0x9043: 0xe0000969,\n\t0x9044: 0xe000095b, 0x9045: 0xe000094d, 0x9046: 0xe00009dd, 0x9047: 0xe0000a53,\n\t0x9048: 0xe0000ae8, 0x9049: 0xe0000ae2, 0x904a: 0xe0000af4, 0x904b: 0xe0000b20,\n\t0x904c: 0xe0000c2b, 0x904d: 0xe0000c25, 0x904e: 0xe0000c37, 0x904f: 0xe0000c43,\n\t0x9050: 0xe0000ab3, 0x9051: 0x002ea083, 0x9052: 0xe0000d9a, 0x9053: 0xe0000d94,\n\t0x9054: 0xe0000da6, 0x9055: 0xe0000de6, 0x9056: 0xe0000dd2, 0x9057: 0x40093e20,\n\t0x9058: 0xe0000e12, 0x9059: 0xe0000fe1, 0x905a: 0xe0000fdb, 0x905b: 0xe0000fed,\n\t0x905c: 0xe0000fff, 0x905d: 0xe0001102, 0x905e: 0x00318888, 0x905f: 0xe0000f7b,\n\t0x9060: 0xe00008f2, 0x9061: 0xe00008ec, 0x9062: 0xe000091e, 0x9063: 0xe0000966,\n\t0x9064: 0xe0000958, 0x9065: 0xe000094a, 0x9066: 0xe00009d5, 0x9067: 0xe0000a4d,\n\t0x9068: 0xe0000ae5, 0x9069: 0xe0000adf, 0x906a: 0xe0000af1, 0x906b: 0xe0000b1d,\n\t0x906c: 0xe0000c28, 0x906d: 0xe0000c22, 0x906e: 0xe0000c34, 0x906f: 0xe0000c40,\n\t0x9070: 0xe0000aad, 0x9071: 0x402ea020, 0x9072: 0xe0000d97, 0x9073: 0xe0000d91,\n\t0x9074: 0xe0000da3, 0x9075: 0xe0000de3, 0x9076: 0xe0000dcf, 0x9077: 0x40093c20,\n\t0x9078: 0xe0000e0f, 0x9079: 0xe0000fde, 0x907a: 0xe0000fd8, 0x907b: 0xe0000fea,\n\t0x907c: 0xe0000ffc, 0x907d: 0xe00010ff, 0x907e: 0x40318820, 0x907f: 0xe0001114,\n\t// Block 0x242, offset 0x9080\n\t0x9080: 0xa0000000, 0x9081: 0xa0000000, 0x9082: 0xa0000000, 0x9083: 0xa0000000,\n\t0x9084: 0xa0000000, 0x9085: 0xa0000000, 0x9086: 0xa0000000, 0x9087: 0xa0000000,\n\t0x9088: 0xa0000000, 0x9089: 0x40020020, 0x908a: 0x40020220, 0x908b: 0x40020420,\n\t0x908c: 0x40020620, 0x908d: 0x40020820, 0x908e: 0xa0000000, 0x908f: 0xa0000000,\n\t0x9090: 0xa0000000, 0x9091: 0xa0000000, 0x9092: 0xa0000000, 0x9093: 0xa0000000,\n\t0x9094: 0xa0000000, 0x9095: 0xa0000000, 0x9096: 0xa0000000, 0x9097: 0xa0000000,\n\t0x9098: 0xa0000000, 0x9099: 0xa0000000, 0x909a: 0xa0000000, 0x909b: 0xa0000000,\n\t0x909c: 0xa0000000, 0x909d: 0xa0000000, 0x909e: 0xa0000000, 0x909f: 0xa0000000,\n\t0x90a0: 0x40021220, 0x90a1: 0x4002ba20, 0x90a2: 0x4003e020, 0x90a3: 0x4004ea20,\n\t0x90a4: 0x4027de20, 0x90a5: 0x4004ec20, 0x90a6: 0x4004e620, 0x90a7: 0x4003d220,\n\t0x90a8: 0x4003f420, 0x90a9: 0x4003f620, 0x90aa: 0x4004d820, 0x90ab: 0x40093820,\n\t0x90ac: 0x40024020, 0x90ad: 0x40021a20, 0x90ae: 0x4002e420, 0x90af: 0x4004e220,\n\t0x90b0: 0x4029cc20, 0x90b1: 0x4029ce20, 0x90b2: 0x4029d020, 0x90b3: 0x4029d220,\n\t0x90b4: 0x4029d420, 0x90b5: 0x4029d620, 0x90b6: 0x4029d820, 0x90b7: 0x4029da20,\n\t0x90b8: 0x4029dc20, 0x90b9: 0x4029de20, 0x90ba: 0x40026c20, 0x90bb: 0x40026220,\n\t0x90bc: 0x40094020, 0x90bd: 0x40094220, 0x90be: 0x40094420, 0x90bf: 0x4002c420,\n\t// Block 0x243, offset 0x90c0\n\t0x90c0: 0x4004d620, 0x90c1: 0xc5580071, 0x90c2: 0x002c0a88, 0x90c3: 0x002c3a88,\n\t0x90c4: 0x002c6288, 0x90c5: 0x002c9888, 0x90c6: 0x002d0888, 0x90c7: 0x002d2288,\n\t0x90c8: 0x002d6888, 0x90c9: 0x002d9a88, 0x90ca: 0x002dcc88, 0x90cb: 0x002dfe88,\n\t0x90cc: 0xc0030002, 0x90cd: 0x002e8288, 0x90ce: 0x002e9e88, 0x90cf: 0xc5532781,\n\t0x90d0: 0x002f2c88, 0x90d1: 0x002f5688, 0x90d2: 0x002f7a88, 0x90d3: 0xc54a0991,\n\t0x90d4: 0x00302c88, 0x90d5: 0xc55c0071, 0x90d6: 0x0030be88, 0x90d7: 0x0030bea3,\n\t0x90d8: 0x0030f688, 0x90d9: 0x00310088, 0x90da: 0xc54e0991, 0x90db: 0x4003f820,\n\t0x90dc: 0x4004e420, 0x90dd: 0x4003fa20, 0x90de: 0x40062420, 0x90df: 0x40021620,\n\t0x90e0: 0x40061e20, 0x90e1: 0xc5560071, 0x90e2: 0x402c0a20, 0x90e3: 0x402c3a20,\n\t0x90e4: 0x402c6220, 0x90e5: 0x402c9820, 0x90e6: 0x402d0820, 0x90e7: 0x402d2220,\n\t0x90e8: 0x402d6820, 0x90e9: 0x402d9a20, 0x90ea: 0x402dcc20, 0x90eb: 0x402dfe20,\n\t0x90ec: 0xc0000002, 0x90ed: 0x402e8220, 0x90ee: 0x402e9e20, 0x90ef: 0xc5502781,\n\t0x90f0: 0x402f2c20, 0x90f1: 0x402f5620, 0x90f2: 0x402f7a20, 0x90f3: 0xc5480991,\n\t0x90f4: 0x40302c20, 0x90f5: 0xc55a0071, 0x90f6: 0x4030be20, 0x90f7: 0x4030be21,\n\t0x90f8: 0x4030f620, 0x90f9: 0x40310020, 0x90fa: 0xc54c0991, 0x90fb: 0x4003fc20,\n\t0x90fc: 0x40094820, 0x90fd: 0x4003fe20, 0x90fe: 0x40094c20, 0x90ff: 0xa0000000,\n\t// Block 0x244, offset 0x9100\n\t0x9100: 0xe00008f5, 0x9101: 0xe00008ef, 0x9102: 0xe0000921, 0x9103: 0xe0000969,\n\t0x9104: 0x0030f083, 0x9105: 0xe000094d, 0x9106: 0xe00009dd, 0x9107: 0xe0000a53,\n\t0x9108: 0xe0000ae8, 0x9109: 0xe0000ae2, 0x910a: 0xe0000af4, 0x910b: 0xe0000b20,\n\t0x910c: 0xe0000c2b, 0x910d: 0xe0000c25, 0x910e: 0xe0000c37, 0x910f: 0xe0000c43,\n\t0x9110: 0xe0000ab3, 0x9111: 0xe0000d63, 0x9112: 0xe0000d9a, 0x9113: 0xe0000d94,\n\t0x9114: 0xe0000da6, 0x9115: 0x0030ee83, 0x9116: 0x0030f283, 0x9117: 0x40093e20,\n\t0x9118: 0xe0000e12, 0x9119: 0xe0000fe1, 0x911a: 0xe0000fdb, 0x911b: 0xe0000fed,\n\t0x911c: 0x0030f483, 0x911d: 0xe0001102, 0x911e: 0x00318888, 0x911f: 0xe0000f7b,\n\t0x9120: 0xe00008f2, 0x9121: 0xe00008ec, 0x9122: 0xe000091e, 0x9123: 0xe0000966,\n\t0x9124: 0x4030f020, 0x9125: 0xe000094a, 0x9126: 0xe00009d5, 0x9127: 0xe0000a4d,\n\t0x9128: 0xe0000ae5, 0x9129: 0xe0000adf, 0x912a: 0xe0000af1, 0x912b: 0xe0000b1d,\n\t0x912c: 0xe0000c28, 0x912d: 0xe0000c22, 0x912e: 0xe0000c34, 0x912f: 0xe0000c40,\n\t0x9130: 0xe0000aad, 0x9131: 0xe0000d60, 0x9132: 0xe0000d97, 0x9133: 0xe0000d91,\n\t0x9134: 0xe0000da3, 0x9135: 0x4030ee20, 0x9136: 0x4030f220, 0x9137: 0x40093c20,\n\t0x9138: 0xe0000e0f, 0x9139: 0xe0000fde, 0x913a: 0xe0000fd8, 0x913b: 0xe0000fea,\n\t0x913c: 0x4030f420, 0x913d: 0xe00010ff, 0x913e: 0x40318820, 0x913f: 0xe0001114,\n\t// Block 0x245, offset 0x9140\n\t0x9140: 0xe0000cfe, 0x9141: 0xe0000cf8, 0x9142: 0xe0000cf5, 0x9143: 0xe0000d51,\n\t0x9144: 0xe0000d4e, 0x9145: 0xe0000d6f, 0x9146: 0xe0000d6c, 0x9147: 0xe0000d5d,\n\t0x9148: 0xe0000d5a, 0x9149: 0xf0000404, 0x914a: 0x002eda88, 0x914b: 0x402eda20,\n\t0x914c: 0xe0000e2e, 0x914d: 0xe0000e2b, 0x914e: 0xe0000da0, 0x914f: 0xe0000d9d,\n\t0x9150: 0xe0000de0, 0x9151: 0xe0000ddd, 0x9152: 0xe0000e93, 0x9153: 0xe0000e8f,\n\t0x9154: 0xe0000eca, 0x9155: 0xe0000ec7, 0x9156: 0xe0000edc, 0x9157: 0xe0000ed9,\n\t0x9158: 0xe0000ed0, 0x9159: 0xe0000ecd, 0x915a: 0xe0000f1f, 0x915b: 0xe0000f1c,\n\t0x915c: 0xe0000f2d, 0x915d: 0xe0000f2a, 0x915e: 0xe0000f47, 0x915f: 0xe0000f44,\n\t0x9160: 0x00302683, 0x9161: 0x40302620, 0x9162: 0xe0000f99, 0x9163: 0xe0000f96,\n\t0x9164: 0xe0000f8a, 0x9165: 0xe0000f87, 0x9166: 0x00303688, 0x9167: 0x40303620,\n\t0x9168: 0xe000102b, 0x9169: 0xe0001028, 0x916a: 0xe000103f, 0x916b: 0xe000103c,\n\t0x916c: 0xe0000fe7, 0x916d: 0xe0000fe4, 0x916e: 0xe0000ff9, 0x916f: 0xe0000ff6,\n\t0x9170: 0xe0001025, 0x9171: 0xe0001022, 0x9172: 0xe0001039, 0x9173: 0xe0001036,\n\t0x9174: 0xe0003636, 0x9175: 0xe0003633, 0x9176: 0xe000110e, 0x9177: 0xe000110b,\n\t0x9178: 0xe0001117, 0x9179: 0xe000360c, 0x917a: 0xe0003609, 0x917b: 0xe0003618,\n\t0x917c: 0xe0003615, 0x917d: 0x00302a83, 0x917e: 0x40302a20, 0x917f: 0xe0000f64,\n\t// Block 0x246, offset 0x9180\n\t0x9180: 0x40321220, 0x9181: 0x40321a20, 0x9182: 0x40322220, 0x9183: 0x40322a20,\n\t0x9184: 0xe0000ad5, 0x9185: 0xe0000ad1, 0x9186: 0xe0000acd, 0x9187: 0xf0000a0a,\n\t0x9188: 0xf000040a, 0x9189: 0xf0000404, 0x918a: 0xf0000a0a, 0x918b: 0xf000040a,\n\t0x918c: 0xf0000404, 0x918d: 0xe0000947, 0x918e: 0xe0000944, 0x918f: 0xe0000c3d,\n\t0x9190: 0xe0000c3a, 0x9191: 0xe0000dcc, 0x9192: 0xe0000dc9, 0x9193: 0xe0000ff3,\n\t0x9194: 0xe0000ff0, 0x9195: 0xe000368d, 0x9196: 0xe000368a, 0x9197: 0xe000367b,\n\t0x9198: 0xe0003678, 0x9199: 0xe0003687, 0x919a: 0xe0003684, 0x919b: 0xe0003681,\n\t0x919c: 0xe000367e, 0x919d: 0x402cae20, 0x919e: 0xe000366f, 0x919f: 0xe000366c,\n\t0x91a0: 0xe0000976, 0x91a1: 0xe0000972, 0x91a2: 0xe00009f4, 0x91a3: 0xe00009ef,\n\t0x91a4: 0x002d3a88, 0x91a5: 0x402d3a20, 0x91a6: 0xe0000bbe, 0x91a7: 0xe0000bbb,\n\t0x91a8: 0xe0000c99, 0x91a9: 0xe0000c96, 0x91aa: 0xe0000e20, 0x91ab: 0xe0000e1d,\n\t0x91ac: 0xe0000e27, 0x91ad: 0xe0000e23, 0x91ae: 0xe0001162, 0x91af: 0xe000115f,\n\t0x91b0: 0xe0000c8d, 0x91b1: 0xe00032b0, 0x91b2: 0xe00032ad, 0x91b3: 0xe00032aa,\n\t0x91b4: 0xe0000bac, 0x91b5: 0xe0000ba9, 0x91b6: 0x002d7888, 0x91b7: 0x00319488,\n\t0x91b8: 0xe0000d57, 0x91b9: 0xe0000d54, 0x91ba: 0xe0000954, 0x91bb: 0xe0000950,\n\t0x91bc: 0xe00009ea, 0x91bd: 0xe00009e5, 0x91be: 0xe0000e19, 0x91bf: 0xe0000e15,\n\t// Block 0x247, offset 0x91c0\n\t0x91c0: 0xe000098f, 0x91c1: 0xe000098c, 0x91c2: 0xe0000995, 0x91c3: 0xe0000992,\n\t0x91c4: 0xe0000b62, 0x91c5: 0xe0000b5f, 0x91c6: 0xe0000b68, 0x91c7: 0xe0000b65,\n\t0x91c8: 0xe0000c6c, 0x91c9: 0xe0000c69, 0x91ca: 0xe0000c72, 0x91cb: 0xe0000c6f,\n\t0x91cc: 0xe0000e4a, 0x91cd: 0xe0000e47, 0x91ce: 0xe0000e50, 0x91cf: 0xe0000e4d,\n\t0x91d0: 0xe0000ee8, 0x91d1: 0xe0000ee5, 0x91d2: 0xe0000eee, 0x91d3: 0xe0000eeb,\n\t0x91d4: 0xe0001053, 0x91d5: 0xe0001050, 0x91d6: 0xe0001059, 0x91d7: 0xe0001056,\n\t0x91d8: 0xe0000f61, 0x91d9: 0xe0000f5e, 0x91da: 0xe0000fa5, 0x91db: 0xe0000fa2,\n\t0x91dc: 0x00312288, 0x91dd: 0x40312220, 0x91de: 0xe0000bf4, 0x91df: 0xe0000bf1,\n\t0x91e0: 0x002ebc88, 0x91e1: 0x402c8c20, 0x91e2: 0x002f2288, 0x91e3: 0x402f2220,\n\t0x91e4: 0x00314088, 0x91e5: 0x40314020, 0x91e6: 0xe000096f, 0x91e7: 0xe000096c,\n\t0x91e8: 0xe0000b32, 0x91e9: 0xe0000b2f, 0x91ea: 0xe0003675, 0x91eb: 0xe0003672,\n\t0x91ec: 0xe0003663, 0x91ed: 0xe0003660, 0x91ee: 0xe0000e04, 0x91ef: 0xe0000e01,\n\t0x91f0: 0xe0000e0b, 0x91f1: 0xe0000e07, 0x91f2: 0xe0001129, 0x91f3: 0xe0001126,\n\t0x91f4: 0x402e5e20, 0x91f5: 0x402ed020, 0x91f6: 0x40305a20, 0x91f7: 0x402dd420,\n\t0x91f8: 0xe0000abf, 0x91f9: 0xe0000ec4, 0x91fa: 0x002be888, 0x91fb: 0x002c4488,\n\t0x91fc: 0x402c4420, 0x91fd: 0x002e3888, 0x91fe: 0x00303e88, 0x91ff: 0x402ffc20,\n\t// Block 0x248, offset 0x9200\n\t0x9200: 0xe0000d24, 0x9201: 0xe0000d21, 0x9202: 0xe0000d2a, 0x9203: 0xe0000d27,\n\t0x9204: 0xe0000d69, 0x9205: 0xe0000d66, 0x9206: 0xe0000d7b, 0x9207: 0xe0000d78,\n\t0x9208: 0xe0000d87, 0x9209: 0xe0000d84, 0x920a: 0xe0000d81, 0x920b: 0xe0000d7e,\n\t0x920c: 0xe0003651, 0x920d: 0xe000364e, 0x920e: 0xe000365d, 0x920f: 0xe000365a,\n\t0x9210: 0xe0000e3d, 0x9211: 0xe0000e39, 0x9212: 0xe0000e35, 0x9213: 0xe0000e31,\n\t0x9214: 0xe0000ea7, 0x9215: 0xe0000ea4, 0x9216: 0xe0000ead, 0x9217: 0xe0000eaa,\n\t0x9218: 0xe0000ed6, 0x9219: 0xe0000ed3, 0x921a: 0xe0000ef4, 0x921b: 0xe0000ef1,\n\t0x921c: 0xe0000efb, 0x921d: 0xe0000ef7, 0x921e: 0xe0000f02, 0x921f: 0xe0000eff,\n\t0x9220: 0xe0000f41, 0x9221: 0xe0000f3e, 0x9222: 0xe0000f53, 0x9223: 0xe0000f50,\n\t0x9224: 0xe0000f26, 0x9225: 0xe0000f22, 0x9226: 0xe0003606, 0x9227: 0xe0003603,\n\t0x9228: 0xe0000f5a, 0x9229: 0xe0000f56, 0x922a: 0xe0000f93, 0x922b: 0xe0000f90,\n\t0x922c: 0xe0000f9f, 0x922d: 0xe0000f9c, 0x922e: 0xe0000fb1, 0x922f: 0xe0000fae,\n\t0x9230: 0xe0000fab, 0x9231: 0xe0000fa8, 0x9232: 0xe0001093, 0x9233: 0xe0001090,\n\t0x9234: 0xe000109f, 0x9235: 0xe000109c, 0x9236: 0xe0001099, 0x9237: 0xe0001096,\n\t0x9238: 0xe0001032, 0x9239: 0xe000102e, 0x923a: 0xe000368d, 0x923b: 0xe000368a,\n\t0x923c: 0xe00010a9, 0x923d: 0xe00010a6, 0x923e: 0xe00010af, 0x923f: 0xe00010ac,\n\t// Block 0x249, offset 0x9240\n\t0x9240: 0xe0003630, 0x9241: 0xe000362d, 0x9242: 0xe000362a, 0x9243: 0xe0003627,\n\t0x9244: 0xe000363f, 0x9245: 0xe000363c, 0x9246: 0xe0003645, 0x9247: 0xe0003642,\n\t0x9248: 0xe000364b, 0x9249: 0xe0003648, 0x924a: 0xe00010fc, 0x924b: 0xe00010f9,\n\t0x924c: 0xe00010f6, 0x924d: 0xe00010f3, 0x924e: 0xe0001123, 0x924f: 0xe0001120,\n\t0x9250: 0xe0003612, 0x9251: 0xe000360f, 0x9252: 0xe000361e, 0x9253: 0xe000361b,\n\t0x9254: 0xe0003624, 0x9255: 0xe0003621, 0x9256: 0xe0000c15, 0x9257: 0xe0000f8d,\n\t0x9258: 0xe0003639, 0x9259: 0xe0001111, 0x925a: 0xf0000404, 0x925b: 0xe0000f70,\n\t0x925c: 0x40300420, 0x925d: 0x40300620, 0x925e: 0xe0000f7f, 0x925f: 0x402c9620,\n\t0x9260: 0xe000099b, 0x9261: 0xe0000998, 0x9262: 0xe0000989, 0x9263: 0xe0000986,\n\t0x9264: 0xe0000928, 0x9265: 0xe0000924, 0x9266: 0xe0000930, 0x9267: 0xe000092c,\n\t0x9268: 0xe0000940, 0x9269: 0xe000093c, 0x926a: 0xe0000938, 0x926b: 0xe0000934,\n\t0x926c: 0xe00009aa, 0x926d: 0xe00009a6, 0x926e: 0xe0000902, 0x926f: 0xe00008fe,\n\t0x9270: 0xe000090a, 0x9271: 0xe0000906, 0x9272: 0xe000091a, 0x9273: 0xe0000916,\n\t0x9274: 0xe0000912, 0x9275: 0xe000090e, 0x9276: 0xe00009a2, 0x9277: 0xe000099e,\n\t0x9278: 0xe0000b6e, 0x9279: 0xe0000b6b, 0x927a: 0xe0000b5c, 0x927b: 0xe0000b59,\n\t0x927c: 0xe0000b26, 0x927d: 0xe0000b23, 0x927e: 0xe0000afb, 0x927f: 0xe0000af7,\n\t// Block 0x24a, offset 0x9280\n\t0x9280: 0xe0000b03, 0x9281: 0xe0000aff, 0x9282: 0xe0000b13, 0x9283: 0xe0000b0f,\n\t0x9284: 0xe0000b0b, 0x9285: 0xe0000b07, 0x9286: 0xe0000b75, 0x9287: 0xe0000b71,\n\t0x9288: 0xe0000c66, 0x9289: 0xe0000c63, 0x928a: 0xe0000c78, 0x928b: 0xe0000c75,\n\t0x928c: 0xe0000e84, 0x928d: 0xe0000e81, 0x928e: 0xe0000e44, 0x928f: 0xe0000e41,\n\t0x9290: 0xe0000dad, 0x9291: 0xe0000da9, 0x9292: 0xe0000db5, 0x9293: 0xe0000db1,\n\t0x9294: 0xe0000dc5, 0x9295: 0xe0000dc1, 0x9296: 0xe0003657, 0x9297: 0xe0003654,\n\t0x9298: 0xe0000e8b, 0x9299: 0xe0000e87, 0x929a: 0xe0000e5d, 0x929b: 0xe0000e59,\n\t0x929c: 0xe0000e65, 0x929d: 0xe0000e61, 0x929e: 0xe0000e75, 0x929f: 0xe0000e71,\n\t0x92a0: 0xe0003669, 0x92a1: 0xe0003666, 0x92a2: 0xe0000e7d, 0x92a3: 0xe0000e79,\n\t0x92a4: 0xe000108d, 0x92a5: 0xe000108a, 0x92a6: 0xe000104d, 0x92a7: 0xe000104a,\n\t0x92a8: 0xe0001066, 0x92a9: 0xe0001062, 0x92aa: 0xe000106e, 0x92ab: 0xe000106a,\n\t0x92ac: 0xe000107e, 0x92ad: 0xe000107a, 0x92ae: 0xe0001076, 0x92af: 0xe0001072,\n\t0x92b0: 0xe0001086, 0x92b1: 0xe0001082, 0x92b2: 0xe0001108, 0x92b3: 0xe0001105,\n\t0x92b4: 0xe0001135, 0x92b5: 0xe0001132, 0x92b6: 0xe000112f, 0x92b7: 0xe000112c,\n\t0x92b8: 0xe000111d, 0x92b9: 0xe000111a, 0x92ba: 0xe0000d0a, 0x92bb: 0xe0000d07,\n\t0x92bc: 0x0030d888, 0x92bd: 0x4030d820, 0x92be: 0x00312088, 0x92bf: 0x40312020,\n\t// Block 0x24b, offset 0x92c0\n\t0x92c0: 0xe0000024, 0x92c1: 0xe0000029, 0x92c2: 0xe000002e, 0x92c3: 0xe0000033,\n\t0x92c4: 0xe0000038, 0x92c5: 0xe000003d, 0x92c6: 0xe0000042, 0x92c7: 0xe0000047,\n\t0x92c8: 0xf0001f04, 0x92c9: 0xf0001f04, 0x92ca: 0xf0001f04, 0x92cb: 0xf0001f04,\n\t0x92cc: 0xf0001f04, 0x92cd: 0xf0001f04, 0x92ce: 0xf0001f04, 0x92cf: 0xf0001f04,\n\t0x92d0: 0xf0001f04, 0x92d1: 0xf0000404, 0x92d2: 0xf0000404, 0x92d3: 0xf0000404,\n\t0x92d4: 0xf0000404, 0x92d5: 0xf0000404, 0x92d6: 0xf0000404, 0x92d7: 0xf0000404,\n\t0x92d8: 0xf0000404, 0x92d9: 0xf0000404, 0x92da: 0xf0000404, 0x92db: 0xf0000404,\n\t0x92dc: 0xf0000404, 0x92dd: 0xf0000404, 0x92de: 0xf0000404, 0x92df: 0xf0000404,\n\t0x92e0: 0xf0000404, 0x92e1: 0xf0000404, 0x92e2: 0xf0000404, 0x92e3: 0xf0000404,\n\t0x92e4: 0xf0000404, 0x92e5: 0xf0000404, 0x92e6: 0xf0000404, 0x92e7: 0xf0000404,\n\t0x92e8: 0xf0000404, 0x92e9: 0xf0000404, 0x92ea: 0xf0000404, 0x92eb: 0xf0000404,\n\t0x92ec: 0xf0000404, 0x92ed: 0xf0000404, 0x92ee: 0xf0000404, 0x92ef: 0xf0000404,\n\t0x92f0: 0xf0000404, 0x92f1: 0xf0000404, 0x92f2: 0xe0002c46, 0x92f3: 0xf0000404,\n\t0x92f4: 0xf0000404, 0x92f5: 0xe0002c56, 0x92f6: 0x002bde8c, 0x92f7: 0x002c0a8c,\n\t0x92f8: 0x002c3a8c, 0x92f9: 0x002c628c, 0x92fa: 0x002c988c, 0x92fb: 0x002d088c,\n\t0x92fc: 0x002d228c, 0x92fd: 0x002d688c, 0x92fe: 0x002d9a8c, 0x92ff: 0x002dcc8c,\n\t// Block 0x24c, offset 0x9300\n\t0x9300: 0xf0001d1c, 0x9301: 0xf0001d1c, 0x9302: 0xf0001d1c, 0x9303: 0xf0001d1c,\n\t0x9304: 0xf0001d1c, 0x9305: 0xf0001d1d, 0x9306: 0xf0001d1d, 0x9307: 0xf0001d1d,\n\t0x9308: 0xe0000a6b, 0x9309: 0xe0000cb4, 0x930a: 0xf0001d1c, 0x930b: 0xf0001d1c,\n\t0x930c: 0xf0001d1c, 0x930d: 0xf0001c1c, 0x930e: 0xf0001c1c, 0x930f: 0xf0001c1c,\n\t0x9310: 0xe00027ce, 0x9311: 0xe0000cb9, 0x9312: 0xe0000d36, 0x9313: 0xe0000be3,\n\t0x9314: 0xe0000fc5, 0x9315: 0xf0001c1c, 0x9316: 0xf0001c1c, 0x9317: 0xf0001c1c,\n\t0x9318: 0xf0001c1c, 0x9319: 0xf0001c1c, 0x931a: 0xf0001c1c, 0x931b: 0xf0001c1c,\n\t0x931c: 0xf0001c1c, 0x931d: 0xf0001c1c, 0x931e: 0xf0001c1c, 0x931f: 0xe0000d3e,\n\t0x9320: 0xe0000a72, 0x9321: 0xf0001c1c, 0x9322: 0xe0000cbd, 0x9323: 0xe0000d42,\n\t0x9324: 0xe0000a76, 0x9325: 0xf0001c1c, 0x9326: 0xe0000cc1, 0x9327: 0xe0000d2d,\n\t0x9328: 0xe0000d31, 0x9329: 0xf0001c1d, 0x932a: 0xe0000cc5, 0x932b: 0xe0000d4a,\n\t0x932c: 0xe0000be7, 0x932d: 0xe0000f0b, 0x932e: 0xe0000f0f, 0x932f: 0xe0000f15,\n\t0x9330: 0xf0001c1c, 0x9331: 0xf0001c1c, 0x9332: 0xf0001c1c, 0x9333: 0xf0001c1c,\n\t0x9334: 0xf0001d1c, 0x9335: 0xf0001d1c, 0x9336: 0xf0001d1c, 0x9337: 0xf0001d1c,\n\t0x9338: 0xf0001d1c, 0x9339: 0xf0001d1d, 0x933a: 0xe00035df, 0x933b: 0xe00035cd,\n\t0x933c: 0xe0003600, 0x933d: 0xe00035af, 0x933e: 0xe0002812, 0x933f: 0xe00035b2,\n\t// Block 0x24d, offset 0x9340\n\t0x9340: 0xf0001d1c, 0x9341: 0xf0001d1d, 0x9342: 0xe00009b7, 0x9343: 0xf0001c1d,\n\t0x9344: 0xf0001c1c, 0x9345: 0xf0001c1c, 0x9346: 0xe0000a66, 0x9347: 0xe0000a7a,\n\t0x9348: 0xf0001d1c, 0x9349: 0xf0001c1d, 0x934a: 0xf0001c1c, 0x934b: 0xf0001d1d,\n\t0x934c: 0xf0001c1c, 0x934d: 0xf0001d1d, 0x934e: 0xf0001d1d, 0x934f: 0xf0001c1c,\n\t0x9350: 0xf0001c1c, 0x9351: 0xf0001c1c, 0x9352: 0xe0000d0d, 0x9353: 0xf0001c1c,\n\t0x9354: 0xf0001c1c, 0x9355: 0xe0000d3a, 0x9356: 0xe0000d46, 0x9357: 0xf0001d1d,\n\t0x9358: 0xe0000eb0, 0x9359: 0xe0000eb8, 0x935a: 0xf0001d1d, 0x935b: 0xf0001c1c,\n\t0x935c: 0xf0001c1d, 0x935d: 0xe00035e2, 0x935e: 0xe00010b2, 0x935f: 0xe00009c8,\n\t0x9360: 0xf0001f04, 0x9361: 0xf0001f04, 0x9362: 0xf0001f04, 0x9363: 0xf0001f04,\n\t0x9364: 0xf0001f04, 0x9365: 0xf0001f04, 0x9366: 0xf0001f04, 0x9367: 0xf0001f04,\n\t0x9368: 0xf0001f04, 0x9369: 0xf0000404, 0x936a: 0xf0000404, 0x936b: 0xf0000404,\n\t0x936c: 0xf0000404, 0x936d: 0xf0000404, 0x936e: 0xf0000404, 0x936f: 0xf0000404,\n\t0x9370: 0xf0000404, 0x9371: 0xf0000404, 0x9372: 0xf0000404, 0x9373: 0xf0000404,\n\t0x9374: 0xf0000404, 0x9375: 0xf0000404, 0x9376: 0xf0000404, 0x9377: 0xf0000404,\n\t0x9378: 0xf0000404, 0x9379: 0xf0000404, 0x937a: 0xf0000404, 0x937b: 0xf0000404,\n\t0x937c: 0xf0000404, 0x937d: 0xf0000404, 0x937e: 0xf0000404, 0x937f: 0xe0000bdf,\n\t// Block 0x24e, offset 0x9380\n\t0x9380: 0xf0001f04, 0x9381: 0xf0001f04, 0x9382: 0xf0001f04, 0x9383: 0xf0001f04,\n\t0x9384: 0xf0001f04, 0x9385: 0xf0001f04, 0x9386: 0xf0001f04, 0x9387: 0xf0001f04,\n\t0x9388: 0xf0001f04, 0x9389: 0xf0001f04, 0x938a: 0xf0001f04,\n\t0x9390: 0xf0000a04, 0x9391: 0xf0000a04, 0x9392: 0xf0000a04, 0x9393: 0xf0000a04,\n\t0x9394: 0xf0000a04, 0x9395: 0xf0000a04, 0x9396: 0xf0000a04, 0x9397: 0xf0000a04,\n\t0x9398: 0xf0000a04, 0x9399: 0xf0000a04, 0x939a: 0xf0000a04, 0x939b: 0xf0000a04,\n\t0x939c: 0xf0000a04, 0x939d: 0xf0000a04, 0x939e: 0xf0000a04, 0x939f: 0xf0000a04,\n\t0x93a0: 0xf0000a04, 0x93a1: 0xf0000a04, 0x93a2: 0xf0000a04, 0x93a3: 0xf0000a04,\n\t0x93a4: 0xf0000a04, 0x93a5: 0xf0000a04, 0x93a6: 0xe0002c4a, 0x93a7: 0xf0000a04,\n\t0x93a8: 0xf0000a04, 0x93a9: 0xe0002c5a, 0x93aa: 0xf0000a04, 0x93ab: 0x002c3a8c,\n\t0x93ac: 0x002f7a8c, 0x93ad: 0xf0000c0c, 0x93ae: 0xe00035e8,\n\t0x93b0: 0x002bde9d, 0x93b1: 0x002c0a9d, 0x93b2: 0x002c3a9d, 0x93b3: 0x002c629d,\n\t0x93b4: 0x002c989d, 0x93b5: 0x002d089d, 0x93b6: 0x002d229d, 0x93b7: 0x002d689d,\n\t0x93b8: 0x002d9a9d, 0x93b9: 0x002dcc9d, 0x93ba: 0x002dfe9d, 0x93bb: 0x002e229d,\n\t0x93bc: 0x002e829d, 0x93bd: 0x002e9e9d, 0x93be: 0x002ee29d, 0x93bf: 0x002f2c9d,\n\t// Block 0x24f, offset 0x93c0\n\t0x93c0: 0x002f569d, 0x93c1: 0x002f7a9d, 0x93c2: 0x002fe69d, 0x93c3: 0x00302c9d,\n\t0x93c4: 0x00306c9d, 0x93c5: 0x0030be9d, 0x93c6: 0x0030e29d, 0x93c7: 0x0030f69d,\n\t0x93c8: 0x0031009d, 0x93c9: 0x00312a9d, 0x93ca: 0xf0001d1d, 0x93cb: 0xf0001d1d,\n\t0x93cc: 0xf0001d1d, 0x93cd: 0xf0001d1d, 0x93ce: 0xe0000ebc, 0x93cf: 0xe00035e5,\n\t0x93d0: 0x002bde8c, 0x93d1: 0x002c0a8c, 0x93d2: 0x002c3a8c, 0x93d3: 0x002c628c,\n\t0x93d4: 0x002c988c, 0x93d5: 0x002d088c, 0x93d6: 0x002d228c, 0x93d7: 0x002d688c,\n\t0x93d8: 0x002d9a8c, 0x93d9: 0x002dcc8c, 0x93da: 0x002dfe8c, 0x93db: 0x002e228c,\n\t0x93dc: 0x002e828c, 0x93dd: 0x002e9e8c, 0x93de: 0x002ee28c, 0x93df: 0x002f2c8c,\n\t0x93e0: 0x002f568c, 0x93e1: 0x002f7a8c, 0x93e2: 0x002fe68c, 0x93e3: 0x00302c8c,\n\t0x93e4: 0x00306c8c, 0x93e5: 0x0030be8c, 0x93e6: 0x0030e28c, 0x93e7: 0x0030f68c,\n\t0x93e8: 0x0031008c, 0x93e9: 0x00312a8c, 0x93ea: 0xf0001414, 0x93eb: 0xf0001414,\n\t0x93f0: 0x002bde9d, 0x93f1: 0x002c0a9d, 0x93f2: 0x002c3a9d, 0x93f3: 0x002c629d,\n\t0x93f4: 0x002c989d, 0x93f5: 0x002d089d, 0x93f6: 0x002d229d, 0x93f7: 0x002d689d,\n\t0x93f8: 0x002d9a9d, 0x93f9: 0x002dcc9d, 0x93fa: 0x002dfe9d, 0x93fb: 0x002e229d,\n\t0x93fc: 0x002e829d, 0x93fd: 0x002e9e9d, 0x93fe: 0x002ee29d, 0x93ff: 0x002f2c9d,\n\t// Block 0x250, offset 0x9400\n\t0x9400: 0xa0000000, 0x9401: 0xa0000000, 0x9402: 0xa0000000, 0x9403: 0xa0000000,\n\t0x9404: 0xa0000000, 0x9406: 0x40096620, 0x9407: 0x40096a20,\n\t0x9408: 0x40070820, 0x9409: 0x4004f220, 0x940a: 0x4004f620, 0x940b: 0x4027e620,\n\t0x940c: 0x40024820, 0x940d: 0x40024a20, 0x940e: 0x40070e20, 0x940f: 0x40071020,\n\t0x9410: 0xae600000, 0x9411: 0xae600000, 0x9412: 0xae600000, 0x9413: 0xae600000,\n\t0x9414: 0xae600000, 0x9415: 0xae600000, 0x9416: 0xae600000, 0x9417: 0xae600000,\n\t0x9418: 0xa1e00000, 0x9419: 0xa1f00000, 0x941a: 0xa2000000, 0x941b: 0x40026420,\n\t0x941e: 0x40027020, 0x941f: 0x4002cc20,\n\t0x9420: 0x403aa220, 0x9421: 0x40393a20, 0x9422: 0x40393620, 0x9423: 0x40393a21,\n\t0x9424: 0x40393a25, 0x9425: 0x40393a23, 0x9426: 0x00393b44, 0x9427: 0xc55e0151,\n\t0x9428: 0x40393c20, 0x9429: 0x403a8823, 0x942a: 0x40395620, 0x942b: 0x40395820,\n\t0x942c: 0x40396420, 0x942d: 0x40397220, 0x942e: 0x40397420, 0x942f: 0x40398820,\n\t0x9430: 0x40398a20, 0x9431: 0x4039a420, 0x9432: 0x4039a620, 0x9433: 0x4039c620,\n\t0x9434: 0x4039c820, 0x9435: 0x4039dc20, 0x9436: 0x4039de20, 0x9437: 0x4039e620,\n\t0x9438: 0x4039e820, 0x9439: 0x4039ee20, 0x943a: 0x4039f020, 0x943b: 0x403a3820,\n\t0x943c: 0x403a3a20, 0x943d: 0x403a9c20, 0x943e: 0x403a9e20, 0x943f: 0x403aa020,\n\t// Block 0x251, offset 0x9440\n\t0x9440: 0xa0000000, 0x9441: 0x4039fc20, 0x9442: 0x403a1220, 0x9443: 0x403a1c23,\n\t0x9444: 0x403a4020, 0x9445: 0x403a4e20, 0x9446: 0x403a5620, 0x9447: 0x403a8820,\n\t0x9448: 0xc5620171, 0x9449: 0xc5660171, 0x944a: 0xc5680171, 0x944b: 0xa000b002,\n\t0x944c: 0xa000b202, 0x944d: 0xa000b102, 0x944e: 0xa1e0ad02, 0x944f: 0xa000af02,\n\t0x9450: 0xa000ae02, 0x9451: 0xa210ba02, 0x9452: 0xa220bc02, 0x9453: 0xae60bd02,\n\t0x9454: 0xae60be02, 0x9455: 0xadc0bf02, 0x9456: 0xadc0c102, 0x9457: 0xae60c202,\n\t0x9458: 0xae60c302, 0x9459: 0xae60c402, 0x945a: 0xae60c502, 0x945b: 0xae60c602,\n\t0x945c: 0xadc0c702, 0x945d: 0xae60c802, 0x945e: 0xae60c902, 0x945f: 0xadc0c002,\n\t0x9460: 0xe000015e, 0x9461: 0xe00001e6, 0x9462: 0xe0000301, 0x9463: 0xe00003db,\n\t0x9464: 0xe00004b6, 0x9465: 0xe0000580, 0x9466: 0xe000064b, 0x9467: 0xe00006f3,\n\t0x9468: 0xe000079f, 0x9469: 0xe0000844, 0x946a: 0x4004ee20, 0x946b: 0x40024c20,\n\t0x946c: 0x40024e20, 0x946d: 0x4004de20, 0x946e: 0x40393a20, 0x946f: 0x403a1020,\n\t0x9470: 0xa230d102, 0x9471: 0x40393821, 0x9472: 0x40393a22, 0x9473: 0x40393a24,\n\t0x9474: 0x00391c84, 0x9475: 0xf0000404, 0x9476: 0xf0000404, 0x9477: 0xf0000404,\n\t0x9478: 0xe0003780, 0x9479: 0x40395a20, 0x947a: 0x40395c20, 0x947b: 0x40393e20,\n\t0x947c: 0x40395e20, 0x947d: 0x40396020, 0x947e: 0x40394020, 0x947f: 0x40396220,\n\t// Block 0x252, offset 0x9480\n\t0x9480: 0x40394220, 0x9481: 0x40397620, 0x9482: 0x40397820, 0x9483: 0x40396620,\n\t0x9484: 0x40396820, 0x9485: 0x40397a20, 0x9486: 0x40396a20, 0x9487: 0x40396e20,\n\t0x9488: 0x40398c20, 0x9489: 0x40398e20, 0x948a: 0x40399020, 0x948b: 0x40399220,\n\t0x948c: 0x40399420, 0x948d: 0x40399620, 0x948e: 0x40399820, 0x948f: 0x40399a20,\n\t0x9490: 0x40399c20, 0x9491: 0x4039a820, 0x9492: 0x4039aa20, 0x9493: 0x4039ac20,\n\t0x9494: 0x4039ae20, 0x9495: 0x4039b020, 0x9496: 0x4039b220, 0x9497: 0x4039b420,\n\t0x9498: 0x4039b620, 0x9499: 0x4039b820, 0x949a: 0x4039ca20, 0x949b: 0x4039cc20,\n\t0x949c: 0x4039ce20, 0x949d: 0x4039e020, 0x949e: 0x4039e220, 0x949f: 0x4039ea20,\n\t0x94a0: 0x4039f220, 0x94a1: 0x4039fe20, 0x94a2: 0x403a0020, 0x94a3: 0x403a0220,\n\t0x94a4: 0x403a0420, 0x94a5: 0x403a0820, 0x94a6: 0x403a0a20, 0x94a7: 0x403a1420,\n\t0x94a8: 0x403a1620, 0x94a9: 0x403a1c20, 0x94aa: 0x403a1c21, 0x94ab: 0x403a1c22,\n\t0x94ac: 0x403a1c24, 0x94ad: 0x403a1c25, 0x94ae: 0x403a1c26, 0x94af: 0x403a2a20,\n\t0x94b0: 0x403a2c20, 0x94b1: 0x403a2e20, 0x94b2: 0x403a3020, 0x94b3: 0x403a3220,\n\t0x94b4: 0x403a3420, 0x94b5: 0x403a4220, 0x94b6: 0x403a4420, 0x94b7: 0x403a4620,\n\t0x94b8: 0x403a4820, 0x94b9: 0x403a6020, 0x94ba: 0x403a5820, 0x94bb: 0x403a5a20,\n\t0x94bc: 0x403a5c20, 0x94bd: 0x403a5e20, 0x94be: 0x403a8826, 0x94bf: 0x40396c20,\n\t// Block 0x253, offset 0x94c0\n\t0x94c0: 0x403a8825, 0x94c1: 0x403a8822, 0x94c2: 0xe0003777, 0x94c3: 0x403a8824,\n\t0x94c4: 0x403a7620, 0x94c5: 0x403a7820, 0x94c6: 0x403a7a20, 0x94c7: 0x403a7c20,\n\t0x94c8: 0x403a7e20, 0x94c9: 0x403a8020, 0x94ca: 0x403a8220, 0x94cb: 0x403a8420,\n\t0x94cc: 0xc5640171, 0x94cd: 0x403a9226, 0x94ce: 0x403a9227, 0x94cf: 0x403a8620,\n\t0x94d0: 0x403a9224, 0x94d1: 0x403a9225, 0x94d2: 0x403a9222, 0x94d3: 0xe00037b6,\n\t0x94d4: 0x4002e820, 0x94d5: 0xc56a0171, 0x94d6: 0xae600000, 0x94d7: 0xae600000,\n\t0x94d8: 0xae600000, 0x94d9: 0xae600000, 0x94da: 0xae600000, 0x94db: 0xae600000,\n\t0x94dc: 0xae600000, 0x94dd: 0xa0000000, 0x94de: 0x40071220, 0x94df: 0xae600000,\n\t0x94e0: 0xae600000, 0x94e1: 0xae600000, 0x94e2: 0xae600000, 0x94e3: 0xadc00000,\n\t0x94e4: 0xae600000, 0x94e5: 0x003a7484, 0x94e6: 0x003a9084, 0x94e7: 0xae600000,\n\t0x94e8: 0xae600000, 0x94e9: 0x40071420, 0x94ea: 0xadc00000, 0x94eb: 0xae600000,\n\t0x94ec: 0xae600000, 0x94ed: 0xadc00000, 0x94ee: 0x40399e20, 0x94ef: 0x4039ba20,\n\t0x94f0: 0xe0000161, 0x94f1: 0xe00001e9, 0x94f2: 0xe0000304, 0x94f3: 0xe00003de,\n\t0x94f4: 0xe00004b9, 0x94f5: 0xe0000583, 0x94f6: 0xe000064e, 0x94f7: 0xe00006f6,\n\t0x94f8: 0xe00007a2, 0x94f9: 0xe0000847, 0x94fa: 0x4039d020, 0x94fb: 0x4039e420,\n\t0x94fc: 0x4039f420, 0x94fd: 0xe0001553, 0x94fe: 0xe0001779, 0x94ff: 0x403a7020,\n\t// Block 0x254, offset 0x9500\n\t0x9500: 0x00396e97, 0x9501: 0x00396e98, 0x9502: 0x0039969a, 0x9503: 0x00399699,\n\t0x9504: 0x0039949a, 0x9505: 0x00399499, 0x9506: 0x0039989a, 0x9507: 0x00399899,\n\t0x9508: 0x00398c9a, 0x9509: 0x00398c99, 0x950a: 0x0039b69a, 0x950b: 0x0039b699,\n\t0x950c: 0x0039a89a, 0x950d: 0x0039a899, 0x950e: 0x003a1c9a, 0x950f: 0x003a1c99,\n\t0x9510: 0x003a1c97, 0x9511: 0x003a1c98, 0x9512: 0x003a2a9a, 0x9513: 0x003a2a99,\n\t0x9514: 0x003a2a97, 0x9515: 0x003a2a98, 0x9516: 0x003a329a, 0x9517: 0x003a3299,\n\t0x9518: 0x003a3297, 0x9519: 0x003a3298, 0x951a: 0x003a2e9a, 0x951b: 0x003a2e99,\n\t0x951c: 0x003a2e97, 0x951d: 0x003a2e98, 0x951e: 0x003a589a, 0x951f: 0x003a5899,\n\t0x9520: 0x003a5a9a, 0x9521: 0x003a5a99, 0x9522: 0x003a5a97, 0x9523: 0x003a5a98,\n\t0x9524: 0xe0003774, 0x9525: 0xe0003771, 0x9526: 0x003a6c9a, 0x9527: 0x003a6c99,\n\t0x9528: 0x003a6c97, 0x9529: 0x003a6c98, 0x952a: 0x003a6a9a, 0x952b: 0x003a6a99,\n\t0x952c: 0x003a6a97, 0x952d: 0x003a6a98, 0x952e: 0x003aaa9a, 0x952f: 0x003aaa99,\n\t0x9530: 0xe00037bc, 0x9531: 0xe00037b9, 0x9532: 0x40071820, 0x9533: 0x40071a20,\n\t0x9534: 0x40071c20, 0x9535: 0x40071e20, 0x9536: 0x40072020, 0x9537: 0x40072220,\n\t0x9538: 0x40072420, 0x9539: 0x40072620, 0x953a: 0x40072820, 0x953b: 0x40072a20,\n\t0x953c: 0x40072c20, 0x953d: 0x40072e20, 0x953e: 0x40073020, 0x953f: 0x40073220,\n\t// Block 0x255, offset 0x9540\n\t0x9540: 0xe000155f, 0x9541: 0xe0001565, 0x9542: 0xe000157a, 0x9543: 0xe00015b0,\n\t0x9544: 0xe00015b6, 0x9545: 0xf0001a1a, 0x9546: 0xf0001a1a, 0x9547: 0xf0001a1a,\n\t0x9548: 0xf0001a1a, 0x9549: 0xe0002894, 0x954a: 0xe00036a5, 0x954b: 0xf0001a1a,\n\t0x954c: 0xf0001a1a, 0x954d: 0xf0001a1a, 0x954e: 0xf0001a1a, 0x954f: 0xe000289a,\n\t0x9550: 0xe00036b1, 0x9551: 0xf0001a1a, 0x9552: 0xf0001a1a, 0x9553: 0xe00028a0,\n\t0x9554: 0xe00036ba, 0x9555: 0xf0001a1a, 0x9556: 0xf0001a1a, 0x9557: 0xf0001a1a,\n\t0x9558: 0xf0001a1a, 0x9559: 0xf0001a1a, 0x955a: 0xf0001a1a, 0x955b: 0xf0001a1a,\n\t0x955c: 0xf0001a1a, 0x955d: 0xf0001a1a, 0x955e: 0xf0001a1a, 0x955f: 0xf0001a1a,\n\t0x9560: 0xf0001a1a, 0x9561: 0xf0001a1a, 0x9562: 0xf0001a1a, 0x9563: 0xf0001a1a,\n\t0x9564: 0xf0001a1a, 0x9565: 0xf0001a1a, 0x9566: 0xf0001a1a, 0x9567: 0xf0001a1a,\n\t0x9568: 0xf0001a1a, 0x9569: 0xf0001a1a, 0x956a: 0xf0001a1a, 0x956b: 0xf0001a1a,\n\t0x956c: 0xf0001a1a, 0x956d: 0xf0001a1a, 0x956e: 0xf0001a1a, 0x956f: 0xf0001a1a,\n\t0x9570: 0xf0001a1a, 0x9571: 0xe00028e2, 0x9572: 0xe0003708, 0x9573: 0xf0001a1a,\n\t0x9574: 0xf0001a1a, 0x9575: 0xe00028e8, 0x9576: 0xe000370e, 0x9577: 0xe0003714,\n\t0x9578: 0xe000371a, 0x9579: 0xe0003720, 0x957a: 0xe0003726, 0x957b: 0xe0003732,\n\t0x957c: 0xe000373e, 0x957d: 0xe00028ee, 0x957e: 0xe0003744, 0x957f: 0xf0001a1a,\n\t// Block 0x256, offset 0x9580\n\t0x9580: 0xf0001a1a, 0x9581: 0xf0001a1a, 0x9582: 0xf0001a1a, 0x9583: 0xe00028f4,\n\t0x9584: 0xe000374d, 0x9585: 0xf0001a1a, 0x9586: 0xf0001a1a, 0x9587: 0xf0001a1a,\n\t0x9588: 0xf0001a1a, 0x9589: 0xe00028f7, 0x958a: 0xe0003750, 0x958b: 0xf0001a1a,\n\t0x958c: 0xf0001a1a, 0x958d: 0xf0001a1a, 0x958e: 0xf0001a1a, 0x958f: 0xe00028fd,\n\t0x9590: 0xe000375c, 0x9591: 0xe0003765, 0x9592: 0xe000376b, 0x9593: 0xe0002900,\n\t0x9594: 0xe000376e, 0x9595: 0xe0003786, 0x9596: 0xe000378c, 0x9597: 0xe0003792,\n\t0x9598: 0xe00037a4, 0x9599: 0xe0002906, 0x959a: 0xe00037b3, 0x959b: 0xf0001a1a,\n\t0x959c: 0xf0001a1a, 0x959d: 0xe000377d, 0x959e: 0xe0000003, 0x959f: 0xe0000006,\n\t0x95a0: 0xe0000009, 0x95a1: 0xe000000c, 0x95a2: 0xe000000f, 0x95a3: 0xe0000012,\n\t0x95a4: 0xe000156b, 0x95a5: 0xe000156e, 0x95a6: 0xe0001577, 0x95a7: 0xe000157d,\n\t0x95a8: 0xe00015aa, 0x95a9: 0xe00015b3, 0x95aa: 0xf0001919, 0x95ab: 0xf0001919,\n\t0x95ac: 0xf0001919, 0x95ad: 0xf0001919, 0x95ae: 0xe0002891, 0x95af: 0xe00036a2,\n\t0x95b0: 0xf0001919, 0x95b1: 0xf0001919, 0x95b2: 0xf0001919, 0x95b3: 0xf0001919,\n\t0x95b4: 0xe0002897, 0x95b5: 0xe00036ae, 0x95b6: 0xf0001919, 0x95b7: 0xf0001919,\n\t0x95b8: 0xf0001919, 0x95b9: 0xf0001919, 0x95ba: 0xe000289d, 0x95bb: 0xe00036b7,\n\t0x95bc: 0xe00028df, 0x95bd: 0xe0003705, 0x95be: 0xe00028e5, 0x95bf: 0xe000370b,\n\t// Block 0x257, offset 0x95c0\n\t0x95c0: 0xe0003711, 0x95c1: 0xe000372f, 0x95c2: 0xe000373b, 0x95c3: 0xe00028eb,\n\t0x95c4: 0xe0003741, 0x95c5: 0xf0001919, 0x95c6: 0xe00028f1, 0x95c7: 0xe000374a,\n\t0x95c8: 0xf0001919, 0x95c9: 0xf0001919, 0x95ca: 0xf0001919, 0x95cb: 0xf0001919,\n\t0x95cc: 0xf0001919, 0x95cd: 0xf0001919, 0x95ce: 0xe00028fa, 0x95cf: 0xe0003759,\n\t0x95d0: 0xe000377a, 0x95d1: 0xe0003795, 0x95d2: 0xe0003798, 0x95d3: 0xe00037a1,\n\t0x95d4: 0xe00037a7, 0x95d5: 0xe0002903, 0x95d6: 0xe00037b0, 0x95d7: 0xe000155c,\n\t0x95d8: 0xe0001562, 0x95d9: 0xe0001568, 0x95da: 0xe0001571, 0x95db: 0xe0001580,\n\t0x95dc: 0xf0001717, 0x95dd: 0xf0001717, 0x95de: 0xf0001717, 0x95df: 0xf0001717,\n\t0x95e0: 0xe000369c, 0x95e1: 0xf0001717, 0x95e2: 0xf0001717, 0x95e3: 0xf0001717,\n\t0x95e4: 0xf0001717, 0x95e5: 0xe00036a8, 0x95e6: 0xf0001717, 0x95e7: 0xf0001717,\n\t0x95e8: 0xf0001717, 0x95e9: 0xf0001717, 0x95ea: 0xf0001717, 0x95eb: 0xf0001717,\n\t0x95ec: 0xf0001717, 0x95ed: 0xf0001717, 0x95ee: 0xf0001717, 0x95ef: 0xf0001717,\n\t0x95f0: 0xf0001717, 0x95f1: 0xf0001717, 0x95f2: 0xf0001717, 0x95f3: 0xf0001717,\n\t0x95f4: 0xf0001717, 0x95f5: 0xf0001717, 0x95f6: 0xf0001717, 0x95f7: 0xf0001717,\n\t0x95f8: 0xf0001717, 0x95f9: 0xf0001717, 0x95fa: 0xf0001717, 0x95fb: 0xf0001717,\n\t0x95fc: 0xf0001717, 0x95fd: 0xf0001717, 0x95fe: 0xf0001717, 0x95ff: 0xf0001717,\n\t// Block 0x258, offset 0x9600\n\t0x9600: 0xf0001717, 0x9601: 0xf0001717, 0x9602: 0xf0001717, 0x9603: 0xf0001717,\n\t0x9604: 0xe0003717, 0x9605: 0xe000371d, 0x9606: 0xe0003723, 0x9607: 0xe0003729,\n\t0x9608: 0xe0003735, 0x9609: 0xf0001717, 0x960a: 0xf0001717, 0x960b: 0xf0001717,\n\t0x960c: 0xf0001717, 0x960d: 0xe0003747, 0x960e: 0xf0001717, 0x960f: 0xf0001717,\n\t0x9610: 0xf0001717, 0x9611: 0xf0001717, 0x9612: 0xf0001717, 0x9613: 0xf0001717,\n\t0x9614: 0xf0001717, 0x9615: 0xf0001717, 0x9616: 0xe0003753, 0x9617: 0xe0003762,\n\t0x9618: 0xe0003768, 0x9619: 0xe000375f, 0x961a: 0xe0003783, 0x961b: 0xe0003789,\n\t0x961c: 0xe000378f, 0x961d: 0xe000379b, 0x961e: 0xe00037aa, 0x961f: 0xe0001574,\n\t0x9620: 0xe0001583, 0x9621: 0xf0001818, 0x9622: 0xe000369f, 0x9623: 0xf0001818,\n\t0x9624: 0xe00036ab, 0x9625: 0xf0001818, 0x9626: 0xe00036b4, 0x9627: 0xf0001818,\n\t0x9628: 0xe00036d2, 0x9629: 0xf0001818, 0x962a: 0xe00036de, 0x962b: 0xe000372c,\n\t0x962c: 0xe0003738, 0x962d: 0xf0001818, 0x962e: 0xf0001818, 0x962f: 0xe0003756,\n\t0x9630: 0xe000379e, 0x9631: 0xe00037ad, 0x9632: 0xf0001818, 0x9633: 0xe0003690,\n\t0x9634: 0xe0003693, 0x9635: 0xe00028d0, 0x9636: 0xe00036f6, 0x9637: 0xe00028d6,\n\t0x9638: 0xe00036fc, 0x9639: 0xe00028dc, 0x963a: 0xe0003702, 0x963b: 0xe00028b8,\n\t0x963c: 0xe00036d8, 0x963d: 0xe00028be, 0x963e: 0xe00036e4, 0x963f: 0xe00028ac,\n\t// Block 0x259, offset 0x9640\n\t0x9640: 0xe00036c6, 0x9641: 0xe00028a6, 0x9642: 0xe00036c0, 0x9643: 0xe00028b2,\n\t0x9644: 0xe00036cc, 0x9645: 0xe00028c4, 0x9646: 0xe00036ea, 0x9647: 0xe00028ca,\n\t0x9648: 0xe00036f0, 0x9649: 0xf0001a1a, 0x964a: 0xf0001a1a, 0x964b: 0xf0001a1a,\n\t0x964c: 0xf0001a1a, 0x964d: 0xf0001a1a, 0x964e: 0xf0001a1a, 0x964f: 0xf0001a1a,\n\t0x9650: 0xf0001a1a, 0x9651: 0xe00028cd, 0x9652: 0xe00036f3, 0x9653: 0xe00028d3,\n\t0x9654: 0xe00036f9, 0x9655: 0xe00028d9, 0x9656: 0xe00036ff, 0x9657: 0xe00028b5,\n\t0x9658: 0xe00036d5, 0x9659: 0xe00028bb, 0x965a: 0xe00036e1, 0x965b: 0xe00028a9,\n\t0x965c: 0xe00036c3, 0x965d: 0xe00028a3, 0x965e: 0xe00036bd, 0x965f: 0xe00028af,\n\t0x9660: 0xe00036c9, 0x9661: 0xe00028c1, 0x9662: 0xe00036e7, 0x9663: 0xe00028c7,\n\t0x9664: 0xe00036ed, 0x9665: 0xf0001919, 0x9666: 0xf0001919, 0x9667: 0xf0001919,\n\t0x9668: 0xf0001919, 0x9669: 0xf0001919, 0x966a: 0xf0001919, 0x966b: 0xf0001919,\n\t0x966c: 0xf0001919, 0x966d: 0xf0001717, 0x966e: 0xf0001717, 0x966f: 0xf0001717,\n\t0x9670: 0xf0001717, 0x9671: 0xe00036cf, 0x9672: 0xe00036db, 0x9673: 0xf0001717,\n\t0x9674: 0xf0001818, 0x9675: 0xf0001818, 0x9676: 0xf0001818, 0x9677: 0xf0001818,\n\t0x9678: 0xf0001818, 0x9679: 0xf0001818, 0x967a: 0xf0001818, 0x967b: 0xf0001818,\n\t0x967c: 0xe0003696, 0x967d: 0xe0003699, 0x967e: 0x4004c020, 0x967f: 0x4004c220,\n\t// Block 0x25a, offset 0x9680\n\t0x9680: 0xa0000000, 0x9681: 0xa0000000, 0x9682: 0xa0000000, 0x9683: 0xa0000000,\n\t0x9684: 0xa0000000, 0x9685: 0xa0000000, 0x9686: 0xa0000000, 0x9687: 0xa0000000,\n\t0x9688: 0xa0000000, 0x9689: 0x40020020, 0x968a: 0x40020220, 0x968b: 0x40020420,\n\t0x968c: 0x40020620, 0x968d: 0x40020820, 0x968e: 0xa0000000, 0x968f: 0xa0000000,\n\t0x9690: 0xa0000000, 0x9691: 0xa0000000, 0x9692: 0xa0000000, 0x9693: 0xa0000000,\n\t0x9694: 0xa0000000, 0x9695: 0xa0000000, 0x9696: 0xa0000000, 0x9697: 0xa0000000,\n\t0x9698: 0xa0000000, 0x9699: 0xa0000000, 0x969a: 0xa0000000, 0x969b: 0xa0000000,\n\t0x969c: 0xa0000000, 0x969d: 0xa0000000, 0x969e: 0xa0000000, 0x969f: 0xa0000000,\n\t0x96a0: 0x40021220, 0x96a1: 0x4002ba20, 0x96a2: 0x4003e020, 0x96a3: 0x4004ea20,\n\t0x96a4: 0x4027de20, 0x96a5: 0x4004ec20, 0x96a6: 0x4004e620, 0x96a7: 0x4003d220,\n\t0x96a8: 0x4003f420, 0x96a9: 0x4003f620, 0x96aa: 0x4004d820, 0x96ab: 0x40093820,\n\t0x96ac: 0x40024020, 0x96ad: 0x40021a20, 0x96ae: 0x4002e420, 0x96af: 0x4004e220,\n\t0x96b0: 0x4029cc20, 0x96b1: 0x4029ce20, 0x96b2: 0x4029d020, 0x96b3: 0x4029d220,\n\t0x96b4: 0x4029d420, 0x96b5: 0x4029d620, 0x96b6: 0x4029d820, 0x96b7: 0x4029da20,\n\t0x96b8: 0x4029dc20, 0x96b9: 0x4029de20, 0x96ba: 0x40026c20, 0x96bb: 0x40026220,\n\t0x96bc: 0x40094020, 0x96bd: 0x40094220, 0x96be: 0x40094420, 0x96bf: 0x4002c420,\n\t// Block 0x25b, offset 0x96c0\n\t0x96c0: 0x4004d620, 0x96c1: 0xc57327b1, 0x96c2: 0x002c0a88, 0x96c3: 0x002c3a88,\n\t0x96c4: 0x002c6288, 0x96c5: 0x002c9888, 0x96c6: 0x002d0888, 0x96c7: 0x002d2288,\n\t0x96c8: 0x002d6888, 0x96c9: 0x002d9a88, 0x96ca: 0x002dcc88, 0x96cb: 0x002dfe88,\n\t0x96cc: 0xc0030002, 0x96cd: 0x002e8288, 0x96ce: 0x002e9e88, 0x96cf: 0xc5780071,\n\t0x96d0: 0x002f2c88, 0x96d1: 0x002f5688, 0x96d2: 0x002f7a88, 0x96d3: 0x002fe688,\n\t0x96d4: 0x00302c88, 0x96d5: 0xc56e0071, 0x96d6: 0x0030be88, 0x96d7: 0x0030e288,\n\t0x96d8: 0x0030f688, 0x96d9: 0x00310088, 0x96da: 0x00312a88, 0x96db: 0x4003f820,\n\t0x96dc: 0x4004e420, 0x96dd: 0x4003fa20, 0x96de: 0x40062420, 0x96df: 0x40021620,\n\t0x96e0: 0x40061e20, 0x96e1: 0xc57027b1, 0x96e2: 0x402c0a20, 0x96e3: 0x402c3a20,\n\t0x96e4: 0x402c6220, 0x96e5: 0x402c9820, 0x96e6: 0x402d0820, 0x96e7: 0x402d2220,\n\t0x96e8: 0x402d6820, 0x96e9: 0x402d9a20, 0x96ea: 0x402dcc20, 0x96eb: 0x402dfe20,\n\t0x96ec: 0xc0000002, 0x96ed: 0x402e8220, 0x96ee: 0x402e9e20, 0x96ef: 0xc5760071,\n\t0x96f0: 0x402f2c20, 0x96f1: 0x402f5620, 0x96f2: 0x402f7a20, 0x96f3: 0x402fe620,\n\t0x96f4: 0x40302c20, 0x96f5: 0xc56c0071, 0x96f6: 0x4030be20, 0x96f7: 0x4030e220,\n\t0x96f8: 0x4030f620, 0x96f9: 0x40310020, 0x96fa: 0x40312a20, 0x96fb: 0x4003fc20,\n\t0x96fc: 0x40094820, 0x96fd: 0x4003fe20, 0x96fe: 0x40094c20, 0x96ff: 0xa0000000,\n\t// Block 0x25c, offset 0x9700\n\t0x9700: 0xe00008f5, 0x9701: 0xe00008ef, 0x9702: 0xe0000921, 0x9703: 0xe0000969,\n\t0x9704: 0x00320e83, 0x9705: 0x00320c83, 0x9706: 0x00320ea3, 0x9707: 0xe0000a53,\n\t0x9708: 0xe0000ae8, 0x9709: 0xe0000ae2, 0x970a: 0xe0000af4, 0x970b: 0xe0000b20,\n\t0x970c: 0xe0000c2b, 0x970d: 0xe0000c25, 0x970e: 0xe0000c37, 0x970f: 0xe0000c43,\n\t0x9710: 0xe0000ab3, 0x9711: 0xe0000d63, 0x9712: 0xe0000d9a, 0x9713: 0xe0000d94,\n\t0x9714: 0xe0000da6, 0x9715: 0xe0000de6, 0x9716: 0x00321083, 0x9717: 0x40093e20,\n\t0x9718: 0x003210a3, 0x9719: 0xe0000fe1, 0x971a: 0xe0000fdb, 0x971b: 0xe0000fed,\n\t0x971c: 0x003100a3, 0x971d: 0xe0001102, 0x971e: 0x00318888, 0x971f: 0xe0000f7b,\n\t0x9720: 0xe00008f2, 0x9721: 0xe00008ec, 0x9722: 0xe000091e, 0x9723: 0xe0000966,\n\t0x9724: 0x40320e20, 0x9725: 0x40320c20, 0x9726: 0x40320e21, 0x9727: 0xe0000a4d,\n\t0x9728: 0xe0000ae5, 0x9729: 0xe0000adf, 0x972a: 0xe0000af1, 0x972b: 0xe0000b1d,\n\t0x972c: 0xe0000c28, 0x972d: 0xe0000c22, 0x972e: 0xe0000c34, 0x972f: 0xe0000c40,\n\t0x9730: 0xe0000aad, 0x9731: 0xe0000d60, 0x9732: 0xe0000d97, 0x9733: 0xe0000d91,\n\t0x9734: 0xe0000da3, 0x9735: 0xe0000de3, 0x9736: 0x40321020, 0x9737: 0x40093c20,\n\t0x9738: 0x40321021, 0x9739: 0xe0000fde, 0x973a: 0xe0000fd8, 0x973b: 0xe0000fea,\n\t0x973c: 0x40310021, 0x973d: 0xe00010ff, 0x973e: 0x40318820, 0x973f: 0xe0001114,\n\t// Block 0x25d, offset 0x9740\n\t0x9740: 0xe0000983, 0x9741: 0xe0000980, 0x9742: 0xe00008fb, 0x9743: 0xe00008f8,\n\t0x9744: 0xe000097d, 0x9745: 0xe000097a, 0x9746: 0xe0000a38, 0x9747: 0xe0000a35,\n\t0x9748: 0xe0000a3e, 0x9749: 0xe0000a3b, 0x974a: 0xe0000a4a, 0x974b: 0xe0000a47,\n\t0x974c: 0xe0000a44, 0x974d: 0xe0000a41, 0x974e: 0xe0000a86, 0x974f: 0xe0000a83,\n\t0x9750: 0xe00037c2, 0x9751: 0xe00037bf, 0x9752: 0xe0000b46, 0x9753: 0xe0000b43,\n\t0x9754: 0xe0000aee, 0x9755: 0xe0000aeb, 0x9756: 0xe0000b2c, 0x9757: 0xe0000b29,\n\t0x9758: 0xe0000b40, 0x9759: 0xe0000b3d, 0x975a: 0xe0000b1a, 0x975b: 0xe0000b17,\n\t0x975c: 0xe0000bb8, 0x975d: 0xe0000bb5, 0x975e: 0xe0000bb2, 0x975f: 0xe0000baf,\n\t0x9760: 0xe0000bc4, 0x9761: 0xe0000bc1, 0x9762: 0xe0000bca, 0x9763: 0xe0000bc7,\n\t0x9764: 0xe0000bee, 0x9765: 0xe0000beb, 0x9766: 0xe0000c1b, 0x9767: 0xe0000c18,\n\t0x9768: 0xe0000c51, 0x9769: 0xe0000c4e, 0x976a: 0xe0000c60, 0x976b: 0xe0000c5d,\n\t0x976c: 0xe0000c31, 0x976d: 0xe0000c2e, 0x976e: 0xe0000c5a, 0x976f: 0xe0000c57,\n\t0x9770: 0xe0000c54, 0x9771: 0x402da220, 0x9772: 0xf0000a0a, 0x9773: 0xf0000404,\n\t0x9774: 0xe0000c8a, 0x9775: 0xe0000c87, 0x9776: 0xe0000c9f, 0x9777: 0xe0000c9c,\n\t0x9778: 0x402f7220, 0x9779: 0xe0000ccc, 0x977a: 0xe0000cc9, 0x977b: 0xe0000cd8,\n\t0x977c: 0xe0000cd5, 0x977d: 0xe0000cd2, 0x977e: 0xe0000ccf, 0x977f: 0xe0000d04,\n\t// Block 0x25e, offset 0x9780\n\t0x9780: 0xe0000cfe, 0x9781: 0xe0000cf8, 0x9782: 0xe0000cf5, 0x9783: 0xe0000d51,\n\t0x9784: 0xe0000d4e, 0x9785: 0xe0000d6f, 0x9786: 0xe0000d6c, 0x9787: 0xe0000d5d,\n\t0x9788: 0xe0000d5a, 0x9789: 0xf0000404, 0x978a: 0xe00037ce, 0x978b: 0xe00037cb,\n\t0x978c: 0xe0000e2e, 0x978d: 0xe0000e2b, 0x978e: 0xe0000da0, 0x978f: 0xe0000d9d,\n\t0x9790: 0xe0000de0, 0x9791: 0xe0000ddd, 0x9792: 0xe0000e93, 0x9793: 0xe0000e8f,\n\t0x9794: 0xe0000eca, 0x9795: 0xe0000ec7, 0x9796: 0xe0000edc, 0x9797: 0xe0000ed9,\n\t0x9798: 0xe0000ed0, 0x9799: 0xe0000ecd, 0x979a: 0xe0000f1f, 0x979b: 0xe0000f1c,\n\t0x979c: 0xe0000f2d, 0x979d: 0xe0000f2a, 0x979e: 0xe0000f47, 0x979f: 0xe0000f44,\n\t0x97a0: 0xe0000f33, 0x97a1: 0xe0000f30, 0x97a2: 0xe0000f99, 0x97a3: 0xe0000f96,\n\t0x97a4: 0xe0000f8a, 0x97a5: 0xe0000f87, 0x97a6: 0xe00037d4, 0x97a7: 0xe00037d1,\n\t0x97a8: 0xe000102b, 0x97a9: 0xe0001028, 0x97aa: 0xe000103f, 0x97ab: 0xe000103c,\n\t0x97ac: 0xe0000fe7, 0x97ad: 0xe0000fe4, 0x97ae: 0xe0000ff9, 0x97af: 0xe0000ff6,\n\t0x97b0: 0xe0001025, 0x97b1: 0xe0001022, 0x97b2: 0xe0001039, 0x97b3: 0xe0001036,\n\t0x97b4: 0xe00010d8, 0x97b5: 0xe00010d5, 0x97b6: 0xe000110e, 0x97b7: 0xe000110b,\n\t0x97b8: 0xe0001117, 0x97b9: 0xe000113b, 0x97ba: 0xe0001138, 0x97bb: 0xe000114d,\n\t0x97bc: 0xe000114a, 0x97bd: 0xe0001147, 0x97be: 0xe0001144, 0x97bf: 0xe0000f64,\n\t// Block 0x25f, offset 0x97c0\n\t0x97c0: 0x402c1a20, 0x97c1: 0x002c2a88, 0x97c2: 0x002c3288, 0x97c3: 0x402c3220,\n\t0x97c4: 0x0031c488, 0x97c5: 0x4031c420, 0x97c6: 0x002efa88, 0x97c7: 0x002c4e88,\n\t0x97c8: 0x402c4e20, 0x97c9: 0x002c7288, 0x97ca: 0x002c7a88, 0x97cb: 0x002c8488,\n\t0x97cc: 0x402c8420, 0x97cd: 0xe000115c, 0x97ce: 0x002cae88, 0x97cf: 0x002cb888,\n\t0x97d0: 0x002cc288, 0x97d1: 0x002d1688, 0x97d2: 0x402d1620, 0x97d3: 0x002d4488,\n\t0x97d4: 0x002d5888, 0x97d5: 0x402d7820, 0x97d6: 0x002dc288, 0x97d7: 0x002db688,\n\t0x97d8: 0x002e0a88, 0x97d9: 0x402e0a20, 0x97da: 0x402e3820, 0x97db: 0x402e7220,\n\t0x97dc: 0x0030a088, 0x97dd: 0x002eb488, 0x97de: 0x402ebc20, 0x97df: 0x002f1088,\n\t0x97e0: 0xe0000e56, 0x97e1: 0xe0000e53, 0x97e2: 0x002d6088, 0x97e3: 0x402d6020,\n\t0x97e4: 0x002f3e88, 0x97e5: 0x402f3e20, 0x97e6: 0x002f8288, 0x97e7: 0x0031b488,\n\t0x97e8: 0x4031b420, 0x97e9: 0x00300888, 0x97ea: 0x40301220, 0x97eb: 0x40304220,\n\t0x97ec: 0x00304a88, 0x97ed: 0x40304a20, 0x97ee: 0x00305288, 0x97ef: 0xe000105f,\n\t0x97f0: 0xe000105c, 0x97f1: 0x0030b488, 0x97f2: 0x0030cc88, 0x97f3: 0x00311888,\n\t0x97f4: 0x40311820, 0x97f5: 0x00313488, 0x97f6: 0x40313420, 0x97f7: 0xe00037da,\n\t0x97f8: 0x00316e88, 0x97f9: 0x40316e20, 0x97fa: 0x40317820, 0x97fb: 0x4031a620,\n\t0x97fc: 0x0031bc88, 0x97fd: 0x4031bc20, 0x97fe: 0xe0000fc9, 0x97ff: 0x40319420,\n\t// Block 0x260, offset 0x9800\n\t0x9800: 0x40321220, 0x9801: 0x40321a20, 0x9802: 0x40322220, 0x9803: 0x40322a20,\n\t0x9804: 0xe0000ad5, 0x9805: 0xe0000ad1, 0x9806: 0xe0000acd, 0x9807: 0xf0000a0a,\n\t0x9808: 0xf000040a, 0x9809: 0xf0000404, 0x980a: 0xf0000a0a, 0x980b: 0xf000040a,\n\t0x980c: 0xf0000404, 0x980d: 0xe0000947, 0x980e: 0xe0000944, 0x980f: 0xe0000c3d,\n\t0x9810: 0xe0000c3a, 0x9811: 0xe0000dcc, 0x9812: 0xe0000dc9, 0x9813: 0xe0000ff3,\n\t0x9814: 0xe0000ff0, 0x9815: 0xe000298b, 0x9816: 0xe0002988, 0x9817: 0xe0002979,\n\t0x9818: 0xe0002976, 0x9819: 0xe0002985, 0x981a: 0xe0002982, 0x981b: 0xe000297f,\n\t0x981c: 0xe000297c, 0x981d: 0x402cae20, 0x981e: 0xe00037e8, 0x981f: 0xe00037e5,\n\t0x9820: 0xe0000976, 0x9821: 0xe0000972, 0x9822: 0xe00029af, 0x9823: 0xe00029ac,\n\t0x9824: 0xe00037c8, 0x9825: 0xe00037c5, 0x9826: 0xe0000bbe, 0x9827: 0xe0000bbb,\n\t0x9828: 0xe0000c99, 0x9829: 0xe0000c96, 0x982a: 0xe0000e20, 0x982b: 0xe0000e1d,\n\t0x982c: 0xe0000e27, 0x982d: 0xe0000e23, 0x982e: 0xe00037e1, 0x982f: 0xe00037dd,\n\t0x9830: 0xe0000c8d, 0x9831: 0xf0000a0a, 0x9832: 0xf000040a, 0x9833: 0xf0000404,\n\t0x9834: 0xe0000bac, 0x9835: 0xe0000ba9, 0x9836: 0x002d7888, 0x9837: 0x00319488,\n\t0x9838: 0xe0000d57, 0x9839: 0xe0000d54, 0x983a: 0xe0002991, 0x983b: 0xe000298e,\n\t0x983c: 0xe00037ee, 0x983d: 0xe00037eb, 0x983e: 0xe0003800, 0x983f: 0xe00037fd,\n\t// Block 0x261, offset 0x9840\n\t0x9840: 0xe000098f, 0x9841: 0xe000098c, 0x9842: 0xe0000995, 0x9843: 0xe0000992,\n\t0x9844: 0xe0000b62, 0x9845: 0xe0000b5f, 0x9846: 0xe0000b68, 0x9847: 0xe0000b65,\n\t0x9848: 0xe0000c6c, 0x9849: 0xe0000c69, 0x984a: 0xe0000c72, 0x984b: 0xe0000c6f,\n\t0x984c: 0xe0000e4a, 0x984d: 0xe0000e47, 0x984e: 0xe0000e50, 0x984f: 0xe0000e4d,\n\t0x9850: 0xe0000ee8, 0x9851: 0xe0000ee5, 0x9852: 0xe0000eee, 0x9853: 0xe0000eeb,\n\t0x9854: 0xe0001053, 0x9855: 0xe0001050, 0x9856: 0xe0001059, 0x9857: 0xe0001056,\n\t0x9858: 0xe0000f61, 0x9859: 0xe0000f5e, 0x985a: 0xe0000fa5, 0x985b: 0xe0000fa2,\n\t0x985c: 0x00312288, 0x985d: 0x40312220, 0x985e: 0xe0000bf4, 0x985f: 0xe0000bf1,\n\t0x9860: 0x002ebc88, 0x9861: 0x402c8c20, 0x9862: 0x002f2288, 0x9863: 0x402f2220,\n\t0x9864: 0x00314088, 0x9865: 0x40314020, 0x9866: 0xe000096f, 0x9867: 0xe000096c,\n\t0x9868: 0xe0000b32, 0x9869: 0xe0000b2f, 0x986a: 0xe00037fa, 0x986b: 0xe00037f7,\n\t0x986c: 0xe0000dfd, 0x986d: 0xe0000df9, 0x986e: 0xe0000e04, 0x986f: 0xe0000e01,\n\t0x9870: 0xe0000e0b, 0x9871: 0xe0000e07, 0x9872: 0xe0001129, 0x9873: 0xe0001126,\n\t0x9874: 0x402e5e20, 0x9875: 0x402ed020, 0x9876: 0x40305a20, 0x9877: 0x402dd420,\n\t0x9878: 0xe0000abf, 0x9879: 0xe0000ec4, 0x987a: 0x002be888, 0x987b: 0x002c4488,\n\t0x987c: 0x402c4420, 0x987d: 0x002e3888, 0x987e: 0x00303e88, 0x987f: 0x402ffc20,\n\t// Block 0x262, offset 0x9880\n\t0x9880: 0x402f8220, 0x9881: 0x402fd820, 0x9882: 0x402ff420, 0x9883: 0x40300820,\n\t0x9884: 0x402df620, 0x9885: 0x40301a20, 0x9886: 0x40302420, 0x9887: 0x40306420,\n\t0x9888: 0x40305220, 0x9889: 0x40307c20, 0x988a: 0x4030b420, 0x988b: 0x4030cc20,\n\t0x988c: 0x4030da20, 0x988d: 0x4030ee20, 0x988e: 0x402e7a20, 0x988f: 0x40310820,\n\t0x9890: 0x40314820, 0x9891: 0x40315020, 0x9892: 0xe00037d7, 0x9893: 0x40318020,\n\t0x9894: 0x4031cc20, 0x9895: 0x4031e820, 0x9896: 0x40320a20, 0x9897: 0x40323220,\n\t0x9898: 0x40323a20, 0x9899: 0x402c1220, 0x989a: 0x402cf820, 0x989b: 0x402d4c20,\n\t0x989c: 0x402d7020, 0x989d: 0x402de620, 0x989e: 0x402e1a20, 0x989f: 0x402e2a20,\n\t0x98a0: 0x402f6220, 0x98a1: 0x4031fa20, 0x98a2: 0x40320220, 0x98a3: 0xe0000aca,\n\t0x98a4: 0xe0000adc, 0x98a5: 0xe0000ad9, 0x98a6: 0xe0000fcc, 0x98a7: 0xe0000fcf,\n\t0x98a8: 0xe0000fba, 0x98a9: 0xe0000ba1, 0x98aa: 0xe0000d11, 0x98ab: 0xe0000d18,\n\t0x98ac: 0x40324220, 0x98ad: 0x40324a20, 0x98ae: 0x40309020, 0x98af: 0x40309820,\n\t0x98b0: 0x002d6894, 0x98b1: 0x002d8094, 0x98b2: 0x002dcc94, 0x98b3: 0x002f7a94,\n\t0x98b4: 0x002f9894, 0x98b5: 0x002fac94, 0x98b6: 0x002fd894, 0x98b7: 0x0030e294,\n\t0x98b8: 0x00310094, 0x98b9: 0x40064020, 0x98ba: 0x40064420, 0x98bb: 0x402d9620,\n\t0x98bc: 0x4031de20, 0x98bd: 0x402d9820, 0x98be: 0x4031e220, 0x98bf: 0x4031f020,\n\t// Block 0x263, offset 0x98c0\n\t0x98c0: 0xe0000d24, 0x98c1: 0xe0000d21, 0x98c2: 0xe0000d2a, 0x98c3: 0xe0000d27,\n\t0x98c4: 0xe0000d69, 0x98c5: 0xe0000d66, 0x98c6: 0xe0000d7b, 0x98c7: 0xe0000d78,\n\t0x98c8: 0xe0000d87, 0x98c9: 0xe0000d84, 0x98ca: 0xe0000d81, 0x98cb: 0xe0000d7e,\n\t0x98cc: 0xe0000ded, 0x98cd: 0xe0000de9, 0x98ce: 0xe00037f4, 0x98cf: 0xe00037f1,\n\t0x98d0: 0xe0000e3d, 0x98d1: 0xe0000e39, 0x98d2: 0xe0000e35, 0x98d3: 0xe0000e31,\n\t0x98d4: 0xe0000ea7, 0x98d5: 0xe0000ea4, 0x98d6: 0xe0000ead, 0x98d7: 0xe0000eaa,\n\t0x98d8: 0xe0000ed6, 0x98d9: 0xe0000ed3, 0x98da: 0xe0000ef4, 0x98db: 0xe0000ef1,\n\t0x98dc: 0xe0000efb, 0x98dd: 0xe0000ef7, 0x98de: 0xe0000f02, 0x98df: 0xe0000eff,\n\t0x98e0: 0xe0000f41, 0x98e1: 0xe0000f3e, 0x98e2: 0xe0000f53, 0x98e3: 0xe0000f50,\n\t0x98e4: 0xe0000f26, 0x98e5: 0xe0000f22, 0x98e6: 0xe0000f3a, 0x98e7: 0xe0000f36,\n\t0x98e8: 0xe0000f5a, 0x98e9: 0xe0000f56, 0x98ea: 0xe0000f93, 0x98eb: 0xe0000f90,\n\t0x98ec: 0xe0000f9f, 0x98ed: 0xe0000f9c, 0x98ee: 0xe0000fb1, 0x98ef: 0xe0000fae,\n\t0x98f0: 0xe0000fab, 0x98f1: 0xe0000fa8, 0x98f2: 0xe0001093, 0x98f3: 0xe0001090,\n\t0x98f4: 0xe000109f, 0x98f5: 0xe000109c, 0x98f6: 0xe0001099, 0x98f7: 0xe0001096,\n\t0x98f8: 0xe0001032, 0x98f9: 0xe000102e, 0x98fa: 0xe000298b, 0x98fb: 0xe0002988,\n\t0x98fc: 0xe00010a9, 0x98fd: 0xe00010a6, 0x98fe: 0xe00010af, 0x98ff: 0xe00010ac,\n\t// Block 0x264, offset 0x9900\n\t0x9900: 0xe00009bc, 0x9901: 0xe00009c0, 0x9902: 0x002c3a8b, 0x9903: 0xf0000a04,\n\t0x9904: 0x40081c20, 0x9905: 0xe0000a5e, 0x9906: 0xe0000a62, 0x9907: 0x002cc28a,\n\t0x9908: 0x40081e20, 0x9909: 0xf0000a04, 0x990a: 0x002d2285, 0x990b: 0x002d688b,\n\t0x990c: 0x002d688b, 0x990d: 0x002d688b, 0x990e: 0x002d6885, 0x990f: 0xf0000202,\n\t0x9910: 0x002d9a8b, 0x9911: 0x002d9a8b, 0x9912: 0x002e228b, 0x9913: 0x002e2285,\n\t0x9914: 0x40082020, 0x9915: 0x002e9e8b, 0x9916: 0xf000040a, 0x9917: 0x40082220,\n\t0x9918: 0x40082420, 0x9919: 0x002f2c8b, 0x991a: 0x002f568b, 0x991b: 0x002f7a8b,\n\t0x991c: 0x002f7a8b, 0x991d: 0x002f7a8b, 0x991e: 0x40082620, 0x991f: 0x40082820,\n\t0x9920: 0xf0001414, 0x9921: 0xe0000fbd, 0x9922: 0xf0001414, 0x9923: 0x40082a20,\n\t0x9924: 0x00312a8b, 0x9925: 0x40082c20, 0x9926: 0x0032a288, 0x9927: 0x40082e20,\n\t0x9928: 0x00312a8b, 0x9929: 0x40083020, 0x992a: 0x002dfe88, 0x992b: 0x00320c83,\n\t0x992c: 0x002c0a8b, 0x992d: 0x002c3a8b, 0x992e: 0x40083220, 0x992f: 0x002c9885,\n\t0x9930: 0x002c988b, 0x9931: 0x002d088b, 0x9932: 0x002d1e88, 0x9933: 0x002e828b,\n\t0x9934: 0x002ee285, 0x9935: 0x00389084, 0x9936: 0x00389284, 0x9937: 0x00389484,\n\t0x9938: 0x00389684, 0x9939: 0x002d9a85, 0x993a: 0x40083420, 0x993b: 0xe0000b95,\n\t0x993c: 0x00327e85, 0x993d: 0x00325685, 0x993e: 0x0032568b, 0x993f: 0x00327e8b,\n\t// Block 0x265, offset 0x9940\n\t0x9940: 0xa0000000, 0x9941: 0xa0000000, 0x9942: 0xa0000000, 0x9943: 0xa0000000,\n\t0x9944: 0xa0000000, 0x9945: 0xa0000000, 0x9946: 0xa0000000, 0x9947: 0xa0000000,\n\t0x9948: 0xa0000000, 0x9949: 0x40020020, 0x994a: 0x40020220, 0x994b: 0x40020420,\n\t0x994c: 0x40020620, 0x994d: 0x40020820, 0x994e: 0xa0000000, 0x994f: 0xa0000000,\n\t0x9950: 0xa0000000, 0x9951: 0xa0000000, 0x9952: 0xa0000000, 0x9953: 0xa0000000,\n\t0x9954: 0xa0000000, 0x9955: 0xa0000000, 0x9956: 0xa0000000, 0x9957: 0xa0000000,\n\t0x9958: 0xa0000000, 0x9959: 0xa0000000, 0x995a: 0xa0000000, 0x995b: 0xa0000000,\n\t0x995c: 0xa0000000, 0x995d: 0xa0000000, 0x995e: 0xa0000000, 0x995f: 0xa0000000,\n\t0x9960: 0x40021220, 0x9961: 0x4002ba20, 0x9962: 0x4003e020, 0x9963: 0x4004ea20,\n\t0x9964: 0x4027de20, 0x9965: 0x4004ec20, 0x9966: 0x4004e620, 0x9967: 0x4003d220,\n\t0x9968: 0x4003f420, 0x9969: 0x4003f620, 0x996a: 0x4004d820, 0x996b: 0x40093820,\n\t0x996c: 0x40024020, 0x996d: 0x40021a20, 0x996e: 0x4002e420, 0x996f: 0x4004e220,\n\t0x9970: 0x4029cc20, 0x9971: 0x4029ce20, 0x9972: 0x4029d020, 0x9973: 0x4029d220,\n\t0x9974: 0x4029d420, 0x9975: 0x4029d620, 0x9976: 0x4029d820, 0x9977: 0x4029da20,\n\t0x9978: 0x4029dc20, 0x9979: 0x4029de20, 0x997a: 0x40026c20, 0x997b: 0x40026220,\n\t0x997c: 0x40094020, 0x997d: 0x40094220, 0x997e: 0x40094420, 0x997f: 0x4002c420,\n\t// Block 0x266, offset 0x9980\n\t0x9980: 0x4004d620, 0x9981: 0xc57327b1, 0x9982: 0x002c0a88, 0x9983: 0x002c3a88,\n\t0x9984: 0x002c6288, 0x9985: 0x002c9888, 0x9986: 0x002d0888, 0x9987: 0x002d2288,\n\t0x9988: 0x002d6888, 0x9989: 0x002d9a88, 0x998a: 0x002dcc88, 0x998b: 0x002dfe88,\n\t0x998c: 0xc0030002, 0x998d: 0x002e8288, 0x998e: 0x002e9e88, 0x998f: 0xc57e27e1,\n\t0x9990: 0x002f2c88, 0x9991: 0x002f5688, 0x9992: 0x002f7a88, 0x9993: 0x002fe688,\n\t0x9994: 0x00302c88, 0x9995: 0xc3900b21, 0x9996: 0x0030be88, 0x9997: 0x0030bea3,\n\t0x9998: 0x0030f688, 0x9999: 0x00310088, 0x999a: 0x00312a88, 0x999b: 0x4003f820,\n\t0x999c: 0x4004e420, 0x999d: 0x4003fa20, 0x999e: 0x40062420, 0x999f: 0x40021620,\n\t0x99a0: 0x40061e20, 0x99a1: 0xc57027b1, 0x99a2: 0x402c0a20, 0x99a3: 0x402c3a20,\n\t0x99a4: 0x402c6220, 0x99a5: 0x402c9820, 0x99a6: 0x402d0820, 0x99a7: 0x402d2220,\n\t0x99a8: 0x402d6820, 0x99a9: 0x402d9a20, 0x99aa: 0x402dcc20, 0x99ab: 0x402dfe20,\n\t0x99ac: 0xc0000002, 0x99ad: 0x402e8220, 0x99ae: 0x402e9e20, 0x99af: 0xc57a27e1,\n\t0x99b0: 0x402f2c20, 0x99b1: 0x402f5620, 0x99b2: 0x402f7a20, 0x99b3: 0x402fe620,\n\t0x99b4: 0x40302c20, 0x99b5: 0xc38d0b21, 0x99b6: 0x4030be20, 0x99b7: 0x4030be21,\n\t0x99b8: 0x4030f620, 0x99b9: 0x40310020, 0x99ba: 0x40312a20, 0x99bb: 0x4003fc20,\n\t0x99bc: 0x40094820, 0x99bd: 0x4003fe20, 0x99be: 0x40094c20, 0x99bf: 0xa0000000,\n\t// Block 0x267, offset 0x99c0\n\t0x99c0: 0xe00008f5, 0x99c1: 0xe00008ef, 0x99c2: 0xe0000921, 0x99c3: 0xe0000969,\n\t0x99c4: 0x00320e83, 0x99c5: 0x00320c83, 0x99c6: 0x00320ea3, 0x99c7: 0xe0000a53,\n\t0x99c8: 0xe0000ae8, 0x99c9: 0xe0000ae2, 0x99ca: 0xe0000af4, 0x99cb: 0xe0000b20,\n\t0x99cc: 0xe0000c2b, 0x99cd: 0xe0000c25, 0x99ce: 0xe0000c37, 0x99cf: 0xe0000c43,\n\t0x99d0: 0x002c62a3, 0x99d1: 0xe0000d63, 0x99d2: 0xe0000d9a, 0x99d3: 0xe0000d94,\n\t0x99d4: 0xe0000da6, 0x99d5: 0x003210e3, 0x99d6: 0x00321083, 0x99d7: 0x40093e20,\n\t0x99d8: 0x003210a3, 0x99d9: 0xe0000fe1, 0x99da: 0xe0000fdb, 0x99db: 0xe0000fed,\n\t0x99dc: 0x003100a3, 0x99dd: 0xe0001102, 0x99de: 0xe0003806, 0x99df: 0xe0000f7b,\n\t0x99e0: 0xe00008f2, 0x99e1: 0xe00008ec, 0x99e2: 0xe000091e, 0x99e3: 0xe0000966,\n\t0x99e4: 0x40320e20, 0x99e5: 0x40320c20, 0x99e6: 0x40320e21, 0x99e7: 0xe0000a4d,\n\t0x99e8: 0xe0000ae5, 0x99e9: 0xe0000adf, 0x99ea: 0xe0000af1, 0x99eb: 0xe0000b1d,\n\t0x99ec: 0xe0000c28, 0x99ed: 0xe0000c22, 0x99ee: 0xe0000c34, 0x99ef: 0xe0000c40,\n\t0x99f0: 0x402c6221, 0x99f1: 0xe0000d60, 0x99f2: 0xe0000d97, 0x99f3: 0xe0000d91,\n\t0x99f4: 0xe0000da3, 0x99f5: 0x40321023, 0x99f6: 0x40321020, 0x99f7: 0x40093c20,\n\t0x99f8: 0x40321021, 0x99f9: 0xe0000fde, 0x99fa: 0xe0000fd8, 0x99fb: 0xe0000fea,\n\t0x99fc: 0x40310021, 0x99fd: 0xe00010ff, 0x99fe: 0xe0003803, 0x99ff: 0xe0001114,\n\t// Block 0x268, offset 0x9a00\n\t0x9a00: 0xe0000983, 0x9a01: 0xe0000980, 0x9a02: 0xe00008fb, 0x9a03: 0xe00008f8,\n\t0x9a04: 0xe000097d, 0x9a05: 0xe000097a, 0x9a06: 0xe0000a38, 0x9a07: 0xe0000a35,\n\t0x9a08: 0xe0000a3e, 0x9a09: 0xe0000a3b, 0x9a0a: 0xe0000a4a, 0x9a0b: 0xe0000a47,\n\t0x9a0c: 0xe0000a44, 0x9a0d: 0xe0000a41, 0x9a0e: 0xe0000a86, 0x9a0f: 0xe0000a83,\n\t0x9a10: 0x002c62c3, 0x9a11: 0x402c6222, 0x9a12: 0xe0000b46, 0x9a13: 0xe0000b43,\n\t0x9a14: 0xe0000aee, 0x9a15: 0xe0000aeb, 0x9a16: 0xe0000b2c, 0x9a17: 0xe0000b29,\n\t0x9a18: 0xe0000b40, 0x9a19: 0xe0000b3d, 0x9a1a: 0xe0000b1a, 0x9a1b: 0xe0000b17,\n\t0x9a1c: 0xe0000bb8, 0x9a1d: 0xe0000bb5, 0x9a1e: 0xe0000bb2, 0x9a1f: 0xe0000baf,\n\t0x9a20: 0xe0000bc4, 0x9a21: 0xe0000bc1, 0x9a22: 0xe0000bca, 0x9a23: 0xe0000bc7,\n\t0x9a24: 0xe0000bee, 0x9a25: 0xe0000beb, 0x9a26: 0xe0000c1b, 0x9a27: 0xe0000c18,\n\t0x9a28: 0xe0000c51, 0x9a29: 0xe0000c4e, 0x9a2a: 0xe0000c60, 0x9a2b: 0xe0000c5d,\n\t0x9a2c: 0xe0000c31, 0x9a2d: 0xe0000c2e, 0x9a2e: 0xe0000c5a, 0x9a2f: 0xe0000c57,\n\t0x9a30: 0xe0000c54, 0x9a31: 0x402da220, 0x9a32: 0xf0000a0a, 0x9a33: 0xf0000404,\n\t0x9a34: 0xe0000c8a, 0x9a35: 0xe0000c87, 0x9a36: 0xe0000c9f, 0x9a37: 0xe0000c9c,\n\t0x9a38: 0x402f7220, 0x9a39: 0xe0000ccc, 0x9a3a: 0xe0000cc9, 0x9a3b: 0xe0000cd8,\n\t0x9a3c: 0xe0000cd5, 0x9a3d: 0xe0000cd2, 0x9a3e: 0xe0000ccf, 0x9a3f: 0xe0000d04,\n\t// Block 0x269, offset 0x9a40\n\t0x9a40: 0xe0000cfe, 0x9a41: 0xe0000cf8, 0x9a42: 0xe0000cf5, 0x9a43: 0xe0000d51,\n\t0x9a44: 0xe0000d4e, 0x9a45: 0xe0000d6f, 0x9a46: 0xe0000d6c, 0x9a47: 0xe0000d5d,\n\t0x9a48: 0xe0000d5a, 0x9a49: 0xf0000404, 0x9a4a: 0x002e9ea3, 0x9a4b: 0x402e9e21,\n\t0x9a4c: 0xe0000e2e, 0x9a4d: 0xe0000e2b, 0x9a4e: 0xe0000da0, 0x9a4f: 0xe0000d9d,\n\t0x9a50: 0x003210c3, 0x9a51: 0x40321022, 0x9a52: 0x00321103, 0x9a53: 0x40321024,\n\t0x9a54: 0xe0000eca, 0x9a55: 0xe0000ec7, 0x9a56: 0xe0000edc, 0x9a57: 0xe0000ed9,\n\t0x9a58: 0xe0000ed0, 0x9a59: 0xe0000ecd, 0x9a5a: 0xe0000f1f, 0x9a5b: 0xe0000f1c,\n\t0x9a5c: 0xe0000f2d, 0x9a5d: 0xe0000f2a, 0x9a5e: 0xe0000f47, 0x9a5f: 0xe0000f44,\n\t0x9a60: 0xe0000f33, 0x9a61: 0xe0000f30, 0x9a62: 0xe0000f99, 0x9a63: 0xe0000f96,\n\t0x9a64: 0xe0000f8a, 0x9a65: 0xe0000f87, 0x9a66: 0x00303688, 0x9a67: 0x40303620,\n\t0x9a68: 0xe000102b, 0x9a69: 0xe0001028, 0x9a6a: 0xe000103f, 0x9a6b: 0xe000103c,\n\t0x9a6c: 0xe0000fe7, 0x9a6d: 0xe0000fe4, 0x9a6e: 0xe0000ff9, 0x9a6f: 0xe0000ff6,\n\t0x9a70: 0x003100c3, 0x9a71: 0x40310022, 0x9a72: 0xe0001039, 0x9a73: 0xe0001036,\n\t0x9a74: 0xe0003636, 0x9a75: 0xe0003633, 0x9a76: 0xe000110e, 0x9a77: 0xe000110b,\n\t0x9a78: 0xe0001117, 0x9a79: 0xe000113b, 0x9a7a: 0xe0001138, 0x9a7b: 0xe000114d,\n\t0x9a7c: 0xe000114a, 0x9a7d: 0xe0001147, 0x9a7e: 0xe0001144, 0x9a7f: 0xe0000f64,\n\t// Block 0x26a, offset 0x9a80\n\t0x9a80: 0x40321220, 0x9a81: 0x40321a20, 0x9a82: 0x40322220, 0x9a83: 0x40322a20,\n\t0x9a84: 0xe0000ad5, 0x9a85: 0xe0000ad1, 0x9a86: 0xe0000acd, 0x9a87: 0xf0000a0a,\n\t0x9a88: 0xf000040a, 0x9a89: 0xf0000404, 0x9a8a: 0xf0000a0a, 0x9a8b: 0xf000040a,\n\t0x9a8c: 0xf0000404, 0x9a8d: 0xe0000947, 0x9a8e: 0xe0000944, 0x9a8f: 0xe0000c3d,\n\t0x9a90: 0xe0000c3a, 0x9a91: 0xe0000dcc, 0x9a92: 0xe0000dc9, 0x9a93: 0xe0000ff3,\n\t0x9a94: 0xe0000ff0, 0x9a95: 0xe000298b, 0x9a96: 0xe0002988, 0x9a97: 0xe0002979,\n\t0x9a98: 0xe0002976, 0x9a99: 0xe0002985, 0x9a9a: 0xe0002982, 0x9a9b: 0xe000297f,\n\t0x9a9c: 0xe000297c, 0x9a9d: 0x402cae20, 0x9a9e: 0xe00037e8, 0x9a9f: 0xe00037e5,\n\t0x9aa0: 0xe0000976, 0x9aa1: 0xe0000972, 0x9aa2: 0xe00029af, 0x9aa3: 0xe00029ac,\n\t0x9aa4: 0x002d3a88, 0x9aa5: 0x402d3a20, 0x9aa6: 0xe0000bbe, 0x9aa7: 0xe0000bbb,\n\t0x9aa8: 0xe0000c99, 0x9aa9: 0xe0000c96, 0x9aaa: 0xe0000e20, 0x9aab: 0xe0000e1d,\n\t0x9aac: 0xe0000e27, 0x9aad: 0xe0000e23, 0x9aae: 0xe0001162, 0x9aaf: 0xe000115f,\n\t0x9ab0: 0xe0000c8d, 0x9ab1: 0xf0000a0a, 0x9ab2: 0xf000040a, 0x9ab3: 0xf0000404,\n\t0x9ab4: 0xe0000bac, 0x9ab5: 0xe0000ba9, 0x9ab6: 0x002d7888, 0x9ab7: 0x00319488,\n\t0x9ab8: 0xe0000d57, 0x9ab9: 0xe0000d54, 0x9aba: 0xe0002991, 0x9abb: 0xe000298e,\n\t0x9abc: 0xe00037ee, 0x9abd: 0xe00037eb, 0x9abe: 0xe0003800, 0x9abf: 0xe00037fd,\n\t// Block 0x26b, offset 0x9ac0\n\t0x9ac0: 0xe000098f, 0x9ac1: 0xe000098c, 0x9ac2: 0xe0000995, 0x9ac3: 0xe0000992,\n\t0x9ac4: 0xe0000b62, 0x9ac5: 0xe0000b5f, 0x9ac6: 0xe0000b68, 0x9ac7: 0xe0000b65,\n\t0x9ac8: 0xe0000c6c, 0x9ac9: 0xe0000c69, 0x9aca: 0xe0000c72, 0x9acb: 0xe0000c6f,\n\t0x9acc: 0xe0000e4a, 0x9acd: 0xe0000e47, 0x9ace: 0xe0000e50, 0x9acf: 0xe0000e4d,\n\t0x9ad0: 0xe0000ee8, 0x9ad1: 0xe0000ee5, 0x9ad2: 0xe0000eee, 0x9ad3: 0xe0000eeb,\n\t0x9ad4: 0xe0001053, 0x9ad5: 0xe0001050, 0x9ad6: 0xe0001059, 0x9ad7: 0xe0001056,\n\t0x9ad8: 0xe0000f61, 0x9ad9: 0xe0000f5e, 0x9ada: 0xe0000fa5, 0x9adb: 0xe0000fa2,\n\t0x9adc: 0x00312288, 0x9add: 0x40312220, 0x9ade: 0xe0000bf4, 0x9adf: 0xe0000bf1,\n\t0x9ae0: 0x002ebc88, 0x9ae1: 0x402c8c20, 0x9ae2: 0x002f2288, 0x9ae3: 0x402f2220,\n\t0x9ae4: 0x00314088, 0x9ae5: 0x40314020, 0x9ae6: 0xe000096f, 0x9ae7: 0xe000096c,\n\t0x9ae8: 0xe0000b32, 0x9ae9: 0xe0000b2f, 0x9aea: 0xe00037fa, 0x9aeb: 0xe00037f7,\n\t0x9aec: 0xe000381e, 0x9aed: 0xe000381b, 0x9aee: 0xe0000e04, 0x9aef: 0xe0000e01,\n\t0x9af0: 0xe0000e0b, 0x9af1: 0xe0000e07, 0x9af2: 0xe0001129, 0x9af3: 0xe0001126,\n\t0x9af4: 0x402e5e20, 0x9af5: 0x402ed020, 0x9af6: 0x40305a20, 0x9af7: 0x402dd420,\n\t0x9af8: 0xe0000abf, 0x9af9: 0xe0000ec4, 0x9afa: 0x002be888, 0x9afb: 0x002c4488,\n\t0x9afc: 0x402c4420, 0x9afd: 0x002e3888, 0x9afe: 0x00303e88, 0x9aff: 0x402ffc20,\n\t// Block 0x26c, offset 0x9b00\n\t0x9b00: 0xe0000d24, 0x9b01: 0xe0000d21, 0x9b02: 0xe0000d2a, 0x9b03: 0xe0000d27,\n\t0x9b04: 0xe0000d69, 0x9b05: 0xe0000d66, 0x9b06: 0xe0000d7b, 0x9b07: 0xe0000d78,\n\t0x9b08: 0xe0000d87, 0x9b09: 0xe0000d84, 0x9b0a: 0xe0000d81, 0x9b0b: 0xe0000d7e,\n\t0x9b0c: 0xe000380c, 0x9b0d: 0xe0003809, 0x9b0e: 0xe0003818, 0x9b0f: 0xe0003815,\n\t0x9b10: 0xe0000e3d, 0x9b11: 0xe0000e39, 0x9b12: 0xe0000e35, 0x9b13: 0xe0000e31,\n\t0x9b14: 0xe0000ea7, 0x9b15: 0xe0000ea4, 0x9b16: 0xe0000ead, 0x9b17: 0xe0000eaa,\n\t0x9b18: 0xe0000ed6, 0x9b19: 0xe0000ed3, 0x9b1a: 0xe0000ef4, 0x9b1b: 0xe0000ef1,\n\t0x9b1c: 0xe0000efb, 0x9b1d: 0xe0000ef7, 0x9b1e: 0xe0000f02, 0x9b1f: 0xe0000eff,\n\t0x9b20: 0xe0000f41, 0x9b21: 0xe0000f3e, 0x9b22: 0xe0000f53, 0x9b23: 0xe0000f50,\n\t0x9b24: 0xe0000f26, 0x9b25: 0xe0000f22, 0x9b26: 0xe0000f3a, 0x9b27: 0xe0000f36,\n\t0x9b28: 0xe0000f5a, 0x9b29: 0xe0000f56, 0x9b2a: 0xe0000f93, 0x9b2b: 0xe0000f90,\n\t0x9b2c: 0xe0000f9f, 0x9b2d: 0xe0000f9c, 0x9b2e: 0xe0000fb1, 0x9b2f: 0xe0000fae,\n\t0x9b30: 0xe0000fab, 0x9b31: 0xe0000fa8, 0x9b32: 0xe0001093, 0x9b33: 0xe0001090,\n\t0x9b34: 0xe000109f, 0x9b35: 0xe000109c, 0x9b36: 0xe0001099, 0x9b37: 0xe0001096,\n\t0x9b38: 0xe0001032, 0x9b39: 0xe000102e, 0x9b3a: 0xe000298b, 0x9b3b: 0xe0002988,\n\t0x9b3c: 0xe00010a9, 0x9b3d: 0xe00010a6, 0x9b3e: 0xe00010af, 0x9b3f: 0xe00010ac,\n\t// Block 0x26d, offset 0x9b40\n\t0x9b40: 0xe0003630, 0x9b41: 0xe000362d, 0x9b42: 0xe000362a, 0x9b43: 0xe0003627,\n\t0x9b44: 0xe000363f, 0x9b45: 0xe000363c, 0x9b46: 0xe0003645, 0x9b47: 0xe0003642,\n\t0x9b48: 0xe000364b, 0x9b49: 0xe0003648, 0x9b4a: 0xe00010fc, 0x9b4b: 0xe00010f9,\n\t0x9b4c: 0xe00010f6, 0x9b4d: 0xe00010f3, 0x9b4e: 0xe0001123, 0x9b4f: 0xe0001120,\n\t0x9b50: 0xe0001141, 0x9b51: 0xe000113e, 0x9b52: 0xe0001153, 0x9b53: 0xe0001150,\n\t0x9b54: 0xe0001159, 0x9b55: 0xe0001156, 0x9b56: 0xe0000c15, 0x9b57: 0xe0000f8d,\n\t0x9b58: 0xe0003639, 0x9b59: 0xe0001111, 0x9b5a: 0xf0000404, 0x9b5b: 0xe0000f70,\n\t0x9b5c: 0x40300420, 0x9b5d: 0x40300620, 0x9b5e: 0xe0000f7f, 0x9b5f: 0x402c9620,\n\t0x9b60: 0xe000099b, 0x9b61: 0xe0000998, 0x9b62: 0xe0000989, 0x9b63: 0xe0000986,\n\t0x9b64: 0xe0000928, 0x9b65: 0xe0000924, 0x9b66: 0xe0000930, 0x9b67: 0xe000092c,\n\t0x9b68: 0xe0000940, 0x9b69: 0xe000093c, 0x9b6a: 0xe0000938, 0x9b6b: 0xe0000934,\n\t0x9b6c: 0xe00009aa, 0x9b6d: 0xe00009a6, 0x9b6e: 0xe0000902, 0x9b6f: 0xe00008fe,\n\t0x9b70: 0xe000090a, 0x9b71: 0xe0000906, 0x9b72: 0xe000091a, 0x9b73: 0xe0000916,\n\t0x9b74: 0xe0000912, 0x9b75: 0xe000090e, 0x9b76: 0xe00009a2, 0x9b77: 0xe000099e,\n\t0x9b78: 0xe0000b6e, 0x9b79: 0xe0000b6b, 0x9b7a: 0xe0000b5c, 0x9b7b: 0xe0000b59,\n\t0x9b7c: 0xe0000b26, 0x9b7d: 0xe0000b23, 0x9b7e: 0xe0000afb, 0x9b7f: 0xe0000af7,\n\t// Block 0x26e, offset 0x9b80\n\t0x9b80: 0xe0000b03, 0x9b81: 0xe0000aff, 0x9b82: 0xe0000b13, 0x9b83: 0xe0000b0f,\n\t0x9b84: 0xe0000b0b, 0x9b85: 0xe0000b07, 0x9b86: 0xe0000b75, 0x9b87: 0xe0000b71,\n\t0x9b88: 0xe0000c66, 0x9b89: 0xe0000c63, 0x9b8a: 0xe0000c78, 0x9b8b: 0xe0000c75,\n\t0x9b8c: 0xe0000e84, 0x9b8d: 0xe0000e81, 0x9b8e: 0xe0000e44, 0x9b8f: 0xe0000e41,\n\t0x9b90: 0xe0000dad, 0x9b91: 0xe0000da9, 0x9b92: 0xe0000db5, 0x9b93: 0xe0000db1,\n\t0x9b94: 0xe0000dc5, 0x9b95: 0xe0000dc1, 0x9b96: 0xe0003812, 0x9b97: 0xe000380f,\n\t0x9b98: 0xe0000e8b, 0x9b99: 0xe0000e87, 0x9b9a: 0xe0000e5d, 0x9b9b: 0xe0000e59,\n\t0x9b9c: 0xe0000e65, 0x9b9d: 0xe0000e61, 0x9b9e: 0xe0000e75, 0x9b9f: 0xe0000e71,\n\t0x9ba0: 0xe0003824, 0x9ba1: 0xe0003821, 0x9ba2: 0xe0000e7d, 0x9ba3: 0xe0000e79,\n\t0x9ba4: 0xe000108d, 0x9ba5: 0xe000108a, 0x9ba6: 0xe000104d, 0x9ba7: 0xe000104a,\n\t0x9ba8: 0xe0001066, 0x9ba9: 0xe0001062, 0x9baa: 0xe000106e, 0x9bab: 0xe000106a,\n\t0x9bac: 0xe000107e, 0x9bad: 0xe000107a, 0x9bae: 0xe0001076, 0x9baf: 0xe0001072,\n\t0x9bb0: 0xe0001086, 0x9bb1: 0xe0001082, 0x9bb2: 0xe0001108, 0x9bb3: 0xe0001105,\n\t0x9bb4: 0xe0001135, 0x9bb5: 0xe0001132, 0x9bb6: 0xe000112f, 0x9bb7: 0xe000112c,\n\t0x9bb8: 0xe000111d, 0x9bb9: 0xe000111a, 0x9bba: 0xe0000d0a, 0x9bbb: 0xe0000d07,\n\t0x9bbc: 0x0030d888, 0x9bbd: 0x4030d820, 0x9bbe: 0x00312088, 0x9bbf: 0x40312020,\n\t// Block 0x26f, offset 0x9bc0\n\t0x9bc0: 0xe0000024, 0x9bc1: 0xe0000029, 0x9bc2: 0xe000002e, 0x9bc3: 0xe0000033,\n\t0x9bc4: 0xe0000038, 0x9bc5: 0xe000003d, 0x9bc6: 0xe0000042, 0x9bc7: 0xe0000047,\n\t0x9bc8: 0xf0001f04, 0x9bc9: 0xf0001f04, 0x9bca: 0xf0001f04, 0x9bcb: 0xf0001f04,\n\t0x9bcc: 0xf0001f04, 0x9bcd: 0xf0001f04, 0x9bce: 0xf0001f04, 0x9bcf: 0xf0001f04,\n\t0x9bd0: 0xf0001f04, 0x9bd1: 0xf0000404, 0x9bd2: 0xf0000404, 0x9bd3: 0xf0000404,\n\t0x9bd4: 0xf0000404, 0x9bd5: 0xf0000404, 0x9bd6: 0xf0000404, 0x9bd7: 0xf0000404,\n\t0x9bd8: 0xf0000404, 0x9bd9: 0xf0000404, 0x9bda: 0xf0000404, 0x9bdb: 0xf0000404,\n\t0x9bdc: 0xf0000404, 0x9bdd: 0xf0000404, 0x9bde: 0xf0000404, 0x9bdf: 0xf0000404,\n\t0x9be0: 0xf0000404, 0x9be1: 0xf0000404, 0x9be2: 0xf0000404, 0x9be3: 0xf0000404,\n\t0x9be4: 0xf0000404, 0x9be5: 0xf0000404, 0x9be6: 0xf0000404, 0x9be7: 0xf0000404,\n\t0x9be8: 0xf0000404, 0x9be9: 0xf0000404, 0x9bea: 0xf0000404, 0x9beb: 0xf0000404,\n\t0x9bec: 0xf0000404, 0x9bed: 0xf0000404, 0x9bee: 0xf0000404, 0x9bef: 0xf0000404,\n\t0x9bf0: 0xf0000404, 0x9bf1: 0xf0000404, 0x9bf2: 0xe0002c46, 0x9bf3: 0xf0000404,\n\t0x9bf4: 0xf0000404, 0x9bf5: 0xf0000404, 0x9bf6: 0x002bde8c, 0x9bf7: 0x002c0a8c,\n\t0x9bf8: 0x002c3a8c, 0x9bf9: 0x002c628c, 0x9bfa: 0x002c988c, 0x9bfb: 0x002d088c,\n\t0x9bfc: 0x002d228c, 0x9bfd: 0x002d688c, 0x9bfe: 0x002d9a8c, 0x9bff: 0x002dcc8c,\n\t// Block 0x270, offset 0x9c00\n\t0x9c00: 0xf0001d1c, 0x9c01: 0xf0001d1c, 0x9c02: 0xf0001d1c, 0x9c03: 0xf0001d1c,\n\t0x9c04: 0xf0001d1c, 0x9c05: 0xf0001d1d, 0x9c06: 0xf0001d1d, 0x9c07: 0xf0001d1d,\n\t0x9c08: 0xe0000a6b, 0x9c09: 0xe0000cb4, 0x9c0a: 0xf0001d1c, 0x9c0b: 0xf0001d1c,\n\t0x9c0c: 0xf0001d1c, 0x9c0d: 0xf0001c1c, 0x9c0e: 0xf0001c1c, 0x9c0f: 0xf0001c1c,\n\t0x9c10: 0xf0001c1d, 0x9c11: 0xe0000cb9, 0x9c12: 0xe0000d36, 0x9c13: 0xe0000be3,\n\t0x9c14: 0xe0000fc5, 0x9c15: 0xf0001c1c, 0x9c16: 0xf0001c1c, 0x9c17: 0xf0001c1c,\n\t0x9c18: 0xf0001c1c, 0x9c19: 0xf0001c1c, 0x9c1a: 0xf0001c1c, 0x9c1b: 0xf0001c1c,\n\t0x9c1c: 0xf0001c1c, 0x9c1d: 0xf0001c1c, 0x9c1e: 0xf0001c1c, 0x9c1f: 0xe0000d3e,\n\t0x9c20: 0xe0000a72, 0x9c21: 0xf0001c1c, 0x9c22: 0xe0000cbd, 0x9c23: 0xe0000d42,\n\t0x9c24: 0xe0000a76, 0x9c25: 0xf0001c1c, 0x9c26: 0xe0000cc1, 0x9c27: 0xe0000d2d,\n\t0x9c28: 0xe0000d31, 0x9c29: 0xf0001c1d, 0x9c2a: 0xe0000cc5, 0x9c2b: 0xe0000d4a,\n\t0x9c2c: 0xe0000be7, 0x9c2d: 0xe0000f0b, 0x9c2e: 0xe0000f0f, 0x9c2f: 0xe0000f15,\n\t0x9c30: 0xf0001c1c, 0x9c31: 0xf0001c1c, 0x9c32: 0xf0001c1c, 0x9c33: 0xf0001c1c,\n\t0x9c34: 0xf0001d1c, 0x9c35: 0xf0001d1c, 0x9c36: 0xf0001d1c, 0x9c37: 0xf0001d1c,\n\t0x9c38: 0xf0001d1c, 0x9c39: 0xf0001d1d, 0x9c3a: 0xe00035df, 0x9c3b: 0xe00035cd,\n\t0x9c3c: 0xe0003600, 0x9c3d: 0xe00035af, 0x9c3e: 0xe0002812, 0x9c3f: 0xe00035b2,\n\t// Block 0x271, offset 0x9c40\n\t0x9c40: 0xf0001f04, 0x9c41: 0xf0001f04, 0x9c42: 0xf0001f04, 0x9c43: 0xf0001f04,\n\t0x9c44: 0xf0001f04, 0x9c45: 0xf0001f04, 0x9c46: 0xf0001f04, 0x9c47: 0xf0001f04,\n\t0x9c48: 0xf0001f04, 0x9c49: 0xf0001f04, 0x9c4a: 0xf0001f04,\n\t0x9c50: 0xf0000a04, 0x9c51: 0xf0000a04, 0x9c52: 0xf0000a04, 0x9c53: 0xf0000a04,\n\t0x9c54: 0xf0000a04, 0x9c55: 0xf0000a04, 0x9c56: 0xf0000a04, 0x9c57: 0xf0000a04,\n\t0x9c58: 0xf0000a04, 0x9c59: 0xf0000a04, 0x9c5a: 0xf0000a04, 0x9c5b: 0xf0000a04,\n\t0x9c5c: 0xf0000a04, 0x9c5d: 0xf0000a04, 0x9c5e: 0xf0000a04, 0x9c5f: 0xf0000a04,\n\t0x9c60: 0xf0000a04, 0x9c61: 0xf0000a04, 0x9c62: 0xf0000a04, 0x9c63: 0xf0000a04,\n\t0x9c64: 0xf0000a04, 0x9c65: 0xf0000a04, 0x9c66: 0xe0002c4a, 0x9c67: 0xf0000a04,\n\t0x9c68: 0xf0000a04, 0x9c69: 0xf0000a04, 0x9c6a: 0xf0000a04, 0x9c6b: 0x002c3a8c,\n\t0x9c6c: 0x002f7a8c, 0x9c6d: 0xf0000c0c, 0x9c6e: 0xe00035e8,\n\t0x9c70: 0x002bde9d, 0x9c71: 0x002c0a9d, 0x9c72: 0x002c3a9d, 0x9c73: 0x002c629d,\n\t0x9c74: 0x002c989d, 0x9c75: 0x002d089d, 0x9c76: 0x002d229d, 0x9c77: 0x002d689d,\n\t0x9c78: 0x002d9a9d, 0x9c79: 0x002dcc9d, 0x9c7a: 0x002dfe9d, 0x9c7b: 0x002e229d,\n\t0x9c7c: 0x002e829d, 0x9c7d: 0x002e9e9d, 0x9c7e: 0x002ee29d, 0x9c7f: 0x002f2c9d,\n\t// Block 0x272, offset 0x9c80\n\t0x9c80: 0xa0000000, 0x9c81: 0xa0000000, 0x9c82: 0xa0000000, 0x9c83: 0xa0000000,\n\t0x9c84: 0xa0000000, 0x9c85: 0xa0000000, 0x9c86: 0xa0000000, 0x9c87: 0xa0000000,\n\t0x9c88: 0xa0000000, 0x9c89: 0x40020020, 0x9c8a: 0x40020220, 0x9c8b: 0x40020420,\n\t0x9c8c: 0x40020620, 0x9c8d: 0x40020820, 0x9c8e: 0xa0000000, 0x9c8f: 0xa0000000,\n\t0x9c90: 0xa0000000, 0x9c91: 0xa0000000, 0x9c92: 0xa0000000, 0x9c93: 0xa0000000,\n\t0x9c94: 0xa0000000, 0x9c95: 0xa0000000, 0x9c96: 0xa0000000, 0x9c97: 0xa0000000,\n\t0x9c98: 0xa0000000, 0x9c99: 0xa0000000, 0x9c9a: 0xa0000000, 0x9c9b: 0xa0000000,\n\t0x9c9c: 0xa0000000, 0x9c9d: 0xa0000000, 0x9c9e: 0xa0000000, 0x9c9f: 0xa0000000,\n\t0x9ca0: 0x40021220, 0x9ca1: 0x4002ba20, 0x9ca2: 0x4003e020, 0x9ca3: 0x4004ea20,\n\t0x9ca4: 0x4027de20, 0x9ca5: 0x4004ec20, 0x9ca6: 0x4004e620, 0x9ca7: 0x4003d220,\n\t0x9ca8: 0x4003f420, 0x9ca9: 0x4003f620, 0x9caa: 0x4004d820, 0x9cab: 0x40093820,\n\t0x9cac: 0x40024020, 0x9cad: 0x40021a20, 0x9cae: 0x4002e420, 0x9caf: 0x4004e220,\n\t0x9cb0: 0x4029cc20, 0x9cb1: 0x4029ce20, 0x9cb2: 0x4029d020, 0x9cb3: 0x4029d220,\n\t0x9cb4: 0x4029d420, 0x9cb5: 0x4029d620, 0x9cb6: 0x4029d820, 0x9cb7: 0x4029da20,\n\t0x9cb8: 0x4029dc20, 0x9cb9: 0x4029de20, 0x9cba: 0x40026c20, 0x9cbb: 0x40026220,\n\t0x9cbc: 0x40094020, 0x9cbd: 0x40094220, 0x9cbe: 0x40094420, 0x9cbf: 0x4002c420,\n\t// Block 0x273, offset 0x9cc0\n\t0x9cc0: 0x4004d620, 0x9cc1: 0x002bde88, 0x9cc2: 0x002c0a88, 0x9cc3: 0x002c3a88,\n\t0x9cc4: 0x002c6288, 0x9cc5: 0x002c9888, 0x9cc6: 0x002d0888, 0x9cc7: 0x002d2288,\n\t0x9cc8: 0x002d6888, 0x9cc9: 0x002d9a88, 0x9cca: 0x002dcc88, 0x9ccb: 0x002dfe88,\n\t0x9ccc: 0xc0030002, 0x9ccd: 0x002e8288, 0x9cce: 0xc5852853, 0x9ccf: 0x002ee288,\n\t0x9cd0: 0x002f2c88, 0x9cd1: 0x002f5688, 0x9cd2: 0x002f7a88, 0x9cd3: 0x002fe688,\n\t0x9cd4: 0x00302c88, 0x9cd5: 0x00306c88, 0x9cd6: 0x0030be88, 0x9cd7: 0x0030e288,\n\t0x9cd8: 0x0030f688, 0x9cd9: 0x00310088, 0x9cda: 0x00312a88, 0x9cdb: 0x4003f820,\n\t0x9cdc: 0x4004e420, 0x9cdd: 0x4003fa20, 0x9cde: 0x40062420, 0x9cdf: 0x40021620,\n\t0x9ce0: 0x40061e20, 0x9ce1: 0x402bde20, 0x9ce2: 0x402c0a20, 0x9ce3: 0x402c3a20,\n\t0x9ce4: 0x402c6220, 0x9ce5: 0x402c9820, 0x9ce6: 0x402d0820, 0x9ce7: 0x402d2220,\n\t0x9ce8: 0x402d6820, 0x9ce9: 0x402d9a20, 0x9cea: 0x402dcc20, 0x9ceb: 0x402dfe20,\n\t0x9cec: 0xc0000002, 0x9ced: 0x402e8220, 0x9cee: 0xc5822822, 0x9cef: 0x402ee220,\n\t0x9cf0: 0x402f2c20, 0x9cf1: 0x402f5620, 0x9cf2: 0x402f7a20, 0x9cf3: 0x402fe620,\n\t0x9cf4: 0x40302c20, 0x9cf5: 0x40306c20, 0x9cf6: 0x4030be20, 0x9cf7: 0x4030e220,\n\t0x9cf8: 0x4030f620, 0x9cf9: 0x40310020, 0x9cfa: 0x40312a20, 0x9cfb: 0x4003fc20,\n\t0x9cfc: 0x40094820, 0x9cfd: 0x4003fe20, 0x9cfe: 0x40094c20, 0x9cff: 0xa0000000,\n\t// Block 0x274, offset 0x9d00\n\t0x9d01: 0x40417021, 0x9d02: 0x40417020, 0x9d03: 0x40417220,\n\t0x9d05: 0x40417020, 0x9d06: 0x40417220, 0x9d07: 0x40417420,\n\t0x9d08: 0x40417620, 0x9d09: 0x40417820, 0x9d0a: 0x40417a20, 0x9d0b: 0x40417c20,\n\t0x9d0c: 0x40418020, 0x9d0d: 0x40418420, 0x9d0f: 0x40418620,\n\t0x9d10: 0x40418820, 0x9d11: 0x40418a20, 0x9d13: 0x40418c20,\n\t0x9d14: 0x40418e20, 0x9d15: 0x40419020, 0x9d16: 0x40419220, 0x9d17: 0x40419420,\n\t0x9d18: 0x40419620, 0x9d19: 0x40419820, 0x9d1a: 0x40419a20, 0x9d1b: 0x40419c20,\n\t0x9d1c: 0x40419e20, 0x9d1d: 0x4041a020, 0x9d1e: 0x4041a220, 0x9d1f: 0x4041a420,\n\t0x9d20: 0x4041a620, 0x9d21: 0x4041a820, 0x9d22: 0x4041aa20, 0x9d23: 0x4041ac20,\n\t0x9d24: 0x4041ae20, 0x9d25: 0x4041b020, 0x9d26: 0x4041b220, 0x9d27: 0x4041b420,\n\t0x9d28: 0x4041b620, 0x9d2a: 0x4041b820, 0x9d2b: 0x4041ba20,\n\t0x9d2c: 0x4041bc20, 0x9d2d: 0x4041be20, 0x9d2e: 0x4041c020, 0x9d2f: 0x4041c220,\n\t0x9d30: 0x4041c420, 0x9d32: 0x4041c620, 0x9d33: 0x4041d220,\n\t0x9d35: 0x4041c820, 0x9d36: 0x4041ca20, 0x9d37: 0x4041cc20,\n\t0x9d38: 0x4041ce20, 0x9d39: 0x4041d020,\n\t0x9d3c: 0xa070f102, 0x9d3d: 0x4041d420, 0x9d3e: 0x4041d620, 0x9d3f: 0x4041d820,\n\t// Block 0x275, offset 0x9d40\n\t0x9d40: 0xa0000000, 0x9d41: 0xa0000000, 0x9d42: 0xa0000000, 0x9d43: 0xa0000000,\n\t0x9d44: 0xa0000000, 0x9d45: 0xa0000000, 0x9d46: 0xa0000000, 0x9d47: 0xa0000000,\n\t0x9d48: 0xa0000000, 0x9d49: 0x40020020, 0x9d4a: 0x40020220, 0x9d4b: 0x40020420,\n\t0x9d4c: 0x40020620, 0x9d4d: 0x40020820, 0x9d4e: 0xa0000000, 0x9d4f: 0xa0000000,\n\t0x9d50: 0xa0000000, 0x9d51: 0xa0000000, 0x9d52: 0xa0000000, 0x9d53: 0xa0000000,\n\t0x9d54: 0xa0000000, 0x9d55: 0xa0000000, 0x9d56: 0xa0000000, 0x9d57: 0xa0000000,\n\t0x9d58: 0xa0000000, 0x9d59: 0xa0000000, 0x9d5a: 0xa0000000, 0x9d5b: 0xa0000000,\n\t0x9d5c: 0xa0000000, 0x9d5d: 0xa0000000, 0x9d5e: 0xa0000000, 0x9d5f: 0xa0000000,\n\t0x9d60: 0x40021220, 0x9d61: 0x4002ba20, 0x9d62: 0x4003e020, 0x9d63: 0x4004ea20,\n\t0x9d64: 0x4027de20, 0x9d65: 0x4004ec20, 0x9d66: 0x4004e620, 0x9d67: 0xc58f26f2,\n\t0x9d68: 0x4003f420, 0x9d69: 0x4003f620, 0x9d6a: 0x4004d820, 0x9d6b: 0x40093820,\n\t0x9d6c: 0x40024020, 0x9d6d: 0x40021a20, 0x9d6e: 0x4002e420, 0x9d6f: 0x4004e220,\n\t0x9d70: 0x4029cc20, 0x9d71: 0x4029ce20, 0x9d72: 0x4029d020, 0x9d73: 0x4029d220,\n\t0x9d74: 0x4029d420, 0x9d75: 0x4029d620, 0x9d76: 0x4029d820, 0x9d77: 0x4029da20,\n\t0x9d78: 0x4029dc20, 0x9d79: 0x4029de20, 0x9d7a: 0x40026c20, 0x9d7b: 0x40026220,\n\t0x9d7c: 0x40094020, 0x9d7d: 0x40094220, 0x9d7e: 0x40094420, 0x9d7f: 0x4002c420,\n\t// Block 0x276, offset 0x9d80\n\t0x9d80: 0x4004d620, 0x9d81: 0x002bde88, 0x9d82: 0x002c0a88, 0x9d83: 0x002c3a88,\n\t0x9d84: 0x002c6288, 0x9d85: 0x002c9888, 0x9d86: 0x002d0888, 0x9d87: 0x002d2288,\n\t0x9d88: 0x002d6888, 0x9d89: 0x002d9a88, 0x9d8a: 0x002dcc88, 0x9d8b: 0x002dfe88,\n\t0x9d8c: 0xc0030002, 0x9d8d: 0x002e8288, 0x9d8e: 0x002e9e88, 0x9d8f: 0x002ee288,\n\t0x9d90: 0x002f2c88, 0x9d91: 0x002f5688, 0x9d92: 0x002f7a88, 0x9d93: 0xc58909c2,\n\t0x9d94: 0xc38a2722, 0x9d95: 0x00306c88, 0x9d96: 0x0030be88, 0x9d97: 0x0030e288,\n\t0x9d98: 0x0030f688, 0x9d99: 0x00310088, 0x9d9a: 0x00312a88, 0x9d9b: 0x4003f820,\n\t0x9d9c: 0x4004e420, 0x9d9d: 0x4003fa20, 0x9d9e: 0x40062420, 0x9d9f: 0x40021620,\n\t0x9da0: 0x40061e20, 0x9da1: 0x402bde20, 0x9da2: 0x402c0a20, 0x9da3: 0x402c3a20,\n\t0x9da4: 0x402c6220, 0x9da5: 0x402c9820, 0x9da6: 0x402d0820, 0x9da7: 0x402d2220,\n\t0x9da8: 0x402d6820, 0x9da9: 0x402d9a20, 0x9daa: 0x402dcc20, 0x9dab: 0x402dfe20,\n\t0x9dac: 0xc0000002, 0x9dad: 0x402e8220, 0x9dae: 0x402e9e20, 0x9daf: 0x402ee220,\n\t0x9db0: 0x402f2c20, 0x9db1: 0x402f5620, 0x9db2: 0x402f7a20, 0x9db3: 0xc34109b1,\n\t0x9db4: 0xc3882711, 0x9db5: 0x40306c20, 0x9db6: 0x4030be20, 0x9db7: 0x4030e220,\n\t0x9db8: 0x4030f620, 0x9db9: 0x40310020, 0x9dba: 0x40312a20, 0x9dbb: 0x4003fc20,\n\t0x9dbc: 0x40094820, 0x9dbd: 0x4003fe20, 0x9dbe: 0x40094c20, 0x9dbf: 0xa0000000,\n\t// Block 0x277, offset 0x9dc0\n\t0x9dc0: 0x402c1a20, 0x9dc1: 0x002c0c83, 0x9dc2: 0x002c3288, 0x9dc3: 0x402c3220,\n\t0x9dc4: 0x0031c488, 0x9dc5: 0x4031c420, 0x9dc6: 0x002efa88, 0x9dc7: 0x002c4e88,\n\t0x9dc8: 0x402c4e20, 0x9dc9: 0x002c7288, 0x9dca: 0x002c6483, 0x9dcb: 0x002c8488,\n\t0x9dcc: 0x402c8420, 0x9dcd: 0xe000115c, 0x9dce: 0x002cae88, 0x9dcf: 0x002cb888,\n\t0x9dd0: 0x002cc288, 0x9dd1: 0x002d1688, 0x9dd2: 0x402d1620, 0x9dd3: 0x002d4488,\n\t0x9dd4: 0x002d5888, 0x9dd5: 0x402d7820, 0x9dd6: 0x002dc288, 0x9dd7: 0x002db688,\n\t0x9dd8: 0x002e0083, 0x9dd9: 0x402e0020, 0x9dda: 0x402e3820, 0x9ddb: 0x402e7220,\n\t0x9ddc: 0x0030a088, 0x9ddd: 0x002eb488, 0x9dde: 0x402ebc20, 0x9ddf: 0x002f1088,\n\t0x9de0: 0xe0000e56, 0x9de1: 0xe0000e53, 0x9de2: 0x002d6088, 0x9de3: 0x402d6020,\n\t0x9de4: 0x002f3e88, 0x9de5: 0x402f3e20, 0x9de6: 0x002f8288, 0x9de7: 0x0031b488,\n\t0x9de8: 0x4031b420, 0x9de9: 0x00300888, 0x9dea: 0x40301220, 0x9deb: 0x40304220,\n\t0x9dec: 0x00304a88, 0x9ded: 0x40304a20, 0x9dee: 0x00305288, 0x9def: 0xe000105f,\n\t0x9df0: 0xe000105c, 0x9df1: 0x0030b488, 0x9df2: 0x0030cc88, 0x9df3: 0x00310285,\n\t0x9df4: 0x40310220, 0x9df5: 0x00313488, 0x9df6: 0x40313420, 0x9df7: 0x00316488,\n\t0x9df8: 0x00316e88, 0x9df9: 0x40316e20, 0x9dfa: 0x40317820, 0x9dfb: 0x4031a620,\n\t0x9dfc: 0x0031bc88, 0x9dfd: 0x4031bc20, 0x9dfe: 0xe0000fc9, 0x9dff: 0x40319420,\n\t// Block 0x278, offset 0x9e00\n\t0x9e00: 0x40315820, 0x9e01: 0x0031d488, 0x9e02: 0x4031d420, 0x9e03: 0x002c1a88,\n\t0x9e04: 0x00307c88, 0x9e05: 0x0030da88, 0x9e06: 0x002ca288, 0x9e07: 0x402ca220,\n\t0x9e08: 0x002dde88, 0x9e09: 0x402dde20, 0x9e0a: 0x002f6a88, 0x9e0b: 0x402f6a20,\n\t0x9e0c: 0x002f8e88, 0x9e0d: 0x402f8e20, 0x9e0e: 0x00311088, 0x9e0f: 0x40311020,\n\t0x9e10: 0x402bf020, 0x9e11: 0x402bf820, 0x9e12: 0x402c0220, 0x9e13: 0x402c0c20,\n\t0x9e14: 0x402efa20, 0x9e15: 0x402c5620, 0x9e16: 0x402c7220, 0x9e17: 0x402c6420,\n\t0x9e18: 0x402ccc20, 0x9e19: 0x402cb820, 0x9e1a: 0x402cd420, 0x9e1b: 0x402cc220,\n\t0x9e1c: 0x402cdc20, 0x9e1d: 0x402ce820, 0x9e1e: 0x402cf020, 0x9e1f: 0x402dee20,\n\t0x9e20: 0x402d4420, 0x9e21: 0x402d2a20, 0x9e22: 0x402d3220, 0x9e23: 0x402d5820,\n\t0x9e24: 0x402d0020, 0x9e25: 0x40308820, 0x9e26: 0x402d8020, 0x9e27: 0x402d8e20,\n\t0x9e28: 0x402db620, 0x9e29: 0x402dc220, 0x9e2a: 0x402daa20, 0x9e2b: 0x402e4220,\n\t0x9e2c: 0x402e4a20, 0x9e2d: 0x402e5420, 0x9e2e: 0x402e6820, 0x9e2f: 0x4030a020,\n\t0x9e30: 0x4030ac20, 0x9e31: 0x402e9020, 0x9e32: 0x402eb420, 0x9e33: 0x402ec820,\n\t0x9e34: 0x402ea620, 0x9e35: 0x402f1020, 0x9e36: 0x402eee20, 0x9e37: 0x402f1a20,\n\t0x9e38: 0x402f4c20, 0x9e39: 0x402f9820, 0x9e3a: 0x402fa220, 0x9e3b: 0x402fac20,\n\t0x9e3c: 0x402fb620, 0x9e3d: 0x402fbe20, 0x9e3e: 0x402fc620, 0x9e3f: 0x402fd020,\n\t// Block 0x279, offset 0x9e40\n\t0x9e40: 0x402f8220, 0x9e41: 0x402fd820, 0x9e42: 0x402ff420, 0x9e43: 0x40300820,\n\t0x9e44: 0x402df620, 0x9e45: 0x40301a20, 0x9e46: 0x40302420, 0x9e47: 0x40306420,\n\t0x9e48: 0x40305220, 0x9e49: 0x40307c20, 0x9e4a: 0x4030b420, 0x9e4b: 0x4030cc20,\n\t0x9e4c: 0x4030da20, 0x9e4d: 0x4030ee20, 0x9e4e: 0x402e7a20, 0x9e4f: 0x40310820,\n\t0x9e50: 0x40314820, 0x9e51: 0x40315020, 0x9e52: 0x40316420, 0x9e53: 0x40318020,\n\t0x9e54: 0x4031cc20, 0x9e55: 0x4031e820, 0x9e56: 0x40320a20, 0x9e57: 0x40323220,\n\t0x9e58: 0x40323a20, 0x9e59: 0x402c1220, 0x9e5a: 0x402cf820, 0x9e5b: 0x402d4c20,\n\t0x9e5c: 0x402d7020, 0x9e5d: 0x402de620, 0x9e5e: 0x402e1a20, 0x9e5f: 0x402e2a20,\n\t0x9e60: 0x402f6220, 0x9e61: 0x4031fa20, 0x9e62: 0x40320220, 0x9e63: 0xe0000aca,\n\t0x9e64: 0xe0000adc, 0x9e65: 0xe0000ad9, 0x9e66: 0xe0000fcc, 0x9e67: 0xe0000fcf,\n\t0x9e68: 0xe0000fba, 0x9e69: 0xe0000ba1, 0x9e6a: 0xe0000d11, 0x9e6b: 0xe0000d18,\n\t0x9e6c: 0x40324220, 0x9e6d: 0x40324a20, 0x9e6e: 0x40309020, 0x9e6f: 0x40309820,\n\t0x9e70: 0x002d6894, 0x9e71: 0x002d8094, 0x9e72: 0x002dcc94, 0x9e73: 0x002f7a94,\n\t0x9e74: 0x002f9894, 0x9e75: 0x002fac94, 0x9e76: 0x002fd894, 0x9e77: 0x0030e294,\n\t0x9e78: 0x00310094, 0x9e79: 0x40064020, 0x9e7a: 0x40064420, 0x9e7b: 0x402d9620,\n\t0x9e7c: 0xc58c26f2, 0x9e7d: 0x402d9820, 0x9e7e: 0x4031e220, 0x9e7f: 0x4031f020,\n\t// Block 0x27a, offset 0x9e80\n\t0x9e80: 0xa0000000, 0x9e81: 0xa0000000, 0x9e82: 0xa0000000, 0x9e83: 0xa0000000,\n\t0x9e84: 0xa0000000, 0x9e85: 0xa0000000, 0x9e86: 0xa0000000, 0x9e87: 0xa0000000,\n\t0x9e88: 0xa0000000, 0x9e89: 0x40020020, 0x9e8a: 0x40020220, 0x9e8b: 0x40020420,\n\t0x9e8c: 0x40020620, 0x9e8d: 0x40020820, 0x9e8e: 0xa0000000, 0x9e8f: 0xa0000000,\n\t0x9e90: 0xa0000000, 0x9e91: 0xa0000000, 0x9e92: 0xa0000000, 0x9e93: 0xa0000000,\n\t0x9e94: 0xa0000000, 0x9e95: 0xa0000000, 0x9e96: 0xa0000000, 0x9e97: 0xa0000000,\n\t0x9e98: 0xa0000000, 0x9e99: 0xa0000000, 0x9e9a: 0xa0000000, 0x9e9b: 0xa0000000,\n\t0x9e9c: 0xa0000000, 0x9e9d: 0xa0000000, 0x9e9e: 0xa0000000, 0x9e9f: 0xa0000000,\n\t0x9ea0: 0x40021220, 0x9ea1: 0x4002ba20, 0x9ea2: 0x4003e020, 0x9ea3: 0x4004ea20,\n\t0x9ea4: 0x4027de20, 0x9ea5: 0x4004ec20, 0x9ea6: 0x4004e620, 0x9ea7: 0x4003d220,\n\t0x9ea8: 0x4003f420, 0x9ea9: 0x4003f620, 0x9eaa: 0x4004d820, 0x9eab: 0x40093820,\n\t0x9eac: 0x40024020, 0x9ead: 0x40021a20, 0x9eae: 0x4002e420, 0x9eaf: 0x4004e220,\n\t0x9eb0: 0x4029cc20, 0x9eb1: 0x4029ce20, 0x9eb2: 0x4029d020, 0x9eb3: 0x4029d220,\n\t0x9eb4: 0x4029d420, 0x9eb5: 0x4029d620, 0x9eb6: 0x4029d820, 0x9eb7: 0x4029da20,\n\t0x9eb8: 0x4029dc20, 0x9eb9: 0x4029de20, 0x9eba: 0x40026c20, 0x9ebb: 0x40026220,\n\t0x9ebc: 0x40094020, 0x9ebd: 0x40094220, 0x9ebe: 0x40094420, 0x9ebf: 0x4002c420,\n\t// Block 0x27b, offset 0x9ec0\n\t0x9ec0: 0x4004d620, 0x9ec1: 0x002bde83, 0x9ec2: 0x002c0a88, 0x9ec3: 0x002c3a88,\n\t0x9ec4: 0x002c6288, 0x9ec5: 0x002be083, 0x9ec6: 0x002d0888, 0x9ec7: 0x002d2288,\n\t0x9ec8: 0x002be883, 0x9ec9: 0x002be283, 0x9eca: 0x002dcc88, 0x9ecb: 0x002bea83,\n\t0x9ecc: 0xc5950002, 0x9ecd: 0x002bee83, 0x9ece: 0x002bf083, 0x9ecf: 0x002be483,\n\t0x9ed0: 0x002bf283, 0x9ed1: 0x002f5688, 0x9ed2: 0x002f7a88, 0x9ed3: 0x002fe688,\n\t0x9ed4: 0x00302c88, 0x9ed5: 0x002be683, 0x9ed6: 0x0030be88, 0x9ed7: 0x002bf483,\n\t0x9ed8: 0x0030f688, 0x9ed9: 0x00310088, 0x9eda: 0x00312a88, 0x9edb: 0x4003f820,\n\t0x9edc: 0x4004e420, 0x9edd: 0x4003fa20, 0x9ede: 0x40062420, 0x9edf: 0x40021620,\n\t0x9ee0: 0x40061e20, 0x9ee1: 0x402bde20, 0x9ee2: 0x402c0a20, 0x9ee3: 0x402c3a20,\n\t0x9ee4: 0x402c6220, 0x9ee5: 0x402be020, 0x9ee6: 0x402d0820, 0x9ee7: 0x402d2220,\n\t0x9ee8: 0x402be820, 0x9ee9: 0x402be220, 0x9eea: 0x402dcc20, 0x9eeb: 0x402bea20,\n\t0x9eec: 0xc5920002, 0x9eed: 0x402bee20, 0x9eee: 0x402bf020, 0x9eef: 0x402be420,\n\t0x9ef0: 0x402bf220, 0x9ef1: 0x402f5620, 0x9ef2: 0x402f7a20, 0x9ef3: 0x402fe620,\n\t0x9ef4: 0x40302c20, 0x9ef5: 0x402be620, 0x9ef6: 0x4030be20, 0x9ef7: 0x402bf420,\n\t0x9ef8: 0x4030f620, 0x9ef9: 0x40310020, 0x9efa: 0x40312a20, 0x9efb: 0x4003fc20,\n\t0x9efc: 0x40094820, 0x9efd: 0x4003fe20, 0x9efe: 0x40094c20, 0x9eff: 0xa0000000,\n\t// Block 0x27c, offset 0x9f00\n\t0x9f00: 0xe000382a, 0x9f01: 0xe0003827, 0x9f02: 0xe0003840, 0x9f03: 0xe0003864,\n\t0x9f04: 0xe000385d, 0x9f05: 0xe0003856, 0x9f06: 0xe00009dd, 0x9f07: 0xe0000a53,\n\t0x9f08: 0xe0003894, 0x9f09: 0xe000388e, 0x9f0a: 0xe00038a0, 0x9f0b: 0xe00038cc,\n\t0x9f0c: 0xe000393a, 0x9f0d: 0xe0003934, 0x9f0e: 0xe0003946, 0x9f0f: 0xe0003952,\n\t0x9f10: 0xe0000ab3, 0x9f11: 0xe0003be8, 0x9f12: 0xe0003999, 0x9f13: 0xe0003993,\n\t0x9f14: 0xe00039a5, 0x9f15: 0xe00039e5, 0x9f16: 0xe00039d1, 0x9f17: 0x40093e20,\n\t0x9f18: 0xe0000e12, 0x9f19: 0xe0003a89, 0x9f1a: 0xe0003a83, 0x9f1b: 0xe0003a95,\n\t0x9f1c: 0xe0003aa7, 0x9f1d: 0xe0001102, 0x9f1e: 0x00318888, 0x9f1f: 0xe0000f7b,\n\t0x9f20: 0xe00008f2, 0x9f21: 0xe00008ec, 0x9f22: 0xe000091e, 0x9f23: 0xe0000966,\n\t0x9f24: 0xe0000958, 0x9f25: 0xe000094a, 0x9f26: 0xe00009d5, 0x9f27: 0xe0000a4d,\n\t0x9f28: 0xe0003891, 0x9f29: 0xe000388b, 0x9f2a: 0xe000389d, 0x9f2b: 0xe00038c9,\n\t0x9f2c: 0xe0003937, 0x9f2d: 0xe0003931, 0x9f2e: 0xe0003943, 0x9f2f: 0xe000394f,\n\t0x9f30: 0xe0000aad, 0x9f31: 0xe0003be5, 0x9f32: 0xe0003996, 0x9f33: 0xe0003990,\n\t0x9f34: 0xe00039a2, 0x9f35: 0xe00039e2, 0x9f36: 0xe00039ce, 0x9f37: 0x40093c20,\n\t0x9f38: 0xe0000e0f, 0x9f39: 0xe0003a86, 0x9f3a: 0xe0003a80, 0x9f3b: 0xe0003a92,\n\t0x9f3c: 0xe0003aa4, 0x9f3d: 0xe00010ff, 0x9f3e: 0x40318820, 0x9f3f: 0xe0001114,\n\t// Block 0x27d, offset 0x9f40\n\t0x9f40: 0xe0003871, 0x9f41: 0xe0000980, 0x9f42: 0xe000382d, 0x9f43: 0xe00008f8,\n\t0x9f44: 0xe000386e, 0x9f45: 0xe000097a, 0x9f46: 0xe0000a38, 0x9f47: 0xe0000a35,\n\t0x9f48: 0xe0000a3e, 0x9f49: 0xe0000a3b, 0x9f4a: 0xe0000a4a, 0x9f4b: 0xe0000a47,\n\t0x9f4c: 0xe0000a44, 0x9f4d: 0xe0000a41, 0x9f4e: 0xe0000a86, 0x9f4f: 0xe0000a83,\n\t0x9f50: 0xe0000aaa, 0x9f51: 0xe0000aa7, 0x9f52: 0xe00038f2, 0x9f53: 0xe00038ef,\n\t0x9f54: 0xe000389a, 0x9f55: 0xe0003897, 0x9f56: 0xe00038d8, 0x9f57: 0xe00038d5,\n\t0x9f58: 0xe00038ec, 0x9f59: 0xe00038e9, 0x9f5a: 0xe00038c6, 0x9f5b: 0xe00038c3,\n\t0x9f5c: 0xe0000bb8, 0x9f5d: 0xe0000bb5, 0x9f5e: 0xe0000bb2, 0x9f5f: 0xe0000baf,\n\t0x9f60: 0xe0000bc4, 0x9f61: 0xe0000bc1, 0x9f62: 0xe0000bca, 0x9f63: 0xe0000bc7,\n\t0x9f64: 0xe0003b4d, 0x9f65: 0xe0003b4a, 0x9f66: 0xe0000c1b, 0x9f67: 0xe0000c18,\n\t0x9f68: 0xe0003960, 0x9f69: 0xe000395d, 0x9f6a: 0xe000396f, 0x9f6b: 0xe000396c,\n\t0x9f6c: 0xe0003940, 0x9f6d: 0xe000393d, 0x9f6e: 0xe0003969, 0x9f6f: 0xe0003966,\n\t0x9f70: 0xe0003963, 0x9f71: 0x402da220, 0x9f72: 0xe00027e2, 0x9f73: 0xe00027df,\n\t0x9f74: 0xe0000c8a, 0x9f75: 0xe0000c87, 0x9f76: 0xe0003b86, 0x9f77: 0xe0003b83,\n\t0x9f78: 0x402f7220, 0x9f79: 0xe0003b98, 0x9f7a: 0xe0003b95, 0x9f7b: 0xe0003ba4,\n\t0x9f7c: 0xe0003ba1, 0x9f7d: 0xe0003b9e, 0x9f7e: 0xe0003b9b, 0x9f7f: 0xe0000d04,\n\t// Block 0x27e, offset 0x9f80\n\t0x9f80: 0xe0000cfe, 0x9f81: 0xe0000cf8, 0x9f82: 0xe0000cf5, 0x9f83: 0xe0003bd6,\n\t0x9f84: 0xe0003bd3, 0x9f85: 0xe0003bf4, 0x9f86: 0xe0003bf1, 0x9f87: 0xe0003be2,\n\t0x9f88: 0xe0003bdf, 0x9f89: 0xe00035eb, 0x9f8a: 0x002eda88, 0x9f8b: 0x402eda20,\n\t0x9f8c: 0xe0003a1f, 0x9f8d: 0xe0003a1c, 0x9f8e: 0xe000399f, 0x9f8f: 0xe000399c,\n\t0x9f90: 0xe00039df, 0x9f91: 0xe00039dc, 0x9f92: 0xe0000e93, 0x9f93: 0xe0000e8f,\n\t0x9f94: 0xe0000eca, 0x9f95: 0xe0000ec7, 0x9f96: 0xe0000edc, 0x9f97: 0xe0000ed9,\n\t0x9f98: 0xe0000ed0, 0x9f99: 0xe0000ecd, 0x9f9a: 0xe0000f1f, 0x9f9b: 0xe0000f1c,\n\t0x9f9c: 0xe0000f2d, 0x9f9d: 0xe0000f2a, 0x9f9e: 0xe0000f47, 0x9f9f: 0xe0000f44,\n\t0x9fa0: 0xe0000f33, 0x9fa1: 0xe0000f30, 0x9fa2: 0xe0000f99, 0x9fa3: 0xe0000f96,\n\t0x9fa4: 0xe0000f8a, 0x9fa5: 0xe0000f87, 0x9fa6: 0x00303688, 0x9fa7: 0x40303620,\n\t0x9fa8: 0xe0003ad3, 0x9fa9: 0xe0003ad0, 0x9faa: 0xe0003ae7, 0x9fab: 0xe0003ae4,\n\t0x9fac: 0xe0003a8f, 0x9fad: 0xe0003a8c, 0x9fae: 0xe0003aa1, 0x9faf: 0xe0003a9e,\n\t0x9fb0: 0xe0003acd, 0x9fb1: 0xe0003aca, 0x9fb2: 0xe0003ae1, 0x9fb3: 0xe0003ade,\n\t0x9fb4: 0xe0003c24, 0x9fb5: 0xe0003c21, 0x9fb6: 0xe000110e, 0x9fb7: 0xe000110b,\n\t0x9fb8: 0xe0001117, 0x9fb9: 0xe000113b, 0x9fba: 0xe0001138, 0x9fbb: 0xe000114d,\n\t0x9fbc: 0xe000114a, 0x9fbd: 0xe0001147, 0x9fbe: 0xe0001144, 0x9fbf: 0xe0000f64,\n\t// Block 0x27f, offset 0x9fc0\n\t0x9fc0: 0x402c1a20, 0x9fc1: 0x002c2a88, 0x9fc2: 0x002c3288, 0x9fc3: 0x402c3220,\n\t0x9fc4: 0x0031c488, 0x9fc5: 0x4031c420, 0x9fc6: 0x002efa88, 0x9fc7: 0x002c4e88,\n\t0x9fc8: 0x402c4e20, 0x9fc9: 0x002c7288, 0x9fca: 0x002c7a88, 0x9fcb: 0x002c8488,\n\t0x9fcc: 0x402c8420, 0x9fcd: 0xe000115c, 0x9fce: 0x002cae88, 0x9fcf: 0x002cb888,\n\t0x9fd0: 0x002cc288, 0x9fd1: 0x002d1688, 0x9fd2: 0x402d1620, 0x9fd3: 0x002d4488,\n\t0x9fd4: 0x002d5888, 0x9fd5: 0x402d7820, 0x9fd6: 0x002dc288, 0x9fd7: 0x002db688,\n\t0x9fd8: 0x002e0a88, 0x9fd9: 0x402e0a20, 0x9fda: 0x402e3820, 0x9fdb: 0x402e7220,\n\t0x9fdc: 0x0030a088, 0x9fdd: 0x002eb488, 0x9fde: 0x402ebc20, 0x9fdf: 0x002f1088,\n\t0x9fe0: 0xe0003a47, 0x9fe1: 0xe0003a44, 0x9fe2: 0x002d6088, 0x9fe3: 0x402d6020,\n\t0x9fe4: 0x002f3e88, 0x9fe5: 0x402f3e20, 0x9fe6: 0x002f8288, 0x9fe7: 0x0031b488,\n\t0x9fe8: 0x4031b420, 0x9fe9: 0x00300888, 0x9fea: 0x40301220, 0x9feb: 0x40304220,\n\t0x9fec: 0x00304a88, 0x9fed: 0x40304a20, 0x9fee: 0x00305288, 0x9fef: 0xe0003b07,\n\t0x9ff0: 0xe0003b04, 0x9ff1: 0x0030b488, 0x9ff2: 0x0030cc88, 0x9ff3: 0x00311888,\n\t0x9ff4: 0x40311820, 0x9ff5: 0x00313488, 0x9ff6: 0x40313420, 0x9ff7: 0x00316488,\n\t0x9ff8: 0x00316e88, 0x9ff9: 0x40316e20, 0x9ffa: 0x40317820, 0x9ffb: 0x4031a620,\n\t0x9ffc: 0x0031bc88, 0x9ffd: 0x4031bc20, 0x9ffe: 0xe0000fc9, 0x9fff: 0x40319420,\n\t// Block 0x280, offset 0xa000\n\t0xa000: 0x40321220, 0xa001: 0x40321a20, 0xa002: 0x40322220, 0xa003: 0x40322a20,\n\t0xa004: 0xe0000ad5, 0xa005: 0xe0000ad1, 0xa006: 0xe0000acd, 0xa007: 0xe000357f,\n\t0xa008: 0xe000357c, 0xa009: 0xe0003579, 0xa00a: 0xe00035c4, 0xa00b: 0xe00035c1,\n\t0xa00c: 0xe00035be, 0xa00d: 0xe0003853, 0xa00e: 0xe0000944, 0xa00f: 0xe000394c,\n\t0xa010: 0xe0003949, 0xa011: 0xe00039cb, 0xa012: 0xe00039c8, 0xa013: 0xe0003a9b,\n\t0xa014: 0xe0003a98, 0xa015: 0xe0003ac6, 0xa016: 0xe0003ac2, 0xa017: 0xe0003aae,\n\t0xa018: 0xe0003aaa, 0xa019: 0xe0003abe, 0xa01a: 0xe0003aba, 0xa01b: 0xe0003ab6,\n\t0xa01c: 0xe0003ab2, 0xa01d: 0x402cae20, 0xa01e: 0xe0003860, 0xa01f: 0xe000095e,\n\t0xa020: 0xe000386a, 0xa021: 0xe0000972, 0xa022: 0xe00009f4, 0xa023: 0xe00009ef,\n\t0xa024: 0x002d3a88, 0xa025: 0x402d3a20, 0xa026: 0xe0000bbe, 0xa027: 0xe0000bbb,\n\t0xa028: 0xe0003b80, 0xa029: 0xe0003b7d, 0xa02a: 0xe0003a11, 0xa02b: 0xe0003a0e,\n\t0xa02c: 0xe0003a18, 0xa02d: 0xe0003a14, 0xa02e: 0xe0001162, 0xa02f: 0xe000115f,\n\t0xa030: 0xe0000c8d, 0xa031: 0xf0000a0a, 0xa032: 0xf000040a, 0xa033: 0xf0000404,\n\t0xa034: 0xe0000bac, 0xa035: 0xe0000ba9, 0xa036: 0x002d7888, 0xa037: 0x00319488,\n\t0xa038: 0xe0003bdc, 0xa039: 0xe0003bd9, 0xa03a: 0xe0003859, 0xa03b: 0xe0000950,\n\t0xa03c: 0xe00009ea, 0xa03d: 0xe00009e5, 0xa03e: 0xe0000e19, 0xa03f: 0xe0000e15,\n\t// Block 0x281, offset 0xa040\n\t0xa040: 0xe0003877, 0xa041: 0xe000098c, 0xa042: 0xe000387a, 0xa043: 0xe0000992,\n\t0xa044: 0xe000390e, 0xa045: 0xe000390b, 0xa046: 0xe0003914, 0xa047: 0xe0003911,\n\t0xa048: 0xe000397b, 0xa049: 0xe0003978, 0xa04a: 0xe0003981, 0xa04b: 0xe000397e,\n\t0xa04c: 0xe0003a3b, 0xa04d: 0xe0003a38, 0xa04e: 0xe0003a41, 0xa04f: 0xe0003a3e,\n\t0xa050: 0xe0000ee8, 0xa051: 0xe0000ee5, 0xa052: 0xe0000eee, 0xa053: 0xe0000eeb,\n\t0xa054: 0xe0003afb, 0xa055: 0xe0003af8, 0xa056: 0xe0003b01, 0xa057: 0xe0003afe,\n\t0xa058: 0xe0000f61, 0xa059: 0xe0000f5e, 0xa05a: 0xe0000fa5, 0xa05b: 0xe0000fa2,\n\t0xa05c: 0x00312288, 0xa05d: 0x40312220, 0xa05e: 0xe0003b53, 0xa05f: 0xe0003b50,\n\t0xa060: 0x002ebc88, 0xa061: 0x402c8c20, 0xa062: 0x002f2288, 0xa063: 0x402f2220,\n\t0xa064: 0x00314088, 0xa065: 0x40314020, 0xa066: 0xe0003867, 0xa067: 0xe000096c,\n\t0xa068: 0xe00038de, 0xa069: 0xe00038db, 0xa06a: 0xe00039d8, 0xa06b: 0xe00039d4,\n\t0xa06c: 0xe00039fc, 0xa06d: 0xe00039f8, 0xa06e: 0xe0003a03, 0xa06f: 0xe0003a00,\n\t0xa070: 0xe0003a0a, 0xa071: 0xe0003a06, 0xa072: 0xe0001129, 0xa073: 0xe0001126,\n\t0xa074: 0x402e5e20, 0xa075: 0x402ed020, 0xa076: 0x40305a20, 0xa077: 0x402dd420,\n\t0xa078: 0xe0000abf, 0xa079: 0xe0000ec4, 0xa07a: 0x002be888, 0xa07b: 0x002c4488,\n\t0xa07c: 0x402c4420, 0xa07d: 0x002e3888, 0xa07e: 0x00303e88, 0xa07f: 0x402ffc20,\n\t// Block 0x282, offset 0xa080\n\t0xa080: 0x402f8220, 0xa081: 0x402fd820, 0xa082: 0x402ff420, 0xa083: 0x40300820,\n\t0xa084: 0x402df620, 0xa085: 0x40301a20, 0xa086: 0x40302420, 0xa087: 0x40306420,\n\t0xa088: 0x40305220, 0xa089: 0x40307c20, 0xa08a: 0x4030b420, 0xa08b: 0x4030cc20,\n\t0xa08c: 0x4030da20, 0xa08d: 0x4030ee20, 0xa08e: 0x402e7a20, 0xa08f: 0x40310820,\n\t0xa090: 0x40314820, 0xa091: 0x40315020, 0xa092: 0x40316420, 0xa093: 0x40318020,\n\t0xa094: 0x4031cc20, 0xa095: 0x4031e820, 0xa096: 0x40320a20, 0xa097: 0x40323220,\n\t0xa098: 0x40323a20, 0xa099: 0x402c1220, 0xa09a: 0x402cf820, 0xa09b: 0x402d4c20,\n\t0xa09c: 0x402d7020, 0xa09d: 0x402de620, 0xa09e: 0x402e1a20, 0xa09f: 0x402e2a20,\n\t0xa0a0: 0x402f6220, 0xa0a1: 0x4031fa20, 0xa0a2: 0x40320220, 0xa0a3: 0xe0000aca,\n\t0xa0a4: 0xe0000adc, 0xa0a5: 0xe0000ad9, 0xa0a6: 0xe0000fcc, 0xa0a7: 0xe0000fcf,\n\t0xa0a8: 0xe0000fba, 0xa0a9: 0xe0000ba1, 0xa0aa: 0xe0000d11, 0xa0ab: 0xe0000d18,\n\t0xa0ac: 0x40324220, 0xa0ad: 0x40324a20, 0xa0ae: 0x40309020, 0xa0af: 0x40309820,\n\t0xa0b0: 0x002d6894, 0xa0b1: 0x002d8094, 0xa0b2: 0x002dcc94, 0xa0b3: 0x002f7a94,\n\t0xa0b4: 0x002f9894, 0xa0b5: 0x002fac94, 0xa0b6: 0x002fd894, 0xa0b7: 0x0030e294,\n\t0xa0b8: 0x00310094, 0xa0b9: 0x40064020, 0xa0ba: 0x40064420, 0xa0bb: 0x402bf620,\n\t0xa0bc: 0x4031de20, 0xa0bd: 0x402d9820, 0xa0be: 0x4031e220, 0xa0bf: 0x4031f020,\n\t// Block 0x283, offset 0xa0c0\n\t0xa0c0: 0xe0003888, 0xa0c1: 0xe00009ae, 0xa0c2: 0xe0000a22, 0xa0c3: 0xe0000a1f,\n\t0xa0c4: 0xe0000a28, 0xa0c5: 0xe0000a25, 0xa0c6: 0xe0000a2e, 0xa0c7: 0xe0000a2b,\n\t0xa0c8: 0xe0000a5a, 0xa0c9: 0xe0000a56, 0xa0ca: 0xe0000a8c, 0xa0cb: 0xe0000a89,\n\t0xa0cc: 0xe0000a98, 0xa0cd: 0xe0000a95, 0xa0ce: 0xe0000aa4, 0xa0cf: 0xe0000aa1,\n\t0xa0d0: 0xe0000a92, 0xa0d1: 0xe0000a8f, 0xa0d2: 0xe0000a9e, 0xa0d3: 0xe0000a9b,\n\t0xa0d4: 0xe0003901, 0xa0d5: 0xe00038fd, 0xa0d6: 0xe00038f9, 0xa0d7: 0xe00038f5,\n\t0xa0d8: 0xe0003928, 0xa0d9: 0xe0003925, 0xa0da: 0xe000392e, 0xa0db: 0xe000392b,\n\t0xa0dc: 0xe00038e5, 0xa0dd: 0xe00038e1, 0xa0de: 0xe0000b8c, 0xa0df: 0xe0000b89,\n\t0xa0e0: 0xe0000bd0, 0xa0e1: 0xe0000bcd, 0xa0e2: 0xe0003b5f, 0xa0e3: 0xe0003b5c,\n\t0xa0e4: 0xe0003b6b, 0xa0e5: 0xe0003b68, 0xa0e6: 0xe0003b59, 0xa0e7: 0xe0003b56,\n\t0xa0e8: 0xe0003b65, 0xa0e9: 0xe0003b62, 0xa0ea: 0xe0003b71, 0xa0eb: 0xe0003b6e,\n\t0xa0ec: 0xe000398d, 0xa0ed: 0xe000398a, 0xa0ee: 0xe0003959, 0xa0ef: 0xe0003955,\n\t0xa0f0: 0xe0003b7a, 0xa0f1: 0xe0003b77, 0xa0f2: 0xe0003b8c, 0xa0f3: 0xe0003b89,\n\t0xa0f4: 0xe0003b92, 0xa0f5: 0xe0003b8f, 0xa0f6: 0xe0003baa, 0xa0f7: 0xe0003ba7,\n\t0xa0f8: 0xe0003bb1, 0xa0f9: 0xe0003bad, 0xa0fa: 0xe0003bbe, 0xa0fb: 0xe0003bbb,\n\t0xa0fc: 0xe0003bb8, 0xa0fd: 0xe0003bb5, 0xa0fe: 0xe0003bc4, 0xa0ff: 0xe0003bc1,\n\t// Block 0x284, offset 0xa100\n\t0xa100: 0xe0003bca, 0xa101: 0xe0003bc7, 0xa102: 0xe0003bd0, 0xa103: 0xe0003bcd,\n\t0xa104: 0xe0003bee, 0xa105: 0xe0003beb, 0xa106: 0xe0003bfa, 0xa107: 0xe0003bf7,\n\t0xa108: 0xe0003c06, 0xa109: 0xe0003c03, 0xa10a: 0xe0003c00, 0xa10b: 0xe0003bfd,\n\t0xa10c: 0xe00039ec, 0xa10d: 0xe00039e8, 0xa10e: 0xe00039f4, 0xa10f: 0xe00039f0,\n\t0xa110: 0xe0003a2e, 0xa111: 0xe0003a2a, 0xa112: 0xe0003a26, 0xa113: 0xe0003a22,\n\t0xa114: 0xe0003c0c, 0xa115: 0xe0003c09, 0xa116: 0xe0003c12, 0xa117: 0xe0003c0f,\n\t0xa118: 0xe0000ed6, 0xa119: 0xe0000ed3, 0xa11a: 0xe0000ef4, 0xa11b: 0xe0000ef1,\n\t0xa11c: 0xe0000efb, 0xa11d: 0xe0000ef7, 0xa11e: 0xe0000f02, 0xa11f: 0xe0000eff,\n\t0xa120: 0xe0000f41, 0xa121: 0xe0000f3e, 0xa122: 0xe0000f53, 0xa123: 0xe0000f50,\n\t0xa124: 0xe0000f26, 0xa125: 0xe0000f22, 0xa126: 0xe0000f3a, 0xa127: 0xe0000f36,\n\t0xa128: 0xe0000f5a, 0xa129: 0xe0000f56, 0xa12a: 0xe0000f93, 0xa12b: 0xe0000f90,\n\t0xa12c: 0xe0000f9f, 0xa12d: 0xe0000f9c, 0xa12e: 0xe0000fb1, 0xa12f: 0xe0000fae,\n\t0xa130: 0xe0000fab, 0xa131: 0xe0000fa8, 0xa132: 0xe0003b3b, 0xa133: 0xe0003b38,\n\t0xa134: 0xe0003b47, 0xa135: 0xe0003b44, 0xa136: 0xe0003b41, 0xa137: 0xe0003b3e,\n\t0xa138: 0xe0003ada, 0xa139: 0xe0003ad6, 0xa13a: 0xe0003aee, 0xa13b: 0xe0003aea,\n\t0xa13c: 0xe00010a9, 0xa13d: 0xe00010a6, 0xa13e: 0xe00010af, 0xa13f: 0xe00010ac,\n\t// Block 0x285, offset 0xa140\n\t0xa140: 0xe0003c1e, 0xa141: 0xe0003c1b, 0xa142: 0xe0003c18, 0xa143: 0xe0003c15,\n\t0xa144: 0xe0003c2d, 0xa145: 0xe0003c2a, 0xa146: 0xe0003c33, 0xa147: 0xe0003c30,\n\t0xa148: 0xe0003c39, 0xa149: 0xe0003c36, 0xa14a: 0xe00010fc, 0xa14b: 0xe00010f9,\n\t0xa14c: 0xe00010f6, 0xa14d: 0xe00010f3, 0xa14e: 0xe0001123, 0xa14f: 0xe0001120,\n\t0xa150: 0xe0001141, 0xa151: 0xe000113e, 0xa152: 0xe0001153, 0xa153: 0xe0001150,\n\t0xa154: 0xe0001159, 0xa155: 0xe0001156, 0xa156: 0xe0003b74, 0xa157: 0xe0000f8d,\n\t0xa158: 0xe0003c27, 0xa159: 0xe0001111, 0xa15a: 0xf0000404, 0xa15b: 0xe0000f70,\n\t0xa15c: 0x40300420, 0xa15d: 0x40300620, 0xa15e: 0xe0000f7f, 0xa15f: 0x402c9620,\n\t0xa160: 0xe000387d, 0xa161: 0xe0000998, 0xa162: 0xe0003874, 0xa163: 0xe0000986,\n\t0xa164: 0xe0003843, 0xa165: 0xe0000924, 0xa166: 0xe0003847, 0xa167: 0xe000092c,\n\t0xa168: 0xe000384f, 0xa169: 0xe000093c, 0xa16a: 0xe000384b, 0xa16b: 0xe0000934,\n\t0xa16c: 0xe0003884, 0xa16d: 0xe00009a6, 0xa16e: 0xe0003830, 0xa16f: 0xe00008fe,\n\t0xa170: 0xe0003834, 0xa171: 0xe0000906, 0xa172: 0xe000383c, 0xa173: 0xe0000916,\n\t0xa174: 0xe0003838, 0xa175: 0xe000090e, 0xa176: 0xe0003880, 0xa177: 0xe000099e,\n\t0xa178: 0xe000391a, 0xa179: 0xe0003917, 0xa17a: 0xe0003908, 0xa17b: 0xe0003905,\n\t0xa17c: 0xe00038d2, 0xa17d: 0xe00038cf, 0xa17e: 0xe00038a7, 0xa17f: 0xe00038a3,\n\t// Block 0x286, offset 0xa180\n\t0xa180: 0xe00038af, 0xa181: 0xe00038ab, 0xa182: 0xe00038bf, 0xa183: 0xe00038bb,\n\t0xa184: 0xe00038b7, 0xa185: 0xe00038b3, 0xa186: 0xe0003921, 0xa187: 0xe000391d,\n\t0xa188: 0xe0003975, 0xa189: 0xe0003972, 0xa18a: 0xe0003987, 0xa18b: 0xe0003984,\n\t0xa18c: 0xe0003a75, 0xa18d: 0xe0003a72, 0xa18e: 0xe0003a35, 0xa18f: 0xe0003a32,\n\t0xa190: 0xe00039ac, 0xa191: 0xe00039a8, 0xa192: 0xe00039b4, 0xa193: 0xe00039b0,\n\t0xa194: 0xe00039c4, 0xa195: 0xe00039c0, 0xa196: 0xe00039bc, 0xa197: 0xe00039b8,\n\t0xa198: 0xe0003a7c, 0xa199: 0xe0003a78, 0xa19a: 0xe0003a4e, 0xa19b: 0xe0003a4a,\n\t0xa19c: 0xe0003a56, 0xa19d: 0xe0003a52, 0xa19e: 0xe0003a66, 0xa19f: 0xe0003a62,\n\t0xa1a0: 0xe0003a5e, 0xa1a1: 0xe0003a5a, 0xa1a2: 0xe0003a6e, 0xa1a3: 0xe0003a6a,\n\t0xa1a4: 0xe0003b35, 0xa1a5: 0xe0003b32, 0xa1a6: 0xe0003af5, 0xa1a7: 0xe0003af2,\n\t0xa1a8: 0xe0003b0e, 0xa1a9: 0xe0003b0a, 0xa1aa: 0xe0003b16, 0xa1ab: 0xe0003b12,\n\t0xa1ac: 0xe0003b26, 0xa1ad: 0xe0003b22, 0xa1ae: 0xe0003b1e, 0xa1af: 0xe0003b1a,\n\t0xa1b0: 0xe0003b2e, 0xa1b1: 0xe0003b2a, 0xa1b2: 0xe0001108, 0xa1b3: 0xe0001105,\n\t0xa1b4: 0xe0001135, 0xa1b5: 0xe0001132, 0xa1b6: 0xe000112f, 0xa1b7: 0xe000112c,\n\t0xa1b8: 0xe000111d, 0xa1b9: 0xe000111a, 0xa1ba: 0xe0000d0a, 0xa1bb: 0xe0000d07,\n\t0xa1bc: 0x0030d888, 0xa1bd: 0x4030d820, 0xa1be: 0x00312088, 0xa1bf: 0x40312020,\n\t// Block 0x287, offset 0xa1c0\n\t0xa1c0: 0xe00009bc, 0xa1c1: 0xe00009c0, 0xa1c2: 0x002c3a8b, 0xa1c3: 0xf0000a04,\n\t0xa1c4: 0x40081c20, 0xa1c5: 0xe0000a5e, 0xa1c6: 0xe0000a62, 0xa1c7: 0x002cc28a,\n\t0xa1c8: 0x40081e20, 0xa1c9: 0xf0000a04, 0xa1ca: 0x002d2285, 0xa1cb: 0x002d688b,\n\t0xa1cc: 0x002d688b, 0xa1cd: 0x002d688b, 0xa1ce: 0x002d6885, 0xa1cf: 0xf0000202,\n\t0xa1d0: 0x002d9a8b, 0xa1d1: 0x002d9a8b, 0xa1d2: 0x002e228b, 0xa1d3: 0x002e2285,\n\t0xa1d4: 0x40082020, 0xa1d5: 0x002e9e8b, 0xa1d6: 0xe000281e, 0xa1d7: 0x40082220,\n\t0xa1d8: 0x40082420, 0xa1d9: 0x002f2c8b, 0xa1da: 0x002f568b, 0xa1db: 0x002f7a8b,\n\t0xa1dc: 0x002f7a8b, 0xa1dd: 0x002f7a8b, 0xa1de: 0x40082620, 0xa1df: 0x40082820,\n\t0xa1e0: 0xe0002833, 0xa1e1: 0xe0000fbd, 0xa1e2: 0xe0002842, 0xa1e3: 0x40082a20,\n\t0xa1e4: 0x00312a8b, 0xa1e5: 0x40082c20, 0xa1e6: 0x0032a288, 0xa1e7: 0x40082e20,\n\t0xa1e8: 0x00312a8b, 0xa1e9: 0x40083020, 0xa1ea: 0x002bea83, 0xa1eb: 0xe0003856,\n\t0xa1ec: 0x002c0a8b, 0xa1ed: 0x002c3a8b, 0xa1ee: 0x40083220, 0xa1ef: 0x002c9885,\n\t0xa1f0: 0x002c988b, 0xa1f1: 0x002d088b, 0xa1f2: 0x002d1e88, 0xa1f3: 0x002e828b,\n\t0xa1f4: 0x002ee285, 0xa1f5: 0x00389084, 0xa1f6: 0x00389284, 0xa1f7: 0x00389484,\n\t0xa1f8: 0x00389684, 0xa1f9: 0x002d9a85, 0xa1fa: 0x40083420, 0xa1fb: 0xe0000b95,\n\t0xa1fc: 0x00327e85, 0xa1fd: 0x00325685, 0xa1fe: 0x0032568b, 0xa1ff: 0x00327e8b,\n\t// Block 0x288, offset 0xa200\n\t0xa200: 0xe0000024, 0xa201: 0xe0000029, 0xa202: 0xe000002e, 0xa203: 0xe0000033,\n\t0xa204: 0xe0000038, 0xa205: 0xe000003d, 0xa206: 0xe0000042, 0xa207: 0xe0000047,\n\t0xa208: 0xf0001f04, 0xa209: 0xf0001f04, 0xa20a: 0xf0001f04, 0xa20b: 0xf0001f04,\n\t0xa20c: 0xf0001f04, 0xa20d: 0xf0001f04, 0xa20e: 0xf0001f04, 0xa20f: 0xf0001f04,\n\t0xa210: 0xf0001f04, 0xa211: 0xf0000404, 0xa212: 0xf0000404, 0xa213: 0xf0000404,\n\t0xa214: 0xf0000404, 0xa215: 0xf0000404, 0xa216: 0xf0000404, 0xa217: 0xf0000404,\n\t0xa218: 0xf0000404, 0xa219: 0xf0000404, 0xa21a: 0xf0000404, 0xa21b: 0xf0000404,\n\t0xa21c: 0xf0000404, 0xa21d: 0xf0000404, 0xa21e: 0xf0000404, 0xa21f: 0xf0000404,\n\t0xa220: 0xe000249f, 0xa221: 0xf0000404, 0xa222: 0xf0000404, 0xa223: 0xe00024a7,\n\t0xa224: 0xe00024af, 0xa225: 0xf0000404, 0xa226: 0xe00024b7, 0xa227: 0xe0002c16,\n\t0xa228: 0xe0002c1e, 0xa229: 0xe0002c26, 0xa22a: 0xe00024bf, 0xa22b: 0xe0002c2e,\n\t0xa22c: 0xf0000404, 0xa22d: 0xf0000404, 0xa22e: 0xf0000404, 0xa22f: 0xf0000404,\n\t0xa230: 0xe0002c36, 0xa231: 0xf0000404, 0xa232: 0xe0002c46, 0xa233: 0xf0000404,\n\t0xa234: 0xf0000404, 0xa235: 0xf0000404, 0xa236: 0x002bde8c, 0xa237: 0x002c0a8c,\n\t0xa238: 0x002c3a8c, 0xa239: 0x002c628c, 0xa23a: 0x002c988c, 0xa23b: 0x002d088c,\n\t0xa23c: 0x002d228c, 0xa23d: 0x002d688c, 0xa23e: 0x002d9a8c, 0xa23f: 0x002dcc8c,\n\t// Block 0x289, offset 0xa240\n\t0xa240: 0xe000230b, 0xa241: 0xe00022f8, 0xa242: 0xe00022fc, 0xa243: 0xe0002311,\n\t0xa244: 0xe0002316, 0xa245: 0xe000231d, 0xa246: 0xe0002321, 0xa247: 0xe0002325,\n\t0xa248: 0xe000232b, 0xa249: 0xf0001c1c, 0xa24a: 0xe0002330, 0xa24b: 0xe000233c,\n\t0xa24c: 0xe0002340, 0xa24d: 0xe0002337, 0xa24e: 0xe0002346, 0xa24f: 0xe000234b,\n\t0xa250: 0xe000234f, 0xa251: 0xe0002353, 0xa252: 0xf0001c1c, 0xa253: 0xe000235e,\n\t0xa254: 0xe0002358, 0xa255: 0xf0001c1c, 0xa256: 0xe0002363, 0xa257: 0xe000236d,\n\t0xa258: 0xf0001f04, 0xa259: 0xf0001f04, 0xa25a: 0xf0001f04, 0xa25b: 0xf0001f04,\n\t0xa25c: 0xf0001f04, 0xa25d: 0xf0001f04, 0xa25e: 0xf0001f04, 0xa25f: 0xf0001f04,\n\t0xa260: 0xf0001f04, 0xa261: 0xf0001f04, 0xa262: 0xf0000404, 0xa263: 0xf0000404,\n\t0xa264: 0xf0000404, 0xa265: 0xf0000404, 0xa266: 0xf0000404, 0xa267: 0xf0000404,\n\t0xa268: 0xf0000404, 0xa269: 0xf0000404, 0xa26a: 0xf0000404, 0xa26b: 0xf0000404,\n\t0xa26c: 0xf0000404, 0xa26d: 0xf0000404, 0xa26e: 0xf0000404, 0xa26f: 0xf0000404,\n\t0xa270: 0xf0000404, 0xa271: 0xe0000c1e, 0xa272: 0xf0001c1c, 0xa273: 0xe0002f0d,\n\t0xa274: 0xe0000a31, 0xa275: 0xe0002824, 0xa276: 0xe00035d6, 0xa277: 0xe00032a7,\n\t0xa278: 0xe0000ac2, 0xa279: 0xe0000ac6, 0xa27a: 0xe00027e8, 0xa27b: 0xf0001c1c,\n\t0xa27c: 0xf0001c1c, 0xa27d: 0xf0001c1c, 0xa27e: 0xf0001c1c, 0xa27f: 0xe0002431,\n\t// Block 0x28a, offset 0xa280\n\t0xa280: 0xe00035d0, 0xa281: 0xe00035b8, 0xa282: 0xf0001d1c, 0xa283: 0xe000358e,\n\t0xa284: 0xe00027f7, 0xa285: 0xe00027fa, 0xa286: 0xe0003594, 0xa287: 0xf0001d1d,\n\t0xa288: 0xe0000a6b, 0xa289: 0xe0000cb4, 0xa28a: 0xe00035d9, 0xa28b: 0xe00035bb,\n\t0xa28c: 0xf0001d1c, 0xa28d: 0xf0001c1c, 0xa28e: 0xe000359d, 0xa28f: 0xe00027fd,\n\t0xa290: 0xe00027ce, 0xa291: 0xe0000cb9, 0xa292: 0xe0000d36, 0xa293: 0xe0000be3,\n\t0xa294: 0xe0000fc5, 0xa295: 0xe00035f7, 0xa296: 0xe00035a0, 0xa297: 0xe00032a4,\n\t0xa298: 0xe0002803, 0xa299: 0xe0003570, 0xa29a: 0xe00035c7, 0xa29b: 0xe00035fa,\n\t0xa29c: 0xe00035a3, 0xa29d: 0xe0003099, 0xa29e: 0xe0002806, 0xa29f: 0xe0000d3e,\n\t0xa2a0: 0xe0000a72, 0xa2a1: 0xe0003588, 0xa2a2: 0xe0000cbd, 0xa2a3: 0xe0000d42,\n\t0xa2a4: 0xe0000a76, 0xa2a5: 0xe000358b, 0xa2a6: 0xe0000cc1, 0xa2a7: 0xe0000d2d,\n\t0xa2a8: 0xe0000d31, 0xa2a9: 0xe00035d3, 0xa2aa: 0xe0000cc5, 0xa2ab: 0xe0000d4a,\n\t0xa2ac: 0xe0000be7, 0xa2ad: 0xe0000f0b, 0xa2ae: 0xe0000f0f, 0xa2af: 0xe0000f15,\n\t0xa2b0: 0xe000282d, 0xa2b1: 0xe0002821, 0xa2b2: 0xf0001c1c, 0xa2b3: 0xe000281b,\n\t0xa2b4: 0xe00035dc, 0xa2b5: 0xe00035ca, 0xa2b6: 0xf0001d1c, 0xa2b7: 0xe00035a6,\n\t0xa2b8: 0xe000280f, 0xa2b9: 0xe00035a9, 0xa2ba: 0xe00035df, 0xa2bb: 0xe00035cd,\n\t0xa2bc: 0xe0003600, 0xa2bd: 0xe00035af, 0xa2be: 0xe0002812, 0xa2bf: 0xe00035b2,\n\t// Block 0x28b, offset 0xa2c0\n\t0xa2c0: 0xe0002815, 0xa2c1: 0xe00035b5, 0xa2c2: 0xe00009b7, 0xa2c3: 0xf0001c1d,\n\t0xa2c4: 0xf0001c1c, 0xa2c5: 0xf0001c1c, 0xa2c6: 0xe0000a66, 0xa2c7: 0xe0000a7a,\n\t0xa2c8: 0xf0001d1c, 0xa2c9: 0xf0001c1d, 0xa2ca: 0xe00027c2, 0xa2cb: 0xe00027c8,\n\t0xa2cc: 0xe00027e5, 0xa2cd: 0xe0002800, 0xa2ce: 0xe0002809, 0xa2cf: 0xe000280c,\n\t0xa2d0: 0xe0003582, 0xa2d1: 0xe0003585, 0xa2d2: 0xe0000d0d, 0xa2d3: 0xe0002818,\n\t0xa2d4: 0xe0003591, 0xa2d5: 0xe0000d3a, 0xa2d6: 0xe0000d46, 0xa2d7: 0xe0002827,\n\t0xa2d8: 0xe0000eb0, 0xa2d9: 0xe0000eb8, 0xa2da: 0xe000282a, 0xa2db: 0xf0001c1c,\n\t0xa2dc: 0xf0001c1d, 0xa2dd: 0xe00035e2, 0xa2de: 0xe00010b2, 0xa2df: 0xe00009c8,\n\t0xa2e0: 0xf0001f04, 0xa2e1: 0xf0001f04, 0xa2e2: 0xf0001f04, 0xa2e3: 0xf0001f04,\n\t0xa2e4: 0xf0001f04, 0xa2e5: 0xf0001f04, 0xa2e6: 0xf0001f04, 0xa2e7: 0xf0001f04,\n\t0xa2e8: 0xf0001f04, 0xa2e9: 0xf0000404, 0xa2ea: 0xf0000404, 0xa2eb: 0xf0000404,\n\t0xa2ec: 0xf0000404, 0xa2ed: 0xf0000404, 0xa2ee: 0xf0000404, 0xa2ef: 0xf0000404,\n\t0xa2f0: 0xf0000404, 0xa2f1: 0xf0000404, 0xa2f2: 0xf0000404, 0xa2f3: 0xf0000404,\n\t0xa2f4: 0xf0000404, 0xa2f5: 0xf0000404, 0xa2f6: 0xf0000404, 0xa2f7: 0xf0000404,\n\t0xa2f8: 0xf0000404, 0xa2f9: 0xf0000404, 0xa2fa: 0xf0000404, 0xa2fb: 0xf0000404,\n\t0xa2fc: 0xf0000404, 0xa2fd: 0xf0000404, 0xa2fe: 0xf0000404, 0xa2ff: 0xe0000bdf,\n\t// Block 0x28c, offset 0xa300\n\t0xa300: 0xf0000404, 0xa301: 0xe00026cf, 0xa302: 0xe000356d, 0xa303: 0xe0000b99,\n\t0xa304: 0xe0000b9d, 0xa305: 0xe0000f83, 0xa306: 0xf0000404,\n\t0xa313: 0xf0000404,\n\t0xa314: 0xf0000404, 0xa315: 0xf0000404, 0xa316: 0xf0000404, 0xa317: 0xf0000404,\n\t0xa31d: 0xe000150b, 0xa31e: 0xa1a09602, 0xa31f: 0xe0001514,\n\t0xa320: 0x0038ae85, 0xa321: 0x00389085, 0xa322: 0x00389685, 0xa323: 0x00389885,\n\t0xa324: 0x0038a485, 0xa325: 0x0038a685, 0xa326: 0x0038a885, 0xa327: 0x0038b685,\n\t0xa328: 0x0038ba85, 0xa329: 0x00093885, 0xa32a: 0xe0001542, 0xa32b: 0xe000153f,\n\t0xa32c: 0xe000154c, 0xa32d: 0xe0001548, 0xa32e: 0xe00014e1, 0xa32f: 0xe00014e4,\n\t0xa330: 0xe00014e7, 0xa331: 0xe00014ea, 0xa332: 0xe00014f0, 0xa333: 0xe00014f3,\n\t0xa334: 0xe00014f6, 0xa335: 0xe00014fc, 0xa336: 0xe0001505,\n\t0xa338: 0xe0001508, 0xa339: 0xe000150e, 0xa33a: 0xe000151b, 0xa33b: 0xe0001518,\n\t0xa33c: 0xe0001521, 0xa33e: 0xe0001524,\n\t// Block 0x28d, offset 0xa340\n\t0xa340: 0xf0001f04, 0xa341: 0xf0001f04, 0xa342: 0xf0001f04, 0xa343: 0xf0001f04,\n\t0xa344: 0xf0001f04, 0xa345: 0xf0001f04, 0xa346: 0xf0001f04, 0xa347: 0xf0001f04,\n\t0xa348: 0xf0001f04, 0xa349: 0xf0001f04, 0xa34a: 0xf0001f04,\n\t0xa350: 0xf0000a04, 0xa351: 0xf0000a04, 0xa352: 0xf0000a04, 0xa353: 0xf0000a04,\n\t0xa354: 0xe00024a3, 0xa355: 0xf0000a04, 0xa356: 0xf0000a04, 0xa357: 0xe00024ab,\n\t0xa358: 0xe00024b3, 0xa359: 0xf0000a04, 0xa35a: 0xe00024bb, 0xa35b: 0xe0002c1a,\n\t0xa35c: 0xe0002c22, 0xa35d: 0xe0002c2a, 0xa35e: 0xe00024c3, 0xa35f: 0xe0002c32,\n\t0xa360: 0xf0000a04, 0xa361: 0xf0000a04, 0xa362: 0xf0000a04, 0xa363: 0xf0000a04,\n\t0xa364: 0xe0002c3a, 0xa365: 0xf0000a04, 0xa366: 0xe0002c4a, 0xa367: 0xf0000a04,\n\t0xa368: 0xf0000a04, 0xa369: 0xf0000a04, 0xa36a: 0xf0000a04, 0xa36b: 0x002c3a8c,\n\t0xa36c: 0x002f7a8c, 0xa36d: 0xf0000c0c, 0xa36e: 0xe00035e8,\n\t0xa370: 0x002bde9d, 0xa371: 0x002c0a9d, 0xa372: 0x002c3a9d, 0xa373: 0x002c629d,\n\t0xa374: 0x002c989d, 0xa375: 0x002d089d, 0xa376: 0x002d229d, 0xa377: 0x002d689d,\n\t0xa378: 0x002d9a9d, 0xa379: 0x002dcc9d, 0xa37a: 0x002dfe9d, 0xa37b: 0x002e229d,\n\t0xa37c: 0x002e829d, 0xa37d: 0x002e9e9d, 0xa37e: 0x002ee29d, 0xa37f: 0x002f2c9d,\n\t// Block 0x28e, offset 0xa380\n\t0xa380: 0x002f569d, 0xa381: 0x002f7a9d, 0xa382: 0x002fe69d, 0xa383: 0x00302c9d,\n\t0xa384: 0x00306c9d, 0xa385: 0x0030be9d, 0xa386: 0x0030e29d, 0xa387: 0x0030f69d,\n\t0xa388: 0x0031009d, 0xa389: 0x00312a9d, 0xa38a: 0xe00027cb, 0xa38b: 0xe00035ac,\n\t0xa38c: 0xf0001d1d, 0xa38d: 0xf0001d1d, 0xa38e: 0xe0000ebc, 0xa38f: 0xe00035e5,\n\t0xa390: 0x002bde8c, 0xa391: 0x002c0a8c, 0xa392: 0x002c3a8c, 0xa393: 0x002c628c,\n\t0xa394: 0x002c988c, 0xa395: 0x002d088c, 0xa396: 0x002d228c, 0xa397: 0x002d688c,\n\t0xa398: 0x002d9a8c, 0xa399: 0x002dcc8c, 0xa39a: 0x002dfe8c, 0xa39b: 0x002e228c,\n\t0xa39c: 0x002e828c, 0xa39d: 0x002e9e8c, 0xa39e: 0x002ee28c, 0xa39f: 0x002f2c8c,\n\t0xa3a0: 0x002f568c, 0xa3a1: 0x002f7a8c, 0xa3a2: 0x002fe68c, 0xa3a3: 0x00302c8c,\n\t0xa3a4: 0x00306c8c, 0xa3a5: 0x0030be8c, 0xa3a6: 0x0030e28c, 0xa3a7: 0x0030f68c,\n\t0xa3a8: 0x0031008c, 0xa3a9: 0x00312a8c, 0xa3aa: 0xe0003597, 0xa3ab: 0xe000359a,\n\t0xa3b0: 0x002bde9d, 0xa3b1: 0x002c0a9d, 0xa3b2: 0x002c3a9d, 0xa3b3: 0x002c629d,\n\t0xa3b4: 0x002c989d, 0xa3b5: 0x002d089d, 0xa3b6: 0x002d229d, 0xa3b7: 0x002d689d,\n\t0xa3b8: 0x002d9a9d, 0xa3b9: 0x002dcc9d, 0xa3ba: 0x002dfe9d, 0xa3bb: 0x002e229d,\n\t0xa3bc: 0x002e829d, 0xa3bd: 0x002e9e9d, 0xa3be: 0x002ee29d, 0xa3bf: 0x002f2c9d,\n\t// Block 0x28f, offset 0xa3c0\n\t0xa3c0: 0x40055620, 0xa3c1: 0xa1809102, 0xa3c2: 0xa1909002, 0xa3c3: 0x40055820,\n\t0xa3c4: 0xae600000, 0xa3c5: 0xadc00000, 0xa3c6: 0x40055a20, 0xa3c7: 0xa1208d02,\n\t0xa3d0: 0x40389020, 0xa3d1: 0x40389220, 0xa3d2: 0x40389420, 0xa3d3: 0x40389620,\n\t0xa3d4: 0x40389820, 0xa3d5: 0x40389a20, 0xa3d6: 0x40389c20, 0xa3d7: 0x40389e20,\n\t0xa3d8: 0x4038a020, 0xa3d9: 0x4038a220, 0xa3da: 0x0038a499, 0xa3db: 0x4038a420,\n\t0xa3dc: 0x4038a620, 0xa3dd: 0x0038a899, 0xa3de: 0x4038a820, 0xa3df: 0x0038aa99,\n\t0xa3e0: 0x4038aa20, 0xa3e1: 0x4038ac20, 0xa3e2: 0x4038ae20, 0xa3e3: 0x0038b099,\n\t0xa3e4: 0x4038b020, 0xa3e5: 0x0038b299, 0xa3e6: 0x4038b220, 0xa3e7: 0x4038b420,\n\t0xa3e8: 0x4038b620, 0xa3e9: 0x4038b820, 0xa3ea: 0x4038ba20,\n\t0xa3f0: 0xe00014ff, 0xa3f1: 0xe0001502, 0xa3f2: 0xe0001511, 0xa3f3: 0x4003d21f,\n\t0xa3f4: 0x4003e01f,\n\t// Block 0x290, offset 0xa400\n\t0xa400: 0xa000f202, 0xa401: 0x403fba21, 0xa402: 0x403fba20, 0xa403: 0x403fbc20,\n\t0xa404: 0x403fbc20, 0xa405: 0x403fbe20, 0xa406: 0x403fc020, 0xa407: 0x403fcc20,\n\t0xa408: 0x403fce20, 0xa409: 0x403fd020, 0xa40a: 0x403fd220, 0xa40b: 0x403fd420,\n\t0xa40c: 0x403fd820, 0xa40d: 0x403fdc20, 0xa40e: 0x403fde20, 0xa40f: 0x403fe020,\n\t0xa410: 0x403fe220, 0xa411: 0x403fe420, 0xa412: 0x403fe620, 0xa413: 0x403fe820,\n\t0xa414: 0x403fea20, 0xa415: 0x403fec20, 0xa416: 0x403fee20, 0xa417: 0x403ff020,\n\t0xa418: 0x403ff420, 0xa419: 0x403ff620, 0xa41a: 0x403ff820, 0xa41b: 0x403ffa20,\n\t0xa41c: 0x403ffc20, 0xa41d: 0x40400220, 0xa41e: 0x40400420, 0xa41f: 0x40400620,\n\t0xa420: 0x40400820, 0xa421: 0x40400a20, 0xa422: 0x40400e20, 0xa423: 0x40401020,\n\t0xa424: 0x40401220, 0xa425: 0x40401420, 0xa426: 0x40401620, 0xa427: 0x40401820,\n\t0xa428: 0x40401a20, 0xa429: 0xe0001830, 0xa42a: 0x40401c20, 0xa42b: 0x40401e20,\n\t0xa42c: 0x40402020, 0xa42d: 0x40402420, 0xa42e: 0x40402620, 0xa42f: 0x40402820,\n\t0xa430: 0x40402c20, 0xa431: 0xe0001839, 0xa432: 0x40402e20, 0xa433: 0x40403020,\n\t0xa434: 0xe000183c, 0xa435: 0x40403220, 0xa436: 0x40403420, 0xa437: 0x40403620,\n\t0xa438: 0x40403820, 0xa439: 0x40403a20, 0xa43a: 0x40404c20, 0xa43b: 0x40404e20,\n\t0xa43c: 0xa070f102, 0xa43d: 0x40403c20, 0xa43e: 0x40404a20, 0xa43f: 0x40405620,\n\t// Block 0x291, offset 0xa440\n\t0xa440: 0xa0000000, 0xa441: 0xa0000000, 0xa442: 0xa0000000, 0xa443: 0xa0000000,\n\t0xa444: 0xa0000000, 0xa445: 0xa0000000, 0xa446: 0xa0000000, 0xa447: 0xa0000000,\n\t0xa448: 0xa0000000, 0xa449: 0x40020020, 0xa44a: 0x40020220, 0xa44b: 0x40020420,\n\t0xa44c: 0x40020620, 0xa44d: 0x40020820, 0xa44e: 0xa0000000, 0xa44f: 0xa0000000,\n\t0xa450: 0xa0000000, 0xa451: 0xa0000000, 0xa452: 0xa0000000, 0xa453: 0xa0000000,\n\t0xa454: 0xa0000000, 0xa455: 0xa0000000, 0xa456: 0xa0000000, 0xa457: 0xa0000000,\n\t0xa458: 0xa0000000, 0xa459: 0xa0000000, 0xa45a: 0xa0000000, 0xa45b: 0xa0000000,\n\t0xa45c: 0xa0000000, 0xa45d: 0xa0000000, 0xa45e: 0xa0000000, 0xa45f: 0xa0000000,\n\t0xa460: 0x40021220, 0xa461: 0x4002ba20, 0xa462: 0x4003e020, 0xa463: 0x4004ea20,\n\t0xa464: 0x4027de20, 0xa465: 0x4004ec20, 0xa466: 0x4004e620, 0xa467: 0x4003d220,\n\t0xa468: 0x4003f420, 0xa469: 0x4003f620, 0xa46a: 0x4004d820, 0xa46b: 0x40093820,\n\t0xa46c: 0x40024020, 0xa46d: 0x40021a20, 0xa46e: 0x4002e420, 0xa46f: 0x4004e220,\n\t0xa470: 0x4029cc20, 0xa471: 0x4029ce20, 0xa472: 0x4029d020, 0xa473: 0x4029d220,\n\t0xa474: 0x4029d420, 0xa475: 0x4029d620, 0xa476: 0x4029d820, 0xa477: 0x4029da20,\n\t0xa478: 0x4029dc20, 0xa479: 0x4029de20, 0xa47a: 0x40026c20, 0xa47b: 0x40026220,\n\t0xa47c: 0x40094020, 0xa47d: 0x40094220, 0xa47e: 0x40094420, 0xa47f: 0x4002c420,\n\t// Block 0x292, offset 0xa480\n\t0xa480: 0x4004d620, 0xa481: 0x002bde88, 0xa482: 0x002c0a88, 0xa483: 0xc59b2891,\n\t0xa484: 0xc5a12913, 0xa485: 0x002c9888, 0xa486: 0x002d0888, 0xa487: 0x002d2288,\n\t0xa488: 0x002d6888, 0xa489: 0x002d9a88, 0xa48a: 0x002dcc88, 0xa48b: 0x002dfe88,\n\t0xa48c: 0xc5a629e4, 0xa48d: 0x002e8288, 0xa48e: 0xc5ab2a52, 0xa48f: 0x002ee288,\n\t0xa490: 0x002f2c88, 0xa491: 0x002f5688, 0xa492: 0x002f7a88, 0xa493: 0xc3430991,\n\t0xa494: 0x00302c88, 0xa495: 0x00306c88, 0xa496: 0x0030be88, 0xa497: 0x0030e288,\n\t0xa498: 0x0030f688, 0xa499: 0x00310088, 0xa49a: 0xc3630991, 0xa49b: 0x4003f820,\n\t0xa49c: 0x4004e420, 0xa49d: 0x4003fa20, 0xa49e: 0x40062420, 0xa49f: 0x40021620,\n\t0xa4a0: 0x40061e20, 0xa4a1: 0x402bde20, 0xa4a2: 0x402c0a20, 0xa4a3: 0xc5982891,\n\t0xa4a4: 0xc59e28c2, 0xa4a5: 0x402c9820, 0xa4a6: 0x402d0820, 0xa4a7: 0x402d2220,\n\t0xa4a8: 0x402d6820, 0xa4a9: 0x402d9a20, 0xa4aa: 0x402dcc20, 0xa4ab: 0x402dfe20,\n\t0xa4ac: 0xc3772993, 0xa4ad: 0x402e8220, 0xa4ae: 0xc5332a41, 0xa4af: 0x402ee220,\n\t0xa4b0: 0x402f2c20, 0xa4b1: 0x402f5620, 0xa4b2: 0x402f7a20, 0xa4b3: 0xc3410991,\n\t0xa4b4: 0x40302c20, 0xa4b5: 0x40306c20, 0xa4b6: 0x4030be20, 0xa4b7: 0x4030e220,\n\t0xa4b8: 0x4030f620, 0xa4b9: 0x40310020, 0xa4ba: 0xc3610991, 0xa4bb: 0x4003fc20,\n\t0xa4bc: 0x40094820, 0xa4bd: 0x4003fe20, 0xa4be: 0x40094c20, 0xa4bf: 0xa0000000,\n\t// Block 0x293, offset 0xa4c0\n\t0xa4c0: 0xe0000983, 0xa4c1: 0xe0000980, 0xa4c2: 0xe00008fb, 0xa4c3: 0xe00008f8,\n\t0xa4c4: 0xe000097d, 0xa4c5: 0xe000097a, 0xa4c6: 0x002c3e83, 0xa4c7: 0x402c3e20,\n\t0xa4c8: 0xe0000a3e, 0xa4c9: 0xe0000a3b, 0xa4ca: 0xe0000a4a, 0xa4cb: 0xe0000a47,\n\t0xa4cc: 0x002c3c83, 0xa4cd: 0x402c3c20, 0xa4ce: 0xe0000a86, 0xa4cf: 0xe0000a83,\n\t0xa4d0: 0x002c6683, 0xa4d1: 0x402c6620, 0xa4d2: 0xe0000b46, 0xa4d3: 0xe0000b43,\n\t0xa4d4: 0xe0000aee, 0xa4d5: 0xe0000aeb, 0xa4d6: 0xe0000b2c, 0xa4d7: 0xe0000b29,\n\t0xa4d8: 0xe0000b40, 0xa4d9: 0xe0000b3d, 0xa4da: 0xe0000b1a, 0xa4db: 0xe0000b17,\n\t0xa4dc: 0xe0000bb8, 0xa4dd: 0xe0000bb5, 0xa4de: 0xe0000bb2, 0xa4df: 0xe0000baf,\n\t0xa4e0: 0xe0000bc4, 0xa4e1: 0xe0000bc1, 0xa4e2: 0xe0000bca, 0xa4e3: 0xe0000bc7,\n\t0xa4e4: 0xe0000bee, 0xa4e5: 0xe0000beb, 0xa4e6: 0xe0000c1b, 0xa4e7: 0xe0000c18,\n\t0xa4e8: 0xe0000c51, 0xa4e9: 0xe0000c4e, 0xa4ea: 0xe0000c60, 0xa4eb: 0xe0000c5d,\n\t0xa4ec: 0xe0000c31, 0xa4ed: 0xe0000c2e, 0xa4ee: 0xe0000c5a, 0xa4ef: 0xe0000c57,\n\t0xa4f0: 0xe0000c54, 0xa4f1: 0x402da220, 0xa4f2: 0xf0000a0a, 0xa4f3: 0xf0000404,\n\t0xa4f4: 0xe0000c8a, 0xa4f5: 0xe0000c87, 0xa4f6: 0xe0000c9f, 0xa4f7: 0xe0000c9c,\n\t0xa4f8: 0x402f7220, 0xa4f9: 0xe0000ccc, 0xa4fa: 0xe0000cc9, 0xa4fb: 0xe0000cd8,\n\t0xa4fc: 0xe0000cd5, 0xa4fd: 0xe0000cd2, 0xa4fe: 0xe0000ccf, 0xa4ff: 0xe0000d04,\n\t// Block 0x294, offset 0xa500\n\t0xa500: 0xe0000cfe, 0xa501: 0xe0000cf8, 0xa502: 0xe0000cf5, 0xa503: 0xe0000d51,\n\t0xa504: 0xe0000d4e, 0xa505: 0xe0000d6f, 0xa506: 0xe0000d6c, 0xa507: 0xe0000d5d,\n\t0xa508: 0xe0000d5a, 0xa509: 0xf0000404, 0xa50a: 0x002eda88, 0xa50b: 0x402eda20,\n\t0xa50c: 0xe0000e2e, 0xa50d: 0xe0000e2b, 0xa50e: 0xe0000da0, 0xa50f: 0xe0000d9d,\n\t0xa510: 0xe0000de0, 0xa511: 0xe0000ddd, 0xa512: 0xe0000e93, 0xa513: 0xe0000e8f,\n\t0xa514: 0xe0000eca, 0xa515: 0xe0000ec7, 0xa516: 0xe0000edc, 0xa517: 0xe0000ed9,\n\t0xa518: 0xe0000ed0, 0xa519: 0xe0000ecd, 0xa51a: 0xe0000f1f, 0xa51b: 0xe0000f1c,\n\t0xa51c: 0xe0000f2d, 0xa51d: 0xe0000f2a, 0xa51e: 0xe0000f47, 0xa51f: 0xe0000f44,\n\t0xa520: 0x002fe883, 0xa521: 0x402fe820, 0xa522: 0xe0000f99, 0xa523: 0xe0000f96,\n\t0xa524: 0xe0000f8a, 0xa525: 0xe0000f87, 0xa526: 0x00303688, 0xa527: 0x40303620,\n\t0xa528: 0xe000102b, 0xa529: 0xe0001028, 0xa52a: 0xe000103f, 0xa52b: 0xe000103c,\n\t0xa52c: 0xe0000fe7, 0xa52d: 0xe0000fe4, 0xa52e: 0xe0000ff9, 0xa52f: 0xe0000ff6,\n\t0xa530: 0xe0001025, 0xa531: 0xe0001022, 0xa532: 0xe0001039, 0xa533: 0xe0001036,\n\t0xa534: 0xe00010d8, 0xa535: 0xe00010d5, 0xa536: 0xe000110e, 0xa537: 0xe000110b,\n\t0xa538: 0xe0001117, 0xa539: 0xe000113b, 0xa53a: 0xe0001138, 0xa53b: 0xe000114d,\n\t0xa53c: 0xe000114a, 0xa53d: 0x00312c83, 0xa53e: 0x40312c20, 0xa53f: 0xe0000f64,\n\t// Block 0x295, offset 0xa540\n\t0xa540: 0x40321220, 0xa541: 0x40321a20, 0xa542: 0x40322220, 0xa543: 0x40322a20,\n\t0xa544: 0x002c6487, 0xa545: 0x002c6485, 0xa546: 0x002c6483, 0xa547: 0x002e2487,\n\t0xa548: 0x002e2485, 0xa549: 0x002e2483, 0xa54a: 0x002ea087, 0xa54b: 0x002ea085,\n\t0xa54c: 0x002ea083, 0xa54d: 0xe0000947, 0xa54e: 0xe0000944, 0xa54f: 0xe0000c3d,\n\t0xa550: 0xe0000c3a, 0xa551: 0xe0000dcc, 0xa552: 0xe0000dc9, 0xa553: 0xe0000ff3,\n\t0xa554: 0xe0000ff0, 0xa555: 0xe000101e, 0xa556: 0xe000101a, 0xa557: 0xe0001006,\n\t0xa558: 0xe0001002, 0xa559: 0xe0001016, 0xa55a: 0xe0001012, 0xa55b: 0xe000100e,\n\t0xa55c: 0xe000100a, 0xa55d: 0x402cae20, 0xa55e: 0xe0000962, 0xa55f: 0xe000095e,\n\t0xa560: 0xe0000976, 0xa561: 0xe0000972, 0xa562: 0xe00009f4, 0xa563: 0xe00009ef,\n\t0xa564: 0x002d3a88, 0xa565: 0x402d3a20, 0xa566: 0xe0000bbe, 0xa567: 0xe0000bbb,\n\t0xa568: 0xe0000c99, 0xa569: 0xe0000c96, 0xa56a: 0xe0000e20, 0xa56b: 0xe0000e1d,\n\t0xa56c: 0xe0000e27, 0xa56d: 0xe0000e23, 0xa56e: 0xe0001162, 0xa56f: 0xe000115f,\n\t0xa570: 0xe0000c8d, 0xa571: 0xf0000a0a, 0xa572: 0xf000040a, 0xa573: 0xf0000404,\n\t0xa574: 0xe0000bac, 0xa575: 0xe0000ba9, 0xa576: 0x002d7888, 0xa577: 0x00319488,\n\t0xa578: 0xe0000d57, 0xa579: 0xe0000d54, 0xa57a: 0xe0000954, 0xa57b: 0xe0000950,\n\t0xa57c: 0xe00009ea, 0xa57d: 0xe00009e5, 0xa57e: 0xe0000e19, 0xa57f: 0xe0000e15,\n\t// Block 0x296, offset 0xa580\n\t0xa580: 0xe00009b1, 0xa581: 0xe00009ae, 0xa582: 0xe0000a22, 0xa583: 0xe0000a1f,\n\t0xa584: 0xe0000a28, 0xa585: 0xe0000a25, 0xa586: 0xe0000a2e, 0xa587: 0xe0000a2b,\n\t0xa588: 0xe0003c3f, 0xa589: 0xe0003c3c, 0xa58a: 0xe0000a8c, 0xa58b: 0xe0000a89,\n\t0xa58c: 0xe0000a98, 0xa58d: 0xe0000a95, 0xa58e: 0xe0000aa4, 0xa58f: 0xe0000aa1,\n\t0xa590: 0xe0000a92, 0xa591: 0xe0000a8f, 0xa592: 0xe0000a9e, 0xa593: 0xe0000a9b,\n\t0xa594: 0xe0000b55, 0xa595: 0xe0000b51, 0xa596: 0xe0000b4d, 0xa597: 0xe0000b49,\n\t0xa598: 0xe0000b7c, 0xa599: 0xe0000b79, 0xa59a: 0xe0000b82, 0xa59b: 0xe0000b7f,\n\t0xa59c: 0xe0000b39, 0xa59d: 0xe0000b35, 0xa59e: 0xe0000b8c, 0xa59f: 0xe0000b89,\n\t0xa5a0: 0xe0000bd0, 0xa5a1: 0xe0000bcd, 0xa5a2: 0xe0000c00, 0xa5a3: 0xe0000bfd,\n\t0xa5a4: 0xe0000c0c, 0xa5a5: 0xe0000c09, 0xa5a6: 0xe0000bfa, 0xa5a7: 0xe0000bf7,\n\t0xa5a8: 0xe0000c06, 0xa5a9: 0xe0000c03, 0xa5aa: 0xe0000c12, 0xa5ab: 0xe0000c0f,\n\t0xa5ac: 0xe0000c7e, 0xa5ad: 0xe0000c7b, 0xa5ae: 0xe0000c4a, 0xa5af: 0xe0000c46,\n\t0xa5b0: 0xe0000c93, 0xa5b1: 0xe0000c90, 0xa5b2: 0xe0000cab, 0xa5b3: 0xe0000ca8,\n\t0xa5b4: 0xe0000cb1, 0xa5b5: 0xe0000cae, 0xa5b6: 0xe0000cde, 0xa5b7: 0xe0000cdb,\n\t0xa5b8: 0xe0000ce5, 0xa5b9: 0xe0000ce1, 0xa5ba: 0xe0000cf2, 0xa5bb: 0xe0000cef,\n\t0xa5bc: 0xe0000cec, 0xa5bd: 0xe0000ce9, 0xa5be: 0xe0000d1e, 0xa5bf: 0xe0000d1b,\n\t// Block 0x297, offset 0xa5c0\n\t0xa5c0: 0xa0000000, 0xa5c1: 0xa0000000, 0xa5c2: 0xa0000000, 0xa5c3: 0xa0000000,\n\t0xa5c4: 0xa0000000, 0xa5c5: 0xa0000000, 0xa5c6: 0xa0000000, 0xa5c7: 0xa0000000,\n\t0xa5c8: 0xa0000000, 0xa5c9: 0x40020020, 0xa5ca: 0x40020220, 0xa5cb: 0x40020420,\n\t0xa5cc: 0x40020620, 0xa5cd: 0x40020820, 0xa5ce: 0xa0000000, 0xa5cf: 0xa0000000,\n\t0xa5d0: 0xa0000000, 0xa5d1: 0xa0000000, 0xa5d2: 0xa0000000, 0xa5d3: 0xa0000000,\n\t0xa5d4: 0xa0000000, 0xa5d5: 0xa0000000, 0xa5d6: 0xa0000000, 0xa5d7: 0xa0000000,\n\t0xa5d8: 0xa0000000, 0xa5d9: 0xa0000000, 0xa5da: 0xa0000000, 0xa5db: 0xa0000000,\n\t0xa5dc: 0xa0000000, 0xa5dd: 0xa0000000, 0xa5de: 0xa0000000, 0xa5df: 0xa0000000,\n\t0xa5e0: 0x40021220, 0xa5e1: 0x4002ba20, 0xa5e2: 0x4003e020, 0xa5e3: 0x4004ea20,\n\t0xa5e4: 0x4027de20, 0xa5e5: 0x4004ec20, 0xa5e6: 0x4004e620, 0xa5e7: 0x4003d220,\n\t0xa5e8: 0x4003f420, 0xa5e9: 0x4003f620, 0xa5ea: 0x4004d820, 0xa5eb: 0x40093820,\n\t0xa5ec: 0x40024020, 0xa5ed: 0x40021a20, 0xa5ee: 0x4002e420, 0xa5ef: 0x4004e220,\n\t0xa5f0: 0x4029cc20, 0xa5f1: 0x4029ce20, 0xa5f2: 0x4029d020, 0xa5f3: 0x4029d220,\n\t0xa5f4: 0x4029d420, 0xa5f5: 0x4029d620, 0xa5f6: 0x4029d820, 0xa5f7: 0x4029da20,\n\t0xa5f8: 0x4029dc20, 0xa5f9: 0x4029de20, 0xa5fa: 0x40026c20, 0xa5fb: 0x40026220,\n\t0xa5fc: 0x40094020, 0xa5fd: 0x40094220, 0xa5fe: 0x40094420, 0xa5ff: 0x4002c420,\n\t// Block 0x298, offset 0xa600\n\t0xa600: 0x4004d620, 0xa601: 0x002bde88, 0xa602: 0x002c0a88, 0xa603: 0xc5b12aa4,\n\t0xa604: 0xc5bb2b54, 0xa605: 0x002c9888, 0xa606: 0x002d0888, 0xa607: 0xc5c72c24,\n\t0xa608: 0x002d6888, 0xa609: 0x002d9a88, 0xa60a: 0x002dcc88, 0xa60b: 0x002dfe88,\n\t0xa60c: 0xc5d12cf6, 0xa60d: 0x002e8288, 0xa60e: 0xc5db2dc4, 0xa60f: 0xc5e30b21,\n\t0xa610: 0x002f2c88, 0xa611: 0x002f5688, 0xa612: 0x002f7a88, 0xa613: 0xc5e92e54,\n\t0xa614: 0xc5f12ee4, 0xa615: 0xc5f90b21, 0xa616: 0x0030be88, 0xa617: 0x0030e288,\n\t0xa618: 0x0030f688, 0xa619: 0x00310088, 0xa61a: 0xc5ff2f74, 0xa61b: 0x4003f820,\n\t0xa61c: 0x4004e420, 0xa61d: 0x4003fa20, 0xa61e: 0x40062420, 0xa61f: 0x40021620,\n\t0xa620: 0x40061e20, 0xa621: 0x402bde20, 0xa622: 0x402c0a20, 0xa623: 0xc5ae2a72,\n\t0xa624: 0xc5b62b02, 0xa625: 0x402c9820, 0xa626: 0x402d0820, 0xa627: 0xc5c42bf2,\n\t0xa628: 0x402d6820, 0xa629: 0x402d9a20, 0xa62a: 0x402dcc20, 0xa62b: 0x402dfe20,\n\t0xa62c: 0xc5cc2c84, 0xa62d: 0x402e8220, 0xa62e: 0xc5d82d92, 0xa62f: 0xc5e00b21,\n\t0xa630: 0x402f2c20, 0xa631: 0x402f5620, 0xa632: 0x402f7a20, 0xa633: 0xc5e62e22,\n\t0xa634: 0xc5ee2eb2, 0xa635: 0xc5f60b21, 0xa636: 0x4030be20, 0xa637: 0x4030e220,\n\t0xa638: 0x4030f620, 0xa639: 0x40310020, 0xa63a: 0xc5fc2f42, 0xa63b: 0x4003fc20,\n\t0xa63c: 0x40094820, 0xa63d: 0x4003fe20, 0xa63e: 0x40094c20, 0xa63f: 0xa0000000,\n\t// Block 0x299, offset 0xa640\n\t0xa640: 0xe00008f5, 0xa641: 0xe00008ef, 0xa642: 0xe0000921, 0xa643: 0xe0000969,\n\t0xa644: 0xe000095b, 0xa645: 0xe000094d, 0xa646: 0xe00009dd, 0xa647: 0xe0000a53,\n\t0xa648: 0xe0000ae8, 0xa649: 0xe0000ae2, 0xa64a: 0xe0000af4, 0xa64b: 0xe0000b20,\n\t0xa64c: 0xe0000c2b, 0xa64d: 0xe0000c25, 0xa64e: 0xe0000c37, 0xa64f: 0xe0000c43,\n\t0xa650: 0xe0000ab3, 0xa651: 0xe0000d63, 0xa652: 0xe0000d9a, 0xa653: 0xe0000d94,\n\t0xa654: 0xe0000da6, 0xa655: 0xe0000de6, 0xa656: 0x002ee483, 0xa657: 0x40093e20,\n\t0xa658: 0xe0000e12, 0xa659: 0xe0000fe1, 0xa65a: 0xe0000fdb, 0xa65b: 0xe0000fed,\n\t0xa65c: 0x00306e83, 0xa65d: 0xe0001102, 0xa65e: 0x00318888, 0xa65f: 0xe0000f7b,\n\t0xa660: 0xe00008f2, 0xa661: 0xe00008ec, 0xa662: 0xe000091e, 0xa663: 0xe0000966,\n\t0xa664: 0xe0000958, 0xa665: 0xe000094a, 0xa666: 0xe00009d5, 0xa667: 0xe0000a4d,\n\t0xa668: 0xe0000ae5, 0xa669: 0xe0000adf, 0xa66a: 0xe0000af1, 0xa66b: 0xe0000b1d,\n\t0xa66c: 0xe0000c28, 0xa66d: 0xe0000c22, 0xa66e: 0xe0000c34, 0xa66f: 0xe0000c40,\n\t0xa670: 0xe0000aad, 0xa671: 0xe0000d60, 0xa672: 0xe0000d97, 0xa673: 0xe0000d91,\n\t0xa674: 0xe0000da3, 0xa675: 0xe0000de3, 0xa676: 0x402ee420, 0xa677: 0x40093c20,\n\t0xa678: 0xe0000e0f, 0xa679: 0xe0000fde, 0xa67a: 0xe0000fd8, 0xa67b: 0xe0000fea,\n\t0xa67c: 0x40306e20, 0xa67d: 0xe00010ff, 0xa67e: 0x40318820, 0xa67f: 0xe0001114,\n\t// Block 0x29a, offset 0xa680\n\t0xa680: 0xe0000cfe, 0xa681: 0xe0000cf8, 0xa682: 0xe0000cf5, 0xa683: 0xe0000d51,\n\t0xa684: 0xe0000d4e, 0xa685: 0xe0000d6f, 0xa686: 0xe0000d6c, 0xa687: 0xe0000d5d,\n\t0xa688: 0xe0000d5a, 0xa689: 0xf0000404, 0xa68a: 0x002eda88, 0xa68b: 0x402eda20,\n\t0xa68c: 0xe0000e2e, 0xa68d: 0xe0000e2b, 0xa68e: 0xe0000da0, 0xa68f: 0xe0000d9d,\n\t0xa690: 0x002ee4a3, 0xa691: 0x402ee421, 0xa692: 0xe0000e93, 0xa693: 0xe0000e8f,\n\t0xa694: 0xe0000eca, 0xa695: 0xe0000ec7, 0xa696: 0xe0000edc, 0xa697: 0xe0000ed9,\n\t0xa698: 0xe0000ed0, 0xa699: 0xe0000ecd, 0xa69a: 0xe0000f1f, 0xa69b: 0xe0000f1c,\n\t0xa69c: 0xe0000f2d, 0xa69d: 0xe0000f2a, 0xa69e: 0xe0000f47, 0xa69f: 0xe0000f44,\n\t0xa6a0: 0xe0000f33, 0xa6a1: 0xe0000f30, 0xa6a2: 0xe0000f99, 0xa6a3: 0xe0000f96,\n\t0xa6a4: 0xe0000f8a, 0xa6a5: 0xe0000f87, 0xa6a6: 0x00303688, 0xa6a7: 0x40303620,\n\t0xa6a8: 0xe000102b, 0xa6a9: 0xe0001028, 0xa6aa: 0xe000103f, 0xa6ab: 0xe000103c,\n\t0xa6ac: 0xe0000fe7, 0xa6ad: 0xe0000fe4, 0xa6ae: 0xe0000ff9, 0xa6af: 0xe0000ff6,\n\t0xa6b0: 0x00306ea3, 0xa6b1: 0x40306e21, 0xa6b2: 0xe0001039, 0xa6b3: 0xe0001036,\n\t0xa6b4: 0xe00010d8, 0xa6b5: 0xe00010d5, 0xa6b6: 0xe000110e, 0xa6b7: 0xe000110b,\n\t0xa6b8: 0xe0001117, 0xa6b9: 0xe000113b, 0xa6ba: 0xe0001138, 0xa6bb: 0xe000114d,\n\t0xa6bc: 0xe000114a, 0xa6bd: 0xe0001147, 0xa6be: 0xe0001144, 0xa6bf: 0xe0000f64,\n\t// Block 0x29b, offset 0xa6c0\n\t0xa6c0: 0x40321220, 0xa6c1: 0x40321a20, 0xa6c2: 0x40322220, 0xa6c3: 0x40322a20,\n\t0xa6c4: 0xe0000ad5, 0xa6c5: 0xe0000ad1, 0xa6c6: 0xe0000acd, 0xa6c7: 0xf0000a0a,\n\t0xa6c8: 0xf000040a, 0xa6c9: 0xf0000404, 0xa6ca: 0xf0000a0a, 0xa6cb: 0xf000040a,\n\t0xa6cc: 0xf0000404, 0xa6cd: 0xe0000947, 0xa6ce: 0xe0000944, 0xa6cf: 0xe0000c3d,\n\t0xa6d0: 0xe0000c3a, 0xa6d1: 0xe0000dcc, 0xa6d2: 0xe0000dc9, 0xa6d3: 0xe0000ff3,\n\t0xa6d4: 0xe0000ff0, 0xa6d5: 0xe0002964, 0xa6d6: 0xe0002961, 0xa6d7: 0xe0002952,\n\t0xa6d8: 0xe000294f, 0xa6d9: 0xe000295e, 0xa6da: 0xe000295b, 0xa6db: 0xe0002958,\n\t0xa6dc: 0xe0002955, 0xa6dd: 0x402cae20, 0xa6de: 0xe0000962, 0xa6df: 0xe000095e,\n\t0xa6e0: 0xe0000976, 0xa6e1: 0xe0000972, 0xa6e2: 0xe00009f4, 0xa6e3: 0xe00009ef,\n\t0xa6e4: 0x002d3a88, 0xa6e5: 0x402d3a20, 0xa6e6: 0xe0000bbe, 0xa6e7: 0xe0000bbb,\n\t0xa6e8: 0xe0000c99, 0xa6e9: 0xe0000c96, 0xa6ea: 0xe0000e20, 0xa6eb: 0xe0000e1d,\n\t0xa6ec: 0xe0000e27, 0xa6ed: 0xe0000e23, 0xa6ee: 0xe0001162, 0xa6ef: 0xe000115f,\n\t0xa6f0: 0xe0000c8d, 0xa6f1: 0xf0000a0a, 0xa6f2: 0xf000040a, 0xa6f3: 0xf0000404,\n\t0xa6f4: 0xe0000bac, 0xa6f5: 0xe0000ba9, 0xa6f6: 0x002d7888, 0xa6f7: 0x00319488,\n\t0xa6f8: 0xe0000d57, 0xa6f9: 0xe0000d54, 0xa6fa: 0xe0000954, 0xa6fb: 0xe0000950,\n\t0xa6fc: 0xe00009ea, 0xa6fd: 0xe00009e5, 0xa6fe: 0xe0000e19, 0xa6ff: 0xe0000e15,\n\t// Block 0x29c, offset 0xa700\n\t0xa700: 0xe000098f, 0xa701: 0xe000098c, 0xa702: 0xe0000995, 0xa703: 0xe0000992,\n\t0xa704: 0xe0000b62, 0xa705: 0xe0000b5f, 0xa706: 0xe0000b68, 0xa707: 0xe0000b65,\n\t0xa708: 0xe0000c6c, 0xa709: 0xe0000c69, 0xa70a: 0xe0000c72, 0xa70b: 0xe0000c6f,\n\t0xa70c: 0xe0000e4a, 0xa70d: 0xe0000e47, 0xa70e: 0xe0000e50, 0xa70f: 0xe0000e4d,\n\t0xa710: 0xe0000ee8, 0xa711: 0xe0000ee5, 0xa712: 0xe0000eee, 0xa713: 0xe0000eeb,\n\t0xa714: 0xe0001053, 0xa715: 0xe0001050, 0xa716: 0xe0001059, 0xa717: 0xe0001056,\n\t0xa718: 0xe0000f61, 0xa719: 0xe0000f5e, 0xa71a: 0xe0000fa5, 0xa71b: 0xe0000fa2,\n\t0xa71c: 0x00312288, 0xa71d: 0x40312220, 0xa71e: 0xe0000bf4, 0xa71f: 0xe0000bf1,\n\t0xa720: 0x002ebc88, 0xa721: 0x402c8c20, 0xa722: 0x002f2288, 0xa723: 0x402f2220,\n\t0xa724: 0x00314088, 0xa725: 0x40314020, 0xa726: 0xe000096f, 0xa727: 0xe000096c,\n\t0xa728: 0xe0000b32, 0xa729: 0xe0000b2f, 0xa72a: 0xe000294c, 0xa72b: 0xe0002949,\n\t0xa72c: 0xe0000dfd, 0xa72d: 0xe0000df9, 0xa72e: 0xe0000e04, 0xa72f: 0xe0000e01,\n\t0xa730: 0xe0000e0b, 0xa731: 0xe0000e07, 0xa732: 0xe0001129, 0xa733: 0xe0001126,\n\t0xa734: 0x402e5e20, 0xa735: 0x402ed020, 0xa736: 0x40305a20, 0xa737: 0x402dd420,\n\t0xa738: 0xe0000abf, 0xa739: 0xe0000ec4, 0xa73a: 0x002be888, 0xa73b: 0x002c4488,\n\t0xa73c: 0x402c4420, 0xa73d: 0x002e3888, 0xa73e: 0x00303e88, 0xa73f: 0x402ffc20,\n\t// Block 0x29d, offset 0xa740\n\t0xa740: 0x00339288, 0xa741: 0x40339220, 0xa742: 0x0033a088, 0xa743: 0x4033a020,\n\t0xa744: 0x0033ee88, 0xa745: 0x4033ee20, 0xa746: 0x00341088, 0xa747: 0x40341020,\n\t0xa748: 0x0034a488, 0xa749: 0x4034a420, 0xa74a: 0x0034ec88, 0xa74b: 0x4034ec20,\n\t0xa74c: 0x00354288, 0xa74d: 0x40354220, 0xa74e: 0x00355688, 0xa74f: 0x40355620,\n\t0xa750: 0x0033f088, 0xa751: 0x4033f020, 0xa752: 0x00349688, 0xa753: 0x40349620,\n\t0xa754: 0x0034a688, 0xa755: 0x4034a620, 0xa756: 0x00353888, 0xa757: 0x40353820,\n\t0xa758: 0x0036cc88, 0xa759: 0x4036cc20, 0xa75a: 0x00348288, 0xa75b: 0x40348220,\n\t0xa75c: 0x00372e88, 0xa75d: 0x40372e20, 0xa75e: 0x00348088, 0xa75f: 0x40348020,\n\t0xa760: 0x00349888, 0xa761: 0x40349820, 0xa762: 0x0034da88, 0xa763: 0x4034da20,\n\t0xa764: 0x00351688, 0xa765: 0x40351620, 0xa766: 0x0035dc88, 0xa767: 0x4035dc20,\n\t0xa771: 0x00384288, 0xa772: 0x00384488, 0xa773: 0x00384688,\n\t0xa774: 0x00384888, 0xa775: 0xc6042fd1, 0xa776: 0x00384c88, 0xa777: 0x00384e88,\n\t0xa778: 0x00385088, 0xa779: 0x00385288, 0xa77a: 0x00385488, 0xa77b: 0x00385688,\n\t0xa77c: 0x00385888, 0xa77d: 0x00385a88, 0xa77e: 0x00385c88, 0xa77f: 0x00385e88,\n\t// Block 0x29e, offset 0xa780\n\t0xa780: 0x40388020, 0xa781: 0x40388220, 0xa782: 0x40388420, 0xa783: 0x40388620,\n\t0xa784: 0x40388820, 0xa785: 0x40388a20, 0xa786: 0x40388c20, 0xa787: 0x40388a20,\n\t0xa789: 0x40026e20, 0xa78a: 0x40021c20,\n\t0xa78f: 0x4027e420,\n\t0xa791: 0xadc00000, 0xa792: 0xae600000, 0xa793: 0xae600000,\n\t0xa794: 0xae600000, 0xa795: 0xae600000, 0xa796: 0xadc00000, 0xa797: 0xae600000,\n\t0xa798: 0xae600000, 0xa799: 0xae600000, 0xa79a: 0xade00000, 0xa79b: 0xadc00000,\n\t0xa79c: 0xae600000, 0xa79d: 0xae600000, 0xa79e: 0xae600000, 0xa79f: 0xae600000,\n\t0xa7a0: 0xae600000, 0xa7a1: 0xae600000, 0xa7a2: 0xadc00000, 0xa7a3: 0xadc00000,\n\t0xa7a4: 0xadc00000, 0xa7a5: 0xadc00000, 0xa7a6: 0xadc00000, 0xa7a7: 0xadc00000,\n\t0xa7a8: 0xae600000, 0xa7a9: 0xae600000, 0xa7aa: 0xadc00000, 0xa7ab: 0xae600000,\n\t0xa7ac: 0xae600000, 0xa7ad: 0xade00000, 0xa7ae: 0xae400000, 0xa7af: 0xae600000,\n\t0xa7b0: 0xa0a08502, 0xa7b1: 0xa0b08602, 0xa7b2: 0xa0c08702, 0xa7b3: 0xa0d08802,\n\t0xa7b4: 0xa0e08902, 0xa7b5: 0xa0f08a02, 0xa7b6: 0xa1008b02, 0xa7b7: 0xa1108c02,\n\t0xa7b8: 0xa1208d02, 0xa7b9: 0xa1308e02, 0xa7ba: 0xa1308e02, 0xa7bb: 0xa1408f02,\n\t0xa7bc: 0xa1509202, 0xa7bd: 0xa1600000, 0xa7be: 0x40055420, 0xa7bf: 0xa1709502,\n\t// Block 0x29f, offset 0xa7c0\n\t0xa7c0: 0xa0000000, 0xa7c1: 0xa0000000, 0xa7c2: 0xa0000000, 0xa7c3: 0xa0000000,\n\t0xa7c4: 0xa0000000, 0xa7c5: 0xa0000000, 0xa7c6: 0xa0000000, 0xa7c7: 0xa0000000,\n\t0xa7c8: 0xa0000000, 0xa7c9: 0x40020020, 0xa7ca: 0x40020220, 0xa7cb: 0x40020420,\n\t0xa7cc: 0x40020620, 0xa7cd: 0x40020820, 0xa7ce: 0xa0000000, 0xa7cf: 0xa0000000,\n\t0xa7d0: 0xa0000000, 0xa7d1: 0xa0000000, 0xa7d2: 0xa0000000, 0xa7d3: 0xa0000000,\n\t0xa7d4: 0xa0000000, 0xa7d5: 0xa0000000, 0xa7d6: 0xa0000000, 0xa7d7: 0xa0000000,\n\t0xa7d8: 0xa0000000, 0xa7d9: 0xa0000000, 0xa7da: 0xa0000000, 0xa7db: 0xa0000000,\n\t0xa7dc: 0xa0000000, 0xa7dd: 0xa0000000, 0xa7de: 0xa0000000, 0xa7df: 0xa0000000,\n\t0xa7e0: 0x40021220, 0xa7e1: 0x4002ba20, 0xa7e2: 0x4003e020, 0xa7e3: 0x4004ea20,\n\t0xa7e4: 0x4027de20, 0xa7e5: 0x4004ec20, 0xa7e6: 0x4004e620, 0xa7e7: 0x4003d220,\n\t0xa7e8: 0x4003f420, 0xa7e9: 0x4003f620, 0xa7ea: 0x4004d820, 0xa7eb: 0x40093820,\n\t0xa7ec: 0x40024020, 0xa7ed: 0x40021a20, 0xa7ee: 0x4002e420, 0xa7ef: 0x4004e220,\n\t0xa7f0: 0x4029cc20, 0xa7f1: 0x4029ce20, 0xa7f2: 0x4029d020, 0xa7f3: 0x4029d220,\n\t0xa7f4: 0x4029d420, 0xa7f5: 0x4029d620, 0xa7f6: 0x4029d820, 0xa7f7: 0x4029da20,\n\t0xa7f8: 0x4029dc20, 0xa7f9: 0x4029de20, 0xa7fa: 0x40026c20, 0xa7fb: 0x40026220,\n\t0xa7fc: 0x40094020, 0xa7fd: 0x40094220, 0xa7fe: 0x40094420, 0xa7ff: 0x4002c420,\n\t// Block 0x2a0, offset 0xa800\n\t0xa800: 0x4004d620, 0xa801: 0x002bde88, 0xa802: 0x002c0a88, 0xa803: 0xc60809c2,\n\t0xa804: 0x002c6288, 0xa805: 0x002c9888, 0xa806: 0x002d0888, 0xa807: 0xc60f3026,\n\t0xa808: 0x002d6888, 0xa809: 0xc6183081, 0xa80a: 0x002dcc88, 0xa80b: 0xc61d30c4,\n\t0xa80c: 0xc0030002, 0xa80d: 0x002e8288, 0xa80e: 0xc6263145, 0xa80f: 0xc33f3081,\n\t0xa810: 0x002f2c88, 0xa811: 0x002f5688, 0xa812: 0x002f7a88, 0xa813: 0xc58909c2,\n\t0xa814: 0x00302c88, 0xa815: 0xc3473081, 0xa816: 0x0030be88, 0xa817: 0x0030e288,\n\t0xa818: 0x0030f688, 0xa819: 0x00310088, 0xa81a: 0x00312a88, 0xa81b: 0x4003f820,\n\t0xa81c: 0x4004e420, 0xa81d: 0x4003fa20, 0xa81e: 0x40062420, 0xa81f: 0x40021620,\n\t0xa820: 0x40061e20, 0xa821: 0x402bde20, 0xa822: 0x402c0a20, 0xa823: 0xc60609b1,\n\t0xa824: 0x402c6220, 0xa825: 0x402c9820, 0xa826: 0x402d0820, 0xa827: 0xc60b2ff3,\n\t0xa828: 0x402d6820, 0xa829: 0xc6163081, 0xa82a: 0x402dcc20, 0xa82b: 0xc61a30a2,\n\t0xa82c: 0xc0000002, 0xa82d: 0x402e8220, 0xa82e: 0xc6223103, 0xa82f: 0xc33d3081,\n\t0xa830: 0x402f2c20, 0xa831: 0x402f5620, 0xa832: 0x402f7a20, 0xa833: 0xc34109b1,\n\t0xa834: 0x40302c20, 0xa835: 0xc3453081, 0xa836: 0x4030be20, 0xa837: 0x4030e220,\n\t0xa838: 0x4030f620, 0xa839: 0x40310020, 0xa83a: 0x40312a20, 0xa83b: 0x4003fc20,\n\t0xa83c: 0x40094820, 0xa83d: 0x4003fe20, 0xa83e: 0x40094c20, 0xa83f: 0xa0000000,\n\t// Block 0x2a1, offset 0xa840\n\t0xa840: 0xe0000d24, 0xa841: 0xe0000d21, 0xa842: 0xe0000d2a, 0xa843: 0xe0000d27,\n\t0xa844: 0x002ea083, 0xa845: 0x402ea020, 0xa846: 0xe0000d7b, 0xa847: 0xe0000d78,\n\t0xa848: 0xe0000d87, 0xa849: 0xe0000d84, 0xa84a: 0xe0000d81, 0xa84b: 0xe0000d7e,\n\t0xa84c: 0xe0000ded, 0xa84d: 0xe0000de9, 0xa84e: 0xe0000df5, 0xa84f: 0xe0000df1,\n\t0xa850: 0xe0000e3d, 0xa851: 0xe0000e39, 0xa852: 0xe0000e35, 0xa853: 0xe0000e31,\n\t0xa854: 0xe0000ea7, 0xa855: 0xe0000ea4, 0xa856: 0xe0000ead, 0xa857: 0xe0000eaa,\n\t0xa858: 0xe0000ed6, 0xa859: 0xe0000ed3, 0xa85a: 0xe0000ef4, 0xa85b: 0xe0000ef1,\n\t0xa85c: 0xe0000efb, 0xa85d: 0xe0000ef7, 0xa85e: 0xe0000f02, 0xa85f: 0xe0000eff,\n\t0xa860: 0xe0000f41, 0xa861: 0xe0000f3e, 0xa862: 0xe0000f53, 0xa863: 0xe0000f50,\n\t0xa864: 0xe0000f26, 0xa865: 0xe0000f22, 0xa866: 0xe0000f3a, 0xa867: 0xe0000f36,\n\t0xa868: 0xe0000f5a, 0xa869: 0xe0000f56, 0xa86a: 0xe0000f93, 0xa86b: 0xe0000f90,\n\t0xa86c: 0xe0000f9f, 0xa86d: 0xe0000f9c, 0xa86e: 0xe0000fb1, 0xa86f: 0xe0000fae,\n\t0xa870: 0xe0000fab, 0xa871: 0xe0000fa8, 0xa872: 0xe0001093, 0xa873: 0xe0001090,\n\t0xa874: 0xe000109f, 0xa875: 0xe000109c, 0xa876: 0xe0001099, 0xa877: 0xe0001096,\n\t0xa878: 0xe0001032, 0xa879: 0xe000102e, 0xa87a: 0xe0001046, 0xa87b: 0xe0001042,\n\t0xa87c: 0xe00010a9, 0xa87d: 0xe00010a6, 0xa87e: 0xe00010af, 0xa87f: 0xe00010ac,\n\t// Block 0x2a2, offset 0xa880\n\t0xa880: 0xe0000b03, 0xa881: 0xe0000aff, 0xa882: 0xe0000b13, 0xa883: 0xe0000b0f,\n\t0xa884: 0xe0000b0b, 0xa885: 0xe0000b07, 0xa886: 0xe0000b75, 0xa887: 0xe0000b71,\n\t0xa888: 0xe0000c66, 0xa889: 0xe0000c63, 0xa88a: 0x002d9c83, 0xa88b: 0x402d9c20,\n\t0xa88c: 0x002ee483, 0xa88d: 0x402ee420, 0xa88e: 0xe0000e44, 0xa88f: 0xe0000e41,\n\t0xa890: 0xe0000dad, 0xa891: 0xe0000da9, 0xa892: 0xe0000db5, 0xa893: 0xe0000db1,\n\t0xa894: 0xe0000dc5, 0xa895: 0xe0000dc1, 0xa896: 0xe0000dbd, 0xa897: 0xe0000db9,\n\t0xa898: 0xe0003c96, 0xa899: 0xe0003c93, 0xa89a: 0xe0000e5d, 0xa89b: 0xe0000e59,\n\t0xa89c: 0xe0000e65, 0xa89d: 0xe0000e61, 0xa89e: 0xe0000e75, 0xa89f: 0xe0000e71,\n\t0xa8a0: 0xe0000e6d, 0xa8a1: 0xe0000e69, 0xa8a2: 0xe0003c9c, 0xa8a3: 0xe0003c99,\n\t0xa8a4: 0x00306e83, 0xa8a5: 0x40306e20, 0xa8a6: 0xe000104d, 0xa8a7: 0xe000104a,\n\t0xa8a8: 0xe0001066, 0xa8a9: 0xe0001062, 0xa8aa: 0xe000106e, 0xa8ab: 0xe000106a,\n\t0xa8ac: 0xe000107e, 0xa8ad: 0xe000107a, 0xa8ae: 0xe0001076, 0xa8af: 0xe0001072,\n\t0xa8b0: 0xe0003ca2, 0xa8b1: 0xe0003c9f, 0xa8b2: 0xe0001108, 0xa8b3: 0xe0001105,\n\t0xa8b4: 0xe0001135, 0xa8b5: 0xe0001132, 0xa8b6: 0xe000112f, 0xa8b7: 0xe000112c,\n\t0xa8b8: 0xe000111d, 0xa8b9: 0xe000111a, 0xa8ba: 0xe0000d0a, 0xa8bb: 0xe0000d07,\n\t0xa8bc: 0x0030d888, 0xa8bd: 0x4030d820, 0xa8be: 0x00312088, 0xa8bf: 0x40312020,\n\t// Block 0x2a3, offset 0xa8c0\n\t0xa8c0: 0xa0000000, 0xa8c1: 0xa0000000, 0xa8c2: 0xa0000000, 0xa8c3: 0xa0000000,\n\t0xa8c4: 0xa0000000, 0xa8c5: 0xa0000000, 0xa8c6: 0xa0000000, 0xa8c7: 0xa0000000,\n\t0xa8c8: 0xa0000000, 0xa8c9: 0x40020020, 0xa8ca: 0x40020220, 0xa8cb: 0x40020420,\n\t0xa8cc: 0x40020620, 0xa8cd: 0x40020820, 0xa8ce: 0xa0000000, 0xa8cf: 0xa0000000,\n\t0xa8d0: 0xa0000000, 0xa8d1: 0xa0000000, 0xa8d2: 0xa0000000, 0xa8d3: 0xa0000000,\n\t0xa8d4: 0xa0000000, 0xa8d5: 0xa0000000, 0xa8d6: 0xa0000000, 0xa8d7: 0xa0000000,\n\t0xa8d8: 0xa0000000, 0xa8d9: 0xa0000000, 0xa8da: 0xa0000000, 0xa8db: 0xa0000000,\n\t0xa8dc: 0xa0000000, 0xa8dd: 0xa0000000, 0xa8de: 0xa0000000, 0xa8df: 0xa0000000,\n\t0xa8e0: 0x40021220, 0xa8e1: 0x4002ba20, 0xa8e2: 0x4003e020, 0xa8e3: 0x4004ea20,\n\t0xa8e4: 0x4027de20, 0xa8e5: 0x4004ec20, 0xa8e6: 0x4004e620, 0xa8e7: 0x4003d220,\n\t0xa8e8: 0x4003f420, 0xa8e9: 0x4003f620, 0xa8ea: 0x4004d820, 0xa8eb: 0x40093820,\n\t0xa8ec: 0x40024020, 0xa8ed: 0x40021a20, 0xa8ee: 0x4002e420, 0xa8ef: 0x4004e220,\n\t0xa8f0: 0x4029cc20, 0xa8f1: 0x4029ce20, 0xa8f2: 0x4029d020, 0xa8f3: 0x4029d220,\n\t0xa8f4: 0x4029d420, 0xa8f5: 0x4029d620, 0xa8f6: 0x4029d820, 0xa8f7: 0x4029da20,\n\t0xa8f8: 0x4029dc20, 0xa8f9: 0x4029de20, 0xa8fa: 0x40026c20, 0xa8fb: 0x40026220,\n\t0xa8fc: 0x40094020, 0xa8fd: 0x40094220, 0xa8fe: 0x40094420, 0xa8ff: 0x4002c420,\n\t// Block 0x2a4, offset 0xa900\n\t0xa900: 0x4004d620, 0xa901: 0xc63031a1, 0xa902: 0x002c0a88, 0xa903: 0x002c3a88,\n\t0xa904: 0x002c6288, 0xa905: 0xc63631e1, 0xa906: 0x002d0888, 0xa907: 0x002d2288,\n\t0xa908: 0x002d6888, 0xa909: 0xc63a31e1, 0xa90a: 0x002dcc88, 0xa90b: 0x002dfe88,\n\t0xa90c: 0xc0030002, 0xa90d: 0x002e8288, 0xa90e: 0x002e9e88, 0xa90f: 0xc63f3201,\n\t0xa910: 0x002f2c88, 0xa911: 0x002f5688, 0xa912: 0x002f7a88, 0xa913: 0x002fe688,\n\t0xa914: 0x00302c88, 0xa915: 0xc64431e1, 0xa916: 0x0030be88, 0xa917: 0x0030e288,\n\t0xa918: 0x0030f688, 0xa919: 0xc64831e1, 0xa91a: 0x00312a88, 0xa91b: 0x4003f820,\n\t0xa91c: 0x4004e420, 0xa91d: 0x4003fa20, 0xa91e: 0x40062420, 0xa91f: 0x40021620,\n\t0xa920: 0x40061e20, 0xa921: 0xc62c31a1, 0xa922: 0x402c0a20, 0xa923: 0x402c3a20,\n\t0xa924: 0x402c6220, 0xa925: 0xc63431e1, 0xa926: 0x402d0820, 0xa927: 0x402d2220,\n\t0xa928: 0x402d6820, 0xa929: 0xc63831e1, 0xa92a: 0x402dcc20, 0xa92b: 0x402dfe20,\n\t0xa92c: 0xc0000002, 0xa92d: 0x402e8220, 0xa92e: 0x402e9e20, 0xa92f: 0xc63c3201,\n\t0xa930: 0x402f2c20, 0xa931: 0x402f5620, 0xa932: 0x402f7a20, 0xa933: 0x402fe620,\n\t0xa934: 0x40302c20, 0xa935: 0xc64231e1, 0xa936: 0x4030be20, 0xa937: 0x4030e220,\n\t0xa938: 0x4030f620, 0xa939: 0xc64631e1, 0xa93a: 0x40312a20, 0xa93b: 0x4003fc20,\n\t0xa93c: 0x40094820, 0xa93d: 0x4003fe20, 0xa93e: 0x40094c20, 0xa93f: 0xa0000000,\n\t// Block 0x2a5, offset 0xa940\n\t0xa940: 0xe00008f5, 0xa941: 0x002c0883, 0xa942: 0xe0000921, 0xa943: 0xe0000969,\n\t0xa944: 0x00320ca3, 0xa945: 0x00321083, 0xa946: 0x00320c83, 0xa947: 0xe0000a53,\n\t0xa948: 0xe0000ae8, 0xa949: 0x002d0683, 0xa94a: 0xe0000af4, 0xa94b: 0xe0000b20,\n\t0xa94c: 0xe0000c2b, 0xa94d: 0x002dca83, 0xa94e: 0xe0000c37, 0xa94f: 0xe0000c43,\n\t0xa950: 0x002c6483, 0xa951: 0xe0000d63, 0xa952: 0xe0000d9a, 0xa953: 0x002f2a83,\n\t0xa954: 0xe0000da6, 0xa955: 0xe0000de6, 0xa956: 0x00320e83, 0xa957: 0x40093e20,\n\t0xa958: 0x00320ea3, 0xa959: 0xe0000fe1, 0xa95a: 0x0030bc83, 0xa95b: 0xe0000fed,\n\t0xa95c: 0xe0000fff, 0xa95d: 0x00312883, 0xa95e: 0x00318888, 0xa95f: 0xe0000f7b,\n\t0xa960: 0xe00008f2, 0xa961: 0x402c0820, 0xa962: 0xe000091e, 0xa963: 0xe0000966,\n\t0xa964: 0x40320c21, 0xa965: 0x40321020, 0xa966: 0x40320c20, 0xa967: 0xe0000a4d,\n\t0xa968: 0xe0000ae5, 0xa969: 0x402d0620, 0xa96a: 0xe0000af1, 0xa96b: 0xe0000b1d,\n\t0xa96c: 0xe0000c28, 0xa96d: 0x402dca20, 0xa96e: 0xe0000c34, 0xa96f: 0xe0000c40,\n\t0xa970: 0x402c6420, 0xa971: 0xe0000d60, 0xa972: 0xe0000d97, 0xa973: 0x402f2a20,\n\t0xa974: 0xe0000da3, 0xa975: 0xe0000de3, 0xa976: 0x40320e20, 0xa977: 0x40093c20,\n\t0xa978: 0x40320e21, 0xa979: 0xe0000fde, 0xa97a: 0x4030bc20, 0xa97b: 0xe0000fea,\n\t0xa97c: 0xe0000ffc, 0xa97d: 0x40312820, 0xa97e: 0x40318820, 0xa97f: 0xe0001114,\n\t// Block 0x2a6, offset 0xa980\n\t0xa980: 0xe0000983, 0xa981: 0xe0000980, 0xa982: 0xe00008fb, 0xa983: 0xe00008f8,\n\t0xa984: 0xe000097d, 0xa985: 0xe000097a, 0xa986: 0xe0000a38, 0xa987: 0xe0000a35,\n\t0xa988: 0xe0000a3e, 0xa989: 0xe0000a3b, 0xa98a: 0xe0000a4a, 0xa98b: 0xe0000a47,\n\t0xa98c: 0xe0000a44, 0xa98d: 0xe0000a41, 0xa98e: 0xe0000a86, 0xa98f: 0xe0000a83,\n\t0xa990: 0x002c62a3, 0xa991: 0x402c6221, 0xa992: 0xe0000b46, 0xa993: 0xe0000b43,\n\t0xa994: 0xe0000aee, 0xa995: 0xe0000aeb, 0xa996: 0xe0000b2c, 0xa997: 0xe0000b29,\n\t0xa998: 0xe0000b40, 0xa999: 0xe0000b3d, 0xa99a: 0xe0000b1a, 0xa99b: 0xe0000b17,\n\t0xa99c: 0xe0000bb8, 0xa99d: 0xe0000bb5, 0xa99e: 0xe0000bb2, 0xa99f: 0xe0000baf,\n\t0xa9a0: 0xe0000bc4, 0xa9a1: 0xe0000bc1, 0xa9a2: 0xe0000bca, 0xa9a3: 0xe0000bc7,\n\t0xa9a4: 0xe0000bee, 0xa9a5: 0xe0000beb, 0xa9a6: 0xe0000c1b, 0xa9a7: 0xe0000c18,\n\t0xa9a8: 0xe0000c51, 0xa9a9: 0xe0000c4e, 0xa9aa: 0xe0000c60, 0xa9ab: 0xe0000c5d,\n\t0xa9ac: 0xe0000c31, 0xa9ad: 0xe0000c2e, 0xa9ae: 0xe0000c5a, 0xa9af: 0xe0000c57,\n\t0xa9b0: 0xe0000c54, 0xa9b1: 0x402da220, 0xa9b2: 0xf0000a0a, 0xa9b3: 0xf0000404,\n\t0xa9b4: 0xe0000c8a, 0xa9b5: 0xe0000c87, 0xa9b6: 0xe0000c9f, 0xa9b7: 0xe0000c9c,\n\t0xa9b8: 0x402f7220, 0xa9b9: 0xe0000ccc, 0xa9ba: 0xe0000cc9, 0xa9bb: 0xe0000cd8,\n\t0xa9bc: 0xe0000cd5, 0xa9bd: 0xe0000cd2, 0xa9be: 0xe0000ccf, 0xa9bf: 0xe0000d04,\n\t// Block 0x2a7, offset 0xa9c0\n\t0xa9c0: 0x40321220, 0xa9c1: 0x40321a20, 0xa9c2: 0x40322220, 0xa9c3: 0x40322a20,\n\t0xa9c4: 0xe0000ad5, 0xa9c5: 0xe0000ad1, 0xa9c6: 0xe0000acd, 0xa9c7: 0xf0000a0a,\n\t0xa9c8: 0xf000040a, 0xa9c9: 0xf0000404, 0xa9ca: 0xf0000a0a, 0xa9cb: 0xf000040a,\n\t0xa9cc: 0xf0000404, 0xa9cd: 0xe0000947, 0xa9ce: 0xe0000944, 0xa9cf: 0xe0000c3d,\n\t0xa9d0: 0xe0000c3a, 0xa9d1: 0xe0000dcc, 0xa9d2: 0xe0000dc9, 0xa9d3: 0xe0000ff3,\n\t0xa9d4: 0xe0000ff0, 0xa9d5: 0xe000101e, 0xa9d6: 0xe000101a, 0xa9d7: 0xe0003cde,\n\t0xa9d8: 0xe0003cdb, 0xa9d9: 0xe0001016, 0xa9da: 0xe0001012, 0xa9db: 0xe000100e,\n\t0xa9dc: 0xe000100a, 0xa9dd: 0x402cae20, 0xa9de: 0xe000299d, 0xa9df: 0xe000299a,\n\t0xa9e0: 0xe0000976, 0xa9e1: 0xe0000972, 0xa9e2: 0xe0002997, 0xa9e3: 0xe0002994,\n\t0xa9e4: 0x002d3a88, 0xa9e5: 0x402d3a20, 0xa9e6: 0xe0000bbe, 0xa9e7: 0xe0000bbb,\n\t0xa9e8: 0xe0000c99, 0xa9e9: 0xe0000c96, 0xa9ea: 0xe0000e20, 0xa9eb: 0xe0000e1d,\n\t0xa9ec: 0xe0000e27, 0xa9ed: 0xe0000e23, 0xa9ee: 0xe0001162, 0xa9ef: 0xe000115f,\n\t0xa9f0: 0xe0000c8d, 0xa9f1: 0xf0000a0a, 0xa9f2: 0xf000040a, 0xa9f3: 0xf0000404,\n\t0xa9f4: 0xe0000bac, 0xa9f5: 0xe0000ba9, 0xa9f6: 0x002d7888, 0xa9f7: 0x00319488,\n\t0xa9f8: 0xe0000d57, 0xa9f9: 0xe0000d54, 0xa9fa: 0xe00029b5, 0xa9fb: 0xe00029b2,\n\t0xa9fc: 0xe0002991, 0xa9fd: 0xe000298e, 0xa9fe: 0xe00037ee, 0xa9ff: 0xe00037eb,\n\t// Block 0x2a8, offset 0xaa00\n\t0xaa00: 0xe000098f, 0xaa01: 0xe000098c, 0xaa02: 0xe0000995, 0xaa03: 0xe0000992,\n\t0xaa04: 0xe0000b62, 0xaa05: 0xe0000b5f, 0xaa06: 0xe0000b68, 0xaa07: 0xe0000b65,\n\t0xaa08: 0xe0000c6c, 0xaa09: 0xe0000c69, 0xaa0a: 0xe0000c72, 0xaa0b: 0xe0000c6f,\n\t0xaa0c: 0xe0000e4a, 0xaa0d: 0xe0000e47, 0xaa0e: 0xe0000e50, 0xaa0f: 0xe0000e4d,\n\t0xaa10: 0xe0000ee8, 0xaa11: 0xe0000ee5, 0xaa12: 0xe0000eee, 0xaa13: 0xe0000eeb,\n\t0xaa14: 0xe0001053, 0xaa15: 0xe0001050, 0xaa16: 0xe0001059, 0xaa17: 0xe0001056,\n\t0xaa18: 0xe0000f61, 0xaa19: 0xe0000f5e, 0xaa1a: 0xe0000fa5, 0xaa1b: 0xe0000fa2,\n\t0xaa1c: 0x00312288, 0xaa1d: 0x40312220, 0xaa1e: 0xe0000bf4, 0xaa1f: 0xe0000bf1,\n\t0xaa20: 0x002ebc88, 0xaa21: 0x402c8c20, 0xaa22: 0x002f2288, 0xaa23: 0x402f2220,\n\t0xaa24: 0x00314088, 0xaa25: 0x40314020, 0xaa26: 0xe000096f, 0xaa27: 0xe000096c,\n\t0xaa28: 0xe0000b32, 0xaa29: 0xe0000b2f, 0xaa2a: 0xe00037e8, 0xaa2b: 0xe00037e5,\n\t0xaa2c: 0xe0000dfd, 0xaa2d: 0xe0000df9, 0xaa2e: 0xe0000e04, 0xaa2f: 0xe0000e01,\n\t0xaa30: 0xe0000e0b, 0xaa31: 0xe0000e07, 0xaa32: 0xe0001129, 0xaa33: 0xe0001126,\n\t0xaa34: 0x402e5e20, 0xaa35: 0x402ed020, 0xaa36: 0x40305a20, 0xaa37: 0x402dd420,\n\t0xaa38: 0xe0000abf, 0xaa39: 0xe0000ec4, 0xaa3a: 0x002be888, 0xaa3b: 0x002c4488,\n\t0xaa3c: 0x402c4420, 0xaa3d: 0x002e3888, 0xaa3e: 0x00303e88, 0xaa3f: 0x402ffc20,\n\t// Block 0x2a9, offset 0xaa40\n\t0xaa40: 0xe00009b1, 0xaa41: 0xe00009ae, 0xaa42: 0xe0000a22, 0xaa43: 0xe0000a1f,\n\t0xaa44: 0xe0000a28, 0xaa45: 0xe0000a25, 0xaa46: 0xe0000a2e, 0xaa47: 0xe0000a2b,\n\t0xaa48: 0xe0000a5a, 0xaa49: 0xe0000a56, 0xaa4a: 0xe0000a8c, 0xaa4b: 0xe0000a89,\n\t0xaa4c: 0xe0000a98, 0xaa4d: 0xe0000a95, 0xaa4e: 0xe0000aa4, 0xaa4f: 0xe0000aa1,\n\t0xaa50: 0xe0000a92, 0xaa51: 0xe0000a8f, 0xaa52: 0xe0000a9e, 0xaa53: 0xe0000a9b,\n\t0xaa54: 0xe0000b55, 0xaa55: 0xe0000b51, 0xaa56: 0xe0003cba, 0xaa57: 0xe0003cb7,\n\t0xaa58: 0xe0000b7c, 0xaa59: 0xe0000b79, 0xaa5a: 0xe0000b82, 0xaa5b: 0xe0000b7f,\n\t0xaa5c: 0xe0000b39, 0xaa5d: 0xe0000b35, 0xaa5e: 0xe0000b8c, 0xaa5f: 0xe0000b89,\n\t0xaa60: 0xe0000bd0, 0xaa61: 0xe0000bcd, 0xaa62: 0xe0000c00, 0xaa63: 0xe0000bfd,\n\t0xaa64: 0xe0000c0c, 0xaa65: 0xe0000c09, 0xaa66: 0xe0000bfa, 0xaa67: 0xe0000bf7,\n\t0xaa68: 0xe0000c06, 0xaa69: 0xe0000c03, 0xaa6a: 0xe0000c12, 0xaa6b: 0xe0000c0f,\n\t0xaa6c: 0xe0000c7e, 0xaa6d: 0xe0000c7b, 0xaa6e: 0xe0003cc0, 0xaa6f: 0xe0003cbd,\n\t0xaa70: 0xe0000c93, 0xaa71: 0xe0000c90, 0xaa72: 0xe0000cab, 0xaa73: 0xe0000ca8,\n\t0xaa74: 0xe0000cb1, 0xaa75: 0xe0000cae, 0xaa76: 0xe0000cde, 0xaa77: 0xe0000cdb,\n\t0xaa78: 0xe0000ce5, 0xaa79: 0xe0000ce1, 0xaa7a: 0xe0000cf2, 0xaa7b: 0xe0000cef,\n\t0xaa7c: 0xe0000cec, 0xaa7d: 0xe0000ce9, 0xaa7e: 0xe0000d1e, 0xaa7f: 0xe0000d1b,\n\t// Block 0x2aa, offset 0xaa80\n\t0xaa80: 0xe0000d24, 0xaa81: 0xe0000d21, 0xaa82: 0xe0000d2a, 0xaa83: 0xe0000d27,\n\t0xaa84: 0xe0000d69, 0xaa85: 0xe0000d66, 0xaa86: 0xe0000d7b, 0xaa87: 0xe0000d78,\n\t0xaa88: 0xe0000d87, 0xaa89: 0xe0000d84, 0xaa8a: 0xe0000d81, 0xaa8b: 0xe0000d7e,\n\t0xaa8c: 0xe0003ccc, 0xaa8d: 0xe0003cc9, 0xaa8e: 0xe0003cf0, 0xaa8f: 0xe0003ced,\n\t0xaa90: 0xe0000e3d, 0xaa91: 0xe0000e39, 0xaa92: 0xe0003cd2, 0xaa93: 0xe0003ccf,\n\t0xaa94: 0xe0000ea7, 0xaa95: 0xe0000ea4, 0xaa96: 0xe0000ead, 0xaa97: 0xe0000eaa,\n\t0xaa98: 0xe0000ed6, 0xaa99: 0xe0000ed3, 0xaa9a: 0xe0000ef4, 0xaa9b: 0xe0000ef1,\n\t0xaa9c: 0xe0000efb, 0xaa9d: 0xe0000ef7, 0xaa9e: 0xe0000f02, 0xaa9f: 0xe0000eff,\n\t0xaaa0: 0xe0000f41, 0xaaa1: 0xe0000f3e, 0xaaa2: 0xe0000f53, 0xaaa3: 0xe0000f50,\n\t0xaaa4: 0xe0000f26, 0xaaa5: 0xe0000f22, 0xaaa6: 0xe0000f3a, 0xaaa7: 0xe0000f36,\n\t0xaaa8: 0xe0000f5a, 0xaaa9: 0xe0000f56, 0xaaaa: 0xe0000f93, 0xaaab: 0xe0000f90,\n\t0xaaac: 0xe0000f9f, 0xaaad: 0xe0000f9c, 0xaaae: 0xe0000fb1, 0xaaaf: 0xe0000fae,\n\t0xaab0: 0xe0000fab, 0xaab1: 0xe0000fa8, 0xaab2: 0xe0001093, 0xaab3: 0xe0001090,\n\t0xaab4: 0xe000109f, 0xaab5: 0xe000109c, 0xaab6: 0xe0001099, 0xaab7: 0xe0001096,\n\t0xaab8: 0xe0003ce4, 0xaab9: 0xe0003ce1, 0xaaba: 0xe0001046, 0xaabb: 0xe0001042,\n\t0xaabc: 0xe00010a9, 0xaabd: 0xe00010a6, 0xaabe: 0xe00010af, 0xaabf: 0xe00010ac,\n\t// Block 0x2ab, offset 0xaac0\n\t0xaac0: 0xe00010d2, 0xaac1: 0xe00010cf, 0xaac2: 0xe00010cc, 0xaac3: 0xe00010c9,\n\t0xaac4: 0xe00010e1, 0xaac5: 0xe00010de, 0xaac6: 0xe00010e7, 0xaac7: 0xe00010e4,\n\t0xaac8: 0xe00010ed, 0xaac9: 0xe00010ea, 0xaaca: 0xe00010fc, 0xaacb: 0xe00010f9,\n\t0xaacc: 0xe00010f6, 0xaacd: 0xe00010f3, 0xaace: 0xe0001123, 0xaacf: 0xe0001120,\n\t0xaad0: 0xe0001141, 0xaad1: 0xe000113e, 0xaad2: 0xe0001153, 0xaad3: 0xe0001150,\n\t0xaad4: 0xe0001159, 0xaad5: 0xe0001156, 0xaad6: 0xe0000c15, 0xaad7: 0xe0000f8d,\n\t0xaad8: 0xe00010db, 0xaad9: 0xe0001111, 0xaada: 0xf0000404, 0xaadb: 0xe0000f70,\n\t0xaadc: 0x40300420, 0xaadd: 0x40300620, 0xaade: 0xe0000f7f, 0xaadf: 0x402c9620,\n\t0xaae0: 0xe000099b, 0xaae1: 0xe0000998, 0xaae2: 0xe0000989, 0xaae3: 0xe0000986,\n\t0xaae4: 0xe0003cae, 0xaae5: 0xe0003cab, 0xaae6: 0xe0000930, 0xaae7: 0xe000092c,\n\t0xaae8: 0xe0000940, 0xaae9: 0xe000093c, 0xaaea: 0xe0000938, 0xaaeb: 0xe0000934,\n\t0xaaec: 0xe00009aa, 0xaaed: 0xe00009a6, 0xaaee: 0xe0003ca8, 0xaaef: 0xe0003ca5,\n\t0xaaf0: 0xe000090a, 0xaaf1: 0xe0000906, 0xaaf2: 0xe000091a, 0xaaf3: 0xe0000916,\n\t0xaaf4: 0xe0000912, 0xaaf5: 0xe000090e, 0xaaf6: 0xe00009a2, 0xaaf7: 0xe000099e,\n\t0xaaf8: 0xe0000b6e, 0xaaf9: 0xe0000b6b, 0xaafa: 0xe0000b5c, 0xaafb: 0xe0000b59,\n\t0xaafc: 0xe0000b26, 0xaafd: 0xe0000b23, 0xaafe: 0xe0003cb4, 0xaaff: 0xe0003cb1,\n\t// Block 0x2ac, offset 0xab00\n\t0xab00: 0xe0000b03, 0xab01: 0xe0000aff, 0xab02: 0xe0000b13, 0xab03: 0xe0000b0f,\n\t0xab04: 0xe0000b0b, 0xab05: 0xe0000b07, 0xab06: 0xe0000b75, 0xab07: 0xe0000b71,\n\t0xab08: 0xe0000c66, 0xab09: 0xe0000c63, 0xab0a: 0xe0000c78, 0xab0b: 0xe0000c75,\n\t0xab0c: 0xe0000e84, 0xab0d: 0xe0000e81, 0xab0e: 0xe0000e44, 0xab0f: 0xe0000e41,\n\t0xab10: 0xe0003cc6, 0xab11: 0xe0003cc3, 0xab12: 0xe0000db5, 0xab13: 0xe0000db1,\n\t0xab14: 0xe0000dc5, 0xab15: 0xe0000dc1, 0xab16: 0xe0000dbd, 0xab17: 0xe0000db9,\n\t0xab18: 0xe0000e8b, 0xab19: 0xe0000e87, 0xab1a: 0xe0003cd8, 0xab1b: 0xe0003cd5,\n\t0xab1c: 0xe0000e65, 0xab1d: 0xe0000e61, 0xab1e: 0xe0000e75, 0xab1f: 0xe0000e71,\n\t0xab20: 0xe0000e6d, 0xab21: 0xe0000e69, 0xab22: 0xe0000e7d, 0xab23: 0xe0000e79,\n\t0xab24: 0xe000108d, 0xab25: 0xe000108a, 0xab26: 0xe000104d, 0xab27: 0xe000104a,\n\t0xab28: 0xe0003cea, 0xab29: 0xe0003ce7, 0xab2a: 0xe000106e, 0xab2b: 0xe000106a,\n\t0xab2c: 0xe000107e, 0xab2d: 0xe000107a, 0xab2e: 0xe0001076, 0xab2f: 0xe0001072,\n\t0xab30: 0xe0001086, 0xab31: 0xe0001082, 0xab32: 0xe0001108, 0xab33: 0xe0001105,\n\t0xab34: 0xe0001135, 0xab35: 0xe0001132, 0xab36: 0xe000112f, 0xab37: 0xe000112c,\n\t0xab38: 0xe000111d, 0xab39: 0xe000111a, 0xab3a: 0xe0000d0a, 0xab3b: 0xe0000d07,\n\t0xab3c: 0x0030d888, 0xab3d: 0x4030d820, 0xab3e: 0x00312088, 0xab3f: 0x40312020,\n\t// Block 0x2ad, offset 0xab40\n\t0xab40: 0x40021220, 0xab41: 0x40025c20, 0xab42: 0x40030420, 0xab43: 0x40051220,\n\t0xab44: 0x40279a20, 0xab45: 0x4027ca20, 0xab46: 0xe0002206, 0xab47: 0xe00001d3,\n\t0xab48: 0x40049c20, 0xab49: 0x40049e20, 0xab4a: 0x4004a020, 0xab4b: 0x4004a220,\n\t0xab4c: 0x4004a420, 0xab4d: 0x4004a620, 0xab4e: 0x4004a820, 0xab4f: 0x4004aa20,\n\t0xab50: 0x4004ac20, 0xab51: 0x4004ae20, 0xab52: 0x40279c20, 0xab53: 0x40279e20,\n\t0xab54: 0x4004b020, 0xab55: 0x4004b220, 0xab56: 0x4004b420, 0xab57: 0x4004b620,\n\t0xab58: 0x4004b820, 0xab59: 0x4004ba20, 0xab5a: 0x4004bc20, 0xab5b: 0x4004be20,\n\t0xab5c: 0x40023820, 0xab5d: 0x4003ea20, 0xab5e: 0x4003ec20, 0xab5f: 0x4003ee20,\n\t0xab60: 0x4027a020, 0xab61: 0xe0000267, 0xab62: 0xe000037f, 0xab63: 0xe0000459,\n\t0xab64: 0xe000052e, 0xab65: 0xe00005f8, 0xab66: 0xe00006c3, 0xab67: 0xe000076b,\n\t0xab68: 0xe0000817, 0xab69: 0xe00008bc, 0xab6a: 0xada12202, 0xab6b: 0xae412302,\n\t0xab6c: 0xae812402, 0xab6d: 0xade12502, 0xab6e: 0xae012602, 0xab6f: 0xae012702,\n\t0xab70: 0x40023a20, 0xab71: 0x4027ce20, 0xab72: 0xe0000152, 0xab73: 0x4027d020,\n\t0xab74: 0xe0000155, 0xab75: 0x4027d220, 0xab76: 0x00279c84, 0xab77: 0x4027a220,\n\t0xab78: 0x02a68284, 0xab79: 0x02a68884, 0xab7a: 0x02a68a84, 0xab7b: 0x4027cc20,\n\t0xab7c: 0xe000231a, 0xab7d: 0x40051420, 0xab7e: 0x4027a420, 0xab7f: 0x4027a620,\n\t// Block 0x2ae, offset 0xab80\n\t0xab81: 0xc64a3231, 0xab82: 0xc6503231, 0xab83: 0xc71a3231,\n\t0xab84: 0xc7203231, 0xab85: 0xc7d83a21, 0xab86: 0xc7e233e1, 0xab87: 0xc8c13231,\n\t0xab88: 0xc8c73231, 0xab89: 0xc9763231, 0xab8a: 0xc97c3231, 0xab8b: 0xc65c32b1,\n\t0xab8c: 0xc6693231, 0xab8d: 0xc72633e1, 0xab8e: 0xc73b3671, 0xab8f: 0xc80433e1,\n\t0xab90: 0xc8193671, 0xab91: 0xc8d332b1, 0xab92: 0xc8e03231, 0xab93: 0xc98233e1,\n\t0xab94: 0xc9973671, 0xab95: 0xc66f33e1, 0xab96: 0xc6843671, 0xab97: 0xc74833e1,\n\t0xab98: 0xc75d3671, 0xab99: 0xc82633e1, 0xab9a: 0xc83b3671, 0xab9b: 0xc8e633e1,\n\t0xab9c: 0xc8fb3671, 0xab9d: 0xc99f33e1, 0xab9e: 0xc9b43671, 0xab9f: 0xc68c33e1,\n\t0xaba0: 0xc6a13671, 0xaba1: 0xc76533e1, 0xaba2: 0xc77a3671, 0xaba3: 0xc8433a21,\n\t0xaba4: 0xc84d33e1, 0xaba5: 0xc8623671, 0xaba6: 0xc90333e1, 0xaba7: 0xc9183671,\n\t0xaba8: 0xc9c133e1, 0xaba9: 0xc9d63671, 0xabaa: 0xc6a93231, 0xabab: 0xc7823231,\n\t0xabac: 0xc86d3231, 0xabad: 0xc9203231, 0xabae: 0xc9de3231, 0xabaf: 0xc6b436f1,\n\t0xabb0: 0xc6cf3671, 0xabb1: 0xc6d73671, 0xabb2: 0xc78d36f1, 0xabb3: 0xc7a83671,\n\t0xabb4: 0xc7b03671, 0xabb5: 0xc87836f1, 0xabb6: 0xc8933671, 0xabb7: 0xc89b3671,\n\t0xabb8: 0xc92b36f1, 0xabb9: 0xc9463671, 0xabba: 0xc94e3671, 0xabbb: 0xc9e936f1,\n\t0xabbc: 0xca043671, 0xabbd: 0xca0c3671, 0xabbe: 0xc6df3231, 0xabbf: 0xc7b83231,\n\t// Block 0x2af, offset 0xabc0\n\t0xabc0: 0xc8a63231, 0xabc1: 0xc9563231, 0xabc2: 0xca143231, 0xabc3: 0xc6e53231,\n\t0xabc4: 0xc6eb3231, 0xabc5: 0xc8ac3231, 0xabc6: 0xc8b23231, 0xabc7: 0xca1a3231,\n\t0xabc8: 0xca203231, 0xabc9: 0xc6f43231, 0xabca: 0xc7c13231, 0xabcb: 0xc8bb3231,\n\t0xabcc: 0xc95f3231, 0xabcd: 0xca293231, 0xabce: 0xc6fa3a21, 0xabcf: 0xc7043a21,\n\t0xabd0: 0xc7c73a21, 0xabd1: 0xc9653a21, 0xabd2: 0xca2f3a21, 0xabd3: 0xca453ab1,\n\t0xabd4: 0xc7f73671, 0xabd5: 0xc6563231, 0xabd6: 0xc8cd3231,\n\t0xabd9: 0xa0812802, 0xabda: 0xa0812902, 0xabdb: 0x40063c20,\n\t0xabdc: 0x40063e20, 0xabdd: 0x4027d820, 0xabde: 0xe000015b, 0xabdf: 0xe0004033,\n\t0xabe0: 0x40023c20, 0xabe1: 0xc64d3281, 0xabe2: 0xc6533281, 0xabe3: 0xc71d3281,\n\t0xabe4: 0xc7233281, 0xabe5: 0xc7dd3601, 0xabe6: 0xc7ea3501, 0xabe7: 0xc8c43281,\n\t0xabe8: 0xc8ca3281, 0xabe9: 0xc9793281, 0xabea: 0xc97f3281, 0xabeb: 0xc6613361,\n\t0xabec: 0xc66c3281, 0xabed: 0xc72e3501, 0xabee: 0xc73f36c1, 0xabef: 0xc80c3501,\n\t0xabf0: 0xc81d36c1, 0xabf1: 0xc8d83361, 0xabf2: 0xc8e33281, 0xabf3: 0xc98a3501,\n\t0xabf4: 0xc99b36c1, 0xabf5: 0xc6773501, 0xabf6: 0xc68836c1, 0xabf7: 0xc7503501,\n\t0xabf8: 0xc76136c1, 0xabf9: 0xc82e3501, 0xabfa: 0xc83f36c1, 0xabfb: 0xc8ee3501,\n\t0xabfc: 0xc8ff36c1, 0xabfd: 0xc9a73501, 0xabfe: 0xc9b836c1, 0xabff: 0xc6943501,\n\t// Block 0x2b0, offset 0xac00\n\t0xac00: 0xc6a536c1, 0xac01: 0xc76d3501, 0xac02: 0xc77e36c1, 0xac03: 0xc8483601,\n\t0xac04: 0xc8553501, 0xac05: 0xc86636c1, 0xac06: 0xc90b3501, 0xac07: 0xc91c36c1,\n\t0xac08: 0xc9c93501, 0xac09: 0xc9da36c1, 0xac0a: 0xc6ac3281, 0xac0b: 0xc7853281,\n\t0xac0c: 0xc8703281, 0xac0d: 0xc9233281, 0xac0e: 0xc9e13281, 0xac0f: 0xc6bf38a1,\n\t0xac10: 0xc6d336c1, 0xac11: 0xc6db36c1, 0xac12: 0xc79838a1, 0xac13: 0xc7ac36c1,\n\t0xac14: 0xc7b436c1, 0xac15: 0xc88338a1, 0xac16: 0xc89736c1, 0xac17: 0xc89f36c1,\n\t0xac18: 0xc93638a1, 0xac19: 0xc94a36c1, 0xac1a: 0xc95236c1, 0xac1b: 0xc9f438a1,\n\t0xac1c: 0xca0836c1, 0xac1d: 0xca1036c1, 0xac1e: 0xc6e23281, 0xac1f: 0xc7bb3281,\n\t0xac20: 0xc8a93281, 0xac21: 0xc9593281, 0xac22: 0xca173281, 0xac23: 0xc6e83281,\n\t0xac24: 0xc6ee3281, 0xac25: 0xc8af3281, 0xac26: 0xc8b53281, 0xac27: 0xca1d3281,\n\t0xac28: 0xca233281, 0xac29: 0xc6f73281, 0xac2a: 0xc7c43281, 0xac2b: 0xc8be3281,\n\t0xac2c: 0xc9623281, 0xac2d: 0xca2c3281, 0xac2e: 0xc6ff3601, 0xac2f: 0xc7093501,\n\t0xac30: 0xc7cc3501, 0xac31: 0xc96a3501, 0xac32: 0xca343501, 0xac33: 0xca453ae1,\n\t0xac34: 0xc7fb36c1, 0xac35: 0xc6593281, 0xac36: 0xc8d03281, 0xac37: 0xc71636c1,\n\t0xac38: 0xc7d436c1, 0xac39: 0xc97236c1, 0xac3a: 0xca4136c1, 0xac3b: 0x40023e20,\n\t0xac3c: 0x4027d620, 0xac3d: 0x4027d820, 0xac3e: 0xe000015b, 0xac3f: 0xe0003eda,\n\t// Block 0x2b1, offset 0xac40\n\t0xac45: 0x4065da20, 0xac46: 0x4065dc20, 0xac47: 0x4065de20,\n\t0xac48: 0x4065e020, 0xac49: 0x4065e420, 0xac4a: 0x4065e620, 0xac4b: 0x4065e820,\n\t0xac4c: 0x4065ea20, 0xac4d: 0x4065ec20, 0xac4e: 0x4065ee20, 0xac4f: 0x4065f420,\n\t0xac50: 0x4065f620, 0xac51: 0x4065f820, 0xac52: 0x4065fa20, 0xac53: 0x4065fe20,\n\t0xac54: 0x40660020, 0xac55: 0x40660220, 0xac56: 0x40660420, 0xac57: 0x40660620,\n\t0xac58: 0x40660820, 0xac59: 0x40660a20, 0xac5a: 0x40661220, 0xac5b: 0x40661420,\n\t0xac5c: 0x40661820, 0xac5d: 0x40661a20, 0xac5e: 0x40661e20, 0xac5f: 0x40662020,\n\t0xac60: 0x40662220, 0xac61: 0x40662420, 0xac62: 0x40662620, 0xac63: 0x40662820,\n\t0xac64: 0x40662a20, 0xac65: 0x40662e20, 0xac66: 0x40663620, 0xac67: 0x40663820,\n\t0xac68: 0x40663a20, 0xac69: 0x40663c20, 0xac6a: 0x4065e220, 0xac6b: 0x4065f020,\n\t0xac6c: 0x4065fc20, 0xac6d: 0x40663e20,\n\t0xac71: 0x4062ac20, 0xac72: 0x4062ae20, 0xac73: 0x40646820,\n\t0xac74: 0x4062b020, 0xac75: 0x40646c20, 0xac76: 0x40646e20, 0xac77: 0x4062b220,\n\t0xac78: 0x4062b420, 0xac79: 0x4062b620, 0xac7a: 0x40647420, 0xac7b: 0x40647620,\n\t0xac7c: 0x40647820, 0xac7d: 0x40647a20, 0xac7e: 0x40647c20, 0xac7f: 0x40647e20,\n\t// Block 0x2b2, offset 0xac80\n\t0xac80: 0x4062e020, 0xac81: 0x4062b820, 0xac82: 0x4062ba20, 0xac83: 0x4062bc20,\n\t0xac84: 0x4062ee20, 0xac85: 0x4062be20, 0xac86: 0x4062c020, 0xac87: 0x4062c220,\n\t0xac88: 0x4062c420, 0xac89: 0x4062c620, 0xac8a: 0x4062c820, 0xac8b: 0x4062ca20,\n\t0xac8c: 0x4062cc20, 0xac8d: 0x4062ce20, 0xac8e: 0x4062d020, 0xac8f: 0x4063a820,\n\t0xac90: 0x4063aa20, 0xac91: 0x4063ac20, 0xac92: 0x4063ae20, 0xac93: 0x4063b020,\n\t0xac94: 0x4063b220, 0xac95: 0x4063b420, 0xac96: 0x4063b620, 0xac97: 0x4063b820,\n\t0xac98: 0x4063ba20, 0xac99: 0x4063bc20, 0xac9a: 0x4063be20, 0xac9b: 0x4063c020,\n\t0xac9c: 0x4063c220, 0xac9d: 0x4063c420, 0xac9e: 0x4063c620, 0xac9f: 0x4063c820,\n\t0xaca0: 0x4063ca20, 0xaca1: 0x4063cc20, 0xaca2: 0x4063ce20, 0xaca3: 0x4063d020,\n\t0xaca4: 0x4063a620, 0xaca5: 0x0062d484, 0xaca6: 0x0062d684, 0xaca7: 0x0064a284,\n\t0xaca8: 0x0064a484, 0xaca9: 0x0064ac84, 0xacaa: 0x0064b084, 0xacab: 0x0064ba84,\n\t0xacac: 0x0064c284, 0xacad: 0x0064c684, 0xacae: 0x0062e484, 0xacaf: 0x0064ce84,\n\t0xacb0: 0x0064d284, 0xacb1: 0x0062e684, 0xacb2: 0x0062e884, 0xacb3: 0x0062ec84,\n\t0xacb4: 0x0062f084, 0xacb5: 0x0062f284, 0xacb6: 0x0062fa84, 0xacb7: 0x0062fe84,\n\t0xacb8: 0x00630284, 0xacb9: 0x00630484, 0xacba: 0x00630684, 0xacbb: 0x00630884,\n\t0xacbc: 0x00630a84, 0xacbd: 0x00631084, 0xacbe: 0x00631884, 0xacbf: 0x00632c84,\n\t// Block 0x2b3, offset 0xacc0\n\t0xacc0: 0x40275220, 0xacc1: 0x40275420, 0xacc2: 0x40275620, 0xacc3: 0x40275820,\n\t0xacc4: 0x40275a20, 0xacc5: 0x40275c20, 0xacc6: 0x40275e20, 0xacc7: 0x40276020,\n\t0xacc8: 0x40276220, 0xacc9: 0x40276420, 0xacca: 0x40276620, 0xaccb: 0x40276820,\n\t0xaccc: 0x40276a20, 0xaccd: 0x40276c20, 0xacce: 0x40276e20, 0xaccf: 0x40277020,\n\t0xacd0: 0x40277220, 0xacd1: 0x40277420, 0xacd2: 0x40277620, 0xacd3: 0x40277820,\n\t0xacd4: 0x40277a20, 0xacd5: 0x40277c20, 0xacd6: 0x40277e20, 0xacd7: 0x40278020,\n\t0xacd8: 0x40278220, 0xacd9: 0x40278420, 0xacda: 0x40278620, 0xacdb: 0x40278820,\n\t0xacdc: 0x40278a20, 0xacdd: 0x40278c20, 0xacde: 0x40278e20, 0xacdf: 0x40279020,\n\t0xace0: 0x40279220, 0xace1: 0x40279420, 0xace2: 0x40279620, 0xace3: 0x40279820,\n\t0xacf0: 0xc7ff3601, 0xacf1: 0xc7433601, 0xacf2: 0xc8213601, 0xacf3: 0xc9bc3601,\n\t0xacf4: 0xc86a3281, 0xacf5: 0xc6af3601, 0xacf6: 0xc7883601, 0xacf7: 0xc8733601,\n\t0xacf8: 0xc9263601, 0xacf9: 0xc9e43601, 0xacfa: 0xc8a33281, 0xacfb: 0xc6f13281,\n\t0xacfc: 0xc7be3281, 0xacfd: 0xc8b83281, 0xacfe: 0xc95c3281, 0xacff: 0xca263281,\n\t// Block 0x2b4, offset 0xad00\n\t0xad00: 0xf0000404, 0xad01: 0xf0000404, 0xad02: 0xf0000404, 0xad03: 0xf0000404,\n\t0xad04: 0xf0000404, 0xad05: 0xf0000404, 0xad06: 0xf0000404, 0xad07: 0xf0000404,\n\t0xad08: 0xf0000404, 0xad09: 0xf0000404, 0xad0a: 0xf0000404, 0xad0b: 0xf0000404,\n\t0xad0c: 0xf0000404, 0xad0d: 0xf0000404, 0xad0e: 0xe000004c, 0xad0f: 0xe0000051,\n\t0xad10: 0xe0000056, 0xad11: 0xe000005b, 0xad12: 0xe0000060, 0xad13: 0xe0000065,\n\t0xad14: 0xe000006a, 0xad15: 0xe000006f, 0xad16: 0xe0000083, 0xad17: 0xe000008d,\n\t0xad18: 0xe0000092, 0xad19: 0xe0000097, 0xad1a: 0xe000009c, 0xad1b: 0xe00000a1,\n\t0xad1c: 0xe0000088, 0xad1d: 0xe0000074, 0xad1e: 0xe000007c,\n\t0xad20: 0xe0002c96, 0xad21: 0xe0002ca6, 0xad22: 0xe0002c9e, 0xad23: 0xe0002cd6,\n\t0xad24: 0xe0002caa, 0xad25: 0xe0002cbe, 0xad26: 0xe0002c9a, 0xad27: 0xe0002cba,\n\t0xad28: 0xe0002ca2, 0xad29: 0xe0002cc6, 0xad2a: 0xe0002ce6, 0xad2b: 0xe0002cfa,\n\t0xad2c: 0xe0002cf6, 0xad2d: 0xe0002cee, 0xad2e: 0xe0002d22, 0xad2f: 0xe0002cda,\n\t0xad30: 0xe0002ce2, 0xad31: 0xe0002cf2, 0xad32: 0xe0002cea, 0xad33: 0xe0002d06,\n\t0xad34: 0xe0002cce, 0xad35: 0xe0002cfe, 0xad36: 0xe0002d1a, 0xad37: 0xe0002d0a,\n\t0xad38: 0xe0002cc2, 0xad39: 0xe0002cae, 0xad3a: 0xe0002cd2, 0xad3b: 0xe0002cde,\n\t0xad3c: 0xe0002d02, 0xad3d: 0xe0002cb2, 0xad3e: 0xe0002d1e, 0xad3f: 0xe0002cca,\n\t// Block 0x2b5, offset 0xad40\n\t0xad40: 0xe0002d0e, 0xad41: 0xe0002cb6, 0xad42: 0xe0002d12, 0xad43: 0xe0002d16,\n\t0xad44: 0x02aa9e86, 0xad45: 0x02bcf886, 0xad46: 0x02cb0e86, 0xad47: 0x02f71e86,\n\t0xad48: 0xe00002e3, 0xad49: 0xe00003d8, 0xad4a: 0xe00004b3, 0xad4b: 0xe000057d,\n\t0xad4c: 0xe0000648, 0xad4d: 0xe00006f0, 0xad4e: 0xe000079c, 0xad4f: 0xe0000841,\n\t0xad50: 0xe0000ec0, 0xad51: 0xf0000606, 0xad52: 0xf0000606, 0xad53: 0xf0000606,\n\t0xad54: 0xf0000606, 0xad55: 0xf0000606, 0xad56: 0xf0000606, 0xad57: 0xf0000606,\n\t0xad58: 0xf0000606, 0xad59: 0xf0000606, 0xad5a: 0xf0000606, 0xad5b: 0xf0000606,\n\t0xad5c: 0xf0000606, 0xad5d: 0xf0000606, 0xad5e: 0xf0000606, 0xad5f: 0xf0000606,\n\t0xad60: 0x0062ac86, 0xad61: 0x0062b086, 0xad62: 0x0062b286, 0xad63: 0x0062b686,\n\t0xad64: 0x0062b886, 0xad65: 0x0062ba86, 0xad66: 0x0062be86, 0xad67: 0x0062c286,\n\t0xad68: 0x0062c486, 0xad69: 0x0062c886, 0xad6a: 0x0062ca86, 0xad6b: 0x0062cc86,\n\t0xad6c: 0x0062ce86, 0xad6d: 0x0062d086, 0xad6e: 0xf0000606, 0xad6f: 0xf0000606,\n\t0xad70: 0xf0000606, 0xad71: 0xf0000606, 0xad72: 0xf0000606, 0xad73: 0xf0000606,\n\t0xad74: 0xf0000606, 0xad75: 0xf0000606, 0xad76: 0xf0000606, 0xad77: 0xf0000606,\n\t0xad78: 0xf0000606, 0xad79: 0xf0000606, 0xad7a: 0xf0000606, 0xad7b: 0xf0000606,\n\t0xad7c: 0xe0002127, 0xad7d: 0xe0002122, 0xad7e: 0xf0000606, 0xad7f: 0x4027ac20,\n\t// Block 0x2b6, offset 0xad80\n\t0xad80: 0xe0002dea, 0xad81: 0xe0002e57, 0xad82: 0xe0002e8c, 0xad83: 0xe0002eb9,\n\t0xad84: 0xe0002ecb, 0xad85: 0xe0002eda, 0xad86: 0xe0002ee9, 0xad87: 0xe0002ef8,\n\t0xad88: 0xe0002f07, 0xad89: 0xe0002d50, 0xad8a: 0xe0002d63, 0xad8b: 0xe0002d76,\n\t0xad8c: 0xf0001c1d, 0xad8d: 0xe0000b85, 0xad8e: 0xf0001d1c, 0xad8f: 0xe0000d14,\n\t0xad90: 0x00657693, 0xad91: 0x00657893, 0xad92: 0x00657a93, 0xad93: 0x00657e93,\n\t0xad94: 0x00658093, 0xad95: 0x00658293, 0xad96: 0x00658493, 0xad97: 0x00658693,\n\t0xad98: 0x00658893, 0xad99: 0x00658a93, 0xad9a: 0x00658c93, 0xad9b: 0x00658e93,\n\t0xad9c: 0x00659093, 0xad9d: 0x00659293, 0xad9e: 0x00659493, 0xad9f: 0x00659693,\n\t0xada0: 0x00659893, 0xada1: 0x00659a93, 0xada2: 0x00659c93, 0xada3: 0x00659e93,\n\t0xada4: 0x0065a093, 0xada5: 0x0065a293, 0xada6: 0x0065a493, 0xada7: 0x0065a693,\n\t0xada8: 0x0065a893, 0xada9: 0x0065aa93, 0xadaa: 0x0065ac93, 0xadab: 0x0065ae93,\n\t0xadac: 0x0065b093, 0xadad: 0x0065b293, 0xadae: 0x0065b493, 0xadaf: 0x0065b693,\n\t0xadb0: 0x0065b893, 0xadb1: 0x0065ba93, 0xadb2: 0x0065bc93, 0xadb3: 0x0065be93,\n\t0xadb4: 0x0065c093, 0xadb5: 0x0065c493, 0xadb6: 0x0065c693, 0xadb7: 0x0065c893,\n\t0xadb8: 0x0065ca93, 0xadb9: 0x0065cc93, 0xadba: 0x0065ce93, 0xadbb: 0x0065d093,\n\t0xadbc: 0x0065d293, 0xadbd: 0x0065d493, 0xadbe: 0x0065d693,\n\t// Block 0x2b7, offset 0xadc0\n\t0xadc0: 0xe000230b, 0xadc1: 0xe00022f8, 0xadc2: 0xe00022fc, 0xadc3: 0xe0002311,\n\t0xadc4: 0xe0002316, 0xadc5: 0xe000231d, 0xadc6: 0xe0002321, 0xadc7: 0xe0002325,\n\t0xadc8: 0xe000232b, 0xadc9: 0xf0001c1c, 0xadca: 0xe0002330, 0xadcb: 0xe000233c,\n\t0xadcc: 0xe0002340, 0xadcd: 0xe0002337, 0xadce: 0xe0002346, 0xadcf: 0xe000234b,\n\t0xadd0: 0xe000234f, 0xadd1: 0xe0002353, 0xadd2: 0xf0001c1c, 0xadd3: 0xe000235e,\n\t0xadd4: 0xe0002358, 0xadd5: 0xf0001c1c, 0xadd6: 0xe0002363, 0xadd7: 0xe000236d,\n\t0xadd8: 0xe0002d39, 0xadd9: 0xe0002ded, 0xadda: 0xe0002e5a, 0xaddb: 0xe0002e8f,\n\t0xaddc: 0xe0002ebc, 0xaddd: 0xe0002ece, 0xadde: 0xe0002edd, 0xaddf: 0xe0002eec,\n\t0xade0: 0xe0002efb, 0xade1: 0xe0002f0a, 0xade2: 0xe0002d54, 0xade3: 0xe0002d67,\n\t0xade4: 0xe0002d7a, 0xade5: 0xe0002d89, 0xade6: 0xe0002d98, 0xade7: 0xe0002da7,\n\t0xade8: 0xe0002db6, 0xade9: 0xe0002dc5, 0xadea: 0xe0002dd4, 0xadeb: 0xe0002de3,\n\t0xadec: 0xe0002e01, 0xaded: 0xe0002e0c, 0xadee: 0xe0002e17, 0xadef: 0xe0002e22,\n\t0xadf0: 0xe0002e2d, 0xadf1: 0xe0000c1e, 0xadf2: 0xf0001c1c, 0xadf3: 0xf0001d1d,\n\t0xadf4: 0xe0000a31, 0xadf5: 0xf0001d1c, 0xadf6: 0xf0001c1c, 0xadf7: 0xf0001c1c,\n\t0xadf8: 0xe0000ac2, 0xadf9: 0xe0000ac6, 0xadfa: 0xf0001d1d, 0xadfb: 0xe0004091,\n\t0xadfc: 0xe0004097, 0xadfd: 0xe000408e, 0xadfe: 0xe0004094, 0xadff: 0xe0002431,\n\t// Block 0x2b8, offset 0xae00\n\t0xae00: 0xf0001d1c, 0xae01: 0xf0001d1d, 0xae02: 0xe00009b7, 0xae03: 0xf0001c1d,\n\t0xae04: 0xf0001c1c, 0xae05: 0xf0001c1c, 0xae06: 0xe0000a66, 0xae07: 0xe0000a7a,\n\t0xae08: 0xf0001d1c, 0xae09: 0xf0001c1d, 0xae0a: 0xf0001c1c, 0xae0b: 0xf0001d1d,\n\t0xae0c: 0xf0001c1c, 0xae0d: 0xf0001d1d, 0xae0e: 0xf0001d1d, 0xae0f: 0xf0001c1c,\n\t0xae10: 0xf0001c1c, 0xae11: 0xf0001c1c, 0xae12: 0xe0000d0d, 0xae13: 0xf0001c1c,\n\t0xae14: 0xf0001c1c, 0xae15: 0xe0000d3a, 0xae16: 0xe0000d46, 0xae17: 0xf0001d1d,\n\t0xae18: 0xe0000eb0, 0xae19: 0xe0000eb8, 0xae1a: 0xf0001d1d, 0xae1b: 0xf0001c1c,\n\t0xae1c: 0xf0001c1d, 0xae1d: 0xf0001c1d, 0xae1e: 0xe00010b2, 0xae1f: 0xe00009c8,\n\t0xae20: 0xe0002de7, 0xae21: 0xe0002e54, 0xae22: 0xe0002e89, 0xae23: 0xe0002eb6,\n\t0xae24: 0xe0002ec8, 0xae25: 0xe0002ed7, 0xae26: 0xe0002ee6, 0xae27: 0xe0002ef5,\n\t0xae28: 0xe0002f04, 0xae29: 0xe0002d4c, 0xae2a: 0xe0002d5f, 0xae2b: 0xe0002d72,\n\t0xae2c: 0xe0002d85, 0xae2d: 0xe0002d94, 0xae2e: 0xe0002da3, 0xae2f: 0xe0002db2,\n\t0xae30: 0xe0002dc1, 0xae31: 0xe0002dd0, 0xae32: 0xe0002ddf, 0xae33: 0xe0002dfd,\n\t0xae34: 0xe0002e08, 0xae35: 0xe0002e13, 0xae36: 0xe0002e1e, 0xae37: 0xe0002e29,\n\t0xae38: 0xe0002e34, 0xae39: 0xe0002e3b, 0xae3a: 0xe0002e42, 0xae3b: 0xe0002e49,\n\t0xae3c: 0xe0002e50, 0xae3d: 0xe0002e66, 0xae3e: 0xe0002e6d, 0xae3f: 0xe0000bdf,\n\t// Block 0x2b9, offset 0xae40\n\t0xae40: 0x6c009820, 0xae41: 0x6c0ea820, 0xae43: 0x6c08fe20,\n\t0xae47: 0x6c148c20,\n\t0xae48: 0x6c0ad420, 0xae49: 0x6c083420, 0xae4a: 0x6c0ad220, 0xae4b: 0x6c01b020,\n\t0xae4d: 0x6c12c420, 0xae4e: 0x6c158a20,\n\t0xae50: 0x6c172e20, 0xae51: 0x6c00da20,\n\t0xae54: 0x6c02d020, 0xae55: 0x6c173020, 0xae56: 0x6c0bc820, 0xae57: 0x6c18e620,\n\t0xae58: 0x6c041820, 0xae59: 0x6c134c20,\n\t0xae5e: 0x6c0ad620,\n\t0xae61: 0x6c164420,\n\t0xae66: 0x6c135c20,\n\t0xae6a: 0x6c173220,\n\t0xae6d: 0x6c0e8020,\n\t0xae71: 0x6c173420, 0xae72: 0x6c051c20,\n\t0xae76: 0x6c173620,\n\t0xae78: 0x6c036a20, 0xae79: 0x6c0e1420, 0xae7b: 0x6c095e20,\n\t0xae7c: 0x6c173820, 0xae7f: 0x6c173a20,\n\t// Block 0x2ba, offset 0xae80\n\t0xae82: 0x6c173c20, 0xae83: 0x6c110e20,\n\t0xae85: 0x6c041a20,\n\t0xae8b: 0x6c111220,\n\t0xae8d: 0x6c10ae20, 0xae8e: 0x6c062620, 0xae8f: 0x6c13fa20,\n\t0xae95: 0x6c29d820, 0xae96: 0x6c173e20, 0xae97: 0x6c0ad820,\n\t0xae98: 0x6c174020, 0xae99: 0x6c01a220,\n\t0xae9d: 0x6c04f220, 0xae9e: 0x6c068020, 0xae9f: 0x6c152220,\n\t0xaea2: 0x6c1b9e20,\n\t0xaeb1: 0x6c15ec20, 0xaeb3: 0x6c10e220,\n\t0xaebe: 0x6c02fa20,\n\t// Block 0x2bb, offset 0xaec0\n\t0xaec0: 0x6c03d620, 0xaec2: 0x6c174220,\n\t0xaec5: 0x6c174420, 0xaec6: 0x6c163e20,\n\t0xaec8: 0x6c158620, 0xaec9: 0x6c0d0c20, 0xaeca: 0x6c174820, 0xaecb: 0x6c08c020,\n\t0xaecc: 0x6c10ce20, 0xaece: 0x6c174e20,\n\t0xaed1: 0x6c00f820, 0xaed2: 0x6c065e20,\n\t0xaed4: 0x6c065c20, 0xaed5: 0x6c008c20,\n\t0xaed8: 0x6c171a20, 0xaed9: 0x6c171820, 0xaedb: 0x6c077e20,\n\t0xaedc: 0x6c000220, 0xaede: 0x6c175020, 0xaedf: 0x6c175220,\n\t0xaee0: 0x6c175420, 0xaee1: 0x6c13fc20, 0xaee2: 0x6c175620,\n\t0xaee4: 0x6c068420, 0xaee5: 0x6c008e20, 0xaee6: 0x6c147820,\n\t0xaee8: 0x6c046420, 0xaeeb: 0x6c046620,\n\t0xaeec: 0x6c046820, 0xaeed: 0x6c0f3420, 0xaeee: 0x6c164020,\n\t0xaef0: 0x6c175820, 0xaef3: 0x6c175a20,\n\t0xaef6: 0x6c175c20,\n\t0xaefa: 0x6c0b5e20,\n\t// Block 0x2bc, offset 0xaf00\n\t0xaf00: 0x6c09c020, 0xaf01: 0x6c0b6020, 0xaf02: 0x6c176620,\n\t0xaf04: 0x6c176220, 0xaf06: 0x6c176420, 0xaf07: 0x6c041c20,\n\t0xaf0a: 0x6c075e20, 0xaf0b: 0x6c021820,\n\t0xaf0d: 0x6c176020, 0xaf0e: 0x6c175e20, 0xaf0f: 0x6c132a20,\n\t0xaf14: 0x6c086020, 0xaf15: 0x6c085e20, 0xaf16: 0x6c0d7420, 0xaf17: 0x6c176820,\n\t0xaf18: 0x6c12c620, 0xaf19: 0x6c0c4e20,\n\t0xaf1e: 0x6c176a20, 0xaf1f: 0x6c176e20,\n\t0xaf23: 0x6c0dc220,\n\t0xaf24: 0x6c168a20, 0xaf25: 0x6c005420,\n\t0xaf2d: 0x6c176c20, 0xaf2e: 0x6c01b420,\n\t0xaf30: 0x6c04b020, 0xaf32: 0x6c0e8220,\n\t0xaf36: 0x6c05c220, 0xaf37: 0x6c177020,\n\t0xaf3b: 0x6c10ec20,\n\t// Block 0x2bd, offset 0xaf40\n\t0xaf41: 0x6c038620,\n\t0xaf49: 0x6c177220, 0xaf4a: 0x6c005620,\n\t0xaf4d: 0x6c066020, 0xaf4e: 0x6c038820, 0xaf4f: 0x6c131020,\n\t0xaf50: 0x6c11c420, 0xaf51: 0x6c041e20,\n\t0xaf5a: 0x6c021a20,\n\t0xaf5c: 0x6c17b820, 0xaf5d: 0x6c0fae20,\n\t0xaf6f: 0x6c117c20,\n\t0xaf70: 0x6c177620,\n\t0xaf74: 0x6c11d820, 0xaf76: 0x6c168c20,\n\t0xaf78: 0x6c0b1e20, 0xaf7a: 0x6c086220,\n\t0xaf7c: 0x6c08c220, 0xaf7d: 0x6c01b820,\n\t// Block 0x2be, offset 0xaf80\n\t0xaf83: 0x6c0f1220,\n\t0xaf86: 0x6c0df820, 0xaf87: 0x6c177e20,\n\t0xaf8d: 0x6c005820, 0xaf8e: 0x6c0f3620, 0xaf8f: 0x6c09c220,\n\t0xaf90: 0x6c078020, 0xaf91: 0x6c155420, 0xaf93: 0x6c0d9420,\n\t0xaf95: 0x6c01b620, 0xaf97: 0x6c177c20,\n\t0xaf99: 0x6c158820, 0xaf9a: 0x6c177420, 0xaf9b: 0x6c177820,\n\t0xaf9c: 0x6c07f420, 0xaf9d: 0x6c177a20, 0xaf9e: 0x6c1ade20,\n\t0xafa9: 0x6c178a20,\n\t0xafaf: 0x6c179020,\n\t0xafb0: 0x6c178c20, 0xafb3: 0x6c01bc20,\n\t0xafb5: 0x6c134e20, 0xafb6: 0x6c178020,\n\t0xafbb: 0x6c178820,\n\t0xafbc: 0x6c068620, 0xafbf: 0x6c086420,\n\t// Block 0x2bf, offset 0xafc0\n\t0xafc3: 0x6c02fc20,\n\t0xafc6: 0x6c179220,\n\t0xafc8: 0x6c178220, 0xafcb: 0x6c168e20,\n\t0xafcd: 0x6c08c420, 0xafcf: 0x6c178420,\n\t0xafd1: 0x6c178e20,\n\t0xafd6: 0x6c179420,\n\t0xafd8: 0x6c178620, 0xafdb: 0x6c046a20,\n\t0xafdd: 0x6c005a20,\n\t0xafe0: 0x6c046c20, 0xafe1: 0x6c01ba20,\n\t0xafeb: 0x6c1ae020,\n\t0xafed: 0x6c148620, 0xafee: 0x6c12f820, 0xafef: 0x6c068820,\n\t0xaff5: 0x6c0b2220, 0xaff6: 0x6c163620,\n\t0xafff: 0x6c138820,\n\t// Block 0x2c0, offset 0xb000\n\t0xb002: 0x6c055420, 0xb003: 0x6c0d4220,\n\t0xb004: 0x6c020020,\n\t0xb00a: 0x6c09f220,\n\t0xb00e: 0x6c179c20,\n\t0xb010: 0x6c17a620, 0xb011: 0x6c17a220,\n\t0xb014: 0x6c179820, 0xb017: 0x6c0d5620,\n\t0xb018: 0x6c179e20, 0xb01a: 0x6c17a420, 0xb01b: 0x6c17a020,\n\t0xb01d: 0x6c139220, 0xb01f: 0x6c179a20,\n\t0xb021: 0x6c0b2020, 0xb023: 0x6c147a20,\n\t0xb024: 0x6c17a820, 0xb025: 0x6c17aa20,\n\t0xb02e: 0x6c099420, 0xb02f: 0x6c17c420,\n\t0xb033: 0x6c114420,\n\t0xb035: 0x6c128820, 0xb036: 0x6c17ba20,\n\t0xb038: 0x6c13b820, 0xb03a: 0x6c01a420,\n\t0xb03e: 0x6c17c220,\n\t// Block 0x2c1, offset 0xb040\n\t0xb045: 0x6c17b620, 0xb046: 0x6c17c820,\n\t0xb049: 0x6c0ce020, 0xb04b: 0x6c062820,\n\t0xb04d: 0x6c115c20, 0xb04f: 0x6c233820,\n\t0xb051: 0x6c17c620, 0xb052: 0x6c0fe620,\n\t0xb054: 0x6c17b020, 0xb056: 0x6c068c20,\n\t0xb059: 0x6c068a20, 0xb05a: 0x6c17ac20,\n\t0xb05f: 0x6c094420,\n\t0xb061: 0x6c17bc20, 0xb063: 0x6c13b620,\n\t0xb064: 0x6c0e4e20, 0xb065: 0x6c17b420, 0xb066: 0x6c05c620,\n\t0xb068: 0x6c17ae20, 0xb069: 0x6c17be20, 0xb06a: 0x6c17b220, 0xb06b: 0x6c166a20,\n\t0xb06c: 0x6c17c020, 0xb06d: 0x6c170620,\n\t0xb076: 0x6c04f420,\n\t0xb079: 0x6c05c420,\n\t// Block 0x2c2, offset 0xb080\n\t0xb083: 0x6c17ca20,\n\t0xb087: 0x6c17cc20,\n\t0xb088: 0x6c17d420, 0xb089: 0x6c005c20,\n\t0xb08f: 0x6c137820,\n\t0xb090: 0x6c17d220,\n\t0xb095: 0x6c17d020, 0xb096: 0x6c17d820,\n\t0xb09a: 0x6c17d620,\n\t0xb09c: 0x6c0f3820,\n\t0xb0a5: 0x6c05c820,\n\t0xb0ac: 0x6c17da20,\n\t0xb0b2: 0x6c091a20,\n\t0xb0b4: 0x6c0d4420, 0xb0b5: 0x6c0f3a20, 0xb0b6: 0x6c051420,\n\t0xb0b8: 0x6c17dc20,\n\t0xb0bd: 0x6c03d820,\n\t// Block 0x2c3, offset 0xb0c0\n\t0xb0c0: 0x6c17de20,\n\t0xb0c5: 0x6c17e220,\n\t0xb0cd: 0x6c13fe20,\n\t0xb0d1: 0x6c05b020,\n\t0xb0d8: 0x6c083620, 0xb0d9: 0x6c124e20, 0xb0da: 0x6c17e020,\n\t0xb0ec: 0x6c07a220, 0xb0ed: 0x6c159220,\n\t0xb0f2: 0x6c17e620, 0xb0f3: 0x6c17ec20,\n\t0xb0f4: 0x6c17e420, 0xb0f5: 0x6c07a020, 0xb0f7: 0x6c0a4620,\n\t0xb0fe: 0x6c055620,\n\t// Block 0x2c4, offset 0xb100\n\t0xb102: 0x6c17ee20,\n\t0xb105: 0x6c04c620,\n\t0xb109: 0x6c17e820, 0xb10a: 0x6c17ea20,\n\t0xb10d: 0x6c104620, 0xb10f: 0x6c0d3420,\n\t0xb111: 0x6c046e20,\n\t0xb115: 0x6c142e20, 0xb116: 0x6c17f020,\n\t0xb11a: 0x6c164220,\n\t0xb11e: 0x6c17f220,\n\t0xb123: 0x6c17f820,\n\t0xb125: 0x6c17f420, 0xb127: 0x6c0cd820,\n\t0xb12d: 0x6c17f620, 0xb12e: 0x6c17fa20,\n\t0xb135: 0x6c17fe20,\n\t0xb139: 0x6c17fc20, 0xb13b: 0x6c136820,\n\t// Block 0x2c5, offset 0xb140\n\t0xb140: 0x6c03da20, 0xb141: 0x6c180220, 0xb142: 0x6c180420,\n\t0xb144: 0x6c019620,\n\t0xb149: 0x6c180020,\n\t0xb152: 0x6c097820,\n\t0xb154: 0x6c180a20, 0xb155: 0x6c180820, 0xb156: 0x6c180620,\n\t0xb158: 0x6c179620, 0xb15a: 0x6c180c20,\n\t0xb15f: 0x6c0a4820,\n\t0xb161: 0x6c180e20,\n\t0xb16a: 0x6c155620,\n\t0xb172: 0x6c150220,\n\t0xb177: 0x6c181220,\n\t0xb17a: 0x6c181020, 0xb17b: 0x6c181620,\n\t0xb17c: 0x6c181420, 0xb17f: 0x6c181820,\n\t// Block 0x2c6, offset 0xb180\n\t0xb180: 0x6c181a20, 0xb181: 0x6c00a820, 0xb183: 0x6c060a20,\n\t0xb184: 0x6c055a20, 0xb185: 0x6c09c420, 0xb186: 0x6c0eaa20, 0xb187: 0x6c047020,\n\t0xb188: 0x6c0c5020, 0xb189: 0x6c068e20, 0xb18b: 0x6c073820,\n\t0xb18c: 0x6c181e20, 0xb18d: 0x6c14e020, 0xb18e: 0x6c0fb820,\n\t0xb190: 0x6c08c620, 0xb192: 0x6c181c20,\n\t0xb194: 0x6c182020,\n\t0xb19a: 0x6c0fe820,\n\t0xb19c: 0x6c02de20,\n\t0xb1a2: 0x6c182220,\n\t0xb1a5: 0x6c10e420,\n\t0xb1a8: 0x6c0ca420, 0xb1a9: 0x6c182620, 0xb1aa: 0x6c182820, 0xb1ab: 0x6c11b820,\n\t0xb1ac: 0x6c069020, 0xb1ad: 0x6c16fa20, 0xb1ae: 0x6c182a20,\n\t0xb1b1: 0x6c047420,\n\t0xb1b5: 0x6c135020, 0xb1b6: 0x6c0d6420, 0xb1b7: 0x6c050a20,\n\t0xb1b8: 0x6c0f9620,\n\t0xb1bc: 0x6c05ca20,\n\t// Block 0x2c7, offset 0xb1c0\n\t0xb1c0: 0x6c182c20, 0xb1c2: 0x6c182e20,\n\t0xb1c5: 0x6c10ac20, 0xb1c6: 0x6c013a20,\n\t0xb1c9: 0x6c183420, 0xb1ca: 0x6c081220,\n\t0xb1cc: 0x6c183220, 0xb1cd: 0x6c07a420, 0xb1cf: 0x6c183620,\n\t0xb1d0: 0x6c27ee20, 0xb1d1: 0x6c183820, 0xb1d2: 0x6c141620, 0xb1d3: 0x6c183a20,\n\t0xb1d5: 0x6c183c20, 0xb1d6: 0x6c183e20, 0xb1d7: 0x6c0ada20,\n\t0xb1d9: 0x6c092820,\n\t0xb1e0: 0x6c02fe20, 0xb1e2: 0x6c184420,\n\t0xb1e4: 0x6c184020, 0xb1e5: 0x6c14ca20, 0xb1e6: 0x6c184220,\n\t0xb1e8: 0x6c12d020, 0xb1e9: 0x6c184620, 0xb1ea: 0x6c184820, 0xb1eb: 0x6c184a20,\n\t0xb1ec: 0x6c0fea20,\n\t0xb1f0: 0x6c185220, 0xb1f1: 0x6c184e20, 0xb1f2: 0x6c185020, 0xb1f3: 0x6c184c20,\n\t0xb1f4: 0x6c07de20, 0xb1f5: 0x6c185420, 0xb1f6: 0x6c152420, 0xb1f7: 0x6c169020,\n\t0xb1fd: 0x6c185620,\n\t// Block 0x2c8, offset 0xb200\n\t0xb204: 0x6c0bd020, 0xb205: 0x6c185820, 0xb206: 0x6c0a0020,\n\t0xb209: 0x6c185a20, 0xb20b: 0x6c0eac20,\n\t0xb20c: 0x6c164620, 0xb20d: 0x6c0fec20,\n\t0xb216: 0x6c18ec20,\n\t0xb21b: 0x6c185c20,\n\t0xb21c: 0x6c31a420, 0xb21d: 0x6c04b220,\n\t0xb220: 0x6c185e20, 0xb221: 0x6c145020,\n\t0xb226: 0x6c0a1c20, 0xb227: 0x6c0df020,\n\t0xb229: 0x6c186220, 0xb22a: 0x6c10b020,\n\t0xb22d: 0x6c186420,\n\t0xb230: 0x6c186620, 0xb231: 0x6c025020,\n\t0xb235: 0x6c186820, 0xb236: 0x6c047620,\n\t0xb238: 0x6c108020, 0xb239: 0x6c017020, 0xb23a: 0x6c09ec20,\n\t0xb23d: 0x6c11a220, 0xb23e: 0x6c186a20,\n\t// Block 0x2c9, offset 0xb240\n\t0xb240: 0x6c0fee20, 0xb243: 0x6c0b6220,\n\t0xb244: 0x6c186c20, 0xb246: 0x6c133020, 0xb247: 0x6c0c3420,\n\t0xb248: 0x6c02f420, 0xb24a: 0x6c030220, 0xb24b: 0x6c186e20,\n\t0xb24e: 0x6c187220,\n\t0xb251: 0x6c055820,\n\t0xb254: 0x6c187020, 0xb257: 0x6c16ae20,\n\t0xb25d: 0x6c0a1e20,\n\t0xb264: 0x6c11da20, 0xb265: 0x6c137020, 0xb267: 0x6c187420,\n\t0xb269: 0x6c15fc20, 0xb26a: 0x6c187620,\n\t0xb26e: 0x6c187820,\n\t0xb270: 0x6c102820, 0xb273: 0x6c187a20,\n\t0xb276: 0x6c0bd220, 0xb277: 0x6c081420,\n\t0xb278: 0x6c05cc20, 0xb279: 0x6c187c20, 0xb27a: 0x6c086620, 0xb27b: 0x6c073a20,\n\t// Block 0x2ca, offset 0xb280\n\t0xb283: 0x6c0f3c20,\n\t0xb284: 0x6c188020, 0xb287: 0x6c0d4620,\n\t0xb28a: 0x6c07f620, 0xb28b: 0x6c188220,\n\t0xb28c: 0x6c188420, 0xb28d: 0x6c0c9c20, 0xb28f: 0x6c187e20,\n\t0xb294: 0x6c188820, 0xb296: 0x6c140020,\n\t0xb29b: 0x6c072420,\n\t0xb29e: 0x6c188620,\n\t0xb2a3: 0x6c05ce20,\n\t0xb2a4: 0x6c07d420, 0xb2a5: 0x6c117e20,\n\t0xb2a9: 0x6c188e20, 0xb2aa: 0x6c188a20,\n\t0xb2af: 0x6c131220,\n\t0xb2b0: 0x6c0adc20, 0xb2b1: 0x6c189c20, 0xb2b2: 0x6c02bc20, 0xb2b3: 0x6c189020,\n\t0xb2b4: 0x6c188c20, 0xb2b5: 0x6c0cda20,\n\t0xb2bd: 0x6c189420, 0xb2bf: 0x6c189220,\n\t// Block 0x2cb, offset 0xb2c0\n\t0xb2c3: 0x6c027c20,\n\t0xb2c7: 0x6c05a420,\n\t0xb2c8: 0x6c189e20, 0xb2c9: 0x6c162220,\n\t0xb2cd: 0x6c189620,\n\t0xb2d1: 0x6c18a020, 0xb2d2: 0x6c189a20,\n\t0xb2d4: 0x6c189820,\n\t0xb2db: 0x6c166620,\n\t0xb2df: 0x6c069220,\n\t0xb2e0: 0x6c01be20, 0xb2e3: 0x6c16b020,\n\t0xb2e9: 0x6c0a3620, 0xb2ea: 0x6c0fdc20, 0xb2eb: 0x6c072620,\n\t0xb2ec: 0x6c18a620, 0xb2ed: 0x6c18a820,\n\t0xb2f1: 0x6c169220,\n\t0xb2f4: 0x6c16da20, 0xb2f5: 0x6c18ac20,\n\t0xb2f9: 0x6c069420,\n\t0xb2fc: 0x6c18aa20, 0xb2fe: 0x6c025220,\n\t// Block 0x2cc, offset 0xb300\n\t0xb301: 0x6c18ae20, 0xb303: 0x6c144020,\n\t0xb305: 0x6c0ee820, 0xb307: 0x6c155820,\n\t0xb309: 0x6c138a20,\n\t0xb30d: 0x6c18b020,\n\t0xb312: 0x6c2f1420,\n\t0xb315: 0x6c104820, 0xb317: 0x6c18b220,\n\t0xb318: 0x6c030420, 0xb319: 0x6c14b620,\n\t0xb31d: 0x6c0a4a20, 0xb31e: 0x6c18b420, 0xb31f: 0x6c13a620,\n\t0xb320: 0x6c18bc20, 0xb322: 0x6c0bd420, 0xb323: 0x6c18b620,\n\t0xb324: 0x6c04c820, 0xb326: 0x6c18b820, 0xb327: 0x6c030620,\n\t0xb332: 0x6c054020, 0xb333: 0x6c18be20,\n\t0xb335: 0x6c18c020,\n\t0xb338: 0x6c18c220, 0xb339: 0x6c18c420, 0xb33a: 0x6c094620,\n\t0xb33e: 0x6c069620, 0xb33f: 0x6c150c20,\n\t// Block 0x2cd, offset 0xb340\n\t0xb341: 0x6c152020, 0xb342: 0x6c10d620,\n\t0xb345: 0x6c13ba20, 0xb346: 0x6c18c620,\n\t0xb348: 0x6c18c820,\n\t0xb34d: 0x6c18cc20, 0xb34f: 0x6c18d020,\n\t0xb350: 0x6c18ce20,\n\t0xb355: 0x6c18d220, 0xb356: 0x6c01b220, 0xb357: 0x6c142c20,\n\t0xb359: 0x6c081020, 0xb35a: 0x6c18d420,\n\t0xb35d: 0x6c0cee20,\n\t0xb360: 0x6c0a4c20, 0xb361: 0x6c047a20, 0xb363: 0x6c18d620,\n\t0xb36a: 0x6c121620,\n\t0xb36f: 0x6c18d820,\n\t0xb371: 0x6c18da20, 0xb373: 0x6c18dc20,\n\t0xb378: 0x6c18de20, 0xb379: 0x6c126420, 0xb37a: 0x6c04f820, 0xb37b: 0x6c008a20,\n\t0xb37f: 0x6c106620,\n\t// Block 0x2ce, offset 0xb380\n\t0xb380: 0x6c18e020, 0xb381: 0x6c09c620, 0xb383: 0x6c0c5220,\n\t0xb385: 0x6c18e420, 0xb386: 0x6c18e220, 0xb387: 0x6c0a4e20,\n\t0xb388: 0x6c066220, 0xb389: 0x6c18e820, 0xb38a: 0x6c11dc20,\n\t0xb38d: 0x6c18ea20,\n\t0xb391: 0x6c121820, 0xb392: 0x6c0d6020, 0xb393: 0x6c0dd420,\n\t0xb394: 0x6c047820, 0xb397: 0x6c10c420,\n\t0xb398: 0x6c0e1620, 0xb39a: 0x6c118020,\n\t0xb39c: 0x6c143020, 0xb39e: 0x6c18ee20,\n\t0xb3a0: 0x6c0c5420,\n\t0xb3a6: 0x6c054e20,\n\t0xb3a9: 0x6c18f020,\n\t0xb3ae: 0x6c18f220, 0xb3af: 0x6c00d420,\n\t0xb3b0: 0x6c00aa20, 0xb3b1: 0x6c038a20, 0xb3b3: 0x6c0d4820,\n\t0xb3b4: 0x6c040e20, 0xb3b5: 0x6c15ee20, 0xb3b7: 0x6c18f820,\n\t0xb3b8: 0x6c01a620, 0xb3bb: 0x6c18f620,\n\t0xb3bf: 0x6c047c20,\n\t// Block 0x2cf, offset 0xb3c0\n\t0xb3c2: 0x6c18fa20,\n\t0xb3c4: 0x6c153220,\n\t0xb3d6: 0x6c18fc20,\n\t0xb3d8: 0x6c166c20, 0xb3da: 0x6c069820,\n\t0xb3df: 0x6c060c20,\n\t0xb3e0: 0x6c18fe20,\n\t0xb3e5: 0x6c190220, 0xb3e6: 0x6c190020,\n\t0xb3e8: 0x6c0b8220, 0xb3e9: 0x6c00ee20,\n\t0xb3ed: 0x6c013820, 0xb3ee: 0x6c190420,\n\t0xb3f0: 0x6c190620, 0xb3f3: 0x6c060e20,\n\t0xb3f6: 0x6c190820,\n\t0xb3fb: 0x6c044820,\n\t// Block 0x2d0, offset 0xb400\n\t0xb402: 0x6c083820, 0xb403: 0x6c190a20,\n\t0xb408: 0x6c147c20, 0xb409: 0x6c078220, 0xb40a: 0x6c042020, 0xb40b: 0x6c155a20,\n\t0xb40c: 0x6c0cdc20, 0xb40d: 0x6c11de20, 0xb40e: 0x6c098a20,\n\t0xb414: 0x6c09da20, 0xb416: 0x6c096020, 0xb417: 0x6c097a20,\n\t0xb419: 0x6c0a3820, 0xb41b: 0x6c11e020,\n\t0xb41f: 0x6c191020,\n\t0xb421: 0x6c010220, 0xb422: 0x6c0cde20, 0xb423: 0x6c069a20,\n\t0xb424: 0x6c062a20, 0xb425: 0x6c04f620,\n\t0xb428: 0x6c191820, 0xb429: 0x6c0df620, 0xb42a: 0x6c0df420, 0xb42b: 0x6c047e20,\n\t0xb42c: 0x6c0a5020, 0xb42d: 0x6c191a20, 0xb42e: 0x6c191620, 0xb42f: 0x6c01c020,\n\t0xb430: 0x6c0dc420, 0xb431: 0x6c090020, 0xb432: 0x6c086a20, 0xb433: 0x6c00c820,\n\t0xb436: 0x6c02d420, 0xb437: 0x6c072820,\n\t0xb438: 0x6c086820, 0xb43a: 0x6c191c20,\n\t// Block 0x2d1, offset 0xb440\n\t0xb441: 0x6c191e20, 0xb443: 0x6c03fe20,\n\t0xb444: 0x6c028020,\n\t0xb448: 0x6c072a20, 0xb449: 0x6c03fc20, 0xb44a: 0x6c0f2e20, 0xb44b: 0x6c00c620,\n\t0xb44c: 0x6c104a20, 0xb44d: 0x6c14cc20, 0xb44e: 0x6c069e20, 0xb44f: 0x6c15fe20,\n\t0xb450: 0x6c0fba20, 0xb451: 0x6c069c20,\n\t0xb45b: 0x6c054220,\n\t0xb45d: 0x6c193020, 0xb45f: 0x6c04ee20,\n\t0xb460: 0x6c142820,\n\t0xb466: 0x6c121a20,\n\t0xb469: 0x6c192e20, 0xb46b: 0x6c036c20,\n\t0xb46c: 0x6c192420, 0xb46d: 0x6c192620, 0xb46e: 0x6c192a20,\n\t0xb476: 0x6c192c20,\n\t0xb478: 0x6c042220, 0xb479: 0x6c0b8620, 0xb47b: 0x6c133220,\n\t0xb47c: 0x6c192820, 0xb47d: 0x6c192020, 0xb47e: 0x6c066620,\n\t// Block 0x2d2, offset 0xb480\n\t0xb480: 0x6c192220, 0xb482: 0x6c16cc20,\n\t0xb486: 0x6c13bc20,\n\t0xb488: 0x6c0f4020, 0xb489: 0x6c066420, 0xb48a: 0x6c073c20,\n\t0xb48e: 0x6c193220,\n\t0xb491: 0x6c10a220,\n\t0xb49f: 0x6c193a20,\n\t0xb4a8: 0x6c098c20, 0xb4aa: 0x6c097c20,\n\t0xb4b0: 0x6c194020, 0xb4b1: 0x6c193c20, 0xb4b3: 0x6c149620,\n\t0xb4b5: 0x6c193620, 0xb4b6: 0x6c194820, 0xb4b7: 0x6c193e20,\n\t0xb4bb: 0x6c194420,\n\t0xb4bc: 0x6c062c20, 0xb4bd: 0x6c14ce20,\n\t// Block 0x2d3, offset 0xb4c0\n\t0xb4c0: 0x6c194620,\n\t0xb4c4: 0x6c194a20, 0xb4c6: 0x6c194e20,\n\t0xb4cb: 0x6c07f820,\n\t0xb4cc: 0x6c170820, 0xb4ce: 0x6c193820, 0xb4cf: 0x6c193420,\n\t0xb4d0: 0x6c194c20, 0xb4d2: 0x6c194220,\n\t0xb4e2: 0x6c195220,\n\t0xb4e4: 0x6c196420, 0xb4e5: 0x6c195620,\n\t0xb4e8: 0x6c195e20, 0xb4eb: 0x6c196020,\n\t0xb4ec: 0x6c195820, 0xb4ef: 0x6c199a20,\n\t0xb4f2: 0x6c07ea20, 0xb4f3: 0x6c025620,\n\t0xb4f8: 0x6c195420,\n\t0xb4fc: 0x6c196820, 0xb4fd: 0x6c00ac20, 0xb4fe: 0x6c196620,\n\t// Block 0x2d4, offset 0xb500\n\t0xb500: 0x6c000a20, 0xb501: 0x6c12b020, 0xb502: 0x6c196220,\n\t0xb504: 0x6c195a20, 0xb507: 0x6c195020,\n\t0xb508: 0x6c195c20, 0xb509: 0x6c07a820,\n\t0xb518: 0x6c196a20,\n\t0xb521: 0x6c00ae20, 0xb522: 0x6c197c20,\n\t0xb525: 0x6c196c20, 0xb526: 0x6c196e20,\n\t0xb528: 0x6c0a5220, 0xb529: 0x6c146620,\n\t0xb52d: 0x6c197820, 0xb52e: 0x6c197620,\n\t0xb532: 0x6c0f8a20,\n\t0xb53a: 0x6c197a20,\n\t0xb53d: 0x6c197420,\n\t// Block 0x2d5, offset 0xb540\n\t0xb544: 0x6c00e420, 0xb546: 0x6c078420, 0xb547: 0x6c0b2420,\n\t0xb54f: 0x6c197020,\n\t0xb550: 0x6c0ff020,\n\t0xb554: 0x6c197220, 0xb556: 0x6c000420,\n\t0xb56e: 0x6c198620, 0xb56f: 0x6c155220,\n\t0xb571: 0x6c0a5620, 0xb573: 0x6c199220,\n\t0xb578: 0x6c199020, 0xb579: 0x6c197e20,\n\t0xb57e: 0x6c0d7e20,\n\t// Block 0x2d6, offset 0xb580\n\t0xb580: 0x6c198020,\n\t0xb584: 0x6c0dd620, 0xb585: 0x6c198a20, 0xb586: 0x6c0a5420,\n\t0xb58c: 0x6c198420, 0xb58f: 0x6c151820,\n\t0xb593: 0x6c055c20,\n\t0xb596: 0x6c198c20, 0xb597: 0x6c198e20,\n\t0xb59c: 0x6c198820, 0xb59d: 0x6c199420,\n\t0xb5a3: 0x6c198220,\n\t0xb5bb: 0x6c19a020,\n\t0xb5bc: 0x6c19aa20, 0xb5be: 0x6c19a220,\n\t// Block 0x2d7, offset 0xb5c0\n\t0xb5c0: 0x6c199820, 0xb5c3: 0x6c19ac20,\n\t0xb5c4: 0x6c0c9e20, 0xb5c7: 0x6c19b020,\n\t0xb5c9: 0x6c06a020, 0xb5ca: 0x6c199c20, 0xb5cb: 0x6c0eae20,\n\t0xb5d8: 0x6c19a420, 0xb5d9: 0x6c199620, 0xb5da: 0x6c030a20,\n\t0xb5dc: 0x6c038c20, 0xb5dd: 0x6c02be20, 0xb5de: 0x6c19a620, 0xb5df: 0x6c199e20,\n\t0xb5e7: 0x6c05d020,\n\t0xb5e8: 0x6c19b220, 0xb5e9: 0x6c19ae20, 0xb5ea: 0x6c0ce220, 0xb5eb: 0x6c040020,\n\t0xb5ec: 0x6c048020, 0xb5ee: 0x6c19a820,\n\t0xb5f0: 0x6c051020,\n\t0xb5f6: 0x6c010420,\n\t// Block 0x2d8, offset 0xb600\n\t0xb604: 0x6c19ba20, 0xb605: 0x6c19b620, 0xb607: 0x6c1a2820,\n\t0xb614: 0x6c19c020,\n\t0xb61a: 0x6c19b420,\n\t0xb61c: 0x6c19bc20, 0xb61f: 0x6c19b820,\n\t0xb623: 0x6c086c20,\n\t0xb624: 0x6c19be20,\n\t0xb637: 0x6c19c420,\n\t0xb639: 0x6c19ce20,\n\t0xb63d: 0x6c19ca20, 0xb63e: 0x6c19c820,\n\t// Block 0x2d9, offset 0xb640\n\t0xb646: 0x6c0e1820,\n\t0xb649: 0x6c01c220,\n\t0xb654: 0x6c19c220, 0xb656: 0x6c19c620, 0xb657: 0x6c0a5820,\n\t0xb658: 0x6c00e220, 0xb65b: 0x6c19cc20,\n\t0xb669: 0x6c01f420,\n\t0xb66f: 0x6c19e220,\n\t0xb671: 0x6c0b0020, 0xb672: 0x6c19da20,\n\t0xb674: 0x6c19d620, 0xb676: 0x6c19d820,\n\t0xb678: 0x6c19dc20,\n\t// Block 0x2da, offset 0xb680\n\t0xb682: 0x6c00f620,\n\t0xb68c: 0x6c0cae20, 0xb68e: 0x6c19d020,\n\t0xb690: 0x6c19d220,\n\t0xb69b: 0x6c02e820,\n\t0xb6a4: 0x6c19e020,\n\t0xb6a8: 0x6c038e20, 0xb6aa: 0x6c19e620, 0xb6ab: 0x6c19de20,\n\t0xb6ac: 0x6c19e420,\n\t0xb6b4: 0x6c133420,\n\t0xb6b8: 0x6c109220, 0xb6ba: 0x6c11d020,\n\t// Block 0x2db, offset 0xb6c0\n\t0xb6c0: 0x6c19ea20,\n\t0xb6c6: 0x6c19e820, 0xb6c7: 0x6c027e20,\n\t0xb6ca: 0x6c19ec20,\n\t0xb6cf: 0x6c19f220,\n\t0xb6d4: 0x6c19f020,\n\t0xb6e0: 0x6c19ee20, 0xb6e2: 0x6c111620,\n\t0xb6e5: 0x6c19f420,\n\t0xb6ee: 0x6c19f620,\n\t0xb6f4: 0x6c19fa20, 0xb6f6: 0x6c19f820,\n\t0xb6fc: 0x6c19fe20,\n\t// Block 0x2dc, offset 0xb700\n\t0xb700: 0x6c1a0420, 0xb701: 0x6c1a0020, 0xb702: 0x6c19fc20, 0xb703: 0x6c1a0220,\n\t0xb708: 0x6c1a0620,\n\t0xb70e: 0x6c1a0820,\n\t0xb711: 0x6c1a0a20, 0xb713: 0x6c1a0c20,\n\t0xb717: 0x6c1a0e20,\n\t0xb718: 0x6c183020, 0xb71a: 0x6c098820, 0xb71b: 0x6c086e20,\n\t0xb71e: 0x6c021e20,\n\t0xb720: 0x6c00b020, 0xb723: 0x6c0e3c20,\n\t0xb72e: 0x6c1a1020,\n\t0xb730: 0x6c076020, 0xb732: 0x6c005e20, 0xb733: 0x6c0b8020,\n\t0xb739: 0x6c1a1220, 0xb73a: 0x6c062e20,\n\t0xb73d: 0x6c073e20, 0xb73f: 0x6c1a1620,\n\t// Block 0x2dd, offset 0xb740\n\t0xb740: 0x6c1a1420, 0xb743: 0x6c139820,\n\t0xb744: 0x6c1a1820,\n\t0xb748: 0x6c1a1c20, 0xb749: 0x6c1a1a20, 0xb74b: 0x6c1a1e20,\n\t0xb74d: 0x6c1a2020, 0xb74f: 0x6c05d220,\n\t0xb752: 0x6c013c20, 0xb753: 0x6c1a2220,\n\t0xb756: 0x6c1a2620,\n\t0xb758: 0x6c1a2420,\n\t0xb75c: 0x6c1a2a20, 0xb75f: 0x6c0fe020,\n\t0xb766: 0x6c1a2c20, 0xb767: 0x6c002a20,\n\t0xb768: 0x6c07d620,\n\t0xb76d: 0x6c055e20,\n\t0xb770: 0x6c0e5220,\n\t0xb777: 0x6c1a2e20,\n\t0xb778: 0x6c1a3020, 0xb77b: 0x6c1a3420,\n\t// Block 0x2de, offset 0xb780\n\t0xb780: 0x6c1a3620, 0xb782: 0x6c07e020,\n\t0xb787: 0x6c04ca20,\n\t0xb78a: 0x6c140220,\n\t0xb78e: 0x6c1a3220, 0xb78f: 0x6c1a3820,\n\t0xb790: 0x6c079a20, 0xb791: 0x6c06a220,\n\t0xb7a1: 0x6c1a4020,\n\t0xb7a4: 0x6c076220, 0xb7a6: 0x6c0e1a20,\n\t0xb7a9: 0x6c1a3a20, 0xb7aa: 0x6c0f2420,\n\t0xb7bf: 0x6c1a4220,\n\t// Block 0x2df, offset 0xb7c0\n\t0xb7c2: 0x6c0b8820,\n\t0xb7c8: 0x6c1a3e20, 0xb7c9: 0x6c1a4420, 0xb7cb: 0x6c056220,\n\t0xb7d3: 0x6c1a4620,\n\t0xb7e0: 0x6c1a4820, 0xb7e2: 0x6c06a420, 0xb7e3: 0x6c027420,\n\t0xb7e4: 0x6c1a4c20,\n\t0xb7ea: 0x6c1a4e20,\n\t0xb7f0: 0x6c1a5020, 0xb7f3: 0x6c1a4a20,\n\t// Block 0x2e0, offset 0xb800\n\t0xb800: 0x6c1a3c20, 0xb803: 0x6c1a5220,\n\t0xb806: 0x6c1a5420,\n\t0xb80b: 0x6c145c20,\n\t0xb80e: 0x6c0ade20,\n\t0xb812: 0x6c1a5820, 0xb813: 0x6c1a5a20,\n\t0xb814: 0x6c1a5620, 0xb816: 0x6c1a5e20,\n\t0xb81c: 0x6c111420, 0xb81f: 0x6c009020,\n\t0xb820: 0x6c12c820, 0xb823: 0x6c1a6020,\n\t0xb834: 0x6c0b0220, 0xb837: 0x6c090220,\n\t0xb839: 0x6c115e20, 0xb83a: 0x6c039020,\n\t0xb83c: 0x6c07ee20,\n\t// Block 0x2e1, offset 0xb840\n\t0xb840: 0x6c144620, 0xb842: 0x6c104c20,\n\t0xb845: 0x6c05d420, 0xb846: 0x6c0d9620,\n\t0xb84a: 0x6c1a5c20, 0xb84b: 0x6c1a6220,\n\t0xb855: 0x6c0d8020,\n\t0xb859: 0x6c1a6420,\n\t0xb85d: 0x6c1a6620,\n\t0xb861: 0x6c1a6a20,\n\t0xb864: 0x6c0f4220,\n\t0xb86a: 0x6c030c20,\n\t0xb86f: 0x6c319c20,\n\t0xb870: 0x6c013e20, 0xb871: 0x6c13be20,\n\t0xb874: 0x6c0ae020, 0xb875: 0x6c0fbc20,\n\t0xb87a: 0x6c07e420,\n\t0xb87d: 0x6c1a7620,\n\t// Block 0x2e2, offset 0xb880\n\t0xb880: 0x6c135220, 0xb881: 0x6c168220,\n\t0xb88a: 0x6c022020, 0xb88b: 0x6c1a6e20,\n\t0xb891: 0x6c0cb020, 0xb892: 0x6c1a7420,\n\t0xb894: 0x6c0ff220, 0xb897: 0x6c0fbe20,\n\t0xb898: 0x6c0ff420, 0xb899: 0x6c11d220, 0xb89a: 0x6c0f0a20,\n\t0xb89e: 0x6c07aa20,\n\t0xb8a2: 0x6c1a6c20,\n\t0xb8a9: 0x6c016820, 0xb8ab: 0x6c0f9820,\n\t0xb8b0: 0x6c1a7020, 0xb8b2: 0x6c1a6820,\n\t0xb8b5: 0x6c0b6420,\n\t0xb8b9: 0x6c1a7820,\n\t0xb8be: 0x6c09e820,\n\t// Block 0x2e3, offset 0xb8c0\n\t0xb8c3: 0x6c048220,\n\t0xb8c5: 0x6c1a7a20,\n\t0xb8d3: 0x6c13a820,\n\t0xb8d7: 0x6c0d3620,\n\t0xb8dc: 0x6c0efc20, 0xb8df: 0x6c1a7e20,\n\t0xb8e8: 0x6c143220, 0xb8eb: 0x6c1a8020,\n\t0xb8ee: 0x6c1a8a20,\n\t0xb8f3: 0x6c133620,\n\t0xb8f8: 0x6c1a8820, 0xb8f9: 0x6c1a7c20, 0xb8fa: 0x6c1a8220, 0xb8fb: 0x6c1a8620,\n\t0xb8fe: 0x6c076420,\n\t// Block 0x2e4, offset 0xb900\n\t0xb901: 0x6c136a20,\n\t0xb905: 0x6c1a8c20, 0xb907: 0x6c0e3e20,\n\t0xb90a: 0x6c022220,\n\t0xb90c: 0x6c0ae220,\n\t0xb911: 0x6c1a9020, 0xb913: 0x6c1a8e20,\n\t0xb915: 0x6c072c20, 0xb917: 0x6c1a9220,\n\t0xb918: 0x6c1a9620, 0xb919: 0x6c1a9420,\n\t0xb91c: 0x6c1a9a20, 0xb91e: 0x6c1a8420, 0xb91f: 0x6c1a9e20,\n\t0xb924: 0x6c1a9c20, 0xb925: 0x6c1a9820,\n\t0xb92b: 0x6c087020,\n\t0xb92c: 0x6c0b6620, 0xb92e: 0x6c0ce420, 0xb92f: 0x6c1aa020,\n\t0xb930: 0x6c0bf820, 0xb931: 0x6c009a20, 0xb932: 0x6c116c20,\n\t0xb937: 0x6c0f2620,\n\t0xb939: 0x6c1aa420, 0xb93a: 0x6c1aa220, 0xb93b: 0x6c1aa620,\n\t0xb93c: 0x6c1aa820, 0xb93d: 0x6c1aaa20,\n\t// Block 0x2e5, offset 0xb940\n\t0xb942: 0x6c1aac20,\n\t0xb949: 0x6c137a20, 0xb94a: 0x6c1aae20,\n\t0xb94f: 0x6c01c420,\n\t0xb950: 0x6c1ab020,\n\t0xb955: 0x6c158420, 0xb956: 0x6c025420,\n\t0xb958: 0x6c18f420, 0xb959: 0x6c09dc20, 0xb95a: 0x6c0d7620, 0xb95b: 0x6c1ab220,\n\t0xb95c: 0x6c152620,\n\t0xb962: 0x6c14b820,\n\t0xb965: 0x6c1ab620, 0xb967: 0x6c0dc620,\n\t0xb969: 0x6c0f9a20, 0xb96a: 0x6c0d7820, 0xb96b: 0x6c12ca20,\n\t0xb96c: 0x6c1ab820, 0xb96d: 0x6c1aba20, 0xb96e: 0x6c017220,\n\t0xb971: 0x6c090420, 0xb972: 0x6c1abc20,\n\t0xb977: 0x6c006020,\n\t0xb978: 0x6c1abe20,\n\t0xb97e: 0x6c1ac020,\n\t// Block 0x2e6, offset 0xb980\n\t0xb984: 0x6c014020, 0xb987: 0x6c039220,\n\t0xb988: 0x6c10a820, 0xb989: 0x6c13c020,\n\t0xb98e: 0x6c1ac820, 0xb98f: 0x6c0ce620,\n\t0xb990: 0x6c1ac620, 0xb991: 0x6c056420,\n\t0xb994: 0x6c144a20, 0xb995: 0x6c1ac420, 0xb997: 0x6c0ff620,\n\t0xb998: 0x6c1acc20, 0xb99a: 0x6c1aca20,\n\t0xb9a0: 0x6c1ad020, 0xb9a2: 0x6c1ace20,\n\t0xb9a5: 0x6c017420, 0xb9a7: 0x6c1ad220,\n\t0xb9a8: 0x6c0a5a20, 0xb9a9: 0x6c1ad620, 0xb9aa: 0x6c0dfe20,\n\t0xb9ac: 0x6c1ad420, 0xb9ae: 0x6c133e20,\n\t0xb9b3: 0x6c0a3a20,\n\t0xb9b4: 0x6c0fe220,\n\t0xb9b8: 0x6c1ad820,\n\t0xb9bd: 0x6c06a620,\n\t// Block 0x2e7, offset 0xb9c0\n\t0xb9c1: 0x6c1ada20, 0xb9c2: 0x6c10e620, 0xb9c3: 0x6c121c20,\n\t0xb9c4: 0x6c14f220,\n\t0xb9ca: 0x6c10ee20,\n\t0xb9cd: 0x6c1aec20,\n\t0xb9d3: 0x6c03dc20,\n\t0xb9d6: 0x6c159620,\n\t0xb9d9: 0x6c14ae20, 0xb9db: 0x6c1baa20,\n\t0xb9dd: 0x6c1adc20,\n\t0xb9e3: 0x6c1ae220,\n\t0xb9e5: 0x6c0d8220,\n\t0xb9e8: 0x6c140420,\n\t0xb9ec: 0x6c0fc020,\n\t0xb9f2: 0x6c1ae420,\n\t0xb9f9: 0x6c145e20, 0xb9fb: 0x6c07ac20,\n\t0xb9fe: 0x6c0a5c20,\n\t// Block 0x2e8, offset 0xba00\n\t0xba06: 0x6c1ae620,\n\t0xba09: 0x6c087420, 0xba0b: 0x6c087220,\n\t0xba10: 0x6c003220, 0xba11: 0x6c063020, 0xba13: 0x6c0bd620,\n\t0xba14: 0x6c006220,\n\t0xba19: 0x6c1aee20, 0xba1a: 0x6c1af020,\n\t0xba1c: 0x6c1aea20,\n\t0xba25: 0x6c00ec20, 0xba26: 0x6c030e20,\n\t0xba28: 0x6c1ae820, 0xba2a: 0x6c14da20, 0xba2b: 0x6c127e20,\n\t0xba36: 0x6c001020,\n\t0xba3b: 0x6c00b220,\n\t0xba3f: 0x6c087620,\n\t// Block 0x2e9, offset 0xba40\n\t0xba41: 0x6c006420, 0xba43: 0x6c000620,\n\t0xba49: 0x6c1afa20,\n\t0xba51: 0x6c1af620,\n\t0xba58: 0x6c14c820, 0xba5a: 0x6c1afc20,\n\t0xba5c: 0x6c1af820, 0xba5f: 0x6c1af420,\n\t0xba60: 0x6c0b2620,\n\t0xba65: 0x6c1af220,\n\t0xba69: 0x6c138c20,\n\t0xba6f: 0x6c066820,\n\t0xba75: 0x6c1b0420, 0xba76: 0x6c1b0620,\n\t0xba7c: 0x6c0a5e20,\n\t// Block 0x2ea, offset 0xba80\n\t0xba80: 0x6c1afe20, 0xba81: 0x6c16dc20,\n\t0xba86: 0x6c113c20,\n\t0xba89: 0x6c1b0220,\n\t0xba9a: 0x6c076620,\n\t0xbaa2: 0x6c1b0820,\n\t0xbaa6: 0x6c12cc20,\n\t0xbaaa: 0x6c1b0a20,\n\t0xbaac: 0x6c1b0020,\n\t0xbabf: 0x6c14c620,\n\t// Block 0x2eb, offset 0xbac0\n\t0xbad2: 0x6c116020,\n\t0xbada: 0x6c1b0c20, 0xbadb: 0x6c128020,\n\t0xbafc: 0x6c1b0e20, 0xbafd: 0x6c1b1620, 0xbafe: 0x6c1b1020,\n\t// Block 0x2ec, offset 0xbb00\n\t0xbb01: 0x6c01c620, 0xbb02: 0x6c1b1420,\n\t0xbb09: 0x6c090620, 0xbb0b: 0x6c1b1220,\n\t0xbb0c: 0x6c05d620,\n\t0xbb10: 0x6c1b2e20,\n\t0xbb16: 0x6c1b2020, 0xbb17: 0x6c1b1a20,\n\t0xbb21: 0x6c0e7c20, 0xbb23: 0x6c1b1820,\n\t0xbb26: 0x6c1b1c20,\n\t0xbb29: 0x6c1b1e20,\n\t0xbb3a: 0x6c1b2220, 0xbb3b: 0x6c1b2420,\n\t// Block 0x2ed, offset 0xbb40\n\t0xbb49: 0x6c039420, 0xbb4b: 0x6c1b2820,\n\t0xbb4c: 0x6c1b2620,\n\t0xbb56: 0x6c1b2a20,\n\t0xbb62: 0x6c0ae420,\n\t0xbb6a: 0x6c1b3020,\n\t0xbb6c: 0x6c0f2820,\n\t0xbb70: 0x6c010620, 0xbb72: 0x6c1b2c20,\n\t0xbb76: 0x6c1b3220,\n\t0xbb7e: 0x6c1b3420,\n\t// Block 0x2ee, offset 0xbb80\n\t0xbb80: 0x6c1b3a20, 0xbb83: 0x6c1b3620,\n\t0xbb85: 0x6c1b3820,\n\t0xbb90: 0x6c087820, 0xbb91: 0x6c1b3c20,\n\t0xbb94: 0x6c06a820, 0xbb95: 0x6c1b3e20, 0xbb97: 0x6c08c820,\n\t0xbb98: 0x6c0d6820, 0xbb9a: 0x6c1b4020, 0xbb9b: 0x6c1b4220,\n\t0xbb9c: 0x6c088820, 0xbb9d: 0x6c06aa20, 0xbb9f: 0x6c14f420,\n\t0xbba3: 0x6c03bc20,\n\t0xbba4: 0x6c063220, 0xbba5: 0x6c1b4420, 0xbba6: 0x6c02a420,\n\t0xbba9: 0x6c1b4620, 0xbbab: 0x6c0d6a20,\n\t0xbbb0: 0x6c1b4820, 0xbbb1: 0x6c1b9820, 0xbbb3: 0x6c1b4a20,\n\t0xbbb5: 0x6c1b4c20,\n\t0xbbb8: 0x6c1b4e20, 0xbbba: 0x6c1b5220,\n\t// Block 0x2ef, offset 0xbbc0\n\t0xbbc0: 0x6c1b5420, 0xbbc3: 0x6c1b5620,\n\t0xbbc5: 0x6c0dd820, 0xbbc7: 0x6c00ca20,\n\t0xbbc8: 0x6c096220, 0xbbc9: 0x6c004420, 0xbbcb: 0x6c0cea20,\n\t0xbbcc: 0x6c031020, 0xbbcd: 0x6c08fa20, 0xbbcf: 0x6c06ac20,\n\t0xbbd5: 0x6c0ff820, 0xbbd7: 0x6c098e20,\n\t0xbbd8: 0x6c031220, 0xbbd9: 0x6c0e8420, 0xbbda: 0x6c0f4420, 0xbbdb: 0x6c003020,\n\t0xbbdc: 0x6c03de20, 0xbbdd: 0x6c13c220, 0xbbdf: 0x6c091420,\n\t0xbbe2: 0x6c041020, 0xbbe3: 0x6c0c5620,\n\t0xbbe4: 0x6c090820, 0xbbe5: 0x6c155c20, 0xbbe6: 0x6c1b5820,\n\t0xbbee: 0x6c042420,\n\t0xbbf0: 0x6c07ae20, 0xbbf3: 0x6c025820,\n\t0xbbf4: 0x6c014220, 0xbbf5: 0x6c0a6020, 0xbbf6: 0x6c01c820,\n\t0xbbf8: 0x6c1b5a20, 0xbbf9: 0x6c159820,\n\t0xbbff: 0x6c09de20,\n\t// Block 0x2f0, offset 0xbc00\n\t0xbc02: 0x6c095820, 0xbc03: 0x6c1b5c20,\n\t0xbc04: 0x6c039620, 0xbc05: 0x6c108c20, 0xbc06: 0x6c14a220, 0xbc07: 0x6c1b5e20,\n\t0xbc09: 0x6c1b6020,\n\t0xbc0c: 0x6c12ce20,\n\t0xbc10: 0x6c1b6420, 0xbc12: 0x6c030020, 0xbc13: 0x6c051620,\n\t0xbc14: 0x6c1b6220,\n\t0xbc1b: 0x6c031420,\n\t0xbc1d: 0x6c0b2820, 0xbc1e: 0x6c1b6c20, 0xbc1f: 0x6c081620,\n\t0xbc21: 0x6c01ca20, 0xbc22: 0x6c1b6a20,\n\t0xbc24: 0x6c1b6620, 0xbc25: 0x6c1b6e20, 0xbc26: 0x6c1b6820, 0xbc27: 0x6c10fa20,\n\t0xbc28: 0x6c205420, 0xbc29: 0x6c0b2a20, 0xbc2b: 0x6c1b7020,\n\t0xbc2e: 0x6c164820,\n\t0xbc30: 0x6c1b7220, 0xbc33: 0x6c1b7620,\n\t0xbc35: 0x6c0eb020, 0xbc36: 0x6c1b7420,\n\t0xbc38: 0x6c0bc620, 0xbc3a: 0x6c08ca20,\n\t0xbc3e: 0x6c0d9820, 0xbc3f: 0x6c097e20,\n\t// Block 0x2f1, offset 0xbc40\n\t0xbc41: 0x6c130620, 0xbc42: 0x6c0c5820,\n\t0xbc44: 0x6c092a20, 0xbc45: 0x6c1b7820, 0xbc46: 0x6c0a6220, 0xbc47: 0x6c1b7a20,\n\t0xbc48: 0x6c1b7c20, 0xbc49: 0x6c006620, 0xbc4a: 0x6c0d6c20, 0xbc4b: 0x6c0b6820,\n\t0xbc4d: 0x6c1b7e20, 0xbc4e: 0x6c104e20, 0xbc4f: 0x6c0a6420,\n\t0xbc51: 0x6c0a6620, 0xbc53: 0x6c1b8020,\n\t0xbc56: 0x6c0c5a20,\n\t0xbc5a: 0x6c0a6820,\n\t0xbc60: 0x6c1b8220, 0xbc62: 0x6c1b8420,\n\t0xbc64: 0x6c151020,\n\t0xbc68: 0x6c1b8620,\n\t0xbc6d: 0x6c04b420,\n\t0xbc71: 0x6c099020,\n\t0xbc78: 0x6c1b8820, 0xbc79: 0x6c1b8a20, 0xbc7a: 0x6c094820, 0xbc7b: 0x6c0b1c20,\n\t0xbc7c: 0x6c10d020, 0xbc7d: 0x6c0b6c20, 0xbc7e: 0x6c125020, 0xbc7f: 0x6c10e820,\n\t// Block 0x2f2, offset 0xbc80\n\t0xbc80: 0x6c04ba20, 0xbc81: 0x6c1b8c20,\n\t0xbc85: 0x6c044a20, 0xbc86: 0x6c1b8e20,\n\t0xbc88: 0x6c052420, 0xbc8a: 0x6c108620, 0xbc8b: 0x6c019820,\n\t0xbc8d: 0x6c087a20, 0xbc8e: 0x6c1b9020, 0xbc8f: 0x6c1b9620,\n\t0xbc90: 0x6c1b9420, 0xbc91: 0x6c052220, 0xbc93: 0x6c1b9220,\n\t0xbc95: 0x6c0f9c20,\n\t0xbc9e: 0x6c0d5820,\n\t0xbca0: 0x6c0fc220, 0xbca1: 0x6c092020,\n\t0xbca4: 0x6c0cec20, 0xbca5: 0x6c160020,\n\t0xbcac: 0x6c1b9a20, 0xbcae: 0x6c1b9c20, 0xbcaf: 0x6c109420,\n\t0xbcb1: 0x6c083a20,\n\t0xbcb6: 0x6c1ba020,\n\t0xbcb9: 0x6c1ba220,\n\t// Block 0x2f3, offset 0xbcc0\n\t0xbccc: 0x6c1ba420,\n\t0xbcd0: 0x6c039820, 0xbcd1: 0x6c1ba620,\n\t0xbcd4: 0x6c1ba820,\n\t0xbce1: 0x6c019020,\n\t0xbce8: 0x6c0cb220, 0xbce9: 0x6c037820, 0xbceb: 0x6c1bac20,\n\t0xbcec: 0x6c14a020,\n\t0xbcf1: 0x6c0d9c20, 0xbcf3: 0x6c02a620,\n\t0xbcf6: 0x6c1bb020, 0xbcf7: 0x6c1bb420,\n\t0xbcf8: 0x6c036e20, 0xbcfb: 0x6c1bae20,\n\t0xbcfc: 0x6c1bb220, 0xbcfe: 0x6c1bb820,\n\t// Block 0x2f4, offset 0xbd00\n\t0xbd05: 0x6c1bb620, 0xbd07: 0x6c1bba20,\n\t0xbd19: 0x6c1bbc20,\n\t0xbd20: 0x6c106220, 0xbd21: 0x6c048420,\n\t0xbd28: 0x6c020220, 0xbd29: 0x6c1bbe20, 0xbd2a: 0x6c1bc820,\n\t0xbd2d: 0x6c1bc420, 0xbd2f: 0x6c13c620,\n\t0xbd30: 0x6c13c420,\n\t0xbd36: 0x6c0ffa20,\n\t0xbd3a: 0x6c1bc220, 0xbd3b: 0x6c09f420,\n\t0xbd3d: 0x6c1bc020,\n\t// Block 0x2f5, offset 0xbd40\n\t0xbd47: 0x6c0ba820,\n\t0xbd4b: 0x6c1bca20,\n\t0xbd4e: 0x6c07ec20,\n\t0xbd51: 0x6c1bd620,\n\t0xbd54: 0x6c1bd820, 0xbd55: 0x6c1bcc20, 0xbd56: 0x6c025a20, 0xbd57: 0x6c1bce20,\n\t0xbd58: 0x6c1be020, 0xbd59: 0x6c1bde20, 0xbd5a: 0x6c1bdc20, 0xbd5b: 0x6c1bd420,\n\t0xbd5f: 0x6c1bd220,\n\t0xbd62: 0x6c1bda20,\n\t0xbd69: 0x6c13c820,\n\t// Block 0x2f6, offset 0xbd80\n\t0xbd8b: 0x6c1be820,\n\t0xbd8c: 0x6c1be220, 0xbd8e: 0x6c1be620,\n\t0xbd90: 0x6c15f020, 0xbd92: 0x6c1be420,\n\t0xbd9c: 0x6c1bd020,\n\t0xbda9: 0x6c0baa20,\n\t0xbdac: 0x6c1bea20, 0xbdaf: 0x6c078620,\n\t0xbdb3: 0x6c1bec20,\n\t0xbdb6: 0x6c1bee20,\n\t// Block 0x2f7, offset 0xbdc0\n\t0xbdc2: 0x6c1bf420,\n\t0xbdc4: 0x6c1bf220, 0xbdc7: 0x6c1bf020,\n\t0xbdcb: 0x6c0ffc20,\n\t0xbdcc: 0x6c1bc620,\n\t0xbdd0: 0x6c1c0020,\n\t0xbddd: 0x6c1bf820,\n\t0xbde2: 0x6c1bf620,\n\t0xbdec: 0x6c1bfa20, 0xbdee: 0x6c1bfc20,\n\t0xbdf7: 0x6c1c0220,\n\t0xbdfa: 0x6c169420,\n\t0xbdfc: 0x6c1c0420, 0xbdfd: 0x6c1bfe20,\n\t// Block 0x2f8, offset 0xbe00\n\t0xbe09: 0x6c1c0620,\n\t0xbe0c: 0x6c037020, 0xbe0d: 0x6c1c0820,\n\t0xbe12: 0x6c1c0c20, 0xbe13: 0x6c1c0a20,\n\t0xbe16: 0x6c1c0e20,\n\t0xbe1b: 0x6c1c1020,\n\t0xbe1d: 0x6c0c5c20, 0xbe1e: 0x6c099220,\n\t0xbe21: 0x6c0a1420, 0xbe23: 0x6c0d0220,\n\t0xbe25: 0x6c06ae20, 0xbe26: 0x6c078820, 0xbe27: 0x6c06b020,\n\t0xbe28: 0x6c044c20, 0xbe2b: 0x6c1c1220,\n\t0xbe2e: 0x6c078a20,\n\t0xbe31: 0x6c063420, 0xbe32: 0x6c1c1420, 0xbe33: 0x6c149c20,\n\t0xbe34: 0x6c112a20, 0xbe35: 0x6c1c1620, 0xbe37: 0x6c06b220,\n\t0xbe3b: 0x6c030820,\n\t0xbe3d: 0x6c0e0220, 0xbe3e: 0x6c04cc20,\n\t// Block 0x2f9, offset 0xbe40\n\t0xbe42: 0x6c087c20, 0xbe43: 0x6c12d220,\n\t0xbe46: 0x6c11e220,\n\t0xbe4b: 0x6c1c1820,\n\t0xbe4c: 0x6c039a20,\n\t0xbe51: 0x6c1c1e20,\n\t0xbe56: 0x6c0eb220,\n\t0xbe59: 0x6c1c1c20, 0xbe5a: 0x6c1c1a20, 0xbe5b: 0x6c1c2020,\n\t0xbe5d: 0x6c0f4620,\n\t0xbe65: 0x6c0b8a20,\n\t0xbe6b: 0x6c087e20,\n\t0xbe6d: 0x6c0c1420, 0xbe6f: 0x6c0d9e20,\n\t0xbe70: 0x6c03b020, 0xbe73: 0x6c0eb420,\n\t0xbe76: 0x6c1c2220, 0xbe77: 0x6c1c2420,\n\t0xbe78: 0x6c0ae620,\n\t0xbe7d: 0x6c140620,\n\t// Block 0x2fa, offset 0xbe80\n\t0xbe80: 0x6c1c2a20, 0xbe83: 0x6c1c2820,\n\t0xbe84: 0x6c1c2620, 0xbe85: 0x6c131620, 0xbe87: 0x6c1c3820,\n\t0xbe8c: 0x6c144820, 0xbe8e: 0x6c1c2c20,\n\t0xbe94: 0x6c1c3020, 0xbe95: 0x6c146a20, 0xbe97: 0x6c1c2e20,\n\t0xbe9f: 0x6c1c3220,\n\t0xbea1: 0x6c11b020, 0xbea2: 0x6c1c3420, 0xbea3: 0x6c135420,\n\t0xbea4: 0x6c1c3620,\n\t0xbeb2: 0x6c031620, 0xbeb3: 0x6c135620,\n\t0xbeb4: 0x6c110220, 0xbeb5: 0x6c1c3a20, 0xbeb6: 0x6c1c3c20,\n\t0xbeb8: 0x6c06b420, 0xbeb9: 0x6c031820, 0xbeba: 0x6c1c3e20, 0xbebb: 0x6c061020,\n\t0xbebc: 0x6c159420, 0xbebd: 0x6c155e20, 0xbebe: 0x6c039c20, 0xbebf: 0x6c1c4220,\n\t// Block 0x2fb, offset 0xbec0\n\t0xbec1: 0x6c0eb620, 0xbec3: 0x6c06b620,\n\t0xbec4: 0x6c0a6a20, 0xbec7: 0x6c121e20,\n\t0xbeca: 0x6c0a6c20,\n\t0xbecf: 0x6c0a3c20,\n\t0xbed5: 0x6c0f4820, 0xbed6: 0x6c13ca20, 0xbed7: 0x6c0f9e20,\n\t0xbeda: 0x6c06b820,\n\t0xbedc: 0x6c12d420,\n\t0xbee0: 0x6c1c4420,\n\t0xbee6: 0x6c0fde20, 0xbee7: 0x6c079c20,\n\t0xbeeb: 0x6c063620,\n\t0xbeed: 0x6c0f4a20,\n\t0xbef5: 0x6c004620, 0xbef6: 0x6c0a2820, 0xbef7: 0x6c06ba20,\n\t0xbef8: 0x6c159a20,\n\t// Block 0x2fc, offset 0xbf00\n\t0xbf01: 0x6c1c4620, 0xbf02: 0x6c1c4820, 0xbf03: 0x6c114620,\n\t0xbf08: 0x6c1c4a20, 0xbf09: 0x6c16b620, 0xbf0a: 0x6c16de20,\n\t0xbf0f: 0x6c1c4e20,\n\t0xbf10: 0x6c1c4c20, 0xbf13: 0x6c028220,\n\t0xbf16: 0x6c1c5020,\n\t0xbf1a: 0x6c1c5620, 0xbf1b: 0x6c1c5820,\n\t0xbf1d: 0x6c1c5420, 0xbf1f: 0x6c129c20,\n\t0xbf20: 0x6c0a6e20, 0xbf21: 0x6c1c5c20, 0xbf22: 0x6c1c5a20, 0xbf23: 0x6c1c5220,\n\t0xbf28: 0x6c1c5e20, 0xbf29: 0x6c1c6020,\n\t0xbf2c: 0x6c1c6220,\n\t0xbf30: 0x6c1c6820, 0xbf31: 0x6c1c6420, 0xbf33: 0x6c1c6620,\n\t0xbf34: 0x6c1c6a20, 0xbf36: 0x6c014420, 0xbf37: 0x6c0f4c20,\n\t0xbf38: 0x6c1c6c20, 0xbf3a: 0x6c05d820, 0xbf3b: 0x6c022420,\n\t0xbf3c: 0x6c111020, 0xbf3e: 0x6c1c6e20, 0xbf3f: 0x6c10de20,\n\t// Block 0x2fd, offset 0xbf40\n\t0xbf41: 0x6c138e20, 0xbf43: 0x6c1c7020,\n\t0xbf44: 0x6c16e020,\n\t0xbf49: 0x6c1c7220, 0xbf4a: 0x6c135820, 0xbf4b: 0x6c1c7820,\n\t0xbf4c: 0x6c172c20, 0xbf4d: 0x6c174c20, 0xbf4f: 0x6c08f020,\n\t0xbf50: 0x6c10d220, 0xbf51: 0x6c1c7a20, 0xbf53: 0x6c042620,\n\t0xbf54: 0x6c0eb820, 0xbf55: 0x6c00b420, 0xbf56: 0x6c1c7c20, 0xbf57: 0x6c132420,\n\t0xbf58: 0x6c06bc20, 0xbf5b: 0x6c0e5420,\n\t0xbf5f: 0x6c0f4e20,\n\t0xbf65: 0x6c152e20, 0xbf66: 0x6c061220, 0xbf67: 0x6c063820,\n\t0xbf69: 0x6c1c7e20,\n\t0xbf6d: 0x6c1c8020, 0xbf6f: 0x6c1c8c20,\n\t0xbf71: 0x6c095a20,\n\t0xbf75: 0x6c0eba20, 0xbf77: 0x6c048620,\n\t0xbf78: 0x6c1c8220,\n\t0xbf7c: 0x6c127220, 0xbf7e: 0x6c0e4020,\n\t// Block 0x2fe, offset 0xbf80\n\t0xbf81: 0x6c1c8420,\n\t0xbf88: 0x6c1c8620, 0xbf8a: 0x6c048820,\n\t0xbf8c: 0x6c1c8820, 0xbf8e: 0x6c1c8a20,\n\t0xbf91: 0x6c1c8e20, 0xbf93: 0x6c101820,\n\t0xbf96: 0x6c1c9020, 0xbf97: 0x6c1c9220,\n\t0xbf99: 0x6c1c9420,\n\t0xbf9c: 0x6c1c7620, 0xbf9d: 0x6c1c7420,\n\t0xbfa1: 0x6c1c9620, 0xbfa2: 0x6c056620,\n\t0xbfa6: 0x6c126a20,\n\t0xbfa9: 0x6c07b020, 0xbfaa: 0x6c128a20, 0xbfab: 0x6c0ebc20,\n\t0xbfac: 0x6c12b220, 0xbfad: 0x6c1c9820,\n\t0xbfb0: 0x6c0a7020, 0xbfb1: 0x6c010820, 0xbfb3: 0x6c1c9a20,\n\t0xbfb7: 0x6c1c9c20,\n\t0xbfb9: 0x6c153420,\n\t0xbfbc: 0x6c122020, 0xbfbf: 0x6c1ca220,\n\t// Block 0x2ff, offset 0xbfc0\n\t0xbfc0: 0x6c017620, 0xbfc1: 0x6c0bd820, 0xbfc2: 0x6c1ca020, 0xbfc3: 0x6c1c9e20,\n\t0xbfc4: 0x6c056820, 0xbfc5: 0x6c0da020, 0xbfc7: 0x6c1caa20,\n\t0xbfc8: 0x6c1ca620, 0xbfca: 0x6c1ca420, 0xbfcb: 0x6c161620,\n\t0xbfcc: 0x6c066a20,\n\t0xbfd0: 0x6c0a3e20, 0xbfd1: 0x6c1ca820, 0xbfd2: 0x6c0fc420, 0xbfd3: 0x6c09c820,\n\t0xbfd7: 0x6c106820,\n\t0xbfd8: 0x6c1cb020, 0xbfd9: 0x6c1cae20,\n\t0xbfde: 0x6c1cac20,\n\t0xbfe0: 0x6c1cb220, 0xbfe1: 0x6c066c20,\n\t0xbfe8: 0x6c1cb420, 0xbfe9: 0x6c131420, 0xbfea: 0x6c0a0220,\n\t0xbfed: 0x6c1cb620, 0xbfee: 0x6c125220,\n\t0xbff3: 0x6c106a20,\n\t0xbff4: 0x6c0ebe20,\n\t0xbff9: 0x6c0f8c20,\n\t0xbffc: 0x6c1cb820, 0xbffd: 0x6c03c220,\n\t// Block 0x300, offset 0xc000\n\t0xc003: 0x6c0b2c20,\n\t0xc005: 0x6c127420,\n\t0xc00c: 0x6c039e20, 0xc00d: 0x6c10f020,\n\t0xc016: 0x6c1cba20, 0xc017: 0x6c088020,\n\t0xc018: 0x6c140820, 0xc019: 0x6c140a20,\n\t0xc01c: 0x6c017820, 0xc01d: 0x6c1cc420,\n\t0xc020: 0x6c0e8620,\n\t0xc024: 0x6c1cbe20,\n\t0xc02b: 0x6c022620,\n\t0xc030: 0x6c1d2420, 0xc031: 0x6c1cc220,\n\t0xc035: 0x6c110420,\n\t0xc038: 0x6c1cc020, 0xc03b: 0x6c1cbc20,\n\t0xc03d: 0x6c075020, 0xc03f: 0x6c1cc820,\n\t// Block 0x301, offset 0xc040\n\t0xc04e: 0x6c1cd420, 0xc04f: 0x6c1ce020,\n\t0xc050: 0x6c1cd020, 0xc052: 0x6c0fe420,\n\t0xc055: 0x6c1cda20, 0xc056: 0x6c12d620,\n\t0xc059: 0x6c1cce20, 0xc05b: 0x6c1cd820,\n\t0xc05c: 0x6c169620, 0xc05d: 0x6c088220,\n\t0xc060: 0x6c0da220, 0xc061: 0x6c1cca20,\n\t0xc065: 0x6c042820, 0xc066: 0x6c1cde20, 0xc067: 0x6c0bda20,\n\t0xc068: 0x6c014620, 0xc069: 0x6c1cd220, 0xc06a: 0x6c022820, 0xc06b: 0x6c1cdc20,\n\t0xc06f: 0x6c048a20,\n\t0xc071: 0x6c1cd620,\n\t0xc07a: 0x6c1ce220,\n\t// Block 0x302, offset 0xc080\n\t0xc081: 0x6c1ce620, 0xc082: 0x6c1cfa20, 0xc083: 0x6c1cf620,\n\t0xc086: 0x6c1cf020,\n\t0xc08a: 0x6c1cee20, 0xc08b: 0x6c16b820,\n\t0xc08d: 0x6c1cf220,\n\t0xc090: 0x6c048c20, 0xc092: 0x6c06be20,\n\t0xc095: 0x6c0a4020,\n\t0xc099: 0x6c1d0020, 0xc09a: 0x6c1ce420,\n\t0xc09f: 0x6c1cec20,\n\t0xc0a0: 0x6c1ccc20, 0xc0a2: 0x6c022c20, 0xc0a3: 0x6c1cf420,\n\t0xc0a4: 0x6c1cf820, 0xc0a5: 0x6c0e5620,\n\t0xc0a8: 0x6c076820, 0xc0a9: 0x6c01a820, 0xc0aa: 0x6c1ce820, 0xc0ab: 0x6c1cfe20,\n\t0xc0ac: 0x6c1cfc20, 0xc0ad: 0x6c048e20, 0xc0af: 0x6c0d4a20,\n\t0xc0b0: 0x6c02c020,\n\t0xc0b5: 0x6c056a20, 0xc0b7: 0x6c1cea20,\n\t// Block 0x303, offset 0xc0c0\n\t0xc0c1: 0x6c1d0220, 0xc0c3: 0x6c1d0820,\n\t0xc0c4: 0x6c1d0c20,\n\t0xc0c9: 0x6c090a20, 0xc0cb: 0x6c1d1820,\n\t0xc0cc: 0x6c0f5020, 0xc0cd: 0x6c1d0420,\n\t0xc0d2: 0x6c1d1420,\n\t0xc0d4: 0x6c022a20, 0xc0d6: 0x6c1d1020, 0xc0d7: 0x6c1d1220,\n\t0xc0da: 0x6c1d0a20, 0xc0db: 0x6c1d0e20,\n\t0xc0df: 0x6c066e20,\n\t0xc0e0: 0x6c156020, 0xc0e3: 0x6c031a20,\n\t0xc0e6: 0x6c012e20, 0xc0e7: 0x6c1d1620,\n\t0xc0e9: 0x6c111820, 0xc0ea: 0x6c001a20,\n\t0xc0f2: 0x6c122220, 0xc0f3: 0x6c1cc620,\n\t0xc0f4: 0x6c1d2220, 0xc0f5: 0x6c1d2a20, 0xc0f6: 0x6c151a20,\n\t0xc0f8: 0x6c1d1c20,\n\t0xc0fc: 0x6c0ffe20, 0xc0fd: 0x6c1d2620,\n\t// Block 0x304, offset 0xc100\n\t0xc105: 0x6c0ae820, 0xc106: 0x6c1d2820, 0xc107: 0x6c109620,\n\t0xc111: 0x6c171220, 0xc113: 0x6c1d2020,\n\t0xc118: 0x6c1d2c20, 0xc11a: 0x6c075220,\n\t0xc11c: 0x6c0c1620, 0xc11f: 0x6c006820,\n\t0xc120: 0x6c1d1e20, 0xc121: 0x6c1d1a20, 0xc123: 0x6c0cf020,\n\t0xc127: 0x6c1d0620,\n\t0xc128: 0x6c083c20,\n\t0xc130: 0x6c0d8420, 0xc131: 0x6c1d4420, 0xc133: 0x6c0cf220,\n\t0xc134: 0x6c1d3a20, 0xc136: 0x6c1d3420, 0xc137: 0x6c1d3620,\n\t0xc139: 0x6c095c20, 0xc13a: 0x6c1d3c20, 0xc13b: 0x6c1d4220,\n\t// Block 0x305, offset 0xc140\n\t0xc140: 0x6c1d3820, 0xc141: 0x6c099620, 0xc143: 0x6c1d3e20,\n\t0xc146: 0x6c1d3220,\n\t0xc148: 0x6c154820, 0xc149: 0x6c154620,\n\t0xc14d: 0x6c1d4620, 0xc14e: 0x6c1d4820, 0xc14f: 0x6c006a20,\n\t0xc155: 0x6c1d3020,\n\t0xc15a: 0x6c050c20, 0xc15b: 0x6c000c20,\n\t0xc15f: 0x6c031c20,\n\t0xc161: 0x6c1d4020,\n\t0xc167: 0x6c1d5020,\n\t0xc168: 0x6c1d4e20,\n\t0xc16c: 0x6c1d5820,\n\t0xc174: 0x6c1d5a20,\n\t0xc17c: 0x6c1d5620, 0xc17d: 0x6c1d5c20, 0xc17e: 0x6c1d4c20, 0xc17f: 0x6c1d5420,\n\t// Block 0x306, offset 0xc180\n\t0xc182: 0x6c1d5e20,\n\t0xc184: 0x6c1d6020, 0xc187: 0x6c1d4a20,\n\t0xc188: 0x6c08cc20, 0xc18a: 0x6c1d5220, 0xc18b: 0x6c0da420,\n\t0xc18c: 0x6c06c020, 0xc18d: 0x6c1d2e20, 0xc18e: 0x6c0b2e20,\n\t0xc193: 0x6c1d7a20,\n\t0xc195: 0x6c13aa20,\n\t0xc198: 0x6c1d6620, 0xc199: 0x6c1d6820, 0xc19a: 0x6c1d6a20,\n\t0xc19d: 0x6c1d7820, 0xc19f: 0x6c1d7620,\n\t0xc1a2: 0x6c148e20, 0xc1a3: 0x6c031e20,\n\t0xc1a5: 0x6c1d7220, 0xc1a7: 0x6c056e20,\n\t0xc1a8: 0x6c025c20, 0xc1ab: 0x6c1d6c20,\n\t0xc1ae: 0x6c163820, 0xc1af: 0x6c1d7020,\n\t0xc1b0: 0x6c006c20, 0xc1b1: 0x6c1d7420, 0xc1b3: 0x6c1d6220,\n\t0xc1b4: 0x6c1d6e20, 0xc1b5: 0x6c1d7c20, 0xc1b6: 0x6c056c20, 0xc1b7: 0x6c1d6420,\n\t0xc1be: 0x6c15c620,\n\t// Block 0x307, offset 0xc1c0\n\t0xc1c2: 0x6c156220,\n\t0xc1c7: 0x6c1d8220,\n\t0xc1ca: 0x6c1d8a20,\n\t0xc1ce: 0x6c0d3820,\n\t0xc1d0: 0x6c16ba20, 0xc1d1: 0x6c1d8c20,\n\t0xc1d4: 0x6c1d8620, 0xc1d6: 0x6c1d8020,\n\t0xc1d9: 0x6c1d7e20, 0xc1da: 0x6c1d8820,\n\t0xc1e4: 0x6c133820, 0xc1e7: 0x6c105020,\n\t0xc1e9: 0x6c057020, 0xc1eb: 0x6c1d8e20,\n\t0xc1ec: 0x6c1d8420, 0xc1ee: 0x6c1d9020,\n\t0xc1f2: 0x6c05da20,\n\t0xc1f6: 0x6c019a20,\n\t0xc1fa: 0x6c1da020,\n\t0xc1fe: 0x6c032020,\n\t// Block 0x308, offset 0xc200\n\t0xc203: 0x6c1d9c20,\n\t0xc206: 0x6c1d9e20, 0xc207: 0x6c076a20,\n\t0xc208: 0x6c1d9a20, 0xc209: 0x6c1d9620, 0xc20a: 0x6c1d9420, 0xc20b: 0x6c1da220,\n\t0xc20c: 0x6c1d9220, 0xc20d: 0x6c1da620,\n\t0xc210: 0x6c022e20,\n\t0xc223: 0x6c1daa20,\n\t0xc226: 0x6c1da820,\n\t0xc232: 0x6c0ec020,\n\t0xc234: 0x6c1db020, 0xc236: 0x6c1dac20, 0xc237: 0x6c1d9820,\n\t0xc238: 0x6c05dc20, 0xc23a: 0x6c1dae20,\n\t0xc23c: 0x6c1db620, 0xc23d: 0x6c1db420, 0xc23e: 0x6c1db820, 0xc23f: 0x6c1db220,\n\t// Block 0x309, offset 0xc240\n\t0xc240: 0x6c1dba20,\n\t0xc248: 0x6c1dbc20, 0xc249: 0x6c1dbe20, 0xc24a: 0x6c13ac20,\n\t0xc24c: 0x6c1dc220, 0xc24d: 0x6c1dc020, 0xc24e: 0x6c09ca20,\n\t0xc250: 0x6c0bdc20, 0xc251: 0x6c020420, 0xc252: 0x6c023020,\n\t0xc254: 0x6c1dc420, 0xc256: 0x6c003e20,\n\t0xc25a: 0x6c0c1820, 0xc25b: 0x6c1dc620,\n\t0xc25d: 0x6c2c0020, 0xc25e: 0x6c1dc820, 0xc25f: 0x6c05a620,\n\t0xc261: 0x6c1dca20,\n\t0xc266: 0x6c0c5e20,\n\t0xc26a: 0x6c1dcc20,\n\t0xc26e: 0x6c1dce20, 0xc26f: 0x6c03e020,\n\t0xc270: 0x6c1dd020, 0xc272: 0x6c1dd220, 0xc273: 0x6c1dd420,\n\t0xc274: 0x6c0da620,\n\t0xc278: 0x6c063a20, 0xc27b: 0x6c151220,\n\t0xc27f: 0x6c140c20,\n\t// Block 0x30a, offset 0xc280\n\t0xc280: 0x6c0a2020, 0xc281: 0x6c1dd620,\n\t0xc287: 0x6c0c6020,\n\t0xc288: 0x6c2d6c20, 0xc289: 0x6c122420, 0xc28b: 0x6c096420,\n\t0xc28d: 0x6c07b220, 0xc28e: 0x6c1dd820,\n\t0xc293: 0x6c0d8620,\n\t0xc295: 0x6c132620,\n\t0xc298: 0x6c0dda20, 0xc29b: 0x6c1dde20,\n\t0xc29e: 0x6c1dda20,\n\t0xc2a0: 0x6c1de020, 0xc2a3: 0x6c1ddc20,\n\t0xc2a8: 0x6c1de220,\n\t0xc2ae: 0x6c133a20,\n\t0xc2b1: 0x6c002e20,\n\t0xc2b6: 0x6c12d820,\n\t0xc2b9: 0x6c122620,\n\t0xc2bc: 0x6c1de420, 0xc2be: 0x6c1dea20, 0xc2bf: 0x6c0a7220,\n\t// Block 0x30b, offset 0xc2c0\n\t0xc2c0: 0x6c03e220, 0xc2c2: 0x6c1de620, 0xc2c3: 0x6c1df420,\n\t0xc2c4: 0x6c0a7420,\n\t0xc2c9: 0x6c1de820, 0xc2ca: 0x6c112c20,\n\t0xc2d1: 0x6c15c820, 0xc2d2: 0x6c1dec20, 0xc2d3: 0x6c1dee20,\n\t0xc2d4: 0x6c1df620, 0xc2d5: 0x6c100020, 0xc2d6: 0x6c1df020, 0xc2d7: 0x6c06c220,\n\t0xc2d8: 0x6c0c3c20, 0xc2db: 0x6c1e1220,\n\t0xc2dc: 0x6c11c820, 0xc2de: 0x6c0ddc20,\n\t0xc2eb: 0x6c122820,\n\t0xc2ec: 0x6c1e9c20,\n\t0xc2f1: 0x6c13cc20,\n\t0xc2f5: 0x6c0f5220,\n\t0xc2f9: 0x6c147e20, 0xc2fb: 0x6c1dfc20,\n\t0xc2fc: 0x6c017a20, 0xc2fd: 0x6c0e8820,\n\t// Block 0x30c, offset 0xc300\n\t0xc302: 0x6c1e0e20,\n\t0xc305: 0x6c0e1c20, 0xc306: 0x6c1e0220, 0xc307: 0x6c1e1020,\n\t0xc308: 0x6c1e0620, 0xc309: 0x6c1e1420, 0xc30a: 0x6c1e0c20,\n\t0xc30c: 0x6c1e0a20, 0xc30d: 0x6c118220, 0xc30f: 0x6c1dfe20,\n\t0xc310: 0x6c023220, 0xc311: 0x6c1dfa20, 0xc312: 0x6c044e20, 0xc313: 0x6c0dde20,\n\t0xc314: 0x6c1df220, 0xc317: 0x6c1df820,\n\t0xc318: 0x6c06c420, 0xc319: 0x6c0c3620, 0xc31b: 0x6c0a7620,\n\t0xc31c: 0x6c1e0820, 0xc31d: 0x6c114820,\n\t0xc320: 0x6c045020, 0xc321: 0x6c028420,\n\t0xc32c: 0x6c02c220, 0xc32d: 0x6c0b0620, 0xc32e: 0x6c1e1820, 0xc32f: 0x6c1e2220,\n\t0xc331: 0x6c1e1a20, 0xc333: 0x6c05de20,\n\t0xc335: 0x6c1e2420, 0xc336: 0x6c081820, 0xc337: 0x6c072e20,\n\t0xc33e: 0x6c099820, 0xc33f: 0x6c1e0020,\n\t// Block 0x30d, offset 0xc340\n\t0xc341: 0x6c08ce20, 0xc342: 0x6c1e1e20,\n\t0xc347: 0x6c088420,\n\t0xc348: 0x6c1e2020, 0xc349: 0x6c004820,\n\t0xc34c: 0x6c1e1620,\n\t0xc351: 0x6c0ec220,\n\t0xc359: 0x6c045220,\n\t0xc35f: 0x6c049020,\n\t0xc367: 0x6c1e1c20,\n\t0xc368: 0x6c000e20, 0xc36b: 0x6c079e20,\n\t0xc36f: 0x6c0b3020,\n\t0xc37a: 0x6c0f5420,\n\t0xc37d: 0x6c120820, 0xc37e: 0x6c1e2820, 0xc37f: 0x6c0cf820,\n\t// Block 0x30e, offset 0xc380\n\t0xc389: 0x6c0d4c20,\n\t0xc38c: 0x6c082a20, 0xc38d: 0x6c1e2a20, 0xc38f: 0x6c1e2e20,\n\t0xc390: 0x6c1e2620,\n\t0xc395: 0x6c139a20, 0xc397: 0x6c0eea20,\n\t0xc39c: 0x6c0cf420,\n\t0xc3a7: 0x6c13ce20,\n\t0xc3a8: 0x6c092c20, 0xc3a9: 0x6c1e4620, 0xc3ab: 0x6c1e4420,\n\t0xc3ae: 0x6c0bb420,\n\t0xc3b2: 0x6c05e020,\n\t0xc3b6: 0x6c1e3820, 0xc3b7: 0x6c0a7a20,\n\t0xc3ba: 0x6c10b820, 0xc3bb: 0x6c110620,\n\t// Block 0x30f, offset 0xc3c0\n\t0xc3c0: 0x6c1e3420, 0xc3c3: 0x6c0cf620,\n\t0xc3c8: 0x6c098020, 0xc3c9: 0x6c1e3e20,\n\t0xc3cc: 0x6c0a7820, 0xc3ce: 0x6c1e3220, 0xc3cf: 0x6c1e3c20,\n\t0xc3d2: 0x6c114a20,\n\t0xc3d6: 0x6c1e3020,\n\t0xc3d8: 0x6c052620, 0xc3db: 0x6c02ae20,\n\t0xc3df: 0x6c1e4020,\n\t0xc3e0: 0x6c161e20, 0xc3e1: 0x6c07b420, 0xc3e2: 0x6c0e1e20, 0xc3e3: 0x6c1e3a20,\n\t0xc3e5: 0x6c0c3820, 0xc3e7: 0x6c06c620,\n\t0xc3e8: 0x6c0b8c20, 0xc3e9: 0x6c014820, 0xc3ea: 0x6c0cb420, 0xc3eb: 0x6c1e3620,\n\t0xc3ec: 0x6c03f620,\n\t0xc3f2: 0x6c057220,\n\t0xc3f4: 0x6c0f0e20, 0xc3f5: 0x6c1e4220,\n\t0xc3fb: 0x6c0cfa20,\n\t0xc3fe: 0x6c1e4820,\n\t// Block 0x310, offset 0xc400\n\t0xc400: 0x6c1e4c20, 0xc403: 0x6c0d6620,\n\t0xc404: 0x6c1e5820, 0xc406: 0x6c1e4e20,\n\t0xc409: 0x6c1e5220,\n\t0xc40f: 0x6c129e20,\n\t0xc410: 0x6c0f5620, 0xc412: 0x6c1e5420,\n\t0xc416: 0x6c156420,\n\t0xc41a: 0x6c159c20, 0xc41b: 0x6c032220,\n\t0xc421: 0x6c001c20, 0xc423: 0x6c1e5020,\n\t0xc429: 0x6c1e4a20,\n\t0xc42e: 0x6c03a020,\n\t0xc434: 0x6c014a20, 0xc436: 0x6c1e5620,\n\t0xc43a: 0x6c159e20,\n\t// Block 0x311, offset 0xc440\n\t0xc446: 0x6c1e5e20,\n\t0xc44d: 0x6c0d6e20, 0xc44f: 0x6c1e6c20,\n\t0xc453: 0x6c1e6020,\n\t0xc456: 0x6c1e5a20, 0xc457: 0x6c1e6820,\n\t0xc45c: 0x6c1e2c20,\n\t0xc466: 0x6c1e6220,\n\t0xc468: 0x6c1e6a20,\n\t0xc46c: 0x6c11e420, 0xc46d: 0x6c100220,\n\t0xc474: 0x6c1e5c20, 0xc476: 0x6c1e6420,\n\t0xc47a: 0x6c057420,\n\t0xc47e: 0x6c07fa20,\n\t// Block 0x312, offset 0xc480\n\t0xc482: 0x6c0c3a20,\n\t0xc48e: 0x6c1e7420,\n\t0xc498: 0x6c0f7820,\n\t0xc4a7: 0x6c1e6e20,\n\t0xc4a9: 0x6c145420,\n\t0xc4af: 0x6c1e7020,\n\t0xc4b6: 0x6c1e7220,\n\t0xc4b8: 0x6c14ec20, 0xc4ba: 0x6c0bc420,\n\t// Block 0x313, offset 0xc4c0\n\t0xc4c3: 0x6c05a820,\n\t0xc4c8: 0x6c1e8020,\n\t0xc4d2: 0x6c083e20, 0xc4d3: 0x6c1e7a20,\n\t0xc4d5: 0x6c1e7820,\n\t0xc4da: 0x6c110820,\n\t0xc4de: 0x6c105220,\n\t0xc4e4: 0x6c0f8e20, 0xc4e5: 0x6c1e7c20,\n\t0xc4e9: 0x6c1e7e20, 0xc4eb: 0x6c12fa20,\n\t0xc4ed: 0x6c112e20, 0xc4ee: 0x6c081a20,\n\t0xc4f0: 0x6c0c6220, 0xc4f2: 0x6c143420,\n\t0xc4f9: 0x6c028620, 0xc4fb: 0x6c1e8c20,\n\t0xc4fc: 0x6c1e8220,\n\t// Block 0x314, offset 0xc500\n\t0xc501: 0x6c15a020, 0xc502: 0x6c1e9020,\n\t0xc505: 0x6c1e8820, 0xc507: 0x6c1e8a20,\n\t0xc50d: 0x6c0cfc20,\n\t0xc512: 0x6c1e8620,\n\t0xc514: 0x6c1e0420,\n\t0xc518: 0x6c1e8e20, 0xc51a: 0x6c1e8420,\n\t0xc520: 0x6c1e9820, 0xc521: 0x6c1e9a20, 0xc522: 0x6c0f7a20, 0xc523: 0x6c1e9e20,\n\t0xc526: 0x6c081c20, 0xc527: 0x6c1e9420,\n\t0xc52c: 0x6c03e420, 0xc52f: 0x6c1ea020,\n\t0xc531: 0x6c1e9220, 0xc532: 0x6c1ea820,\n\t0xc534: 0x6c1ea620, 0xc536: 0x6c1ea420,\n\t0xc53a: 0x6c1eaa20,\n\t0xc53d: 0x6c1eae20, 0xc53e: 0x6c0aea20,\n\t// Block 0x315, offset 0xc540\n\t0xc540: 0x6c1eac20,\n\t0xc545: 0x6c1eb420,\n\t0xc558: 0x6c1eb020,\n\t0xc55c: 0x6c1eb220, 0xc55d: 0x6c1e6620,\n\t0xc563: 0x6c1eb820,\n\t0xc564: 0x6c1eb620,\n\t0xc56a: 0x6c1e7620, 0xc56b: 0x6c1eba20,\n\t0xc56c: 0x6c1ea220, 0xc56f: 0x6c088620,\n\t0xc574: 0x6c1ebc20, 0xc575: 0x6c1ebe20, 0xc576: 0x6c1ec220, 0xc577: 0x6c1ec020,\n\t0xc578: 0x6c1ec420, 0xc579: 0x6c023420, 0xc57b: 0x6c06c820,\n\t0xc57e: 0x6c13d020, 0xc57f: 0x6c0bde20,\n\t// Block 0x316, offset 0xc580\n\t0xc585: 0x6c063c20,\n\t0xc588: 0x6c1ec820,\n\t0xc58d: 0x6c1ece20, 0xc58f: 0x6c12c020,\n\t0xc591: 0x6c042a20,\n\t0xc595: 0x6c1ecc20, 0xc596: 0x6c1eca20, 0xc597: 0x6c114c20,\n\t0xc598: 0x6c1ed020, 0xc599: 0x6c049220,\n\t0xc59d: 0x6c1ed420, 0xc59e: 0x6c1ed220,\n\t0xc5a2: 0x6c032420, 0xc5a3: 0x6c084020,\n\t0xc5a6: 0x6c109820,\n\t0xc5ac: 0x6c057620,\n\t0xc5b0: 0x6c0bac20, 0xc5b2: 0x6c1ed620,\n\t0xc5b4: 0x6c0be020, 0xc5b5: 0x6c0f7c20, 0xc5b7: 0x6c12da20,\n\t0xc5b8: 0x6c1ed820,\n\t// Block 0x317, offset 0xc5c0\n\t0xc5c2: 0x6c1eda20, 0xc5c3: 0x6c1edc20,\n\t0xc5c7: 0x6c134820,\n\t0xc5c8: 0x6c1b5020, 0xc5c9: 0x6c0c0c20,\n\t0xc5cc: 0x6c12b420, 0xc5ce: 0x6c07c820,\n\t0xc5d0: 0x6c122a20, 0xc5d1: 0x6c11e620,\n\t0xc5d7: 0x6c0fc620,\n\t0xc5d9: 0x6c164a20, 0xc5db: 0x6c1ee020,\n\t0xc5dc: 0x6c093020, 0xc5df: 0x6c1ee220,\n\t0xc5e1: 0x6c002c20,\n\t0xc5e4: 0x6c04d020, 0xc5e5: 0x6c0c1a20, 0xc5e7: 0x6c12dc20,\n\t0xc5eb: 0x6c1ee420,\n\t0xc5ec: 0x6c085820, 0xc5ed: 0x6c0e4220, 0xc5ef: 0x6c088a20,\n\t0xc5f0: 0x6c0b3220,\n\t0xc5f7: 0x6c1ee620,\n\t0xc5f9: 0x6c13d220,\n\t0xc5fc: 0x6c016a20, 0xc5fd: 0x6c088c20,\n\t// Block 0x318, offset 0xc600\n\t0xc601: 0x6c1eec20, 0xc603: 0x6c1ee820,\n\t0xc604: 0x6c1eee20, 0xc605: 0x6c163a20, 0xc606: 0x6c1eea20,\n\t0xc60b: 0x6c0c7620,\n\t0xc60c: 0x6c1ef020, 0xc60f: 0x6c0d5c20,\n\t0xc612: 0x6c1ef220,\n\t0xc617: 0x6c03a420,\n\t0xc619: 0x6c1ef620, 0xc61b: 0x6c1ef420,\n\t0xc620: 0x6c1ef820, 0xc621: 0x6c1efa20, 0xc622: 0x6c03a620,\n\t0xc625: 0x6c10e020, 0xc626: 0x6c0e2020, 0xc627: 0x6c044420,\n\t0xc628: 0x6c088e20, 0xc629: 0x6c0cfe20,\n\t0xc62c: 0x6c0a0420, 0xc62d: 0x6c002020,\n\t0xc631: 0x6c1efc20,\n\t0xc63a: 0x6c017c20, 0xc63b: 0x6c1f0420,\n\t// Block 0x319, offset 0xc640\n\t0xc642: 0x6c06ca20, 0xc643: 0x6c1f0220,\n\t0xc646: 0x6c076e20, 0xc647: 0x6c0a7c20,\n\t0xc64a: 0x6c1f0020,\n\t0xc64c: 0x6c0a7e20, 0xc64e: 0x6c14d020, 0xc64f: 0x6c076c20,\n\t0xc653: 0x6c006e20,\n\t0xc654: 0x6c0c1c20,\n\t0xc65c: 0x6c1f0e20, 0xc65f: 0x6c0be220,\n\t0xc660: 0x6c010a20,\n\t0xc665: 0x6c09f620, 0xc667: 0x6c146020,\n\t0xc668: 0x6c07fc20,\n\t0xc66d: 0x6c0a8020, 0xc66f: 0x6c0bce20,\n\t0xc674: 0x6c1f0c20, 0xc675: 0x6c1f0820, 0xc676: 0x6c1f0a20,\n\t0xc67c: 0x6c0e8a20, 0xc67f: 0x6c1f4a20,\n\t// Block 0x31a, offset 0xc680\n\t0xc681: 0x6c1f1620, 0xc682: 0x6c08d020, 0xc683: 0x6c06cc20,\n\t0xc684: 0x6c1f1220,\n\t0xc689: 0x6c1f1420, 0xc68b: 0x6c0b3420,\n\t0xc68f: 0x6c1f1020,\n\t0xc692: 0x6c083220,\n\t0xc69d: 0x6c1f1a20, 0xc69e: 0x6c1f1820, 0xc69f: 0x6c1f2220,\n\t0xc6a2: 0x6c1f2420,\n\t0xc6a4: 0x6c1f1c20, 0xc6a6: 0x6c023820, 0xc6a7: 0x6c1f1e20,\n\t0xc6a8: 0x6c1f2020, 0xc6a9: 0x6c120a20,\n\t0xc6ae: 0x6c12de20, 0xc6af: 0x6c057820,\n\t0xc6b0: 0x6c1f2620,\n\t0xc6b4: 0x6c0be420, 0xc6b6: 0x6c0a8220,\n\t0xc6ba: 0x6c0e5820,\n\t// Block 0x31b, offset 0xc6c0\n\t0xc6c1: 0x6c04b620, 0xc6c3: 0x6c1f2820,\n\t0xc6c4: 0x6c1f3020, 0xc6c7: 0x6c01ce20,\n\t0xc6c8: 0x6c1f2a20, 0xc6c9: 0x6c1f2e20,\n\t0xc6ce: 0x6c1f2c20,\n\t0xc6d1: 0x6c0a2220,\n\t0xc6d6: 0x6c0e4420, 0xc6d7: 0x6c004a20,\n\t0xc6d8: 0x6c1f3220,\n\t0xc6dd: 0x6c1f3420,\n\t0xc6e2: 0x6c0ec420,\n\t0xc6e6: 0x6c16aa20,\n\t0xc6eb: 0x6c085a20,\n\t0xc6ee: 0x6c13ae20,\n\t0xc6f4: 0x6c140e20,\n\t0xc6f8: 0x6c1f4220, 0xc6f9: 0x6c1f3820,\n\t0xc6fc: 0x6c1f3e20, 0xc6fe: 0x6c1f3c20,\n\t// Block 0x31c, offset 0xc700\n\t0xc701: 0x6c1f3620,\n\t0xc704: 0x6c1f4020, 0xc707: 0x6c10a420,\n\t0xc709: 0x6c1f3a20,\n\t0xc716: 0x6c1f4420,\n\t0xc719: 0x6c0a2420, 0xc71a: 0x6c1f4620,\n\t0xc71c: 0x6c15a220, 0xc71d: 0x6c119420,\n\t0xc720: 0x6c1f4820,\n\t0xc726: 0x6c1f4c20,\n\t0xc729: 0x6c1f4e20,\n\t0xc730: 0x6c1f5020, 0xc732: 0x6c04bc20, 0xc733: 0x6c010c20,\n\t0xc734: 0x6c06ce20, 0xc735: 0x6c1f5220, 0xc737: 0x6c1f5420,\n\t0xc738: 0x6c0a2e20, 0xc739: 0x6c0d0020,\n\t0xc73c: 0x6c191220, 0xc73d: 0x6c0cb820, 0xc73e: 0x6c0cb620, 0xc73f: 0x6c0da820,\n\t// Block 0x31d, offset 0xc740\n\t0xc740: 0x6c07a620, 0xc743: 0x6c17ce20,\n\t0xc748: 0x6c05c020, 0xc749: 0x6c156620, 0xc74b: 0x6c13d420,\n\t0xc74d: 0x6c131820, 0xc74f: 0x6c1f5620,\n\t0xc754: 0x6c07fe20, 0xc755: 0x6c0eee20, 0xc756: 0x6c1f5820, 0xc757: 0x6c16e220,\n\t0xc75b: 0x6c141020,\n\t0xc75d: 0x6c0ec620, 0xc75e: 0x6c1f5a20, 0xc75f: 0x6c03a820,\n\t0xc766: 0x6c1f5c20, 0xc767: 0x6c1f5e20,\n\t0xc768: 0x6c150420, 0xc76a: 0x6c149820, 0xc76b: 0x6c148020,\n\t0xc76c: 0x6c144c20, 0xc76d: 0x6c081e20, 0xc76e: 0x6c1f6220,\n\t0xc771: 0x6c096620,\n\t0xc774: 0x6c143620, 0xc776: 0x6c1f6620, 0xc777: 0x6c1f6c20,\n\t0xc778: 0x6c1f6a20, 0xc77a: 0x6c03a220,\n\t0xc77d: 0x6c042c20, 0xc77f: 0x6c1f6420,\n\t// Block 0x31e, offset 0xc780\n\t0xc781: 0x6c1f6820,\n\t0xc786: 0x6c1f6e20,\n\t0xc789: 0x6c0bb620,\n\t0xc78e: 0x6c160220, 0xc78f: 0x6c005220,\n\t0xc790: 0x6c07d820, 0xc791: 0x6c0d7020, 0xc793: 0x6c094a20,\n\t0xc796: 0x6c0aee20,\n\t0xc799: 0x6c1f7420,\n\t0xc79c: 0x6c0fc820, 0xc79e: 0x6c1f7020, 0xc79f: 0x6c0d4e20,\n\t0xc7a0: 0x6c1f7220, 0xc7a1: 0x6c0aec20, 0xc7a2: 0x6c150a20, 0xc7a3: 0x6c1f7620,\n\t0xc7a4: 0x6c1f7820, 0xc7a5: 0x6c15dc20,\n\t0xc7aa: 0x6c1f8220,\n\t0xc7ad: 0x6c06d020, 0xc7af: 0x6c114e20,\n\t0xc7b0: 0x6c1f7c20, 0xc7b1: 0x6c100420, 0xc7b2: 0x6c1efe20, 0xc7b3: 0x6c1f0620,\n\t0xc7b5: 0x6c040a20, 0xc7b7: 0x6c113220,\n\t0xc7bc: 0x6c1f8020, 0xc7be: 0x6c0a8420, 0xc7bf: 0x6c11e820,\n\t// Block 0x31f, offset 0xc7c0\n\t0xc7c5: 0x6c1f8c20, 0xc7c7: 0x6c125420,\n\t0xc7c9: 0x6c1f7a20, 0xc7cb: 0x6c1f8620,\n\t0xc7cc: 0x6c1f8420,\n\t0xc7d0: 0x6c0c1e20,\n\t0xc7d5: 0x6c146e20, 0xc7d7: 0x6c166e20,\n\t0xc7da: 0x6c146220,\n\t0xc7dc: 0x6c01d020, 0xc7dd: 0x6c089020,\n\t0xc7e0: 0x6c171420, 0xc7e1: 0x6c1f8a20, 0xc7e2: 0x6c0bae20,\n\t0xc7e6: 0x6c1f8820,\n\t0xc7e9: 0x6c1f7e20,\n\t0xc7ef: 0x6c063e20,\n\t0xc7f3: 0x6c1f9620,\n\t0xc7f4: 0x6c1f9220, 0xc7f6: 0x6c01d220, 0xc7f7: 0x6c1f8e20,\n\t0xc7f8: 0x6c1f9a20, 0xc7f9: 0x6c1fa620,\n\t// Block 0x320, offset 0xc800\n\t0xc801: 0x6c0d8820,\n\t0xc804: 0x6c135a20, 0xc806: 0x6c1faa20,\n\t0xc80a: 0x6c126020,\n\t0xc80e: 0x6c1fa820, 0xc80f: 0x6c118420,\n\t0xc810: 0x6c141220, 0xc811: 0x6c032620, 0xc813: 0x6c0c6e20,\n\t0xc814: 0x6c09cc20,\n\t0xc818: 0x6c0f1620, 0xc81a: 0x6c156820,\n\t0xc81d: 0x6c1fa020, 0xc81e: 0x6c1f9e20,\n\t0xc822: 0x6c1fa220,\n\t0xc824: 0x6c1f9c20, 0xc827: 0x6c1fac20,\n\t0xc829: 0x6c1f9820,\n\t0xc82c: 0x6c1f9420, 0xc82e: 0x6c1fa420, 0xc82f: 0x6c1f9020,\n\t0xc831: 0x6c0e8c20, 0xc833: 0x6c154020,\n\t0xc834: 0x6c091c20, 0xc835: 0x6c080020,\n\t0xc83b: 0x6c078c20,\n\t0xc83e: 0x6c147220, 0xc83f: 0x6c027620,\n\t// Block 0x321, offset 0xc840\n\t0xc842: 0x6c0f0c20, 0xc843: 0x6c107c20,\n\t0xc844: 0x6c010e20,\n\t0xc853: 0x6c0c6420,\n\t0xc856: 0x6c0be820, 0xc857: 0x6c053820,\n\t0xc85e: 0x6c1fb020,\n\t0xc861: 0x6c06d220, 0xc862: 0x6c02ec20,\n\t0xc869: 0x6c1fb420, 0xc86a: 0x6c02dc20, 0xc86b: 0x6c1fc020,\n\t0xc872: 0x6c1fba20,\n\t0xc874: 0x6c0c6620,\n\t0xc878: 0x6c028a20, 0xc879: 0x6c077020,\n\t0xc87c: 0x6c028820, 0xc87d: 0x6c07b620,\n\t// Block 0x322, offset 0xc880\n\t0xc880: 0x6c1fb620, 0xc881: 0x6c05ae20, 0xc882: 0x6c057a20, 0xc883: 0x6c100620,\n\t0xc886: 0x6c1fb220,\n\t0xc888: 0x6c004c20,\n\t0xc88d: 0x6c1fb820, 0xc88e: 0x6c1fbc20,\n\t0xc890: 0x6c04c220, 0xc891: 0x6c053c20, 0xc893: 0x6c032820,\n\t0xc894: 0x6c040220,\n\t0xc899: 0x6c1fc220,\n\t0xc89c: 0x6c080a20, 0xc89d: 0x6c147620, 0xc89f: 0x6c084220,\n\t0xc8a3: 0x6c1fc420,\n\t0xc8a7: 0x6c127c20,\n\t0xc8b4: 0x6c1fdc20, 0xc8b6: 0x6c019e20, 0xc8b7: 0x6c1fc620,\n\t0xc8be: 0x6c1fe820, 0xc8bf: 0x6c1fc820,\n\t// Block 0x323, offset 0xc8c0\n\t0xc8c1: 0x6c164c20, 0xc8c3: 0x6c1fd620,\n\t0xc8c5: 0x6c116220,\n\t0xc8cd: 0x6c1fe620, 0xc8cf: 0x6c1fcc20,\n\t0xc8d3: 0x6c002820,\n\t0xc8d4: 0x6c1fd020, 0xc8d7: 0x6c06d420,\n\t0xc8db: 0x6c1fd420,\n\t0xc8dd: 0x6c1fd220, 0xc8df: 0x6c1fca20,\n\t0xc8e0: 0x6c1fe020, 0xc8e2: 0x6c0a8620,\n\t0xc8e6: 0x6c1ab420, 0xc8e7: 0x6c067020,\n\t0xc8e8: 0x6c160420,\n\t0xc8ed: 0x6c1fce20, 0xc8ef: 0x6c0f5820,\n\t0xc8f0: 0x6c023a20, 0xc8f1: 0x6c077220, 0xc8f3: 0x6c1fbe20,\n\t0xc8f5: 0x6c1fde20, 0xc8f6: 0x6c02b620,\n\t0xc8f9: 0x6c1fda20, 0xc8fa: 0x6c1fe220,\n\t0xc8fc: 0x6c100820,\n\t// Block 0x324, offset 0xc900\n\t0xc904: 0x6c03ac20, 0xc906: 0x6c201e20,\n\t0xc909: 0x6c14e220, 0xc90a: 0x6c1fec20, 0xc90b: 0x6c03aa20,\n\t0xc90d: 0x6c1ffa20,\n\t0xc912: 0x6c141420,\n\t0xc914: 0x6c1ffc20, 0xc915: 0x6c200020, 0xc917: 0x6c200820,\n\t0xc918: 0x6c1ff020, 0xc91a: 0x6c0e0820,\n\t0xc91f: 0x6c100a20,\n\t0xc920: 0x6c201020, 0xc921: 0x6c1ff620, 0xc923: 0x6c200a20,\n\t0xc927: 0x6c1ffe20,\n\t0xc92e: 0x6c0b3620, 0xc92f: 0x6c201220,\n\t0xc932: 0x6c0be620,\n\t0xc939: 0x6c200e20, 0xc93a: 0x6c032a20,\n\t// Block 0x325, offset 0xc940\n\t0xc940: 0x6c172420, 0xc941: 0x6c1fea20,\n\t0xc944: 0x6c200620, 0xc945: 0x6c007020,\n\t0xc948: 0x6c1fee20, 0xc94b: 0x6c14c420,\n\t0xc94c: 0x6c1ff820, 0xc94d: 0x6c0b0820, 0xc94e: 0x6c0efe20, 0xc94f: 0x6c1fe420,\n\t0xc952: 0x6c200420,\n\t0xc959: 0x6c0bb820, 0xc95a: 0x6c201820, 0xc95b: 0x6c02d620,\n\t0xc95c: 0x6c05e220,\n\t0xc961: 0x6c201c20, 0xc962: 0x6c1ff220, 0xc963: 0x6c201a20,\n\t0xc965: 0x6c200c20, 0xc966: 0x6c1ff420,\n\t0xc968: 0x6c201420, 0xc96a: 0x6c201620,\n\t0xc970: 0x6c203820,\n\t0xc974: 0x6c108420, 0xc976: 0x6c200220,\n\t0xc979: 0x6c203020,\n\t0xc97d: 0x6c203420, 0xc97f: 0x6c0f2020,\n\t// Block 0x326, offset 0xc980\n\t0xc98a: 0x6c15a420,\n\t0xc993: 0x6c130820,\n\t0xc994: 0x6c202a20, 0xc995: 0x6c0d8c20,\n\t0xc999: 0x6c203620, 0xc99a: 0x6c0cba20,\n\t0xc99c: 0x6c202420, 0xc99d: 0x6c203e20, 0xc99e: 0x6c203c20,\n\t0xc9a0: 0x6c10c620, 0xc9a1: 0x6c203a20, 0xc9a2: 0x6c10bc20,\n\t0xc9aa: 0x6c204220, 0xc9ab: 0x6c202820,\n\t0xc9ad: 0x6c04b820, 0xc9ae: 0x6c202e20, 0xc9af: 0x6c0a0620,\n\t0xc9b3: 0x6c116420,\n\t0xc9b4: 0x6c203220, 0xc9b5: 0x6c04be20, 0xc9b7: 0x6c202220,\n\t0xc9b8: 0x6c202620, 0xc9b9: 0x6c202020,\n\t0xc9bc: 0x6c16e420, 0xc9bd: 0x6c02a820, 0xc9be: 0x6c202c20,\n\t// Block 0x327, offset 0xc9c0\n\t0xc9c1: 0x6c204020, 0xc9c2: 0x6c025e20,\n\t0xc9ca: 0x6c07e620,\n\t0xc9ce: 0x6c013620,\n\t0xc9d1: 0x6c206220,\n\t0xc9d4: 0x6c16e620, 0xc9d5: 0x6c206820,\n\t0xc9db: 0x6c0b3820,\n\t0xc9dc: 0x6c206620,\n\t0xc9e0: 0x6c206420,\n\t0xc9e7: 0x6c205e20,\n\t0xc9ee: 0x6c204620,\n\t0xc9f1: 0x6c208020, 0xc9f2: 0x6c204420,\n\t0xc9f4: 0x6c206a20,\n\t0xc9fb: 0x6c205a20,\n\t0xc9fe: 0x6c205020, 0xc9ff: 0x6c204a20,\n\t// Block 0x328, offset 0xca00\n\t0xca01: 0x6c204c20, 0xca03: 0x6c205c20,\n\t0xca07: 0x6c319e20,\n\t0xca0a: 0x6c205620, 0xca0b: 0x6c06d620,\n\t0xca0c: 0x6c0f0020, 0xca0d: 0x6c0d0420, 0xca0e: 0x6c205220,\n\t0xca10: 0x6c204820, 0xca13: 0x6c204e20,\n\t0xca18: 0x6c15a620, 0xca19: 0x6c146820,\n\t0xca1d: 0x6c205820, 0xca1e: 0x6c206c20,\n\t0xca27: 0x6c207c20,\n\t0xca28: 0x6c206e20, 0xca2b: 0x6c208820,\n\t0xca2d: 0x6c208420,\n\t0xca32: 0x6c207a20,\n\t0xca39: 0x6c207820, 0xca3b: 0x6c0f1020,\n\t0xca3d: 0x6c0d0620, 0xca3f: 0x6c207420,\n\t// Block 0x329, offset 0xca40\n\t0xca42: 0x6c207020,\n\t0xca45: 0x6c207e20,\n\t0xca4a: 0x6c208a20, 0xca4b: 0x6c124a20,\n\t0xca4c: 0x6c209620,\n\t0xca52: 0x6c208c20, 0xca53: 0x6c209220,\n\t0xca54: 0x6c208620, 0xca57: 0x6c0e9c20,\n\t0xca59: 0x6c128c20, 0xca5b: 0x6c207220,\n\t0xca5e: 0x6c208220, 0xca5f: 0x6c0a8820,\n\t0xca61: 0x6c14ee20, 0xca62: 0x6c20aa20, 0xca63: 0x6c209020,\n\t0xca69: 0x6c05e420, 0xca6a: 0x6c017e20, 0xca6b: 0x6c02b220,\n\t0xca6e: 0x6c206020,\n\t0xca75: 0x6c0a8a20, 0xca76: 0x6c209a20,\n\t0xca78: 0x6c20a820, 0xca79: 0x6c098220, 0xca7a: 0x6c02d820,\n\t0xca7d: 0x6c0e1020,\n\t// Block 0x32a, offset 0xca80\n\t0xca84: 0x6c209420, 0xca87: 0x6c209e20,\n\t0xca88: 0x6c20a620, 0xca8b: 0x6c049420,\n\t0xca98: 0x6c040420, 0xca99: 0x6c20a220,\n\t0xca9f: 0x6c03ae20,\n\t0xcaa1: 0x6c107e20, 0xcaa2: 0x6c20a020,\n\t0xcaa6: 0x6c20a420,\n\t0xcab2: 0x6c209820,\n\t0xcab8: 0x6c209c20,\n\t0xcabf: 0x6c02b420,\n\t// Block 0x32b, offset 0xcac0\n\t0xcac0: 0x6c0e4620,\n\t0xcac4: 0x6c20b220,\n\t0xcacd: 0x6c20ae20, 0xcace: 0x6c067220,\n\t0xcad0: 0x6c20ac20,\n\t0xcad7: 0x6c20b820,\n\t0xcadc: 0x6c1fae20,\n\t0xcae0: 0x6c20b020, 0xcae2: 0x6c20b420, 0xcae3: 0x6c20b620,\n\t0xcaea: 0x6c20ce20,\n\t0xcaec: 0x6c20c620, 0xcaee: 0x6c1fd820,\n\t0xcaf3: 0x6c20c420,\n\t0xcaf8: 0x6c20c220, 0xcafb: 0x6c20bc20,\n\t// Block 0x32c, offset 0xcb00\n\t0xcb01: 0x6c208e20, 0xcb02: 0x6c20c020, 0xcb03: 0x6c20be20,\n\t0xcb11: 0x6c20ca20, 0xcb13: 0x6c16d020,\n\t0xcb1a: 0x6c20d020, 0xcb1b: 0x6c051e20,\n\t0xcb1e: 0x6c20c820, 0xcb1f: 0x6c20cc20,\n\t0xcb28: 0x6c11ae20, 0xcb2a: 0x6c20d220,\n\t0xcb3a: 0x6c20da20, 0xcb3b: 0x6c20d420,\n\t// Block 0x32d, offset 0xcb40\n\t0xcb44: 0x6c15f220, 0xcb45: 0x6c20d620,\n\t0xcb4a: 0x6c207620,\n\t0xcb52: 0x6c20dc20,\n\t0xcb56: 0x6c20de20,\n\t0xcb5d: 0x6c00e620, 0xcb5f: 0x6c20e220,\n\t0xcb60: 0x6c05b220, 0xcb61: 0x6c08d220, 0xcb63: 0x6c04d220,\n\t0xcb67: 0x6c018020,\n\t0xcb72: 0x6c15ca20,\n\t0xcb77: 0x6c20e620,\n\t0xcb78: 0x6c20e420, 0xcb79: 0x6c20ea20, 0xcb7a: 0x6c03e620,\n\t0xcb7d: 0x6c04d420, 0xcb7e: 0x6c032c20,\n\t// Block 0x32e, offset 0xcb80\n\t0xcb83: 0x6c20f020,\n\t0xcb87: 0x6c20ee20,\n\t0xcb89: 0x6c20f220,\n\t0xcb8c: 0x6c01d420, 0xcb8e: 0x6c0e2220,\n\t0xcb90: 0x6c20f420, 0xcb93: 0x6c032e20,\n\t0xcb94: 0x6c20f820,\n\t0xcb99: 0x6c20f620, 0xcb9b: 0x6c20fa20,\n\t0xcb9f: 0x6c20fc20,\n\t0xcba1: 0x6c20fe20, 0xcba2: 0x6c089220, 0xcba3: 0x6c0bea20,\n\t0xcba4: 0x6c075a20, 0xcba6: 0x6c12fc20,\n\t0xcba9: 0x6c139c20, 0xcbaa: 0x6c170c20,\n\t0xcbaf: 0x6c08be20,\n\t0xcbb3: 0x6c07b820,\n\t0xcbb4: 0x6c16ac20,\n\t0xcbb8: 0x6c210020, 0xcbb9: 0x6c210220, 0xcbbb: 0x6c089420,\n\t0xcbbf: 0x6c210420,\n\t// Block 0x32f, offset 0xcbc0\n\t0xcbc0: 0x6c210620, 0xcbc3: 0x6c210a20,\n\t0xcbc4: 0x6c210820, 0xcbc6: 0x6c144420,\n\t0xcbc9: 0x6c0a0820, 0xcbca: 0x6c096820, 0xcbcb: 0x6c085c20,\n\t0xcbcd: 0x6c210c20,\n\t0xcbd5: 0x6c211020, 0xcbd6: 0x6c0b0a20,\n\t0xcbd8: 0x6c210e20,\n\t0xcbde: 0x6c211220,\n\t0xcbe4: 0x6c211420,\n\t0xcbea: 0x6c211620, 0xcbeb: 0x6c211820,\n\t0xcbef: 0x6c211a20,\n\t0xcbf1: 0x6c211e20, 0xcbf2: 0x6c211c20, 0xcbf3: 0x6c212020,\n\t0xcbf4: 0x6c018220, 0xcbf5: 0x6c0e4820, 0xcbf7: 0x6c212220,\n\t0xcbfa: 0x6c082020, 0xcbfb: 0x6c028c20,\n\t0xcbfc: 0x6c212420, 0xcbff: 0x6c0fb020,\n\t// Block 0x330, offset 0xcc00\n\t0xcc00: 0x6c1a7220,\n\t0xcc05: 0x6c03b220, 0xcc06: 0x6c212620,\n\t0xcc0b: 0x6c212820,\n\t0xcc0d: 0x6c13b020, 0xcc0e: 0x6c146420,\n\t0xcc12: 0x6c107620, 0xcc13: 0x6c212a20,\n\t0xcc14: 0x6c122c20,\n\t0xcc18: 0x6c125620, 0xcc1b: 0x6c14f620,\n\t0xcc1f: 0x6c212c20,\n\t0xcc2b: 0x6c213020,\n\t0xcc2c: 0x6c212e20, 0xcc2f: 0x6c213420,\n\t0xcc33: 0x6c213220,\n\t// Block 0x331, offset 0xcc40\n\t0xcc48: 0x6c213820,\n\t0xcc4f: 0x6c089620,\n\t0xcc51: 0x6c14b220, 0xcc53: 0x6c213a20,\n\t0xcc54: 0x6c213c20, 0xcc57: 0x6c03b420,\n\t0xcc5b: 0x6c213e20,\n\t0xcc63: 0x6c214220,\n\t0xcc64: 0x6c214020,\n\t0xcc74: 0x6c0b8e20, 0xcc77: 0x6c128e20,\n\t0xcc78: 0x6c011020,\n\t0xcc7e: 0x6c11ea20,\n\t// Block 0x332, offset 0xcc80\n\t0xcc80: 0x6c0f5a20, 0xcc81: 0x6c09ce20, 0xcc82: 0x6c042e20,\n\t0xcc8e: 0x6c11ec20,\n\t0xcc90: 0x6c08ec20,\n\t0xcc95: 0x6c214620, 0xcc97: 0x6c033020,\n\t0xcc9a: 0x6c016c20,\n\t0xcc9d: 0x6c10cc20, 0xcc9e: 0x6c214420, 0xcc9f: 0x6c06d820,\n\t0xcca0: 0x6c0e5a20, 0xcca2: 0x6c214820,\n\t0xcca8: 0x6c215820, 0xccaa: 0x6c214a20,\n\t0xccb0: 0x6c0d7a20, 0xccb2: 0x6c043020, 0xccb3: 0x6c215a20,\n\t0xccba: 0x6c05b420,\n\t0xccbd: 0x6c03b620, 0xccbe: 0x6c215620,\n\t// Block 0x333, offset 0xccc0\n\t0xccc1: 0x6c215220, 0xccc2: 0x6c214c20, 0xccc3: 0x6c15cc20,\n\t0xccc8: 0x6c0ef020,\n\t0xcccc: 0x6c109a20, 0xcccd: 0x6c214e20,\n\t0xccd0: 0x6c215e20, 0xccd2: 0x6c215c20, 0xccd3: 0x6c052a20,\n\t0xccd6: 0x6c019220,\n\t0xccd9: 0x6c078e20, 0xccda: 0x6c215020, 0xccdb: 0x6c215420,\n\t0xcce1: 0x6c144220, 0xcce2: 0x6c0de020,\n\t0xcceb: 0x6c148220,\n\t0xccee: 0x6c216e20,\n\t0xccf1: 0x6c217020, 0xccf3: 0x6c01d620,\n\t0xccf8: 0x6c132820, 0xccf9: 0x6c154a20, 0xccfa: 0x6c217420, 0xccfb: 0x6c08d620,\n\t0xccfc: 0x6c0a8c20, 0xccfd: 0x6c216620, 0xccfe: 0x6c217220, 0xccff: 0x6c014c20,\n\t// Block 0x334, offset 0xcd00\n\t0xcd01: 0x6c049620,\n\t0xcd04: 0x6c216020, 0xcd05: 0x6c216a20,\n\t0xcd09: 0x6c0c6820, 0xcd0a: 0x6c118620,\n\t0xcd0c: 0x6c122e20,\n\t0xcd13: 0x6c216420,\n\t0xcd15: 0x6c13d620, 0xcd17: 0x6c216820,\n\t0xcd19: 0x6c217a20, 0xcd1b: 0x6c217620,\n\t0xcd1d: 0x6c216c20,\n\t0xcd21: 0x6c13d820, 0xcd22: 0x6c113420, 0xcd23: 0x6c043220,\n\t0xcd25: 0x6c0f7620,\n\t0xcd28: 0x6c0e8e20, 0xcd2a: 0x6c217c20,\n\t0xcd2f: 0x6c217820,\n\t0xcd30: 0x6c0daa20, 0xcd31: 0x6c216220, 0xcd33: 0x6c011220,\n\t// Block 0x335, offset 0xcd40\n\t0xcd4b: 0x6c15a820,\n\t0xcd4c: 0x6c219220,\n\t0xcd52: 0x6c219020,\n\t0xcd57: 0x6c0c6c20,\n\t0xcd59: 0x6c218a20, 0xcd5b: 0x6c15e420,\n\t0xcd5e: 0x6c105420, 0xcd5f: 0x6c217e20,\n\t0xcd65: 0x6c0efa20,\n\t0xcd69: 0x6c011420, 0xcd6a: 0x6c06da20, 0xcd6b: 0x6c218420,\n\t0xcd72: 0x6c099a20, 0xcd73: 0x6c218e20,\n\t0xcd75: 0x6c218c20, 0xcd76: 0x6c218220,\n\t0xcd78: 0x6c218820, 0xcd7b: 0x6c02c420,\n\t0xcd7d: 0x6c218620, 0xcd7e: 0x6c113620,\n\t// Block 0x336, offset 0xcd80\n\t0xcd81: 0x6c162420,\n\t0xcd84: 0x6c0af020, 0xcd85: 0x6c0c6a20,\n\t0xcd99: 0x6c219e20, 0xcd9a: 0x6c219a20,\n\t0xcd9c: 0x6c12b620,\n\t0xcda3: 0x6c219420,\n\t0xcda4: 0x6c219820, 0xcda6: 0x6c00f020,\n\t0xcda9: 0x6c06dc20, 0xcdaa: 0x6c16e820,\n\t0xcdac: 0x6c026e20, 0xcdae: 0x6c12e020,\n\t0xcdb4: 0x6c15ce20, 0xcdb7: 0x6c023c20,\n\t0xcdb8: 0x6c0b3a20, 0xcdb9: 0x6c219c20,\n\t// Block 0x337, offset 0xcdc0\n\t0xcdc5: 0x6c21a620,\n\t0xcdc8: 0x6c0a8e20,\n\t0xcdcc: 0x6c156c20, 0xcdce: 0x6c21a020,\n\t0xcdd3: 0x6c219620,\n\t0xcdd5: 0x6c21a220,\n\t0xcdd9: 0x6c168420, 0xcddb: 0x6c101220,\n\t0xcddc: 0x6c106c20,\n\t0xcdef: 0x6c026020,\n\t0xcdf2: 0x6c012620,\n\t0xcdf5: 0x6c21ae20,\n\t0xcdf8: 0x6c21b420,\n\t0xcdfc: 0x6c164e20,\n\t// Block 0x338, offset 0xce00\n\t0xce00: 0x6c15d420,\n\t0xce05: 0x6c21c220, 0xce06: 0x6c21b620, 0xce07: 0x6c21b020,\n\t0xce0b: 0x6c167020,\n\t0xce0c: 0x6c21bc20,\n\t0xce11: 0x6c09e020, 0xce12: 0x6c21c020,\n\t0xce15: 0x6c21ca20,\n\t0xce18: 0x6c100e20, 0xce19: 0x6c21c620,\n\t0xce1e: 0x6c21ba20,\n\t0xce21: 0x6c0e2420,\n\t0xce24: 0x6c21c820, 0xce26: 0x6c21b220,\n\t0xce28: 0x6c21be20, 0xce2a: 0x6c21cc20, 0xce2b: 0x6c00b820,\n\t0xce2c: 0x6c21b820, 0xce2e: 0x6c21ce20,\n\t0xce31: 0x6c0b3c20, 0xce33: 0x6c0a0a20,\n\t0xce35: 0x6c132220, 0xce37: 0x6c077420,\n\t0xce39: 0x6c21a820, 0xce3a: 0x6c21c420, 0xce3b: 0x6c0fa020,\n\t// Block 0x339, offset 0xce40\n\t0xce45: 0x6c0bec20, 0xce47: 0x6c02c620,\n\t0xce48: 0x6c07ba20, 0xce49: 0x6c0a9020, 0xce4a: 0x6c21ac20, 0xce4b: 0x6c09d020,\n\t0xce53: 0x6c057c20,\n\t0xce55: 0x6c21aa20,\n\t0xce59: 0x6c21d620, 0xce5a: 0x6c0a2620, 0xce5b: 0x6c061420,\n\t0xce5d: 0x6c21f420, 0xce5f: 0x6c21e820,\n\t0xce60: 0x6c045420, 0xce61: 0x6c0fca20, 0xce63: 0x6c21de20,\n\t0xce64: 0x6c21f020, 0xce65: 0x6c001e20, 0xce66: 0x6c00e020,\n\t0xce69: 0x6c01aa20, 0xce6b: 0x6c21e220,\n\t0xce6c: 0x6c0d5020, 0xce6d: 0x6c21d020, 0xce6e: 0x6c21d420, 0xce6f: 0x6c06de20,\n\t0xce78: 0x6c21f620, 0xce7a: 0x6c21ec20,\n\t0xce7e: 0x6c21dc20,\n\t// Block 0x33a, offset 0xce80\n\t0xce83: 0x6c21ea20,\n\t0xce8a: 0x6c14a620,\n\t0xce8d: 0x6c21e620, 0xce8e: 0x6c21ee20,\n\t0xce96: 0x6c064020,\n\t0xce98: 0x6c0a9220, 0xce9b: 0x6c0e2620,\n\t0xce9f: 0x6c21da20,\n\t0xcea7: 0x6c156a20,\n\t0xceab: 0x6c21e020,\n\t0xceae: 0x6c21d220, 0xceaf: 0x6c101020,\n\t0xceb2: 0x6c21d820,\n\t0xceb6: 0x6c21e420,\n\t0xcebe: 0x6c172620, 0xcebf: 0x6c090c20,\n\t// Block 0x33b, offset 0xcec0\n\t0xcec0: 0x6c149020, 0xcec2: 0x6c21f820,\n\t0xcecc: 0x6c11bc20, 0xcecf: 0x6c221020,\n\t0xced0: 0x6c061620,\n\t0xced6: 0x6c0a0c20,\n\t0xced8: 0x6c21fc20,\n\t0xcedc: 0x6c162620, 0xcedd: 0x6c06e020, 0xcedf: 0x6c221620,\n\t0xcee2: 0x6c009c20,\n\t0xcee5: 0x6c221220,\n\t0xceea: 0x6c21fa20,\n\t0xceef: 0x6c220620,\n\t0xcef2: 0x6c220a20,\n\t0xcef6: 0x6c15aa20, 0xcef7: 0x6c220020,\n\t0xcefa: 0x6c0f8820,\n\t0xcefd: 0x6c220420,\n\t// Block 0x33c, offset 0xcf00\n\t0xcf02: 0x6c221420,\n\t0xcf04: 0x6c220820, 0xcf05: 0x6c14de20,\n\t0xcf09: 0x6c21fe20, 0xcf0b: 0x6c08d420,\n\t0xcf0c: 0x6c222e20,\n\t0xcf11: 0x6c02c820, 0xcf13: 0x6c220220,\n\t0xcf14: 0x6c220c20, 0xcf15: 0x6c220e20,\n\t0xcf1d: 0x6c0dd020, 0xcf1e: 0x6c0dac20,\n\t0xcf2c: 0x6c221e20, 0xcf2f: 0x6c222a20,\n\t0xcf32: 0x6c222620,\n\t0xcf34: 0x6c0f7e20, 0xcf37: 0x6c223420,\n\t0xcf38: 0x6c222020,\n\t0xcf3e: 0x6c222220, 0xcf3f: 0x6c21f220,\n\t// Block 0x33d, offset 0xcf40\n\t0xcf41: 0x6c045e20, 0xcf42: 0x6c129020,\n\t0xcf46: 0x6c090e20,\n\t0xcf49: 0x6c074a20,\n\t0xcf4f: 0x6c16ea20,\n\t0xcf51: 0x6c221a20, 0xcf53: 0x6c223220,\n\t0xcf54: 0x6c014e20, 0xcf55: 0x6c0d0820,\n\t0xcf60: 0x6c119620, 0xcf62: 0x6c033220, 0xcf63: 0x6c16bc20,\n\t0xcf6b: 0x6c149220,\n\t0xcf6c: 0x6c0f1420,\n\t0xcf71: 0x6c222820, 0xcf72: 0x6c222c20,\n\t0xcf78: 0x6c0ca020,\n\t0xcf7e: 0x6c223020, 0xcf7f: 0x6c222420,\n\t// Block 0x33e, offset 0xcf80\n\t0xcf81: 0x6c221820,\n\t0xcf85: 0x6c033620,\n\t0xcf94: 0x6c05b620,\n\t0xcf98: 0x6c224c20, 0xcf9b: 0x6c224220,\n\t0xcf9c: 0x6c0c7020, 0xcf9f: 0x6c02ba20,\n\t0xcfa4: 0x6c0a0e20, 0xcfa6: 0x6c225420,\n\t0xcfad: 0x6c224620, 0xcfae: 0x6c0ec820, 0xcfaf: 0x6c224020,\n\t0xcfb0: 0x6c0f2220,\n\t0xcfb4: 0x6c228620,\n\t0xcfb8: 0x6c223a20, 0xcfba: 0x6c223820,\n\t0xcfbc: 0x6c224a20,\n\t// Block 0x33f, offset 0xcfc0\n\t0xcfc0: 0x6c223e20, 0xcfc1: 0x6c223c20, 0xcfc2: 0x6c224820,\n\t0xcfc4: 0x6c0bc220, 0xcfc6: 0x6c223620,\n\t0xcfce: 0x6c224e20,\n\t0xcfd1: 0x6c225020,\n\t0xcfd7: 0x6c033420,\n\t0xcfe1: 0x6c225a20, 0xcfe3: 0x6c225820,\n\t0xcfe4: 0x6c225c20,\n\t0xcfea: 0x6c226220,\n\t0xcff1: 0x6c0fb220, 0xcff3: 0x6c225620,\n\t0xcff9: 0x6c225e20,\n\t// Block 0x340, offset 0xd000\n\t0xd000: 0x6c05aa20, 0xd001: 0x6c0dea20, 0xd002: 0x6c225220, 0xd003: 0x6c111a20,\n\t0xd006: 0x6c226020,\n\t0xd014: 0x6c226a20, 0xd015: 0x6c226620,\n\t0xd018: 0x6c226c20, 0xd01b: 0x6c227220,\n\t0xd01f: 0x6c226420,\n\t0xd020: 0x6c073020, 0xd021: 0x6c10f420,\n\t0xd024: 0x6c21a420,\n\t0xd02b: 0x6c15f420,\n\t0xd02c: 0x6c226820, 0xd02e: 0x6c227020, 0xd02f: 0x6c0de220,\n\t0xd031: 0x6c226e20, 0xd033: 0x6c224420,\n\t0xd036: 0x6c2e8020,\n\t0xd03a: 0x6c227820,\n\t0xd03e: 0x6c228020,\n\t// Block 0x341, offset 0xd040\n\t0xd041: 0x6c227c20,\n\t0xd049: 0x6c227420, 0xd04b: 0x6c227620,\n\t0xd04f: 0x6c227e20,\n\t0xd051: 0x6c227a20,\n\t0xd055: 0x6c12b820,\n\t0xd058: 0x6c228a20, 0xd05a: 0x6c228420, 0xd05b: 0x6c228220,\n\t0xd05d: 0x6c228820, 0xd05e: 0x6c109020, 0xd05f: 0x6c228c20,\n\t0xd066: 0x6c0e9e20, 0xd067: 0x6c0dd220,\n\t0xd06c: 0x6c0bca20,\n\t0xd070: 0x6c228e20, 0xd072: 0x6c229220,\n\t0xd07e: 0x6c229020,\n\t// Block 0x342, offset 0xd080\n\t0xd08c: 0x6c221c20,\n\t0xd091: 0x6c229420,\n\t0xd098: 0x6c10b620,\n\t0xd0a3: 0x6c229620,\n\t0xd0ab: 0x6c01d820,\n\t0xd0af: 0x6c101420,\n\t0xd0b0: 0x6c023e20,\n\t0xd0b8: 0x6c043420,\n\t0xd0bc: 0x6c094c20, 0xd0bd: 0x6c07bc20,\n\t// Block 0x343, offset 0xd0c0\n\t0xd0c9: 0x6c16d220, 0xd0ca: 0x6c0b9020,\n\t0xd0ce: 0x6c015020,\n\t0xd0d2: 0x6c229a20,\n\t0xd0d9: 0x6c229820,\n\t0xd0ec: 0x6c22a020, 0xd0ed: 0x6c0e2820, 0xd0ee: 0x6c22a620, 0xd0ef: 0x6c229c20,\n\t0xd0f3: 0x6c22a420,\n\t0xd0f8: 0x6c22a220, 0xd0f9: 0x6c0fac20, 0xd0fa: 0x6c007220,\n\t// Block 0x344, offset 0xd100\n\t0xd108: 0x6c16b220, 0xd10b: 0x6c22aa20,\n\t0xd10f: 0x6c00cc20,\n\t0xd119: 0x6c22ae20,\n\t0xd11d: 0x6c22ac20, 0xd11f: 0x6c22a820,\n\t0xd131: 0x6c229e20,\n\t0xd139: 0x6c13da20,\n\t0xd13d: 0x6c22b220,\n\t// Block 0x345, offset 0xd140\n\t0xd149: 0x6c22b020,\n\t0xd154: 0x6c015220,\n\t0xd159: 0x6c22b620, 0xd15a: 0x6c133c20,\n\t0xd15c: 0x6c22b420,\n\t0xd161: 0x6c14ba20,\n\t0xd166: 0x6c0a9620,\n\t0xd176: 0x6c0ca220,\n\t0xd17c: 0x6c0a9420,\n\t// Block 0x346, offset 0xd180\n\t0xd189: 0x6c16be20,\n\t0xd18c: 0x6c22c220, 0xd18e: 0x6c0c7220,\n\t0xd195: 0x6c22ba20, 0xd196: 0x6c22c420,\n\t0xd199: 0x6c015420,\n\t0xd1a2: 0x6c22c020,\n\t0xd1a4: 0x6c116620, 0xd1a5: 0x6c22b820, 0xd1a6: 0x6c22be20, 0xd1a7: 0x6c0a9820,\n\t0xd1a9: 0x6c120220,\n\t0xd1ac: 0x6c22c620, 0xd1ae: 0x6c093220,\n\t0xd1bd: 0x6c0c7420,\n\t// Block 0x347, offset 0xd1c0\n\t0xd1c4: 0x6c22cc20,\n\t0xd1c8: 0x6c22bc20, 0xd1ca: 0x6c053220,\n\t0xd1cf: 0x6c22c820,\n\t0xd1d4: 0x6c15ac20, 0xd1d5: 0x6c22ce20,\n\t0xd1d9: 0x6c31a620,\n\t0xd1df: 0x6c09ea20,\n\t0xd1e8: 0x6c22d020,\n\t0xd1ec: 0x6c22d220,\n\t0xd1f1: 0x6c110020,\n\t0xd1f9: 0x6c22d620,\n\t0xd1fe: 0x6c22d820,\n\t// Block 0x348, offset 0xd200\n\t0xd203: 0x6c110a20,\n\t0xd208: 0x6c101620, 0xd209: 0x6c22dc20,\n\t0xd20e: 0x6c22e020,\n\t0xd210: 0x6c167220, 0xd212: 0x6c22da20,\n\t0xd214: 0x6c22de20, 0xd215: 0x6c015620, 0xd217: 0x6c22d420,\n\t0xd21f: 0x6c19d420,\n\t0xd220: 0x6c22e220,\n\t0xd225: 0x6c0d0a20, 0xd226: 0x6c084420, 0xd227: 0x6c22e620,\n\t0xd22c: 0x6c22e420, 0xd22d: 0x6c0b0c20, 0xd22e: 0x6c191420,\n\t0xd235: 0x6c22e820,\n\t0xd239: 0x6c22ec20, 0xd23b: 0x6c22ca20,\n\t0xd23c: 0x6c22ea20, 0xd23f: 0x6c22ee20,\n\t// Block 0x349, offset 0xd240\n\t0xd246: 0x6c119820,\n\t0xd24d: 0x6c22f020,\n\t0xd250: 0x6c22f220,\n\t0xd25b: 0x6c22f420,\n\t0xd268: 0x6c22f620, 0xd26a: 0x6c0f2c20,\n\t0xd26c: 0x6c22fa20, 0xd26d: 0x6c22f820,\n\t0xd270: 0x6c22fc20, 0xd272: 0x6c22fe20,\n\t0xd275: 0x6c094e20, 0xd276: 0x6c12e220,\n\t0xd27a: 0x6c152820, 0xd27b: 0x6c230020,\n\t0xd27c: 0x6c230220, 0xd27d: 0x6c0ce820, 0xd27e: 0x6c08d820, 0xd27f: 0x6c230420,\n\t// Block 0x34a, offset 0xd280\n\t0xd280: 0x6c230620,\n\t0xd286: 0x6c230820, 0xd287: 0x6c137c20,\n\t0xd288: 0x6c11ee20, 0xd28b: 0x6c230a20,\n\t0xd28c: 0x6c115220,\n\t0xd292: 0x6c0eca20,\n\t0xd298: 0x6c230c20, 0xd299: 0x6c020620, 0xd29b: 0x6c044620,\n\t0xd29d: 0x6c14dc20, 0xd29f: 0x6c14bc20,\n\t0xd2a1: 0x6c01a020, 0xd2a2: 0x6c16ec20,\n\t0xd2a7: 0x6c143820,\n\t0xd2a9: 0x6c132c20,\n\t0xd2b2: 0x6c0bee20,\n\t0xd2b4: 0x6c230e20,\n\t0xd2b9: 0x6c106e20,\n\t0xd2bd: 0x6c05e620, 0xd2be: 0x6c231020,\n\t// Block 0x34b, offset 0xd2c0\n\t0xd2c0: 0x6c07c020, 0xd2c1: 0x6c231420, 0xd2c2: 0x6c231220,\n\t0xd2c7: 0x6c231620,\n\t0xd2d2: 0x6c231820,\n\t0xd2d6: 0x6c231a20,\n\t0xd2e0: 0x6c03e820, 0xd2e2: 0x6c231c20,\n\t0xd2e7: 0x6c231e20,\n\t0xd2ec: 0x6c05e820, 0xd2ef: 0x6c11f020,\n\t0xd2f2: 0x6c232220,\n\t0xd2f6: 0x6c0af220,\n\t0xd2f9: 0x6c232020,\n\t// Block 0x34c, offset 0xd300\n\t0xd302: 0x6c049820, 0xd303: 0x6c232420,\n\t0xd304: 0x6c232820, 0xd306: 0x6c232620,\n\t0xd30e: 0x6c232a20,\n\t0xd310: 0x6c064220, 0xd312: 0x6c232c20,\n\t0xd317: 0x6c04fa20,\n\t0xd319: 0x6c0cbc20, 0xd31b: 0x6c075620,\n\t0xd320: 0x6c233020, 0xd321: 0x6c233220, 0xd322: 0x6c232e20,\n\t0xd329: 0x6c096a20,\n\t0xd32c: 0x6c107820, 0xd32d: 0x6c049a20,\n\t0xd337: 0x6c233620,\n\t0xd338: 0x6c0e0c20, 0xd339: 0x6c233420,\n\t0xd33c: 0x6c16ee20, 0xd33d: 0x6c116820,\n\t// Block 0x34d, offset 0xd340\n\t0xd34a: 0x6c233c20,\n\t0xd356: 0x6c234020, 0xd357: 0x6c233a20,\n\t0xd35b: 0x6c14f820,\n\t0xd35c: 0x6c233e20, 0xd35d: 0x6c234220, 0xd35f: 0x6c165020,\n\t0xd365: 0x6c234a20,\n\t0xd369: 0x6c234820, 0xd36a: 0x6c0ea020, 0xd36b: 0x6c10fe20,\n\t0xd36e: 0x6c05ea20, 0xd36f: 0x6c234620,\n\t0xd374: 0x6c234420, 0xd376: 0x6c156e20, 0xd377: 0x6c157020,\n\t0xd37e: 0x6c234c20, 0xd37f: 0x6c015820,\n\t// Block 0x34e, offset 0xd380\n\t0xd384: 0x6c074820, 0xd385: 0x6c089820,\n\t0xd38e: 0x6c234e20, 0xd38f: 0x6c235020,\n\t0xd397: 0x6c235420,\n\t0xd3a3: 0x6c09d220,\n\t0xd3a8: 0x6c235820, 0xd3aa: 0x6c235620,\n\t0xd3b0: 0x6c235a20, 0xd3b2: 0x6c028e20,\n\t0xd3b5: 0x6c235e20,\n\t0xd3b8: 0x6c235c20, 0xd3ba: 0x6c236220, 0xd3bb: 0x6c236020,\n\t// Block 0x34f, offset 0xd3c0\n\t0xd3c4: 0x6c061820, 0xd3c7: 0x6c161820,\n\t0xd3c9: 0x6c04c020, 0xd3cb: 0x6c018420,\n\t0xd3d6: 0x6c04fc20,\n\t0xd3e9: 0x6c037220,\n\t0xd3f2: 0x6c169820, 0xd3f3: 0x6c236620,\n\t0xd3fb: 0x6c236a20,\n\t// Block 0x350, offset 0xd400\n\t0xd400: 0x6c236c20, 0xd402: 0x6c01da20,\n\t0xd408: 0x6c236420, 0xd40a: 0x6c084620,\n\t0xd40d: 0x6c0ef220, 0xd40e: 0x6c236820,\n\t0xd41e: 0x6c237220,\n\t0xd420: 0x6c096c20,\n\t0xd425: 0x6c236e20,\n\t0xd42a: 0x6c056020,\n\t0xd42d: 0x6c11f220, 0xd42e: 0x6c237020,\n\t0xd431: 0x6c23a620,\n\t0xd438: 0x6c237c20,\n\t0xd43e: 0x6c061a20,\n\t// Block 0x351, offset 0xd440\n\t0xd443: 0x6c043620,\n\t0xd445: 0x6c237620, 0xd446: 0x6c160620,\n\t0xd449: 0x6c162820,\n\t0xd462: 0x6c0de420,\n\t0xd465: 0x6c237a20,\n\t0xd472: 0x6c237e20, 0xd473: 0x6c167420,\n\t0xd474: 0x6c04d620, 0xd475: 0x6c125820, 0xd476: 0x6c113820,\n\t0xd47a: 0x6c238020,\n\t0xd47f: 0x6c238420,\n\t// Block 0x352, offset 0xd480\n\t0xd481: 0x6c238a20,\n\t0xd495: 0x6c238220,\n\t0xd499: 0x6c238820, 0xd49a: 0x6c067420, 0xd49b: 0x6c011620,\n\t0xd49c: 0x6c238c20, 0xd49e: 0x6c0ba420, 0xd49f: 0x6c238620,\n\t0xd4a0: 0x6c168020, 0xd4a3: 0x6c239220,\n\t0xd4a4: 0x6c31a220,\n\t0xd4a9: 0x6c238e20, 0xd4aa: 0x6c239420,\n\t0xd4af: 0x6c237820,\n\t0xd4b0: 0x6c239020, 0xd4b3: 0x6c079020,\n\t0xd4b6: 0x6c239620,\n\t0xd4be: 0x6c239820,\n\t// Block 0x353, offset 0xd4c0\n\t0xd4c3: 0x6c160820,\n\t0xd4cb: 0x6c239a20,\n\t0xd4de: 0x6c239c20,\n\t0xd4e2: 0x6c237420,\n\t0xd4e7: 0x6c239e20,\n\t0xd4f0: 0x6c033820,\n\t0xd4fd: 0x6c08da20,\n\t// Block 0x354, offset 0xd500\n\t0xd50a: 0x6c23a020,\n\t0xd50f: 0x6c23a220,\n\t0xd514: 0x6c23a420,\n\t0xd51c: 0x6c00f220,\n\t0xd520: 0x6c23a820, 0xd522: 0x6c129220, 0xd523: 0x6c23aa20,\n\t0xd526: 0x6c02f820, 0xd527: 0x6c23ac20,\n\t0xd529: 0x6c23ae20,\n\t0xd52e: 0x6c23b020,\n\t0xd530: 0x6c23b420, 0xd531: 0x6c23b620, 0xd532: 0x6c23b220,\n\t0xd536: 0x6c12c220, 0xd537: 0x6c23ba20,\n\t0xd538: 0x6c23b820,\n\t// Block 0x355, offset 0xd540\n\t0xd543: 0x6c23be20,\n\t0xd544: 0x6c23bc20, 0xd545: 0x6c23c020,\n\t0xd54c: 0x6c23c220, 0xd54d: 0x6c23c620, 0xd54e: 0x6c23c420,\n\t0xd551: 0x6c074e20, 0xd553: 0x6c23ca20,\n\t0xd555: 0x6c23c820,\n\t0xd558: 0x6c033a20, 0xd55a: 0x6c0b6a20,\n\t0xd55c: 0x6c0fa420, 0xd55e: 0x6c23cc20, 0xd55f: 0x6c0bf020,\n\t0xd563: 0x6c084820,\n\t0xd565: 0x6c016e20, 0xd566: 0x6c23ce20,\n\t0xd568: 0x6c15ae20, 0xd56b: 0x6c139e20,\n\t0xd56c: 0x6c23d020,\n\t0xd570: 0x6c0fb420, 0xd571: 0x6c157220, 0xd572: 0x6c06e220, 0xd573: 0x6c0b3e20,\n\t0xd577: 0x6c0e4a20,\n\t0xd578: 0x6c18ca20, 0xd57a: 0x6c0ecc20, 0xd57b: 0x6c020820,\n\t0xd57c: 0x6c23d220,\n\t// Block 0x356, offset 0xd580\n\t0xd584: 0x6c23d420, 0xd586: 0x6c23de20,\n\t0xd589: 0x6c23da20, 0xd58a: 0x6c23d820, 0xd58b: 0x6c1ec620,\n\t0xd58c: 0x6c024020, 0xd58d: 0x6c23d620, 0xd58f: 0x6c007420,\n\t0xd591: 0x6c11b420,\n\t0xd594: 0x6c11f420,\n\t0xd599: 0x6c162a20, 0xd59a: 0x6c23e020, 0xd59b: 0x6c23dc20,\n\t0xd59c: 0x6c0e6c20, 0xd59d: 0x6c0bcc20,\n\t0xd5a0: 0x6c11b620, 0xd5a2: 0x6c127620,\n\t0xd5a4: 0x6c23e420, 0xd5a5: 0x6c162020, 0xd5a6: 0x6c057e20, 0xd5a7: 0x6c23e620,\n\t0xd5a9: 0x6c23e220, 0xd5aa: 0x6c120c20, 0xd5ab: 0x6c23e820,\n\t0xd5ad: 0x6c23ea20,\n\t0xd5b0: 0x6c007620, 0xd5b3: 0x6c0af420,\n\t0xd5b4: 0x6c23f420, 0xd5b6: 0x6c23ee20, 0xd5b7: 0x6c10c220,\n\t0xd5b8: 0x6c23ec20,\n\t0xd5bf: 0x6c03b820,\n\t// Block 0x357, offset 0xd5c0\n\t0xd5c2: 0x6c23fa20,\n\t0xd5c6: 0x6c23f020, 0xd5c7: 0x6c23f220,\n\t0xd5c9: 0x6c23f820, 0xd5ca: 0x6c23f620, 0xd5cb: 0x6c126620,\n\t0xd5ce: 0x6c0cc020, 0xd5cf: 0x6c0cbe20,\n\t0xd5d1: 0x6c03ea20,\n\t0xd5d4: 0x6c23fc20,\n\t0xd5da: 0x6c23fe20,\n\t0xd5dd: 0x6c240020,\n\t0xd5e3: 0x6c240420,\n\t0xd5e5: 0x6c240220,\n\t0xd5eb: 0x6c012820,\n\t0xd5f1: 0x6c241420, 0xd5f2: 0x6c123020, 0xd5f3: 0x6c240820,\n\t0xd5f5: 0x6c240c20,\n\t0xd5f8: 0x6c241020, 0xd5f9: 0x6c0b4020,\n\t0xd5fc: 0x6c241220, 0xd5fd: 0x6c240e20, 0xd5fe: 0x6c091020,\n\t// Block 0x358, offset 0xd600\n\t0xd602: 0x6c240620, 0xd603: 0x6c240a20,\n\t0xd605: 0x6c12a020, 0xd607: 0x6c0a9a20,\n\t0xd60a: 0x6c241820,\n\t0xd60d: 0x6c241620,\n\t0xd612: 0x6c241a20,\n\t0xd614: 0x6c08dc20, 0xd615: 0x6c077620,\n\t0xd618: 0x6c101a20, 0xd619: 0x6c241c20, 0xd61b: 0x6c0f0620,\n\t0xd61e: 0x6c242020,\n\t0xd622: 0x6c160a20, 0xd623: 0x6c241e20,\n\t0xd629: 0x6c0d0e20,\n\t0xd630: 0x6c242a20, 0xd632: 0x6c242e20, 0xd633: 0x6c243020,\n\t0xd634: 0x6c0e5c20,\n\t0xd63a: 0x6c242c20,\n\t0xd63c: 0x6c242620, 0xd63e: 0x6c242220, 0xd63f: 0x6c242420,\n\t// Block 0x359, offset 0xd640\n\t0xd641: 0x6c242820,\n\t0xd649: 0x6c243620, 0xd64b: 0x6c243220,\n\t0xd64d: 0x6c243420,\n\t0xd65f: 0x6c243820,\n\t0xd660: 0x6c243c20, 0xd661: 0x6c243e20, 0xd662: 0x6c244020,\n\t0xd664: 0x6c244220, 0xd667: 0x6c243a20,\n\t0xd670: 0x6c244620,\n\t0xd674: 0x6c244420,\n\t0xd67b: 0x6c244820,\n\t// Block 0x35a, offset 0xd680\n\t0xd682: 0x6c165220,\n\t0xd686: 0x6c244e20, 0xd687: 0x6c244a20,\n\t0xd688: 0x6c244c20,\n\t0xd68c: 0x6c037420,\n\t0xd692: 0x6c154c20,\n\t0xd696: 0x6c136c20,\n\t0xd698: 0x6c245220,\n\t0xd69c: 0x6c245020,\n\t0xd6a1: 0x6c245420, 0xd6a2: 0x6c245620,\n\t0xd6a7: 0x6c245e20,\n\t0xd6a8: 0x6c245820, 0xd6a9: 0x6c245a20, 0xd6aa: 0x6c245c20,\n\t0xd6ac: 0x6c246020,\n\t0xd6b0: 0x6c246220, 0xd6b2: 0x6c246420,\n\t0xd6b6: 0x6c246620,\n\t0xd6b8: 0x6c246820, 0xd6ba: 0x6c11be20, 0xd6bb: 0x6c0fcc20,\n\t0xd6bc: 0x6c246a20, 0xd6bd: 0x6c118820, 0xd6be: 0x6c128420,\n\t// Block 0x35b, offset 0xd6c0\n\t0xd6c0: 0x6c246c20, 0xd6c3: 0x6c246e20,\n\t0xd6c4: 0x6c0f8020, 0xd6c6: 0x6c024220, 0xd6c7: 0x6c06e420,\n\t0xd6c8: 0x6c247020, 0xd6cb: 0x6c247220,\n\t0xd6ce: 0x6c247420,\n\t0xd6d0: 0x6c082620, 0xd6d3: 0x6c247820,\n\t0xd6d6: 0x6c247620,\n\t0xd6d9: 0x6c247a20, 0xd6da: 0x6c247c20,\n\t0xd6ee: 0x6c123220,\n\t0xd6f0: 0x6c247e20,\n\t0xd6f4: 0x6c248020, 0xd6f7: 0x6c317020,\n\t0xd6f8: 0x6c248220, 0xd6f9: 0x6c248420, 0xd6fa: 0x6c248620,\n\t0xd6ff: 0x6c083020,\n\t// Block 0x35c, offset 0xd700\n\t0xd702: 0x6c248820, 0xd703: 0x6c115020,\n\t0xd706: 0x6c145220,\n\t0xd708: 0x6c011820, 0xd70a: 0x6c012a20,\n\t0xd70d: 0x6c248a20,\n\t0xd712: 0x6c248e20,\n\t0xd716: 0x6c248c20, 0xd717: 0x6c100c20,\n\t0xd71b: 0x6c0bf220,\n\t0xd71c: 0x6c20e820, 0xd71e: 0x6c249020, 0xd71f: 0x6c14d220,\n\t0xd721: 0x6c249220, 0xd723: 0x6c033c20,\n\t0xd724: 0x6c120e20, 0xd725: 0x6c249420, 0xd727: 0x6c249620,\n\t0xd72a: 0x6c249820,\n\t0xd72e: 0x6c150820,\n\t0xd732: 0x6c14fa20,\n\t0xd734: 0x6c0eec20,\n\t0xd738: 0x6c0d1020, 0xd73b: 0x6c249c20,\n\t0xd73e: 0x6c0a1020,\n\t// Block 0x35d, offset 0xd740\n\t0xd741: 0x6c0a9c20,\n\t0xd744: 0x6c24a220, 0xd747: 0x6c24a020,\n\t0xd748: 0x6c249e20, 0xd749: 0x6c125a20, 0xd74b: 0x6c033e20,\n\t0xd74c: 0x6c05f220,\n\t0xd75b: 0x6c24ae20,\n\t0xd75e: 0x6c24a820, 0xd75f: 0x6c0b4220,\n\t0xd760: 0x6c14b420,\n\t0xd764: 0x6c24a620, 0xd765: 0x6c24aa20, 0xd766: 0x6c24ac20,\n\t0xd769: 0x6c24a420,\n\t0xd777: 0x6c24b020,\n\t0xd778: 0x6c24b220, 0xd77a: 0x6c0ece20,\n\t0xd77c: 0x6c037620,\n\t// Block 0x35e, offset 0xd780\n\t0xd780: 0x6c0e7e20,\n\t0xd787: 0x6c24b420,\n\t0xd79a: 0x6c24b620, 0xd79b: 0x6c24bc20,\n\t0xd7a1: 0x6c0b9220, 0xd7a3: 0x6c107020,\n\t0xd7a5: 0x6c24be20, 0xd7a6: 0x6c143a20,\n\t0xd7a8: 0x6c24b820, 0xd7ab: 0x6c24ba20,\n\t0xd7b9: 0x6c24c420,\n\t0xd7be: 0x6c24c220, 0xd7bf: 0x6c24c020,\n\t// Block 0x35f, offset 0xd7c0\n\t0xd7cb: 0x6c24c820,\n\t0xd7ce: 0x6c24c620,\n\t0xd7d1: 0x6c24ca20,\n\t0xd7de: 0x6c24ce20,\n\t0xd7e0: 0x6c24cc20,\n\t0xd7e5: 0x6c137220,\n\t0xd7ec: 0x6c09f820, 0xd7ed: 0x6c165420,\n\t0xd7f0: 0x6c24d020, 0xd7f3: 0x6c105620,\n\t0xd7f6: 0x6c24d220,\n\t0xd7f9: 0x6c24d420, 0xd7fb: 0x6c24dc20,\n\t0xd7fc: 0x6c24d820, 0xd7fd: 0x6c24da20, 0xd7ff: 0x6c24d620,\n\t// Block 0x360, offset 0xd800\n\t0xd807: 0x6c24de20,\n\t0xd80d: 0x6c24e020,\n\t0xd817: 0x6c24e220,\n\t0xd81a: 0x6c24e420, 0xd81b: 0x6c14be20,\n\t0xd81c: 0x6c24e620,\n\t0xd822: 0x6c153020, 0xd823: 0x6c24e820,\n\t0xd825: 0x6c0e5020, 0xd827: 0x6c117820,\n\t0xd829: 0x6c04fe20,\n\t0xd82d: 0x6c0e2a20, 0xd82e: 0x6c24ea20, 0xd82f: 0x6c049c20,\n\t0xd833: 0x6c0c2020,\n\t0xd83c: 0x6c24ec20,\n\t// Block 0x361, offset 0xd840\n\t0xd842: 0x6c079220,\n\t0xd84c: 0x6c24ee20,\n\t0xd852: 0x6c24f020,\n\t0xd854: 0x6c05ec20, 0xd855: 0x6c07c220,\n\t0xd860: 0x6c24f420,\n\t0xd865: 0x6c0fd820, 0xd866: 0x6c07c420, 0xd867: 0x6c040820,\n\t0xd872: 0x6c13dc20,\n\t0xd874: 0x6c113a20,\n\t0xd87a: 0x6c0fda20,\n\t0xd87f: 0x6c071420,\n\t// Block 0x362, offset 0xd880\n\t0xd885: 0x6c24f820,\n\t0xd89d: 0x6c0a9e20,\n\t0xd8ab: 0x6c162c20,\n\t0xd8ac: 0x6c06e620, 0xd8af: 0x6c05ee20,\n\t0xd8b2: 0x6c11a620,\n\t0xd8b4: 0x6c24fc20,\n\t0xd8bc: 0x6c250020,\n\t// Block 0x363, offset 0xd8c0\n\t0xd8c1: 0x6c067620,\n\t0xd8c6: 0x6c24fe20, 0xd8c7: 0x6c0f5c20,\n\t0xd8cc: 0x6c250420, 0xd8cd: 0x6c026220, 0xd8ce: 0x6c24fa20,\n\t0xd8d1: 0x6c123420, 0xd8d3: 0x6c00dc20,\n\t0xd8d5: 0x6c07f020, 0xd8d7: 0x6c172820,\n\t0xd8da: 0x6c250220,\n\t0xd8e3: 0x6c250620,\n\t0xd8e7: 0x6c136e20,\n\t0xd8e9: 0x6c0c3220, 0xd8ea: 0x6c250a20,\n\t0xd8ef: 0x6c250c20,\n\t0xd8f5: 0x6c250820,\n\t0xd8fa: 0x6c029020,\n\t0xd8fc: 0x6c251820, 0xd8fe: 0x6c251620,\n\t// Block 0x364, offset 0xd900\n\t0xd901: 0x6c08de20,\n\t0xd905: 0x6c251a20, 0xd906: 0x6c251020,\n\t0xd90a: 0x6c251c20, 0xd90b: 0x6c251220,\n\t0xd910: 0x6c121020, 0xd911: 0x6c250e20,\n\t0xd914: 0x6c251420,\n\t0xd91a: 0x6c252220,\n\t0xd927: 0x6c252020,\n\t0xd928: 0x6c145620,\n\t0xd92c: 0x6c251e20, 0xd92f: 0x6c009620,\n\t0xd934: 0x6c252620,\n\t0xd93d: 0x6c252420,\n\t// Block 0x365, offset 0xd940\n\t0xd941: 0x6c0aa020,\n\t0xd947: 0x6c252820,\n\t0xd94e: 0x6c0cc220,\n\t0xd951: 0x6c252c20, 0xd952: 0x6c252a20,\n\t0xd959: 0x6c252e20,\n\t0xd966: 0x6c24f220,\n\t0xd96a: 0x6c24f620, 0xd96b: 0x6c253220,\n\t0xd96c: 0x6c253020,\n\t0xd97a: 0x6c08e020,\n\t0xd97c: 0x6c169a20, 0xd97e: 0x6c093420,\n\t// Block 0x366, offset 0xd980\n\t0xd980: 0x6c253420, 0xd981: 0x6c055220,\n\t0xd987: 0x6c03ec20,\n\t0xd988: 0x6c03ba20, 0xd989: 0x6c089a20,\n\t0xd990: 0x6c157420, 0xd993: 0x6c254020,\n\t0xd995: 0x6c253e20, 0xd996: 0x6c0cc420, 0xd997: 0x6c253820,\n\t0xd99a: 0x6c253c20,\n\t0xd99d: 0x6c09e220, 0xd99e: 0x6c0b4420, 0xd99f: 0x6c253a20,\n\t0xd9a0: 0x6c253620, 0xd9a2: 0x6c10f820,\n\t0xd9a5: 0x6c0aa220,\n\t0xd9a8: 0x6c129420,\n\t0xd9ad: 0x6c07c620,\n\t0xd9b7: 0x6c101c20,\n\t0xd9ba: 0x6c254220,\n\t0xd9bf: 0x6c254420,\n\t// Block 0x367, offset 0xd9c0\n\t0xd9c0: 0x6c257020, 0xd9c1: 0x6c04d820,\n\t0xd9c4: 0x6c16fe20, 0xd9c5: 0x6c0ca620,\n\t0xd9ca: 0x6c254620,\n\t0xd9cd: 0x6c01dc20, 0xd9ce: 0x6c0f5e20, 0xd9cf: 0x6c131a20,\n\t0xd9dd: 0x6c254820,\n\t0xd9e6: 0x6c046020, 0xd9e7: 0x6c254a20,\n\t0xd9ea: 0x6c254e20,\n\t0xd9ee: 0x6c255020,\n\t0xd9f0: 0x6c10f620, 0xd9f3: 0x6c255220,\n\t0xd9f9: 0x6c255420, 0xd9fa: 0x6c255620,\n\t0xd9fd: 0x6c04da20, 0xd9fe: 0x6c01de20, 0xd9ff: 0x6c107220,\n\t// Block 0x368, offset 0xda00\n\t0xda00: 0x6c099c20, 0xda01: 0x6c089c20,\n\t0xda09: 0x6c255820, 0xda0b: 0x6c099e20,\n\t0xda11: 0x6c01cc20, 0xda12: 0x6c12a220,\n\t0xda15: 0x6c255a20,\n\t0xda18: 0x6c123620,\n\t0xda1f: 0x6c0cc620,\n\t0xda21: 0x6c256020, 0xda23: 0x6c256220,\n\t0xda24: 0x6c117620, 0xda26: 0x6c0b4620, 0xda27: 0x6c255c20,\n\t0xda29: 0x6c0e7620,\n\t0xda2c: 0x6c255e20,\n\t0xda30: 0x6c0aa420,\n\t0xda3b: 0x6c007820,\n\t// Block 0x369, offset 0xda40\n\t0xda40: 0x6c03be20,\n\t0xda48: 0x6c256420, 0xda4b: 0x6c0f6020,\n\t0xda4d: 0x6c256620, 0xda4e: 0x6c0c0e20,\n\t0xda54: 0x6c14aa20, 0xda57: 0x6c126220,\n\t0xda58: 0x6c256820, 0xda59: 0x6c256a20, 0xda5a: 0x6c0e5e20,\n\t0xda5c: 0x6c165620, 0xda5f: 0x6c256e20,\n\t0xda60: 0x6c256c20,\n\t0xda6e: 0x6c096e20,\n\t0xda71: 0x6c257220, 0xda72: 0x6c00a020,\n\t0xda77: 0x6c257820,\n\t0xda7b: 0x6c257420,\n\t0xda7c: 0x6c01e020, 0xda7d: 0x6c058020, 0xda7e: 0x6c257620, 0xda7f: 0x6c06e820,\n\t// Block 0x36a, offset 0xda80\n\t0xda80: 0x6c074020, 0xda82: 0x6c13a420, 0xda83: 0x6c257a20,\n\t0xda86: 0x6c143c20,\n\t0xda89: 0x6c257e20,\n\t0xda8d: 0x6c0c2220, 0xda8e: 0x6c011a20, 0xda8f: 0x6c01ac20,\n\t0xda90: 0x6c001820,\n\t0xda97: 0x6c257c20,\n\t0xdaa1: 0x6c258020, 0xdaa2: 0x6c258220, 0xdaa3: 0x6c0af620,\n\t0xdaa9: 0x6c258420, 0xdaab: 0x6c029220,\n\t0xdab0: 0x6c258820,\n\t0xdab4: 0x6c05b820, 0xdab6: 0x6c043820,\n\t0xdab9: 0x6c258a20, 0xdaba: 0x6c051220,\n\t0xdabd: 0x6c258c20, 0xdabf: 0x6c0c7820,\n\t// Block 0x36b, offset 0xdac0\n\t0xdac1: 0x6c108220, 0xdac3: 0x6c0c4020,\n\t0xdac4: 0x6c080220,\n\t0xdac8: 0x6c258e20,\n\t0xdad2: 0x6c0e7820, 0xdad3: 0x6c0d1220,\n\t0xdad5: 0x6c259220, 0xdad6: 0x6c259620, 0xdad7: 0x6c259020,\n\t0xdad8: 0x6c259420,\n\t0xdadf: 0x6c052820,\n\t0xdae9: 0x6c259820, 0xdaea: 0x6c053020,\n\t0xdaee: 0x6c043a20, 0xdaef: 0x6c15b020,\n\t0xdaf0: 0x6c259c20,\n\t0xdaf6: 0x6c259e20,\n\t0xdafa: 0x6c00d820,\n\t0xdaff: 0x6c25a420,\n\t// Block 0x36c, offset 0xdb00\n\t0xdb03: 0x6c02e020,\n\t0xdb04: 0x6c25a220, 0xdb05: 0x6c25a020, 0xdb07: 0x6c25a820,\n\t0xdb08: 0x6c259a20, 0xdb0a: 0x6c25aa20, 0xdb0b: 0x6c161a20,\n\t0xdb0d: 0x6c25ac20, 0xdb0f: 0x6c25ae20,\n\t0xdb12: 0x6c1ac220, 0xdb13: 0x6c25b220,\n\t0xdb15: 0x6c25b020,\n\t0xdb19: 0x6c25b420, 0xdb1a: 0x6c25b620,\n\t0xdb1c: 0x6c163220, 0xdb1d: 0x6c25b820, 0xdb1f: 0x6c2f4820,\n\t0xdb20: 0x6c0aa620, 0xdb21: 0x6c25ba20, 0xdb22: 0x6c25bc20, 0xdb23: 0x6c09fa20,\n\t0xdb25: 0x6c105820, 0xdb26: 0x6c25be20,\n\t0xdb2a: 0x6c0e0420,\n\t0xdb2d: 0x6c25c020, 0xdb2f: 0x6c0e2c20,\n\t0xdb30: 0x6c25c220,\n\t0xdb36: 0x6c047220,\n\t0xdb38: 0x6c182420, 0xdb39: 0x6c0e6e20, 0xdb3a: 0x6c08f620,\n\t0xdb3f: 0x6c034020,\n\t// Block 0x36d, offset 0xdb40\n\t0xdb42: 0x6c25c420,\n\t0xdb44: 0x6c25de20, 0xdb46: 0x6c25ca20,\n\t0xdb48: 0x6c043c20, 0xdb4a: 0x6c25c820, 0xdb4b: 0x6c25e220,\n\t0xdb4f: 0x6c25c620,\n\t0xdb51: 0x6c0aa820,\n\t0xdb58: 0x6c25ce20, 0xdb59: 0x6c25d020, 0xdb5b: 0x6c0f8220,\n\t0xdb5e: 0x6c25d220,\n\t0xdb60: 0x6c02b020,\n\t0xdb65: 0x6c0b7820, 0xdb66: 0x6c12e420,\n\t0xdb68: 0x6c25d620,\n\t0xdb6c: 0x6c0dc820,\n\t0xdb73: 0x6c25cc20,\n\t0xdb75: 0x6c25d420, 0xdb76: 0x6c25d820,\n\t0xdb79: 0x6c080e20,\n\t// Block 0x36e, offset 0xdb80\n\t0xdb85: 0x6c25e620, 0xdb86: 0x6c127820,\n\t0xdb88: 0x6c11ac20, 0xdb89: 0x6c101e20, 0xdb8b: 0x6c04dc20,\n\t0xdb8c: 0x6c25e420, 0xdb8d: 0x6c25e020, 0xdb8f: 0x6c11ca20,\n\t0xdb90: 0x6c25da20, 0xdb91: 0x6c0e7020, 0xdb92: 0x6c102220,\n\t0xdb94: 0x6c102020, 0xdb96: 0x6c080420,\n\t0xdb9d: 0x6c260a20,\n\t0xdba5: 0x6c25ea20, 0xdba7: 0x6c25ee20,\n\t0xdbac: 0x6c25f420, 0xdbae: 0x6c25f620,\n\t0xdbb0: 0x6c25f020, 0xdbb1: 0x6c25f220,\n\t0xdbb4: 0x6c25ec20, 0xdbb5: 0x6c25e820,\n\t0xdbba: 0x6c25dc20,\n\t// Block 0x36f, offset 0xdbc0\n\t0xdbc6: 0x6c137620, 0xdbc7: 0x6c01e220,\n\t0xdbcb: 0x6c260420,\n\t0xdbcd: 0x6c25fe20, 0xdbcf: 0x6c260820,\n\t0xdbd2: 0x6c260620,\n\t0xdbd4: 0x6c118a20, 0xdbd5: 0x6c149e20, 0xdbd7: 0x6c084a20,\n\t0xdbd8: 0x6c25fa20, 0xdbd9: 0x6c260c20, 0xdbda: 0x6c260220,\n\t0xdbdc: 0x6c260020, 0xdbdd: 0x6c25f820, 0xdbdf: 0x6c25fc20,\n\t0xdbe1: 0x6c034220,\n\t0xdbea: 0x6c0e2e20,\n\t0xdbed: 0x6c0c7a20,\n\t0xdbf1: 0x6c11a420,\n\t0xdbf4: 0x6c261620,\n\t0xdbf8: 0x6c11a820,\n\t// Block 0x370, offset 0xdc00\n\t0xdc00: 0x6c0c4220, 0xdc01: 0x6c261020,\n\t0xdc04: 0x6c11fe20, 0xdc06: 0x6c261820, 0xdc07: 0x6c137e20,\n\t0xdc09: 0x6c0e6a20, 0xdc0b: 0x6c260e20,\n\t0xdc0c: 0x6c261220, 0xdc0f: 0x6c261420,\n\t0xdc1d: 0x6c261a20,\n\t0xdc20: 0x6c091820,\n\t0xdc24: 0x6c107420, 0xdc25: 0x6c262420, 0xdc26: 0x6c262220,\n\t0xdc29: 0x6c261c20,\n\t0xdc2d: 0x6c16f020,\n\t0xdc33: 0x6c262e20,\n\t0xdc36: 0x6c263620, 0xdc37: 0x6c263020,\n\t// Block 0x371, offset 0xdc40\n\t0xdc40: 0x6c262820,\n\t0xdc47: 0x6c262a20,\n\t0xdc4d: 0x6c263420,\n\t0xdc51: 0x6c261e20, 0xdc52: 0x6c190c20, 0xdc53: 0x6c262c20,\n\t0xdc54: 0x6c262020, 0xdc57: 0x6c263220,\n\t0xdc5f: 0x6c263e20,\n\t0xdc61: 0x6c034420, 0xdc63: 0x6c263820,\n\t0xdc67: 0x6c263a20,\n\t0xdc6a: 0x6c263c20, 0xdc6b: 0x6c264220,\n\t0xdc77: 0x6c264020,\n\t0xdc78: 0x6c124c20,\n\t0xdc7d: 0x6c264420, 0xdc7e: 0x6c16c020, 0xdc7f: 0x6c13b220,\n\t// Block 0x372, offset 0xdc80\n\t0xdc80: 0x6c264e20, 0xdc83: 0x6c264820,\n\t0xdc8c: 0x6c264620, 0xdc8d: 0x6c0c2420, 0xdc8f: 0x6c264c20,\n\t0xdc90: 0x6c265020,\n\t0xdc94: 0x6c264a20, 0xdc96: 0x6c265820,\n\t0xdc98: 0x6c265220,\n\t0xdc9f: 0x6c265420,\n\t0xdca0: 0x6c262620,\n\t0xdca4: 0x6c265620, 0xdca5: 0x6c265a20,\n\t0xdcac: 0x6c265c20,\n\t0xdcb3: 0x6c136420,\n\t0xdcb5: 0x6c265e20,\n\t0xdcbe: 0x6c151420,\n\t// Block 0x373, offset 0xdcc0\n\t0xdcc1: 0x6c04c420, 0xdcc2: 0x6c053620, 0xdcc3: 0x6c266020,\n\t0xdcc9: 0x6c134020, 0xdccb: 0x6c0b9420,\n\t0xdccd: 0x6c14b020,\n\t0xdcd0: 0x6c266220, 0xdcd2: 0x6c162e20,\n\t0xdcd5: 0x6c118c20, 0xdcd7: 0x6c0cc820,\n\t0xdcd8: 0x6c110c20, 0xdcdb: 0x6c09e620,\n\t0xdcdf: 0x6c004020,\n\t0xdce1: 0x6c266c20, 0xdce2: 0x6c266820,\n\t0xdce4: 0x6c266420, 0xdce5: 0x6c02f220, 0xdce7: 0x6c0aaa20,\n\t0xdce8: 0x6c266e20, 0xdceb: 0x6c266a20,\n\t0xdced: 0x6c266620, 0xdcee: 0x6c267620,\n\t0xdcf1: 0x6c267420, 0xdcf2: 0x6c267220, 0xdcf3: 0x6c267020,\n\t0xdcf9: 0x6c267820,\n\t0xdcfd: 0x6c267a20, 0xdcfe: 0x6c0bf420,\n\t// Block 0x374, offset 0xdd00\n\t0xdd00: 0x6c267c20, 0xdd02: 0x6c268020,\n\t0xdd05: 0x6c267e20,\n\t0xdd0a: 0x6c064420,\n\t0xdd0e: 0x6c0cac20,\n\t0xdd12: 0x6c268420,\n\t0xdd16: 0x6c102420,\n\t0xdd18: 0x6c268220,\n\t0xdd1c: 0x6c268620, 0xdd1e: 0x6c134220, 0xdd1f: 0x6c0d1420,\n\t0xdd20: 0x6c06ea20, 0xdd22: 0x6c268820,\n\t0xdd27: 0x6c165820,\n\t0xdd2f: 0x6c268c20,\n\t0xdd32: 0x6c268e20,\n\t0xdd34: 0x6c269020, 0xdd36: 0x6c269220,\n\t0xdd38: 0x6c089e20, 0xdd3a: 0x6c269420, 0xdd3b: 0x6c058220,\n\t0xdd3e: 0x6c044020,\n\t// Block 0x375, offset 0xdd40\n\t0xdd40: 0x6c03c020, 0xdd42: 0x6c269820,\n\t0xdd44: 0x6c153620, 0xdd45: 0x6c06ec20, 0xdd46: 0x6c269620,\n\t0xdd4a: 0x6c269e20, 0xdd4b: 0x6c151c20,\n\t0xdd4d: 0x6c111c20,\n\t0xdd50: 0x6c128220,\n\t0xdd54: 0x6c0a1220, 0xdd55: 0x6c269c20, 0xdd57: 0x6c093620,\n\t0xdd58: 0x6c06ee20, 0xdd59: 0x6c08a020, 0xdd5a: 0x6c043e20, 0xdd5b: 0x6c134420,\n\t0xdd5c: 0x6c269a20,\n\t0xdd60: 0x6c0cca20, 0xdd61: 0x6c141820, 0xdd62: 0x6c080620,\n\t0xdd6b: 0x6c08a220,\n\t0xdd6c: 0x6c0f2a20, 0xdd6e: 0x6c26a420, 0xdd6f: 0x6c168620,\n\t0xdd70: 0x6c07ca20, 0xdd72: 0x6c26a620, 0xdd73: 0x6c0b4820,\n\t0xdd75: 0x6c26aa20,\n\t0xdd79: 0x6c0aac20, 0xdd7a: 0x6c077820,\n\t0xdd7f: 0x6c26a820,\n\t// Block 0x376, offset 0xdd80\n\t0xdd82: 0x6c09a020, 0xdd83: 0x6c061c20,\n\t0xdd84: 0x6c0ccc20, 0xdd85: 0x6c26a020, 0xdd86: 0x6c26ac20,\n\t0xdd8b: 0x6c26a220,\n\t0xdd8c: 0x6c058420, 0xdd8e: 0x6c26b220, 0xdd8f: 0x6c26ba20,\n\t0xdd90: 0x6c05ba20,\n\t0xdd96: 0x6c26b020,\n\t0xdd9b: 0x6c26c220,\n\t0xdd9e: 0x6c06f020,\n\t0xdda1: 0x6c15e620, 0xdda2: 0x6c003820, 0xdda3: 0x6c26bc20,\n\t0xdda6: 0x6c044220,\n\t0xdda8: 0x6c26b620,\n\t0xddae: 0x6c26b820,\n\t0xddb1: 0x6c102620, 0xddb2: 0x6c26b420, 0xddb3: 0x6c26ae20,\n\t0xddb5: 0x6c024420, 0xddb6: 0x6c0c4820,\n\t0xddb9: 0x6c05f020,\n\t0xddbd: 0x6c26c620,\n\t// Block 0x377, offset 0xddc0\n\t0xddc9: 0x6c26c020,\n\t0xddcf: 0x6c26c420,\n\t0xddd3: 0x6c26be20,\n\t0xddd9: 0x6c058620, 0xddda: 0x6c0d5e20, 0xdddb: 0x6c26c820,\n\t0xdddc: 0x6c0d1820, 0xdddf: 0x6c26e220,\n\t0xdde2: 0x6c26da20, 0xdde3: 0x6c26ce20,\n\t0xddeb: 0x6c26d620,\n\t0xddec: 0x6c098420, 0xdded: 0x6c007a20, 0xddee: 0x6c26cc20, 0xddef: 0x6c26dc20,\n\t0xddf0: 0x6c26e420, 0xddf1: 0x6c06f220, 0xddf2: 0x6c14fc20,\n\t0xddf4: 0x6c0f1c20, 0xddf5: 0x6c26d020,\n\t0xddf8: 0x6c26e020, 0xddfa: 0x6c26ca20, 0xddfb: 0x6c0e3020,\n\t0xddfd: 0x6c26d420, 0xddfe: 0x6c003a20, 0xddff: 0x6c14e420,\n\t// Block 0x378, offset 0xde00\n\t0xde07: 0x6c26d220,\n\t0xde0a: 0x6c04de20, 0xde0b: 0x6c123820,\n\t0xde0f: 0x6c0d1620,\n\t0xde11: 0x6c166820, 0xde12: 0x6c0a2a20,\n\t0xde15: 0x6c273220,\n\t0xde18: 0x6c26e620, 0xde1a: 0x6c0c7c20,\n\t0xde1c: 0x6c26de20, 0xde1d: 0x6c26e820, 0xde1e: 0x6c26ec20,\n\t0xde20: 0x6c0f6220, 0xde21: 0x6c26f220,\n\t0xde24: 0x6c26ea20,\n\t0xde28: 0x6c138020, 0xde29: 0x6c034620,\n\t0xde2c: 0x6c14e620, 0xde2f: 0x6c007c20,\n\t0xde32: 0x6c26f020,\n\t0xde34: 0x6c16c220,\n\t0xde3b: 0x6c26ee20,\n\t// Block 0x379, offset 0xde40\n\t0xde41: 0x6c015a20,\n\t0xde44: 0x6c10c020, 0xde45: 0x6c26f420,\n\t0xde49: 0x6c270220, 0xde4a: 0x6c26f620, 0xde4b: 0x6c270420,\n\t0xde52: 0x6c26fc20,\n\t0xde5b: 0x6c119a20,\n\t0xde5e: 0x6c092420, 0xde5f: 0x6c270020,\n\t0xde61: 0x6c26fa20, 0xde62: 0x6c270620, 0xde63: 0x6c26f820,\n\t0xde66: 0x6c09d420,\n\t0xde6b: 0x6c13de20,\n\t0xde6e: 0x6c09e420,\n\t0xde71: 0x6c26fe20, 0xde72: 0x6c271620,\n\t0xde75: 0x6c270e20, 0xde77: 0x6c271420,\n\t0xde79: 0x6c271020, 0xde7a: 0x6c271820, 0xde7b: 0x6c270c20,\n\t0xde7d: 0x6c26d820, 0xde7e: 0x6c0c2620,\n\t// Block 0x37a, offset 0xde80\n\t0xde81: 0x6c11f620, 0xde83: 0x6c271220,\n\t0xde86: 0x6c270820,\n\t0xde8a: 0x6c0c7e20, 0xde8b: 0x6c058820,\n\t0xde8d: 0x6c09a220,\n\t0xde94: 0x6c0b0e20, 0xde95: 0x6c0ca820, 0xde96: 0x6c271e20,\n\t0xde99: 0x6c272220, 0xde9a: 0x6c272420,\n\t0xde9d: 0x6c271c20, 0xde9e: 0x6c272020,\n\t0xdea6: 0x6c270a20, 0xdea7: 0x6c271a20,\n\t0xdea9: 0x6c272a20, 0xdeaa: 0x6c272820,\n\t0xdead: 0x6c148820,\n\t0xdeb0: 0x6c053a20,\n\t0xdeb9: 0x6c272620, 0xdebb: 0x6c272e20,\n\t0xdebc: 0x6c272c20, 0xdebd: 0x6c273420, 0xdebf: 0x6c273820,\n\t// Block 0x37b, offset 0xdec0\n\t0xdec2: 0x6c084c20, 0xdec3: 0x6c273020,\n\t0xdec8: 0x6c273a20, 0xdec9: 0x6c273c20,\n\t0xdecc: 0x6c273e20, 0xdece: 0x6c274a20, 0xdecf: 0x6c0fa220,\n\t0xded0: 0x6c274220, 0xded2: 0x6c274020, 0xded3: 0x6c274420,\n\t0xded4: 0x6c274620, 0xded6: 0x6c274820,\n\t0xdedb: 0x6c274c20,\n\t0xdedc: 0x6c274e20,\n\t// Block 0x37c, offset 0xdf00\n\t0xdf36: 0x6c034820,\n\t0xdf38: 0x6c275020, 0xdf3a: 0x6c275220,\n\t// Block 0x37d, offset 0xdf40\n\t0xdf45: 0x6c275420,\n\t0xdf4c: 0x6c275620, 0xdf4d: 0x6c275820, 0xdf4e: 0x6c275a20,\n\t0xdf50: 0x6c275c20, 0xdf51: 0x6c275e20,\n\t0xdf54: 0x6c276220, 0xdf55: 0x6c276020,\n\t0xdf58: 0x6c276420,\n\t0xdf5f: 0x6c276620,\n\t0xdf60: 0x6c276820,\n\t0xdf67: 0x6c276e20,\n\t0xdf68: 0x6c276a20, 0xdf69: 0x6c276c20, 0xdf6a: 0x6c07da20, 0xdf6b: 0x6c058a20,\n\t0xdf6e: 0x6c0e6020,\n\t0xdf70: 0x6c11c620, 0xdf72: 0x6c0a2c20,\n\t0xdf75: 0x6c113e20, 0xdf77: 0x6c123a20,\n\t0xdf78: 0x6c277020, 0xdf79: 0x6c1da420,\n\t// Block 0x37e, offset 0xdf80\n\t0xdf82: 0x6c277220, 0xdf83: 0x6c277620,\n\t0xdf85: 0x6c15d620, 0xdf86: 0x6c277420, 0xdf87: 0x6c277a20,\n\t0xdf88: 0x6c277820, 0xdf8a: 0x6c15b220,\n\t0xdf8c: 0x6c277c20, 0xdf8e: 0x6c125c20,\n\t0xdf94: 0x6c277e20,\n\t0xdf9a: 0x6c278420,\n\t0xdf9d: 0x6c278220, 0xdf9e: 0x6c278020,\n\t0xdfa3: 0x6c278620,\n\t0xdfa4: 0x6c054820,\n\t0xdfa8: 0x6c0c8020, 0xdfa9: 0x6c03ee20,\n\t0xdfae: 0x6c278e20, 0xdfaf: 0x6c278820,\n\t0xdfb2: 0x6c278a20,\n\t0xdfb6: 0x6c279020,\n\t0xdfb8: 0x6c279220, 0xdfb9: 0x6c278c20,\n\t0xdfbd: 0x6c00ce20,\n\t// Block 0x37f, offset 0xdfc0\n\t0xdfc1: 0x6c018620,\n\t0xdfc5: 0x6c279620, 0xdfc6: 0x6c279820,\n\t0xdfca: 0x6c279a20,\n\t0xdfcc: 0x6c15d020,\n\t0xdfd2: 0x6c09a420,\n\t0xdfd4: 0x6c279e20, 0xdfd5: 0x6c279c20,\n\t0xdfe0: 0x6c0b9620, 0xdfe1: 0x6c27a020,\n\t0xdfe6: 0x6c27a220,\n\t0xdfe9: 0x6c27a420, 0xdfeb: 0x6c037a20,\n\t0xdff0: 0x6c034a20, 0xdff3: 0x6c27a620,\n\t0xdff9: 0x6c27a820, 0xdffb: 0x6c144e20,\n\t0xdffc: 0x6c15d220,\n\t// Block 0x380, offset 0xe000\n\t0xe000: 0x6c15b420, 0xe001: 0x6c16f220, 0xe003: 0x6c06f620,\n\t0xe004: 0x6c27ae20, 0xe005: 0x6c093820, 0xe006: 0x6c27ac20,\n\t0xe00b: 0x6c27b020,\n\t0xe00c: 0x6c08e220,\n\t0xe010: 0x6c0d9a20, 0xe012: 0x6c27b220,\n\t0xe015: 0x6c06f420, 0xe017: 0x6c14fe20,\n\t0xe018: 0x6c27b420, 0xe019: 0x6c27b620,\n\t0xe01c: 0x6c27b820,\n\t0xe021: 0x6c27ba20,\n\t0xe028: 0x6c27bc20,\n\t0xe033: 0x6c08e420,\n\t0xe036: 0x6c152a20,\n\t0xe03b: 0x6c27c020,\n\t0xe03d: 0x6c0e3220, 0xe03f: 0x6c27be20,\n\t// Block 0x381, offset 0xe040\n\t0xe046: 0x6c27c420,\n\t0xe04a: 0x6c27c220,\n\t0xe052: 0x6c27c620,\n\t0xe056: 0x6c0bf620,\n\t0xe058: 0x6c27c820, 0xe05a: 0x6c27ca20,\n\t0xe05e: 0x6c134a20, 0xe05f: 0x6c27cc20,\n\t0xe061: 0x6c0d1a20, 0xe062: 0x6c27ce20,\n\t0xe068: 0x6c27d020,\n\t0xe06f: 0x6c16c420,\n\t0xe070: 0x6c27d620, 0xe072: 0x6c27d420, 0xe073: 0x6c27d220,\n\t0xe074: 0x6c0ed020, 0xe076: 0x6c27d820, 0xe077: 0x6c0b1020,\n\t0xe079: 0x6c27da20,\n\t0xe07d: 0x6c27dc20, 0xe07e: 0x6c16f420, 0xe07f: 0x6c27de20,\n\t// Block 0x382, offset 0xe080\n\t0xe084: 0x6c27e020, 0xe085: 0x6c27e420, 0xe086: 0x6c27e220, 0xe087: 0x6c11aa20,\n\t0xe089: 0x6c10da20, 0xe08b: 0x6c170020,\n\t0xe08c: 0x6c11b220,\n\t0xe093: 0x6c27e820,\n\t0xe096: 0x6c0aae20,\n\t0xe098: 0x6c127020, 0xe09a: 0x6c27ea20, 0xe09b: 0x6c27e620,\n\t0xe09d: 0x6c034c20,\n\t0xe0a1: 0x6c064820, 0xe0a2: 0x6c08a420,\n\t0xe0a5: 0x6c123c20,\n\t0xe0a9: 0x6c05f420, 0xe0aa: 0x6c141a20,\n\t0xe0ac: 0x6c27f020, 0xe0ad: 0x6c27ec20, 0xe0af: 0x6c06f820,\n\t0xe0b1: 0x6c06fa20, 0xe0b2: 0x6c009220,\n\t0xe0b4: 0x6c07e820,\n\t0xe0ba: 0x6c115620,\n\t// Block 0x383, offset 0xe0c0\n\t0xe0c3: 0x6c007e20,\n\t0xe0c4: 0x6c27fa20, 0xe0c6: 0x6c0e3420,\n\t0xe0cc: 0x6c115420, 0xe0ce: 0x6c0dae20,\n\t0xe0d6: 0x6c27fe20,\n\t0xe0d9: 0x6c27f620, 0xe0da: 0x6c27fc20, 0xe0db: 0x6c27f220,\n\t0xe0dd: 0x6c27f820, 0xe0de: 0x6c13e020,\n\t0xe0e1: 0x6c064a20,\n\t0xe0e4: 0x6c00ba20, 0xe0e5: 0x6c27f420,\n\t0xe0ef: 0x6c280220,\n\t0xe0f1: 0x6c280420,\n\t0xe0f4: 0x6c105a20,\n\t0xe0f8: 0x6c049e20,\n\t0xe0fc: 0x6c281a20, 0xe0fd: 0x6c111e20,\n\t// Block 0x384, offset 0xe100\n\t0xe102: 0x6c08a620,\n\t0xe105: 0x6c04a020, 0xe106: 0x6c0c1020, 0xe107: 0x6c171020,\n\t0xe108: 0x6c14ac20, 0xe109: 0x6c280020, 0xe10a: 0x6c0c2820,\n\t0xe11a: 0x6c041220, 0xe11b: 0x6c280620,\n\t0xe123: 0x6c280a20,\n\t0xe129: 0x6c280820,\n\t0xe12f: 0x6c280c20,\n\t0xe131: 0x6c0e0020, 0xe133: 0x6c112020,\n\t0xe139: 0x6c0ed220,\n\t0xe13e: 0x6c281420,\n\t// Block 0x385, offset 0xe140\n\t0xe146: 0x6c281220,\n\t0xe14b: 0x6c280e20,\n\t0xe14e: 0x6c0b6e20,\n\t0xe150: 0x6c12e620, 0xe151: 0x6c281820, 0xe153: 0x6c281620,\n\t0xe154: 0x6c06fc20, 0xe155: 0x6c172a20,\n\t0xe15f: 0x6c283820,\n\t0xe165: 0x6c282020, 0xe166: 0x6c282220,\n\t0xe16b: 0x6c097020,\n\t0xe16e: 0x6c281e20,\n\t0xe170: 0x6c074c20, 0xe171: 0x6c281c20,\n\t0xe174: 0x6c282420,\n\t0xe178: 0x6c0ed420, 0xe179: 0x6c131c20, 0xe17a: 0x6c0c8220,\n\t0xe17f: 0x6c0db020,\n\t// Block 0x386, offset 0xe180\n\t0xe180: 0x6c282c20, 0xe182: 0x6c282e20, 0xe183: 0x6c282620,\n\t0xe188: 0x6c282820, 0xe18a: 0x6c282a20,\n\t0xe18f: 0x6c06fe20,\n\t0xe193: 0x6c283a20,\n\t0xe195: 0x6c283220,\n\t0xe19a: 0x6c12e820,\n\t0xe19c: 0x6c146c20, 0xe19d: 0x6c126c20,\n\t0xe1a0: 0x6c283020, 0xe1a3: 0x6c283620,\n\t0xe1a4: 0x6c283420,\n\t0xe1a8: 0x6c141c20, 0xe1a9: 0x6c283c20,\n\t0xe1b0: 0x6c283e20, 0xe1b3: 0x6c0caa20,\n\t0xe1b5: 0x6c284020,\n\t0xe1b8: 0x6c284420, 0xe1ba: 0x6c284c20,\n\t0xe1bd: 0x6c284620, 0xe1be: 0x6c284220, 0xe1bf: 0x6c112220,\n\t// Block 0x387, offset 0xe1c0\n\t0xe1c0: 0x6c284820, 0xe1c2: 0x6c284a20,\n\t0xe1c6: 0x6c019c20,\n\t0xe1c8: 0x6c285820, 0xe1c9: 0x6c284e20,\n\t0xe1cd: 0x6c285020,\n\t0xe1d1: 0x6c285220, 0xe1d3: 0x6c0d3a20,\n\t0xe1d8: 0x6c285620, 0xe1d9: 0x6c285420, 0xe1da: 0x6c285a20,\n\t0xe1df: 0x6c285c20,\n\t0xe1e0: 0x6c285e20, 0xe1e3: 0x6c0b4a20,\n\t0xe1e5: 0x6c020a20, 0xe1e7: 0x6c286020,\n\t0xe1e8: 0x6c167620, 0xe1ea: 0x6c08e620,\n\t0xe1ed: 0x6c09a620,\n\t0xe1f3: 0x6c08a820,\n\t0xe1f4: 0x6c0e6220,\n\t0xe1fa: 0x6c286220, 0xe1fb: 0x6c286420,\n\t0xe1fc: 0x6c00de20, 0xe1fe: 0x6c286620,\n\t// Block 0x388, offset 0xe200\n\t0xe201: 0x6c286820, 0xe202: 0x6c286a20,\n\t0xe205: 0x6c286c20, 0xe207: 0x6c286e20,\n\t0xe208: 0x6c04a220, 0xe209: 0x6c1e9620, 0xe20a: 0x6c287020,\n\t0xe20c: 0x6c0c4a20, 0xe20d: 0x6c287220, 0xe20e: 0x6c092620,\n\t0xe210: 0x6c287420, 0xe212: 0x6c174a20,\n\t0xe216: 0x6c287620, 0xe217: 0x6c139420,\n\t0xe218: 0x6c036820, 0xe21b: 0x6c0c8420,\n\t0xe21c: 0x6c09fc20, 0xe21e: 0x6c12fe20, 0xe21f: 0x6c09a820,\n\t0xe229: 0x6c287820, 0xe22a: 0x6c070020, 0xe22b: 0x6c287a20,\n\t0xe22c: 0x6c11f820, 0xe22e: 0x6c289620,\n\t0xe233: 0x6c287e20,\n\t0xe235: 0x6c0d8a20, 0xe236: 0x6c118e20, 0xe237: 0x6c061e20,\n\t0xe238: 0x6c287c20, 0xe239: 0x6c0c8620,\n\t// Block 0x389, offset 0xe240\n\t0xe240: 0x6c288020,\n\t0xe247: 0x6c0f6420,\n\t0xe258: 0x6c288420, 0xe259: 0x6c288220, 0xe25a: 0x6c288820,\n\t0xe25d: 0x6c288620, 0xe25f: 0x6c288a20,\n\t0xe262: 0x6c288e20,\n\t0xe264: 0x6c288c20, 0xe266: 0x6c034e20,\n\t0xe268: 0x6c289020, 0xe26a: 0x6c289220, 0xe26b: 0x6c289420,\n\t0xe26e: 0x6c077a20, 0xe26f: 0x6c165a20,\n\t0xe271: 0x6c289820, 0xe272: 0x6c0b1220,\n\t0xe276: 0x6c015c20, 0xe277: 0x6c289a20,\n\t0xe278: 0x6c289c20,\n\t0xe27e: 0x6c289e20,\n\t// Block 0x38a, offset 0xe280\n\t0xe28b: 0x6c00a420,\n\t0xe28d: 0x6c28a020,\n\t0xe292: 0x6c28a220,\n\t0xe299: 0x6c12ea20,\n\t0xe29d: 0x6c091e20, 0xe29f: 0x6c28a620,\n\t0xe2a5: 0x6c024620, 0xe2a6: 0x6c002420,\n\t0xe2ab: 0x6c28a420,\n\t0xe2ac: 0x6c28aa20, 0xe2ad: 0x6c114020, 0xe2af: 0x6c0b4c20,\n\t0xe2b1: 0x6c01e420, 0xe2b3: 0x6c13e220,\n\t0xe2b8: 0x6c059e20, 0xe2b9: 0x6c04e020, 0xe2bb: 0x6c28a820,\n\t0xe2bd: 0x6c020c20,\n\t// Block 0x38b, offset 0xe2c0\n\t0xe2c5: 0x6c02f620,\n\t0xe2d1: 0x6c015e20, 0xe2d2: 0x6c28b220, 0xe2d3: 0x6c169c20,\n\t0xe2d4: 0x6c0db220, 0xe2d7: 0x6c12a420,\n\t0xe2d9: 0x6c28ca20, 0xe2db: 0x6c01e620,\n\t0xe2dc: 0x6c28c620, 0xe2de: 0x6c28c220, 0xe2df: 0x6c28b020,\n\t0xe2e1: 0x6c28ac20, 0xe2e3: 0x6c28ae20,\n\t0xe2e5: 0x6c095620, 0xe2e6: 0x6c050020, 0xe2e7: 0x6c0ea220,\n\t0xe2eb: 0x6c108a20,\n\t0xe2f1: 0x6c011e20, 0xe2f3: 0x6c28b620,\n\t0xe2f4: 0x6c28b420,\n\t0xe2f9: 0x6c28c020, 0xe2fa: 0x6c28b820, 0xe2fb: 0x6c28be20,\n\t// Block 0x38c, offset 0xe300\n\t0xe302: 0x6c14f020, 0xe303: 0x6c28bc20,\n\t0xe304: 0x6c01e820, 0xe305: 0x6c02ee20, 0xe306: 0x6c28c420,\n\t0xe309: 0x6c28c820,\n\t0xe30e: 0x6c058c20,\n\t0xe316: 0x6c28d020, 0xe317: 0x6c28e220,\n\t0xe318: 0x6c28e420,\n\t0xe31c: 0x6c001620,\n\t0xe323: 0x6c28f220,\n\t0xe328: 0x6c00a220, 0xe32b: 0x6c28e020,\n\t0xe32f: 0x6c28de20,\n\t0xe331: 0x6c28d420, 0xe332: 0x6c28d220,\n\t0xe334: 0x6c28ce20, 0xe335: 0x6c28cc20, 0xe336: 0x6c0e7a20,\n\t0xe338: 0x6c0dee20, 0xe339: 0x6c28d820,\n\t// Block 0x38d, offset 0xe340\n\t0xe340: 0x6c28d620,\n\t0xe345: 0x6c28dc20,\n\t0xe349: 0x6c0d1c20, 0xe34a: 0x6c058e20,\n\t0xe34f: 0x6c00fe20,\n\t0xe350: 0x6c28da20, 0xe352: 0x6c070220,\n\t0xe358: 0x6c0d1e20,\n\t0xe373: 0x6c28fe20,\n\t0xe375: 0x6c290020, 0xe377: 0x6c01ea20,\n\t0xe37b: 0x6c019420,\n\t0xe37c: 0x6c28fa20,\n\t// Block 0x38e, offset 0xe380\n\t0xe385: 0x6c28e620, 0xe387: 0x6c28f620,\n\t0xe389: 0x6c290420, 0xe38a: 0x6c28f820,\n\t0xe38e: 0x6c28f420,\n\t0xe393: 0x6c28ba20,\n\t0xe396: 0x6c28f020,\n\t0xe39a: 0x6c28e820,\n\t0xe39e: 0x6c035020, 0xe39f: 0x6c28ec20,\n\t0xe3a0: 0x6c290220, 0xe3a2: 0x6c28ee20,\n\t0xe3a8: 0x6c290620, 0xe3aa: 0x6c28ea20, 0xe3ab: 0x6c119c20,\n\t0xe3b1: 0x6c15de20,\n\t0xe3b5: 0x6c28fc20,\n\t0xe3bd: 0x6c292820,\n\t// Block 0x38f, offset 0xe3c0\n\t0xe3c1: 0x6c291820,\n\t0xe3c5: 0x6c0bba20,\n\t0xe3ca: 0x6c03f820,\n\t0xe3cc: 0x6c04e220, 0xe3ce: 0x6c290e20,\n\t0xe3d3: 0x6c01ee20,\n\t0xe3d6: 0x6c0ab020,\n\t0xe3d8: 0x6c291420,\n\t0xe3dc: 0x6c07cc20, 0xe3df: 0x6c0fce20,\n\t0xe3e0: 0x6c291e20,\n\t0xe3e9: 0x6c13b420, 0xe3eb: 0x6c290c20,\n\t0xe3ef: 0x6c01ec20,\n\t0xe3f0: 0x6c064c20, 0xe3f1: 0x6c126e20, 0xe3f2: 0x6c292020,\n\t0xe3f4: 0x6c290820, 0xe3f7: 0x6c291a20,\n\t0xe3fb: 0x6c292e20,\n\t0xe3fd: 0x6c291020,\n\t// Block 0x390, offset 0xe400\n\t0xe403: 0x6c291220,\n\t0xe404: 0x6c105c20, 0xe407: 0x6c291c20,\n\t0xe40b: 0x6c291620,\n\t0xe40c: 0x6c13e420, 0xe40d: 0x6c292220, 0xe40e: 0x6c008020,\n\t0xe413: 0x6c290a20,\n\t0xe420: 0x6c292620, 0xe422: 0x6c292420,\n\t0xe429: 0x6c117a20, 0xe42a: 0x6c293220,\n\t0xe42c: 0x6c294820,\n\t0xe431: 0x6c02f020,\n\t0xe435: 0x6c294e20,\n\t0xe438: 0x6c292a20,\n\t0xe43c: 0x6c293420, 0xe43d: 0x6c15e820,\n\t// Block 0x391, offset 0xe440\n\t0xe446: 0x6c294620,\n\t0xe449: 0x6c15b620,\n\t0xe44e: 0x6c161c20,\n\t0xe457: 0x6c0ea420,\n\t0xe45b: 0x6c02ca20,\n\t0xe461: 0x6c130020, 0xe462: 0x6c295220, 0xe463: 0x6c102a20,\n\t0xe466: 0x6c002220,\n\t0xe469: 0x6c294420, 0xe46b: 0x6c293c20,\n\t0xe46c: 0x6c0d2020, 0xe46d: 0x6c293020, 0xe46e: 0x6c294020, 0xe46f: 0x6c294a20,\n\t0xe471: 0x6c10fc20,\n\t0xe475: 0x6c001420, 0xe477: 0x6c293a20,\n\t0xe479: 0x6c294c20, 0xe47a: 0x6c130c20,\n\t// Block 0x392, offset 0xe480\n\t0xe482: 0x6c294220,\n\t0xe484: 0x6c293820,\n\t0xe48b: 0x6c0ab220,\n\t0xe490: 0x6c09aa20,\n\t0xe494: 0x6c08e820,\n\t0xe499: 0x6c150020,\n\t0xe49c: 0x6c12aa20, 0xe49f: 0x6c295820,\n\t0xe4a1: 0x6c296a20,\n\t0xe4ad: 0x6c293e20,\n\t0xe4b2: 0x6c02e220,\n\t0xe4b8: 0x6c0af820, 0xe4b9: 0x6c295420, 0xe4bb: 0x6c295e20,\n\t0xe4bc: 0x6c0d2220, 0xe4bf: 0x6c295620,\n\t// Block 0x393, offset 0xe4c0\n\t0xe4c1: 0x6c296420,\n\t0xe4c4: 0x6c0e7220, 0xe4c6: 0x6c296620,\n\t0xe4c9: 0x6c15b820, 0xe4ca: 0x6c295020, 0xe4cb: 0x6c026420,\n\t0xe4cd: 0x6c295c20,\n\t0xe4d0: 0x6c296220, 0xe4d1: 0x6c14a820,\n\t0xe4d6: 0x6c296820,\n\t0xe4d9: 0x6c295a20, 0xe4da: 0x6c296020,\n\t0xe4ec: 0x6c13e620, 0xe4ee: 0x6c16c620,\n\t0xe4f4: 0x6c297020,\n\t0xe4fc: 0x6c297e20, 0xe4ff: 0x6c296e20,\n\t// Block 0x394, offset 0xe500\n\t0xe500: 0x6c091620,\n\t0xe506: 0x6c292c20,\n\t0xe511: 0x6c137420, 0xe513: 0x6c149420,\n\t0xe514: 0x6c297c20, 0xe515: 0x6c297a20, 0xe517: 0x6c297220,\n\t0xe518: 0x6c297420, 0xe51a: 0x6c00e820,\n\t0xe51f: 0x6c297820,\n\t0xe521: 0x6c296c20,\n\t0xe526: 0x6c0f1a20,\n\t0xe52c: 0x6c297620, 0xe52d: 0x6c00bc20,\n\t0xe535: 0x6c0d3c20,\n\t0xe53d: 0x6c135e20,\n\t// Block 0x395, offset 0xe540\n\t0xe540: 0x6c298020, 0xe541: 0x6c298820, 0xe543: 0x6c121220,\n\t0xe548: 0x6c298620, 0xe549: 0x6c0ab420, 0xe54a: 0x6c092220, 0xe54b: 0x6c298c20,\n\t0xe54e: 0x6c04a420,\n\t0xe555: 0x6c298e20, 0xe557: 0x6c130e20,\n\t0xe558: 0x6c298420, 0xe55a: 0x6c293620,\n\t0xe563: 0x6c298220,\n\t0xe568: 0x6c172220, 0xe569: 0x6c102c20, 0xe56a: 0x6c130220,\n\t0xe56d: 0x6c299c20,\n\t0xe577: 0x6c29a820,\n\t0xe57e: 0x6c29aa20,\n\t// Block 0x396, offset 0xe580\n\t0xe580: 0x6c299020,\n\t0xe584: 0x6c119020, 0xe587: 0x6c29a420,\n\t0xe588: 0x6c299420, 0xe58a: 0x6c299820,\n\t0xe590: 0x6c29ac20, 0xe591: 0x6c299620,\n\t0xe594: 0x6c299e20, 0xe597: 0x6c016020,\n\t0xe599: 0x6c10b220, 0xe59b: 0x6c29a020,\n\t0xe59c: 0x6c29a620,\n\t0xe5a4: 0x6c299220, 0xe5a6: 0x6c0c8820,\n\t0xe5a8: 0x6c299a20, 0xe5a9: 0x6c082220, 0xe5aa: 0x6c0b4e20, 0xe5ab: 0x6c054420,\n\t0xe5ac: 0x6c153820, 0xe5ae: 0x6c154220, 0xe5af: 0x6c0a3020,\n\t0xe5b9: 0x6c29b420, 0xe5ba: 0x6c29b020,\n\t// Block 0x397, offset 0xe5c0\n\t0xe5c1: 0x6c172020,\n\t0xe5c9: 0x6c29ae20,\n\t0xe5cd: 0x6c15f620, 0xe5cf: 0x6c29b220,\n\t0xe5d0: 0x6c29b620,\n\t0xe5d5: 0x6c29b820,\n\t0xe5dc: 0x6c29be20, 0xe5dd: 0x6c29ba20,\n\t0xe5e4: 0x6c102e20, 0xe5e5: 0x6c29bc20,\n\t0xe5e9: 0x6c11fa20, 0xe5ea: 0x6c29a220,\n\t0xe5f7: 0x6c0a3220,\n\t0xe5f9: 0x6c29c020, 0xe5fa: 0x6c29ca20, 0xe5fb: 0x6c0d2420,\n\t0xe5fe: 0x6c29c820,\n\t// Block 0x398, offset 0xe600\n\t0xe602: 0x6c298a20,\n\t0xe606: 0x6c29cc20, 0xe607: 0x6c0cce20,\n\t0xe60a: 0x6c29c220, 0xe60b: 0x6c29c620,\n\t0xe613: 0x6c29c420,\n\t0xe616: 0x6c20d820, 0xe617: 0x6c20ba20,\n\t0xe61a: 0x6c29d020,\n\t0xe622: 0x6c29ce20,\n\t0xe62d: 0x6c15f820, 0xe62f: 0x6c249a20,\n\t0xe630: 0x6c29d220,\n\t0xe63f: 0x6c29d420,\n\t// Block 0x399, offset 0xe640\n\t0xe64d: 0x6c29d620, 0xe64e: 0x6c064e20,\n\t0xe650: 0x6c041420,\n\t0xe654: 0x6c29da20, 0xe655: 0x6c186020,\n\t0xe65a: 0x6c045620,\n\t0xe65c: 0x6c163c20, 0xe65e: 0x6c050e20, 0xe65f: 0x6c29dc20,\n\t0xe667: 0x6c29de20,\n\t0xe66b: 0x6c0e9020,\n\t0xe671: 0x6c29e020,\n\t0xe679: 0x6c10dc20, 0xe67b: 0x6c003420,\n\t// Block 0x39a, offset 0xe680\n\t0xe68a: 0x6c01fe20, 0xe68b: 0x6c29ea20,\n\t0xe68c: 0x6c29ec20,\n\t0xe693: 0x6c29e220,\n\t0xe695: 0x6c084e20,\n\t0xe6a3: 0x6c29e420,\n\t0xe6a4: 0x6c112820,\n\t0xe6a9: 0x6c29e620, 0xe6aa: 0x6c29e820, 0xe6ab: 0x6c29fc20,\n\t0xe6af: 0x6c29f020,\n\t0xe6b0: 0x6c29f620,\n\t0xe6b6: 0x6c29ee20,\n\t// Block 0x39b, offset 0xe6c0\n\t0xe6c4: 0x6c29f220, 0xe6c6: 0x6c29f420, 0xe6c7: 0x6c094020,\n\t0xe6c9: 0x6c29f820, 0xe6cb: 0x6c0e3620,\n\t0xe6cd: 0x6c059020, 0xe6ce: 0x6c027820,\n\t0xe6d4: 0x6c29fe20,\n\t0xe6d9: 0x6c027220, 0xe6db: 0x6c2a0820,\n\t0xe6de: 0x6c2a0020, 0xe6df: 0x6c2a0620,\n\t0xe6e4: 0x6c11d420,\n\t0xe6e9: 0x6c2a0220,\n\t0xe6ec: 0x6c2a0420, 0xe6ed: 0x6c12ac20, 0xe6ee: 0x6c121420, 0xe6ef: 0x6c2a0a20,\n\t0xe6f8: 0x6c0df220, 0xe6f9: 0x6c2a1e20, 0xe6fb: 0x6c2a1620,\n\t0xe6fe: 0x6c020e20,\n\t// Block 0x39c, offset 0xe700\n\t0xe700: 0x6c2a1220, 0xe702: 0x6c13e820, 0xe703: 0x6c2a1420,\n\t0xe706: 0x6c2a0e20,\n\t0xe708: 0x6c2a1020, 0xe709: 0x6c2a1a20, 0xe70a: 0x6c2a2020,\n\t0xe70d: 0x6c2a1c20,\n\t0xe711: 0x6c2a1820, 0xe712: 0x6c2a0c20,\n\t0xe718: 0x6c0e6420, 0xe71a: 0x6c2a2e20,\n\t0xe71c: 0x6c14a420,\n\t0xe725: 0x6c2a2a20,\n\t0xe729: 0x6c2a2c20,\n\t0xe734: 0x6c2a2220, 0xe737: 0x6c2a2620,\n\t0xe73b: 0x6c2a2820,\n\t0xe73f: 0x6c2a2420,\n\t// Block 0x39d, offset 0xe740\n\t0xe749: 0x6c0c4c20, 0xe74b: 0x6c16f620,\n\t0xe74c: 0x6c2a3620, 0xe74e: 0x6c2a3820,\n\t0xe753: 0x6c2a4420,\n\t0xe755: 0x6c0b1820, 0xe757: 0x6c2a3c20,\n\t0xe759: 0x6c2a4220,\n\t0xe75f: 0x6c2a3220,\n\t0xe760: 0x6c2a3020, 0xe763: 0x6c2a4620,\n\t0xe766: 0x6c01f020,\n\t0xe768: 0x6c2a3e20, 0xe76a: 0x6c2a4820,\n\t0xe76e: 0x6c2a4020,\n\t0xe774: 0x6c2a3a20, 0xe776: 0x6c0ed620,\n\t0xe778: 0x6c2a3420,\n\t0xe77f: 0x6c117420,\n\t// Block 0x39e, offset 0xe780\n\t0xe782: 0x6c2a5020,\n\t0xe78d: 0x6c158220,\n\t0xe79f: 0x6c2a4e20,\n\t0xe7a2: 0x6c2a4c20,\n\t0xe7ab: 0x6c2a5e20,\n\t0xe7af: 0x6c2a5220,\n\t0xe7b3: 0x6c2a6220,\n\t0xe7ba: 0x6c15d820, 0xe7bb: 0x6c2a6820,\n\t0xe7bd: 0x6c2a5620,\n\t// Block 0x39f, offset 0xe7c0\n\t0xe7c0: 0x6c2a5820,\n\t0xe7c4: 0x6c2a6020, 0xe7c6: 0x6c2a6620, 0xe7c7: 0x6c2a6420,\n\t0xe7cb: 0x6c2a5420,\n\t0xe7d0: 0x6c2a5a20, 0xe7d2: 0x6c2a7c20,\n\t0xe7e0: 0x6c2a6e20,\n\t0xe7ef: 0x6c2a6a20,\n\t0xe7f2: 0x6c2a6c20,\n\t0xe7f6: 0x6c2a7620, 0xe7f7: 0x6c2a7820,\n\t0xe7f9: 0x6c024820, 0xe7fb: 0x6c03f020,\n\t0xe7fe: 0x6c2a7420,\n\t// Block 0x3a0, offset 0xe800\n\t0xe805: 0x6c2a4a20,\n\t0xe80d: 0x6c2a7220, 0xe80e: 0x6c2a7a20, 0xe80f: 0x6c2a7020,\n\t0xe811: 0x6c2a7e20,\n\t0xe815: 0x6c2a8220, 0xe816: 0x6c2a8020,\n\t0xe821: 0x6c2a8620, 0xe822: 0x6c2a8420, 0xe823: 0x6c29fa20,\n\t0xe827: 0x6c2a8e20,\n\t0xe831: 0x6c2a8820,\n\t0xe836: 0x6c2a8a20,\n\t0xe839: 0x6c2a8c20, 0xe83b: 0x6c2a9020,\n\t// Block 0x3a1, offset 0xe840\n\t0xe840: 0x6c05bc20, 0xe842: 0x6c2a9420,\n\t0xe844: 0x6c2a9220, 0xe846: 0x6c09ac20,\n\t0xe84c: 0x6c070420, 0xe84d: 0x6c218020,\n\t0xe852: 0x6c2a9620, 0xe853: 0x6c09ee20,\n\t0xe857: 0x6c026620,\n\t0xe859: 0x6c2a9820, 0xe85b: 0x6c012020,\n\t0xe85d: 0x6c0ab620, 0xe85e: 0x6c2a9a20,\n\t0xe861: 0x6c070620, 0xe862: 0x6c2a9c20, 0xe863: 0x6c008220,\n\t0xe868: 0x6c129620, 0xe86b: 0x6c2a9e20,\n\t0xe870: 0x6c0b9820, 0xe872: 0x6c2aac20,\n\t0xe875: 0x6c2aa620, 0xe877: 0x6c0e9220,\n\t0xe87d: 0x6c2aa820, 0xe87e: 0x6c2aa220, 0xe87f: 0x6c04e420,\n\t// Block 0x3a2, offset 0xe880\n\t0xe881: 0x6c2aa020, 0xe882: 0x6c2aae20,\n\t0xe888: 0x6c055020, 0xe88b: 0x6c0db420,\n\t0xe88d: 0x6c2aba20,\n\t0xe892: 0x6c2ab220,\n\t0xe896: 0x6c0d6220, 0xe897: 0x6c2ab020,\n\t0xe899: 0x6c2ab620,\n\t0xe89e: 0x6c2aa420,\n\t0xe8a2: 0x6c2ab820,\n\t0xe8a4: 0x6c2abc20,\n\t0xe8ab: 0x6c123e20,\n\t0xe8ae: 0x6c2ab420,\n\t0xe8b0: 0x6c2abe20, 0xe8b1: 0x6c2ac220,\n\t0xe8b4: 0x6c064620, 0xe8b5: 0x6c2aaa20, 0xe8b7: 0x6c004220,\n\t0xe8bf: 0x6c2ac020,\n\t// Block 0x3a3, offset 0xe8c0\n\t0xe8c1: 0x6c07ce20, 0xe8c2: 0x6c16b420, 0xe8c3: 0x6c2ac420,\n\t0xe8c4: 0x6c2ac620, 0xe8c5: 0x6c0d2620,\n\t0xe8cf: 0x6c160c20,\n\t0xe8d4: 0x6c2ac820, 0xe8d5: 0x6c157620,\n\t0xe8d8: 0x6c2aca20, 0xe8d9: 0x6c2acc20,\n\t0xe8dc: 0x6c13a020, 0xe8dd: 0x6c2ace20, 0xe8df: 0x6c079820,\n\t0xe8e1: 0x6c160e20,\n\t0xe8e8: 0x6c2ad820,\n\t0xe8f2: 0x6c2ada20, 0xe8f3: 0x6c0ab820,\n\t0xe8f4: 0x6c2ad620,\n\t0xe8f8: 0x6c15da20, 0xe8f9: 0x6c2ad020,\n\t0xe8fc: 0x6c2ad420, 0xe8fd: 0x6c0bfa20, 0xe8fe: 0x6c0bc020,\n\t// Block 0x3a4, offset 0xe900\n\t0xe902: 0x6c2ad220,\n\t0xe904: 0x6c2adc20, 0xe907: 0x6c131e20,\n\t0xe90a: 0x6c2ae020,\n\t0xe90c: 0x6c2ade20,\n\t0xe910: 0x6c02cc20, 0xe912: 0x6c13ea20, 0xe913: 0x6c2ae220,\n\t0xe91d: 0x6c2afa20, 0xe91e: 0x6c2ae620,\n\t0xe925: 0x6c2ae820,\n\t0xe92a: 0x6c2aea20, 0xe92b: 0x6c2aec20,\n\t0xe936: 0x6c2af420,\n\t0xe938: 0x6c2af620, 0xe93b: 0x6c2af220,\n\t// Block 0x3a5, offset 0xe940\n\t0xe941: 0x6c2aee20, 0xe943: 0x6c2ae420,\n\t0xe944: 0x6c2af020,\n\t0xe94c: 0x6c2af820, 0xe94d: 0x6c2ed820,\n\t0xe956: 0x6c018820,\n\t0xe95e: 0x6c2afe20, 0xe95f: 0x6c04e620,\n\t0xe960: 0x6c2afc20,\n\t0xe964: 0x6c2b0220, 0xe966: 0x6c2b0020,\n\t0xe96a: 0x6c2b0620,\n\t0xe96d: 0x6c2b0420, 0xe96f: 0x6c2b0820,\n\t0xe972: 0x6c09ae20,\n\t0xe974: 0x6c2b0a20, 0xe977: 0x6c2b0c20,\n\t0xe97e: 0x6c2b0e20, 0xe97f: 0x6c0bfc20,\n\t// Block 0x3a6, offset 0xe980\n\t0xe981: 0x6c15ba20, 0xe983: 0x6c2b1020,\n\t0xe986: 0x6c132020, 0xe987: 0x6c113020,\n\t0xe988: 0x6c2b1220, 0xe98a: 0x6c2b1420, 0xe98b: 0x6c05f620,\n\t0xe98f: 0x6c03c420,\n\t0xe993: 0x6c2b1620,\n\t0xe996: 0x6c08aa20, 0xe997: 0x6c112620,\n\t0xe998: 0x6c2b1820, 0xe99a: 0x6c029420,\n\t0xe9a1: 0x6c2b1a20,\n\t0xe9a6: 0x6c2b1e20, 0xe9a7: 0x6c15fa20,\n\t0xe9a9: 0x6c2b1c20, 0xe9aa: 0x6c0b5020,\n\t0xe9ac: 0x6c2b2020, 0xe9af: 0x6c2b2220,\n\t0xe9b2: 0x6c2b2420, 0xe9b3: 0x6c035220,\n\t0xe9ba: 0x6c2b2620,\n\t0xe9bd: 0x6c2b2820, 0xe9bf: 0x6c2b2a20,\n\t// Block 0x3a7, offset 0xe9c0\n\t0xe9c0: 0x6c2b2c20,\n\t0xe9d2: 0x6c029620,\n\t0xe9da: 0x6c2b2e20,\n\t0xe9dc: 0x6c2b3020, 0xe9dd: 0x6c2b3220,\n\t0xe9e3: 0x6c021c20,\n\t0xe9e6: 0x6c0b1420, 0xe9e7: 0x6c2b3420,\n\t0xe9f4: 0x6c2b3620,\n\t0xe9f8: 0x6c2b3820,\n\t// Block 0x3a8, offset 0xea00\n\t0xea00: 0x6c062020, 0xea02: 0x6c0f6620, 0xea03: 0x6c2b3a20,\n\t0xea08: 0x6c059220, 0xea0a: 0x6c0b7020,\n\t0xea0c: 0x6c2b4020, 0xea0e: 0x6c103020,\n\t0xea10: 0x6c2b3e20, 0xea13: 0x6c054620,\n\t0xea16: 0x6c2b3c20, 0xea17: 0x6c0de620,\n\t0xea18: 0x6c03c620, 0xea1b: 0x6c2b4220,\n\t0xea1d: 0x6c2b4420, 0xea1f: 0x6c0aba20,\n\t0xea23: 0x6c05be20,\n\t0xea25: 0x6c2b4620,\n\t0xea2a: 0x6c13ec20,\n\t0xea2d: 0x6c0c3e20,\n\t0xea31: 0x6c045820, 0xea33: 0x6c153a20,\n\t0xea34: 0x6c0cd020, 0xea36: 0x6c2b4820,\n\t0xea3a: 0x6c0b5220, 0xea3b: 0x6c0e9420,\n\t0xea3c: 0x6c0abc20,\n\t// Block 0x3a9, offset 0xea40\n\t0xea41: 0x6c2b4a20,\n\t0xea46: 0x6c2b5020,\n\t0xea48: 0x6c2b5220,\n\t0xea50: 0x6c079420, 0xea51: 0x6c0d7c20, 0xea52: 0x6c2b4e20,\n\t0xea54: 0x6c0abe20, 0xea55: 0x6c129820,\n\t0xea5b: 0x6c2b4c20,\n\t0xea5e: 0x6c08ac20,\n\t0xea60: 0x6c012220, 0xea62: 0x6c2b5a20, 0xea63: 0x6c059420,\n\t0xea66: 0x6c08b020,\n\t0xea69: 0x6c08ae20, 0xea6b: 0x6c171e20,\n\t0xea6c: 0x6c2b5820, 0xea6d: 0x6c2b5620, 0xea6e: 0x6c0c8a20,\n\t0xea70: 0x6c040620, 0xea71: 0x6c170a20, 0xea72: 0x6c026820, 0xea73: 0x6c0ac020,\n\t0xea7c: 0x6c2b5420,\n\t// Block 0x3aa, offset 0xea80\n\t0xea82: 0x6c2b5e20,\n\t0xea84: 0x6c2b6020, 0xea85: 0x6c2b5c20, 0xea87: 0x6c065020,\n\t0xea89: 0x6c158c20,\n\t0xea8c: 0x6c08b220, 0xea8d: 0x6c10f220,\n\t0xea91: 0x6c2b6620, 0xea93: 0x6c0c0020,\n\t0xea95: 0x6c0e3820,\n\t0xea98: 0x6c157820, 0xea9a: 0x6c2b6c20,\n\t0xea9e: 0x6c067820,\n\t0xeaa0: 0x6c0bfe20, 0xeaa1: 0x6c2b6420, 0xeaa3: 0x6c2b6e20,\n\t0xeaa4: 0x6c067a20, 0xeaa5: 0x6c2b6820, 0xeaa6: 0x6c2b6a20,\n\t0xeaa8: 0x6c2b6220,\n\t0xeaac: 0x6c0c4420, 0xeaad: 0x6c107a20,\n\t0xeab0: 0x6c0e1220, 0xeab2: 0x6c01f220,\n\t0xeab9: 0x6c124020,\n\t0xeabc: 0x6c03f220, 0xeabf: 0x6c0ed820,\n\t// Block 0x3ab, offset 0xeac0\n\t0xeac2: 0x6c2b7420,\n\t0xeac4: 0x6c2b7020, 0xeac7: 0x6c0e4c20,\n\t0xeacb: 0x6c0c0220,\n\t0xeacc: 0x6c035420, 0xeacd: 0x6c2b7220, 0xeacf: 0x6c0b7a20,\n\t0xead2: 0x6c165c20,\n\t0xead6: 0x6c170420,\n\t0xeada: 0x6c2b7620, 0xeadb: 0x6c2b8c20,\n\t0xeadc: 0x6c0eda20, 0xeade: 0x6c2b8a20,\n\t0xeae0: 0x6c2b8420, 0xeae1: 0x6c2b9420, 0xeae2: 0x6c2b8620,\n\t0xeae4: 0x6c2b7e20, 0xeae6: 0x6c0f6820, 0xeae7: 0x6c2b7c20,\n\t0xeaeb: 0x6c2b7820,\n\t0xeaed: 0x6c154e20, 0xeaee: 0x6c08b420,\n\t0xeaf1: 0x6c2b8020, 0xeaf3: 0x6c2b7a20,\n\t0xeaf7: 0x6c2b8820,\n\t0xeaf8: 0x6c0a3420, 0xeafa: 0x6c062220,\n\t0xeafe: 0x6c0dec20,\n\t// Block 0x3ac, offset 0xeb00\n\t0xeb00: 0x6c141e20, 0xeb01: 0x6c013020, 0xeb02: 0x6c008420,\n\t0xeb04: 0x6c103220, 0xeb07: 0x6c2b9020,\n\t0xeb0c: 0x6c2b8e20, 0xeb0e: 0x6c10b420,\n\t0xeb10: 0x6c2b9820,\n\t0xeb14: 0x6c2b8220, 0xeb16: 0x6c2b9620, 0xeb17: 0x6c2b9a20,\n\t0xeb19: 0x6c05f820, 0xeb1a: 0x6c2b9220, 0xeb1b: 0x6c070820,\n\t0xeb1d: 0x6c093a20,\n\t0xeb20: 0x6c2b9c20, 0xeb21: 0x6c15bc20,\n\t0xeb26: 0x6c2ba220,\n\t0xeb28: 0x6c2ba820, 0xeb2b: 0x6c2ba420,\n\t0xeb2c: 0x6c128620,\n\t0xeb33: 0x6c2b9e20,\n\t0xeb39: 0x6c04e820,\n\t0xeb3e: 0x6c2ba620,\n\t// Block 0x3ad, offset 0xeb40\n\t0xeb41: 0x6c2baa20,\n\t0xeb49: 0x6c2bb220,\n\t0xeb4c: 0x6c2bac20, 0xeb4e: 0x6c2bb020, 0xeb4f: 0x6c2bae20,\n\t0xeb56: 0x6c2bb420,\n\t0xeb58: 0x6c08f220, 0xeb5a: 0x6c2bb820, 0xeb5b: 0x6c2bb620,\n\t0xeb5c: 0x6c12ec20, 0xeb5f: 0x6c2bbc20,\n\t0xeb66: 0x6c059620,\n\t0xeb6b: 0x6c2bba20,\n\t0xeb6c: 0x6c2bbe20, 0xeb6f: 0x6c2bc020,\n\t0xeb70: 0x6c03f420, 0xeb71: 0x6c279420, 0xeb72: 0x6c0afa20,\n\t0xeb74: 0x6c2bc220, 0xeb77: 0x6c067c20,\n\t0xeb7d: 0x6c2bc420,\n\t// Block 0x3ae, offset 0xeb80\n\t0xeb80: 0x6c2bc620, 0xeb83: 0x6c085020,\n\t0xeb8a: 0x6c1ede20,\n\t0xeb8c: 0x6c2bc820, 0xeb8e: 0x6c2bca20,\n\t0xeb90: 0x6c09b020, 0xeb92: 0x6c2bcc20, 0xeb93: 0x6c2bce20,\n\t0xeb96: 0x6c2bd020,\n\t0xeb99: 0x6c2bd220, 0xeb9a: 0x6c2bd420,\n\t// Block 0x3af, offset 0xebc0\n\t0xebf7: 0x6c0e0a20,\n\t0xebfa: 0x6c2bd620,\n\t0xebff: 0x6c2bda20,\n\t// Block 0x3b0, offset 0xec00\n\t0xec01: 0x6c2bd820,\n\t0xec06: 0x6c103420,\n\t0xec08: 0x6c2bdc20, 0xec0a: 0x6c13ee20,\n\t0xec0c: 0x6c2bde20, 0xec0e: 0x6c2be020,\n\t0xec10: 0x6c2be220,\n\t0xec15: 0x6c2be420,\n\t0xec1a: 0x6c109c20,\n\t0xec21: 0x6c0ac220, 0xec22: 0x6c2be620,\n\t0xec2a: 0x6c073220, 0xec2b: 0x6c174620,\n\t0xec2c: 0x6c2be820,\n\t0xec38: 0x6c2bea20, 0xec39: 0x6c129a20, 0xec3a: 0x6c2bec20,\n\t0xec3c: 0x6c2bfc20,\n\t// Block 0x3b1, offset 0xec40\n\t0xec42: 0x6c2bee20,\n\t0xec45: 0x6c2bf220,\n\t0xec49: 0x6c2bf020, 0xec4a: 0x6c2bf420,\n\t0xec4c: 0x6c142020, 0xec4d: 0x6c2bf620, 0xec4e: 0x6c2bf820,\n\t0xec54: 0x6c2bfa20,\n\t0xec58: 0x6c2bfe20,\n\t0xec5d: 0x6c024e20, 0xec5e: 0x6c0f3e20,\n\t0xec60: 0x6c12ee20, 0xec61: 0x6c07dc20, 0xec62: 0x6c070a20,\n\t0xec67: 0x6c12ba20,\n\t0xec68: 0x6c01f620, 0xec69: 0x6c11fc20, 0xec6a: 0x6c2c0420, 0xec6b: 0x6c035620,\n\t0xec6c: 0x6c0c2a20, 0xec6d: 0x6c2c0220, 0xec6e: 0x6c2c0c20, 0xec6f: 0x6c0ea620,\n\t0xec70: 0x6c151620, 0xec72: 0x6c2c0820, 0xec73: 0x6c2c0a20,\n\t0xec74: 0x6c03c820, 0xec76: 0x6c2c0e20, 0xec77: 0x6c116a20,\n\t0xec78: 0x6c0db620, 0xec7b: 0x6c124220,\n\t0xec7c: 0x6c0fa620, 0xec7d: 0x6c2c0620, 0xec7f: 0x6c142220,\n\t// Block 0x3b2, offset 0xec80\n\t0xec80: 0x6c021020, 0xec81: 0x6c2c1220, 0xec82: 0x6c16d420, 0xec83: 0x6c0ef420,\n\t0xec84: 0x6c170e20, 0xec87: 0x6c08b620,\n\t0xec88: 0x6c2c1020, 0xec8a: 0x6c0d5a20,\n\t0xec8d: 0x6c2c3220, 0xec8e: 0x6c0c8c20,\n\t0xec91: 0x6c10d820, 0xec93: 0x6c12bc20,\n\t0xec9a: 0x6c2c1820, 0xec9b: 0x6c085220,\n\t0xec9c: 0x6c08b820, 0xec9e: 0x6c0ac420,\n\t0xeca0: 0x6c116e20, 0xeca2: 0x6c05fa20, 0xeca3: 0x6c2c1620,\n\t0xeca4: 0x6c2c1420, 0xeca6: 0x6c12f020,\n\t0xecaa: 0x6c091220,\n\t0xecad: 0x6c0fd020,\n\t0xecba: 0x6c2c1c20, 0xecbb: 0x6c2c1e20,\n\t0xecbc: 0x6c070c20, 0xecbd: 0x6c2c1a20,\n\t// Block 0x3b3, offset 0xecc0\n\t0xecc4: 0x6c2c2020, 0xecc5: 0x6c2c2220, 0xecc7: 0x6c2c2620,\n\t0xecc8: 0x6c0d3e20, 0xecca: 0x6c2c2420, 0xeccb: 0x6c037c20,\n\t0xeccd: 0x6c2c2a20, 0xeccf: 0x6c2c2820,\n\t0xecd0: 0x6c2c2c20, 0xecd3: 0x6c2c3020,\n\t0xecd4: 0x6c2c3420, 0xecd6: 0x6c2c3620,\n\t// Block 0x3b4, offset 0xed00\n\t0xed24: 0x6c0c2c20, 0xed26: 0x6c092e20, 0xed27: 0x6c2c3820,\n\t0xed2b: 0x6c029820,\n\t0xed2d: 0x6c2c3a20,\n\t0xed30: 0x6c0d2820, 0xed31: 0x6c2c3c20, 0xed33: 0x6c2c3e20,\n\t0xed34: 0x6c12f220, 0xed37: 0x6c03ca20,\n\t// Block 0x3b5, offset 0xed40\n\t0xed41: 0x6c2c4020,\n\t0xed45: 0x6c0edc20,\n\t0xed4a: 0x6c013220,\n\t0xed59: 0x6c2c4220,\n\t0xed63: 0x6c097220,\n\t0xed68: 0x6c0bb020,\n\t0xed73: 0x6c0d5220,\n\t0xed7a: 0x6c2c4820,\n\t0xed7e: 0x6c2c4620,\n\t// Block 0x3b6, offset 0xed80\n\t0xed82: 0x6c2c4420,\n\t0xed8b: 0x6c2c5420,\n\t0xed8c: 0x6c2c5020, 0xed8f: 0x6c2c4a20,\n\t0xed96: 0x6c2c4e20,\n\t0xed9a: 0x6c2c4c20, 0xed9b: 0x6c2c5220,\n\t0xed9d: 0x6c045a20, 0xed9f: 0x6c2c5a20,\n\t0xeda1: 0x6c0c2e20, 0xeda3: 0x6c2c5c20,\n\t0xeda8: 0x6c065220, 0xedaa: 0x6c2c5620, 0xedab: 0x6c2c5820,\n\t0xedaf: 0x6c16d620,\n\t0xedb3: 0x6c0ede20,\n\t0xedb5: 0x6c0c8e20,\n\t0xedbc: 0x6c2c5e20, 0xedbf: 0x6c2c6420,\n\t// Block 0x3b7, offset 0xedc0\n\t0xedc8: 0x6c2c6020, 0xedc9: 0x6c2c6220, 0xedca: 0x6c15be20,\n\t0xedcf: 0x6c103620,\n\t0xedd0: 0x6c2c6a20,\n\t0xeddd: 0x6c2c6620, 0xedde: 0x6c2c6820, 0xeddf: 0x6c2c6c20,\n\t0xedea: 0x6c2c8820,\n\t0xedf0: 0x6c2c7220,\n\t0xedf4: 0x6c2c7420, 0xedf5: 0x6c2c7020,\n\t// Block 0x3b8, offset 0xee00\n\t0xee02: 0x6c2c6e20,\n\t0xee04: 0x6c0f6a20, 0xee07: 0x6c2c7820,\n\t0xee08: 0x6c2c8020, 0xee09: 0x6c2c7a20, 0xee0a: 0x6c2c7620,\n\t0xee0c: 0x6c2c7c20,\n\t0xee10: 0x6c2c7e20,\n\t0xee15: 0x6c2c8c20,\n\t0xee19: 0x6c2c8220,\n\t0xee1f: 0x6c0c3020,\n\t0xee20: 0x6c2c8620, 0xee23: 0x6c2c8a20,\n\t0xee24: 0x6c2c8420,\n\t0xee32: 0x6c2c9020,\n\t0xee34: 0x6c09b220, 0xee36: 0x6c2c8e20,\n\t0xee3c: 0x6c2c9220,\n\t// Block 0x3b9, offset 0xee40\n\t0xee41: 0x6c2c9420,\n\t0xee44: 0x6c2c9a20, 0xee45: 0x6c2c9820, 0xee47: 0x6c2c9620,\n\t0xee4a: 0x6c2c9e20, 0xee4b: 0x6c2c9c20,\n\t0xee4d: 0x6c153c20,\n\t0xee51: 0x6c2ca220, 0xee53: 0x6c2ca020,\n\t0xee54: 0x6c2ca420,\n\t0xee59: 0x6c2ca620,\n\t0xee61: 0x6c2caa20,\n\t0xee6a: 0x6c2ca820, 0xee6b: 0x6c0b5420,\n\t0xee6c: 0x6c2cac20, 0xee6f: 0x6c050220,\n\t0xee70: 0x6c2cae20, 0xee71: 0x6c2cb220,\n\t0xee7e: 0x6c2cb420,\n\t// Block 0x3ba, offset 0xee80\n\t0xee85: 0x6c2cb620, 0xee86: 0x6c2cb020,\n\t0xee88: 0x6c2cb820, 0xee8a: 0x6c093c20, 0xee8b: 0x6c2cba20,\n\t0xee8c: 0x6c03cc20, 0xee8d: 0x6c054a20,\n\t0xee92: 0x6c05fc20,\n\t0xee9b: 0x6c2cbc20,\n\t0xee9f: 0x6c10c820,\n\t0xeea2: 0x6c0fa820, 0xeea3: 0x6c2cbe20,\n\t0xeeab: 0x6c2cc420,\n\t0xeeb8: 0x6c08f820, 0xeebb: 0x6c2cc220,\n\t0xeebc: 0x6c2cc020, 0xeebd: 0x6c059820, 0xeebe: 0x6c2cc620,\n\t// Block 0x3bb, offset 0xeec0\n\t0xeec3: 0x6c029a20,\n\t0xeec5: 0x6c2cca20,\n\t0xeec9: 0x6c07d020, 0xeeca: 0x6c2cc820,\n\t0xeecc: 0x6c2cda20,\n\t0xeed2: 0x6c2cce20, 0xeed3: 0x6c2cd220,\n\t0xeed4: 0x6c13a220, 0xeed5: 0x6c2ccc20,\n\t0xeed9: 0x6c2cd020, 0xeedb: 0x6c2cd820,\n\t0xeedc: 0x6c2cd420, 0xeedd: 0x6c03ce20, 0xeedf: 0x6c2cd620,\n\t0xeee6: 0x6c2cdc20,\n\t0xeee9: 0x6c115820, 0xeeea: 0x6c167820,\n\t0xeeef: 0x6c09b420,\n\t0xeef3: 0x6c2cde20,\n\t0xeef8: 0x6c155020, 0xeef9: 0x6c2ce220, 0xeefb: 0x6c2ce020,\n\t0xeefe: 0x6c2ce820, 0xeeff: 0x6c158e20,\n\t// Block 0x3bc, offset 0xef00\n\t0xef02: 0x6c2ce620,\n\t0xef04: 0x6c02ce20, 0xef05: 0x6c2ce420, 0xef06: 0x6c2cee20,\n\t0xef09: 0x6c2cec20,\n\t0xef0c: 0x6c2cea20, 0xef0d: 0x6c0f9020, 0xef0e: 0x6c2cf020,\n\t0xef17: 0x6c2cf220,\n\t0xef1c: 0x6c2cf420, 0xef1f: 0x6c073420,\n\t0xef21: 0x6c052e20, 0xef22: 0x6c2cf620, 0xef23: 0x6c2cf820,\n\t0xef24: 0x6c2cfa20,\n\t// Block 0x3bd, offset 0xef40\n\t0xef5b: 0x6c0b5620,\n\t0xef5c: 0x6c2cfc20, 0xef5e: 0x6c08ea20, 0xef5f: 0x6c2cfe20,\n\t0xef63: 0x6c2d0020,\n\t0xef67: 0x6c18a420,\n\t0xef68: 0x6c18a220,\n\t0xef6d: 0x6c2d0220, 0xef6e: 0x6c273620, 0xef6f: 0x6c2d0420,\n\t0xef70: 0x6c0dfc20, 0xef71: 0x6c0b1a20, 0xef72: 0x6c112420,\n\t0xef77: 0x6c2d0620,\n\t0xef7a: 0x6c138220, 0xef7b: 0x6c0f1820,\n\t0xef7c: 0x6c075820, 0xef7f: 0x6c0e0620,\n\t// Block 0x3be, offset 0xef80\n\t0xef82: 0x6c00d020,\n\t0xef84: 0x6c148420, 0xef85: 0x6c0b7220,\n\t0xef8e: 0x6c05a020,\n\t0xef91: 0x6c04ea20,\n\t0xef94: 0x6c138420,\n\t0xef9a: 0x6c2d0820,\n\t0xefa2: 0x6c2d0c20,\n\t0xefa5: 0x6c2d0a20, 0xefa6: 0x6c01f820,\n\t0xefa9: 0x6c10d420, 0xefaa: 0x6c2d0e20, 0xefab: 0x6c119220,\n\t0xefad: 0x6c0f9220, 0xefaf: 0x6c2d1020,\n\t0xefb0: 0x6c09f020,\n\t0xefb4: 0x6c2d1420, 0xefb7: 0x6c14d420,\n\t0xefb8: 0x6c2d3220, 0xefb9: 0x6c2d1820, 0xefba: 0x6c2d1a20,\n\t0xefbd: 0x6c0f0220,\n\t// Block 0x3bf, offset 0xefc0\n\t0xefc0: 0x6c0db820, 0xefc1: 0x6c0d2a20, 0xefc3: 0x6c103820,\n\t0xefc5: 0x6c2d1620, 0xefc6: 0x6c041620,\n\t0xefcb: 0x6c2d2820,\n\t0xefcd: 0x6c2d2220, 0xefce: 0x6c2d3c20, 0xefcf: 0x6c103a20,\n\t0xefd0: 0x6c0e7420, 0xefd1: 0x6c2d1c20, 0xefd3: 0x6c0f6c20,\n\t0xefd4: 0x6c0fd220, 0xefd5: 0x6c2d1e20, 0xefd6: 0x6c2d2620, 0xefd7: 0x6c0b8420,\n\t0xefd9: 0x6c117220, 0xefda: 0x6c0f0820,\n\t0xefdd: 0x6c0c0420, 0xefde: 0x6c2d2420, 0xefdf: 0x6c0d5420,\n\t0xefe0: 0x6c0d4020, 0xefe1: 0x6c2d2020, 0xefe2: 0x6c001220, 0xefe3: 0x6c16c820,\n\t0xefe7: 0x6c2d2a20,\n\t0xefee: 0x6c0dba20,\n\t0xeff1: 0x6c09b620, 0xeff2: 0x6c0b5820,\n\t0xeff5: 0x6c2d2e20, 0xeff6: 0x6c2d2c20,\n\t0xeff8: 0x6c009e20, 0xeff9: 0x6c2d3020,\n\t0xeffc: 0x6c127a20, 0xeffe: 0x6c2d4020,\n\t// Block 0x3c0, offset 0xf000\n\t0xf001: 0x6c109e20, 0xf002: 0x6c0b9a20,\n\t0xf005: 0x6c0e6620, 0xf007: 0x6c051820,\n\t0xf009: 0x6c2d3e20, 0xf00a: 0x6c157a20, 0xf00b: 0x6c00fa20,\n\t0xf00d: 0x6c138620, 0xf00e: 0x6c01fa20, 0xf00f: 0x6c2d3420,\n\t0xf010: 0x6c2d3620, 0xf011: 0x6c2d3820, 0xf012: 0x6c2d3a20, 0xf013: 0x6c105e20,\n\t0xf014: 0x6c0dfa20, 0xf015: 0x6c008620, 0xf016: 0x6c2d4220,\n\t0xf018: 0x6c2d4420, 0xf019: 0x6c31a020,\n\t0xf01c: 0x6c0d7220, 0xf01e: 0x6c2d4620,\n\t0xf020: 0x6c016220, 0xf021: 0x6c0cd420, 0xf023: 0x6c05fe20,\n\t0xf025: 0x6c15c020,\n\t0xf028: 0x6c2d4820, 0xf029: 0x6c0f8420,\n\t0xf02d: 0x6c0d2c20, 0xf02e: 0x6c093e20, 0xf02f: 0x6c2d4a20,\n\t0xf032: 0x6c2d5020,\n\t0xf035: 0x6c0a1620, 0xf036: 0x6c2d4c20, 0xf037: 0x6c0c9220,\n\t0xf038: 0x6c0c9020, 0xf03a: 0x6c008820,\n\t0xf03c: 0x6c165e20, 0xf03d: 0x6c2d5420, 0xf03f: 0x6c124420,\n\t// Block 0x3c1, offset 0xf040\n\t0xf040: 0x6c2d5820, 0xf041: 0x6c2d5620, 0xf042: 0x6c2d5220, 0xf043: 0x6c25a620,\n\t0xf044: 0x6c035820, 0xf047: 0x6c2d1220,\n\t0xf049: 0x6c2d5c20, 0xf04a: 0x6c2d5a20,\n\t0xf04f: 0x6c2d5e20,\n\t0xf051: 0x6c157c20,\n\t0xf063: 0x6c10aa20,\n\t0xf066: 0x6c13f020,\n\t0xf068: 0x6c2d6020, 0xf06a: 0x6c094220,\n\t0xf06f: 0x6c2d6220,\n\t0xf071: 0x6c2d6420,\n\t0xf075: 0x6c2d6620,\n\t0xf078: 0x6c0f6e20,\n\t// Block 0x3c2, offset 0xf080\n\t0xf081: 0x6c009420,\n\t0xf08a: 0x6c070e20,\n\t0xf08e: 0x6c16f820,\n\t0xf09b: 0x6c2d6e20,\n\t0xf0a1: 0x6c054c20, 0xf0a2: 0x6c2d6820,\n\t0xf0a4: 0x6c2d6a20,\n\t0xf0a8: 0x6c130420,\n\t0xf0ad: 0x6c029c20,\n\t0xf0b5: 0x6c157e20, 0xf0b7: 0x6c04a620,\n\t0xf0bd: 0x6c0fd420,\n\t// Block 0x3c3, offset 0xf0c0\n\t0xf0c2: 0x6c2d7020,\n\t0xf0d2: 0x6c2d7220,\n\t0xf0d9: 0x6c2d7420,\n\t0xf0ed: 0x6c0f7020,\n\t0xf0f0: 0x6c2d7820, 0xf0f2: 0x6c2d7620,\n\t// Block 0x3c4, offset 0xf100\n\t0xf109: 0x6c108e20, 0xf10a: 0x6c2d7a20, 0xf10b: 0x6c09b820,\n\t0xf10c: 0x6c095020, 0xf10d: 0x6c115a20, 0xf10e: 0x6c0e9620,\n\t0xf112: 0x6c097420,\n\t0xf114: 0x6c0b9c20, 0xf116: 0x6c2d7c20,\n\t0xf118: 0x6c2d7e20,\n\t0xf122: 0x6c0b7e20, 0xf123: 0x6c2d8020,\n\t0xf125: 0x6c2d8220,\n\t0xf129: 0x6c2d8420, 0xf12a: 0x6c15ea20,\n\t0xf12c: 0x6c09ba20,\n\t0xf132: 0x6c2d8820, 0xf133: 0x6c2d8620,\n\t0xf135: 0x6c071020, 0xf137: 0x6c074220,\n\t0xf138: 0x6c085420,\n\t// Block 0x3c5, offset 0xf140\n\t0xf142: 0x6c2d8e20,\n\t0xf147: 0x6c0a1820,\n\t0xf149: 0x6c2d8c20, 0xf14b: 0x6c2d8a20,\n\t0xf14d: 0x6c0dca20,\n\t0xf150: 0x6c067e20, 0xf152: 0x6c0c0620,\n\t0xf157: 0x6c11c020,\n\t0xf15c: 0x6c09be20,\n\t0xf162: 0x6c2d9020,\n\t0xf164: 0x6c0ac620,\n\t0xf16a: 0x6c2d9620, 0xf16b: 0x6c2d9220,\n\t0xf16f: 0x6c2d9420,\n\t0xf174: 0x6c2d9a20, 0xf175: 0x6c2d9820,\n\t0xf178: 0x6c0afc20, 0xf17a: 0x6c2d9c20,\n\t// Block 0x3c6, offset 0xf180\n\t0xf180: 0x6c2d9e20, 0xf181: 0x6c2da020,\n\t0xf186: 0x6c120020, 0xf187: 0x6c07be20,\n\t0xf188: 0x6c095220, 0xf189: 0x6c2da220, 0xf18b: 0x6c2da420,\n\t0xf18c: 0x6c161020, 0xf18d: 0x6c09d620, 0xf18e: 0x6c152c20, 0xf18f: 0x6c166020,\n\t0xf190: 0x6c2da620, 0xf191: 0x6c04ec20,\n\t0xf196: 0x6c2da820,\n\t0xf198: 0x6c0f7220, 0xf19b: 0x6c2dae20,\n\t0xf19c: 0x6c02e420, 0xf19d: 0x6c0b5a20, 0xf19f: 0x6c2daa20,\n\t0xf1a1: 0x6c2dac20, 0xf1a3: 0x6c0f3020,\n\t0xf1a6: 0x6c143e20, 0xf1a7: 0x6c052020,\n\t0xf1b5: 0x6c2db220, 0xf1b6: 0x6c2db420,\n\t0xf1bc: 0x6c2db020, 0xf1bf: 0x6c2db820,\n\t// Block 0x3c7, offset 0xf1c0\n\t0xf1cd: 0x6c10a620, 0xf1ce: 0x6c027a20,\n\t0xf1d1: 0x6c2dc020,\n\t0xf1d4: 0x6c2dba20, 0xf1d5: 0x6c2dbe20,\n\t0xf1de: 0x6c2db620,\n\t0xf1e9: 0x6c2e4c20,\n\t0xf1ec: 0x6c2dbc20,\n\t0xf1f4: 0x6c169e20, 0xf1f7: 0x6c065420,\n\t0xf1ff: 0x6c2dd020,\n\t// Block 0x3c8, offset 0xf200\n\t0xf204: 0x6c0f9420, 0xf205: 0x6c2dc620,\n\t0xf208: 0x6c2dcc20, 0xf209: 0x6c2dc820, 0xf20b: 0x6c2dd220,\n\t0xf210: 0x6c2dd420,\n\t0xf217: 0x6c2dc420,\n\t0xf21a: 0x6c2dde20, 0xf21b: 0x6c016420,\n\t0xf21e: 0x6c2dc220,\n\t0xf222: 0x6c11ba20,\n\t0xf224: 0x6c2dca20, 0xf226: 0x6c0ac820,\n\t0xf231: 0x6c071220,\n\t0xf23e: 0x6c142420,\n\t// Block 0x3c9, offset 0xf240\n\t0xf240: 0x6c04f020, 0xf243: 0x6c09d820,\n\t0xf245: 0x6c106020,\n\t0xf251: 0x6c0c9620, 0xf253: 0x6c2dda20,\n\t0xf255: 0x6c2dce20, 0xf256: 0x6c2dd820,\n\t0xf258: 0x6c14d620, 0xf25a: 0x6c0ee020, 0xf25b: 0x6c2ddc20,\n\t0xf25c: 0x6c2dd620,\n\t0xf26d: 0x6c0c9420,\n\t0xf277: 0x6c2de420,\n\t0xf279: 0x6c2de220,\n\t// Block 0x3ca, offset 0xf280\n\t0xf28f: 0x6c2de020,\n\t0xf292: 0x6c13f220,\n\t0xf2a4: 0x6c0a4220,\n\t0xf2a9: 0x6c2de620, 0xf2aa: 0x6c139620,\n\t0xf2ad: 0x6c012420,\n\t0xf2b2: 0x6c12a820, 0xf2b3: 0x6c0e9820,\n\t0xf2b8: 0x6c045c20, 0xf2ba: 0x6c2dea20,\n\t0xf2bc: 0x6c071620,\n\t// Block 0x3cb, offset 0xf2c0\n\t0xf2c6: 0x6c082c20,\n\t0xf2cf: 0x6c2de820,\n\t0xf2d0: 0x6c0b9e20,\n\t0xf2d8: 0x6c0ba020, 0xf2d9: 0x6c2df020, 0xf2da: 0x6c2df420,\n\t0xf2e0: 0x6c0afe20, 0xf2e2: 0x6c2df220, 0xf2e3: 0x6c2df620,\n\t0xf2e6: 0x6c04ce20,\n\t0xf2e8: 0x6c12a620, 0xf2eb: 0x6c095420,\n\t0xf2ec: 0x6c16ca20, 0xf2ee: 0x6c2dee20, 0xf2ef: 0x6c080820,\n\t0xf2f2: 0x6c170220,\n\t0xf2f5: 0x6c2dfa20,\n\t0xf2fa: 0x6c2df820, 0xf2fb: 0x6c2dfc20,\n\t// Block 0x3cc, offset 0xf300\n\t0xf304: 0x6c2dec20,\n\t0xf30b: 0x6c10ba20,\n\t0xf30d: 0x6c0fd620,\n\t0xf314: 0x6c0f1e20, 0xf316: 0x6c2e0620,\n\t0xf31b: 0x6c0e3a20,\n\t0xf31c: 0x6c2dfe20,\n\t0xf320: 0x6c2e0020,\n\t0xf32c: 0x6c053e20, 0xf32e: 0x6c2e0420,\n\t0xf335: 0x6c060020,\n\t0xf33c: 0x6c2e0220, 0xf33e: 0x6c0aca20,\n\t// Block 0x3cd, offset 0xf340\n\t0xf34c: 0x6c02e620,\n\t0xf354: 0x6c2e0e20, 0xf356: 0x6c079620, 0xf357: 0x6c0d2e20,\n\t0xf35a: 0x6c0f0420,\n\t0xf367: 0x6c026a20,\n\t0xf36c: 0x6c2e0a20, 0xf36d: 0x6c2e0c20, 0xf36e: 0x6c0ef620,\n\t0xf370: 0x6c2e0820,\n\t0xf379: 0x6c2e1020,\n\t// Block 0x3ce, offset 0xf380\n\t0xf383: 0x6c2e1c20,\n\t0xf388: 0x6c2e2220,\n\t0xf390: 0x6c2e2020, 0xf391: 0x6c0f8620,\n\t0xf396: 0x6c2e1220, 0xf397: 0x6c2e1420,\n\t0xf398: 0x6c2e1a20,\n\t0xf39d: 0x6c2e1e20,\n\t0xf3a1: 0x6c04a820,\n\t0xf3a4: 0x6c2e2420, 0xf3a5: 0x6c2e1820,\n\t0xf3a8: 0x6c2e1620,\n\t// Block 0x3cf, offset 0xf3c0\n\t0xf3c3: 0x6c2e2c20,\n\t0xf3c7: 0x6c2e2e20,\n\t0xf3d0: 0x6c2e3020, 0xf3d3: 0x6c2e2a20,\n\t0xf3d4: 0x6c2e2820,\n\t0xf3d8: 0x6c0acc20, 0xf3d9: 0x6c103c20, 0xf3da: 0x6c2e2620,\n\t0xf3e1: 0x6c2e3820,\n\t0xf3eb: 0x6c2e3420,\n\t0xf3f5: 0x6c2e3620, 0xf3f6: 0x6c2e3220,\n\t0xf3f8: 0x6c0de820, 0xf3fa: 0x6c2e3a20,\n\t// Block 0x3d0, offset 0xf400\n\t0xf401: 0x6c2e3c20,\n\t0xf404: 0x6c2e4020,\n\t0xf411: 0x6c035a20, 0xf412: 0x6c2e3e20, 0xf413: 0x6c154420,\n\t0xf41a: 0x6c2e5620, 0xf41b: 0x6c2e4220,\n\t0xf41e: 0x6c2e4820,\n\t0xf420: 0x6c2e4420, 0xf422: 0x6c2e4620,\n\t0xf42a: 0x6c2e4a20,\n\t0xf430: 0x6c2e4e20,\n\t0xf435: 0x6c2e5020, 0xf437: 0x6c2e5220,\n\t0xf43c: 0x6c2e5820, 0xf43d: 0x6c2e5420, 0xf43e: 0x6c2e5a20, 0xf43f: 0x6c2e5e20,\n\t// Block 0x3d1, offset 0xf440\n\t0xf441: 0x6c2e5c20,\n\t// Block 0x3d2, offset 0xf480\n\t0xf4b7: 0x6c0ee220,\n\t// Block 0x3d3, offset 0xf4c0\n\t0xf4c0: 0x6c151e20, 0xf4c2: 0x6c2e6020, 0xf4c3: 0x6c0c9820,\n\t0xf4c7: 0x6c2e6220,\n\t0xf4c9: 0x6c136020, 0xf4ca: 0x6c2e6420, 0xf4cb: 0x6c024a20,\n\t0xf4cf: 0x6c00f420,\n\t0xf4d1: 0x6c035e20, 0xf4d3: 0x6c035c20,\n\t0xf4d4: 0x6c2e6620, 0xf4d6: 0x6c2e6820,\n\t0xf4d8: 0x6c2e6a20, 0xf4d9: 0x6c2e6c20,\n\t0xf4e0: 0x6c2e6e20, 0xf4e2: 0x6c036020, 0xf4e3: 0x6c029e20,\n\t0xf4e4: 0x6c071820, 0xf4e5: 0x6c11cc20, 0xf4e7: 0x6c2e7220,\n\t0xf4e8: 0x6c2e7020,\n\t0xf4ed: 0x6c2e7420,\n\t0xf4f2: 0x6c013420,\n\t0xf4f9: 0x6c2e7a20, 0xf4fb: 0x6c2e7820,\n\t0xf4fc: 0x6c2e7620, 0xf4fe: 0x6c2e7c20,\n\t// Block 0x3d4, offset 0xf500\n\t0xf503: 0x6c2e8220,\n\t0xf507: 0x6c004e20,\n\t0xf50a: 0x6c2e7e20,\n\t0xf50c: 0x6c2e8620, 0xf50d: 0x6c2e8420,\n\t0xf514: 0x6c2e8a20, 0xf515: 0x6c2e8820, 0xf516: 0x6c2e8c20,\n\t0xf518: 0x6c104420,\n\t0xf51c: 0x6c2e8e20,\n\t0xf521: 0x6c2e9020, 0xf522: 0x6c2e9420,\n\t0xf525: 0x6c2e9220,\n\t// Block 0x3d5, offset 0xf540\n\t0xf55c: 0x6c12f420,\n\t0xf561: 0x6c2e9620,\n\t0xf568: 0x6c2e9820, 0xf56a: 0x6c07e220,\n\t0xf56e: 0x6c2e9a20, 0xf56f: 0x6c2e9c20,\n\t0xf572: 0x6c142620,\n\t0xf57b: 0x6c0cd220,\n\t0xf57f: 0x6c000820,\n\t// Block 0x3d6, offset 0xf580\n\t0xf580: 0x6c0d8e20, 0xf582: 0x6c2e9e20,\n\t0xf584: 0x6c12f620,\n\t0xf58b: 0x6c2ea420,\n\t0xf58c: 0x6c2ea020, 0xf58d: 0x6c071a20, 0xf58f: 0x6c2ea220,\n\t0xf590: 0x6c062420,\n\t0xf59b: 0x6c136220,\n\t0xf59c: 0x6c2ea820, 0xf59d: 0x6c2eac20, 0xf59e: 0x6c2eaa20, 0xf59f: 0x6c2eae20,\n\t0xf5a2: 0x6c00be20, 0xf5a3: 0x6c0b7420,\n\t0xf5a4: 0x6c0a4420, 0xf5a5: 0x6c036220, 0xf5a6: 0x6c2eb020,\n\t0xf5aa: 0x6c117020,\n\t0xf5ac: 0x6c2eb420,\n\t0xf5b0: 0x6c00c020, 0xf5b2: 0x6c2eb220, 0xf5b3: 0x6c0ef820,\n\t0xf5b5: 0x6c166220, 0xf5b6: 0x6c103e20, 0xf5b7: 0x6c2ea620,\n\t0xf5b8: 0x6c161420, 0xf5ba: 0x6c060220,\n\t0xf5bd: 0x6c15c220,\n\t// Block 0x3d7, offset 0xf5c0\n\t0xf5c5: 0x6c051a20, 0xf5c6: 0x6c163020,\n\t0xf5c8: 0x6c053420, 0xf5ca: 0x6c0dbc20, 0xf5cb: 0x6c281020,\n\t0xf5cd: 0x6c2eb620, 0xf5ce: 0x6c024c20, 0xf5cf: 0x6c0ba220,\n\t0xf5d4: 0x6c02a020, 0xf5d5: 0x6c2eba20, 0xf5d7: 0x6c2ebc20,\n\t0xf5d8: 0x6c2eb820, 0xf5d9: 0x6c05ac20, 0xf5db: 0x6c07d220,\n\t0xf5dc: 0x6c0ace20,\n\t0xf5e0: 0x6c00c220, 0xf5e3: 0x6c167a20,\n\t0xf5e7: 0x6c2ec020,\n\t0xf5e8: 0x6c2d4e20, 0xf5ea: 0x6c2ebe20,\n\t0xf5f0: 0x6c2ec620, 0xf5f1: 0x6c2ec220, 0xf5f2: 0x6c2ec420,\n\t0xf5f4: 0x6c2ec820, 0xf5f6: 0x6c2eca20, 0xf5f7: 0x6c16a020,\n\t0xf5f8: 0x6c2ecc20, 0xf5f9: 0x6c2ece20, 0xf5fb: 0x6c0c1220,\n\t0xf5fc: 0x6c11d620,\n\t// Block 0x3d8, offset 0xf600\n\t0xf600: 0x6c0bbe20, 0xf601: 0x6c037e20,\n\t0xf604: 0x6c158020, 0xf605: 0x6c021220, 0xf606: 0x6c09bc20, 0xf607: 0x6c065620,\n\t0xf609: 0x6c2ed420, 0xf60b: 0x6c2ed220,\n\t0xf60c: 0x6c08ba20, 0xf60d: 0x6c2ed620, 0xf60e: 0x6c2ed020,\n\t0xf611: 0x6c082420,\n\t0xf615: 0x6c2ede20, 0xf616: 0x6c2a5c20,\n\t0xf619: 0x6c190e20, 0xf61b: 0x6c0bb220,\n\t0xf61c: 0x6c2eda20,\n\t0xf622: 0x6c161220, 0xf623: 0x6c10ca20,\n\t0xf628: 0x6c00d220, 0xf62a: 0x6c0c4620, 0xf62b: 0x6c08fc20,\n\t0xf630: 0x6c134620, 0xf632: 0x6c00fc20,\n\t0xf636: 0x6c16a220, 0xf637: 0x6c15e220,\n\t0xf639: 0x6c2ee020, 0xf63b: 0x6c0fb620,\n\t// Block 0x3d9, offset 0xf640\n\t0xf640: 0x6c098620,\n\t0xf644: 0x6c2ee220, 0xf646: 0x6c2ee420, 0xf647: 0x6c0b5c20,\n\t0xf648: 0x6c2ee620, 0xf64a: 0x6c16a420,\n\t0xf64d: 0x6c2edc20, 0xf64e: 0x6c2eea20, 0xf64f: 0x6c2eee20,\n\t0xf651: 0x6c2eec20, 0xf653: 0x6c2ee820,\n\t0xf656: 0x6c2ef020,\n\t0xf659: 0x6c2ef220,\n\t0xf65c: 0x6c0d3020, 0xf65e: 0x6c01fc20,\n\t0xf664: 0x6c2ef420, 0xf667: 0x6c14c020,\n\t0xf66a: 0x6c2ef620,\n\t0xf670: 0x6c2ef820, 0xf672: 0x6c16d820,\n\t0xf678: 0x6c1f6020, 0xf679: 0x6c2efa20,\n\t0xf67d: 0x6c2efc20, 0xf67e: 0x6c2efe20,\n\t// Block 0x3da, offset 0xf680\n\t0xf682: 0x6c2f0620,\n\t0xf684: 0x6c2f0020, 0xf686: 0x6c2f0220,\n\t0xf688: 0x6c2f0420, 0xf689: 0x6c2f0820,\n\t0xf692: 0x6c0c0820,\n\t0xf696: 0x6c153e20,\n\t0xf699: 0x6c0c0a20,\n\t0xf69c: 0x6c2f0a20, 0xf69e: 0x6c124620,\n\t0xf6a0: 0x6c2f0c20, 0xf6a1: 0x6c314420, 0xf6a2: 0x6c14e820,\n\t0xf6a4: 0x6c2f0e20, 0xf6a6: 0x6c2f1020,\n\t0xf6a8: 0x6c2f1220, 0xf6a9: 0x6c02a220, 0xf6ab: 0x6c2f1620,\n\t0xf6ad: 0x6c0b7620,\n\t0xf6b1: 0x6c2f1820,\n\t0xf6b4: 0x6c052c20,\n\t0xf6b9: 0x6c2f1a20, 0xf6ba: 0x6c2f2220,\n\t0xf6bc: 0x6c2f1e20,\n\t// Block 0x3db, offset 0xf6c0\n\t0xf6c1: 0x6c2f2020,\n\t0xf6c4: 0x6c02da20, 0xf6c5: 0x6c2f1c20, 0xf6c6: 0x6c2f2420,\n\t0xf6cb: 0x6c2f2620,\n\t0xf6cd: 0x6c005020, 0xf6cf: 0x6c2f2820,\n\t0xf6d0: 0x6c2f2a20,\n\t0xf6d8: 0x6c0ad020,\n\t0xf6dc: 0x6c2f2c20,\n\t0xf6e0: 0x6c03fa20, 0xf6e3: 0x6c2f3220,\n\t0xf6e6: 0x6c2f3020,\n\t0xf6e8: 0x6c2f2e20, 0xf6eb: 0x6c2ba020,\n\t0xf6ed: 0x6c139020,\n\t0xf6f3: 0x6c2f3420,\n\t0xf6f4: 0x6c2f3620,\n\t// Block 0x3dc, offset 0xf700\n\t0xf703: 0x6c2f3820,\n\t0xf706: 0x6c2f3a20,\n\t0xf708: 0x6c2f3c20, 0xf70b: 0x6c2f3e20,\n\t0xf713: 0x6c036420,\n\t0xf71c: 0x6c2f4020,\n\t0xf72d: 0x6c2f4220, 0xf72e: 0x6c10ea20,\n\t0xf732: 0x6c2f4620, 0xf733: 0x6c01ae20,\n\t0xf735: 0x6c2f4c20, 0xf736: 0x6c2f4a20,\n\t0xf73b: 0x6c00c420,\n\t0xf73f: 0x6c04aa20,\n\t// Block 0x3dd, offset 0xf740\n\t0xf741: 0x6c136620, 0xf742: 0x6c0ee420, 0xf743: 0x6c075c20,\n\t0xf745: 0x6c071c20, 0xf746: 0x6c0a1a20,\n\t0xf748: 0x6c0b7c20,\n\t0xf74c: 0x6c2f5020, 0xf74f: 0x6c2f4e20,\n\t0xf750: 0x6c159020, 0xf751: 0x6c038020, 0xf752: 0x6c120420, 0xf753: 0x6c10a020,\n\t0xf757: 0x6c0bbc20,\n\t0xf758: 0x6c166420, 0xf75a: 0x6c059a20,\n\t0xf761: 0x6c2f5620,\n\t0xf764: 0x6c2f5420,\n\t0xf76c: 0x6c142a20, 0xf76d: 0x6c104020,\n\t0xf774: 0x6c011c20, 0xf777: 0x6c2f5820,\n\t0xf778: 0x6c2f5220, 0xf77b: 0x6c12be20,\n\t0xf77c: 0x6c15e020, 0xf77d: 0x6c2f5a20,\n\t// Block 0x3de, offset 0xf780\n\t0xf786: 0x6c2f5c20,\n\t0xf78b: 0x6c2f6020,\n\t0xf78c: 0x6c0dcc20, 0xf78d: 0x6c02aa20, 0xf78e: 0x6c02ac20, 0xf78f: 0x6c2f5e20,\n\t0xf794: 0x6c038220, 0xf795: 0x6c060420,\n\t0xf798: 0x6c038420, 0xf79b: 0x6c0faa20,\n\t0xf79e: 0x6c168820,\n\t0xf7a7: 0x6c065820,\n\t0xf7ab: 0x6c2f6220,\n\t0xf7af: 0x6c2f6420,\n\t0xf7b0: 0x6c2f6620, 0xf7b1: 0x6c2f6820, 0xf7b3: 0x6c2f6c20,\n\t0xf7b4: 0x6c2f6a20,\n\t// Block 0x3df, offset 0xf7c0\n\t0xf7e8: 0x6c130a20, 0xf7ea: 0x6c2f6e20,\n\t0xf7ef: 0x6c2f7020,\n\t0xf7f1: 0x6c2f7220,\n\t0xf7f6: 0x6c2f7420,\n\t// Block 0x3e0, offset 0xf800\n\t0xf803: 0x6c2f7820,\n\t0xf804: 0x6c2f7620, 0xf806: 0x6c2f7a20,\n\t0xf81b: 0x6c124820,\n\t0xf81c: 0x6c27aa20, 0xf81f: 0x6c0b1620,\n\t0xf822: 0x6c03d020,\n\t0xf829: 0x6c2f7c20, 0xf82b: 0x6c2f7e20,\n\t0xf82d: 0x6c18ba20, 0xf82e: 0x6c20ec20, 0xf82f: 0x6c120620,\n\t0xf832: 0x6c00b620,\n\t0xf834: 0x6c003620,\n\t0xf83c: 0x6c08bc20, 0xf83d: 0x6c13f420, 0xf83e: 0x6c0b0420,\n\t// Block 0x3e1, offset 0xf840\n\t0xf843: 0x6c2f8020,\n\t0xf845: 0x6c150e20,\n\t0xf849: 0x6c2f8220, 0xf84a: 0x6c15c420,\n\t0xf84c: 0x6c010020,\n\t0xf850: 0x6c085620, 0xf852: 0x6c2f8420, 0xf853: 0x6c021420,\n\t0xf854: 0x6c2f8620,\n\t0xf858: 0x6c2f8820,\n\t0xf85d: 0x6c2f8c20, 0xf85e: 0x6c2f8e20,\n\t0xf860: 0x6c2f9220, 0xf861: 0x6c2f8a20,\n\t0xf864: 0x6c2f9020,\n\t0xf868: 0x6c036620,\n\t0xf86c: 0x6c2f9420, 0xf86e: 0x6c2f9620,\n\t0xf87d: 0x6c2f9820, 0xf87e: 0x6c2f9a20,\n\t// Block 0x3e2, offset 0xf880\n\t0xf882: 0x6c2f9c20,\n\t0xf885: 0x6c2fa020,\n\t0xf889: 0x6c2f9e20, 0xf88b: 0x6c2fa420,\n\t0xf88c: 0x6c2faa20,\n\t0xf890: 0x6c2fa220, 0xf891: 0x6c2fa620, 0xf892: 0x6c2fa820,\n\t0xf895: 0x6c2fac20, 0xf897: 0x6c04ac20,\n\t// Block 0x3e3, offset 0xf8c0\n\t0xf8d6: 0x6c097620, 0xf8d7: 0x6c2fae20,\n\t0xf8d8: 0x6c2fb020, 0xf8d9: 0x6c071e20,\n\t0xf8e5: 0x6c2fb220,\n\t0xf8e8: 0x6c027020,\n\t0xf8ec: 0x6c114220, 0xf8ed: 0x6c2fb420, 0xf8ee: 0x6c2fb620,\n\t0xf8f3: 0x6c0e6820,\n\t0xf8f4: 0x6c10be20,\n\t0xf8fc: 0x6c2fb820,\n\t// Block 0x3e4, offset 0xf900\n\t0xf901: 0x6c119e20,\n\t0xf904: 0x6c0d9020, 0xf905: 0x6c012c20, 0xf906: 0x6c050420,\n\t0xf908: 0x6c050620,\n\t0xf910: 0x6c0e9a20, 0xf911: 0x6c2fc220, 0xf912: 0x6c050820,\n\t0xf915: 0x6c021620,\n\t0xf918: 0x6c2fc020, 0xf91b: 0x6c2fbc20,\n\t0xf91d: 0x6c2fbe20, 0xf91f: 0x6c2fba20,\n\t0xf922: 0x6c2fd620,\n\t0xf92d: 0x6c2fc420, 0xf92e: 0x6c2fc620,\n\t0xf931: 0x6c2fc820, 0xf932: 0x6c2fca20,\n\t0xf938: 0x6c2fce20, 0xf93b: 0x6c2fcc20,\n\t0xf93f: 0x6c09fe20,\n\t// Block 0x3e5, offset 0xf940\n\t0xf941: 0x6c2fd020,\n\t0xf945: 0x6c2fd420,\n\t0xf94e: 0x6c03d220, 0xf94f: 0x6c2fd220,\n\t0xf952: 0x6c0d3220, 0xf953: 0x6c060620,\n\t0xf959: 0x6c2fd820,\n\t0xf968: 0x6c0d9220, 0xf96b: 0x6c2fda20,\n\t0xf970: 0x6c104220,\n\t0xf977: 0x6c2fdc20,\n\t0xf97e: 0x6c2fe620,\n\t// Block 0x3e6, offset 0xf980\n\t0xf980: 0x6c2fe220, 0xf982: 0x6c2fe020, 0xf983: 0x6c2fe420,\n\t0xf985: 0x6c2fde20,\n\t0xf98d: 0x6c2fea20,\n\t0xf995: 0x6c2fe820, 0xf997: 0x6c2fee20,\n\t0xf99a: 0x6c04ae20, 0xf99b: 0x6c2fec20,\n\t0xf99f: 0x6c2ff020,\n\t0xf9a2: 0x6c2ff220,\n\t0xf9a4: 0x6c2ff620, 0xf9a5: 0x6c2ff420,\n\t0xf9a9: 0x6c2ff820, 0xf9aa: 0x6c2ffc20, 0xf9ab: 0x6c2ffa20,\n\t// Block 0x3e7, offset 0xf9c0\n\t0xf9e8: 0x6c075420,\n\t0xf9ed: 0x6c2ffe20,\n\t0xf9f0: 0x6c300020,\n\t0xf9f8: 0x6c026c20,\n\t0xf9fc: 0x6c300220,\n\t// Block 0x3e8, offset 0xfa00\n\t0xfa00: 0x6c300420,\n\t0xfa04: 0x6c0ba620,\n\t0xfa0f: 0x6c300620,\n\t0xfa11: 0x6c300820, 0xfa13: 0x6c300a20,\n\t0xfa14: 0x6c300c20,\n\t0xfa18: 0x6c072020,\n\t0xfa1e: 0x6c300e20, 0xfa1f: 0x6c301020,\n\t0xfa22: 0x6c301220, 0xfa23: 0x6c301420,\n\t0xfa26: 0x6c301620,\n\t0xfa2a: 0x6c11c220, 0xfa2b: 0x6c301a20,\n\t0xfa2d: 0x6c126820, 0xfa2e: 0x6c301c20, 0xfa2f: 0x6c301820,\n\t0xfa31: 0x6c302020,\n\t0xfa34: 0x6c301e20, 0xfa37: 0x6c302220,\n\t0xfa3b: 0x6c302420,\n\t// Block 0x3e9, offset 0xfa40\n\t0xfa46: 0x6c302620,\n\t0xfa58: 0x6c302820, 0xfa5a: 0x6c302a20,\n\t0xfa5f: 0x6c302c20,\n\t0xfa62: 0x6c302e20, 0xfa63: 0x6c303020,\n\t0xfa65: 0x6c303220, 0xfa67: 0x6c303420,\n\t0xfa68: 0x6c303620, 0xfa69: 0x6c303820, 0xfa6a: 0x6c303a20,\n\t0xfa6e: 0x6c303c20, 0xfa6f: 0x6c303e20,\n\t0xfa71: 0x6c20e020, 0xfa72: 0x6c304020,\n\t0xfa7b: 0x6c268a20,\n\t0xfa7c: 0x6c03d420,\n\t// Block 0x3ea, offset 0xfa80\n\t0xfa81: 0x6c023620, 0xfa82: 0x6c077c20, 0xfa83: 0x6c304420,\n\t0xfa84: 0x6c304220, 0xfa85: 0x6c149a20,\n\t0xfa8d: 0x6c304820, 0xfa8e: 0x6c304a20, 0xfa8f: 0x6c304620,\n\t0xfa91: 0x6c304c20,\n\t0xfa94: 0x6c145820,\n\t0xfa98: 0x6c304e20, 0xfa9a: 0x6c046220,\n\t0xfaaf: 0x6c16ce20,\n\t0xfab4: 0x6c305020,\n\t// Block 0x3eb, offset 0xfac0\n\t0xfac3: 0x6c305420,\n\t0xface: 0x6c003c20,\n\t0xfad1: 0x6c305620, 0xfad2: 0x6c132e20, 0xfad3: 0x6c305220,\n\t0xfad6: 0x6c305820, 0xfad7: 0x6c305a20,\n\t0xfadf: 0x6c305c20,\n\t0xfae0: 0x6c305e20,\n\t0xfae8: 0x6c306020, 0xfaea: 0x6c147020, 0xfaeb: 0x6c082e20,\n\t0xfaed: 0x6c080c20, 0xfaee: 0x6c0c9a20,\n\t0xfaf4: 0x6c306220,\n\t0xfaf9: 0x6c306820,\n\t// Block 0x3ec, offset 0xfb00\n\t0xfb00: 0x6c306420,\n\t0xfb06: 0x6c306a20,\n\t0xfb09: 0x6c068220, 0xfb0a: 0x6c306620,\n\t0xfb0f: 0x6c306c20,\n\t0xfb11: 0x6c306e20, 0xfb12: 0x6c307020,\n\t0xfb14: 0x6c307820, 0xfb16: 0x6c082820,\n\t0xfb1b: 0x6c0dc020,\n\t0xfb21: 0x6c307a20, 0xfb22: 0x6c307420, 0xfb23: 0x6c307220,\n\t0xfb24: 0x6c307620,\n\t0xfb28: 0x6c05a220,\n\t0xfb30: 0x6c308220, 0xfb31: 0x6c308020, 0xfb32: 0x6c307e20,\n\t0xfb35: 0x6c002620,\n\t// Block 0x3ed, offset 0xfb40\n\t0xfb44: 0x6c309620, 0xfb46: 0x6c308e20,\n\t0xfb48: 0x6c309020, 0xfb49: 0x6c308820, 0xfb4a: 0x6c309420,\n\t0xfb4c: 0x6c308c20, 0xfb4d: 0x6c02b820,\n\t0xfb50: 0x6c171c20, 0xfb52: 0x6c309220, 0xfb53: 0x6c308a20,\n\t0xfb54: 0x6c308620, 0xfb55: 0x6c308420,\n\t0xfb5b: 0x6c309a20,\n\t0xfb61: 0x6c30a020,\n\t0xfb64: 0x6c309e20, 0xfb65: 0x6c309c20,\n\t0xfb6d: 0x6c12ae20, 0xfb6e: 0x6c309820, 0xfb6f: 0x6c00a620,\n\t0xfb70: 0x6c30a220, 0xfb72: 0x6c30a620,\n\t0xfb79: 0x6c02d220, 0xfb7a: 0x6c307c20, 0xfb7b: 0x6c00ea20,\n\t0xfb7e: 0x6c30aa20,\n\t// Block 0x3ee, offset 0xfb80\n\t0xfb86: 0x6c30a820, 0xfb87: 0x6c30a420,\n\t0xfb88: 0x6c0e0e20,\n\t0xfb92: 0x6c147420,\n\t0xfb97: 0x6c167c20,\n\t0xfb9a: 0x6c30ac20,\n\t0xfba0: 0x6c30ae20,\n\t0xfba7: 0x6c30b020,\n\t0xfbb6: 0x6c30b220,\n\t0xfbb8: 0x6c30b420,\n\t// Block 0x3ef, offset 0xfbc0\n\t0xfbe5: 0x6c0ee620, 0xfbe7: 0x6c30b620,\n\t0xfbe9: 0x6c11ce20, 0xfbeb: 0x6c30c020,\n\t0xfbec: 0x6c30b820,\n\t0xfbf0: 0x6c30ba20, 0xfbf3: 0x6c13f620,\n\t0xfbf4: 0x6c14d820, 0xfbf6: 0x6c108820,\n\t// Block 0x3f0, offset 0xfc00\n\t0xfc03: 0x6c30c220,\n\t0xfc06: 0x6c30c420, 0xfc07: 0x6c106420,\n\t0xfc08: 0x6c30be20, 0xfc09: 0x6c30bc20,\n\t0xfc0e: 0x6c018c20,\n\t0xfc12: 0x6c30d420,\n\t0xfc15: 0x6c30d220,\n\t0xfc1b: 0x6c016620,\n\t0xfc1f: 0x6c30ce20,\n\t0xfc23: 0x6c30cc20,\n\t0xfc26: 0x6c30c820,\n\t0xfc28: 0x6c02ea20, 0xfc2a: 0x6c30c620, 0xfc2b: 0x6c08f420,\n\t0xfc2c: 0x6c018a20,\n\t0xfc3b: 0x6c072220,\n\t0xfc3e: 0x6c30da20, 0xfc3f: 0x6c30d820,\n\t// Block 0x3f1, offset 0xfc40\n\t0xfc41: 0x6c30d620,\n\t0xfc44: 0x6c30d020, 0xfc46: 0x6c30dc20,\n\t0xfc48: 0x6c30de20,\n\t0xfc50: 0x6c30e820, 0xfc51: 0x6c30e620,\n\t0xfc59: 0x6c30ea20,\n\t0xfc5c: 0x6c00d620, 0xfc5d: 0x6c30e020, 0xfc5e: 0x6c30e220,\n\t0xfc60: 0x6c074420, 0xfc61: 0x6c14c220,\n\t0xfc64: 0x6c30e420,\n\t0xfc6c: 0x6c13f820, 0xfc6f: 0x6c30f420,\n\t0xfc72: 0x6c30ec20,\n\t0xfc7a: 0x6c30f620,\n\t// Block 0x3f2, offset 0xfc80\n\t0xfc87: 0x6c30f020,\n\t0xfc89: 0x6c30ee20,\n\t0xfc8f: 0x6c059c20,\n\t0xfc9a: 0x6c30f820,\n\t0xfca4: 0x6c30fa20,\n\t0xfca9: 0x6c30fc20, 0xfcab: 0x6c30f220,\n\t0xfcaf: 0x6c30ca20,\n\t0xfcb2: 0x6c30fe20,\n\t0xfcb4: 0x6c0f3220,\n\t0xfcb8: 0x6c310620, 0xfcba: 0x6c310820, 0xfcbb: 0x6c310420,\n\t// Block 0x3f3, offset 0xfcc0\n\t0xfcc1: 0x6c310220, 0xfcc2: 0x6c310e20,\n\t0xfcc4: 0x6c310020, 0xfcc6: 0x6c310a20,\n\t0xfccf: 0x6c310c20,\n\t0xfcd3: 0x6c311220,\n\t0xfcd9: 0x6c311020,\n\t0xfce6: 0x6c311620,\n\t0xfced: 0x6c311820, 0xfcef: 0x6c311a20,\n\t0xfcf2: 0x6c171620,\n\t0xfcf8: 0x6c311420, 0xfcf9: 0x6c0dce20, 0xfcfa: 0x6c07f220,\n\t0xfcfd: 0x6c311c20,\n\t// Block 0x3f4, offset 0xfd00\n\t0xfd1a: 0x6c311e20, 0xfd1b: 0x6c312020,\n\t0xfd1e: 0x6c312220,\n\t// Block 0x3f5, offset 0xfd40\n\t0xfd75: 0x6c312420,\n\t0xfd78: 0x6c060820, 0xfd79: 0x6c312620,\n\t0xfd7d: 0x6c312820, 0xfd7f: 0x6c08ee20,\n\t// Block 0x3f6, offset 0xfd80\n\t0xfd81: 0x6c312a20,\n\t0xfd88: 0x6c312c20, 0xfd8b: 0x6c312e20,\n\t0xfd8c: 0x6c313020,\n\t0xfd91: 0x6c313620, 0xfd92: 0x6c313220, 0xfd93: 0x6c16fc20,\n\t0xfd95: 0x6c313420, 0xfd97: 0x6c16a620,\n\t0xfd9d: 0x6c313820, 0xfd9f: 0x6c167e20,\n\t0xfda5: 0x6c313a20, 0xfda6: 0x6c11a020,\n\t0xfda9: 0x6c313c20, 0xfdaa: 0x6c314020,\n\t0xfdad: 0x6c314220,\n\t0xfdb8: 0x6c313e20, 0xfdb9: 0x6c073620, 0xfdba: 0x6c14ea20, 0xfdbb: 0x6c145a20,\n\t0xfdbc: 0x6c1c4020, 0xfdbe: 0x6c213620, 0xfdbf: 0x6c148a20,\n\t// Block 0x3f7, offset 0xfdc0\n\t0xfdc4: 0x6c018e20,\n\t0xfdcc: 0x6c314620, 0xfdcd: 0x6c040c20, 0xfdce: 0x6c314820, 0xfdcf: 0x6c314a20,\n\t0xfdd0: 0x6c314c20, 0xfdd2: 0x6c074620,\n\t0xfdd4: 0x6c314e20,\n\t0xfdd8: 0x6c235220, 0xfdd9: 0x6c150620, 0xfddb: 0x6c0dbe20,\n\t0xfddc: 0x6c315020, 0xfddd: 0x6c315420, 0xfdde: 0x6c315220,\n\t0xfde0: 0x6c315620,\n\t0xfde5: 0x6c315820,\n\t0xfde8: 0x6c315a20,\n\t0xfdef: 0x6c315c20,\n\t0xfdf4: 0x6c315e20, 0xfdf6: 0x6c316020, 0xfdf7: 0x6c316220,\n\t0xfdf9: 0x6c316420, 0xfdfb: 0x6c316620,\n\t0xfdfc: 0x6c316820, 0xfdfd: 0x6c316a20,\n\t// Block 0x3f8, offset 0xfe00\n\t0xfe07: 0x6c316c20,\n\t0xfe08: 0x6c316e20,\n\t0xfe0e: 0x6c0f7420,\n\t0xfe13: 0x6c065a20,\n\t0xfe15: 0x6c317220,\n\t0xfe20: 0x6c0cd620, 0xfe21: 0x6c317420,\n\t0xfe2c: 0x6c317620,\n\t0xfe3b: 0x6c125e20,\n\t0xfe3e: 0x6c317820,\n\t// Block 0x3f9, offset 0xfe40\n\t0xfe4a: 0x6c317a20, 0xfe4b: 0x6c254c20,\n\t0xfe4e: 0x6c2c2e20, 0xfe4f: 0x6c2f4420,\n\t0xfe52: 0x6c317c20,\n\t0xfe54: 0x6c317e20,\n\t0xfe5f: 0x6c318220,\n\t0xfe60: 0x6c318420, 0xfe61: 0x6c318620, 0xfe62: 0x6c16a820, 0xfe63: 0x6c318020,\n\t0xfe66: 0x6c318820, 0xfe67: 0x6c318a20,\n\t0xfe6a: 0x6c318e20,\n\t0xfe6c: 0x6c318c20,\n\t0xfe72: 0x6c319220,\n\t0xfe76: 0x6c319420, 0xfe77: 0x6c319020,\n\t// Block 0x3fa, offset 0xfe80\n\t0xfe8d: 0x6c163420,\n\t0xfe95: 0x6c319620,\n\t0xfe9c: 0x6c319820, 0xfe9d: 0x6c258620,\n\t0xfea0: 0x6c319a20,\n\t// Block 0x3fb, offset 0xfec0\n\t0xfec0: 0x6c2bdc20, 0xfec1: 0x6c06ce20, 0xfec2: 0x6c093c20, 0xfec3: 0x6c2c1020,\n\t0xfec4: 0x6c02c820, 0xfec5: 0x6c051c20, 0xfec6: 0x6c04f620, 0xfec7: 0x6c319820,\n\t0xfec8: 0x6c319820, 0xfec9: 0x6c056420, 0xfeca: 0x6c04ec20, 0xfecb: 0x6c19b020,\n\t0xfecc: 0x6c10a820, 0xfecd: 0x6c1dac20, 0xfece: 0x6c245a20, 0xfecf: 0x6c15d620,\n\t0xfed0: 0x6c29d420, 0xfed1: 0x6c15d820, 0xfed2: 0x6c15da20, 0xfed3: 0x6c2d5e20,\n\t0xfed4: 0x6c207020, 0xfed5: 0x6c15e420, 0xfed6: 0x6c22ae20, 0xfed7: 0x6c237220,\n\t0xfed8: 0x6c15e820, 0xfed9: 0x6c15ea20, 0xfeda: 0x6c2fc820, 0xfedb: 0x6c174220,\n\t0xfedc: 0x6c15ee20, 0xfedd: 0x6c15f220, 0xfede: 0x6c22f420, 0xfedf: 0x6c15f820,\n\t0xfee0: 0x6c312220, 0xfee1: 0x6c15f020, 0xfee2: 0x6c15f420, 0xfee3: 0x6c15f620,\n\t0xfee4: 0x6c2b0220, 0xfee5: 0x6c1e1420, 0xfee6: 0x6c285620, 0xfee7: 0x43103e20,\n\t0xfee8: 0x6c16de20, 0xfee9: 0x6c16e220, 0xfeea: 0x6c16e820, 0xfeeb: 0x6c16ee20,\n\t0xfeec: 0x6c16f820, 0xfeed: 0x6c179220, 0xfeee: 0x6c169020, 0xfeef: 0x6c18b420,\n\t0xfef0: 0x42c98820, 0xfef1: 0x6c16d020, 0xfef2: 0x6c22f220, 0xfef3: 0x6c249620,\n\t0xfef4: 0x6c16f220, 0xfef5: 0x6c29cc20, 0xfef6: 0x6c163c20, 0xfef7: 0x6c16d620,\n\t0xfef8: 0x6c16d820, 0xfef9: 0x6c16ce20, 0xfefa: 0x6c07f220, 0xfefb: 0x6c250420,\n\t0xfefc: 0x6c254420, 0xfefd: 0x42fb4020, 0xfefe: 0x43079220, 0xfeff: 0x43260820,\n\t// Block 0x3fc, offset 0xff00\n\t0xff00: 0x6c08ee20, 0xff01: 0x6c170420, 0xff02: 0x6c1a9e20, 0xff03: 0x6c16e020,\n\t0xff04: 0x6c262620, 0xff05: 0x6c16f420, 0xff06: 0x6c16ec20, 0xff07: 0x6c251c20,\n\t0xff08: 0x6c16d420, 0xff09: 0x6c15e220, 0xff0a: 0x6c1a9620, 0xff0b: 0x42b8c420,\n\t0xff0c: 0x6c209220, 0xff0d: 0x42dbb420, 0xff0e: 0x6c16ea20, 0xff0f: 0x6c168620,\n\t0xff10: 0x6c271420, 0xff11: 0x6c2ea420, 0xff12: 0x6c2f1420, 0xff13: 0x6c170020,\n\t0xff14: 0x6c31a420, 0xff15: 0x6c164620, 0xff16: 0x6c165620, 0xff17: 0x6c003a20,\n\t0xff18: 0x6c126e20, 0xff19: 0x6c166220, 0xff1a: 0x6c2bc620, 0xff1b: 0x6c1dfe20,\n\t0xff1c: 0x6c207020, 0xff1d: 0x6c0dec20, 0xff1e: 0x6c0e1420, 0xff1f: 0x6c10fa20,\n\t0xff20: 0x6c0fe420, 0xff21: 0x6c161820, 0xff22: 0x6c007620, 0xff23: 0x6c142c20,\n\t0xff24: 0x42f1f620, 0xff25: 0x6c138820, 0xff26: 0x6c131420, 0xff27: 0x6c12c420,\n\t0xff28: 0x6c122e20, 0xff29: 0x6c1ed820, 0xff2a: 0x6c080620, 0xff2b: 0x6c190a20,\n\t0xff2c: 0x6c07aa20, 0xff2d: 0x6c0a9c20, 0xff2e: 0x6c15b620, 0xff2f: 0x43155420,\n\t0xff30: 0x6c082020, 0xff31: 0x6c0dfc20, 0xff32: 0x6c0ef020, 0xff33: 0x6c099820,\n\t0xff34: 0x6c095620, 0xff35: 0x6c161e20, 0xff36: 0x6c162020, 0xff37: 0x6c164020,\n\t0xff38: 0x6c182620, 0xff39: 0x6c185a20, 0xff3a: 0x6c164c20, 0xff3b: 0x6c165820,\n\t0xff3c: 0x6c165a20, 0xff3d: 0x6c165c20, 0xff3e: 0x6c166020, 0xff3f: 0x6c18c020,\n\t// Block 0x3fd, offset 0xff40\n\t0xff40: 0x6c16cc20, 0xff41: 0x6c0a3a20, 0xff42: 0x6c1c6220, 0xff43: 0x6c163a20,\n\t0xff44: 0x6c228020, 0xff45: 0x6c24f620, 0xff46: 0x6c2e7420, 0xff47: 0x6c2ffc20,\n\t0xff48: 0x6c16a620, 0xff49: 0x6c314820, 0xff4a: 0x6c166620, 0xff4b: 0x42cd8c20,\n\t0xff4c: 0x42d6ee20, 0xff4d: 0x6c2cf620, 0xff4e: 0x6c110220, 0xff4f: 0x6c16ba20,\n\t0xff50: 0x6c1dba20, 0xff51: 0x6c110820, 0xff52: 0x6c16bc20, 0xff53: 0x6c16be20,\n\t0xff54: 0x42e91220, 0xff55: 0x42f39420, 0xff56: 0x6c16c220, 0xff57: 0x6c16c420,\n\t0xff58: 0x6c2cdc20, 0xff59: 0x6c16c620, 0xff5a: 0x6c16c820, 0xff5b: 0x43269420,\n\t0xff5c: 0x6c16ae20, 0xff5d: 0x6c16b020, 0xff5e: 0x6c00ac20, 0xff5f: 0x6c16b220,\n\t0xff60: 0x6c16b420, 0xff61: 0x43155420, 0xff62: 0x6c16b620, 0xff63: 0x6c110420,\n\t0xff64: 0x6c110620, 0xff65: 0x42d75c20, 0xff66: 0x6c16c020, 0xff67: 0x6c235e20,\n\t0xff68: 0x6c168a20, 0xff69: 0x6c1a1220, 0xff6a: 0x6c10fa20, 0xff6b: 0x6c169420,\n\t0xff6c: 0x6c169620, 0xff6d: 0x6c169820, 0xff6e: 0x6c238e20, 0xff6f: 0x6c278420,\n\t0xff70: 0x6c27c420, 0xff71: 0x6c169e20, 0xff72: 0x6c16a220, 0xff73: 0x6c2f0420,\n\t0xff74: 0x6c166420, 0xff75: 0x6c168e20, 0xff76: 0x6c255020, 0xff77: 0x6c2d9a20,\n\t0xff78: 0x6c2ecc20, 0xff79: 0x6c1d1a20, 0xff7a: 0x6c163e20, 0xff7b: 0x6c164220,\n\t0xff7c: 0x6c164820, 0xff7d: 0x6c10e820, 0xff7e: 0x6c164a20, 0xff7f: 0x6c207020,\n\t// Block 0x3fe, offset 0xff80\n\t0xff80: 0x6c22e020, 0xff81: 0x6c165220, 0xff82: 0x6c297e20, 0xff83: 0x6c165e20,\n\t0xff84: 0x6c163420, 0xff85: 0x6c1f2a20, 0xff86: 0x6c2e9a20, 0xff87: 0x6c162220,\n\t0xff88: 0x42cef620, 0xff89: 0x6c154020, 0xff8a: 0x6c162420, 0xff8b: 0x6c162620,\n\t0xff8c: 0x6c162820, 0xff8d: 0x6c162a20, 0xff8e: 0x6c162c20, 0xff8f: 0x6c128220,\n\t0xff90: 0x6c168820, 0xff91: 0x6c16fa20, 0xff92: 0x6c1dce20, 0xff93: 0x6c161420,\n\t0xff94: 0x6c166a20, 0xff95: 0x6c1bde20, 0xff96: 0x6c21cc20, 0xff97: 0x6c167820,\n\t0xff98: 0x6c161620, 0xff99: 0x6c1d6020, 0xff9a: 0x6c053820, 0xff9b: 0x6c161820,\n\t0xff9c: 0x6c163020, 0xff9d: 0x6c15fc20, 0xff9e: 0x6c15fe20, 0xff9f: 0x6c160020,\n\t0xffa0: 0x6c006e20, 0xffa1: 0x6c160220, 0xffa2: 0x6c160420, 0xffa3: 0x6c0f7620,\n\t0xffa4: 0x6c160620, 0xffa5: 0x6c160a20, 0xffa6: 0x6c1da420, 0xffa7: 0x6c160c20,\n\t0xffa8: 0x6c160e20, 0xffa9: 0x6c161020, 0xffaa: 0x6c161220, 0xffab: 0x6c106620,\n\t0xffac: 0x6c0f8820, 0xffad: 0x6c193020, 0xffae: 0x6c167220, 0xffaf: 0x42e93020,\n\t0xffb0: 0x6c29ca20, 0xffb1: 0x6c167a20, 0xffb2: 0x6c167c20, 0xffb3: 0x6c167e20,\n\t0xffb4: 0x6c166e20, 0xffb5: 0x6c167020, 0xffb6: 0x6c167620, 0xffb7: 0x6c161a20,\n\t0xffb8: 0x6c02b020, 0xffb9: 0x6c162e20, 0xffba: 0x42e58020, 0xffbb: 0x6c229820,\n\t0xffbc: 0x6c08f220, 0xffbd: 0x6c09c020, 0xffbe: 0x6c0e7a20, 0xffbf: 0x6c086620,\n\t// Block 0x3ff, offset 0xffc0\n\t0xffc0: 0x6c0c3420, 0xffc1: 0x6c0fde20, 0xffc2: 0x6c0dde20, 0xffc3: 0x6c102420,\n\t0xffc4: 0x6c0dd820, 0xffc5: 0x6c105420, 0xffc6: 0x6c140e20, 0xffc7: 0x6c2ce020,\n\t0xffc8: 0x6c070420, 0xffc9: 0x6c071a20, 0xffca: 0x6c05f620, 0xffcb: 0x6c028220,\n\t0xffcc: 0x6c181a20, 0xffcd: 0x42ab8020, 0xffce: 0x43f41c20, 0xffcf: 0x43f41e20,\n\t0xffd0: 0x6c0f0a20, 0xffd1: 0x43f42220, 0xffd2: 0x6c0be420, 0xffd3: 0x43f42620,\n\t0xffd4: 0x43f42820, 0xffd5: 0x42a3bc20, 0xffd6: 0x6c0ea020, 0xffd7: 0x6c012a20,\n\t0xffd8: 0x6c169a20, 0xffd9: 0x6c0b4420, 0xffda: 0x6c0aa220, 0xffdb: 0x6c131a20,\n\t0xffdc: 0x6c153e20, 0xffdd: 0x6c0bf420, 0xffde: 0x6c00ce20, 0xffdf: 0x43f43e20,\n\t0xffe0: 0x430c2420, 0xffe1: 0x43f44220, 0xffe2: 0x6c0a3420, 0xffe3: 0x43f44620,\n\t0xffe4: 0x43f44820, 0xffe5: 0x6c009e20, 0xffe6: 0x6c0fd420, 0xffe7: 0x43f44e20,\n\t0xffe8: 0x43f45020, 0xffe9: 0x43f45220, 0xffea: 0x6c120620, 0xffeb: 0x6c08bc20,\n\t0xffec: 0x6c036620, 0xffed: 0x6c0f3220, 0xffee: 0x4321bc20, 0xffef: 0x6c16a020,\n\t0xfff0: 0x6c12f820, 0xfff1: 0x6c0cd820, 0xfff2: 0x6c14e020, 0xfff3: 0x6c138a20,\n\t0xfff4: 0x6c04c820, 0xfff5: 0x6c121820, 0xfff6: 0x6c02be20, 0xfff7: 0x6c0e1820,\n\t0xfff8: 0x6c038e20, 0xfff9: 0x6c135220, 0xfffa: 0x6c143220, 0xfffb: 0x6c0cec20,\n\t0xfffc: 0x6c1b9c20, 0xfffd: 0x6c022a20, 0xfffe: 0x6c025c20, 0xffff: 0x6c0d3820,\n\t// Block 0x400, offset 0x10000\n\t0x10000: 0x6c0ec020, 0x10001: 0x6c12c020, 0x10002: 0x6c03a620, 0x10003: 0x6c0a2220,\n\t0x10004: 0x6c116220, 0x10005: 0x6c023c20, 0x10006: 0x6c0a2620, 0x10007: 0x6c033220,\n\t0x10008: 0x6c093220, 0x10009: 0x42e45620, 0x1000a: 0x6c0de420, 0x1000b: 0x6c123420,\n\t0x1000c: 0x6c093420, 0x1000d: 0x6c089a20, 0x1000e: 0x6c03ba20, 0x1000f: 0x6c157420,\n\t0x10010: 0x6c0cc420, 0x10011: 0x6c09e220, 0x10012: 0x6c01dc20, 0x10013: 0x6c0f5e20,\n\t0x10014: 0x6c074020, 0x10015: 0x6c108220, 0x10016: 0x6c0c4220, 0x10017: 0x6c16c220,\n\t0x10018: 0x6c270220, 0x10019: 0x6c11f620, 0x1001a: 0x6c0a2c20, 0x1001b: 0x6c093820,\n\t0x1001c: 0x6c09a620, 0x1001d: 0x4304f220, 0x1001e: 0x4304f220, 0x1001f: 0x6c0ea420,\n\t0x10020: 0x6c02cc20, 0x10021: 0x6c08aa20, 0x10022: 0x6c013020, 0x10023: 0x6c04e820,\n\t0x10024: 0x6c12bc20, 0x10025: 0x6c0d3e20, 0x10026: 0x431f6c20, 0x10027: 0x6c009e20,\n\t0x10028: 0x6c10ca20, 0x10029: 0x6c04aa20, 0x1002a: 0x6c12be20, 0x1002b: 0x6c056a20,\n\t0x1002c: 0x4885dc20, 0x1002d: 0x6c036820,\n\t0x10030: 0x6c135c20, 0x10031: 0x6c185420, 0x10032: 0x6c0ca420, 0x10033: 0x429f0020,\n\t0x10034: 0x6c09c420, 0x10035: 0x6c182c20, 0x10036: 0x6c155820, 0x10037: 0x6c094620,\n\t0x10038: 0x6c02be20, 0x10039: 0x42aaaa20, 0x1003a: 0x6c199620, 0x1003b: 0x42abc420,\n\t0x1003c: 0x6c0f0a20, 0x1003d: 0x6c133620, 0x1003e: 0x6c014020, 0x1003f: 0x6c144a20,\n\t// Block 0x401, offset 0x10040\n\t0x10040: 0x6c1b0820, 0x10041: 0x42b65020, 0x10042: 0x42bda420, 0x10043: 0x42bdb220,\n\t0x10044: 0x6c07b020, 0x10045: 0x6c1cb620, 0x10046: 0x6c1d2c20, 0x10047: 0x6c0b2e20,\n\t0x10048: 0x6c154820, 0x10049: 0x6c0d3820, 0x1004a: 0x42c2c020, 0x1004b: 0x6c0ec020,\n\t0x1004c: 0x6c0da620, 0x1004d: 0x6c1e5820, 0x1004e: 0x6c1e2c20, 0x1004f: 0x42c8a420,\n\t0x10050: 0x6c1eca20, 0x10051: 0x6c0be420, 0x10052: 0x6c16e220, 0x10053: 0x6c141020,\n\t0x10054: 0x6c0aee20, 0x10055: 0x6c210220, 0x10056: 0x6c082020, 0x10057: 0x6c162420,\n\t0x10058: 0x42ddb620, 0x10059: 0x6c08d420, 0x1005a: 0x6c033220, 0x1005b: 0x6c109020,\n\t0x1005c: 0x6c093220, 0x1005d: 0x42ef4e20, 0x1005e: 0x6c094e20, 0x1005f: 0x6c11f020,\n\t0x10060: 0x6c0ea020, 0x10061: 0x42e8e220, 0x10062: 0x42ea0c20, 0x10063: 0x6c020820,\n\t0x10064: 0x42ec3a20, 0x10065: 0x6c243820, 0x10066: 0x6c012a20, 0x10067: 0x6c0bf220,\n\t0x10068: 0x6c0eec20, 0x10069: 0x42ee9420, 0x1006a: 0x6c0e7e20, 0x1006b: 0x42f19820,\n\t0x1006c: 0x42f56220, 0x1006d: 0x6c0c4220, 0x1006e: 0x42f8f620, 0x1006f: 0x6c26c220,\n\t0x10070: 0x6c16c220, 0x10071: 0x42fe7c20, 0x10072: 0x6c093820, 0x10073: 0x6c070220,\n\t0x10074: 0x6c01ec20, 0x10075: 0x430ef220, 0x10076: 0x6c2aee20, 0x10077: 0x6c132020,\n\t0x10078: 0x6c08aa20, 0x10079: 0x6c0ed820, 0x1007a: 0x6c0a3420, 0x1007b: 0x6c0c0220,\n\t0x1007c: 0x6c013020, 0x1007d: 0x6c0dec20, 0x1007e: 0x6c154e20, 0x1007f: 0x6c04e820,\n\t// Block 0x402, offset 0x10080\n\t0x10080: 0x6c1ede20, 0x10081: 0x6c0d3e20, 0x10082: 0x6c155020, 0x10083: 0x6c2d5020,\n\t0x10084: 0x43233220, 0x10085: 0x4324ec20, 0x10086: 0x432cf820, 0x10087: 0x6c10ca20,\n\t0x10088: 0x6c153e20, 0x10089: 0x432fb620, 0x1008a: 0x6c04aa20, 0x1008b: 0x43301620,\n\t0x1008c: 0x6c12be20, 0x1008d: 0x43362420, 0x1008e: 0x6c319820, 0x1008f: 0x48509420,\n\t0x10090: 0x48508820, 0x10091: 0x4867aa20, 0x10092: 0x44773a20, 0x10093: 0x44803020,\n\t0x10094: 0x44807220, 0x10095: 0x48a49220, 0x10096: 0x48b9a020, 0x10097: 0x48fda620,\n\t0x10098: 0x433e8620, 0x10099: 0x433f1c20,\n\t// Block 0x403, offset 0x100c0\n\t0x100c1: 0x4002ba20, 0x100c2: 0x4003e020, 0x100c3: 0x4004ea20,\n\t0x100c4: 0x4027de20, 0x100c5: 0x4004ec20, 0x100c6: 0x4004e620, 0x100c7: 0x4003d220,\n\t0x100c8: 0x4003f420, 0x100c9: 0x4003f620, 0x100ca: 0x4004d820, 0x100cb: 0x40093820,\n\t0x100cc: 0x40024020, 0x100cd: 0x40021a20, 0x100ce: 0x4002e420, 0x100cf: 0x4004e220,\n\t0x100d0: 0x4029cc20, 0x100d1: 0x4029ce20, 0x100d2: 0x4029d020, 0x100d3: 0x4029d220,\n\t0x100d4: 0x4029d420, 0x100d5: 0x4029d620, 0x100d6: 0x4029d820, 0x100d7: 0x4029da20,\n\t0x100d8: 0x4029dc20, 0x100d9: 0x4029de20, 0x100da: 0x40026c20, 0x100db: 0x40026220,\n\t0x100dc: 0x40094020, 0x100dd: 0x40094220, 0x100de: 0x40094420, 0x100df: 0x4002c420,\n\t0x100e0: 0x4004d620, 0x100e1: 0x002bde88, 0x100e2: 0x002c0a88, 0x100e3: 0x002c3a88,\n\t0x100e4: 0x002c6288, 0x100e5: 0x002c9888, 0x100e6: 0x002d0888, 0x100e7: 0x002d2288,\n\t0x100e8: 0x002d6888, 0x100e9: 0x002d9a88, 0x100ea: 0x002dcc88, 0x100eb: 0x002dfe88,\n\t0x100ec: 0x002e2288, 0x100ed: 0x002e8288, 0x100ee: 0x002e9e88, 0x100ef: 0x002ee288,\n\t0x100f0: 0x002f2c88, 0x100f1: 0x002f5688, 0x100f2: 0x002f7a88, 0x100f3: 0x002fe688,\n\t0x100f4: 0x00302c88, 0x100f5: 0x00306c88, 0x100f6: 0x0030be88, 0x100f7: 0x0030e288,\n\t0x100f8: 0x0030f688, 0x100f9: 0x00310088, 0x100fa: 0x00312a88, 0x100fb: 0x4003f820,\n\t0x100fc: 0x4003d220, 0x100fd: 0x4003fa20, 0x100fe: 0x40062420, 0x100ff: 0x40021620,\n\t// Block 0x404, offset 0x10100\n\t0x10100: 0x40061e20, 0x10101: 0x402bde20, 0x10102: 0x402c0a20, 0x10103: 0x402c3a20,\n\t0x10104: 0x402c6220, 0x10105: 0x402c9820, 0x10106: 0x402d0820, 0x10107: 0x402d2220,\n\t0x10108: 0x402d6820, 0x10109: 0x402d9a20, 0x1010a: 0x402dcc20, 0x1010b: 0x402dfe20,\n\t0x1010c: 0x402e2220, 0x1010d: 0x402e8220, 0x1010e: 0x402e9e20, 0x1010f: 0x402ee220,\n\t0x10110: 0x402f2c20, 0x10111: 0x402f5620, 0x10112: 0x402f7a20, 0x10113: 0x402fe620,\n\t0x10114: 0x40302c20, 0x10115: 0x40306c20, 0x10116: 0x4030be20, 0x10117: 0x4030e220,\n\t0x10118: 0x4030f620, 0x10119: 0x40310020, 0x1011a: 0x40312a20, 0x1011b: 0x4003fc20,\n\t0x1011c: 0x40094820, 0x1011d: 0x4003fe20, 0x1011e: 0x40094c20, 0x1011f: 0x00041883,\n\t0x10120: 0x00041a83, 0x10121: 0x40030420, 0x10122: 0x4004a420, 0x10123: 0x4004a620,\n\t0x10124: 0x40025c20, 0x10125: 0x00023e92, 0x10126: 0xca3c3601, 0x10127: 0xc64d3281,\n\t0x10128: 0xc71d3281, 0x10129: 0xc7dd3601, 0x1012a: 0xc8c43281, 0x1012b: 0xc9793281,\n\t0x1012c: 0xc6e83281, 0x1012d: 0xc8af3281, 0x1012e: 0xca1d3281, 0x1012f: 0xc8483601,\n\t0x10130: 0x0027d692, 0x10131: 0xc6533281, 0x10132: 0xc7233281, 0x10133: 0xc7f23601,\n\t0x10134: 0xc8ca3281, 0x10135: 0xc97f3281, 0x10136: 0xc6663281, 0x10137: 0xc7363601,\n\t0x10138: 0xc8143601, 0x10139: 0xc8dd3281, 0x1013a: 0xc9923601, 0x1013b: 0xc67f3601,\n\t0x1013c: 0xc7583601, 0x1013d: 0xc8363601, 0x1013e: 0xc8f63601, 0x1013f: 0xc9af3601,\n\t// Block 0x405, offset 0x10140\n\t0x10140: 0xc69c3601, 0x10141: 0xc7753601, 0x10142: 0xc85d3601, 0x10143: 0xc9133601,\n\t0x10144: 0xc9d13601, 0x10145: 0xc6ac3281, 0x10146: 0xc7853281, 0x10147: 0xc8703281,\n\t0x10148: 0xc9233281, 0x10149: 0xc9e13281, 0x1014a: 0xc6ca3601, 0x1014b: 0xc7a33601,\n\t0x1014c: 0xc88e3601, 0x1014d: 0xc9413601, 0x1014e: 0xc9ff3601, 0x1014f: 0xc6e23281,\n\t0x10150: 0xc7bb3281, 0x10151: 0xc8a93281, 0x10152: 0xc9593281, 0x10153: 0xca173281,\n\t0x10154: 0xc6ee3281, 0x10155: 0xc8b53281, 0x10156: 0xca233281, 0x10157: 0xc6f73281,\n\t0x10158: 0xc7c43281, 0x10159: 0xc8be3281, 0x1015a: 0xc9623281, 0x1015b: 0xca2c3281,\n\t0x1015c: 0xc7113601, 0x1015d: 0xca453ae1, 0x1015e: 0xa0012812, 0x1015f: 0xa0012912,\n\t0x10160: 0x4063a620, 0x10161: 0x4062ac20, 0x10162: 0x4062ae20, 0x10163: 0x40646820,\n\t0x10164: 0x4062b020, 0x10165: 0x40646c20, 0x10166: 0x40646e20, 0x10167: 0x4062b220,\n\t0x10168: 0x4062b420, 0x10169: 0x4062b620, 0x1016a: 0x40647420, 0x1016b: 0x40647620,\n\t0x1016c: 0x40647820, 0x1016d: 0x40647a20, 0x1016e: 0x40647c20, 0x1016f: 0x40647e20,\n\t0x10170: 0x4062e020, 0x10171: 0x4062b820, 0x10172: 0x4062ba20, 0x10173: 0x4062bc20,\n\t0x10174: 0x4062ee20, 0x10175: 0x4062be20, 0x10176: 0x4062c020, 0x10177: 0x4062c220,\n\t0x10178: 0x4062c420, 0x10179: 0x4062c620, 0x1017a: 0x4062c820, 0x1017b: 0x4062ca20,\n\t0x1017c: 0x4062cc20, 0x1017d: 0x4062ce20, 0x1017e: 0x4062d020,\n\t// Block 0x406, offset 0x10180\n\t0x10182: 0x4063a820, 0x10183: 0x4063aa20,\n\t0x10184: 0x4063ac20, 0x10185: 0x4063ae20, 0x10186: 0x4063b020, 0x10187: 0x4063b220,\n\t0x1018a: 0x4063b420, 0x1018b: 0x4063b620,\n\t0x1018c: 0x4063b820, 0x1018d: 0x4063ba20, 0x1018e: 0x4063bc20, 0x1018f: 0x4063be20,\n\t0x10192: 0x4063c020, 0x10193: 0x4063c220,\n\t0x10194: 0x4063c420, 0x10195: 0x4063c620, 0x10196: 0x4063c820, 0x10197: 0x4063ca20,\n\t0x1019a: 0x4063cc20, 0x1019b: 0x4063ce20,\n\t0x1019c: 0x4063d020,\n\t0x101a0: 0x4027dc20, 0x101a1: 0x4027e020, 0x101a2: 0x40094620, 0x101a3: 0x40021220,\n\t0x101a4: 0x40094a20, 0x101a5: 0x4027e220, 0x101a6: 0x40280820,\n\t0x101a8: 0x400d3220, 0x101a9: 0x40084420, 0x101aa: 0x40084820, 0x101ab: 0x40084620,\n\t0x101ac: 0x40084a20, 0x101ad: 0x400e6e20, 0x101ae: 0x400ec420,\n\t0x101b9: 0xa0000000, 0x101ba: 0xa0000000, 0x101bb: 0xa0000000,\n\t0x101bc: 0x4027ae20, 0x101bd: 0x4027b020, 0x101be: 0x00000285, 0x101bf: 0x2bfffe85,\n\t// Block 0x407, offset 0x101c0\n\t0x101c0: 0xe0003d0b, 0x101c1: 0xe0003cf3, 0x101c2: 0xe0003cf7, 0x101c3: 0xe0003cff,\n\t0x101c4: 0xe0003d0f, 0x101c5: 0xe0003d03, 0x101c6: 0xe0003d13, 0x101c7: 0xe0003cfb,\n\t0x101c8: 0xe0003d07,\n\t0x101d0: 0x02bf2e86, 0x101d1: 0x02a7de86,\n\t// Block 0x408, offset 0x10200\n\t0x10200: 0x429c7a20, 0x10201: 0x6c036a20, 0x10202: 0x429c8220, 0x10203: 0x48024420,\n\t0x10204: 0x429ec020, 0x10205: 0x6c12f820, 0x10206: 0x429f7620, 0x10207: 0x42a00420,\n\t0x10208: 0x42a0f420, 0x10209: 0x6c124e20, 0x1020a: 0x6c0cd820, 0x1020b: 0x6c0d3420,\n\t0x1020c: 0x44693c20, 0x1020d: 0x480c7420, 0x1020e: 0x6c14e020, 0x1020f: 0x6c182020,\n\t0x10210: 0x42a2c820, 0x10211: 0x6c050a20, 0x10212: 0x480a3820, 0x10213: 0x44697220,\n\t0x10214: 0x42a2ce20, 0x10215: 0x6c07a420, 0x10216: 0x480a9620, 0x10217: 0x6c0ada20,\n\t0x10218: 0x6c184020, 0x10219: 0x429d9820, 0x1021a: 0x6c0fea20, 0x1021b: 0x6c185420,\n\t0x1021c: 0x4923be20, 0x1021d: 0x6c186820, 0x1021e: 0x6c0b6220, 0x1021f: 0x4469be20,\n\t0x10220: 0x6c073a20, 0x10221: 0x42a48c20, 0x10222: 0x6c02bc20, 0x10223: 0x42a4ee20,\n\t0x10224: 0x446a2a20, 0x10225: 0x6c155820, 0x10226: 0x6c138a20, 0x10227: 0x6c04c820,\n\t0x10228: 0x6c094620, 0x10229: 0x6c13ba20, 0x1022a: 0x6c18c620, 0x1022b: 0x6c142c20,\n\t0x1022c: 0x6c18e820, 0x1022d: 0x6c121820, 0x1022e: 0x6c118020, 0x1022f: 0x6c0d4820,\n\t0x10230: 0x42a6fa20, 0x10231: 0x6c047c20, 0x10232: 0x6c047c20, 0x10233: 0x6c047c20,\n\t0x10234: 0x48145820, 0x10235: 0x6c023e20, 0x10236: 0x6c042020, 0x10237: 0x6c191020,\n\t0x10238: 0x4816c620, 0x10239: 0x6c047e20, 0x1023a: 0x6c090020, 0x1023b: 0x42a80c20,\n\t0x1023c: 0x42a93c20, 0x1023d: 0x6c042220, 0x1023e: 0x6c0f4020, 0x1023f: 0x6c098c20,\n\t// Block 0x409, offset 0x10240\n\t0x10240: 0x6c195220, 0x10241: 0x42a9ec20, 0x10242: 0x6c0ff020, 0x10243: 0x6c055c20,\n\t0x10244: 0x6c198220, 0x10245: 0x6c0c9e20, 0x10246: 0x6c0c9e20, 0x10247: 0x6c199620,\n\t0x10248: 0x6c040020, 0x10249: 0x42ab6620, 0x1024a: 0x42ab8420, 0x1024b: 0x6c1a2620,\n\t0x1024c: 0x6c0e1820, 0x1024d: 0x42ae2e20, 0x1024e: 0x42aca220, 0x1024f: 0x6c133420,\n\t0x10250: 0x6c0c3420, 0x10251: 0x6c0ce420, 0x10252: 0x6c0ade20, 0x10253: 0x6c0b0220,\n\t0x10254: 0x42b01a20, 0x10255: 0x6c056220, 0x10256: 0x42b06420, 0x10257: 0x6c13be20,\n\t0x10258: 0x42b15820, 0x10259: 0x4829c820, 0x1025a: 0x6c116c20, 0x1025b: 0x6c0f2620,\n\t0x1025c: 0x42b20c20, 0x1025d: 0x6c0d7620, 0x1025e: 0x6c14b820, 0x1025f: 0x6c1ace20,\n\t0x10260: 0x482d5020, 0x10261: 0x482dd420, 0x10262: 0x42b3d820, 0x10263: 0x42b43620,\n\t0x10264: 0x42b44e20, 0x10265: 0x42b3b020, 0x10266: 0x6c12cc20, 0x10267: 0x446ddc20,\n\t0x10268: 0x446df820, 0x10269: 0x42b61020, 0x1026a: 0x6c1b3420, 0x1026b: 0x6c1b3420,\n\t0x1026c: 0x48339020, 0x1026d: 0x6c1b5c20, 0x1026e: 0x42b7b020, 0x1026f: 0x6c10fa20,\n\t0x10270: 0x6c1b7620, 0x10271: 0x48363020, 0x10272: 0x6c097e20, 0x10273: 0x6c0a6220,\n\t0x10274: 0x6c101820, 0x10275: 0x6c1b8420, 0x10276: 0x446f0220, 0x10277: 0x6c0fc220,\n\t0x10278: 0x6c1b9c20, 0x10279: 0x42b98020, 0x1027a: 0x42b91a20, 0x1027b: 0x483bc820,\n\t0x1027c: 0x42ba8620, 0x1027d: 0x483bcc20, 0x1027e: 0x42badc20, 0x1027f: 0x42bad620,\n\t// Block 0x40a, offset 0x10280\n\t0x10280: 0x42baf820, 0x10281: 0x6c0a1420, 0x10282: 0x42bbc420, 0x10283: 0x44705e20,\n\t0x10284: 0x6c0e0220, 0x10285: 0x42bc5020, 0x10286: 0x6c140620, 0x10287: 0x42bcd220,\n\t0x10288: 0x4470c420, 0x10289: 0x48430620, 0x1028a: 0x4470f820, 0x1028b: 0x42bd6020,\n\t0x1028c: 0x42bd6620, 0x1028d: 0x6c0a2820, 0x1028e: 0x6c16de20, 0x1028f: 0x49472420,\n\t0x10290: 0x6c1c6e20, 0x10291: 0x48466220, 0x10292: 0x48466220, 0x10293: 0x6c286820,\n\t0x10294: 0x42be4420, 0x10295: 0x42be4420, 0x10296: 0x44718e20, 0x10297: 0x48657020,\n\t0x10298: 0x48c3b420, 0x10299: 0x6c056620, 0x1029a: 0x6c0ebc20, 0x1029b: 0x4471c620,\n\t0x1029c: 0x42bf3420, 0x1029d: 0x6c10f020, 0x1029e: 0x6c088020, 0x1029f: 0x42bff220,\n\t0x102a0: 0x6c1d0220, 0x102a1: 0x44727420, 0x102a2: 0x44723820, 0x102a3: 0x6c022a20,\n\t0x102a4: 0x484da820, 0x102a5: 0x6c109620, 0x102a6: 0x6c08cc20, 0x102a7: 0x6c06c020,\n\t0x102a8: 0x6c0b2e20, 0x102a9: 0x6c06c020, 0x102aa: 0x42c2f420, 0x102ab: 0x6c0d3820,\n\t0x102ac: 0x6c05da20, 0x102ad: 0x6c133820, 0x102ae: 0x42c35e20, 0x102af: 0x42c3bc20,\n\t0x102b0: 0x6c0ec020, 0x102b1: 0x6c1dac20, 0x102b2: 0x6c0bdc20, 0x102b3: 0x6c1dc620,\n\t0x102b4: 0x42c4ba20, 0x102b5: 0x6c13cc20, 0x102b6: 0x6c1df220, 0x102b7: 0x6c1e2620,\n\t0x102b8: 0x48561820, 0x102b9: 0x6c120820, 0x102ba: 0x42c5f820, 0x102bb: 0x6c092c20,\n\t0x102bc: 0x6c0cf620, 0x102bd: 0x42c7c820, 0x102be: 0x4857e220, 0x102bf: 0x42c84420,\n\t// Block 0x40b, offset 0x102c0\n\t0x102c0: 0x42c78a20, 0x102c1: 0x6c014820, 0x102c2: 0x44745c20, 0x102c3: 0x6c145420,\n\t0x102c4: 0x42c8fc20, 0x102c5: 0x42c93a20, 0x102c6: 0x42c8ee20, 0x102c7: 0x4474d820,\n\t0x102c8: 0x6c12c020, 0x102c9: 0x6c057620, 0x102ca: 0x48601420, 0x102cb: 0x42cbc620,\n\t0x102cc: 0x6c0a2e20, 0x102cd: 0x6c1f1420, 0x102ce: 0x44763220, 0x102cf: 0x6c0a2220,\n\t0x102d0: 0x44761020, 0x102d1: 0x4475c820, 0x102d2: 0x6c141620, 0x102d3: 0x6c183c20,\n\t0x102d4: 0x6c07a620, 0x102d5: 0x42cd3820, 0x102d6: 0x6c27ec20, 0x102d7: 0x4487b220,\n\t0x102d8: 0x6c16e220, 0x102d9: 0x6c141020, 0x102da: 0x42ce4220, 0x102db: 0x6c1f7020,\n\t0x102dc: 0x6c094a20, 0x102dd: 0x48678620, 0x102de: 0x44769220, 0x102df: 0x42cff420,\n\t0x102e0: 0x6c1f8c20, 0x102e1: 0x42d0a420, 0x102e2: 0x6c116220, 0x102e3: 0x4868da20,\n\t0x102e4: 0x42d11c20, 0x102e5: 0x42d03e20, 0x102e6: 0x42d22820, 0x102e7: 0x44773a20,\n\t0x102e8: 0x42d28420, 0x102e9: 0x42d34620, 0x102ea: 0x42d3d420, 0x102eb: 0x42d55020,\n\t0x102ec: 0x486d4620, 0x102ed: 0x6c051e20, 0x102ee: 0x44783020, 0x102ef: 0x6c08d220,\n\t0x102f0: 0x48714e20, 0x102f1: 0x6c20f820, 0x102f2: 0x44789c20, 0x102f3: 0x42d6e420,\n\t0x102f4: 0x42d73e20, 0x102f5: 0x6c082020, 0x102f6: 0x6c028c20, 0x102f7: 0x48751a20,\n\t0x102f8: 0x483a1620, 0x102f9: 0x4875f420, 0x102fa: 0x6c11ec20, 0x102fb: 0x48797820,\n\t0x102fc: 0x6c014c20, 0x102fd: 0x42d99a20, 0x102fe: 0x42d8ce20, 0x102ff: 0x42da2c20,\n\t// Block 0x40c, offset 0x10300\n\t0x10300: 0x6c113620, 0x10301: 0x6c023c20, 0x10302: 0x6c162420, 0x10303: 0x6c06dc20,\n\t0x10304: 0x6c0b3a20, 0x10305: 0x6c21a620, 0x10306: 0x487a3c20, 0x10307: 0x42da6820,\n\t0x10308: 0x6c06de20, 0x10309: 0x6c21d220, 0x1030a: 0x447a6620, 0x1030b: 0x6c08d420,\n\t0x1030c: 0x42dd8e20, 0x1030d: 0x487da220, 0x1030e: 0x6c21a820, 0x1030f: 0x6c0ec820,\n\t0x10310: 0x487ebc20, 0x10311: 0x487f1c20, 0x10312: 0x6c226020, 0x10313: 0x42e07220,\n\t0x10314: 0x6c109020, 0x10315: 0x6c228220, 0x10316: 0x447b2c20, 0x10317: 0x42e09420,\n\t0x10318: 0x6c07bc20, 0x10319: 0x42e0ee20, 0x1031a: 0x6c0e2820, 0x1031b: 0x480a4a20,\n\t0x1031c: 0x42e28a20, 0x1031d: 0x4884c620, 0x1031e: 0x42e33820, 0x1031f: 0x48875620,\n\t0x10320: 0x6c22f620, 0x10321: 0x6c094e20, 0x10322: 0x42e4a020, 0x10323: 0x488c1020,\n\t0x10324: 0x6c07c020, 0x10325: 0x42e52a20, 0x10326: 0x488e6a20, 0x10327: 0x48902820,\n\t0x10328: 0x6c236220, 0x10329: 0x6c018420, 0x1032a: 0x447d5820, 0x1032b: 0x42e74a20,\n\t0x1032c: 0x447d7020, 0x1032d: 0x447d7020, 0x1032e: 0x42e88e20, 0x1032f: 0x6c238c20,\n\t0x10330: 0x42e8e220, 0x10331: 0x42e90a20, 0x10332: 0x6c23a020, 0x10333: 0x447e3620,\n\t0x10334: 0x42ea4820, 0x10335: 0x48986c20, 0x10336: 0x42ea7c20, 0x10337: 0x48992420,\n\t0x10338: 0x6c007620, 0x10339: 0x48433e20, 0x1033a: 0x42ec2020, 0x1033b: 0x489f4220,\n\t0x1033c: 0x489f7020, 0x1033d: 0x48a08820, 0x1033e: 0x447ff820, 0x1033f: 0x44801020,\n\t// Block 0x40d, offset 0x10340\n\t0x10340: 0x6c0eec20, 0x10341: 0x48a1e620, 0x10342: 0x48a1e420, 0x10343: 0x48a23220,\n\t0x10344: 0x48a26620, 0x10345: 0x6c24a820, 0x10346: 0x6c0b4220, 0x10347: 0x6c0b4220,\n\t0x10348: 0x42ee9420, 0x10349: 0x44807220, 0x1034a: 0x6c24c820, 0x1034b: 0x44808c20,\n\t0x1034c: 0x44812c20, 0x1034d: 0x48a83a20, 0x1034e: 0x42f09c20, 0x1034f: 0x6c250420,\n\t0x10350: 0x42f19820, 0x10351: 0x4481c620, 0x10352: 0x48ac4c20, 0x10353: 0x6c0cc420,\n\t0x10354: 0x48ad3420, 0x10355: 0x48ad8a20, 0x10356: 0x6c131a20, 0x10357: 0x42f3d620,\n\t0x10358: 0x44825e20, 0x10359: 0x6c074020, 0x1035a: 0x42f49420, 0x1035b: 0x6c01ac20,\n\t0x1035c: 0x48b2f820, 0x1035d: 0x48b54e20, 0x1035e: 0x48b54e20, 0x1035f: 0x42f5dc20,\n\t0x10360: 0x44840420, 0x10361: 0x48b75620, 0x10362: 0x6c261820, 0x10363: 0x6c0e6a20,\n\t0x10364: 0x44844e20, 0x10365: 0x48b90020, 0x10366: 0x6c268420, 0x10367: 0x44854020,\n\t0x10368: 0x42f9d020, 0x10369: 0x42f9c620, 0x1036a: 0x6c03c020, 0x1036b: 0x48bf0c20,\n\t0x1036c: 0x6c26bc20, 0x1036d: 0x44860220, 0x1036e: 0x6c26d220, 0x1036f: 0x42fc0420,\n\t0x10370: 0x42fc8a20, 0x10371: 0x44866820, 0x10372: 0x48c45020, 0x10373: 0x48c48e20,\n\t0x10374: 0x4486b220, 0x10375: 0x48c5b220, 0x10376: 0x42fef420, 0x10377: 0x48c67c20,\n\t0x10378: 0x42ff2a20, 0x10379: 0x42fff420, 0x1037a: 0x6c093820, 0x1037b: 0x48c9b420,\n\t0x1037c: 0x48ca4620, 0x1037d: 0x4300c020, 0x1037e: 0x48cb5020, 0x1037f: 0x6c27d620,\n\t// Block 0x40e, offset 0x10380\n\t0x10380: 0x4866be20, 0x10381: 0x4487aa20, 0x10382: 0x6c009220, 0x10383: 0x43020620,\n\t0x10384: 0x44881620, 0x10385: 0x6c281420, 0x10386: 0x42b56a20, 0x10387: 0x48cf4e20,\n\t0x10388: 0x48cf6a20, 0x10389: 0x48672620, 0x1038a: 0x48673820, 0x1038b: 0x6c286820,\n\t0x1038c: 0x43040820, 0x1038d: 0x6c08ea20, 0x1038e: 0x4488d620, 0x1038f: 0x43052220,\n\t0x10390: 0x6c00a420, 0x10391: 0x6c091e20, 0x10392: 0x42a56620, 0x10393: 0x6c01e420,\n\t0x10394: 0x6c13e220, 0x10395: 0x6c020c20, 0x10396: 0x6c050020, 0x10397: 0x48d67820,\n\t0x10398: 0x6c095620, 0x10399: 0x43063a20, 0x1039a: 0x4306c620, 0x1039b: 0x43075a20,\n\t0x1039c: 0x6c28f220, 0x1039d: 0x6c292820, 0x1039e: 0x4307ce20, 0x1039f: 0x6c0ea420,\n\t0x103a0: 0x4306a620, 0x103a1: 0x6c03f820, 0x103a2: 0x6c04e220, 0x103a3: 0x6c07cc20,\n\t0x103a4: 0x48d86c20, 0x103a5: 0x48dad620, 0x103a6: 0x48d9aa20, 0x103a7: 0x448a5620,\n\t0x103a8: 0x4309e220, 0x103a9: 0x4309e620, 0x103aa: 0x430a2c20, 0x103ab: 0x48e79420,\n\t0x103ac: 0x430ac820, 0x103ad: 0x48de5820, 0x103ae: 0x448aba20, 0x103af: 0x448ac220,\n\t0x103b0: 0x48df6220, 0x103b1: 0x48e1a420, 0x103b2: 0x448ad620, 0x103b3: 0x6c041420,\n\t0x103b4: 0x6c163c20, 0x103b5: 0x6c29de20, 0x103b6: 0x430cd220, 0x103b7: 0x6c29e620,\n\t0x103b8: 0x430d1020, 0x103b9: 0x430e1c20, 0x103ba: 0x430dc420, 0x103bb: 0x430ef220,\n\t0x103bc: 0x430e5020, 0x103bd: 0x430ed620, 0x103be: 0x430f0c20, 0x103bf: 0x448bae20,\n\t// Block 0x40f, offset 0x103c0\n\t0x103c0: 0x430fc220, 0x103c1: 0x43100220, 0x103c2: 0x448bf220, 0x103c3: 0x4310c020,\n\t0x103c4: 0x6c008220, 0x103c5: 0x48ecce20, 0x103c6: 0x4311ae20, 0x103c7: 0x4311bc20,\n\t0x103c8: 0x448c6a20, 0x103c9: 0x4311f420, 0x103ca: 0x44697620, 0x103cb: 0x48f15c20,\n\t0x103cc: 0x48f2cc20, 0x103cd: 0x448d7c20, 0x103ce: 0x448d8e20, 0x103cf: 0x6c0bfe20,\n\t0x103d0: 0x6c154e20, 0x103d1: 0x6c1ede20, 0x103d2: 0x6c2be420, 0x103d3: 0x48f95020,\n\t0x103d4: 0x6c035620, 0x103d5: 0x6c2c1220, 0x103d6: 0x431a3620, 0x103d7: 0x6c03ca20,\n\t0x103d8: 0x48fe5e20, 0x103d9: 0x48100820, 0x103da: 0x6c2c5420, 0x103db: 0x431b7820,\n\t0x103dc: 0x431be020, 0x103dd: 0x4811bc20, 0x103de: 0x431da820, 0x103df: 0x6c155020,\n\t0x103e0: 0x490ba420, 0x103e1: 0x490bda20, 0x103e2: 0x43212820, 0x103e3: 0x4321e220,\n\t0x103e4: 0x43222220, 0x103e5: 0x490e5c20, 0x103e6: 0x43223620, 0x103e7: 0x43247020,\n\t0x103e8: 0x4325ae20, 0x103e9: 0x4325b020, 0x103ea: 0x4324f820, 0x103eb: 0x4327f220,\n\t0x103ec: 0x43282a20, 0x103ed: 0x4917f420, 0x103ee: 0x6c024a20, 0x103ef: 0x44932a20,\n\t0x103f0: 0x432b6e20, 0x103f1: 0x491aee20, 0x103f2: 0x4493cc20, 0x103f3: 0x432d8620,\n\t0x103f4: 0x42bb6420, 0x103f5: 0x432e4620, 0x103f6: 0x49228a20, 0x103f7: 0x49243420,\n\t0x103f8: 0x4494dc20, 0x103f9: 0x4494ec20, 0x103fa: 0x432fc020, 0x103fb: 0x49281420,\n\t0x103fc: 0x44956420, 0x103fd: 0x49292c20, 0x103fe: 0x43301620, 0x103ff: 0x43301620,\n\t// Block 0x410, offset 0x10400\n\t0x10400: 0x43305220, 0x10401: 0x492b6c20, 0x10402: 0x6c03d020, 0x10403: 0x44966620,\n\t0x10404: 0x43325220, 0x10405: 0x43334e20, 0x10406: 0x43338420, 0x10407: 0x4333fc20,\n\t0x10408: 0x44979c20, 0x10409: 0x49366020, 0x1040a: 0x43362420, 0x1040b: 0x43388020,\n\t0x1040c: 0x4339fa20, 0x1040d: 0x44999c20, 0x1040e: 0x4499da20, 0x1040f: 0x433ace20,\n\t0x10410: 0x49419c20, 0x10411: 0x4499f020, 0x10412: 0x49420a20, 0x10413: 0x49441c20,\n\t0x10414: 0x49452220, 0x10415: 0x6c145a20, 0x10416: 0x449aac20, 0x10417: 0x6c316420,\n\t0x10418: 0x433dfc20, 0x10419: 0x433e0a20, 0x1041a: 0x433e1e20, 0x1041b: 0x433e2c20,\n\t0x1041c: 0x6c125e20, 0x1041d: 0x494c0020,\n\t// Block 0x411, offset 0x10440\n\t0x10440: 0xe00014bd, 0x10441: 0x0033b483, 0x10442: 0x00339688, 0x10443: 0x0033a288,\n\t0x10444: 0x0033c288, 0x10445: 0x0033fc88, 0x10446: 0xca490071, 0x10447: 0x00343688,\n\t0x10448: 0x00344688, 0x10449: 0x00349a88, 0x1044a: 0x0034e488, 0x1044b: 0x00356288,\n\t0x1044c: 0x00356a88, 0x1044d: 0xe00014cf, 0x1044e: 0x00357a88, 0x1044f: 0x00365488,\n\t0x10450: 0xc0090041, 0x10451: 0x00335288, 0x10452: 0x00335a88, 0x10453: 0xc0130092,\n\t0x10454: 0x00338a88, 0x10455: 0xc34c0041, 0x10456: 0xc01c0071, 0x10457: 0xc0200071,\n\t0x10458: 0xc0250041, 0x10459: 0x00343e88, 0x1045a: 0xc0370092, 0x1045b: 0x00348488,\n\t0x1045c: 0x0034a888, 0x1045d: 0x0034ba88, 0x1045e: 0xc02e0071, 0x1045f: 0x00350e88,\n\t0x10460: 0x00352888, 0x10461: 0x00353a88, 0x10462: 0x00354c88, 0x10463: 0xc03e00f1,\n\t0x10464: 0x0035ac88, 0x10465: 0x0035b488, 0x10466: 0x00360288, 0x10467: 0xc0440071,\n\t0x10468: 0x00365c88, 0x10469: 0x00366688, 0x1046a: 0x00367488, 0x1046b: 0xc0480071,\n\t0x1046c: 0x00368e88, 0x1046d: 0xc04c0071, 0x1046e: 0x0036b888, 0x1046f: 0x0036c488,\n\t0x10470: 0xc0060041, 0x10471: 0x40335220, 0x10472: 0x40335a20, 0x10473: 0xc0100092,\n\t0x10474: 0x40338a20, 0x10475: 0xc3490041, 0x10476: 0xc01a0071, 0x10477: 0xc01e0071,\n\t0x10478: 0xc0220041, 0x10479: 0x40343e20, 0x1047a: 0xc0340092, 0x1047b: 0x40348420,\n\t0x1047c: 0x4034a820, 0x1047d: 0x4034ba20, 0x1047e: 0xc02c0071, 0x1047f: 0x40350e20,\n\t// Block 0x412, offset 0x10480\n\t0x10480: 0x40352820, 0x10481: 0x40353a20, 0x10482: 0x40354c20, 0x10483: 0xc03a00f1,\n\t0x10484: 0x4035ac20, 0x10485: 0x4035b420, 0x10486: 0x40360220, 0x10487: 0xc0420071,\n\t0x10488: 0x40365c20, 0x10489: 0x40366620, 0x1048a: 0x40367420, 0x1048b: 0xc0460071,\n\t0x1048c: 0x40368e20, 0x1048d: 0xc04a0071, 0x1048e: 0x4036b820, 0x1048f: 0x4036c420,\n\t0x10490: 0xe00014ba, 0x10491: 0x4033b420, 0x10492: 0x40339620, 0x10493: 0x4033a220,\n\t0x10494: 0x4033c220, 0x10495: 0x4033fc20, 0x10496: 0xca470071, 0x10497: 0x40343620,\n\t0x10498: 0x40344620, 0x10499: 0x40349a20, 0x1049a: 0x4034e420, 0x1049b: 0x40356220,\n\t0x1049c: 0x40356a20, 0x1049d: 0xe00014cc, 0x1049e: 0x40357a20, 0x1049f: 0x40365420,\n\t0x104a0: 0x0035e088, 0x104a1: 0x4035e020, 0x104a2: 0x00369e88, 0x104a3: 0x40369e20,\n\t0x104a4: 0x0036ce88, 0x104a5: 0x4036ce20, 0x104a6: 0x0036d688, 0x104a7: 0x4036d620,\n\t0x104a8: 0x0036ea88, 0x104a9: 0x4036ea20, 0x104aa: 0x0036e088, 0x104ab: 0x4036e020,\n\t0x104ac: 0x0036f488, 0x104ad: 0x4036f420, 0x104ae: 0x0036fc88, 0x104af: 0x4036fc20,\n\t0x104b0: 0x00370488, 0x104b1: 0x40370420, 0x104b2: 0x00370c88, 0x104b3: 0x40370c20,\n\t0x104b4: 0xc0500131, 0x104b5: 0xc04e0131, 0x104b6: 0x00371c88, 0x104b7: 0x40371c20,\n\t0x104b8: 0x0035a488, 0x104b9: 0x4035a420, 0x104ba: 0x0035fa88, 0x104bb: 0x4035fa20,\n\t0x104bc: 0x0035f288, 0x104bd: 0x4035f220, 0x104be: 0x0035e888, 0x104bf: 0x4035e820,\n\t// Block 0x413, offset 0x104c0\n\t0x104c0: 0x00352088, 0x104c1: 0x40352020, 0x104c2: 0x40070620, 0x104c3: 0xae608302,\n\t0x104c4: 0xae605f02, 0x104c5: 0xae602a02, 0x104c6: 0xae602202, 0x104c7: 0xae605f02,\n\t0x104c8: 0xa0000000, 0x104c9: 0xa0000000, 0x104ca: 0x00341c88, 0x104cb: 0x40341c20,\n\t0x104cc: 0x00369688, 0x104cd: 0x40369620, 0x104ce: 0x00353088, 0x104cf: 0x40353020,\n\t0x104d0: 0xe00014b7, 0x104d1: 0xe00014b4, 0x104d2: 0x00336a88, 0x104d3: 0x40336a20,\n\t0x104d4: 0x00337a88, 0x104d5: 0x40337a20, 0x104d6: 0x0033dc88, 0x104d7: 0x4033dc20,\n\t0x104d8: 0x0033aa88, 0x104d9: 0x4033aa20, 0x104da: 0x00345888, 0x104db: 0x40345820,\n\t0x104dc: 0x00347888, 0x104dd: 0x40347820, 0x104de: 0x00347088, 0x104df: 0x40347020,\n\t0x104e0: 0x00346888, 0x104e1: 0x40346820, 0x104e2: 0x0034ca88, 0x104e3: 0x4034ca20,\n\t0x104e4: 0x0034dc88, 0x104e5: 0x4034dc20, 0x104e6: 0x00351888, 0x104e7: 0x40351820,\n\t0x104e8: 0x00372688, 0x104e9: 0x40372620, 0x104ea: 0x00354488, 0x104eb: 0x40354420,\n\t0x104ec: 0x00355888, 0x104ed: 0x40355820, 0x104ee: 0x00359c83, 0x104ef: 0x40359c20,\n\t0x104f0: 0x00359a88, 0x104f1: 0x40359a20, 0x104f2: 0x0035cc88, 0x104f3: 0x4035cc20,\n\t0x104f4: 0x00360e88, 0x104f5: 0x40360e20, 0x104f6: 0x00362a88, 0x104f7: 0x40362a20,\n\t0x104f8: 0x00363a88, 0x104f9: 0x40363a20, 0x104fa: 0x0035d488, 0x104fb: 0x4035d420,\n\t0x104fc: 0x00364488, 0x104fd: 0x40364420, 0x104fe: 0x00364c88, 0x104ff: 0x40364c20,\n\t// Block 0x414, offset 0x10500\n\t0x10500: 0xa0000000, 0x10501: 0xa0000000, 0x10502: 0xa0000000, 0x10503: 0xa0000000,\n\t0x10504: 0xa0000000, 0x10505: 0xa0000000, 0x10506: 0xa0000000, 0x10507: 0xa0000000,\n\t0x10508: 0xa0000000, 0x10509: 0x40020020, 0x1050a: 0x40020220, 0x1050b: 0x40020420,\n\t0x1050c: 0x40020620, 0x1050d: 0x40020820, 0x1050e: 0xa0000000, 0x1050f: 0xa0000000,\n\t0x10510: 0xa0000000, 0x10511: 0xa0000000, 0x10512: 0xa0000000, 0x10513: 0xa0000000,\n\t0x10514: 0xa0000000, 0x10515: 0xa0000000, 0x10516: 0xa0000000, 0x10517: 0xa0000000,\n\t0x10518: 0xa0000000, 0x10519: 0xa0000000, 0x1051a: 0xa0000000, 0x1051b: 0xa0000000,\n\t0x1051c: 0xa0000000, 0x1051d: 0xa0000000, 0x1051e: 0xa0000000, 0x1051f: 0xa0000000,\n\t0x10520: 0x40021220, 0x10521: 0x4002ba20, 0x10522: 0x4003e020, 0x10523: 0x4004ea20,\n\t0x10524: 0x4027de20, 0x10525: 0x4004ec20, 0x10526: 0x4004e620, 0x10527: 0x4003d220,\n\t0x10528: 0x4003f420, 0x10529: 0x4003f620, 0x1052a: 0x4004d820, 0x1052b: 0x40093820,\n\t0x1052c: 0x40024020, 0x1052d: 0x40021a20, 0x1052e: 0x4002e420, 0x1052f: 0x4004e220,\n\t0x10530: 0x4029cc20, 0x10531: 0x4029ce20, 0x10532: 0x4029d020, 0x10533: 0x4029d220,\n\t0x10534: 0x4029d420, 0x10535: 0x4029d620, 0x10536: 0x4029d820, 0x10537: 0x4029da20,\n\t0x10538: 0x4029dc20, 0x10539: 0x4029de20, 0x1053a: 0x40026c20, 0x1053b: 0x40026220,\n\t0x1053c: 0x40094020, 0x1053d: 0x40094220, 0x1053e: 0x40094420, 0x1053f: 0x4002c420,\n\t// Block 0x415, offset 0x10540\n\t0x10540: 0x4004d620, 0x10541: 0xca5027b1, 0x10542: 0x002c0a88, 0x10543: 0x002c3a88,\n\t0x10544: 0x002c6288, 0x10545: 0xc39e0be1, 0x10546: 0x002d0888, 0x10547: 0x002d2288,\n\t0x10548: 0x002d6888, 0x10549: 0x002d9a88, 0x1054a: 0x002dcc88, 0x1054b: 0xca4b3b11,\n\t0x1054c: 0xc0030002, 0x1054d: 0x002e8288, 0x1054e: 0x002e9e88, 0x1054f: 0xc3a30b21,\n\t0x10550: 0x002f2c88, 0x10551: 0x002f5688, 0x10552: 0x002f7a88, 0x10553: 0x002fe688,\n\t0x10554: 0x00302c88, 0x10555: 0xc3900b21, 0x10556: 0x0030be88, 0x10557: 0x0030e288,\n\t0x10558: 0x0030f688, 0x10559: 0x00310088, 0x1055a: 0x00312a88, 0x1055b: 0x4003f820,\n\t0x1055c: 0x4004e420, 0x1055d: 0x4003fa20, 0x1055e: 0x40062420, 0x1055f: 0x40021620,\n\t0x10560: 0x40061e20, 0x10561: 0xca4d27b1, 0x10562: 0x402c0a20, 0x10563: 0x402c3a20,\n\t0x10564: 0x402c6220, 0x10565: 0xc39c0be1, 0x10566: 0x402d0820, 0x10567: 0x402d2220,\n\t0x10568: 0x402d6820, 0x10569: 0x402d9a20, 0x1056a: 0x402dcc20, 0x1056b: 0x402dfe20,\n\t0x1056c: 0xc0000002, 0x1056d: 0x402e8220, 0x1056e: 0x402e9e20, 0x1056f: 0xc3a00b21,\n\t0x10570: 0x402f2c20, 0x10571: 0x402f5620, 0x10572: 0x402f7a20, 0x10573: 0x402fe620,\n\t0x10574: 0x40302c20, 0x10575: 0xc38d0b21, 0x10576: 0x4030be20, 0x10577: 0x4030e220,\n\t0x10578: 0x4030f620, 0x10579: 0x40310020, 0x1057a: 0x40312a20, 0x1057b: 0x4003fc20,\n\t0x1057c: 0x40094820, 0x1057d: 0x4003fe20, 0x1057e: 0x40094c20, 0x1057f: 0xa0000000,\n\t// Block 0x416, offset 0x10580\n\t0x10580: 0xe0000983, 0x10581: 0xe0000980, 0x10582: 0xe00008fb, 0x10583: 0xe00008f8,\n\t0x10584: 0xe000097d, 0x10585: 0xe000097a, 0x10586: 0xe0000a38, 0x10587: 0xe0000a35,\n\t0x10588: 0xe0000a3e, 0x10589: 0xe0000a3b, 0x1058a: 0xe0000a4a, 0x1058b: 0xe0000a47,\n\t0x1058c: 0xe0000a44, 0x1058d: 0xe0000a41, 0x1058e: 0xe0000a86, 0x1058f: 0xe0000a83,\n\t0x10590: 0x002c62a3, 0x10591: 0x402c6221, 0x10592: 0xe0000b46, 0x10593: 0xe0000b43,\n\t0x10594: 0xe0000aee, 0x10595: 0xe0000aeb, 0x10596: 0xe0000b2c, 0x10597: 0xe0000b29,\n\t0x10598: 0x00320cc3, 0x10599: 0x40320c22, 0x1059a: 0xe0000b1a, 0x1059b: 0xe0000b17,\n\t0x1059c: 0xe0000bb8, 0x1059d: 0xe0000bb5, 0x1059e: 0xe0000bb2, 0x1059f: 0xe0000baf,\n\t0x105a0: 0xe0000bc4, 0x105a1: 0xe0000bc1, 0x105a2: 0xe0000bca, 0x105a3: 0xe0000bc7,\n\t0x105a4: 0xe0000bee, 0x105a5: 0xe0000beb, 0x105a6: 0xe0000c1b, 0x105a7: 0xe0000c18,\n\t0x105a8: 0xe0000c51, 0x105a9: 0xe0000c4e, 0x105aa: 0xe0000c60, 0x105ab: 0xe0000c5d,\n\t0x105ac: 0xe0000c31, 0x105ad: 0xe0000c2e, 0x105ae: 0xe0000c5a, 0x105af: 0xe0000c57,\n\t0x105b0: 0xe0000c54, 0x105b1: 0x402da220, 0x105b2: 0xf0000a0a, 0x105b3: 0xf0000404,\n\t0x105b4: 0xe0000c8a, 0x105b5: 0xe0000c87, 0x105b6: 0xe0000c9f, 0x105b7: 0xe0000c9c,\n\t0x105b8: 0x402f5621, 0x105b9: 0xe0000ccc, 0x105ba: 0xe0000cc9, 0x105bb: 0xe0000cd8,\n\t0x105bc: 0xe0000cd5, 0x105bd: 0xe0000cd2, 0x105be: 0xe0000ccf, 0x105bf: 0xe0000d04,\n\t// Block 0x417, offset 0x105c0\n\t0x105c0: 0xca533b21, 0x105c1: 0xca553b21, 0x105c2: 0xca573b21, 0x105c3: 0xca593b21,\n\t0x105c4: 0xca5b3b21, 0x105c5: 0xca5d3b21, 0x105c6: 0xca5f3b21, 0x105c7: 0xca613b21,\n\t0x105c8: 0xca633b21, 0x105c9: 0xca653b21, 0x105ca: 0xca673b21, 0x105cb: 0xca693b21,\n\t0x105cc: 0xca6b3b21, 0x105cd: 0xca6d3b21, 0x105ce: 0xca6f3b21, 0x105cf: 0xca713b21,\n\t0x105d0: 0xca733b21, 0x105d1: 0xca753b21, 0x105d2: 0xca773b21, 0x105d3: 0xca793b21,\n\t0x105d4: 0xca7b3b21, 0x105d5: 0xca7d3b21, 0x105d6: 0xca7f3b21, 0x105d7: 0xca813b21,\n\t0x105d8: 0xca833b21, 0x105d9: 0xca853b21, 0x105da: 0xca873b21, 0x105db: 0xca8b3b21,\n\t0x105dc: 0xca913b21, 0x105dd: 0xca953b21, 0x105de: 0xca973b21, 0x105df: 0xca993b21,\n\t0x105e0: 0xca9b3b21, 0x105e1: 0xca9d3b21, 0x105e2: 0xca9f3b21, 0x105e3: 0xca9f3b21,\n\t0x105e4: 0xe000413a, 0x105e5: 0xe000413d, 0x105e6: 0xe0004140, 0x105e7: 0xe0004143,\n\t0x105e8: 0xe0004146, 0x105e9: 0xe000414a, 0x105ea: 0xe000414d, 0x105eb: 0xca893b21,\n\t0x105ec: 0xca8d3b21, 0x105ed: 0xca8f3b21, 0x105ee: 0xca933b21, 0x105ef: 0xe0004151,\n\t0x105f0: 0xe0004154, 0x105f1: 0xe0004157, 0x105f2: 0xe000415a, 0x105f3: 0xe000415d,\n\t0x105f4: 0xa0000000, 0x105f5: 0xa0000000, 0x105f6: 0xcaa43b81, 0x105f7: 0xcaa63bb1,\n\t0x105f8: 0x40501220, 0x105f9: 0x40501420, 0x105fa: 0x40501620, 0x105fb: 0xcaa13b51,\n\t0x105fc: 0x40501a20, 0x105fd: 0x40501c20, 0x105fe: 0x40501e20, 0x105ff: 0x40502020,\n\t// Block 0x418, offset 0x10600\n\t0x10600: 0x40502220, 0x10601: 0xcaa83bb1, 0x10602: 0x40502620, 0x10603: 0x40502820,\n\t0x10604: 0xcaaa3bb1, 0x10605: 0x40502c20, 0x10606: 0x40503020, 0x10607: 0x40503420,\n\t0x10608: 0xadc11802, 0x10609: 0xadc11b02, 0x1060a: 0xadc11c02, 0x1060b: 0xadc11a02,\n\t0x1060c: 0xa0005f02, 0x1060d: 0xadc11d02, 0x1060e: 0xadc11402, 0x1060f: 0xadc11502,\n\t0x10610: 0xadc11702, 0x10611: 0xadc11602, 0x10612: 0x82092817, 0x10613: 0xa0000000,\n\t0x10614: 0x40032620, 0x10615: 0x40032820, 0x10616: 0x4002ac20, 0x10617: 0x4027bc20,\n\t0x10618: 0xe000409a, 0x10619: 0x4005be20, 0x1061a: 0x4005c020, 0x1061b: 0x4027f620,\n\t0x1061c: 0x404fea20, 0x1061d: 0xadc11902,\n\t0x10620: 0xe00001b5, 0x10621: 0xe0000249, 0x10622: 0xe0000361, 0x10623: 0xe000043b,\n\t0x10624: 0xe0000510, 0x10625: 0xe00005da, 0x10626: 0xe00006a5, 0x10627: 0xe000074d,\n\t0x10628: 0xe00007f9, 0x10629: 0xe000089e,\n\t0x10630: 0xe00001b8, 0x10631: 0xe000024c, 0x10632: 0xe0000364, 0x10633: 0xe000043e,\n\t0x10634: 0xe0000513, 0x10635: 0xe00005dd, 0x10636: 0xe00006a8, 0x10637: 0xe0000750,\n\t0x10638: 0xe00007fc, 0x10639: 0xe00008a1,\n\t// Block 0x419, offset 0x10640\n\t0x10642: 0x40439020, 0x10643: 0x40439220,\n\t0x10645: 0x40437020, 0x10646: 0x40437220, 0x10647: 0x40437420,\n\t0x10648: 0x40437620, 0x10649: 0x40437820, 0x1064a: 0x40437a20, 0x1064b: 0x40437c20,\n\t0x1064c: 0x40438020, 0x1064e: 0x40438420, 0x1064f: 0x40438620,\n\t0x10650: 0x40438820, 0x10652: 0x40438a20, 0x10653: 0x40438c20,\n\t0x10654: 0x40438e20, 0x10655: 0x40439020, 0x10656: 0x40439220, 0x10657: 0x40439420,\n\t0x10658: 0x40439620, 0x10659: 0x40439820, 0x1065a: 0x40439a20, 0x1065b: 0x40439c20,\n\t0x1065c: 0x40439e20, 0x1065d: 0x4043a020, 0x1065e: 0x4043a220, 0x1065f: 0x4043a420,\n\t0x10660: 0x4043a620, 0x10661: 0x4043a820, 0x10662: 0x4043aa20, 0x10663: 0x4043ac20,\n\t0x10664: 0x4043ae20, 0x10665: 0x4043b020, 0x10666: 0x4043b220, 0x10667: 0x4043b420,\n\t0x10668: 0x4043b620, 0x1066a: 0x4043b820, 0x1066b: 0x4043ba20,\n\t0x1066c: 0x4043bc20, 0x1066d: 0x4043be20, 0x1066e: 0x4043c020, 0x1066f: 0x4043c220,\n\t0x10670: 0x4043c420, 0x10671: 0x4043c620, 0x10672: 0x4043c820, 0x10673: 0x4043d420,\n\t0x10675: 0x4043ca20, 0x10676: 0x4043cc20, 0x10677: 0x4043ce20,\n\t0x10678: 0x4043d020, 0x10679: 0x4043d220,\n\t0x1067c: 0xa070f102, 0x1067d: 0x4043d820, 0x1067e: 0x4043de20, 0x1067f: 0xc06a0311,\n\t// Block 0x41a, offset 0x10680\n\t0x10680: 0x4043e220, 0x10681: 0x4043e420, 0x10682: 0x4043e620, 0x10683: 0x4043e820,\n\t0x10684: 0x4043ea20, 0x10686: 0xc06c0341, 0x10687: 0x4043f220,\n\t0x10688: 0x4043f420, 0x1068a: 0xc0710311, 0x1068b: 0x4043f820,\n\t0x1068c: 0x4043fa20, 0x1068d: 0x820921fe,\n\t0x10695: 0x4043fe20, 0x10696: 0x40440020,\n\t0x1069e: 0x4043d620,\n\t0x106a0: 0x40437e20, 0x106a1: 0x40438220, 0x106a2: 0x4043ec20, 0x106a3: 0x4043ee20,\n\t0x106a6: 0xe0000182, 0x106a7: 0xe0000213,\n\t0x106a8: 0xe000032e, 0x106a9: 0xe0000408, 0x106aa: 0xe00004dd, 0x106ab: 0xe00005a7,\n\t0x106ac: 0xe0000672, 0x106ad: 0xe000071a, 0x106ae: 0xe00007c6, 0x106af: 0xe000086b,\n\t0x106b1: 0x40439420, 0x106b2: 0x40439620,\n\t// Block 0x41b, offset 0x106c0\n\t0x106c0: 0xf0000404, 0x106c1: 0xf0000404, 0x106c2: 0xf0000404, 0x106c3: 0xf0000404,\n\t0x106c4: 0xf0000404, 0x106c5: 0xf0000404, 0x106c6: 0xf0000404, 0x106c7: 0xf0000404,\n\t0x106c8: 0xf0000404, 0x106c9: 0xf0000404, 0x106ca: 0xf0000404, 0x106cb: 0xf0000404,\n\t0x106cc: 0xf0000404, 0x106cd: 0xf0000404, 0x106ce: 0xe000004c, 0x106cf: 0xe0000051,\n\t0x106d0: 0xe0000056, 0x106d1: 0xe000005b, 0x106d2: 0xe0000060, 0x106d3: 0xe0000065,\n\t0x106d4: 0xe000006a, 0x106d5: 0xe000006f, 0x106d6: 0xe0000083, 0x106d7: 0xe000008d,\n\t0x106d8: 0xe0000092, 0x106d9: 0xe0000097, 0x106da: 0xe000009c, 0x106db: 0xe00000a1,\n\t0x106dc: 0xe0000088, 0x106dd: 0xe0000074, 0x106de: 0xe000007c,\n\t0x106e0: 0xe0002c96, 0x106e1: 0xe0002ca6, 0x106e2: 0xe0002c9e, 0x106e3: 0xe0002cd6,\n\t0x106e4: 0xe0002caa, 0x106e5: 0xe0002cbe, 0x106e6: 0xe0002c9a, 0x106e7: 0xe0002cba,\n\t0x106e8: 0xe0002ca2, 0x106e9: 0xe0002cc6, 0x106ea: 0xe0002ce6, 0x106eb: 0xe0002cfa,\n\t0x106ec: 0xe0002cf6, 0x106ed: 0xe0002cee, 0x106ee: 0xe0002d22, 0x106ef: 0xe0002cda,\n\t0x106f0: 0xe0002ce2, 0x106f1: 0xe0002cf2, 0x106f2: 0xe0002cea, 0x106f3: 0xe0002d06,\n\t0x106f4: 0xe0002cce, 0x106f5: 0xe0002cfe, 0x106f6: 0xe0002d1a, 0x106f7: 0xe0002d0a,\n\t0x106f8: 0xf0000404, 0x106f9: 0xe0002cae, 0x106fa: 0xe0002cd2, 0x106fb: 0xf0000404,\n\t0x106fc: 0xe0002d02, 0x106fd: 0xe0002cb2, 0x106fe: 0xe0002d1e, 0x106ff: 0xe0002cca,\n\t// Block 0x41c, offset 0x10700\n\t0x10700: 0xe0008556, 0x10701: 0xe0008b49, 0x10703: 0xe0009a4a,\n\t0x10707: 0xe0005e27,\n\t0x10708: 0xe000871e, 0x10709: 0xe0006c4c, 0x1070a: 0xe0006ca0, 0x1070b: 0xe0009fed,\n\t0x1070d: 0xe0006789,\n\t0x10711: 0xe00098b6,\n\t0x10714: 0xe0009245, 0x10715: 0xe0006948, 0x10716: 0xe0007018,\n\t0x10718: 0xe0004c4a, 0x10719: 0xe0006618,\n\t0x1071e: 0xe00073be, 0x1071f: 0xe0008f07,\n\t0x10726: 0xe000665c,\n\t0x1072b: 0xe00075de,\n\t0x1072d: 0xe0008fe1,\n\t0x10730: 0xe0006771, 0x10731: 0xe0004a99, 0x10732: 0xe00049e6,\n\t0x10738: 0xe000a5b0, 0x10739: 0xe000532a, 0x1073b: 0xe0008e8f,\n\t// Block 0x41d, offset 0x10740\n\t0x10742: 0xe0007be3, 0x10743: 0xe0005214,\n\t0x10745: 0xe0004c4d,\n\t0x1074b: 0xe0009055,\n\t0x1074d: 0xe0006ad3, 0x1074e: 0xe000a418, 0x1074f: 0xe0009fe1,\n\t0x10756: 0xe0004b72,\n\t0x10758: 0xe00073c2, 0x10759: 0xe00083a6,\n\t0x1075d: 0xe0004c50, 0x1075e: 0xe0004554, 0x1075f: 0xe0007800,\n\t0x10767: 0xe0005708,\n\t0x1076b: 0xe00042b4,\n\t0x1076c: 0xe0004564, 0x1076d: 0xe0005621,\n\t0x10773: 0xe000820f,\n\t0x10776: 0xe000672d, 0x10777: 0xe0006c38,\n\t0x1077c: 0xe0008fdd, 0x1077e: 0xe000450c,\n\t// Block 0x41e, offset 0x10780\n\t0x10782: 0xe00057ab,\n\t0x10786: 0xe0005b9b,\n\t0x10788: 0xe00079b1, 0x1078b: 0xe0006ad6,\n\t0x1078c: 0xe0008459, 0x1078e: 0xe0007fc6, 0x1078f: 0xe0008026,\n\t0x10790: 0xe00080da, 0x10791: 0xe000808a, 0x10792: 0xe000a41b,\n\t0x10794: 0xe0007c58, 0x10795: 0xe0008b4d,\n\t0x10798: 0xe0005033, 0x10799: 0xe0005043, 0x1079b: 0xe0006ad9,\n\t0x1079e: 0xe00075a8, 0x1079f: 0xe0004f43,\n\t0x107a1: 0xe0005ebb, 0x107a2: 0xe000a13f,\n\t0x107a4: 0xe0004bc6, 0x107a5: 0xe000a18f, 0x107a6: 0xe00079db,\n\t0x107a8: 0xe000a381, 0x107ab: 0xe000a20e,\n\t0x107ac: 0xe0004695, 0x107ad: 0xe0008b51, 0x107ae: 0xe0005891,\n\t0x107b3: 0xe000630c,\n\t0x107b4: 0xe0008029, 0x107b6: 0xe000532e,\n\t0x107b9: 0xe0006226, 0x107ba: 0xe00084e6,\n\t// Block 0x41f, offset 0x107c0\n\t0x107c0: 0xe0007595, 0x107c1: 0xe00084ea,\n\t0x107c4: 0xe000998c, 0x107c6: 0xe0006807, 0x107c7: 0xe0004c53,\n\t0x107ca: 0xe0004fb7, 0x107cb: 0xe0004440,\n\t0x107cd: 0xe00085be,\n\t0x107d4: 0xe00085d2, 0x107d5: 0xe0006adc, 0x107d6: 0xe0009aab, 0x107d7: 0xe0008722,\n\t0x107d8: 0xe000678c, 0x107d9: 0xe0006e50,\n\t0x107dd: 0xe0005631, 0x107de: 0xe000852a, 0x107df: 0xe00094fc,\n\t0x107e1: 0xe000a8d7, 0x107e3: 0xe00054be,\n\t0x107e4: 0xe0005a04, 0x107e5: 0xe000845c,\n\t0x107ee: 0xe00041b7,\n\t0x107f0: 0xe0007727, 0x107f2: 0xe0008fe5, 0x107f3: 0xe00069c6,\n\t0x107f5: 0xe0007caf, 0x107f6: 0xe0004510, 0x107f7: 0xe0004443,\n\t0x107fb: 0xe0008582,\n\t0x107ff: 0xe0006458,\n\t// Block 0x420, offset 0x10800\n\t0x10800: 0xe0008e49, 0x10801: 0xe000504b,\n\t0x10809: 0xe000a143, 0x1080a: 0xe000845f, 0x1080b: 0xe0004fff,\n\t0x1080d: 0xe0007c5b, 0x1080e: 0xe000504e, 0x1080f: 0xe00066c1,\n\t0x10810: 0xe0006530, 0x10811: 0xe000a851,\n\t0x1082f: 0xe00064d4,\n\t0x10830: 0xe0004877,\n\t0x10834: 0xe0006324, 0x10836: 0xe0005a08,\n\t0x10838: 0xe00074bd, 0x1083a: 0xe0006adf,\n\t0x1083c: 0xe0006ae2, 0x1083d: 0xe0004160,\n\t// Block 0x421, offset 0x10840\n\t0x10842: 0xe0008c25, 0x10843: 0xe0008965,\n\t0x10846: 0xe0005332, 0x10847: 0xe000885f,\n\t0x10848: 0xe0009e62, 0x10849: 0xe0004cec, 0x1084b: 0xe00070ab,\n\t0x1084d: 0xe000819a, 0x1084e: 0xe0008862, 0x1084f: 0xe0008e92,\n\t0x10850: 0xe0008e71, 0x10851: 0xe0007fc9, 0x10853: 0xe00068a8,\n\t0x10854: 0xe0008af9, 0x10855: 0xe0009ff0, 0x10856: 0xe0009fb1, 0x10857: 0xe0009ad5,\n\t0x10859: 0xe00079b4, 0x1085a: 0xe000855a, 0x1085b: 0xe00068f4,\n\t0x1085c: 0xe000866e, 0x1085d: 0xe0004cef, 0x1085e: 0xe0005261, 0x1085f: 0xe0009cb6,\n\t0x10869: 0xe0009d60, 0x1086a: 0xe000a6f4,\n\t0x1086f: 0xe000785d,\n\t0x10870: 0xe00064d8, 0x10873: 0xe0004163,\n\t0x10876: 0xe000517b,\n\t0x10878: 0xe0004ae5, 0x10879: 0xe0004e6d, 0x1087a: 0xe0008969, 0x1087b: 0xe0008d73,\n\t0x1087c: 0xe0004c11, 0x1087d: 0xe000926f, 0x1087e: 0xe000855e, 0x1087f: 0xe0006ae5,\n\t// Block 0x422, offset 0x10880\n\t0x10881: 0xe00074c1, 0x10883: 0xe0004228,\n\t0x10884: 0xe00091ad, 0x10886: 0xe000586f,\n\t0x10888: 0xe00099a8, 0x10889: 0xe0004a0e, 0x1088a: 0xe0004afd, 0x1088b: 0xe0005a7c,\n\t0x1088d: 0xe00073ee, 0x1088f: 0xe0008e95,\n\t0x10891: 0xe0008212,\n\t0x10894: 0xe000607b, 0x10896: 0xe0005c70, 0x10897: 0xe0005675,\n\t0x10898: 0xe0009248, 0x1089a: 0xe000733d, 0x1089b: 0xe0004976,\n\t0x1089c: 0xe0008f0a, 0x1089d: 0xe0008402,\n\t0x108ae: 0xe0006033, 0x108af: 0xe000a772,\n\t0x108b2: 0xe0009189,\n\t0x108b5: 0xe0009a56, 0x108b6: 0xe00058dd,\n\t0x108bb: 0xe0009b9c,\n\t0x108bf: 0xe0009db4,\n\t// Block 0x423, offset 0x108c0\n\t0x108c1: 0xe000802c, 0x108c2: 0xe0004799, 0x108c3: 0xe0009778,\n\t0x108c4: 0xe00075ab, 0x108c5: 0xe0004cf2,\n\t0x108c9: 0xe0007c5e, 0x108ca: 0xe0008f51,\n\t0x108cc: 0xe00066ac, 0x108ce: 0xe0008ce9, 0x108cf: 0xe00070ae,\n\t0x108d0: 0xe0005d33, 0x108d1: 0xe0007f42, 0x108d3: 0xe0004699,\n\t0x108d4: 0xe000a299, 0x108d7: 0xe00070f0,\n\t0x108d8: 0xe000680a, 0x108da: 0xe0005ce8, 0x108db: 0xe0005fcc,\n\t0x108dd: 0xe000667c, 0x108df: 0xe0006ae8,\n\t0x108e0: 0xe000a335, 0x108e1: 0xe00074c5, 0x108e3: 0xe0007cb2,\n\t0x108ee: 0xe000718f, 0x108ef: 0xe000678f,\n\t0x108f0: 0xe000a577, 0x108f1: 0xe0004c56, 0x108f3: 0xe000648f,\n\t0x108f4: 0xe0009548, 0x108f5: 0xe0009eeb, 0x108f6: 0xe00072b5,\n\t0x108f8: 0xe0006731, 0x108fa: 0xe0007967,\n\t0x108fe: 0xe00069c9,\n\t// Block 0x424, offset 0x10900\n\t0x10900: 0xe00093e7, 0x10902: 0xe000661c,\n\t0x10905: 0xe0007385, 0x10906: 0xe0005895,\n\t0x10909: 0xe000938f, 0x1090b: 0xe0004446,\n\t0x1090d: 0xe000648c, 0x1090f: 0xe00072b9,\n\t0x10911: 0xe0006195, 0x10912: 0xe000550c,\n\t0x10914: 0xe0004ddb, 0x10916: 0xe000a1f6,\n\t0x10918: 0xe000547a, 0x10919: 0xe000a775, 0x1091a: 0xe0008405,\n\t0x1091c: 0xe00094a0, 0x1091e: 0xe000469d, 0x1091f: 0xe000924b,\n\t0x10921: 0xe0009393, 0x10922: 0xe0009650, 0x10923: 0xe00063e8,\n\t0x10924: 0xe00099ab, 0x10925: 0xe00049b6, 0x10926: 0xe0004e07, 0x10927: 0xe0008e05,\n\t0x10928: 0xe00044b2, 0x10929: 0xe000954c, 0x1092a: 0xe0007be6, 0x1092b: 0xe0005c74,\n\t0x1092c: 0xe0009afc, 0x1092d: 0xe0007e65, 0x1092e: 0xe000576c,\n\t0x10930: 0xe0005ce0,\n\t0x1093b: 0xe0007803,\n\t// Block 0x425, offset 0x10940\n\t0x10943: 0xe0007927,\n\t0x10944: 0xe00051cc, 0x10947: 0xe0004166,\n\t0x10948: 0xe00045a8, 0x10949: 0xe000819d, 0x1094a: 0xe000802f,\n\t0x1094e: 0xe0007e83, 0x1094f: 0xe0009db8,\n\t0x10953: 0xe0007637,\n\t0x10955: 0xe000a192, 0x10956: 0xe0009272,\n\t0x10958: 0xe0004288, 0x1095a: 0xe0008e98,\n\t0x1095c: 0xe0008b55,\n\t0x10960: 0xe0007ef2, 0x10962: 0xe0009721,\n\t0x10965: 0xe0004514,\n\t0x1096a: 0xe0009fe9,\n\t0x10970: 0xe0006f44, 0x10972: 0xe0007442,\n\t0x10974: 0xe0009988, 0x10975: 0xe0008b59, 0x10976: 0xe0007fcc,\n\t0x10978: 0xe0009c9b,\n\t// Block 0x426, offset 0x10980\n\t0x10980: 0xe0004b75,\n\t0x10985: 0xe0006792,\n\t0x1098b: 0xe00043fc,\n\t0x1098d: 0xe00063ec,\n\t0x10991: 0xe0004558, 0x10992: 0xe000a400,\n\t0x10994: 0xe0004671, 0x10996: 0xe00093eb,\n\t0x10998: 0xe0006bd8, 0x10999: 0xe000694b, 0x1099a: 0xe000a75a, 0x1099b: 0xe0007f9e,\n\t0x1099d: 0xe0009bc8, 0x1099e: 0xe0006b87,\n\t0x109a2: 0xe00041ba,\n\t0x109ac: 0xe00097fc, 0x109ad: 0xe0007f46, 0x109ae: 0xe0008d76,\n\t0x109b2: 0xe0007c61, 0x109b3: 0xe000896d,\n\t0x109b4: 0xe0004cf5, 0x109b5: 0xe0009433, 0x109b7: 0xe0006ca4,\n\t0x109bd: 0xe00087ae, 0x109be: 0xe00046a1, 0x109bf: 0xe000793f,\n\t// Block 0x427, offset 0x109c0\n\t0x109c2: 0xe0005c12,\n\t0x109c4: 0xe0009f15, 0x109c5: 0xe0004f53,\n\t0x109c9: 0xe00095e0, 0x109ca: 0xe0006e54,\n\t0x109cf: 0xe0006ca8,\n\t0x109d1: 0xe0004bc9,\n\t0x109d5: 0xe00066c5, 0x109d6: 0xe000a91f,\n\t0x109da: 0xe0005b9e, 0x109db: 0xe000510b,\n\t0x109de: 0xe00081a0,\n\t0x109e2: 0xe0009550,\n\t0x109e5: 0xe0007e9e, 0x109e6: 0xe0009862, 0x109e7: 0xe00073c6,\n\t0x109e9: 0xe000a093,\n\t0x109ec: 0xe0009724, 0x109ed: 0xe0009327, 0x109ee: 0xe0005679,\n\t0x109f5: 0xe0004400,\n\t0x109f9: 0xe0004169, 0x109fb: 0xe0006580,\n\t0x109fe: 0xe0007778, 0x109ff: 0xe0006aeb,\n\t// Block 0x428, offset 0x10a00\n\t0x10a00: 0xe0008408, 0x10a01: 0xe0008f55, 0x10a02: 0xe00052a1, 0x10a03: 0xe0009554,\n\t0x10a04: 0xe000790f, 0x10a06: 0xe00046a5, 0x10a07: 0xe000a2e9,\n\t0x10a09: 0xe0004570, 0x10a0b: 0xe000540a,\n\t0x10a10: 0xe0006a7f, 0x10a12: 0xe0008215, 0x10a13: 0xe00054ee,\n\t0x10a14: 0xe0008f0d, 0x10a15: 0xe0008cb6, 0x10a17: 0xe000843b,\n\t0x10a18: 0xe000918d, 0x10a1a: 0xe0005f80, 0x10a1b: 0xe000617a,\n\t0x10a1c: 0xe0005265, 0x10a1f: 0xe0006cac,\n\t0x10a21: 0xe0005b62, 0x10a22: 0xe0005913,\n\t0x10a24: 0xe0009eb3, 0x10a25: 0xe0008306, 0x10a27: 0xe00092eb,\n\t0x10a2a: 0xe0007fcf, 0x10a2b: 0xe000a493,\n\t0x10a31: 0xe0005b46, 0x10a32: 0xe0008865, 0x10a33: 0xe000934f,\n\t0x10a35: 0xe00072bd, 0x10a37: 0xe00058e0,\n\t0x10a39: 0xe00092ef, 0x10a3a: 0xe000519b, 0x10a3b: 0xe000547e,\n\t0x10a3c: 0xe000796b,\n\t// Block 0x429, offset 0x10a40\n\t0x10a40: 0xe0007d52, 0x10a41: 0xe000830a, 0x10a43: 0xe00080e6,\n\t0x10a44: 0xe000a385, 0x10a45: 0xe0009916, 0x10a46: 0xe0008cec, 0x10a47: 0xe000a87f,\n\t0x10a48: 0xe0006e58, 0x10a49: 0xe0004b01, 0x10a4b: 0xe0004f27,\n\t0x10a4c: 0xe0009bf4, 0x10a4d: 0xe0005fa0, 0x10a4e: 0xe0009c4a,\n\t0x10a52: 0xe00075ae,\n\t0x10a55: 0xe0007445, 0x10a57: 0xe0007a83,\n\t0x10a5a: 0xe0005482,\n\t0x10a5c: 0xe00056b5,\n\t0x10a62: 0xe0005037,\n\t0x10a65: 0xe00085b2, 0x10a67: 0xe0005217,\n\t0x10a68: 0xe0008971, 0x10a69: 0xe0005899, 0x10a6a: 0xe0008218, 0x10a6b: 0xe0009d4c,\n\t0x10a6c: 0xe000497a, 0x10a6d: 0xe0005c60, 0x10a6e: 0xe000a3e5,\n\t0x10a71: 0xe000497e,\n\t0x10a75: 0xe0006620, 0x10a76: 0xe0005051, 0x10a77: 0xe0004c59,\n\t0x10a78: 0xe0008975,\n\t0x10a7c: 0xe0004659,\n\t// Block 0x42a, offset 0x10a80\n\t0x10a80: 0xe0005054,\n\t0x10a86: 0xe00079ad,\n\t0x10a89: 0xe0007afb, 0x10a8a: 0xe000945d,\n\t0x10a8d: 0xe00087fa, 0x10a8f: 0xe0004749,\n\t0x10a92: 0xe0006036, 0x10a93: 0xe0004cf8,\n\t0x10a95: 0xe0005fa4, 0x10a97: 0xe0007f4a,\n\t0x10a98: 0xe0008299,\n\t0x10aa0: 0xe0004a59, 0x10aa3: 0xe000997f,\n\t0x10aa4: 0xe000814e, 0x10aa5: 0xe0005ff0,\n\t0x10aaa: 0xe0005f90,\n\t0x10aac: 0xe0005635,\n\t0x10ab0: 0xe0006ac3, 0x10ab1: 0xe000a496, 0x10ab2: 0xe000992e,\n\t0x10ab6: 0xe0007806, 0x10ab7: 0xe0005881,\n\t0x10abd: 0xe00059b4,\n\t// Block 0x42b, offset 0x10ac0\n\t0x10ac4: 0xe0009485, 0x10ac5: 0xe000487a, 0x10ac6: 0xe0008f59,\n\t0x10ac9: 0xe000589d, 0x10aca: 0xe0009684, 0x10acb: 0xe0008cef,\n\t0x10acc: 0xe0005cc8, 0x10acd: 0xe0005639,\n\t0x10ad2: 0xe000843e,\n\t0x10ad4: 0xe00093ef,\n\t0x10adb: 0xe0005cbc,\n\t0x10adc: 0xe0005cb8, 0x10add: 0xe00083f2, 0x10ade: 0xe000a922,\n\t0x10ae0: 0xe0004e70, 0x10ae1: 0xe0006548,\n\t0x10ae9: 0xe00060c4,\n\t0x10aed: 0xe0006ac7,\n\t0x10af0: 0xe000a63c, 0x10af1: 0xe0004449, 0x10af3: 0xe0005734,\n\t0x10af4: 0xe0006acb, 0x10af6: 0xe000a883,\n\t0x10af8: 0xe0009590, 0x10af9: 0xe0007ea1, 0x10afa: 0xe0009906,\n\t0x10afd: 0xe000a0c3,\n\t// Block 0x42c, offset 0x10b00\n\t0x10b00: 0xe000550f, 0x10b01: 0xe0008d79, 0x10b03: 0xe00084ee,\n\t0x10b06: 0xe000685c, 0x10b07: 0xe0008aa9,\n\t0x10b08: 0xe0007be9, 0x10b0a: 0xe000422c,\n\t0x10b0e: 0xe0006199,\n\t0x10b11: 0xe000a389, 0x10b13: 0xe0007e21,\n\t0x10b16: 0xe0008192, 0x10b17: 0xe00059b8,\n\t0x10b1d: 0xe00096d0,\n\t0x10b24: 0xe0009d24, 0x10b25: 0xe0006600, 0x10b26: 0xe00045a0, 0x10b27: 0xe00045a4,\n\t0x10b29: 0xe0005ceb, 0x10b2a: 0xe0006bdc,\n\t0x10b2e: 0xe0004ad5,\n\t0x10b30: 0xe0005512, 0x10b31: 0xe00093f3, 0x10b32: 0xe0004ed0, 0x10b33: 0xe000487d,\n\t0x10b36: 0xe0008c71, 0x10b37: 0xe0007174,\n\t0x10b38: 0xe0004e0b, 0x10b39: 0xe000930b, 0x10b3a: 0xe00085d5, 0x10b3b: 0xe00041e4,\n\t// Block 0x42d, offset 0x10b40\n\t0x10b43: 0xe0009694,\n\t0x10b44: 0xe000474d, 0x10b47: 0xe0009a26,\n\t0x10b49: 0xe0008e80, 0x10b4a: 0xe0006bc0, 0x10b4b: 0xe0004f2b,\n\t0x10b4c: 0xe00057e7, 0x10b4d: 0xe0008979,\n\t0x10b54: 0xe00094a4, 0x10b55: 0xe00069cc, 0x10b56: 0xe0006795, 0x10b57: 0xe00086d6,\n\t0x10b5a: 0xe0006b8a, 0x10b5b: 0xe000439c,\n\t0x10b5d: 0xe00062c0, 0x10b5e: 0xe000510e, 0x10b5f: 0xe00095b8,\n\t0x10b61: 0xe0006f64,\n\t0x10b69: 0xe00085c2, 0x10b6a: 0xe000897d,\n\t0x10b6f: 0xe0006798,\n\t0x10b72: 0xe000a0b7,\n\t0x10b74: 0xe0004479, 0x10b75: 0xe0009397, 0x10b77: 0xe0006c08,\n\t0x10b7a: 0xe0005d36,\n\t0x10b7d: 0xe0009eee, 0x10b7f: 0xe00096d3,\n\t// Block 0x42e, offset 0x10b80\n\t0x10b82: 0xe0004e73, 0x10b83: 0xe000a70f,\n\t0x10b87: 0xe0004f2f,\n\t0x10b88: 0xe0006584, 0x10b89: 0xe0005c27,\n\t0x10b8d: 0xe0004574,\n\t0x10b91: 0xe0008c74, 0x10b92: 0xe0004578, 0x10b93: 0xe0008441,\n\t0x10b97: 0xe00092f3,\n\t0x10b98: 0xe0005df5, 0x10b9b: 0xe0005934,\n\t0x10b9f: 0xe0004982,\n\t0x10ba0: 0xe000416c, 0x10ba3: 0xe00059bc,\n\t0x10ba4: 0xe0004f57,\n\t0x10ba9: 0xe0008cf2, 0x10baa: 0xe0005271, 0x10bab: 0xe0004594,\n\t0x10bac: 0xe0004cfb, 0x10bad: 0xe0009727,\n\t0x10bbe: 0xe000a1e6,\n\t// Block 0x42f, offset 0x10bc0\n\t0x10bc1: 0xe00046a9, 0x10bc3: 0xe00063a8,\n\t0x10bc5: 0xe0009a2a, 0x10bc7: 0xe0007f4e,\n\t0x10bc9: 0xe0005fa8,\n\t0x10bcc: 0xe0004e2f, 0x10bcd: 0xe00046ad,\n\t0x10bd2: 0xe0005cac,\n\t0x10bd5: 0xe000563d, 0x10bd6: 0xe0008062,\n\t0x10bd8: 0xe00042f4, 0x10bd9: 0xe0006138, 0x10bdb: 0xe000a7ba,\n\t0x10bdd: 0xe00073ca, 0x10bde: 0xe0005a91, 0x10bdf: 0xe0006039,\n\t0x10be0: 0xe0005c6c, 0x10be1: 0xe0009f18, 0x10be2: 0xe000701b, 0x10be3: 0xe00088e9,\n\t0x10be4: 0xe0004f5b, 0x10be6: 0xe000972a,\n\t0x10bf3: 0xe000a7be,\n\t0x10bf5: 0xe00058e3,\n\t0x10bf8: 0xe0004e0f, 0x10bfa: 0xe0008672, 0x10bfb: 0xe0004f03,\n\t0x10bfe: 0xe0004c5c, 0x10bff: 0xe00061e1,\n\t// Block 0x430, offset 0x10c00\n\t0x10c01: 0xe00061c5, 0x10c02: 0xe0005223, 0x10c03: 0xe000447c,\n\t0x10c05: 0xe0009e65,\n\t0x10c08: 0xe000a887, 0x10c0a: 0xe0004d97,\n\t0x10c0c: 0xe000a123, 0x10c0d: 0xe0009e68, 0x10c0f: 0xe0009e6b,\n\t0x10c10: 0xe00066c9,\n\t0x10c15: 0xe000694e, 0x10c16: 0xe000a54d, 0x10c17: 0xe0006858,\n\t0x10c19: 0xe00073f1,\n\t0x10c20: 0xe0008726, 0x10c21: 0xe0004b05, 0x10c23: 0xe0004380,\n\t0x10c27: 0xe000a365,\n\t0x10c2a: 0xe0006951,\n\t0x10c2f: 0xe000a6b8,\n\t0x10c31: 0xe0004e76,\n\t0x10c36: 0xe0004cfe,\n\t0x10c39: 0xe0009f89,\n\t0x10c3d: 0xe0007943, 0x10c3e: 0xe0009ddc, 0x10c3f: 0xe0005311,\n\t// Block 0x431, offset 0x10c40\n\t0x10c40: 0xe0004c5f, 0x10c41: 0xe0007599, 0x10c43: 0xe0009500,\n\t0x10c44: 0xe00085b6, 0x10c45: 0xe0006c84, 0x10c47: 0xe00073ce,\n\t0x10c48: 0xe0007c64, 0x10c49: 0xe000a81e, 0x10c4a: 0xe0006328,\n\t0x10c4d: 0xe0005e2b,\n\t0x10c51: 0xe0006954, 0x10c52: 0xe0008df9, 0x10c53: 0xe0009b00,\n\t0x10c54: 0xe000a339, 0x10c57: 0xe00051e4,\n\t0x10c5a: 0xe00062c4,\n\t0x10c5c: 0xe00066cd, 0x10c5e: 0xe00065c4,\n\t0x10c60: 0xe0008ad5, 0x10c61: 0xe000870a,\n\t0x10c66: 0xe0004b5d,\n\t0x10c68: 0xe0006f10,\n\t0x10c6c: 0xe0007743, 0x10c6e: 0xe00099f0, 0x10c6f: 0xe0006108,\n\t0x10c70: 0xe00084f2, 0x10c71: 0xe00081a3, 0x10c72: 0xe00070b1, 0x10c73: 0xe0008ff9,\n\t0x10c74: 0xe00041e8, 0x10c75: 0xe00057af, 0x10c77: 0xe0004e13,\n\t0x10c78: 0xe0006b8d, 0x10c79: 0xe000a87b, 0x10c7a: 0xe0004f8f, 0x10c7b: 0xe0004210,\n\t0x10c7d: 0xe0008ff5, 0x10c7e: 0xe000763b, 0x10c7f: 0xe00046b1,\n\t// Block 0x432, offset 0x10c80\n\t0x10c84: 0xe00077b4,\n\t0x10c93: 0xe0007757,\n\t0x10c96: 0xe000645c,\n\t0x10c98: 0xe0005cee, 0x10c9a: 0xe000a778,\n\t0x10c9d: 0xe0008d7c, 0x10c9f: 0xe00080ea,\n\t0x10ca0: 0xe0009990,\n\t0x10ca5: 0xe0004e47, 0x10ca6: 0xe0009ff3,\n\t0x10caa: 0xe0004f93,\n\t0x10cad: 0xe0007ad3, 0x10cae: 0xe0007448,\n\t0x10cb2: 0xe0005916,\n\t0x10cb9: 0xe0004d01, 0x10cbb: 0xe00044b5,\n\t// Block 0x433, offset 0x10cc0\n\t0x10cc3: 0xe000932b,\n\t0x10cc5: 0xe0009353,\n\t0x10cc8: 0xe0007fd2, 0x10cc9: 0xe000924e, 0x10cca: 0xe0005003, 0x10ccb: 0xe0007fd5,\n\t0x10ccd: 0xe000632c,\n\t0x10cd4: 0xe0007285, 0x10cd6: 0xe0009955, 0x10cd7: 0xe0007192,\n\t0x10cdb: 0xe0006330,\n\t0x10cdf: 0xe0007246,\n\t0x10ce1: 0xe0007bec, 0x10ce2: 0xe00097bc, 0x10ce3: 0xe0004c62,\n\t0x10ce4: 0xe0004805, 0x10ce5: 0xe0004c65, 0x10ce6: 0xe0005a48,\n\t0x10ce8: 0xe0005584, 0x10ce9: 0xe0004808, 0x10cea: 0xe0009058, 0x10ceb: 0xe0004ea3,\n\t0x10cec: 0xe000703c, 0x10ced: 0xe0009d50, 0x10cee: 0xe0008c29, 0x10cef: 0xe000416f,\n\t0x10cf0: 0xe0009bf7, 0x10cf1: 0xe00091b1, 0x10cf2: 0xe0006aee, 0x10cf3: 0xe0007fd8,\n\t0x10cf4: 0xe0004d04, 0x10cf5: 0xe0009cfa, 0x10cf6: 0xe000a369,\n\t0x10cf8: 0xe0006af1,\n\t// Block 0x434, offset 0x10d00\n\t0x10d01: 0xe0008032, 0x10d03: 0xe000a8c7,\n\t0x10d04: 0xe00041ec,\n\t0x10d08: 0xe000a107, 0x10d09: 0xe000517f, 0x10d0a: 0xe00088ed, 0x10d0b: 0xe00097b8,\n\t0x10d0c: 0xe0005641, 0x10d0d: 0xe0005ff4, 0x10d0e: 0xe000a77b, 0x10d0f: 0xe0005cf1,\n\t0x10d10: 0xe0009c4d, 0x10d11: 0xe000a212,\n\t0x10d1b: 0xe0004da7,\n\t0x10d1d: 0xe0005d5d, 0x10d1f: 0xe00083ae,\n\t0x10d20: 0xe0009e38,\n\t0x10d26: 0xe000679b,\n\t0x10d29: 0xe0006860, 0x10d2b: 0xe000a0c7,\n\t0x10d2c: 0xe0008372, 0x10d2e: 0xe0008a09,\n\t0x10d33: 0xe0007c6a,\n\t0x10d36: 0xe00052dd,\n\t0x10d38: 0xe000a8fb, 0x10d39: 0xe0009958, 0x10d3b: 0xe000619d,\n\t0x10d3c: 0xe000a77e, 0x10d3d: 0xe000a799, 0x10d3e: 0xe0007c67,\n\t// Block 0x435, offset 0x10d40\n\t0x10d40: 0xe000a017, 0x10d42: 0xe00058e6,\n\t0x10d46: 0xe0005f2d,\n\t0x10d48: 0xe0008b5d, 0x10d4a: 0xe000480b,\n\t0x10d4e: 0xe00094d8,\n\t0x10d51: 0xe0009b58,\n\t0x10d5d: 0xe00077d0,\n\t0x10d62: 0xe00052ff,\n\t0x10d64: 0xe0005a4c, 0x10d66: 0xe000829c,\n\t0x10d68: 0xe0008ea4, 0x10d6a: 0xe0008ea1, 0x10d6b: 0xe0009654,\n\t0x10d70: 0xe0008620, 0x10d71: 0xe000480e, 0x10d73: 0xe00061ed,\n\t0x10d75: 0xe0004172, 0x10d76: 0xe0005283,\n\t0x10d7b: 0xe00074c9,\n\t0x10d7c: 0xe000a41e, 0x10d7d: 0xe0005ff8, 0x10d7f: 0xe00044e2,\n\t// Block 0x436, offset 0x10d80\n\t0x10d80: 0xe0008868,\n\t0x10d84: 0xe0005629, 0x10d86: 0xe0009e6e, 0x10d87: 0xe0009fb5,\n\t0x10d8b: 0xe0006b90,\n\t0x10d8c: 0xe000a550, 0x10d8d: 0xe000a1c5, 0x10d8e: 0xe0004c68, 0x10d8f: 0xe0007bb3,\n\t0x10d90: 0xe000679e,\n\t0x10d96: 0xe00041bd,\n\t0x10da0: 0xe0009221, 0x10da2: 0xe000763f,\n\t0x10da4: 0xe0009aae, 0x10da5: 0xe000a95b,\n\t0x10da8: 0xe00085d8, 0x10dab: 0xe000905b,\n\t0x10dac: 0xe0004bcc, 0x10daf: 0xe0004214,\n\t0x10db3: 0xe000a195,\n\t0x10db8: 0xe000a0cb, 0x10dbb: 0xe000a860,\n\t0x10dbc: 0xe0004b66, 0x10dbd: 0xe00084f6, 0x10dbf: 0xe00084a1,\n\t// Block 0x437, offset 0x10dc0\n\t0x10dc0: 0xe000775a, 0x10dc1: 0xe0009f3c, 0x10dc2: 0xe0007519, 0x10dc3: 0xe000567d,\n\t0x10dc4: 0xe000a511, 0x10dc6: 0xe00099f3, 0x10dc7: 0xe0007dbe,\n\t0x10dc8: 0xe000a10b, 0x10dc9: 0xe00087fd,\n\t0x10de1: 0xe00080ee,\n\t0x10de5: 0xe0004175, 0x10de6: 0xe00075e1,\n\t0x10de8: 0xe00096d6, 0x10de9: 0xe0005d39,\n\t0x10ded: 0xe00048ce, 0x10dee: 0xe000a733,\n\t0x10df1: 0xe00063d4, 0x10df2: 0xe0009594,\n\t0x10dfa: 0xe0009e71,\n\t0x10dfd: 0xe0004751, 0x10dff: 0xe00041c0,\n\t// Block 0x438, offset 0x10e00\n\t0x10e04: 0xe0009d63, 0x10e06: 0xe0006af4, 0x10e07: 0xe00090fd,\n\t0x10e09: 0xe000777b,\n\t0x10e0e: 0xe0005cf4, 0x10e0f: 0xe000a95e,\n\t0x10e10: 0xe000544e,\n\t0x10e14: 0xe0007cb5,\n\t0x10e1c: 0xe0005e97,\n\t0x10e2b: 0xe0004feb,\n\t0x10e2e: 0xe0007249, 0x10e2f: 0xe000821b,\n\t0x10e31: 0xe000939b, 0x10e33: 0xe0005919,\n\t0x10e35: 0xe00076cb,\n\t0x10e3c: 0xe0006c88, 0x10e3e: 0xe0009ab1,\n\t// Block 0x439, offset 0x10e40\n\t0x10e40: 0xe000777e, 0x10e42: 0xe00052cf,\n\t0x10e44: 0xe0009b04, 0x10e46: 0xe0006cb0,\n\t0x10e4f: 0xe00061a1,\n\t0x10e53: 0xe000479c,\n\t0x10e56: 0xe00053c6, 0x10e57: 0xe000540e,\n\t0x10e5c: 0xe00095bc, 0x10e5e: 0xe00075b1,\n\t0x10e63: 0xe000a0cf,\n\t0x10e7b: 0xe000744b,\n\t0x10e7c: 0xe0008c77, 0x10e7d: 0xe00076eb, 0x10e7e: 0xe0009865,\n\t// Block 0x43a, offset 0x10e80\n\t0x10e80: 0xe000448e, 0x10e81: 0xe0007d82, 0x10e83: 0xe00051f8,\n\t0x10e84: 0xe0006e5c, 0x10e86: 0xe0009598, 0x10e87: 0xe0005754,\n\t0x10e89: 0xe000a781, 0x10e8a: 0xe000a0d3, 0x10e8b: 0xe0009658,\n\t0x10e91: 0xe00083c6, 0x10e93: 0xe0007ef5,\n\t0x10e94: 0xe0007643,\n\t0x10e98: 0xe0009504, 0x10e99: 0xe000a821, 0x10e9a: 0xe000a5b4,\n\t0x10e9c: 0xe000a925, 0x10e9d: 0xe00042b8, 0x10e9e: 0xe0008ffd, 0x10e9f: 0xe00081e5,\n\t0x10ea3: 0xe000a79c,\n\t0x10ea4: 0xe000a69c, 0x10ea7: 0xe000a802,\n\t0x10ea8: 0xe00058c5, 0x10ea9: 0xe000821e, 0x10eaa: 0xe0006cb4, 0x10eab: 0xe0005197,\n\t0x10eac: 0xe0004bcf, 0x10eae: 0xe0005336,\n\t0x10eb0: 0xe00074b1,\n\t// Block 0x43b, offset 0x10ec0\n\t0x10ec5: 0xe000a784, 0x10ec7: 0xe0006d4c,\n\t0x10ec9: 0xe00070b4,\n\t0x10ed1: 0xe000a127,\n\t0x10ed4: 0xe0009101,\n\t0x10eda: 0xe0007c6d, 0x10edb: 0xe0004675,\n\t0x10edc: 0xe0005057, 0x10edf: 0xe0009251,\n\t0x10ee0: 0xe00057a3, 0x10ee2: 0xe0007d56, 0x10ee3: 0xe0006af7,\n\t0x10ee4: 0xe00099ae,\n\t0x10ef7: 0xe0007cb8,\n\t0x10efd: 0xe0007195, 0x10efe: 0xe0008ea7, 0x10eff: 0xe0009bb0,\n\t// Block 0x43c, offset 0x10f00\n\t0x10f04: 0xe0004c14, 0x10f06: 0xe0009b5c,\n\t0x10f08: 0xe0008d7f, 0x10f09: 0xe0004178,\n\t0x10f0c: 0xe0009f1b, 0x10f0d: 0xe0005c15, 0x10f0e: 0xe00076ab,\n\t0x10f10: 0xe0004c17, 0x10f12: 0xe000a403,\n\t0x10f14: 0xe0004c6b, 0x10f16: 0xe000946d, 0x10f17: 0xe0006cb8,\n\t0x10f29: 0xe000a57a,\n\t0x10f2c: 0xe0009805, 0x10f2f: 0xe000703f,\n\t0x10f32: 0xe0008cf5,\n\t0x10f34: 0xe000995b, 0x10f36: 0xe00073f4, 0x10f37: 0xe000a499,\n\t0x10f38: 0xe000617d, 0x10f39: 0xe0005bbf, 0x10f3b: 0xe000a961,\n\t0x10f3f: 0xe0006191,\n\t// Block 0x43d, offset 0x10f40\n\t0x10f41: 0xe0007cbb, 0x10f42: 0xe0008f9d,\n\t0x10f49: 0xe0005412, 0x10f4b: 0xe0009c56,\n\t0x10f4d: 0xe000972d, 0x10f4e: 0xe0007acf, 0x10f4f: 0xe000a90b,\n\t0x10f53: 0xe000a236,\n\t0x10f64: 0xe0004fef, 0x10f65: 0xe00052a5,\n\t0x10f68: 0xe000505a, 0x10f69: 0xe0007647, 0x10f6a: 0xe0008d82, 0x10f6b: 0xe000a928,\n\t0x10f6c: 0xe0006dda, 0x10f6d: 0xe0004c1a, 0x10f6f: 0xe0007781,\n\t0x10f72: 0xe0009aa5,\n\t0x10f74: 0xe0006864, 0x10f76: 0xe00042dc,\n\t0x10f78: 0xe0009c5a, 0x10f7a: 0xe000751d,\n\t// Block 0x43e, offset 0x10f80\n\t0x10f80: 0xe0005269,\n\t0x10f84: 0xe000a717, 0x10f86: 0xe000a736, 0x10f87: 0xe000a01a,\n\t0x10f8f: 0xe00096af,\n\t0x10f99: 0xe0004c1d, 0x10f9a: 0xe0008376,\n\t0x10fa5: 0xe0007a0f,\n\t0x10fac: 0xe0006a47, 0x10fae: 0xe000a216,\n\t0x10fb3: 0xe00048ea,\n\t0x10fb4: 0xe000796f, 0x10fb6: 0xe00077f0,\n\t0x10fbc: 0xe0008676,\n\t// Block 0x43f, offset 0x10fc0\n\t0x10fc0: 0xe0008a0d, 0x10fc1: 0xe0006fac, 0x10fc2: 0xe000a75d, 0x10fc3: 0xe000870e,\n\t0x10fc8: 0xe0007c1f, 0x10fc9: 0xe000576f, 0x10fca: 0xe0005208,\n\t0x10fcd: 0xe000a92b,\n\t0x10fd1: 0xe000977c,\n\t0x10fda: 0xe0007198, 0x10fdb: 0xe0006afa,\n\t0x10fde: 0xe000a6bb, 0x10fdf: 0xe0007521,\n\t0x10fe0: 0xe00084fa,\n\t0x10fe6: 0xe0007a87,\n\t0x10feb: 0xe000a50d,\n\t0x10fee: 0xe0007dc1,\n\t0x10ff0: 0xe00048fe,\n\t0x10ff7: 0xe0004f1b,\n\t0x10ff9: 0xe0005a0c, 0x10ffa: 0xe0004811,\n\t0x10fff: 0xe000829f,\n\t// Block 0x440, offset 0x11000\n\t0x11001: 0xe000837a, 0x11002: 0xe000a4ed, 0x11003: 0xe0009e74,\n\t0x11004: 0xe00078e5,\n\t0x11008: 0xe0004e17, 0x11009: 0xe0007903, 0x1100a: 0xe0009688, 0x1100b: 0xe0004d7f,\n\t0x1100d: 0xe00081a6,\n\t0x11012: 0xe00080f6, 0x11013: 0xe00080f2,\n\t0x11016: 0xe0005515,\n\t0x11018: 0xe000533a,\n\t0x1101c: 0xe0008152, 0x1101f: 0xe0009c50,\n\t0x11025: 0xe0005b0a,\n\t0x11028: 0xe0008800,\n\t0x1102c: 0xe0007cbe, 0x1102d: 0xe0004ea6, 0x1102e: 0xe00069cf,\n\t0x11030: 0xe000905e,\n\t0x1103b: 0xe000505d,\n\t0x1103e: 0xe000501b,\n\t// Block 0x441, offset 0x11040\n\t0x11040: 0xe0009061, 0x11042: 0xe0009d28,\n\t0x11047: 0xe0004f07,\n\t0x1104a: 0xe00063f0,\n\t0x1104c: 0xe00068ac, 0x1104d: 0xe00053ca, 0x1104e: 0xe00042f8, 0x1104f: 0xe00064c5,\n\t0x11050: 0xe0008e74, 0x11051: 0xe0004496,\n\t0x11061: 0xe0009cca,\n\t0x11064: 0xe0004902, 0x11066: 0xe0009b60, 0x11067: 0xe00094dc,\n\t0x11068: 0xe00084a4, 0x11069: 0xe0004344, 0x1106a: 0xe0009e0c,\n\t0x1106e: 0xe00054c4, 0x1106f: 0xe00064c8,\n\t0x11070: 0xe00046b5, 0x11071: 0xe0007747, 0x11073: 0xe0007ef8,\n\t0x11075: 0xe0004c6e, 0x11077: 0xe00041c3,\n\t0x11078: 0xe0004d07, 0x1107b: 0xe00090b8,\n\t0x1107c: 0xe0009b08,\n\t// Block 0x442, offset 0x11080\n\t0x11082: 0xe000719b,\n\t0x11088: 0xe00054c1, 0x1108b: 0xe000a38d,\n\t0x1108c: 0xe0005681,\n\t0x11093: 0xe000a198,\n\t0x11095: 0xe000a79f,\n\t0x1109e: 0xe0009ad8,\n\t0x110a0: 0xe0008356, 0x110a2: 0xe0004c71, 0x110a3: 0xe00080fa,\n\t0x110a4: 0xe00091e9,\n\t0x110b8: 0xe0007e25,\n\t0x110bd: 0xe000837e,\n\t// Block 0x443, offset 0x110c0\n\t0x110c3: 0xe000775d,\n\t0x110c6: 0xe0004218, 0x110c7: 0xe0007f52,\n\t0x110c8: 0xe0008f5d, 0x110c9: 0xe000a36d, 0x110cb: 0xe0005f03,\n\t0x110ce: 0xe0006fc8, 0x110cf: 0xe0007a8b,\n\t0x110d1: 0xe00095c0, 0x110d2: 0xe00057ef,\n\t0x110dc: 0xe000781e, 0x110df: 0xe00079df,\n\t0x110e0: 0xe00067a1,\n\t0x110e4: 0xe00069d2,\n\t0x110ed: 0xe0009c1e,\n\t0x110f0: 0xe0009436, 0x110f3: 0xe0004348,\n\t0x110f4: 0xe0007475, 0x110f7: 0xe0009209,\n\t0x110f9: 0xe0006492, 0x110fa: 0xe0005060, 0x110fb: 0xe0008fa1,\n\t0x110fc: 0xe0005063, 0x110fd: 0xe00070b7,\n\t// Block 0x444, offset 0x11100\n\t0x11100: 0xe0004dcb, 0x11102: 0xe0005452, 0x11103: 0xe0004926,\n\t0x11105: 0xe00045e5, 0x11106: 0xe0009c86,\n\t0x11108: 0xe00043a0, 0x11109: 0xe00082f6, 0x1110a: 0xe00075ff, 0x1110b: 0xe000693c,\n\t0x11117: 0xe000562d,\n\t0x11119: 0xe000852e,\n\t0x1111d: 0xe0004a11, 0x1111e: 0xe0009628,\n\t0x11120: 0xe000a7a2, 0x11121: 0xe000667f, 0x11123: 0xe0008035,\n\t0x11124: 0xe0008c7a, 0x11126: 0xe00047e1, 0x11127: 0xe0007a13,\n\t0x1112a: 0xe00042fc,\n\t0x1112f: 0xe0007ea4,\n\t0x11130: 0xe000792b, 0x11131: 0xe0006682,\n\t0x11134: 0xe000872a, 0x11135: 0xe0005518,\n\t0x1113a: 0xe000479f,\n\t// Block 0x445, offset 0x11140\n\t0x11140: 0xe0006660,\n\t0x11149: 0xe00094e0, 0x1114a: 0xe0004b78, 0x1114b: 0xe0007b47,\n\t0x1114c: 0xe0009bcc, 0x1114d: 0xe00073e6, 0x1114f: 0xe000444c,\n\t0x11150: 0xe00070ba, 0x11151: 0xe0007042, 0x11152: 0xe000744e,\n\t0x11154: 0xe0009bbc, 0x11157: 0xe000551b,\n\t0x11158: 0xe0005456, 0x11159: 0xe0004880, 0x1115a: 0xe00097c0,\n\t0x1115e: 0xe0006d40,\n\t0x11161: 0xe0008981, 0x11162: 0xe0007c70,\n\t0x11164: 0xe000a7c2,\n\t0x11169: 0xe0007aff,\n\t0x11175: 0xe0009105,\n\t0x11179: 0xe000932f,\n\t0x1117c: 0xe0008985, 0x1117d: 0xe0006d1c, 0x1117e: 0xe0007289,\n\t// Block 0x446, offset 0x11180\n\t0x11180: 0xe00090bb, 0x11181: 0xe0005e73, 0x11183: 0xe00046b9,\n\t0x11185: 0xe0006d80,\n\t0x11189: 0xe0007f56, 0x1118a: 0xe0008afd,\n\t0x1118d: 0xe0005111,\n\t0x11190: 0xe0004f97, 0x11193: 0xe000610b,\n\t0x1119c: 0xe000981d, 0x1119d: 0xe0007efb, 0x1119e: 0xe000901d, 0x1119f: 0xe000a239,\n\t0x111a1: 0xe0006ed0, 0x111a3: 0xe0006705,\n\t0x111a8: 0xe0006189, 0x111a9: 0xe00055ed, 0x111ab: 0xe0008fa5,\n\t0x111ae: 0xe0009ab4,\n\t0x111b0: 0xe0005416, 0x111b1: 0xe0005738, 0x111b3: 0xe0006868,\n\t0x111ba: 0xe0007c73, 0x111bb: 0xe000872e,\n\t0x111be: 0xe0004230,\n\t// Block 0x447, offset 0x111c0\n\t0x111c1: 0xe0006588, 0x111c3: 0xe0004404,\n\t0x111c5: 0xe0007d5e, 0x111c7: 0xe000533e,\n\t0x111ce: 0xe000a7c6,\n\t0x111d1: 0xe000a02f, 0x111d3: 0xe0007717,\n\t0x111d4: 0xe0005587, 0x111d5: 0xe000a421,\n\t0x111d8: 0xe0005beb, 0x111d9: 0xe0004b09, 0x111da: 0xe0005ac4,\n\t0x111dc: 0xe000541a, 0x111dd: 0xe00082a2, 0x111de: 0xe0004b7b, 0x111df: 0xe0005b2a,\n\t0x111e4: 0xe0007861,\n\t0x111eb: 0xe0006afd,\n\t0x111ec: 0xe0008586, 0x111ef: 0xe0008732,\n\t0x111f9: 0xe0008562, 0x111fa: 0xe000a424, 0x111fb: 0xe0006d83,\n\t0x111fd: 0xe000719e,\n\t// Block 0x448, offset 0x11200\n\t0x11206: 0xe0006775,\n\t0x11208: 0xe000882d,\n\t0x1120f: 0xe0009ff6,\n\t0x11210: 0xe000a3d1,\n\t0x11214: 0xe0005066, 0x11215: 0xe0006df8, 0x11216: 0xe0007e74,\n\t0x11219: 0xe000728d, 0x1121a: 0xe0005321,\n\t0x1121c: 0xe0007809,\n\t0x11222: 0xe00060d4,\n\t0x11224: 0xe0008532, 0x11225: 0xe0004a14, 0x11227: 0xe00054c7,\n\t0x11229: 0xe0009508, 0x1122a: 0xe0009bfa, 0x1122b: 0xe00067a4,\n\t0x1122c: 0xe0009aa8, 0x1122d: 0xe0007ea7, 0x1122e: 0xe000772b, 0x1122f: 0xe000a17b,\n\t0x11231: 0xe0007541,\n\t0x11237: 0xe0008462,\n\t0x11238: 0xe0004a17,\n\t0x1123e: 0xe000a33d,\n\t// Block 0x449, offset 0x11240\n\t0x11244: 0xe0007973, 0x11247: 0xe0005069,\n\t0x11248: 0xe000521a, 0x11249: 0xe0006735,\n\t0x1124e: 0xe0004ea9, 0x1124f: 0xe0008eaa,\n\t0x11250: 0xe000a5b8, 0x11251: 0xe00047a2, 0x11253: 0xe0009275,\n\t0x11254: 0xe000686c, 0x11255: 0xe000a279, 0x11257: 0xe0009c9e,\n\t0x11258: 0xe00087b2, 0x1125a: 0xe000a19b,\n\t0x11260: 0xe0008989, 0x11262: 0xe0006b00,\n\t0x11267: 0xe0007c76,\n\t0x11269: 0xe00059ec, 0x1126a: 0xe0009b94, 0x1126b: 0xe000830e,\n\t0x1126c: 0xe0008736, 0x1126d: 0xe0006dfc, 0x1126e: 0xe0006870,\n\t0x11273: 0xe0005232,\n\t0x11274: 0xe0005274, 0x11276: 0xe0005226,\n\t0x11278: 0xe0004234,\n\t0x1127d: 0xe000a427,\n\t// Block 0x44a, offset 0x11280\n\t0x11282: 0xe00079b7, 0x11283: 0xe0006957,\n\t0x11284: 0xe0005ebf,\n\t0x1128a: 0xe000858a,\n\t0x11291: 0xe0009cfd, 0x11292: 0xe0009cad, 0x11293: 0xe000506c,\n\t0x11296: 0xe0007eaa, 0x11297: 0xe0004fbb,\n\t0x11299: 0xe000610e,\n\t0x1129d: 0xe00087b6,\n\t0x112a3: 0xe00069d5,\n\t0x112a5: 0xe0009ab7, 0x112a7: 0xe0007e29,\n\t0x112a8: 0xe00063f4,\n\t0x112ac: 0xe0009ca1, 0x112af: 0xe00098e6,\n\t0x112b2: 0xe00053b2,\n\t0x112b9: 0xe0005f06, 0x112bb: 0xe0009488,\n\t0x112be: 0xe000962c,\n\t// Block 0x44b, offset 0x112c0\n\t0x112c3: 0xe0008b61,\n\t0x112c6: 0xe000603c,\n\t0x112c8: 0xe0005a50, 0x112c9: 0xe00085db, 0x112cb: 0xe00073f7,\n\t0x112cd: 0xe0006c0c,\n\t0x112d0: 0xe000886b, 0x112d1: 0xe0004814, 0x112d2: 0xe0006b93, 0x112d3: 0xe0006fcc,\n\t0x112d4: 0xe00081a9,\n\t0x112d9: 0xe000858e, 0x112da: 0xe0007ead,\n\t0x112dc: 0xe00043a4, 0x112dd: 0xe0008e9b, 0x112de: 0xe000518b,\n\t0x112e3: 0xe0004c20,\n\t0x112e4: 0xe0004d0a, 0x112e5: 0xe000607e, 0x112e6: 0xe0004238,\n\t0x112e8: 0xe0008465, 0x112ea: 0xe00091b5,\n\t0x112ec: 0xe000a92e, 0x112ee: 0xe000a147,\n\t0x112f8: 0xe0007a17, 0x112fa: 0xe0007525, 0x112fb: 0xe00084fe,\n\t0x112ff: 0xe00085de,\n\t// Block 0x44c, offset 0x11300\n\t0x11301: 0xe00081ac, 0x11303: 0xe0007e68,\n\t0x11309: 0xe0006acf,\n\t0x11311: 0xe0006b03, 0x11313: 0xe0006229,\n\t0x11318: 0xe000520c, 0x11319: 0xe000a3d5, 0x1131b: 0xe0007c79,\n\t0x1131c: 0xe000519e, 0x1131f: 0xe0007a1b,\n\t0x11320: 0xe00074cd, 0x11323: 0xe0008cb9,\n\t0x11325: 0xe00075b4, 0x11327: 0xe0009c21,\n\t0x11329: 0xe0005e2f,\n\t0x1132d: 0xe0007784,\n\t0x11335: 0xe0009868, 0x11336: 0xe000995e,\n\t0x1133c: 0xe000939f, 0x1133f: 0xe00075e4,\n\t// Block 0x44d, offset 0x11340\n\t0x11340: 0xe00075e7, 0x11341: 0xe0005bee,\n\t0x11346: 0xe0009ccd,\n\t0x11349: 0xe0007dd9,\n\t0x1134c: 0xe00072c1,\n\t0x11350: 0xe0007dc4,\n\t0x1135a: 0xe000a4d5,\n\t0x11362: 0xe000695a, 0x11363: 0xe0008536,\n\t0x11366: 0xe00067a7, 0x11367: 0xe0008c2d,\n\t0x1136a: 0xe000581f,\n\t0x11372: 0xe000a57d,\n\t0x11377: 0xe0008c31,\n\t0x1137f: 0xe0006ddd,\n\t// Block 0x44e, offset 0x11380\n\t0x11384: 0xe000622c,\n\t0x1138d: 0xe000680d,\n\t0x11392: 0xe0005f09, 0x11393: 0xe000a6a0,\n\t0x11395: 0xe00076ef,\n\t0x1139a: 0xe00061f0, 0x1139b: 0xe00080fe,\n\t0x1139f: 0xe0006f48,\n\t0x113a2: 0xe0006081,\n\t0x113a4: 0xe00073fa, 0x113a7: 0xe0007e71,\n\t0x113aa: 0xe0007cc1,\n\t0x113b3: 0xe00074b5,\n\t0x113b5: 0xe00085ce,\n\t0x113ba: 0xe000622f, 0x113bb: 0xe0006388,\n\t0x113bc: 0xe0007d26, 0x113bd: 0xe0005df8, 0x113be: 0xe0004d0d, 0x113bf: 0xe0004b8d,\n\t// Block 0x44f, offset 0x113c0\n\t0x113c1: 0xe000417b, 0x113c2: 0xe00071a1,\n\t0x113c4: 0xe0008102,\n\t0x113c8: 0xe00077f4, 0x113c9: 0xe00091b9, 0x113cb: 0xe00052bd,\n\t0x113cc: 0xe000a331,\n\t0x113d6: 0xe0009f1e, 0x113d7: 0xe0004d10,\n\t0x113d9: 0xe0006ed4, 0x113da: 0xe0005e77, 0x113db: 0xe0007c22,\n\t0x113e0: 0xe0005d3c, 0x113e1: 0xe00088f1, 0x113e2: 0xe0004ed3, 0x113e3: 0xe0007947,\n\t0x113e5: 0xe0008a11, 0x113e6: 0xe000a14b,\n\t0x113e9: 0xe00052d5, 0x113eb: 0xe0006084,\n\t0x113ed: 0xe000a49c, 0x113ee: 0xe000a49f, 0x113ef: 0xe0007cc4,\n\t0x113f6: 0xe0009730,\n\t0x113fa: 0xe000a097, 0x113fb: 0xe000a09b,\n\t0x113fd: 0xe0005bc2,\n\t// Block 0x450, offset 0x11400\n\t0x11400: 0xe0004ed6,\n\t0x11405: 0xe000a553,\n\t0x11408: 0xe0007efe, 0x11409: 0xe000a931, 0x1140b: 0xe0006e60,\n\t0x1140c: 0xe0004bd2,\n\t0x11416: 0xe0009e3b,\n\t0x11419: 0xe00087ba, 0x1141b: 0xe000a2ed,\n\t0x11425: 0xe0008d85,\n\t0x11428: 0xe0008623, 0x1142a: 0xe0006a4b,\n\t0x1142d: 0xe0005229,\n\t0x11430: 0xe0007bbb, 0x11432: 0xe00052c0,\n\t0x11434: 0xe0007bb7,\n\t0x1143e: 0xe00057cb, 0x1143f: 0xe0007a8f,\n\t// Block 0x451, offset 0x11440\n\t0x11440: 0xe0006cbc, 0x11443: 0xe0007865,\n\t0x11445: 0xe0006f84,\n\t0x1144c: 0xe0005998,\n\t0x11450: 0xe00085e1, 0x11451: 0xe000a319,\n\t0x11454: 0xe0004986, 0x11455: 0xe00085c6, 0x11456: 0xe0008626, 0x11457: 0xe00085e4,\n\t0x11458: 0xe0008ded, 0x1145a: 0xe00067aa, 0x1145b: 0xe0009d81,\n\t0x1145c: 0xe00085e7, 0x1145d: 0xe000a739, 0x1145f: 0xe0005f68,\n\t0x11461: 0xe0009c24, 0x11463: 0xe00047a5,\n\t0x11464: 0xe0004817, 0x11465: 0xe0005286,\n\t0x11469: 0xe000a19e, 0x1146b: 0xe000711c,\n\t0x11470: 0xe0007291, 0x11471: 0xe00086c2,\n\t0x11475: 0xe00067ad, 0x11476: 0xe0008629,\n\t0x11478: 0xe000a033, 0x1147a: 0xe0008221,\n\t0x1147c: 0xe000795b, 0x1147f: 0xe0006c10,\n\t// Block 0x452, offset 0x11480\n\t0x11481: 0xe00088b3, 0x11482: 0xe0007fa2,\n\t0x11485: 0xe0005500, 0x11487: 0xe0007fdb,\n\t0x11488: 0xe00071a4, 0x11489: 0xe0007663, 0x1148a: 0xe00041c6, 0x1148b: 0xe0007148,\n\t0x1148c: 0xe0007ddd, 0x1148f: 0xe0004ba6,\n\t0x11493: 0xe00066d1,\n\t0x11495: 0xe0009bd4, 0x11496: 0xe000a71b, 0x11497: 0xe0008e09,\n\t0x11498: 0xe0004a5d, 0x11499: 0xe0008ead, 0x1149a: 0xe0008b65, 0x1149b: 0xe0007de1,\n\t0x1149c: 0xe000840b,\n\t0x114a2: 0xe0004492, 0x114a3: 0xe0006e64,\n\t0x114a4: 0xe0007545, 0x114a5: 0xe0008224, 0x114a6: 0xe000a5bc,\n\t0x114ac: 0xe0006fd0, 0x114ae: 0xe0004deb,\n\t0x114b0: 0xe0008803, 0x114b3: 0xe000a1a1,\n\t0x114b4: 0xe0007a1f, 0x114b5: 0xe0007045, 0x114b6: 0xe000417e,\n\t0x114b8: 0xe00074d1, 0x114b9: 0xe0007f5a,\n\t0x114bf: 0xe0007295,\n\t// Block 0x453, offset 0x114c0\n\t0x114c0: 0xe0009439, 0x114c2: 0xe00088f5, 0x114c3: 0xe0008106,\n\t0x114c4: 0xe000506f, 0x114c5: 0xe0008502, 0x114c6: 0xe00062ac, 0x114c7: 0xe0004c74,\n\t0x114cc: 0xe00067b0,\n\t0x114d0: 0xe0005f0c, 0x114d2: 0xe000a05b, 0x114d3: 0xe0007fde,\n\t0x114d4: 0xe0007479, 0x114d6: 0xe0009a7a, 0x114d7: 0xe000525d,\n\t0x114d8: 0xe00099f6,\n\t0x114de: 0xe0005e07, 0x114df: 0xe000930f,\n\t0x114e1: 0xe00049ea, 0x114e2: 0xe0009a5a,\n\t0x114e4: 0xe0007c7c, 0x114e5: 0xe0007eb0, 0x114e6: 0xe0007549, 0x114e7: 0xe0005259,\n\t0x114e8: 0xe000943c, 0x114e9: 0xe0007559, 0x114eb: 0xe0006b06,\n\t0x114ec: 0xe0004a61, 0x114ed: 0xe000a406, 0x114ee: 0xe0005ba1, 0x114ef: 0xe0008f61,\n\t0x114f0: 0xe000a5f4,\n\t0x114f5: 0xe00097c4, 0x114f6: 0xe0006685,\n\t0x114f8: 0xe00097a8, 0x114fa: 0xe0006b09,\n\t// Block 0x454, offset 0x11500\n\t0x11501: 0xe0006739,\n\t0x11504: 0xe0006b0c, 0x11505: 0xe0004f47, 0x11507: 0xe000873a,\n\t0x11508: 0xe000898d, 0x11509: 0xe00081af, 0x1150a: 0xe0008df1, 0x1150b: 0xe000755d,\n\t0x1150c: 0xe0008f10, 0x1150d: 0xe00054ca, 0x1150e: 0xe000551e, 0x1150f: 0xe0007048,\n\t0x11511: 0xe000704b,\n\t0x11514: 0xe00084a7, 0x11516: 0xe00095e4,\n\t0x11519: 0xe0006cc0,\n\t0x1151f: 0xe0006ed8,\n\t0x11520: 0xe0006edc,\n\t0x11524: 0xe0007fe1,\n\t0x11528: 0xe00063f8, 0x1152b: 0xe0007e59,\n\t0x11531: 0xe0009961,\n\t0x11538: 0xe00073fd, 0x11539: 0xe0008312, 0x1153a: 0xe00094a8, 0x1153b: 0xe000481a,\n\t0x1153c: 0xe00052f9, 0x1153e: 0xe00061f3, 0x1153f: 0xe00052ba,\n\t// Block 0x455, offset 0x11540\n\t0x11540: 0xe0004d83, 0x11541: 0xe00069d8,\n\t0x11545: 0xe00044b8, 0x11546: 0xe00047a8, 0x11547: 0xe0008a15,\n\t0x11548: 0xe0004dcf, 0x1154b: 0xe0007cfa,\n\t0x1154d: 0xe0007403, 0x1154e: 0xe0007400,\n\t0x11550: 0xe0004f4b, 0x11551: 0xe0006f14,\n\t0x11555: 0xe0008991,\n\t0x1155b: 0xe0006624,\n\t0x11560: 0xe0005521, 0x11562: 0xe0005bf1,\n\t0x11564: 0xe00099a4, 0x11565: 0xe0005cf7,\n\t0x11568: 0xe0004d13,\n\t0x1156c: 0xe00070f4, 0x1156f: 0xe00056e8,\n\t0x11571: 0xe0006be0, 0x11573: 0xe0006ee0,\n\t0x11579: 0xe000a8cb, 0x1157a: 0xe0005114,\n\t// Block 0x456, offset 0x11580\n\t0x11588: 0xe000a01d, 0x1158a: 0xe0008ac9,\n\t0x1158c: 0xe000501f, 0x1158f: 0xe0007e2d,\n\t0x11590: 0xe0005072, 0x11591: 0xe00086e2, 0x11592: 0xe0004679,\n\t0x11594: 0xe0009278,\n\t0x1159d: 0xe00086a2,\n\t0x115a1: 0xe00043a8, 0x115a3: 0xe0004d16,\n\t0x115a5: 0xe0009d00, 0x115a6: 0xe0005dd9, 0x115a7: 0xe0009733,\n\t0x115a8: 0xe00088b6, 0x115a9: 0xe00076cf, 0x115aa: 0xe0006904, 0x115ab: 0xe00071a7,\n\t0x115ac: 0xe0004384, 0x115ad: 0xe0005a54,\n\t0x115b1: 0xe00054cd, 0x115b3: 0xe0007603,\n\t0x115b5: 0xe000a42a, 0x115b7: 0xe0006250,\n\t0x115b8: 0xe0007667, 0x115ba: 0xe0005a10,\n\t0x115be: 0xe0008ad9,\n\t// Block 0x457, offset 0x115c0\n\t0x115c0: 0xe00071aa,\n\t0x115d2: 0xe0005685,\n\t0x115d9: 0xe00099b1,\n\t0x115e0: 0xe0006cc4,\n\t0x115e8: 0xe00075b7, 0x115e9: 0xe00075ea,\n\t0x115ed: 0xe0009736, 0x115ef: 0xe000673d,\n\t0x115f0: 0xe0006741, 0x115f1: 0xe0005289,\n\t0x115f4: 0xe000a29d, 0x115f6: 0xe0005524,\n\t0x115fb: 0xe0008f65,\n\t0x115fd: 0xe000a341,\n\t// Block 0x458, offset 0x11600\n\t0x11606: 0xe00049ba, 0x11607: 0xe0007375,\n\t0x1160d: 0xe0005872, 0x1160e: 0xe0005075,\n\t0x11610: 0xe000492a, 0x11611: 0xe0004906,\n\t0x11614: 0xe00097ff, 0x11615: 0xe0007787, 0x11616: 0xe0007760, 0x11617: 0xe00043ac,\n\t0x11619: 0xe0005c78, 0x1161b: 0xe0004ddf,\n\t0x1161f: 0xe00083ca,\n\t0x11622: 0xe000884f,\n\t0x11624: 0xe000a760, 0x11626: 0xe000797f, 0x11627: 0xe0007379,\n\t0x11629: 0xe0006924,\n\t0x11634: 0xe0007e86,\n\t0x1163d: 0xe0008830,\n\t// Block 0x459, offset 0x11640\n\t0x11641: 0xe000434c, 0x11642: 0xe0005c98,\n\t0x1164b: 0xe00061f6,\n\t0x1164c: 0xe0004300, 0x1164e: 0xe0008038,\n\t0x11650: 0xe00057f7, 0x11653: 0xe00076f3,\n\t0x11654: 0xe0007e89,\n\t0x11669: 0xe000737d,\n\t0x1166c: 0xe0007e77, 0x1166f: 0xe0009254,\n\t0x11671: 0xe0007fa6,\n\t// Block 0x45a, offset 0x11680\n\t0x11681: 0xe0005c18, 0x11682: 0xe00087be,\n\t0x11684: 0xe0009357, 0x11687: 0xe0004c77,\n\t0x1168b: 0xe0005527,\n\t0x11692: 0xe0009049,\n\t0x11694: 0xe0004ff3, 0x11695: 0xe0009739,\n\t0x11699: 0xe0005d81,\n\t0x1169d: 0xe0005710,\n\t0x116a0: 0xe0004bd5, 0x116a2: 0xe0007eb3,\n\t0x116a7: 0xe00079ff,\n\t0x116aa: 0xe0007997, 0x116ab: 0xe000799f,\n\t0x116ae: 0xe000a26d,\n\t0x116b0: 0xe000a1c8,\n\t0x116b7: 0xe0008444,\n\t0x116b8: 0xe0007b4b, 0x116ba: 0xe0005a14,\n\t0x116bc: 0xe0006d86, 0x116bd: 0xe0007607,\n\t// Block 0x45b, offset 0x116c0\n\t0x116c9: 0xe000935b, 0x116cb: 0xe0004ed9,\n\t0x116cd: 0xe0007e7a,\n\t0x116d1: 0xe00092f7, 0x116d2: 0xe0005e33, 0x116d3: 0xe0008a19,\n\t0x116d6: 0xe00076d3,\n\t0x116da: 0xe000a255,\n\t0x116dd: 0xe000950c, 0x116de: 0xe0008eb0,\n\t0x116e1: 0xe00072d1, 0x116e2: 0xe000704e,\n\t0x116e5: 0xe000498a, 0x116e6: 0xe0008e77, 0x116e7: 0xe0004bd8,\n\t0x116e8: 0xe00044bb, 0x116eb: 0xe000613b,\n\t0x116ee: 0xe0009257,\n\t0x116f1: 0xe0005078, 0x116f2: 0xe0008468, 0x116f3: 0xe0006b0f,\n\t0x116f4: 0xe0009cd0, 0x116f5: 0xe00099f9, 0x116f7: 0xe000a14f,\n\t0x116f9: 0xe0004f9b,\n\t0x116fd: 0xe0007120, 0x116fe: 0xe0004518,\n\t// Block 0x45c, offset 0x11700\n\t0x11702: 0xe0007406, 0x11703: 0xe0009e77,\n\t0x11706: 0xe000654c,\n\t0x11709: 0xe00068b0,\n\t0x1170c: 0xe000a934,\n\t0x11711: 0xe0009bd8,\n\t0x11715: 0xe0005eb3, 0x11716: 0xe0009630,\n\t0x11719: 0xe00091bd, 0x1171a: 0xe000986b, 0x1171b: 0xe00064dc,\n\t0x1171d: 0xe0008c7d,\n\t0x11725: 0xe00071ad,\n\t0x11728: 0xe0007030, 0x1172b: 0xe0006b12,\n\t0x1172d: 0xe0006e00,\n\t0x11733: 0xe000873e,\n\t0x11736: 0xe00054d0, 0x11737: 0xe00082a5,\n\t0x11738: 0xe0006cc8,\n\t0x1173d: 0xe000603f, 0x1173f: 0xe000a787,\n\t// Block 0x45d, offset 0x11740\n\t0x11740: 0xe0008b69, 0x11743: 0xe00081e8,\n\t0x11744: 0xe000760b, 0x11745: 0xe0009ed7, 0x11747: 0xe00063fc,\n\t0x1174c: 0xe000a640, 0x1174e: 0xe0005f98,\n\t0x11754: 0xe0005e7b, 0x11755: 0xe0005e0b,\n\t0x11758: 0xe0009471,\n\t0x1175e: 0xe0006709, 0x1175f: 0xe00099b4,\n\t0x11761: 0xe00064f8, 0x11762: 0xe000545a, 0x11763: 0xe0009e3e,\n\t0x11768: 0xe0009608, 0x1176a: 0xe00060e0, 0x1176b: 0xe0006460,\n\t0x1176c: 0xe0008f13,\n\t0x11770: 0xe000a259, 0x11771: 0xe00057cf, 0x11772: 0xe000423c, 0x11773: 0xe0009e10,\n\t0x11774: 0xe0005239, 0x11777: 0xe0006628,\n\t0x11778: 0xe000a1fa, 0x11779: 0xe0004240, 0x1177a: 0xe0007f01, 0x1177b: 0xe000a5c0,\n\t0x1177c: 0xe0008227, 0x1177d: 0xe000822a, 0x1177e: 0xe000507b, 0x1177f: 0xe0007983,\n\t// Block 0x45e, offset 0x11780\n\t0x11784: 0xe0008742, 0x11787: 0xe000695d,\n\t0x1178a: 0xe0006ccc, 0x1178b: 0xe0005117,\n\t0x1178f: 0xe0006d89,\n\t0x11795: 0xe000886e, 0x11796: 0xe0009eb6, 0x11797: 0xe0008add,\n\t0x1179a: 0xe00046bd,\n\t0x1179c: 0xe00067b3,\n\t0x117a0: 0xe0006cd0,\n\t0x117a6: 0xe000552a, 0x117a7: 0xe0008e7a,\n\t0x117ab: 0xe000481d,\n\t0x117ad: 0xe0008b6d,\n\t0x117b3: 0xe00069db,\n\t0x117b5: 0xe00076d7, 0x117b6: 0xe0006d8c, 0x117b7: 0xe00043b0,\n\t0x117b8: 0xe0007f5e,\n\t0x117bd: 0xe000803b, 0x117be: 0xe000822d,\n\t// Block 0x45f, offset 0x117c0\n\t0x117c1: 0xe000999c, 0x117c2: 0xe0006cd4,\n\t0x117c8: 0xe0009ff9, 0x117c9: 0xe00059d8, 0x117ca: 0xe0005837, 0x117cb: 0xe000724c,\n\t0x117d0: 0xe0004c7a, 0x117d1: 0xe0004f9f, 0x117d3: 0xe0004a35,\n\t0x117d5: 0xe00083ce, 0x117d6: 0xe0005ba4,\n\t0x117da: 0xe0008eb3, 0x117db: 0xe0008995,\n\t0x117dd: 0xe0007451, 0x117de: 0xe000a8f7, 0x117df: 0xe0006111,\n\t0x117e0: 0xe00093a3, 0x117e1: 0xe0006180, 0x117e2: 0xe0009e41, 0x117e3: 0xe0004b0d,\n\t0x117e5: 0xe0004b90, 0x117e7: 0xe00087c2,\n\t0x117e8: 0xe000a1cb, 0x117e9: 0xe0005cc0,\n\t0x117ec: 0xe00058e9,\n\t0x117f1: 0xe0007d86, 0x117f3: 0xe0009664,\n\t0x117f6: 0xe0007a23, 0x117f7: 0xe0008b71,\n\t0x117fa: 0xe000451c, 0x117fb: 0xe000a6be,\n\t0x117ff: 0xe00085ba,\n\t// Block 0x460, offset 0x11800\n\t0x11801: 0xe00065c8, 0x11803: 0xe000511a,\n\t0x11804: 0xe0005b2e, 0x11807: 0xe0004350,\n\t0x11808: 0xe000a289, 0x1180a: 0xe0009e44, 0x1180b: 0xe00084da,\n\t0x1180f: 0xe000747d,\n\t0x11811: 0xe0007409, 0x11813: 0xe0004def,\n\t0x11814: 0xe0008cf8, 0x11815: 0xe0008506, 0x11817: 0xe00068f8,\n\t0x11818: 0xe000a515, 0x1181b: 0xe000846b,\n\t0x1181f: 0xe0008c80,\n\t0x11822: 0xe000558a,\n\t0x11825: 0xe0006232, 0x11826: 0xe000a2a1, 0x11827: 0xe000a42d,\n\t0x11829: 0xe0005277,\n\t0x1182d: 0xe0006235,\n\t0x11831: 0xe0007821,\n\t0x11834: 0xe0005615, 0x11835: 0xe0008746,\n\t0x1183a: 0xe00043b4,\n\t0x1183c: 0xe0009f8d,\n\t// Block 0x461, offset 0x11840\n\t0x11840: 0xe0004d19,\n\t0x11846: 0xe0006610,\n\t0x11848: 0xe0009b64, 0x1184a: 0xe00043b8,\n\t0x1184c: 0xe00061f9, 0x1184e: 0xe0005e37,\n\t0x11854: 0xe0005b0e, 0x11856: 0xe0005342, 0x11857: 0xe000a3e8,\n\t0x11858: 0xe00096b2, 0x11859: 0xe000a833, 0x1185b: 0xe000846e,\n\t0x1185d: 0xe00084aa,\n\t0x11862: 0xe000a391,\n\t0x11864: 0xe0005689, 0x11866: 0xe000792f, 0x11867: 0xe0008066,\n\t0x11869: 0xe000943f, 0x1186a: 0xe0009ef1, 0x1186b: 0xe0008cfb,\n\t0x1186c: 0xe0006a4f, 0x1186d: 0xe0009d90,\n\t0x11870: 0xe00093a7, 0x11871: 0xe0007b4f,\n\t0x11877: 0xe0006400,\n\t0x11879: 0xe00079e3,\n\t0x1187c: 0xe0009f64, 0x1187f: 0xe00068fc,\n\t// Block 0x462, offset 0x11880\n\t0x11880: 0xe0007e45, 0x11881: 0xe0008b75, 0x11882: 0xe0008d88,\n\t0x11885: 0xe00054d3, 0x11887: 0xe00072d5,\n\t0x11888: 0xe000a8af, 0x11889: 0xe00078b9, 0x1188a: 0xe000a6c1, 0x1188b: 0xe0005c8c,\n\t0x1188c: 0xe000a78a,\n\t0x11890: 0xe0006d8f, 0x11891: 0xe00046c1, 0x11892: 0xe000552d,\n\t0x11897: 0xe000570c,\n\t0x11898: 0xe0006495, 0x11899: 0xe0006b15,\n\t0x1189c: 0xe0006d20, 0x1189e: 0xe0008e0d,\n\t0x118a0: 0xe0005875, 0x118a1: 0xe00078e8, 0x118a3: 0xe000927b,\n\t0x118a7: 0xe0009de0,\n\t0x118a8: 0xe000a644, 0x118a9: 0xe00066d5, 0x118aa: 0xe00072d9,\n\t0x118ac: 0xe0006464, 0x118ad: 0xe0007f04, 0x118ae: 0xe00061fc, 0x118af: 0xe000a409,\n\t0x118b5: 0xe0009229, 0x118b7: 0xe0005504,\n\t0x118b9: 0xe000959c,\n\t0x118bc: 0xe0007f07, 0x118bd: 0xe000a836,\n\t// Block 0x463, offset 0x118c0\n\t0x118c3: 0xe0007561,\n\t0x118c5: 0xe0009f91,\n\t0x118c9: 0xe000558d,\n\t0x118cc: 0xe000507e, 0x118cd: 0xe000850a,\n\t0x118d0: 0xe0009bb4, 0x118d2: 0xe0009cc2,\n\t0x118d6: 0xe00097ac, 0x118d7: 0xe0009064,\n\t0x118d8: 0xe0005ec3, 0x118d9: 0xe0005ec7,\n\t0x118dd: 0xe000960c, 0x118de: 0xe0006284, 0x118df: 0xe0006288,\n\t0x118e0: 0xe000991a, 0x118e1: 0xe0009932,\n\t0x118e4: 0xe0007cc7,\n\t0x118e8: 0xe0007e31, 0x118eb: 0xe0009aa2,\n\t0x118ed: 0xe00065dc, 0x118ee: 0xe000511d,\n\t0x118f1: 0xe0009a7e,\n\t0x118f5: 0xe0005249,\n\t0x118f8: 0xe00052eb, 0x118fb: 0xe000a8b3,\n\t0x118fc: 0xe0004408, 0x118fd: 0xe000a501, 0x118ff: 0xe0006874,\n\t// Block 0x464, offset 0x11900\n\t0x1190a: 0xe000973c,\n\t0x1190d: 0xe00086a6, 0x1190f: 0xe000772f,\n\t0x11912: 0xe000527a,\n\t0x11914: 0xe0008c35, 0x11915: 0xe0009d03, 0x11916: 0xe0009e7a, 0x11917: 0xe000965c,\n\t0x11919: 0xe000a4a2, 0x1191b: 0xe00053b6,\n\t0x1191c: 0xe0005a18, 0x1191d: 0xe0006b18,\n\t0x11920: 0xe0009bfd, 0x11921: 0xe0008471,\n\t0x11925: 0xe0005007, 0x11926: 0xe0009e20, 0x11927: 0xe0006fd4,\n\t0x11928: 0xe000810a, 0x11929: 0xe0005302, 0x1192a: 0xe0004b7e,\n\t0x1192f: 0xe0004598,\n\t0x11933: 0xe000a6a4,\n\t// Block 0x465, offset 0x11940\n\t0x11941: 0xe0008592, 0x11942: 0xe00072dd, 0x11943: 0xe000740c,\n\t0x11946: 0xe000a17f, 0x11947: 0xe0004b31,\n\t0x11948: 0xe0006087, 0x1194a: 0xe000a371,\n\t0x1194d: 0xe000a648,\n\t0x11950: 0xe000498e, 0x11952: 0xe000a153,\n\t0x11955: 0xe0006d92,\n\t0x11959: 0xe0007869, 0x1195a: 0xe00079a7,\n\t0x1195d: 0xe0004ad9, 0x1195f: 0xe000a893,\n\t0x11960: 0xe0004b93, 0x11962: 0xe000a6c4, 0x11963: 0xe00085ea,\n\t0x11964: 0xe000a86f, 0x11965: 0xe00099b7,\n\t0x11968: 0xe000a05f, 0x11969: 0xe000835a, 0x1196a: 0xe00041f0, 0x1196b: 0xe0009c7a,\n\t0x1196c: 0xe000524d, 0x1196d: 0xe0004992, 0x1196f: 0xe0007481,\n\t0x11970: 0xe000a8ff,\n\t// Block 0x466, offset 0x11980\n\t0x11981: 0xe0007a93, 0x11983: 0xe000492e,\n\t0x11984: 0xe000973f, 0x11985: 0xe0007abf,\n\t0x11989: 0xe000754d, 0x1198b: 0xe0005d85,\n\t0x1198c: 0xe0008c83, 0x1198d: 0xe000a063, 0x1198f: 0xe000a375,\n\t0x11992: 0xe00083e6,\n\t0x11994: 0xe000a6c7, 0x11995: 0xe000a964, 0x11996: 0xe0009d66, 0x11997: 0xe00061c9,\n\t0x1199a: 0xe000714c, 0x1199b: 0xe0008999,\n\t0x1199f: 0xe0007c7f,\n\t0x119a0: 0xe0008230, 0x119a2: 0xe00058c9, 0x119a3: 0xe000a5c4,\n\t0x119a4: 0xe00097c8, 0x119a7: 0xe0005cfa,\n\t0x119b0: 0xe0008e11, 0x119b1: 0xe00069de, 0x119b2: 0xe0006960, 0x119b3: 0xe0005508,\n\t0x119b4: 0xe000993a, 0x119b5: 0xe00093f7, 0x119b6: 0xe0006254,\n\t0x119b8: 0xe00047ab, 0x119bb: 0xe000a20a,\n\t0x119bc: 0xe0005530, 0x119bd: 0xe000948b, 0x119be: 0xe00049be,\n\t// Block 0x467, offset 0x119c0\n\t0x119c4: 0xe0005235, 0x119c5: 0xe0008b79, 0x119c6: 0xe000986e, 0x119c7: 0xe00055f1,\n\t0x119c9: 0xe0009610, 0x119cb: 0xe0007e35,\n\t0x119cf: 0xe0005823,\n\t0x119d1: 0xe000a4c9, 0x119d3: 0xe0004e33,\n\t0x119d5: 0xe00094e4,\n\t0x119d8: 0xe0005eeb, 0x119d9: 0xe00095c4, 0x119da: 0xe000a505, 0x119db: 0xe000a4f1,\n\t0x119dc: 0xe0006e04, 0x119dd: 0xe00093fb, 0x119df: 0xe0008233,\n\t0x119e0: 0xe000a3eb, 0x119e1: 0xe000760f, 0x119e2: 0xe0007180,\n\t0x119f0: 0xe0009aba, 0x119f1: 0xe00052b1, 0x119f2: 0xe00080ba, 0x119f3: 0xe0006cd8,\n\t0x119f4: 0xe0009946, 0x119f6: 0xe000a64c, 0x119f7: 0xe0008fa9,\n\t0x119f8: 0xe0004755, 0x119f9: 0xe000780c, 0x119fa: 0xe0006fd8, 0x119fb: 0xe0009994,\n\t0x119fc: 0xe0009de4,\n\t// Block 0x468, offset 0x11a00\n\t0x11a00: 0xe0009742, 0x11a01: 0xe00071b0, 0x11a03: 0xe0006ee4,\n\t0x11a06: 0xe0004520,\n\t0x11a08: 0xe0008236, 0x11a09: 0xe0008239,\n\t0x11a0d: 0xe0006258, 0x11a0e: 0xe0009db0, 0x11a0f: 0xe000840e,\n\t0x11a14: 0xe00083d2, 0x11a15: 0xe0007613,\n\t0x11a1a: 0xe0007fe4, 0x11a1b: 0xe0007763,\n\t0x11a1c: 0xe000a379, 0x11a1f: 0xe0004304,\n\t0x11a27: 0xe0004b81,\n\t0x11a2c: 0xe00070bd, 0x11a2d: 0xe0005120,\n\t0x11a30: 0xe000a650,\n\t0x11a34: 0xe00093ab, 0x11a37: 0xe000444f,\n\t0x11a3c: 0xe00074d5, 0x11a3e: 0xe0004452, 0x11a3f: 0xe000810e,\n\t// Block 0x469, offset 0x11a40\n\t0x11a42: 0xe0007f62,\n\t0x11a44: 0xe0005c90, 0x11a46: 0xe0005590, 0x11a47: 0xe000835e,\n\t0x11a48: 0xe00085ed, 0x11a4a: 0xe000465d, 0x11a4b: 0xe0009c00,\n\t0x11a4c: 0xe000a654, 0x11a4d: 0xe0007d2a,\n\t0x11a52: 0xe0008e4d, 0x11a53: 0xe0009ef4,\n\t0x11a55: 0xe0006042,\n\t0x11a58: 0xe0009333, 0x11a59: 0xe0009337, 0x11a5a: 0xe000935f,\n\t0x11a5d: 0xe0009cba, 0x11a5f: 0xe0009c62,\n\t0x11a60: 0xe0007cca, 0x11a62: 0xe0005e3b, 0x11a63: 0xe0004a65,\n\t0x11a64: 0xe00041f4, 0x11a67: 0xe000a3ee,\n\t0x11a68: 0xe0004455, 0x11a6b: 0xe0008e15,\n\t0x11a6e: 0xe00058ec,\n\t0x11a70: 0xe00081b2, 0x11a71: 0xe000537a, 0x11a73: 0xe000428c,\n\t0x11a74: 0xe00073b2, 0x11a75: 0xe0007faa, 0x11a76: 0xe00046c5, 0x11a77: 0xe00043bc,\n\t0x11a7a: 0xe0005c1b,\n\t0x11a7d: 0xe00094ac, 0x11a7e: 0xe0007f22,\n\t// Block 0x46a, offset 0x11a80\n\t0x11a81: 0xe00097cc, 0x11a82: 0xe0007fe7, 0x11a83: 0xe0007fae,\n\t0x11a8a: 0xe0006963,\n\t0x11a8d: 0xe0004c23, 0x11a8e: 0xe0009021,\n\t0x11a90: 0xe0005968, 0x11a91: 0xe0006ab3, 0x11a92: 0xe0004e79,\n\t0x11a94: 0xe00096d9, 0x11a96: 0xe0008382,\n\t0x11a98: 0xe000a93a, 0x11a99: 0xe000a937, 0x11a9a: 0xe0009b68,\n\t0x11aa4: 0xe0006878, 0x11aa7: 0xe0005645,\n\t0x11aa8: 0xe0004354, 0x11aa9: 0xe00045ab, 0x11aab: 0xe000625c,\n\t0x11aac: 0xe00046c9, 0x11aae: 0xe000613e, 0x11aaf: 0xe0009363,\n\t0x11ab2: 0xe000a245,\n\t0x11ab6: 0xe0007913,\n\t0x11ab8: 0xe0006f88, 0x11aba: 0xe00053ce, 0x11abb: 0xe0009b80,\n\t0x11abc: 0xe0004759, 0x11abe: 0xe0004308,\n\t// Block 0x46b, offset 0x11ac0\n\t0x11ac3: 0xe0004f5f,\n\t0x11ac6: 0xe0008d8b, 0x11ac7: 0xe0004244,\n\t0x11ac8: 0xe000a1a4, 0x11ac9: 0xe00083f6, 0x11aca: 0xe0007c82, 0x11acb: 0xe0006141,\n\t0x11acc: 0xe0007a03,\n\t0x11ad5: 0xe0007b03, 0x11ad7: 0xe000a020,\n\t0x11ade: 0xe00060e4, 0x11adf: 0xe00054f1,\n\t0x11ae3: 0xe00061cd,\n\t0x11ae6: 0xe00051a1,\n\t0x11af2: 0xe000922d,\n\t0x11af6: 0xe0005757, 0x11af7: 0xe000a6ca,\n\t0x11af8: 0xe000a2a5, 0x11afa: 0xe000933b,\n\t0x11afc: 0xe0004c7d, 0x11afd: 0xe000a5f8, 0x11afe: 0xe0006fb0, 0x11aff: 0xe0008411,\n\t// Block 0x46c, offset 0x11b00\n\t0x11b00: 0xe000596c,\n\t0x11b07: 0xe000545e,\n\t0x11b08: 0xe00049ed, 0x11b0a: 0xe0006144,\n\t0x11b0c: 0xe0007361, 0x11b0d: 0xe00071b3, 0x11b0e: 0xe0008342,\n\t0x11b10: 0xe0006fdc, 0x11b11: 0xe00075ba, 0x11b12: 0xe00047ae,\n\t0x11b14: 0xe00086da, 0x11b15: 0xe00087c6, 0x11b16: 0xe000a4cd,\n\t0x11b1a: 0xe00094b0,\n\t0x11b1e: 0xe00076af, 0x11b1f: 0xe0004f33,\n\t0x11b21: 0xe000430c, 0x11b22: 0xe0009225,\n\t0x11b27: 0xe00093ff,\n\t0x11b29: 0xe0008a1d, 0x11b2a: 0xe0008aad,\n\t0x11b2e: 0xe0005c64,\n\t0x11b30: 0xe000899d, 0x11b31: 0xe000a93d, 0x11b32: 0xe000a967, 0x11b33: 0xe00092a3,\n\t0x11b34: 0xe00054d6, 0x11b35: 0xe0004d1c, 0x11b36: 0xe000a430,\n\t0x11b39: 0xe00077d4,\n\t0x11b3e: 0xe00058ef, 0x11b3f: 0xe0006404,\n\t// Block 0x46d, offset 0x11b40\n\t0x11b40: 0xe0007051, 0x11b41: 0xe0009dbc, 0x11b43: 0xe000475d,\n\t0x11b47: 0xe0006e68,\n\t0x11b48: 0xe000a433, 0x11b49: 0xe0006966, 0x11b4a: 0xe0007b07, 0x11b4b: 0xe00071b6,\n\t0x11b4d: 0xe0008806, 0x11b4e: 0xe000931f,\n\t0x11b51: 0xe000670d, 0x11b52: 0xe00064cb, 0x11b53: 0xe0009abd,\n\t0x11b57: 0xe0008833,\n\t0x11b58: 0xe0009b0c, 0x11b5b: 0xe000440c,\n\t0x11b63: 0xe0004d1f,\n\t0x11b68: 0xe000853a,\n\t0x11b6e: 0xe000687c,\n\t0x11b71: 0xe000500b, 0x11b73: 0xe000638c,\n\t0x11b76: 0xe00067b6,\n\t0x11b79: 0xe0006969, 0x11b7a: 0xe00090be,\n\t0x11b7c: 0xe00077b8, 0x11b7e: 0xe0008d8e, 0x11b7f: 0xe00073d2,\n\t// Block 0x46e, offset 0x11b80\n\t0x11b80: 0xe0005081, 0x11b83: 0xe00065e0,\n\t0x11b84: 0xe00096dc, 0x11b86: 0xe00061d1,\n\t0x11b89: 0xe0004635, 0x11b8a: 0xe0009cd3,\n\t0x11b91: 0xe0007917, 0x11b92: 0xe0006d95,\n\t0x11b94: 0xe0006810, 0x11b95: 0xe0009ca4, 0x11b96: 0xe00056d3, 0x11b97: 0xe000a157,\n\t0x11b98: 0xe0008ab1, 0x11b9b: 0xe0009e7d,\n\t0x11ba8: 0xe0009e24, 0x11bab: 0xe0009f67,\n\t0x11bac: 0xe0009c27,\n\t0x11bb1: 0xe0009e80,\n\t0x11bb5: 0xe0008871,\n\t0x11bb9: 0xe0005e9b,\n\t0x11bbc: 0xe000771b, 0x11bbd: 0xe0009820,\n\t// Block 0x46f, offset 0x11bc0\n\t0x11bc2: 0xe0006900,\n\t0x11bc4: 0xe0008f16, 0x11bc5: 0xe000537e, 0x11bc6: 0xe0009b34, 0x11bc7: 0xe0006147,\n\t0x11bc8: 0xe0005251, 0x11bc9: 0xe0005827, 0x11bca: 0xe0006813,\n\t0x11bcc: 0xe0006334, 0x11bcd: 0xe00062c8, 0x11bcf: 0xe00051a4,\n\t0x11bd0: 0xe0004b84, 0x11bd1: 0xe000467d, 0x11bd2: 0xe00044be, 0x11bd3: 0xe00094b4,\n\t0x11bd4: 0xe00063ac, 0x11bd5: 0xe0009adb, 0x11bd6: 0xe0009ac0, 0x11bd7: 0xe0007eb6,\n\t0x11bd8: 0xe0004c80, 0x11bd9: 0xe0008dfd, 0x11bdb: 0xe00096df,\n\t0x11bdc: 0xe0006498,\n\t0x11bec: 0xe0004add, 0x11bed: 0xe0007485, 0x11bee: 0xe0005183, 0x11bef: 0xe0009029,\n\t0x11bf1: 0xe0004996, 0x11bf3: 0xe0004e1b,\n\t0x11bf5: 0xe0008df5, 0x11bf6: 0xe0009323, 0x11bf7: 0xe0004820,\n\t0x11bfd: 0xe0007c25, 0x11bfe: 0xe00073a2, 0x11bff: 0xe00051a7,\n\t// Block 0x470, offset 0x11c00\n\t0x11c01: 0xe0009067, 0x11c02: 0xe0004b69,\n\t0x11c07: 0xe000906a,\n\t0x11c09: 0xe000766b,\n\t0x11c0c: 0xe00045cd,\n\t0x11c10: 0xe00051ad, 0x11c11: 0xe0005533, 0x11c12: 0xe00059cc,\n\t0x11c28: 0xe000778a, 0x11c2a: 0xe00051b0, 0x11c2b: 0xe0008e7d,\n\t0x11c2f: 0xe0009109,\n\t0x11c39: 0xe00083ea, 0x11c3a: 0xe0008b7d, 0x11c3b: 0xe0007a2b,\n\t0x11c3d: 0xe0005e3f, 0x11c3e: 0xe000a345,\n\t// Block 0x471, offset 0x11c40\n\t0x11c42: 0xe0007ccd, 0x11c43: 0xe0004dbf,\n\t0x11c44: 0xe0004d22, 0x11c46: 0xe0004932,\n\t0x11c49: 0xe0009287,\n\t0x11c4c: 0xe0009d54, 0x11c4d: 0xe000a09f, 0x11c4e: 0xe00070c0, 0x11c4f: 0xe00051dc,\n\t0x11c50: 0xe0007a27,\n\t0x11c55: 0xe0009e83, 0x11c57: 0xe00094e8,\n\t0x11c67: 0xe0006745,\n\t0x11c68: 0xe0006b1b, 0x11c69: 0xe00059d0, 0x11c6b: 0xe00061d5,\n\t0x11c6e: 0xe00044c1,\n\t0x11c71: 0xe000778d, 0x11c72: 0xe0004e1f,\n\t0x11c76: 0xe0009871, 0x11c77: 0xe0009634,\n\t0x11c7a: 0xe00051e0, 0x11c7b: 0xe0005255,\n\t0x11c7f: 0xe0006d98,\n\t// Block 0x472, offset 0x11c80\n\t0x11c80: 0xe000a8b7, 0x11c83: 0xe0007054,\n\t0x11c84: 0xe0005c88, 0x11c87: 0xe00095c8,\n\t0x11c88: 0xe00071b9, 0x11c89: 0xe0005536, 0x11c8a: 0xe0006816,\n\t0x11c8c: 0xe000874a, 0x11c8e: 0xe0005123, 0x11c8f: 0xe0005593,\n\t0x11c92: 0xe000649b,\n\t0x11c96: 0xe00077bc,\n\t0x11c98: 0xe0004dd3, 0x11c9b: 0xe0004b60,\n\t0x11c9c: 0xe0007c28, 0x11c9f: 0xe0008c39,\n\t0x11ca0: 0xe0005885, 0x11ca1: 0xe0009442, 0x11ca2: 0xe0009ba0,\n\t0x11ca5: 0xe0008b25, 0x11ca7: 0xe000499a,\n\t0x11ca8: 0xe0009823, 0x11ca9: 0xe0007977, 0x11caa: 0xe0008cfe,\n\t0x11cac: 0xe0004d9b,\n\t0x11cbe: 0xe0007a97,\n\t// Block 0x473, offset 0x11cc0\n\t0x11cc0: 0xe0004248, 0x11cc3: 0xe0008a21,\n\t0x11cc4: 0xe000823c, 0x11cc6: 0xe0004eac,\n\t0x11cc9: 0xe00082a8,\n\t0x11ccf: 0xe0006114,\n\t0x11cd0: 0xe0008c86,\n\t0x11cd6: 0xe00083da,\n\t0x11cda: 0xe000786d, 0x11cdb: 0xe000a5c8,\n\t0x11cdf: 0xe0006de0,\n\t0x11ce0: 0xe00076b3, 0x11ce1: 0xe0007617, 0x11ce3: 0xe0009949,\n\t0x11ce9: 0xe000447f, 0x11ceb: 0xe0009874,\n\t0x11ced: 0xe00045ae, 0x11cee: 0xe000a839,\n\t0x11cf2: 0xe0006f4c,\n\t0x11cf4: 0xe0008112, 0x11cf5: 0xe000453c, 0x11cf6: 0xe000780f, 0x11cf7: 0xe0006c74,\n\t// Block 0x474, offset 0x11d00\n\t0x11d06: 0xe0004d25,\n\t0x11d09: 0xe000421c,\n\t0x11d0d: 0xe0007124, 0x11d0f: 0xe00062cc,\n\t0x11d12: 0xe0006468,\n\t0x11d14: 0xe0007057, 0x11d16: 0xe0007eb9, 0x11d17: 0xe0005539,\n\t0x11d1c: 0xe00071bc,\n\t0x11d22: 0xe000910d,\n\t0x11d24: 0xe00077d8, 0x11d25: 0xe0009877,\n\t0x11d28: 0xe0009bd0, 0x11d2a: 0xe0005486, 0x11d2b: 0xe0006390,\n\t0x11d2c: 0xe0006338, 0x11d2d: 0xe0009bc0, 0x11d2f: 0xe0005596,\n\t0x11d30: 0xe0004966,\n\t0x11d36: 0xe0009403,\n\t0x11d3a: 0xe000a854,\n\t0x11d3e: 0xe000928b,\n\t// Block 0x475, offset 0x11d40\n\t0x11d58: 0xe00088f9,\n\t0x11d60: 0xe00097d0,\n\t0x11d67: 0xe0009808,\n\t0x11d69: 0xe0005ddd,\n\t0x11d6d: 0xe00094ec, 0x11d6f: 0xe000906d,\n\t0x11d73: 0xe0004d28,\n\t0x11d78: 0xe0006045, 0x11d79: 0xe0006048, 0x11d7a: 0xe0008b29, 0x11d7b: 0xe0006f8c,\n\t0x11d7d: 0xe0009f21,\n\t// Block 0x476, offset 0x11d80\n\t0x11d85: 0xe0004e7c,\n\t0x11d88: 0xe0005a94,\n\t0x11d90: 0xe0009c3f, 0x11d91: 0xe0009c3b, 0x11d92: 0xe0006c3c, 0x11d93: 0xe0007ebc,\n\t0x11d95: 0xe0006de3,\n\t0x11d99: 0xe0008fad, 0x11d9a: 0xe000523d,\n\t0x11d9d: 0xe000a84b, 0x11d9e: 0xe0005462, 0x11d9f: 0xe0004c26,\n\t0x11da4: 0xe00095a0, 0x11da5: 0xe00063b0,\n\t0x11da9: 0xe0005bc5, 0x11dab: 0xe000614a,\n\t0x11dad: 0xe0009cd6, 0x11dae: 0xe00097f8,\n\t0x11db0: 0xe00092af, 0x11db2: 0xe00062d0,\n\t0x11dbb: 0xe000539e,\n\t0x11dbc: 0xe0004358, 0x11dbe: 0xe0004a1a, 0x11dbf: 0xe000458c,\n\t// Block 0x477, offset 0x11dc0\n\t0x11dc1: 0xe0007d62,\n\t0x11dc4: 0xe0005a97, 0x11dc5: 0xe0009510, 0x11dc7: 0xe0009c33,\n\t0x11dc9: 0xe00092a7, 0x11dca: 0xe00045b1,\n\t0x11dcd: 0xe0008d01, 0x11dce: 0xe00046cd,\n\t0x11dd0: 0xe000a5fc, 0x11dd2: 0xe0004fbf,\n\t0x11dd4: 0xe00053d2, 0x11dd5: 0xe000a863, 0x11dd7: 0xe00065ac,\n\t0x11dd8: 0xe000658c, 0x11dda: 0xe00044c4,\n\t0x11de0: 0xe0008cbc, 0x11de1: 0xe00054d9, 0x11de2: 0xe0009b10, 0x11de3: 0xe0005599,\n\t0x11de5: 0xe00057fb, 0x11de6: 0xe0009313, 0x11de7: 0xe00044c7,\n\t0x11dec: 0xe0008414, 0x11ded: 0xe000a580, 0x11def: 0xe0006a83,\n\t0x11df1: 0xe0004220, 0x11df2: 0xe00094b8,\n\t0x11df4: 0xe000a58c,\n\t0x11dfa: 0xe0009cd9,\n\t0x11dfe: 0xe0007ebf,\n\t// Block 0x478, offset 0x11e00\n\t0x11e00: 0xe000633c, 0x11e02: 0xe0005b7a,\n\t0x11e04: 0xe0009c47, 0x11e07: 0xe000a25d,\n\t0x11e0a: 0xe0005950,\n\t0x11e0f: 0xe0005b4a,\n\t0x11e14: 0xe00057d3,\n\t0x11e18: 0xe0007871, 0x11e19: 0xe0009367,\n\t0x11e1d: 0xe0006fa0,\n\t0x11e22: 0xe00092fb, 0x11e23: 0xe0005970,\n\t0x11e24: 0xe0009b84,\n\t0x11e2a: 0xe0004bdb, 0x11e2b: 0xe000a590,\n\t0x11e2c: 0xe00057ff, 0x11e2f: 0xe0009070,\n\t0x11e32: 0xe0005126,\n\t0x11e36: 0xe00071bf, 0x11e37: 0xe0004823,\n\t0x11e38: 0xe000823f, 0x11e39: 0xe0004458, 0x11e3b: 0xe000499e,\n\t0x11e3d: 0xe0006394, 0x11e3e: 0xe0006408, 0x11e3f: 0xe0008b81,\n\t// Block 0x479, offset 0x11e40\n\t0x11e45: 0xe0004826,\n\t0x11e48: 0xe000a73c, 0x11e49: 0xe0006238,\n\t0x11e4d: 0xe0006d9b, 0x11e4e: 0xe0004bde, 0x11e4f: 0xe0006260,\n\t0x11e51: 0xe0004c83,\n\t0x11e54: 0xe0007906, 0x11e55: 0xe0009a32, 0x11e56: 0xe0007c85, 0x11e57: 0xe0009d69,\n\t0x11e5d: 0xe0009e56, 0x11e5e: 0xe00093af,\n\t0x11e62: 0xe0004310, 0x11e63: 0xe0006be4,\n\t0x11e66: 0xe00055f5,\n\t0x11e6c: 0xe00046d1, 0x11e6d: 0xe0007875,\n\t0x11e72: 0xe0004829,\n\t0x11e74: 0xe0008b85, 0x11e75: 0xe00088fd, 0x11e77: 0xe00067b9,\n\t0x11e78: 0xe00071c2,\n\t0x11e7e: 0xe0006e6c,\n\t// Block 0x47a, offset 0x11e80\n\t0x11e81: 0xe00056d6, 0x11e82: 0xe00059dc, 0x11e83: 0xe0009e47,\n\t0x11e85: 0xe000a73f, 0x11e87: 0xe00061a5,\n\t0x11e8c: 0xe0006a53,\n\t0x11e90: 0xe000696c, 0x11e91: 0xe0006340,\n\t0x11e97: 0xe00056b8,\n\t0x11e99: 0xe0005ba7, 0x11e9b: 0xe00048d2,\n\t0x11e9c: 0xe0006b1e, 0x11e9d: 0xe00041c9, 0x11e9f: 0xe00091fd,\n\t0x11ea1: 0xe000769b,\n\t0x11ea4: 0xe0004f63, 0x11ea5: 0xe00094bc, 0x11ea7: 0xe00067bc,\n\t0x11eab: 0xe000867a,\n\t0x11eac: 0xe000933f, 0x11eaf: 0xe0006b21,\n\t0x11eb0: 0xe00074d9, 0x11eb1: 0xe00086aa, 0x11eb2: 0xe00092ab,\n\t0x11eb7: 0xe0005346,\n\t0x11eb9: 0xe000640c,\n\t0x11ebc: 0xe00078eb, 0x11ebd: 0xe000740f, 0x11ebf: 0xe00082ab,\n\t// Block 0x47b, offset 0x11ec0\n\t0x11ec1: 0xe0006410, 0x11ec2: 0xe0005129, 0x11ec3: 0xe0008a25,\n\t0x11ec4: 0xe000608a, 0x11ec5: 0xe00058f2, 0x11ec6: 0xe0009d84,\n\t0x11eca: 0xe000646c, 0x11ecb: 0xe0006e70,\n\t0x11ecc: 0xe0008b89, 0x11ecf: 0xe0008dd9,\n\t0x11ed2: 0xe0005c2a,\n\t0x11ed7: 0xe0005084,\n\t0x11ee0: 0xe000614d, 0x11ee3: 0xe0005087,\n\t0x11ee5: 0xe0008566, 0x11ee6: 0xe000534a,\n\t0x11ee8: 0xe0009073, 0x11ee9: 0xe0008d04,\n\t0x11eec: 0xe00072e1, 0x11eed: 0xe000806a,\n\t0x11ef1: 0xe000a067, 0x11ef2: 0xe00054f4,\n\t0x11ef4: 0xe0007fea,\n\t0x11efa: 0xe0007e49, 0x11efb: 0xe0006264,\n\t0x11efc: 0xe0006268, 0x11efd: 0xe00055f9, 0x11eff: 0xe0007c88,\n\t// Block 0x47c, offset 0x11f00\n\t0x11f00: 0xe000832e, 0x11f03: 0xe00099a0,\n\t0x11f06: 0xe000490a, 0x11f07: 0xe00073d6,\n\t0x11f09: 0xe0006414, 0x11f0a: 0xe000a436,\n\t0x11f0c: 0xe00093b3, 0x11f0e: 0xe0005ffc, 0x11f0f: 0xe000a4d9,\n\t0x11f10: 0xe0006880, 0x11f11: 0xe0004fc3, 0x11f13: 0xe00079e7,\n\t0x11f14: 0xe0006e08, 0x11f15: 0xe000a89f,\n\t0x11f1b: 0xe00044e5,\n\t0x11f1e: 0xe000662c, 0x11f1f: 0xe0006fe0,\n\t0x11f20: 0xe0007b53, 0x11f21: 0xe000a2f1,\n\t0x11f24: 0xe0005a58, 0x11f25: 0xe00098fa, 0x11f27: 0xe0005f0f,\n\t0x11f28: 0xe000867e, 0x11f2b: 0xe0004d2b,\n\t0x11f2d: 0xe000705a, 0x11f2f: 0xe0007412,\n\t0x11f30: 0xe0009ffc, 0x11f31: 0xe000806e,\n\t0x11f34: 0xe0006117, 0x11f35: 0xe0005319, 0x11f36: 0xe00093b7, 0x11f37: 0xe0007d2e,\n\t0x11f3a: 0xe0006630, 0x11f3b: 0xe0007733,\n\t// Block 0x47d, offset 0x11f40\n\t0x11f41: 0xe0008d07, 0x11f42: 0xe0007415, 0x11f43: 0xe000a658,\n\t0x11f44: 0xe000a65c,\n\t0x11f48: 0xe0004c29, 0x11f49: 0xe0009111, 0x11f4b: 0xe0009115,\n\t0x11f4c: 0xe0006d24, 0x11f4e: 0xe000a539, 0x11f4f: 0xe000766f,\n\t0x11f59: 0xe0008f69, 0x11f5b: 0xe000a2a9,\n\t0x11f5d: 0xe0008eb6, 0x11f5e: 0xe000a940, 0x11f5f: 0xe0006fe4,\n\t0x11f61: 0xe0009eb9, 0x11f62: 0xe0008acd,\n\t0x11f64: 0xe0007c8b, 0x11f65: 0xe000a5d0, 0x11f66: 0xe000a6cd, 0x11f67: 0xe000a439,\n\t0x11f68: 0xe00074dd, 0x11f69: 0xe0005e43, 0x11f6b: 0xe0009b14,\n\t0x11f6c: 0xe000724f, 0x11f6e: 0xe0006688, 0x11f6f: 0xe00046d5,\n\t0x11f70: 0xe0006e34, 0x11f73: 0xe0006e0c,\n\t0x11f74: 0xe0009668, 0x11f76: 0xe0008b8d, 0x11f77: 0xe0004e97,\n\t0x11f78: 0xe0008b91, 0x11f7a: 0xe0009076, 0x11f7b: 0xe00076f7,\n\t// Block 0x47e, offset 0x11f80\n\t0x11f84: 0xe000a806, 0x11f87: 0xe0004181,\n\t0x11f88: 0xe000a7de, 0x11f89: 0xe000a83c, 0x11f8b: 0xe000628c,\n\t0x11f8c: 0xe0004edc, 0x11f8e: 0xe0007b57,\n\t0x11f90: 0xe00081b5, 0x11f91: 0xe0006d9e,\n\t0x11f96: 0xe00051c0, 0x11f97: 0xe00076db,\n\t0x11f98: 0xe0007879,\n\t0x11f9d: 0xe0006000, 0x11f9e: 0xe0004c2c,\n\t0x11fa0: 0xe000482c, 0x11fa2: 0xe00093bb, 0x11fa3: 0xe000512c,\n\t0x11fab: 0xe00086e6,\n\t0x11fac: 0xe0006f50, 0x11fae: 0xe000604b,\n\t0x11fb1: 0xe000531d, 0x11fb2: 0xe000874e, 0x11fb3: 0xe000a3f1,\n\t0x11fb4: 0xe0009edb, 0x11fb5: 0xe000a0a3,\n\t0x11fb8: 0xe0005bc8, 0x11fb9: 0xe0006f68, 0x11fbb: 0xe00046d9,\n\t0x11fbe: 0xe00055fd, 0x11fbf: 0xe000a96a,\n\t// Block 0x47f, offset 0x11fc0\n\t0x11fc0: 0xe00079aa, 0x11fc1: 0xe000512f,\n\t0x11fc4: 0xe0007b2b, 0x11fc5: 0xe0007b37, 0x11fc6: 0xe0005938, 0x11fc7: 0xe00053d6,\n\t0x11fc9: 0xe000a742,\n\t0x11fd3: 0xe0009ebc,\n\t0x11fd6: 0xe0007766,\n\t0x11fd9: 0xe0006da1, 0x11fda: 0xe00060e8, 0x11fdb: 0xe000a7e2,\n\t0x11fdc: 0xe0007ec2, 0x11fdd: 0xe0009edf,\n\t0x11fe0: 0xe0004b11, 0x11fe3: 0xe0007a9b,\n\t0x11fe6: 0xe000a943,\n\t0x11fe8: 0xe0005b4e, 0x11fe9: 0xe0005210, 0x11fea: 0xe0005772,\n\t0x11fec: 0xe0007183, 0x11fee: 0xe0007987, 0x11fef: 0xe0009790,\n\t0x11ff0: 0xe0007e41, 0x11ff2: 0xe00048d6, 0x11ff3: 0xe0007bef,\n\t0x11ff4: 0xe00046dd, 0x11ff7: 0xe00042bc,\n\t0x11ff8: 0xe0006da4, 0x11ff9: 0xe0008d0d, 0x11ffa: 0xe0008d0a,\n\t0x11ffc: 0xe0005e47, 0x11ffe: 0xe0009025, 0x11fff: 0xe0009697,\n\t// Block 0x480, offset 0x12000\n\t0x12000: 0xe0009802, 0x12003: 0xe000a6d0,\n\t0x12005: 0xe0004568,\n\t0x12008: 0xe0008186, 0x12009: 0xe0008242, 0x1200b: 0xe0006928,\n\t0x1200c: 0xe0006398, 0x1200d: 0xe00066d9,\n\t0x12014: 0xe0006bc4, 0x12015: 0xe0009201, 0x12017: 0xe000583b,\n\t0x1201b: 0xe0005ecb,\n\t0x1201d: 0xe0008d10, 0x1201e: 0xe000508a, 0x1201f: 0xe000508d,\n\t0x12023: 0xe000568d,\n\t0x12026: 0xe00060d8, 0x12027: 0xe0005b32,\n\t0x12028: 0xe00060a8, 0x1202a: 0xe00061ff, 0x1202b: 0xe0005e9f,\n\t0x1202c: 0xe0006729, 0x1202d: 0xe0009317, 0x1202e: 0xe000990a,\n\t0x12031: 0xe0008eb9, 0x12033: 0xe0009d58,\n\t0x12034: 0xe00062d4, 0x12036: 0xe0009ac3,\n\t0x1203a: 0xe0004e5b,\n\t0x1203d: 0xe000a78d,\n\t// Block 0x481, offset 0x12040\n\t0x12045: 0xe000803e, 0x12046: 0xe000424c,\n\t0x12049: 0xe0006c50,\n\t0x1204e: 0xe0005cfd, 0x1204f: 0xe000a1fe,\n\t0x12050: 0xe0008809, 0x12051: 0xe00097b0, 0x12053: 0xe0009ef7,\n\t0x12056: 0xe0008752,\n\t0x1205c: 0xe00056bb, 0x1205e: 0xe0005090, 0x1205f: 0xe00070f8,\n\t0x12060: 0xe0004410,\n\t0x1206a: 0xe0009745,\n\t0x1206c: 0xe0008156, 0x1206d: 0xe000a15b, 0x1206f: 0xe000649e,\n\t0x12070: 0xe000455c, 0x12071: 0xe0005649, 0x12072: 0xe0004883, 0x12073: 0xe000611a,\n\t0x12075: 0xe0008874, 0x12077: 0xe0009cdc,\n\t0x1207b: 0xe00052e5,\n\t0x1207c: 0xe00088b9, 0x1207e: 0xe0007150, 0x1207f: 0xe0009d2c,\n\t// Block 0x482, offset 0x12080\n\t0x12087: 0xe000696f,\n\t0x12089: 0xe0007e4d, 0x1208b: 0xe0006418,\n\t0x1208c: 0xe00068b4, 0x1208f: 0xe00051e8,\n\t0x12090: 0xe0006e10, 0x12093: 0xe00056be,\n\t0x12095: 0xe0009a5e, 0x12097: 0xe0005db1,\n\t0x12098: 0xe0007c2b, 0x12099: 0xe0007dc7, 0x1209a: 0xe0005f12,\n\t0x1209c: 0xe00049f0, 0x1209d: 0xe0009079,\n\t0x120af: 0xe000482f,\n\t0x120b0: 0xe0009e14, 0x120b2: 0xe0007454, 0x120b3: 0xe000907c,\n\t0x120b6: 0xe0004184, 0x120b7: 0xe0004187,\n\t0x120b8: 0xe0004c86,\n\t0x120be: 0xe0007418,\n\t// Block 0x483, offset 0x120c0\n\t0x120c1: 0xe0009ade,\n\t0x120c4: 0xe0006634, 0x120c5: 0xe0005305,\n\t0x120ca: 0xe0008e51,\n\t0x120cf: 0xe00064e0,\n\t0x120d0: 0xe000604e, 0x120d1: 0xe0004314, 0x120d2: 0xe0009a4e, 0x120d3: 0xe0007ad7,\n\t0x120d4: 0xe0008245, 0x120d7: 0xe0007168,\n\t0x120d8: 0xe000862c, 0x120d9: 0xe000a12b, 0x120da: 0xe0008248,\n\t0x120dd: 0xe0009b18, 0x120de: 0xe00086ae, 0x120df: 0xe00051fc,\n\t0x120e2: 0xe00088bc,\n\t0x120e9: 0xe0004c89,\n\t0x120ec: 0xe0004250, 0x120ef: 0xe000418a,\n\t0x120f0: 0xe000521d, 0x120f1: 0xe0008ebc, 0x120f3: 0xe0005c2d,\n\t0x120f4: 0xe000741b, 0x120f5: 0xe0009461, 0x120f6: 0xe0006b24,\n\t0x120f9: 0xe0007457, 0x120fb: 0xe0006b27,\n\t0x120fe: 0xe0008b95,\n\t// Block 0x484, offset 0x12100\n\t0x12103: 0xe000a6f7,\n\t0x12112: 0xe00072e5, 0x12113: 0xe00089a1,\n\t0x12116: 0xe0006da7, 0x12117: 0xe0005c94,\n\t0x1211d: 0xe0004ae9, 0x1211e: 0xe0004290,\n\t0x12121: 0xe0004be1, 0x12122: 0xe00064e4,\n\t0x1212a: 0xe0008ebf,\n\t0x1212e: 0xe00084ad, 0x1212f: 0xe0008072,\n\t0x12131: 0xe00049c2, 0x12132: 0xe0004886,\n\t0x12134: 0xe0008a29,\n\t0x12138: 0xe000a1ea, 0x12139: 0xe0004f67, 0x1213b: 0xe00074b9,\n\t0x1213c: 0xe00045b5, 0x1213d: 0xe000880c,\n\t// Block 0x485, offset 0x12140\n\t0x12140: 0xe0004560, 0x12141: 0xe000a15f, 0x12142: 0xe00047b1, 0x12143: 0xe000553c,\n\t0x12144: 0xe0004b35, 0x12146: 0xe0004b39,\n\t0x12148: 0xe0007673, 0x12149: 0xe000768b,\n\t0x1214e: 0xe00091c1,\n\t0x12150: 0xe000564d, 0x12151: 0xe0006cdc, 0x12153: 0xe000a5d4,\n\t0x12154: 0xe0005187,\n\t0x1216d: 0xe0009119, 0x1216f: 0xe0008c3d,\n\t0x12174: 0xe0006819, 0x12176: 0xe0009c66, 0x12177: 0xe0004224,\n\t0x1217e: 0xe0004dc3, 0x1217f: 0xe0004254,\n\t// Block 0x486, offset 0x12180\n\t0x12181: 0xe00058a1, 0x12183: 0xe0008c41,\n\t0x12185: 0xe0005f15, 0x12186: 0xe0006470,\n\t0x1218f: 0xe00048da,\n\t0x12193: 0xe000880f,\n\t0x12194: 0xe00099ba, 0x12197: 0xe00046e1,\n\t0x1219b: 0xe00051b3,\n\t0x1219d: 0xe0008d13, 0x1219f: 0xe000a745,\n\t0x121a0: 0xe000591c, 0x121a1: 0xe0007de5, 0x121a2: 0xe00096e2, 0x121a3: 0xe000757d,\n\t0x121a7: 0xe0007c8e,\n\t0x121a8: 0xe0005d00,\n\t0x121ad: 0xe0006b2a, 0x121af: 0xe0008c89,\n\t0x121b0: 0xe00047b4, 0x121b1: 0xe000490e, 0x121b3: 0xe000705d,\n\t0x121b5: 0xe0006550, 0x121b6: 0xe0006202,\n\t// Block 0x487, offset 0x121c0\n\t0x121c4: 0xe0005096, 0x121c5: 0xe0006638,\n\t0x121c9: 0xe0005fac, 0x121ca: 0xe0005132, 0x121cb: 0xe0005093,\n\t0x121cc: 0xe0009457, 0x121cd: 0xe0004912,\n\t0x121d0: 0xe00069e1, 0x121d2: 0xe0006749,\n\t0x121d5: 0xe0008e19, 0x121d6: 0xe0008c45, 0x121d7: 0xe0008d16,\n\t0x121d8: 0xe0004f37, 0x121da: 0xe000692c,\n\t0x121df: 0xe0005651,\n\t0x121e0: 0xe0005466, 0x121e3: 0xe00096b5,\n\t0x121e7: 0xe00086c6,\n\t0x121e8: 0xe00047b7,\n\t0x121ec: 0xe0004e37, 0x121ee: 0xe0006c54,\n\t0x121f2: 0xe0006daa,\n\t0x121f9: 0xe000553f, 0x121fa: 0xe0004a69, 0x121fb: 0xe00068b8,\n\t0x121fc: 0xe00068bc,\n\t// Block 0x488, offset 0x12200\n\t0x12200: 0xe0007de9, 0x12201: 0xe0004a45,\n\t0x12204: 0xe0008b31, 0x12205: 0xe0008417,\n\t0x1220b: 0xe00058cd,\n\t0x1220d: 0xe0007489, 0x1220e: 0xe0009826,\n\t0x12211: 0xe00069e4, 0x12212: 0xe00096e5,\n\t0x12219: 0xe0009407,\n\t0x12227: 0xe0006004,\n\t0x12230: 0xe0007812,\n\t0x12234: 0xe0005382, 0x12236: 0xe0008e55,\n\t0x12239: 0xe0009a82,\n\t0x1223d: 0xe0007a2f, 0x1223f: 0xe00098fe,\n\t// Block 0x489, offset 0x12240\n\t0x12242: 0xe0006b96,\n\t0x1224a: 0xe000787d,\n\t0x1224f: 0xe0004edf,\n\t0x12253: 0xe0009f48,\n\t0x12254: 0xe0006f18, 0x12255: 0xe0009ac6, 0x12257: 0xe0004524,\n\t0x12259: 0xe0006150, 0x1225a: 0xe00096e8,\n\t0x1225d: 0xe000599c, 0x1225e: 0xe0005ccc,\n\t0x12260: 0xe00051ec, 0x12261: 0xe000824b, 0x12262: 0xe000824e, 0x12263: 0xe0006205,\n\t0x12265: 0xe000815a,\n\t0x12268: 0xe0008b99, 0x1226a: 0xe0008b35, 0x1226b: 0xe0009009,\n\t0x1226c: 0xe00042e0, 0x1226d: 0xe000799b, 0x1226e: 0xe0008877, 0x1226f: 0xe00072e9,\n\t0x12273: 0xe0005f30,\n\t0x12275: 0xe0004f3b, 0x12277: 0xe000a1a7,\n\t0x12278: 0xe0009829, 0x12279: 0xe0007b5b,\n\t// Block 0x48a, offset 0x12280\n\t0x1228e: 0xe00041cc,\n\t0x12291: 0xe000681c,\n\t0x12294: 0xe0005857, 0x12295: 0xe0007f66,\n\t0x12298: 0xe0004d2e, 0x1229b: 0xe000911d,\n\t0x1229c: 0xe000641c, 0x1229f: 0xe0008836,\n\t0x122a4: 0xe000456c, 0x122a5: 0xe000a660, 0x122a6: 0xe0004294, 0x122a7: 0xe0006972,\n\t0x122ad: 0xe0006b99, 0x122ae: 0xe0007b5f,\n\t0x122b0: 0xe00090c1, 0x122b1: 0xe000980b,\n\t0x122b4: 0xe0005c30, 0x122b7: 0xe0004c2f,\n\t0x122bb: 0xe0009bc4,\n\t0x122bc: 0xe000a12f, 0x122be: 0xe000496a,\n\t// Block 0x48b, offset 0x122c0\n\t0x122c0: 0xe0004889, 0x122c1: 0xe0004832, 0x122c3: 0xe0006344,\n\t0x122c7: 0xe0008a2d,\n\t0x122ca: 0xe0006bc8, 0x122cb: 0xe0004c8c,\n\t0x122cc: 0xe0009c89, 0x122cd: 0xe00093bf, 0x122ce: 0xe000927e,\n\t0x122d0: 0xe0004b87, 0x122d3: 0xe00049c6,\n\t0x122e5: 0xe000a40c, 0x122e6: 0xe0007fb2, 0x122e7: 0xe000936b,\n\t0x122e8: 0xe0004a39, 0x122e9: 0xe0004482, 0x122ea: 0xe000445b,\n\t0x122ed: 0xe0006d5c,\n\t0x122f2: 0xe00048ee,\n\t0x122f9: 0xe000488c, 0x122fb: 0xe0004eaf,\n\t0x122fd: 0xe0008d19, 0x122ff: 0xe0004f6b,\n\t// Block 0x48c, offset 0x12300\n\t0x12300: 0xe0008949, 0x12302: 0xe000761b,\n\t0x12305: 0xe0008e59,\n\t0x1230a: 0xe00064fc, 0x1230b: 0xe0009c7e,\n\t0x12311: 0xe00058a5, 0x12312: 0xe00062b8, 0x12313: 0xe0005bf4,\n\t0x12314: 0xe00070c3, 0x12317: 0xe000887a,\n\t0x12319: 0xe0009efa, 0x1231b: 0xe0004ee2,\n\t0x1231e: 0xe000982c, 0x1231f: 0xe0008756,\n\t0x12321: 0xe0006051, 0x12323: 0xe0007881,\n\t0x1232b: 0xe0004611,\n\t0x12335: 0xe00096eb,\n\t0x12338: 0xe00062d8, 0x12339: 0xe00071c5, 0x1233a: 0xe000a556, 0x1233b: 0xe0004e7f,\n\t0x1233d: 0xe0008f6d,\n\t// Block 0x48d, offset 0x12340\n\t0x12343: 0xe0006540,\n\t0x12344: 0xe0004318, 0x12347: 0xe0009982,\n\t0x12348: 0xe0007ec5, 0x1234a: 0xe0005c51, 0x1234b: 0xe0004be4,\n\t0x12350: 0xe0009b38, 0x12352: 0xe000808e, 0x12353: 0xe00072ed,\n\t0x12358: 0xe0004f23, 0x12359: 0xe0005714, 0x1235a: 0xe00072c5,\n\t0x1235f: 0xe0005099,\n\t0x12361: 0xe0006ce0, 0x12362: 0xe0009ae1,\n\t0x12366: 0xe0005691,\n\t0x1236b: 0xe000a71f,\n\t0x12375: 0xe0006c14,\n\t0x1237f: 0xe0004414,\n\t// Block 0x48e, offset 0x12380\n\t0x12380: 0xe000534e,\n\t0x12384: 0xe00045b9,\n\t0x12389: 0xe0008b9d,\n\t0x1238d: 0xe000791b, 0x1238e: 0xe0004fc7,\n\t0x12390: 0xe0009614,\n\t0x12394: 0xe000548a, 0x12397: 0xe0006590,\n\t0x1239c: 0xe000a6d3, 0x1239d: 0xe0009015, 0x1239f: 0xe00041cf,\n\t0x123a0: 0xe0004761, 0x123a2: 0xe000457c, 0x123a3: 0xe000875a,\n\t0x123ae: 0xe000559c,\n\t0x123b3: 0xe0006a57,\n\t0x123b6: 0xe0007b0f,\n\t0x123bb: 0xe000a0d7,\n\t0x123bc: 0xe0008386, 0x123bf: 0xe0007b0b,\n\t// Block 0x48f, offset 0x123c0\n\t0x123c2: 0xe0005542, 0x123c3: 0xe0004e5e,\n\t0x123d3: 0xe0005a9a,\n\t0x123da: 0xe00058f5, 0x123db: 0xe0009001,\n\t0x123dc: 0xe000488f, 0x123dd: 0xe00055e5, 0x123de: 0xe0007a9f, 0x123df: 0xe0005954,\n\t0x123ea: 0xe0005958,\n\t0x123ec: 0xe0009a3a,\n\t0x123f6: 0xe000a249,\n\t0x123fb: 0xe00077e0,\n\t0x123fc: 0xe0009618,\n\t// Block 0x490, offset 0x12400\n\t0x12402: 0xe0006310, 0x12403: 0xe000936f,\n\t0x12404: 0xe00057b3,\n\t0x1240a: 0xe0004e23,\n\t0x1240c: 0xe000875e,\n\t0x12411: 0xe00092ff, 0x12412: 0xe00057b7,\n\t0x12416: 0xe0005803,\n\t0x1241e: 0xe0005a5c,\n\t0x12420: 0xe000a8eb, 0x12421: 0xe000925a, 0x12423: 0xe000a8a3,\n\t0x1242c: 0xe000a1ce,\n\t0x12432: 0xe0007f26,\n\t0x12437: 0xe000a96d,\n\t0x12438: 0xe0007790, 0x12439: 0xe0008447, 0x1243a: 0xe000509c, 0x1243b: 0xe000a7fa,\n\t0x1243d: 0xe000a8ef, 0x1243e: 0xe0004a6d, 0x1243f: 0xe000435c,\n\t// Block 0x491, offset 0x12440\n\t0x12443: 0xe0006c8c,\n\t0x12446: 0xe000a8f3, 0x12447: 0xe000a261,\n\t0x12449: 0xe0004681,\n\t0x1244c: 0xe000418d, 0x1244e: 0xe0009b6c,\n\t0x12450: 0xe0004c8f,\n\t0x12454: 0xe000a242,\n\t0x12459: 0xe000a90f, 0x1245a: 0xe0006ee8, 0x1245b: 0xe0004360,\n\t0x1245f: 0xe00079ba,\n\t0x12460: 0xe00095cc, 0x12461: 0xe000a5cc, 0x12462: 0xe000907f, 0x12463: 0xe0008ba1,\n\t0x12464: 0xe000925d, 0x12465: 0xe000668b, 0x12466: 0xe0006153, 0x12467: 0xe0005135,\n\t0x1246a: 0xe0007e6b,\n\t0x12472: 0xe000701e,\n\t0x12477: 0xe000593c,\n\t0x12478: 0xe0004e9a, 0x1247b: 0xe0006b2d,\n\t0x1247f: 0xe00060cc,\n\t// Block 0x492, offset 0x12480\n\t0x12480: 0xe0007f0a, 0x12482: 0xe0008d91, 0x12483: 0xe0007737,\n\t0x12484: 0xe0009121, 0x12486: 0xe0009c03,\n\t0x12489: 0xe00072f1, 0x1248a: 0xe00071c8,\n\t0x1248d: 0xe0009f24,\n\t0x12491: 0xe0005047,\n\t0x12496: 0xe000748d,\n\t0x12498: 0xe00086ca,\n\t0x1249e: 0xe0008092,\n\t0x124a2: 0xe00096b8,\n\t0x124a4: 0xe0006d28,\n\t0x124ab: 0xe0009b88,\n\t0x124ad: 0xe0004418, 0x124ae: 0xe00059e0, 0x124af: 0xe0006a5b,\n\t0x124b2: 0xe0006f6c, 0x124b3: 0xe0007252,\n\t0x124b5: 0xe0005352, 0x124b7: 0xe0008362,\n\t0x124ba: 0xe0006c40,\n\t0x124bc: 0xe00041f8, 0x124bd: 0xe000a763, 0x124bf: 0xe00089a5,\n\t// Block 0x493, offset 0x124c0\n\t0x124c1: 0xe000a824,\n\t0x124c4: 0xe00045d1, 0x124c5: 0xe000841a, 0x124c6: 0xe0004c92,\n\t0x124cb: 0xe0006156,\n\t0x124cd: 0xe0006054, 0x124cf: 0xe0005f18,\n\t0x124d2: 0xe00055bd, 0x124d3: 0xe00082fa,\n\t0x124d4: 0xe0006975, 0x124d6: 0xe0006978, 0x124d7: 0xe000697b,\n\t0x124d8: 0xe000697e, 0x124da: 0xe0009373, 0x124db: 0xe0006057,\n\t0x124eb: 0xe000a43c,\n\t0x124ec: 0xe0004c95, 0x124ef: 0xe000541e,\n\t0x124f3: 0xe0009985,\n\t0x124ff: 0xe0006c34,\n\t// Block 0x494, offset 0x12500\n\t0x12505: 0xe000940b,\n\t0x12508: 0xe00089a9,\n\t0x1250f: 0xe00075a5,\n\t0x12510: 0xe00088bf, 0x12511: 0xe000626c, 0x12513: 0xe0005f6c,\n\t0x1251b: 0xe00068c0,\n\t0x12523: 0xe000509f,\n\t0x12524: 0xe000853e,\n\t0x12533: 0xe0007d32,\n\t0x12534: 0xe00071cb, 0x12537: 0xe0006ab7,\n\t0x12538: 0xe0007b63,\n\t0x1253e: 0xe0006554, 0x1253f: 0xe0004e82,\n\t// Block 0x495, offset 0x12540\n\t0x12540: 0xe0008ba5, 0x12541: 0xe000900d, 0x12542: 0xe0004c98, 0x12543: 0xe0009d5c,\n\t0x1254b: 0xe00086b2,\n\t0x1254e: 0xe0006558, 0x1254f: 0xe00054f7,\n\t0x12550: 0xe0006e14, 0x12552: 0xe0005eef,\n\t0x12554: 0xe000a8db, 0x12555: 0xe0006be8, 0x12557: 0xe000a06b,\n\t0x12559: 0xe0007cd0, 0x1255a: 0xe0007c91, 0x1255b: 0xe0007529,\n\t0x1255c: 0xe0006b9c, 0x1255d: 0xe00079bd, 0x1255e: 0xe000a519, 0x1255f: 0xe00043c0,\n\t0x12560: 0xe0009082,\n\t0x12568: 0xe000495e, 0x1256a: 0xe0007e51,\n\t0x1256d: 0xe0007bf2,\n\t0x12570: 0xe0009c06, 0x12572: 0xe000500f,\n\t0x12574: 0xe0009d48, 0x12576: 0xe00061a9,\n\t0x1257a: 0xe0004639,\n\t0x1257d: 0xe00050a2, 0x1257e: 0xe0006884,\n\t// Block 0x496, offset 0x12580\n\t0x12581: 0xe0007565, 0x12582: 0xe00050a5, 0x12583: 0xe0007cfe,\n\t0x12584: 0xe00080be, 0x12585: 0xe0008116, 0x12586: 0xe000a163, 0x12587: 0xe0007a33,\n\t0x12588: 0xe0009a62, 0x12589: 0xe0009a86,\n\t0x1258c: 0xe0005601, 0x1258d: 0xe000a4a5,\n\t0x12590: 0xe00060ac, 0x12592: 0xe00060d0, 0x12593: 0xe000543a,\n\t0x12594: 0xe0005fb0, 0x12595: 0xe00061e5, 0x12596: 0xe000991e,\n\t0x12598: 0xe00069e7, 0x12599: 0xe0006b30, 0x1259a: 0xe0009085, 0x1259b: 0xe0009d6c,\n\t0x125ab: 0xe0005ea3,\n\t0x125ac: 0xe0005f33, 0x125ae: 0xe000887d,\n\t0x125b0: 0xe0009b3c, 0x125b1: 0xe0009ae4, 0x125b3: 0xe0009fff,\n\t0x125b8: 0xe0006981, 0x125b9: 0xe0008251, 0x125bb: 0xe00099bd,\n\t0x125bc: 0xe0007060, 0x125bd: 0xe0004835, 0x125be: 0xe00095e8, 0x125bf: 0xe0007a37,\n\t// Block 0x497, offset 0x125c0\n\t0x125c1: 0xe000a664, 0x125c2: 0xe000a395,\n\t0x125c4: 0xe0006f1c, 0x125c5: 0xe0007255, 0x125c6: 0xe000857a,\n\t0x125c9: 0xe0009514, 0x125ca: 0xe00062dc,\n\t0x125cc: 0xe0009f95,\n\t0x125d0: 0xe0005cb4, 0x125d1: 0xe00082ae, 0x125d3: 0xe000a51d,\n\t0x125d4: 0xe0004364, 0x125d5: 0xe0006578, 0x125d7: 0xe0006b33,\n\t0x125d9: 0xe0009e28, 0x125da: 0xe000862f, 0x125db: 0xe000655c,\n\t0x125dc: 0xe00090c4, 0x125dd: 0xe00070c6,\n\t0x125e0: 0xe0005a60, 0x125e1: 0xe0009e86, 0x125e2: 0xe0009cdf, 0x125e3: 0xe00083de,\n\t0x125e5: 0xe00052fc,\n\t0x125e8: 0xe0008ec2, 0x125eb: 0xe000a2ad,\n\t0x125ee: 0xe0006348, 0x125ef: 0xe0006270,\n\t0x125f0: 0xe0009c09, 0x125f1: 0xe000774b, 0x125f3: 0xe0007b67,\n\t// Block 0x498, offset 0x12600\n\t0x12604: 0xe000a6fa, 0x12607: 0xe0008542,\n\t0x1260a: 0xe0009558, 0x1260b: 0xe0007885,\n\t0x1260c: 0xe00059c0,\n\t0x12611: 0xe000668e, 0x12612: 0xe0007033,\n\t0x12617: 0xe0007021,\n\t0x12619: 0xe00071ce, 0x1261b: 0xe0005787,\n\t0x1261e: 0xe0005655, 0x1261f: 0xe00084b0,\n\t0x12625: 0xe0009125, 0x12627: 0xe0008254,\n\t0x12629: 0xe0006f20, 0x1262a: 0xe000a521, 0x1262b: 0xe000a28d,\n\t0x1262c: 0xe0007114, 0x1262e: 0xe000559f,\n\t0x12632: 0xe0008ec5,\n\t0x12635: 0xe00072f5, 0x12636: 0xe000a88b,\n\t0x12638: 0xe0004b15, 0x12639: 0xe000811a, 0x1263a: 0xe000602c, 0x1263b: 0xe000a624,\n\t0x1263c: 0xe0007dca, 0x1263d: 0xe000a903, 0x1263e: 0xe0009ce2,\n\t// Block 0x499, offset 0x12640\n\t0x12641: 0xe0005c33,\n\t0x12659: 0xe0008ab5, 0x1265a: 0xe0008f71,\n\t0x1265c: 0xe0006a5f,\n\t0x12661: 0xe00063d8, 0x12663: 0xe0007ded,\n\t0x12664: 0xe0004bb6, 0x12665: 0xe00083ee, 0x12666: 0xe0009e89, 0x12667: 0xe0007bbf,\n\t0x12669: 0xe000a43f, 0x1266a: 0xe000583f,\n\t0x1266c: 0xe0005d03, 0x1266e: 0xe00067bf,\n\t0x12674: 0xe0007f2a, 0x12677: 0xe000a1aa,\n\t0x12678: 0xe0009a66, 0x12679: 0xe000a349,\n\t0x1267f: 0xe0009d6f,\n\t// Block 0x49a, offset 0x12680\n\t0x12682: 0xe00055a2,\n\t0x12685: 0xe0007ac3, 0x12687: 0xe00046e5,\n\t0x12688: 0xe0007063, 0x12689: 0xe0006fa4,\n\t0x1268c: 0xe0007f6a, 0x1268d: 0xe000a748, 0x1268e: 0xe0007a3b,\n\t0x12691: 0xe00070fc, 0x12693: 0xe0007a3f,\n\t0x12694: 0xe00086fa, 0x12695: 0xe000969a, 0x12696: 0xe0005d3f,\n\t0x126aa: 0xe000681f, 0x126ab: 0xe0004a9d,\n\t0x126af: 0xe0007769,\n\t0x126b2: 0xe00077c0,\n\t0x126b4: 0xe0007e39, 0x126b5: 0xe000a0db, 0x126b7: 0xe0005695,\n\t0x126b8: 0xe000a7a5,\n\t0x126bc: 0xe00058d1, 0x126bf: 0xe0009b40,\n\t// Block 0x49b, offset 0x126c0\n\t0x126c0: 0xe0008ba9, 0x126c3: 0xe0004e27,\n\t0x126c4: 0xe00099c0, 0x126c5: 0xe0006e18, 0x126c6: 0xe000a74b, 0x126c7: 0xe00050a8,\n\t0x126c8: 0xe0004de3, 0x126cb: 0xe0005db5,\n\t0x126cf: 0xe000a442,\n\t0x126d1: 0xe0007299, 0x126d2: 0xe0009491,\n\t0x126d6: 0xe00052c3,\n\t0x126d8: 0xe0005545, 0x126d9: 0xe0008e1d, 0x126da: 0xe0005bf7,\n\t0x126dd: 0xe00069ea, 0x126de: 0xe0007154,\n\t0x126e0: 0xe00069ed, 0x126e1: 0xe00053da, 0x126e2: 0xe0007a07,\n\t0x126e4: 0xe0007909, 0x126e5: 0xe0005b12, 0x126e6: 0xe0004368,\n\t0x126e8: 0xe0008bad, 0x126ea: 0xe0005c7c, 0x126eb: 0xe00083b2,\n\t0x126ec: 0xe0007388, 0x126ee: 0xe000a6d6,\n\t0x126f1: 0xe0007569, 0x126f3: 0xe00072f9,\n\t0x126f5: 0xe0007a43, 0x126f6: 0xe000587b, 0x126f7: 0xe000a4dd,\n\t0x126f8: 0xe000966c, 0x126f9: 0xe000797b, 0x126fa: 0xe0009518, 0x126fb: 0xe00095ec,\n\t0x126fc: 0xe000612c,\n\t// Block 0x49c, offset 0x12700\n\t0x12717: 0xe0006c58,\n\t0x12719: 0xe000a5d8, 0x1271a: 0xe0008880, 0x1271b: 0xe000431c,\n\t0x1271d: 0xe0009cb0, 0x1271f: 0xe0008bb1,\n\t0x12720: 0xe00044ca, 0x12721: 0xe0005548, 0x12723: 0xe0006b36,\n\t0x12724: 0xe00063b4, 0x12725: 0xe000761f, 0x12726: 0xe0007da6,\n\t0x12728: 0xe0007e8c, 0x1272b: 0xe0006f24,\n\t0x1272c: 0xe0009998, 0x1272d: 0xe00081b8, 0x1272f: 0xe000a167,\n\t0x12732: 0xe0006e74,\n\t0x12734: 0xe00042c0, 0x12736: 0xe0007b6b, 0x12737: 0xe0007aa3,\n\t0x12738: 0xe0008257, 0x1273a: 0xe000611d,\n\t0x1273c: 0xe0006208, 0x1273d: 0xe0008812, 0x1273e: 0xe000a4e1,\n\t// Block 0x49d, offset 0x12740\n\t0x12743: 0xe00064a1,\n\t0x12744: 0xe000620b, 0x12745: 0xe00059a0,\n\t0x1274a: 0xe0008ec8,\n\t0x1274d: 0xe0005356, 0x1274e: 0xe0005fd0,\n\t0x12751: 0xe0006de6, 0x12753: 0xe00068c4,\n\t0x12754: 0xe0008a31, 0x12756: 0xe000a445,\n\t0x12758: 0xe0006ce4, 0x1275b: 0xe00053de,\n\t0x1275c: 0xe0007491, 0x1275e: 0xe0008bb5, 0x1275f: 0xe000a668,\n\t0x12763: 0xe0006290,\n\t0x12767: 0xe0007f6e,\n\t0x1276b: 0xe000982f,\n\t0x1276e: 0xe000850e, 0x1276f: 0xe0009bdc,\n\t0x12772: 0xe000811e, 0x12773: 0xe00051f0,\n\t0x1277a: 0xe0006691,\n\t// Block 0x49e, offset 0x12780\n\t0x1278f: 0xe000548e,\n\t0x12790: 0xe0008122,\n\t0x12795: 0xe00060ec, 0x12796: 0xe0008f75,\n\t0x12798: 0xe000a133,\n\t0x1279c: 0xe0005c36, 0x1279d: 0xe0004c9b, 0x1279f: 0xe0006008,\n\t0x127a2: 0xe000856a,\n\t0x127a5: 0xe00067c2, 0x127a7: 0xe0005c9c,\n\t0x127aa: 0xe00047ba, 0x127ab: 0xe0007d0e,\n\t0x127af: 0xe0007066,\n\t0x127b1: 0xe0009129, 0x127b2: 0xe0007258,\n\t0x127b5: 0xe000838a, 0x127b6: 0xe0007f72, 0x127b7: 0xe000a4f5,\n\t0x127ba: 0xe0005315,\n\t0x127bd: 0xe0007f3a,\n\t// Block 0x49f, offset 0x127c0\n\t0x127c2: 0xe0006420, 0x127c3: 0xe0007d8a,\n\t0x127c4: 0xe00093c3, 0x127c5: 0xe0005fe0,\n\t0x127c8: 0xe000a4a8, 0x127c9: 0xe000a66c, 0x127cb: 0xe00085f0,\n\t0x127cc: 0xe00094c0, 0x127ce: 0xe000a399,\n\t0x127d1: 0xe000a628, 0x127d3: 0xe0008815,\n\t0x127d4: 0xe000554b, 0x127d5: 0xe000573c,\n\t0x127d9: 0xe000a6fd,\n\t0x127ec: 0xe000a4ab, 0x127ed: 0xe0009fb9, 0x127ef: 0xe000969d,\n\t0x127f4: 0xe0008901, 0x127f5: 0xe00062bc, 0x127f7: 0xe0005ac7,\n\t0x127f8: 0xe000a448,\n\t0x127fe: 0xe0004916, 0x127ff: 0xe0005e4b,\n\t// Block 0x4a0, offset 0x12800\n\t0x12801: 0xe00078ee, 0x12802: 0xe0009efd,\n\t0x12804: 0xe0007793, 0x12806: 0xe0009a52,\n\t0x12809: 0xe0005b16,\n\t0x1280c: 0xe0004fa3, 0x1280f: 0xe0005bfa,\n\t0x12811: 0xe000445e, 0x12813: 0xe0005d42,\n\t0x12814: 0xe0007a47, 0x12815: 0xe0008d1c,\n\t0x12819: 0xe0005386, 0x1281a: 0xe0004d31,\n\t0x12820: 0xe0005e0f, 0x12822: 0xe000a06f, 0x12823: 0xe0005974,\n\t0x1282a: 0xe000844a, 0x1282b: 0xe0005e4f,\n\t0x1282c: 0xe0009088, 0x1282d: 0xe0005ef3,\n\t0x12830: 0xe0006940, 0x12831: 0xe00071d1, 0x12832: 0xe00093c7, 0x12833: 0xe00087ca,\n\t0x12838: 0xe0008ae1,\n\t0x1283c: 0xe000980e, 0x1283e: 0xe00078bd, 0x1283f: 0xe0008762,\n\t// Block 0x4a1, offset 0x12840\n\t0x12841: 0xe0007b6f,\n\t0x1284f: 0xe000833a,\n\t0x12851: 0xe00063b8,\n\t0x12854: 0xe000463d, 0x12857: 0xe000920d,\n\t0x12858: 0xe000634c, 0x12859: 0xe0004ee5, 0x1285a: 0xe000729d, 0x1285b: 0xe00086ea,\n\t0x1285c: 0xe00086fe, 0x1285d: 0xe000a913, 0x1285e: 0xe0005a9d, 0x1285f: 0xe0006e1c,\n\t0x12861: 0xe0005619, 0x12862: 0xe000a670,\n\t0x12864: 0xe0008316, 0x12866: 0xe0005bcb,\n\t0x1286d: 0xe00053e2, 0x1286e: 0xe0008d1f, 0x1286f: 0xe0007581,\n\t0x12870: 0xe0004e61,\n\t0x12874: 0xe00088c2,\n\t0x12878: 0xe0006c18, 0x1287a: 0xe00086ce,\n\t0x1287c: 0xe0005659, 0x1287d: 0xe0006694, 0x1287e: 0xe0005d61,\n\t// Block 0x4a2, offset 0x12880\n\t0x12881: 0xe0006c78, 0x12882: 0xe0009235,\n\t0x12884: 0xe0009231, 0x12886: 0xe0007f0d,\n\t0x12888: 0xe00095a4, 0x12889: 0xe000436c, 0x1288b: 0xe000a727,\n\t0x1288c: 0xe000745a, 0x1288d: 0xe0008ecb, 0x1288e: 0xe0009d94,\n\t0x12890: 0xe0008096, 0x12892: 0xe000a53d,\n\t0x12894: 0xe000a44b, 0x12897: 0xe0004258,\n\t0x12898: 0xe0006c1c,\n\t0x1289f: 0xe0005cc4,\n\t0x128a1: 0xe0008d94, 0x128a3: 0xe000a073,\n\t0x128a4: 0xe0009c37, 0x128a7: 0xe0005a7f,\n\t0x128a8: 0xe0006de9,\n\t0x128ae: 0xe000a6d9, 0x128af: 0xe00092b3,\n\t0x128b1: 0xe00089ad, 0x128b3: 0xe0007c94,\n\t0x128b6: 0xe0008a35,\n\t0x128b9: 0xe00053e6,\n\t0x128be: 0xe00053a2,\n\t// Block 0x4a3, offset 0x128c0\n\t0x128c0: 0xe00045bd, 0x128c1: 0xe0009b1c, 0x128c2: 0xe00059e4, 0x128c3: 0xe0005295,\n\t0x128c6: 0xe00068c8, 0x128c7: 0xe0006d60,\n\t0x128c9: 0xe000725b, 0x128ca: 0xe0007bf5,\n\t0x128d5: 0xe000739e,\n\t0x128d8: 0xe000526d, 0x128da: 0xe0007b73, 0x128db: 0xe00060f0,\n\t0x128de: 0xe00069f0, 0x128df: 0xe0008c8c,\n\t0x128e0: 0xe000a44e, 0x128e1: 0xe000825a,\n\t0x128e4: 0xe000554e,\n\t0x128e9: 0xe000a451, 0x128eb: 0xe0005807,\n\t0x128ec: 0xe0008f79, 0x128ee: 0xe0006711, 0x128ef: 0xe0009b20,\n\t0x128f1: 0xe0006a63, 0x128f3: 0xe0008702,\n\t0x128f4: 0xe0007bc3,\n\t0x128fa: 0xe000955c,\n\t0x128fe: 0xe00058f8,\n\t// Block 0x4a4, offset 0x12900\n\t0x12901: 0xe0007889,\n\t0x12905: 0xe000a39d, 0x12906: 0xe00055c1, 0x12907: 0xe0007e5d,\n\t0x12909: 0xe0006b39, 0x1290b: 0xe000756d,\n\t0x1290f: 0xe0005c39,\n\t0x12911: 0xe0009ee3, 0x12912: 0xe0006d64, 0x12913: 0xe0009239,\n\t0x12915: 0xe0006a67,\n\t0x12918: 0xe0005aa0, 0x1291a: 0xe000a077, 0x1291b: 0xe0007b77,\n\t0x1291c: 0xe0008346, 0x1291d: 0xe0005940, 0x1291e: 0xe0008bb9, 0x1291f: 0xe0007069,\n\t0x12923: 0xe000a1ad,\n\t0x12926: 0xe00088c5, 0x12927: 0xe0005b36,\n\t0x12928: 0xe0005b65,\n\t0x1292f: 0xe0007b7b,\n\t0x12930: 0xe000623b, 0x12932: 0xe00059f0,\n\t0x12937: 0xe00084c2,\n\t0x12938: 0xe000961c,\n\t0x1293c: 0xe00078c1, 0x1293e: 0xe00057bb,\n\t// Block 0x4a5, offset 0x12940\n\t0x12944: 0xe0006fb4,\n\t0x1294c: 0xe0004a71, 0x1294e: 0xe0007b13,\n\t0x12950: 0xe000a3a1, 0x12951: 0xe0007177, 0x12953: 0xe00057d7,\n\t0x12958: 0xe0009b70,\n\t0x1295d: 0xe000a454, 0x1295e: 0xe0009d06,\n\t0x12963: 0xe0005e53,\n\t0x12969: 0xe0007b17, 0x1296b: 0xe000a559,\n\t0x1296f: 0xe0008c49,\n\t0x12970: 0xe000a6dc,\n\t0x12978: 0xe0004c9e,\n\t0x1297c: 0xe0008682, 0x1297d: 0xe0008818, 0x1297e: 0xe0008839,\n\t// Block 0x4a6, offset 0x12980\n\t0x12981: 0xe0005138,\n\t0x12985: 0xe00046e9, 0x12986: 0xe00061d9,\n\t0x1298a: 0xe0009964,\n\t0x1298e: 0xe0007adb,\n\t0x12992: 0xe00096ee,\n\t0x12995: 0xe000a183,\n\t0x12998: 0xe000a8a7, 0x12999: 0xe00085f3, 0x1299a: 0xe0004b19,\n\t0x129a1: 0xe0008bbd,\n\t0x129a4: 0xe000706c,\n\t0x129ab: 0xe000a2b1,\n\t0x129ac: 0xe00044cd, 0x129ad: 0xe0009b74, 0x129ae: 0xe0009ebf, 0x129af: 0xe000a3a5,\n\t0x129b0: 0xe0009ec2, 0x129b3: 0xe000663c,\n\t0x129b7: 0xe0008ece,\n\t0x129b8: 0xe0008686, 0x129b9: 0xe0008ae5,\n\t// Block 0x4a7, offset 0x129c0\n\t0x129c8: 0xe00059c4, 0x129ca: 0xe00078c5, 0x129cb: 0xe000a857,\n\t0x129cf: 0xe0007c97,\n\t0x129d3: 0xe00047e4,\n\t0x129d8: 0xe000a525, 0x129d9: 0xe000578b,\n\t0x129dc: 0xe000a812, 0x129dd: 0xe000902d, 0x129df: 0xe0007a4b,\n\t0x129f1: 0xe00046ed,\n\t0x129f9: 0xe0009d98,\n\t0x129fd: 0xe000674d,\n\t// Block 0x4a8, offset 0x12a00\n\t0x12a04: 0xe000a7ca,\n\t0x12a09: 0xe0007933,\n\t0x12a0c: 0xe0008f7d,\n\t0x12a19: 0xe00064a4, 0x12a1a: 0xe0006888,\n\t0x12a1c: 0xe000a4f9, 0x12a1e: 0xe0005605,\n\t0x12a20: 0xe000738b, 0x12a21: 0xe0006159,\n\t0x12a26: 0xe00096f1,\n\t0x12a2d: 0xe0004769, 0x12a2e: 0xe000a8bb, 0x12a2f: 0xe00086b6,\n\t0x12a30: 0xe0007adf, 0x12a31: 0xe000a291,\n\t0x12a36: 0xe0007a4f,\n\t// Block 0x4a9, offset 0x12a40\n\t0x12a46: 0xe000a023, 0x12a47: 0xe000a83f,\n\t0x12a49: 0xe0005978, 0x12a4a: 0xe000a80a,\n\t0x12a4c: 0xe000a674, 0x12a4e: 0xe00089b1,\n\t0x12a50: 0xe0007b7f, 0x12a52: 0xe00081eb,\n\t0x12a56: 0xe00051c4, 0x12a57: 0xe00051d0,\n\t0x12a59: 0xe0007a53,\n\t0x12a5c: 0xe0008076, 0x12a5e: 0xe0006c44,\n\t0x12a62: 0xe0004765,\n\t0x12a64: 0xe0005f1b, 0x12a65: 0xe000a5dc, 0x12a66: 0xe000a790, 0x12a67: 0xe0008d22,\n\t0x12a68: 0xe0007e8f, 0x12a69: 0xe0006500,\n\t0x12a6c: 0xe000788d, 0x12a6e: 0xe00085f6,\n\t0x12a7d: 0xe0006e78,\n\t// Block 0x4aa, offset 0x12a80\n\t0x12a80: 0xe0007b3b,\n\t0x12a84: 0xe0007495, 0x12a85: 0xe0007d36, 0x12a87: 0xe000a766,\n\t0x12a89: 0xe000809a, 0x12a8a: 0xe00080de,\n\t0x12a8f: 0xe000a7ce,\n\t0x12a92: 0xe000a3a9,\n\t0x12a94: 0xe0007f76,\n\t0x12a99: 0xe000a946, 0x12a9b: 0xe0009f27,\n\t0x12a9f: 0xe00072a1,\n\t0x12aa0: 0xe00073b6, 0x12aa2: 0xe0006751,\n\t0x12aa4: 0xe00084de,\n\t0x12aa8: 0xe00081ee,\n\t0x12aac: 0xe0007c9a, 0x12aaf: 0xe0006eec,\n\t0x12ab1: 0xe0007ac7, 0x12ab2: 0xe000476d,\n\t0x12ab9: 0xe000a949, 0x12aba: 0xe000a94c,\n\t0x12abe: 0xe00099c3,\n\t// Block 0x4ab, offset 0x12ac0\n\t0x12ac1: 0xe0007b2f, 0x12ac3: 0xe0007a57,\n\t0x12ac8: 0xe0005718, 0x12ac9: 0xe0005609, 0x12acb: 0xe0009748,\n\t0x12ace: 0xe0005baa,\n\t0x12ad0: 0xe0005d65, 0x12ad2: 0xe000706f,\n\t0x12ad4: 0xe0006504, 0x12ad5: 0xe0007a5b, 0x12ad6: 0xe0007585,\n\t0x12ad9: 0xe0009be4,\n\t0x12adf: 0xe0007b83,\n\t0x12ae0: 0xe0008086,\n\t0x12ae5: 0xe0008d25, 0x12ae6: 0xe00092b7, 0x12ae7: 0xe00071d4,\n\t0x12aec: 0xe000a827, 0x12aed: 0xe0009780, 0x12aee: 0xe0006fa8,\n\t0x12af9: 0xe000a970, 0x12afb: 0xe000a7d2,\n\t0x12afc: 0xe00074e1, 0x12afe: 0xe0005551, 0x12aff: 0xe0007ec8,\n\t// Block 0x4ac, offset 0x12b00\n\t0x12b00: 0xe000a27d,\n\t0x12b06: 0xe0009ee7, 0x12b07: 0xe0006f54,\n\t0x12b0b: 0xe000a7e6,\n\t0x12b0c: 0xe0004b3d, 0x12b0d: 0xe0006bcc,\n\t0x12b10: 0xe0005aa3,\n\t0x12b14: 0xe000a973, 0x12b17: 0xe0007b3f,\n\t0x12b1a: 0xe000783d, 0x12b1b: 0xe00057bf,\n\t0x12b1f: 0xe0004aa1,\n\t0x12b25: 0xe0009794,\n\t0x12b28: 0xe0009303, 0x12b2a: 0xe0008d28,\n\t0x12b2c: 0xe0009ce5, 0x12b2d: 0xe000883f,\n\t0x12b30: 0xe0008126, 0x12b32: 0xe00081bb,\n\t0x12b35: 0xe000868a, 0x12b36: 0xe00067c5,\n\t0x12b38: 0xe0009d09, 0x12b39: 0xe0005327, 0x12b3a: 0xe0007815, 0x12b3b: 0xe000a74e,\n\t0x12b3d: 0xe0006ce8, 0x12b3e: 0xe0008474,\n\t// Block 0x4ad, offset 0x12b40\n\t0x12b40: 0xe0006cec, 0x12b42: 0xe00087ce,\n\t0x12b46: 0xe0008766, 0x12b47: 0xe0009dc0,\n\t0x12b48: 0xe0009d30, 0x12b4b: 0xe0008a39,\n\t0x12b4c: 0xe0009d72,\n\t0x12b52: 0xe0009638, 0x12b53: 0xe0006474,\n\t0x12b54: 0xe0006314, 0x12b56: 0xe00082b1,\n\t0x12b58: 0xe00055c5, 0x12b59: 0xe00075bd, 0x12b5a: 0xe0009c43, 0x12b5b: 0xe0007fed,\n\t0x12b5d: 0xe0006a6b, 0x12b5f: 0xe000605a,\n\t0x12b61: 0xe000605d, 0x12b62: 0xe0005b68,\n\t0x12b67: 0xe00060b0,\n\t0x12b69: 0xe00061e9,\n\t0x12b6f: 0xe0004892,\n\t0x12b72: 0xe0006d68,\n\t0x12b74: 0xe00088c8,\n\t0x12b78: 0xe0008632, 0x12b79: 0xe0009cbe,\n\t0x12b7d: 0xe00045e9,\n\t// Block 0x4ae, offset 0x12b80\n\t0x12b80: 0xe0006dad, 0x12b81: 0xe0005d06,\n\t0x12b87: 0xe00068cc,\n\t0x12b8d: 0xe0004540,\n\t0x12b92: 0xe000a4ae,\n\t0x12b96: 0xe00057a7,\n\t0x12ba2: 0xe00055c9,\n\t0x12ba7: 0xe000a94f,\n\t0x12bac: 0xe00045ed, 0x12baf: 0xe0006560,\n\t0x12bb3: 0xe00086ba,\n\t0x12bb4: 0xe000768f, 0x12bb5: 0xe000a980,\n\t// Block 0x4af, offset 0x12bc0\n\t0x12bc0: 0xe0006cf0, 0x12bc2: 0xe0004b1d,\n\t0x12bc4: 0xe0008905,\n\t0x12bc9: 0xe00069f3,\n\t0x12bce: 0xe000771f,\n\t0x12bd0: 0xe000a457, 0x12bd2: 0xe00069f6,\n\t0x12bd7: 0xe0004ca1,\n\t0x12bd9: 0xe0008883,\n\t0x12be1: 0xe0004be7, 0x12be2: 0xe000a043,\n\t0x12be5: 0xe0007341,\n\t0x12be8: 0xe0008352, 0x12be9: 0xe00071d7,\n\t0x12bf4: 0xe0009e59, 0x12bf7: 0xe0004615,\n\t0x12bf8: 0xe0005d09, 0x12bf9: 0xe000a34d, 0x12bfa: 0xe000838e, 0x12bfb: 0xe0006c20,\n\t0x12bfc: 0xe0005843, 0x12bfd: 0xe0009d75,\n\t// Block 0x4b0, offset 0x12c00\n\t0x12c09: 0xe000513b, 0x12c0a: 0xe0007bf8,\n\t0x12c13: 0xe0004a1d,\n\t0x12c16: 0xe00093cb, 0x12c17: 0xe000844d,\n\t0x12c18: 0xe0008cbf, 0x12c19: 0xe0008853, 0x12c1b: 0xe0005f70,\n\t0x12c1c: 0xe000741e, 0x12c1d: 0xe0008e01,\n\t0x12c22: 0xe000a4b1,\n\t0x12c25: 0xe0007e7d, 0x12c27: 0xe0007dcd,\n\t0x12c28: 0xe000815e, 0x12c29: 0xe0006fe8, 0x12c2a: 0xe0008886, 0x12c2b: 0xe0006120,\n\t0x12c31: 0xe000528c,\n\t0x12c34: 0xe000a7a8, 0x12c36: 0xe000825d, 0x12c37: 0xe0008260,\n\t0x12c3e: 0xe000a62c, 0x12c3f: 0xe000812a,\n\t// Block 0x4b1, offset 0x12c40\n\t0x12c43: 0xe0007796,\n\t0x12c44: 0xe0007d02, 0x12c45: 0xe0006b3c,\n\t0x12c50: 0xe000876a, 0x12c52: 0xe0007c9d,\n\t0x12c57: 0xe0004e4b,\n\t0x12c58: 0xe0009e5c,\n\t0x12c5c: 0xe0005d89,\n\t0x12c60: 0xe0005bce,\n\t0x12c68: 0xe00055cd, 0x12c69: 0xe0007c2e, 0x12c6a: 0xe000a6df, 0x12c6b: 0xe000a271,\n\t0x12c6c: 0xe000a1d1, 0x12c6f: 0xe000a7ea,\n\t0x12c70: 0xe0007b87, 0x12c72: 0xe000a713,\n\t0x12c75: 0xe00059f8, 0x12c77: 0xe0004b41,\n\t0x12c78: 0xe00071da, 0x12c7a: 0xe00053a6, 0x12c7b: 0xe000a24d,\n\t0x12c7c: 0xe000623e,\n\t// Block 0x4b2, offset 0x12c80\n\t0x12c81: 0xe000a275,\n\t0x12c84: 0xe000a2b5, 0x12c86: 0xe00085f9, 0x12c87: 0xe000713c,\n\t0x12c88: 0xe0005aca, 0x12c89: 0xe0007d06, 0x12c8b: 0xe0007e55,\n\t0x12c8e: 0xe0008bc1,\n\t0x12c94: 0xe000951c, 0x12c95: 0xe0004298, 0x12c96: 0xe0004ca4, 0x12c97: 0xe0007ff0,\n\t0x12c98: 0xe00050ab,\n\t0x12c9e: 0xe0006822, 0x12c9f: 0xe0006274,\n\t0x12ca0: 0xe0004485,\n\t0x12ca6: 0xe000464d, 0x12ca7: 0xe000831a,\n\t0x12ca9: 0xe0007df1, 0x12cab: 0xe0005f36,\n\t0x12cad: 0xe0006a6f,\n\t0x12cb2: 0xe0005a1c, 0x12cb3: 0xe00054dc,\n\t0x12cb7: 0xe0008b01,\n\t0x12cb9: 0xe000a2b9, 0x12cbb: 0xe0009d0c,\n\t// Block 0x4b3, offset 0x12cc0\n\t0x12cc0: 0xe00062e0, 0x12cc2: 0xe0004190,\n\t0x12cc6: 0xe00084b3,\n\t0x12cc8: 0xe00041d2, 0x12cc9: 0xe0006278, 0x12cca: 0xe0006bec,\n\t0x12ccc: 0xe0009f99, 0x12ccd: 0xe000912d, 0x12ccf: 0xe00041fc,\n\t0x12cd2: 0xe0009191,\n\t0x12cd6: 0xe0004b21,\n\t0x12cd9: 0xe00049a2,\n\t0x12cdd: 0xe000a793, 0x12cde: 0xe000578f,\n\t0x12ce0: 0xe0008ed1, 0x12ce2: 0xe0008392, 0x12ce3: 0xe00072fd,\n\t0x12ce4: 0xe0006697, 0x12ce5: 0xe0008477, 0x12ce6: 0xe000a21a,\n\t0x12ce9: 0xe000a3ad, 0x12cea: 0xe0004eb2, 0x12ceb: 0xe0009936,\n\t0x12ced: 0xe0006350, 0x12cee: 0xe0009d87,\n\t0x12cf5: 0xe0008c4d, 0x12cf7: 0xe000615c,\n\t0x12cf9: 0xe0006fec,\n\t0x12cfd: 0xe0008bc5, 0x12cfe: 0xe000a2bd,\n\t// Block 0x4b4, offset 0x12d00\n\t0x12d01: 0xe0006e7c, 0x12d03: 0xe0004ca7,\n\t0x12d04: 0xe000a2f5, 0x12d05: 0xe0005847, 0x12d06: 0xe0005d0c, 0x12d07: 0xe00071dd,\n\t0x12d09: 0xe0005c3c,\n\t0x12d13: 0xe0007df5,\n\t0x12d1b: 0xe0009a6a,\n\t0x12d20: 0xe00089b5, 0x12d21: 0xe00072a5, 0x12d22: 0xe0009b24,\n\t0x12d24: 0xe0008857, 0x12d25: 0xe000a45a, 0x12d26: 0xe00050ae,\n\t0x12d28: 0xe000491a, 0x12d2a: 0xe00050b1, 0x12d2b: 0xe0006755,\n\t0x12d2c: 0xe0007df9, 0x12d2e: 0xe0008e21, 0x12d2f: 0xe0004a75,\n\t0x12d30: 0xe0007ae3, 0x12d31: 0xe0008d97, 0x12d32: 0xe00064ce, 0x12d33: 0xe0005db9,\n\t0x12d34: 0xe0004fcb, 0x12d35: 0xe0006984, 0x12d36: 0xe0009ce8,\n\t0x12d38: 0xe0009b28, 0x12d3a: 0xe000657c,\n\t0x12d3f: 0xe000a4e5,\n\t// Block 0x4b5, offset 0x12d40\n\t0x12d40: 0xe0007ff3, 0x12d41: 0xe0006060, 0x12d43: 0xe0009902,\n\t0x12d44: 0xe0006e80, 0x12d45: 0xe0008cc2, 0x12d46: 0xe0007010,\n\t0x12d4b: 0xe00081be,\n\t0x12d4e: 0xe000a1d4,\n\t0x12d55: 0xe000a002, 0x12d57: 0xe000812e,\n\t0x12d59: 0xe000527d, 0x12d5a: 0xe000a45d, 0x12d5b: 0xe0007b8b,\n\t0x12d5c: 0xe0008263, 0x12d5d: 0xe000a6a8, 0x12d5e: 0xe0006db0, 0x12d5f: 0xe000738e,\n\t0x12d60: 0xe0005c3f, 0x12d62: 0xe0007f7a, 0x12d63: 0xe0007186,\n\t0x12d64: 0xe0007ecb, 0x12d65: 0xe0007d12,\n\t0x12d68: 0xe0009131, 0x12d69: 0xe000a3b1, 0x12d6a: 0xe0005de0,\n\t0x12d6d: 0xe0005492, 0x12d6f: 0xe000584b,\n\t0x12d70: 0xe0004b96, 0x12d71: 0xe0008a3d, 0x12d72: 0xe000940f, 0x12d73: 0xe0009281,\n\t0x12d7d: 0xe0008e5d, 0x12d7e: 0xe0004f6f,\n\t// Block 0x4b6, offset 0x12d80\n\t0x12d80: 0xe0009811, 0x12d82: 0xe00050b4, 0x12d83: 0xe0005d0f,\n\t0x12d86: 0xe0004d34, 0x12d87: 0xe0006e84,\n\t0x12d89: 0xe000597c, 0x12d8a: 0xe00061dd, 0x12d8b: 0xe000876e,\n\t0x12d98: 0xe0005d69,\n\t0x12d9c: 0xe000a678, 0x12d9d: 0xe0004b99, 0x12d9e: 0xe00062e4, 0x12d9f: 0xe00046f1,\n\t0x12da1: 0xe0009135, 0x12da3: 0xe00050b7,\n\t0x12da5: 0xe00046f5, 0x12da7: 0xe0006594,\n\t0x12da8: 0xe00092bb, 0x12daa: 0xe0008d2b, 0x12dab: 0xe0005496,\n\t0x12db0: 0xe000a5e0, 0x12db2: 0xe00071e0,\n\t0x12db5: 0xe00079c0,\n\t0x12db9: 0xe00072a9,\n\t0x12dbd: 0xe0006d43, 0x12dbf: 0xe0006e88,\n\t// Block 0x4b7, offset 0x12dc0\n\t0x12dc6: 0xe00091c5,\n\t0x12dca: 0xe00046f9,\n\t0x12dcf: 0xe0005b3a,\n\t0x12dd4: 0xe0007b8f,\n\t0x12dd8: 0xe0004a79, 0x12dda: 0xe00092bf, 0x12ddb: 0xe000a600,\n\t0x12ddc: 0xe00049f3,\n\t0x12de0: 0xe000a460, 0x12de2: 0xe0009f00, 0x12de3: 0xe0009d34,\n\t0x12de6: 0xe0007da9,\n\t0x12de9: 0xe0009560,\n\t0x12dee: 0xe0007d66,\n\t0x12df2: 0xe0009c5e,\n\t0x12df7: 0xe00085fc,\n\t// Block 0x4b8, offset 0x12e00\n\t0x12e01: 0xe0006640, 0x12e03: 0xe000987a,\n\t0x12e04: 0xe00045f1,\n\t0x12e0c: 0xe0004d37, 0x12e0d: 0xe0005f84, 0x12e0e: 0xe0008a41,\n\t0x12e11: 0xe0009031, 0x12e13: 0xe00065b0,\n\t0x12e15: 0xe0007d6a,\n\t0x12e18: 0xe0004320, 0x12e1a: 0xe0007571, 0x12e1b: 0xe00095f0,\n\t0x12e1e: 0xe0006d2c, 0x12e1f: 0xe0006d6c,\n\t0x12e23: 0xe0006bf0,\n\t0x12e25: 0xe0006d70, 0x12e26: 0xe0007072,\n\t0x12e28: 0xe0007f7e, 0x12e2b: 0xe000669a,\n\t0x12e2c: 0xe0007f82,\n\t0x12e30: 0xe00089b9, 0x12e31: 0xe0008266, 0x12e32: 0xe0004388, 0x12e33: 0xe00074e5,\n\t0x12e37: 0xe00051f4,\n\t0x12e38: 0xe00089bd, 0x12e3a: 0xe0008bc9,\n\t0x12e3f: 0xe0005f88,\n\t// Block 0x4b9, offset 0x12e40\n\t0x12e47: 0xe0004f0b,\n\t0x12e4a: 0xe0004771, 0x12e4b: 0xe0008a45,\n\t0x12e4c: 0xe00047bd, 0x12e4e: 0xe0004619, 0x12e4f: 0xe0007e80,\n\t0x12e51: 0xe00089c1, 0x12e53: 0xe000543e,\n\t0x12e54: 0xe0006354,\n\t0x12e59: 0xe0005c42, 0x12e5a: 0xe00068d0, 0x12e5b: 0xe0009139,\n\t0x12e5c: 0xe00098ba, 0x12e5d: 0xe000615f,\n\t0x12e60: 0xe0008a49, 0x12e62: 0xe0009f9d,\n\t0x12e64: 0xe00099fc, 0x12e65: 0xe0005889, 0x12e66: 0xe000a85a, 0x12e67: 0xe000588d,\n\t0x12e6a: 0xe0006508, 0x12e6b: 0xe000a583,\n\t0x12e6f: 0xe0008f81,\n\t0x12e70: 0xe000847a,\n\t0x12e75: 0xe000a55c, 0x12e76: 0xe000546a,\n\t0x12e78: 0xe00050ba, 0x12e7a: 0xe00043c4,\n\t0x12e7f: 0xe00050bd,\n\t// Block 0x4ba, offset 0x12e80\n\t0x12e86: 0xe00043c8, 0x12e87: 0xe0008ed4,\n\t0x12e88: 0xe00065b4, 0x12e8a: 0xe000963c, 0x12e8b: 0xe0009fa1,\n\t0x12e8e: 0xe0007078, 0x12e8f: 0xe0007075,\n\t0x12e91: 0xe000841d,\n\t0x12e94: 0xe0008c51,\n\t0x12e99: 0xe000a8df, 0x12e9a: 0xe0004d3a,\n\t0x12e9d: 0xe0006bf4,\n\t0x12ea3: 0xe0008041,\n\t0x12ea5: 0xe0004461,\n\t0x12ea9: 0xe000994c, 0x12eab: 0xe00079eb,\n\t0x12eb1: 0xe0009e8c, 0x12eb2: 0xe0009f6a, 0x12eb3: 0xe0004324,\n\t0x12eb4: 0xe00075ed, 0x12eb5: 0xe00085ff,\n\t0x12eb8: 0xe00053aa, 0x12eb9: 0xe000913d,\n\t0x12ebc: 0xe000565d, 0x12ebd: 0xe0008889, 0x12ebe: 0xe00091c9,\n\t// Block 0x4bb, offset 0x12ec0\n\t0x12ec0: 0xe0004d3d, 0x12ec2: 0xe0004193, 0x12ec3: 0xe000a2f9,\n\t0x12ec5: 0xe0006644, 0x12ec7: 0xe0009035,\n\t0x12eca: 0xe0008a4d,\n\t0x12ecd: 0xe000847d, 0x12ece: 0xe000a1d7,\n\t0x12ed2: 0xe0007891, 0x12ed3: 0xe00099ff,\n\t0x12ed4: 0xe00099c6, 0x12ed5: 0xe000a8ab,\n\t0x12ed8: 0xe00056c1, 0x12ed9: 0xe00046fd, 0x12edb: 0xe0009c6a,\n\t0x12ede: 0xe00069f9,\n\t0x12ee2: 0xe0005d12, 0x12ee3: 0xe00090c7,\n\t0x12ee4: 0xe0008e83, 0x12ee7: 0xe0006b9f,\n\t0x12ef0: 0xe00053ea, 0x12ef2: 0xe0005de3, 0x12ef3: 0xe0005dc5,\n\t0x12ef4: 0xe00099c9,\n\t0x12ef9: 0xe00069fc, 0x12efa: 0xe0006987,\n\t0x12efc: 0xe0004838, 0x12eff: 0xe00081f1,\n\t// Block 0x4bc, offset 0x12f00\n\t0x12f00: 0xe00078f1, 0x12f01: 0xe000994f,\n\t0x12f07: 0xe0008e61,\n\t0x12f08: 0xe00047e7, 0x12f09: 0xe00082b4, 0x12f0b: 0xe0009f5c,\n\t0x12f0d: 0xe0007895,\n\t0x12f10: 0xe00082b7,\n\t0x12f15: 0xe000a026,\n\t0x12f19: 0xe000707b,\n\t0x12f1f: 0xe0007d16,\n\t0x12f20: 0xe00094c4, 0x12f21: 0xe00093cf, 0x12f22: 0xe0006358,\n\t0x12f24: 0xe0005c45, 0x12f26: 0xe00071e3, 0x12f27: 0xe000a047,\n\t0x12f2f: 0xe0008de9,\n\t0x12f30: 0xe0005775, 0x12f33: 0xe000987d,\n\t0x12f34: 0xe00087d2,\n\t0x12f3b: 0xe0005bfd,\n\t// Block 0x4bd, offset 0x12f40\n\t0x12f42: 0xe0005bad, 0x12f43: 0xe0005ca4,\n\t0x12f46: 0xe0005acd,\n\t0x12f48: 0xe0009e5f, 0x12f49: 0xe000538a,\n\t0x12f4c: 0xe00076df, 0x12f4e: 0xe000425c,\n\t0x12f52: 0xe0008269,\n\t0x12f55: 0xe0007d8e, 0x12f56: 0xe0006598,\n\t0x12f58: 0xe000591f,\n\t0x12f5c: 0xe0008a51,\n\t0x12f61: 0xe00099cc, 0x12f62: 0xe00078c9,\n\t0x12f64: 0xe0008ab9, 0x12f65: 0xe000923d, 0x12f67: 0xe000595c,\n\t0x12f68: 0xe0004a49, 0x12f69: 0xe000575a,\n\t0x12f6c: 0xe0006e8c, 0x12f6d: 0xe0007bc7, 0x12f6e: 0xe0008396, 0x12f6f: 0xe0004d40,\n\t0x12f70: 0xe0007d6e, 0x12f71: 0xe0009b8c, 0x12f72: 0xe00089c5,\n\t0x12f78: 0xe00047c0, 0x12f7b: 0xe000571c,\n\t0x12f7c: 0xe00063bc, 0x12f7d: 0xe00064e8, 0x12f7e: 0xe00064ec,\n\t// Block 0x4be, offset 0x12f80\n\t0x12f80: 0xe0005023, 0x12f81: 0xe0008d9a, 0x12f83: 0xe000608d,\n\t0x12f84: 0xe0008909, 0x12f86: 0xe0004464, 0x12f87: 0xe000a67c,\n\t0x12f8b: 0xe0004895,\n\t0x12f8e: 0xe0004bea,\n\t0x12f90: 0xe000483b, 0x12f93: 0xe000a463,\n\t0x12f96: 0xe000a604,\n\t0x12f9a: 0xe0007799, 0x12f9b: 0xe000a769,\n\t0x12f9c: 0xe000a4b4, 0x12f9e: 0xe000a4b7,\n\t0x12fa4: 0xe0009d0f,\n\t0x12fac: 0xe000a04b, 0x12fae: 0xe0009f6d,\n\t0x12fb4: 0xe0008fb1, 0x12fb6: 0xe0006ba2,\n\t0x12fb8: 0xe0004dc7, 0x12fba: 0xe0009832,\n\t0x12fbf: 0xe000600c,\n\t// Block 0x4bf, offset 0x12fc0\n\t0x12fc2: 0xe0007ff6, 0x12fc3: 0xe00064a7,\n\t0x12fc6: 0xe000688c,\n\t0x12fc8: 0xe0007b93, 0x12fca: 0xe00084c6,\n\t0x12fcc: 0xe0007e3d, 0x12fcd: 0xe000a137, 0x12fce: 0xe000774f,\n\t0x12fd2: 0xe000a10f,\n\t0x12fd4: 0xe000a700, 0x12fd6: 0xe0004467,\n\t0x12fd9: 0xe00066af, 0x12fdb: 0xe0006ff0,\n\t0x12fdc: 0xe0005554, 0x12fde: 0xe00086d2, 0x12fdf: 0xe0005f78,\n\t0x12fe1: 0xe0009141, 0x12fe3: 0xe0004328,\n\t0x12fe4: 0xe000635c, 0x12fe5: 0xe0004aa5, 0x12fe7: 0xe0005aa6,\n\t0x12fea: 0xe0009be8,\n\t0x12fec: 0xe0004898, 0x12fee: 0xe00060b4,\n\t0x12ff1: 0xe0008044, 0x12ff2: 0xe0005f74,\n\t0x12ff4: 0xe00090e5,\n\t0x12ff8: 0xe0006cf4, 0x12ff9: 0xe0007345, 0x12ffb: 0xe000a40f,\n\t0x12ffc: 0xe0006360, 0x12ffe: 0xe0007301,\n\t// Block 0x4c0, offset 0x13000\n\t0x13001: 0xe0006ff4,\n\t0x13004: 0xe0005fb4, 0x13007: 0xe000612f,\n\t0x13008: 0xe0009ba4, 0x13009: 0xe000620e, 0x1300a: 0xe0006090, 0x1300b: 0xe0004260,\n\t0x1300c: 0xe000a2fd,\n\t0x1301a: 0xe0006d78, 0x1301b: 0xe0005f39,\n\t0x1301e: 0xe0009145,\n\t0x13020: 0xe0005fb8,\n\t0x13025: 0xe0008635, 0x13026: 0xe0008638,\n\t0x13028: 0xe0008712, 0x13029: 0xe000a2c1,\n\t0x13034: 0xe0007349, 0x13037: 0xe0004e2b,\n\t0x13038: 0xe0006063, 0x1303a: 0xe0008d2e, 0x1303b: 0xe00078cd,\n\t0x1303c: 0xe0007677, 0x1303e: 0xe0008ff1,\n\t// Block 0x4c1, offset 0x13040\n\t0x13040: 0xe000928f,\n\t0x13046: 0xe000a608, 0x13047: 0xe0008cc5,\n\t0x1304d: 0xe000a2c5,\n\t0x13052: 0xe0006f90,\n\t0x1305a: 0xe000779c, 0x1305b: 0xe0008bcd,\n\t0x1305f: 0xe000725e,\n\t0x13060: 0xe0004e3b, 0x13061: 0xe00071e6, 0x13062: 0xe0007261, 0x13063: 0xe00055d1,\n\t0x13065: 0xe00069ff, 0x13066: 0xe00060b8,\n\t0x13068: 0xe0007c31, 0x1306b: 0xe0009640,\n\t0x13077: 0xe0004544,\n\t0x13079: 0xe0005557,\n\t0x1307d: 0xe0004ee8, 0x1307e: 0xe000483e, 0x1307f: 0xe0007bfb,\n\t// Block 0x4c2, offset 0x13080\n\t0x1308b: 0xe0009149,\n\t0x1308d: 0xe0007264, 0x1308e: 0xe000a0bf,\n\t0x13091: 0xe0006010,\n\t0x13096: 0xe0007c34,\n\t0x13099: 0xe0005e1f,\n\t0x1309e: 0xe0005e57,\n\t0x130a0: 0xe000549a, 0x130a2: 0xe00060f4,\n\t0x130a5: 0xe0006604,\n\t0x130aa: 0xe0009241,\n\t0x130ac: 0xe0007305, 0x130ad: 0xe0005bb0,\n\t0x130b0: 0xe000432c, 0x130b3: 0xe0005661,\n\t0x130b9: 0xe000779f, 0x130bb: 0xe00095f4,\n\t0x130bc: 0xe0004580, 0x130bd: 0xe000489b, 0x130bf: 0xe0004caa,\n\t// Block 0x4c3, offset 0x130c0\n\t0x130c7: 0xe00060f8,\n\t0x130c9: 0xe0006a87,\n\t0x130cd: 0xe000a5a0,\n\t0x130d7: 0xe0009784,\n\t0x130d9: 0xe0004370, 0x130da: 0xe0009798, 0x130db: 0xe0006066,\n\t0x130dc: 0xe000503b, 0x130de: 0xe000833e,\n\t0x130e1: 0xe000a5a4, 0x130e2: 0xe0007421, 0x130e3: 0xe0008420,\n\t0x130e5: 0xe000908b, 0x130e7: 0xe000752d,\n\t0x130e9: 0xe0004cad,\n\t0x130ed: 0xe000535a, 0x130ee: 0xe0007e6e, 0x130ef: 0xe0004bed,\n\t0x130f0: 0xe000904d, 0x130f3: 0xe0006e20,\n\t0x130fa: 0xe0009b44, 0x130fb: 0xe000496e,\n\t0x130fc: 0xe000441c, 0x130fd: 0xe0006e38,\n\t// Block 0x4c4, offset 0x13100\n\t0x13102: 0xe0006b3f,\n\t0x1310c: 0xe00096bb, 0x1310f: 0xe00068d4,\n\t0x13111: 0xe00075f0, 0x13112: 0xe000698a,\n\t0x13122: 0xe0005778,\n\t0x13125: 0xe000908e, 0x13126: 0xe0009445, 0x13127: 0xe0009a6e,\n\t0x1312c: 0xe0005dc9, 0x1312d: 0xe0009e04,\n\t0x13130: 0xe0009da0, 0x13132: 0xe0009e8f,\n\t0x13134: 0xe0009ceb,\n\t// Block 0x4c5, offset 0x13140\n\t0x13143: 0xe0008f19,\n\t0x13145: 0xe0004eb5,\n\t0x1314f: 0xe0007a5f,\n\t0x1315c: 0xe00044a2, 0x1315d: 0xe00096f4,\n\t0x13160: 0xe000585b,\n\t0x13167: 0xe0007fb6,\n\t0x13168: 0xe0009284, 0x1316b: 0xe0005c48,\n\t0x1316c: 0xe0004701, 0x1316e: 0xe000a04f, 0x1316f: 0xe0007a63,\n\t0x1317c: 0xe0006930,\n\t// Block 0x4c6, offset 0x13180\n\t0x13181: 0xe00050c0,\n\t0x13187: 0xe0008bd1,\n\t0x1318c: 0xe0005aee, 0x1318d: 0xe000776c, 0x1318e: 0xe000717a, 0x1318f: 0xe00086be,\n\t0x13191: 0xe000698d, 0x13193: 0xe00054fa,\n\t0x13197: 0xe0007dfd,\n\t0x1319f: 0xe0006f58,\n\t0x131a3: 0xe00042c4,\n\t0x131a4: 0xe0007bcb, 0x131a7: 0xe000659c,\n\t0x131a8: 0xe0007e92, 0x131a9: 0xe0006e24,\n\t0x131ad: 0xe0009bec,\n\t0x131ba: 0xe000a594, 0x131bb: 0xe000a598,\n\t0x131bc: 0xe0005de6, 0x131be: 0xe0005245,\n\t// Block 0x4c7, offset 0x131c0\n\t0x131c1: 0xe0008602,\n\t0x131c5: 0xe0006424,\n\t0x131c8: 0xe0007e95, 0x131ca: 0xe0005b6b, 0x131cb: 0xe0009260,\n\t0x131ce: 0xe00047c3, 0x131cf: 0xe00059f4,\n\t0x131d0: 0xe0006364, 0x131d1: 0xe00077a2,\n\t0x131d4: 0xe0009475, 0x131d5: 0xe0004488,\n\t0x131da: 0xe0008a55,\n\t0x131e0: 0xe00052c6,\n\t0x131e7: 0xe000894d,\n\t0x131e8: 0xe0005de9, 0x131ea: 0xe0009814,\n\t0x131ec: 0xe0004705, 0x131ef: 0xe00050c3,\n\t0x131f4: 0xe0005740, 0x131f5: 0xe0004264, 0x131f7: 0xe0005d8d,\n\t0x131fa: 0xe0004b45, 0x131fb: 0xe0006368,\n\t0x131fc: 0xe0008716, 0x131fd: 0xe0004c32,\n\t// Block 0x4c8, offset 0x13200\n\t0x13201: 0xe00096f7,\n\t0x1320c: 0xe0005b7d, 0x1320e: 0xe00096fa, 0x1320f: 0xe0005027,\n\t0x13211: 0xe000549e, 0x13212: 0xe0008450,\n\t0x13216: 0xe00079c3,\n\t0x13219: 0xe00077a5,\n\t0x13227: 0xe0005b80,\n\t0x1322a: 0xe00058fb, 0x1322b: 0xe0005944,\n\t0x1322c: 0xe000636c, 0x1322d: 0xe000a5a8,\n\t0x13231: 0xe0005b52,\n\t0x1323a: 0xe0007424,\n\t0x1323e: 0xe0006b42,\n\t// Block 0x4c9, offset 0x13240\n\t0x13240: 0xe0006b45, 0x13241: 0xe00050c6,\n\t0x13245: 0xe0007f10, 0x13246: 0xe0009564, 0x13247: 0xe00050c9,\n\t0x13248: 0xe00050cc, 0x13249: 0xe0009091, 0x1324a: 0xe0009da4,\n\t0x13250: 0xe0007ff9, 0x13253: 0xe0006908,\n\t0x13254: 0xe0006825, 0x13255: 0xe0006a02, 0x13256: 0xe0008d31, 0x13257: 0xe0009094,\n\t0x1325a: 0xe0008d34, 0x1325b: 0xe00044d0,\n\t0x1325c: 0xe000a466, 0x1325d: 0xe00098be, 0x1325e: 0xe00074e9, 0x1325f: 0xe0007267,\n\t0x13260: 0xe0006b48, 0x13262: 0xe0005308,\n\t0x13265: 0xe0006cf8, 0x13267: 0xe0008d9d,\n\t0x13268: 0xe0009f03,\n\t0x1326d: 0xe0008c8f,\n\t0x1327a: 0xe00050cf,\n\t0x1327c: 0xe0004aa9, 0x1327f: 0xe0005af2,\n\t// Block 0x4ca, offset 0x13280\n\t0x13280: 0xe0009f44, 0x13281: 0xe0004fcf,\n\t0x1328a: 0xe00047ea, 0x1328b: 0xe0008546,\n\t0x1328d: 0xe000a55f, 0x1328e: 0xe0008bd5, 0x1328f: 0xe00066dd,\n\t0x13291: 0xe0007ffc,\n\t0x13294: 0xe0008cc8,\n\t0x1329d: 0xe00090f9,\n\t0x132a6: 0xe00078f4, 0x132a7: 0xe000a952,\n\t0x132a8: 0xe000513e, 0x132aa: 0xe0006e90, 0x132ab: 0xe0005422,\n\t0x132ae: 0xe0005a82,\n\t0x132b0: 0xe000530b, 0x132b1: 0xe000555a, 0x132b3: 0xe0007899,\n\t0x132b4: 0xe0007841,\n\t0x132b9: 0xe0007fff, 0x132ba: 0xe0007d92, 0x132bb: 0xe0005d45,\n\t0x132bd: 0xe0004fd3, 0x132be: 0xe000a562, 0x132bf: 0xe00055d5,\n\t// Block 0x4cb, offset 0x132c0\n\t0x132c0: 0xe00071e9, 0x132c1: 0xe0006b4b,\n\t0x132c6: 0xe000429c,\n\t0x132c9: 0xe0006648, 0x132ca: 0xe0005241, 0x132cb: 0xe0009835,\n\t0x132d1: 0xe00049f6, 0x132d2: 0xe00096fd,\n\t0x132d5: 0xe0006990,\n\t0x132d8: 0xe0006993,\n\t0x132df: 0xe0008d37,\n\t0x132e2: 0xe0005a64, 0x132e3: 0xe0005eb7,\n\t0x132e4: 0xe0009a9a, 0x132e6: 0xe000914d, 0x132e7: 0xe000773b,\n\t0x132e9: 0xe00091cd, 0x132ea: 0xe00090ca, 0x132eb: 0xe0009912,\n\t0x132ec: 0xe00044e8,\n\t0x132f8: 0xe00042e4, 0x132fb: 0xe0008480,\n\t// Block 0x4cc, offset 0x13300\n\t0x13300: 0xe000a955, 0x13301: 0xe000489e, 0x13302: 0xe000585f,\n\t0x13305: 0xe0007024,\n\t0x13308: 0xe0004268, 0x1330a: 0xe0008ccb, 0x1330b: 0xe0008bd9,\n\t0x1330c: 0xe00055a5, 0x1330d: 0xe0009700,\n\t0x13314: 0xe0008596, 0x13317: 0xe0009d78,\n\t0x13319: 0xe00090e9, 0x1331a: 0xe00099cf,\n\t0x1331c: 0xe0005cd0, 0x1331e: 0xe0004a20, 0x1331f: 0xe0009f40,\n\t0x13320: 0xe0008d3a,\n\t0x13327: 0xe0006f5c,\n\t0x1332e: 0xe0008e25,\n\t0x13331: 0xe0009a9e,\n\t0x13336: 0xe000807a, 0x13337: 0xe00090ed,\n\t0x13339: 0xe0009195, 0x1333b: 0xe000555d,\n\t0x1333c: 0xe0004196, 0x1333d: 0xe00047c6, 0x1333f: 0xe0004841,\n\t// Block 0x4cd, offset 0x13340\n\t0x13340: 0xe00048de,\n\t0x13345: 0xe0004420, 0x13346: 0xe00060bc,\n\t0x13349: 0xe00099d2,\n\t0x1334d: 0xe000890d, 0x1334e: 0xe0007b97,\n\t0x13357: 0xe00071ec,\n\t0x13360: 0xe00052a9, 0x13361: 0xe0006d50, 0x13362: 0xe0007bfe,\n\t0x13369: 0xe0007d1a, 0x1336b: 0xe000a59c,\n\t0x13370: 0xe000789d,\n\t0x13374: 0xe000a31d, 0x13375: 0xe00076b7, 0x13376: 0xe0004cb0,\n\t0x13379: 0xe0004df3, 0x1337a: 0xe00049a6,\n\t0x1337d: 0xe0008bdd, 0x1337e: 0xe0007f13, 0x1337f: 0xe0009520,\n\t// Block 0x4ce, offset 0x13380\n\t0x13380: 0xe0005700, 0x13381: 0xe0005625, 0x13382: 0xe0005ad0, 0x13383: 0xe0008ad1,\n\t0x13384: 0xe0009293, 0x13385: 0xe0007f16, 0x13386: 0xe0009e08,\n\t0x13388: 0xe0007ece, 0x1338a: 0xe0007dd0,\n\t0x13392: 0xe00091d1, 0x13393: 0xe00093d3,\n\t0x13395: 0xe0008d3d, 0x13396: 0xe0004c35, 0x13397: 0xe0009413,\n\t0x13398: 0xe0004dab, 0x1339b: 0xe0004d43,\n\t0x1339f: 0xe0004dd7,\n\t0x133a0: 0xe0004a23, 0x133a3: 0xe0007140,\n\t0x133a9: 0xe0007dac, 0x133aa: 0xe0007daf,\n\t0x133ac: 0xe00082ba, 0x133ae: 0xe0004df7, 0x133af: 0xe0007ed1,\n\t0x133b3: 0xe00082bd,\n\t0x133b6: 0xe0004d46,\n\t0x133b9: 0xe0007cd3, 0x133ba: 0xe0004eb8, 0x133bb: 0xe0009417,\n\t0x133be: 0xe0004aad, 0x133bf: 0xe0005ca8,\n\t// Block 0x4cf, offset 0x133c0\n\t0x133c4: 0xe00092c3, 0x133c5: 0xe0004ebb, 0x133c7: 0xe00056c4,\n\t0x133c8: 0xe0008da0, 0x133ca: 0xe0008abd, 0x133cb: 0xe0005dcd,\n\t0x133d7: 0xe0006123,\n\t0x133d9: 0xe0009343,\n\t0x133dd: 0xe000664c, 0x133df: 0xe0004709,\n\t0x133e0: 0xe0008772, 0x133e2: 0xe0006ba5, 0x133e3: 0xe0008f85,\n\t0x133e5: 0xe0005665, 0x133e6: 0xe000716c,\n\t0x133ea: 0xe00071ef,\n\t0x133ed: 0xe00042c8, 0x133ef: 0xe000535e,\n\t0x133f6: 0xe000470d,\n\t0x133f8: 0xe0004775, 0x133f9: 0xe0008f49, 0x133fa: 0xe00098c2,\n\t0x133fd: 0xe0008047, 0x133ff: 0xe000426c,\n\t// Block 0x4d0, offset 0x13400\n\t0x13406: 0xe0009d12,\n\t0x13408: 0xe000502b, 0x1340a: 0xe0008da3,\n\t0x1340c: 0xe00075f3, 0x1340f: 0xe000a509,\n\t0x13411: 0xe000707e, 0x13412: 0xe0004ff7,\n\t0x13418: 0xe0008b05, 0x13419: 0xe0006d74, 0x1341b: 0xe0008911,\n\t0x1341e: 0xe0009c0c,\n\t0x13420: 0xe0005dd1,\n\t0x13425: 0xe0006ba8, 0x13426: 0xe00067c8, 0x13427: 0xe0009479,\n\t0x13428: 0xe00068d8,\n\t0x1342c: 0xe0008c92, 0x1342d: 0xe0005a20, 0x1342f: 0xe000528f,\n\t0x13433: 0xe00041d5,\n\t0x13435: 0xe000656c,\n\t0x13439: 0xe0007027,\n\t// Block 0x4d1, offset 0x13440\n\t0x13445: 0xe0006ef0, 0x13446: 0xe0009fa5,\n\t0x13448: 0xe0004aed, 0x13449: 0xe0005720, 0x1344b: 0xe0004f73,\n\t0x1344c: 0xe00089c9, 0x1344d: 0xe0007309, 0x1344f: 0xe0006534,\n\t0x13450: 0xe0004b25, 0x13451: 0xe00098c6, 0x13452: 0xe0009c6e, 0x13453: 0xe00047ed,\n\t0x13454: 0xe0005442, 0x13456: 0xe0009465,\n\t0x1345f: 0xe0006828,\n\t0x13460: 0xe0004f0f,\n\t0x13465: 0xe00044eb, 0x13466: 0xe0004ab1, 0x13467: 0xe000461d,\n\t0x13469: 0xe0009c82,\n\t0x1346c: 0xe0006ff8, 0x1346e: 0xe0006db3,\n\t0x13471: 0xe00070c9, 0x13473: 0xe0008c55,\n\t0x13475: 0xe0007a67,\n\t0x1347d: 0xe0007ca0,\n\t// Block 0x4d2, offset 0x13480\n\t0x13487: 0xe000446a,\n\t0x1348b: 0xe00089cd,\n\t0x1348d: 0xe00048a1, 0x1348e: 0xe000a4ba, 0x1348f: 0xe0008843,\n\t0x13492: 0xe0009883,\n\t0x13494: 0xe00062e8, 0x13495: 0xe00050d2, 0x13497: 0xe0006bf8,\n\t0x13499: 0xe0006715, 0x1349a: 0xe0009263,\n\t0x1349c: 0xe00049ca, 0x1349d: 0xe0004661,\n\t0x134a0: 0xe0009886, 0x134a1: 0xe0004a7d,\n\t0x134ad: 0xe00089d1,\n\t0x134b1: 0xe0006cfc,\n\t0x134b4: 0xe00086ee,\n\t0x134b8: 0xe000888c,\n\t0x134be: 0xe00070cc,\n\t// Block 0x4d3, offset 0x134c0\n\t0x134c0: 0xe0008ac1, 0x134c1: 0xe000a680,\n\t0x134c4: 0xe0006564, 0x134c6: 0xe00089d5, 0x134c7: 0xe0009dc4,\n\t0x134c9: 0xe00098ca, 0x134ca: 0xe000a541, 0x134cb: 0xe000a37d,\n\t0x134cc: 0xe000a7ab,\n\t0x134d2: 0xe0007499,\n\t0x134d4: 0xe00080c2,\n\t0x134d9: 0xe00048a4, 0x134db: 0xe0007845,\n\t0x134dd: 0xe0004d49,\n\t0x134e0: 0xe0007081,\n\t0x134e4: 0xe00055d9, 0x134e6: 0xe0006a05,\n\t0x134e9: 0xe0006b4e, 0x134ea: 0xe00090cd,\n\t0x134f3: 0xe0009fbd,\n\t0x134f7: 0xe0006779,\n\t0x134fe: 0xe0005fe8,\n\t// Block 0x4d4, offset 0x13500\n\t0x13500: 0xe000947d,\n\t0x13507: 0xe0008ddd,\n\t0x13509: 0xe0009889, 0x1350b: 0xe0004e85,\n\t0x1350f: 0xe0005b1a,\n\t0x13512: 0xe00092c7,\n\t0x1351e: 0xe0005362, 0x1351f: 0xe0008b09,\n\t0x13520: 0xe00066b2, 0x13521: 0xe0004270,\n\t0x13527: 0xe000a684,\n\t0x1352a: 0xe00086f2, 0x1352b: 0xe0007084,\n\t0x13537: 0xe0009620,\n\t0x13538: 0xe0009d15,\n\t0x1353d: 0xe00095f8, 0x1353e: 0xe00059e8, 0x1353f: 0xe00067cb,\n\t// Block 0x4d5, offset 0x13540\n\t0x13543: 0xe000580b,\n\t0x1354c: 0xe0008ed7, 0x1354d: 0xe0008915,\n\t0x13550: 0xe0005744, 0x13552: 0xe0008f1c,\n\t0x13554: 0xe000726a,\n\t0x1355b: 0xe0008a59,\n\t0x1355c: 0xe0009b48, 0x1355f: 0xe0005b83,\n\t0x13560: 0xe0005b3e,\n\t0x13564: 0xe00095fc, 0x13565: 0xe0007849, 0x13567: 0xe00044ee,\n\t0x13569: 0xe00065e4,\n\t0x1356c: 0xe0005d15,\n\t0x13572: 0xe00082c0, 0x13573: 0xe0006211,\n\t0x1357e: 0xe000854a,\n\t// Block 0x4d6, offset 0x13580\n\t0x13581: 0xe0009568, 0x13583: 0xe0006996,\n\t0x13589: 0xe0006890,\n\t0x1358d: 0xe0006093,\n\t0x13592: 0xe0005dd5,\n\t0x13595: 0xe00062ec, 0x13597: 0xe0008d40,\n\t0x13598: 0xe0008ae9,\n\t0x1359f: 0xe0007100,\n\t0x135a2: 0xe000863b,\n\t0x135a4: 0xe0008196, 0x135a5: 0xe0008f4d, 0x135a6: 0xe0005d91, 0x135a7: 0xe0008776,\n\t0x135a8: 0xe00064f4,\n\t0x135ae: 0xe00058a9,\n\t0x135b1: 0xe00058ad, 0x135b2: 0xe00092cf, 0x135b3: 0xe000449a,\n\t0x135b9: 0xe00071f2,\n\t0x135bc: 0xe0005d95, 0x135bd: 0xe0008e65, 0x135be: 0xe0008be1,\n\t// Block 0x4d7, offset 0x135c0\n\t0x135c5: 0xe00082c3, 0x135c6: 0xe0005fd4,\n\t0x135ca: 0xe000a469,\n\t0x135d5: 0xe00048a7, 0x135d6: 0xe000546e, 0x135d7: 0xe0004d4c,\n\t0x135d9: 0xe0008da6, 0x135da: 0xe00087d6,\n\t0x135dc: 0xe0006241, 0x135dd: 0xe0006c68, 0x135de: 0xe0006894, 0x135df: 0xe0008d43,\n\t0x135e0: 0xe00043cc, 0x135e2: 0xe0006096,\n\t0x135e5: 0xe00051b6, 0x135e7: 0xe00058b1,\n\t0x135ef: 0xe00051b9,\n\t0x135f2: 0xe0005922,\n\t0x135f4: 0xe0008951, 0x135f6: 0xe0008da9,\n\t0x135f8: 0xe0005f9c, 0x135fa: 0xe0004eeb, 0x135fb: 0xe00047c9,\n\t0x135fe: 0xe0004ebe,\n\t// Block 0x4d8, offset 0x13600\n\t0x13600: 0xe00050d5, 0x13602: 0xe0008eda, 0x13603: 0xe000734d,\n\t0x13604: 0xe0007825, 0x13605: 0xe000a529, 0x13606: 0xe0008002, 0x13607: 0xe000a8cf,\n\t0x13608: 0xe000a5e4, 0x1360a: 0xe00061ad, 0x1360b: 0xe00061b1,\n\t0x1360d: 0xe0005200,\n\t0x13610: 0xe00052e8, 0x13613: 0xe0006dec,\n\t0x13614: 0xe000730d, 0x13615: 0xe0006a08, 0x13617: 0xe0006b51,\n\t0x13618: 0xe0004baa, 0x13619: 0xe0009097, 0x1361a: 0xe0005013, 0x1361b: 0xe0006898,\n\t0x1361c: 0xe00080c6,\n\t0x13620: 0xe0007087, 0x13621: 0xe0006428, 0x13622: 0xe0006d54,\n\t0x1362b: 0xe0008605,\n\t0x1362c: 0xe0008edd, 0x1362e: 0xe000931b, 0x1362f: 0xe0005c00,\n\t0x13630: 0xe000702a, 0x13631: 0xe000690c, 0x13632: 0xe0006f60, 0x13633: 0xe00074ed,\n\t0x13635: 0xe000888f,\n\t0x13639: 0xe000708a, 0x1363a: 0xe0004330,\n\t// Block 0x4d9, offset 0x13640\n\t0x13642: 0xe0008e29, 0x13643: 0xe000a2c9,\n\t0x13644: 0xe0008d46, 0x13645: 0xe0004711, 0x13646: 0xe0006370,\n\t0x13649: 0xe0007371,\n\t0x1364d: 0xe00085a2,\n\t0x13650: 0xe0004641,\n\t0x13656: 0xe0004b49,\n\t0x13659: 0xe000a60c, 0x1365b: 0xe0008daf,\n\t0x1365c: 0xe000a329, 0x1365e: 0xe0004bf0,\n\t0x13661: 0xe0005793, 0x13662: 0xe000a2cd, 0x13663: 0xe0006664,\n\t0x13666: 0xe0005017,\n\t0x13668: 0xe000834a, 0x13669: 0xe0008dac, 0x1366a: 0xe0008512,\n\t0x1366e: 0xe0006db6,\n\t0x13670: 0xe00091ed, 0x13671: 0xe0009c72, 0x13672: 0xe0006b54, 0x13673: 0xe00043d0,\n\t0x13676: 0xe0008ac5,\n\t0x13679: 0xe00045f5, 0x1367a: 0xe0009a02,\n\t0x1367f: 0xe0004cb3,\n\t// Block 0x4da, offset 0x13680\n\t0x13683: 0xe000974b,\n\t0x13686: 0xe0004779,\n\t0x1368e: 0xe0008be5, 0x1368f: 0xe00071f5,\n\t0x13693: 0xe0004715,\n\t0x13698: 0xe000677d,\n\t0x1369c: 0xe0008e2d,\n\t0x136a0: 0xe0005af6, 0x136a2: 0xe0008ee0, 0x136a3: 0xe0004e3f,\n\t0x136a5: 0xe0005141, 0x136a6: 0xe0005144, 0x136a7: 0xe0008fb5,\n\t0x136a9: 0xe0008162, 0x136ab: 0xe0006ef4,\n\t0x136ac: 0xe00071f8, 0x136ad: 0xe000826c, 0x136ae: 0xe00047f0,\n\t0x136b0: 0xe0004ab5, 0x136b1: 0xe00043d4, 0x136b2: 0xe0005ecf,\n\t0x136b4: 0xe00095a8, 0x136b5: 0xe0009448,\n\t0x136b8: 0xe0005c80, 0x136ba: 0xe00050d8, 0x136bb: 0xe0009b78,\n\t0x136bd: 0xe000868e, 0x136be: 0xe0005cd4, 0x136bf: 0xe0005fbc,\n\t// Block 0x4db, offset 0x136c0\n\t0x136c4: 0xe0004936, 0x136c7: 0xe00099d5,\n\t0x136ca: 0xe0005177, 0x136cb: 0xe0006999,\n\t0x136cc: 0xe00082c6, 0x136cd: 0xe0006294,\n\t0x136d6: 0xe0006db9, 0x136d7: 0xe0006d30,\n\t0x136d8: 0xe000a0df, 0x136da: 0xe0006e94,\n\t0x136dc: 0xe0005fd8, 0x136dd: 0xe0009211, 0x136de: 0xe0005366,\n\t0x136e0: 0xe00096a0, 0x136e1: 0xe000627c, 0x136e3: 0xe0007a6b,\n\t0x136e6: 0xe000745d,\n\t0x136e8: 0xe0009dc8, 0x136e9: 0xe0007e01,\n\t0x136ec: 0xe0005fc0, 0x136ef: 0xe00081c1,\n\t0x136f4: 0xe0005980, 0x136f6: 0xe0009de8,\n\t0x136f9: 0xe0008cce, 0x136fb: 0xe00099d8,\n\t// Block 0x4dc, offset 0x13700\n\t0x13708: 0xe0007bcf, 0x13709: 0xe0009151, 0x1370a: 0xe00077c4, 0x1370b: 0xe000988c,\n\t0x13710: 0xe000988f, 0x13711: 0xe0004685,\n\t0x13715: 0xe0007d1e, 0x13717: 0xe0009817,\n\t0x13718: 0xe00047f3, 0x1371b: 0xe00062f0,\n\t0x1371d: 0xe0009155, 0x1371e: 0xe000a46c, 0x1371f: 0xe0007f2e,\n\t0x13720: 0xe00048f2, 0x13721: 0xe000881b, 0x13722: 0xe0005748, 0x13723: 0xe000a2d1,\n\t0x1372b: 0xe0006759,\n\t0x1372e: 0xe00098ce, 0x1372f: 0xe0007a6f,\n\t0x13731: 0xe0008e31, 0x13732: 0xe0005c54, 0x13733: 0xe0004621,\n\t0x13735: 0xe0005e7f, 0x13737: 0xe0005c03,\n\t0x13739: 0xe0009f2a, 0x1373b: 0xe0006244,\n\t0x1373d: 0xe00097d4, 0x1373e: 0xe0008919,\n\t// Block 0x4dd, offset 0x13740\n\t0x13741: 0xe000650c, 0x13743: 0xe0006934,\n\t0x13744: 0xe0007c37, 0x13745: 0xe00070cf, 0x13746: 0xe0006162, 0x13747: 0xe0007ed4,\n\t0x13748: 0xe0004424,\n\t0x13750: 0xe0007036, 0x13752: 0xe0009039,\n\t0x13754: 0xe00090f1, 0x13755: 0xe0006e98, 0x13756: 0xe0006c24, 0x13757: 0xe0005d99,\n\t0x13759: 0xe000651c, 0x1375a: 0xe0005bd1,\n\t0x1375e: 0xe0007ed7,\n\t0x13761: 0xe00071fb, 0x13762: 0xe0004e88,\n\t0x13769: 0xe00073da, 0x1376a: 0xe000a6e2, 0x1376b: 0xe00047cc,\n\t0x1376d: 0xe00045f9, 0x1376f: 0xe000a301,\n\t0x13770: 0xe0008d49,\n\t0x13776: 0xe0007923,\n\t0x13779: 0xe00079ef,\n\t0x1377c: 0xe00047cf, 0x1377d: 0xe0006a8b, 0x1377e: 0xe0004625,\n\t// Block 0x4de, offset 0x13780\n\t0x13781: 0xe000a7ee, 0x13782: 0xe00092cb,\n\t0x13787: 0xe0005b86,\n\t0x13788: 0xe000a984, 0x1378a: 0xe0004b4d,\n\t0x1378c: 0xe0007104, 0x1378d: 0xe0005c57, 0x1378f: 0xe00089d9,\n\t0x13793: 0xe0007b9b,\n\t0x13794: 0xe000883c, 0x13796: 0xe0006f70,\n\t0x13798: 0xe00092d3, 0x1379b: 0xe00055dd,\n\t0x1379c: 0xe000580f,\n\t// Block 0x4df, offset 0x137c0\n\t0x137f6: 0xe00067ce, 0x137f7: 0xe0006bab,\n\t0x137f8: 0xe000a16b, 0x137fa: 0xe0004645,\n\t0x137fe: 0xe0006668, 0x137ff: 0xe000a187,\n\t// Block 0x4e0, offset 0x13800\n\t0x13803: 0xe00077f8,\n\t0x13804: 0xe0004781, 0x13805: 0xe000a029, 0x13807: 0xe0008fb9,\n\t0x1380b: 0xe0007d96,\n\t0x1380c: 0xe00077e4, 0x1380d: 0xe0005b89, 0x1380e: 0xe0005426,\n\t0x13810: 0xe0004a81,\n\t0x13814: 0xe0005ed3, 0x13815: 0xe000a07b,\n\t0x13818: 0xe000682b,\n\t0x1381d: 0xe00088cb, 0x1381f: 0xe00048aa,\n\t0x13820: 0xe0006298, 0x13821: 0xe0004428, 0x13823: 0xe0004b6c,\n\t0x13826: 0xe000682e,\n\t0x13828: 0xe000798b, 0x1382a: 0xe0008e8c, 0x1382b: 0xe0004b63,\n\t0x1382e: 0xe00099db,\n\t0x13830: 0xe0006538, 0x13832: 0xe0006dbc,\n\t0x13835: 0xe0005f1e, 0x13837: 0xe0009cee,\n\t0x13838: 0xe0006544, 0x13839: 0xe0005d18,\n\t0x1383c: 0xe0009fc1, 0x1383d: 0xe00047f6, 0x1383e: 0xe0009051,\n\t// Block 0x4e1, offset 0x13840\n\t0x13842: 0xe0004629,\n\t0x13845: 0xe000575d, 0x13846: 0xe0006a0b, 0x13847: 0xe0005147,\n\t0x13848: 0xe00050db, 0x1384a: 0xe00078a1,\n\t0x1384c: 0xe00043d8, 0x1384e: 0xe0006214,\n\t0x13854: 0xe0004844, 0x13856: 0xe00048ad, 0x13857: 0xe000442c,\n\t0x13858: 0xe00087da, 0x1385a: 0xe0005a24,\n\t0x1385d: 0xe00088ce, 0x1385e: 0xe00071fe,\n\t0x13864: 0xe0004daf,\n\t0x13868: 0xe0006e9c, 0x13869: 0xe0008423, 0x1386b: 0xe0004430,\n\t0x1386f: 0xe00042e8,\n\t0x13872: 0xe000a958,\n\t0x13876: 0xe0008a5d,\n\t0x13878: 0xe0005d1b, 0x13879: 0xe000449e,\n\t0x1387d: 0xe0008005,\n\t// Block 0x4e2, offset 0x13880\n\t0x13881: 0xe0007d72,\n\t0x13885: 0xe0007427,\n\t0x1388a: 0xe00084ca,\n\t0x1388c: 0xe00084ce, 0x1388e: 0xe0005a28,\n\t0x13892: 0xe00073a6,\n\t0x13894: 0xe0006d00, 0x13895: 0xe000a907, 0x13896: 0xe000a917,\n\t0x1389b: 0xe00070d2,\n\t0x1389f: 0xe000891d,\n\t0x138a0: 0xe0009967, 0x138a1: 0xe000699c, 0x138a3: 0xe0006c90,\n\t0x138a4: 0xe0007460, 0x138a6: 0xe0008a61,\n\t0x138a9: 0xe0009dcc, 0x138ab: 0xe0007e05,\n\t0x138ac: 0xe000a84e, 0x138ae: 0xe000a1ee,\n\t0x138b0: 0xe000a07f, 0x138b3: 0xe0007c3a,\n\t0x138b9: 0xe0004bf3, 0x138ba: 0xe00048b0, 0x138bb: 0xe0006520,\n\t0x138bc: 0xe00084d2, 0x138be: 0xe000a305,\n\t// Block 0x4e3, offset 0x138c0\n\t0x138c0: 0xe0007eda, 0x138c1: 0xe0005aa9, 0x138c3: 0xe0004847,\n\t0x138c4: 0xe0006099, 0x138c5: 0xe0008608, 0x138c6: 0xe00050de,\n\t0x138c9: 0xe0004cb6,\n\t0x138cc: 0xe0008483,\n\t0x138d0: 0xe0005220, 0x138d1: 0xe000538e, 0x138d2: 0xe0005b8c,\n\t0x138d4: 0xe000863e, 0x138d5: 0xe0004719, 0x138d6: 0xe000974e, 0x138d7: 0xe0006069,\n\t0x138d8: 0xe000809e, 0x138d9: 0xe0009d18,\n\t0x138de: 0xe00041d8,\n\t0x138e1: 0xe0006def,\n\t0x138e6: 0xe000804a,\n\t0x138e8: 0xe00052d2,\n\t0x138ec: 0xe0005c1e, 0x138ed: 0xe00050e1,\n\t0x138f0: 0xe000804d, 0x138f3: 0xe0008486,\n\t0x138f6: 0xe0007818,\n\t0x138fd: 0xe0009ba8, 0x138ff: 0xe000471d,\n\t// Block 0x4e4, offset 0x13900\n\t0x13903: 0xe00053ee,\n\t0x13906: 0xe0005a2c,\n\t0x1390a: 0xe0005bb3,\n\t0x13912: 0xe0004af1,\n\t0x13915: 0xe000a4bd, 0x13916: 0xe0006ffc,\n\t0x13918: 0xe0006abb, 0x1391a: 0xe000996a,\n\t0x1391e: 0xe00061b5,\n\t0x1392f: 0xe0005984,\n\t0x13930: 0xe00097d8, 0x13931: 0xe0007cd6, 0x13932: 0xe0007000, 0x13933: 0xe0007f86,\n\t0x13935: 0xe0007e98, 0x13936: 0xe0006fb8, 0x13937: 0xe00090f5,\n\t0x1393d: 0xe0009670, 0x1393e: 0xe0005b42, 0x1393f: 0xe0008336,\n\t// Block 0x4e5, offset 0x13940\n\t0x13944: 0xe0008489, 0x13945: 0xe00072ad, 0x13946: 0xe0006b57, 0x13947: 0xe0008d4c,\n\t0x13949: 0xe00082fe, 0x1394b: 0xe0005cb0,\n\t0x1394c: 0xe00050e4,\n\t0x13953: 0xe000a6ac,\n\t0x13956: 0xe0009703,\n\t0x13958: 0xe0008f1f, 0x1395a: 0xe00056d9, 0x1395b: 0xe000a16f,\n\t0x1395d: 0xe0004274,\n\t0x13961: 0xe000484a, 0x13962: 0xe000909a,\n\t0x13965: 0xe000699f, 0x13966: 0xe00068dc,\n\t0x13969: 0xe00045fd, 0x1396a: 0xe000642c, 0x1396b: 0xe0007351,\n\t0x1396d: 0xe00052e1, 0x1396f: 0xe000503f,\n\t0x13971: 0xe0004bae, 0x13972: 0xe0008302,\n\t0x13974: 0xe000a751, 0x13975: 0xe000514a,\n\t0x1397a: 0xe0009e4a,\n\t// Block 0x4e6, offset 0x13980\n\t0x13983: 0xe00081c4,\n\t0x13984: 0xe0008e9e, 0x13986: 0xe0005392,\n\t0x1398a: 0xe0004d4f,\n\t0x1398c: 0xe00064aa, 0x1398e: 0xe0009c0f,\n\t0x13995: 0xe0006831, 0x13996: 0xe000639c,\n\t0x13999: 0xe0008db2, 0x1399a: 0xe00064ad, 0x1399b: 0xe000438c,\n\t0x1399e: 0xe0009e92,\n\t0x139a0: 0xe00044f1, 0x139a1: 0xe000a46f,\n\t0x139a4: 0xe000831e, 0x139a5: 0xe0006dbf,\n\t0x139af: 0xe00048b3,\n\t0x139b1: 0xe0004b29,\n\t0x139b4: 0xe0005669, 0x139b7: 0xe000a897,\n\t0x139b8: 0xe000a88f,\n\t0x139bd: 0xe00052f5, 0x139be: 0xe0008641,\n\t// Block 0x4e7, offset 0x139c0\n\t0x139c2: 0xe000909d,\n\t0x139c5: 0xe000a351, 0x139c6: 0xe000996d, 0x139c7: 0xe000a355,\n\t0x139c8: 0xe0005f48, 0x139c9: 0xe0005f5c, 0x139ca: 0xe00094c8,\n\t0x139d6: 0xe00063dc,\n\t0x139d8: 0xe0007e09, 0x139da: 0xe0004200, 0x139db: 0xe0004721,\n\t0x139e3: 0xe0007311,\n\t0x139e4: 0xe0007531, 0x139e7: 0xe000981a,\n\t0x139e9: 0xe0007201, 0x139eb: 0xe0009b98,\n\t0x139ef: 0xe0009e95,\n\t0x139f0: 0xe00056dc,\n\t0x139f9: 0xe00093d7, 0x139fa: 0xe000726d,\n\t0x139fe: 0xe00069a2,\n\t// Block 0x4e8, offset 0x13a00\n\t0x13a01: 0xe00065ec,\n\t0x13a06: 0xe0008a65,\n\t0x13a0a: 0xe0006e3c, 0x13a0b: 0xe00077c8,\n\t0x13a0e: 0xe00074f1,\n\t0x13a10: 0xe00067d1, 0x13a11: 0xe00067d4, 0x13a12: 0xe00044f4, 0x13a13: 0xe0006a0e,\n\t0x13a14: 0xe00043dc, 0x13a15: 0xe0007e0d,\n\t0x13a20: 0xe0008f22,\n\t0x13a24: 0xe00076fb, 0x13a25: 0xe0007004, 0x13a26: 0xe00052b4,\n\t0x13a2b: 0xe0008e35,\n\t0x13a2d: 0xe000764b,\n\t0x13a30: 0xe0007edd, 0x13a31: 0xe0004528,\n\t0x13a34: 0xe00082c9, 0x13a36: 0xe0005396, 0x13a37: 0xe0009f85,\n\t0x13a38: 0xe000877a, 0x13a39: 0xe00066e1, 0x13a3a: 0xe0006ea0,\n\t0x13a3f: 0xe0009c8c,\n\t// Block 0x4e9, offset 0x13a40\n\t0x13a40: 0xe0006430, 0x13a42: 0xe0005925, 0x13a43: 0xe0007d5a,\n\t0x13a44: 0xe0007270, 0x13a46: 0xe00070d5,\n\t0x13a48: 0xe00045c1, 0x13a4a: 0xe00062f4, 0x13a4b: 0xe0005bd4,\n\t0x13a4f: 0xe000484d,\n\t0x13a5a: 0xe00067d7,\n\t0x13a5c: 0xe0005e13, 0x13a5d: 0xe0007392, 0x13a5e: 0xe0008a69,\n\t0x13a60: 0xe0004bf6, 0x13a63: 0xe00091d5,\n\t0x13a68: 0xe0009d9c, 0x13a69: 0xe000530e,\n\t0x13a70: 0xe0006524, 0x13a73: 0xe0006ea4,\n\t0x13a74: 0xe0006183, 0x13a75: 0xe000993d,\n\t0x13a78: 0xe0007273, 0x13a79: 0xe00068e0, 0x13a7a: 0xe00083fa,\n\t0x13a7d: 0xe00053f2, 0x13a7e: 0xe000a6e5, 0x13a7f: 0xe0005299,\n\t// Block 0x4ea, offset 0x13a80\n\t0x13a80: 0xe00056ec, 0x13a82: 0xe00069a5,\n\t0x13a86: 0xe000791f,\n\t0x13a8a: 0xe0008db5,\n\t0x13a8d: 0xe0008c95, 0x13a8f: 0xe0006a8f,\n\t0x13a91: 0xe0005292,\n\t0x13a98: 0xe000582b, 0x13a99: 0xe0007aa7, 0x13a9a: 0xe0005928,\n\t0x13a9d: 0xe000577b, 0x13a9f: 0xe000877e,\n\t0x13aa0: 0xe00059a4, 0x13aa3: 0xe00074f5,\n\t0x13aa5: 0xe0007db2, 0x13aa7: 0xe0008782,\n\t0x13aa8: 0xe0005dbd, 0x13aaa: 0xe000860b,\n\t0x13aac: 0xe0007963, 0x13aad: 0xe0009970,\n\t0x13ab3: 0xe00090a0,\n\t0x13ab4: 0xe00099de, 0x13ab6: 0xe000956c,\n\t0x13aba: 0xe00054df, 0x13abb: 0xe0009159,\n\t0x13abc: 0xe0004cb9, 0x13abe: 0xe000826f,\n\t// Block 0x4eb, offset 0x13ac0\n\t0x13ac1: 0xe00079d8, 0x13ac2: 0xe0007fba, 0x13ac3: 0xe0006e40,\n\t0x13ac5: 0xe0004cbc, 0x13ac7: 0xe00079c6,\n\t0x13ac8: 0xe000a91b, 0x13aca: 0xe0004cbf,\n\t0x13acc: 0xe0006f28, 0x13acd: 0xe0006b5a,\n\t0x13ad0: 0xe00090d0, 0x13ad2: 0xe0006dc2,\n\t0x13ad6: 0xe0009ec5,\n\t0x13adb: 0xe0009524,\n\t0x13adc: 0xe0007315, 0x13ade: 0xe0006165, 0x13adf: 0xe0008ee3,\n\t0x13ae1: 0xe00043e0,\n\t0x13aea: 0xe000a173, 0x13aeb: 0xe0006434,\n\t0x13aec: 0xe0006374,\n\t0x13af3: 0xe00098ea,\n\t0x13af5: 0xe0009ac9, 0x13af6: 0xe00062f8, 0x13af7: 0xe000a2d5,\n\t0x13af8: 0xe00041db, 0x13af9: 0xe0006ea8,\n\t0x13afd: 0xe0006478,\n\t// Block 0x4ec, offset 0x13b00\n\t0x13b00: 0xe00067da,\n\t0x13b05: 0xe00079c9, 0x13b07: 0xe0008be9,\n\t0x13b11: 0xe0009dec,\n\t0x13b18: 0xe00070d8, 0x13b19: 0xe00093db, 0x13b1a: 0xe0008db8,\n\t0x13b1f: 0xe0005699,\n\t0x13b24: 0xe0008426, 0x13b26: 0xe000a0e3,\n\t0x13b28: 0xe00060fc, 0x13b2a: 0xe0005ad3, 0x13b2b: 0xe0005ad6,\n\t0x13b2e: 0xe0004278, 0x13b2f: 0xe00058b5,\n\t0x13b31: 0xe000427c, 0x13b32: 0xe0006d58,\n\t0x13b34: 0xe0006910, 0x13b36: 0xe0007ae7,\n\t0x13b38: 0xe0009706,\n\t0x13b3e: 0xe000776f,\n\t// Block 0x4ed, offset 0x13b40\n\t0x13b4a: 0xe0009570, 0x13b4b: 0xe0008008,\n\t0x13b4d: 0xe0008692, 0x13b4e: 0xe0004dfb,\n\t0x13b52: 0xe0005ed7,\n\t0x13b54: 0xe000a82a,\n\t0x13b58: 0xe0006a11, 0x13b59: 0xe00067dd, 0x13b5a: 0xe00056f0,\n\t0x13b5d: 0xe00090a3, 0x13b5f: 0xe0006c5c,\n\t0x13b61: 0xe0004590, 0x13b62: 0xe000854e, 0x13b63: 0xe0006834,\n\t0x13b65: 0xe000446d, 0x13b66: 0xe000a472, 0x13b67: 0xe0006df2,\n\t0x13b68: 0xe000502f, 0x13b69: 0xe0004fd7, 0x13b6a: 0xe000514d, 0x13b6b: 0xe0008166,\n\t0x13b6c: 0xe000689c, 0x13b6d: 0xe0009cf1, 0x13b6e: 0xe0007c01, 0x13b6f: 0xe0007575,\n\t0x13b70: 0xe0005150, 0x13b71: 0xe000a565, 0x13b73: 0xe0006438,\n\t0x13b77: 0xe00090a6,\n\t0x13b78: 0xe00080a2, 0x13b79: 0xe0004f77, 0x13b7b: 0xe0009838,\n\t0x13b7c: 0xe000606c, 0x13b7d: 0xe00075c0, 0x13b7e: 0xe0006a14, 0x13b7f: 0xe00085ca,\n\t// Block 0x4ee, offset 0x13b80\n\t0x13b85: 0xe0007c3d,\n\t0x13b91: 0xe0008132, 0x13b92: 0xe0007aeb, 0x13b93: 0xe0005a68,\n\t0x13b94: 0xe0009c12, 0x13b95: 0xe0009709, 0x13b97: 0xe0006126,\n\t0x13b9b: 0xe0004199,\n\t0x13b9c: 0xe00060c8, 0x13b9e: 0xe0009e98, 0x13b9f: 0xe0004cc2,\n\t0x13ba0: 0xe000629c, 0x13ba1: 0xe000848c, 0x13ba3: 0xe00044f7,\n\t0x13ba5: 0xe0007829, 0x13ba6: 0xe0004850, 0x13ba7: 0xe0008892,\n\t0x13bab: 0xe0008b0d,\n\t0x13bb1: 0xe0007b9f, 0x13bb3: 0xe000569d,\n\t0x13bb4: 0xe00088d1,\n\t0x13bb9: 0xe0009e2c, 0x13bba: 0xe0005f3c, 0x13bbb: 0xe0006837,\n\t0x13bbd: 0xe0004853, 0x13bbe: 0xe0009fa9, 0x13bbf: 0xe0006247,\n\t// Block 0x4ef, offset 0x13bc0\n\t0x13bc0: 0xe0006914, 0x13bc1: 0xe0008fd9, 0x13bc2: 0xe0006168, 0x13bc3: 0xe0006568,\n\t0x13bc4: 0xe000419c, 0x13bc5: 0xe000606f,\n\t0x13bc8: 0xe0008644, 0x13bc9: 0xe0005ea7,\n\t0x13bd7: 0xe0006014,\n\t0x13bdb: 0xe00042a0,\n\t0x13bdc: 0xe0009574, 0x13bdd: 0xe000945a,\n\t0x13be3: 0xe0007cd9,\n\t0x13be8: 0xe000860e, 0x13bea: 0xe0004b51, 0x13beb: 0xe0005edb,\n\t0x13bef: 0xe00066e5,\n\t0x13bf1: 0xe0007204, 0x13bf2: 0xe0008647, 0x13bf3: 0xe0004434,\n\t0x13bf4: 0xe000a6e8, 0x13bf5: 0xe0008516, 0x13bf6: 0xe0005324,\n\t0x13bf8: 0xe0007f8a, 0x13bf9: 0xe00079cc,\n\t0x13bfc: 0xe00056a1,\n\t// Block 0x4f0, offset 0x13c00\n\t0x13c00: 0xe0007319, 0x13c03: 0xe0008a6d,\n\t0x13c07: 0xe000a202,\n\t0x13c09: 0xe000970c, 0x13c0a: 0xe000a3b5,\n\t0x13c0f: 0xe000859a,\n\t0x13c10: 0xe0009578, 0x13c11: 0xe000848f, 0x13c12: 0xe000a688,\n\t0x13c33: 0xe00056c7,\n\t0x13c37: 0xe000a005,\n\t0x13c3b: 0xe0008921,\n\t// Block 0x4f1, offset 0x13c40\n\t0x13c45: 0xe0005d48,\n\t0x13c49: 0xe0005d1e, 0x13c4a: 0xe0008786,\n\t0x13c4e: 0xe0006b5d,\n\t0x13c52: 0xe00044fa, 0x13c53: 0xe0005f3f,\n\t0x13c56: 0xe0004725,\n\t0x13c58: 0xe00074f9, 0x13c5a: 0xe0007aab, 0x13c5b: 0xe0008c59,\n\t0x13c5d: 0xe0008e86, 0x13c5e: 0xe0007e11, 0x13c5f: 0xe000a0f3,\n\t0x13c60: 0xe00082cc, 0x13c62: 0xe000a359,\n\t0x13c68: 0xe0005863, 0x13c69: 0xe00067e0, 0x13c6a: 0xe00075c3, 0x13c6b: 0xe0005e17,\n\t0x13c7d: 0xe0005edf, 0x13c7e: 0xe0005ef7, 0x13c7f: 0xe000864a,\n\t// Block 0x4f2, offset 0x13c80\n\t0x13c81: 0xe0009674, 0x13c82: 0xe0008955,\n\t0x13c85: 0xe0004a85,\n\t0x13c89: 0xe0005afa, 0x13c8a: 0xe0004d87,\n\t0x13c8c: 0xe0004f13,\n\t0x13c91: 0xe0009a05, 0x13c93: 0xe00049f9,\n\t0x13c94: 0xe0006719, 0x13c96: 0xe00093df,\n\t0x13c98: 0xe0007381,\n\t0x13c9c: 0xe000944b, 0x13c9f: 0xe00055a8,\n\t0x13ca0: 0xe0009d1b, 0x13ca1: 0xe000a0f7,\n\t0x13ca9: 0xe000669d, 0x13cab: 0xe0004f7b,\n\t0x13caf: 0xe000a568,\n\t0x13cb0: 0xe0004856, 0x13cb1: 0xe0005cd8, 0x13cb2: 0xe00069a8,\n\t0x13cb4: 0xe00076e3, 0x13cb6: 0xe0006781,\n\t0x13cb9: 0xe0008895,\n\t0x13cbd: 0xe00072b1,\n\t// Block 0x4f3, offset 0x13cc0\n\t0x13cc3: 0xe0009940,\n\t0x13cc4: 0xe0005560, 0x13cc6: 0xe0006a17, 0x13cc7: 0xe00087de,\n\t0x13cca: 0xe0005878, 0x13ccb: 0xe0009494,\n\t0x13ccc: 0xe0005f7c, 0x13ccd: 0xe0009e18, 0x13cce: 0xe00081c7,\n\t0x13ce9: 0xe000983b,\n\t0x13cec: 0xe0005e5b,\n\t0x13cf1: 0xe000a80e,\n\t0x13cf5: 0xe0007dd3,\n\t0x13cf8: 0xe0008272, 0x13cf9: 0xe0009df0,\n\t0x13cfc: 0xe000764f, 0x13cfd: 0xe0005797,\n\t// Block 0x4f4, offset 0x13d00\n\t0x13d06: 0xe00066b5,\n\t0x13d09: 0xe0007b33, 0x13d0a: 0xe00076ff,\n\t0x13d11: 0xe0009f60,\n\t0x13d17: 0xe0008898,\n\t0x13d1a: 0xe0007589, 0x13d1b: 0xe00042cc,\n\t0x13d21: 0xe0009e9b, 0x13d23: 0xe000566d,\n\t0x13d26: 0xe00081ca,\n\t0x13d29: 0xe0009d1e, 0x13d2a: 0xe00047f9, 0x13d2b: 0xe000a475,\n\t0x13d2c: 0xe000878a, 0x13d2d: 0xe00041de, 0x13d2f: 0xe000782d,\n\t0x13d31: 0xe00097e4, 0x13d33: 0xe00081f4,\n\t0x13d35: 0xe0004ec1, 0x13d37: 0xe000a7f2,\n\t0x13d3a: 0xe0009011,\n\t// Block 0x4f5, offset 0x13d40\n\t0x13d42: 0xe00096be,\n\t0x13d50: 0xe0007207,\n\t0x13d54: 0xe000742a,\n\t0x13d59: 0xe00060dc,\n\t0x13d5c: 0xe0006bfc, 0x13d5f: 0xe0004d52,\n\t0x13d61: 0xe000643c,\n\t0x13d68: 0xe000957c,\n\t0x13d6d: 0xe0009892, 0x13d6f: 0xe0004b9c,\n\t0x13d72: 0xe0009e9e,\n\t0x13d74: 0xe0006bd0,\n\t0x13d78: 0xe000903d, 0x13d79: 0xe0004689, 0x13d7a: 0xe00091f1, 0x13d7b: 0xe0007831,\n\t0x13d7c: 0xe00093e3, 0x13d7f: 0xe000a478,\n\t// Block 0x4f6, offset 0x13d80\n\t0x13d80: 0xe0007128, 0x13d81: 0xe0009199, 0x13d82: 0xe0006018,\n\t0x13d84: 0xe00098d2, 0x13d86: 0xe0006e28,\n\t0x13d89: 0xe0007f8e, 0x13d8a: 0xe0007d9a, 0x13d8b: 0xe0004470,\n\t0x13d8d: 0xe000742d,\n\t0x13d90: 0xe0007f3e, 0x13d91: 0xe0006b60, 0x13d93: 0xe00064d1,\n\t0x13d96: 0xe0006a1a,\n\t0x13d9a: 0xe000720a,\n\t0x13dac: 0xe000675d, 0x13dad: 0xe0007703, 0x13dae: 0xe0005988, 0x13daf: 0xe00097e8,\n\t0x13db1: 0xe0009e30,\n\t0x13db4: 0xe000731d,\n\t0x13dbc: 0xe0005bb6, 0x13dbd: 0xe0009fc5,\n\t// Block 0x4f7, offset 0x13dc0\n\t0x13dc0: 0xe000683a,\n\t0x13dc6: 0xe0005ce4,\n\t0x13dd1: 0xe0005fe4, 0x13dd3: 0xe0005e5f,\n\t0x13dd4: 0xe00066e9, 0x13dd5: 0xe00096c1, 0x13dd7: 0xe0008611,\n\t0x13dd8: 0xe0006c60, 0x13dda: 0xe00080d2,\n\t0x13dde: 0xe0005c06, 0x13ddf: 0xe0008f25,\n\t0x13de1: 0xe000944e, 0x13de3: 0xe000878e,\n\t0x13de5: 0xe00097dc, 0x13de6: 0xe0008dbb,\n\t0x13dea: 0xe0008b11,\n\t0x13dec: 0xe000708d, 0x13ded: 0xe00083b6, 0x13def: 0xe000915d,\n\t0x13dfd: 0xe0009e4d, 0x13dff: 0xe00081cd,\n\t// Block 0x4f8, offset 0x13e00\n\t0x13e01: 0xe00053f6, 0x13e03: 0xe0006510,\n\t0x13e06: 0xe0009580,\n\t0x13e09: 0xe000970f, 0x13e0a: 0xe0007c40, 0x13e0b: 0xe0007c43,\n\t0x13e0e: 0xe0004bf9,\n\t0x13e13: 0xe00080a6,\n\t0x13e15: 0xe00082cf, 0x13e16: 0xe00044fd,\n\t0x13e18: 0xe0007f19, 0x13e19: 0xe000a3f4,\n\t0x13e1e: 0xe00096c4,\n\t0x13e21: 0xe00068e4, 0x13e23: 0xe0007321,\n\t0x13e24: 0xe00082d2,\n\t0x13e28: 0xe0004e4f, 0x13e29: 0xe0009be0, 0x13e2a: 0xe000616b, 0x13e2b: 0xe00056a5,\n\t0x13e2d: 0xe0007090,\n\t0x13e3a: 0xe0009019,\n\t0x13e3e: 0xe0005b8f,\n\t// Block 0x4f9, offset 0x13e40\n\t0x13e40: 0xe0007d3a,\n\t0x13e44: 0xe00062fc, 0x13e46: 0xe00077a8, 0x13e47: 0xe0006217,\n\t0x13e49: 0xe0007c46, 0x13e4a: 0xe00047fc,\n\t0x13e4c: 0xe000a232, 0x13e4f: 0xe0008429,\n\t0x13e51: 0xe00043e4,\n\t0x13e54: 0xe0008792, 0x13e57: 0xe000816a,\n\t0x13e59: 0xe0009a08, 0x13e5b: 0xe0006f2c,\n\t0x13e5d: 0xe000542a,\n\t0x13e64: 0xe000a1da, 0x13e65: 0xe000979c, 0x13e66: 0xe0009528,\n\t0x13e68: 0xe000a7fe, 0x13e69: 0xe0006c48, 0x13e6a: 0xe00074fd,\n\t0x13e6f: 0xe0006dc5,\n\t0x13e70: 0xe000a7d6,\n\t0x13e7a: 0xe0008c98,\n\t// Block 0x4fa, offset 0x13e80\n\t0x13e81: 0xe0004859,\n\t0x13e89: 0xe0008614,\n\t0x13e8d: 0xe0005813, 0x13e8e: 0xe0007501, 0x13e8f: 0xe0008796,\n\t0x13e90: 0xe0006132,\n\t0x13e95: 0xe000800b,\n\t0x13e9c: 0xe00058fe, 0x13e9d: 0xe0007c04,\n\t0x13ea4: 0xe0005724, 0x13ea5: 0xe0007835,\n\t0x13ea9: 0xe0006514, 0x13eaa: 0xe000720d,\n\t0x13eb7: 0xe000889b,\n\t0x13eb9: 0xe00077ab, 0x13eba: 0xe0005d6d, 0x13ebb: 0xe0008d4f,\n\t0x13ebd: 0xe0009a3e, 0x13ebf: 0xe0004a3d,\n\t// Block 0x4fb, offset 0x13ec0\n\t0x13ec0: 0xe0009b4c, 0x13ec2: 0xe0007c07,\n\t0x13ec4: 0xe0005153, 0x13ec6: 0xe0005aac, 0x13ec7: 0xe0007093,\n\t0x13eca: 0xe0007d22, 0x13ecb: 0xe0006a93,\n\t0x13ed6: 0xe000795f, 0x13ed7: 0xe00065a0,\n\t0x13ed8: 0xe00078d1, 0x13eda: 0xe0006eac,\n\t0x13ee2: 0xe0005b56,\n\t0x13ee7: 0xe0004500,\n\t0x13ee9: 0xe0006528,\n\t0x13eed: 0xe00057c3, 0x13eef: 0xe0009bf0,\n\t0x13efc: 0xe000624a, 0x13eff: 0xe0005760,\n\t// Block 0x4fc, offset 0x13f00\n\t0x13f01: 0xe0005156,\n\t0x13f0e: 0xe000a47b,\n\t0x13f10: 0xe000a037, 0x13f13: 0xe000a76c,\n\t0x13f14: 0xe000452c, 0x13f15: 0xe000948e,\n\t0x13f1b: 0xe000a23c,\n\t0x13f1c: 0xe0005aaf, 0x13f1e: 0xe000800e, 0x13f1f: 0xe000a47e,\n\t0x13f27: 0xe000a85d,\n\t0x13f2b: 0xe000a82d,\n\t0x13f2c: 0xe0004eee, 0x13f2f: 0xe0004ef1,\n\t0x13f31: 0xe000739a,\n\t0x13f38: 0xe000864d, 0x13f39: 0xe000a52d, 0x13f3a: 0xe000a830, 0x13f3b: 0xe0005f8c,\n\t// Block 0x4fd, offset 0x13f40\n\t0x13f4a: 0xe00061b9, 0x13f4b: 0xe0007c49,\n\t0x13f4c: 0xe0006440, 0x13f4d: 0xe0006a1d,\n\t0x13f53: 0xe000851a,\n\t0x13f55: 0xe0009584,\n\t0x13f63: 0xe00049aa,\n\t0x13f64: 0xe0008d52,\n\t0x13f68: 0xe000683d, 0x13f69: 0xe00099e1, 0x13f6a: 0xe00056df,\n\t0x13f6f: 0xe0004d55,\n\t0x13f70: 0xe00082d5, 0x13f71: 0xe0009481,\n\t0x13f74: 0xe00082d8,\n\t// Block 0x4fe, offset 0x13f80\n\t0x13f80: 0xe0008f28,\n\t0x13f85: 0xe0008b15, 0x13f86: 0xe00088d4, 0x13f87: 0xe0006b63,\n\t0x13f89: 0xe0005a6c, 0x13f8b: 0xe000536a,\n\t0x13f94: 0xe000a6eb,\n\t0x13f99: 0xe0007db5, 0x13f9b: 0xe0008ee6,\n\t0x13f9e: 0xe000a638, 0x13f9f: 0xe0004bfc,\n\t0x13fa3: 0xe000518f,\n\t0x13fa4: 0xe000a113,\n\t0x13fa9: 0xe00049ce,\n\t0x13fac: 0xe00049d2, 0x13fad: 0xe00091d9,\n\t0x13fb8: 0xe00070db, 0x13fb9: 0xe0007fbe, 0x13fbb: 0xe0007039,\n\t0x13fbe: 0xe00075c6,\n\t// Block 0x4ff, offset 0x13fc0\n\t0x13fc0: 0xe0009788, 0x13fc2: 0xe0006761, 0x13fc3: 0xe0007505,\n\t0x13fc6: 0xe000a309,\n\t0x13fc8: 0xe0007ca3, 0x13fc9: 0xe0006840, 0x13fca: 0xe0005d4b, 0x13fcb: 0xe0005867,\n\t0x13fd1: 0xe000539a,\n\t0x13fd8: 0xe00090a9, 0x13fda: 0xe00069ab,\n\t0x13fdc: 0xe00062b0, 0x13fdd: 0xe0005159,\n\t0x13fe1: 0xe0006bae,\n\t0x13fe5: 0xe0006e44,\n\t0x13fe8: 0xe0008b39, 0x13fe9: 0xe0008dbe,\n\t0x13ff4: 0xe00094f0, 0x13ff5: 0xe0007aaf, 0x13ff7: 0xe0004e43,\n\t0x13ffa: 0xe0007c4c, 0x13ffb: 0xe000968c,\n\t0x13fff: 0xe000816e,\n\t// Block 0x500, offset 0x14000\n\t0x14000: 0xe00056a9,\n\t0x1400c: 0xe0004a26, 0x1400e: 0xe00042d4,\n\t0x14015: 0xe000749d, 0x14017: 0xe000a68c,\n\t0x14019: 0xe0009df4,\n\t0x1401f: 0xe00081d0,\n\t0x14020: 0xe000671d,\n\t0x14024: 0xe00082db, 0x14025: 0xe000609c, 0x14026: 0xe000a008,\n\t0x14028: 0xe0007396,\n\t0x1402e: 0xe0006721,\n\t0x14034: 0xe000a481, 0x14036: 0xe0008b2d,\n\t0x14038: 0xe0007db8,\n\t// Block 0x501, offset 0x14040\n\t0x14042: 0xe000584f, 0x14043: 0xe000647c,\n\t0x1404c: 0xe00063a0, 0x1404d: 0xe000834e,\n\t0x14058: 0xe0008453,\n\t0x1405e: 0xe0005dfb, 0x1405f: 0xe000601c,\n\t0x14062: 0xe000a3b9, 0x14063: 0xe000574c,\n\t0x1406d: 0xe0005d4e,\n\t0x14073: 0xe0005472,\n\t0x14074: 0xe000919d,\n\t0x1407a: 0xe0005763, 0x1407b: 0xe0005c21,\n\t0x1407d: 0xe0008e69,\n\t// Block 0x502, offset 0x14080\n\t0x14080: 0xe0007144,\n\t0x14084: 0xe0009a96, 0x14087: 0xe0005dfe,\n\t0x1408a: 0xe000609f, 0x1408b: 0xe0007551,\n\t0x14092: 0xe0005efb,\n\t0x1409a: 0xe0009da8, 0x1409b: 0xe0009dac,\n\t0x140a0: 0xe0006378, 0x140a3: 0xe000515c,\n\t0x140ac: 0xe0006eb0, 0x140af: 0xe0007ee0,\n\t0x140b2: 0xe0009922,\n\t0x140b7: 0xe00054a2,\n\t0x140b9: 0xe000a1b0, 0x140bb: 0xe000842c,\n\t0x140be: 0xe0006f74,\n\t// Block 0x503, offset 0x140c0\n\t0x140c5: 0xe00073de,\n\t0x140cd: 0xe00042ec,\n\t0x140d1: 0xe0007bd3,\n\t0x140d5: 0xe0007ab3,\n\t0x140df: 0xe000582f,\n\t0x140e1: 0xe000592b, 0x140e2: 0xe0008f89, 0x140e3: 0xe0005901,\n\t0x140f1: 0xe000485c, 0x140f2: 0xe000462d,\n\t0x140f6: 0xe00086f6,\n\t0x140f9: 0xe00056e2, 0x140fb: 0xe0005e63,\n\t// Block 0x504, offset 0x14100\n\t0x14100: 0xe000a321,\n\t0x14104: 0xe00052f1, 0x14106: 0xe0008fe9,\n\t0x1410a: 0xe0005fec,\n\t0x1410c: 0xe000a206, 0x1410d: 0xe0007a73, 0x1410e: 0xe00042a4,\n\t0x14112: 0xe000a2d9, 0x14113: 0xe0007365,\n\t0x14117: 0xe000419f,\n\t0x14119: 0xe00075c9, 0x1411b: 0xe00081d3,\n\t0x1411d: 0xe0009926, 0x1411e: 0xe00081f7,\n\t0x14121: 0xe000a3bd, 0x14122: 0xe0004cc5, 0x14123: 0xe000842f,\n\t0x14128: 0xe0009f06, 0x1412b: 0xe0006c64,\n\t0x1412e: 0xe000493a,\n\t0x14130: 0xe0007189, 0x14132: 0xe0005204,\n\t0x14137: 0xe000992a,\n\t0x1413d: 0xe00085a6, 0x1413e: 0xe0004fdb, 0x1413f: 0xe0004fdf,\n\t// Block 0x505, offset 0x14140\n\t0x14141: 0xe0008136, 0x14142: 0xe0006030,\n\t0x14148: 0xe00041a2, 0x1414b: 0xe00054e2,\n\t0x1414d: 0xe0009ea1,\n\t0x14152: 0xe000536e,\n\t0x14156: 0xe0007210, 0x14157: 0xe0009161,\n\t0x1415b: 0xe00088d7,\n\t0x1415d: 0xe0006843, 0x1415e: 0xe000491e,\n\t0x14162: 0xe000652c,\n\t0x1416a: 0xe0004503, 0x1416b: 0xe0009f70,\n\t0x14174: 0xe000485f,\n\t// Block 0x506, offset 0x14180\n\t0x14180: 0xe0008552, 0x14181: 0xe000881e, 0x14182: 0xe00059c8,\n\t0x14185: 0xe00087e2,\n\t0x1418a: 0xe00052c9,\n\t0x1418d: 0xe000493e, 0x1418f: 0xe0005d21,\n\t0x14192: 0xe0006846,\n\t0x14194: 0xe0007c0a, 0x14195: 0xe0008275,\n\t0x14198: 0xe0004d58, 0x14199: 0xe0004db3,\n\t0x1419c: 0xe00066a0, 0x1419d: 0xe000879a, 0x1419f: 0xe0006b66,\n\t0x141a1: 0xe0005d24,\n\t0x141a8: 0xe00069ae,\n\t0x141af: 0xe0008f2b,\n\t0x141b1: 0xe0009f2d, 0x141b3: 0xe0006d04,\n\t0x141b4: 0xe00064b0, 0x141b5: 0xe00064b3,\n\t0x141b8: 0xe0005766, 0x141b9: 0xe0004a29,\n\t0x141bd: 0xe0008c9b, 0x141be: 0xe0004506,\n\t// Block 0x507, offset 0x141c0\n\t0x141c4: 0xe0009497, 0x141c7: 0xe00066ed,\n\t0x141ca: 0xe0009df8,\n\t0x141cc: 0xe0004942,\n\t0x141d0: 0xe00042d0, 0x141d2: 0xe0009ea4, 0x141d3: 0xe00066a3,\n\t0x141d5: 0xe00082de,\n\t0x141d8: 0xe00081d6, 0x141d9: 0xe00064b6, 0x141da: 0xe00088da,\n\t0x141e5: 0xe0007f32, 0x141e7: 0xe0004785,\n\t0x141ea: 0xe0009c8f, 0x141eb: 0xe0009a0b,\n\t0x141f0: 0xe0004548,\n\t0x141f6: 0xe00073aa,\n\t0x141f8: 0xe0005c09, 0x141fa: 0xe0009660, 0x141fb: 0xe0006f30,\n\t// Block 0x508, offset 0x14200\n\t0x14201: 0xe00043e8,\n\t0x14204: 0xe00078a5,\n\t0x1420d: 0xe000871a,\n\t0x14216: 0xe0007cdc,\n\t0x14218: 0xe0004b9f,\n\t0x1421c: 0xe0009624, 0x1421e: 0xe00065b8, 0x1421f: 0xe0004fe3,\n\t0x14220: 0xe00054a6,\n\t0x14224: 0xe0005817,\n\t0x1422a: 0xe0005eab,\n\t0x1422d: 0xe000a988, 0x1422f: 0xe0009a42,\n\t0x14232: 0xe00073ae,\n\t0x14234: 0xe00057db,\n\t0x1423f: 0xe0006dc8,\n\t// Block 0x509, offset 0x14240\n\t0x14241: 0xe0007ee3, 0x14243: 0xe00053fa,\n\t0x14246: 0xe00066f1, 0x14247: 0xe0009d7b,\n\t0x14248: 0xe000a1f2, 0x14249: 0xe000515f, 0x1424b: 0xe0004601,\n\t0x1424f: 0xe0004ec4,\n\t0x14253: 0xe0005f94,\n\t0x14256: 0xe0007430, 0x14257: 0xe0006bb1,\n\t0x14258: 0xe0008b19,\n\t0x14261: 0xe00045c5,\n\t0x14268: 0xe0007653, 0x14269: 0xe0005563, 0x1426a: 0xe0009a36,\n\t0x1426c: 0xe0005162, 0x1426f: 0xe0004d5b,\n\t0x14272: 0xe0004f7f,\n\t0x14277: 0xe000949a,\n\t0x1427a: 0xe0004204,\n\t0x1427d: 0xe000581b, 0x1427f: 0xe0008959,\n\t// Block 0x50a, offset 0x14280\n\t0x14280: 0xe0004a89,\n\t0x14292: 0xe0004208,\n\t0x14294: 0xe0004fa7, 0x14296: 0xe0004651,\n\t0x1429a: 0xe00048b6,\n\t0x1429c: 0xe0008650, 0x1429d: 0xe00088dd,\n\t0x142a3: 0xe000a1b3,\n\t0x142a5: 0xe0004bba,\n\t0x142b1: 0xe0009fc9, 0x142b3: 0xe00048f6,\n\t0x142b4: 0xe0006d08,\n\t0x142b8: 0xe000978c,\n\t// Block 0x50b, offset 0x142c0\n\t0x142c0: 0xe0007937, 0x142c2: 0xe0008bed, 0x142c3: 0xe00067e3,\n\t0x142c7: 0xe0004bbe,\n\t0x142c8: 0xe00047d2, 0x142c9: 0xe0006570, 0x142ca: 0xe0007509,\n\t0x142cc: 0xe000a531, 0x142ce: 0xe0009c53,\n\t0x142d0: 0xe00076bb, 0x142d1: 0xe00084b6, 0x142d3: 0xe000a7da,\n\t0x142d4: 0xe000839a, 0x142d5: 0xe0006c28, 0x142d6: 0xe000a8d3, 0x142d7: 0xe0009b2c,\n\t0x142d8: 0xe00050e7, 0x142db: 0xe0007dbb,\n\t0x142dd: 0xe00075cc, 0x142df: 0xe0007158,\n\t0x142e2: 0xe000a8bf, 0x142e3: 0xe0004649,\n\t0x142e5: 0xe00052d9,\n\t0x142ea: 0xe0006444,\n\t0x142ed: 0xe0006f34,\n\t0x142f1: 0xe000a23f,\n\t0x142f4: 0xe0007096, 0x142f6: 0xe00041a5,\n\t0x142fa: 0xe0009165, 0x142fb: 0xe0008ee9,\n\t0x142fc: 0xe0008c5d, 0x142fe: 0xe0008653,\n\t// Block 0x50c, offset 0x14300\n\t0x14301: 0xe00048b9,\n\t0x14306: 0xe00088e0,\n\t0x1430b: 0xe0008f2e,\n\t0x14310: 0xe0006b69, 0x14311: 0xe00084b9,\n\t0x14314: 0xe0008d55, 0x14315: 0xe0009e1c, 0x14316: 0xe0009f79, 0x14317: 0xe000a3d9,\n\t0x14318: 0xe0004de7, 0x1431b: 0xe000889e,\n\t0x1431e: 0xe0006b6c,\n\t0x14320: 0xe0007ba3, 0x14321: 0xe000a7ae, 0x14322: 0xe0007325, 0x14323: 0xe0007c0d,\n\t0x14326: 0xe0007433,\n\t0x14329: 0xe0007436, 0x1432b: 0xe0009ae7,\n\t0x1432c: 0xe0004d5e, 0x1432d: 0xe0004e64, 0x1432e: 0xe00089dd,\n\t0x14330: 0xe000a97c, 0x14331: 0xe000a56b, 0x14332: 0xe000a1b6, 0x14333: 0xe0006d0c,\n\t0x14335: 0xe0006eb4,\n\t0x14339: 0xe0009600,\n\t0x1433c: 0xe000a703, 0x1433f: 0xe0004b6f,\n\t// Block 0x50d, offset 0x14340\n\t0x14342: 0xe0008dc1,\n\t0x14344: 0xe0005b92, 0x14345: 0xe0008eec, 0x14346: 0xe0004b55, 0x14347: 0xe00049fc,\n\t0x1434c: 0xe00090ac, 0x1434d: 0xe000851e,\n\t0x14351: 0xe0004b59, 0x14353: 0xe0006dcb,\n\t0x14355: 0xe0009b7c,\n\t0x14358: 0xe0008278, 0x1435a: 0xe0009751,\n\t0x1435e: 0xe00078f7,\n\t0x14360: 0xe0007008, 0x14361: 0xe00047d5, 0x14362: 0xe000a30d, 0x14363: 0xe000616e,\n\t0x14364: 0xe0007ca6, 0x14365: 0xe0004862, 0x14366: 0xe000715c, 0x14367: 0xe0009ec8,\n\t0x14368: 0xe000a6ee, 0x1436a: 0xe0006f38,\n\t0x14370: 0xe0007213, 0x14372: 0xe00049ff,\n\t0x14379: 0xe00069b1,\n\t0x1437c: 0xe0008432, 0x1437e: 0xe0008366, 0x1437f: 0xe0008d58,\n\t// Block 0x50e, offset 0x14380\n\t0x14382: 0xe0009604,\n\t0x14384: 0xe0007329, 0x14387: 0xe00053fe,\n\t0x14389: 0xe00081fa, 0x1438b: 0xe0009678,\n\t0x1438d: 0xe0008847, 0x1438f: 0xe000983e,\n\t0x14392: 0xe00058b9,\n\t0x14396: 0xe0005b26,\n\t0x1439b: 0xe000827b,\n\t0x1439c: 0xe0009644, 0x1439e: 0xe0009dfc, 0x1439f: 0xe0007463,\n\t0x143a0: 0xe000a816, 0x143a1: 0xe0007439,\n\t0x143a4: 0xe0007657, 0x143a6: 0xe00096a3, 0x143a7: 0xe000a1b9,\n\t0x143aa: 0xe0008bf1, 0x143ab: 0xe0004280,\n\t0x143ad: 0xe000827e, 0x143ae: 0xe0008617,\n\t0x143b0: 0xe0007466, 0x143b1: 0xe000a842, 0x143b3: 0xe0007707,\n\t0x143b4: 0xe000a0fb, 0x143b6: 0xe0007579, 0x143b7: 0xe0009f4c,\n\t0x143b8: 0xe0008c9e, 0x143ba: 0xe000793b,\n\t0x143bc: 0xe000a81a, 0x143be: 0xe00051bc,\n\t// Block 0x50f, offset 0x143c0\n\t0x143c0: 0xe0006072, 0x143c1: 0xe000769f, 0x143c2: 0xe00081d9,\n\t0x143c4: 0xe0005728, 0x143c7: 0xe000454c,\n\t0x143cc: 0xe00041e1, 0x143ce: 0xe000621a,\n\t0x143d0: 0xe00062b4, 0x143d1: 0xe000a412,\n\t0x143d4: 0xe000a03b, 0x143d6: 0xe0007108, 0x143d7: 0xe0006448,\n\t0x143d9: 0xe0004665, 0x143da: 0xe00084d6, 0x143db: 0xe00043ec,\n\t0x143dc: 0xe0008172, 0x143dd: 0xe0006b6f,\n\t0x143e0: 0xe0007ee6, 0x143e3: 0xe0008050,\n\t0x143e6: 0xe0004789,\n\t0x143e8: 0xe0006075, 0x143eb: 0xe0008925,\n\t0x143ec: 0xe0005c4b,\n\t0x143f3: 0xe0004cc8,\n\t0x143f7: 0xe0007cdf,\n\t0x143f9: 0xe0004f83,\n\t0x143fe: 0xe0005e83,\n\t// Block 0x510, offset 0x14400\n\t0x14401: 0xe000a56e, 0x14403: 0xe000a7b1,\n\t0x14409: 0xe0009041,\n\t0x1440c: 0xe0007dd6, 0x1440e: 0xe000a873, 0x1440f: 0xe00050ea,\n\t0x14414: 0xe0006ef8, 0x14416: 0xe0009377,\n\t0x14418: 0xe00074a1, 0x14419: 0xe0009754, 0x1441a: 0xe0005402,\n\t0x1441c: 0xe00066a6, 0x1441f: 0xe0008dc4,\n\t0x14426: 0xe0004729,\n\t0x1442b: 0xe0006f94,\n\t0x1442c: 0xe00069b4, 0x1442f: 0xe00079f3,\n\t0x14430: 0xe0008435, 0x14431: 0xe0006efc,\n\t0x14434: 0xe0004605, 0x14437: 0xe000a484,\n\t0x1443d: 0xe0007c10, 0x1443f: 0xe000a415,\n\t// Block 0x511, offset 0x14440\n\t0x14440: 0xe00055e1,\n\t0x14449: 0xe00082e1, 0x1444a: 0xe00065cc,\n\t0x1444c: 0xe0007ab7, 0x1444e: 0xe0007276,\n\t0x14450: 0xe0007216, 0x14452: 0xe0009347, 0x14453: 0xe00078a9,\n\t0x14456: 0xe000934b,\n\t0x1445a: 0xe00092d7,\n\t0x1445c: 0xe00054aa, 0x1445e: 0xe000794b,\n\t// Block 0x512, offset 0x14480\n\t0x144b7: 0xe00048e2,\n\t0x144bf: 0xe00047d8,\n\t// Block 0x513, offset 0x144c0\n\t0x144c1: 0xe000a630,\n\t0x144c6: 0xe00056ca, 0x144c7: 0xe0004438,\n\t0x144c8: 0xe00050ed, 0x144c9: 0xe0007469, 0x144ca: 0xe0009f50,\n\t0x144cc: 0xe0007e15, 0x144ce: 0xe0007279,\n\t0x144d5: 0xe000743c, 0x144d6: 0xe00098ee,\n\t0x144da: 0xe000560d,\n\t0x144e1: 0xe0006d10, 0x144e2: 0xe000a610,\n\t0x144e8: 0xe000a976, 0x144ea: 0xe000a487, 0x144eb: 0xe0007c13,\n\t0x144ec: 0xe00088e3,\n\t0x144f3: 0xe0006a97,\n\t0x144f8: 0xe0009a0e, 0x144f9: 0xe0009f09, 0x144fa: 0xe000743f,\n\t// Block 0x514, offset 0x14500\n\t0x14502: 0xe0009712, 0x14503: 0xe0005f60,\n\t0x1450a: 0xe0005f4c,\n\t0x1450c: 0xe0006078, 0x1450d: 0xe0005d51,\n\t0x14513: 0xe0006135,\n\t0x14514: 0xe0006a20,\n\t0x14518: 0xe0005f64,\n\t0x1451d: 0xe0009d7e, 0x1451e: 0xe0008bf5,\n\t0x14520: 0xe00067e6, 0x14521: 0xe0008821, 0x14522: 0xe00049ae,\n\t0x14527: 0xe0006a73,\n\t0x14528: 0xe000a571, 0x14529: 0xe0009d38, 0x1452a: 0xe0009bac, 0x1452b: 0xe0004a8d,\n\t0x1452c: 0xe0009469, 0x1452f: 0xe00088a1,\n\t0x14530: 0xe000702d, 0x14532: 0xe0008656, 0x14533: 0xe0008495,\n\t0x14534: 0xe0004e9d, 0x14536: 0xe0009e00, 0x14537: 0xe0005f21,\n\t0x14538: 0xe00054e5, 0x1453a: 0xe000a6b0, 0x1453b: 0xe00069b7,\n\t0x1453c: 0xe0009648, 0x1453d: 0xe0008492, 0x1453f: 0xe0006171,\n\t// Block 0x515, offset 0x14540\n\t0x14540: 0xe000a00b, 0x14541: 0xe00068a0, 0x14542: 0xe0005b6e, 0x14543: 0xe000859e,\n\t0x14544: 0xe000a6f1, 0x14546: 0xe00065f0, 0x14547: 0xe000861a,\n\t0x14548: 0xe00041a8, 0x1454a: 0xe0008929,\n\t0x14551: 0xe0009169, 0x14553: 0xe0006a77,\n\t0x14559: 0xe0008f31, 0x1455a: 0xe0005b71,\n\t0x1455c: 0xe0006b72, 0x1455e: 0xe0006d14,\n\t0x14560: 0xe00064b9, 0x14561: 0xe00044a6, 0x14562: 0xe000a2dd, 0x14563: 0xe0005f24,\n\t0x14564: 0xe000952c, 0x14566: 0xe00067e9,\n\t0x1456a: 0xe00091dd,\n\t0x1456c: 0xe00087e6, 0x1456d: 0xe0005566,\n\t0x14574: 0xe0005b74,\n\t0x1457b: 0xe00067ec,\n\t0x1457c: 0xe0004ccb, 0x1457d: 0xe0006d46,\n\t// Block 0x516, offset 0x14580\n\t0x14584: 0xe00090af, 0x14585: 0xe0009943, 0x14587: 0xe0008322,\n\t0x14588: 0xe0009045, 0x1458a: 0xe00092db, 0x1458b: 0xe0007693,\n\t0x1458d: 0xe0006f78, 0x1458f: 0xe0007bd7,\n\t0x14590: 0xe0007535, 0x14593: 0xe000879e,\n\t0x14594: 0xe0006a23, 0x14596: 0xe000710c,\n\t0x1459b: 0xe00049d6,\n\t// Block 0x517, offset 0x145c0\n\t0x145e4: 0xe000892d, 0x145e6: 0xe0006b75, 0x145e7: 0xe00051d4,\n\t0x145eb: 0xe000a281,\n\t0x145ed: 0xe0008659,\n\t0x145f0: 0xe0008eef, 0x145f3: 0xe0004ec7,\n\t0x145f4: 0xe00067ef, 0x145f6: 0xe00042a8, 0x145f7: 0xe00050f0,\n\t// Block 0x518, offset 0x14600\n\t0x14601: 0xe00091a1,\n\t0x14605: 0xe0009715,\n\t0x1460a: 0xe000818a,\n\t0x1460e: 0xe0008f34,\n\t0x14610: 0xe000a32d,\n\t0x14619: 0xe0008d5b,\n\t0x14620: 0xe0009757, 0x14623: 0xe0009973,\n\t0x14628: 0xe0009841, 0x1462b: 0xe0004c38,\n\t0x14632: 0xe0009307, 0x14633: 0xe0008de1,\n\t0x1463a: 0xe00067f2,\n\t0x1463e: 0xe00090b2,\n\t// Block 0x519, offset 0x14640\n\t0x14642: 0xe0005165,\n\t0x14646: 0xe0009c15,\n\t0x1464b: 0xe00063c0,\n\t0x1464c: 0xe00091e1, 0x1464e: 0xe0009aea, 0x1464f: 0xe00041ab,\n\t0x14655: 0xe0008b3d, 0x14656: 0xe00094f4, 0x14657: 0xe0006849,\n\t0x1465b: 0xe0009cf4,\n\t0x1465d: 0xe00044d3, 0x1465f: 0xe0004fab,\n\t0x14661: 0xe0008931, 0x14663: 0xe0006eb8,\n\t0x14668: 0xe0004a02, 0x1466a: 0xe0004e8b, 0x1466b: 0xe00049da,\n\t0x1466c: 0xe0004ef4, 0x1466f: 0xe0005ab2,\n\t0x14671: 0xe0009a11, 0x14673: 0xe0005569,\n\t0x1467c: 0xe0004d9f,\n\t// Block 0x51a, offset 0x14680\n\t0x14686: 0xe0008fbd,\n\t0x14688: 0xe00070de, 0x14689: 0xe00058d5, 0x1468a: 0xe0007f92,\n\t0x1468f: 0xe0005446,\n\t0x14690: 0xe0009530,\n\t0x14694: 0xe0009b50,\n\t0x1469d: 0xe0004a2c, 0x1469e: 0xe00044d6, 0x1469f: 0xe00090d3,\n\t0x146aa: 0xe0008e39,\n\t0x146b0: 0xe0008281,\n\t0x146b4: 0xe0007fc2, 0x146b5: 0xe0008e3d, 0x146b6: 0xe0008cd1,\n\t0x146bd: 0xe0008053,\n\t// Block 0x51b, offset 0x146c0\n\t0x146c0: 0xe0008b41, 0x146c2: 0xe0008284,\n\t0x146c4: 0xe0008ca1, 0x146c7: 0xe0004530,\n\t0x146c8: 0xe000556c, 0x146c9: 0xe0009266, 0x146ca: 0xe000a3f7,\n\t0x146cc: 0xe000941b, 0x146cf: 0xe0008cd4,\n\t0x146d5: 0xe0009fcd,\n\t0x146d9: 0xe00098d6,\n\t0x146dc: 0xe00098f2, 0x146df: 0xe0008935,\n\t0x146e0: 0xe00094cc, 0x146e3: 0xe0005e87,\n\t0x146e4: 0xe0008e6d,\n\t0x146f2: 0xe0008fc1,\n\t0x146f4: 0xe00098da, 0x146f6: 0xe0004e53,\n\t0x146fb: 0xe0004c3b,\n\t// Block 0x51c, offset 0x14700\n\t0x14701: 0xe0008d5e,\n\t0x14705: 0xe00097a0, 0x14707: 0xe00088a4,\n\t0x14709: 0xe000561d, 0x1470a: 0xe0008ef2, 0x1470b: 0xe0008cd7,\n\t0x1470d: 0xe0007839,\n\t0x14710: 0xe00059fc, 0x14711: 0xe00094f8, 0x14713: 0xe00090d6,\n\t0x14714: 0xe0008a71,\n\t0x14719: 0xe0005d9d,\n\t0x14721: 0xe0006fbc,\n\t0x14729: 0xe0004a4d, 0x1472a: 0xe0005d71, 0x1472b: 0xe000750d,\n\t0x1472c: 0xe0004dff,\n\t0x14731: 0xe0009aed, 0x14733: 0xe0004e03,\n\t// Block 0x51d, offset 0x14740\n\t0x14740: 0xe0004cce,\n\t0x14746: 0xe00096c7,\n\t0x1474a: 0xe0009269, 0x1474b: 0xe00076a3,\n\t0x1474c: 0xe0004e67, 0x1474d: 0xe0004db7,\n\t0x14752: 0xe000a251,\n\t0x1475f: 0xe0007a77,\n\t0x14768: 0xe0005a70, 0x1476b: 0xe000916d,\n\t0x14778: 0xe00098de, 0x14779: 0xe00090d9, 0x1477a: 0xe000975a, 0x1477b: 0xe00041ae,\n\t0x1477c: 0xe000857e, 0x1477e: 0xe00074a5,\n\t// Block 0x51e, offset 0x14780\n\t0x14783: 0xe0004bff,\n\t0x14785: 0xe0005ab5, 0x14787: 0xe0008a75,\n\t0x14788: 0xe0008f37, 0x14789: 0xe0008824,\n\t0x14792: 0xe000964c, 0x14793: 0xe0005e67,\n\t0x14794: 0xe00066a9, 0x14795: 0xe000472d,\n\t0x1479b: 0xe00058bd,\n\t0x1479c: 0xe00099e4, 0x1479d: 0xe000a845, 0x1479e: 0xe0005ee3, 0x1479f: 0xe00095ac,\n\t0x147a6: 0xe000598c, 0x147a7: 0xe0006650,\n\t0x147a8: 0xe0004ab9, 0x147a9: 0xe00064bc, 0x147aa: 0xe0005c84,\n\t0x147af: 0xe0009215,\n\t0x147b0: 0xe00078d5, 0x147b3: 0xe0008ef5,\n\t0x147b8: 0xe0007219, 0x147b9: 0xe00066f5, 0x147bb: 0xe00066f9,\n\t0x147be: 0xe00089e1, 0x147bf: 0xe00079cf,\n\t// Block 0x51f, offset 0x147c0\n\t0x147c0: 0xe0007d3e, 0x147c2: 0xe00048fa,\n\t0x147c4: 0xe000a0bb, 0x147c5: 0xe000813a, 0x147c6: 0xe0005b1e,\n\t0x147c9: 0xe00089e5,\n\t0x147cd: 0xe00095b0, 0x147ce: 0xe0004c02,\n\t0x147d2: 0xe00068e8,\n\t0x147d4: 0xe0005da1, 0x147d7: 0xe0004374,\n\t0x147d8: 0xe000a614,\n\t0x147dd: 0xe00079d2, 0x147de: 0xe000a0ff, 0x147df: 0xe0004bb2,\n\t0x147e1: 0xe0006a26, 0x147e2: 0xe0005948, 0x147e3: 0xe0005960,\n\t0x147e4: 0xe0005ad9,\n\t// Block 0x520, offset 0x14800\n\t0x1481b: 0xe0007511,\n\t0x1481c: 0xe0004865, 0x1481f: 0xe0009f7c,\n\t0x14822: 0xe00057f3, 0x14823: 0xe00057eb,\n\t0x14826: 0xe0009d3c,\n\t0x14828: 0xe00065d0,\n\t0x1482d: 0xe0006b78, 0x1482e: 0xe00065e8, 0x1482f: 0xe00065d4,\n\t0x14830: 0xe0009171, 0x14831: 0xe0007f36, 0x14832: 0xe000529d,\n\t0x1483b: 0xe000759d,\n\t0x1483f: 0xe0009588,\n\t// Block 0x521, offset 0x14840\n\t0x14840: 0xe00042ac, 0x14842: 0xe0008011, 0x14843: 0xe0007ce2,\n\t0x14844: 0xe000a8e3, 0x14845: 0xe0007515,\n\t0x1484d: 0xe0005704, 0x1484e: 0xe0007ba7,\n\t0x14851: 0xe0004f87, 0x14853: 0xe00075f6,\n\t0x14854: 0xe000637c, 0x14855: 0xe0007ce5,\n\t0x14862: 0xe000975d,\n\t0x14864: 0xe00084bc, 0x14865: 0xe000a3dd, 0x14866: 0xe00041b1,\n\t0x14868: 0xe0009c2a, 0x1486a: 0xe0008939, 0x1486b: 0xe0006300,\n\t0x1486c: 0xe0007e61, 0x1486d: 0xe00091e5,\n\t0x14870: 0xe0007369, 0x14872: 0xe000459c,\n\t0x14874: 0xe000a706, 0x14877: 0xe000621d,\n\t0x14878: 0xe000666c, 0x14879: 0xe000893d, 0x1487a: 0xe000522c,\n\t0x1487d: 0xe0009844,\n\t// Block 0x522, offset 0x14880\n\t0x14880: 0xe0009c92, 0x14881: 0xe0007160, 0x14882: 0xe0004ae1, 0x14883: 0xe000556f,\n\t0x14885: 0xe000a796, 0x14886: 0xe00079f7,\n\t0x14888: 0xe000a3c1, 0x1488b: 0xe0009ea7,\n\t0x1488c: 0xe00082e4, 0x1488d: 0xe0007099, 0x1488f: 0xe0009ca7,\n\t0x14890: 0xe00098e2, 0x14891: 0xe0004cd1,\n\t0x14894: 0xe0005572, 0x14895: 0xe0004731, 0x14896: 0xe000895d, 0x14897: 0xe00056cd,\n\t0x14899: 0xe00088a7, 0x1489a: 0xe0009c76,\n\t0x1489d: 0xe0006dce, 0x1489e: 0xe0005a30, 0x1489f: 0xe0007110,\n\t0x148a0: 0xe0008d61, 0x148a1: 0xe0008f8d, 0x148a2: 0xe0006765, 0x148a3: 0xe0005990,\n\t0x148ae: 0xe00096a6,\n\t0x148b1: 0xe0008ef8, 0x148b2: 0xe0009175,\n\t0x148b4: 0xe0009b54, 0x148b5: 0xe0004eca, 0x148b6: 0xe00081fd,\n\t0x148b8: 0xe000856e,\n\t0x148bc: 0xe0009fe5, 0x148be: 0xe000828a,\n\t// Block 0x523, offset 0x148c0\n\t0x148c1: 0xe00056f4, 0x148c2: 0xe000721c,\n\t0x148c7: 0xe0008014,\n\t0x148c9: 0xe0008c61, 0x148ca: 0xe0008287, 0x148cb: 0xe00080aa,\n\t0x148cd: 0xe0009dd0, 0x148ce: 0xe0004a05, 0x148cf: 0xe00076bf,\n\t0x148d0: 0xe000a00e, 0x148d1: 0xe000a690, 0x148d2: 0xe0008f3a, 0x148d3: 0xe0005575,\n\t0x148d4: 0xe00053ae, 0x148d5: 0xe00081dc,\n\t0x148d8: 0xe0004d61, 0x148d9: 0xe0007ee9, 0x148db: 0xe0005c5a,\n\t0x148dc: 0xe000712c, 0x148dd: 0xe000544a, 0x148de: 0xe00096a9,\n\t0x148e0: 0xe000813e, 0x148e1: 0xe000709c, 0x148e3: 0xe0004609,\n\t0x148e8: 0xe0007ce8, 0x148e9: 0xe0008941,\n\t0x148ec: 0xe0007118, 0x148ed: 0xe0008d64, 0x148ee: 0xe000926c, 0x148ef: 0xe00056f8,\n\t0x148f2: 0xe00090b5,\n\t0x148f5: 0xe0008f91, 0x148f6: 0xe0007f1c, 0x148f7: 0xe0009534,\n\t0x148f8: 0xe0006ebc, 0x148fa: 0xe000828d,\n\t0x148fc: 0xe0005bb9, 0x148fd: 0xe00044d9, 0x148ff: 0xe0009f73,\n\t// Block 0x524, offset 0x14900\n\t0x14900: 0xe0007eec, 0x14901: 0xe0005f27, 0x14902: 0xe000a1bc, 0x14903: 0xe000721f,\n\t0x14904: 0xe000a5e8, 0x14905: 0xe0008a79, 0x14907: 0xe0008498,\n\t0x14908: 0xe0005e1b, 0x1490a: 0xe00065d8,\n\t0x1490c: 0xe000592e, 0x1490f: 0xe0005769,\n\t0x14910: 0xe0005d54, 0x14911: 0xe00083e2,\n\t0x14915: 0xe0007d76,\n\t0x14919: 0xe0005ee7,\n\t0x14920: 0xe0006a9b, 0x14922: 0xe000a3c5, 0x14923: 0xe00051aa,\n\t0x14926: 0xe000644c,\n\t0x14928: 0xe00097b4, 0x1492a: 0xe0006b7b,\n\t0x1492f: 0xe0004334,\n\t0x14930: 0xe0009c18, 0x14931: 0xe0004cd4, 0x14933: 0xe0006a29,\n\t0x14935: 0xe000709f,\n\t0x14938: 0xe00088aa,\n\t0x1493d: 0xe0004ef7,\n\t// Block 0x525, offset 0x14940\n\t0x14941: 0xe000807e, 0x14943: 0xe000a13b,\n\t0x14944: 0xe0004f4f, 0x14945: 0xe00091f5,\n\t0x1494a: 0xe0004c05,\n\t0x1495c: 0xe00048bc, 0x1495d: 0xe000a053, 0x1495e: 0xe0005853,\n\t0x14961: 0xe0004dbb, 0x14962: 0xe0007bdb,\n\t0x14968: 0xe00067f5, 0x1496a: 0xe000949d, 0x1496b: 0xe0006a2c,\n\t0x1496d: 0xe0004a41, 0x1496f: 0xe000542e,\n\t0x14974: 0xe0009a8a, 0x14975: 0xe0008017,\n\t0x1497d: 0xe0005578,\n\t// Block 0x526, offset 0x14980\n\t0x14982: 0xe0007623,\n\t0x14992: 0xe0009847,\n\t0x14995: 0xe000a21e,\n\t0x14999: 0xe00069ba,\n\t0x1499e: 0xe000839e,\n\t0x149a2: 0xe000794f, 0x149a3: 0xe00087ea,\n\t0x149a7: 0xe000572c,\n\t0x149ad: 0xe0008bf9,\n\t0x149b0: 0xe0005da5, 0x149b1: 0xe0009d21, 0x149b2: 0xe0005372,\n\t0x149b4: 0xe00079a3,\n\t0x149bd: 0xe0008a7d,\n\t// Block 0x527, offset 0x149c0\n\t0x149c8: 0xe0005964, 0x149c9: 0xe0008290, 0x149ca: 0xe0008bfd, 0x149cb: 0xe000984a,\n\t0x149cc: 0xe0008696, 0x149cd: 0xe00064bf, 0x149ce: 0xe0008efb,\n\t0x149d2: 0xe0008efe,\n\t0x149d6: 0xe0009bb8, 0x149d7: 0xe000a7b4,\n\t0x149e2: 0xe0009718, 0x149e3: 0xe0004378,\n\t0x149e4: 0xe00048bf, 0x149e5: 0xe00070e1,\n\t0x149e9: 0xe0006020, 0x149ea: 0xe000579b,\n\t0x149ec: 0xe0007222,\n\t0x149f2: 0xe0008c65,\n\t0x149f4: 0xe00055ab, 0x149f5: 0xe000a754, 0x149f6: 0xe0005f42, 0x149f7: 0xe000a4d1,\n\t0x149f8: 0xe0006c00, 0x149f9: 0xe0005b95,\n\t// Block 0x528, offset 0x14a00\n\t0x14a03: 0xe000798f,\n\t0x14a07: 0xe000732d,\n\t0x14a09: 0xe0009976, 0x14a0b: 0xe000971b,\n\t0x14a0d: 0xe0008ca4,\n\t0x14a10: 0xe000a4c0, 0x14a12: 0xe000700c,\n\t0x14a1c: 0xe000984d, 0x14a1e: 0xe0007d42,\n\t0x14a22: 0xe000a1dd,\n\t0x14a2a: 0xe0005bd7, 0x14a2b: 0xe0008438,\n\t0x14a2c: 0xe00087a2, 0x14a2e: 0xe000971e, 0x14a2f: 0xe000a3fa,\n\t0x14a31: 0xe00063c4, 0x14a32: 0xe00052ad,\n\t0x14a34: 0xe0005a85, 0x14a35: 0xe00044ae,\n\t// Block 0x529, offset 0x14a40\n\t0x14a40: 0xe00078ad, 0x14a41: 0xe000a8c3, 0x14a43: 0xe000746c,\n\t0x14a45: 0xe0007b1b, 0x14a47: 0xe0009451,\n\t0x14a49: 0xe0008293, 0x14a4b: 0xe0006e2c,\n\t0x14a4c: 0xe0005d27, 0x14a4d: 0xe0008fed, 0x14a4e: 0xe000781b, 0x14a4f: 0xe00058c1,\n\t0x14a50: 0xe0005d2a, 0x14a51: 0xe0005193,\n\t0x14a57: 0xe000718c,\n\t0x14a58: 0xe0008c01,\n\t0x14a5c: 0xe00067f8, 0x14a5d: 0xe0009a72,\n\t0x14a63: 0xe0008d67,\n\t0x14a64: 0xe0006c6c, 0x14a66: 0xe0004d64, 0x14a67: 0xe0009538,\n\t0x14a6a: 0xe000801a,\n\t0x14a6d: 0xe00049de,\n\t0x14a75: 0xe0009454,\n\t0x14a7f: 0xe0004faf,\n\t// Block 0x52a, offset 0x14a80\n\t0x14a87: 0xe000684c,\n\t0x14a8d: 0xe00056fc,\n\t0x14a90: 0xe0004584, 0x14a91: 0xe0009d40, 0x14a92: 0xe0006c7c,\n\t0x14a94: 0xe0009760, 0x14a97: 0xe0008326,\n\t0x14a9c: 0xe000a72b, 0x14a9e: 0xe0004f17, 0x14a9f: 0xe0008dc7,\n\t0x14ab4: 0xe0005a34, 0x14ab5: 0xe0006670, 0x14ab7: 0xe00048c2,\n\t0x14ab8: 0xe00063e0, 0x14aba: 0xe0007d0a,\n\t0x14abf: 0xe00089e9,\n\t// Block 0x52b, offset 0x14ac0\n\t0x14ac0: 0xe0004390, 0x14ac1: 0xe00091a5,\n\t0x14ac5: 0xe00044dc,\n\t0x14ac9: 0xe000a2e1, 0x14acb: 0xe0009ecb,\n\t0x14ace: 0xe0006d7c, 0x14acf: 0xe0006df5,\n\t0x14ad0: 0xe0006e48, 0x14ad2: 0xe0008f3d,\n\t0x14ad7: 0xe0004669,\n\t0x14adb: 0xe0007a7b,\n\t0x14ade: 0xe000818e,\n\t0x14ae2: 0xe00063c8,\n\t0x14ae4: 0xe0004cd7, 0x14ae5: 0xe000736d, 0x14ae6: 0xe0008c05,\n\t0x14af7: 0xe000a545,\n\t0x14af8: 0xe0004c3e,\n\t0x14afc: 0xe0006678, 0x14afe: 0xe00060a2,\n\t// Block 0x52c, offset 0x14b00\n\t0x14b00: 0xe000836a, 0x14b03: 0xe00097e0,\n\t0x14b05: 0xe0005671,\n\t0x14b0b: 0xe00085aa,\n\t0x14b11: 0xe0006ec0, 0x14b13: 0xe00089ed,\n\t0x14b15: 0xe00095d0, 0x14b16: 0xe0007225,\n\t0x14b18: 0xe0006024, 0x14b19: 0xe0004a2f, 0x14b1a: 0xe0008dca, 0x14b1b: 0xe0006f98,\n\t0x14b1c: 0xe000a0e7,\n\t0x14b33: 0xe0007c16,\n\t0x14b36: 0xe0004cda, 0x14b37: 0xe00070a2,\n\t0x14b39: 0xe0007228,\n\t// Block 0x52d, offset 0x14b40\n\t0x14b46: 0xe0008332,\n\t0x14b4c: 0xe0008c09, 0x14b4f: 0xe000a35d,\n\t0x14b51: 0xe0008a81, 0x14b52: 0xe0006769,\n\t0x14b57: 0xe000a311,\n\t0x14b5f: 0xe0009a8e,\n\t0x14b64: 0xe0006dd1, 0x14b65: 0xe0008c69,\n\t0x14b6a: 0xe0009eaa,\n\t0x14b72: 0xe0006674,\n\t0x14b78: 0xe00044df, 0x14b79: 0xe000941f, 0x14b7a: 0xe0008176,\n\t0x14b7c: 0xe00043f0, 0x14b7d: 0xe0008dcd,\n\t// Block 0x52e, offset 0x14b80\n\t0x14b84: 0xe0005afe, 0x14b86: 0xe0009423,\n\t0x14b8f: 0xe00075f9,\n\t0x14b90: 0xe0009850,\n\t0x14b95: 0xe0004946,\n\t0x14b98: 0xe0009853, 0x14b99: 0xe0009a14, 0x14b9a: 0xe000884b,\n\t0x14b9e: 0xe0007331, 0x14b9f: 0xe0005406,\n\t0x14ba0: 0xe0008c0d, 0x14ba1: 0xe00050f3, 0x14ba2: 0xe00089f1, 0x14ba3: 0xe00095d4,\n\t0x14ba4: 0xe00050f6, 0x14ba6: 0xe0004fe7, 0x14ba7: 0xe0004abd,\n\t0x14ba8: 0xe0006129, 0x14baa: 0xe0008a85, 0x14bab: 0xe0006e30,\n\t0x14bac: 0xe00056ad, 0x14bae: 0xe0004868, 0x14baf: 0xe0009297,\n\t// Block 0x52f, offset 0x14bc0\n\t0x14bc8: 0xe0007bab, 0x14bc9: 0xe000746f, 0x14bca: 0xe0005994, 0x14bcb: 0xe0004a08,\n\t0x14bcd: 0xe000557b,\n\t0x14bd4: 0xe0007627, 0x14bd7: 0xe0008cda,\n\t0x14bdb: 0xe0005376,\n\t0x14bdc: 0xe000a02c, 0x14bdd: 0xe0008056,\n\t0x14be4: 0xe0006c94,\n\t0x14beb: 0xe0009763,\n\t0x14bec: 0xe0009766, 0x14bee: 0xe0008296,\n\t0x14bf0: 0xe000a618,\n\t0x14bf5: 0xe0004534,\n\t0x14bfc: 0xe0009a76, 0x14bfe: 0xe0008e41,\n\t// Block 0x530, offset 0x14c00\n\t0x14c0a: 0xe0006480,\n\t0x14c0c: 0xe000466d,\n\t0x14c14: 0xe0007f96, 0x14c16: 0xe000717d, 0x14c17: 0xe000885b,\n\t0x14c1a: 0xe0009856, 0x14c1b: 0xe0006318,\n\t0x14c1f: 0xe0006d34,\n\t0x14c21: 0xe000865c, 0x14c23: 0xe000a3c9,\n\t0x14c24: 0xe000a6b4, 0x14c27: 0xe0004473,\n\t0x14c2c: 0xe000a48a, 0x14c2d: 0xe0009179,\n\t0x14c30: 0xe0008572,\n\t// Block 0x531, offset 0x14c40\n\t0x14c43: 0xe0008de5,\n\t0x14c47: 0xe0006f00,\n\t0x14c48: 0xe00059a8, 0x14c4a: 0xe0007ceb, 0x14c4b: 0xe0005e8b,\n\t0x14c4c: 0xe0005e23,\n\t0x14c51: 0xe0008945,\n\t0x14c56: 0xe0007cee, 0x14c57: 0xe00044aa,\n\t0x14c58: 0xe00087ee,\n\t0x14c5c: 0xe00054ae, 0x14c5d: 0xe0005e8f, 0x14c5e: 0xe0007f9a, 0x14c5f: 0xe0006c2c,\n\t0x14c61: 0xe0004735, 0x14c62: 0xe0009f30,\n\t0x14c64: 0xe0005c0c, 0x14c66: 0xe00097ec,\n\t0x14c68: 0xe000937b,\n\t0x14c76: 0xe0009219,\n\t0x14c7b: 0xe0005da9,\n\t// Block 0x532, offset 0x14c80\n\t0x14c83: 0xe00052cc,\n\t0x14c84: 0xe000a723,\n\t0x14c8f: 0xe0008fc5,\n\t0x14c90: 0xe0005bda, 0x14c93: 0xe00054fd,\n\t0x14c94: 0xe000758d,\n\t0x14c98: 0xe0008e45, 0x14c99: 0xe0005750,\n\t0x14ca5: 0xe0006ec4,\n\t0x14caa: 0xe0005adc, 0x14cab: 0xe00089f5,\n\t0x14cb5: 0xe00095b4, 0x14cb6: 0xe000a61c,\n\t0x14cb8: 0xe0009b30, 0x14cba: 0xe00054b2,\n\t// Block 0x533, offset 0x14cc0\n\t0x14cc2: 0xe000a7f6,\n\t0x14cc4: 0xe0008f01,\n\t0x14cca: 0xe000a5ac,\n\t0x14ccc: 0xe0006a9f,\n\t0x14cd1: 0xe0004338, 0x14cd2: 0xe000433c,\n\t0x14cd5: 0xe00091f9,\n\t0x14cdb: 0xe0004b2d,\n\t0x14cde: 0xe0005833,\n\t0x14ce0: 0xe0006bd4, 0x14ce2: 0xe0005931, 0x14ce3: 0xe0009f33,\n\t0x14cea: 0xe0005adf,\n\t0x14cf0: 0xe000784d, 0x14cf1: 0xe000937f, 0x14cf2: 0xe00078d9,\n\t0x14cf5: 0xe0004ac1, 0x14cf7: 0xe0006fc0,\n\t0x14cfc: 0xe000577e, 0x14cfd: 0xe00092df, 0x14cfe: 0xe00057df, 0x14cff: 0xe000929b,\n\t// Block 0x534, offset 0x14d00\n\t0x14d37: 0xe00087a6,\n\t// Block 0x535, offset 0x14d40\n\t0x14d40: 0xe00061bd, 0x14d43: 0xe0006f7c,\n\t0x14d48: 0xe000a0a7, 0x14d49: 0xe0009e50, 0x14d4a: 0xe0006c30, 0x14d4b: 0xe0004476,\n\t0x14d4e: 0xe0004bc2, 0x14d4f: 0xe000832a,\n\t0x14d51: 0xe000a083, 0x14d52: 0xe000a087, 0x14d53: 0xe0004284,\n\t0x14d54: 0xe0006280,\n\t0x14d58: 0xe0004394,\n\t0x14d5f: 0xe0006a2f,\n\t0x14d63: 0xe000420c,\n\t0x14d64: 0xe000a117, 0x14d65: 0xe000653c,\n\t0x14d68: 0xe0004ecd, 0x14d69: 0xe00062a0, 0x14d6b: 0xe000494a,\n\t0x14d6c: 0xe000586b, 0x14d6d: 0xe0005904,\n\t0x14d71: 0xe0007acb,\n\t0x14d76: 0xe0009427,\n\t0x14d79: 0xe0007993, 0x14d7b: 0xe0007aef,\n\t0x14d7c: 0xe00076a7, 0x14d7d: 0xe000a4fd, 0x14d7e: 0xe0007a0b,\n\t// Block 0x536, offset 0x14d80\n\t0x14d83: 0xe00045d5,\n\t0x14d87: 0xe00076e7,\n\t0x14d88: 0xe0008200, 0x14d8a: 0xe000a634, 0x14d8b: 0xe0004655,\n\t0x14d8c: 0xe00057e3, 0x14d8d: 0xe00055ae,\n\t0x14d93: 0xe000448b,\n\t0x14d94: 0xe000a11b, 0x14d95: 0xe0004e57, 0x14d96: 0xe0009cc6,\n\t0x14d9a: 0xe0004efa,\n\t0x14d9c: 0xe0004a91, 0x14d9e: 0xe000a103,\n\t0x14da0: 0xe0004e8e, 0x14da1: 0xe000953c, 0x14da2: 0xe00065a4,\n\t0x14da5: 0xe00053ba,\n\t// Block 0x537, offset 0x14dc0\n\t0x14ddc: 0xe00067fb,\n\t0x14de1: 0xe0009540,\n\t0x14de4: 0xe0009a17,\n\t0x14de8: 0xe00077dc, 0x14dea: 0xe0009d44,\n\t0x14dee: 0xe0007e19, 0x14def: 0xe00090dc,\n\t0x14df2: 0xe0006450,\n\t0x14dfb: 0xe0008d6a,\n\t0x14dff: 0xe00075cf,\n\t// Block 0x538, offset 0x14e00\n\t0x14e00: 0xe0009acc, 0x14e02: 0xe0009f76,\n\t0x14e04: 0xe00067fe,\n\t0x14e0b: 0xe0005c0f,\n\t0x14e0c: 0xe0005f50, 0x14e0d: 0xe00043f4,\n\t0x14e10: 0xe000a08b,\n\t0x14e18: 0xe000a3e1, 0x14e1b: 0xe0009e53,\n\t0x14e1c: 0xe000a11f, 0x14e1d: 0xe0006f80, 0x14e1e: 0xe00073e2, 0x14e1f: 0xe00094d0,\n\t0x14e21: 0xe00056e5, 0x14e22: 0xe0008142, 0x14e23: 0xe000917d,\n\t0x14e24: 0xe0008ca7,\n\t0x14e2a: 0xe00064c2,\n\t0x14e2c: 0xe0009895,\n\t0x14e30: 0xe00083ba, 0x14e32: 0xe000727c, 0x14e33: 0xe0009181,\n\t0x14e34: 0xe0006a32, 0x14e35: 0xe0005cdc, 0x14e36: 0xe000557e, 0x14e37: 0xe000a0eb,\n\t0x14e38: 0xe0005c68,\n\t0x14e3c: 0xe00088e6, 0x14e3d: 0xe00078b1,\n\t// Block 0x539, offset 0x14e40\n\t0x14e44: 0xe0008cdd, 0x14e45: 0xe000801d, 0x14e46: 0xe0005ca0,\n\t0x14e4a: 0xe00054e8, 0x14e4b: 0xe000722b,\n\t0x14e4d: 0xe000a694, 0x14e4e: 0xe00047db,\n\t0x14e51: 0xe0005168,\n\t0x14e54: 0xe00045c9, 0x14e55: 0xe00080ae, 0x14e57: 0xe0007e9b,\n\t0x14e58: 0xe0007772, 0x14e59: 0xe0004f3f, 0x14e5b: 0xe0008caa,\n\t0x14e5c: 0xe00087aa,\n\t0x14e63: 0xe0005d75,\n\t0x14e64: 0xe0009c98, 0x14e67: 0xe000722e,\n\t0x14e68: 0xe0007231, 0x14e69: 0xe0007cf1, 0x14e6a: 0xe000a265,\n\t0x14e70: 0xe00073ba, 0x14e71: 0xe000836e, 0x14e73: 0xe000a866,\n\t0x14e74: 0xe0005b5a, 0x14e76: 0xe00084bf, 0x14e77: 0xe0005a88,\n\t0x14e78: 0xe0005a8b, 0x14e79: 0xe0009898, 0x14e7b: 0xe00094d4,\n\t0x14e7c: 0xe0008fc9,\n\t// Block 0x53a, offset 0x14e80\n\t0x14e80: 0xe000869a, 0x14e81: 0xe000767b,\n\t0x14e84: 0xe00080e2, 0x14e85: 0xe00075d2, 0x14e86: 0xe000921d, 0x14e87: 0xe000486b,\n\t0x14e89: 0xe00099e7, 0x14e8b: 0xe0008f95,\n\t0x14e8c: 0xe000861d, 0x14e8d: 0xe0007d7a, 0x14e8e: 0xe00088ad,\n\t0x14e95: 0xe0008d6d, 0x14e96: 0xe0007234,\n\t0x14e99: 0xe00075a1, 0x14e9a: 0xe0004ac5, 0x14e9b: 0xe0009859,\n\t0x14e9c: 0xe0008706, 0x14e9d: 0xe0007d9e, 0x14e9e: 0xe00047ff,\n\t0x14ea2: 0xe0005d2d, 0x14ea3: 0xe00051c8,\n\t0x14ea8: 0xe0008020, 0x14ea9: 0xe0008023, 0x14eaa: 0xe0006f3c,\n\t0x14eaf: 0xe00061c1,\n\t0x14eb0: 0xe00068a4, 0x14eb2: 0xe00080b2,\n\t0x14eb6: 0xe0005a38, 0x14eb7: 0xe0005b77,\n\t0x14eb9: 0xe0006304, 0x14eba: 0xe0006100, 0x14ebb: 0xe00089f9,\n\t// Block 0x53b, offset 0x14ec0\n\t0x14ec0: 0xe0007237,\n\t0x14ec4: 0xe00070e4, 0x14ec5: 0xe0006c98, 0x14ec6: 0xe0008c11, 0x14ec7: 0xe0009185,\n\t0x14ec8: 0xe0009d8a, 0x14ec9: 0xe0005f45,\n\t0x14ecc: 0xe0008f40, 0x14ecd: 0xe0004a51, 0x14ece: 0xe0006c9c, 0x14ecf: 0xe0006a35,\n\t0x14ed1: 0xe0008aed, 0x14ed3: 0xe0007c19,\n\t0x14ed4: 0xe0008f43, 0x14ed6: 0xe0005dc1,\n\t0x14ed9: 0xe0007baf,\n\t0x14edc: 0xe0006d18, 0x14ede: 0xe000a011,\n\t0x14ee3: 0xe00080ca,\n\t0x14ee6: 0xe0006aa3, 0x14ee7: 0xe0006174,\n\t0x14eea: 0xe00083d6,\n\t0x14ef0: 0xe0006c04, 0x14ef2: 0xe0005ab8,\n\t0x14ef8: 0xe0009d8d, 0x14ef9: 0xe00065a8,\n\t0x14efd: 0xe0008cad,\n\t// Block 0x53c, offset 0x14f00\n\t0x14f02: 0xe000594c,\n\t0x14f04: 0xe0007775, 0x14f06: 0xe00096ca,\n\t0x14f08: 0xe0005a3c, 0x14f09: 0xe00077ae,\n\t0x14f0c: 0xe00066b8,\n\t0x14f11: 0xe000967c,\n\t0x14f16: 0xe0008c15,\n\t0x14f1a: 0xe0008c6d, 0x14f1b: 0xe0008a89,\n\t0x14f1c: 0xe0008c19, 0x14f1d: 0xe000958c, 0x14f1e: 0xe00069bd,\n\t0x14f20: 0xe00048c5, 0x14f21: 0xe0006220, 0x14f22: 0xe0005fc4,\n\t0x14f26: 0xe0008a8d,\n\t0x14f28: 0xe0007b43, 0x14f29: 0xe000a285,\n\t0x14f2d: 0xe0008522,\n\t0x14f33: 0xe0004fb3,\n\t0x14f34: 0xe000a574, 0x14f35: 0xe00052ee, 0x14f37: 0xe0008526,\n\t0x14f3a: 0xe0005eaf,\n\t0x14f3c: 0xe00053be,\n\t// Block 0x53d, offset 0x14f40\n\t0x14f40: 0xe00055b1, 0x14f41: 0xe0009f7f,\n\t0x14f44: 0xe0009ece, 0x14f45: 0xe0007753,\n\t0x14f4b: 0xe000a3fd,\n\t0x14f4d: 0xe000767f, 0x14f4f: 0xe00049b2,\n\t0x14f58: 0xe0009769,\n\t0x14f60: 0xe0004d8b, 0x14f63: 0xe00082e7,\n\t0x14f66: 0xe000989b,\n\t0x14f68: 0xe00042d8, 0x14f6b: 0xe0004d8f,\n\t0x14f6c: 0xe0004550, 0x14f6d: 0xe0009dd4,\n\t0x14f71: 0xe00055b4,\n\t0x14f74: 0xe0006a38,\n\t0x14f78: 0xe0009fd1, 0x14f79: 0xe0004a55,\n\t// Block 0x53e, offset 0x14f80\n\t0x14f81: 0xe000443c, 0x14f83: 0xe00053c2,\n\t0x14f86: 0xe0009544,\n\t0x14f8b: 0xe00081df,\n\t0x14f8d: 0xe0006918,\n\t0x14f90: 0xe0004398, 0x14f93: 0xe000a08f,\n\t0x14f99: 0xe0008203,\n\t0x14f9c: 0xe0005581, 0x14f9d: 0xe0004d67, 0x14f9e: 0xe0007d46,\n\t0x14fa0: 0xe0009fd5, 0x14fa1: 0xe0008206,\n\t0x14fad: 0xe0004d6a, 0x14fae: 0xe0004d6d,\n\t0x14fb1: 0xe0006f9c, 0x14fb2: 0xe0008ce0, 0x14fb3: 0xe00083be,\n\t0x14fb5: 0xe00080ce, 0x14fb6: 0xe00070a5,\n\t0x14fba: 0xe0007bdf, 0x14fbb: 0xe00080b6,\n\t0x14fbf: 0xe000a222,\n\t// Block 0x53f, offset 0x14fc0\n\t0x14fc0: 0xe000a48d, 0x14fc1: 0xe000a325, 0x14fc2: 0xe0008c1d, 0x14fc3: 0xe0004739,\n\t0x14fc5: 0xe000a177, 0x14fc6: 0xe0007335,\n\t0x14fc8: 0xe000723a, 0x14fca: 0xe0008082,\n\t0x14fcc: 0xe0007164, 0x14fcd: 0xe0004efd, 0x14fce: 0xe000516b, 0x14fcf: 0xe000a18b,\n\t0x14fd0: 0xe0007c1c, 0x14fd1: 0xe0007e1d, 0x14fd2: 0xe0006380, 0x14fd3: 0xe0005611,\n\t0x14fd6: 0xe00063a4, 0x14fd7: 0xe0009cf7,\n\t0x14fd8: 0xe0005a40,\n\t0x14fde: 0xe00076c3,\n\t0x14fe1: 0xe000a98c, 0x14fe3: 0xe0007539,\n\t0x14fe6: 0xe000a1e0,\n\t0x14feb: 0xe000684f,\n\t0x14fed: 0xe00056d0, 0x14fee: 0xe000a709,\n\t0x14ff0: 0xe000a361,\n\t0x14ff7: 0xe000770b,\n\t0x14ff8: 0xe000473d, 0x14ff9: 0xe0009c95, 0x14ffb: 0xe0006a7b,\n\t0x14fff: 0xe000865f,\n\t// Block 0x540, offset 0x15000\n\t0x15002: 0xe0005b98,\n\t0x15006: 0xe0004a0b, 0x15007: 0xe0009952,\n\t0x15008: 0xe000477d, 0x1500b: 0xe0007472,\n\t0x1500c: 0xe0008cb0, 0x1500d: 0xe00077cc, 0x1500e: 0xe000762b,\n\t0x15012: 0xe0007da2, 0x15013: 0xe0008a91,\n\t0x15014: 0xe0007683,\n\t0x15018: 0xe0008146, 0x15019: 0xe0006d38, 0x1501a: 0xe00089fd,\n\t0x1501e: 0xe0005c4e,\n\t0x15025: 0xe000a490, 0x15026: 0xe000976c, 0x15027: 0xe000486e,\n\t0x1502b: 0xe0008a01,\n\t0x1502f: 0xe000a2e5,\n\t0x15030: 0xe0006aa7, 0x15031: 0xe0005ae2, 0x15033: 0xe0006fc4,\n\t0x15034: 0xe0004ac9,\n\t// Block 0x541, offset 0x15040\n\t0x15068: 0xe0009f54,\n\t0x1506d: 0xe0008b1d, 0x1506f: 0xe0006c80,\n\t0x15071: 0xe0009c1b, 0x15072: 0xe00059d4,\n\t0x15076: 0xe0004d70,\n\t0x1507a: 0xe00078dd,\n\t0x1507c: 0xe000727f, 0x1507f: 0xe0006574,\n\t// Block 0x542, offset 0x15080\n\t0x15082: 0xe0005bdd,\n\t0x15084: 0xe0009f0f, 0x15087: 0xe0009f0c,\n\t0x15089: 0xe0005be0, 0x1508b: 0xe0007555,\n\t0x1509b: 0xe00069c0,\n\t0x1509c: 0xe0006518, 0x1509f: 0xe00074a9,\n\t0x150a1: 0xe0007130, 0x150a2: 0xe00050f9,\n\t0x150a6: 0xe0008a95, 0x150a7: 0xe0007134,\n\t0x150aa: 0xe00085ae, 0x150ab: 0xe000790c,\n\t0x150ad: 0xe0009a2e, 0x150ae: 0xe00083c2, 0x150af: 0xe0006384,\n\t0x150b1: 0xe0007138,\n\t0x150b4: 0xe000849b,\n\t0x150bb: 0xe00095d8,\n\t0x150bc: 0xe0006b7e, 0x150bd: 0xe0009ead, 0x150be: 0xe00074ad,\n\t// Block 0x543, offset 0x150c0\n\t0x150c3: 0xe0004c08,\n\t0x150c9: 0xe000a226, 0x150ca: 0xe00078b5,\n\t0x150cc: 0xe000849e,\n\t0x150d0: 0xe00092e3, 0x150d2: 0xe00052b7, 0x150d3: 0xe00075d5,\n\t0x150d4: 0xe0009ed1, 0x150d5: 0xe0008fcd,\n\t0x150d8: 0xe00079d5, 0x150da: 0xe000a76f,\n\t0x150de: 0xe0008a05,\n\t0x150e0: 0xe0006654,\n\t0x150e6: 0xe00087f2, 0x150e7: 0xe0008209,\n\t0x150e8: 0xe0004a95, 0x150ea: 0xe00051d8,\n\t0x150ec: 0xe000a4c3, 0x150ee: 0xe00095dc,\n\t0x150f0: 0xe0008a99, 0x150f1: 0xe000a7b7, 0x150f3: 0xe00054b6,\n\t0x150f9: 0xe00054ba,\n\t0x150fc: 0xe000a979, 0x150fd: 0xe0004e91,\n\t// Block 0x544, offset 0x15100\n\t0x15102: 0xe0007d4a,\n\t0x15105: 0xe0005e6b,\n\t0x15108: 0xe0007282, 0x15109: 0xe0004f8b, 0x1510b: 0xe0004e6a,\n\t0x1510c: 0xe00092e7, 0x1510d: 0xe0006ec8,\n\t0x15110: 0xe0008456, 0x15111: 0xe00050fc, 0x15112: 0xe0007eef,\n\t0x15114: 0xe0007d7e, 0x15115: 0xe00055b7, 0x15117: 0xe000a22a,\n\t0x1511c: 0xe0007b1f, 0x1511e: 0xe0009383,\n\t// Block 0x545, offset 0x15140\n\t0x15156: 0xe000723d, 0x15157: 0xe0004f00,\n\t0x15158: 0xe0004ba2, 0x15159: 0xe000a22e,\n\t0x1515d: 0xe0009fad,\n\t0x15163: 0xe000770f,\n\t0x15165: 0xe00066fd,\n\t0x15168: 0xe000a3cd,\n\t0x1516c: 0xe0005dec, 0x1516d: 0xe00078fa, 0x1516e: 0xe0009f58,\n\t0x15170: 0xe0008961, 0x15171: 0xe0009acf, 0x15173: 0xe00099ea,\n\t0x15174: 0xe0007339,\n\t0x15179: 0xe0008576,\n\t// Block 0x546, offset 0x15180\n\t0x15181: 0xe0006308,\n\t0x15184: 0xe0009c2d,\n\t0x15188: 0xe0004d73, 0x15189: 0xe000478d,\n\t0x1518f: 0xe0004509,\n\t0x15190: 0xe0008f04, 0x15191: 0xe0005280, 0x15192: 0xe0004cdd,\n\t0x15195: 0xe00041b4,\n\t0x15198: 0xe0009c30, 0x15199: 0xe0006801, 0x1519b: 0xe0006bb4,\n\t0x1519c: 0xe0009fd9, 0x1519d: 0xe0009ad2, 0x1519e: 0xe0009af0, 0x1519f: 0xe0006b81,\n\t0x151a2: 0xe00065f4,\n\t0x151a8: 0xe0007355, 0x151aa: 0xe000753d,\n\t0x151ad: 0xe000a1bf, 0x151ae: 0xe000631c,\n\t0x151b1: 0xe000579f,\n\t0x151b8: 0xe0009a92, 0x151bb: 0xe000a0ab,\n\t0x151bd: 0xe000a315, 0x151bf: 0xe0008f99,\n\t// Block 0x547, offset 0x151c0\n\t0x151c1: 0xe0006abf, 0x151c2: 0xe0007014, 0x151c3: 0xe00077b1,\n\t0x151c4: 0xe0005b22, 0x151c5: 0xe000989e,\n\t0x151c8: 0xe0006658, 0x151cb: 0xe000587e,\n\t0x151cd: 0xe0004a32, 0x151ce: 0xe00050ff, 0x151cf: 0xe0005102,\n\t0x151d1: 0xe0006a3b,\n\t0x151d6: 0xe0006186,\n\t0x151d8: 0xe00097f0, 0x151d9: 0xe0009dd8, 0x151db: 0xe0006a3e,\n\t0x151eb: 0xe0004538,\n\t0x151ed: 0xe0009005,\n\t0x151f0: 0xe0005730,\n\t0x151f5: 0xe000817a, 0x151f6: 0xe000985c, 0x151f7: 0xe00070a8,\n\t0x151f8: 0xe0006f04,\n\t0x151fe: 0xe0005781,\n\t// Block 0x548, offset 0x15200\n\t0x15200: 0xe0005f54, 0x15201: 0xe0007cf4, 0x15202: 0xe0009387, 0x15203: 0xe0009f12,\n\t0x15204: 0xe00097f4, 0x15205: 0xe0004ce0,\n\t0x1520a: 0xe000a586,\n\t0x1520c: 0xe00072c9, 0x1520d: 0xe000a757, 0x1520e: 0xe0005dad, 0x1520f: 0xe00086de,\n\t0x15212: 0xe0009b90,\n\t0x15215: 0xe0004c0b, 0x15217: 0xe000a269,\n\t0x15218: 0xe0005784, 0x1521a: 0xe0004741, 0x1521b: 0xe00079fb,\n\t0x1521f: 0xe0009979,\n\t0x15222: 0xe0005907,\n\t0x15224: 0xe00078e1, 0x15225: 0xe0005105,\n\t0x15229: 0xe000a5ec, 0x1522a: 0xe000590a,\n\t// Block 0x549, offset 0x15240\n\t0x15268: 0xe0004962, 0x1526a: 0xe000820c,\n\t0x15270: 0xe0009cb3,\n\t0x15278: 0xe000a1c2, 0x15279: 0xe0004c41,\n\t0x1527c: 0xe00045d9, 0x1527f: 0xe00065f8,\n\t// Block 0x54a, offset 0x15280\n\t0x15280: 0xe0006a41,\n\t0x15286: 0xe0006320,\n\t0x1528f: 0xe0005c24,\n\t0x15291: 0xe00097a4, 0x15293: 0xe0007240,\n\t0x15294: 0xe00096ac, 0x15296: 0xe0004acd, 0x15297: 0xe0005ae5,\n\t0x15298: 0xe0004871,\n\t0x1529f: 0xe0009f36,\n\t0x152a1: 0xe000494e, 0x152a3: 0xe0006484,\n\t0x152a5: 0xe0007af3, 0x152a6: 0xe00060a5,\n\t0x152ab: 0xe000976f,\n\t0x152ad: 0xe0008662, 0x152ae: 0xe00063cc,\n\t0x152b0: 0xe00096cd, 0x152b2: 0xe0009f82,\n\t0x152b4: 0xe000691c,\n\t0x152b9: 0xe000a869, 0x152ba: 0xe0004af5, 0x152bb: 0xe0004802,\n\t0x152bd: 0xe0008e89,\n\t// Block 0x54b, offset 0x152c0\n\t0x152c2: 0xe0006aab,\n\t0x152c5: 0xe0006944, 0x152c6: 0xe0007170,\n\t0x152ca: 0xe0007359, 0x152cb: 0xe0008a9d,\n\t0x152cd: 0xe000a4c6,\n\t0x152d0: 0xe000516e, 0x152d2: 0xe00091a9,\n\t0x152d6: 0xe0006c70,\n\t0x152d8: 0xe0005e93, 0x152d9: 0xe00073ea, 0x152da: 0xe0007243,\n\t0x152df: 0xe000a620,\n\t0x152e2: 0xe0006aaf, 0x152e3: 0xe0005a00,\n\t0x152e7: 0xe0005bbc,\n\t0x152e8: 0xe000a549, 0x152e9: 0xe000a295, 0x152ea: 0xe0009caa,\n\t0x152ee: 0xe0004d76, 0x152ef: 0xe000942b,\n\t0x152f1: 0xe00080d6, 0x152f2: 0xe00045dd,\n\t0x152fa: 0xe0006d3c,\n\t0x152fc: 0xe0004ea0,\n\t// Block 0x54c, offset 0x15300\n\t0x15301: 0xe0004b8a, 0x15302: 0xe000a4e9, 0x15303: 0xe00063d0,\n\t0x15304: 0xe00064f0, 0x15305: 0xe0005f2a,\n\t0x15308: 0xe00070e7, 0x1530b: 0xe00098a1,\n\t0x1530d: 0xe0005eff, 0x1530e: 0xe00058d9, 0x1530f: 0xe00081e2,\n\t0x15311: 0xe0005d57,\n\t0x15314: 0xe0005def,\n\t0x15318: 0xe0007b23, 0x1531a: 0xe00078fd,\n\t0x15326: 0xe0006bb7,\n\t0x1532f: 0xe0005abb,\n\t0x15334: 0xe0006488,\n\t// Block 0x54d, offset 0x15340\n\t0x15340: 0xe0009af3, 0x15343: 0xe0009e34,\n\t0x1534e: 0xe0008af1,\n\t0x15351: 0xe0009eb0, 0x15352: 0xe0006852, 0x15353: 0xe0008665,\n\t0x15357: 0xe00056b1,\n\t0x1535f: 0xe0007687,\n\t0x15367: 0xe0008ce3,\n\t0x15368: 0xe00090df, 0x1536a: 0xe00082ea, 0x1536b: 0xe0004c0e,\n\t0x1536d: 0xe000a1e3, 0x1536e: 0xe0006ecc,\n\t0x15379: 0xe00070ea,\n\t// Block 0x54e, offset 0x15380\n\t0x15381: 0xe0004791,\n\t0x15386: 0xe0009ed4,\n\t0x15389: 0xe0005d30, 0x1538a: 0xe0006bba,\n\t0x15394: 0xe0009a1a, 0x15396: 0xe0009680,\n\t0x1539b: 0xe0008dd0,\n\t0x153a2: 0xe0007c4f,\n\t0x153a4: 0xe0004922,\n\t0x153a8: 0xe0004745,\n\t0x153b7: 0xe0008ce6,\n\t// Block 0x54f, offset 0x153c0\n\t0x153c8: 0xe0008b45, 0x153ca: 0xe00059ac,\n\t0x153cc: 0xe00098a4, 0x153cd: 0xe000985f,\n\t0x153d0: 0xe000762f, 0x153d2: 0xe0006701, 0x153d3: 0xe0006d49,\n\t0x153d5: 0xe000a014,\n\t0x153e4: 0xe0006bbd, 0x153e5: 0xe000a5f0,\n\t0x153ed: 0xe0005171, 0x153ee: 0xe0007d4e, 0x153ef: 0xe0007851,\n\t0x153f1: 0xe00059b0, 0x153f2: 0xe0007ca9,\n\t0x153f5: 0xe00062a4,\n\t0x153f9: 0xe0004631, 0x153fa: 0xe00070ed, 0x153fb: 0xe0005e6f,\n\t0x153fe: 0xe0009f39,\n\t// Block 0x550, offset 0x15400\n\t0x15407: 0xe00043f8,\n\t0x15409: 0xe0006608,\n\t0x1540f: 0xe0007591,\n\t0x15412: 0xe0008fd1, 0x15413: 0xe0006f08,\n\t0x15417: 0xe0005d79,\n\t0x15420: 0xe000a70c, 0x15423: 0xe0008aa1,\n\t0x15427: 0xe0005a8e,\n\t0x15438: 0xe0005ae8, 0x1543b: 0xe0006f0c,\n\t// Block 0x551, offset 0x15440\n\t0x15465: 0xe0008d70, 0x15466: 0xe00083aa, 0x15467: 0xe0006804,\n\t0x15469: 0xe0004ce3,\n\t0x15473: 0xe000676d,\n\t0x15474: 0xe0006028, 0x15476: 0xe0007a7f,\n\t// Block 0x552, offset 0x15480\n\t0x15483: 0xe00045e1,\n\t0x15486: 0xe0009205, 0x15487: 0xe00066bb,\n\t0x15488: 0xe0007697, 0x15489: 0xe00075d8,\n\t0x1548c: 0xe0006785,\n\t0x15492: 0xe0005a74,\n\t0x15495: 0xe0009af6,\n\t0x15498: 0xe00065fc, 0x15499: 0xe0009a1d, 0x1549b: 0xe000814a,\n\t0x1549f: 0xe0009a20,\n\t0x154a3: 0xe00048c8,\n\t0x154a6: 0xe000773f,\n\t0x154a8: 0xe0007723,\n\t0x154b0: 0xe0004af9,\n\t0x154b6: 0xe00076c7,\n\t0x154bb: 0xe000a535,\n\t// Block 0x553, offset 0x154c0\n\t0x154c1: 0xe0004c44, 0x154c2: 0xe000a86c,\n\t0x154c4: 0xe0009a23,\n\t0x154d1: 0xe000460d, 0x154d3: 0xe00063e4,\n\t0x154d4: 0xe0008fd5,\n\t0x154dd: 0xe00075db, 0x154de: 0xe00075fc,\n\t0x154e0: 0xe00048e6, 0x154e1: 0xe0006177,\n\t0x154e9: 0xe0006725,\n\t0x154ec: 0xe0006938, 0x154ef: 0xe0009fdd,\n\t0x154f0: 0xe0008dd3, 0x154f2: 0xe000869e,\n\t0x154f7: 0xe000817e,\n\t0x154fb: 0xe00098a7,\n\t0x154fe: 0xe0004952,\n\t// Block 0x554, offset 0x15500\n\t0x15504: 0xe0009690,\n\t0x15509: 0xe000735d,\n\t0x15516: 0xe00098aa,\n\t0x1551a: 0xe000765b,\n\t0x15521: 0xe00042f0,\n\t0x15524: 0xe0004956,\n\t0x15529: 0xe00060c0,\n\t0x1552c: 0xe000942f, 0x1552f: 0xe00077e8,\n\t0x15534: 0xe000a03f, 0x15535: 0xe00098ad,\n\t0x15538: 0xe0007855, 0x15539: 0xe0005c5d, 0x1553b: 0xe0004972,\n\t0x1553f: 0xe0008668,\n\t// Block 0x555, offset 0x15540\n\t0x15541: 0xe00084e2, 0x15542: 0xe0007f1f,\n\t0x15544: 0xe00047de, 0x15547: 0xe0004d79,\n\t0x15553: 0xe000866b,\n\t0x15556: 0xe0007c52, 0x15557: 0xe0004ce6,\n\t0x15559: 0xe00090e2,\n\t0x15566: 0xe0009772,\n\t0x15569: 0xe0006614, 0x1556a: 0xe00077fc, 0x1556b: 0xe00072cd,\n\t0x15570: 0xe0007abb, 0x15571: 0xe00048cb, 0x15572: 0xe000997c, 0x15573: 0xe000a0af,\n\t0x15578: 0xe000a877, 0x15579: 0xe00083fe, 0x1557a: 0xe0005abe,\n\t0x1557d: 0xe000a057, 0x1557f: 0xe00065bc,\n\t// Block 0x556, offset 0x15580\n\t0x15587: 0xe0008aa5,\n\t0x1558f: 0xe0006104,\n\t0x15595: 0xe0005aeb,\n\t0x1559a: 0xe00077ec, 0x1559b: 0xe0004ad1,\n\t0x1559c: 0xe0004d7c, 0x1559e: 0xe00057c7,\n\t// Block 0x557, offset 0x155c0\n\t0x155f5: 0xe0005ac1, 0x155f7: 0xe0005a78,\n\t0x155f9: 0xe000a0ef, 0x155fb: 0xe000437c,\n\t0x155fd: 0xe0007af7, 0x155ff: 0xe0005b02,\n\t// Block 0x558, offset 0x15600\n\t0x15600: 0xe0008059, 0x15602: 0xe0004e94,\n\t0x15604: 0xe00098b0,\n\t0x1560b: 0xe000624d,\n\t0x1560c: 0xe000805c, 0x1560f: 0xe0004f1f,\n\t0x15611: 0xe0007c55, 0x15612: 0xe0005108, 0x15613: 0xe0005b06,\n\t0x15617: 0xe000590d,\n\t0x1561d: 0xe0006b84, 0x1561e: 0xe00087f6, 0x1561f: 0xe0005d7d,\n\t0x15624: 0xe00098b3, 0x15625: 0xe0005f58,\n\t0x15629: 0xe0006855, 0x1562a: 0xe0005fdc,\n\t0x1562f: 0xe0004da3,\n\t0x15634: 0xe0004d93, 0x15635: 0xe0005fc8,\n\t0x1563b: 0xe0005df2,\n\t0x1563d: 0xe0005e01, 0x1563e: 0xe000a848, 0x1563f: 0xe0005e04,\n\t// Block 0x559, offset 0x15640\n\t0x15643: 0xe000a698,\n\t0x15645: 0xe0004ffb,\n\t0x1564c: 0xe000a72f, 0x1564d: 0xe0006dd4, 0x1564e: 0xe0005910, 0x1564f: 0xe0008b21,\n\t0x15650: 0xe0005d5a, 0x15651: 0xe000a89b,\n\t0x15654: 0xe0004588, 0x15656: 0xe0005174,\n\t0x15658: 0xe000618d, 0x1565a: 0xe000468d, 0x1565b: 0xe00054eb,\n\t0x1565c: 0xe000990e, 0x1565d: 0xe00082ed, 0x1565e: 0xe0008af5,\n\t0x15660: 0xe000a990,\n\t0x15665: 0xe0004795,\n\t0x15668: 0xe0005476,\n\t0x1566e: 0xe0005432, 0x1566f: 0xe0007713,\n\t0x15672: 0xe000938b,\n\t0x15674: 0xe0006223, 0x15675: 0xe0005436, 0x15676: 0xe0007b27, 0x15677: 0xe00055e9,\n\t0x1567a: 0xe00068ec, 0x1567b: 0xe0006920,\n\t0x1567c: 0xe00066be, 0x1567d: 0xe00062a8, 0x1567f: 0xe0008182,\n\t// Block 0x55a, offset 0x15680\n\t0x15680: 0xe00098f6, 0x15682: 0xe0008dd6,\n\t0x15684: 0xe0008f46, 0x15687: 0xe0007cac,\n\t0x15688: 0xe000660c, 0x15689: 0xe0009af9, 0x1568a: 0xe00065c0,\n\t0x1568e: 0xe0008c21,\n\t0x15690: 0xe000522f, 0x15693: 0xe0004874,\n\t0x15697: 0xe00055ba,\n\t0x15699: 0xe0006a44,\n\t0x156a0: 0xe0006dd7, 0x156a2: 0xe00068f0,\n\t0x156ab: 0xe0006e4c,\n\t0x156ac: 0xe00082f0, 0x156af: 0xe0007cf7,\n\t0x156b4: 0xe0007953,\n\t0x156b8: 0xe0004691, 0x156b9: 0xe0007957, 0x156bb: 0xe00069c3,\n\t0x156be: 0xe000a0b3,\n\t// Block 0x55b, offset 0x156c0\n\t0x156ca: 0xe0008cb3, 0x156cb: 0xe0008827,\n\t0x156ce: 0xe000882a,\n\t0x156d2: 0xe00099ed,\n\t0x156d4: 0xe0009a46, 0x156d5: 0xe000a8e7, 0x156d7: 0xe00083a2,\n\t0x156df: 0xe00088b0,\n\t0x156e0: 0xe0009775, 0x156e1: 0xe0005a44,\n\t0x156e6: 0xe00042b0, 0x156e7: 0xe0006f40,\n\t0x156e9: 0xe0004c47, 0x156ea: 0xe000929f, 0x156eb: 0xe000495a,\n\t0x156ec: 0xe0007900,\n\t0x156f2: 0xe000805f,\n\t0x156f6: 0xe000765f, 0x156f7: 0xe0007633,\n\t// Block 0x55c, offset 0x15700\n\t0x1570d: 0xe0005be3, 0x1570e: 0xe0005b5e,\n\t0x15710: 0xe0006454, 0x15712: 0xe0005be7,\n\t0x15714: 0xe00049e2, 0x15715: 0xe0004340,\n\t0x1571c: 0xe0004ce9, 0x1571d: 0xe0009880,\n\t0x15720: 0xe0007859, 0x15722: 0xe000a589,\n\t0x15725: 0xe00082f3,\n\t// Block 0x55d, offset 0x15740\n\t0x15740: 0xe00050ed, 0x15741: 0xe00046dd, 0x15742: 0xe0009269, 0x15743: 0xe00041a8,\n\t0x15744: 0xe000a628, 0x15745: 0xe00049e6, 0x15746: 0xe0004c65, 0x15747: 0xe0004ce9,\n\t0x15748: 0xe0004ce9, 0x15749: 0xe00047a2, 0x1574a: 0xe0005193, 0x1574b: 0xe0005754,\n\t0x1574c: 0xe000521a, 0x1574d: 0xe0005757, 0x1574e: 0xe000575a, 0x1574f: 0xe000575d,\n\t0x15750: 0xe0005760, 0x15751: 0xe0005763, 0x15752: 0xe0005766, 0x15753: 0xe0005769,\n\t0x15754: 0xe000761b, 0x15755: 0xe0005787, 0x15756: 0xe000578b, 0x15757: 0xe000578f,\n\t0x15758: 0xe0005797, 0x15759: 0xe000579b, 0x1575a: 0xe000579f, 0x1575b: 0xe00057ab,\n\t0x1575c: 0xe00057af, 0x1575d: 0xe00057b3, 0x1575e: 0xe00057bf, 0x1575f: 0xe00057c3,\n\t0x15760: 0xe00057c7, 0x15761: 0xe00057f7, 0x15762: 0xe0005807, 0x15763: 0xe0005813,\n\t0x15764: 0xe0005817, 0x15765: 0xe0005827, 0x15766: 0xe000582b, 0x15767: 0xe000582f,\n\t0x15768: 0xe0005837, 0x15769: 0xe000583b, 0x1576a: 0xe000583f, 0x1576b: 0xe0005843,\n\t0x1576c: 0x43219c20, 0x1576d: 0xe000586f, 0x1576e: 0xe0005881, 0x1576f: 0xe0005a91,\n\t0x15770: 0xe0005a97, 0x15771: 0xe0005a9a, 0x15772: 0xe0005aa3, 0x15773: 0xe0005aa6,\n\t0x15774: 0xe0005aa9, 0x15775: 0xe0005aac, 0x15776: 0xe0005aaf, 0x15777: 0xe0005ab2,\n\t0x15778: 0xe0005ab8, 0x15779: 0xe0005abb, 0x1577a: 0xe0005abe, 0x1577b: 0xe0005aee,\n\t0x1577c: 0xe0005af2, 0x1577d: 0xe0005af6, 0x1577e: 0xe0005afa, 0x1577f: 0xe0005afe,\n\t// Block 0x55e, offset 0x15780\n\t0x15780: 0xe0005b02, 0x15781: 0xe0005b26, 0x15782: 0xe0005b2a, 0x15783: 0xe0005b2e,\n\t0x15784: 0xe0005b3e, 0x15785: 0xe0005b42, 0x15786: 0xe0005b68, 0x15787: 0xe0005b6b,\n\t0x15788: 0xe0005b6e, 0x15789: 0xe0005b77, 0x1578a: 0xe0005beb, 0x1578b: 0xe0005bf1,\n\t0x1578c: 0xe0005bf4, 0x1578d: 0xe0005bf7, 0x1578e: 0xe0005bfa, 0x1578f: 0xe0005c00,\n\t0x15790: 0xe0005c03, 0x15791: 0xe0005c0f, 0x15792: 0xe0005cac, 0x15793: 0xe0005cb0,\n\t0x15794: 0xe0005cb8, 0x15795: 0xe0005cc8, 0x15796: 0xe0005cd0, 0x15797: 0xe0005cd4,\n\t0x15798: 0xe0005cd8, 0x15799: 0xe0005cdc, 0x1579a: 0xe00055e1, 0x1579b: 0xe00051a4,\n\t0x1579c: 0xe000761b, 0x1579d: 0xe00051bc, 0x1579e: 0xe000532a, 0x1579f: 0xe0005259,\n\t0x157a0: 0xe000527a, 0x157a1: 0xe000713c, 0x157a2: 0xe000847a, 0x157a3: 0xe0006858,\n\t0x157a4: 0xe0006368, 0x157a5: 0xe0009db4, 0x157a6: 0xe00066d5, 0x157a7: 0xe0006789,\n\t0x157a8: 0xe0009f95, 0x157a9: 0xe00071c2, 0x157aa: 0xe0006d54, 0x157ab: 0xe000932b,\n\t0x157ac: 0xe0006d40, 0x157ad: 0xe0006ff4, 0x157ae: 0xe0007b33, 0x157af: 0xe0006f38,\n\t0x157b0: 0xe0006c40, 0x157b1: 0xe0009171, 0x157b2: 0xe0009a62, 0x157b3: 0xe00073a2,\n\t0x157b4: 0xe0007829, 0x157b5: 0xe0005885, 0x157b6: 0xe0005889, 0x157b7: 0xe0005891,\n\t0x157b8: 0xe0005899, 0x157b9: 0xe000589d, 0x157ba: 0xe00058a1, 0x157bb: 0xe00058b1,\n\t0x157bc: 0xe00058b5, 0x157bd: 0xe00058b9, 0x157be: 0xe00058c1, 0x157bf: 0xe00058e3,\n\t// Block 0x55f, offset 0x157c0\n\t0x157c0: 0xe00058e6, 0x157c1: 0xe0005232, 0x157c2: 0xe00058e9, 0x157c3: 0xe00058f2,\n\t0x157c4: 0xe00058f8, 0x157c5: 0xe00058fb, 0x157c6: 0xe0005904, 0x157c7: 0xe000590a,\n\t0x157c8: 0xe000590d, 0x157c9: 0xe0005910, 0x157ca: 0xe0005934, 0x157cb: 0xe0005938,\n\t0x157cc: 0xe000593c, 0x157cd: 0xe0005948, 0x157ce: 0xe0005239, 0x157cf: 0xe0005968,\n\t0x157d0: 0xe000596c, 0x157d1: 0xe000523d, 0x157d2: 0xe0005974, 0x157d3: 0xe0005978,\n\t0x157d4: 0xe000597c, 0x157d5: 0xe0005241, 0x157d6: 0xe0005980, 0x157d7: 0xe0005984,\n\t0x157d8: 0xe000598c, 0x157d9: 0xe0005988, 0x157da: 0xe0005990, 0x157db: 0xe0005994,\n\t0x157dc: 0xe00059b8, 0x157dd: 0xe00059bc, 0x157de: 0xe00084f6, 0x157df: 0xe00059c4,\n\t0x157e0: 0xe00059c8, 0x157e1: 0xe0006f38, 0x157e2: 0xe00059d8, 0x157e3: 0xe0005249,\n\t0x157e4: 0xe0005255, 0x157e5: 0xe00059e0, 0x157e6: 0xe00059e8, 0x157e7: 0xe00059f8,\n\t0x157e8: 0xe0005a04, 0x157e9: 0xe0005a0c, 0x157ea: 0xe0005259, 0x157eb: 0xe0005a14,\n\t0x157ec: 0xe0005a18, 0x157ed: 0xe0005a1c, 0x157ee: 0xe000a3b1, 0x157ef: 0xe0005a24,\n\t0x157f0: 0xe0005a2c, 0x157f1: 0xe0005a34, 0x157f2: 0xe0005a38, 0x157f3: 0xe0005a3c,\n\t0x157f4: 0xe0005a40, 0x157f5: 0xe0005a7c, 0x157f6: 0xe0005a82, 0x157f7: 0xe0005a85,\n\t0x157f8: 0xe0005a8b, 0x157f9: 0xe000760f, 0x157fa: 0xe0005b9b, 0x157fb: 0xe0005b9e,\n\t0x157fc: 0xe0005ba1, 0x157fd: 0xe00052ba, 0x157fe: 0xe0005ba7, 0x157ff: 0xe000761b,\n\t// Block 0x560, offset 0x15800\n\t0x15800: 0xe0005baa, 0x15801: 0xe0005bad, 0x15802: 0xe0005bb6, 0x15803: 0xe0005bb9,\n\t0x15804: 0xe0005be3, 0x15805: 0xe000a7de, 0x15806: 0xe0007e19, 0x15807: 0xe0005c27,\n\t0x15808: 0xe00052e5, 0x15809: 0xe0005c2d, 0x1580a: 0xe0005c33, 0x1580b: 0xe0005c36,\n\t0x1580c: 0xe0005c3c, 0x1580d: 0xe0005c42, 0x1580e: 0xe0005c48, 0x1580f: 0xe00052e8,\n\t0x15810: 0xe0005c4e, 0x15811: 0xe0005c60, 0x15812: 0xe0005c64, 0x15813: 0xe0005c68,\n\t0x15814: 0xe0005c74, 0x15815: 0xe0005c78, 0x15816: 0xe0005c7c, 0x15817: 0xe0005c84,\n\t0x15818: 0xe0005c8c, 0x15819: 0xe0005c90, 0x1581a: 0xe0005c94, 0x1581b: 0xe000713c,\n\t0x1581c: 0xe0005ca0, 0x1581d: 0xe0005ceb, 0x1581e: 0xe0005cf1, 0x1581f: 0xe0005cf7,\n\t0x15820: 0xe00079e7, 0x15821: 0xe0005cfd, 0x15822: 0xe0005d00, 0x15823: 0xe00052fc,\n\t0x15824: 0xe0005d0c, 0x15825: 0xe0005d12, 0x15826: 0xe0005d18, 0x15827: 0xe0005d21,\n\t0x15828: 0xe0005d24, 0x15829: 0xe0005d27, 0x1582a: 0xe0005d2d, 0x1582b: 0xe0005311,\n\t0x1582c: 0xe0005315, 0x1582d: 0xe0005d5d, 0x1582e: 0xe0005d65, 0x1582f: 0xe0005d69,\n\t0x15830: 0xe0005d6d, 0x15831: 0xe0005d75, 0x15832: 0xe0005d79, 0x15833: 0xe0005d7d,\n\t0x15834: 0xe0005db1, 0x15835: 0xe0005db5, 0x15836: 0xe0005dbd, 0x15837: 0xe0005dcd,\n\t0x15838: 0xe0005dd1, 0x15839: 0xe0005dd5, 0x1583a: 0xe0006cf0, 0x1583b: 0xe00085f3,\n\t0x1583c: 0xe00074a1, 0x1583d: 0xe0007595, 0x1583e: 0xe0005324, 0x1583f: 0xe00085d5,\n\t// Block 0x561, offset 0x15840\n\t0x15840: 0xe0008aa9, 0x15841: 0xe000552a, 0x15842: 0xe00094b4, 0x15843: 0xe000546e,\n\t0x15844: 0xe0005500, 0x15845: 0xe0005655, 0x15846: 0xe0009edb, 0x15847: 0xe00066f9,\n\t0x15848: 0xe000a206, 0x15849: 0xe00043f4, 0x1584a: 0xe0004601, 0x1584b: 0xe0004a35,\n\t0x1584c: 0xe0007d52, 0x1584d: 0x42ab8020, 0x1584e: 0x43f41c20, 0x1584f: 0x43f41e20,\n\t0x15850: 0xe00097c0, 0x15851: 0x43f42220, 0x15852: 0xe0009668, 0x15853: 0x43f42620,\n\t0x15854: 0x43f42820, 0x15855: 0xe000a922, 0x15856: 0xe0008886, 0x15857: 0xe00084c6,\n\t0x15858: 0x42f27820, 0x15859: 0xe00074e9, 0x1585a: 0xe0006cf8, 0x1585b: 0xe00066dd,\n\t0x1585c: 0xe0008c15, 0x1585d: 0xe0008be1, 0x1585e: 0xe0008005, 0x1585f: 0x43f43e20,\n\t0x15860: 0x430c2420, 0x15861: 0x43f44220, 0x15862: 0xe0008c9e, 0x15863: 0x43f44620,\n\t0x15864: 0x43f44820, 0x15865: 0xe000856e, 0x15866: 0xe0005578, 0x15867: 0x43f44e20,\n\t0x15868: 0x43f45020, 0x15869: 0x43f45220, 0x1586a: 0xe0006384, 0x1586b: 0xe0006b7e,\n\t0x1586c: 0xe0004a95, 0x1586d: 0xe000a03f, 0x1586e: 0xe0005853, 0x1586f: 0xe0005a88,\n\t0x15870: 0xe0006033, 0x15871: 0xe00073c6, 0x15872: 0xe0005fa0, 0x15873: 0xe0005fa8,\n\t0x15874: 0xe0004f5b, 0x15875: 0xe0006954, 0x15876: 0xe00042b8, 0x15877: 0xe0009b5c,\n\t0x15878: 0xe000505a, 0x15879: 0xe0006660, 0x1587a: 0xe0006189, 0x1587b: 0xe00099a4,\n\t0x1587c: 0x42b8dc20, 0x1587d: 0xe000a6c7, 0x1587e: 0xe0004455, 0x1587f: 0xe0009021,\n\t// Block 0x562, offset 0x15880\n\t0x15880: 0xe000922d, 0x15881: 0xe0006260, 0x15882: 0x42cbc420, 0x15883: 0xe0006d9e,\n\t0x15884: 0xe0005f15, 0x15885: 0xe000a1aa, 0x15886: 0xe0008880, 0x15887: 0xe000a06f,\n\t0x15888: 0xe00085f6, 0x15889: 0x42e45620, 0x1588a: 0xe0009b24, 0x1588b: 0xe000698d,\n\t0x1588c: 0xe0006b42, 0x1588d: 0xe0009091, 0x1588e: 0xe00050cc, 0x1588f: 0xe0007ff9,\n\t0x15890: 0xe0008d31, 0x15891: 0xe00098be, 0x15892: 0xe000a55f, 0x15893: 0xe0008bd5,\n\t0x15894: 0xe00048de, 0x15895: 0xe0005625, 0x15896: 0xe0008ac1, 0x15897: 0xe0005980,\n\t0x15898: 0xe0009151, 0x15899: 0xe000650c, 0x1589a: 0xe0006dbc, 0x1589b: 0xe0008608,\n\t0x1589c: 0xe0009970, 0x1589d: 0x4304f220, 0x1589e: 0x4304f220, 0x1589f: 0xe0008898,\n\t0x158a0: 0xe00042d0, 0x158a1: 0xe0007430, 0x158a2: 0xe000769f, 0x158a3: 0xe0004f83,\n\t0x158a4: 0xe0006a77, 0x158a5: 0xe0009045, 0x158a6: 0x431f6c20, 0x158a7: 0xe000856e,\n\t0x158a8: 0xe00051c8, 0x158a9: 0xe000a222, 0x158aa: 0xe0006a7b, 0x158ab: 0x42c0ea20,\n\t0x158ac: 0x4885dc20, 0x158ad: 0x43043020,\n\t0x158b0: 0xe000665c, 0x158b1: 0x42a36a20, 0x158b2: 0xe0008971, 0x158b3: 0x429f0020,\n\t0x158b4: 0xe0009916, 0x158b5: 0xe0005054, 0x158b6: 0xe0007f4e, 0x158b7: 0xe0008672,\n\t0x158b8: 0xe00042b8, 0x158b9: 0x42aaaa20, 0x158ba: 0xe000a821, 0x158bb: 0xe0007d56,\n\t0x158bc: 0xe00097c0, 0x158bd: 0xe0006868, 0x158be: 0xe0007973, 0x158bf: 0xe000686c,\n\t// Block 0x563, offset 0x158c0\n\t0x158c0: 0xe000695a, 0x158c1: 0xe0008623, 0x158c2: 0x42bda420, 0x158c3: 0x42bdb220,\n\t0x158c4: 0xe000943f, 0x158c5: 0xe0007f04, 0x158c6: 0xe0005eeb, 0x158c7: 0x42c29c20,\n\t0x158c8: 0xe0008236, 0x158c9: 0xe0009021, 0x158ca: 0xe0007cca, 0x158cb: 0xe000922d,\n\t0x158cc: 0xe00054d6, 0x158cd: 0xe000823c, 0x158ce: 0xe00071bc, 0x158cf: 0x42c8a420,\n\t0x158d0: 0xe0007c85, 0x158d1: 0xe0009668, 0x158d2: 0xe000583b, 0x158d3: 0xe0005ecb,\n\t0x158d4: 0xe0008752, 0x158d5: 0x42d6f220, 0x158d6: 0xe0006c40, 0x158d7: 0xe0005c33,\n\t0x158d8: 0x42ddb620, 0x158d9: 0xe00085f0, 0x158da: 0xe000a06f, 0x158db: 0xe0008bb9,\n\t0x158dc: 0xe00085f6, 0x158dd: 0x42ef4e20, 0x158de: 0xe000868a, 0x158df: 0xe0006560,\n\t0x158e0: 0xe0008886, 0x158e1: 0xe0008a3d, 0x158e2: 0x42ea0c20, 0x158e3: 0x42ea7620,\n\t0x158e4: 0x42ec3a20, 0x158e5: 0xe0007d16, 0x158e6: 0xe00084c6, 0x158e7: 0xe0006ff0,\n\t0x158e8: 0xe00090e5, 0x158e9: 0x42ee9420, 0x158ea: 0xe000928f, 0x158eb: 0x42f19820,\n\t0x158ec: 0x42f56220, 0x158ed: 0xe0008ac1, 0x158ee: 0x42f8f620, 0x158ef: 0xe0008daf,\n\t0x158f0: 0xe0005980, 0x158f1: 0xe0006668, 0x158f2: 0xe0008608, 0x158f3: 0xe000a688,\n\t0x158f4: 0xe000a568, 0x158f5: 0x430ef220, 0x158f6: 0xe00043e8, 0x158f7: 0xe00066f1,\n\t0x158f8: 0xe0007430, 0x158f9: 0xe0008d58, 0x158fa: 0xe0008c9e, 0x158fb: 0xe0009678,\n\t0x158fc: 0xe000769f, 0x158fd: 0xe00051bc, 0x158fe: 0xe000827e, 0x158ff: 0xe0004f83,\n\t// Block 0x564, offset 0x15900\n\t0x15900: 0xe00065cc, 0x15901: 0xe0009045, 0x15902: 0xe0007219, 0x15903: 0xe00090b5,\n\t0x15904: 0x43233220, 0x15905: 0x4324ec20, 0x15906: 0xe00088e6, 0x15907: 0xe00051c8,\n\t0x15908: 0xe0008c15, 0x15909: 0x432fb620, 0x1590a: 0xe000a222, 0x1590b: 0x43301620,\n\t0x1590c: 0xe0006a7b, 0x1590d: 0xe00091a9, 0x1590e: 0xe0004ce9, 0x1590f: 0x48509420,\n\t0x15910: 0x48508820, 0x15911: 0x4867aa20, 0x15912: 0x44773a20, 0x15913: 0x44803020,\n\t0x15914: 0x44807220, 0x15915: 0x48a49220, 0x15916: 0x48b9a020, 0x15917: 0x48fda620,\n\t0x15918: 0x433e8620, 0x15919: 0xe0005b5e,\n\t// Block 0x565, offset 0x15940\n\t0x15940: 0xe0003d0b, 0x15941: 0xe0003cf3, 0x15942: 0xe0003cf7, 0x15943: 0xe0003cff,\n\t0x15944: 0xe0003d0f, 0x15945: 0xe0003d03, 0x15946: 0xf0000404, 0x15947: 0xe0003cfb,\n\t0x15948: 0xe0003d07,\n\t0x15950: 0x02bf2e86, 0x15951: 0x02a7de86,\n\t// Block 0x566, offset 0x15980\n\t0x15980: 0x429c7a20, 0x15981: 0xe000a5b0, 0x15982: 0x429c8220, 0x15983: 0x48024420,\n\t0x15984: 0x429ec020, 0x15985: 0xe0006033, 0x15986: 0xe0009b9c, 0x15987: 0xe000661c,\n\t0x15988: 0x42a0f420, 0x15989: 0xe000694b, 0x1598a: 0xe00073c6, 0x1598b: 0xe0006ca8,\n\t0x1598c: 0x44693c20, 0x1598d: 0x480c7420, 0x1598e: 0xe0005fa0, 0x1598f: 0x42a2a820,\n\t0x15990: 0x42a2c820, 0x15991: 0xe0004c59, 0x15992: 0x480a3820, 0x15993: 0x44697220,\n\t0x15994: 0xe0005217, 0x15995: 0xe00087fa, 0x15996: 0x480a9620, 0x15997: 0xe0007f4a,\n\t0x15998: 0xe000814e, 0x15999: 0x429d9820, 0x1599a: 0xe0005635, 0x1599b: 0x42a36a20,\n\t0x1599c: 0x4923be20, 0x1599d: 0x42a3ea20, 0x1599e: 0xe00084ee, 0x1599f: 0x4469be20,\n\t0x159a0: 0xe00041e4, 0x159a1: 0x42a48c20, 0x159a2: 0xe000a0b7, 0x159a3: 0xe0006c08,\n\t0x159a4: 0x446a2a20, 0x159a5: 0xe0007f4e, 0x159a6: 0xe0005fa8, 0x159a7: 0xe0004f5b,\n\t0x159a8: 0xe0008672, 0x159a9: 0xe0009e65, 0x159aa: 0x42a60c20, 0x159ab: 0xe0006858,\n\t0x159ac: 0xe000a81e, 0x159ad: 0xe0006954, 0x159ae: 0xe00062c4, 0x159af: 0xe0008ff9,\n\t0x159b0: 0xe0008ff5, 0x159b1: 0xe00046b1, 0x159b2: 0xe00046b1, 0x159b3: 0xe00046b1,\n\t0x159b4: 0x48145820, 0x159b5: 0xe000a6dc, 0x159b6: 0xe0005003, 0x159b7: 0xe0007246,\n\t0x159b8: 0x4816c620, 0x159b9: 0xe0004ea3, 0x159ba: 0xe00091b1, 0x159bb: 0x42a80c20,\n\t0x159bc: 0x42a93c20, 0x159bd: 0xe000a8fb, 0x159be: 0xe0008b5d, 0x159bf: 0xe0008ea4,\n\t// Block 0x567, offset 0x159c0\n\t0x159c0: 0xe000763f, 0x159c1: 0x42a9ec20, 0x159c2: 0xe000544e, 0x159c3: 0xe000479c,\n\t0x159c4: 0xe000a0cf, 0x159c5: 0xe0006e5c, 0x159c6: 0xe0006e5c, 0x159c7: 0xe000a821,\n\t0x159c8: 0xe0005197, 0x159c9: 0x42ab6620, 0x159ca: 0x42ab8420, 0x159cb: 0xe0005515,\n\t0x159cc: 0xe0009b5c, 0x159cd: 0x42ae2e20, 0x159ce: 0x42aca220, 0x159cf: 0xe0006864,\n\t0x159d0: 0xe0008aa9, 0x159d1: 0x42b1dc20, 0x159d2: 0xe0006fc8, 0x159d3: 0xe0007475,\n\t0x159d4: 0x42b01a20, 0x159d5: 0xe000a38d, 0x159d6: 0x42b06420, 0x159d7: 0xe0006682,\n\t0x159d8: 0x42b15820, 0x159d9: 0x4829c820, 0x159da: 0x42b1e420, 0x159db: 0x42b1ee20,\n\t0x159dc: 0xe0006775, 0x159dd: 0xe0005321, 0x159de: 0xe00060d4, 0x159df: 0xe0006b00,\n\t0x159e0: 0x482d5020, 0x159e1: 0x482dd420, 0x159e2: 0xe000a92e, 0x159e3: 0xe0007c79,\n\t0x159e4: 0xe0009c21, 0x159e5: 0x42b3b020, 0x159e6: 0xe00067a7, 0x159e7: 0x446ddc20,\n\t0x159e8: 0x446df820, 0x159e9: 0xe0007efe, 0x159ea: 0xe00057cb, 0x159eb: 0xe00057cb,\n\t0x159ec: 0x48339020, 0x159ed: 0xe0008106, 0x159ee: 0xe00099f6, 0x159ef: 0xe0005259,\n\t0x159f0: 0x42b7e620, 0x159f1: 0x48363020, 0x159f2: 0x42b7fe20, 0x159f3: 0x42b80c20,\n\t0x159f4: 0x42bea620, 0x159f5: 0x42b84420, 0x159f6: 0x446f0220, 0x159f7: 0xe0005521,\n\t0x159f8: 0x42b8dc20, 0x159f9: 0xe00071aa, 0x159fa: 0x42b91a20, 0x159fb: 0x483bc820,\n\t0x159fc: 0x42ba8620, 0x159fd: 0x483bcc20, 0x159fe: 0x42badc20, 0x159ff: 0x42bad620,\n\t// Block 0x568, offset 0x15a00\n\t0x15a00: 0x42baf820, 0x15a01: 0xe00072d1, 0x15a02: 0xe000704e, 0x15a03: 0x44705e20,\n\t0x15a04: 0xe0007120, 0x15a05: 0xe0007030, 0x15a06: 0xe000603f, 0x15a07: 0x42bcd220,\n\t0x15a08: 0x4470c420, 0x15a09: 0x48430620, 0x15a0a: 0x4470f820, 0x15a0b: 0x42bd6020,\n\t0x15a0c: 0xe00069db, 0x15a0d: 0xe0006d8c, 0x15a0e: 0xe0005837, 0x15a0f: 0x49472420,\n\t0x15a10: 0x42bdfc20, 0x15a11: 0x48466220, 0x15a12: 0x48466220, 0x15a13: 0xe00079d8,\n\t0x15a14: 0xe000558a, 0x15a15: 0xe000558a, 0x15a16: 0x44718e20, 0x15a17: 0x48657020,\n\t0x15a18: 0x48c3b420, 0x15a19: 0xe000a391, 0x15a1a: 0xe0008cfb, 0x15a1b: 0x4471c620,\n\t0x15a1c: 0x42bf3420, 0x15a1d: 0xe000850a, 0x15a1e: 0xe0009064, 0x15a1f: 0x42bff220,\n\t0x15a20: 0xe0007a93, 0x15a21: 0x44727420, 0x15a22: 0x44723820, 0x15a23: 0xe000a6c7,\n\t0x15a24: 0x484da820, 0x15a25: 0xe00055f1, 0x15a26: 0xe00085ed, 0x15a27: 0xe000a654,\n\t0x15a28: 0x42c29c20, 0x15a29: 0xe000a654, 0x15a2a: 0xe0005c1b, 0x15a2b: 0xe0009021,\n\t0x15a2c: 0xe000a245, 0x15a2d: 0xe0006878, 0x15a2e: 0xe0009363, 0x15a2f: 0xe00060e4,\n\t0x15a30: 0xe000922d, 0x15a31: 0xe0005757, 0x15a32: 0xe0006fdc, 0x15a33: 0x42c43620,\n\t0x15a34: 0x42c4ba20, 0x15a35: 0xe0009e80, 0x15a36: 0xe00063ac, 0x15a37: 0xe0007a27,\n\t0x15a38: 0x48561820, 0x15a39: 0xe0005e3f, 0x15a3a: 0x42c5f820, 0x15a3b: 0xe0006b1b,\n\t0x15a3c: 0xe0007054, 0x15a3d: 0x42c7c820, 0x15a3e: 0x4857e220, 0x15a3f: 0xe000910d,\n\t// Block 0x569, offset 0x15a40\n\t0x15a40: 0x42c78a20, 0x15a41: 0xe0007977, 0x15a42: 0x44745c20, 0x15a43: 0xe0005ddd,\n\t0x15a44: 0x42c8fc20, 0x15a45: 0xe000a84b, 0x15a46: 0x42c8ee20, 0x15a47: 0x4474d820,\n\t0x15a48: 0xe0006260, 0x15a49: 0xe00046d1, 0x15a4a: 0x48601420, 0x15a4b: 0xe0005087,\n\t0x15a4c: 0xe0006da4, 0x15a4d: 0xe0009111, 0x15a4e: 0x44763220, 0x15a4f: 0xe0006d9e,\n\t0x15a50: 0x44761020, 0x15a51: 0x4475c820, 0x15a52: 0xe0006036, 0x15a53: 0xe0005fa4,\n\t0x15a54: 0xe0009802, 0x15a55: 0x42cd3820, 0x15a56: 0xe00052e1, 0x15a57: 0x4487b220,\n\t0x15a58: 0xe000583b, 0x15a59: 0xe0005ecb, 0x15a5a: 0x42ce4220, 0x15a5b: 0xe0005090,\n\t0x15a5c: 0xe0009ef7, 0x15a5d: 0x48678620, 0x15a5e: 0x44769220, 0x15a5f: 0x42cff420,\n\t0x15a60: 0x42cf0a20, 0x15a61: 0x42d0a420, 0x15a62: 0xe0005f15, 0x15a63: 0x4868da20,\n\t0x15a64: 0x42d11c20, 0x15a65: 0x42d03e20, 0x15a66: 0x42d22820, 0x15a67: 0x44773a20,\n\t0x15a68: 0xe0006b96, 0x15a69: 0x42d34620, 0x15a6a: 0xe000445b, 0x15a6b: 0x42d55020,\n\t0x15a6c: 0x486d4620, 0x15a6d: 0xe0009001, 0x15a6e: 0x44783020, 0x15a6f: 0xe000925a,\n\t0x15a70: 0x48714e20, 0x15a71: 0xe000a242, 0x15a72: 0x44789c20, 0x15a73: 0xe000701e,\n\t0x15a74: 0x42d73e20, 0x15a75: 0xe0006c40, 0x15a76: 0x42d77620, 0x15a77: 0x48751a20,\n\t0x15a78: 0x483a1620, 0x15a79: 0x4875f420, 0x15a7a: 0xe0006558, 0x15a7b: 0x48797820,\n\t0x15a7c: 0xe0007a37, 0x15a7d: 0x42d99a20, 0x15a7e: 0x42d8ce20, 0x15a7f: 0x42da2c20,\n\t// Block 0x56a, offset 0x15a80\n\t0x15a80: 0xe0009ce2, 0x15a81: 0xe000a1aa, 0x15a82: 0xe0005c33, 0x15a83: 0xe000a43f,\n\t0x15a84: 0xe0009a66, 0x15a85: 0xe0007ac3, 0x15a86: 0x487a3c20, 0x15a87: 0x42da6820,\n\t0x15a88: 0xe000a167, 0x15a89: 0xe000850e, 0x15a8a: 0x447a6620, 0x15a8b: 0xe00085f0,\n\t0x15a8c: 0x42dd8e20, 0x15a8d: 0x487da220, 0x15a8e: 0xe000797b, 0x15a8f: 0xe0008d1f,\n\t0x15a90: 0x487ebc20, 0x15a91: 0x487f1c20, 0x15a92: 0xe00068c8, 0x15a93: 0x42e07220,\n\t0x15a94: 0xe0008bb9, 0x15a95: 0xe0007b77, 0x15a96: 0x447b2c20, 0x15a97: 0x42e09420,\n\t0x15a98: 0xe0008818, 0x15a99: 0x42e0ee20, 0x15a9a: 0xe0009b74, 0x15a9b: 0x480a4a20,\n\t0x15a9c: 0x42e28a20, 0x15a9d: 0x4884c620, 0x15a9e: 0x42e33820, 0x15a9f: 0x48875620,\n\t0x15aa0: 0xe0009303, 0x15aa1: 0xe000868a, 0x15aa2: 0x42e4a020, 0x15aa3: 0x488c1020,\n\t0x15aa4: 0xe0006dad, 0x15aa5: 0x42e52a20, 0x15aa6: 0x488e6a20, 0x15aa7: 0x48902820,\n\t0x15aa8: 0xe00053a6, 0x15aa9: 0xe0007e55, 0x15aaa: 0x447d5820, 0x15aab: 0x42e74a20,\n\t0x15aac: 0x447d7020, 0x15aad: 0x447d7020, 0x15aae: 0x42e88e20, 0x15aaf: 0xe0008263,\n\t0x15ab0: 0xe0008a3d, 0x15ab1: 0x42e90a20, 0x15ab2: 0xe00046f9, 0x15ab3: 0x447e3620,\n\t0x15ab4: 0x42ea4820, 0x15ab5: 0x48986c20, 0x15ab6: 0x42ea7c20, 0x15ab7: 0x48992420,\n\t0x15ab8: 0xe000847a, 0x15ab9: 0x48433e20, 0x15aba: 0xe00082b7, 0x15abb: 0x489f4220,\n\t0x15abc: 0x489f7020, 0x15abd: 0x48a08820, 0x15abe: 0x447ff820, 0x15abf: 0x44801020,\n\t// Block 0x56b, offset 0x15ac0\n\t0x15ac0: 0xe00090e5, 0x15ac1: 0x48a1e620, 0x15ac2: 0x48a1e420, 0x15ac3: 0x48a23220,\n\t0x15ac4: 0x48a26620, 0x15ac5: 0xe0009145, 0x15ac6: 0x42ee3e20, 0x15ac7: 0x42ee3e20,\n\t0x15ac8: 0x42ee9420, 0x15ac9: 0x44807220, 0x15aca: 0xe0009149, 0x15acb: 0x44808c20,\n\t0x15acc: 0x44812c20, 0x15acd: 0x48a83a20, 0x15ace: 0x42f09c20, 0x15acf: 0xe0005aee,\n\t0x15ad0: 0x42f19820, 0x15ad1: 0x4481c620, 0x15ad2: 0x48ac4c20, 0x15ad3: 0xe0008d31,\n\t0x15ad4: 0x48ad3420, 0x15ad5: 0x48ad8a20, 0x15ad6: 0xe00066dd, 0x15ad7: 0xe0009912,\n\t0x15ad8: 0x44825e20, 0x15ad9: 0xe00048de, 0x15ada: 0x42f49420, 0x15adb: 0x42f49e20,\n\t0x15adc: 0x48b2f820, 0x15add: 0x48b54e20, 0x15ade: 0x48b54e20, 0x15adf: 0x42f5dc20,\n\t0x15ae0: 0x44840420, 0x15ae1: 0x48b75620, 0x15ae2: 0xe00089d5, 0x15ae3: 0xe00098ca,\n\t0x15ae4: 0x44844e20, 0x15ae5: 0x48b90020, 0x15ae6: 0x42f9a420, 0x15ae7: 0x44854020,\n\t0x15ae8: 0x42f9d020, 0x15ae9: 0x42f9c620, 0x15aea: 0xe00050d5, 0x15aeb: 0x48bf0c20,\n\t0x15aec: 0xe0006664, 0x15aed: 0x44860220, 0x15aee: 0xe00099d5, 0x15aef: 0x42fc0420,\n\t0x15af0: 0xe00070cf, 0x15af1: 0x44866820, 0x15af2: 0x48c45020, 0x15af3: 0x48c48e20,\n\t0x15af4: 0x4486b220, 0x15af5: 0x48c5b220, 0x15af6: 0x42fef420, 0x15af7: 0x48c67c20,\n\t0x15af8: 0x42ff2a20, 0x15af9: 0xe00048b0, 0x15afa: 0xe0008608, 0x15afb: 0x48c9b420,\n\t0x15afc: 0x48ca4620, 0x15afd: 0x4300c020, 0x15afe: 0x48cb5020, 0x15aff: 0xe00097d8,\n\t// Block 0x56c, offset 0x15b00\n\t0x15b00: 0x4866be20, 0x15b01: 0x4487aa20, 0x15b02: 0xe0008302, 0x15b03: 0x43020620,\n\t0x15b04: 0x44881620, 0x15b05: 0xe00069a2, 0x15b06: 0xe00085ce, 0x15b07: 0x48cf4e20,\n\t0x15b08: 0x48cf6a20, 0x15b09: 0x48672620, 0x15b0a: 0x48673820, 0x15b0b: 0xe00079d8,\n\t0x15b0c: 0x43040820, 0x15b0d: 0x431f3c20, 0x15b0e: 0x4488d620, 0x15b0f: 0x43052220,\n\t0x15b10: 0xe0008008, 0x15b11: 0xe00090a3, 0x15b12: 0x42a56620, 0x15b13: 0xe000a565,\n\t0x15b14: 0xe0006438, 0x15b15: 0xe00075c0, 0x15b16: 0xe0004850, 0x15b17: 0x48d67820,\n\t0x15b18: 0xe0007829, 0x15b19: 0xe000945a, 0x15b1a: 0x4306c620, 0x15b1b: 0x43075a20,\n\t0x15b1c: 0xe0007cd9, 0x15b1d: 0xe0005edf, 0x15b1e: 0x4307ce20, 0x15b1f: 0xe0008898,\n\t0x15b20: 0x4306a620, 0x15b21: 0xe0004d87, 0x15b22: 0xe0004f13, 0x15b23: 0xe000944b,\n\t0x15b24: 0x48d86c20, 0x15b25: 0x48dad620, 0x15b26: 0x48d9aa20, 0x15b27: 0x448a5620,\n\t0x15b28: 0xe0009e30, 0x15b29: 0x4309e620, 0x15b2a: 0x430a2c20, 0x15b2b: 0x48e79420,\n\t0x15b2c: 0xe00082d2, 0x15b2d: 0x48de5820, 0x15b2e: 0x448aba20, 0x15b2f: 0x448ac220,\n\t0x15b30: 0x48df6220, 0x15b31: 0x48e1a420, 0x15b32: 0x448ad620, 0x15b33: 0xe000a037,\n\t0x15b34: 0xe0005aaf, 0x15b35: 0xe000a85d, 0x15b36: 0x430cd220, 0x15b37: 0xe00099e1,\n\t0x15b38: 0x430d1020, 0x15b39: 0x430e1c20, 0x15b3a: 0x430dc420, 0x15b3b: 0x430ef220,\n\t0x15b3c: 0xe0008b39, 0x15b3d: 0x430ed620, 0x15b3e: 0x430f0c20, 0x15b3f: 0x448bae20,\n\t// Block 0x56d, offset 0x15b40\n\t0x15b40: 0x430fc220, 0x15b41: 0x43100220, 0x15b42: 0x448bf220, 0x15b43: 0x4310c020,\n\t0x15b44: 0xe000842f, 0x15b45: 0x48ecce20, 0x15b46: 0x4311ae20, 0x15b47: 0x4311bc20,\n\t0x15b48: 0x448c6a20, 0x15b49: 0x4311f420, 0x15b4a: 0x44697620, 0x15b4b: 0x48f15c20,\n\t0x15b4c: 0x48f2cc20, 0x15b4d: 0x448d7c20, 0x15b4e: 0x448d8e20, 0x15b4f: 0xe0007008,\n\t0x15b50: 0xe000827e, 0x15b51: 0xe00065cc, 0x15b52: 0xe000743c, 0x15b53: 0x48f95020,\n\t0x15b54: 0xe0004a8d, 0x15b55: 0xe00068a0, 0x15b56: 0xe00049d6, 0x15b57: 0xe00050f0,\n\t0x15b58: 0x48fe5e20, 0x15b59: 0x48100820, 0x15b5a: 0xe00063c0, 0x15b5b: 0x431b7820,\n\t0x15b5c: 0x431be020, 0x15b5d: 0x4811bc20, 0x15b5e: 0x431da820, 0x15b5f: 0xe0007219,\n\t0x15b60: 0x490ba420, 0x15b61: 0x490bda20, 0x15b62: 0x43212820, 0x15b63: 0x4321e220,\n\t0x15b64: 0x43222220, 0x15b65: 0x490e5c20, 0x15b66: 0x43223620, 0x15b67: 0xe00063e0,\n\t0x15b68: 0xe000a311, 0x15b69: 0x4325b020, 0x15b6a: 0xe0006678, 0x15b6b: 0x4327f220,\n\t0x15b6c: 0x43282a20, 0x15b6d: 0x4917f420, 0x15b6e: 0xe0004476, 0x15b6f: 0x44932a20,\n\t0x15b70: 0x432b6e20, 0x15b71: 0x491aee20, 0x15b72: 0x4493cc20, 0x15b73: 0x432d8620,\n\t0x15b74: 0x42bb6420, 0x15b75: 0xe00080ca, 0x15b76: 0x49228a20, 0x15b77: 0x49243420,\n\t0x15b78: 0x4494dc20, 0x15b79: 0x4494ec20, 0x15b7a: 0xe0009fd5, 0x15b7b: 0x49281420,\n\t0x15b7c: 0x44956420, 0x15b7d: 0x49292c20, 0x15b7e: 0x43301620, 0x15b7f: 0x43301620,\n\t// Block 0x56e, offset 0x15b80\n\t0x15b80: 0x43305220, 0x15b81: 0x492b6c20, 0x15b82: 0xe00050f9, 0x15b83: 0x44966620,\n\t0x15b84: 0x43325220, 0x15b85: 0x43334e20, 0x15b86: 0x43338420, 0x15b87: 0x4333fc20,\n\t0x15b88: 0x44979c20, 0x15b89: 0x49366020, 0x15b8a: 0xe00091a9, 0x15b8b: 0x43388020,\n\t0x15b8c: 0x4339fa20, 0x15b8d: 0x44999c20, 0x15b8e: 0x4499da20, 0x15b8f: 0x433ace20,\n\t0x15b90: 0x49419c20, 0x15b91: 0x4499f020, 0x15b92: 0x49420a20, 0x15b93: 0x49441c20,\n\t0x15b94: 0x49452220, 0x15b95: 0xe0005df2, 0x15b96: 0x449aac20, 0x15b97: 0x433df220,\n\t0x15b98: 0x433dfc20, 0x15b99: 0x433e0a20, 0x15b9a: 0x433e1e20, 0x15b9b: 0x433e2c20,\n\t0x15b9c: 0xe00069c3, 0x15b9d: 0x494c0020,\n\t// Block 0x56f, offset 0x15bc0\n\t0x15bc0: 0xa000f202, 0x15bc1: 0x403fba21, 0x15bc2: 0x403fba20, 0x15bc3: 0x403fbc20,\n\t0x15bc4: 0x403fbc20, 0x15bc5: 0x403fbe20, 0x15bc6: 0x403fc020, 0x15bc7: 0x403fcc20,\n\t0x15bc8: 0x403fce20, 0x15bc9: 0x403fd020, 0x15bca: 0x403fd220, 0x15bcb: 0x403fd420,\n\t0x15bcc: 0x403fd820, 0x15bcd: 0x403fdc20, 0x15bce: 0x403fde20, 0x15bcf: 0x403fe020,\n\t0x15bd0: 0x403fe220, 0x15bd1: 0x403fe420, 0x15bd2: 0x403fe620, 0x15bd3: 0x403fe820,\n\t0x15bd4: 0x403fea20, 0x15bd5: 0xcaac3be1, 0x15bd6: 0x403fee20, 0x15bd7: 0x403ff020,\n\t0x15bd8: 0x403ff420, 0x15bd9: 0x403ff620, 0x15bda: 0x403ff820, 0x15bdb: 0x403ffa20,\n\t0x15bdc: 0x403ffc20, 0x15bdd: 0x40400220, 0x15bde: 0x40400420, 0x15bdf: 0x40400620,\n\t0x15be0: 0x40400820, 0x15be1: 0x40400a20, 0x15be2: 0x40400e20, 0x15be3: 0x40401020,\n\t0x15be4: 0x40401220, 0x15be5: 0x40401420, 0x15be6: 0x40401620, 0x15be7: 0x40401820,\n\t0x15be8: 0x40401a20, 0x15be9: 0xe0001830, 0x15bea: 0x40401c20, 0x15beb: 0x40401e20,\n\t0x15bec: 0x40402020, 0x15bed: 0x40402420, 0x15bee: 0x40402620, 0x15bef: 0x40402820,\n\t0x15bf0: 0x40402c20, 0x15bf1: 0xe0001839, 0x15bf2: 0x40402e20, 0x15bf3: 0x40403c20,\n\t0x15bf4: 0xe000a994, 0x15bf5: 0x40403220, 0x15bf6: 0x40403420, 0x15bf7: 0x40403620,\n\t0x15bf8: 0x40403820, 0x15bf9: 0x40403a20, 0x15bfa: 0x40404c20, 0x15bfb: 0x40404e20,\n\t0x15bfc: 0xa070f102, 0x15bfd: 0x40403c20, 0x15bfe: 0x40404a20, 0x15bff: 0x40405620,\n\t// Block 0x570, offset 0x15c00\n\t0x15c00: 0xa0000000, 0x15c01: 0xa0000000, 0x15c02: 0xa0000000, 0x15c03: 0xa0000000,\n\t0x15c04: 0xa0000000, 0x15c05: 0xa0000000, 0x15c06: 0xa0000000, 0x15c07: 0xa0000000,\n\t0x15c08: 0xa0000000, 0x15c09: 0x40020020, 0x15c0a: 0x40020220, 0x15c0b: 0x40020420,\n\t0x15c0c: 0x40020620, 0x15c0d: 0x40020820, 0x15c0e: 0xa0000000, 0x15c0f: 0xa0000000,\n\t0x15c10: 0xa0000000, 0x15c11: 0xa0000000, 0x15c12: 0xa0000000, 0x15c13: 0xa0000000,\n\t0x15c14: 0xa0000000, 0x15c15: 0xa0000000, 0x15c16: 0xa0000000, 0x15c17: 0xa0000000,\n\t0x15c18: 0xa0000000, 0x15c19: 0xa0000000, 0x15c1a: 0xa0000000, 0x15c1b: 0xa0000000,\n\t0x15c1c: 0xa0000000, 0x15c1d: 0xa0000000, 0x15c1e: 0xa0000000, 0x15c1f: 0xa0000000,\n\t0x15c20: 0x40021220, 0x15c21: 0x4002ba20, 0x15c22: 0x4003e020, 0x15c23: 0x4004ea20,\n\t0x15c24: 0x4027de20, 0x15c25: 0x4004ec20, 0x15c26: 0x4004e620, 0x15c27: 0x4003d220,\n\t0x15c28: 0x4003f420, 0x15c29: 0x4003f620, 0x15c2a: 0x4004d820, 0x15c2b: 0x40093820,\n\t0x15c2c: 0x40024020, 0x15c2d: 0x40021a20, 0x15c2e: 0x4002e420, 0x15c2f: 0x4004e220,\n\t0x15c30: 0x4029cc20, 0x15c31: 0x4029ce20, 0x15c32: 0x4029d020, 0x15c33: 0x4029d220,\n\t0x15c34: 0x4029d420, 0x15c35: 0x4029d620, 0x15c36: 0x4029d820, 0x15c37: 0x4029da20,\n\t0x15c38: 0x4029dc20, 0x15c39: 0x4029de20, 0x15c3a: 0x40026c20, 0x15c3b: 0x40026220,\n\t0x15c3c: 0x40094020, 0x15c3d: 0x40094220, 0x15c3e: 0x40094420, 0x15c3f: 0x4002c420,\n\t// Block 0x571, offset 0x15c40\n\t0x15c40: 0x4004d620, 0x15c41: 0x002bde88, 0x15c42: 0x002c0a88, 0x15c43: 0x002c3a88,\n\t0x15c44: 0x002c6288, 0x15c45: 0x002c9888, 0x15c46: 0x002d0888, 0x15c47: 0xcab12692,\n\t0x15c48: 0x002d6888, 0x15c49: 0x002d9a88, 0x15c4a: 0x002dcc88, 0x15c4b: 0xcab726c2,\n\t0x15c4c: 0xc0030002, 0x15c4d: 0xcac33c48, 0x15c4e: 0xcadf3daa, 0x15c4f: 0x002ee288,\n\t0x15c50: 0x002f2c88, 0x15c51: 0x002f5688, 0x15c52: 0x002f7a88, 0x15c53: 0xcaf409c2,\n\t0x15c54: 0xcafa2722, 0x15c55: 0x00306c88, 0x15c56: 0x0030be88, 0x15c57: 0x0030e288,\n\t0x15c58: 0x0030f688, 0x15c59: 0x00310088, 0x15c5a: 0x00312a88, 0x15c5b: 0x4003f820,\n\t0x15c5c: 0x4004e420, 0x15c5d: 0x4003fa20, 0x15c5e: 0x40062420, 0x15c5f: 0x40021620,\n\t0x15c60: 0x40061e20, 0x15c61: 0x402bde20, 0x15c62: 0x402c0a20, 0x15c63: 0x402c3a20,\n\t0x15c64: 0x402c6220, 0x15c65: 0x402c9820, 0x15c66: 0x402d0820, 0x15c67: 0xcaae2692,\n\t0x15c68: 0x402d6820, 0x15c69: 0x402d9a20, 0x15c6a: 0x402dcc20, 0x15c6b: 0xcab426c2,\n\t0x15c6c: 0xc0000002, 0x15c6d: 0xcaba3c48, 0x15c6e: 0xcacc3cca, 0x15c6f: 0x402ee220,\n\t0x15c70: 0x402f2c20, 0x15c71: 0x402f5620, 0x15c72: 0x402f7a20, 0x15c73: 0xcaf109c2,\n\t0x15c74: 0xcaf72722, 0x15c75: 0x40306c20, 0x15c76: 0x4030be20, 0x15c77: 0x4030e220,\n\t0x15c78: 0x4030f620, 0x15c79: 0x40310020, 0x15c7a: 0x40312a20, 0x15c7b: 0x4003fc20,\n\t0x15c7c: 0x40094820, 0x15c7d: 0x4003fe20, 0x15c7e: 0x40094c20, 0x15c7f: 0xa0000000,\n\t// Block 0x572, offset 0x15c80\n\t0x15c80: 0x402c1a20, 0x15c81: 0x002c2a88, 0x15c82: 0x002c3288, 0x15c83: 0x402c3220,\n\t0x15c84: 0x0031c488, 0x15c85: 0x4031c420, 0x15c86: 0x002ee2a3, 0x15c87: 0x002c4e88,\n\t0x15c88: 0x402c4e20, 0x15c89: 0x002c7288, 0x15c8a: 0x002c7a88, 0x15c8b: 0x002c8488,\n\t0x15c8c: 0x402c8420, 0x15c8d: 0xe000115c, 0x15c8e: 0x002cae88, 0x15c8f: 0x002cb888,\n\t0x15c90: 0x002c9a83, 0x15c91: 0x002d1688, 0x15c92: 0x402d1620, 0x15c93: 0x002d4488,\n\t0x15c94: 0x002d5888, 0x15c95: 0x402d7820, 0x15c96: 0x002dc288, 0x15c97: 0x002db688,\n\t0x15c98: 0x002e0a88, 0x15c99: 0x402e0a20, 0x15c9a: 0x402e3820, 0x15c9b: 0x402e7220,\n\t0x15c9c: 0x0030a088, 0x15c9d: 0x002eb488, 0x15c9e: 0x402ebc20, 0x15c9f: 0x002f1088,\n\t0x15ca0: 0xe0000e56, 0x15ca1: 0xe0000e53, 0x15ca2: 0x002d6088, 0x15ca3: 0x402d6020,\n\t0x15ca4: 0x002f3e88, 0x15ca5: 0x402f3e20, 0x15ca6: 0x002f8288, 0x15ca7: 0x0031b488,\n\t0x15ca8: 0x4031b420, 0x15ca9: 0x00300888, 0x15caa: 0x40301220, 0x15cab: 0x40304220,\n\t0x15cac: 0x00304a88, 0x15cad: 0x40304a20, 0x15cae: 0x00305288, 0x15caf: 0xe000105f,\n\t0x15cb0: 0xe000105c, 0x15cb1: 0x0030b488, 0x15cb2: 0x0030cc88, 0x15cb3: 0x00311888,\n\t0x15cb4: 0x40311820, 0x15cb5: 0x00313488, 0x15cb6: 0x40313420, 0x15cb7: 0x00316488,\n\t0x15cb8: 0x00316e88, 0x15cb9: 0x40316e20, 0x15cba: 0x40317820, 0x15cbb: 0x4031a620,\n\t0x15cbc: 0x0031bc88, 0x15cbd: 0x4031bc20, 0x15cbe: 0xe0000fc9, 0x15cbf: 0x40319420,\n\t// Block 0x573, offset 0x15cc0\n\t0x15cc0: 0x40315820, 0x15cc1: 0x0031d488, 0x15cc2: 0x4031d420, 0x15cc3: 0x002c1a88,\n\t0x15cc4: 0x00307c88, 0x15cc5: 0x0030da88, 0x15cc6: 0x002ca288, 0x15cc7: 0x402ca220,\n\t0x15cc8: 0x002dde88, 0x15cc9: 0x402dde20, 0x15cca: 0x002f6a88, 0x15ccb: 0x402f6a20,\n\t0x15ccc: 0x002f8e88, 0x15ccd: 0x402f8e20, 0x15cce: 0x00311088, 0x15ccf: 0x40311020,\n\t0x15cd0: 0x402bf020, 0x15cd1: 0x402bf820, 0x15cd2: 0x402c0220, 0x15cd3: 0x402c2a20,\n\t0x15cd4: 0x402ee221, 0x15cd5: 0x402c5620, 0x15cd6: 0x402c7220, 0x15cd7: 0x402c7a20,\n\t0x15cd8: 0x402ccc20, 0x15cd9: 0x402cb820, 0x15cda: 0x402cd420, 0x15cdb: 0x402c9a20,\n\t0x15cdc: 0x402cdc20, 0x15cdd: 0x402ce820, 0x15cde: 0x402cf020, 0x15cdf: 0x402dee20,\n\t0x15ce0: 0x402d4420, 0x15ce1: 0x402d2a20, 0x15ce2: 0x402d3220, 0x15ce3: 0x402d5820,\n\t0x15ce4: 0x402d0020, 0x15ce5: 0x40308820, 0x15ce6: 0x402d8020, 0x15ce7: 0x402d8e20,\n\t0x15ce8: 0x402db620, 0x15ce9: 0x402dc220, 0x15cea: 0x402daa20, 0x15ceb: 0x402e4220,\n\t0x15cec: 0x402e4a20, 0x15ced: 0x402e5420, 0x15cee: 0x402e6820, 0x15cef: 0x4030a020,\n\t0x15cf0: 0x4030ac20, 0x15cf1: 0x402e9020, 0x15cf2: 0x402eb420, 0x15cf3: 0x402ec820,\n\t0x15cf4: 0x402ea620, 0x15cf5: 0x402f1020, 0x15cf6: 0x402eee20, 0x15cf7: 0x402f1a20,\n\t0x15cf8: 0x402f4c20, 0x15cf9: 0x402f9820, 0x15cfa: 0x402fa220, 0x15cfb: 0x402fac20,\n\t0x15cfc: 0x402fb620, 0x15cfd: 0x402fbe20, 0x15cfe: 0x402fc620, 0x15cff: 0x402fd020,\n\t// Block 0x574, offset 0x15d00\n\t0x15d00: 0xa0000000, 0x15d01: 0xa0000000, 0x15d02: 0xa0000000, 0x15d03: 0xa0000000,\n\t0x15d04: 0xa0000000, 0x15d05: 0xa0000000, 0x15d06: 0xa0000000, 0x15d07: 0xa0000000,\n\t0x15d08: 0xa0000000, 0x15d09: 0x40020020, 0x15d0a: 0x40020220, 0x15d0b: 0x40020420,\n\t0x15d0c: 0x40020620, 0x15d0d: 0x40020820, 0x15d0e: 0xa0000000, 0x15d0f: 0xa0000000,\n\t0x15d10: 0xa0000000, 0x15d11: 0xa0000000, 0x15d12: 0xa0000000, 0x15d13: 0xa0000000,\n\t0x15d14: 0xa0000000, 0x15d15: 0xa0000000, 0x15d16: 0xa0000000, 0x15d17: 0xa0000000,\n\t0x15d18: 0xa0000000, 0x15d19: 0xa0000000, 0x15d1a: 0xa0000000, 0x15d1b: 0xa0000000,\n\t0x15d1c: 0xa0000000, 0x15d1d: 0xa0000000, 0x15d1e: 0xa0000000, 0x15d1f: 0xa0000000,\n\t0x15d20: 0x40021220, 0x15d21: 0x4002ba20, 0x15d22: 0x4003e020, 0x15d23: 0x4004ea20,\n\t0x15d24: 0x4027de20, 0x15d25: 0x4004ec20, 0x15d26: 0x4004e620, 0x15d27: 0x4003d220,\n\t0x15d28: 0x4003f420, 0x15d29: 0x4003f620, 0x15d2a: 0x4004d820, 0x15d2b: 0x40093820,\n\t0x15d2c: 0x40024020, 0x15d2d: 0x40021a20, 0x15d2e: 0x4002e420, 0x15d2f: 0x4004e220,\n\t0x15d30: 0x4029cc20, 0x15d31: 0x4029ce20, 0x15d32: 0x4029d020, 0x15d33: 0x4029d220,\n\t0x15d34: 0x4029d420, 0x15d35: 0x4029d620, 0x15d36: 0x4029d820, 0x15d37: 0x4029da20,\n\t0x15d38: 0x4029dc20, 0x15d39: 0x4029de20, 0x15d3a: 0x40026c20, 0x15d3b: 0x40026220,\n\t0x15d3c: 0x40094020, 0x15d3d: 0x40094220, 0x15d3e: 0x40094420, 0x15d3f: 0x4002c420,\n\t// Block 0x575, offset 0x15d40\n\t0x15d40: 0x4004d620, 0x15d41: 0xcb030be1, 0x15d42: 0x002c0a88, 0x15d43: 0xc3350991,\n\t0x15d44: 0x002c6288, 0x15d45: 0xcb083ea1, 0x15d46: 0x002d0888, 0x15d47: 0x002d2288,\n\t0x15d48: 0x002d6888, 0x15d49: 0xcb0d0be1, 0x15d4a: 0x002dcc88, 0x15d4b: 0x002dfe88,\n\t0x15d4c: 0xc0030002, 0x15d4d: 0x002e8288, 0x15d4e: 0x002e9e88, 0x15d4f: 0x002ee288,\n\t0x15d50: 0x002f2c88, 0x15d51: 0x002f5688, 0x15d52: 0x002f7a88, 0x15d53: 0xc3430991,\n\t0x15d54: 0x00302c88, 0x15d55: 0xcb123ed1, 0x15d56: 0x0030be88, 0x15d57: 0x0030e288,\n\t0x15d58: 0x0030f688, 0x15d59: 0x002d9ac3, 0x15d5a: 0xc3630991, 0x15d5b: 0x4003f820,\n\t0x15d5c: 0x4004e420, 0x15d5d: 0x4003fa20, 0x15d5e: 0x40062420, 0x15d5f: 0x40021620,\n\t0x15d60: 0x40061e20, 0x15d61: 0xcb010be1, 0x15d62: 0x402c0a20, 0x15d63: 0xc3330991,\n\t0x15d64: 0x402c6220, 0x15d65: 0xcb053ea1, 0x15d66: 0x402d0820, 0x15d67: 0x402d2220,\n\t0x15d68: 0x402d6820, 0x15d69: 0xcb0b0be1, 0x15d6a: 0x402dcc20, 0x15d6b: 0x402dfe20,\n\t0x15d6c: 0xc0000002, 0x15d6d: 0x402e8220, 0x15d6e: 0x402e9e20, 0x15d6f: 0x402ee220,\n\t0x15d70: 0x402f2c20, 0x15d71: 0x402f5620, 0x15d72: 0x402f7a20, 0x15d73: 0xc3410991,\n\t0x15d74: 0x40302c20, 0x15d75: 0xcb0f3ed1, 0x15d76: 0x4030be20, 0x15d77: 0x4030e220,\n\t0x15d78: 0x4030f620, 0x15d79: 0x402d9a22, 0x15d7a: 0xc3610991, 0x15d7b: 0x4003fc20,\n\t0x15d7c: 0x40094820, 0x15d7d: 0x4003fe20, 0x15d7e: 0x40094c20, 0x15d7f: 0xa0000000,\n\t// Block 0x576, offset 0x15d80\n\t0x15d80: 0xe00008f5, 0x15d81: 0xe00008ef, 0x15d82: 0xe0000921, 0x15d83: 0xe0000969,\n\t0x15d84: 0xe000095b, 0x15d85: 0xe000094d, 0x15d86: 0xe00009dd, 0x15d87: 0xe0000a53,\n\t0x15d88: 0xe0000ae8, 0x15d89: 0xe0000ae2, 0x15d8a: 0xe0000af4, 0x15d8b: 0xe0000b20,\n\t0x15d8c: 0xe0000c2b, 0x15d8d: 0xe0000c25, 0x15d8e: 0xe0000c37, 0x15d8f: 0xe0000c43,\n\t0x15d90: 0xe0000ab3, 0x15d91: 0xe0000d63, 0x15d92: 0xe0000d9a, 0x15d93: 0xe0000d94,\n\t0x15d94: 0xe0000da6, 0x15d95: 0xe0000de6, 0x15d96: 0xe0000dd2, 0x15d97: 0x40093e20,\n\t0x15d98: 0xe0000e12, 0x15d99: 0xe0000fe1, 0x15d9a: 0xe0000fdb, 0x15d9b: 0xe0000fed,\n\t0x15d9c: 0xe0000fff, 0x15d9d: 0xe000a99a, 0x15d9e: 0x00318888, 0x15d9f: 0xe0000f7b,\n\t0x15da0: 0xe00008f2, 0x15da1: 0xe00008ec, 0x15da2: 0xe000091e, 0x15da3: 0xe0000966,\n\t0x15da4: 0xe0000958, 0x15da5: 0xe000094a, 0x15da6: 0xe00009d5, 0x15da7: 0xe0000a4d,\n\t0x15da8: 0xe0000ae5, 0x15da9: 0xe0000adf, 0x15daa: 0xe0000af1, 0x15dab: 0xe0000b1d,\n\t0x15dac: 0xe0000c28, 0x15dad: 0xe0000c22, 0x15dae: 0xe0000c34, 0x15daf: 0xe0000c40,\n\t0x15db0: 0xe0000aad, 0x15db1: 0xe0000d60, 0x15db2: 0xe0000d97, 0x15db3: 0xe0000d91,\n\t0x15db4: 0xe0000da3, 0x15db5: 0xe0000de3, 0x15db6: 0xe0000dcf, 0x15db7: 0x40093c20,\n\t0x15db8: 0xe0000e0f, 0x15db9: 0xe0000fde, 0x15dba: 0xe0000fd8, 0x15dbb: 0xe0000fea,\n\t0x15dbc: 0xe0000ffc, 0x15dbd: 0xe000a997, 0x15dbe: 0x40318820, 0x15dbf: 0xe000a9ac,\n\t// Block 0x577, offset 0x15dc0\n\t0x15dc0: 0xe0000983, 0x15dc1: 0xe0000980, 0x15dc2: 0xe00008fb, 0x15dc3: 0xe00008f8,\n\t0x15dc4: 0x002bdea3, 0x15dc5: 0x402bde21, 0x15dc6: 0xe0000a38, 0x15dc7: 0xe0000a35,\n\t0x15dc8: 0xe0000a3e, 0x15dc9: 0xe0000a3b, 0x15dca: 0xe0000a4a, 0x15dcb: 0xe0000a47,\n\t0x15dcc: 0x002c3c83, 0x15dcd: 0x402c3c20, 0x15dce: 0xe0000a86, 0x15dcf: 0xe0000a83,\n\t0x15dd0: 0xe0000aaa, 0x15dd1: 0xe0000aa7, 0x15dd2: 0xe0000b46, 0x15dd3: 0xe0000b43,\n\t0x15dd4: 0xe0000aee, 0x15dd5: 0xe0000aeb, 0x15dd6: 0x002c98c3, 0x15dd7: 0x402c9822,\n\t0x15dd8: 0x002c98a3, 0x15dd9: 0x402c9821, 0x15dda: 0xe0000b1a, 0x15ddb: 0xe0000b17,\n\t0x15ddc: 0xe0000bb8, 0x15ddd: 0xe0000bb5, 0x15dde: 0xe0000bb2, 0x15ddf: 0xe0000baf,\n\t0x15de0: 0xe0000bc4, 0x15de1: 0xe0000bc1, 0x15de2: 0xe0000bca, 0x15de3: 0xe0000bc7,\n\t0x15de4: 0xe0000bee, 0x15de5: 0xe0000beb, 0x15de6: 0xe0000c1b, 0x15de7: 0xe0000c18,\n\t0x15de8: 0xe0000c51, 0x15de9: 0xe0000c4e, 0x15dea: 0xe0000c60, 0x15deb: 0xe0000c5d,\n\t0x15dec: 0xe0000c31, 0x15ded: 0xe0000c2e, 0x15dee: 0x002d9aa3, 0x15def: 0x402d9a21,\n\t0x15df0: 0xe0000c54, 0x15df1: 0x402da220, 0x15df2: 0xf0000a0a, 0x15df3: 0xf0000404,\n\t0x15df4: 0xe0000c8a, 0x15df5: 0xe0000c87, 0x15df6: 0xe0000c9f, 0x15df7: 0xe0000c9c,\n\t0x15df8: 0x402f7220, 0x15df9: 0xe0000ccc, 0x15dfa: 0xe0000cc9, 0x15dfb: 0xe0000cd8,\n\t0x15dfc: 0xe0000cd5, 0x15dfd: 0xe0000cd2, 0x15dfe: 0xe0000ccf, 0x15dff: 0xe0000d04,\n\t// Block 0x578, offset 0x15e00\n\t0x15e00: 0xe0000cfe, 0x15e01: 0xe0000cf8, 0x15e02: 0xe0000cf5, 0x15e03: 0xe0000d51,\n\t0x15e04: 0xe0000d4e, 0x15e05: 0xe0000d6f, 0x15e06: 0xe0000d6c, 0x15e07: 0xe0000d5d,\n\t0x15e08: 0xe0000d5a, 0x15e09: 0xf0000404, 0x15e0a: 0x002eda88, 0x15e0b: 0x402eda20,\n\t0x15e0c: 0xe0000e2e, 0x15e0d: 0xe0000e2b, 0x15e0e: 0xe0000da0, 0x15e0f: 0xe0000d9d,\n\t0x15e10: 0xe0000de0, 0x15e11: 0xe0000ddd, 0x15e12: 0xe0000e93, 0x15e13: 0xe0000e8f,\n\t0x15e14: 0xe0000eca, 0x15e15: 0xe0000ec7, 0x15e16: 0xe0000edc, 0x15e17: 0xe0000ed9,\n\t0x15e18: 0xe0000ed0, 0x15e19: 0xe0000ecd, 0x15e1a: 0xe0000f1f, 0x15e1b: 0xe0000f1c,\n\t0x15e1c: 0xe0000f2d, 0x15e1d: 0xe0000f2a, 0x15e1e: 0xe0000f47, 0x15e1f: 0xe0000f44,\n\t0x15e20: 0x002fe883, 0x15e21: 0x402fe820, 0x15e22: 0xe0000f99, 0x15e23: 0xe0000f96,\n\t0x15e24: 0xe0000f8a, 0x15e25: 0xe0000f87, 0x15e26: 0x00303688, 0x15e27: 0x40303620,\n\t0x15e28: 0xe000102b, 0x15e29: 0xe0001028, 0x15e2a: 0x00306cc3, 0x15e2b: 0x40306c22,\n\t0x15e2c: 0xe0000fe7, 0x15e2d: 0xe0000fe4, 0x15e2e: 0xe0000ff9, 0x15e2f: 0xe0000ff6,\n\t0x15e30: 0xe0001025, 0x15e31: 0xe0001022, 0x15e32: 0x00306ca3, 0x15e33: 0x40306c21,\n\t0x15e34: 0xe00010d8, 0x15e35: 0xe00010d5, 0x15e36: 0xe000a9a6, 0x15e37: 0xe000a9a3,\n\t0x15e38: 0xe000a9af, 0x15e39: 0xe000113b, 0x15e3a: 0xe0001138, 0x15e3b: 0xe000114d,\n\t0x15e3c: 0xe000114a, 0x15e3d: 0x00312c83, 0x15e3e: 0x40312c20, 0x15e3f: 0xe0000f64,\n\t// Block 0x579, offset 0x15e40\n\t0x15e40: 0x40321220, 0x15e41: 0x40321a20, 0x15e42: 0x40322220, 0x15e43: 0x40322a20,\n\t0x15e44: 0xe0000ad5, 0x15e45: 0xe0000ad1, 0x15e46: 0xe0000acd, 0x15e47: 0xf0000a0a,\n\t0x15e48: 0xf000040a, 0x15e49: 0xf0000404, 0x15e4a: 0xf0000a0a, 0x15e4b: 0xf000040a,\n\t0x15e4c: 0xf0000404, 0x15e4d: 0xe0000947, 0x15e4e: 0xe0000944, 0x15e4f: 0xe0000c3d,\n\t0x15e50: 0xe0000c3a, 0x15e51: 0xe0000dcc, 0x15e52: 0xe0000dc9, 0x15e53: 0xe0000ff3,\n\t0x15e54: 0xe0000ff0, 0x15e55: 0xe000a9d3, 0x15e56: 0xe000a9d0, 0x15e57: 0xe0001006,\n\t0x15e58: 0xe0001002, 0x15e59: 0xe0001016, 0x15e5a: 0xe0001012, 0x15e5b: 0xe000100e,\n\t0x15e5c: 0xe000100a, 0x15e5d: 0x402cae20, 0x15e5e: 0xe0000962, 0x15e5f: 0xe000095e,\n\t0x15e60: 0xe0000976, 0x15e61: 0xe0000972, 0x15e62: 0xe00009f4, 0x15e63: 0xe00009ef,\n\t0x15e64: 0x002d3a88, 0x15e65: 0x402d3a20, 0x15e66: 0xe0000bbe, 0x15e67: 0xe0000bbb,\n\t0x15e68: 0xe0000c99, 0x15e69: 0xe0000c96, 0x15e6a: 0xe0000e20, 0x15e6b: 0xe0000e1d,\n\t0x15e6c: 0xe0000e27, 0x15e6d: 0xe0000e23, 0x15e6e: 0xe0001162, 0x15e6f: 0xe000115f,\n\t0x15e70: 0xe0000c8d, 0x15e71: 0xf0000a0a, 0x15e72: 0xf000040a, 0x15e73: 0xf0000404,\n\t0x15e74: 0xe0000bac, 0x15e75: 0xe0000ba9, 0x15e76: 0x002d7888, 0x15e77: 0x00319488,\n\t0x15e78: 0xe0000d57, 0x15e79: 0xe0000d54, 0x15e7a: 0xe0000954, 0x15e7b: 0xe0000950,\n\t0x15e7c: 0xe00009ea, 0x15e7d: 0xe00009e5, 0x15e7e: 0xe0000e19, 0x15e7f: 0xe0000e15,\n\t// Block 0x57a, offset 0x15e80\n\t0x15e80: 0xe000098f, 0x15e81: 0xe000098c, 0x15e82: 0xe0000995, 0x15e83: 0xe0000992,\n\t0x15e84: 0xe0000b62, 0x15e85: 0xe0000b5f, 0x15e86: 0xe0000b68, 0x15e87: 0xe0000b65,\n\t0x15e88: 0xe0000c6c, 0x15e89: 0xe0000c69, 0x15e8a: 0xe0000c72, 0x15e8b: 0xe0000c6f,\n\t0x15e8c: 0xe0000e4a, 0x15e8d: 0xe0000e47, 0x15e8e: 0xe0000e50, 0x15e8f: 0xe0000e4d,\n\t0x15e90: 0xe0000ee8, 0x15e91: 0xe0000ee5, 0x15e92: 0xe0000eee, 0x15e93: 0xe0000eeb,\n\t0x15e94: 0xe0001053, 0x15e95: 0xe0001050, 0x15e96: 0xe0001059, 0x15e97: 0xe0001056,\n\t0x15e98: 0xe0000f61, 0x15e99: 0xe0000f5e, 0x15e9a: 0xe0000fa5, 0x15e9b: 0xe0000fa2,\n\t0x15e9c: 0x00312288, 0x15e9d: 0x40312220, 0x15e9e: 0xe0000bf4, 0x15e9f: 0xe0000bf1,\n\t0x15ea0: 0x002ebc88, 0x15ea1: 0x402c8c20, 0x15ea2: 0x002f2288, 0x15ea3: 0x402f2220,\n\t0x15ea4: 0x00314088, 0x15ea5: 0x40314020, 0x15ea6: 0xe000096f, 0x15ea7: 0xe000096c,\n\t0x15ea8: 0xe0000b32, 0x15ea9: 0xe0000b2f, 0x15eaa: 0xe0000dd9, 0x15eab: 0xe0000dd5,\n\t0x15eac: 0xe0000dfd, 0x15ead: 0xe0000df9, 0x15eae: 0xe0000e04, 0x15eaf: 0xe0000e01,\n\t0x15eb0: 0xe0000e0b, 0x15eb1: 0xe0000e07, 0x15eb2: 0xe000a9c1, 0x15eb3: 0xe000a9be,\n\t0x15eb4: 0x402e5e20, 0x15eb5: 0x402ed020, 0x15eb6: 0x40305a20, 0x15eb7: 0x402dd420,\n\t0x15eb8: 0xe0000abf, 0x15eb9: 0xe0000ec4, 0x15eba: 0x002be888, 0x15ebb: 0x002c4488,\n\t0x15ebc: 0x402c4420, 0x15ebd: 0x002e3888, 0x15ebe: 0x00303e88, 0x15ebf: 0x402ffc20,\n\t// Block 0x57b, offset 0x15ec0\n\t0x15ec0: 0xae603502, 0x15ec1: 0xae603202, 0x15ec2: 0xae603c02, 0x15ec3: 0xae604e02,\n\t0x15ec4: 0xae605b02, 0x15ec5: 0xae606302, 0x15ec6: 0xae603702, 0x15ec7: 0xcafd3e71,\n\t0x15ec8: 0xae604702, 0x15ec9: 0xae606402, 0x15eca: 0xae604302, 0x15ecb: 0xae604d02,\n\t0x15ecc: 0xae604102, 0x15ecd: 0xae605f02, 0x15ece: 0xae605f02, 0x15ecf: 0xae606502,\n\t0x15ed0: 0xae606602, 0x15ed1: 0xae606702, 0x15ed2: 0xae605f02, 0x15ed3: 0xae602202,\n\t0x15ed4: 0xae602a02, 0x15ed5: 0xae805f02, 0x15ed6: 0xadc06002, 0x15ed7: 0xadc06002,\n\t0x15ed8: 0xadc06002, 0x15ed9: 0xadc06002, 0x15eda: 0xae805f02, 0x15edb: 0xad806802,\n\t0x15edc: 0xadc06002, 0x15edd: 0xadc06002, 0x15ede: 0xadc06002, 0x15edf: 0xadc06002,\n\t0x15ee0: 0xadc06002, 0x15ee1: 0xaca06e02, 0x15ee2: 0xaca06f02, 0x15ee3: 0xadc07002,\n\t0x15ee4: 0xadc07502, 0x15ee5: 0xadc07602, 0x15ee6: 0xadc07702, 0x15ee7: 0xaca05602,\n\t0x15ee8: 0xaca05902, 0x15ee9: 0xadc06002, 0x15eea: 0xadc06002, 0x15eeb: 0xadc06002,\n\t0x15eec: 0xadc06002, 0x15eed: 0xadc07802, 0x15eee: 0xadc07902, 0x15eef: 0xadc06002,\n\t0x15ef0: 0xadc07a02, 0x15ef1: 0xadc07b02, 0x15ef2: 0xadc02102, 0x15ef3: 0xadc06002,\n\t0x15ef4: 0xa0107c02, 0x15ef5: 0xa0107d02, 0x15ef6: 0xa0106102, 0x15ef7: 0xa0106102,\n\t0x15ef8: 0xa0105402, 0x15ef9: 0xadc07e02, 0x15efa: 0xadc06002, 0x15efb: 0xadc06002,\n\t0x15efc: 0xadc06002, 0x15efd: 0xae605f02, 0x15efe: 0xae605f02, 0x15eff: 0xae605f02,\n\t// Block 0x57c, offset 0x15f00\n\t0x15f00: 0xe0000d24, 0x15f01: 0xe0000d21, 0x15f02: 0xe0000d2a, 0x15f03: 0xe0000d27,\n\t0x15f04: 0xe0000d69, 0x15f05: 0xe0000d66, 0x15f06: 0xe0000d7b, 0x15f07: 0xe0000d78,\n\t0x15f08: 0xe0000d87, 0x15f09: 0xe0000d84, 0x15f0a: 0xe0000d81, 0x15f0b: 0xe0000d7e,\n\t0x15f0c: 0xe0000ded, 0x15f0d: 0xe0000de9, 0x15f0e: 0xe0000df5, 0x15f0f: 0xe0000df1,\n\t0x15f10: 0xe0000e3d, 0x15f11: 0xe0000e39, 0x15f12: 0xe0000e35, 0x15f13: 0xe0000e31,\n\t0x15f14: 0xe0000ea7, 0x15f15: 0xe0000ea4, 0x15f16: 0xe0000ead, 0x15f17: 0xe0000eaa,\n\t0x15f18: 0xe0000ed6, 0x15f19: 0xe0000ed3, 0x15f1a: 0xe0000ef4, 0x15f1b: 0xe0000ef1,\n\t0x15f1c: 0xe0000efb, 0x15f1d: 0xe0000ef7, 0x15f1e: 0xe0000f02, 0x15f1f: 0xe0000eff,\n\t0x15f20: 0xe0000f41, 0x15f21: 0xe0000f3e, 0x15f22: 0xe0000f53, 0x15f23: 0xe0000f50,\n\t0x15f24: 0xe0000f26, 0x15f25: 0xe0000f22, 0x15f26: 0xe000296a, 0x15f27: 0xe0002967,\n\t0x15f28: 0xe0000f5a, 0x15f29: 0xe0000f56, 0x15f2a: 0xe0000f93, 0x15f2b: 0xe0000f90,\n\t0x15f2c: 0xe0000f9f, 0x15f2d: 0xe0000f9c, 0x15f2e: 0xe0000fb1, 0x15f2f: 0xe0000fae,\n\t0x15f30: 0xe0000fab, 0x15f31: 0xe0000fa8, 0x15f32: 0xe0001093, 0x15f33: 0xe0001090,\n\t0x15f34: 0xe000109f, 0x15f35: 0xe000109c, 0x15f36: 0xe0001099, 0x15f37: 0xe0001096,\n\t0x15f38: 0xe0001032, 0x15f39: 0xe000102e, 0x15f3a: 0xe000a9d3, 0x15f3b: 0xe000a9d0,\n\t0x15f3c: 0xe00010a9, 0x15f3d: 0xe00010a6, 0x15f3e: 0xe00010af, 0x15f3f: 0xe00010ac,\n\t// Block 0x57d, offset 0x15f40\n\t0x15f40: 0xe00010d2, 0x15f41: 0xe00010cf, 0x15f42: 0xe00010cc, 0x15f43: 0xe00010c9,\n\t0x15f44: 0xe00010e1, 0x15f45: 0xe00010de, 0x15f46: 0xe00010e7, 0x15f47: 0xe00010e4,\n\t0x15f48: 0xe00010ed, 0x15f49: 0xe00010ea, 0x15f4a: 0xe00010fc, 0x15f4b: 0xe00010f9,\n\t0x15f4c: 0xe00010f6, 0x15f4d: 0xe00010f3, 0x15f4e: 0xe000a9bb, 0x15f4f: 0xe000a9b8,\n\t0x15f50: 0xe0001141, 0x15f51: 0xe000113e, 0x15f52: 0xe0001153, 0x15f53: 0xe0001150,\n\t0x15f54: 0xe0001159, 0x15f55: 0xe0001156, 0x15f56: 0xe0000c15, 0x15f57: 0xe0000f8d,\n\t0x15f58: 0xe00010db, 0x15f59: 0xe000a9a9, 0x15f5a: 0xf0000404, 0x15f5b: 0xe0000f70,\n\t0x15f5c: 0x40300420, 0x15f5d: 0x40300620, 0x15f5e: 0xe0000f7f, 0x15f5f: 0x402c9620,\n\t0x15f60: 0xe000099b, 0x15f61: 0xe0000998, 0x15f62: 0xe0000989, 0x15f63: 0xe0000986,\n\t0x15f64: 0xe0000928, 0x15f65: 0xe0000924, 0x15f66: 0xe0000930, 0x15f67: 0xe000092c,\n\t0x15f68: 0xe0000940, 0x15f69: 0xe000093c, 0x15f6a: 0xe0000938, 0x15f6b: 0xe0000934,\n\t0x15f6c: 0xe00009aa, 0x15f6d: 0xe00009a6, 0x15f6e: 0xe0000902, 0x15f6f: 0xe00008fe,\n\t0x15f70: 0xe000090a, 0x15f71: 0xe0000906, 0x15f72: 0xe000091a, 0x15f73: 0xe0000916,\n\t0x15f74: 0xe0000912, 0x15f75: 0xe000090e, 0x15f76: 0xe00009a2, 0x15f77: 0xe000099e,\n\t0x15f78: 0xe0000b6e, 0x15f79: 0xe0000b6b, 0x15f7a: 0xe0000b5c, 0x15f7b: 0xe0000b59,\n\t0x15f7c: 0xe0000b26, 0x15f7d: 0xe0000b23, 0x15f7e: 0xe0000afb, 0x15f7f: 0xe0000af7,\n\t// Block 0x57e, offset 0x15f80\n\t0x15f80: 0xe0000b03, 0x15f81: 0xe0000aff, 0x15f82: 0xe0000b13, 0x15f83: 0xe0000b0f,\n\t0x15f84: 0xe0000b0b, 0x15f85: 0xe0000b07, 0x15f86: 0xe0000b75, 0x15f87: 0xe0000b71,\n\t0x15f88: 0xe0000c66, 0x15f89: 0xe0000c63, 0x15f8a: 0xe0000c78, 0x15f8b: 0xe0000c75,\n\t0x15f8c: 0xe0000e84, 0x15f8d: 0xe0000e81, 0x15f8e: 0xe0000e44, 0x15f8f: 0xe0000e41,\n\t0x15f90: 0xe0000dad, 0x15f91: 0xe0000da9, 0x15f92: 0xe0000db5, 0x15f93: 0xe0000db1,\n\t0x15f94: 0xe0000dc5, 0x15f95: 0xe0000dc1, 0x15f96: 0xe0000dbd, 0x15f97: 0xe0000db9,\n\t0x15f98: 0xe0000e8b, 0x15f99: 0xe0000e87, 0x15f9a: 0xe0000e5d, 0x15f9b: 0xe0000e59,\n\t0x15f9c: 0xe0000e65, 0x15f9d: 0xe0000e61, 0x15f9e: 0xe0000e75, 0x15f9f: 0xe0000e71,\n\t0x15fa0: 0xe0000e6d, 0x15fa1: 0xe0000e69, 0x15fa2: 0xe0000e7d, 0x15fa3: 0xe0000e79,\n\t0x15fa4: 0xe000108d, 0x15fa5: 0xe000108a, 0x15fa6: 0xe000104d, 0x15fa7: 0xe000104a,\n\t0x15fa8: 0xe0001066, 0x15fa9: 0xe0001062, 0x15faa: 0xe000106e, 0x15fab: 0xe000106a,\n\t0x15fac: 0xe000107e, 0x15fad: 0xe000107a, 0x15fae: 0xe0001076, 0x15faf: 0xe0001072,\n\t0x15fb0: 0xe0001086, 0x15fb1: 0xe0001082, 0x15fb2: 0xe000a9a0, 0x15fb3: 0xe000a99d,\n\t0x15fb4: 0xe000a9cd, 0x15fb5: 0xe000a9ca, 0x15fb6: 0xe000a9c7, 0x15fb7: 0xe000a9c4,\n\t0x15fb8: 0xe000a9b5, 0x15fb9: 0xe000a9b2, 0x15fba: 0xe0000d0a, 0x15fbb: 0xe0000d07,\n\t0x15fbc: 0x0030d888, 0x15fbd: 0x4030d820, 0x15fbe: 0x00312088, 0x15fbf: 0x40312020,\n\t// Block 0x57f, offset 0x15fc0\n\t0x15fc0: 0xe0000024, 0x15fc1: 0xe0000029, 0x15fc2: 0xe000002e, 0x15fc3: 0xe0000033,\n\t0x15fc4: 0xe0000038, 0x15fc5: 0xe000003d, 0x15fc6: 0xe0000042, 0x15fc7: 0xe0000047,\n\t0x15fc8: 0xf0001f04, 0x15fc9: 0xf0001f04, 0x15fca: 0xf0001f04, 0x15fcb: 0xf0001f04,\n\t0x15fcc: 0xf0001f04, 0x15fcd: 0xf0001f04, 0x15fce: 0xf0001f04, 0x15fcf: 0xf0001f04,\n\t0x15fd0: 0xf0001f04, 0x15fd1: 0xf0000404, 0x15fd2: 0xf0000404, 0x15fd3: 0xf0000404,\n\t0x15fd4: 0xf0000404, 0x15fd5: 0xf0000404, 0x15fd6: 0xf0000404, 0x15fd7: 0xf0000404,\n\t0x15fd8: 0xf0000404, 0x15fd9: 0xf0000404, 0x15fda: 0xf0000404, 0x15fdb: 0xf0000404,\n\t0x15fdc: 0xf0000404, 0x15fdd: 0xf0000404, 0x15fde: 0xf0000404, 0x15fdf: 0xf0000404,\n\t0x15fe0: 0xf0000404, 0x15fe1: 0xf0000404, 0x15fe2: 0xf0000404, 0x15fe3: 0xf0000404,\n\t0x15fe4: 0xf0000404, 0x15fe5: 0xf0000404, 0x15fe6: 0xf0000404, 0x15fe7: 0xf0000404,\n\t0x15fe8: 0xf0000404, 0x15fe9: 0xf0000404, 0x15fea: 0xf0000404, 0x15feb: 0xf0000404,\n\t0x15fec: 0xf0000404, 0x15fed: 0xf0000404, 0x15fee: 0xf0000404, 0x15fef: 0xf0000404,\n\t0x15ff0: 0xf0000404, 0x15ff1: 0xf0000404, 0x15ff2: 0xf0000404, 0x15ff3: 0xf0000404,\n\t0x15ff4: 0xe0002c4e, 0x15ff5: 0xf0000404, 0x15ff6: 0x002bde8c, 0x15ff7: 0x002c0a8c,\n\t0x15ff8: 0x002c3a8c, 0x15ff9: 0x002c628c, 0x15ffa: 0x002c988c, 0x15ffb: 0x002d088c,\n\t0x15ffc: 0x002d228c, 0x15ffd: 0x002d688c, 0x15ffe: 0x002d9a8c, 0x15fff: 0x002dcc8c,\n\t// Block 0x580, offset 0x16000\n\t0x16000: 0xf0001d1c, 0x16001: 0xf0001d1d, 0x16002: 0xe00009b7, 0x16003: 0xf0001c1d,\n\t0x16004: 0xf0001c1c, 0x16005: 0xf0001c1c, 0x16006: 0xe0000a66, 0x16007: 0xe0000a7a,\n\t0x16008: 0xf0001d1c, 0x16009: 0xe0003576, 0x1600a: 0xf0001c1c, 0x1600b: 0xf0001d1d,\n\t0x1600c: 0xf0001c1c, 0x1600d: 0xf0001d1d, 0x1600e: 0xf0001d1d, 0x1600f: 0xf0001c1c,\n\t0x16010: 0xf0001c1c, 0x16011: 0xf0001c1c, 0x16012: 0xe0000d0d, 0x16013: 0xf0001c1c,\n\t0x16014: 0xf0001c1c, 0x16015: 0xe0000d3a, 0x16016: 0xe0000d46, 0x16017: 0xf0001d1d,\n\t0x16018: 0xe0000eb0, 0x16019: 0xe0000eb8, 0x1601a: 0xf0001d1d, 0x1601b: 0xf0001c1c,\n\t0x1601c: 0xf0001c1d, 0x1601d: 0xf0001c1d, 0x1601e: 0xe00010b2, 0x1601f: 0xe00009c8,\n\t0x16020: 0xf0001f04, 0x16021: 0xf0001f04, 0x16022: 0xf0001f04, 0x16023: 0xf0001f04,\n\t0x16024: 0xf0001f04, 0x16025: 0xf0001f04, 0x16026: 0xf0001f04, 0x16027: 0xf0001f04,\n\t0x16028: 0xf0001f04, 0x16029: 0xf0000404, 0x1602a: 0xf0000404, 0x1602b: 0xf0000404,\n\t0x1602c: 0xf0000404, 0x1602d: 0xf0000404, 0x1602e: 0xf0000404, 0x1602f: 0xf0000404,\n\t0x16030: 0xf0000404, 0x16031: 0xf0000404, 0x16032: 0xf0000404, 0x16033: 0xf0000404,\n\t0x16034: 0xf0000404, 0x16035: 0xf0000404, 0x16036: 0xf0000404, 0x16037: 0xf0000404,\n\t0x16038: 0xf0000404, 0x16039: 0xf0000404, 0x1603a: 0xf0000404, 0x1603b: 0xf0000404,\n\t0x1603c: 0xf0000404, 0x1603d: 0xf0000404, 0x1603e: 0xf0000404, 0x1603f: 0xe0000bdf,\n\t// Block 0x581, offset 0x16040\n\t0x16040: 0xf0001f04, 0x16041: 0xf0001f04, 0x16042: 0xf0001f04, 0x16043: 0xf0001f04,\n\t0x16044: 0xf0001f04, 0x16045: 0xf0001f04, 0x16046: 0xf0001f04, 0x16047: 0xf0001f04,\n\t0x16048: 0xf0001f04, 0x16049: 0xf0001f04, 0x1604a: 0xf0001f04,\n\t0x16050: 0xf0000a04, 0x16051: 0xf0000a04, 0x16052: 0xf0000a04, 0x16053: 0xf0000a04,\n\t0x16054: 0xf0000a04, 0x16055: 0xf0000a04, 0x16056: 0xf0000a04, 0x16057: 0xf0000a04,\n\t0x16058: 0xf0000a04, 0x16059: 0xf0000a04, 0x1605a: 0xf0000a04, 0x1605b: 0xf0000a04,\n\t0x1605c: 0xf0000a04, 0x1605d: 0xf0000a04, 0x1605e: 0xf0000a04, 0x1605f: 0xf0000a04,\n\t0x16060: 0xf0000a04, 0x16061: 0xf0000a04, 0x16062: 0xf0000a04, 0x16063: 0xf0000a04,\n\t0x16064: 0xf0000a04, 0x16065: 0xf0000a04, 0x16066: 0xf0000a04, 0x16067: 0xf0000a04,\n\t0x16068: 0xe0002c52, 0x16069: 0xf0000a04, 0x1606a: 0xf0000a04, 0x1606b: 0x002c3a8c,\n\t0x1606c: 0x002f7a8c, 0x1606d: 0xf0000c0c, 0x1606e: 0xf0000c0c,\n\t0x16070: 0x002bde9d, 0x16071: 0x002c0a9d, 0x16072: 0x002c3a9d, 0x16073: 0x002c629d,\n\t0x16074: 0x002c989d, 0x16075: 0x002d089d, 0x16076: 0x002d229d, 0x16077: 0x002d689d,\n\t0x16078: 0x002d9a9d, 0x16079: 0x002dcc9d, 0x1607a: 0x002dfe9d, 0x1607b: 0x002e229d,\n\t0x1607c: 0x002e829d, 0x1607d: 0x002e9e9d, 0x1607e: 0x002ee29d, 0x1607f: 0x002f2c9d,\n\t// Block 0x582, offset 0x16080\n\t0x16080: 0xa0000000, 0x16081: 0xa0000000, 0x16082: 0xa0000000, 0x16083: 0xa0000000,\n\t0x16084: 0xa0000000, 0x16085: 0xa0000000, 0x16086: 0xa0000000, 0x16087: 0xa0000000,\n\t0x16088: 0xa0000000, 0x16089: 0x40020020, 0x1608a: 0x40020220, 0x1608b: 0x40020420,\n\t0x1608c: 0x40020620, 0x1608d: 0x40020820, 0x1608e: 0xa0000000, 0x1608f: 0xa0000000,\n\t0x16090: 0xa0000000, 0x16091: 0xa0000000, 0x16092: 0xa0000000, 0x16093: 0xa0000000,\n\t0x16094: 0xa0000000, 0x16095: 0xa0000000, 0x16096: 0xa0000000, 0x16097: 0xa0000000,\n\t0x16098: 0xa0000000, 0x16099: 0xa0000000, 0x1609a: 0xa0000000, 0x1609b: 0xa0000000,\n\t0x1609c: 0xa0000000, 0x1609d: 0xa0000000, 0x1609e: 0xa0000000, 0x1609f: 0xa0000000,\n\t0x160a0: 0x40021220, 0x160a1: 0x4002ba20, 0x160a2: 0x4003e020, 0x160a3: 0x4004ea20,\n\t0x160a4: 0x4027de20, 0x160a5: 0x4004ec20, 0x160a6: 0x4004e620, 0x160a7: 0x4003d220,\n\t0x160a8: 0x4003f420, 0x160a9: 0x4003f620, 0x160aa: 0x4004d820, 0x160ab: 0x40093820,\n\t0x160ac: 0x40024020, 0x160ad: 0x40021a20, 0x160ae: 0x4002e420, 0x160af: 0x4004e220,\n\t0x160b0: 0x4029cc20, 0x160b1: 0x4029ce20, 0x160b2: 0x4029d020, 0x160b3: 0x4029d220,\n\t0x160b4: 0x4029d420, 0x160b5: 0x4029d620, 0x160b6: 0x4029d820, 0x160b7: 0x4029da20,\n\t0x160b8: 0x4029dc20, 0x160b9: 0x4029de20, 0x160ba: 0x40026c20, 0x160bb: 0x40026220,\n\t0x160bc: 0x40094020, 0x160bd: 0x40094220, 0x160be: 0x40094420, 0x160bf: 0x4002c420,\n\t// Block 0x583, offset 0x160c0\n\t0x160c0: 0x4004d620, 0x160c1: 0x002bde88, 0x160c2: 0x002c0a88, 0x160c3: 0xcb170991,\n\t0x160c4: 0x002c6288, 0x160c5: 0x002c9888, 0x160c6: 0x002d0888, 0x160c7: 0xcb1b0911,\n\t0x160c8: 0x002d6888, 0x160c9: 0x002d9a88, 0x160ca: 0x002dcc88, 0x160cb: 0xcb1f0911,\n\t0x160cc: 0xcb253f03, 0x160cd: 0x002e8288, 0x160ce: 0xcb2b0911, 0x160cf: 0x002ee288,\n\t0x160d0: 0x002f2c88, 0x160d1: 0x002f5688, 0x160d2: 0xcb2f0911, 0x160d3: 0xcb330991,\n\t0x160d4: 0x00302c88, 0x160d5: 0x00306c88, 0x160d6: 0x0030be88, 0x160d7: 0x0030e288,\n\t0x160d8: 0x0030f688, 0x160d9: 0x00310088, 0x160da: 0xcb370991, 0x160db: 0x4003f820,\n\t0x160dc: 0x4004e420, 0x160dd: 0x4003fa20, 0x160de: 0x40062420, 0x160df: 0x40021620,\n\t0x160e0: 0x40061e20, 0x160e1: 0x402bde20, 0x160e2: 0x402c0a20, 0x160e3: 0xcb150991,\n\t0x160e4: 0x402c6220, 0x160e5: 0x402c9820, 0x160e6: 0x402d0820, 0x160e7: 0xcb190911,\n\t0x160e8: 0x402d6820, 0x160e9: 0x402d9a20, 0x160ea: 0x402dcc20, 0x160eb: 0xcb1d0911,\n\t0x160ec: 0xcb213f03, 0x160ed: 0x402e8220, 0x160ee: 0xcb290911, 0x160ef: 0x402ee220,\n\t0x160f0: 0x402f2c20, 0x160f1: 0x402f5620, 0x160f2: 0xcb2d0911, 0x160f3: 0xcb310991,\n\t0x160f4: 0x40302c20, 0x160f5: 0x40306c20, 0x160f6: 0x4030be20, 0x160f7: 0x4030e220,\n\t0x160f8: 0x4030f620, 0x160f9: 0x40310020, 0x160fa: 0xcb350991, 0x160fb: 0x4003fc20,\n\t0x160fc: 0x40094820, 0x160fd: 0x4003fe20, 0x160fe: 0x40094c20, 0x160ff: 0xa0000000,\n\t// Block 0x584, offset 0x16100\n\t0x16100: 0xe0000983, 0x16101: 0xe0000980, 0x16102: 0xe00008fb, 0x16103: 0xe00008f8,\n\t0x16104: 0xe000097d, 0x16105: 0xe000097a, 0x16106: 0xe0000a38, 0x16107: 0xe0000a35,\n\t0x16108: 0xe0000a3e, 0x16109: 0xe0000a3b, 0x1610a: 0xe0000a4a, 0x1610b: 0xe0000a47,\n\t0x1610c: 0x002c6083, 0x1610d: 0x402c6020, 0x1610e: 0xe0000a86, 0x1610f: 0xe0000a83,\n\t0x16110: 0xe0000aaa, 0x16111: 0xe0000aa7, 0x16112: 0xe0000b46, 0x16113: 0xe0000b43,\n\t0x16114: 0xe0000aee, 0x16115: 0xe0000aeb, 0x16116: 0xe0000b2c, 0x16117: 0xe0000b29,\n\t0x16118: 0xe0000b40, 0x16119: 0xe0000b3d, 0x1611a: 0xe0000b1a, 0x1611b: 0xe0000b17,\n\t0x1611c: 0xe0000bb8, 0x1611d: 0xe0000bb5, 0x1611e: 0xe0000bb2, 0x1611f: 0xe0000baf,\n\t0x16120: 0xe0000bc4, 0x16121: 0xe0000bc1, 0x16122: 0x002d6683, 0x16123: 0x402d6620,\n\t0x16124: 0xe0000bee, 0x16125: 0xe0000beb, 0x16126: 0xe0000c1b, 0x16127: 0xe0000c18,\n\t0x16128: 0xe0000c51, 0x16129: 0xe0000c4e, 0x1612a: 0xe0000c60, 0x1612b: 0xe0000c5d,\n\t0x1612c: 0xe0000c31, 0x1612d: 0xe0000c2e, 0x1612e: 0xe0000c5a, 0x1612f: 0xe0000c57,\n\t0x16130: 0xe0000c54, 0x16131: 0x402da220, 0x16132: 0xf0000a0a, 0x16133: 0xf0000404,\n\t0x16134: 0xe0000c8a, 0x16135: 0xe0000c87, 0x16136: 0x002e2083, 0x16137: 0x402e2020,\n\t0x16138: 0x402f7220, 0x16139: 0xe0000ccc, 0x1613a: 0xe0000cc9, 0x1613b: 0x002e8083,\n\t0x1613c: 0x402e8020, 0x1613d: 0xe0000cd2, 0x1613e: 0xe0000ccf, 0x1613f: 0xe0000d04,\n\t// Block 0x585, offset 0x16140\n\t0x16140: 0xe0000cfe, 0x16141: 0xe0000cf8, 0x16142: 0xe0000cf5, 0x16143: 0xe0000d51,\n\t0x16144: 0xe0000d4e, 0x16145: 0x002ee083, 0x16146: 0x402ee020, 0x16147: 0xe0000d5d,\n\t0x16148: 0xe0000d5a, 0x16149: 0xf0000404, 0x1614a: 0x002eda88, 0x1614b: 0x402eda20,\n\t0x1614c: 0xe0000e2e, 0x1614d: 0xe0000e2b, 0x1614e: 0xe0000da0, 0x1614f: 0xe0000d9d,\n\t0x16150: 0xe0000de0, 0x16151: 0xe0000ddd, 0x16152: 0xe0000e93, 0x16153: 0xe0000e8f,\n\t0x16154: 0xe0000eca, 0x16155: 0xe0000ec7, 0x16156: 0x002fe483, 0x16157: 0x402fe420,\n\t0x16158: 0xe0000ed0, 0x16159: 0xe0000ecd, 0x1615a: 0xe0000f1f, 0x1615b: 0xe0000f1c,\n\t0x1615c: 0xe0000f2d, 0x1615d: 0xe0000f2a, 0x1615e: 0xe0000f47, 0x1615f: 0xe0000f44,\n\t0x16160: 0x00302a83, 0x16161: 0x40302a20, 0x16162: 0xe0000f99, 0x16163: 0xe0000f96,\n\t0x16164: 0xe0000f8a, 0x16165: 0xe0000f87, 0x16166: 0x00303688, 0x16167: 0x40303620,\n\t0x16168: 0xe000102b, 0x16169: 0xe0001028, 0x1616a: 0xe000103f, 0x1616b: 0xe000103c,\n\t0x1616c: 0xe0000fe7, 0x1616d: 0xe0000fe4, 0x1616e: 0xe0000ff9, 0x1616f: 0xe0000ff6,\n\t0x16170: 0xe0001025, 0x16171: 0xe0001022, 0x16172: 0xe0001039, 0x16173: 0xe0001036,\n\t0x16174: 0xe00010d8, 0x16175: 0xe00010d5, 0x16176: 0xe000110e, 0x16177: 0xe000110b,\n\t0x16178: 0xe0001117, 0x16179: 0xe000113b, 0x1617a: 0xe0001138, 0x1617b: 0xe000114d,\n\t0x1617c: 0xe000114a, 0x1617d: 0x00316283, 0x1617e: 0x40316220, 0x1617f: 0xe0000f64,\n\t// Block 0x586, offset 0x16180\n\t0x16180: 0xe0000d24, 0x16181: 0xe0000d21, 0x16182: 0xe0000d2a, 0x16183: 0xe0000d27,\n\t0x16184: 0xe0000d69, 0x16185: 0xe0000d66, 0x16186: 0xe0000d7b, 0x16187: 0xe0000d78,\n\t0x16188: 0xe0000d87, 0x16189: 0xe0000d84, 0x1618a: 0xe0000d81, 0x1618b: 0xe0000d7e,\n\t0x1618c: 0xe0000ded, 0x1618d: 0xe0000de9, 0x1618e: 0xe0000df5, 0x1618f: 0xe0000df1,\n\t0x16190: 0xe0000e3d, 0x16191: 0xe0000e39, 0x16192: 0xe0000e35, 0x16193: 0xe0000e31,\n\t0x16194: 0xe0000ea7, 0x16195: 0xe0000ea4, 0x16196: 0xe0000ead, 0x16197: 0xe0000eaa,\n\t0x16198: 0xe0000ed6, 0x16199: 0xe0000ed3, 0x1619a: 0xe0000ef4, 0x1619b: 0xe0000ef1,\n\t0x1619c: 0xe0000efb, 0x1619d: 0xe0000ef7, 0x1619e: 0xe0000f02, 0x1619f: 0xe0000eff,\n\t0x161a0: 0xe0000f41, 0x161a1: 0xe0000f3e, 0x161a2: 0xe0000f53, 0x161a3: 0xe0000f50,\n\t0x161a4: 0xe0000f26, 0x161a5: 0xe0000f22, 0x161a6: 0xe000a9d9, 0x161a7: 0xe000a9d6,\n\t0x161a8: 0xe0000f5a, 0x161a9: 0xe0000f56, 0x161aa: 0xe0000f93, 0x161ab: 0xe0000f90,\n\t0x161ac: 0xe0000f9f, 0x161ad: 0xe0000f9c, 0x161ae: 0xe0000fb1, 0x161af: 0xe0000fae,\n\t0x161b0: 0xe0000fab, 0x161b1: 0xe0000fa8, 0x161b2: 0xe0001093, 0x161b3: 0xe0001090,\n\t0x161b4: 0xe000109f, 0x161b5: 0xe000109c, 0x161b6: 0xe0001099, 0x161b7: 0xe0001096,\n\t0x161b8: 0xe0001032, 0x161b9: 0xe000102e, 0x161ba: 0xe0001046, 0x161bb: 0xe0001042,\n\t0x161bc: 0xe00010a9, 0x161bd: 0xe00010a6, 0x161be: 0xe00010af, 0x161bf: 0xe00010ac,\n\t// Block 0x587, offset 0x161c0\n\t0x161c2: 0xe000a9f1, 0x161c3: 0xa000f402,\n\t0x161c5: 0x40440220, 0x161c6: 0x40440420, 0x161c7: 0x40440620,\n\t0x161c8: 0x40440820, 0x161c9: 0x40440a20, 0x161ca: 0x40440c20, 0x161cb: 0x40440e20,\n\t0x161cc: 0x40441220, 0x161ce: 0x40441620, 0x161cf: 0x40441820,\n\t0x161d0: 0x40441a20, 0x161d2: 0x40441c20, 0x161d3: 0x40441e20,\n\t0x161d4: 0x40442020, 0x161d5: 0xcb393f61, 0x161d6: 0x40442420, 0x161d7: 0x40442620,\n\t0x161d8: 0x40442820, 0x161d9: 0x40442a20, 0x161da: 0x40442c20, 0x161db: 0x40442e20,\n\t0x161dc: 0x40443020, 0x161dd: 0x40443220, 0x161de: 0x40443420, 0x161df: 0x40443620,\n\t0x161e0: 0x40443820, 0x161e1: 0x40443a20, 0x161e2: 0x40443c20, 0x161e3: 0xcb3b3fc1,\n\t0x161e4: 0x40444020, 0x161e5: 0x40444220, 0x161e6: 0x40444420, 0x161e7: 0x40444620,\n\t0x161e8: 0xcb3f3f61, 0x161e9: 0x40444a20, 0x161ea: 0x40444c20, 0x161eb: 0x40444e20,\n\t0x161ec: 0x40445020, 0x161ed: 0x40445220, 0x161ee: 0x40445420, 0x161ef: 0x40445620,\n\t0x161f0: 0xcb413f61, 0x161f1: 0x40446a20, 0x161f2: 0xcb433f61, 0x161f3: 0xcb453f61,\n\t0x161f4: 0x40446820, 0x161f5: 0x40445c20, 0x161f6: 0x40445e20, 0x161f7: 0x40446020,\n\t0x161f8: 0x40446220, 0x161f9: 0x40446420, 0x161fa: 0x40446c20,\n\t0x161fd: 0xa000f502, 0x161fe: 0x40447020, 0x161ff: 0x40447220,\n\t// Block 0x588, offset 0x16200\n\t0x16200: 0x40447420, 0x16201: 0x40447620, 0x16202: 0x40447820, 0x16203: 0x40447a20,\n\t0x16204: 0x40447c20, 0x16206: 0xcb4703b1, 0x16207: 0xc0760401,\n\t0x16208: 0x40448620, 0x1620a: 0x40448820, 0x1620b: 0x40448a20,\n\t0x1620c: 0x00448c83, 0x1620d: 0x82092248, 0x1620e: 0xe000186c,\n\t0x16217: 0x40448c20,\n\t0x16220: 0x40441020, 0x16221: 0x40441420, 0x16222: 0x40447e20, 0x16223: 0x40448020,\n\t0x16226: 0xe0000185, 0x16227: 0xe0000216,\n\t0x16228: 0xe0000331, 0x16229: 0xe000040b, 0x1622a: 0xe00004e0, 0x1622b: 0xe00005aa,\n\t0x1622c: 0xe0000675, 0x1622d: 0xe000071d, 0x1622e: 0xe00007c9, 0x1622f: 0xe000086e,\n\t0x16230: 0x40285a20, 0x16231: 0x40285c20, 0x16232: 0x40285e20, 0x16233: 0x40286020,\n\t0x16234: 0x40286220, 0x16235: 0x40286420,\n\t0x16239: 0x40074e20, 0x1623a: 0xe000a9e5, 0x1623b: 0xcb3d4031,\n\t0x1623c: 0xe000a9f7, 0x1623d: 0xe000a9fd, 0x1623e: 0xe000aa03, 0x1623f: 0xe000a9df,\n\t// Block 0x589, offset 0x16240\n\t0x16240: 0xa000f202, 0x16241: 0x403fba21, 0x16242: 0x403fba20, 0x16243: 0x403fbc20,\n\t0x16244: 0x403fbc20, 0x16245: 0x403fbe20, 0x16246: 0x403fc020, 0x16247: 0x403fcc20,\n\t0x16248: 0x403fce20, 0x16249: 0x403fd020, 0x1624a: 0x403fd220, 0x1624b: 0x403fd420,\n\t0x1624c: 0x403fd820, 0x1624d: 0x403fdc20, 0x1624e: 0x403fde20, 0x1624f: 0x403fe020,\n\t0x16250: 0x403fe220, 0x16251: 0x403fe420, 0x16252: 0x403fe620, 0x16253: 0x403fe820,\n\t0x16254: 0x403fea20, 0x16255: 0xcaac3be1, 0x16256: 0x403fee20, 0x16257: 0x403ff020,\n\t0x16258: 0x403ff420, 0x16259: 0x403ff620, 0x1625a: 0x403ff820, 0x1625b: 0x403ffa20,\n\t0x1625c: 0xcb4a4061, 0x1625d: 0x40400220, 0x1625e: 0x40400420, 0x1625f: 0x40400620,\n\t0x16260: 0x40400820, 0x16261: 0x40400a20, 0x16262: 0x40400e20, 0x16263: 0x40401020,\n\t0x16264: 0x40401220, 0x16265: 0x40401420, 0x16266: 0x40401620, 0x16267: 0x40401820,\n\t0x16268: 0x40401a20, 0x16269: 0xe0001830, 0x1626a: 0x40401c20, 0x1626b: 0x40401e20,\n\t0x1626c: 0x40402020, 0x1626d: 0x40402420, 0x1626e: 0x40402620, 0x1626f: 0x40402820,\n\t0x16270: 0x40402c20, 0x16271: 0xe0001839, 0x16272: 0x40402e20, 0x16273: 0x40403c20,\n\t0x16274: 0xe000a994, 0x16275: 0x40403220, 0x16276: 0x40403420, 0x16277: 0x40403620,\n\t0x16278: 0x40403820, 0x16279: 0x40403a20, 0x1627a: 0x40404c20, 0x1627b: 0x40404e20,\n\t0x1627c: 0xa070f102, 0x1627d: 0x40403c20, 0x1627e: 0x40404a20, 0x1627f: 0x40405620,\n\t// Block 0x58a, offset 0x16280\n\t0x16280: 0xa0000000, 0x16281: 0xa0000000, 0x16282: 0xa0000000, 0x16283: 0xa0000000,\n\t0x16284: 0xa0000000, 0x16285: 0xa0000000, 0x16286: 0xa0000000, 0x16287: 0xa0000000,\n\t0x16288: 0xa0000000, 0x16289: 0x40020020, 0x1628a: 0x40020220, 0x1628b: 0x40020420,\n\t0x1628c: 0x40020620, 0x1628d: 0x40020820, 0x1628e: 0xa0000000, 0x1628f: 0xa0000000,\n\t0x16290: 0xa0000000, 0x16291: 0xa0000000, 0x16292: 0xa0000000, 0x16293: 0xa0000000,\n\t0x16294: 0xa0000000, 0x16295: 0xa0000000, 0x16296: 0xa0000000, 0x16297: 0xa0000000,\n\t0x16298: 0xa0000000, 0x16299: 0xa0000000, 0x1629a: 0xa0000000, 0x1629b: 0xa0000000,\n\t0x1629c: 0xa0000000, 0x1629d: 0xa0000000, 0x1629e: 0xa0000000, 0x1629f: 0xa0000000,\n\t0x162a0: 0x40021220, 0x162a1: 0x4002ba20, 0x162a2: 0x4003e020, 0x162a3: 0x4004ea20,\n\t0x162a4: 0x4027de20, 0x162a5: 0x4004ec20, 0x162a6: 0x4004e620, 0x162a7: 0x4003d220,\n\t0x162a8: 0x4003f420, 0x162a9: 0x4003f620, 0x162aa: 0x4004d820, 0x162ab: 0x40093820,\n\t0x162ac: 0x40024020, 0x162ad: 0x40021a20, 0x162ae: 0x4002e420, 0x162af: 0x4004e220,\n\t0x162b0: 0x4029cc20, 0x162b1: 0x4029ce20, 0x162b2: 0x4029d020, 0x162b3: 0x4029d220,\n\t0x162b4: 0x4029d420, 0x162b5: 0x4029d620, 0x162b6: 0x4029d820, 0x162b7: 0x4029da20,\n\t0x162b8: 0x4029dc20, 0x162b9: 0x4029de20, 0x162ba: 0x40026c20, 0x162bb: 0x40026220,\n\t0x162bc: 0x40094020, 0x162bd: 0x40094220, 0x162be: 0x40094420, 0x162bf: 0x4002c420,\n\t// Block 0x58b, offset 0x162c0\n\t0x162c0: 0x4004d620, 0x162c1: 0x002bde88, 0x162c2: 0x002c0a88, 0x162c3: 0xcb4c0931,\n\t0x162c4: 0x002c6288, 0x162c5: 0x002c9888, 0x162c6: 0x002d0888, 0x162c7: 0xcb5040c2,\n\t0x162c8: 0x002d6888, 0x162c9: 0x002d9a88, 0x162ca: 0x002dcc88, 0x162cb: 0x002dfe88,\n\t0x162cc: 0xc0030002, 0x162cd: 0x002e8288, 0x162ce: 0x002e9e88, 0x162cf: 0x002ee288,\n\t0x162d0: 0x002f2c88, 0x162d1: 0x002f5688, 0x162d2: 0x002f7a88, 0x162d3: 0x002fe688,\n\t0x162d4: 0x00302c88, 0x162d5: 0x00306c88, 0x162d6: 0x0030be88, 0x162d7: 0x0030e288,\n\t0x162d8: 0x0030f688, 0x162d9: 0x00310088, 0x162da: 0xcb580931, 0x162db: 0x4003f820,\n\t0x162dc: 0x4004e420, 0x162dd: 0x4003fa20, 0x162de: 0x40062420, 0x162df: 0x40021620,\n\t0x162e0: 0x40061e20, 0x162e1: 0x402bde20, 0x162e2: 0x402c0a20, 0x162e3: 0xcb4e0931,\n\t0x162e4: 0x402c6220, 0x162e5: 0x402c9820, 0x162e6: 0x402d0820, 0x162e7: 0xcb5440c2,\n\t0x162e8: 0x402d6820, 0x162e9: 0x402d9a20, 0x162ea: 0x402dcc20, 0x162eb: 0x402dfe20,\n\t0x162ec: 0xc0000002, 0x162ed: 0x402e8220, 0x162ee: 0x402e9e20, 0x162ef: 0x402ee220,\n\t0x162f0: 0x402f2c20, 0x162f1: 0x402f5620, 0x162f2: 0x402f7a20, 0x162f3: 0x402fe620,\n\t0x162f4: 0x40302c20, 0x162f5: 0x40306c20, 0x162f6: 0x4030be20, 0x162f7: 0x4030e220,\n\t0x162f8: 0x4030f620, 0x162f9: 0x40310020, 0x162fa: 0xcb5a0931, 0x162fb: 0x4003fc20,\n\t0x162fc: 0x40094820, 0x162fd: 0x4003fe20, 0x162fe: 0x40094c20, 0x162ff: 0xa0000000,\n\t// Block 0x58c, offset 0x16300\n\t0x16300: 0xe0000983, 0x16301: 0xe0000980, 0x16302: 0xe00008fb, 0x16303: 0xe00008f8,\n\t0x16304: 0xe000097d, 0x16305: 0xe000097a, 0x16306: 0xe0000a38, 0x16307: 0xe0000a35,\n\t0x16308: 0xe0000a3e, 0x16309: 0xe0000a3b, 0x1630a: 0x402c3820, 0x1630b: 0x002c3883,\n\t0x1630c: 0xe0000a44, 0x1630d: 0xe0000a41, 0x1630e: 0xe0000a86, 0x1630f: 0xe0000a83,\n\t0x16310: 0xe0000aaa, 0x16311: 0xe0000aa7, 0x16312: 0xe0000b46, 0x16313: 0xe0000b43,\n\t0x16314: 0xe0000aee, 0x16315: 0xe0000aeb, 0x16316: 0xe0000b2c, 0x16317: 0xe0000b29,\n\t0x16318: 0xe0000b40, 0x16319: 0xe0000b3d, 0x1631a: 0xe0000b1a, 0x1631b: 0xe0000b17,\n\t0x1631c: 0xe0000bb8, 0x1631d: 0xe0000bb5, 0x1631e: 0xe0000bb2, 0x1631f: 0xe0000baf,\n\t0x16320: 0x402d2020, 0x16321: 0x002d2083, 0x16322: 0xe0000bca, 0x16323: 0xe0000bc7,\n\t0x16324: 0xe0000bee, 0x16325: 0xe0000beb, 0x16326: 0x402d9820, 0x16327: 0x002d9883,\n\t0x16328: 0xe0000c51, 0x16329: 0xe0000c4e, 0x1632a: 0xe0000c60, 0x1632b: 0xe0000c5d,\n\t0x1632c: 0xe0000c31, 0x1632d: 0xe0000c2e, 0x1632e: 0xe0000c5a, 0x1632f: 0xe0000c57,\n\t0x16330: 0xe0000c54, 0x16331: 0x402da220, 0x16332: 0xf0000a0a, 0x16333: 0xf0000404,\n\t0x16334: 0xe0000c8a, 0x16335: 0xe0000c87, 0x16336: 0xe0000c9f, 0x16337: 0xe0000c9c,\n\t0x16338: 0x402f7220, 0x16339: 0xe0000ccc, 0x1633a: 0xe0000cc9, 0x1633b: 0xe0000cd8,\n\t0x1633c: 0xe0000cd5, 0x1633d: 0xe0000cd2, 0x1633e: 0xe0000ccf, 0x1633f: 0xe0000d04,\n\t// Block 0x58d, offset 0x16340\n\t0x16340: 0xe0000cfe, 0x16341: 0xe0000cf8, 0x16342: 0xe0000cf5, 0x16343: 0xe0000d51,\n\t0x16344: 0xe0000d4e, 0x16345: 0xe0000d6f, 0x16346: 0xe0000d6c, 0x16347: 0xe0000d5d,\n\t0x16348: 0xe0000d5a, 0x16349: 0xf0000404, 0x1634a: 0x002eda88, 0x1634b: 0x402eda20,\n\t0x1634c: 0xe0000e2e, 0x1634d: 0xe0000e2b, 0x1634e: 0xe0000da0, 0x1634f: 0xe0000d9d,\n\t0x16350: 0xe0000de0, 0x16351: 0xe0000ddd, 0x16352: 0xe0000e93, 0x16353: 0xe0000e8f,\n\t0x16354: 0xe0000eca, 0x16355: 0xe0000ec7, 0x16356: 0xe0000edc, 0x16357: 0xe0000ed9,\n\t0x16358: 0xe0000ed0, 0x16359: 0xe0000ecd, 0x1635a: 0xe0000f1f, 0x1635b: 0xe0000f1c,\n\t0x1635c: 0xe0000f2d, 0x1635d: 0xe0000f2a, 0x1635e: 0xe0000f47, 0x1635f: 0xe0000f44,\n\t0x16360: 0xe0000f33, 0x16361: 0xe0000f30, 0x16362: 0xe0000f99, 0x16363: 0xe0000f96,\n\t0x16364: 0xe0000f8a, 0x16365: 0xe0000f87, 0x16366: 0x00303688, 0x16367: 0x40303620,\n\t0x16368: 0xe000102b, 0x16369: 0xe0001028, 0x1636a: 0xe000103f, 0x1636b: 0xe000103c,\n\t0x1636c: 0xe0000fe7, 0x1636d: 0xe0000fe4, 0x1636e: 0xe0000ff9, 0x1636f: 0xe0000ff6,\n\t0x16370: 0xe0001025, 0x16371: 0xe0001022, 0x16372: 0xe0001039, 0x16373: 0xe0001036,\n\t0x16374: 0xe00010d8, 0x16375: 0xe00010d5, 0x16376: 0xe000110e, 0x16377: 0xe000110b,\n\t0x16378: 0xe0001117, 0x16379: 0xe000113b, 0x1637a: 0xe0001138, 0x1637b: 0x40312820,\n\t0x1637c: 0x00312883, 0x1637d: 0xe0001147, 0x1637e: 0xe0001144, 0x1637f: 0xe0000f64,\n\t// Block 0x58e, offset 0x16380\n\t0x16380: 0xe00009bc, 0x16381: 0xe00009c0, 0x16382: 0x002c3a8b, 0x16383: 0xf0000a04,\n\t0x16384: 0x40081c20, 0x16385: 0xe0000a5e, 0x16386: 0xe0000a62, 0x16387: 0x002cc28a,\n\t0x16388: 0x40081e20, 0x16389: 0xf0000a04, 0x1638a: 0x002d2285, 0x1638b: 0x002d688b,\n\t0x1638c: 0x002d688b, 0x1638d: 0x002d688b, 0x1638e: 0x002d6885, 0x1638f: 0xe000aa06,\n\t0x16390: 0x002d9a8b, 0x16391: 0x002d9a8b, 0x16392: 0x002e228b, 0x16393: 0x002e2285,\n\t0x16394: 0x40082020, 0x16395: 0x002e9e8b, 0x16396: 0xf000040a, 0x16397: 0x40082220,\n\t0x16398: 0x40082420, 0x16399: 0x002f2c8b, 0x1639a: 0x002f568b, 0x1639b: 0x002f7a8b,\n\t0x1639c: 0x002f7a8b, 0x1639d: 0x002f7a8b, 0x1639e: 0x40082620, 0x1639f: 0x40082820,\n\t0x163a0: 0xf0001414, 0x163a1: 0xe0000fbd, 0x163a2: 0xf0001414, 0x163a3: 0x40082a20,\n\t0x163a4: 0x00312a8b, 0x163a5: 0x40082c20, 0x163a6: 0x0032a288, 0x163a7: 0x40082e20,\n\t0x163a8: 0x00312a8b, 0x163a9: 0x40083020, 0x163aa: 0x002dfe88, 0x163ab: 0xe000094d,\n\t0x163ac: 0x002c0a8b, 0x163ad: 0x002c3a8b, 0x163ae: 0x40083220, 0x163af: 0x002c9885,\n\t0x163b0: 0x002c988b, 0x163b1: 0x002d088b, 0x163b2: 0x002d1e88, 0x163b3: 0x002e828b,\n\t0x163b4: 0x002ee285, 0x163b5: 0x00389084, 0x163b6: 0x00389284, 0x163b7: 0x00389484,\n\t0x163b8: 0x00389684, 0x163b9: 0x002d9a85, 0x163ba: 0x40083420, 0x163bb: 0xe0000b95,\n\t0x163bc: 0x00327e85, 0x163bd: 0x00325685, 0x163be: 0x0032568b, 0x163bf: 0x00327e8b,\n\t// Block 0x58f, offset 0x163c0\n\t0x163f8: 0xe000aa09, 0x163f9: 0xe0000e97, 0x163fa: 0x4030a820, 0x163fb: 0x402d2020,\n\t0x163fc: 0x402f4a20, 0x163fd: 0x402e9820, 0x163fe: 0x402db220, 0x163ff: 0x402e9a20,\n\t// Block 0x590, offset 0x16400\n\t0x16400: 0xcd3882c1, 0x16401: 0xce0382c1, 0x16402: 0xce0682c1, 0x16403: 0xce0b82c1,\n\t0x16404: 0xce0e9581, 0x16405: 0xce1182c1, 0x16406: 0xce1482c1, 0x16407: 0xce1782c1,\n\t0x16408: 0xce1a95e1, 0x16409: 0xce1c82c1, 0x1640a: 0xce1f82c1, 0x1640b: 0xce2282c1,\n\t0x1640c: 0xce2582c1, 0x1640d: 0xce2882c1, 0x1640e: 0xce2b82c1, 0x1640f: 0xce2e82c1,\n\t0x16410: 0xce3182c1, 0x16411: 0xcb5c4101, 0x16412: 0xce3482c1, 0x16413: 0xce3782c1,\n\t0x16414: 0xcb604201, 0x16415: 0xce3a82c1, 0x16416: 0xce3d82c1, 0x16417: 0xce4082c1,\n\t0x16418: 0xce4382c1, 0x16419: 0xce4682c1, 0x1641a: 0xce4982c1, 0x1641b: 0xce4c82c1,\n\t0x1641c: 0xcb6442d1, 0x1641d: 0xce4f95e1, 0x1641e: 0xcb6b44d1, 0x1641f: 0xce5182c1,\n\t0x16420: 0xce5495e1, 0x16421: 0xce5695e1, 0x16422: 0x404ec420, 0x16423: 0xe000aa45,\n\t0x16424: 0xe000aa4b, 0x16425: 0xcb6f4571, 0x16426: 0xe000aa55, 0x16427: 0xe000aa58,\n\t0x16428: 0xe000aa5b, 0x16429: 0xcb7245e1, 0x1642a: 0xe000ad32, 0x1642b: 0xcd7c82f1,\n\t0x1642c: 0xcd3b82f1, 0x1642d: 0xccb17051, 0x1642e: 0x404eea20, 0x1642f: 0xcdbd8bc1,\n\t0x16430: 0x404ef420, 0x16431: 0xcbeb5561, 0x16432: 0x404f0620, 0x16433: 0x404eec20,\n\t0x16434: 0x404f0a20, 0x16435: 0x404f0220, 0x16436: 0x404f0c20, 0x16437: 0xce099551,\n\t0x16438: 0x404f3020, 0x16439: 0x8209278a, 0x1643a: 0x8209278b, 0x1643b: 0xce589611,\n\t0x1643c: 0xce5c9611, 0x1643d: 0xce609681, 0x1643e: 0x40510e20, 0x1643f: 0xe000aa41,\n\t// Block 0x591, offset 0x16440\n\t0x16440: 0xe00001ac, 0x16441: 0xe0000240, 0x16442: 0xe0000358, 0x16443: 0xe0000432,\n\t0x16444: 0xe0000507, 0x16445: 0xe00005d1, 0x16446: 0xe000069c, 0x16447: 0xe0000744,\n\t0x16448: 0xe00007f0, 0x16449: 0xe0000895, 0x1644a: 0x40032220, 0x1644b: 0x40032420,\n\t0x1644c: 0xe000aa19, 0x1644d: 0xe000aa20, 0x1644e: 0xcb694441, 0x1644f: 0xe000aa48,\n\t0x16450: 0x404ea020, 0x16451: 0x404ea220, 0x16452: 0x404ece20, 0x16453: 0x404ed020,\n\t0x16454: 0x404ed220, 0x16455: 0x404ed420, 0x16456: 0x404ef620, 0x16457: 0x404ef820,\n\t0x16458: 0x404efa20, 0x16459: 0x404efc20, 0x1645a: 0x404e2620, 0x1645b: 0x404e3c20,\n\t0x1645c: 0x404eb820, 0x1645d: 0x404eba20, 0x1645e: 0x40510020, 0x1645f: 0x40510220,\n\t0x16460: 0x40510820, 0x16461: 0x404e4020, 0x16462: 0x404f0c20, 0x16463: 0x404f1820,\n\t0x16464: 0x404f1a20, 0x16465: 0x404ea420, 0x16466: 0x404ec020, 0x16467: 0x404f0e20,\n\t0x16468: 0x404f1020, 0x16469: 0x404f1c20, 0x1646a: 0x404f1e20, 0x1646b: 0x404f2020,\n\t0x1646c: 0x404f2220, 0x1646d: 0x404f2420, 0x1646e: 0x404e5c20, 0x1646f: 0x404ebc20,\n\t0x16470: 0x404ebe20, 0x16471: 0x404ee820, 0x16472: 0x404ee220, 0x16473: 0x404ef020,\n\t0x16474: 0x404ef220, 0x16475: 0x404e1620, 0x16476: 0x404e1a20, 0x16477: 0x404e1e20,\n\t0x16478: 0x404e2a20, 0x16479: 0x404e3620, 0x1647a: 0x404e4420, 0x1647b: 0x404e6420,\n\t0x1647c: 0x404e6c20, 0x1647d: 0x404e7620, 0x1647e: 0x404e7820, 0x1647f: 0x404e8020,\n\t// Block 0x592, offset 0x16480\n\t0x16480: 0x404e9e20, 0x16481: 0x404eac20, 0x16482: 0x40510c20, 0x16483: 0x404ee020,\n\t0x16484: 0x404f0020, 0x16485: 0x404f0420, 0x16486: 0x404f1220, 0x16487: 0x404f2620,\n\t0x16488: 0x404f2a20, 0x16489: 0x404f2e20, 0x1648a: 0x404f3020, 0x1648b: 0x404f2820,\n\t0x1648c: 0x404f2c20, 0x1648d: 0xadc11302, 0x1648e: 0x404e7c20, 0x1648f: 0x404f3220,\n\t0x16490: 0xe00001af, 0x16491: 0xe0000243, 0x16492: 0xe000035b, 0x16493: 0xe0000435,\n\t0x16494: 0xe000050a, 0x16495: 0xe00005d4, 0x16496: 0xe000069f, 0x16497: 0xe0000747,\n\t0x16498: 0xe00007f3, 0x16499: 0xe0000898, 0x1649a: 0x404f3420, 0x1649b: 0x404f3620,\n\t0x1649c: 0x404ee420, 0x1649d: 0x404f0820, 0x1649e: 0x4007a820, 0x1649f: 0x4007aa20,\n\t0x164a0: 0x00379888, 0x164a1: 0x00379c88, 0x164a2: 0x0037a088, 0x164a3: 0x0037a488,\n\t0x164a4: 0x0037a888, 0x164a5: 0x0037ac88, 0x164a6: 0x0037b088, 0x164a7: 0x0037b888,\n\t0x164a8: 0x0037bc88, 0x164a9: 0x0037c088, 0x164aa: 0x0037c488, 0x164ab: 0x0037c888,\n\t0x164ac: 0x0037cc88, 0x164ad: 0x0037d488, 0x164ae: 0x0037d888, 0x164af: 0x0037dc88,\n\t0x164b0: 0x0037e088, 0x164b1: 0x0037e488, 0x164b2: 0x0037e888, 0x164b3: 0x0037f088,\n\t0x164b4: 0x0037f488, 0x164b5: 0x0037f888, 0x164b6: 0x0037fc88, 0x164b7: 0x00380088,\n\t0x164b8: 0x00380488, 0x164b9: 0x00380888, 0x164ba: 0x00380c88, 0x164bb: 0x00381088,\n\t0x164bc: 0x00381488, 0x164bd: 0x00381888, 0x164be: 0x00381c88, 0x164bf: 0x00382488,\n\t// Block 0x593, offset 0x164c0\n\t0x164c0: 0xa0000000, 0x164c1: 0xa0000000, 0x164c2: 0xa0000000, 0x164c3: 0xa0000000,\n\t0x164c4: 0xa0000000, 0x164c5: 0xa0000000, 0x164c6: 0xa0000000, 0x164c7: 0xa0000000,\n\t0x164c8: 0xa0000000, 0x164c9: 0x40020020, 0x164ca: 0x40020220, 0x164cb: 0x40020420,\n\t0x164cc: 0x40020620, 0x164cd: 0x40020820, 0x164ce: 0xa0000000, 0x164cf: 0xa0000000,\n\t0x164d0: 0xa0000000, 0x164d1: 0xa0000000, 0x164d2: 0xa0000000, 0x164d3: 0xa0000000,\n\t0x164d4: 0xa0000000, 0x164d5: 0xa0000000, 0x164d6: 0xa0000000, 0x164d7: 0xa0000000,\n\t0x164d8: 0xa0000000, 0x164d9: 0xa0000000, 0x164da: 0xa0000000, 0x164db: 0xa0000000,\n\t0x164dc: 0xa0000000, 0x164dd: 0xa0000000, 0x164de: 0xa0000000, 0x164df: 0xa0000000,\n\t0x164e0: 0x40021220, 0x164e1: 0x4002ba20, 0x164e2: 0x4003e020, 0x164e3: 0x4004ea20,\n\t0x164e4: 0x4027de20, 0x164e5: 0x4004ec20, 0x164e6: 0x4004e620, 0x164e7: 0x4003d220,\n\t0x164e8: 0x4003f420, 0x164e9: 0x4003f620, 0x164ea: 0x4004d820, 0x164eb: 0x40093820,\n\t0x164ec: 0x40024020, 0x164ed: 0x40021a20, 0x164ee: 0x4002e420, 0x164ef: 0x4004e220,\n\t0x164f0: 0x4029cc20, 0x164f1: 0x4029ce20, 0x164f2: 0x4029d020, 0x164f3: 0x4029d220,\n\t0x164f4: 0x4029d420, 0x164f5: 0x4029d620, 0x164f6: 0x4029d820, 0x164f7: 0x4029da20,\n\t0x164f8: 0x4029dc20, 0x164f9: 0x4029de20, 0x164fa: 0x40026c20, 0x164fb: 0x40026220,\n\t0x164fc: 0x40094020, 0x164fd: 0x40094220, 0x164fe: 0x40094420, 0x164ff: 0x4002c420,\n\t// Block 0x594, offset 0x16500\n\t0x16500: 0x4004d620, 0x16501: 0xce660b93, 0x16502: 0x002c0a88, 0x16503: 0x002c3a88,\n\t0x16504: 0x002c6288, 0x16505: 0xc39e0be1, 0x16506: 0x002d0888, 0x16507: 0x002d2288,\n\t0x16508: 0x002d6888, 0x16509: 0x002d9a88, 0x1650a: 0x002dcc88, 0x1650b: 0x002dfe88,\n\t0x1650c: 0xc0030002, 0x1650d: 0x002e8288, 0x1650e: 0x002e9e88, 0x1650f: 0xc3a30b21,\n\t0x16510: 0x002f2c88, 0x16511: 0x002f5688, 0x16512: 0x002f7a88, 0x16513: 0x002fe688,\n\t0x16514: 0x00302c88, 0x16515: 0xc3900b21, 0x16516: 0x0030be88, 0x16517: 0x0030e288,\n\t0x16518: 0x0030f688, 0x16519: 0x00310088, 0x1651a: 0x00312a88, 0x1651b: 0x4003f820,\n\t0x1651c: 0x4004e420, 0x1651d: 0x4003fa20, 0x1651e: 0x40062420, 0x1651f: 0x40021620,\n\t0x16520: 0x40061e20, 0x16521: 0xce620b52, 0x16522: 0x402c0a20, 0x16523: 0x402c3a20,\n\t0x16524: 0x402c6220, 0x16525: 0xc39c0be1, 0x16526: 0x402d0820, 0x16527: 0x402d2220,\n\t0x16528: 0x402d6820, 0x16529: 0x402d9a20, 0x1652a: 0x402dcc20, 0x1652b: 0x402dfe20,\n\t0x1652c: 0xc0000002, 0x1652d: 0x402e8220, 0x1652e: 0x402e9e20, 0x1652f: 0xc3a00b21,\n\t0x16530: 0x402f2c20, 0x16531: 0x402f5620, 0x16532: 0x402f7a20, 0x16533: 0x402fe620,\n\t0x16534: 0x40302c20, 0x16535: 0xc38d0b21, 0x16536: 0x4030be20, 0x16537: 0x4030e220,\n\t0x16538: 0x4030f620, 0x16539: 0x40310020, 0x1653a: 0x40312a20, 0x1653b: 0x4003fc20,\n\t0x1653c: 0x40094820, 0x1653d: 0x4003fe20, 0x1653e: 0x40094c20, 0x1653f: 0xa0000000,\n\t// Block 0x595, offset 0x16540\n\t0x16540: 0xa0000000, 0x16541: 0xa0000000, 0x16542: 0xa0000000, 0x16543: 0xa0000000,\n\t0x16544: 0xa0000000, 0x16545: 0xa0000000, 0x16546: 0xa0000000, 0x16547: 0xa0000000,\n\t0x16548: 0xa0000000, 0x16549: 0x40020020, 0x1654a: 0x40020220, 0x1654b: 0x40020420,\n\t0x1654c: 0x40020620, 0x1654d: 0x40020820, 0x1654e: 0xa0000000, 0x1654f: 0xa0000000,\n\t0x16550: 0xa0000000, 0x16551: 0xa0000000, 0x16552: 0xa0000000, 0x16553: 0xa0000000,\n\t0x16554: 0xa0000000, 0x16555: 0xa0000000, 0x16556: 0xa0000000, 0x16557: 0xa0000000,\n\t0x16558: 0xa0000000, 0x16559: 0xa0000000, 0x1655a: 0xa0000000, 0x1655b: 0xa0000000,\n\t0x1655c: 0xa0000000, 0x1655d: 0xa0000000, 0x1655e: 0xa0000000, 0x1655f: 0xa0000000,\n\t0x16560: 0x40021220, 0x16561: 0x4002ba20, 0x16562: 0x4003e020, 0x16563: 0x4004ea20,\n\t0x16564: 0x4027de20, 0x16565: 0x4004ec20, 0x16566: 0x4004e620, 0x16567: 0x4003d220,\n\t0x16568: 0x4003f420, 0x16569: 0x4003f620, 0x1656a: 0x4004d820, 0x1656b: 0x40093820,\n\t0x1656c: 0x40024020, 0x1656d: 0x40021a20, 0x1656e: 0x4002e420, 0x1656f: 0x4004e220,\n\t0x16570: 0x4029cc20, 0x16571: 0x4029ce20, 0x16572: 0x4029d020, 0x16573: 0x4029d220,\n\t0x16574: 0x4029d420, 0x16575: 0x4029d620, 0x16576: 0x4029d820, 0x16577: 0x4029da20,\n\t0x16578: 0x4029dc20, 0x16579: 0x4029de20, 0x1657a: 0x40026c20, 0x1657b: 0x40026220,\n\t0x1657c: 0x40094020, 0x1657d: 0x40094220, 0x1657e: 0x40094420, 0x1657f: 0x4002c420,\n\t// Block 0x596, offset 0x16580\n\t0x16580: 0x4004d620, 0x16581: 0x002bde88, 0x16582: 0x002c0a88, 0x16583: 0x002c3a88,\n\t0x16584: 0x002c6288, 0x16585: 0xce6d2741, 0x16586: 0x002d0888, 0x16587: 0x002d2288,\n\t0x16588: 0x002d6888, 0x16589: 0x002d9a88, 0x1658a: 0x002dcc88, 0x1658b: 0x002dfe88,\n\t0x1658c: 0xc0030002, 0x1658d: 0x002e8288, 0x1658e: 0x002e9e88, 0x1658f: 0xc33f2741,\n\t0x16590: 0x002f2c88, 0x16591: 0x002f5688, 0x16592: 0x002f7a88, 0x16593: 0xc3430991,\n\t0x16594: 0x00302c88, 0x16595: 0x00306c88, 0x16596: 0x0030be88, 0x16597: 0x0030e288,\n\t0x16598: 0x0030f688, 0x16599: 0x00310088, 0x1659a: 0x00312a88, 0x1659b: 0x4003f820,\n\t0x1659c: 0x4004e420, 0x1659d: 0x4003fa20, 0x1659e: 0x40062420, 0x1659f: 0x40021620,\n\t0x165a0: 0x40061e20, 0x165a1: 0x402bde20, 0x165a2: 0x402c0a20, 0x165a3: 0x402c3a20,\n\t0x165a4: 0x402c6220, 0x165a5: 0xce6b2741, 0x165a6: 0x402d0820, 0x165a7: 0x402d2220,\n\t0x165a8: 0x402d6820, 0x165a9: 0x402d9a20, 0x165aa: 0x402dcc20, 0x165ab: 0x402dfe20,\n\t0x165ac: 0xc0000002, 0x165ad: 0x402e8220, 0x165ae: 0x402e9e20, 0x165af: 0xc33d2741,\n\t0x165b0: 0x402f2c20, 0x165b1: 0x402f5620, 0x165b2: 0x402f7a20, 0x165b3: 0xc3410991,\n\t0x165b4: 0x40302c20, 0x165b5: 0x40306c20, 0x165b6: 0x4030be20, 0x165b7: 0x4030e220,\n\t0x165b8: 0x4030f620, 0x165b9: 0x40310020, 0x165ba: 0x40312a20, 0x165bb: 0x4003fc20,\n\t0x165bc: 0x40094820, 0x165bd: 0x4003fe20, 0x165be: 0x40094c20, 0x165bf: 0xa0000000,\n\t// Block 0x597, offset 0x165c0\n\t0x165c0: 0xe00008f5, 0x165c1: 0xe00008ef, 0x165c2: 0xe0000921, 0x165c3: 0xe0000969,\n\t0x165c4: 0xe000095b, 0x165c5: 0xe000094d, 0x165c6: 0xe00009dd, 0x165c7: 0xe0000a53,\n\t0x165c8: 0xe0000ae8, 0x165c9: 0xe0000ae2, 0x165ca: 0x002c9a83, 0x165cb: 0xe0000b20,\n\t0x165cc: 0xe0000c2b, 0x165cd: 0xe0000c25, 0x165ce: 0xe0000c37, 0x165cf: 0xe0000c43,\n\t0x165d0: 0xe0000ab3, 0x165d1: 0xe0000d63, 0x165d2: 0xe0000d9a, 0x165d3: 0xe0000d94,\n\t0x165d4: 0x002ee483, 0x165d5: 0xe0000de6, 0x165d6: 0xe0000dd2, 0x165d7: 0x40093e20,\n\t0x165d8: 0xe0000e12, 0x165d9: 0xe0000fe1, 0x165da: 0xe0000fdb, 0x165db: 0xe0000fed,\n\t0x165dc: 0xe0000fff, 0x165dd: 0xe0001102, 0x165de: 0x00318888, 0x165df: 0xe0000f7b,\n\t0x165e0: 0xe00008f2, 0x165e1: 0xe00008ec, 0x165e2: 0xe000091e, 0x165e3: 0xe0000966,\n\t0x165e4: 0xe0000958, 0x165e5: 0xe000094a, 0x165e6: 0xe00009d5, 0x165e7: 0xe0000a4d,\n\t0x165e8: 0xe0000ae5, 0x165e9: 0xe0000adf, 0x165ea: 0x402c9a20, 0x165eb: 0xe0000b1d,\n\t0x165ec: 0xe0000c28, 0x165ed: 0xe0000c22, 0x165ee: 0xe0000c34, 0x165ef: 0xe0000c40,\n\t0x165f0: 0xe0000aad, 0x165f1: 0xe0000d60, 0x165f2: 0xe0000d97, 0x165f3: 0xe0000d91,\n\t0x165f4: 0x402ee420, 0x165f5: 0xe0000de3, 0x165f6: 0xe0000dcf, 0x165f7: 0x40093c20,\n\t0x165f8: 0xe0000e0f, 0x165f9: 0xe0000fde, 0x165fa: 0xe0000fd8, 0x165fb: 0xe0000fea,\n\t0x165fc: 0xe0000ffc, 0x165fd: 0xe00010ff, 0x165fe: 0x40318820, 0x165ff: 0xe0001114,\n\t// Block 0x598, offset 0x16600\n\t0x16600: 0xe0000cfe, 0x16601: 0xe0000cf8, 0x16602: 0xe0000cf5, 0x16603: 0xe0000d51,\n\t0x16604: 0xe0000d4e, 0x16605: 0xe0000d6f, 0x16606: 0xe0000d6c, 0x16607: 0xe0000d5d,\n\t0x16608: 0xe0000d5a, 0x16609: 0xf0000404, 0x1660a: 0x002eda88, 0x1660b: 0x402eda20,\n\t0x1660c: 0xe0000e2e, 0x1660d: 0xe0000e2b, 0x1660e: 0xe0000da0, 0x1660f: 0xe0000d9d,\n\t0x16610: 0xe0000de0, 0x16611: 0xe0000ddd, 0x16612: 0xe0000e93, 0x16613: 0xe0000e8f,\n\t0x16614: 0xe0000eca, 0x16615: 0xe0000ec7, 0x16616: 0xe0000edc, 0x16617: 0xe0000ed9,\n\t0x16618: 0xe0000ed0, 0x16619: 0xe0000ecd, 0x1661a: 0xe0000f1f, 0x1661b: 0xe0000f1c,\n\t0x1661c: 0xe0000f2d, 0x1661d: 0xe0000f2a, 0x1661e: 0xe0000f47, 0x1661f: 0xe0000f44,\n\t0x16620: 0x002fe883, 0x16621: 0x402fe820, 0x16622: 0xe0000f99, 0x16623: 0xe0000f96,\n\t0x16624: 0xe0000f8a, 0x16625: 0xe0000f87, 0x16626: 0x00303688, 0x16627: 0x40303620,\n\t0x16628: 0xe000102b, 0x16629: 0xe0001028, 0x1662a: 0xe000103f, 0x1662b: 0xe000103c,\n\t0x1662c: 0xe0000fe7, 0x1662d: 0xe0000fe4, 0x1662e: 0xe0000ff9, 0x1662f: 0xe0000ff6,\n\t0x16630: 0xe0001025, 0x16631: 0xe0001022, 0x16632: 0xe0001039, 0x16633: 0xe0001036,\n\t0x16634: 0xe00010d8, 0x16635: 0xe00010d5, 0x16636: 0xe000110e, 0x16637: 0xe000110b,\n\t0x16638: 0xe0001117, 0x16639: 0xe000113b, 0x1663a: 0xe0001138, 0x1663b: 0xe000114d,\n\t0x1663c: 0xe000114a, 0x1663d: 0xe0001147, 0x1663e: 0xe0001144, 0x1663f: 0xe0000f64,\n\t// Block 0x599, offset 0x16640\n\t0x16640: 0xe00010d2, 0x16641: 0xe00010cf, 0x16642: 0xe00010cc, 0x16643: 0xe00010c9,\n\t0x16644: 0xe00010e1, 0x16645: 0xe00010de, 0x16646: 0xe00010e7, 0x16647: 0xe00010e4,\n\t0x16648: 0xe00010ed, 0x16649: 0xe00010ea, 0x1664a: 0xe00010fc, 0x1664b: 0xe00010f9,\n\t0x1664c: 0xe00010f6, 0x1664d: 0xe00010f3, 0x1664e: 0xe0001123, 0x1664f: 0xe0001120,\n\t0x16650: 0xe0001141, 0x16651: 0xe000113e, 0x16652: 0xe0001153, 0x16653: 0xe0001150,\n\t0x16654: 0xe0001159, 0x16655: 0xe0001156, 0x16656: 0xe0000c15, 0x16657: 0xe0000f8d,\n\t0x16658: 0xe00010db, 0x16659: 0xe0001111, 0x1665a: 0xf0000404, 0x1665b: 0xe0000f70,\n\t0x1665c: 0x40300420, 0x1665d: 0x40300620, 0x1665e: 0xe0000f7f, 0x1665f: 0x402c9620,\n\t0x16660: 0xe000099b, 0x16661: 0xe0000998, 0x16662: 0xe0000989, 0x16663: 0xe0000986,\n\t0x16664: 0xe0000928, 0x16665: 0xe0000924, 0x16666: 0xe0000930, 0x16667: 0xe000092c,\n\t0x16668: 0xe0000940, 0x16669: 0xe000093c, 0x1666a: 0xe0000938, 0x1666b: 0xe0000934,\n\t0x1666c: 0xe00009aa, 0x1666d: 0xe00009a6, 0x1666e: 0xe0000902, 0x1666f: 0xe00008fe,\n\t0x16670: 0xe000090a, 0x16671: 0xe0000906, 0x16672: 0xe000091a, 0x16673: 0xe0000916,\n\t0x16674: 0xe0000912, 0x16675: 0xe000090e, 0x16676: 0xe00009a2, 0x16677: 0xe000099e,\n\t0x16678: 0xe0000b6e, 0x16679: 0xe0000b6b, 0x1667a: 0xe0000b5c, 0x1667b: 0xe0000b59,\n\t0x1667c: 0xe0000b26, 0x1667d: 0xe0000b23, 0x1667e: 0xe000ad41, 0x1667f: 0xe000ad3e,\n\t// Block 0x59a, offset 0x16680\n\t0x16680: 0xe000ad47, 0x16681: 0xe000ad44, 0x16682: 0xe000ad53, 0x16683: 0xe000ad50,\n\t0x16684: 0xe000ad4d, 0x16685: 0xe000ad4a, 0x16686: 0xe000ad59, 0x16687: 0xe000ad56,\n\t0x16688: 0xe0000c66, 0x16689: 0xe0000c63, 0x1668a: 0xe0000c78, 0x1668b: 0xe0000c75,\n\t0x1668c: 0xe0000e84, 0x1668d: 0xe0000e81, 0x1668e: 0xe0000e44, 0x1668f: 0xe0000e41,\n\t0x16690: 0xe000ad5f, 0x16691: 0xe000ad5c, 0x16692: 0xe000ad65, 0x16693: 0xe000ad62,\n\t0x16694: 0xe000ad6b, 0x16695: 0xe000ad68, 0x16696: 0xe0002946, 0x16697: 0xe0002943,\n\t0x16698: 0xe000ad71, 0x16699: 0xe000ad6e, 0x1669a: 0xe0000e5d, 0x1669b: 0xe0000e59,\n\t0x1669c: 0xe0000e65, 0x1669d: 0xe0000e61, 0x1669e: 0xe0000e75, 0x1669f: 0xe0000e71,\n\t0x166a0: 0xe0000e6d, 0x166a1: 0xe0000e69, 0x166a2: 0xe0000e7d, 0x166a3: 0xe0000e79,\n\t0x166a4: 0xe000108d, 0x166a5: 0xe000108a, 0x166a6: 0xe000104d, 0x166a7: 0xe000104a,\n\t0x166a8: 0xe0001066, 0x166a9: 0xe0001062, 0x166aa: 0xe000106e, 0x166ab: 0xe000106a,\n\t0x166ac: 0xe000107e, 0x166ad: 0xe000107a, 0x166ae: 0xe0001076, 0x166af: 0xe0001072,\n\t0x166b0: 0xe0001086, 0x166b1: 0xe0001082, 0x166b2: 0xe0001108, 0x166b3: 0xe0001105,\n\t0x166b4: 0xe0001135, 0x166b5: 0xe0001132, 0x166b6: 0xe000112f, 0x166b7: 0xe000112c,\n\t0x166b8: 0xe000111d, 0x166b9: 0xe000111a, 0x166ba: 0xe0000d0a, 0x166bb: 0xe0000d07,\n\t0x166bc: 0x0030d888, 0x166bd: 0x4030d820, 0x166be: 0x00312088, 0x166bf: 0x40312020,\n\t// Block 0x59b, offset 0x166c0\n\t0x166c0: 0xa0000000, 0x166c1: 0xa0000000, 0x166c2: 0xa0000000, 0x166c3: 0xa0000000,\n\t0x166c4: 0xa0000000, 0x166c5: 0xa0000000, 0x166c6: 0xa0000000, 0x166c7: 0xa0000000,\n\t0x166c8: 0xa0000000, 0x166c9: 0x40020020, 0x166ca: 0x40020220, 0x166cb: 0x40020420,\n\t0x166cc: 0x40020620, 0x166cd: 0x40020820, 0x166ce: 0xa0000000, 0x166cf: 0xa0000000,\n\t0x166d0: 0xa0000000, 0x166d1: 0xa0000000, 0x166d2: 0xa0000000, 0x166d3: 0xa0000000,\n\t0x166d4: 0xa0000000, 0x166d5: 0xa0000000, 0x166d6: 0xa0000000, 0x166d7: 0xa0000000,\n\t0x166d8: 0xa0000000, 0x166d9: 0xa0000000, 0x166da: 0xa0000000, 0x166db: 0xa0000000,\n\t0x166dc: 0xa0000000, 0x166dd: 0xa0000000, 0x166de: 0xa0000000, 0x166df: 0xa0000000,\n\t0x166e0: 0x40021220, 0x166e1: 0x4002ba20, 0x166e2: 0x4003e020, 0x166e3: 0x4004ea20,\n\t0x166e4: 0x4027de20, 0x166e5: 0x4004ec20, 0x166e6: 0x4004e620, 0x166e7: 0x4003d220,\n\t0x166e8: 0x4003f420, 0x166e9: 0x4003f620, 0x166ea: 0x4004d820, 0x166eb: 0x40093820,\n\t0x166ec: 0x40024020, 0x166ed: 0x40021a20, 0x166ee: 0x4002e420, 0x166ef: 0x4004e220,\n\t0x166f0: 0x4029cc20, 0x166f1: 0x4029ce20, 0x166f2: 0x4029d020, 0x166f3: 0x4029d220,\n\t0x166f4: 0x4029d420, 0x166f5: 0x4029d620, 0x166f6: 0x4029d820, 0x166f7: 0x4029da20,\n\t0x166f8: 0x4029dc20, 0x166f9: 0x4029de20, 0x166fa: 0x40026c20, 0x166fb: 0x40026220,\n\t0x166fc: 0x40094020, 0x166fd: 0x40094220, 0x166fe: 0x40094420, 0x166ff: 0x4002c420,\n\t// Block 0x59c, offset 0x16700\n\t0x16700: 0x4004d620, 0x16701: 0x002bde88, 0x16702: 0x002c0a88, 0x16703: 0xce7109c2,\n\t0x16704: 0xce7609c2, 0x16705: 0x002c9888, 0x16706: 0x002d0888, 0x16707: 0x002d2288,\n\t0x16708: 0x002d6888, 0x16709: 0x002d9a88, 0x1670a: 0x002dcc88, 0x1670b: 0xce7b09c2,\n\t0x1670c: 0xc0030002, 0x1670d: 0x002e8288, 0x1670e: 0xce8026f2, 0x1670f: 0x002ee288,\n\t0x16710: 0xce8509c2, 0x16711: 0x002f5688, 0x16712: 0x002f7a88, 0x16713: 0xce8a09b1,\n\t0x16714: 0x00302c88, 0x16715: 0x00306c88, 0x16716: 0x0030be88, 0x16717: 0x0030e288,\n\t0x16718: 0x0030f688, 0x16719: 0x00310088, 0x1671a: 0x00312a88, 0x1671b: 0x4003f820,\n\t0x1671c: 0x4004e420, 0x1671d: 0x4003fa20, 0x1671e: 0x40062420, 0x1671f: 0x40021620,\n\t0x16720: 0x40061e20, 0x16721: 0x402bde20, 0x16722: 0x402c0a20, 0x16723: 0xce6f09b1,\n\t0x16724: 0xce7409b1, 0x16725: 0x402c9820, 0x16726: 0x402d0820, 0x16727: 0x402d2220,\n\t0x16728: 0x402d6820, 0x16729: 0x402d9a20, 0x1672a: 0x402dcc20, 0x1672b: 0xce7909b1,\n\t0x1672c: 0xc0000002, 0x1672d: 0x402e8220, 0x1672e: 0xce7e26e1, 0x1672f: 0x402ee220,\n\t0x16730: 0xce8309b1, 0x16731: 0x402f5620, 0x16732: 0x402f7a20, 0x16733: 0xce8809b1,\n\t0x16734: 0x40302c20, 0x16735: 0x40306c20, 0x16736: 0x4030be20, 0x16737: 0x4030e220,\n\t0x16738: 0x4030f620, 0x16739: 0x40310020, 0x1673a: 0x40312a20, 0x1673b: 0x4003fc20,\n\t0x1673c: 0x40094820, 0x1673d: 0x4003fe20, 0x1673e: 0x40094c20, 0x1673f: 0xa0000000,\n\t// Block 0x59d, offset 0x16740\n\t0x16741: 0x40421220, 0x16742: 0x40421420, 0x16743: 0x40421620,\n\t0x16745: 0x4041f620, 0x16746: 0x4041f820, 0x16747: 0x4041fa20,\n\t0x16748: 0x4041fc20, 0x16749: 0x4041fe20, 0x1674a: 0x40420020, 0x1674b: 0x40420220,\n\t0x1674c: 0x40420620, 0x1674f: 0x40420a20,\n\t0x16750: 0x40420c20, 0x16753: 0x40420e20,\n\t0x16754: 0x40421020, 0x16755: 0xce8c96b1, 0x16756: 0x40421420, 0x16757: 0x40421620,\n\t0x16758: 0x40421820, 0x16759: 0x40421a20, 0x1675a: 0x40421c20, 0x1675b: 0x40421e20,\n\t0x1675c: 0x40422020, 0x1675d: 0x40422220, 0x1675e: 0x40422420, 0x1675f: 0x40422620,\n\t0x16760: 0x40422820, 0x16761: 0x40422a20, 0x16762: 0x40422c20, 0x16763: 0x40422e20,\n\t0x16764: 0x40423020, 0x16765: 0x40423220, 0x16766: 0x40423420, 0x16767: 0x40423620,\n\t0x16768: 0x40423820, 0x1676a: 0x40423a20, 0x1676b: 0x40423c20,\n\t0x1676c: 0x40423e20, 0x1676d: 0x40424020, 0x1676e: 0x40424220, 0x1676f: 0x40424420,\n\t0x16770: 0x40424820, 0x16772: 0x40424a20, 0x16773: 0x40424c20,\n\t0x16775: 0x40424e20, 0x16776: 0x40425220, 0x16777: 0x40425420,\n\t0x16778: 0x40425620, 0x16779: 0x40425820,\n\t0x1677c: 0xa070f102, 0x1677d: 0x40425a20, 0x1677e: 0x40425c20, 0x1677f: 0x40425e20,\n\t// Block 0x59e, offset 0x16780\n\t0x16780: 0x40426020, 0x16781: 0x40426220, 0x16782: 0x40426420, 0x16783: 0x40426620,\n\t0x16784: 0x40426820, 0x16787: 0xc05d01e1,\n\t0x16788: 0x40427020, 0x1678b: 0x40427220,\n\t0x1678c: 0x40427420, 0x1678d: 0x8209213b,\n\t0x16796: 0x40427820, 0x16797: 0x40427a20,\n\t0x1679c: 0xe000185d, 0x1679d: 0xe0001860, 0x1679f: 0x40424421,\n\t0x167a0: 0x40420420, 0x167a1: 0x40420820, 0x167a2: 0x40426a20, 0x167a3: 0x40426c20,\n\t0x167a6: 0xe0000176, 0x167a7: 0xe0000204,\n\t0x167a8: 0xe000031f, 0x167a9: 0xe00003f9, 0x167aa: 0xe00004d4, 0x167ab: 0xe000059e,\n\t0x167ac: 0xe0000669, 0x167ad: 0xe0000711, 0x167ae: 0xe00007bd, 0x167af: 0xe0000862,\n\t0x167b0: 0x40073c20, 0x167b1: 0x40425020, 0x167b2: 0x40283c20, 0x167b3: 0x40283e20,\n\t0x167b4: 0x40284020, 0x167b5: 0x40284220, 0x167b6: 0x40284420, 0x167b7: 0x40284620,\n\t// Block 0x59f, offset 0x167c0\n\t0x167c1: 0xa000f902, 0x167c2: 0xa000f802, 0x167c3: 0xa000f402,\n\t0x167c5: 0x40410620, 0x167c6: 0x40410820, 0x167c7: 0x40411020,\n\t0x167c8: 0x40411220, 0x167c9: 0x40410020, 0x167ca: 0x40410220,\n\t0x167cf: 0x40411420,\n\t0x167d0: 0x40410a20, 0x167d3: 0x40410420,\n\t0x167d4: 0x40410c20, 0x167d5: 0x40411c20, 0x167d6: 0x40411e20, 0x167d7: 0x40412020,\n\t0x167d8: 0x40412220, 0x167d9: 0x40412420, 0x167da: 0x40412620, 0x167db: 0x40412820,\n\t0x167dc: 0x40412a20, 0x167dd: 0x40412c20, 0x167de: 0x40412e20, 0x167df: 0x40413020,\n\t0x167e0: 0x40413220, 0x167e1: 0x40413420, 0x167e2: 0x40413620, 0x167e3: 0x40413820,\n\t0x167e4: 0x40413a20, 0x167e5: 0x40413c20, 0x167e6: 0x40413e20, 0x167e7: 0x40414020,\n\t0x167e8: 0x40414220, 0x167ea: 0x40414420, 0x167eb: 0x40414620,\n\t0x167ec: 0x40414820, 0x167ed: 0x40414a20, 0x167ee: 0x40414c20, 0x167ef: 0x40414e20,\n\t0x167f0: 0x40415220, 0x167f2: 0x40415420, 0x167f3: 0xe000ad83,\n\t0x167f5: 0x40415620, 0x167f6: 0xe000ad74,\n\t0x167f8: 0x40411620, 0x167f9: 0x40411820,\n\t0x167fc: 0xa000fa02, 0x167fe: 0x40415a20, 0x167ff: 0x40415c20,\n\t// Block 0x5a0, offset 0x16800\n\t0x16800: 0x40415e20, 0x16801: 0x40416020, 0x16802: 0x40416220,\n\t0x16807: 0x40416420,\n\t0x16808: 0x40416620, 0x1680b: 0x40416820,\n\t0x1680c: 0x40416a20, 0x1680d: 0x40415a20,\n\t0x16811: 0x40411a20,\n\t0x16819: 0xe000ad77, 0x1681a: 0xe000ad7a, 0x1681b: 0xe000ad7d,\n\t0x1681c: 0x40415820, 0x1681e: 0xe000ad80,\n\t0x16826: 0xe0000170, 0x16827: 0xe00001fe,\n\t0x16828: 0xe0000319, 0x16829: 0xe00003f3, 0x1682a: 0xe00004ce, 0x1682b: 0xe0000598,\n\t0x1682c: 0xe0000663, 0x1682d: 0xe000070b, 0x1682e: 0xe00007b7, 0x1682f: 0xe000085c,\n\t0x16830: 0xa000f702, 0x16831: 0xa000f602, 0x16832: 0x40410e20, 0x16833: 0x4040fe20,\n\t0x16834: 0x4040fc20, 0x16835: 0x40415020,\n\t// Block 0x5a1, offset 0x16840\n\t0x16840: 0xa0000000, 0x16841: 0xa0000000, 0x16842: 0xa0000000, 0x16843: 0xa0000000,\n\t0x16844: 0xa0000000, 0x16845: 0xa0000000, 0x16846: 0xa0000000, 0x16847: 0xa0000000,\n\t0x16848: 0xa0000000, 0x16849: 0x40020020, 0x1684a: 0x40020220, 0x1684b: 0x40020420,\n\t0x1684c: 0x40020620, 0x1684d: 0x40020820, 0x1684e: 0xa0000000, 0x1684f: 0xa0000000,\n\t0x16850: 0xa0000000, 0x16851: 0xa0000000, 0x16852: 0xa0000000, 0x16853: 0xa0000000,\n\t0x16854: 0xa0000000, 0x16855: 0xa0000000, 0x16856: 0xa0000000, 0x16857: 0xa0000000,\n\t0x16858: 0xa0000000, 0x16859: 0xa0000000, 0x1685a: 0xa0000000, 0x1685b: 0xa0000000,\n\t0x1685c: 0xa0000000, 0x1685d: 0xa0000000, 0x1685e: 0xa0000000, 0x1685f: 0xa0000000,\n\t0x16860: 0x40021220, 0x16861: 0x4002ba20, 0x16862: 0x4003e020, 0x16863: 0x4004ea20,\n\t0x16864: 0x4027de20, 0x16865: 0x4004ec20, 0x16866: 0x4004e620, 0x16867: 0x4003d220,\n\t0x16868: 0x4003f420, 0x16869: 0x4003f620, 0x1686a: 0x4004d820, 0x1686b: 0x40093820,\n\t0x1686c: 0x40024020, 0x1686d: 0x40021a20, 0x1686e: 0x4002e420, 0x1686f: 0x4004e220,\n\t0x16870: 0x4029cc20, 0x16871: 0x4029ce20, 0x16872: 0x4029d020, 0x16873: 0x4029d220,\n\t0x16874: 0x4029d420, 0x16875: 0x4029d620, 0x16876: 0x4029d820, 0x16877: 0x4029da20,\n\t0x16878: 0x4029dc20, 0x16879: 0x4029de20, 0x1687a: 0x40026c20, 0x1687b: 0x40026220,\n\t0x1687c: 0x40094020, 0x1687d: 0x40094220, 0x1687e: 0x40094420, 0x1687f: 0x4002c420,\n\t// Block 0x5a2, offset 0x16880\n\t0x16880: 0x4004d620, 0x16881: 0xce900be1, 0x16882: 0x002c0a88, 0x16883: 0xc33531e1,\n\t0x16884: 0x002c6288, 0x16885: 0xce6d0be1, 0x16886: 0x002d0888, 0x16887: 0x002d2288,\n\t0x16888: 0x002d6888, 0x16889: 0x002d9a88, 0x1688a: 0x002dcc88, 0x1688b: 0x002dfe88,\n\t0x1688c: 0xc0030002, 0x1688d: 0x002e8288, 0x1688e: 0xc54631e1, 0x1688f: 0xc33f31e1,\n\t0x16890: 0x002f2c88, 0x16891: 0x002f5688, 0x16892: 0x002f7a88, 0x16893: 0xc34331e1,\n\t0x16894: 0x00302c88, 0x16895: 0x00306c88, 0x16896: 0x0030be88, 0x16897: 0x0030e288,\n\t0x16898: 0x0030f688, 0x16899: 0x00310088, 0x1689a: 0xce959711, 0x1689b: 0x4003f820,\n\t0x1689c: 0x4004e420, 0x1689d: 0x4003fa20, 0x1689e: 0x40062420, 0x1689f: 0x40021620,\n\t0x168a0: 0x40061e20, 0x168a1: 0xce8e0be1, 0x168a2: 0x402c0a20, 0x168a3: 0xc33331e1,\n\t0x168a4: 0x402c6220, 0x168a5: 0xce6b0be1, 0x168a6: 0x402d0820, 0x168a7: 0x402d2220,\n\t0x168a8: 0x402d6820, 0x168a9: 0x402d9a20, 0x168aa: 0x402dcc20, 0x168ab: 0x402dfe20,\n\t0x168ac: 0xc0000002, 0x168ad: 0x402e8220, 0x168ae: 0xc53331e1, 0x168af: 0xc33d31e1,\n\t0x168b0: 0x402f2c20, 0x168b1: 0x402f5620, 0x168b2: 0x402f7a20, 0x168b3: 0xc34131e1,\n\t0x168b4: 0x40302c20, 0x168b5: 0x40306c20, 0x168b6: 0x4030be20, 0x168b7: 0x4030e220,\n\t0x168b8: 0x4030f620, 0x168b9: 0x40310020, 0x168ba: 0xce929711, 0x168bb: 0x4003fc20,\n\t0x168bc: 0x40094820, 0x168bd: 0x4003fe20, 0x168be: 0x40094c20, 0x168bf: 0xa0000000,\n\t// Block 0x5a3, offset 0x168c0\n\t0x168c0: 0xe00008f5, 0x168c1: 0xe00008ef, 0x168c2: 0xe0000921, 0x168c3: 0xe0000969,\n\t0x168c4: 0xe000095b, 0x168c5: 0xe000094d, 0x168c6: 0xe00009dd, 0x168c7: 0xe0000a53,\n\t0x168c8: 0xe0000ae8, 0x168c9: 0xe0000ae2, 0x168ca: 0xe0000af4, 0x168cb: 0xe0000b20,\n\t0x168cc: 0xe0000c2b, 0x168cd: 0xe0000c25, 0x168ce: 0xe0000c37, 0x168cf: 0xe0000c43,\n\t0x168d0: 0xe0000ab3, 0x168d1: 0xe0000d63, 0x168d2: 0xe0000d9a, 0x168d3: 0x002ee483,\n\t0x168d4: 0xe0000da6, 0x168d5: 0xe0000de6, 0x168d6: 0xe0000dd2, 0x168d7: 0x40093e20,\n\t0x168d8: 0xe0000e12, 0x168d9: 0xe0000fe1, 0x168da: 0xe0000fdb, 0x168db: 0xe0000fed,\n\t0x168dc: 0xe0000fff, 0x168dd: 0xe0001102, 0x168de: 0x00318888, 0x168df: 0xe0000f7b,\n\t0x168e0: 0xe00008f2, 0x168e1: 0xe00008ec, 0x168e2: 0xe000091e, 0x168e3: 0xe0000966,\n\t0x168e4: 0xe0000958, 0x168e5: 0xe000094a, 0x168e6: 0xe00009d5, 0x168e7: 0xe0000a4d,\n\t0x168e8: 0xe0000ae5, 0x168e9: 0xe0000adf, 0x168ea: 0xe0000af1, 0x168eb: 0xe0000b1d,\n\t0x168ec: 0xe0000c28, 0x168ed: 0xe0000c22, 0x168ee: 0xe0000c34, 0x168ef: 0xe0000c40,\n\t0x168f0: 0xe0000aad, 0x168f1: 0xe0000d60, 0x168f2: 0xe0000d97, 0x168f3: 0x402ee420,\n\t0x168f4: 0xe0000da3, 0x168f5: 0xe0000de3, 0x168f6: 0xe0000dcf, 0x168f7: 0x40093c20,\n\t0x168f8: 0xe0000e0f, 0x168f9: 0xe0000fde, 0x168fa: 0xe0000fd8, 0x168fb: 0xe0000fea,\n\t0x168fc: 0xe0000ffc, 0x168fd: 0xe00010ff, 0x168fe: 0x40318820, 0x168ff: 0xe0001114,\n\t// Block 0x5a4, offset 0x16900\n\t0x16900: 0xe0000983, 0x16901: 0xe0000980, 0x16902: 0xe00008fb, 0x16903: 0xe00008f8,\n\t0x16904: 0x002be083, 0x16905: 0x402be020, 0x16906: 0x002c3c83, 0x16907: 0x402c3c20,\n\t0x16908: 0xe0000a3e, 0x16909: 0xe0000a3b, 0x1690a: 0xe0000a4a, 0x1690b: 0xe0000a47,\n\t0x1690c: 0xe0000a44, 0x1690d: 0xe0000a41, 0x1690e: 0xe0000a86, 0x1690f: 0xe0000a83,\n\t0x16910: 0xe0000aaa, 0x16911: 0xe0000aa7, 0x16912: 0xe0000b46, 0x16913: 0xe0000b43,\n\t0x16914: 0xe0000aee, 0x16915: 0xe0000aeb, 0x16916: 0xe0000b2c, 0x16917: 0xe0000b29,\n\t0x16918: 0x002c9a83, 0x16919: 0x402c9a20, 0x1691a: 0xe0000b1a, 0x1691b: 0xe0000b17,\n\t0x1691c: 0xe0000bb8, 0x1691d: 0xe0000bb5, 0x1691e: 0xe0000bb2, 0x1691f: 0xe0000baf,\n\t0x16920: 0xe0000bc4, 0x16921: 0xe0000bc1, 0x16922: 0xe0000bca, 0x16923: 0xe0000bc7,\n\t0x16924: 0xe0000bee, 0x16925: 0xe0000beb, 0x16926: 0xe0000c1b, 0x16927: 0xe0000c18,\n\t0x16928: 0xe0000c51, 0x16929: 0xe0000c4e, 0x1692a: 0xe0000c60, 0x1692b: 0xe0000c5d,\n\t0x1692c: 0xe0000c31, 0x1692d: 0xe0000c2e, 0x1692e: 0xe0000c5a, 0x1692f: 0xe0000c57,\n\t0x16930: 0xe0000c54, 0x16931: 0x402da220, 0x16932: 0xf0000a0a, 0x16933: 0xf0000404,\n\t0x16934: 0xe0000c8a, 0x16935: 0xe0000c87, 0x16936: 0xe0000c9f, 0x16937: 0xe0000c9c,\n\t0x16938: 0x402f7220, 0x16939: 0xe0000ccc, 0x1693a: 0xe0000cc9, 0x1693b: 0xe0000cd8,\n\t0x1693c: 0xe0000cd5, 0x1693d: 0xe0000cd2, 0x1693e: 0xe0000ccf, 0x1693f: 0xe0000d04,\n\t// Block 0x5a5, offset 0x16940\n\t0x16940: 0xe0000cfe, 0x16941: 0x002e2483, 0x16942: 0x402e2420, 0x16943: 0x002ea083,\n\t0x16944: 0x402ea020, 0x16945: 0xe0000d6f, 0x16946: 0xe0000d6c, 0x16947: 0xe0000d5d,\n\t0x16948: 0xe0000d5a, 0x16949: 0xf0000404, 0x1694a: 0x002eda88, 0x1694b: 0x402eda20,\n\t0x1694c: 0xe0000e2e, 0x1694d: 0xe0000e2b, 0x1694e: 0xe0000da0, 0x1694f: 0xe0000d9d,\n\t0x16950: 0xe0000de0, 0x16951: 0xe0000ddd, 0x16952: 0xe0000e93, 0x16953: 0xe0000e8f,\n\t0x16954: 0xe0000eca, 0x16955: 0xe0000ec7, 0x16956: 0xe0000edc, 0x16957: 0xe0000ed9,\n\t0x16958: 0xe0000ed0, 0x16959: 0xe0000ecd, 0x1695a: 0x002fe883, 0x1695b: 0x402fe820,\n\t0x1695c: 0xe0000f2d, 0x1695d: 0xe0000f2a, 0x1695e: 0xe0000f47, 0x1695f: 0xe0000f44,\n\t0x16960: 0xe0000f33, 0x16961: 0xe0000f30, 0x16962: 0xe0000f99, 0x16963: 0xe0000f96,\n\t0x16964: 0xe0000f8a, 0x16965: 0xe0000f87, 0x16966: 0x00303688, 0x16967: 0x40303620,\n\t0x16968: 0xe000102b, 0x16969: 0xe0001028, 0x1696a: 0xe000103f, 0x1696b: 0xe000103c,\n\t0x1696c: 0xe0000fe7, 0x1696d: 0xe0000fe4, 0x1696e: 0xe0000ff9, 0x1696f: 0xe0000ff6,\n\t0x16970: 0xe0001025, 0x16971: 0xe0001022, 0x16972: 0xe0001039, 0x16973: 0xe0001036,\n\t0x16974: 0xe00010d8, 0x16975: 0xe00010d5, 0x16976: 0xe000110e, 0x16977: 0xe000110b,\n\t0x16978: 0xe0001117, 0x16979: 0x00312c83, 0x1697a: 0x40312c20, 0x1697b: 0x00312e83,\n\t0x1697c: 0x40312e20, 0x1697d: 0xe0001147, 0x1697e: 0xe0001144, 0x1697f: 0xe0000f64,\n\t// Block 0x5a6, offset 0x16980\n\t0x16980: 0xe00009b1, 0x16981: 0xe00009ae, 0x16982: 0xe0000a22, 0x16983: 0xe0000a1f,\n\t0x16984: 0xe0000a28, 0x16985: 0xe0000a25, 0x16986: 0xe0000a2e, 0x16987: 0xe0000a2b,\n\t0x16988: 0xe000261a, 0x16989: 0xe0002617, 0x1698a: 0xe0000a8c, 0x1698b: 0xe0000a89,\n\t0x1698c: 0xe0000a98, 0x1698d: 0xe0000a95, 0x1698e: 0xe0000aa4, 0x1698f: 0xe0000aa1,\n\t0x16990: 0xe0000a92, 0x16991: 0xe0000a8f, 0x16992: 0xe0000a9e, 0x16993: 0xe0000a9b,\n\t0x16994: 0xe0000b55, 0x16995: 0xe0000b51, 0x16996: 0xe0000b4d, 0x16997: 0xe0000b49,\n\t0x16998: 0xe0000b7c, 0x16999: 0xe0000b79, 0x1699a: 0xe0000b82, 0x1699b: 0xe0000b7f,\n\t0x1699c: 0xe0000b39, 0x1699d: 0xe0000b35, 0x1699e: 0xe0000b8c, 0x1699f: 0xe0000b89,\n\t0x169a0: 0xe0000bd0, 0x169a1: 0xe0000bcd, 0x169a2: 0xe0000c00, 0x169a3: 0xe0000bfd,\n\t0x169a4: 0xe0000c0c, 0x169a5: 0xe0000c09, 0x169a6: 0xe0000bfa, 0x169a7: 0xe0000bf7,\n\t0x169a8: 0xe0000c06, 0x169a9: 0xe0000c03, 0x169aa: 0xe0000c12, 0x169ab: 0xe0000c0f,\n\t0x169ac: 0xe0000c7e, 0x169ad: 0xe0000c7b, 0x169ae: 0xe0000c4a, 0x169af: 0xe0000c46,\n\t0x169b0: 0xe0000c93, 0x169b1: 0xe0000c90, 0x169b2: 0xe0000cab, 0x169b3: 0xe0000ca8,\n\t0x169b4: 0xe0000cb1, 0x169b5: 0xe0000cae, 0x169b6: 0xe0000cde, 0x169b7: 0xe0000cdb,\n\t0x169b8: 0xe0000ce5, 0x169b9: 0xe0000ce1, 0x169ba: 0xe0000cf2, 0x169bb: 0xe0000cef,\n\t0x169bc: 0xe0000cec, 0x169bd: 0xe0000ce9, 0x169be: 0xe0000d1e, 0x169bf: 0xe0000d1b,\n\t// Block 0x5a7, offset 0x169c0\n\t0x169c0: 0xe0000d24, 0x169c1: 0xe0000d21, 0x169c2: 0xe0000d2a, 0x169c3: 0xe0000d27,\n\t0x169c4: 0xe0000d69, 0x169c5: 0xe0000d66, 0x169c6: 0xe0000d7b, 0x169c7: 0xe0000d78,\n\t0x169c8: 0xe0000d87, 0x169c9: 0xe0000d84, 0x169ca: 0xe0000d81, 0x169cb: 0xe0000d7e,\n\t0x169cc: 0xe0002946, 0x169cd: 0xe0002943, 0x169ce: 0xe0000df5, 0x169cf: 0xe0000df1,\n\t0x169d0: 0xe0000e3d, 0x169d1: 0xe0000e39, 0x169d2: 0xe000294c, 0x169d3: 0xe0002949,\n\t0x169d4: 0xe0000ea7, 0x169d5: 0xe0000ea4, 0x169d6: 0xe0000ead, 0x169d7: 0xe0000eaa,\n\t0x169d8: 0xe0000ed6, 0x169d9: 0xe0000ed3, 0x169da: 0xe0000ef4, 0x169db: 0xe0000ef1,\n\t0x169dc: 0xe0000efb, 0x169dd: 0xe0000ef7, 0x169de: 0xe0000f02, 0x169df: 0xe0000eff,\n\t0x169e0: 0xe0000f41, 0x169e1: 0xe0000f3e, 0x169e2: 0xe0000f53, 0x169e3: 0xe0000f50,\n\t0x169e4: 0xe000296a, 0x169e5: 0xe0002967, 0x169e6: 0xe0000f3a, 0x169e7: 0xe0000f36,\n\t0x169e8: 0xe0000f5a, 0x169e9: 0xe0000f56, 0x169ea: 0xe0000f93, 0x169eb: 0xe0000f90,\n\t0x169ec: 0xe0000f9f, 0x169ed: 0xe0000f9c, 0x169ee: 0xe0000fb1, 0x169ef: 0xe0000fae,\n\t0x169f0: 0xe0000fab, 0x169f1: 0xe0000fa8, 0x169f2: 0xe0001093, 0x169f3: 0xe0001090,\n\t0x169f4: 0xe000109f, 0x169f5: 0xe000109c, 0x169f6: 0xe0001099, 0x169f7: 0xe0001096,\n\t0x169f8: 0xe0001032, 0x169f9: 0xe000102e, 0x169fa: 0xe0001046, 0x169fb: 0xe0001042,\n\t0x169fc: 0xe00010a9, 0x169fd: 0xe00010a6, 0x169fe: 0xe00010af, 0x169ff: 0xe00010ac,\n\t// Block 0x5a8, offset 0x16a00\n\t0x16a00: 0xe0000b03, 0x16a01: 0xe0000aff, 0x16a02: 0xe0000b13, 0x16a03: 0xe0000b0f,\n\t0x16a04: 0xe0000b0b, 0x16a05: 0xe0000b07, 0x16a06: 0xe0000b75, 0x16a07: 0xe0000b71,\n\t0x16a08: 0xe0000c66, 0x16a09: 0xe0000c63, 0x16a0a: 0xe0000c78, 0x16a0b: 0xe0000c75,\n\t0x16a0c: 0xe0000e84, 0x16a0d: 0xe0000e81, 0x16a0e: 0xe0000e44, 0x16a0f: 0xe0000e41,\n\t0x16a10: 0xe0003c96, 0x16a11: 0xe0003c93, 0x16a12: 0xe0000db5, 0x16a13: 0xe0000db1,\n\t0x16a14: 0xe0000dc5, 0x16a15: 0xe0000dc1, 0x16a16: 0xe0000dbd, 0x16a17: 0xe0000db9,\n\t0x16a18: 0xe0000e8b, 0x16a19: 0xe0000e87, 0x16a1a: 0xe0003c9c, 0x16a1b: 0xe0003c99,\n\t0x16a1c: 0xe0000e65, 0x16a1d: 0xe0000e61, 0x16a1e: 0xe0000e75, 0x16a1f: 0xe0000e71,\n\t0x16a20: 0xe0000e6d, 0x16a21: 0xe0000e69, 0x16a22: 0xe0000e7d, 0x16a23: 0xe0000e79,\n\t0x16a24: 0xe000108d, 0x16a25: 0xe000108a, 0x16a26: 0xe000104d, 0x16a27: 0xe000104a,\n\t0x16a28: 0xe0001066, 0x16a29: 0xe0001062, 0x16a2a: 0xe000106e, 0x16a2b: 0xe000106a,\n\t0x16a2c: 0xe000107e, 0x16a2d: 0xe000107a, 0x16a2e: 0xe0001076, 0x16a2f: 0xe0001072,\n\t0x16a30: 0xe0001086, 0x16a31: 0xe0001082, 0x16a32: 0xe0001108, 0x16a33: 0xe0001105,\n\t0x16a34: 0xe0001135, 0x16a35: 0xe0001132, 0x16a36: 0xe000112f, 0x16a37: 0xe000112c,\n\t0x16a38: 0xe000111d, 0x16a39: 0xe000111a, 0x16a3a: 0xe0000d0a, 0x16a3b: 0xe0000d07,\n\t0x16a3c: 0x0030d888, 0x16a3d: 0x4030d820, 0x16a3e: 0x00312088, 0x16a3f: 0x40312020,\n\t// Block 0x5a9, offset 0x16a40\n\t0x16a40: 0xa0000000, 0x16a41: 0xa0000000, 0x16a42: 0xa0000000, 0x16a43: 0xa0000000,\n\t0x16a44: 0xa0000000, 0x16a46: 0x40096620, 0x16a47: 0x40096a20,\n\t0x16a48: 0x40070820, 0x16a49: 0x4004f220, 0x16a4a: 0x4004f620, 0x16a4b: 0x4027e620,\n\t0x16a4c: 0x40024820, 0x16a4d: 0x40024a20, 0x16a4e: 0x40070e20, 0x16a4f: 0x40071020,\n\t0x16a50: 0xae600000, 0x16a51: 0xae600000, 0x16a52: 0xae600000, 0x16a53: 0xae600000,\n\t0x16a54: 0xae600000, 0x16a55: 0xae600000, 0x16a56: 0xae600000, 0x16a57: 0xae600000,\n\t0x16a58: 0xa1e00000, 0x16a59: 0xa1f00000, 0x16a5a: 0xa2000000, 0x16a5b: 0x40026420,\n\t0x16a5e: 0x40027020, 0x16a5f: 0x4002cc20,\n\t0x16a60: 0x403aa220, 0x16a61: 0x40393a20, 0x16a62: 0x40393620, 0x16a63: 0x40393821,\n\t0x16a64: 0x403a7421, 0x16a65: 0x40393824, 0x16a66: 0x003a9344, 0x16a67: 0xce980151,\n\t0x16a68: 0x40393c20, 0x16a69: 0x403a6824, 0x16a6a: 0x40395620, 0x16a6b: 0x40395820,\n\t0x16a6c: 0x40396420, 0x16a6d: 0xce9c0171, 0x16a6e: 0x40397420, 0x16a6f: 0x40398820,\n\t0x16a70: 0x40398a20, 0x16a71: 0x4039a420, 0x16a72: 0x4039a620, 0x16a73: 0x4039c620,\n\t0x16a74: 0x4039c820, 0x16a75: 0x4039dc20, 0x16a76: 0x4039de20, 0x16a77: 0x4039e620,\n\t0x16a78: 0x4039e820, 0x16a79: 0x4039ee20, 0x16a7a: 0x4039f020, 0x16a7b: 0x403a3820,\n\t0x16a7c: 0x403a3a20, 0x16a7d: 0x403a9c20, 0x16a7e: 0x403a9e20, 0x16a7f: 0x403aa020,\n\t// Block 0x5aa, offset 0x16a80\n\t0x16a80: 0xa0000000, 0x16a81: 0x4039fc20, 0x16a82: 0x403a1220, 0x16a83: 0x403a1c22,\n\t0x16a84: 0x403a4020, 0x16a85: 0x403a4e20, 0x16a86: 0x403a5620, 0x16a87: 0xcea00171,\n\t0x16a88: 0xcea20171, 0x16a89: 0xcea60171, 0x16a8a: 0xcea80171, 0x16a8b: 0xa000b002,\n\t0x16a8c: 0xa000b202, 0x16a8d: 0xa000b102, 0x16a8e: 0xa1e0ad02, 0x16a8f: 0xa000af02,\n\t0x16a90: 0xa000ae02, 0x16a91: 0xa210ba02, 0x16a92: 0xa220bc02, 0x16a93: 0xae60bd02,\n\t0x16a94: 0xae60be02, 0x16a95: 0xadc0bf02, 0x16a96: 0xadc0c102, 0x16a97: 0xae60c202,\n\t0x16a98: 0xae60c302, 0x16a99: 0xae60c402, 0x16a9a: 0xae60c502, 0x16a9b: 0xae60c602,\n\t0x16a9c: 0xadc0c702, 0x16a9d: 0xae60c802, 0x16a9e: 0xae60c902, 0x16a9f: 0xadc0c002,\n\t0x16aa0: 0xe000015e, 0x16aa1: 0xe00001e6, 0x16aa2: 0xe0000301, 0x16aa3: 0xe00003db,\n\t0x16aa4: 0xe00004b6, 0x16aa5: 0xe0000580, 0x16aa6: 0xe000064b, 0x16aa7: 0xe00006f3,\n\t0x16aa8: 0xe000079f, 0x16aa9: 0xe0000844, 0x16aaa: 0x4004ee20, 0x16aab: 0x40024c20,\n\t0x16aac: 0x40024e20, 0x16aad: 0x4004de20, 0x16aae: 0x40393a20, 0x16aaf: 0x403a1020,\n\t0x16ab0: 0xa230d102, 0x16ab1: 0x40393823, 0x16ab2: 0x40393822, 0x16ab3: 0x40393825,\n\t0x16ab4: 0x00391c84, 0x16ab5: 0xf0000404, 0x16ab6: 0xf0000404, 0x16ab7: 0xe000ad89,\n\t0x16ab8: 0xe0003780, 0x16ab9: 0x40395821, 0x16aba: 0x40395c20, 0x16abb: 0x40393e20,\n\t0x16abc: 0x40395820, 0x16abd: 0x40396020, 0x16abe: 0x40394020, 0x16abf: 0x40396220,\n\t// Block 0x5ab, offset 0x16ac0\n\t0x16ac0: 0x40394220, 0x16ac1: 0x40396620, 0x16ac2: 0x40397820, 0x16ac3: 0x40396620,\n\t0x16ac4: 0x40396820, 0x16ac5: 0x40396c20, 0x16ac6: 0x40396a20, 0x16ac7: 0x40396e20,\n\t0x16ac8: 0x40398a21, 0x16ac9: 0x40398a20, 0x16aca: 0x40399020, 0x16acb: 0x40399220,\n\t0x16acc: 0x40399420, 0x16acd: 0x40399620, 0x16ace: 0x40399820, 0x16acf: 0x40399a20,\n\t0x16ad0: 0x40399c20, 0x16ad1: 0x4039a621, 0x16ad2: 0x4039aa20, 0x16ad3: 0x4039a620,\n\t0x16ad4: 0x4039ae20, 0x16ad5: 0x4039b020, 0x16ad6: 0x4039b820, 0x16ad7: 0x4039b420,\n\t0x16ad8: 0x4039b620, 0x16ad9: 0x4039b820, 0x16ada: 0x4039ca20, 0x16adb: 0x4039cc20,\n\t0x16adc: 0x4039ce20, 0x16add: 0x4039e020, 0x16ade: 0x4039e220, 0x16adf: 0x4039ea20,\n\t0x16ae0: 0x4039f220, 0x16ae1: 0x4039fe20, 0x16ae2: 0x403a0020, 0x16ae3: 0x403a0220,\n\t0x16ae4: 0x403a0420, 0x16ae5: 0x403a0820, 0x16ae6: 0x403a0a20, 0x16ae7: 0x403a1420,\n\t0x16ae8: 0x403a1620, 0x16ae9: 0x403a1c20, 0x16aea: 0x403a1c21, 0x16aeb: 0x403a2020,\n\t0x16aec: 0x403a2220, 0x16aed: 0x403a2620, 0x16aee: 0x403a2820, 0x16aef: 0x403a2021,\n\t0x16af0: 0x403a2c20, 0x16af1: 0x403a2e20, 0x16af2: 0x403a3020, 0x16af3: 0x403a3220,\n\t0x16af4: 0x403a3420, 0x16af5: 0x403a4220, 0x16af6: 0x403a4420, 0x16af7: 0x403a4620,\n\t0x16af8: 0x403a4820, 0x16af9: 0x403a6020, 0x16afa: 0x403a5820, 0x16afb: 0x403a5c21,\n\t0x16afc: 0x403a5c20, 0x16afd: 0x403a5e20, 0x16afe: 0x403a6823, 0x16aff: 0x40396c20,\n\t// Block 0x5ac, offset 0x16b00\n\t0x16b00: 0x003a6883, 0x16b01: 0x403a6822, 0x16b02: 0xe000ad86, 0x16b03: 0x403a6825,\n\t0x16b04: 0x403a7620, 0x16b05: 0x403a7820, 0x16b06: 0x403a7a20, 0x16b07: 0x403a7422,\n\t0x16b08: 0x403a7e20, 0x16b09: 0x403a7423, 0x16b0a: 0x403a8220, 0x16b0b: 0x403a8420,\n\t0x16b0c: 0xcea40171, 0x16b0d: 0x403a9225, 0x16b0e: 0x403a9620, 0x16b0f: 0x403a8620,\n\t0x16b10: 0x403a9224, 0x16b11: 0x403a9a20, 0x16b12: 0x403a9222, 0x16b13: 0xe00037b6,\n\t0x16b14: 0x4002e820, 0x16b15: 0xce9e0171, 0x16b16: 0xae600000, 0x16b17: 0xae600000,\n\t0x16b18: 0xae600000, 0x16b19: 0xae600000, 0x16b1a: 0xae600000, 0x16b1b: 0xae600000,\n\t0x16b1c: 0xae600000, 0x16b1d: 0xa0000000, 0x16b1e: 0x40071220, 0x16b1f: 0xae600000,\n\t0x16b20: 0xae600000, 0x16b21: 0xae600000, 0x16b22: 0xae600000, 0x16b23: 0xadc00000,\n\t0x16b24: 0xae600000, 0x16b25: 0x003a7484, 0x16b26: 0x003a9084, 0x16b27: 0xae600000,\n\t0x16b28: 0xae600000, 0x16b29: 0x40071420, 0x16b2a: 0xadc00000, 0x16b2b: 0xae600000,\n\t0x16b2c: 0xae600000, 0x16b2d: 0xadc00000, 0x16b2e: 0x40399e20, 0x16b2f: 0x4039ba20,\n\t0x16b30: 0xe0000161, 0x16b31: 0xe00001e9, 0x16b32: 0xe0000304, 0x16b33: 0xe00003de,\n\t0x16b34: 0xe00004b9, 0x16b35: 0xe0000583, 0x16b36: 0xe000064e, 0x16b37: 0xe00006f6,\n\t0x16b38: 0xe00007a2, 0x16b39: 0xe0000847, 0x16b3a: 0x4039d020, 0x16b3b: 0x4039e420,\n\t0x16b3c: 0x4039f420, 0x16b3d: 0xe0001553, 0x16b3e: 0xe0001779, 0x16b3f: 0x403a7020,\n\t// Block 0x5ad, offset 0x16b40\n\t0x16b40: 0x00021284, 0x16b41: 0x00021284, 0x16b42: 0x00021284, 0x16b43: 0x00021284,\n\t0x16b44: 0x00021284, 0x16b45: 0x00021284, 0x16b46: 0x00021284, 0x16b47: 0x0002129b,\n\t0x16b48: 0x00021284, 0x16b49: 0x00021284, 0x16b4a: 0x00021284, 0x16b4b: 0xa0000000,\n\t0x16b4c: 0x40021221, 0x16b4d: 0x40021222, 0x16b4e: 0xa0000000, 0x16b4f: 0xa0000000,\n\t0x16b50: 0x40022620, 0x16b51: 0x0002269b, 0x16b52: 0x40022820, 0x16b53: 0x40022a20,\n\t0x16b54: 0x40022c20, 0x16b55: 0x40022e20, 0x16b56: 0x4004c420, 0x16b57: 0x40021820,\n\t0x16b58: 0x4003d420, 0x16b59: 0x4003d620, 0x16b5a: 0x4003d820, 0x16b5b: 0x4003da20,\n\t0x16b5c: 0x4003e220, 0x16b5d: 0x4003e420, 0x16b5e: 0x4003e620, 0x16b5f: 0x4003e820,\n\t0x16b60: 0x4004f820, 0x16b61: 0x4004fa20, 0x16b62: 0x40050220, 0x16b63: 0x40050420,\n\t0x16b64: 0x0002e484, 0x16b65: 0xf0001f04, 0x16b66: 0xf0000404, 0x16b67: 0x40050620,\n\t0x16b68: 0x40020e20, 0x16b69: 0x40021020, 0x16b6a: 0xa0000000, 0x16b6b: 0xa0000000,\n\t0x16b6c: 0xa0000000, 0x16b6d: 0xa0000000, 0x16b6e: 0xa0000000, 0x16b6f: 0x0002129b,\n\t0x16b70: 0x4004f020, 0x16b71: 0x4004f420, 0x16b72: 0x40050e20, 0x16b73: 0xf0001f04,\n\t0x16b74: 0xf0000404, 0x16b75: 0x40051020, 0x16b76: 0xf0001f04, 0x16b77: 0xf0000404,\n\t0x16b78: 0x40051620, 0x16b79: 0x4003dc20, 0x16b7a: 0x4003de20, 0x16b7b: 0x40051820,\n\t0x16b7c: 0xf0001f04, 0x16b7d: 0x4002e020, 0x16b7e: 0x40021420, 0x16b7f: 0x40051a20,\n\t// Block 0x5ae, offset 0x16b80\n\t0x16b80: 0x40073420, 0x16b81: 0x40073620,\n\t0x16b93: 0x003a269a,\n\t0x16b94: 0x003a2699, 0x16b95: 0x003a2697, 0x16b96: 0x003a2698, 0x16b97: 0x003a7c9a,\n\t0x16b98: 0x003a7c99, 0x16b99: 0x003a7a9a, 0x16b9a: 0x003a7a99, 0x16b9b: 0x003a7e9a,\n\t0x16b9c: 0x003a7e99, 0x16b9d: 0xe000ad8c, 0x16b9e: 0x003a849a, 0x16b9f: 0x003a8499,\n\t0x16ba0: 0x003a789a, 0x16ba1: 0x003a7899, 0x16ba2: 0x003a809a, 0x16ba3: 0x003a8099,\n\t0x16ba4: 0x003a989a, 0x16ba5: 0x003a9899, 0x16ba6: 0x003a9897, 0x16ba7: 0x003a9898,\n\t0x16ba8: 0x003a8e97, 0x16ba9: 0x003a8e98, 0x16baa: 0xe0001559, 0x16bab: 0xe0001556,\n\t0x16bac: 0xe0001589, 0x16bad: 0xe0001586, 0x16bae: 0xe000158f, 0x16baf: 0xe000158c,\n\t0x16bb0: 0xe000159b, 0x16bb1: 0xe0001598, 0x16bb2: 0xe0001595, 0x16bb3: 0xe0001592,\n\t0x16bb4: 0xe00015a1, 0x16bb5: 0xe000159e, 0x16bb6: 0xe00015bf, 0x16bb7: 0xe00015bc,\n\t0x16bb8: 0xe00015b9, 0x16bb9: 0xe00015ad, 0x16bba: 0xe00015a7, 0x16bbb: 0xe00015a4,\n\t0x16bbc: 0x003a929a, 0x16bbd: 0x003a9299, 0x16bbe: 0x003a9297, 0x16bbf: 0x003a9298,\n\t// Block 0x5af, offset 0x16bc0\n\t0x16bc0: 0xf0001a1a, 0x16bc1: 0xf0001a1a, 0x16bc2: 0xf0001a1a, 0x16bc3: 0xe00028f4,\n\t0x16bc4: 0xe000374d, 0x16bc5: 0xf0001a1a, 0x16bc6: 0xf0001a1a, 0x16bc7: 0xf0001a1a,\n\t0x16bc8: 0xf0001a1a, 0x16bc9: 0xe00028f7, 0x16bca: 0xe0003750, 0x16bcb: 0xf0001a1a,\n\t0x16bcc: 0xf0001a1a, 0x16bcd: 0xf0001a1a, 0x16bce: 0xf0001a1a, 0x16bcf: 0xe00028fd,\n\t0x16bd0: 0xe000375c, 0x16bd1: 0xf0001a1a, 0x16bd2: 0xf0001a1a, 0x16bd3: 0xe0002900,\n\t0x16bd4: 0xe000376e, 0x16bd5: 0xe0003786, 0x16bd6: 0xe000378c, 0x16bd7: 0xe0003792,\n\t0x16bd8: 0xe00037a4, 0x16bd9: 0xe0002906, 0x16bda: 0xe00037b3, 0x16bdb: 0xf0001a1a,\n\t0x16bdc: 0xf0001a1a, 0x16bdd: 0xe000377d, 0x16bde: 0xe0000003, 0x16bdf: 0xe0000006,\n\t0x16be0: 0xe0000009, 0x16be1: 0xe000000c, 0x16be2: 0xe000000f, 0x16be3: 0xe0000012,\n\t0x16be4: 0xe000156b, 0x16be5: 0xe000156e, 0x16be6: 0xe0001577, 0x16be7: 0xe000157d,\n\t0x16be8: 0xe00015aa, 0x16be9: 0xe00015b3, 0x16bea: 0xf0001919, 0x16beb: 0xf0001919,\n\t0x16bec: 0xf0001919, 0x16bed: 0xf0001919, 0x16bee: 0xe0002891, 0x16bef: 0xe00036a2,\n\t0x16bf0: 0xf0001919, 0x16bf1: 0xf0001919, 0x16bf2: 0xf0001919, 0x16bf3: 0xf0001919,\n\t0x16bf4: 0xe0002897, 0x16bf5: 0xe00036ae, 0x16bf6: 0xf0001919, 0x16bf7: 0xf0001919,\n\t0x16bf8: 0xf0001919, 0x16bf9: 0xf0001919, 0x16bfa: 0xe000289d, 0x16bfb: 0xe00036b7,\n\t0x16bfc: 0xe00028df, 0x16bfd: 0xe0003705, 0x16bfe: 0xe00028e5, 0x16bff: 0xe000370b,\n\t// Block 0x5b0, offset 0x16c00\n\t0x16c00: 0xe0003711, 0x16c01: 0xe000372f, 0x16c02: 0xe000373b, 0x16c03: 0xe00028eb,\n\t0x16c04: 0xe0003741, 0x16c05: 0xf0001919, 0x16c06: 0xe00028f1, 0x16c07: 0xe000374a,\n\t0x16c08: 0xf0001919, 0x16c09: 0xf0001919, 0x16c0a: 0xf0001919, 0x16c0b: 0xf0001919,\n\t0x16c0c: 0xf0001919, 0x16c0d: 0xf0001919, 0x16c0e: 0xe00028fa, 0x16c0f: 0xe0003759,\n\t0x16c10: 0xe000377a, 0x16c11: 0xe0003795, 0x16c12: 0xe0003798, 0x16c13: 0xe00037a1,\n\t0x16c14: 0xe00037a7, 0x16c15: 0xe0002903, 0x16c16: 0xe00037b0, 0x16c17: 0xe000155c,\n\t0x16c18: 0xe0001562, 0x16c19: 0xe0001568, 0x16c1a: 0xe0001571, 0x16c1b: 0xe0001580,\n\t0x16c1c: 0xf0001717, 0x16c1d: 0xf0001717, 0x16c1e: 0xf0001717, 0x16c1f: 0xf0001717,\n\t0x16c20: 0xf0001717, 0x16c21: 0xf0001717, 0x16c22: 0xf0001717, 0x16c23: 0xf0001717,\n\t0x16c24: 0xf0001717, 0x16c25: 0xf0001717, 0x16c26: 0xf0001717, 0x16c27: 0xf0001717,\n\t0x16c28: 0xf0001717, 0x16c29: 0xf0001717, 0x16c2a: 0xf0001717, 0x16c2b: 0xf0001717,\n\t0x16c2c: 0xf0001717, 0x16c2d: 0xf0001717, 0x16c2e: 0xf0001717, 0x16c2f: 0xf0001717,\n\t0x16c30: 0xf0001717, 0x16c31: 0xf0001717, 0x16c32: 0xf0001717, 0x16c33: 0xf0001717,\n\t0x16c34: 0xf0001717, 0x16c35: 0xf0001717, 0x16c36: 0xf0001717, 0x16c37: 0xf0001717,\n\t0x16c38: 0xf0001717, 0x16c39: 0xf0001717, 0x16c3a: 0xf0001717, 0x16c3b: 0xf0001717,\n\t0x16c3c: 0xf0001717, 0x16c3d: 0xf0001717, 0x16c3e: 0xf0001717, 0x16c3f: 0xf0001717,\n\t// Block 0x5b1, offset 0x16c40\n\t0x16c40: 0xf0001717, 0x16c41: 0xf0001717, 0x16c42: 0xf0001717, 0x16c43: 0xf0001717,\n\t0x16c44: 0xe0003717, 0x16c45: 0xe000371d, 0x16c46: 0xe0003723, 0x16c47: 0xe0003729,\n\t0x16c48: 0xe0003735, 0x16c49: 0xf0001717, 0x16c4a: 0xf0001717, 0x16c4b: 0xf0001717,\n\t0x16c4c: 0xf0001717, 0x16c4d: 0xf0001717, 0x16c4e: 0xf0001717, 0x16c4f: 0xf0001717,\n\t0x16c50: 0xf0001717, 0x16c51: 0xf0001717, 0x16c52: 0xf0001717, 0x16c53: 0xf0001717,\n\t0x16c54: 0xf0001717, 0x16c55: 0xf0001717, 0x16c56: 0xf0001717, 0x16c57: 0xf0001717,\n\t0x16c58: 0xf0001717, 0x16c59: 0xf0001717, 0x16c5a: 0xe0003783, 0x16c5b: 0xe0003789,\n\t0x16c5c: 0xe000378f, 0x16c5d: 0xe000379b, 0x16c5e: 0xe00037aa, 0x16c5f: 0xe0001574,\n\t0x16c60: 0xe0001583, 0x16c61: 0xf0001818, 0x16c62: 0xf0001818, 0x16c63: 0xf0001818,\n\t0x16c64: 0xf0001818, 0x16c65: 0xf0001818, 0x16c66: 0xf0001818, 0x16c67: 0xf0001818,\n\t0x16c68: 0xf0001818, 0x16c69: 0xf0001818, 0x16c6a: 0xf0001818, 0x16c6b: 0xe000372c,\n\t0x16c6c: 0xe0003738, 0x16c6d: 0xf0001818, 0x16c6e: 0xf0001818, 0x16c6f: 0xf0001818,\n\t0x16c70: 0xe000379e, 0x16c71: 0xe00037ad, 0x16c72: 0xf0001818, 0x16c73: 0xe0003690,\n\t0x16c74: 0xe0003693, 0x16c75: 0xe00028d0, 0x16c76: 0xe00036f6, 0x16c77: 0xe00028d6,\n\t0x16c78: 0xe00036fc, 0x16c79: 0xe00028dc, 0x16c7a: 0xe0003702, 0x16c7b: 0xe00028b8,\n\t0x16c7c: 0xe00036d8, 0x16c7d: 0xe00028be, 0x16c7e: 0xe00036e4, 0x16c7f: 0xe00028ac,\n\t// Block 0x5b2, offset 0x16c80\n\t0x16c80: 0xe00036c6, 0x16c81: 0xe00028a6, 0x16c82: 0xe00036c0, 0x16c83: 0xe00028b2,\n\t0x16c84: 0xe00036cc, 0x16c85: 0xe00028c4, 0x16c86: 0xe00036ea, 0x16c87: 0xe00028ca,\n\t0x16c88: 0xe00036f0, 0x16c89: 0xf0001a1a, 0x16c8a: 0xf0001a1a, 0x16c8b: 0xf0001a1a,\n\t0x16c8c: 0xf0001a1a, 0x16c8d: 0xf0001a1a, 0x16c8e: 0xf0001a1a, 0x16c8f: 0xf0001a1a,\n\t0x16c90: 0xf0001a1a, 0x16c91: 0xe00028cd, 0x16c92: 0xe00036f3, 0x16c93: 0xe00028d3,\n\t0x16c94: 0xe00036f9, 0x16c95: 0xe00028d9, 0x16c96: 0xe00036ff, 0x16c97: 0xe00028b5,\n\t0x16c98: 0xe00036d5, 0x16c99: 0xe00028bb, 0x16c9a: 0xe00036e1, 0x16c9b: 0xe00028a9,\n\t0x16c9c: 0xe00036c3, 0x16c9d: 0xe00028a3, 0x16c9e: 0xe00036bd, 0x16c9f: 0xe00028af,\n\t0x16ca0: 0xe00036c9, 0x16ca1: 0xe00028c1, 0x16ca2: 0xe00036e7, 0x16ca3: 0xe00028c7,\n\t0x16ca4: 0xe00036ed, 0x16ca5: 0xf0001919, 0x16ca6: 0xf0001919, 0x16ca7: 0xf0001919,\n\t0x16ca8: 0xf0001919, 0x16ca9: 0xf0001919, 0x16caa: 0xf0001919, 0x16cab: 0xf0001919,\n\t0x16cac: 0xf0001919, 0x16cad: 0xf0001717, 0x16cae: 0xf0001717, 0x16caf: 0xf0001717,\n\t0x16cb0: 0xf0001717, 0x16cb1: 0xf0001717, 0x16cb2: 0xf0001717, 0x16cb3: 0xf0001717,\n\t0x16cb4: 0xf0001818, 0x16cb5: 0xf0001818, 0x16cb6: 0xf0001818, 0x16cb7: 0xf0001818,\n\t0x16cb8: 0xf0001818, 0x16cb9: 0xf0001818, 0x16cba: 0xf0001818, 0x16cbb: 0xf0001818,\n\t0x16cbc: 0xe0003696, 0x16cbd: 0xe0003699, 0x16cbe: 0x4004c020, 0x16cbf: 0x4004c220,\n\t// Block 0x5b3, offset 0x16cc0\n\t0x16cc0: 0xa0000000, 0x16cc1: 0xa0000000, 0x16cc2: 0xa0000000, 0x16cc3: 0xa0000000,\n\t0x16cc4: 0xa0000000, 0x16cc5: 0xa0000000, 0x16cc6: 0xa0000000, 0x16cc7: 0xa0000000,\n\t0x16cc8: 0xa0000000, 0x16cc9: 0x40020020, 0x16cca: 0x40020220, 0x16ccb: 0x40020420,\n\t0x16ccc: 0x40020620, 0x16ccd: 0x40020820, 0x16cce: 0xa0000000, 0x16ccf: 0xa0000000,\n\t0x16cd0: 0xa0000000, 0x16cd1: 0xa0000000, 0x16cd2: 0xa0000000, 0x16cd3: 0xa0000000,\n\t0x16cd4: 0xa0000000, 0x16cd5: 0xa0000000, 0x16cd6: 0xa0000000, 0x16cd7: 0xa0000000,\n\t0x16cd8: 0xa0000000, 0x16cd9: 0xa0000000, 0x16cda: 0xa0000000, 0x16cdb: 0xa0000000,\n\t0x16cdc: 0xa0000000, 0x16cdd: 0xa0000000, 0x16cde: 0xa0000000, 0x16cdf: 0xa0000000,\n\t0x16ce0: 0x40021220, 0x16ce1: 0x4002ba20, 0x16ce2: 0x4003e020, 0x16ce3: 0x4004ea20,\n\t0x16ce4: 0x4027de20, 0x16ce5: 0x4004ec20, 0x16ce6: 0x4004e620, 0x16ce7: 0x4003d220,\n\t0x16ce8: 0x4003f420, 0x16ce9: 0x4003f620, 0x16cea: 0x4004d820, 0x16ceb: 0x40093820,\n\t0x16cec: 0x40024020, 0x16ced: 0x40021a20, 0x16cee: 0x4002e420, 0x16cef: 0x4004e220,\n\t0x16cf0: 0x4029cc20, 0x16cf1: 0x4029ce20, 0x16cf2: 0x4029d020, 0x16cf3: 0x4029d220,\n\t0x16cf4: 0x4029d420, 0x16cf5: 0x4029d620, 0x16cf6: 0x4029d820, 0x16cf7: 0x4029da20,\n\t0x16cf8: 0x4029dc20, 0x16cf9: 0x4029de20, 0x16cfa: 0x40026c20, 0x16cfb: 0x40026220,\n\t0x16cfc: 0x40094020, 0x16cfd: 0x40094220, 0x16cfe: 0x40094420, 0x16cff: 0x4002c420,\n\t// Block 0x5b4, offset 0x16d00\n\t0x16d00: 0x4004d620, 0x16d01: 0xcead9741, 0x16d02: 0x002c0a88, 0x16d03: 0x002c3a88,\n\t0x16d04: 0x002c6288, 0x16d05: 0x002c9888, 0x16d06: 0x002d0888, 0x16d07: 0x002d2288,\n\t0x16d08: 0x002d6888, 0x16d09: 0xc6182741, 0x16d0a: 0x002dcc88, 0x16d0b: 0x002dfe88,\n\t0x16d0c: 0xc0030002, 0x16d0d: 0x002e8288, 0x16d0e: 0x002e9e88, 0x16d0f: 0x002ee288,\n\t0x16d10: 0x002f2c88, 0x16d11: 0x002f5688, 0x16d12: 0x002f7a88, 0x16d13: 0xceb39771,\n\t0x16d14: 0xceb99771, 0x16d15: 0x00306c88, 0x16d16: 0x0030be88, 0x16d17: 0x0030e288,\n\t0x16d18: 0x0030f688, 0x16d19: 0x00310088, 0x16d1a: 0x00312a88, 0x16d1b: 0x4003f820,\n\t0x16d1c: 0x4004e420, 0x16d1d: 0x4003fa20, 0x16d1e: 0x40062420, 0x16d1f: 0x40021620,\n\t0x16d20: 0x40061e20, 0x16d21: 0xceaa9741, 0x16d22: 0x402c0a20, 0x16d23: 0x402c3a20,\n\t0x16d24: 0x402c6220, 0x16d25: 0x402c9820, 0x16d26: 0x402d0820, 0x16d27: 0x402d2220,\n\t0x16d28: 0x402d6820, 0x16d29: 0xc6162741, 0x16d2a: 0x402dcc20, 0x16d2b: 0x402dfe20,\n\t0x16d2c: 0xc0000002, 0x16d2d: 0x402e8220, 0x16d2e: 0x402e9e20, 0x16d2f: 0x402ee220,\n\t0x16d30: 0x402f2c20, 0x16d31: 0x402f5620, 0x16d32: 0x402f7a20, 0x16d33: 0xceb09771,\n\t0x16d34: 0xceb69771, 0x16d35: 0x40306c20, 0x16d36: 0x4030be20, 0x16d37: 0x4030e220,\n\t0x16d38: 0x4030f620, 0x16d39: 0x40310020, 0x16d3a: 0x40312a20, 0x16d3b: 0x4003fc20,\n\t0x16d3c: 0x40094820, 0x16d3d: 0x4003fe20, 0x16d3e: 0x40094c20, 0x16d3f: 0xa0000000,\n\t// Block 0x5b5, offset 0x16d40\n\t0x16d40: 0xe00008f5, 0x16d41: 0xe00008ef, 0x16d42: 0x002be283, 0x16d43: 0xe0000969,\n\t0x16d44: 0xe000095b, 0x16d45: 0xe000094d, 0x16d46: 0xe00009dd, 0x16d47: 0xe0000a53,\n\t0x16d48: 0xe0000ae8, 0x16d49: 0xe0000ae2, 0x16d4a: 0xe0000af4, 0x16d4b: 0xe0000b20,\n\t0x16d4c: 0xe0000c2b, 0x16d4d: 0xe0000c25, 0x16d4e: 0x002d9c83, 0x16d4f: 0xe0000c43,\n\t0x16d50: 0xe0000ab3, 0x16d51: 0xe0000d63, 0x16d52: 0xe0000d9a, 0x16d53: 0xe0000d94,\n\t0x16d54: 0xe0000da6, 0x16d55: 0xe0000de6, 0x16d56: 0xe0000dd2, 0x16d57: 0x40093e20,\n\t0x16d58: 0xe0000e12, 0x16d59: 0xe0000fe1, 0x16d5a: 0xe0000fdb, 0x16d5b: 0xe0000fed,\n\t0x16d5c: 0xe0000fff, 0x16d5d: 0xe0001102, 0x16d5e: 0x00318888, 0x16d5f: 0xe0000f7b,\n\t0x16d60: 0xe00008f2, 0x16d61: 0xe00008ec, 0x16d62: 0x402be220, 0x16d63: 0xe0000966,\n\t0x16d64: 0xe0000958, 0x16d65: 0xe000094a, 0x16d66: 0xe00009d5, 0x16d67: 0xe0000a4d,\n\t0x16d68: 0xe0000ae5, 0x16d69: 0xe0000adf, 0x16d6a: 0xe0000af1, 0x16d6b: 0xe0000b1d,\n\t0x16d6c: 0xe0000c28, 0x16d6d: 0xe0000c22, 0x16d6e: 0x402d9c20, 0x16d6f: 0xe0000c40,\n\t0x16d70: 0xe0000aad, 0x16d71: 0xe0000d60, 0x16d72: 0xe0000d97, 0x16d73: 0xe0000d91,\n\t0x16d74: 0xe0000da3, 0x16d75: 0xe0000de3, 0x16d76: 0xe0000dcf, 0x16d77: 0x40093c20,\n\t0x16d78: 0xe0000e0f, 0x16d79: 0xe0000fde, 0x16d7a: 0xe0000fd8, 0x16d7b: 0xe0000fea,\n\t0x16d7c: 0xe0000ffc, 0x16d7d: 0xe00010ff, 0x16d7e: 0x40318820, 0x16d7f: 0xe0001114,\n\t// Block 0x5b6, offset 0x16d80\n\t0x16d80: 0xe0000983, 0x16d81: 0xe0000980, 0x16d82: 0x002be083, 0x16d83: 0x402be020,\n\t0x16d84: 0xe000097d, 0x16d85: 0xe000097a, 0x16d86: 0xe0000a38, 0x16d87: 0xe0000a35,\n\t0x16d88: 0xe0000a3e, 0x16d89: 0xe0000a3b, 0x16d8a: 0xe0000a4a, 0x16d8b: 0xe0000a47,\n\t0x16d8c: 0xe0000a44, 0x16d8d: 0xe0000a41, 0x16d8e: 0xe0000a86, 0x16d8f: 0xe0000a83,\n\t0x16d90: 0xe0000aaa, 0x16d91: 0xe0000aa7, 0x16d92: 0xe0000b46, 0x16d93: 0xe0000b43,\n\t0x16d94: 0xe0000aee, 0x16d95: 0xe0000aeb, 0x16d96: 0xe0000b2c, 0x16d97: 0xe0000b29,\n\t0x16d98: 0xe0000b40, 0x16d99: 0xe0000b3d, 0x16d9a: 0xe0000b1a, 0x16d9b: 0xe0000b17,\n\t0x16d9c: 0xe0000bb8, 0x16d9d: 0xe0000bb5, 0x16d9e: 0xe0000bb2, 0x16d9f: 0xe0000baf,\n\t0x16da0: 0xe0000bc4, 0x16da1: 0xe0000bc1, 0x16da2: 0xe0000bca, 0x16da3: 0xe0000bc7,\n\t0x16da4: 0xe0000bee, 0x16da5: 0xe0000beb, 0x16da6: 0xe0000c1b, 0x16da7: 0xe0000c18,\n\t0x16da8: 0xe0000c51, 0x16da9: 0xe0000c4e, 0x16daa: 0xe0000c60, 0x16dab: 0xe0000c5d,\n\t0x16dac: 0xe0000c31, 0x16dad: 0xe0000c2e, 0x16dae: 0xe0000c5a, 0x16daf: 0xe0000c57,\n\t0x16db0: 0xe0000c54, 0x16db1: 0x402da220, 0x16db2: 0xf0000a0a, 0x16db3: 0xf0000404,\n\t0x16db4: 0xe0000c8a, 0x16db5: 0xe0000c87, 0x16db6: 0xe0000c9f, 0x16db7: 0xe0000c9c,\n\t0x16db8: 0x402f7220, 0x16db9: 0xe0000ccc, 0x16dba: 0xe0000cc9, 0x16dbb: 0xe0000cd8,\n\t0x16dbc: 0xe0000cd5, 0x16dbd: 0xe0000cd2, 0x16dbe: 0xe0000ccf, 0x16dbf: 0xe0000d04,\n\t// Block 0x5b7, offset 0x16dc0\n\t0x16dc0: 0xe0000cfe, 0x16dc1: 0xe0000cf8, 0x16dc2: 0xe0000cf5, 0x16dc3: 0xe0000d51,\n\t0x16dc4: 0xe0000d4e, 0x16dc5: 0xe0000d6f, 0x16dc6: 0xe0000d6c, 0x16dc7: 0xe0000d5d,\n\t0x16dc8: 0xe0000d5a, 0x16dc9: 0xf0000404, 0x16dca: 0x002eda88, 0x16dcb: 0x402eda20,\n\t0x16dcc: 0xe0000e2e, 0x16dcd: 0xe0000e2b, 0x16dce: 0xe0000da0, 0x16dcf: 0xe0000d9d,\n\t0x16dd0: 0xe0000de0, 0x16dd1: 0xe0000ddd, 0x16dd2: 0xe0000e93, 0x16dd3: 0xe0000e8f,\n\t0x16dd4: 0xe0000eca, 0x16dd5: 0xe0000ec7, 0x16dd6: 0xe0000edc, 0x16dd7: 0xe0000ed9,\n\t0x16dd8: 0xe0000ed0, 0x16dd9: 0xe0000ecd, 0x16dda: 0xe0000f1f, 0x16ddb: 0xe0000f1c,\n\t0x16ddc: 0xe0000f2d, 0x16ddd: 0xe0000f2a, 0x16dde: 0x002fe883, 0x16ddf: 0x402fe820,\n\t0x16de0: 0xe0000f33, 0x16de1: 0xe0000f30, 0x16de2: 0x00302e83, 0x16de3: 0x40302e20,\n\t0x16de4: 0xe0000f8a, 0x16de5: 0xe0000f87, 0x16de6: 0x00303688, 0x16de7: 0x40303620,\n\t0x16de8: 0xe000102b, 0x16de9: 0xe0001028, 0x16dea: 0xe000103f, 0x16deb: 0xe000103c,\n\t0x16dec: 0xe0000fe7, 0x16ded: 0xe0000fe4, 0x16dee: 0xe0000ff9, 0x16def: 0xe0000ff6,\n\t0x16df0: 0xe0001025, 0x16df1: 0xe0001022, 0x16df2: 0xe0001039, 0x16df3: 0xe0001036,\n\t0x16df4: 0xe00010d8, 0x16df5: 0xe00010d5, 0x16df6: 0xe000110e, 0x16df7: 0xe000110b,\n\t0x16df8: 0xe0001117, 0x16df9: 0xe000113b, 0x16dfa: 0xe0001138, 0x16dfb: 0xe000114d,\n\t0x16dfc: 0xe000114a, 0x16dfd: 0xe0001147, 0x16dfe: 0xe0001144, 0x16dff: 0xe0000f64,\n\t// Block 0x5b8, offset 0x16e00\n\t0x16e00: 0xe000098f, 0x16e01: 0xe000098c, 0x16e02: 0xe0000995, 0x16e03: 0xe0000992,\n\t0x16e04: 0xe0000b62, 0x16e05: 0xe0000b5f, 0x16e06: 0xe0000b68, 0x16e07: 0xe0000b65,\n\t0x16e08: 0xe0000c6c, 0x16e09: 0xe0000c69, 0x16e0a: 0xe0000c72, 0x16e0b: 0xe0000c6f,\n\t0x16e0c: 0xe0000e4a, 0x16e0d: 0xe0000e47, 0x16e0e: 0xe0000e50, 0x16e0f: 0xe0000e4d,\n\t0x16e10: 0xe0000ee8, 0x16e11: 0xe0000ee5, 0x16e12: 0xe0000eee, 0x16e13: 0xe0000eeb,\n\t0x16e14: 0xe0001053, 0x16e15: 0xe0001050, 0x16e16: 0xe0001059, 0x16e17: 0xe0001056,\n\t0x16e18: 0x002fe883, 0x16e19: 0x402fe820, 0x16e1a: 0x00302e83, 0x16e1b: 0x40302e20,\n\t0x16e1c: 0x00312288, 0x16e1d: 0x40312220, 0x16e1e: 0xe0000bf4, 0x16e1f: 0xe0000bf1,\n\t0x16e20: 0x002ebc88, 0x16e21: 0x402c8c20, 0x16e22: 0x002f2288, 0x16e23: 0x402f2220,\n\t0x16e24: 0x00314088, 0x16e25: 0x40314020, 0x16e26: 0xe000096f, 0x16e27: 0xe000096c,\n\t0x16e28: 0xe0000b32, 0x16e29: 0xe0000b2f, 0x16e2a: 0xe0000dd9, 0x16e2b: 0xe0000dd5,\n\t0x16e2c: 0xe0000dfd, 0x16e2d: 0xe0000df9, 0x16e2e: 0xe0000e04, 0x16e2f: 0xe0000e01,\n\t0x16e30: 0xe0000e0b, 0x16e31: 0xe0000e07, 0x16e32: 0xe0001129, 0x16e33: 0xe0001126,\n\t0x16e34: 0x402e5e20, 0x16e35: 0x402ed020, 0x16e36: 0x40305a20, 0x16e37: 0x402dd420,\n\t0x16e38: 0xe0000abf, 0x16e39: 0xe0000ec4, 0x16e3a: 0x002be888, 0x16e3b: 0x002c4488,\n\t0x16e3c: 0x402c4420, 0x16e3d: 0x002e3888, 0x16e3e: 0x00303e88, 0x16e3f: 0x402ffc20,\n\t// Block 0x5b9, offset 0x16e40\n\t0x16e40: 0xe00010d2, 0x16e41: 0xe00010cf, 0x16e42: 0xe00010cc, 0x16e43: 0xe00010c9,\n\t0x16e44: 0xe00010e1, 0x16e45: 0xe00010de, 0x16e46: 0xe00010e7, 0x16e47: 0xe00010e4,\n\t0x16e48: 0xe00010ed, 0x16e49: 0xe00010ea, 0x16e4a: 0xe00010fc, 0x16e4b: 0xe00010f9,\n\t0x16e4c: 0xe00010f6, 0x16e4d: 0xe00010f3, 0x16e4e: 0xe0001123, 0x16e4f: 0xe0001120,\n\t0x16e50: 0xe0001141, 0x16e51: 0xe000113e, 0x16e52: 0xe0001153, 0x16e53: 0xe0001150,\n\t0x16e54: 0xe0001159, 0x16e55: 0xe0001156, 0x16e56: 0xe0000c15, 0x16e57: 0xe0000f8d,\n\t0x16e58: 0xe00010db, 0x16e59: 0xe0001111, 0x16e5a: 0xf0000404, 0x16e5b: 0xe0000f70,\n\t0x16e5c: 0x40300420, 0x16e5d: 0x40300620, 0x16e5e: 0xe0000f7f, 0x16e5f: 0x402c9620,\n\t0x16e60: 0xe000099b, 0x16e61: 0xe0000998, 0x16e62: 0xe0000989, 0x16e63: 0xe0000986,\n\t0x16e64: 0xe0003934, 0x16e65: 0xe0003931, 0x16e66: 0xe000393a, 0x16e67: 0xe0003937,\n\t0x16e68: 0xe0003975, 0x16e69: 0xe0003972, 0x16e6a: 0xe0003960, 0x16e6b: 0xe000395d,\n\t0x16e6c: 0xe0003987, 0x16e6d: 0xe0003984, 0x16e6e: 0xe000388e, 0x16e6f: 0xe000388b,\n\t0x16e70: 0xe0003894, 0x16e71: 0xe0003891, 0x16e72: 0xe0003908, 0x16e73: 0xe0003905,\n\t0x16e74: 0xe00038d2, 0x16e75: 0xe00038cf, 0x16e76: 0xe000391a, 0x16e77: 0xe0003917,\n\t0x16e78: 0xe0000b6e, 0x16e79: 0xe0000b6b, 0x16e7a: 0xe0000b5c, 0x16e7b: 0xe0000b59,\n\t0x16e7c: 0xe0000b26, 0x16e7d: 0xe0000b23, 0x16e7e: 0xe0000afb, 0x16e7f: 0xe0000af7,\n\t// Block 0x5ba, offset 0x16e80\n\t0x16e80: 0xa0000000, 0x16e81: 0xa0000000, 0x16e82: 0xa0000000, 0x16e83: 0xa0000000,\n\t0x16e84: 0xa0000000, 0x16e85: 0xa0000000, 0x16e86: 0xa0000000, 0x16e87: 0xa0000000,\n\t0x16e88: 0xa0000000, 0x16e89: 0x40020020, 0x16e8a: 0x40020220, 0x16e8b: 0x40020420,\n\t0x16e8c: 0x40020620, 0x16e8d: 0x40020820, 0x16e8e: 0xa0000000, 0x16e8f: 0xa0000000,\n\t0x16e90: 0xa0000000, 0x16e91: 0xa0000000, 0x16e92: 0xa0000000, 0x16e93: 0xa0000000,\n\t0x16e94: 0xa0000000, 0x16e95: 0xa0000000, 0x16e96: 0xa0000000, 0x16e97: 0xa0000000,\n\t0x16e98: 0xa0000000, 0x16e99: 0xa0000000, 0x16e9a: 0xa0000000, 0x16e9b: 0xa0000000,\n\t0x16e9c: 0xa0000000, 0x16e9d: 0xa0000000, 0x16e9e: 0xa0000000, 0x16e9f: 0xa0000000,\n\t0x16ea0: 0x40021220, 0x16ea1: 0x4002ba20, 0x16ea2: 0x4003e020, 0x16ea3: 0x4004ea20,\n\t0x16ea4: 0x4027de20, 0x16ea5: 0x4004ec20, 0x16ea6: 0x4004e620, 0x16ea7: 0x4003d220,\n\t0x16ea8: 0x4003f420, 0x16ea9: 0x4003f620, 0x16eaa: 0x4004d820, 0x16eab: 0x40093820,\n\t0x16eac: 0x40024020, 0x16ead: 0x40021a20, 0x16eae: 0x4002e420, 0x16eaf: 0x4004e220,\n\t0x16eb0: 0x4029cc20, 0x16eb1: 0x4029ce20, 0x16eb2: 0x4029d020, 0x16eb3: 0x4029d220,\n\t0x16eb4: 0x4029d420, 0x16eb5: 0x4029d620, 0x16eb6: 0x4029d820, 0x16eb7: 0x4029da20,\n\t0x16eb8: 0x4029dc20, 0x16eb9: 0x4029de20, 0x16eba: 0x40026c20, 0x16ebb: 0x40026220,\n\t0x16ebc: 0x40094020, 0x16ebd: 0x40094220, 0x16ebe: 0x40094420, 0x16ebf: 0x4002c420,\n\t// Block 0x5bb, offset 0x16ec0\n\t0x16ec0: 0x4004d620, 0x16ec1: 0xcec29791, 0x16ec2: 0x002c0a88, 0x16ec3: 0xceca0991,\n\t0x16ec4: 0x002c6288, 0x16ec5: 0x002c9888, 0x16ec6: 0x002d0888, 0x16ec7: 0xced20991,\n\t0x16ec8: 0x002d6888, 0x16ec9: 0x002d9a88, 0x16eca: 0x002dcc88, 0x16ecb: 0xcb1f0991,\n\t0x16ecc: 0xc0030002, 0x16ecd: 0x002e8288, 0x16ece: 0xced797e1, 0x16ecf: 0xcee49811,\n\t0x16ed0: 0x002f2c88, 0x16ed1: 0x002f5688, 0x16ed2: 0x002f7a88, 0x16ed3: 0xcb330991,\n\t0x16ed4: 0x00302c88, 0x16ed5: 0xc3900b21, 0x16ed6: 0x0030be88, 0x16ed7: 0x0030e288,\n\t0x16ed8: 0x0030f688, 0x16ed9: 0x00310088, 0x16eda: 0xcedc0991, 0x16edb: 0x4003f820,\n\t0x16edc: 0x4004e420, 0x16edd: 0x4003fa20, 0x16ede: 0x40062420, 0x16edf: 0x40021620,\n\t0x16ee0: 0x40061e20, 0x16ee1: 0xcebc9791, 0x16ee2: 0x402c0a20, 0x16ee3: 0xcec80991,\n\t0x16ee4: 0x402c6220, 0x16ee5: 0x402c9820, 0x16ee6: 0x402d0820, 0x16ee7: 0xced00991,\n\t0x16ee8: 0x402d6820, 0x16ee9: 0x402d9a20, 0x16eea: 0x402dcc20, 0x16eeb: 0xcb1d0991,\n\t0x16eec: 0xc0000002, 0x16eed: 0x402e8220, 0x16eee: 0xced497e1, 0x16eef: 0xcede9811,\n\t0x16ef0: 0x402f2c20, 0x16ef1: 0x402f5620, 0x16ef2: 0x402f7a20, 0x16ef3: 0xcb310991,\n\t0x16ef4: 0x40302c20, 0x16ef5: 0xc38d0b21, 0x16ef6: 0x4030be20, 0x16ef7: 0x4030e220,\n\t0x16ef8: 0x4030f620, 0x16ef9: 0x40310020, 0x16efa: 0xceda0991, 0x16efb: 0x4003fc20,\n\t0x16efc: 0x40094820, 0x16efd: 0x4003fe20, 0x16efe: 0x40094c20, 0x16eff: 0xa0000000,\n\t// Block 0x5bc, offset 0x16f00\n\t0x16f00: 0xe00008f5, 0x16f01: 0x002c0883, 0x16f02: 0xe0000921, 0x16f03: 0x00320ea3,\n\t0x16f04: 0x00320e83, 0x16f05: 0x00320c83, 0x16f06: 0x00320a83, 0x16f07: 0xe0000a53,\n\t0x16f08: 0xe0000ae8, 0x16f09: 0xe0000ae2, 0x16f0a: 0xe0000af4, 0x16f0b: 0xe0000b20,\n\t0x16f0c: 0xe0000c2b, 0x16f0d: 0xe0000c25, 0x16f0e: 0xe0000c37, 0x16f0f: 0xe0000c43,\n\t0x16f10: 0x002c96a3, 0x16f11: 0x002ee0c3, 0x16f12: 0xe0000d9a, 0x16f13: 0xe0000d94,\n\t0x16f14: 0x003210e3, 0x16f15: 0x003210c3, 0x16f16: 0x00321083, 0x16f17: 0x40093e20,\n\t0x16f18: 0x00320883, 0x16f19: 0xe0000fe1, 0x16f1a: 0xe0000fdb, 0x16f1b: 0xe0000fed,\n\t0x16f1c: 0x003100a3, 0x16f1d: 0xe0001102, 0x16f1e: 0x00306aa3, 0x16f1f: 0xe0000f7b,\n\t0x16f20: 0xe00008f2, 0x16f21: 0x402c0820, 0x16f22: 0xe000091e, 0x16f23: 0x40320e21,\n\t0x16f24: 0x40320e20, 0x16f25: 0x40320c20, 0x16f26: 0x40320a20, 0x16f27: 0xe0000a4d,\n\t0x16f28: 0xe0000ae5, 0x16f29: 0xe0000adf, 0x16f2a: 0xe0000af1, 0x16f2b: 0xe0000b1d,\n\t0x16f2c: 0xe0000c28, 0x16f2d: 0xe0000c22, 0x16f2e: 0xe0000c34, 0x16f2f: 0xe0000c40,\n\t0x16f30: 0x402c9621, 0x16f31: 0x402ee022, 0x16f32: 0xe0000d97, 0x16f33: 0xe0000d91,\n\t0x16f34: 0x40321023, 0x16f35: 0x40321022, 0x16f36: 0x40321020, 0x16f37: 0x40093c20,\n\t0x16f38: 0x40320820, 0x16f39: 0xe0000fde, 0x16f3a: 0xe0000fd8, 0x16f3b: 0xe0000fea,\n\t0x16f3c: 0x40310021, 0x16f3d: 0xe00010ff, 0x16f3e: 0x40306a21, 0x16f3f: 0xe0001114,\n\t// Block 0x5bd, offset 0x16f40\n\t0x16f40: 0xe0000983, 0x16f41: 0xe0000980, 0x16f42: 0xe00008fb, 0x16f43: 0xe00008f8,\n\t0x16f44: 0xe000097d, 0x16f45: 0xe000097a, 0x16f46: 0xe0000a38, 0x16f47: 0xe0000a35,\n\t0x16f48: 0xe0000a3e, 0x16f49: 0xe0000a3b, 0x16f4a: 0xe0000a4a, 0x16f4b: 0xe0000a47,\n\t0x16f4c: 0x002c5c83, 0x16f4d: 0x402c5c20, 0x16f4e: 0xe0000a86, 0x16f4f: 0xe0000a83,\n\t0x16f50: 0x002c9683, 0x16f51: 0x402c9620, 0x16f52: 0xe0000b46, 0x16f53: 0xe0000b43,\n\t0x16f54: 0xe0000aee, 0x16f55: 0xe0000aeb, 0x16f56: 0xe0000b2c, 0x16f57: 0xe0000b29,\n\t0x16f58: 0xe0000b40, 0x16f59: 0xe0000b3d, 0x16f5a: 0xe0000b1a, 0x16f5b: 0xe0000b17,\n\t0x16f5c: 0xe0000bb8, 0x16f5d: 0xe0000bb5, 0x16f5e: 0xe0000bb2, 0x16f5f: 0xe0000baf,\n\t0x16f60: 0xe0000bc4, 0x16f61: 0xe0000bc1, 0x16f62: 0xe0000bca, 0x16f63: 0xe0000bc7,\n\t0x16f64: 0xe0000bee, 0x16f65: 0xe0000beb, 0x16f66: 0xe0000c1b, 0x16f67: 0xe0000c18,\n\t0x16f68: 0xe0000c51, 0x16f69: 0xe0000c4e, 0x16f6a: 0xe0000c60, 0x16f6b: 0xe0000c5d,\n\t0x16f6c: 0xe0000c31, 0x16f6d: 0xe0000c2e, 0x16f6e: 0xe0000c5a, 0x16f6f: 0xe0000c57,\n\t0x16f70: 0xe0000c54, 0x16f71: 0x402da220, 0x16f72: 0xf0000a0a, 0x16f73: 0xf0000404,\n\t0x16f74: 0xe0000c8a, 0x16f75: 0xe0000c87, 0x16f76: 0xe0000c9f, 0x16f77: 0xe0000c9c,\n\t0x16f78: 0x402f7220, 0x16f79: 0xe0000ccc, 0x16f7a: 0xe0000cc9, 0x16f7b: 0xe0000cd8,\n\t0x16f7c: 0xe0000cd5, 0x16f7d: 0xe0000cd2, 0x16f7e: 0xe0000ccf, 0x16f7f: 0xe0000d04,\n\t// Block 0x5be, offset 0x16f80\n\t0x16f80: 0xe0000cfe, 0x16f81: 0xe0000cf8, 0x16f82: 0xe0000cf5, 0x16f83: 0x002ee0a3,\n\t0x16f84: 0x402ee021, 0x16f85: 0xe0000d6f, 0x16f86: 0xe0000d6c, 0x16f87: 0xe0000d5d,\n\t0x16f88: 0xe0000d5a, 0x16f89: 0xf0000404, 0x16f8a: 0x002ee083, 0x16f8b: 0x402ee020,\n\t0x16f8c: 0xe0000e2e, 0x16f8d: 0xe0000e2b, 0x16f8e: 0xe0000da0, 0x16f8f: 0xe0000d9d,\n\t0x16f90: 0x003210a3, 0x16f91: 0x40321021, 0x16f92: 0x003208a3, 0x16f93: 0x40320821,\n\t0x16f94: 0xe0000eca, 0x16f95: 0xe0000ec7, 0x16f96: 0xe0000edc, 0x16f97: 0xe0000ed9,\n\t0x16f98: 0xe0000ed0, 0x16f99: 0xe0000ecd, 0x16f9a: 0xe0000f1f, 0x16f9b: 0xe0000f1c,\n\t0x16f9c: 0xe0000f2d, 0x16f9d: 0xe0000f2a, 0x16f9e: 0xe0000f47, 0x16f9f: 0xe0000f44,\n\t0x16fa0: 0x00302a83, 0x16fa1: 0x40302a20, 0x16fa2: 0xe0000f99, 0x16fa3: 0xe0000f96,\n\t0x16fa4: 0xe0000f8a, 0x16fa5: 0xe0000f87, 0x16fa6: 0x00306a83, 0x16fa7: 0x40306a20,\n\t0x16fa8: 0xe000102b, 0x16fa9: 0xe0001028, 0x16faa: 0xe000103f, 0x16fab: 0xe000103c,\n\t0x16fac: 0xe0000fe7, 0x16fad: 0xe0000fe4, 0x16fae: 0xe0000ff9, 0x16faf: 0xe0000ff6,\n\t0x16fb0: 0x003100c3, 0x16fb1: 0x40310022, 0x16fb2: 0xe0001039, 0x16fb3: 0xe0001036,\n\t0x16fb4: 0xe00010d8, 0x16fb5: 0xe00010d5, 0x16fb6: 0xe000110e, 0x16fb7: 0xe000110b,\n\t0x16fb8: 0xe0001117, 0x16fb9: 0xe000113b, 0x16fba: 0xe0001138, 0x16fbb: 0xe000114d,\n\t0x16fbc: 0xe000114a, 0x16fbd: 0x00320683, 0x16fbe: 0x40320620, 0x16fbf: 0xe0000f64,\n\t// Block 0x5bf, offset 0x16fc0\n\t0x16fc0: 0x402c1a20, 0x16fc1: 0x002c2a88, 0x16fc2: 0x002c3288, 0x16fc3: 0x402c3220,\n\t0x16fc4: 0x0031c488, 0x16fc5: 0x4031c420, 0x16fc6: 0x002efa88, 0x16fc7: 0x002c4e88,\n\t0x16fc8: 0x402c4e20, 0x16fc9: 0x002c7288, 0x16fca: 0x002c7a88, 0x16fcb: 0x002c8488,\n\t0x16fcc: 0x402c8420, 0x16fcd: 0xe000115c, 0x16fce: 0x002cae88, 0x16fcf: 0x002cb888,\n\t0x16fd0: 0x002cc288, 0x16fd1: 0x002d1688, 0x16fd2: 0x402d1620, 0x16fd3: 0x002d4488,\n\t0x16fd4: 0x002d5888, 0x16fd5: 0x402d7820, 0x16fd6: 0x002dc288, 0x16fd7: 0x002db688,\n\t0x16fd8: 0x002e0a88, 0x16fd9: 0x402e0a20, 0x16fda: 0x402e3820, 0x16fdb: 0x402e7220,\n\t0x16fdc: 0x0030a088, 0x16fdd: 0x002eb488, 0x16fde: 0x402ebc20, 0x16fdf: 0x002f1088,\n\t0x16fe0: 0xe0000e56, 0x16fe1: 0xe0000e53, 0x16fe2: 0x002d6088, 0x16fe3: 0x402d6020,\n\t0x16fe4: 0x002f3e88, 0x16fe5: 0x402f3e20, 0x16fe6: 0x002f8288, 0x16fe7: 0x0031b488,\n\t0x16fe8: 0x4031b420, 0x16fe9: 0x00300888, 0x16fea: 0x40301220, 0x16feb: 0x40304220,\n\t0x16fec: 0x00304a88, 0x16fed: 0x40304a20, 0x16fee: 0x00305288, 0x16fef: 0xe000105f,\n\t0x16ff0: 0xe000105c, 0x16ff1: 0x0030b488, 0x16ff2: 0x0030cc88, 0x16ff3: 0x00311888,\n\t0x16ff4: 0x40311820, 0x16ff5: 0x00313488, 0x16ff6: 0x40313420, 0x16ff7: 0xcece0991,\n\t0x16ff8: 0x00316e88, 0x16ff9: 0x40316e20, 0x16ffa: 0x40317820, 0x16ffb: 0x4031a620,\n\t0x16ffc: 0x0031bc88, 0x16ffd: 0x4031bc20, 0x16ffe: 0xe0000fc9, 0x16fff: 0x40319420,\n\t// Block 0x5c0, offset 0x17000\n\t0x17000: 0x40321220, 0x17001: 0x40321a20, 0x17002: 0x40322220, 0x17003: 0x40322a20,\n\t0x17004: 0xe0000ad5, 0x17005: 0xe0000ad1, 0x17006: 0xe0000acd, 0x17007: 0xf0000a0a,\n\t0x17008: 0xf000040a, 0x17009: 0xf0000404, 0x1700a: 0xf0000a0a, 0x1700b: 0xf000040a,\n\t0x1700c: 0xf0000404, 0x1700d: 0xe0000947, 0x1700e: 0xe0000944, 0x1700f: 0xe0000c3d,\n\t0x17010: 0xe0000c3a, 0x17011: 0xe0000dcc, 0x17012: 0xe0000dc9, 0x17013: 0xe0000ff3,\n\t0x17014: 0xe0000ff0, 0x17015: 0xe000298b, 0x17016: 0xe0002988, 0x17017: 0xe0002979,\n\t0x17018: 0xe0002976, 0x17019: 0xe0002985, 0x1701a: 0xe0002982, 0x1701b: 0xe000297f,\n\t0x1701c: 0xe000297c, 0x1701d: 0x402cae20, 0x1701e: 0xe00037e8, 0x1701f: 0xe00037e5,\n\t0x17020: 0xe000299d, 0x17021: 0xe000299a, 0x17022: 0xe000ad9e, 0x17023: 0xe000ad9b,\n\t0x17024: 0x002d6683, 0x17025: 0x402d6620, 0x17026: 0x002d6483, 0x17027: 0x402d6420,\n\t0x17028: 0x002e2083, 0x17029: 0x402e2020, 0x1702a: 0x00321103, 0x1702b: 0x40321024,\n\t0x1702c: 0xe000ade0, 0x1702d: 0xe000addd, 0x1702e: 0x002c6083, 0x1702f: 0x402c6020,\n\t0x17030: 0xe0000c8d, 0x17031: 0xf0000a0a, 0x17032: 0xf000040a, 0x17033: 0xf0000404,\n\t0x17034: 0xe0000bac, 0x17035: 0xe0000ba9, 0x17036: 0x002d7888, 0x17037: 0x00319488,\n\t0x17038: 0xe0000d57, 0x17039: 0xe0000d54, 0x1703a: 0xe0002991, 0x1703b: 0xe000298e,\n\t0x1703c: 0xe000ad98, 0x1703d: 0xe000ad95, 0x1703e: 0xe000ad92, 0x1703f: 0xe000ad8f,\n\t// Block 0x5c1, offset 0x17040\n\t0x17040: 0xe000098f, 0x17041: 0xe000098c, 0x17042: 0xe0000995, 0x17043: 0xe0000992,\n\t0x17044: 0xe0000b62, 0x17045: 0xe0000b5f, 0x17046: 0xe0000b68, 0x17047: 0xe0000b65,\n\t0x17048: 0xe0000c6c, 0x17049: 0xe0000c69, 0x1704a: 0xe0000c72, 0x1704b: 0xe0000c6f,\n\t0x1704c: 0xe0000e4a, 0x1704d: 0xe0000e47, 0x1704e: 0xe0000e50, 0x1704f: 0xe0000e4d,\n\t0x17050: 0xe0000ee8, 0x17051: 0xe0000ee5, 0x17052: 0xe0000eee, 0x17053: 0xe0000eeb,\n\t0x17054: 0xe0001053, 0x17055: 0xe0001050, 0x17056: 0xe0001059, 0x17057: 0xe0001056,\n\t0x17058: 0xe0000f61, 0x17059: 0xe0000f5e, 0x1705a: 0xe0000fa5, 0x1705b: 0xe0000fa2,\n\t0x1705c: 0x00312288, 0x1705d: 0x40312220, 0x1705e: 0xe0000bf4, 0x1705f: 0xe0000bf1,\n\t0x17060: 0x002ebc88, 0x17061: 0x402c8c20, 0x17062: 0x002f2288, 0x17063: 0x402f2220,\n\t0x17064: 0x00314088, 0x17065: 0x40314020, 0x17066: 0x00320ca3, 0x17067: 0x40320c21,\n\t0x17068: 0xe0000b32, 0x17069: 0xe0000b2f, 0x1706a: 0xe00037fa, 0x1706b: 0xe00037f7,\n\t0x1706c: 0xe000adbc, 0x1706d: 0xe000adb9, 0x1706e: 0xe0000e04, 0x1706f: 0xe0000e01,\n\t0x17070: 0xe0000e0b, 0x17071: 0xe0000e07, 0x17072: 0xe0001129, 0x17073: 0xe0001126,\n\t0x17074: 0x402e5e20, 0x17075: 0x402ed020, 0x17076: 0x40305a20, 0x17077: 0x402dd420,\n\t0x17078: 0xe0000abf, 0x17079: 0xe0000ec4, 0x1707a: 0x002be888, 0x1707b: 0x002c4488,\n\t0x1707c: 0x402c4420, 0x1707d: 0x002e3888, 0x1707e: 0x00303e88, 0x1707f: 0x402ffc20,\n\t// Block 0x5c2, offset 0x17080\n\t0x17080: 0x402f8220, 0x17081: 0x402fd820, 0x17082: 0x402ff420, 0x17083: 0x40300820,\n\t0x17084: 0x402df620, 0x17085: 0x40301a20, 0x17086: 0x40302420, 0x17087: 0x40306420,\n\t0x17088: 0x40305220, 0x17089: 0x40307c20, 0x1708a: 0x4030b420, 0x1708b: 0x4030cc20,\n\t0x1708c: 0x4030da20, 0x1708d: 0x4030ee20, 0x1708e: 0x402e7a20, 0x1708f: 0x40310820,\n\t0x17090: 0x40314820, 0x17091: 0x40315020, 0x17092: 0xcecc0991, 0x17093: 0x40318020,\n\t0x17094: 0x4031cc20, 0x17095: 0x4031e820, 0x17096: 0x40320a20, 0x17097: 0x40323220,\n\t0x17098: 0x40323a20, 0x17099: 0x402c1220, 0x1709a: 0x402cf820, 0x1709b: 0x402d4c20,\n\t0x1709c: 0x402d7020, 0x1709d: 0x402de620, 0x1709e: 0x402e1a20, 0x1709f: 0x402e2a20,\n\t0x170a0: 0x402f6220, 0x170a1: 0x4031fa20, 0x170a2: 0x40320220, 0x170a3: 0xe0000aca,\n\t0x170a4: 0xe0000adc, 0x170a5: 0xe0000ad9, 0x170a6: 0xe0000fcc, 0x170a7: 0xe0000fcf,\n\t0x170a8: 0xe0000fba, 0x170a9: 0xe0000ba1, 0x170aa: 0xe0000d11, 0x170ab: 0xe0000d18,\n\t0x170ac: 0x40324220, 0x170ad: 0x40324a20, 0x170ae: 0x40309020, 0x170af: 0x40309820,\n\t0x170b0: 0x002d6894, 0x170b1: 0x002d8094, 0x170b2: 0x002dcc94, 0x170b3: 0x002f7a94,\n\t0x170b4: 0x002f9894, 0x170b5: 0x002fac94, 0x170b6: 0x002fd894, 0x170b7: 0x0030e294,\n\t0x170b8: 0x00310094, 0x170b9: 0x40064020, 0x170ba: 0x40064420, 0x170bb: 0x402d9620,\n\t0x170bc: 0x4031de20, 0x170bd: 0x402d9820, 0x170be: 0x4031e220, 0x170bf: 0x4031f020,\n\t// Block 0x5c3, offset 0x170c0\n\t0x170c0: 0xe0000d24, 0x170c1: 0xe0000d21, 0x170c2: 0xe0000d2a, 0x170c3: 0xe0000d27,\n\t0x170c4: 0xe0000d69, 0x170c5: 0xe0000d66, 0x170c6: 0xe0000d7b, 0x170c7: 0xe0000d78,\n\t0x170c8: 0xe0000d87, 0x170c9: 0xe0000d84, 0x170ca: 0xe0000d81, 0x170cb: 0xe0000d7e,\n\t0x170cc: 0xe000adb0, 0x170cd: 0xe000adad, 0x170ce: 0xe000adb6, 0x170cf: 0xe000adb3,\n\t0x170d0: 0xe0000e3d, 0x170d1: 0xe0000e39, 0x170d2: 0xe0000e35, 0x170d3: 0xe0000e31,\n\t0x170d4: 0xe0000ea7, 0x170d5: 0xe0000ea4, 0x170d6: 0xe0000ead, 0x170d7: 0xe0000eaa,\n\t0x170d8: 0xe0000ed6, 0x170d9: 0xe0000ed3, 0x170da: 0xe0000ef4, 0x170db: 0xe0000ef1,\n\t0x170dc: 0xe0000efb, 0x170dd: 0xe0000ef7, 0x170de: 0xe0000f02, 0x170df: 0xe0000eff,\n\t0x170e0: 0xe0000f41, 0x170e1: 0xe0000f3e, 0x170e2: 0xe0000f53, 0x170e3: 0xe0000f50,\n\t0x170e4: 0xe0000f26, 0x170e5: 0xe0000f22, 0x170e6: 0xe000a9d9, 0x170e7: 0xe000a9d6,\n\t0x170e8: 0xe0000f5a, 0x170e9: 0xe0000f56, 0x170ea: 0xe0000f93, 0x170eb: 0xe0000f90,\n\t0x170ec: 0xe0000f9f, 0x170ed: 0xe0000f9c, 0x170ee: 0xe0000fb1, 0x170ef: 0xe0000fae,\n\t0x170f0: 0xe0000fab, 0x170f1: 0xe0000fa8, 0x170f2: 0xe0001093, 0x170f3: 0xe0001090,\n\t0x170f4: 0xe000109f, 0x170f5: 0xe000109c, 0x170f6: 0xe0001099, 0x170f7: 0xe0001096,\n\t0x170f8: 0xe0001032, 0x170f9: 0xe000102e, 0x170fa: 0xe000298b, 0x170fb: 0xe0002988,\n\t0x170fc: 0xe00010a9, 0x170fd: 0xe00010a6, 0x170fe: 0xe00010af, 0x170ff: 0xe00010ac,\n\t// Block 0x5c4, offset 0x17100\n\t0x17100: 0xe00010d2, 0x17101: 0xe00010cf, 0x17102: 0xe00010cc, 0x17103: 0xe00010c9,\n\t0x17104: 0xe00010e1, 0x17105: 0xe00010de, 0x17106: 0xe00010e7, 0x17107: 0xe00010e4,\n\t0x17108: 0xe00010ed, 0x17109: 0xe00010ea, 0x1710a: 0xe00010fc, 0x1710b: 0xe00010f9,\n\t0x1710c: 0xe00010f6, 0x1710d: 0xe00010f3, 0x1710e: 0xe0001123, 0x1710f: 0xe0001120,\n\t0x17110: 0xe0001141, 0x17111: 0xe000113e, 0x17112: 0xe0001153, 0x17113: 0xe0001150,\n\t0x17114: 0xe0001159, 0x17115: 0xe0001156, 0x17116: 0xe0000c15, 0x17117: 0xe0000f8d,\n\t0x17118: 0xe00010db, 0x17119: 0xe0001111, 0x1711a: 0xf0000404, 0x1711b: 0xe0000f70,\n\t0x1711c: 0x40300420, 0x1711d: 0x40300620, 0x1711e: 0xe0000f7f, 0x1711f: 0x402c9620,\n\t0x17120: 0xe000099b, 0x17121: 0xe0000998, 0x17122: 0xe0000989, 0x17123: 0xe0000986,\n\t0x17124: 0xe0003cae, 0x17125: 0xe0003cab, 0x17126: 0xe0000930, 0x17127: 0xe000092c,\n\t0x17128: 0xe0000940, 0x17129: 0xe000093c, 0x1712a: 0xe000adaa, 0x1712b: 0xe000ada7,\n\t0x1712c: 0xe00009aa, 0x1712d: 0xe00009a6, 0x1712e: 0xe0003ca8, 0x1712f: 0xe0003ca5,\n\t0x17130: 0xe000090a, 0x17131: 0xe0000906, 0x17132: 0xe000091a, 0x17133: 0xe0000916,\n\t0x17134: 0xe000ada4, 0x17135: 0xe000ada1, 0x17136: 0xe00009a2, 0x17137: 0xe000099e,\n\t0x17138: 0xe0000b6e, 0x17139: 0xe0000b6b, 0x1713a: 0xe0000b5c, 0x1713b: 0xe0000b59,\n\t0x1713c: 0xe0000b26, 0x1713d: 0xe0000b23, 0x1713e: 0xe0000afb, 0x1713f: 0xe0000af7,\n\t// Block 0x5c5, offset 0x17140\n\t0x17140: 0xe0000b03, 0x17141: 0xe0000aff, 0x17142: 0xe0000b13, 0x17143: 0xe0000b0f,\n\t0x17144: 0xe0000b0b, 0x17145: 0xe0000b07, 0x17146: 0xe0000b75, 0x17147: 0xe0000b71,\n\t0x17148: 0xe0000c66, 0x17149: 0xe0000c63, 0x1714a: 0xe0000c78, 0x1714b: 0xe0000c75,\n\t0x1714c: 0xe0000e84, 0x1714d: 0xe0000e81, 0x1714e: 0xe0000e44, 0x1714f: 0xe0000e41,\n\t0x17150: 0xe000380c, 0x17151: 0xe0003809, 0x17152: 0xe000adc8, 0x17153: 0xe000adc5,\n\t0x17154: 0xe000add4, 0x17155: 0xe000add1, 0x17156: 0xe000adce, 0x17157: 0xe000adcb,\n\t0x17158: 0xe000adda, 0x17159: 0xe000add7, 0x1715a: 0xe0000e5d, 0x1715b: 0xe0000e59,\n\t0x1715c: 0xe0000e65, 0x1715d: 0xe0000e61, 0x1715e: 0xe0000e75, 0x1715f: 0xe0000e71,\n\t0x17160: 0xe000adc2, 0x17161: 0xe000adbf, 0x17162: 0xe0000e7d, 0x17163: 0xe0000e79,\n\t0x17164: 0xe000108d, 0x17165: 0xe000108a, 0x17166: 0xe000104d, 0x17167: 0xe000104a,\n\t0x17168: 0xe0001066, 0x17169: 0xe0001062, 0x1716a: 0xe000106e, 0x1716b: 0xe000106a,\n\t0x1716c: 0xe000107e, 0x1716d: 0xe000107a, 0x1716e: 0xe0001076, 0x1716f: 0xe0001072,\n\t0x17170: 0xe0001086, 0x17171: 0xe0001082, 0x17172: 0xe0001108, 0x17173: 0xe0001105,\n\t0x17174: 0xe0001135, 0x17175: 0xe0001132, 0x17176: 0xe000112f, 0x17177: 0xe000112c,\n\t0x17178: 0xe000111d, 0x17179: 0xe000111a, 0x1717a: 0xe0000d0a, 0x1717b: 0xe0000d07,\n\t0x1717c: 0x0030d888, 0x1717d: 0x4030d820, 0x1717e: 0x00312088, 0x1717f: 0x40312020,\n\t// Block 0x5c6, offset 0x17180\n\t0x17182: 0x4044b620, 0x17183: 0x4044b820,\n\t0x17185: 0x40449220, 0x17186: 0x40449420, 0x17187: 0x40449620,\n\t0x17188: 0x40449820, 0x17189: 0x40449a20, 0x1718a: 0x40449c20, 0x1718b: 0x40449e20,\n\t0x1718c: 0x4044a020, 0x1718d: 0x4044a220, 0x1718e: 0x4044a420, 0x1718f: 0x4044a620,\n\t0x17190: 0x4044a820, 0x17191: 0x4044aa20, 0x17192: 0x4044ac20, 0x17193: 0x4044ae20,\n\t0x17194: 0x4044b020, 0x17195: 0x4044b220, 0x17196: 0x4044b420,\n\t0x1719a: 0x4044b620, 0x1719b: 0x4044b820,\n\t0x1719c: 0x4044ba20, 0x1719d: 0x4044bc20, 0x1719e: 0x4044be20, 0x1719f: 0x4044c020,\n\t0x171a0: 0x4044c220, 0x171a1: 0x4044c420, 0x171a2: 0x4044c620, 0x171a3: 0x4044c820,\n\t0x171a4: 0x4044ce20, 0x171a5: 0x4044cc20, 0x171a6: 0x4044ce20, 0x171a7: 0x4044d020,\n\t0x171a8: 0x4044d220, 0x171a9: 0x4044d420, 0x171aa: 0x4044d620, 0x171ab: 0x4044d820,\n\t0x171ac: 0x4044da20, 0x171ad: 0x4044dc20, 0x171ae: 0x4044de20, 0x171af: 0x4044e020,\n\t0x171b0: 0x4044e220, 0x171b1: 0x4044e420, 0x171b3: 0x4044e620,\n\t0x171b4: 0x4044e820, 0x171b5: 0x4044ea20, 0x171b6: 0x4044ec20, 0x171b7: 0x4044ee20,\n\t0x171b8: 0x4044f020, 0x171b9: 0x4044f220, 0x171ba: 0x4044f420, 0x171bb: 0x4044f620,\n\t0x171bd: 0x4044f820,\n\t// Block 0x5c7, offset 0x171c0\n\t0x171c0: 0xa0000000, 0x171c1: 0xa0000000, 0x171c2: 0xa0000000, 0x171c3: 0xa0000000,\n\t0x171c4: 0xa0000000, 0x171c5: 0xa0000000, 0x171c6: 0xa0000000, 0x171c7: 0xa0000000,\n\t0x171c8: 0xa0000000, 0x171c9: 0x40020020, 0x171ca: 0x40020220, 0x171cb: 0x40020420,\n\t0x171cc: 0x40020620, 0x171cd: 0x40020820, 0x171ce: 0xa0000000, 0x171cf: 0xa0000000,\n\t0x171d0: 0xa0000000, 0x171d1: 0xa0000000, 0x171d2: 0xa0000000, 0x171d3: 0xa0000000,\n\t0x171d4: 0xa0000000, 0x171d5: 0xa0000000, 0x171d6: 0xa0000000, 0x171d7: 0xa0000000,\n\t0x171d8: 0xa0000000, 0x171d9: 0xa0000000, 0x171da: 0xa0000000, 0x171db: 0xa0000000,\n\t0x171dc: 0xa0000000, 0x171dd: 0xa0000000, 0x171de: 0xa0000000, 0x171df: 0xa0000000,\n\t0x171e0: 0x40021220, 0x171e1: 0x4002ba20, 0x171e2: 0x4003e020, 0x171e3: 0x4004ea20,\n\t0x171e4: 0x4027de20, 0x171e5: 0x4004ec20, 0x171e6: 0x4004e620, 0x171e7: 0x4003d220,\n\t0x171e8: 0x4003f420, 0x171e9: 0x4003f620, 0x171ea: 0x4004d820, 0x171eb: 0x40093820,\n\t0x171ec: 0x40024020, 0x171ed: 0x40021a20, 0x171ee: 0x4002e420, 0x171ef: 0x4004e220,\n\t0x171f0: 0x4029cc20, 0x171f1: 0x4029ce20, 0x171f2: 0x4029d020, 0x171f3: 0x4029d220,\n\t0x171f4: 0x4029d420, 0x171f5: 0x4029d620, 0x171f6: 0x4029d820, 0x171f7: 0x4029da20,\n\t0x171f8: 0x4029dc20, 0x171f9: 0x4029de20, 0x171fa: 0x40026c20, 0x171fb: 0x40026220,\n\t0x171fc: 0x40094020, 0x171fd: 0x40094220, 0x171fe: 0x40094420, 0x171ff: 0x4002c420,\n\t// Block 0x5c8, offset 0x17200\n\t0x17200: 0x4004d620, 0x17201: 0xce900071, 0x17202: 0x002c0a88, 0x17203: 0xc3590953,\n\t0x17204: 0x002c6288, 0x17205: 0x002c9888, 0x17206: 0x002d0888, 0x17207: 0x002d2288,\n\t0x17208: 0x002d6888, 0x17209: 0x002d9a88, 0x1720a: 0x002dcc88, 0x1720b: 0x002dfe88,\n\t0x1720c: 0xc0030002, 0x1720d: 0x002e8288, 0x1720e: 0x002e9e88, 0x1720f: 0xc33f2741,\n\t0x17210: 0x002f2c88, 0x17211: 0x002f5688, 0x17212: 0xc35f0991, 0x17213: 0xc3430991,\n\t0x17214: 0x00302c88, 0x17215: 0x00306c88, 0x17216: 0x0030be88, 0x17217: 0x0030e288,\n\t0x17218: 0x0030f688, 0x17219: 0x00310088, 0x1721a: 0xc3630991, 0x1721b: 0x4003f820,\n\t0x1721c: 0x4004e420, 0x1721d: 0x4003fa20, 0x1721e: 0x40062420, 0x1721f: 0x40021620,\n\t0x17220: 0x40061e20, 0x17221: 0xce8e0071, 0x17222: 0x402c0a20, 0x17223: 0xc3550953,\n\t0x17224: 0x402c6220, 0x17225: 0x402c9820, 0x17226: 0x402d0820, 0x17227: 0x402d2220,\n\t0x17228: 0x402d6820, 0x17229: 0x402d9a20, 0x1722a: 0x402dcc20, 0x1722b: 0x402dfe20,\n\t0x1722c: 0xc0000002, 0x1722d: 0x402e8220, 0x1722e: 0x402e9e20, 0x1722f: 0xc33d2741,\n\t0x17230: 0x402f2c20, 0x17231: 0x402f5620, 0x17232: 0xc35d0991, 0x17233: 0xc3410991,\n\t0x17234: 0x40302c20, 0x17235: 0x40306c20, 0x17236: 0x4030be20, 0x17237: 0x4030e220,\n\t0x17238: 0x4030f620, 0x17239: 0x40310020, 0x1723a: 0xc3610991, 0x1723b: 0x4003fc20,\n\t0x1723c: 0x40094820, 0x1723d: 0x4003fe20, 0x1723e: 0x40094c20, 0x1723f: 0xa0000000,\n\t// Block 0x5c9, offset 0x17240\n\t0x17240: 0xe00008f5, 0x17241: 0xe00008ef, 0x17242: 0xe0000921, 0x17243: 0xe0000969,\n\t0x17244: 0x002be083, 0x17245: 0xe000094d, 0x17246: 0xe00009dd, 0x17247: 0xe0000a53,\n\t0x17248: 0xe0000ae8, 0x17249: 0xe0000ae2, 0x1724a: 0xe0000af4, 0x1724b: 0xe0000b20,\n\t0x1724c: 0xe0000c2b, 0x1724d: 0xe0000c25, 0x1724e: 0xe0000c37, 0x1724f: 0xe0000c43,\n\t0x17250: 0xe0000ab3, 0x17251: 0xe0000d63, 0x17252: 0xe0000d9a, 0x17253: 0xe0000d94,\n\t0x17254: 0x002ee483, 0x17255: 0xe0000de6, 0x17256: 0xe0000dd2, 0x17257: 0x40093e20,\n\t0x17258: 0xe0000e12, 0x17259: 0xe0000fe1, 0x1725a: 0xe0000fdb, 0x1725b: 0xe0000fed,\n\t0x1725c: 0xe0000fff, 0x1725d: 0xe0001102, 0x1725e: 0x00318888, 0x1725f: 0xe0000f7b,\n\t0x17260: 0xe00008f2, 0x17261: 0xe00008ec, 0x17262: 0xe000091e, 0x17263: 0xe0000966,\n\t0x17264: 0x402be020, 0x17265: 0xe000094a, 0x17266: 0xe00009d5, 0x17267: 0xe0000a4d,\n\t0x17268: 0xe0000ae5, 0x17269: 0xe0000adf, 0x1726a: 0xe0000af1, 0x1726b: 0xe0000b1d,\n\t0x1726c: 0xe0000c28, 0x1726d: 0xe0000c22, 0x1726e: 0xe0000c34, 0x1726f: 0xe0000c40,\n\t0x17270: 0xe0000aad, 0x17271: 0xe0000d60, 0x17272: 0xe0000d97, 0x17273: 0xe0000d91,\n\t0x17274: 0x402ee420, 0x17275: 0xe0000de3, 0x17276: 0xe0000dcf, 0x17277: 0x40093c20,\n\t0x17278: 0xe0000e0f, 0x17279: 0xe0000fde, 0x1727a: 0xe0000fd8, 0x1727b: 0xe0000fea,\n\t0x1727c: 0xe0000ffc, 0x1727d: 0xe00010ff, 0x1727e: 0x40318820, 0x1727f: 0xe0001114,\n\t// Block 0x5ca, offset 0x17280\n\t0x17280: 0x40321220, 0x17281: 0x40321a20, 0x17282: 0x40322220, 0x17283: 0x40322a20,\n\t0x17284: 0xe0000ad5, 0x17285: 0xe0000ad1, 0x17286: 0xe0000acd, 0x17287: 0xf0000a0a,\n\t0x17288: 0xf000040a, 0x17289: 0xf0000404, 0x1728a: 0xf0000a0a, 0x1728b: 0xf000040a,\n\t0x1728c: 0xf0000404, 0x1728d: 0xe0000947, 0x1728e: 0xe0000944, 0x1728f: 0xe0000c3d,\n\t0x17290: 0xe0000c3a, 0x17291: 0xe0000dcc, 0x17292: 0xe0000dc9, 0x17293: 0xe0000ff3,\n\t0x17294: 0xe0000ff0, 0x17295: 0xe000101e, 0x17296: 0xe000101a, 0x17297: 0xe0001006,\n\t0x17298: 0xe0001002, 0x17299: 0xe0001016, 0x1729a: 0xe0001012, 0x1729b: 0xe000100e,\n\t0x1729c: 0xe000100a, 0x1729d: 0x402cae20, 0x1729e: 0xe00038f2, 0x1729f: 0xe00038ef,\n\t0x172a0: 0xe0000976, 0x172a1: 0xe0000972, 0x172a2: 0xe00009f4, 0x172a3: 0xe00009ef,\n\t0x172a4: 0x002d3a88, 0x172a5: 0x402d3a20, 0x172a6: 0xe0000bbe, 0x172a7: 0xe0000bbb,\n\t0x172a8: 0xe0000c99, 0x172a9: 0xe0000c96, 0x172aa: 0xe0000e20, 0x172ab: 0xe0000e1d,\n\t0x172ac: 0xe0000e27, 0x172ad: 0xe0000e23, 0x172ae: 0xe0001162, 0x172af: 0xe000115f,\n\t0x172b0: 0xe0000c8d, 0x172b1: 0xf0000a0a, 0x172b2: 0xf000040a, 0x172b3: 0xf0000404,\n\t0x172b4: 0xe0000bac, 0x172b5: 0xe0000ba9, 0x172b6: 0x002d7888, 0x172b7: 0x00319488,\n\t0x172b8: 0xe0000d57, 0x172b9: 0xe0000d54, 0x172ba: 0xe0000954, 0x172bb: 0xe0000950,\n\t0x172bc: 0xe00009ea, 0x172bd: 0xe00009e5, 0x172be: 0xe0000e19, 0x172bf: 0xe0000e15,\n\t// Block 0x5cb, offset 0x172c0\n\t0x172c0: 0xe0000b03, 0x172c1: 0xe0000aff, 0x172c2: 0xe0000b13, 0x172c3: 0xe0000b0f,\n\t0x172c4: 0xe0000b0b, 0x172c5: 0xe0000b07, 0x172c6: 0xe0000b75, 0x172c7: 0xe0000b71,\n\t0x172c8: 0xe0000c66, 0x172c9: 0xe0000c63, 0x172ca: 0xe0000c78, 0x172cb: 0xe0000c75,\n\t0x172cc: 0xe0000e84, 0x172cd: 0xe0000e81, 0x172ce: 0xe0000e44, 0x172cf: 0xe0000e41,\n\t0x172d0: 0xe000ad5f, 0x172d1: 0xe000ad5c, 0x172d2: 0xe000ad65, 0x172d3: 0xe000ad62,\n\t0x172d4: 0xe000ad6b, 0x172d5: 0xe000ad68, 0x172d6: 0xe0002946, 0x172d7: 0xe0002943,\n\t0x172d8: 0xe000ad71, 0x172d9: 0xe000ad6e, 0x172da: 0xe0000e5d, 0x172db: 0xe0000e59,\n\t0x172dc: 0xe0000e65, 0x172dd: 0xe0000e61, 0x172de: 0xe0000e75, 0x172df: 0xe0000e71,\n\t0x172e0: 0xe0000e6d, 0x172e1: 0xe0000e69, 0x172e2: 0xe0000e7d, 0x172e3: 0xe0000e79,\n\t0x172e4: 0xe000108d, 0x172e5: 0xe000108a, 0x172e6: 0xe000104d, 0x172e7: 0xe000104a,\n\t0x172e8: 0xe0001066, 0x172e9: 0xe0001062, 0x172ea: 0xe000106e, 0x172eb: 0xe000106a,\n\t0x172ec: 0xe000107e, 0x172ed: 0xe000107a, 0x172ee: 0xe0001076, 0x172ef: 0xe0001072,\n\t0x172f0: 0xe0001086, 0x172f1: 0xe0001082, 0x172f2: 0xe0001108, 0x172f3: 0xe0001105,\n\t0x172f4: 0xe0001135, 0x172f5: 0xe0001132, 0x172f6: 0xe000112f, 0x172f7: 0xe000112c,\n\t0x172f8: 0xe000111d, 0x172f9: 0xe000111a, 0x172fa: 0xe0000d0a, 0x172fb: 0xe0000d07,\n\t0x172fc: 0x0030d888, 0x172fd: 0x4030d820, 0x172fe: 0x00312088, 0x172ff: 0x40312020,\n\t// Block 0x5cc, offset 0x17300\n\t0x17300: 0xa0000000, 0x17301: 0xa0000000, 0x17302: 0xa0000000, 0x17303: 0xa0000000,\n\t0x17304: 0xa0000000, 0x17305: 0xa0000000, 0x17306: 0xa0000000, 0x17307: 0xa0000000,\n\t0x17308: 0xa0000000, 0x17309: 0x40020020, 0x1730a: 0x40020220, 0x1730b: 0x40020420,\n\t0x1730c: 0x40020620, 0x1730d: 0x40020820, 0x1730e: 0xa0000000, 0x1730f: 0xa0000000,\n\t0x17310: 0xa0000000, 0x17311: 0xa0000000, 0x17312: 0xa0000000, 0x17313: 0xa0000000,\n\t0x17314: 0xa0000000, 0x17315: 0xa0000000, 0x17316: 0xa0000000, 0x17317: 0xa0000000,\n\t0x17318: 0xa0000000, 0x17319: 0xa0000000, 0x1731a: 0xa0000000, 0x1731b: 0xa0000000,\n\t0x1731c: 0xa0000000, 0x1731d: 0xa0000000, 0x1731e: 0xa0000000, 0x1731f: 0xa0000000,\n\t0x17320: 0x40021220, 0x17321: 0x4002ba20, 0x17322: 0x4003e020, 0x17323: 0x4004ea20,\n\t0x17324: 0x4027de20, 0x17325: 0x4004ec20, 0x17326: 0x4004e620, 0x17327: 0x4003d220,\n\t0x17328: 0x4003f420, 0x17329: 0x4003f620, 0x1732a: 0x4004d820, 0x1732b: 0x40093820,\n\t0x1732c: 0x40024020, 0x1732d: 0x40021a20, 0x1732e: 0x4002e420, 0x1732f: 0x4004e220,\n\t0x17330: 0x4029cc20, 0x17331: 0x4029ce20, 0x17332: 0x4029d020, 0x17333: 0x4029d220,\n\t0x17334: 0x4029d420, 0x17335: 0x4029d620, 0x17336: 0x4029d820, 0x17337: 0x4029da20,\n\t0x17338: 0x4029dc20, 0x17339: 0x4029de20, 0x1733a: 0x40026c20, 0x1733b: 0x40026220,\n\t0x1733c: 0x40094020, 0x1733d: 0x40094220, 0x1733e: 0x40094420, 0x1733f: 0x4002c420,\n\t// Block 0x5cd, offset 0x17340\n\t0x17340: 0x4004d620, 0x17341: 0x002bde88, 0x17342: 0x002c0a88, 0x17343: 0xc59b2891,\n\t0x17344: 0x002c6288, 0x17345: 0x002c9888, 0x17346: 0x002d0888, 0x17347: 0x002d2288,\n\t0x17348: 0x002d6888, 0x17349: 0x002d9a88, 0x1734a: 0x002dcc88, 0x1734b: 0x002dfe88,\n\t0x1734c: 0xc0030002, 0x1734d: 0x002e8288, 0x1734e: 0x002e9e88, 0x1734f: 0x002ee288,\n\t0x17350: 0x002f2c88, 0x17351: 0x002f5688, 0x17352: 0x002f7a88, 0x17353: 0xc3430991,\n\t0x17354: 0x00302c88, 0x17355: 0x00306c88, 0x17356: 0x0030be88, 0x17357: 0x0030e288,\n\t0x17358: 0x0030f688, 0x17359: 0x00310088, 0x1735a: 0xc3630991, 0x1735b: 0x4003f820,\n\t0x1735c: 0x4004e420, 0x1735d: 0x4003fa20, 0x1735e: 0x40062420, 0x1735f: 0x40021620,\n\t0x17360: 0x40061e20, 0x17361: 0x402bde20, 0x17362: 0x402c0a20, 0x17363: 0xc5982891,\n\t0x17364: 0x402c6220, 0x17365: 0x402c9820, 0x17366: 0x402d0820, 0x17367: 0x402d2220,\n\t0x17368: 0x402d6820, 0x17369: 0x402d9a20, 0x1736a: 0x402dcc20, 0x1736b: 0x402dfe20,\n\t0x1736c: 0xc0000002, 0x1736d: 0x402e8220, 0x1736e: 0x402e9e20, 0x1736f: 0x402ee220,\n\t0x17370: 0x402f2c20, 0x17371: 0x402f5620, 0x17372: 0x402f7a20, 0x17373: 0xc3410991,\n\t0x17374: 0x40302c20, 0x17375: 0x40306c20, 0x17376: 0x4030be20, 0x17377: 0x4030e220,\n\t0x17378: 0x4030f620, 0x17379: 0x40310020, 0x1737a: 0xc3610991, 0x1737b: 0x4003fc20,\n\t0x1737c: 0x40094820, 0x1737d: 0x4003fe20, 0x1737e: 0x40094c20, 0x1737f: 0xa0000000,\n\t// Block 0x5ce, offset 0x17380\n\t0x17380: 0xe0000983, 0x17381: 0xe0000980, 0x17382: 0xe00008fb, 0x17383: 0xe00008f8,\n\t0x17384: 0xe000097d, 0x17385: 0xe000097a, 0x17386: 0x002c3e83, 0x17387: 0x402c3e20,\n\t0x17388: 0xe0000a3e, 0x17389: 0xe0000a3b, 0x1738a: 0xe0000a4a, 0x1738b: 0xe0000a47,\n\t0x1738c: 0x002c3c83, 0x1738d: 0x402c3c20, 0x1738e: 0xe0000a86, 0x1738f: 0xe0000a83,\n\t0x17390: 0x002c6483, 0x17391: 0x402c6420, 0x17392: 0xe0000b46, 0x17393: 0xe0000b43,\n\t0x17394: 0xe0000aee, 0x17395: 0xe0000aeb, 0x17396: 0xe0000b2c, 0x17397: 0xe0000b29,\n\t0x17398: 0xe0000b40, 0x17399: 0xe0000b3d, 0x1739a: 0xe0000b1a, 0x1739b: 0xe0000b17,\n\t0x1739c: 0xe0000bb8, 0x1739d: 0xe0000bb5, 0x1739e: 0xe0000bb2, 0x1739f: 0xe0000baf,\n\t0x173a0: 0xe0000bc4, 0x173a1: 0xe0000bc1, 0x173a2: 0xe0000bca, 0x173a3: 0xe0000bc7,\n\t0x173a4: 0xe0000bee, 0x173a5: 0xe0000beb, 0x173a6: 0xe0000c1b, 0x173a7: 0xe0000c18,\n\t0x173a8: 0xe0000c51, 0x173a9: 0xe0000c4e, 0x173aa: 0xe0000c60, 0x173ab: 0xe0000c5d,\n\t0x173ac: 0xe0000c31, 0x173ad: 0xe0000c2e, 0x173ae: 0xe0000c5a, 0x173af: 0xe0000c57,\n\t0x173b0: 0xe0000c54, 0x173b1: 0x402da220, 0x173b2: 0xf0000a0a, 0x173b3: 0xf0000404,\n\t0x173b4: 0xe0000c8a, 0x173b5: 0xe0000c87, 0x173b6: 0xe0000c9f, 0x173b7: 0xe0000c9c,\n\t0x173b8: 0x402f7220, 0x173b9: 0xe0000ccc, 0x173ba: 0xe0000cc9, 0x173bb: 0xe0000cd8,\n\t0x173bc: 0xe0000cd5, 0x173bd: 0xe0000cd2, 0x173be: 0xe0000ccf, 0x173bf: 0xe0000d04,\n\t// Block 0x5cf, offset 0x173c0\n\t0x173c0: 0xa0000000, 0x173c1: 0xa0000000, 0x173c2: 0xa0000000, 0x173c3: 0xa0000000,\n\t0x173c4: 0xa0000000, 0x173c5: 0xa0000000, 0x173c6: 0xa0000000, 0x173c7: 0xa0000000,\n\t0x173c8: 0xa0000000, 0x173c9: 0x40020020, 0x173ca: 0x40020220, 0x173cb: 0x40020420,\n\t0x173cc: 0x40020620, 0x173cd: 0x40020820, 0x173ce: 0xa0000000, 0x173cf: 0xa0000000,\n\t0x173d0: 0xa0000000, 0x173d1: 0xa0000000, 0x173d2: 0xa0000000, 0x173d3: 0xa0000000,\n\t0x173d4: 0xa0000000, 0x173d5: 0xa0000000, 0x173d6: 0xa0000000, 0x173d7: 0xa0000000,\n\t0x173d8: 0xa0000000, 0x173d9: 0xa0000000, 0x173da: 0xa0000000, 0x173db: 0xa0000000,\n\t0x173dc: 0xa0000000, 0x173dd: 0xa0000000, 0x173de: 0xa0000000, 0x173df: 0xa0000000,\n\t0x173e0: 0x40021220, 0x173e1: 0x4002ba20, 0x173e2: 0x4003e020, 0x173e3: 0x4004ea20,\n\t0x173e4: 0x4027de20, 0x173e5: 0x4004ec20, 0x173e6: 0x4004e620, 0x173e7: 0x4003d220,\n\t0x173e8: 0x4003f420, 0x173e9: 0x4003f620, 0x173ea: 0x4004d820, 0x173eb: 0x40093820,\n\t0x173ec: 0x40024020, 0x173ed: 0x40021a20, 0x173ee: 0x4002e420, 0x173ef: 0x4004e220,\n\t0x173f0: 0x4029cc20, 0x173f1: 0x4029ce20, 0x173f2: 0x4029d020, 0x173f3: 0x4029d220,\n\t0x173f4: 0x4029d420, 0x173f5: 0x4029d620, 0x173f6: 0x4029d820, 0x173f7: 0x4029da20,\n\t0x173f8: 0x4029dc20, 0x173f9: 0x4029de20, 0x173fa: 0x40026c20, 0x173fb: 0x40026220,\n\t0x173fc: 0x40094020, 0x173fd: 0x40094220, 0x173fe: 0x40094420, 0x173ff: 0x4002c420,\n\t// Block 0x5d0, offset 0x17400\n\t0x17400: 0x4004d620, 0x17401: 0x002bde88, 0x17402: 0x002c0a88, 0x17403: 0xcb170911,\n\t0x17404: 0xceec09c2, 0x17405: 0xc6360071, 0x17406: 0x002d0888, 0x17407: 0xceef2a52,\n\t0x17408: 0x002d6888, 0x17409: 0x002d9a88, 0x1740a: 0x002dcc88, 0x1740b: 0x002dfe88,\n\t0x1740c: 0xcef60ac4, 0x1740d: 0x002e8288, 0x1740e: 0xcefb2a52, 0x1740f: 0x002ee288,\n\t0x17410: 0x002f2c88, 0x17411: 0x002f5688, 0x17412: 0xcefe9872, 0x17413: 0xcf0109c2,\n\t0x17414: 0xcf0609c2, 0x17415: 0x00306c88, 0x17416: 0x0030be88, 0x17417: 0x0030e288,\n\t0x17418: 0xcf0b09c2, 0x17419: 0x00310088, 0x1741a: 0xcf0e09c2, 0x1741b: 0x4003f820,\n\t0x1741c: 0x4004e420, 0x1741d: 0x4003fa20, 0x1741e: 0x40062420, 0x1741f: 0x40021620,\n\t0x17420: 0x40061e20, 0x17421: 0x402bde20, 0x17422: 0x402c0a20, 0x17423: 0xcb150911,\n\t0x17424: 0xceea09b1, 0x17425: 0xc6340071, 0x17426: 0x402d0820, 0x17427: 0xcb192a41,\n\t0x17428: 0x402d6820, 0x17429: 0x402d9a20, 0x1742a: 0x402dcc20, 0x1742b: 0x402dfe20,\n\t0x1742c: 0xcef20a73, 0x1742d: 0x402e8220, 0x1742e: 0xcb292a41, 0x1742f: 0x402ee220,\n\t0x17430: 0x402f2c20, 0x17431: 0x402f5620, 0x17432: 0xcb2d9861, 0x17433: 0xcb3109b1,\n\t0x17434: 0xcf0409b1, 0x17435: 0x40306c20, 0x17436: 0x4030be20, 0x17437: 0x4030e220,\n\t0x17438: 0xcf0909b1, 0x17439: 0x40310020, 0x1743a: 0xcb3509b1, 0x1743b: 0x4003fc20,\n\t0x1743c: 0x40094820, 0x1743d: 0x4003fe20, 0x1743e: 0x40094c20, 0x1743f: 0xa0000000,\n\t// Block 0x5d1, offset 0x17440\n\t0x17440: 0xe00008f5, 0x17441: 0xe00008ef, 0x17442: 0xe0000921, 0x17443: 0xe0000969,\n\t0x17444: 0xe000095b, 0x17445: 0xe000094d, 0x17446: 0xe00009dd, 0x17447: 0x002c6083,\n\t0x17448: 0xe0000ae8, 0x17449: 0xe0000ae2, 0x1744a: 0xe0000af4, 0x1744b: 0x002d0683,\n\t0x1744c: 0xe0000c2b, 0x1744d: 0xe0000c25, 0x1744e: 0xe0000c37, 0x1744f: 0xe0000c43,\n\t0x17450: 0xe0000ab3, 0x17451: 0xe0000d63, 0x17452: 0xe0000d9a, 0x17453: 0xe0000d94,\n\t0x17454: 0xe0000da6, 0x17455: 0xe0000de6, 0x17456: 0xe0000dd2, 0x17457: 0x40093e20,\n\t0x17458: 0xe0000e12, 0x17459: 0xe0000fe1, 0x1745a: 0xe0000fdb, 0x1745b: 0xe0000fed,\n\t0x1745c: 0xe0000fff, 0x1745d: 0xe0001102, 0x1745e: 0x00318888, 0x1745f: 0xe0000f7b,\n\t0x17460: 0xe00008f2, 0x17461: 0xe00008ec, 0x17462: 0xe000091e, 0x17463: 0xe0000966,\n\t0x17464: 0xe0000958, 0x17465: 0xe000094a, 0x17466: 0xe00009d5, 0x17467: 0x402c6020,\n\t0x17468: 0xe0000ae5, 0x17469: 0xe0000adf, 0x1746a: 0xe0000af1, 0x1746b: 0x402d0620,\n\t0x1746c: 0xe0000c28, 0x1746d: 0xe0000c22, 0x1746e: 0xe0000c34, 0x1746f: 0xe0000c40,\n\t0x17470: 0xe0000aad, 0x17471: 0xe0000d60, 0x17472: 0xe0000d97, 0x17473: 0xe0000d91,\n\t0x17474: 0xe0000da3, 0x17475: 0xe0000de3, 0x17476: 0xe0000dcf, 0x17477: 0x40093c20,\n\t0x17478: 0xe0000e0f, 0x17479: 0xe0000fde, 0x1747a: 0xe0000fd8, 0x1747b: 0xe0000fea,\n\t0x1747c: 0xe0000ffc, 0x1747d: 0xe00010ff, 0x1747e: 0x40318820, 0x1747f: 0xe0001114,\n\t// Block 0x5d2, offset 0x17480\n\t0x17480: 0xe00009b1, 0x17481: 0xe00009ae, 0x17482: 0xe0000a22, 0x17483: 0xe0000a1f,\n\t0x17484: 0xe0000a28, 0x17485: 0xe0000a25, 0x17486: 0xe0000a2e, 0x17487: 0xe0000a2b,\n\t0x17488: 0xe000ade6, 0x17489: 0xe000ade3, 0x1748a: 0xe0000a8c, 0x1748b: 0xe0000a89,\n\t0x1748c: 0xe0000a98, 0x1748d: 0xe0000a95, 0x1748e: 0xe0000aa4, 0x1748f: 0xe0000aa1,\n\t0x17490: 0xe0000a92, 0x17491: 0xe0000a8f, 0x17492: 0xe0000a9e, 0x17493: 0xe0000a9b,\n\t0x17494: 0xe0000b55, 0x17495: 0xe0000b51, 0x17496: 0xe0000b4d, 0x17497: 0xe0000b49,\n\t0x17498: 0xe0000b7c, 0x17499: 0xe0000b79, 0x1749a: 0xe0000b82, 0x1749b: 0xe0000b7f,\n\t0x1749c: 0xe0000b39, 0x1749d: 0xe0000b35, 0x1749e: 0xe0000b8c, 0x1749f: 0xe0000b89,\n\t0x174a0: 0xe0000bd0, 0x174a1: 0xe0000bcd, 0x174a2: 0xe0000c00, 0x174a3: 0xe0000bfd,\n\t0x174a4: 0xe0000c0c, 0x174a5: 0xe0000c09, 0x174a6: 0xe0000bfa, 0x174a7: 0xe0000bf7,\n\t0x174a8: 0xe0000c06, 0x174a9: 0xe0000c03, 0x174aa: 0xe0000c12, 0x174ab: 0xe0000c0f,\n\t0x174ac: 0xe0000c7e, 0x174ad: 0xe0000c7b, 0x174ae: 0xe0000c4a, 0x174af: 0xe0000c46,\n\t0x174b0: 0xe0000c93, 0x174b1: 0xe0000c90, 0x174b2: 0xe0000cab, 0x174b3: 0xe0000ca8,\n\t0x174b4: 0xe0000cb1, 0x174b5: 0xe0000cae, 0x174b6: 0xe0000cde, 0x174b7: 0xe0000cdb,\n\t0x174b8: 0xe0000ce5, 0x174b9: 0xe0000ce1, 0x174ba: 0xe0000cf2, 0x174bb: 0xe0000cef,\n\t0x174bc: 0xe0000cec, 0x174bd: 0xe0000ce9, 0x174be: 0xe0000d1e, 0x174bf: 0xe0000d1b,\n\t// Block 0x5d3, offset 0x174c0\n\t0x174c0: 0xa0000000, 0x174c1: 0xa0000000, 0x174c2: 0xa0000000, 0x174c3: 0xa0000000,\n\t0x174c4: 0xa0000000, 0x174c5: 0xa0000000, 0x174c6: 0xa0000000, 0x174c7: 0xa0000000,\n\t0x174c8: 0xa0000000, 0x174c9: 0x40020020, 0x174ca: 0x40020220, 0x174cb: 0x40020420,\n\t0x174cc: 0x40020620, 0x174cd: 0x40020820, 0x174ce: 0xa0000000, 0x174cf: 0xa0000000,\n\t0x174d0: 0xa0000000, 0x174d1: 0xa0000000, 0x174d2: 0xa0000000, 0x174d3: 0xa0000000,\n\t0x174d4: 0xa0000000, 0x174d5: 0xa0000000, 0x174d6: 0xa0000000, 0x174d7: 0xa0000000,\n\t0x174d8: 0xa0000000, 0x174d9: 0xa0000000, 0x174da: 0xa0000000, 0x174db: 0xa0000000,\n\t0x174dc: 0xa0000000, 0x174dd: 0xa0000000, 0x174de: 0xa0000000, 0x174df: 0xa0000000,\n\t0x174e0: 0x40021220, 0x174e1: 0x4002ba20, 0x174e2: 0x4003e020, 0x174e3: 0x4004ea20,\n\t0x174e4: 0x4027de20, 0x174e5: 0x4004ec20, 0x174e6: 0x4004e620, 0x174e7: 0x4003d220,\n\t0x174e8: 0x4003f420, 0x174e9: 0x4003f620, 0x174ea: 0x4004d820, 0x174eb: 0x40093820,\n\t0x174ec: 0x40024020, 0x174ed: 0x40021a20, 0x174ee: 0x4002e420, 0x174ef: 0x4004e220,\n\t0x174f0: 0x4029cc20, 0x174f1: 0x4029ce20, 0x174f2: 0x4029d020, 0x174f3: 0x4029d220,\n\t0x174f4: 0x4029d420, 0x174f5: 0x4029d620, 0x174f6: 0x4029d820, 0x174f7: 0x4029da20,\n\t0x174f8: 0x4029dc20, 0x174f9: 0x4029de20, 0x174fa: 0x40026c20, 0x174fb: 0x40026220,\n\t0x174fc: 0x40094020, 0x174fd: 0x40094220, 0x174fe: 0x40094420, 0x174ff: 0x4002c420,\n\t// Block 0x5d4, offset 0x17500\n\t0x17500: 0x4004d620, 0x17501: 0xc57327b1, 0x17502: 0x002c0a88, 0x17503: 0x002c3a88,\n\t0x17504: 0x002c6288, 0x17505: 0xcf130be1, 0x17506: 0x002d0888, 0x17507: 0x002d2288,\n\t0x17508: 0x002d6888, 0x17509: 0x002d9a88, 0x1750a: 0x002dcc88, 0x1750b: 0x002dfe88,\n\t0x1750c: 0xc0030002, 0x1750d: 0x002e8288, 0x1750e: 0x002e9e88, 0x1750f: 0xcf199891,\n\t0x17510: 0x002f2c88, 0x17511: 0x002f5688, 0x17512: 0x002f7a88, 0x17513: 0x002fe688,\n\t0x17514: 0x00302c88, 0x17515: 0xc3900b21, 0x17516: 0x0030be88, 0x17517: 0x0030e288,\n\t0x17518: 0x0030f688, 0x17519: 0x00310088, 0x1751a: 0x00312a88, 0x1751b: 0x4003f820,\n\t0x1751c: 0x4004e420, 0x1751d: 0x4003fa20, 0x1751e: 0x40062420, 0x1751f: 0x40021620,\n\t0x17520: 0x40061e20, 0x17521: 0xc57027b1, 0x17522: 0x402c0a20, 0x17523: 0x402c3a20,\n\t0x17524: 0x402c6220, 0x17525: 0xcf110be1, 0x17526: 0x402d0820, 0x17527: 0x402d2220,\n\t0x17528: 0x402d6820, 0x17529: 0x402d9a20, 0x1752a: 0x402dcc20, 0x1752b: 0x402dfe20,\n\t0x1752c: 0xc0000002, 0x1752d: 0x402e8220, 0x1752e: 0x402e9e20, 0x1752f: 0xcf159891,\n\t0x17530: 0x402f2c20, 0x17531: 0x402f5620, 0x17532: 0x402f7a20, 0x17533: 0x402fe620,\n\t0x17534: 0x40302c20, 0x17535: 0xc38d0b21, 0x17536: 0x4030be20, 0x17537: 0x4030e220,\n\t0x17538: 0x4030f620, 0x17539: 0x40310020, 0x1753a: 0x40312a20, 0x1753b: 0x4003fc20,\n\t0x1753c: 0x40094820, 0x1753d: 0x4003fe20, 0x1753e: 0x40094c20, 0x1753f: 0xa0000000,\n\t// Block 0x5d5, offset 0x17540\n\t0x17540: 0xe00008f5, 0x17541: 0xe00008ef, 0x17542: 0xe0000921, 0x17543: 0xe0000969,\n\t0x17544: 0x00320e83, 0x17545: 0x00320c83, 0x17546: 0x00320ea3, 0x17547: 0xe0000a53,\n\t0x17548: 0xe0000ae8, 0x17549: 0xe0000ae2, 0x1754a: 0xe0000af4, 0x1754b: 0xe0000b20,\n\t0x1754c: 0xe0000c2b, 0x1754d: 0xe0000c25, 0x1754e: 0xe0000c37, 0x1754f: 0xe0000c43,\n\t0x17550: 0x002c62c3, 0x17551: 0xe0000d63, 0x17552: 0xe0000d9a, 0x17553: 0xe0000d94,\n\t0x17554: 0x00321103, 0x17555: 0xe0000de6, 0x17556: 0x00321083, 0x17557: 0x40093e20,\n\t0x17558: 0x003210a3, 0x17559: 0xe0000fe1, 0x1755a: 0xe0000fdb, 0x1755b: 0xe0000fed,\n\t0x1755c: 0x003100a3, 0x1755d: 0xe0001102, 0x1755e: 0xe0002973, 0x1755f: 0xe0000f7b,\n\t0x17560: 0xe00008f2, 0x17561: 0xe00008ec, 0x17562: 0xe000091e, 0x17563: 0xe0000966,\n\t0x17564: 0x40320e20, 0x17565: 0x40320c20, 0x17566: 0x40320e21, 0x17567: 0xe0000a4d,\n\t0x17568: 0xe0000ae5, 0x17569: 0xe0000adf, 0x1756a: 0xe0000af1, 0x1756b: 0xe0000b1d,\n\t0x1756c: 0xe0000c28, 0x1756d: 0xe0000c22, 0x1756e: 0xe0000c34, 0x1756f: 0xe0000c40,\n\t0x17570: 0x402c6222, 0x17571: 0xe0000d60, 0x17572: 0xe0000d97, 0x17573: 0xe0000d91,\n\t0x17574: 0x40321024, 0x17575: 0xe0000de3, 0x17576: 0x40321020, 0x17577: 0x40093c20,\n\t0x17578: 0x40321021, 0x17579: 0xe0000fde, 0x1757a: 0xe0000fd8, 0x1757b: 0xe0000fea,\n\t0x1757c: 0x40310021, 0x1757d: 0xe00010ff, 0x1757e: 0xe0002970, 0x1757f: 0xe0001114,\n\t// Block 0x5d6, offset 0x17580\n\t0x17580: 0xe0000983, 0x17581: 0xe0000980, 0x17582: 0xe00008fb, 0x17583: 0xe00008f8,\n\t0x17584: 0xe000097d, 0x17585: 0xe000097a, 0x17586: 0xe0000a38, 0x17587: 0xe0000a35,\n\t0x17588: 0xe0000a3e, 0x17589: 0xe0000a3b, 0x1758a: 0xe0000a4a, 0x1758b: 0xe0000a47,\n\t0x1758c: 0xe0000a44, 0x1758d: 0xe0000a41, 0x1758e: 0xe0000a86, 0x1758f: 0xe0000a83,\n\t0x17590: 0x002c62a3, 0x17591: 0x402c6221, 0x17592: 0xe0000b46, 0x17593: 0xe0000b43,\n\t0x17594: 0xe0000aee, 0x17595: 0xe0000aeb, 0x17596: 0xe0000b2c, 0x17597: 0xe0000b29,\n\t0x17598: 0x00320ec3, 0x17599: 0x40320e22, 0x1759a: 0xe0000b1a, 0x1759b: 0xe0000b17,\n\t0x1759c: 0xe0000bb8, 0x1759d: 0xe0000bb5, 0x1759e: 0xe0000bb2, 0x1759f: 0xe0000baf,\n\t0x175a0: 0xe0000bc4, 0x175a1: 0xe0000bc1, 0x175a2: 0xe0000bca, 0x175a3: 0xe0000bc7,\n\t0x175a4: 0xe0000bee, 0x175a5: 0xe0000beb, 0x175a6: 0xe0000c1b, 0x175a7: 0xe0000c18,\n\t0x175a8: 0xe0000c51, 0x175a9: 0xe0000c4e, 0x175aa: 0xe0000c60, 0x175ab: 0xe0000c5d,\n\t0x175ac: 0xe0000c31, 0x175ad: 0xe0000c2e, 0x175ae: 0xe0000c5a, 0x175af: 0xe0000c57,\n\t0x175b0: 0xe0000c54, 0x175b1: 0x402da220, 0x175b2: 0xf0000a0a, 0x175b3: 0xf0000404,\n\t0x175b4: 0xe0000c8a, 0x175b5: 0xe0000c87, 0x175b6: 0xe0000c9f, 0x175b7: 0xe0000c9c,\n\t0x175b8: 0x402f7220, 0x175b9: 0xe0000ccc, 0x175ba: 0xe0000cc9, 0x175bb: 0xe0000cd8,\n\t0x175bc: 0xe0000cd5, 0x175bd: 0xe0000cd2, 0x175be: 0xe0000ccf, 0x175bf: 0xe0000d04,\n\t// Block 0x5d7, offset 0x175c0\n\t0x175c0: 0xe0000cfe, 0x175c1: 0xe0000cf8, 0x175c2: 0xe0000cf5, 0x175c3: 0xe0000d51,\n\t0x175c4: 0xe0000d4e, 0x175c5: 0xe0000d6f, 0x175c6: 0xe0000d6c, 0x175c7: 0xe0000d5d,\n\t0x175c8: 0xe0000d5a, 0x175c9: 0xf0000404, 0x175ca: 0x002eda88, 0x175cb: 0x402eda20,\n\t0x175cc: 0xe0000e2e, 0x175cd: 0xe0000e2b, 0x175ce: 0xe0000da0, 0x175cf: 0xe0000d9d,\n\t0x175d0: 0x003210c3, 0x175d1: 0x40321022, 0x175d2: 0x003210e3, 0x175d3: 0x40321023,\n\t0x175d4: 0xe0000eca, 0x175d5: 0xe0000ec7, 0x175d6: 0xe0000edc, 0x175d7: 0xe0000ed9,\n\t0x175d8: 0xe0000ed0, 0x175d9: 0xe0000ecd, 0x175da: 0xe0000f1f, 0x175db: 0xe0000f1c,\n\t0x175dc: 0xe0000f2d, 0x175dd: 0xe0000f2a, 0x175de: 0xe0000f47, 0x175df: 0xe0000f44,\n\t0x175e0: 0xe0000f33, 0x175e1: 0xe0000f30, 0x175e2: 0xe0000f99, 0x175e3: 0xe0000f96,\n\t0x175e4: 0xe0000f8a, 0x175e5: 0xe0000f87, 0x175e6: 0x00303688, 0x175e7: 0x40303620,\n\t0x175e8: 0xe000102b, 0x175e9: 0xe0001028, 0x175ea: 0xe000103f, 0x175eb: 0xe000103c,\n\t0x175ec: 0xe0000fe7, 0x175ed: 0xe0000fe4, 0x175ee: 0xe0000ff9, 0x175ef: 0xe0000ff6,\n\t0x175f0: 0x003100c3, 0x175f1: 0x40310022, 0x175f2: 0xe0001039, 0x175f3: 0xe0001036,\n\t0x175f4: 0xe00010d8, 0x175f5: 0xe00010d5, 0x175f6: 0xe000110e, 0x175f7: 0xe000110b,\n\t0x175f8: 0xe0001117, 0x175f9: 0xe000113b, 0x175fa: 0xe0001138, 0x175fb: 0xe000114d,\n\t0x175fc: 0xe000114a, 0x175fd: 0xe0001147, 0x175fe: 0xe0001144, 0x175ff: 0xe0000f64,\n\t// Block 0x5d8, offset 0x17600\n\t0x17600: 0xe0000b03, 0x17601: 0xe0000aff, 0x17602: 0xe0000b13, 0x17603: 0xe0000b0f,\n\t0x17604: 0xe0000b0b, 0x17605: 0xe0000b07, 0x17606: 0xe0000b75, 0x17607: 0xe0000b71,\n\t0x17608: 0xe0000c66, 0x17609: 0xe0000c63, 0x1760a: 0xe0000c78, 0x1760b: 0xe0000c75,\n\t0x1760c: 0xe0000e84, 0x1760d: 0xe0000e81, 0x1760e: 0xe0000e44, 0x1760f: 0xe0000e41,\n\t0x17610: 0xe000adec, 0x17611: 0xe000ade9, 0x17612: 0xe000adf2, 0x17613: 0xe000adef,\n\t0x17614: 0xe000adfe, 0x17615: 0xe000adfb, 0x17616: 0xe000adf8, 0x17617: 0xe000adf5,\n\t0x17618: 0xe000ae04, 0x17619: 0xe000ae01, 0x1761a: 0xe0000e5d, 0x1761b: 0xe0000e59,\n\t0x1761c: 0xe0000e65, 0x1761d: 0xe0000e61, 0x1761e: 0xe0000e75, 0x1761f: 0xe0000e71,\n\t0x17620: 0xe0000e6d, 0x17621: 0xe0000e69, 0x17622: 0xe0000e7d, 0x17623: 0xe0000e79,\n\t0x17624: 0xe000108d, 0x17625: 0xe000108a, 0x17626: 0xe000104d, 0x17627: 0xe000104a,\n\t0x17628: 0xe0001066, 0x17629: 0xe0001062, 0x1762a: 0xe000106e, 0x1762b: 0xe000106a,\n\t0x1762c: 0xe000107e, 0x1762d: 0xe000107a, 0x1762e: 0xe0001076, 0x1762f: 0xe0001072,\n\t0x17630: 0xe0001086, 0x17631: 0xe0001082, 0x17632: 0xe0001108, 0x17633: 0xe0001105,\n\t0x17634: 0xe0001135, 0x17635: 0xe0001132, 0x17636: 0xe000112f, 0x17637: 0xe000112c,\n\t0x17638: 0xe000111d, 0x17639: 0xe000111a, 0x1763a: 0xe0000d0a, 0x1763b: 0xe0000d07,\n\t0x1763c: 0x0030d888, 0x1763d: 0x4030d820, 0x1763e: 0x00312088, 0x1763f: 0x40312020,\n\t// Block 0x5d9, offset 0x17640\n\t0x17640: 0xa0000000, 0x17641: 0xa0000000, 0x17642: 0xa0000000, 0x17643: 0xa0000000,\n\t0x17644: 0xa0000000, 0x17645: 0xa0000000, 0x17646: 0xa0000000, 0x17647: 0xa0000000,\n\t0x17648: 0xa0000000, 0x17649: 0x40020020, 0x1764a: 0x40020220, 0x1764b: 0x40020420,\n\t0x1764c: 0x40020620, 0x1764d: 0x40020820, 0x1764e: 0xa0000000, 0x1764f: 0xa0000000,\n\t0x17650: 0xa0000000, 0x17651: 0xa0000000, 0x17652: 0xa0000000, 0x17653: 0xa0000000,\n\t0x17654: 0xa0000000, 0x17655: 0xa0000000, 0x17656: 0xa0000000, 0x17657: 0xa0000000,\n\t0x17658: 0xa0000000, 0x17659: 0xa0000000, 0x1765a: 0xa0000000, 0x1765b: 0xa0000000,\n\t0x1765c: 0xa0000000, 0x1765d: 0xa0000000, 0x1765e: 0xa0000000, 0x1765f: 0xa0000000,\n\t0x17660: 0x40021220, 0x17661: 0x4002ba20, 0x17662: 0x4003e020, 0x17663: 0x4004ea20,\n\t0x17664: 0x4027de20, 0x17665: 0x4004ec20, 0x17666: 0x4004e620, 0x17667: 0x4003d220,\n\t0x17668: 0x4003f420, 0x17669: 0x4003f620, 0x1766a: 0x4004d820, 0x1766b: 0x40093820,\n\t0x1766c: 0x40024020, 0x1766d: 0x40021a20, 0x1766e: 0x4002e420, 0x1766f: 0x4004e220,\n\t0x17670: 0x4029cc20, 0x17671: 0x4029ce20, 0x17672: 0x4029d020, 0x17673: 0x4029d220,\n\t0x17674: 0x4029d420, 0x17675: 0x4029d620, 0x17676: 0x4029d820, 0x17677: 0x4029da20,\n\t0x17678: 0x4029dc20, 0x17679: 0x4029de20, 0x1767a: 0x40026c20, 0x1767b: 0x40026220,\n\t0x1767c: 0x40094020, 0x1767d: 0x40094220, 0x1767e: 0x40094420, 0x1767f: 0x4002c420,\n\t// Block 0x5da, offset 0x17680\n\t0x17680: 0x4004d620, 0x17681: 0xc57327b1, 0x17682: 0x002c0a88, 0x17683: 0x002c3a88,\n\t0x17684: 0x002c6288, 0x17685: 0xcf130be1, 0x17686: 0x002d0888, 0x17687: 0x002d2288,\n\t0x17688: 0x002d6888, 0x17689: 0x002d9a88, 0x1768a: 0x002dcc88, 0x1768b: 0x002dfe88,\n\t0x1768c: 0xc0030002, 0x1768d: 0x002e8288, 0x1768e: 0x002e9e88, 0x1768f: 0xcf199891,\n\t0x17690: 0x002f2c88, 0x17691: 0x002f5688, 0x17692: 0x002f7a88, 0x17693: 0x002fe688,\n\t0x17694: 0x00302c88, 0x17695: 0xc3900b21, 0x17696: 0x0030be83, 0x17697: 0x0030bea3,\n\t0x17698: 0x0030f688, 0x17699: 0x00310088, 0x1769a: 0x00312a88, 0x1769b: 0x4003f820,\n\t0x1769c: 0x4004e420, 0x1769d: 0x4003fa20, 0x1769e: 0x40062420, 0x1769f: 0x40021620,\n\t0x176a0: 0x40061e20, 0x176a1: 0xc57027b1, 0x176a2: 0x402c0a20, 0x176a3: 0x402c3a20,\n\t0x176a4: 0x402c6220, 0x176a5: 0xcf110be1, 0x176a6: 0x402d0820, 0x176a7: 0x402d2220,\n\t0x176a8: 0x402d6820, 0x176a9: 0x402d9a20, 0x176aa: 0x402dcc20, 0x176ab: 0x402dfe20,\n\t0x176ac: 0xc0000002, 0x176ad: 0x402e8220, 0x176ae: 0x402e9e20, 0x176af: 0xcf159891,\n\t0x176b0: 0x402f2c20, 0x176b1: 0x402f5620, 0x176b2: 0x402f7a20, 0x176b3: 0x402fe620,\n\t0x176b4: 0x40302c20, 0x176b5: 0xc38d0b21, 0x176b6: 0x4030be20, 0x176b7: 0x4030be21,\n\t0x176b8: 0x4030f620, 0x176b9: 0x40310020, 0x176ba: 0x40312a20, 0x176bb: 0x4003fc20,\n\t0x176bc: 0x40094820, 0x176bd: 0x4003fe20, 0x176be: 0x40094c20, 0x176bf: 0xa0000000,\n\t// Block 0x5db, offset 0x176c0\n\t0x176c0: 0xe0000cfe, 0x176c1: 0xe0000cf8, 0x176c2: 0xe0000cf5, 0x176c3: 0xe0000d51,\n\t0x176c4: 0xe0000d4e, 0x176c5: 0xe0000d6f, 0x176c6: 0xe0000d6c, 0x176c7: 0xe0000d5d,\n\t0x176c8: 0xe0000d5a, 0x176c9: 0xf0000404, 0x176ca: 0x002eda88, 0x176cb: 0x402eda20,\n\t0x176cc: 0xe0000e2e, 0x176cd: 0xe0000e2b, 0x176ce: 0xe0000da0, 0x176cf: 0xe0000d9d,\n\t0x176d0: 0x003210c3, 0x176d1: 0x40321022, 0x176d2: 0x003210e3, 0x176d3: 0x40321023,\n\t0x176d4: 0xe0000eca, 0x176d5: 0xe0000ec7, 0x176d6: 0xe0000edc, 0x176d7: 0xe0000ed9,\n\t0x176d8: 0xe0000ed0, 0x176d9: 0xe0000ecd, 0x176da: 0xe0000f1f, 0x176db: 0xe0000f1c,\n\t0x176dc: 0xe0000f2d, 0x176dd: 0xe0000f2a, 0x176de: 0xe0000f47, 0x176df: 0xe0000f44,\n\t0x176e0: 0xe0000f33, 0x176e1: 0xe0000f30, 0x176e2: 0xe0000f99, 0x176e3: 0xe0000f96,\n\t0x176e4: 0xe0000f8a, 0x176e5: 0xe0000f87, 0x176e6: 0x00303688, 0x176e7: 0x40303620,\n\t0x176e8: 0xe000102b, 0x176e9: 0xe0001028, 0x176ea: 0xe000103f, 0x176eb: 0xe000103c,\n\t0x176ec: 0xe0000fe7, 0x176ed: 0xe0000fe4, 0x176ee: 0xe0000ff9, 0x176ef: 0xe0000ff6,\n\t0x176f0: 0x003100c3, 0x176f1: 0x40310022, 0x176f2: 0xe0001039, 0x176f3: 0xe0001036,\n\t0x176f4: 0xe0003636, 0x176f5: 0xe0003633, 0x176f6: 0xe000110e, 0x176f7: 0xe000110b,\n\t0x176f8: 0xe0001117, 0x176f9: 0xe000113b, 0x176fa: 0xe0001138, 0x176fb: 0xe000114d,\n\t0x176fc: 0xe000114a, 0x176fd: 0xe0001147, 0x176fe: 0xe0001144, 0x176ff: 0xe0000f64,\n\t// Block 0x5dc, offset 0x17700\n\t0x17700: 0xe0000d24, 0x17701: 0xe0000d21, 0x17702: 0xe0000d2a, 0x17703: 0xe0000d27,\n\t0x17704: 0xe0000d69, 0x17705: 0xe0000d66, 0x17706: 0xe0000d7b, 0x17707: 0xe0000d78,\n\t0x17708: 0xe0000d87, 0x17709: 0xe0000d84, 0x1770a: 0xe0000d81, 0x1770b: 0xe0000d7e,\n\t0x1770c: 0xe0000ded, 0x1770d: 0xe0000de9, 0x1770e: 0xe00037f4, 0x1770f: 0xe00037f1,\n\t0x17710: 0xe0000e3d, 0x17711: 0xe0000e39, 0x17712: 0xe0000e35, 0x17713: 0xe0000e31,\n\t0x17714: 0xe0000ea7, 0x17715: 0xe0000ea4, 0x17716: 0xe0000ead, 0x17717: 0xe0000eaa,\n\t0x17718: 0xe0000ed6, 0x17719: 0xe0000ed3, 0x1771a: 0xe0000ef4, 0x1771b: 0xe0000ef1,\n\t0x1771c: 0xe0000efb, 0x1771d: 0xe0000ef7, 0x1771e: 0xe0000f02, 0x1771f: 0xe0000eff,\n\t0x17720: 0xe0000f41, 0x17721: 0xe0000f3e, 0x17722: 0xe0000f53, 0x17723: 0xe0000f50,\n\t0x17724: 0xe0000f26, 0x17725: 0xe0000f22, 0x17726: 0xe0000f3a, 0x17727: 0xe0000f36,\n\t0x17728: 0xe0000f5a, 0x17729: 0xe0000f56, 0x1772a: 0xe0000f93, 0x1772b: 0xe0000f90,\n\t0x1772c: 0xe0000f9f, 0x1772d: 0xe0000f9c, 0x1772e: 0xe0000fb1, 0x1772f: 0xe0000fae,\n\t0x17730: 0xe0000fab, 0x17731: 0xe0000fa8, 0x17732: 0xe0001093, 0x17733: 0xe0001090,\n\t0x17734: 0xe000109f, 0x17735: 0xe000109c, 0x17736: 0xe0001099, 0x17737: 0xe0001096,\n\t0x17738: 0xe0001032, 0x17739: 0xe000102e, 0x1773a: 0xe000298b, 0x1773b: 0xe0002988,\n\t0x1773c: 0xe000ae07, 0x1773d: 0xe00010a6, 0x1773e: 0xe000ae0a, 0x1773f: 0xe00010ac,\n\t// Block 0x5dd, offset 0x17740\n\t0x17742: 0x40429620, 0x17743: 0x40429820,\n\t0x17745: 0x40427e20, 0x17746: 0x40428020, 0x17747: 0x40428220,\n\t0x17748: 0x40428420, 0x17749: 0x40428620, 0x1774a: 0x40428820,\n\t0x1774e: 0x40428a20, 0x1774f: 0x40428c20,\n\t0x17750: 0x40428e20, 0x17752: 0xc0610231, 0x17753: 0x40429220,\n\t0x17754: 0x40429420, 0x17755: 0xcf1d98d1,\n\t0x17759: 0xcf219961, 0x1775a: 0xcf239961,\n\t0x1775c: 0xcf439961, 0x1775e: 0xcf259961, 0x1775f: 0xcf279961,\n\t0x17763: 0xcf299961,\n\t0x17764: 0xcf2b9961,\n\t0x17768: 0xcf2d9961, 0x17769: 0xcf419961, 0x1776a: 0xcf2f9961,\n\t0x1776e: 0xcf319961, 0x1776f: 0xcf339961,\n\t0x17770: 0xcf359961, 0x17771: 0xcf3f9961, 0x17772: 0xcf379961, 0x17773: 0xcf3d9961,\n\t0x17774: 0xcf3b9961, 0x17775: 0xcf399961, 0x17776: 0xcf459961, 0x17777: 0xcf479961,\n\t0x17778: 0xcf499961, 0x17779: 0xcf4b9961,\n\t0x1777e: 0x4042c620, 0x1777f: 0x4042c820,\n\t// Block 0x5de, offset 0x17780\n\t0x17781: 0x40430020, 0x17782: 0x40430220, 0x17783: 0x40430420,\n\t0x17785: 0x4042e020, 0x17786: 0x4042e220, 0x17787: 0x4042e420,\n\t0x17788: 0x4042e620, 0x17789: 0x4042e820, 0x1778a: 0x4042ea20, 0x1778b: 0x4042ec20,\n\t0x1778c: 0x4042f020, 0x1778e: 0x4042f420, 0x1778f: 0x4042f620,\n\t0x17790: 0x4042f820, 0x17792: 0x4042fa20, 0x17793: 0x4042fc20,\n\t0x17794: 0x4042fe20, 0x17795: 0x40430020, 0x17796: 0x40430220, 0x17797: 0x40430420,\n\t0x17798: 0x40430620, 0x17799: 0x40430820, 0x1779a: 0x40430a20, 0x1779b: 0x40430e20,\n\t0x1779c: 0x40431020, 0x1779d: 0x40431420, 0x1779e: 0x40431620, 0x1779f: 0x40431820,\n\t0x177a0: 0x40431a20, 0x177a1: 0x40431c20, 0x177a2: 0x40431e20, 0x177a3: 0x40432020,\n\t0x177a4: 0x40432220, 0x177a5: 0x40432420, 0x177a6: 0x40432620, 0x177a7: 0x40432820,\n\t0x177a8: 0x40432a20, 0x177aa: 0x40432c20, 0x177ab: 0x40432e20,\n\t0x177ac: 0x40433020, 0x177ad: 0x40433220, 0x177ae: 0x40433420, 0x177af: 0x40433620,\n\t0x177b0: 0x40433820, 0x177b1: 0x40433a20, 0x177b2: 0x40433c20, 0x177b3: 0x40434820,\n\t0x177b5: 0x40433e20, 0x177b6: 0x40434020, 0x177b7: 0x40434220,\n\t0x177b8: 0x40434420, 0x177b9: 0x40434620,\n\t0x177bd: 0x40434a20, 0x177be: 0x40434c20, 0x177bf: 0x40434e20,\n\t// Block 0x5df, offset 0x177c0\n\t0x177c1: 0x40491020, 0x177c2: 0x40491220, 0x177c3: 0x40491420,\n\t0x177c4: 0x40491620, 0x177c5: 0x40491820, 0x177c6: 0x40491a20, 0x177c7: 0x40491c20,\n\t0x177c8: 0x40491e20, 0x177c9: 0x40492020, 0x177ca: 0x40492220, 0x177cb: 0x40492420,\n\t0x177cc: 0x40492620, 0x177cd: 0x40492820, 0x177ce: 0x40492a20, 0x177cf: 0x40492c20,\n\t0x177d0: 0x40492e20, 0x177d1: 0x40493020, 0x177d2: 0x40493220, 0x177d3: 0x40493420,\n\t0x177d4: 0x40493620, 0x177d5: 0x40493820, 0x177d6: 0x40493a20, 0x177d7: 0x40493c20,\n\t0x177d8: 0x40493e20, 0x177d9: 0x40494020, 0x177da: 0x40494220, 0x177db: 0x40494420,\n\t0x177dc: 0x40494620, 0x177dd: 0x40494820, 0x177de: 0x40494a20, 0x177df: 0x40494c20,\n\t0x177e0: 0x40494e20, 0x177e1: 0x40495020, 0x177e2: 0x40495220, 0x177e3: 0x40495420,\n\t0x177e4: 0x40495620, 0x177e5: 0x40495820, 0x177e6: 0x40495a20, 0x177e7: 0x40495c20,\n\t0x177e8: 0x40495e20, 0x177e9: 0x40496020, 0x177ea: 0x40496220, 0x177eb: 0x40496420,\n\t0x177ec: 0x40496620, 0x177ed: 0x40496820, 0x177ee: 0x40496a20, 0x177ef: 0x40057820,\n\t0x177f0: 0x40496e20, 0x177f1: 0x40497020, 0x177f2: 0x40497220, 0x177f3: 0xe000ae10,\n\t0x177f4: 0x40497620, 0x177f5: 0x40497820, 0x177f6: 0x40497a20, 0x177f7: 0x40497c20,\n\t0x177f8: 0x826724bf, 0x177f9: 0x826724c0, 0x177fa: 0x40498e20,\n\t0x177ff: 0x4027f420,\n\t// Block 0x5e0, offset 0x17800\n\t0x17800: 0xc07f04e1, 0x17801: 0xc0ae04e1, 0x17802: 0xc0dd04e1, 0x17803: 0xc10c04e1,\n\t0x17804: 0xc13b04e1, 0x17805: 0x00497283, 0x17806: 0x40057e20, 0x17807: 0xa000ff02,\n\t0x17808: 0xa6b10002, 0x17809: 0xa6b10102, 0x1780a: 0xa6b10202, 0x1780b: 0xa6b10302,\n\t0x1780c: 0xa000ff02, 0x1780d: 0xcf4d9991, 0x1780e: 0xa000fe02, 0x1780f: 0x40057820,\n\t0x17810: 0xe000019a, 0x17811: 0xe000022e, 0x17812: 0xe0000346, 0x17813: 0xe0000420,\n\t0x17814: 0xe00004f5, 0x17815: 0xe00005bf, 0x17816: 0xe000068a, 0x17817: 0xe0000732,\n\t0x17818: 0xe00007de, 0x17819: 0xe0000883, 0x1781a: 0x40057a20, 0x1781b: 0x40057c20,\n\t// Block 0x5e1, offset 0x17840\n\t0x17840: 0xa0000000, 0x17841: 0xa0000000, 0x17842: 0xa0000000, 0x17843: 0xa0000000,\n\t0x17844: 0xa0000000, 0x17845: 0xa0000000, 0x17846: 0xa0000000, 0x17847: 0xa0000000,\n\t0x17848: 0xa0000000, 0x17849: 0x40020020, 0x1784a: 0x40020220, 0x1784b: 0x40020420,\n\t0x1784c: 0x40020620, 0x1784d: 0x40020820, 0x1784e: 0xa0000000, 0x1784f: 0xa0000000,\n\t0x17850: 0xa0000000, 0x17851: 0xa0000000, 0x17852: 0xa0000000, 0x17853: 0xa0000000,\n\t0x17854: 0xa0000000, 0x17855: 0xa0000000, 0x17856: 0xa0000000, 0x17857: 0xa0000000,\n\t0x17858: 0xa0000000, 0x17859: 0xa0000000, 0x1785a: 0xa0000000, 0x1785b: 0xa0000000,\n\t0x1785c: 0xa0000000, 0x1785d: 0xa0000000, 0x1785e: 0xa0000000, 0x1785f: 0xa0000000,\n\t0x17860: 0x40021220, 0x17861: 0x4002ba20, 0x17862: 0x4003e020, 0x17863: 0x4004ea20,\n\t0x17864: 0x4027de20, 0x17865: 0x4004ec20, 0x17866: 0x4004e620, 0x17867: 0x4003d220,\n\t0x17868: 0x4003f420, 0x17869: 0x4003f620, 0x1786a: 0x4004d820, 0x1786b: 0x40093820,\n\t0x1786c: 0x40024020, 0x1786d: 0x40021a20, 0x1786e: 0x4002e420, 0x1786f: 0x4004e220,\n\t0x17870: 0x4029cc20, 0x17871: 0x4029ce20, 0x17872: 0x4029d020, 0x17873: 0x4029d220,\n\t0x17874: 0x4029d420, 0x17875: 0x4029d620, 0x17876: 0x4029d820, 0x17877: 0x4029da20,\n\t0x17878: 0x4029dc20, 0x17879: 0x4029de20, 0x1787a: 0x40026c20, 0x1787b: 0x40026220,\n\t0x1787c: 0x40094020, 0x1787d: 0x40094220, 0x1787e: 0x40094420, 0x1787f: 0x4002c420,\n\t// Block 0x5e2, offset 0x17880\n\t0x17880: 0x4004d620, 0x17881: 0xcf5399e1, 0x17882: 0x002c0a88, 0x17883: 0x002c3a88,\n\t0x17884: 0x002c6288, 0x17885: 0xcf5999e1, 0x17886: 0x002d0888, 0x17887: 0x002d2288,\n\t0x17888: 0x002d6888, 0x17889: 0xcf5f99e1, 0x1788a: 0x002dcc88, 0x1788b: 0x002dfe88,\n\t0x1788c: 0xc0030002, 0x1788d: 0x002e8288, 0x1788e: 0xc5350a52, 0x1788f: 0xcf6599e1,\n\t0x17890: 0x002f2c88, 0x17891: 0x002f5688, 0x17892: 0x002f7a88, 0x17893: 0x002fe688,\n\t0x17894: 0x00302c88, 0x17895: 0xcf6b99e1, 0x17896: 0x0030be88, 0x17897: 0x0030e288,\n\t0x17898: 0x0030f688, 0x17899: 0x00310088, 0x1789a: 0x00312a88, 0x1789b: 0x4003f820,\n\t0x1789c: 0x4004e420, 0x1789d: 0x4003fa20, 0x1789e: 0x40062420, 0x1789f: 0x40021620,\n\t0x178a0: 0x40061e20, 0x178a1: 0xcf5099e1, 0x178a2: 0x402c0a20, 0x178a3: 0x402c3a20,\n\t0x178a4: 0x402c6220, 0x178a5: 0xcf5699e1, 0x178a6: 0x402d0820, 0x178a7: 0x402d2220,\n\t0x178a8: 0x402d6820, 0x178a9: 0xcf5c99e1, 0x178aa: 0x402dcc20, 0x178ab: 0x402dfe20,\n\t0x178ac: 0xc0000002, 0x178ad: 0x402e8220, 0x178ae: 0xc5330a41, 0x178af: 0xcf6299e1,\n\t0x178b0: 0x402f2c20, 0x178b1: 0x402f5620, 0x178b2: 0x402f7a20, 0x178b3: 0x402fe620,\n\t0x178b4: 0x40302c20, 0x178b5: 0xcf6899e1, 0x178b6: 0x4030be20, 0x178b7: 0x4030e220,\n\t0x178b8: 0x4030f620, 0x178b9: 0x40310020, 0x178ba: 0x40312a20, 0x178bb: 0x4003fc20,\n\t0x178bc: 0x40094820, 0x178bd: 0x4003fe20, 0x178be: 0x40094c20, 0x178bf: 0xa0000000,\n\t// Block 0x5e3, offset 0x178c0\n\t0x178c0: 0xe00008f5, 0x178c1: 0x002bdea3, 0x178c2: 0xe0000921, 0x178c3: 0xe0000969,\n\t0x178c4: 0xe000095b, 0x178c5: 0xe000094d, 0x178c6: 0xe00009dd, 0x178c7: 0xe0000a53,\n\t0x178c8: 0xe0000ae8, 0x178c9: 0x002c98a3, 0x178ca: 0xe0000af4, 0x178cb: 0xe0000b20,\n\t0x178cc: 0xe0000c2b, 0x178cd: 0x002d9aa3, 0x178ce: 0xe0000c37, 0x178cf: 0xe0000c43,\n\t0x178d0: 0xe0000ab3, 0x178d1: 0xe0000d63, 0x178d2: 0xe0000d9a, 0x178d3: 0x002ee2a3,\n\t0x178d4: 0xe0000da6, 0x178d5: 0xe0000de6, 0x178d6: 0xe0000dd2, 0x178d7: 0x40093e20,\n\t0x178d8: 0xe0000e12, 0x178d9: 0xe0000fe1, 0x178da: 0x00306ca3, 0x178db: 0xe0000fed,\n\t0x178dc: 0xe0000fff, 0x178dd: 0xe0001102, 0x178de: 0x00318888, 0x178df: 0xe0000f7b,\n\t0x178e0: 0xe00008f2, 0x178e1: 0x402bde21, 0x178e2: 0xe000091e, 0x178e3: 0xe0000966,\n\t0x178e4: 0xe0000958, 0x178e5: 0xe000094a, 0x178e6: 0xe00009d5, 0x178e7: 0xe0000a4d,\n\t0x178e8: 0xe0000ae5, 0x178e9: 0x402c9821, 0x178ea: 0xe0000af1, 0x178eb: 0xe0000b1d,\n\t0x178ec: 0xe0000c28, 0x178ed: 0x402d9a21, 0x178ee: 0xe0000c34, 0x178ef: 0xe0000c40,\n\t0x178f0: 0xe0000aad, 0x178f1: 0xe0000d60, 0x178f2: 0xe0000d97, 0x178f3: 0x402ee221,\n\t0x178f4: 0xe0000da3, 0x178f5: 0xe0000de3, 0x178f6: 0xe0000dcf, 0x178f7: 0x40093c20,\n\t0x178f8: 0xe0000e0f, 0x178f9: 0xe0000fde, 0x178fa: 0x40306c21, 0x178fb: 0xe0000fea,\n\t0x178fc: 0xe0000ffc, 0x178fd: 0xe00010ff, 0x178fe: 0x40318820, 0x178ff: 0xe0001114,\n\t// Block 0x5e4, offset 0x17900\n\t0x17900: 0x002bdec3, 0x17901: 0x402bde22, 0x17902: 0xe00008fb, 0x17903: 0xe00008f8,\n\t0x17904: 0xe000097d, 0x17905: 0xe000097a, 0x17906: 0xe0000a38, 0x17907: 0xe0000a35,\n\t0x17908: 0xe0000a3e, 0x17909: 0xe0000a3b, 0x1790a: 0xe0000a4a, 0x1790b: 0xe0000a47,\n\t0x1790c: 0xe0000a44, 0x1790d: 0xe0000a41, 0x1790e: 0xe0000a86, 0x1790f: 0xe0000a83,\n\t0x17910: 0xe0000aaa, 0x17911: 0xe0000aa7, 0x17912: 0x002c98c3, 0x17913: 0x402c9822,\n\t0x17914: 0xe0000aee, 0x17915: 0xe0000aeb, 0x17916: 0xe0000b2c, 0x17917: 0xe0000b29,\n\t0x17918: 0xe0000b40, 0x17919: 0xe0000b3d, 0x1791a: 0xe0000b1a, 0x1791b: 0xe0000b17,\n\t0x1791c: 0xe0000bb8, 0x1791d: 0xe0000bb5, 0x1791e: 0xe0000bb2, 0x1791f: 0xe0000baf,\n\t0x17920: 0xe0000bc4, 0x17921: 0xe0000bc1, 0x17922: 0xe0000bca, 0x17923: 0xe0000bc7,\n\t0x17924: 0xe0000bee, 0x17925: 0xe0000beb, 0x17926: 0xe0000c1b, 0x17927: 0xe0000c18,\n\t0x17928: 0xe0000c51, 0x17929: 0xe0000c4e, 0x1792a: 0x002d9ac3, 0x1792b: 0x402d9a22,\n\t0x1792c: 0xe0000c31, 0x1792d: 0xe0000c2e, 0x1792e: 0xe0000c5a, 0x1792f: 0xe0000c57,\n\t0x17930: 0xe0000c54, 0x17931: 0x402da220, 0x17932: 0xf0000a0a, 0x17933: 0xf0000404,\n\t0x17934: 0xe0000c8a, 0x17935: 0xe0000c87, 0x17936: 0xe0000c9f, 0x17937: 0xe0000c9c,\n\t0x17938: 0x402f7220, 0x17939: 0xe0000ccc, 0x1793a: 0xe0000cc9, 0x1793b: 0xe0000cd8,\n\t0x1793c: 0xe0000cd5, 0x1793d: 0xe0000cd2, 0x1793e: 0xe0000ccf, 0x1793f: 0xe0000d04,\n\t// Block 0x5e5, offset 0x17940\n\t0x17940: 0xe0000cfe, 0x17941: 0xe0000cf8, 0x17942: 0xe0000cf5, 0x17943: 0xe0000d51,\n\t0x17944: 0xe0000d4e, 0x17945: 0xe0000d6f, 0x17946: 0xe0000d6c, 0x17947: 0xe0000d5d,\n\t0x17948: 0xe0000d5a, 0x17949: 0xf0000404, 0x1794a: 0x002ea086, 0x1794b: 0x002ea085,\n\t0x1794c: 0x002ee2c3, 0x1794d: 0x402ee222, 0x1794e: 0xe0000da0, 0x1794f: 0xe0000d9d,\n\t0x17950: 0xe0000de0, 0x17951: 0xe0000ddd, 0x17952: 0xe0000e93, 0x17953: 0xe0000e8f,\n\t0x17954: 0xe0000eca, 0x17955: 0xe0000ec7, 0x17956: 0xe0000edc, 0x17957: 0xe0000ed9,\n\t0x17958: 0xe0000ed0, 0x17959: 0xe0000ecd, 0x1795a: 0xe0000f1f, 0x1795b: 0xe0000f1c,\n\t0x1795c: 0xe0000f2d, 0x1795d: 0xe0000f2a, 0x1795e: 0xe0000f47, 0x1795f: 0xe0000f44,\n\t0x17960: 0xe0000f33, 0x17961: 0xe0000f30, 0x17962: 0xe0000f99, 0x17963: 0xe0000f96,\n\t0x17964: 0xe0000f8a, 0x17965: 0xe0000f87, 0x17966: 0x00303688, 0x17967: 0x40303620,\n\t0x17968: 0xe000102b, 0x17969: 0xe0001028, 0x1796a: 0x00306cc3, 0x1796b: 0x40306c22,\n\t0x1796c: 0xe0000fe7, 0x1796d: 0xe0000fe4, 0x1796e: 0xe0000ff9, 0x1796f: 0xe0000ff6,\n\t0x17970: 0xe0001025, 0x17971: 0xe0001022, 0x17972: 0xe0001039, 0x17973: 0xe0001036,\n\t0x17974: 0xe00010d8, 0x17975: 0xe00010d5, 0x17976: 0xe000110e, 0x17977: 0xe000110b,\n\t0x17978: 0xe0001117, 0x17979: 0xe000113b, 0x1797a: 0xe0001138, 0x1797b: 0xe000114d,\n\t0x1797c: 0xe000114a, 0x1797d: 0xe0001147, 0x1797e: 0xe0001144, 0x1797f: 0xe0000f64,\n\t// Block 0x5e6, offset 0x17980\n\t0x17980: 0x40321220, 0x17981: 0x40321a20, 0x17982: 0x40322220, 0x17983: 0x40322a20,\n\t0x17984: 0xe0000ad5, 0x17985: 0xe0000ad1, 0x17986: 0xe0000acd, 0x17987: 0xf0000a0a,\n\t0x17988: 0xf000040a, 0x17989: 0xf0000404, 0x1798a: 0xf0000a0a, 0x1798b: 0xf000040a,\n\t0x1798c: 0xf0000404, 0x1798d: 0xe0000947, 0x1798e: 0xe0000944, 0x1798f: 0xe0000c3d,\n\t0x17990: 0xe0000c3a, 0x17991: 0xe0000dcc, 0x17992: 0xe0000dc9, 0x17993: 0xe0000ff3,\n\t0x17994: 0xe0000ff0, 0x17995: 0xe000a9d3, 0x17996: 0xe000a9d0, 0x17997: 0xe000ae82,\n\t0x17998: 0xe000ae7f, 0x17999: 0xe0001016, 0x1799a: 0xe0001012, 0x1799b: 0xe000100e,\n\t0x1799c: 0xe000100a, 0x1799d: 0x402cae20, 0x1799e: 0xe000ae28, 0x1799f: 0xe000ae25,\n\t0x179a0: 0xe000ae2e, 0x179a1: 0xe000ae2b, 0x179a2: 0xe00009f4, 0x179a3: 0xe00009ef,\n\t0x179a4: 0x002d3a88, 0x179a5: 0x402d3a20, 0x179a6: 0xe0000bbe, 0x179a7: 0xe0000bbb,\n\t0x179a8: 0xe0000c99, 0x179a9: 0xe0000c96, 0x179aa: 0xe0000e20, 0x179ab: 0xe0000e1d,\n\t0x179ac: 0xe000ae7c, 0x179ad: 0xe000ae79, 0x179ae: 0xe0001162, 0x179af: 0xe000115f,\n\t0x179b0: 0xe0000c8d, 0x179b1: 0xf0000a0a, 0x179b2: 0xf000040a, 0x179b3: 0xf0000404,\n\t0x179b4: 0xe0000bac, 0x179b5: 0xe0000ba9, 0x179b6: 0x002d7888, 0x179b7: 0x00319488,\n\t0x179b8: 0xe0000d57, 0x179b9: 0xe0000d54, 0x179ba: 0xe000ae22, 0x179bb: 0xe000ae1f,\n\t0x179bc: 0xe00009ea, 0x179bd: 0xe00009e5, 0x179be: 0xe0000e19, 0x179bf: 0xe0000e15,\n\t// Block 0x5e7, offset 0x179c0\n\t0x179c0: 0xe000098f, 0x179c1: 0xe000098c, 0x179c2: 0xe0000995, 0x179c3: 0xe0000992,\n\t0x179c4: 0xe0000b62, 0x179c5: 0xe0000b5f, 0x179c6: 0xe0000b68, 0x179c7: 0xe0000b65,\n\t0x179c8: 0xe0000c6c, 0x179c9: 0xe0000c69, 0x179ca: 0xe0000c72, 0x179cb: 0xe0000c6f,\n\t0x179cc: 0xe0000e4a, 0x179cd: 0xe0000e47, 0x179ce: 0xe0000e50, 0x179cf: 0xe0000e4d,\n\t0x179d0: 0xe0000ee8, 0x179d1: 0xe0000ee5, 0x179d2: 0xe0000eee, 0x179d3: 0xe0000eeb,\n\t0x179d4: 0xe0001053, 0x179d5: 0xe0001050, 0x179d6: 0xe0001059, 0x179d7: 0xe0001056,\n\t0x179d8: 0xe0000f61, 0x179d9: 0xe0000f5e, 0x179da: 0xe0000fa5, 0x179db: 0xe0000fa2,\n\t0x179dc: 0x00312288, 0x179dd: 0x40312220, 0x179de: 0xe0000bf4, 0x179df: 0xe0000bf1,\n\t0x179e0: 0x002ebc88, 0x179e1: 0x402c8c20, 0x179e2: 0x002f2288, 0x179e3: 0x402f2220,\n\t0x179e4: 0x00314088, 0x179e5: 0x40314020, 0x179e6: 0xe000096f, 0x179e7: 0xe000096c,\n\t0x179e8: 0xe0000b32, 0x179e9: 0xe0000b2f, 0x179ea: 0xe000ae6a, 0x179eb: 0xe000ae67,\n\t0x179ec: 0xe000ae70, 0x179ed: 0xe000ae6d, 0x179ee: 0xe0000e04, 0x179ef: 0xe0000e01,\n\t0x179f0: 0xe000ae76, 0x179f1: 0xe000ae73, 0x179f2: 0xe0001129, 0x179f3: 0xe0001126,\n\t0x179f4: 0x402e5e20, 0x179f5: 0x402ed020, 0x179f6: 0x40305a20, 0x179f7: 0x402dd420,\n\t0x179f8: 0xe0000abf, 0x179f9: 0xe0000ec4, 0x179fa: 0x002be888, 0x179fb: 0x002c4488,\n\t0x179fc: 0x402c4420, 0x179fd: 0x002e3888, 0x179fe: 0x00303e88, 0x179ff: 0x402ffc20,\n\t// Block 0x5e8, offset 0x17a00\n\t0x17a00: 0x402f8220, 0x17a01: 0x402fd820, 0x17a02: 0x402ff420, 0x17a03: 0x40300820,\n\t0x17a04: 0x402df620, 0x17a05: 0x40301a20, 0x17a06: 0x40302420, 0x17a07: 0x40306420,\n\t0x17a08: 0x40305220, 0x17a09: 0x40307c20, 0x17a0a: 0x4030b420, 0x17a0b: 0x4030cc20,\n\t0x17a0c: 0x4030da20, 0x17a0d: 0x4030ee20, 0x17a0e: 0x402e7a20, 0x17a0f: 0x40310820,\n\t0x17a10: 0x40314820, 0x17a11: 0x40315020, 0x17a12: 0x40316420, 0x17a13: 0x40318020,\n\t0x17a14: 0x4031cc20, 0x17a15: 0x4031e820, 0x17a16: 0x40320a20, 0x17a17: 0x40323220,\n\t0x17a18: 0x40323a20, 0x17a19: 0x402c1220, 0x17a1a: 0x402cf820, 0x17a1b: 0x402d4c20,\n\t0x17a1c: 0x402d7020, 0x17a1d: 0x402de620, 0x17a1e: 0x402e1a20, 0x17a1f: 0x402e2a20,\n\t0x17a20: 0x402f6220, 0x17a21: 0x4031fa20, 0x17a22: 0x40320220, 0x17a23: 0xe0000aca,\n\t0x17a24: 0xe0000adc, 0x17a25: 0xe0000ad9, 0x17a26: 0xe0000fcc, 0x17a27: 0xe0000fcf,\n\t0x17a28: 0xe0000fba, 0x17a29: 0xe0000ba1, 0x17a2a: 0xe0000d11, 0x17a2b: 0xe0000d18,\n\t0x17a2c: 0x40324220, 0x17a2d: 0x40324a20, 0x17a2e: 0x40309020, 0x17a2f: 0x40309820,\n\t0x17a30: 0x002d6894, 0x17a31: 0x002d8094, 0x17a32: 0x002dcc94, 0x17a33: 0x002f7a94,\n\t0x17a34: 0x002f9894, 0x17a35: 0x002fac94, 0x17a36: 0x002fd894, 0x17a37: 0x0030e294,\n\t0x17a38: 0x00310094, 0x17a39: 0x40064020, 0x17a3a: 0x40064420, 0x17a3b: 0x40312c20,\n\t0x17a3c: 0x4031de20, 0x17a3d: 0x00312c83, 0x17a3e: 0x4031e220, 0x17a3f: 0x4031f020,\n\t// Block 0x5e9, offset 0x17a40\n\t0x17a40: 0xe00009b1, 0x17a41: 0xe00009ae, 0x17a42: 0xe0000a22, 0x17a43: 0xe0000a1f,\n\t0x17a44: 0xe0000a28, 0x17a45: 0xe0000a25, 0x17a46: 0xe0000a2e, 0x17a47: 0xe0000a2b,\n\t0x17a48: 0xe0000a5a, 0x17a49: 0xe0000a56, 0x17a4a: 0xe0000a8c, 0x17a4b: 0xe0000a89,\n\t0x17a4c: 0xe0000a98, 0x17a4d: 0xe0000a95, 0x17a4e: 0xe0000aa4, 0x17a4f: 0xe0000aa1,\n\t0x17a50: 0xe0000a92, 0x17a51: 0xe0000a8f, 0x17a52: 0xe0000a9e, 0x17a53: 0xe0000a9b,\n\t0x17a54: 0xe000ae40, 0x17a55: 0xe000ae3d, 0x17a56: 0xe000ae3a, 0x17a57: 0xe000ae37,\n\t0x17a58: 0xe0000b7c, 0x17a59: 0xe0000b79, 0x17a5a: 0xe0000b82, 0x17a5b: 0xe0000b7f,\n\t0x17a5c: 0xe0000b39, 0x17a5d: 0xe0000b35, 0x17a5e: 0xe0000b8c, 0x17a5f: 0xe0000b89,\n\t0x17a60: 0xe0000bd0, 0x17a61: 0xe0000bcd, 0x17a62: 0xe0000c00, 0x17a63: 0xe0000bfd,\n\t0x17a64: 0xe0000c0c, 0x17a65: 0xe0000c09, 0x17a66: 0xe0000bfa, 0x17a67: 0xe0000bf7,\n\t0x17a68: 0xe0000c06, 0x17a69: 0xe0000c03, 0x17a6a: 0xe0000c12, 0x17a6b: 0xe0000c0f,\n\t0x17a6c: 0xe0000c7e, 0x17a6d: 0xe0000c7b, 0x17a6e: 0xe000ae46, 0x17a6f: 0xe000ae43,\n\t0x17a70: 0xe0000c93, 0x17a71: 0xe0000c90, 0x17a72: 0xe0000cab, 0x17a73: 0xe0000ca8,\n\t0x17a74: 0xe0000cb1, 0x17a75: 0xe0000cae, 0x17a76: 0xe0000cde, 0x17a77: 0xe0000cdb,\n\t0x17a78: 0xe0000ce5, 0x17a79: 0xe0000ce1, 0x17a7a: 0xe0000cf2, 0x17a7b: 0xe0000cef,\n\t0x17a7c: 0xe0000cec, 0x17a7d: 0xe0000ce9, 0x17a7e: 0xe0000d1e, 0x17a7f: 0xe0000d1b,\n\t// Block 0x5ea, offset 0x17a80\n\t0x17a80: 0xe0000d24, 0x17a81: 0xe0000d21, 0x17a82: 0xe0000d2a, 0x17a83: 0xe0000d27,\n\t0x17a84: 0xe0000d69, 0x17a85: 0xe0000d66, 0x17a86: 0xe0000d7b, 0x17a87: 0xe0000d78,\n\t0x17a88: 0xe0000d87, 0x17a89: 0xe0000d84, 0x17a8a: 0xe0000d81, 0x17a8b: 0xe0000d7e,\n\t0x17a8c: 0xe000ae52, 0x17a8d: 0xe000ae4f, 0x17a8e: 0xe0000df5, 0x17a8f: 0xe0000df1,\n\t0x17a90: 0xe000ae64, 0x17a91: 0xe000ae61, 0x17a92: 0xe000ae5e, 0x17a93: 0xe000ae5b,\n\t0x17a94: 0xe0000ea7, 0x17a95: 0xe0000ea4, 0x17a96: 0xe0000ead, 0x17a97: 0xe0000eaa,\n\t0x17a98: 0xe0000ed6, 0x17a99: 0xe0000ed3, 0x17a9a: 0xe0000ef4, 0x17a9b: 0xe0000ef1,\n\t0x17a9c: 0xe0000efb, 0x17a9d: 0xe0000ef7, 0x17a9e: 0xe0000f02, 0x17a9f: 0xe0000eff,\n\t0x17aa0: 0xe0000f41, 0x17aa1: 0xe0000f3e, 0x17aa2: 0xe0000f53, 0x17aa3: 0xe0000f50,\n\t0x17aa4: 0xe0000f26, 0x17aa5: 0xe0000f22, 0x17aa6: 0xe0000f3a, 0x17aa7: 0xe0000f36,\n\t0x17aa8: 0xe0000f5a, 0x17aa9: 0xe0000f56, 0x17aaa: 0xe0000f93, 0x17aab: 0xe0000f90,\n\t0x17aac: 0xe0000f9f, 0x17aad: 0xe0000f9c, 0x17aae: 0xe0000fb1, 0x17aaf: 0xe0000fae,\n\t0x17ab0: 0xe0000fab, 0x17ab1: 0xe0000fa8, 0x17ab2: 0xe0001093, 0x17ab3: 0xe0001090,\n\t0x17ab4: 0xe000109f, 0x17ab5: 0xe000109c, 0x17ab6: 0xe0001099, 0x17ab7: 0xe0001096,\n\t0x17ab8: 0xe000ae88, 0x17ab9: 0xe000ae85, 0x17aba: 0xe000a9d3, 0x17abb: 0xe000a9d0,\n\t0x17abc: 0xe00010a9, 0x17abd: 0xe00010a6, 0x17abe: 0xe00010af, 0x17abf: 0xe00010ac,\n\t// Block 0x5eb, offset 0x17ac0\n\t0x17ac0: 0xe00010d2, 0x17ac1: 0xe00010cf, 0x17ac2: 0xe00010cc, 0x17ac3: 0xe00010c9,\n\t0x17ac4: 0xe00010e1, 0x17ac5: 0xe00010de, 0x17ac6: 0xe00010e7, 0x17ac7: 0xe00010e4,\n\t0x17ac8: 0xe00010ed, 0x17ac9: 0xe00010ea, 0x17aca: 0xe00010fc, 0x17acb: 0xe00010f9,\n\t0x17acc: 0xe00010f6, 0x17acd: 0xe00010f3, 0x17ace: 0xe0001123, 0x17acf: 0xe0001120,\n\t0x17ad0: 0xe0001141, 0x17ad1: 0xe000113e, 0x17ad2: 0xe0001153, 0x17ad3: 0xe0001150,\n\t0x17ad4: 0xe0001159, 0x17ad5: 0xe0001156, 0x17ad6: 0xe0000c15, 0x17ad7: 0xe0000f8d,\n\t0x17ad8: 0xe00010db, 0x17ad9: 0xe0001111, 0x17ada: 0xf0000404, 0x17adb: 0xe0000f70,\n\t0x17adc: 0x40300420, 0x17add: 0x40300620, 0x17ade: 0xe0000f7f, 0x17adf: 0x402c9620,\n\t0x17ae0: 0xe000099b, 0x17ae1: 0xe0000998, 0x17ae2: 0xe0000989, 0x17ae3: 0xe0000986,\n\t0x17ae4: 0xe000ae1c, 0x17ae5: 0xe000ae19, 0x17ae6: 0xe0000930, 0x17ae7: 0xe000092c,\n\t0x17ae8: 0xe0000940, 0x17ae9: 0xe000093c, 0x17aea: 0xe0000938, 0x17aeb: 0xe0000934,\n\t0x17aec: 0xe00009aa, 0x17aed: 0xe00009a6, 0x17aee: 0xe000ae16, 0x17aef: 0xe000ae13,\n\t0x17af0: 0xe000090a, 0x17af1: 0xe0000906, 0x17af2: 0xe000091a, 0x17af3: 0xe0000916,\n\t0x17af4: 0xe0000912, 0x17af5: 0xe000090e, 0x17af6: 0xe00009a2, 0x17af7: 0xe000099e,\n\t0x17af8: 0xe0000b6e, 0x17af9: 0xe0000b6b, 0x17afa: 0xe0000b5c, 0x17afb: 0xe0000b59,\n\t0x17afc: 0xe0000b26, 0x17afd: 0xe0000b23, 0x17afe: 0xe000ae34, 0x17aff: 0xe000ae31,\n\t// Block 0x5ec, offset 0x17b00\n\t0x17b00: 0xe0000b03, 0x17b01: 0xe0000aff, 0x17b02: 0xe0000b13, 0x17b03: 0xe0000b0f,\n\t0x17b04: 0xe0000b0b, 0x17b05: 0xe0000b07, 0x17b06: 0xe0000b75, 0x17b07: 0xe0000b71,\n\t0x17b08: 0xe0000c66, 0x17b09: 0xe0000c63, 0x17b0a: 0xe0000c78, 0x17b0b: 0xe0000c75,\n\t0x17b0c: 0xe0000e84, 0x17b0d: 0xe0000e81, 0x17b0e: 0xe0000e44, 0x17b0f: 0xe0000e41,\n\t0x17b10: 0xe000ae4c, 0x17b11: 0xe000ae49, 0x17b12: 0xe0000db5, 0x17b13: 0xe0000db1,\n\t0x17b14: 0xe0000dc5, 0x17b15: 0xe0000dc1, 0x17b16: 0xe0000dbd, 0x17b17: 0xe0000db9,\n\t0x17b18: 0xe0000e8b, 0x17b19: 0xe0000e87, 0x17b1a: 0xe000ae58, 0x17b1b: 0xe000ae55,\n\t0x17b1c: 0xe0000e65, 0x17b1d: 0xe0000e61, 0x17b1e: 0xe0000e75, 0x17b1f: 0xe0000e71,\n\t0x17b20: 0xe0000e6d, 0x17b21: 0xe0000e69, 0x17b22: 0xe0000e7d, 0x17b23: 0xe0000e79,\n\t0x17b24: 0xe000108d, 0x17b25: 0xe000108a, 0x17b26: 0xe000104d, 0x17b27: 0xe000104a,\n\t0x17b28: 0xe000ae8e, 0x17b29: 0xe000ae8b, 0x17b2a: 0xe000106e, 0x17b2b: 0xe000106a,\n\t0x17b2c: 0xe000107e, 0x17b2d: 0xe000107a, 0x17b2e: 0xe0001076, 0x17b2f: 0xe0001072,\n\t0x17b30: 0xe0001086, 0x17b31: 0xe0001082, 0x17b32: 0xe0001108, 0x17b33: 0xe0001105,\n\t0x17b34: 0xe0001135, 0x17b35: 0xe0001132, 0x17b36: 0xe000112f, 0x17b37: 0xe000112c,\n\t0x17b38: 0xe000111d, 0x17b39: 0xe000111a, 0x17b3a: 0xe0000d0a, 0x17b3b: 0xe0000d07,\n\t0x17b3c: 0x0030d888, 0x17b3d: 0x4030d820, 0x17b3e: 0x00312088, 0x17b3f: 0x40312020,\n\t// Block 0x5ed, offset 0x17b40\n\t0x17b40: 0xa0000000, 0x17b41: 0xa0000000, 0x17b42: 0xa0000000, 0x17b43: 0xa0000000,\n\t0x17b44: 0xa0000000, 0x17b45: 0xa0000000, 0x17b46: 0xa0000000, 0x17b47: 0xa0000000,\n\t0x17b48: 0xa0000000, 0x17b49: 0x40020020, 0x17b4a: 0x40020220, 0x17b4b: 0x40020420,\n\t0x17b4c: 0x40020620, 0x17b4d: 0x40020820, 0x17b4e: 0xa0000000, 0x17b4f: 0xa0000000,\n\t0x17b50: 0xa0000000, 0x17b51: 0xa0000000, 0x17b52: 0xa0000000, 0x17b53: 0xa0000000,\n\t0x17b54: 0xa0000000, 0x17b55: 0xa0000000, 0x17b56: 0xa0000000, 0x17b57: 0xa0000000,\n\t0x17b58: 0xa0000000, 0x17b59: 0xa0000000, 0x17b5a: 0xa0000000, 0x17b5b: 0xa0000000,\n\t0x17b5c: 0xa0000000, 0x17b5d: 0xa0000000, 0x17b5e: 0xa0000000, 0x17b5f: 0xa0000000,\n\t0x17b60: 0x40021220, 0x17b61: 0x4002ba20, 0x17b62: 0x4003e020, 0x17b63: 0x4004ea20,\n\t0x17b64: 0x4027de20, 0x17b65: 0x4004ec20, 0x17b66: 0x4004e620, 0x17b67: 0x4003d220,\n\t0x17b68: 0x4003f420, 0x17b69: 0x4003f620, 0x17b6a: 0x4004d820, 0x17b6b: 0x40093820,\n\t0x17b6c: 0x40024020, 0x17b6d: 0x40021a20, 0x17b6e: 0x4002e420, 0x17b6f: 0x4004e220,\n\t0x17b70: 0x4029cc20, 0x17b71: 0x4029ce20, 0x17b72: 0x4029d020, 0x17b73: 0x4029d220,\n\t0x17b74: 0x4029d420, 0x17b75: 0x4029d620, 0x17b76: 0x4029d820, 0x17b77: 0x4029da20,\n\t0x17b78: 0x4029dc20, 0x17b79: 0x4029de20, 0x17b7a: 0x40026c20, 0x17b7b: 0x40026220,\n\t0x17b7c: 0x40094020, 0x17b7d: 0x40094220, 0x17b7e: 0x40094420, 0x17b7f: 0x4002c420,\n\t// Block 0x5ee, offset 0x17b80\n\t0x17b80: 0x4004d620, 0x17b81: 0x002bde88, 0x17b82: 0x002c0a88, 0x17b83: 0xc3350911,\n\t0x17b84: 0x002c6288, 0x17b85: 0x002c9888, 0x17b86: 0x002d0888, 0x17b87: 0xc33900d1,\n\t0x17b88: 0x002d6888, 0x17b89: 0xc33b0931, 0x17b8a: 0x002dcc88, 0x17b8b: 0x002dfe88,\n\t0x17b8c: 0xc0030002, 0x17b8d: 0x002e8288, 0x17b8e: 0x002e9e88, 0x17b8f: 0xc33f0071,\n\t0x17b90: 0x002f2c88, 0x17b91: 0x002f5688, 0x17b92: 0x002f7a88, 0x17b93: 0xc3430911,\n\t0x17b94: 0x00302c88, 0x17b95: 0xc3470071, 0x17b96: 0x0030be88, 0x17b97: 0x0030e288,\n\t0x17b98: 0x0030f688, 0x17b99: 0x00310088, 0x17b9a: 0x00312a88, 0x17b9b: 0x4003f820,\n\t0x17b9c: 0x4004e420, 0x17b9d: 0x4003fa20, 0x17b9e: 0x40062420, 0x17b9f: 0x40021620,\n\t0x17ba0: 0x40061e20, 0x17ba1: 0x402bde20, 0x17ba2: 0x402c0a20, 0x17ba3: 0xc3330911,\n\t0x17ba4: 0x402c6220, 0x17ba5: 0x402c9820, 0x17ba6: 0x402d0820, 0x17ba7: 0xc33700d1,\n\t0x17ba8: 0x402d6820, 0x17ba9: 0x402d9a20, 0x17baa: 0x402dcc20, 0x17bab: 0x402dfe20,\n\t0x17bac: 0xc0000002, 0x17bad: 0x402e8220, 0x17bae: 0x402e9e20, 0x17baf: 0xc33d0071,\n\t0x17bb0: 0x402f2c20, 0x17bb1: 0x402f5620, 0x17bb2: 0x402f7a20, 0x17bb3: 0xc3410911,\n\t0x17bb4: 0x40302c20, 0x17bb5: 0xc3450071, 0x17bb6: 0x4030be20, 0x17bb7: 0x4030e220,\n\t0x17bb8: 0x4030f620, 0x17bb9: 0x40310020, 0x17bba: 0x40312a20, 0x17bbb: 0x4003fc20,\n\t0x17bbc: 0x40094820, 0x17bbd: 0x4003fe20, 0x17bbe: 0x40094c20, 0x17bbf: 0xa0000000,\n\t// Block 0x5ef, offset 0x17bc0\n\t0x17bc0: 0x00093685, 0x17bc1: 0x40083620, 0x17bc2: 0x40083820, 0x17bc3: 0x40083a20,\n\t0x17bc4: 0x40083c20, 0x17bc5: 0x002c628b, 0x17bc6: 0x002c6285, 0x17bc7: 0x002c9885,\n\t0x17bc8: 0x002d9a85, 0x17bc9: 0x002dcc85, 0x17bca: 0x40083e20, 0x17bcb: 0x400a6e20,\n\t0x17bcc: 0x40084020, 0x17bcd: 0xe00009c4, 0x17bce: 0x402d1e20, 0x17bcf: 0x40084220,\n\t0x17bd0: 0xe00002cb, 0x17bd1: 0xe00002d3, 0x17bd2: 0xe00002b2, 0x17bd3: 0xe00002bb,\n\t0x17bd4: 0xe00003cd, 0x17bd5: 0xe00002c3, 0x17bd6: 0xe00003d1, 0x17bd7: 0xe00004ab,\n\t0x17bd8: 0xe0000579, 0x17bd9: 0xe00002c7, 0x17bda: 0xe0000640, 0x17bdb: 0xe00002cf,\n\t0x17bdc: 0xe00004af, 0x17bdd: 0xe0000644, 0x17bde: 0xe0000798, 0x17bdf: 0xf0001e1e,\n\t0x17be0: 0x002d9a8a, 0x17be1: 0xe00027d4, 0x17be2: 0xe00027db, 0x17be3: 0xe00027ee,\n\t0x17be4: 0x0030be8a, 0x17be5: 0xe0002848, 0x17be6: 0xe000284f, 0x17be7: 0xe00010bb,\n\t0x17be8: 0xe00027f4, 0x17be9: 0x0030f68a, 0x17bea: 0xe0002883, 0x17beb: 0xe000288a,\n\t0x17bec: 0x002e228a, 0x17bed: 0x002c3a8a, 0x17bee: 0x002c628a, 0x17bef: 0x002e828a,\n\t0x17bf0: 0x002d9a84, 0x17bf1: 0xf0001f04, 0x17bf2: 0xf0000404, 0x17bf3: 0xf0001f04,\n\t0x17bf4: 0x0030be84, 0x17bf5: 0xf0001f04, 0x17bf6: 0xf0000404, 0x17bf7: 0xe00010b6,\n\t0x17bf8: 0xf0001f04, 0x17bf9: 0x0030f684, 0x17bfa: 0xf0001f04, 0x17bfb: 0xf0000404,\n\t0x17bfc: 0x002e2284, 0x17bfd: 0x002c3a84, 0x17bfe: 0x002c6284, 0x17bff: 0x002e8284,\n\t// Block 0x5f0, offset 0x17c00\n\t0x17c00: 0xf0001f04, 0x17c01: 0xf0001f04, 0x17c02: 0xf0001f04, 0x17c03: 0xf0001f04,\n\t0x17c04: 0xf0001f04, 0x17c05: 0xf0001f04, 0x17c06: 0xf0001f04, 0x17c07: 0xf0001f04,\n\t0x17c08: 0xf0001f04, 0x17c09: 0xf0001f04, 0x17c0a: 0xf0001f04,\n\t0x17c10: 0xf0000a04, 0x17c11: 0xf0000a04, 0x17c12: 0xf0000a04, 0x17c13: 0xf0000a04,\n\t0x17c14: 0xf0000a04, 0x17c15: 0xf0000a04, 0x17c16: 0xf0000a04, 0x17c17: 0xf0000a04,\n\t0x17c18: 0xe00024b3, 0x17c19: 0xf0000a04, 0x17c1a: 0xf0000a04, 0x17c1b: 0xf0000a04,\n\t0x17c1c: 0xf0000a04, 0x17c1d: 0xf0000a04, 0x17c1e: 0xf0000a04, 0x17c1f: 0xf0000a04,\n\t0x17c20: 0xf0000a04, 0x17c21: 0xf0000a04, 0x17c22: 0xf0000a04, 0x17c23: 0xf0000a04,\n\t0x17c24: 0xf0000a04, 0x17c25: 0xf0000a04, 0x17c26: 0xf0000a04, 0x17c27: 0xf0000a04,\n\t0x17c28: 0xf0000a04, 0x17c29: 0xf0000a04, 0x17c2a: 0xf0000a04, 0x17c2b: 0x002c3a8c,\n\t0x17c2c: 0x002f7a8c, 0x17c2d: 0xf0000c0c, 0x17c2e: 0xf0000c0c,\n\t0x17c30: 0x002bde9d, 0x17c31: 0x002c0a9d, 0x17c32: 0x002c3a9d, 0x17c33: 0x002c629d,\n\t0x17c34: 0x002c989d, 0x17c35: 0x002d089d, 0x17c36: 0x002d229d, 0x17c37: 0x002d689d,\n\t0x17c38: 0x002d9a9d, 0x17c39: 0x002dcc9d, 0x17c3a: 0x002dfe9d, 0x17c3b: 0x002e229d,\n\t0x17c3c: 0x002e829d, 0x17c3d: 0x002e9e9d, 0x17c3e: 0x002ee29d, 0x17c3f: 0x002f2c9d,\n\t// Block 0x5f1, offset 0x17c40\n\t0x17c40: 0x00352088, 0x17c41: 0x40352020, 0x17c42: 0x40070620, 0x17c43: 0xae608302,\n\t0x17c44: 0xae605f02, 0x17c45: 0xae602a02, 0x17c46: 0xae602202, 0x17c47: 0xae605f02,\n\t0x17c48: 0xa0000000, 0x17c49: 0xa0000000, 0x17c4a: 0x00341c88, 0x17c4b: 0x40341c20,\n\t0x17c4c: 0x00369688, 0x17c4d: 0x40369620, 0x17c4e: 0x00353088, 0x17c4f: 0x40353020,\n\t0x17c50: 0x00336483, 0x17c51: 0x40336420, 0x17c52: 0x00336a88, 0x17c53: 0x40336a20,\n\t0x17c54: 0x00337a88, 0x17c55: 0x40337a20, 0x17c56: 0x0033dc88, 0x17c57: 0x4033dc20,\n\t0x17c58: 0x0033aa88, 0x17c59: 0x4033aa20, 0x17c5a: 0x00345888, 0x17c5b: 0x40345820,\n\t0x17c5c: 0x00347888, 0x17c5d: 0x40347820, 0x17c5e: 0x00347088, 0x17c5f: 0x40347020,\n\t0x17c60: 0x00346888, 0x17c61: 0x40346820, 0x17c62: 0x0034ca88, 0x17c63: 0x4034ca20,\n\t0x17c64: 0x0034dc88, 0x17c65: 0x4034dc20, 0x17c66: 0x00351888, 0x17c67: 0x40351820,\n\t0x17c68: 0x00372688, 0x17c69: 0x40372620, 0x17c6a: 0x00354488, 0x17c6b: 0x40354420,\n\t0x17c6c: 0x00355888, 0x17c6d: 0x40355820, 0x17c6e: 0x00359288, 0x17c6f: 0x40359220,\n\t0x17c70: 0x00359a88, 0x17c71: 0x40359a20, 0x17c72: 0x0035cc88, 0x17c73: 0x4035cc20,\n\t0x17c74: 0x00360e88, 0x17c75: 0x40360e20, 0x17c76: 0x00362a88, 0x17c77: 0x40362a20,\n\t0x17c78: 0x00363a88, 0x17c79: 0x40363a20, 0x17c7a: 0x0035d488, 0x17c7b: 0x4035d420,\n\t0x17c7c: 0x00364488, 0x17c7d: 0x40364420, 0x17c7e: 0x00364c88, 0x17c7f: 0x40364c20,\n\t// Block 0x5f2, offset 0x17c80\n\t0x17c80: 0xa0000000, 0x17c81: 0xa0000000, 0x17c82: 0xa0000000, 0x17c83: 0xa0000000,\n\t0x17c84: 0xa0000000, 0x17c86: 0x40096620, 0x17c87: 0x40096a20,\n\t0x17c88: 0x40070820, 0x17c89: 0x4004f220, 0x17c8a: 0x4004f620, 0x17c8b: 0x4027e620,\n\t0x17c8c: 0x40024820, 0x17c8d: 0x40024a20, 0x17c8e: 0x40070e20, 0x17c8f: 0x40071020,\n\t0x17c90: 0xa0000001, 0x17c91: 0xa0000002, 0x17c92: 0xa0000004, 0x17c93: 0xa0000003,\n\t0x17c94: 0xa0000005, 0x17c95: 0xae600000, 0x17c96: 0xae600000, 0x17c97: 0xae600000,\n\t0x17c98: 0xa1e00000, 0x17c99: 0xa1f00000, 0x17c9a: 0xa2000000, 0x17c9b: 0x40026420,\n\t0x17c9e: 0x40027020, 0x17c9f: 0x4002cc20,\n\t0x17ca0: 0x403aa220, 0x17ca1: 0x4039a620, 0x17ca2: 0x40393a20, 0x17ca3: 0x40393821,\n\t0x17ca4: 0x40399c21, 0x17ca5: 0x40392820, 0x17ca6: 0x4039a821, 0x17ca7: 0xcf6e0151,\n\t0x17ca8: 0xcf729a11, 0x17ca9: 0x40395420, 0x17caa: 0xcf769a11, 0x17cab: 0x40394c20,\n\t0x17cac: 0xcf7a9a11, 0x17cad: 0x40395620, 0x17cae: 0x40395820, 0x17caf: 0xcf7e9a11,\n\t0x17cb0: 0x40396220, 0x17cb1: 0xcf829a11, 0x17cb2: 0x40396c20, 0x17cb3: 0x40397020,\n\t0x17cb4: 0x40397220, 0x17cb5: 0x40397420, 0x17cb6: 0x40397620, 0x17cb7: 0x40397820,\n\t0x17cb8: 0x40397a20, 0x17cb9: 0x40397c20, 0x17cba: 0x40397e20, 0x17cbb: 0x403a3820,\n\t0x17cbc: 0x403a3a20, 0x17cbd: 0x403a9c20, 0x17cbe: 0x403a9e20, 0x17cbf: 0x403aa020,\n\t// Block 0x5f3, offset 0x17cc0\n\t0x17cc0: 0xa0000000, 0x17cc1: 0x40398020, 0x17cc2: 0x40398220, 0x17cc3: 0x403a1a20,\n\t0x17cc4: 0xcf8a9a11, 0x17cc5: 0xcf8c9a11, 0x17cc6: 0xcf8e9a11, 0x17cc7: 0x403a6820,\n\t0x17cc8: 0xcf929a32, 0x17cc9: 0x403a8e20, 0x17cca: 0xcf970171, 0x17ccb: 0xa000c302,\n\t0x17ccc: 0xa000c502, 0x17ccd: 0xa000c402, 0x17cce: 0xa000bd02, 0x17ccf: 0xa000bf02,\n\t0x17cd0: 0xa000be02, 0x17cd1: 0xa000c702, 0x17cd2: 0xa220bc02, 0x17cd3: 0xa000c902,\n\t0x17cd4: 0xa000c602, 0x17cd5: 0xadc0bf02, 0x17cd6: 0xa000c102, 0x17cd7: 0xa000c202,\n\t0x17cd8: 0xa000c802, 0x17cd9: 0xae60c402, 0x17cda: 0xae60c502, 0x17cdb: 0xae60c602,\n\t0x17cdc: 0xadc0c702, 0x17cdd: 0xae60c802, 0x17cde: 0xae60c902, 0x17cdf: 0xadc0c002,\n\t0x17ce0: 0xe000015e, 0x17ce1: 0xe00001e6, 0x17ce2: 0xe0000301, 0x17ce3: 0xe00003db,\n\t0x17ce4: 0xe00004b6, 0x17ce5: 0xe0000580, 0x17ce6: 0xe000064b, 0x17ce7: 0xe00006f3,\n\t0x17ce8: 0xe000079f, 0x17ce9: 0xe0000844, 0x17cea: 0x4004ee20, 0x17ceb: 0x40024c20,\n\t0x17cec: 0x40024e20, 0x17ced: 0x4004de20, 0x17cee: 0x40393a20, 0x17cef: 0x403a1020,\n\t0x17cf0: 0xa000c002, 0x17cf1: 0x40392420, 0x17cf2: 0x40392220, 0x17cf3: 0x40392a20,\n\t0x17cf4: 0x00391c84, 0x17cf5: 0xf0000404, 0x17cf6: 0xe000b07a, 0x17cf7: 0xf0000404,\n\t0x17cf8: 0xf0000404, 0x17cf9: 0xcf789a11, 0x17cfa: 0x40395c20, 0x17cfb: 0x40393e20,\n\t0x17cfc: 0x40395e20, 0x17cfd: 0x40396020, 0x17cfe: 0xcf749a11, 0x17cff: 0x40396220,\n\t// Block 0x5f4, offset 0x17d00\n\t0x17d00: 0x40394220, 0x17d01: 0x40397620, 0x17d02: 0x40397820, 0x17d03: 0x40396620,\n\t0x17d04: 0x40396820, 0x17d05: 0x40397a20, 0x17d06: 0xcf7c9a11, 0x17d07: 0x40396e20,\n\t0x17d08: 0xcf809a11, 0x17d09: 0x40398e20, 0x17d0a: 0x40399020, 0x17d0b: 0x40399220,\n\t0x17d0c: 0x40399420, 0x17d0d: 0x40399620, 0x17d0e: 0x40399820, 0x17d0f: 0x40399a20,\n\t0x17d10: 0x40399c20, 0x17d11: 0xcf849a11, 0x17d12: 0x4039aa20, 0x17d13: 0x4039ac20,\n\t0x17d14: 0x4039ae20, 0x17d15: 0x4039b020, 0x17d16: 0x4039b220, 0x17d17: 0x4039b420,\n\t0x17d18: 0x40396e20, 0x17d19: 0x4039b820, 0x17d1a: 0x4039ca20, 0x17d1b: 0x4039cc20,\n\t0x17d1c: 0x4039ce20, 0x17d1d: 0x4039e020, 0x17d1e: 0x4039e220, 0x17d1f: 0x4039ea20,\n\t0x17d20: 0x4039f220, 0x17d21: 0x4039fe20, 0x17d22: 0x403a0020, 0x17d23: 0x403a0220,\n\t0x17d24: 0x403a0420, 0x17d25: 0x403a0820, 0x17d26: 0x403a0a20, 0x17d27: 0x403a1420,\n\t0x17d28: 0x403a1620, 0x17d29: 0xcf869a11, 0x17d2a: 0x403a1e20, 0x17d2b: 0x403a2020,\n\t0x17d2c: 0x403a2220, 0x17d2d: 0x403a2620, 0x17d2e: 0x403a2820, 0x17d2f: 0xcf889a11,\n\t0x17d30: 0x403a2c20, 0x17d31: 0x403a2e20, 0x17d32: 0x403a3020, 0x17d33: 0x403a3220,\n\t0x17d34: 0x403a3420, 0x17d35: 0x403a4220, 0x17d36: 0x403a4420, 0x17d37: 0x403a4620,\n\t0x17d38: 0x403a4820, 0x17d39: 0x403a6020, 0x17d3a: 0xcf909a11, 0x17d3b: 0x403a5a20,\n\t0x17d3c: 0x403a5c20, 0x17d3d: 0x403a5e20, 0x17d3e: 0x4039a220, 0x17d3f: 0x40396c20,\n\t// Block 0x5f5, offset 0x17d40\n\t0x17d40: 0xe000b077, 0x17d41: 0xcf950171, 0x17d42: 0x4039a021, 0x17d43: 0x4039a420,\n\t0x17d44: 0x403a7620, 0x17d45: 0x403a7820, 0x17d46: 0x403a7a20, 0x17d47: 0x403a7c20,\n\t0x17d48: 0x403a7e20, 0x17d49: 0x403a8020, 0x17d4a: 0x403a8220, 0x17d4b: 0x403a8420,\n\t0x17d4c: 0xcf999a11, 0x17d4d: 0x403a9420, 0x17d4e: 0x403a9620, 0x17d4f: 0x403a8620,\n\t0x17d50: 0x403a9820, 0x17d51: 0x403a9a20, 0x17d52: 0xcf9b0171, 0x17d53: 0x4039ac21,\n\t0x17d54: 0x4002e820, 0x17d55: 0x403a7220, 0x17d56: 0xae600000, 0x17d57: 0xae600000,\n\t0x17d58: 0xae600000, 0x17d59: 0xae600000, 0x17d5a: 0xae600000, 0x17d5b: 0xae600000,\n\t0x17d5c: 0xae600000, 0x17d5d: 0xa0000000, 0x17d5e: 0x40071220, 0x17d5f: 0xae600000,\n\t0x17d60: 0xae600000, 0x17d61: 0xae600000, 0x17d62: 0xae600000, 0x17d63: 0xadc00000,\n\t0x17d64: 0xae600000, 0x17d65: 0x003a7484, 0x17d66: 0x003a9084, 0x17d67: 0xae600000,\n\t0x17d68: 0xae600000, 0x17d69: 0x40071420, 0x17d6a: 0xadc00000, 0x17d6b: 0xae600000,\n\t0x17d6c: 0xae600000, 0x17d6d: 0xadc00000, 0x17d6e: 0x40399e20, 0x17d6f: 0x4039ba20,\n\t0x17d70: 0xe0000161, 0x17d71: 0xe00001e9, 0x17d72: 0xe0000304, 0x17d73: 0xe00003de,\n\t0x17d74: 0xe00004b9, 0x17d75: 0xe0000583, 0x17d76: 0xe000064e, 0x17d77: 0xe00006f6,\n\t0x17d78: 0xe00007a2, 0x17d79: 0xe0000847, 0x17d7a: 0x4039d020, 0x17d7b: 0x4039e420,\n\t0x17d7c: 0x4039f420, 0x17d7d: 0xe0001553, 0x17d7e: 0xe0001779, 0x17d7f: 0x403a7020,\n\t// Block 0x5f6, offset 0x17d80\n\t0x17d80: 0xe000155f, 0x17d81: 0xe0001565, 0x17d82: 0xe000157a, 0x17d83: 0xe00015b0,\n\t0x17d84: 0xe00015b6, 0x17d85: 0xe000ae97, 0x17d86: 0xe000ae9d, 0x17d87: 0xe000aea3,\n\t0x17d88: 0xe000aeb5, 0x17d89: 0xf0001a1a, 0x17d8a: 0xf0001a1a, 0x17d8b: 0xe000aebe,\n\t0x17d8c: 0xe000aec4, 0x17d8d: 0xe000aeca, 0x17d8e: 0xe000aedc, 0x17d8f: 0xe000289a,\n\t0x17d90: 0xe00036b1, 0x17d91: 0xe000aee2, 0x17d92: 0xe000aef4, 0x17d93: 0xe00028a0,\n\t0x17d94: 0xe00036ba, 0x17d95: 0xe000aefd, 0x17d96: 0xe000af03, 0x17d97: 0xe000af09,\n\t0x17d98: 0xe000af0f, 0x17d99: 0xe000af15, 0x17d9a: 0xe000af18, 0x17d9b: 0xe000af1e,\n\t0x17d9c: 0xe000af2d, 0x17d9d: 0xe000af36, 0x17d9e: 0xe000af3f, 0x17d9f: 0xe000af4e,\n\t0x17da0: 0xe000af8a, 0x17da1: 0xe000af99, 0x17da2: 0xe000af9f, 0x17da3: 0xe000afa5,\n\t0x17da4: 0xe000afab, 0x17da5: 0xe000afb7, 0x17da6: 0xe000afbd, 0x17da7: 0xe000afc6,\n\t0x17da8: 0xe000afcf, 0x17da9: 0xe000afd5, 0x17daa: 0xe000afdb, 0x17dab: 0xe000afe1,\n\t0x17dac: 0xe000afe7, 0x17dad: 0xe000afed, 0x17dae: 0xe000aff3, 0x17daf: 0xe000aff9,\n\t0x17db0: 0xe000afff, 0x17db1: 0xe00028e2, 0x17db2: 0xe0003708, 0x17db3: 0xe000b005,\n\t0x17db4: 0xe000b00b, 0x17db5: 0xe00028e8, 0x17db6: 0xe000370e, 0x17db7: 0xf0001a1a,\n\t0x17db8: 0xe000371a, 0x17db9: 0xe0003720, 0x17dba: 0xe0003726, 0x17dbb: 0xe0003732,\n\t0x17dbc: 0xe000373e, 0x17dbd: 0xf0001a1a, 0x17dbe: 0xf0001a1a, 0x17dbf: 0xe000b017,\n\t// Block 0x5f7, offset 0x17dc0\n\t0x17dc0: 0xe000b01d, 0x17dc1: 0xe000b023, 0x17dc2: 0xe000b02f, 0x17dc3: 0xe00028f4,\n\t0x17dc4: 0xe000374d, 0x17dc5: 0xe000b038, 0x17dc6: 0xe000b03e, 0x17dc7: 0xe000b044,\n\t0x17dc8: 0xe000b04d, 0x17dc9: 0xe00028f7, 0x17dca: 0xe0003750, 0x17dcb: 0xe000b053,\n\t0x17dcc: 0xe000b059, 0x17dcd: 0xe000b05f, 0x17dce: 0xe000b071, 0x17dcf: 0xe00028fd,\n\t0x17dd0: 0xe000375c, 0x17dd1: 0xe0003765, 0x17dd2: 0xe000376b, 0x17dd3: 0xf0001a1a,\n\t0x17dd4: 0xf0001a1a, 0x17dd5: 0xe0003786, 0x17dd6: 0xe000378c, 0x17dd7: 0xe0003792,\n\t0x17dd8: 0xe00037a4, 0x17dd9: 0xf0001a1a, 0x17dda: 0xf0001a1a, 0x17ddb: 0xe000af21,\n\t0x17ddc: 0xe000af24, 0x17ddd: 0xe000377d, 0x17dde: 0xe0000003, 0x17ddf: 0xe0000006,\n\t0x17de0: 0xe0000009, 0x17de1: 0xe000000c, 0x17de2: 0xe000000f, 0x17de3: 0xe0000012,\n\t0x17de4: 0xe000156b, 0x17de5: 0xe000156e, 0x17de6: 0xe0001577, 0x17de7: 0xe000157d,\n\t0x17de8: 0xe00015aa, 0x17de9: 0xe00015b3, 0x17dea: 0xe000aea6, 0x17deb: 0xe000aea9,\n\t0x17dec: 0xe000aeb2, 0x17ded: 0xe000aeb8, 0x17dee: 0xf0001919, 0x17def: 0xf0001919,\n\t0x17df0: 0xe000aecd, 0x17df1: 0xe000aed0, 0x17df2: 0xe000aed9, 0x17df3: 0xe000aedf,\n\t0x17df4: 0xe0002897, 0x17df5: 0xe00036ae, 0x17df6: 0xe000aee5, 0x17df7: 0xe000aee8,\n\t0x17df8: 0xe000aef1, 0x17df9: 0xe000aef7, 0x17dfa: 0xe000289d, 0x17dfb: 0xe00036b7,\n\t0x17dfc: 0xe00028df, 0x17dfd: 0xe0003705, 0x17dfe: 0xe00028e5, 0x17dff: 0xe000370b,\n\t// Block 0x5f8, offset 0x17e00\n\t0x17e00: 0xf0001919, 0x17e01: 0xe000372f, 0x17e02: 0xe000373b, 0x17e03: 0xf0001919,\n\t0x17e04: 0xf0001919, 0x17e05: 0xe000b02c, 0x17e06: 0xe00028f1, 0x17e07: 0xe000374a,\n\t0x17e08: 0xe000b032, 0x17e09: 0xe000b04a, 0x17e0a: 0xe000b062, 0x17e0b: 0xe000b065,\n\t0x17e0c: 0xe000b06e, 0x17e0d: 0xe000b074, 0x17e0e: 0xe00028fa, 0x17e0f: 0xe0003759,\n\t0x17e10: 0xe000377a, 0x17e11: 0xe0003795, 0x17e12: 0xe0003798, 0x17e13: 0xe00037a1,\n\t0x17e14: 0xe00037a7, 0x17e15: 0xf0001919, 0x17e16: 0xf0001919, 0x17e17: 0xe000155c,\n\t0x17e18: 0xe0001562, 0x17e19: 0xe0001568, 0x17e1a: 0xe0001571, 0x17e1b: 0xe0001580,\n\t0x17e1c: 0xe000ae94, 0x17e1d: 0xe000ae9a, 0x17e1e: 0xe000aea0, 0x17e1f: 0xe000aeac,\n\t0x17e20: 0xf0001717, 0x17e21: 0xe000aebb, 0x17e22: 0xe000aec1, 0x17e23: 0xe000aec7,\n\t0x17e24: 0xe000aed3, 0x17e25: 0xe00036a8, 0x17e26: 0xe000aeeb, 0x17e27: 0xe000aefa,\n\t0x17e28: 0xe000af00, 0x17e29: 0xe000af06, 0x17e2a: 0xe000af0c, 0x17e2b: 0xe000af12,\n\t0x17e2c: 0xe000af1b, 0x17e2d: 0xe000af27, 0x17e2e: 0xe000af30, 0x17e2f: 0xe000af39,\n\t0x17e30: 0xe000af48, 0x17e31: 0xe000af87, 0x17e32: 0xe000af8d, 0x17e33: 0xe000af96,\n\t0x17e34: 0xe000af9c, 0x17e35: 0xe000afa2, 0x17e36: 0xe000afa8, 0x17e37: 0xe000afb4,\n\t0x17e38: 0xe000afba, 0x17e39: 0xe000afc9, 0x17e3a: 0xe000afd2, 0x17e3b: 0xe000afd8,\n\t0x17e3c: 0xe000afde, 0x17e3d: 0xe000afe4, 0x17e3e: 0xe000afea, 0x17e3f: 0xe000aff0,\n\t// Block 0x5f9, offset 0x17e40\n\t0x17e40: 0xe000aff6, 0x17e41: 0xe000affc, 0x17e42: 0xe000b002, 0x17e43: 0xe000b008,\n\t0x17e44: 0xe0003717, 0x17e45: 0xe000371d, 0x17e46: 0xe0003723, 0x17e47: 0xe0003729,\n\t0x17e48: 0xe0003735, 0x17e49: 0xe000b014, 0x17e4a: 0xe000b01a, 0x17e4b: 0xe000b020,\n\t0x17e4c: 0xe000b026, 0x17e4d: 0xe0003747, 0x17e4e: 0xe000b035, 0x17e4f: 0xe000b03b,\n\t0x17e50: 0xe000b041, 0x17e51: 0xe000b047, 0x17e52: 0xe000b050, 0x17e53: 0xe000b056,\n\t0x17e54: 0xe000b05c, 0x17e55: 0xe000b068, 0x17e56: 0xe0003753, 0x17e57: 0xe0003762,\n\t0x17e58: 0xe0003768, 0x17e59: 0xe000375f, 0x17e5a: 0xe0003783, 0x17e5b: 0xe0003789,\n\t0x17e5c: 0xe000378f, 0x17e5d: 0xe000379b, 0x17e5e: 0xf0001717, 0x17e5f: 0xe0001574,\n\t0x17e60: 0xe0001583, 0x17e61: 0xe000aeaf, 0x17e62: 0xf0001818, 0x17e63: 0xe000aed6,\n\t0x17e64: 0xe00036ab, 0x17e65: 0xe000aeee, 0x17e66: 0xe00036b4, 0x17e67: 0xe000af4b,\n\t0x17e68: 0xe00036d2, 0x17e69: 0xe000af7e, 0x17e6a: 0xe00036de, 0x17e6b: 0xe000372c,\n\t0x17e6c: 0xe0003738, 0x17e6d: 0xe000b029, 0x17e6e: 0xe000b06b, 0x17e6f: 0xe0003756,\n\t0x17e70: 0xe000379e, 0x17e71: 0xf0001818, 0x17e72: 0xe000ae91, 0x17e73: 0xe0003690,\n\t0x17e74: 0xe0003693, 0x17e75: 0xe00028d0, 0x17e76: 0xe00036f6, 0x17e77: 0xe00028d6,\n\t0x17e78: 0xe00036fc, 0x17e79: 0xe00028dc, 0x17e7a: 0xe0003702, 0x17e7b: 0xe00028b8,\n\t0x17e7c: 0xe00036d8, 0x17e7d: 0xe00028be, 0x17e7e: 0xe00036e4, 0x17e7f: 0xe00028ac,\n\t// Block 0x5fa, offset 0x17e80\n\t0x17e80: 0xe00036c6, 0x17e81: 0xe00028a6, 0x17e82: 0xe00036c0, 0x17e83: 0xe00028b2,\n\t0x17e84: 0xe00036cc, 0x17e85: 0xe00028c4, 0x17e86: 0xe00036ea, 0x17e87: 0xe00028ca,\n\t0x17e88: 0xe00036f0, 0x17e89: 0xe000af5a, 0x17e8a: 0xe000af66, 0x17e8b: 0xe000af72,\n\t0x17e8c: 0xe000af84, 0x17e8d: 0xe000af78, 0x17e8e: 0xe000af45, 0x17e8f: 0xe000af93,\n\t0x17e90: 0xe000afb1, 0x17e91: 0xe00028cd, 0x17e92: 0xe00036f3, 0x17e93: 0xe00028d3,\n\t0x17e94: 0xe00036f9, 0x17e95: 0xe00028d9, 0x17e96: 0xe00036ff, 0x17e97: 0xe00028b5,\n\t0x17e98: 0xe00036d5, 0x17e99: 0xe00028bb, 0x17e9a: 0xe00036e1, 0x17e9b: 0xe00028a9,\n\t0x17e9c: 0xe00036c3, 0x17e9d: 0xe00028a3, 0x17e9e: 0xe00036bd, 0x17e9f: 0xe00028af,\n\t0x17ea0: 0xe00036c9, 0x17ea1: 0xe00028c1, 0x17ea2: 0xe00036e7, 0x17ea3: 0xe00028c7,\n\t0x17ea4: 0xe00036ed, 0x17ea5: 0xe000af57, 0x17ea6: 0xe000af63, 0x17ea7: 0xe000af6f,\n\t0x17ea8: 0xe000af81, 0x17ea9: 0xe000af75, 0x17eaa: 0xe000af42, 0x17eab: 0xe000af90,\n\t0x17eac: 0xe000afae, 0x17ead: 0xe000af51, 0x17eae: 0xe000af5d, 0x17eaf: 0xe000af69,\n\t0x17eb0: 0xe000af7b, 0x17eb1: 0xe00036cf, 0x17eb2: 0xe00036db, 0x17eb3: 0xe000afc0,\n\t0x17eb4: 0xe000af2a, 0x17eb5: 0xe000af33, 0x17eb6: 0xe000af3c, 0x17eb7: 0xe000af54,\n\t0x17eb8: 0xe000af60, 0x17eb9: 0xe000af6c, 0x17eba: 0xe000afc3, 0x17ebb: 0xe000afcc,\n\t0x17ebc: 0xe0003696, 0x17ebd: 0xe0003699, 0x17ebe: 0x4004c020, 0x17ebf: 0x4004c220,\n\t// Block 0x5fb, offset 0x17ec0\n\t0x17ec0: 0x0039de98, 0x17ec1: 0x0039e69a, 0x17ec2: 0x0039e699, 0x17ec3: 0x0039e697,\n\t0x17ec4: 0x0039e698, 0x17ec5: 0x0039e89a, 0x17ec6: 0x0039e899, 0x17ec7: 0x0039e897,\n\t0x17ec8: 0x0039e898, 0x17ec9: 0x0039ee9a, 0x17eca: 0x0039ee99, 0x17ecb: 0x0039ee97,\n\t0x17ecc: 0x0039ee98, 0x17ecd: 0x0039f09a, 0x17ece: 0x0039f099, 0x17ecf: 0x0039f097,\n\t0x17ed0: 0x0039f098, 0x17ed1: 0x0039fc9a, 0x17ed2: 0x0039fc99, 0x17ed3: 0x0039fc97,\n\t0x17ed4: 0x0039fc98, 0x17ed5: 0x003a129a, 0x17ed6: 0x003a1299, 0x17ed7: 0x003a1297,\n\t0x17ed8: 0x003a1298, 0x17ed9: 0x003a1a9a, 0x17eda: 0x003a1a99, 0x17edb: 0x003a1a97,\n\t0x17edc: 0x003a1a98, 0x17edd: 0x003a409a, 0x17ede: 0x003a4099, 0x17edf: 0x003a4097,\n\t0x17ee0: 0x003a4098, 0x17ee1: 0x003a4e9a, 0x17ee2: 0x003a4e99, 0x17ee3: 0x003a4e97,\n\t0x17ee4: 0x003a4e98, 0x17ee5: 0x003a569a, 0x17ee6: 0x003a5699, 0x17ee7: 0x003a5697,\n\t0x17ee8: 0x003a5698, 0x17ee9: 0x003a689a, 0x17eea: 0x003a6899, 0x17eeb: 0x003a6897,\n\t0x17eec: 0x003a6898, 0x17eed: 0x003a749a, 0x17eee: 0x003a7499, 0x17eef: 0x003a8e9a,\n\t0x17ef0: 0x003a8e99, 0x17ef1: 0x003a909a, 0x17ef2: 0x003a9099, 0x17ef3: 0x003a9097,\n\t0x17ef4: 0x003a9098, 0x17ef5: 0xe0001732, 0x17ef6: 0xe000172f, 0x17ef7: 0xe0001738,\n\t0x17ef8: 0xe0001735, 0x17ef9: 0xe000173e, 0x17efa: 0xe000173b, 0x17efb: 0xe000b011,\n\t0x17efc: 0xe000b00e, 0x17eff: 0xa0000000,\n\t// Block 0x5fc, offset 0x17f00\n\t0x17f00: 0xa0000000, 0x17f01: 0xa0000000, 0x17f02: 0xa0000000, 0x17f03: 0xa0000000,\n\t0x17f04: 0xa0000000, 0x17f05: 0xa0000000, 0x17f06: 0xa0000000, 0x17f07: 0xa0000000,\n\t0x17f08: 0xa0000000, 0x17f09: 0x40020020, 0x17f0a: 0x40020220, 0x17f0b: 0x40020420,\n\t0x17f0c: 0x40020620, 0x17f0d: 0x40020820, 0x17f0e: 0xa0000000, 0x17f0f: 0xa0000000,\n\t0x17f10: 0xa0000000, 0x17f11: 0xa0000000, 0x17f12: 0xa0000000, 0x17f13: 0xa0000000,\n\t0x17f14: 0xa0000000, 0x17f15: 0xa0000000, 0x17f16: 0xa0000000, 0x17f17: 0xa0000000,\n\t0x17f18: 0xa0000000, 0x17f19: 0xa0000000, 0x17f1a: 0xa0000000, 0x17f1b: 0xa0000000,\n\t0x17f1c: 0xa0000000, 0x17f1d: 0xa0000000, 0x17f1e: 0xa0000000, 0x17f1f: 0xa0000000,\n\t0x17f20: 0x40021220, 0x17f21: 0x4002ba20, 0x17f22: 0x4003e020, 0x17f23: 0x4004ea20,\n\t0x17f24: 0x4027de20, 0x17f25: 0x4004ec20, 0x17f26: 0x4004e620, 0x17f27: 0x4003d220,\n\t0x17f28: 0x4003f420, 0x17f29: 0x4003f620, 0x17f2a: 0x4004d820, 0x17f2b: 0x40093820,\n\t0x17f2c: 0x40024020, 0x17f2d: 0x40021a20, 0x17f2e: 0x4002e420, 0x17f2f: 0x4004e220,\n\t0x17f30: 0x4029cc20, 0x17f31: 0x4029ce20, 0x17f32: 0x4029d020, 0x17f33: 0x4029d220,\n\t0x17f34: 0x4029d420, 0x17f35: 0x4029d620, 0x17f36: 0x4029d820, 0x17f37: 0x4029da20,\n\t0x17f38: 0x4029dc20, 0x17f39: 0x4029de20, 0x17f3a: 0x40026c20, 0x17f3b: 0x40026220,\n\t0x17f3c: 0x40094020, 0x17f3d: 0x40094220, 0x17f3e: 0x40094420, 0x17f3f: 0x4002c420,\n\t// Block 0x5fd, offset 0x17f40\n\t0x17f40: 0x4004d620, 0x17f41: 0xcead9741, 0x17f42: 0x002c0a88, 0x17f43: 0x002c3a88,\n\t0x17f44: 0x002c6288, 0x17f45: 0xce6d2741, 0x17f46: 0x002d0888, 0x17f47: 0x002d2288,\n\t0x17f48: 0x002d6888, 0x17f49: 0x002d9a88, 0x17f4a: 0x002dcc88, 0x17f4b: 0x002dfe88,\n\t0x17f4c: 0xc0030002, 0x17f4d: 0x002e8288, 0x17f4e: 0x002e9e88, 0x17f4f: 0xcfa09a71,\n\t0x17f50: 0x002f2c88, 0x17f51: 0x002f5688, 0x17f52: 0x002f7a88, 0x17f53: 0x002fe688,\n\t0x17f54: 0x00302c88, 0x17f55: 0xc3479aa1, 0x17f56: 0x0030be88, 0x17f57: 0x0030e288,\n\t0x17f58: 0x0030f688, 0x17f59: 0x00310088, 0x17f5a: 0x00312a88, 0x17f5b: 0x4003f820,\n\t0x17f5c: 0x4004e420, 0x17f5d: 0x4003fa20, 0x17f5e: 0x40062420, 0x17f5f: 0x40021620,\n\t0x17f60: 0x40061e20, 0x17f61: 0xceaa9741, 0x17f62: 0x402c0a20, 0x17f63: 0x402c3a20,\n\t0x17f64: 0x402c6220, 0x17f65: 0xce6b2741, 0x17f66: 0x402d0820, 0x17f67: 0x402d2220,\n\t0x17f68: 0x402d6820, 0x17f69: 0x402d9a20, 0x17f6a: 0x402dcc20, 0x17f6b: 0x402dfe20,\n\t0x17f6c: 0xc0000002, 0x17f6d: 0x402e8220, 0x17f6e: 0x402e9e20, 0x17f6f: 0xcf9d9a71,\n\t0x17f70: 0x402f2c20, 0x17f71: 0x402f5620, 0x17f72: 0x402f7a20, 0x17f73: 0x402fe620,\n\t0x17f74: 0x40302c20, 0x17f75: 0xc3459aa1, 0x17f76: 0x4030be20, 0x17f77: 0x4030e220,\n\t0x17f78: 0x4030f620, 0x17f79: 0x40310020, 0x17f7a: 0x40312a20, 0x17f7b: 0x4003fc20,\n\t0x17f7c: 0x40094820, 0x17f7d: 0x4003fe20, 0x17f7e: 0x40094c20, 0x17f7f: 0xa0000000,\n\t// Block 0x5fe, offset 0x17f80\n\t0x17f80: 0xe00008f5, 0x17f81: 0xe000b098, 0x17f82: 0x002be283, 0x17f83: 0xe000b092,\n\t0x17f84: 0xe000095b, 0x17f85: 0xe000094d, 0x17f86: 0xe00009dd, 0x17f87: 0xe0000a53,\n\t0x17f88: 0xe0000ae8, 0x17f89: 0xe000b10c, 0x17f8a: 0x002c9a83, 0x17f8b: 0xe0000b20,\n\t0x17f8c: 0xe0000c2b, 0x17f8d: 0xe000b150, 0x17f8e: 0xe0000c37, 0x17f8f: 0xe0000c43,\n\t0x17f90: 0xe0000ab3, 0x17f91: 0xe000b190, 0x17f92: 0xe0000d9a, 0x17f93: 0xe000b1c6,\n\t0x17f94: 0x002ee483, 0x17f95: 0xe000b1a8, 0x17f96: 0xe0000dd2, 0x17f97: 0x40093e20,\n\t0x17f98: 0xe0000e12, 0x17f99: 0xe0000fe1, 0x17f9a: 0xe000b268, 0x17f9b: 0xe0000fed,\n\t0x17f9c: 0xe0000fff, 0x17f9d: 0xe000b2b8, 0x17f9e: 0x00318888, 0x17f9f: 0xe0000f7b,\n\t0x17fa0: 0xe00008f2, 0x17fa1: 0xe000b095, 0x17fa2: 0x402be220, 0x17fa3: 0xe000b08f,\n\t0x17fa4: 0xe0000958, 0x17fa5: 0xe000094a, 0x17fa6: 0xe00009d5, 0x17fa7: 0xe0000a4d,\n\t0x17fa8: 0xe0000ae5, 0x17fa9: 0xe000b109, 0x17faa: 0x402c9a20, 0x17fab: 0xe0000b1d,\n\t0x17fac: 0xe0000c28, 0x17fad: 0xe000b14d, 0x17fae: 0xe0000c34, 0x17faf: 0xe0000c40,\n\t0x17fb0: 0xe0000aad, 0x17fb1: 0xe000b18d, 0x17fb2: 0xe0000d97, 0x17fb3: 0xe000b1c3,\n\t0x17fb4: 0x402ee420, 0x17fb5: 0xe000b1a5, 0x17fb6: 0xe0000dcf, 0x17fb7: 0x40093c20,\n\t0x17fb8: 0xe0000e0f, 0x17fb9: 0xe0000fde, 0x17fba: 0xe000b265, 0x17fbb: 0xe0000fea,\n\t0x17fbc: 0xe0000ffc, 0x17fbd: 0xe000b2b5, 0x17fbe: 0x40318820, 0x17fbf: 0xe0001114,\n\t// Block 0x5ff, offset 0x17fc0\n\t0x17fc0: 0xe0000983, 0x17fc1: 0xe0000980, 0x17fc2: 0x002be083, 0x17fc3: 0x402be020,\n\t0x17fc4: 0xe000097d, 0x17fc5: 0xe000097a, 0x17fc6: 0xe000b0ec, 0x17fc7: 0xe000b0e9,\n\t0x17fc8: 0xe0000a3e, 0x17fc9: 0xe0000a3b, 0x17fca: 0xe0000a4a, 0x17fcb: 0xe0000a47,\n\t0x17fcc: 0xe0000a44, 0x17fcd: 0xe0000a41, 0x17fce: 0xe0000a86, 0x17fcf: 0xe0000a83,\n\t0x17fd0: 0x002c6483, 0x17fd1: 0x402c6420, 0x17fd2: 0xe0000b46, 0x17fd3: 0xe0000b43,\n\t0x17fd4: 0xe0000aee, 0x17fd5: 0xe0000aeb, 0x17fd6: 0xe0000b2c, 0x17fd7: 0xe0000b29,\n\t0x17fd8: 0xe0000b40, 0x17fd9: 0xe0000b3d, 0x17fda: 0xe0000b1a, 0x17fdb: 0xe0000b17,\n\t0x17fdc: 0xe0000bb8, 0x17fdd: 0xe0000bb5, 0x17fde: 0xe0000bb2, 0x17fdf: 0xe0000baf,\n\t0x17fe0: 0xe0000bc4, 0x17fe1: 0xe0000bc1, 0x17fe2: 0xe0000bca, 0x17fe3: 0xe0000bc7,\n\t0x17fe4: 0xe0000bee, 0x17fe5: 0xe0000beb, 0x17fe6: 0xe0000c1b, 0x17fe7: 0xe0000c18,\n\t0x17fe8: 0xe000b14a, 0x17fe9: 0xe000b147, 0x17fea: 0xe0000c60, 0x17feb: 0xe0000c5d,\n\t0x17fec: 0xe0000c31, 0x17fed: 0xe0000c2e, 0x17fee: 0xe0000c5a, 0x17fef: 0xe0000c57,\n\t0x17ff0: 0xe0000c54, 0x17ff1: 0x402da220, 0x17ff2: 0xf0000a0a, 0x17ff3: 0xf0000404,\n\t0x17ff4: 0xe0000c8a, 0x17ff5: 0xe0000c87, 0x17ff6: 0xe0000c9f, 0x17ff7: 0xe0000c9c,\n\t0x17ff8: 0x402f7220, 0x17ff9: 0xe000b170, 0x17ffa: 0xe000b16d, 0x17ffb: 0xe0000cd8,\n\t0x17ffc: 0xe0000cd5, 0x17ffd: 0xe0000cd2, 0x17ffe: 0xe0000ccf, 0x17fff: 0xe0000d04,\n\t// Block 0x600, offset 0x18000\n\t0x18000: 0xe0000cfe, 0x18001: 0xe0000cf8, 0x18002: 0xe0000cf5, 0x18003: 0xe000b196,\n\t0x18004: 0xe000b193, 0x18005: 0xe0000d6f, 0x18006: 0xe0000d6c, 0x18007: 0xe0000d5d,\n\t0x18008: 0xe0000d5a, 0x18009: 0xf0000404, 0x1800a: 0x002eda88, 0x1800b: 0x402eda20,\n\t0x1800c: 0xe0000e2e, 0x1800d: 0xe0000e2b, 0x1800e: 0xe0000da0, 0x1800f: 0xe0000d9d,\n\t0x18010: 0xe0000de0, 0x18011: 0xe0000ddd, 0x18012: 0xe0000e93, 0x18013: 0xe0000e8f,\n\t0x18014: 0xe000b21e, 0x18015: 0xe000b21b, 0x18016: 0xe0000edc, 0x18017: 0xe0000ed9,\n\t0x18018: 0xe0000ed0, 0x18019: 0xe0000ecd, 0x1801a: 0xe000b232, 0x1801b: 0xe000b22f,\n\t0x1801c: 0xe0000f2d, 0x1801d: 0xe0000f2a, 0x1801e: 0xe0000f47, 0x1801f: 0xe0000f44,\n\t0x18020: 0xe0000f33, 0x18021: 0xe0000f30, 0x18022: 0xe0000f99, 0x18023: 0xe0000f96,\n\t0x18024: 0xe0000f8a, 0x18025: 0xe0000f87, 0x18026: 0x00303688, 0x18027: 0x40303620,\n\t0x18028: 0xe000b25a, 0x18029: 0xe000b257, 0x1802a: 0xe000103f, 0x1802b: 0xe000103c,\n\t0x1802c: 0xe0000fe7, 0x1802d: 0xe0000fe4, 0x1802e: 0xe0000ff9, 0x1802f: 0xe0000ff6,\n\t0x18030: 0xe0001025, 0x18031: 0xe0001022, 0x18032: 0xe0001039, 0x18033: 0xe0001036,\n\t0x18034: 0xe00010d8, 0x18035: 0xe00010d5, 0x18036: 0xe000110e, 0x18037: 0xe000110b,\n\t0x18038: 0xe0001117, 0x18039: 0xe000b2c4, 0x1803a: 0xe000b2c1, 0x1803b: 0xe000114d,\n\t0x1803c: 0xe000114a, 0x1803d: 0xe0001147, 0x1803e: 0xe0001144, 0x1803f: 0xe0000f64,\n\t// Block 0x601, offset 0x18040\n\t0x18040: 0x402c1a20, 0x18041: 0x002c2a88, 0x18042: 0x002c3288, 0x18043: 0x402c3220,\n\t0x18044: 0x0031c488, 0x18045: 0x4031c420, 0x18046: 0x002efa88, 0x18047: 0x002c4e88,\n\t0x18048: 0x402c4e20, 0x18049: 0x002c7288, 0x1804a: 0x002c7a88, 0x1804b: 0x002c8488,\n\t0x1804c: 0x402c8420, 0x1804d: 0xe000115c, 0x1804e: 0x002cae88, 0x1804f: 0x002cb888,\n\t0x18050: 0x002cc288, 0x18051: 0x002d1688, 0x18052: 0x402d1620, 0x18053: 0x002d4488,\n\t0x18054: 0x002d5888, 0x18055: 0x402d7820, 0x18056: 0x002dc288, 0x18057: 0x002db688,\n\t0x18058: 0x002e0a88, 0x18059: 0x402e0a20, 0x1805a: 0x402e3820, 0x1805b: 0x402e7220,\n\t0x1805c: 0x0030a088, 0x1805d: 0x002eb488, 0x1805e: 0x402ebc20, 0x1805f: 0x002f1088,\n\t0x18060: 0x002ee683, 0x18061: 0x402ee620, 0x18062: 0x002d6088, 0x18063: 0x402d6020,\n\t0x18064: 0x002f3e88, 0x18065: 0x402f3e20, 0x18066: 0x002f8288, 0x18067: 0x0031b488,\n\t0x18068: 0x4031b420, 0x18069: 0x00300888, 0x1806a: 0x40301220, 0x1806b: 0x40304220,\n\t0x1806c: 0x00304a88, 0x1806d: 0x40304a20, 0x1806e: 0x00305288, 0x1806f: 0x00306e83,\n\t0x18070: 0x40306e20, 0x18071: 0x0030b488, 0x18072: 0x0030cc88, 0x18073: 0x00311888,\n\t0x18074: 0x40311820, 0x18075: 0x00313488, 0x18076: 0x40313420, 0x18077: 0x00316488,\n\t0x18078: 0x00316e88, 0x18079: 0x40316e20, 0x1807a: 0x40317820, 0x1807b: 0x4031a620,\n\t0x1807c: 0x0031bc88, 0x1807d: 0x4031bc20, 0x1807e: 0xe0000fc9, 0x1807f: 0x40319420,\n\t// Block 0x602, offset 0x18080\n\t0x18080: 0x40321220, 0x18081: 0x40321a20, 0x18082: 0x40322220, 0x18083: 0x40322a20,\n\t0x18084: 0xe0000ad5, 0x18085: 0xe0000ad1, 0x18086: 0xe0000acd, 0x18087: 0xf0000a0a,\n\t0x18088: 0xf000040a, 0x18089: 0xf0000404, 0x1808a: 0xf0000a0a, 0x1808b: 0xf000040a,\n\t0x1808c: 0xf0000404, 0x1808d: 0xe0000947, 0x1808e: 0xe0000944, 0x1808f: 0xe0000c3d,\n\t0x18090: 0xe0000c3a, 0x18091: 0xe0000dcc, 0x18092: 0xe0000dc9, 0x18093: 0xe0000ff3,\n\t0x18094: 0xe0000ff0, 0x18095: 0xe000101e, 0x18096: 0xe000101a, 0x18097: 0xe000b275,\n\t0x18098: 0xe000b271, 0x18099: 0xe0001016, 0x1809a: 0xe0001012, 0x1809b: 0xe000100e,\n\t0x1809c: 0xe000100a, 0x1809d: 0x402cae20, 0x1809e: 0xe0000962, 0x1809f: 0xe000095e,\n\t0x180a0: 0xe0000976, 0x180a1: 0xe0000972, 0x180a2: 0xe00009f4, 0x180a3: 0xe00009ef,\n\t0x180a4: 0x002d3a88, 0x180a5: 0x402d3a20, 0x180a6: 0xe0000bbe, 0x180a7: 0xe0000bbb,\n\t0x180a8: 0xe0000c99, 0x180a9: 0xe0000c96, 0x180aa: 0xe0000e20, 0x180ab: 0xe0000e1d,\n\t0x180ac: 0xe0000e27, 0x180ad: 0xe0000e23, 0x180ae: 0xe0001162, 0x180af: 0xe000115f,\n\t0x180b0: 0xe0000c8d, 0x180b1: 0xf0000a0a, 0x180b2: 0xf000040a, 0x180b3: 0xf0000404,\n\t0x180b4: 0xe000b138, 0x180b5: 0xe000b135, 0x180b6: 0x002d7888, 0x180b7: 0x00319488,\n\t0x180b8: 0xe0000d57, 0x180b9: 0xe0000d54, 0x180ba: 0xe000b0a5, 0x180bb: 0xe000b0a1,\n\t0x180bc: 0xe000b0ae, 0x180bd: 0xe000b0a9, 0x180be: 0xe000b1d3, 0x180bf: 0xe000b1cf,\n\t// Block 0x603, offset 0x180c0\n\t0x180c0: 0xe000098f, 0x180c1: 0xe000098c, 0x180c2: 0xe0000995, 0x180c3: 0xe0000992,\n\t0x180c4: 0xe0000b62, 0x180c5: 0xe0000b5f, 0x180c6: 0xe0000b68, 0x180c7: 0xe0000b65,\n\t0x180c8: 0xe0000c6c, 0x180c9: 0xe0000c69, 0x180ca: 0xe0000c72, 0x180cb: 0xe0000c6f,\n\t0x180cc: 0xe0000e4a, 0x180cd: 0xe0000e47, 0x180ce: 0xe0000e50, 0x180cf: 0xe0000e4d,\n\t0x180d0: 0xe0000ee8, 0x180d1: 0xe0000ee5, 0x180d2: 0xe0000eee, 0x180d3: 0xe0000eeb,\n\t0x180d4: 0xe0001053, 0x180d5: 0xe0001050, 0x180d6: 0xe0001059, 0x180d7: 0xe0001056,\n\t0x180d8: 0xe0000f61, 0x180d9: 0xe0000f5e, 0x180da: 0xe0000fa5, 0x180db: 0xe0000fa2,\n\t0x180dc: 0x00312288, 0x180dd: 0x40312220, 0x180de: 0xe0000bf4, 0x180df: 0xe0000bf1,\n\t0x180e0: 0x002ebc88, 0x180e1: 0x402c8c20, 0x180e2: 0x002f2288, 0x180e3: 0x402f2220,\n\t0x180e4: 0x00314088, 0x180e5: 0x40314020, 0x180e6: 0xe000096f, 0x180e7: 0xe000096c,\n\t0x180e8: 0xe0000b32, 0x180e9: 0xe0000b2f, 0x180ea: 0xe0000dd9, 0x180eb: 0xe0000dd5,\n\t0x180ec: 0xe000b1bf, 0x180ed: 0xe000b1bb, 0x180ee: 0xe0000e04, 0x180ef: 0xe0000e01,\n\t0x180f0: 0xe0000e0b, 0x180f1: 0xe0000e07, 0x180f2: 0xe0001129, 0x180f3: 0xe0001126,\n\t0x180f4: 0x402e5e20, 0x180f5: 0x402ed020, 0x180f6: 0x40305a20, 0x180f7: 0x402dd420,\n\t0x180f8: 0xe0000abf, 0x180f9: 0xe0000ec4, 0x180fa: 0x002be888, 0x180fb: 0x002c4488,\n\t0x180fc: 0x402c4420, 0x180fd: 0x002e3888, 0x180fe: 0x00303e88, 0x180ff: 0x402ffc20,\n\t// Block 0x604, offset 0x18100\n\t0x18100: 0xae603502, 0x18101: 0xae603802, 0x18102: 0xae603c02, 0x18103: 0xae603702,\n\t0x18104: 0xae605b02, 0x18105: 0xae606302, 0x18106: 0xae603702, 0x18107: 0xae605202,\n\t0x18108: 0xae604702, 0x18109: 0xae603602, 0x1810a: 0xae604302, 0x1810b: 0xae604d02,\n\t0x1810c: 0xae604102, 0x1810d: 0xae605f02, 0x1810e: 0xae605f02, 0x1810f: 0xae606502,\n\t0x18110: 0xae606602, 0x18111: 0xae606702, 0x18112: 0xae605f02, 0x18113: 0xae602202,\n\t0x18114: 0xae602a02, 0x18115: 0xae805f02, 0x18116: 0xadc06002, 0x18117: 0xadc06002,\n\t0x18118: 0xadc06002, 0x18119: 0xadc06002, 0x1811a: 0xae805f02, 0x1811b: 0xad806802,\n\t0x1811c: 0xadc06002, 0x1811d: 0xadc06002, 0x1811e: 0xadc06002, 0x1811f: 0xadc06002,\n\t0x18120: 0xadc06002, 0x18121: 0xaca06e02, 0x18122: 0xaca06f02, 0x18123: 0xae603902,\n\t0x18124: 0xadc07502, 0x18125: 0xadc07602, 0x18126: 0xadc07702, 0x18127: 0xaca05602,\n\t0x18128: 0xaca05902, 0x18129: 0xadc06002, 0x1812a: 0xadc06002, 0x1812b: 0xadc06002,\n\t0x1812c: 0xadc06002, 0x1812d: 0xadc07802, 0x1812e: 0xadc07902, 0x1812f: 0xadc06002,\n\t0x18130: 0xadc07a02, 0x18131: 0xadc07b02, 0x18132: 0xadc02102, 0x18133: 0xadc06002,\n\t0x18134: 0xa0107c02, 0x18135: 0xa0107d02, 0x18136: 0xa0106102, 0x18137: 0xa0106102,\n\t0x18138: 0xa0105402, 0x18139: 0xadc07e02, 0x1813a: 0xadc06002, 0x1813b: 0xadc06002,\n\t0x1813c: 0xadc06002, 0x1813d: 0xae605f02, 0x1813e: 0xae605f02, 0x1813f: 0xae605f02,\n\t// Block 0x605, offset 0x18140\n\t0x18140: 0xae603502, 0x18141: 0xae603802, 0x18142: 0xae604502, 0x18143: 0xae602202,\n\t0x18144: 0xe000b07d, 0x18145: 0xaf007f02, 0x18146: 0xae605f02, 0x18147: 0xadc06002,\n\t0x18148: 0xadc06002, 0x18149: 0xadc06002, 0x1814a: 0xae605f02, 0x1814b: 0xae605f02,\n\t0x1814c: 0xae605f02, 0x1814d: 0xadc06002, 0x1814e: 0xadc06002, 0x1814f: 0xa0000000,\n\t0x18150: 0xae605f02, 0x18151: 0xae605f02, 0x18152: 0xae605f02, 0x18153: 0xadc06002,\n\t0x18154: 0xadc06002, 0x18155: 0xadc06002, 0x18156: 0xadc06002, 0x18157: 0xae605f02,\n\t0x18158: 0xae808002, 0x18159: 0xadc06002, 0x1815a: 0xadc06002, 0x1815b: 0xae605f02,\n\t0x1815c: 0xae906002, 0x1815d: 0xaea05f02, 0x1815e: 0xaea05f02, 0x1815f: 0xae906002,\n\t0x18160: 0xaea08102, 0x18161: 0xaea08202, 0x18162: 0xae906002, 0x18163: 0x84e615ef,\n\t0x18164: 0x84e6164c, 0x18165: 0x84e616cd, 0x18166: 0x84e61771, 0x18167: 0x84e61836,\n\t0x18168: 0x84e6161d, 0x18169: 0x84e61631, 0x1816a: 0x84e616b4, 0x1816b: 0x84e61741,\n\t0x1816c: 0x84e617bd, 0x1816d: 0x84e61816, 0x1816e: 0x84e6185f, 0x1816f: 0x84e6187b,\n\t0x18170: 0x00326688, 0x18171: 0x40326620, 0x18172: 0x0032a688, 0x18173: 0x4032a620,\n\t0x18174: 0x40064020, 0x18175: 0x40064220, 0x18176: 0x00326088, 0x18177: 0x40326020,\n\t0x1817a: 0x00326c84, 0x1817b: 0x40329220,\n\t0x1817c: 0x40329020, 0x1817d: 0x40329420, 0x1817e: 0x40026220,\n\t// Block 0x606, offset 0x18180\n\t0x18184: 0x40062020, 0x18185: 0xe000b080, 0x18186: 0xe000b2f4, 0x18187: 0x40030620,\n\t0x18188: 0xe000b30e, 0x18189: 0xe000b338, 0x1818a: 0xe000b352,\n\t0x1818c: 0xe000b36c, 0x1818e: 0xe000b37e, 0x1818f: 0xe000b3ac,\n\t0x18190: 0xe000b355, 0x18191: 0x00325288, 0x18192: 0x00325488, 0x18193: 0x00325688,\n\t0x18194: 0x00325a88, 0x18195: 0x00325c88, 0x18196: 0x00326488, 0x18197: 0x00326888,\n\t0x18198: 0x00326a88, 0x18199: 0x00326c88, 0x1819a: 0x00327088, 0x1819b: 0x00327288,\n\t0x1819c: 0x00327688, 0x1819d: 0x00327888, 0x1819e: 0x00327a88, 0x1819f: 0x00327c88,\n\t0x181a0: 0x00327e88, 0x181a1: 0x00328888, 0x181a3: 0x00328e88,\n\t0x181a4: 0x00329688, 0x181a5: 0x00329888, 0x181a6: 0x00329a88, 0x181a7: 0x00329c88,\n\t0x181a8: 0x00329e88, 0x181a9: 0x0032a288, 0x181aa: 0xe000134f, 0x181ab: 0xe00013f2,\n\t0x181ac: 0xe000b2f1, 0x181ad: 0xe000b30b, 0x181ae: 0xe000b335, 0x181af: 0xe000b34f,\n\t0x181b0: 0xe000b381, 0x181b1: 0x40325220, 0x181b2: 0x40325420, 0x181b3: 0x40325620,\n\t0x181b4: 0x40325a20, 0x181b5: 0x40325c20, 0x181b6: 0x40326420, 0x181b7: 0x40326820,\n\t0x181b8: 0x40326a20, 0x181b9: 0x40326c20, 0x181ba: 0x40327020, 0x181bb: 0x40327220,\n\t0x181bc: 0x40327620, 0x181bd: 0x40327820, 0x181be: 0x40327a20, 0x181bf: 0x40327c20,\n\t// Block 0x607, offset 0x181c0\n\t0x181c0: 0x40327e20, 0x181c1: 0x40328820, 0x181c2: 0x00328e99, 0x181c3: 0x40328e20,\n\t0x181c4: 0x40329620, 0x181c5: 0x40329820, 0x181c6: 0x40329a20, 0x181c7: 0x40329c20,\n\t0x181c8: 0x40329e20, 0x181c9: 0x4032a220, 0x181ca: 0xe000134c, 0x181cb: 0xe00013ef,\n\t0x181cc: 0xe000b369, 0x181cd: 0xe000b37b, 0x181ce: 0xe000b3a9, 0x181cf: 0xe0001368,\n\t0x181d0: 0x00325484, 0x181d1: 0x00326a84, 0x181d2: 0x0032988a, 0x181d3: 0xf000020a,\n\t0x181d4: 0xf000020a, 0x181d5: 0x00329a84, 0x181d6: 0x00327e84, 0x181d7: 0xe0001364,\n\t0x181d8: 0x00328688, 0x181d9: 0x40328620, 0x181da: 0x00326288, 0x181db: 0x40326220,\n\t0x181dc: 0x00325e88, 0x181dd: 0x40325e20, 0x181de: 0x00328488, 0x181df: 0x40328420,\n\t0x181e0: 0x0032a488, 0x181e1: 0x4032a420, 0x181e2: 0x0032e888, 0x181e3: 0x4032e820,\n\t0x181e4: 0x0032f288, 0x181e5: 0x4032f220, 0x181e6: 0x0032f488, 0x181e7: 0x4032f420,\n\t0x181e8: 0x0032fa88, 0x181e9: 0x4032fa20, 0x181ea: 0x00330888, 0x181eb: 0x40330820,\n\t0x181ec: 0x00330e88, 0x181ed: 0x40330e20, 0x181ee: 0x00331688, 0x181ef: 0x40331620,\n\t0x181f0: 0x00327084, 0x181f1: 0x00328884, 0x181f2: 0x00328e84, 0x181f3: 0x40326e20,\n\t0x181f4: 0x00326a8a, 0x181f5: 0x00325c84, 0x181f6: 0x40092e20, 0x181f7: 0x0032a888,\n\t0x181f8: 0x4032a820, 0x181f9: 0x00328e8a, 0x181fa: 0x00328288, 0x181fb: 0x40328220,\n\t0x181fc: 0x40328c20, 0x181fd: 0x00329288, 0x181fe: 0x00329088, 0x181ff: 0x00329488,\n\t// Block 0x608, offset 0x18200\n\t0x18200: 0xe00009b1, 0x18201: 0xe00009ae, 0x18202: 0xe0000a22, 0x18203: 0xe0000a1f,\n\t0x18204: 0xe000b0e6, 0x18205: 0xe000b0e3, 0x18206: 0xe0000a2e, 0x18207: 0xe0000a2b,\n\t0x18208: 0xe000b0f3, 0x18209: 0xe000b0ef, 0x1820a: 0xe0000a8c, 0x1820b: 0xe0000a89,\n\t0x1820c: 0xe000b0fa, 0x1820d: 0xe000b0f7, 0x1820e: 0xe0000aa4, 0x1820f: 0xe0000aa1,\n\t0x18210: 0xe0000a92, 0x18211: 0xe0000a8f, 0x18212: 0xe0000a9e, 0x18213: 0xe0000a9b,\n\t0x18214: 0xe0000b55, 0x18215: 0xe0000b51, 0x18216: 0xe000b119, 0x18217: 0xe000b115,\n\t0x18218: 0xe0000b7c, 0x18219: 0xe0000b79, 0x1821a: 0xe0000b82, 0x1821b: 0xe0000b7f,\n\t0x1821c: 0xe0000b39, 0x1821d: 0xe0000b35, 0x1821e: 0xe0000b8c, 0x1821f: 0xe0000b89,\n\t0x18220: 0xe0000bd0, 0x18221: 0xe0000bcd, 0x18222: 0xe0000c00, 0x18223: 0xe0000bfd,\n\t0x18224: 0xe000b13e, 0x18225: 0xe000b13b, 0x18226: 0xe0000bfa, 0x18227: 0xe0000bf7,\n\t0x18228: 0xe0000c06, 0x18229: 0xe0000c03, 0x1822a: 0xe0000c12, 0x1822b: 0xe0000c0f,\n\t0x1822c: 0xe0000c7e, 0x1822d: 0xe0000c7b, 0x1822e: 0xe000b15d, 0x1822f: 0xe000b159,\n\t0x18230: 0xe000b164, 0x18231: 0xe000b161, 0x18232: 0xe000b16a, 0x18233: 0xe000b167,\n\t0x18234: 0xe0000cb1, 0x18235: 0xe0000cae, 0x18236: 0xe000b176, 0x18237: 0xe000b173,\n\t0x18238: 0xe000b17d, 0x18239: 0xe000b179, 0x1823a: 0xe0000cf2, 0x1823b: 0xe0000cef,\n\t0x1823c: 0xe0000cec, 0x1823d: 0xe0000ce9, 0x1823e: 0xe000b184, 0x1823f: 0xe000b181,\n\t// Block 0x609, offset 0x18240\n\t0x18240: 0xe0000d24, 0x18241: 0xe0000d21, 0x18242: 0xe000b18a, 0x18243: 0xe000b187,\n\t0x18244: 0xe0000d69, 0x18245: 0xe0000d66, 0x18246: 0xe000b19c, 0x18247: 0xe000b199,\n\t0x18248: 0xe0000d87, 0x18249: 0xe0000d84, 0x1824a: 0xe0000d81, 0x1824b: 0xe0000d7e,\n\t0x1824c: 0xe000b1af, 0x1824d: 0xe000b1ab, 0x1824e: 0xe000b1b7, 0x1824f: 0xe000b1b3,\n\t0x18250: 0xe0000e3d, 0x18251: 0xe0000e39, 0x18252: 0xe000b1db, 0x18253: 0xe000b1d7,\n\t0x18254: 0xe000b218, 0x18255: 0xe000b215, 0x18256: 0xe0000ead, 0x18257: 0xe0000eaa,\n\t0x18258: 0xe0000ed6, 0x18259: 0xe0000ed3, 0x1825a: 0xe000b224, 0x1825b: 0xe000b221,\n\t0x1825c: 0xe000b22b, 0x1825d: 0xe000b227, 0x1825e: 0xe0000f02, 0x1825f: 0xe0000eff,\n\t0x18260: 0xe0000f41, 0x18261: 0xe0000f3e, 0x18262: 0xe000b240, 0x18263: 0xe000b23d,\n\t0x18264: 0xe000b239, 0x18265: 0xe000b235, 0x18266: 0xe0000f3a, 0x18267: 0xe0000f36,\n\t0x18268: 0xe000b247, 0x18269: 0xe000b243, 0x1826a: 0xe0000f93, 0x1826b: 0xe0000f90,\n\t0x1826c: 0xe000b24e, 0x1826d: 0xe000b24b, 0x1826e: 0xe0000fb1, 0x1826f: 0xe0000fae,\n\t0x18270: 0xe0000fab, 0x18271: 0xe0000fa8, 0x18272: 0xe0001093, 0x18273: 0xe0001090,\n\t0x18274: 0xe000109f, 0x18275: 0xe000109c, 0x18276: 0xe0001099, 0x18277: 0xe0001096,\n\t0x18278: 0xe000b261, 0x18279: 0xe000b25d, 0x1827a: 0xe0001046, 0x1827b: 0xe0001042,\n\t0x1827c: 0xe000b294, 0x1827d: 0xe000b291, 0x1827e: 0xe000b29a, 0x1827f: 0xe000b297,\n\t// Block 0x60a, offset 0x18280\n\t0x18280: 0xe00010d2, 0x18281: 0xe00010cf, 0x18282: 0xe000b2a0, 0x18283: 0xe000b29d,\n\t0x18284: 0xe00010e1, 0x18285: 0xe00010de, 0x18286: 0xe00010e7, 0x18287: 0xe00010e4,\n\t0x18288: 0xe000b2a6, 0x18289: 0xe000b2a3, 0x1828a: 0xe00010fc, 0x1828b: 0xe00010f9,\n\t0x1828c: 0xe00010f6, 0x1828d: 0xe00010f3, 0x1828e: 0xe0001123, 0x1828f: 0xe0001120,\n\t0x18290: 0xe0001141, 0x18291: 0xe000113e, 0x18292: 0xe000b2ca, 0x18293: 0xe000b2c7,\n\t0x18294: 0xe0001159, 0x18295: 0xe0001156, 0x18296: 0xe0000c15, 0x18297: 0xe0000f8d,\n\t0x18298: 0xe00010db, 0x18299: 0xe0001111, 0x1829a: 0xf0000404, 0x1829b: 0xe0000f70,\n\t0x1829c: 0x40300420, 0x1829d: 0x40300620, 0x1829e: 0xe0000f7f, 0x1829f: 0x402c9620,\n\t0x182a0: 0xe000b09e, 0x182a1: 0xe000b09b, 0x182a2: 0xe000b08c, 0x182a3: 0xe000b089,\n\t0x182a4: 0xe000b0da, 0x182a5: 0xe000b0d7, 0x182a6: 0xe000393a, 0x182a7: 0xe0003937,\n\t0x182a8: 0xe000b0ce, 0x182a9: 0xe000b0cb, 0x182aa: 0xe000b0d4, 0x182ab: 0xe000b0d1,\n\t0x182ac: 0xe000b0e0, 0x182ad: 0xe000b0dd, 0x182ae: 0xe000b0c2, 0x182af: 0xe000b0bf,\n\t0x182b0: 0xe0003894, 0x182b1: 0xe0003891, 0x182b2: 0xe000b0b6, 0x182b3: 0xe000b0b3,\n\t0x182b4: 0xe000b0bc, 0x182b5: 0xe000b0b9, 0x182b6: 0xe000b0c8, 0x182b7: 0xe000b0c5,\n\t0x182b8: 0xe000b112, 0x182b9: 0xe000b10f, 0x182ba: 0xe000b100, 0x182bb: 0xe000b0fd,\n\t0x182bc: 0xe000b106, 0x182bd: 0xe000b103, 0x182be: 0xe000b12c, 0x182bf: 0xe000b129,\n\t// Block 0x60b, offset 0x182c0\n\t0x182c0: 0xe000ad47, 0x182c1: 0xe000ad44, 0x182c2: 0xe000b120, 0x182c3: 0xe000b11d,\n\t0x182c4: 0xe000b126, 0x182c5: 0xe000b123, 0x182c6: 0xe000b132, 0x182c7: 0xe000b12f,\n\t0x182c8: 0xe000b144, 0x182c9: 0xe000b141, 0x182ca: 0xe000b156, 0x182cb: 0xe000b153,\n\t0x182cc: 0xe000b1cc, 0x182cd: 0xe000b1c9, 0x182ce: 0xe000b1a2, 0x182cf: 0xe000b19f,\n\t0x182d0: 0xe000b1ee, 0x182d1: 0xe000b1eb, 0x182d2: 0xe000ad65, 0x182d3: 0xe000ad62,\n\t0x182d4: 0xe000b1e2, 0x182d5: 0xe000b1df, 0x182d6: 0xe000b1e8, 0x182d7: 0xe000b1e5,\n\t0x182d8: 0xe000b1f4, 0x182d9: 0xe000b1f1, 0x182da: 0xe000b20c, 0x182db: 0xe000b209,\n\t0x182dc: 0xe000b1fa, 0x182dd: 0xe000b1f7, 0x182de: 0xe000b200, 0x182df: 0xe000b1fd,\n\t0x182e0: 0xe000b206, 0x182e1: 0xe000b203, 0x182e2: 0xe000b212, 0x182e3: 0xe000b20f,\n\t0x182e4: 0xe000b26e, 0x182e5: 0xe000b26b, 0x182e6: 0xe000b254, 0x182e7: 0xe000b251,\n\t0x182e8: 0xe000b288, 0x182e9: 0xe000b285, 0x182ea: 0xe0002958, 0x182eb: 0xe0002955,\n\t0x182ec: 0xe000b27c, 0x182ed: 0xe000b279, 0x182ee: 0xe000b282, 0x182ef: 0xe000b27f,\n\t0x182f0: 0xe000b28e, 0x182f1: 0xe000b28b, 0x182f2: 0xe0001108, 0x182f3: 0xe0001105,\n\t0x182f4: 0xe000b2be, 0x182f5: 0xe000b2bb, 0x182f6: 0xe000b2ac, 0x182f7: 0xe000b2a9,\n\t0x182f8: 0xe000b2b2, 0x182f9: 0xe000b2af, 0x182fa: 0xe0000d0a, 0x182fb: 0xe0000d07,\n\t0x182fc: 0x0030d888, 0x182fd: 0x4030d820, 0x182fe: 0x00312088, 0x182ff: 0x40312020,\n\t// Block 0x60c, offset 0x18300\n\t0x18300: 0xe0001165, 0x18301: 0xe00011a9, 0x18302: 0xe000117d, 0x18303: 0xe00011c1,\n\t0x18304: 0xe000b2cd, 0x18305: 0xe000b2df, 0x18306: 0xe000118f, 0x18307: 0xe00011d3,\n\t0x18308: 0xe0001168, 0x18309: 0xe00011ac, 0x1830a: 0xe0001181, 0x1830b: 0xe00011c5,\n\t0x1830c: 0xe000b2d1, 0x1830d: 0xe000b2e3, 0x1830e: 0xe0001193, 0x1830f: 0xe00011d7,\n\t0x18310: 0xe000121a, 0x18311: 0xe0001230, 0x18312: 0xe0001228, 0x18313: 0xe000123e,\n\t0x18314: 0xe000b2fb, 0x18315: 0xe000b303,\n\t0x18318: 0xe000121d, 0x18319: 0xe0001233, 0x1831a: 0xe000122c, 0x1831b: 0xe0001242,\n\t0x1831c: 0xe000b2ff, 0x1831d: 0xe000b307,\n\t0x18320: 0xe0001252, 0x18321: 0xe0001296, 0x18322: 0xe000126a, 0x18323: 0xe00012ae,\n\t0x18324: 0xe000b311, 0x18325: 0xe000b323, 0x18326: 0xe000127c, 0x18327: 0xe00012c0,\n\t0x18328: 0xe0001255, 0x18329: 0xe0001299, 0x1832a: 0xe000126e, 0x1832b: 0xe00012b2,\n\t0x1832c: 0xe000b315, 0x1832d: 0xe000b327, 0x1832e: 0xe0001280, 0x1832f: 0xe00012c4,\n\t0x18330: 0xe00012fb, 0x18331: 0xe0001319, 0x18332: 0xe0001309, 0x18333: 0xe0001327,\n\t0x18334: 0xe000b33f, 0x18335: 0xe000b347, 0x18336: 0xe0001311, 0x18337: 0xe000132f,\n\t0x18338: 0xe00012fe, 0x18339: 0xe000131c, 0x1833a: 0xe000130d, 0x1833b: 0xe000132b,\n\t0x1833c: 0xe000b343, 0x1833d: 0xe000b34b, 0x1833e: 0xe0001315, 0x1833f: 0xe0001333,\n\t// Block 0x60d, offset 0x18340\n\t0x18340: 0xe000136c, 0x18341: 0xe0001382, 0x18342: 0xe000137a, 0x18343: 0xe0001390,\n\t0x18344: 0xe000b359, 0x18345: 0xe000b361,\n\t0x18348: 0xe000136f, 0x18349: 0xe0001385, 0x1834a: 0xe000137e, 0x1834b: 0xe0001394,\n\t0x1834c: 0xe000b35d, 0x1834d: 0xe000b365,\n\t0x18350: 0xe00013ad, 0x18351: 0xe00013bc, 0x18352: 0xe00013b4, 0x18353: 0xe00013ca,\n\t0x18354: 0xe000b36f, 0x18355: 0xe000b373, 0x18356: 0xe00013b8, 0x18357: 0xe00013d2,\n\t0x18359: 0xe00013bf, 0x1835b: 0xe00013ce,\n\t0x1835d: 0xe000b377, 0x1835f: 0xe00013d6,\n\t0x18360: 0xe0001407, 0x18361: 0xe000144b, 0x18362: 0xe000141f, 0x18363: 0xe0001463,\n\t0x18364: 0xe000b385, 0x18365: 0xe000b397, 0x18366: 0xe0001431, 0x18367: 0xe0001475,\n\t0x18368: 0xe000140a, 0x18369: 0xe000144e, 0x1836a: 0xe0001423, 0x1836b: 0xe0001467,\n\t0x1836c: 0xe000b389, 0x1836d: 0xe000b39b, 0x1836e: 0xe0001435, 0x1836f: 0xe0001479,\n\t0x18370: 0xe00011f7, 0x18371: 0xe000b2f1, 0x18372: 0xe000124c, 0x18373: 0xe000b30b,\n\t0x18374: 0xe00012e4, 0x18375: 0xe000b335, 0x18376: 0xe000133d, 0x18377: 0xe000b34f,\n\t0x18378: 0xe000139e, 0x18379: 0xe000b369, 0x1837a: 0xe00013e0, 0x1837b: 0xe000b37b,\n\t0x1837c: 0xe0001499, 0x1837d: 0xe000b3a9,\n\t// Block 0x60e, offset 0x18380\n\t0x18380: 0xe00011a1, 0x18381: 0xe00011e5, 0x18382: 0xe0001185, 0x18383: 0xe00011c9,\n\t0x18384: 0xe000b2d5, 0x18385: 0xe000b2e7, 0x18386: 0xe0001197, 0x18387: 0xe00011db,\n\t0x18388: 0xe00011a5, 0x18389: 0xe00011e9, 0x1838a: 0xe000118a, 0x1838b: 0xe00011ce,\n\t0x1838c: 0xe000b2da, 0x1838d: 0xe000b2ec, 0x1838e: 0xe000119c, 0x1838f: 0xe00011e0,\n\t0x18390: 0xe000128e, 0x18391: 0xe00012d2, 0x18392: 0xe0001272, 0x18393: 0xe00012b6,\n\t0x18394: 0xe000b319, 0x18395: 0xe000b32b, 0x18396: 0xe0001284, 0x18397: 0xe00012c8,\n\t0x18398: 0xe0001292, 0x18399: 0xe00012d6, 0x1839a: 0xe0001277, 0x1839b: 0xe00012bb,\n\t0x1839c: 0xe000b31e, 0x1839d: 0xe000b330, 0x1839e: 0xe0001289, 0x1839f: 0xe00012cd,\n\t0x183a0: 0xe0001443, 0x183a1: 0xe0001487, 0x183a2: 0xe0001427, 0x183a3: 0xe000146b,\n\t0x183a4: 0xe000b38d, 0x183a5: 0xe000b39f, 0x183a6: 0xe0001439, 0x183a7: 0xe000147d,\n\t0x183a8: 0xe0001447, 0x183a9: 0xe000148b, 0x183aa: 0xe000142c, 0x183ab: 0xe0001470,\n\t0x183ac: 0xe000b392, 0x183ad: 0xe000b3a4, 0x183ae: 0xe000143e, 0x183af: 0xe0001482,\n\t0x183b0: 0xe0001201, 0x183b1: 0xe000120e, 0x183b2: 0xe00011fd, 0x183b3: 0xe0001214,\n\t0x183b4: 0xe000b2f7, 0x183b6: 0xe0001207, 0x183b7: 0xe000120a,\n\t0x183b8: 0xe0001204, 0x183b9: 0xe0001211, 0x183ba: 0xe00011fa, 0x183bb: 0xe000b2f4,\n\t0x183bc: 0xe0001217, 0x183bd: 0x40063620, 0x183be: 0x40326c20, 0x183bf: 0x40063620,\n\t// Block 0x60f, offset 0x183c0\n\t0x183c0: 0x40063a20, 0x183c1: 0xe00000b1, 0x183c2: 0xe00012ea, 0x183c3: 0xe00012f5,\n\t0x183c4: 0xe000b33b, 0x183c6: 0xe00012ee, 0x183c7: 0xe00012f1,\n\t0x183c8: 0xe000124f, 0x183c9: 0xe000b30e, 0x183ca: 0xe00012e7, 0x183cb: 0xe000b338,\n\t0x183cc: 0xe00012f8, 0x183cd: 0xe00000b7, 0x183ce: 0xe000b083, 0x183cf: 0xe00000ba,\n\t0x183d0: 0xe0001343, 0x183d1: 0xe000135e, 0x183d2: 0xe0001356, 0x183d3: 0xe000b355,\n\t0x183d6: 0xe0001349, 0x183d7: 0xe000135a,\n\t0x183d8: 0xe0001346, 0x183d9: 0xe0001361, 0x183da: 0xe0001340, 0x183db: 0xe000b352,\n\t0x183dd: 0xe00000c0, 0x183de: 0xe000b086, 0x183df: 0xe00000c3,\n\t0x183e0: 0xe00013e6, 0x183e1: 0xe0001401, 0x183e2: 0xe00013f9, 0x183e3: 0xe000b381,\n\t0x183e4: 0xe00013a4, 0x183e5: 0xe00013a7, 0x183e6: 0xe00013ec, 0x183e7: 0xe00013fd,\n\t0x183e8: 0xe00013e9, 0x183e9: 0xe0001404, 0x183ea: 0xe00013e3, 0x183eb: 0xe000b37e,\n\t0x183ec: 0xe00013aa, 0x183ed: 0xe00000ae, 0x183ee: 0xe000b080, 0x183ef: 0x40061e20,\n\t0x183f2: 0xe000149f, 0x183f3: 0xe00014aa,\n\t0x183f4: 0xe000b3af, 0x183f6: 0xe00014a3, 0x183f7: 0xe00014a6,\n\t0x183f8: 0xe00013a1, 0x183f9: 0xe000b36c, 0x183fa: 0xe000149c, 0x183fb: 0xe000b3ac,\n\t0x183fc: 0xe00014ad, 0x183fd: 0x40062020, 0x183fe: 0x40063820,\n\t// Block 0x610, offset 0x18400\n\t0x18400: 0xa0000000, 0x18401: 0xa0000000, 0x18402: 0xa0000000, 0x18403: 0xa0000000,\n\t0x18404: 0xa0000000, 0x18405: 0xa0000000, 0x18406: 0xa0000000, 0x18407: 0xa0000000,\n\t0x18408: 0xa0000000, 0x18409: 0x40020020, 0x1840a: 0x40020220, 0x1840b: 0x40020420,\n\t0x1840c: 0x40020620, 0x1840d: 0x40020820, 0x1840e: 0xa0000000, 0x1840f: 0xa0000000,\n\t0x18410: 0xa0000000, 0x18411: 0xa0000000, 0x18412: 0xa0000000, 0x18413: 0xa0000000,\n\t0x18414: 0xa0000000, 0x18415: 0xa0000000, 0x18416: 0xa0000000, 0x18417: 0xa0000000,\n\t0x18418: 0xa0000000, 0x18419: 0xa0000000, 0x1841a: 0xa0000000, 0x1841b: 0xa0000000,\n\t0x1841c: 0xa0000000, 0x1841d: 0xa0000000, 0x1841e: 0xa0000000, 0x1841f: 0xa0000000,\n\t0x18420: 0x40021220, 0x18421: 0x4002ba20, 0x18422: 0x4003e020, 0x18423: 0x4004ea20,\n\t0x18424: 0x4027de20, 0x18425: 0x4004ec20, 0x18426: 0x4004e620, 0x18427: 0x4003d220,\n\t0x18428: 0x4003f420, 0x18429: 0x4003f620, 0x1842a: 0x4004d820, 0x1842b: 0x40093820,\n\t0x1842c: 0x40024020, 0x1842d: 0x40021a20, 0x1842e: 0x4002e420, 0x1842f: 0x4004e220,\n\t0x18430: 0x4029cc20, 0x18431: 0x4029ce20, 0x18432: 0x4029d020, 0x18433: 0x4029d220,\n\t0x18434: 0x4029d420, 0x18435: 0x4029d620, 0x18436: 0x4029d820, 0x18437: 0x4029da20,\n\t0x18438: 0x4029dc20, 0x18439: 0x4029de20, 0x1843a: 0x40026c20, 0x1843b: 0x40026220,\n\t0x1843c: 0x40094020, 0x1843d: 0x40094220, 0x1843e: 0x40094420, 0x1843f: 0x4002c420,\n\t// Block 0x611, offset 0x18440\n\t0x18440: 0x4004d620, 0x18441: 0x002bde88, 0x18442: 0x002c0a88, 0x18443: 0x002c3a88,\n\t0x18444: 0x002c6288, 0x18445: 0x002c9888, 0x18446: 0x002d0888, 0x18447: 0x002d2288,\n\t0x18448: 0x002d6888, 0x18449: 0x002d9a88, 0x1844a: 0x002dcc88, 0x1844b: 0x002dfe88,\n\t0x1844c: 0xc0030002, 0x1844d: 0x002e8288, 0x1844e: 0x002e9e88, 0x1844f: 0x002ee288,\n\t0x18450: 0x002f2c88, 0x18451: 0x002f5688, 0x18452: 0x002f7a88, 0x18453: 0x002fe688,\n\t0x18454: 0x00302c88, 0x18455: 0x00306c88, 0x18456: 0x0030be88, 0x18457: 0x0030e288,\n\t0x18458: 0x0030f688, 0x18459: 0x00310088, 0x1845a: 0x00312a88, 0x1845b: 0x4003f820,\n\t0x1845c: 0x4004e420, 0x1845d: 0x4003fa20, 0x1845e: 0x40062420, 0x1845f: 0x40021620,\n\t0x18460: 0x40061e20, 0x18461: 0xcfa39ac2, 0x18462: 0x402c0a20, 0x18463: 0xcfa809b1,\n\t0x18464: 0x402c6220, 0x18465: 0xcfaa9b41, 0x18466: 0x402d0820, 0x18467: 0x402d2220,\n\t0x18468: 0x402d6820, 0x18469: 0xcfac9b51, 0x1846a: 0x402dcc20, 0x1846b: 0x402dfe20,\n\t0x1846c: 0xc0000002, 0x1846d: 0x402e8220, 0x1846e: 0x402e9e20, 0x1846f: 0xcfae9b62,\n\t0x18470: 0x402f2c20, 0x18471: 0x402f5620, 0x18472: 0x402f7a20, 0x18473: 0xcfb39be1,\n\t0x18474: 0x40302c20, 0x18475: 0xcfb59c02, 0x18476: 0x4030be20, 0x18477: 0x4030e220,\n\t0x18478: 0x4030f620, 0x18479: 0x40310020, 0x1847a: 0x40312a20, 0x1847b: 0x4003fc20,\n\t0x1847c: 0x40094820, 0x1847d: 0x4003fe20, 0x1847e: 0x40094c20, 0x1847f: 0xa0000000,\n\t// Block 0x612, offset 0x18480\n\t0x18480: 0xe00008f5, 0x18481: 0xe00008ef, 0x18482: 0xe0000921, 0x18483: 0xe0000969,\n\t0x18484: 0xe000095b, 0x18485: 0xe000094d, 0x18486: 0xe00009dd, 0x18487: 0xe0000a53,\n\t0x18488: 0xe0000ae8, 0x18489: 0xe0000ae2, 0x1848a: 0xe0000af4, 0x1848b: 0xe0000b20,\n\t0x1848c: 0xe0000c2b, 0x1848d: 0xe0000c25, 0x1848e: 0xe0000c37, 0x1848f: 0xe0000c43,\n\t0x18490: 0xe0000ab3, 0x18491: 0xe0000d63, 0x18492: 0xe0000d9a, 0x18493: 0xe0000d94,\n\t0x18494: 0xe0000da6, 0x18495: 0xe0000de6, 0x18496: 0xe0000dd2, 0x18497: 0x40093e20,\n\t0x18498: 0xe0000e12, 0x18499: 0xe0000fe1, 0x1849a: 0xe0000fdb, 0x1849b: 0xe0000fed,\n\t0x1849c: 0xe0000fff, 0x1849d: 0xe0001102, 0x1849e: 0x00318888, 0x1849f: 0xe0000f7b,\n\t0x184a0: 0xe00008f2, 0x184a1: 0xe00008ec, 0x184a2: 0xe000091e, 0x184a3: 0xe0000966,\n\t0x184a4: 0xcfa69b21, 0x184a5: 0xe000094a, 0x184a6: 0xe00009d5, 0x184a7: 0xe0000a4d,\n\t0x184a8: 0xe0000ae5, 0x184a9: 0xe0000adf, 0x184aa: 0xe0000af1, 0x184ab: 0xe0000b1d,\n\t0x184ac: 0xe0000c28, 0x184ad: 0xe0000c22, 0x184ae: 0xe0000c34, 0x184af: 0xe0000c40,\n\t0x184b0: 0xe0000aad, 0x184b1: 0xe0000d60, 0x184b2: 0xe0000d97, 0x184b3: 0xe0000d91,\n\t0x184b4: 0xe0000da3, 0x184b5: 0xe0000de3, 0x184b6: 0xcfb19bc1, 0x184b7: 0x40093c20,\n\t0x184b8: 0xe0000e0f, 0x184b9: 0xe0000fde, 0x184ba: 0xe0000fd8, 0x184bb: 0xe0000fea,\n\t0x184bc: 0xcfb89c61, 0x184bd: 0xe00010ff, 0x184be: 0x40318820, 0x184bf: 0xe0001114,\n\t// Block 0x613, offset 0x184c0\n\t0x184c0: 0xa0000000, 0x184c1: 0xa0000000, 0x184c2: 0xa0000000, 0x184c3: 0xa0000000,\n\t0x184c4: 0xa0000000, 0x184c5: 0xa0000000, 0x184c6: 0xa0000000, 0x184c7: 0xa0000000,\n\t0x184c8: 0xa0000000, 0x184c9: 0x40020020, 0x184ca: 0x40020220, 0x184cb: 0x40020420,\n\t0x184cc: 0x40020620, 0x184cd: 0x40020820, 0x184ce: 0xa0000000, 0x184cf: 0xa0000000,\n\t0x184d0: 0xa0000000, 0x184d1: 0xa0000000, 0x184d2: 0xa0000000, 0x184d3: 0xa0000000,\n\t0x184d4: 0xa0000000, 0x184d5: 0xa0000000, 0x184d6: 0xa0000000, 0x184d7: 0xa0000000,\n\t0x184d8: 0xa0000000, 0x184d9: 0xa0000000, 0x184da: 0xa0000000, 0x184db: 0xa0000000,\n\t0x184dc: 0xa0000000, 0x184dd: 0xa0000000, 0x184de: 0xa0000000, 0x184df: 0xa0000000,\n\t0x184e0: 0x40021220, 0x184e1: 0x4002ba20, 0x184e2: 0x4003e020, 0x184e3: 0x4004ea20,\n\t0x184e4: 0x4027de20, 0x184e5: 0x4004ec20, 0x184e6: 0x4004e620, 0x184e7: 0x4003d220,\n\t0x184e8: 0x4003f420, 0x184e9: 0x4003f620, 0x184ea: 0x4004d820, 0x184eb: 0x40093820,\n\t0x184ec: 0x40024020, 0x184ed: 0x40021a20, 0x184ee: 0x4002e420, 0x184ef: 0x4004e220,\n\t0x184f0: 0x4029cc20, 0x184f1: 0x4029ce20, 0x184f2: 0x4029d020, 0x184f3: 0x4029d220,\n\t0x184f4: 0x4029d420, 0x184f5: 0x4029d620, 0x184f6: 0x4029d820, 0x184f7: 0x4029da20,\n\t0x184f8: 0x4029dc20, 0x184f9: 0x4029de20, 0x184fa: 0x40026c20, 0x184fb: 0x40026220,\n\t0x184fc: 0x40094020, 0x184fd: 0x40094220, 0x184fe: 0x40094420, 0x184ff: 0x4002c420,\n\t// Block 0x614, offset 0x18500\n\t0x18500: 0x4004d620, 0x18501: 0x002bde88, 0x18502: 0x002c0a88, 0x18503: 0x002c3a88,\n\t0x18504: 0x002c6288, 0x18505: 0xce6d3081, 0x18506: 0x002d0888, 0x18507: 0xc52b2692,\n\t0x18508: 0x002d6888, 0x18509: 0x002d9a88, 0x1850a: 0x002dcc88, 0x1850b: 0x002dfe88,\n\t0x1850c: 0xc0030002, 0x1850d: 0x002e8288, 0x1850e: 0x002e9e88, 0x1850f: 0xc33f3081,\n\t0x18510: 0x002f2c88, 0x18511: 0x002f5688, 0x18512: 0x002f7a88, 0x18513: 0xc3433081,\n\t0x18514: 0x00302c88, 0x18515: 0x00306c88, 0x18516: 0x0030be88, 0x18517: 0x0030e288,\n\t0x18518: 0x0030f688, 0x18519: 0x00310088, 0x1851a: 0x00312a88, 0x1851b: 0x4003f820,\n\t0x1851c: 0x4004e420, 0x1851d: 0x4003fa20, 0x1851e: 0x40062420, 0x1851f: 0x40021620,\n\t0x18520: 0x40061e20, 0x18521: 0x402bde20, 0x18522: 0x402c0a20, 0x18523: 0x402c3a20,\n\t0x18524: 0x402c6220, 0x18525: 0xce6b3081, 0x18526: 0x402d0820, 0x18527: 0xc3372681,\n\t0x18528: 0x402d6820, 0x18529: 0x402d9a20, 0x1852a: 0x402dcc20, 0x1852b: 0x402dfe20,\n\t0x1852c: 0xc0000002, 0x1852d: 0x402e8220, 0x1852e: 0x402e9e20, 0x1852f: 0xc33d3081,\n\t0x18530: 0x402f2c20, 0x18531: 0x402f5620, 0x18532: 0x402f7a20, 0x18533: 0xc3413081,\n\t0x18534: 0x40302c20, 0x18535: 0x40306c20, 0x18536: 0x4030be20, 0x18537: 0x4030e220,\n\t0x18538: 0x4030f620, 0x18539: 0x40310020, 0x1853a: 0x40312a20, 0x1853b: 0x4003fc20,\n\t0x1853c: 0x40094820, 0x1853d: 0x4003fe20, 0x1853e: 0x40094c20, 0x1853f: 0xa0000000,\n\t// Block 0x615, offset 0x18540\n\t0x18540: 0xe0000d24, 0x18541: 0xe0000d21, 0x18542: 0xe0000d2a, 0x18543: 0xe0000d27,\n\t0x18544: 0xe0000d69, 0x18545: 0xe0000d66, 0x18546: 0xe0000d7b, 0x18547: 0xe0000d78,\n\t0x18548: 0xe0000d87, 0x18549: 0xe0000d84, 0x1854a: 0xe0000d81, 0x1854b: 0xe0000d7e,\n\t0x1854c: 0xe0000ded, 0x1854d: 0xe0000de9, 0x1854e: 0xe0000df5, 0x1854f: 0xe0000df1,\n\t0x18550: 0xe0000e3d, 0x18551: 0xe0000e39, 0x18552: 0xe0000e35, 0x18553: 0xe0000e31,\n\t0x18554: 0xe0000ea7, 0x18555: 0xe0000ea4, 0x18556: 0xe0000ead, 0x18557: 0xe0000eaa,\n\t0x18558: 0xe0000ed6, 0x18559: 0xe0000ed3, 0x1855a: 0xe0000ef4, 0x1855b: 0xe0000ef1,\n\t0x1855c: 0xe0000efb, 0x1855d: 0xe0000ef7, 0x1855e: 0xe0000f02, 0x1855f: 0xe0000eff,\n\t0x18560: 0xe0000f41, 0x18561: 0xe0000f3e, 0x18562: 0x002fe883, 0x18563: 0x402fe820,\n\t0x18564: 0xe0000f26, 0x18565: 0xe0000f22, 0x18566: 0xe0000f3a, 0x18567: 0xe0000f36,\n\t0x18568: 0xe000296a, 0x18569: 0xe0002967, 0x1856a: 0xe0000f93, 0x1856b: 0xe0000f90,\n\t0x1856c: 0xe0000f9f, 0x1856d: 0xe0000f9c, 0x1856e: 0xe0000fb1, 0x1856f: 0xe0000fae,\n\t0x18570: 0xe0000fab, 0x18571: 0xe0000fa8, 0x18572: 0xe0001093, 0x18573: 0xe0001090,\n\t0x18574: 0xe000109f, 0x18575: 0xe000109c, 0x18576: 0xe0001099, 0x18577: 0xe0001096,\n\t0x18578: 0xe0001032, 0x18579: 0xe000102e, 0x1857a: 0xe0001046, 0x1857b: 0xe0001042,\n\t0x1857c: 0xe00010a9, 0x1857d: 0xe00010a6, 0x1857e: 0xe00010af, 0x1857f: 0xe00010ac,\n\t// Block 0x616, offset 0x18580\n\t0x18580: 0xe00010d2, 0x18581: 0xe00010cf, 0x18582: 0xe00010cc, 0x18583: 0xe00010c9,\n\t0x18584: 0xe00010e1, 0x18585: 0xe00010de, 0x18586: 0xe00010e7, 0x18587: 0xe00010e4,\n\t0x18588: 0xe00010ed, 0x18589: 0xe00010ea, 0x1858a: 0xe00010fc, 0x1858b: 0xe00010f9,\n\t0x1858c: 0xe00010f6, 0x1858d: 0xe00010f3, 0x1858e: 0xe0001123, 0x1858f: 0xe0001120,\n\t0x18590: 0xe0001141, 0x18591: 0xe000113e, 0x18592: 0xe0001153, 0x18593: 0xe0001150,\n\t0x18594: 0xe0001159, 0x18595: 0xe0001156, 0x18596: 0xe0000c15, 0x18597: 0xe0000f8d,\n\t0x18598: 0xe00010db, 0x18599: 0xe0001111, 0x1859a: 0xf0000404, 0x1859b: 0xe0000f70,\n\t0x1859c: 0x40300420, 0x1859d: 0x40300620, 0x1859e: 0xe0000f7f, 0x1859f: 0x402c9620,\n\t0x185a0: 0xe000099b, 0x185a1: 0xe0000998, 0x185a2: 0xe0000989, 0x185a3: 0xe0000986,\n\t0x185a4: 0xe0000928, 0x185a5: 0xe0000924, 0x185a6: 0xe0000930, 0x185a7: 0xe000092c,\n\t0x185a8: 0xe0000940, 0x185a9: 0xe000093c, 0x185aa: 0xe0000938, 0x185ab: 0xe0000934,\n\t0x185ac: 0xe00009aa, 0x185ad: 0xe00009a6, 0x185ae: 0xe0000902, 0x185af: 0xe00008fe,\n\t0x185b0: 0xe000090a, 0x185b1: 0xe0000906, 0x185b2: 0xe000091a, 0x185b3: 0xe0000916,\n\t0x185b4: 0xe0000912, 0x185b5: 0xe000090e, 0x185b6: 0xe00009a2, 0x185b7: 0xe000099e,\n\t0x185b8: 0x002c9a83, 0x185b9: 0x402c9a20, 0x185ba: 0xe0000b5c, 0x185bb: 0xe0000b59,\n\t0x185bc: 0xe0000b26, 0x185bd: 0xe0000b23, 0x185be: 0xe0000afb, 0x185bf: 0xe0000af7,\n\t// Block 0x617, offset 0x185c0\n\t0x185c0: 0xe0000b03, 0x185c1: 0xe0000aff, 0x185c2: 0xe0000b13, 0x185c3: 0xe0000b0f,\n\t0x185c4: 0xe0000b0b, 0x185c5: 0xe0000b07, 0x185c6: 0xe000b3c5, 0x185c7: 0xe000b3c2,\n\t0x185c8: 0xe0000c66, 0x185c9: 0xe0000c63, 0x185ca: 0xe0000c78, 0x185cb: 0xe0000c75,\n\t0x185cc: 0x002ee483, 0x185cd: 0x402ee420, 0x185ce: 0xe0000e44, 0x185cf: 0xe0000e41,\n\t0x185d0: 0xe0000dad, 0x185d1: 0xe0000da9, 0x185d2: 0xe0000db5, 0x185d3: 0xe0000db1,\n\t0x185d4: 0xe0000dc5, 0x185d5: 0xe0000dc1, 0x185d6: 0xe0000dbd, 0x185d7: 0xe0000db9,\n\t0x185d8: 0xe0003c96, 0x185d9: 0xe0003c93, 0x185da: 0xe0000e5d, 0x185db: 0xe0000e59,\n\t0x185dc: 0xe0000e65, 0x185dd: 0xe0000e61, 0x185de: 0xe0000e75, 0x185df: 0xe0000e71,\n\t0x185e0: 0xe0000e6d, 0x185e1: 0xe0000e69, 0x185e2: 0xe0003c9c, 0x185e3: 0xe0003c99,\n\t0x185e4: 0xe000108d, 0x185e5: 0xe000108a, 0x185e6: 0xe000104d, 0x185e7: 0xe000104a,\n\t0x185e8: 0xe0001066, 0x185e9: 0xe0001062, 0x185ea: 0xe000106e, 0x185eb: 0xe000106a,\n\t0x185ec: 0xe000107e, 0x185ed: 0xe000107a, 0x185ee: 0xe0001076, 0x185ef: 0xe0001072,\n\t0x185f0: 0xe0001086, 0x185f1: 0xe0001082, 0x185f2: 0xe0001108, 0x185f3: 0xe0001105,\n\t0x185f4: 0xe0001135, 0x185f5: 0xe0001132, 0x185f6: 0xe000112f, 0x185f7: 0xe000112c,\n\t0x185f8: 0xe000111d, 0x185f9: 0xe000111a, 0x185fa: 0xe0000d0a, 0x185fb: 0xe0000d07,\n\t0x185fc: 0x0030d888, 0x185fd: 0x4030d820, 0x185fe: 0x00312088, 0x185ff: 0x40312020,\n\t// Block 0x618, offset 0x18600\n\t0x18600: 0xa0000000, 0x18601: 0xa0000000, 0x18602: 0xa0000000, 0x18603: 0xa0000000,\n\t0x18604: 0xa0000000, 0x18605: 0xa0000000, 0x18606: 0xa0000000, 0x18607: 0xa0000000,\n\t0x18608: 0xa0000000, 0x18609: 0x40020020, 0x1860a: 0x40020220, 0x1860b: 0x40020420,\n\t0x1860c: 0x40020620, 0x1860d: 0x40020820, 0x1860e: 0xa0000000, 0x1860f: 0xa0000000,\n\t0x18610: 0xa0000000, 0x18611: 0xa0000000, 0x18612: 0xa0000000, 0x18613: 0xa0000000,\n\t0x18614: 0xa0000000, 0x18615: 0xa0000000, 0x18616: 0xa0000000, 0x18617: 0xa0000000,\n\t0x18618: 0xa0000000, 0x18619: 0xa0000000, 0x1861a: 0xa0000000, 0x1861b: 0xa0000000,\n\t0x1861c: 0xa0000000, 0x1861d: 0xa0000000, 0x1861e: 0xa0000000, 0x1861f: 0xa0000000,\n\t0x18620: 0x40021220, 0x18621: 0x4002ba20, 0x18622: 0x4003e020, 0x18623: 0x4004ea20,\n\t0x18624: 0x4027de20, 0x18625: 0x4004ec20, 0x18626: 0x4004e620, 0x18627: 0x4003d220,\n\t0x18628: 0x4003f420, 0x18629: 0x4003f620, 0x1862a: 0x4004d820, 0x1862b: 0x40093820,\n\t0x1862c: 0x40024020, 0x1862d: 0x40021a20, 0x1862e: 0x4002e420, 0x1862f: 0x4004e220,\n\t0x18630: 0x4029cc20, 0x18631: 0x4029ce20, 0x18632: 0x4029d020, 0x18633: 0x4029d220,\n\t0x18634: 0x4029d420, 0x18635: 0x4029d620, 0x18636: 0x4029d820, 0x18637: 0x4029da20,\n\t0x18638: 0x4029dc20, 0x18639: 0x4029de20, 0x1863a: 0x40026c20, 0x1863b: 0x40026220,\n\t0x1863c: 0x40094020, 0x1863d: 0x40094220, 0x1863e: 0x40094420, 0x1863f: 0x4002c420,\n\t// Block 0x619, offset 0x18640\n\t0x18640: 0x4004d620, 0x18641: 0xcfbf9c81, 0x18642: 0x002c0a88, 0x18643: 0x002c3a88,\n\t0x18644: 0x002c6288, 0x18645: 0xcfcd9cc1, 0x18646: 0x002d0888, 0x18647: 0x002d2288,\n\t0x18648: 0x002d6888, 0x18649: 0xcfe19c81, 0x1864a: 0x002dcc88, 0x1864b: 0x002dfe88,\n\t0x1864c: 0xc0030002, 0x1864d: 0xcfeb9c81, 0x1864e: 0xcff59c81, 0x1864f: 0xcfff9c81,\n\t0x18650: 0x002f2c88, 0x18651: 0x002f5688, 0x18652: 0x002f7a88, 0x18653: 0x002fe688,\n\t0x18654: 0x00302c88, 0x18655: 0xd00e9d81, 0x18656: 0x0030be88, 0x18657: 0x0030e288,\n\t0x18658: 0x0030f688, 0x18659: 0x00310088, 0x1865a: 0x00312a88, 0x1865b: 0x4003f820,\n\t0x1865c: 0x4004e420, 0x1865d: 0x4003fa20, 0x1865e: 0x40062420, 0x1865f: 0x40021620,\n\t0x18660: 0x40061e20, 0x18661: 0xcfba9c81, 0x18662: 0x402c0a20, 0x18663: 0x402c3a20,\n\t0x18664: 0x402c6220, 0x18665: 0xcfc49cc1, 0x18666: 0x402d0820, 0x18667: 0x402d2220,\n\t0x18668: 0x402d6820, 0x18669: 0xcfdc9c81, 0x1866a: 0x402dcc20, 0x1866b: 0x402dfe20,\n\t0x1866c: 0xc0000002, 0x1866d: 0xcfe69c81, 0x1866e: 0xcff09c81, 0x1866f: 0xcffa9c81,\n\t0x18670: 0x402f2c20, 0x18671: 0x402f5620, 0x18672: 0x402f7a20, 0x18673: 0x402fe620,\n\t0x18674: 0x40302c20, 0x18675: 0xd0049d81, 0x18676: 0x4030be20, 0x18677: 0x4030e220,\n\t0x18678: 0x4030f620, 0x18679: 0x40310020, 0x1867a: 0x40312a20, 0x1867b: 0x4003fc20,\n\t0x1867c: 0x40094820, 0x1867d: 0x4003fe20, 0x1867e: 0x40094c20, 0x1867f: 0xa0000000,\n\t// Block 0x61a, offset 0x18680\n\t0x18680: 0x002bde63, 0x18681: 0x002bde23, 0x18682: 0xe0000921, 0x18683: 0xe0000969,\n\t0x18684: 0xe000095b, 0x18685: 0xe000094d, 0x18686: 0xe00009dd, 0x18687: 0xe0000a53,\n\t0x18688: 0x002c9863, 0x18689: 0x002c9823, 0x1868a: 0xcfd99d51, 0x1868b: 0xe0000b20,\n\t0x1868c: 0x002d9a63, 0x1868d: 0x002d9a23, 0x1868e: 0xe0000c37, 0x1868f: 0xe0000c43,\n\t0x18690: 0xe0000ab3, 0x18691: 0xe0000d63, 0x18692: 0x002ee263, 0x18693: 0x002ee223,\n\t0x18694: 0xe0000da6, 0x18695: 0xe0000de6, 0x18696: 0xe0000dd2, 0x18697: 0x40093e20,\n\t0x18698: 0xe0000e12, 0x18699: 0x00306c63, 0x1869a: 0x00306c23, 0x1869b: 0xe0000fed,\n\t0x1869c: 0x00306d23, 0x1869d: 0xe0001102, 0x1869e: 0x00318888, 0x1869f: 0xe0000f7b,\n\t0x186a0: 0x402bde1f, 0x186a1: 0x402bde1d, 0x186a2: 0xe000091e, 0x186a3: 0xe0000966,\n\t0x186a4: 0xe0000958, 0x186a5: 0xe000094a, 0x186a6: 0xe00009d5, 0x186a7: 0xe0000a4d,\n\t0x186a8: 0x402c981f, 0x186a9: 0x402c981d, 0x186aa: 0xcfd69d51, 0x186ab: 0xe0000b1d,\n\t0x186ac: 0x402d9a1f, 0x186ad: 0x402d9a1d, 0x186ae: 0xe0000c34, 0x186af: 0xe0000c40,\n\t0x186b0: 0xe0000aad, 0x186b1: 0xe0000d60, 0x186b2: 0x402ee21f, 0x186b3: 0x402ee21d,\n\t0x186b4: 0xe0000da3, 0x186b5: 0xe0000de3, 0x186b6: 0xe0000dcf, 0x186b7: 0x40093c20,\n\t0x186b8: 0xe0000e0f, 0x186b9: 0x40306c1f, 0x186ba: 0x40306c1d, 0x186bb: 0xe0000fea,\n\t0x186bc: 0x40306c25, 0x186bd: 0xe00010ff, 0x186be: 0x40318820, 0x186bf: 0xe0001114,\n\t// Block 0x61b, offset 0x186c0\n\t0x186c0: 0x002bde03, 0x186c1: 0x402bde1c, 0x186c2: 0xe00008fb, 0x186c3: 0xe00008f8,\n\t0x186c4: 0xe000097d, 0x186c5: 0xe000097a, 0x186c6: 0xe0000a38, 0x186c7: 0xe0000a35,\n\t0x186c8: 0xe0000a3e, 0x186c9: 0xe0000a3b, 0x186ca: 0xe0000a4a, 0x186cb: 0xe0000a47,\n\t0x186cc: 0xe0000a44, 0x186cd: 0xe0000a41, 0x186ce: 0xe0000a86, 0x186cf: 0xe0000a83,\n\t0x186d0: 0xe0000aaa, 0x186d1: 0xe0000aa7, 0x186d2: 0x002c9803, 0x186d3: 0x402c981c,\n\t0x186d4: 0xe0000aee, 0x186d5: 0xe0000aeb, 0x186d6: 0xe0000b2c, 0x186d7: 0xe0000b29,\n\t0x186d8: 0xe0000b40, 0x186d9: 0xe0000b3d, 0x186da: 0x002c9843, 0x186db: 0x402c981e,\n\t0x186dc: 0xe0000bb8, 0x186dd: 0xe0000bb5, 0x186de: 0xe0000bb2, 0x186df: 0xe0000baf,\n\t0x186e0: 0xe0000bc4, 0x186e1: 0xe0000bc1, 0x186e2: 0xe0000bca, 0x186e3: 0xe0000bc7,\n\t0x186e4: 0xe0000bee, 0x186e5: 0xe0000beb, 0x186e6: 0xe0000c1b, 0x186e7: 0xe0000c18,\n\t0x186e8: 0xe0000c51, 0x186e9: 0xe0000c4e, 0x186ea: 0x002d9a03, 0x186eb: 0x402d9a1c,\n\t0x186ec: 0xe0000c31, 0x186ed: 0xe0000c2e, 0x186ee: 0xe0000c5a, 0x186ef: 0xe0000c57,\n\t0x186f0: 0xe0000c54, 0x186f1: 0x402da220, 0x186f2: 0xf0000a0a, 0x186f3: 0xf0000404,\n\t0x186f4: 0xe0000c8a, 0x186f5: 0xe0000c87, 0x186f6: 0xe0000c9f, 0x186f7: 0xe0000c9c,\n\t0x186f8: 0x402f7220, 0x186f9: 0xe0000ccc, 0x186fa: 0xe0000cc9, 0x186fb: 0xe0000cd8,\n\t0x186fc: 0xe0000cd5, 0x186fd: 0xe0000cd2, 0x186fe: 0xe0000ccf, 0x186ff: 0xe0000d04,\n\t// Block 0x61c, offset 0x18700\n\t0x18700: 0xe0000cfe, 0x18701: 0xe0000cf8, 0x18702: 0xe0000cf5, 0x18703: 0x002e9e23,\n\t0x18704: 0x402e9e1d, 0x18705: 0xe0000d6f, 0x18706: 0xe0000d6c, 0x18707: 0x002e9e43,\n\t0x18708: 0x402e9e1e, 0x18709: 0xf0000404, 0x1870a: 0x002eda88, 0x1870b: 0x402eda20,\n\t0x1870c: 0x002ee203, 0x1870d: 0x402ee21c, 0x1870e: 0xe0000da0, 0x1870f: 0xe0000d9d,\n\t0x18710: 0xe0000de0, 0x18711: 0xe0000ddd, 0x18712: 0xe0000e93, 0x18713: 0xe0000e8f,\n\t0x18714: 0xe0000eca, 0x18715: 0xe0000ec7, 0x18716: 0xe0000edc, 0x18717: 0xe0000ed9,\n\t0x18718: 0xe0000ed0, 0x18719: 0xe0000ecd, 0x1871a: 0xe0000f1f, 0x1871b: 0xe0000f1c,\n\t0x1871c: 0xe0000f2d, 0x1871d: 0xe0000f2a, 0x1871e: 0xe0000f47, 0x1871f: 0xe0000f44,\n\t0x18720: 0xe0000f33, 0x18721: 0xe0000f30, 0x18722: 0xe0000f99, 0x18723: 0xe0000f96,\n\t0x18724: 0xe0000f8a, 0x18725: 0xe0000f87, 0x18726: 0x00303688, 0x18727: 0x40303620,\n\t0x18728: 0xe000102b, 0x18729: 0xe0001028, 0x1872a: 0x00306c03, 0x1872b: 0x40306c1c,\n\t0x1872c: 0xe0000fe7, 0x1872d: 0xe0000fe4, 0x1872e: 0xe0000ff9, 0x1872f: 0xe0000ff6,\n\t0x18730: 0xe0001025, 0x18731: 0xe0001022, 0x18732: 0xe0001039, 0x18733: 0xe0001036,\n\t0x18734: 0xe00010d8, 0x18735: 0xe00010d5, 0x18736: 0xe000110e, 0x18737: 0xe000110b,\n\t0x18738: 0xe0001117, 0x18739: 0xe000113b, 0x1873a: 0xe0001138, 0x1873b: 0xe000114d,\n\t0x1873c: 0xe000114a, 0x1873d: 0xe0001147, 0x1873e: 0xe0001144, 0x1873f: 0xe0000f64,\n\t// Block 0x61d, offset 0x18740\n\t0x18740: 0x40321220, 0x18741: 0x40321a20, 0x18742: 0x40322220, 0x18743: 0x40322a20,\n\t0x18744: 0xe0000ad5, 0x18745: 0xe0000ad1, 0x18746: 0xe0000acd, 0x18747: 0xf0000a0a,\n\t0x18748: 0xf000040a, 0x18749: 0xf0000404, 0x1874a: 0xf0000a0a, 0x1874b: 0xf000040a,\n\t0x1874c: 0xf0000404, 0x1874d: 0x002bde43, 0x1874e: 0x402bde1e, 0x1874f: 0x002d9a43,\n\t0x18750: 0x402d9a1e, 0x18751: 0x002ee243, 0x18752: 0x402ee21e, 0x18753: 0x00306c43,\n\t0x18754: 0x40306c1e, 0x18755: 0x00306ca3, 0x18756: 0x40306c21, 0x18757: 0x00306cc3,\n\t0x18758: 0x40306c22, 0x18759: 0x00306ce3, 0x1875a: 0x40306c23, 0x1875b: 0x00306d03,\n\t0x1875c: 0x40306c24, 0x1875d: 0x402cae20, 0x1875e: 0xe000b51f, 0x1875f: 0xe000b51c,\n\t0x18760: 0xe000b525, 0x18761: 0xe000b522, 0x18762: 0xe00009f4, 0x18763: 0xe00009ef,\n\t0x18764: 0x002d3a88, 0x18765: 0x402d3a20, 0x18766: 0xe0000bbe, 0x18767: 0xe0000bbb,\n\t0x18768: 0xe0000c99, 0x18769: 0xe0000c96, 0x1876a: 0xe0000e20, 0x1876b: 0xe0000e1d,\n\t0x1876c: 0xe000b579, 0x1876d: 0xe000b576, 0x1876e: 0xe0001162, 0x1876f: 0xe000115f,\n\t0x18770: 0xe0000c8d, 0x18771: 0xf0000a0a, 0x18772: 0xf000040a, 0x18773: 0xf0000404,\n\t0x18774: 0xe0000bac, 0x18775: 0xe0000ba9, 0x18776: 0x002d7888, 0x18777: 0x00319488,\n\t0x18778: 0x002e9e63, 0x18779: 0x402e9e1f, 0x1877a: 0xe000b537, 0x1877b: 0xe000b534,\n\t0x1877c: 0xe00009ea, 0x1877d: 0xe00009e5, 0x1877e: 0xe0000e19, 0x1877f: 0xe0000e15,\n\t// Block 0x61e, offset 0x18780\n\t0x18780: 0xe000098f, 0x18781: 0xe000098c, 0x18782: 0xe0000995, 0x18783: 0xe0000992,\n\t0x18784: 0xe0000b62, 0x18785: 0xe0000b5f, 0x18786: 0xe0000b68, 0x18787: 0xe0000b65,\n\t0x18788: 0xe0000c6c, 0x18789: 0xe0000c69, 0x1878a: 0xe0000c72, 0x1878b: 0xe0000c6f,\n\t0x1878c: 0xe0000e4a, 0x1878d: 0xe0000e47, 0x1878e: 0xe0000e50, 0x1878f: 0xe0000e4d,\n\t0x18790: 0xe0000ee8, 0x18791: 0xe0000ee5, 0x18792: 0xe0000eee, 0x18793: 0xe0000eeb,\n\t0x18794: 0xe0001053, 0x18795: 0xe0001050, 0x18796: 0xe0001059, 0x18797: 0xe0001056,\n\t0x18798: 0xe0000f61, 0x18799: 0xe0000f5e, 0x1879a: 0xe0000fa5, 0x1879b: 0xe0000fa2,\n\t0x1879c: 0x00312288, 0x1879d: 0x40312220, 0x1879e: 0xe0000bf4, 0x1879f: 0xe0000bf1,\n\t0x187a0: 0x002ebc88, 0x187a1: 0x402c8c20, 0x187a2: 0x002f2288, 0x187a3: 0x402f2220,\n\t0x187a4: 0x00314088, 0x187a5: 0x40314020, 0x187a6: 0xe000096f, 0x187a7: 0xe000096c,\n\t0x187a8: 0xe0000b32, 0x187a9: 0xe0000b2f, 0x187aa: 0xe000b567, 0x187ab: 0xe000b564,\n\t0x187ac: 0xe000b56d, 0x187ad: 0xe000b56a, 0x187ae: 0xe0000e04, 0x187af: 0xe0000e01,\n\t0x187b0: 0xe000b573, 0x187b1: 0xe000b570, 0x187b2: 0xe0001129, 0x187b3: 0xe0001126,\n\t0x187b4: 0x402e5e20, 0x187b5: 0x402ed020, 0x187b6: 0x40305a20, 0x187b7: 0x402dd420,\n\t0x187b8: 0xe0000abf, 0x187b9: 0xe0000ec4, 0x187ba: 0x002be888, 0x187bb: 0x002c4488,\n\t0x187bc: 0x402c4420, 0x187bd: 0x002e3888, 0x187be: 0x00303e88, 0x187bf: 0x402ffc20,\n\t// Block 0x61f, offset 0x187c0\n\t0x187c0: 0xe00009b1, 0x187c1: 0xe00009ae, 0x187c2: 0xe0000a22, 0x187c3: 0xe0000a1f,\n\t0x187c4: 0xe0000a28, 0x187c5: 0xe0000a25, 0x187c6: 0xe0000a2e, 0x187c7: 0xe0000a2b,\n\t0x187c8: 0xe0000a5a, 0x187c9: 0xe0000a56, 0x187ca: 0xe0000a8c, 0x187cb: 0xe0000a89,\n\t0x187cc: 0xe0000a98, 0x187cd: 0xe0000a95, 0x187ce: 0xe0000aa4, 0x187cf: 0xe0000aa1,\n\t0x187d0: 0xe0000a92, 0x187d1: 0xe0000a8f, 0x187d2: 0xe0000a9e, 0x187d3: 0xe0000a9b,\n\t0x187d4: 0xe000b54f, 0x187d5: 0xe000b54c, 0x187d6: 0xe000b549, 0x187d7: 0xe000b546,\n\t0x187d8: 0xe0000b7c, 0x187d9: 0xe0000b79, 0x187da: 0xe0000b82, 0x187db: 0xe0000b7f,\n\t0x187dc: 0xe0000b39, 0x187dd: 0xe0000b35, 0x187de: 0xe0000b8c, 0x187df: 0xe0000b89,\n\t0x187e0: 0xe0000bd0, 0x187e1: 0xe0000bcd, 0x187e2: 0xe0000c00, 0x187e3: 0xe0000bfd,\n\t0x187e4: 0xe0000c0c, 0x187e5: 0xe0000c09, 0x187e6: 0xe0000bfa, 0x187e7: 0xe0000bf7,\n\t0x187e8: 0xe0000c06, 0x187e9: 0xe0000c03, 0x187ea: 0xe0000c12, 0x187eb: 0xe0000c0f,\n\t0x187ec: 0xe0000c7e, 0x187ed: 0xe0000c7b, 0x187ee: 0xe000b555, 0x187ef: 0xe000b552,\n\t0x187f0: 0xe0000c93, 0x187f1: 0xe0000c90, 0x187f2: 0xe0000cab, 0x187f3: 0xe0000ca8,\n\t0x187f4: 0xe0000cb1, 0x187f5: 0xe0000cae, 0x187f6: 0xe0000cde, 0x187f7: 0xe0000cdb,\n\t0x187f8: 0xe0000ce5, 0x187f9: 0xe0000ce1, 0x187fa: 0xe0000cf2, 0x187fb: 0xe0000cef,\n\t0x187fc: 0xe0000cec, 0x187fd: 0xe0000ce9, 0x187fe: 0x002e8223, 0x187ff: 0x402e821d,\n\t// Block 0x620, offset 0x18800\n\t0x18800: 0xe0000d24, 0x18801: 0xe0000d21, 0x18802: 0xe0000d2a, 0x18803: 0xe0000d27,\n\t0x18804: 0xe0000d69, 0x18805: 0xe0000d66, 0x18806: 0xe0000d7b, 0x18807: 0xe0000d78,\n\t0x18808: 0xe0000d87, 0x18809: 0xe0000d84, 0x1880a: 0xe0000d81, 0x1880b: 0xe0000d7e,\n\t0x1880c: 0xe000b585, 0x1880d: 0xe000b582, 0x1880e: 0xe0000df5, 0x1880f: 0xe0000df1,\n\t0x18810: 0xe000b561, 0x18811: 0xe000b55e, 0x18812: 0xe000b55b, 0x18813: 0xe000b558,\n\t0x18814: 0xe0000ea7, 0x18815: 0xe0000ea4, 0x18816: 0xe0000ead, 0x18817: 0xe0000eaa,\n\t0x18818: 0xe0000ed6, 0x18819: 0xe0000ed3, 0x1881a: 0xe0000ef4, 0x1881b: 0xe0000ef1,\n\t0x1881c: 0xe0000efb, 0x1881d: 0xe0000ef7, 0x1881e: 0xe0000f02, 0x1881f: 0xe0000eff,\n\t0x18820: 0xe0000f41, 0x18821: 0xe0000f3e, 0x18822: 0xe0000f53, 0x18823: 0xe0000f50,\n\t0x18824: 0xe0000f26, 0x18825: 0xe0000f22, 0x18826: 0xe0000f3a, 0x18827: 0xe0000f36,\n\t0x18828: 0xe0000f5a, 0x18829: 0xe0000f56, 0x1882a: 0xe0000f93, 0x1882b: 0xe0000f90,\n\t0x1882c: 0xe0000f9f, 0x1882d: 0xe0000f9c, 0x1882e: 0xe0000fb1, 0x1882f: 0xe0000fae,\n\t0x18830: 0xe0000fab, 0x18831: 0xe0000fa8, 0x18832: 0xe0001093, 0x18833: 0xe0001090,\n\t0x18834: 0xe000109f, 0x18835: 0xe000109c, 0x18836: 0xe0001099, 0x18837: 0xe0001096,\n\t0x18838: 0xe000b5a3, 0x18839: 0xe000b5a0, 0x1883a: 0xe000b59d, 0x1883b: 0xe000b59a,\n\t0x1883c: 0xe00010a9, 0x1883d: 0xe00010a6, 0x1883e: 0xe00010af, 0x1883f: 0xe00010ac,\n\t// Block 0x621, offset 0x18840\n\t0x18840: 0xe00010d2, 0x18841: 0xe00010cf, 0x18842: 0xe00010cc, 0x18843: 0xe00010c9,\n\t0x18844: 0xe00010e1, 0x18845: 0xe00010de, 0x18846: 0xe00010e7, 0x18847: 0xe00010e4,\n\t0x18848: 0xe00010ed, 0x18849: 0xe00010ea, 0x1884a: 0xe00010fc, 0x1884b: 0xe00010f9,\n\t0x1884c: 0xe00010f6, 0x1884d: 0xe00010f3, 0x1884e: 0xe0001123, 0x1884f: 0xe0001120,\n\t0x18850: 0xe0001141, 0x18851: 0xe000113e, 0x18852: 0xe0001153, 0x18853: 0xe0001150,\n\t0x18854: 0xe0001159, 0x18855: 0xe0001156, 0x18856: 0xe0000c15, 0x18857: 0xe0000f8d,\n\t0x18858: 0xe00010db, 0x18859: 0xe0001111, 0x1885a: 0xf0000404, 0x1885b: 0xe0000f70,\n\t0x1885c: 0x40300420, 0x1885d: 0x40300620, 0x1885e: 0xe0000f7f, 0x1885f: 0x402c9620,\n\t0x18860: 0xe000099b, 0x18861: 0xe0000998, 0x18862: 0xe0000989, 0x18863: 0xe0000986,\n\t0x18864: 0xe000b531, 0x18865: 0xe000b52e, 0x18866: 0xe000b543, 0x18867: 0xe000b540,\n\t0x18868: 0xe0000940, 0x18869: 0xe000093c, 0x1886a: 0xe0000938, 0x1886b: 0xe0000934,\n\t0x1886c: 0xe00009aa, 0x1886d: 0xe00009a6, 0x1886e: 0xe000b52b, 0x1886f: 0xe000b528,\n\t0x18870: 0xe000b53d, 0x18871: 0xe000b53a, 0x18872: 0xe000091a, 0x18873: 0xe0000916,\n\t0x18874: 0xe0000912, 0x18875: 0xe000090e, 0x18876: 0xe00009a2, 0x18877: 0xe000099e,\n\t0x18878: 0xe0000b6e, 0x18879: 0xe0000b6b, 0x1887a: 0xe0000b5c, 0x1887b: 0xe0000b59,\n\t0x1887c: 0xe0000b26, 0x1887d: 0xe0000b23, 0x1887e: 0x002c98c3, 0x1887f: 0x402c9822,\n\t// Block 0x622, offset 0x18880\n\t0x18880: 0x002c9903, 0x18881: 0x402c9824, 0x18882: 0xe0000b13, 0x18883: 0xe0000b0f,\n\t0x18884: 0xe0000b0b, 0x18885: 0xe0000b07, 0x18886: 0xe0000b75, 0x18887: 0xe0000b71,\n\t0x18888: 0xe0000c66, 0x18889: 0xe0000c63, 0x1888a: 0xe0000c78, 0x1888b: 0xe0000c75,\n\t0x1888c: 0xe0000e84, 0x1888d: 0xe0000e81, 0x1888e: 0xe0000e44, 0x1888f: 0xe0000e41,\n\t0x18890: 0xe000b57f, 0x18891: 0xe000b57c, 0x18892: 0xe000b591, 0x18893: 0xe000b58e,\n\t0x18894: 0xe0000dc5, 0x18895: 0xe0000dc1, 0x18896: 0xe0000dbd, 0x18897: 0xe0000db9,\n\t0x18898: 0xe0000e8b, 0x18899: 0xe0000e87, 0x1889a: 0xe000b58b, 0x1889b: 0xe000b588,\n\t0x1889c: 0xe000b597, 0x1889d: 0xe000b594, 0x1889e: 0xe0000e75, 0x1889f: 0xe0000e71,\n\t0x188a0: 0xe0000e6d, 0x188a1: 0xe0000e69, 0x188a2: 0xe0000e7d, 0x188a3: 0xe0000e79,\n\t0x188a4: 0xe000108d, 0x188a5: 0xe000108a, 0x188a6: 0xe000104d, 0x188a7: 0xe000104a,\n\t0x188a8: 0xe000b5a9, 0x188a9: 0xe000b5a6, 0x188aa: 0xe000b5af, 0x188ab: 0xe000b5ac,\n\t0x188ac: 0xe000107e, 0x188ad: 0xe000107a, 0x188ae: 0xe0001076, 0x188af: 0xe0001072,\n\t0x188b0: 0xe0001086, 0x188b1: 0xe0001082, 0x188b2: 0xe0001108, 0x188b3: 0xe0001105,\n\t0x188b4: 0xe0001135, 0x188b5: 0xe0001132, 0x188b6: 0xe000112f, 0x188b7: 0xe000112c,\n\t0x188b8: 0xe000111d, 0x188b9: 0xe000111a, 0x188ba: 0xe0000d0a, 0x188bb: 0xe0000d07,\n\t0x188bc: 0x0030d888, 0x188bd: 0x4030d820, 0x188be: 0x00312088, 0x188bf: 0x40312020,\n\t// Block 0x623, offset 0x188c0\n\t0x188c0: 0x6d200220, 0x188c1: 0x6c16fe20, 0x188c2: 0x6d0bdc20, 0x188c3: 0x6d1b3420,\n\t0x188c4: 0x6d0bd620, 0x188c5: 0x6cc58020, 0x188c6: 0x6c6ece20, 0x188c7: 0xe000240a,\n\t0x188c8: 0x6c29ae20, 0x188c9: 0x6c29ca20, 0x188ca: 0x6c100220, 0x188cb: 0x6c6b9220,\n\t0x188cc: 0x6cff9e20, 0x188cd: 0x6cffa020, 0x188ce: 0x6cf39620, 0x188cf: 0x6cedd020,\n\t0x188d0: 0x6cedd220, 0x188d1: 0x6cf39820, 0x188d2: 0x6cd8fa20, 0x188d3: 0x6d10c420,\n\t0x188d4: 0x6c630820, 0x188d5: 0x6c616620, 0x188d6: 0x6d036620, 0x188d7: 0x6d036820,\n\t0x188d8: 0x6cd49220, 0x188d9: 0x6cdbee20, 0x188db: 0x6cc64c20,\n\t0x188dc: 0x6cc63420, 0x188dd: 0x6d266620, 0x188de: 0x6c271e20, 0x188df: 0x2ca22083,\n\t0x188e0: 0x6c9f8820, 0x188e1: 0x6cd74220, 0x188e2: 0x6cd74420, 0x188e3: 0x6c0c6c20,\n\t0x188e4: 0x6d2ff820, 0x188e5: 0x6d2ff220, 0x188e6: 0x6cbb3620, 0x188e7: 0x6ca96420,\n\t0x188e8: 0x6cc38820, 0x188e9: 0xe000243f, 0x188ea: 0xe0002442, 0x188eb: 0x6ca2c020,\n\t0x188ec: 0x6cd2f220, 0x188ed: 0x6cd40820, 0x188ee: 0x6cd30220, 0x188ef: 0x6cd86820,\n\t0x188f0: 0x6cd86a20, 0x188f1: 0x6c429620, 0x188f2: 0x6cee4220, 0x188f3: 0xe0002451,\n\t0x188f4: 0x6cee4020, 0x188f5: 0xe000244e, 0x188f6: 0x6cc5ba20, 0x188f7: 0x6cc60a20,\n\t0x188f8: 0x02ff1684, 0x188f9: 0x03000484, 0x188fa: 0x6d24ba20, 0x188fb: 0x6d24bc20,\n\t0x188fc: 0x6cc78020, 0x188fd: 0x6c719e20, 0x188fe: 0x6c12be20, 0x188ff: 0x6c12c220,\n\t// Block 0x624, offset 0x18900\n\t0x18900: 0x6c12c420, 0x18901: 0x6c562e20, 0x18902: 0x6d199a20, 0x18903: 0x6cf76620,\n\t0x18904: 0x6cf94e20, 0x18905: 0x6c673620, 0x18906: 0x0313a484, 0x18907: 0xe000246c,\n\t0x18908: 0x6d0d2e20, 0x18909: 0x6c077420, 0x1890a: 0xe000246f, 0x1890b: 0x6c17e220,\n\t0x1890c: 0x6c21a220, 0x1890d: 0x6c21a620, 0x1890e: 0x6c21f020, 0x1890f: 0x6c3f9a20,\n\t0x18910: 0x6c6c7c20, 0x18911: 0x6c16dc20, 0x18912: 0x6c16de20, 0x18913: 0x6d2f1620,\n\t0x18914: 0x6c9ae820, 0x18915: 0xe000247b, 0x18916: 0x6c3f9c20, 0x18917: 0x6d222020,\n\t0x18918: 0x6cbe6a20, 0x18919: 0x6cef7e20, 0x1891a: 0x6d13ae20, 0x1891b: 0x6c3c9820,\n\t0x1891c: 0x6c3a3020, 0x1891d: 0x6cd29c20, 0x1891e: 0xe0002481, 0x1891f: 0x6cd29e20,\n\t0x18920: 0x6cd2a020, 0x18921: 0xe0002484, 0x18922: 0x6c96ae20, 0x18923: 0x6c476c20,\n\t0x18924: 0x6c4b2420, 0x18925: 0x6d220e20, 0x18926: 0x6ca7ce20, 0x18927: 0x6c920a20,\n\t0x18928: 0x6c975620, 0x18929: 0x6c5a4020, 0x1892a: 0x6c9e4820, 0x1892b: 0x6cb6bc20,\n\t0x1892c: 0x6cb6be20, 0x1892d: 0x6c1bd020, 0x1892e: 0x6c1bd220, 0x1892f: 0x6c902820,\n\t0x18930: 0x6c902a20, 0x18931: 0x6c4ab620, 0x18932: 0x6c4ab420, 0x18933: 0x2c4a3883,\n\t// Block 0x625, offset 0x18940\n\t0x18940: 0x2d13b686, 0x18941: 0x2c4bb683, 0x18942: 0x2d3a5283, 0x18943: 0x2cb1dc83,\n\t0x18944: 0x2d15aa84, 0x18945: 0x2c73be83, 0x18946: 0x2c37b486, 0x18947: 0x2ce7e283,\n\t0x18948: 0x2cc55a84, 0x18949: 0x2c372e83, 0x1894a: 0x2cc80e83, 0x1894b: 0x2c030a84,\n\t0x1894c: 0x2c6ed083, 0x1894d: 0x2c9d1683, 0x1894e: 0x2c0d9e83, 0x1894f: 0x2c610c83,\n\t0x18950: 0x2cb9ec83, 0x18951: 0x2c29b083, 0x18952: 0x2c855c83, 0x18953: 0x2c059c83,\n\t0x18954: 0x2c08aa83, 0x18955: 0x2c397e83, 0x18956: 0x2cf83483, 0x18957: 0x2cd22485,\n\t0x18958: 0x2c100483, 0x18959: 0x2c6a4e83, 0x1895a: 0x2c16e083, 0x1895b: 0x2cd7b483,\n\t0x1895c: 0x2d200483, 0x1895d: 0x2c79c883, 0x1895e: 0x2ceed683, 0x1895f: 0x2ce91084,\n\t0x18960: 0x2cd2e283, 0x18961: 0x2d34ca83, 0x18962: 0x2cdba683, 0x18963: 0x2cf55a83,\n\t0x18964: 0x2c26e483, 0x18965: 0x2caa6e84, 0x18966: 0x2d3f6883, 0x18967: 0x2c9db683,\n\t0x18968: 0x2c25b083, 0x18969: 0x2cffa283, 0x1896a: 0x2d1edc83, 0x1896b: 0x2cd18a83,\n\t0x1896c: 0x2c17fa83, 0x1896d: 0x2cccb083, 0x1896e: 0x2c1fd683, 0x1896f: 0x2c454a83,\n\t0x18970: 0x2c610e83, 0x18971: 0x2c6c1a83, 0x18972: 0x2c420a83, 0x18973: 0x2d107e83,\n\t0x18974: 0x2c4a0283, 0x18975: 0x2d1ac083, 0x18976: 0x2c45cc83, 0x18977: 0x2d163c83,\n\t0x18978: 0x2c454c83, 0x18979: 0x2c616883, 0x1897a: 0x2cccb283, 0x1897b: 0x2c1bd483,\n\t0x1897c: 0x2d02a283, 0x1897d: 0x2c436083, 0x1897e: 0x2c563883, 0x1897f: 0x2cd43684,\n\t// Block 0x626, offset 0x18980\n\t0x18980: 0x2d337e83, 0x18981: 0x2cb3fc83, 0x18982: 0x2cf17a84, 0x18983: 0x2c30f883,\n\t0x18984: 0x2c6c1e83, 0x18985: 0x2c398083, 0x18986: 0x2cf39a83, 0x18987: 0x2cc63684,\n\t0x18988: 0x2d264283, 0x18989: 0x2d266885, 0x1898a: 0x2ca25c84, 0x1898b: 0x2cba3883,\n\t0x1898c: 0x2d34cc83, 0x1898d: 0x2c271283, 0x1898e: 0x2cd49883, 0x1898f: 0x2cf39c83,\n\t0x18990: 0x2c08ac83, 0x18991: 0x2c98c083, 0x18992: 0x2cd2e483, 0x18993: 0x2cb72683,\n\t0x18994: 0x2cd70284, 0x18995: 0x2c5d8484, 0x18996: 0x2d2f8083, 0x18997: 0x2c3fa083,\n\t0x18998: 0x2d10c683, 0x18999: 0x2cac5083, 0x1899a: 0x2cb14483, 0x1899b: 0x2d0b0883,\n\t0x1899c: 0x2ca96683, 0x1899d: 0x2cc34c83, 0x1899e: 0x2d07fa83, 0x1899f: 0x2d22b883,\n\t0x189a0: 0x2c483e83, 0x189a1: 0x2cec0c83, 0x189a2: 0x2c415c83, 0x189a3: 0x2cd0d284,\n\t0x189a4: 0x2d1e6c83, 0x189a5: 0x2ce47e83, 0x189a6: 0x2cb04483, 0x189a7: 0x2ca54083,\n\t0x189a8: 0x2c0e4683, 0x189a9: 0x2c040883, 0x189aa: 0x2cafa883, 0x189ab: 0x2c9f8a83,\n\t0x189ac: 0x2ca26483, 0x189ad: 0x2c98c283, 0x189ae: 0x2cd2a883, 0x189af: 0x2cd22c83,\n\t0x189b0: 0x2cd2f483, 0x189b1: 0x2cc74083, 0x189b2: 0x2c50b283, 0x189b3: 0x2d08f283,\n\t0x189b4: 0x2c856c83, 0x189b5: 0x2d39f083, 0x189b6: 0x2c9cd683, 0x189b7: 0x2c9d1a83,\n\t0x189b8: 0x2c3d1a83, 0x189b9: 0x2cedf483, 0x189ba: 0x2d0f7683, 0x189bb: 0x2d221c83,\n\t0x189bc: 0x2c819a83, 0x189bd: 0x2c373083, 0x189be: 0x2c82b283, 0x189bf: 0x2c378483,\n\t// Block 0x627, offset 0x189c0\n\t0x189c0: 0x2d22c683, 0x189c1: 0x2cc78283, 0x189c2: 0x2c189483, 0x189c3: 0x2d3f2a83,\n\t0x189c4: 0x2d357083, 0x189c5: 0x2c6fd083, 0x189c6: 0x2ccf0683, 0x189c7: 0x2c201683,\n\t0x189c8: 0x2d385283, 0x189c9: 0x2c449e83, 0x189ca: 0x2ccb1483, 0x189cb: 0x2c12aa83,\n\t0x189cc: 0x2c549483, 0x189cd: 0x2c1d0883, 0x189ce: 0x2d093883, 0x189cf: 0x2d03ba83,\n\t0x189d0: 0x2d13be83, 0x189d1: 0x2d0b7083, 0x189d2: 0x2c665283, 0x189d3: 0x2c68c683,\n\t0x189d4: 0x2d0c5c83, 0x189d5: 0x2c475c83, 0x189d6: 0x2c30fa83, 0x189d7: 0x2cd2b083,\n\t0x189d8: 0x2d357c83, 0x189d9: 0x2c06dc83, 0x189da: 0x2c1be883, 0x189db: 0x2d407e84,\n\t0x189dc: 0x2d40a683, 0x189dd: 0x2ccfa483, 0x189de: 0x2c17ce83, 0x189df: 0x2d02ae83,\n\t0x189e0: 0x2c18a083, 0x189e1: 0x2c21a883, 0x189e2: 0x2d169e83, 0x189e3: 0x2d1fa483,\n\t0x189e4: 0x2c0b7883, 0x189e5: 0x2c84fc83, 0x189e6: 0x2c6c2e84, 0x189e7: 0x2d2f0083,\n\t0x189e8: 0x2c9ac683, 0x189e9: 0x2c3fba83, 0x189ea: 0x2c859883, 0x189eb: 0x2d3c5683,\n\t0x189ec: 0x2d222283, 0x189ed: 0x2cbe3083, 0x189ee: 0x2c39f283, 0x189ef: 0x2c9e5683,\n\t0x189f0: 0x2c43d083, 0x189f1: 0x2ceeee83, 0x189f2: 0x2c6fb483, 0x189f3: 0x2d19ba83,\n\t0x189f4: 0x2d12dc83, 0x189f5: 0x2c3c2c83, 0x189f6: 0x2c39f483, 0x189f7: 0x2cd25883,\n\t0x189f8: 0x2cd44283, 0x189f9: 0x2cfd6683, 0x189fa: 0x2c969883, 0x189fb: 0x2c476e83,\n\t0x189fc: 0x2c42bc83, 0x189fd: 0x2c0bf483, 0x189fe: 0x2c310e83, 0x189ff: 0x2c170e83,\n\t// Block 0x628, offset 0x18a00\n\t0x18a00: 0x2c43e083, 0x18a01: 0x2c4ae283, 0x18a02: 0x2d211283, 0x18a03: 0x2ca79a83,\n\t0x18a04: 0x2c91bc83, 0x18a05: 0x2c924c83, 0x18a06: 0x2c973283, 0x18a07: 0x2c966883,\n\t0x18a08: 0x2c59ce83, 0x18a09: 0x2cd56083, 0x18a0a: 0x2c521c83, 0x18a0b: 0x2d353483,\n\t0x18a0c: 0x2c9e3283, 0x18a0d: 0x2c2f7483, 0x18a0e: 0x2c47a683, 0x18a0f: 0x2cd56683,\n\t0x18a10: 0x2c08a283, 0x18a11: 0x2cb63483, 0x18a12: 0x2c1bc283, 0x18a13: 0x2c8fb083,\n\t0x18a14: 0x2c4a9683, 0x18a15: 0x2d26f683,\n\t0x18a30: 0x40273a20, 0x18a31: 0x40273c20, 0x18a32: 0x40273e20, 0x18a33: 0x40274020,\n\t0x18a34: 0x40274220, 0x18a35: 0x40274420, 0x18a36: 0x40274620, 0x18a37: 0x40274820,\n\t0x18a38: 0x40274a20, 0x18a39: 0x40274c20, 0x18a3a: 0x40274e20, 0x18a3b: 0x40275020,\n\t// Block 0x629, offset 0x18a40\n\t0x18a40: 0x00021283, 0x18a41: 0x40025c20, 0x18a42: 0x40030420, 0x18a43: 0x40051220,\n\t0x18a44: 0x40279a20, 0x18a45: 0x4027ca20, 0x18a46: 0xe0002206, 0x18a47: 0x6c8c9620,\n\t0x18a48: 0x40049c20, 0x18a49: 0x40049e20, 0x18a4a: 0x4004a020, 0x18a4b: 0x4004a220,\n\t0x18a4c: 0x4004a420, 0x18a4d: 0x4004a620, 0x18a4e: 0x4004a820, 0x18a4f: 0x4004aa20,\n\t0x18a50: 0x4004ac20, 0x18a51: 0x4004ae20, 0x18a52: 0x40279c20, 0x18a53: 0x40279e20,\n\t0x18a54: 0x4004b020, 0x18a55: 0x4004b220, 0x18a56: 0x4004b420, 0x18a57: 0x4004b620,\n\t0x18a58: 0x4004b820, 0x18a59: 0x4004ba20, 0x18a5a: 0x4004bc20, 0x18a5b: 0x4004be20,\n\t0x18a5c: 0x40023820, 0x18a5d: 0x4003ea20, 0x18a5e: 0x4003ec20, 0x18a5f: 0x4003ee20,\n\t0x18a60: 0x4027a020, 0x18a61: 0xe0000267, 0x18a62: 0xe000037f, 0x18a63: 0xe0000459,\n\t0x18a64: 0xe000052e, 0x18a65: 0xe00005f8, 0x18a66: 0xe00006c3, 0x18a67: 0xe000076b,\n\t0x18a68: 0xe0000817, 0x18a69: 0xe00008bc, 0x18a6a: 0xada12202, 0x18a6b: 0xae412302,\n\t0x18a6c: 0xae812402, 0x18a6d: 0xade12502, 0x18a6e: 0xae012602, 0x18a6f: 0xae012702,\n\t0x18a70: 0x40023a20, 0x18a71: 0x4027ce20, 0x18a72: 0xe0000152, 0x18a73: 0x4027d020,\n\t0x18a74: 0xe0000155, 0x18a75: 0x4027d220, 0x18a76: 0x00279c84, 0x18a77: 0x4027a220,\n\t0x18a78: 0x2cd22484, 0x18a79: 0x2ca75483, 0x18a7a: 0x2cc96283, 0x18a7b: 0x4027cc20,\n\t0x18a7c: 0xe000231a, 0x18a7d: 0x40051420, 0x18a7e: 0x4027a420, 0x18a7f: 0x4027a620,\n\t// Block 0x62a, offset 0x18a80\n\t0x18a80: 0x00633a84, 0x18a81: 0x00634484, 0x18a82: 0x0064f684, 0x18a83: 0x0064f884,\n\t0x18a84: 0x00635a84, 0x18a85: 0x00635c84, 0x18a86: 0x00635e84, 0x18a87: 0x0063ee84,\n\t0x18a88: 0x0063f084, 0x18a89: 0x0063f684, 0x18a8a: 0x00640884, 0x18a8b: 0x00640a84,\n\t0x18a8c: 0x00640e84, 0x18a8d: 0x00642284, 0x18a8e: 0x00642884,\n\t0x18a90: 0x4027a820, 0x18a91: 0x4027aa20, 0x18a92: 0x2d13b685, 0x18a93: 0x2c37b485,\n\t0x18a94: 0x2cc9f285, 0x18a95: 0x2cd87484, 0x18a96: 0x2cce4884, 0x18a97: 0x2d378285,\n\t0x18a98: 0x2cfa2684, 0x18a99: 0x2c63fc83, 0x18a9a: 0x2d15aa83, 0x18a9b: 0x2c0dba83,\n\t0x18a9c: 0x2c2f4083, 0x18a9d: 0x2ce45484, 0x18a9e: 0x2c2a8a83, 0x18a9f: 0x2cc55a83,\n\t0x18aa0: 0xe000237a, 0x18aa1: 0xe0002383, 0x18aa2: 0xe0002380, 0x18aa3: 0xe000237d,\n\t0x18aa4: 0x40661c20, 0x18aa5: 0xe000238c, 0x18aa6: 0x40661620, 0x18aa7: 0xe0002389,\n\t0x18aa8: 0xe000239e, 0x18aa9: 0xe0002386, 0x18aaa: 0xe0002395, 0x18aab: 0xe000239b,\n\t0x18aac: 0x40663420, 0x18aad: 0x4065f220, 0x18aae: 0xe000238f, 0x18aaf: 0xe0002392,\n\t0x18ab0: 0x40663020, 0x18ab1: 0x40663220, 0x18ab2: 0x40662c20, 0x18ab3: 0xe0002398,\n\t0x18ab4: 0x0065dc99, 0x18ab5: 0x0065e699, 0x18ab6: 0x0065ee99, 0x18ab7: 0x0065f499,\n\t0x18ab8: 0x40660c20, 0x18ab9: 0x40660e20, 0x18aba: 0x40661020,\n\t// Block 0x62b, offset 0x18ac0\n\t0x18ac0: 0xf0000404, 0x18ac1: 0xf0000404, 0x18ac2: 0xf0000404, 0x18ac3: 0xf0000404,\n\t0x18ac4: 0xf0000404, 0x18ac5: 0xf0000404, 0x18ac6: 0xf0000404, 0x18ac7: 0xf0000404,\n\t0x18ac8: 0xf0000404, 0x18ac9: 0xf0000404, 0x18aca: 0xf0000404, 0x18acb: 0xf0000404,\n\t0x18acc: 0xf0000404, 0x18acd: 0xf0000404, 0x18ace: 0xe000004c, 0x18acf: 0xe0000051,\n\t0x18ad0: 0xe0000056, 0x18ad1: 0xe000005b, 0x18ad2: 0xe0000060, 0x18ad3: 0xe0000065,\n\t0x18ad4: 0xe000006a, 0x18ad5: 0xe000006f, 0x18ad6: 0xe0000083, 0x18ad7: 0xe000008d,\n\t0x18ad8: 0xe0000092, 0x18ad9: 0xe0000097, 0x18ada: 0xe000009c, 0x18adb: 0xe00000a1,\n\t0x18adc: 0xe0000088, 0x18add: 0xe0000074, 0x18ade: 0xe000007c,\n\t0x18ae0: 0xe000b438, 0x18ae1: 0xe000b3d4, 0x18ae2: 0xe000b40c, 0x18ae3: 0xe000b41c,\n\t0x18ae4: 0xe000b428, 0x18ae5: 0xe000b3f4, 0x18ae6: 0xe000b400, 0x18ae7: 0xe000b3c8,\n\t0x18ae8: 0xe000b3ec, 0x18ae9: 0xe000b414, 0x18aea: 0xe000b440, 0x18aeb: 0xe000b3dc,\n\t0x18aec: 0xe000b418, 0x18aed: 0xe000b3fc, 0x18aee: 0xe000b3e8, 0x18aef: 0xe000b424,\n\t0x18af0: 0xe000b408, 0x18af1: 0xe000b448, 0x18af2: 0xe000b43c, 0x18af3: 0xe000b410,\n\t0x18af4: 0xe000b3f8, 0x18af5: 0xe000b420, 0x18af6: 0xe000b3cc, 0x18af7: 0xe000b44c,\n\t0x18af8: 0xe000b3f0, 0x18af9: 0xe000b3d0, 0x18afa: 0xe000b3d8, 0x18afb: 0xe000b434,\n\t0x18afc: 0xe000b3e4, 0x18afd: 0xe000b404, 0x18afe: 0xe000b450, 0x18aff: 0xe000b42c,\n\t// Block 0x62c, offset 0x18b00\n\t0x18b00: 0xe000b3e0, 0x18b01: 0xe000b430, 0x18b02: 0xe000b454, 0x18b03: 0xe000b444,\n\t0x18b04: 0x2cf20683, 0x18b05: 0x2d200c83, 0x18b06: 0x2cf17a83, 0x18b07: 0x2d32e283,\n\t0x18b08: 0xe00002e3, 0x18b09: 0xe00003d8, 0x18b0a: 0xe00004b3, 0x18b0b: 0xe000057d,\n\t0x18b0c: 0xe0000648, 0x18b0d: 0xe00006f0, 0x18b0e: 0xe000079c, 0x18b0f: 0xe0000841,\n\t0x18b10: 0xe0000ec0, 0x18b11: 0xf0000606, 0x18b12: 0xf0000606, 0x18b13: 0xf0000606,\n\t0x18b14: 0xf0000606, 0x18b15: 0xf0000606, 0x18b16: 0xf0000606, 0x18b17: 0xf0000606,\n\t0x18b18: 0xf0000606, 0x18b19: 0xf0000606, 0x18b1a: 0xf0000606, 0x18b1b: 0xf0000606,\n\t0x18b1c: 0xf0000606, 0x18b1d: 0xf0000606, 0x18b1e: 0xf0000606, 0x18b1f: 0xf0000606,\n\t0x18b20: 0x0062ac86, 0x18b21: 0x0062b086, 0x18b22: 0x0062b286, 0x18b23: 0x0062b686,\n\t0x18b24: 0x0062b886, 0x18b25: 0x0062ba86, 0x18b26: 0x0062be86, 0x18b27: 0x0062c286,\n\t0x18b28: 0x0062c486, 0x18b29: 0x0062c886, 0x18b2a: 0x0062ca86, 0x18b2b: 0x0062cc86,\n\t0x18b2c: 0x0062ce86, 0x18b2d: 0x0062d086, 0x18b2e: 0xf0000606, 0x18b2f: 0xf0000606,\n\t0x18b30: 0xf0000606, 0x18b31: 0xf0000606, 0x18b32: 0xf0000606, 0x18b33: 0xf0000606,\n\t0x18b34: 0xf0000606, 0x18b35: 0xf0000606, 0x18b36: 0xf0000606, 0x18b37: 0xf0000606,\n\t0x18b38: 0xf0000606, 0x18b39: 0xf0000606, 0x18b3a: 0xf0000606, 0x18b3b: 0xf0000606,\n\t0x18b3c: 0xe0002127, 0x18b3d: 0xe0002122, 0x18b3e: 0xf0000606, 0x18b3f: 0x4027ac20,\n\t// Block 0x62d, offset 0x18b40\n\t0x18b40: 0x2d13b684, 0x18b41: 0x2c37b484, 0x18b42: 0x2cc9f284, 0x18b43: 0x2cd87483,\n\t0x18b44: 0x2cf41483, 0x18b45: 0x2c8f2483, 0x18b46: 0x2cb4c683, 0x18b47: 0x2c030a83,\n\t0x18b48: 0x2c6f9a83, 0x18b49: 0x2cd22483, 0x18b4a: 0x2d266884, 0x18b4b: 0x2c5d8483,\n\t0x18b4c: 0x2cd70283, 0x18b4d: 0x2ca25c83, 0x18b4e: 0x2c6c2e83, 0x18b4f: 0x2ce91083,\n\t0x18b50: 0x2cc63683, 0x18b51: 0x2d399283, 0x18b52: 0x2d1f9884, 0x18b53: 0x2ccf3683,\n\t0x18b54: 0x2c9fe683, 0x18b55: 0x2ce27083, 0x18b56: 0x2c110e83, 0x18b57: 0x2d3ac683,\n\t0x18b58: 0x2c814083, 0x18b59: 0x2c9d3483, 0x18b5a: 0x2ca3e283, 0x18b5b: 0x2caa6e83,\n\t0x18b5c: 0x2cd3bc83, 0x18b5d: 0x2d1eb483, 0x18b5e: 0x2d1b3683, 0x18b5f: 0x2d3ab083,\n\t0x18b60: 0x2cfe3a83, 0x18b61: 0x2d04b283, 0x18b62: 0x2d013e83, 0x18b63: 0x2d333683,\n\t0x18b64: 0x2cce4883, 0x18b65: 0x2d378284, 0x18b66: 0x2cfa2683, 0x18b67: 0x2d426084,\n\t0x18b68: 0x2d200884, 0x18b69: 0x2d13c083, 0x18b6a: 0x2d3f7083, 0x18b6b: 0x2d08f883,\n\t0x18b6c: 0x2c64ca83, 0x18b6d: 0x2cb6c883, 0x18b6e: 0x2d3e6083, 0x18b6f: 0x2d007083,\n\t0x18b70: 0x2d12ca83, 0x18b71: 0xf0000606, 0x18b72: 0xf0000606, 0x18b73: 0xf0000606,\n\t0x18b74: 0xf0000606, 0x18b75: 0xf0000606, 0x18b76: 0xf0000606, 0x18b77: 0xf0000606,\n\t0x18b78: 0xf0000606, 0x18b79: 0xf0000606, 0x18b7a: 0xf0000606, 0x18b7b: 0xf0000606,\n\t0x18b7c: 0xf0000606, 0x18b7d: 0xf0000606, 0x18b7e: 0xf0000606, 0x18b7f: 0xf0000606,\n\t// Block 0x62e, offset 0x18b80\n\t0x18b80: 0xf0000203, 0x18b81: 0xf0000203, 0x18b82: 0xf0000203, 0x18b83: 0xf0000203,\n\t0x18b84: 0xf0000203, 0x18b85: 0xf0000203, 0x18b86: 0xf0000203, 0x18b87: 0xf0000203,\n\t0x18b88: 0xf0000203, 0x18b89: 0xe000b484, 0x18b8a: 0xe000b490, 0x18b8b: 0xe000b49c,\n\t0x18b8c: 0xf0001c1d, 0x18b8d: 0xe0000b85, 0x18b8e: 0xf0001d1c, 0x18b8f: 0xe0000d14,\n\t0x18b90: 0x00657693, 0x18b91: 0x00657893, 0x18b92: 0x00657a93, 0x18b93: 0x00657e93,\n\t0x18b94: 0x00658093, 0x18b95: 0x00658293, 0x18b96: 0x00658493, 0x18b97: 0x00658693,\n\t0x18b98: 0x00658893, 0x18b99: 0x00658a93, 0x18b9a: 0x00658c93, 0x18b9b: 0x00658e93,\n\t0x18b9c: 0x00659093, 0x18b9d: 0x00659293, 0x18b9e: 0x00659493, 0x18b9f: 0x00659693,\n\t0x18ba0: 0x00659893, 0x18ba1: 0x00659a93, 0x18ba2: 0x00659c93, 0x18ba3: 0x00659e93,\n\t0x18ba4: 0x0065a093, 0x18ba5: 0x0065a293, 0x18ba6: 0x0065a493, 0x18ba7: 0x0065a693,\n\t0x18ba8: 0x0065a893, 0x18ba9: 0x0065aa93, 0x18baa: 0x0065ac93, 0x18bab: 0x0065ae93,\n\t0x18bac: 0x0065b093, 0x18bad: 0x0065b293, 0x18bae: 0x0065b493, 0x18baf: 0x0065b693,\n\t0x18bb0: 0x0065b893, 0x18bb1: 0x0065ba93, 0x18bb2: 0x0065bc93, 0x18bb3: 0x0065be93,\n\t0x18bb4: 0x0065c093, 0x18bb5: 0x0065c493, 0x18bb6: 0x0065c693, 0x18bb7: 0x0065c893,\n\t0x18bb8: 0x0065ca93, 0x18bb9: 0x0065cc93, 0x18bba: 0x0065ce93, 0x18bbb: 0x0065d093,\n\t0x18bbc: 0x0065d293, 0x18bbd: 0x0065d493, 0x18bbe: 0x0065d693,\n\t// Block 0x62f, offset 0x18bc0\n\t0x18bc0: 0xe000230b, 0x18bc1: 0xe00022f8, 0x18bc2: 0xe00022fc, 0x18bc3: 0xe0002311,\n\t0x18bc4: 0xe0002316, 0x18bc5: 0xe000231d, 0x18bc6: 0xe0002321, 0x18bc7: 0xe0002325,\n\t0x18bc8: 0xe000232b, 0x18bc9: 0xf0001c1c, 0x18bca: 0xe0002330, 0x18bcb: 0xe000233c,\n\t0x18bcc: 0xe0002340, 0x18bcd: 0xe0002337, 0x18bce: 0xe0002346, 0x18bcf: 0xe000234b,\n\t0x18bd0: 0xe000234f, 0x18bd1: 0xe0002353, 0x18bd2: 0xf0001c1c, 0x18bd3: 0xe000235e,\n\t0x18bd4: 0xe0002358, 0x18bd5: 0xf0001c1c, 0x18bd6: 0xe0002363, 0x18bd7: 0xe000236d,\n\t0x18bd8: 0xf0000203, 0x18bd9: 0xf0000203, 0x18bda: 0xf0000203, 0x18bdb: 0xf0000203,\n\t0x18bdc: 0xf0000203, 0x18bdd: 0xf0000203, 0x18bde: 0xf0000203, 0x18bdf: 0xf0000203,\n\t0x18be0: 0xf0000203, 0x18be1: 0xf0000203, 0x18be2: 0xe000b47c, 0x18be3: 0xe000b488,\n\t0x18be4: 0xe000b494, 0x18be5: 0xe000b4a0, 0x18be6: 0xe000b4a8, 0x18be7: 0xe000b4b0,\n\t0x18be8: 0xe000b4b8, 0x18be9: 0xe000b4c0, 0x18bea: 0xe000b4c8, 0x18beb: 0xe000b4d0,\n\t0x18bec: 0xe000b4d8, 0x18bed: 0xe000b4e0, 0x18bee: 0xe000b4e8, 0x18bef: 0xe000b4f0,\n\t0x18bf0: 0xe000b4f8, 0x18bf1: 0xe0000c1e, 0x18bf2: 0xf0001c1c, 0x18bf3: 0xf0001d1d,\n\t0x18bf4: 0xe0000a31, 0x18bf5: 0xf0001d1c, 0x18bf6: 0xf0001c1c, 0x18bf7: 0xf0001c1c,\n\t0x18bf8: 0xe0000ac2, 0x18bf9: 0xe0000ac6, 0x18bfa: 0xf0001d1d, 0x18bfb: 0xf0000203,\n\t0x18bfc: 0xf0000203, 0x18bfd: 0xf0000203, 0x18bfe: 0xf0000203, 0x18bff: 0xe000b5b2,\n\t// Block 0x630, offset 0x18c00\n\t0x18c00: 0xf0001d1c, 0x18c01: 0xf0001d1d, 0x18c02: 0xe00009b7, 0x18c03: 0xf0001c1d,\n\t0x18c04: 0xf0001c1c, 0x18c05: 0xf0001c1c, 0x18c06: 0xe0000a66, 0x18c07: 0xe0000a7a,\n\t0x18c08: 0xf0001d1c, 0x18c09: 0xf0001c1d, 0x18c0a: 0xf0001c1c, 0x18c0b: 0xf0001d1d,\n\t0x18c0c: 0xf0001c1c, 0x18c0d: 0xf0001d1d, 0x18c0e: 0xf0001d1d, 0x18c0f: 0xf0001c1c,\n\t0x18c10: 0xf0001c1c, 0x18c11: 0xf0001c1c, 0x18c12: 0xe0000d0d, 0x18c13: 0xf0001c1c,\n\t0x18c14: 0xf0001c1c, 0x18c15: 0xe0000d3a, 0x18c16: 0xe0000d46, 0x18c17: 0xf0001d1d,\n\t0x18c18: 0xe0000eb0, 0x18c19: 0xe0000eb8, 0x18c1a: 0xf0001d1d, 0x18c1b: 0xf0001c1c,\n\t0x18c1c: 0xf0001c1d, 0x18c1d: 0xf0001c1d, 0x18c1e: 0xe00010b2, 0x18c1f: 0xe00009c8,\n\t0x18c20: 0xf0000203, 0x18c21: 0xf0000203, 0x18c22: 0xf0000203, 0x18c23: 0xf0000203,\n\t0x18c24: 0xf0000203, 0x18c25: 0xf0000203, 0x18c26: 0xf0000203, 0x18c27: 0xf0000203,\n\t0x18c28: 0xf0000203, 0x18c29: 0xe000b480, 0x18c2a: 0xe000b48c, 0x18c2b: 0xe000b498,\n\t0x18c2c: 0xe000b4a4, 0x18c2d: 0xe000b4ac, 0x18c2e: 0xe000b4b4, 0x18c2f: 0xe000b4bc,\n\t0x18c30: 0xe000b4c4, 0x18c31: 0xe000b4cc, 0x18c32: 0xe000b4d4, 0x18c33: 0xe000b4dc,\n\t0x18c34: 0xe000b4e4, 0x18c35: 0xe000b4ec, 0x18c36: 0xe000b4f4, 0x18c37: 0xe000b4fc,\n\t0x18c38: 0xe000b500, 0x18c39: 0xe000b504, 0x18c3a: 0xe000b508, 0x18c3b: 0xe000b50c,\n\t0x18c3c: 0xe000b510, 0x18c3d: 0xe000b514, 0x18c3e: 0xe000b518, 0x18c3f: 0xe0000bdf,\n\t// Block 0x631, offset 0x18c40\n\t0x18c40: 0x6cbf9220, 0x18c41: 0x6ce52c20,\n\t0x18c44: 0x6c7ae020, 0x18c45: 0x6cf41220, 0x18c46: 0x6d1ac620,\n\t0x18c4c: 0x6d144820,\n\t0x18c56: 0x6d006c20,\n\t0x18c5c: 0x6c1d9020,\n\t0x18c61: 0x6caae820,\n\t0x18c64: 0x6c27da20,\n\t0x18c68: 0x6d067820, 0x18c69: 0x6d03c420, 0x18c6b: 0x6d044c20,\n\t0x18c6c: 0x6c8e4020, 0x18c6d: 0x6c8c1820, 0x18c6e: 0x6cfd7e20, 0x18c6f: 0x6d1dbe20,\n\t0x18c70: 0x6d030e20, 0x18c71: 0x6d31ac20, 0x18c72: 0x6c272020, 0x18c73: 0x6cf49420,\n\t0x18c74: 0x6cac3820, 0x18c77: 0x6c968e20,\n\t0x18c78: 0x6cba3c20, 0x18c79: 0x6d165420, 0x18c7a: 0x6d1a2020, 0x18c7b: 0x6ca58220,\n\t0x18c7c: 0x6c1a7e20, 0x18c7d: 0x6c3c1020,\n\t// Block 0x632, offset 0x18c80\n\t0x18c81: 0x6d3cec20, 0x18c82: 0x6c39ba20, 0x18c83: 0x6c029620,\n\t0x18c84: 0x6cf41c20, 0x18c85: 0x6d427220, 0x18c87: 0x6d38f620,\n\t0x18c88: 0x6c304e20, 0x18c89: 0x6cda7e20, 0x18c8a: 0x6d16a020, 0x18c8b: 0x6cbefc20,\n\t0x18c8c: 0x6c7b8220, 0x18c8d: 0x6c831e20, 0x18c8e: 0x6ca4da20, 0x18c8f: 0x6d3aa820,\n\t0x18c90: 0x6cd4a220,\n\t0x18c94: 0x6d062820, 0x18c97: 0x6ccfb620,\n\t0x18c98: 0x6c6bc820, 0x18c99: 0x6c2e6620, 0x18c9a: 0x6caab620, 0x18c9b: 0x6cda8420,\n\t0x18c9c: 0x6d16d820, 0x18c9d: 0x6c905020, 0x18c9e: 0x6d1d3220, 0x18c9f: 0x6c081020,\n\t0x18ca3: 0x6c7f9220,\n\t0x18ca4: 0x6c9e7220, 0x18ca5: 0x6d171820, 0x18ca6: 0x6c85be20, 0x18ca7: 0x6c61c020,\n\t0x18ca8: 0x6d223420, 0x18ca9: 0x6c953c20, 0x18caa: 0x6c147420,\n\t0x18cae: 0x6c5ce420, 0x18caf: 0x6d063820,\n\t0x18cb0: 0x6c5bb220, 0x18cb1: 0x6cc53820, 0x18cb3: 0x6d392620,\n\t0x18cb5: 0x6c4ebe20, 0x18cb6: 0x6cf88220, 0x18cb7: 0x6cdf7420,\n\t0x18cb8: 0x6d10f020, 0x18cb9: 0x6c5bba20, 0x18cba: 0x6c75b820, 0x18cbb: 0x6c96c020,\n\t0x18cbc: 0x6c94ac20, 0x18cbd: 0x6ce0fa20, 0x18cbe: 0x6d110220, 0x18cbf: 0x6d2fba20,\n\t// Block 0x633, offset 0x18cc0\n\t0x18cc0: 0x6d2cf420, 0x18cc1: 0x6d226420, 0x18cc2: 0x6d3d7620, 0x18cc3: 0x6c37d620,\n\t0x18cc4: 0x6cc4cc20, 0x18cc5: 0x6cb70820, 0x18cc6: 0x6c1c3e20, 0x18cc7: 0x6cf45620,\n\t0x18cc8: 0x6c4eda20, 0x18cc9: 0x6ce17820, 0x18cca: 0x6ccb3220,\n\t0x18ccc: 0x6cbf4820, 0x18ccd: 0x6c824020, 0x18cce: 0x6cc97c20,\n\t0x18cd1: 0x6c7cda20, 0x18cd2: 0x6cb44620, 0x18cd3: 0x6cde8a20,\n\t0x18cd4: 0x6cd53020, 0x18cd5: 0x6d0f6820, 0x18cd6: 0x6cab8a20, 0x18cd7: 0x6cdf3620,\n\t0x18cd9: 0x6c9dd220, 0x18cda: 0x6d1b7820, 0x18cdb: 0x6c2e3a20,\n\t0x18cdc: 0x6d228820, 0x18cdd: 0x6c9eec20, 0x18cde: 0x6c75ee20, 0x18cdf: 0x6ca7b820,\n\t0x18ce0: 0x6d023a20, 0x18ce1: 0x6d1f8820,\n\t0x18ce4: 0x6c185420, 0x18ce5: 0x6c3c7620, 0x18ce6: 0x6c82f820, 0x18ce7: 0x6c874020,\n\t0x18ce9: 0x6c95d420, 0x18ceb: 0x6c617420,\n\t0x18cf0: 0x6cc2b020, 0x18cf2: 0x6c110220, 0x18cf3: 0x6c898420,\n\t0x18cf4: 0x6c475620, 0x18cf5: 0x6c994020, 0x18cf7: 0x6c489020,\n\t0x18cf8: 0x6cdc2820, 0x18cfb: 0x6c996a20,\n\t0x18cfc: 0x6c976220, 0x18cfd: 0x6cc29820, 0x18cfe: 0x6cd39420, 0x18cff: 0x6c84b620,\n\t// Block 0x634, offset 0x18d00\n\t0x18d01: 0x6cedee20, 0x18d02: 0x6c79d820, 0x18d03: 0x6c325420,\n\t0x18d04: 0x6d325a20, 0x18d05: 0x6ce62020,\n\t0x18d08: 0x6c0e0620, 0x18d09: 0x6c5d9e20, 0x18d0a: 0x6c305420, 0x18d0b: 0x6c460e20,\n\t0x18d0c: 0x6c195220, 0x18d0e: 0x6cbd2020, 0x18d0f: 0x6c6f0020,\n\t0x18d10: 0x6c922620, 0x18d11: 0x6d042020, 0x18d13: 0x6ca3f820,\n\t0x18d14: 0x6d01a220, 0x18d16: 0x6c09be20, 0x18d17: 0x6c6b0420,\n\t0x18d18: 0x6cda9c20, 0x18d1a: 0x6c455220,\n\t0x18d1c: 0x6d200620, 0x18d1d: 0x6d03b620, 0x18d1e: 0x6cb83c20, 0x18d1f: 0x6cafae20,\n\t0x18d20: 0x6c2d3620, 0x18d21: 0x6c3f3c20, 0x18d22: 0x6c95de20, 0x18d23: 0x6cb84220,\n\t0x18d24: 0x6cb84420, 0x18d25: 0x6ce0ba20, 0x18d26: 0x6c03fa20, 0x18d27: 0x6c418420,\n\t0x18d28: 0x6c222420, 0x18d29: 0x6d077e20, 0x18d2a: 0x6c80f620,\n\t0x18d2d: 0x6ccf0c20, 0x18d2f: 0x6c83a820,\n\t0x18d30: 0x6c578820, 0x18d31: 0x6ce7ea20, 0x18d32: 0x6cb0f020, 0x18d33: 0x6c2b2420,\n\t0x18d34: 0x6cc85e20, 0x18d35: 0x6c360820, 0x18d36: 0x6cbcb020, 0x18d37: 0x6d178c20,\n\t0x18d38: 0x6d3d0020, 0x18d39: 0x6cc8cc20, 0x18d3a: 0x6c649420,\n\t0x18d3c: 0x6c1c2e20, 0x18d3d: 0x6c1d1820, 0x18d3e: 0x6cf66220,\n\t// Block 0x635, offset 0x18d40\n\t0x18d40: 0x6c94b420, 0x18d41: 0x6c2aa020, 0x18d42: 0x6c8bbe20, 0x18d43: 0x6c747020,\n\t0x18d44: 0x6cdae020, 0x18d45: 0x6cfffa20, 0x18d46: 0x6d299020,\n\t0x18d49: 0x6d3a7620, 0x18d4a: 0x6d2e0e20, 0x18d4b: 0x6c64f020,\n\t0x18d4c: 0x6d408c20, 0x18d4d: 0x6c1fa020, 0x18d4e: 0x6d022a20, 0x18d4f: 0x6c869820,\n\t0x18d51: 0x6c1c8e20, 0x18d52: 0x6cf7b820, 0x18d53: 0x6c656020,\n\t0x18d55: 0x6c5fc020, 0x18d57: 0x6c3a7c20,\n\t0x18d58: 0x6c1f0620, 0x18d59: 0x6c07d420, 0x18d5a: 0x6c6a7820,\n\t0x18d5c: 0x6c036c20, 0x18d5d: 0x6c898a20, 0x18d5e: 0x6c7b1e20,\n\t0x18d60: 0x6cf95e20, 0x18d61: 0x6c0ca420, 0x18d62: 0x6c747420, 0x18d63: 0x6c825c20,\n\t0x18d64: 0x6d035020, 0x18d65: 0x6c045820, 0x18d66: 0x6d103220, 0x18d67: 0x6c940a20,\n\t0x18d68: 0x6c070a20, 0x18d69: 0x6c362420, 0x18d6a: 0x6c91c220,\n\t0x18d6d: 0x6c181220, 0x18d6e: 0x6caad020, 0x18d6f: 0x6d07fe20,\n\t0x18d70: 0x6c525220, 0x18d71: 0x6d224420, 0x18d73: 0x6c4b0620,\n\t0x18d74: 0x6d17dc20, 0x18d75: 0x6d085020, 0x18d76: 0x6c462c20, 0x18d77: 0x6c910020,\n\t0x18d78: 0x6ce2f020, 0x18d79: 0x6c820420, 0x18d7a: 0x6cd2f820,\n\t0x18d7c: 0x6cdcee20, 0x18d7d: 0x6d11ec20, 0x18d7e: 0x6cfa6820, 0x18d7f: 0x6d408420,\n\t// Block 0x636, offset 0x18d80\n\t0x18d81: 0x6cc3a220, 0x18d82: 0x6d1a2220, 0x18d83: 0x6cf56420,\n\t0x18d84: 0x6d34d420, 0x18d85: 0x6c639620, 0x18d86: 0x6c564e20, 0x18d87: 0x6c7e3620,\n\t0x18d88: 0x6d15c620, 0x18d89: 0x6c788020, 0x18d8a: 0x6c3d4620, 0x18d8b: 0x6cbd6020,\n\t0x18d8c: 0x6c009220, 0x18d8e: 0x6c78ac20, 0x18d8f: 0x6c1e8820,\n\t0x18d90: 0x6d014620, 0x18d91: 0x6c1e9a20, 0x18d92: 0x6ceeac20,\n\t0x18d95: 0x6c58ea20, 0x18d96: 0x6cda8a20, 0x18d97: 0x6d203a20,\n\t0x18d99: 0x6c75e020, 0x18d9a: 0x6d2f7e20, 0x18d9b: 0x6d066620,\n\t0x18d9c: 0x6cd2ac20, 0x18d9e: 0x6cd64220, 0x18d9f: 0x6c7cea20,\n\t0x18da0: 0x6cd6a220, 0x18da1: 0x6c515420, 0x18da2: 0x6c414e20, 0x18da3: 0x6d0d3020,\n\t0x18da4: 0x6cbfec20, 0x18da5: 0x6ccf9820, 0x18da6: 0x6c577a20, 0x18da7: 0x6cf56820,\n\t0x18da8: 0x6c391820, 0x18da9: 0x6cad2420, 0x18daa: 0x6c281e20, 0x18dab: 0x6c39bc20,\n\t0x18dac: 0x6c455c20, 0x18dad: 0x6c022620, 0x18dae: 0x6c3f3020, 0x18daf: 0x6ca54420,\n\t0x18db0: 0x6d093a20, 0x18db1: 0x6d1ee420, 0x18db2: 0x6c572620,\n\t0x18db4: 0x6c189620, 0x18db5: 0x6c4c5420, 0x18db6: 0x6ca2c820, 0x18db7: 0x6c577e20,\n\t0x18db8: 0x6c858820, 0x18db9: 0x6c37fa20, 0x18dba: 0x6cfe8020, 0x18dbb: 0x6cb3ea20,\n\t0x18dbd: 0x6cd88820,\n\t// Block 0x637, offset 0x18dc0\n\t0x18dc0: 0x6c821c20, 0x18dc1: 0x6c8c4820, 0x18dc2: 0x6d16dc20, 0x18dc3: 0x6c544c20,\n\t0x18dc5: 0x6d068c20, 0x18dc6: 0x6cc17620, 0x18dc7: 0x6c373a20,\n\t0x18dca: 0x6d09e220,\n\t0x18dcf: 0x6ca80020,\n\t0x18dd0: 0x6cef9a20, 0x18dd1: 0x6d017820, 0x18dd2: 0x6ce31420, 0x18dd3: 0x6c532620,\n\t0x18dd4: 0x6cea7820, 0x18dd5: 0x6ca80220, 0x18dd6: 0x6ca80420, 0x18dd7: 0x6d1a4020,\n\t0x18dd8: 0x6d313420,\n\t0x18dde: 0x6cec5020, 0x18ddf: 0x6cd45a20,\n\t0x18de0: 0x6caaea20, 0x18de1: 0x6d12e420, 0x18de2: 0x6cb5b620, 0x18de3: 0x6ce82620,\n\t0x18de4: 0x6c4df820, 0x18de5: 0x6c75ac20, 0x18de6: 0x6c302c20, 0x18de7: 0x6c5cba20,\n\t0x18de8: 0x6c923220, 0x18de9: 0x6c707a20, 0x18dea: 0x6c5db820, 0x18deb: 0x6c8cdc20,\n\t0x18ded: 0x6ce4e420, 0x18dee: 0x6c94e820,\n\t0x18df5: 0x6c43e220, 0x18df6: 0x6d0c0620, 0x18df7: 0x6cd26420,\n\t0x18df8: 0x6d090c20, 0x18df9: 0x6cae3020, 0x18dfa: 0x6c217820, 0x18dfb: 0x6ca96c20,\n\t0x18dfc: 0x6c348a20, 0x18dfd: 0x6d2aca20, 0x18dfe: 0x6c362820, 0x18dff: 0x6d00a820,\n\t// Block 0x638, offset 0x18e00\n\t0x18e00: 0x6d1ea020, 0x18e01: 0x6c362a20, 0x18e02: 0x6cd13420, 0x18e03: 0x6cf1dc20,\n\t0x18e04: 0x6c7a3e20, 0x18e05: 0x6c555020, 0x18e06: 0x6c43e620, 0x18e07: 0x6cf9c020,\n\t0x18e08: 0x6c97dc20, 0x18e09: 0x6c94a820, 0x18e0a: 0x6c602a20, 0x18e0b: 0x6c53f620,\n\t0x18e0c: 0x6d361620, 0x18e0f: 0x6cec5420,\n\t0x18e11: 0x6c046820, 0x18e12: 0x6c00a020, 0x18e13: 0x6d3c6220,\n\t0x18e14: 0x6cb8ec20, 0x18e15: 0x6c46ac20, 0x18e16: 0x6c289220, 0x18e17: 0x6c06a820,\n\t0x18e18: 0x6c0f0e20, 0x18e19: 0x6c1e6020, 0x18e1a: 0x6c862820, 0x18e1b: 0x6cfff620,\n\t0x18e1c: 0x6d054020,\n\t0x18e22: 0x6c537020, 0x18e23: 0x6ce40620,\n\t0x18e24: 0x6c244220, 0x18e25: 0x6c7e0a20, 0x18e26: 0x6c816020, 0x18e27: 0x6d367820,\n\t0x18e28: 0x6d004e20, 0x18e29: 0x6cf66620, 0x18e2b: 0x6cbcce20,\n\t0x18e2c: 0x6d2be820, 0x18e2d: 0x6cf66820,\n\t0x18e30: 0x6c23a220, 0x18e31: 0x6c607a20, 0x18e32: 0x6c5dec20, 0x18e33: 0x6cde1220,\n\t0x18e34: 0x6d0cbe20, 0x18e35: 0x6d072420, 0x18e36: 0x6cb31c20, 0x18e37: 0x6cc9dc20,\n\t0x18e3b: 0x6c4c3a20,\n\t0x18e3c: 0x6d133620, 0x18e3d: 0x6cfdfe20, 0x18e3e: 0x6d08e620, 0x18e3f: 0x6c516c20,\n\t// Block 0x639, offset 0x18e40\n\t0x18e40: 0x6d42aa20, 0x18e41: 0x6d188020, 0x18e42: 0x6c226620,\n\t0x18e44: 0x6c837020, 0x18e45: 0x6cfba620, 0x18e46: 0x6cdf5620, 0x18e47: 0x6cc6bc20,\n\t0x18e48: 0x6d18be20, 0x18e49: 0x6d372220, 0x18e4a: 0x6cf6fe20, 0x18e4b: 0x6cfbb420,\n\t0x18e4c: 0x6c72aa20, 0x18e4d: 0x6c60d620, 0x18e4e: 0x6c4e6820,\n\t0x18e50: 0x6cad9e20, 0x18e51: 0x6c86e620, 0x18e53: 0x6c7fe020,\n\t0x18e54: 0x6cc9e020, 0x18e55: 0x6c4e7020, 0x18e56: 0x6d0cfe20, 0x18e57: 0x6cc16020,\n\t0x18e59: 0x6d0d1620, 0x18e5a: 0x6c4e7420, 0x18e5b: 0x6c76ba20,\n\t0x18e5c: 0x6c1bce20, 0x18e5d: 0x6ca7e820, 0x18e5e: 0x6c5d9620,\n\t0x18e60: 0x6c092820, 0x18e61: 0x6cf98a20, 0x18e62: 0x6cf24820, 0x18e63: 0x6d080420,\n\t0x18e64: 0x6cec9420, 0x18e65: 0x6d1f8a20, 0x18e66: 0x6cbd4c20, 0x18e67: 0x6d066c20,\n\t0x18e68: 0x6ca7f020, 0x18e69: 0x6c091620, 0x18e6a: 0x6c501020, 0x18e6b: 0x6c6e0820,\n\t0x18e6c: 0x6c02bc20, 0x18e6d: 0x6c02be20,\n\t0x18e70: 0x6d311e20, 0x18e71: 0x6cdf8a20, 0x18e72: 0x6c70f220,\n\t0x18e74: 0x6d427a20, 0x18e75: 0x6c106220, 0x18e76: 0x6c6a8a20, 0x18e77: 0x6c009020,\n\t0x18e78: 0x6d29fc20, 0x18e79: 0x6c222620, 0x18e7a: 0x6c37fc20,\n\t0x18e7f: 0x6ca80620,\n\t// Block 0x63a, offset 0x18e80\n\t0x18e80: 0x6c8f2a20, 0x18e81: 0x6c99e220, 0x18e82: 0x6c334420, 0x18e83: 0x6c052020,\n\t0x18e84: 0x6c095a20, 0x18e85: 0x6c05ee20, 0x18e87: 0x6c1f2c20,\n\t0x18e88: 0x6cfa3620, 0x18e89: 0x6ce4e820, 0x18e8a: 0x6c16a220,\n\t0x18e8d: 0x6c342420, 0x18e8e: 0x6cee7e20, 0x18e8f: 0x6c3fea20,\n\t0x18e90: 0x6c348c20, 0x18e91: 0x6d225420, 0x18e92: 0x6d12ac20, 0x18e93: 0x6c7c7620,\n\t0x18e94: 0x6cefb620, 0x18e95: 0x6c7b2220, 0x18e97: 0x6cee8020,\n\t0x18e98: 0x6d10a420, 0x18e99: 0x6c903420, 0x18e9a: 0x6d037a20, 0x18e9b: 0x6d3b7c20,\n\t0x18e9c: 0x6c1b3020, 0x18e9d: 0x6d00b420, 0x18e9e: 0x6ca83a20, 0x18e9f: 0x6c810020,\n\t0x18ea0: 0x6d13fe20, 0x18ea1: 0x6d3f9e20, 0x18ea2: 0x6c976a20, 0x18ea3: 0x6d2f3820,\n\t0x18ea4: 0x6cfa4220, 0x18ea5: 0x6c4bfe20, 0x18ea6: 0x6d00c820,\n\t0x18ea8: 0x6c625c20, 0x18ea9: 0x6c8a0220, 0x18eaa: 0x6d184820, 0x18eab: 0x6c607c20,\n\t0x18eac: 0x6d1a8e20, 0x18eae: 0x6c266020, 0x18eaf: 0x6d184a20,\n\t0x18eb0: 0x6d020a20, 0x18eb1: 0x6c506220, 0x18eb2: 0x6d1e5c20, 0x18eb3: 0x6c76ea20,\n\t0x18eb4: 0x6c163220, 0x18eb5: 0x6cdf3e20, 0x18eb6: 0x6ce13020, 0x18eb7: 0x6d34a220,\n\t0x18eb8: 0x6c066e20, 0x18eb9: 0x6c9b5220, 0x18eba: 0x6c7ca220, 0x18ebb: 0x6c153620,\n\t0x18ebc: 0x6c82e020, 0x18ebe: 0x6cf91220,\n\t// Block 0x63b, offset 0x18ec0\n\t0x18ec0: 0x6cf72820, 0x18ec1: 0x6cbc7220, 0x18ec2: 0x6ca47e20, 0x18ec3: 0x6d274e20,\n\t0x18ec5: 0x6c8f7220, 0x18ec6: 0x6c3fbe20, 0x18ec7: 0x6d3f7220,\n\t0x18ec9: 0x6c475e20, 0x18eca: 0x6c762820, 0x18ecb: 0x6c2dd420,\n\t0x18ecc: 0x6c57aa20, 0x18ecd: 0x6c7ce020, 0x18ecf: 0x6c42fc20,\n\t0x18ed0: 0x6ce26020, 0x18ed2: 0x6ccd2a20, 0x18ed3: 0x6c7f3a20,\n\t0x18ed4: 0x6ca7f420, 0x18ed5: 0x6c3de220, 0x18ed6: 0x6c42fe20, 0x18ed7: 0x6cbc8420,\n\t0x18ed8: 0x6c04e420, 0x18ed9: 0x6c632620, 0x18eda: 0x6c796a20, 0x18edb: 0x6cf85620,\n\t0x18edc: 0x6d230820, 0x18edd: 0x6d3c5a20, 0x18ede: 0x6cd05820, 0x18edf: 0x6c21ba20,\n\t0x18ee0: 0x6cfed420, 0x18ee1: 0x6c615220, 0x18ee2: 0x6caa3820, 0x18ee3: 0x6cff6a20,\n\t0x18ee4: 0x6d165a20, 0x18ee5: 0x6d20a820, 0x18ee6: 0x6d145420, 0x18ee7: 0x6d0d3620,\n\t0x18ee8: 0x6cd04020, 0x18ee9: 0x6cc4aa20, 0x18eea: 0x6c501220, 0x18eeb: 0x6cc96620,\n\t0x18eec: 0x6c755820, 0x18eed: 0x6d1ee820, 0x18eef: 0x6d02fc20,\n\t0x18ef0: 0x6cadae20, 0x18ef1: 0x6cbfa020, 0x18ef2: 0x6c14b820,\n\t0x18ef4: 0x6c106420, 0x18ef5: 0x6c2fdc20, 0x18ef6: 0x6cd88a20, 0x18ef7: 0x6c378620,\n\t0x18ef9: 0x6c992820, 0x18efa: 0x6d281820, 0x18efb: 0x6c5e8a20,\n\t0x18efd: 0x6cbc1e20, 0x18efe: 0x6d045820, 0x18eff: 0x6cad4a20,\n\t// Block 0x63c, offset 0x18f00\n\t0x18f00: 0x6c1e7420, 0x18f01: 0x6cae5220, 0x18f02: 0x6caad620, 0x18f03: 0x6c6a8c20,\n\t0x18f04: 0x6d13d420, 0x18f05: 0x6c37c220, 0x18f06: 0x6c34d420,\n\t0x18f0a: 0x6c347c20,\n\t0x18f0d: 0x6cbca420, 0x18f0e: 0x6c938220, 0x18f0f: 0x6cc02620,\n\t0x18f10: 0x6cda1020, 0x18f11: 0x6c11f020, 0x18f12: 0x6c310020, 0x18f13: 0x6cf5b820,\n\t0x18f14: 0x6c3c2e20, 0x18f15: 0x6d172220, 0x18f16: 0x6cdd0e20, 0x18f17: 0x6cbc7a20,\n\t0x18f18: 0x6cb37620, 0x18f19: 0x6d02c020, 0x18f1a: 0x6ce7b020, 0x18f1b: 0x6d032820,\n\t0x18f1c: 0x6d1f1220, 0x18f1d: 0x6c06fe20, 0x18f1e: 0x6c905820,\n\t0x18f23: 0x6d279820,\n\t0x18f24: 0x6c83ac20, 0x18f25: 0x6cde4420, 0x18f26: 0x6c802620, 0x18f27: 0x6c97b820,\n\t0x18f28: 0x6cbb3a20, 0x18f29: 0x6d38d220, 0x18f2a: 0x6d0e5c20, 0x18f2b: 0x6cf5de20,\n\t0x18f2c: 0x6c923620, 0x18f2d: 0x6cf5e020, 0x18f2e: 0x6ccae220, 0x18f2f: 0x6c395220,\n\t0x18f31: 0x6cefb820, 0x18f32: 0x6c383a20, 0x18f33: 0x6d179020,\n\t0x18f34: 0x6ca4f420, 0x18f35: 0x6c196c20, 0x18f36: 0x6ce09820, 0x18f37: 0x6c5ec620,\n\t0x18f38: 0x6cd5d020, 0x18f39: 0x6cb10e20, 0x18f3a: 0x6c012e20, 0x18f3b: 0x6c7ac420,\n\t0x18f3c: 0x6c139820, 0x18f3e: 0x6cfb5a20, 0x18f3f: 0x6d361c20,\n\t// Block 0x63d, offset 0x18f40\n\t0x18f42: 0x6c3c4820, 0x18f43: 0x6c88f420,\n\t0x18f44: 0x6d0a0a20, 0x18f45: 0x6d06ee20, 0x18f46: 0x6c9d5020, 0x18f47: 0x6c5bd620,\n\t0x18f48: 0x6ca29220, 0x18f49: 0x6d1d8c20, 0x18f4a: 0x6d2df420, 0x18f4b: 0x6d17de20,\n\t0x18f4c: 0x6caa1e20, 0x18f4d: 0x6ce10020, 0x18f4e: 0x6cf63e20, 0x18f4f: 0x6d27ac20,\n\t0x18f50: 0x6cd5e220, 0x18f51: 0x6c3e9420, 0x18f52: 0x6d17e020, 0x18f53: 0x6c26b020,\n\t0x18f55: 0x6c881e20, 0x18f56: 0x6c127a20, 0x18f57: 0x6c116e20,\n\t0x18f58: 0x6c725e20, 0x18f59: 0x6c927a20, 0x18f5a: 0x6cdae220, 0x18f5b: 0x6ca59a20,\n\t0x18f5c: 0x6c02dc20, 0x18f5d: 0x6c018c20, 0x18f5e: 0x6cba6420,\n\t0x18f60: 0x6c24d420, 0x18f61: 0x6c232420, 0x18f63: 0x6cc48220,\n\t0x18f64: 0x6ca73220, 0x18f65: 0x6c96fe20, 0x18f66: 0x6d030220, 0x18f67: 0x6d26e020,\n\t0x18f68: 0x6ca38220, 0x18f69: 0x6c02ee20, 0x18f6a: 0x6cd01620, 0x18f6b: 0x6c96dc20,\n\t0x18f6e: 0x6c807a20, 0x18f6f: 0x6cf6e620,\n\t0x18f70: 0x6d26f820, 0x18f71: 0x6d372620, 0x18f72: 0x6cf26420, 0x18f73: 0x6c57f620,\n\t0x18f74: 0x6c9c1820, 0x18f75: 0x6ca7bc20, 0x18f76: 0x6ced6620, 0x18f77: 0x6c9c9c20,\n\t0x18f78: 0x6ca89e20, 0x18f79: 0x6cc1f820, 0x18f7a: 0x6d29b820, 0x18f7b: 0x6c893e20,\n\t0x18f7c: 0x6d34c620, 0x18f7d: 0x6d3eda20, 0x18f7e: 0x6c4d1a20, 0x18f7f: 0x6d066e20,\n\t// Block 0x63e, offset 0x18f80\n\t0x18f80: 0x6c501820, 0x18f81: 0x6d078020, 0x18f82: 0x6d35b020, 0x18f83: 0x6c9e1220,\n\t0x18f84: 0x6c214820, 0x18f85: 0x6c46b020, 0x18f87: 0x6c216020,\n\t0x18f88: 0x6c946a20, 0x18f89: 0x6d3a9820, 0x18f8a: 0x6cd43820, 0x18f8b: 0x6c8a5e20,\n\t0x18f8c: 0x6c6fcc20, 0x18f8d: 0x6d014020, 0x18f8e: 0x6c2f9220, 0x18f8f: 0x6c6bae20,\n\t0x18f90: 0x6cc65220, 0x18f91: 0x6c982e20, 0x18f93: 0x6c788a20,\n\t0x18f94: 0x6d119620, 0x18f95: 0x6ca8fc20, 0x18f96: 0x6d148e20, 0x18f97: 0x6c80a620,\n\t0x18f98: 0x6d1df020, 0x18f99: 0x6d1a4420, 0x18f9a: 0x6d0c7e20, 0x18f9b: 0x6cda9e20,\n\t0x18f9d: 0x6c8baa20, 0x18f9e: 0x6d0aec20, 0x18f9f: 0x6c98d820,\n\t0x18fa0: 0x6c9ff420, 0x18fa1: 0x6d41aa20, 0x18fa2: 0x6d225620, 0x18fa3: 0x6d179220,\n\t0x18fa4: 0x6c46b220, 0x18fa5: 0x6c9cfa20, 0x18fa6: 0x6c75c820, 0x18fa7: 0x6cf1e420,\n\t0x18fa9: 0x6c773a20, 0x18faa: 0x6c2d7020, 0x18fab: 0x6c8f9820,\n\t0x18fad: 0x6d040620, 0x18fae: 0x6c255420, 0x18faf: 0x6cbbec20,\n\t0x18fb0: 0x6c9dde20, 0x18fb1: 0x6c9c1c20, 0x18fb2: 0x6cbdf420,\n\t0x18fb4: 0x6cecc220, 0x18fb5: 0x6c2a5e20, 0x18fb6: 0x6c009420,\n\t0x18fb8: 0x6c0b8c20, 0x18fb9: 0x6ca9fe20, 0x18fba: 0x6c882020, 0x18fbb: 0x6c6caa20,\n\t0x18fbc: 0x6d207020, 0x18fbd: 0x6c20bc20, 0x18fbe: 0x6d426420, 0x18fbf: 0x6c0fe020,\n\t// Block 0x63f, offset 0x18fc0\n\t0x18fc0: 0x6c5a9020, 0x18fc1: 0x6d11f020, 0x18fc2: 0x6ce9e020, 0x18fc3: 0x6c61e220,\n\t0x18fc4: 0x6c012420, 0x18fc5: 0x6c95fa20, 0x18fc6: 0x6c613220, 0x18fc7: 0x6cefba20,\n\t0x18fc8: 0x6c0e7420, 0x18fc9: 0x6d289020, 0x18fca: 0x6d06f020, 0x18fcb: 0x6ca71220,\n\t0x18fcc: 0x6d281420, 0x18fce: 0x6c039820, 0x18fcf: 0x6d301a20,\n\t0x18fd0: 0x6c705420, 0x18fd1: 0x6cef9020, 0x18fd2: 0x6d016e20, 0x18fd3: 0x6cb75420,\n\t0x18fd4: 0x6d149020, 0x18fd5: 0x6d017020, 0x18fd6: 0x6c222a20, 0x18fd7: 0x6cc02820,\n\t0x18fd8: 0x6c316a20, 0x18fd9: 0x6ca7d420, 0x18fda: 0x6cb78a20, 0x18fdb: 0x6c613c20,\n\t0x18fdc: 0x6ce99420, 0x18fde: 0x6cd94c20, 0x18fdf: 0x6c2d7420,\n\t0x18fe0: 0x6c816820, 0x18fe1: 0x6d2e2c20,\n\t0x18fe4: 0x6d1a1c20, 0x18fe5: 0x6c132620, 0x18fe6: 0x6c611220, 0x18fe7: 0x6c5b8620,\n\t0x18fe8: 0x6d3ede20, 0x18fe9: 0x6c7f8820, 0x18fea: 0x6ca49020, 0x18feb: 0x6c71f020,\n\t0x18fec: 0x6cbdfc20, 0x18fed: 0x6c272620, 0x18fef: 0x6c6a6020,\n\t0x18ff0: 0x6d062620, 0x18ff1: 0x6c22fa20, 0x18ff2: 0x6d1e6e20, 0x18ff3: 0x6c30d820,\n\t0x18ff4: 0x6c1afe20, 0x18ff6: 0x6c9f9020, 0x18ff7: 0x6c59a820,\n\t0x18ff8: 0x6cdc2020, 0x18ff9: 0x6c785620, 0x18ffa: 0x6d40aa20, 0x18ffb: 0x6c501a20,\n\t0x18ffc: 0x6c19ba20, 0x18ffd: 0x6d094220, 0x18ffe: 0x6ca5bc20, 0x18fff: 0x6c1bec20,\n\t// Block 0x640, offset 0x19000\n\t0x19000: 0x6c87f020, 0x19001: 0x6c01a020, 0x19002: 0x6ca22a20, 0x19003: 0x6cd7ca20,\n\t0x19004: 0x6cfdb220, 0x19005: 0x6d0f9020, 0x19006: 0x6c572c20, 0x19007: 0x6c261620,\n\t0x19008: 0x6cc02a20, 0x19009: 0x6c814c20, 0x1900a: 0x6c3e2e20, 0x1900b: 0x6c334620,\n\t0x1900c: 0x6c984c20, 0x1900d: 0x6c80a820, 0x1900e: 0x6ceb7220, 0x1900f: 0x6c4df220,\n\t0x19010: 0x6c988820, 0x19011: 0x6c0ed220, 0x19012: 0x6cc43220, 0x19013: 0x6cb59e20,\n\t0x19014: 0x6c4df420, 0x19016: 0x6c905c20,\n\t0x19018: 0x6ce57e20, 0x19019: 0x6d2aba20, 0x1901a: 0x6cb5ba20, 0x1901b: 0x6d298a20,\n\t0x1901c: 0x6c9c4620, 0x1901d: 0x6cadd220, 0x1901e: 0x6d2e5620, 0x1901f: 0x6cfe2c20,\n\t0x19020: 0x6c429c20, 0x19022: 0x6cb5bc20,\n\t0x19024: 0x6c923820, 0x19026: 0x6d283020, 0x19027: 0x6c362e20,\n\t0x19028: 0x6c329a20, 0x19029: 0x6c9f5020, 0x1902a: 0x6cee8420, 0x1902b: 0x6cc2ec20,\n\t0x1902c: 0x6cda1c20, 0x1902d: 0x6c9f5220, 0x1902e: 0x6ce85e20,\n\t0x19030: 0x6ca03620, 0x19031: 0x6d11b420, 0x19032: 0x6c746220, 0x19033: 0x6c862c20,\n\t0x19034: 0x6c7b2620, 0x19035: 0x6c42a420, 0x19036: 0x6d257e20, 0x19037: 0x6c26fa20,\n\t0x19039: 0x6c816220, 0x1903a: 0x6c909c20, 0x1903b: 0x6cba6620,\n\t0x1903c: 0x6c025c20, 0x1903d: 0x6c0c7620, 0x1903e: 0x6d1d9a20, 0x1903f: 0x6c989820,\n\t// Block 0x641, offset 0x19040\n\t0x19040: 0x6c29e020, 0x19042: 0x6c025e20,\n\t0x19044: 0x6cf78e20, 0x19045: 0x6c3ed420, 0x19046: 0x6c27f820, 0x19047: 0x6c701420,\n\t0x19048: 0x6cc90220, 0x19049: 0x6ce77a20, 0x1904a: 0x6cc13220, 0x1904b: 0x6c368220,\n\t0x1904c: 0x6cb51a20, 0x1904d: 0x6c607e20, 0x1904e: 0x6c608020, 0x1904f: 0x6c574c20,\n\t0x19050: 0x6c69b820, 0x19051: 0x6d41cc20, 0x19052: 0x6c0c7a20, 0x19053: 0x6c9b4620,\n\t0x19054: 0x6c045620, 0x19055: 0x6cf01420, 0x19056: 0x6d160e20, 0x19057: 0x6c02f020,\n\t0x19058: 0x6d229e20, 0x19059: 0x6c4ff020, 0x1905a: 0x6c336620, 0x1905b: 0x6cf31a20,\n\t0x1905c: 0x6ca6d620, 0x1905d: 0x6c249e20, 0x1905f: 0x6c846e20,\n\t0x19060: 0x6c916c20, 0x19061: 0x6ca7be20, 0x19062: 0x6c57f820, 0x19063: 0x6c86f020,\n\t0x19065: 0x6c941c20, 0x19066: 0x6c3c7e20, 0x19067: 0x6c9d0c20,\n\t0x19068: 0x6d249e20, 0x1906a: 0x6c71e620,\n\t0x1906d: 0x6d2dec20, 0x1906e: 0x6cae8220, 0x1906f: 0x6d15b220,\n\t0x19071: 0x6c61e420, 0x19072: 0x6c08ae20,\n\t0x19074: 0x6cc5b420, 0x19075: 0x6c597220, 0x19076: 0x6c388020, 0x19077: 0x6c43c220,\n\t0x19078: 0x6c7a8020, 0x19079: 0x6c6bb420, 0x1907a: 0x6ccbc220,\n\t0x1907c: 0x6cd7c220, 0x1907d: 0x6ce71620, 0x1907e: 0x6d24c820, 0x1907f: 0x6d3e0420,\n\t// Block 0x642, offset 0x19080\n\t0x19080: 0x6c092c20, 0x19081: 0x6c7ad820, 0x19082: 0x6c859e20, 0x19083: 0x6c598220,\n\t0x19084: 0x6d09e620, 0x19085: 0x6caad820, 0x19087: 0x6d303820,\n\t0x19088: 0x6cf20220, 0x19089: 0x6cfb4420, 0x1908a: 0x6cb85a20, 0x1908b: 0x6d127a20,\n\t0x1908c: 0x6c996c20, 0x1908f: 0x6cd5d420,\n\t0x19091: 0x6cbb7a20, 0x19092: 0x6d3cd220, 0x19093: 0x6c7d6020,\n\t0x19094: 0x6cf4ea20, 0x19095: 0x6d1bb820, 0x19096: 0x6c207220, 0x19097: 0x6ce33e20,\n\t0x19098: 0x6c880e20, 0x19099: 0x6c087820, 0x1909a: 0x6c464e20, 0x1909b: 0x6c986820,\n\t0x1909c: 0x6d01d020, 0x1909d: 0x6c3cec20, 0x1909e: 0x6c909e20, 0x1909f: 0x6d2a1820,\n\t0x190a0: 0x6d335e20, 0x190a1: 0x6c1ea220, 0x190a2: 0x6c980020, 0x190a3: 0x6c8faa20,\n\t0x190a5: 0x6d1b8620, 0x190a6: 0x6cb1f020, 0x190a7: 0x6d337020,\n\t0x190a8: 0x6c653020, 0x190a9: 0x6c945420, 0x190aa: 0x6ca7e420, 0x190ab: 0x6d179a20,\n\t0x190ad: 0x6c623420, 0x190ae: 0x6c60a420, 0x190af: 0x6d2d1a20,\n\t0x190b0: 0x6d221a20, 0x190b1: 0x6c6fa620, 0x190b2: 0x6c585620, 0x190b3: 0x6d34e220,\n\t0x190b4: 0x6c7e3c20, 0x190b5: 0x6c8ca820, 0x190b6: 0x6d34f020, 0x190b7: 0x6c079420,\n\t0x190b8: 0x6d2cae20, 0x190b9: 0x6c705820, 0x190ba: 0x6c286620, 0x190bb: 0x6c8a9020,\n\t0x190bc: 0x6d16e820, 0x190bd: 0x6d2fa020, 0x190be: 0x6cfc8e20, 0x190bf: 0x6c1bf820,\n\t// Block 0x643, offset 0x190c0\n\t0x190c0: 0x6c22ba20, 0x190c1: 0x6c1b8420, 0x190c2: 0x6d0d5420, 0x190c3: 0x6c80aa20,\n\t0x190c4: 0x6c310220, 0x190c5: 0x6c905e20, 0x190c6: 0x6c14ec20,\n\t0x190c8: 0x6ce9a020, 0x190c9: 0x6c13da20, 0x190ca: 0x6c006620, 0x190cb: 0x6c1b9c20,\n\t0x190cd: 0x6d1cec20, 0x190ce: 0x6d305a20, 0x190cf: 0x6ce7ee20,\n\t0x190d1: 0x6ce9a620, 0x190d2: 0x6c13f420, 0x190d3: 0x6d11be20,\n\t0x190d4: 0x6d3ffe20, 0x190d6: 0x6cac4020, 0x190d7: 0x6cbc5620,\n\t0x190d8: 0x6c883220, 0x190d9: 0x6cbd9c20, 0x190da: 0x6c91d820, 0x190db: 0x6d0eb820,\n\t0x190dc: 0x6c778e20, 0x190dd: 0x6cda5e20, 0x190de: 0x6d192820, 0x190df: 0x6c14b420,\n\t0x190e0: 0x6c6ef620, 0x190e1: 0x6c67b020, 0x190e3: 0x6c6ea820,\n\t0x190e5: 0x6c305c20, 0x190e7: 0x6c733620,\n\t0x190e8: 0x6c4e8420, 0x190e9: 0x6c2c1020,\n\t0x190ec: 0x6c52f620, 0x190ee: 0x6c1b0820, 0x190ef: 0x6c2dae20,\n\t0x190f0: 0x6c093020, 0x190f2: 0x6d0a6e20, 0x190f3: 0x6c913e20,\n\t0x190f5: 0x6d007e20, 0x190f6: 0x6c094420,\n\t0x190f8: 0x6c095c20, 0x190fa: 0x6cfb4620, 0x190fb: 0x6cc8c820,\n\t0x190fc: 0x6c0d1420, 0x190fd: 0x6c379620, 0x190fe: 0x6c736220,\n\t// Block 0x644, offset 0x19100\n\t0x19100: 0x6d324820, 0x19101: 0x6c072e20, 0x19102: 0x6c365620, 0x19103: 0x6d227a20,\n\t0x19104: 0x6cc1b220, 0x19105: 0x6d299420, 0x19106: 0x6c9ca820, 0x19107: 0x6d16b220,\n\t0x19108: 0x6cd8e620,\n\t0x1910c: 0x6ccd6e20, 0x1910d: 0x6cdf1620, 0x1910e: 0x6ca28220, 0x1910f: 0x6c6e8220,\n\t0x19110: 0x6c0b9620, 0x19111: 0x6cc68e20, 0x19112: 0x6c136e20, 0x19113: 0x6c120220,\n\t0x19114: 0x6c2f4820,\n\t0x19119: 0x6c2b5620, 0x1911a: 0x6ce7ac20, 0x1911b: 0x6cde3220,\n\t0x1911c: 0x6d03ce20, 0x1911d: 0x6cd90a20, 0x1911e: 0x6c343e20, 0x1911f: 0x6cf85e20,\n\t0x19120: 0x6ce1b220, 0x19122: 0x6ce31620, 0x19123: 0x6ccd7820,\n\t0x19124: 0x6c667620, 0x19125: 0x6d35da20, 0x19126: 0x6cee7220, 0x19127: 0x6d1b4620,\n\t0x1912a: 0x6c58d620, 0x1912b: 0x6d37f220,\n\t0x1912c: 0x6cb78c20, 0x1912d: 0x6d3f8820, 0x1912f: 0x6d01c220,\n\t0x19130: 0x6d01d220, 0x19131: 0x6d2ade20, 0x19132: 0x6cef1e20,\n\t0x19135: 0x6cde9820, 0x19136: 0x6d2d9820, 0x19137: 0x6ca95820,\n\t0x1913b: 0x6d166620,\n\t0x1913c: 0x6cc58420, 0x1913d: 0x6cd59620, 0x1913e: 0x6c142a20, 0x1913f: 0x6d3d1e20,\n\t// Block 0x645, offset 0x19140\n\t0x19141: 0x6c9e0620, 0x19142: 0x6c5fdc20, 0x19143: 0x6c39a420,\n\t0x19144: 0x6cadfe20, 0x19145: 0x6c008e20, 0x19146: 0x6c392020, 0x19147: 0x6c029a20,\n\t0x19148: 0x6cbe0220, 0x19149: 0x6cb82220, 0x1914a: 0x6cffd020, 0x1914b: 0x6c3b1020,\n\t0x1914c: 0x6c417420, 0x1914d: 0x6cbb6620, 0x1914e: 0x6c437a20, 0x1914f: 0x6ce71c20,\n\t0x19150: 0x6c14ba20, 0x19151: 0x6d201620, 0x19152: 0x6c42b420, 0x19153: 0x6c07a820,\n\t0x19154: 0x6c3fb420, 0x19155: 0x6c1f0c20, 0x19156: 0x6d3aac20,\n\t0x19158: 0x6d390020, 0x1915a: 0x6c4f6220, 0x1915b: 0x6ca8e420,\n\t0x1915c: 0x6c73f820, 0x1915d: 0x6c1cb020, 0x1915e: 0x6c143820, 0x1915f: 0x6c799c20,\n\t0x19160: 0x6c8ae820, 0x19161: 0x6c85a020, 0x19162: 0x6d22e020,\n\t0x19164: 0x6d20d620, 0x19165: 0x6c4d5820, 0x19166: 0x6c85a220, 0x19167: 0x6c53ee20,\n\t0x19168: 0x6c45d820, 0x19169: 0x6c789820, 0x1916a: 0x6d260c20, 0x1916b: 0x6c2a6220,\n\t0x1916c: 0x6c5b9a20, 0x1916e: 0x6c4a2220, 0x1916f: 0x6c6f0620,\n\t0x19170: 0x6d429a20, 0x19171: 0x6c3fce20, 0x19172: 0x6cbcb220, 0x19173: 0x6c06c820,\n\t0x19174: 0x6c180a20, 0x19175: 0x6c223e20, 0x19176: 0x6c985020, 0x19177: 0x6c4d9820,\n\t0x19178: 0x6cf86a20, 0x19179: 0x6cc02e20, 0x1917a: 0x6c5a4620,\n\t0x1917d: 0x6c1d9620, 0x1917e: 0x6cca4c20, 0x1917f: 0x6d0bf420,\n\t// Block 0x646, offset 0x19180\n\t0x19180: 0x6d345620, 0x19181: 0x6c2a6c20, 0x19182: 0x6ce27420, 0x19183: 0x6c9aec20,\n\t0x19184: 0x6c8ce220, 0x19185: 0x6cd45e20, 0x19186: 0x6ce9fa20, 0x19187: 0x6c119220,\n\t0x19188: 0x6c2ea020, 0x19189: 0x6c181420, 0x1918a: 0x6cae9c20, 0x1918b: 0x6d13f020,\n\t0x1918c: 0x6c711220, 0x1918d: 0x6c61e820, 0x1918e: 0x6c7f0620, 0x1918f: 0x6ce4ea20,\n\t0x19190: 0x6d261a20, 0x19192: 0x6c112820, 0x19193: 0x6cb4e420,\n\t0x19194: 0x6d230e20, 0x19195: 0x6c880220, 0x19196: 0x6c231420,\n\t0x1919a: 0x6d212020, 0x1919b: 0x6c603220,\n\t0x1919c: 0x6cf09420, 0x1919d: 0x6c9cf020, 0x1919e: 0x6cdc3e20, 0x1919f: 0x6d00aa20,\n\t0x191a0: 0x6d059620, 0x191a1: 0x6c1c1c20, 0x191a2: 0x6cc06020, 0x191a3: 0x6c5bde20,\n\t0x191a5: 0x6d212220, 0x191a6: 0x6cbcc620, 0x191a7: 0x6cd74e20,\n\t0x191a8: 0x6cd72620, 0x191a9: 0x6c349020, 0x191aa: 0x6c908820,\n\t0x191ac: 0x6cad0620, 0x191ad: 0x6cdf7820, 0x191ae: 0x6d393020, 0x191af: 0x6d1af420,\n\t0x191b0: 0x6ccab420, 0x191b1: 0x6c3a5a20, 0x191b2: 0x6c187620, 0x191b3: 0x6d258020,\n\t0x191b4: 0x6d151620, 0x191b5: 0x6c5d2a20, 0x191b6: 0x6ccb3420, 0x191b7: 0x6d131020,\n\t0x191b8: 0x6c9fbc20, 0x191b9: 0x6c3bbe20, 0x191ba: 0x6c513620,\n\t0x191bc: 0x6d1b6420, 0x191bd: 0x6c130220, 0x191be: 0x6ca6b620, 0x191bf: 0x6c02e820,\n\t// Block 0x647, offset 0x191c0\n\t0x191c0: 0x6c3cb420, 0x191c1: 0x6c883420, 0x191c2: 0x6c16be20, 0x191c3: 0x6c15c820,\n\t0x191c4: 0x6c967020, 0x191c5: 0x6c2e5a20, 0x191c6: 0x6c54e620, 0x191c7: 0x6c928020,\n\t0x191c9: 0x6d184c20, 0x191ca: 0x6c574e20, 0x191cb: 0x6d2bf220,\n\t0x191cc: 0x6c550020, 0x191cd: 0x6c368420, 0x191ce: 0x6c5dee20, 0x191cf: 0x6cdcf820,\n\t0x191d0: 0x6ca6bc20, 0x191d1: 0x6cfcf620, 0x191d2: 0x6c842620, 0x191d3: 0x6cfcf820,\n\t0x191d4: 0x6d0eba20, 0x191d5: 0x6c8fa420, 0x191d6: 0x6c9af620, 0x191d7: 0x6c6c5c20,\n\t0x191d8: 0x6c5f5020, 0x191da: 0x6c0b5a20, 0x191db: 0x6d22a420,\n\t0x191dc: 0x6c5e0620, 0x191dd: 0x6c9ea420, 0x191de: 0x6c1df220, 0x191df: 0x6c970620,\n\t0x191e1: 0x6c822c20, 0x191e2: 0x6c6b5620, 0x191e3: 0x6cf10a20,\n\t0x191e4: 0x6d192a20, 0x191e5: 0x6d07e020, 0x191e6: 0x6cf91420, 0x191e7: 0x6c11e220,\n\t0x191e8: 0x6c7fe420, 0x191e9: 0x6d1b2220, 0x191ea: 0x6d027220, 0x191eb: 0x6d28a620,\n\t0x191ec: 0x6c95d220, 0x191ed: 0x6c8dd220, 0x191ee: 0x6cb97020, 0x191ef: 0x6c5d9a20,\n\t0x191f0: 0x6c646a20, 0x191f1: 0x6cf2a820,\n\t0x191f4: 0x6c43d420, 0x191f5: 0x6d399020, 0x191f6: 0x6c2e8220, 0x191f7: 0x6d1e2c20,\n\t0x191f8: 0x6c614220, 0x191f9: 0x6d0fc020, 0x191fa: 0x6cc82220, 0x191fb: 0x6cf79a20,\n\t0x191fc: 0x6cd6f020, 0x191fd: 0x6d240820, 0x191fe: 0x6d146020, 0x191ff: 0x6cb9f220,\n\t// Block 0x648, offset 0x19200\n\t0x19200: 0x6c5fde20, 0x19201: 0x6cc26420, 0x19202: 0x6ce48a20, 0x19203: 0x6cd42820,\n\t0x19204: 0x6cb9ee20, 0x19205: 0x6ca26020, 0x19206: 0x6c6c2620, 0x19207: 0x6c992420,\n\t0x19208: 0x6d1ac820, 0x19209: 0x6c412a20, 0x1920a: 0x6cb2ee20, 0x1920b: 0x6d084020,\n\t0x1920c: 0x6c994220, 0x1920d: 0x6c39c020, 0x1920e: 0x6d0b1020, 0x1920f: 0x6c425420,\n\t0x19210: 0x6cd95020, 0x19211: 0x6c5a8a20, 0x19212: 0x6d22d620, 0x19213: 0x6c484820,\n\t0x19214: 0x6c48e820, 0x19215: 0x6c8ef820, 0x19216: 0x6c35de20, 0x19217: 0x6d3eec20,\n\t0x19218: 0x6d3f3220, 0x19219: 0x6c093820, 0x1921a: 0x6cec1620,\n\t0x1921c: 0x6c8acc20, 0x1921f: 0x6c7af620,\n\t0x19221: 0x6c4d5a20, 0x19222: 0x6d19b020, 0x19223: 0x6d398820,\n\t0x19224: 0x6c1d4820, 0x19225: 0x6cfbea20, 0x19226: 0x6d087420,\n\t0x19228: 0x6cc01420, 0x19229: 0x6cae0c20, 0x1922a: 0x6c4ad620, 0x1922b: 0x6c373e20,\n\t0x1922c: 0x6c45dc20, 0x1922d: 0x6cbf0820, 0x1922e: 0x6c54ac20, 0x1922f: 0x6c81a620,\n\t0x19230: 0x6c85a420, 0x19231: 0x6c192220, 0x19232: 0x6cca1620, 0x19233: 0x6d3df420,\n\t0x19234: 0x6cf2ae20, 0x19235: 0x6cb3d420, 0x19236: 0x6c793020, 0x19237: 0x6cea8820,\n\t0x19238: 0x6cae5c20, 0x19239: 0x6ce27620, 0x1923a: 0x6cde4a20, 0x1923b: 0x6d3d4c20,\n\t0x1923c: 0x6c0c8e20, 0x1923d: 0x6c480e20, 0x1923e: 0x6c54be20,\n\t// Block 0x649, offset 0x19240\n\t0x19240: 0x6c0de020, 0x19241: 0x6d35de20, 0x19242: 0x6c302e20, 0x19243: 0x6c332220,\n\t0x19244: 0x6d387220, 0x19245: 0x6ca58a20, 0x19246: 0x6c8c1c20, 0x19247: 0x6cb32a20,\n\t0x19248: 0x6c613420, 0x19249: 0x6c9f5420, 0x1924a: 0x6cefc220, 0x1924b: 0x6c17ea20,\n\t0x1924c: 0x6c46b620, 0x1924d: 0x6c053220, 0x1924e: 0x6cc7aa20, 0x1924f: 0x6cdfa820,\n\t0x19250: 0x6c103a20, 0x19251: 0x6d3f8c20, 0x19252: 0x6c7c3c20, 0x19253: 0x6c815820,\n\t0x19254: 0x6c4ec220, 0x19255: 0x6d1c7020, 0x19256: 0x6d362620, 0x19257: 0x6c6ac620,\n\t0x19258: 0x6d040220, 0x19259: 0x6d00b820, 0x1925a: 0x6d0a1620, 0x1925b: 0x6ccd4620,\n\t0x1925c: 0x6cb9a620, 0x1925d: 0x6d004620, 0x1925e: 0x6cdacc20, 0x1925f: 0x6c4d1820,\n\t0x19260: 0x6c9d5820, 0x19261: 0x6c5cee20, 0x19262: 0x6caf7220,\n\t0x19264: 0x6c5be020, 0x19265: 0x6ca34c20, 0x19266: 0x6cd96220, 0x19267: 0x6c07bc20,\n\t0x19268: 0x6c1d7220, 0x19269: 0x6c6ae220, 0x1926a: 0x6c5a6e20, 0x1926b: 0x6c802c20,\n\t0x1926d: 0x6c56b420, 0x1926e: 0x6c30b620, 0x1926f: 0x6c5de420,\n\t0x19270: 0x6c4bd420, 0x19271: 0x6d111c20, 0x19272: 0x6c130420, 0x19273: 0x6c4b1220,\n\t0x19274: 0x6c66a620, 0x19275: 0x6c65c020, 0x19276: 0x6c29e620, 0x19277: 0x6c6d2420,\n\t0x19278: 0x6c96cc20, 0x19279: 0x6c5bf820, 0x1927a: 0x6c9e3420, 0x1927b: 0x6c11a820,\n\t0x1927c: 0x6c94ba20, 0x1927d: 0x6cb0aa20, 0x1927e: 0x6d105a20, 0x1927f: 0x6c726420,\n\t// Block 0x64a, offset 0x19280\n\t0x19280: 0x6c726620, 0x19281: 0x6cc3dc20, 0x19283: 0x6cb91220,\n\t0x19284: 0x6ccc8e20, 0x19286: 0x6c701820, 0x19287: 0x6c5df020,\n\t0x19288: 0x6d27fa20, 0x19289: 0x6c26b820, 0x1928a: 0x6d07ba20, 0x1928b: 0x6cff0420,\n\t0x1928c: 0x6c3ac620, 0x1928d: 0x6c131020, 0x1928e: 0x6d132420,\n\t0x19290: 0x6c2a9820, 0x19292: 0x6cbda020, 0x19293: 0x6c5b6a20,\n\t0x19294: 0x6cea6c20, 0x19296: 0x6cbb2420, 0x19297: 0x6cf7a020,\n\t0x19298: 0x6ca64a20, 0x19299: 0x6cc9ce20, 0x1929a: 0x6c9b5620, 0x1929b: 0x6ce95e20,\n\t0x1929c: 0x6c804220, 0x1929d: 0x6c4ff220, 0x1929e: 0x6c22e620, 0x1929f: 0x6d2d4e20,\n\t0x192a0: 0x6c023220, 0x192a1: 0x6c95c420, 0x192a2: 0x6c9efa20,\n\t0x192a4: 0x6c3daa20, 0x192a6: 0x6d010c20, 0x192a7: 0x6c0f8c20,\n\t0x192a8: 0x6c5c6820, 0x192a9: 0x6cbeb820, 0x192aa: 0x6d010e20,\n\t0x192ad: 0x6c0fa220, 0x192ae: 0x6cb9dc20, 0x192af: 0x6cb34020,\n\t0x192b0: 0x6c696820, 0x192b1: 0x6c750a20, 0x192b2: 0x6c7dc620, 0x192b3: 0x6cd97a20,\n\t0x192b4: 0x6c718e20, 0x192b5: 0x6c36f020, 0x192b6: 0x6ca8c020, 0x192b7: 0x6cb95a20,\n\t0x192b8: 0x6c2f1a20, 0x192b9: 0x6c2f1c20, 0x192bb: 0x6cb4da20,\n\t0x192bc: 0x6d33c220, 0x192bd: 0x6cb5c620, 0x192be: 0x6d3c8620, 0x192bf: 0x6c7a1c20,\n\t// Block 0x64b, offset 0x192c0\n\t0x192c0: 0x6d20b420, 0x192c1: 0x6cbd5820, 0x192c2: 0x6c7a2620, 0x192c3: 0x6c50d420,\n\t0x192c4: 0x6c3e0a20, 0x192c6: 0x6c2be220, 0x192c7: 0x6cfca620,\n\t0x192c8: 0x6c4b3c20, 0x192c9: 0x6c50ee20, 0x192ca: 0x6cc44620, 0x192cb: 0x6c4eaa20,\n\t0x192cc: 0x6ce7b420, 0x192cd: 0x6c0ee620, 0x192ce: 0x6ccd3e20, 0x192cf: 0x6c08de20,\n\t0x192d0: 0x6c924e20, 0x192d1: 0x6d12f020, 0x192d2: 0x6ca5e220, 0x192d3: 0x6c1fba20,\n\t0x192d4: 0x6cca5020, 0x192d5: 0x6c2e2820, 0x192d6: 0x6c925020, 0x192d7: 0x6ce81220,\n\t0x192d8: 0x6c88bc20, 0x192d9: 0x6c786620, 0x192da: 0x6cca5220, 0x192db: 0x6d31e420,\n\t0x192dc: 0x6c1fc020, 0x192dd: 0x6c890220, 0x192de: 0x6c998c20,\n\t0x192e0: 0x6cb90620, 0x192e1: 0x6c769220, 0x192e2: 0x6cceb620, 0x192e3: 0x6cfeea20,\n\t0x192e4: 0x6c0a2020, 0x192e5: 0x6d2bf420, 0x192e6: 0x6d1b7220, 0x192e7: 0x6cf6bc20,\n\t0x192e8: 0x6ccdaa20, 0x192e9: 0x6cdb1220, 0x192ea: 0x6cc98e20, 0x192eb: 0x6cc8e820,\n\t0x192ec: 0x6c219c20, 0x192ed: 0x6c917c20, 0x192ee: 0x6c8d9820, 0x192ef: 0x6c13c620,\n\t0x192f1: 0x6c593020,\n\t0x192f4: 0x6c63a220, 0x192f5: 0x6c04ee20, 0x192f6: 0x6c553220, 0x192f7: 0x6c30ec20,\n\t0x192f9: 0x6c90f020, 0x192fa: 0x6c70d220, 0x192fb: 0x6c73a620,\n\t0x192fc: 0x6c785c20, 0x192fd: 0x6cdd5220, 0x192fe: 0x6c95f020, 0x192ff: 0x6d303c20,\n\t// Block 0x64c, offset 0x19300\n\t0x19300: 0x6c2f7220, 0x19301: 0x6c32d220, 0x19302: 0x6d3b1c20, 0x19303: 0x6d0d3a20,\n\t0x19304: 0x6cacf420, 0x19305: 0x6c13d820,\n\t0x1930a: 0x6d15e620,\n\t0x1930d: 0x6d1f3420, 0x1930e: 0x6c5ae620, 0x1930f: 0x6d11c820,\n\t0x19310: 0x6d118020, 0x19311: 0x6d34d620, 0x19312: 0x6c45d220, 0x19313: 0x6cb6d420,\n\t0x19314: 0x6c44ac20, 0x19317: 0x6c545c20,\n\t0x19318: 0x6c9d2420, 0x19319: 0x6c3df020, 0x1931a: 0x6c54a020, 0x1931b: 0x6c4a1a20,\n\t0x1931c: 0x6ce05620, 0x1931d: 0x6c2b1a20, 0x1931f: 0x6d0c7220,\n\t0x19322: 0x6cc26620,\n\t0x19324: 0x6c16e420, 0x19325: 0x6ca02e20, 0x19326: 0x6ce1bc20, 0x19327: 0x6c063c20,\n\t0x19328: 0x6c011e20, 0x1932b: 0x6cfbf620,\n\t0x1932f: 0x6c996e20,\n\t0x19330: 0x6c811c20, 0x19331: 0x6ca42220, 0x19332: 0x6c070c20, 0x19333: 0x6c18be20,\n\t0x19335: 0x6c3a0420, 0x19336: 0x6d38e620, 0x19337: 0x6c5ece20,\n\t0x19338: 0x6c6a1420, 0x19339: 0x6cd5d620, 0x1933b: 0x6c7dd220,\n\t0x1933c: 0x6c2ea620, 0x1933d: 0x6c925220,\n\t// Block 0x64d, offset 0x19340\n\t0x19342: 0x6d215020, 0x19343: 0x6cdf2620,\n\t0x19344: 0x6c162e20, 0x19345: 0x6c97de20, 0x19346: 0x6c9fb820, 0x19347: 0x6c593220,\n\t0x19348: 0x6cf15420, 0x19349: 0x6caa9220, 0x1934a: 0x6c593420, 0x1934b: 0x6c540a20,\n\t0x1934c: 0x6c6e8e20, 0x1934d: 0x6c0f2620, 0x1934e: 0x6cfc2020, 0x1934f: 0x6c864820,\n\t0x19350: 0x6c6d2620, 0x19352: 0x6c989c20, 0x19353: 0x6cb1ba20,\n\t0x19354: 0x6c4fde20, 0x19355: 0x6d0fd620, 0x19357: 0x6cfd0a20,\n\t0x19358: 0x6cdb1420, 0x19359: 0x6cf01620, 0x1935a: 0x6c183c20, 0x1935b: 0x6cf6be20,\n\t0x1935c: 0x6c6d4c20, 0x1935d: 0x6c135a20, 0x1935e: 0x6c51e420, 0x1935f: 0x6c3b4020,\n\t0x19360: 0x6ccca620, 0x19361: 0x6c8d6a20, 0x19363: 0x6c337220,\n\t0x19364: 0x6cb54220, 0x19365: 0x6cb4b820, 0x19366: 0x6d26fa20, 0x19367: 0x6c0f8e20,\n\t0x19369: 0x6c5c7820, 0x1936a: 0x6c2f0220, 0x1936b: 0x6d0ef620,\n\t0x1936c: 0x6c72d020, 0x1936d: 0x6c69e020, 0x1936e: 0x6ca44c20, 0x1936f: 0x6c8b8620,\n\t0x19370: 0x6d20aa20, 0x19371: 0x6ce41c20, 0x19372: 0x6ce47620, 0x19373: 0x6cf42a20,\n\t0x19374: 0x6c53a220, 0x19375: 0x6cff7220, 0x19376: 0x6c503620,\n\t0x19378: 0x6ce55c20, 0x19379: 0x6d32ca20, 0x1937b: 0x6c59a020,\n\t0x1937c: 0x6c403420, 0x1937f: 0x6cea2c20,\n\t// Block 0x64e, offset 0x19380\n\t0x19381: 0x6cc61a20, 0x19382: 0x6c68ba20,\n\t0x19384: 0x6d031c20, 0x19387: 0x6d260020,\n\t0x19388: 0x6c73ee20, 0x19389: 0x6c572820, 0x1938b: 0x6c056020,\n\t0x1938c: 0x6ca1c420, 0x1938e: 0x6c425e20, 0x1938f: 0x6cef9220,\n\t0x19391: 0x6c9a8020, 0x19392: 0x6cd89c20, 0x19393: 0x6c0b8820,\n\t0x19394: 0x6c914220, 0x19395: 0x6cc0e620,\n\t0x19398: 0x6c43da20, 0x19399: 0x6d303e20, 0x1939a: 0x6c938c20, 0x1939b: 0x6cac2020,\n\t0x1939c: 0x6cc66220, 0x1939d: 0x6cc03020, 0x1939e: 0x6c8aea20, 0x1939f: 0x6c45e020,\n\t0x193a0: 0x6cfbf820, 0x193a1: 0x6cf86e20, 0x193a2: 0x6d02c620,\n\t0x193a4: 0x6ca79620,\n\t0x193a8: 0x6d00a220, 0x193a9: 0x6c8afe20, 0x193aa: 0x6c3d6420, 0x193ab: 0x6c25d620,\n\t0x193ac: 0x6d3d4e20, 0x193ad: 0x6c034820, 0x193ae: 0x6d429c20, 0x193af: 0x6d305020,\n\t0x193b0: 0x6d416e20, 0x193b1: 0x6c510620, 0x193b2: 0x6c601a20,\n\t0x193b4: 0x6c648620,\n\t0x193b8: 0x6ce8b020, 0x193b9: 0x6cfb5c20, 0x193ba: 0x6d0d8620, 0x193bb: 0x6ce0f420,\n\t0x193bc: 0x6cde5620, 0x193bd: 0x6c2bf620, 0x193be: 0x6c744c20, 0x193bf: 0x6c01fc20,\n\t// Block 0x64f, offset 0x193c0\n\t0x193c0: 0x6c4e1020, 0x193c1: 0x6cff8820, 0x193c2: 0x6c712020, 0x193c3: 0x6cee8c20,\n\t0x193c4: 0x6c054c20, 0x193c5: 0x6d3c5e20, 0x193c6: 0x6ca82e20, 0x193c7: 0x6ce53820,\n\t0x193c8: 0x6ca3c020, 0x193cb: 0x6d1fd420,\n\t0x193cc: 0x6c9dc620, 0x193cf: 0x6ca3c820,\n\t0x193d0: 0x6cd13c20, 0x193d1: 0x6c13a220, 0x193d2: 0x6d0c1020, 0x193d3: 0x6c44b620,\n\t0x193d4: 0x6c1d5420, 0x193d5: 0x6cc86420, 0x193d6: 0x6c63ca20, 0x193d7: 0x6cbd8220,\n\t0x193d8: 0x6c98e620, 0x193d9: 0x6c365c20, 0x193da: 0x6c863220, 0x193db: 0x6c1b3420,\n\t0x193dc: 0x6d29da20, 0x193dd: 0x6c513820, 0x193de: 0x6c6ae420, 0x193df: 0x6ca72c20,\n\t0x193e1: 0x6c499020, 0x193e2: 0x6c540c20, 0x193e3: 0x6c414220,\n\t0x193e5: 0x6c07be20, 0x193e6: 0x6cdd8020, 0x193e7: 0x6cf37220,\n\t0x193e8: 0x6c623820, 0x193e9: 0x6cf66a20, 0x193ea: 0x6cbf4a20, 0x193eb: 0x6c515820,\n\t0x193ec: 0x6cf23020, 0x193ed: 0x6cfb7220, 0x193ee: 0x6c6b0820, 0x193ef: 0x6c5cf820,\n\t0x193f0: 0x6cb00420, 0x193f1: 0x6cd00620, 0x193f2: 0x6c1d7620, 0x193f3: 0x6d324e20,\n\t0x193f5: 0x6d2d8a20, 0x193f6: 0x6cd78a20, 0x193f7: 0x6c5f0420,\n\t0x193f8: 0x6cd99420, 0x193f9: 0x6d354220, 0x193fa: 0x6c07a220,\n\t0x193fe: 0x6c810e20, 0x193ff: 0x6c0a2220,\n\t// Block 0x650, offset 0x19400\n\t0x19400: 0x6d08ae20, 0x19401: 0x6cade820, 0x19402: 0x6c278a20,\n\t0x19404: 0x6d340e20, 0x19405: 0x6cb00e20, 0x19406: 0x6c15d420, 0x19407: 0x6c0a2420,\n\t0x19408: 0x6cdafa20, 0x19409: 0x6c5df220, 0x1940a: 0x6c523420, 0x1940b: 0x6c6f2a20,\n\t0x1940c: 0x6c200620, 0x1940d: 0x6c67b420, 0x1940e: 0x6ca5a020, 0x1940f: 0x6c47be20,\n\t0x19410: 0x6c39de20, 0x19413: 0x6cde9a20,\n\t0x19414: 0x6c256020, 0x19415: 0x6cf6c220, 0x19416: 0x6c2a8420, 0x19417: 0x6cfb9020,\n\t0x19418: 0x6c7b7220, 0x19419: 0x6d308a20, 0x1941a: 0x6cddfc20, 0x1941b: 0x6c55ae20,\n\t0x1941c: 0x6c256220, 0x1941d: 0x6c92c820, 0x1941e: 0x6c738c20, 0x1941f: 0x6c92ca20,\n\t0x19420: 0x6cba7220, 0x19421: 0x6cad9620, 0x19422: 0x6d326c20,\n\t0x19424: 0x6c867a20, 0x19425: 0x6c128e20, 0x19426: 0x6cb64a20,\n\t0x19429: 0x6ce41e20, 0x1942a: 0x6c8d6c20, 0x1942b: 0x6cc1d420,\n\t0x1942c: 0x6c88cc20, 0x1942d: 0x6c91e020, 0x1942e: 0x6cd54020, 0x1942f: 0x6c462620,\n\t0x19430: 0x6d309a20, 0x19431: 0x6cad3c20, 0x19432: 0x6c6d5a20, 0x19433: 0x6cbe9020,\n\t0x19436: 0x6d3fc420, 0x19437: 0x6cb46620,\n\t0x19438: 0x6c6cbc20, 0x19439: 0x6c0c8620, 0x1943a: 0x6c66ee20, 0x1943b: 0x6c4bf220,\n\t0x1943e: 0x6d2a3020, 0x1943f: 0x6c8b5a20,\n\t// Block 0x651, offset 0x19440\n\t0x19440: 0x6c848a20, 0x19441: 0x6c95c620, 0x19442: 0x6cd08620, 0x19443: 0x6c9de220,\n\t0x19444: 0x6c66fc20, 0x19445: 0x6c2bb020, 0x19446: 0x6c076a20,\n\t0x19448: 0x6c88d420, 0x1944a: 0x6cfbc620, 0x1944b: 0x6cb22220,\n\t0x1944c: 0x6cc41620, 0x1944d: 0x6c8fda20, 0x1944e: 0x6d41e020,\n\t0x19450: 0x6c74fe20, 0x19451: 0x6ccd2020, 0x19452: 0x6d092620,\n\t0x19454: 0x6d027820, 0x19456: 0x6c804e20, 0x19457: 0x6cb6aa20,\n\t0x19458: 0x6d159820, 0x19459: 0x6caad420, 0x1945a: 0x6c84ca20, 0x1945b: 0x6d271e20,\n\t0x1945d: 0x6d15be20, 0x1945e: 0x6c1a9220, 0x1945f: 0x6c619620,\n\t0x19460: 0x6c4f4a20, 0x19461: 0x6d015e20, 0x19462: 0x6c792a20, 0x19463: 0x6d3e1020,\n\t0x19464: 0x6c509220, 0x19465: 0x6cf86220, 0x19466: 0x6cc26820, 0x19467: 0x6c4d1020,\n\t0x19468: 0x6cf95220, 0x19469: 0x6c4d1220, 0x1946a: 0x6c4a4820, 0x1946b: 0x6c14c220,\n\t0x1946c: 0x6d09fa20, 0x1946d: 0x6d058220, 0x1946e: 0x6cd09c20, 0x1946f: 0x6c79e820,\n\t0x19470: 0x6cf96020, 0x19471: 0x6ccc4a20, 0x19472: 0x6d208a20, 0x19473: 0x6d0bae20,\n\t0x19474: 0x6cb3f220, 0x19475: 0x6d40bc20, 0x19476: 0x6d1fc820, 0x19477: 0x6d3f3e20,\n\t0x19478: 0x6c88be20, 0x19479: 0x6cfaaa20, 0x1947a: 0x6cfa3e20, 0x1947b: 0x6d15f620,\n\t0x1947c: 0x6ccc5820, 0x1947d: 0x6d0e8420, 0x1947e: 0x6c69a220, 0x1947f: 0x6cf66e20,\n\t// Block 0x652, offset 0x19480\n\t0x19480: 0x6c1bb620, 0x19481: 0x6cd3b220, 0x19482: 0x6c774620, 0x19483: 0x6d1afc20,\n\t0x19484: 0x6c522420, 0x19485: 0x6d189620, 0x19486: 0x6cf6e820, 0x19487: 0x6ccb6a20,\n\t0x19488: 0x6c6d5c20, 0x19489: 0x6d135e20, 0x1948a: 0x6d1ec420, 0x1948b: 0x6cc41820,\n\t0x1948c: 0x6d129a20, 0x1948d: 0x6c945e20, 0x1948e: 0x6c7d9c20, 0x1948f: 0x6d333820,\n\t0x19494: 0x6d003a20, 0x19496: 0x6c253a20, 0x19497: 0x6d04e420,\n\t0x19498: 0x6c01d820, 0x19499: 0x6d051e20, 0x1949a: 0x6c118820, 0x1949b: 0x6c201820,\n\t0x1949c: 0x6d2c1e20, 0x1949e: 0x6d16f420, 0x1949f: 0x6caf4420,\n\t0x194a0: 0x6c7a3020, 0x194a1: 0x6cd0fa20, 0x194a2: 0x6c80bc20, 0x194a3: 0x6ce9e420,\n\t0x194a4: 0x6cf61020, 0x194a5: 0x6c8d0620, 0x194a6: 0x6cb4f820, 0x194a7: 0x6cf2f020,\n\t0x194a8: 0x6c88fa20, 0x194a9: 0x6c319e20, 0x194aa: 0x6c9af420, 0x194ab: 0x6c807220,\n\t0x194ac: 0x6cefdc20, 0x194ad: 0x6c32ca20, 0x194ae: 0x6c7b2a20, 0x194af: 0x6c004c20,\n\t0x194b0: 0x6d291a20, 0x194b1: 0x6c5bfa20, 0x194b2: 0x6d182620, 0x194b3: 0x6ca14c20,\n\t0x194b4: 0x6d3f5e20, 0x194b5: 0x6c3be820, 0x194b6: 0x6caec420,\n\t0x194b8: 0x6c0a6c20, 0x194b9: 0x6c871e20, 0x194ba: 0x6c918220, 0x194bb: 0x6c964620,\n\t0x194bc: 0x6c4d0a20, 0x194bd: 0x6d31bc20, 0x194be: 0x6c40ee20, 0x194bf: 0x6cc3ac20,\n\t// Block 0x653, offset 0x194c0\n\t0x194c0: 0x6d315220, 0x194c1: 0x6c797a20, 0x194c2: 0x6c1a0420, 0x194c3: 0x6c6ffe20,\n\t0x194c4: 0x6c746420, 0x194c5: 0x6c623a20, 0x194c6: 0x6c8d5620,\n\t0x194c8: 0x6cceaa20, 0x194c9: 0x6cc40020, 0x194ca: 0x6cc8ea20, 0x194cb: 0x6c21ac20,\n\t0x194cc: 0x6ca5b220, 0x194cd: 0x6d339820, 0x194ce: 0x6c907a20, 0x194cf: 0x6cad3620,\n\t0x194d2: 0x6c063820, 0x194d3: 0x6cc66420,\n\t0x194d4: 0x6cfa9a20, 0x194d5: 0x6c832c20, 0x194d6: 0x6cfeb420, 0x194d7: 0x6c3d6620,\n\t0x194d8: 0x6cc18620, 0x194da: 0x6ccbe820, 0x194db: 0x6d352c20,\n\t0x194dc: 0x6cdfe020, 0x194dd: 0x6cc70e20, 0x194de: 0x6cda4a20, 0x194df: 0x6d1cf620,\n\t0x194e0: 0x6c98e820, 0x194e1: 0x6ca3ca20, 0x194e2: 0x6c0baa20,\n\t0x194e4: 0x6cd65820, 0x194e5: 0x6ce11020, 0x194e6: 0x6c4ee220, 0x194e7: 0x6ccaf620,\n\t0x194e8: 0x6cc69420, 0x194ea: 0x6c2aa820, 0x194eb: 0x6cb44e20,\n\t0x194ec: 0x6c687820, 0x194ed: 0x6ce07620, 0x194ef: 0x6cc48e20,\n\t0x194f0: 0x6ca92c20, 0x194f1: 0x6c8b5c20, 0x194f2: 0x6c2f2020, 0x194f3: 0x6c2e8620,\n\t0x194f4: 0x6d381620, 0x194f6: 0x6c93f420, 0x194f7: 0x6c28b020,\n\t0x194f8: 0x6cf56020, 0x194f9: 0x6c4aba20, 0x194fa: 0x6c5fbe20, 0x194fb: 0x6ca67620,\n\t0x194fc: 0x6d164a20, 0x194fd: 0x6ca75820, 0x194fe: 0x6d221e20, 0x194ff: 0x6cedf220,\n\t// Block 0x654, offset 0x19500\n\t0x19500: 0x6c4ce620, 0x19501: 0x6d2b3c20, 0x19502: 0x6d0c5820, 0x19503: 0x6c251a20,\n\t0x19504: 0x6cfb2620, 0x19505: 0x6c68be20, 0x19506: 0x6ce80620, 0x19507: 0x6c3fac20,\n\t0x19508: 0x6cae0020, 0x1950a: 0x6d1e9220, 0x1950b: 0x6cbfa220,\n\t0x1950c: 0x6d0ad620, 0x1950d: 0x6c107220, 0x1950e: 0x6c0b7c20, 0x1950f: 0x6cd31c20,\n\t0x19510: 0x6d2c2220, 0x19511: 0x6d16c020, 0x19512: 0x6c0b7e20,\n\t0x19514: 0x6c333820, 0x19515: 0x6c7f8e20, 0x19516: 0x6d13d820, 0x19517: 0x6c149220,\n\t0x19518: 0x6c1cb220, 0x19519: 0x6d087820, 0x1951a: 0x6d069220, 0x1951b: 0x6d20d820,\n\t0x1951c: 0x6d04c020,\n\t0x19520: 0x6cde3620, 0x19521: 0x6c4c1620,\n\t0x19525: 0x6c906420, 0x19526: 0x6d018220, 0x19527: 0x6c180c20,\n\t0x19528: 0x6c657e20, 0x19529: 0x6cdf9820, 0x1952a: 0x6cb08c20, 0x1952b: 0x6d296820,\n\t0x1952c: 0x6d080620, 0x1952d: 0x6cfb3c20, 0x1952e: 0x6ca7d220,\n\t0x19534: 0x6c9d3820, 0x19535: 0x6c61f020, 0x19536: 0x6caa1c20, 0x19537: 0x6c54c020,\n\t0x19538: 0x6c571020, 0x19539: 0x6cee1020, 0x1953a: 0x6d1f2a20, 0x1953b: 0x6d2ac020,\n\t0x1953c: 0x6c09a020, 0x1953d: 0x6c9cee20, 0x1953e: 0x6cbab020, 0x1953f: 0x6d019220,\n\t// Block 0x655, offset 0x19540\n\t0x19540: 0x6c394420, 0x19541: 0x6d176020, 0x19542: 0x6cdfa020, 0x19543: 0x6c832e20,\n\t0x19544: 0x6d1e2e20, 0x19546: 0x6c6d0220, 0x19547: 0x6ccf4a20,\n\t0x19548: 0x6d1b4820, 0x19549: 0x6c613820, 0x1954b: 0x6cdaa620,\n\t0x1954f: 0x6cee1c20,\n\t0x19550: 0x6c9e5820, 0x19551: 0x6cdab420, 0x19552: 0x6d17a620, 0x19553: 0x6ccc8820,\n\t0x19554: 0x6cf61420, 0x19555: 0x6c603e20, 0x19556: 0x6c960020, 0x19557: 0x6d1ea620,\n\t0x19558: 0x6c998220, 0x19559: 0x6d2c7c20, 0x1955a: 0x6cdc4020, 0x1955b: 0x6d362a20,\n\t0x1955c: 0x6c0b9c20, 0x1955d: 0x6c83d820,\n\t0x19565: 0x6cbc4820, 0x19566: 0x6c498e20, 0x19567: 0x6cf64a20,\n\t0x19568: 0x6d324a20, 0x19569: 0x6d1d9020, 0x1956a: 0x6ca84020, 0x1956b: 0x6c75ca20,\n\t0x1956c: 0x6d01c620, 0x1956d: 0x6d11b620, 0x1956e: 0x6d01c820, 0x1956f: 0x6d33f020,\n\t0x19570: 0x6ca5a820, 0x19572: 0x6cd7f420, 0x19573: 0x6c903620,\n\t0x19574: 0x6c18d220, 0x19575: 0x6c9d5c20, 0x19576: 0x6cc3cc20, 0x19577: 0x6c27e420,\n\t0x19578: 0x6ccd4820,\n\t0x1957c: 0x6cdae820, 0x1957d: 0x6d01da20, 0x1957e: 0x6c0f2820, 0x1957f: 0x6c2f7a20,\n\t// Block 0x656, offset 0x19580\n\t0x19580: 0x6d40ca20, 0x19582: 0x6cd5f220, 0x19583: 0x6ccf2220,\n\t0x19584: 0x6c4ee420, 0x19585: 0x6cdfb220, 0x19586: 0x6c431420,\n\t0x1958a: 0x6ca36420, 0x1958b: 0x6c9d7a20,\n\t0x1958c: 0x6d0a3020, 0x1958d: 0x6c9afa20, 0x1958e: 0x6c66b420, 0x1958f: 0x6c24fe20,\n\t0x19590: 0x6c749220, 0x19591: 0x6c51de20, 0x19592: 0x6c3ac820, 0x19593: 0x6cd28220,\n\t0x19594: 0x6c17f220, 0x19595: 0x6cd0c220, 0x19596: 0x6caa8a20, 0x19597: 0x6cb2c420,\n\t0x19598: 0x6c980220,\n\t0x1959d: 0x6d189a20, 0x1959e: 0x6c1dda20,\n\t0x195a0: 0x6c7a6220, 0x195a1: 0x6c05d420, 0x195a2: 0x6c825a20, 0x195a3: 0x6c787020,\n\t0x195a4: 0x6ccc7820, 0x195a5: 0x6c0a4e20, 0x195a6: 0x6cdbfc20, 0x195a7: 0x6c443420,\n\t0x195a8: 0x6cb0c020, 0x195a9: 0x6d189c20, 0x195aa: 0x6cfb9220, 0x195ab: 0x6ca6c820,\n\t0x195ac: 0x6d1c9820, 0x195ad: 0x6d3a8020, 0x195ae: 0x6c216220, 0x195af: 0x6c3cbc20,\n\t0x195b0: 0x6d074620, 0x195b1: 0x6cb19c20, 0x195b2: 0x6cf48020, 0x195b3: 0x6c8a2420,\n\t0x195b4: 0x6c124c20, 0x195b5: 0x6d409020, 0x195b6: 0x6d422a20, 0x195b7: 0x6c0bc620,\n\t0x195b8: 0x6d122a20, 0x195b9: 0x6c58a420, 0x195ba: 0x6cac3220, 0x195bb: 0x6d04fa20,\n\t0x195bd: 0x6c82ea20, 0x195be: 0x6cbee420, 0x195bf: 0x6d001220,\n\t// Block 0x657, offset 0x195c0\n\t0x195c0: 0x6c689620, 0x195c1: 0x6c4c9420,\n\t0x195c4: 0x6d0cf020, 0x195c5: 0x6d092420, 0x195c6: 0x6d39e220, 0x195c7: 0x6c527e20,\n\t0x195c8: 0x6d1cb820, 0x195c9: 0x6cf71620,\n\t0x195cc: 0x6c889220, 0x195cd: 0x6cfc4820, 0x195ce: 0x6c58bc20, 0x195cf: 0x6d1a1620,\n\t0x195d1: 0x6c892a20, 0x195d2: 0x6ccd6020, 0x195d3: 0x6c125220,\n\t0x195d4: 0x6c077020, 0x195d5: 0x6c662220, 0x195d6: 0x6cd63020, 0x195d7: 0x6c397a20,\n\t0x195d8: 0x6c2d9820, 0x195da: 0x6c03d820, 0x195db: 0x6d21fe20,\n\t0x195de: 0x6ca47420, 0x195df: 0x6c831420,\n\t0x195e0: 0x6d198220, 0x195e1: 0x6c272820, 0x195e3: 0x6c14ea20,\n\t0x195e4: 0x6c178e20, 0x195e5: 0x6c416a20, 0x195e6: 0x6c6cdc20, 0x195e7: 0x6ca59220,\n\t0x195eb: 0x6c8a6a20,\n\t0x195ec: 0x6ca0e620, 0x195ed: 0x6d1fb220, 0x195ef: 0x6c8f2820,\n\t0x195f0: 0x6c4de620, 0x195f2: 0x6d1e7420, 0x195f3: 0x6c6cf020,\n\t0x195f4: 0x6c1b8c20, 0x195f5: 0x6cc5dc20, 0x195f6: 0x6ca9b620,\n\t0x195f9: 0x6c53ba20, 0x195fa: 0x6ce53620,\n\t0x195fc: 0x6c002420, 0x195fd: 0x6c485620, 0x195fe: 0x6c0bf820, 0x195ff: 0x6c0eea20,\n\t// Block 0x658, offset 0x19600\n\t0x19600: 0x6cbf1420, 0x19602: 0x6cd5d820, 0x19603: 0x6c20ee20,\n\t0x19604: 0x6c5b5420, 0x19605: 0x6c179a20, 0x19606: 0x6c3ff220, 0x19607: 0x6c5ab620,\n\t0x19608: 0x6c363a20, 0x19609: 0x6cf09a20, 0x1960a: 0x6c3b7820, 0x1960b: 0x6cdfe220,\n\t0x1960d: 0x6c94fa20, 0x1960e: 0x6c51cc20, 0x1960f: 0x6d1e4a20,\n\t0x19610: 0x6c5b5a20, 0x19612: 0x6d215820, 0x19613: 0x6d3ff820,\n\t0x19614: 0x6d0e8a20, 0x19615: 0x6cc07420, 0x19616: 0x6d2fbc20, 0x19617: 0x6c6f1a20,\n\t0x19618: 0x6cdf2820,\n\t0x1961f: 0x6cea0820,\n\t0x19620: 0x6c8bc220, 0x19621: 0x6c6f2620, 0x19622: 0x6d2c8220, 0x19623: 0x6d038620,\n\t0x19624: 0x6c56ba20, 0x19626: 0x6d071020,\n\t0x1962a: 0x6c254c20, 0x1962b: 0x6cbeb020,\n\t0x1962c: 0x6ca14e20, 0x1962e: 0x6d2a2220, 0x1962f: 0x6c084c20,\n\t0x19630: 0x6c1ace20, 0x19633: 0x6d0ebc20,\n\t0x19634: 0x6c443620, 0x19635: 0x6ca16220, 0x19636: 0x6c075c20, 0x19637: 0x6c732820,\n\t0x19638: 0x6c2ee620, 0x19639: 0x6d2fe020, 0x1963b: 0x6cf3ea20,\n\t0x1963c: 0x6d0ebe20, 0x1963e: 0x6c74c620, 0x1963f: 0x6cfade20,\n\t// Block 0x659, offset 0x19640\n\t0x19640: 0x6cdf4a20, 0x19641: 0x6c4e6620, 0x19643: 0x6c2d2c20,\n\t0x19644: 0x6c62ac20, 0x19645: 0x6c6b6020, 0x19647: 0x6d414c20,\n\t0x19649: 0x6d025820, 0x1964a: 0x6c7f7620, 0x1964b: 0x6c38e220,\n\t0x1964c: 0x6c5e4020, 0x1964d: 0x6cf92820, 0x1964e: 0x6ca8b620, 0x1964f: 0x6c9cb820,\n\t0x19650: 0x6cc49c20, 0x19651: 0x6c24c220, 0x19652: 0x6d1a3220, 0x19653: 0x6c9d2820,\n\t0x19655: 0x6c747e20, 0x19656: 0x6cc0ea20, 0x19657: 0x6ce73820,\n\t0x19658: 0x6ced7a20, 0x19659: 0x6d2ffc20, 0x1965a: 0x6c84fe20, 0x1965b: 0x6cce9c20,\n\t0x1965c: 0x6c79a620, 0x1965d: 0x6cfa7e20, 0x1965e: 0x6d301e20, 0x1965f: 0x6d33c420,\n\t0x19660: 0x6ce5be20, 0x19661: 0x6cd4bc20, 0x19662: 0x6c073e20, 0x19663: 0x6d136220,\n\t0x19664: 0x6cb14c20, 0x19665: 0x6c164420, 0x19666: 0x6c563e20, 0x19667: 0x6c791620,\n\t0x19668: 0x6c6f4a20, 0x19669: 0x6c011620, 0x1966a: 0x6c213020, 0x1966b: 0x6cb97620,\n\t0x1966c: 0x6c06ea20, 0x1966d: 0x6c032620, 0x1966e: 0x6c3b6020, 0x1966f: 0x6c77d620,\n\t0x19670: 0x6ceafc20, 0x19671: 0x6ceafe20, 0x19672: 0x6d423020, 0x19673: 0x6c8cbc20,\n\t0x19675: 0x6c4aea20, 0x19676: 0x6d0be620, 0x19677: 0x6cd35420,\n\t0x19678: 0x6c545220, 0x19679: 0x6c8b0020, 0x1967a: 0x6ccbee20, 0x1967b: 0x6cd8b220,\n\t0x1967d: 0x6c071020, 0x1967e: 0x6cc5e820, 0x1967f: 0x6c319820,\n\t// Block 0x65a, offset 0x19680\n\t0x19680: 0x6c0eec20, 0x19681: 0x6c895620, 0x19682: 0x6cba0c20, 0x19683: 0x6c3aac20,\n\t0x19684: 0x6c624220, 0x19685: 0x6d3ffa20, 0x19686: 0x6c5ac820, 0x19687: 0x6c514020,\n\t0x19688: 0x6c83e420, 0x19689: 0x6d259620, 0x1968a: 0x6d26ce20, 0x1968b: 0x6d04e620,\n\t0x1968c: 0x6c15d620, 0x1968d: 0x6c2b8c20, 0x1968e: 0x6c825020, 0x1968f: 0x6c6cae20,\n\t0x19690: 0x6c1d1c20, 0x19691: 0x6cd8ec20, 0x19692: 0x6cb49a20, 0x19693: 0x6d11d420,\n\t0x19694: 0x6c678620, 0x19695: 0x6c583620, 0x19696: 0x6c595620, 0x19697: 0x6ce1f620,\n\t0x19698: 0x6cc82c20, 0x19699: 0x6cf26620, 0x1969a: 0x6d1ccc20, 0x1969b: 0x6cc53420,\n\t0x1969c: 0x6d1a3420, 0x1969d: 0x6cd30e20, 0x1969e: 0x6d1a2620, 0x1969f: 0x6c73e220,\n\t0x196a0: 0x6cea4020, 0x196a1: 0x6d080020, 0x196a2: 0x6c632e20, 0x196a3: 0x6d379e20,\n\t0x196a4: 0x6cbc9820, 0x196a5: 0x6d3ab220, 0x196a6: 0x6c2db020,\n\t0x196a8: 0x6d201820, 0x196ab: 0x6d14a420,\n\t0x196ac: 0x6cd2c220, 0x196ad: 0x6d16fa20, 0x196ae: 0x6ca0e820,\n\t0x196b1: 0x6cc3ae20, 0x196b2: 0x6cfea420, 0x196b3: 0x6cf3ba20,\n\t0x196b4: 0x6c44c020, 0x196b5: 0x6d1ce620, 0x196b6: 0x6ce66820, 0x196b7: 0x6cd2c620,\n\t0x196b8: 0x6ca5cc20, 0x196b9: 0x6c44c620, 0x196ba: 0x6cde5020, 0x196bb: 0x6cf28a20,\n\t0x196bc: 0x6c711820, 0x196bd: 0x6c15a820, 0x196be: 0x6cb19620, 0x196bf: 0x6d3d5420,\n\t// Block 0x65b, offset 0x196c0\n\t0x196c0: 0x6c54c420, 0x196c1: 0x6ca4fa20, 0x196c2: 0x6d0c9820, 0x196c3: 0x6c468620,\n\t0x196c4: 0x6d225c20, 0x196c5: 0x6c540420, 0x196c7: 0x6cd7f620,\n\t0x196c8: 0x6c1aba20, 0x196c9: 0x6c56a420, 0x196ca: 0x6d105220, 0x196cb: 0x6cf22e20,\n\t0x196cc: 0x6cfcd020, 0x196cd: 0x6cb21020, 0x196ce: 0x6cc69c20, 0x196cf: 0x6c90a820,\n\t0x196d0: 0x6c81b420, 0x196d1: 0x6cccfe20, 0x196d2: 0x6cfef020, 0x196d3: 0x6d2ae220,\n\t0x196d4: 0x6c4d7820, 0x196d5: 0x6c38b420, 0x196d6: 0x6c4e6220, 0x196d7: 0x6c14d420,\n\t0x196d8: 0x6d2e7620, 0x196da: 0x6cde1620, 0x196db: 0x6d3b2a20,\n\t0x196dc: 0x6ca9c820, 0x196dd: 0x6c4f1820, 0x196de: 0x6d21b620, 0x196df: 0x6d3db420,\n\t0x196e0: 0x6d205c20, 0x196e1: 0x6c86fc20, 0x196e2: 0x6c5e2a20, 0x196e3: 0x6cf73e20,\n\t0x196e4: 0x6cfb0020, 0x196e5: 0x6c155820, 0x196e6: 0x6c889420,\n\t0x196e8: 0x6cd7be20, 0x196e9: 0x6c6fce20, 0x196ea: 0x6cb42820, 0x196eb: 0x6cbffc20,\n\t0x196ec: 0x6c45d620, 0x196ed: 0x6d3ee820, 0x196ee: 0x6d20bc20,\n\t0x196f1: 0x6cc62820, 0x196f2: 0x6ca98420, 0x196f3: 0x6c99d820,\n\t0x196f4: 0x6c032820, 0x196f5: 0x6c6f9820, 0x196f7: 0x6d069620,\n\t0x196f8: 0x6cb29020, 0x196f9: 0x6c0b8a20, 0x196fa: 0x6c995420,\n\t0x196ff: 0x6d14ce20,\n\t// Block 0x65c, offset 0x19700\n\t0x19700: 0x6d20f620, 0x19702: 0x6cb29220, 0x19703: 0x6cc0f220,\n\t0x19704: 0x6c05f420, 0x19705: 0x6c5bae20,\n\t0x19709: 0x6c109420, 0x1970a: 0x6c985820, 0x1970b: 0x6c7e7020,\n\t0x1970c: 0x6ce8a820, 0x1970d: 0x6cf3c220, 0x1970e: 0x6c85ec20, 0x1970f: 0x6c8cea20,\n\t0x19711: 0x6c620220, 0x19712: 0x6c75bc20, 0x19713: 0x6d405620,\n\t0x19714: 0x6c349220, 0x19715: 0x6c745020, 0x19716: 0x6c277020, 0x19717: 0x6c073220,\n\t0x1971d: 0x6c7e8020, 0x1971e: 0x6c0d3e20, 0x1971f: 0x6cdbf820,\n\t0x19720: 0x6ce8c220, 0x19721: 0x6d08e220,\n\t0x19727: 0x6c350c20,\n\t0x1972a: 0x6cdc5420, 0x1972b: 0x6c0a2e20,\n\t0x1972c: 0x6ce87420, 0x1972d: 0x6ccb4a20, 0x1972e: 0x6c120020, 0x1972f: 0x6ce8e420,\n\t0x19730: 0x6c9e3620, 0x19731: 0x6c6c5220, 0x19732: 0x6c93b020,\n\t0x19735: 0x6d2e8020, 0x19736: 0x6c08f620, 0x19737: 0x6c60ac20,\n\t0x19738: 0x6d2b7420, 0x19739: 0x6d07d620, 0x1973a: 0x6c86a020,\n\t0x1973d: 0x6cdc8220, 0x1973e: 0x6d1dc220, 0x1973f: 0x6cd57620,\n\t// Block 0x65d, offset 0x19740\n\t0x19742: 0x6c358620,\n\t0x19747: 0x6cbf8620,\n\t0x19748: 0x6c958020, 0x19749: 0x6d322220, 0x1974a: 0x6cea4620, 0x1974b: 0x6c46fe20,\n\t0x1974c: 0x6d223c20, 0x1974d: 0x6c82be20, 0x1974e: 0x6c0eee20, 0x1974f: 0x6ca56e20,\n\t0x19750: 0x6cb12020, 0x19751: 0x6c890e20, 0x19752: 0x6ce17a20, 0x19753: 0x6c883820,\n\t0x19754: 0x6cf16220, 0x19755: 0x6c291020, 0x19756: 0x6c87be20, 0x19757: 0x6ce65e20,\n\t0x19758: 0x6cec1820, 0x19759: 0x6d390220, 0x1975a: 0x6c426620, 0x1975b: 0x6d03d220,\n\t0x1975c: 0x6c021420, 0x1975d: 0x6c393820, 0x1975e: 0x6caf0e20, 0x1975f: 0x6c0eda20,\n\t0x19760: 0x6ceb0620, 0x19761: 0x6cd4d020, 0x19762: 0x6d14e420, 0x19763: 0x6c0ef020,\n\t0x19764: 0x6cbcb820, 0x19765: 0x6ce80e20, 0x19766: 0x6c45e820, 0x19767: 0x6ce74820,\n\t0x19768: 0x6c4e1220, 0x19769: 0x6c1a0820, 0x1976a: 0x6c6ace20, 0x1976b: 0x6c593a20,\n\t0x1976c: 0x6d042c20, 0x1976d: 0x6c2d6220, 0x1976e: 0x6c146a20, 0x1976f: 0x6c308020,\n\t0x19770: 0x6caffc20, 0x19771: 0x6cc86a20, 0x19772: 0x6c8b2220, 0x19773: 0x6cd14020,\n\t0x19774: 0x6cab8420, 0x19775: 0x6c2c8020, 0x19776: 0x6d217020, 0x19777: 0x6c200220,\n\t0x19778: 0x6cc6a220, 0x19779: 0x6c774820, 0x1977a: 0x6ce12420, 0x1977b: 0x6c23b620,\n\t0x1977c: 0x6cb18220, 0x1977d: 0x6c209820, 0x1977e: 0x6c92ce20, 0x1977f: 0x6ce79020,\n\t// Block 0x65e, offset 0x19780\n\t0x19780: 0x6d336620, 0x19781: 0x6c86a420, 0x19782: 0x6cc9a020, 0x19783: 0x6cac4420,\n\t0x19784: 0x6cd82e20, 0x19786: 0x6c291220, 0x19787: 0x6c55de20,\n\t0x19788: 0x6d190c20, 0x19789: 0x6cfd3220, 0x1978a: 0x6d028020, 0x1978b: 0x6c958820,\n\t0x1978c: 0x6c8f5e20, 0x1978e: 0x6cdfea20, 0x1978f: 0x6c422e20,\n\t0x19791: 0x6ce01c20,\n\t0x19795: 0x6d1ef020, 0x19796: 0x6ca3e020,\n\t0x19798: 0x6c429a20, 0x19799: 0x6c759820, 0x1979a: 0x6c1bfe20, 0x1979b: 0x6c464020,\n\t0x1979c: 0x6cecfa20, 0x1979d: 0x6c85ee20, 0x1979e: 0x6c8e5420, 0x1979f: 0x6c8b0a20,\n\t0x197a0: 0x6cf9c420, 0x197a1: 0x6c06ac20, 0x197a2: 0x6c018a20, 0x197a3: 0x6d237220,\n\t0x197a4: 0x6c713220, 0x197a5: 0x6cc75820, 0x197a6: 0x6d0a3420, 0x197a7: 0x6d3e7a20,\n\t0x197a8: 0x6c25ee20, 0x197a9: 0x6c120620, 0x197aa: 0x6d2baa20, 0x197ab: 0x6d1dc420,\n\t0x197ac: 0x6c407420, 0x197ad: 0x6cc88a20, 0x197af: 0x6cf7cc20,\n\t0x197b0: 0x6cd5e620, 0x197b1: 0x6c68c020, 0x197b2: 0x6c68c220, 0x197b3: 0x6d057020,\n\t0x197b4: 0x6d2f2620, 0x197b7: 0x6cd71220,\n\t0x197b8: 0x6c18a820, 0x197b9: 0x6c390820, 0x197ba: 0x6c5ff820, 0x197bb: 0x6d33a820,\n\t0x197bd: 0x6c480420, 0x197be: 0x6cf4d620,\n\t// Block 0x65f, offset 0x197c0\n\t0x197c0: 0x6cbcae20, 0x197c1: 0x6cd5bc20, 0x197c2: 0x6c4d1420, 0x197c3: 0x6ceb0820,\n\t0x197c4: 0x6c319020, 0x197c5: 0x6d3f0220, 0x197c6: 0x6cc46e20, 0x197c7: 0x6ca27820,\n\t0x197c8: 0x6c3fd020, 0x197c9: 0x6c8cca20, 0x197ca: 0x6c601e20, 0x197cb: 0x6d04ce20,\n\t0x197cc: 0x6d084c20, 0x197cd: 0x6ca37820, 0x197ce: 0x6d0aee20, 0x197cf: 0x6c6be020,\n\t0x197d0: 0x6c85f020, 0x197d1: 0x6c269c20, 0x197d2: 0x6cc7a020, 0x197d3: 0x6d24ee20,\n\t0x197d4: 0x6c939c20, 0x197d5: 0x6cd06220, 0x197d6: 0x6c851820, 0x197d7: 0x6c89bc20,\n\t0x197d8: 0x6c450e20, 0x197d9: 0x6d033820, 0x197da: 0x6d004420, 0x197db: 0x6cbdd820,\n\t0x197dc: 0x6cbcc220, 0x197dd: 0x6c182020, 0x197de: 0x6d1f3c20, 0x197df: 0x6c109a20,\n\t0x197e0: 0x6c7bc220, 0x197e1: 0x6cc3be20, 0x197e2: 0x6c00aa20, 0x197e3: 0x6cbd3420,\n\t0x197e4: 0x6cbac020, 0x197e5: 0x6c1f5220, 0x197e6: 0x6cae1e20, 0x197e7: 0x6c7e0620,\n\t0x197e8: 0x6d13fa20, 0x197e9: 0x6c48ce20, 0x197ea: 0x6cd14220, 0x197eb: 0x6cb0fa20,\n\t0x197ed: 0x6d393820, 0x197ee: 0x6c59de20, 0x197ef: 0x6c5ad620,\n\t0x197f0: 0x6c557e20, 0x197f1: 0x6c074220,\n\t0x197f4: 0x6d2bec20, 0x197f5: 0x6c624620, 0x197f6: 0x6c47c220, 0x197f7: 0x6cf6a420,\n\t0x197f8: 0x6c431620, 0x197f9: 0x6c148620, 0x197fa: 0x6c96d620, 0x197fb: 0x6d3b2020,\n\t0x197fc: 0x6ce9ea20, 0x197fd: 0x6d3ca020, 0x197fe: 0x6cface20, 0x197ff: 0x6c80de20,\n\t// Block 0x660, offset 0x19800\n\t0x19803: 0x6d36e820,\n\t0x19804: 0x6c00cc20, 0x19805: 0x6cfc2e20, 0x19806: 0x6c4c3c20, 0x19807: 0x6cf7a220,\n\t0x19809: 0x6ce9f020, 0x1980a: 0x6c11de20, 0x1980b: 0x6ccb0420,\n\t0x1980c: 0x6cfaea20, 0x1980d: 0x6c6c0e20, 0x1980e: 0x6c3bfa20, 0x1980f: 0x6cc45a20,\n\t0x19811: 0x6d123a20, 0x19812: 0x6c29fa20, 0x19813: 0x6c63f420,\n\t0x19814: 0x6c82fc20, 0x19815: 0x6d0d0220, 0x19816: 0x6c918e20, 0x19817: 0x6ce9d620,\n\t0x19818: 0x6d1cd220, 0x19819: 0x6cb0de20, 0x1981a: 0x6c964a20, 0x1981b: 0x6c87a420,\n\t0x1981c: 0x6c0d1220, 0x1981e: 0x6c995620, 0x1981f: 0x6c040e20,\n\t0x19820: 0x6c5a6a20, 0x19822: 0x6d121220, 0x19823: 0x6c50a420,\n\t0x19824: 0x6c218420, 0x19825: 0x6c516420, 0x19826: 0x6ca95620, 0x19827: 0x6c1e0220,\n\t0x19828: 0x6c874620, 0x19829: 0x6ce19420, 0x1982a: 0x6c585a20, 0x1982b: 0x6c095420,\n\t0x1982c: 0x6c033420, 0x1982d: 0x6c181020, 0x1982e: 0x6d104620, 0x1982f: 0x6c269e20,\n\t0x19830: 0x6c024420, 0x19831: 0x6d091020, 0x19833: 0x6d3e5220,\n\t0x19834: 0x6c265a20, 0x19835: 0x6cc4ce20, 0x19836: 0x6c053820, 0x19837: 0x6c25f020,\n\t0x19838: 0x6ced4e20, 0x19839: 0x6cdebe20, 0x1983a: 0x6c05dc20, 0x1983b: 0x6c417a20,\n\t0x1983c: 0x6d0c7620, 0x1983d: 0x6cf5a620, 0x1983e: 0x6d3ad420, 0x1983f: 0x6d0b4e20,\n\t// Block 0x661, offset 0x19840\n\t0x19840: 0x6c393a20, 0x19841: 0x6d203c20, 0x19842: 0x6c012820, 0x19843: 0x6ce9a420,\n\t0x19844: 0x6c9b2020, 0x19845: 0x6ccf5c20, 0x19846: 0x6c6d2e20, 0x19847: 0x6c47ce20,\n\t0x19848: 0x6c627820, 0x19849: 0x6cbc0020, 0x1984a: 0x6c695820, 0x1984b: 0x6d0d0420,\n\t0x1984c: 0x6cf92e20, 0x1984d: 0x6c772020, 0x1984e: 0x6c9e0220, 0x1984f: 0x6d086a20,\n\t0x19850: 0x6cccc420, 0x19851: 0x6cf2d820, 0x19852: 0x6cb8b420, 0x19853: 0x6c58f620,\n\t0x19854: 0x6cc5d020, 0x19855: 0x6d322420, 0x19856: 0x6ce45c20, 0x19857: 0x6c740020,\n\t0x19858: 0x6d008620, 0x19859: 0x6cb75820, 0x1985a: 0x6c01f820, 0x1985b: 0x6c9a8220,\n\t0x1985c: 0x6c476820, 0x1985e: 0x6ce1b820, 0x1985f: 0x6c389220,\n\t0x19860: 0x6c722c20, 0x19861: 0x6c162820, 0x19862: 0x6cd74c20, 0x19863: 0x6c096820,\n\t0x19864: 0x6c996220, 0x19865: 0x6cd77820, 0x19866: 0x6c477220, 0x19867: 0x6c53a420,\n\t0x19868: 0x6c579620, 0x19869: 0x6c95fe20, 0x1986a: 0x6c4f7420, 0x1986b: 0x6c63b820,\n\t0x1986c: 0x6cc2e220, 0x1986d: 0x6c40f420, 0x1986e: 0x6c599020, 0x1986f: 0x6c103c20,\n\t0x19870: 0x6c478e20, 0x19871: 0x6c3c4e20, 0x19872: 0x6ca28820, 0x19873: 0x6c009c20,\n\t0x19874: 0x6d1cee20, 0x19875: 0x6cd75020, 0x19876: 0x6c89be20, 0x19877: 0x6c6ad020,\n\t0x19878: 0x6c1c2220, 0x19879: 0x6c6ad220, 0x1987a: 0x6c1d7020, 0x1987b: 0x6cb2e820,\n\t0x1987c: 0x6c186a20, 0x1987d: 0x6d0c9a20, 0x1987e: 0x6c321c20, 0x1987f: 0x6c2c5a20,\n\t// Block 0x662, offset 0x19880\n\t0x19881: 0x6c89c220, 0x19882: 0x6cfcd220, 0x19883: 0x6c0c0420,\n\t0x19884: 0x6d042e20, 0x19885: 0x6c9bda20, 0x19886: 0x6d130220, 0x19887: 0x6c9d5e20,\n\t0x19888: 0x6cb7a020, 0x19889: 0x6cb7a220, 0x1988a: 0x6cf30620, 0x1988b: 0x6d01dc20,\n\t0x1988c: 0x6d239820, 0x1988d: 0x6cb87020, 0x1988e: 0x6c1a2820, 0x1988f: 0x6d11c220,\n\t0x19890: 0x6d1bd420, 0x19891: 0x6d0fd420, 0x19892: 0x6c606820, 0x19893: 0x6d3fa220,\n\t0x19894: 0x6d07b220, 0x19895: 0x6c9f6e20, 0x19896: 0x6c907620, 0x19897: 0x6c766e20,\n\t0x19898: 0x6d11ca20, 0x19899: 0x6d0dcc20, 0x1989a: 0x6cdcfa20, 0x1989b: 0x6c4b6c20,\n\t0x1989c: 0x6c5a7a20, 0x1989d: 0x6d1c8e20, 0x1989e: 0x6cd14420, 0x1989f: 0x6c140220,\n\t0x198a0: 0x6c883c20, 0x198a2: 0x6d082420, 0x198a3: 0x6c200e20,\n\t0x198a4: 0x6c184220, 0x198a5: 0x6ca6ca20, 0x198a6: 0x6cc27820, 0x198a7: 0x6c9e7e20,\n\t0x198a8: 0x6c5dfe20, 0x198a9: 0x6d21a420, 0x198aa: 0x6d2e1620, 0x198ab: 0x6c55c820,\n\t0x198ac: 0x6c136020, 0x198ad: 0x6c0c2c20, 0x198ae: 0x6cb9d020, 0x198af: 0x6cf6ee20,\n\t0x198b0: 0x6c67c220, 0x198b1: 0x6c79c620, 0x198b2: 0x6c970220, 0x198b3: 0x6c98a220,\n\t0x198b4: 0x6d2e2220, 0x198b5: 0x6c0b5c20, 0x198b6: 0x6c5f6c20, 0x198b7: 0x6c74d820,\n\t0x198b8: 0x6ca45820, 0x198b9: 0x6c0a9020, 0x198ba: 0x6cd3f420, 0x198bb: 0x6cd7ac20,\n\t0x198bc: 0x6ca18820, 0x198bd: 0x6c8b6420, 0x198be: 0x6c9f0820, 0x198bf: 0x6ca19420,\n\t// Block 0x663, offset 0x198c0\n\t0x198c0: 0x6cf74820, 0x198c1: 0x6c156820, 0x198c2: 0x6cc21620, 0x198c3: 0x6c69e620,\n\t0x198c4: 0x6c5e5a20, 0x198c5: 0x6cfb1a20, 0x198c6: 0x6d068820, 0x198c7: 0x6ca98820,\n\t0x198c8: 0x6ce74020, 0x198c9: 0x6c542220, 0x198ca: 0x6d240e20,\n\t0x198cc: 0x6c1ce220, 0x198cd: 0x6c0fbc20, 0x198ce: 0x6d415820, 0x198cf: 0x6c2dba20,\n\t0x198d0: 0x6d3cfa20, 0x198d1: 0x6c5ea620, 0x198d2: 0x6cb86220,\n\t0x198d4: 0x6d043020, 0x198d5: 0x6c5c0020, 0x198d6: 0x6cd23420, 0x198d7: 0x6c7a1e20,\n\t0x198d9: 0x6c32f220, 0x198da: 0x6d10da20, 0x198db: 0x6d20da20,\n\t0x198dc: 0x6c056420, 0x198dd: 0x6c6a9220, 0x198de: 0x6d30e820, 0x198df: 0x6c634620,\n\t0x198e0: 0x6cd2c820, 0x198e1: 0x6c2bea20, 0x198e2: 0x6c302a20, 0x198e3: 0x6c223a20,\n\t0x198e4: 0x6c3fd220, 0x198e5: 0x6c9f4020, 0x198e6: 0x6d314020, 0x198e7: 0x6d31d020,\n\t0x198e9: 0x6d0e6420, 0x198ea: 0x6cbc2020, 0x198eb: 0x6c4f4e20,\n\t0x198ec: 0x6c45ea20, 0x198ed: 0x6cbb6e20, 0x198ee: 0x6c94a220, 0x198ef: 0x6c48f620,\n\t0x198f0: 0x6c7e7620, 0x198f1: 0x6cc8ce20, 0x198f2: 0x6c383420, 0x198f3: 0x6c260a20,\n\t0x198f4: 0x6d0c9c20, 0x198f5: 0x6c458a20, 0x198f6: 0x6c6ad420, 0x198f7: 0x6c48d020,\n\t0x198f8: 0x6c4c7020, 0x198f9: 0x6cdd7c20, 0x198fa: 0x6cf2ba20, 0x198fb: 0x6d335220,\n\t0x198fc: 0x6ca84220, 0x198fd: 0x6c2e2c20, 0x198fe: 0x6c7f3c20, 0x198ff: 0x6cde6420,\n\t// Block 0x664, offset 0x19900\n\t0x19900: 0x6c254620, 0x19901: 0x6d0af420, 0x19902: 0x6c4bd020,\n\t0x19905: 0x6c2b3420, 0x19907: 0x6c9dc820,\n\t0x19908: 0x6c6a2a20, 0x19909: 0x6c9f7020, 0x1990a: 0x6c71ca20, 0x1990b: 0x6d217420,\n\t0x1990c: 0x6d318020, 0x1990d: 0x6d2fc820, 0x1990e: 0x6d2cd220, 0x1990f: 0x6d038820,\n\t0x19911: 0x6c049420, 0x19912: 0x6c516620, 0x19913: 0x6c46d220,\n\t0x19914: 0x6c538220, 0x19915: 0x6c816e20, 0x19916: 0x6cf51620, 0x19917: 0x6c0e8c20,\n\t0x19918: 0x6c795420, 0x19919: 0x6c92d420, 0x1991a: 0x6c246420, 0x1991b: 0x6c885020,\n\t0x1991c: 0x6d141820, 0x1991d: 0x6cbc6020, 0x1991e: 0x6cd53820,\n\t0x19920: 0x6d08b220, 0x19921: 0x6c6c6220, 0x19922: 0x6cbd4220, 0x19923: 0x6c5b7020,\n\t0x19924: 0x6cdb3620, 0x19925: 0x6c207c20, 0x19926: 0x6c33b420, 0x19927: 0x6c8fb220,\n\t0x19929: 0x6ca4c820, 0x1992a: 0x6ce02220, 0x1992b: 0x6c285220,\n\t0x1992c: 0x6cf03e20, 0x1992d: 0x6c41f220, 0x1992e: 0x6c26c620, 0x1992f: 0x6c86d420,\n\t0x19930: 0x6c10de20, 0x19931: 0x6cfd3e20, 0x19932: 0x6cac8c20, 0x19933: 0x6c7eb620,\n\t0x19934: 0x6d39ec20, 0x19935: 0x6ca7c420, 0x19936: 0x6c580220, 0x19937: 0x6d1cce20,\n\t0x19938: 0x6cfd4620, 0x19939: 0x6c809020, 0x1993a: 0x6ca0a020, 0x1993b: 0x6c03e220,\n\t0x1993d: 0x6c4adc20, 0x1993e: 0x6c08c620, 0x1993f: 0x6c3d5020,\n\t// Block 0x665, offset 0x19940\n\t0x19940: 0x6c5da820, 0x19941: 0x6d173c20, 0x19942: 0x6c8f2c20,\n\t0x19944: 0x6d19cc20, 0x19945: 0x6c735c20, 0x19946: 0x6c5d7420, 0x19947: 0x6c1a0a20,\n\t0x19948: 0x6c311c20, 0x19949: 0x6c356a20, 0x1994b: 0x6d0da620,\n\t0x1994c: 0x6d3c9420, 0x1994d: 0x6d2cce20, 0x1994e: 0x6cb70420, 0x1994f: 0x6d216220,\n\t0x19950: 0x6cc37620, 0x19951: 0x6c5d7a20, 0x19952: 0x6ca84420, 0x19953: 0x6c59e220,\n\t0x19954: 0x6c71cc20, 0x19955: 0x6ccf6820,\n\t0x19958: 0x6caebe20, 0x19959: 0x6ca01820, 0x1995a: 0x6c129220, 0x1995b: 0x6c90ba20,\n\t0x1995c: 0x6c843e20, 0x1995d: 0x6c205e20, 0x1995f: 0x6c24f020,\n\t0x19960: 0x6ccdc820, 0x19961: 0x6c280a20, 0x19962: 0x6cb68220,\n\t0x19964: 0x6c7f7a20, 0x19965: 0x6c8de620, 0x19966: 0x6c8a6220, 0x19967: 0x6cc62220,\n\t0x19968: 0x6d20c820, 0x19969: 0x6d16ca20, 0x1996a: 0x6c2df820, 0x1996b: 0x6cb6dc20,\n\t0x1996c: 0x6d147820, 0x1996d: 0x6ca6f420, 0x1996e: 0x6c3d5220, 0x1996f: 0x6c657420,\n\t0x19970: 0x6d0b1c20, 0x19971: 0x6c398c20, 0x19972: 0x6cc8c420, 0x19973: 0x6cfa8c20,\n\t0x19976: 0x6c096a20, 0x19977: 0x6cd25e20,\n\t0x19978: 0x6cb38020, 0x19979: 0x6ca6fc20, 0x1997a: 0x6d35f620, 0x1997b: 0x6ce22020,\n\t0x1997c: 0x6ce4f020, 0x1997d: 0x6ce4f220, 0x1997e: 0x6cc81620, 0x1997f: 0x6d176a20,\n\t// Block 0x666, offset 0x19980\n\t0x19980: 0x6c8b0420, 0x19981: 0x6c01bc20, 0x19982: 0x6c511020, 0x19983: 0x6cbf1620,\n\t0x19984: 0x6c85f420, 0x19985: 0x6c4a5c20, 0x19986: 0x6d3f4a20, 0x19987: 0x6cdaaa20,\n\t0x19988: 0x6d261020, 0x19989: 0x6d0ba220, 0x1998a: 0x6c13dc20, 0x1998b: 0x6ced2420,\n\t0x1998c: 0x6c72f420, 0x1998d: 0x6ce6cc20, 0x1998e: 0x6d1fd020, 0x1998f: 0x6c5bc620,\n\t0x19990: 0x6c659c20, 0x19991: 0x6cc89e20, 0x19992: 0x6c986420, 0x19993: 0x6c71b820,\n\t0x19994: 0x6d3e5620, 0x19995: 0x6c70a820, 0x19996: 0x6c013a20, 0x19997: 0x6cdc5020,\n\t0x19998: 0x6c7f1620, 0x19999: 0x6c5d3020, 0x1999a: 0x6cc35e20, 0x1999b: 0x6c167220,\n\t0x1999c: 0x6c34fa20, 0x1999d: 0x6c798020, 0x1999e: 0x6ca55020, 0x1999f: 0x6c11d220,\n\t0x199a0: 0x6ce35620, 0x199a1: 0x6d064c20, 0x199a2: 0x6c701020, 0x199a3: 0x6c59e420,\n\t0x199a4: 0x6cb7b820, 0x199a5: 0x6c6b0e20, 0x199a6: 0x6c98f220, 0x199a7: 0x6d0c2020,\n\t0x199a9: 0x6d354820, 0x199aa: 0x6ce9b020,\n\t0x199ac: 0x6c00c220, 0x199ad: 0x6cad0a20, 0x199ae: 0x6c125a20, 0x199af: 0x6ce12820,\n\t0x199b0: 0x6c372220, 0x199b1: 0x6c5d3c20, 0x199b2: 0x6cb63e20, 0x199b3: 0x6c1ea620,\n\t0x199b4: 0x6cdd9020, 0x199b5: 0x6d3d8820, 0x199b6: 0x6caa2620, 0x199b7: 0x6ce8f220,\n\t0x199b8: 0x6cd01a20, 0x199b9: 0x6c90f820, 0x199ba: 0x6c0c2020, 0x199bb: 0x6c844020,\n\t0x199bc: 0x6c977c20, 0x199bd: 0x6d02f020, 0x199be: 0x6c133c20, 0x199bf: 0x6c5a0a20,\n\t// Block 0x667, offset 0x199c0\n\t0x199c0: 0x6c9a6c20, 0x199c1: 0x6c42e620, 0x199c2: 0x6c887620, 0x199c3: 0x6c2a3e20,\n\t0x199c4: 0x6d2e2420, 0x199c5: 0x6d3eaa20,\n\t0x199c8: 0x6d375620, 0x199c9: 0x6c03d020, 0x199ca: 0x6c258a20, 0x199cb: 0x6cbfe420,\n\t0x199cd: 0x6c8fea20, 0x199ce: 0x6cfb0a20, 0x199cf: 0x6c3afa20,\n\t0x199d0: 0x6c4cac20, 0x199d1: 0x6c19b820, 0x199d2: 0x6c6fda20, 0x199d3: 0x6c35f620,\n\t0x199d4: 0x6c1cb420, 0x199d5: 0x6d269220, 0x199d6: 0x6c531620, 0x199d7: 0x6d119e20,\n\t0x199d8: 0x6d0ae220, 0x199d9: 0x6d10e620, 0x199da: 0x6ce74420, 0x199db: 0x6d2cc020,\n\t0x199dc: 0x6d204020, 0x199dd: 0x6d095620, 0x199de: 0x6d11aa20, 0x199df: 0x6c78a820,\n\t0x199e0: 0x6c591620, 0x199e1: 0x6c80cc20, 0x199e2: 0x6d26ba20, 0x199e3: 0x6c18ca20,\n\t0x199e6: 0x6cd0b220,\n\t0x199e8: 0x6ca90e20, 0x199e9: 0x6ca00a20, 0x199ea: 0x6c52ba20, 0x199eb: 0x6c205820,\n\t0x199ec: 0x6d27fe20, 0x199ed: 0x6d07be20, 0x199ee: 0x6c6d4420, 0x199ef: 0x6d3d9c20,\n\t0x199f0: 0x6d209c20, 0x199f1: 0x6cdfbc20, 0x199f2: 0x6c775420, 0x199f3: 0x6cbf6420,\n\t0x199f5: 0x6c1a4c20, 0x199f6: 0x6c6f8820, 0x199f7: 0x6d097620,\n\t0x199f8: 0x6d32fa20, 0x199f9: 0x6c1ce420, 0x199fa: 0x6cac4a20, 0x199fb: 0x6cbc6620,\n\t0x199fd: 0x6cc1e620, 0x199fe: 0x6c7fd620, 0x199ff: 0x6d190e20,\n\t// Block 0x668, offset 0x19a00\n\t0x19a00: 0x6cc6de20, 0x19a01: 0x6cd84e20, 0x19a02: 0x6cb89c20, 0x19a03: 0x6cd89220,\n\t0x19a05: 0x6c380420, 0x19a07: 0x6c9b1020,\n\t0x19a08: 0x6c578e20, 0x19a0b: 0x6c4d6620,\n\t0x19a0c: 0x6cbc4420, 0x19a0d: 0x6c1f4620, 0x19a0e: 0x6cc3d420, 0x19a0f: 0x6c334e20,\n\t0x19a10: 0x6c863820, 0x19a11: 0x6c03b820, 0x19a12: 0x6c6c0420, 0x19a13: 0x6d05ee20,\n\t0x19a14: 0x6c963620, 0x19a16: 0x6d27de20, 0x19a17: 0x6d37ae20,\n\t0x19a18: 0x6c568220, 0x19a19: 0x6d1ad220, 0x19a1b: 0x6d351020,\n\t0x19a1c: 0x6cb9fa20, 0x19a1e: 0x6c419420, 0x19a1f: 0x6c667c20,\n\t0x19a20: 0x6d3ae220, 0x19a21: 0x6d3ae420, 0x19a22: 0x6c7a7820, 0x19a23: 0x6ca81a20,\n\t0x19a24: 0x6cc8ca20, 0x19a25: 0x6d2ac220, 0x19a26: 0x6c020820, 0x19a27: 0x6d363820,\n\t0x19a28: 0x6c461a20, 0x19a29: 0x6d17b220, 0x19a2a: 0x6c1ab020, 0x19a2b: 0x6c5ed620,\n\t0x19a2c: 0x6d39a620, 0x19a2d: 0x6c81b220, 0x19a2e: 0x6cc5ee20, 0x19a2f: 0x6cc67620,\n\t0x19a30: 0x6d32c620, 0x19a31: 0x6ca34220, 0x19a32: 0x6c12ec20,\n\t0x19a35: 0x6d151e20, 0x19a36: 0x6c746820, 0x19a37: 0x6c0cee20,\n\t0x19a38: 0x6c1a1e20, 0x19a39: 0x6c75ce20, 0x19a3a: 0x6c312620, 0x19a3b: 0x6cefe420,\n\t0x19a3c: 0x6d17fa20, 0x19a3d: 0x6d306020, 0x19a3e: 0x6d0cae20,\n\t// Block 0x669, offset 0x19a40\n\t0x19a40: 0x6cca0220, 0x19a41: 0x6c950220, 0x19a42: 0x6cb2be20, 0x19a43: 0x6d2f9020,\n\t0x19a44: 0x6c4e2020, 0x19a45: 0x6d239a20, 0x19a46: 0x6c278220, 0x19a47: 0x6d2fca20,\n\t0x19a48: 0x6c3a3e20, 0x19a49: 0x6ccc6620, 0x19a4a: 0x6c8d3820, 0x19a4b: 0x6cde7a20,\n\t0x19a4c: 0x6cc12220, 0x19a4d: 0x6c986e20, 0x19a4e: 0x6d132c20, 0x19a4f: 0x6c05d220,\n\t0x19a50: 0x6c4b6e20, 0x19a51: 0x6c489e20, 0x19a52: 0x6ca43620, 0x19a53: 0x6c442420,\n\t0x19a55: 0x6cd28420, 0x19a56: 0x6c782820, 0x19a57: 0x6cdd9220,\n\t0x19a58: 0x6c225c20, 0x19a59: 0x6d394620, 0x19a5a: 0x6cdf3820, 0x19a5b: 0x6c7b3420,\n\t0x19a5c: 0x6cbe2420, 0x19a5d: 0x6d05d820, 0x19a5e: 0x6c322820, 0x19a5f: 0x6c131220,\n\t0x19a60: 0x6c58da20, 0x19a61: 0x6c234420, 0x19a62: 0x6cc9de20, 0x19a63: 0x6d336020,\n\t0x19a64: 0x6cb9be20, 0x19a65: 0x6c6c5420, 0x19a66: 0x6d3fb420, 0x19a67: 0x6cf00020,\n\t0x19a6a: 0x6cf8de20, 0x19a6b: 0x6ca36c20,\n\t0x19a6c: 0x6cb45420, 0x19a6d: 0x6cd9e020, 0x19a6e: 0x6c729420, 0x19a6f: 0x6d319620,\n\t0x19a70: 0x6cce8620, 0x19a71: 0x6ce1e820, 0x19a72: 0x6c049c20, 0x19a73: 0x6cdea020,\n\t0x19a74: 0x6cba7c20, 0x19a75: 0x6cf23a20, 0x19a76: 0x6cc6ae20, 0x19a77: 0x6c962820,\n\t0x19a78: 0x6c55ca20, 0x19a79: 0x6cda2e20, 0x19a7a: 0x6d37cc20, 0x19a7b: 0x6cb46020,\n\t0x19a7c: 0x6c9ef620, 0x19a7d: 0x6c6c6420, 0x19a7e: 0x6cce8a20, 0x19a7f: 0x6c9d8e20,\n\t// Block 0x66a, offset 0x19a80\n\t0x19a80: 0x6cd61c20, 0x19a81: 0x6c8d7020, 0x19a82: 0x6c82de20, 0x19a83: 0x6c67c420,\n\t0x19a84: 0x6c838a20, 0x19a85: 0x6d370e20, 0x19a86: 0x6c2e0020,\n\t0x19a88: 0x6cca2e20, 0x19a89: 0x6c473e20, 0x19a8a: 0x6c397220, 0x19a8b: 0x6c9ab220,\n\t0x19a8c: 0x6cdc9e20, 0x19a8d: 0x6c65f620, 0x19a8e: 0x6ce15020, 0x19a8f: 0x6d025e20,\n\t0x19a90: 0x6c7a6a20, 0x19a91: 0x6cf3fe20, 0x19a92: 0x6c38d220, 0x19a93: 0x6c963820,\n\t0x19a94: 0x6c117820, 0x19a95: 0x6c136620, 0x19a96: 0x6c8d7a20, 0x19a97: 0x6d142620,\n\t0x19a98: 0x6c23be20, 0x19a99: 0x6d27ce20, 0x19a9a: 0x6c9b7420, 0x19a9b: 0x6d245020,\n\t0x19a9c: 0x6d374220, 0x19a9d: 0x6d162020, 0x19a9e: 0x6c285620, 0x19a9f: 0x6c5e2c20,\n\t0x19aa0: 0x6cef5a20, 0x19aa1: 0x6ce03220, 0x19aa2: 0x6ccb7e20, 0x19aa3: 0x6d024420,\n\t0x19aa4: 0x6cda3620, 0x19aa5: 0x6cd97620, 0x19aa6: 0x6cb94c20, 0x19aa7: 0x6c8eda20,\n\t0x19aa8: 0x6d194620, 0x19aaa: 0x6c835a20, 0x19aab: 0x6c84aa20,\n\t0x19aac: 0x6c3af420, 0x19aad: 0x6c8b6a20, 0x19aae: 0x6c8c8820, 0x19aaf: 0x6cfd4820,\n\t0x19ab0: 0x6d002c20, 0x19ab1: 0x6cab6420, 0x19ab2: 0x6c9cbc20, 0x19ab3: 0x6cfb1220,\n\t0x19ab4: 0x6cc4f820, 0x19ab5: 0x6d3c0220, 0x19ab6: 0x6cd6be20, 0x19ab7: 0x6d0d1e20,\n\t0x19ab8: 0x6c0be020, 0x19ab9: 0x6c8df020, 0x19aba: 0x6c531a20, 0x19abb: 0x6cb5a620,\n\t0x19abc: 0x6c8a9620, 0x19abd: 0x6c04ca20, 0x19abe: 0x6c097e20, 0x19abf: 0x6c554820,\n\t// Block 0x66b, offset 0x19ac0\n\t0x19ac0: 0x6c554a20, 0x19ac2: 0x6c12f220, 0x19ac3: 0x6cae1c20,\n\t0x19ac4: 0x6cbf2c20, 0x19ac5: 0x6c9ffe20, 0x19ac6: 0x6c700220, 0x19ac7: 0x6c10a220,\n\t0x19ac8: 0x6c9a1420, 0x19ac9: 0x6cca1e20, 0x19aca: 0x6cf0a820,\n\t0x19acd: 0x6c841e20, 0x19ace: 0x6cc36220,\n\t0x19ad0: 0x6c5cfa20, 0x19ad1: 0x6cfdf220, 0x19ad3: 0x6cd3c620,\n\t0x19ad4: 0x6d1c9020, 0x19ad6: 0x6ca43820, 0x19ad7: 0x6c59f220,\n\t0x19ad8: 0x6c701a20, 0x19ad9: 0x6d0c2620, 0x19adb: 0x6cc99020,\n\t0x19adc: 0x6ce96220, 0x19add: 0x6d022e20, 0x19ade: 0x6d309c20, 0x19adf: 0x6c9ada20,\n\t0x19ae0: 0x6cf8f420, 0x19ae1: 0x6c978a20, 0x19ae3: 0x6c5a1820,\n\t0x19ae4: 0x6ce02420, 0x19ae5: 0x6d001420, 0x19ae6: 0x6d137220, 0x19ae7: 0x6c0a9420,\n\t0x19ae8: 0x6c955a20, 0x19ae9: 0x6c38d420, 0x19aea: 0x6c870620, 0x19aeb: 0x6c251220,\n\t0x19aec: 0x6c1fa620, 0x19aed: 0x6c2a4620, 0x19aee: 0x6c2bb620, 0x19aef: 0x6c7c1c20,\n\t0x19af0: 0x6c1ecc20, 0x19af1: 0x6cfb1420, 0x19af2: 0x6c165220, 0x19af3: 0x6c9cce20,\n\t0x19af4: 0x6cba8e20, 0x19af5: 0x6cc00820, 0x19af6: 0x6d322620,\n\t0x19afa: 0x6c568620, 0x19afb: 0x6c418c20,\n\t0x19afc: 0x6c1b9220, 0x19afd: 0x6c48f220, 0x19afe: 0x6ca27a20, 0x19aff: 0x6c0ede20,\n\t// Block 0x66c, offset 0x19b00\n\t0x19b00: 0x6c579020, 0x19b01: 0x6c44fc20, 0x19b02: 0x6d10e820, 0x19b03: 0x6c996420,\n\t0x19b04: 0x6cee0820,\n\t0x19b08: 0x6cc7a420, 0x19b09: 0x6d090820, 0x19b0a: 0x6d32b820, 0x19b0b: 0x6c9f4a20,\n\t0x19b0c: 0x6c67a420, 0x19b0e: 0x6d2e5a20, 0x19b0f: 0x6d423820,\n\t0x19b10: 0x6d26a620, 0x19b11: 0x6c8b0620, 0x19b13: 0x6d392420,\n\t0x19b14: 0x6c098020, 0x19b15: 0x6cc5f020, 0x19b16: 0x6d234e20,\n\t0x19b18: 0x6c21c020, 0x19b19: 0x6c379820, 0x19b1a: 0x6d17b420, 0x19b1b: 0x6c9cf620,\n\t0x19b1c: 0x6cbeca20, 0x19b1e: 0x6cee1e20, 0x19b1f: 0x6c621e20,\n\t0x19b20: 0x6c104020, 0x19b22: 0x6c0cae20, 0x19b23: 0x6c38a820,\n\t0x19b24: 0x6d26c820, 0x19b25: 0x6c83ee20, 0x19b26: 0x6c38aa20, 0x19b27: 0x6cc1a820,\n\t0x19b28: 0x6c3f7620, 0x19b29: 0x6c376220, 0x19b2a: 0x6c354420, 0x19b2b: 0x6d32e420,\n\t0x19b2c: 0x6ce47020, 0x19b2d: 0x6d239c20, 0x19b2e: 0x6c6d3020, 0x19b2f: 0x6cb70c20,\n\t0x19b30: 0x6c714220, 0x19b31: 0x6c7f1e20, 0x19b32: 0x6c17f020, 0x19b33: 0x6c06d020,\n\t0x19b34: 0x6ca9a820, 0x19b35: 0x6d186020, 0x19b36: 0x6d065420, 0x19b37: 0x6ca1e020,\n\t0x19b38: 0x6d0a3620, 0x19b39: 0x6c3eda20, 0x19b3b: 0x6ca8ec20,\n\t0x19b3c: 0x6ce64820, 0x19b3d: 0x6c082c20, 0x19b3e: 0x6d2c8a20, 0x19b3f: 0x6ceeae20,\n\t// Block 0x66d, offset 0x19b40\n\t0x19b40: 0x6c782a20, 0x19b41: 0x6d10b020, 0x19b42: 0x6caba420, 0x19b43: 0x6cff0820,\n\t0x19b44: 0x6c451a20, 0x19b45: 0x6ce13820, 0x19b46: 0x6c4b7620, 0x19b47: 0x6c5c3a20,\n\t0x19b48: 0x6cddfe20, 0x19b4a: 0x6d114620, 0x19b4b: 0x6c266820,\n\t0x19b4c: 0x6cb7ea20, 0x19b4d: 0x6c6cba20, 0x19b4e: 0x6c94c220, 0x19b4f: 0x6c9d9020,\n\t0x19b50: 0x6c9d9220, 0x19b51: 0x6c64fe20, 0x19b52: 0x6c92ec20, 0x19b53: 0x6c38c820,\n\t0x19b54: 0x6cab5620, 0x19b55: 0x6c9c7e20, 0x19b56: 0x6c6b6420, 0x19b57: 0x6c3f9220,\n\t0x19b58: 0x6c0d1a20, 0x19b59: 0x6c5a7c20, 0x19b5a: 0x6cda5c20, 0x19b5b: 0x6d115e20,\n\t0x19b5c: 0x6ca89620, 0x19b5d: 0x6c6c6c20, 0x19b5e: 0x6c88d620, 0x19b5f: 0x6c0faa20,\n\t0x19b60: 0x6c652420, 0x19b61: 0x6ce3ca20, 0x19b62: 0x6c8d8220, 0x19b63: 0x6d415220,\n\t0x19b64: 0x6cd20e20, 0x19b65: 0x6d1b2620, 0x19b66: 0x6c2a4820, 0x19b67: 0x6c1e0620,\n\t0x19b68: 0x6c10e220, 0x19b69: 0x6c9f1220, 0x19b6a: 0x6d0e1620, 0x19b6b: 0x6c805620,\n\t0x19b6c: 0x6c1d3420, 0x19b6d: 0x6c68b020, 0x19b6e: 0x6cd6bc20, 0x19b6f: 0x6cc2ac20,\n\t0x19b70: 0x6ca8c820, 0x19b71: 0x6c964c20, 0x19b73: 0x6cd21e20,\n\t0x19b74: 0x6c965020, 0x19b75: 0x6d3a4c20, 0x19b77: 0x6c1d6e20,\n\t0x19b78: 0x6c734e20, 0x19b79: 0x6c6f0c20, 0x19b7a: 0x6c379a20, 0x19b7b: 0x6d17b820,\n\t0x19b7c: 0x6cc8d620, 0x19b7d: 0x6c113c20, 0x19b7e: 0x6cc57a20, 0x19b7f: 0x6c3edc20,\n\t// Block 0x66e, offset 0x19b80\n\t0x19b80: 0x6c7fb820, 0x19b81: 0x6cdcaa20, 0x19b82: 0x6d20e220, 0x19b83: 0x6d1f1c20,\n\t0x19b84: 0x6c2d1820, 0x19b85: 0x6c8cf420, 0x19b86: 0x6d3aec20, 0x19b87: 0x6cde5220,\n\t0x19b88: 0x6cb29e20, 0x19b89: 0x6d2d2a20, 0x19b8a: 0x6c684c20, 0x19b8b: 0x6c20de20,\n\t0x19b8c: 0x6c10ac20, 0x19b8d: 0x6c7a0620, 0x19b8e: 0x6c25b620,\n\t0x19b90: 0x6c4e5220, 0x19b91: 0x6c4e5420, 0x19b92: 0x6ca20020, 0x19b93: 0x6c567420,\n\t0x19b94: 0x6c457220, 0x19b95: 0x6c2b2020, 0x19b96: 0x6c3e3c20, 0x19b97: 0x6d088020,\n\t0x19b98: 0x6c9c4c20, 0x19b99: 0x6c9a0420, 0x19b9a: 0x6c811e20, 0x19b9b: 0x6c481e20,\n\t0x19b9c: 0x6d2fc020, 0x19b9d: 0x6cde6620, 0x19b9e: 0x6d23a220, 0x19b9f: 0x6d402820,\n\t0x19ba0: 0x6c844820, 0x19ba1: 0x6c92d820, 0x19ba2: 0x6cf3f620, 0x19ba3: 0x6c826c20,\n\t0x19ba4: 0x6c615e20, 0x19ba5: 0x6c875220, 0x19ba6: 0x6c84d820,\n\t0x19ba8: 0x6cb30420, 0x19ba9: 0x6d101020, 0x19baa: 0x6cec2e20, 0x19bab: 0x6ceb1a20,\n\t0x19bac: 0x6cae6e20, 0x19bae: 0x6d2fb420, 0x19baf: 0x6c4b0220,\n\t0x19bb1: 0x6d061e20, 0x19bb2: 0x6ca38020, 0x19bb3: 0x6cc3e420,\n\t0x19bb4: 0x6ceff620, 0x19bb5: 0x6d32e620, 0x19bb6: 0x6c300e20, 0x19bb7: 0x6cf00820,\n\t0x19bb8: 0x6c0f6020, 0x19bba: 0x6c595820, 0x19bbb: 0x6d08c020,\n\t0x19bbc: 0x6d295620, 0x19bbd: 0x6c877220, 0x19bbe: 0x6d0d6020, 0x19bbf: 0x6c59ae20,\n\t// Block 0x66f, offset 0x19bc0\n\t0x19bc0: 0x6d095820, 0x19bc1: 0x6c554c20, 0x19bc2: 0x6c05f820, 0x19bc3: 0x6cc4c220,\n\t0x19bc4: 0x6cfeba20, 0x19bc5: 0x6cb38620, 0x19bc6: 0x6c8a9820, 0x19bc7: 0x6d388a20,\n\t0x19bc8: 0x6d17ba20, 0x19bc9: 0x6d06e220, 0x19bca: 0x6c960820, 0x19bcb: 0x6c77be20,\n\t0x19bcc: 0x6c1f5620, 0x19bce: 0x6ca35620, 0x19bcf: 0x6c4e2220,\n\t0x19bd0: 0x6c17a220, 0x19bd1: 0x6c929220, 0x19bd2: 0x6d2e0620, 0x19bd3: 0x6cde7c20,\n\t0x19bd4: 0x6c3da220, 0x19bd5: 0x6c52c820, 0x19bd6: 0x6d2ba020, 0x19bd7: 0x6cbc0620,\n\t0x19bd8: 0x6cdb5020, 0x19bd9: 0x6cb1fa20, 0x19bda: 0x6c49ba20,\n\t0x19bdc: 0x6c5cd020, 0x19bdd: 0x6c1e8020, 0x19bdf: 0x6c374420,\n\t0x19be0: 0x6c374620, 0x19be1: 0x6cc85a20, 0x19be2: 0x6cb6e220, 0x19be3: 0x6cd8ba20,\n\t0x19be4: 0x6c713620, 0x19be6: 0x6d0dbe20, 0x19be7: 0x6c058220,\n\t0x19be8: 0x6d131e20, 0x19be9: 0x6d3e6c20, 0x19bea: 0x6ca55220, 0x19beb: 0x6c20b220,\n\t0x19bec: 0x6c03c220, 0x19bed: 0x6c126c20, 0x19bee: 0x6ce42c20, 0x19bef: 0x6c4f1c20,\n\t0x19bf0: 0x6d425220, 0x19bf1: 0x6c03d420, 0x19bf2: 0x6d301420, 0x19bf3: 0x6cec2820,\n\t0x19bf4: 0x6c44c420, 0x19bf5: 0x6c098220, 0x19bf6: 0x6c37ca20, 0x19bf7: 0x6d3af820,\n\t0x19bf8: 0x6cf50220, 0x19bf9: 0x6cf19a20, 0x19bfa: 0x6d369820, 0x19bfb: 0x6d393c20,\n\t0x19bfc: 0x6c929420, 0x19bfd: 0x6cf1a020, 0x19bfe: 0x6c4bdc20, 0x19bff: 0x6cc08e20,\n\t// Block 0x670, offset 0x19c00\n\t0x19c00: 0x6c7e9420, 0x19c01: 0x6d292020, 0x19c02: 0x6cda2820, 0x19c03: 0x6c9dd420,\n\t0x19c04: 0x6c2c0620, 0x19c05: 0x6cb7ec20, 0x19c06: 0x6c129a20, 0x19c07: 0x6cb1bc20,\n\t0x19c08: 0x6c887820, 0x19c09: 0x6cd21020, 0x19c0a: 0x6c8ff620, 0x19c0b: 0x6cdad620,\n\t0x19c0c: 0x6cb73220, 0x19c0d: 0x6d25fa20, 0x19c0e: 0x6c3c9e20, 0x19c0f: 0x6d056820,\n\t0x19c10: 0x6c73f620, 0x19c11: 0x6c2c3020, 0x19c12: 0x6cb14820, 0x19c13: 0x6c494a20,\n\t0x19c14: 0x6ca98620, 0x19c15: 0x6cc5d220, 0x19c16: 0x6d321c20, 0x19c17: 0x6c412e20,\n\t0x19c18: 0x6cb08a20, 0x19c19: 0x6ce05420, 0x19c1a: 0x6c179220, 0x19c1b: 0x6c217220,\n\t0x19c1c: 0x6c508e20, 0x19c1d: 0x6d3b7220, 0x19c1e: 0x6ca0ec20, 0x19c1f: 0x6c0ce020,\n\t0x19c20: 0x6cb75e20, 0x19c21: 0x6cd34620, 0x19c22: 0x6c08ca20, 0x19c23: 0x6c740620,\n\t0x19c24: 0x6cd8a420, 0x19c26: 0x6c485220, 0x19c27: 0x6ca32a20,\n\t0x19c28: 0x6c5b4e20, 0x19c29: 0x6cf5ca20, 0x19c2a: 0x6c37c820, 0x19c2b: 0x6d04ca20,\n\t0x19c2c: 0x6ca1ca20, 0x19c2e: 0x6cf77220, 0x19c2f: 0x6d360220,\n\t0x19c30: 0x6cc8fc20, 0x19c31: 0x6c711a20, 0x19c32: 0x6c2e9420, 0x19c33: 0x6d30f420,\n\t0x19c34: 0x6cced820, 0x19c35: 0x6c9bd220, 0x19c36: 0x6c098420, 0x19c37: 0x6c4eb420,\n\t0x19c38: 0x6d210420, 0x19c39: 0x6cfcb820, 0x19c3a: 0x6cacd420, 0x19c3b: 0x6ca5a620,\n\t0x19c3c: 0x6c119820, 0x19c3d: 0x6c109c20, 0x19c3f: 0x6cb70020,\n\t// Block 0x671, offset 0x19c40\n\t0x19c40: 0x6c620820, 0x19c41: 0x6d3d6420, 0x19c42: 0x6c925e20, 0x19c43: 0x6c75c220,\n\t0x19c44: 0x6cfccc20, 0x19c45: 0x6cf62620, 0x19c46: 0x6c113220, 0x19c47: 0x6cf1e220,\n\t0x19c48: 0x6d346a20, 0x19c49: 0x6d3f5820, 0x19c4a: 0x6c7d6820, 0x19c4b: 0x6c231a20,\n\t0x19c4c: 0x6ce4f820, 0x19c4d: 0x6c1f5820, 0x19c4e: 0x6c2b3620, 0x19c4f: 0x6c218220,\n\t0x19c50: 0x6cbfb620, 0x19c51: 0x6d306220, 0x19c52: 0x6d2be220, 0x19c53: 0x6cc75420,\n\t0x19c54: 0x6c0d7c20, 0x19c55: 0x6c605c20, 0x19c56: 0x6cf65420, 0x19c57: 0x6d39b220,\n\t0x19c58: 0x6c746a20, 0x19c59: 0x6c440a20, 0x19c5a: 0x6c5eee20, 0x19c5b: 0x6c265620,\n\t0x19c5c: 0x6c187c20, 0x19c5d: 0x6cddce20, 0x19c5e: 0x6cc92820, 0x19c5f: 0x6cfdf420,\n\t0x19c60: 0x6c5a5c20, 0x19c61: 0x6cb65020, 0x19c62: 0x6d3b1820, 0x19c63: 0x6cdcf620,\n\t0x19c64: 0x6c146c20, 0x19c65: 0x6cf25a20, 0x19c66: 0x6c781a20, 0x19c67: 0x6c77c420,\n\t0x19c68: 0x6c47b820, 0x19c69: 0x6c410220, 0x19c6a: 0x6c396620, 0x19c6b: 0x6c234c20,\n\t0x19c6c: 0x6c128c20, 0x19c6d: 0x6d36bc20, 0x19c6e: 0x6c15d820, 0x19c6f: 0x6c825420,\n\t0x19c70: 0x6d04ee20, 0x19c71: 0x6d2d4820, 0x19c72: 0x6d308220, 0x19c73: 0x6d218a20,\n\t0x19c74: 0x6c4b7020, 0x19c75: 0x6c45ae20, 0x19c76: 0x6d295020, 0x19c77: 0x6c27fe20,\n\t0x19c78: 0x6c5e0020, 0x19c79: 0x6cd9e220, 0x19c7a: 0x6ce0ac20, 0x19c7b: 0x6c473020,\n\t0x19c7c: 0x6cf8e620, 0x19c7d: 0x6c978020, 0x19c7e: 0x6c346620, 0x19c7f: 0x6c02f420,\n\t// Block 0x672, offset 0x19c80\n\t0x19c80: 0x6cb0c420, 0x19c81: 0x6cf52a20, 0x19c82: 0x6c007c20, 0x19c83: 0x6c9b7620,\n\t0x19c84: 0x6cb0d220, 0x19c85: 0x6c9b7820, 0x19c86: 0x6d103a20, 0x19c87: 0x6d374420,\n\t0x19c88: 0x6c0fac20, 0x19c89: 0x6d1cc820, 0x19c8a: 0x6cef6020, 0x19c8b: 0x6cc50e20,\n\t0x19c8c: 0x6c7ffa20, 0x19c8d: 0x6d0c4620, 0x19c8e: 0x6c161220, 0x19c8f: 0x6cc33620,\n\t0x19c90: 0x6d31d820, 0x19c91: 0x6cb46a20, 0x19c93: 0x6cdf2a20,\n\t0x19c94: 0x6c3a9e20, 0x19c95: 0x6cd55620, 0x19c97: 0x6c298820,\n\t0x19c98: 0x6c25f220, 0x19c99: 0x6cdf9c20, 0x19c9a: 0x6ce49820, 0x19c9b: 0x6c1ba020,\n\t0x19c9c: 0x6cde9020, 0x19c9d: 0x6c642a20, 0x19c9e: 0x6cd75e20, 0x19c9f: 0x6c5a3220,\n\t0x19ca0: 0x6c8a6820, 0x19ca3: 0x6c185e20,\n\t0x19ca4: 0x6c6cf820, 0x19ca5: 0x6c360020, 0x19ca6: 0x6c464620, 0x19ca7: 0x6c3e6420,\n\t0x19ca8: 0x6c34f020, 0x19caa: 0x6c363e20, 0x19cab: 0x6c07f020,\n\t0x19cac: 0x6ce1ca20, 0x19cad: 0x6c2c6020, 0x19caf: 0x6c2c7020,\n\t0x19cb0: 0x6c10a620, 0x19cb1: 0x6ced3820, 0x19cb2: 0x6d2fd020, 0x19cb3: 0x6c950620,\n\t0x19cb4: 0x6cb62620, 0x19cb5: 0x6ca2a420, 0x19cb6: 0x6cba6c20,\n\t0x19cb8: 0x6d3fae20, 0x19cb9: 0x6cd9d620, 0x19cbb: 0x6d1f6220,\n\t0x19cbc: 0x6d38ac20, 0x19cbd: 0x6cdea620, 0x19cbf: 0x6cdb3c20,\n\t// Block 0x673, offset 0x19cc0\n\t0x19cc0: 0x6c10c220, 0x19cc1: 0x6cf7aa20, 0x19cc2: 0x6c67c620, 0x19cc3: 0x6c12ba20,\n\t0x19cc4: 0x6c406620, 0x19cc5: 0x6ce2b820, 0x19cc6: 0x6c185220, 0x19cc7: 0x6c407820,\n\t0x19cc8: 0x6c3ae020, 0x19cc9: 0x6cf48c20, 0x19cca: 0x6cf5ac20, 0x19ccb: 0x6d101620,\n\t0x19ccc: 0x6ca04820, 0x19ccd: 0x6cad2020, 0x19cce: 0x6c98a620, 0x19ccf: 0x6ccbba20,\n\t0x19cd0: 0x6c9bb420, 0x19cd1: 0x6c12a820, 0x19cd2: 0x6ce57220, 0x19cd3: 0x6c764820,\n\t0x19cd4: 0x6c043620, 0x19cd5: 0x6cffa620, 0x19cd6: 0x6d032620, 0x19cd7: 0x6cb76220,\n\t0x19cda: 0x6cceb020, 0x19cdb: 0x6c590a20,\n\t0x19cdc: 0x6ca96a20, 0x19cdd: 0x6cff7820, 0x19cde: 0x6c18b220, 0x19cdf: 0x6c27ce20,\n\t0x19ce0: 0x6c3c3820, 0x19ce1: 0x6d1ad420, 0x19ce2: 0x6c01fa20, 0x19ce3: 0x6cc4be20,\n\t0x19ce4: 0x6cc64420, 0x19ce5: 0x6c976020, 0x19ce6: 0x6c394c20, 0x19ce7: 0x6cc10220,\n\t0x19ce8: 0x6cd2ce20, 0x19ce9: 0x6c511820, 0x19cea: 0x6c0b9220, 0x19ceb: 0x6c276220,\n\t0x19cec: 0x6ca11420, 0x19ced: 0x6c2aca20,\n\t0x19cf0: 0x6c7ba020, 0x19cf2: 0x6c144220, 0x19cf3: 0x6c349620,\n\t0x19cf4: 0x6d1fd220, 0x19cf5: 0x6c504020, 0x19cf7: 0x6c486020,\n\t0x19cf8: 0x6d095c20, 0x19cf9: 0x6c833620, 0x19cfa: 0x6c6c9220, 0x19cfb: 0x6cb70220,\n\t0x19cfc: 0x6cc11020, 0x19cfd: 0x6cee2220, 0x19cfe: 0x6d13f620, 0x19cff: 0x6c89e620,\n\t// Block 0x674, offset 0x19d00\n\t0x19d02: 0x6d0cb020, 0x19d03: 0x6d180220,\n\t0x19d04: 0x6d1a7620, 0x19d05: 0x6cb60020, 0x19d06: 0x6d306420, 0x19d07: 0x6cf8a620,\n\t0x19d08: 0x6d180420, 0x19d09: 0x6d128620, 0x19d0a: 0x6cf3d820, 0x19d0b: 0x6d33fa20,\n\t0x19d0c: 0x6d366a20, 0x19d0d: 0x6c4e5a20, 0x19d0e: 0x6c21c820, 0x19d0f: 0x6c3d8420,\n\t0x19d10: 0x6c215220, 0x19d11: 0x6cb2b620, 0x19d12: 0x6c7afa20, 0x19d13: 0x6c1dc220,\n\t0x19d15: 0x6ceb8a20, 0x19d16: 0x6cbf4220, 0x19d17: 0x6c233020,\n\t0x19d18: 0x6c42d220, 0x19d19: 0x6c7acc20, 0x19d1a: 0x6cc12620, 0x19d1b: 0x6cc12820,\n\t0x19d1c: 0x6d340020, 0x19d1d: 0x6c9c0a20, 0x19d1e: 0x6c865220, 0x19d1f: 0x6d389c20,\n\t0x19d20: 0x6cde8420, 0x19d21: 0x6d340220, 0x19d22: 0x6c482420, 0x19d23: 0x6c899c20,\n\t0x19d24: 0x6c54ee20, 0x19d25: 0x6c7e8820, 0x19d26: 0x6c2d2620, 0x19d27: 0x6c22d820,\n\t0x19d28: 0x6d1bde20, 0x19d2b: 0x6cb62a20,\n\t0x19d2d: 0x6c144620, 0x19d2e: 0x6c99b020, 0x19d2f: 0x6c31b020,\n\t0x19d30: 0x6d19fe20, 0x19d31: 0x6c148820, 0x19d32: 0x6cc8dc20, 0x19d33: 0x6c524020,\n\t0x19d34: 0x6cc87820, 0x19d35: 0x6c3d9420, 0x19d36: 0x6c7f4e20, 0x19d37: 0x6d043420,\n\t0x19d38: 0x6c64e020, 0x19d39: 0x6d186220, 0x19d3a: 0x6c9a6820,\n\t0x19d3c: 0x6c987620, 0x19d3d: 0x6c627e20, 0x19d3e: 0x6cdd3a20, 0x19d3f: 0x6c4f0c20,\n\t// Block 0x675, offset 0x19d40\n\t0x19d41: 0x6c868420, 0x19d42: 0x6d3f2220, 0x19d43: 0x6d412820,\n\t0x19d44: 0x6d114820, 0x19d45: 0x6c43a820, 0x19d46: 0x6c844c20, 0x19d47: 0x6cb71c20,\n\t0x19d48: 0x6c462420, 0x19d49: 0x6c868620, 0x19d4a: 0x6c0db220, 0x19d4b: 0x6cdd3c20,\n\t0x19d4e: 0x6cdb3e20, 0x19d4f: 0x6c1e4c20,\n\t0x19d50: 0x6c650220, 0x19d51: 0x6d010020, 0x19d52: 0x6c076420, 0x19d53: 0x6d066020,\n\t0x19d54: 0x6c6eb620, 0x19d55: 0x6cb46220, 0x19d56: 0x6c8d7220, 0x19d57: 0x6cfdd620,\n\t0x19d58: 0x6d42ac20, 0x19d59: 0x6c2e4420, 0x19d5a: 0x6c216a20, 0x19d5b: 0x6cbeb620,\n\t0x19d5c: 0x6ca41020, 0x19d5d: 0x6d2cfe20, 0x19d5e: 0x6c940820, 0x19d5f: 0x6d157420,\n\t0x19d60: 0x6cceba20, 0x19d61: 0x6d21ba20, 0x19d62: 0x6c575c20, 0x19d63: 0x6c845e20,\n\t0x19d64: 0x6cabce20, 0x19d67: 0x6c846020,\n\t0x19d6a: 0x6cd6e620,\n\t0x19d6c: 0x6d18d620, 0x19d6d: 0x6ca95c20, 0x19d6e: 0x6cd83820, 0x19d6f: 0x6c7ab020,\n\t0x19d70: 0x6c407a20, 0x19d71: 0x6d142820, 0x19d72: 0x6c2ab820, 0x19d73: 0x6cc49620,\n\t0x19d74: 0x6c131e20, 0x19d76: 0x6ce39820, 0x19d77: 0x6cbdb420,\n\t0x19d78: 0x6c0c8820, 0x19d79: 0x6cdca420, 0x19d7a: 0x6cef4c20, 0x19d7b: 0x6c33bc20,\n\t0x19d7c: 0x6ccb7a20, 0x19d7d: 0x6c00f620, 0x19d7e: 0x6cb7f420, 0x19d7f: 0x6d420e20,\n\t// Block 0x676, offset 0x19d80\n\t0x19d80: 0x6c7b7620, 0x19d81: 0x6c3a7420, 0x19d83: 0x6d1b9620,\n\t0x19d85: 0x6ccaea20, 0x19d86: 0x6c314820, 0x19d87: 0x6c5c8220,\n\t0x19d88: 0x6d026220, 0x19d89: 0x6d2b1c20, 0x19d8a: 0x6ce03420, 0x19d8b: 0x6ce15a20,\n\t0x19d8c: 0x6d374620, 0x19d8d: 0x6d191620, 0x19d8e: 0x6c3f1c20, 0x19d8f: 0x6c359420,\n\t0x19d91: 0x6c75fc20, 0x19d92: 0x6c638e20, 0x19d93: 0x6c141220,\n\t0x19d94: 0x6cfbca20, 0x19d95: 0x6c981420, 0x19d97: 0x6c0aba20,\n\t0x19d98: 0x6c8d9220, 0x19d99: 0x6c6b7620, 0x19d9a: 0x6c7d3620, 0x19d9b: 0x6c63f620,\n\t0x19d9d: 0x6c19a420, 0x19d9e: 0x6c813420, 0x19d9f: 0x6d03b420,\n\t0x19da0: 0x6c3af620, 0x19da1: 0x6c936e20, 0x19da2: 0x6d2c9e20, 0x19da3: 0x6c51a420,\n\t0x19da4: 0x6c5f9420, 0x19da5: 0x6ca66220, 0x19da6: 0x6d1cd620, 0x19da7: 0x6d002e20,\n\t0x19da8: 0x6ce2d820, 0x19da9: 0x6c81c820, 0x19daa: 0x6d2b2820, 0x19dab: 0x6c7cba20,\n\t0x19dad: 0x6cb9e620, 0x19dae: 0x6c719020, 0x19daf: 0x6cb18c20,\n\t0x19db0: 0x6c38f220, 0x19db1: 0x6ce80020, 0x19db2: 0x6c8c4020, 0x19db3: 0x6c9cc020,\n\t0x19db4: 0x6d3de820, 0x19db5: 0x6d013020, 0x19db6: 0x6c56ee20, 0x19db7: 0x6c9cc220,\n\t0x19db8: 0x6c6a4820, 0x19db9: 0x6d28e220, 0x19dba: 0x6c23d620, 0x19dbb: 0x6c87b220,\n\t0x19dbc: 0x6cc4a020, 0x19dbd: 0x6d3a4a20, 0x19dbe: 0x6d1ab820, 0x19dbf: 0x6c4f4020,\n\t// Block 0x677, offset 0x19dc0\n\t0x19dc1: 0x6d198620, 0x19dc2: 0x6c948020, 0x19dc3: 0x6d274420,\n\t0x19dc4: 0x6cc4a420, 0x19dc5: 0x6c8df620, 0x19dc6: 0x6ca78620, 0x19dc7: 0x6d24b620,\n\t0x19dc8: 0x6caaa020, 0x19dca: 0x6d174020, 0x19dcb: 0x6caaa420,\n\t0x19dcc: 0x6d174220, 0x19dcd: 0x6cb98020, 0x19dce: 0x6cf9b620, 0x19dcf: 0x6c1edc20,\n\t0x19dd0: 0x6d1a6820, 0x19dd1: 0x6c9d4820, 0x19dd2: 0x6cf65820, 0x19dd3: 0x6ca35a20,\n\t0x19dd4: 0x6c76de20, 0x19dd5: 0x6d412020, 0x19dd6: 0x6cf9da20, 0x19dd7: 0x6d0cc620,\n\t0x19dd8: 0x6ce8f420, 0x19dd9: 0x6ce30020, 0x19dda: 0x6cf38820, 0x19ddb: 0x6cdda820,\n\t0x19ddc: 0x6d1aaa20, 0x19ddd: 0x6c1d0a20, 0x19dde: 0x6d38de20, 0x19ddf: 0x6c988620,\n\t0x19de0: 0x6d254820, 0x19de1: 0x6caa8020, 0x19de2: 0x6c9e7020, 0x19de3: 0x6d2a4820,\n\t0x19de4: 0x6ced1420, 0x19de5: 0x6c83ca20, 0x19de6: 0x6cc10420, 0x19de7: 0x6ca33a20,\n\t0x19de8: 0x6cd26220, 0x19de9: 0x6c098c20, 0x19dea: 0x6d3e2a20, 0x19deb: 0x6c056c20,\n\t0x19ded: 0x6c736c20, 0x19dee: 0x6cfde620, 0x19def: 0x6c7c7c20,\n\t0x19df0: 0x6cac2c20, 0x19df1: 0x6c7ba220, 0x19df2: 0x6d0a1220, 0x19df3: 0x6d2cc620,\n\t0x19df4: 0x6d10fc20, 0x19df5: 0x6c7d6a20, 0x19df6: 0x6c5acc20, 0x19df7: 0x6cf65a20,\n\t0x19df8: 0x6c357420, 0x19df9: 0x6d0fcc20, 0x19dfa: 0x6ce59020, 0x19dfb: 0x6d1f4e20,\n\t0x19dfc: 0x6c746c20, 0x19dfd: 0x6c83f620, 0x19dff: 0x6c842020,\n\t// Block 0x678, offset 0x19e00\n\t0x19e00: 0x6c198020, 0x19e01: 0x6c624e20, 0x19e02: 0x6c562a20, 0x19e03: 0x6d2e7020,\n\t0x19e04: 0x6c3f7a20, 0x19e05: 0x6c16ba20, 0x19e06: 0x6c495c20, 0x19e07: 0x6c714420,\n\t0x19e08: 0x6c9b3220, 0x19e09: 0x6c167820, 0x19e0a: 0x6ce0a620, 0x19e0b: 0x6ca1e220,\n\t0x19e0c: 0x6d039e20, 0x19e0d: 0x6c852620, 0x19e0e: 0x6d0c2a20, 0x19e0f: 0x6cd9da20,\n\t0x19e10: 0x6cd1ee20, 0x19e11: 0x6d186420, 0x19e12: 0x6c0e2a20, 0x19e13: 0x6c234e20,\n\t0x19e14: 0x6c542c20, 0x19e15: 0x6ced3a20, 0x19e16: 0x6c2c9620, 0x19e17: 0x6c5f4420,\n\t0x19e18: 0x6c443820, 0x19e19: 0x6c4e3420, 0x19e1a: 0x6c0f6220, 0x19e1b: 0x6d04f420,\n\t0x19e1c: 0x6c8ea220, 0x19e1d: 0x6c11ae20, 0x19e1e: 0x6c11b020, 0x19e1f: 0x6d18d820,\n\t0x19e20: 0x6d082c20, 0x19e21: 0x6d0ce020, 0x19e22: 0x6d2a5c20, 0x19e23: 0x6c4f1e20,\n\t0x19e24: 0x6d1e0020, 0x19e25: 0x6d3fc820, 0x19e27: 0x6c775820,\n\t0x19e28: 0x6d21bc20, 0x19e29: 0x6cb53820, 0x19e2a: 0x6d310620, 0x19e2b: 0x6c967e20,\n\t0x19e2e: 0x6cd6e820, 0x19e2f: 0x6c6d6a20,\n\t0x19e30: 0x6c49b020, 0x19e31: 0x6cb46c20, 0x19e32: 0x6c8c7220,\n\t0x19e34: 0x6ce69c20, 0x19e35: 0x6c679420, 0x19e36: 0x6c7eac20, 0x19e37: 0x6d191820,\n\t0x19e38: 0x6d1dce20, 0x19e39: 0x6c22ec20, 0x19e3a: 0x6d0dfe20, 0x19e3b: 0x6c6b7020,\n\t0x19e3c: 0x6d09c820, 0x19e3d: 0x6cf11020, 0x19e3e: 0x6cfc4c20, 0x19e3f: 0x6ca93620,\n\t// Block 0x679, offset 0x19e40\n\t0x19e40: 0x6c408c20, 0x19e41: 0x6c445c20, 0x19e43: 0x6ca19c20,\n\t0x19e44: 0x6d3b4620, 0x19e45: 0x6ca38a20, 0x19e46: 0x6cfc5620, 0x19e47: 0x6cf1c420,\n\t0x19e48: 0x6c877820, 0x19e49: 0x6c11c220, 0x19e4a: 0x6c9f1c20, 0x19e4b: 0x6c655220,\n\t0x19e4c: 0x6ca6e220, 0x19e4d: 0x6c14b020, 0x19e4e: 0x6cecb020, 0x19e4f: 0x6d069c20,\n\t0x19e50: 0x6caa8220, 0x19e51: 0x6c973020, 0x19e52: 0x6d417020, 0x19e53: 0x6c770c20,\n\t0x19e54: 0x6c761620, 0x19e55: 0x6c4f7020,\n\t0x19e58: 0x6d23f420, 0x19e59: 0x6cf11220, 0x19e5a: 0x6d39fa20,\n\t0x19e5d: 0x6d170a20, 0x19e5f: 0x6c2dbc20,\n\t0x19e60: 0x6c3e4420, 0x19e61: 0x6c08d620, 0x19e62: 0x6d3a6820, 0x19e63: 0x6d3f0c20,\n\t0x19e64: 0x6cd5cc20, 0x19e65: 0x6cf9ba20, 0x19e66: 0x6ca5e020,\n\t0x19e68: 0x6c68fe20, 0x19e69: 0x6d0a1420, 0x19e6a: 0x6c1cc620, 0x19e6b: 0x6caa2220,\n\t0x19e6c: 0x6cc67e20, 0x19e6d: 0x6d364220, 0x19e6e: 0x6cca6e20,\n\t0x19e70: 0x6cccf020, 0x19e71: 0x6d237e20, 0x19e73: 0x6c6c4e20,\n\t0x19e75: 0x6c929c20, 0x19e76: 0x6c4db020, 0x19e77: 0x6c0cb220,\n\t0x19e78: 0x6d183a20, 0x19e79: 0x6d41c020, 0x19e7a: 0x6d2e7220, 0x19e7b: 0x6d23ac20,\n\t0x19e7c: 0x6ced3c20, 0x19e7d: 0x6ca5fe20, 0x19e7e: 0x6c495e20, 0x19e7f: 0x6c748420,\n\t// Block 0x67a, offset 0x19e80\n\t0x19e80: 0x6c082820, 0x19e81: 0x6c11a220, 0x19e83: 0x6c351220,\n\t0x19e84: 0x6cb7c620, 0x19e85: 0x6d10b420, 0x19e86: 0x6c7d1820, 0x19e87: 0x6cc84820,\n\t0x19e88: 0x6c542e20, 0x19e89: 0x6d0a3820, 0x19e8a: 0x6d020020,\n\t0x19e8c: 0x6c7d1a20, 0x19e8e: 0x6d00f020, 0x19e8f: 0x6c0f6420,\n\t0x19e90: 0x6c78d820, 0x19e91: 0x6c24ec20, 0x19e92: 0x6d074020, 0x19e93: 0x6c042820,\n\t0x19e94: 0x6cab5820, 0x19e95: 0x6d400c20, 0x19e97: 0x6ce42e20,\n\t0x19e98: 0x6c1ef220, 0x19e99: 0x6c1b5820, 0x19e9a: 0x6ca7b420, 0x19e9b: 0x6c49ac20,\n\t0x19e9c: 0x6c3cbe20, 0x19e9d: 0x6d023020, 0x19e9e: 0x6c2aba20, 0x19e9f: 0x6cef4e20,\n\t0x19ea0: 0x6c74e220, 0x19ea1: 0x6c7d2e20, 0x19ea2: 0x6d2bb420, 0x19ea3: 0x6cc9ac20,\n\t0x19ea4: 0x6c34bc20, 0x19ea5: 0x6c8d8420, 0x19ea6: 0x6c9b9a20,\n\t0x19ea8: 0x6c4cde20, 0x19ea9: 0x6c9b9c20, 0x19eaa: 0x6c8fec20,\n\t0x19eac: 0x6d1d5e20, 0x19eae: 0x6c49c620, 0x19eaf: 0x6c248820,\n\t0x19eb0: 0x6c84e620, 0x19eb1: 0x6c320c20, 0x19eb3: 0x6c0bf220,\n\t0x19eb5: 0x6cf62c20, 0x19eb7: 0x6c2a6620,\n\t0x19eb8: 0x6c2a6820, 0x19eb9: 0x6cfcba20, 0x19eba: 0x6c880020,\n\t0x19ebc: 0x6ccedc20, 0x19ebd: 0x6d00b020, 0x19ebe: 0x6cd1c420, 0x19ebf: 0x6cf09e20,\n\t// Block 0x67b, offset 0x19ec0\n\t0x19ec2: 0x6c51d820, 0x19ec3: 0x6d1f5a20,\n\t0x19ec4: 0x6c92b220, 0x19ec5: 0x6c7f5020, 0x19ec6: 0x6d1d0e20, 0x19ec7: 0x6cd14c20,\n\t0x19ec8: 0x6c739220, 0x19ec9: 0x6cb7e420, 0x19eca: 0x6c65ea20, 0x19ecb: 0x6d285c20,\n\t0x19ecd: 0x6cb7f620, 0x19ecf: 0x6c8c7c20,\n\t0x19ed0: 0x6c60ea20, 0x19ed1: 0x6c970a20, 0x19ed2: 0x6c208220, 0x19ed3: 0x6ca74620,\n\t0x19ed4: 0x6c0d6e20, 0x19ed5: 0x6c87c020, 0x19ed6: 0x6c8dfa20, 0x19ed7: 0x6c427a20,\n\t0x19ed8: 0x6c1a2020, 0x19ed9: 0x6d07b020, 0x19eda: 0x6cfc1a20, 0x19edb: 0x6c558620,\n\t0x19edc: 0x6c088620, 0x19edd: 0x6d40d020, 0x19ede: 0x6c271a20, 0x19edf: 0x6c271c20,\n\t0x19ee0: 0x6c5d3e20, 0x19ee1: 0x6cc9d020, 0x19ee2: 0x6c184420, 0x19ee3: 0x6ce37c20,\n\t0x19ee5: 0x6cab1a20, 0x19ee6: 0x6d371420, 0x19ee7: 0x6c8ebe20,\n\t0x19ee8: 0x6c3aea20, 0x19ee9: 0x6c695e20, 0x19eea: 0x6c493620, 0x19eeb: 0x6cf7ba20,\n\t0x19eec: 0x6c8bf820, 0x19eed: 0x6d07f820, 0x19eee: 0x6cc62a20, 0x19eef: 0x6ce25a20,\n\t0x19ef0: 0x6cb05820, 0x19ef1: 0x6d032a20, 0x19ef2: 0x6ccd7c20, 0x19ef3: 0x6d360e20,\n\t0x19ef4: 0x6cec3220, 0x19ef5: 0x6ce81020, 0x19ef6: 0x6ce46620, 0x19ef7: 0x6d13e820,\n\t0x19ef8: 0x6d019c20, 0x19ef9: 0x6cb05c20, 0x19efa: 0x6d10ec20, 0x19efb: 0x6d10ee20,\n\t0x19efc: 0x6caa8620, 0x19efd: 0x6c503a20, 0x19efe: 0x6ca8e820, 0x19eff: 0x6d1b4a20,\n\t// Block 0x67c, offset 0x19f00\n\t0x19f00: 0x6c390a20, 0x19f01: 0x6ca3fa20, 0x19f02: 0x6d109c20, 0x19f03: 0x6ced7e20,\n\t0x19f04: 0x6d25e820, 0x19f05: 0x6cf9c820, 0x19f06: 0x6d392c20, 0x19f07: 0x6d25ea20,\n\t0x19f08: 0x6cd38a20, 0x19f09: 0x6c9e5a20, 0x19f0a: 0x6cf62e20, 0x19f0b: 0x6c621220,\n\t0x19f0c: 0x6ce22a20, 0x19f0d: 0x6c3ab020, 0x19f0e: 0x6d096020, 0x19f0f: 0x6ca5e820,\n\t0x19f10: 0x6c224620, 0x19f11: 0x6c9d4a20, 0x19f12: 0x6c0ba220,\n\t0x19f14: 0x6ca2e620, 0x19f15: 0x6d238020, 0x19f16: 0x6c366220, 0x19f17: 0x6d353a20,\n\t0x19f18: 0x6cc57420, 0x19f19: 0x6d070020, 0x19f1a: 0x6c94b020, 0x19f1b: 0x6c5be820,\n\t0x19f1c: 0x6d0a9620, 0x19f1d: 0x6ca4b820, 0x19f1e: 0x6c4eee20, 0x19f1f: 0x6c63d620,\n\t0x19f20: 0x6c312e20, 0x19f21: 0x6c57b420, 0x19f22: 0x6ce86c20, 0x19f23: 0x6cb26220,\n\t0x19f24: 0x6c244c20, 0x19f25: 0x6cf68220, 0x19f26: 0x6cd99820, 0x19f27: 0x6c9c6c20,\n\t0x19f28: 0x6d034420, 0x19f29: 0x6cf51a20, 0x19f2a: 0x6cbf5420, 0x19f2b: 0x6d2edc20,\n\t0x19f2c: 0x6ce23620, 0x19f2d: 0x6d043620, 0x19f2e: 0x6c701e20, 0x19f2f: 0x6c728220,\n\t0x19f30: 0x6c5d4020, 0x19f31: 0x6ce36e20, 0x19f32: 0x6c977420, 0x19f33: 0x6d0ea420,\n\t0x19f34: 0x6c5f2020, 0x19f35: 0x6cd47a20, 0x19f36: 0x6c82d620, 0x19f37: 0x6ced4420,\n\t0x19f38: 0x6c183820, 0x19f39: 0x6c120a20, 0x19f3a: 0x6c6c0620, 0x19f3b: 0x6d205820,\n\t0x19f3c: 0x6c5b6620, 0x19f3d: 0x6d2c9420, 0x19f3e: 0x6cdb4820, 0x19f3f: 0x6c444220,\n\t// Block 0x67d, offset 0x19f40\n\t0x19f40: 0x6ca51a20, 0x19f41: 0x6cf8f820, 0x19f43: 0x6c331a20,\n\t0x19f44: 0x6c1b6420, 0x19f45: 0x6cef5020, 0x19f46: 0x6d30ae20, 0x19f47: 0x6c4bf420,\n\t0x19f48: 0x6c175620, 0x19f49: 0x6c1ae020, 0x19f4a: 0x6d2a2820, 0x19f4b: 0x6c5c8420,\n\t0x19f4c: 0x6c944820, 0x19f4d: 0x6c8a4620, 0x19f4e: 0x6c818a20, 0x19f4f: 0x6cead820,\n\t0x19f50: 0x6c5b0420, 0x19f51: 0x6cf54620, 0x19f52: 0x6c02fa20, 0x19f53: 0x6ccf8620,\n\t0x19f54: 0x6cdc0220, 0x19f55: 0x6c974c20, 0x19f56: 0x6ce0b620, 0x19f57: 0x6d035a20,\n\t0x19f58: 0x6c6e4020, 0x19f59: 0x6c017620, 0x19f5a: 0x6cdee220, 0x19f5b: 0x6c156420,\n\t0x19f5c: 0x6cf11a20, 0x19f5d: 0x6ce98420, 0x19f5e: 0x6c62dc20, 0x19f5f: 0x6c18fa20,\n\t0x19f60: 0x6c185820, 0x19f61: 0x6d247c20, 0x19f62: 0x6cfc6020, 0x19f63: 0x6d02d020,\n\t0x19f67: 0x6ca51c20,\n\t0x19f69: 0x6d0f1020, 0x19f6a: 0x6cc01e20, 0x19f6b: 0x6c675820,\n\t0x19f6c: 0x6cd95c20, 0x19f6d: 0x6c75c420, 0x19f6e: 0x6c89fc20, 0x19f6f: 0x6c714e20,\n\t0x19f71: 0x6c97d220, 0x19f72: 0x6c8b7220,\n\t0x19f74: 0x6c1f3820, 0x19f75: 0x6c1bae20, 0x19f76: 0x6cfdcc20, 0x19f77: 0x6cbd3a20,\n\t0x19f78: 0x6c9a6220, 0x19f79: 0x6cd5fa20, 0x19f7a: 0x6c149020, 0x19f7b: 0x6c1bc420,\n\t0x19f7c: 0x6c474620, 0x19f7d: 0x6d21a820, 0x19f7e: 0x6d1a0420,\n\t// Block 0x67e, offset 0x19f80\n\t0x19f80: 0x6c8eac20, 0x19f81: 0x6c818020, 0x19f82: 0x6cd61e20, 0x19f83: 0x6d30be20,\n\t0x19f84: 0x6cd6c420, 0x19f85: 0x6c5aac20,\n\t0x19f88: 0x6c364620, 0x19f8a: 0x6ccc7020, 0x19f8b: 0x6d402e20,\n\t0x19f8c: 0x6c74a620, 0x19f8d: 0x6c75ec20, 0x19f8e: 0x6ce93820, 0x19f8f: 0x6c90ca20,\n\t0x19f90: 0x6cef5c20, 0x19f91: 0x6c1cf420, 0x19f92: 0x6d3b4820, 0x19f93: 0x6c8b7420,\n\t0x19f95: 0x6d30cc20, 0x19f96: 0x6d2f8c20,\n\t0x19f98: 0x6d178020, 0x19f99: 0x6c1e5c20, 0x19f9a: 0x6ca5ea20, 0x19f9b: 0x6c0e7820,\n\t0x19f9c: 0x6cdb8620, 0x19f9d: 0x6d160620, 0x19f9e: 0x6c506020, 0x19f9f: 0x6d0bc820,\n\t0x19fa0: 0x6c58ac20, 0x19fa1: 0x6c980a20, 0x19fa2: 0x6c980c20, 0x19fa3: 0x6cc1f220,\n\t0x19fa4: 0x6c81c420, 0x19fa5: 0x6c4ffe20, 0x19fa6: 0x6d37d620, 0x19fa7: 0x6c9f4e20,\n\t0x19fa8: 0x6cfb5620, 0x19fa9: 0x6d324420, 0x19faa: 0x6cd55e20, 0x19fab: 0x6d423e20,\n\t0x19fac: 0x6d3afc20, 0x19fad: 0x6c46aa20, 0x19fae: 0x6d089820, 0x19faf: 0x6d17c620,\n\t0x19fb0: 0x6d366e20, 0x19fb1: 0x6d00c620, 0x19fb2: 0x6c6d1e20, 0x19fb3: 0x6c11a420,\n\t0x19fb5: 0x6c10ae20, 0x19fb6: 0x6c896a20, 0x19fb7: 0x6d341020,\n\t0x19fb8: 0x6c626c20, 0x19fb9: 0x6ced4620, 0x19fba: 0x6c49a420, 0x19fbb: 0x6c70bc20,\n\t0x19fbc: 0x6c6ea220, 0x19fbd: 0x6c00c420, 0x19fbe: 0x6c404220, 0x19fbf: 0x6c4b7220,\n\t// Block 0x67f, offset 0x19fc0\n\t0x19fc0: 0x6c548020, 0x19fc1: 0x6d0ec620, 0x19fc2: 0x6cc87e20, 0x19fc3: 0x6d36ee20,\n\t0x19fc4: 0x6c0c9420, 0x19fc5: 0x6d157620, 0x19fc6: 0x6cdd9e20, 0x19fc7: 0x6c2efa20,\n\t0x19fc8: 0x6c4b9620, 0x19fc9: 0x6cd18020, 0x19fca: 0x6d0ab820, 0x19fcb: 0x6c194620,\n\t0x19fcc: 0x6ccf2020, 0x19fcd: 0x6cbe8a20,\n\t0x19fd0: 0x6c218a20, 0x19fd1: 0x6c533820, 0x19fd2: 0x6c308220, 0x19fd3: 0x6c198220,\n\t0x19fd4: 0x6ceff820, 0x19fd5: 0x6cc7ea20, 0x19fd6: 0x6cd55420, 0x19fd7: 0x6c10f220,\n\t0x19fd8: 0x6c600e20, 0x19fd9: 0x6d28b620, 0x19fda: 0x6cb5d420, 0x19fdb: 0x6d0c0220,\n\t0x19fdc: 0x6c3fe820, 0x19fdd: 0x6d235820, 0x19fde: 0x6c3e9020, 0x19fdf: 0x6cb39220,\n\t0x19fe0: 0x6d33e620, 0x19fe1: 0x6ce06220, 0x19fe2: 0x6d424020, 0x19fe3: 0x6c17ec20,\n\t0x19fe4: 0x6cc19a20, 0x19fe5: 0x6d204e20, 0x19fe6: 0x6c514a20, 0x19fe7: 0x6c547420,\n\t0x19fe8: 0x6c4b0e20, 0x19fe9: 0x6c366620, 0x19fea: 0x6c67ea20, 0x19feb: 0x6d27f620,\n\t0x19fec: 0x6ce83020, 0x19fed: 0x6c259820, 0x19fee: 0x6ce87020, 0x19fef: 0x6c402a20,\n\t0x19ff0: 0x6d424c20, 0x19ff1: 0x6c558820, 0x19ff3: 0x6c0f4a20,\n\t0x19ff4: 0x6d2f6e20, 0x19ff5: 0x6c754a20, 0x19ff6: 0x6ce0d020, 0x19ff7: 0x6c74aa20,\n\t0x19ff8: 0x6c404620, 0x19ff9: 0x6c5a0220, 0x19ffa: 0x6c211820, 0x19ffb: 0x6d1e5e20,\n\t0x19ffc: 0x6c20f020, 0x19ffd: 0x6cdda020, 0x19ffe: 0x6c1b5c20, 0x19fff: 0x6cb92a20,\n\t// Block 0x680, offset 0x1a000\n\t0x1a000: 0x6c10fc20, 0x1a001: 0x6cff9c20, 0x1a002: 0x6c979220, 0x1a003: 0x6c117c20,\n\t0x1a004: 0x6cb7f820, 0x1a005: 0x6c66f620, 0x1a006: 0x6c0a9a20, 0x1a007: 0x6c5f8420,\n\t0x1a008: 0x6d34b820, 0x1a009: 0x6d3a3620, 0x1a00a: 0x6cc1f420, 0x1a00b: 0x6d2e3420,\n\t0x1a00c: 0x6c60fa20, 0x1a00d: 0x6c0b2420, 0x1a00f: 0x6c878020,\n\t0x1a010: 0x6c879420, 0x1a011: 0x6d272a20, 0x1a012: 0x6cc34020, 0x1a013: 0x6c195a20,\n\t0x1a014: 0x6c3fcc20, 0x1a015: 0x6c144020, 0x1a016: 0x6ce19c20, 0x1a017: 0x6cd37420,\n\t0x1a018: 0x6c4f9620, 0x1a019: 0x6cbcbe20, 0x1a01a: 0x6cb5d620, 0x1a01b: 0x6c0efc20,\n\t0x1a01c: 0x6ca33e20, 0x1a01d: 0x6ce82a20, 0x1a01e: 0x6c1e7a20, 0x1a01f: 0x6c243c20,\n\t0x1a020: 0x6d26c020, 0x1a021: 0x6d33e820, 0x1a022: 0x6c18cc20, 0x1a023: 0x6c1f4a20,\n\t0x1a024: 0x6c09b420, 0x1a025: 0x6c9b1c20, 0x1a026: 0x6c038020, 0x1a027: 0x6ce4a220,\n\t0x1a028: 0x6c9f5a20, 0x1a029: 0x6c8aba20, 0x1a02a: 0x6c3ccc20, 0x1a02b: 0x6c197420,\n\t0x1a02c: 0x6cc0b820, 0x1a02d: 0x6ce58820, 0x1a02e: 0x6c3eac20, 0x1a02f: 0x6c7e0820,\n\t0x1a030: 0x6c65b820,\n\t0x1a034: 0x6d325620, 0x1a035: 0x6cc08a20, 0x1a036: 0x6d42a820, 0x1a037: 0x6c1c4c20,\n\t0x1a038: 0x6c7c9420, 0x1a039: 0x6c8b2420, 0x1a03a: 0x6c074a20, 0x1a03b: 0x6c326e20,\n\t0x1a03c: 0x6cf46c20, 0x1a03e: 0x6d3d9220, 0x1a03f: 0x6c92ba20,\n\t// Block 0x681, offset 0x1a040\n\t0x1a040: 0x6ce0d220, 0x1a042: 0x6c1eaa20, 0x1a043: 0x6c89a020,\n\t0x1a044: 0x6ce51820, 0x1a045: 0x6c7dbe20, 0x1a046: 0x6c16c420, 0x1a047: 0x6c74ac20,\n\t0x1a048: 0x6ce8ec20, 0x1a049: 0x6c594e20, 0x1a04a: 0x6c3aca20, 0x1a04b: 0x6c0a3c20,\n\t0x1a04d: 0x6cf97c20, 0x1a04e: 0x6cf31820, 0x1a04f: 0x6c628a20,\n\t0x1a050: 0x6cc27a20, 0x1a051: 0x6c7cdc20, 0x1a052: 0x6c55c220, 0x1a053: 0x6cbfca20,\n\t0x1a054: 0x6cdc7c20, 0x1a055: 0x6c10fa20, 0x1a057: 0x6cc0bc20,\n\t0x1a058: 0x6cb0c820, 0x1a059: 0x6cad1020, 0x1a05a: 0x6cec4020, 0x1a05b: 0x6d115620,\n\t0x1a05c: 0x6cc6c220, 0x1a05d: 0x6d09b620, 0x1a05e: 0x6c246c20, 0x1a05f: 0x6c2efc20,\n\t0x1a060: 0x6c1c8a20, 0x1a061: 0x6c25f620, 0x1a062: 0x6c9c1220, 0x1a063: 0x6d086420,\n\t0x1a064: 0x6c34be20, 0x1a065: 0x6c0d0420, 0x1a066: 0x6d310a20, 0x1a067: 0x6c1ec620,\n\t0x1a068: 0x6c164220, 0x1a069: 0x6c4b9e20, 0x1a06a: 0x6c32e620, 0x1a06b: 0x6d409420,\n\t0x1a06c: 0x6c2afe20, 0x1a06d: 0x6c7f3820, 0x1a06e: 0x6ce2da20, 0x1a06f: 0x6d272c20,\n\t0x1a070: 0x6cc34220, 0x1a071: 0x6d3a5020, 0x1a072: 0x6c8d1020, 0x1a073: 0x6c186c20,\n\t0x1a074: 0x6d31e020, 0x1a075: 0x6c400220, 0x1a076: 0x6ccf4e20, 0x1a077: 0x6ce5c620,\n\t0x1a078: 0x6c7ac820, 0x1a079: 0x6c004420, 0x1a07b: 0x6cbf5620,\n\t0x1a07c: 0x6cd61220, 0x1a07d: 0x6c4d3420, 0x1a07e: 0x6ccd5e20, 0x1a07f: 0x6cec7620,\n\t// Block 0x682, offset 0x1a080\n\t0x1a080: 0x6d2e3620, 0x1a081: 0x6c904a20, 0x1a082: 0x6c6f6220, 0x1a083: 0x6c85b820,\n\t0x1a085: 0x6c210220, 0x1a086: 0x6cc66c20, 0x1a087: 0x6d26ac20,\n\t0x1a088: 0x6c743a20, 0x1a089: 0x6c776c20, 0x1a08a: 0x6c390c20, 0x1a08b: 0x6cb5da20,\n\t0x1a08c: 0x6c534220, 0x1a08d: 0x6c3e7220, 0x1a08e: 0x6c915220, 0x1a08f: 0x6c535820,\n\t0x1a090: 0x6ceb2a20, 0x1a091: 0x6c9f5c20, 0x1a092: 0x6ce4a420, 0x1a093: 0x6c737c20,\n\t0x1a094: 0x6cb70620, 0x1a095: 0x6d332620, 0x1a096: 0x6cbece20, 0x1a097: 0x6c45f220,\n\t0x1a098: 0x6ce4b620, 0x1a099: 0x6c80dc20, 0x1a09a: 0x6c99a620, 0x1a09b: 0x6d1b6a20,\n\t0x1a09c: 0x6c92c020, 0x1a09d: 0x6d250e20, 0x1a09e: 0x6c715420, 0x1a09f: 0x6cb0b820,\n\t0x1a0a1: 0x6d00f420, 0x1a0a2: 0x6c0bbe20, 0x1a0a3: 0x6c5cd820,\n\t0x1a0a4: 0x6d39cc20, 0x1a0a5: 0x6cc6c820, 0x1a0a6: 0x6cca8e20, 0x1a0a7: 0x6cf38420,\n\t0x1a0a8: 0x6c144e20, 0x1a0a9: 0x6c795820, 0x1a0aa: 0x6ccdc420, 0x1a0ab: 0x6caede20,\n\t0x1a0ac: 0x6c980e20, 0x1a0ad: 0x6d050620, 0x1a0af: 0x6c237020,\n\t0x1a0b0: 0x6c796020, 0x1a0b1: 0x6d3bb220, 0x1a0b2: 0x6c154620, 0x1a0b3: 0x6cd84220,\n\t0x1a0b4: 0x6c1cf620, 0x1a0b5: 0x6cdcae20, 0x1a0b6: 0x6c076e20, 0x1a0b7: 0x6c769e20,\n\t0x1a0b9: 0x6d376020, 0x1a0ba: 0x6cf12620, 0x1a0bb: 0x6c9f8420,\n\t0x1a0bc: 0x6c8db220, 0x1a0bd: 0x6d414220, 0x1a0be: 0x6ca8d420, 0x1a0bf: 0x6c8dfc20,\n\t// Block 0x683, offset 0x1a0c0\n\t0x1a0c0: 0x6cb77420, 0x1a0c1: 0x6d26b020, 0x1a0c3: 0x6d186820,\n\t0x1a0c4: 0x6cf82220, 0x1a0c5: 0x6c18d820, 0x1a0c7: 0x6cc71e20,\n\t0x1a0c8: 0x6c18f820, 0x1a0c9: 0x6ca9da20, 0x1a0ca: 0x6d1ef220, 0x1a0cb: 0x6c618c20,\n\t0x1a0cc: 0x6c0ebe20, 0x1a0cd: 0x6c39ca20,\n\t0x1a0d0: 0x6c242220, 0x1a0d1: 0x6c2be820, 0x1a0d2: 0x6c684020, 0x1a0d3: 0x6d20fc20,\n\t0x1a0d4: 0x6c50fe20, 0x1a0d5: 0x6d06b220, 0x1a0d6: 0x6d22f820, 0x1a0d7: 0x6cc0f620,\n\t0x1a0d9: 0x6c044420, 0x1a0da: 0x6c44cc20, 0x1a0db: 0x6c6f0e20,\n\t0x1a0dd: 0x6d0bb820, 0x1a0de: 0x6cd5de20, 0x1a0df: 0x6d1f3e20,\n\t0x1a0e0: 0x6cd98e20, 0x1a0e1: 0x6d130820, 0x1a0e2: 0x6c125820, 0x1a0e3: 0x6d112a20,\n\t0x1a0e4: 0x6cd5fc20, 0x1a0e5: 0x6d0cba20, 0x1a0e6: 0x6cd67220, 0x1a0e7: 0x6c8aa220,\n\t0x1a0e8: 0x6c235020, 0x1a0e9: 0x6d23d420, 0x1a0ea: 0x6c0f6620, 0x1a0eb: 0x6cdbfe20,\n\t0x1a0ed: 0x6d0eca20, 0x1a0ee: 0x6c834820, 0x1a0ef: 0x6c8bf420,\n\t0x1a0f0: 0x6ce30220, 0x1a0f1: 0x6c31de20, 0x1a0f2: 0x6d272e20, 0x1a0f3: 0x6c611620,\n\t0x1a0f5: 0x6d278620,\n\t0x1a0f8: 0x6c706220, 0x1a0f9: 0x6c71a820, 0x1a0fa: 0x6c1e5820, 0x1a0fb: 0x6c18ac20,\n\t0x1a0fc: 0x6c457820, 0x1a0fd: 0x6cfe4220, 0x1a0fe: 0x6cfbee20, 0x1a0ff: 0x6c011c20,\n\t// Block 0x684, offset 0x1a100\n\t0x1a100: 0x6c4ae020, 0x1a101: 0x6d223220, 0x1a102: 0x6c82bc20,\n\t0x1a104: 0x6ce89c20, 0x1a105: 0x6c18b820, 0x1a106: 0x6d03e020, 0x1a107: 0x6cc03e20,\n\t0x1a108: 0x6c4f9a20, 0x1a10a: 0x6c292c20, 0x1a10b: 0x6c112e20,\n\t0x1a10c: 0x6c2bf420, 0x1a10d: 0x6d0d7020, 0x1a10e: 0x6d3e3020,\n\t0x1a110: 0x6d1bc020, 0x1a111: 0x6c14fa20, 0x1a113: 0x6c840020,\n\t0x1a114: 0x6cdd7e20, 0x1a115: 0x6c969c20, 0x1a116: 0x6c96a620,\n\t0x1a118: 0x6ce11e20, 0x1a119: 0x6cade620, 0x1a11a: 0x6c90ae20, 0x1a11b: 0x6cb51820,\n\t0x1a11c: 0x6c25ec20, 0x1a11d: 0x6ce8ee20, 0x1a11e: 0x6c369a20, 0x1a11f: 0x6c11aa20,\n\t0x1a120: 0x6c6b2c20, 0x1a121: 0x6d156420, 0x1a122: 0x6c60d020, 0x1a123: 0x6c294220,\n\t0x1a124: 0x6c752220, 0x1a125: 0x6c08cc20, 0x1a126: 0x6c832620, 0x1a127: 0x6d174a20,\n\t0x1a128: 0x6c214020, 0x1a129: 0x6c214620, 0x1a12a: 0x6cb38820, 0x1a12b: 0x6c83cc20,\n\t0x1a12c: 0x6d291420, 0x1a12d: 0x6cdf7020, 0x1a12e: 0x6cb39420, 0x1a12f: 0x6c242620,\n\t0x1a130: 0x6c725020, 0x1a131: 0x6d070620, 0x1a132: 0x6c395820,\n\t0x1a134: 0x6d070820, 0x1a135: 0x6c37d420, 0x1a136: 0x6c5d7e20, 0x1a137: 0x6d39b820,\n\t0x1a138: 0x6cc4c820, 0x1a139: 0x6c381c20, 0x1a13a: 0x6c72fc20, 0x1a13b: 0x6c4db620,\n\t0x1a13c: 0x6c896e20, 0x1a13d: 0x6d341220, 0x1a13e: 0x6c9d8220, 0x1a13f: 0x6d209a20,\n\t// Block 0x685, offset 0x1a140\n\t0x1a141: 0x6c133a20, 0x1a142: 0x6c9a2c20, 0x1a143: 0x6d1a0620,\n\t0x1a144: 0x6c9e4220, 0x1a145: 0x6ce8f620, 0x1a146: 0x6c7c9e20,\n\t0x1a149: 0x6c9d9a20, 0x1a14a: 0x6cc6ca20, 0x1a14b: 0x6d241c20,\n\t0x1a14c: 0x6cbae620, 0x1a14d: 0x6c9c8c20, 0x1a14e: 0x6c718020, 0x1a14f: 0x6cb07e20,\n\t0x1a150: 0x6c6cc620, 0x1a151: 0x6cee5e20, 0x1a152: 0x6c62c020, 0x1a153: 0x6c9baa20,\n\t0x1a154: 0x6c672020, 0x1a155: 0x6d098020, 0x1a156: 0x6c068220, 0x1a157: 0x6c420220,\n\t0x1a158: 0x6c161e20, 0x1a159: 0x6c87cc20, 0x1a15a: 0x6c851620, 0x1a15b: 0x6cc04020,\n\t0x1a15c: 0x6c33ee20, 0x1a15d: 0x6d1d3e20, 0x1a15e: 0x6d27ea20, 0x1a15f: 0x6c18ce20,\n\t0x1a160: 0x6d353220, 0x1a161: 0x6cc4ca20, 0x1a163: 0x6c94b220,\n\t0x1a164: 0x6c763a20, 0x1a165: 0x6c4b1420, 0x1a166: 0x6d26d620, 0x1a167: 0x6c5c0820,\n\t0x1a168: 0x6cb0b220, 0x1a169: 0x6c13f820, 0x1a16a: 0x6c34a820, 0x1a16b: 0x6c152220,\n\t0x1a16c: 0x6ccc1020, 0x1a16d: 0x6cd3c820, 0x1a16e: 0x6ccf7620, 0x1a16f: 0x6d03fa20,\n\t0x1a170: 0x6d1c9420, 0x1a171: 0x6cd3ca20, 0x1a172: 0x6c1c6420, 0x1a173: 0x6d134820,\n\t0x1a174: 0x6c4e3620, 0x1a175: 0x6c3ad420, 0x1a176: 0x6d134a20, 0x1a177: 0x6d0de220,\n\t0x1a178: 0x6d416220, 0x1a179: 0x6cd9ee20, 0x1a17a: 0x6c6c6620, 0x1a17b: 0x6c351a20,\n\t0x1a17c: 0x6cfd2220, 0x1a17d: 0x6c492e20, 0x1a17e: 0x6ce1f820, 0x1a17f: 0x6cbcfa20,\n\t// Block 0x686, offset 0x1a180\n\t0x1a180: 0x6c15f420, 0x1a181: 0x6c4e4420, 0x1a182: 0x6c9c1420, 0x1a183: 0x6d26fc20,\n\t0x1a184: 0x6c247020, 0x1a185: 0x6cba8420, 0x1a186: 0x6c6cc420, 0x1a187: 0x6ccdd020,\n\t0x1a188: 0x6ca25820, 0x1a189: 0x6d251e20, 0x1a18b: 0x6cae8a20,\n\t0x1a18c: 0x6d336e20, 0x1a18d: 0x6d374a20, 0x1a18e: 0x6c216c20, 0x1a18f: 0x6d22aa20,\n\t0x1a190: 0x6ca1f820, 0x1a191: 0x6cedae20, 0x1a192: 0x6c681020, 0x1a193: 0x6cb54c20,\n\t0x1a194: 0x6cdb5e20, 0x1a195: 0x6cb1e220, 0x1a196: 0x6ce4d020, 0x1a197: 0x6c7b7820,\n\t0x1a198: 0x6c247a20, 0x1a199: 0x6cdcb820, 0x1a19b: 0x6c6a4220,\n\t0x1a19c: 0x6c671420, 0x1a19d: 0x6c028820, 0x1a19e: 0x6c696e20, 0x1a19f: 0x6d138e20,\n\t0x1a1a1: 0x6d139020, 0x1a1a2: 0x6c8ff020, 0x1a1a3: 0x6d2a3620,\n\t0x1a1a4: 0x6c05de20, 0x1a1a5: 0x6c889a20, 0x1a1a7: 0x6c58c620,\n\t0x1a1a8: 0x6c942620, 0x1a1a9: 0x6cef7820, 0x1a1aa: 0x6cfc5820, 0x1a1ab: 0x6ce60a20,\n\t0x1a1ac: 0x6c0fc820, 0x1a1ad: 0x6d337620, 0x1a1ae: 0x6d3a3e20, 0x1a1af: 0x6c06c420,\n\t0x1a1b0: 0x6c9bba20, 0x1a1b1: 0x6d015220, 0x1a1b2: 0x6cab6820, 0x1a1b3: 0x6d1ed820,\n\t0x1a1b5: 0x6cffc820, 0x1a1b6: 0x6c87aa20, 0x1a1b7: 0x6d2c6e20,\n\t0x1a1b8: 0x6c9cd020, 0x1a1ba: 0x6d128420,\n\t0x1a1bd: 0x6cb31620, 0x1a1be: 0x6d014220,\n\t// Block 0x687, offset 0x1a1c0\n\t0x1a1c2: 0x6ccdd220, 0x1a1c3: 0x6d3d1420,\n\t0x1a1c5: 0x6ccddc20, 0x1a1c6: 0x6c754020, 0x1a1c7: 0x6c61fc20,\n\t0x1a1c8: 0x6c6a2620, 0x1a1ca: 0x6ca7a420, 0x1a1cb: 0x6c028420,\n\t0x1a1cc: 0x6c1f3a20, 0x1a1cd: 0x6cf4e420, 0x1a1ce: 0x6c495420, 0x1a1cf: 0x6d01b820,\n\t0x1a1d0: 0x6ce6d020, 0x1a1d1: 0x6d096220, 0x1a1d2: 0x6c297220, 0x1a1d3: 0x6d2d8620,\n\t0x1a1d4: 0x6ce06620, 0x1a1d5: 0x6cae7c20, 0x1a1d6: 0x6d00d420, 0x1a1d7: 0x6d072020,\n\t0x1a1d8: 0x6cfcf220, 0x1a1d9: 0x6cd8d820, 0x1a1da: 0x6c7aee20, 0x1a1db: 0x6d335a20,\n\t0x1a1dc: 0x6cf3e620, 0x1a1dd: 0x6c5d5c20, 0x1a1de: 0x6cc90620, 0x1a1df: 0x6cf1ee20,\n\t0x1a1e0: 0x6c317a20, 0x1a1e1: 0x6c58a020, 0x1a1e2: 0x6c7e1420, 0x1a1e3: 0x6c405a20,\n\t0x1a1e4: 0x6c1fd020, 0x1a1e5: 0x6cfba420, 0x1a1e6: 0x6cbdae20, 0x1a1e7: 0x6cbc8820,\n\t0x1a1e8: 0x6c7fba20, 0x1a1ea: 0x6d0bca20, 0x1a1eb: 0x6d1c0220,\n\t0x1a1ec: 0x6cc40820, 0x1a1ed: 0x6c4f5620, 0x1a1ee: 0x6c218c20, 0x1a1ef: 0x6d371e20,\n\t0x1a1f1: 0x6cf05620, 0x1a1f2: 0x6d0d0620, 0x1a1f3: 0x6cfe6a20,\n\t0x1a1f4: 0x6d194c20, 0x1a1f5: 0x6ca66a20, 0x1a1f6: 0x6d335c20, 0x1a1f7: 0x6c1fca20,\n\t0x1a1f9: 0x6cd23020, 0x1a1fa: 0x6c2f4a20, 0x1a1fb: 0x6d3ee020,\n\t0x1a1fc: 0x6c73e820, 0x1a1fd: 0x6d067620, 0x1a1fe: 0x6d255a20,\n\t// Block 0x688, offset 0x1a200\n\t0x1a201: 0x6d063020, 0x1a202: 0x6c2a0220, 0x1a203: 0x6ce48620,\n\t0x1a204: 0x6c448020, 0x1a205: 0x6d14b420, 0x1a206: 0x6c532420, 0x1a207: 0x6d13dc20,\n\t0x1a209: 0x6c851220, 0x1a20a: 0x6c7a3820, 0x1a20b: 0x6cfc0820,\n\t0x1a20c: 0x6cdbbe20, 0x1a20d: 0x6cf87620, 0x1a20e: 0x6d088620,\n\t0x1a211: 0x6c2b2a20, 0x1a212: 0x6c7f0420, 0x1a213: 0x6d387e20,\n\t0x1a214: 0x6ca76420, 0x1a215: 0x6c19f820, 0x1a216: 0x6c668620, 0x1a217: 0x6c09ba20,\n\t0x1a218: 0x6d3bc820, 0x1a219: 0x6c8d1620, 0x1a21a: 0x6c504e20, 0x1a21b: 0x6c058020,\n\t0x1a21c: 0x6ce10a20, 0x1a21d: 0x6c1ac220, 0x1a21e: 0x6c96c820, 0x1a21f: 0x6cfce420,\n\t0x1a220: 0x6cd69420, 0x1a221: 0x6d1da020, 0x1a222: 0x6cc12c20,\n\t0x1a224: 0x6cb44c20, 0x1a225: 0x6c5c2020, 0x1a226: 0x6cef3620, 0x1a227: 0x6d161620,\n\t0x1a228: 0x6d134c20, 0x1a22a: 0x6c184820, 0x1a22b: 0x6c4ff820,\n\t0x1a22c: 0x6c0d5a20, 0x1a22e: 0x6cfd3620, 0x1a22f: 0x6c155e20,\n\t0x1a230: 0x6c5d4e20, 0x1a232: 0x6c4ebc20, 0x1a233: 0x6c224220,\n\t0x1a234: 0x6d33ec20, 0x1a235: 0x6cb5f220, 0x1a236: 0x6c7c7e20, 0x1a237: 0x6cc75620,\n\t0x1a239: 0x6d1bca20, 0x1a23a: 0x6d047e20,\n\t0x1a23c: 0x6c55a020, 0x1a23d: 0x6c250620, 0x1a23f: 0x6cc3fc20,\n\t// Block 0x689, offset 0x1a240\n\t0x1a240: 0x6c2b9220, 0x1a241: 0x6cf53020, 0x1a242: 0x6cbfd020,\n\t0x1a244: 0x6d0eee20, 0x1a245: 0x6c8a5020, 0x1a246: 0x6c08a620,\n\t0x1a248: 0x6c0d7220, 0x1a24a: 0x6d252c20, 0x1a24b: 0x6caaa620,\n\t0x1a24c: 0x6c05c620, 0x1a24d: 0x6d1cf220, 0x1a24e: 0x6c536c20, 0x1a24f: 0x6c225820,\n\t0x1a250: 0x6cb87220, 0x1a251: 0x6ce35a20, 0x1a252: 0x6d23b220, 0x1a253: 0x6c824c20,\n\t0x1a254: 0x6c05d020, 0x1a256: 0x6c625620, 0x1a257: 0x6c3ee820,\n\t0x1a258: 0x6cfd0420, 0x1a259: 0x6c133820, 0x1a25a: 0x6c550620, 0x1a25b: 0x6ccb6620,\n\t0x1a25c: 0x6c080a20, 0x1a25d: 0x6cbe5620, 0x1a25e: 0x6d22a020, 0x1a25f: 0x6cebf620,\n\t0x1a260: 0x6c007a20, 0x1a261: 0x6c4e3c20, 0x1a262: 0x6c28d020, 0x1a263: 0x6c444620,\n\t0x1a264: 0x6c2b9c20, 0x1a265: 0x6c5e2020, 0x1a266: 0x6cace420,\n\t0x1a268: 0x6d3c6a20, 0x1a269: 0x6c8d7c20, 0x1a26a: 0x6c970820, 0x1a26b: 0x6c974820,\n\t0x1a26c: 0x6c888c20, 0x1a26d: 0x6cff4220, 0x1a26e: 0x6d093220, 0x1a26f: 0x6d327820,\n\t0x1a270: 0x6cb3b820, 0x1a271: 0x6c408e20, 0x1a272: 0x6caa0e20, 0x1a273: 0x6cf93220,\n\t0x1a274: 0x6c338e20, 0x1a275: 0x6c28f020, 0x1a276: 0x6d280c20, 0x1a277: 0x6cfd5220,\n\t0x1a278: 0x6d1b3020, 0x1a279: 0x6cd52220, 0x1a27a: 0x6c339420, 0x1a27b: 0x6c086820,\n\t0x1a27c: 0x6c56e620, 0x1a27d: 0x6c3a5420, 0x1a27e: 0x6c3aa820, 0x1a27f: 0x6d28be20,\n\t// Block 0x68a, offset 0x1a280\n\t0x1a280: 0x6c075620, 0x1a281: 0x6c3a2820, 0x1a282: 0x6cfab820, 0x1a283: 0x6cd3ae20,\n\t0x1a284: 0x6c9e3020, 0x1a285: 0x6d2e0820, 0x1a286: 0x6d2e0a20, 0x1a287: 0x6d2d8c20,\n\t0x1a288: 0x6c5c4820, 0x1a289: 0x6c3f8820, 0x1a28a: 0x6ced5a20, 0x1a28b: 0x6ca0b420,\n\t0x1a28c: 0x6cbc1020, 0x1a28d: 0x6c8a8a20, 0x1a28f: 0x6c9f1e20,\n\t0x1a290: 0x6c54d820, 0x1a291: 0x6c535e20, 0x1a292: 0x6d213c20, 0x1a293: 0x6cb60820,\n\t0x1a294: 0x6c350420, 0x1a295: 0x6c020020, 0x1a297: 0x6c03ba20,\n\t0x1a298: 0x6c2c7820, 0x1a299: 0x6d08aa20, 0x1a29a: 0x6c2c8a20, 0x1a29b: 0x6c0a0e20,\n\t0x1a29c: 0x6d393e20, 0x1a29d: 0x6cad6020, 0x1a29e: 0x6ce5f620, 0x1a29f: 0x6d155020,\n\t0x1a2a1: 0x6c63ea20, 0x1a2a2: 0x6d36f220, 0x1a2a3: 0x6ce8f820,\n\t0x1a2a4: 0x6d00f820, 0x1a2a5: 0x6c28ba20, 0x1a2a6: 0x6ce5a620, 0x1a2a7: 0x6d022620,\n\t0x1a2a8: 0x6c172620, 0x1a2a9: 0x6d25f220, 0x1a2aa: 0x6c496a20, 0x1a2ab: 0x6c89a420,\n\t0x1a2ac: 0x6c083220, 0x1a2ae: 0x6c930020, 0x1a2af: 0x6c60e420,\n\t0x1a2b0: 0x6d08c220, 0x1a2b1: 0x6cd62420, 0x1a2b2: 0x6c318220, 0x1a2b3: 0x6cd9f420,\n\t0x1a2b4: 0x6c55e220, 0x1a2b5: 0x6d286420, 0x1a2b6: 0x6c160820, 0x1a2b7: 0x6c054620,\n\t0x1a2b8: 0x6cc6da20, 0x1a2b9: 0x6c359c20, 0x1a2ba: 0x6cf24020, 0x1a2bb: 0x6c03ca20,\n\t0x1a2bc: 0x6c3cc220, 0x1a2bd: 0x6d209e20, 0x1a2be: 0x6d310c20, 0x1a2bf: 0x6c3bae20,\n\t// Block 0x68b, offset 0x1a2c0\n\t0x1a2c0: 0x6c496c20, 0x1a2c1: 0x6c104c20, 0x1a2c2: 0x6c446220, 0x1a2c3: 0x6c33c420,\n\t0x1a2c4: 0x6c5a3420, 0x1a2c5: 0x6c31f820, 0x1a2c6: 0x6ce3ce20, 0x1a2c7: 0x6c0fcc20,\n\t0x1a2c8: 0x6cba8a20, 0x1a2c9: 0x6c8b8220, 0x1a2ca: 0x6c901620, 0x1a2cb: 0x6cf13420,\n\t0x1a2cc: 0x6d2eac20, 0x1a2cd: 0x6c801820, 0x1a2ce: 0x6cdbea20, 0x1a2cf: 0x6ca36020,\n\t0x1a2d0: 0x6c0a1020, 0x1a2d1: 0x6ceb3e20, 0x1a2d2: 0x6d3b1a20, 0x1a2d3: 0x6c2e5c20,\n\t0x1a2d4: 0x6c104620, 0x1a2d5: 0x6c716820, 0x1a2d6: 0x6cb3b020, 0x1a2d7: 0x6cfa0c20,\n\t0x1a2d8: 0x6cf04420, 0x1a2d9: 0x6cb3b420, 0x1a2da: 0x6c267420, 0x1a2db: 0x6c387220,\n\t0x1a2dc: 0x6c14e420, 0x1a2dd: 0x6c56f020, 0x1a2de: 0x6d28c020,\n\t0x1a2e4: 0x6c38f020, 0x1a2e5: 0x6d028a20, 0x1a2e6: 0x6c536020, 0x1a2e7: 0x6c1b2e20,\n\t0x1a2e8: 0x6c05c820, 0x1a2e9: 0x6d1a7a20, 0x1a2eb: 0x6c6dd220,\n\t0x1a2ec: 0x6c0f6820, 0x1a2ed: 0x6cc88820, 0x1a2ee: 0x6c1e3a20, 0x1a2ef: 0x6d1c1220,\n\t0x1a2f0: 0x6d143a20, 0x1a2f1: 0x6c411820, 0x1a2f2: 0x6c7d6c20, 0x1a2f3: 0x6d27f020,\n\t0x1a2f4: 0x6d31ec20, 0x1a2f5: 0x6d0b5a20, 0x1a2f6: 0x6c70b820, 0x1a2f7: 0x6c547a20,\n\t0x1a2f8: 0x6c9f7620, 0x1a2f9: 0x6c040220, 0x1a2fa: 0x6c441c20, 0x1a2fb: 0x6c0bb220,\n\t0x1a2fc: 0x6d3d0820, 0x1a2fd: 0x6c505420, 0x1a2fe: 0x6d31ee20, 0x1a2ff: 0x6cd14a20,\n\t// Block 0x68c, offset 0x1a300\n\t0x1a300: 0x6c44a020, 0x1a301: 0x6c0a3e20, 0x1a302: 0x6c34b220, 0x1a303: 0x6c216820,\n\t0x1a304: 0x6c1fb220, 0x1a305: 0x6cca5a20, 0x1a306: 0x6c1a4620, 0x1a307: 0x6cc48a20,\n\t0x1a308: 0x6c191220, 0x1a309: 0x6c99b820, 0x1a30a: 0x6cadf220, 0x1a30b: 0x6ceec220,\n\t0x1a30c: 0x6cb07420, 0x1a30d: 0x6c3f8c20, 0x1a30e: 0x6d3d0e20, 0x1a30f: 0x6cb53c20,\n\t0x1a310: 0x6c8bec20, 0x1a311: 0x6d142020, 0x1a312: 0x6c9adc20, 0x1a313: 0x6cf3f820,\n\t0x1a314: 0x6cb7fa20, 0x1a315: 0x6c2f0020, 0x1a316: 0x6c191a20, 0x1a317: 0x6cfa0e20,\n\t0x1a318: 0x6c518e20, 0x1a319: 0x6cca9220, 0x1a31a: 0x6c487e20, 0x1a31b: 0x6c543e20,\n\t0x1a31c: 0x6c023420, 0x1a31d: 0x6c3f9420, 0x1a31e: 0x6cbbc620, 0x1a31f: 0x6c5d4c20,\n\t0x1a320: 0x6cafa220, 0x1a321: 0x6d0cf820, 0x1a322: 0x6cd84420, 0x1a323: 0x6cf7b420,\n\t0x1a324: 0x6ca02420, 0x1a325: 0x6c7ce420, 0x1a326: 0x6c445620,\n\t0x1a328: 0x6c02fc20, 0x1a329: 0x6cca4220, 0x1a32a: 0x6cd6ee20, 0x1a32b: 0x6c90d820,\n\t0x1a32c: 0x6d320620, 0x1a32d: 0x6c5c9a20, 0x1a32e: 0x6c156620,\n\t0x1a330: 0x6c8c8420, 0x1a331: 0x6ca2ee20, 0x1a332: 0x6c4f3c20, 0x1a333: 0x6c31fc20,\n\t0x1a334: 0x6c6d7820, 0x1a335: 0x6c9df420, 0x1a336: 0x6c38fa20, 0x1a337: 0x6c370020,\n\t0x1a338: 0x6c174220, 0x1a339: 0x6c536220, 0x1a33a: 0x6c536e20, 0x1a33b: 0x6d238820,\n\t0x1a33c: 0x6d096a20, 0x1a33d: 0x6cad3a20, 0x1a33e: 0x6c088220, 0x1a33f: 0x6c175220,\n\t// Block 0x68d, offset 0x1a340\n\t0x1a340: 0x6d1fe220, 0x1a341: 0x6d153a20, 0x1a342: 0x6d096e20, 0x1a343: 0x6cc97e20,\n\t0x1a344: 0x6d073420, 0x1a345: 0x6c866820, 0x1a346: 0x6c868a20, 0x1a347: 0x6d263220,\n\t0x1a348: 0x6c336220, 0x1a349: 0x6c5e0420, 0x1a34a: 0x6ccc7e20, 0x1a34b: 0x6c838c20,\n\t0x1a34c: 0x6cb3ce20, 0x1a34d: 0x6c550e20, 0x1a34e: 0x6c4c8e20, 0x1a34f: 0x6c10c420,\n\t0x1a350: 0x6cc8a620, 0x1a351: 0x6cf0fa20, 0x1a352: 0x6cd9f620, 0x1a353: 0x6c01dc20,\n\t0x1a354: 0x6d21cc20, 0x1a355: 0x6cfd8e20, 0x1a356: 0x6c527c20, 0x1a357: 0x6d0fea20,\n\t0x1a358: 0x6cff4420, 0x1a359: 0x6d116820, 0x1a35b: 0x6c0ac020,\n\t0x1a35d: 0x6c528420, 0x1a35e: 0x6ce25620, 0x1a35f: 0x6c8eee20,\n\t0x1a361: 0x6d3b3420, 0x1a363: 0x6cf89a20,\n\t0x1a364: 0x6d298e20, 0x1a365: 0x6d17d420, 0x1a366: 0x6c312a20, 0x1a367: 0x6d259020,\n\t0x1a368: 0x6c700820, 0x1a36a: 0x6c0f2020, 0x1a36b: 0x6ce35c20,\n\t0x1a36c: 0x6d1d0220, 0x1a36e: 0x6d154020, 0x1a36f: 0x6ca70420,\n\t0x1a370: 0x6ccee220, 0x1a371: 0x6c07c020, 0x1a372: 0x6c465620, 0x1a373: 0x6c04d420,\n\t0x1a374: 0x6ca14820, 0x1a375: 0x6c410420, 0x1a376: 0x6c372620, 0x1a377: 0x6ccf2e20,\n\t0x1a379: 0x6d36d620, 0x1a37a: 0x6d106c20, 0x1a37b: 0x6c66ca20,\n\t0x1a37c: 0x6d263420, 0x1a37d: 0x6cd73020, 0x1a37e: 0x6ce38420, 0x1a37f: 0x6cf02020,\n\t// Block 0x68e, offset 0x1a380\n\t0x1a380: 0x6d0aaa20, 0x1a381: 0x6d36f620, 0x1a382: 0x6d18bc20, 0x1a383: 0x6cc59c20,\n\t0x1a384: 0x6cd3ee20, 0x1a385: 0x6c55d420, 0x1a386: 0x6ca55620, 0x1a387: 0x6d126a20,\n\t0x1a388: 0x6c66f820, 0x1a389: 0x6cdc1220, 0x1a38a: 0x6d1d1e20, 0x1a38b: 0x6c061a20,\n\t0x1a38c: 0x6c55e420, 0x1a38d: 0x6c55e620, 0x1a38e: 0x6d137a20,\n\t0x1a390: 0x6d107420, 0x1a391: 0x6c888e20, 0x1a392: 0x6cf72620, 0x1a393: 0x6c372820,\n\t0x1a394: 0x6c331c20, 0x1a395: 0x6d297e20, 0x1a396: 0x6d3b4420, 0x1a397: 0x6d1d2820,\n\t0x1a398: 0x6d1d2c20, 0x1a399: 0x6c6cca20, 0x1a39a: 0x6c208820, 0x1a39b: 0x6c28ec20,\n\t0x1a39d: 0x6c7b4a20, 0x1a39e: 0x6d196020, 0x1a39f: 0x6d139a20,\n\t0x1a3a0: 0x6c662e20, 0x1a3a1: 0x6c372a20, 0x1a3a2: 0x6ca93e20, 0x1a3a3: 0x6c228820,\n\t0x1a3a4: 0x6cba3420, 0x1a3a5: 0x6d098220, 0x1a3a6: 0x6c0ea420, 0x1a3a7: 0x6c9d1420,\n\t0x1a3a8: 0x6cd73a20, 0x1a3a9: 0x6ca0a620, 0x1a3aa: 0x6c897c20, 0x1a3ab: 0x6cb71820,\n\t0x1a3ac: 0x6cb71a20, 0x1a3ad: 0x6cd44c20, 0x1a3ae: 0x6c3f2020, 0x1a3af: 0x6c0f3a20,\n\t0x1a3b0: 0x6c085820, 0x1a3b1: 0x6c0d0020, 0x1a3b2: 0x6d161c20, 0x1a3b3: 0x6cf13a20,\n\t0x1a3b4: 0x6c587e20, 0x1a3b5: 0x6c38ac20, 0x1a3b6: 0x6cb60e20, 0x1a3b7: 0x6c98f620,\n\t0x1a3b8: 0x6c060820, 0x1a3b9: 0x6c020420, 0x1a3ba: 0x6c020a20, 0x1a3bb: 0x6c403020,\n\t0x1a3bc: 0x6cb63020, 0x1a3bd: 0x6cc45020, 0x1a3be: 0x6ceb4020, 0x1a3bf: 0x6d187420,\n\t// Block 0x68f, offset 0x1a3c0\n\t0x1a3c0: 0x6c0f5420, 0x1a3c1: 0x6cb12820, 0x1a3c2: 0x6c039220,\n\t0x1a3c4: 0x6d082220, 0x1a3c7: 0x6d23fe20,\n\t0x1a3c8: 0x6c1b5620, 0x1a3c9: 0x6c915e20, 0x1a3ca: 0x6d156820, 0x1a3cb: 0x6c868c20,\n\t0x1a3cd: 0x6ca7b020, 0x1a3ce: 0x6cf90220, 0x1a3cf: 0x6cf3fa20,\n\t0x1a3d1: 0x6c834a20, 0x1a3d2: 0x6cb41a20, 0x1a3d3: 0x6d3d1220,\n\t0x1a3d4: 0x6d417e20, 0x1a3d5: 0x6d3dc620, 0x1a3d6: 0x6c168220, 0x1a3d7: 0x6c01de20,\n\t0x1a3d8: 0x6c377220, 0x1a3d9: 0x6d244620, 0x1a3da: 0x6c839c20, 0x1a3db: 0x6c408220,\n\t0x1a3dc: 0x6d2c6420, 0x1a3dd: 0x6c5d0a20, 0x1a3de: 0x6c218e20, 0x1a3df: 0x6cd9fe20,\n\t0x1a3e0: 0x6c089a20, 0x1a3e1: 0x6c0ab420, 0x1a3e2: 0x6d2c6620,\n\t0x1a3e4: 0x6c519e20, 0x1a3e5: 0x6c873a20, 0x1a3e7: 0x6c4f3220,\n\t0x1a3e8: 0x6d292220, 0x1a3e9: 0x6c474a20, 0x1a3ea: 0x6c1a5e20, 0x1a3eb: 0x6c90dc20,\n\t0x1a3ec: 0x6ca19e20, 0x1a3ed: 0x6c9daa20, 0x1a3ee: 0x6c975020, 0x1a3ef: 0x6c030420,\n\t0x1a3f0: 0x6d30c020, 0x1a3f1: 0x6d3a3a20, 0x1a3f2: 0x6c5a3820, 0x1a3f3: 0x6c38f620,\n\t0x1a3f4: 0x6c2b0220, 0x1a3f5: 0x6ce7a420, 0x1a3f7: 0x6c320220,\n\t0x1a3f8: 0x6cf33620, 0x1a3f9: 0x6cf13020, 0x1a3fa: 0x6c62f620, 0x1a3fb: 0x6c1ca020,\n\t0x1a3fc: 0x6c8c1220, 0x1a3fd: 0x6c0c6420, 0x1a3fe: 0x6c901e20, 0x1a3ff: 0x6c664a20,\n\t// Block 0x690, offset 0x1a400\n\t0x1a400: 0x6ca8da20, 0x1a401: 0x6c959e20, 0x1a402: 0x6cd03420,\n\t0x1a404: 0x6c487a20, 0x1a405: 0x6ca8a820, 0x1a406: 0x6d178a20, 0x1a407: 0x6c7a4820,\n\t0x1a408: 0x6cece220, 0x1a409: 0x6cebee20, 0x1a40a: 0x6cb87620, 0x1a40b: 0x6c0f5620,\n\t0x1a40c: 0x6c779220, 0x1a40d: 0x6c8d5020, 0x1a40e: 0x6c423020, 0x1a40f: 0x6c487820,\n\t0x1a410: 0x6c4d2c20, 0x1a411: 0x6c7bb020, 0x1a412: 0x6c527420, 0x1a413: 0x6c7c4620,\n\t0x1a414: 0x6d2b0a20, 0x1a415: 0x6ce64e20, 0x1a416: 0x6c80ee20, 0x1a417: 0x6c0a8020,\n\t0x1a418: 0x6c595a20, 0x1a419: 0x6cb3aa20, 0x1a41a: 0x6d11de20, 0x1a41b: 0x6cedaa20,\n\t0x1a41c: 0x6ce43c20, 0x1a41d: 0x6cdc1620, 0x1a41e: 0x6c7ad020, 0x1a41f: 0x6c337e20,\n\t0x1a420: 0x6c02b620, 0x1a421: 0x6c671620, 0x1a422: 0x6ca09c20, 0x1a423: 0x6c7d4220,\n\t0x1a424: 0x6c7b4c20, 0x1a425: 0x6c01e620, 0x1a426: 0x6c96ea20, 0x1a427: 0x6cbeaa20,\n\t0x1a428: 0x6cbb8820, 0x1a42a: 0x6c77b820, 0x1a42b: 0x6c508220,\n\t0x1a42c: 0x6c34c820, 0x1a42d: 0x6cfaa820, 0x1a42e: 0x6ca37c20, 0x1a42f: 0x6cdd3420,\n\t0x1a430: 0x6c6bf820, 0x1a431: 0x6caf8220, 0x1a432: 0x6cabcc20, 0x1a433: 0x6cd93020,\n\t0x1a434: 0x6c16bc20, 0x1a435: 0x6ca86c20, 0x1a436: 0x6c977620, 0x1a437: 0x6cd93e20,\n\t0x1a438: 0x6c22e420, 0x1a439: 0x6cfae420, 0x1a43a: 0x6c7e2420,\n\t0x1a43c: 0x6c2b9e20, 0x1a43d: 0x6cb3e420, 0x1a43e: 0x6ce5ac20, 0x1a43f: 0x6d40f420,\n\t// Block 0x691, offset 0x1a440\n\t0x1a440: 0x6cf2c820, 0x1a441: 0x6c3ae420, 0x1a442: 0x6c115020, 0x1a443: 0x6caee220,\n\t0x1a444: 0x6cc9d620, 0x1a446: 0x6cc76e20, 0x1a447: 0x6cb68620,\n\t0x1a448: 0x6c25fc20, 0x1a449: 0x6cac8e20, 0x1a44a: 0x6c0fc020, 0x1a44b: 0x6c979c20,\n\t0x1a44c: 0x6d401420, 0x1a44d: 0x6c22f220, 0x1a44e: 0x6c7d4420, 0x1a44f: 0x6c62f820,\n\t0x1a450: 0x6c801420, 0x1a452: 0x6c9bc220, 0x1a453: 0x6c9df820,\n\t0x1a454: 0x6cac9620, 0x1a455: 0x6c91aa20, 0x1a456: 0x6d416020,\n\t0x1a458: 0x6c8ee220, 0x1a459: 0x6d160020, 0x1a45a: 0x6cf1a820, 0x1a45b: 0x6c866c20,\n\t0x1a45c: 0x6c868e20, 0x1a45d: 0x6d2bb820, 0x1a45e: 0x6d3a9220, 0x1a45f: 0x6c5cfc20,\n\t0x1a460: 0x6cd03c20, 0x1a461: 0x6c1c6620, 0x1a462: 0x6d043c20, 0x1a463: 0x6cee3a20,\n\t0x1a464: 0x6c302020, 0x1a465: 0x6c5e2220, 0x1a466: 0x6cb07a20, 0x1a467: 0x6c551420,\n\t0x1a468: 0x6c9ab420, 0x1a469: 0x6c17f420, 0x1a46a: 0x6c9ab820, 0x1a46b: 0x6c175820,\n\t0x1a46c: 0x6c719620, 0x1a46d: 0x6caa3420, 0x1a46f: 0x6d197620,\n\t0x1a470: 0x6cc7f020, 0x1a471: 0x6c8e0420, 0x1a472: 0x6d0bba20,\n\t0x1a474: 0x6cb7bc20, 0x1a475: 0x6d3e7620, 0x1a477: 0x6c058c20,\n\t0x1a478: 0x6c45aa20, 0x1a479: 0x6d2af620, 0x1a47a: 0x6c6bfe20, 0x1a47b: 0x6d219a20,\n\t0x1a47c: 0x6cbd9820, 0x1a47d: 0x6c075820, 0x1a47e: 0x6c035820, 0x1a47f: 0x6ceb5020,\n\t// Block 0x692, offset 0x1a480\n\t0x1a480: 0x6d0f6c20, 0x1a481: 0x6cbbfc20, 0x1a482: 0x6d1ff220, 0x1a483: 0x6d36fa20,\n\t0x1a484: 0x6c6c0a20, 0x1a485: 0x6ca16a20, 0x1a486: 0x6cd12420, 0x1a487: 0x6ccdb820,\n\t0x1a488: 0x6cb65620, 0x1a489: 0x6ccdba20, 0x1a48a: 0x6c9d0420, 0x1a48b: 0x6c460220,\n\t0x1a48c: 0x6d157c20, 0x1a48d: 0x6c453e20, 0x1a48e: 0x6c454020, 0x1a48f: 0x6ce82020,\n\t0x1a490: 0x6c3dac20, 0x1a491: 0x6d092220, 0x1a492: 0x6d137e20, 0x1a493: 0x6ce69a20,\n\t0x1a494: 0x6ce5ae20, 0x1a495: 0x6ca1f620, 0x1a496: 0x6c8ec620, 0x1a497: 0x6c117e20,\n\t0x1a498: 0x6c848020, 0x1a499: 0x6cd51820, 0x1a49a: 0x6c932420, 0x1a49b: 0x6c5e3a20,\n\t0x1a49c: 0x6c263c20, 0x1a49d: 0x6cac1220, 0x1a49e: 0x6c8ed420, 0x1a49f: 0x6c72b820,\n\t0x1a4a0: 0x6d2e9220, 0x1a4a1: 0x6c718220, 0x1a4a2: 0x6d330a20, 0x1a4a3: 0x6d40f820,\n\t0x1a4a4: 0x6cfd3820, 0x1a4a5: 0x6d375020,\n\t0x1a4a8: 0x6c7eb020, 0x1a4ab: 0x6c7ebe20,\n\t0x1a4ac: 0x6d060a20, 0x1a4ad: 0x6c454220, 0x1a4ae: 0x6c35a220, 0x1a4af: 0x6ca21e20,\n\t0x1a4b0: 0x6d384a20, 0x1a4b1: 0x6ce3aa20, 0x1a4b2: 0x6d25ce20, 0x1a4b3: 0x6d2dc020,\n\t0x1a4b4: 0x6c454420, 0x1a4b5: 0x6cf24420, 0x1a4b6: 0x6c80f420, 0x1a4b7: 0x6d21f620,\n\t0x1a4b8: 0x6cda0820, 0x1a4b9: 0x6d2ca020, 0x1a4ba: 0x6c4d3620, 0x1a4bb: 0x6c576e20,\n\t0x1a4bc: 0x6d2e3e20, 0x1a4be: 0x6c90de20, 0x1a4bf: 0x6c165020,\n\t// Block 0x693, offset 0x1a4c0\n\t0x1a4c0: 0x6d376c20, 0x1a4c1: 0x6cf12820, 0x1a4c2: 0x6d083c20, 0x1a4c3: 0x6d2a6420,\n\t0x1a4c4: 0x6c9f8620, 0x1a4c5: 0x6c4aac20, 0x1a4c6: 0x6cda7020,\n\t0x1a4c9: 0x6cd85420, 0x1a4ca: 0x6c352820, 0x1a4cb: 0x6c134220,\n\t0x1a4cc: 0x6c7b7a20, 0x1a4cd: 0x6ce2dc20, 0x1a4ce: 0x6ca57c20, 0x1a4cf: 0x6c819620,\n\t0x1a4d0: 0x6c920820, 0x1a4d1: 0x6d159e20, 0x1a4d2: 0x6d029220, 0x1a4d3: 0x6d0e2a20,\n\t0x1a4d4: 0x6cbe9820, 0x1a4d5: 0x6cb42420, 0x1a4d6: 0x6c1e1220, 0x1a4d7: 0x6cfbe020,\n\t0x1a4d8: 0x6c497020, 0x1a4d9: 0x6c6b8a20, 0x1a4da: 0x6c7f8220, 0x1a4db: 0x6c9bca20,\n\t0x1a4dc: 0x6d13ac20, 0x1a4de: 0x6c869420, 0x1a4df: 0x6d1b8420,\n\t0x1a4e0: 0x6c212620, 0x1a4e1: 0x6cbfde20, 0x1a4e2: 0x6ce2d220, 0x1a4e3: 0x6d21f820,\n\t0x1a4e6: 0x6c278420, 0x1a4e7: 0x6c327420,\n\t0x1a4e8: 0x6c537e20, 0x1a4ea: 0x6cf8c220,\n\t0x1a4ec: 0x6cb64820, 0x1a4ee: 0x6d25a620, 0x1a4ef: 0x6c609e20,\n\t0x1a4f0: 0x6d285020, 0x1a4f1: 0x6c39dc20, 0x1a4f2: 0x6c45ac20, 0x1a4f3: 0x6c4f8820,\n\t0x1a4f4: 0x6d326620, 0x1a4f5: 0x6cc3f620,\n\t0x1a4f8: 0x6c6c0220, 0x1a4f9: 0x6cb02020, 0x1a4fa: 0x6c423220, 0x1a4fb: 0x6d082820,\n\t0x1a4fc: 0x6cd11420, 0x1a4fd: 0x6cd28c20, 0x1a4fe: 0x6cbc2a20, 0x1a4ff: 0x6c227020,\n\t// Block 0x694, offset 0x1a500\n\t0x1a500: 0x6c2eee20, 0x1a501: 0x6c0f7220, 0x1a502: 0x6c2de620, 0x1a503: 0x6ced5020,\n\t0x1a504: 0x6c227220, 0x1a505: 0x6d355420, 0x1a506: 0x6c041220, 0x1a507: 0x6cf47e20,\n\t0x1a508: 0x6c061820, 0x1a509: 0x6c28be20, 0x1a50a: 0x6c039420, 0x1a50b: 0x6ce79620,\n\t0x1a50d: 0x6c45bc20, 0x1a50e: 0x6c702e20, 0x1a50f: 0x6c4b8620,\n\t0x1a510: 0x6c22e820, 0x1a511: 0x6d1ff420, 0x1a512: 0x6d25ba20, 0x1a513: 0x6c81be20,\n\t0x1a514: 0x6c716e20, 0x1a515: 0x6c3f1820, 0x1a516: 0x6ca88e20, 0x1a517: 0x6c358c20,\n\t0x1a518: 0x6c358e20, 0x1a519: 0x6d040e20, 0x1a51a: 0x6c771620, 0x1a51b: 0x6d0ee220,\n\t0x1a51c: 0x6ce90220, 0x1a51d: 0x6cb3f820, 0x1a51e: 0x6c083820, 0x1a51f: 0x6ca02620,\n\t0x1a520: 0x6cd73620, 0x1a521: 0x6d0ef220, 0x1a522: 0x6cb68c20, 0x1a523: 0x6d25ca20,\n\t0x1a524: 0x6c0cca20, 0x1a526: 0x6d07f220, 0x1a527: 0x6c544220,\n\t0x1a528: 0x6c5a3020, 0x1a529: 0x6d10c220, 0x1a52a: 0x6c73a220, 0x1a52b: 0x6c7cb220,\n\t0x1a52c: 0x6c36de20, 0x1a52d: 0x6c60f620, 0x1a52e: 0x6ca19220, 0x1a52f: 0x6c1d2e20,\n\t0x1a530: 0x6c062220, 0x1a531: 0x6cf54e20, 0x1a532: 0x6d327a20, 0x1a533: 0x6d076620,\n\t0x1a534: 0x6cdee820, 0x1a535: 0x6c1c9620, 0x1a536: 0x6cf74a20, 0x1a537: 0x6c23d220,\n\t0x1a538: 0x6c968620, 0x1a539: 0x6c7a1020, 0x1a53a: 0x6d0f0820, 0x1a53b: 0x6c11c420,\n\t0x1a53d: 0x6c520e20, 0x1a53e: 0x6c2ac620, 0x1a53f: 0x6cc49e20,\n\t// Block 0x695, offset 0x1a540\n\t0x1a540: 0x6ce7a820, 0x1a541: 0x6d248c20, 0x1a542: 0x6cfe7020, 0x1a543: 0x6ca4d820,\n\t0x1a544: 0x6cd76420, 0x1a545: 0x6c3bb220, 0x1a546: 0x6cb47820, 0x1a547: 0x6c8dba20,\n\t0x1a548: 0x6c02ba20, 0x1a549: 0x6c58d020, 0x1a54a: 0x6d15a020, 0x1a54b: 0x6c58d220,\n\t0x1a54c: 0x6c9bc620, 0x1a54d: 0x6d1c4e20, 0x1a54e: 0x6c831820, 0x1a54f: 0x6d0f2e20,\n\t0x1a550: 0x6c062820, 0x1a551: 0x6c2f2c20, 0x1a552: 0x6c8e0620, 0x1a553: 0x6cd1f820,\n\t0x1a554: 0x6c689020, 0x1a555: 0x6c8b4420, 0x1a556: 0x6c6dee20, 0x1a557: 0x6c718c20,\n\t0x1a558: 0x6ce30a20, 0x1a559: 0x6cb0e620, 0x1a55a: 0x6c42a620, 0x1a55b: 0x6cff3420,\n\t0x1a55c: 0x6cec5e20, 0x1a55d: 0x6c1fd420, 0x1a55e: 0x6c2bc420, 0x1a55f: 0x6c588e20,\n\t0x1a560: 0x6d11d220, 0x1a561: 0x6c866e20, 0x1a562: 0x6c9c7020, 0x1a563: 0x6c550a20,\n\t0x1a564: 0x6cd11620, 0x1a565: 0x6c638a20, 0x1a566: 0x6d1aa620, 0x1a567: 0x6ceec620,\n\t0x1a569: 0x6cb18e20, 0x1a56a: 0x6c934420, 0x1a56b: 0x6c8dbc20,\n\t0x1a56c: 0x6d184420, 0x1a56d: 0x6c111620, 0x1a56e: 0x6ccd9820, 0x1a56f: 0x6c54fe20,\n\t0x1a570: 0x6cd53620, 0x1a571: 0x6cead420, 0x1a572: 0x6ca16e20, 0x1a573: 0x6c575820,\n\t0x1a574: 0x6ce61a20, 0x1a575: 0x6c0dfe20, 0x1a576: 0x6caee620, 0x1a577: 0x6c5d0820,\n\t0x1a578: 0x6c3dae20, 0x1a579: 0x6c4cdc20, 0x1a57a: 0x6c10d020, 0x1a57b: 0x6c849820,\n\t0x1a57c: 0x6c163e20, 0x1a57d: 0x6cb03420, 0x1a57e: 0x6c260020, 0x1a57f: 0x6c9bb220,\n\t// Block 0x696, offset 0x1a580\n\t0x1a580: 0x6cddc020, 0x1a581: 0x6cbb6020, 0x1a582: 0x6d34c420, 0x1a583: 0x6c7c2420,\n\t0x1a584: 0x6c08a820, 0x1a585: 0x6c029220, 0x1a586: 0x6c9bc820, 0x1a587: 0x6cfd0620,\n\t0x1a588: 0x6c7ab420, 0x1a589: 0x6ce7fc20, 0x1a58a: 0x6ce93c20, 0x1a58b: 0x6cf04a20,\n\t0x1a58c: 0x6cfaf820, 0x1a58e: 0x6ce94220, 0x1a58f: 0x6c81cc20,\n\t0x1a590: 0x6c162220, 0x1a591: 0x6ca6c420, 0x1a592: 0x6ca6d020, 0x1a593: 0x6c845220,\n\t0x1a594: 0x6c304620, 0x1a595: 0x6c72c620, 0x1a596: 0x6cba8620, 0x1a597: 0x6c0fc620,\n\t0x1a598: 0x6cccac20, 0x1a599: 0x6d2c0e20, 0x1a59a: 0x6ce25e20, 0x1a59b: 0x6cba8c20,\n\t0x1a59c: 0x6ca9ee20, 0x1a59d: 0x6d181620, 0x1a59e: 0x6c6e9e20, 0x1a59f: 0x6c41e820,\n\t0x1a5a0: 0x6c2ba020, 0x1a5a1: 0x6c65de20, 0x1a5a2: 0x6c9ab020, 0x1a5a3: 0x6c26c420,\n\t0x1a5a4: 0x6c660620, 0x1a5a5: 0x6d244a20, 0x1a5a6: 0x6d024c20, 0x1a5a7: 0x6d294820,\n\t0x1a5a8: 0x6c988020, 0x1a5a9: 0x6c849a20, 0x1a5aa: 0x6c4c0a20, 0x1a5ab: 0x6d09ca20,\n\t0x1a5ac: 0x6cdedc20, 0x1a5ad: 0x6d310e20, 0x1a5ae: 0x6d107620, 0x1a5af: 0x6ce98620,\n\t0x1a5b0: 0x6cce2e20, 0x1a5b1: 0x6cf93e20, 0x1a5b2: 0x6cbbcc20, 0x1a5b3: 0x6cf13620,\n\t0x1a5b4: 0x6d1d6220, 0x1a5b5: 0x6c1fa820, 0x1a5b6: 0x6cc1ec20, 0x1a5b7: 0x6cebfa20,\n\t0x1a5b9: 0x6d343220, 0x1a5ba: 0x6ce6e420, 0x1a5bb: 0x6c47f820,\n\t0x1a5bc: 0x6cce3020, 0x1a5bd: 0x6c10ec20, 0x1a5be: 0x6c3f1a20, 0x1a5bf: 0x6ce61e20,\n\t// Block 0x697, offset 0x1a5c0\n\t0x1a5c0: 0x6cded220, 0x1a5c1: 0x6cdeea20, 0x1a5c2: 0x6d3da620, 0x1a5c3: 0x6c4e4020,\n\t0x1a5c4: 0x6cb2da20, 0x1a5c5: 0x6c519a20, 0x1a5c6: 0x6d3c7420, 0x1a5c7: 0x6d396e20,\n\t0x1a5c8: 0x6c0fd220, 0x1a5c9: 0x6c8eec20, 0x1a5ca: 0x6caa8c20, 0x1a5cb: 0x6cf71220,\n\t0x1a5cc: 0x6cada220, 0x1a5cd: 0x6c2cb420, 0x1a5ce: 0x6c50ac20, 0x1a5cf: 0x6ce44620,\n\t0x1a5d0: 0x6cec8020, 0x1a5d1: 0x6ce44a20, 0x1a5d2: 0x6cb66a20, 0x1a5d3: 0x6c62a820,\n\t0x1a5d4: 0x6c1b6620, 0x1a5d5: 0x6c03cc20, 0x1a5d6: 0x6c6d7020, 0x1a5d7: 0x6c78e820,\n\t0x1a5d8: 0x6c873e20, 0x1a5d9: 0x6c72c820, 0x1a5da: 0x6cc25620, 0x1a5db: 0x6c7ec820,\n\t0x1a5dc: 0x6c47f020, 0x1a5dd: 0x6cb88620, 0x1a5de: 0x6cb6b420, 0x1a5df: 0x6cfd5020,\n\t0x1a5e0: 0x6c664220, 0x1a5e1: 0x6cd29a20, 0x1a5e2: 0x6c655420, 0x1a5e3: 0x6c005e20,\n\t0x1a5e4: 0x6c577220, 0x1a5e5: 0x6d2c1420, 0x1a5e6: 0x6d2b2e20, 0x1a5e7: 0x6d11e820,\n\t0x1a5e8: 0x6d2dd820, 0x1a5e9: 0x6c630420, 0x1a5ea: 0x6c145c20, 0x1a5eb: 0x6d0f3420,\n\t0x1a5ec: 0x6c654c20, 0x1a5ee: 0x6d0e1020,\n\t0x1a5f0: 0x6c68a820, 0x1a5f1: 0x6ce7a220, 0x1a5f2: 0x6ca41820, 0x1a5f3: 0x6d271a20,\n\t0x1a5f5: 0x6c1b6e20,\n\t// Block 0x698, offset 0x1a600\n\t0x1a600: 0x6d13b620, 0x1a601: 0x6c2f4020, 0x1a602: 0x6c779820, 0x1a603: 0x6cb4c620,\n\t0x1a604: 0x6cce4620, 0x1a605: 0x6cfa2420, 0x1a606: 0x6c4e4c20, 0x1a607: 0x6ced6820,\n\t0x1a608: 0x6d2f1820, 0x1a609: 0x6cc9f220, 0x1a60a: 0x6cce4820, 0x1a60b: 0x6cfa2620,\n\t0x1a60c: 0x6c5e6220, 0x1a60d: 0x6c105620, 0x1a60e: 0x6d221020, 0x1a60f: 0x6c9dfa20,\n\t0x1a610: 0x6c411e20, 0x1a611: 0x6c1e1820, 0x1a612: 0x6c1e1a20, 0x1a613: 0x6d3b6c20,\n\t0x1a614: 0x6cbc8e20, 0x1a615: 0x6caf2220, 0x1a616: 0x6cd2ea20, 0x1a617: 0x6cd2e820,\n\t0x1a618: 0x6cbf9420, 0x1a619: 0x6c0dba20, 0x1a61a: 0x6d12b820, 0x1a61b: 0x6c237e20,\n\t0x1a61c: 0x6c2fd620, 0x1a61d: 0x6cd7b820, 0x1a61e: 0x6c19b020, 0x1a61f: 0x6c2fca20,\n\t0x1a620: 0x6cbf9620, 0x1a621: 0x6c898020, 0x1a622: 0x6c2fcc20, 0x1a623: 0x6d1f9a20,\n\t0x1a624: 0x6c898220, 0x1a625: 0x6d0c5420, 0x1a626: 0x6c0e0820, 0x1a627: 0x6cca9c20,\n\t0x1a628: 0x6c4bb620, 0x1a629: 0x6c6f3620, 0x1a62a: 0x6c447a20, 0x1a62b: 0x6d0ac420,\n\t0x1a62c: 0x6cbb0220, 0x1a62d: 0x6d378220, 0x1a62e: 0x6c611020, 0x1a62f: 0x6c6ba220,\n\t0x1a630: 0x6c3c0c20, 0x1a631: 0x6c497420, 0x1a632: 0x6c202c20, 0x1a633: 0x6c159620,\n\t0x1a634: 0x6c8ba220, 0x1a635: 0x6d3d3620, 0x1a636: 0x6d3a5220, 0x1a637: 0x6c4d0420,\n\t0x1a638: 0x6cecb420, 0x1a639: 0x6c27b220, 0x1a63a: 0x6cf06a20, 0x1a63b: 0x6d3a5420,\n\t0x1a63c: 0x6c6e0020, 0x1a63d: 0x6c857420, 0x1a63e: 0x6c71aa20, 0x1a63f: 0x6cb1dc20,\n\t// Block 0x699, offset 0x1a640\n\t0x1a640: 0x6c3dc220, 0x1a641: 0x6d144620, 0x1a642: 0x6d163420, 0x1a643: 0x6ca38c20,\n\t0x1a644: 0x6cf55020, 0x1a645: 0x6c6f9c20, 0x1a646: 0x6c6f9e20, 0x1a647: 0x6cea9020,\n\t0x1a648: 0x6c99c220, 0x1a649: 0x6d163820, 0x1a64a: 0x6d13b820, 0x1a64b: 0x6d337c20,\n\t0x1a64c: 0x6cf33c20, 0x1a64d: 0x6d2ca620, 0x1a64e: 0x6c56f820, 0x1a64f: 0x6c37f420,\n\t0x1a650: 0x6c820820, 0x1a651: 0x6d1a1e20, 0x1a652: 0x6cb24620, 0x1a653: 0x6caccc20,\n\t0x1a654: 0x6cbbce20, 0x1a655: 0x6c560e20, 0x1a656: 0x6c48c220, 0x1a657: 0x6c19c420,\n\t0x1a658: 0x6c19d420, 0x1a659: 0x6d15aa20, 0x1a65a: 0x6d1abc20, 0x1a65b: 0x6d0bd820,\n\t0x1a65c: 0x6c9ebc20, 0x1a65d: 0x6c6f9a20, 0x1a65e: 0x6cb6c020, 0x1a65f: 0x6d129c20,\n\t0x1a660: 0x6cf76820, 0x1a661: 0x6cfd5e20, 0x1a662: 0x6c412020, 0x1a663: 0x6c6fa020,\n\t0x1a664: 0x6cfa2820, 0x1a665: 0x6c563020, 0x1a666: 0x6cd49620, 0x1a667: 0x6c315a20,\n\t0x1a668: 0x6cd2aa20, 0x1a669: 0x6c5e7020, 0x1a66a: 0x6ca45420, 0x1a66b: 0x6c631a20,\n\t0x1a66c: 0x6c71ec20, 0x1a66d: 0x6cd23220, 0x1a66e: 0x6c992220, 0x1a66f: 0x6c549020,\n\t0x1a670: 0x6c971020, 0x1a671: 0x6c949020, 0x1a672: 0x6d3dfe20, 0x1a673: 0x6cc7f820,\n\t0x1a674: 0x6d08f620, 0x1a675: 0x6d0d4220, 0x1a676: 0x6c3f3a20, 0x1a677: 0x6ccbcc20,\n\t0x1a678: 0x6ca2f020, 0x1a679: 0x6c418220, 0x1a67a: 0x6cdd5020, 0x1a67b: 0x6d20d020,\n\t0x1a67c: 0x6c258c20, 0x1a67d: 0x6d30d420, 0x1a67e: 0x6c419020, 0x1a67f: 0x6d35d220,\n\t// Block 0x69a, offset 0x1a680\n\t0x1a680: 0x6c4a5020, 0x1a681: 0x6c419820, 0x1a682: 0x6c949a20, 0x1a683: 0x6c8c2220,\n\t0x1a684: 0x6d17d820, 0x1a685: 0x6c73be20, 0x1a686: 0x6c823620, 0x1a687: 0x6c96ec20,\n\t0x1a688: 0x6d221220, 0x1a689: 0x6d328020, 0x1a68a: 0x6cd30620, 0x1a68b: 0x6cd31020,\n\t0x1a68c: 0x6c37b420, 0x1a68d: 0x6c1f0020, 0x1a68e: 0x6d20a220, 0x1a68f: 0x6c7c3020,\n\t0x1a690: 0x6d20a020, 0x1a691: 0x6d277420, 0x1a692: 0x6c563220, 0x1a693: 0x6cb56020,\n\t0x1a694: 0x6cf41420, 0x1a695: 0x6c6dfe20, 0x1a696: 0x6cd87220, 0x1a697: 0x6cdc1c20,\n\t0x1a698: 0x6c44a620, 0x1a699: 0x6c44a820, 0x1a69a: 0x6d0b6c20, 0x1a69b: 0x6d003620,\n\t0x1a69c: 0x6d0b7420, 0x1a69d: 0x6cb57820, 0x1a69e: 0x6d0b7c20, 0x1a69f: 0x6c5fd820,\n\t0x1a6a0: 0x6ce7e220, 0x1a6a1: 0x6cedd420, 0x1a6a2: 0x6c777420, 0x1a6a3: 0x6cde2a20,\n\t0x1a6a4: 0x6c682220, 0x1a6a5: 0x6c4d4e20, 0x1a6a6: 0x6d165220, 0x1a6a7: 0x6c158c20,\n\t0x1a6a8: 0x6c524420, 0x1a6a9: 0x6ca22220, 0x1a6aa: 0x6d13b220, 0x1a6ab: 0x6cfdd820,\n\t0x1a6ac: 0x6c6d8e20, 0x1a6ad: 0x6ce66220, 0x1a6ae: 0x6c89aa20, 0x1a6af: 0x6cfdda20,\n\t0x1a6b0: 0x6c6d9620, 0x1a6b1: 0x6d12d420, 0x1a6b2: 0x6cbd1c20, 0x1a6b3: 0x6c0ece20,\n\t0x1a6b4: 0x6d204420, 0x1a6b5: 0x6d01a020, 0x1a6b6: 0x6c283820, 0x1a6b7: 0x6c880820,\n\t0x1a6b8: 0x6c34b420, 0x1a6b9: 0x6c9ae020, 0x1a6ba: 0x6cc55a20, 0x1a6bb: 0x6cc55c20,\n\t0x1a6bc: 0x6c5fb620, 0x1a6bd: 0x6c630a20, 0x1a6be: 0x6cedd620, 0x1a6bf: 0x6d163a20,\n\t// Block 0x69b, offset 0x1a6c0\n\t0x1a6c0: 0x6cd03620, 0x1a6c1: 0x6cc55e20, 0x1a6c2: 0x6c820220, 0x1a6c3: 0x6c2f4220,\n\t0x1a6c4: 0x6d2b3220, 0x1a6c5: 0x6c6c7e20, 0x1a6c6: 0x6cb3fa20, 0x1a6c7: 0x6c1d8c20,\n\t0x1a6c8: 0x6c030c20, 0x1a6c9: 0x6d2ef620, 0x1a6ca: 0x6c6c1c20, 0x1a6cb: 0x6c6ba420,\n\t0x1a6cc: 0x6c0da020, 0x1a6cd: 0x6cc61220, 0x1a6ce: 0x6c237c20, 0x1a6cf: 0x6c3d0820,\n\t0x1a6d0: 0x6cca1220, 0x1a6d1: 0x6c94d420, 0x1a6d2: 0x6c0da220, 0x1a6d3: 0x6c121c20,\n\t0x1a6d4: 0x6d3ed620, 0x1a6d5: 0x6cd2ee20, 0x1a6d6: 0x6cddda20, 0x1a6d7: 0x6d2f1a20,\n\t0x1a6d8: 0x6c3fa420, 0x1a6d9: 0x6cfd5620, 0x1a6da: 0x6cfa6a20, 0x1a6db: 0x6cea9220,\n\t0x1a6dc: 0x6c52e820, 0x1a6dd: 0x6ce70a20, 0x1a6de: 0x6cc5a620, 0x1a6df: 0x6cb88e20,\n\t0x1a6e0: 0x6c41c220, 0x1a6e1: 0x6c436220, 0x1a6e2: 0x6c0ea620, 0x1a6e3: 0x6c272220,\n\t0x1a6e4: 0x6c8e1820, 0x1a6e5: 0x6d15ae20, 0x1a6e6: 0x6c17b020, 0x1a6e7: 0x6c169020,\n\t0x1a6e8: 0x6cc93e20, 0x1a6e9: 0x6cce5a20, 0x1a6ea: 0x6d144a20, 0x1a6eb: 0x6ca25e20,\n\t0x1a6ec: 0x6c9b0220, 0x1a6ed: 0x6cc5a820, 0x1a6ee: 0x6c63fe20, 0x1a6ef: 0x6c17b220,\n\t0x1a6f0: 0x6d0ffc20, 0x1a6f1: 0x6cb96820, 0x1a6f2: 0x6d380e20, 0x1a6f3: 0x6cb04620,\n\t0x1a6f4: 0x6cf2cc20, 0x1a6f5: 0x6cf41820, 0x1a6f6: 0x6c665020, 0x1a6f7: 0x6c643620,\n\t0x1a6f8: 0x6d117e20, 0x1a6f9: 0x6c3c1220, 0x1a6fa: 0x6c121e20, 0x1a6fb: 0x6cc5ac20,\n\t0x1a6fc: 0x6ceddc20, 0x1a6fd: 0x6c3bc420, 0x1a6fe: 0x6c2b0c20, 0x1a6ff: 0x6c39b620,\n\t// Block 0x69c, offset 0x1a700\n\t0x1a700: 0x6d378420, 0x1a701: 0x6cb6c820, 0x1a702: 0x6cadf820, 0x1a703: 0x6d20a620,\n\t0x1a704: 0x6c2e0620, 0x1a705: 0x6c33d220, 0x1a706: 0x6cf49c20, 0x1a707: 0x6d165620,\n\t0x1a708: 0x6d030a20, 0x1a709: 0x6c777620, 0x1a70a: 0x6d13bc20, 0x1a70b: 0x6c5fbc20,\n\t0x1a70c: 0x6c008620, 0x1a70d: 0x6cf55420, 0x1a70e: 0x6c617220, 0x1a70f: 0x6c3dca20,\n\t0x1a710: 0x6c37f620, 0x1a711: 0x6d04b220, 0x1a712: 0x6c6ccc20, 0x1a713: 0x6caf2420,\n\t0x1a714: 0x6c281820, 0x1a715: 0x6c3d3420, 0x1a716: 0x6ce16c20, 0x1a717: 0x6d381020,\n\t0x1a718: 0x6d1e8820, 0x1a719: 0x6c5d8620, 0x1a71a: 0x6c5b8a20, 0x1a71b: 0x6d221420,\n\t0x1a71c: 0x6c251620, 0x1a71d: 0x6c1fee20, 0x1a71e: 0x6cca1420, 0x1a71f: 0x6cef8220,\n\t0x1a720: 0x6c1ff020, 0x1a721: 0x6c17cc20, 0x1a722: 0x6d0b0a20, 0x1a723: 0x6cfc7020,\n\t0x1a724: 0x6ccdfe20, 0x1a725: 0x6c165e20, 0x1a726: 0x6c94d620, 0x1a727: 0x6c122020,\n\t0x1a728: 0x6d0a6420, 0x1a729: 0x6d031220, 0x1a72a: 0x6cef8420, 0x1a72b: 0x6d3a9a20,\n\t0x1a72c: 0x6d2b5820, 0x1a72d: 0x6cfb2220, 0x1a72e: 0x6caa4820, 0x1a72f: 0x6c0eaa20,\n\t0x1a730: 0x6c46e620, 0x1a731: 0x6ca62020, 0x1a732: 0x6ca67a20, 0x1a733: 0x6d015420,\n\t0x1a734: 0x6c04de20, 0x1a735: 0x6d066a20, 0x1a736: 0x6c8e2c20, 0x1a737: 0x6d38f820,\n\t0x1a738: 0x6ccfa020, 0x1a739: 0x6cc0ca20, 0x1a73a: 0x6c22ac20, 0x1a73b: 0x6c07ce20,\n\t0x1a73c: 0x6cd2f620, 0x1a73d: 0x6c631e20, 0x1a73e: 0x6caf2620, 0x1a73f: 0x6d167220,\n\t// Block 0x69d, offset 0x1a740\n\t0x1a740: 0x6cd87c20, 0x1a741: 0x6d15b620, 0x1a742: 0x6d328220, 0x1a743: 0x6c2d3420,\n\t0x1a744: 0x6c4d9020, 0x1a745: 0x6c972220, 0x1a746: 0x6c286220, 0x1a747: 0x6d3a9c20,\n\t0x1a748: 0x6c105a20, 0x1a749: 0x6cc0cc20, 0x1a74a: 0x6c08b420, 0x1a74b: 0x6d2f5020,\n\t0x1a74c: 0x6c228c20, 0x1a74d: 0x6cf06e20, 0x1a74e: 0x6c2b0e20, 0x1a74f: 0x6d3a9e20,\n\t0x1a750: 0x6d426220, 0x1a751: 0x6d200e20, 0x1a752: 0x6d0ffe20, 0x1a753: 0x6ce3ba20,\n\t0x1a754: 0x6d2e4820, 0x1a755: 0x6c50b820, 0x1a756: 0x6c091020, 0x1a757: 0x6ceae420,\n\t0x1a758: 0x6ccf0820, 0x1a759: 0x6d20ac20, 0x1a75a: 0x6d167420, 0x1a75b: 0x6c3dd020,\n\t0x1a75c: 0x6d427420, 0x1a75d: 0x6c463420, 0x1a75e: 0x6ca95020, 0x1a75f: 0x6ce70e20,\n\t0x1a760: 0x6ca62220, 0x1a761: 0x6cfa7620, 0x1a762: 0x6cc17220, 0x1a763: 0x6d1d7c20,\n\t0x1a764: 0x6cec0e20, 0x1a765: 0x6cb8a220, 0x1a766: 0x6cd40a20, 0x1a767: 0x6c761a20,\n\t0x1a768: 0x6c068820, 0x1a769: 0x6cae0420, 0x1a76a: 0x6c5b1a20, 0x1a76b: 0x6c51b620,\n\t0x1a76c: 0x6c819c20, 0x1a76d: 0x6cfdac20, 0x1a76e: 0x6c43c420, 0x1a76f: 0x6d0f8420,\n\t0x1a770: 0x6c041820, 0x1a771: 0x6c382c20, 0x1a772: 0x6ca02a20, 0x1a773: 0x6c632420,\n\t0x1a774: 0x6c37bc20, 0x1a775: 0x6c0e0a20, 0x1a776: 0x6c5fda20, 0x1a777: 0x6c523820,\n\t0x1a778: 0x6c5d6c20, 0x1a779: 0x6c4ac420, 0x1a77a: 0x6cc2b620, 0x1a77b: 0x6ce54820,\n\t0x1a77c: 0x6c68c820, 0x1a77d: 0x6c22b020, 0x1a77e: 0x6d16a220, 0x1a77f: 0x6cd2b220,\n\t// Block 0x69e, offset 0x1a780\n\t0x1a780: 0x6d03c620, 0x1a781: 0x6ccfa620, 0x1a782: 0x6ceaa620, 0x1a783: 0x6c76c020,\n\t0x1a784: 0x6d343a20, 0x1a785: 0x6c40dc20, 0x1a786: 0x6c7ee220, 0x1a787: 0x6d146c20,\n\t0x1a788: 0x6c1b7a20, 0x1a789: 0x6c7ad220, 0x1a78a: 0x6c49d420, 0x1a78b: 0x6c858620,\n\t0x1a78c: 0x6d19a820, 0x1a78d: 0x6cd31220, 0x1a78e: 0x6c9cda20, 0x1a78f: 0x6d398220,\n\t0x1a790: 0x6d067a20, 0x1a791: 0x6d201420, 0x1a792: 0x6c011820, 0x1a793: 0x6c921620,\n\t0x1a794: 0x6ca1c020, 0x1a795: 0x6c373420, 0x1a796: 0x6c94de20, 0x1a797: 0x6c305220,\n\t0x1a798: 0x6c143020, 0x1a799: 0x6c1a9420, 0x1a79a: 0x6d0a6a20, 0x1a79b: 0x6c456220,\n\t0x1a79c: 0x6d385620, 0x1a79d: 0x6d13ca20, 0x1a79e: 0x6cc78c20, 0x1a79f: 0x6c25a220,\n\t0x1a7a0: 0x6cf98820, 0x1a7a1: 0x6cd88620, 0x1a7a2: 0x6d292c20, 0x1a7a3: 0x6c937820,\n\t0x1a7a4: 0x6cdefc20, 0x1a7a5: 0x6c68ca20, 0x1a7a6: 0x6d312220, 0x1a7a7: 0x6c12ca20,\n\t0x1a7a8: 0x6cbbd020, 0x1a7a9: 0x6c7b1220, 0x1a7aa: 0x6c147020, 0x1a7ab: 0x6ca95220,\n\t0x1a7ac: 0x6ca9b020, 0x1a7ad: 0x6c6c8420, 0x1a7ae: 0x6cf43220, 0x1a7af: 0x6c53ec20,\n\t0x1a7b0: 0x6c6efe20, 0x1a7b1: 0x6c1a6420, 0x1a7b2: 0x6d321e20, 0x1a7b3: 0x6d428220,\n\t0x1a7b4: 0x6c1e2620, 0x1a7b5: 0x6cbd1e20, 0x1a7b6: 0x6c937a20, 0x1a7b7: 0x6c70f820,\n\t0x1a7b8: 0x6cd5a420, 0x1a7b9: 0x6ce6b420, 0x1a7ba: 0x6cd09220, 0x1a7bb: 0x6ce9f420,\n\t0x1a7bc: 0x6c0ec020, 0x1a7bd: 0x6ca3e820, 0x1a7be: 0x6cfe8820, 0x1a7bf: 0x6c0b8220,\n\t// Block 0x69f, offset 0x1a7c0\n\t0x1a7c0: 0x6ce9de20, 0x1a7c1: 0x6d222420, 0x1a7c2: 0x6cf85220, 0x1a7c3: 0x6c242e20,\n\t0x1a7c4: 0x6c354e20, 0x1a7c5: 0x6cc01020, 0x1a7c6: 0x6d061620, 0x1a7c7: 0x6c4a1820,\n\t0x1a7c8: 0x6c7a8420, 0x1a7c9: 0x6cf43420, 0x1a7ca: 0x6c759620, 0x1a7cb: 0x6d16da20,\n\t0x1a7cc: 0x6c3f4620, 0x1a7cd: 0x6c894820, 0x1a7ce: 0x6d410e20, 0x1a7cf: 0x6cbc3020,\n\t0x1a7d0: 0x6c859a20, 0x1a7d1: 0x6d1e1620, 0x1a7d2: 0x6c5d1c20, 0x1a7d3: 0x6c6e5220,\n\t0x1a7d4: 0x6cba4220, 0x1a7d5: 0x6cca4820, 0x1a7d6: 0x6cadf420, 0x1a7d7: 0x6cda7220,\n\t0x1a7d8: 0x6c3e0620, 0x1a7d9: 0x6cf59820, 0x1a7da: 0x6c850020, 0x1a7db: 0x6c3f4820,\n\t0x1a7dc: 0x6cb24a20, 0x1a7dd: 0x6c05ea20, 0x1a7de: 0x6d20d220, 0x1a7df: 0x6cb59020,\n\t0x1a7e0: 0x6cf99020, 0x1a7e1: 0x6d032220, 0x1a7e2: 0x6d04b620, 0x1a7e3: 0x6d222620,\n\t0x1a7e4: 0x6c2c2420, 0x1a7e5: 0x6c17d020, 0x1a7e6: 0x6c1d9220, 0x1a7e7: 0x6d377c20,\n\t0x1a7e8: 0x6d0d4e20, 0x1a7e9: 0x6c87e820, 0x1a7ea: 0x6c859c20, 0x1a7eb: 0x6c7ee420,\n\t0x1a7ec: 0x6cd8fc20, 0x1a7ed: 0x6c656a20, 0x1a7ee: 0x6d04b820, 0x1a7ef: 0x6c3f5220,\n\t0x1a7f0: 0x6c5daa20, 0x1a7f1: 0x6c721e20, 0x1a7f2: 0x6cffd820, 0x1a7f3: 0x6cabf620,\n\t0x1a7f4: 0x6c666420, 0x1a7f5: 0x6c0c8c20, 0x1a7f6: 0x6c1f2020, 0x1a7f7: 0x6c3a9420,\n\t0x1a7f8: 0x6c3cde20, 0x1a7f9: 0x6d0b8a20, 0x1a7fa: 0x6c017a20, 0x1a7fb: 0x6c06f820,\n\t0x1a7fc: 0x6d22ea20, 0x1a7fd: 0x6d02bc20, 0x1a7fe: 0x6c08ce20, 0x1a7ff: 0x6c561620,\n\t// Block 0x6a0, offset 0x1a800\n\t0x1a800: 0x6c166220, 0x1a801: 0x6d33be20, 0x1a802: 0x6c0e1020, 0x1a803: 0x6c6fe420,\n\t0x1a804: 0x6d10de20, 0x1a805: 0x6c252020, 0x1a806: 0x6c87ea20, 0x1a807: 0x6cecf420,\n\t0x1a808: 0x6c7ee620, 0x1a809: 0x6c122820, 0x1a80a: 0x6d401c20, 0x1a80b: 0x6c448220,\n\t0x1a80c: 0x6c490a20, 0x1a80d: 0x6c06fa20, 0x1a80e: 0x6ce4dc20, 0x1a80f: 0x6cd4b420,\n\t0x1a810: 0x6cd4b620, 0x1a811: 0x6c9b0420, 0x1a812: 0x6c2a0620, 0x1a813: 0x6cdfd420,\n\t0x1a814: 0x6c740e20, 0x1a815: 0x6c20c220, 0x1a816: 0x6d041e20, 0x1a817: 0x6cae9420,\n\t0x1a818: 0x6ce17020, 0x1a819: 0x6c548e20, 0x1a81a: 0x6d15da20, 0x1a81b: 0x6cb4d620,\n\t0x1a81c: 0x6ce3de20, 0x1a81d: 0x6c421420, 0x1a81e: 0x6c6e5e20, 0x1a81f: 0x6c6bd620,\n\t0x1a820: 0x6cdbb220, 0x1a821: 0x6c170a20, 0x1a822: 0x6c6a9e20, 0x1a823: 0x6c39ce20,\n\t0x1a824: 0x6d344420, 0x1a825: 0x6c796c20, 0x1a826: 0x6c734220, 0x1a827: 0x6d3f7420,\n\t0x1a828: 0x6c722020, 0x1a829: 0x6cba4620, 0x1a82a: 0x6ca5c820, 0x1a82b: 0x6c94e420,\n\t0x1a82c: 0x6d3cf420, 0x1a82d: 0x6cf27e20, 0x1a82e: 0x6c95a820, 0x1a82f: 0x6cd91020,\n\t0x1a830: 0x6c839220, 0x1a831: 0x6c5d1e20, 0x1a832: 0x6c2fea20, 0x1a833: 0x6d3f3620,\n\t0x1a834: 0x6c07aa20, 0x1a835: 0x6cf43820, 0x1a836: 0x6c722220, 0x1a837: 0x6ca39e20,\n\t0x1a838: 0x6c112020, 0x1a839: 0x6c657820, 0x1a83a: 0x6d2d3820, 0x1a83b: 0x6d125a20,\n\t0x1a83c: 0x6d344620, 0x1a83d: 0x6ccc4020, 0x1a83e: 0x6cbe3820, 0x1a83f: 0x6cbd1220,\n\t// Block 0x6a1, offset 0x1a840\n\t0x1a840: 0x6d1ba420, 0x1a841: 0x6c196620, 0x1a842: 0x6c648020, 0x1a843: 0x6d0d6220,\n\t0x1a844: 0x6cc85c20, 0x1a845: 0x6d382420, 0x1a846: 0x6c217620, 0x1a847: 0x6c641220,\n\t0x1a848: 0x6c61da20, 0x1a849: 0x6cefa820, 0x1a84a: 0x6d224220, 0x1a84b: 0x6c0e1820,\n\t0x1a84c: 0x6cc91620, 0x1a84d: 0x6ce31a20, 0x1a84e: 0x6cee7020, 0x1a84f: 0x6cb0ee20,\n\t0x1a850: 0x6d0e5a20, 0x1a851: 0x6c3c3a20, 0x1a852: 0x6ce17220, 0x1a853: 0x6cf2e020,\n\t0x1a854: 0x6c360620, 0x1a855: 0x6d009a20, 0x1a856: 0x6c17e820, 0x1a857: 0x6cd13020,\n\t0x1a858: 0x6c76ca20, 0x1a859: 0x6c2c3820, 0x1a85a: 0x6d429620, 0x1a85b: 0x6c138e20,\n\t0x1a85c: 0x6ce66c20, 0x1a85d: 0x6c070620, 0x1a85e: 0x6d018820, 0x1a85f: 0x6c59b020,\n\t0x1a860: 0x6d11a820, 0x1a861: 0x6d2e5420, 0x1a862: 0x6c1e2a20, 0x1a863: 0x6d0bec20,\n\t0x1a864: 0x6d1f2820, 0x1a865: 0x6c666820, 0x1a866: 0x6d063a20, 0x1a867: 0x6d2bd220,\n\t0x1a868: 0x6c220220, 0x1a869: 0x6c3fdc20, 0x1a86a: 0x6c087020, 0x1a86b: 0x6d35d420,\n\t0x1a86c: 0x6d3fea20, 0x1a86d: 0x6c9e1620, 0x1a86e: 0x6c601020, 0x1a86f: 0x6d15e420,\n\t0x1a870: 0x6d018a20, 0x1a871: 0x6d0a0420, 0x1a872: 0x6c10f420, 0x1a873: 0x6c329420,\n\t0x1a874: 0x6c12da20, 0x1a875: 0x6d314c20, 0x1a876: 0x6cab7c20, 0x1a877: 0x6ce7d420,\n\t0x1a878: 0x6ce7d620, 0x1a879: 0x6c070820, 0x1a87a: 0x6d28b220, 0x1a87b: 0x6c908420,\n\t0x1a87c: 0x6c6aac20, 0x1a87d: 0x6cefaa20, 0x1a87e: 0x6c3bd620, 0x1a87f: 0x6c16a020,\n\t// Block 0x6a2, offset 0x1a880\n\t0x1a880: 0x6c4a5220, 0x1a881: 0x6cda1420, 0x1a882: 0x6d361420, 0x1a883: 0x6cdab020,\n\t0x1a884: 0x6cf96620, 0x1a885: 0x6c40b020, 0x1a886: 0x6d261420, 0x1a887: 0x6cc70420,\n\t0x1a888: 0x6c860420, 0x1a889: 0x6caa6420, 0x1a88a: 0x6d282c20, 0x1a88b: 0x6c67a620,\n\t0x1a88c: 0x6c96bc20, 0x1a88d: 0x6c056e20, 0x1a88e: 0x6c2cc820, 0x1a88f: 0x6ce0ee20,\n\t0x1a890: 0x6c503c20, 0x1a891: 0x6c6ac220, 0x1a892: 0x6cf60820, 0x1a893: 0x6ccd8820,\n\t0x1a894: 0x6cba5020, 0x1a895: 0x6c744020, 0x1a896: 0x6c122c20, 0x1a897: 0x6c1f3c20,\n\t0x1a898: 0x6cca1820, 0x1a899: 0x6c071c20, 0x1a89a: 0x6cffe820, 0x1a89b: 0x6d1e3420,\n\t0x1a89c: 0x6d10f220, 0x1a89d: 0x6ce09620, 0x1a89e: 0x6cdd1420, 0x1a89f: 0x6d101c20,\n\t0x1a8a0: 0x6c37ea20, 0x1a8a1: 0x6c0e1c20, 0x1a8a2: 0x6c635a20, 0x1a8a3: 0x6c271820,\n\t0x1a8a4: 0x6d293620, 0x1a8a5: 0x6ce17620, 0x1a8a6: 0x6c483820, 0x1a8a7: 0x6c0d3420,\n\t0x1a8a8: 0x6c1ede20, 0x1a8a9: 0x6caabc20, 0x1a8aa: 0x6c116c20, 0x1a8ab: 0x6c82c820,\n\t0x1a8ac: 0x6c24ca20, 0x1a8ad: 0x6d1d8820, 0x1a8ae: 0x6d2a1420, 0x1a8af: 0x6d3ff620,\n\t0x1a8b0: 0x6c07f420, 0x1a8b1: 0x6cd95e20, 0x1a8b2: 0x6c02ce20, 0x1a8b3: 0x6c1ffe20,\n\t0x1a8b4: 0x6d226620, 0x1a8b5: 0x6d2d4220, 0x1a8b6: 0x6d40c220, 0x1a8b7: 0x6cce0620,\n\t0x1a8b8: 0x6c208e20, 0x1a8b9: 0x6c6e8c20, 0x1a8ba: 0x6c1c2c20, 0x1a8bb: 0x6ccc3220,\n\t0x1a8bc: 0x6c4ecc20, 0x1a8bd: 0x6d2eb820, 0x1a8be: 0x6cbe4c20, 0x1a8bf: 0x6d0e8020,\n\t// Block 0x6a3, offset 0x1a8c0\n\t0x1a8c0: 0x6c2c6620, 0x1a8c1: 0x6d01bc20, 0x1a8c2: 0x6c909220, 0x1a8c3: 0x6c072020,\n\t0x1a8c4: 0x6cb1b020, 0x1a8c5: 0x6c6c9420, 0x1a8c6: 0x6c88f020, 0x1a8c7: 0x6c926020,\n\t0x1a8c8: 0x6c976620, 0x1a8c9: 0x6cb8ea20, 0x1a8ca: 0x6cfaba20, 0x1a8cb: 0x6ce09c20,\n\t0x1a8cc: 0x6d1c7a20, 0x1a8cd: 0x6c307e20, 0x1a8ce: 0x6d3bd220, 0x1a8cf: 0x6cfe3c20,\n\t0x1a8d0: 0x6ccd9220, 0x1a8d1: 0x6cbbe220, 0x1a8d2: 0x6c6f2220, 0x1a8d3: 0x6ce9e820,\n\t0x1a8d4: 0x6d420620, 0x1a8d5: 0x6cb44220, 0x1a8d6: 0x6cf66020, 0x1a8d7: 0x6c815e20,\n\t0x1a8d8: 0x6c16f020, 0x1a8d9: 0x6c49ec20, 0x1a8da: 0x6c89ec20, 0x1a8db: 0x6cb50420,\n\t0x1a8dc: 0x6c197820, 0x1a8dd: 0x6c150820, 0x1a8de: 0x6cefee20, 0x1a8df: 0x6c5efe20,\n\t0x1a8e0: 0x6c0e8220, 0x1a8e1: 0x6c5bf020, 0x1a8e2: 0x6c202420, 0x1a8e3: 0x6ce5fc20,\n\t0x1a8e4: 0x6c289a20, 0x1a8e5: 0x6c691220, 0x1a8e6: 0x6c700a20, 0x1a8e7: 0x6ccbb820,\n\t0x1a8e8: 0x6c3be020, 0x1a8e9: 0x6cfce620, 0x1a8ea: 0x6c713c20, 0x1a8eb: 0x6c366c20,\n\t0x1a8ec: 0x6c685820, 0x1a8ed: 0x6c66a420, 0x1a8ee: 0x6ce76420, 0x1a8ef: 0x6c8c5620,\n\t0x1a8f0: 0x6c0f2420, 0x1a8f1: 0x6c482220, 0x1a8f2: 0x6cfd5820, 0x1a8f3: 0x6cdade20,\n\t0x1a8f4: 0x6cfce820, 0x1a8f5: 0x6c676e20, 0x1a8f6: 0x6c9fc020, 0x1a8f7: 0x6d130e20,\n\t0x1a8f8: 0x6c6d3220, 0x1a8f9: 0x6c644e20, 0x1a8fa: 0x6cbc5220, 0x1a8fb: 0x6cb0b420,\n\t0x1a8fc: 0x6c3c6020, 0x1a8fd: 0x6d394220, 0x1a8fe: 0x6c00c020, 0x1a8ff: 0x6cc9e820,\n\t// Block 0x6a4, offset 0x1a900\n\t0x1a900: 0x6d154220, 0x1a901: 0x6c75d220, 0x1a902: 0x6ca9be20, 0x1a903: 0x6c151620,\n\t0x1a904: 0x6d184620, 0x1a905: 0x6c297c20, 0x1a906: 0x6c6e2420, 0x1a907: 0x6d07b620,\n\t0x1a908: 0x6c7b3020, 0x1a909: 0x6c65c820, 0x1a90a: 0x6c1f6820, 0x1a90b: 0x6c27f420,\n\t0x1a90c: 0x6c692020, 0x1a90d: 0x6ccc3420, 0x1a90e: 0x6d294020, 0x1a90f: 0x6c121820,\n\t0x1a910: 0x6c0d5020, 0x1a911: 0x6c017220, 0x1a912: 0x6cc7c420, 0x1a913: 0x6cdf3c20,\n\t0x1a914: 0x6c1dd820, 0x1a915: 0x6c148a20, 0x1a916: 0x6c7fb220, 0x1a917: 0x6ca64620,\n\t0x1a918: 0x6c6cb420, 0x1a919: 0x6cba7020, 0x1a91a: 0x6c9b3420, 0x1a91b: 0x6cf47620,\n\t0x1a91c: 0x6ca91820, 0x1a91d: 0x6cbf5a20, 0x1a91e: 0x6ca64820, 0x1a91f: 0x6c16c820,\n\t0x1a920: 0x6c8b2e20, 0x1a921: 0x6c82dc20, 0x1a922: 0x6c93b820, 0x1a923: 0x6c7bd020,\n\t0x1a924: 0x6c066c20, 0x1a925: 0x6d240420, 0x1a926: 0x6c0c2a20, 0x1a927: 0x6d297820,\n\t0x1a928: 0x6d349e20, 0x1a929: 0x6cd8f220, 0x1a92a: 0x6d1eb420, 0x1a92b: 0x6c4fe820,\n\t0x1a92c: 0x6c193220, 0x1a92d: 0x6c193620, 0x1a92e: 0x6c86bc20, 0x1a92f: 0x6ce2be20,\n\t0x1a930: 0x6cf02420, 0x1a931: 0x6c903a20, 0x1a932: 0x6c1eee20, 0x1a933: 0x6c154020,\n\t0x1a934: 0x6cc4e020, 0x1a935: 0x6cd51220, 0x1a936: 0x6c5c8820, 0x1a937: 0x6c874220,\n\t0x1a938: 0x6c956820, 0x1a939: 0x6d298020, 0x1a93a: 0x6caace20, 0x1a93b: 0x6ce18820,\n\t0x1a93c: 0x6d0e1220, 0x1a93d: 0x6c829420, 0x1a93e: 0x6ca47c20, 0x1a93f: 0x6c372e20,\n\t// Block 0x6a5, offset 0x1a940\n\t0x1a940: 0x6cf49020, 0x1a941: 0x6d27d220, 0x1a942: 0x6d294a20, 0x1a943: 0x6d252e20,\n\t0x1a944: 0x6d044a20, 0x1a945: 0x6c1ca820, 0x1a946: 0x6d2f9620, 0x1a947: 0x6d044e20,\n\t0x1a948: 0x6cfa6e20, 0x1a949: 0x6c49d020, 0x1a94a: 0x6c332e20, 0x1a94b: 0x6c787820,\n\t0x1a94c: 0x6c333020, 0x1a94d: 0x6c9dfe20, 0x1a94e: 0x6ce91c20, 0x1a94f: 0x6c169420,\n\t0x1a950: 0x6c373220, 0x1a951: 0x6c333220, 0x1a952: 0x6c373620, 0x1a953: 0x6c6c2c20,\n\t0x1a954: 0x6ce92020, 0x1a955: 0x6cd87e20, 0x1a956: 0x6d0d4420, 0x1a957: 0x6d0d5020,\n\t0x1a958: 0x6cd2bc20, 0x1a95a: 0x6c292a20, 0x1a95b: 0x6cb8c220,\n\t0x1a95c: 0x6c30a820, 0x1a95d: 0x6c3b2820, 0x1a95e: 0x6c98d620, 0x1a95f: 0x6ccfe220,\n\t0x1a960: 0x6c30aa20, 0x1a962: 0x6c6dc620, 0x1a963: 0x6c852e20,\n\t0x1a964: 0x6c5a2a20, 0x1a965: 0x6cc80e20, 0x1a966: 0x6cedd820, 0x1a967: 0x6ca57e20,\n\t0x1a968: 0x6cc2b220, 0x1a969: 0x6c898820, 0x1a96a: 0x6d20d420, 0x1a96b: 0x6c030a20,\n\t0x1a96c: 0x6c454e20, 0x1a96d: 0x6c8f2420, 0x1a96e: 0x6cf55c20, 0x1a96f: 0x6c4f4220,\n\t0x1a970: 0x6c7f8620, 0x1a971: 0x6c460a20, 0x1a972: 0x6ce45620, 0x1a973: 0x6c490020,\n\t0x1a974: 0x6d041020, 0x1a975: 0x6c0daa20, 0x1a976: 0x6cb57a20, 0x1a977: 0x6c720620,\n\t0x1a978: 0x6c2d0620, 0x1a979: 0x6d3e0820, 0x1a97a: 0x6c3b2020, 0x1a97b: 0x6d100620,\n\t0x1a97c: 0x6c647a20, 0x1a97d: 0x6cd45820, 0x1a97e: 0x6c621420, 0x1a97f: 0x6d17da20,\n\t// Block 0x6a6, offset 0x1a980\n\t0x1a980: 0x6c627020, 0x1a981: 0x6c15ec20, 0x1a982: 0x6c6ed020, 0x1a983: 0x6c993e20,\n\t0x1a984: 0x6cc4a620, 0x1a985: 0x6ca58020, 0x1a986: 0x6d253020, 0x1a987: 0x6c991c20,\n\t0x1a988: 0x6c424c20, 0x1a989: 0x6cc4a820, 0x1a98a: 0x6c12c620, 0x1a98b: 0x6c6ed220,\n\t0x1a98c: 0x6c12c820, 0x1a98d: 0x6d292620, 0x1a98e: 0x6c488820, 0x1a98f: 0x6c6ef020,\n\t0x1a990: 0x6c994820, 0x1a991: 0x6d390820, 0x1a992: 0x6c994e20, 0x1a993: 0x6c46a020,\n\t0x1a994: 0x6d063220, 0x1a995: 0x6c9e1820, 0x1a996: 0x6c9d1620, 0x1a997: 0x6cc6ec20,\n\t0x1a998: 0x6d1a1a20, 0x1a999: 0x6d013e20, 0x1a99a: 0x6c76bc20, 0x1a99b: 0x6c755020,\n\t0x1a99c: 0x6ca9ae20, 0x1a99d: 0x6d145a20, 0x1a99e: 0x6c9c3420, 0x1a99f: 0x6cd32820,\n\t0x1a9a0: 0x6c490620, 0x1a9a1: 0x6c9b0e20, 0x1a9a2: 0x6d37ec20, 0x1a9a3: 0x6c722620,\n\t0x1a9a4: 0x6d24d020, 0x1a9a5: 0x6c9ff220, 0x1a9a6: 0x6c79de20, 0x1a9a7: 0x6c8ba420,\n\t0x1a9a8: 0x6c3fe020, 0x1a9a9: 0x6d014420, 0x1a9aa: 0x6c9d7620, 0x1a9ab: 0x6c0d9e20,\n\t0x1a9ac: 0x6c2fd820, 0x1a9ad: 0x6cdf0c20, 0x1a9ae: 0x6c425020, 0x1a9af: 0x6c3c9a20,\n\t0x1a9b0: 0x6c0da620, 0x1a9b1: 0x6c564620, 0x1a9b2: 0x6c1caa20, 0x1a9b3: 0x6c73cc20,\n\t0x1a9b4: 0x6c564820, 0x1a9b5: 0x6c7bdc20, 0x1a9b6: 0x6d12a220, 0x1a9b7: 0x6c839020,\n\t0x1a9b8: 0x6cac9a20, 0x1a9b9: 0x6c3dd220, 0x1a9ba: 0x6c9f8c20, 0x1a9bb: 0x6c305020,\n\t0x1a9bc: 0x6cfbe620, 0x1a9bd: 0x6c8ac620, 0x1a9be: 0x6cb84020, 0x1a9bf: 0x6c646820,\n\t// Block 0x6a7, offset 0x1a9c0\n\t0x1a9c0: 0x6c6e4a20, 0x1a9c1: 0x6cd5a620, 0x1a9c2: 0x6c9a4c20, 0x1a9c3: 0x6ce88a20,\n\t0x1a9c4: 0x6cb4d820, 0x1a9c5: 0x6c480220, 0x1a9c6: 0x6d3cda20, 0x1a9c7: 0x6cd91220,\n\t0x1a9c8: 0x6c6e6020, 0x1a9c9: 0x6c894a20, 0x1a9ca: 0x6cbec420, 0x1a9cb: 0x6c2db820,\n\t0x1a9cc: 0x6c8cc420, 0x1a9cd: 0x6c306c20, 0x1a9ce: 0x6c421620, 0x1a9cf: 0x6c658220,\n\t0x1a9d0: 0x6d19c620, 0x1a9d1: 0x6c23ea20, 0x1a9d2: 0x6d14f220, 0x1a9d3: 0x6c860620,\n\t0x1a9d4: 0x6c20a820, 0x1a9d5: 0x6ca03420, 0x1a9d6: 0x6d3ce820, 0x1a9d7: 0x6c24cc20,\n\t0x1a9d8: 0x6cd7fe20, 0x1a9d9: 0x6c345c20, 0x1a9da: 0x6c6d3420, 0x1a9db: 0x6c8c2620,\n\t0x1a9dc: 0x6c8c2820, 0x1a9dd: 0x6ca91a20, 0x1a9de: 0x6cf6b620, 0x1a9df: 0x6c31be20,\n\t0x1a9e0: 0x6c610c20, 0x1a9e1: 0x6c387820, 0x1a9e2: 0x6c387a20, 0x1a9e3: 0x6c387c20,\n\t0x1a9e4: 0x6c3cd620, 0x1a9e5: 0x6c704a20, 0x1a9e6: 0x6c1ed220, 0x1a9e7: 0x6d337a20,\n\t0x1a9e8: 0x6c3c1420, 0x1a9e9: 0x6ca2c220, 0x1a9ea: 0x6d377a20, 0x1a9eb: 0x6c3dcc20,\n\t0x1a9ec: 0x6c3c1620, 0x1a9ed: 0x6cb27220, 0x1a9ee: 0x6c3c2020, 0x1a9ef: 0x6c764420,\n\t0x1a9f0: 0x6c59b220, 0x1a9f1: 0x6c765220, 0x1a9f2: 0x6c419a20, 0x1a9f3: 0x6c2ad820,\n\t0x1a9f4: 0x6cb2bc20, 0x1a9f5: 0x6cb9ec20, 0x1a9f6: 0x6d044820, 0x1a9f7: 0x6c7b0a20,\n\t0x1a9f8: 0x6ce83620, 0x1a9f9: 0x6c022420, 0x1a9fa: 0x6c1e5020, 0x1a9fb: 0x6c5e6820,\n\t0x1a9fc: 0x6c295020, 0x1a9fd: 0x6c4dd220, 0x1a9fe: 0x6c4dda20, 0x1a9ff: 0x6d2a3420,\n\t// Block 0x6a8, offset 0x1aa00\n\t0x1aa00: 0x6c29b020, 0x1aa01: 0x6c2da220, 0x1aa02: 0x6c29b220, 0x1aa03: 0x6cc5a020,\n\t0x1aa04: 0x6cc5a220, 0x1aa05: 0x6c204a20, 0x1aa06: 0x6c3b0820, 0x1aa07: 0x6cbc9020,\n\t0x1aa08: 0x6d163e20, 0x1aa09: 0x6c5e6a20, 0x1aa0a: 0x6c76a020, 0x1aa0b: 0x6cba3a20,\n\t0x1aa0c: 0x6c25ac20, 0x1aa0d: 0x6c1e7220, 0x1aa0e: 0x6cf1c620, 0x1aa0f: 0x6c5e7220,\n\t0x1aa10: 0x6c281c20, 0x1aa11: 0x6d03b820, 0x1aa12: 0x6c577820, 0x1aa13: 0x6cecb620,\n\t0x1aa14: 0x6c73ce20, 0x1aa15: 0x6c839e20, 0x1aa16: 0x6d267020, 0x1aa17: 0x6c8abc20,\n\t0x1aa18: 0x6c8e3e20, 0x1aa19: 0x6d2aa220, 0x1aa1a: 0x6c425220, 0x1aa1b: 0x6c209e20,\n\t0x1aa1c: 0x6c3dd420, 0x1aa1d: 0x6c1e5420, 0x1aa1e: 0x6cc26020, 0x1aa1f: 0x6c704c20,\n\t0x1aa20: 0x6cccb820, 0x1aa21: 0x6c9f8e20, 0x1aa22: 0x6c8c9a20, 0x1aa23: 0x6d378a20,\n\t0x1aa24: 0x6cac9c20, 0x1aa25: 0x6c0cd820, 0x1aa26: 0x6c6a6420, 0x1aa27: 0x6c6a6620,\n\t0x1aa28: 0x6cad4420, 0x1aa29: 0x6c857620, 0x1aa2a: 0x6cccba20, 0x1aa2b: 0x6c0cda20,\n\t0x1aa2c: 0x6c158e20, 0x1aa2d: 0x6c6e0620, 0x1aa2e: 0x6c484420, 0x1aa2f: 0x6c44b820,\n\t0x1aa30: 0x6c2a0020, 0x1aa31: 0x6c20a220, 0x1aa32: 0x6c7c3220, 0x1aa33: 0x6c7a2020,\n\t0x1aa34: 0x6c34ca20, 0x1aa35: 0x6c37be20, 0x1aa36: 0x6d358020, 0x1aa37: 0x6cd64020,\n\t0x1aa38: 0x6cc36e20, 0x1aa39: 0x6ccbce20, 0x1aa3a: 0x6c22b220, 0x1aa3b: 0x6c787a20,\n\t0x1aa3c: 0x6c6a7620, 0x1aa3d: 0x6c4b2a20, 0x1aa3e: 0x6c22b420, 0x1aa3f: 0x6c4b2c20,\n\t// Block 0x6a9, offset 0x1aa40\n\t0x1aa40: 0x6c764620, 0x1aa41: 0x6c34cc20, 0x1aa42: 0x6c619020, 0x1aa43: 0x6ce3d820,\n\t0x1aa44: 0x6c6e1420, 0x1aa45: 0x6c907c20, 0x1aa46: 0x6c95a620, 0x1aa47: 0x6d2ab220,\n\t0x1aa48: 0x6d24cc20, 0x1aa49: 0x6c260c20, 0x1aa4a: 0x6d08da20, 0x1aa4b: 0x6c788220,\n\t0x1aa4c: 0x6c7e5a20, 0x1aa4d: 0x6cb97820, 0x1aa4e: 0x6ccbd020, 0x1aa4f: 0x6c20a420,\n\t0x1aa50: 0x6c489420, 0x1aa51: 0x6c665820, 0x1aa52: 0x6c261020, 0x1aa53: 0x6c83aa20,\n\t0x1aa54: 0x6ce2e820, 0x1aa55: 0x6c3a9620, 0x1aa56: 0x6cb3c620, 0x1aa57: 0x6c15a020,\n\t0x1aa58: 0x6cb59c20, 0x1aa59: 0x6c20a620, 0x1aa5a: 0x6d3f3820, 0x1aa5b: 0x6c426c20,\n\t0x1aa5c: 0x6cec8420, 0x1aa5d: 0x6c0e5a20, 0x1aa5e: 0x6c5e9e20, 0x1aa5f: 0x6c342220,\n\t0x1aa60: 0x6cbe7220, 0x1aa61: 0x6ccd7420, 0x1aa62: 0x6c316620, 0x1aa63: 0x6c666a20,\n\t0x1aa64: 0x6c61c220, 0x1aa65: 0x6c0e5c20, 0x1aa66: 0x6d0be220, 0x1aa67: 0x6c722820,\n\t0x1aa68: 0x6c5d5420, 0x1aa69: 0x6cd16220, 0x1aa6a: 0x6c658420, 0x1aa6b: 0x6c344420,\n\t0x1aa6c: 0x6c329620, 0x1aa6d: 0x6cf36220, 0x1aa6e: 0x6c489820, 0x1aa6f: 0x6c3fe220,\n\t0x1aa70: 0x6cd15a20, 0x1aa71: 0x6c667420, 0x1aa72: 0x6c438c20, 0x1aa73: 0x6c269420,\n\t0x1aa74: 0x6c765420, 0x1aa75: 0x6c20aa20, 0x1aa76: 0x6c1fe220, 0x1aa77: 0x6c15bc20,\n\t0x1aa78: 0x6ce94e20, 0x1aa79: 0x6c926220, 0x1aa7a: 0x6c83de20, 0x1aa7b: 0x6caf0a20,\n\t0x1aa7c: 0x6ccce820, 0x1aa7d: 0x6cb15620, 0x1aa7e: 0x6c79bc20, 0x1aa7f: 0x6c690220,\n\t// Block 0x6aa, offset 0x1aa80\n\t0x1aa80: 0x6c486620, 0x1aa81: 0x6cbb8a20, 0x1aa82: 0x6c747220, 0x1aa83: 0x6c57a820,\n\t0x1aa84: 0x6d2be620, 0x1aa85: 0x6d3df620, 0x1aa86: 0x6c882a20, 0x1aa87: 0x6c727420,\n\t0x1aa88: 0x6caf8420, 0x1aa89: 0x6c8e8020, 0x1aa8a: 0x6c4b5e20, 0x1aa8b: 0x6c692220,\n\t0x1aa8c: 0x6c4b6020, 0x1aa8d: 0x6c66b020, 0x1aa8e: 0x6c66b220, 0x1aa8f: 0x6ce0c820,\n\t0x1aa90: 0x6c5d5a20, 0x1aa91: 0x6c627220, 0x1aa92: 0x6c66cc20, 0x1aa93: 0x6d187e20,\n\t0x1aa94: 0x6c66ce20, 0x1aa95: 0x6d370020, 0x1aa96: 0x6c154220, 0x1aa97: 0x6c662020,\n\t0x1aa98: 0x6ca09820, 0x1aa99: 0x6c84c820, 0x1aa9a: 0x6d3a8c20, 0x1aa9b: 0x6c855c20,\n\t0x1aa9c: 0x6d0b6220, 0x1aa9d: 0x6cc36c20, 0x1aa9e: 0x6c04da20, 0x1aa9f: 0x6c455420,\n\t0x1aaa0: 0x6c631620, 0x1aaa1: 0x6cf55220, 0x1aaa2: 0x6c971e20, 0x1aaa3: 0x6c8abe20,\n\t0x1aaa4: 0x6c6cce20, 0x1aaa5: 0x6c792020, 0x1aaa6: 0x6d006420, 0x1aaa7: 0x6d34d220,\n\t0x1aaa8: 0x6c304c20, 0x1aaa9: 0x6d3aa020, 0x1aaaa: 0x6caa4a20, 0x1aaab: 0x6c6a6820,\n\t0x1aaac: 0x6cc17420, 0x1aaad: 0x6ccec020, 0x1aaae: 0x6d167620, 0x1aaaf: 0x6d398020,\n\t0x1aab0: 0x6ca0c020, 0x1aab1: 0x6c857a20, 0x1aab2: 0x6c6cd020, 0x1aab3: 0x6c813e20,\n\t0x1aab4: 0x6c814020, 0x1aab5: 0x6c733e20, 0x1aab6: 0x6c79ce20, 0x1aab7: 0x6d0f8620,\n\t0x1aab8: 0x6cebc620, 0x1aab9: 0x6cffd420, 0x1aaba: 0x6ca1c220, 0x1aabb: 0x6c7b8420,\n\t0x1aabc: 0x6c6a7a20, 0x1aabd: 0x6c8aca20, 0x1aabe: 0x6c50ba20, 0x1aabf: 0x6cd31420,\n\t// Block 0x6ab, offset 0x1aac0\n\t0x1aac0: 0x6c788420, 0x1aac1: 0x6c6ce020, 0x1aac2: 0x6c433620, 0x1aac3: 0x6c0ec220,\n\t0x1aac4: 0x6c9f9820, 0x1aac5: 0x6c1bf420, 0x1aac6: 0x6c80a020, 0x1aac7: 0x6d1e1820,\n\t0x1aac8: 0x6d1e1a20, 0x1aac9: 0x6c9e0c20, 0x1aaca: 0x6c788620, 0x1aacb: 0x6d099220,\n\t0x1aacc: 0x6c734420, 0x1aacd: 0x6cbe7420, 0x1aace: 0x6c922820, 0x1aacf: 0x6c107c20,\n\t0x1aad0: 0x6c9bcc20, 0x1aad1: 0x6c1c0420, 0x1aad2: 0x6c823c20, 0x1aad3: 0x6c768620,\n\t0x1aad4: 0x6c9e1a20, 0x1aad5: 0x6c307220, 0x1aad6: 0x6d06b420, 0x1aad7: 0x6d06ba20,\n\t0x1aad8: 0x6c76a620, 0x1aad9: 0x6cf55620, 0x1aada: 0x6d175020, 0x1aadb: 0x6d099820,\n\t0x1aadc: 0x6cf24a20, 0x1aadd: 0x6cd16420, 0x1aade: 0x6c815620, 0x1aadf: 0x6ca28420,\n\t0x1aae0: 0x6c926420, 0x1aae1: 0x6cb1b220, 0x1aae2: 0x6cd39620, 0x1aae3: 0x6c5ee220,\n\t0x1aae4: 0x6cbd7c20, 0x1aae5: 0x6c67ee20, 0x1aae6: 0x6c174c20, 0x1aae7: 0x6cc37420,\n\t0x1aae8: 0x6cfe3e20, 0x1aae9: 0x6d181c20, 0x1aaea: 0x6c747620, 0x1aaeb: 0x6c385220,\n\t0x1aaec: 0x6c72fa20, 0x1aaed: 0x6ce76620, 0x1aaee: 0x6c727620, 0x1aaef: 0x6c27f620,\n\t0x1aaf0: 0x6d00d620, 0x1aaf1: 0x6c973820, 0x1aaf2: 0x6d09a420, 0x1aaf3: 0x6d09a820,\n\t0x1aaf4: 0x6c940220, 0x1aaf5: 0x6c867020, 0x1aaf6: 0x6c184e20, 0x1aaf7: 0x6cc4e220,\n\t0x1aaf8: 0x6cc37c20, 0x1aaf9: 0x6c059c20, 0x1aafa: 0x6cce9420, 0x1aafb: 0x6d277620,\n\t0x1aafc: 0x6c6f4220, 0x1aafd: 0x6c062c20, 0x1aafe: 0x6c463220, 0x1aaff: 0x6cf49220,\n\t// Block 0x6ac, offset 0x1ab00\n\t0x1ab00: 0x6d277820, 0x1ab01: 0x6cf17820, 0x1ab02: 0x6c0ade20, 0x1ab03: 0x6c412220,\n\t0x1ab04: 0x6c412420, 0x1ab05: 0x6c059e20, 0x1ab06: 0x6c22f420, 0x1ab07: 0x6d198a20,\n\t0x1ab08: 0x6d045020, 0x1ab09: 0x6cae5020, 0x1ab0a: 0x6c705020, 0x1ab0b: 0x6ce20420,\n\t0x1ab0c: 0x6c43c620, 0x1ab0d: 0x6cb42c20, 0x1ab0e: 0x6c35f820, 0x1ab0f: 0x6cad5a20,\n\t0x1ab10: 0x6c3e4820, 0x1ab11: 0x6c458820, 0x1ab12: 0x6c269620, 0x1ab13: 0x6c6fee20,\n\t0x1ab14: 0x6cbef220, 0x1ab15: 0x6c08aa20, 0x1ab16: 0x6c577620, 0x1ab17: 0x6c06c620,\n\t0x1ab18: 0x6ca4ea20, 0x1ab19: 0x6cd41420, 0x1ab1a: 0x6c397e20, 0x1ab1b: 0x6c6fc620,\n\t0x1ab1c: 0x6d144c20, 0x1ab1d: 0x6d288020, 0x1ab1e: 0x6c67d020, 0x1ab1f: 0x6c777820,\n\t0x1ab20: 0x6c681820, 0x1ab21: 0x6c7b8020, 0x1ab22: 0x6c549220, 0x1ab23: 0x6cf98420,\n\t0x1ab24: 0x6cc0ce20, 0x1ab25: 0x6c0b6820, 0x1ab26: 0x6c4ac620, 0x1ab27: 0x6cbc9c20,\n\t0x1ab28: 0x6d29d020, 0x1ab29: 0x6c7b8a20, 0x1ab2a: 0x6c3a4c20, 0x1ab2b: 0x6c54b420,\n\t0x1ab2c: 0x6d224620, 0x1ab2d: 0x6c4aee20, 0x1ab2e: 0x6c7cf020, 0x1ab2f: 0x6c5bd220,\n\t0x1ab30: 0x6c27ea20, 0x1ab31: 0x6c4b5c20, 0x1ab32: 0x6c881a20, 0x1ab33: 0x6c882c20,\n\t0x1ab34: 0x6cdb9420, 0x1ab35: 0x6c31c220, 0x1ab36: 0x6c703420, 0x1ab37: 0x6c74fa20,\n\t0x1ab38: 0x6cf83420, 0x1ab39: 0x6cb04020, 0x1ab3a: 0x6cc0c420, 0x1ab3b: 0x6d13c020,\n\t0x1ab3c: 0x6c77d420, 0x1ab3d: 0x6d0d5220, 0x1ab3e: 0x6c0b3220, 0x1ab3f: 0x6ca68c20,\n\t// Block 0x6ad, offset 0x1ab40\n\t0x1ab40: 0x6cc0f820, 0x1ab41: 0x6cd22420, 0x1ab42: 0x6d0a6020, 0x1ab43: 0x6cb88c20,\n\t0x1ab44: 0x6ca75420, 0x1ab45: 0x6cc96220, 0x1ab46: 0x6d40a220, 0x1ab47: 0x6cd0d020,\n\t0x1ab48: 0x6cf41620, 0x1ab49: 0x6c5b8420, 0x1ab4a: 0x6c04dc20, 0x1ab4b: 0x6cd2fa20,\n\t0x1ab4c: 0x6cf83620, 0x1ab4d: 0x6ced6a20, 0x1ab4e: 0x6c572420, 0x1ab4f: 0x6d006620,\n\t0x1ab50: 0x6ced6c20, 0x1ab51: 0x6c068e20, 0x1ab52: 0x6d40a820, 0x1ab53: 0x6d3cee20,\n\t0x1ab54: 0x6d007020, 0x1ab55: 0x6c27ba20, 0x1ab56: 0x6c972820, 0x1ab57: 0x6ca3ea20,\n\t0x1ab58: 0x6c27c020, 0x1ab59: 0x6c601220, 0x1ab5a: 0x6c0efe20, 0x1ab5b: 0x6cd67c20,\n\t0x1ab5c: 0x6c100420, 0x1ab5d: 0x6c7bd420, 0x1ab5e: 0x6c0b6420, 0x1ab5f: 0x6c102a20,\n\t0x1ab60: 0x6d2e4620, 0x1ab61: 0x6c761820, 0x1ab62: 0x6c913020, 0x1ab63: 0x6d1f9c20,\n\t0x1ab64: 0x6c91b420, 0x1ab65: 0x6cf58420, 0x1ab66: 0x6c48a620, 0x1ab67: 0x6cf2d420,\n\t0x1ab68: 0x6d017620, 0x1ab69: 0x6c6a4e20, 0x1ab6a: 0x6c6a5020, 0x1ab6b: 0x6cf06820,\n\t0x1ab6c: 0x6c01f020, 0x1ab6d: 0x6cbef420, 0x1ab6e: 0x6d338020, 0x1ab6f: 0x6c991e20,\n\t0x1ab70: 0x6d1b3620, 0x1ab71: 0x6cee6620, 0x1ab72: 0x6ccec420, 0x1ab73: 0x6c5fd220,\n\t0x1ab74: 0x6cc3a020, 0x1ab75: 0x6c948c20, 0x1ab76: 0x6c1b7c20, 0x1ab77: 0x6c731020,\n\t0x1ab78: 0x6d016a20, 0x1ab79: 0x6d067e20, 0x1ab7a: 0x6c6c8620, 0x1ab7b: 0x6cc3a620,\n\t0x1ab7c: 0x6cf4be20, 0x1ab7d: 0x6c5fec20, 0x1ab7e: 0x6c360a20, 0x1ab7f: 0x6cbe3a20,\n\t// Block 0x6ae, offset 0x1ab80\n\t0x1ab80: 0x6cf63820, 0x1ab81: 0x6cca6620, 0x1ab82: 0x6c16e020, 0x1ab83: 0x6cef8020,\n\t0x1ab84: 0x6c35c020, 0x1ab85: 0x6ce62220, 0x1ab86: 0x6c856020, 0x1ab87: 0x6d300c20,\n\t0x1ab88: 0x6c4e4e20, 0x1ab89: 0x6c856420, 0x1ab8a: 0x6d0b4620, 0x1ab8b: 0x6d0ac820,\n\t0x1ab8c: 0x6d0e3620, 0x1ab8d: 0x6ccf3020, 0x1ab8e: 0x6c2bca20, 0x1ab8f: 0x6d2c7020,\n\t0x1ab90: 0x6cacf020, 0x1ab91: 0x6d0b0c20, 0x1ab92: 0x6c50bc20, 0x1ab93: 0x6d0b1620,\n\t0x1ab94: 0x6d358220, 0x1ab95: 0x6c12cc20, 0x1ab96: 0x6cacf620, 0x1ab97: 0x6ce31020,\n\t0x1ab98: 0x6c83a420, 0x1ab99: 0x6ccf3820, 0x1ab9a: 0x6c546020, 0x1ab9b: 0x6ce63420,\n\t0x1ab9c: 0x6d416820, 0x1ab9d: 0x6c261220, 0x1ab9e: 0x6c3a9820, 0x1ab9f: 0x6d254c20,\n\t0x1aba0: 0x6c12dc20, 0x1aba1: 0x6d255e20, 0x1aba2: 0x6cfd6a20, 0x1aba3: 0x6d0d6420,\n\t0x1aba4: 0x6c860c20, 0x1aba5: 0x6c744220, 0x1aba6: 0x6ccc5020, 0x1aba7: 0x6c2cca20,\n\t0x1aba8: 0x6c1e7c20, 0x1aba9: 0x6c6ff020, 0x1abaa: 0x6c6c9620, 0x1abab: 0x6c024620,\n\t0x1abac: 0x6c4b1020, 0x1abad: 0x6d0e9020, 0x1abae: 0x6cd80020, 0x1abaf: 0x6c862620,\n\t0x1abb0: 0x6c16f220, 0x1abb1: 0x6c7faa20, 0x1abb2: 0x6c864620, 0x1abb3: 0x6d0cd020,\n\t0x1abb4: 0x6d0df620, 0x1abb5: 0x6d25dc20, 0x1abb6: 0x6cd7b420, 0x1abb7: 0x6c455020,\n\t0x1abb8: 0x6c8b9c20, 0x1abb9: 0x6cc73e20, 0x1abba: 0x6cc25a20, 0x1abbb: 0x6cc25c20,\n\t0x1abbc: 0x6c377c20, 0x1abbd: 0x6c82b020, 0x1abbe: 0x6c315e20, 0x1abbf: 0x6cfc7420,\n\t// Block 0x6af, offset 0x1abc0\n\t0x1abc0: 0x6d3b6e20, 0x1abc1: 0x6cc9fa20, 0x1abc2: 0x6c115a20, 0x1abc3: 0x6c115e20,\n\t0x1abc4: 0x6c116020, 0x1abc5: 0x6c116620, 0x1abc6: 0x6c00b420, 0x1abc7: 0x6c278620,\n\t0x1abc8: 0x6d200420, 0x1abc9: 0x6c137220, 0x1abca: 0x6c5fb820, 0x1abcb: 0x6d206820,\n\t0x1abcc: 0x6cd6a020, 0x1abcd: 0x6c390020, 0x1abce: 0x6cd42620, 0x1abcf: 0x6c48e420,\n\t0x1abd0: 0x6c035c20, 0x1abd1: 0x6c37e220, 0x1abd2: 0x6cc91020, 0x1abd3: 0x6cd30820,\n\t0x1abd4: 0x6cd4a620, 0x1abd5: 0x6d3d2a20, 0x1abd6: 0x6cc23c20, 0x1abd7: 0x6cd45220,\n\t0x1abd8: 0x6c0b7a20, 0x1abd9: 0x6d068a20, 0x1abda: 0x6c640420, 0x1abdb: 0x6cacaa20,\n\t0x1abdc: 0x6cda0c20, 0x1abdd: 0x6c433820, 0x1abde: 0x6cf08020, 0x1abdf: 0x6cda0e20,\n\t0x1abe0: 0x6c2ebc20, 0x1abe1: 0x6cc8e220, 0x1abe2: 0x6c23bc20, 0x1abe3: 0x6c79c820,\n\t0x1abe4: 0x6c475020, 0x1abe5: 0x6c71ea20, 0x1abe6: 0x6c8e1a20, 0x1abe7: 0x6c488a20,\n\t0x1abe8: 0x6c29b420, 0x1abe9: 0x6c79d420, 0x1abea: 0x6d34ce20, 0x1abeb: 0x6c697a20,\n\t0x1abec: 0x6d2f9420, 0x1abed: 0x6c03e820, 0x1abee: 0x6c2f4420, 0x1abef: 0x6c785220,\n\t0x1abf0: 0x6cdf0e20, 0x1abf1: 0x6c1bd620, 0x1abf2: 0x6cd2a420, 0x1abf3: 0x6d200820,\n\t0x1abf4: 0x6cbfee20, 0x1abf5: 0x6cb34620, 0x1abf6: 0x6d12ba20, 0x1abf7: 0x6c500e20,\n\t0x1abf8: 0x6cd7bc20, 0x1abf9: 0x6ce08a20, 0x1abfa: 0x6c1b7220, 0x1abfb: 0x6c820a20,\n\t0x1abfc: 0x6c2daa20, 0x1abfd: 0x6c5e6c20, 0x1abfe: 0x6c8a5c20, 0x1abff: 0x6c529020,\n\t// Block 0x6b0, offset 0x1ac00\n\t0x1ac00: 0x6c9ebe20, 0x1ac01: 0x6d056020, 0x1ac02: 0x6c982420, 0x1ac03: 0x6c1a9020,\n\t0x1ac04: 0x6c447c20, 0x1ac05: 0x6d077820, 0x1ac06: 0x6d108620, 0x1ac07: 0x6d3ed820,\n\t0x1ac08: 0x6c50b620, 0x1ac09: 0x6c5fc220, 0x1ac0a: 0x6c2e0820, 0x1ac0b: 0x6c25b220,\n\t0x1ac0c: 0x6ce70c20, 0x1ac0d: 0x6c9fe620, 0x1ac0e: 0x6c545a20, 0x1ac0f: 0x6c856e20,\n\t0x1ac10: 0x6ce91620, 0x1ac11: 0x6cfe1620, 0x1ac12: 0x6d2bc220, 0x1ac13: 0x6cfa2a20,\n\t0x1ac14: 0x6d12a020, 0x1ac15: 0x6c937420, 0x1ac16: 0x6d0aca20, 0x1ac17: 0x6c96ee20,\n\t0x1ac18: 0x6cab7420, 0x1ac19: 0x6c5d5220, 0x1ac1a: 0x6d13c220, 0x1ac1b: 0x6c755420,\n\t0x1ac1c: 0x6c1e1c20, 0x1ac1d: 0x6c8c4420, 0x1ac1e: 0x6cea1620, 0x1ac1f: 0x6d1a2420,\n\t0x1ac20: 0x6c3a7e20, 0x1ac21: 0x6c08b820, 0x1ac22: 0x6cbdfe20, 0x1ac23: 0x6cbe0020,\n\t0x1ac24: 0x6c6ba820, 0x1ac25: 0x6c105c20, 0x1ac26: 0x6c3d1c20, 0x1ac27: 0x6c03ea20,\n\t0x1ac28: 0x6c339620, 0x1ac29: 0x6c3b0c20, 0x1ac2a: 0x6c354820, 0x1ac2b: 0x6c4dce20,\n\t0x1ac2c: 0x6ce62c20, 0x1ac2d: 0x6c792420, 0x1ac2e: 0x6cd74620, 0x1ac2f: 0x6cb6d020,\n\t0x1ac30: 0x6c52f020, 0x1ac31: 0x6d338620, 0x1ac32: 0x6d1aca20, 0x1ac33: 0x6cf3a020,\n\t0x1ac34: 0x6cf3a220, 0x1ac35: 0x6c178c20, 0x1ac36: 0x6ca55820, 0x1ac37: 0x6d093c20,\n\t0x1ac38: 0x6cf56a20, 0x1ac39: 0x6c20b420, 0x1ac3a: 0x6c309e20, 0x1ac3b: 0x6cf1c820,\n\t0x1ac3c: 0x6c544820, 0x1ac3d: 0x6c529220, 0x1ac3e: 0x6cf3a420, 0x1ac3f: 0x6c433220,\n\t// Block 0x6b1, offset 0x1ac40\n\t0x1ac40: 0x6d0bda20, 0x1ac41: 0x6c759420, 0x1ac42: 0x6c937620, 0x1ac43: 0x6c35d020,\n\t0x1ac44: 0x6c43c020, 0x1ac45: 0x6c99ce20, 0x1ac46: 0x6c270420, 0x1ac47: 0x6cb6d220,\n\t0x1ac48: 0x6c19b620, 0x1ac49: 0x6cf3a620, 0x1ac4a: 0x6c433420, 0x1ac4b: 0x6c3d3820,\n\t0x1ac4c: 0x6c698020, 0x1ac4d: 0x6c529420, 0x1ac4e: 0x6c1b7820, 0x1ac4f: 0x6cd0da20,\n\t0x1ac50: 0x6ca55a20, 0x1ac51: 0x6cea1820, 0x1ac52: 0x6c3f3220, 0x1ac53: 0x6d167820,\n\t0x1ac54: 0x6c270620, 0x1ac55: 0x6cab7620, 0x1ac56: 0x6c857c20, 0x1ac57: 0x6c077620,\n\t0x1ac58: 0x6d253820, 0x1ac59: 0x6c4c0e20, 0x1ac5a: 0x6cf21a20, 0x1ac5b: 0x6cba9c20,\n\t0x1ac5c: 0x6cf35020, 0x1ac5d: 0x6c35da20, 0x1ac5e: 0x6cd19820, 0x1ac5f: 0x6c731220,\n\t0x1ac60: 0x6cae4620, 0x1ac61: 0x6cf1ce20, 0x1ac62: 0x6ca55c20, 0x1ac63: 0x6c965a20,\n\t0x1ac64: 0x6c8e1c20, 0x1ac65: 0x6cc46020, 0x1ac66: 0x6d1e9420, 0x1ac67: 0x6c2bd420,\n\t0x1ac68: 0x6d385a20, 0x1ac69: 0x6cd31620, 0x1ac6a: 0x6d38fa20, 0x1ac6b: 0x6ce60e20,\n\t0x1ac6c: 0x6cf84420, 0x1ac6d: 0x6d16a820, 0x1ac6e: 0x6cb74220, 0x1ac6f: 0x6cb27420,\n\t0x1ac70: 0x6d3ef420, 0x1ac71: 0x6c46ea20, 0x1ac72: 0x6c21f420, 0x1ac73: 0x6cf07220,\n\t0x1ac74: 0x6d062a20, 0x1ac75: 0x6c000420, 0x1ac76: 0x6ca49220, 0x1ac77: 0x6c40be20,\n\t0x1ac78: 0x6cadac20, 0x1ac79: 0x6d16aa20, 0x1ac7a: 0x6cfe8220, 0x1ac7b: 0x6ccfa820,\n\t0x1ac7c: 0x6c549820, 0x1ac7d: 0x6ca04020, 0x1ac7e: 0x6c267a20, 0x1ac7f: 0x6cc26220,\n\t// Block 0x6b2, offset 0x1ac80\n\t0x1ac80: 0x6c71a220, 0x1ac81: 0x6c4dd420, 0x1ac82: 0x6d288820, 0x1ac83: 0x6ceaa820,\n\t0x1ac84: 0x6c341a20, 0x1ac85: 0x6cb3ec20, 0x1ac86: 0x6cad4620, 0x1ac87: 0x6c0cdc20,\n\t0x1ac88: 0x6c3de020, 0x1ac89: 0x6d0f4420, 0x1ac8a: 0x6c50be20, 0x1ac8b: 0x6d28e820,\n\t0x1ac8c: 0x6c50c020, 0x1ac8d: 0x6c4d0c20, 0x1ac8e: 0x6c6fd420, 0x1ac8f: 0x6d1e1220,\n\t0x1ac90: 0x6c40aa20, 0x1ac91: 0x6c264020, 0x1ac92: 0x6d38fc20, 0x1ac93: 0x6cec1220,\n\t0x1ac94: 0x6c760c20, 0x1ac95: 0x6c483220, 0x1ac96: 0x6c760e20, 0x1ac97: 0x6d42b820,\n\t0x1ac98: 0x6c106020, 0x1ac99: 0x6c8f6a20, 0x1ac9a: 0x6c2fda20, 0x1ac9b: 0x6ca8f420,\n\t0x1ac9c: 0x6cdefe20, 0x1ac9d: 0x6cd7c820, 0x1ac9e: 0x6cfc7820, 0x1ac9f: 0x6c5da420,\n\t0x1aca0: 0x6cb75020, 0x1aca1: 0x6c37c020, 0x1aca2: 0x6c35e420, 0x1aca3: 0x6c49da20,\n\t0x1aca4: 0x6d2cb220, 0x1aca5: 0x6cf85420, 0x1aca6: 0x6d148a20, 0x1aca7: 0x6c8b9220,\n\t0x1aca8: 0x6d3e0a20, 0x1aca9: 0x6c9ec020, 0x1acaa: 0x6c9c2e20, 0x1acab: 0x6d34fa20,\n\t0x1acac: 0x6d119420, 0x1acad: 0x6c5e9220, 0x1acae: 0x6d390a20, 0x1acaf: 0x6c437820,\n\t0x1acb0: 0x6cd5a820, 0x1acb1: 0x6d295e20, 0x1acb2: 0x6cffd620, 0x1acb3: 0x6c4d0e20,\n\t0x1acb4: 0x6c5a8e20, 0x1acb5: 0x6c7ad420, 0x1acb6: 0x6c580c20, 0x1acb7: 0x6ce20820,\n\t0x1acb8: 0x6cfb3020, 0x1acb9: 0x6c35e620, 0x1acba: 0x6d084220, 0x1acbb: 0x6d04ba20,\n\t0x1acbc: 0x6c4c1020, 0x1acbd: 0x6d0e4220, 0x1acbe: 0x6c81a020, 0x1acbf: 0x6d13ce20,\n\t// Block 0x6b3, offset 0x1acc0\n\t0x1acc0: 0x6c001620, 0x1acc1: 0x6cb23820, 0x1acc2: 0x6cd04a20, 0x1acc3: 0x6ce72020,\n\t0x1acc4: 0x6c529a20, 0x1acc5: 0x6d045c20, 0x1acc6: 0x6c341c20, 0x1acc7: 0x6cec4c20,\n\t0x1acc8: 0x6c4cf820, 0x1acc9: 0x6d28f820, 0x1acca: 0x6d201e20, 0x1accb: 0x6c2f3020,\n\t0x1accc: 0x6cac1c20, 0x1accd: 0x6cfddc20, 0x1acce: 0x6c001420, 0x1accf: 0x6c449c20,\n\t0x1acd0: 0x6c7b8c20, 0x1acd1: 0x6d0b4a20, 0x1acd2: 0x6c264220, 0x1acd3: 0x6cfe8a20,\n\t0x1acd4: 0x6c094220, 0x1acd5: 0x6c5b9620, 0x1acd6: 0x6ca77420, 0x1acd7: 0x6c570a20,\n\t0x1acd8: 0x6d044220, 0x1acd9: 0x6c7b1820, 0x1acda: 0x6c347620, 0x1acdb: 0x6c3b1c20,\n\t0x1acdc: 0x6c619c20, 0x1acdd: 0x6ca9b220, 0x1acde: 0x6ca1ba20, 0x1acdf: 0x6d1d7620,\n\t0x1ace0: 0x6c502420, 0x1ace1: 0x6d254e20, 0x1ace2: 0x6c905620, 0x1ace3: 0x6cb3ee20,\n\t0x1ace4: 0x6c984820, 0x1ace5: 0x6c438020, 0x1ace6: 0x6cab2820, 0x1ace7: 0x6c1a9a20,\n\t0x1ace8: 0x6ccece20, 0x1ace9: 0x6c87dc20, 0x1acea: 0x6ca2f420, 0x1aceb: 0x6d40ae20,\n\t0x1acec: 0x6c50ea20, 0x1aced: 0x6c7a3420, 0x1acee: 0x6cfe9220, 0x1acef: 0x6cfc9a20,\n\t0x1acf0: 0x6c814820, 0x1acf1: 0x6c0e5e20, 0x1acf2: 0x6d302c20, 0x1acf3: 0x6d2bd020,\n\t0x1acf4: 0x6c89ac20, 0x1acf5: 0x6c033620, 0x1acf6: 0x6c9ec220, 0x1acf7: 0x6c8ae220,\n\t0x1acf8: 0x6cdbb420, 0x1acf9: 0x6c3e2a20, 0x1acfa: 0x6c103420, 0x1acfb: 0x6c4e9020,\n\t0x1acfc: 0x6c524620, 0x1acfd: 0x6c44f220, 0x1acfe: 0x6cd76820, 0x1acff: 0x6c447420,\n\t// Block 0x6b4, offset 0x1ad00\n\t0x1ad00: 0x6d203620, 0x1ad01: 0x6d0e4c20, 0x1ad02: 0x6c46fc20, 0x1ad03: 0x6c477020,\n\t0x1ad04: 0x6c077820, 0x1ad05: 0x6c4dec20, 0x1ad06: 0x6cdd0c20, 0x1ad07: 0x6c213820,\n\t0x1ad08: 0x6d171c20, 0x1ad09: 0x6c001820, 0x1ad0a: 0x6c63ae20, 0x1ad0b: 0x6ce84620,\n\t0x1ad0c: 0x6cfb3220, 0x1ad0d: 0x6cecf620, 0x1ad0e: 0x6c85c420, 0x1ad0f: 0x6cf5b220,\n\t0x1ad10: 0x6ce0e820, 0x1ad11: 0x6d428a20, 0x1ad12: 0x6cc02420, 0x1ad13: 0x6c17d420,\n\t0x1ad14: 0x6cf3ac20, 0x1ad15: 0x6d2a6e20, 0x1ad16: 0x6d0b4c20, 0x1ad17: 0x6c30a420,\n\t0x1ad18: 0x6cb6e420, 0x1ad19: 0x6c2b6020, 0x1ad1a: 0x6cbe0c20, 0x1ad1b: 0x6c96ba20,\n\t0x1ad1c: 0x6ca0ee20, 0x1ad1d: 0x6c461220, 0x1ad1e: 0x6c30e620, 0x1ad1f: 0x6cc26c20,\n\t0x1ad20: 0x6c814a20, 0x1ad21: 0x6c898c20, 0x1ad22: 0x6cdd5420, 0x1ad23: 0x6d2a7020,\n\t0x1ad24: 0x6c58fe20, 0x1ad25: 0x6c813620, 0x1ad26: 0x6ccbd620, 0x1ad27: 0x6c5ea020,\n\t0x1ad28: 0x6d426820, 0x1ad29: 0x6cf28420, 0x1ad2a: 0x6c3cca20, 0x1ad2b: 0x6c6cfc20,\n\t0x1ad2c: 0x6c56fc20, 0x1ad2d: 0x6cb77620, 0x1ad2e: 0x6cd45c20, 0x1ad2f: 0x6ceefa20,\n\t0x1ad30: 0x6cd64420, 0x1ad31: 0x6c171020, 0x1ad32: 0x6c374e20, 0x1ad33: 0x6c85e620,\n\t0x1ad34: 0x6cbb5620, 0x1ad35: 0x6c017e20, 0x1ad36: 0x6d2ab620, 0x1ad37: 0x6d1d7820,\n\t0x1ad38: 0x6ca75e20, 0x1ad39: 0x6d208420, 0x1ad3a: 0x6ce4e620, 0x1ad3b: 0x6c7f4420,\n\t0x1ad3c: 0x6ccc4220, 0x1ad3d: 0x6cf5d820, 0x1ad3e: 0x6ceba020, 0x1ad3f: 0x6c54b820,\n\t// Block 0x6b5, offset 0x1ad40\n\t0x1ad40: 0x6c003c20, 0x1ad41: 0x6d2f6420, 0x1ad42: 0x6caa1420, 0x1ad43: 0x6c790220,\n\t0x1ad44: 0x6d3d4420, 0x1ad45: 0x6d3d4620, 0x1ad46: 0x6cce0220, 0x1ad47: 0x6c2c3a20,\n\t0x1ad48: 0x6c524a20, 0x1ad49: 0x6c8ba820, 0x1ad4a: 0x6c001020, 0x1ad4b: 0x6c112220,\n\t0x1ad4c: 0x6cfd6c20, 0x1ad4d: 0x6cea1e20, 0x1ad4e: 0x6cf43e20, 0x1ad4f: 0x6cf20620,\n\t0x1ad50: 0x6c253020, 0x1ad51: 0x6ccc4420, 0x1ad52: 0x6c477a20, 0x1ad53: 0x6cb6ec20,\n\t0x1ad54: 0x6cb6ee20, 0x1ad55: 0x6ce21620, 0x1ad56: 0x6c287420, 0x1ad57: 0x6c287620,\n\t0x1ad58: 0x6d12e620, 0x1ad59: 0x6d3f1020, 0x1ad5a: 0x6c08d820, 0x1ad5b: 0x6c253220,\n\t0x1ad5c: 0x6c1fc220, 0x1ad5d: 0x6c510220, 0x1ad5e: 0x6d0b5020, 0x1ad5f: 0x6cb6f420,\n\t0x1ad60: 0x6d304820, 0x1ad61: 0x6c39f620, 0x1ad62: 0x6c898e20, 0x1ad63: 0x6cfb5820,\n\t0x1ad64: 0x6cafd820, 0x1ad65: 0x6ccc4620, 0x1ad66: 0x6c7ed420, 0x1ad67: 0x6d2ab820,\n\t0x1ad68: 0x6d1baa20, 0x1ad69: 0x6c48ae20, 0x1ad6a: 0x6cabc220, 0x1ad6b: 0x6d30d620,\n\t0x1ad6c: 0x6ccb2020, 0x1ad6d: 0x6d3bc220, 0x1ad6e: 0x6ca81020, 0x1ad6f: 0x6c4cf620,\n\t0x1ad70: 0x6c953020, 0x1ad71: 0x6d0bf020, 0x1ad72: 0x6c2c3c20, 0x1ad73: 0x6cc2d220,\n\t0x1ad74: 0x6c15a420, 0x1ad75: 0x6c100620, 0x1ad76: 0x6c2fa020, 0x1ad77: 0x6c809e20,\n\t0x1ad78: 0x6cffe420, 0x1ad79: 0x6c710c20, 0x1ad7a: 0x6ce0f220, 0x1ad7b: 0x6c1c1a20,\n\t0x1ad7c: 0x6ce31e20, 0x1ad7d: 0x6c016c20, 0x1ad7e: 0x6c6f7020, 0x1ad7f: 0x6c288620,\n\t// Block 0x6b6, offset 0x1ad80\n\t0x1ad80: 0x6c761020, 0x1ad81: 0x6d1df420, 0x1ad82: 0x6cf08a20, 0x1ad83: 0x6ca3fc20,\n\t0x1ad84: 0x6ccd8a20, 0x1ad85: 0x6d232a20, 0x1ad86: 0x6d305820, 0x1ad87: 0x6c7e6220,\n\t0x1ad88: 0x6c6a0820, 0x1ad89: 0x6c53f820, 0x1ad8a: 0x6c4e5820, 0x1ad8b: 0x6c2e9820,\n\t0x1ad8c: 0x6d388220, 0x1ad8d: 0x6c147e20, 0x1ad8e: 0x6cec5220, 0x1ad8f: 0x6caaec20,\n\t0x1ad90: 0x6d230020, 0x1ad91: 0x6d19d820, 0x1ad92: 0x6d28b820, 0x1ad93: 0x6d10a220,\n\t0x1ad94: 0x6cab2420, 0x1ad95: 0x6c9e2020, 0x1ad96: 0x6c555220, 0x1ad97: 0x6d27e820,\n\t0x1ad98: 0x6c201e20, 0x1ad99: 0x6c5bbc20, 0x1ad9a: 0x6c591a20, 0x1ad9b: 0x6c591c20,\n\t0x1ad9c: 0x6cf7e620, 0x1ad9d: 0x6c509c20, 0x1ad9e: 0x6c5ec220, 0x1ad9f: 0x6c7cf420,\n\t0x1ada0: 0x6d37ee20, 0x1ada1: 0x6cef0620, 0x1ada2: 0x6ccc5220, 0x1ada3: 0x6d06cc20,\n\t0x1ada4: 0x6c59ba20, 0x1ada5: 0x6c344a20, 0x1ada6: 0x6ca82620, 0x1ada7: 0x6d079020,\n\t0x1ada8: 0x6c89b420, 0x1ada9: 0x6d232c20, 0x1adaa: 0x6cca9e20, 0x1adab: 0x6c1aae20,\n\t0x1adac: 0x6cbbe020, 0x1adad: 0x6d0e6a20, 0x1adae: 0x6c27dc20, 0x1adaf: 0x6cae4a20,\n\t0x1adb0: 0x6c116820, 0x1adb1: 0x6c83d020, 0x1adb2: 0x6d1d7a20, 0x1adb3: 0x6d2bd620,\n\t0x1adb4: 0x6cee7c20, 0x1adb5: 0x6c9e6c20, 0x1adb6: 0x6d1c6220, 0x1adb7: 0x6cae3220,\n\t0x1adb8: 0x6c103820, 0x1adb9: 0x6c7c7420, 0x1adba: 0x6cf88420, 0x1adbb: 0x6d232e20,\n\t0x1adbc: 0x6c6ac420, 0x1adbd: 0x6c912820, 0x1adbe: 0x6c7a9620, 0x1adbf: 0x6d2a8220,\n\t// Block 0x6b7, offset 0x1adc0\n\t0x1adc0: 0x6c56a220, 0x1adc1: 0x6ce33c20, 0x1adc2: 0x6d110420, 0x1adc3: 0x6c51ca20,\n\t0x1adc4: 0x6c000e20, 0x1adc5: 0x6d054220, 0x1adc6: 0x6cbabe20, 0x1adc7: 0x6ccb2e20,\n\t0x1adc8: 0x6d1d8a20, 0x1adc9: 0x6cdabe20, 0x1adca: 0x6c53a620, 0x1adcb: 0x6d00b220,\n\t0x1adcc: 0x6c00a220, 0x1adcd: 0x6cdd2420, 0x1adce: 0x6c96f020, 0x1adcf: 0x6c139620,\n\t0x1add0: 0x6c4d6c20, 0x1add1: 0x6c780420, 0x1add2: 0x6c264c20, 0x1add3: 0x6cca7e20,\n\t0x1add4: 0x6c187220, 0x1add5: 0x6cc81820, 0x1add6: 0x6cd9aa20, 0x1add7: 0x6cebdc20,\n\t0x1add8: 0x6c5ee420, 0x1add9: 0x6cad1c20, 0x1adda: 0x6cf36e20, 0x1addb: 0x6cba1020,\n\t0x1addc: 0x6cd39820, 0x1addd: 0x6c440020, 0x1adde: 0x6d3e3220, 0x1addf: 0x6c6a0a20,\n\t0x1ade0: 0x6c960c20, 0x1ade1: 0x6cf22820, 0x1ade2: 0x6cec3420, 0x1ade3: 0x6cd8c820,\n\t0x1ade4: 0x6c1ab420, 0x1ade5: 0x6c4fca20, 0x1ade6: 0x6cddd820,\n\t0x1ade8: 0x6c4d1620, 0x1ade9: 0x6cdd7020, 0x1adea: 0x6cbd7e20, 0x1adeb: 0x6ca83820,\n\t0x1adec: 0x6c50a020, 0x1aded: 0x6d347020, 0x1adee: 0x6cc9e220, 0x1adef: 0x6ca2c620,\n\t0x1adf0: 0x6c448a20, 0x1adf1: 0x6ca2e420, 0x1adf2: 0x6c2cb820, 0x1adf3: 0x6c002c20,\n\t0x1adf4: 0x6cbb6220, 0x1adf5: 0x6ce6f620, 0x1adf6: 0x6c09c220, 0x1adf7: 0x6c024a20,\n\t0x1adf8: 0x6c024c20, 0x1adf9: 0x6c880c20, 0x1adfa: 0x6d417420, 0x1adfb: 0x6d300020,\n\t0x1adfc: 0x6ca12420, 0x1adfd: 0x6cda4620, 0x1adfe: 0x6cda2020, 0x1adff: 0x6ce06820,\n\t// Block 0x6b8, offset 0x1ae00\n\t0x1ae00: 0x6c2b7820, 0x1ae01: 0x6cb50820, 0x1ae02: 0x6c69aa20, 0x1ae03: 0x6c1cd020,\n\t0x1ae04: 0x6c685a20, 0x1ae05: 0x6c765620, 0x1ae06: 0x6ce0a020, 0x1ae07: 0x6cccf820,\n\t0x1ae08: 0x6c127820, 0x1ae09: 0x6c637620, 0x1ae0a: 0x6c004620, 0x1ae0b: 0x6cfee620,\n\t0x1ae0c: 0x6cb1b420, 0x1ae0d: 0x6c912a20, 0x1ae0e: 0x6c40c020, 0x1ae0f: 0x6c47aa20,\n\t0x1ae10: 0x6cfee820, 0x1ae11: 0x6c54e220, 0x1ae12: 0x6c5bf220, 0x1ae13: 0x6c4c2c20,\n\t0x1ae14: 0x6cab8220, 0x1ae15: 0x6cfabc20, 0x1ae16: 0x6d2ad820, 0x1ae17: 0x6c16b420,\n\t0x1ae18: 0x6d05b820, 0x1ae19: 0x6cb32e20, 0x1ae1a: 0x6c2a5c20, 0x1ae1b: 0x6c96f420,\n\t0x1ae1c: 0x6c96ca20, 0x1ae1d: 0x6c557820, 0x1ae1e: 0x6c836c20, 0x1ae1f: 0x6c317220,\n\t0x1ae20: 0x6c40c220, 0x1ae21: 0x6ce0c420, 0x1ae22: 0x6d12ae20, 0x1ae23: 0x6c07fe20,\n\t0x1ae24: 0x6d1bcc20, 0x1ae25: 0x6cc9f020, 0x1ae26: 0x6c69ac20, 0x1ae27: 0x6c9d6420,\n\t0x1ae28: 0x6cfffc20, 0x1ae29: 0x6c571220, 0x1ae2a: 0x6c971620, 0x1ae2b: 0x6cc48020,\n\t0x1ae2c: 0x6c1fc420, 0x1ae2d: 0x6cae7e20, 0x1ae2e: 0x6c816420, 0x1ae2f: 0x6d000420,\n\t0x1ae30: 0x6c5f1020, 0x1ae31: 0x6d3a7c20, 0x1ae32: 0x6c177020, 0x1ae33: 0x6c7d0820,\n\t0x1ae34: 0x6d419820, 0x1ae35: 0x6cfefe20, 0x1ae36: 0x6cd80c20, 0x1ae37: 0x6c4fdc20,\n\t0x1ae38: 0x6c3f7e20, 0x1ae39: 0x6c8a0020, 0x1ae3a: 0x6cbbe820, 0x1ae3b: 0x6cf68e20,\n\t0x1ae3c: 0x6c1f6a20, 0x1ae3d: 0x6c15d020, 0x1ae3e: 0x6c28a420, 0x1ae3f: 0x6c521e20,\n\t// Block 0x6b9, offset 0x1ae40\n\t0x1ae40: 0x6d0aa020, 0x1ae41: 0x6c35b620, 0x1ae42: 0x6d420a20, 0x1ae43: 0x6c385420,\n\t0x1ae44: 0x6c1acc20, 0x1ae45: 0x6c5ae220, 0x1ae46: 0x6d297220, 0x1ae47: 0x6c207420,\n\t0x1ae48: 0x6c245220, 0x1ae49: 0x6c289c20, 0x1ae4a: 0x6d23ba20, 0x1ae4b: 0x6cea2420,\n\t0x1ae4c: 0x6c134a20, 0x1ae4d: 0x6c69b620, 0x1ae4e: 0x6d126220, 0x1ae4f: 0x6cf69020,\n\t0x1ae50: 0x6cb7be20, 0x1ae51: 0x6c4fd020, 0x1ae52: 0x6c882e20, 0x1ae53: 0x6d05ca20,\n\t0x1ae54: 0x6c2aa420, 0x1ae55: 0x6c5ae820, 0x1ae56: 0x6d1a8c20, 0x1ae57: 0x6cb40c20,\n\t0x1ae58: 0x6c73b220, 0x1ae59: 0x6cbd9220, 0x1ae5a: 0x6d0a2e20, 0x1ae5b: 0x6ca85a20,\n\t0x1ae5c: 0x6c912c20, 0x1ae5d: 0x6cd80e20, 0x1ae5e: 0x6d0dd420, 0x1ae5f: 0x6d1d4820,\n\t0x1ae60: 0x6c265e20, 0x1ae61: 0x6d2d9420, 0x1ae62: 0x6cab2620, 0x1ae63: 0x6d394e20,\n\t0x1ae64: 0x6c6d4820, 0x1ae65: 0x6ca9c420, 0x1ae66: 0x6c5c2620, 0x1ae67: 0x6d01f420,\n\t0x1ae68: 0x6cb7ce20, 0x1ae69: 0x6c36a620, 0x1ae6a: 0x6d2a8e20, 0x1ae6b: 0x6d140e20,\n\t0x1ae6c: 0x6cd3d620, 0x1ae6d: 0x6c69c220, 0x1ae6e: 0x6d263020, 0x1ae6f: 0x6c003420,\n\t0x1ae70: 0x6d1dac20, 0x1ae71: 0x6c74b420, 0x1ae72: 0x6c7b3820, 0x1ae73: 0x6d228a20,\n\t0x1ae74: 0x6cae3420, 0x1ae75: 0x6c2a2820, 0x1ae76: 0x6c40c820, 0x1ae77: 0x6c528e20,\n\t0x1ae78: 0x6c33aa20, 0x1ae79: 0x6c290220, 0x1ae7a: 0x6d036420, 0x1ae7b: 0x6cc9cc20,\n\t0x1ae7c: 0x6caf8e20, 0x1ae7d: 0x6cb07220, 0x1ae7e: 0x6d1a0e20, 0x1ae7f: 0x6d41a020,\n\t// Block 0x6ba, offset 0x1ae80\n\t0x1ae80: 0x6ca92020, 0x1ae81: 0x6c2b9620, 0x1ae82: 0x6c807820, 0x1ae83: 0x6cddfa20,\n\t0x1ae84: 0x6c5d5e20, 0x1ae85: 0x6cc7cc20, 0x1ae86: 0x6c4fac20, 0x1ae87: 0x6cfa4820,\n\t0x1ae88: 0x6d135220, 0x1ae89: 0x6c343820, 0x1ae8a: 0x6cb0be20, 0x1ae8b: 0x6c1de020,\n\t0x1ae8c: 0x6c629020, 0x1ae8d: 0x6c6d5620, 0x1ae8e: 0x6c4fec20, 0x1ae8f: 0x6ce42820,\n\t0x1ae90: 0x6c16ca20, 0x1ae91: 0x6d0ac220, 0x1ae92: 0x6c99c620, 0x1ae93: 0x6c10d820,\n\t0x1ae94: 0x6ce43820, 0x1ae95: 0x6c91e420, 0x1ae96: 0x6c5c6420, 0x1ae97: 0x6c0f8820,\n\t0x1ae98: 0x6d1eba20, 0x1ae99: 0x6ca88620, 0x1ae9a: 0x6d1a9e20, 0x1ae9b: 0x6c56d620,\n\t0x1ae9c: 0x6c99ca20, 0x1ae9d: 0x6c52d220, 0x1ae9e: 0x6d30a820, 0x1ae9f: 0x6c846c20,\n\t0x1aea0: 0x6c8eb220, 0x1aea1: 0x6c4d8e20, 0x1aea2: 0x6ca45620, 0x1aea3: 0x6cff2e20,\n\t0x1aea4: 0x6ca08220, 0x1aea5: 0x6d0ee620, 0x1aea6: 0x6c86e820, 0x1aea7: 0x6c916820,\n\t0x1aea8: 0x6c8fba20, 0x1aea9: 0x6ca08c20, 0x1aeaa: 0x6c28dc20, 0x1aeab: 0x6c193a20,\n\t0x1aeac: 0x6cb21e20, 0x1aead: 0x6cb07c20, 0x1aeae: 0x6cfe5c20, 0x1aeaf: 0x6c5e2420,\n\t0x1aeb0: 0x6ca08e20, 0x1aeb1: 0x6cf91e20, 0x1aeb2: 0x6c34c220, 0x1aeb3: 0x6c7ab220,\n\t0x1aeb4: 0x6d0ce820, 0x1aeb5: 0x6c154e20, 0x1aeb6: 0x6d1c1820, 0x1aeb7: 0x6cc50420,\n\t0x1aeb8: 0x6c2d3020, 0x1aeb9: 0x6c7ede20, 0x1aeba: 0x6cded620, 0x1aebb: 0x6cff4c20,\n\t0x1aebc: 0x6c74fc20, 0x1aebd: 0x6c21e420, 0x1aebe: 0x6c583c20, 0x1aebf: 0x6c5e3c20,\n\t// Block 0x6bb, offset 0x1aec0\n\t0x1aec0: 0x6d3bfe20, 0x1aec1: 0x6ca8aa20, 0x1aec2: 0x6cff4e20, 0x1aec3: 0x6c10ee20,\n\t0x1aec4: 0x6c84a420, 0x1aec5: 0x6c161620, 0x1aec6: 0x6c14a820, 0x1aec7: 0x6c876020,\n\t0x1aec8: 0x6d194020, 0x1aec9: 0x6c953620, 0x1aeca: 0x6ca45e20, 0x1aecb: 0x6d28dc20,\n\t0x1aecc: 0x6cda6e20, 0x1aecd: 0x6cf82420, 0x1aece: 0x6d2b7e20, 0x1aecf: 0x6c654e20,\n\t0x1aed0: 0x6d28de20, 0x1aed1: 0x6d3a8e20, 0x1aed2: 0x6c800620, 0x1aed3: 0x6ca8c220,\n\t0x1aed4: 0x6ca45220, 0x1aed5: 0x6c806220, 0x1aed6: 0x6c8f6420, 0x1aed7: 0x6ceed620,\n\t0x1aed8: 0x6c5b1220, 0x1aed9: 0x6d199c20, 0x1aeda: 0x6cbff020, 0x1aedb: 0x6cd87420,\n\t0x1aedc: 0x6ca8e220, 0x1aedd: 0x6c656220, 0x1aede: 0x6c5b1420, 0x1aedf: 0x6d031420,\n\t0x1aee0: 0x6d199e20, 0x1aee1: 0x6ca3dc20, 0x1aee2: 0x6ce94420, 0x1aee3: 0x6ce94620,\n\t0x1aee4: 0x6c33d620, 0x1aee5: 0x6c777c20, 0x1aee6: 0x6d24c620, 0x1aee7: 0x6c6ef420,\n\t0x1aee8: 0x6cb0ec20, 0x1aee9: 0x6d277c20, 0x1aeea: 0x6c22f620, 0x1aeeb: 0x6c551c20,\n\t0x1aeec: 0x6c5b1820, 0x1aeed: 0x6d253a20, 0x1aeee: 0x6c354a20, 0x1aeef: 0x6c4c5620,\n\t0x1aef0: 0x6c7dca20, 0x1aef1: 0x6c22f820, 0x1aef2: 0x6ce6ee20, 0x1aef3: 0x6ce88420,\n\t0x1aef4: 0x6ceedc20, 0x1aef5: 0x6c94d820, 0x1aef6: 0x6c4c5a20, 0x1aef7: 0x6cc43020,\n\t0x1aef8: 0x6cc64020, 0x1aef9: 0x6c8c9e20, 0x1aefa: 0x6c47fe20, 0x1aefb: 0x6c4c5c20,\n\t0x1aefc: 0x6cdf0020, 0x1aefd: 0x6c4c5e20, 0x1aefe: 0x6ce88820, 0x1aeff: 0x6d202020,\n\t// Block 0x6bc, offset 0x1af00\n\t0x1af00: 0x6c4c6220, 0x1af01: 0x6d1a4220, 0x1af02: 0x6c5d2020, 0x1af03: 0x6cb48620,\n\t0x1af04: 0x6d223820, 0x1af05: 0x6c4dee20, 0x1af06: 0x6d255020, 0x1af07: 0x6c94ea20,\n\t0x1af08: 0x6cc29620, 0x1af09: 0x6d224820, 0x1af0a: 0x6cbe3e20, 0x1af0b: 0x6c4c6620,\n\t0x1af0c: 0x6c1ffa20, 0x1af0d: 0x6cef0820, 0x1af0e: 0x6d256020, 0x1af0f: 0x6cc29a20,\n\t0x1af10: 0x6c7a4020, 0x1af11: 0x6c400a20, 0x1af12: 0x6d257420, 0x1af13: 0x6d257620,\n\t0x1af14: 0x6d0bbc20, 0x1af15: 0x6ce8b620, 0x1af16: 0x6ce8d420, 0x1af17: 0x6ce8d620,\n\t0x1af18: 0x6ce95020, 0x1af19: 0x6c94b820, 0x1af1a: 0x6c5c0c20, 0x1af1b: 0x6d188220,\n\t0x1af1c: 0x6c589220, 0x1af1d: 0x6c944a20, 0x1af1e: 0x6c946e20, 0x1af1f: 0x6ce91020,\n\t0x1af20: 0x6d0b6620, 0x1af21: 0x6ce91220, 0x1af22: 0x6ce6aa20, 0x1af23: 0x6cd15220,\n\t0x1af24: 0x6cb48020, 0x1af25: 0x6c920c20, 0x1af26: 0x6c7b5020, 0x1af27: 0x6d0ac620,\n\t0x1af28: 0x6d292820, 0x1af29: 0x6ceeda20, 0x1af2a: 0x6c436620, 0x1af2b: 0x6d22be20,\n\t0x1af2c: 0x6cf34020, 0x1af2d: 0x6c4a3420, 0x1af2e: 0x6cb04820, 0x1af2f: 0x6d145020,\n\t0x1af30: 0x6c2a8a20, 0x1af31: 0x6cb89220, 0x1af32: 0x6cb89420, 0x1af33: 0x6d320e20,\n\t0x1af34: 0x6d3d1a20, 0x1af35: 0x6c295220, 0x1af36: 0x6cb83e20, 0x1af37: 0x6cfa6220,\n\t0x1af38: 0x6ccdf620, 0x1af39: 0x6c7bd820, 0x1af3a: 0x6c16e220, 0x1af3b: 0x6cb56e20,\n\t0x1af3c: 0x6ca7f220, 0x1af3d: 0x6ca0c220, 0x1af3e: 0x6c5e7620, 0x1af3f: 0x6c639820,\n\t// Block 0x6bd, offset 0x1af40\n\t0x1af40: 0x6d34dc20, 0x1af41: 0x6d34de20, 0x1af42: 0x6c04b420, 0x1af43: 0x6d098e20,\n\t0x1af44: 0x6d167a20, 0x1af45: 0x6cbdc620, 0x1af46: 0x6c99d020, 0x1af47: 0x6c755620,\n\t0x1af48: 0x6cc6f220, 0x1af49: 0x6cea3c20, 0x1af4a: 0x6c39e820, 0x1af4b: 0x6c07a420,\n\t0x1af4c: 0x6c07a620, 0x1af4d: 0x6cdf8820, 0x1af4e: 0x6c76be20, 0x1af4f: 0x6c580a20,\n\t0x1af50: 0x6d427620, 0x1af51: 0x6c792620, 0x1af52: 0x6c091820, 0x1af53: 0x6c6e0a20,\n\t0x1af54: 0x6c2c1220, 0x1af55: 0x6c6d8620, 0x1af56: 0x6c617c20, 0x1af57: 0x6c7b0c20,\n\t0x1af58: 0x6c2bcc20, 0x1af59: 0x6c6d8820, 0x1af5a: 0x6c646220, 0x1af5b: 0x6cdfca20,\n\t0x1af5c: 0x6c857e20, 0x1af5d: 0x6c03a620, 0x1af5e: 0x6cf4a420, 0x1af5f: 0x6c3b5020,\n\t0x1af60: 0x6d3c7a20, 0x1af61: 0x6cb2f620, 0x1af62: 0x6c04e220, 0x1af63: 0x6ce0bc20,\n\t0x1af64: 0x6c7d4a20, 0x1af65: 0x6cc0da20, 0x1af66: 0x6ce05220, 0x1af67: 0x6d339420,\n\t0x1af68: 0x6ceaea20, 0x1af69: 0x6c417020, 0x1af6a: 0x6cb27620, 0x1af6b: 0x6c2d3a20,\n\t0x1af6c: 0x6c48a820, 0x1af6d: 0x6ca5ba20, 0x1af6e: 0x6cdf1420, 0x1af6f: 0x6caf3020,\n\t0x1af70: 0x6c6ed620, 0x1af71: 0x6d100020, 0x1af72: 0x6c3d0a20, 0x1af73: 0x6c02c420,\n\t0x1af74: 0x6c921820, 0x1af75: 0x6cbf9c20, 0x1af76: 0x6ca22620, 0x1af77: 0x6c785420,\n\t0x1af78: 0x6c469220, 0x1af79: 0x6d094020, 0x1af7a: 0x6c036220, 0x1af7b: 0x6c1b0420,\n\t0x1af7c: 0x6c180020, 0x1af7d: 0x6c8ca020, 0x1af7e: 0x6d3aaa20, 0x1af7f: 0x6c3fb020,\n\t// Block 0x6be, offset 0x1af80\n\t0x1af80: 0x6c549a20, 0x1af81: 0x6d358420, 0x1af82: 0x6c20be20, 0x1af83: 0x6c7e3a20,\n\t0x1af84: 0x6c902e20, 0x1af85: 0x6c903020, 0x1af86: 0x6c913820, 0x1af87: 0x6c02c620,\n\t0x1af88: 0x6c272e20, 0x1af89: 0x6cad4820, 0x1af8a: 0x6c9fe220, 0x1af8b: 0x6d03ca20,\n\t0x1af8c: 0x6c305620, 0x1af8d: 0x6c619e20, 0x1af8e: 0x6c51ba20, 0x1af8f: 0x6c93ce20,\n\t0x1af90: 0x6c222820, 0x1af91: 0x6c1b8220, 0x1af92: 0x6c82ba20, 0x1af93: 0x6c40e420,\n\t0x1af94: 0x6d19aa20, 0x1af95: 0x6c546220, 0x1af96: 0x6c32f420, 0x1af97: 0x6d2f9c20,\n\t0x1af98: 0x6c3e0820, 0x1af99: 0x6c49dc20, 0x1af9a: 0x6d10d420, 0x1af9b: 0x6c347820,\n\t0x1af9c: 0x6c347a20, 0x1af9d: 0x6c4ad020, 0x1af9e: 0x6c13ca20, 0x1af9f: 0x6d0f8e20,\n\t0x1afa0: 0x6d1a3820, 0x1afa1: 0x6c37fe20, 0x1afa2: 0x6c469a20, 0x1afa3: 0x6d254420,\n\t0x1afa4: 0x6c2e6a20, 0x1afa5: 0x6d007620, 0x1afa6: 0x6c78fa20, 0x1afa7: 0x6cce3220,\n\t0x1afa8: 0x6cd43e20, 0x1afa9: 0x6c35ec20, 0x1afaa: 0x6c0e4020, 0x1afab: 0x6c2d4020,\n\t0x1afac: 0x6c530c20, 0x1afad: 0x6d0ad820, 0x1afae: 0x6c7ad620, 0x1afaf: 0x6c26f820,\n\t0x1afb0: 0x6c762020, 0x1afb1: 0x6c295a20, 0x1afb2: 0x6c764a20, 0x1afb3: 0x6c4f9e20,\n\t0x1afb4: 0x6ca4dc20, 0x1afb5: 0x6c017820, 0x1afb6: 0x6d036c20, 0x1afb7: 0x6cfc9c20,\n\t0x1afb8: 0x6d260820, 0x1afb9: 0x6c051a20, 0x1afba: 0x6c3d5a20, 0x1afbb: 0x6c03ae20,\n\t0x1afbc: 0x6d172020, 0x1afbd: 0x6d1b4220, 0x1afbe: 0x6c4e9220, 0x1afbf: 0x6d06a020,\n\t// Block 0x6bf, offset 0x1afc0\n\t0x1afc0: 0x6c20c420, 0x1afc1: 0x6cbd6220, 0x1afc2: 0x6c44f420, 0x1afc3: 0x6c001c20,\n\t0x1afc4: 0x6c081620, 0x1afc5: 0x6c39aa20, 0x1afc6: 0x6cc3a820, 0x1afc7: 0x6d1e2020,\n\t0x1afc8: 0x6c75a020, 0x1afc9: 0x6c633e20, 0x1afca: 0x6c2c2a20, 0x1afcb: 0x6c96fa20,\n\t0x1afcc: 0x6c811420, 0x1afcd: 0x6c731820, 0x1afce: 0x6c19c620, 0x1afcf: 0x6ccccc20,\n\t0x1afd0: 0x6c6c3c20, 0x1afd1: 0x6d303020, 0x1afd2: 0x6c8ae420, 0x1afd3: 0x6c8ae620,\n\t0x1afd4: 0x6c107e20, 0x1afd5: 0x6c19d820, 0x1afd6: 0x6c57d820, 0x1afd7: 0x6c108020,\n\t0x1afd8: 0x6cd25a20, 0x1afd9: 0x6d099420, 0x1afda: 0x6c4c1820, 0x1afdb: 0x6c6eda20,\n\t0x1afdc: 0x6d12a820, 0x1afdd: 0x6ca76020, 0x1afde: 0x6c2bee20, 0x1afdf: 0x6d230420,\n\t0x1afe0: 0x6c109220, 0x1afe1: 0x6d0ae820, 0x1afe2: 0x6cc2d420, 0x1afe3: 0x6cdc3420,\n\t0x1afe4: 0x6cafdc20, 0x1afe5: 0x6cbe4020, 0x1afe6: 0x6cecfe20, 0x1afe7: 0x6c723820,\n\t0x1afe8: 0x6c951420, 0x1afe9: 0x6d329220, 0x1afea: 0x6c796e20, 0x1afeb: 0x6c1d3820,\n\t0x1afec: 0x6c2fee20, 0x1afed: 0x6c275a20, 0x1afee: 0x6ce09220, 0x1afef: 0x6c018020,\n\t0x1aff0: 0x6c114220, 0x1aff1: 0x6c1f2e20, 0x1aff2: 0x6c081820, 0x1aff3: 0x6c76ce20,\n\t0x1aff4: 0x6d344c20, 0x1aff5: 0x6c348420, 0x1aff6: 0x6d175220, 0x1aff7: 0x6d344e20,\n\t0x1aff8: 0x6d175420, 0x1aff9: 0x6cadd020, 0x1affa: 0x6c5eb420, 0x1affb: 0x6d3cdc20,\n\t0x1affc: 0x6cb5b820, 0x1affd: 0x6ccaee20, 0x1affe: 0x6c723a20, 0x1afff: 0x6ca5d420,\n\t// Block 0x6c0, offset 0x1b000\n\t0x1b000: 0x6c7a3a20, 0x1b001: 0x6c78a020, 0x1b002: 0x6ce0ec20, 0x1b003: 0x6c7d5020,\n\t0x1b004: 0x6ca69620, 0x1b005: 0x6c648220, 0x1b006: 0x6c32fa20, 0x1b007: 0x6c6c8e20,\n\t0x1b008: 0x6c427620, 0x1b009: 0x6d230620, 0x1b00a: 0x6c360c20, 0x1b00b: 0x6cae9820,\n\t0x1b00c: 0x6c480820, 0x1b00d: 0x6ce92220, 0x1b00e: 0x6c839420, 0x1b00f: 0x6c39ea20,\n\t0x1b010: 0x6d0b2420, 0x1b011: 0x6cba4c20, 0x1b012: 0x6c7ddc20, 0x1b013: 0x6c01b620,\n\t0x1b014: 0x6cd0ca20, 0x1b015: 0x6c34e620, 0x1b016: 0x6ca4f220, 0x1b017: 0x6ce85c20,\n\t0x1b018: 0x6c19fa20, 0x1b019: 0x6d19da20, 0x1b01a: 0x6c5cea20, 0x1b01b: 0x6c099420,\n\t0x1b01c: 0x6c88f220, 0x1b01d: 0x6c4c1c20, 0x1b01e: 0x6c2e9a20, 0x1b01f: 0x6d3bc420,\n\t0x1b020: 0x6c547020, 0x1b021: 0x6c05fa20, 0x1b022: 0x6c05fc20, 0x1b023: 0x6d211420,\n\t0x1b024: 0x6c2b2e20, 0x1b025: 0x6c98e220, 0x1b026: 0x6c6a0c20, 0x1b027: 0x6cc83c20,\n\t0x1b028: 0x6d12ec20, 0x1b029: 0x6c452e20, 0x1b02a: 0x6c76aa20, 0x1b02b: 0x6d3f8020,\n\t0x1b02c: 0x6d211620, 0x1b02d: 0x6c59bc20, 0x1b02e: 0x6c362c20, 0x1b02f: 0x6d10f620,\n\t0x1b030: 0x6d0e6c20, 0x1b031: 0x6c064c20, 0x1b032: 0x6c223620, 0x1b033: 0x6c99f620,\n\t0x1b034: 0x6c16ec20, 0x1b035: 0x6c321420, 0x1b036: 0x6ceb1c20, 0x1b037: 0x6d1b5020,\n\t0x1b038: 0x6c3ca620, 0x1b039: 0x6d382820, 0x1b03a: 0x6c6be820, 0x1b03b: 0x6c6c4420,\n\t0x1b03c: 0x6c528820, 0x1b03d: 0x6c428620, 0x1b03e: 0x6c210620, 0x1b03f: 0x6c658e20,\n\t// Block 0x6c1, offset 0x1b040\n\t0x1b040: 0x6cb2ec20, 0x1b041: 0x6c836a20, 0x1b042: 0x6cfe3220, 0x1b043: 0x6c599220,\n\t0x1b044: 0x6c837620, 0x1b045: 0x6c32c020, 0x1b046: 0x6cec8e20, 0x1b047: 0x6d079220,\n\t0x1b048: 0x6c61fe20, 0x1b049: 0x6c604a20, 0x1b04a: 0x6c7b2420, 0x1b04b: 0x6d1c7c20,\n\t0x1b04c: 0x6cddee20, 0x1b04d: 0x6c1a1620, 0x1b04e: 0x6d1e4220, 0x1b04f: 0x6c765c20,\n\t0x1b050: 0x6cdac020, 0x1b051: 0x6cdac220, 0x1b052: 0x6cd26e20, 0x1b053: 0x6c9d4e20,\n\t0x1b054: 0x6cde0820, 0x1b055: 0x6cf24e20, 0x1b056: 0x6c1a1820, 0x1b057: 0x6ce8b820,\n\t0x1b058: 0x6ce0fe20, 0x1b059: 0x6cc3c820, 0x1b05a: 0x6d37f420, 0x1b05b: 0x6c862a20,\n\t0x1b05c: 0x6d37f620, 0x1b05d: 0x6c057620, 0x1b05e: 0x6cc9c620, 0x1b05f: 0x6d2a0620,\n\t0x1b060: 0x6c330020, 0x1b061: 0x6ce4a820, 0x1b062: 0x6cf4f820, 0x1b063: 0x6d335020,\n\t0x1b064: 0x6d099c20, 0x1b065: 0x6c440420, 0x1b066: 0x6d324020, 0x1b067: 0x6c00a420,\n\t0x1b068: 0x6c459020, 0x1b069: 0x6d0ca620, 0x1b06a: 0x6c76da20, 0x1b06b: 0x6ce4aa20,\n\t0x1b06c: 0x6d257820, 0x1b06d: 0x6cf14e20, 0x1b06e: 0x6d01be20, 0x1b06f: 0x6c8f3220,\n\t0x1b070: 0x6c4d8c20, 0x1b071: 0x6c810220, 0x1b072: 0x6c16b620, 0x1b073: 0x6caea820,\n\t0x1b074: 0x6c084820, 0x1b075: 0x6c18da20, 0x1b076: 0x6c927820, 0x1b077: 0x6c91c620,\n\t0x1b078: 0x6cab3c20, 0x1b079: 0x6cba6220, 0x1b07a: 0x6c9a1620, 0x1b07b: 0x6ca12620,\n\t0x1b07c: 0x6d3b8220, 0x1b07d: 0x6cd6d420, 0x1b07e: 0x6cd52e20, 0x1b07f: 0x6c90e820,\n\t// Block 0x6c2, offset 0x1b080\n\t0x1b080: 0x6c1b4620, 0x1b081: 0x6c97e220, 0x1b082: 0x6c0c0620, 0x1b083: 0x6c6e9420,\n\t0x1b084: 0x6c130020, 0x1b085: 0x6cd5ee20, 0x1b086: 0x6d367a20, 0x1b087: 0x6d2ec020,\n\t0x1b088: 0x6c770a20, 0x1b089: 0x6d1d9620, 0x1b08a: 0x6c2d6e20, 0x1b08b: 0x6c190820,\n\t0x1b08c: 0x6d347c20, 0x1b08d: 0x6cf8ac20, 0x1b08e: 0x6c4c2420, 0x1b08f: 0x6cbb4620,\n\t0x1b090: 0x6c6d2220, 0x1b091: 0x6c2c7a20, 0x1b092: 0x6cce0a20, 0x1b093: 0x6ca29020,\n\t0x1b094: 0x6c24d220, 0x1b095: 0x6d0e9220, 0x1b096: 0x6cde1020, 0x1b097: 0x6d2b8220,\n\t0x1b098: 0x6cb9ac20, 0x1b099: 0x6cbb1020, 0x1b09a: 0x6c895e20, 0x1b09b: 0x6cf14220,\n\t0x1b09c: 0x6d3c9a20, 0x1b09d: 0x6cbb9820, 0x1b09e: 0x6d2b8620, 0x1b09f: 0x6d05ba20,\n\t0x1b0a0: 0x6ccd9a20, 0x1b0a1: 0x6ccd9c20, 0x1b0a2: 0x6c038e20, 0x1b0a3: 0x6cb44820,\n\t0x1b0a4: 0x6c7b3220, 0x1b0a5: 0x6c303220, 0x1b0a6: 0x6c38b020, 0x1b0a7: 0x6cc3e820,\n\t0x1b0a8: 0x6ca16020, 0x1b0a9: 0x6c33a020, 0x1b0aa: 0x6c33a220, 0x1b0ab: 0x6d41ea20,\n\t0x1b0ac: 0x6c2c7c20, 0x1b0ad: 0x6cd17220, 0x1b0ae: 0x6c350820, 0x1b0af: 0x6c350e20,\n\t0x1b0b0: 0x6cdffc20, 0x1b0b1: 0x6c2ae020, 0x1b0b2: 0x6ca21820, 0x1b0b3: 0x6c3b8420,\n\t0x1b0b4: 0x6c59d820, 0x1b0b5: 0x6cdffe20, 0x1b0b6: 0x6c26fe20, 0x1b0b7: 0x6d12fa20,\n\t0x1b0b8: 0x6d3b5220, 0x1b0b9: 0x6c673a20, 0x1b0ba: 0x6c02e420, 0x1b0bb: 0x6cbb1e20,\n\t0x1b0bc: 0x6c5f2c20, 0x1b0bd: 0x6cbba220, 0x1b0be: 0x6c790a20, 0x1b0bf: 0x6d188420,\n\t// Block 0x6c3, offset 0x1b0c0\n\t0x1b0c0: 0x6cb01a20, 0x1b0c1: 0x6c0a4420, 0x1b0c2: 0x6c2d7c20, 0x1b0c3: 0x6c677820,\n\t0x1b0c4: 0x6d12b420, 0x1b0c5: 0x6d1dae20, 0x1b0c6: 0x6d091620, 0x1b0c7: 0x6ce00c20,\n\t0x1b0c8: 0x6c803820, 0x1b0c9: 0x6c728820, 0x1b0ca: 0x6c581420, 0x1b0cb: 0x6c298e20,\n\t0x1b0cc: 0x6cc50220, 0x1b0cd: 0x6cba8020, 0x1b0ce: 0x6d09ae20, 0x1b0cf: 0x6cfd1820,\n\t0x1b0d0: 0x6cf81620, 0x1b0d1: 0x6c51ee20, 0x1b0d2: 0x6c00c620, 0x1b0d3: 0x6d0b0020,\n\t0x1b0d4: 0x6c29ee20, 0x1b0d5: 0x6c4fee20, 0x1b0d6: 0x6cc84a20, 0x1b0d7: 0x6c6d8220,\n\t0x1b0d8: 0x6c82e220, 0x1b0d9: 0x6c7c0620, 0x1b0da: 0x6c916a20, 0x1b0db: 0x6d0cea20,\n\t0x1b0dc: 0x6ce03020, 0x1b0dd: 0x6cf03820, 0x1b0de: 0x6c581820, 0x1b0df: 0x6c903e20,\n\t0x1b0e0: 0x6c904020, 0x1b0e1: 0x6cc8ec20, 0x1b0e2: 0x6c86ea20, 0x1b0e3: 0x6c8bfe20,\n\t0x1b0e4: 0x6cc50620, 0x1b0e5: 0x6c165c20, 0x1b0e6: 0x6d09c420, 0x1b0e7: 0x6d0d0c20,\n\t0x1b0e8: 0x6c829620, 0x1b0e9: 0x6c03da20, 0x1b0ea: 0x6ceca620, 0x1b0eb: 0x6cd2e220,\n\t0x1b0ec: 0x6cc56020, 0x1b0ed: 0x6cca6220, 0x1b0ee: 0x6d3c2c20, 0x1b0ef: 0x6d3c2e20,\n\t0x1b0f0: 0x6cd0dc20, 0x1b0f1: 0x6d13c620, 0x1b0f2: 0x6c972420, 0x1b0f3: 0x6c784a20,\n\t0x1b0f4: 0x6d3aba20, 0x1b0f5: 0x6d3c3620, 0x1b0f6: 0x6c553020, 0x1b0f7: 0x6c554020,\n\t0x1b0f8: 0x6c7da620, 0x1b0f9: 0x6d13ee20, 0x1b0fa: 0x6c555420, 0x1b0fb: 0x6d06d020,\n\t0x1b0fc: 0x6c7db220, 0x1b0fd: 0x6cd46e20, 0x1b0fe: 0x6c989420, 0x1b0ff: 0x6d41ec20,\n\t// Block 0x6c4, offset 0x1b100\n\t0x1b100: 0x6cd47020, 0x1b101: 0x6d141220, 0x1b102: 0x6d34ca20, 0x1b103: 0x6c474e20,\n\t0x1b104: 0x6c1f0220, 0x1b105: 0x6c67d220, 0x1b106: 0x6c3c9c20, 0x1b107: 0x6c06e020,\n\t0x1b108: 0x6d2d5820, 0x1b109: 0x6c0b8420, 0x1b10a: 0x6cdba620, 0x1b10b: 0x6cc42e20,\n\t0x1b10c: 0x6c8ca220, 0x1b10d: 0x6c3fc020, 0x1b10e: 0x6c261420, 0x1b10f: 0x6cfa3220,\n\t0x1b110: 0x6d049a20, 0x1b111: 0x6d02a020, 0x1b112: 0x6ca4cc20, 0x1b113: 0x6cfa5a20,\n\t0x1b114: 0x6c7cb420, 0x1b115: 0x6cf55a20, 0x1b116: 0x6cec6820, 0x1b117: 0x6d25f820,\n\t0x1b118: 0x6c992020, 0x1b119: 0x6cda7c20, 0x1b11a: 0x6c341620, 0x1b11b: 0x6c341820,\n\t0x1b11c: 0x6d12ca20, 0x1b11d: 0x6cbe6c20, 0x1b11e: 0x6cec6e20, 0x1b11f: 0x6c46a220,\n\t0x1b120: 0x6c46a420, 0x1b121: 0x6cb78820, 0x1b122: 0x6c9c0420, 0x1b123: 0x6c9c0820,\n\t0x1b124: 0x6d1a8020, 0x1b125: 0x6c5d9420, 0x1b126: 0x6c190c20, 0x1b127: 0x6c26e420,\n\t0x1b128: 0x6d2b3020, 0x1b129: 0x6ce45420, 0x1b12a: 0x6cdf5a20, 0x1b12b: 0x6c40a620,\n\t0x1b12c: 0x6c48e220, 0x1b12d: 0x6d108020, 0x1b12e: 0x6d0f4020, 0x1b12f: 0x6c4f4620,\n\t0x1b130: 0x6c42fa20, 0x1b131: 0x6cd18e20, 0x1b132: 0x6ce1aa20, 0x1b133: 0x6cdf5c20,\n\t0x1b134: 0x6ce7e420, 0x1b135: 0x6d0d3420, 0x1b136: 0x6c08b020, 0x1b137: 0x6d145220,\n\t0x1b138: 0x6c7ab820, 0x1b139: 0x6c631c20, 0x1b13a: 0x6c343a20, 0x1b13b: 0x6c577c20,\n\t0x1b13c: 0x6c7bce20, 0x1b13d: 0x6d27d620, 0x1b13e: 0x6c632020, 0x1b13f: 0x6c031820,\n\t// Block 0x6c5, offset 0x1b140\n\t0x1b140: 0x6c370e20, 0x1b141: 0x6c87ec20, 0x1b142: 0x6c58ee20, 0x1b143: 0x6c2b1220,\n\t0x1b144: 0x6d0d4620, 0x1b145: 0x6cad7e20, 0x1b146: 0x6c733c20, 0x1b147: 0x6cb57c20,\n\t0x1b148: 0x6ca3ac20, 0x1b149: 0x6c3cd820, 0x1b14a: 0x6d007820, 0x1b14b: 0x6c3bcc20,\n\t0x1b14c: 0x6c2d0820, 0x1b14d: 0x6d107820, 0x1b14e: 0x6c7c5e20, 0x1b14f: 0x6d408620,\n\t0x1b150: 0x6c58f820, 0x1b151: 0x6cb75220, 0x1b152: 0x6c762620, 0x1b153: 0x6d2bc820,\n\t0x1b154: 0x6c077c20, 0x1b155: 0x6d16e020, 0x1b156: 0x6c679e20, 0x1b157: 0x6ce26220,\n\t0x1b158: 0x6d29fe20, 0x1b159: 0x6c079820, 0x1b15a: 0x6cf5b420, 0x1b15b: 0x6c5a5020,\n\t0x1b15c: 0x6c3a5020, 0x1b15d: 0x6c2dc020, 0x1b15e: 0x6d0a8620, 0x1b15f: 0x6c07e020,\n\t0x1b160: 0x6c2d5620, 0x1b161: 0x6c02d020, 0x1b162: 0x6cceea20, 0x1b163: 0x6cf24c20,\n\t0x1b164: 0x6c4d0220, 0x1b165: 0x6c02d220, 0x1b166: 0x6cf4fa20, 0x1b167: 0x6c02d420,\n\t0x1b168: 0x6c67ac20, 0x1b169: 0x6c881c20, 0x1b16a: 0x6c345a20, 0x1b16b: 0x6d275e20,\n\t0x1b16c: 0x6c67ae20, 0x1b16d: 0x6cd3c420, 0x1b16e: 0x6c3be620, 0x1b16f: 0x6c5df620,\n\t0x1b170: 0x6c0a8620, 0x1b171: 0x6c944c20, 0x1b172: 0x6c34c620, 0x1b173: 0x6caa6e20,\n\t0x1b174: 0x6caa3a20, 0x1b175: 0x6c2f6820, 0x1b176: 0x6ca38e20, 0x1b177: 0x6cb89620,\n\t0x1b178: 0x6c645c20, 0x1b179: 0x6cddde20, 0x1b17a: 0x6c6fa220, 0x1b17b: 0x6caa8e20,\n\t0x1b17c: 0x6c142820, 0x1b17d: 0x6c500620, 0x1b17e: 0x6cfa7020, 0x1b17f: 0x6c391a20,\n\t// Block 0x6c6, offset 0x1b180\n\t0x1b180: 0x6c611a20, 0x1b181: 0x6cd76e20, 0x1b182: 0x6cc78a20, 0x1b183: 0x6c39f020,\n\t0x1b184: 0x6cee4420, 0x1b185: 0x6c52ec20, 0x1b186: 0x6d3c0620, 0x1b187: 0x6c3fa620,\n\t0x1b188: 0x6c965c20, 0x1b189: 0x6c27b420, 0x1b18a: 0x6cc5be20, 0x1b18b: 0x6c3d3a20,\n\t0x1b18c: 0x6c6e4820, 0x1b18d: 0x6d0c5620, 0x1b18e: 0x6c4d5420, 0x1b18f: 0x6cf1fc20,\n\t0x1b190: 0x6d378e20, 0x1b191: 0x6cabb020, 0x1b192: 0x6c323220, 0x1b193: 0x6c617e20,\n\t0x1b194: 0x6c792820, 0x1b195: 0x6d381220, 0x1b196: 0x6d108a20, 0x1b197: 0x6c6cd420,\n\t0x1b198: 0x6d277e20, 0x1b199: 0x6c9eaa20, 0x1b19a: 0x6c3d1e20, 0x1b19b: 0x6c1ca420,\n\t0x1b19c: 0x6d267a20, 0x1b19d: 0x6d3c0a20, 0x1b19e: 0x6ca96220, 0x1b19f: 0x6d0e3a20,\n\t0x1b1a0: 0x6ca30620, 0x1b1a1: 0x6d02a820, 0x1b1a2: 0x6c3b5220, 0x1b1a3: 0x6c08ba20,\n\t0x1b1a4: 0x6d20ae20, 0x1b1a5: 0x6ceb6e20, 0x1b1a6: 0x6c3c1820, 0x1b1a7: 0x6ced7220,\n\t0x1b1a8: 0x6c39a220, 0x1b1a9: 0x6cf41e20, 0x1b1aa: 0x6d22cc20, 0x1b1ab: 0x6c4a3620,\n\t0x1b1ac: 0x6c323a20, 0x1b1ad: 0x6c036420, 0x1b1ae: 0x6ca5b420, 0x1b1af: 0x6d38cc20,\n\t0x1b1b0: 0x6d3d2c20, 0x1b1b1: 0x6d2f5620, 0x1b1b2: 0x6c267c20, 0x1b1b3: 0x6ca39820,\n\t0x1b1b4: 0x6d25fe20, 0x1b1b5: 0x6ce80820, 0x1b1b6: 0x6cfb2a20, 0x1b1b7: 0x6d343c20,\n\t0x1b1b8: 0x6c353020, 0x1b1b9: 0x6c9a7420, 0x1b1ba: 0x6ca0c620, 0x1b1bb: 0x6cb4d020,\n\t0x1b1bc: 0x6c092a20, 0x1b1bd: 0x6ccfaa20, 0x1b1be: 0x6cbc9420, 0x1b1bf: 0x6c353220,\n\t// Block 0x6c7, offset 0x1b1c0\n\t0x1b1c0: 0x6c50c420, 0x1b1c1: 0x6d062c20, 0x1b1c2: 0x6c37f820, 0x1b1c3: 0x6d328420,\n\t0x1b1c4: 0x6c9f2820, 0x1b1c5: 0x6c04e620, 0x1b1c6: 0x6ca22820, 0x1b1c7: 0x6c3d3e20,\n\t0x1b1c8: 0x6c8ca420, 0x1b1c9: 0x6d3ee220, 0x1b1ca: 0x6d3ee420, 0x1b1cb: 0x6cd2b420,\n\t0x1b1cc: 0x6cc4ac20, 0x1b1cd: 0x6cccc020, 0x1b1ce: 0x6d0f4620, 0x1b1cf: 0x6c975c20,\n\t0x1b1d0: 0x6c6c1620, 0x1b1d1: 0x6c46ee20, 0x1b1d2: 0x6cd88020, 0x1b1d3: 0x6d041420,\n\t0x1b1d4: 0x6cef8e20, 0x1b1d5: 0x6d3e0c20, 0x1b1d6: 0x6c71f620, 0x1b1d7: 0x6cccc220,\n\t0x1b1d8: 0x6cb1e820, 0x1b1d9: 0x6cc5d420, 0x1b1da: 0x6d10d620, 0x1b1db: 0x6c305820,\n\t0x1b1dc: 0x6c674c20, 0x1b1dd: 0x6cd4b020, 0x1b1de: 0x6c5ff020, 0x1b1df: 0x6c40e620,\n\t0x1b1e0: 0x6cfe1c20, 0x1b1e1: 0x6c572a20, 0x1b1e2: 0x6c72da20, 0x1b1e3: 0x6c682c20,\n\t0x1b1e4: 0x6c469c20, 0x1b1e5: 0x6c81a220, 0x1b1e6: 0x6c647420, 0x1b1e7: 0x6c647620,\n\t0x1b1e8: 0x6d148c20, 0x1b1e9: 0x6ca75c20, 0x1b1ea: 0x6d344220, 0x1b1eb: 0x6c5e9820,\n\t0x1b1ec: 0x6c5ea220, 0x1b1ed: 0x6cfc8a20, 0x1b1ee: 0x6c525620, 0x1b1ef: 0x6c49de20,\n\t0x1b1f0: 0x6c756020, 0x1b1f1: 0x6c7ac020, 0x1b1f2: 0x6d0e4420, 0x1b1f3: 0x6ca02c20,\n\t0x1b1f4: 0x6c8ad020, 0x1b1f5: 0x6cae0a20, 0x1b1f6: 0x6c35ee20, 0x1b1f7: 0x6d202220,\n\t0x1b1f8: 0x6d0c6e20, 0x1b1f9: 0x6c143420, 0x1b1fa: 0x6ccfb820, 0x1b1fb: 0x6d19ae20,\n\t0x1b1fc: 0x6cd24e20, 0x1b1fd: 0x6c4ad220, 0x1b1fe: 0x6cc2be20, 0x1b1ff: 0x6d3e0e20,\n\t// Block 0x6c8, offset 0x1b200\n\t0x1b200: 0x6cd90820, 0x1b201: 0x6cee6820, 0x1b202: 0x6c530e20, 0x1b203: 0x6cec0420,\n\t0x1b204: 0x6c907e20, 0x1b205: 0x6d0b8420, 0x1b206: 0x6cc52020, 0x1b207: 0x6c682e20,\n\t0x1b208: 0x6c942e20, 0x1b209: 0x6cb24e20, 0x1b20a: 0x6cfc9e20, 0x1b20b: 0x6cced020,\n\t0x1b20c: 0x6c850820, 0x1b20d: 0x6c19c820, 0x1b20e: 0x6d017a20, 0x1b20f: 0x6c984a20,\n\t0x1b210: 0x6c3d5c20, 0x1b211: 0x6cdd1020, 0x1b212: 0x6c99e420, 0x1b213: 0x6cef9c20,\n\t0x1b214: 0x6c789420, 0x1b215: 0x6c21ae20, 0x1b216: 0x6c21b020, 0x1b217: 0x6ce6b820,\n\t0x1b218: 0x6ca78820, 0x1b219: 0x6d03da20, 0x1b21a: 0x6ca3ee20, 0x1b21b: 0x6d20ec20,\n\t0x1b21c: 0x6ca31a20, 0x1b21d: 0x6cb3c820, 0x1b21e: 0x6ca56820, 0x1b21f: 0x6c72e220,\n\t0x1b220: 0x6ccfc620, 0x1b221: 0x6d35ae20, 0x1b222: 0x6c4df020, 0x1b223: 0x6c2c2c20,\n\t0x1b224: 0x6d3c1020, 0x1b225: 0x6c355220, 0x1b226: 0x6cb20820, 0x1b227: 0x6ce9f820,\n\t0x1b228: 0x6cfca020, 0x1b229: 0x6c9e1020, 0x1b22a: 0x6cf3ae20, 0x1b22b: 0x6d0c7020,\n\t0x1b22c: 0x6cf44220, 0x1b22d: 0x6c001e20, 0x1b22e: 0x6d0c7c20, 0x1b22f: 0x6d20ee20,\n\t0x1b230: 0x6cd89a20, 0x1b231: 0x6d20f020, 0x1b232: 0x6cebd020, 0x1b233: 0x6c87de20,\n\t0x1b234: 0x6cfb3a20, 0x1b235: 0x6c707c20, 0x1b236: 0x6cc24220, 0x1b237: 0x6d3c8020,\n\t0x1b238: 0x6cb4e220, 0x1b239: 0x6cfb4020, 0x1b23a: 0x6d3d4820, 0x1b23b: 0x6c2ff020,\n\t0x1b23c: 0x6c166420, 0x1b23d: 0x6c923420, 0x1b23e: 0x6c006420, 0x1b23f: 0x6c353620,\n\t// Block 0x6c9, offset 0x1b240\n\t0x1b240: 0x6c353820, 0x1b241: 0x6c908620, 0x1b242: 0x6c9dbe20, 0x1b243: 0x6c239020,\n\t0x1b244: 0x6cb3f020, 0x1b245: 0x6c710e20, 0x1b246: 0x6cb32820, 0x1b247: 0x6c10f620,\n\t0x1b248: 0x6c8cde20, 0x1b249: 0x6ced0020, 0x1b24a: 0x6c0c7220, 0x1b24b: 0x6cfeb020,\n\t0x1b24c: 0x6cd52620, 0x1b24d: 0x6cb6f020, 0x1b24e: 0x6c5ab020, 0x1b24f: 0x6c394020,\n\t0x1b250: 0x6cf2b220, 0x1b251: 0x6cc89820, 0x1b252: 0x6cdfda20, 0x1b253: 0x6c39f820,\n\t0x1b254: 0x6c3b0420, 0x1b255: 0x6c6aae20, 0x1b256: 0x6ce46020, 0x1b257: 0x6ca5d620,\n\t0x1b258: 0x6cc2d820, 0x1b259: 0x6c6e5820, 0x1b25a: 0x6c5cbc20, 0x1b25b: 0x6c6da420,\n\t0x1b25c: 0x6cb8d220, 0x1b25d: 0x6c2d4c20, 0x1b25e: 0x6d042620, 0x1b25f: 0x6c568a20,\n\t0x1b260: 0x6cec8820, 0x1b261: 0x6c7ef220, 0x1b262: 0x6c097420, 0x1b263: 0x6d19dc20,\n\t0x1b264: 0x6c1d6820, 0x1b265: 0x6ca52e20, 0x1b266: 0x6c3fe420, 0x1b267: 0x6c6e6e20,\n\t0x1b268: 0x6c94ec20, 0x1b269: 0x6c01b820, 0x1b26a: 0x6c7f9420, 0x1b26b: 0x6c7d5220,\n\t0x1b26c: 0x6d1a5220, 0x1b26d: 0x6d0b9220, 0x1b26e: 0x6c707e20, 0x1b26f: 0x6c85e820,\n\t0x1b270: 0x6c2d1220, 0x1b271: 0x6cfb4220, 0x1b272: 0x6c57da20, 0x1b273: 0x6c579220,\n\t0x1b274: 0x6d1bac20, 0x1b275: 0x6c14ee20, 0x1b276: 0x6cd05a20, 0x1b277: 0x6ce66e20,\n\t0x1b278: 0x6c296420, 0x1b279: 0x6d11ac20, 0x1b27a: 0x6cf4e620, 0x1b27b: 0x6ca44820,\n\t0x1b27c: 0x6c21b220, 0x1b27d: 0x6c641420, 0x1b27e: 0x6ce7d820, 0x1b27f: 0x6d06d220,\n\t// Block 0x6ca, offset 0x1b280\n\t0x1b280: 0x6d233020, 0x1b281: 0x6cef0a20, 0x1b282: 0x6c2c5420, 0x1b283: 0x6cc74820,\n\t0x1b284: 0x6c9a5620, 0x1b285: 0x6c27de20, 0x1b286: 0x6cc86220, 0x1b287: 0x6cbd2c20,\n\t0x1b288: 0x6c5ab220, 0x1b289: 0x6cf2ea20, 0x1b28a: 0x6cb99420, 0x1b28b: 0x6c210820,\n\t0x1b28c: 0x6c9e7420, 0x1b28d: 0x6c3fec20, 0x1b28e: 0x6c6b9620, 0x1b28f: 0x6c329820,\n\t0x1b290: 0x6d151420, 0x1b291: 0x6d382a20, 0x1b292: 0x6c99f820, 0x1b293: 0x6c59be20,\n\t0x1b294: 0x6c9dc220, 0x1b295: 0x6c013020, 0x1b296: 0x6d1bae20, 0x1b297: 0x6d079420,\n\t0x1b298: 0x6c6a0e20, 0x1b299: 0x6cee8220, 0x1b29a: 0x6c9a8e20, 0x1b29b: 0x6d261620,\n\t0x1b29c: 0x6d32c220, 0x1b29d: 0x6cbfae20, 0x1b29e: 0x6cd37a20, 0x1b29f: 0x6d01a820,\n\t0x1b2a0: 0x6ceb7c20, 0x1b2a1: 0x6c88f620, 0x1b2a2: 0x6c997820, 0x1b2a3: 0x6cc4c420,\n\t0x1b2a4: 0x6cd7e620, 0x1b2a5: 0x6cb0f220, 0x1b2a6: 0x6cf08e20, 0x1b2a7: 0x6cebd820,\n\t0x1b2a8: 0x6c6ff420, 0x1b2a9: 0x6c555620, 0x1b2aa: 0x6c02a620, 0x1b2ab: 0x6cbd1420,\n\t0x1b2ac: 0x6c05fe20, 0x1b2ad: 0x6d059220, 0x1b2ae: 0x6ce7da20, 0x1b2af: 0x6c4a6420,\n\t0x1b2b0: 0x6c1e8a20, 0x1b2b1: 0x6d110620, 0x1b2b2: 0x6cb09e20, 0x1b2b3: 0x6cf78420,\n\t0x1b2b4: 0x6d257a20, 0x1b2b5: 0x6d1d4020, 0x1b2b6: 0x6cc67020, 0x1b2b7: 0x6cc81a20,\n\t0x1b2b8: 0x6c1ab620, 0x1b2b9: 0x6c8e6620, 0x1b2ba: 0x6c9a5e20, 0x1b2bb: 0x6cac5c20,\n\t0x1b2bc: 0x6c02a820, 0x1b2bd: 0x6c966020, 0x1b2be: 0x6c46ae20, 0x1b2bf: 0x6c7cf620,\n\t// Block 0x6cb, offset 0x1b2c0\n\t0x1b2c0: 0x6cbd8020, 0x1b2c1: 0x6c644820, 0x1b2c2: 0x6ccae420, 0x1b2c3: 0x6d315e20,\n\t0x1b2c4: 0x6d257c20, 0x1b2c5: 0x6c6a1020, 0x1b2c6: 0x6cc68020, 0x1b2c7: 0x6ca00420,\n\t0x1b2c8: 0x6d1bc220, 0x1b2c9: 0x6c604c20, 0x1b2ca: 0x6cdac820, 0x1b2cb: 0x6ca79c20,\n\t0x1b2cc: 0x6cfb6c20, 0x1b2cd: 0x6ce1ce20, 0x1b2ce: 0x6cad0020, 0x1b2cf: 0x6c80b220,\n\t0x1b2d0: 0x6ca4fc20, 0x1b2d1: 0x6c05ca20, 0x1b2d2: 0x6c00a620, 0x1b2d3: 0x6cb0a020,\n\t0x1b2d4: 0x6cb20e20, 0x1b2d5: 0x6d182020, 0x1b2d6: 0x6cb17e20, 0x1b2d7: 0x6d238a20,\n\t0x1b2d8: 0x6c824220, 0x1b2d9: 0x6d081820, 0x1b2da: 0x6c975820, 0x1b2db: 0x6d140020,\n\t0x1b2dc: 0x6d2ec220, 0x1b2dd: 0x6c773820, 0x1b2de: 0x6d1d9820, 0x1b2df: 0x6ca6a820,\n\t0x1b2e0: 0x6c840e20, 0x1b2e1: 0x6c2b7a20, 0x1b2e2: 0x6c4a7820, 0x1b2e3: 0x6d0c1a20,\n\t0x1b2e4: 0x6c6c9c20, 0x1b2e5: 0x6d3b8420, 0x1b2e6: 0x6c16b820, 0x1b2e7: 0x6d2ada20,\n\t0x1b2e8: 0x6c4dac20, 0x1b2e9: 0x6ca59c20, 0x1b2ea: 0x6c81d820, 0x1b2eb: 0x6ca05c20,\n\t0x1b2ec: 0x6d300220, 0x1b2ed: 0x6c56ae20, 0x1b2ee: 0x6c56b020, 0x1b2ef: 0x6c02d620,\n\t0x1b2f0: 0x6ca59e20, 0x1b2f1: 0x6cbb1220, 0x1b2f2: 0x6c96f620, 0x1b2f3: 0x6cb1e420,\n\t0x1b2f4: 0x6c472a20, 0x1b2f5: 0x6cf46020, 0x1b2f6: 0x6cbbea20, 0x1b2f7: 0x6ceb8820,\n\t0x1b2f8: 0x6d2e1020, 0x1b2f9: 0x6c98f020, 0x1b2fa: 0x6cfb7820, 0x1b2fb: 0x6cfb7a20,\n\t0x1b2fc: 0x6ca14a20, 0x1b2fd: 0x6c8a0420, 0x1b2fe: 0x6c883020, 0x1b2ff: 0x6c57b820,\n\t// Block 0x6cc, offset 0x1b300\n\t0x1b300: 0x6c4a8420, 0x1b301: 0x6c2aa620, 0x1b302: 0x6d348c20, 0x1b303: 0x6d05ce20,\n\t0x1b304: 0x6d140a20, 0x1b305: 0x6c579c20, 0x1b306: 0x6cf69220, 0x1b307: 0x6c7d0a20,\n\t0x1b308: 0x6cc52820, 0x1b309: 0x6cf69420, 0x1b30a: 0x6d0ea020, 0x1b30b: 0x6c151820,\n\t0x1b30c: 0x6c686420, 0x1b30d: 0x6c9a6620, 0x1b30e: 0x6c396820, 0x1b30f: 0x6c385620,\n\t0x1b310: 0x6cfad420, 0x1b311: 0x6d188620, 0x1b312: 0x6c5c2a20, 0x1b313: 0x6c69c420,\n\t0x1b314: 0x6c405220, 0x1b315: 0x6cd3d820, 0x1b316: 0x6c0a4620, 0x1b317: 0x6ccda420,\n\t0x1b318: 0x6cdc5a20, 0x1b319: 0x6cbb2020, 0x1b31a: 0x6c88c820, 0x1b31b: 0x6c589420,\n\t0x1b31c: 0x6d02ec20, 0x1b31d: 0x6ca7aa20, 0x1b31e: 0x6c303420, 0x1b31f: 0x6d188820,\n\t0x1b320: 0x6c117020, 0x1b321: 0x6c00c820, 0x1b322: 0x6ca77820, 0x1b323: 0x6ca92220,\n\t0x1b324: 0x6c966420, 0x1b325: 0x6ce5ce20, 0x1b326: 0x6c1de220, 0x1b327: 0x6c6d5820,\n\t0x1b328: 0x6c226820, 0x1b329: 0x6d219e20, 0x1b32a: 0x6cb21620, 0x1b32b: 0x6cc6be20,\n\t0x1b32c: 0x6cc7ce20, 0x1b32d: 0x6ca3a820, 0x1b32e: 0x6d0c3220, 0x1b32f: 0x6cdf4620,\n\t0x1b330: 0x6d1bfc20, 0x1b331: 0x6c11b620, 0x1b332: 0x6ca7b220, 0x1b333: 0x6d26ea20,\n\t0x1b334: 0x6d1c9620, 0x1b335: 0x6c9dd620, 0x1b336: 0x6c0ae620, 0x1b337: 0x6c966620,\n\t0x1b338: 0x6cd08020, 0x1b339: 0x6d043e20, 0x1b33a: 0x6ca6d420, 0x1b33b: 0x6c31c820,\n\t0x1b33c: 0x6c8f2020, 0x1b33d: 0x6d251c20, 0x1b33e: 0x6c804820, 0x1b33f: 0x6d0ee820,\n\t// Block 0x6cd, offset 0x1b340\n\t0x1b340: 0x6cd6a820, 0x1b341: 0x6c8d8c20, 0x1b342: 0x6c696620, 0x1b343: 0x6ca77a20,\n\t0x1b344: 0x6c804c20, 0x1b345: 0x6cb94420, 0x1b346: 0x6d1c1a20, 0x1b347: 0x6cd6ae20,\n\t0x1b348: 0x6c5c9020, 0x1b349: 0x6cc32620, 0x1b34a: 0x6c9d0a20, 0x1b34b: 0x6c84b820,\n\t0x1b34c: 0x6c944e20, 0x1b34d: 0x6d0d0e20, 0x1b34e: 0x6d3a4020, 0x1b34f: 0x6c805820,\n\t0x1b350: 0x6d3f6820, 0x1b351: 0x6c6a5220, 0x1b352: 0x6c73c420, 0x1b353: 0x6c73c620,\n\t0x1b354: 0x6c799220, 0x1b355: 0x6d281220, 0x1b356: 0x6c965e20, 0x1b357: 0x6d3f2820,\n\t0x1b358: 0x6c25a020, 0x1b359: 0x6cdcca20, 0x1b35a: 0x6c3dd620, 0x1b35b: 0x6c06d620,\n\t0x1b35c: 0x6d3e0020, 0x1b35d: 0x6cffcc20, 0x1b35e: 0x6d031a20, 0x1b35f: 0x6c9bfe20,\n\t0x1b360: 0x6cd88c20, 0x1b361: 0x6cdf0220, 0x1b362: 0x6c05a420, 0x1b363: 0x6c619220,\n\t0x1b364: 0x6c46f020, 0x1b365: 0x6caa3c20, 0x1b366: 0x6d08f820, 0x1b367: 0x6d206a20,\n\t0x1b368: 0x6d3ba220, 0x1b369: 0x6c4d1e20, 0x1b36a: 0x6c943020, 0x1b36b: 0x6cdcd020,\n\t0x1b36c: 0x6ca48e20, 0x1b36d: 0x6c9ec420, 0x1b36e: 0x6c239220, 0x1b36f: 0x6cb8d420,\n\t0x1b370: 0x6cd52820, 0x1b371: 0x6c11f620, 0x1b372: 0x6d0aea20, 0x1b373: 0x6d3e3420,\n\t0x1b374: 0x6ca63e20, 0x1b375: 0x6c3d8820, 0x1b376: 0x6d3e4e20, 0x1b377: 0x6c841020,\n\t0x1b378: 0x6d091820, 0x1b379: 0x6c0ff620, 0x1b37a: 0x6cc7d020, 0x1b37b: 0x6ca38820,\n\t0x1b37c: 0x6ca89020, 0x1b37d: 0x6ca89220, 0x1b37e: 0x6d1c1c20, 0x1b37f: 0x6c945020,\n\t// Block 0x6ce, offset 0x1b380\n\t0x1b380: 0x6c9db620, 0x1b381: 0x6ca8f220, 0x1b382: 0x6cc6ee20, 0x1b383: 0x6cdddc20,\n\t0x1b384: 0x6c4ab820, 0x1b385: 0x6d2d1820, 0x1b386: 0x6cbef820, 0x1b387: 0x6d221620,\n\t0x1b388: 0x6cd43a20, 0x1b389: 0x6c011220, 0x1b38a: 0x6ce83820, 0x1b38b: 0x6cd97e20,\n\t0x1b38c: 0x6cecc020, 0x1b38d: 0x6cc78420, 0x1b38e: 0x6d118220, 0x1b38f: 0x6c52f220,\n\t0x1b390: 0x6d145e20, 0x1b391: 0x6c6e0c20, 0x1b392: 0x6d3cc820, 0x1b393: 0x6c9d2220,\n\t0x1b394: 0x6d3a5820, 0x1b395: 0x6c295620, 0x1b396: 0x6c530020, 0x1b397: 0x6d3f7020,\n\t0x1b398: 0x6c490420, 0x1b399: 0x6d38fe20, 0x1b39a: 0x6c2f9620, 0x1b39b: 0x6cecee20,\n\t0x1b39c: 0x6d198e20, 0x1b39d: 0x6c05e220, 0x1b39e: 0x6cd24220, 0x1b39f: 0x6cd24420,\n\t0x1b3a0: 0x6c1d3620, 0x1b3a1: 0x6cd04620, 0x1b3a2: 0x6c788c20, 0x1b3a3: 0x6d078220,\n\t0x1b3a4: 0x6cd32c20, 0x1b3a5: 0x6d202420, 0x1b3a6: 0x6c58fa20, 0x1b3a7: 0x6d14b820,\n\t0x1b3a8: 0x6ce5b820, 0x1b3a9: 0x6cd2be20, 0x1b3aa: 0x6cfc8c20, 0x1b3ab: 0x6c456e20,\n\t0x1b3ac: 0x6c19ca20, 0x1b3ad: 0x6cc44220, 0x1b3ae: 0x6c457a20, 0x1b3af: 0x6cfe9420,\n\t0x1b3b0: 0x6d291220, 0x1b3b1: 0x6d2cba20, 0x1b3b2: 0x6c05f020, 0x1b3b3: 0x6c4d5e20,\n\t0x1b3b4: 0x6d0e4e20, 0x1b3b5: 0x6cfe9620, 0x1b3b6: 0x6c634020, 0x1b3b7: 0x6cd05020,\n\t0x1b3b8: 0x6c18ae20, 0x1b3b9: 0x6cc66020, 0x1b3ba: 0x6c5a4c20, 0x1b3bb: 0x6c9d3020,\n\t0x1b3bc: 0x6c79e020, 0x1b3bd: 0x6c7b5220, 0x1b3be: 0x6c0d2e20, 0x1b3bf: 0x6cdaa020,\n\t// Block 0x6cf, offset 0x1b3c0\n\t0x1b3c0: 0x6c112420, 0x1b3c1: 0x6d296620, 0x1b3c2: 0x6c61de20, 0x1b3c3: 0x6d24da20,\n\t0x1b3c4: 0x6c61e020, 0x1b3c5: 0x6d1a5420, 0x1b3c6: 0x6c9d3620, 0x1b3c7: 0x6c79e620,\n\t0x1b3c8: 0x6cbe4220, 0x1b3c9: 0x6cc3b420, 0x1b3ca: 0x6d315620, 0x1b3cb: 0x6c668820,\n\t0x1b3cc: 0x6c3fee20, 0x1b3cd: 0x6ca90420, 0x1b3ce: 0x6c0e1e20, 0x1b3cf: 0x6c587420,\n\t0x1b3d0: 0x6c9a9020, 0x1b3d1: 0x6cbdd620, 0x1b3d2: 0x6c4e0c20, 0x1b3d3: 0x6d233220,\n\t0x1b3d4: 0x6cd26620, 0x1b3d5: 0x6ca90620, 0x1b3d6: 0x6c6d1020, 0x1b3d7: 0x6ca90a20,\n\t0x1b3d8: 0x6d365020, 0x1b3d9: 0x6d226820, 0x1b3da: 0x6c060220, 0x1b3db: 0x6c7b5620,\n\t0x1b3dc: 0x6ca90c20, 0x1b3dd: 0x6cbddc20, 0x1b3de: 0x6ca12820, 0x1b3df: 0x6c13f220,\n\t0x1b3e0: 0x6c726020, 0x1b3e1: 0x6c489c20, 0x1b3e2: 0x6cbde220, 0x1b3e3: 0x6c54e420,\n\t0x1b3e4: 0x6cf50a20, 0x1b3e5: 0x6c89f020, 0x1b3e6: 0x6cd27a20, 0x1b3e7: 0x6ca91020,\n\t0x1b3e8: 0x6d2d4620, 0x1b3e9: 0x6cd06820, 0x1b3ea: 0x6ceffc20, 0x1b3eb: 0x6d014820,\n\t0x1b3ec: 0x6c7b5820, 0x1b3ed: 0x6c5c0e20, 0x1b3ee: 0x6c8a0620, 0x1b3ef: 0x6c75e220,\n\t0x1b3f0: 0x6c589620, 0x1b3f1: 0x6d18c020, 0x1b3f2: 0x6d156a20, 0x1b3f3: 0x6c061c20,\n\t0x1b3f4: 0x6cbd4a20, 0x1b3f5: 0x6c1d4620, 0x1b3f6: 0x6c062020, 0x1b3f7: 0x6c3c7c20,\n\t0x1b3f8: 0x6c25b020, 0x1b3f9: 0x6c332c20, 0x1b3fa: 0x6cd87820, 0x1b3fb: 0x6d09d420,\n\t0x1b3fc: 0x6c29ce20, 0x1b3fd: 0x6c93ca20, 0x1b3fe: 0x6c333620, 0x1b3ff: 0x6cd45020,\n\t// Block 0x6d0, offset 0x1b400\n\t0x1b400: 0x6cb34a20, 0x1b401: 0x6c3c2420, 0x1b402: 0x6d3b7420, 0x1b403: 0x6c3d5e20,\n\t0x1b404: 0x6ccf3a20, 0x1b405: 0x6c789620, 0x1b406: 0x6c674e20, 0x1b407: 0x6c675c20,\n\t0x1b408: 0x6d3b7a20, 0x1b409: 0x6cf08420, 0x1b40a: 0x6d41e820, 0x1b40b: 0x6d0a0c20,\n\t0x1b40c: 0x6cd5d220, 0x1b40d: 0x6c335420, 0x1b40e: 0x6c29e820, 0x1b40f: 0x6cffa220,\n\t0x1b410: 0x6c6a5420, 0x1b411: 0x6cceac20, 0x1b412: 0x6c377e20, 0x1b413: 0x6c378020,\n\t0x1b414: 0x6c378220, 0x1b415: 0x6c40d020, 0x1b416: 0x6c645e20, 0x1b417: 0x6cd49a20,\n\t0x1b418: 0x6c189220, 0x1b419: 0x6cce4a20, 0x1b41a: 0x6cce4c20, 0x1b41b: 0x6ca1b420,\n\t0x1b41c: 0x6c40c620, 0x1b41d: 0x6c169e20, 0x1b41e: 0x6c8a9a20, 0x1b41f: 0x6cfc1020,\n\t0x1b420: 0x6cfc1220, 0x1b421: 0x6c7dde20, 0x1b422: 0x6d1edc20, 0x1b423: 0x6cedbc20,\n\t0x1b424: 0x6d1ede20, 0x1b425: 0x6c8a8c20, 0x1b426: 0x6c8a8e20, 0x1b427: 0x6d10ca20,\n\t0x1b428: 0x6c983020, 0x1b429: 0x6cedc620, 0x1b42a: 0x6cedc020, 0x1b42b: 0x6cedc220,\n\t0x1b42c: 0x6c40d420, 0x1b42d: 0x6d10cc20, 0x1b42e: 0x6c34d620, 0x1b42f: 0x6c7cec20,\n\t0x1b430: 0x6d37f020, 0x1b431: 0x6c6ff620, 0x1b432: 0x6c419c20, 0x1b433: 0x6c478820,\n\t0x1b434: 0x6c419e20, 0x1b435: 0x6ce9b420, 0x1b436: 0x6c41b620, 0x1b437: 0x6c41b820,\n\t0x1b438: 0x6cd18a20, 0x1b439: 0x6d1ac220, 0x1b43a: 0x6c1b7020, 0x1b43b: 0x6c779020,\n\t0x1b43c: 0x6ca5b620, 0x1b43d: 0x6c6c8020, 0x1b43e: 0x6cef8620, 0x1b43f: 0x6ca7d020,\n\t// Block 0x6d1, offset 0x1b440\n\t0x1b440: 0x6c70f020, 0x1b441: 0x6cb08620, 0x1b442: 0x6c134e20, 0x1b443: 0x6cf83c20,\n\t0x1b444: 0x6c086c20, 0x1b445: 0x6c705620, 0x1b446: 0x6c6bbe20, 0x1b447: 0x6ce48020,\n\t0x1b448: 0x6cc0dc20, 0x1b449: 0x6ce44c20, 0x1b44a: 0x6c6bc020, 0x1b44b: 0x6cf35620,\n\t0x1b44c: 0x6c2dfa20, 0x1b44d: 0x6cd1a220, 0x1b44e: 0x6cd2c020, 0x1b44f: 0x6cb28020,\n\t0x1b450: 0x6c5ea420, 0x1b451: 0x6d017c20, 0x1b452: 0x6d31c620, 0x1b453: 0x6d017e20,\n\t0x1b454: 0x6ca5ca20, 0x1b455: 0x6d2de020, 0x1b456: 0x6cf5ba20, 0x1b457: 0x6cef9e20,\n\t0x1b458: 0x6c97b420, 0x1b459: 0x6c353a20, 0x1b45a: 0x6c910620, 0x1b45b: 0x6cb29820,\n\t0x1b45c: 0x6ce44e20, 0x1b45d: 0x6c3aa420, 0x1b45e: 0x6cd55820, 0x1b45f: 0x6d01aa20,\n\t0x1b460: 0x6ce8a020, 0x1b461: 0x6c939a20, 0x1b462: 0x6c93a620, 0x1b463: 0x6cf7f820,\n\t0x1b464: 0x6c135420, 0x1b465: 0x6c93ae20, 0x1b466: 0x6c727820, 0x1b467: 0x6d01f620,\n\t0x1b468: 0x6c72a420, 0x1b469: 0x6c73ba20, 0x1b46a: 0x6c8a3020, 0x1b46b: 0x6c74e620,\n\t0x1b46c: 0x6cd58820, 0x1b46d: 0x6cf93a20, 0x1b46e: 0x6c17fa20, 0x1b46f: 0x6cea3620,\n\t0x1b470: 0x6ca67420, 0x1b471: 0x6cccb020, 0x1b472: 0x6cec4820, 0x1b473: 0x6cfa6c20,\n\t0x1b474: 0x6c856820, 0x1b475: 0x6c35c620, 0x1b476: 0x6c2a5420, 0x1b477: 0x6c5ca820,\n\t0x1b478: 0x6c8f6820, 0x1b479: 0x6d165c20, 0x1b47a: 0x6cb6ca20, 0x1b47b: 0x6cc5b020,\n\t0x1b47c: 0x6cf49e20, 0x1b47d: 0x6c4e8020, 0x1b47e: 0x6ccf9c20, 0x1b47f: 0x6d221820,\n\t// Block 0x6d2, offset 0x1b480\n\t0x1b480: 0x6c1e5220, 0x1b481: 0x6cdc1e20, 0x1b482: 0x6cb6cc20, 0x1b483: 0x6cc5b220,\n\t0x1b484: 0x6d267c20, 0x1b485: 0x6c04b820, 0x1b486: 0x6d118420, 0x1b487: 0x6c01f220,\n\t0x1b488: 0x6d0b0e20, 0x1b489: 0x6cf4a620, 0x1b48a: 0x6c6a6e20, 0x1b48b: 0x6c35cc20,\n\t0x1b48c: 0x6c5fc620, 0x1b48d: 0x6cb8a420, 0x1b48e: 0x6c3b5420, 0x1b48f: 0x6cecc420,\n\t0x1b490: 0x6cb57020, 0x1b491: 0x6c132820, 0x1b492: 0x6cb96a20, 0x1b493: 0x6cb57220,\n\t0x1b494: 0x6c142e20, 0x1b495: 0x6c6bb020, 0x1b496: 0x6cc0d020, 0x1b497: 0x6c429820,\n\t0x1b498: 0x6cfc7a20, 0x1b499: 0x6c02c020, 0x1b49a: 0x6c7f8a20, 0x1b49b: 0x6c29d020,\n\t0x1b49c: 0x6c031a20, 0x1b49d: 0x6d427c20, 0x1b49e: 0x6d427e20, 0x1b49f: 0x6d100220,\n\t0x1b4a0: 0x6c71f820, 0x1b4a1: 0x6c425c20, 0x1b4a2: 0x6c785820, 0x1b4a3: 0x6c466e20,\n\t0x1b4a4: 0x6d08fa20, 0x1b4a5: 0x6cb2fa20, 0x1b4a6: 0x6c858a20, 0x1b4a7: 0x6ce56e20,\n\t0x1b4a8: 0x6cc0e020, 0x1b4a9: 0x6d0c6220, 0x1b4aa: 0x6c3de420, 0x1b4ab: 0x6d052e20,\n\t0x1b4ac: 0x6c640020, 0x1b4ad: 0x6c8e0a20, 0x1b4ae: 0x6ceaec20, 0x1b4af: 0x6cafb220,\n\t0x1b4b0: 0x6c02c820, 0x1b4b1: 0x6c273020, 0x1b4b2: 0x6c7be020, 0x1b4b3: 0x6d268620,\n\t0x1b4b4: 0x6cc0e220, 0x1b4b5: 0x6c566220, 0x1b4b6: 0x6cb36620, 0x1b4b7: 0x6c9f2a20,\n\t0x1b4b8: 0x6c01a220, 0x1b4b9: 0x6ce57020, 0x1b4ba: 0x6c8ca620, 0x1b4bb: 0x6c1b0620,\n\t0x1b4bc: 0x6cb2ea20, 0x1b4bd: 0x6c2fde20, 0x1b4be: 0x6c4e8c20, 0x1b4bf: 0x6c7c3420,\n\t// Block 0x6d3, offset 0x1b4c0\n\t0x1b4c0: 0x6d053020, 0x1b4c1: 0x6c992a20, 0x1b4c2: 0x6ce71420, 0x1b4c3: 0x6d08fc20,\n\t0x1b4c4: 0x6d16ae20, 0x1b4c5: 0x6c0be220, 0x1b4c6: 0x6c50d220, 0x1b4c7: 0x6c032c20,\n\t0x1b4c8: 0x6c95e620, 0x1b4c9: 0x6c35f020, 0x1b4ca: 0x6c3fc220, 0x1b4cb: 0x6d09e420,\n\t0x1b4cc: 0x6c2e6c20, 0x1b4cd: 0x6c921e20, 0x1b4ce: 0x6c371e20, 0x1b4cf: 0x6c373c20,\n\t0x1b4d0: 0x6c40e820, 0x1b4d1: 0x6cc28c20, 0x1b4d2: 0x6c305a20, 0x1b4d3: 0x6d149420,\n\t0x1b4d4: 0x6ca22e20, 0x1b4d5: 0x6cd25020, 0x1b4d6: 0x6c011a20, 0x1b4d7: 0x6ceee820,\n\t0x1b4d8: 0x6c586220, 0x1b4d9: 0x6d359620, 0x1b4da: 0x6c9d2c20, 0x1b4db: 0x6c850220,\n\t0x1b4dc: 0x6c61a420, 0x1b4dd: 0x6ce72220, 0x1b4de: 0x6ceeea20, 0x1b4df: 0x6d202620,\n\t0x1b4e0: 0x6c483420, 0x1b4e1: 0x6cf99420, 0x1b4e2: 0x6c850420, 0x1b4e3: 0x6d10d820,\n\t0x1b4e4: 0x6c698620, 0x1b4e5: 0x6d329420, 0x1b4e6: 0x6c943220, 0x1b4e7: 0x6c683020,\n\t0x1b4e8: 0x6c355420, 0x1b4e9: 0x6c355620, 0x1b4ea: 0x6d22ee20, 0x1b4eb: 0x6d007a20,\n\t0x1b4ec: 0x6c100e20, 0x1b4ed: 0x6cbc3620, 0x1b4ee: 0x6cc43420, 0x1b4ef: 0x6c3c3220,\n\t0x1b4f0: 0x6c3c3420, 0x1b4f1: 0x6ca4a220, 0x1b4f2: 0x6c850a20, 0x1b4f3: 0x6d1f1420,\n\t0x1b4f4: 0x6cfca220, 0x1b4f5: 0x6c532820, 0x1b4f6: 0x6c29d220, 0x1b4f7: 0x6ccfc820,\n\t0x1b4f8: 0x6c19cc20, 0x1b4f9: 0x6ce88e20, 0x1b4fa: 0x6c44f620, 0x1b4fb: 0x6c75a220,\n\t0x1b4fc: 0x6c502620, 0x1b4fd: 0x6cf9a020, 0x1b4fe: 0x6d1a4620, 0x1b4ff: 0x6d223a20,\n\t// Block 0x6d4, offset 0x1b500\n\t0x1b500: 0x6c811620, 0x1b501: 0x6c770820, 0x1b502: 0x6c814e20, 0x1b503: 0x6c7ee820,\n\t0x1b504: 0x6cfbf220, 0x1b505: 0x6cc3aa20, 0x1b506: 0x6c797020, 0x1b507: 0x6c1d1020,\n\t0x1b508: 0x6c1d1220, 0x1b509: 0x6cde4620, 0x1b50a: 0x6c8bac20, 0x1b50b: 0x6c578a20,\n\t0x1b50c: 0x6c708420, 0x1b50d: 0x6c7ef420, 0x1b50e: 0x6cb5be20, 0x1b50f: 0x6c9f4420,\n\t0x1b510: 0x6c7d5420, 0x1b511: 0x6c7d5620, 0x1b512: 0x6d40b420, 0x1b513: 0x6c480a20,\n\t0x1b514: 0x6c24c820, 0x1b515: 0x6d0b2620, 0x1b516: 0x6d0b2820, 0x1b517: 0x6c429e20,\n\t0x1b518: 0x6c94ee20, 0x1b519: 0x6c94f020, 0x1b51a: 0x6c837420, 0x1b51b: 0x6c742020,\n\t0x1b51c: 0x6c342820, 0x1b51d: 0x6d32ac20, 0x1b51e: 0x6c4c1e20, 0x1b51f: 0x6d1a5620,\n\t0x1b520: 0x6c2ff220, 0x1b521: 0x6c4dfa20, 0x1b522: 0x6d32ae20, 0x1b523: 0x6cefac20,\n\t0x1b524: 0x6cff7e20, 0x1b525: 0x6cafde20, 0x1b526: 0x6d0bf220, 0x1b527: 0x6cd91420,\n\t0x1b528: 0x6c6ab220, 0x1b529: 0x6c07e220, 0x1b52a: 0x6d40b620, 0x1b52b: 0x6c7a3c20,\n\t0x1b52c: 0x6c2ff420, 0x1b52d: 0x6d2de420, 0x1b52e: 0x6c480c20, 0x1b52f: 0x6d1a5820,\n\t0x1b530: 0x6d3f6a20, 0x1b531: 0x6d2b4e20, 0x1b532: 0x6c59c020, 0x1b533: 0x6d211820,\n\t0x1b534: 0x6cec6220, 0x1b535: 0x6d0fb220, 0x1b536: 0x6c3c4a20, 0x1b537: 0x6cc05c20,\n\t0x1b538: 0x6d0fb420, 0x1b539: 0x6ce32020, 0x1b53a: 0x6d15ec20, 0x1b53b: 0x6d361e20,\n\t0x1b53c: 0x6cd37c20, 0x1b53d: 0x6d291620, 0x1b53e: 0x6d11ae20, 0x1b53f: 0x6c363020,\n\t// Block 0x6d5, offset 0x1b540\n\t0x1b540: 0x6d3af220, 0x1b541: 0x6c76ac20, 0x1b542: 0x6c93dc20, 0x1b543: 0x6d0d7a20,\n\t0x1b544: 0x6c9a5820, 0x1b545: 0x6c4e0e20, 0x1b546: 0x6c5ec820, 0x1b547: 0x6c5eca20,\n\t0x1b548: 0x6c591e20, 0x1b549: 0x6ce67020, 0x1b54a: 0x6cd16a20, 0x1b54b: 0x6c99fa20,\n\t0x1b54c: 0x6cba5220, 0x1b54d: 0x6cf4e820, 0x1b54e: 0x6d211a20, 0x1b54f: 0x6d3f8420,\n\t0x1b550: 0x6c7f9a20, 0x1b551: 0x6c786420, 0x1b552: 0x6d0c9220, 0x1b553: 0x6d0c9420,\n\t0x1b554: 0x6cefbc20, 0x1b555: 0x6d3f8620, 0x1b556: 0x6c13e020, 0x1b557: 0x6cdc3c20,\n\t0x1b558: 0x6cc67220, 0x1b559: 0x6c78ee20, 0x1b55a: 0x6cbd2e20, 0x1b55b: 0x6d211c20,\n\t0x1b55c: 0x6ce45220, 0x1b55d: 0x6c90e220, 0x1b55e: 0x6ce8ba20, 0x1b55f: 0x6c330420,\n\t0x1b560: 0x6cf64220, 0x1b561: 0x6cf25220, 0x1b562: 0x6c123020, 0x1b563: 0x6c296c20,\n\t0x1b564: 0x6cc68220, 0x1b565: 0x6c6ae020, 0x1b566: 0x6c765e20, 0x1b567: 0x6c8e6820,\n\t0x1b568: 0x6cf4fc20, 0x1b569: 0x6cd92420, 0x1b56a: 0x6cbb7c20, 0x1b56b: 0x6d3e3620,\n\t0x1b56c: 0x6cef0c20, 0x1b56d: 0x6c07f620, 0x1b56e: 0x6c2ccc20, 0x1b56f: 0x6c25da20,\n\t0x1b570: 0x6cba1220, 0x1b571: 0x6d1e4420, 0x1b572: 0x6ca83e20, 0x1b573: 0x6c25dc20,\n\t0x1b574: 0x6c614820, 0x1b575: 0x6cd41620, 0x1b576: 0x6cc93c20, 0x1b577: 0x6cd96820,\n\t0x1b578: 0x6d3fa020, 0x1b579: 0x6c67f420, 0x1b57a: 0x6c89f220, 0x1b57b: 0x6c773c20,\n\t0x1b57c: 0x6c15c620, 0x1b57d: 0x6c2ec820, 0x1b57e: 0x6c132420, 0x1b57f: 0x6c2f7820,\n\t// Block 0x6d6, offset 0x1b580\n\t0x1b580: 0x6ce86820, 0x1b581: 0x6c90ec20, 0x1b582: 0x6d2f3a20, 0x1b583: 0x6d2dfe20,\n\t0x1b584: 0x6d2e0020, 0x1b585: 0x6c024e20, 0x1b586: 0x6c127c20, 0x1b587: 0x6cc11e20,\n\t0x1b588: 0x6cbac820, 0x1b589: 0x6c24d620, 0x1b58a: 0x6d418e20, 0x1b58b: 0x6c29e220,\n\t0x1b58c: 0x6c29e420, 0x1b58d: 0x6cf79020, 0x1b58e: 0x6d238c20, 0x1b58f: 0x6cae2620,\n\t0x1b590: 0x6c8f9a20, 0x1b591: 0x6cfe4420, 0x1b592: 0x6c135620, 0x1b593: 0x6c0e8620,\n\t0x1b594: 0x6cbd3c20, 0x1b595: 0x6c686620, 0x1b596: 0x6d0dc620, 0x1b597: 0x6c816a20,\n\t0x1b598: 0x6d2e7420, 0x1b599: 0x6c8bcc20, 0x1b59a: 0x6c8a0820, 0x1b59b: 0x6c8a0a20,\n\t0x1b59c: 0x6c6c5020, 0x1b59d: 0x6c2ae220, 0x1b59e: 0x6c350a20, 0x1b59f: 0x6d41ee20,\n\t0x1b5a0: 0x6c69ba20, 0x1b5a1: 0x6c4b6220, 0x1b5a2: 0x6d113420, 0x1b5a3: 0x6c686820,\n\t0x1b5a4: 0x6d113620, 0x1b5a5: 0x6c748e20, 0x1b5a6: 0x6d2d9620, 0x1b5a7: 0x6d188a20,\n\t0x1b5a8: 0x6d091a20, 0x1b5a9: 0x6ca4be20, 0x1b5aa: 0x6d133820, 0x1b5ab: 0x6d133a20,\n\t0x1b5ac: 0x6d155a20, 0x1b5ad: 0x6ca87020, 0x1b5ae: 0x6cfc2a20, 0x1b5af: 0x6c608220,\n\t0x1b5b0: 0x6d020c20, 0x1b5b1: 0x6c786e20, 0x1b5b2: 0x6cf69820, 0x1b5b3: 0x6c2c9a20,\n\t0x1b5b4: 0x6c02e620, 0x1b5b5: 0x6d419c20, 0x1b5b6: 0x6cf14820, 0x1b5b7: 0x6d156c20,\n\t0x1b5b8: 0x6cc6c020, 0x1b5b9: 0x6c29f020, 0x1b5ba: 0x6c8e1420, 0x1b5bb: 0x6d28cc20,\n\t0x1b5bc: 0x6d228c20, 0x1b5bd: 0x6d26f220, 0x1b5be: 0x6d1b0c20, 0x1b5bf: 0x6cc83820,\n\t// Block 0x6d7, offset 0x1b5c0\n\t0x1b5c0: 0x6c6b5420, 0x1b5c1: 0x6c869c20, 0x1b5c2: 0x6c4a9820, 0x1b5c3: 0x6c8fbe20,\n\t0x1b5c4: 0x6c8fc020, 0x1b5c5: 0x6c2ce420, 0x1b5c6: 0x6cc6d620, 0x1b5c7: 0x6cf72a20,\n\t0x1b5c8: 0x6c718620, 0x1b5c9: 0x6c155020, 0x1b5ca: 0x6d1d2220, 0x1b5cb: 0x6c7c5420,\n\t0x1b5cc: 0x6d0cee20, 0x1b5cd: 0x6ceec820, 0x1b5ce: 0x6ca4d420, 0x1b5cf: 0x6cc32820,\n\t0x1b5d0: 0x6c17ac20, 0x1b5d1: 0x6c24a420, 0x1b5d2: 0x6c945220, 0x1b5d3: 0x6c2cf420,\n\t0x1b5d4: 0x6c2cf620, 0x1b5d5: 0x6ca8e020, 0x1b5d6: 0x6d0d1220, 0x1b5d7: 0x6d0d1020,\n\t0x1b5d8: 0x6d0e2020, 0x1b5d9: 0x6c7cbc20, 0x1b5da: 0x6d0e2220, 0x1b5db: 0x6c1fd620,\n\t0x1b5dc: 0x6c7b0820, 0x1b5dd: 0x6c1fd820, 0x1b5de: 0x6d385020, 0x1b5df: 0x6c597020,\n\t0x1b5e0: 0x6c6d8a20, 0x1b5e1: 0x6d09d820, 0x1b5e2: 0x6c175e20, 0x1b5e3: 0x6c176020,\n\t0x1b5e4: 0x6c8b2620, 0x1b5e5: 0x6c454a20, 0x1b5e6: 0x6d426020, 0x1b5e7: 0x6cbc1a20,\n\t0x1b5e8: 0x6c71e820, 0x1b5e9: 0x6c45ce20, 0x1b5ea: 0x6c71f220, 0x1b5eb: 0x6cf35220,\n\t0x1b5ec: 0x6cb4be20, 0x1b5ed: 0x6cb4c020, 0x1b5ee: 0x6c143620, 0x1b5ef: 0x6cc05e20,\n\t0x1b5f0: 0x6cc08220, 0x1b5f1: 0x6c610e20, 0x1b5f2: 0x6d15ac20, 0x1b5f3: 0x6cd87020,\n\t0x1b5f4: 0x6c03e620, 0x1b5f5: 0x6d338a20, 0x1b5f6: 0x6d2f5820, 0x1b5f7: 0x6cfe1e20,\n\t0x1b5f8: 0x6d14bc20, 0x1b5f9: 0x6c6c8820, 0x1b5fa: 0x6d0a6c20, 0x1b5fb: 0x6c734020,\n\t0x1b5fc: 0x6c033820, 0x1b5fd: 0x6d0a8c20, 0x1b5fe: 0x6c6c1a20, 0x1b5ff: 0x6c3dc620,\n\t// Block 0x6d8, offset 0x1b600\n\t0x1b600: 0x6d287e20, 0x1b601: 0x6c090220, 0x1b602: 0x6cd2f020, 0x1b603: 0x6c105820,\n\t0x1b604: 0x6c2f4620, 0x1b605: 0x6cd66220, 0x1b606: 0x6c384a20, 0x1b607: 0x6ca7ec20,\n\t0x1b608: 0x6cd19020, 0x1b609: 0x6c3b0e20, 0x1b60a: 0x6cabe420, 0x1b60b: 0x6d34e020,\n\t0x1b60c: 0x6cf57a20, 0x1b60d: 0x6c565420, 0x1b60e: 0x6c286420, 0x1b60f: 0x6ceede20,\n\t0x1b610: 0x6d2f2020, 0x1b611: 0x6ce16e20, 0x1b612: 0x6c273220, 0x1b613: 0x6ca0c820,\n\t0x1b614: 0x6cae0620, 0x1b615: 0x6cabe620, 0x1b616: 0x6ce5e820, 0x1b617: 0x6c0e4c20,\n\t0x1b618: 0x6c87f220, 0x1b619: 0x6d358620, 0x1b61a: 0x6d397620, 0x1b61b: 0x6c0eb420,\n\t0x1b61c: 0x6d358820, 0x1b61d: 0x6c2c2620, 0x1b61e: 0x6ca0de20, 0x1b61f: 0x6d16e220,\n\t0x1b620: 0x6d16e420, 0x1b621: 0x6cb28220, 0x1b622: 0x6cb84820, 0x1b623: 0x6c731420,\n\t0x1b624: 0x6cc79220, 0x1b625: 0x6cd66420, 0x1b626: 0x6c274020, 0x1b627: 0x6d334020,\n\t0x1b628: 0x6cd71420, 0x1b629: 0x6cbc3820, 0x1b62a: 0x6d313620, 0x1b62b: 0x6cd1b020,\n\t0x1b62c: 0x6cc44420, 0x1b62d: 0x6cf77020, 0x1b62e: 0x6c051c20, 0x1b62f: 0x6c275020,\n\t0x1b630: 0x6c4a4420, 0x1b631: 0x6c1d9420, 0x1b632: 0x6cb29a20, 0x1b633: 0x6d2f2c20,\n\t0x1b634: 0x6cca4a20, 0x1b635: 0x6cec8a20, 0x1b636: 0x6c275c20, 0x1b637: 0x6ceefc20,\n\t0x1b638: 0x6c16a420, 0x1b639: 0x6ccc4820, 0x1b63a: 0x6cb5c220, 0x1b63b: 0x6d2abe20,\n\t0x1b63c: 0x6c4c6820, 0x1b63d: 0x6c997a20, 0x1b63e: 0x6c321620, 0x1b63f: 0x6c540020,\n\t// Block 0x6d9, offset 0x1b640\n\t0x1b640: 0x6d334c20, 0x1b641: 0x6d059420, 0x1b642: 0x6c9d4420, 0x1b643: 0x6cef0e20,\n\t0x1b644: 0x6cf2ec20, 0x1b645: 0x6c3e7620, 0x1b646: 0x6d179620, 0x1b647: 0x6c052e20,\n\t0x1b648: 0x6cb2a420, 0x1b649: 0x6c2f3a20, 0x1b64a: 0x6c459220, 0x1b64b: 0x6cac5e20,\n\t0x1b64c: 0x6c5a5420, 0x1b64d: 0x6ce1d220, 0x1b64e: 0x6c9d5420, 0x1b64f: 0x6c644a20,\n\t0x1b650: 0x6ce2a020, 0x1b651: 0x6c5ad020, 0x1b652: 0x6d37c020, 0x1b653: 0x6cccfa20,\n\t0x1b654: 0x6c97e620, 0x1b655: 0x6ca29420, 0x1b656: 0x6c0c0820, 0x1b657: 0x6c4c7220,\n\t0x1b658: 0x6d2adc20, 0x1b659: 0x6ca29620, 0x1b65a: 0x6c053420, 0x1b65b: 0x6d2f3c20,\n\t0x1b65c: 0x6c6e2820, 0x1b65d: 0x6c15d220, 0x1b65e: 0x6c3ed620, 0x1b65f: 0x6d36a620,\n\t0x1b660: 0x6c54f420, 0x1b661: 0x6c385820, 0x1b662: 0x6c207620, 0x1b663: 0x6c09f220,\n\t0x1b664: 0x6c0ae220, 0x1b665: 0x6d2f4820, 0x1b666: 0x6c9d8420, 0x1b667: 0x6cbba420,\n\t0x1b668: 0x6c14d820, 0x1b669: 0x6c3b8620, 0x1b66a: 0x6c9b4820, 0x1b66b: 0x6c053e20,\n\t0x1b66c: 0x6c1de420, 0x1b66d: 0x6c9eee20, 0x1b66e: 0x6c1eb820, 0x1b66f: 0x6c6b3220,\n\t0x1b670: 0x6cfc3e20, 0x1b671: 0x6c7fe220, 0x1b672: 0x6c420a20, 0x1b673: 0x6cb26e20,\n\t0x1b674: 0x6ca6f220, 0x1b675: 0x6c646020, 0x1b676: 0x6c0e0420, 0x1b677: 0x6c0e0c20,\n\t0x1b678: 0x6d041620, 0x1b679: 0x6c422620, 0x1b67a: 0x6d107e20, 0x1b67b: 0x6c58ec20,\n\t0x1b67c: 0x6d200c20, 0x1b67d: 0x6d1e9a20, 0x1b67e: 0x6c613e20, 0x1b67f: 0x6c4a0220,\n\t// Block 0x6da, offset 0x1b680\n\t0x1b680: 0x6cb04220, 0x1b681: 0x6ce62420, 0x1b682: 0x6d2b3420, 0x1b683: 0x6c4a0420,\n\t0x1b684: 0x6d3c0820, 0x1b685: 0x6ca1b020, 0x1b686: 0x6cbec220, 0x1b687: 0x6c091c20,\n\t0x1b688: 0x6cbd5220, 0x1b689: 0x6c33d820, 0x1b68a: 0x6c206c20, 0x1b68b: 0x6c4ac220,\n\t0x1b68c: 0x6d0b4820, 0x1b68d: 0x6c043020, 0x1b68e: 0x6c6bb620, 0x1b68f: 0x6d067020,\n\t0x1b690: 0x6c913420, 0x1b691: 0x6cf42020, 0x1b692: 0x6d3c5420, 0x1b693: 0x6c7a8220,\n\t0x1b694: 0x6d1b9e20, 0x1b695: 0x6c2bd620, 0x1b696: 0x6cad4c20, 0x1b697: 0x6c2d3c20,\n\t0x1b698: 0x6d0ad020, 0x1b699: 0x6c9eac20, 0x1b69a: 0x6c44ba20, 0x1b69b: 0x6c22b820,\n\t0x1b69c: 0x6c3f3e20, 0x1b69d: 0x6ce71820, 0x1b69e: 0x6cacf220, 0x1b69f: 0x6c3a8220,\n\t0x1b6a0: 0x6cfdb420, 0x1b6a1: 0x6d15ce20, 0x1b6a2: 0x6d359820, 0x1b6a3: 0x6ce54e20,\n\t0x1b6a4: 0x6d359a20, 0x1b6a5: 0x6d04be20, 0x1b6a6: 0x6c324420, 0x1b6a7: 0x6d428e20,\n\t0x1b6a8: 0x6cfe9c20, 0x1b6a9: 0x6ce89020, 0x1b6aa: 0x6c4ae620, 0x1b6ab: 0x6c7a8820,\n\t0x1b6ac: 0x6c984e20, 0x1b6ad: 0x6ce66420, 0x1b6ae: 0x6d1fb620, 0x1b6af: 0x6c101020,\n\t0x1b6b0: 0x6c0e0e20, 0x1b6b1: 0x6c1a6e20, 0x1b6b2: 0x6c7ef620, 0x1b6b3: 0x6c097620,\n\t0x1b6b4: 0x6c601620, 0x1b6b5: 0x6c012620, 0x1b6b6: 0x6cd5c220, 0x1b6b7: 0x6c772c20,\n\t0x1b6b8: 0x6d1d8420, 0x1b6b9: 0x6ceb7820, 0x1b6ba: 0x6cd91620, 0x1b6bb: 0x6cd5c420,\n\t0x1b6bc: 0x6cbea620, 0x1b6bd: 0x6d233620, 0x1b6be: 0x6d224a20, 0x1b6bf: 0x6c9eb420,\n\t// Block 0x6db, offset 0x1b6c0\n\t0x1b6c0: 0x6cd9ac20, 0x1b6c1: 0x6c12e620, 0x1b6c2: 0x6cfd7220, 0x1b6c3: 0x6c3aaa20,\n\t0x1b6c4: 0x6c6ff820, 0x1b6c5: 0x6c365420, 0x1b6c6: 0x6c4a6620, 0x1b6c7: 0x6c8f3420,\n\t0x1b6c8: 0x6ccc5620, 0x1b6c9: 0x6c881020, 0x1b6ca: 0x6c80b420, 0x1b6cb: 0x6cd9ae20,\n\t0x1b6cc: 0x6d365220, 0x1b6cd: 0x6cb3f620, 0x1b6ce: 0x6cbeac20, 0x1b6cf: 0x6c700e20,\n\t0x1b6d0: 0x6c6ffa20, 0x1b6d1: 0x6c6c9e20, 0x1b6d2: 0x6c025020, 0x1b6d3: 0x6c7e0420,\n\t0x1b6d4: 0x6c90a020, 0x1b6d5: 0x6d1b5e20, 0x1b6d6: 0x6c8a9e20, 0x1b6d7: 0x6c277e20,\n\t0x1b6d8: 0x6c927c20, 0x1b6d9: 0x6d182220, 0x1b6da: 0x6c1ea420, 0x1b6db: 0x6c151a20,\n\t0x1b6dc: 0x6ce8d820, 0x1b6dd: 0x6cd81220, 0x1b6de: 0x6d02e420, 0x1b6df: 0x6c9eb820,\n\t0x1b6e0: 0x6c16f420, 0x1b6e1: 0x6cf46220, 0x1b6e2: 0x6c3ac420, 0x1b6e3: 0x6c4a0820,\n\t0x1b6e4: 0x6c7aa620, 0x1b6e5: 0x6c7b3c20, 0x1b6e6: 0x6c0a4820, 0x1b6e7: 0x6cbb2220,\n\t0x1b6e8: 0x6d021020, 0x1b6e9: 0x6c8c2c20, 0x1b6ea: 0x6c8c2e20, 0x1b6eb: 0x6c8a3220,\n\t0x1b6ec: 0x6c916e20, 0x1b6ed: 0x6c631220, 0x1b6ee: 0x6d1d2420, 0x1b6ef: 0x6cfafa20,\n\t0x1b6f0: 0x6ce65420, 0x1b6f1: 0x6d1dd820, 0x1b6f2: 0x6c84bc20, 0x1b6f3: 0x6ce65820,\n\t0x1b6f4: 0x6d1ac020, 0x1b6f5: 0x6d09d220, 0x1b6f6: 0x6d0c5220, 0x1b6f7: 0x6ce65c20,\n\t0x1b6f8: 0x6c2b5220, 0x1b6f9: 0x6cac1420, 0x1b6fa: 0x6c665420, 0x1b6fb: 0x6c5b1c20,\n\t0x1b6fc: 0x6ca39a20, 0x1b6fd: 0x6c5b2220, 0x1b6fe: 0x6c45cc20, 0x1b6ff: 0x6ca75620,\n\t// Block 0x6dc, offset 0x1b700\n\t0x1b700: 0x6c762420, 0x1b701: 0x6c0b6620, 0x1b702: 0x6d166220, 0x1b703: 0x6cb73620,\n\t0x1b704: 0x6ca9f020, 0x1b705: 0x6c3bc620, 0x1b706: 0x6c71a420, 0x1b707: 0x6d0d5620,\n\t0x1b708: 0x6d16ea20, 0x1b709: 0x6d2a0020, 0x1b70a: 0x6c09f420, 0x1b70b: 0x6d163c20,\n\t0x1b70c: 0x6d13ba20, 0x1b70d: 0x6c37b820, 0x1b70e: 0x6cc9f820, 0x1b70f: 0x6cd2fc20,\n\t0x1b710: 0x6c37ba20, 0x1b711: 0x6cd38020, 0x1b712: 0x6cd39a20, 0x1b713: 0x6c454c20,\n\t0x1b714: 0x6c2e0420, 0x1b715: 0x6d1ac420, 0x1b716: 0x6c563620, 0x1b717: 0x6c3dc820,\n\t0x1b718: 0x6c52ea20, 0x1b719: 0x6cf34420, 0x1b71a: 0x6ce99c20, 0x1b71b: 0x6c1af420,\n\t0x1b71c: 0x6c67d420, 0x1b71d: 0x6c03a820, 0x1b71e: 0x6cd04420, 0x1b71f: 0x6c2c1420,\n\t0x1b720: 0x6d2eb020, 0x1b721: 0x6c73dc20, 0x1b722: 0x6ce1b020, 0x1b723: 0x6c3f4020,\n\t0x1b724: 0x6c2bd820, 0x1b725: 0x6c9c3820, 0x1b726: 0x6cfb2c20, 0x1b727: 0x6c552220,\n\t0x1b728: 0x6c173820, 0x1b729: 0x6caa4e20, 0x1b72a: 0x6c6e4c20, 0x1b72b: 0x6d31be20,\n\t0x1b72c: 0x6d14be20, 0x1b72d: 0x6c9ce020, 0x1b72e: 0x6cc28e20, 0x1b72f: 0x6cec8220,\n\t0x1b730: 0x6cce5e20, 0x1b731: 0x6cc91820, 0x1b732: 0x6d078620, 0x1b733: 0x6c6e6420,\n\t0x1b734: 0x6c2dc220, 0x1b735: 0x6d2eb420, 0x1b736: 0x6c67de20, 0x1b737: 0x6cbb0820,\n\t0x1b738: 0x6cae9a20, 0x1b739: 0x6c287820, 0x1b73a: 0x6cbb0e20, 0x1b73b: 0x6c099620,\n\t0x1b73c: 0x6c099820, 0x1b73d: 0x6ccf4820, 0x1b73e: 0x6c288820, 0x1b73f: 0x6c65aa20,\n\t// Block 0x6dd, offset 0x1b740\n\t0x1b740: 0x6c46b420, 0x1b741: 0x6c448e20, 0x1b742: 0x6c37f020, 0x1b743: 0x6c09c420,\n\t0x1b744: 0x6c79c020, 0x1b745: 0x6c673820, 0x1b746: 0x6c0d1820, 0x1b747: 0x6cff1420,\n\t0x1b748: 0x6c28a620, 0x1b749: 0x6c4c2e20, 0x1b74a: 0x6c67f820, 0x1b74b: 0x6c538620,\n\t0x1b74c: 0x6c9c7820, 0x1b74d: 0x6c4c4420, 0x1b74e: 0x6ceca420, 0x1b74f: 0x6c751620,\n\t0x1b750: 0x6c616820, 0x1b751: 0x6c616a20, 0x1b752: 0x6c4a3220, 0x1b753: 0x6c28f820,\n\t0x1b754: 0x6c921a20, 0x1b755: 0x6c921c20, 0x1b756: 0x6ce98820, 0x1b757: 0x6c5bb420,\n\t0x1b758: 0x6d362220, 0x1b759: 0x6c5bda20, 0x1b75a: 0x6c5bdc20, 0x1b75b: 0x6d155c20,\n\t0x1b75c: 0x6d155e20, 0x1b75d: 0x6d158020, 0x1b75e: 0x6d158220, 0x1b75f: 0x6d265e20,\n\t0x1b760: 0x6d266220, 0x1b761: 0x6cccb220, 0x1b762: 0x6d03c020, 0x1b763: 0x6cf17c20,\n\t0x1b764: 0x6ce71020, 0x1b765: 0x6d0e4620, 0x1b766: 0x6d0e4820, 0x1b767: 0x6d22f020,\n\t0x1b768: 0x6c1a9c20, 0x1b769: 0x6c112620, 0x1b76a: 0x6c0bfa20, 0x1b76b: 0x6c2dc420,\n\t0x1b76c: 0x6c0d3020, 0x1b76d: 0x6cae9e20, 0x1b76e: 0x6d1e4620, 0x1b76f: 0x6cb19820,\n\t0x1b770: 0x6d2ec420, 0x1b771: 0x6d1d0420, 0x1b772: 0x6c1af020, 0x1b773: 0x6c1bd420,\n\t0x1b774: 0x6d3d1c20, 0x1b775: 0x6ceb6c20, 0x1b776: 0x6c5fc820, 0x1b777: 0x6c39be20,\n\t0x1b778: 0x6d379220, 0x1b779: 0x6d168420, 0x1b77a: 0x6cedde20, 0x1b77b: 0x6c17fe20,\n\t0x1b77c: 0x6c08c020, 0x1b77d: 0x6c2b1620, 0x1b77e: 0x6c8caa20, 0x1b77f: 0x6c3dea20,\n\t// Block 0x6de, offset 0x1b780\n\t0x1b780: 0x6cedfa20, 0x1b781: 0x6d328820, 0x1b782: 0x6c241e20, 0x1b783: 0x6cedfc20,\n\t0x1b784: 0x6c6e4e20, 0x1b785: 0x6c274220, 0x1b786: 0x6cf59e20, 0x1b787: 0x6d0a7020,\n\t0x1b788: 0x6c523a20, 0x1b789: 0x6d0f9420, 0x1b78a: 0x6c57e820, 0x1b78b: 0x6c93d020,\n\t0x1b78c: 0x6c546420, 0x1b78d: 0x6cee0220, 0x1b78e: 0x6c1a6620, 0x1b78f: 0x6d35b220,\n\t0x1b790: 0x6d061820, 0x1b791: 0x6c6e6620, 0x1b792: 0x6ce89220, 0x1b793: 0x6c238e20,\n\t0x1b794: 0x6d377e20, 0x1b795: 0x6c7eea20, 0x1b796: 0x6c239620, 0x1b797: 0x6c2a9020,\n\t0x1b798: 0x6cabf820, 0x1b799: 0x6cf7dc20, 0x1b79a: 0x6c300020, 0x1b79b: 0x6c61e620,\n\t0x1b79c: 0x6c16a620, 0x1b79d: 0x6d35dc20, 0x1b79e: 0x6c239820, 0x1b79f: 0x6d387020,\n\t0x1b7a0: 0x6c7ef820, 0x1b7a1: 0x6d233820, 0x1b7a2: 0x6d018e20, 0x1b7a3: 0x6c6bdc20,\n\t0x1b7a4: 0x6c667820, 0x1b7a5: 0x6cd38220, 0x1b7a6: 0x6c641620, 0x1b7a7: 0x6c0b9820,\n\t0x1b7a8: 0x6c59c220, 0x1b7a9: 0x6c3ff020, 0x1b7aa: 0x6d0a0e20, 0x1b7ab: 0x6cefbe20,\n\t0x1b7ac: 0x6cad0420, 0x1b7ad: 0x6d110c20, 0x1b7ae: 0x6cee9820, 0x1b7af: 0x6cf64820,\n\t0x1b7b0: 0x6d32d020, 0x1b7b1: 0x6cb1b620, 0x1b7b2: 0x6ce36220, 0x1b7b3: 0x6c2a7c20,\n\t0x1b7b4: 0x6d32de20, 0x1b7b5: 0x6d32f020, 0x1b7b6: 0x6c0cf420, 0x1b7b7: 0x6c2a7e20,\n\t0x1b7b8: 0x6c1cd420, 0x1b7b9: 0x6c183020, 0x1b7ba: 0x6c692620, 0x1b7bb: 0x6c5c2c20,\n\t0x1b7bc: 0x6c693c20, 0x1b7bd: 0x6c5af220, 0x1b7be: 0x6c9a2e20, 0x1b7bf: 0x6c906c20,\n\t// Block 0x6df, offset 0x1b7c0\n\t0x1b7c0: 0x6cfd9220, 0x1b7c1: 0x6c067a20, 0x1b7c2: 0x6cc1fe20, 0x1b7c3: 0x6d02a220,\n\t0x1b7c4: 0x6d036220, 0x1b7c5: 0x6c090420, 0x1b7c6: 0x6d164020, 0x1b7c7: 0x6c820c20,\n\t0x1b7c8: 0x6cc56420, 0x1b7c9: 0x6c29b620, 0x1b7ca: 0x6c2f8e20, 0x1b7cb: 0x6c410820,\n\t0x1b7cc: 0x6c618020, 0x1b7cd: 0x6cc58620, 0x1b7ce: 0x6cc56a20, 0x1b7cf: 0x6c162620,\n\t0x1b7d0: 0x6ce05020, 0x1b7d1: 0x6ce26820, 0x1b7d2: 0x6ce26a20, 0x1b7d3: 0x6c416020,\n\t0x1b7d4: 0x6cb72a20, 0x1b7d5: 0x6cd2fe20, 0x1b7d6: 0x6c25ae20, 0x1b7d7: 0x6d357420,\n\t0x1b7d8: 0x6cee4620, 0x1b7d9: 0x6c982820, 0x1b7da: 0x6cf56e20, 0x1b7db: 0x6c388220,\n\t0x1b7dc: 0x6d1ba020, 0x1b7dd: 0x6ce4d820, 0x1b7de: 0x6c9f2c20, 0x1b7df: 0x6cf1ca20,\n\t0x1b7e0: 0x6d379620, 0x1b7e1: 0x6c1cac20, 0x1b7e2: 0x6cf4b620, 0x1b7e3: 0x6c5fca20,\n\t0x1b7e4: 0x6cf42220, 0x1b7e5: 0x6cf84620, 0x1b7e6: 0x6c639a20, 0x1b7e7: 0x6d1e8e20,\n\t0x1b7e8: 0x6ced7420, 0x1b7e9: 0x6c230220, 0x1b7ea: 0x6cd90220, 0x1b7eb: 0x6c7b0e20,\n\t0x1b7ec: 0x6d22d020, 0x1b7ed: 0x6c0b6c20, 0x1b7ee: 0x6d357620, 0x1b7ef: 0x6cb57420,\n\t0x1b7f0: 0x6c251820, 0x1b7f1: 0x6c189a20, 0x1b7f2: 0x6cdf5e20, 0x1b7f3: 0x6cea3e20,\n\t0x1b7f4: 0x6cb96e20, 0x1b7f5: 0x6ca75a20, 0x1b7f6: 0x6c5cde20, 0x1b7f7: 0x6d045420,\n\t0x1b7f8: 0x6ca97620, 0x1b7f9: 0x6c7bb620, 0x1b7fa: 0x6cfa7820, 0x1b7fb: 0x6d02aa20,\n\t0x1b7fc: 0x6c772420, 0x1b7fd: 0x6c549e20, 0x1b7fe: 0x6c767c20, 0x1b7ff: 0x6c3bce20,\n\t// Block 0x6e0, offset 0x1b800\n\t0x1b800: 0x6c57e620, 0x1b801: 0x6cdf6220, 0x1b802: 0x6cd95220, 0x1b803: 0x6cf42420,\n\t0x1b804: 0x6cab9a20, 0x1b805: 0x6c170220, 0x1b806: 0x6c20a020, 0x1b807: 0x6c71fa20,\n\t0x1b808: 0x6d16b420, 0x1b809: 0x6c05e620, 0x1b80a: 0x6c173a20, 0x1b80b: 0x6c9f2e20,\n\t0x1b80c: 0x6cadb020, 0x1b80d: 0x6d428020, 0x1b80e: 0x6d2b7620, 0x1b80f: 0x6d104020,\n\t0x1b810: 0x6c720a20, 0x1b811: 0x6c04e820, 0x1b812: 0x6caa5e20, 0x1b813: 0x6ca49420,\n\t0x1b814: 0x6d328a20, 0x1b815: 0x6cabe820, 0x1b816: 0x6c106a20, 0x1b817: 0x6ce5ea20,\n\t0x1b818: 0x6c567020, 0x1b819: 0x6c566420, 0x1b81a: 0x6c720c20, 0x1b81b: 0x6c267e20,\n\t0x1b81c: 0x6c87f420, 0x1b81d: 0x6cd7d420, 0x1b81e: 0x6c1d8e20, 0x1b81f: 0x6c2c2020,\n\t0x1b820: 0x6c274420, 0x1b821: 0x6d147020, 0x1b822: 0x6ce84020, 0x1b823: 0x6d1f0620,\n\t0x1b824: 0x6c3d4820, 0x1b825: 0x6c5ff420, 0x1b826: 0x6cae5420, 0x1b827: 0x6d041820,\n\t0x1b828: 0x6d260420, 0x1b829: 0x6ca5be20, 0x1b82a: 0x6c48e620, 0x1b82b: 0x6c3dec20,\n\t0x1b82c: 0x6cf84820, 0x1b82d: 0x6c093220, 0x1b82e: 0x6d1e9620, 0x1b82f: 0x6cbc9620,\n\t0x1b830: 0x6d086e20, 0x1b831: 0x6c230820, 0x1b832: 0x6c0dc220, 0x1b833: 0x6c5a4220,\n\t0x1b834: 0x6d068020, 0x1b835: 0x6c1f0e20, 0x1b836: 0x6c093420, 0x1b837: 0x6cd5ac20,\n\t0x1b838: 0x6cf5a020, 0x1b839: 0x6cdf9620, 0x1b83a: 0x6d1e8220, 0x1b83b: 0x6d3fe820,\n\t0x1b83c: 0x6c334220, 0x1b83d: 0x6ca1b220, 0x1b83e: 0x6d34f220, 0x1b83f: 0x6d16b620,\n\t// Block 0x6e1, offset 0x1b840\n\t0x1b840: 0x6cd33220, 0x1b841: 0x6ca59420, 0x1b842: 0x6d09e820, 0x1b843: 0x6cd33420,\n\t0x1b844: 0x6cf86020, 0x1b845: 0x6c81a420, 0x1b846: 0x6c525820, 0x1b847: 0x6c7b8e20,\n\t0x1b848: 0x6ca1c620, 0x1b849: 0x6d34fe20, 0x1b84a: 0x6d008020, 0x1b84b: 0x6c88e820,\n\t0x1b84c: 0x6ce55220, 0x1b84d: 0x6c5a4820, 0x1b84e: 0x6c2e7020, 0x1b84f: 0x6c502820,\n\t0x1b850: 0x6c799e20, 0x1b851: 0x6c4ad420, 0x1b852: 0x6c525a20, 0x1b853: 0x6cf5a220,\n\t0x1b854: 0x6c68ce20, 0x1b855: 0x6cd5b820, 0x1b856: 0x6cd8fe20, 0x1b857: 0x6c54aa20,\n\t0x1b858: 0x6cbfa420, 0x1b859: 0x6d104220, 0x1b85a: 0x6c5ba820, 0x1b85b: 0x6c5b2420,\n\t0x1b85c: 0x6c1bfa20, 0x1b85d: 0x6c63b020, 0x1b85e: 0x6d149a20, 0x1b85f: 0x6d045e20,\n\t0x1b860: 0x6c48ec20, 0x1b861: 0x6c8c4c20, 0x1b862: 0x6c5a9220, 0x1b863: 0x6d3f3a20,\n\t0x1b864: 0x6d068e20, 0x1b865: 0x6c1b8a20, 0x1b866: 0x6cce4e20, 0x1b867: 0x6caa7c20,\n\t0x1b868: 0x6c524220, 0x1b869: 0x6c371020, 0x1b86a: 0x6c788e20, 0x1b86b: 0x6c305e20,\n\t0x1b86c: 0x6ce48820, 0x1b86d: 0x6c457c20, 0x1b86e: 0x6cc29020, 0x1b86f: 0x6cf94220,\n\t0x1b870: 0x6cb84a20, 0x1b871: 0x6d268c20, 0x1b872: 0x6cae5820, 0x1b873: 0x6c790020,\n\t0x1b874: 0x6c2a6420, 0x1b875: 0x6c5baa20, 0x1b876: 0x6c35fa20, 0x1b877: 0x6d003220,\n\t0x1b878: 0x6ce7c620, 0x1b879: 0x6d0be020, 0x1b87a: 0x6c764c20, 0x1b87b: 0x6c12ce20,\n\t0x1b87c: 0x6ca4e020, 0x1b87d: 0x6d282020, 0x1b87e: 0x6c984020, 0x1b87f: 0x6d1e2a20,\n\t// Block 0x6e2, offset 0x1b880\n\t0x1b880: 0x6d1e2220, 0x1b881: 0x6d24d420, 0x1b882: 0x6caf5220, 0x1b883: 0x6c7da020,\n\t0x1b884: 0x6cbb6a20, 0x1b885: 0x6d269420, 0x1b886: 0x6d230c20, 0x1b887: 0x6ce89420,\n\t0x1b888: 0x6c6bd820, 0x1b889: 0x6cf5e220, 0x1b88a: 0x6d304a20, 0x1b88b: 0x6c8c4e20,\n\t0x1b88c: 0x6ce3e020, 0x1b88d: 0x6c4e9620, 0x1b88e: 0x6c502a20, 0x1b88f: 0x6cbca820,\n\t0x1b890: 0x6ce3ea20, 0x1b891: 0x6c108220, 0x1b892: 0x6d172620, 0x1b893: 0x6cba4a20,\n\t0x1b894: 0x6c5b4c20, 0x1b895: 0x6cf5bc20, 0x1b896: 0x6c070020, 0x1b897: 0x6c975e20,\n\t0x1b898: 0x6d13e420, 0x1b899: 0x6c524820, 0x1b89a: 0x6cd95620, 0x1b89b: 0x6cc29420,\n\t0x1b89c: 0x6c1a6820, 0x1b89d: 0x6c7c3820, 0x1b89e: 0x6cf4d020, 0x1b89f: 0x6cf4d220,\n\t0x1b8a0: 0x6d1e9e20, 0x1b8a1: 0x6c83b620, 0x1b8a2: 0x6c89ae20, 0x1b8a3: 0x6c590e20,\n\t0x1b8a4: 0x6c230c20, 0x1b8a5: 0x6d175a20, 0x1b8a6: 0x6d269620, 0x1b8a7: 0x6c85c820,\n\t0x1b8a8: 0x6ca8e620, 0x1b8a9: 0x6ca4e620, 0x1b8aa: 0x6c360e20, 0x1b8ab: 0x6cc3b620,\n\t0x1b8ac: 0x6d080e20, 0x1b8ad: 0x6cb8c420, 0x1b8ae: 0x6cf4d420, 0x1b8af: 0x6c9fa420,\n\t0x1b8b0: 0x6c239a20, 0x1b8b1: 0x6c3a5220, 0x1b8b2: 0x6c069c20, 0x1b8b3: 0x6c344c20,\n\t0x1b8b4: 0x6c253420, 0x1b8b5: 0x6c171220, 0x1b8b6: 0x6c9af220, 0x1b8b7: 0x6cca4e20,\n\t0x1b8b8: 0x6c61ea20, 0x1b8b9: 0x6c498820, 0x1b8ba: 0x6c497e20, 0x1b8bb: 0x6d042820,\n\t0x1b8bc: 0x6c2a0e20, 0x1b8bd: 0x6cb4e620, 0x1b8be: 0x6c797420, 0x1b8bf: 0x6ce4ec20,\n\t// Block 0x6e3, offset 0x1b8c0\n\t0x1b8c0: 0x6c94f220, 0x1b8c1: 0x6cf60a20, 0x1b8c2: 0x6c76d220, 0x1b8c3: 0x6c4bc020,\n\t0x1b8c4: 0x6ca6a020, 0x1b8c5: 0x6cbe7620, 0x1b8c6: 0x6c1da020, 0x1b8c7: 0x6c339820,\n\t0x1b8c8: 0x6c4cb620, 0x1b8c9: 0x6d2d7420, 0x1b8ca: 0x6c6da820, 0x1b8cb: 0x6ced0420,\n\t0x1b8cc: 0x6d24ea20, 0x1b8cd: 0x6c6c4220, 0x1b8ce: 0x6c620020, 0x1b8cf: 0x6c7f9620,\n\t0x1b8d0: 0x6d231020, 0x1b8d1: 0x6c5dca20, 0x1b8d2: 0x6c512620, 0x1b8d3: 0x6cc2da20,\n\t0x1b8d4: 0x6cdfdc20, 0x1b8d5: 0x6ce3ec20, 0x1b8d6: 0x6ce3f420, 0x1b8d7: 0x6ca81620,\n\t0x1b8d8: 0x6cee0e20, 0x1b8d9: 0x6c21b420, 0x1b8da: 0x6c54bc20, 0x1b8db: 0x6c5cc020,\n\t0x1b8dc: 0x6cf5e420, 0x1b8dd: 0x6c16ea20, 0x1b8de: 0x6d02ca20, 0x1b8df: 0x6ceefe20,\n\t0x1b8e0: 0x6c5bc020, 0x1b8e1: 0x6c363420, 0x1b8e2: 0x6cdd6620, 0x1b8e3: 0x6d3fee20,\n\t0x1b8e4: 0x6c648420, 0x1b8e5: 0x6d1e3620, 0x1b8e6: 0x6c2d4e20, 0x1b8e7: 0x6c723c20,\n\t0x1b8e8: 0x6c11ce20, 0x1b8e9: 0x6c19fc20, 0x1b8ea: 0x6c2a6e20, 0x1b8eb: 0x6c072220,\n\t0x1b8ec: 0x6cbcb420, 0x1b8ed: 0x6c119420, 0x1b8ee: 0x6c287a20, 0x1b8ef: 0x6c498020,\n\t0x1b8f0: 0x6c34f420, 0x1b8f1: 0x6ca4f820, 0x1b8f2: 0x6d283220, 0x1b8f3: 0x6cfdea20,\n\t0x1b8f4: 0x6d3c8420, 0x1b8f5: 0x6c2ea220, 0x1b8f6: 0x6c59c420, 0x1b8f7: 0x6c217e20,\n\t0x1b8f8: 0x6cbf2220, 0x1b8f9: 0x6cc54c20, 0x1b8fa: 0x6d037220, 0x1b8fb: 0x6c12e820,\n\t0x1b8fc: 0x6c0b3e20, 0x1b8fd: 0x6c9fac20, 0x1b8fe: 0x6d3f8a20, 0x1b8ff: 0x6ce32220,\n\t// Block 0x6e4, offset 0x1b900\n\t0x1b900: 0x6cbc2620, 0x1b901: 0x6c1db820, 0x1b902: 0x6c073020, 0x1b903: 0x6d079820,\n\t0x1b904: 0x6cee8620, 0x1b905: 0x6c43ea20, 0x1b906: 0x6cb8ee20, 0x1b907: 0x6cefc020,\n\t0x1b908: 0x6d236a20, 0x1b909: 0x6d212420, 0x1b90a: 0x6c099a20, 0x1b90b: 0x6d079a20,\n\t0x1b90c: 0x6c592020, 0x1b90d: 0x6c9fb620, 0x1b90e: 0x6c099c20, 0x1b90f: 0x6d17e220,\n\t0x1b910: 0x6c9e2420, 0x1b911: 0x6d1e3820, 0x1b912: 0x6c768820, 0x1b913: 0x6c296620,\n\t0x1b914: 0x6d19e020, 0x1b915: 0x6c363620, 0x1b916: 0x6c18c620, 0x1b917: 0x6c998a20,\n\t0x1b918: 0x6cb86820, 0x1b919: 0x6c78b820, 0x1b91a: 0x6d214820, 0x1b91b: 0x6c00a820,\n\t0x1b91c: 0x6cbcc020, 0x1b91d: 0x6d0d7e20, 0x1b91e: 0x6caaf620, 0x1b91f: 0x6c41dc20,\n\t0x1b920: 0x6d283420, 0x1b921: 0x6d3ff020, 0x1b922: 0x6cc9c220, 0x1b923: 0x6c839620,\n\t0x1b924: 0x6c3bd820, 0x1b925: 0x6d1d6620, 0x1b926: 0x6c7cf820, 0x1b927: 0x6c7cfa20,\n\t0x1b928: 0x6cc3d820, 0x1b929: 0x6c459420, 0x1b92a: 0x6d27ae20, 0x1b92b: 0x6cdaca20,\n\t0x1b92c: 0x6cdae420, 0x1b92d: 0x6cb5f820, 0x1b92e: 0x6d110e20, 0x1b92f: 0x6cd96020,\n\t0x1b930: 0x6c5a6c20, 0x1b931: 0x6c604e20, 0x1b932: 0x6c478c20, 0x1b933: 0x6c726220,\n\t0x1b934: 0x6c20ae20, 0x1b935: 0x6ca6aa20, 0x1b936: 0x6d00b620, 0x1b937: 0x6c766020,\n\t0x1b938: 0x6d332a20, 0x1b939: 0x6d1e4820, 0x1b93a: 0x6c12ae20, 0x1b93b: 0x6d0a9a20,\n\t0x1b93c: 0x6cd0aa20, 0x1b93d: 0x6c0f1020, 0x1b93e: 0x6c768e20, 0x1b93f: 0x6d262820,\n\t// Block 0x6e5, offset 0x1b940\n\t0x1b940: 0x6cf89e20, 0x1b941: 0x6c5d3420, 0x1b942: 0x6d1e5020, 0x1b943: 0x6d102420,\n\t0x1b944: 0x6c862e20, 0x1b945: 0x6ccaaa20, 0x1b946: 0x6ce1d420, 0x1b947: 0x6d19f220,\n\t0x1b948: 0x6c224e20, 0x1b949: 0x6d06f220, 0x1b94a: 0x6cba5820, 0x1b94b: 0x6cdf7c20,\n\t0x1b94c: 0x6c599420, 0x1b94d: 0x6d283a20, 0x1b94e: 0x6cd0ac20, 0x1b94f: 0x6ca03820,\n\t0x1b950: 0x6c463020, 0x1b951: 0x6ccf5020, 0x1b952: 0x6c23a420, 0x1b953: 0x6cb15820,\n\t0x1b954: 0x6ca29820, 0x1b955: 0x6ca2a020, 0x1b956: 0x6c4c7620, 0x1b957: 0x6c1c5620,\n\t0x1b958: 0x6c11d420, 0x1b959: 0x6c11a620, 0x1b95a: 0x6c119c20, 0x1b95b: 0x6c24da20,\n\t0x1b95c: 0x6c9fc220, 0x1b95d: 0x6ce27e20, 0x1b95e: 0x6d2ec820, 0x1b95f: 0x6ce7ce20,\n\t0x1b960: 0x6c02d820, 0x1b961: 0x6cd6d620, 0x1b962: 0x6c97e820, 0x1b963: 0x6c499620,\n\t0x1b964: 0x6cc3ea20, 0x1b965: 0x6d2a8420, 0x1b966: 0x6c701620, 0x1b967: 0x6c5c1020,\n\t0x1b968: 0x6c765820, 0x1b969: 0x6c881220, 0x1b96a: 0x6cab9e20, 0x1b96b: 0x6cd96c20,\n\t0x1b96c: 0x6cbd8e20, 0x1b96d: 0x6d1b7020, 0x1b96e: 0x6c93f220, 0x1b96f: 0x6cce0c20,\n\t0x1b970: 0x6cf0b820, 0x1b971: 0x6ce95220, 0x1b972: 0x6c976c20, 0x1b973: 0x6cb8fe20,\n\t0x1b974: 0x6ccf6220, 0x1b975: 0x6d1d9c20, 0x1b976: 0x6cbed620, 0x1b977: 0x6c773e20,\n\t0x1b978: 0x6c2c8e20, 0x1b979: 0x6d348e20, 0x1b97a: 0x6c90a220, 0x1b97b: 0x6c738220,\n\t0x1b97c: 0x6cb51c20, 0x1b97d: 0x6cb50c20, 0x1b97e: 0x6d23c020, 0x1b97f: 0x6cb2c220,\n\t// Block 0x6e6, offset 0x1b980\n\t0x1b980: 0x6c89f620, 0x1b981: 0x6c23da20, 0x1b982: 0x6d1eae20, 0x1b983: 0x6c1cd620,\n\t0x1b984: 0x6d36aa20, 0x1b985: 0x6ce7d020, 0x1b986: 0x6c197a20, 0x1b987: 0x6cb7c020,\n\t0x1b988: 0x6cc12020, 0x1b989: 0x6caebc20, 0x1b98a: 0x6c075a20, 0x1b98b: 0x6c0cb820,\n\t0x1b98c: 0x6cbf5c20, 0x1b98d: 0x6c686a20, 0x1b98e: 0x6d2b8a20, 0x1b98f: 0x6c1c4220,\n\t0x1b990: 0x6c883620, 0x1b991: 0x6cb2cc20, 0x1b992: 0x6c7d0c20, 0x1b993: 0x6c5c1220,\n\t0x1b994: 0x6cbbf020, 0x1b995: 0x6c1a3620, 0x1b996: 0x6d1b7a20, 0x1b997: 0x6d1b7c20,\n\t0x1b998: 0x6cf80620, 0x1b999: 0x6cf6ba20, 0x1b99a: 0x6c28a820, 0x1b99b: 0x6ce00220,\n\t0x1b99c: 0x6c34a220, 0x1b99d: 0x6c335e20, 0x1b99e: 0x6c335a20, 0x1b99f: 0x6cdaf820,\n\t0x1b9a0: 0x6c74b620, 0x1b9a1: 0x6c130e20, 0x1b9a2: 0x6cff0220, 0x1b9a3: 0x6c385a20,\n\t0x1b9a4: 0x6c3be420, 0x1b9a5: 0x6c817220, 0x1b9a6: 0x6c81da20, 0x1b9a7: 0x6c1cd820,\n\t0x1b9a8: 0x6c4db820, 0x1b9a9: 0x6cb7d220, 0x1b9aa: 0x6cfb7c20, 0x1b9ab: 0x6c9fc420,\n\t0x1b9ac: 0x6c6e2a20, 0x1b9ad: 0x6c8a7420, 0x1b9ae: 0x6cf46420, 0x1b9af: 0x6c11da20,\n\t0x1b9b0: 0x6c749020, 0x1b9b1: 0x6c245420, 0x1b9b2: 0x6cfd0820, 0x1b9b3: 0x6ce06e20,\n\t0x1b9b4: 0x6cd12220, 0x1b9b5: 0x6caf9820, 0x1b9b6: 0x6d188e20, 0x1b9b7: 0x6c1f7420,\n\t0x1b9b8: 0x6cfad620, 0x1b9b9: 0x6ca4c020, 0x1b9ba: 0x6c28ac20, 0x1b9bb: 0x6ce07420,\n\t0x1b9bc: 0x6c6e2c20, 0x1b9bd: 0x6cd93220, 0x1b9be: 0x6c4f0220, 0x1b9bf: 0x6c693e20,\n\t// Block 0x6e7, offset 0x1b9c0\n\t0x1b9c0: 0x6cf0cc20, 0x1b9c1: 0x6d07cc20, 0x1b9c2: 0x6c303620, 0x1b9c3: 0x6cbdb020,\n\t0x1b9c4: 0x6cbd9e20, 0x1b9c5: 0x6c728a20, 0x1b9c6: 0x6c12b220, 0x1b9c7: 0x6c791020,\n\t0x1b9c8: 0x6d021420, 0x1b9c9: 0x6d1bfe20, 0x1b9ca: 0x6c02ea20, 0x1b9cb: 0x6c99ba20,\n\t0x1b9cc: 0x6d189020, 0x1b9cd: 0x6c8c3020, 0x1b9ce: 0x6ccb5420, 0x1b9cf: 0x6c75e420,\n\t0x1b9d0: 0x6c57f220, 0x1b9d1: 0x6c9afe20, 0x1b9d2: 0x6c803c20, 0x1b9d3: 0x6c00ca20,\n\t0x1b9d4: 0x6c8c3220, 0x1b9d5: 0x6d0c3c20, 0x1b9d6: 0x6c7e2620, 0x1b9d7: 0x6cfa4a20,\n\t0x1b9d8: 0x6c1c8420, 0x1b9d9: 0x6d228e20, 0x1b9da: 0x6d1b8820, 0x1b9db: 0x6c270e20,\n\t0x1b9dc: 0x6c9be420, 0x1b9dd: 0x6c00d820, 0x1b9de: 0x6c9b4a20, 0x1b9df: 0x6c337020,\n\t0x1b9e0: 0x6cb65c20, 0x1b9e1: 0x6ca0ac20, 0x1b9e2: 0x6c7fbe20, 0x1b9e3: 0x6c9b0020,\n\t0x1b9e4: 0x6c1de620, 0x1b9e5: 0x6d370220, 0x1b9e6: 0x6cab1620, 0x1b9e7: 0x6cab1820,\n\t0x1b9e8: 0x6d0c3420, 0x1b9e9: 0x6d103420, 0x1b9ea: 0x6c0f8a20, 0x1b9eb: 0x6d372820,\n\t0x1b9ec: 0x6c7c0c20, 0x1b9ed: 0x6c7bd220, 0x1b9ee: 0x6d1ff820, 0x1b9ef: 0x6c3db220,\n\t0x1b9f0: 0x6c8eb420, 0x1b9f1: 0x6c9ef020, 0x1b9f2: 0x6c1a5420, 0x1b9f3: 0x6c5cb020,\n\t0x1b9f4: 0x6c163820, 0x1b9f5: 0x6c9bea20, 0x1b9f6: 0x6c804a20, 0x1b9f7: 0x6c57fa20,\n\t0x1b9f8: 0x6d083620, 0x1b9f9: 0x6cc51a20, 0x1b9fa: 0x6c164020, 0x1b9fb: 0x6c62b820,\n\t0x1b9fc: 0x6c72ca20, 0x1b9fd: 0x6c583e20, 0x1b9fe: 0x6ccf8820, 0x1b9ff: 0x6d195a20,\n\t// Block 0x6e8, offset 0x1ba00\n\t0x1ba00: 0x6c893820, 0x1ba01: 0x6ca44020, 0x1ba02: 0x6c9cb020, 0x1ba03: 0x6ce18c20,\n\t0x1ba04: 0x6c751a20, 0x1ba05: 0x6c42b020, 0x1ba06: 0x6c42b220, 0x1ba07: 0x6d3c5220,\n\t0x1ba08: 0x6c436020, 0x1ba09: 0x6d266e20, 0x1ba0a: 0x6cf49820, 0x1ba0b: 0x6c645a20,\n\t0x1ba0c: 0x6d056420, 0x1ba0d: 0x6cd59420, 0x1ba0e: 0x6cc65020, 0x1ba0f: 0x6cf83820,\n\t0x1ba10: 0x6c19b220, 0x1ba11: 0x6cf2a620, 0x1ba12: 0x6c6bb820, 0x1ba13: 0x6c436e20,\n\t0x1ba14: 0x6c646c20, 0x1ba15: 0x6cbaa020, 0x1ba16: 0x6c5da020, 0x1ba17: 0x6cbaa220,\n\t0x1ba18: 0x6d2e4a20, 0x1ba19: 0x6c306e20, 0x1ba1a: 0x6cb81220, 0x1ba1b: 0x6c63b620,\n\t0x1ba1c: 0x6c2e9220, 0x1ba1d: 0x6d2b5e20, 0x1ba1e: 0x6c63be20, 0x1ba1f: 0x6c614420,\n\t0x1ba20: 0x6d33de20, 0x1ba21: 0x6c76b020, 0x1ba22: 0x6c603420, 0x1ba23: 0x6c7c8620,\n\t0x1ba24: 0x6c414020, 0x1ba25: 0x6c2ace20, 0x1ba26: 0x6d2e6820, 0x1ba27: 0x6cbaca20,\n\t0x1ba28: 0x6c439e20, 0x1ba29: 0x6c65bc20, 0x1ba2a: 0x6c6b0620, 0x1ba2b: 0x6d238e20,\n\t0x1ba2c: 0x6c65be20, 0x1ba2d: 0x6d0dc820, 0x1ba2e: 0x6c92a020, 0x1ba2f: 0x6c54f620,\n\t0x1ba30: 0x6d2e7e20, 0x1ba31: 0x6cf8da20, 0x1ba32: 0x6cf8ec20, 0x1ba33: 0x6c219a20,\n\t0x1ba34: 0x6c279420, 0x1ba35: 0x6cc20420, 0x1ba36: 0x6c563820, 0x1ba37: 0x6c563a20,\n\t0x1ba38: 0x6c563c20, 0x1ba39: 0x6c35c820, 0x1ba3a: 0x6cd30c20, 0x1ba3b: 0x6ce3d220,\n\t0x1ba3c: 0x6c992620, 0x1ba3d: 0x6c566620, 0x1ba3e: 0x6c858c20, 0x1ba3f: 0x6c39a620,\n\t// Block 0x6e9, offset 0x1ba40\n\t0x1ba40: 0x6cdd4e20, 0x1ba41: 0x6c0b2e20, 0x1ba42: 0x6c2d4220, 0x1ba43: 0x6c6ed820,\n\t0x1ba44: 0x6cce3420, 0x1ba45: 0x6d14c020, 0x1ba46: 0x6d15dc20, 0x1ba47: 0x6ccd7a20,\n\t0x1ba48: 0x6c568c20, 0x1ba49: 0x6c3a0220, 0x1ba4a: 0x6d0d8020, 0x1ba4b: 0x6cd43620,\n\t0x1ba4c: 0x6cd48e20, 0x1ba4d: 0x6c10fe20, 0x1ba4e: 0x6d2bc020, 0x1ba4f: 0x6cbff220,\n\t0x1ba50: 0x6c820e20, 0x1ba51: 0x6cb3fe20, 0x1ba52: 0x6c031020, 0x1ba53: 0x6c26e020,\n\t0x1ba54: 0x6cc61020, 0x1ba55: 0x6c390220, 0x1ba56: 0x6cc83020, 0x1ba57: 0x6d292a20,\n\t0x1ba58: 0x6cea9620, 0x1ba59: 0x6d2f1e20, 0x1ba5a: 0x6c2df620, 0x1ba5b: 0x6c776620,\n\t0x1ba5c: 0x6d207220, 0x1ba5d: 0x6c7a1820, 0x1ba5e: 0x6c41c420, 0x1ba5f: 0x6ccf9e20,\n\t0x1ba60: 0x6c137820, 0x1ba61: 0x6cea9820, 0x1ba62: 0x6c475420, 0x1ba63: 0x6c79d620,\n\t0x1ba64: 0x6cf4a220, 0x1ba65: 0x6c2a9420, 0x1ba66: 0x6cb89820, 0x1ba67: 0x6d343620,\n\t0x1ba68: 0x6cc5b620, 0x1ba69: 0x6c7de620, 0x1ba6a: 0x6c9ac020, 0x1ba6b: 0x6ccade20,\n\t0x1ba6c: 0x6d0f7420, 0x1ba6d: 0x6ca97820, 0x1ba6e: 0x6c051220, 0x1ba6f: 0x6c17e620,\n\t0x1ba70: 0x6cc53620, 0x1ba71: 0x6cf57020, 0x1ba72: 0x6cb97220, 0x1ba73: 0x6c047020,\n\t0x1ba74: 0x6c639c20, 0x1ba75: 0x6d20b220, 0x1ba76: 0x6c3dda20, 0x1ba77: 0x6c02c220,\n\t0x1ba78: 0x6cf57e20, 0x1ba79: 0x6caf2a20, 0x1ba7a: 0x6d34e620, 0x1ba7b: 0x6d357820,\n\t0x1ba7c: 0x6c35d220, 0x1ba7d: 0x6c2a9620, 0x1ba7e: 0x6d2f8420, 0x1ba7f: 0x6c19bc20,\n\t// Block 0x6ea, offset 0x1ba80\n\t0x1ba80: 0x6c618420, 0x1ba81: 0x6d0d3c20, 0x1ba82: 0x6c7bb820, 0x1ba83: 0x6c0b6e20,\n\t0x1ba84: 0x6c173220, 0x1ba85: 0x6c704e20, 0x1ba86: 0x6cf1cc20, 0x1ba87: 0x6c551e20,\n\t0x1ba88: 0x6d267e20, 0x1ba89: 0x6c73de20, 0x1ba8a: 0x6c039a20, 0x1ba8b: 0x6cbe0420,\n\t0x1ba8c: 0x6c282020, 0x1ba8d: 0x6d331820, 0x1ba8e: 0x6d27d820, 0x1ba8f: 0x6cecc820,\n\t0x1ba90: 0x6ca54820, 0x1ba91: 0x6d168820, 0x1ba92: 0x6cd49e20, 0x1ba93: 0x6d3b5420,\n\t0x1ba94: 0x6cb3d020, 0x1ba95: 0x6ce7e620, 0x1ba96: 0x6c30da20, 0x1ba97: 0x6c777e20,\n\t0x1ba98: 0x6d301220, 0x1ba99: 0x6cb3d220, 0x1ba9a: 0x6c3f3620, 0x1ba9b: 0x6cad3220,\n\t0x1ba9c: 0x6c036020, 0x1ba9d: 0x6c029c20, 0x1ba9e: 0x6d2aa420, 0x1ba9f: 0x6ce94820,\n\t0x1baa0: 0x6c79b220, 0x1baa1: 0x6c94d020, 0x1baa2: 0x6cbb3820, 0x1baa3: 0x6d287a20,\n\t0x1baa4: 0x6c565620, 0x1baa5: 0x6c063020, 0x1baa6: 0x6c0dc420, 0x1baa7: 0x6d34f420,\n\t0x1baa8: 0x6cae5620, 0x1baa9: 0x6cdf8c20, 0x1baaa: 0x6c106c20, 0x1baab: 0x6caf3620,\n\t0x1baac: 0x6cdf1820, 0x1baad: 0x6d118c20, 0x1baae: 0x6d31b820, 0x1baaf: 0x6d2bc620,\n\t0x1bab0: 0x6d0f4820, 0x1bab1: 0x6c063220, 0x1bab2: 0x6c508c20, 0x1bab3: 0x6ca62820,\n\t0x1bab4: 0x6d12ce20, 0x1bab5: 0x6c2bda20, 0x1bab6: 0x6c1bee20, 0x1bab7: 0x6caf3820,\n\t0x1bab8: 0x6c632220, 0x1bab9: 0x6ca0a820, 0x1baba: 0x6c9a7620, 0x1babb: 0x6c185a20,\n\t0x1babc: 0x6d0ad220, 0x1babd: 0x6c1d6420, 0x1babe: 0x6cc0e420, 0x1babf: 0x6c9f9420,\n\t// Block 0x6eb, offset 0x1bac0\n\t0x1bac0: 0x6c1f1020, 0x1bac1: 0x6c632a20, 0x1bac2: 0x6c3dee20, 0x1bac3: 0x6d2c7220,\n\t0x1bac4: 0x6d3a5c20, 0x1bac5: 0x6c27bc20, 0x1bac6: 0x6c146020, 0x1bac7: 0x6ca2c420,\n\t0x1bac8: 0x6ca6ec20, 0x1bac9: 0x6c7e3e20, 0x1baca: 0x6c3f4220, 0x1bacb: 0x6cad3420,\n\t0x1bacc: 0x6c04ea20, 0x1bacd: 0x6cabee20, 0x1bace: 0x6c8b9a20, 0x1bacf: 0x6ca2d020,\n\t0x1bad0: 0x6c48d820, 0x1bad1: 0x6cb97420, 0x1bad2: 0x6c71fc20, 0x1bad3: 0x6cde2e20,\n\t0x1bad4: 0x6c036820, 0x1bad5: 0x6ceaac20, 0x1bad6: 0x6ceaae20, 0x1bad7: 0x6c02a020,\n\t0x1bad8: 0x6c705a20, 0x1bad9: 0x6d3cf020, 0x1bada: 0x6caca020, 0x1badb: 0x6d2f5a20,\n\t0x1badc: 0x6c043c20, 0x1badd: 0x6c043220, 0x1bade: 0x6c2bdc20, 0x1badf: 0x6ca62420,\n\t0x1bae0: 0x6c720e20, 0x1bae1: 0x6c7de820, 0x1bae2: 0x6c903220, 0x1bae3: 0x6c656420,\n\t0x1bae4: 0x6cb83420, 0x1bae5: 0x6d1d7e20, 0x1bae6: 0x6c7f8c20, 0x1bae7: 0x6ca8f620,\n\t0x1bae8: 0x6c0e5020, 0x1bae9: 0x6d2aa820, 0x1baea: 0x6cb8bc20, 0x1baeb: 0x6c522e20,\n\t0x1baec: 0x6c7dea20, 0x1baed: 0x6cd33620, 0x1baee: 0x6c6a8e20, 0x1baef: 0x6d331e20,\n\t0x1baf0: 0x6ca8ee20, 0x1baf1: 0x6c45da20, 0x1baf2: 0x6c45de20, 0x1baf3: 0x6cc2ca20,\n\t0x1baf4: 0x6cd68020, 0x1baf5: 0x6c25a620, 0x1baf6: 0x6d288a20, 0x1baf7: 0x6c77a020,\n\t0x1baf8: 0x6d149c20, 0x1baf9: 0x6d008220, 0x1bafa: 0x6c12d020, 0x1bafb: 0x6c5a9420,\n\t0x1bafc: 0x6cb1ea20, 0x1bafd: 0x6d3b6620, 0x1bafe: 0x6cd41020, 0x1baff: 0x6ca2d620,\n\t// Block 0x6ec, offset 0x1bb00\n\t0x1bb00: 0x6c03fc20, 0x1bb01: 0x6c1b0c20, 0x1bb02: 0x6c48ac20, 0x1bb03: 0x6d359c20,\n\t0x1bb04: 0x6c7dec20, 0x1bb05: 0x6c348020, 0x1bb06: 0x6c348220, 0x1bb07: 0x6d350020,\n\t0x1bb08: 0x6cbcaa20, 0x1bb09: 0x6c01a420, 0x1bb0a: 0x6ca9f220, 0x1bb0b: 0x6d322020,\n\t0x1bb0c: 0x6c43ca20, 0x1bb0d: 0x6c698820, 0x1bb0e: 0x6c7ae620, 0x1bb0f: 0x6c306020,\n\t0x1bb10: 0x6ca2d820, 0x1bb11: 0x6ce55420, 0x1bb12: 0x6c8ad220, 0x1bb13: 0x6d2bca20,\n\t0x1bb14: 0x6c937c20, 0x1bb15: 0x6c2e7220, 0x1bb16: 0x6cebca20, 0x1bb17: 0x6c73fa20,\n\t0x1bb18: 0x6c8b9420, 0x1bb19: 0x6c71b020, 0x1bb1a: 0x6d35b820, 0x1bb1b: 0x6c943420,\n\t0x1bb1c: 0x6d0b8620, 0x1bb1d: 0x6cf27c20, 0x1bb1e: 0x6cde3420, 0x1bb1f: 0x6d008420,\n\t0x1bb20: 0x6ca49c20, 0x1bb21: 0x6c292820, 0x1bb22: 0x6c68d020, 0x1bb23: 0x6d329820,\n\t0x1bb24: 0x6c612a20, 0x1bb25: 0x6c5a9620, 0x1bb26: 0x6cfb3420, 0x1bb27: 0x6d24be20,\n\t0x1bb28: 0x6c002020, 0x1bb29: 0x6ceab420, 0x1bb2a: 0x6caab820, 0x1bb2b: 0x6c261c20,\n\t0x1bb2c: 0x6c0ed420, 0x1bb2d: 0x6c44fa20, 0x1bb2e: 0x6ce3be20, 0x1bb2f: 0x6d322c20,\n\t0x1bb30: 0x6c19dc20, 0x1bb31: 0x6cc94220, 0x1bb32: 0x6cc94420, 0x1bb33: 0x6c793220,\n\t0x1bb34: 0x6c9a5020, 0x1bb35: 0x6c906220, 0x1bb36: 0x6c706820, 0x1bb37: 0x6cae9020,\n\t0x1bb38: 0x6c657a20, 0x1bb39: 0x6d172820, 0x1bb3a: 0x6ce6ba20, 0x1bb3b: 0x6cccce20,\n\t0x1bb3c: 0x6cc83a20, 0x1bb3d: 0x6cecf820, 0x1bb3e: 0x6d008a20, 0x1bb3f: 0x6c138820,\n\t// Block 0x6ed, offset 0x1bb40\n\t0x1bb40: 0x6c3ca020, 0x1bb41: 0x6c68da20, 0x1bb42: 0x6cf43c20, 0x1bb43: 0x6c75a420,\n\t0x1bb44: 0x6c6fe820, 0x1bb45: 0x6ce7b220, 0x1bb46: 0x6c7da220, 0x1bb47: 0x6c5dac20,\n\t0x1bb48: 0x6ce89620, 0x1bb49: 0x6d3cf620, 0x1bb4a: 0x6cb3d620, 0x1bb4b: 0x6c938820,\n\t0x1bb4c: 0x6c033a20, 0x1bb4d: 0x6c4e9820, 0x1bb4e: 0x6cce6020, 0x1bb4f: 0x6ca7da20,\n\t0x1bb50: 0x6c72e420, 0x1bb51: 0x6d2b4620, 0x1bb52: 0x6cd5ba20, 0x1bb53: 0x6d127620,\n\t0x1bb54: 0x6c741220, 0x1bb55: 0x6c103620, 0x1bb56: 0x6cecd020, 0x1bb57: 0x6c108420,\n\t0x1bb58: 0x6d421620, 0x1bb59: 0x6d172a20, 0x1bb5a: 0x6d2ce820, 0x1bb5b: 0x6c937e20,\n\t0x1bb5c: 0x6cd9a420, 0x1bb5d: 0x6ceab620, 0x1bb5e: 0x6c813a20, 0x1bb5f: 0x6cdce620,\n\t0x1bb60: 0x6c052220, 0x1bb61: 0x6c657c20, 0x1bb62: 0x6c590220, 0x1bb63: 0x6c29d420,\n\t0x1bb64: 0x6cf13c20, 0x1bb65: 0x6ced7820, 0x1bb66: 0x6cbd6e20, 0x1bb67: 0x6caf0220,\n\t0x1bb68: 0x6ccf2c20, 0x1bb69: 0x6c8af820, 0x1bb6a: 0x6c9f4620, 0x1bb6b: 0x6c9aca20,\n\t0x1bb6c: 0x6c3f5a20, 0x1bb6d: 0x6c041e20, 0x1bb6e: 0x6c723e20, 0x1bb6f: 0x6c29cc20,\n\t0x1bb70: 0x6cf2b420, 0x1bb71: 0x6c003e20, 0x1bb72: 0x6c731c20, 0x1bb73: 0x6d26a420,\n\t0x1bb74: 0x6d3fec20, 0x1bb75: 0x6c186420, 0x1bb76: 0x6c20c820, 0x1bb77: 0x6c6ab620,\n\t0x1bb78: 0x6ce85420, 0x1bb79: 0x6c07ae20, 0x1bb7a: 0x6ca33220, 0x1bb7b: 0x6ca72020,\n\t0x1bb7c: 0x6cc90e20, 0x1bb7d: 0x6d423620, 0x1bb7e: 0x6cf2e220, 0x1bb7f: 0x6cf5e820,\n\t// Block 0x6ee, offset 0x1bb80\n\t0x1bb80: 0x6cfa9820, 0x1bb81: 0x6c19e620, 0x1bb82: 0x6c2cc420, 0x1bb83: 0x6ccae020,\n\t0x1bb84: 0x6c94d220, 0x1bb85: 0x6cbec620, 0x1bb86: 0x6c427820, 0x1bb87: 0x6c342a20,\n\t0x1bb88: 0x6cd46020, 0x1bb89: 0x6c2e1820, 0x1bb8a: 0x6cb3d820, 0x1bb8b: 0x6c2bf020,\n\t0x1bb8c: 0x6d2f0420, 0x1bb8d: 0x6c5d2420, 0x1bb8e: 0x6c613620, 0x1bb8f: 0x6ce1c220,\n\t0x1bb90: 0x6cb82820, 0x1bb91: 0x6cb5c420, 0x1bb92: 0x6cabfa20, 0x1bb93: 0x6cd4c820,\n\t0x1bb94: 0x6cb8e220, 0x1bb95: 0x6c8ce420, 0x1bb96: 0x6d125c20, 0x1bb97: 0x6d0b9c20,\n\t0x1bb98: 0x6c742420, 0x1bb99: 0x6d32b020, 0x1bb9a: 0x6c899020, 0x1bb9b: 0x6c48b020,\n\t0x1bb9c: 0x6d175c20, 0x1bb9d: 0x6c5dc220, 0x1bb9e: 0x6ccd8220, 0x1bb9f: 0x6d332020,\n\t0x1bba0: 0x6c361020, 0x1bba1: 0x6c112a20, 0x1bba2: 0x6ce09420, 0x1bba3: 0x6c181e20,\n\t0x1bba4: 0x6c0db020, 0x1bba5: 0x6c69fa20, 0x1bba6: 0x6ce3ee20, 0x1bba7: 0x6c79a420,\n\t0x1bba8: 0x6ce99020, 0x1bba9: 0x6d0d6620, 0x1bbaa: 0x6c262220, 0x1bbab: 0x6d387420,\n\t0x1bbac: 0x6c708a20, 0x1bbad: 0x6ce53420, 0x1bbae: 0x6cb98820, 0x1bbaf: 0x6c791820,\n\t0x1bbb0: 0x6c040020, 0x1bbb1: 0x6cabd420, 0x1bbb2: 0x6c69fc20, 0x1bbb3: 0x6c91ba20,\n\t0x1bbb4: 0x6c48cc20, 0x1bbb5: 0x6ca04e20, 0x1bbb6: 0x6c454620, 0x1bbb7: 0x6d35e020,\n\t0x1bbb8: 0x6c283420, 0x1bbb9: 0x6c9c2a20, 0x1bbba: 0x6c11f220, 0x1bbbb: 0x6ccaa620,\n\t0x1bbbc: 0x6c498220, 0x1bbbd: 0x6caf1020, 0x1bbbe: 0x6d261c20, 0x1bbbf: 0x6caaee20,\n\t// Block 0x6ef, offset 0x1bbc0\n\t0x1bbc0: 0x6c659020, 0x1bbc1: 0x6d32c420, 0x1bbc2: 0x6c6f7220, 0x1bbc3: 0x6c659220,\n\t0x1bbc4: 0x6d212620, 0x1bbc5: 0x6d0ca820, 0x1bbc6: 0x6c7c7820, 0x1bbc7: 0x6ca42620,\n\t0x1bbc8: 0x6c52a420, 0x1bbc9: 0x6cc74a20, 0x1bbca: 0x6cb09620, 0x1bbcb: 0x6cee8820,\n\t0x1bbcc: 0x6cc9c420, 0x1bbcd: 0x6d408820, 0x1bbce: 0x6d079c20, 0x1bbcf: 0x6c9e7620,\n\t0x1bbd0: 0x6ce32420, 0x1bbd1: 0x6ca7dc20, 0x1bbd2: 0x6c139c20, 0x1bbd3: 0x6cd38620,\n\t0x1bbd4: 0x6d3ff220, 0x1bbd5: 0x6d324220, 0x1bbd6: 0x6d13f220, 0x1bbd7: 0x6d0a1020,\n\t0x1bbd8: 0x6d1df620, 0x1bbd9: 0x6c0af220, 0x1bbda: 0x6d0fb620, 0x1bbdb: 0x6c592220,\n\t0x1bbdc: 0x6d0d8220, 0x1bbdd: 0x6d296a20, 0x1bbde: 0x6c018620, 0x1bbdf: 0x6d059a20,\n\t0x1bbe0: 0x6d0bac20, 0x1bbe1: 0x6cf2ee20, 0x1bbe2: 0x6c784c20, 0x1bbe3: 0x6c1fb420,\n\t0x1bbe4: 0x6c600020, 0x1bbe5: 0x6ce3fa20, 0x1bbe6: 0x6c7e5e20, 0x1bbe7: 0x6c7e7a20,\n\t0x1bbe8: 0x6c18c820, 0x1bbe9: 0x6c762e20, 0x1bbea: 0x6c6f7420, 0x1bbeb: 0x6c6f7c20,\n\t0x1bbec: 0x6ce8ae20, 0x1bbed: 0x6c6a1220, 0x1bbee: 0x6c5ab420, 0x1bbef: 0x6c44b420,\n\t0x1bbf0: 0x6c1d5020, 0x1bbf1: 0x6cfed620, 0x1bbf2: 0x6c2ea420, 0x1bbf3: 0x6d004020,\n\t0x1bbf4: 0x6d256220, 0x1bbf5: 0x6cb98a20, 0x1bbf6: 0x6d127c20, 0x1bbf7: 0x6c139e20,\n\t0x1bbf8: 0x6d2bda20, 0x1bbf9: 0x6c069e20, 0x1bbfa: 0x6d10f820, 0x1bbfb: 0x6cee8a20,\n\t0x1bbfc: 0x6c086a20, 0x1bbfd: 0x6c802820, 0x1bbfe: 0x6cf20c20, 0x1bbff: 0x6cbe1420,\n\t// Block 0x6f0, offset 0x1bc00\n\t0x1bc00: 0x6c14ca20, 0x1bc01: 0x6c439220, 0x1bc02: 0x6c90e420, 0x1bc03: 0x6d3ff420,\n\t0x1bc04: 0x6c44ce20, 0x1bc05: 0x6c68f220, 0x1bc06: 0x6c46b820, 0x1bc07: 0x6cbe1a20,\n\t0x1bc08: 0x6cc68420, 0x1bc09: 0x6cc3ca20, 0x1bc0a: 0x6c1d7420, 0x1bc0b: 0x6c1fb620,\n\t0x1bc0c: 0x6d2df620, 0x1bc0d: 0x6cdcf020, 0x1bc0e: 0x6cdcd420, 0x1bc0f: 0x6c0f1220,\n\t0x1bc10: 0x6c1f4e20, 0x1bc11: 0x6cc67420, 0x1bc12: 0x6c057a20, 0x1bc13: 0x6c25ba20,\n\t0x1bc14: 0x6ccaac20, 0x1bc15: 0x6c780620, 0x1bc16: 0x6d111020, 0x1bc17: 0x6c29dc20,\n\t0x1bc18: 0x6d33ee20, 0x1bc19: 0x6caa6620, 0x1bc1a: 0x6c7e4820, 0x1bc1b: 0x6c64b020,\n\t0x1bc1c: 0x6cd9b020, 0x1bc1d: 0x6cc0ae20, 0x1bc1e: 0x6c430820, 0x1bc1f: 0x6cfc1420,\n\t0x1bc20: 0x6cd78620, 0x1bc21: 0x6cca8020, 0x1bc22: 0x6c6d1420, 0x1bc23: 0x6c9edc20,\n\t0x1bc24: 0x6c365820, 0x1bc25: 0x6c20ce20, 0x1bc26: 0x6caafc20, 0x1bc27: 0x6cccea20,\n\t0x1bc28: 0x6cde5c20, 0x1bc29: 0x6d2c7e20, 0x1bc2a: 0x6ce10220, 0x1bc2b: 0x6cac6420,\n\t0x1bc2c: 0x6c048620, 0x1bc2d: 0x6c265020, 0x1bc2e: 0x6c863020, 0x1bc2f: 0x6ce1d620,\n\t0x1bc30: 0x6c555c20, 0x1bc31: 0x6d365620, 0x1bc32: 0x6cebe220, 0x1bc33: 0x6c574220,\n\t0x1bc34: 0x6cb90220, 0x1bc35: 0x6cf20e20, 0x1bc36: 0x6cbb3e20, 0x1bc37: 0x6ce4ac20,\n\t0x1bc38: 0x6d316220, 0x1bc39: 0x6c365a20, 0x1bc3a: 0x6d00ba20, 0x1bc3b: 0x6cab0220,\n\t0x1bc3c: 0x6cc2fc20, 0x1bc3d: 0x6c13e220, 0x1bc3e: 0x6d2ccc20, 0x1bc3f: 0x6c441020,\n\t// Block 0x6f1, offset 0x1bc40\n\t0x1bc40: 0x6cf44e20, 0x1bc41: 0x6c372420, 0x1bc42: 0x6ccf5220, 0x1bc43: 0x6c776820,\n\t0x1bc44: 0x6ccf5420, 0x1bc45: 0x6cd4e820, 0x1bc46: 0x6c042620, 0x1bc47: 0x6d111220,\n\t0x1bc48: 0x6c0d8020, 0x1bc49: 0x6cd9be20, 0x1bc4a: 0x6cdfae20, 0x1bc4b: 0x6cc97820,\n\t0x1bc4c: 0x6c15ca20, 0x1bc4d: 0x6cdd2a20, 0x1bc4e: 0x6c6f8020, 0x1bc4f: 0x6c1cd220,\n\t0x1bc50: 0x6c205620, 0x1bc51: 0x6c48d220, 0x1bc52: 0x6c0de620, 0x1bc53: 0x6c3cac20,\n\t0x1bc54: 0x6cd65620, 0x1bc55: 0x6c2c7e20, 0x1bc56: 0x6cb7ae20, 0x1bc57: 0x6cd9cc20,\n\t0x1bc58: 0x6d2cf820, 0x1bc59: 0x6c88c220, 0x1bc5a: 0x6c197c20, 0x1bc5b: 0x6c1ab820,\n\t0x1bc5c: 0x6c499820, 0x1bc5d: 0x6c928220, 0x1bc5e: 0x6c961420, 0x1bc5f: 0x6c90ee20,\n\t0x1bc60: 0x6d400020, 0x1bc61: 0x6c413420, 0x1bc62: 0x6c56b620, 0x1bc63: 0x6d2bea20,\n\t0x1bc64: 0x6c209420, 0x1bc65: 0x6ce19e20, 0x1bc66: 0x6c57ac20, 0x1bc67: 0x6c24dc20,\n\t0x1bc68: 0x6ca38420, 0x1bc69: 0x6ca07220, 0x1bc6a: 0x6c676820, 0x1bc6b: 0x6c4a7a20,\n\t0x1bc6c: 0x6d1cfc20, 0x1bc6d: 0x6d348020, 0x1bc6e: 0x6c026020, 0x1bc6f: 0x6d36ae20,\n\t0x1bc70: 0x6ca85c20, 0x1bc71: 0x6c97ea20, 0x1bc72: 0x6c163020, 0x1bc73: 0x6c79c220,\n\t0x1bc74: 0x6c1e6220, 0x1bc75: 0x6ccf6420, 0x1bc76: 0x6ce95420, 0x1bc77: 0x6c691420,\n\t0x1bc78: 0x6ca05620, 0x1bc79: 0x6ca06820, 0x1bc7a: 0x6d306c20, 0x1bc7b: 0x6c11fc20,\n\t0x1bc7c: 0x6c794820, 0x1bc7d: 0x6c0c0a20, 0x1bc7e: 0x6c67f620, 0x1bc7f: 0x6d19f420,\n\t// Block 0x6f2, offset 0x1bc80\n\t0x1bc80: 0x6c46ce20, 0x1bc81: 0x6cb90420, 0x1bc82: 0x6c8aa020, 0x1bc83: 0x6c608420,\n\t0x1bc84: 0x6d1bce20, 0x1bc85: 0x6c73b420, 0x1bc86: 0x6cb1d020, 0x1bc87: 0x6cb1ca20,\n\t0x1bc88: 0x6c813c20, 0x1bc89: 0x6c33ac20, 0x1bc8a: 0x6cfcfa20, 0x1bc8b: 0x6cc84420,\n\t0x1bc8c: 0x6c4b6620, 0x1bc8d: 0x6d297420, 0x1bc8e: 0x6d185020, 0x1bc8f: 0x6cfb7e20,\n\t0x1bc90: 0x6c198820, 0x1bc91: 0x6c198a20, 0x1bc92: 0x6cc94620, 0x1bc93: 0x6ca4ba20,\n\t0x1bc94: 0x6c53ca20, 0x1bc95: 0x6cd81620, 0x1bc96: 0x6c4ee020, 0x1bc97: 0x6c4a2620,\n\t0x1bc98: 0x6c266420, 0x1bc99: 0x6d420c20, 0x1bc9a: 0x6ca73420, 0x1bc9b: 0x6c8c2a20,\n\t0x1bc9c: 0x6d332c20, 0x1bc9d: 0x6c5ae420, 0x1bc9e: 0x6d3c4820, 0x1bc9f: 0x6c692820,\n\t0x1bca0: 0x6c615020, 0x1bca1: 0x6c126620, 0x1bca2: 0x6c283c20, 0x1bca3: 0x6c283e20,\n\t0x1bca4: 0x6c183220, 0x1bca5: 0x6c0e8820, 0x1bca6: 0x6c17ee20, 0x1bca7: 0x6c73b620,\n\t0x1bca8: 0x6c3f8020, 0x1bca9: 0x6c89d220, 0x1bcaa: 0x6c07c220, 0x1bcab: 0x6c3f8220,\n\t0x1bcac: 0x6cbc5820, 0x1bcad: 0x6c0e8a20, 0x1bcae: 0x6c25c620, 0x1bcaf: 0x6d3d7a20,\n\t0x1bcb0: 0x6d3bda20, 0x1bcb1: 0x6ceff020, 0x1bcb2: 0x6cb40e20, 0x1bcb3: 0x6cbe2220,\n\t0x1bcb4: 0x6c33a620, 0x1bcb5: 0x6ca73620, 0x1bcb6: 0x6c574420, 0x1bcb7: 0x6d00d820,\n\t0x1bcb8: 0x6c912e20, 0x1bcb9: 0x6c692a20, 0x1bcba: 0x6c249020, 0x1bcbb: 0x6cde8c20,\n\t0x1bcbc: 0x6c4f0420, 0x1bcbd: 0x6cbc5c20, 0x1bcbe: 0x6cf29a20, 0x1bcbf: 0x6c65d620,\n\t// Block 0x6f3, offset 0x1bcc0\n\t0x1bcc0: 0x6c41ea20, 0x1bcc1: 0x6d1db220, 0x1bcc2: 0x6c825620, 0x1bcc3: 0x6ca46e20,\n\t0x1bcc4: 0x6c91da20, 0x1bcc5: 0x6ccda820, 0x1bcc6: 0x6d3d7c20, 0x1bcc7: 0x6d2afa20,\n\t0x1bcc8: 0x6cb41420, 0x1bcc9: 0x6c21d620, 0x1bcca: 0x6c5f5220, 0x1bccb: 0x6c293420,\n\t0x1bccc: 0x6ccb5620, 0x1bccd: 0x6c126820, 0x1bcce: 0x6cbe8c20, 0x1bccf: 0x6cbe8420,\n\t0x1bcd0: 0x6c595220, 0x1bcd1: 0x6c6a3020, 0x1bcd2: 0x6cbd9420, 0x1bcd3: 0x6c7b0220,\n\t0x1bcd4: 0x6c27fa20, 0x1bcd5: 0x6d00dc20, 0x1bcd6: 0x6c761420, 0x1bcd7: 0x6cb06e20,\n\t0x1bcd8: 0x6c040620, 0x1bcd9: 0x6c02f220, 0x1bcda: 0x6c728c20, 0x1bcdb: 0x6d132620,\n\t0x1bcdc: 0x6c370620, 0x1bcdd: 0x6c9c2c20, 0x1bcde: 0x6cda2620, 0x1bcdf: 0x6c9c7a20,\n\t0x1bce0: 0x6c615420, 0x1bce1: 0x6cdf4820, 0x1bce2: 0x6d3da820, 0x1bce3: 0x6c29f220,\n\t0x1bce4: 0x6d040a20, 0x1bce5: 0x6c804420, 0x1bce6: 0x6c10da20, 0x1bce7: 0x6c71d820,\n\t0x1bce8: 0x6d129220, 0x1bce9: 0x6cc80620, 0x1bcea: 0x6d136820, 0x1bceb: 0x6d135a20,\n\t0x1bcec: 0x6ca65220, 0x1bced: 0x6cf31420, 0x1bcee: 0x6c60bc20, 0x1bcef: 0x6c0d8820,\n\t0x1bcf0: 0x6ca92420, 0x1bcf1: 0x6c43b420, 0x1bcf2: 0x6d370420, 0x1bcf3: 0x6d36de20,\n\t0x1bcf4: 0x6c7e1a20, 0x1bcf5: 0x6ca08620, 0x1bcf6: 0x6c66ec20, 0x1bcf7: 0x6d011020,\n\t0x1bcf8: 0x6c8b4c20, 0x1bcf9: 0x6cdfc020, 0x1bcfa: 0x6c042a20, 0x1bcfb: 0x6cda3020,\n\t0x1bcfc: 0x6c91e820, 0x1bcfd: 0x6c94ca20, 0x1bcfe: 0x6cc54220, 0x1bcff: 0x6ce2fe20,\n\t// Block 0x6f4, offset 0x1bd00\n\t0x1bd00: 0x6cac4c20, 0x1bd01: 0x6d103620, 0x1bd02: 0x6c834c20, 0x1bd03: 0x6c10dc20,\n\t0x1bd04: 0x6cd51420, 0x1bd05: 0x6d297a20, 0x1bd06: 0x6ca74220, 0x1bd07: 0x6cfc4020,\n\t0x1bd08: 0x6c75fa20, 0x1bd09: 0x6c5d6620, 0x1bd0a: 0x6c86f420, 0x1bd0b: 0x6c7ea420,\n\t0x1bd0c: 0x6c58e420, 0x1bd0d: 0x6d1cb620, 0x1bd0e: 0x6c917020, 0x1bd0f: 0x6c904420,\n\t0x1bd10: 0x6cb93a20, 0x1bd11: 0x6cb93c20, 0x1bd12: 0x6d297c20, 0x1bd13: 0x6cb94620,\n\t0x1bd14: 0x6c7fe620, 0x1bd15: 0x6cfafc20, 0x1bd16: 0x6d1c1e20, 0x1bd17: 0x6c9a3a20,\n\t0x1bd18: 0x6cc50820, 0x1bd19: 0x6c14e020, 0x1bd1a: 0x6d1d6c20, 0x1bd1b: 0x6c249820,\n\t0x1bd1c: 0x6d012420, 0x1bd1d: 0x6ccf8a20, 0x1bd1e: 0x6c957420, 0x1bd1f: 0x6c760820,\n\t0x1bd20: 0x6c9cb220, 0x1bd21: 0x6c84a620, 0x1bd22: 0x6d298220, 0x1bd23: 0x6c945820,\n\t0x1bd24: 0x6cdfc420, 0x1bd25: 0x6d416420, 0x1bd26: 0x6c876620, 0x1bd27: 0x6c2cf820,\n\t0x1bd28: 0x6cec0020, 0x1bd29: 0x6c293c20, 0x1bd2a: 0x6c697420, 0x1bd2b: 0x6c751c20,\n\t0x1bd2c: 0x6c805c20, 0x1bd2d: 0x6c879e20, 0x1bd2e: 0x6ca47620, 0x1bd2f: 0x6d337e20,\n\t0x1bd30: 0x6c4b2820, 0x1bd31: 0x6c4ad820, 0x1bd32: 0x6cb4f020, 0x1bd33: 0x6d0a3a20,\n\t0x1bd34: 0x6cb3fc20, 0x1bd35: 0x6cdba820, 0x1bd36: 0x6cd42a20, 0x1bd37: 0x6c779a20,\n\t0x1bd38: 0x6d1e9020, 0x1bd39: 0x6c410c20, 0x1bd3a: 0x6d15bc20, 0x1bd3b: 0x6c455e20,\n\t0x1bd3c: 0x6c416620, 0x1bd3d: 0x6c047220, 0x1bd3e: 0x6c39e220, 0x1bd3f: 0x6d334220,\n\t// Block 0x6f5, offset 0x1bd40\n\t0x1bd40: 0x6cb36c20, 0x1bd41: 0x6c2cc020, 0x1bd42: 0x6c79da20, 0x1bd43: 0x6c9f9a20,\n\t0x1bd44: 0x6cf4c420, 0x1bd45: 0x6c480020, 0x1bd46: 0x6c50f020, 0x1bd47: 0x6c12d620,\n\t0x1bd48: 0x6cffdc20, 0x1bd49: 0x6c9ce620, 0x1bd4a: 0x6c1f2420, 0x1bd4b: 0x6c43d620,\n\t0x1bd4c: 0x6c2b6220, 0x1bd4d: 0x6d06b620, 0x1bd4e: 0x6c699a20, 0x1bd4f: 0x6c9fa820,\n\t0x1bd50: 0x6c18bc20, 0x1bd51: 0x6c6ff220, 0x1bd52: 0x6ccfda20, 0x1bd53: 0x6c344620,\n\t0x1bd54: 0x6d224e20, 0x1bd55: 0x6c1c0e20, 0x1bd56: 0x6c024020, 0x1bd57: 0x6c044020,\n\t0x1bd58: 0x6d06b820, 0x1bd59: 0x6c699c20, 0x1bd5a: 0x6c344820, 0x1bd5b: 0x6c88b420,\n\t0x1bd5c: 0x6ca82c20, 0x1bd5d: 0x6c097820, 0x1bd5e: 0x6c172c20, 0x1bd5f: 0x6c2d1a20,\n\t0x1bd60: 0x6c342e20, 0x1bd61: 0x6d179c20, 0x1bd62: 0x6c41d420, 0x1bd63: 0x6cca5420,\n\t0x1bd64: 0x6c786820, 0x1bd65: 0x6d0e7020, 0x1bd66: 0x6c339a20, 0x1bd67: 0x6c5ecc20,\n\t0x1bd68: 0x6ce81420, 0x1bd69: 0x6cffea20, 0x1bd6a: 0x6c345020, 0x1bd6b: 0x6c690620,\n\t0x1bd6c: 0x6c6e8420, 0x1bd6d: 0x6d0fc220, 0x1bd6e: 0x6cf9ce20, 0x1bd6f: 0x6c9f5e20,\n\t0x1bd70: 0x6cd5e420, 0x1bd71: 0x6c004820, 0x1bd72: 0x6cbb8c20, 0x1bd73: 0x6c004a20,\n\t0x1bd74: 0x6d333220, 0x1bd75: 0x6c2b8820, 0x1bd76: 0x6d324c20, 0x1bd77: 0x6c3d8e20,\n\t0x1bd78: 0x6cd60020, 0x1bd79: 0x6c8a1020, 0x1bd7a: 0x6cc13620, 0x1bd7b: 0x6d049e20,\n\t0x1bd7c: 0x6d161020, 0x1bd7d: 0x6c694020, 0x1bd7e: 0x6ccdfc20, 0x1bd7f: 0x6c694220,\n\t// Block 0x6f6, offset 0x1bd80\n\t0x1bd80: 0x6d3daa20, 0x1bd81: 0x6d18c220, 0x1bd82: 0x6c88ca20, 0x1bd83: 0x6c0a6820,\n\t0x1bd84: 0x6c848820, 0x1bd85: 0x6d002220, 0x1bd86: 0x6d002420, 0x1bd87: 0x6cf17a20,\n\t0x1bd88: 0x6d08f420, 0x1bd89: 0x6cb58220, 0x1bd8a: 0x6cb5a220, 0x1bd8b: 0x6d2cea20,\n\t0x1bd8c: 0x6c0d3620, 0x1bd8d: 0x6c742620, 0x1bd8e: 0x6d2cf020, 0x1bd8f: 0x6c80b820,\n\t0x1bd90: 0x6c3a5620, 0x1bd91: 0x6c048020, 0x1bd92: 0x6c048820, 0x1bd93: 0x6c7fb420,\n\t0x1bd94: 0x6d22a620, 0x1bd95: 0x6c7ff620, 0x1bd96: 0x6cf06420, 0x1bd97: 0x6c30f820,\n\t0x1bd98: 0x6cd0de20, 0x1bd99: 0x6c8a9420, 0x1bd9a: 0x6c640a20, 0x1bd9b: 0x6c554420,\n\t0x1bd9c: 0x6d00a020, 0x1bd9d: 0x6c641820, 0x1bd9e: 0x6d225820, 0x1bd9f: 0x6d316420,\n\t0x1bda0: 0x6c69ae20, 0x1bda1: 0x6cf30220, 0x1bda2: 0x6ce5ca20, 0x1bda3: 0x6c313a20,\n\t0x1bda4: 0x6c6c1e20, 0x1bda5: 0x6c1bdc20, 0x1bda6: 0x6d1a2e20, 0x1bda7: 0x6c3f4420,\n\t0x1bda8: 0x6cbaa420, 0x1bda9: 0x6d2ddc20, 0x1bdaa: 0x6cc17820, 0x1bdab: 0x6d3d3220,\n\t0x1bdac: 0x6d2de620, 0x1bdad: 0x6c32ba20, 0x1bdae: 0x6c262820, 0x1bdaf: 0x6cd7e820,\n\t0x1bdb0: 0x6d02dc20, 0x1bdb1: 0x6d3d5c20, 0x1bdb2: 0x6d3d7e20, 0x1bdb3: 0x6cbd9620,\n\t0x1bdb4: 0x6c8bda20, 0x1bdb5: 0x6d3dac20, 0x1bdb6: 0x6c1f7c20, 0x1bdb7: 0x6c32e020,\n\t0x1bdb8: 0x6d3a9020, 0x1bdb9: 0x6c398020, 0x1bdba: 0x6c159820, 0x1bdbb: 0x6c4f5e20,\n\t0x1bdbc: 0x6d20c220, 0x1bdbd: 0x6cd1aa20, 0x1bdbe: 0x6cae0e20, 0x1bdbf: 0x6d1f0820,\n\t// Block 0x6f7, offset 0x1bdc0\n\t0x1bdc0: 0x6c9a7c20, 0x1bdc1: 0x6cacfa20, 0x1bdc2: 0x6cb5a420, 0x1bdc3: 0x6d2d6820,\n\t0x1bdc4: 0x6c98d020, 0x1bdc5: 0x6c938a20, 0x1bdc6: 0x6cae1220, 0x1bdc7: 0x6caf6020,\n\t0x1bdc8: 0x6c8e4e20, 0x1bdc9: 0x6c3d6220, 0x1bdca: 0x6c39d020, 0x1bdcb: 0x6d081020,\n\t0x1bdcc: 0x6c6daa20, 0x1bdcd: 0x6c6dac20, 0x1bdce: 0x6ca63620, 0x1bdcf: 0x6d40b820,\n\t0x1bdd0: 0x6d2fb020, 0x1bdd1: 0x6d15ee20, 0x1bdd2: 0x6c8e6a20, 0x1bdd3: 0x6cce7420,\n\t0x1bdd4: 0x6c668a20, 0x1bdd5: 0x6d214c20, 0x1bdd6: 0x6d15fe20, 0x1bdd7: 0x6cb61a20,\n\t0x1bdd8: 0x6d36e020, 0x1bdd9: 0x6c385e20, 0x1bdda: 0x6cb16620, 0x1bddb: 0x6c386020,\n\t0x1bddc: 0x6d2db220, 0x1bddd: 0x6c7b4420, 0x1bdde: 0x6cdc9a20, 0x1bddf: 0x6d21d420,\n\t0x1bde0: 0x6cf39a20, 0x1bde1: 0x6c616c20, 0x1bde2: 0x6c61a820, 0x1bde3: 0x6c61ec20,\n\t0x1bde4: 0x6c5dce20, 0x1bde5: 0x6cc63620, 0x1bde6: 0x6c285e20, 0x1bde7: 0x6c6fca20,\n\t0x1bde8: 0x6d34d820, 0x1bde9: 0x6d2a3a20, 0x1bdea: 0x6d006820, 0x1bdeb: 0x6ce54620,\n\t0x1bdec: 0x6d09d620, 0x1bded: 0x6d066820, 0x1bdee: 0x6c40bc20, 0x1bdef: 0x6c7e5820,\n\t0x1bdf0: 0x6c420c20, 0x1bdf1: 0x6c4e8a20, 0x1bdf2: 0x6cdf1020, 0x1bdf3: 0x6c2c1620,\n\t0x1bdf4: 0x6d056620, 0x1bdf5: 0x6c159420, 0x1bdf6: 0x6cd23a20, 0x1bdf7: 0x6c7bde20,\n\t0x1bdf8: 0x6d0f7c20, 0x1bdf9: 0x6cd24620, 0x1bdfa: 0x6cee4c20, 0x1bdfb: 0x6c9f3020,\n\t0x1bdfc: 0x6c9f3220, 0x1bdfd: 0x6cea8620, 0x1bdfe: 0x6c20fc20, 0x1bdff: 0x6cf42820,\n\t// Block 0x6f8, offset 0x1be00\n\t0x1be00: 0x6d278820, 0x1be01: 0x6c06e620, 0x1be02: 0x6c01f420, 0x1be03: 0x6d2b3e20,\n\t0x1be04: 0x6c04ba20, 0x1be05: 0x6c6a7420, 0x1be06: 0x6c7d4c20, 0x1be07: 0x6cd0e020,\n\t0x1be08: 0x6c566820, 0x1be09: 0x6c39c420, 0x1be0a: 0x6c501c20, 0x1be0b: 0x6c4b2e20,\n\t0x1be0c: 0x6c166020, 0x1be0d: 0x6d077c20, 0x1be0e: 0x6c9fe820, 0x1be0f: 0x6c5cb220,\n\t0x1be10: 0x6c3b1620, 0x1be11: 0x6cbdc820, 0x1be12: 0x6c54a220, 0x1be13: 0x6d16ba20,\n\t0x1be14: 0x6cf58620, 0x1be15: 0x6d02b220, 0x1be16: 0x6d0c6420, 0x1be17: 0x6d2b4020,\n\t0x1be18: 0x6c39c620, 0x1be19: 0x6cdfd220, 0x1be1a: 0x6cd09420, 0x1be1b: 0x6c721020,\n\t0x1be1c: 0x6d0f9620, 0x1be1d: 0x6d296020, 0x1be1e: 0x6c0dcc20, 0x1be1f: 0x6d036a20,\n\t0x1be20: 0x6d1d3420, 0x1be21: 0x6d087620, 0x1be22: 0x6cb36e20, 0x1be23: 0x6d31c020,\n\t0x1be24: 0x6c8cb420, 0x1be25: 0x6c210020, 0x1be26: 0x6c502020, 0x1be27: 0x6c9a7e20,\n\t0x1be28: 0x6d422e20, 0x1be29: 0x6ca0e020, 0x1be2a: 0x6c0b8620, 0x1be2b: 0x6d069020,\n\t0x1be2c: 0x6c5cb420, 0x1be2d: 0x6d2f5c20, 0x1be2e: 0x6d401820, 0x1be2f: 0x6cd33820,\n\t0x1be30: 0x6cd33a20, 0x1be31: 0x6d22e220, 0x1be32: 0x6c3a8e20, 0x1be33: 0x6c2e7420,\n\t0x1be34: 0x6c993220, 0x1be35: 0x6ca68620, 0x1be36: 0x6c16e620, 0x1be37: 0x6cf14a20,\n\t0x1be38: 0x6c2fe420, 0x1be39: 0x6c006220, 0x1be3a: 0x6c0dce20, 0x1be3b: 0x6c01f620,\n\t0x1be3c: 0x6d390e20, 0x1be3d: 0x6c8f7420, 0x1be3e: 0x6cfbec20, 0x1be3f: 0x6c7be820,\n\t// Block 0x6f9, offset 0x1be40\n\t0x1be40: 0x6ce5ba20, 0x1be41: 0x6c175c20, 0x1be42: 0x6cd25c20, 0x1be43: 0x6c5a8220,\n\t0x1be44: 0x6c5a4e20, 0x1be45: 0x6d084820, 0x1be46: 0x6c7c6220, 0x1be47: 0x6d058020,\n\t0x1be48: 0x6c68dc20, 0x1be49: 0x6c6cea20, 0x1be4a: 0x6d35ba20, 0x1be4b: 0x6c6cec20,\n\t0x1be4c: 0x6cce3620, 0x1be4d: 0x6ce72e20, 0x1be4e: 0x6c53a020, 0x1be4f: 0x6d0e5020,\n\t0x1be50: 0x6c40ec20, 0x1be51: 0x6cfde020, 0x1be52: 0x6ccc9c20, 0x1be53: 0x6cffa820,\n\t0x1be54: 0x6d12de20, 0x1be55: 0x6d274c20, 0x1be56: 0x6c5aa220, 0x1be57: 0x6c4dfe20,\n\t0x1be58: 0x6c4eac20, 0x1be59: 0x6c75ae20, 0x1be5a: 0x6ced0820, 0x1be5b: 0x6cfcb020,\n\t0x1be5c: 0x6c7d5820, 0x1be5d: 0x6d392020, 0x1be5e: 0x6cf5ea20, 0x1be5f: 0x6c19de20,\n\t0x1be60: 0x6cd15820, 0x1be61: 0x6c101420, 0x1be62: 0x6d304c20, 0x1be63: 0x6d304e20,\n\t0x1be64: 0x6cf4dc20, 0x1be65: 0x6c4eae20, 0x1be66: 0x6c5bb620, 0x1be67: 0x6c503420,\n\t0x1be68: 0x6c194e20, 0x1be69: 0x6ced1820, 0x1be6a: 0x6ce4f420, 0x1be6b: 0x6d3d5e20,\n\t0x1be6c: 0x6d41b220, 0x1be6d: 0x6d38e820, 0x1be6e: 0x6cb48c20, 0x1be6f: 0x6c6e2020,\n\t0x1be70: 0x6cf60c20, 0x1be71: 0x6ccd4020, 0x1be72: 0x6ca63820, 0x1be73: 0x6cf60e20,\n\t0x1be74: 0x6cbe7a20, 0x1be75: 0x6cb6fc20, 0x1be76: 0x6c6db420, 0x1be77: 0x6c4afc20,\n\t0x1be78: 0x6d332220, 0x1be79: 0x6d179e20, 0x1be7a: 0x6d362820, 0x1be7b: 0x6c01c220,\n\t0x1be7c: 0x6ced1a20, 0x1be7d: 0x6c8bb220, 0x1be7e: 0x6c89b820, 0x1be7f: 0x6c166e20,\n\t// Block 0x6fa, offset 0x1be80\n\t0x1be80: 0x6cee1820, 0x1be81: 0x6cffac20, 0x1be82: 0x6d298c20, 0x1be83: 0x6c3b0620,\n\t0x1be84: 0x6d07a620, 0x1be85: 0x6c453420, 0x1be86: 0x6d151820, 0x1be87: 0x6cf9d020,\n\t0x1be88: 0x6d275420, 0x1be89: 0x6c5ac220, 0x1be8a: 0x6d064220, 0x1be8b: 0x6c9fba20,\n\t0x1be8c: 0x6c7c8820, 0x1be8d: 0x6d126020, 0x1be8e: 0x6d1d3a20, 0x1be8f: 0x6cd55c20,\n\t0x1be90: 0x6cefd820, 0x1be91: 0x6cd55a20, 0x1be92: 0x6cbe8220, 0x1be93: 0x6c998e20,\n\t0x1be94: 0x6ca40020, 0x1be95: 0x6c65ac20, 0x1be96: 0x6caa9420, 0x1be97: 0x6c01c620,\n\t0x1be98: 0x6d0fc420, 0x1be99: 0x6c210a20, 0x1be9a: 0x6d111e20, 0x1be9b: 0x6cdd7820,\n\t0x1be9c: 0x6c6d2820, 0x1be9d: 0x6ca00e20, 0x1be9e: 0x6c691620, 0x1be9f: 0x6c766620,\n\t0x1bea0: 0x6c430e20, 0x1bea1: 0x6cf25620, 0x1bea2: 0x6c171c20, 0x1bea3: 0x6cb7b020,\n\t0x1bea4: 0x6c505220, 0x1bea5: 0x6d0e9420, 0x1bea6: 0x6c864a20, 0x1bea7: 0x6c00ba20,\n\t0x1bea8: 0x6c623620, 0x1bea9: 0x6c626020, 0x1beaa: 0x6c9af820, 0x1beab: 0x6d299620,\n\t0x1beac: 0x6d01f820, 0x1bead: 0x6c505820, 0x1beae: 0x6ca2a220, 0x1beaf: 0x6ca14020,\n\t0x1beb0: 0x6c233820, 0x1beb1: 0x6ca6b820, 0x1beb2: 0x6d2ed420, 0x1beb3: 0x6c5c1420,\n\t0x1beb4: 0x6c066220, 0x1beb5: 0x6c4ef820, 0x1beb6: 0x6d081e20, 0x1beb7: 0x6c200420,\n\t0x1beb8: 0x6c8a1820, 0x1beb9: 0x6cfacc20, 0x1beba: 0x6c28ae20, 0x1bebb: 0x6c6e2e20,\n\t0x1bebc: 0x6cb1d220, 0x1bebd: 0x6c8bdc20, 0x1bebe: 0x6cea2820, 0x1bebf: 0x6cf80e20,\n\t// Block 0x6fb, offset 0x1bec0\n\t0x1bec0: 0x6d189220, 0x1bec1: 0x6c627620, 0x1bec2: 0x6c5a7620, 0x1bec3: 0x6c278820,\n\t0x1bec4: 0x6d131220, 0x1bec5: 0x6d131420, 0x1bec6: 0x6c867820, 0x1bec7: 0x6ce00e20,\n\t0x1bec8: 0x6ce78220, 0x1bec9: 0x6cffba20, 0x1beca: 0x6c3ace20, 0x1becb: 0x6cd07420,\n\t0x1becc: 0x6d2fde20, 0x1becd: 0x6c506620, 0x1bece: 0x6d18c420, 0x1becf: 0x6cfdfc20,\n\t0x1bed0: 0x6d03a220, 0x1bed1: 0x6cd02620, 0x1bed2: 0x6c694a20, 0x1bed3: 0x6c067020,\n\t0x1bed4: 0x6c6eaa20, 0x1bed5: 0x6d0ed020, 0x1bed6: 0x6c00de20, 0x1bed7: 0x6d135c20,\n\t0x1bed8: 0x6cc7dc20, 0x1bed9: 0x6cd57420, 0x1beda: 0x6c9b5820, 0x1bedb: 0x6d09b820,\n\t0x1bedc: 0x6d122e20, 0x1bedd: 0x6cb4bc20, 0x1bede: 0x6c86ca20, 0x1bedf: 0x6c18f620,\n\t0x1bee0: 0x6c7c0e20, 0x1bee1: 0x6c2f0420, 0x1bee2: 0x6c8a7e20, 0x1bee3: 0x6d0ef820,\n\t0x1bee4: 0x6c5e3e20, 0x1bee5: 0x6c917e20, 0x1bee6: 0x6cf73220, 0x1bee7: 0x6cc6dc20,\n\t0x1bee8: 0x6c8fd620, 0x1bee9: 0x6ca47220, 0x1beea: 0x6c95d620, 0x1beeb: 0x6c945a20,\n\t0x1beec: 0x6cccae20, 0x1beed: 0x6ce18e20, 0x1beee: 0x6d0e2420, 0x1beef: 0x6d3a4420,\n\t0x1bef0: 0x6d264220, 0x1bef1: 0x6d264420, 0x1bef2: 0x6cc0c620, 0x1bef3: 0x6d12bc20,\n\t0x1bef4: 0x6c452620, 0x1bef5: 0x6d12c420, 0x1bef6: 0x6c54a420, 0x1bef7: 0x6c50d620,\n\t0x1bef8: 0x6cd4b820, 0x1bef9: 0x6c127420, 0x1befa: 0x6c127020, 0x1befb: 0x6cd18620,\n\t0x1befc: 0x6c97da20, 0x1befd: 0x6c134820, 0x1befe: 0x6c135020, 0x1beff: 0x6ce3fc20,\n\t// Block 0x6fc, offset 0x1bf00\n\t0x1bf00: 0x6d41b020, 0x1bf01: 0x6c11d020, 0x1bf02: 0x6d06d620, 0x1bf03: 0x6c5be220,\n\t0x1bf04: 0x6d1af620, 0x1bf05: 0x6cbcd220, 0x1bf06: 0x6c3b4220, 0x1bf07: 0x6cb03820,\n\t0x1bf08: 0x6d266820, 0x1bf09: 0x6d1f9820, 0x1bf0a: 0x6cc85020, 0x1bf0b: 0x6cae8e20,\n\t0x1bf0c: 0x6c3b5a20, 0x1bf0d: 0x6c3df220, 0x1bf0e: 0x6c8cb620, 0x1bf0f: 0x6c3a4820,\n\t0x1bf10: 0x6cc17a20, 0x1bf11: 0x6ce3da20, 0x1bf12: 0x6caa7e20, 0x1bf13: 0x6ce5bc20,\n\t0x1bf14: 0x6cd77620, 0x1bf15: 0x6d322e20, 0x1bf16: 0x6c80fa20, 0x1bf17: 0x6c80f820,\n\t0x1bf18: 0x6d416c20, 0x1bf19: 0x6c9ff620, 0x1bf1a: 0x6c598c20, 0x1bf1b: 0x6cee5220,\n\t0x1bf1c: 0x6cea2020, 0x1bf1d: 0x6c176220, 0x1bf1e: 0x6c5ed220, 0x1bf1f: 0x6cb4f220,\n\t0x1bf20: 0x6d1bba20, 0x1bf21: 0x6d3f9820, 0x1bf22: 0x6cee5820, 0x1bf23: 0x6ce78420,\n\t0x1bf24: 0x6c811220, 0x1bf25: 0x6c81fa20, 0x1bf26: 0x6c9b5a20, 0x1bf27: 0x6c8fd820,\n\t0x1bf28: 0x6ca25c20, 0x1bf29: 0x6c2ac820, 0x1bf2a: 0x6cf06c20, 0x1bf2b: 0x6ca0bc20,\n\t0x1bf2c: 0x6c079220, 0x1bf2d: 0x6d2c1620, 0x1bf2e: 0x6cd59020, 0x1bf2f: 0x6cd59220,\n\t0x1bf30: 0x6ca26220, 0x1bf31: 0x6d397e20, 0x1bf32: 0x6cc56620, 0x1bf33: 0x6c031420,\n\t0x1bf34: 0x6cb48220, 0x1bf35: 0x6c352a20, 0x1bf36: 0x6c347020, 0x1bf37: 0x6c29ba20,\n\t0x1bf38: 0x6c857220, 0x1bf39: 0x6c4abe20, 0x1bf3a: 0x6c5e7820, 0x1bf3b: 0x6c6f4820,\n\t0x1bf3c: 0x6c08b220, 0x1bf3d: 0x6d051c20, 0x1bf3e: 0x6c19b420, 0x1bf3f: 0x6c22a820,\n\t// Block 0x6fd, offset 0x1bf40\n\t0x1bf40: 0x6ccbc020, 0x1bf41: 0x6cc83420, 0x1bf42: 0x6d28ac20, 0x1bf43: 0x6cc2b420,\n\t0x1bf44: 0x6cb8a620, 0x1bf45: 0x6d20b620, 0x1bf46: 0x6c416820, 0x1bf47: 0x6cf35420,\n\t0x1bf48: 0x6c137c20, 0x1bf49: 0x6cccbc20, 0x1bf4a: 0x6d09dc20, 0x1bf4b: 0x6c388420,\n\t0x1bf4c: 0x6cf4aa20, 0x1bf4d: 0x6d3ee620, 0x1bf4e: 0x6c87d820, 0x1bf4f: 0x6d041220,\n\t0x1bf50: 0x6c110820, 0x1bf51: 0x6c259220, 0x1bf52: 0x6cc5c220, 0x1bf53: 0x6c0bea20,\n\t0x1bf54: 0x6ceaa220, 0x1bf55: 0x6c2c1820, 0x1bf56: 0x6d2f2220, 0x1bf57: 0x6c983220,\n\t0x1bf58: 0x6c1be220, 0x1bf59: 0x6d168a20, 0x1bf5a: 0x6c412c20, 0x1bf5b: 0x6c456020,\n\t0x1bf5c: 0x6c323420, 0x1bf5d: 0x6c83a220, 0x1bf5e: 0x6cb6d620, 0x1bf5f: 0x6cd59820,\n\t0x1bf60: 0x6c425620, 0x1bf61: 0x6ce56a20, 0x1bf62: 0x6c681a20, 0x1bf63: 0x6ccdf820,\n\t0x1bf64: 0x6cedb620, 0x1bf65: 0x6c7ee020, 0x1bf66: 0x6c704420, 0x1bf67: 0x6c983420,\n\t0x1bf68: 0x6d0f7e20, 0x1bf69: 0x6c96b220, 0x1bf6a: 0x6c9e8820, 0x1bf6b: 0x6cd88e20,\n\t0x1bf6c: 0x6d254020, 0x1bf6d: 0x6c4f6020, 0x1bf6e: 0x6c3a8620, 0x1bf6f: 0x6c069020,\n\t0x1bf70: 0x6c6a7e20, 0x1bf71: 0x6c2fe020, 0x1bf72: 0x6c430020, 0x1bf73: 0x6d118e20,\n\t0x1bf74: 0x6cfa7c20, 0x1bf75: 0x6c1ed620, 0x1bf76: 0x6c20fe20, 0x1bf77: 0x6cabd020,\n\t0x1bf78: 0x6cd4a820, 0x1bf79: 0x6c578220, 0x1bf7a: 0x6d02b420, 0x1bf7b: 0x6c1e2020,\n\t0x1bf7c: 0x6d3aae20, 0x1bf7d: 0x6c1e2220, 0x1bf7e: 0x6cd90420, 0x1bf7f: 0x6c04bc20,\n\t// Block 0x6fe, offset 0x1bf80\n\t0x1bf80: 0x6cd90620, 0x1bf81: 0x6c5fd420, 0x1bf82: 0x6cf2d620, 0x1bf83: 0x6c6cda20,\n\t0x1bf84: 0x6c469420, 0x1bf85: 0x6c5e8e20, 0x1bf86: 0x6c98c620, 0x1bf87: 0x6cafb820,\n\t0x1bf88: 0x6c093a20, 0x1bf89: 0x6cee6220, 0x1bf8a: 0x6c021220, 0x1bf8b: 0x6c398820,\n\t0x1bf8c: 0x6c3b5c20, 0x1bf8d: 0x6d16bc20, 0x1bf8e: 0x6c3df420, 0x1bf8f: 0x6ca3e420,\n\t0x1bf90: 0x6cf58820, 0x1bf91: 0x6c566a20, 0x1bf92: 0x6d0ad420, 0x1bf93: 0x6c30dc20,\n\t0x1bf94: 0x6d02fe20, 0x1bf95: 0x6d31ba20, 0x1bf96: 0x6d109020, 0x1bf97: 0x6c8ba020,\n\t0x1bf98: 0x6cc8c220, 0x1bf99: 0x6c35ac20, 0x1bf9a: 0x6c99d620, 0x1bf9b: 0x6d2f9a20,\n\t0x1bf9c: 0x6c4cae20, 0x1bf9d: 0x6d339620, 0x1bf9e: 0x6c230420, 0x1bf9f: 0x6d281c20,\n\t0x1bfa0: 0x6d41e420, 0x1bfa1: 0x6c30de20, 0x1bfa2: 0x6cd4aa20, 0x1bfa3: 0x6d2a3c20,\n\t0x1bfa4: 0x6c352c20, 0x1bfa5: 0x6c858e20, 0x1bfa6: 0x6c934620, 0x1bfa7: 0x6c656620,\n\t0x1bfa8: 0x6c19be20, 0x1bfa9: 0x6cd9a020, 0x1bfaa: 0x6cbaa620, 0x1bfab: 0x6c3c2220,\n\t0x1bfac: 0x6ca3e620, 0x1bfad: 0x6cfe8620, 0x1bfae: 0x6cfa8a20, 0x1bfaf: 0x6c7a2e20,\n\t0x1bfb0: 0x6cb28420, 0x1bfb1: 0x6cdf1c20, 0x1bfb2: 0x6cf7d420, 0x1bfb3: 0x6d350220,\n\t0x1bfb4: 0x6c48da20, 0x1bfb5: 0x6cfe8c20, 0x1bfb6: 0x6c643a20, 0x1bfb7: 0x6c633420,\n\t0x1bfb8: 0x6c467620, 0x1bfb9: 0x6c05aa20, 0x1bfba: 0x6ca0e220, 0x1bfbb: 0x6d16f220,\n\t0x1bfbc: 0x6d12d820, 0x1bfbd: 0x6d12e020, 0x1bfbe: 0x6cd33c20, 0x1bfbf: 0x6ca7fa20,\n\t// Block 0x6ff, offset 0x1bfc0\n\t0x1bfc0: 0x6c08c220, 0x1bfc1: 0x6c34d820, 0x1bfc2: 0x6d149e20, 0x1bfc3: 0x6c8cb820,\n\t0x1bfc4: 0x6c0dd020, 0x1bfc5: 0x6ca63020, 0x1bfc6: 0x6c7e4020, 0x1bfc7: 0x6c50d820,\n\t0x1bfc8: 0x6c04f020, 0x1bfc9: 0x6c388620, 0x1bfca: 0x6d37a420, 0x1bfcb: 0x6c274620,\n\t0x1bfcc: 0x6c222c20, 0x1bfcd: 0x6d100a20, 0x1bfce: 0x6c3d4a20, 0x1bfcf: 0x6c041a20,\n\t0x1bfd0: 0x6ca1fe20, 0x1bfd1: 0x6c418620, 0x1bfd2: 0x6cb4d420, 0x1bfd3: 0x6cc4ba20,\n\t0x1bfd4: 0x6cc74220, 0x1bfd5: 0x6c995220, 0x1bfd6: 0x6cce9a20, 0x1bfd7: 0x6cd90e20,\n\t0x1bfd8: 0x6d30e620, 0x1bfd9: 0x6cf99620, 0x1bfda: 0x6d202a20, 0x1bfdb: 0x6ccfba20,\n\t0x1bfdc: 0x6c4b3020, 0x1bfdd: 0x6ceb9a20, 0x1bfde: 0x6d2cb420, 0x1bfdf: 0x6ca3ec20,\n\t0x1bfe0: 0x6ca8fe20, 0x1bfe1: 0x6d1e2420, 0x1bfe2: 0x6c2be420, 0x1bfe3: 0x6d359e20,\n\t0x1bfe4: 0x6d2bcc20, 0x1bfe5: 0x6c13cc20, 0x1bfe6: 0x6c287020, 0x1bfe7: 0x6c46f820,\n\t0x1bfe8: 0x6c107620, 0x1bfe9: 0x6c6fdc20, 0x1bfea: 0x6c022820, 0x1bfeb: 0x6c3e0c20,\n\t0x1bfec: 0x6c657020, 0x1bfed: 0x6c032e20, 0x1bfee: 0x6c34da20, 0x1bfef: 0x6c77de20,\n\t0x1bff0: 0x6ca3b020, 0x1bff1: 0x6d3abe20, 0x1bff2: 0x6c094820, 0x1bff3: 0x6c8efa20,\n\t0x1bff4: 0x6c147620, 0x1bff5: 0x6cccd020, 0x1bff6: 0x6cd89e20, 0x1bff7: 0x6c1f1820,\n\t0x1bff8: 0x6cadb620, 0x1bff9: 0x6cd31a20, 0x1bffa: 0x6c48dc20, 0x1bffb: 0x6d2bce20,\n\t0x1bffc: 0x6d119820, 0x1bffd: 0x6c195620, 0x1bffe: 0x6c6fde20, 0x1bfff: 0x6cd33e20,\n\t// Block 0x700, offset 0x1c000\n\t0x1c000: 0x6d33a620, 0x1c001: 0x6c8efc20, 0x1c002: 0x6c99de20, 0x1c003: 0x6c87da20,\n\t0x1c004: 0x6cc65620, 0x1c005: 0x6d2cb620, 0x1c006: 0x6d2aa020, 0x1c007: 0x6c0bec20,\n\t0x1c008: 0x6d2e4c20, 0x1c009: 0x6d35a020, 0x1c00a: 0x6c8f7620, 0x1c00b: 0x6c306220,\n\t0x1c00c: 0x6c914420, 0x1c00d: 0x6cd0ea20, 0x1c00e: 0x6c85a620, 0x1c00f: 0x6c7f9020,\n\t0x1c010: 0x6d1e1c20, 0x1c011: 0x6cd5ae20, 0x1c012: 0x6d09f620, 0x1c013: 0x6cd68420,\n\t0x1c014: 0x6cb76820, 0x1c015: 0x6d313820, 0x1c016: 0x6cb4dc20, 0x1c017: 0x6c85ca20,\n\t0x1c018: 0x6d14c220, 0x1c019: 0x6cfdba20, 0x1c01a: 0x6d323020, 0x1c01b: 0x6c85cc20,\n\t0x1c01c: 0x6ccb1a20, 0x1c01d: 0x6c484e20, 0x1c01e: 0x6c76a420, 0x1c01f: 0x6c078420,\n\t0x1c020: 0x6cc58e20, 0x1c021: 0x6cffde20, 0x1c022: 0x6c041c20, 0x1c023: 0x6cc59020,\n\t0x1c024: 0x6c0e1220, 0x1c025: 0x6d3e1620, 0x1c026: 0x6c1d9820, 0x1c027: 0x6d172c20,\n\t0x1c028: 0x6c22be20, 0x1c029: 0x6d063420, 0x1c02a: 0x6d399220, 0x1c02b: 0x6c666c20,\n\t0x1c02c: 0x6d41a820, 0x1c02d: 0x6c374a20, 0x1c02e: 0x6c378e20, 0x1c02f: 0x6d1fb820,\n\t0x1c030: 0x6c380c20, 0x1c031: 0x6c45e220, 0x1c032: 0x6c77a620, 0x1c033: 0x6c81ac20,\n\t0x1c034: 0x6d2d6a20, 0x1c035: 0x6c8aec20, 0x1c036: 0x6d19be20, 0x1c037: 0x6d104420,\n\t0x1c038: 0x6c50f220, 0x1c039: 0x6c449820, 0x1c03a: 0x6d172e20, 0x1c03b: 0x6cd34e20,\n\t0x1c03c: 0x6c43dc20, 0x1c03d: 0x6d28fc20, 0x1c03e: 0x6c943620, 0x1c03f: 0x6c3e3420,\n\t// Block 0x701, offset 0x1c040\n\t0x1c040: 0x6c6aa620, 0x1c041: 0x6c525c20, 0x1c042: 0x6c4b3e20, 0x1c043: 0x6ce21020,\n\t0x1c044: 0x6c49e420, 0x1c045: 0x6ceef420, 0x1c046: 0x6c7b9820, 0x1c047: 0x6cc79620,\n\t0x1c048: 0x6c01ac20, 0x1c049: 0x6c012020, 0x1c04a: 0x6c734a20, 0x1c04b: 0x6d14c420,\n\t0x1c04c: 0x6d3cf820, 0x1c04d: 0x6c7a3620, 0x1c04e: 0x6d35bc20, 0x1c04f: 0x6cbf0420,\n\t0x1c050: 0x6ce73020, 0x1c051: 0x6cca6c20, 0x1c052: 0x6cca6a20, 0x1c053: 0x6c586a20,\n\t0x1c054: 0x6c710420, 0x1c055: 0x6c6fea20, 0x1c056: 0x6d094c20, 0x1c057: 0x6c34e020,\n\t0x1c058: 0x6d3c7c20, 0x1c059: 0x6d20f220, 0x1c05a: 0x6d296420,\n\t0x1c05c: 0x6d1ba620, 0x1c05d: 0x6c6c1820, 0x1c05e: 0x6c8f6220, 0x1c05f: 0x6d2e5020,\n\t0x1c060: 0x6d0ade20, 0x1c061: 0x6cc52620, 0x1c062: 0x6d313a20, 0x1c063: 0x6c295e20,\n\t0x1c064: 0x6cb4de20, 0x1c065: 0x6cbbd820, 0x1c066: 0x6c578c20, 0x1c067: 0x6c4b4020,\n\t0x1c068: 0x6c67a220, 0x1c069: 0x6d3c1220, 0x1c06a: 0x6d09f820, 0x1c06b: 0x6cdd1620,\n\t0x1c06c: 0x6ccbe620, 0x1c06d: 0x6d314e20, 0x1c06e: 0x6c069a20, 0x1c06f: 0x6ce64020,\n\t0x1c070: 0x6c7df220, 0x1c071: 0x6c6e7020, 0x1c072: 0x6cb3c220, 0x1c073: 0x6c07b020,\n\t0x1c074: 0x6c3e4e20, 0x1c075: 0x6cc89a20, 0x1c076: 0x6ce7b620, 0x1c077: 0x6c742820,\n\t0x1c078: 0x6cf5ec20, 0x1c079: 0x6c80ba20, 0x1c07a: 0x6c8f0420, 0x1c07b: 0x6c3c3c20,\n\t0x1c07c: 0x6cb4e820, 0x1c07d: 0x6cf1d420, 0x1c07e: 0x6c756c20, 0x1c07f: 0x6c41d620,\n\t// Block 0x702, offset 0x1c080\n\t0x1c080: 0x6cdaa220, 0x1c081: 0x6c894c20, 0x1c082: 0x6cc04620, 0x1c083: 0x6ce6be20,\n\t0x1c084: 0x6d1fc020, 0x1c085: 0x6c99ec20, 0x1c086: 0x6c052420, 0x1c087: 0x6c906620,\n\t0x1c088: 0x6cae6820, 0x1c089: 0x6d3c1620, 0x1c08a: 0x6c2c4020, 0x1c08b: 0x6d078c20,\n\t0x1c08c: 0x6ce8a220, 0x1c08d: 0x6d2a7e20, 0x1c08e: 0x6c022a20, 0x1c08f: 0x6c481020,\n\t0x1c090: 0x6c097a20, 0x1c091: 0x6c2b6820, 0x1c092: 0x6c4e0020, 0x1c093: 0x6d3f0820,\n\t0x1c094: 0x6d33d420, 0x1c095: 0x6cc5e620, 0x1c096: 0x6c070e20, 0x1c097: 0x6c450820,\n\t0x1c098: 0x6c658620, 0x1c099: 0x6c591020, 0x1c09a: 0x6ced0a20, 0x1c09b: 0x6caaba20,\n\t0x1c09c: 0x6c634a20, 0x1c09d: 0x6ce57c20, 0x1c09e: 0x6c61ee20, 0x1c09f: 0x6cfeb220,\n\t0x1c0a0: 0x6c938e20, 0x1c0a1: 0x6c5ce620, 0x1c0a2: 0x6cce6820, 0x1c0a3: 0x6c133020,\n\t0x1c0a4: 0x6c3b6c20, 0x1c0a5: 0x6cd91a20, 0x1c0a6: 0x6c9c0220, 0x1c0a7: 0x6cf3c020,\n\t0x1c0a8: 0x6c83bc20, 0x1c0a9: 0x6c83be20, 0x1c0aa: 0x6c311020, 0x1c0ab: 0x6cbdd020,\n\t0x1c0ac: 0x6d1cea20, 0x1c0ad: 0x6cdd1820, 0x1c0ae: 0x6c708c20, 0x1c0af: 0x6ce2ea20,\n\t0x1c0b0: 0x6d019020, 0x1c0b1: 0x6c7da820, 0x1c0b2: 0x6d3d5020, 0x1c0b3: 0x6cd4ca20,\n\t0x1c0b4: 0x6c14c020, 0x1c0b5: 0x6c394220, 0x1c0b6: 0x6cefae20, 0x1c0b7: 0x6c6e7220,\n\t0x1c0b8: 0x6c83c020, 0x1c0b9: 0x6c0d3220, 0x1c0ba: 0x6cfa6420, 0x1c0bb: 0x6c3d1020,\n\t0x1c0bc: 0x6ce21c20, 0x1c0bd: 0x6d35e220, 0x1c0be: 0x6c7efa20, 0x1c0bf: 0x6c87fc20,\n\t// Block 0x703, offset 0x1c0c0\n\t0x1c0c0: 0x6c658820, 0x1c0c1: 0x6d3cfc20, 0x1c0c2: 0x6c8ce620, 0x1c0c3: 0x6c83d420,\n\t0x1c0c4: 0x6cb79220, 0x1c0c5: 0x6c0e2220, 0x1c0c6: 0x6c94f820, 0x1c0c7: 0x6c231620,\n\t0x1c0c8: 0x6cba5420, 0x1c0c9: 0x6c9dc420, 0x1c0ca: 0x6cb5e620, 0x1c0cb: 0x6cb5e820,\n\t0x1c0cc: 0x6c114620, 0x1c0cd: 0x6c4bf820, 0x1c0ce: 0x6c14f420, 0x1c0cf: 0x6c2a7020,\n\t0x1c0d0: 0x6c3a5820, 0x1c0d1: 0x6cabfe20, 0x1c0d2: 0x6c057020, 0x1c0d3: 0x6c057220,\n\t0x1c0d4: 0x6c5cca20, 0x1c0d5: 0x6d3f8e20, 0x1c0d6: 0x6c1a0020, 0x1c0d7: 0x6d2a4c20,\n\t0x1c0d8: 0x6c603820, 0x1c0d9: 0x6c861020, 0x1c0da: 0x6caea020, 0x1c0db: 0x6d233e20,\n\t0x1c0dc: 0x6d234020, 0x1c0dd: 0x6c481420, 0x1c0de: 0x6c75ba20, 0x1c0df: 0x6c307620,\n\t0x1c0e0: 0x6ce0f620, 0x1c0e1: 0x6c428020, 0x1c0e2: 0x6cee1a20, 0x1c0e3: 0x6c2c5620,\n\t0x1c0e4: 0x6c262a20, 0x1c0e5: 0x6c389c20, 0x1c0e6: 0x6c195c20, 0x1c0e7: 0x6d2e6220,\n\t0x1c0e8: 0x6cb6fe20, 0x1c0e9: 0x6d24f620, 0x1c0ea: 0x6d0d8820, 0x1c0eb: 0x6d234220,\n\t0x1c0ec: 0x6cc29e20, 0x1c0ed: 0x6d17a020, 0x1c0ee: 0x6ccbaa20, 0x1c0ef: 0x6cc59820,\n\t0x1c0f0: 0x6c20d220, 0x1c0f1: 0x6c837820, 0x1c0f2: 0x6cb4f420, 0x1c0f3: 0x6d3d0220,\n\t0x1c0f4: 0x6c3e7a20, 0x1c0f5: 0x6c77f820, 0x1c0f6: 0x6c7f0820, 0x1c0f7: 0x6d405220,\n\t0x1c0f8: 0x6d405420, 0x1c0f9: 0x6d2fb220, 0x1c0fa: 0x6c491620, 0x1c0fb: 0x6c3b2a20,\n\t0x1c0fc: 0x6c3b7420, 0x1c0fd: 0x6ccfe620, 0x1c0fe: 0x6cbe7c20, 0x1c0ff: 0x6ca5e420,\n\t// Block 0x704, offset 0x1c100\n\t0x1c100: 0x6ced1c20, 0x1c101: 0x6c4cc020, 0x1c102: 0x6c925420, 0x1c103: 0x6c4fc620,\n\t0x1c104: 0x6c6a1620, 0x1c105: 0x6d15f020, 0x1c106: 0x6c1dae20, 0x1c107: 0x6c71b620,\n\t0x1c108: 0x6c712220, 0x1c109: 0x6c1a0220, 0x1c10a: 0x6d423a20, 0x1c10b: 0x6c895420,\n\t0x1c10c: 0x6cbab820, 0x1c10d: 0x6d346020, 0x1c10e: 0x6c20d420, 0x1c10f: 0x6d0af020,\n\t0x1c110: 0x6c709220, 0x1c111: 0x6c06a020, 0x1c112: 0x6c684620, 0x1c113: 0x6d3d6020,\n\t0x1c114: 0x6d3e3a20, 0x1c115: 0x6c0d3820, 0x1c116: 0x6caea220, 0x1c117: 0x6c2fa620,\n\t0x1c118: 0x6c1eda20, 0x1c119: 0x6c172e20, 0x1c11a: 0x6c9b0620, 0x1c11b: 0x6c57dc20,\n\t0x1c11c: 0x6c659420, 0x1c11d: 0x6c4a6820, 0x1c11e: 0x6cf88820, 0x1c11f: 0x6c319c20,\n\t0x1c120: 0x6cba5620, 0x1c121: 0x6c2a5820, 0x1c122: 0x6c4bb420, 0x1c123: 0x6c2da020,\n\t0x1c124: 0x6c954620, 0x1c125: 0x6d33e020, 0x1c126: 0x6cc38220, 0x1c127: 0x6ca04420,\n\t0x1c128: 0x6c40b220, 0x1c129: 0x6c454820, 0x1c12a: 0x6caf1220, 0x1c12b: 0x6d2dee20,\n\t0x1c12c: 0x6d199420, 0x1c12d: 0x6ceb7e20, 0x1c12e: 0x6ccbac20, 0x1c12f: 0x6c349a20,\n\t0x1c130: 0x6d125e20, 0x1c131: 0x6c400c20, 0x1c132: 0x6cefda20, 0x1c133: 0x6cee9a20,\n\t0x1c134: 0x6c32c820, 0x1c135: 0x6c641a20, 0x1c136: 0x6d3f9a20, 0x1c137: 0x6c64b220,\n\t0x1c138: 0x6d151a20, 0x1c139: 0x6cd0ae20, 0x1c13a: 0x6cf78620, 0x1c13b: 0x6d0e8220,\n\t0x1c13c: 0x6d0da220, 0x1c13d: 0x6c200020, 0x1c13e: 0x6c64b420, 0x1c13f: 0x6c210c20,\n\t// Block 0x705, offset 0x1c140\n\t0x1c140: 0x6d226a20, 0x1c141: 0x6c513a20, 0x1c142: 0x6d2be020, 0x1c143: 0x6cf2fa20,\n\t0x1c144: 0x6cb11420, 0x1c145: 0x6c087a20, 0x1c146: 0x6d10ac20, 0x1c147: 0x6c5dd020,\n\t0x1c148: 0x6d05b220, 0x1c149: 0x6cc92020, 0x1c14a: 0x6d0fc620, 0x1c14b: 0x6c7e7c20,\n\t0x1c14c: 0x6d0caa20, 0x1c14d: 0x6c079e20, 0x1c14e: 0x6c5ac420, 0x1c14f: 0x6c7c8a20,\n\t0x1c150: 0x6c6bea20, 0x1c151: 0x6c7c8c20, 0x1c152: 0x6cd7f220, 0x1c153: 0x6c3c5420,\n\t0x1c154: 0x6d004820, 0x1c155: 0x6ceb8220, 0x1c156: 0x6d35e420, 0x1c157: 0x6c668c20,\n\t0x1c158: 0x6ca29a20, 0x1c159: 0x6c999020, 0x1c15a: 0x6c1f9420, 0x1c15b: 0x6c569e20,\n\t0x1c15c: 0x6c556c20, 0x1c15d: 0x6c890420, 0x1c15e: 0x6c837a20, 0x1c15f: 0x6ce67e20,\n\t0x1c160: 0x6ca40220, 0x1c161: 0x6d215220, 0x1c162: 0x6d1f4620, 0x1c163: 0x6c9a0820,\n\t0x1c164: 0x6cd96620, 0x1c165: 0x6d089a20, 0x1c166: 0x6d089c20, 0x1c167: 0x6d101e20,\n\t0x1c168: 0x6d316620, 0x1c169: 0x6cb11620, 0x1c16a: 0x6d12fe20, 0x1c16b: 0x6c605220,\n\t0x1c16c: 0x6c6ae620, 0x1c16d: 0x6d130020, 0x1c16e: 0x6c1ee020, 0x1c16f: 0x6c33fa20,\n\t0x1c170: 0x6d212820, 0x1c171: 0x6d408a20, 0x1c172: 0x6cee9c20, 0x1c173: 0x6c9a0a20,\n\t0x1c174: 0x6ce40220, 0x1c175: 0x6c603a20, 0x1c176: 0x6c6ae820, 0x1c177: 0x6c766220,\n\t0x1c178: 0x6cbfb420, 0x1c179: 0x6d1c7e20, 0x1c17a: 0x6cc77a20, 0x1c17b: 0x6c59d020,\n\t0x1c17c: 0x6c909620, 0x1c17d: 0x6c822220, 0x1c17e: 0x6cc38420, 0x1c17f: 0x6cfe7620,\n\t// Block 0x706, offset 0x1c180\n\t0x1c180: 0x6cb23c20, 0x1c181: 0x6cd41820, 0x1c182: 0x6c414420, 0x1c183: 0x6cdfe820,\n\t0x1c184: 0x6c802e20, 0x1c185: 0x6cf15620, 0x1c186: 0x6d215420, 0x1c187: 0x6c192c20,\n\t0x1c188: 0x6c935620, 0x1c189: 0x6c71be20, 0x1c18a: 0x6cd0cc20, 0x1c18b: 0x6c1f9620,\n\t0x1c18c: 0x6cb0ea20, 0x1c18d: 0x6d01d420, 0x1c18e: 0x6c642420, 0x1c18f: 0x6d182420,\n\t0x1c190: 0x6d2e0220, 0x1c191: 0x6c3ec020, 0x1c192: 0x6cab0620, 0x1c193: 0x6c9d6620,\n\t0x1c194: 0x6c80c220, 0x1c195: 0x6cc69020, 0x1c196: 0x6c47ae20, 0x1c197: 0x6c66a820,\n\t0x1c198: 0x6c71c020, 0x1c199: 0x6cddf220, 0x1c19a: 0x6d11c020, 0x1c19b: 0x6d317a20,\n\t0x1c19c: 0x6c055220, 0x1c19d: 0x6ccc0820, 0x1c19e: 0x6d259220, 0x1c19f: 0x6d3f2020,\n\t0x1c1a0: 0x6ca01020, 0x1c1a1: 0x6cdae620, 0x1c1a2: 0x6c644c20, 0x1c1a3: 0x6d112020,\n\t0x1c1a4: 0x6c6b0a20, 0x1c1a5: 0x6c5a7420, 0x1c1a6: 0x6c422a20, 0x1c1a7: 0x6c3a6220,\n\t0x1c1a8: 0x6d2cd020, 0x1c1a9: 0x6cb9ae20, 0x1c1aa: 0x6c96ce20, 0x1c1ab: 0x6cdcf420,\n\t0x1c1ac: 0x6d259420, 0x1c1ad: 0x6d01d620, 0x1c1ae: 0x6cc69220, 0x1c1af: 0x6cd27c20,\n\t0x1c1b0: 0x6d33fe20, 0x1c1b1: 0x6c24de20, 0x1c1b2: 0x6d27ba20, 0x1c1b3: 0x6ce68020,\n\t0x1c1b4: 0x6c8e7a20, 0x1c1b5: 0x6cc68620, 0x1c1b6: 0x6ce10e20, 0x1c1b7: 0x6cc3de20,\n\t0x1c1b8: 0x6d2cfa20, 0x1c1b9: 0x6cd80220, 0x1c1ba: 0x6cd17420, 0x1c1bb: 0x6cde7020,\n\t0x1c1bc: 0x6c781420, 0x1c1bd: 0x6cf66c20, 0x1c1be: 0x6c479c20, 0x1c1bf: 0x6cb51020,\n\t// Block 0x707, offset 0x1c1c0\n\t0x1c1c0: 0x6c431020, 0x1c1c1: 0x6c431220, 0x1c1c2: 0x6cdcdc20, 0x1c1c3: 0x6cac6620,\n\t0x1c1c4: 0x6ce1da20, 0x1c1c5: 0x6c441220, 0x1c1c6: 0x6d0a1a20, 0x1c1c7: 0x6c2cd420,\n\t0x1c1c8: 0x6caa2420, 0x1c1c9: 0x6c606420, 0x1c1ca: 0x6cd78c20, 0x1c1cb: 0x6c46c220,\n\t0x1c1cc: 0x6c20d820, 0x1c1cd: 0x6cbacc20, 0x1c1ce: 0x6c13ec20, 0x1c1cf: 0x6cba1620,\n\t0x1c1d0: 0x6c57ec20, 0x1c1d1: 0x6c9a1820, 0x1c1d2: 0x6d070a20, 0x1c1d3: 0x6c42ac20,\n\t0x1c1d4: 0x6c42cc20, 0x1c1d5: 0x6d3d8020, 0x1c1d6: 0x6ceb3620, 0x1c1d7: 0x6cbc7420,\n\t0x1c1d8: 0x6d105c20, 0x1c1d9: 0x6c2cd620, 0x1c1da: 0x6c642620, 0x1c1db: 0x6c76e220,\n\t0x1c1dc: 0x6d41be20, 0x1c1dd: 0x6c2a5a20, 0x1c1de: 0x6c907220, 0x1c1df: 0x6c0d4420,\n\t0x1c1e0: 0x6d39ba20, 0x1c1e1: 0x6ccaa420, 0x1c1e2: 0x6cf79c20, 0x1c1e3: 0x6c5f1420,\n\t0x1c1e4: 0x6c882220, 0x1c1e5: 0x6c5c1620, 0x1c1e6: 0x6d1da420, 0x1c1e7: 0x6cba7420,\n\t0x1c1e8: 0x6c4cc220, 0x1c1e9: 0x6c414620, 0x1c1ea: 0x6c415020, 0x1c1eb: 0x6ce95820,\n\t0x1c1ec: 0x6c57bc20, 0x1c1ed: 0x6cb52020, 0x1c1ee: 0x6ccbae20, 0x1c1ef: 0x6c24e220,\n\t0x1c1f0: 0x6caeb220, 0x1c1f1: 0x6d1fe420, 0x1c1f2: 0x6c559020, 0x1c1f3: 0x6c67b620,\n\t0x1c1f4: 0x6c56be20, 0x1c1f5: 0x6c594a20, 0x1c1f6: 0x6c4b6820, 0x1c1f7: 0x6ca85e20,\n\t0x1c1f8: 0x6d185220, 0x1c1f9: 0x6c42d820, 0x1c1fa: 0x6c774420, 0x1c1fb: 0x6c4a8620,\n\t0x1c1fc: 0x6c4a8820, 0x1c1fd: 0x6c128a20, 0x1c1fe: 0x6c97fa20, 0x1c1ff: 0x6c6cac20,\n\t// Block 0x708, offset 0x1c200\n\t0x1c200: 0x6c2b4020, 0x1c201: 0x6d3c2220, 0x1c202: 0x6c822620, 0x1c203: 0x6c810a20,\n\t0x1c204: 0x6c18dc20, 0x1c205: 0x6c233a20, 0x1c206: 0x6c841820, 0x1c207: 0x6d04e220,\n\t0x1c208: 0x6cbe8620, 0x1c209: 0x6cd6da20, 0x1c20a: 0x6c38b220, 0x1c20b: 0x6ce7c220,\n\t0x1c20c: 0x6c499e20, 0x1c20d: 0x6d2ae820, 0x1c20e: 0x6cdafc20, 0x1c20f: 0x6c82d020,\n\t0x1c210: 0x6c91d220, 0x1c211: 0x6c896620, 0x1c212: 0x6c9d7820, 0x1c213: 0x6c90b020,\n\t0x1c214: 0x6c177420, 0x1c215: 0x6cdafe20, 0x1c216: 0x6c782220, 0x1c217: 0x6c1e6620,\n\t0x1c218: 0x6ce12020, 0x1c219: 0x6c0c1620, 0x1c21a: 0x6c92a220, 0x1c21b: 0x6c6f8420,\n\t0x1c21c: 0x6d30fc20, 0x1c21d: 0x6d2bf620, 0x1c21e: 0x6cd50020, 0x1c21f: 0x6d2ed620,\n\t0x1c220: 0x6c977020, 0x1c221: 0x6ca06a20, 0x1c222: 0x6ca7a820, 0x1c223: 0x6d106a20,\n\t0x1c224: 0x6ce59820, 0x1c225: 0x6caeb420, 0x1c226: 0x6d3b1e20, 0x1c227: 0x6ccc0e20,\n\t0x1c228: 0x6cf6c020, 0x1c229: 0x6cc31020, 0x1c22a: 0x6c526c20, 0x1c22b: 0x6c64ce20,\n\t0x1c22c: 0x6c233c20, 0x1c22d: 0x6c630e20, 0x1c22e: 0x6d0f3a20, 0x1c22f: 0x6cbb1820,\n\t0x1c230: 0x6d098820, 0x1c231: 0x6d1be420, 0x1c232: 0x6c37de20, 0x1c233: 0x6d0a3c20,\n\t0x1c234: 0x6d349820, 0x1c235: 0x6cbbf620, 0x1c236: 0x6d417c20, 0x1c237: 0x6c23b420,\n\t0x1c238: 0x6cb49620, 0x1c239: 0x6cd60a20, 0x1c23a: 0x6c57ae20, 0x1c23b: 0x6c7d1e20,\n\t0x1c23c: 0x6d319020, 0x1c23d: 0x6d41f220, 0x1c23e: 0x6d26ec20, 0x1c23f: 0x6ccdac20,\n\t// Block 0x709, offset 0x1c240\n\t0x1c240: 0x6cf6c420, 0x1c241: 0x6c211420, 0x1c242: 0x6c2d8020, 0x1c243: 0x6c382620,\n\t0x1c244: 0x6c41e620, 0x1c245: 0x6ca07620, 0x1c246: 0x6cf47a20, 0x1c247: 0x6cbbaa20,\n\t0x1c248: 0x6cc52c20, 0x1c249: 0x6c8c6020, 0x1c24a: 0x6c8e9620, 0x1c24b: 0x6cbbf820,\n\t0x1c24c: 0x6cfd0c20, 0x1c24d: 0x6cc90820, 0x1c24e: 0x6c38ba20, 0x1c24f: 0x6d2e1420,\n\t0x1c250: 0x6ceb4820, 0x1c251: 0x6c81bc20, 0x1c252: 0x6d27c620, 0x1c253: 0x6cd75a20,\n\t0x1c254: 0x6c33ae20, 0x1c255: 0x6c199220, 0x1c256: 0x6ce13220, 0x1c257: 0x6c9b3820,\n\t0x1c258: 0x6c715a20, 0x1c259: 0x6c1a4220, 0x1c25a: 0x6cdb3020, 0x1c25b: 0x6c74ba20,\n\t0x1c25c: 0x6c74bc20, 0x1c25d: 0x6c2d8220, 0x1c25e: 0x6c5c3020, 0x1c25f: 0x6c5f3020,\n\t0x1c260: 0x6caae020, 0x1c261: 0x6cfe4e20, 0x1c262: 0x6ceb8e20, 0x1c263: 0x6ca94620,\n\t0x1c264: 0x6cc8b020, 0x1c265: 0x6d39c420, 0x1c266: 0x6ce78620, 0x1c267: 0x6d2b8e20,\n\t0x1c268: 0x6c3b9420, 0x1c269: 0x6cbf6020, 0x1c26a: 0x6cc4d220, 0x1c26b: 0x6c526e20,\n\t0x1c26c: 0x6cb9c820, 0x1c26d: 0x6c472e20, 0x1c26e: 0x6c8f1a20, 0x1c26f: 0x6c81e020,\n\t0x1c270: 0x6c42dc20, 0x1c271: 0x6c1eae20, 0x1c272: 0x6cf94620, 0x1c273: 0x6cd18820,\n\t0x1c274: 0x6d3f6c20, 0x1c275: 0x6cca6820, 0x1c276: 0x6c60a620, 0x1c277: 0x6c30c620,\n\t0x1c278: 0x6c6eca20, 0x1c279: 0x6c91dc20, 0x1c27a: 0x6c673c20, 0x1c27b: 0x6c1f9820,\n\t0x1c27c: 0x6d25aa20, 0x1c27d: 0x6cde9c20, 0x1c27e: 0x6cd50c20, 0x1c27f: 0x6c678220,\n\t// Block 0x70a, offset 0x1c280\n\t0x1c280: 0x6ce01820, 0x1c281: 0x6c8c3820, 0x1c282: 0x6ca9cc20, 0x1c283: 0x6d1b0620,\n\t0x1c284: 0x6cf7a820, 0x1c285: 0x6cdc8020, 0x1c286: 0x6ccd1020, 0x1c287: 0x6d41d020,\n\t0x1c288: 0x6d082a20, 0x1c289: 0x6c199a20, 0x1c28a: 0x6c423420, 0x1c28b: 0x6c716220,\n\t0x1c28c: 0x6d41d820, 0x1c28d: 0x6d18c620, 0x1c28e: 0x6cbda220, 0x1c28f: 0x6cb49c20,\n\t0x1c290: 0x6d0cd620, 0x1c291: 0x6c826020, 0x1c292: 0x6c3c6a20, 0x1c293: 0x6c5b6c20,\n\t0x1c294: 0x6c299220, 0x1c295: 0x6c629620, 0x1c296: 0x6cdc7020, 0x1c297: 0x6c0ff820,\n\t0x1c298: 0x6cb2d420, 0x1c299: 0x6c1a4420, 0x1c29a: 0x6c1ef020, 0x1c29b: 0x6d3b5a20,\n\t0x1c29c: 0x6c4b7c20, 0x1c29d: 0x6c60aa20, 0x1c29e: 0x6c6ba020, 0x1c29f: 0x6c643020,\n\t0x1c2a0: 0x6cbe8e20, 0x1c2a1: 0x6d2d2020, 0x1c2a2: 0x6c65e020, 0x1c2a3: 0x6cbb2820,\n\t0x1c2a4: 0x6c2a3420, 0x1c2a5: 0x6d161a20, 0x1c2a6: 0x6c0c8220, 0x1c2a7: 0x6cd93a20,\n\t0x1c2a8: 0x6ccefe20, 0x1c2a9: 0x6c8c3a20, 0x1c2aa: 0x6c87e420, 0x1c2ab: 0x6c140e20,\n\t0x1c2ac: 0x6c9b5c20, 0x1c2ad: 0x6d1aa020, 0x1c2ae: 0x6ce24820, 0x1c2af: 0x6cdf4e20,\n\t0x1c2b0: 0x6c9de020, 0x1c2b1: 0x6cb67020, 0x1c2b2: 0x6ce96820, 0x1c2b3: 0x6c0d5c20,\n\t0x1c2b4: 0x6c5e0820, 0x1c2b5: 0x6c62aa20, 0x1c2b6: 0x6cb93420, 0x1c2b7: 0x6ca65820,\n\t0x1c2b8: 0x6ca92a20, 0x1c2b9: 0x6d142220, 0x1c2ba: 0x6c432a20, 0x1c2bb: 0x6c76f620,\n\t0x1c2bc: 0x6d1b9220, 0x1c2bd: 0x6caa2c20, 0x1c2be: 0x6cbeba20, 0x1c2bf: 0x6d0de620,\n\t// Block 0x70b, offset 0x1c2c0\n\t0x1c2c0: 0x6cb67220, 0x1c2c1: 0x6c9d9e20, 0x1c2c2: 0x6d2fe820, 0x1c2c3: 0x6c4b8820,\n\t0x1c2c4: 0x6c212220, 0x1c2c5: 0x6c5f6a20, 0x1c2c6: 0x6c7ca420, 0x1c2c7: 0x6cb33c20,\n\t0x1c2c8: 0x6c2af020, 0x1c2c9: 0x6c1eba20, 0x1c2ca: 0x6c449020, 0x1c2cb: 0x6c9de420,\n\t0x1c2cc: 0x6d1ec220, 0x1c2cd: 0x6d373e20, 0x1c2ce: 0x6c5a6620, 0x1c2cf: 0x6cb93e20,\n\t0x1c2d0: 0x6c82f420, 0x1c2d1: 0x6c827020, 0x1c2d2: 0x6cc9a820, 0x1c2d3: 0x6c91f220,\n\t0x1c2d4: 0x6c86cc20, 0x1c2d5: 0x6c24a220, 0x1c2d6: 0x6c941220, 0x1c2d7: 0x6c9efc20,\n\t0x1c2d8: 0x6c5c7a20, 0x1c2d9: 0x6cab5c20, 0x1c2da: 0x6c916220, 0x1c2db: 0x6d370620,\n\t0x1c2dc: 0x6c42ea20, 0x1c2dd: 0x6c31d020, 0x1c2de: 0x6d25c620, 0x1c2df: 0x6c86f620,\n\t0x1c2e0: 0x6c3ae820, 0x1c2e1: 0x6d3dba20, 0x1c2e2: 0x6cda3420, 0x1c2e3: 0x6c886020,\n\t0x1c2e4: 0x6c681c20, 0x1c2e5: 0x6c1ec420, 0x1c2e6: 0x6cbeec20, 0x1c2e7: 0x6d39e020,\n\t0x1c2e8: 0x6c918020, 0x1c2e9: 0x6d0cfc20, 0x1c2ea: 0x6c871a20, 0x1c2eb: 0x6d39de20,\n\t0x1c2ec: 0x6c193e20, 0x1c2ed: 0x6c6b5a20, 0x1c2ee: 0x6c36d820, 0x1c2ef: 0x6cda6820,\n\t0x1c2f0: 0x6c580020, 0x1c2f1: 0x6ca8a220, 0x1c2f2: 0x6d244e20, 0x1c2f3: 0x6c8fdc20,\n\t0x1c2f4: 0x6c7f7420, 0x1c2f5: 0x6c69f020, 0x1c2f6: 0x6cfc4620, 0x1c2f7: 0x6c4aa820,\n\t0x1c2f8: 0x6c71de20, 0x1c2f9: 0x6cff4820, 0x1c2fa: 0x6c8d9a20, 0x1c2fb: 0x6d1c2a20,\n\t0x1c2fc: 0x6c653c20, 0x1c2fd: 0x6d1b2420, 0x1c2fe: 0x6d1f9620, 0x1c2ff: 0x6d1cc420,\n\t// Block 0x70c, offset 0x1c300\n\t0x1c300: 0x6cfd9a20, 0x1c301: 0x6ca9e020, 0x1c302: 0x6c0fb620, 0x1c303: 0x6c156020,\n\t0x1c304: 0x6c7ff820, 0x1c305: 0x6c71e220, 0x1c306: 0x6cd6b220, 0x1c307: 0x6ccf9020,\n\t0x1c308: 0x6cef7420, 0x1c309: 0x6c23cc20, 0x1c30a: 0x6cc33020, 0x1c30b: 0x6cc20620,\n\t0x1c30c: 0x6c126220, 0x1c30d: 0x6c704820, 0x1c30e: 0x6d247a20, 0x1c30f: 0x6c957e20,\n\t0x1c310: 0x6c878a20, 0x1c311: 0x6c24a820, 0x1c312: 0x6c945c20, 0x1c313: 0x6c294420,\n\t0x1c314: 0x6c752820, 0x1c315: 0x6d0f3e20, 0x1c316: 0x6c806420, 0x1c317: 0x6c800e20,\n\t0x1c318: 0x6d3a4620, 0x1c319: 0x6c82a220, 0x1c31a: 0x6c855420, 0x1c31b: 0x6c03e020,\n\t0x1c31c: 0x6ca46620, 0x1c31d: 0x6d249220, 0x1c31e: 0x6c8dd820, 0x1c31f: 0x6c4a3020,\n\t0x1c320: 0x6cba3820, 0x1c321: 0x6c22aa20, 0x1c322: 0x6c596a20, 0x1c323: 0x6d02b620,\n\t0x1c324: 0x6d20b820, 0x1c325: 0x6d16be20, 0x1c326: 0x6cb8b220, 0x1c327: 0x6cab3020,\n\t0x1c328: 0x6d057820, 0x1c329: 0x6c173c20, 0x1c32a: 0x6c1f1a20, 0x1c32b: 0x6cb78020,\n\t0x1c32c: 0x6c768220, 0x1c32d: 0x6d173020, 0x1c32e: 0x6c741420, 0x1c32f: 0x6cf87020,\n\t0x1c330: 0x6d06a420, 0x1c331: 0x6c509820, 0x1c332: 0x6d231420, 0x1c333: 0x6c7cf220,\n\t0x1c334: 0x6c80ac20, 0x1c335: 0x6c7b6220, 0x1c336: 0x6cd77c20, 0x1c337: 0x6cf5ee20,\n\t0x1c338: 0x6c002220, 0x1c339: 0x6d13f420, 0x1c33a: 0x6cb4f620, 0x1c33b: 0x6c1f9e20,\n\t0x1c33c: 0x6c1ba620, 0x1c33d: 0x6cbd3020, 0x1c33e: 0x6c7b6620, 0x1c33f: 0x6c76d420,\n\t// Block 0x70d, offset 0x1c340\n\t0x1c340: 0x6c7b6820, 0x1c341: 0x6c76dc20, 0x1c342: 0x6c202220, 0x1c343: 0x6ccc5a20,\n\t0x1c344: 0x6c485a20, 0x1c345: 0x6d19ea20, 0x1c346: 0x6d02de20, 0x1c347: 0x6d004a20,\n\t0x1c348: 0x6d215620, 0x1c349: 0x6cba6820, 0x1c34a: 0x6cfeec20, 0x1c34b: 0x6d131620,\n\t0x1c34c: 0x6c43a020, 0x1c34d: 0x6cf37420, 0x1c34e: 0x6ce0a820, 0x1c34f: 0x6c6d3e20,\n\t0x1c350: 0x6cab4820, 0x1c351: 0x6c54f820, 0x1c352: 0x6ce40e20, 0x1c353: 0x6c582c20,\n\t0x1c354: 0x6d05d420, 0x1c355: 0x6cae3820, 0x1c356: 0x6cf81020, 0x1c357: 0x6d000820,\n\t0x1c358: 0x6c1fa220, 0x1c359: 0x6ccf7820, 0x1c35a: 0x6ccdae20, 0x1c35b: 0x6c4dbe20,\n\t0x1c35c: 0x6c1f7e20, 0x1c35d: 0x6d18c820, 0x1c35e: 0x6c36c420, 0x1c35f: 0x6d21b420,\n\t0x1c360: 0x6c21e220, 0x1c361: 0x6c596e20, 0x1c362: 0x6d34cc20, 0x1c363: 0x6d333620,\n\t0x1c364: 0x6c228a20, 0x1c365: 0x6c105e20, 0x1c366: 0x6cf42c20, 0x1c367: 0x6cb58420,\n\t0x1c368: 0x6c106e20, 0x1c369: 0x6c107020, 0x1c36a: 0x6cec4e20, 0x1c36b: 0x6c721220,\n\t0x1c36c: 0x6cb97e20, 0x1c36d: 0x6c1b1620, 0x1c36e: 0x6ccb2a20, 0x1c36f: 0x6c1ba820,\n\t0x1c370: 0x6ccb3620, 0x1c371: 0x6d37fa20, 0x1c372: 0x6cdc4620, 0x1c373: 0x6cdc4820,\n\t0x1c374: 0x6c864c20, 0x1c375: 0x6c263420, 0x1c376: 0x6d218220, 0x1c377: 0x6c867c20,\n\t0x1c378: 0x6c4a9a20, 0x1c379: 0x6c271220, 0x1c37a: 0x6c35ca20, 0x1c37b: 0x6cd86c20,\n\t0x1c37c: 0x6c646420, 0x1c37d: 0x6d301c20, 0x1c37e: 0x6ca0cc20, 0x1c37f: 0x6ca0ce20,\n\t// Block 0x70e, offset 0x1c380\n\t0x1c380: 0x6d109220, 0x1c381: 0x6ca0d020, 0x1c382: 0x6c242020, 0x1c383: 0x6d0f5020,\n\t0x1c384: 0x6ce4da20, 0x1c385: 0x6cd0ee20, 0x1c386: 0x6c274820, 0x1c387: 0x6cce0020,\n\t0x1c388: 0x6d06a620, 0x1c389: 0x6d0a7c20, 0x1c38a: 0x6cd4ba20, 0x1c38b: 0x6c118c20,\n\t0x1c38c: 0x6c742a20, 0x1c38d: 0x6cb19420, 0x1c38e: 0x6cb85c20, 0x1c38f: 0x6cc04820,\n\t0x1c390: 0x6cdaa420, 0x1c391: 0x6cbe7820, 0x1c392: 0x6d27e620, 0x1c393: 0x6c88ee20,\n\t0x1c394: 0x6d17a220, 0x1c395: 0x6c3d2a20, 0x1c396: 0x6d346220, 0x1c397: 0x6d12f220,\n\t0x1c398: 0x6c119620, 0x1c399: 0x6c5cce20, 0x1c39a: 0x6c27e020, 0x1c39b: 0x6c603c20,\n\t0x1c39c: 0x6c2ebe20, 0x1c39d: 0x6d317c20, 0x1c39e: 0x6d27f220, 0x1c39f: 0x6cf15820,\n\t0x1c3a0: 0x6c1e4820, 0x1c3a1: 0x6c0d8220, 0x1c3a2: 0x6ce41220, 0x1c3a3: 0x6c6d4020,\n\t0x1c3a4: 0x6cce1620, 0x1c3a5: 0x6d1a9220, 0x1c3a6: 0x6c2dda20, 0x1c3a7: 0x6c702220,\n\t0x1c3a8: 0x6c5c3220, 0x1c3a9: 0x6c24b020, 0x1c3aa: 0x6d189820, 0x1c3ab: 0x6c27fc20,\n\t0x1c3ac: 0x6c327e20, 0x1c3ad: 0x6c678420, 0x1c3ae: 0x6c892020, 0x1c3af: 0x6c0d8c20,\n\t0x1c3b0: 0x6c31d220, 0x1c3b1: 0x6c674020, 0x1c3b2: 0x6c653e20, 0x1c3b3: 0x6cd49820,\n\t0x1c3b4: 0x6cab3220, 0x1c3b5: 0x6c32b620, 0x1c3b6: 0x6d3ac020, 0x1c3b7: 0x6d19c020,\n\t0x1c3b8: 0x6cbec820, 0x1c3b9: 0x6d175e20, 0x1c3ba: 0x6ccbda20, 0x1c3bb: 0x6cbc4020,\n\t0x1c3bc: 0x6c784e20, 0x1c3bd: 0x6cff8a20, 0x1c3be: 0x6d0a8e20, 0x1c3bf: 0x6c2d5e20,\n\t// Block 0x70f, offset 0x1c3c0\n\t0x1c3c0: 0x6c5b5620, 0x1c3c1: 0x6c5b5820, 0x1c3c2: 0x6c47a020, 0x1c3c3: 0x6cbb9020,\n\t0x1c3c4: 0x6c5f0620, 0x1c3c5: 0x6d185420, 0x1c3c6: 0x6cab4a20, 0x1c3c7: 0x6c5b6220,\n\t0x1c3c8: 0x6c32da20, 0x1c3c9: 0x6d142420, 0x1c3ca: 0x6cff5c20, 0x1c3cb: 0x6cf39c20,\n\t0x1c3cc: 0x6c497220, 0x1c3cd: 0x6ca22020, 0x1c3ce: 0x6c9a4820, 0x1c3cf: 0x6c9a4a20,\n\t0x1c3d0: 0x6c006020, 0x1c3d1: 0x6c6b9420, 0x1c3d2: 0x6c318820, 0x1c3d3: 0x6d239020,\n\t0x1c3d4: 0x6c08ac20, 0x1c3d5: 0x6c090a20, 0x1c3d6: 0x6c094e20, 0x1c3d7: 0x6cafc220,\n\t0x1c3d8: 0x6cafc420, 0x1c3d9: 0x6c095e20, 0x1c3da: 0x6c152c20, 0x1c3db: 0x6c98c020,\n\t0x1c3dc: 0x6c4fbc20, 0x1c3dd: 0x6c111a20, 0x1c3de: 0x6cafba20, 0x1c3df: 0x6c8b9020,\n\t0x1c3e0: 0x6c633820, 0x1c3e1: 0x6d2d6420, 0x1c3e2: 0x6cc9c020, 0x1c3e3: 0x6ca27620,\n\t0x1c3e4: 0x6ceb9e20, 0x1c3e5: 0x6d09fc20, 0x1c3e6: 0x6c379020, 0x1c3e7: 0x6cc66620,\n\t0x1c3e8: 0x6cfbfa20, 0x1c3e9: 0x6c710620, 0x1c3ea: 0x6ca21020, 0x1c3eb: 0x6c4fc420,\n\t0x1c3ec: 0x6cc04a20, 0x1c3ed: 0x6c311220, 0x1c3ee: 0x6ccbea20, 0x1c3ef: 0x6ce06020,\n\t0x1c3f0: 0x6cadd620, 0x1c3f1: 0x6c712420, 0x1c3f2: 0x6c343020, 0x1c3f3: 0x6c253c20,\n\t0x1c3f4: 0x6c087220, 0x1c3f5: 0x6cca0020, 0x1c3f6: 0x6cca6420, 0x1c3f7: 0x6c999420,\n\t0x1c3f8: 0x6cc9c820, 0x1c3f9: 0x6cd4ea20, 0x1c3fa: 0x6d208e20, 0x1c3fb: 0x6cebac20,\n\t0x1c3fc: 0x6c513c20, 0x1c3fd: 0x6c668e20, 0x1c3fe: 0x6cde7420, 0x1c3ff: 0x6cca0620,\n\t// Block 0x710, offset 0x1c400\n\t0x1c400: 0x6c935e20, 0x1c401: 0x6ca21620, 0x1c402: 0x6c98fa20, 0x1c403: 0x6ce78820,\n\t0x1c404: 0x6cc72220, 0x1c405: 0x6c16f820, 0x1c406: 0x6cb49820, 0x1c407: 0x6c934e20,\n\t0x1c408: 0x6d2da820, 0x1c409: 0x6ccafc20, 0x1c40a: 0x6d2daa20, 0x1c40b: 0x6c9b5e20,\n\t0x1c40c: 0x6c91f420, 0x1c40d: 0x6cc20820, 0x1c40e: 0x6c2f2220, 0x1c40f: 0x6cd2e420,\n\t0x1c410: 0x6c2b0a20, 0x1c411: 0x6c9f2620, 0x1c412: 0x6c73d220, 0x1c413: 0x6c983620,\n\t0x1c414: 0x6cb72620, 0x1c415: 0x6cb1c420, 0x1c416: 0x6ca39220, 0x1c417: 0x6cb72e20,\n\t0x1c418: 0x6c29bc20, 0x1c419: 0x6cfa7a20, 0x1c41a: 0x6c1fde20, 0x1c41b: 0x6c3b1a20,\n\t0x1c41c: 0x6d0f8820, 0x1c41d: 0x6ca58620, 0x1c41e: 0x6c0d9a20, 0x1c41f: 0x6c3e1020,\n\t0x1c420: 0x6ccfbc20, 0x1c421: 0x6c2fe620, 0x1c422: 0x6cbe3420, 0x1c423: 0x6cb76a20,\n\t0x1c424: 0x6d19c220, 0x1c425: 0x6cf5c020, 0x1c426: 0x6c4d6020, 0x1c427: 0x6d100e20,\n\t0x1c428: 0x6c012220, 0x1c429: 0x6d0b8e20, 0x1c42a: 0x6c78a620, 0x1c42b: 0x6cbe4420,\n\t0x1c42c: 0x6d0bb020, 0x1c42d: 0x6c300220, 0x1c42e: 0x6c288a20, 0x1c42f: 0x6c93e020,\n\t0x1c430: 0x6cbe7e20, 0x1c431: 0x6d102620, 0x1c432: 0x6d275620, 0x1c433: 0x6d275c20,\n\t0x1c434: 0x6cd70220, 0x1c435: 0x6cd73c20, 0x1c436: 0x6d331620, 0x1c437: 0x6c0da420,\n\t0x1c438: 0x6d1e0c20, 0x1c439: 0x6c294e20, 0x1c43a: 0x6cd73e20, 0x1c43b: 0x6c821020,\n\t0x1c43c: 0x6ca67820, 0x1c43d: 0x6cea7620, 0x1c43e: 0x6c391420, 0x1c43f: 0x6c4abc20,\n\t// Block 0x711, offset 0x1c440\n\t0x1c440: 0x6ce62620, 0x1c441: 0x6d338220, 0x1c442: 0x6cc00020, 0x1c443: 0x6c0d1e20,\n\t0x1c444: 0x6d2b3620, 0x1c445: 0x6c9dfc20, 0x1c446: 0x6c248c20, 0x1c447: 0x6c5b8820,\n\t0x1c448: 0x6c2dac20, 0x1c449: 0x6c4e7c20, 0x1c44a: 0x6c142c20, 0x1c44b: 0x6d3d2020,\n\t0x1c44c: 0x6c202a20, 0x1c44d: 0x6cecba20, 0x1c44e: 0x6c391c20, 0x1c44f: 0x6c26e820,\n\t0x1c450: 0x6cf57220, 0x1c451: 0x6cea9c20, 0x1c452: 0x6c982a20, 0x1c453: 0x6cbffa20,\n\t0x1c454: 0x6cb73020, 0x1c455: 0x6ccd6a20, 0x1c456: 0x6cb24220, 0x1c457: 0x6c4e8620,\n\t0x1c458: 0x6cb89a20, 0x1c459: 0x6cf34620, 0x1c45a: 0x6cf34820, 0x1c45b: 0x6d0a6620,\n\t0x1c45c: 0x6cd87a20, 0x1c45d: 0x6cc7f420, 0x1c45e: 0x6c45d420, 0x1c45f: 0x6c674220,\n\t0x1c460: 0x6c1af620, 0x1c461: 0x6cf34a20, 0x1c462: 0x6ce92c20, 0x1c463: 0x6c704220,\n\t0x1c464: 0x6ce0b820, 0x1c465: 0x6d338c20, 0x1c466: 0x6d34e820, 0x1c467: 0x6cb8a820,\n\t0x1c468: 0x6c9d1c20, 0x1c469: 0x6c475820, 0x1c46a: 0x6cedc420, 0x1c46b: 0x6c6e0e20,\n\t0x1c46c: 0x6c6e1020, 0x1c46d: 0x6cc8be20, 0x1c46e: 0x6c755a20, 0x1c46f: 0x6c52f820,\n\t0x1c470: 0x6cdf6020, 0x1c471: 0x6cc34e20, 0x1c472: 0x6c5fcc20, 0x1c473: 0x6c0b7020,\n\t0x1c474: 0x6c0b7220, 0x1c475: 0x6c420e20, 0x1c476: 0x6cf1fe20, 0x1c477: 0x6d378820,\n\t0x1c478: 0x6c398420, 0x1c479: 0x6d045620, 0x1c47a: 0x6c73e020, 0x1c47b: 0x6c561020,\n\t0x1c47c: 0x6ca96820, 0x1c47d: 0x6cb73820, 0x1c47e: 0x6c3b5620, 0x1c47f: 0x6d067220,\n\t// Block 0x712, offset 0x1c480\n\t0x1c480: 0x6d068420, 0x1c481: 0x6cbe0620, 0x1c482: 0x6d146220, 0x1c483: 0x6cf2ce20,\n\t0x1c484: 0x6d278020, 0x1c485: 0x6d253e20, 0x1c486: 0x6c4f9020, 0x1c487: 0x6d0d3e20,\n\t0x1c488: 0x6c189c20, 0x1c489: 0x6c189e20, 0x1c48a: 0x6c286820, 0x1c48b: 0x6d1eec20,\n\t0x1c48c: 0x6c33da20, 0x1c48d: 0x6c565820, 0x1c48e: 0x6c5d9c20, 0x1c48f: 0x6cb4cc20,\n\t0x1c490: 0x6ca26820, 0x1c491: 0x6caa7620, 0x1c492: 0x6c99d220, 0x1c493: 0x6c268220,\n\t0x1c494: 0x6c9e0020, 0x1c495: 0x6c9d1e20, 0x1c496: 0x6c1cae20, 0x1c497: 0x6cacce20,\n\t0x1c498: 0x6c08bc20, 0x1c499: 0x6ccbc420, 0x1c49a: 0x6d34ea20, 0x1c49b: 0x6cae0220,\n\t0x1c49c: 0x6cac9e20, 0x1c49d: 0x6d3c7620, 0x1c49e: 0x6d288420, 0x1c49f: 0x6c463820,\n\t0x1c4a0: 0x6c8e4220, 0x1c4a1: 0x6c99d420, 0x1c4a2: 0x6d2aa620, 0x1c4a3: 0x6c3c1c20,\n\t0x1c4a4: 0x6cab2e20, 0x1c4a5: 0x6c858020, 0x1c4a6: 0x6c94da20, 0x1c4a7: 0x6c122220,\n\t0x1c4a8: 0x6c3c1e20, 0x1c4a9: 0x6ceee020, 0x1c4aa: 0x6c565a20, 0x1c4ab: 0x6ca0d220,\n\t0x1c4ac: 0x6c9a7820, 0x1c4ad: 0x6cd59e20, 0x1c4ae: 0x6c71a620, 0x1c4af: 0x6d296220,\n\t0x1c4b0: 0x6ceab020, 0x1c4b1: 0x6ceaee20, 0x1c4b2: 0x6ceaf020, 0x1c4b3: 0x6c50c820,\n\t0x1c4b4: 0x6c859020, 0x1c4b5: 0x6c9cdc20, 0x1c4b6: 0x6d147220, 0x1c4b7: 0x6c37e420,\n\t0x1c4b8: 0x6c3a8820, 0x1c4b9: 0x6d1efe20, 0x1c4ba: 0x6ce48420, 0x1c4bb: 0x6d358a20,\n\t0x1c4bc: 0x6d2f8820, 0x1c4bd: 0x6c46f220, 0x1c4be: 0x6d2d6020, 0x1c4bf: 0x6d0c6820,\n\t// Block 0x713, offset 0x1c4c0\n\t0x1c4c0: 0x6cd7ce20, 0x1c4c1: 0x6c7be420, 0x1c4c2: 0x6c6ef820, 0x1c4c3: 0x6c705c20,\n\t0x1c4c4: 0x6d016020, 0x1c4c5: 0x6cc00620, 0x1c4c6: 0x6d16c220, 0x1c4c7: 0x6c632c20,\n\t0x1c4c8: 0x6d379a20, 0x1c4c9: 0x6cc2c220, 0x1c4ca: 0x6cb2fc20, 0x1c4cb: 0x6c5b9020,\n\t0x1c4cc: 0x6c9d2620, 0x1c4cd: 0x6c077e20, 0x1c4ce: 0x6d2aaa20, 0x1c4cf: 0x6d39f420,\n\t0x1c4d0: 0x6c821820, 0x1c4d1: 0x6d1e9820, 0x1c4d2: 0x6c46f420, 0x1c4d3: 0x6c530420,\n\t0x1c4d4: 0x6c417620, 0x1c4d5: 0x6c382e20, 0x1c4d6: 0x6c992e20, 0x1c4d7: 0x6cd89020,\n\t0x1c4d8: 0x6c54a620, 0x1c4d9: 0x6cb27a20, 0x1c4da: 0x6c229220, 0x1c4db: 0x6c392220,\n\t0x1c4dc: 0x6d339a20, 0x1c4dd: 0x6cda8020, 0x1c4de: 0x6ca95420, 0x1c4df: 0x6c195420,\n\t0x1c4e0: 0x6c8cac20, 0x1c4e1: 0x6cad8220, 0x1c4e2: 0x6c0e5220, 0x1c4e3: 0x6cb74620,\n\t0x1c4e4: 0x6cd88220, 0x1c4e5: 0x6ca5c020, 0x1c4e6: 0x6c70f620, 0x1c4e7: 0x6cc96a20,\n\t0x1c4e8: 0x6d3ab020, 0x1c4e9: 0x6cd0e220, 0x1c4ea: 0x6c832020, 0x1c4eb: 0x6d087020,\n\t0x1c4ec: 0x6c73f020, 0x1c4ed: 0x6c3df620, 0x1c4ee: 0x6caca220, 0x1c4ef: 0x6c9f9620,\n\t0x1c4f0: 0x6cdf6820, 0x1c4f1: 0x6d0f4a20, 0x1c4f2: 0x6c612020, 0x1c4f3: 0x6d1e1420,\n\t0x1c4f4: 0x6c497c20, 0x1c4f5: 0x6c083a20, 0x1c4f6: 0x6d090020, 0x1c4f7: 0x6c8f6c20,\n\t0x1c4f8: 0x6c913a20, 0x1c4f9: 0x6c28f420, 0x1c4fa: 0x6c95e020, 0x1c4fb: 0x6d016220,\n\t0x1c4fc: 0x6cb3c020, 0x1c4fd: 0x6d2aac20, 0x1c4fe: 0x6c6d9020, 0x1c4ff: 0x6d1a3c20,\n\t// Block 0x714, offset 0x1c500\n\t0x1c500: 0x6cac5420, 0x1c501: 0x6c6a9020, 0x1c502: 0x6d16f620, 0x1c503: 0x6c5a9820,\n\t0x1c504: 0x6c5b2620, 0x1c505: 0x6d293020, 0x1c506: 0x6c19ce20, 0x1c507: 0x6d19b420,\n\t0x1c508: 0x6ceeec20, 0x1c509: 0x6c546620, 0x1c50a: 0x6c665a20, 0x1c50b: 0x6d0f9820,\n\t0x1c50c: 0x6c8ad420, 0x1c50d: 0x6cd8a820, 0x1c50e: 0x6c61aa20, 0x1c50f: 0x6c374020,\n\t0x1c510: 0x6d03d020, 0x1c511: 0x6c3e1220, 0x1c512: 0x6cc94c20, 0x1c513: 0x6ccb1820,\n\t0x1c514: 0x6d350420, 0x1c515: 0x6d1b3e20, 0x1c516: 0x6cf3b620, 0x1c517: 0x6cf7d620,\n\t0x1c518: 0x6c77a420, 0x1c519: 0x6d398a20, 0x1c51a: 0x6c67da20, 0x1c51b: 0x6c95e820,\n\t0x1c51c: 0x6c95f420, 0x1c51d: 0x6c01a620, 0x1c51e: 0x6c306420, 0x1c51f: 0x6ce3dc20,\n\t0x1c520: 0x6ca1c820, 0x1c521: 0x6c832220, 0x1c522: 0x6d13da20, 0x1c523: 0x6c9ce420,\n\t0x1c524: 0x6cc2c420, 0x1c525: 0x6c6c3020, 0x1c526: 0x6cb37020, 0x1c527: 0x6cef9820,\n\t0x1c528: 0x6cff7020, 0x1c529: 0x6d017220, 0x1c52a: 0x6c531420, 0x1c52b: 0x6d069420,\n\t0x1c52c: 0x6cda8620, 0x1c52d: 0x6c7b9220, 0x1c52e: 0x6ce20a20, 0x1c52f: 0x6cbcac20,\n\t0x1c530: 0x6c71fe20, 0x1c531: 0x6c378a20, 0x1c532: 0x6d386020, 0x1c533: 0x6cc81220,\n\t0x1c534: 0x6cb28620, 0x1c535: 0x6d09ec20, 0x1c536: 0x6d046020, 0x1c537: 0x6d35a220,\n\t0x1c538: 0x6c49e020, 0x1c539: 0x6c586420, 0x1c53a: 0x6c9fec20, 0x1c53b: 0x6c5d7020,\n\t0x1c53c: 0x6cebcc20, 0x1c53d: 0x6cb84c20, 0x1c53e: 0x6cac1e20, 0x1c53f: 0x6cf35820,\n\t// Block 0x715, offset 0x1c540\n\t0x1c540: 0x6cc0e820, 0x1c541: 0x6c8e4a20, 0x1c542: 0x6d16f820, 0x1c543: 0x6c633a20,\n\t0x1c544: 0x6c6e5a20, 0x1c545: 0x6cb9f420, 0x1c546: 0x6c675420, 0x1c547: 0x6c683220,\n\t0x1c548: 0x6d312a20, 0x1c549: 0x6cd1ac20, 0x1c54a: 0x6d3d3420, 0x1c54b: 0x6c12d420,\n\t0x1c54c: 0x6c380020, 0x1c54d: 0x6c5b9c20, 0x1c54e: 0x6c61ac20, 0x1c54f: 0x6c8e4620,\n\t0x1c550: 0x6c159c20, 0x1c551: 0x6c5ce020, 0x1c552: 0x6c561420, 0x1c553: 0x6ca9b420,\n\t0x1c554: 0x6d09ee20, 0x1c555: 0x6c6ce220, 0x1c556: 0x6c8aee20, 0x1c557: 0x6cc03220,\n\t0x1c558: 0x6cefa220, 0x1c559: 0x6d30ea20, 0x1c55a: 0x6c75a620, 0x1c55b: 0x6c4df620,\n\t0x1c55c: 0x6c052620, 0x1c55d: 0x6c985220, 0x1c55e: 0x6d3d3a20, 0x1c55f: 0x6d1f1820,\n\t0x1c560: 0x6cf5c220, 0x1c561: 0x6c0ed620, 0x1c562: 0x6c310420, 0x1c563: 0x6c590420,\n\t0x1c564: 0x6c532a20, 0x1c565: 0x6d173220, 0x1c566: 0x6cb48820, 0x1c567: 0x6d1ce420,\n\t0x1c568: 0x6c802420, 0x1c569: 0x6c502e20, 0x1c56a: 0x6c811820, 0x1c56b: 0x6c4e5620,\n\t0x1c56c: 0x6c850c20, 0x1c56d: 0x6c44be20, 0x1c56e: 0x6c3e3620, 0x1c56f: 0x6cf3b820,\n\t0x1c570: 0x6c88ea20, 0x1c571: 0x6c213a20, 0x1c572: 0x6c3ca220, 0x1c573: 0x6d173420,\n\t0x1c574: 0x6d22f220, 0x1c575: 0x6ce73420, 0x1c576: 0x6c815420, 0x1c577: 0x6c4d3a20,\n\t0x1c578: 0x6c6cee20, 0x1c579: 0x6c634220, 0x1c57a: 0x6c1cb820, 0x1c57b: 0x6c6f0820,\n\t0x1c57c: 0x6c9a5220, 0x1c57d: 0x6cdbb820, 0x1c57e: 0x6c195e20, 0x1c57f: 0x6cae1420,\n\t// Block 0x716, offset 0x1c580\n\t0x1c580: 0x6cfcaa20, 0x1c581: 0x6cd09820, 0x1c582: 0x6ce92e20, 0x1c583: 0x6c7dd020,\n\t0x1c584: 0x6cb25020, 0x1c585: 0x6ca80820, 0x1c586: 0x6c4e9c20, 0x1c587: 0x6c6da020,\n\t0x1c588: 0x6cfea220, 0x1c589: 0x6ccf3c20, 0x1c58a: 0x6ca71e20, 0x1c58b: 0x6ce84e20,\n\t0x1c58c: 0x6d1e2620, 0x1c58d: 0x6cffe020, 0x1c58e: 0x6cfb3620, 0x1c58f: 0x6ce6bc20,\n\t0x1c590: 0x6c355820, 0x1c591: 0x6cda8e20, 0x1c592: 0x6cea1c20, 0x1c593: 0x6c72e620,\n\t0x1c594: 0x6c132c20, 0x1c595: 0x6ce3e220, 0x1c596: 0x6c85d020, 0x1c597: 0x6cd71620,\n\t0x1c598: 0x6cd8aa20, 0x1c599: 0x6c832820, 0x1c59a: 0x6cd71820, 0x1c59b: 0x6ce1be20,\n\t0x1c59c: 0x6c318e20, 0x1c59d: 0x6c81ce20, 0x1c59e: 0x6c7eec20, 0x1c59f: 0x6c87f620,\n\t0x1c5a0: 0x6ceef620, 0x1c5a1: 0x6cf28020, 0x1c5a2: 0x6d279a20, 0x1c5a3: 0x6c590620,\n\t0x1c5a4: 0x6c2b6420, 0x1c5a5: 0x6c528a20, 0x1c5a6: 0x6cc8fa20, 0x1c5a7: 0x6c666e20,\n\t0x1c5a8: 0x6d2f0220, 0x1c5a9: 0x6ccb1c20, 0x1c5aa: 0x6c3e5220, 0x1c5ab: 0x6c498420,\n\t0x1c5ac: 0x6d042a20, 0x1c5ad: 0x6cd46420, 0x1c5ae: 0x6cd69020, 0x1c5af: 0x6d0b2a20,\n\t0x1c5b0: 0x6c21b620, 0x1c5b1: 0x6d2f2e20, 0x1c5b2: 0x6d12e820, 0x1c5b3: 0x6c797620,\n\t0x1c5b4: 0x6cf2e420, 0x1c5b5: 0x6c4e0220, 0x1c5b6: 0x6ceac020, 0x1c5b7: 0x6c2ffa20,\n\t0x1c5b8: 0x6c510820, 0x1c5b9: 0x6cf28620, 0x1c5ba: 0x6c708e20, 0x1c5bb: 0x6ccf4020,\n\t0x1c5bc: 0x6c894e20, 0x1c5bd: 0x6c5cc220, 0x1c5be: 0x6cde4e20, 0x1c5bf: 0x6d3cfe20,\n\t// Block 0x717, offset 0x1c5c0\n\t0x1c5c0: 0x6c2d5220, 0x1c5c1: 0x6cbcb620, 0x1c5c2: 0x6c2a6a20, 0x1c5c3: 0x6c735620,\n\t0x1c5c4: 0x6d3e2420, 0x1c5c5: 0x6cf5f020, 0x1c5c6: 0x6cff8220, 0x1c5c7: 0x6cb5ca20,\n\t0x1c5c8: 0x6c477e20, 0x1c5c9: 0x6c4cb820, 0x1c5ca: 0x6d0bf620, 0x1c5cb: 0x6c8bb020,\n\t0x1c5cc: 0x6ce17420, 0x1c5cd: 0x6d387620, 0x1c5ce: 0x6caf0420, 0x1c5cf: 0x6c503820,\n\t0x1c5d0: 0x6c166620, 0x1c5d1: 0x6cd4cc20, 0x1c5d2: 0x6cb4ea20, 0x1c5d3: 0x6c399020,\n\t0x1c5d4: 0x6d345820, 0x1c5d5: 0x6c923c20, 0x1c5d6: 0x6ca53020, 0x1c5d7: 0x6c711420,\n\t0x1c5d8: 0x6ce21e20, 0x1c5d9: 0x6c239c20, 0x1c5da: 0x6c833020, 0x1c5db: 0x6d30f020,\n\t0x1c5dc: 0x6cb29c20, 0x1c5dd: 0x6c3a3420, 0x1c5de: 0x6cd91c20, 0x1c5df: 0x6ce4ee20,\n\t0x1c5e0: 0x6cb09020, 0x1c5e1: 0x6c288020, 0x1c5e2: 0x6d231620, 0x1c5e3: 0x6ca5d820,\n\t0x1c5e4: 0x6d208620, 0x1c5e5: 0x6c923e20, 0x1c5e6: 0x6c421a20, 0x1c5e7: 0x6c9d3a20,\n\t0x1c5e8: 0x6c6e7420, 0x1c5e9: 0x6c8ce820, 0x1c5ea: 0x6c94f420, 0x1c5eb: 0x6d1a5c20,\n\t0x1c5ec: 0x6c253620, 0x1c5ed: 0x6cc18820, 0x1c5ee: 0x6c57ea20, 0x1c5ef: 0x6d231820,\n\t0x1c5f0: 0x6ca72220, 0x1c5f1: 0x6ccfde20, 0x1c5f2: 0x6c0bf620, 0x1c5f3: 0x6c214220,\n\t0x1c5f4: 0x6c54c220, 0x1c5f5: 0x6d24ec20, 0x1c5f6: 0x6c7efc20, 0x1c5f7: 0x6c5d2620,\n\t0x1c5f8: 0x6cbe4620, 0x1c5f9: 0x6d0bf820, 0x1c5fa: 0x6cba0220, 0x1c5fb: 0x6ce46220,\n\t0x1c5fc: 0x6c9e9020, 0x1c5fd: 0x6d350c20, 0x1c5fe: 0x6d1ae420, 0x1c5ff: 0x6c9d3c20,\n\t// Block 0x718, offset 0x1c600\n\t0x1c600: 0x6c07b220, 0x1c601: 0x6d24de20, 0x1c602: 0x6cf20820, 0x1c603: 0x6cc91c20,\n\t0x1c604: 0x6c39fa20, 0x1c605: 0x6cbe4820, 0x1c606: 0x6d24e020, 0x1c607: 0x6c786220,\n\t0x1c608: 0x6c61f220, 0x1c609: 0x6ccf4220, 0x1c60a: 0x6d24e220, 0x1c60b: 0x6ccba420,\n\t0x1c60c: 0x6c924020, 0x1c60d: 0x6d3f4420, 0x1c60e: 0x6c319620, 0x1c60f: 0x6cb81420,\n\t0x1c610: 0x6c667a20, 0x1c611: 0x6c9e1c20, 0x1c612: 0x6cb09220, 0x1c613: 0x6cf94420,\n\t0x1c614: 0x6d210220, 0x1c615: 0x6d24e420, 0x1c616: 0x6cd05c20, 0x1c617: 0x6cd09e20,\n\t0x1c618: 0x6cc74c20, 0x1c619: 0x6c592420, 0x1c61a: 0x6d3a6420, 0x1c61b: 0x6c659620,\n\t0x1c61c: 0x6caa9020, 0x1c61d: 0x6d212a20, 0x1c61e: 0x6cc06220, 0x1c61f: 0x6ce67220,\n\t0x1c620: 0x6cc18a20, 0x1c621: 0x6c325c20, 0x1c622: 0x6c389e20, 0x1c623: 0x6d2bdc20,\n\t0x1c624: 0x6c0f0420, 0x1c625: 0x6cf2f220, 0x1c626: 0x6cf28820, 0x1c627: 0x6c2c5820,\n\t0x1c628: 0x6cee8e20, 0x1c629: 0x6cf15020, 0x1c62a: 0x6cc7ac20, 0x1c62b: 0x6d01ae20,\n\t0x1c62c: 0x6c12ea20, 0x1c62d: 0x6cf09820, 0x1c62e: 0x6c510a20, 0x1c62f: 0x6c42a220,\n\t0x1c630: 0x6d0d8a20, 0x1c631: 0x6c534a20, 0x1c632: 0x6d089420, 0x1c633: 0x6c9cf220,\n\t0x1c634: 0x6c786a20, 0x1c635: 0x6c98da20, 0x1c636: 0x6d1bb020, 0x1c637: 0x6d0d8c20,\n\t0x1c638: 0x6d1f3820, 0x1c639: 0x6c52a620, 0x1c63a: 0x6c9e9220, 0x1c63b: 0x6cd13a20,\n\t0x1c63c: 0x6c9a5a20, 0x1c63d: 0x6d290420, 0x1c63e: 0x6c5cec20, 0x1c63f: 0x6ca3c420,\n\t// Block 0x719, offset 0x1c640\n\t0x1c640: 0x6c4afe20, 0x1c641: 0x6c1c2020, 0x1c642: 0x6c363820, 0x1c643: 0x6cac2620,\n\t0x1c644: 0x6c99fc20, 0x1c645: 0x6c88fc20, 0x1c646: 0x6cb79620, 0x1c647: 0x6cb79820,\n\t0x1c648: 0x6c99fe20, 0x1c649: 0x6ce4a020, 0x1c64a: 0x6c23ec20, 0x1c64b: 0x6cef1020,\n\t0x1c64c: 0x6c116a20, 0x1c64d: 0x6ce93220, 0x1c64e: 0x6c9e2620, 0x1c64f: 0x6c5bc420,\n\t0x1c650: 0x6ca11a20, 0x1c651: 0x6d059c20, 0x1c652: 0x6c604020, 0x1c653: 0x6cae4020,\n\t0x1c654: 0x6c649e20, 0x1c655: 0x6c658a20, 0x1c656: 0x6c555e20, 0x1c657: 0x6c3ce020,\n\t0x1c658: 0x6cfd7420, 0x1c659: 0x6d17a820, 0x1c65a: 0x6d1b5420, 0x1c65b: 0x6d2e6420,\n\t0x1c65c: 0x6cd26a20, 0x1c65d: 0x6c6a1820, 0x1c65e: 0x6c197020, 0x1c65f: 0x6c59c620,\n\t0x1c660: 0x6ce09a20, 0x1c661: 0x6d212c20, 0x1c662: 0x6c09a220, 0x1c663: 0x6c9fb020,\n\t0x1c664: 0x6cd1be20, 0x1c665: 0x6ce86020, 0x1c666: 0x6cd10220, 0x1c667: 0x6d1e3a20,\n\t0x1c668: 0x6c712620, 0x1c669: 0x6c307820, 0x1c66a: 0x6ce98a20, 0x1c66b: 0x6c68f620,\n\t0x1c66c: 0x6c690820, 0x1c66d: 0x6cc06420, 0x1c66e: 0x6d0c0820, 0x1c66f: 0x6ce0c020,\n\t0x1c670: 0x6c8f9420, 0x1c671: 0x6c5dd220, 0x1c672: 0x6d256420, 0x1c673: 0x6ca42820,\n\t0x1c674: 0x6c04f620, 0x1c675: 0x6d1fcc20, 0x1c676: 0x6cc2f020, 0x1c677: 0x6d3c1820,\n\t0x1c678: 0x6c89ba20, 0x1c679: 0x6c14f620, 0x1c67a: 0x6d0c9620, 0x1c67b: 0x6c214c20,\n\t0x1c67c: 0x6ca83020, 0x1c67d: 0x6d3e3e20, 0x1c67e: 0x6cec9020, 0x1c67f: 0x6cd1c020,\n\t// Block 0x71a, offset 0x1c680\n\t0x1c680: 0x6c97ba20, 0x1c681: 0x6d1c7220, 0x1c682: 0x6c7ed620, 0x1c683: 0x6c7cfc20,\n\t0x1c684: 0x6c3d0020, 0x1c685: 0x6c669020, 0x1c686: 0x6d06da20, 0x1c687: 0x6c908a20,\n\t0x1c688: 0x6cef1220, 0x1c689: 0x6c413620, 0x1c68a: 0x6cfa6620, 0x1c68b: 0x6d1c7420,\n\t0x1c68c: 0x6cb31020, 0x1c68d: 0x6c6d1820, 0x1c68e: 0x6d0e8620, 0x1c68f: 0x6ce10420,\n\t0x1c690: 0x6d258220, 0x1c691: 0x6cdd7a20, 0x1c692: 0x6d258420, 0x1c693: 0x6c881420,\n\t0x1c694: 0x6d11b820, 0x1c695: 0x6c9c0620, 0x1c696: 0x6d3cde20, 0x1c697: 0x6c1a1c20,\n\t0x1c698: 0x6c78ba20, 0x1c699: 0x6cdf7a20, 0x1c69a: 0x6cde0a20, 0x1c69b: 0x6cebe420,\n\t0x1c69c: 0x6c8e3620, 0x1c69d: 0x6c465220, 0x1c69e: 0x6ccaae20, 0x1c69f: 0x6ca00620,\n\t0x1c6a0: 0x6d2cc420, 0x1c6a1: 0x6cd27220, 0x1c6a2: 0x6d17e820, 0x1c6a3: 0x6c952220,\n\t0x1c6a4: 0x6c969a20, 0x1c6a5: 0x6cb48e20, 0x1c6a6: 0x6cee9e20, 0x1c6a7: 0x6c863420,\n\t0x1c6a8: 0x6c111220, 0x1c6a9: 0x6cf50020, 0x1c6aa: 0x6cf64c20, 0x1c6ab: 0x6cf15a20,\n\t0x1c6ac: 0x6cbaba20, 0x1c6ad: 0x6d2ace20, 0x1c6ae: 0x6cd1ce20, 0x1c6af: 0x6cdace20,\n\t0x1c6b0: 0x6c004220, 0x1c6b1: 0x6cbd8420, 0x1c6b2: 0x6cd9b220, 0x1c6b3: 0x6d27b220,\n\t0x1c6b4: 0x6d054420, 0x1c6b5: 0x6d19ec20, 0x1c6b6: 0x6cc68a20, 0x1c6b7: 0x6c5d2e20,\n\t0x1c6b8: 0x6cdad020, 0x1c6b9: 0x6cddcc20, 0x1c6ba: 0x6ca6ac20, 0x1c6bb: 0x6cddf420,\n\t0x1c6bc: 0x6cd1d020, 0x1c6bd: 0x6cc81c20, 0x1c6be: 0x6c002a20, 0x1c6bf: 0x6cacba20,\n\t// Block 0x71b, offset 0x1c6c0\n\t0x1c6c0: 0x6c1f5020, 0x1c6c1: 0x6c1e7e20, 0x1c6c2: 0x6cacdc20, 0x1c6c3: 0x6cf22c20,\n\t0x1c6c4: 0x6c123220, 0x1c6c5: 0x6c9ede20, 0x1c6c6: 0x6c440620, 0x1c6c7: 0x6c2cce20,\n\t0x1c6c8: 0x6c504420, 0x1c6c9: 0x6c5a7020, 0x1c6ca: 0x6cf8a020, 0x1c6cb: 0x6d3e4020,\n\t0x1c6cc: 0x6c2b7220, 0x1c6cd: 0x6d365a20, 0x1c6ce: 0x6d03f220, 0x1c6cf: 0x6c3f6c20,\n\t0x1c6d0: 0x6c6aea20, 0x1c6d1: 0x6c573e20, 0x1c6d2: 0x6c439a20, 0x1c6d3: 0x6d3f1a20,\n\t0x1c6d4: 0x6ce1d820, 0x1c6d5: 0x6ce2aa20, 0x1c6d6: 0x6cdbc820, 0x1c6d7: 0x6c09c820,\n\t0x1c6d8: 0x6c69a420, 0x1c6d9: 0x6c5be620, 0x1c6da: 0x6c4bce20, 0x1c6db: 0x6d1a7020,\n\t0x1c6dc: 0x6c42ca20, 0x1c6dd: 0x6c8f9620, 0x1c6de: 0x6d362c20, 0x1c6df: 0x6d0e8820,\n\t0x1c6e0: 0x6ccf5820, 0x1c6e1: 0x6c97be20, 0x1c6e2: 0x6d1c8020, 0x1c6e3: 0x6c215020,\n\t0x1c6e4: 0x6c93e620, 0x1c6e5: 0x6c807420, 0x1c6e6: 0x6c943e20, 0x1c6e7: 0x6d003420,\n\t0x1c6e8: 0x6c0d3c20, 0x1c6e9: 0x6cdfb020, 0x1c6ea: 0x6d236e20, 0x1c6eb: 0x6d052420,\n\t0x1c6ec: 0x6c56b820, 0x1c6ed: 0x6c09ca20, 0x1c6ee: 0x6c0c0c20, 0x1c6ef: 0x6d368e20,\n\t0x1c6f0: 0x6c67f220, 0x1c6f1: 0x6c79f620, 0x1c6f2: 0x6cd0be20, 0x1c6f3: 0x6cce0e20,\n\t0x1c6f4: 0x6c2b3a20, 0x1c6f5: 0x6c9d6820, 0x1c6f6: 0x6c025220, 0x1c6f7: 0x6c91cc20,\n\t0x1c6f8: 0x6c562820, 0x1c6f9: 0x6c54e820, 0x1c6fa: 0x6d1eac20, 0x1c6fb: 0x6c15cc20,\n\t0x1c6fc: 0x6c396420, 0x1c6fd: 0x6d1d9e20, 0x1c6fe: 0x6c4bd620, 0x1c6ff: 0x6c97c420,\n\t// Block 0x71c, offset 0x1c700\n\t0x1c700: 0x6cbeae20, 0x1c701: 0x6d216e20, 0x1c702: 0x6cb1b820, 0x1c703: 0x6c623e20,\n\t0x1c704: 0x6d0b3420, 0x1c705: 0x6c176e20, 0x1c706: 0x6cb51220, 0x1c707: 0x6cf7fe20,\n\t0x1c708: 0x6c624020, 0x1c709: 0x6c928620, 0x1c70a: 0x6c90a620, 0x1c70b: 0x6c8f9c20,\n\t0x1c70c: 0x6c6ca020, 0x1c70d: 0x6c4c7a20, 0x1c70e: 0x6c23a620, 0x1c70f: 0x6c910e20,\n\t0x1c710: 0x6d349020, 0x1c711: 0x6c414c20, 0x1c712: 0x6cbb1a20, 0x1c713: 0x6c83e220,\n\t0x1c714: 0x6d0db420, 0x1c715: 0x6c127e20, 0x1c716: 0x6c69b020, 0x1c717: 0x6c232a20,\n\t0x1c718: 0x6c215620, 0x1c719: 0x6ce95620, 0x1c71a: 0x6cab4020, 0x1c71b: 0x6ce2a820,\n\t0x1c71c: 0x6d12b020, 0x1c71d: 0x6cf79220, 0x1c71e: 0x6c9d6a20, 0x1c71f: 0x6ce11220,\n\t0x1c720: 0x6ca12c20, 0x1c721: 0x6cce1020, 0x1c722: 0x6c4ee620, 0x1c723: 0x6c881620,\n\t0x1c724: 0x6c803220, 0x1c725: 0x6cebe820, 0x1c726: 0x6c1b4820, 0x1c727: 0x6c41aa20,\n\t0x1c728: 0x6c3cae20, 0x1c729: 0x6d081a20, 0x1c72a: 0x6d140420, 0x1c72b: 0x6c97ec20,\n\t0x1c72c: 0x6d3f5c20, 0x1c72d: 0x6c989620, 0x1c72e: 0x6c774020, 0x1c72f: 0x6c961620,\n\t0x1c730: 0x6cae7a20, 0x1c731: 0x6cd5f420, 0x1c732: 0x6d2f0620, 0x1c733: 0x6d2eca20,\n\t0x1c734: 0x6d3c4620, 0x1c735: 0x6d070c20, 0x1c736: 0x6c594020, 0x1c737: 0x6c5d9020,\n\t0x1c738: 0x6c66aa20, 0x1c739: 0x6d0c1c20, 0x1c73a: 0x6cd6d820, 0x1c73b: 0x6c89f820,\n\t0x1c73c: 0x6c24fa20, 0x1c73d: 0x6ce36420, 0x1c73e: 0x6d106020, 0x1c73f: 0x6c677220,\n\t// Block 0x71d, offset 0x1c740\n\t0x1c740: 0x6c23a820, 0x1c741: 0x6d1d0620, 0x1c742: 0x6c537220, 0x1c743: 0x6d0a1c20,\n\t0x1c744: 0x6cd5f620, 0x1c745: 0x6c499a20, 0x1c746: 0x6d1c8620, 0x1c747: 0x6cfeee20,\n\t0x1c748: 0x6d404220, 0x1c749: 0x6c7de020, 0x1c74a: 0x6d070e20, 0x1c74b: 0x6c890c20,\n\t0x1c74c: 0x6d369020, 0x1c74d: 0x6cef2020, 0x1c74e: 0x6cb0ac20, 0x1c74f: 0x6d23c420,\n\t0x1c750: 0x6c69be20, 0x1c751: 0x6cb3c420, 0x1c752: 0x6c297820, 0x1c753: 0x6c5c1820,\n\t0x1c754: 0x6c6b1c20, 0x1c755: 0x6cf46820, 0x1c756: 0x6cabdc20, 0x1c757: 0x6c608620,\n\t0x1c758: 0x6cac4220, 0x1c759: 0x6cef2c20, 0x1c75a: 0x6cdb1820, 0x1c75b: 0x6cb9b820,\n\t0x1c75c: 0x6cb9ba20, 0x1c75d: 0x6cf69c20, 0x1c75e: 0x6c92cc20, 0x1c75f: 0x6cf8c620,\n\t0x1c760: 0x6d0aa220, 0x1c761: 0x6c340620, 0x1c762: 0x6c59da20, 0x1c763: 0x6c9fc620,\n\t0x1c764: 0x6cc90420, 0x1c765: 0x6cdb0020, 0x1c766: 0x6c81b820, 0x1c767: 0x6d318a20,\n\t0x1c768: 0x6c23aa20, 0x1c769: 0x6d182820, 0x1c76a: 0x6d30fe20, 0x1c76b: 0x6cec9820,\n\t0x1c76c: 0x6ccd9e20, 0x1c76d: 0x6ce00420, 0x1c76e: 0x6c177620, 0x1c76f: 0x6d0a3220,\n\t0x1c770: 0x6c7d0e20, 0x1c771: 0x6d126420, 0x1c772: 0x6ccee420, 0x1c773: 0x6ce8da20,\n\t0x1c774: 0x6d39bc20, 0x1c775: 0x6cc95820, 0x1c776: 0x6c522220, 0x1c777: 0x6c0a2a20,\n\t0x1c778: 0x6ccd0820, 0x1c779: 0x6c151c20, 0x1c77a: 0x6c151e20, 0x1c77b: 0x6cd56820,\n\t0x1c77c: 0x6ce77c20, 0x1c77d: 0x6cb41020, 0x1c77e: 0x6c8bce20, 0x1c77f: 0x6cef2e20,\n\t// Block 0x71e, offset 0x1c780\n\t0x1c780: 0x6ccb6c20, 0x1c781: 0x6ccb4620, 0x1c782: 0x6c1a3820, 0x1c783: 0x6c6f3020,\n\t0x1c784: 0x6c1a3a20, 0x1c785: 0x6c57be20, 0x1c786: 0x6c686c20, 0x1c787: 0x6c81dc20,\n\t0x1c788: 0x6c183420, 0x1c789: 0x6c41e020, 0x1c78a: 0x6c259c20, 0x1c78b: 0x6c53cc20,\n\t0x1c78c: 0x6cd81820, 0x1c78d: 0x6cd60220, 0x1c78e: 0x6cae8420, 0x1c78f: 0x6c4e2a20,\n\t0x1c790: 0x6d27c020, 0x1c791: 0x6c8f3c20, 0x1c792: 0x6c53ce20, 0x1c793: 0x6c3ed820,\n\t0x1c794: 0x6c505a20, 0x1c795: 0x6c513e20, 0x1c796: 0x6cfb8020, 0x1c797: 0x6c66b620,\n\t0x1c798: 0x6ccd0a20, 0x1c799: 0x6cf8c820, 0x1c79a: 0x6d24c220, 0x1c79b: 0x6c934c20,\n\t0x1c79c: 0x6c7fac20, 0x1c79d: 0x6ca96020, 0x1c79e: 0x6d21a220, 0x1c79f: 0x6c8c3420,\n\t0x1c7a0: 0x6c9e4020, 0x1c7a1: 0x6d2a5020, 0x1c7a2: 0x6c290420, 0x1c7a3: 0x6c595420,\n\t0x1c7a4: 0x6d2afc20, 0x1c7a5: 0x6d021620, 0x1c7a6: 0x6d23ea20, 0x1c7a7: 0x6c853020,\n\t0x1c7a8: 0x6cd3da20, 0x1c7a9: 0x6d091c20, 0x1c7aa: 0x6c8d5820, 0x1c7ab: 0x6ced9420,\n\t0x1c7ac: 0x6d3e8a20, 0x1c7ad: 0x6d1db420, 0x1c7ae: 0x6c5c3420, 0x1c7af: 0x6c120420,\n\t0x1c7b0: 0x6c891620, 0x1c7b1: 0x6c2d8420, 0x1c7b2: 0x6d134020, 0x1c7b3: 0x6c02ec20,\n\t0x1c7b4: 0x6c589820, 0x1c7b5: 0x6d319220, 0x1c7b6: 0x6c152420, 0x1c7b7: 0x6c980420,\n\t0x1c7b8: 0x6c284420, 0x1c7b9: 0x6c28b220, 0x1c7ba: 0x6d189e20, 0x1c7bb: 0x6cdc5c20,\n\t0x1c7bc: 0x6cb0ba20, 0x1c7bd: 0x6c728e20, 0x1c7be: 0x6cde8e20, 0x1c7bf: 0x6cbda420,\n\t// Block 0x71f, offset 0x1c7c0\n\t0x1c7c0: 0x6c5f3420, 0x1c7c1: 0x6d3d9a20, 0x1c7c2: 0x6c884c20, 0x1c7c3: 0x6ca9c620,\n\t0x1c7c4: 0x6c4c3020, 0x1c7c5: 0x6c6d4e20, 0x1c7c6: 0x6c3b8c20, 0x1c7c7: 0x6ccb5a20,\n\t0x1c7c8: 0x6c608820, 0x1c7c9: 0x6cdbda20, 0x1c7ca: 0x6c5c3620, 0x1c7cb: 0x6c1eea20,\n\t0x1c7cc: 0x6cdeac20, 0x1c7cd: 0x6cd93620, 0x1c7ce: 0x6c2f7e20, 0x1c7cf: 0x6ccba620,\n\t0x1c7d0: 0x6d3a7e20, 0x1c7d1: 0x6c7f5620, 0x1c7d2: 0x6c0d5220, 0x1c7d3: 0x6c884e20,\n\t0x1c7d4: 0x6c9d0220, 0x1c7d5: 0x6cd20220, 0x1c7d6: 0x6cd60c20, 0x1c7d7: 0x6c9d8620,\n\t0x1c7d8: 0x6ca95a20, 0x1c7d9: 0x6d1ca220, 0x1c7da: 0x6d1ca420, 0x1c7db: 0x6c9b4c20,\n\t0x1c7dc: 0x6c6d5e20, 0x1c7dd: 0x6cb65e20, 0x1c7de: 0x6c0a7020, 0x1c7df: 0x6c629820,\n\t0x1c7e0: 0x6c4ff420, 0x1c7e1: 0x6cc7d220, 0x1c7e2: 0x6c256a20, 0x1c7e3: 0x6cf31c20,\n\t0x1c7e4: 0x6ce1f020, 0x1c7e5: 0x6d1b0e20, 0x1c7e6: 0x6d1b1020, 0x1c7e7: 0x6c336820,\n\t0x1c7e8: 0x6c226c20, 0x1c7e9: 0x6c5df820, 0x1c7ea: 0x6c6eb220, 0x1c7eb: 0x6c807c20,\n\t0x1c7ec: 0x6c75f020, 0x1c7ed: 0x6c007820, 0x1c7ee: 0x6cb45820, 0x1c7ef: 0x6d3db020,\n\t0x1c7f0: 0x6cef4020, 0x1c7f1: 0x6c0d5420, 0x1c7f2: 0x6c47d620, 0x1c7f3: 0x6cb9d620,\n\t0x1c7f4: 0x6d1ca620, 0x1c7f5: 0x6c0d9c20, 0x1c7f6: 0x6c7e1c20, 0x1c7f7: 0x6c3ade20,\n\t0x1c7f8: 0x6c125e20, 0x1c7f9: 0x6c99c820, 0x1c7fa: 0x6c66f020, 0x1c7fb: 0x6cf02620,\n\t0x1c7fc: 0x6c963420, 0x1c7fd: 0x6d29a420, 0x1c7fe: 0x6c940e20, 0x1c7ff: 0x6c869e20,\n\t// Block 0x720, offset 0x1c800\n\t0x1c800: 0x6d1ebe20, 0x1c801: 0x6d106e20, 0x1c802: 0x6c91ea20, 0x1c803: 0x6cd8f420,\n\t0x1c804: 0x6d36e220, 0x1c805: 0x6d1cb220, 0x1c806: 0x6c31cc20, 0x1c807: 0x6cee3c20,\n\t0x1c808: 0x6c5afc20, 0x1c809: 0x6d024020, 0x1c80a: 0x6cac8020, 0x1c80b: 0x6cd08420,\n\t0x1c80c: 0x6c0c3820, 0x1c80d: 0x6c153820, 0x1c80e: 0x6ca17220, 0x1c80f: 0x6c8eba20,\n\t0x1c810: 0x6c651620, 0x1c811: 0x6cb4ba20, 0x1c812: 0x6ccb7420, 0x1c813: 0x6c1a4e20,\n\t0x1c814: 0x6c47e220, 0x1c815: 0x6c0d6820, 0x1c816: 0x6c5e2820, 0x1c817: 0x6cfd3020,\n\t0x1c818: 0x6c917220, 0x1c819: 0x6cbe2620, 0x1c81a: 0x6c4f2c20, 0x1c81b: 0x6d1cba20,\n\t0x1c81c: 0x6cc6d820, 0x1c81d: 0x6c86f820, 0x1c81e: 0x6c6eb420, 0x1c81f: 0x6cff3a20,\n\t0x1c820: 0x6d1cbc20, 0x1c821: 0x6cdc0e20, 0x1c822: 0x6cf03c20, 0x1c823: 0x6d025620,\n\t0x1c824: 0x6c57fc20, 0x1c825: 0x6d097820, 0x1c826: 0x6d39d420, 0x1c827: 0x6c8fc620,\n\t0x1c828: 0x6c7f6a20, 0x1c829: 0x6c337820, 0x1c82a: 0x6c38de20, 0x1c82b: 0x6c55ee20,\n\t0x1c82c: 0x6c7f6c20, 0x1c82d: 0x6cd63420, 0x1c82e: 0x6c8e3220, 0x1c82f: 0x6d1cbe20,\n\t0x1c830: 0x6c9ca020, 0x1c831: 0x6c62c820, 0x1c832: 0x6c892c20, 0x1c833: 0x6c66fe20,\n\t0x1c834: 0x6d1cc620, 0x1c835: 0x6c3c0220, 0x1c836: 0x6c8c0020, 0x1c837: 0x6d192c20,\n\t0x1c838: 0x6c653220, 0x1c839: 0x6d270a20, 0x1c83a: 0x6c155620, 0x1c83b: 0x6c27a620,\n\t0x1c83c: 0x6cc4e620, 0x1c83d: 0x6c661820, 0x1c83e: 0x6c7fe820, 0x1c83f: 0x6c38e020,\n\t// Block 0x721, offset 0x1c840\n\t0x1c840: 0x6cd6f420, 0x1c841: 0x6d252620, 0x1c842: 0x6d3dd420, 0x1c843: 0x6c3c8020,\n\t0x1c844: 0x6ccf8c20, 0x1c845: 0x6c830220, 0x1c846: 0x6c7fea20, 0x1c847: 0x6c23c620,\n\t0x1c848: 0x6cc20020, 0x1c849: 0x6d1dda20, 0x1c84a: 0x6cb9e020, 0x1c84b: 0x6c383620,\n\t0x1c84c: 0x6c49b420, 0x1c84d: 0x6cc41a20, 0x1c84e: 0x6d0f2220, 0x1c84f: 0x6c507c20,\n\t0x1c850: 0x6d1d7020, 0x1c851: 0x6cc95c20, 0x1c852: 0x6d29ba20, 0x1c853: 0x6c946020,\n\t0x1c854: 0x6d0f0420, 0x1c855: 0x6c84a820, 0x1c856: 0x6c9d0e20, 0x1c857: 0x6ccde820,\n\t0x1c858: 0x6cdfc620, 0x1c859: 0x6c293e20, 0x1c85a: 0x6c697620, 0x1c85b: 0x6c161820,\n\t0x1c85c: 0x6d1d7220, 0x1c85d: 0x6c508420, 0x1c85e: 0x6c03dc20, 0x1c85f: 0x6d3a4220,\n\t0x1c860: 0x6c805e20, 0x1c861: 0x6c800820, 0x1c862: 0x6ca47820, 0x1c863: 0x6cecac20,\n\t0x1c864: 0x6c947020, 0x1c865: 0x6d0a5e20, 0x1c866: 0x6cfc6a20, 0x1c867: 0x6d0f2820,\n\t0x1c868: 0x6c424820, 0x1c869: 0x6d0f3220, 0x1c86a: 0x6d24ac20, 0x1c86b: 0x6c5d8420,\n\t0x1c86c: 0x6c0be820, 0x1c86d: 0x6c9eca20, 0x1c86e: 0x6c49d220, 0x1c86f: 0x6c2a9a20,\n\t0x1c870: 0x6c5a8620, 0x1c871: 0x6cfe7a20, 0x1c872: 0x6cfe7c20, 0x1c873: 0x6c5caa20,\n\t0x1c874: 0x6c529620, 0x1c875: 0x6c8c9c20, 0x1c876: 0x6d2a6620, 0x1c877: 0x6d3bbe20,\n\t0x1c878: 0x6c6faa20, 0x1c879: 0x6d2ca820, 0x1c87a: 0x6d015820, 0x1c87b: 0x6c1be420,\n\t0x1c87c: 0x6d3d2420, 0x1c87d: 0x6d28f220, 0x1c87e: 0x6d28f420, 0x1c87f: 0x6c11ec20,\n\t// Block 0x722, offset 0x1c880\n\t0x1c880: 0x6d0f8020, 0x1c881: 0x6cb74820, 0x1c882: 0x6d379c20, 0x1c883: 0x6c3b5e20,\n\t0x1c884: 0x6ca98220, 0x1c885: 0x6c6efa20, 0x1c886: 0x6cf18220, 0x1c887: 0x6cb36820,\n\t0x1c888: 0x6d16c420, 0x1c889: 0x6c913c20, 0x1c88a: 0x6c20b620, 0x1c88b: 0x6caf4020,\n\t0x1c88c: 0x6c767e20, 0x1c88d: 0x6caca420, 0x1c88e: 0x6d0c6a20, 0x1c88f: 0x6c768020,\n\t0x1c890: 0x6cad2620, 0x1c891: 0x6ca26e20, 0x1c892: 0x6c179020, 0x1c893: 0x6c8a9220,\n\t0x1c894: 0x6c4b3420, 0x1c895: 0x6c778220, 0x1c896: 0x6c33dc20, 0x1c897: 0x6c49d620,\n\t0x1c898: 0x6d02b820, 0x1c899: 0x6d358c20, 0x1c89a: 0x6c4a2e20, 0x1c89b: 0x6c49d820,\n\t0x1c89c: 0x6cef9420, 0x1c89d: 0x6cbb5420, 0x1c89e: 0x6c0be420, 0x1c89f: 0x6c268420,\n\t0x1c8a0: 0x6cf99820, 0x1c8a1: 0x6d329a20, 0x1c8a2: 0x6d39fc20, 0x1c8a3: 0x6c785e20,\n\t0x1c8a4: 0x6d2fa220, 0x1c8a5: 0x6c3e1420, 0x1c8a6: 0x6c036e20, 0x1c8a7: 0x6d017420,\n\t0x1c8a8: 0x6c34dc20, 0x1c8a9: 0x6c8e1e20, 0x1c8aa: 0x6d3cf220, 0x1c8ab: 0x6d087a20,\n\t0x1c8ac: 0x6c721420, 0x1c8ad: 0x6ce08e20, 0x1c8ae: 0x6cad8420, 0x1c8af: 0x6c6f0220,\n\t0x1c8b0: 0x6cad5020, 0x1c8b1: 0x6cdf1e20, 0x1c8b2: 0x6cdf2020, 0x1c8b3: 0x6c0dd220,\n\t0x1c8b4: 0x6d100c20, 0x1c8b5: 0x6ce6f020, 0x1c8b6: 0x6c4d9420, 0x1c8b7: 0x6d3ac220,\n\t0x1c8b8: 0x6d2cb820, 0x1c8b9: 0x6c2d0a20, 0x1c8ba: 0x6cf07a20, 0x1c8bb: 0x6cd25220,\n\t0x1c8bc: 0x6c88e620, 0x1c8bd: 0x6c1bfc20, 0x1c8be: 0x6c5a4a20, 0x1c8bf: 0x6d397820,\n\t// Block 0x723, offset 0x1c8c0\n\t0x1c8c0: 0x6c54ae20, 0x1c8c1: 0x6cd77020, 0x1c8c2: 0x6c806e20, 0x1c8c3: 0x6ce63620,\n\t0x1c8c4: 0x6c68de20, 0x1c8c5: 0x6d06a820, 0x1c8c6: 0x6c525e20, 0x1c8c7: 0x6cc35420,\n\t0x1c8c8: 0x6c8af020, 0x1c8c9: 0x6c590820, 0x1c8ca: 0x6d0fa020, 0x1c8cb: 0x6d04c420,\n\t0x1c8cc: 0x6d04c620, 0x1c8cd: 0x6cfbfe20, 0x1c8ce: 0x6d1a3020, 0x1c8cf: 0x6cf36020,\n\t0x1c8d0: 0x6d386620, 0x1c8d1: 0x6d10e220, 0x1c8d2: 0x6cd35020, 0x1c8d3: 0x6cee6e20,\n\t0x1c8d4: 0x6ce73620, 0x1c8d5: 0x6c9ece20, 0x1c8d6: 0x6d28fe20, 0x1c8d7: 0x6c768420,\n\t0x1c8d8: 0x6c529e20, 0x1c8d9: 0x6c81d020, 0x1c8da: 0x6cf9a820, 0x1c8db: 0x6d3a0420,\n\t0x1c8dc: 0x6d084a20, 0x1c8dd: 0x6d32a020, 0x1c8de: 0x6cb37820, 0x1c8df: 0x6d0be420,\n\t0x1c8e0: 0x6c5b2e20, 0x1c8e1: 0x6c49e620, 0x1c8e2: 0x6c180e20, 0x1c8e3: 0x6c5aa420,\n\t0x1c8e4: 0x6c77a820, 0x1c8e5: 0x6c194c20, 0x1c8e6: 0x6c389020, 0x1c8e7: 0x6cce6220,\n\t0x1c8e8: 0x6d12e220, 0x1c8e9: 0x6c5bac20, 0x1c8eb: 0x6ce19a20,\n\t0x1c8ec: 0x6c6cf220, 0x1c8ed: 0x6cc55020, 0x1c8ee: 0x6c8b9620, 0x1c8ef: 0x6cf5f220,\n\t0x1c8f0: 0x6c3e5420, 0x1c8f1: 0x6c6f0a20, 0x1c8f2: 0x6d019420, 0x1c8f3: 0x6cb48a20,\n\t0x1c8f4: 0x6ce64220, 0x1c8f5: 0x6d3d3c20, 0x1c8f6: 0x6ce6c020, 0x1c8f7: 0x6cecd420,\n\t0x1c8f8: 0x6c4d4020, 0x1c8f9: 0x6cae6a20, 0x1c8fa: 0x6c80fc20, 0x1c8fb: 0x6d0e5220,\n\t0x1c8fc: 0x6d06bc20, 0x1c8fd: 0x6c3c3e20, 0x1c8fe: 0x6c1c1020, 0x1c8ff: 0x6cc66820,\n\t// Block 0x724, offset 0x1c900\n\t0x1c900: 0x6c554620, 0x1c901: 0x6cf5f420, 0x1c902: 0x6cd4ce20, 0x1c903: 0x6c51c420,\n\t0x1c904: 0x6d099620, 0x1c905: 0x6c7a9220, 0x1c906: 0x6c72e820, 0x1c907: 0x6cfeb620,\n\t0x1c908: 0x6cf5f620, 0x1c909: 0x6d0bfa20, 0x1c90a: 0x6c4eb220, 0x1c90b: 0x6d3c3c20,\n\t0x1c90c: 0x6c75b020, 0x1c90d: 0x6c2c4220, 0x1c90e: 0x6d019620, 0x1c90f: 0x6c601c20,\n\t0x1c910: 0x6cf4e020, 0x1c911: 0x6d0bfc20, 0x1c912: 0x6c942c20, 0x1c913: 0x6c4e0620,\n\t0x1c914: 0x6d0e6220, 0x1c915: 0x6c591220, 0x1c916: 0x6c9aee20, 0x1c917: 0x6c711620,\n\t0x1c918: 0x6c2a1020, 0x1c919: 0x6c072420, 0x1c91a: 0x6c3b7a20, 0x1c91b: 0x6c8c5220,\n\t0x1c91c: 0x6c7d6220, 0x1c91d: 0x6c5d2820, 0x1c91e: 0x6cea2220, 0x1c91f: 0x6cf61620,\n\t0x1c920: 0x6c253e20, 0x1c921: 0x6cf3c820, 0x1c922: 0x6c52a820, 0x1c923: 0x6c179c20,\n\t0x1c924: 0x6c3f6220, 0x1c925: 0x6cf2f420, 0x1c926: 0x6c684820, 0x1c927: 0x6c231820,\n\t0x1c928: 0x6c3ce220, 0x1c929: 0x6cb2a620, 0x1c92a: 0x6cbf2620, 0x1c92b: 0x6cc91e20,\n\t0x1c92c: 0x6cf61820, 0x1c92d: 0x6cbf2820, 0x1c92e: 0x6d033420, 0x1c92f: 0x6c174420,\n\t0x1c930: 0x6d0e7420, 0x1c931: 0x6d0e7620, 0x1c932: 0x6d17aa20, 0x1c933: 0x6c744e20,\n\t0x1c934: 0x6d234620, 0x1c935: 0x6c42a820, 0x1c936: 0x6cc47820, 0x1c937: 0x6caff020,\n\t0x1c938: 0x6d049420, 0x1c939: 0x6cee6420, 0x1c93a: 0x6cd10420, 0x1c93b: 0x6c171420,\n\t0x1c93c: 0x6cce6e20, 0x1c93d: 0x6d048420, 0x1c93e: 0x6ca72420, 0x1c93f: 0x6c44d020,\n\t// Block 0x725, offset 0x1c940\n\t0x1c940: 0x6cf13e20, 0x1c941: 0x6c18d420, 0x1c942: 0x6c51ce20, 0x1c943: 0x6c7cd220,\n\t0x1c944: 0x6d37fe20, 0x1c945: 0x6c32cc20, 0x1c946: 0x6cf96a20, 0x1c947: 0x6c5ac620,\n\t0x1c948: 0x6c3ce420, 0x1c949: 0x6c890620, 0x1c94a: 0x6d07a820, 0x1c94b: 0x6d037e20,\n\t0x1c94c: 0x6c59d220, 0x1c94d: 0x6c690a20, 0x1c94e: 0x6c64b620, 0x1c94f: 0x6c09cc20,\n\t0x1c950: 0x6d1bbc20, 0x1c951: 0x6d3a7020, 0x1c952: 0x6cefde20, 0x1c953: 0x6ce93620,\n\t0x1c954: 0x6ccd4a20, 0x1c955: 0x6cf67020, 0x1c956: 0x6caa9620, 0x1c957: 0x6caa9820,\n\t0x1c958: 0x6c150220, 0x1c959: 0x6d0c1220, 0x1c95a: 0x6c6f1020, 0x1c95b: 0x6c6f2420,\n\t0x1c95c: 0x6d237020, 0x1c95d: 0x6c9a9c20, 0x1c95e: 0x6ccbfc20, 0x1c95f: 0x6cf0a620,\n\t0x1c960: 0x6d2c3820, 0x1c961: 0x6d033620, 0x1c962: 0x6cbf3e20, 0x1c963: 0x6cc75020,\n\t0x1c964: 0x6c9a0c20, 0x1c965: 0x6c593620, 0x1c966: 0x6d06f420, 0x1c967: 0x6d2fbe20,\n\t0x1c968: 0x6ceea020, 0x1c969: 0x6c38a620, 0x1c96a: 0x6cc07620, 0x1c96b: 0x6cdc4a20,\n\t0x1c96c: 0x6d0fc820, 0x1c96d: 0x6c8b1620, 0x1c96e: 0x6d3a6e20, 0x1c96f: 0x6c6a2220,\n\t0x1c970: 0x6c434e20, 0x1c971: 0x6c485c20, 0x1c972: 0x6c05b420, 0x1c973: 0x6c557020,\n\t0x1c974: 0x6d275820, 0x1c975: 0x6cf96c20, 0x1c976: 0x6cd41a20, 0x1c977: 0x6c89ce20,\n\t0x1c978: 0x6c0afa20, 0x1c979: 0x6c46c420, 0x1c97a: 0x6cea0020, 0x1c97b: 0x6ce11420,\n\t0x1c97c: 0x6c17a020, 0x1c97d: 0x6cccfc20, 0x1c97e: 0x6c371a20, 0x1c97f: 0x6c0f2a20,\n\t// Block 0x726, offset 0x1c980\n\t0x1c980: 0x6c5a5a20, 0x1c981: 0x6d00ce20, 0x1c982: 0x6cf8ae20, 0x1c983: 0x6cf50e20,\n\t0x1c984: 0x6cf67220, 0x1c985: 0x6d284220, 0x1c986: 0x6c515a20, 0x1c987: 0x6c51d220,\n\t0x1c988: 0x6cf67420, 0x1c989: 0x6d27bc20, 0x1c98a: 0x6d048020, 0x1c98b: 0x6ca37e20,\n\t0x1c98c: 0x6ccd5020, 0x1c98d: 0x6cbf8e20, 0x1c98e: 0x6d121620, 0x1c98f: 0x6d099e20,\n\t0x1c990: 0x6c9d6c20, 0x1c991: 0x6c882420, 0x1c992: 0x6d1c8820, 0x1c993: 0x6cf45a20,\n\t0x1c994: 0x6cc69a20, 0x1c995: 0x6c459e20, 0x1c996: 0x6d0f3820, 0x1c997: 0x6cbb5820,\n\t0x1c998: 0x6c8e3820, 0x1c999: 0x6cf67620, 0x1c99a: 0x6c09f820, 0x1c99b: 0x6c0c1820,\n\t0x1c99c: 0x6c233e20, 0x1c99d: 0x6c92a620, 0x1c99e: 0x6c64d620, 0x1c99f: 0x6cd53420,\n\t0x1c9a0: 0x6d185620, 0x1c9a1: 0x6c90b220, 0x1c9a2: 0x6caeb620, 0x1c9a3: 0x6cdbd420,\n\t0x1c9a4: 0x6d185820, 0x1c9a5: 0x6ce28e20, 0x1c9a6: 0x6c749420, 0x1c9a7: 0x6d3fb220,\n\t0x1c9a8: 0x6d284620, 0x1c9a9: 0x6c56c020, 0x1c9aa: 0x6d154820, 0x1c9ab: 0x6d36b420,\n\t0x1c9ac: 0x6c026220, 0x1c9ad: 0x6cf0bc20, 0x1c9ae: 0x6c8f1420, 0x1c9af: 0x6c4efa20,\n\t0x1c9b0: 0x6cab4c20, 0x1c9b1: 0x6cc55420, 0x1c9b2: 0x6c6f2c20, 0x1c9b3: 0x6c97fc20,\n\t0x1c9b4: 0x6c7de220, 0x1c9b5: 0x6cce1820, 0x1c9b6: 0x6c24b220, 0x1c9b7: 0x6d2b9020,\n\t0x1c9b8: 0x6c64f620, 0x1c9b9: 0x6cf6c620, 0x1c9ba: 0x6cf6c820, 0x1c9bb: 0x6cf6ca20,\n\t0x1c9bc: 0x6d185a20, 0x1c9bd: 0x6d000c20, 0x1c9be: 0x6c1c6e20, 0x1c9bf: 0x6c59ea20,\n\t// Block 0x727, offset 0x1c9c0\n\t0x1c9c0: 0x6c15e420, 0x1c9c1: 0x6d131820, 0x1c9c2: 0x6ce01020, 0x1c9c3: 0x6cc48820,\n\t0x1c9c4: 0x6d0ec020, 0x1c9c5: 0x6cfb9420, 0x1c9c6: 0x6cbbae20, 0x1c9c7: 0x6c75e820,\n\t0x1c9c8: 0x6c2aaa20, 0x1c9c9: 0x6c340a20, 0x1c9ca: 0x6cd01820, 0x1c9cb: 0x6c687a20,\n\t0x1c9cc: 0x6c3b9620, 0x1c9cd: 0x6cd82a20, 0x1c9ce: 0x6c8a1a20, 0x1c9cf: 0x6d23ee20,\n\t0x1c9d0: 0x6c8bde20, 0x1c9d1: 0x6ce78a20, 0x1c9d2: 0x6cce8420, 0x1c9d3: 0x6c3b4620,\n\t0x1c9d4: 0x6c38bc20, 0x1c9d5: 0x6d0ec220, 0x1c9d6: 0x6d0a3e20, 0x1c9d7: 0x6c807620,\n\t0x1c9d8: 0x6c9a6a20, 0x1c9d9: 0x6ce1a220, 0x1c9da: 0x6d18a220, 0x1c9db: 0x6c6e3020,\n\t0x1c9dc: 0x6c9afc20, 0x1c9dd: 0x6c6ecc20, 0x1c9de: 0x6c694420, 0x1c9df: 0x6d1c9a20,\n\t0x1c9e0: 0x6d23f020, 0x1c9e1: 0x6d18ca20, 0x1c9e2: 0x6d091e20, 0x1c9e3: 0x6c7fc020,\n\t0x1c9e4: 0x6cdf8020, 0x1c9e5: 0x6d2a9220, 0x1c9e6: 0x6c120c20, 0x1c9e7: 0x6cdc7420,\n\t0x1c9e8: 0x6cf6ea20, 0x1c9e9: 0x6cc40220, 0x1c9ea: 0x6c235420, 0x1c9eb: 0x6c886220,\n\t0x1c9ec: 0x6c5b6e20, 0x1c9ed: 0x6d3a2c20, 0x1c9ee: 0x6d022c20, 0x1c9ef: 0x6c8d6e20,\n\t0x1c9f0: 0x6ceec020, 0x1c9f1: 0x6d18cc20, 0x1c9f2: 0x6d00fc20, 0x1c9f3: 0x6d2fe220,\n\t0x1c9f4: 0x6c5c5220, 0x1c9f5: 0x6c270020, 0x1c9f6: 0x6ca9ce20, 0x1c9f7: 0x6c7fc220,\n\t0x1c9f8: 0x6cc7de20, 0x1c9f9: 0x6cfc3a20, 0x1c9fa: 0x6c77b620, 0x1c9fb: 0x6d09ba20,\n\t0x1c9fc: 0x6c6d6620, 0x1c9fd: 0x6c1df820, 0x1c9fe: 0x6c2a3a20, 0x1c9ff: 0x6d123020,\n\t// Block 0x728, offset 0x1ca00\n\t0x1ca00: 0x6c51fc20, 0x1ca01: 0x6c807e20, 0x1ca02: 0x6c0c4220, 0x1ca03: 0x6cc6ce20,\n\t0x1ca04: 0x6c86d020, 0x1ca05: 0x6ca18220, 0x1ca06: 0x6c067820, 0x1ca07: 0x6cc93220,\n\t0x1ca08: 0x6c941420, 0x1ca09: 0x6c7ea620, 0x1ca0a: 0x6c023620, 0x1ca0b: 0x6d0ab020,\n\t0x1ca0c: 0x6c7c1020, 0x1ca0d: 0x6cd7aa20, 0x1ca0e: 0x6c8ab420, 0x1ca0f: 0x6c872020,\n\t0x1ca10: 0x6c918420, 0x1ca11: 0x6c74ea20, 0x1ca12: 0x6c8a8620, 0x1ca13: 0x6d0efa20,\n\t0x1ca14: 0x6cf73a20, 0x1ca15: 0x6d025a20, 0x1ca16: 0x6c8fde20, 0x1ca17: 0x6d136e20,\n\t0x1ca18: 0x6c121a20, 0x1ca19: 0x6cc50c20, 0x1ca1a: 0x6d271420, 0x1ca1b: 0x6c808820,\n\t0x1ca1c: 0x6c23ce20, 0x1ca1d: 0x6c750c20, 0x1ca1e: 0x6c1d3220, 0x1ca1f: 0x6c49b620,\n\t0x1ca20: 0x6c72d620, 0x1ca21: 0x6c185620, 0x1ca22: 0x6c9cba20, 0x1ca23: 0x6ce19220,\n\t0x1ca24: 0x6c809220, 0x1ca25: 0x6d3a4820, 0x1ca26: 0x6c809a20, 0x1ca27: 0x6c8dda20,\n\t0x1ca28: 0x6c24c420, 0x1ca29: 0x6d24b220, 0x1ca2a: 0x6d2f8020, 0x1ca2b: 0x6d2ff420,\n\t0x1ca2c: 0x6cabd220, 0x1ca2d: 0x6d328c20, 0x1ca2e: 0x6cad5220, 0x1ca2f: 0x6c195820,\n\t0x1ca30: 0x6d254620, 0x1ca31: 0x6c009620, 0x1ca32: 0x6cf09c20, 0x1ca33: 0x6c4f4420,\n\t0x1ca34: 0x6c749620, 0x1ca35: 0x6c74c820, 0x1ca36: 0x6c3fa020, 0x1ca37: 0x6d13b020,\n\t0x1ca38: 0x6c03aa20, 0x1ca39: 0x6c2e5620, 0x1ca3a: 0x6d13b420, 0x1ca3b: 0x6d10c620,\n\t0x1ca3c: 0x6d411020, 0x1ca3d: 0x6cd6d020, 0x1ca3e: 0x6c379e20, 0x1ca3f: 0x6cac5020,\n\t// Block 0x729, offset 0x1ca40\n\t0x1ca40: 0x6c206e20, 0x1ca41: 0x6c77e220, 0x1ca42: 0x6d29d420, 0x1ca43: 0x6c2ec020,\n\t0x1ca44: 0x6cbace20, 0x1ca45: 0x6d1dfc20, 0x1ca46: 0x6cbb2a20, 0x1ca47: 0x6cb14420,\n\t0x1ca48: 0x6c04be20, 0x1ca49: 0x6cacac20, 0x1ca4a: 0x6c175a20, 0x1ca4b: 0x6c64a020,\n\t0x1ca4c: 0x6cac0020, 0x1ca4d: 0x6c31a020, 0x1ca4e: 0x6c205420, 0x1ca4f: 0x6d215a20,\n\t0x1ca50: 0x6d2c3a20, 0x1ca51: 0x6c0afc20, 0x1ca52: 0x6c2ec220, 0x1ca53: 0x6c055420,\n\t0x1ca54: 0x6c0f2c20, 0x1ca55: 0x6c205a20, 0x1ca56: 0x6d1fea20, 0x1ca57: 0x6d206e20,\n\t0x1ca58: 0x6c31d620, 0x1ca59: 0x6d0b0820, 0x1ca5a: 0x6c197220, 0x1ca5b: 0x6ca96620,\n\t0x1ca5c: 0x6ca9ac20, 0x1ca5d: 0x6cb24020, 0x1ca5e: 0x6c6f4c20, 0x1ca5f: 0x6ca1be20,\n\t0x1ca60: 0x6cdde020, 0x1ca61: 0x6ca22420, 0x1ca62: 0x6c814220, 0x1ca63: 0x6cc5c420,\n\t0x1ca64: 0x6c981a20, 0x1ca65: 0x6c398a20, 0x1ca66: 0x6c98ca20, 0x1ca67: 0x6ca27020,\n\t0x1ca68: 0x6c426020, 0x1ca69: 0x6cf4b820, 0x1ca6a: 0x6d0e4020, 0x1ca6b: 0x6c437420,\n\t0x1ca6c: 0x6c06ec20, 0x1ca6d: 0x6cd8a020, 0x1ca6e: 0x6c665e20, 0x1ca6f: 0x6c476620,\n\t0x1ca70: 0x6d202c20, 0x1ca71: 0x6c437e20, 0x1ca72: 0x6cd0f220, 0x1ca73: 0x6ca23020,\n\t0x1ca74: 0x6c2be620, 0x1ca75: 0x6cb8be20, 0x1ca76: 0x6cc37020, 0x1ca77: 0x6cc2cc20,\n\t0x1ca78: 0x6d3f4020, 0x1ca79: 0x6ce27020, 0x1ca7a: 0x6cf5c420, 0x1ca7b: 0x6c985620,\n\t0x1ca7c: 0x6c793820, 0x1ca7d: 0x6cb8d820, 0x1ca7e: 0x6cf44620, 0x1ca7f: 0x6c481220,\n\t// Block 0x72a, offset 0x1ca80\n\t0x1ca80: 0x6cf61a20, 0x1ca81: 0x6c83c220, 0x1ca82: 0x6c83da20, 0x1ca83: 0x6cb3f420,\n\t0x1ca84: 0x6c5ed420, 0x1ca85: 0x6c428220, 0x1ca86: 0x6d346420, 0x1ca87: 0x6c078820,\n\t0x1ca88: 0x6cc2f220, 0x1ca89: 0x6c214e20, 0x1ca8a: 0x6c31a220, 0x1ca8b: 0x6c724a20,\n\t0x1ca8c: 0x6c636e20, 0x1ca8d: 0x6c64a220, 0x1ca8e: 0x6c3c5620, 0x1ca8f: 0x6cb0f820,\n\t0x1ca90: 0x6c780820, 0x1ca91: 0x6c713020, 0x1ca92: 0x6c77c220, 0x1ca93: 0x6c1e9c20,\n\t0x1ca94: 0x6cf8b220, 0x1ca95: 0x6c074020, 0x1ca96: 0x6c961820, 0x1ca97: 0x6c6bf220,\n\t0x1ca98: 0x6c967220, 0x1ca99: 0x6cca0820, 0x1ca9a: 0x6cf0be20, 0x1ca9b: 0x6c98fc20,\n\t0x1ca9c: 0x6c33b020, 0x1ca9d: 0x6ce78c20, 0x1ca9e: 0x6cbc7620, 0x1ca9f: 0x6c67fc20,\n\t0x1caa0: 0x6cf94820, 0x1caa1: 0x6c86d220, 0x1caa2: 0x6c31d820, 0x1caa3: 0x6c8b5e20,\n\t0x1caa4: 0x6cac1020, 0x1caa5: 0x6cb16e20, 0x1caa6: 0x6c0fa620, 0x1caa7: 0x6cf73c20,\n\t0x1caa8: 0x6c1d8620, 0x1caa9: 0x6cef6820, 0x1caaa: 0x6c7cc220, 0x1caab: 0x6c1d8a20,\n\t0x1caac: 0x6cc34c20, 0x1caad: 0x6cc38020, 0x1caae: 0x6c035e20, 0x1caaf: 0x6c391620,\n\t0x1cab0: 0x6cbff420, 0x1cab1: 0x6c611c20, 0x1cab2: 0x6c110420, 0x1cab3: 0x6d3d2220,\n\t0x1cab4: 0x6c019c20, 0x1cab5: 0x6c436820, 0x1cab6: 0x6d3c3020, 0x1cab7: 0x6c4a0620,\n\t0x1cab8: 0x6c96b020, 0x1cab9: 0x6d1eee20, 0x1caba: 0x6c778020, 0x1cabb: 0x6c0eae20,\n\t0x1cabc: 0x6c544a20, 0x1cabd: 0x6d0b7620, 0x1cabe: 0x6d1a2820, 0x1cabf: 0x6c582620,\n\t// Block 0x72b, offset 0x1cac0\n\t0x1cac0: 0x6d3c3420, 0x1cac1: 0x6d27da20, 0x1cac2: 0x6c7bba20, 0x1cac3: 0x6ca97a20,\n\t0x1cac4: 0x6c2b5420, 0x1cac5: 0x6cbe2e20, 0x1cac6: 0x6d381420, 0x1cac7: 0x6ca26a20,\n\t0x1cac8: 0x6c06d820, 0x1cac9: 0x6caf4220, 0x1caca: 0x6c70fc20, 0x1cacb: 0x6d147420,\n\t0x1cacc: 0x6cd0e420, 0x1cacd: 0x6cad4e20, 0x1cace: 0x6cf98e20, 0x1cacf: 0x6ceaf220,\n\t0x1cad0: 0x6c552620, 0x1cad1: 0x6c8cae20, 0x1cad2: 0x6c3a8a20, 0x1cad3: 0x6cafbe20,\n\t0x1cad4: 0x6ca62a20, 0x1cad5: 0x6d119020, 0x1cad6: 0x6d201a20, 0x1cad7: 0x6c467020,\n\t0x1cad8: 0x6d094620, 0x1cad9: 0x6c705e20, 0x1cada: 0x6c286a20, 0x1cadb: 0x6c0eb820,\n\t0x1cadc: 0x6c7a7420, 0x1cadd: 0x6cfbe820, 0x1cade: 0x6ca8f820, 0x1cadf: 0x6c586620,\n\t0x1cae0: 0x6c523c20, 0x1cae1: 0x6c68d420, 0x1cae2: 0x6c50dc20, 0x1cae3: 0x6d2fa420,\n\t0x1cae4: 0x6c5ff620, 0x1cae5: 0x6d0a7220, 0x1cae6: 0x6cccd220, 0x1cae7: 0x6cde3820,\n\t0x1cae8: 0x6cc65820, 0x1cae9: 0x6cd45620, 0x1caea: 0x6ce72820, 0x1caeb: 0x6c81a820,\n\t0x1caec: 0x6c318a20, 0x1caed: 0x6cf99c20, 0x1caee: 0x6cd1ae20, 0x1caef: 0x6c7b1a20,\n\t0x1caf0: 0x6d329c20, 0x1caf1: 0x6d22e420, 0x1caf2: 0x6cdccc20, 0x1caf3: 0x6d20f420,\n\t0x1caf4: 0x6c096220, 0x1caf5: 0x6c985420, 0x1caf6: 0x6cf5c620, 0x1caf7: 0x6c734c20,\n\t0x1caf8: 0x6c87e020, 0x1caf9: 0x6cf9aa20, 0x1cafa: 0x6d1a4820, 0x1cafb: 0x6cdb7e20,\n\t0x1cafc: 0x6c80ae20, 0x1cafd: 0x6c070220, 0x1cafe: 0x6d35c020, 0x1caff: 0x6d0c7420,\n\t// Block 0x72c, offset 0x1cb00\n\t0x1cb00: 0x6ccbdc20, 0x1cb01: 0x6c85d220, 0x1cb02: 0x6c4e9e20, 0x1cb03: 0x6cfc0020,\n\t0x1cb04: 0x6c6dae20, 0x1cb05: 0x6cabfc20, 0x1cb06: 0x6c3a0620, 0x1cb07: 0x6cfeb820,\n\t0x1cb08: 0x6c044220, 0x1cb09: 0x6cb5cc20, 0x1cb0a: 0x6ca5da20, 0x1cb0b: 0x6c0bfc20,\n\t0x1cb0c: 0x6d1b5620, 0x1cb0d: 0x6c7efe20, 0x1cb0e: 0x6c8b0220, 0x1cb0f: 0x6c648820,\n\t0x1cb10: 0x6cbaac20, 0x1cb11: 0x6c7d5a20, 0x1cb12: 0x6d0c0a20, 0x1cb13: 0x6c4cba20,\n\t0x1cb14: 0x6d402020, 0x1cb15: 0x6c9c4820, 0x1cb16: 0x6c166820, 0x1cb17: 0x6d13e620,\n\t0x1cb18: 0x6d35e820, 0x1cb19: 0x6d32b420, 0x1cb1a: 0x6d0b2c20, 0x1cb1b: 0x6c9bce20,\n\t0x1cb1c: 0x6c10f820, 0x1cb1d: 0x6c243620, 0x1cb1e: 0x6cceec20, 0x1cb1f: 0x6c8b9820,\n\t0x1cb20: 0x6c2d1620, 0x1cb21: 0x6c953e20, 0x1cb22: 0x6c556020, 0x1cb23: 0x6d3f9020,\n\t0x1cb24: 0x6c4b4620, 0x1cb25: 0x6cefc820, 0x1cb26: 0x6c3c4c20, 0x1cb27: 0x6cf28c20,\n\t0x1cb28: 0x6d256620, 0x1cb29: 0x6d037420, 0x1cb2a: 0x6d399820, 0x1cb2b: 0x6c98ba20,\n\t0x1cb2c: 0x6cf14020, 0x1cb2d: 0x6c1fe420, 0x1cb2e: 0x6cfcce20, 0x1cb2f: 0x6ce93420,\n\t0x1cb30: 0x6d0bb220, 0x1cb31: 0x6ca4ac20, 0x1cb32: 0x6d004220, 0x1cb33: 0x6c636020,\n\t0x1cb34: 0x6c540620, 0x1cb35: 0x6c0af420, 0x1cb36: 0x6d1f3a20, 0x1cb37: 0x6d1f4820,\n\t0x1cb38: 0x6c9a0020, 0x1cb39: 0x6c13e420, 0x1cb3a: 0x6d111420, 0x1cb3b: 0x6cdcd620,\n\t0x1cb3c: 0x6c0f1420, 0x1cb3d: 0x6ca00820, 0x1cb3e: 0x6c574020, 0x1cb3f: 0x6d258620,\n\t// Block 0x72d, offset 0x1cb40\n\t0x1cb40: 0x6cd9b420, 0x1cb41: 0x6c96c420, 0x1cb42: 0x6d258820, 0x1cb43: 0x6c270c20,\n\t0x1cb44: 0x6d239220, 0x1cb45: 0x6cd1d220, 0x1cb46: 0x6c4fcc20, 0x1cb47: 0x6cbb6420,\n\t0x1cb48: 0x6d17ea20, 0x1cb49: 0x6d316a20, 0x1cb4a: 0x6c123420, 0x1cb4b: 0x6c4fe220,\n\t0x1cb4c: 0x6c97ee20, 0x1cb4d: 0x6c6e9620, 0x1cb4e: 0x6c67b820, 0x1cb4f: 0x6ca12e20,\n\t0x1cb50: 0x6d2ecc20, 0x1cb51: 0x6c150a20, 0x1cb52: 0x6c026420, 0x1cb53: 0x6c025420,\n\t0x1cb54: 0x6c4fd420, 0x1cb55: 0x6c24e020, 0x1cb56: 0x6c07c420, 0x1cb57: 0x6c749820,\n\t0x1cb58: 0x6c0a2c20, 0x1cb59: 0x6c09fe20, 0x1cb5a: 0x6c59dc20, 0x1cb5b: 0x6cb44a20,\n\t0x1cb5c: 0x6c8bd020, 0x1cb5d: 0x6d072620, 0x1cb5e: 0x6ce77e20, 0x1cb5f: 0x6d121e20,\n\t0x1cb60: 0x6c8a1220, 0x1cb61: 0x6cd79020, 0x1cb62: 0x6cff0620, 0x1cb63: 0x6cd49020,\n\t0x1cb64: 0x6c33a820, 0x1cb65: 0x6c69c620, 0x1cb66: 0x6c442020, 0x1cb67: 0x6c739020,\n\t0x1cb68: 0x6c31b420, 0x1cb69: 0x6c5c3820, 0x1cb6a: 0x6c7b3e20, 0x1cb6b: 0x6cfc2c20,\n\t0x1cb6c: 0x6d021820, 0x1cb6d: 0x6cde1820, 0x1cb6e: 0x6cfc3220, 0x1cb6f: 0x6d09b020,\n\t0x1cb70: 0x6ca92620, 0x1cb71: 0x6cb21820, 0x1cb72: 0x6c5dfc20, 0x1cb73: 0x6caa2a20,\n\t0x1cb74: 0x6c9be620, 0x1cb75: 0x6c8b5420, 0x1cb76: 0x6ca51e20, 0x1cb77: 0x6c4a0c20,\n\t0x1cb78: 0x6cd48420, 0x1cb79: 0x6c917420, 0x1cb7a: 0x6cde2020, 0x1cb7b: 0x6cfd3c20,\n\t0x1cb7c: 0x6c9ca220, 0x1cb7d: 0x6cc4e820, 0x1cb7e: 0x6c584020, 0x1cb7f: 0x6ca52820,\n\t// Block 0x72e, offset 0x1cb80\n\t0x1cb80: 0x6c957820, 0x1cb81: 0x6cfc5420, 0x1cb82: 0x6cb6ac20, 0x1cb83: 0x6c751e20,\n\t0x1cb84: 0x6d07fa20, 0x1cb85: 0x6c9eae20, 0x1cb86: 0x6d3e1a20, 0x1cb87: 0x6c93d620,\n\t0x1cb88: 0x6c914c20, 0x1cb89: 0x6d22b820, 0x1cb8a: 0x6cda7a20, 0x1cb8b: 0x6cedda20,\n\t0x1cb8c: 0x6cbff620, 0x1cb8d: 0x6c40d220, 0x1cb8e: 0x6c2f4c20, 0x1cb8f: 0x6c821620,\n\t0x1cb90: 0x6c031620, 0x1cb91: 0x6c5e7c20, 0x1cb92: 0x6c52fa20, 0x1cb93: 0x6c2c1a20,\n\t0x1cb94: 0x6c202e20, 0x1cb95: 0x6c416c20, 0x1cb96: 0x6c6fac20, 0x1cb97: 0x6d20be20,\n\t0x1cb98: 0x6cb6d820, 0x1cb99: 0x6d20c020, 0x1cb9a: 0x6c170620, 0x1cb9b: 0x6c969020,\n\t0x1cb9c: 0x6c456420, 0x1cb9d: 0x6cf43020, 0x1cb9e: 0x6c3d4220, 0x1cb9f: 0x6cf18420,\n\t0x1cba0: 0x6c6bc620, 0x1cba1: 0x6d0b1a20, 0x1cba2: 0x6c0d2620, 0x1cba3: 0x6c0b8020,\n\t0x1cba4: 0x6c056220, 0x1cba5: 0x6d268820, 0x1cba6: 0x6c73f220, 0x1cba7: 0x6c9ac220,\n\t0x1cba8: 0x6c73f420, 0x1cba9: 0x6cecca20, 0x1cbaa: 0x6c646e20, 0x1cbab: 0x6c99da20,\n\t0x1cbac: 0x6c282420, 0x1cbad: 0x6cb20420, 0x1cbae: 0x6cef9620, 0x1cbaf: 0x6c585820,\n\t0x1cbb0: 0x6cfc8020, 0x1cbb1: 0x6cbaa820, 0x1cbb2: 0x6c8cbe20, 0x1cbb3: 0x6c274a20,\n\t0x1cbb4: 0x6d16fc20, 0x1cbb5: 0x6c016820, 0x1cbb6: 0x6cb28820, 0x1cbb7: 0x6c2d4620,\n\t0x1cbb8: 0x6c3e1620, 0x1cbb9: 0x6d080220, 0x1cbba: 0x6cf7da20, 0x1cbbb: 0x6c0e5820,\n\t0x1cbbc: 0x6c229420, 0x1cbbd: 0x6c467820, 0x1cbbe: 0x6c640620, 0x1cbbf: 0x6cce9e20,\n\t// Block 0x72f, offset 0x1cbc0\n\t0x1cbc0: 0x6cb37220, 0x1cbc1: 0x6c222220, 0x1cbc2: 0x6c77e420, 0x1cbc3: 0x6cc4bc20,\n\t0x1cbc4: 0x6cd0f420, 0x1cbc5: 0x6ccfbe20, 0x1cbc6: 0x6d14a820, 0x1cbc7: 0x6d411220,\n\t0x1cbc8: 0x6c633c20, 0x1cbc9: 0x6c9f3a20, 0x1cbca: 0x6cccd420, 0x1cbcb: 0x6c8efe20,\n\t0x1cbcc: 0x6c095020, 0x1cbcd: 0x6d312c20, 0x1cbce: 0x6d312e20, 0x1cbcf: 0x6c73fc20,\n\t0x1cbd0: 0x6c383820, 0x1cbd1: 0x6c8f7820, 0x1cbd2: 0x6c6c3e20, 0x1cbd3: 0x6c698e20,\n\t0x1cbd4: 0x6c667020, 0x1cbd5: 0x6c85d420, 0x1cbd6: 0x6c4a1e20, 0x1cbd7: 0x6cfa9220,\n\t0x1cbd8: 0x6d386820, 0x1cbd9: 0x6c45e420, 0x1cbda: 0x6d0be820, 0x1cbdb: 0x6d053420,\n\t0x1cbdc: 0x6d0fa420, 0x1cbdd: 0x6d063620, 0x1cbde: 0x6c95f620, 0x1cbdf: 0x6cda9020,\n\t0x1cbe0: 0x6d399420, 0x1cbe1: 0x6cbd6420, 0x1cbe2: 0x6d1a4a20, 0x1cbe3: 0x6d09fe20,\n\t0x1cbe4: 0x6c05f620, 0x1cbe5: 0x6c379220, 0x1cbe6: 0x6cfe2a20, 0x1cbe7: 0x6d10e420,\n\t0x1cbe8: 0x6cf9ac20, 0x1cbe9: 0x6c4f6620, 0x1cbea: 0x6c4a4a20, 0x1cbeb: 0x6c1cba20,\n\t0x1cbec: 0x6d06ac20, 0x1cbed: 0x6c047820, 0x1cbee: 0x6cae1620, 0x1cbef: 0x6c81f020,\n\t0x1cbf0: 0x6c28fa20, 0x1cbf1: 0x6d1d6420, 0x1cbf2: 0x6c5aa620, 0x1cbf3: 0x6cf19220,\n\t0x1cbf4: 0x6c355c20, 0x1cbf5: 0x6c19e820, 0x1cbf6: 0x6c2c4420, 0x1cbf7: 0x6cf44c20,\n\t0x1cbf8: 0x6cf3c420, 0x1cbf9: 0x6c19e020, 0x1cbfa: 0x6c75b220, 0x1cbfb: 0x6c99ee20,\n\t0x1cbfc: 0x6c071220, 0x1cbfd: 0x6ce6c220, 0x1cbfe: 0x6cfcb420, 0x1cbff: 0x6c1f3220,\n\t// Block 0x730, offset 0x1cc00\n\t0x1cc00: 0x6c4e0820, 0x1cc01: 0x6d081220, 0x1cc02: 0x6d0c8820, 0x1cc03: 0x6cc05020,\n\t0x1cc04: 0x6d088a20, 0x1cc05: 0x6c80be20, 0x1cc06: 0x6c851420, 0x1cc07: 0x6d053c20,\n\t0x1cc08: 0x6c3e5620, 0x1cc09: 0x6c8e5020, 0x1cc0a: 0x6d0b1e20, 0x1cc0b: 0x6cf5f820,\n\t0x1cc0c: 0x6c8cec20, 0x1cc0d: 0x6c83c420, 0x1cc0e: 0x6c6d0420, 0x1cc0f: 0x6c88b620,\n\t0x1cc10: 0x6cdd6020, 0x1cc11: 0x6cddd620, 0x1cc12: 0x6c3cfe20, 0x1cc13: 0x6cecd620,\n\t0x1cc14: 0x6c2d5a20, 0x1cc15: 0x6cb20c20, 0x1cc16: 0x6d2df020, 0x1cc17: 0x6ccb2c20,\n\t0x1cc18: 0x6c9f5620, 0x1cc19: 0x6d234820, 0x1cc1a: 0x6c709420, 0x1cc1b: 0x6c186820,\n\t0x1cc1c: 0x6c7f0a20, 0x1cc1d: 0x6cf19620, 0x1cc1e: 0x6cd16c20, 0x1cc1f: 0x6cef1420,\n\t0x1cc20: 0x6ce4f620, 0x1cc21: 0x6c1f4020, 0x1cc22: 0x6d423c20, 0x1cc23: 0x6c081e20,\n\t0x1cc24: 0x6c196020, 0x1cc25: 0x6c562220, 0x1cc26: 0x6cb5ea20, 0x1cc27: 0x6c365e20,\n\t0x1cc28: 0x6c7d6420, 0x1cc29: 0x6c167020, 0x1cc2a: 0x6cb5ec20, 0x1cc2b: 0x6c082020,\n\t0x1cc2c: 0x6ced2020, 0x1cc2d: 0x6c925620, 0x1cc2e: 0x6c239e20, 0x1cc2f: 0x6c495220,\n\t0x1cc30: 0x6d0d9020, 0x1cc31: 0x6c2dca20, 0x1cc32: 0x6c072620, 0x1cc33: 0x6c8bb620,\n\t0x1cc34: 0x6cbd7220, 0x1cc35: 0x6caff220, 0x1cc36: 0x6cabd620, 0x1cc37: 0x6cc3b820,\n\t0x1cc38: 0x6d3d6220, 0x1cc39: 0x6cbd7420, 0x1cc3a: 0x6c383c20, 0x1cc3b: 0x6c6d8020,\n\t0x1cc3c: 0x6cbf2a20, 0x1cc3d: 0x6c321a20, 0x1cc3e: 0x6c6bec20, 0x1cc3f: 0x6c5cf220,\n\t// Block 0x731, offset 0x1cc40\n\t0x1cc40: 0x6d226c20, 0x1cc41: 0x6c999820, 0x1cc42: 0x6c9a1020, 0x1cc43: 0x6c210e20,\n\t0x1cc44: 0x6d07aa20, 0x1cc45: 0x6ce34a20, 0x1cc46: 0x6d038020, 0x1cc47: 0x6c277a20,\n\t0x1cc48: 0x6cc75220, 0x1cc49: 0x6c9f6020, 0x1cc4a: 0x6c64b820, 0x1cc4b: 0x6cefe020,\n\t0x1cc4c: 0x6cc86620, 0x1cc4d: 0x6c593820, 0x1cc4e: 0x6d00be20, 0x1cc4f: 0x6c1fe820,\n\t0x1cc50: 0x6c65ae20, 0x1cc51: 0x6d3bce20, 0x1cc52: 0x6c171620, 0x1cc53: 0x6c890a20,\n\t0x1cc54: 0x6cc2fe20, 0x1cc55: 0x6cf9d420, 0x1cc56: 0x6c32ce20, 0x1cc57: 0x6d262220,\n\t0x1cc58: 0x6d0b2e20, 0x1cc59: 0x6ca50220, 0x1cc5a: 0x6c557220, 0x1cc5b: 0x6d1bbe20,\n\t0x1cc5c: 0x6d215e20, 0x1cc5d: 0x6c59d620, 0x1cc5e: 0x6cc8d420, 0x1cc5f: 0x6ccb3020,\n\t0x1cc60: 0x6c8e7c20, 0x1cc61: 0x6cd1de20, 0x1cc62: 0x6cc69e20, 0x1cc63: 0x6cdd8220,\n\t0x1cc64: 0x6d112620, 0x1cc65: 0x6cf15c20, 0x1cc66: 0x6cf45c20, 0x1cc67: 0x6d317e20,\n\t0x1cc68: 0x6c6d2a20, 0x1cc69: 0x6d1c8a20, 0x1cc6a: 0x6c969e20, 0x1cc6b: 0x6ce1dc20,\n\t0x1cc6c: 0x6c8e8220, 0x1cc6d: 0x6ce11820, 0x1cc6e: 0x6c864e20, 0x1cc6f: 0x6c80c420,\n\t0x1cc70: 0x6c4a7020, 0x1cc71: 0x6d325020, 0x1cc72: 0x6cbad020, 0x1cc73: 0x6c25be20,\n\t0x1cc74: 0x6c748020, 0x1cc75: 0x6d2f8e20, 0x1cc76: 0x6d112820, 0x1cc77: 0x6c00bc20,\n\t0x1cc78: 0x6c0d4620, 0x1cc79: 0x6cd4f620, 0x1cc7a: 0x6c16c020, 0x1cc7b: 0x6c7d8020,\n\t0x1cc7c: 0x6d3b8820, 0x1cc7d: 0x6c234020, 0x1cc7e: 0x6c6cb020, 0x1cc7f: 0x6d141620,\n\t// Block 0x732, offset 0x1cc80\n\t0x1cc80: 0x6c250020, 0x1cc81: 0x6c234220, 0x1cc82: 0x6cb63820, 0x1cc83: 0x6c841a20,\n\t0x1cc84: 0x6d1d0820, 0x1cc85: 0x6cdd8a20, 0x1cc86: 0x6cc08c20, 0x1cc87: 0x6d082020,\n\t0x1cc88: 0x6c026620, 0x1cc89: 0x6c88c420, 0x1cc8a: 0x6c9ad420, 0x1cc8b: 0x6d2eda20,\n\t0x1cc8c: 0x6d1a9620, 0x1cc8d: 0x6c57e220, 0x1cc8e: 0x6d1be620, 0x1cc8f: 0x6cf0ce20,\n\t0x1cc90: 0x6c92e620, 0x1cc91: 0x6cf3ec20, 0x1cc92: 0x6c2aac20, 0x1cc93: 0x6d054820,\n\t0x1cc94: 0x6d2b9420, 0x1cc95: 0x6d0a4220, 0x1cc96: 0x6cc1b420, 0x1cc97: 0x6c299420,\n\t0x1cc98: 0x6c8be020, 0x1cc99: 0x6c8a1c20, 0x1cc9a: 0x6cbf6220, 0x1cc9b: 0x6cdb3420,\n\t0x1cc9c: 0x6c59ec20, 0x1cc9d: 0x6c4a8c20, 0x1cc9e: 0x6cb45220, 0x1cc9f: 0x6c6e3220,\n\t0x1cca0: 0x6c38be20, 0x1cca1: 0x6c6d4220, 0x1cca2: 0x6c8e9820, 0x1cca3: 0x6c5f3620,\n\t0x1cca4: 0x6c5cae20, 0x1cca5: 0x6c6e3420, 0x1cca6: 0x6c00e220, 0x1cca7: 0x6c0a8e20,\n\t0x1cca8: 0x6c120e20, 0x1cca9: 0x6cc1d820, 0x1ccaa: 0x6d2a5820, 0x1ccab: 0x6c290c20,\n\t0x1ccac: 0x6c694c20, 0x1ccad: 0x6c4c0420, 0x1ccae: 0x6ce07e20, 0x1ccaf: 0x6c5c5420,\n\t0x1ccb0: 0x6c58a620, 0x1ccb1: 0x6ccb7020, 0x1ccb2: 0x6cdc7620, 0x1ccb3: 0x6ce4c620,\n\t0x1ccb4: 0x6c1f9a20, 0x1ccb5: 0x6d21b820, 0x1ccb6: 0x6c6d6820, 0x1ccb7: 0x6c917620,\n\t0x1ccb8: 0x6c0d6020, 0x1ccb9: 0x6cd54220, 0x1ccba: 0x6cf21820, 0x1ccbb: 0x6d41a220,\n\t0x1ccbc: 0x6c7fd020, 0x1ccbd: 0x6cf82020, 0x1ccbe: 0x6d3ea820, 0x1ccbf: 0x6d083020,\n\t// Block 0x733, offset 0x1ccc0\n\t0x1ccc0: 0x6cc88420, 0x1ccc1: 0x6cf31e20, 0x1ccc2: 0x6c415820, 0x1ccc3: 0x6c827220,\n\t0x1ccc4: 0x6c31da20, 0x1ccc5: 0x6c86fe20, 0x1ccc6: 0x6d374020, 0x1ccc7: 0x6cc76a20,\n\t0x1ccc8: 0x6c848e20, 0x1ccc9: 0x6d29ac20, 0x1ccca: 0x6cbf7620, 0x1cccb: 0x6ce43a20,\n\t0x1cccc: 0x6c4aa420, 0x1cccd: 0x6cdc0020, 0x1ccce: 0x6c7eb220, 0x1cccf: 0x6c8fe020,\n\t0x1ccd0: 0x6c918620, 0x1ccd1: 0x6c872620, 0x1ccd2: 0x6d29b220, 0x1ccd3: 0x6c808a20,\n\t0x1ccd4: 0x6d1c2e20, 0x1ccd5: 0x6c9cb420, 0x1ccd6: 0x6cfd9c20, 0x1ccd7: 0x6cbf8820,\n\t0x1ccd8: 0x6c49b820, 0x1ccd9: 0x6c2a5020, 0x1ccda: 0x6d29c020, 0x1ccdb: 0x6c58ce20,\n\t0x1ccdc: 0x6c483e20, 0x1ccdd: 0x6c0eba20, 0x1ccde: 0x6c2e8820, 0x1ccdf: 0x6c0ed820,\n\t0x1cce0: 0x6c568e20, 0x1cce1: 0x6d347620, 0x1cce2: 0x6cb18020, 0x1cce3: 0x6c050c20,\n\t0x1cce4: 0x6cc4f020, 0x1cce5: 0x6c87a220, 0x1cce6: 0x6cec0c20,\n\t0x1cce8: 0x6cfdaa20, 0x1cce9: 0x6cb8aa20, 0x1ccea: 0x6c04c020, 0x1cceb: 0x6cae3a20,\n\t0x1ccec: 0x6c39c820, 0x1cced: 0x6c282620, 0x1ccee: 0x6cf26c20, 0x1ccef: 0x6cab3420,\n\t0x1ccf2: 0x6cec4a20, 0x1ccf3: 0x6c552a20,\n\t0x1ccf4: 0x6c8cc020, 0x1ccf5: 0x6d14aa20, 0x1ccf6: 0x6cb29420, 0x1ccf7: 0x6c223820,\n\t0x1ccf8: 0x6c042020, 0x1ccf9: 0x6c72ea20, 0x1ccfa: 0x6c16a820, 0x1ccfb: 0x6c1aa820,\n\t0x1ccfd: 0x6c296820, 0x1ccfe: 0x6c9bd620, 0x1ccff: 0x6c109820,\n\t// Block 0x734, offset 0x1cd00\n\t0x1cd00: 0x6d3c8820, 0x1cd01: 0x6cb2aa20, 0x1cd02: 0x6c0afe20, 0x1cd03: 0x6d393220,\n\t0x1cd04: 0x6d316c20, 0x1cd06: 0x6c225020, 0x1cd07: 0x6d1bd220,\n\t0x1cd08: 0x6cb7b220, 0x1cd09: 0x6cfb7420, 0x1cd0a: 0x6c90f220, 0x1cd0b: 0x6c2c9220,\n\t0x1cd0c: 0x6cab5020, 0x1cd0d: 0x6c9b2e20, 0x1cd0e: 0x6d3b8a20, 0x1cd0f: 0x6c084e20,\n\t0x1cd10: 0x6c8c6420, 0x1cd11: 0x6d2bb020, 0x1cd12: 0x6cf47c20, 0x1cd13: 0x6cb0c220,\n\t0x1cd14: 0x6c280220, 0x1cd15: 0x6cf27420, 0x1cd16: 0x6d1c0820, 0x1cd17: 0x6d0e0420,\n\t0x1cd18: 0x6c415c20, 0x1cd19: 0x6c273420, 0x1cd1a: 0x6cd03820, 0x1cd1b: 0x6ce49a20,\n\t0x1cd1c: 0x6ce49c20, 0x1cd1d: 0x6c4e1c20, 0x1cd1e: 0x6c16b020, 0x1cd1f: 0x6cd0d220,\n\t0x1cd20: 0x6cbe6e20, 0x1cd21: 0x6ccfcc20, 0x1cd22: 0x6c15aa20, 0x1cd23: 0x6c15ac20,\n\t0x1cd24: 0x6cc89c20, 0x1cd25: 0x6cd10620, 0x1cd26: 0x6cda4c20, 0x1cd27: 0x6cd00820,\n\t0x1cd28: 0x6d1e6c20, 0x1cd29: 0x6cd66020, 0x1cd2a: 0x6c920e20, 0x1cd2b: 0x6c40a820,\n\t0x1cd2c: 0x6d1e1020, 0x1cd2d: 0x6c080e20, 0x1cd2e: 0x6c3cdc20, 0x1cd2f: 0x6ca90820,\n\t0x1cd30: 0x6ce47e20, 0x1cd31: 0x6d1ee020, 0x1cd32: 0x6c63fc20, 0x1cd33: 0x6ccf9a20,\n\t0x1cd34: 0x6d2c1820, 0x1cd35: 0x6c2d3220, 0x1cd36: 0x6c3dce20, 0x1cd37: 0x6ca3e220,\n\t0x1cd38: 0x6c2cbc20, 0x1cd39: 0x6cb24820, 0x1cd3a: 0x6ce62e20, 0x1cd3b: 0x6c578420,\n\t0x1cd3c: 0x6ce6b220, 0x1cd3d: 0x6d321a20, 0x1cd3e: 0x6d28f620, 0x1cd3f: 0x6c9b0820,\n\t// Block 0x735, offset 0x1cd40\n\t0x1cd40: 0x6c093c20, 0x1cd41: 0x6cb58620, 0x1cd42: 0x6c8f2620, 0x1cd43: 0x6d09de20,\n\t0x1cd44: 0x6c8e4420, 0x1cd45: 0x6c170820, 0x1cd46: 0x6ca23220, 0x1cd47: 0x6d278a20,\n\t0x1cd48: 0x6c393620, 0x1cd49: 0x6c3e1820, 0x1cd4a: 0x6c44bc20, 0x1cd4b: 0x6ce48e20,\n\t0x1cd4c: 0x6c6bca20, 0x1cd4d: 0x6c6bcc20, 0x1cd4e: 0x6cc35220, 0x1cd4f: 0x6cf07c20,\n\t0x1cd50: 0x6c3e1a20, 0x1cd51: 0x6ce49020, 0x1cd52: 0x6ca23420, 0x1cd53: 0x6c341e20,\n\t0x1cd54: 0x6cacb020, 0x1cd55: 0x6c675620, 0x1cd56: 0x6cebd220, 0x1cd57: 0x6c269020,\n\t0x1cd58: 0x6ca3f020, 0x1cd59: 0x6c8e4c20, 0x1cd5a: 0x6c079a20, 0x1cd5b: 0x6d31c820,\n\t0x1cd5c: 0x6c1f2820, 0x1cd5d: 0x6ca23820, 0x1cd5e: 0x6ca23a20, 0x1cd5f: 0x6c12d820,\n\t0x1cd60: 0x6ce49620, 0x1cd61: 0x6c40f220, 0x1cd62: 0x6c096420, 0x1cd63: 0x6c269a20,\n\t0x1cd64: 0x6d35ea20, 0x1cd65: 0x6c361220, 0x1cd66: 0x6cb5ce20, 0x1cd67: 0x6c94a020,\n\t0x1cd68: 0x6cac3e20, 0x1cd69: 0x6d199020, 0x1cd6a: 0x6c384e20, 0x1cd6b: 0x6c579820,\n\t0x1cd6c: 0x6ccef220, 0x1cd6d: 0x6d212e20, 0x1cd6e: 0x6ca24220, 0x1cd6f: 0x6c75be20,\n\t0x1cd70: 0x6d176620, 0x1cd71: 0x6c8e5820, 0x1cd72: 0x6ccef420, 0x1cd73: 0x6c2eac20,\n\t0x1cd74: 0x6c1db020, 0x1cd75: 0x6c579e20, 0x1cd76: 0x6c290020, 0x1cd77: 0x6d3c9020,\n\t0x1cd78: 0x6c5eea20, 0x1cd79: 0x6ced2a20, 0x1cd7a: 0x6c676620, 0x1cd7b: 0x6c1a2620,\n\t0x1cd7c: 0x6c171e20, 0x1cd7d: 0x6cea8020, 0x1cd7e: 0x6c825220, 0x1cd7f: 0x6c5f1620,\n\t// Block 0x736, offset 0x1cd80\n\t0x1cd80: 0x6c13b020, 0x1cd81: 0x6c8e9a20, 0x1cd82: 0x6c2f3c20, 0x1cd83: 0x6ce98220,\n\t0x1cd84: 0x6c8c6c20, 0x1cd85: 0x6c678c20, 0x1cd86: 0x6c679020, 0x1cd87: 0x6c1e0020,\n\t0x1cd88: 0x6cb0d620, 0x1cd89: 0x6c2f0620, 0x1cd8a: 0x6c2f1020, 0x1cd8b: 0x6cb04420,\n\t0x1cd8c: 0x6c6a8220, 0x1cd8d: 0x6c287220, 0x1cd8e: 0x6cd4da20, 0x1cd8f: 0x6cd4dc20,\n\t0x1cd90: 0x6d369220, 0x1cd91: 0x6d153420, 0x1cd92: 0x6ca54020, 0x1cd93: 0x6ca39420,\n\t0x1cd94: 0x6c2f4e20, 0x1cd95: 0x6c08be20, 0x1cd96: 0x6c69f620, 0x1cd97: 0x6c89da20,\n\t0x1cd98: 0x6c426220, 0x1cd99: 0x6c437620, 0x1cd9a: 0x6c6fd620, 0x1cd9b: 0x6d38da20,\n\t0x1cd9c: 0x6cfa3020, 0x1cd9d: 0x6ccd7220, 0x1cd9e: 0x6d057220, 0x1cd9f: 0x6caa9e20,\n\t0x1cda0: 0x6c859220, 0x1cda1: 0x6d0f8a20, 0x1cda2: 0x6c192020, 0x1cda3: 0x6d1f0c20,\n\t0x1cda4: 0x6c033220, 0x1cda5: 0x6c6bce20, 0x1cda6: 0x6c73fe20, 0x1cda7: 0x6cb59620,\n\t0x1cda8: 0x6cf95620, 0x1cda9: 0x6c251e20, 0x1cdaa: 0x6c095220, 0x1cdab: 0x6d16fe20,\n\t0x1cdac: 0x6c85aa20, 0x1cdad: 0x6d401a20, 0x1cdae: 0x6c204e20, 0x1cdaf: 0x6c3c2620,\n\t0x1cdb0: 0x6d3ad220, 0x1cdb1: 0x6cad8620, 0x1cdb2: 0x6cafd020, 0x1cdb3: 0x6c418a20,\n\t0x1cdb4: 0x6c77ee20, 0x1cdb5: 0x6c21fa20, 0x1cdb6: 0x6d08de20, 0x1cdb7: 0x6d33c620,\n\t0x1cdb8: 0x6c283020, 0x1cdb9: 0x6d31ca20, 0x1cdba: 0x6c380220, 0x1cdbb: 0x6d350e20,\n\t0x1cdbc: 0x6ce29c20, 0x1cdbd: 0x6c706a20, 0x1cdbe: 0x6c600220, 0x1cdbf: 0x6c3a9a20,\n\t// Block 0x737, offset 0x1cdc0\n\t0x1cdc0: 0x6c706c20, 0x1cdc1: 0x6cccda20, 0x1cdc2: 0x6c634420, 0x1cdc3: 0x6d080820,\n\t0x1cdc4: 0x6d2cbc20, 0x1cdc5: 0x6c0e1420, 0x1cdc6: 0x6ca80a20, 0x1cdc7: 0x6d334620,\n\t0x1cdc8: 0x6d1d8020, 0x1cdc9: 0x6c6e6820, 0x1cdca: 0x6cc2e020, 0x1cdcb: 0x6ce29e20,\n\t0x1cdcc: 0x6ce6f420, 0x1cdcd: 0x6d14e620, 0x1cdce: 0x6c6a0020, 0x1cdcf: 0x6cefb020,\n\t0x1cdd0: 0x6c5b3620, 0x1cdd1: 0x6cdfa220, 0x1cdd2: 0x6d101220, 0x1cdd3: 0x6c1c1220,\n\t0x1cdd4: 0x6d35ec20, 0x1cdd5: 0x6c523220, 0x1cdd6: 0x6d0b5220, 0x1cdd7: 0x6c9a9220,\n\t0x1cdd8: 0x6c311a20, 0x1cdd9: 0x6c6e8620, 0x1cdda: 0x6cfec020, 0x1cddb: 0x6ce7c820,\n\t0x1cddc: 0x6ce86220, 0x1cddd: 0x6c986020, 0x1cdde: 0x6cb05e20, 0x1cddf: 0x6cfec220,\n\t0x1cde0: 0x6cdb8020, 0x1cde1: 0x6c3d7020, 0x1cde2: 0x6c861220, 0x1cde3: 0x6d363420,\n\t0x1cde4: 0x6c25de20, 0x1cde5: 0x6c345220, 0x1cde6: 0x6cf4ee20, 0x1cde7: 0x6ccbf420,\n\t0x1cde8: 0x6c815a20, 0x1cde9: 0x6cd46a20, 0x1cdea: 0x6c592620, 0x1cdeb: 0x6cfb5e20,\n\t0x1cdec: 0x6d17ee20, 0x1cded: 0x6c07f820, 0x1cdee: 0x6d2f3420, 0x1cdef: 0x6c495620,\n\t0x1cdf0: 0x6cdfec20, 0x1cdf1: 0x6c3ab820, 0x1cdf2: 0x6c966a20, 0x1cdf3: 0x6c8bba20,\n\t0x1cdf4: 0x6c1abc20, 0x1cdf5: 0x6c621a20, 0x1cdf6: 0x6ce50220, 0x1cdf7: 0x6c013820,\n\t0x1cdf8: 0x6c1c3220, 0x1cdf9: 0x6c09d020, 0x1cdfa: 0x6c09d220, 0x1cdfb: 0x6c9f6220,\n\t0x1cdfc: 0x6c481a20, 0x1cdfd: 0x6c330820, 0x1cdfe: 0x6c354220, 0x1cdff: 0x6cefe220,\n\t// Block 0x738, offset 0x1ce00\n\t0x1ce00: 0x6d209220, 0x1ce01: 0x6c254420, 0x1ce02: 0x6d0b5620, 0x1ce03: 0x6d3a1620,\n\t0x1ce04: 0x6c244020, 0x1ce05: 0x6c27e620, 0x1ce06: 0x6cd0b020, 0x1ce07: 0x6d380220,\n\t0x1ce08: 0x6c1c4620, 0x1ce09: 0x6d239420, 0x1ce0a: 0x6c541c20, 0x1ce0b: 0x6c3c5c20,\n\t0x1ce0c: 0x6c7e8420, 0x1ce0d: 0x6d0fd220, 0x1ce0e: 0x6c18de20, 0x1ce0f: 0x6ce8c420,\n\t0x1ce10: 0x6d226e20, 0x1ce11: 0x6c4c2820, 0x1ce12: 0x6cf19e20, 0x1ce13: 0x6c594420,\n\t0x1ce14: 0x6c7aa220, 0x1ce15: 0x6c642820, 0x1ce16: 0x6d19f620, 0x1ce17: 0x6d182c20,\n\t0x1ce18: 0x6c911020, 0x1ce19: 0x6ccaf820, 0x1ce1a: 0x6c749a20, 0x1ce1b: 0x6c1c5a20,\n\t0x1ce1c: 0x6cf6a620, 0x1ce1d: 0x6c492220, 0x1ce1e: 0x6d185c20, 0x1ce1f: 0x6cf16020,\n\t0x1ce20: 0x6c608c20, 0x1ce21: 0x6c205c20, 0x1ce22: 0x6c049220, 0x1ce23: 0x6c5bfe20,\n\t0x1ce24: 0x6c8e8420, 0x1ce25: 0x6c149c20, 0x1ce26: 0x6cd47220, 0x1ce27: 0x6caaaa20,\n\t0x1ce28: 0x6c2cd820, 0x1ce29: 0x6c26fc20, 0x1ce2a: 0x6c0d0e20, 0x1ce2b: 0x6cdfb820,\n\t0x1ce2c: 0x6d2f4020, 0x1ce2d: 0x6c0c1c20, 0x1ce2e: 0x6cd0c620, 0x1ce2f: 0x6c246220,\n\t0x1ce30: 0x6c95c020, 0x1ce31: 0x6d18a420, 0x1ce32: 0x6d403220, 0x1ce33: 0x6c1d7c20,\n\t0x1ce34: 0x6d2f4220, 0x1ce35: 0x6d2d4a20, 0x1ce36: 0x6cda4220, 0x1ce37: 0x6ccb5e20,\n\t0x1ce38: 0x6cc39c20, 0x1ce39: 0x6c2e3c20, 0x1ce3a: 0x6c911a20, 0x1ce3b: 0x6c911c20,\n\t0x1ce3c: 0x6ca15220, 0x1ce3d: 0x6cbda620, 0x1ce3e: 0x6d1b0820, 0x1ce3f: 0x6d1d0a20,\n\t// Block 0x739, offset 0x1ce40\n\t0x1ce40: 0x6c59fa20, 0x1ce41: 0x6c3f0820, 0x1ce42: 0x6c8a2620, 0x1ce43: 0x6c8fac20,\n\t0x1ce44: 0x6cbbfe20, 0x1ce45: 0x6c8ea820, 0x1ce46: 0x6c817a20, 0x1ce47: 0x6cfba820,\n\t0x1ce48: 0x6c3ad620, 0x1ce49: 0x6c280420, 0x1ce4a: 0x6d1b7420, 0x1ce4b: 0x6c51f020,\n\t0x1ce4c: 0x6c005420, 0x1ce4d: 0x6c04a620, 0x1ce4e: 0x6cfbaa20, 0x1ce4f: 0x6c492a20,\n\t0x1ce50: 0x6c4b8c20, 0x1ce51: 0x6ca9f620, 0x1ce52: 0x6d242e20, 0x1ce53: 0x6cef4a20,\n\t0x1ce54: 0x6d18e820, 0x1ce55: 0x6d1dc620, 0x1ce56: 0x6cb07820, 0x1ce57: 0x6c82ee20,\n\t0x1ce58: 0x6c86a820, 0x1ce59: 0x6cd57820, 0x1ce5a: 0x6c28d820, 0x1ce5b: 0x6c8c3c20,\n\t0x1ce5c: 0x6c2d8c20, 0x1ce5d: 0x6c8c3e20, 0x1ce5e: 0x6c7f6420, 0x1ce5f: 0x6c0d1020,\n\t0x1ce60: 0x6c62ba20, 0x1ce61: 0x6c1ae820, 0x1ce62: 0x6d103820, 0x1ce63: 0x6d086220,\n\t0x1ce64: 0x6c6a3820, 0x1ce65: 0x6d330e20, 0x1ce66: 0x6c99cc20, 0x1ce67: 0x6c874420,\n\t0x1ce68: 0x6c5e4820, 0x1ce69: 0x6c7f7820, 0x1ce6a: 0x6c631420, 0x1ce6b: 0x6c2cf220,\n\t0x1ce6c: 0x6d086620, 0x1ce6d: 0x6d1d2e20, 0x1ce6e: 0x6d1b2820, 0x1ce6f: 0x6cc21420,\n\t0x1ce70: 0x6d1dea20, 0x1ce71: 0x6cdfc820, 0x1ce72: 0x6c2cfe20, 0x1ce73: 0x6c95da20,\n\t0x1ce74: 0x6c947c20, 0x1ce75: 0x6c948420, 0x1ce76: 0x6c0e4620, 0x1ce77: 0x6c0e5420,\n\t0x1ce78: 0x6c4ada20, 0x1ce79: 0x6c037020, 0x1ce7a: 0x6c37e620, 0x1ce7b: 0x6c2a9c20,\n\t0x1ce7c: 0x6c37ec20, 0x1ce7d: 0x6c040820, 0x1ce7e: 0x6c041620, 0x1ce7f: 0x6cbc8020,\n\t// Block 0x73a, offset 0x1ce80\n\t0x1ce80: 0x6c5fd620, 0x1ce81: 0x6d2a6820, 0x1ce82: 0x6d2a6a20, 0x1ce83: 0x6c994420,\n\t0x1ce84: 0x6c2a8c20, 0x1ce85: 0x6cabb820, 0x1ce86: 0x6c69f820, 0x1ce87: 0x6c59ac20,\n\t0x1ce88: 0x6c4a3e20, 0x1ce89: 0x6c229620, 0x1ce8a: 0x6c8ccc20, 0x1ce8b: 0x6c42b620,\n\t0x1ce8c: 0x6ca0f020, 0x1ce8d: 0x6c5ffa20, 0x1ce8e: 0x6c68e420, 0x1ce8f: 0x6caf0620,\n\t0x1ce90: 0x6c42be20, 0x1ce91: 0x6c004020, 0x1ce92: 0x6c356620, 0x1ce93: 0x6c503e20,\n\t0x1ce94: 0x6c4ec420, 0x1ce95: 0x6c09a420, 0x1ce96: 0x6ced2220, 0x1ce97: 0x6c1dbc20,\n\t0x1ce98: 0x6cba5c20, 0x1ce99: 0x6cf65220, 0x1ce9a: 0x6c005020, 0x1ce9b: 0x6cffb820,\n\t0x1ce9c: 0x6c505c20, 0x1ce9d: 0x6c5a7820, 0x1ce9e: 0x6c505e20, 0x1ce9f: 0x6d2b0220,\n\t0x1cea0: 0x6c251020, 0x1cea1: 0x6c506c20, 0x1cea2: 0x6cffc220, 0x1cea3: 0x6d132820,\n\t0x1cea4: 0x6cb33820, 0x1cea5: 0x6c507220, 0x1cea6: 0x6c695220, 0x1cea7: 0x6c00f220,\n\t0x1cea8: 0x6d03ae20, 0x1cea9: 0x6c5a8020, 0x1ceaa: 0x6c872820, 0x1ceab: 0x6cb1a620,\n\t0x1ceac: 0x6c51a220, 0x1cead: 0x6c69e220, 0x1ceae: 0x6cafa820, 0x1ceaf: 0x6c41ca20,\n\t0x1ceb0: 0x6cad8820, 0x1ceb1: 0x6d391c20, 0x1ceb2: 0x6c756e20, 0x1ceb3: 0x6cc06620,\n\t0x1ceb4: 0x6c259420, 0x1ceb5: 0x6cc3ce20, 0x1ceb6: 0x6d2bee20, 0x1ceb7: 0x6c47b420,\n\t0x1ceb8: 0x6c757620, 0x1ceb9: 0x6c757820, 0x1ceba: 0x6d394420, 0x1cebb: 0x6d2bfe20,\n\t0x1cebc: 0x6c47d820, 0x1cebd: 0x6d2f7c20, 0x1cebe: 0x6c31e020, 0x1cebf: 0x6c9f8a20,\n\t// Block 0x73b, offset 0x1cec0\n\t0x1cec0: 0x6cb6da20, 0x1cec1: 0x6d1c5620, 0x1cec2: 0x6d20c620, 0x1cec3: 0x6c069220,\n\t0x1cec4: 0x6d2f5e20, 0x1cec5: 0x6d37a820, 0x1cec6: 0x6cae3c20, 0x1cec7: 0x6c50de20,\n\t0x1cec8: 0x6d1c5c20, 0x1cec9: 0x6c50f420, 0x1ceca: 0x6d173820, 0x1cecb: 0x6c0e6020,\n\t0x1cecc: 0x6cecfc20, 0x1cecd: 0x6c50f620, 0x1cece: 0x6c021620, 0x1cecf: 0x6d2de220,\n\t0x1ced0: 0x6d0c8020, 0x1ced1: 0x6c647e20, 0x1ced2: 0x6c510e20, 0x1ced3: 0x6d208820,\n\t0x1ced4: 0x6c7c3a20, 0x1ced5: 0x6c394620, 0x1ced6: 0x6c413220, 0x1ced7: 0x6c2a1220,\n\t0x1ced8: 0x6cac5620, 0x1ced9: 0x6c3f6620, 0x1ceda: 0x6cc06820, 0x1cedb: 0x6cd15e20,\n\t0x1cedc: 0x6c2a1620, 0x1cedd: 0x6c926a20, 0x1cede: 0x6d2df820, 0x1cedf: 0x6c9b2220,\n\t0x1cee0: 0x6c841c20, 0x1cee1: 0x6c6ca220, 0x1cee2: 0x6d071220, 0x1cee3: 0x6c64ca20,\n\t0x1cee4: 0x6cac6a20, 0x1cee5: 0x6c49a620, 0x1cee6: 0x6c014e20, 0x1cee7: 0x6c915c20,\n\t0x1cee8: 0x6d065e20, 0x1cee9: 0x6d38b420, 0x1ceea: 0x6c299620, 0x1ceeb: 0x6c015620,\n\t0x1ceec: 0x6c47e420, 0x1ceed: 0x6c872a20, 0x1ceee: 0x6ca26420, 0x1ceef: 0x6c2f5020,\n\t0x1cef0: 0x6c421020, 0x1cef1: 0x6d057420, 0x1cef2: 0x6c983a20, 0x1cef3: 0x6cee4e20,\n\t0x1cef4: 0x6d344020, 0x1cef5: 0x6cb74a20, 0x1cef6: 0x6d25e020, 0x1cef7: 0x6ce49220,\n\t0x1cef8: 0x6cfd6420, 0x1cef9: 0x6c33ca20, 0x1cefa: 0x6d02ba20, 0x1cefb: 0x6cf86620,\n\t0x1cefc: 0x6cacae20, 0x1cefd: 0x6c3c2820, 0x1cefe: 0x6c33de20, 0x1ceff: 0x6c9f3c20,\n\t// Block 0x73c, offset 0x1cf00\n\t0x1cf00: 0x6c9fee20, 0x1cf01: 0x6cd12c20, 0x1cf02: 0x6cd34420, 0x1cf03: 0x6d278c20,\n\t0x1cf04: 0x6c9e0e20, 0x1cf05: 0x6cac3a20, 0x1cf06: 0x6c39cc20, 0x1cf07: 0x6c9e8a20,\n\t0x1cf08: 0x6c27c220, 0x1cf09: 0x6c99e020, 0x1cf0a: 0x6c995820, 0x1cf0b: 0x6c770420,\n\t0x1cf0c: 0x6cfc9020, 0x1cf0d: 0x6c79ba20, 0x1cf0e: 0x6cd35620, 0x1cf0f: 0x6d0f5420,\n\t0x1cf10: 0x6d32a220, 0x1cf11: 0x6d119c20, 0x1cf12: 0x6ccfce20, 0x1cf13: 0x6c5dae20,\n\t0x1cf14: 0x6c26ec20, 0x1cf15: 0x6d31cc20, 0x1cf16: 0x6c7bee20, 0x1cf17: 0x6c706e20,\n\t0x1cf18: 0x6cd09a20, 0x1cf19: 0x6d14d020, 0x1cf1a: 0x6cd12e20, 0x1cf1b: 0x6c9a8a20,\n\t0x1cf1c: 0x6ca0f420, 0x1cf1d: 0x6d3ad620, 0x1cf1e: 0x6d313c20, 0x1cf1f: 0x6d313e20,\n\t0x1cf20: 0x6c9dbc20, 0x1cf21: 0x6cd35820, 0x1cf22: 0x6d24d620, 0x1cf23: 0x6c2e8a20,\n\t0x1cf24: 0x6ca69020, 0x1cf25: 0x6d3f4620, 0x1cf26: 0x6d3f4820, 0x1cf27: 0x6c179620,\n\t0x1cf28: 0x6d2c7620, 0x1cf29: 0x6d087e20, 0x1cf2a: 0x6c0dda20, 0x1cf2b: 0x6c9cea20,\n\t0x1cf2c: 0x6c8f7e20, 0x1cf2d: 0x6cdbc220, 0x1cf2e: 0x6ce73e20, 0x1cf2f: 0x6c9c3020,\n\t0x1cf30: 0x6c2f3620, 0x1cf31: 0x6c2c4620, 0x1cf32: 0x6ca54c20, 0x1cf33: 0x6c9ff820,\n\t0x1cf34: 0x6d088c20, 0x1cf35: 0x6c1aaa20, 0x1cf36: 0x6c7bf420, 0x1cf37: 0x6c735a20,\n\t0x1cf38: 0x6ca1ce20, 0x1cf39: 0x6d323a20, 0x1cf3a: 0x6ce5d220, 0x1cf3b: 0x6d0fac20,\n\t0x1cf3c: 0x6d0d6c20, 0x1cf3d: 0x6ca10620, 0x1cf3e: 0x6d382620, 0x1cf3f: 0x6ca0f620,\n\t// Block 0x73d, offset 0x1cf40\n\t0x1cf40: 0x6d311220, 0x1cf41: 0x6d32b620, 0x1cf42: 0x6c9a0220, 0x1cf43: 0x6cdd1e20,\n\t0x1cf44: 0x6cceda20, 0x1cf45: 0x6c4ec820, 0x1cf46: 0x6c592820, 0x1cf47: 0x6c2c5c20,\n\t0x1cf48: 0x6c1a7620, 0x1cf49: 0x6c25e020, 0x1cf4a: 0x6c736420, 0x1cf4b: 0x6c356820,\n\t0x1cf4c: 0x6c97bc20, 0x1cf4d: 0x6cfcc420, 0x1cf4e: 0x6cf61e20, 0x1cf4f: 0x6c7dd420,\n\t0x1cf50: 0x6c7f4820, 0x1cf51: 0x6c659820, 0x1cf52: 0x6ccd4e20, 0x1cf53: 0x6ce50420,\n\t0x1cf54: 0x6c4bfc20, 0x1cf55: 0x6ced2c20, 0x1cf56: 0x6c839820, 0x1cf57: 0x6cd39c20,\n\t0x1cf58: 0x6cbf4020, 0x1cf59: 0x6c8b1820, 0x1cf5a: 0x6d0b3020, 0x1cf5b: 0x6c6ec820,\n\t0x1cf5c: 0x6d32d420, 0x1cf5d: 0x6c83ea20, 0x1cf5e: 0x6c7f4a20, 0x1cf5f: 0x6cdc4c20,\n\t0x1cf60: 0x6c737420, 0x1cf61: 0x6cd72820, 0x1cf62: 0x6cdbca20, 0x1cf63: 0x6c317420,\n\t0x1cf64: 0x6c09d420, 0x1cf65: 0x6cb0a620, 0x1cf66: 0x6ca29c20, 0x1cf67: 0x6c5cd420,\n\t0x1cf68: 0x6ca6ae20, 0x1cf69: 0x6c926c20, 0x1cf6a: 0x6d17f220, 0x1cf6b: 0x6c6aec20,\n\t0x1cf6c: 0x6c113620, 0x1cf6d: 0x6d38ea20, 0x1cf6e: 0x6d217220, 0x1cf6f: 0x6c5cd620,\n\t0x1cf70: 0x6c96c620, 0x1cf71: 0x6cfa4420, 0x1cf72: 0x6d040420, 0x1cf73: 0x6c5ada20,\n\t0x1cf74: 0x6c4c0220, 0x1cf75: 0x6d290a20, 0x1cf76: 0x6c218620, 0x1cf77: 0x6c64ba20,\n\t0x1cf78: 0x6c9a9e20, 0x1cf79: 0x6c322620, 0x1cf7a: 0x6c541e20, 0x1cf7b: 0x6d07b420,\n\t0x1cf7c: 0x6ce53c20, 0x1cf7d: 0x6c7c9220, 0x1cf7e: 0x6c42ce20, 0x1cf7f: 0x6cc8da20,\n\t// Block 0x73e, offset 0x1cf80\n\t0x1cf80: 0x6c99a020, 0x1cf81: 0x6d071420, 0x1cf82: 0x6c381e20, 0x1cf83: 0x6cf30820,\n\t0x1cf84: 0x6c9e7820, 0x1cf85: 0x6c1e2e20, 0x1cf86: 0x6c7d0620, 0x1cf87: 0x6c9c3220,\n\t0x1cf88: 0x6cf25e20, 0x1cf89: 0x6c7a0020, 0x1cf8a: 0x6c298420, 0x1cf8b: 0x6c188220,\n\t0x1cf8c: 0x6c782420, 0x1cf8d: 0x6cda2420, 0x1cf8e: 0x6cf97620, 0x1cf8f: 0x6cbf5020,\n\t0x1cf90: 0x6ca15420, 0x1cf91: 0x6ca01620, 0x1cf92: 0x6c977220, 0x1cf93: 0x6cd72c20,\n\t0x1cf94: 0x6d2b0420, 0x1cf95: 0x6d2f4420, 0x1cf96: 0x6d18a620, 0x1cf97: 0x6c2dde20,\n\t0x1cf98: 0x6c79c420, 0x1cf99: 0x6ca15620, 0x1cf9a: 0x6cd75c20, 0x1cf9b: 0x6c235620,\n\t0x1cf9c: 0x6c907820, 0x1cf9d: 0x6c1ad020, 0x1cf9e: 0x6c977820, 0x1cf9f: 0x6cb19a20,\n\t0x1cfa0: 0x6c199420, 0x1cfa1: 0x6c4b1a20, 0x1cfa2: 0x6c9b3a20, 0x1cfa3: 0x6c596c20,\n\t0x1cfa4: 0x6cc8f220, 0x1cfa5: 0x6cb1d420, 0x1cfa6: 0x6cf6f020, 0x1cfa7: 0x6cbc0220,\n\t0x1cfa8: 0x6cb45a20, 0x1cfa9: 0x6d3a8420, 0x1cfaa: 0x6c2aea20, 0x1cfab: 0x6cd07e20,\n\t0x1cfac: 0x6cd76020, 0x1cfad: 0x6c8a7c20, 0x1cfae: 0x6c185020, 0x1cfaf: 0x6cfbac20,\n\t0x1cfb0: 0x6c771220, 0x1cfb1: 0x6d132a20, 0x1cfb2: 0x6d074820, 0x1cfb3: 0x6ce79220,\n\t0x1cfb4: 0x6ca1ea20, 0x1cfb5: 0x6c8be620, 0x1cfb6: 0x6c4b7e20, 0x1cfb7: 0x6c66e020,\n\t0x1cfb8: 0x6d136420, 0x1cfb9: 0x6c00f420, 0x1cfba: 0x6c5c6a20, 0x1cfbb: 0x6d2dac20,\n\t0x1cfbc: 0x6c65f220, 0x1cfbd: 0x6c47e620, 0x1cfbe: 0x6d2fea20, 0x1cfbf: 0x6cc1e420,\n\t// Block 0x73f, offset 0x1cfc0\n\t0x1cfc0: 0x6c9a3420, 0x1cfc1: 0x6c1e3620, 0x1cfc2: 0x6ccb0620, 0x1cfc3: 0x6ca94c20,\n\t0x1cfc4: 0x6d09c020, 0x1cfc5: 0x6d123e20, 0x1cfc6: 0x6c5e1820, 0x1cfc7: 0x6c9b7020,\n\t0x1cfc8: 0x6c9de620, 0x1cfc9: 0x6cb22020, 0x1cfca: 0x6c9de820, 0x1cfcb: 0x6c870220,\n\t0x1cfcc: 0x6c7c1420, 0x1cfcd: 0x6c750020, 0x1cfce: 0x6d07e220, 0x1cfcf: 0x6c9dee20,\n\t0x1cfd0: 0x6c5e4a20, 0x1cfd1: 0x6c919220, 0x1cfd2: 0x6c9b8e20, 0x1cfd3: 0x6c8fe420,\n\t0x1cfd4: 0x6c49bc20, 0x1cfd5: 0x6c97d620, 0x1cfd6: 0x6cf82e20, 0x1cfd7: 0x6c1f9020,\n\t0x1cfd8: 0x6ce19620, 0x1cfd9: 0x6c771c20, 0x1cfda: 0x6d3a9620, 0x1cfdb: 0x6c98c220,\n\t0x1cfdc: 0x6c6c3220, 0x1cfdd: 0x6c8ba620, 0x1cfde: 0x6d234a20, 0x1cfdf: 0x6cd78420,\n\t0x1cfe0: 0x6d2ad220, 0x1cfe1: 0x6c752c20, 0x1cfe2: 0x6cd2a820, 0x1cfe3: 0x6d15c020,\n\t0x1cfe4: 0x6cd04820, 0x1cfe5: 0x6d339c20, 0x1cfe6: 0x6c53f020, 0x1cfe7: 0x6cd04e20,\n\t0x1cfe8: 0x6d1ce020, 0x1cfe9: 0x6c72d420, 0x1cfea: 0x6d387820, 0x1cfeb: 0x6c68e820,\n\t0x1cfec: 0x6c25e220, 0x1cfed: 0x6c32ae20, 0x1cfee: 0x6c006820, 0x1cfef: 0x6c695020,\n\t0x1cff0: 0x6d2b9820, 0x1cff1: 0x6d265c20, 0x1cff2: 0x6c03ce20, 0x1cff3: 0x6cd22c20,\n\t0x1cff4: 0x6c2f9420, 0x1cff5: 0x6cb73a20, 0x1cff6: 0x6c5e8620, 0x1cff7: 0x6d3eee20,\n\t0x1cff8: 0x6c417c20, 0x1cff9: 0x6cf4ba20, 0x1cffa: 0x6d302020, 0x1cffb: 0x6c7a2a20,\n\t0x1cffc: 0x6c426420, 0x1cffd: 0x6cf84c20, 0x1cffe: 0x6c388820, 0x1cfff: 0x6c7be620,\n\t// Block 0x740, offset 0x1d000\n\t0x1d000: 0x6c295820, 0x1d001: 0x6c969220, 0x1d002: 0x6ccbd220, 0x1d003: 0x6c27c420,\n\t0x1d004: 0x6c740220, 0x1d005: 0x6c85ac20, 0x1d006: 0x6c3d4e20, 0x1d007: 0x6c9f3e20,\n\t0x1d008: 0x6c35b020, 0x1d009: 0x6c5da620, 0x1d00a: 0x6c772820, 0x1d00b: 0x6d350620,\n\t0x1d00c: 0x6cb75c20, 0x1d00d: 0x6c76c420, 0x1d00e: 0x6c6bd020, 0x1d00f: 0x6c0d2a20,\n\t0x1d010: 0x6c35e020, 0x1d011: 0x6d0b8820, 0x1d012: 0x6caf4e20, 0x1d013: 0x6d302420,\n\t0x1d014: 0x6d0c7820, 0x1d015: 0x6cdc2a20, 0x1d016: 0x6d3b7820, 0x1d017: 0x6c17d220,\n\t0x1d018: 0x6c33e020, 0x1d019: 0x6cac3c20, 0x1d01a: 0x6d0e4a20, 0x1d01b: 0x6c6d7e20,\n\t0x1d01c: 0x6c3c2a20, 0x1d01d: 0x6c381020, 0x1d01e: 0x6ca0f820, 0x1d01f: 0x6d2c7820,\n\t0x1d020: 0x6c707020, 0x1d021: 0x6d22f620, 0x1d022: 0x6c77f020, 0x1d023: 0x6ceb0a20,\n\t0x1d024: 0x6ceb0c20, 0x1d025: 0x6c2bec20, 0x1d026: 0x6d2d3c20, 0x1d027: 0x6d314220,\n\t0x1d028: 0x6c35fc20, 0x1d029: 0x6c3e3820, 0x1d02a: 0x6ca23e20, 0x1d02b: 0x6d3ad820,\n\t0x1d02c: 0x6c7e5c20, 0x1d02d: 0x6c0aee20, 0x1d02e: 0x6caa5620, 0x1d02f: 0x6cb25220,\n\t0x1d030: 0x6cae6020, 0x1d031: 0x6c8cce20, 0x1d032: 0x6cad8a20, 0x1d033: 0x6c821e20,\n\t0x1d034: 0x6cb37c20, 0x1d035: 0x6c0e6220, 0x1d036: 0x6cb37e20, 0x1d037: 0x6ccfd020,\n\t0x1d038: 0x6d28b020, 0x1d039: 0x6c009820, 0x1d03a: 0x6c85d620, 0x1d03b: 0x6c8f8020,\n\t0x1d03c: 0x6ce73a20, 0x1d03d: 0x6d1e8420, 0x1d03e: 0x6c85d820, 0x1d03f: 0x6c7c2a20,\n\t// Block 0x741, offset 0x1d040\n\t0x1d040: 0x6c1ed820, 0x1d041: 0x6c793620, 0x1d042: 0x6cc2e420, 0x1d043: 0x6d399c20,\n\t0x1d044: 0x6c7b9c20, 0x1d045: 0x6c4a5a20, 0x1d046: 0x6c361420, 0x1d047: 0x6ca4a620,\n\t0x1d048: 0x6cb86420, 0x1d049: 0x6c924420, 0x1d04a: 0x6cefb220, 0x1d04b: 0x6c009a20,\n\t0x1d04c: 0x6c448420, 0x1d04d: 0x6cfcb620, 0x1d04e: 0x6d03e220, 0x1d04f: 0x6d0c8a20,\n\t0x1d050: 0x6c307420, 0x1d051: 0x6cae6c20, 0x1d052: 0x6cf5fc20, 0x1d053: 0x6c81f220,\n\t0x1d054: 0x6c533c20, 0x1d055: 0x6cd78020, 0x1d056: 0x6cf9b020, 0x1d057: 0x6cbb7020,\n\t0x1d058: 0x6cbeea20, 0x1d059: 0x6cef0220, 0x1d05a: 0x6cbbdc20, 0x1d05b: 0x6d176820,\n\t0x1d05c: 0x6c793e20, 0x1d05d: 0x6cfec620, 0x1d05e: 0x6cc3c220, 0x1d05f: 0x6c162a20,\n\t0x1d060: 0x6c80c820, 0x1d061: 0x6c52ac20, 0x1d062: 0x6d213020, 0x1d063: 0x6cfec820,\n\t0x1d064: 0x6cf9c620, 0x1d065: 0x6c988e20, 0x1d066: 0x6c960220, 0x1d067: 0x6d1e3c20,\n\t0x1d068: 0x6c17dc20, 0x1d069: 0x6c182220, 0x1d06a: 0x6cf2f620, 0x1d06b: 0x6c8e5c20,\n\t0x1d06c: 0x6d1d3c20, 0x1d06d: 0x6c985a20, 0x1d06e: 0x6cc3c420, 0x1d06f: 0x6d0e7820,\n\t0x1d070: 0x6ccbf620, 0x1d071: 0x6c7dac20, 0x1d072: 0x6d234c20, 0x1d073: 0x6c1c2420,\n\t0x1d074: 0x6c57de20, 0x1d075: 0x6c91be20, 0x1d076: 0x6c190420, 0x1d077: 0x6c659a20,\n\t0x1d078: 0x6caaa820, 0x1d079: 0x6cd92620, 0x1d07a: 0x6d3d6e20, 0x1d07b: 0x6c794620,\n\t0x1d07c: 0x6caeaa20, 0x1d07d: 0x6d0c1420, 0x1d07e: 0x6d3c9220, 0x1d07f: 0x6c797e20,\n\t// Block 0x742, offset 0x1d080\n\t0x1d080: 0x6c19ec20, 0x1d081: 0x6cb5fc20, 0x1d082: 0x6d402220, 0x1d083: 0x6cbecc20,\n\t0x1d084: 0x6c8bbc20, 0x1d085: 0x6c757420, 0x1d086: 0x6c0e7e20, 0x1d087: 0x6c2fac20,\n\t0x1d088: 0x6c9f6420, 0x1d089: 0x6c2dce20, 0x1d08a: 0x6c64bc20, 0x1d08b: 0x6c51d020,\n\t0x1d08c: 0x6c926e20, 0x1d08d: 0x6c00ac20, 0x1d08e: 0x6cdc4e20, 0x1d08f: 0x6cc3d220,\n\t0x1d090: 0x6c837c20, 0x1d091: 0x6c06b020, 0x1d092: 0x6d1a7420, 0x1d093: 0x6c334c20,\n\t0x1d094: 0x6cf45220, 0x1d095: 0x6cb5fe20, 0x1d096: 0x6c951820, 0x1d097: 0x6ced2e20,\n\t0x1d098: 0x6c2d2020, 0x1d099: 0x6ca4b220, 0x1d09a: 0x6c073420, 0x1d09b: 0x6cb7a420,\n\t0x1d09c: 0x6c190620, 0x1d09d: 0x6cc87020, 0x1d09e: 0x6d0cb620, 0x1d09f: 0x6c2ed220,\n\t0x1d0a0: 0x6c2fb020, 0x1d0a1: 0x6c31a820, 0x1d0a2: 0x6ceb2e20, 0x1d0a3: 0x6c6b0c20,\n\t0x1d0a4: 0x6d1bc620, 0x1d0a5: 0x6c0b4420, 0x1d0a6: 0x6c78c620, 0x1d0a7: 0x6c0a0220,\n\t0x1d0a8: 0x6cf0b020, 0x1d0a9: 0x6cd79220, 0x1d0aa: 0x6d318220, 0x1d0ab: 0x6c32d420,\n\t0x1d0ac: 0x6cf9de20, 0x1d0ad: 0x6c297a20, 0x1d0ae: 0x6ce35420, 0x1d0af: 0x6ca50c20,\n\t0x1d0b0: 0x6caf1420, 0x1d0b1: 0x6c65c420, 0x1d0b2: 0x6c2c8220, 0x1d0b3: 0x6ce0a220,\n\t0x1d0b4: 0x6c13f620, 0x1d0b5: 0x6ce54220, 0x1d0b6: 0x6cb7b420, 0x1d0b7: 0x6c341420,\n\t0x1d0b8: 0x6c3c5e20, 0x1d0b9: 0x6d08a420, 0x1d0ba: 0x6cc3f020, 0x1d0bb: 0x6cc3f220,\n\t0x1d0bc: 0x6c96a020, 0x1d0bd: 0x6c45a620, 0x1d0be: 0x6ca73820, 0x1d0bf: 0x6cdb0820,\n\t// Block 0x743, offset 0x1d0c0\n\t0x1d0c0: 0x6c357820, 0x1d0c1: 0x6c225420, 0x1d0c2: 0x6c8e8820, 0x1d0c3: 0x6cd81a20,\n\t0x1d0c4: 0x6ce12620, 0x1d0c5: 0x6c058820, 0x1d0c6: 0x6c574620, 0x1d0c7: 0x6caf8620,\n\t0x1d0c8: 0x6ceff420, 0x1d0c9: 0x6cca8820, 0x1d0ca: 0x6c82d220, 0x1d0cb: 0x6c25c420,\n\t0x1d0cc: 0x6ce4ba20, 0x1d0cd: 0x6cf9e620, 0x1d0ce: 0x6cf6aa20, 0x1d0cf: 0x6c883e20,\n\t0x1d0d0: 0x6cac7020, 0x1d0d1: 0x6cef3020, 0x1d0d2: 0x6d27fc20, 0x1d0d3: 0x6c330e20,\n\t0x1d0d4: 0x6d307e20, 0x1d0d5: 0x6c782620, 0x1d0d6: 0x6c7e6020, 0x1d0d7: 0x6d3b8c20,\n\t0x1d0d8: 0x6cbed820, 0x1d0d9: 0x6c4be420, 0x1d0da: 0x6d3b9220, 0x1d0db: 0x6c152620,\n\t0x1d0dc: 0x6cb7da20, 0x1d0dd: 0x6c026c20, 0x1d0de: 0x6cae8620, 0x1d0df: 0x6c8f4020,\n\t0x1d0e0: 0x6c91de20, 0x1d0e1: 0x6c771420, 0x1d0e2: 0x6c209a20, 0x1d0e3: 0x6c190e20,\n\t0x1d0e4: 0x6d1afe20, 0x1d0e5: 0x6c82d820, 0x1d0e6: 0x6c0c1e20, 0x1d0e7: 0x6cb7dc20,\n\t0x1d0e8: 0x6ca07c20, 0x1d0e9: 0x6cb7de20, 0x1d0ea: 0x6c24e820, 0x1d0eb: 0x6d3fc220,\n\t0x1d0ec: 0x6cbeda20, 0x1d0ed: 0x6c21da20, 0x1d0ee: 0x6c952a20, 0x1d0ef: 0x6c5f5420,\n\t0x1d0f0: 0x6ccdbe20, 0x1d0f1: 0x6c817c20, 0x1d0f2: 0x6cc1c020, 0x1d0f3: 0x6d2b9a20,\n\t0x1d0f4: 0x6c2aec20, 0x1d0f5: 0x6c66e220, 0x1d0f6: 0x6cf8f220, 0x1d0f7: 0x6c8be820,\n\t0x1d0f8: 0x6c2fbe20, 0x1d0f9: 0x6ce01e20, 0x1d0fa: 0x6c59fc20, 0x1d0fb: 0x6cac7620,\n\t0x1d0fc: 0x6d28ce20, 0x1d0fd: 0x6cbbb820, 0x1d0fe: 0x6c2b4820, 0x1d0ff: 0x6c86aa20,\n\t// Block 0x744, offset 0x1d100\n\t0x1d100: 0x6c673e20, 0x1d101: 0x6c688220, 0x1d102: 0x6cf94a20, 0x1d103: 0x6d2f0e20,\n\t0x1d104: 0x6cbc0420, 0x1d105: 0x6c33b620, 0x1d106: 0x6c65f420, 0x1d107: 0x6d241220,\n\t0x1d108: 0x6d3cb420, 0x1d109: 0x6c518420, 0x1d10a: 0x6c78e020, 0x1d10b: 0x6d2b1420,\n\t0x1d10c: 0x6c826a20, 0x1d10d: 0x6c787220, 0x1d10e: 0x6c1ef620, 0x1d10f: 0x6d137020,\n\t0x1d110: 0x6cc40c20, 0x1d111: 0x6c299a20, 0x1d112: 0x6d161e20, 0x1d113: 0x6c678e20,\n\t0x1d114: 0x6caf9e20, 0x1d115: 0x6cafa020, 0x1d116: 0x6d243020, 0x1d117: 0x6cb1f420,\n\t0x1d118: 0x6c36d020, 0x1d119: 0x6c00fe20, 0x1d11a: 0x6c783e20, 0x1d11b: 0x6c652220,\n\t0x1d11c: 0x6d243220, 0x1d11d: 0x6cc88e20, 0x1d11e: 0x6c9b7220, 0x1d11f: 0x6cada020,\n\t0x1d120: 0x6c227820, 0x1d121: 0x6c0f9020, 0x1d122: 0x6d107c20, 0x1d123: 0x6c96e420,\n\t0x1d124: 0x6c10e620, 0x1d125: 0x6cfbc820, 0x1d126: 0x6c7c1620, 0x1d127: 0x6c828020,\n\t0x1d128: 0x6c82fe20, 0x1d129: 0x6d375420, 0x1d12a: 0x6c870420, 0x1d12b: 0x6c872e20,\n\t0x1d12c: 0x6c38e420, 0x1d12d: 0x6cc41c20, 0x1d12e: 0x6cada620, 0x1d12f: 0x6d1c3020,\n\t0x1d130: 0x6c874a20, 0x1d131: 0x6c8fe620, 0x1d132: 0x6c8fe820, 0x1d133: 0x6ca19620,\n\t0x1d134: 0x6c0fc220, 0x1d135: 0x6cd6b420, 0x1d136: 0x6c49be20, 0x1d137: 0x6c800020,\n\t0x1d138: 0x6d298620, 0x1d139: 0x6d0d1820, 0x1d13a: 0x6cd2f420, 0x1d13b: 0x6cd2e620,\n\t0x1d13c: 0x6c84f420, 0x1d13d: 0x6cc61c20, 0x1d13e: 0x6ccf3620, 0x1d13f: 0x6d268020,\n\t// Block 0x745, offset 0x1d140\n\t0x1d140: 0x6cd88420, 0x1d141: 0x6cb56820, 0x1d142: 0x6cdde220, 0x1d143: 0x6c96b420,\n\t0x1d144: 0x6d016420, 0x1d145: 0x6d109420, 0x1d146: 0x6cfa8020, 0x1d147: 0x6cb58820,\n\t0x1d148: 0x6cb58a20, 0x1d149: 0x6d34f820, 0x1d14a: 0x6c07d820, 0x1d14b: 0x6c333a20,\n\t0x1d14c: 0x6d381820, 0x1d14d: 0x6cc5d620, 0x1d14e: 0x6d13cc20, 0x1d14f: 0x6cd25420,\n\t0x1d150: 0x6d203020, 0x1d151: 0x6d35a820, 0x1d152: 0x6ce57a20, 0x1d153: 0x6c3e1e20,\n\t0x1d154: 0x6c3fc420, 0x1d155: 0x6c9d2e20, 0x1d156: 0x6d411420, 0x1d157: 0x6d33ac20,\n\t0x1d158: 0x6cdb9620, 0x1d159: 0x6c9a8420, 0x1d15a: 0x6d428620, 0x1d15b: 0x6cc0ec20,\n\t0x1d15c: 0x6c567220, 0x1d15d: 0x6d3ac620, 0x1d15e: 0x6cd03a20, 0x1d15f: 0x6cdc3020,\n\t0x1d160: 0x6c223020, 0x1d161: 0x6c147a20, 0x1d162: 0x6c9c3e20, 0x1d163: 0x6c939020,\n\t0x1d164: 0x6d223e20, 0x1d165: 0x6cfdbc20, 0x1d166: 0x6cf3c620, 0x1d167: 0x6ce55620,\n\t0x1d168: 0x6cb1ae20, 0x1d169: 0x6d3ada20, 0x1d16a: 0x6c4aec20, 0x1d16b: 0x6cf9ae20,\n\t0x1d16c: 0x6d33c820, 0x1d16d: 0x6c61f420, 0x1d16e: 0x6c434620, 0x1d16f: 0x6d314420,\n\t0x1d170: 0x6c434820, 0x1d171: 0x6cd71e20, 0x1d172: 0x6c6d0620, 0x1d173: 0x6cd0a020,\n\t0x1d174: 0x6c40f620, 0x1d175: 0x6c7daa20, 0x1d176: 0x6c2c4820, 0x1d177: 0x6c29d820,\n\t0x1d178: 0x6c5dc620, 0x1d179: 0x6ce22820, 0x1d17a: 0x6cb5ee20, 0x1d17b: 0x6c481620,\n\t0x1d17c: 0x6c498a20, 0x1d17d: 0x6d41b420, 0x1d17e: 0x6c8d0820, 0x1d17f: 0x6c925a20,\n\t// Block 0x746, offset 0x1d180\n\t0x1d180: 0x6c0de820, 0x1d181: 0x6c6d1a20, 0x1d182: 0x6c29da20, 0x1d183: 0x6d346620,\n\t0x1d184: 0x6c925820, 0x1d185: 0x6c14f820, 0x1d186: 0x6c06a620, 0x1d187: 0x6d30d820,\n\t0x1d188: 0x6c5aca20, 0x1d189: 0x6d1fd620, 0x1d18a: 0x6cf8a220, 0x1d18b: 0x6d19ee20,\n\t0x1d18c: 0x6d3e5420, 0x1d18d: 0x6c5dd420, 0x1d18e: 0x6d316e20, 0x1d18f: 0x6c3e9c20,\n\t0x1d190: 0x6d262420, 0x1d191: 0x6cf3d020, 0x1d192: 0x6cfc1820, 0x1d193: 0x6d0fca20,\n\t0x1d194: 0x6d33f420, 0x1d195: 0x6d13fc20, 0x1d196: 0x6c9a1220, 0x1d197: 0x6cd7f820,\n\t0x1d198: 0x6c2c6c20, 0x1d199: 0x6c077a20, 0x1d19a: 0x6d3d8220, 0x1d19b: 0x6d318420,\n\t0x1d19c: 0x6d1e5620, 0x1d19d: 0x6c606c20, 0x1d19e: 0x6c435220, 0x1d19f: 0x6ce11a20,\n\t0x1d1a0: 0x6cd80420, 0x1d1a1: 0x6c96d020, 0x1d1a2: 0x6cde7820, 0x1d1a3: 0x6c40b620,\n\t0x1d1a4: 0x6d07bc20, 0x1d1a5: 0x6cb63c20, 0x1d1a6: 0x6d241420, 0x1d1a7: 0x6cf81220,\n\t0x1d1a8: 0x6c5f3a20, 0x1d1a9: 0x6cd8e020, 0x1d1aa: 0x6c152820, 0x1d1ab: 0x6c28b420,\n\t0x1d1ac: 0x6c4b8020, 0x1d1ad: 0x6cdc7820, 0x1d1ae: 0x6c853820, 0x1d1af: 0x6ca9d020,\n\t0x1d1b0: 0x6c9c8a20, 0x1d1b1: 0x6c29f820, 0x1d1b2: 0x6c86d620, 0x1d1b3: 0x6cc4ee20,\n\t0x1d1b4: 0x6d271620, 0x1d1b5: 0x6ce3b420, 0x1d1b6: 0x6d29c220, 0x1d1b7: 0x6c836420,\n\t0x1d1b8: 0x6cc74020, 0x1d1b9: 0x6d222e20, 0x1d1ba: 0x6d20dc20, 0x1d1bb: 0x6c83ae20,\n\t0x1d1bc: 0x6d019820, 0x1d1bd: 0x6cbd7620, 0x1d1be: 0x6c50b220, 0x1d1bf: 0x6ce83c20,\n\t// Block 0x747, offset 0x1d1c0\n\t0x1d1c0: 0x6d052c20, 0x1d1c1: 0x6cd7c620, 0x1d1c2: 0x6cc56c20, 0x1d1c3: 0x6ce83e20,\n\t0x1d1c4: 0x6d3ef020, 0x1d1c5: 0x6c13c820, 0x1d1c6: 0x6c41cc20, 0x1d1c7: 0x6d16cc20,\n\t0x1d1c8: 0x6cfa8220, 0x1d1c9: 0x6c0dc620, 0x1d1ca: 0x6ca6f620, 0x1d1cb: 0x6cbfa620,\n\t0x1d1cc: 0x6cbfa820, 0x1d1cd: 0x6d37e820, 0x1d1ce: 0x6c3bd420, 0x1d1cf: 0x6c502220,\n\t0x1d1d0: 0x6d279020, 0x1d1d1: 0x6c77e620, 0x1d1d2: 0x6c9e8c20, 0x1d1d3: 0x6d33ae20,\n\t0x1d1d4: 0x6c6d9820, 0x1d1d5: 0x6c08c820, 0x1d1d6: 0x6d33b020, 0x1d1d7: 0x6d22e620,\n\t0x1d1d8: 0x6c9d3420, 0x1d1d9: 0x6c7a8a20, 0x1d1da: 0x6c04f420, 0x1d1db: 0x6caf5620,\n\t0x1d1dc: 0x6ca5ce20, 0x1d1dd: 0x6c85da20, 0x1d1de: 0x6d1f1a20, 0x1d1df: 0x6d409a20,\n\t0x1d1e0: 0x6caf5820, 0x1d1e1: 0x6c0edc20, 0x1d1e2: 0x6c8cd020, 0x1d1e3: 0x6ca0fc20,\n\t0x1d1e4: 0x6c1a8020, 0x1d1e5: 0x6ca6fe20, 0x1d1e6: 0x6cbd6620, 0x1d1e7: 0x6d0f5620,\n\t0x1d1e8: 0x6d423220, 0x1d1e9: 0x6d35c420, 0x1d1ea: 0x6d33ca20, 0x1d1eb: 0x6cd52420,\n\t0x1d1ec: 0x6c721a20, 0x1d1ed: 0x6d3ef620, 0x1d1ee: 0x6c5d7220, 0x1d1ef: 0x6c5ea820,\n\t0x1d1f0: 0x6c196220, 0x1d1f1: 0x6ce74220, 0x1d1f2: 0x6d35f820, 0x1d1f3: 0x6c5d7620,\n\t0x1d1f4: 0x6c511220, 0x1d1f5: 0x6d19ce20, 0x1d1f6: 0x6d3e2620, 0x1d1f7: 0x6d35fa20,\n\t0x1d1f8: 0x6c6a0220, 0x1d1f9: 0x6cc59420, 0x1d1fa: 0x6c325020, 0x1d1fb: 0x6d14e820,\n\t0x1d1fc: 0x6d399e20, 0x1d1fd: 0x6c5bb820, 0x1d1fe: 0x6ca9ba20, 0x1d1ff: 0x6c3ff420,\n\t// Block 0x748, offset 0x1d200\n\t0x1d200: 0x6cf62020, 0x1d201: 0x6c77aa20, 0x1d202: 0x6c80ca20, 0x1d203: 0x6c3d7420,\n\t0x1d204: 0x6d0a9020, 0x1d205: 0x6cd72020, 0x1d206: 0x6c939420, 0x1d207: 0x6c7dae20,\n\t0x1d208: 0x6c41da20, 0x1d209: 0x6c6db820, 0x1d20a: 0x6ce32e20, 0x1d20b: 0x6c1a0c20,\n\t0x1d20c: 0x6ce8b420, 0x1d20d: 0x6cce7020, 0x1d20e: 0x6cd72220, 0x1d20f: 0x6d0bc020,\n\t0x1d210: 0x6c951a20, 0x1d211: 0x6c927020, 0x1d212: 0x6c481c20, 0x1d213: 0x6d424420,\n\t0x1d214: 0x6cc59a20, 0x1d215: 0x6d3ce620, 0x1d216: 0x6c057c20, 0x1d217: 0x6c044a20,\n\t0x1d218: 0x6c5eec20, 0x1d219: 0x6d33f620, 0x1d21a: 0x6d366020, 0x1d21b: 0x6c7db420,\n\t0x1d21c: 0x6c837e20, 0x1d21d: 0x6caeac20, 0x1d21e: 0x6c780a20, 0x1d21f: 0x6c0dea20,\n\t0x1d220: 0x6c1dbe20, 0x1d221: 0x6d41b620, 0x1d222: 0x6d237420, 0x1d223: 0x6cda5220,\n\t0x1d224: 0x6c94ae20, 0x1d225: 0x6cfd8020, 0x1d226: 0x6d140620, 0x1d227: 0x6cf8b620,\n\t0x1d228: 0x6c0b4620, 0x1d229: 0x6c624820, 0x1d22a: 0x6c3ec420, 0x1d22b: 0x6cb0b020,\n\t0x1d22c: 0x6cab0820, 0x1d22d: 0x6c6a2c20, 0x1d22e: 0x6d380420, 0x1d22f: 0x6d3fa820,\n\t0x1d230: 0x6d064e20, 0x1d231: 0x6c197e20, 0x1d232: 0x6c2a2220, 0x1d233: 0x6cf1e820,\n\t0x1d234: 0x6cfb8220, 0x1d235: 0x6d3e6820, 0x1d236: 0x6d23c820, 0x1d237: 0x6c626420,\n\t0x1d238: 0x6d072e20, 0x1d239: 0x6d31f420, 0x1d23a: 0x6d36b820, 0x1d23b: 0x6c2a2a20,\n\t0x1d23c: 0x6c645420, 0x1d23d: 0x6c5f1820, 0x1d23e: 0x6c431820, 0x1d23f: 0x6c431a20,\n\t// Block 0x749, offset 0x1d240\n\t0x1d240: 0x6c47c420, 0x1d241: 0x6cc6a020, 0x1d242: 0x6cdc6020, 0x1d243: 0x6cc73c20,\n\t0x1d244: 0x6c627a20, 0x1d245: 0x6c775220, 0x1d246: 0x6ca2ac20, 0x1d247: 0x6c11dc20,\n\t0x1d248: 0x6c9a2620, 0x1d249: 0x6d370c20, 0x1d24a: 0x6c624a20, 0x1d24b: 0x6c92d620,\n\t0x1d24c: 0x6cda5a20, 0x1d24d: 0x6c5f3c20, 0x1d24e: 0x6d1d0c20, 0x1d24f: 0x6cf1f020,\n\t0x1d250: 0x6cbfc420, 0x1d251: 0x6ccb6020, 0x1d252: 0x6c51e620, 0x1d253: 0x6d18aa20,\n\t0x1d254: 0x6c59fe20, 0x1d255: 0x6cbce620, 0x1d256: 0x6c615620, 0x1d257: 0x6cdc8820,\n\t0x1d258: 0x6cff2020, 0x1d259: 0x6cb45e20, 0x1d25a: 0x6c688420, 0x1d25b: 0x6d3d0c20,\n\t0x1d25c: 0x6d380c20, 0x1d25d: 0x6d41e620, 0x1d25e: 0x6c93ba20, 0x1d25f: 0x6cdc8c20,\n\t0x1d260: 0x6ca9d420, 0x1d261: 0x6ccb7820, 0x1d262: 0x6c5c6c20, 0x1d263: 0x6cc4de20,\n\t0x1d264: 0x6cab1e20, 0x1d265: 0x6d243420, 0x1d266: 0x6cb1f820, 0x1d267: 0x6c62bc20,\n\t0x1d268: 0x6ce9ce20, 0x1d269: 0x6cf1f420, 0x1d26a: 0x6c199e20, 0x1d26b: 0x6c5e1a20,\n\t0x1d26c: 0x6c7c1820, 0x1d26d: 0x6c93c020, 0x1d26e: 0x6c0c4c20, 0x1d26f: 0x6ccba820,\n\t0x1d270: 0x6cc4f420, 0x1d271: 0x6d3d1620, 0x1d272: 0x6c84d420, 0x1d273: 0x6c24aa20,\n\t0x1d274: 0x6d08f220, 0x1d275: 0x6cebc420, 0x1d276: 0x6c6f5620, 0x1d277: 0x6cbefa20,\n\t0x1d278: 0x6cf59020, 0x1d279: 0x6cbefe20, 0x1d27a: 0x6c796820, 0x1d27b: 0x6d207a20,\n\t0x1d27c: 0x6ccfc020, 0x1d27d: 0x6c6e1a20, 0x1d27e: 0x6d11f220, 0x1d27f: 0x6c1fe020,\n\t// Block 0x74a, offset 0x1d280\n\t0x1d280: 0x6d3cce20, 0x1d281: 0x6ce84420, 0x1d282: 0x6c814620, 0x1d283: 0x6cbca020,\n\t0x1d284: 0x6d2d2820, 0x1d285: 0x6d11a020, 0x1d286: 0x6c0b3020, 0x1d287: 0x6c05c420,\n\t0x1d288: 0x6d11a220, 0x1d289: 0x6c0ddc20, 0x1d28a: 0x6cebd420, 0x1d28b: 0x6d3a0820,\n\t0x1d28c: 0x6c699020, 0x1d28d: 0x6cbc3a20, 0x1d28e: 0x6c2e1020, 0x1d28f: 0x6cf36620,\n\t0x1d290: 0x6c4a5e20, 0x1d291: 0x6d10ea20, 0x1d292: 0x6d35fc20, 0x1d293: 0x6c205020,\n\t0x1d294: 0x6d120220, 0x1d295: 0x6ce5c220, 0x1d296: 0x6c69a020, 0x1d297: 0x6c205220,\n\t0x1d298: 0x6c6f1220, 0x1d299: 0x6cfeca20, 0x1d29a: 0x6c19f020, 0x1d29b: 0x6c79ec20,\n\t0x1d29c: 0x6c24ac20, 0x1d29d: 0x6cf29420, 0x1d29e: 0x6c289420, 0x1d29f: 0x6c7a4a20,\n\t0x1d2a0: 0x6c780c20, 0x1d2a1: 0x6d3d7020, 0x1d2a2: 0x6d05b420, 0x1d2a3: 0x6cda5420,\n\t0x1d2a4: 0x6c491c20, 0x1d2a5: 0x6c7c3e20, 0x1d2a6: 0x6c312420, 0x1d2a7: 0x6d3dfa20,\n\t0x1d2a8: 0x6d09a020, 0x1d2a9: 0x6cf29620, 0x1d2aa: 0x6cebea20, 0x1d2ab: 0x6d0bc620,\n\t0x1d2ac: 0x6d217820, 0x1d2ad: 0x6c726a20, 0x1d2ae: 0x6cbf5220, 0x1d2af: 0x6d113a20,\n\t0x1d2b0: 0x6d113c20, 0x1d2b1: 0x6ce5cc20, 0x1d2b2: 0x6c177820, 0x1d2b3: 0x6d228020,\n\t0x1d2b4: 0x6ce4bc20, 0x1d2b5: 0x6c2e3e20, 0x1d2b6: 0x6c729220, 0x1d2b7: 0x6c8aa820,\n\t0x1d2b8: 0x6cf6ce20, 0x1d2b9: 0x6cf52220, 0x1d2ba: 0x6c7c4420, 0x1d2bb: 0x6c206220,\n\t0x1d2bc: 0x6d2f7220, 0x1d2bd: 0x6c7b7c20, 0x1d2be: 0x6c7b7420, 0x1d2bf: 0x6c907420,\n\t// Block 0x74b, offset 0x1d2c0\n\t0x1d2c0: 0x6c199c20, 0x1d2c1: 0x6c256c20, 0x1d2c2: 0x6cb18420, 0x1d2c3: 0x6d2a9420,\n\t0x1d2c4: 0x6c24ba20, 0x1d2c5: 0x6cbc6820, 0x1d2c6: 0x6cbf7820, 0x1d2c7: 0x6c314c20,\n\t0x1d2c8: 0x6d2a9e20, 0x1d2c9: 0x6c904620, 0x1d2ca: 0x6cbd0a20, 0x1d2cb: 0x6c856c20,\n\t0x1d2cc: 0x6c1f0a20, 0x1d2cd: 0x6cd40c20, 0x1d2ce: 0x6c3fb820, 0x1d2cf: 0x6cba9220,\n\t0x1d2d0: 0x6c1f1c20, 0x1d2d1: 0x6c531820, 0x1d2d2: 0x6cb59820, 0x1d2d3: 0x6c508620,\n\t0x1d2d4: 0x6cd18420, 0x1d2d5: 0x6c3c0820, 0x1d2d6: 0x6cd5b220, 0x1d2d7: 0x6c9eb020,\n\t0x1d2d8: 0x6cc24020, 0x1d2d9: 0x6d2e5220, 0x1d2da: 0x6d3adc20, 0x1d2db: 0x6c8cd420,\n\t0x1d2dc: 0x6c8f8220, 0x1d2dd: 0x6c0e1620, 0x1d2de: 0x6c6e6a20, 0x1d2df: 0x6c6e7e20,\n\t0x1d2e0: 0x6d2eb620, 0x1d2e1: 0x6c046620, 0x1d2e2: 0x6cd8c220, 0x1d2e3: 0x6c75c020,\n\t0x1d2e4: 0x6c534e20, 0x1d2e5: 0x6ce74a20, 0x1d2e6: 0x6cd95a20, 0x1d2e7: 0x6c6e8820,\n\t0x1d2e8: 0x6c2e2e20, 0x1d2e9: 0x6d17f820, 0x1d2ea: 0x6cd5e820, 0x1d2eb: 0x6c6e7820,\n\t0x1d2ec: 0x6cc24c20, 0x1d2ed: 0x6c6b1020, 0x1d2ee: 0x6cb26020, 0x1d2ef: 0x6c329e20,\n\t0x1d2f0: 0x6ccea620, 0x1d2f1: 0x6d3bac20, 0x1d2f2: 0x6c136220, 0x1d2f3: 0x6c2ab020,\n\t0x1d2f4: 0x6c259e20, 0x1d2f5: 0x6cec5a20, 0x1d2f6: 0x6c6ec020, 0x1d2f7: 0x6c76fa20,\n\t0x1d2f8: 0x6c6ec420, 0x1d2f9: 0x6d39f020, 0x1d2fa: 0x6d39f620, 0x1d2fb: 0x6c821a20,\n\t0x1d2fc: 0x6cae9220, 0x1d2fd: 0x6d20e020, 0x1d2fe: 0x6c1b0e20, 0x1d2ff: 0x6c418820,\n\t// Block 0x74c, offset 0x1d300\n\t0x1d300: 0x6c984220, 0x1d301: 0x6d39fe20, 0x1d302: 0x6cedb820, 0x1d303: 0x6c321220,\n\t0x1d304: 0x6c5eac20, 0x1d305: 0x6cff7420, 0x1d306: 0x6c03f020, 0x1d307: 0x6cdb9820,\n\t0x1d308: 0x6c5ffc20, 0x1d309: 0x6cbdce20, 0x1d30a: 0x6d2faa20, 0x1d30b: 0x6cdce820,\n\t0x1d30c: 0x6d0b2020, 0x1d30d: 0x6d3c7e20, 0x1d30e: 0x6d255220, 0x1d30f: 0x6c568420,\n\t0x1d310: 0x6c4f6820, 0x1d311: 0x6cffe220, 0x1d312: 0x6c132e20, 0x1d313: 0x6c096c20,\n\t0x1d314: 0x6c08d020, 0x1d315: 0x6c658020, 0x1d316: 0x6d15de20, 0x1d317: 0x6c2ffc20,\n\t0x1d318: 0x6ccce220, 0x1d319: 0x6cd0fe20, 0x1d31a: 0x6c264820, 0x1d31b: 0x6c2b6c20,\n\t0x1d31c: 0x6d3a0e20, 0x1d31d: 0x6ca33420, 0x1d31e: 0x6c1aac20, 0x1d31f: 0x6c470620,\n\t0x1d320: 0x6c85f620, 0x1d321: 0x6cbcba20, 0x1d322: 0x6c9faa20, 0x1d323: 0x6c05ae20,\n\t0x1d324: 0x6ce58220, 0x1d325: 0x6cd8b620, 0x1d326: 0x6c3e5820, 0x1d327: 0x6c12de20,\n\t0x1d328: 0x6c07b420, 0x1d329: 0x6cae1a20, 0x1d32a: 0x6c26a020, 0x1d32b: 0x6d3f0620,\n\t0x1d32c: 0x6c2c4a20, 0x1d32d: 0x6c8cee20, 0x1d32e: 0x6d2ac420, 0x1d32f: 0x6caa4220,\n\t0x1d330: 0x6c3e5a20, 0x1d331: 0x6c467e20, 0x1d332: 0x6c389620, 0x1d333: 0x6c634e20,\n\t0x1d334: 0x6c41d820, 0x1d335: 0x6c394820, 0x1d336: 0x6cd2cc20, 0x1d337: 0x6c993820,\n\t0x1d338: 0x6cb35620, 0x1d339: 0x6ce45020, 0x1d33a: 0x6c648a20, 0x1d33b: 0x6cbf1820,\n\t0x1d33c: 0x6c8f8a20, 0x1d33d: 0x6c9fe420, 0x1d33e: 0x6c0af020, 0x1d33f: 0x6c960420,\n\t// Block 0x74d, offset 0x1d340\n\t0x1d340: 0x6c4b4c20, 0x1d341: 0x6cc10c20, 0x1d342: 0x6c1b2620, 0x1d343: 0x6d19e220,\n\t0x1d344: 0x6d120820, 0x1d345: 0x6cfc0e20, 0x1d346: 0x6c08e220, 0x1d347: 0x6cbf1a20,\n\t0x1d348: 0x6c7dfa20, 0x1d349: 0x6c2acc20, 0x1d34a: 0x6cff8c20, 0x1d34b: 0x6c6c4620,\n\t0x1d34c: 0x6cc2f420, 0x1d34d: 0x6cdcec20, 0x1d34e: 0x6cc7ae20, 0x1d34f: 0x6c381420,\n\t0x1d350: 0x6c7b9e20, 0x1d351: 0x6d3af620, 0x1d352: 0x6ce7b820, 0x1d353: 0x6c5ed820,\n\t0x1d354: 0x6c26a820, 0x1d355: 0x6c4f7a20, 0x1d356: 0x6c12ee20, 0x1d357: 0x6d383020,\n\t0x1d358: 0x6c79ee20, 0x1d359: 0x6c7f0e20, 0x1d35a: 0x6c09a820, 0x1d35b: 0x6ccc8a20,\n\t0x1d35c: 0x6c28fe20, 0x1d35d: 0x6d32c820, 0x1d35e: 0x6c12fa20, 0x1d35f: 0x6c3d7e20,\n\t0x1d360: 0x6d27b420, 0x1d361: 0x6ce8c620, 0x1d362: 0x6cabd820, 0x1d363: 0x6c83ec20,\n\t0x1d364: 0x6c80d020, 0x1d365: 0x6c71ba20, 0x1d366: 0x6c495820, 0x1d367: 0x6c65b020,\n\t0x1d368: 0x6c4e1e20, 0x1d369: 0x6ce75620, 0x1d36a: 0x6cf9d620, 0x1d36b: 0x6d366220,\n\t0x1d36c: 0x6c1a0e20, 0x1d36d: 0x6cdb9a20, 0x1d36e: 0x6cd39e20, 0x1d36f: 0x6d3b0c20,\n\t0x1d370: 0x6d424620, 0x1d371: 0x6cffb020, 0x1d372: 0x6cce7620, 0x1d373: 0x6ce67620,\n\t0x1d374: 0x6c12fc20, 0x1d375: 0x6d0c9e20, 0x1d376: 0x6c435020, 0x1d377: 0x6c7b2c20,\n\t0x1d378: 0x6c41a020, 0x1d379: 0x6c1dc020, 0x1d37a: 0x6c7c2e20, 0x1d37b: 0x6c42aa20,\n\t0x1d37c: 0x6d27b620, 0x1d37d: 0x6cab2a20, 0x1d37e: 0x6cb8f420, 0x1d37f: 0x6cffb220,\n\t// Block 0x74e, offset 0x1d380\n\t0x1d380: 0x6c65b220, 0x1d381: 0x6cb3de20, 0x1d382: 0x6c7f1c20, 0x1d383: 0x6d405c20,\n\t0x1d384: 0x6c08ec20, 0x1d385: 0x6c0a0420, 0x1d386: 0x6c0a0620, 0x1d387: 0x6c448c20,\n\t0x1d388: 0x6cdf3020, 0x1d389: 0x6c48e020, 0x1d38a: 0x6d209420, 0x1d38b: 0x6c64cc20,\n\t0x1d38c: 0x6c2a2420, 0x1d38d: 0x6c472420, 0x1d38e: 0x6c1b4420, 0x1d38f: 0x6d32e220,\n\t0x1d390: 0x6cbed220, 0x1d391: 0x6ccc6820, 0x1d392: 0x6d38ec20, 0x1d393: 0x6c928e20,\n\t0x1d394: 0x6c0f3020, 0x1d395: 0x6c5f0a20, 0x1d396: 0x6c8bc420, 0x1d397: 0x6cdb9e20,\n\t0x1d398: 0x6c75d420, 0x1d399: 0x6c3ec820, 0x1d39a: 0x6d2c4220, 0x1d39b: 0x6c472620,\n\t0x1d39c: 0x6c798620, 0x1d39d: 0x6cb9b220, 0x1d39e: 0x6cb90a20, 0x1d39f: 0x6c75d620,\n\t0x1d3a0: 0x6c20dc20, 0x1d3a1: 0x6c495a20, 0x1d3a2: 0x6d250420, 0x1d3a3: 0x6c130820,\n\t0x1d3a4: 0x6d40cc20, 0x1d3a5: 0x6c0fe620, 0x1d3a6: 0x6d2ae420, 0x1d3a7: 0x6cbcd620,\n\t0x1d3a8: 0x6cebb020, 0x1d3a9: 0x6c954e20, 0x1d3aa: 0x6c27ec20, 0x1d3ab: 0x6cfef420,\n\t0x1d3ac: 0x6cc92620, 0x1d3ad: 0x6c66ba20, 0x1d3ae: 0x6d07c020, 0x1d3af: 0x6c0b0020,\n\t0x1d3b0: 0x6cdcfc20, 0x1d3b1: 0x6cfd8620, 0x1d3b2: 0x6cfc2420, 0x1d3b3: 0x6cb2c620,\n\t0x1d3b4: 0x6d318c20, 0x1d3b5: 0x6d039420, 0x1d3b6: 0x6c559420, 0x1d3b7: 0x6d154a20,\n\t0x1d3b8: 0x6d3b1420, 0x1d3b9: 0x6d265820, 0x1d3ba: 0x6c211020, 0x1d3bb: 0x6c93f620,\n\t0x1d3bc: 0x6cf37e20, 0x1d3bd: 0x6c303820, 0x1d3be: 0x6cd79a20, 0x1d3bf: 0x6c609020,\n\t// Block 0x74f, offset 0x1d3c0\n\t0x1d3c0: 0x6c6af220, 0x1d3c1: 0x6c59ee20, 0x1d3c2: 0x6d039620, 0x1d3c3: 0x6c9aa820,\n\t0x1d3c4: 0x6c396a20, 0x1d3c5: 0x6c200a20, 0x1d3c6: 0x6d3bde20, 0x1d3c7: 0x6cb0fc20,\n\t0x1d3c8: 0x6c3c6220, 0x1d3c9: 0x6d3a2820, 0x1d3ca: 0x6c59f020, 0x1d3cb: 0x6cbce020,\n\t0x1d3cc: 0x6c542420, 0x1d3cd: 0x6cbfbe20, 0x1d3ce: 0x6c9e9a20, 0x1d3cf: 0x6cba7620,\n\t0x1d3d0: 0x6c483c20, 0x1d3d1: 0x6c7d1020, 0x1d3d2: 0x6cd41c20, 0x1d3d3: 0x6c90f420,\n\t0x1d3d4: 0x6d27c820, 0x1d3d5: 0x6c517020, 0x1d3d6: 0x6ce13420, 0x1d3d7: 0x6d26ee20,\n\t0x1d3d8: 0x6c1d7e20, 0x1d3d9: 0x6c42de20, 0x1d3da: 0x6c3a7020, 0x1d3db: 0x6cc92e20,\n\t0x1d3dc: 0x6d32f420, 0x1d3dd: 0x6c465e20, 0x1d3de: 0x6ca87220, 0x1d3df: 0x6cba7e20,\n\t0x1d3e0: 0x6cffbc20, 0x1d3e1: 0x6c24b420, 0x1d3e2: 0x6c903820, 0x1d3e3: 0x6caec620,\n\t0x1d3e4: 0x6c322e20, 0x1d3e5: 0x6c867e20, 0x1d3e6: 0x6c0a5420, 0x1d3e7: 0x6d3d9e20,\n\t0x1d3e8: 0x6c1ea820, 0x1d3e9: 0x6ccc9020, 0x1d3ea: 0x6c1b5220, 0x1d3eb: 0x6d3b2c20,\n\t0x1d3ec: 0x6cbada20, 0x1d3ed: 0x6c8fae20, 0x1d3ee: 0x6c7fb620, 0x1d3ef: 0x6c64fa20,\n\t0x1d3f0: 0x6c10ba20, 0x1d3f1: 0x6c844220, 0x1d3f2: 0x6c5c5820, 0x1d3f3: 0x6c0a5620,\n\t0x1d3f4: 0x6c2b9020, 0x1d3f5: 0x6c236420, 0x1d3f6: 0x6d0c3620, 0x1d3f7: 0x6caf2020,\n\t0x1d3f8: 0x6c11e020, 0x1d3f9: 0x6d3be620, 0x1d3fa: 0x6cb02220, 0x1d3fb: 0x6cb19e20,\n\t0x1d3fc: 0x6c30c820, 0x1d3fd: 0x6d243620, 0x1d3fe: 0x6c9ef820, 0x1d3ff: 0x6ce96020,\n\t// Block 0x750, offset 0x1d400\n\t0x1d400: 0x6d2b1020, 0x1d401: 0x6ccc9220, 0x1d402: 0x6c4b8420, 0x1d403: 0x6d156e20,\n\t0x1d404: 0x6c56cc20, 0x1d405: 0x6c15e620, 0x1d406: 0x6c7a0820, 0x1d407: 0x6c246820,\n\t0x1d408: 0x6cb2d620, 0x1d409: 0x6d2a9020, 0x1d40a: 0x6c5f5620, 0x1d40b: 0x6c4b1c20,\n\t0x1d40c: 0x6cdb3820, 0x1d40d: 0x6c90fc20, 0x1d40e: 0x6c131a20, 0x1d40f: 0x6c92e820,\n\t0x1d410: 0x6ca73e20, 0x1d411: 0x6cdd3820, 0x1d412: 0x6c24b620, 0x1d413: 0x6c2e5420,\n\t0x1d414: 0x6cdd4020, 0x1d415: 0x6c822a20, 0x1d416: 0x6c32dc20, 0x1d417: 0x6c89d020,\n\t0x1d418: 0x6cff2220, 0x1d419: 0x6c0f9420, 0x1d41a: 0x6c9da020, 0x1d41b: 0x6ccc9420,\n\t0x1d41c: 0x6c299c20, 0x1d41d: 0x6c8a3620, 0x1d41e: 0x6c280c20, 0x1d41f: 0x6c2d8e20,\n\t0x1d420: 0x6c3f9020, 0x1d421: 0x6c65f820, 0x1d422: 0x6c9fd020, 0x1d423: 0x6c7d2820,\n\t0x1d424: 0x6c27a020, 0x1d425: 0x6c689820, 0x1d426: 0x6c2ab620, 0x1d427: 0x6c5a0c20,\n\t0x1d428: 0x6cdd0020, 0x1d429: 0x6c818220, 0x1d42a: 0x6d295220, 0x1d42b: 0x6cff3c20,\n\t0x1d42c: 0x6c931e20, 0x1d42d: 0x6cd3f620, 0x1d42e: 0x6d295420, 0x1d42f: 0x6cb81c20,\n\t0x1d430: 0x6cac0a20, 0x1d431: 0x6cb81e20, 0x1d432: 0x6cac0c20, 0x1d433: 0x6c41f620,\n\t0x1d434: 0x6c72b220, 0x1d435: 0x6c328a20, 0x1d436: 0x6c930620, 0x1d437: 0x6d0cf220,\n\t0x1d438: 0x6c0fea20, 0x1d439: 0x6c291820, 0x1d43a: 0x6cc9ec20, 0x1d43b: 0x6d3b5e20,\n\t0x1d43c: 0x6c8fca20, 0x1d43d: 0x6cb94020, 0x1d43e: 0x6c888420, 0x1d43f: 0x6c10cc20,\n\t// Block 0x751, offset 0x1d440\n\t0x1d440: 0x6d396220, 0x1d441: 0x6c7f6e20, 0x1d442: 0x6cd42020, 0x1d443: 0x6c7fec20,\n\t0x1d444: 0x6c7d3420, 0x1d445: 0x6d21d620, 0x1d446: 0x6d270420, 0x1d447: 0x6c500020,\n\t0x1d448: 0x6d31a220, 0x1d449: 0x6cdf5020, 0x1d44a: 0x6ce43e20, 0x1d44b: 0x6ca8a420,\n\t0x1d44c: 0x6c1e0420, 0x1d44d: 0x6c60ec20, 0x1d44e: 0x6d199820, 0x1d44f: 0x6cb82020,\n\t0x1d450: 0x6ce2ca20, 0x1d451: 0x6d3c0020, 0x1d452: 0x6d396820, 0x1d453: 0x6c387020,\n\t0x1d454: 0x6cda3c20, 0x1d455: 0x6d396620, 0x1d456: 0x6cba9820, 0x1d457: 0x6d3de020,\n\t0x1d458: 0x6ce2d420, 0x1d459: 0x6c933a20, 0x1d45a: 0x6c919420, 0x1d45b: 0x6c662a20,\n\t0x1d45c: 0x6cebbe20, 0x1d45d: 0x6d1cd420, 0x1d45e: 0x6d248620, 0x1d45f: 0x6c7f7e20,\n\t0x1d460: 0x6c8ff420, 0x1d461: 0x6cbd1620, 0x1d462: 0x6c88a220, 0x1d463: 0x6c800a20,\n\t0x1d464: 0x6cb95c20, 0x1d465: 0x6d272020, 0x1d466: 0x6d37e420, 0x1d467: 0x6cc20e20,\n\t0x1d468: 0x6c88a420, 0x1d469: 0x6c0b2820, 0x1d46a: 0x6c32ea20, 0x1d46b: 0x6d415a20,\n\t0x1d46c: 0x6c84d620, 0x1d46d: 0x6cd86220, 0x1d46e: 0x6c958e20, 0x1d46f: 0x6d1cde20,\n\t0x1d470: 0x6d273820, 0x1d471: 0x6d3df220, 0x1d472: 0x6d24ae20, 0x1d473: 0x6c9cd620,\n\t0x1d474: 0x6c2b5820, 0x1d475: 0x6c388a20, 0x1d476: 0x6ccfb020, 0x1d477: 0x6d302820,\n\t0x1d478: 0x6ccfc220, 0x1d479: 0x6caa7220, 0x1d47a: 0x6c50e220, 0x1d47b: 0x6c832420,\n\t0x1d47c: 0x6cfa8e20, 0x1d47d: 0x6d3efa20, 0x1d47e: 0x6ca5c620, 0x1d47f: 0x6c25b420,\n\t// Block 0x752, offset 0x1d480\n\t0x1d480: 0x6d2f4620, 0x1d481: 0x6cb8c020, 0x1d482: 0x6d2d5a20, 0x1d483: 0x6c08d220,\n\t0x1d484: 0x6c04c620, 0x1d485: 0x6cf4d820, 0x1d486: 0x6ccbde20, 0x1d487: 0x6c772a20,\n\t0x1d488: 0x6cc77620, 0x1d489: 0x6c3bba20, 0x1d48a: 0x6c096e20, 0x1d48b: 0x6c252620,\n\t0x1d48c: 0x6d1b9a20, 0x1d48d: 0x6d304020, 0x1d48e: 0x6c1b9020, 0x1d48f: 0x6cdf8620,\n\t0x1d490: 0x6c56fa20, 0x1d491: 0x6c033c20, 0x1d492: 0x6c85f820, 0x1d493: 0x6c419620,\n\t0x1d494: 0x6c722e20, 0x1d495: 0x6cb38420, 0x1d496: 0x6ca10c20, 0x1d497: 0x6c241020,\n\t0x1d498: 0x6d2d6e20, 0x1d499: 0x6d392220, 0x1d49a: 0x6c83c620, 0x1d49b: 0x6cdaac20,\n\t0x1d49c: 0x6ce5d620, 0x1d49d: 0x6c85fa20, 0x1d49e: 0x6cf62220, 0x1d49f: 0x6cdab620,\n\t0x1d4a0: 0x6c535020, 0x1d4a1: 0x6ce74c20, 0x1d4a2: 0x6d3e4420, 0x1d4a3: 0x6c12e020,\n\t0x1d4a4: 0x6d26bc20, 0x1d4a5: 0x6d388620, 0x1d4a6: 0x6c8bb820, 0x1d4a7: 0x6d3c1a20,\n\t0x1d4a8: 0x6c042220, 0x1d4a9: 0x6c81f620, 0x1d4aa: 0x6c3bda20, 0x1d4ab: 0x6c375820,\n\t0x1d4ac: 0x6cc10e20, 0x1d4ad: 0x6c521620, 0x1d4ae: 0x6c895a20, 0x1d4af: 0x6cfcd820,\n\t0x1d4b0: 0x6c3ea020, 0x1d4b1: 0x6c895c20, 0x1d4b2: 0x6c11fa20, 0x1d4b3: 0x6c6dc220,\n\t0x1d4b4: 0x6c851c20, 0x1d4b5: 0x6d26c620, 0x1d4b6: 0x6c929020, 0x1d4b7: 0x6c714020,\n\t0x1d4b8: 0x6cb61e20, 0x1d4b9: 0x6c254e20, 0x1d4ba: 0x6c045220, 0x1d4bb: 0x6d2ece20,\n\t0x1d4bc: 0x6c8bc620, 0x1d4bd: 0x6d402620, 0x1d4be: 0x6c6dcc20, 0x1d4bf: 0x6c4cc420,\n\t// Block 0x753, offset 0x1d4c0\n\t0x1d4c0: 0x6c57e020, 0x1d4c1: 0x6cca2220, 0x1d4c2: 0x6cca2620, 0x1d4c3: 0x6ce12a20,\n\t0x1d4c4: 0x6c0b4c20, 0x1d4c5: 0x6cc75c20, 0x1d4c6: 0x6c9e5c20, 0x1d4c7: 0x6c542620,\n\t0x1d4c8: 0x6d065220, 0x1d4c9: 0x6d402a20, 0x1d4ca: 0x6c56fe20, 0x1d4cb: 0x6c66be20,\n\t0x1d4cc: 0x6d294e20, 0x1d4cd: 0x6c225e20, 0x1d4ce: 0x6c843020, 0x1d4cf: 0x6d021a20,\n\t0x1d4d0: 0x6c3da020, 0x1d4d1: 0x6cab1220, 0x1d4d2: 0x6c076020, 0x1d4d3: 0x6c47d020,\n\t0x1d4d4: 0x6d052820, 0x1d4d5: 0x6c42e020, 0x1d4d6: 0x6ce13620, 0x1d4d7: 0x6cc0b220,\n\t0x1d4d8: 0x6c645620, 0x1d4d9: 0x6c126a20, 0x1d4da: 0x6d3c2420, 0x1d4db: 0x6ce14020,\n\t0x1d4dc: 0x6c9c7c20, 0x1d4dd: 0x6cca2c20, 0x1d4de: 0x6c3bf420, 0x1d4df: 0x6d2a2620,\n\t0x1d4e0: 0x6c775620, 0x1d4e1: 0x6c67fe20, 0x1d4e2: 0x6ca07e20, 0x1d4e3: 0x6cca3020,\n\t0x1d4e4: 0x6cca3220, 0x1d4e5: 0x6cab1c20, 0x1d4e6: 0x6cf70820, 0x1d4e7: 0x6c897420,\n\t0x1d4e8: 0x6c680820, 0x1d4e9: 0x6c7b4620, 0x1d4ea: 0x6c0ffa20, 0x1d4eb: 0x6c58b620,\n\t0x1d4ec: 0x6cd63620, 0x1d4ed: 0x6d403e20, 0x1d4ee: 0x6cfd4020, 0x1d4ef: 0x6cab2020,\n\t0x1d4f0: 0x6ce97020, 0x1d4f1: 0x6ca8b820, 0x1d4f2: 0x6c873020, 0x1d4f3: 0x6d42b220,\n\t0x1d4f4: 0x6c2bb820, 0x1d4f5: 0x6ca8ba20, 0x1d4f6: 0x6ce5e420, 0x1d4f7: 0x6c809820,\n\t0x1d4f8: 0x6c9d1a20, 0x1d4f9: 0x6cd7c020, 0x1d4fa: 0x6c6f5820, 0x1d4fb: 0x6cf83e20,\n\t0x1d4fc: 0x6c456620, 0x1d4fd: 0x6d331c20, 0x1d4fe: 0x6c6f5e20, 0x1d4ff: 0x6d201c20,\n\t// Block 0x754, offset 0x1d500\n\t0x1d500: 0x6c61b020, 0x1d501: 0x6c143a20, 0x1d502: 0x6d391020, 0x1d503: 0x6d09f020,\n\t0x1d504: 0x6d264a20, 0x1d505: 0x6c531c20, 0x1d506: 0x6d207e20, 0x1d507: 0x6c50e420,\n\t0x1d508: 0x6cecce20, 0x1d509: 0x6cc5d820, 0x1d50a: 0x6cf1d220, 0x1d50b: 0x6cf18c20,\n\t0x1d50c: 0x6cc03620, 0x1d50d: 0x6ca32820, 0x1d50e: 0x6d3e1c20, 0x1d50f: 0x6ce80c20,\n\t0x1d510: 0x6ca99020, 0x1d511: 0x6c3d1420, 0x1d512: 0x6c61d020, 0x1d513: 0x6cd4c020,\n\t0x1d514: 0x6c213c20, 0x1d515: 0x6caf5a20, 0x1d516: 0x6d323220, 0x1d517: 0x6ccbe020,\n\t0x1d518: 0x6c532e20, 0x1d519: 0x6d351220, 0x1d51a: 0x6c5ffe20, 0x1d51b: 0x6c3b2220,\n\t0x1d51c: 0x6d279e20, 0x1d51d: 0x6cc5de20, 0x1d51e: 0x6c283220, 0x1d51f: 0x6c6c4020,\n\t0x1d520: 0x6cda9420, 0x1d521: 0x6c39d220, 0x1d522: 0x6cdd5a20, 0x1d523: 0x6c252820,\n\t0x1d524: 0x6c6fb820, 0x1d525: 0x6d288c20, 0x1d526: 0x6c03f220, 0x1d527: 0x6c6c8c20,\n\t0x1d528: 0x6c3d6a20, 0x1d529: 0x6d35fe20, 0x1d52a: 0x6c229820, 0x1d52b: 0x6d3f1620,\n\t0x1d52c: 0x6c1da620, 0x1d52d: 0x6c533e20, 0x1d52e: 0x6d288e20, 0x1d52f: 0x6c833420,\n\t0x1d530: 0x6cf87a20, 0x1d531: 0x6c3e5c20, 0x1d532: 0x6d019a20, 0x1d533: 0x6ccfe020,\n\t0x1d534: 0x6c0e6c20, 0x1d535: 0x6d3ae820, 0x1d536: 0x6cc0fc20, 0x1d537: 0x6c8cf020,\n\t0x1d538: 0x6d3aea20, 0x1d539: 0x6cced620, 0x1d53a: 0x6c421e20, 0x1d53b: 0x6d101420,\n\t0x1d53c: 0x6c3e5e20, 0x1d53d: 0x6ceb1820, 0x1d53e: 0x6d31d420, 0x1d53f: 0x6c275e20,\n\t// Block 0x755, offset 0x1d540\n\t0x1d540: 0x6c1f3420, 0x1d541: 0x6cd1b420, 0x1d542: 0x6d37b620, 0x1d543: 0x6cfb4e20,\n\t0x1d544: 0x6d411a20, 0x1d545: 0x6c6ede20, 0x1d546: 0x6c04f820, 0x1d547: 0x6cc18c20,\n\t0x1d548: 0x6ca10e20, 0x1d549: 0x6cd5c620, 0x1d54a: 0x6d41ac20, 0x1d54b: 0x6c7c2c20,\n\t0x1d54c: 0x6c6db020, 0x1d54d: 0x6cc5f220, 0x1d54e: 0x6c4f7c20, 0x1d54f: 0x6d01b220,\n\t0x1d550: 0x6c6ad620, 0x1d551: 0x6d39a820, 0x1d552: 0x6c1db420, 0x1d553: 0x6c48b620,\n\t0x1d554: 0x6c042420, 0x1d555: 0x6c745420, 0x1d556: 0x6c7bf620, 0x1d557: 0x6c556220,\n\t0x1d558: 0x6c22c620, 0x1d559: 0x6c587820, 0x1d55a: 0x6c44d220, 0x1d55b: 0x6ce1c820,\n\t0x1d55c: 0x6c6ad820, 0x1d55d: 0x6c7a9a20, 0x1d55e: 0x6c68fc20, 0x1d55f: 0x6cc2f620,\n\t0x1d560: 0x6c411620, 0x1d561: 0x6c960620, 0x1d562: 0x6d089620, 0x1d563: 0x6c07ee20,\n\t0x1d564: 0x6cfcc620, 0x1d565: 0x6c3e8620, 0x1d566: 0x6c449420, 0x1d567: 0x6c307a20,\n\t0x1d568: 0x6cc67a20, 0x1d569: 0x6ce5d820, 0x1d56a: 0x6d19e420, 0x1d56b: 0x6c82c220,\n\t0x1d56c: 0x6d01b420, 0x1d56d: 0x6c736820, 0x1d56e: 0x6d06e020, 0x1d56f: 0x6c40f820,\n\t0x1d570: 0x6c2eae20, 0x1d571: 0x6ce7ba20, 0x1d572: 0x6cd7ea20, 0x1d573: 0x6c67e820,\n\t0x1d574: 0x6cfdc420, 0x1d575: 0x6c5bc820, 0x1d576: 0x6c745620, 0x1d577: 0x6d346820,\n\t0x1d578: 0x6c65b420, 0x1d579: 0x6c737620, 0x1d57a: 0x6c1ac020, 0x1d57b: 0x6c9e2c20,\n\t0x1d57c: 0x6d31e820, 0x1d57d: 0x6c939e20, 0x1d57e: 0x6c1a1020, 0x1d57f: 0x6cc07a20,\n\t// Block 0x756, offset 0x1d580\n\t0x1d580: 0x6cd4ec20, 0x1d581: 0x6c055020, 0x1d582: 0x6ce7bc20, 0x1d583: 0x6cfedc20,\n\t0x1d584: 0x6c588020, 0x1d585: 0x6cbd3620, 0x1d586: 0x6c451220, 0x1d587: 0x6d052620,\n\t0x1d588: 0x6ce34c20, 0x1d589: 0x6ce82e20, 0x1d58a: 0x6d00c020, 0x1d58b: 0x6c536420,\n\t0x1d58c: 0x6cf8a420, 0x1d58d: 0x6c3ea220, 0x1d58e: 0x6ce64620, 0x1d58f: 0x6cdbcc20,\n\t0x1d590: 0x6c335220, 0x1d591: 0x6c7db620, 0x1d592: 0x6c3d8020, 0x1d593: 0x6c6dc420,\n\t0x1d594: 0x6c56a620, 0x1d595: 0x6d33f820, 0x1d596: 0x6d0ca020, 0x1d597: 0x6c6f1c20,\n\t0x1d598: 0x6c3cb020, 0x1d599: 0x6c622020, 0x1d59a: 0x6d077420, 0x1d59b: 0x6cc60c20,\n\t0x1d59c: 0x6d3faa20, 0x1d59d: 0x6c187820, 0x1d59e: 0x6c34a420, 0x1d59f: 0x6c865020,\n\t0x1d5a0: 0x6c93ec20, 0x1d5a1: 0x6c896020, 0x1d5a2: 0x6c1dcc20, 0x1d5a3: 0x6cc36420,\n\t0x1d5a4: 0x6ccede20, 0x1d5a5: 0x6cb62020, 0x1d5a6: 0x6cb62220, 0x1d5a7: 0x6d3ce020,\n\t0x1d5a8: 0x6cb62420, 0x1d5a9: 0x6ced3420, 0x1d5aa: 0x6cba6a20, 0x1d5ab: 0x6cfcec20,\n\t0x1d5ac: 0x6cd47420, 0x1d5ad: 0x6cef2220, 0x1d5ae: 0x6cb70e20, 0x1d5af: 0x6ce23020,\n\t0x1d5b0: 0x6ced3620, 0x1d5b1: 0x6c428c20, 0x1d5b2: 0x6cee3020, 0x1d5b3: 0x6c080420,\n\t0x1d5b4: 0x6d3cc620, 0x1d5b5: 0x6c113a20, 0x1d5b6: 0x6c4cc620, 0x1d5b7: 0x6c255020,\n\t0x1d5b8: 0x6c950420, 0x1d5b9: 0x6c8f1020, 0x1d5ba: 0x6cb71020, 0x1d5bb: 0x6d2e6e20,\n\t0x1d5bc: 0x6c0a0820, 0x1d5bd: 0x6c21cc20, 0x1d5be: 0x6c8d3c20, 0x1d5bf: 0x6c9dca20,\n\t// Block 0x757, offset 0x1d5c0\n\t0x1d5c0: 0x6cb51420, 0x1d5c1: 0x6cbcd820, 0x1d5c2: 0x6ce4b420, 0x1d5c3: 0x6d3fac20,\n\t0x1d5c4: 0x6c4bd820, 0x1d5c5: 0x6d405e20, 0x1d5c6: 0x6cf67c20, 0x1d5c7: 0x6d3e6a20,\n\t0x1d5c8: 0x6d043220, 0x1d5c9: 0x6c899a20, 0x1d5ca: 0x6c6ca420, 0x1d5cb: 0x6c3a1220,\n\t0x1d5cc: 0x6cc8a020, 0x1d5cd: 0x6c9f7220, 0x1d5ce: 0x6d239e20, 0x1d5cf: 0x6d400420,\n\t0x1d5d0: 0x6c38ae20, 0x1d5d1: 0x6c93ee20, 0x1d5d2: 0x6d071620, 0x1d5d3: 0x6d1bd820,\n\t0x1d5d4: 0x6cce5620, 0x1d5d5: 0x6cb81820, 0x1d5d6: 0x6d073020, 0x1d5d7: 0x6cfd8820,\n\t0x1d5d8: 0x6c64dc20, 0x1d5d9: 0x6c78ce20, 0x1d5da: 0x6cfcfe20, 0x1d5db: 0x6cc87620,\n\t0x1d5dc: 0x6c9dcc20, 0x1d5dd: 0x6c5f1c20, 0x1d5de: 0x6c32d820, 0x1d5df: 0x6c1d1e20,\n\t0x1d5e0: 0x6c2c9420, 0x1d5e1: 0x6c9f7820, 0x1d5e2: 0x6c9e7c20, 0x1d5e3: 0x6d259c20,\n\t0x1d5e4: 0x6d01fe20, 0x1d5e5: 0x6c060e20, 0x1d5e6: 0x6cd82020, 0x1d5e7: 0x6cbfc020,\n\t0x1d5e8: 0x6c0b0220, 0x1d5e9: 0x6c58dc20, 0x1d5ea: 0x6c44d820, 0x1d5eb: 0x6c234620,\n\t0x1d5ec: 0x6c9e3820, 0x1d5ed: 0x6cf0c420, 0x1d5ee: 0x6c403620, 0x1d5ef: 0x6cf00620,\n\t0x1d5f0: 0x6ce7f420, 0x1d5f1: 0x6c465a20, 0x1d5f2: 0x6c9e9c20, 0x1d5f3: 0x6d00de20,\n\t0x1d5f4: 0x6c891220, 0x1d5f5: 0x6d3fb620, 0x1d5f6: 0x6c0bb620, 0x1d5f7: 0x6d284a20,\n\t0x1d5f8: 0x6d19fc20, 0x1d5f9: 0x6ce36820, 0x1d5fa: 0x6c486c20, 0x1d5fb: 0x6d36ea20,\n\t0x1d5fc: 0x6d284c20, 0x1d5fd: 0x6c198c20, 0x1d5fe: 0x6c152020, 0x1d5ff: 0x6c278c20,\n\t// Block 0x758, offset 0x1d600\n\t0x1d600: 0x6cf9ea20, 0x1d601: 0x6d259e20, 0x1d602: 0x6d400620, 0x1d603: 0x6d05da20,\n\t0x1d604: 0x6d1d6a20, 0x1d605: 0x6cf14420, 0x1d606: 0x6c44da20, 0x1d607: 0x6d07c220,\n\t0x1d608: 0x6d1c9c20, 0x1d609: 0x6c6d5220, 0x1d60a: 0x6d18ae20, 0x1d60b: 0x6d3ca220,\n\t0x1d60c: 0x6ca6c020, 0x1d60d: 0x6c053c20, 0x1d60e: 0x6c47c820, 0x1d60f: 0x6cac7220,\n\t0x1d610: 0x6d395420, 0x1d611: 0x6c64fc20, 0x1d612: 0x6c220a20, 0x1d613: 0x6cc31620,\n\t0x1d614: 0x6cd6e020, 0x1d615: 0x6d276620, 0x1d616: 0x6cf9f220, 0x1d617: 0x6c24ea20,\n\t0x1d618: 0x6cf6d220, 0x1d619: 0x6cc6a620, 0x1d61a: 0x6ce1ea20, 0x1d61b: 0x6c405420,\n\t0x1d61c: 0x6d27ca20, 0x1d61d: 0x6c188820, 0x1d61e: 0x6c432020, 0x1d61f: 0x6cc82820,\n\t0x1d620: 0x6c55b820, 0x1d621: 0x6d294620, 0x1d622: 0x6ce2b420, 0x1d623: 0x6cfd1020,\n\t0x1d624: 0x6cdb1e20, 0x1d625: 0x6d31fc20, 0x1d626: 0x6d403420, 0x1d627: 0x6ce1ec20,\n\t0x1d628: 0x6c5a8420, 0x1d629: 0x6c114a20, 0x1d62a: 0x6c0a5820, 0x1d62b: 0x6c3cf620,\n\t0x1d62c: 0x6c246a20, 0x1d62d: 0x6c844620, 0x1d62e: 0x6cdd4220, 0x1d62f: 0x6d0ddc20,\n\t0x1d630: 0x6cf81820, 0x1d631: 0x6d403820, 0x1d632: 0x6c826420, 0x1d633: 0x6c739820,\n\t0x1d634: 0x6cba8220, 0x1d635: 0x6c980820, 0x1d636: 0x6d34a420, 0x1d637: 0x6c93bc20,\n\t0x1d638: 0x6ca2b220, 0x1d639: 0x6cb1a020, 0x1d63a: 0x6c885220, 0x1d63b: 0x6c9c8020,\n\t0x1d63c: 0x6d08bc20, 0x1d63d: 0x6d400a20, 0x1d63e: 0x6c5f5820, 0x1d63f: 0x6ccd1220,\n\t// Block 0x759, offset 0x1d640\n\t0x1d640: 0x6cdc8e20, 0x1d641: 0x6c38ca20, 0x1d642: 0x6c940620, 0x1d643: 0x6c083020,\n\t0x1d644: 0x6d141e20, 0x1d645: 0x6ccac220, 0x1d646: 0x6ca1ec20, 0x1d647: 0x6d114c20,\n\t0x1d648: 0x6cbb4a20, 0x1d649: 0x6c5d0220, 0x1d64a: 0x6cfd5a20, 0x1d64b: 0x6c629a20,\n\t0x1d64c: 0x6ccc8620, 0x1d64d: 0x6d055220, 0x1d64e: 0x6cc49420, 0x1d64f: 0x6d08be20,\n\t0x1d650: 0x6cdca020, 0x1d651: 0x6cbbc020, 0x1d652: 0x6d2b9e20, 0x1d653: 0x6d427020,\n\t0x1d654: 0x6d341e20, 0x1d655: 0x6ccdca20, 0x1d656: 0x6cca3420, 0x1d657: 0x6c8bf020,\n\t0x1d658: 0x6d243820, 0x1d659: 0x6c386220, 0x1d65a: 0x6c8a3820, 0x1d65b: 0x6c21e020,\n\t0x1d65c: 0x6d41f820, 0x1d65d: 0x6c66f220, 0x1d65e: 0x6cc54a20, 0x1d65f: 0x6c15f020,\n\t0x1d660: 0x6cc8b620, 0x1d661: 0x6d055620, 0x1d662: 0x6c5c6e20, 0x1d663: 0x6c57ca20,\n\t0x1d664: 0x6d414a20, 0x1d665: 0x6cf70a20, 0x1d666: 0x6cbb4e20, 0x1d667: 0x6d287c20,\n\t0x1d668: 0x6c270220, 0x1d669: 0x6cd12620, 0x1d66a: 0x6c5c7e20, 0x1d66b: 0x6cf91620,\n\t0x1d66c: 0x6ccb8020, 0x1d66d: 0x6c660020, 0x1d66e: 0x6c679220, 0x1d66f: 0x6c58b820,\n\t0x1d670: 0x6d2a5e20, 0x1d671: 0x6c236e20, 0x1d672: 0x6d026020, 0x1d673: 0x6c695a20,\n\t0x1d674: 0x6c0aa820, 0x1d675: 0x6c28de20, 0x1d676: 0x6d191020, 0x1d677: 0x6ca9ec20,\n\t0x1d678: 0x6cdca220, 0x1d679: 0x6d191220, 0x1d67a: 0x6ccc9a20, 0x1d67b: 0x6d060420,\n\t0x1d67c: 0x6c62cc20, 0x1d67d: 0x6c0d6c20, 0x1d67e: 0x6cba3020, 0x1d67f: 0x6c7fee20,\n\t// Block 0x75a, offset 0x1d680\n\t0x1d680: 0x6cb47020, 0x1d681: 0x6d09c620, 0x1d682: 0x6d415420, 0x1d683: 0x6cb69620,\n\t0x1d684: 0x6caee820, 0x1d685: 0x6d124620, 0x1d686: 0x6ca19a20, 0x1d687: 0x6c835c20,\n\t0x1d688: 0x6d012820, 0x1d689: 0x6d415620, 0x1d68a: 0x6c7c1a20, 0x1d68b: 0x6d1ed220,\n\t0x1d68c: 0x6d076220, 0x1d68d: 0x6c828420, 0x1d68e: 0x6cfb0420, 0x1d68f: 0x6c156220,\n\t0x1d690: 0x6c69f220, 0x1d691: 0x6c919620, 0x1d692: 0x6c156a20, 0x1d693: 0x6d1c4020,\n\t0x1d694: 0x6c111820, 0x1d695: 0x6cc51620, 0x1d696: 0x6cfb1620, 0x1d697: 0x6d418620,\n\t0x1d698: 0x6d415c20, 0x1d699: 0x6c965220, 0x1d69a: 0x6c84e020, 0x1d69b: 0x6c2a5220,\n\t0x1d69c: 0x6c806a20, 0x1d69d: 0x6c82ac20, 0x1d69e: 0x6c894020, 0x1d69f: 0x6cd7b620,\n\t0x1d6a0: 0x6c6f4620, 0x1d6a1: 0x6d207420, 0x1d6a2: 0x6c52ee20, 0x1d6a3: 0x6d38f420,\n\t0x1d6a4: 0x6cfa7420, 0x1d6a5: 0x6c436a20, 0x1d6a6: 0x6d264820, 0x1d6a7: 0x6c5fce20,\n\t0x1d6a8: 0x6cecbc20, 0x1d6a9: 0x6c7bda20, 0x1d6aa: 0x6c617a20, 0x1d6ab: 0x6cc5b820,\n\t0x1d6ac: 0x6cef8820, 0x1d6ad: 0x6d278220, 0x1d6ae: 0x6c52fc20, 0x1d6af: 0x6c213420,\n\t0x1d6b0: 0x6caf2c20, 0x1d6b1: 0x6ccbca20, 0x1d6b2: 0x6c425820, 0x1d6b3: 0x6ca30820,\n\t0x1d6b4: 0x6cc5c620, 0x1d6b5: 0x6d401620, 0x1d6b6: 0x6c94dc20, 0x1d6b7: 0x6c3b1220,\n\t0x1d6b8: 0x6d34ec20, 0x1d6b9: 0x6cf17e20, 0x1d6ba: 0x6c39c220, 0x1d6bb: 0x6d3aa420,\n\t0x1d6bc: 0x6d321420, 0x1d6bd: 0x6ca97c20, 0x1d6be: 0x6cd4a020, 0x1d6bf: 0x6cfc8220,\n\t// Block 0x75b, offset 0x1d6c0\n\t0x1d6c0: 0x6c421220, 0x1d6c1: 0x6d016620, 0x1d6c2: 0x6c3dfa20, 0x1d6c3: 0x6c88e420,\n\t0x1d6c4: 0x6d410c20, 0x1d6c5: 0x6ccfb220, 0x1d6c6: 0x6cf84e20, 0x1d6c7: 0x6d33a020,\n\t0x1d6c8: 0x6d37a020, 0x1d6c9: 0x6d390420, 0x1d6ca: 0x6c04ec20, 0x1d6cb: 0x6c3dfc20,\n\t0x1d6cc: 0x6c1f1420, 0x1d6cd: 0x6ccec820, 0x1d6ce: 0x6d16ce20, 0x1d6cf: 0x6c6d9220,\n\t0x1d6d0: 0x6c273820, 0x1d6d1: 0x6c054a20, 0x1d6d2: 0x6cc65a20, 0x1d6d3: 0x6c6a9820,\n\t0x1d6d4: 0x6c7a8620, 0x1d6d5: 0x6cc54620, 0x1d6d6: 0x6c2e7620, 0x1d6d7: 0x6c4f6420,\n\t0x1d6d8: 0x6c5b9e20, 0x1d6d9: 0x6c449220, 0x1d6da: 0x6d087c20, 0x1d6db: 0x6c67dc20,\n\t0x1d6dc: 0x6c95ea20, 0x1d6dd: 0x6c740420, 0x1d6de: 0x6c68d620, 0x1d6df: 0x6ce7ae20,\n\t0x1d6e0: 0x6c450020, 0x1d6e1: 0x6cfea820, 0x1d6e2: 0x6c735020, 0x1d6e3: 0x6d053620,\n\t0x1d6e4: 0x6cf87220, 0x1d6e5: 0x6cdbf020, 0x1d6e6: 0x6ce1c020, 0x1d6e7: 0x6c61d220,\n\t0x1d6e8: 0x6ce31820, 0x1d6e9: 0x6c5eb820, 0x1d6ea: 0x6d06be20, 0x1d6eb: 0x6c8cf220,\n\t0x1d6ec: 0x6d1bb220, 0x1d6ed: 0x6d06c020, 0x1d6ee: 0x6cb6f620, 0x1d6ef: 0x6c39fc20,\n\t0x1d6f0: 0x6c21b820, 0x1d6f1: 0x6cce5220, 0x1d6f2: 0x6c4bc220, 0x1d6f3: 0x6cd11e20,\n\t0x1d6f4: 0x6cef0420, 0x1d6f5: 0x6c9dc020, 0x1d6f6: 0x6cd46820, 0x1d6f7: 0x6c081a20,\n\t0x1d6f8: 0x6c1da820, 0x1d6f9: 0x6ce22220, 0x1d6fa: 0x6c8f0620, 0x1d6fb: 0x6cc35a20,\n\t0x1d6fc: 0x6d3f7820, 0x1d6fd: 0x6d2e5c20, 0x1d6fe: 0x6ced0c20, 0x1d6ff: 0x6c93d820,\n\t// Block 0x75c, offset 0x1d700\n\t0x1d700: 0x6d3cc420, 0x1d701: 0x6d3e2820, 0x1d702: 0x6c78b420, 0x1d703: 0x6cfd7820,\n\t0x1d704: 0x6c64a420, 0x1d705: 0x6c9e2820, 0x1d706: 0x6c802a20, 0x1d707: 0x6ce33020,\n\t0x1d708: 0x6c9e9420, 0x1d709: 0x6c5eda20, 0x1d70a: 0x6d275020, 0x1d70b: 0x6c5bca20,\n\t0x1d70c: 0x6cd7ec20, 0x1d70d: 0x6c348620, 0x1d70e: 0x6c32c420, 0x1d70f: 0x6c0ba020,\n\t0x1d710: 0x6cfcc820, 0x1d711: 0x6c464a20, 0x1d712: 0x6d3c8a20, 0x1d713: 0x6c58d820,\n\t0x1d714: 0x6c2c5e20, 0x1d715: 0x6c93a020, 0x1d716: 0x6c0af620, 0x1d717: 0x6c9f5820,\n\t0x1d718: 0x6d256820, 0x1d719: 0x6c6d1c20, 0x1d71a: 0x6c401020, 0x1d71b: 0x6cc81e20,\n\t0x1d71c: 0x6d31ea20, 0x1d71d: 0x6c3ce620, 0x1d71e: 0x6c24ce20, 0x1d71f: 0x6c430c20,\n\t0x1d720: 0x6c150420, 0x1d721: 0x6c83f020, 0x1d722: 0x6d17fc20, 0x1d723: 0x6c64be20,\n\t0x1d724: 0x6c0d4020, 0x1d725: 0x6cb15a20, 0x1d726: 0x6c97f020, 0x1d727: 0x6c824820,\n\t0x1d728: 0x6d1bda20, 0x1d729: 0x6cdd2e20, 0x1d72a: 0x6ca1d820, 0x1d72b: 0x6ccaba20,\n\t0x1d72c: 0x6d00e020, 0x1d72d: 0x6c8a1420, 0x1d72e: 0x6ccda220, 0x1d72f: 0x6d2b8c20,\n\t0x1d730: 0x6c677a20, 0x1d731: 0x6cba2420, 0x1d732: 0x6cbbb220, 0x1d733: 0x6c589a20,\n\t0x1d734: 0x6c694620, 0x1d735: 0x6d415020, 0x1d736: 0x6c3d1a20, 0x1d737: 0x6d016820,\n\t0x1d738: 0x6c426820, 0x1d739: 0x6c3d2420, 0x1d73a: 0x6cc38a20, 0x1d73b: 0x6c3d2620,\n\t0x1d73c: 0x6cb81020, 0x1d73d: 0x6c0e6e20, 0x1d73e: 0x6cb2ac20, 0x1d73f: 0x6cfe3420,\n\t// Block 0x75d, offset 0x1d740\n\t0x1d740: 0x6d2ff620, 0x1d741: 0x6c428e20, 0x1d742: 0x6d1bdc20, 0x1d743: 0x6d1bea20,\n\t0x1d744: 0x6cbee020, 0x1d745: 0x6cfa4c20, 0x1d746: 0x6c49aa20, 0x1d747: 0x6d41fa20,\n\t0x1d748: 0x6ce02a20, 0x1d749: 0x6c126020, 0x1d74a: 0x6cb7fe20, 0x1d74b: 0x6cf27620,\n\t0x1d74c: 0x6d1c2220, 0x1d74d: 0x6c828620, 0x1d74e: 0x6ce04820, 0x1d74f: 0x6c919820,\n\t0x1d750: 0x6c49c420, 0x1d751: 0x6cedf420, 0x1d752: 0x6cedf020, 0x1d753: 0x6c424e20,\n\t0x1d754: 0x6cedfe20, 0x1d755: 0x6c4e5020, 0x1d756: 0x6c953820, 0x1d757: 0x6c952c20,\n\t0x1d758: 0x6c3e2220, 0x1d759: 0x6c9c3a20, 0x1d75a: 0x6c380620, 0x1d75b: 0x6c470020,\n\t0x1d75c: 0x6d3a6020, 0x1d75d: 0x6c707220, 0x1d75e: 0x6c98d420, 0x1d75f: 0x6c477420,\n\t0x1d760: 0x6c9f4220, 0x1d761: 0x6c427220, 0x1d762: 0x6c03f420, 0x1d763: 0x6c48b220,\n\t0x1d764: 0x6ce33220, 0x1d765: 0x6c736a20, 0x1d766: 0x6c3e8820, 0x1d767: 0x6cd0b420,\n\t0x1d768: 0x6d0da820, 0x1d769: 0x6d2fc220, 0x1d76a: 0x6d41b820, 0x1d76b: 0x6c48b820,\n\t0x1d76c: 0x6d3d7220, 0x1d76d: 0x6d237620, 0x1d76e: 0x6d366620, 0x1d76f: 0x6c018e20,\n\t0x1d770: 0x6c382020, 0x1d771: 0x6c803420, 0x1d772: 0x6cd56220, 0x1d773: 0x6cd80620,\n\t0x1d774: 0x6cb00820, 0x1d775: 0x6c96da20, 0x1d776: 0x6c8f1620, 0x1d777: 0x6c03f820,\n\t0x1d778: 0x6c382420, 0x1d779: 0x6c844a20, 0x1d77a: 0x6c177e20, 0x1d77b: 0x6cf0d020,\n\t0x1d77c: 0x6c0a3420, 0x1d77d: 0x6c629c20, 0x1d77e: 0x6d2b9c20, 0x1d77f: 0x6c1ce620,\n\t// Block 0x75e, offset 0x1d780\n\t0x1d780: 0x6c8f2220, 0x1d781: 0x6c5f5a20, 0x1d782: 0x6c739e20, 0x1d783: 0x6c9da220,\n\t0x1d784: 0x6d2fec20, 0x1d785: 0x6c956220, 0x1d786: 0x6cb03220, 0x1d787: 0x6c5f9e20,\n\t0x1d788: 0x6c5fb020, 0x1d789: 0x6c946820, 0x1d78a: 0x6d0f7620, 0x1d78b: 0x6c9cde20,\n\t0x1d78c: 0x6cba9e20, 0x1d78d: 0x6c268820, 0x1d78e: 0x6c9a4e20, 0x1d78f: 0x6d0f9a20,\n\t0x1d790: 0x6d1fbc20, 0x1d791: 0x6d1fb420, 0x1d792: 0x6c3b6620, 0x1d793: 0x6c033e20,\n\t0x1d794: 0x6c42b820, 0x1d795: 0x6d104a20, 0x1d796: 0x6c477620, 0x1d797: 0x6cbaaa20,\n\t0x1d798: 0x6d29d620, 0x1d799: 0x6c42ba20, 0x1d79a: 0x6c8cf620, 0x1d79b: 0x6d176e20,\n\t0x1d79c: 0x6d3aee20, 0x1d79d: 0x6c2b2820, 0x1d79e: 0x6d04c820, 0x1d79f: 0x6cbb3c20,\n\t0x1d7a0: 0x6d14fa20, 0x1d7a1: 0x6cfcca20, 0x1d7a2: 0x6cc67c20, 0x1d7a3: 0x6cc44a20,\n\t0x1d7a4: 0x6cc44c20, 0x1d7a5: 0x6cbb4420, 0x1d7a6: 0x6c588220, 0x1d7a7: 0x6cdd2620,\n\t0x1d7a8: 0x6cfcdc20, 0x1d7a9: 0x6d17fe20, 0x1d7aa: 0x6d107a20, 0x1d7ab: 0x6cbad220,\n\t0x1d7ac: 0x6cb9c220, 0x1d7ad: 0x6d218820, 0x1d7ae: 0x6c44dc20, 0x1d7af: 0x6c6b2220,\n\t0x1d7b0: 0x6ce0cc20, 0x1d7b1: 0x6d25ac20, 0x1d7b2: 0x6cf6d420, 0x1d7b3: 0x6c38d820,\n\t0x1d7b4: 0x6ccd1a20, 0x1d7b5: 0x6c3ba220, 0x1d7b6: 0x6ccd1e20, 0x1d7b7: 0x6c88d820,\n\t0x1d7b8: 0x6c827420, 0x1d7b9: 0x6c44e420, 0x1d7ba: 0x6caa0820, 0x1d7bb: 0x6cbb5e20,\n\t0x1d7bc: 0x6c164620, 0x1d7bd: 0x6d221c20, 0x1d7be: 0x6c461020, 0x1d7bf: 0x6d170420,\n\t// Block 0x75f, offset 0x1d7c0\n\t0x1d7c0: 0x6c1cbe20, 0x1d7c1: 0x6cf22220, 0x1d7c2: 0x6c3b2420, 0x1d7c3: 0x6c533020,\n\t0x1d7c4: 0x6c1c0820, 0x1d7c5: 0x6c1c0a20, 0x1d7c6: 0x6c252a20, 0x1d7c7: 0x6c3e6020,\n\t0x1d7c8: 0x6cf9b220, 0x1d7c9: 0x6c079c20, 0x1d7ca: 0x6d177020, 0x1d7cb: 0x6c7e4220,\n\t0x1d7cc: 0x6d177220, 0x1d7cd: 0x6caf6220, 0x1d7ce: 0x6c8cf820, 0x1d7cf: 0x6c8f2e20,\n\t0x1d7d0: 0x6d360020, 0x1d7d1: 0x6cc18e20, 0x1d7d2: 0x6cf77a20, 0x1d7d3: 0x6d00ae20,\n\t0x1d7d4: 0x6cfdc620, 0x1d7d5: 0x6cf62420, 0x1d7d6: 0x6cf88e20, 0x1d7d7: 0x6c785020,\n\t0x1d7d8: 0x6cbc4620, 0x1d7d9: 0x6c5bcc20, 0x1d7da: 0x6c5aba20, 0x1d7db: 0x6cfecc20,\n\t0x1d7dc: 0x6ccc5e20, 0x1d7dd: 0x6c536620, 0x1d7de: 0x6c676c20, 0x1d7df: 0x6c2b7e20,\n\t0x1d7e0: 0x6c255220, 0x1d7e1: 0x6c3a6420, 0x1d7e2: 0x6c2a2620, 0x1d7e3: 0x6ccc6a20,\n\t0x1d7e4: 0x6c1c4a20, 0x1d7e5: 0x6d3b1620, 0x1d7e6: 0x6c65d220, 0x1d7e7: 0x6d07c420,\n\t0x1d7e8: 0x6c1c6220, 0x1d7e9: 0x6cb0fe20, 0x1d7ea: 0x6d3fb820, 0x1d7eb: 0x6cece620,\n\t0x1d7ec: 0x6c5aea20, 0x1d7ed: 0x6c542820, 0x1d7ee: 0x6c517420, 0x1d7ef: 0x6c51e820,\n\t0x1d7f0: 0x6c4f0a20, 0x1d7f1: 0x6c027220, 0x1d7f2: 0x6cb16820, 0x1d7f3: 0x6d18d020,\n\t0x1d7f4: 0x6c885420, 0x1d7f5: 0x6c543420, 0x1d7f6: 0x6c030820, 0x1d7f7: 0x6c8bf220,\n\t0x1d7f8: 0x6cae4820, 0x1d7f9: 0x6cbc6a20, 0x1d7fa: 0x6c027e20, 0x1d7fb: 0x6c386420,\n\t0x1d7fc: 0x6d18d220, 0x1d7fd: 0x6c5c8020, 0x1d7fe: 0x6d07e420, 0x1d7ff: 0x6c2a4a20,\n\t// Block 0x760, offset 0x1d800\n\t0x1d800: 0x6d124420, 0x1d801: 0x6c819a20, 0x1d802: 0x6c819820, 0x1d803: 0x6c779c20,\n\t0x1d804: 0x6c996620, 0x1d805: 0x6d30d220, 0x1d806: 0x6cb5a820, 0x1d807: 0x6c467a20,\n\t0x1d808: 0x6c468020, 0x1d809: 0x6c467c20, 0x1d80a: 0x6c2f3420, 0x1d80b: 0x6c2eb020,\n\t0x1d80c: 0x6c373020, 0x1d80d: 0x6cd64620, 0x1d80e: 0x6cc85620, 0x1d80f: 0x6ca3b220,\n\t0x1d810: 0x6ca3b420, 0x1d811: 0x6c329220, 0x1d812: 0x6c82b220, 0x1d813: 0x6ce63220,\n\t0x1d814: 0x6d3efc20, 0x1d815: 0x6c44c220, 0x1d816: 0x6c17b620, 0x1d817: 0x6c503220,\n\t0x1d818: 0x6d27a020, 0x1d819: 0x6c03b020, 0x1d81a: 0x6caf6420, 0x1d81b: 0x6d14ec20,\n\t0x1d81c: 0x6cd8bc20, 0x1d81d: 0x6cc26e20, 0x1d81e: 0x6c635220, 0x1d81f: 0x6c723220,\n\t0x1d820: 0x6c5d5620, 0x1d821: 0x6c1e8e20, 0x1d822: 0x6c81d420, 0x1d823: 0x6c951c20,\n\t0x1d824: 0x6c607020, 0x1d825: 0x6ce0c620, 0x1d826: 0x6cab8e20, 0x1d827: 0x6c90b420,\n\t0x1d828: 0x6caa2820, 0x1d829: 0x6c67be20, 0x1d82a: 0x6cad1e20, 0x1d82b: 0x6d2c5620,\n\t0x1d82c: 0x6c90be20, 0x1d82d: 0x6c5f7020, 0x1d82e: 0x6c81e420, 0x1d82f: 0x6c5e2e20,\n\t0x1d830: 0x6d1ed420, 0x1d831: 0x6ca1a020, 0x1d832: 0x6c580420, 0x1d833: 0x6c378420,\n\t0x1d834: 0x6d169620, 0x1d835: 0x6c2f5420, 0x1d836: 0x6d127420, 0x1d837: 0x6c264420,\n\t0x1d838: 0x6cd95820, 0x1d839: 0x6cbd6820, 0x1d83a: 0x6d27a220, 0x1d83b: 0x6c1b9420,\n\t0x1d83c: 0x6c27ca20, 0x1d83d: 0x6c27cc20, 0x1d83e: 0x6c533420, 0x1d83f: 0x6c450220,\n\t// Block 0x761, offset 0x1d840\n\t0x1d840: 0x6d344820, 0x1d841: 0x6cacb220, 0x1d842: 0x6ca80c20, 0x1d843: 0x6c27d420,\n\t0x1d844: 0x6d31d620, 0x1d845: 0x6c181a20, 0x1d846: 0x6c8cfa20, 0x1d847: 0x6d32ba20,\n\t0x1d848: 0x6d1fc220, 0x1d849: 0x6cec3020, 0x1d84a: 0x6c89e420, 0x1d84b: 0x6c8f8c20,\n\t0x1d84c: 0x6d345c20, 0x1d84d: 0x6ca90220, 0x1d84e: 0x6ce55e20, 0x1d84f: 0x6c375c20,\n\t0x1d850: 0x6d0bb420, 0x1d851: 0x6ce5f020, 0x1d852: 0x6c485e20, 0x1d853: 0x6d077220,\n\t0x1d854: 0x6c880420, 0x1d855: 0x6c504620, 0x1d856: 0x6cd16e20, 0x1d857: 0x6c8b1a20,\n\t0x1d858: 0x6cb24420, 0x1d859: 0x6c6dce20, 0x1d85a: 0x6c726c20, 0x1d85b: 0x6c08ee20,\n\t0x1d85c: 0x6c2bfe20, 0x1d85d: 0x6c4c7c20, 0x1d85e: 0x6cf1a220, 0x1d85f: 0x6d071a20,\n\t0x1d860: 0x6cb25820, 0x1d861: 0x6c232e20, 0x1d862: 0x6c2fc820, 0x1d863: 0x6ca5f820,\n\t0x1d864: 0x6ce68c20, 0x1d865: 0x6c71d020, 0x1d866: 0x6c234820, 0x1d867: 0x6c7c4220,\n\t0x1d868: 0x6c894420, 0x1d869: 0x6c7d1220, 0x1d86a: 0x6c234a20, 0x1d86b: 0x6c884020,\n\t0x1d86c: 0x6cf26020, 0x1d86d: 0x6c7d1420, 0x1d86e: 0x6c885820, 0x1d86f: 0x6c886820,\n\t0x1d870: 0x6c236620, 0x1d871: 0x6c027420, 0x1d872: 0x6cd11820, 0x1d873: 0x6cd96e20,\n\t0x1d874: 0x6ce64c20, 0x1d875: 0x6c7d2a20, 0x1d876: 0x6ca88820, 0x1d877: 0x6d34aa20,\n\t0x1d878: 0x6c281020, 0x1d879: 0x6ca93420, 0x1d87a: 0x6cbc8a20, 0x1d87b: 0x6ca65e20,\n\t0x1d87c: 0x6ce65220, 0x1d87d: 0x6ce65620, 0x1d87e: 0x6c8ff820, 0x1d87f: 0x6d22c620,\n\t// Block 0x762, offset 0x1d880\n\t0x1d880: 0x6d22b620, 0x1d881: 0x6d2fac20, 0x1d882: 0x6cd8ac20, 0x1d883: 0x6cda8220,\n\t0x1d884: 0x6d180020, 0x1d885: 0x6cdad820, 0x1d886: 0x6cd8ca20, 0x1d887: 0x6d2fcc20,\n\t0x1d888: 0x6d2fce20, 0x1d889: 0x6cc78220, 0x1d88a: 0x6d164c20, 0x1d88b: 0x6c81fe20,\n\t0x1d88c: 0x6c5e8020, 0x1d88d: 0x6cbffe20, 0x1d88e: 0x6c78f220, 0x1d88f: 0x6c12b620,\n\t0x1d890: 0x6c437020, 0x1d891: 0x6c0eb020, 0x1d892: 0x6c58f020, 0x1d893: 0x6c597a20,\n\t0x1d894: 0x6d15c220, 0x1d895: 0x6cc5c820, 0x1d896: 0x6cffd220, 0x1d897: 0x6cc7f620,\n\t0x1d898: 0x6d38d820, 0x1d899: 0x6d25fc20, 0x1d89a: 0x6c323820, 0x1d89b: 0x6c425a20,\n\t0x1d89c: 0x6cc65420, 0x1d89d: 0x6c416e20, 0x1d89e: 0x6c138020, 0x1d89f: 0x6cf2d220,\n\t0x1d8a0: 0x6c169820, 0x1d8a1: 0x6c476020, 0x1d8a2: 0x6d33a220, 0x1d8a3: 0x6c4dd620,\n\t0x1d8a4: 0x6c3d4420, 0x1d8a5: 0x6c3a3220, 0x1d8a6: 0x6c3b6420, 0x1d8a7: 0x6cadb220,\n\t0x1d8a8: 0x6cad2820, 0x1d8a9: 0x6c647020, 0x1d8aa: 0x6c39a820, 0x1d8ab: 0x6d3ccc20,\n\t0x1d8ac: 0x6d1f0220, 0x1d8ad: 0x6ca31420, 0x1d8ae: 0x6c01e820, 0x1d8af: 0x6c78f620,\n\t0x1d8b0: 0x6cc46420, 0x1d8b1: 0x6c456820, 0x1d8b2: 0x6d22da20, 0x1d8b3: 0x6cf1d020,\n\t0x1d8b4: 0x6d10d020, 0x1d8b5: 0x6cb58c20, 0x1d8b6: 0x6cafc020, 0x1d8b7: 0x6cb9f620,\n\t0x1d8b8: 0x6cf59220, 0x1d8b9: 0x6cf59420, 0x1d8ba: 0x6c3a8c20, 0x1d8bb: 0x6c78f820,\n\t0x1d8bc: 0x6c6e1220, 0x1d8bd: 0x6cdf6420, 0x1d8be: 0x6cd09020, 0x1d8bf: 0x6d37e620,\n\t// Block 0x763, offset 0x1d8c0\n\t0x1d8c0: 0x6d2f2820, 0x1d8c1: 0x6d007220, 0x1d8c2: 0x6cd09620, 0x1d8c3: 0x6cf07e20,\n\t0x1d8c4: 0x6d391220, 0x1d8c5: 0x6c2e7820, 0x1d8c6: 0x6c282c20, 0x1d8c7: 0x6c3a9020,\n\t0x1d8c8: 0x6c037220, 0x1d8c9: 0x6c0ec820, 0x1d8ca: 0x6cc17c20, 0x1d8cb: 0x6ce49420,\n\t0x1d8cc: 0x6c06f220, 0x1d8cd: 0x6c484a20, 0x1d8ce: 0x6cdf0420, 0x1d8cf: 0x6d3ef220,\n\t0x1d8d0: 0x6c7a3220, 0x1d8d1: 0x6d33b420, 0x1d8d2: 0x6ca68820, 0x1d8d3: 0x6cb28a20,\n\t0x1d8d4: 0x6d3f5420, 0x1d8d5: 0x6c3f4c20, 0x1d8d6: 0x6cad2a20, 0x1d8d7: 0x6d313020,\n\t0x1d8d8: 0x6cfb3820, 0x1d8d9: 0x6d428820, 0x1d8da: 0x6cadb820, 0x1d8db: 0x6c640820,\n\t0x1d8dc: 0x6cd15620, 0x1d8dd: 0x6d33b620, 0x1d8de: 0x6c05ac20, 0x1d8df: 0x6ca23620,\n\t0x1d8e0: 0x6cc0ee20, 0x1d8e1: 0x6c552e20, 0x1d8e2: 0x6c77ea20, 0x1d8e3: 0x6c1b8620,\n\t0x1d8e4: 0x6d1b4020, 0x1d8e5: 0x6d057a20, 0x1d8e6: 0x6d0f5220, 0x1d8e7: 0x6c8f7a20,\n\t0x1d8e8: 0x6c306620, 0x1d8e9: 0x6c761c20, 0x1d8ea: 0x6c914620, 0x1d8eb: 0x6c6e5c20,\n\t0x1d8ec: 0x6caa5820, 0x1d8ed: 0x6d0bea20, 0x1d8ee: 0x6cacd020, 0x1d8ef: 0x6c7ae820,\n\t0x1d8f0: 0x6d14d620, 0x1d8f1: 0x6c49e820, 0x1d8f2: 0x6c4d3e20, 0x1d8f3: 0x6c438220,\n\t0x1d8f4: 0x6c307020, 0x1d8f5: 0x6c1aa220, 0x1d8f6: 0x6c683e20, 0x1d8f7: 0x6d046420,\n\t0x1d8f8: 0x6d046620, 0x1d8f9: 0x6c374c20, 0x1d8fa: 0x6c01b020, 0x1d8fb: 0x6c526020,\n\t0x1d8fc: 0x6cb10a20, 0x1d8fd: 0x6ca5a420, 0x1d8fe: 0x6d3f5620, 0x1d8ff: 0x6c4a4c20,\n\t// Block 0x764, offset 0x1d900\n\t0x1d900: 0x6c19e220, 0x1d901: 0x6ce5c020, 0x1d902: 0x6d33ce20, 0x1d903: 0x6c252c20,\n\t0x1d904: 0x6c99e620, 0x1d905: 0x6d009220, 0x1d906: 0x6c252e20, 0x1d907: 0x6d009420,\n\t0x1d908: 0x6c972e20, 0x1d909: 0x6c972a20, 0x1d90a: 0x6c600420, 0x1d90b: 0x6d029e20,\n\t0x1d90c: 0x6ca8f020, 0x1d90d: 0x6c7b2020, 0x1d90e: 0x6cc97220, 0x1d90f: 0x6d2a0420,\n\t0x1d910: 0x6cb5aa20, 0x1d911: 0x6ca4e820, 0x1d912: 0x6c9cec20, 0x1d913: 0x6ca9b820,\n\t0x1d914: 0x6c943a20, 0x1d915: 0x6ced7c20, 0x1d916: 0x6c0ef420, 0x1d917: 0x6cf1d820,\n\t0x1d918: 0x6ced0e20, 0x1d919: 0x6d04d020, 0x1d91a: 0x6c68ea20, 0x1d91b: 0x6c6e7a20,\n\t0x1d91c: 0x6d1fc420, 0x1d91d: 0x6c524e20, 0x1d91e: 0x6c260820, 0x1d91f: 0x6c8b0820,\n\t0x1d920: 0x6cccdc20, 0x1d921: 0x6ce6c420, 0x1d922: 0x6c99f020, 0x1d923: 0x6c214420,\n\t0x1d924: 0x6cd0a220, 0x1d925: 0x6cba0420, 0x1d926: 0x6c2a9220, 0x1d927: 0x6c72ee20,\n\t0x1d928: 0x6c243820, 0x1d929: 0x6d04cc20, 0x1d92a: 0x6d032e20, 0x1d92b: 0x6ceac220,\n\t0x1d92c: 0x6cad3820, 0x1d92d: 0x6c19f220, 0x1d92e: 0x6ca56c20, 0x1d92f: 0x6cb43620,\n\t0x1d930: 0x6c311420, 0x1d931: 0x6ceac420, 0x1d932: 0x6ca7d620, 0x1d933: 0x6ca53e20,\n\t0x1d934: 0x6cb05a20, 0x1d935: 0x6c478220, 0x1d936: 0x6c954020, 0x1d937: 0x6c85fc20,\n\t0x1d938: 0x6c88b820, 0x1d939: 0x6d2f3020, 0x1d93a: 0x6c254020, 0x1d93b: 0x6c6a1c20,\n\t0x1d93c: 0x6c899420, 0x1d93d: 0x6cd6fc20, 0x1d93e: 0x6caff420, 0x1d93f: 0x6c0bfe20,\n\t// Block 0x765, offset 0x1d940\n\t0x1d940: 0x6c94fc20, 0x1d941: 0x6cb11020, 0x1d942: 0x6c82c420, 0x1d943: 0x6c7cfe20,\n\t0x1d944: 0x6c20d620, 0x1d945: 0x6c288c20, 0x1d946: 0x6ce4fa20, 0x1d947: 0x6ca57020,\n\t0x1d948: 0x6c6dbc20, 0x1d949: 0x6ca37a20, 0x1d94a: 0x6c7e7820, 0x1d94b: 0x6d12f420,\n\t0x1d94c: 0x6d0c0e20, 0x1d94d: 0x6cc5f420, 0x1d94e: 0x6cd0a420, 0x1d94f: 0x6c21c220,\n\t0x1d950: 0x6c3f7820, 0x1d951: 0x6c3f6a20, 0x1d952: 0x6c709620, 0x1d953: 0x6c3a3620,\n\t0x1d954: 0x6cbabc20, 0x1d955: 0x6ced8820, 0x1d956: 0x6c307c20, 0x1d957: 0x6caff620,\n\t0x1d958: 0x6c4c6e20, 0x1d959: 0x6d3f9220, 0x1d95a: 0x6c2fa820, 0x1d95b: 0x6cf2fe20,\n\t0x1d95c: 0x6c9a6020, 0x1d95d: 0x6ca5f420, 0x1d95e: 0x6d3bd020, 0x1d95f: 0x6c1c3420,\n\t0x1d960: 0x6c23f020, 0x1d961: 0x6c954820, 0x1d962: 0x6cab8020, 0x1d963: 0x6c2c6e20,\n\t0x1d964: 0x6c013c20, 0x1d965: 0x6d038220, 0x1d966: 0x6ca50420, 0x1d967: 0x6cd5ea20,\n\t0x1d968: 0x6cd69220, 0x1d969: 0x6ca42e20, 0x1d96a: 0x6d283c20, 0x1d96b: 0x6d380020,\n\t0x1d96c: 0x6cc78620, 0x1d96d: 0x6c366020, 0x1d96e: 0x6cc9ca20, 0x1d96f: 0x6ce8c820,\n\t0x1d970: 0x6d10ae20, 0x1d971: 0x6c669220, 0x1d972: 0x6cefe620, 0x1d973: 0x6c690e20,\n\t0x1d974: 0x6d213220, 0x1d975: 0x6c637220, 0x1d976: 0x6c32d020, 0x1d977: 0x6c09d820,\n\t0x1d978: 0x6c16b220, 0x1d979: 0x6c401220, 0x1d97a: 0x6cfcde20, 0x1d97b: 0x6ca6b020,\n\t0x1d97c: 0x6c9e2e20, 0x1d97d: 0x6cec3820, 0x1d97e: 0x6ce2a220, 0x1d97f: 0x6ce9e620,\n\t// Block 0x766, offset 0x1d980\n\t0x1d980: 0x6c055620, 0x1d981: 0x6cba1820, 0x1d982: 0x6c93a820, 0x1d983: 0x6cec3a20,\n\t0x1d984: 0x6cda3e20, 0x1d985: 0x6ce11c20, 0x1d986: 0x6cdaee20, 0x1d987: 0x6d3c9820,\n\t0x1d988: 0x6c441420, 0x1d989: 0x6d183220, 0x1d98a: 0x6c100a20, 0x1d98b: 0x6c89fa20,\n\t0x1d98c: 0x6c607220, 0x1d98d: 0x6cb00a20, 0x1d98e: 0x6d00d020, 0x1d98f: 0x6c42d020,\n\t0x1d990: 0x6c93b420, 0x1d991: 0x6c0d8420, 0x1d992: 0x6cab6c20, 0x1d993: 0x6c16c220,\n\t0x1d994: 0x6c92ae20, 0x1d995: 0x6c4c8220, 0x1d996: 0x6cace020, 0x1d997: 0x6c1fbc20,\n\t0x1d998: 0x6c0c1a20, 0x1d999: 0x6c67c020, 0x1d99a: 0x6c3d9220, 0x1d99b: 0x6ce12c20,\n\t0x1d99c: 0x6ca06e20, 0x1d99d: 0x6cf6ac20, 0x1d99e: 0x6d3b8e20, 0x1d99f: 0x6c93f820,\n\t0x1d9a0: 0x6c686e20, 0x1d9a1: 0x6d1d4420, 0x1d9a2: 0x6c936220, 0x1d9a3: 0x6d36be20,\n\t0x1d9a4: 0x6d098620, 0x1d9a5: 0x6c211e20, 0x1d9a6: 0x6c8c6620, 0x1d9a7: 0x6ce78e20,\n\t0x1d9a8: 0x6caec820, 0x1d9a9: 0x6ca6cc20, 0x1d9aa: 0x6c1fcc20, 0x1d9ab: 0x6c8a1e20,\n\t0x1d9ac: 0x6c256620, 0x1d9ad: 0x6c4a8e20, 0x1d9ae: 0x6cff1620, 0x1d9af: 0x6ce29020,\n\t0x1d9b0: 0x6c38c220, 0x1d9b1: 0x6d349a20, 0x1d9b2: 0x6c688020, 0x1d9b3: 0x6ccdb420,\n\t0x1d9b4: 0x6c550420, 0x1d9b5: 0x6c255c20, 0x1d9b6: 0x6cc90a20, 0x1d9b7: 0x6cfd8a20,\n\t0x1d9b8: 0x6cdc1020, 0x1d9b9: 0x6c3bf020, 0x1d9ba: 0x6d1c0020, 0x1d9bb: 0x6ccd1620,\n\t0x1d9bc: 0x6d3b5c20, 0x1d9bd: 0x6c284c20, 0x1d9be: 0x6c7b4020, 0x1d9bf: 0x6ca9d220,\n\t// Block 0x767, offset 0x1d9c0\n\t0x1d9c0: 0x6cea7020, 0x1d9c1: 0x6c886a20, 0x1d9c2: 0x6c0a7620, 0x1d9c3: 0x6d1dc020,\n\t0x1d9c4: 0x6c74cc20, 0x1d9c5: 0x6c1f8020, 0x1d9c6: 0x6d18d420, 0x1d9c7: 0x6c732c20,\n\t0x1d9c8: 0x6c7e9820, 0x1d9c9: 0x6c88ce20, 0x1d9ca: 0x6ccac420, 0x1d9cb: 0x6cea7420,\n\t0x1d9cc: 0x6c47da20, 0x1d9cd: 0x6cb67820, 0x1d9ce: 0x6c257c20, 0x1d9cf: 0x6c0d8e20,\n\t0x1d9d0: 0x6d09bc20, 0x1d9d1: 0x6ca53a20, 0x1d9d2: 0x6cf32020, 0x1d9d3: 0x6d2a0e20,\n\t0x1d9d4: 0x6cfd3420, 0x1d9d5: 0x6c0c4420, 0x1d9d6: 0x6d044020, 0x1d9d7: 0x6c7b5c20,\n\t0x1d9d8: 0x6c7eaa20, 0x1d9d9: 0x6d0c4220, 0x1d9da: 0x6c918820, 0x1d9db: 0x6c5e4220,\n\t0x1d9dc: 0x6d28a020, 0x1d9dd: 0x6c95cc20, 0x1d9de: 0x6cc21020, 0x1d9df: 0x6d2a1020,\n\t0x1d9e0: 0x6c946c20, 0x1d9e1: 0x6ca61e20, 0x1d9e2: 0x6d28aa20, 0x1d9e3: 0x6c189420,\n\t0x1d9e4: 0x6cb8b620, 0x1d9e5: 0x6cf2da20, 0x1d9e6: 0x6c4a2420, 0x1d9e7: 0x6d29e220,\n\t0x1d9e8: 0x6c8bea20, 0x1d9e9: 0x6c4a0e20, 0x1d9ea: 0x6d3f2a20, 0x1d9eb: 0x6c68c420,\n\t0x1d9ec: 0x6ca80e20, 0x1d9ed: 0x6c1e4020, 0x1d9ee: 0x6c620c20, 0x1d9ef: 0x6c42c820,\n\t0x1d9f0: 0x6c1e4420, 0x1d9f1: 0x6c9dce20, 0x1d9f2: 0x6ca87420, 0x1d9f3: 0x6d357020,\n\t0x1d9f4: 0x6d35c620, 0x1d9f5: 0x6c43f220, 0x1d9f6: 0x6c669420, 0x1d9f7: 0x6c2eb220,\n\t0x1d9f8: 0x6d33e420, 0x1d9f9: 0x6d04d820, 0x1d9fa: 0x6cdf3220, 0x1d9fb: 0x6d319820,\n\t0x1d9fc: 0x6c6fd020, 0x1d9fd: 0x6cfc8420, 0x1d9fe: 0x6d20ca20, 0x1d9ff: 0x6c138620,\n\t// Block 0x768, offset 0x1da00\n\t0x1da00: 0x6d11a420, 0x1da01: 0x6d20e820, 0x1da02: 0x6c1cc220, 0x1da03: 0x6cf89020,\n\t0x1da04: 0x6cf89220, 0x1da05: 0x6c700620, 0x1da06: 0x6d217a20, 0x1da07: 0x6d227220,\n\t0x1da08: 0x6d043820, 0x1da09: 0x6c71d420, 0x1da0a: 0x6c702a20, 0x1da0b: 0x6d035820,\n\t0x1da0c: 0x6ccf0620, 0x1da0d: 0x6ccf2820, 0x1da0e: 0x6ccf9620, 0x1da0f: 0x6c6fb220,\n\t0x1da10: 0x6cd36020, 0x1da11: 0x6cdfa420, 0x1da12: 0x6cd4e220, 0x1da13: 0x6cd3b620,\n\t0x1da14: 0x6ce50820, 0x1da15: 0x6ce0a420, 0x1da16: 0x6cb4b020, 0x1da17: 0x6cb4b220,\n\t0x1da18: 0x6c496420, 0x1da19: 0x6c57cc20, 0x1da1a: 0x6ce54020, 0x1da1b: 0x6c201620,\n\t0x1da1c: 0x6cd75220, 0x1da1d: 0x6cf9d820, 0x1da1e: 0x6cf45e20, 0x1da1f: 0x6d385220,\n\t0x1da20: 0x6c29be20, 0x1da21: 0x6c1ff420, 0x1da22: 0x6cccd620, 0x1da23: 0x6d15d420,\n\t0x1da24: 0x6c397c20, 0x1da25: 0x6cabc020, 0x1da26: 0x6cdf6a20, 0x1da27: 0x6c389420,\n\t0x1da28: 0x6c04c820, 0x1da29: 0x6c1ff620, 0x1da2a: 0x6c4f6c20, 0x1da2b: 0x6c39d420,\n\t0x1da2c: 0x6c047a20, 0x1da2d: 0x6c08d420, 0x1da2e: 0x6c934820, 0x1da2f: 0x6d37b020,\n\t0x1da30: 0x6c667220, 0x1da31: 0x6c122a20, 0x1da32: 0x6c8cfc20, 0x1da33: 0x6d3a1020,\n\t0x1da34: 0x6d2ac620, 0x1da35: 0x6c34f220, 0x1da36: 0x6c0ef620, 0x1da37: 0x6cfb5020,\n\t0x1da38: 0x6c447620, 0x1da39: 0x6c1ff820, 0x1da3a: 0x6cf9b420, 0x1da3b: 0x6c914e20,\n\t0x1da3c: 0x6cbf2e20, 0x1da3d: 0x6cacfc20, 0x1da3e: 0x6cf62a20, 0x1da3f: 0x6c7af420,\n\t// Block 0x769, offset 0x1da40\n\t0x1da40: 0x6c3ea420, 0x1da41: 0x6d2a8620, 0x1da42: 0x6c3cb220, 0x1da43: 0x6c83f220,\n\t0x1da44: 0x6cce7820, 0x1da45: 0x6d216420, 0x1da46: 0x6c80d220, 0x1da47: 0x6ce6ce20,\n\t0x1da48: 0x6d237820, 0x1da49: 0x6cefe820, 0x1da4a: 0x6c0f3220, 0x1da4b: 0x6c9be020,\n\t0x1da4c: 0x6ca76c20, 0x1da4d: 0x6c70b420, 0x1da4e: 0x6c59f420, 0x1da4f: 0x6cd44a20,\n\t0x1da50: 0x6c78d020, 0x1da51: 0x6c0bb820, 0x1da52: 0x6ca2a620, 0x1da53: 0x6c2ede20,\n\t0x1da54: 0x6c315c20, 0x1da55: 0x6c059020, 0x1da56: 0x6c13ae20, 0x1da57: 0x6d18b220,\n\t0x1da58: 0x6cd9d820, 0x1da59: 0x6c123a20, 0x1da5a: 0x6c129c20, 0x1da5b: 0x6c90c020,\n\t0x1da5c: 0x6c279820, 0x1da5d: 0x6d098a20, 0x1da5e: 0x6d123420, 0x1da5f: 0x6c1cee20,\n\t0x1da60: 0x6c2b0820, 0x1da61: 0x6c291c20, 0x1da62: 0x6cbb2c20, 0x1da63: 0x6c91f620,\n\t0x1da64: 0x6d162220, 0x1da65: 0x6c60e020, 0x1da66: 0x6c670e20, 0x1da67: 0x6c5e3020,\n\t0x1da68: 0x6c9b8620, 0x1da69: 0x6cb69820, 0x1da6a: 0x6c91fe20, 0x1da6b: 0x6c919a20,\n\t0x1da6c: 0x6c157220, 0x1da6d: 0x6cd6c020, 0x1da6e: 0x6c449e20, 0x1da6f: 0x6c894620,\n\t0x1da70: 0x6c647220, 0x1da71: 0x6c650020, 0x1da72: 0x6ccb1420, 0x1da73: 0x6d0e5420,\n\t0x1da74: 0x6c3e6820, 0x1da75: 0x6cb25a20, 0x1da76: 0x6d0eea20, 0x1da77: 0x6d0f1c20,\n\t0x1da78: 0x6c12aa20, 0x1da79: 0x6c12c020, 0x1da7a: 0x6d164220, 0x1da7b: 0x6c821220,\n\t0x1da7c: 0x6ce62820, 0x1da7d: 0x6c681e20, 0x1da7e: 0x6c008420, 0x1da7f: 0x6ca39020,\n\t// Block 0x76a, offset 0x1da80\n\t0x1da80: 0x6ce56820, 0x1da81: 0x6c682020, 0x1da82: 0x6c6a5a20, 0x1da83: 0x6cae8c20,\n\t0x1da84: 0x6cecbe20, 0x1da85: 0x6d167020, 0x1da86: 0x6c145e20, 0x1da87: 0x6c9db820,\n\t0x1da88: 0x6c9cd820, 0x1da89: 0x6c416220, 0x1da8a: 0x6cb89e20, 0x1da8b: 0x6d22c820,\n\t0x1da8c: 0x6d22ca20, 0x1da8d: 0x6cce9620, 0x1da8e: 0x6cbeee20, 0x1da8f: 0x6c323020,\n\t0x1da90: 0x6c564c20, 0x1da91: 0x6cb6ce20, 0x1da92: 0x6c982c20, 0x1da93: 0x6d3f2e20,\n\t0x1da94: 0x6c5ba020, 0x1da95: 0x6cdbaa20, 0x1da96: 0x6d357220, 0x1da97: 0x6cfd6020,\n\t0x1da98: 0x6cafb020, 0x1da99: 0x6c3ddc20, 0x1da9a: 0x6cea4220, 0x1da9b: 0x6cef8a20,\n\t0x1da9c: 0x6cf3a820, 0x1da9d: 0x6d338420, 0x1da9e: 0x6cb73e20, 0x1da9f: 0x6cccbe20,\n\t0x1daa0: 0x6cf18020, 0x1daa1: 0x6cba3e20, 0x1daa2: 0x6cc56e20, 0x1daa3: 0x6c3dde20,\n\t0x1daa4: 0x6c79b620, 0x1daa5: 0x6c6bba20, 0x1daa6: 0x6c913620, 0x1daa7: 0x6d067420,\n\t0x1daa8: 0x6c5e8220, 0x1daa9: 0x6cbd5420, 0x1daaa: 0x6cb57620, 0x1daab: 0x6d0c5a20,\n\t0x1daac: 0x6c3b1420, 0x1daad: 0x6c032020, 0x1daae: 0x6cc8c020, 0x1daaf: 0x6d02ac20,\n\t0x1dab0: 0x6c618a20, 0x1dab1: 0x6c570620, 0x1dab2: 0x6c570820, 0x1dab3: 0x6c398620,\n\t0x1dab4: 0x6cf4ae20, 0x1dab5: 0x6c73e420, 0x1dab6: 0x6c466c20, 0x1dab7: 0x6d34ee20,\n\t0x1dab8: 0x6d278420, 0x1dab9: 0x6cbd5620, 0x1daba: 0x6c029e20, 0x1dabb: 0x6c1e7820,\n\t0x1dabc: 0x6c994620, 0x1dabd: 0x6d0b1420, 0x1dabe: 0x6c3a8020, 0x1dabf: 0x6cc63220,\n\t// Block 0x76b, offset 0x1dac0\n\t0x1dac0: 0x6c4f5a20, 0x1dac1: 0x6c22fc20, 0x1dac2: 0x6d1a2a20, 0x1dac3: 0x6d1fa220,\n\t0x1dac4: 0x6c0b7420, 0x1dac5: 0x6d169a20, 0x1dac6: 0x6cbd1020, 0x1dac7: 0x6cef8c20,\n\t0x1dac8: 0x6c858420, 0x1dac9: 0x6cb05420, 0x1daca: 0x6c35d420, 0x1dacb: 0x6cfc7c20,\n\t0x1dacc: 0x6c169a20, 0x1dacd: 0x6c122420, 0x1dace: 0x6d3aa620, 0x1dacf: 0x6cda4820,\n\t0x1dad0: 0x6ce30e20, 0x1dad1: 0x6d260220, 0x1dad2: 0x6cc4ae20, 0x1dad3: 0x6c8cb020,\n\t0x1dad4: 0x6cdf1a20, 0x1dad5: 0x6cce9820, 0x1dad6: 0x6c2b5c20, 0x1dad7: 0x6c9e6e20,\n\t0x1dad8: 0x6cbe9c20, 0x1dad9: 0x6c859620, 0x1dada: 0x6d1e7220, 0x1dadb: 0x6c77d820,\n\t0x1dadc: 0x6ca27220, 0x1dadd: 0x6c06ee20, 0x1dade: 0x6c05a820, 0x1dadf: 0x6c467220,\n\t0x1dae0: 0x6c9f3420, 0x1dae1: 0x6d15c420, 0x1dae2: 0x6d15ca20, 0x1dae3: 0x6c720020,\n\t0x1dae4: 0x6cb1de20, 0x1dae5: 0x6cc91420, 0x1dae6: 0x6c7a7620, 0x1dae7: 0x6ca8fa20,\n\t0x1dae8: 0x6ca62c20, 0x1dae9: 0x6c0ebc20, 0x1daea: 0x6c0dc820, 0x1daeb: 0x6cccc620,\n\t0x1daec: 0x6d051a20, 0x1daed: 0x6d119220, 0x1daee: 0x6cfa8420, 0x1daef: 0x6c079620,\n\t0x1daf0: 0x6c530620, 0x1daf1: 0x6d1ba220, 0x1daf2: 0x6d2c7420, 0x1daf3: 0x6c2fe220,\n\t0x1daf4: 0x6c706020, 0x1daf5: 0x6c2e6220, 0x1daf6: 0x6ca7de20, 0x1daf7: 0x6c417e20,\n\t0x1daf8: 0x6c54a820, 0x1daf9: 0x6cb27c20, 0x1dafa: 0x6c99dc20, 0x1dafb: 0x6c3e0220,\n\t0x1dafc: 0x6cd0e820, 0x1dafd: 0x6c46f620, 0x1dafe: 0x6c093e20, 0x1daff: 0x6cf07620,\n\t// Block 0x76c, offset 0x1db00\n\t0x1db00: 0x6c3e0420, 0x1db01: 0x6d3d2e20, 0x1db02: 0x6c994c20, 0x1db03: 0x6c393220,\n\t0x1db04: 0x6c633020, 0x1db05: 0x6c98cc20, 0x1db06: 0x6c98ce20, 0x1db07: 0x6c036a20,\n\t0x1db08: 0x6c223220, 0x1db09: 0x6ca0d620, 0x1db0a: 0x6d3e0620, 0x1db0b: 0x6c2be020,\n\t0x1db0c: 0x6c1b0a20, 0x1db0d: 0x6c61b220, 0x1db0e: 0x6c6d9420, 0x1db0f: 0x6c8f6e20,\n\t0x1db10: 0x6c23e220, 0x1db11: 0x6ca78e20, 0x1db12: 0x6d256c20, 0x1db13: 0x6d08fe20,\n\t0x1db14: 0x6d1c5a20, 0x1db15: 0x6cbf0020, 0x1db16: 0x6c43cc20, 0x1db17: 0x6c9ff020,\n\t0x1db18: 0x6c85ae20, 0x1db19: 0x6cc65c20, 0x1db1a: 0x6d1b3c20, 0x1db1b: 0x6c44b020,\n\t0x1db1c: 0x6cba4420, 0x1db1d: 0x6c148e20, 0x1db1e: 0x6c18aa20, 0x1db1f: 0x6d22e820,\n\t0x1db20: 0x6c4fa220, 0x1db21: 0x6d3f3420, 0x1db22: 0x6c8adc20, 0x1db23: 0x6cf3bc20,\n\t0x1db24: 0x6c61b420, 0x1db25: 0x6c4a4020, 0x1db26: 0x6c22bc20, 0x1db27: 0x6c657620,\n\t0x1db28: 0x6c223420, 0x1db29: 0x6c469e20, 0x1db2a: 0x6c49e220, 0x1db2b: 0x6c984420,\n\t0x1db2c: 0x6c13ce20, 0x1db2d: 0x6c683620, 0x1db2e: 0x6c683820, 0x1db2f: 0x6c3e2420,\n\t0x1db30: 0x6d20ea20, 0x1db31: 0x6d398e20, 0x1db32: 0x6d3e1420, 0x1db33: 0x6c675220,\n\t0x1db34: 0x6c5b2820, 0x1db35: 0x6d19b620, 0x1db36: 0x6c13d020, 0x1db37: 0x6c380820,\n\t0x1db38: 0x6cc64e20, 0x1db39: 0x6cc79420, 0x1db3a: 0x6c1cb620, 0x1db3b: 0x6c989220,\n\t0x1db3c: 0x6ce72c20, 0x1db3d: 0x6d381c20, 0x1db3e: 0x6cb8ac20, 0x1db3f: 0x6d3a0220,\n\t// Block 0x76d, offset 0x1db40\n\t0x1db40: 0x6d09f220, 0x1db41: 0x6c586820, 0x1db42: 0x6c3d5420, 0x1db43: 0x6cc2c620,\n\t0x1db44: 0x6c40ea20, 0x1db45: 0x6c264620, 0x1db46: 0x6c6d9a20, 0x1db47: 0x6d041c20,\n\t0x1db48: 0x6c201c20, 0x1db49: 0x6c12ac20, 0x1db4a: 0x6c6d9c20, 0x1db4b: 0x6c374820,\n\t0x1db4c: 0x6c01a820, 0x1db4d: 0x6cbbd420, 0x1db4e: 0x6c1b1220, 0x1db4f: 0x6cc58c20,\n\t0x1db50: 0x6c666020, 0x1db51: 0x6ce31220, 0x1db52: 0x6c598420, 0x1db53: 0x6cb28e20,\n\t0x1db54: 0x6c85b020, 0x1db55: 0x6c6c3620, 0x1db56: 0x6c81aa20, 0x1db57: 0x6cd5b620,\n\t0x1db58: 0x6d3c0e20, 0x1db59: 0x6c268c20, 0x1db5a: 0x6c63a820, 0x1db5b: 0x6cc52220,\n\t0x1db5c: 0x6c095620, 0x1db5d: 0x6d2ab420, 0x1db5e: 0x6cbbd620, 0x1db5f: 0x6c5ba220,\n\t0x1db60: 0x6c61b620, 0x1db61: 0x6c295c20, 0x1db62: 0x6d24c020, 0x1db63: 0x6cc65e20,\n\t0x1db64: 0x6c5cb620, 0x1db65: 0x6d03d420, 0x1db66: 0x6c95ec20, 0x1db67: 0x6d1c5e20,\n\t0x1db68: 0x6d09f420, 0x1db69: 0x6c6ce420, 0x1db6a: 0x6cdcce20, 0x1db6b: 0x6d19b820,\n\t0x1db6c: 0x6c971220, 0x1db6d: 0x6c532020, 0x1db6e: 0x6d391420, 0x1db6f: 0x6d11f620,\n\t0x1db70: 0x6c324c20, 0x1db71: 0x6cefa420, 0x1db72: 0x6c83b020, 0x1db73: 0x6c310820,\n\t0x1db74: 0x6c3d6020, 0x1db75: 0x6cc59220, 0x1db76: 0x6d1a4c20, 0x1db77: 0x6c50fc20,\n\t0x1db78: 0x6c08a020, 0x1db79: 0x6c108820, 0x1db7a: 0x6d27e220, 0x1db7b: 0x6c2b6620,\n\t0x1db7c: 0x6ce89820, 0x1db7d: 0x6cdbba20, 0x1db7e: 0x6cdbbc20, 0x1db7f: 0x6c19d020,\n\t// Block 0x76e, offset 0x1db80\n\t0x1db80: 0x6c18b420, 0x1db81: 0x6cf3be20, 0x1db82: 0x6c0ce420, 0x1db83: 0x6cf5d020,\n\t0x1db84: 0x6c450420, 0x1db85: 0x6c85de20, 0x1db86: 0x6cb43420, 0x1db87: 0x6d3ae020,\n\t0x1db88: 0x6ca10020, 0x1db89: 0x6c85e020, 0x1db8a: 0x6d3c1420, 0x1db8b: 0x6d423420,\n\t0x1db8c: 0x6ceab820, 0x1db8d: 0x6cc03820, 0x1db8e: 0x6ccbe420, 0x1db8f: 0x6cdd1220,\n\t0x1db90: 0x6c18b620, 0x1db91: 0x6cae9620, 0x1db92: 0x6c71ae20, 0x1db93: 0x6c99e820,\n\t0x1db94: 0x6c9b1220, 0x1db95: 0x6d042420, 0x1db96: 0x6c6da220, 0x1db97: 0x6c17d820,\n\t0x1db98: 0x6ccfd420, 0x1db99: 0x6c756820, 0x1db9a: 0x6d0c7a20, 0x1db9b: 0x6ce66620,\n\t0x1db9c: 0x6d1f2020, 0x1db9d: 0x6c261e20, 0x1db9e: 0x6c494c20, 0x1db9f: 0x6c4ea020,\n\t0x1dba0: 0x6d1fbe20, 0x1dba1: 0x6c262020, 0x1dba2: 0x6c63b420, 0x1dba3: 0x6cede220,\n\t0x1dba4: 0x6cda9620, 0x1dba5: 0x6ca99220, 0x1dba6: 0x6cce6420, 0x1dba7: 0x6cfcac20,\n\t0x1dba8: 0x6c811a20, 0x1dba9: 0x6c3e4020, 0x1dbaa: 0x6c355a20, 0x1dbab: 0x6ca10220,\n\t0x1dbac: 0x6cf20420, 0x1dbad: 0x6c6aa820, 0x1dbae: 0x6ca3f420, 0x1dbaf: 0x6ca27c20,\n\t0x1dbb0: 0x6c76c820, 0x1dbb1: 0x6c7eee20, 0x1dbb2: 0x6c87f820, 0x1dbb3: 0x6cd26020,\n\t0x1dbb4: 0x6cf28220, 0x1dbb5: 0x6ce93020, 0x1dbb6: 0x6cfa9620, 0x1dbb7: 0x6c5db220,\n\t0x1dbb8: 0x6d1f2220, 0x1dbb9: 0x6d1c6020, 0x1dbba: 0x6d1ba820, 0x1dbbb: 0x6c461e20,\n\t0x1dbbc: 0x6c213e20, 0x1dbbd: 0x6c988a20, 0x1dbbe: 0x6c988c20, 0x1dbbf: 0x6c22c220,\n\t// Block 0x76f, offset 0x1dbc0\n\t0x1dbc0: 0x6ced1020, 0x1dbc1: 0x6c6db220, 0x1dbc2: 0x6c2c4e20, 0x1dbc3: 0x6cc18020,\n\t0x1dbc4: 0x6c2ffe20, 0x1dbc5: 0x6c648c20, 0x1dbc6: 0x6d405020, 0x1dbc7: 0x6c483a20,\n\t0x1dbc8: 0x6c7e4420, 0x1dbc9: 0x6c924820, 0x1dbca: 0x6c711c20, 0x1dbcb: 0x6cf08620,\n\t0x1dbcc: 0x6c757020, 0x1dbcd: 0x6ca82220, 0x1dbce: 0x6c7d5c20, 0x1dbcf: 0x6c511a20,\n\t0x1dbd0: 0x6cb43a20, 0x1dbd1: 0x6d290020, 0x1dbd2: 0x6c430420, 0x1dbd3: 0x6c4cbc20,\n\t0x1dbd4: 0x6c3e6c20, 0x1dbd5: 0x6c94f620, 0x1dbd6: 0x6c166a20, 0x1dbd7: 0x6c1daa20,\n\t0x1dbd8: 0x6cd91e20, 0x1dbd9: 0x6c20ca20, 0x1dbda: 0x6d2e5e20, 0x1dbdb: 0x6c9acc20,\n\t0x1dbdc: 0x6c114420, 0x1dbdd: 0x6c037820, 0x1dbde: 0x6c83c820, 0x1dbdf: 0x6ce8aa20,\n\t0x1dbe0: 0x6c0e7020, 0x1dbe1: 0x6c4eb620, 0x1dbe2: 0x6c064620, 0x1dbe3: 0x6cbe1220,\n\t0x1dbe4: 0x6c731e20, 0x1dbe5: 0x6cf60020, 0x1dbe6: 0x6cbd6a20, 0x1dbe7: 0x6c2bf220,\n\t0x1dbe8: 0x6c6a0420, 0x1dbe9: 0x6cb43820, 0x1dbea: 0x6c296220, 0x1dbeb: 0x6c6c9020,\n\t0x1dbec: 0x6cbbde20, 0x1dbed: 0x6cdf2220, 0x1dbee: 0x6c44c820, 0x1dbef: 0x6c573420,\n\t0x1dbf0: 0x6c470c20, 0x1dbf1: 0x6c8cfe20, 0x1dbf2: 0x6c39fe20, 0x1dbf3: 0x6cbd7020,\n\t0x1dbf4: 0x6c012a20, 0x1dbf5: 0x6cee1620, 0x1dbf6: 0x6c081c20, 0x1dbf7: 0x6d38e220,\n\t0x1dbf8: 0x6d0c0020, 0x1dbf9: 0x6c709020, 0x1dbfa: 0x6c648e20, 0x1dbfb: 0x6c8c1e20,\n\t0x1dbfc: 0x6ce05c20, 0x1dbfd: 0x6cd4d420, 0x1dbfe: 0x6ce49e20, 0x1dbff: 0x6c2a1420,\n\t// Block 0x770, offset 0x1dc00\n\t0x1dc00: 0x6c561c20, 0x1dc01: 0x6cb5d020, 0x1dc02: 0x6c511c20, 0x1dc03: 0x6c253820,\n\t0x1dc04: 0x6ce22420, 0x1dc05: 0x6c210420, 0x1dc06: 0x6c098a20, 0x1dc07: 0x6c16aa20,\n\t0x1dc08: 0x6c586e20, 0x1dc09: 0x6c3aa620, 0x1dc0a: 0x6c7f0020, 0x1dc0b: 0x6cb4ee20,\n\t0x1dc0c: 0x6c9b1420, 0x1dc0d: 0x6cb2a020, 0x1dc0e: 0x6cee7420, 0x1dc0f: 0x6c288220,\n\t0x1dc10: 0x6ccc4e20, 0x1dc11: 0x6c587020, 0x1dc12: 0x6d0d6e20, 0x1dc13: 0x6d14ee20,\n\t0x1dc14: 0x6ce58420, 0x1dc15: 0x6cb5d220, 0x1dc16: 0x6ced1220, 0x1dc17: 0x6c12e220,\n\t0x1dc18: 0x6ca3bc20, 0x1dc19: 0x6d327c20, 0x1dc1a: 0x6ceba420, 0x1dc1b: 0x6c6f6c20,\n\t0x1dc1c: 0x6ce5ee20, 0x1dc1d: 0x6c954220, 0x1dc1e: 0x6c0ae020, 0x1dc1f: 0x6d199220,\n\t0x1dc20: 0x6c9b1620, 0x1dc21: 0x6c100820, 0x1dc22: 0x6cada820, 0x1dc23: 0x6c2fc620,\n\t0x1dc24: 0x6d1c6420, 0x1dc25: 0x6d1c6620, 0x1dc26: 0x6d1c6820, 0x1dc27: 0x6cfebc20,\n\t0x1dc28: 0x6cc97420, 0x1dc29: 0x6cbfb020, 0x1dc2a: 0x6c77fc20, 0x1dc2b: 0x6cfe3620,\n\t0x1dc2c: 0x6ced8620, 0x1dc2d: 0x6d226020, 0x1dc2e: 0x6d213620, 0x1dc2f: 0x6c3ffa20,\n\t0x1dc30: 0x6c88fe20, 0x1dc31: 0x6d07a220, 0x1dc32: 0x6d07a420, 0x1dc33: 0x6ca42a20,\n\t0x1dc34: 0x6c12f620, 0x1dc35: 0x6cf28e20, 0x1dc36: 0x6c217a20, 0x1dc37: 0x6cfece20,\n\t0x1dc38: 0x6d210620, 0x1dc39: 0x6c0b4020, 0x1dc3a: 0x6c998420, 0x1dc3b: 0x6c013420,\n\t0x1dc3c: 0x6c364020, 0x1dc3d: 0x6c960a20, 0x1dc3e: 0x6d1c7820, 0x1dc3f: 0x6c7dfc20,\n\t// Block 0x771, offset 0x1dc40\n\t0x1dc40: 0x6c7dfe20, 0x1dc41: 0x6c676420, 0x1dc42: 0x6c9e2a20, 0x1dc43: 0x6d42a020,\n\t0x1dc44: 0x6d42a220, 0x1dc45: 0x6d409c20, 0x1dc46: 0x6c060020, 0x1dc47: 0x6cc74e20,\n\t0x1dc48: 0x6cf7ec20, 0x1dc49: 0x6d12f620, 0x1dc4a: 0x6c013620, 0x1dc4b: 0x6cc19420,\n\t0x1dc4c: 0x6c64a820, 0x1dc4d: 0x6c3e8e20, 0x1dc4e: 0x6c93e420, 0x1dc4f: 0x6c6dbe20,\n\t0x1dc50: 0x6cae4220, 0x1dc51: 0x6c3c5020, 0x1dc52: 0x6c535220, 0x1dc53: 0x6c535420,\n\t0x1dc54: 0x6c540820, 0x1dc55: 0x6d0e7a20, 0x1dc56: 0x6ce86420, 0x1dc57: 0x6d311420,\n\t0x1dc58: 0x6d3e4620, 0x1dc59: 0x6cfd7a20, 0x1dc5a: 0x6cc5f620, 0x1dc5b: 0x6c43f420,\n\t0x1dc5c: 0x6cb82c20, 0x1dc5d: 0x6cbe8020, 0x1dc5e: 0x6c9cf820, 0x1dc5f: 0x6c59c820,\n\t0x1dc60: 0x6ccff220, 0x1dc61: 0x6cb43c20, 0x1dc62: 0x6c413820, 0x1dc63: 0x6c303020,\n\t0x1dc64: 0x6d392a20, 0x1dc65: 0x6c669620, 0x1dc66: 0x6cefcc20, 0x1dc67: 0x6c0f0820,\n\t0x1dc68: 0x6cee9220, 0x1dc69: 0x6cabc620, 0x1dc6a: 0x6c620e20, 0x1dc6b: 0x6c556620,\n\t0x1dc6c: 0x6d2a0820, 0x1dc6d: 0x6c636220, 0x1dc6e: 0x6c32c620, 0x1dc6f: 0x6d120a20,\n\t0x1dc70: 0x6cdbc420, 0x1dc71: 0x6c231c20, 0x1dc72: 0x6cc2fa20, 0x1dc73: 0x6cee9420,\n\t0x1dc74: 0x6d315820, 0x1dc75: 0x6c7c7a20, 0x1dc76: 0x6ce67820, 0x1dc77: 0x6c5cd220,\n\t0x1dc78: 0x6cf7ee20, 0x1dc79: 0x6cd1c220, 0x1dc7a: 0x6cb79a20, 0x1dc7b: 0x6c7f9e20,\n\t0x1dc7c: 0x6d3f9420, 0x1dc7d: 0x6d10a820, 0x1dc7e: 0x6d24f020, 0x1dc7f: 0x6c9a0620,\n\t// Block 0x772, offset 0x1dc80\n\t0x1dc80: 0x6d275220, 0x1dc81: 0x6cd5c820, 0x1dc82: 0x6c2c6220, 0x1dc83: 0x6d3bc620,\n\t0x1dc84: 0x6c491820, 0x1dc85: 0x6cc4dc20, 0x1dc86: 0x6d08e020, 0x1dc87: 0x6c15b820,\n\t0x1dc88: 0x6c765a20, 0x1dc89: 0x6c7d0020, 0x1dc8a: 0x6c571620, 0x1dc8b: 0x6c67a820,\n\t0x1dc8c: 0x6c908e20, 0x1dc8d: 0x6cefce20, 0x1dc8e: 0x6cac2a20, 0x1dc8f: 0x6d206c20,\n\t0x1dc90: 0x6cd9b620, 0x1dc91: 0x6d1b6220, 0x1dc92: 0x6cd1d420, 0x1dc93: 0x6c215420,\n\t0x1dc94: 0x6cd27620, 0x1dc95: 0x6d275a20, 0x1dc96: 0x6d317220, 0x1dc97: 0x6c812220,\n\t0x1dc98: 0x6cc7b420, 0x1dc99: 0x6c9b2a20, 0x1dc9a: 0x6c863a20, 0x1dc9b: 0x6cc38e20,\n\t0x1dc9c: 0x6cdb9c20, 0x1dc9d: 0x6d258a20, 0x1dc9e: 0x6c863c20, 0x1dc9f: 0x6c71c420,\n\t0x1dca0: 0x6cf65620, 0x1dca1: 0x6c057e20, 0x1dca2: 0x6c1e8220, 0x1dca3: 0x6d062020,\n\t0x1dca4: 0x6ce8cc20, 0x1dca5: 0x6c8e7020, 0x1dca6: 0x6c5de020, 0x1dca7: 0x6c2d2220,\n\t0x1dca8: 0x6cba5e20, 0x1dca9: 0x6d409e20, 0x1dcaa: 0x6cb39820, 0x1dcab: 0x6c25e420,\n\t0x1dcac: 0x6d24fa20, 0x1dcad: 0x6c1e9020, 0x1dcae: 0x6d237a20, 0x1dcaf: 0x6c7afe20,\n\t0x1dcb0: 0x6cac6220, 0x1dcb1: 0x6cb43e20, 0x1dcb2: 0x6cb44020, 0x1dcb3: 0x6ca35820,\n\t0x1dcb4: 0x6cd78820, 0x1dcb5: 0x6cf78820, 0x1dcb6: 0x6c3b7c20, 0x1dcb7: 0x6d27b820,\n\t0x1dcb8: 0x6d32d220, 0x1dcb9: 0x6c64c020, 0x1dcba: 0x6c605e20, 0x1dcbb: 0x6cc92220,\n\t0x1dcbc: 0x6c123620, 0x1dcbd: 0x6c371820, 0x1dcbe: 0x6c9c5820, 0x1dcbf: 0x6c4fa820,\n\t// Block 0x773, offset 0x1dcc0\n\t0x1dcc0: 0x6cdcd820, 0x1dcc1: 0x6d317420, 0x1dcc2: 0x6ca00c20, 0x1dcc3: 0x6cd9b820,\n\t0x1dcc4: 0x6d06fe20, 0x1dcc5: 0x6c8e7220, 0x1dcc6: 0x6cf78a20, 0x1dcc7: 0x6c479220,\n\t0x1dcc8: 0x6c80c020, 0x1dcc9: 0x6cc68c20, 0x1dcca: 0x6cf25420, 0x1dccb: 0x6c414820,\n\t0x1dccc: 0x6c263020, 0x1dccd: 0x6cd1d620, 0x1dcce: 0x6ce10820, 0x1dccf: 0x6c95b620,\n\t0x1dcd0: 0x6cc82020, 0x1dcd1: 0x6cdd2820, 0x1dcd2: 0x6d07ae20, 0x1dcd3: 0x6c073620,\n\t0x1dcd4: 0x6d11ba20, 0x1dcd5: 0x6c4b5620, 0x1dcd6: 0x6c09da20, 0x1dcd7: 0x6d3ffc20,\n\t0x1dcd8: 0x6c4bd220, 0x1dcd9: 0x6d42ba20, 0x1dcda: 0x6ce58620, 0x1dcdb: 0x6c12fe20,\n\t0x1dcdc: 0x6cae2e20, 0x1dcdd: 0x6c7fa420, 0x1dcde: 0x6c28b620, 0x1dcdf: 0x6c622420,\n\t0x1dce0: 0x6c83f420, 0x1dce1: 0x6ccffa20, 0x1dce2: 0x6c810620, 0x1dce3: 0x6d237c20,\n\t0x1dce4: 0x6c8e2e20, 0x1dce5: 0x6d1c8420, 0x1dce6: 0x6ca13020, 0x1dce7: 0x6c2e3020,\n\t0x1dce8: 0x6ce58e20, 0x1dce9: 0x6c993c20, 0x1dcea: 0x6ce6fa20, 0x1dceb: 0x6c1f5a20,\n\t0x1dcec: 0x6caeae20, 0x1dced: 0x6c014020, 0x1dcee: 0x6c881820, 0x1dcef: 0x6c233220,\n\t0x1dcf0: 0x6cf80220, 0x1dcf1: 0x6cb2ae20, 0x1dcf2: 0x6cbfb820, 0x1dcf3: 0x6c6ca620,\n\t0x1dcf4: 0x6c215820, 0x1dcf5: 0x6c6b1420, 0x1dcf6: 0x6cef2420, 0x1dcf7: 0x6ce99620,\n\t0x1dcf8: 0x6c128220, 0x1dcf9: 0x6d23ca20, 0x1dcfa: 0x6d183620, 0x1dcfb: 0x6d3ed220,\n\t0x1dcfc: 0x6c8a7220, 0x1dcfd: 0x6c09dc20, 0x1dcfe: 0x6c91ce20, 0x1dcff: 0x6d077620,\n\t// Block 0x774, offset 0x1dd00\n\t0x1dd00: 0x6c10a820, 0x1dd01: 0x6d2ed020, 0x1dd02: 0x6c824a20, 0x1dd03: 0x6cbb1c20,\n\t0x1dd04: 0x6c97f220, 0x1dd05: 0x6d0cb820, 0x1dd06: 0x6c8d3e20, 0x1dd07: 0x6c621020,\n\t0x1dd08: 0x6c0c0e20, 0x1dd09: 0x6c4bde20, 0x1dd0a: 0x6c4e5c20, 0x1dd0b: 0x6c2b8220,\n\t0x1dd0c: 0x6cdaf020, 0x1dd0d: 0x6c929620, 0x1dd0e: 0x6ccf6c20, 0x1dd0f: 0x6cce1420,\n\t0x1dd10: 0x6c2b8420, 0x1dd11: 0x6c9ee420, 0x1dd12: 0x6d09a220, 0x1dd13: 0x6c97f420,\n\t0x1dd14: 0x6c0f3420, 0x1dd15: 0x6c2c8420, 0x1dd16: 0x6c25ea20, 0x1dd17: 0x6d311620,\n\t0x1dd18: 0x6cd00a20, 0x1dd19: 0x6d08a620, 0x1dd1a: 0x6cf0b220, 0x1dd1b: 0x6c558220,\n\t0x1dd1c: 0x6c025620, 0x1dd1d: 0x6c9cfc20, 0x1dd1e: 0x6c90aa20, 0x1dd1f: 0x6c244a20,\n\t0x1dd20: 0x6d37c220, 0x1dd21: 0x6c114820, 0x1dd22: 0x6cb33220, 0x1dd23: 0x6c67b220,\n\t0x1dd24: 0x6c9d6e20, 0x1dd25: 0x6c233420, 0x1dd26: 0x6ca7a220, 0x1dd27: 0x6c5c0220,\n\t0x1dd28: 0x6c738620, 0x1dd29: 0x6d1a8420, 0x1dd2a: 0x6c66ac20, 0x1dd2b: 0x6ca6f020,\n\t0x1dd2c: 0x6cd50220, 0x1dd2d: 0x6d19f020, 0x1dd2e: 0x6c4c7e20, 0x1dd2f: 0x6c18d620,\n\t0x1dd30: 0x6c56bc20, 0x1dd31: 0x6ccc0020, 0x1dd32: 0x6c79fc20, 0x1dd33: 0x6cba6e20,\n\t0x1dd34: 0x6c966e20, 0x1dd35: 0x6d29e420, 0x1dd36: 0x6d2b5a20, 0x1dd37: 0x6cbb1620,\n\t0x1dd38: 0x6c30ba20, 0x1dd39: 0x6c88c620, 0x1dd3a: 0x6c8c5a20, 0x1dd3b: 0x6c79fe20,\n\t0x1dd3c: 0x6c007020, 0x1dd3d: 0x6c0a0a20, 0x1dd3e: 0x6c843220, 0x1dd3f: 0x6cf00a20,\n\t// Block 0x775, offset 0x1dd40\n\t0x1dd40: 0x6c609620, 0x1dd41: 0x6cb9c420, 0x1dd42: 0x6cd17620, 0x1dd43: 0x6c385c20,\n\t0x1dd44: 0x6c9b3c20, 0x1dd45: 0x6cab9020, 0x1dd46: 0x6c15dc20, 0x1dd47: 0x6c2d2820,\n\t0x1dd48: 0x6d0aa420, 0x1dd49: 0x6c687020, 0x1dd4a: 0x6cc8ac20, 0x1dd4b: 0x6cc8ae20,\n\t0x1dd4c: 0x6c82d420, 0x1dd4d: 0x6d218e20, 0x1dd4e: 0x6cbbf220, 0x1dd4f: 0x6c1ea020,\n\t0x1dd50: 0x6c575220, 0x1dd51: 0x6c64e220, 0x1dd52: 0x6c971a20, 0x1dd53: 0x6d27c220,\n\t0x1dd54: 0x6c05b820, 0x1dd55: 0x6d1f6820, 0x1dd56: 0x6cc1aa20, 0x1dd57: 0x6c92da20,\n\t0x1dd58: 0x6cc52a20, 0x1dd59: 0x6c5c1e20, 0x1dd5a: 0x6c369020, 0x1dd5b: 0x6ce36a20,\n\t0x1dd5c: 0x6c3a6a20, 0x1dd5d: 0x6c749e20, 0x1dd5e: 0x6d41c820, 0x1dd5f: 0x6c384020,\n\t0x1dd60: 0x6cc7c020, 0x1dd61: 0x6c3b8e20, 0x1dd62: 0x6c7d1620, 0x1dd63: 0x6cd75820,\n\t0x1dd64: 0x6cc8a220, 0x1dd65: 0x6d0b5e20, 0x1dd66: 0x6d05dc20, 0x1dd67: 0x6c403c20,\n\t0x1dd68: 0x6c74a020, 0x1dd69: 0x6c298a20, 0x1dd6a: 0x6cf3e420, 0x1dd6b: 0x6c303a20,\n\t0x1dd6c: 0x6cd82420, 0x1dd6d: 0x6cff1820, 0x1dd6e: 0x6cf8d020, 0x1dd6f: 0x6c8fa020,\n\t0x1dd70: 0x6cf16420, 0x1dd71: 0x6ccee820, 0x1dd72: 0x6cb64220, 0x1dd73: 0x6c64e420,\n\t0x1dd74: 0x6d284e20, 0x1dd75: 0x6cdcde20, 0x1dd76: 0x6c8d5a20, 0x1dd77: 0x6d23f220,\n\t0x1dd78: 0x6cf9ec20, 0x1dd79: 0x6cf27220, 0x1dd7a: 0x6c609820, 0x1dd7b: 0x6c538820,\n\t0x1dd7c: 0x6cd8ee20, 0x1dd7d: 0x6ca9ca20, 0x1dd7e: 0x6c82da20, 0x1dd7f: 0x6d07ce20,\n\t// Block 0x776, offset 0x1dd80\n\t0x1dd80: 0x6d285620, 0x1dd81: 0x6d23cc20, 0x1dd82: 0x6cf7a420, 0x1dd83: 0x6c506e20,\n\t0x1dd84: 0x6c05d620, 0x1dd85: 0x6c4fae20, 0x1dd86: 0x6c00d220, 0x1dd87: 0x6ceeba20,\n\t0x1dd88: 0x6c5c3c20, 0x1dd89: 0x6c5c3e20, 0x1dd8a: 0x6c628220, 0x1dd8b: 0x6c226e20,\n\t0x1dd8c: 0x6cfd8420, 0x1dd8d: 0x6ced9a20, 0x1dd8e: 0x6c9ee820, 0x1dd8f: 0x6d18b420,\n\t0x1dd90: 0x6c838820, 0x1dd91: 0x6c677e20, 0x1dd92: 0x6c120820, 0x1dd93: 0x6cd01e20,\n\t0x1dd94: 0x6cbb2620, 0x1dd95: 0x6c885a20, 0x1dd96: 0x6c781c20, 0x1dd97: 0x6d25ae20,\n\t0x1dd98: 0x6c26c020, 0x1dd99: 0x6ce42220, 0x1dd9a: 0x6ce0d420, 0x1dd9b: 0x6d08e820,\n\t0x1dd9c: 0x6c0a5c20, 0x1dd9d: 0x6d2d9a20, 0x1dd9e: 0x6cdce020, 0x1dd9f: 0x6cfad820,\n\t0x1dda0: 0x6c38c420, 0x1dda1: 0x6c2f8220, 0x1dda2: 0x6d021c20, 0x1dda3: 0x6c47d220,\n\t0x1dda4: 0x6d021e20, 0x1dda5: 0x6cd56e20, 0x1dda6: 0x6c66d420, 0x1dda7: 0x6c4fb020,\n\t0x1dda8: 0x6c52ca20, 0x1dda9: 0x6cc99820, 0x1ddaa: 0x6d02f220, 0x1ddab: 0x6d09aa20,\n\t0x1ddac: 0x6d122420, 0x1ddad: 0x6c046a20, 0x1ddae: 0x6cda2c20, 0x1ddaf: 0x6cd57020,\n\t0x1ddb0: 0x6d09b420, 0x1ddb1: 0x6c336a20, 0x1ddb2: 0x6cb21a20, 0x1ddb3: 0x6cf01820,\n\t0x1ddb4: 0x6ca92820, 0x1ddb5: 0x6c1df020, 0x1ddb6: 0x6c970420, 0x1ddb7: 0x6cc7d420,\n\t0x1ddb8: 0x6cb18620, 0x1ddb9: 0x6cdf4c20, 0x1ddba: 0x6c62a020, 0x1ddbb: 0x6d2a5a20,\n\t0x1ddbc: 0x6c18f020, 0x1ddbd: 0x6d319a20, 0x1ddbe: 0x6c37a820, 0x1ddbf: 0x6ca65420,\n\t// Block 0x777, offset 0x1ddc0\n\t0x1ddc0: 0x6d1ca820, 0x1ddc1: 0x6c432620, 0x1ddc2: 0x6c23b820, 0x1ddc3: 0x6cff2420,\n\t0x1ddc4: 0x6cb66020, 0x1ddc5: 0x6c382820, 0x1ddc6: 0x6c65e420, 0x1ddc7: 0x6d073e20,\n\t0x1ddc8: 0x6c7ca620, 0x1ddc9: 0x6c60c620, 0x1ddca: 0x6c0b5820, 0x1ddcb: 0x6c2e4620,\n\t0x1ddcc: 0x6c9d9420, 0x1ddcd: 0x6c7fc420, 0x1ddce: 0x6c6d6420, 0x1ddcf: 0x6c124e20,\n\t0x1ddd0: 0x6c9ea020, 0x1ddd1: 0x6cbf6e20, 0x1ddd2: 0x6cbcec20, 0x1ddd3: 0x6cfc3420,\n\t0x1ddd4: 0x6c8a5420, 0x1ddd5: 0x6cab9820, 0x1ddd6: 0x6cfbb620, 0x1ddd7: 0x6cdb4020,\n\t0x1ddd8: 0x6c936a20, 0x1ddd9: 0x6d18f020, 0x1ddda: 0x6d075220, 0x1dddb: 0x6d014c20,\n\t0x1dddc: 0x6c847220, 0x1dddd: 0x6d18f220, 0x1ddde: 0x6c7e6620, 0x1dddf: 0x6c82f020,\n\t0x1dde0: 0x6c69ca20, 0x1dde1: 0x6c2b9a20, 0x1dde2: 0x6d355a20, 0x1dde3: 0x6c06bc20,\n\t0x1dde4: 0x6ce2c220, 0x1dde5: 0x6d123620, 0x1dde6: 0x6ca17c20, 0x1dde7: 0x6c595e20,\n\t0x1dde8: 0x6c0c3e20, 0x1dde9: 0x6c386820, 0x1ddea: 0x6cda3220, 0x1ddeb: 0x6ce02e20,\n\t0x1ddec: 0x6ce99a20, 0x1dded: 0x6cbf8020, 0x1ddee: 0x6cbc0820, 0x1ddef: 0x6cf0f620,\n\t0x1ddf0: 0x6c8ebc20, 0x1ddf1: 0x6c5c5c20, 0x1ddf2: 0x6cabac20, 0x1ddf3: 0x6c432c20,\n\t0x1ddf4: 0x6d286220, 0x1ddf5: 0x6c068a20, 0x1ddf6: 0x6c870a20, 0x1ddf7: 0x6cd57e20,\n\t0x1ddf8: 0x6c1ebe20, 0x1ddf9: 0x6c007e20, 0x1ddfa: 0x6c8c7a20, 0x1ddfb: 0x6d2a6020,\n\t0x1ddfc: 0x6d07e620, 0x1ddfd: 0x6cbe2820, 0x1ddfe: 0x6c7f7220, 0x1ddff: 0x6c5e3220,\n\t// Block 0x778, offset 0x1de00\n\t0x1de00: 0x6cebb620, 0x1de01: 0x6cf54420, 0x1de02: 0x6cc8b820, 0x1de03: 0x6cc8ba20,\n\t0x1de04: 0x6cb68420, 0x1de05: 0x6c528020, 0x1de06: 0x6c917820, 0x1de07: 0x6cda6420,\n\t0x1de08: 0x6ce9d020, 0x1de09: 0x6c9b8a20, 0x1de0a: 0x6d287020, 0x1de0b: 0x6cb2dc20,\n\t0x1de0c: 0x6d22b020, 0x1de0d: 0x6d09c220, 0x1de0e: 0x6c62be20, 0x1de0f: 0x6c6eec20,\n\t0x1de10: 0x6d07e820, 0x1de11: 0x6ca09020, 0x1de12: 0x6cc0c220, 0x1de13: 0x6cda6620,\n\t0x1de14: 0x6c6eee20, 0x1de15: 0x6c3d0420, 0x1de16: 0x6ca8a620, 0x1de17: 0x6c0ffe20,\n\t0x1de18: 0x6cc4ea20, 0x1de19: 0x6d193020, 0x1de1a: 0x6cfc4a20, 0x1de1b: 0x6d21e420,\n\t0x1de1c: 0x6c718820, 0x1de1d: 0x6c892e20, 0x1de1e: 0x6c88dc20, 0x1de1f: 0x6d1b1e20,\n\t0x1de20: 0x6cbb2e20, 0x1de21: 0x6d1c2420, 0x1de22: 0x6c8fcc20, 0x1de23: 0x6ce82220,\n\t0x1de24: 0x6cf05420, 0x1de25: 0x6d270c20, 0x1de26: 0x6c8d9420, 0x1de27: 0x6cc1f020,\n\t0x1de28: 0x6d117020, 0x1de29: 0x6c38e620, 0x1de2a: 0x6c9a3c20, 0x1de2b: 0x6c4f3020,\n\t0x1de2c: 0x6c7c5620, 0x1de2d: 0x6c7ff020, 0x1de2e: 0x6c62d220, 0x1de2f: 0x6c29a220,\n\t0x1de30: 0x6c981820, 0x1de31: 0x6c836220, 0x1de32: 0x6c828820, 0x1de33: 0x6c5b0a20,\n\t0x1de34: 0x6c3c8220, 0x1de35: 0x6d342820, 0x1de36: 0x6cf10e20, 0x1de37: 0x6c7cb620,\n\t0x1de38: 0x6d2ea220, 0x1de39: 0x6c580620, 0x1de3a: 0x6c84ac20, 0x1de3b: 0x6c62e220,\n\t0x1de3c: 0x6c9cb620, 0x1de3d: 0x6c830a20, 0x1de3e: 0x6c582220, 0x1de3f: 0x6c957a20,\n\t// Block 0x779, offset 0x1de40\n\t0x1de40: 0x6c5fa020, 0x1de41: 0x6c7cbe20, 0x1de42: 0x6c934020, 0x1de43: 0x6c655020,\n\t0x1de44: 0x6cc9ba20, 0x1de45: 0x6ce2e620, 0x1de46: 0x6c829e20, 0x1de47: 0x6cc36820,\n\t0x1de48: 0x6cff6020, 0x1de49: 0x6d197420, 0x1de4a: 0x6c947220, 0x1de4b: 0x6c9ae620,\n\t0x1de4c: 0x6c0cd420, 0x1de4d: 0x6c549420, 0x1de4e: 0x6c561220, 0x1de4f: 0x6c91b820,\n\t0x1de50: 0x6caaa220, 0x1de51: 0x6c93d420, 0x1de52: 0x6cd7da20, 0x1de53: 0x6cfeaa20,\n\t0x1de54: 0x6cb98220, 0x1de55: 0x6c1f3620, 0x1de56: 0x6c54c620, 0x1de57: 0x6d058a20,\n\t0x1de58: 0x6c25d820, 0x1de59: 0x6c3e6e20, 0x1de5a: 0x6d058c20, 0x1de5b: 0x6d05a820,\n\t0x1de5c: 0x6c91c420, 0x1de5d: 0x6c562420, 0x1de5e: 0x6d216620, 0x1de5f: 0x6c504a20,\n\t0x1de60: 0x6c686020, 0x1de61: 0x6c725820, 0x1de62: 0x6c4c8620, 0x1de63: 0x6c066820,\n\t0x1de64: 0x6d0cd220, 0x1de65: 0x6d2e8220, 0x1de66: 0x6d2e8420, 0x1de67: 0x6c7c4820,\n\t0x1de68: 0x6c0d5620, 0x1de69: 0x6cf90620, 0x1de6a: 0x6cd63220, 0x1de6b: 0x6c1d0820,\n\t0x1de6c: 0x6cc00220, 0x1de6d: 0x6c2db220, 0x1de6e: 0x6c612620, 0x1de6f: 0x6cc00c20,\n\t0x1de70: 0x6c2f5820, 0x1de71: 0x6cd19a20, 0x1de72: 0x6cf95020, 0x1de73: 0x6c740820,\n\t0x1de74: 0x6d302a20, 0x1de75: 0x6ccf0a20, 0x1de76: 0x6d208020, 0x1de77: 0x6c4dea20,\n\t0x1de78: 0x6d3efe20, 0x1de79: 0x6c532220, 0x1de7a: 0x6c5a9a20, 0x1de7b: 0x6c9b0c20,\n\t0x1de7c: 0x6c447e20, 0x1de7d: 0x6cdbb020, 0x1de7e: 0x6cf95a20, 0x1de7f: 0x6c149420,\n\t// Block 0x77a, offset 0x1de80\n\t0x1de80: 0x6cd25620, 0x1de81: 0x6d15d620, 0x1de82: 0x6c969620, 0x1de83: 0x6cfe2020,\n\t0x1de84: 0x6c399420, 0x1de85: 0x6c360220, 0x1de86: 0x6c034020, 0x1de87: 0x6c1b9620,\n\t0x1de88: 0x6cb8ca20, 0x1de89: 0x6cf18e20, 0x1de8a: 0x6cf19020, 0x1de8b: 0x6cc8c620,\n\t0x1de8c: 0x6c056620, 0x1de8d: 0x6cafd220, 0x1de8e: 0x6d269a20, 0x1de8f: 0x6d269c20,\n\t0x1de90: 0x6c756a20, 0x1de91: 0x6cb5ae20, 0x1de92: 0x6ce73c20, 0x1de93: 0x6d1ad620,\n\t0x1de94: 0x6cb5b020, 0x1de95: 0x6c119020, 0x1de96: 0x6d255420, 0x1de97: 0x6c741a20,\n\t0x1de98: 0x6c5b3020, 0x1de99: 0x6cbd6c20, 0x1de9a: 0x6cb5b220, 0x1de9b: 0x6d382220,\n\t0x1de9c: 0x6d0b2220, 0x1de9d: 0x6c4fc220, 0x1de9e: 0x6ca27e20, 0x1de9f: 0x6cede420,\n\t0x1dea0: 0x6c3b6820, 0x1dea1: 0x6c3b6a20, 0x1dea2: 0x6c4f6e20, 0x1dea3: 0x6c462e20,\n\t0x1dea4: 0x6d2a4620, 0x1dea5: 0x6c3fd420, 0x1dea6: 0x6cc47020, 0x1dea7: 0x6c6bda20,\n\t0x1dea8: 0x6c3e4220, 0x1dea9: 0x6c1aa420, 0x1deaa: 0x6c30ea20, 0x1deab: 0x6c064820,\n\t0x1deac: 0x6cfc0620, 0x1dead: 0x6ca5de20, 0x1deae: 0x6ce27820, 0x1deaf: 0x6cbfac20,\n\t0x1deb0: 0x6d1f2c20, 0x1deb1: 0x6d2cc220, 0x1deb2: 0x6cb2a220, 0x1deb3: 0x6c1b1e20,\n\t0x1deb4: 0x6d204220, 0x1deb5: 0x6c511e20, 0x1deb6: 0x6c4da020, 0x1deb7: 0x6c723420,\n\t0x1deb8: 0x6c85fe20, 0x1deb9: 0x6c3fe620, 0x1deba: 0x6cc47620, 0x1debb: 0x6d2c2a20,\n\t0x1debc: 0x6c468220, 0x1debd: 0x6cafe220, 0x1debe: 0x6cafe420, 0x1debf: 0x6cfb5220,\n\t// Block 0x77b, offset 0x1dec0\n\t0x1dec0: 0x6d3af020, 0x1dec1: 0x6c2dc820, 0x1dec2: 0x6c0ce820, 0x1dec3: 0x6c0de220,\n\t0x1dec4: 0x6c470e20, 0x1dec5: 0x6d2d7020, 0x1dec6: 0x6cc10620, 0x1dec7: 0x6ccf1220,\n\t0x1dec8: 0x6ce5fa20, 0x1dec9: 0x6c8d0020, 0x1deca: 0x6c478420, 0x1decb: 0x6c288420,\n\t0x1decc: 0x6c478620, 0x1decd: 0x6d1c6a20, 0x1dece: 0x6c860020, 0x1decf: 0x6c196a20,\n\t0x1ded0: 0x6cc11220, 0x1ded1: 0x6ca1d620, 0x1ded2: 0x6c43f620, 0x1ded3: 0x6c22ca20,\n\t0x1ded4: 0x6c5b3820, 0x1ded5: 0x6c5b3a20, 0x1ded6: 0x6c986a20, 0x1ded7: 0x6c3ffc20,\n\t0x1ded8: 0x6d0fbc20, 0x1ded9: 0x6cebde20, 0x1deda: 0x6c8b0e20, 0x1dedb: 0x6d39ac20,\n\t0x1dedc: 0x6d13f820, 0x1dedd: 0x6cfb6220, 0x1dede: 0x6c7e0020, 0x1dedf: 0x6c684e20,\n\t0x1dee0: 0x6c861a20, 0x1dee1: 0x6d17be20, 0x1dee2: 0x6cb2b020, 0x1dee3: 0x6cb4fc20,\n\t0x1dee4: 0x6c4cfe20, 0x1dee5: 0x6ccf1a20, 0x1dee6: 0x6d14fc20, 0x1dee7: 0x6cee2420,\n\t0x1dee8: 0x6ca11c20, 0x1dee9: 0x6cbf3220, 0x1deea: 0x6cbcc420, 0x1deeb: 0x6c4b0420,\n\t0x1deec: 0x6cbf3420, 0x1deed: 0x6d364020, 0x1deee: 0x6c976420, 0x1deef: 0x6c81f820,\n\t0x1def0: 0x6d305c20, 0x1def1: 0x6c63c220, 0x1def2: 0x6ca4ae20, 0x1def3: 0x6cd7ee20,\n\t0x1def4: 0x6cb5f020, 0x1def5: 0x6d038420, 0x1def6: 0x6c6bee20, 0x1def7: 0x6cc07c20,\n\t0x1def8: 0x6cce7a20, 0x1def9: 0x6d1e4c20, 0x1defa: 0x6c63ce20, 0x1defb: 0x6cea0220,\n\t0x1defc: 0x6c17de20, 0x1defd: 0x6c044e20, 0x1defe: 0x6c357620, 0x1deff: 0x6c4ed420,\n\t// Block 0x77c, offset 0x1df00\n\t0x1df00: 0x6cd56420, 0x1df01: 0x6d081620, 0x1df02: 0x6c3c5820, 0x1df03: 0x6cd0b820,\n\t0x1df04: 0x6cd0ba20, 0x1df05: 0x6c3f7020, 0x1df06: 0x6cfce020, 0x1df07: 0x6d2ffe20,\n\t0x1df08: 0x6cf3da20, 0x1df09: 0x6c3ea820, 0x1df0a: 0x6c83f820, 0x1df0b: 0x6c80d420,\n\t0x1df0c: 0x6c09de20, 0x1df0d: 0x6c1e9220, 0x1df0e: 0x6d24fc20, 0x1df0f: 0x6d1fd820,\n\t0x1df10: 0x6c6af820, 0x1df11: 0x6c288e20, 0x1df12: 0x6d0ca220, 0x1df13: 0x6ce67a20,\n\t0x1df14: 0x6c2d6820, 0x1df15: 0x6cea0420, 0x1df16: 0x6c5b3c20, 0x1df17: 0x6cf29820,\n\t0x1df18: 0x6d340420, 0x1df19: 0x6cd92c20, 0x1df1a: 0x6c3a1420, 0x1df1b: 0x6c70b620,\n\t0x1df1c: 0x6c9d7020, 0x1df1d: 0x6cb62c20, 0x1df1e: 0x6cb62e20, 0x1df1f: 0x6d23a820,\n\t0x1df20: 0x6c75da20, 0x1df21: 0x6c7e8a20, 0x1df22: 0x6c9be220, 0x1df23: 0x6cbac420,\n\t0x1df24: 0x6cd80820, 0x1df25: 0x6cf68020, 0x1df26: 0x6c950820, 0x1df27: 0x6c865420,\n\t0x1df28: 0x6c2ed620, 0x1df29: 0x6ce59a20, 0x1df2a: 0x6ce23220, 0x1df2b: 0x6c7d7a20,\n\t0x1df2c: 0x6c4e2620, 0x1df2d: 0x6c4eec20, 0x1df2e: 0x6d23aa20, 0x1df2f: 0x6c058420,\n\t0x1df30: 0x6c3a4020, 0x1df31: 0x6cb00c20, 0x1df32: 0x6ceea820, 0x1df33: 0x6c339e20,\n\t0x1df34: 0x6d183820, 0x1df35: 0x6d250c20, 0x1df36: 0x6cddd020, 0x1df37: 0x6cc30c20,\n\t0x1df38: 0x6cba1a20, 0x1df39: 0x6cc8d820, 0x1df3a: 0x6ca5fc20, 0x1df3b: 0x6cbe5220,\n\t0x1df3c: 0x6cf0b420, 0x1df3d: 0x6c899e20, 0x1df3e: 0x6c4cc820, 0x1df3f: 0x6cec9620,\n\t// Block 0x77d, offset 0x1df40\n\t0x1df40: 0x6c301020, 0x1df41: 0x6c367220, 0x1df42: 0x6c04d020, 0x1df43: 0x6c2c8620,\n\t0x1df44: 0x6cee3420, 0x1df45: 0x6c11a020, 0x1df46: 0x6d102820, 0x1df47: 0x6d1d6820,\n\t0x1df48: 0x6c4c3220, 0x1df49: 0x6c150e20, 0x1df4a: 0x6c2fb420, 0x1df4b: 0x6c7e8c20,\n\t0x1df4c: 0x6c782c20, 0x1df4d: 0x6c6afa20, 0x1df4e: 0x6d005020, 0x1df4f: 0x6ce68e20,\n\t0x1df50: 0x6c99b220, 0x1df51: 0x6d05de20, 0x1df52: 0x6c9dd020, 0x1df53: 0x6d219020,\n\t0x1df54: 0x6c6a3220, 0x1df55: 0x6cd28020, 0x1df56: 0x6d07c820, 0x1df57: 0x6c59f620,\n\t0x1df58: 0x6d0dce20, 0x1df59: 0x6c0b0420, 0x1df5a: 0x6cc75e20, 0x1df5b: 0x6ceeb220,\n\t0x1df5c: 0x6c403e20, 0x1df5d: 0x6d25a020, 0x1df5e: 0x6c9aaa20, 0x1df5f: 0x6cf14620,\n\t0x1df60: 0x6c3ee220, 0x1df61: 0x6cc7c220, 0x1df62: 0x6d00e220, 0x1df63: 0x6d1f6a20,\n\t0x1df64: 0x6cc09020, 0x1df65: 0x6c990020, 0x1df66: 0x6cf97820, 0x1df67: 0x6d1be020,\n\t0x1df68: 0x6cd1f020, 0x1df69: 0x6c1d2020, 0x1df6a: 0x6ce0ce20, 0x1df6b: 0x6d39be20,\n\t0x1df6c: 0x6d3fba20, 0x1df6d: 0x6ce36c20, 0x1df6e: 0x6c404020, 0x1df6f: 0x6d25a220,\n\t0x1df70: 0x6c7c9820, 0x1df71: 0x6c9b3e20, 0x1df72: 0x6c7e9620, 0x1df73: 0x6c31b220,\n\t0x1df74: 0x6c559620, 0x1df75: 0x6cbfc220, 0x1df76: 0x6c2ee020, 0x1df77: 0x6c866420,\n\t0x1df78: 0x6cf29c20, 0x1df79: 0x6d276220, 0x1df7a: 0x6cc24e20, 0x1df7b: 0x6ca43a20,\n\t0x1df7c: 0x6c90b620, 0x1df7d: 0x6c211220, 0x1df7e: 0x6cc6a820, 0x1df7f: 0x6d1c9220,\n\t// Block 0x77e, offset 0x1df80\n\t0x1df80: 0x6c677620, 0x1df81: 0x6c051420, 0x1df82: 0x6c80d820, 0x1df83: 0x6cad0e20,\n\t0x1df84: 0x6cd82c20, 0x1df85: 0x6cf6da20, 0x1df86: 0x6c22de20, 0x1df87: 0x6cf6dc20,\n\t0x1df88: 0x6d25b020, 0x1df89: 0x6cf23c20, 0x1df8a: 0x6c885c20, 0x1df8b: 0x6cd9dc20,\n\t0x1df8c: 0x6c04a020, 0x1df8d: 0x6cc6b220, 0x1df8e: 0x6cc6b420, 0x1df8f: 0x6c60b220,\n\t0x1df90: 0x6cf38220, 0x1df91: 0x6d055020, 0x1df92: 0x6c4f0e20, 0x1df93: 0x6cbdac20,\n\t0x1df94: 0x6d156020, 0x1df95: 0x6c089020, 0x1df96: 0x6c575420, 0x1df97: 0x6ce13c20,\n\t0x1df98: 0x6d161420, 0x1df99: 0x6c327c20, 0x1df9a: 0x6ca3d620, 0x1df9b: 0x6c517820,\n\t0x1df9c: 0x6c55c020, 0x1df9d: 0x6c4a8a20, 0x1df9e: 0x6c96a420, 0x1df9f: 0x6ca01a20,\n\t0x1dfa0: 0x6d18b620, 0x1dfa1: 0x6cf1b020, 0x1dfa2: 0x6d1ca020, 0x1dfa3: 0x6ce28420,\n\t0x1dfa4: 0x6d37ca20, 0x1dfa5: 0x6c123c20, 0x1dfa6: 0x6ccb1020, 0x1dfa7: 0x6cb81a20,\n\t0x1dfa8: 0x6c97c820, 0x1dfa9: 0x6ce5e620, 0x1dfaa: 0x6cce2020, 0x1dfab: 0x6cd3e620,\n\t0x1dfac: 0x6c129e20, 0x1dfad: 0x6c1ad620, 0x1dfae: 0x6c2ca620, 0x1dfaf: 0x6c027620,\n\t0x1dfb0: 0x6c92fa20, 0x1dfb1: 0x6cf0e820, 0x1dfb2: 0x6d371220, 0x1dfb3: 0x6ce14220,\n\t0x1dfb4: 0x6c18ea20, 0x1dfb5: 0x6cb16a20, 0x1dfb6: 0x6cc1c420, 0x1dfb7: 0x6cb02420,\n\t0x1dfb8: 0x6d21be20, 0x1dfb9: 0x6c66e420, 0x1dfba: 0x6c955820, 0x1dfbb: 0x6c90c220,\n\t0x1dfbc: 0x6cbdea20, 0x1dfbd: 0x6d37ce20, 0x1dfbe: 0x6d1b1420, 0x1dfbf: 0x6c678820,\n\t// Block 0x77f, offset 0x1dfc0\n\t0x1dfc0: 0x6cd67620, 0x1dfc1: 0x6cf1b820, 0x1dfc2: 0x6cff2620, 0x1dfc3: 0x6ceda020,\n\t0x1dfc4: 0x6d30a220, 0x1dfc5: 0x6d310820, 0x1dfc6: 0x6c96f820, 0x1dfc7: 0x6c967a20,\n\t0x1dfc8: 0x6c4c4820, 0x1dfc9: 0x6c8eaa20, 0x1dfca: 0x6c990a20, 0x1dfcb: 0x6cf6f220,\n\t0x1dfcc: 0x6c236a20, 0x1dfcd: 0x6c846220, 0x1dfce: 0x6c97d020, 0x1dfcf: 0x6cff2820,\n\t0x1dfd0: 0x6c173020, 0x1dfd1: 0x6d2ee220, 0x1dfd2: 0x6c98a020, 0x1dfd3: 0x6cfe5e20,\n\t0x1dfd4: 0x6ca17e20, 0x1dfd5: 0x6d418220, 0x1dfd6: 0x6cd83c20, 0x1dfd7: 0x6cbfd420,\n\t0x1dfd8: 0x6ce28820, 0x1dfd9: 0x6d34ac20, 0x1dfda: 0x6caed820, 0x1dfdb: 0x6caeda20,\n\t0x1dfdc: 0x6c695620, 0x1dfdd: 0x6cc1dc20, 0x1dfde: 0x6c0cc220, 0x1dfdf: 0x6c8a3c20,\n\t0x1dfe0: 0x6cac8220, 0x1dfe1: 0x6c4b2220, 0x1dfe2: 0x6cf81c20, 0x1dfe3: 0x6c615a20,\n\t0x1dfe4: 0x6d3b9620, 0x1dfe5: 0x6c5a0e20, 0x1dfe6: 0x6c3a4220, 0x1dfe7: 0x6c818420,\n\t0x1dfe8: 0x6c74de20, 0x1dfe9: 0x6c74e020, 0x1dfea: 0x6c5c7220, 0x1dfeb: 0x6d1aa220,\n\t0x1dfec: 0x6c153a20, 0x1dfed: 0x6c689c20, 0x1dfee: 0x6ccdcc20, 0x1dfef: 0x6ca4ca20,\n\t0x1dff0: 0x6cff3e20, 0x1dff1: 0x6cf40020, 0x1dff2: 0x6c1d2620, 0x1dff3: 0x6d0a5020,\n\t0x1dff4: 0x6cd83e20, 0x1dff5: 0x6c1f9c20, 0x1dff6: 0x6c19a020, 0x1dff7: 0x6c291e20,\n\t0x1dff8: 0x6c854420, 0x1dff9: 0x6d026620, 0x1dffa: 0x6ccdd420, 0x1dffb: 0x6d162420,\n\t0x1dffc: 0x6c6e3a20, 0x1dffd: 0x6c26c820, 0x1dffe: 0x6c154420, 0x1dfff: 0x6cb80020,\n\t// Block 0x780, offset 0x1e000\n\t0x1e000: 0x6c221820, 0x1e001: 0x6cfe0220, 0x1e002: 0x6ccf7e20, 0x1e003: 0x6c95c820,\n\t0x1e004: 0x6cbdb620, 0x1e005: 0x6d1d6e20, 0x1e006: 0x6c14a220, 0x1e007: 0x6c86da20,\n\t0x1e008: 0x6d2b6a20, 0x1e009: 0x6d07ea20, 0x1e00a: 0x6c888820, 0x1e00b: 0x6d3a3220,\n\t0x1e00c: 0x6d2b1e20, 0x1e00d: 0x6d005a20, 0x1e00e: 0x6c98a420, 0x1e00f: 0x6d026820,\n\t0x1e010: 0x6cb69a20, 0x1e011: 0x6cc6e220, 0x1e012: 0x6c661a20, 0x1e013: 0x6c9bf220,\n\t0x1e014: 0x6c500220, 0x1e015: 0x6cc7e420, 0x1e016: 0x6c5e3420, 0x1e017: 0x6d3dda20,\n\t0x1e018: 0x6c6b7820, 0x1e019: 0x6cb22420, 0x1e01a: 0x6c50aa20, 0x1e01b: 0x6c9f0e20,\n\t0x1e01c: 0x6c38ee20, 0x1e01d: 0x6c828a20, 0x1e01e: 0x6c6b7220, 0x1e01f: 0x6c7ec420,\n\t0x1e020: 0x6c9fda20, 0x1e021: 0x6c84ae20, 0x1e022: 0x6c219020, 0x1e023: 0x6c873220,\n\t0x1e024: 0x6cbfe620, 0x1e025: 0x6ca8bc20, 0x1e026: 0x6c919c20, 0x1e027: 0x6c328c20,\n\t0x1e028: 0x6cff5620, 0x1e029: 0x6d39ee20, 0x1e02a: 0x6c8ffc20, 0x1e02b: 0x6c875620,\n\t0x1e02c: 0x6c8ffe20, 0x1e02d: 0x6c3c8620, 0x1e02e: 0x6d127220, 0x1e02f: 0x6c086620,\n\t0x1e030: 0x6ca46020, 0x1e031: 0x6c47f220, 0x1e032: 0x6c730e20, 0x1e033: 0x6d1c4220,\n\t0x1e034: 0x6cd63820, 0x1e035: 0x6cf75820, 0x1e036: 0x6c11c820, 0x1e037: 0x6cc22420,\n\t0x1e038: 0x6cc33c20, 0x1e039: 0x6c329020, 0x1e03a: 0x6c11ca20, 0x1e03b: 0x6c97ae20,\n\t0x1e03c: 0x6cc22e20, 0x1e03d: 0x6c6b8e20, 0x1e03e: 0x6d3a4e20, 0x1e03f: 0x6d3d1820,\n\t// Block 0x781, offset 0x1e040\n\t0x1e040: 0x6d093820, 0x1e041: 0x6c598620, 0x1e042: 0x6ca9a420, 0x1e043: 0x6cadba20,\n\t0x1e044: 0x6caa8420, 0x1e045: 0x6d033020, 0x1e046: 0x6d383220, 0x1e047: 0x6c973420,\n\t0x1e048: 0x6c37ce20, 0x1e049: 0x6c761220, 0x1e04a: 0x6c9f1020, 0x1e04b: 0x6cf93c20,\n\t0x1e04c: 0x6d03ba20, 0x1e04d: 0x6d0d5c20, 0x1e04e: 0x6c770620, 0x1e04f: 0x6d260e20,\n\t0x1e050: 0x6cc28820, 0x1e051: 0x6c8d0220, 0x1e052: 0x6d089020, 0x1e053: 0x6cd5ca20,\n\t0x1e054: 0x6cfb5420, 0x1e055: 0x6ce7cc20, 0x1e056: 0x6cfe3820, 0x1e057: 0x6c6a1e20,\n\t0x1e058: 0x6cfb7020, 0x1e059: 0x6d0b3220, 0x1e05a: 0x6c559a20, 0x1e05b: 0x6cf0ca20,\n\t0x1e05c: 0x6c2a2c20, 0x1e05d: 0x6c1cdc20, 0x1e05e: 0x6cf0d420, 0x1e05f: 0x6c2a3620,\n\t0x1e060: 0x6d3cd820, 0x1e061: 0x6c527020, 0x1e062: 0x6cc22620, 0x1e063: 0x6d13be20,\n\t0x1e064: 0x6d198c20, 0x1e065: 0x6c103220, 0x1e066: 0x6c41ce20, 0x1e067: 0x6d20cc20,\n\t0x1e068: 0x6c0c7020, 0x1e069: 0x6c141820, 0x1e06a: 0x6d147a20, 0x1e06b: 0x6cccc820,\n\t0x1e06c: 0x6c191e20, 0x1e06d: 0x6c3d5620, 0x1e06e: 0x6c4bbc20, 0x1e06f: 0x6c3b1e20,\n\t0x1e070: 0x6cd65220, 0x1e071: 0x6c6a8820, 0x1e072: 0x6ca32020, 0x1e073: 0x6d37aa20,\n\t0x1e074: 0x6c282e20, 0x1e075: 0x6d170c20, 0x1e076: 0x6d381e20, 0x1e077: 0x6d37b220,\n\t0x1e078: 0x6c6bd220, 0x1e079: 0x6d350820, 0x1e07a: 0x6d009820, 0x1e07b: 0x6cc46820,\n\t0x1e07c: 0x6d33ba20, 0x1e07d: 0x6cc5da20, 0x1e07e: 0x6cbd2620, 0x1e07f: 0x6c6c3820,\n\t// Block 0x782, offset 0x1e080\n\t0x1e080: 0x6c756220, 0x1e081: 0x6d255820, 0x1e082: 0x6c9a8620, 0x1e083: 0x6c149620,\n\t0x1e084: 0x6c02a220, 0x1e085: 0x6ca79820, 0x1e086: 0x6c5a9e20, 0x1e087: 0x6cc46a20,\n\t0x1e088: 0x6c635620, 0x1e089: 0x6ceb1020, 0x1e08a: 0x6c8e0e20, 0x1e08b: 0x6c276620,\n\t0x1e08c: 0x6c064a20, 0x1e08d: 0x6cad5620, 0x1e08e: 0x6d120020, 0x1e08f: 0x6d429420,\n\t0x1e090: 0x6c097020, 0x1e091: 0x6cced220, 0x1e092: 0x6ce05820, 0x1e093: 0x6c723620,\n\t0x1e094: 0x6c51c220, 0x1e095: 0x6d090220, 0x1e096: 0x6d053820, 0x1e097: 0x6d31d220,\n\t0x1e098: 0x6d14da20, 0x1e099: 0x6cabea20, 0x1e09a: 0x6c0e6420, 0x1e09b: 0x6c2b2220,\n\t0x1e09c: 0x6cec2a20, 0x1e09d: 0x6c3fd620, 0x1e09e: 0x6c4bc420, 0x1e09f: 0x6d35ca20,\n\t0x1e0a0: 0x6d360a20, 0x1e0a1: 0x6cc47220, 0x1e0a2: 0x6cacb420, 0x1e0a3: 0x6d174620,\n\t0x1e0a4: 0x6c997420, 0x1e0a5: 0x6ceaba20, 0x1e0a6: 0x6ca32e20, 0x1e0a7: 0x6c464420,\n\t0x1e0a8: 0x6d088220, 0x1e0a9: 0x6d304220, 0x1e0aa: 0x6cc0f420, 0x1e0ab: 0x6c070420,\n\t0x1e0ac: 0x6c4bc620, 0x1e0ad: 0x6cf77c20, 0x1e0ae: 0x6ca6ea20, 0x1e0af: 0x6c0ee020,\n\t0x1e0b0: 0x6c0e7220, 0x1e0b1: 0x6c40ac20, 0x1e0b2: 0x6c1bac20, 0x1e0b3: 0x6c1ba220,\n\t0x1e0b4: 0x6c7a9420, 0x1e0b5: 0x6cc5ea20, 0x1e0b6: 0x6c67e220, 0x1e0b7: 0x6c63ba20,\n\t0x1e0b8: 0x6c667e20, 0x1e0b9: 0x6c0efa20, 0x1e0ba: 0x6c6aba20, 0x1e0bb: 0x6c375420,\n\t0x1e0bc: 0x6c438620, 0x1e0bd: 0x6cc7a620, 0x1e0be: 0x6d39a020, 0x1e0bf: 0x6c4a6020,\n\t// Block 0x783, offset 0x1e0c0\n\t0x1e0c0: 0x6d19d020, 0x1e0c1: 0x6c111020, 0x1e0c2: 0x6c8b1020, 0x1e0c3: 0x6c762220,\n\t0x1e0c4: 0x6d044420, 0x1e0c5: 0x6d3c1c20, 0x1e0c6: 0x6c28fc20, 0x1e0c7: 0x6d05aa20,\n\t0x1e0c8: 0x6c7d5e20, 0x1e0c9: 0x6c791a20, 0x1e0ca: 0x6ca79e20, 0x1e0cb: 0x6cd5dc20,\n\t0x1e0cc: 0x6c63c420, 0x1e0cd: 0x6c7db020, 0x1e0ce: 0x6c1a1220, 0x1e0cf: 0x6c852220,\n\t0x1e0d0: 0x6c72f620, 0x1e0d1: 0x6ccff420, 0x1e0d2: 0x6cb3da20, 0x1e0d3: 0x6c43fa20,\n\t0x1e0d4: 0x6d180820, 0x1e0d5: 0x6d235620, 0x1e0d6: 0x6d31da20, 0x1e0d7: 0x6c8e6020,\n\t0x1e0d8: 0x6cc07e20, 0x1e0d9: 0x6cc44820, 0x1e0da: 0x6c622620, 0x1e0db: 0x6d180a20,\n\t0x1e0dc: 0x6c103e20, 0x1e0dd: 0x6d3c1e20, 0x1e0de: 0x6cd72420, 0x1e0df: 0x6ccc0420,\n\t0x1e0e0: 0x6cc44e20, 0x1e0e1: 0x6c87e220, 0x1e0e2: 0x6c880620, 0x1e0e3: 0x6c88c020,\n\t0x1e0e4: 0x6c7a9e20, 0x1e0e5: 0x6c659e20, 0x1e0e6: 0x6c3d1820, 0x1e0e7: 0x6c14d020,\n\t0x1e0e8: 0x6c09e020, 0x1e0e9: 0x6c7d7020, 0x1e0ea: 0x6ce22e20, 0x1e0eb: 0x6d262a20,\n\t0x1e0ec: 0x6c8d2220, 0x1e0ed: 0x6c1bb420, 0x1e0ee: 0x6c167420, 0x1e0ef: 0x6c1dc420,\n\t0x1e0f0: 0x6c343220, 0x1e0f1: 0x6c0c7420, 0x1e0f2: 0x6c899620, 0x1e0f3: 0x6cce5c20,\n\t0x1e0f4: 0x6cade020, 0x1e0f5: 0x6cade220, 0x1e0f6: 0x6c3a0e20, 0x1e0f7: 0x6d24fe20,\n\t0x1e0f8: 0x6c95b820, 0x1e0f9: 0x6c4cca20, 0x1e0fa: 0x6d0daa20, 0x1e0fb: 0x6c31aa20,\n\t0x1e0fc: 0x6ce40420, 0x1e0fd: 0x6d369a20, 0x1e0fe: 0x6c70ae20, 0x1e0ff: 0x6d15fa20,\n\t// Block 0x784, offset 0x1e100\n\t0x1e100: 0x6c622820, 0x1e101: 0x6d346c20, 0x1e102: 0x6c48ba20, 0x1e103: 0x6c791c20,\n\t0x1e104: 0x6cb81620, 0x1e105: 0x6ce40a20, 0x1e106: 0x6ce35820, 0x1e107: 0x6c402420,\n\t0x1e108: 0x6c1d1a20, 0x1e109: 0x6d01f020, 0x1e10a: 0x6c0b4820, 0x1e10b: 0x6c2ed820,\n\t0x1e10c: 0x6c7d7c20, 0x1e10d: 0x6c32a020, 0x1e10e: 0x6d054a20, 0x1e10f: 0x6d054c20,\n\t0x1e110: 0x6c51d620, 0x1e111: 0x6d262c20, 0x1e112: 0x6c05ba20, 0x1e113: 0x6c060620,\n\t0x1e114: 0x6c402620, 0x1e115: 0x6d217c20, 0x1e116: 0x6ce98c20, 0x1e117: 0x6d0dc420,\n\t0x1e118: 0x6c5adc20, 0x1e119: 0x6c074420, 0x1e11a: 0x6c1ee220, 0x1e11b: 0x6c93aa20,\n\t0x1e11c: 0x6cadaa20, 0x1e11d: 0x6c27ee20, 0x1e11e: 0x6d27f420, 0x1e11f: 0x6cddf820,\n\t0x1e120: 0x6c465c20, 0x1e121: 0x6c265c20, 0x1e122: 0x6c57ee20, 0x1e123: 0x6cc6aa20,\n\t0x1e124: 0x6d262e20, 0x1e125: 0x6cc82620, 0x1e126: 0x6ca3d420, 0x1e127: 0x6c6f3220,\n\t0x1e128: 0x6cdd8620, 0x1e129: 0x6c04a220, 0x1e12a: 0x6cea0a20, 0x1e12b: 0x6c1bbe20,\n\t0x1e12c: 0x6cca8a20, 0x1e12d: 0x6ca7ae20, 0x1e12e: 0x6d1bec20, 0x1e12f: 0x6c6bfa20,\n\t0x1e130: 0x6cb91e20, 0x1e131: 0x6c57f420, 0x1e132: 0x6c7aa820, 0x1e133: 0x6c884220,\n\t0x1e134: 0x6c7fae20, 0x1e135: 0x6c843420, 0x1e136: 0x6d30de20, 0x1e137: 0x6cd1fc20,\n\t0x1e138: 0x6c93b620, 0x1e139: 0x6d18b820, 0x1e13a: 0x6c2e5e20, 0x1e13b: 0x6d023220,\n\t0x1e13c: 0x6cfae020, 0x1e13d: 0x6cf0ea20, 0x1e13e: 0x6c0c7e20, 0x1e13f: 0x6c129620,\n\t// Block 0x785, offset 0x1e140\n\t0x1e140: 0x6c5f4620, 0x1e141: 0x6cbb4c20, 0x1e142: 0x6ccbb020, 0x1e143: 0x6c05bc20,\n\t0x1e144: 0x6cfd8c20, 0x1e145: 0x6c0ae420, 0x1e146: 0x6c3f0c20, 0x1e147: 0x6c65e620,\n\t0x1e148: 0x6d3bea20, 0x1e149: 0x6c65e820, 0x1e14a: 0x6c257020, 0x1e14b: 0x6c60c820,\n\t0x1e14c: 0x6c280620, 0x1e14d: 0x6d28d020, 0x1e14e: 0x6c38cc20, 0x1e14f: 0x6c0f7e20,\n\t0x1e150: 0x6cfe5a20, 0x1e151: 0x6d030420, 0x1e152: 0x6c0cf820, 0x1e153: 0x6cc52e20,\n\t0x1e154: 0x6c97ca20, 0x1e155: 0x6c7fc620, 0x1e156: 0x6c02b220, 0x1e157: 0x6d2b1620,\n\t0x1e158: 0x6c4b8e20, 0x1e159: 0x6c12bc20, 0x1e15a: 0x6cdc9220, 0x1e15b: 0x6ca9d620,\n\t0x1e15c: 0x6c14dc20, 0x1e15d: 0x6c88d220, 0x1e15e: 0x6c0aac20, 0x1e15f: 0x6c6c6a20,\n\t0x1e160: 0x6c291620, 0x1e161: 0x6cd58220, 0x1e162: 0x6ce08020, 0x1e163: 0x6c0aae20,\n\t0x1e164: 0x6c7fd820, 0x1e165: 0x6cb46e20, 0x1e166: 0x6cc7e020, 0x1e167: 0x6d355e20,\n\t0x1e168: 0x6c32ec20, 0x1e169: 0x6cd58620, 0x1e16a: 0x6cec4220, 0x1e16b: 0x6cd40020,\n\t0x1e16c: 0x6c042c20, 0x1e16d: 0x6d012020, 0x1e16e: 0x6c0fbe20, 0x1e16f: 0x6c194220,\n\t0x1e170: 0x6c7f7c20, 0x1e171: 0x6c8fee20, 0x1e172: 0x6cf7c420, 0x1e173: 0x6cfb0c20,\n\t0x1e174: 0x6c800220, 0x1e175: 0x6d30e220, 0x1e176: 0x6c27aa20, 0x1e177: 0x6c72d820,\n\t0x1e178: 0x6d29c620, 0x1e179: 0x6cd21c20, 0x1e17a: 0x6c663820, 0x1e17b: 0x6cacc620,\n\t0x1e17c: 0x6d196820, 0x1e17d: 0x6c809c20, 0x1e17e: 0x6d0b7020, 0x1e17f: 0x6cf94020,\n\t// Block 0x786, offset 0x1e180\n\t0x1e180: 0x6cf57420, 0x1e181: 0x6d11f820, 0x1e182: 0x6c3cc820, 0x1e183: 0x6cdfe620,\n\t0x1e184: 0x6c40b420, 0x1e185: 0x6c3d0620, 0x1e186: 0x6c407e20, 0x1e187: 0x6c03c820,\n\t0x1e188: 0x6c519620, 0x1e189: 0x6c5fa420, 0x1e18a: 0x6c5fb420, 0x1e18b: 0x6c665220,\n\t0x1e18c: 0x6c490820, 0x1e18d: 0x6c0b9020, 0x1e18e: 0x6d0e5620, 0x1e18f: 0x6c4a6220,\n\t0x1e190: 0x6c743020, 0x1e191: 0x6cb13a20, 0x1e192: 0x6c997620, 0x1e193: 0x6c9d4020,\n\t0x1e194: 0x6c9d4220, 0x1e195: 0x6c9ed620, 0x1e196: 0x6cd36c20, 0x1e197: 0x6cd8c420,\n\t0x1e198: 0x6c14cc20, 0x1e199: 0x6c954a20, 0x1e19a: 0x6c745a20, 0x1e19b: 0x6c9d6020,\n\t0x1e19c: 0x6ce5da20, 0x1e19d: 0x6c882620, 0x1e19e: 0x6d121820, 0x1e19f: 0x6d369c20,\n\t0x1e1a0: 0x6c757a20, 0x1e1a1: 0x6cf79620, 0x1e1a2: 0x6ccd5a20, 0x1e1a3: 0x6ceeb620,\n\t0x1e1a4: 0x6cf8d220, 0x1e1a5: 0x6ce51220, 0x1e1a6: 0x6d21a620, 0x1e1a7: 0x6c803e20,\n\t0x1e1a8: 0x6c36aa20, 0x1e1a9: 0x6c322a20, 0x1e1aa: 0x6cbd3e20, 0x1e1ab: 0x6cad2220,\n\t0x1e1ac: 0x6c62a220, 0x1e1ad: 0x6ca01e20, 0x1e1ae: 0x6d1caa20, 0x1e1af: 0x6c46dc20,\n\t0x1e1b0: 0x6cc15020, 0x1e1b1: 0x6d2e8c20, 0x1e1b2: 0x6c6d6c20, 0x1e1b3: 0x6c492c20,\n\t0x1e1b4: 0x6c2abc20, 0x1e1b5: 0x6c670420, 0x1e1b6: 0x6c956420, 0x1e1b7: 0x6cc28220,\n\t0x1e1b8: 0x6c652620, 0x1e1b9: 0x6cef6220, 0x1e1ba: 0x6c750220, 0x1e1bb: 0x6cc15c20,\n\t0x1e1bc: 0x6c956a20, 0x1e1bd: 0x6c805420, 0x1e1be: 0x6cd08a20, 0x1e1bf: 0x6c2bba20,\n\t// Block 0x787, offset 0x1e1c0\n\t0x1e1c0: 0x6c494420, 0x1e1c1: 0x6c664e20, 0x1e1c2: 0x6c490220, 0x1e1c3: 0x6d0e3e20,\n\t0x1e1c4: 0x6c4a3a20, 0x1e1c5: 0x6c9d2a20, 0x1e1c6: 0x6cd32020, 0x1e1c7: 0x6c14be20,\n\t0x1e1c8: 0x6c802020, 0x1e1c9: 0x6c740a20, 0x1e1ca: 0x6c61d620, 0x1e1cb: 0x6cf77e20,\n\t0x1e1cc: 0x6c2b6e20, 0x1e1cd: 0x6ce4fc20, 0x1e1ce: 0x6d216820, 0x1e1cf: 0x6c46cc20,\n\t0x1e1d0: 0x6c6d4620, 0x1e1d1: 0x6cc27220, 0x1e1d2: 0x6c68c620, 0x1e1d3: 0x6cc01820,\n\t0x1e1d4: 0x6c6c3a20, 0x1e1d5: 0x6c241220, 0x1e1d6: 0x6c743220, 0x1e1d7: 0x6d360c20,\n\t0x1e1d8: 0x6c17bc20, 0x1e1d9: 0x6c600a20, 0x1e1da: 0x6c471220, 0x1e1db: 0x6c289020,\n\t0x1e1dc: 0x6d3e5820, 0x1e1dd: 0x6c2bf820, 0x1e1de: 0x6cce0420, 0x1e1df: 0x6c57a020,\n\t0x1e1e0: 0x6cc30220, 0x1e1e1: 0x6c440c20, 0x1e1e2: 0x6cd3a020, 0x1e1e3: 0x6c6b9820,\n\t0x1e1e4: 0x6c4b0a20, 0x1e1e5: 0x6c459820, 0x1e1e6: 0x6c1f5c20, 0x1e1e7: 0x6c6b9a20,\n\t0x1e1e8: 0x6c5d3a20, 0x1e1e9: 0x6cc08420, 0x1e1ea: 0x6d039020, 0x1e1eb: 0x6cdaf220,\n\t0x1e1ec: 0x6ca60220, 0x1e1ed: 0x6c5f1e20, 0x1e1ee: 0x6c92b420, 0x1e1ef: 0x6d36c020,\n\t0x1e1f0: 0x6d2bfa20, 0x1e1f1: 0x6c0a5e20, 0x1e1f2: 0x6d03a620, 0x1e1f3: 0x6c55cc20,\n\t0x1e1f4: 0x6cce2220, 0x1e1f5: 0x6c45be20, 0x1e1f6: 0x6d374820, 0x1e1f7: 0x6d092820,\n\t0x1e1f8: 0x6c1f8a20, 0x1e1f9: 0x6cf71a20, 0x1e1fa: 0x6d159420, 0x1e1fb: 0x6c877e20,\n\t0x1e1fc: 0x6c750e20, 0x1e1fd: 0x6cf75020, 0x1e1fe: 0x6d0f0c20, 0x1e1ff: 0x6cf75e20,\n\t// Block 0x788, offset 0x1e200\n\t0x1e200: 0x6d0c5c20, 0x1e201: 0x6d0f3620, 0x1e202: 0x6c2f9a20, 0x1e203: 0x6c3fc620,\n\t0x1e204: 0x6cc01a20, 0x1e205: 0x6cc01c20, 0x1e206: 0x6c698a20, 0x1e207: 0x6c529c20,\n\t0x1e208: 0x6c61b820, 0x1e209: 0x6c384c20, 0x1e20a: 0x6d0a7e20, 0x1e20b: 0x6c2e1420,\n\t0x1e20c: 0x6c53b820, 0x1e20d: 0x6c149820, 0x1e20e: 0x6ce25c20, 0x1e20f: 0x6d058620,\n\t0x1e210: 0x6c6aaa20, 0x1e211: 0x6d14dc20, 0x1e212: 0x6cc5e020, 0x1e213: 0x6d0ac020,\n\t0x1e214: 0x6d1a4e20, 0x1e215: 0x6ccd7e20, 0x1e216: 0x6cb77020, 0x1e217: 0x6ceabc20,\n\t0x1e218: 0x6c61d820, 0x1e219: 0x6d0a8020, 0x1e21a: 0x6d1a5020, 0x1e21b: 0x6c356020,\n\t0x1e21c: 0x6c3b2c20, 0x1e21d: 0x6d0ba420, 0x1e21e: 0x6d109e20, 0x1e21f: 0x6cd98c20,\n\t0x1e220: 0x6cd06020, 0x1e221: 0x6d1a5e20, 0x1e222: 0x6d02ce20, 0x1e223: 0x6c743420,\n\t0x1e224: 0x6cff8620, 0x1e225: 0x6ca54e20, 0x1e226: 0x6c18c020, 0x1e227: 0x6d1f2e20,\n\t0x1e228: 0x6d352220, 0x1e229: 0x6d046820, 0x1e22a: 0x6c39d620, 0x1e22b: 0x6d033220,\n\t0x1e22c: 0x6c174020, 0x1e22d: 0x6ccf4420, 0x1e22e: 0x6cfaa220, 0x1e22f: 0x6cc94e20,\n\t0x1e230: 0x6d3ce220, 0x1e231: 0x6d063c20, 0x1e232: 0x6d177820, 0x1e233: 0x6d177a20,\n\t0x1e234: 0x6cdb7a20, 0x1e235: 0x6c1ab220, 0x1e236: 0x6c509e20, 0x1e237: 0x6ccff620,\n\t0x1e238: 0x6c512c20, 0x1e239: 0x6d06e620, 0x1e23a: 0x6d31de20, 0x1e23b: 0x6d3afa20,\n\t0x1e23c: 0x6d334e20, 0x1e23d: 0x6c46a820, 0x1e23e: 0x6d3e5c20, 0x1e23f: 0x6d3f1c20,\n\t// Block 0x789, offset 0x1e240\n\t0x1e240: 0x6d2d7820, 0x1e241: 0x6c479420, 0x1e242: 0x6c3ffe20, 0x1e243: 0x6c65a020,\n\t0x1e244: 0x6c2eb420, 0x1e245: 0x6c8d0a20, 0x1e246: 0x6c2bfa20, 0x1e247: 0x6d104e20,\n\t0x1e248: 0x6c861c20, 0x1e249: 0x6ca4b020, 0x1e24a: 0x6cacb820, 0x1e24b: 0x6d392e20,\n\t0x1e24c: 0x6c422220, 0x1e24d: 0x6d17c420, 0x1e24e: 0x6c724420, 0x1e24f: 0x6d120c20,\n\t0x1e250: 0x6d2cc820, 0x1e251: 0x6d150020, 0x1e252: 0x6d150220, 0x1e253: 0x6cc24a20,\n\t0x1e254: 0x6d2fb620, 0x1e255: 0x6cb2b220, 0x1e256: 0x6c09ac20, 0x1e257: 0x6d049620,\n\t0x1e258: 0x6cc11620, 0x1e259: 0x6c037c20, 0x1e25a: 0x6c26aa20, 0x1e25b: 0x6d411e20,\n\t0x1e25c: 0x6ce1cc20, 0x1e25d: 0x6d3a7220, 0x1e25e: 0x6c224820, 0x1e25f: 0x6d305e20,\n\t0x1e260: 0x6d1e3e20, 0x1e261: 0x6d064620, 0x1e262: 0x6d0a2020, 0x1e263: 0x6d180c20,\n\t0x1e264: 0x6c5a5620, 0x1e265: 0x6c514420, 0x1e266: 0x6cd3a220, 0x1e267: 0x6c13f020,\n\t0x1e268: 0x6cfff820, 0x1e269: 0x6cd1d820, 0x1e26a: 0x6c523e20, 0x1e26b: 0x6c144420,\n\t0x1e26c: 0x6c46ba20, 0x1e26d: 0x6c4b0c20, 0x1e26e: 0x6cc30420, 0x1e26f: 0x6c5bea20,\n\t0x1e270: 0x6c6afc20, 0x1e271: 0x6c57a220, 0x1e272: 0x6c40fc20, 0x1e273: 0x6cfdca20,\n\t0x1e274: 0x6ceea420, 0x1e275: 0x6ccffc20, 0x1e276: 0x6d393420, 0x1e277: 0x6ce75c20,\n\t0x1e278: 0x6c9c6220, 0x1e279: 0x6d2d8420, 0x1e27a: 0x6ca04620, 0x1e27b: 0x6c366420,\n\t0x1e27c: 0x6c5ace20, 0x1e27d: 0x6d0cb220, 0x1e27e: 0x6d046e20, 0x1e27f: 0x6c48bc20,\n\t// Block 0x78a, offset 0x1e280\n\t0x1e280: 0x6c37d220, 0x1e281: 0x6c0e2420, 0x1e282: 0x6ce5c420, 0x1e283: 0x6d152020,\n\t0x1e284: 0x6c82ca20, 0x1e285: 0x6d39b420, 0x1e286: 0x6c7ba420, 0x1e287: 0x6c7ac620,\n\t0x1e288: 0x6cf3dc20, 0x1e289: 0x6d238220, 0x1e28a: 0x6ce2a420, 0x1e28b: 0x6c625220,\n\t0x1e28c: 0x6d36a020, 0x1e28d: 0x6cc60220, 0x1e28e: 0x6c244e20, 0x1e28f: 0x6c810c20,\n\t0x1e290: 0x6c357a20, 0x1e291: 0x6c7bc620, 0x1e292: 0x6c370c20, 0x1e293: 0x6cd3b820,\n\t0x1e294: 0x6ce6d820, 0x1e295: 0x6c289620, 0x1e296: 0x6c074620, 0x1e297: 0x6c151020,\n\t0x1e298: 0x6d205620, 0x1e299: 0x6c794a20, 0x1e29a: 0x6cbc4e20, 0x1e29b: 0x6cbd3820,\n\t0x1e29c: 0x6cd65020, 0x1e29d: 0x6c014220, 0x1e29e: 0x6d227c20, 0x1e29f: 0x6cfffe20,\n\t0x1e2a0: 0x6c1a2220, 0x1e2a1: 0x6c6bf420, 0x1e2a2: 0x6cfcee20, 0x1e2a3: 0x6cf37a20,\n\t0x1e2a4: 0x6cf51020, 0x1e2a5: 0x6c435620, 0x1e2a6: 0x6cd99a20, 0x1e2a7: 0x6c101a20,\n\t0x1e2a8: 0x6c5c0420, 0x1e2a9: 0x6c6e9820, 0x1e2aa: 0x6cd76a20, 0x1e2ab: 0x6d325220,\n\t0x1e2ac: 0x6cd76c20, 0x1e2ad: 0x6c31ae20, 0x1e2ae: 0x6c57e420, 0x1e2af: 0x6c172420,\n\t0x1e2b0: 0x6cd6fe20, 0x1e2b1: 0x6c6b2820, 0x1e2b2: 0x6c78d420, 0x1e2b3: 0x6cc13a20,\n\t0x1e2b4: 0x6c23ac20, 0x1e2b5: 0x6cff9820, 0x1e2b6: 0x6cdc6420, 0x1e2b7: 0x6cee3620,\n\t0x1e2b8: 0x6cfb8620, 0x1e2b9: 0x6c3a6c20, 0x1e2ba: 0x6c1ad220, 0x1e2bb: 0x6cde9220,\n\t0x1e2bc: 0x6d186620, 0x1e2bd: 0x6ca6c220, 0x1e2be: 0x6d1a9a20, 0x1e2bf: 0x6c2e3820,\n\t// Block 0x78b, offset 0x1e2c0\n\t0x1e2c0: 0x6cb06820, 0x1e2c1: 0x6d3d8c20, 0x1e2c2: 0x6c15de20, 0x1e2c3: 0x6c188420,\n\t0x1e2c4: 0x6d3cd620, 0x1e2c5: 0x6c626a20, 0x1e2c6: 0x6cb52820, 0x1e2c7: 0x6ce00820,\n\t0x1e2c8: 0x6d3ca420, 0x1e2c9: 0x6cf00c20, 0x1e2ca: 0x6c714c20, 0x1e2cb: 0x6cbeb220,\n\t0x1e2cc: 0x6c303c20, 0x1e2cd: 0x6d335420, 0x1e2ce: 0x6d2af220, 0x1e2cf: 0x6d406020,\n\t0x1e2d0: 0x6cb91620, 0x1e2d1: 0x6d3d8e20, 0x1e2d2: 0x6c89c820, 0x1e2d3: 0x6c66c020,\n\t0x1e2d4: 0x6c1f6e20, 0x1e2d5: 0x6c4fe420, 0x1e2d6: 0x6c952620, 0x1e2d7: 0x6cd06e20,\n\t0x1e2d8: 0x6c0c7820, 0x1e2d9: 0x6c581220, 0x1e2da: 0x6cb12620, 0x1e2db: 0x6d219420,\n\t0x1e2dc: 0x6c2eea20, 0x1e2dd: 0x6d05e820, 0x1e2de: 0x6cb14220, 0x1e2df: 0x6cd3de20,\n\t0x1e2e0: 0x6d07d220, 0x1e2e1: 0x6cd3e020, 0x1e2e2: 0x6c5d4220, 0x1e2e3: 0x6c57c020,\n\t0x1e2e4: 0x6c36ac20, 0x1e2e5: 0x6d384020, 0x1e2e6: 0x6c2c9c20, 0x1e2e7: 0x6d00f220,\n\t0x1e2e8: 0x6c3ef620, 0x1e2e9: 0x6cb49420, 0x1e2ea: 0x6ce69020, 0x1e2eb: 0x6c66d620,\n\t0x1e2ec: 0x6cb71e20, 0x1e2ed: 0x6d23f620, 0x1e2ee: 0x6d3e9020, 0x1e2ef: 0x6d3b9420,\n\t0x1e2f0: 0x6cf81420, 0x1e2f1: 0x6c5c4220, 0x1e2f2: 0x6d1a0220, 0x1e2f3: 0x6c015020,\n\t0x1e2f4: 0x6cfb9e20, 0x1e2f5: 0x6ca40e20, 0x1e2f6: 0x6c18ec20, 0x1e2f7: 0x6c3cce20,\n\t0x1e2f8: 0x6d39c620, 0x1e2f9: 0x6d0fd820, 0x1e2fa: 0x6d0ec420, 0x1e2fb: 0x6c5a0020,\n\t0x1e2fc: 0x6d07d420, 0x1e2fd: 0x6c443a20, 0x1e2fe: 0x6cab0e20, 0x1e2ff: 0x6cb53220,\n\t// Block 0x78c, offset 0x1e300\n\t0x1e300: 0x6ca1e820, 0x1e301: 0x6d134620, 0x1e302: 0x6cf0d620, 0x1e303: 0x6d044620,\n\t0x1e304: 0x6ce2ba20, 0x1e305: 0x6d38b620, 0x1e306: 0x6ccdc020, 0x1e307: 0x6c65ec20,\n\t0x1e308: 0x6cb33a20, 0x1e309: 0x6c7d2220, 0x1e30a: 0x6c5a6420, 0x1e30b: 0x6c5e0c20,\n\t0x1e30c: 0x6c43b620, 0x1e30d: 0x6d1cac20, 0x1e30e: 0x6c9c7420, 0x1e30f: 0x6cffc020,\n\t0x1e310: 0x6c9d9820, 0x1e311: 0x6cf81a20, 0x1e312: 0x6cbae220, 0x1e313: 0x6c188c20,\n\t0x1e314: 0x6d097220, 0x1e315: 0x6ce38820, 0x1e316: 0x6cdb4a20, 0x1e317: 0x6c059420,\n\t0x1e318: 0x6c1b5a20, 0x1e319: 0x6cb92820, 0x1e31a: 0x6cd3ea20, 0x1e31b: 0x6c67c820,\n\t0x1e31c: 0x6d25b620, 0x1e31d: 0x6d023620, 0x1e31e: 0x6c51f620, 0x1e31f: 0x6ce1f220,\n\t0x1e320: 0x6d115020, 0x1e321: 0x6d115220, 0x1e322: 0x6d378020, 0x1e323: 0x6d21c820,\n\t0x1e324: 0x6c0c4020, 0x1e325: 0x6c23e020, 0x1e326: 0x6cbee620, 0x1e327: 0x6c846420,\n\t0x1e328: 0x6ca08020, 0x1e329: 0x6ca17620, 0x1e32a: 0x6cce2420, 0x1e32b: 0x6d30b020,\n\t0x1e32c: 0x6ca05420, 0x1e32d: 0x6c660420, 0x1e32e: 0x6d2b1820, 0x1e32f: 0x6c6a3a20,\n\t0x1e330: 0x6c886e20, 0x1e331: 0x6c90c620, 0x1e332: 0x6c121020, 0x1e333: 0x6cab5e20,\n\t0x1e334: 0x6c4c0620, 0x1e335: 0x6cf7ae20, 0x1e336: 0x6d3dc020, 0x1e337: 0x6c027a20,\n\t0x1e338: 0x6c027c20, 0x1e339: 0x6c6cc220, 0x1e33a: 0x6d30b220, 0x1e33b: 0x6d158620,\n\t0x1e33c: 0x6c551220, 0x1e33d: 0x6c680e20, 0x1e33e: 0x6c978e20, 0x1e33f: 0x6c178a20,\n\t// Block 0x78d, offset 0x1e340\n\t0x1e340: 0x6c4f2620, 0x1e341: 0x6c576020, 0x1e342: 0x6c160020, 0x1e343: 0x6d060020,\n\t0x1e344: 0x6d2ba420, 0x1e345: 0x6ccb9220, 0x1e346: 0x6cf71c20, 0x1e347: 0x6d2c0420,\n\t0x1e348: 0x6c337a20, 0x1e349: 0x6d336c20, 0x1e34a: 0x6ca4ce20, 0x1e34b: 0x6c7fda20,\n\t0x1e34c: 0x6c359820, 0x1e34d: 0x6d1c2620, 0x1e34e: 0x6c74ee20, 0x1e34f: 0x6c5f8220,\n\t0x1e350: 0x6d421220, 0x1e351: 0x6c696020, 0x1e352: 0x6c0ffc20, 0x1e353: 0x6c5c8620,\n\t0x1e354: 0x6d3bf420, 0x1e355: 0x6cf40820, 0x1e356: 0x6d2b7a20, 0x1e357: 0x6d2c6220,\n\t0x1e358: 0x6cd42220, 0x1e359: 0x6cbc6c20, 0x1e35a: 0x6ce03620, 0x1e35b: 0x6d2b7c20,\n\t0x1e35c: 0x6cb4a020, 0x1e35d: 0x6cd12820, 0x1e35e: 0x6d07ee20, 0x1e35f: 0x6d2a9820,\n\t0x1e360: 0x6ce04020, 0x1e361: 0x6c293620, 0x1e362: 0x6cdcac20, 0x1e363: 0x6cfc4e20,\n\t0x1e364: 0x6c5f8c20, 0x1e365: 0x6c69d820, 0x1e366: 0x6c6e3c20, 0x1e367: 0x6d2e9820,\n\t0x1e368: 0x6ca45c20, 0x1e369: 0x6d143220, 0x1e36a: 0x6c010420, 0x1e36b: 0x6d2dbc20,\n\t0x1e36c: 0x6cb0d820, 0x1e36d: 0x6c5b7e20, 0x1e36e: 0x6c57d420, 0x1e36f: 0x6d193220,\n\t0x1e370: 0x6d193420, 0x1e371: 0x6ccdd620, 0x1e372: 0x6cc51c20, 0x1e373: 0x6caa3220,\n\t0x1e374: 0x6cba3220, 0x1e375: 0x6d3cbe20, 0x1e376: 0x6cdee420, 0x1e377: 0x6c56e020,\n\t0x1e378: 0x6d38c420, 0x1e379: 0x6c500420, 0x1e37a: 0x6c010620, 0x1e37b: 0x6d1c3420,\n\t0x1e37c: 0x6c671a20, 0x1e37d: 0x6d246620, 0x1e37e: 0x6c662c20, 0x1e37f: 0x6c5c9c20,\n\t// Block 0x78e, offset 0x1e380\n\t0x1e380: 0x6c31f020, 0x1e381: 0x6d30bc20, 0x1e382: 0x6d08d020, 0x1e383: 0x6d29bc20,\n\t0x1e384: 0x6c830c20, 0x1e385: 0x6cd08c20, 0x1e386: 0x6cf12220, 0x1e387: 0x6c161a20,\n\t0x1e388: 0x6c879020, 0x1e389: 0x6d159a20, 0x1e38a: 0x6c0bdc20, 0x1e38b: 0x6d30c820,\n\t0x1e38c: 0x6d0f0e20, 0x1e38d: 0x6c36f220, 0x1e38e: 0x6c1e0e20, 0x1e38f: 0x6cf12a20,\n\t0x1e390: 0x6c1e1020, 0x1e391: 0x6d125620, 0x1e392: 0x6c157c20, 0x1e393: 0x6cc51e20,\n\t0x1e394: 0x6d1b2c20, 0x1e395: 0x6c801020, 0x1e396: 0x6c194820, 0x1e397: 0x6d013820,\n\t0x1e398: 0x6ca8cc20, 0x1e399: 0x6c584c20, 0x1e39a: 0x6d29ca20, 0x1e39b: 0x6d197c20,\n\t0x1e39c: 0x6c294a20, 0x1e39d: 0x6d2dda20, 0x1e39e: 0x6d0f2a20, 0x1e39f: 0x6c321020,\n\t0x1e3a0: 0x6d0c5020, 0x1e3a1: 0x6c616e20, 0x1e3a2: 0x6c2f8c20, 0x1e3a3: 0x6c3fa220,\n\t0x1e3a4: 0x6cc5a420, 0x1e3a5: 0x6c5e6620, 0x1e3a6: 0x6c6a5c20, 0x1e3a7: 0x6c53b420,\n\t0x1e3a8: 0x6ce25820, 0x1e3a9: 0x6cc51820, 0x1e3aa: 0x6ccd6620, 0x1e3ab: 0x6cb72820,\n\t0x1e3ac: 0x6cea9420, 0x1e3ad: 0x6d0abe20, 0x1e3ae: 0x6d164e20, 0x1e3af: 0x6d0a6220,\n\t0x1e3b0: 0x6c617020, 0x1e3b1: 0x6cc5aa20, 0x1e3b2: 0x6c679c20, 0x1e3b3: 0x6c5b8c20,\n\t0x1e3b4: 0x6cab2c20, 0x1e3b5: 0x6c71f420, 0x1e3b6: 0x6d0b7220, 0x1e3b7: 0x6ca54220,\n\t0x1e3b8: 0x6d062420, 0x1e3b9: 0x6c354620, 0x1e3ba: 0x6c952020, 0x1e3bb: 0x6d045220,\n\t0x1e3bc: 0x6cd97c20, 0x1e3bd: 0x6c3cc420, 0x1e3be: 0x6ccf3220, 0x1e3bf: 0x6c39b820,\n\t// Block 0x78f, offset 0x1e3c0\n\t0x1e3c0: 0x6c73d620, 0x1e3c1: 0x6d333a20, 0x1e3c2: 0x6c475a20, 0x1e3c3: 0x6c508a20,\n\t0x1e3c4: 0x6cb27020, 0x1e3c5: 0x6d410820, 0x1e3c6: 0x6cd40e20, 0x1e3c7: 0x6d048620,\n\t0x1e3c8: 0x6d2caa20, 0x1e3c9: 0x6cdb7820, 0x1e3ca: 0x6d31b420, 0x1e3cb: 0x6c2bce20,\n\t0x1e3cc: 0x6d385420, 0x1e3cd: 0x6c221e20, 0x1e3ce: 0x6cc0d420, 0x1e3cf: 0x6d2f9820,\n\t0x1e3d0: 0x6c092020, 0x1e3d1: 0x6d169c20, 0x1e3d2: 0x6d146620, 0x1e3d3: 0x6c7b8620,\n\t0x1e3d4: 0x6c82b620, 0x1e3d5: 0x6cd32220, 0x1e3d6: 0x6c48aa20, 0x1e3d7: 0x6cd19c20,\n\t0x1e3d8: 0x6c5fe420, 0x1e3d9: 0x6c5a8c20, 0x1e3da: 0x6c19c020, 0x1e3db: 0x6d398420,\n\t0x1e3dc: 0x6ccfb420, 0x1e3dd: 0x6c578620, 0x1e3de: 0x6c286c20, 0x1e3df: 0x6c469620,\n\t0x1e3e0: 0x6cc2ba20, 0x1e3e1: 0x6c4aca20, 0x1e3e2: 0x6d09e020, 0x1e3e3: 0x6d16d220,\n\t0x1e3e4: 0x6d328e20, 0x1e3e5: 0x6c40de20, 0x1e3e6: 0x6cfdb020, 0x1e3e7: 0x6c143220,\n\t0x1e3e8: 0x6c5d1a20, 0x1e3e9: 0x6d062e20, 0x1e3ea: 0x6d386220, 0x1e3eb: 0x6c6bd420,\n\t0x1e3ec: 0x6cf35c20, 0x1e3ed: 0x6d223020, 0x1e3ee: 0x6cbc3220, 0x1e3ef: 0x6cf4ce20,\n\t0x1e3f0: 0x6c433c20, 0x1e3f1: 0x6d203220, 0x1e3f2: 0x6c5ba420, 0x1e3f3: 0x6c7bbc20,\n\t0x1e3f4: 0x6cd76620, 0x1e3f5: 0x6cd98220, 0x1e3f6: 0x6c370a20, 0x1e3f7: 0x6cbea220,\n\t0x1e3f8: 0x6d399620, 0x1e3f9: 0x6d404a20, 0x1e3fa: 0x6caae620, 0x1e3fb: 0x6c319420,\n\t0x1e3fc: 0x6d3d3e20, 0x1e3fd: 0x6c3a4e20, 0x1e3fe: 0x6c789c20, 0x1e3ff: 0x6cefa620,\n\t// Block 0x790, offset 0x1e400\n\t0x1e400: 0x6d20f820, 0x1e401: 0x6cd6fa20, 0x1e402: 0x6cd05420, 0x1e403: 0x6c2e1620,\n\t0x1e404: 0x6c15a220, 0x1e405: 0x6c89b020, 0x1e406: 0x6d3cd020, 0x1e407: 0x6cdc3220,\n\t0x1e408: 0x6cdfd620, 0x1e409: 0x6cd05620, 0x1e40a: 0x6d174820, 0x1e40b: 0x6ca1d020,\n\t0x1e40c: 0x6c18c220, 0x1e40d: 0x6c2e9620, 0x1e40e: 0x6c5a5220, 0x1e40f: 0x6c668220,\n\t0x1e410: 0x6d00a620, 0x1e411: 0x6d095a20, 0x1e412: 0x6d12ea20, 0x1e413: 0x6cf08820,\n\t0x1e414: 0x6c361a20, 0x1e415: 0x6d232420, 0x1e416: 0x6d078e20, 0x1e417: 0x6c14f020,\n\t0x1e418: 0x6d3e2c20, 0x1e419: 0x6c012c20, 0x1e41a: 0x6d0e6620, 0x1e41b: 0x6c2c5020,\n\t0x1e41c: 0x6c9c4e20, 0x1e41d: 0x6cb13c20, 0x1e41e: 0x6d059020, 0x1e41f: 0x6ca05820,\n\t0x1e420: 0x6c292e20, 0x1e421: 0x6cdab820, 0x1e422: 0x6d01b620, 0x1e423: 0x6d10fe20,\n\t0x1e424: 0x6c057420, 0x1e425: 0x6cd38c20, 0x1e426: 0x6cb8e420, 0x1e427: 0x6c9d4c20,\n\t0x1e428: 0x6c6c9820, 0x1e429: 0x6c976820, 0x1e42a: 0x6d306620, 0x1e42b: 0x6c65b620,\n\t0x1e42c: 0x6ca05220, 0x1e42d: 0x6cdff420, 0x1e42e: 0x6d2b7820, 0x1e42f: 0x6cbbe420,\n\t0x1e430: 0x6c7fa820, 0x1e431: 0x6cb49020, 0x1e432: 0x6c748620, 0x1e433: 0x6d0ea820,\n\t0x1e434: 0x6cba1e20, 0x1e435: 0x6d2d9020, 0x1e436: 0x6c193c20, 0x1e437: 0x6c475c20,\n\t0x1e438: 0x6cb8cc20, 0x1e439: 0x6c534020, 0x1e43a: 0x6cf96420, 0x1e43b: 0x6c602420,\n\t0x1e43c: 0x6c536820, 0x1e43d: 0x6c4db220, 0x1e43e: 0x6c52c020, 0x1e43f: 0x6cf6f420,\n\t// Block 0x791, offset 0x1e440\n\t0x1e440: 0x6cf6f620, 0x1e441: 0x6c5d6220, 0x1e442: 0x6c8a3e20, 0x1e443: 0x6c4e6a20,\n\t0x1e444: 0x6c31f220, 0x1e445: 0x6c900420, 0x1e446: 0x6c30fa20, 0x1e447: 0x6c675a20,\n\t0x1e448: 0x6cb6e820, 0x1e449: 0x6cd37220, 0x1e44a: 0x6c852420, 0x1e44b: 0x6c2a9e20,\n\t0x1e44c: 0x6cec9a20, 0x1e44d: 0x6c088a20, 0x1e44e: 0x6cd60820, 0x1e44f: 0x6cfd1c20,\n\t0x1e450: 0x6c3c7020, 0x1e451: 0x6d375a20, 0x1e452: 0x6d377620, 0x1e453: 0x6d0f2c20,\n\t0x1e454: 0x6d0f3020, 0x1e455: 0x6cd2b020, 0x1e456: 0x6c1f1620, 0x1e457: 0x6c5aae20,\n\t0x1e458: 0x6cea4e20, 0x1e459: 0x6d177c20, 0x1e45a: 0x6cea5020, 0x1e45b: 0x6d177e20,\n\t0x1e45c: 0x6c649020, 0x1e45d: 0x6c034a20, 0x1e45e: 0x6c547220, 0x1e45f: 0x6c364820,\n\t0x1e460: 0x6c1e8420, 0x1e461: 0x6cfe3020, 0x1e462: 0x6c593e20, 0x1e463: 0x6c64c220,\n\t0x1e464: 0x6c790420, 0x1e465: 0x6c40fe20, 0x1e466: 0x6c725a20, 0x1e467: 0x6c3d8a20,\n\t0x1e468: 0x6cf68420, 0x1e469: 0x6c0d4820, 0x1e46a: 0x6c4fd620, 0x1e46b: 0x6d23ce20,\n\t0x1e46c: 0x6d39c820, 0x1e46d: 0x6c638420, 0x1e46e: 0x6c3b9a20, 0x1e46f: 0x6cf6f820,\n\t0x1e470: 0x6c0f8020, 0x1e471: 0x6cf16620, 0x1e472: 0x6c58aa20, 0x1e473: 0x6c0d5820,\n\t0x1e474: 0x6c2ba620, 0x1e475: 0x6d3fce20, 0x1e476: 0x6c3ba620, 0x1e477: 0x6d191c20,\n\t0x1e478: 0x6d357c20, 0x1e479: 0x6c064020, 0x1e47a: 0x6c147820, 0x1e47b: 0x6c01b420,\n\t0x1e47c: 0x6cafe620, 0x1e47d: 0x6ca33c20, 0x1e47e: 0x6caf6620, 0x1e47f: 0x6c468a20,\n\t// Block 0x792, offset 0x1e480\n\t0x1e480: 0x6ca34620, 0x1e481: 0x6d204820, 0x1e482: 0x6c2dcc20, 0x1e483: 0x6ca11e20,\n\t0x1e484: 0x6cd8ce20, 0x1e485: 0x6d04dc20, 0x1e486: 0x6c588420, 0x1e487: 0x6c7d7220,\n\t0x1e488: 0x6c514820, 0x1e489: 0x6c4fce20, 0x1e48a: 0x6ca13220, 0x1e48b: 0x6c4ef020,\n\t0x1e48c: 0x6c99a420, 0x1e48d: 0x6c842220, 0x1e48e: 0x6ca60420, 0x1e48f: 0x6c08f420,\n\t0x1e490: 0x6d229620, 0x1e491: 0x6c638620, 0x1e492: 0x6ce93a20, 0x1e493: 0x6c98be20,\n\t0x1e494: 0x6cb02620, 0x1e495: 0x6cf6fa20, 0x1e496: 0x6c36b820, 0x1e497: 0x6c72ae20,\n\t0x1e498: 0x6ca17820, 0x1e499: 0x6c1e6a20, 0x1e49a: 0x6ce03820, 0x1e49b: 0x6c584e20,\n\t0x1e49c: 0x6c753620, 0x1e49d: 0x6c06dc20, 0x1e49e: 0x6d313220, 0x1e49f: 0x6d254a20,\n\t0x1e4a0: 0x6c3fc820, 0x1e4a1: 0x6c110e20, 0x1e4a2: 0x6c461420, 0x1e4a3: 0x6ce27220,\n\t0x1e4a4: 0x6d14de20, 0x1e4a5: 0x6c4f7820, 0x1e4a6: 0x6ced8020, 0x1e4a7: 0x6cb20a20,\n\t0x1e4a8: 0x6c5dc820, 0x1e4a9: 0x6c395020, 0x1e4aa: 0x6cdfa620, 0x1e4ab: 0x6c498620,\n\t0x1e4ac: 0x6d2ac820, 0x1e4ad: 0x6d345e20, 0x1e4ae: 0x6c37cc20, 0x1e4af: 0x6d3afe20,\n\t0x1e4b0: 0x6cd38e20, 0x1e4b1: 0x6c09ae20, 0x1e4b2: 0x6d3e5e20, 0x1e4b3: 0x6c37d020,\n\t0x1e4b4: 0x6c4b4e20, 0x1e4b5: 0x6cb14020, 0x1e4b6: 0x6c0b3a20, 0x1e4b7: 0x6c971420,\n\t0x1e4b8: 0x6c277220, 0x1e4b9: 0x6cd16820, 0x1e4ba: 0x6c7bf820, 0x1e4bb: 0x6c3ab220,\n\t0x1e4bc: 0x6ce5f420, 0x1e4bd: 0x6d150620, 0x1e4be: 0x6c1b2a20, 0x1e4bf: 0x6c998620,\n\t// Block 0x793, offset 0x1e4c0\n\t0x1e4c0: 0x6c51c820, 0x1e4c1: 0x6c09b020, 0x1e4c2: 0x6c927420, 0x1e4c3: 0x6c8c5420,\n\t0x1e4c4: 0x6c5bec20, 0x1e4c5: 0x6c410020, 0x1e4c6: 0x6cb11a20, 0x1e4c7: 0x6d3e6020,\n\t0x1e4c8: 0x6c642020, 0x1e4c9: 0x6d070420, 0x1e4ca: 0x6d2b6020, 0x1e4cb: 0x6c691020,\n\t0x1e4cc: 0x6c414a20, 0x1e4cd: 0x6d29dc20, 0x1e4ce: 0x6c669e20, 0x1e4cf: 0x6d1be220,\n\t0x1e4d0: 0x6d0a9c20, 0x1e4d1: 0x6d325420, 0x1e4d2: 0x6ccef820, 0x1e4d3: 0x6c0d4a20,\n\t0x1e4d4: 0x6c0d4c20, 0x1e4d5: 0x6cc08620, 0x1e4d6: 0x6ccefa20, 0x1e4d7: 0x6c203c20,\n\t0x1e4d8: 0x6d29e620, 0x1e4d9: 0x6d38a220, 0x1e4da: 0x6c7f5220, 0x1e4db: 0x6d299820,\n\t0x1e4dc: 0x6c22e020, 0x1e4dd: 0x6c188620, 0x1e4de: 0x6cce3a20, 0x1e4df: 0x6ce51620,\n\t0x1e4e0: 0x6cadee20, 0x1e4e1: 0x6c44de20, 0x1e4e2: 0x6cfb8820, 0x1e4e3: 0x6c974020,\n\t0x1e4e4: 0x6c66c220, 0x1e4e5: 0x6cdc6820, 0x1e4e6: 0x6c404420, 0x1e4e7: 0x6ce0aa20,\n\t0x1e4e8: 0x6c23ae20, 0x1e4e9: 0x6c23b020, 0x1e4ea: 0x6d36c620, 0x1e4eb: 0x6c5f2220,\n\t0x1e4ec: 0x6d2f3e20, 0x1e4ed: 0x6c322c20, 0x1e4ee: 0x6c6d5420, 0x1e4ef: 0x6d047420,\n\t0x1e4f0: 0x6c218820, 0x1e4f1: 0x6d280420, 0x1e4f2: 0x6c061420, 0x1e4f3: 0x6d290c20,\n\t0x1e4f4: 0x6c7f5820, 0x1e4f5: 0x6c3cf820, 0x1e4f6: 0x6c125c20, 0x1e4f7: 0x6c5f6020,\n\t0x1e4f8: 0x6cd17e20, 0x1e4f9: 0x6d18da20, 0x1e4fa: 0x6d3bec20, 0x1e4fb: 0x6c406820,\n\t0x1e4fc: 0x6c46de20, 0x1e4fd: 0x6cc9ea20, 0x1e4fe: 0x6d2b1a20, 0x1e4ff: 0x6c8a4020,\n\t// Block 0x794, offset 0x1e500\n\t0x1e500: 0x6d18f820, 0x1e501: 0x6c045e20, 0x1e502: 0x6c191620, 0x1e503: 0x6ceda620,\n\t0x1e504: 0x6d373220, 0x1e505: 0x6d3cb620, 0x1e506: 0x6c0c4620, 0x1e507: 0x6d276e20,\n\t0x1e508: 0x6d2bb620, 0x1e509: 0x6c28e020, 0x1e50a: 0x6d29ae20, 0x1e50b: 0x6d0eec20,\n\t0x1e50c: 0x6cb4c420, 0x1e50d: 0x6ccdd820, 0x1e50e: 0x6cedac20, 0x1e50f: 0x6d1cca20,\n\t0x1e510: 0x6c6d7220, 0x1e511: 0x6c423c20, 0x1e512: 0x6cfbd420, 0x1e513: 0x6d29f020,\n\t0x1e514: 0x6c0ac620, 0x1e515: 0x6c31f420, 0x1e516: 0x6cd54820, 0x1e517: 0x6d0f0620,\n\t0x1e518: 0x6cce4220, 0x1e519: 0x6d08d420, 0x1e51a: 0x6c907020, 0x1e51b: 0x6c424420,\n\t0x1e51c: 0x6d29f420, 0x1e51d: 0x6c06d220, 0x1e51e: 0x6d311c20, 0x1e51f: 0x6c3fa820,\n\t0x1e520: 0x6d253420, 0x1e521: 0x6c460c20, 0x1e522: 0x6c110c20, 0x1e523: 0x6d2aae20,\n\t0x1e524: 0x6cfb2e20, 0x1e525: 0x6c043820, 0x1e526: 0x6d2f2a20, 0x1e527: 0x6c5da220,\n\t0x1e528: 0x6d358e20, 0x1e529: 0x6c393420, 0x1e52a: 0x6cdf9220, 0x1e52b: 0x6cb20620,\n\t0x1e52c: 0x6c0b2a20, 0x1e52d: 0x6c469820, 0x1e52e: 0x6d3ab420, 0x1e52f: 0x6c497a20,\n\t0x1e530: 0x6c37c420, 0x1e531: 0x6c666220, 0x1e532: 0x6c078220, 0x1e533: 0x6cd34820,\n\t0x1e534: 0x6ce5ec20, 0x1e535: 0x6c4b3a20, 0x1e536: 0x6c7bec20, 0x1e537: 0x6c274e20,\n\t0x1e538: 0x6c995a20, 0x1e539: 0x6c3a9220, 0x1e53a: 0x6c51be20, 0x1e53b: 0x6d14b020,\n\t0x1e53c: 0x6d2b5c20, 0x1e53d: 0x6d35ce20, 0x1e53e: 0x6c640e20, 0x1e53f: 0x6c5bb020,\n\t// Block 0x795, offset 0x1e540\n\t0x1e540: 0x6d3e1e20, 0x1e541: 0x6c8c5020, 0x1e542: 0x6c922c20, 0x1e543: 0x6d29d820,\n\t0x1e544: 0x6d3e2020, 0x1e545: 0x6c40f020, 0x1e546: 0x6c6cfa20, 0x1e547: 0x6cc05220,\n\t0x1e548: 0x6d323c20, 0x1e549: 0x6c7f4620, 0x1e54a: 0x6ccef020, 0x1e54b: 0x6c400020,\n\t0x1e54c: 0x6c322020, 0x1e54d: 0x6c5edc20, 0x1e54e: 0x6cd52c20, 0x1e54f: 0x6cce3820,\n\t0x1e550: 0x6c22ce20, 0x1e551: 0x6c09b220, 0x1e552: 0x6d388c20, 0x1e553: 0x6c44d420,\n\t0x1e554: 0x6cadda20, 0x1e555: 0x6c283620, 0x1e556: 0x6c7f4c20, 0x1e557: 0x6c3ce820,\n\t0x1e558: 0x6d3c9e20, 0x1e559: 0x6c402820, 0x1e55a: 0x6d3bd620, 0x1e55b: 0x6cc9e620,\n\t0x1e55c: 0x6d2af420, 0x1e55d: 0x6d0ec820, 0x1e55e: 0x6d299a20, 0x1e55f: 0x6d276820,\n\t0x1e560: 0x6d2bb220, 0x1e561: 0x6ccdc220, 0x1e562: 0x6d1cae20, 0x1e563: 0x6c423e20,\n\t0x1e564: 0x6c1be820, 0x1e565: 0x6cf60220, 0x1e566: 0x6ccf4620, 0x1e567: 0x6ca42420,\n\t0x1e568: 0x6ce75e20, 0x1e569: 0x6cf8a820, 0x1e56a: 0x6c197620, 0x1e56b: 0x6c51dc20,\n\t0x1e56c: 0x6c199620, 0x1e56d: 0x6d30dc20, 0x1e56e: 0x6cf9f620, 0x1e56f: 0x6ce14620,\n\t0x1e570: 0x6d407e20, 0x1e571: 0x6d407c20, 0x1e572: 0x6c85b620, 0x1e573: 0x6c6f6020,\n\t0x1e574: 0x6c3fca20, 0x1e575: 0x6d2fa620, 0x1e576: 0x6c41d220, 0x1e577: 0x6cb6ea20,\n\t0x1e578: 0x6ccd8020, 0x1e579: 0x6cbf1c20, 0x1e57a: 0x6d1adc20, 0x1e57b: 0x6cfc0c20,\n\t0x1e57c: 0x6c21fe20, 0x1e57d: 0x6c743620, 0x1e57e: 0x6cbdd420, 0x1e57f: 0x6c1b2020,\n\t// Block 0x796, offset 0x1e580\n\t0x1e580: 0x6c220020, 0x1e581: 0x6c192820, 0x1e582: 0x6c192a20, 0x1e583: 0x6c2eb620,\n\t0x1e584: 0x6c70a020, 0x1e585: 0x6c174820, 0x1e586: 0x6c2b3020, 0x1e587: 0x6cf89620,\n\t0x1e588: 0x6d2d7a20, 0x1e589: 0x6c745c20, 0x1e58a: 0x6d26be20, 0x1e58b: 0x6cc11820,\n\t0x1e58c: 0x6c606220, 0x1e58d: 0x6c1b3e20, 0x1e58e: 0x6c1e9420, 0x1e58f: 0x6c486420,\n\t0x1e590: 0x6d096820, 0x1e591: 0x6d3e6220, 0x1e592: 0x6ce59420, 0x1e593: 0x6c349c20,\n\t0x1e594: 0x6c8b1c20, 0x1e595: 0x6c41e220, 0x1e596: 0x6cdd3220, 0x1e597: 0x6c245020,\n\t0x1e598: 0x6cf79820, 0x1e599: 0x6d2fd220, 0x1e59a: 0x6cdaf420, 0x1e59b: 0x6d1b0020,\n\t0x1e59c: 0x6c715020, 0x1e59d: 0x6c66c420, 0x1e59e: 0x6cc3f420, 0x1e59f: 0x6ce1a020,\n\t0x1e5a0: 0x6c21d020, 0x1e5a1: 0x6c250420, 0x1e5a2: 0x6c92b820, 0x1e5a3: 0x6cc27420,\n\t0x1e5a4: 0x6c298c20, 0x1e5a5: 0x6cbfc820, 0x1e5a6: 0x6d3e9220, 0x1e5a7: 0x6ce37e20,\n\t0x1e5a8: 0x6cc14a20, 0x1e5a9: 0x6c1c8820, 0x1e5aa: 0x6c5a1e20, 0x1e5ab: 0x6cbc0a20,\n\t0x1e5ac: 0x6cbbc220, 0x1e5ad: 0x6c69ce20, 0x1e5ae: 0x6d2a9a20, 0x1e5af: 0x6ce44220,\n\t0x1e5b0: 0x6c37b020, 0x1e5b1: 0x6d298420, 0x1e5b2: 0x6d298820, 0x1e5b3: 0x6d40a620,\n\t0x1e5b4: 0x6cabbc20, 0x1e5b5: 0x6c064220, 0x1e5b6: 0x6c7a8c20, 0x1e5b7: 0x6c77f220,\n\t0x1e5b8: 0x6c33cc20, 0x1e5b9: 0x6c743820, 0x1e5ba: 0x6c3d6c20, 0x1e5bb: 0x6c190020,\n\t0x1e5bc: 0x6c658c20, 0x1e5bd: 0x6c39e420, 0x1e5be: 0x6d352420, 0x1e5bf: 0x6cdde620,\n\t// Block 0x797, offset 0x1e5c0\n\t0x1e5c0: 0x6d26a820, 0x1e5c1: 0x6c03b620, 0x1e5c2: 0x6cb5d820, 0x1e5c3: 0x6d26aa20,\n\t0x1e5c4: 0x6cbab420, 0x1e5c5: 0x6ceba820, 0x1e5c6: 0x6cdf2420, 0x1e5c7: 0x6d17c820,\n\t0x1e5c8: 0x6ca72620, 0x1e5c9: 0x6c8d0e20, 0x1e5ca: 0x6c9a9420, 0x1e5cb: 0x6c038220,\n\t0x1e5cc: 0x6c2e5820, 0x1e5cd: 0x6c7a4420, 0x1e5ce: 0x6ceb2420, 0x1e5cf: 0x6c636620,\n\t0x1e5d0: 0x6c220620, 0x1e5d1: 0x6cad7820, 0x1e5d2: 0x6cb83820, 0x1e5d3: 0x6d3b0020,\n\t0x1e5d4: 0x6c70a220, 0x1e5d5: 0x6c2d1c20, 0x1e5d6: 0x6d346e20, 0x1e5d7: 0x6c3d7620,\n\t0x1e5d8: 0x6cac5a20, 0x1e5d9: 0x6c724e20, 0x1e5da: 0x6ccce620, 0x1e5db: 0x6c0fe420,\n\t0x1e5dc: 0x6ca5ec20, 0x1e5dd: 0x6c724620, 0x1e5de: 0x6c861e20, 0x1e5df: 0x6c449a20,\n\t0x1e5e0: 0x6d152420, 0x1e5e1: 0x6c5ef420, 0x1e5e2: 0x6c34fe20, 0x1e5e3: 0x6cfc1c20,\n\t0x1e5e4: 0x6c685420, 0x1e5e5: 0x6c350020, 0x1e5e6: 0x6d39b620, 0x1e5e7: 0x6cc30620,\n\t0x1e5e8: 0x6c7aec20, 0x1e5e9: 0x6d3b6820, 0x1e5ea: 0x6c4b5a20, 0x1e5eb: 0x6cbf4420,\n\t0x1e5ec: 0x6c7cd620, 0x1e5ed: 0x6cfdce20, 0x1e5ee: 0x6c1c3620, 0x1e5ef: 0x6c927620,\n\t0x1e5f0: 0x6cb11c20, 0x1e5f1: 0x6d367020, 0x1e5f2: 0x6c63d020, 0x1e5f3: 0x6ce5dc20,\n\t0x1e5f4: 0x6c113820, 0x1e5f5: 0x6c669820, 0x1e5f6: 0x6cde6a20, 0x1e5f7: 0x6cbb8020,\n\t0x1e5f8: 0x6c09e220, 0x1e5f9: 0x6cfab220, 0x1e5fa: 0x6c350220, 0x1e5fb: 0x6c5ef620,\n\t0x1e5fc: 0x6c714620, 0x1e5fd: 0x6c625420, 0x1e5fe: 0x6cd4fa20, 0x1e5ff: 0x6ce8e020,\n\t// Block 0x798, offset 0x1e600\n\t0x1e600: 0x6c1f6420, 0x1e601: 0x6c6e9a20, 0x1e602: 0x6ca85620, 0x1e603: 0x6cfef820,\n\t0x1e604: 0x6c10b020, 0x1e605: 0x6d091420, 0x1e606: 0x6c259a20, 0x1e607: 0x6ca25020,\n\t0x1e608: 0x6cd4fc20, 0x1e609: 0x6c896220, 0x1e60a: 0x6d1e5420, 0x1e60b: 0x6c691820,\n\t0x1e60c: 0x6c1dce20, 0x1e60d: 0x6cbb9220, 0x1e60e: 0x6ca1da20, 0x1e60f: 0x6cde9420,\n\t0x1e610: 0x6c66c620, 0x1e611: 0x6cb64620, 0x1e612: 0x6cf29e20, 0x1e613: 0x6cf00e20,\n\t0x1e614: 0x6c219820, 0x1e615: 0x6c6b2a20, 0x1e616: 0x6c609a20, 0x1e617: 0x6ca86420,\n\t0x1e618: 0x6c70be20, 0x1e619: 0x6c70c020, 0x1e61a: 0x6c950c20, 0x1e61b: 0x6c92bc20,\n\t0x1e61c: 0x6c839a20, 0x1e61d: 0x6c57f020, 0x1e61e: 0x6c728420, 0x1e61f: 0x6c1b4e20,\n\t0x1e620: 0x6ced4820, 0x1e621: 0x6cc31420, 0x1e622: 0x6ce2fa20, 0x1e623: 0x6c0f4c20,\n\t0x1e624: 0x6d40d220, 0x1e625: 0x6cbce220, 0x1e626: 0x6d160820, 0x1e627: 0x6c245e20,\n\t0x1e628: 0x6d3fbc20, 0x1e629: 0x6c113e20, 0x1e62a: 0x6d3fbe20, 0x1e62b: 0x6caf1620,\n\t0x1e62c: 0x6d36c820, 0x1e62d: 0x6d32d820, 0x1e62e: 0x6c2d2a20, 0x1e62f: 0x6d349420,\n\t0x1e630: 0x6d21aa20, 0x1e631: 0x6c346220, 0x1e632: 0x6c340c20, 0x1e633: 0x6c202820,\n\t0x1e634: 0x6d1e6020, 0x1e635: 0x6d380820, 0x1e636: 0x6c2c9e20, 0x1e637: 0x6d2c9220,\n\t0x1e638: 0x6c191020, 0x1e639: 0x6c1fce20, 0x1e63a: 0x6c66c820, 0x1e63b: 0x6c486e20,\n\t0x1e63c: 0x6ce13e20, 0x1e63d: 0x6c71d620, 0x1e63e: 0x6c3efa20, 0x1e63f: 0x6d40d820,\n\t// Block 0x799, offset 0x1e640\n\t0x1e640: 0x6c2eec20, 0x1e641: 0x6cb12e20, 0x1e642: 0x6cc76020, 0x1e643: 0x6cab1020,\n\t0x1e644: 0x6ce38020, 0x1e645: 0x6c142020, 0x1e646: 0x6ce9ec20, 0x1e647: 0x6c65ee20,\n\t0x1e648: 0x6c29f420, 0x1e649: 0x6c25ca20, 0x1e64a: 0x6cb53a20, 0x1e64b: 0x6cdeb020,\n\t0x1e64c: 0x6cbae420, 0x1e64d: 0x6ca74020, 0x1e64e: 0x6c2ce020, 0x1e64f: 0x6ce38a20,\n\t0x1e650: 0x6c60ce20, 0x1e651: 0x6ca87e20, 0x1e652: 0x6cac7820, 0x1e653: 0x6c8e3a20,\n\t0x1e654: 0x6d29aa20, 0x1e655: 0x6c0a7a20, 0x1e656: 0x6c1cf220, 0x1e657: 0x6c931020,\n\t0x1e658: 0x6c8a4220, 0x1e659: 0x6c246e20, 0x1e65a: 0x6ce0da20, 0x1e65b: 0x6c27a420,\n\t0x1e65c: 0x6cdb5420, 0x1e65d: 0x6cf81e20, 0x1e65e: 0x6c7ce220, 0x1e65f: 0x6c5f7820,\n\t0x1e660: 0x6d34ae20, 0x1e661: 0x6cbaee20, 0x1e662: 0x6c2ba820, 0x1e663: 0x6cac8420,\n\t0x1e664: 0x6d3fd020, 0x1e665: 0x6c887020, 0x1e666: 0x6c085c20, 0x1e667: 0x6d2a2a20,\n\t0x1e668: 0x6ca74820, 0x1e669: 0x6c0d0220, 0x1e66a: 0x6ce9d220, 0x1e66b: 0x6c717e20,\n\t0x1e66c: 0x6c2ac020, 0x1e66d: 0x6c137020, 0x1e66e: 0x6cfaf420, 0x1e66f: 0x6c38dc20,\n\t0x1e670: 0x6c1ec820, 0x1e671: 0x6d37d820, 0x1e672: 0x6c33be20, 0x1e673: 0x6c0e9a20,\n\t0x1e674: 0x6c247420, 0x1e675: 0x6c247620, 0x1e676: 0x6c74f220, 0x1e677: 0x6c74f420,\n\t0x1e678: 0x6c8c7e20, 0x1e679: 0x6cde0620, 0x1e67a: 0x6cbbc420, 0x1e67b: 0x6c73bc20,\n\t0x1e67c: 0x6cb4a220, 0x1e67d: 0x6c89d420, 0x1e67e: 0x6c33c020, 0x1e67f: 0x6c249620,\n\t// Block 0x79a, offset 0x1e680\n\t0x1e680: 0x6c7c1220, 0x1e681: 0x6d2a9c20, 0x1e682: 0x6c26d220, 0x1e683: 0x6c0abc20,\n\t0x1e684: 0x6c0abe20, 0x1e685: 0x6d3a3820, 0x1e686: 0x6c72be20, 0x1e687: 0x6c1ec020,\n\t0x1e688: 0x6cbc7020, 0x1e689: 0x6c33d020, 0x1e68a: 0x6c1e0820, 0x1e68b: 0x6c5f9620,\n\t0x1e68c: 0x6cf48e20, 0x1e68d: 0x6d271820, 0x1e68e: 0x6ca74c20, 0x1e68f: 0x6c8c8220,\n\t0x1e690: 0x6c8b7620, 0x1e691: 0x6d34c020, 0x1e692: 0x6c878220, 0x1e693: 0x6d376a20,\n\t0x1e694: 0x6c156e20, 0x1e695: 0x6c1ece20, 0x1e696: 0x6c32e820, 0x1e697: 0x6cf12420,\n\t0x1e698: 0x6c900620, 0x1e699: 0x6c8c8c20, 0x1e69a: 0x6cfb0e20, 0x1e69b: 0x6cf12e20,\n\t0x1e69c: 0x6d414020, 0x1e69d: 0x6c801220, 0x1e69e: 0x6d028e20, 0x1e69f: 0x6cc4fa20,\n\t0x1e6a0: 0x6cc95e20, 0x1e6a1: 0x6ca8ce20, 0x1e6a2: 0x6cdef620, 0x1e6a3: 0x6cc22c20,\n\t0x1e6a4: 0x6c6c1220, 0x1e6a5: 0x6c249a20, 0x1e6a6: 0x6c260620, 0x1e6a7: 0x6cf83020,\n\t0x1e6a8: 0x6c7cc620, 0x1e6a9: 0x6c753a20, 0x1e6aa: 0x6c8c9020, 0x1e6ab: 0x6ccfa420,\n\t0x1e6ac: 0x6c457e20, 0x1e6ad: 0x6c27d820, 0x1e6ae: 0x6c3c0a20, 0x1e6af: 0x6cc10820,\n\t0x1e6b0: 0x6ce3c220, 0x1e6b1: 0x6c349e20, 0x1e6b2: 0x6c34a020, 0x1e6b3: 0x6c459a20,\n\t0x1e6b4: 0x6c80da20, 0x1e6b5: 0x6cc60e20, 0x1e6b6: 0x6c95be20, 0x1e6b7: 0x6c007620,\n\t0x1e6b8: 0x6c5f2420, 0x1e6b9: 0x6c715220, 0x1e6ba: 0x6ce18020, 0x1e6bb: 0x6c79ae20,\n\t0x1e6bc: 0x6c81de20, 0x1e6bd: 0x6d0dd820, 0x1e6be: 0x6c9abc20, 0x1e6bf: 0x6c775c20,\n\t// Block 0x79b, offset 0x1e6c0\n\t0x1e6c0: 0x6cc15420, 0x1e6c1: 0x6c90ce20, 0x1e6c2: 0x6c81ea20, 0x1e6c3: 0x6c34c020,\n\t0x1e6c4: 0x6d34b420, 0x1e6c5: 0x6d0f3c20, 0x1e6c6: 0x6ce3cc20, 0x1e6c7: 0x6c2a4e20,\n\t0x1e6c8: 0x6d1d7420, 0x1e6c9: 0x6d249a20, 0x1e6ca: 0x6c17ce20, 0x1e6cb: 0x6d0b8220,\n\t0x1e6cc: 0x6c4ade20, 0x1e6cd: 0x6c756420, 0x1e6ce: 0x6cf08220, 0x1e6cf: 0x6d269e20,\n\t0x1e6d0: 0x6d032c20, 0x1e6d1: 0x6c275420, 0x1e6d2: 0x6d078a20, 0x1e6d3: 0x6c393e20,\n\t0x1e6d4: 0x6cc5e420, 0x1e6d5: 0x6cccde20, 0x1e6d6: 0x6c7bc020, 0x1e6d7: 0x6cd4d620,\n\t0x1e6d8: 0x6cea5220, 0x1e6d9: 0x6c18c420, 0x1e6da: 0x6c276820, 0x1e6db: 0x6c361c20,\n\t0x1e6dc: 0x6ca34020, 0x1e6dd: 0x6cb5dc20, 0x1e6de: 0x6c98de20, 0x1e6df: 0x6cc86020,\n\t0x1e6e0: 0x6cc5ec20, 0x1e6e1: 0x6cb98c20, 0x1e6e2: 0x6d3ba620, 0x1e6e3: 0x6c52a020,\n\t0x1e6e4: 0x6c54d220, 0x1e6e5: 0x6cc19c20, 0x1e6e6: 0x6c7bfa20, 0x1e6e7: 0x6c2bfc20,\n\t0x1e6e8: 0x6c8d1220, 0x1e6e9: 0x6c277420, 0x1e6ea: 0x6c022c20, 0x1e6eb: 0x6d31e220,\n\t0x1e6ec: 0x6c395620, 0x1e6ed: 0x6c7baa20, 0x1e6ee: 0x6d102220, 0x1e6ef: 0x6cae7420,\n\t0x1e6f0: 0x6c072820, 0x1e6f1: 0x6c471420, 0x1e6f2: 0x6c471620, 0x1e6f3: 0x6cad5e20,\n\t0x1e6f4: 0x6d3b0420, 0x1e6f5: 0x6cc71020, 0x1e6f6: 0x6c364a20, 0x1e6f7: 0x6c038420,\n\t0x1e6f8: 0x6d38d420, 0x1e6f9: 0x6d353020, 0x1e6fa: 0x6d110020, 0x1e6fb: 0x6c780020,\n\t0x1e6fc: 0x6d17ca20, 0x1e6fd: 0x6d364420, 0x1e6fe: 0x6cd3a820, 0x1e6ff: 0x6cb2b820,\n\t// Block 0x79c, offset 0x1e700\n\t0x1e700: 0x6c375e20, 0x1e701: 0x6c45f420, 0x1e702: 0x6c713a20, 0x1e703: 0x6c69a820,\n\t0x1e704: 0x6c49ee20, 0x1e705: 0x6c514c20, 0x1e706: 0x6c766420, 0x1e707: 0x6cc30820,\n\t0x1e708: 0x6d389420, 0x1e709: 0x6d293c20, 0x1e70a: 0x6d367220, 0x1e70b: 0x6ccef620,\n\t0x1e70c: 0x6c89c420, 0x1e70d: 0x6d23ae20, 0x1e70e: 0x6cce7c20, 0x1e70f: 0x6d1f5c20,\n\t0x1e710: 0x6ced9020, 0x1e711: 0x6d1af820, 0x1e712: 0x6d307420, 0x1e713: 0x6ced3e20,\n\t0x1e714: 0x6c3f7c20, 0x1e715: 0x6cbe5420, 0x1e716: 0x6d38a620, 0x1e717: 0x6ca60620,\n\t0x1e718: 0x6c838420, 0x1e719: 0x6d308420, 0x1e71a: 0x6d2e7a20, 0x1e71b: 0x6c89ca20,\n\t0x1e71c: 0x6d3e8220, 0x1e71d: 0x6c5aee20, 0x1e71e: 0x6cee3820, 0x1e71f: 0x6c21d220,\n\t0x1e720: 0x6c4ccc20, 0x1e721: 0x6c76e820, 0x1e722: 0x6d160a20, 0x1e723: 0x6caec220,\n\t0x1e724: 0x6cba7a20, 0x1e725: 0x6c4be620, 0x1e726: 0x6ca73a20, 0x1e727: 0x6cb2c820,\n\t0x1e728: 0x6c496020, 0x1e729: 0x6c075220, 0x1e72a: 0x6c950e20, 0x1e72b: 0x6cac0420,\n\t0x1e72c: 0x6c896c20, 0x1e72d: 0x6cc88020, 0x1e72e: 0x6cc76220, 0x1e72f: 0x6c631020,\n\t0x1e730: 0x6d0fda20, 0x1e731: 0x6cfba020, 0x1e732: 0x6c201020, 0x1e733: 0x6c23fe20,\n\t0x1e734: 0x6c211c20, 0x1e735: 0x6c443c20, 0x1e736: 0x6d1f7220, 0x1e737: 0x6c52cc20,\n\t0x1e738: 0x6cd50820, 0x1e739: 0x6c405820, 0x1e73a: 0x6d3e9420, 0x1e73b: 0x6c3efc20,\n\t0x1e73c: 0x6cf16820, 0x1e73d: 0x6c07cc20, 0x1e73e: 0x6d2e2020, 0x1e73f: 0x6d21c020,\n\t// Block 0x79d, offset 0x1e740\n\t0x1e740: 0x6cf16a20, 0x1e741: 0x6ce1f420, 0x1e742: 0x6c47dc20, 0x1e743: 0x6d319e20,\n\t0x1e744: 0x6cfa0220, 0x1e745: 0x6d25b820, 0x1e746: 0x6c931220, 0x1e747: 0x6c689e20,\n\t0x1e748: 0x6c178620, 0x1e749: 0x6d3bb420, 0x1e74a: 0x6cf0f820, 0x1e74b: 0x6c5d0420,\n\t0x1e74c: 0x6d098c20, 0x1e74d: 0x6d30b820, 0x1e74e: 0x6c69d020, 0x1e74f: 0x6d2e9020,\n\t0x1e750: 0x6c102620, 0x1e751: 0x6c81c620, 0x1e752: 0x6c3ba820, 0x1e753: 0x6c386a20,\n\t0x1e754: 0x6c8bfc20, 0x1e755: 0x6c445220, 0x1e756: 0x6ccb8e20, 0x1e757: 0x6c76fc20,\n\t0x1e758: 0x6c58be20, 0x1e759: 0x6d162820, 0x1e75a: 0x6c60f020, 0x1e75b: 0x6d3cc020,\n\t0x1e75c: 0x6c377820, 0x1e75d: 0x6d246820, 0x1e75e: 0x6c671c20, 0x1e75f: 0x6c52e020,\n\t0x1e760: 0x6c829220, 0x1e761: 0x6cae2c20, 0x1e762: 0x6c878420, 0x1e763: 0x6c879a20,\n\t0x1e764: 0x6c91a020, 0x1e765: 0x6c8c9220, 0x1e766: 0x6c17ca20, 0x1e767: 0x6d0b6a20,\n\t0x1e768: 0x6c4ac020, 0x1e769: 0x6d077a20, 0x1e76a: 0x6c272a20, 0x1e76b: 0x6cc5ca20,\n\t0x1e76c: 0x6d3ba020, 0x1e76d: 0x6c35e220, 0x1e76e: 0x6c94e020, 0x1e76f: 0x6cc85420,\n\t0x1e770: 0x6c529820, 0x1e771: 0x6c46fa20, 0x1e772: 0x6c77ec20, 0x1e773: 0x6c914820,\n\t0x1e774: 0x6d38d020, 0x1e775: 0x6d350a20, 0x1e776: 0x6d171020, 0x1e777: 0x6c54b220,\n\t0x1e778: 0x6d31c420, 0x1e779: 0x6c85ba20, 0x1e77a: 0x6d10dc20, 0x1e77b: 0x6cbe3620,\n\t0x1e77c: 0x6cd36220, 0x1e77d: 0x6d293420, 0x1e77e: 0x6d35d020, 0x1e77f: 0x6c699620,\n\t// Block 0x79e, offset 0x1e780\n\t0x1e780: 0x6d386c20, 0x1e781: 0x6cc2d020, 0x1e782: 0x6c922e20, 0x1e783: 0x6c699820,\n\t0x1e784: 0x6d305420, 0x1e785: 0x6c3f6020, 0x1e786: 0x6c89b220, 0x1e787: 0x6ca72a20,\n\t0x1e788: 0x6c072a20, 0x1e789: 0x6c5abc20, 0x1e78a: 0x6c4bcc20, 0x1e78b: 0x6cee2620,\n\t0x1e78c: 0x6c895820, 0x1e78d: 0x6c21c420, 0x1e78e: 0x6d3e4820, 0x1e78f: 0x6c23f420,\n\t0x1e790: 0x6c3eae20, 0x1e791: 0x6c630c20, 0x1e792: 0x6cf15e20, 0x1e793: 0x6cd4f020,\n\t0x1e794: 0x6cae2020, 0x1e795: 0x6d259a20, 0x1e796: 0x6cf9e220, 0x1e797: 0x6ca72e20,\n\t0x1e798: 0x6c92c420, 0x1e799: 0x6d309420, 0x1e79a: 0x6c8be220, 0x1e79b: 0x6d02ae20,\n\t0x1e79c: 0x6c471820, 0x1e79d: 0x6c224a20, 0x1e79e: 0x6c225220, 0x1e79f: 0x6cb0a820,\n\t0x1e7a0: 0x6d41ba20, 0x1e7a1: 0x6c0bb020, 0x1e7a2: 0x6c7e8e20, 0x1e7a3: 0x6c7e9020,\n\t0x1e7a4: 0x6c226020, 0x1e7a5: 0x6d08ea20, 0x1e7a6: 0x6c050620, 0x1e7a7: 0x6c0bc020,\n\t0x1e7a8: 0x6c0bc220, 0x1e7a9: 0x6c0bc420, 0x1e7aa: 0x6d08ec20, 0x1e7ab: 0x6c0bcc20,\n\t0x1e7ac: 0x6c04a820, 0x1e7ad: 0x6c227e20, 0x1e7ae: 0x6c0bd620, 0x1e7af: 0x6c0bda20,\n\t0x1e7b0: 0x6c18a020, 0x1e7b1: 0x6cc7fc20, 0x1e7b2: 0x6ca9bc20, 0x1e7b3: 0x6ca9c220,\n\t0x1e7b4: 0x6c160420, 0x1e7b5: 0x6c21a820, 0x1e7b6: 0x6c21a420, 0x1e7b7: 0x6d198820,\n\t0x1e7b8: 0x6cc61820, 0x1e7b9: 0x6c0ae820, 0x1e7ba: 0x6c0aea20, 0x1e7bb: 0x6cd22e20,\n\t0x1e7bc: 0x6cc83220, 0x1e7bd: 0x6c89d620, 0x1e7be: 0x6c267620, 0x1e7bf: 0x6c14b620,\n\t// Block 0x79f, offset 0x1e7c0\n\t0x1e7c0: 0x6c416420, 0x1e7c1: 0x6cb8a020, 0x1e7c2: 0x6d207620, 0x1e7c3: 0x6d207820,\n\t0x1e7c4: 0x6cb73420, 0x1e7c5: 0x6d0a6820, 0x1e7c6: 0x6d145820, 0x1e7c7: 0x6c4ce420,\n\t0x1e7c8: 0x6c972020, 0x1e7c9: 0x6cb4ca20, 0x1e7ca: 0x6d288620, 0x1e7cb: 0x6cee4a20,\n\t0x1e7cc: 0x6ce91e20, 0x1e7cd: 0x6d3cca20, 0x1e7ce: 0x6d1c5820, 0x1e7cf: 0x6ce3d620,\n\t0x1e7d0: 0x6d281620, 0x1e7d1: 0x6c6cd620, 0x1e7d2: 0x6c4f5c20, 0x1e7d3: 0x6d0b7a20,\n\t0x1e7d4: 0x6c390620, 0x1e7d5: 0x6cf4b020, 0x1e7d6: 0x6c267820, 0x1e7d7: 0x6c354c20,\n\t0x1e7d8: 0x6c4d1c20, 0x1e7d9: 0x6d30e420, 0x1e7da: 0x6d384c20, 0x1e7db: 0x6c6cd820,\n\t0x1e7dc: 0x6d25de20, 0x1e7dd: 0x6ceee420, 0x1e7de: 0x6c87ee20, 0x1e7df: 0x6c1b0220,\n\t0x1e7e0: 0x6c180420, 0x1e7e1: 0x6ca68020, 0x1e7e2: 0x6ce57420, 0x1e7e3: 0x6d359020,\n\t0x1e7e4: 0x6d147c20, 0x1e7e5: 0x6c6efc20, 0x1e7e6: 0x6c633220, 0x1e7e7: 0x6c18a620,\n\t0x1e7e8: 0x6c273a20, 0x1e7e9: 0x6c378820, 0x1e7ea: 0x6c2b5e20, 0x1e7eb: 0x6cb36a20,\n\t0x1e7ec: 0x6d3ab620, 0x1e7ed: 0x6c2e6420, 0x1e7ee: 0x6d2ab020, 0x1e7ef: 0x6ce20620,\n\t0x1e7f0: 0x6cd5a220, 0x1e7f1: 0x6ceaf620, 0x1e7f2: 0x6cc28620, 0x1e7f3: 0x6c6e5020,\n\t0x1e7f4: 0x6c5b2a20, 0x1e7f5: 0x6c306820, 0x1e7f6: 0x6d203420, 0x1e7f7: 0x6c9c4020,\n\t0x1e7f8: 0x6c083c20, 0x1e7f9: 0x6c5e9c20, 0x1e7fa: 0x6ca39c20, 0x1e7fb: 0x6d14b220,\n\t0x1e7fc: 0x6c6a9a20, 0x1e7fd: 0x6d3c5820, 0x1e7fe: 0x6c8ade20, 0x1e7ff: 0x6d0a7420,\n\t// Block 0x7a0, offset 0x1e800\n\t0x1e800: 0x6ce9f620, 0x1e801: 0x6cd98420, 0x1e802: 0x6cd34a20, 0x1e803: 0x6ce20e20,\n\t0x1e804: 0x6cacf820, 0x1e805: 0x6c546820, 0x1e806: 0x6ca68a20, 0x1e807: 0x6c33e420,\n\t0x1e808: 0x6c6f0420, 0x1e809: 0x6d084620, 0x1e80a: 0x6d0a7620, 0x1e80b: 0x6c101220,\n\t0x1e80c: 0x6d1e9c20, 0x1e80d: 0x6cfeac20, 0x1e80e: 0x6cc03a20, 0x1e80f: 0x6ce82420,\n\t0x1e810: 0x6d3a0a20, 0x1e811: 0x6cc03c20, 0x1e812: 0x6c2c3420, 0x1e813: 0x6c2c3620,\n\t0x1e814: 0x6ce89a20, 0x1e815: 0x6c6e6c20, 0x1e816: 0x6ce3e620, 0x1e817: 0x6c310a20,\n\t0x1e818: 0x6d15e020, 0x1e819: 0x6d30ee20, 0x1e81a: 0x6ce6f220, 0x1e81b: 0x6c4a2020,\n\t0x1e81c: 0x6cf4da20, 0x1e81d: 0x6cd36420, 0x1e81e: 0x6c1a6a20, 0x1e81f: 0x6cda9820,\n\t0x1e820: 0x6d2a7a20, 0x1e821: 0x6cc43620, 0x1e822: 0x6c3ca420, 0x1e823: 0x6c87fa20,\n\t0x1e824: 0x6cddc820, 0x1e825: 0x6c5b3220, 0x1e826: 0x6c850e20, 0x1e827: 0x6c483620,\n\t0x1e828: 0x6c7f0220, 0x1e829: 0x6c07b820, 0x1e82a: 0x6c262420, 0x1e82b: 0x6c743e20,\n\t0x1e82c: 0x6c083e20, 0x1e82d: 0x6c591820, 0x1e82e: 0x6c271620, 0x1e82f: 0x6c924a20,\n\t0x1e830: 0x6d1f3220, 0x1e831: 0x6d387c20, 0x1e832: 0x6c6d0820, 0x1e833: 0x6d232620,\n\t0x1e834: 0x6c219620, 0x1e835: 0x6c7c6820, 0x1e836: 0x6cee7620, 0x1e837: 0x6ce3f020,\n\t0x1e838: 0x6d178420, 0x1e839: 0x6c26a220, 0x1e83a: 0x6d25e620, 0x1e83b: 0x6c954420,\n\t0x1e83c: 0x6c087420, 0x1e83d: 0x6caaf220, 0x1e83e: 0x6d213a20, 0x1e83f: 0x6c296a20,\n\t// Block 0x7a1, offset 0x1e840\n\t0x1e840: 0x6cdbf620, 0x1e841: 0x6c33f420, 0x1e842: 0x6cdc4220, 0x1e843: 0x6d0d9820,\n\t0x1e844: 0x6c1ffc20, 0x1e845: 0x6c1b2c20, 0x1e846: 0x6ce33420, 0x1e847: 0x6d235c20,\n\t0x1e848: 0x6cd26c20, 0x1e849: 0x6d315a20, 0x1e84a: 0x6d1f4020, 0x1e84b: 0x6d283820,\n\t0x1e84c: 0x6c364c20, 0x1e84d: 0x6c0ba420, 0x1e84e: 0x6c4cec20, 0x1e84f: 0x6c364e20,\n\t0x1e850: 0x6cf9ca20, 0x1e851: 0x6c59ca20, 0x1e852: 0x6cc07020, 0x1e853: 0x6c2a1820,\n\t0x1e854: 0x6c26ac20, 0x1e855: 0x6cef1620, 0x1e856: 0x6ca45020, 0x1e857: 0x6d150820,\n\t0x1e858: 0x6c46be20, 0x1e859: 0x6d111620, 0x1e85a: 0x6c1e4620, 0x1e85b: 0x6c8e7420,\n\t0x1e85c: 0x6d0a9820, 0x1e85d: 0x6cde6c20, 0x1e85e: 0x6c2c7420, 0x1e85f: 0x6c1b4020,\n\t0x1e860: 0x6d25ec20, 0x1e861: 0x6cdada20, 0x1e862: 0x6cde6e20, 0x1e863: 0x6cba1420,\n\t0x1e864: 0x6c96f220, 0x1e865: 0x6d111820, 0x1e866: 0x6c499c20, 0x1e867: 0x6d2ed220,\n\t0x1e868: 0x6c025820, 0x1e869: 0x6cd3bc20, 0x1e86a: 0x6c10ea20, 0x1e86b: 0x6c1c4e20,\n\t0x1e86c: 0x6cdaf620, 0x1e86d: 0x6d2a1c20, 0x1e86e: 0x6d300420, 0x1e86f: 0x6c340220,\n\t0x1e870: 0x6c2c8820, 0x1e871: 0x6c90ac20, 0x1e872: 0x6c1b5020, 0x1e873: 0x6c25c220,\n\t0x1e874: 0x6c8bd620, 0x1e875: 0x6d41f020, 0x1e876: 0x6cc54820, 0x1e877: 0x6cb91820,\n\t0x1e878: 0x6d085820, 0x1e879: 0x6d23d620, 0x1e87a: 0x6d154e20, 0x1e87b: 0x6cf51c20,\n\t0x1e87c: 0x6c8a1620, 0x1e87d: 0x6c729820, 0x1e87e: 0x6cd3e220, 0x1e87f: 0x6c0a6020,\n\t// Block 0x7a2, offset 0x1e880\n\t0x1e880: 0x6d10bc20, 0x1e881: 0x6c974220, 0x1e882: 0x6d022220, 0x1e883: 0x6cdc9420,\n\t0x1e884: 0x6c4d2a20, 0x1e885: 0x6d2d9e20, 0x1e886: 0x6ce2b020, 0x1e887: 0x6c37aa20,\n\t0x1e888: 0x6c9ea220, 0x1e889: 0x6c0b0c20, 0x1e88a: 0x6c0b1420, 0x1e88b: 0x6c7e5220,\n\t0x1e88c: 0x6c847a20, 0x1e88d: 0x6d25c820, 0x1e88e: 0x6d117620, 0x1e88f: 0x6c957c20,\n\t0x1e890: 0x6c854c20, 0x1e891: 0x6d169e20, 0x1e892: 0x6ce65a20, 0x1e893: 0x6c2ad420,\n\t0x1e894: 0x6cb6c420, 0x1e895: 0x6d1d8220, 0x1e896: 0x6cccb420, 0x1e897: 0x6c4dc820,\n\t0x1e898: 0x6d20a420, 0x1e899: 0x6c982220, 0x1e89a: 0x6cc78820, 0x1e89b: 0x6cbef620,\n\t0x1e89c: 0x6cedb420, 0x1e89d: 0x6c7bd620, 0x1e89e: 0x6c3d3620, 0x1e89f: 0x6c777a20,\n\t0x1e8a0: 0x6c0d2020, 0x1e8a1: 0x6c398220, 0x1e8a2: 0x6d03bc20, 0x1e8a3: 0x6ca30220,\n\t0x1e8a4: 0x6d02a620, 0x1e8a5: 0x6cd04220, 0x1e8a6: 0x6c051620, 0x1e8a7: 0x6d253620,\n\t0x1e8a8: 0x6c259020, 0x1e8a9: 0x6c5d8a20, 0x1e8aa: 0x6d006a20, 0x1e8ab: 0x6c052c20,\n\t0x1e8ac: 0x6cf34e20, 0x1e8ad: 0x6c720220, 0x1e8ae: 0x6d1ef620, 0x1e8af: 0x6c4dd020,\n\t0x1e8b0: 0x6cdf1220, 0x1e8b1: 0x6cbf9820, 0x1e8b2: 0x6c092220, 0x1e8b3: 0x6caf2e20,\n\t0x1e8b4: 0x6c0dbe20, 0x1e8b5: 0x6ccec620, 0x1e8b6: 0x6c06de20, 0x1e8b7: 0x6cec1020,\n\t0x1e8b8: 0x6c2bd020, 0x1e8b9: 0x6d404620, 0x1e8ba: 0x6d12c820, 0x1e8bb: 0x6c8b9e20,\n\t0x1e8bc: 0x6c7b8820, 0x1e8bd: 0x6c4a3c20, 0x1e8be: 0x6d398620, 0x1e8bf: 0x6cd19e20,\n\t// Block 0x7a3, offset 0x1e8c0\n\t0x1e8c0: 0x6c7a2c20, 0x1e8c1: 0x6d22dc20, 0x1e8c2: 0x6c40e020, 0x1e8c3: 0x6c50ce20,\n\t0x1e8c4: 0x6cbc9a20, 0x1e8c5: 0x6d359420, 0x1e8c6: 0x6c5fe620, 0x1e8c7: 0x6c585c20,\n\t0x1e8c8: 0x6c545e20, 0x1e8c9: 0x6d03c820, 0x1e8ca: 0x6c682a20, 0x1e8cb: 0x6cf76a20,\n\t0x1e8cc: 0x6c4a7620, 0x1e8cd: 0x6caab420, 0x1e8ce: 0x6c80a220, 0x1e8cf: 0x6c63a620,\n\t0x1e8d0: 0x6c7b1420, 0x1e8d1: 0x6d333e20, 0x1e8d2: 0x6c813820, 0x1e8d3: 0x6d281e20,\n\t0x1e8d4: 0x6d0c6c20, 0x1e8d5: 0x6c19c220, 0x1e8d6: 0x6c30fc20, 0x1e8d7: 0x6cf5ae20,\n\t0x1e8d8: 0x6c935220, 0x1e8d9: 0x6c3f4e20, 0x1e8da: 0x6cf3aa20, 0x1e8db: 0x6c3e2620,\n\t0x1e8dc: 0x6c433e20, 0x1e8dd: 0x6c500a20, 0x1e8de: 0x6c80a420, 0x1e8df: 0x6c63aa20,\n\t0x1e8e0: 0x6c44f020, 0x1e8e1: 0x6c759a20, 0x1e8e2: 0x6d1ce220, 0x1e8e3: 0x6c0eca20,\n\t0x1e8e4: 0x6cf86820, 0x1e8e5: 0x6c06f420, 0x1e8e6: 0x6c85bc20, 0x1e8e7: 0x6d279220,\n\t0x1e8e8: 0x6c108c20, 0x1e8e9: 0x6cff7a20, 0x1e8ea: 0x6cb4e020, 0x1e8eb: 0x6cafd420,\n\t0x1e8ec: 0x6cbe3c20, 0x1e8ed: 0x6c4c1a20, 0x1e8ee: 0x6d386e20, 0x1e8ef: 0x6cdfd820,\n\t0x1e8f0: 0x6d404c20, 0x1e8f1: 0x6cb27e20, 0x1e8f2: 0x6c7ef020, 0x1e8f3: 0x6ca5d020,\n\t0x1e8f4: 0x6c186220, 0x1e8f5: 0x6d1f2420, 0x1e8f6: 0x6c10b420, 0x1e8f7: 0x6cfd6820,\n\t0x1e8f8: 0x6c27d020, 0x1e8f9: 0x6c711e20, 0x1e8fa: 0x6d1dba20, 0x1e8fb: 0x6cbb7420,\n\t0x1e8fc: 0x6d13ea20, 0x1e8fd: 0x6c30a620, 0x1e8fe: 0x6d0d7220, 0x1e8ff: 0x6c99f220,\n\t// Block 0x7a4, offset 0x1e900\n\t0x1e900: 0x6cc91a20, 0x1e901: 0x6c071820, 0x1e902: 0x6c361e20, 0x1e903: 0x6cd4d820,\n\t0x1e904: 0x6c735e20, 0x1e905: 0x6d225220, 0x1e906: 0x6d282820, 0x1e907: 0x6c53f420,\n\t0x1e908: 0x6c7c6a20, 0x1e909: 0x6cfd6e20, 0x1e90a: 0x6cfd7020, 0x1e90b: 0x6cd9a820,\n\t0x1e90c: 0x6ce0f820, 0x1e90d: 0x6ca00220, 0x1e90e: 0x6cf63220, 0x1e90f: 0x6cc7fe20,\n\t0x1e910: 0x6c1f4c20, 0x1e911: 0x6d3e4a20, 0x1e912: 0x6d405820, 0x1e913: 0x6d12f820,\n\t0x1e914: 0x6cf36c20, 0x1e915: 0x6cfd7c20, 0x1e916: 0x6d27a820, 0x1e917: 0x6c504220,\n\t0x1e918: 0x6d1d9220, 0x1e919: 0x6c08e620, 0x1e91a: 0x6c998820, 0x1e91b: 0x6c176420,\n\t0x1e91c: 0x6c3d8620, 0x1e91d: 0x6c8a6e20, 0x1e91e: 0x6d1a7820, 0x1e91f: 0x6d3b8020,\n\t0x1e920: 0x6c56a820, 0x1e921: 0x6cbb8220, 0x1e922: 0x6d0c1820, 0x1e923: 0x6d2ebc20,\n\t0x1e924: 0x6c97e020, 0x1e925: 0x6cbb8420, 0x1e926: 0x6d065020, 0x1e927: 0x6c2adc20,\n\t0x1e928: 0x6c0a9c20, 0x1e929: 0x6d0a2820, 0x1e92a: 0x6c0a0c20, 0x1e92b: 0x6d2b8420,\n\t0x1e92c: 0x6cef2620, 0x1e92d: 0x6d335820, 0x1e92e: 0x6c99a820, 0x1e92f: 0x6ccd9620,\n\t0x1e930: 0x6c8bc820, 0x1e931: 0x6cb33420, 0x1e932: 0x6c27f020, 0x1e933: 0x6c9b4020,\n\t0x1e934: 0x6d133220, 0x1e935: 0x6c12b820, 0x1e936: 0x6c7b3620, 0x1e937: 0x6c3c6420,\n\t0x1e938: 0x6c9b4220, 0x1e939: 0x6d406420, 0x1e93a: 0x6c7c0220, 0x1e93b: 0x6c88d020,\n\t0x1e93c: 0x6d29a220, 0x1e93d: 0x6c153020, 0x1e93e: 0x6d1eb820, 0x1e93f: 0x6c5f6420,\n\t// Block 0x7a5, offset 0x1e940\n\t0x1e940: 0x6d0ed820, 0x1e941: 0x6c154820, 0x1e942: 0x6c25f820, 0x1e943: 0x6c8d8820,\n\t0x1e944: 0x6c583a20, 0x1e945: 0x6cf74020, 0x1e946: 0x6c3c7820, 0x1e947: 0x6d29b620,\n\t0x1e948: 0x6c875820, 0x1e949: 0x6d1fa420, 0x1e94a: 0x6c2f5a20, 0x1e94b: 0x6cc02020,\n\t0x1e94c: 0x6d3d4020, 0x1e94d: 0x6cae1820, 0x1e94e: 0x6d391e20, 0x1e94f: 0x6d15e220,\n\t0x1e950: 0x6c418e20, 0x1e951: 0x6d20fe20, 0x1e952: 0x6c6fba20, 0x1e953: 0x6d0d7420,\n\t0x1e954: 0x6d41ae20, 0x1e955: 0x6c98e020, 0x1e956: 0x6d323e20, 0x1e957: 0x6d06c820,\n\t0x1e958: 0x6c311820, 0x1e959: 0x6d315420, 0x1e95a: 0x6c3b3020, 0x1e95b: 0x6d263e20,\n\t0x1e95c: 0x6c40ae20, 0x1e95d: 0x6d282a20, 0x1e95e: 0x6cdf7220, 0x1e95f: 0x6ce46a20,\n\t0x1e960: 0x6cb83a20, 0x1e961: 0x6ceb2c20, 0x1e962: 0x6c243e20, 0x1e963: 0x6c4da820,\n\t0x1e964: 0x6c471a20, 0x1e965: 0x6cda5020, 0x1e966: 0x6c37ee20, 0x1e967: 0x6c1dc620,\n\t0x1e968: 0x6d293e20, 0x1e969: 0x6ca03a20, 0x1e96a: 0x6c81d620, 0x1e96b: 0x6c21ca20,\n\t0x1e96c: 0x6c1e4e20, 0x1e96d: 0x6d205020, 0x1e96e: 0x6ce76020, 0x1e96f: 0x6d353c20,\n\t0x1e970: 0x6cfab420, 0x1e971: 0x6c67ec20, 0x1e972: 0x6c1a3020, 0x1e973: 0x6d1b6c20,\n\t0x1e974: 0x6ce8e220, 0x1e975: 0x6c69b220, 0x1e976: 0x6c9a1a20, 0x1e977: 0x6c7aa420,\n\t0x1e978: 0x6cdb8820, 0x1e979: 0x6c833c20, 0x1e97a: 0x6cb44420, 0x1e97b: 0x6d41c220,\n\t0x1e97c: 0x6c4d4420, 0x1e97d: 0x6d0e9c20, 0x1e97e: 0x6ccc8c20, 0x1e97f: 0x6ca77e20,\n\t// Block 0x7a6, offset 0x1e980\n\t0x1e980: 0x6cef3420, 0x1e981: 0x6c92c620, 0x1e982: 0x6c803620, 0x1e983: 0x6d0c2c20,\n\t0x1e984: 0x6ce23820, 0x1e985: 0x6cadc220, 0x1e986: 0x6d2e1220, 0x1e987: 0x6c215e20,\n\t0x1e988: 0x6ce00a20, 0x1e989: 0x6d41ca20, 0x1e98a: 0x6d3ca620, 0x1e98b: 0x6c246020,\n\t0x1e98c: 0x6c7d8220, 0x1e98d: 0x6ce38220, 0x1e98e: 0x6cfba220, 0x1e98f: 0x6c317620,\n\t0x1e990: 0x6c55c420, 0x1e991: 0x6d065c20, 0x1e992: 0x6d040820, 0x1e993: 0x6ce07c20,\n\t0x1e994: 0x6cc09a20, 0x1e995: 0x6c216420, 0x1e996: 0x6d285a20, 0x1e997: 0x6cb3a620,\n\t0x1e998: 0x6c783620, 0x1e999: 0x6cd9e620, 0x1e99a: 0x6c9c7620, 0x1e99b: 0x6cc31820,\n\t0x1e99c: 0x6c1e3220, 0x1e99d: 0x6c25cc20, 0x1e99e: 0x6d285e20, 0x1e99f: 0x6d1e7e20,\n\t0x1e9a0: 0x6c022220, 0x1e9a1: 0x6d2ce420, 0x1e9a2: 0x6c4d4a20, 0x1e9a3: 0x6ce14a20,\n\t0x1e9a4: 0x6c680020, 0x1e9a5: 0x6cb1a220, 0x1e9a6: 0x6c191820, 0x1e9a7: 0x6d244020,\n\t0x1e9a8: 0x6c846620, 0x1e9a9: 0x6d2a2c20, 0x1e9aa: 0x6c818620, 0x1e9ab: 0x6d142c20,\n\t0x1e9ac: 0x6c680a20, 0x1e9ad: 0x6c102820, 0x1e9ae: 0x6c69d420, 0x1e9af: 0x6cf71e20,\n\t0x1e9b0: 0x6ce03c20, 0x1e9b1: 0x6c37f220, 0x1e9b2: 0x6ca9dc20, 0x1e9b3: 0x6d193620,\n\t0x1e9b4: 0x6c854620, 0x1e9b5: 0x6c72c020, 0x1e9b6: 0x6d0efc20, 0x1e9b7: 0x6d193820,\n\t0x1e9b8: 0x6ca78020, 0x1e9b9: 0x6cc7ec20, 0x1e9ba: 0x6d09cc20, 0x1e9bb: 0x6c1e0a20,\n\t0x1e9bc: 0x6d0f1220, 0x1e9bd: 0x6c8db420, 0x1e9be: 0x6c9cc820, 0x1e9bf: 0x6c9cca20,\n\t// Block 0x7a7, offset 0x1e9c0\n\t0x1e9c0: 0x6ca78420, 0x1e9c1: 0x6d036020, 0x1e9c2: 0x6c69ea20, 0x1e9c3: 0x6ccc9620,\n\t0x1e9c4: 0x6c9cd420, 0x1e9c5: 0x6d0f2420, 0x1e9c6: 0x6c0b7820, 0x1e9c7: 0x6c111e20,\n\t0x1e9c8: 0x6cd37620, 0x1e9c9: 0x6d204a20, 0x1e9ca: 0x6cd39220, 0x1e9cb: 0x6cd40220,\n\t0x1e9cc: 0x6c84fc20, 0x1e9cd: 0x6d382020, 0x1e9ce: 0x6d12aa20, 0x1e9cf: 0x6c89c020,\n\t0x1e9d0: 0x6c847c20, 0x1e9d1: 0x6c6c2e20, 0x1e9d2: 0x6c6d7c20, 0x1e9d3: 0x6cc02220,\n\t0x1e9d4: 0x6d15d820, 0x1e9d5: 0x6c8a6c20, 0x1e9d6: 0x6c29c020, 0x1e9d7: 0x6d2f6220,\n\t0x1e9d8: 0x6c2f5c20, 0x1e9d9: 0x6cb38220, 0x1e9da: 0x6cc04220, 0x1e9db: 0x6c034220,\n\t0x1e9dc: 0x6c3f5620, 0x1e9dd: 0x6d314820, 0x1e9de: 0x6d344a20, 0x1e9df: 0x6c034420,\n\t0x1e9e0: 0x6c949820, 0x1e9e1: 0x6c3f5820, 0x1e9e2: 0x6ca3a020, 0x1e9e3: 0x6c2e2020,\n\t0x1e9e4: 0x6ccd8620, 0x1e9e5: 0x6cbc2220, 0x1e9e6: 0x6c79ea20, 0x1e9e7: 0x6c203420,\n\t0x1e9e8: 0x6d3f0e20, 0x1e9e9: 0x6c390e20, 0x1e9ea: 0x6c573620, 0x1e9eb: 0x6c573820,\n\t0x1e9ec: 0x6c4eb820, 0x1e9ed: 0x6c427c20, 0x1e9ee: 0x6cb5de20, 0x1e9ef: 0x6c985c20,\n\t0x1e9f0: 0x6cc64620, 0x1e9f1: 0x6c2c5220, 0x1e9f2: 0x6cd8be20, 0x1e9f3: 0x6cf87e20,\n\t0x1e9f4: 0x6d178620, 0x1e9f5: 0x6c146620, 0x1e9f6: 0x6cd1b620, 0x1e9f7: 0x6ce91a20,\n\t0x1e9f8: 0x6cf60620, 0x1e9f9: 0x6caa7420, 0x1e9fa: 0x6cb8dc20, 0x1e9fb: 0x6cc0c020,\n\t0x1e9fc: 0x6c668420, 0x1e9fd: 0x6cb09a20, 0x1e9fe: 0x6d128220, 0x1e9ff: 0x6c6c4820,\n\t// Block 0x7a8, offset 0x1ea00\n\t0x1ea00: 0x6c03a020, 0x1ea01: 0x6c399620, 0x1ea02: 0x6c18d020, 0x1ea03: 0x6d03ee20,\n\t0x1ea04: 0x6c30ee20, 0x1ea05: 0x6d26c220, 0x1ea06: 0x6cb8e620, 0x1ea07: 0x6c3d7820,\n\t0x1ea08: 0x6caf6820, 0x1ea09: 0x6ca34820, 0x1ea0a: 0x6d02d820, 0x1ea0b: 0x6c356e20,\n\t0x1ea0c: 0x6c746020, 0x1ea0d: 0x6c33f820, 0x1ea0e: 0x6c464c20, 0x1ea0f: 0x6d1ae620,\n\t0x1ea10: 0x6cb99a20, 0x1ea11: 0x6c04ce20, 0x1ea12: 0x6cc97620, 0x1ea13: 0x6cc57220,\n\t0x1ea14: 0x6c174a20, 0x1ea15: 0x6ca99620, 0x1ea16: 0x6c3b3220, 0x1ea17: 0x6d27ec20,\n\t0x1ea18: 0x6c614620, 0x1ea19: 0x6cbd7820, 0x1ea1a: 0x6caf6a20, 0x1ea1b: 0x6c4c2020,\n\t0x1ea1c: 0x6c535a20, 0x1ea1d: 0x6d1a6c20, 0x1ea1e: 0x6c757220, 0x1ea1f: 0x6cd1ca20,\n\t0x1ea20: 0x6d17ce20, 0x1ea21: 0x6d37ba20, 0x1ea22: 0x6cf7f020, 0x1ea23: 0x6c413a20,\n\t0x1ea24: 0x6cc64820, 0x1ea25: 0x6c5d8e20, 0x1ea26: 0x6cdf7620, 0x1ea27: 0x6c778820,\n\t0x1ea28: 0x6d264020, 0x1ea29: 0x6c934a20, 0x1ea2a: 0x6c365020, 0x1ea2b: 0x6cf21c20,\n\t0x1ea2c: 0x6c345420, 0x1ea2d: 0x6d3e7220, 0x1ea2e: 0x6ca64020, 0x1ea2f: 0x6ce8d020,\n\t0x1ea30: 0x6cd3aa20, 0x1ea31: 0x6c9f6820, 0x1ea32: 0x6c472220, 0x1ea33: 0x6c780e20,\n\t0x1ea34: 0x6c8d2420, 0x1ea35: 0x6c0dec20, 0x1ea36: 0x6cd8d020, 0x1ea37: 0x6c47a420,\n\t0x1ea38: 0x6c0f1c20, 0x1ea39: 0x6caf7820, 0x1ea3a: 0x6d238420, 0x1ea3b: 0x6cd8d220,\n\t0x1ea3c: 0x6d424820, 0x1ea3d: 0x6c101820, 0x1ea3e: 0x6d1f5020, 0x1ea3f: 0x6ce4b020,\n\t// Block 0x7a9, offset 0x1ea40\n\t0x1ea40: 0x6c642220, 0x1ea41: 0x6d317620, 0x1ea42: 0x6cd2d420, 0x1ea43: 0x6cd3ac20,\n\t0x1ea44: 0x6d347a20, 0x1ea45: 0x6c725220, 0x1ea46: 0x6c14d220, 0x1ea47: 0x6cd1da20,\n\t0x1ea48: 0x6cd1dc20, 0x1ea49: 0x6d089e20, 0x1ea4a: 0x6d2f6820, 0x1ea4b: 0x6c065420,\n\t0x1ea4c: 0x6c514e20, 0x1ea4d: 0x6c09e620, 0x1ea4e: 0x6cd10e20, 0x1ea4f: 0x6c1e9620,\n\t0x1ea50: 0x6cd27820, 0x1ea51: 0x6c0f1e20, 0x1ea52: 0x6d3b0e20, 0x1ea53: 0x6c1c3820,\n\t0x1ea54: 0x6d289220, 0x1ea55: 0x6cb31420, 0x1ea56: 0x6ce76220, 0x1ea57: 0x6cb9aa20,\n\t0x1ea58: 0x6c3eb020, 0x1ea59: 0x6d2d3020, 0x1ea5a: 0x6c8f0c20, 0x1ea5b: 0x6cb8f820,\n\t0x1ea5c: 0x6c3eb220, 0x1ea5d: 0x6c864020, 0x1ea5e: 0x6d26ca20, 0x1ea5f: 0x6caf7a20,\n\t0x1ea60: 0x6d0f5e20, 0x1ea61: 0x6c04fe20, 0x1ea62: 0x6c0e8020, 0x1ea63: 0x6c6b0020,\n\t0x1ea64: 0x6c465420, 0x1ea65: 0x6cd5ec20, 0x1ea66: 0x6d32da20, 0x1ea67: 0x6ca24c20,\n\t0x1ea68: 0x6cf7f220, 0x1ea69: 0x6cf7f420, 0x1ea6a: 0x6c2c7620, 0x1ea6b: 0x6c637420,\n\t0x1ea6c: 0x6ca29e20, 0x1ea6d: 0x6ce06420, 0x1ea6e: 0x6c588820, 0x1ea6f: 0x6d15f220,\n\t0x1ea70: 0x6cd7fa20, 0x1ea71: 0x6c7bfe20, 0x1ea72: 0x6c761e20, 0x1ea73: 0x6c06ce20,\n\t0x1ea74: 0x6c66a020, 0x1ea75: 0x6ce77020, 0x1ea76: 0x6d03f420, 0x1ea77: 0x6c537820,\n\t0x1ea78: 0x6c691c20, 0x1ea79: 0x6c1bbc20, 0x1ea7a: 0x6c37d820, 0x1ea7b: 0x6c961a20,\n\t0x1ea7c: 0x6c0dee20, 0x1ea7d: 0x6cd3be20, 0x1ea7e: 0x6ca1dc20, 0x1ea7f: 0x6c637820,\n\t// Block 0x7aa, offset 0x1ea80\n\t0x1ea80: 0x6d1a8620, 0x1ea81: 0x6c757c20, 0x1ea82: 0x6d389e20, 0x1ea83: 0x6c1d5620,\n\t0x1ea84: 0x6cfdf620, 0x1ea85: 0x6ce77220, 0x1ea86: 0x6ca14220, 0x1ea87: 0x6c833e20,\n\t0x1ea88: 0x6c5f0e20, 0x1ea89: 0x6d23b020, 0x1ea8a: 0x6d071e20, 0x1ea8b: 0x6cc57820,\n\t0x1ea8c: 0x6d421a20, 0x1ea8d: 0x6d36a220, 0x1ea8e: 0x6cbf4c20, 0x1ea8f: 0x6ccd8e20,\n\t0x1ea90: 0x6c1c5020, 0x1ea91: 0x6cfc2220, 0x1ea92: 0x6d03f620, 0x1ea93: 0x6cc30e20,\n\t0x1ea94: 0x6caf8020, 0x1ea95: 0x6ce5fe20, 0x1ea96: 0x6d39c020, 0x1ea97: 0x6cfe4820,\n\t0x1ea98: 0x6ca01220, 0x1ea99: 0x6c7ada20, 0x1ea9a: 0x6d112c20, 0x1ea9b: 0x6cfac220,\n\t0x1ea9c: 0x6cfb7620, 0x1ea9d: 0x6d04ea20, 0x1ea9e: 0x6c757e20, 0x1ea9f: 0x6c13aa20,\n\t0x1eaa0: 0x6c81b620, 0x1eaa1: 0x6c607820, 0x1eaa2: 0x6cb06620, 0x1eaa3: 0x6cc7ba20,\n\t0x1eaa4: 0x6c9cfe20, 0x1eaa5: 0x6d140820, 0x1eaa6: 0x6d19fa20, 0x1eaa7: 0x6c49f220,\n\t0x1eaa8: 0x6c019020, 0x1eaa9: 0x6c2fd420, 0x1eaaa: 0x6d1fe020, 0x1eaab: 0x6ccb3820,\n\t0x1eaac: 0x6c77c620, 0x1eaad: 0x6cb9b620, 0x1eaae: 0x6c944220, 0x1eaaf: 0x6cd90020,\n\t0x1eab0: 0x6c003020, 0x1eab1: 0x6c2e3220, 0x1eab2: 0x6c4efe20, 0x1eab3: 0x6cc8de20,\n\t0x1eab4: 0x6cd3cc20, 0x1eab5: 0x6c795020, 0x1eab6: 0x6cc09220, 0x1eab7: 0x6cff0c20,\n\t0x1eab8: 0x6d308620, 0x1eab9: 0x6d054e20, 0x1eaba: 0x6d2a0c20, 0x1eabb: 0x6ce37020,\n\t0x1eabc: 0x6c263820, 0x1eabd: 0x6c487020, 0x1eabe: 0x6c53d220, 0x1eabf: 0x6d37c820,\n\t// Block 0x7ab, offset 0x1eac0\n\t0x1eac0: 0x6ce7de20, 0x1eac1: 0x6c93ac20, 0x1eac2: 0x6c9a2220, 0x1eac3: 0x6c80e220,\n\t0x1eac4: 0x6ced4a20, 0x1eac5: 0x6d02e620, 0x1eac6: 0x6d27c420, 0x1eac7: 0x6c075420,\n\t0x1eac8: 0x6cf51e20, 0x1eac9: 0x6cdb0c20, 0x1eaca: 0x6d23dc20, 0x1eacb: 0x6c151420,\n\t0x1eacc: 0x6c2fb620, 0x1eacd: 0x6c0f4e20, 0x1eace: 0x6c4f0020, 0x1eacf: 0x6c63de20,\n\t0x1ead0: 0x6c538420, 0x1ead1: 0x6c249220, 0x1ead2: 0x6c3c6620, 0x1ead3: 0x6c14d620,\n\t0x1ead4: 0x6ced4c20, 0x1ead5: 0x6d36d020, 0x1ead6: 0x6cd82620, 0x1ead7: 0x6d07ca20,\n\t0x1ead8: 0x6c575620, 0x1ead9: 0x6d228220, 0x1eada: 0x6ce59e20, 0x1eadb: 0x6c45fa20,\n\t0x1eadc: 0x6d3d9420, 0x1eadd: 0x6c94bc20, 0x1eade: 0x6d03fc20, 0x1eadf: 0x6cbde620,\n\t0x1eae0: 0x6cd0c420, 0x1eae1: 0x6c4e2e20, 0x1eae2: 0x6c94be20, 0x1eae3: 0x6d128a20,\n\t0x1eae4: 0x6c1eac20, 0x1eae5: 0x6d2bae20, 0x1eae6: 0x6c70c420, 0x1eae7: 0x6cfd0220,\n\t0x1eae8: 0x6ce60020, 0x1eae9: 0x6c987020, 0x1eaea: 0x6cb4b420, 0x1eaeb: 0x6c843620,\n\t0x1eaec: 0x6cacc020, 0x1eaed: 0x6cc8e020, 0x1eaee: 0x6c1a3220, 0x1eaef: 0x6c435820,\n\t0x1eaf0: 0x6c852820, 0x1eaf1: 0x6ce28220, 0x1eaf2: 0x6c0e4420, 0x1eaf3: 0x6d3b2420,\n\t0x1eaf4: 0x6d327e20, 0x1eaf5: 0x6ce87a20, 0x1eaf6: 0x6c8f1820, 0x1eaf7: 0x6d41d420,\n\t0x1eaf8: 0x6c729a20, 0x1eaf9: 0x6c16fa20, 0x1eafa: 0x6d25f020, 0x1eafb: 0x6c66d820,\n\t0x1eafc: 0x6c429220, 0x1eafd: 0x6c2e4020, 0x1eafe: 0x6ce24020, 0x1eaff: 0x6c16c620,\n\t// Block 0x7ac, offset 0x1eb00\n\t0x1eb00: 0x6c951020, 0x1eb01: 0x6c4cd020, 0x1eb02: 0x6c8d5c20, 0x1eb03: 0x6c06ba20,\n\t0x1eb04: 0x6c92de20, 0x1eb05: 0x6c845020, 0x1eb06: 0x6cbade20, 0x1eb07: 0x6cb3e220,\n\t0x1eb08: 0x6c732e20, 0x1eb09: 0x6c9f7a20, 0x1eb0a: 0x6d41d620, 0x1eb0b: 0x6caeca20,\n\t0x1eb0c: 0x6c01d020, 0x1eb0d: 0x6caf9020, 0x1eb0e: 0x6cfd1420, 0x1eb0f: 0x6d0afa20,\n\t0x1eb10: 0x6d3c6820, 0x1eb11: 0x6c834620, 0x1eb12: 0x6c783220, 0x1eb13: 0x6c798a20,\n\t0x1eb14: 0x6cdea820, 0x1eb15: 0x6c7d8420, 0x1eb16: 0x6c31bc20, 0x1eb17: 0x6ca59020,\n\t0x1eb18: 0x6c20e220, 0x1eb19: 0x6d3e9820, 0x1eb1a: 0x6d32ec20, 0x1eb1b: 0x6c078c20,\n\t0x1eb1c: 0x6ca87620, 0x1eb1d: 0x6d403620, 0x1eb1e: 0x6c216620, 0x1eb1f: 0x6ce01420,\n\t0x1eb20: 0x6c2fba20, 0x1eb21: 0x6cb65420, 0x1eb22: 0x6cb9cc20, 0x1eb23: 0x6d3cac20,\n\t0x1eb24: 0x6c5f4820, 0x1eb25: 0x6d23fa20, 0x1eb26: 0x6c6cb620, 0x1eb27: 0x6c496620,\n\t0x1eb28: 0x6c990820, 0x1eb29: 0x6c167c20, 0x1eb2a: 0x6ce51c20, 0x1eb2b: 0x6cf6de20,\n\t0x1eb2c: 0x6c891e20, 0x1eb2d: 0x6ce24220, 0x1eb2e: 0x6c482820, 0x1eb2f: 0x6c263a20,\n\t0x1eb30: 0x6cd61420, 0x1eb31: 0x6d319c20, 0x1eb32: 0x6c92e020, 0x1eb33: 0x6c9be820,\n\t0x1eb34: 0x6c92e220, 0x1eb35: 0x6c571820, 0x1eb36: 0x6c0c8020, 0x1eb37: 0x6c40cc20,\n\t0x1eb38: 0x6c7f2c20, 0x1eb39: 0x6c790e20, 0x1eb3a: 0x6c39ec20, 0x1eb3b: 0x6cf55820,\n\t0x1eb3c: 0x6ca3d820, 0x1eb3d: 0x6ced9c20, 0x1eb3e: 0x6d299c20, 0x1eb3f: 0x6c570020,\n\t// Block 0x7ad, offset 0x1eb40\n\t0x1eb40: 0x6c2a8620, 0x1eb41: 0x6cfada20, 0x1eb42: 0x6cb10220, 0x1eb43: 0x6c5d6020,\n\t0x1eb44: 0x6c89cc20, 0x1eb45: 0x6c384820, 0x1eb46: 0x6c9ad820, 0x1eb47: 0x6c767220,\n\t0x1eb48: 0x6d1bf220, 0x1eb49: 0x6c2b4a20, 0x1eb4a: 0x6c892220, 0x1eb4b: 0x6c4c4020,\n\t0x1eb4c: 0x6cfc3620, 0x1eb4d: 0x6c328220, 0x1eb4e: 0x6ce8fc20, 0x1eb4f: 0x6cef4420,\n\t0x1eb50: 0x6d3fca20, 0x1eb51: 0x6c406a20, 0x1eb52: 0x6cc76620, 0x1eb53: 0x6c60d220,\n\t0x1eb54: 0x6c36ba20, 0x1eb55: 0x6c758620, 0x1eb56: 0x6c191420, 0x1eb57: 0x6ce38c20,\n\t0x1eb58: 0x6d2c5820, 0x1eb59: 0x6c56d420, 0x1eb5a: 0x6d0fe020, 0x1eb5b: 0x6c32de20,\n\t0x1eb5c: 0x6cfa0420, 0x1eb5d: 0x6d21c220, 0x1eb5e: 0x6c795a20, 0x1eb5f: 0x6d03aa20,\n\t0x1eb60: 0x6c5a1020, 0x1eb61: 0x6cf03220, 0x1eb62: 0x6c406c20, 0x1eb63: 0x6d2f7620,\n\t0x1eb64: 0x6c13b620, 0x1eb65: 0x6cbcee20, 0x1eb66: 0x6cd20620, 0x1eb67: 0x6c52d620,\n\t0x1eb68: 0x6c7ca820, 0x1eb69: 0x6ce51e20, 0x1eb6a: 0x6ca1ee20, 0x1eb6b: 0x6cbbbc20,\n\t0x1eb6c: 0x6cbbbe20, 0x1eb6d: 0x6c543820, 0x1eb6e: 0x6ce7e020, 0x1eb6f: 0x6c236c20,\n\t0x1eb70: 0x6c58ae20, 0x1eb71: 0x6d136620, 0x1eb72: 0x6c9f7e20, 0x1eb73: 0x6c66e620,\n\t0x1eb74: 0x6c32a420, 0x1eb75: 0x6c66da20, 0x1eb76: 0x6cd94220, 0x1eb77: 0x6c7caa20,\n\t0x1eb78: 0x6c55d220, 0x1eb79: 0x6d07d820, 0x1eb7a: 0x6c34b620, 0x1eb7b: 0x6c6b4a20,\n\t0x1eb7c: 0x6d31a020, 0x1eb7d: 0x6c0b0e20, 0x1eb7e: 0x6d37d020, 0x1eb7f: 0x6d3ea220,\n\t// Block 0x7ae, offset 0x1eb80\n\t0x1eb80: 0x6d04fe20, 0x1eb81: 0x6d129020, 0x1eb82: 0x6c9a6e20, 0x1eb83: 0x6cac3420,\n\t0x1eb84: 0x6c003620, 0x1eb85: 0x6c6c0c20, 0x1eb86: 0x6cba9420, 0x1eb87: 0x6c9a3220,\n\t0x1eb88: 0x6cdda220, 0x1eb89: 0x6c26ca20, 0x1eb8a: 0x6c059620, 0x1eb8b: 0x6cfa0a20,\n\t0x1eb8c: 0x6c887a20, 0x1eb8d: 0x6cddaa20, 0x1eb8e: 0x6c769a20, 0x1eb8f: 0x6c8ec020,\n\t0x1eb90: 0x6d116420, 0x1eb91: 0x6d137420, 0x1eb92: 0x6caa2e20, 0x1eb93: 0x6cf23e20,\n\t0x1eb94: 0x6cc6d420, 0x1eb95: 0x6ce15420, 0x1eb96: 0x6cddac20, 0x1eb97: 0x6cbaf220,\n\t0x1eb98: 0x6c86e020, 0x1eb99: 0x6cd7a620, 0x1eb9a: 0x6c20e420, 0x1eb9b: 0x6c0f9620,\n\t0x1eb9c: 0x6cac8620, 0x1eb9d: 0x6c266e20, 0x1eb9e: 0x6c089620, 0x1eb9f: 0x6cca9020,\n\t0x1eba0: 0x6c429420, 0x1eba1: 0x6d3ea620, 0x1eba2: 0x6cf38c20, 0x1eba3: 0x6d1cb420,\n\t0x1eba4: 0x6c5a7e20, 0x1eba5: 0x6ce5aa20, 0x1eba6: 0x6c8ec220, 0x1eba7: 0x6c767420,\n\t0x1eba8: 0x6cdd0220, 0x1eba9: 0x6ccc2220, 0x1ebaa: 0x6cd9f020, 0x1ebab: 0x6ceda820,\n\t0x1ebac: 0x6c507620, 0x1ebad: 0x6d327020, 0x1ebae: 0x6d327220, 0x1ebaf: 0x6c80e820,\n\t0x1ebb0: 0x6d18fc20, 0x1ebb1: 0x6d25c420, 0x1ebb2: 0x6ce18620, 0x1ebb3: 0x6ca88a20,\n\t0x1ebb4: 0x6cf7b020, 0x1ebb5: 0x6c638c20, 0x1ebb6: 0x6c43ba20, 0x1ebb7: 0x6c96a820,\n\t0x1ebb8: 0x6c730620, 0x1ebb9: 0x6cd9a220, 0x1ebba: 0x6d413420, 0x1ebbb: 0x6cddae20,\n\t0x1ebbc: 0x6cfa5620, 0x1ebbd: 0x6c3d0220, 0x1ebbe: 0x6cf21e20, 0x1ebbf: 0x6ca2ec20,\n\t// Block 0x7af, offset 0x1ebc0\n\t0x1ebc0: 0x6c91fa20, 0x1ebc1: 0x6cddb020, 0x1ebc2: 0x6cab6020, 0x1ebc3: 0x6d40f620,\n\t0x1ebc4: 0x6ce96e20, 0x1ebc5: 0x6d050820, 0x1ebc6: 0x6c49b220, 0x1ebc7: 0x6d08cc20,\n\t0x1ebc8: 0x6c892620, 0x1ebc9: 0x6cd48620, 0x1ebca: 0x6c02f820, 0x1ebcb: 0x6c97d420,\n\t0x1ebcc: 0x6ca18020, 0x1ebcd: 0x6c956620, 0x1ebce: 0x6c0a9e20, 0x1ebcf: 0x6cf0fe20,\n\t0x1ebd0: 0x6c8ed020, 0x1ebd1: 0x6c2bb220, 0x1ebd2: 0x6cca3620, 0x1ebd3: 0x6d401220,\n\t0x1ebd4: 0x6d158a20, 0x1ebd5: 0x6c932020, 0x1ebd6: 0x6c028220, 0x1ebd7: 0x6c796220,\n\t0x1ebd8: 0x6cbafa20, 0x1ebd9: 0x6c24f820, 0x1ebda: 0x6cb54e20, 0x1ebdb: 0x6c16d220,\n\t0x1ebdc: 0x6ce0dc20, 0x1ebdd: 0x6c981020, 0x1ebde: 0x6d1dd020, 0x1ebdf: 0x6c160620,\n\t0x1ebe0: 0x6c3c7220, 0x1ebe1: 0x6c6ebe20, 0x1ebe2: 0x6c0c4820, 0x1ebe3: 0x6cd62a20,\n\t0x1ebe4: 0x6c912420, 0x1ebe5: 0x6d055820, 0x1ebe6: 0x6c237420, 0x1ebe7: 0x6c8fce20,\n\t0x1ebe8: 0x6d29b020, 0x1ebe9: 0x6c670820, 0x1ebea: 0x6c12a220, 0x1ebeb: 0x6c849220,\n\t0x1ebec: 0x6cfa5c20, 0x1ebed: 0x6cf72020, 0x1ebee: 0x6c776020, 0x1ebef: 0x6cd6f820,\n\t0x1ebf0: 0x6c086220, 0x1ebf1: 0x6d2f4a20, 0x1ebf2: 0x6cba9620, 0x1ebf3: 0x6c19a620,\n\t0x1ebf4: 0x6c933420, 0x1ebf5: 0x6c576820, 0x1ebf6: 0x6c60f220, 0x1ebf7: 0x6cb47220,\n\t0x1ebf8: 0x6c5c8c20, 0x1ebf9: 0x6cbb5020, 0x1ebfa: 0x6cb32420, 0x1ebfb: 0x6c8c0220,\n\t0x1ebfc: 0x6ccb9020, 0x1ebfd: 0x6d055a20, 0x1ebfe: 0x6cca3c20, 0x1ebff: 0x6c19a820,\n\t// Block 0x7b0, offset 0x1ec00\n\t0x1ec00: 0x6c7d3a20, 0x1ec01: 0x6cd84820, 0x1ec02: 0x6c8f5420, 0x1ec03: 0x6ca4d220,\n\t0x1ec04: 0x6c5a2220, 0x1ec05: 0x6cb1e020, 0x1ec06: 0x6cdcb020, 0x1ec07: 0x6c38ea20,\n\t0x1ec08: 0x6cbc0e20, 0x1ec09: 0x6cc2aa20, 0x1ec0a: 0x6d0fee20, 0x1ec0b: 0x6ce0de20,\n\t0x1ec0c: 0x6cfe6620, 0x1ec0d: 0x6c750420, 0x1ec0e: 0x6c68a420, 0x1ec0f: 0x6d41fc20,\n\t0x1ec10: 0x6c8a4e20, 0x1ec11: 0x6cbd0420, 0x1ec12: 0x6c819020, 0x1ec13: 0x6c338020,\n\t0x1ec14: 0x6d030620, 0x1ec15: 0x6d295820, 0x1ec16: 0x6c5f8e20, 0x1ec17: 0x6c661e20,\n\t0x1ec18: 0x6d37da20, 0x1ec19: 0x6c2af620, 0x1ec1a: 0x6d0b0620, 0x1ec1b: 0x6d1d5c20,\n\t0x1ec1c: 0x6c331e20, 0x1ec1d: 0x6c750620, 0x1ec1e: 0x6caa3020, 0x1ec1f: 0x6d295a20,\n\t0x1ec20: 0x6cb4a420, 0x1ec21: 0x6ce60620, 0x1ec22: 0x6c38ec20, 0x1ec23: 0x6d2f4c20,\n\t0x1ec24: 0x6c2f8a20, 0x1ec25: 0x6ccdda20, 0x1ec26: 0x6c764220, 0x1ec27: 0x6c653820,\n\t0x1ec28: 0x6c3af020, 0x1ec29: 0x6cdcba20, 0x1ec2a: 0x6c920020, 0x1ec2b: 0x6c730c20,\n\t0x1ec2c: 0x6c5c9420, 0x1ec2d: 0x6d246a20, 0x1ec2e: 0x6c889c20, 0x1ec2f: 0x6d3dcc20,\n\t0x1ec30: 0x6cbbc820, 0x1ec31: 0x6c672220, 0x1ec32: 0x6d3dde20, 0x1ec33: 0x6c828c20,\n\t0x1ec34: 0x6c0ac820, 0x1ec35: 0x6ce60820, 0x1ec36: 0x6c58c220, 0x1ec37: 0x6d138c20,\n\t0x1ec38: 0x6c346c20, 0x1ec39: 0x6c4cd620, 0x1ec3a: 0x6c29ac20, 0x1ec3b: 0x6c72ce20,\n\t0x1ec3c: 0x6c3bac20, 0x1ec3d: 0x6c26d620, 0x1ec3e: 0x6c077220, 0x1ec3f: 0x6d194a20,\n\t// Block 0x7b1, offset 0x1ec40\n\t0x1ec40: 0x6c010820, 0x1ec41: 0x6d3fe220, 0x1ec42: 0x6d0aba20, 0x1ec43: 0x6c2e4e20,\n\t0x1ec44: 0x6d3b4e20, 0x1ec45: 0x6c528620, 0x1ec46: 0x6d3cc220, 0x1ec47: 0x6c5fa220,\n\t0x1ec48: 0x6ca8be20, 0x1ec49: 0x6c51a620, 0x1ec4a: 0x6c5e4c20, 0x1ec4b: 0x6cbe6020,\n\t0x1ec4c: 0x6c0d7020, 0x1ec4d: 0x6d1c3e20, 0x1ec4e: 0x6c7d4020, 0x1ec4f: 0x6ca93c20,\n\t0x1ec50: 0x6d060e20, 0x1ec51: 0x6c672620, 0x1ec52: 0x6c672820, 0x1ec53: 0x6cba9a20,\n\t0x1ec54: 0x6c142620, 0x1ec55: 0x6d377220, 0x1ec56: 0x6c9f1620, 0x1ec57: 0x6c84ce20,\n\t0x1ec58: 0x6c829820, 0x1ec59: 0x6c5fa620, 0x1ec5a: 0x6d416620, 0x1ec5b: 0x6c7c2220,\n\t0x1ec5c: 0x6cce4420, 0x1ec5d: 0x6caefc20, 0x1ec5e: 0x6c7ece20, 0x1ec5f: 0x6c320020,\n\t0x1ec60: 0x6cd7b020, 0x1ec61: 0x6c21ec20, 0x1ec62: 0x6c942820, 0x1ec63: 0x6c0c6220,\n\t0x1ec64: 0x6c068420, 0x1ec65: 0x6c920420, 0x1ec66: 0x6cfd5c20, 0x1ec67: 0x6c7b7e20,\n\t0x1ec68: 0x6c901020, 0x1ec69: 0x6c36fa20, 0x1ec6a: 0x6c91a220, 0x1ec6b: 0x6d02f820,\n\t0x1ec6c: 0x6c672c20, 0x1ec6d: 0x6c809420, 0x1ec6e: 0x6c0fd620, 0x1ec6f: 0x6c655620,\n\t0x1ec70: 0x6d125820, 0x1ec71: 0x6c157e20, 0x1ec72: 0x6cfda620, 0x1ec73: 0x6c673020,\n\t0x1ec74: 0x6cf76220, 0x1ec75: 0x6c49c820, 0x1ec76: 0x6c125620, 0x1ec77: 0x6ca8d220,\n\t0x1ec78: 0x6c831620, 0x1ec79: 0x6c249c20, 0x1ec7a: 0x6cc23020, 0x1ec7b: 0x6cacc820,\n\t0x1ec7c: 0x6c959420, 0x1ec7d: 0x6d414420, 0x1ec7e: 0x6c947a20, 0x1ec7f: 0x6d2a3820,\n\t// Block 0x7b2, offset 0x1ec80\n\t0x1ec80: 0x6ca8d820, 0x1ec81: 0x6c753e20, 0x1ec82: 0x6ce19820, 0x1ec83: 0x6cd58e20,\n\t0x1ec84: 0x6c801c20, 0x1ec85: 0x6c6c2220, 0x1ec86: 0x6c40c420, 0x1ec87: 0x6d15b420,\n\t0x1ec88: 0x6d312020, 0x1ec89: 0x6c2f5220, 0x1ec8a: 0x6d2f5220, 0x1ec8b: 0x6cb2f020,\n\t0x1ec8c: 0x6c8a6620, 0x1ec8d: 0x6ce91820, 0x1ec8e: 0x6cb8ba20, 0x1ec8f: 0x6c203220,\n\t0x1ec90: 0x6cccca20, 0x1ec91: 0x6c5fe820, 0x1ec92: 0x6c388e20, 0x1ec93: 0x6c2e0a20,\n\t0x1ec94: 0x6c9ac420, 0x1ec95: 0x6caa7020, 0x1ec96: 0x6d0f8c20, 0x1ec97: 0x6c146420,\n\t0x1ec98: 0x6d03d620, 0x1ec99: 0x6c413020, 0x1ec9a: 0x6c107a20, 0x1ec9b: 0x6cdf6620,\n\t0x1ec9c: 0x6c721c20, 0x1ec9d: 0x6c33e620, 0x1ec9e: 0x6c173e20, 0x1ec9f: 0x6d37ac20,\n\t0x1eca0: 0x6ca32220, 0x1eca1: 0x6c06f620, 0x1eca2: 0x6c426a20, 0x1eca3: 0x6c04c420,\n\t0x1eca4: 0x6cb97a20, 0x1eca5: 0x6d11fa20, 0x1eca6: 0x6cbd2220, 0x1eca7: 0x6c756620,\n\t0x1eca8: 0x6cf35e20, 0x1eca9: 0x6c463c20, 0x1ecaa: 0x6c778420, 0x1ecab: 0x6c398e20,\n\t0x1ecac: 0x6c5d8c20, 0x1ecad: 0x6ce80a20, 0x1ecae: 0x6ca98e20, 0x1ecaf: 0x6c039c20,\n\t0x1ecb0: 0x6d22fa20, 0x1ecb1: 0x6cb98420, 0x1ecb2: 0x6d32aa20, 0x1ecb3: 0x6cb98620,\n\t0x1ecb4: 0x6c477820, 0x1ecb5: 0x6c0e6820, 0x1ecb6: 0x6c353c20, 0x1ecb7: 0x6cb35220,\n\t0x1ecb8: 0x6c108e20, 0x1ecb9: 0x6c0ee220, 0x1ecba: 0x6d26a020, 0x1ecbb: 0x6d413820,\n\t0x1ecbc: 0x6ca28020, 0x1ecbd: 0x6ce05a20, 0x1ecbe: 0x6c641020, 0x1ecbf: 0x6c2d4a20,\n\t// Block 0x7b3, offset 0x1ecc0\n\t0x1ecc0: 0x6d1f2620, 0x1ecc1: 0x6ce5f820, 0x1ecc2: 0x6c0ee420, 0x1ecc3: 0x6c8cd620,\n\t0x1ecc4: 0x6cd77a20, 0x1ecc5: 0x6cb8d020, 0x1ecc6: 0x6c993620, 0x1ecc7: 0x6c064420,\n\t0x1ecc8: 0x6cd36620, 0x1ecc9: 0x6d088420, 0x1ecca: 0x6cdde820, 0x1eccb: 0x6c097220,\n\t0x1eccc: 0x6ca5d220, 0x1eccd: 0x6caf5e20, 0x1ecce: 0x6c344220, 0x1eccf: 0x6d03e420,\n\t0x1ecd0: 0x6c77bc20, 0x1ecd1: 0x6c81b020, 0x1ecd2: 0x6c379420, 0x1ecd3: 0x6c985e20,\n\t0x1ecd4: 0x6d0ba820, 0x1ecd5: 0x6d1fc620, 0x1ecd6: 0x6c19f620, 0x1ecd7: 0x6c63bc20,\n\t0x1ecd8: 0x6d127e20, 0x1ecd9: 0x6ca4a820, 0x1ecda: 0x6d361020, 0x1ecdb: 0x6c29aa20,\n\t0x1ecdc: 0x6ce74620, 0x1ecdd: 0x6c939820, 0x1ecde: 0x6c2e2220, 0x1ecdf: 0x6d19d220,\n\t0x1ece0: 0x6c765020, 0x1ece1: 0x6d2c2e20, 0x1ece2: 0x6d39a220, 0x1ece3: 0x6cf7e420,\n\t0x1ece4: 0x6c2fa220, 0x1ece5: 0x6c2fd220, 0x1ece6: 0x6cfaa420, 0x1ece7: 0x6c573a20,\n\t0x1ece8: 0x6cc2e820, 0x1ece9: 0x6ccbf020, 0x1ecea: 0x6c4cfa20, 0x1eceb: 0x6c2e2420,\n\t0x1ecec: 0x6c448620, 0x1eced: 0x6c9ffc20, 0x1ecee: 0x6d32be20, 0x1ecef: 0x6ccb2620,\n\t0x1ecf0: 0x6c68ec20, 0x1ecf1: 0x6d13ec20, 0x1ecf2: 0x6c15b220, 0x1ecf3: 0x6c1d4e20,\n\t0x1ecf4: 0x6ce0be20, 0x1ecf5: 0x6c018220, 0x1ecf6: 0x6d1a6220, 0x1ecf7: 0x6cc7a820,\n\t0x1ecf8: 0x6d3b0620, 0x1ecf9: 0x6c815c20, 0x1ecfa: 0x6cb4ac20, 0x1ecfb: 0x6cf3cc20,\n\t0x1ecfc: 0x6c7f1020, 0x1ecfd: 0x6ce27c20, 0x1ecfe: 0x6c890020, 0x1ecff: 0x6c794420,\n\t// Block 0x7b4, offset 0x1ed00\n\t0x1ed00: 0x6cfed020, 0x1ed01: 0x6cdd6820, 0x1ed02: 0x6c851a20, 0x1ed03: 0x6d2bac20,\n\t0x1ed04: 0x6c1e8620, 0x1ed05: 0x6c4c2220, 0x1ed06: 0x6c434a20, 0x1ed07: 0x6c357020,\n\t0x1ed08: 0x6d053e20, 0x1ed09: 0x6c262e20, 0x1ed0a: 0x6c94aa20, 0x1ed0b: 0x6c3c5220,\n\t0x1ed0c: 0x6d02da20, 0x1ed0d: 0x6c8f0a20, 0x1ed0e: 0x6c763220, 0x1ed0f: 0x6c65a220,\n\t0x1ed10: 0x6cc8d020, 0x1ed11: 0x6ce2f220, 0x1ed12: 0x6c80ce20, 0x1ed13: 0x6cbdda20,\n\t0x1ed14: 0x6c70a420, 0x1ed15: 0x6c000820, 0x1ed16: 0x6cbac620, 0x1ed17: 0x6d30da20,\n\t0x1ed18: 0x6cab0020, 0x1ed19: 0x6c263220, 0x1ed1a: 0x6c98ee20, 0x1ed1b: 0x6c078a20,\n\t0x1ed1c: 0x6cb60620, 0x1ed1d: 0x6c2a7820, 0x1ed1e: 0x6c78be20, 0x1ed1f: 0x6c7d7420,\n\t0x1ed20: 0x6c167620, 0x1ed21: 0x6cf65e20, 0x1ed22: 0x6c482020, 0x1ed23: 0x6c954c20,\n\t0x1ed24: 0x6c20da20, 0x1ed25: 0x6d3c6420, 0x1ed26: 0x6c6c9a20, 0x1ed27: 0x6d367420,\n\t0x1ed28: 0x6cfab620, 0x1ed29: 0x6c732220, 0x1ed2a: 0x6c5d5820, 0x1ed2b: 0x6caddc20,\n\t0x1ed2c: 0x6cdfee20, 0x1ed2d: 0x6c2fae20, 0x1ed2e: 0x6c66a220, 0x1ed2f: 0x6c725c20,\n\t0x1ed30: 0x6c9bdc20, 0x1ed31: 0x6d3e6620, 0x1ed32: 0x6cbcdc20, 0x1ed33: 0x6d1bc820,\n\t0x1ed34: 0x6c766a20, 0x1ed35: 0x6cbad420, 0x1ed36: 0x6cd80a20, 0x1ed37: 0x6c367820,\n\t0x1ed38: 0x6c13ac20, 0x1ed39: 0x6cbb9420, 0x1ed3a: 0x6d37c420, 0x1ed3b: 0x6c32d620,\n\t0x1ed3c: 0x6cd9d220, 0x1ed3d: 0x6c59e820, 0x1ed3e: 0x6c588c20, 0x1ed3f: 0x6c003220,\n\t// Block 0x7b5, offset 0x1ed40\n\t0x1ed40: 0x6c327020, 0x1ed41: 0x6c9a6420, 0x1ed42: 0x6c911420, 0x1ed43: 0x6d3e7420,\n\t0x1ed44: 0x6c3ac020, 0x1ed45: 0x6c9a1c20, 0x1ed46: 0x6ca15820, 0x1ed47: 0x6d325c20,\n\t0x1ed48: 0x6c0f5020, 0x1ed49: 0x6c442a20, 0x1ed4a: 0x6ca86620, 0x1ed4b: 0x6ce18220,\n\t0x1ed4c: 0x6c730220, 0x1ed4d: 0x6ca86820, 0x1ed4e: 0x6ca2e820, 0x1ed4f: 0x6c8e8e20,\n\t0x1ed50: 0x6c431e20, 0x1ed51: 0x6c058a20, 0x1ed52: 0x6d186c20, 0x1ed53: 0x6c638020,\n\t0x1ed54: 0x6c0d4e20, 0x1ed55: 0x6cc6ac20, 0x1ed56: 0x6c0c2420, 0x1ed57: 0x6ce0d620,\n\t0x1ed58: 0x6c980620, 0x1ed59: 0x6c955420, 0x1ed5a: 0x6c085420, 0x1ed5b: 0x6d1dbc20,\n\t0x1ed5c: 0x6c6eae20, 0x1ed5d: 0x6c2b4620, 0x1ed5e: 0x6d40dc20, 0x1ed5f: 0x6d08b420,\n\t0x1ed60: 0x6c8ea620, 0x1ed61: 0x6c153220, 0x1ed62: 0x6c74d020, 0x1ed63: 0x6c8aac20,\n\t0x1ed64: 0x6cb46420, 0x1ed65: 0x6c91e220, 0x1ed66: 0x6c336e20, 0x1ed67: 0x6c7fc820,\n\t0x1ed68: 0x6cb49e20, 0x1ed69: 0x6c249420, 0x1ed6a: 0x6cbae820, 0x1ed6b: 0x6c2aee20,\n\t0x1ed6c: 0x6c5e1e20, 0x1ed6d: 0x6c826e20, 0x1ed6e: 0x6c58b220, 0x1ed6f: 0x6d3dc420,\n\t0x1ed70: 0x6c887c20, 0x1ed71: 0x6d18fe20, 0x1ed72: 0x6c142420, 0x1ed73: 0x6c0c4e20,\n\t0x1ed74: 0x6c7eba20, 0x1ed75: 0x6c157020, 0x1ed76: 0x6cfda020, 0x1ed77: 0x6d2f0020,\n\t0x1ed78: 0x6c169c20, 0x1ed79: 0x6c6fbc20, 0x1ed7a: 0x6c02a420, 0x1ed7b: 0x6c2eb820,\n\t0x1ed7c: 0x6cc13c20, 0x1ed7d: 0x6c8a8420, 0x1ed7e: 0x6c9caa20, 0x1ed7f: 0x6d2efa20,\n\t// Block 0x7b6, offset 0x1ed80\n\t0x1ed80: 0x6c9ac620, 0x1ed81: 0x6c96b620, 0x1ed82: 0x6cd68220, 0x1ed83: 0x6ccd3c20,\n\t0x1ed84: 0x6c5db420, 0x1ed85: 0x6c9ac820, 0x1ed86: 0x6d0c8e20, 0x1ed87: 0x6c098e20,\n\t0x1ed88: 0x6c4eba20, 0x1ed89: 0x6c099020, 0x1ed8a: 0x6ccdfa20, 0x1ed8b: 0x6c763420,\n\t0x1ed8c: 0x6c778a20, 0x1ed8d: 0x6c07f220, 0x1ed8e: 0x6c535c20, 0x1ed8f: 0x6cc8fe20,\n\t0x1ed90: 0x6cca5820, 0x1ed91: 0x6cfb6420, 0x1ed92: 0x6cfb6620, 0x1ed93: 0x6c64ac20,\n\t0x1ed94: 0x6c9fb420, 0x1ed95: 0x6cf96820, 0x1ed96: 0x6cd74020, 0x1ed97: 0x6c312020,\n\t0x1ed98: 0x6d2c3c20, 0x1ed99: 0x6ca53420, 0x1ed9a: 0x6d2d8820, 0x1ed9b: 0x6cae7820,\n\t0x1ed9c: 0x6cfa2220, 0x1ed9d: 0x6c8d2820, 0x1ed9e: 0x6c0bae20, 0x1ed9f: 0x6c09e820,\n\t0x1eda0: 0x6cc90020, 0x1eda1: 0x6c00be20, 0x1eda2: 0x6c492020, 0x1eda3: 0x6c441620,\n\t0x1eda4: 0x6c441820, 0x1eda5: 0x6c382220, 0x1eda6: 0x6c1f6620, 0x1eda7: 0x6c53c820,\n\t0x1eda8: 0x6c4a7e20, 0x1eda9: 0x6c9fbe20, 0x1edaa: 0x6ccb1220, 0x1edab: 0x6c7dc020,\n\t0x1edac: 0x6c812c20, 0x1edad: 0x6c935a20, 0x1edae: 0x6ce68820, 0x1edaf: 0x6ccc7620,\n\t0x1edb0: 0x6c714820, 0x1edb1: 0x6d26e420, 0x1edb2: 0x6d26e620, 0x1edb3: 0x6c15e020,\n\t0x1edb4: 0x6cc27620, 0x1edb5: 0x6c8c6a20, 0x1edb6: 0x6c167e20, 0x1edb7: 0x6ccca420,\n\t0x1edb8: 0x6c7dc220, 0x1edb9: 0x6d0c3020, 0x1edba: 0x6cf1b220, 0x1edbb: 0x6d0cd420,\n\t0x1edbc: 0x6c36b020, 0x1edbd: 0x6c5cda20, 0x1edbe: 0x6d23fc20, 0x1edbf: 0x6cf1b420,\n\t// Block 0x7b7, offset 0x1edc0\n\t0x1edc0: 0x6cfe6020, 0x1edc1: 0x6c05be20, 0x1edc2: 0x6c53d620, 0x1edc3: 0x6cc28020,\n\t0x1edc4: 0x6d11dc20, 0x1edc5: 0x6cf1ba20, 0x1edc6: 0x6c04d820, 0x1edc7: 0x6c01d220,\n\t0x1edc8: 0x6cef4620, 0x1edc9: 0x6d1a1020, 0x1edca: 0x6c7e2020, 0x1edcb: 0x6cc40a20,\n\t0x1edcc: 0x6c7fca20, 0x1edcd: 0x6c317c20, 0x1edce: 0x6cc38620, 0x1edcf: 0x6c3c6e20,\n\t0x1edd0: 0x6ce4cc20, 0x1edd1: 0x6ca88c20, 0x1edd2: 0x6cdec420, 0x1edd3: 0x6c767620,\n\t0x1edd4: 0x6c518a20, 0x1edd5: 0x6cc40e20, 0x1edd6: 0x6c209c20, 0x1edd7: 0x6c493020,\n\t0x1edd8: 0x6c314620, 0x1edd9: 0x6cb72420, 0x1edda: 0x6c7c4e20, 0x1eddb: 0x6ce15c20,\n\t0x1eddc: 0x6c493420, 0x1eddd: 0x6cb18a20, 0x1edde: 0x6c771820, 0x1eddf: 0x6cf92420,\n\t0x1ede0: 0x6c5c8e20, 0x1ede1: 0x6c160e20, 0x1ede2: 0x6cb0dc20, 0x1ede3: 0x6c29a420,\n\t0x1ede4: 0x6c58c420, 0x1ede5: 0x6cdeda20, 0x1ede6: 0x6cf1c220, 0x1ede7: 0x6cde0220,\n\t0x1ede8: 0x6c9abe20, 0x1ede9: 0x6cd67e20, 0x1edea: 0x6ccd2820, 0x1edeb: 0x6d0e3820,\n\t0x1edec: 0x6c4e8820, 0x1eded: 0x6c090e20, 0x1edee: 0x6cf1f820, 0x1edef: 0x6c208c20,\n\t0x1edf0: 0x6cc8f820, 0x1edf1: 0x6ceee620, 0x1edf2: 0x6cfb2820, 0x1edf3: 0x6c52fe20,\n\t0x1edf4: 0x6c646620, 0x1edf5: 0x6c9f9220, 0x1edf6: 0x6c772620, 0x1edf7: 0x6c9aea20,\n\t0x1edf8: 0x6d2c2420, 0x1edf9: 0x6ca52a20, 0x1edfa: 0x6c4a4220, 0x1edfb: 0x6cf18820,\n\t0x1edfc: 0x6cde3e20, 0x1edfd: 0x6c9fa020, 0x1edfe: 0x6c935420, 0x1edff: 0x6c764e20,\n\t// Block 0x7b8, offset 0x1ee00\n\t0x1ee00: 0x6c380a20, 0x1ee01: 0x6c43ce20, 0x1ee02: 0x6c50e620, 0x1ee03: 0x6c7da420,\n\t0x1ee04: 0x6c6f6820, 0x1ee05: 0x6d26a220, 0x1ee06: 0x6c80b020, 0x1ee07: 0x6c316c20,\n\t0x1ee08: 0x6d232820, 0x1ee09: 0x6d0c0420, 0x1ee0a: 0x6c166c20, 0x1ee0b: 0x6cf88020,\n\t0x1ee0c: 0x6cf19420, 0x1ee0d: 0x6c5cc620, 0x1ee0e: 0x6d0c9020, 0x1ee0f: 0x6c362020,\n\t0x1ee10: 0x6c15b420, 0x1ee11: 0x6c7fa020, 0x1ee12: 0x6cc27020, 0x1ee13: 0x6c5bce20,\n\t0x1ee14: 0x6c7e0220, 0x1ee15: 0x6cc3c620, 0x1ee16: 0x6c515020, 0x1ee17: 0x6ce4b220,\n\t0x1ee18: 0x6c26b220, 0x1ee19: 0x6cc39020, 0x1ee1a: 0x6c4e5e20, 0x1ee1b: 0x6c58a220,\n\t0x1ee1c: 0x6c3fba20, 0x1ee1d: 0x6c3f9e20, 0x1ee1e: 0x6c820620, 0x1ee1f: 0x6c332a20,\n\t0x1ee20: 0x6d031020, 0x1ee21: 0x6cb89020, 0x1ee22: 0x6cf49a20, 0x1ee23: 0x6c412620,\n\t0x1ee24: 0x6d356a20, 0x1ee25: 0x6d19a020, 0x1ee26: 0x6d0f7820, 0x1ee27: 0x6c30d620,\n\t0x1ee28: 0x6c35ce20, 0x1ee29: 0x6cd0d620, 0x1ee2a: 0x6c04b220, 0x1ee2b: 0x6cadc620,\n\t0x1ee2c: 0x6c792220, 0x1ee2d: 0x6d27d420, 0x1ee2e: 0x6cc84c20, 0x1ee2f: 0x6d34da20,\n\t0x1ee30: 0x6cafac20, 0x1ee31: 0x6c6e0420, 0x1ee32: 0x6c39a020, 0x1ee33: 0x6d0f7a20,\n\t0x1ee34: 0x6d19a220, 0x1ee35: 0x6d321020, 0x1ee36: 0x6c69f420, 0x1ee37: 0x6c195020,\n\t0x1ee38: 0x6c35d620, 0x1ee39: 0x6cc0d620, 0x1ee3a: 0x6c2bd220, 0x1ee3b: 0x6d410a20,\n\t0x1ee3c: 0x6d427820, 0x1ee3d: 0x6c2d3820, 0x1ee3e: 0x6c8e0820, 0x1ee3f: 0x6c000220,\n\t// Block 0x7b9, offset 0x1ee40\n\t0x1ee40: 0x6ceae620, 0x1ee41: 0x6ceae820, 0x1ee42: 0x6c068c20, 0x1ee43: 0x6c0dc020,\n\t0x1ee44: 0x6c3fae20, 0x1ee45: 0x6c618e20, 0x1ee46: 0x6c921420, 0x1ee47: 0x6c902c20,\n\t0x1ee48: 0x6c18a220, 0x1ee49: 0x6d03c220, 0x1ee4a: 0x6c34ce20, 0x1ee4b: 0x6c910220,\n\t0x1ee4c: 0x6ca0da20, 0x1ee4d: 0x6c67d620, 0x1ee4e: 0x6cd4ae20, 0x1ee4f: 0x6c34d020,\n\t0x1ee50: 0x6cfc8620, 0x1ee51: 0x6c373820, 0x1ee52: 0x6c4acc20, 0x1ee53: 0x6d207c20,\n\t0x1ee54: 0x6c40e220, 0x1ee55: 0x6ccd2e20, 0x1ee56: 0x6c759e20, 0x1ee57: 0x6cbc3420,\n\t0x1ee58: 0x6d03d820, 0x1ee59: 0x6c213620, 0x1ee5a: 0x6c3fd820, 0x1ee5b: 0x6c095820,\n\t0x1ee5c: 0x6cf99e20, 0x1ee5d: 0x6ccd3820, 0x1ee5e: 0x6cd0f620, 0x1ee5f: 0x6d35aa20,\n\t0x1ee60: 0x6cb40420, 0x1ee61: 0x6c30e420, 0x1ee62: 0x6d260620, 0x1ee63: 0x6d322820,\n\t0x1ee64: 0x6c1e7620, 0x1ee65: 0x6cfc9820, 0x1ee66: 0x6c2a5620, 0x1ee67: 0x6ca7fe20,\n\t0x1ee68: 0x6d27e020, 0x1ee69: 0x6cfbf020, 0x1ee6a: 0x6cadce20, 0x1ee6b: 0x6c3aa020,\n\t0x1ee6c: 0x6d404e20, 0x1ee6d: 0x6d174c20, 0x1ee6e: 0x6c334820, 0x1ee6f: 0x6c94e620,\n\t0x1ee70: 0x6d19c420, 0x1ee71: 0x6c707820, 0x1ee72: 0x6c20c620, 0x1ee73: 0x6c18ba20,\n\t0x1ee74: 0x6cafd620, 0x1ee75: 0x6c8cd820, 0x1ee76: 0x6ce21420, 0x1ee77: 0x6cfcae20,\n\t0x1ee78: 0x6c923020, 0x1ee79: 0x6cd0fc20, 0x1ee7a: 0x6cfc0a20, 0x1ee7b: 0x6d19d420,\n\t0x1ee7c: 0x6d3a6220, 0x1ee7d: 0x6d0fb020, 0x1ee7e: 0x6cc62c20, 0x1ee7f: 0x6cf9bc20,\n\t// Block 0x7ba, offset 0x1ee80\n\t0x1ee80: 0x6c1d1420, 0x1ee81: 0x6d0e6820, 0x1ee82: 0x6d19d620, 0x1ee83: 0x6cd5ce20,\n\t0x1ee84: 0x6c2b2c20, 0x1ee85: 0x6d210c20, 0x1ee86: 0x6c8f9220, 0x1ee87: 0x6cee7820,\n\t0x1ee88: 0x6cee7a20, 0x1ee89: 0x6ca82420, 0x1ee8a: 0x6c334a20, 0x1ee8b: 0x6cdbf220,\n\t0x1ee8c: 0x6c018420, 0x1ee8d: 0x6c59b620, 0x1ee8e: 0x6c6a0620, 0x1ee8f: 0x6cdbf420,\n\t0x1ee90: 0x6d1ae220, 0x1ee91: 0x6c413c20, 0x1ee92: 0x6d0d9a20, 0x1ee93: 0x6c5abe20,\n\t0x1ee94: 0x6c43fc20, 0x1ee95: 0x6d27ee20, 0x1ee96: 0x6cf4f220, 0x1ee97: 0x6c7c6c20,\n\t0x1ee98: 0x6c009e20, 0x1ee99: 0x6cf89820, 0x1ee9a: 0x6ce10c20, 0x1ee9b: 0x6c623020,\n\t0x1ee9c: 0x6d2f3620, 0x1ee9d: 0x6c29de20, 0x1ee9e: 0x6c024820, 0x1ee9f: 0x6cf8aa20,\n\t0x1eea0: 0x6d1aee20, 0x1eea1: 0x6cc9be20, 0x1eea2: 0x6cc53a20, 0x1eea3: 0x6c8bca20,\n\t0x1eea4: 0x6ce9b220, 0x1eea5: 0x6c2ade20, 0x1eea6: 0x6c693820, 0x1eea7: 0x6cdc5820,\n\t0x1eea8: 0x6cdbfa20, 0x1eea9: 0x6c02e220, 0x1eeaa: 0x6cfc2620, 0x1eeab: 0x6c3b8220,\n\t0x1eeac: 0x6ca64c20, 0x1eead: 0x6c376820, 0x1eeae: 0x6c5f4a20, 0x1eeaf: 0x6c29ec20,\n\t0x1eeb0: 0x6cf7a620, 0x1eeb1: 0x6d1b0a20, 0x1eeb2: 0x6c358220, 0x1eeb3: 0x6c5af420,\n\t0x1eeb4: 0x6c903c20, 0x1eeb5: 0x6cf72220, 0x1eeb6: 0x6c859820, 0x1eeb7: 0x6c868820,\n\t0x1eeb8: 0x6c86b420, 0x1eeb9: 0x6d3c5620, 0x1eeba: 0x6c553a20, 0x1eebb: 0x6d33d220,\n\t0x1eebc: 0x6cdcea20, 0x1eebd: 0x6c735220, 0x1eebe: 0x6ca3f620, 0x1eebf: 0x6d178820,\n\t// Block 0x7bb, offset 0x1eec0\n\t0x1eec0: 0x6cc3ba20, 0x1eec1: 0x6d0e7e20, 0x1eec2: 0x6cbd7a20, 0x1eec3: 0x6cb8e820,\n\t0x1eec4: 0x6d047c20, 0x1eec5: 0x6d0b5420, 0x1eec6: 0x6c604620, 0x1eec7: 0x6c481820,\n\t0x1eec8: 0x6c587a20, 0x1eec9: 0x6d367620, 0x1eeca: 0x6c46c020, 0x1eecb: 0x6c736e20,\n\t0x1eecc: 0x6c225620, 0x1eecd: 0x6d1d9420, 0x1eece: 0x6c70b020, 0x1eecf: 0x6c1e9820,\n\t0x1eed0: 0x6c54f020, 0x1eed1: 0x6d28c420, 0x1eed2: 0x6c961c20, 0x1eed3: 0x6d219620,\n\t0x1eed4: 0x6c1dde20, 0x1eed5: 0x6c2de020, 0x1eed6: 0x6cdbe020, 0x1eed7: 0x6c4f2820,\n\t0x1eed8: 0x6cf32220, 0x1eed9: 0x6cd6a620, 0x1eeda: 0x6c49ae20, 0x1eedb: 0x6c1ec220,\n\t0x1eedc: 0x6d28d220, 0x1eedd: 0x6d1dcc20, 0x1eede: 0x6c5f7c20, 0x1eedf: 0x6cf70c20,\n\t0x1eee0: 0x6c1dfe20, 0x1eee1: 0x6c8f5220, 0x1eee2: 0x6c847e20, 0x1eee3: 0x6ca41420,\n\t0x1eee4: 0x6d092c20, 0x1eee5: 0x6d28e420, 0x1eee6: 0x6c610820, 0x1eee7: 0x6c610a20,\n\t0x1eee8: 0x6d222220, 0x1eee9: 0x6d211020, 0x1eeea: 0x6d093020, 0x1eeeb: 0x6ca2f820,\n\t0x1eeec: 0x6c3d2e20, 0x1eeed: 0x6ccb2820, 0x1eeee: 0x6ca28e20, 0x1eeef: 0x6cf19820,\n\t0x1eef0: 0x6c3b3620, 0x1eef1: 0x6cacda20, 0x1eef2: 0x6d27aa20, 0x1eef3: 0x6c862220,\n\t0x1eef4: 0x6c1c3a20, 0x1eef5: 0x6d0f6020, 0x1eef6: 0x6c8d2a20, 0x1eef7: 0x6c823e20,\n\t0x1eef8: 0x6c016e20, 0x1eef9: 0x6c05ce20, 0x1eefa: 0x6cf50420, 0x1eefb: 0x6c2d6a20,\n\t0x1eefc: 0x6c297420, 0x1eefd: 0x6c56ac20, 0x1eefe: 0x6cf50620, 0x1eeff: 0x6c2e3420,\n\t// Block 0x7bc, offset 0x1ef00\n\t0x1ef00: 0x6d05c220, 0x1ef01: 0x6c625820, 0x1ef02: 0x6ca2a820, 0x1ef03: 0x6c18e820,\n\t0x1ef04: 0x6cff1020, 0x1ef05: 0x6d2cde20, 0x1ef06: 0x6ce68a20, 0x1ef07: 0x6d325e20,\n\t0x1ef08: 0x6cae2820, 0x1ef09: 0x6c9a2420, 0x1ef0a: 0x6c8d4c20, 0x1ef0b: 0x6cb53420,\n\t0x1ef0c: 0x6d38b020, 0x1ef0d: 0x6c5e0220, 0x1ef0e: 0x6ccc7c20, 0x1ef0f: 0x6c3a1a20,\n\t0x1ef10: 0x6c538a20, 0x1ef11: 0x6d2da020, 0x1ef12: 0x6d1a0820, 0x1ef13: 0x6ca60820,\n\t0x1ef14: 0x6d3b2e20, 0x1ef15: 0x6cea6e20, 0x1ef16: 0x6c8be420, 0x1ef17: 0x6c8e3020,\n\t0x1ef18: 0x6c308e20, 0x1ef19: 0x6d1bf620, 0x1ef1a: 0x6cf53220, 0x1ef1b: 0x6c8d7420,\n\t0x1ef1c: 0x6cd6a420, 0x1ef1d: 0x6c8d7620, 0x1ef1e: 0x6cfa0620, 0x1ef1f: 0x6c539020,\n\t0x1ef20: 0x6d1a1220, 0x1ef21: 0x6c974420, 0x1ef22: 0x6c974620, 0x1ef23: 0x6d280620,\n\t0x1ef24: 0x6c8f4c20, 0x1ef25: 0x6c9c1620, 0x1ef26: 0x6c0d6a20, 0x1ef27: 0x6cf54020,\n\t0x1ef28: 0x6cf10020, 0x1ef29: 0x6c7e2a20, 0x1ef2a: 0x6d1aac20, 0x1ef2b: 0x6cf7b220,\n\t0x1ef2c: 0x6d191e20, 0x1ef2d: 0x6c008020, 0x1ef2e: 0x6c28e420, 0x1ef2f: 0x6ce2e420,\n\t0x1ef30: 0x6cca4020, 0x1ef31: 0x6d246c20, 0x1ef32: 0x6c933620, 0x1ef33: 0x6c8fd020,\n\t0x1ef34: 0x6c27a820, 0x1ef35: 0x6c60f420, 0x1ef36: 0x6cacec20, 0x1ef37: 0x6d0ff420,\n\t0x1ef38: 0x6c03d620, 0x1ef39: 0x6cafa420, 0x1ef3a: 0x6cef7020, 0x1ef3b: 0x6c3c8420,\n\t0x1ef3c: 0x6cf93420, 0x1ef3d: 0x6c62e420, 0x1ef3e: 0x6c970e20, 0x1ef3f: 0x6c9bac20,\n\t// Block 0x7bd, offset 0x1ef40\n\t0x1ef40: 0x6c9bae20, 0x1ef41: 0x6c829a20, 0x1ef42: 0x6c87ae20, 0x1ef43: 0x6c5e5820,\n\t0x1ef44: 0x6c008220, 0x1ef45: 0x6c3b0220, 0x1ef46: 0x6c27ae20, 0x1ef47: 0x6c901220,\n\t0x1ef48: 0x6c8db620, 0x1ef49: 0x6c010e20, 0x1ef4a: 0x6c3c8e20, 0x1ef4b: 0x6c87c820,\n\t0x1ef4c: 0x6c062620, 0x1ef4d: 0x6c521820, 0x1ef4e: 0x6c521020, 0x1ef4f: 0x6c521420,\n\t0x1ef50: 0x6c0e3e20, 0x1ef51: 0x6cbe3020, 0x1ef52: 0x6cbe3220, 0x1ef53: 0x6c6e8a20,\n\t0x1ef54: 0x6ce46c20, 0x1ef55: 0x6d317820, 0x1ef56: 0x6c6e9220, 0x1ef57: 0x6c198420,\n\t0x1ef58: 0x6cbed420, 0x1ef59: 0x6c6e9c20, 0x1ef5a: 0x6c6ea620, 0x1ef5b: 0x6c2d8620,\n\t0x1ef5c: 0x6c6eb020, 0x1ef5d: 0x6ce47a20, 0x1ef5e: 0x6c39f220, 0x1ef5f: 0x6c3a0a20,\n\t0x1ef60: 0x6c77c820, 0x1ef61: 0x6c9c9220, 0x1ef62: 0x6c9e5620, 0x1ef63: 0x6c9e5020,\n\t0x1ef64: 0x6c065a20, 0x1ef65: 0x6d133420, 0x1ef66: 0x6ce52020, 0x1ef67: 0x6c5c9820,\n\t0x1ef68: 0x6d139c20, 0x1ef69: 0x6c43d020, 0x1ef6a: 0x6c2f5e20, 0x1ef6b: 0x6c13ea20,\n\t0x1ef6c: 0x6cb9a020, 0x1ef6d: 0x6cc5f820, 0x1ef6e: 0x6c2b7020, 0x1ef6f: 0x6c326020,\n\t0x1ef70: 0x6cf4f420, 0x1ef71: 0x6cc5fa20, 0x1ef72: 0x6cbd8820, 0x1ef73: 0x6c6d2020,\n\t0x1ef74: 0x6d08e420, 0x1ef75: 0x6ca99e20, 0x1ef76: 0x6c03a220, 0x1ef77: 0x6d1af020,\n\t0x1ef78: 0x6cc95020, 0x1ef79: 0x6ca35e20, 0x1ef7a: 0x6ca14420, 0x1ef7b: 0x6d412220,\n\t0x1ef7c: 0x6c26b620, 0x1ef7d: 0x6c050020, 0x1ef7e: 0x6d183e20, 0x1ef7f: 0x6d121a20,\n\t// Block 0x7be, offset 0x1ef80\n\t0x1ef80: 0x6ce23420, 0x1ef81: 0x6c074c20, 0x1ef82: 0x6c63d820, 0x1ef83: 0x6c537a20,\n\t0x1ef84: 0x6cad6220, 0x1ef85: 0x6d0f6420, 0x1ef86: 0x6c0e4220, 0x1ef87: 0x6d1a0020,\n\t0x1ef88: 0x6c442c20, 0x1ef89: 0x6ce23c20, 0x1ef8a: 0x6c6b2e20, 0x1ef8b: 0x6d00e420,\n\t0x1ef8c: 0x6c014820, 0x1ef8d: 0x6c014a20, 0x1ef8e: 0x6c523620, 0x1ef8f: 0x6c45fc20,\n\t0x1ef90: 0x6cb88a20, 0x1ef91: 0x6c26c220, 0x1ef92: 0x6cbbf420, 0x1ef93: 0x6ce64a20,\n\t0x1ef94: 0x6c978620, 0x1ef95: 0x6d1d4e20, 0x1ef96: 0x6cdbde20, 0x1ef97: 0x6ce5a020,\n\t0x1ef98: 0x6cbc6220, 0x1ef99: 0x6d08b820, 0x1ef9a: 0x6c79ac20, 0x1ef9b: 0x6c083420,\n\t0x1ef9c: 0x6cdeb420, 0x1ef9d: 0x6cce5820, 0x1ef9e: 0x6c0dfa20, 0x1ef9f: 0x6c7e2220,\n\t0x1efa0: 0x6c70d420, 0x1efa1: 0x6c7eda20, 0x1efa2: 0x6d024a20, 0x1efa3: 0x6cc76820,\n\t0x1efa4: 0x6c054420, 0x1efa5: 0x6c372c20, 0x1efa6: 0x6cbfd620, 0x1efa7: 0x6cbfd820,\n\t0x1efa8: 0x6c518c20, 0x1efa9: 0x6d001620, 0x1efaa: 0x6ca2ba20, 0x1efab: 0x6c70da20,\n\t0x1efac: 0x6c650a20, 0x1efad: 0x6c0b1620, 0x1efae: 0x6c2b4c20, 0x1efaf: 0x6c651c20,\n\t0x1efb0: 0x6cf16e20, 0x1efb1: 0x6ce1fa20, 0x1efb2: 0x6c466620, 0x1efb3: 0x6cdec620,\n\t0x1efb4: 0x6c076c20, 0x1efb5: 0x6d011c20, 0x1efb6: 0x6cac8820, 0x1efb7: 0x6c445420,\n\t0x1efb8: 0x6c0ab020, 0x1efb9: 0x6c7e2e20, 0x1efba: 0x6ce0e020, 0x1efbb: 0x6c90d420,\n\t0x1efbc: 0x6c4ba420, 0x1efbd: 0x6cbc1220, 0x1efbe: 0x6d08ee20, 0x1efbf: 0x6c5f9820,\n\t// Block 0x7bf, offset 0x1efc0\n\t0x1efc0: 0x6c654820, 0x1efc1: 0x6c679820, 0x1efc2: 0x6c164c20, 0x1efc3: 0x6c26d820,\n\t0x1efc4: 0x6c56e820, 0x1efc5: 0x6cfc6420, 0x1efc6: 0x6cb96020, 0x1efc7: 0x6c320420,\n\t0x1efc8: 0x6cec4420, 0x1efc9: 0x6c655a20, 0x1efca: 0x6c801e20, 0x1efcb: 0x6ceeee20,\n\t0x1efcc: 0x6cc5fc20, 0x1efcd: 0x6c3ecc20, 0x1efce: 0x6c9aa220, 0x1efcf: 0x6cc37820,\n\t0x1efd0: 0x6c442e20, 0x1efd1: 0x6cf01020, 0x1efd2: 0x6cbc6420, 0x1efd3: 0x6c4e3e20,\n\t0x1efd4: 0x6c172820, 0x1efd5: 0x6c7e3420, 0x1efd6: 0x6cc77c20, 0x1efd7: 0x6d286620,\n\t0x1efd8: 0x6ccf8020, 0x1efd9: 0x6cf04620, 0x1efda: 0x6c444e20, 0x1efdb: 0x6c046220,\n\t0x1efdc: 0x6ce1fc20, 0x1efdd: 0x6c466820, 0x1efde: 0x6d286c20, 0x1efdf: 0x6c435e20,\n\t0x1efe0: 0x6c0ab220, 0x1efe1: 0x6cf05220, 0x1efe2: 0x6cdcc220, 0x1efe3: 0x6c31fa20,\n\t0x1efe4: 0x6cec4620, 0x1efe5: 0x6c320620, 0x1efe6: 0x6ceed820, 0x1efe7: 0x6cc5cc20,\n\t0x1efe8: 0x6c3e2820, 0x1efe9: 0x6c4e1a20, 0x1efea: 0x6cefea20, 0x1efeb: 0x6d283e20,\n\t0x1efec: 0x6ce1e020, 0x1efed: 0x6c6fb420, 0x1efee: 0x6c6fc420, 0x1efef: 0x6cfad220,\n\t0x1eff0: 0x6d022820, 0x1eff1: 0x6cfae220, 0x1eff2: 0x6c5f8820, 0x1eff3: 0x6d19ba20,\n\t0x1eff4: 0x6d28c220, 0x1eff5: 0x6d284020, 0x1eff6: 0x6ccea820, 0x1eff7: 0x6c822420,\n\t0x1eff8: 0x6caecc20, 0x1eff9: 0x6c5a2020, 0x1effa: 0x6d1c0420, 0x1effb: 0x6d287220,\n\t0x1effc: 0x6caef020, 0x1effd: 0x6c016020, 0x1effe: 0x6d1a1820, 0x1efff: 0x6cfe0a20,\n\t// Block 0x7c0, offset 0x1f000\n\t0x1f000: 0x6c56ea20, 0x1f001: 0x6d12dc20, 0x1f002: 0x6c2f6e20, 0x1f003: 0x6cbea820,\n\t0x1f004: 0x6c7c7020, 0x1f005: 0x6cfe3a20, 0x1f006: 0x6cd75420, 0x1f007: 0x6c4daa20,\n\t0x1f008: 0x6d05ae20, 0x1f009: 0x6d152a20, 0x1f00a: 0x6d05b620, 0x1f00b: 0x6c35b420,\n\t0x1f00c: 0x6cd99020, 0x1f00d: 0x6c7cd820, 0x1f00e: 0x6cb60c20, 0x1f00f: 0x6c4f8220,\n\t0x1f010: 0x6d238620, 0x1f011: 0x6cece020, 0x1f012: 0x6c048c20, 0x1f013: 0x6c33fe20,\n\t0x1f014: 0x6c2b8620, 0x1f015: 0x6c27f220, 0x1f016: 0x6cacbe20, 0x1f017: 0x6cb31820,\n\t0x1f018: 0x6c8e1220, 0x1f019: 0x6c182e20, 0x1f01a: 0x6c6e2620, 0x1f01b: 0x6c834020,\n\t0x1f01c: 0x6c516a20, 0x1f01d: 0x6cbb9e20, 0x1f01e: 0x6c36a020, 0x1f01f: 0x6c357c20,\n\t0x1f020: 0x6cf01220, 0x1f021: 0x6d00e620, 0x1f022: 0x6c7e1020, 0x1f023: 0x6cd07020,\n\t0x1f024: 0x6d156620, 0x1f025: 0x6cd07a20, 0x1f026: 0x6c4d2420, 0x1f027: 0x6c332820,\n\t0x1f028: 0x6d228420, 0x1f029: 0x6cb26620, 0x1f02a: 0x6c834220, 0x1f02b: 0x6c3f8420,\n\t0x1f02c: 0x6c63e020, 0x1f02d: 0x6ce7f820, 0x1f02e: 0x6c5c4a20, 0x1f02f: 0x6c7ca020,\n\t0x1f030: 0x6c63ec20, 0x1f031: 0x6c953220, 0x1f032: 0x6ce6e220, 0x1f033: 0x6c199820,\n\t0x1f034: 0x6d1d1020, 0x1f035: 0x6d276a20, 0x1f036: 0x6c55c620, 0x1f037: 0x6c4f1020,\n\t0x1f038: 0x6c6e3620, 0x1f039: 0x6ce9be20, 0x1f03a: 0x6ce9c020, 0x1f03b: 0x6cb21420,\n\t0x1f03c: 0x6c7f5a20, 0x1f03d: 0x6ce9c220, 0x1f03e: 0x6d3eb420, 0x1f03f: 0x6d3eb220,\n\t// Block 0x7c1, offset 0x1f040\n\t0x1f040: 0x6c20e620, 0x1f041: 0x6c2fc020, 0x1f042: 0x6c7f5c20, 0x1f043: 0x6ce02020,\n\t0x1f044: 0x6c4f2220, 0x1f045: 0x6cb93220, 0x1f046: 0x6c783820, 0x1f047: 0x6c257220,\n\t0x1f048: 0x6d085e20, 0x1f049: 0x6cbd4420, 0x1f04a: 0x6d157820, 0x1f04b: 0x6cc9d420,\n\t0x1f04c: 0x6ce39e20, 0x1f04d: 0x6c358a20, 0x1f04e: 0x6c36ca20, 0x1f04f: 0x6d0ce220,\n\t0x1f050: 0x6cf21420, 0x1f051: 0x6c76f820, 0x1f052: 0x6d1e0220, 0x1f053: 0x6d3b9820,\n\t0x1f054: 0x6d0ce420, 0x1f055: 0x6cfc3c20, 0x1f056: 0x6d035220, 0x1f057: 0x6d162620,\n\t0x1f058: 0x6d263820, 0x1f059: 0x6cca9620, 0x1f05a: 0x6c2ce620, 0x1f05b: 0x6c2ce820,\n\t0x1f05c: 0x6c67ca20, 0x1f05d: 0x6c7c4a20, 0x1f05e: 0x6c835420, 0x1f05f: 0x6c819220,\n\t0x1f060: 0x6cb1a820, 0x1f061: 0x6cec7820, 0x1f062: 0x6c979a20, 0x1f063: 0x6c247c20,\n\t0x1f064: 0x6d117820, 0x1f065: 0x6c507e20, 0x1f066: 0x6cbc1420, 0x1f067: 0x6c482e20,\n\t0x1f068: 0x6d0ab620, 0x1f069: 0x6d0e1a20, 0x1f06a: 0x6c5c9e20, 0x1f06b: 0x6c164e20,\n\t0x1f06c: 0x6cc7ee20, 0x1f06d: 0x6c9bb620, 0x1f06e: 0x6c0d7420, 0x1f06f: 0x6cfc6620,\n\t0x1f070: 0x6cb23220, 0x1f071: 0x6c91a620, 0x1f072: 0x6c806620, 0x1f073: 0x6ca8d620,\n\t0x1f074: 0x6cc34620, 0x1f075: 0x6d12be20, 0x1f076: 0x6c2f6a20, 0x1f077: 0x6cbe9e20,\n\t0x1f078: 0x6c4d9620, 0x1f079: 0x6cfe2420, 0x1f07a: 0x6cd74a20, 0x1f07b: 0x6d057e20,\n\t0x1f07c: 0x6d058820, 0x1f07d: 0x6cecd220, 0x1f07e: 0x6c480620, 0x1f07f: 0x6c33ec20,\n\t// Block 0x7c2, offset 0x1f080\n\t0x1f080: 0x6cb5b420, 0x1f081: 0x6c047c20, 0x1f082: 0x6cd98820, 0x1f083: 0x6c4f7220,\n\t0x1f084: 0x6d22fc20, 0x1f085: 0x6c915420, 0x1f086: 0x6c8e1020, 0x1f087: 0x6cb30c20,\n\t0x1f088: 0x6c6e1e20, 0x1f089: 0x6c6ada20, 0x1f08a: 0x6c63c820, 0x1f08b: 0x6ce6d420,\n\t0x1f08c: 0x6c513220, 0x1f08d: 0x6d1cf420, 0x1f08e: 0x6c6f1420, 0x1f08f: 0x6c780220,\n\t0x1f090: 0x6d152c20, 0x1f091: 0x6cb21220, 0x1f092: 0x6c5bee20, 0x1f093: 0x6ce9a820,\n\t0x1f094: 0x6c4ed620, 0x1f095: 0x6d1cf820, 0x1f096: 0x6d1cfa20, 0x1f097: 0x6c781e20,\n\t0x1f098: 0x6ce37420, 0x1f099: 0x6d1dfe20, 0x1f09a: 0x6c36a220, 0x1f09b: 0x6d3b9020,\n\t0x1f09c: 0x6d0ccc20, 0x1f09d: 0x6c357e20, 0x1f09e: 0x6ca87820, 0x1f09f: 0x6c975a20,\n\t0x1f0a0: 0x6c2cdc20, 0x1f0a1: 0x6cca8c20, 0x1f0a2: 0x6c507820, 0x1f0a3: 0x6c835020,\n\t0x1f0a4: 0x6c163c20, 0x1f0a5: 0x6cc7e620, 0x1f0a6: 0x6cb22620, 0x1f0a7: 0x6cc33e20,\n\t0x1f0a8: 0x6c3c2c20, 0x1f0a9: 0x6c0c0020, 0x1f0aa: 0x6c48be20, 0x1f0ab: 0x6c3eb820,\n\t0x1f0ac: 0x6cf96e20, 0x1f0ad: 0x6d2e0c20, 0x1f0ae: 0x6c0c1020, 0x1f0af: 0x6cc98020,\n\t0x1f0b0: 0x6c038820, 0x1f0b1: 0x6cdf3420, 0x1f0b2: 0x6c8b2a20, 0x1f0b3: 0x6c487420,\n\t0x1f0b4: 0x6d08ba20, 0x1f0b5: 0x6cce8820, 0x1f0b6: 0x6c72a820, 0x1f0b7: 0x6c0c3420,\n\t0x1f0b8: 0x6cd84020, 0x1f0b9: 0x6cf04820, 0x1f0ba: 0x6d0fec20, 0x1f0bb: 0x6d116a20,\n\t0x1f0bc: 0x6cd9f820, 0x1f0bd: 0x6c767820, 0x1f0be: 0x6cd9fa20, 0x1f0bf: 0x6c386c20,\n\t// Block 0x7c3, offset 0x1f0c0\n\t0x1f0c0: 0x6c8ed220, 0x1f0c1: 0x6cf7bc20, 0x1f0c2: 0x6c8f5620, 0x1f0c3: 0x6cb17020,\n\t0x1f0c4: 0x6cb17220, 0x1f0c5: 0x6c8ede20, 0x1f0c6: 0x6c0c5620, 0x1f0c7: 0x6c0c5820,\n\t0x1f0c8: 0x6c0c5a20, 0x1f0c9: 0x6c8a5620, 0x1f0ca: 0x6c0c9e20, 0x1f0cb: 0x6ccb9c20,\n\t0x1f0cc: 0x6c3c9020, 0x1f0cd: 0x6d051820, 0x1f0ce: 0x6c3c0e20, 0x1f0cf: 0x6d0f8220,\n\t0x1f0d0: 0x6d2dde20, 0x1f0d1: 0x6c0bee20, 0x1f0d2: 0x6cc97020, 0x1f0d3: 0x6c725420,\n\t0x1f0d4: 0x6cd7fc20, 0x1f0d5: 0x6cd9c620, 0x1f0d6: 0x6d112e20, 0x1f0d7: 0x6c8e7e20,\n\t0x1f0d8: 0x6cb16020, 0x1f0d9: 0x6c0c2620, 0x1f0da: 0x6c0c2820, 0x1f0db: 0x6c39f420,\n\t0x1f0dc: 0x6c387420, 0x1f0dd: 0x6c3a2e20, 0x1f0de: 0x6c39ee20, 0x1f0df: 0x6cd25820,\n\t0x1f0e0: 0x6cd24c20, 0x1f0e1: 0x6c116220, 0x1f0e2: 0x6c5eb020, 0x1f0e3: 0x6c2f9e20,\n\t0x1f0e4: 0x6cd8ae20, 0x1f0e5: 0x6ceac620, 0x1f0e6: 0x6d2d7220, 0x1f0e7: 0x6cdcd220,\n\t0x1f0e8: 0x6cfde820, 0x1f0e9: 0x6cea5a20, 0x1f0ea: 0x6cc5fe20, 0x1f0eb: 0x6d235e20,\n\t0x1f0ec: 0x6c737e20, 0x1f0ed: 0x6c1c2a20, 0x1f0ee: 0x6d1af220, 0x1f0ef: 0x6c395c20,\n\t0x1f0f0: 0x6c395e20, 0x1f0f1: 0x6cdcda20, 0x1f0f2: 0x6d1ae820, 0x1f0f3: 0x6ce81620,\n\t0x1f0f4: 0x6d152e20, 0x1f0f5: 0x6d42a620, 0x1f0f6: 0x6c09ec20, 0x1f0f7: 0x6c6b9c20,\n\t0x1f0f8: 0x6ce1e220, 0x1f0f9: 0x6c8f0e20, 0x1f0fa: 0x6c226220, 0x1f0fb: 0x6ce61420,\n\t0x1f0fc: 0x6cd8d420, 0x1f0fd: 0x6c060420, 0x1f0fe: 0x6cd3b020, 0x1f0ff: 0x6c350620,\n\t// Block 0x7c4, offset 0x1f100\n\t0x1f100: 0x6c4d7220, 0x1f101: 0x6cc60420, 0x1f102: 0x6ce51020, 0x1f103: 0x6c691e20,\n\t0x1f104: 0x6c63da20, 0x1f105: 0x6c0df020, 0x1f106: 0x6d113020, 0x1f107: 0x6ce77420,\n\t0x1f108: 0x6c226420, 0x1f109: 0x6cfdf820, 0x1f10a: 0x6d102a20, 0x1f10b: 0x6c738a20,\n\t0x1f10c: 0x6c37a220, 0x1f10d: 0x6d0eb220, 0x1f10e: 0x6c823a20, 0x1f10f: 0x6cf68c20,\n\t0x1f110: 0x6c117220, 0x1f111: 0x6c0e8e20, 0x1f112: 0x6ca57220, 0x1f113: 0x6c36a420,\n\t0x1f114: 0x6c10b620, 0x1f115: 0x6c75e620, 0x1f116: 0x6c313620, 0x1f117: 0x6cdb0e20,\n\t0x1f118: 0x6d219820, 0x1f119: 0x6cd3d020, 0x1f11a: 0x6d114a20, 0x1f11b: 0x6c5d0020,\n\t0x1f11c: 0x6c4cd220, 0x1f11d: 0x6cd3d220, 0x1f11e: 0x6c66dc20, 0x1f11f: 0x6d3cae20,\n\t0x1f120: 0x6c0df420, 0x1f121: 0x6cfd1620, 0x1f122: 0x6c10c020, 0x1f123: 0x6d135020,\n\t0x1f124: 0x6ce01620, 0x1f125: 0x6c3a1e20, 0x1f126: 0x6d2ede20, 0x1f127: 0x6cf0de20,\n\t0x1f128: 0x6c496820, 0x1f129: 0x6c36b220, 0x1f12a: 0x6caa9a20, 0x1f12b: 0x6d286020,\n\t0x1f12c: 0x6c55d620, 0x1f12d: 0x6c5a1420, 0x1f12e: 0x6ce61c20, 0x1f12f: 0x6c5c6220,\n\t0x1f130: 0x6c650c20, 0x1f131: 0x6c543c20, 0x1f132: 0x6c00e820, 0x1f133: 0x6ce14c20,\n\t0x1f134: 0x6c3b4820, 0x1f135: 0x6cf0ee20, 0x1f136: 0x6c47de20, 0x1f137: 0x6c13b820,\n\t0x1f138: 0x6cd99e20, 0x1f139: 0x6ce15820, 0x1f13a: 0x6c0f9820, 0x1f13b: 0x6c42e820,\n\t0x1f13c: 0x6cf90c20, 0x1f13d: 0x6c7d2620, 0x1f13e: 0x6c8f4e20, 0x1f13f: 0x6cd9f220,\n\t// Block 0x7c5, offset 0x1f140\n\t0x1f140: 0x6ce24a20, 0x1f141: 0x6d137c20, 0x1f142: 0x6d27cc20, 0x1f143: 0x6ca08a20,\n\t0x1f144: 0x6ce16020, 0x1f145: 0x6c979420, 0x1f146: 0x6c0aa020, 0x1f147: 0x6d245620,\n\t0x1f148: 0x6d050a20, 0x1f149: 0x6c6cc820, 0x1f14a: 0x6cca4420, 0x1f14b: 0x6c7d3c20,\n\t0x1f14c: 0x6d3bfc20, 0x1f14d: 0x6ccdde20, 0x1f14e: 0x6c1c9020, 0x1f14f: 0x6c28e620,\n\t0x1f150: 0x6d193c20, 0x1f151: 0x6c5f9020, 0x1f152: 0x6cc53220, 0x1f153: 0x6c19ac20,\n\t0x1f154: 0x6d1de420, 0x1f155: 0x6ce20220, 0x1f156: 0x6cf11c20, 0x1f157: 0x6cfe0e20,\n\t0x1f158: 0x6d2dc620, 0x1f159: 0x6c3b4a20, 0x1f15a: 0x6c4d8a20, 0x1f15b: 0x6c9bb020,\n\t0x1f15c: 0x6d0f1420, 0x1f15d: 0x6ca0a220, 0x1f15e: 0x6c158020, 0x1f15f: 0x6cfe1020,\n\t0x1f160: 0x6c959820, 0x1f161: 0x6d29cc20, 0x1f162: 0x6ca46c20, 0x1f163: 0x6cd22620,\n\t0x1f164: 0x6c2f9020, 0x1f165: 0x6c5e6e20, 0x1f166: 0x6cea9e20, 0x1f167: 0x6ce0e420,\n\t0x1f168: 0x6cea4420, 0x1f169: 0x6cf84020, 0x1f16a: 0x6cc5ce20, 0x1f16b: 0x6d22d220,\n\t0x1f16c: 0x6c1bea20, 0x1f16d: 0x6c392420, 0x1f16e: 0x6d1acc20, 0x1f16f: 0x6c665620,\n\t0x1f170: 0x6cd32620, 0x1f171: 0x6c05e820, 0x1f172: 0x6cd89420, 0x1f173: 0x6c34d220,\n\t0x1f174: 0x6d147e20, 0x1f175: 0x6c378c20, 0x1f176: 0x6cc52420, 0x1f177: 0x6cfdde20,\n\t0x1f178: 0x6c50e820, 0x1f179: 0x6c823820, 0x1f17a: 0x6c68d820, 0x1f17b: 0x6cf5b020,\n\t0x1f17c: 0x6c0dd420, 0x1f17d: 0x6c0e6a20, 0x1f17e: 0x6c310c20, 0x1f17f: 0x6c360420,\n\t// Block 0x7c6, offset 0x1f180\n\t0x1f180: 0x6d210020, 0x1f181: 0x6ca56a20, 0x1f182: 0x6c75a820, 0x1f183: 0x6c4cbe20,\n\t0x1f184: 0x6c5ce820, 0x1f185: 0x6cfcbe20, 0x1f186: 0x6c495020, 0x1f187: 0x6c13a020,\n\t0x1f188: 0x6c7d0220, 0x1f189: 0x6c479820, 0x1f18a: 0x6cd9ba20, 0x1f18b: 0x6c14fc20,\n\t0x1f18c: 0x6d130a20, 0x1f18d: 0x6ca06020, 0x1f18e: 0x6c0f2220, 0x1f18f: 0x6c8e7620,\n\t0x1f190: 0x6d04de20, 0x1f191: 0x6c6ca820, 0x1f192: 0x6c976e20, 0x1f193: 0x6cca2820,\n\t0x1f194: 0x6d3be020, 0x1f195: 0x6ca46420, 0x1f196: 0x6cd44220, 0x1f197: 0x6c7c7220,\n\t0x1f198: 0x6c4c9020, 0x1f199: 0x6cfd6620, 0x1f19a: 0x6c3b8020, 0x1f19b: 0x6c0f3c20,\n\t0x1f19c: 0x6ca64420, 0x1f19d: 0x6c0a1420, 0x1f19e: 0x6c0f6e20, 0x1f19f: 0x6ce8fa20,\n\t0x1f1a0: 0x6c4dbc20, 0x1f1a1: 0x6c3a2020, 0x1f1a2: 0x6c650e20, 0x1f1a3: 0x6c015420,\n\t0x1f1a4: 0x6c00fa20, 0x1f1a5: 0x6c408020, 0x1f1a6: 0x6cfaf620, 0x1f1a7: 0x6d276c20,\n\t0x1f1a8: 0x6d02f420, 0x1f1a9: 0x6c3bb020, 0x1f1aa: 0x6cb1fe20, 0x1f1ab: 0x6d02fa20,\n\t0x1f1ac: 0x6c969820, 0x1f1ad: 0x6d236020, 0x1f1ae: 0x6c3caa20, 0x1f1af: 0x6c4ed820,\n\t0x1f1b0: 0x6c2b7420, 0x1f1b1: 0x6ceb3220, 0x1f1b2: 0x6d306820, 0x1f1b3: 0x6c1b4220,\n\t0x1f1b4: 0x6d0a2420, 0x1f1b5: 0x6d3b1020, 0x1f1b6: 0x6d340c20, 0x1f1b7: 0x6cae2420,\n\t0x1f1b8: 0x6d034620, 0x1f1b9: 0x6cc64a20, 0x1f1ba: 0x6cc97a20, 0x1f1bb: 0x6d27f820,\n\t0x1f1bc: 0x6cf1a420, 0x1f1bd: 0x6d348a20, 0x1f1be: 0x6c28a020, 0x1f1bf: 0x6c935c20,\n\t// Block 0x7c7, offset 0x1f1c0\n\t0x1f1c0: 0x6d1f5e20, 0x1f1c1: 0x6c0f3e20, 0x1f1c2: 0x6c060a20, 0x1f1c3: 0x6c748a20,\n\t0x1f1c4: 0x6ceb4220, 0x1f1c5: 0x6d184020, 0x1f1c6: 0x6cc13020, 0x1f1c7: 0x6cb4c220,\n\t0x1f1c8: 0x6cc13e20, 0x1f1c9: 0x6c6ee620, 0x1f1ca: 0x6cb35c20, 0x1f1cb: 0x6d2f7020,\n\t0x1f1cc: 0x6d251220, 0x1f1cd: 0x6cadf020, 0x1f1ce: 0x6d394c20, 0x1f1cf: 0x6c727220,\n\t0x1f1d0: 0x6d3b2620, 0x1f1d1: 0x6caa4420, 0x1f1d2: 0x6c70c820, 0x1f1d3: 0x6caf8820,\n\t0x1f1d4: 0x6d29fa20, 0x1f1d5: 0x6c645020, 0x1f1d6: 0x6c8d4e20, 0x1f1d7: 0x6d31f620,\n\t0x1f1d8: 0x6cdf3a20, 0x1f1d9: 0x6c404820, 0x1f1da: 0x6d103020, 0x1f1db: 0x6cd2d820,\n\t0x1f1dc: 0x6c0a4020, 0x1f1dd: 0x6cebc220, 0x1f1de: 0x6ceb4620, 0x1f1df: 0x6cd8e420,\n\t0x1f1e0: 0x6c8e9020, 0x1f1e1: 0x6c96de20, 0x1f1e2: 0x6cb13220, 0x1f1e3: 0x6ce24620,\n\t0x1f1e4: 0x6d36f820, 0x1f1e5: 0x6cc6b820, 0x1f1e6: 0x6ce2b620, 0x1f1e7: 0x6c308a20,\n\t0x1f1e8: 0x6d09ac20, 0x1f1e9: 0x6cc2a420, 0x1f1ea: 0x6cd02220, 0x1f1eb: 0x6c6ee820,\n\t0x1f1ec: 0x6c37a620, 0x1f1ed: 0x6c4d7a20, 0x1f1ee: 0x6c0f7020, 0x1f1ef: 0x6d39ce20,\n\t0x1f1f0: 0x6d1a0c20, 0x1f1f1: 0x6c962a20, 0x1f1f2: 0x6d397a20, 0x1f1f3: 0x6c28bc20,\n\t0x1f1f4: 0x6d023820, 0x1f1f5: 0x6c8eb020, 0x1f1f6: 0x6c716a20, 0x1f1f7: 0x6cd97020,\n\t0x1f1f8: 0x6cbd4620, 0x1f1f9: 0x6c987a20, 0x1f1fa: 0x6c80ec20, 0x1f1fb: 0x6c4f2420,\n\t0x1f1fc: 0x6ce90020, 0x1f1fd: 0x6d07da20, 0x1f1fe: 0x6cea1420, 0x1f1ff: 0x6c75f220,\n\t// Block 0x7c8, offset 0x1f200\n\t0x1f200: 0x6c35be20, 0x1f201: 0x6c1a7a20, 0x1f202: 0x6d03ac20, 0x1f203: 0x6c005820,\n\t0x1f204: 0x6c931420, 0x1f205: 0x6d3c6c20, 0x1f206: 0x6d38be20, 0x1f207: 0x6ccf8220,\n\t0x1f208: 0x6cb13620, 0x1f209: 0x6c7d8c20, 0x1f20a: 0x6ce24c20, 0x1f20b: 0x6c7f2e20,\n\t0x1f20c: 0x6d3fd220, 0x1f20d: 0x6c78e220, 0x1f20e: 0x6cb67c20, 0x1f20f: 0x6cb67e20,\n\t0x1f210: 0x6d0ede20, 0x1f211: 0x6c3a2220, 0x1f212: 0x6ccacc20, 0x1f213: 0x6d0df020,\n\t0x1f214: 0x6c445820, 0x1f215: 0x6d11e220, 0x1f216: 0x6cf54820, 0x1f217: 0x6cb14e20,\n\t0x1f218: 0x6c237620, 0x1f219: 0x6cb15020, 0x1f21a: 0x6cb9da20, 0x1f21b: 0x6c3a2420,\n\t0x1f21c: 0x6c5a2420, 0x1f21d: 0x6cb9d420, 0x1f21e: 0x6c5d6820, 0x1f21f: 0x6d21de20,\n\t0x1f220: 0x6ce3a820, 0x1f221: 0x6cc32420, 0x1f222: 0x6cfa1620, 0x1f223: 0x6d3fd620,\n\t0x1f224: 0x6c7cae20, 0x1f225: 0x6cc76c20, 0x1f226: 0x6cd84620, 0x1f227: 0x6c488020,\n\t0x1f228: 0x6ceb5c20, 0x1f229: 0x6c4aa220, 0x1f22a: 0x6cda0020, 0x1f22b: 0x6cb94a20,\n\t0x1f22c: 0x6c1a5a20, 0x1f22d: 0x6d374e20, 0x1f22e: 0x6c8ed620, 0x1f22f: 0x6caef820,\n\t0x1f230: 0x6ce2c820, 0x1f231: 0x6cf7be20, 0x1f232: 0x6c12b420, 0x1f233: 0x6c31ea20,\n\t0x1f234: 0x6d0efe20, 0x1f235: 0x6d25cc20, 0x1f236: 0x6d407220, 0x1f237: 0x6ccad020,\n\t0x1f238: 0x6ccde020, 0x1f239: 0x6c84b020, 0x1f23a: 0x6d376220, 0x1f23b: 0x6cd6b020,\n\t0x1f23c: 0x6c933820, 0x1f23d: 0x6cf7c020, 0x1f23e: 0x6c956c20, 0x1f23f: 0x6d2eec20,\n\t// Block 0x7c9, offset 0x1f240\n\t0x1f240: 0x6ca19020, 0x1f241: 0x6c030020, 0x1f242: 0x6c118420, 0x1f243: 0x6c0c5c20,\n\t0x1f244: 0x6c237a20, 0x1f245: 0x6cc16220, 0x1f246: 0x6c0ac220, 0x1f247: 0x6d376420,\n\t0x1f248: 0x6d248020, 0x1f249: 0x6d060c20, 0x1f24a: 0x6c576c20, 0x1f24b: 0x6c0e9e20,\n\t0x1f24c: 0x6cdb7020, 0x1f24d: 0x6cff5820, 0x1f24e: 0x6c8c0a20, 0x1f24f: 0x6d2ea420,\n\t0x1f250: 0x6c33c620, 0x1f251: 0x6c8eea20, 0x1f252: 0x6ceb6220, 0x1f253: 0x6c136a20,\n\t0x1f254: 0x6c2d9e20, 0x1f255: 0x6c68b220, 0x1f256: 0x6ce60c20, 0x1f257: 0x6d0f1620,\n\t0x1f258: 0x6c958620, 0x1f259: 0x6d2dca20, 0x1f25a: 0x6c6df820, 0x1f25b: 0x6d196a20,\n\t0x1f25c: 0x6d139e20, 0x1f25d: 0x6ceadc20, 0x1f25e: 0x6cb20020, 0x1f25f: 0x6d397220,\n\t0x1f260: 0x6d0f2620, 0x1f261: 0x6c902020, 0x1f262: 0x6c937220, 0x1f263: 0x6ce2e020,\n\t0x1f264: 0x6cfda820, 0x1f265: 0x6c630220, 0x1f266: 0x6cd6ca20, 0x1f267: 0x6c719c20,\n\t0x1f268: 0x6cf7d020, 0x1f269: 0x6c585020, 0x1f26a: 0x6c84ee20, 0x1f26b: 0x6c0c6820,\n\t0x1f26c: 0x6c968c20, 0x1f26d: 0x6d22ba20, 0x1f26e: 0x6ceae220, 0x1f26f: 0x6d09da20,\n\t0x1f270: 0x6c1afa20, 0x1f271: 0x6cc0d820, 0x1f272: 0x6cc63e20, 0x1f273: 0x6c0eb220,\n\t0x1f274: 0x6c935020, 0x1f275: 0x6d29f820, 0x1f276: 0x6cd2ba20, 0x1f277: 0x6cd89620,\n\t0x1f278: 0x6c3fbc20, 0x1f279: 0x6c706420, 0x1f27a: 0x6d404820, 0x1f27b: 0x6d3ab820,\n\t0x1f27c: 0x6cebc020, 0x1f27d: 0x6caa4020, 0x1f27e: 0x6c643820, 0x1f27f: 0x6d16d420,\n\t// Block 0x7ca, offset 0x1f280\n\t0x1f280: 0x6c273c20, 0x1f281: 0x6cfe9020, 0x1f282: 0x6c96b820, 0x1f283: 0x6d19bc20,\n\t0x1f284: 0x6c683a20, 0x1f285: 0x6c572e20, 0x1f286: 0x6c95ee20, 0x1f287: 0x6c4d5c20,\n\t0x1f288: 0x6cb10820, 0x1f289: 0x6c0bf020, 0x1f28a: 0x6c83b420, 0x1f28b: 0x6c1a6c20,\n\t0x1f28c: 0x6d0e5820, 0x1f28d: 0x6d036e20, 0x1f28e: 0x6cbd2820, 0x1f28f: 0x6c75aa20,\n\t0x1f290: 0x6cb5e220, 0x1f291: 0x6cb5e420, 0x1f292: 0x6c78aa20, 0x1f293: 0x6d3c5c20,\n\t0x1f294: 0x6d3f7e20, 0x1f295: 0x6cdaae20, 0x1f296: 0x6c116420, 0x1f297: 0x6cb14a20,\n\t0x1f298: 0x6d364820, 0x1f299: 0x6c7c8220, 0x1f29a: 0x6ccab020, 0x1f29b: 0x6cf4f620,\n\t0x1f29c: 0x6c02da20, 0x1f29d: 0x6c8e7820, 0x1f29e: 0x6cb8fa20, 0x1f29f: 0x6ccd9020,\n\t0x1f2a0: 0x6c0c1220, 0x1f2a1: 0x6c955020, 0x1f2a2: 0x6c233620, 0x1f2a3: 0x6c15e220,\n\t0x1f2a4: 0x6d395c20, 0x1f2a5: 0x6c62c420, 0x1f2a6: 0x6cd6ac20, 0x1f2a7: 0x6cfd9420,\n\t0x1f2a8: 0x6c476e20, 0x1f2a9: 0x6cefb420, 0x1f2aa: 0x6cefd220, 0x1f2ab: 0x6cefd420,\n\t0x1f2ac: 0x6d214020, 0x1f2ad: 0x6c422420, 0x1f2ae: 0x6d17d620, 0x1f2af: 0x6c01ec20,\n\t0x1f2b0: 0x6ce7f220, 0x1f2b1: 0x6c6bf020, 0x1f2b2: 0x6c065e20, 0x1f2b3: 0x6c074e20,\n\t0x1f2b4: 0x6c220c20, 0x1f2b5: 0x6ce3c620, 0x1f2b6: 0x6c2c0020, 0x1f2b7: 0x6c7a5620,\n\t0x1f2b8: 0x6c4d2820, 0x1f2b9: 0x6cbba020, 0x1f2ba: 0x6c543020, 0x1f2bb: 0x6c7af020,\n\t0x1f2bc: 0x6c443220, 0x1f2bd: 0x6ce9ee20, 0x1f2be: 0x6c452020, 0x1f2bf: 0x6cb12a20,\n\t// Block 0x7cb, offset 0x1f2c0\n\t0x1f2c0: 0x6c0a8220, 0x1f2c1: 0x6c783c20, 0x1f2c2: 0x6cb87a20, 0x1f2c3: 0x6d21ce20,\n\t0x1f2c4: 0x6cdc1420, 0x1f2c5: 0x6c90d020, 0x1f2c6: 0x6c0fb220, 0x1f2c7: 0x6cff4620,\n\t0x1f2c8: 0x6c055a20, 0x1f2c9: 0x6c0fb420, 0x1f2ca: 0x6c221420, 0x1f2cb: 0x6c7b5e20,\n\t0x1f2cc: 0x6c0d9220, 0x1f2cd: 0x6ca09420, 0x1f2ce: 0x6c8a5220, 0x1f2cf: 0x6c90da20,\n\t0x1f2d0: 0x6cff5220, 0x1f2d1: 0x6c31fe20, 0x1f2d2: 0x6d29f220, 0x1f2d3: 0x6cdc1a20,\n\t0x1f2d4: 0x6ce3d020, 0x1f2d5: 0x6c0d9620, 0x1f2d6: 0x6c7b6020, 0x1f2d7: 0x6c91a820,\n\t0x1f2d8: 0x6c42bc20, 0x1f2d9: 0x6c42c420, 0x1f2da: 0x6cbc5020, 0x1f2db: 0x6c779420,\n\t0x1f2dc: 0x6cbc2c20, 0x1f2dd: 0x6c819420, 0x1f2de: 0x6ccb0c20, 0x1f2df: 0x6c0bf420,\n\t0x1f2e0: 0x6c7d6e20, 0x1f2e1: 0x6c7d7620, 0x1f2e2: 0x6c2b7620, 0x1f2e3: 0x6c39da20,\n\t0x1f2e4: 0x6d04ec20, 0x1f2e5: 0x6cc47e20, 0x1f2e6: 0x6c98f820, 0x1f2e7: 0x6c28a220,\n\t0x1f2e8: 0x6c7d7e20, 0x1f2e9: 0x6c0d8620, 0x1f2ea: 0x6c383e20, 0x1f2eb: 0x6ce5a220,\n\t0x1f2ec: 0x6caf8a20, 0x1f2ed: 0x6d3e9c20, 0x1f2ee: 0x6c384220, 0x1f2ef: 0x6cc48620,\n\t0x1f2f0: 0x6ce41a20, 0x1f2f1: 0x6c066420, 0x1f2f2: 0x6c0a4220, 0x1f2f3: 0x6c990420,\n\t0x1f2f4: 0x6c3eea20, 0x1f2f5: 0x6c376a20, 0x1f2f6: 0x6cc6ba20, 0x1f2f7: 0x6cc14420,\n\t0x1f2f8: 0x6c45b620, 0x1f2f9: 0x6d04f820, 0x1f2fa: 0x6c7e1620, 0x1f2fb: 0x6c628e20,\n\t0x1f2fc: 0x6caed220, 0x1f2fd: 0x6d3b6020, 0x1f2fe: 0x6cce8e20, 0x1f2ff: 0x6cdd4420,\n\t// Block 0x7cc, offset 0x1f300\n\t0x1f300: 0x6ce43620, 0x1f301: 0x6c86ba20, 0x1f302: 0x6c0d8a20, 0x1f303: 0x6d3fd420,\n\t0x1f304: 0x6c2baa20, 0x1f305: 0x6caee420, 0x1f306: 0x6cd94820, 0x1f307: 0x6d32f820,\n\t0x1f308: 0x6cc32220, 0x1f309: 0x6d3fd820, 0x1f30a: 0x6cd76220, 0x1f30b: 0x6c660e20,\n\t0x1f30c: 0x6ceb9620, 0x1f30d: 0x6c55f420, 0x1f30e: 0x6c7eae20, 0x1f30f: 0x6c6f8e20,\n\t0x1f310: 0x6cb6a020, 0x1f311: 0x6c889820, 0x1f312: 0x6d320420, 0x1f313: 0x6c0d9420,\n\t0x1f314: 0x6caefa20, 0x1f315: 0x6c96e620, 0x1f316: 0x6cca0e20, 0x1f317: 0x6c979e20,\n\t0x1f318: 0x6c97a020, 0x1f319: 0x6ccbbc20, 0x1f31a: 0x6d061020, 0x1f31b: 0x6c8b7a20,\n\t0x1f31c: 0x6cb95420, 0x1f31d: 0x6cb95220, 0x1f31e: 0x6ca46220, 0x1f31f: 0x6c58cc20,\n\t0x1f320: 0x6c7e3220, 0x1f321: 0x6ca94220, 0x1f322: 0x6c0d9820, 0x1f323: 0x6c8b8a20,\n\t0x1f324: 0x6cc4fe20, 0x1f325: 0x6c310e20, 0x1f326: 0x6c313420, 0x1f327: 0x6ca53620,\n\t0x1f328: 0x6c53dc20, 0x1f329: 0x6cf90e20, 0x1f32a: 0x6c314e20, 0x1f32b: 0x6c4e7220,\n\t0x1f32c: 0x6c315420, 0x1f32d: 0x6c315220, 0x1f32e: 0x6c6f9620, 0x1f32f: 0x6c170e20,\n\t0x1f330: 0x6d249c20, 0x1f331: 0x6d24a420, 0x1f332: 0x6c43e020, 0x1f333: 0x6d0ecc20,\n\t0x1f334: 0x6c3f8e20, 0x1f335: 0x6cbdb820, 0x1f336: 0x6c4a9e20, 0x1f337: 0x6d3fdc20,\n\t0x1f338: 0x6c8f5820, 0x1f339: 0x6c4aa620, 0x1f33a: 0x6cce2a20, 0x1f33b: 0x6d248220,\n\t0x1f33c: 0x6c4ae220, 0x1f33d: 0x6c9a9620, 0x1f33e: 0x6c623220, 0x1f33f: 0x6cb61220,\n\t// Block 0x7cd, offset 0x1f340\n\t0x1f340: 0x6c40da20, 0x1f341: 0x6c7c9020, 0x1f342: 0x6c5cf620, 0x1f343: 0x6c038c20,\n\t0x1f344: 0x6cb39c20, 0x1f345: 0x6c9aa620, 0x1f346: 0x6d05c820, 0x1f347: 0x6d0dd220,\n\t0x1f348: 0x6cff1a20, 0x1f349: 0x6c89a220, 0x1f34a: 0x6d242620, 0x1f34b: 0x6ce9ca20,\n\t0x1f34c: 0x6cb53e20, 0x1f34d: 0x6cee3e20, 0x1f34e: 0x6c89a820, 0x1f34f: 0x6cf0f020,\n\t0x1f350: 0x6c41bc20, 0x1f351: 0x6c1aea20, 0x1f352: 0x6cb17420, 0x1f353: 0x6c0ab620,\n\t0x1f354: 0x6ca09620, 0x1f355: 0x6c616220, 0x1f356: 0x6d060820, 0x1f357: 0x6c1e3e20,\n\t0x1f358: 0x6d0e2620, 0x1f359: 0x6d2dcc20, 0x1f35a: 0x6d211220, 0x1f35b: 0x6c29c420,\n\t0x1f35c: 0x6cc57620, 0x1f35d: 0x6c6b0220, 0x1f35e: 0x6c03f620, 0x1f35f: 0x6c537c20,\n\t0x1f360: 0x6ceacc20, 0x1f361: 0x6c2e3620, 0x1f362: 0x6c614e20, 0x1f363: 0x6d073620,\n\t0x1f364: 0x6c358020, 0x1f365: 0x6c367c20, 0x1f366: 0x6ccc1220, 0x1f367: 0x6c4f8620,\n\t0x1f368: 0x6cea6620, 0x1f369: 0x6ca15e20, 0x1f36a: 0x6c6c0020, 0x1f36b: 0x6cd07220,\n\t0x1f36c: 0x6c04d620, 0x1f36d: 0x6d25a420, 0x1f36e: 0x6cb01420, 0x1f36f: 0x6c91d420,\n\t0x1f370: 0x6cf1aa20, 0x1f371: 0x6c55a620, 0x1f372: 0x6c915a20, 0x1f373: 0x6d289a20,\n\t0x1f374: 0x6c39ae20, 0x1f375: 0x6c3b9020, 0x1f376: 0x6ca36820, 0x1f377: 0x6d1f6c20,\n\t0x1f378: 0x6cb15220, 0x1f379: 0x6ca1b620, 0x1f37a: 0x6c517e20, 0x1f37b: 0x6cf9fa20,\n\t0x1f37c: 0x6cc14620, 0x1f37d: 0x6c4e3820, 0x1f37e: 0x6caf9420, 0x1f37f: 0x6c8d6220,\n\t// Block 0x7ce, offset 0x1f380\n\t0x1f380: 0x6ceb5220, 0x1f381: 0x6c0e9820, 0x1f382: 0x6cc0a020, 0x1f383: 0x6cb2d220,\n\t0x1f384: 0x6c3f0620, 0x1f385: 0x6c0a6420, 0x1f386: 0x6c22a420, 0x1f387: 0x6cf0e020,\n\t0x1f388: 0x6c70ce20, 0x1f389: 0x6c2de220, 0x1f38a: 0x6c03c620, 0x1f38b: 0x6d1f7a20,\n\t0x1f38c: 0x6c4bf020, 0x1f38d: 0x6caf9620, 0x1f38e: 0x6ca70620, 0x1f38f: 0x6d03a020,\n\t0x1f390: 0x6cdf4020, 0x1f391: 0x6c066a20, 0x1f392: 0x6c406020, 0x1f393: 0x6d2c9820,\n\t0x1f394: 0x6c728620, 0x1f395: 0x6c473620, 0x1f396: 0x6cd41e20, 0x1f397: 0x6c309a20,\n\t0x1f398: 0x6c27b020, 0x1f399: 0x6cdeba20, 0x1f39a: 0x6c6b4c20, 0x1f39b: 0x6cd50e20,\n\t0x1f39c: 0x6c548220, 0x1f39d: 0x6cfe0420, 0x1f39e: 0x6c376e20, 0x1f39f: 0x6c01d620,\n\t0x1f3a0: 0x6cef4820, 0x1f3a1: 0x6d2fe620, 0x1f3a2: 0x6d39d020, 0x1f3a3: 0x6d1b8220,\n\t0x1f3a4: 0x6c8b4020, 0x1f3a5: 0x6c962e20, 0x1f3a6: 0x6ce79420, 0x1f3a7: 0x6ce3c820,\n\t0x1f3a8: 0x6d18e220, 0x1f3a9: 0x6c0e3020, 0x1f3aa: 0x6cf03420, 0x1f3ab: 0x6c688a20,\n\t0x1f3ac: 0x6c7a6820, 0x1f3ad: 0x6c4a9220, 0x1f3ae: 0x6cfae620, 0x1f3af: 0x6c444820,\n\t0x1f3b0: 0x6c5b4420, 0x1f3b1: 0x6c81fc20, 0x1f3b2: 0x6c40b820, 0x1f3b3: 0x6c77ca20,\n\t0x1f3b4: 0x6d055e20, 0x1f3b5: 0x6c346820, 0x1f3b6: 0x6c758820, 0x1f3b7: 0x6ce3a020,\n\t0x1f3b8: 0x6c9e4620, 0x1f3b9: 0x6cce9220, 0x1f3ba: 0x6d2c9a20, 0x1f3bb: 0x6cdd4620,\n\t0x1f3bc: 0x6cbd4820, 0x1f3bd: 0x6d21d020, 0x1f3be: 0x6ca57820, 0x1f3bf: 0x6d30b420,\n\t// Block 0x7cf, offset 0x1f3c0\n\t0x1f3c0: 0x6c4bf620, 0x1f3c1: 0x6c452420, 0x1f3c2: 0x6cdb7c20, 0x1f3c3: 0x6cf40220,\n\t0x1f3c4: 0x6cc0a620, 0x1f3c5: 0x6ccd1820, 0x1f3c6: 0x6cb42020, 0x1f3c7: 0x6c596220,\n\t0x1f3c8: 0x6ce5a820, 0x1f3c9: 0x6c854020, 0x1f3ca: 0x6ccc2420, 0x1f3cb: 0x6ccc2620,\n\t0x1f3cc: 0x6c77d020, 0x1f3cd: 0x6c9b7e20, 0x1f3ce: 0x6c1a8e20, 0x1f3cf: 0x6c87e620,\n\t0x1f3d0: 0x6d409820, 0x1f3d1: 0x6cf94c20, 0x1f3d2: 0x6d1e6420, 0x1f3d3: 0x6ca61020,\n\t0x1f3d4: 0x6d3eba20, 0x1f3d5: 0x6cb68820, 0x1f3d6: 0x6d330c20, 0x1f3d7: 0x6cfe0620,\n\t0x1f3d8: 0x6ca57a20, 0x1f3d9: 0x6c216e20, 0x1f3da: 0x6c62c620, 0x1f3db: 0x6c2dec20,\n\t0x1f3dc: 0x6cbd0020, 0x1f3dd: 0x6c482c20, 0x1f3de: 0x6d38f220, 0x1f3df: 0x6c302420,\n\t0x1f3e0: 0x6c7f3020, 0x1f3e1: 0x6c3aec20, 0x1f3e2: 0x6ca61420, 0x1f3e3: 0x6d192220,\n\t0x1f3e4: 0x6c7d8e20, 0x1f3e5: 0x6c932620, 0x1f3e6: 0x6c703820, 0x1f3e7: 0x6c168620,\n\t0x1f3e8: 0x6c6de620, 0x1f3e9: 0x6c951220, 0x1f3ea: 0x6c8d8a20, 0x1f3eb: 0x6d406e20,\n\t0x1f3ec: 0x6c849420, 0x1f3ed: 0x6c9bf420, 0x1f3ee: 0x6d3fde20, 0x1f3ef: 0x6d375220,\n\t0x1f3f0: 0x6ca70c20, 0x1f3f1: 0x6c570420, 0x1f3f2: 0x6d24c420, 0x1f3f3: 0x6c2cb620,\n\t0x1f3f4: 0x6cd20c20, 0x1f3f5: 0x6cd02c20, 0x1f3f6: 0x6c5d1620, 0x1f3f7: 0x6ce3ac20,\n\t0x1f3f8: 0x6c544020, 0x1f3f9: 0x6d03b220, 0x1f3fa: 0x6d39e420, 0x1f3fb: 0x6c7ebc20,\n\t0x1f3fc: 0x6d3fe020, 0x1f3fd: 0x6d2b6820, 0x1f3fe: 0x6c0b1820, 0x1f3ff: 0x6c0b1a20,\n\t// Block 0x7d0, offset 0x1f400\n\t0x1f400: 0x6c596420, 0x1f401: 0x6cc32a20, 0x1f402: 0x6d2b7020, 0x1f403: 0x6ceeca20,\n\t0x1f404: 0x6ceecc20, 0x1f405: 0x6d21e620, 0x1f406: 0x6c212420, 0x1f407: 0x6cc77020,\n\t0x1f408: 0x6c2f0a20, 0x1f409: 0x6c5a2e20, 0x1f40a: 0x6c893220, 0x1f40b: 0x6d0e0620,\n\t0x1f40c: 0x6cbfda20, 0x1f40d: 0x6cbfdc20, 0x1f40e: 0x6c661020, 0x1f40f: 0x6c089c20,\n\t0x1f410: 0x6c36dc20, 0x1f411: 0x6d0ff220, 0x1f412: 0x6c409020, 0x1f413: 0x6cc9d820,\n\t0x1f414: 0x6c41fa20, 0x1f415: 0x6cf98220, 0x1f416: 0x6ceb9820, 0x1f417: 0x6c55fa20,\n\t0x1f418: 0x6cd42420, 0x1f419: 0x6cc93420, 0x1f41a: 0x6d08d620, 0x1f41b: 0x6cf17220,\n\t0x1f41c: 0x6cba8820, 0x1f41d: 0x6c508020, 0x1f41e: 0x6cf39020, 0x1f41f: 0x6c39b420,\n\t0x1f420: 0x6ccad620, 0x1f421: 0x6c8ee420, 0x1f422: 0x6c96aa20, 0x1f423: 0x6cd29620,\n\t0x1f424: 0x6cd21420, 0x1f425: 0x6c493a20, 0x1f426: 0x6d3ec220, 0x1f427: 0x6ce2d020,\n\t0x1f428: 0x6cde2620, 0x1f429: 0x6d117a20, 0x1f42a: 0x6c35a820, 0x1f42b: 0x6d1e0820,\n\t0x1f42c: 0x6cb9e420, 0x1f42d: 0x6cb6a420, 0x1f42e: 0x6cf17420, 0x1f42f: 0x6cc93820,\n\t0x1f430: 0x6cd0ce20, 0x1f431: 0x6c889e20, 0x1f432: 0x6c028e20, 0x1f433: 0x6c823420,\n\t0x1f434: 0x6c5b0c20, 0x1f435: 0x6c9fdc20, 0x1f436: 0x6c62e620, 0x1f437: 0x6ce5b620,\n\t0x1f438: 0x6cc16820, 0x1f439: 0x6c654a20, 0x1f43a: 0x6cd03020, 0x1f43b: 0x6c97a820,\n\t0x1f43c: 0x6cf7c620, 0x1f43d: 0x6cc0aa20, 0x1f43e: 0x6c0c9c20, 0x1f43f: 0x6c62e820,\n\t// Block 0x7d1, offset 0x1f440\n\t0x1f440: 0x6c62d820, 0x1f441: 0x6d3a3c20, 0x1f442: 0x6c679a20, 0x1f443: 0x6d051420,\n\t0x1f444: 0x6d3b9c20, 0x1f445: 0x6d1de620, 0x1f446: 0x6d2eee20, 0x1f447: 0x6c776420,\n\t0x1f448: 0x6d093620, 0x1f449: 0x6c0cce20, 0x1f44a: 0x6d248a20, 0x1f44b: 0x6cc16a20,\n\t0x1f44c: 0x6cfe6e20, 0x1f44d: 0x6c0ea220, 0x1f44e: 0x6c697820, 0x1f44f: 0x6d0a5a20,\n\t0x1f450: 0x6cdb7220, 0x1f451: 0x6c5a3a20, 0x1f452: 0x6d420020, 0x1f453: 0x6ccdee20,\n\t0x1f454: 0x6ccdf020, 0x1f455: 0x6c387620, 0x1f456: 0x6c4bae20, 0x1f457: 0x6c8c0c20,\n\t0x1f458: 0x6d0a5c20, 0x1f459: 0x6c9e8620, 0x1f45a: 0x6cf82c20, 0x1f45b: 0x6d2bbe20,\n\t0x1f45c: 0x6cfe7820, 0x1f45d: 0x6c3c0620, 0x1f45e: 0x6c494620, 0x1f45f: 0x6c548a20,\n\t0x1f460: 0x6c7b4e20, 0x1f461: 0x6d2b7220, 0x1f462: 0x6ccada20, 0x1f463: 0x6d2dd020,\n\t0x1f464: 0x6c420420, 0x1f465: 0x6c4bb220, 0x1f466: 0x6d1d6020, 0x1f467: 0x6c855220,\n\t0x1f468: 0x6c16da20, 0x1f469: 0x6c836e20, 0x1f46a: 0x6cd63a20, 0x1f46b: 0x6c011020,\n\t0x1f46c: 0x6cc7f220, 0x1f46d: 0x6c62fe20, 0x1f46e: 0x6d076e20, 0x1f46f: 0x6c56f220,\n\t0x1f470: 0x6cd63c20, 0x1f471: 0x6c87bc20, 0x1f472: 0x6c8b8e20, 0x1f473: 0x6c87c620,\n\t0x1f474: 0x6c9f2020, 0x1f475: 0x6d31a620, 0x1f476: 0x6cfe1220, 0x1f477: 0x6c370220,\n\t0x1f478: 0x6c91ac20, 0x1f479: 0x6c49ca20, 0x1f47a: 0x6c84f020, 0x1f47b: 0x6cfb1c20,\n\t0x1f47c: 0x6d20ce20, 0x1f47d: 0x6c29c220, 0x1f47e: 0x6c613a20, 0x1f47f: 0x6d1f4220,\n\t// Block 0x7d2, offset 0x1f480\n\t0x1f480: 0x6cea5c20, 0x1f481: 0x6c91c020, 0x1f482: 0x6c39ac20, 0x1f483: 0x6c035420,\n\t0x1f484: 0x6c515220, 0x1f485: 0x6c03be20, 0x1f486: 0x6cb2ba20, 0x1f487: 0x6ca70020,\n\t0x1f488: 0x6c915620, 0x1f489: 0x6d1f5220, 0x1f48a: 0x6d2c8020, 0x1f48b: 0x6c401420,\n\t0x1f48c: 0x6c03c020, 0x1f48d: 0x6c065620, 0x1f48e: 0x6c547620, 0x1f48f: 0x6cb00220,\n\t0x1f490: 0x6cdf2c20, 0x1f491: 0x6c4a8220, 0x1f492: 0x6c6b1620, 0x1f493: 0x6c77b420,\n\t0x1f494: 0x6ceffa20, 0x1f495: 0x6c376420, 0x1f496: 0x6ce77620, 0x1f497: 0x6d2b6220,\n\t0x1f498: 0x6c547c20, 0x1f499: 0x6c7b2e20, 0x1f49a: 0x6c625a20, 0x1f49b: 0x6c686220,\n\t0x1f49c: 0x6cfac620, 0x1f49d: 0x6d2c8820, 0x1f49e: 0x6cfdfa20, 0x1f49f: 0x6d0a2c20,\n\t0x1f4a0: 0x6c451e20, 0x1f4a1: 0x6c843820, 0x1f4a2: 0x6c884620, 0x1f4a3: 0x6c64ea20,\n\t0x1f4a4: 0x6c852c20, 0x1f4a5: 0x6cd28820, 0x1f4a6: 0x6ce5a420, 0x1f4a7: 0x6c4be820,\n\t0x1f4a8: 0x6ccc1620, 0x1f4a9: 0x6c595020, 0x1f4aa: 0x6c758020, 0x1f4ab: 0x6c626e20,\n\t0x1f4ac: 0x6d1e5a20, 0x1f4ad: 0x6cbe5820, 0x1f4ae: 0x6c8d6420, 0x1f4af: 0x6cb65820,\n\t0x1f4b0: 0x6d406820, 0x1f4b1: 0x6c3a1c20, 0x1f4b2: 0x6c7d8620, 0x1f4b3: 0x6c168020,\n\t0x1f4b4: 0x6c482a20, 0x1f4b5: 0x6ca60a20, 0x1f4b6: 0x6ca70820, 0x1f4b7: 0x6c2de420,\n\t0x1f4b8: 0x6c6dd420, 0x1f4b9: 0x6cd02420, 0x1f4ba: 0x6cd20020, 0x1f4bb: 0x6d3e9e20,\n\t0x1f4bc: 0x6c3bf820, 0x1f4bd: 0x6c2ef620, 0x1f4be: 0x6c089420, 0x1f4bf: 0x6c16ce20,\n\t// Block 0x7d3, offset 0x1f4c0\n\t0x1f4c0: 0x6ce39020, 0x1f4c1: 0x6cf16c20, 0x1f4c2: 0x6ceec420, 0x1f4c3: 0x6cc9d220,\n\t0x1f4c4: 0x6c36c020, 0x1f4c5: 0x6cbfd220, 0x1f4c6: 0x6c407020, 0x1f4c7: 0x6c5a1620,\n\t0x1f4c8: 0x6cc31e20, 0x1f4c9: 0x6c678a20, 0x1f4ca: 0x6c0b1220, 0x1f4cb: 0x6ccac820,\n\t0x1f4cc: 0x6c028020, 0x1f4cd: 0x6cb68020, 0x1f4ce: 0x6cde1e20, 0x1f4cf: 0x6c493220,\n\t0x1f4d0: 0x6d116620, 0x1f4d1: 0x6cad1220, 0x1f4d2: 0x6c651e20, 0x1f4d3: 0x6c823020,\n\t0x1f4d4: 0x6c0c9a20, 0x1f4d5: 0x6d093420, 0x1f4d6: 0x6c0cc820, 0x1f4d7: 0x6c979820,\n\t0x1f4d8: 0x6c9fd820, 0x1f4d9: 0x6d1dd220, 0x1f4da: 0x6cf10420, 0x1f4db: 0x6cf7b620,\n\t0x1f4dc: 0x6c4ba020, 0x1f4dd: 0x6ccde220, 0x1f4de: 0x6c8c0620, 0x1f4df: 0x6d41fe20,\n\t0x1f4e0: 0x6c56e420, 0x1f4e1: 0x6c41fe20, 0x1f4e2: 0x6c854a20, 0x1f4e3: 0x6d2dc820,\n\t0x1f4e4: 0x6c496e20, 0x1f4e5: 0x6ca79a20, 0x1f4e6: 0x6d15f420, 0x1f4e7: 0x6c3ebc20,\n\t0x1f4e8: 0x6c864220, 0x1f4e9: 0x6c6f7e20, 0x1f4ea: 0x6c102220, 0x1f4eb: 0x6d0e8e20,\n\t0x1f4ec: 0x6c3f5020, 0x1f4ed: 0x6c2dd020, 0x1f4ee: 0x6c5efc20, 0x1f4ef: 0x6c3cea20,\n\t0x1f4f0: 0x6cc83620, 0x1f4f1: 0x6c41ac20, 0x1f4f2: 0x6cd1e820, 0x1f4f3: 0x6c3cee20,\n\t0x1f4f4: 0x6ca01420, 0x1f4f5: 0x6c060c20, 0x1f4f6: 0x6d250820, 0x1f4f7: 0x6d341420,\n\t0x1f4f8: 0x6c56c420, 0x1f4f9: 0x6cbd9a20, 0x1f4fa: 0x6c3d9820, 0x1f4fb: 0x6c049620,\n\t0x1f4fc: 0x6cf1ac20, 0x1f4fd: 0x6c64ec20, 0x1f4fe: 0x6cd1f620, 0x1f4ff: 0x6d23e420,\n\t// Block 0x7d4, offset 0x1f500\n\t0x1f500: 0x6c3d3220, 0x1f501: 0x6d10b620, 0x1f502: 0x6c74b020, 0x1f503: 0x6c74b220,\n\t0x1f504: 0x6cb06c20, 0x1f505: 0x6c583020, 0x1f506: 0x6d326820, 0x1f507: 0x6c061220,\n\t0x1f508: 0x6d0eb420, 0x1f509: 0x6d0af620, 0x1f50a: 0x6d336420, 0x1f50b: 0x6c399c20,\n\t0x1f50c: 0x6c3cf020, 0x1f50d: 0x6cf1ae20, 0x1f50e: 0x6cab5220, 0x1f50f: 0x6c279220,\n\t0x1f510: 0x6c43ac20, 0x1f511: 0x6cc7ca20, 0x1f512: 0x6c8d6620, 0x1f513: 0x6c9eea20,\n\t0x1f514: 0x6c3eec20, 0x1f515: 0x6ceb5420, 0x1f516: 0x6c9f7c20, 0x1f517: 0x6c869620,\n\t0x1f518: 0x6c0b5020, 0x1f519: 0x6d36fc20, 0x1f51a: 0x6c43ae20, 0x1f51b: 0x6d251420,\n\t0x1f51c: 0x6c227620, 0x1f51d: 0x6cc1cc20, 0x1f51e: 0x6cff1c20, 0x1f51f: 0x6c1adc20,\n\t0x1f520: 0x6c28c020, 0x1f521: 0x6c70d020, 0x1f522: 0x6d11d620, 0x1f523: 0x6c473820,\n\t0x1f524: 0x6c301820, 0x1f525: 0x6d240020, 0x1f526: 0x6d0f6e20, 0x1f527: 0x6cc73a20,\n\t0x1f528: 0x6d0afe20, 0x1f529: 0x6ce60420, 0x1f52a: 0x6d240220, 0x1f52b: 0x6ce54420,\n\t0x1f52c: 0x6d1bf820, 0x1f52d: 0x6c331620, 0x1f52e: 0x6cf38620, 0x1f52f: 0x6c377020,\n\t0x1f530: 0x6c487c20, 0x1f531: 0x6c00d420, 0x1f532: 0x6d341a20, 0x1f533: 0x6d0ed620,\n\t0x1f534: 0x6c527a20, 0x1f535: 0x6cff2c20, 0x1f536: 0x6c63f020, 0x1f537: 0x6c8b4220,\n\t0x1f538: 0x6d39d220, 0x1f539: 0x6d0fe220, 0x1f53a: 0x6ce39220, 0x1f53b: 0x6c539220,\n\t0x1f53c: 0x6c963020, 0x1f53d: 0x6cc7da20, 0x1f53e: 0x6ca1f220, 0x1f53f: 0x6c43b820,\n\t// Block 0x7d5, offset 0x1f540\n\t0x1f540: 0x6cc57e20, 0x1f541: 0x6c688c20, 0x1f542: 0x6d050220, 0x1f543: 0x6d38ba20,\n\t0x1f544: 0x6d341c20, 0x1f545: 0x6c963220, 0x1f546: 0x6c528c20, 0x1f547: 0x6ca77620,\n\t0x1f548: 0x6c370820, 0x1f549: 0x6c944620, 0x1f54a: 0x6c63f220, 0x1f54b: 0x6c62b420,\n\t0x1f54c: 0x6ce90420, 0x1f54d: 0x6c583820, 0x1f54e: 0x6ceb9220, 0x1f54f: 0x6c104a20,\n\t0x1f550: 0x6cf40420, 0x1f551: 0x6c730820, 0x1f552: 0x6d244820, 0x1f553: 0x6c0f9c20,\n\t0x1f554: 0x6c75f620, 0x1f555: 0x6d0aae20, 0x1f556: 0x6c089220, 0x1f557: 0x6cf71020,\n\t0x1f558: 0x6c75f820, 0x1f559: 0x6c717620, 0x1f55a: 0x6ce87e20, 0x1f55b: 0x6c6de420,\n\t0x1f55c: 0x6ce3a220, 0x1f55d: 0x6c359020, 0x1f55e: 0x6c359220, 0x1f55f: 0x6c7bcc20,\n\t0x1f560: 0x6c55e820, 0x1f561: 0x6cf48a20, 0x1f562: 0x6cd02a20, 0x1f563: 0x6c7f6620,\n\t0x1f564: 0x6c69ee20, 0x1f565: 0x6cacca20, 0x1f566: 0x6c932820, 0x1f567: 0x6cb02c20,\n\t0x1f568: 0x6cd51a20, 0x1f569: 0x6c3f2220, 0x1f56a: 0x6c015e20, 0x1f56b: 0x6d3dd020,\n\t0x1f56c: 0x6caef420, 0x1f56d: 0x6cbdba20, 0x1f56e: 0x6cb94220, 0x1f56f: 0x6c06be20,\n\t0x1f570: 0x6c2dee20, 0x1f571: 0x6c932a20, 0x1f572: 0x6cc42c20, 0x1f573: 0x6c652a20,\n\t0x1f574: 0x6c718420, 0x1f575: 0x6ce92a20, 0x1f576: 0x6d0b0420, 0x1f577: 0x6d252020,\n\t0x1f578: 0x6cb68e20, 0x1f579: 0x6c849620, 0x1f57a: 0x6d138620, 0x1f57b: 0x6d3c7020,\n\t0x1f57c: 0x6c798e20, 0x1f57d: 0x6c352020, 0x1f57e: 0x6c7d9020, 0x1f57f: 0x6cd11c20,\n\t// Block 0x7d6, offset 0x1f580\n\t0x1f580: 0x6cb69020, 0x1f581: 0x6c6de820, 0x1f582: 0x6d192420, 0x1f583: 0x6d192620,\n\t0x1f584: 0x6c6dea20, 0x1f585: 0x6d3ebc20, 0x1f586: 0x6c7f3220, 0x1f587: 0x6c302620,\n\t0x1f588: 0x6cb55020, 0x1f589: 0x6c219420, 0x1f58a: 0x6c44e620, 0x1f58b: 0x6c70e020,\n\t0x1f58c: 0x6c74f620, 0x1f58d: 0x6d199620, 0x1f58e: 0x6d422420, 0x1f58f: 0x6c5f8a20,\n\t0x1f590: 0x6cd62c20, 0x1f591: 0x6d1c1420, 0x1f592: 0x6c1c9220, 0x1f593: 0x6c9e8220,\n\t0x1f594: 0x6cc77220, 0x1f595: 0x6c016220, 0x1f596: 0x6cbfe020, 0x1f597: 0x6ce3ae20,\n\t0x1f598: 0x6c55fc20, 0x1f599: 0x6ce3b020, 0x1f59a: 0x6c36e020, 0x1f59b: 0x6c6a4420,\n\t0x1f59c: 0x6c991220, 0x1f59d: 0x6c3f2620, 0x1f59e: 0x6c212820, 0x1f59f: 0x6ce90820,\n\t0x1f5a0: 0x6d0e0820, 0x1f5a1: 0x6c51a020, 0x1f5a2: 0x6d25d020, 0x1f5a3: 0x6cb10620,\n\t0x1f5a4: 0x6c7d9620, 0x1f5a5: 0x6c9a3e20, 0x1f5a6: 0x6c55fe20, 0x1f5a7: 0x6d1c1620,\n\t0x1f5a8: 0x6c204820, 0x1f5a9: 0x6cf54c20, 0x1f5aa: 0x6c718a20, 0x1f5ab: 0x6c309c20,\n\t0x1f5ac: 0x6c124420, 0x1f5ad: 0x6c39e020, 0x1f5ae: 0x6c520a20, 0x1f5af: 0x6d1c3620,\n\t0x1f5b0: 0x6d25d220, 0x1f5b1: 0x6cfb0620, 0x1f5b2: 0x6cf24620, 0x1f5b3: 0x6cd21620,\n\t0x1f5b4: 0x6c520c20, 0x1f5b5: 0x6c1eca20, 0x1f5b6: 0x6ce16820, 0x1f5b7: 0x6cfa1a20,\n\t0x1f5b8: 0x6cc93a20, 0x1f5b9: 0x6c8ee620, 0x1f5ba: 0x6c60fe20, 0x1f5bb: 0x6c474c20,\n\t0x1f5bc: 0x6c654620, 0x1f5bd: 0x6cdd0420, 0x1f5be: 0x6c4f3a20, 0x1f5bf: 0x6c228020,\n\t// Block 0x7d7, offset 0x1f5c0\n\t0x1f5c0: 0x6c228220, 0x1f5c1: 0x6d195420, 0x1f5c2: 0x6d124820, 0x1f5c3: 0x6d0f0220,\n\t0x1f5c4: 0x6c5f9a20, 0x1f5c5: 0x6c875c20, 0x1f5c6: 0x6ce4d220, 0x1f5c7: 0x6c7a0e20,\n\t0x1f5c8: 0x6ce30620, 0x1f5c9: 0x6ce30820, 0x1f5ca: 0x6d195620, 0x1f5cb: 0x6ce90c20,\n\t0x1f5cc: 0x6c96ac20, 0x1f5cd: 0x6c68ae20, 0x1f5ce: 0x6c42f420, 0x1f5cf: 0x6ce4d420,\n\t0x1f5d0: 0x6c18fe20, 0x1f5d1: 0x6c610020, 0x1f5d2: 0x6ce97620, 0x1f5d3: 0x6d311020,\n\t0x1f5d4: 0x6c029020, 0x1f5d5: 0x6d11e620, 0x1f5d6: 0x6d143c20, 0x1f5d7: 0x6cab6620,\n\t0x1f5d8: 0x6c1c9820, 0x1f5d9: 0x6d376e20, 0x1f5da: 0x6c8f5c20, 0x1f5db: 0x6d1de820,\n\t0x1f5dc: 0x6c937020, 0x1f5dd: 0x6c0aca20, 0x1f5de: 0x6cd6b820, 0x1f5df: 0x6d3de420,\n\t0x1f5e0: 0x6d21fa20, 0x1f5e1: 0x6cf41020, 0x1f5e2: 0x6c752620, 0x1f5e3: 0x6d1ab620,\n\t0x1f5e4: 0x6ce3b820, 0x1f5e5: 0x6cd85620, 0x1f5e6: 0x6c68b420, 0x1f5e7: 0x6d196c20,\n\t0x1f5e8: 0x6c577020, 0x1f5e9: 0x6c0ad020, 0x1f5ea: 0x6d1c4620, 0x1f5eb: 0x6cdb7420,\n\t0x1f5ec: 0x6c5a3c20, 0x1f5ed: 0x6c38f820, 0x1f5ee: 0x6c68b620, 0x1f5ef: 0x6c8a5a20,\n\t0x1f5f0: 0x6d0f1820, 0x1f5f1: 0x6c42f820, 0x1f5f2: 0x6c704020, 0x1f5f3: 0x6cfbda20,\n\t0x1f5f4: 0x6cfbdc20, 0x1f5f5: 0x6ce90e20, 0x1f5f6: 0x6c971c20, 0x1f5f7: 0x6d420220,\n\t0x1f5f8: 0x6d248e20, 0x1f5f9: 0x6d1c4a20, 0x1f5fa: 0x6c934220, 0x1f5fb: 0x6ce97820,\n\t0x1f5fc: 0x6cfbde20, 0x1f5fd: 0x6d092e20, 0x1f5fe: 0x6d197820, 0x1f5ff: 0x6cb0e020,\n\t// Block 0x7d8, offset 0x1f600\n\t0x1f600: 0x6c1efc20, 0x1f601: 0x6c958c20, 0x1f602: 0x6cf75c20, 0x1f603: 0x6d15a220,\n\t0x1f604: 0x6c5fb220, 0x1f605: 0x6d2b2c20, 0x1f606: 0x6d220820, 0x1f607: 0x6d2dd220,\n\t0x1f608: 0x6d13a420, 0x1f609: 0x6d0ffa20, 0x1f60a: 0x6cb0e220, 0x1f60b: 0x6ca94420,\n\t0x1f60c: 0x6c56f420, 0x1f60d: 0x6c9cd220, 0x1f60e: 0x6d1c5020, 0x1f60f: 0x6c9bc420,\n\t0x1f610: 0x6c2bc220, 0x1f611: 0x6d273620, 0x1f612: 0x6d249020, 0x1f613: 0x6c831a20,\n\t0x1f614: 0x6c068620, 0x1f615: 0x6c91ae20, 0x1f616: 0x6c521220, 0x1f617: 0x6c902220,\n\t0x1f618: 0x6cd6cc20, 0x1f619: 0x6d274020, 0x1f61a: 0x6d1c5220, 0x1f61b: 0x6c49cc20,\n\t0x1f61c: 0x6cc23820, 0x1f61d: 0x6c84f220, 0x1f61e: 0x6c948820, 0x1f61f: 0x6ca78a20,\n\t0x1f620: 0x6c6f5a20, 0x1f621: 0x6c5e8820, 0x1f622: 0x6d24ca20, 0x1f623: 0x6c9fea20,\n\t0x1f624: 0x6cd1a020, 0x1f625: 0x6cab3620, 0x1f626: 0x6d0ada20, 0x1f627: 0x6c122620,\n\t0x1f628: 0x6c05ec20, 0x1f629: 0x6d322a20, 0x1f62a: 0x6c470420, 0x1f62b: 0x6c2fec20,\n\t0x1f62c: 0x6c914a20, 0x1f62d: 0x6d0ae420, 0x1f62e: 0x6cfeae20, 0x1f62f: 0x6d0f5820,\n\t0x1f630: 0x6c8cda20, 0x1f631: 0x6c1aa620, 0x1f632: 0x6cc18220, 0x1f633: 0x6d24d820,\n\t0x1f634: 0x6d090420, 0x1f635: 0x6ceb1220, 0x1f636: 0x6cd7de20, 0x1f637: 0x6d361220,\n\t0x1f638: 0x6c375620, 0x1f639: 0x6c485820, 0x1f63a: 0x6d04d220, 0x1f63b: 0x6c526620,\n\t0x1f63c: 0x6d388020, 0x1f63d: 0x6c438a20, 0x1f63e: 0x6c943820, 0x1f63f: 0x6c534820,\n\t// Block 0x7d9, offset 0x1f640\n\t0x1f640: 0x6cf3ce20, 0x1f641: 0x6c0f0c20, 0x1f642: 0x6c83dc20, 0x1f643: 0x6c72f820,\n\t0x1f644: 0x6c479a20, 0x1f645: 0x6c357220, 0x1f646: 0x6d236220, 0x1f647: 0x6cfb6820,\n\t0x1f648: 0x6ce33a20, 0x1f649: 0x6cf45420, 0x1f64a: 0x6cc42a20, 0x1f64b: 0x6c9e7a20,\n\t0x1f64c: 0x6c013e20, 0x1f64d: 0x6c7d7820, 0x1f64e: 0x6c06b420, 0x1f64f: 0x6caeb020,\n\t0x1f650: 0x6cb8fc20, 0x1f651: 0x6c219220, 0x1f652: 0x6c44d620, 0x1f653: 0x6d250220,\n\t0x1f654: 0x6cdadc20, 0x1f655: 0x6c558e20, 0x1f656: 0x6c516020, 0x1f657: 0x6c367e20,\n\t0x1f658: 0x6c47bc20, 0x1f659: 0x6cbfba20, 0x1f65a: 0x6c225a20, 0x1f65b: 0x6c9a1e20,\n\t0x1f65c: 0x6cf51220, 0x1f65d: 0x6d187820, 0x1f65e: 0x6d122020, 0x1f65f: 0x6cf23820,\n\t0x1f660: 0x6c8e9420, 0x1f661: 0x6c60a020, 0x1f662: 0x6d187a20, 0x1f663: 0x6c64ee20,\n\t0x1f664: 0x6c51e220, 0x1f665: 0x6d141c20, 0x1f666: 0x6d1bfa20, 0x1f667: 0x6d310420,\n\t0x1f668: 0x6c8f4420, 0x1f669: 0x6c8a2e20, 0x1f66a: 0x6c689220, 0x1f66b: 0x6c703020,\n\t0x1f66c: 0x6d242a20, 0x1f66d: 0x6c931820, 0x1f66e: 0x6c58b420, 0x1f66f: 0x6d2db020,\n\t0x1f670: 0x6d1c0c20, 0x1f671: 0x6c56da20, 0x1f672: 0x6c9b8020, 0x1f673: 0x6c49c020,\n\t0x1f674: 0x6cd6ba20, 0x1f675: 0x6c91bc20, 0x1f676: 0x6c6c5820, 0x1f677: 0x6c8d6820,\n\t0x1f678: 0x6c661220, 0x1f679: 0x6cfbd020, 0x1f67a: 0x6c25fe20, 0x1f67b: 0x6c662620,\n\t0x1f67c: 0x6c664020, 0x1f67d: 0x6d0d1a20, 0x1f67e: 0x6c25f420, 0x1f67f: 0x6c924c20,\n\t// Block 0x7da, offset 0x1f680\n\t0x1f680: 0x6d1eaa20, 0x1f681: 0x6c241620, 0x1f682: 0x6c614c20, 0x1f683: 0x6cad6820,\n\t0x1f684: 0x6c241820, 0x1f685: 0x6cad6c20, 0x1f686: 0x6d3b3220, 0x1f687: 0x6c758220,\n\t0x1f688: 0x6d3a8220, 0x1f689: 0x6c651020, 0x1f68a: 0x6c9c8420, 0x1f68b: 0x6c9c8620,\n\t0x1f68c: 0x6d22a820, 0x1f68d: 0x6c8ec820, 0x1f68e: 0x6c18f420, 0x1f68f: 0x6c758a20,\n\t0x1f690: 0x6c8bf620, 0x1f691: 0x6ca61a20, 0x1f692: 0x6cb69420, 0x1f693: 0x6c932c20,\n\t0x1f694: 0x6c703a20, 0x1f695: 0x6c758c20, 0x1f696: 0x6c6df020, 0x1f697: 0x6c871420,\n\t0x1f698: 0x6cfd9820, 0x1f699: 0x6cfbd220, 0x1f69a: 0x6c639020, 0x1f69b: 0x6c9ca620,\n\t0x1f69c: 0x6c875e20, 0x1f69d: 0x6ccf8e20, 0x1f69e: 0x6d2ef220, 0x1f69f: 0x6c8c1020,\n\t0x1f6a0: 0x6c6dfa20, 0x1f6a1: 0x6cb6b620, 0x1f6a2: 0x6c8de220, 0x1f6a3: 0x6d0d2820,\n\t0x1f6a4: 0x6c241a20, 0x1f6a5: 0x6c973220, 0x1f6a6: 0x6c972620, 0x1f6a7: 0x6c516220,\n\t0x1f6a8: 0x6c17a620, 0x1f6a9: 0x6c3d9c20, 0x1f6aa: 0x6c9e5e20, 0x1f6ab: 0x6c9e3e20,\n\t0x1f6ac: 0x6c3da820, 0x1f6ad: 0x6cad9c20, 0x1f6ae: 0x6cc27e20, 0x1f6af: 0x6cc14c20,\n\t0x1f6b0: 0x6ca1f420, 0x1f6b1: 0x6c3db020, 0x1f6b2: 0x6cfd2c20, 0x1f6b3: 0x6c7f3420,\n\t0x1f6b4: 0x6cc15820, 0x1f6b5: 0x6c9e6a20, 0x1f6b6: 0x6c1ca620, 0x1f6b7: 0x6c3c9420,\n\t0x1f6b8: 0x6c3d6e20, 0x1f6b9: 0x6cc14020, 0x1f6ba: 0x6c9e6420, 0x1f6bb: 0x6c966820,\n\t0x1f6bc: 0x6c99c420, 0x1f6bd: 0x6ca07020, 0x1f6be: 0x6c5af020, 0x1f6bf: 0x6ca1b820,\n\t// Block 0x7db, offset 0x1f6c0\n\t0x1f6c0: 0x6d407020, 0x1f6c1: 0x6caaae20, 0x1f6c2: 0x6c3bb420, 0x1f6c3: 0x6c59ce20,\n\t0x1f6c4: 0x6c59b820, 0x1f6c5: 0x6c6c5a20, 0x1f6c6: 0x6c49f620, 0x1f6c7: 0x6ce47420,\n\t0x1f6c8: 0x6ce81c20, 0x1f6c9: 0x6c538c20, 0x1f6ca: 0x6c57c820, 0x1f6cb: 0x6c7c0820,\n\t0x1f6cc: 0x6c539a20, 0x1f6cd: 0x6cd56020, 0x1f6ce: 0x6c843a20, 0x1f6cf: 0x6ca70a20,\n\t0x1f6d0: 0x6c1af220, 0x1f6d1: 0x6c521c20, 0x1f6d2: 0x6c521a20, 0x1f6d3: 0x6d187c20,\n\t0x1f6d4: 0x6cb9ce20, 0x1f6d5: 0x6c284820, 0x1f6d6: 0x6cf8ea20, 0x1f6d7: 0x6cea2e20,\n\t0x1f6d8: 0x6ca17020, 0x1f6d9: 0x6ca15020, 0x1f6da: 0x6cb9d220, 0x1f6db: 0x6c279e20,\n\t0x1f6dc: 0x6c1f8420, 0x1f6dd: 0x6d1ff620, 0x1f6de: 0x6c2d2e20, 0x1f6df: 0x6d143020,\n\t0x1f6e0: 0x6cfa1220, 0x1f6e1: 0x6d0df220, 0x1f6e2: 0x6cc15a20, 0x1f6e3: 0x6c9a7220,\n\t0x1f6e4: 0x6d0e0a20, 0x1f6e5: 0x6cbe9420, 0x1f6e6: 0x6d271220, 0x1f6e7: 0x6c84a220,\n\t0x1f6e8: 0x6c293820, 0x1f6e9: 0x6c31ec20, 0x1f6ea: 0x6c11e820, 0x1f6eb: 0x6d0c4820,\n\t0x1f6ec: 0x6d0d0820, 0x1f6ed: 0x6d0e1420, 0x1f6ee: 0x6c285820, 0x1f6ef: 0x6c01e420,\n\t0x1f6f0: 0x6d320a20, 0x1f6f1: 0x6c27ac20, 0x1f6f2: 0x6c11ea20, 0x1f6f3: 0x6d144020,\n\t0x1f6f4: 0x6c9a4620, 0x1f6f5: 0x6d2e4220, 0x1f6f6: 0x6d0e3420, 0x1f6f7: 0x6c320e20,\n\t0x1f6f8: 0x6c91b020, 0x1f6f9: 0x6d353420, 0x1f6fa: 0x6c3bc220, 0x1f6fb: 0x6c3f1020,\n\t0x1f6fc: 0x6c3f9820, 0x1f6fd: 0x6c9e3220, 0x1f6fe: 0x6c9e0a20, 0x1f6ff: 0x6d25bc20,\n\t// Block 0x7dc, offset 0x1f700\n\t0x1f700: 0x6c247220, 0x1f701: 0x6cc28420, 0x1f702: 0x6c178820, 0x1f703: 0x6cebfc20,\n\t0x1f704: 0x6d39e620, 0x1f705: 0x6d342a20, 0x1f706: 0x6c9bbe20, 0x1f707: 0x6c029420,\n\t0x1f708: 0x6c0cd020, 0x1f709: 0x6ceb6a20, 0x1f70a: 0x6c0ada20, 0x1f70b: 0x6d257220,\n\t0x1f70c: 0x6c176620, 0x1f70d: 0x6ceb5e20, 0x1f70e: 0x6c2f7420, 0x1f70f: 0x6c9d7420,\n\t0x1f710: 0x6ca3d020, 0x1f711: 0x6c2f7c20, 0x1f712: 0x6d3e8420, 0x1f713: 0x6c47a620,\n\t0x1f714: 0x6c47a820, 0x1f715: 0x6c302220, 0x1f716: 0x6c3ba420, 0x1f717: 0x6ce25020,\n\t0x1f718: 0x6d252820, 0x1f719: 0x6cb03a20, 0x1f71a: 0x6c168e20, 0x1f71b: 0x6c42f620,\n\t0x1f71c: 0x6cb80820, 0x1f71d: 0x6d252a20, 0x1f71e: 0x6ce0e220, 0x1f71f: 0x6ce29820,\n\t0x1f720: 0x6cd56620, 0x1f721: 0x6cd55220, 0x1f722: 0x6c3b9e20, 0x1f723: 0x6c3adc20,\n\t0x1f724: 0x6cf1be20, 0x1f725: 0x6c039620, 0x1f726: 0x6c2dea20, 0x1f727: 0x6ceb5a20,\n\t0x1f728: 0x6d37d420, 0x1f729: 0x6cc1ee20, 0x1f72a: 0x6cd11a20, 0x1f72b: 0x6cd28e20,\n\t0x1f72c: 0x6d205e20, 0x1f72d: 0x6cd29420, 0x1f72e: 0x6ce69e20, 0x1f72f: 0x6cf40c20,\n\t0x1f730: 0x6ca77220, 0x1f731: 0x6c6df620, 0x1f732: 0x6c5d1020, 0x1f733: 0x6c719820,\n\t0x1f734: 0x6d0e1e20, 0x1f735: 0x6ce88020, 0x1f736: 0x6cd85c20, 0x1f737: 0x6cf75420,\n\t0x1f738: 0x6cfd4e20, 0x1f739: 0x6d0e2820, 0x1f73a: 0x6c82ae20, 0x1f73b: 0x6c08a220,\n\t0x1f73c: 0x6d11da20, 0x1f73d: 0x6cc0a220, 0x1f73e: 0x6c4dc020, 0x1f73f: 0x6cf53a20,\n\t// Block 0x7dd, offset 0x1f740\n\t0x1f740: 0x6cf54220, 0x1f741: 0x6c53e620, 0x1f742: 0x6d028620, 0x1f743: 0x6c36f820,\n\t0x1f744: 0x6d2c1020, 0x1f745: 0x6d055c20, 0x1f746: 0x6cf27820, 0x1f747: 0x6d2c1220,\n\t0x1f748: 0x6ca9f820, 0x1f749: 0x6ca48c20, 0x1f74a: 0x6cb63420, 0x1f74b: 0x6d2d0020,\n\t0x1f74c: 0x6c62b620, 0x1f74d: 0x6d3ebe20, 0x1f74e: 0x6c5f9c20, 0x1f74f: 0x6c5fac20,\n\t0x1f750: 0x6cb56c20, 0x1f751: 0x6c5f2820, 0x1f752: 0x6c1bc220, 0x1f753: 0x6c193020,\n\t0x1f754: 0x6c193420, 0x1f755: 0x6c519220, 0x1f756: 0x6d0b3a20, 0x1f757: 0x6d1aae20,\n\t0x1f758: 0x6d026c20, 0x1f759: 0x6c05c020, 0x1f75a: 0x6d2b2620, 0x1f75b: 0x6d027620,\n\t0x1f75c: 0x6c148c20, 0x1f75d: 0x6c1aec20, 0x1f75e: 0x6d0e0c20, 0x1f75f: 0x6c71e020,\n\t0x1f760: 0x6ce5b220, 0x1f761: 0x6c8d9620, 0x1f762: 0x6c8d7820, 0x1f763: 0x6c1e6e20,\n\t0x1f764: 0x6cc33220, 0x1f765: 0x6d027e20, 0x1f766: 0x6c791420, 0x1f767: 0x6ca8ae20,\n\t0x1f768: 0x6c703e20, 0x1f769: 0x6d11e420, 0x1f76a: 0x6c21e820, 0x1f76b: 0x6c7dc820,\n\t0x1f76c: 0x6d22b220, 0x1f76d: 0x6c1efa20, 0x1f76e: 0x6d163020, 0x1f76f: 0x6ca61c20,\n\t0x1f770: 0x6d2b2a20, 0x1f771: 0x6d407820, 0x1f772: 0x6cc25820, 0x1f773: 0x6d281020,\n\t0x1f774: 0x6d0e3020, 0x1f775: 0x6cab6e20, 0x1f776: 0x6c36fe20, 0x1f777: 0x6cf33820,\n\t0x1f778: 0x6d198020, 0x1f779: 0x6c221a20, 0x1f77a: 0x6d407a20, 0x1f77b: 0x6c2d0020,\n\t0x1f77c: 0x6c1efe20, 0x1f77d: 0x6c6d7a20, 0x1f77e: 0x6d0bd420, 0x1f77f: 0x6c1b8020,\n\t// Block 0x7de, offset 0x1f780\n\t0x1f780: 0x6c192420, 0x1f781: 0x6c512220, 0x1f782: 0x6d1a6e20, 0x1f783: 0x6c71c620,\n\t0x1f784: 0x6c8d3220, 0x1f785: 0x6c05b620, 0x1f786: 0x6ce59620, 0x1f787: 0x6d3e7820,\n\t0x1f788: 0x6c790620, 0x1f789: 0x6d228620, 0x1f78a: 0x6c21d420, 0x1f78b: 0x6cc25220,\n\t0x1f78c: 0x6cf32620, 0x1f78d: 0x6c8fb020, 0x1f78e: 0x6cad1420, 0x1f78f: 0x6c45c020,\n\t0x1f790: 0x6cad1620, 0x1f791: 0x6d0e0e20, 0x1f792: 0x6c8ff220, 0x1f793: 0x6c904820,\n\t0x1f794: 0x6c45c820, 0x1f795: 0x6c76b820, 0x1f796: 0x6c26dc20, 0x1f797: 0x6c8e0020,\n\t0x1f798: 0x6c26de20, 0x1f799: 0x6c8f6620, 0x1f79a: 0x6c458620, 0x1f79b: 0x6c76a820,\n\t0x1f79c: 0x6c4a9620, 0x1f79d: 0x6cbfea20, 0x1f79e: 0x6c0cd620, 0x1f79f: 0x6c4a3820,\n\t0x1f7a0: 0x6d26f620, 0x1f7a1: 0x6c20f820, 0x1f7a2: 0x6c51aa20, 0x1f7a3: 0x6c753020,\n\t0x1f7a4: 0x6d013c20, 0x1f7a5: 0x6d249820,\n\t// Block 0x7df, offset 0x1f7c0\n\t0x1f7c3: 0x6ccd4220,\n\t// Block 0x7e0, offset 0x1f800\n\t0x1f800: 0x6cb6e820, 0x1f801: 0x6c452620, 0x1f802: 0x6c17ce20, 0x1f803: 0x6c642020,\n\t0x1f804: 0x6c573e20, 0x1f805: 0x6c202c20, 0x1f806: 0x6c71ea20, 0x1f807: 0x6c4a9620,\n\t0x1f808: 0x6c4a9620, 0x1f809: 0x6cb75220, 0x1f80a: 0x6c6c2e20, 0x1f80b: 0x6c7e6220,\n\t0x1f80c: 0x6ca3ac20, 0x1f80d: 0x6c804a20, 0x1f80e: 0x6c7f7820, 0x1f80f: 0x6c956220,\n\t0x1f810: 0x6c957a20, 0x1f811: 0x6c955820, 0x1f812: 0x6c95b820, 0x1f813: 0x6c957c20,\n\t0x1f814: 0x6c822620, 0x1f815: 0x6c95e820, 0x1f816: 0x6c81d020, 0x1f817: 0x6c95f620,\n\t0x1f818: 0x6c960a20, 0x1f819: 0x6c81d620, 0x1f81a: 0x6c962a20, 0x1f81b: 0x6c949a20,\n\t0x1f81c: 0x6c948c20, 0x1f81d: 0x6c7ff820, 0x1f81e: 0x6c808820, 0x1f81f: 0x6c7ff020,\n\t0x1f820: 0x6c948820, 0x1f821: 0x6c7f9a20, 0x1f822: 0x6c807c20, 0x1f823: 0x6c7fc420,\n\t0x1f824: 0x6c7fd820, 0x1f825: 0x6c7e3e20, 0x1f826: 0x6c7eaa20, 0x1f827: 0x6c7ec420,\n\t0x1f828: 0x6c80b420, 0x1f829: 0x6c80f820, 0x1f82a: 0x6c811820, 0x1f82b: 0x6c80ae20,\n\t0x1f82c: 0x6c80a220, 0x1f82d: 0x6c7ee220, 0x1f82e: 0x6c839020, 0x1f82f: 0x6c815620,\n\t0x1f830: 0x6c91da20, 0x1f831: 0x6c91f220, 0x1f832: 0x6c918420, 0x1f833: 0x6c915c20,\n\t0x1f834: 0x6c819a20, 0x1f835: 0x6c917820, 0x1f836: 0x6c91c420, 0x1f837: 0x6c927620,\n\t0x1f838: 0x6c933620, 0x1f839: 0x6c91d420, 0x1f83a: 0x6c934220, 0x1f83b: 0x6c926e20,\n\t0x1f83c: 0x6c925a20, 0x1f83d: 0x6c93ec20, 0x1f83e: 0x6c924820, 0x1f83f: 0x6c92de20,\n\t// Block 0x7e1, offset 0x1f840\n\t0x1f840: 0x6c924c20, 0x1f841: 0x6c952620, 0x1f842: 0x6c903e20, 0x1f843: 0x6ca9f020,\n\t0x1f844: 0x6c8ff420, 0x1f845: 0x6c8ff820, 0x1f846: 0x6c814220, 0x1f847: 0x6c82d220,\n\t0x1f848: 0x6c927420, 0x1f849: 0x6c823e20, 0x1f84a: 0x6c82e220, 0x1f84b: 0x6c93a620,\n\t0x1f84c: 0x6c90b020, 0x1f84d: 0x6c833020, 0x1f84e: 0x6c910e20, 0x1f84f: 0x6c833420,\n\t0x1f850: 0x6c93bc20, 0x1f851: 0x6c910220, 0x1f852: 0x6c823c20, 0x1f853: 0x6c81fe20,\n\t0x1f854: 0x6c8c2820, 0x1f855: 0x6c8cc420, 0x1f856: 0x6c837e20, 0x1f857: 0x6c8d3c20,\n\t0x1f858: 0x6c8cfe20, 0x1f859: 0x6c8cd820, 0x1f85a: 0x6c31f020, 0x1f85b: 0x6ca2d020,\n\t0x1f85c: 0x6c822620, 0x1f85d: 0x6cab0e20, 0x1f85e: 0x6c27b220, 0x1f85f: 0x6ca91020,\n\t0x1f860: 0x6caa5e20, 0x1f861: 0x6c93d620, 0x1f862: 0x6d176620, 0x1f863: 0x6c06c620,\n\t0x1f864: 0x6cac7620, 0x1f865: 0x6c0b8220, 0x1f866: 0x6c3ff020, 0x1f867: 0x6c105620,\n\t0x1f868: 0x6c9d2620, 0x1f869: 0x6cd60020, 0x1f86a: 0x6cdd5a20, 0x1f86b: 0x6c115e20,\n\t0x1f86c: 0x6cc9c620, 0x1f86d: 0x6cd12c20, 0x1f86e: 0x6d12f620, 0x1f86f: 0x6cd76a20,\n\t0x1f870: 0x6ccbda20, 0x1f871: 0x6c18a020, 0x1f872: 0x6c189c20, 0x1f873: 0x6cd41020,\n\t0x1f874: 0x6cc91420, 0x1f875: 0x6c361020, 0x1f876: 0x6c361220, 0x1f877: 0x6c89aa20,\n\t0x1f878: 0x6c898820, 0x1f879: 0x6c894a20, 0x1f87a: 0x6c894c20, 0x1f87b: 0x6c897420,\n\t0x1f87c: 0x6c894620, 0x1f87d: 0x6c89c820, 0x1f87e: 0x6c89c020, 0x1f87f: 0x6c867020,\n\t// Block 0x7e2, offset 0x1f880\n\t0x1f880: 0x6c937620, 0x1f881: 0x6caa6e20, 0x1f882: 0x6c916e20, 0x1f883: 0x6c938a20,\n\t0x1f884: 0x6c940e20, 0x1f885: 0x6c870420, 0x1f886: 0x6c935a20, 0x1f887: 0x6c84ee20,\n\t0x1f888: 0x6c871420, 0x1f889: 0x6c843a20, 0x1f88a: 0x6c855c20, 0x1f88b: 0x6c867820,\n\t0x1f88c: 0x6c867c20, 0x1f88d: 0x6c878420, 0x1f88e: 0x6ca6f220, 0x1f88f: 0x6c883620,\n\t0x1f890: 0x6c893820, 0x1f891: 0x6ca73420, 0x1f892: 0x6c881620, 0x1f893: 0x6c890620,\n\t0x1f894: 0x6c88c420, 0x1f895: 0x6ca6f620, 0x1f896: 0x6c891220, 0x1f897: 0x6c886820,\n\t0x1f898: 0x6ca73a20, 0x1f899: 0x6c881820, 0x1f89a: 0x6c87fa20, 0x1f89b: 0x6c892220,\n\t0x1f89c: 0x6c8abc20, 0x1f89d: 0x6c8abe20, 0x1f89e: 0x6d0e4220, 0x1f89f: 0x6c8af020,\n\t0x1f8a0: 0x6c8b1020, 0x1f8a1: 0x6cd76a20, 0x1f8a2: 0x6c881020, 0x1f8a3: 0x6ca75a20,\n\t0x1f8a4: 0x6ca72020, 0x1f8a5: 0x6c892020, 0x1f8a6: 0x6c888420, 0x1f8a7: 0x6c8b5420,\n\t0x1f8a8: 0x6c8e1820, 0x1f8a9: 0x6c8c9e20, 0x1f8aa: 0x6ca91020, 0x1f8ab: 0x6c8e1420,\n\t0x1f8ac: 0x6c87f420, 0x1f8ad: 0x6c8cbe20, 0x1f8ae: 0x6d1c8a20, 0x1f8af: 0x6c8cf620,\n\t0x1f8b0: 0x6c8cfa20, 0x1f8b1: 0x6c8d2420, 0x1f8b2: 0x6c8d2a20, 0x1f8b3: 0x6c8db620,\n\t0x1f8b4: 0x6c8e1220, 0x1f8b5: 0x6c858620, 0x1f8b6: 0x6c853820, 0x1f8b7: 0x6c854620,\n\t0x1f8b8: 0x6c86b420, 0x1f8b9: 0x6c363420, 0x1f8ba: 0x6c823620, 0x1f8bb: 0x6c89ec20,\n\t0x1f8bc: 0x6c8a0620, 0x1f8bd: 0x6ca7d020, 0x1f8be: 0x6c8a9420, 0x1f8bf: 0x6c822620,\n\t// Block 0x7e3, offset 0x1f8c0\n\t0x1f8c0: 0x6c8a1a20, 0x1f8c1: 0x6c8a2620, 0x1f8c2: 0x6c8a7220, 0x1f8c3: 0x6c8a1620,\n\t0x1f8c4: 0x6c8fb020, 0x1f8c5: 0x6d275420, 0x1f8c6: 0x6cc84c20, 0x1f8c7: 0x6c8e8020,\n\t0x1f8c8: 0x6c1e2020, 0x1f8c9: 0x6c8efa20, 0x1f8ca: 0x6c8e4a20, 0x1f8cb: 0x6c8e3620,\n\t0x1f8cc: 0x6c8e5020, 0x1f8cd: 0x6c8e4c20, 0x1f8ce: 0x6c8e5c20, 0x1f8cf: 0x6ca99020,\n\t0x1f8d0: 0x6c835420, 0x1f8d1: 0x6c8f2420, 0x1f8d2: 0x6c92a020, 0x1f8d3: 0x6c923020,\n\t0x1f8d4: 0x6c94e420, 0x1f8d5: 0x6c94f020, 0x1f8d6: 0x6c94f420, 0x1f8d7: 0x6c950e20,\n\t0x1f8d8: 0x6c93d020, 0x1f8d9: 0x6c862e20, 0x1f8da: 0x6c85ca20, 0x1f8db: 0x6c93d620,\n\t0x1f8dc: 0x6c8f9220, 0x1f8dd: 0x6c857620, 0x1f8de: 0x6c856e20, 0x1f8df: 0x6c93ae20,\n\t0x1f8e0: 0x6d16ba20, 0x1f8e1: 0x6c87d820, 0x1f8e2: 0x6c83bc20, 0x1f8e3: 0x6ca5c020,\n\t0x1f8e4: 0x6c851420, 0x1f8e5: 0x6c861220, 0x1f8e6: 0x6c844a20, 0x1f8e7: 0x6c852220,\n\t0x1f8e8: 0x6c87e220, 0x1f8e9: 0x6c84fc20, 0x1f8ea: 0x6c847e20, 0x1f8eb: 0x6ca68c20,\n\t0x1f8ec: 0x6ca6ac20, 0x1f8ed: 0x6c8c4420, 0x1f8ee: 0x6c8bde20, 0x1f8ef: 0x6c8be020,\n\t0x1f8f0: 0x6c8c7a20, 0x1f8f1: 0x6c8bca20, 0x1f8f2: 0x6c8c0c20, 0x1f8f3: 0x6c8c1020,\n\t0x1f8f4: 0x6c8ba020, 0x1f8f5: 0x6c8bb020, 0x1f8f6: 0x6c8bea20, 0x1f8f7: 0x6c856c20,\n\t0x1f8f8: 0x6c85f620, 0x1f8f9: 0x6c85f820, 0x1f8fa: 0x6d3c3420, 0x1f8fb: 0x6d358c20,\n\t0x1f8fc: 0x6cd42220, 0x1f8fd: 0x6cd03620, 0x1f8fe: 0x6c13d020, 0x1f8ff: 0x6c22b220,\n\t// Block 0x7e4, offset 0x1f900\n\t0x1f900: 0x6cbc9020, 0x1f901: 0x6c324420, 0x1f902: 0x6cde2e20, 0x1f903: 0x6ce13620,\n\t0x1f904: 0x6d2d1820, 0x1f905: 0x6c306420, 0x1f906: 0x6c066220, 0x1f907: 0x6c3efc20,\n\t0x1f908: 0x6d03ba20, 0x1f909: 0x6c67d620, 0x1f90a: 0x6c665220, 0x1f90b: 0x6c7e0420,\n\t0x1f90c: 0x6cf49020, 0x1f90d: 0x6c56a220, 0x1f90e: 0x43f41c20, 0x1f90f: 0x43f41e20,\n\t0x1f910: 0x6d37f420, 0x1f911: 0x43f42220, 0x1f912: 0x6cbe7a20, 0x1f913: 0x43f42620,\n\t0x1f914: 0x43f42820, 0x1f915: 0x6cf6b620, 0x1f916: 0x6d399820, 0x1f917: 0x6d173820,\n\t0x1f918: 0x6c84f420, 0x1f919: 0x6cd03a20, 0x1f91a: 0x6cfdbc20, 0x1f91b: 0x6c3e9c20,\n\t0x1f91c: 0x6c6e9220, 0x1f91d: 0x6c6dcc20, 0x1f91e: 0x6d221c20, 0x1f91f: 0x43f43e20,\n\t0x1f920: 0x6cc0c220, 0x1f921: 0x43f44220, 0x1f922: 0x6d39c620, 0x1f923: 0x43f44620,\n\t0x1f924: 0x43f44820, 0x1f925: 0x6d178420, 0x1f926: 0x6c30a620, 0x1f927: 0x43f44e20,\n\t0x1f928: 0x43f45020, 0x1f929: 0x43f45220, 0x1f92a: 0x6c395c20, 0x1f92b: 0x6cd8d420,\n\t0x1f92c: 0x6c496820, 0x1f92d: 0x6c520c20, 0x1f92e: 0x6c80a420, 0x1f92f: 0x6c868820,\n\t0x1f930: 0x6cf43220, 0x1f931: 0x6ccbb820, 0x1f932: 0x6c9dfe20, 0x1f933: 0x6c9e0c20,\n\t0x1f934: 0x6cbd7c20, 0x1f935: 0x6c068e20, 0x1f936: 0x6c509c20, 0x1f937: 0x6ce0a020,\n\t0x1f938: 0x6cb7ce20, 0x1f939: 0x6cb2ec20, 0x1f93a: 0x6ca16020, 0x1f93b: 0x6c135420,\n\t0x1f93c: 0x6c17fa20, 0x1f93d: 0x6c5b4c20, 0x1f93e: 0x6c765820, 0x1f93f: 0x6d2b8a20,\n\t// Block 0x7e5, offset 0x1f940\n\t0x1f940: 0x6c1a5420, 0x1f941: 0x6c9fa820, 0x1f942: 0x6c61a820, 0x1f943: 0x6cd55a20,\n\t0x1f944: 0x6c99ec20, 0x1f945: 0x6c4d3a20, 0x1f946: 0x6d3a6420, 0x1f947: 0x6c4ee620,\n\t0x1f948: 0x6d3a6e20, 0x1f949: 0x6d2ff420, 0x1f94a: 0x6d423c20, 0x1f94b: 0x6c06b020,\n\t0x1f94c: 0x6ccf3620, 0x1f94d: 0x6d34f820, 0x1f94e: 0x6cb58a20, 0x1f94f: 0x6d203020,\n\t0x1f950: 0x6d411420, 0x1f951: 0x6d3ac620, 0x1f952: 0x6c5dd420, 0x1f953: 0x6d316e20,\n\t0x1f954: 0x6c47c420, 0x1f955: 0x6ce84420, 0x1f956: 0x6c6af220, 0x1f957: 0x6c891220,\n\t0x1f958: 0x6c6d5220, 0x1f959: 0x6c38ca20, 0x1f95a: 0x6cd56220, 0x1f95b: 0x6d30d220,\n\t0x1f95c: 0x6c1e4020, 0x1f95d: 0x6c12c020, 0x1f95e: 0x6c12c020, 0x1f95f: 0x6d311420,\n\t0x1f960: 0x6c51d620, 0x1f961: 0x6cd36c20, 0x1f962: 0x6d134620, 0x1f963: 0x6c6cc220,\n\t0x1f964: 0x6c0d4a20, 0x1f965: 0x6d2bb620, 0x1f966: 0x6c21a420, 0x1f967: 0x6d178420,\n\t0x1f968: 0x6ca41420, 0x1f969: 0x6cfe0a20, 0x1f96a: 0x6cb21420, 0x1f96b: 0x6c5baa20,\n\t0x1f96c: 0x4885dc20, 0x1f96d: 0x6c496420,\n\t0x1f970: 0x6c0e0820, 0x1f971: 0x6c7bdc20, 0x1f972: 0x6cc2b220, 0x1f973: 0x6d03c620,\n\t0x1f974: 0x6c1ca820, 0x1f975: 0x6c627020, 0x1f976: 0x6d1e1820, 0x1f977: 0x6cce9420,\n\t0x1f978: 0x6c509c20, 0x1f979: 0x6ce21620, 0x1f97a: 0x6c5bbc20, 0x1f97b: 0x6cec3420,\n\t0x1f97c: 0x6d37f420, 0x1f97d: 0x6c3b8420, 0x1f97e: 0x6d0d4620, 0x1f97f: 0x6c077c20,\n\t// Block 0x7e6, offset 0x1f980\n\t0x1f980: 0x6c097420, 0x1f981: 0x6c226820, 0x1f982: 0x6c025020, 0x1f983: 0x6d182220,\n\t0x1f984: 0x6c112620, 0x1f985: 0x6d110c20, 0x1f986: 0x6cee0e20, 0x1f987: 0x6cd0ac20,\n\t0x1f988: 0x6d236a20, 0x1f989: 0x6d2b8a20, 0x1f98a: 0x6c02d820, 0x1f98b: 0x6c1a5420,\n\t0x1f98c: 0x6c279420, 0x1f98d: 0x6d212620, 0x1f98e: 0x6cd9b020, 0x1f98f: 0x6c0de620,\n\t0x1f990: 0x6c024020, 0x1f991: 0x6cbe7a20, 0x1f992: 0x6c80f820, 0x1f993: 0x6cee5220,\n\t0x1f994: 0x6d2f2220, 0x1f995: 0x6c271220, 0x1f996: 0x6ccbda20, 0x1f997: 0x6c8e4a20,\n\t0x1f998: 0x6d1a7020, 0x1f999: 0x6d3e4020, 0x1f99a: 0x6c4ee620, 0x1f99b: 0x6c6eb420,\n\t0x1f99c: 0x6d3a6e20, 0x1f99d: 0x6cbc0220, 0x1f99e: 0x6c74c820, 0x1f99f: 0x6c391620,\n\t0x1f9a0: 0x6d399820, 0x1f9a1: 0x6d325020, 0x1f9a2: 0x6c225020, 0x1f9a3: 0x6c578420,\n\t0x1f9a4: 0x6c492220, 0x1f9a5: 0x6cf16020, 0x1f9a6: 0x6d173820, 0x1f9a7: 0x6cd15e20,\n\t0x1f9a8: 0x6d344020, 0x1f9a9: 0x6c736420, 0x1f9aa: 0x6d311220, 0x1f9ab: 0x6ce4ba20,\n\t0x1f9ac: 0x6ce5cc20, 0x1f9ad: 0x6c6af220, 0x1f9ae: 0x6c832420, 0x1f9af: 0x6ce1c820,\n\t0x1f9b0: 0x6c891220, 0x1f9b1: 0x6cb2ac20, 0x1f9b2: 0x6d30d220, 0x1f9b3: 0x6c598420,\n\t0x1f9b4: 0x6c573420, 0x1f9b5: 0x6d276220, 0x1f9b6: 0x6cbb4c20, 0x1f9b7: 0x6c407e20,\n\t0x1f9b8: 0x6cd36c20, 0x1f9b9: 0x6c2e3820, 0x1f9ba: 0x6d39c620, 0x1f9bb: 0x6cbeb220,\n\t0x1f9bc: 0x6d134620, 0x1f9bd: 0x6cab0e20, 0x1f9be: 0x6d23f620, 0x1f9bf: 0x6c6cc220,\n\t// Block 0x7e7, offset 0x1f9c0\n\t0x1f9c0: 0x6c0bdc20, 0x1f9c1: 0x6d2bb620, 0x1f9c2: 0x6cd50820, 0x1f9c3: 0x6c1b5020,\n\t0x1f9c4: 0x6cd9e620, 0x1f9c5: 0x6d03f420, 0x1f9c6: 0x6d3a6220, 0x1f9c7: 0x6ca41420,\n\t0x1f9c8: 0x6c6e9220, 0x1f9c9: 0x6c046220, 0x1f9ca: 0x6cfe0a20, 0x1f9cb: 0x6c35b420,\n\t0x1f9cc: 0x6cb21420, 0x1f9cd: 0x6d320420, 0x1f9ce: 0x6c4a9620, 0x1f9cf: 0x48509420,\n\t0x1f9d0: 0x48508820, 0x1f9d1: 0x4867aa20, 0x1f9d2: 0x6c513820, 0x1f9d3: 0x6d008620,\n\t0x1f9d4: 0x6c6ad220, 0x1f9d5: 0x48a49220, 0x1f9d6: 0x6cba2c20, 0x1f9d7: 0x6c084620,\n\t0x1f9d8: 0x6c36f820, 0x1f9d9: 0x6cad1420,\n\t// Block 0x7e8, offset 0x1fa00\n\t0x1fa00: 0xf0001c1c, 0x1fa01: 0xf0001c1c, 0x1fa02: 0x00658c9c,\n\t0x1fa10: 0x2cd43683, 0x1fa11: 0x2d3f2883, 0x1fa12: 0x2cd6a083, 0x1fa13: 0xf0001c1c,\n\t0x1fa14: 0x2c37b483, 0x1fa15: 0x2c341683, 0x1fa16: 0x2c6b9883, 0x1fa17: 0x2ce45483,\n\t0x1fa18: 0x2c682283, 0x1fa19: 0x2d1d3483, 0x1fa1a: 0x2cf3c883, 0x1fa1b: 0x2c8a9483,\n\t0x1fa1c: 0x2cb97883, 0x1fa1d: 0x2c546483, 0x1fa1e: 0x2d292683, 0x1fa1f: 0x2d02dc83,\n\t0x1fa20: 0x2c1e5483, 0x1fa21: 0x2d37b683, 0x1fa22: 0x2cd0d283, 0x1fa23: 0x2c395083,\n\t0x1fa24: 0x2cd0dc83, 0x1fa25: 0x2c20b483, 0x1fa26: 0x2d0db483, 0x1fa27: 0x2ce7e683,\n\t0x1fa28: 0x2c103683, 0x1fa29: 0x2d13b683, 0x1fa2a: 0x2cc9f283, 0x1fa2b: 0x2d1f4083,\n\t0x1fa2c: 0x2d426083, 0x1fa2d: 0x2d378283, 0x1fa2e: 0x2d200883, 0x1fa2f: 0x2d350083,\n\t0x1fa30: 0x2d407e83, 0x1fa31: 0x2c26e083, 0x1fa32: 0x2c6d1a83, 0x1fa33: 0x2c796883,\n\t0x1fa34: 0x2c50b683, 0x1fa35: 0x2c97ba83, 0x1fa36: 0x2d1f9883, 0x1fa37: 0x2d266883,\n\t0x1fa38: 0x2ccf9a83, 0x1fa39: 0x2c438c83, 0x1fa3a: 0x2d1c6283,\n\t// Block 0x7e9, offset 0x1fa40\n\t0x1fa40: 0xe000b460, 0x1fa41: 0xe000b474, 0x1fa42: 0xe000b470, 0x1fa43: 0xe000b458,\n\t0x1fa44: 0xe000b46c, 0x1fa45: 0xe000b464, 0x1fa46: 0xe000b468, 0x1fa47: 0xe000b478,\n\t0x1fa48: 0xe000b45c,\n\t0x1fa50: 0x2c2a9083, 0x1fa51: 0x2c785283,\n\t// Block 0x7ea, offset 0x1fa80\n\t0x1fa80: 0x6c508820, 0x1fa81: 0x6cb4c820, 0x1fa83: 0x6cbc8c20,\n\t0x1fa85: 0x6c4d4c20,\n\t0x1fa89: 0x6cbf9020, 0x1fa8a: 0x6c126420,\n\t0x1fa8d: 0x6cd2ec20,\n\t0x1fa93: 0x6cd7ba20,\n\t0x1fa94: 0x6c73ca20,\n\t0x1fa9b: 0x6d22c020,\n\t0x1fa9d: 0x6c796620,\n\t0x1faa2: 0x6d3dfc20,\n\t0x1faa6: 0x6d03be20,\n\t0x1fab1: 0x6ca1fc20,\n\t0x1fab7: 0x6c5e9420,\n\t0x1fab8: 0x6d12d220, 0x1fab9: 0x6c755e20,\n\t0x1fabc: 0x6cb97c20, 0x1fabd: 0x6c922420,\n\t// Block 0x7eb, offset 0x1fac0\n\t0x1fac9: 0x6c1e5e20,\n\t0x1fad7: 0x6cd3d420,\n\t0x1fae0: 0x6cbd0220,\n\t0x1fae5: 0x6c40ce20,\n\t0x1faed: 0x6cb58e20,\n\t0x1faf7: 0x6c15c420,\n\t// Block 0x7ec, offset 0x1fb00\n\t0x1fb04: 0x6c582a20, 0x1fb06: 0x6d163620, 0x1fb07: 0x6d425e20,\n\t0x1fb08: 0x6c6a4a20,\n\t0x1fb11: 0x6d404420,\n\t0x1fb14: 0x6d3ed420,\n\t0x1fb1f: 0x6c6c2020,\n\t0x1fb22: 0x6cac1620,\n\t0x1fb24: 0x6c32ee20, 0x1fb25: 0x6c238220, 0x1fb27: 0x6cd08e20,\n\t0x1fb38: 0x6c59aa20,\n\t// Block 0x7ed, offset 0x1fb40\n\t0x1fb4a: 0x6d1abe20,\n\t0x1fb4c: 0x6c4bb820,\n\t0x1fb56: 0x6c6f3a20,\n\t0x1fb6b: 0x6ccfa220,\n\t0x1fb7a: 0x6c6fe220,\n\t// Block 0x7ee, offset 0x1fb80\n\t0x1fb85: 0x6d130c20,\n\t0x1fb89: 0x6c308c20,\n\t0x1fb8c: 0x6c73c020, 0x1fb8d: 0x6c6a4c20, 0x1fb8f: 0x6c2df020,\n\t0x1fb91: 0x6c73c220, 0x1fb92: 0x6c20ba20,\n\t0x1fb96: 0x6c8c9820,\n\t0x1fb9a: 0x6ce63e20,\n\t0x1fba3: 0x6c44aa20,\n\t0x1fbae: 0x6d0b7e20,\n\t0x1fbb1: 0x6d148020,\n\t0x1fbbf: 0x6cef1c20,\n\t// Block 0x7ef, offset 0x1fbc0\n\t0x1fbc2: 0x6c6a5820,\n\t0x1fbcc: 0x6d146a20,\n\t0x1fbd7: 0x6c2f3220,\n\t0x1fbda: 0x6cb59a20,\n\t0x1fbec: 0x6c05b020,\n\t0x1fbf1: 0x6d01a620,\n\t0x1fbf9: 0x6d2f3220,\n\t// Block 0x7f0, offset 0x1fc00\n\t0x1fc0c: 0x6d1daa20,\n\t0x1fc10: 0x6d073820,\n\t0x1fc19: 0x6c2f3820, 0x1fc1b: 0x6c280820,\n\t0x1fc1f: 0x6cf06220,\n\t0x1fc23: 0x6c488620,\n\t0x1fc29: 0x6c391220,\n\t0x1fc2e: 0x6ca0ba20,\n\t0x1fc31: 0x6cf56220, 0x1fc32: 0x6d0d3220,\n\t0x1fc35: 0x6ca5b820, 0x1fc36: 0x6c286020,\n\t// Block 0x7f1, offset 0x1fc40\n\t0x1fc4b: 0x6c281a20,\n\t0x1fc4f: 0x6ce1ac20,\n\t0x1fc52: 0x6c455620,\n\t0x1fc57: 0x6c7abc20,\n\t0x1fc58: 0x6c1f0420,\n\t0x1fc6f: 0x6cc25e20,\n\t0x1fc71: 0x6ca0be20, 0x1fc73: 0x6cd19220,\n\t0x1fc75: 0x6c41c620, 0x1fc77: 0x6cd0d820,\n\t// Block 0x7f2, offset 0x1fc80\n\t0x1fc81: 0x6ceaa020,\n\t0x1fc85: 0x6cd42c20,\n\t0x1fc8a: 0x6ca7e620,\n\t0x1fca4: 0x6d281a20, 0x1fca5: 0x6c489220,\n\t0x1fcac: 0x6cfe7e20, 0x1fcad: 0x6c814420,\n\t0x1fcb0: 0x6c286e20, 0x1fcb1: 0x6cdd0620,\n\t0x1fcb5: 0x6c988420, 0x1fcb6: 0x6d148220,\n\t0x1fcb8: 0x6ce26e20, 0x1fcba: 0x6c094020,\n\t// Block 0x7f3, offset 0x1fcc0\n\t0x1fcc2: 0x6cde3020,\n\t0x1fcd7: 0x6c95e420,\n\t0x1fce2: 0x6cf7d220, 0x1fce3: 0x6c5cb820,\n\t0x1fce4: 0x6c268e20, 0x1fce7: 0x6c722420,\n\t0x1fce9: 0x6c318c20,\n\t0x1fcec: 0x6c017c20,\n\t// Block 0x7f4, offset 0x1fd00\n\t0x1fd09: 0x6c9a8820,\n\t0x1fd0c: 0x6cc46c20, 0x1fd0e: 0x6c003820, 0x1fd0f: 0x6d22ec20,\n\t0x1fd12: 0x6c666620,\n\t0x1fd14: 0x6cb76620,\n\t0x1fd1f: 0x6c9fa220,\n\t0x1fd23: 0x6d391620,\n\t0x1fd24: 0x6d35ac20, 0x1fd25: 0x6d37ea20, 0x1fd26: 0x6ca4e220, 0x1fd27: 0x6c0e1a20,\n\t0x1fd29: 0x6d3bc020, 0x1fd2a: 0x6cd5be20, 0x1fd2b: 0x6d0a8420,\n\t0x1fd2c: 0x6c741e20, 0x1fd2d: 0x6cb9fe20,\n\t0x1fd30: 0x6c489a20, 0x1fd32: 0x6ce85220,\n\t0x1fd36: 0x6d1d3820, 0x1fd37: 0x6d35d620,\n\t0x1fd3e: 0x6c7c6620,\n\t// Block 0x7f5, offset 0x1fd40\n\t0x1fd46: 0x6c192620,\n\t0x1fd56: 0x6c88ec20, 0x1fd57: 0x6d0ae620,\n\t0x1fd5c: 0x6c4ce820, 0x1fd5d: 0x6c9e8e20, 0x1fd5e: 0x6ccf0e20, 0x1fd5f: 0x6d223620,\n\t0x1fd61: 0x6cd8b020, 0x1fd62: 0x6cda1220,\n\t0x1fd64: 0x6d35d820, 0x1fd67: 0x6cbc7c20,\n\t0x1fd69: 0x6c3fde20,\n\t0x1fd6c: 0x6c710a20, 0x1fd6d: 0x6c071e20, 0x1fd6f: 0x6c099220,\n\t0x1fd72: 0x6cdd6220,\n\t0x1fd75: 0x6cba0820, 0x1fd76: 0x6ca03220, 0x1fd77: 0x6c15b620,\n\t0x1fd7a: 0x6ccaa820, 0x1fd7b: 0x6c5ec020,\n\t// Block 0x7f6, offset 0x1fd80\n\t0x1fd95: 0x6c461620, 0x1fd96: 0x6cbf1e20,\n\t0x1fd9a: 0x6cc73820,\n\t0x1fd9e: 0x6cda1a20, 0x1fd9f: 0x6cda1e20,\n\t0x1fda0: 0x6d10f420,\n\t0x1fdaa: 0x6c1d6a20,\n\t0x1fdad: 0x6cd66620, 0x1fdae: 0x6d2ffa20, 0x1fdaf: 0x6c862420,\n\t0x1fdb0: 0x6c413e20, 0x1fdb1: 0x6cdbc620, 0x1fdb2: 0x6d2d7c20,\n\t0x1fdb4: 0x6d3c4220,\n\t0x1fdbd: 0x6c400820,\n\t// Block 0x7f7, offset 0x1fdc0\n\t0x1fdc3: 0x6c5ee020,\n\t0x1fdc4: 0x6c30b220,\n\t0x1fdd7: 0x6c5bd020,\n\t0x1fdda: 0x6c65a420, 0x1fddb: 0x6d0d9c20,\n\t0x1fddc: 0x6d364a20,\n\t0x1fde8: 0x6c9a5c20, 0x1fde9: 0x6d120e20, 0x1fdea: 0x6c2b3220, 0x1fdeb: 0x6d150e20,\n\t0x1fdef: 0x6c0cf220,\n\t0x1fdf2: 0x6cc1a220, 0x1fdf3: 0x6d181a20,\n\t0x1fdf5: 0x6d105420,\n\t0x1fdf9: 0x6d2c3e20,\n\t0x1fdfd: 0x6ccc6020,\n\t// Block 0x7f8, offset 0x1fe00\n\t0x1fe19: 0x6c7f1820,\n\t0x1fe2e: 0x6c746e20,\n\t0x1fe30: 0x6cb50620, 0x1fe33: 0x6d216a20,\n\t0x1fe36: 0x6d291820, 0x1fe37: 0x6cc98220,\n\t0x1fe38: 0x6ccb3a20, 0x1fe3b: 0x6c340420,\n\t0x1fe3f: 0x6c6b9e20,\n\t// Block 0x7f9, offset 0x1fe40\n\t0x1fe40: 0x6c782020, 0x1fe43: 0x6d265420,\n\t0x1fe47: 0x6c65ca20,\n\t0x1fe48: 0x6d113220,\n\t0x1fe53: 0x6cfaca20,\n\t0x1fe55: 0x6d000220, 0x1fe56: 0x6cbb9620,\n\t0x1fe5a: 0x6d23b820, 0x1fe5b: 0x6cc1ae20,\n\t0x1fe61: 0x6cfac820, 0x1fe62: 0x6c962020,\n\t0x1fe64: 0x6c4a0a20, 0x1fe67: 0x6c198620,\n\t0x1fe68: 0x6c209620, 0x1fe69: 0x6d155620, 0x1fe6b: 0x6d333020,\n\t0x1fe6d: 0x6d403020, 0x1fe6e: 0x6c335c20,\n\t0x1fe70: 0x6d2d3420,\n\t0x1fe7f: 0x6c3a6e20,\n\t// Block 0x7fa, offset 0x1fe80\n\t0x1fe80: 0x6d155820, 0x1fe81: 0x6c9b4420,\n\t0x1fe88: 0x6c0b0a20, 0x1fe89: 0x6c6b4020, 0x1fe8a: 0x6cd61820, 0x1fe8b: 0x6c8a2220,\n\t0x1fe8c: 0x6c08fa20, 0x1fe8d: 0x6cda7620,\n\t0x1fe91: 0x6c2ca220,\n\t0x1fea1: 0x6c076220, 0x1fea2: 0x6cf21220,\n\t0x1fea7: 0x6c9b6a20,\n\t0x1fea9: 0x6c15ea20,\n\t0x1feb5: 0x6c29f620,\n\t0x1feba: 0x6cb21c20, 0x1febb: 0x6c660820,\n\t0x1febc: 0x6c8c7420, 0x1febd: 0x6c4b9220, 0x1febe: 0x6cb54620, 0x1febf: 0x6c52dc20,\n\t// Block 0x7fb, offset 0x1fec0\n\t0x1fec3: 0x6c60e820,\n\t0x1fec4: 0x6d024e20, 0x1fec5: 0x6d330820, 0x1fec6: 0x6c15fa20,\n\t0x1fed0: 0x6d116c20, 0x1fed1: 0x6c160a20,\n\t0x1fed8: 0x6c2cee20, 0x1fed9: 0x6c1d6020, 0x1feda: 0x6ca56220, 0x1fedb: 0x6ca56420,\n\t0x1fede: 0x6d2d5420, 0x1fedf: 0x6c0b1e20,\n\t0x1fee1: 0x6c161020,\n\t0x1feea: 0x6cff5a20,\n\t0x1feef: 0x6c248620,\n\t0x1fef0: 0x6d02f620, 0x1fef1: 0x6c6e4420, 0x1fef2: 0x6cb96620,\n\t0x1fef4: 0x6cbe6820,\n\t0x1fef9: 0x6c475220,\n\t// Block 0x7fc, offset 0x1ff00\n\t0x1ff04: 0x6cf4b420,\n\t0x1ff1c: 0x6d25e420, 0x1ff1d: 0x6c0dde20,\n\t0x1ff22: 0x6cecde20,\n\t0x1ff30: 0x6ca7a620,\n\t0x1ff35: 0x6c891020,\n\t0x1ff38: 0x6cc53e20,\n\t0x1ff3e: 0x6c396e20, 0x1ff3f: 0x6c2b9420,\n\t// Block 0x7fd, offset 0x1ff40\n\t0x1ff4a: 0x6c5af820, 0x1ff4b: 0x6d190620,\n\t0x1ff4c: 0x6cfbbc20,\n\t0x1ff56: 0x6c800420, 0x1ff57: 0x6c40a020,\n\t0x1ff59: 0x6d04ae20,\n\t0x1ff5c: 0x6c897e20, 0x1ff5d: 0x6ce1a620, 0x1ff5e: 0x6c5fba20,\n\t0x1ff62: 0x6c6ba620, 0x1ff63: 0x6d2c1a20,\n\t0x1ff64: 0x6cd19420,\n\t0x1ff6a: 0x6cb59220, 0x1ff6b: 0x6c0b2c20,\n\t0x1ff6d: 0x6c802220, 0x1ff6e: 0x6c8c1a20,\n\t0x1ff76: 0x6d364c20, 0x1ff77: 0x6c09bc20,\n\t0x1ff78: 0x6cd17020,\n\t0x1ff7d: 0x6cd17a20, 0x1ff7f: 0x6cbdbc20,\n\t// Block 0x7fe, offset 0x1ff80\n\t0x1ff82: 0x6c0be620, 0x1ff83: 0x6cf55e20,\n\t0x1ff89: 0x6c733a20, 0x1ff8b: 0x6c5e8420,\n\t0x1ff8d: 0x6cf57620, 0x1ff8e: 0x6cbdc420,\n\t0x1ff91: 0x6c4d5620,\n\t0x1ff95: 0x6c94e220,\n\t0x1ffa0: 0x6d26b420,\n\t0x1ffa8: 0x6c880a20,\n\t0x1ffaf: 0x6c048e20,\n\t0x1ffb2: 0x6c526820,\n\t0x1ffb6: 0x6cb54020,\n\t0x1ffba: 0x6cb93820, 0x1ffbb: 0x6d337820,\n\t0x1ffbc: 0x6c991a20,\n\t// Block 0x7ff, offset 0x1ffc0\n\t0x1ffc1: 0x6c238020,\n\t0x1ffc4: 0x6ca30020,\n\t0x1ffca: 0x6ce6a820,\n\t0x1ffcc: 0x6d3f6e20,\n\t0x1ffd5: 0x6c6ed420, 0x1ffd6: 0x6d2f8620,\n\t0x1ffdf: 0x6ca71c20,\n\t0x1ffe0: 0x6c19e420, 0x1ffe3: 0x6cb86620,\n\t0x1ffe6: 0x6d236420, 0x1ffe7: 0x6c690020,\n\t0x1ffed: 0x6d2fda20,\n\t0x1fff3: 0x6c2b5020,\n\t0x1fff4: 0x6c6f3c20,\n\t0x1fff8: 0x6cdc0a20, 0x1fffb: 0x6d108220,\n\t0x1ffff: 0x6cedbe20,\n\t// Block 0x800, offset 0x20000\n\t0x20002: 0x6c89d820,\n\t0x20004: 0x6ce71220, 0x20006: 0x6c9bfc20,\n\t0x2000b: 0x6d1faa20,\n\t0x20013: 0x6cd7e020,\n\t0x2001b: 0x6c910820,\n\t0x2001f: 0x6d19f820,\n\t0x20025: 0x6c1d4420,\n\t0x2002b: 0x6c420020,\n\t0x2002c: 0x6c6f3820,\n\t0x20036: 0x6cbdf820, 0x20037: 0x6c6ef220,\n\t0x20039: 0x6d006e20,\n\t// Block 0x801, offset 0x20040\n\t0x20042: 0x6c51b820,\n\t0x20046: 0x6ce1ae20,\n\t0x20048: 0x6cc01220, 0x20049: 0x6d007420, 0x2004a: 0x6c6e5420, 0x2004b: 0x6ca71620,\n\t0x2004c: 0x6c6e5620, 0x2004f: 0x6c5fea20,\n\t0x20058: 0x6ce4de20, 0x2005a: 0x6c252220, 0x2005b: 0x6c2e7c20,\n\t0x2005d: 0x6cbea020,\n\t0x20065: 0x6cb2e620, 0x20066: 0x6cb29620,\n\t0x20068: 0x6c2e9020, 0x20069: 0x6c910420,\n\t0x20073: 0x6c88ba20,\n\t0x20074: 0x6c4e0a20, 0x20075: 0x6cacd620, 0x20076: 0x6ce0f020,\n\t0x2007a: 0x6d151020, 0x2007b: 0x6d081420,\n\t0x2007c: 0x6cddca20, 0x2007d: 0x6c8e6420, 0x2007e: 0x6cd6d220, 0x2007f: 0x6cd0a820,\n\t// Block 0x802, offset 0x20080\n\t0x20081: 0x6c10a020, 0x20082: 0x6cd9bc20,\n\t0x20085: 0x6cbd8c20, 0x20086: 0x6cd06620,\n\t0x2008a: 0x6ca9f420, 0x2008b: 0x6ce6de20,\n\t0x2008c: 0x6c677020,\n\t0x20095: 0x6cf6b820, 0x20096: 0x6d36fe20,\n\t0x2009d: 0x6c7f5e20, 0x2009e: 0x6c86be20, 0x2009f: 0x6c86c020,\n\t0x200a2: 0x6c519420, 0x200a3: 0x6c69cc20,\n\t0x200a5: 0x6d0d0a20, 0x200a7: 0x6cd49420,\n\t0x200aa: 0x6cd2a220,\n\t0x200b1: 0x6d31ae20, 0x200b3: 0x6d1e8620,\n\t0x200ba: 0x6cddc620, 0x200bb: 0x6cf39e20,\n\t// Block 0x803, offset 0x200c0\n\t0x200c1: 0x6c169620, 0x200c2: 0x6c238820,\n\t0x200c6: 0x6c720820,\n\t0x200ce: 0x6cd4a420,\n\t0x200d4: 0x6c6fe620, 0x200d5: 0x6ceef020,\n\t0x200de: 0x6c5db620,\n\t0x200e4: 0x6c6a2020,\n\t0x200ec: 0x6d2a4e20,\n\t0x200f6: 0x6cab7220,\n\t0x200fc: 0x6c488c20,\n\t// Block 0x804, offset 0x20100\n\t0x20103: 0x6c4fba20,\n\t0x20104: 0x6c84f620, 0x20105: 0x6d356c20, 0x20106: 0x6cfc7220,\n\t0x20109: 0x6c100c20, 0x2010a: 0x6c170020,\n\t0x20113: 0x6d274a20,\n\t0x20114: 0x6c510020,\n\t0x2011c: 0x6ce1e420,\n\t0x20120: 0x6c0c4a20,\n\t0x20125: 0x6c2da420, 0x20127: 0x6c37b620,\n\t0x20128: 0x6c6f3e20,\n\t0x2012d: 0x6c2c0a20, 0x2012e: 0x6d164420, 0x2012f: 0x6c7d4620,\n\t0x20131: 0x6d300a20, 0x20133: 0x6c7de420,\n\t0x20134: 0x6d384e20, 0x20135: 0x6c71ee20,\n\t0x20139: 0x6ccd6820, 0x2013a: 0x6ccc3820, 0x2013b: 0x6c2da820,\n\t0x2013c: 0x6c046c20, 0x2013d: 0x6c5e7420,\n\t// Block 0x805, offset 0x20140\n\t0x20140: 0x6d378620, 0x20143: 0x6d144e20,\n\t0x20145: 0x6c79b020, 0x20146: 0x6cf33e20,\n\t0x2014a: 0x6c436420, 0x2014b: 0x6c031220,\n\t0x2014e: 0x6c463620,\n\t0x20151: 0x6cfb2420, 0x20152: 0x6c484020, 0x20153: 0x6c8ef620,\n\t0x20154: 0x6c1b7620, 0x20155: 0x6c48c020, 0x20156: 0x6c1fdc20,\n\t0x20158: 0x6c83a020, 0x20159: 0x6c242a20, 0x2015a: 0x6cd63e20,\n\t0x20161: 0x6c08b620,\n\t0x20165: 0x6c0dbc20, 0x20166: 0x6c857820,\n\t0x20169: 0x6c6fae20, 0x2016a: 0x6ce54a20, 0x2016b: 0x6c347220,\n\t0x2016d: 0x6d0bde20, 0x2016e: 0x6cc28a20,\n\t0x20171: 0x6c8ac820, 0x20173: 0x6c787c20,\n\t0x20175: 0x6c449620, 0x20176: 0x6d312420,\n\t0x20178: 0x6c3b5820,\n\t// Block 0x806, offset 0x20180\n\t0x20181: 0x6d146e20, 0x20183: 0x6c6fd220,\n\t0x20184: 0x6d067c20, 0x20185: 0x6c68cc20,\n\t0x20188: 0x6c93cc20, 0x20189: 0x6c6fb020, 0x2018b: 0x6c1e1e20,\n\t0x2018e: 0x6cfc7e20,\n\t0x20190: 0x6c7b1620, 0x20191: 0x6c333e20,\n\t0x20196: 0x6c952e20, 0x20197: 0x6cf59a20,\n\t0x20198: 0x6cbe0820, 0x20199: 0x6c107420,\n\t0x201a4: 0x6cb84620,\n\t0x201b1: 0x6caf5020, 0x201b2: 0x6d0adc20, 0x201b3: 0x6c07da20,\n\t0x201b4: 0x6c4cb220, 0x201b5: 0x6c484c20,\n\t0x201b9: 0x6c710020,\n\t0x201bc: 0x6cb82420, 0x201be: 0x6c741020,\n\t// Block 0x807, offset 0x201c0\n\t0x201c4: 0x6c85c020,\n\t0x201d0: 0x6c570c20, 0x201d1: 0x6c683c20,\n\t0x201d8: 0x6cb84e20, 0x201da: 0x6d2c2620, 0x201db: 0x6cb82620,\n\t0x201dd: 0x6d304620, 0x201de: 0x6c139020, 0x201df: 0x6d1ce820,\n\t0x201e2: 0x6d0bee20,\n\t0x201e4: 0x6c1cc020,\n\t0x201e8: 0x6c1b9a20, 0x201ea: 0x6cec8620,\n\t0x201ec: 0x6cd9a620,\n\t0x201f2: 0x6c76cc20, 0x201f3: 0x6d255c20,\n\t0x201fd: 0x6c1d9c20, 0x201ff: 0x6cdd6420,\n\t// Block 0x808, offset 0x20200\n\t0x20200: 0x6ce85820, 0x20203: 0x6d305620,\n\t0x20204: 0x6ce2ee20, 0x20206: 0x6cf36820,\n\t0x20208: 0x6c264a20, 0x20209: 0x6c860820, 0x2020a: 0x6c139420,\n\t0x20215: 0x6cc66e20, 0x20216: 0x6c461820, 0x20217: 0x6cc3bc20,\n\t0x20219: 0x6c83ce20,\n\t0x2021e: 0x6ce1c620,\n\t0x20224: 0x6c860a20, 0x20227: 0x6c9c5c20,\n\t0x20229: 0x6c1c3020,\n\t0x2022c: 0x6c4bfa20, 0x2022d: 0x6c909420, 0x2022e: 0x6c209020, 0x2022f: 0x6cdd6e20,\n\t0x20230: 0x6c690420, 0x20231: 0x6c6d0c20,\n\t0x20235: 0x6c381620, 0x20236: 0x6d2cf620,\n\t0x2023e: 0x6c6d0e20, 0x2023f: 0x6c254220,\n\t// Block 0x809, offset 0x20240\n\t0x20242: 0x6c136c20, 0x20243: 0x6d420820,\n\t0x20245: 0x6d2fc420,\n\t0x20248: 0x6cb1c620, 0x20249: 0x6d2dfc20, 0x2024a: 0x6cf66420, 0x2024b: 0x6d121420,\n\t0x2024c: 0x6c3f7420, 0x2024d: 0x6c1cce20,\n\t0x20253: 0x6c254a20,\n\t0x20257: 0x6c486820,\n\t0x20263: 0x6c5f0020,\n\t0x20266: 0x6ccb3c20, 0x20267: 0x6d2d8e20,\n\t0x20268: 0x6c8e2420, 0x20269: 0x6ccb3e20, 0x2026a: 0x6d132220,\n\t0x20270: 0x6c70ba20,\n\t0x20276: 0x6ce87220,\n\t0x2027a: 0x6cc7c620, 0x2027b: 0x6d2af820,\n\t0x2027c: 0x6c589020,\n\t// Block 0x80a, offset 0x20280\n\t0x20281: 0x6cfc2820, 0x20283: 0x6cb91a20,\n\t0x20284: 0x6d2fdc20,\n\t0x2028b: 0x6c11b220,\n\t0x2028e: 0x6c7e1820, 0x2028f: 0x6c869a20,\n\t0x20290: 0x6cc76420,\n\t0x20294: 0x6c31c020, 0x20297: 0x6c8b3020,\n\t0x2029c: 0x6d1c0620, 0x2029d: 0x6c86c220,\n\t0x202a0: 0x6c31c620, 0x202a2: 0x6c8d8020,\n\t0x202aa: 0x6ceca220,\n\t0x202af: 0x6c2f1820,\n\t0x202b3: 0x6c6f4020,\n\t0x202b5: 0x6c855e20, 0x202b6: 0x6c7a1620, 0x202b7: 0x6c791e20,\n\t0x202b9: 0x6d31b220,\n\t// Block 0x80b, offset 0x202c0\n\t0x202c0: 0x6c51b420, 0x202c2: 0x6c091220,\n\t0x202c4: 0x6caf2820,\n\t0x202ca: 0x6c4f4820,\n\t0x202d1: 0x6d3d2820, 0x202d2: 0x6c332020,\n\t0x202d4: 0x6d16a420,\n\t0x202dc: 0x6c787e20, 0x202dd: 0x6d16a620, 0x202de: 0x6ca0dc20,\n\t0x202e1: 0x6c118a20, 0x202e3: 0x6c44ee20,\n\t0x202e4: 0x6c788820, 0x202e5: 0x6cd32a20,\n\t0x202ed: 0x6c8cc620, 0x202ee: 0x6c07dc20,\n\t0x202f1: 0x6c32b820,\n\t0x202f6: 0x6c72e020, 0x202f7: 0x6ca4e420,\n\t0x202f8: 0x6d3f0020, 0x202fb: 0x6d401e20,\n\t// Block 0x80c, offset 0x20300\n\t0x20303: 0x6ce0ea20,\n\t0x20306: 0x6cf9be20, 0x20307: 0x6c4ec020,\n\t0x2030c: 0x6c94a620, 0x2030d: 0x6cb99020,\n\t0x20313: 0x6ca12220,\n\t0x20314: 0x6cab3a20, 0x20315: 0x6c4fc820,\n\t0x20319: 0x6d2c3420, 0x2031a: 0x6c737020, 0x2031b: 0x6c23a020,\n\t0x20320: 0x6c864420, 0x20321: 0x6d2c4020, 0x20322: 0x6d1fdc20, 0x20323: 0x6c2d6c20,\n\t0x20324: 0x6c747820, 0x20325: 0x6c073a20,\n\t0x20329: 0x6d11bc20, 0x2032a: 0x6cb1c820,\n\t0x20331: 0x6c6d3620, 0x20332: 0x6c766c20, 0x20333: 0x6ccb4020,\n\t0x20334: 0x6d102c20, 0x20335: 0x6c6d3820,\n\t0x20339: 0x6c78dc20,\n\t// Block 0x80d, offset 0x20340\n\t0x20344: 0x6c14de20, 0x20347: 0x6ca74a20,\n\t0x20349: 0x6cedb020, 0x2034a: 0x6c942a20,\n\t0x20350: 0x6d277a20, 0x20351: 0x6d108420, 0x20352: 0x6c05a020,\n\t0x20355: 0x6c755220, 0x20356: 0x6d07fc20,\n\t0x20358: 0x6d385820,\n\t0x20360: 0x6c7ce820, 0x20361: 0x6c3cda20,\n\t0x2036a: 0x6cc17e20, 0x2036b: 0x6ccecc20,\n\t0x2036c: 0x6cdce420,\n\t0x20370: 0x6c316820, 0x20372: 0x6c7af820, 0x20373: 0x6cad8c20,\n\t0x2037a: 0x6c065020,\n\t0x2037e: 0x6c401620, 0x2037f: 0x6c700c20,\n\t// Block 0x80e, offset 0x20380\n\t0x20380: 0x6cc47c20,\n\t0x20384: 0x6c70ca20,\n\t0x2038a: 0x6cbf6a20,\n\t0x2038d: 0x6d38c220, 0x2038e: 0x6c577420, 0x2038f: 0x6c05e020,\n\t0x20395: 0x6d145c20, 0x20397: 0x6d148420,\n\t0x20398: 0x6d148620,\n\t0x2039d: 0x6c995020,\n\t0x203a6: 0x6cc86c20,\n\t0x203ab: 0x6c227c20,\n\t0x203ae: 0x6c4dca20,\n\t0x203b0: 0x6c238420,\n\t0x203b4: 0x6cf83a20,\n\t0x203b9: 0x6cc2b820, 0x203ba: 0x6ce56c20,\n\t0x203bc: 0x6c2e0c20, 0x203be: 0x6c4ddc20,\n\t// Block 0x80f, offset 0x203c0\n\t0x203c7: 0x6d12a620,\n\t0x203cd: 0x6c353420, 0x203ce: 0x6ceef820,\n\t0x203d0: 0x6c122e20, 0x203d1: 0x6c2e2620,\n\t0x203d5: 0x6c362620, 0x203d6: 0x6c2c6820,\n\t0x203d8: 0x6cdb9220, 0x203d9: 0x6cc30a20,\n\t0x203dc: 0x6c368020, 0x203dd: 0x6cab4420, 0x203de: 0x6d081c20,\n\t0x203e2: 0x6cf47820,\n\t0x203e6: 0x6d190820,\n\t0x203e8: 0x6ca1fa20,\n\t0x203f0: 0x6c549620,\n\t0x203f4: 0x6c4dde20,\n\t0x203ff: 0x6cd22820,\n\t// Block 0x810, offset 0x20400\n\t0x20403: 0x6cc96420,\n\t0x20408: 0x6c090820, 0x2040a: 0x6c4dcc20, 0x2040b: 0x6c6e4620,\n\t0x2040e: 0x6cbdfa20, 0x2040f: 0x6c25d420,\n\t0x20410: 0x6c22a620, 0x20412: 0x6c046e20,\n\t0x20417: 0x6c32f020,\n\t0x2041c: 0x6cf84220,\n\t0x20427: 0x6d33c020,\n\t0x20428: 0x6c949220, 0x2042a: 0x6c54b620, 0x2042b: 0x6c601420,\n\t0x2042c: 0x6c48c820,\n\t0x20432: 0x6cacd820,\n\t// Block 0x811, offset 0x20440\n\t0x20440: 0x6d39c220,\n\t0x20445: 0x6c08fc20, 0x20447: 0x6d21ae20,\n\t0x20452: 0x6cb6c220,\n\t0x20455: 0x6c50b420, 0x20456: 0x6c1ed420,\n\t0x20459: 0x6ccec220, 0x2045a: 0x6c1be020, 0x2045b: 0x6c0eac20,\n\t0x2045f: 0x6cc62420,\n\t0x20460: 0x6d1ef820,\n\t0x20464: 0x6ca39620,\n\t0x20469: 0x6c5b9420, 0x2046a: 0x6ce57620, 0x2046b: 0x6c04c220,\n\t0x20470: 0x6d057620,\n\t0x20474: 0x6d1f1020, 0x20475: 0x6c1c0620,\n\t0x2047f: 0x6c526220,\n\t// Block 0x812, offset 0x20480\n\t0x20483: 0x6cec7020,\n\t0x20486: 0x6d01ce20,\n\t0x2048a: 0x6c748c20,\n\t0x2048c: 0x6cdbec20, 0x2048d: 0x6cbe2c20, 0x2048e: 0x6d3bbc20,\n\t0x20495: 0x6c617620,\n\t0x20498: 0x6c091420, 0x2049a: 0x6cf59c20,\n\t0x204a0: 0x6c602820, 0x204a2: 0x6c75c620,\n\t0x204a5: 0x6c89ee20, 0x204a6: 0x6d1eb620,\n\t0x204ad: 0x6c70ea20,\n\t0x204b2: 0x6d266a20,\n\t0x204b5: 0x6c055e20,\n\t0x204b8: 0x6cafaa20, 0x204bb: 0x6d2b3820,\n\t0x204be: 0x6d165820, 0x204bf: 0x6c2bc820,\n\t// Block 0x813, offset 0x204c0\n\t0x204c2: 0x6cbc9220,\n\t0x204c4: 0x6cdd4c20, 0x204c6: 0x6c22ae20,\n\t0x204c8: 0x6d3aa220, 0x204c9: 0x6d267420,\n\t0x204cf: 0x6c682820,\n\t0x204d4: 0x6cd23e20, 0x204d7: 0x6d148820,\n\t0x204d8: 0x6cf99220,\n\t0x204e0: 0x6d254220,\n\t0x204e5: 0x6c4c6020, 0x204e7: 0x6c789020,\n\t0x204ea: 0x6c252420, 0x204eb: 0x6d171a20,\n\t0x204f5: 0x6c85c220, 0x204f7: 0x6c2d0c20,\n\t0x204fa: 0x6cf5d620,\n\t0x204ff: 0x6c09c020,\n\t// Block 0x814, offset 0x20500\n\t0x20502: 0x6c0b3420, 0x20503: 0x6c99ea20,\n\t0x20504: 0x6c85e420, 0x20507: 0x6cda1820,\n\t0x20510: 0x6c8e5620, 0x20511: 0x6c4b5420, 0x20512: 0x6c78b620,\n\t0x20517: 0x6d151220,\n\t0x20519: 0x6cf7f620, 0x2051a: 0x6d1a7c20,\n\t0x2051f: 0x6c78c020,\n\t0x20523: 0x6ccf6020,\n\t0x20527: 0x6cf2bc20,\n\t0x2052e: 0x6cb0b620,\n\t0x20536: 0x6d26dc20, 0x20537: 0x6c538020,\n\t0x2053a: 0x6c867220, 0x2053b: 0x6c405020,\n\t// Block 0x815, offset 0x20540\n\t0x20543: 0x6c74d620,\n\t0x20544: 0x6cfae820,\n\t0x20549: 0x6c2cf020,\n\t0x2054c: 0x6c878820,\n\t0x20553: 0x6ce83420,\n\t0x20558: 0x6c645820, 0x2055b: 0x6c041420,\n\t0x2055c: 0x6c2c0c20, 0x2055d: 0x6d2efc20,\n\t0x20563: 0x6d22bc20,\n\t0x20568: 0x6c333420,\n\t0x2056d: 0x6c115c20, 0x2056e: 0x6ce88620,\n\t0x20576: 0x6cdf9420, 0x20577: 0x6c5fee20,\n\t0x20578: 0x6cb59420, 0x20579: 0x6ccd7620, 0x2057a: 0x6ca6fa20,\n\t// Block 0x816, offset 0x20580\n\t0x20586: 0x6c498c20,\n\t0x20588: 0x6c08e420, 0x2058b: 0x6d037820,\n\t0x20593: 0x6d31fa20,\n\t0x20599: 0x6cc94a20, 0x2059b: 0x6ca0b820,\n\t0x2059d: 0x6c3dc420,\n\t0x205a2: 0x6ce1a820, 0x205a3: 0x6c055c20,\n\t0x205aa: 0x6c0c8a20,\n\t0x205ac: 0x6cf56620, 0x205ae: 0x6c6a5e20,\n\t0x205b6: 0x6c6cd220,\n\t0x205be: 0x6cb8b020,\n\t// Block 0x817, offset 0x205c0\n\t0x205c8: 0x6cd89820, 0x205c9: 0x6c6e1620, 0x205cb: 0x6c1b8820,\n\t0x205d7: 0x6c6e1c20,\n\t0x205e5: 0x6cdc3a20,\n\t0x205ef: 0x6d2bde20,\n\t0x205f0: 0x6c83e020,\n\t0x205f4: 0x6d3d0620,\n\t0x205f9: 0x6c0ba820,\n\t0x205ff: 0x6cea6220,\n\t// Block 0x818, offset 0x20600\n\t0x20603: 0x6c0a1820,\n\t0x20606: 0x6c3ac220,\n\t0x2060a: 0x6c2a8220,\n\t0x2060c: 0x6d3a2620,\n\t0x20611: 0x6c70dc20,\n\t0x20619: 0x6d15b020,\n\t0x2061c: 0x6d0b6420, 0x2061f: 0x6c1bd820,\n\t0x20620: 0x6c488e20, 0x20621: 0x6d34d020,\n\t0x20628: 0x6cc61620, 0x2062b: 0x6d1e8a20,\n\t0x2062d: 0x6c0ea820, 0x2062f: 0x6c611820,\n\t0x20630: 0x6cb23620, 0x20633: 0x6d1b9c20,\n\t0x20634: 0x6d0f4220, 0x20635: 0x6c98b420,\n\t0x2063d: 0x6c904e20, 0x2063e: 0x6ca2ca20, 0x2063f: 0x6cc9bc20,\n\t// Block 0x819, offset 0x20640\n\t0x20640: 0x6c1fda20, 0x20642: 0x6c221c20, 0x20643: 0x6cf41a20,\n\t0x20644: 0x6cc5ae20,\n\t0x20648: 0x6c272420, 0x20649: 0x6c5fc420, 0x2064b: 0x6d15b820,\n\t0x2064d: 0x6cc45e20,\n\t0x20650: 0x6c5d9820, 0x20651: 0x6c484220, 0x20653: 0x6d301020,\n\t0x20654: 0x6cb08220, 0x20657: 0x6d288220,\n\t0x20658: 0x6c04e020, 0x20659: 0x6c6a6a20,\n\t0x2065c: 0x6c53e220, 0x2065f: 0x6cfc7620,\n\t0x20660: 0x6c5a8820,\n\t0x20669: 0x6d2bc420, 0x2066a: 0x6c270820, 0x2066b: 0x6c436c20,\n\t0x2066d: 0x6cb08420, 0x2066f: 0x6cb14620,\n\t0x20670: 0x6cd23620, 0x20671: 0x6c898620, 0x20672: 0x6d267620, 0x20673: 0x6c565020,\n\t0x20674: 0x6c0b6a20, 0x20677: 0x6cc61e20,\n\t0x20679: 0x6cc62020,\n\t// Block 0x81a, offset 0x20680\n\t0x20684: 0x6d13c420, 0x20685: 0x6d338820, 0x20687: 0x6c6c2820,\n\t0x20688: 0x6cf22020, 0x20689: 0x6c173420, 0x2068b: 0x6cbf9a20,\n\t0x2068d: 0x6d3a5620, 0x2068f: 0x6d2c1c20,\n\t0x20690: 0x6cb34820, 0x20691: 0x6c019e20, 0x20693: 0x6c50c220,\n\t0x20695: 0x6c1e5620, 0x20696: 0x6d0c6020,\n\t0x2069a: 0x6cd31820, 0x2069b: 0x6c566020,\n\t0x2069c: 0x6c35dc20,\n\t0x206b4: 0x6cd24020,\n\t0x206b9: 0x6ceaaa20, 0x206ba: 0x6c272c20, 0x206bb: 0x6cec6a20,\n\t0x206bc: 0x6cb2f420, 0x206bd: 0x6cc6f420, 0x206be: 0x6c705220,\n\t// Block 0x81b, offset 0x206c0\n\t0x206c0: 0x6c0e4a20,\n\t0x206d0: 0x6d222820, 0x206d1: 0x6c30a220, 0x206d3: 0x6c4ace20,\n\t0x206d4: 0x6cd45420, 0x206d7: 0x6cdd0820,\n\t0x206d8: 0x6ca68220, 0x206d9: 0x6d385c20, 0x206da: 0x6c905220, 0x206db: 0x6c0dca20,\n\t0x206dc: 0x6d421420, 0x206dd: 0x6d12d620, 0x206de: 0x6cc4b420,\n\t0x206e0: 0x6c8cb220, 0x206e1: 0x6cc96c20,\n\t0x206e4: 0x6c82b820, 0x206e5: 0x6c35e820, 0x206e7: 0x6d381a20,\n\t0x206e8: 0x6c612820, 0x206eb: 0x6c35ea20,\n\t0x206ef: 0x6d428420,\n\t0x206f2: 0x6ca31820, 0x206f3: 0x6d27dc20,\n\t// Block 0x81c, offset 0x20700\n\t0x2070a: 0x6d016c20, 0x2070b: 0x6d418a20,\n\t0x2070c: 0x6cd5aa20, 0x2070d: 0x6c2fce20, 0x2070e: 0x6c384620, 0x2070f: 0x6cc58a20,\n\t0x20711: 0x6c051820, 0x20712: 0x6c4de020, 0x20713: 0x6c530a20,\n\t0x20714: 0x6d13d020, 0x20716: 0x6d13d220,\n\t0x20719: 0x6c77da20, 0x2071a: 0x6d16de20, 0x2071b: 0x6c5b1e20,\n\t0x2071c: 0x6d329020,\n\t0x2072e: 0x6c6e6220,\n\t0x20731: 0x6c43d220,\n\t0x20734: 0x6ca9fa20, 0x20735: 0x6cbca220, 0x20737: 0x6c2e7e20,\n\t0x20739: 0x6c61c420, 0x2073a: 0x6d171e20, 0x2073b: 0x6d14b620,\n\t0x2073d: 0x6c3e2c20, 0x2073e: 0x6cd77220, 0x2073f: 0x6cd77420,\n\t// Block 0x81d, offset 0x20740\n\t0x20740: 0x6d1e1e20, 0x20741: 0x6c78fe20, 0x20742: 0x6c573020, 0x20743: 0x6c53b620,\n\t0x20747: 0x6c50ec20,\n\t0x2074a: 0x6c509620, 0x2074b: 0x6cb9f820,\n\t0x2074c: 0x6cb85020, 0x2074e: 0x6cd8a620,\n\t0x20750: 0x6c051e20,\n\t0x2076c: 0x6c6d9e20, 0x2076d: 0x6c789220,\n\t0x20773: 0x6c001a20,\n\t0x20774: 0x6c908020, 0x20776: 0x6ce84820,\n\t0x20779: 0x6c207020,\n\t0x2077c: 0x6cd98620, 0x2077d: 0x6c19d620, 0x2077f: 0x6cee6a20,\n\t// Block 0x81e, offset 0x20780\n\t0x20782: 0x6caa5220,\n\t0x20784: 0x6c6fb620, 0x20787: 0x6c0d2c20,\n\t0x207a1: 0x6cffda20, 0x207a2: 0x6cd0f820, 0x207a3: 0x6c545020,\n\t0x207a6: 0x6d3ad020,\n\t0x207a8: 0x6c490e20, 0x207a9: 0x6c5eb220, 0x207ab: 0x6c61dc20,\n\t0x207ad: 0x6cf5da20, 0x207af: 0x6ccf3e20,\n\t0x207b0: 0x6cab7e20, 0x207b1: 0x6c553c20, 0x207b2: 0x6cde4220, 0x207b3: 0x6cff7c20,\n\t0x207b5: 0x6d2a7c20,\n\t0x207b8: 0x6c0fee20, 0x207b9: 0x6cb77820, 0x207ba: 0x6cebd620, 0x207bb: 0x6ceabe20,\n\t0x207bc: 0x6c2a0c20, 0x207be: 0x6ca33020,\n\t// Block 0x81f, offset 0x207c0\n\t0x207e0: 0x6d2cee20, 0x207e3: 0x6d0b9020,\n\t0x207e6: 0x6cf44020, 0x207e7: 0x6d31aa20,\n\t0x207e8: 0x6c2a8e20, 0x207e9: 0x6c509a20, 0x207eb: 0x6c01ea20,\n\t0x207ec: 0x6cafda20, 0x207ed: 0x6ccb2220, 0x207ee: 0x6c3bbc20, 0x207ef: 0x6c485420,\n\t0x207f3: 0x6cb35420,\n\t0x207f7: 0x6d088820,\n\t0x207f8: 0x6c4d9c20, 0x207f9: 0x6c427420, 0x207fa: 0x6c034620, 0x207fb: 0x6d3f7620,\n\t0x207fc: 0x6c9c0020, 0x207fe: 0x6c5dba20,\n\t// Block 0x820, offset 0x20800\n\t0x20827: 0x6c2cc220,\n\t0x20828: 0x6cf5dc20, 0x2082b: 0x6c26ee20,\n\t0x2082c: 0x6ca47a20,\n\t0x20830: 0x6c2dbe20, 0x20831: 0x6c95f820, 0x20832: 0x6c789e20,\n\t0x20837: 0x6d178e20,\n\t0x20838: 0x6c744420, 0x20839: 0x6c512420, 0x2083b: 0x6c602c20,\n\t0x2083e: 0x6c51c620, 0x2083f: 0x6ca82820,\n\t// Block 0x821, offset 0x20840\n\t0x20840: 0x6cc8f620, 0x20841: 0x6cb99220, 0x20842: 0x6c276c20, 0x20843: 0x6cce6c20,\n\t0x20844: 0x6c78ae20, 0x20845: 0x6d3a1220, 0x20847: 0x6cd1b820,\n\t0x20848: 0x6c93da20, 0x20849: 0x6c635c20, 0x2084a: 0x6cb10c20, 0x2084b: 0x6c546e20,\n\t0x2084c: 0x6c5ec420, 0x2084d: 0x6cde5420, 0x2084e: 0x6c1dac20, 0x2084f: 0x6cf29020,\n\t0x20850: 0x6c6e8020, 0x20851: 0x6cb30e20, 0x20852: 0x6d2cf220, 0x20853: 0x6d02d420,\n\t0x20856: 0x6c0b9420,\n\t0x20859: 0x6d06ce20,\n\t0x2085e: 0x6c471020, 0x2085f: 0x6c6be620,\n\t0x20862: 0x6cfb6a20,\n\t0x20878: 0x6c356420, 0x2087a: 0x6c0f0020, 0x2087b: 0x6cb15420,\n\t0x2087f: 0x6d28ea20,\n\t// Block 0x822, offset 0x20880\n\t0x20881: 0x6cac2420, 0x20882: 0x6ce85a20,\n\t0x20884: 0x6d1bb420,\n\t0x208ae: 0x6cfde220,\n\t0x208b1: 0x6caaf420, 0x208b2: 0x6c438e20, 0x208b3: 0x6c0f0220,\n\t0x208b4: 0x6d01a420,\n\t0x208b8: 0x6d315c20, 0x208b9: 0x6d214620, 0x208ba: 0x6ca6a420,\n\t// Block 0x823, offset 0x208c0\n\t0x208c0: 0x6d0a9220, 0x208c1: 0x6cec3620, 0x208c3: 0x6c021820,\n\t0x208c4: 0x6c4ece20, 0x208c5: 0x6c52b220, 0x208c6: 0x6c27e220,\n\t0x208c8: 0x6caac220, 0x208ca: 0x6c12b020, 0x208cb: 0x6c604820,\n\t0x208cc: 0x6ca5ae20, 0x208cd: 0x6d1e4020, 0x208ce: 0x6cfed220,\n\t0x208d0: 0x6c1faa20, 0x208d1: 0x6d121020, 0x208d3: 0x6c440220,\n\t0x208d4: 0x6ce0fc20, 0x208d5: 0x6c065220, 0x208d6: 0x6c15be20,\n\t0x208d8: 0x6d06ec20, 0x208db: 0x6c4d2020,\n\t0x208dd: 0x6c1db620, 0x208df: 0x6c65a620,\n\t0x208e0: 0x6d422620,\n\t0x208e4: 0x6cf0a420, 0x208e5: 0x6c265220, 0x208e6: 0x6caf6c20,\n\t// Block 0x824, offset 0x20900\n\t0x20910: 0x6c592c20, 0x20912: 0x6cf63a20,\n\t0x20914: 0x6cae4c20, 0x20915: 0x6c8e3420, 0x20916: 0x6ca24a20, 0x20917: 0x6c9ec620,\n\t0x20918: 0x6c812020, 0x20919: 0x6ce9fe20, 0x2091a: 0x6c048420,\n\t0x2091d: 0x6c439820, 0x2091f: 0x6c7aa020,\n\t0x20922: 0x6c636a20, 0x20923: 0x6c0e7c20,\n\t// Block 0x825, offset 0x20940\n\t0x2094d: 0x6c592e20, 0x2094f: 0x6d40c420,\n\t0x20950: 0x6c960e20,\n\t0x20957: 0x6c840a20,\n\t0x20959: 0x6c515620, 0x2095a: 0x6ca06220,\n\t0x2095c: 0x6cd72a20, 0x2095d: 0x6cd00420, 0x2095e: 0x6c777020, 0x2095f: 0x6c1c4020,\n\t0x20960: 0x6c8d3420, 0x20961: 0x6c95ba20,\n\t0x20964: 0x6d0dae20, 0x20965: 0x6d2fc620, 0x20966: 0x6c1fae20, 0x20967: 0x6c47ac20,\n\t0x20968: 0x6cbde020, 0x2096a: 0x6cdff220, 0x2096b: 0x6c3be220,\n\t0x2096c: 0x6ce8d220,\n\t0x20971: 0x6c8d3620,\n\t0x20974: 0x6c810820,\n\t// Block 0x826, offset 0x20980\n\t0x20996: 0x6c7fa620, 0x20997: 0x6d299220,\n\t0x20998: 0x6cf50820,\n\t0x2099d: 0x6c840c20, 0x2099e: 0x6c000a20, 0x2099f: 0x6c94b620,\n\t0x209a0: 0x6d353e20, 0x209a1: 0x6c1dc820, 0x209a2: 0x6c67f020,\n\t0x209a4: 0x6c64c620,\n\t0x209a9: 0x6c950020, 0x209aa: 0x6d153020,\n\t0x209ac: 0x6cce0820,\n\t0x209bb: 0x6c5f0220,\n\t// Block 0x827, offset 0x209c0\n\t0x209dc: 0x6d181e20, 0x209dd: 0x6ca8ea20,\n\t0x209e1: 0x6c5c0a20, 0x209e3: 0x6d2bf020,\n\t0x209e6: 0x6c4e6020,\n\t0x209e8: 0x6d1afa20, 0x209e9: 0x6c0a1a20, 0x209ea: 0x6c014620, 0x209eb: 0x6cf97220,\n\t0x209ec: 0x6ca60020,\n\t0x209f0: 0x6c2b3e20, 0x209f1: 0x6c65cc20, 0x209f2: 0x6cac6820,\n\t0x209f5: 0x6d23bc20, 0x209f6: 0x6c1fc620, 0x209f7: 0x6d289820,\n\t0x209f9: 0x6c13fc20, 0x209fb: 0x6d307620,\n\t0x209fc: 0x6ccb4220, 0x209fe: 0x6cae3620, 0x209ff: 0x6c472820,\n\t// Block 0x828, offset 0x20a00\n\t0x20a00: 0x6d307820,\n\t0x20a06: 0x6c842420, 0x20a07: 0x6c30be20,\n\t0x20a09: 0x6c1dd020, 0x20a0b: 0x6d419620,\n\t0x20a0c: 0x6cb39e20, 0x20a0f: 0x6ccefc20,\n\t0x20a10: 0x6c8fa220,\n\t0x20a22: 0x6cd5fe20,\n\t0x20a24: 0x6c6d3a20, 0x20a25: 0x6c8d4820,\n\t0x20a28: 0x6c774220, 0x20a29: 0x6c7e9220, 0x20a2b: 0x6d05cc20,\n\t0x20a2c: 0x6c6d3c20, 0x20a2e: 0x6c1fea20,\n\t0x20a32: 0x6d26de20,\n\t// Block 0x829, offset 0x20a40\n\t0x20a46: 0x6c971820, 0x20a47: 0x6d020820,\n\t0x20a48: 0x6c6f8620, 0x20a49: 0x6c627420, 0x20a4b: 0x6d26e820,\n\t0x20a4f: 0x6c64f220,\n\t0x20a51: 0x6c4e3020, 0x20a53: 0x6cc98a20,\n\t0x20a54: 0x6c5c2820, 0x20a55: 0x6cbc5a20, 0x20a57: 0x6ccb5220,\n\t0x20a58: 0x6d419a20, 0x20a5b: 0x6c91d620,\n\t0x20a5c: 0x6c57c420, 0x20a5d: 0x6c1e6820, 0x20a5e: 0x6ccd5c20, 0x20a5f: 0x6cf31220,\n\t0x20a60: 0x6c60a220, 0x20a61: 0x6d3d9620, 0x20a62: 0x6cfb8c20, 0x20a63: 0x6d141020,\n\t0x20a64: 0x6c4c8820, 0x20a65: 0x6c7d1c20,\n\t// Block 0x82a, offset 0x20a80\n\t0x20a91: 0x6d38a820,\n\t0x20a94: 0x6c929e20, 0x20a96: 0x6c0e9020, 0x20a97: 0x6cd28a20,\n\t0x20a98: 0x6d1d4a20, 0x20a99: 0x6c7a5c20,\n\t0x20ab9: 0x6d36d820, 0x20aba: 0x6d00e820,\n\t0x20abd: 0x6d135420, 0x20abe: 0x6c36b420, 0x20abf: 0x6c940420,\n\t// Block 0x82b, offset 0x20ac0\n\t0x20ac0: 0x6c4f1420, 0x20ac1: 0x6d135620,\n\t0x20ac6: 0x6c962c20, 0x20ac7: 0x6c21dc20,\n\t0x20ac8: 0x6c397020, 0x20ac9: 0x6d34a020, 0x20aca: 0x6d1d5020, 0x20acb: 0x6cf1f220,\n\t0x20acc: 0x6cebf220, 0x20acd: 0x6c00d620, 0x20ace: 0x6d21b020,\n\t0x20ad1: 0x6c571a20, 0x20ad3: 0x6c8b3220,\n\t0x20ad4: 0x6c6dd620, 0x20ad5: 0x6d28ca20,\n\t0x20ae7: 0x6d29e820,\n\t0x20ae8: 0x6c336420, 0x20aea: 0x6c629220,\n\t0x20aee: 0x6cf2a220,\n\t0x20af0: 0x6c60ba20, 0x20af1: 0x6cf6e420, 0x20af3: 0x6d2e8620,\n\t0x20af4: 0x6ce95c20,\n\t// Block 0x82c, offset 0x20b00\n\t0x20b0a: 0x6d21b220,\n\t0x20b0f: 0x6c8b4620,\n\t0x20b12: 0x6d372420, 0x20b13: 0x6cd20a20,\n\t0x20b15: 0x6c81c220, 0x20b16: 0x6c7f6020, 0x20b17: 0x6cf03620,\n\t0x20b18: 0x6cad7220, 0x20b19: 0x6c1b6220, 0x20b1a: 0x6d1d1420, 0x20b1b: 0x6c314020,\n\t0x20b1d: 0x6c314220, 0x20b1f: 0x6c067620,\n\t0x20b20: 0x6cbcf020, 0x20b21: 0x6cd62020, 0x20b23: 0x6d34a820,\n\t0x20b29: 0x6c8b4820, 0x20b2b: 0x6caed620,\n\t0x20b2d: 0x6d300620,\n\t0x20b3f: 0x6cab5a20,\n\t// Block 0x82d, offset 0x20b40\n\t0x20b42: 0x6d023c20, 0x20b43: 0x6c60d820,\n\t0x20b44: 0x6c7f6220, 0x20b45: 0x6d1cb020, 0x20b46: 0x6c134c20,\n\t0x20b56: 0x6c820020,\n\t0x20b5d: 0x6c952820,\n\t0x20b61: 0x6c8fbc20, 0x20b62: 0x6cf91020,\n\t0x20b66: 0x6c8c7620,\n\t0x20b69: 0x6c4aa020,\n\t0x20b73: 0x6d03b020,\n\t0x20b77: 0x6c848620,\n\t0x20b78: 0x6c221620,\n\t// Block 0x82e, offset 0x20b80\n\t0x20b87: 0x6cbebc20,\n\t0x20b91: 0x6c652e20, 0x20b92: 0x6c2a4420, 0x20b93: 0x6c661420,\n\t0x20b94: 0x6cbee820, 0x20b95: 0x6d026e20, 0x20b96: 0x6d1d5a20,\n\t0x20b9f: 0x6c4d0020,\n\t0x20ba1: 0x6d311820, 0x20ba2: 0x6ccf0420, 0x20ba3: 0x6c9c9a20,\n\t0x20ba4: 0x6c58ba20,\n\t0x20bb1: 0x6c248220, 0x20bb2: 0x6cc7e820, 0x20bb3: 0x6cc95a20,\n\t0x20bb4: 0x6c5e4620, 0x20bb5: 0x6d143420, 0x20bb7: 0x6c2b4e20,\n\t0x20bb9: 0x6c949e20, 0x20bbb: 0x6d193e20,\n\t// Block 0x82f, offset 0x20bc0\n\t0x20bc2: 0x6c100020, 0x20bc3: 0x6cad1820,\n\t0x20bc4: 0x6ce04220, 0x20bc5: 0x6c35a420, 0x20bc6: 0x6d29ee20, 0x20bc7: 0x6c23c420,\n\t0x20bd3: 0x6d2d0a20,\n\t0x20bd5: 0x6cf82620, 0x20bd6: 0x6c98b020,\n\t0x20bd8: 0x6c7eca20, 0x20bd9: 0x6d287820,\n\t0x20be1: 0x6c36e620,\n\t0x20be5: 0x6c2f0e20,\n\t0x20bed: 0x6c493c20,\n\t0x20bf1: 0x6c596620,\n\t0x20bf5: 0x6cd40620, 0x20bf6: 0x6c663220,\n\t0x20bf9: 0x6d2dce20, 0x20bfa: 0x6c610620, 0x20bfb: 0x6c596820,\n\t// Block 0x830, offset 0x20c00\n\t0x20c05: 0x6cedb220, 0x20c06: 0x6c95d820,\n\t0x20c0f: 0x6c315620,\n\t0x20c15: 0x6c893c20,\n\t0x20c23: 0x6ca7ea20,\n\t0x20c24: 0x6ca41c20, 0x20c25: 0x6c6fc820, 0x20c26: 0x6d266c20,\n\t0x20c29: 0x6d108820, 0x20c2a: 0x6c204c20,\n\t0x20c2e: 0x6c11cc20, 0x20c2f: 0x6c84f820,\n\t0x20c30: 0x6c33d420, 0x20c31: 0x6ca41e20, 0x20c32: 0x6ca42020,\n\t0x20c38: 0x6cc63820,\n\t0x20c3d: 0x6d267820,\n\t// Block 0x831, offset 0x20c40\n\t0x20c40: 0x6d1ee620, 0x20c42: 0x6d19a420,\n\t0x20c44: 0x6c4c5820,\n\t0x20c48: 0x6c295420,\n\t0x20c51: 0x6d312620, 0x20c52: 0x6c9c3c20, 0x20c53: 0x6c2e6820,\n\t0x20c56: 0x6d312820,\n\t0x20c5a: 0x6c7abe20,\n\t0x20c5c: 0x6c4de220, 0x20c5d: 0x6cd98020, 0x20c5e: 0x6c50d020, 0x20c5f: 0x6c5e9620,\n\t0x20c60: 0x6d302e20,\n\t0x20c64: 0x6c0dd620, 0x20c66: 0x6ceef220, 0x20c67: 0x6ce7d220,\n\t0x20c69: 0x6ce88c20,\n\t0x20c6c: 0x6c426e20, 0x20c6d: 0x6c908220, 0x20c6e: 0x6cc2c820, 0x20c6f: 0x6c5d2220,\n\t0x20c70: 0x6d3ba420, 0x20c71: 0x6cc3b220, 0x20c73: 0x6c533a20,\n\t0x20c75: 0x6c296020, 0x20c76: 0x6c510420, 0x20c77: 0x6cdf6e20,\n\t0x20c78: 0x6c48ca20, 0x20c7a: 0x6d230220,\n\t0x20c7c: 0x6d0baa20, 0x20c7f: 0x6cec8c20,\n\t// Block 0x832, offset 0x20c80\n\t0x20c80: 0x6cc43820,\n\t0x20c85: 0x6c744620, 0x20c86: 0x6cab3820,\n\t0x20c89: 0x6cc29c20, 0x20c8a: 0x6d347220,\n\t0x20c8d: 0x6c8d1820, 0x20c8e: 0x6cf37020, 0x20c8f: 0x6d033c20,\n\t0x20c90: 0x6c26ae20, 0x20c92: 0x6d24f220, 0x20c93: 0x6d261e20,\n\t0x20c97: 0x6ca13820,\n\t0x20c99: 0x6d1f5420,\n\t0x20c9e: 0x6cf45820,\n\t0x20ca0: 0x6d2ebe20, 0x20ca3: 0x6d07b820,\n\t0x20ca6: 0x6cc53c20, 0x20ca7: 0x6c4be220,\n\t0x20ca8: 0x6d23be20,\n\t0x20cae: 0x6cf9fc20, 0x20caf: 0x6c0b5220,\n\t0x20cb0: 0x6d1f7e20, 0x20cb2: 0x6d1a1420,\n\t0x20cb4: 0x6d083220, 0x20cb5: 0x6d1f8c20, 0x20cb6: 0x6c827a20,\n\t0x20cbc: 0x6ce6a620, 0x20cbf: 0x6d311a20,\n\t// Block 0x833, offset 0x20cc0\n\t0x20cc4: 0x6d292420, 0x20cc5: 0x6c40ba20, 0x20cc6: 0x6c7e5620,\n\t0x20cc9: 0x6cc39e20,\n\t0x20cce: 0x6c70ec20,\n\t0x20cd0: 0x6c20fa20, 0x20cd1: 0x6c263e20, 0x20cd2: 0x6cea3a20, 0x20cd3: 0x6c001220,\n\t0x20cd7: 0x6d3edc20,\n\t0x20cda: 0x6c59a620, 0x20cdb: 0x6d167c20,\n\t0x20ce9: 0x6c062e20, 0x20cea: 0x6c1afc20,\n\t0x20ced: 0x6cc63a20,\n\t0x20cf4: 0x6c913220, 0x20cf7: 0x6c6a6c20,\n\t0x20cf8: 0x6cd30a20, 0x20cfa: 0x6d413620,\n\t// Block 0x834, offset 0x20d00\n\t0x20d01: 0x6d167e20,\n\t0x20d04: 0x6c3bc820, 0x20d05: 0x6c3bca20,\n\t0x20d09: 0x6ca0c420,\n\t0x20d0d: 0x6cd59a20,\n\t0x20d1b: 0x6c023e20,\n\t0x20d1d: 0x6cb05620, 0x20d1e: 0x6cb27820, 0x20d1f: 0x6cb2f820,\n\t0x20d20: 0x6c639e20, 0x20d21: 0x6d38ca20, 0x20d23: 0x6cbf9e20,\n\t0x20d27: 0x6d1fa620,\n\t0x20d28: 0x6cdfd020, 0x20d2b: 0x6cc6f620,\n\t0x20d2d: 0x6c9d2020,\n\t0x20d36: 0x6d16ac20,\n\t0x20d38: 0x6cc6fc20, 0x20d3b: 0x6c8ace20,\n\t0x20d3c: 0x6cbf0220,\n\t// Block 0x835, offset 0x20d40\n\t0x20d59: 0x6c5b2020, 0x20d5a: 0x6c61a020,\n\t0x20d5f: 0x6c433a20,\n\t0x20d67: 0x6d1f0420,\n\t0x20d68: 0x6c138220, 0x20d69: 0x6c2a6020, 0x20d6a: 0x6d19ac20,\n\t0x20d6c: 0x6d22de20, 0x20d6d: 0x6c06fc20, 0x20d6f: 0x6c0ed020,\n\t// Block 0x836, offset 0x20d80\n\t0x20d94: 0x6cbb6820,\n\t0x20d9a: 0x6c141c20,\n\t0x20d9c: 0x6d02be20, 0x20d9e: 0x6c1b1420,\n\t0x20da3: 0x6d2a7220,\n\t0x20da4: 0x6c7c6020, 0x20da6: 0x6c3aa220,\n\t0x20da9: 0x6cddea20, 0x20daa: 0x6c48f420,\n\t0x20dad: 0x6c342620,\n\t0x20db2: 0x6c4a5420,\n\t0x20db4: 0x6d345020,\n\t// Block 0x837, offset 0x20dc0\n\t0x20dcc: 0x6c15a620, 0x20dcd: 0x6ca4ec20,\n\t0x20dd0: 0x6c553e20, 0x20dd2: 0x6ce21820,\n\t0x20de1: 0x6d175620,\n\t0x20de4: 0x6ca82a20, 0x20de5: 0x6d2d3e20, 0x20de6: 0x6c587220,\n\t0x20de8: 0x6c325620, 0x20dea: 0x6cb78620, 0x20deb: 0x6c12e420,\n\t0x20dee: 0x6c20cc20,\n\t0x20df2: 0x6c264e20,\n\t0x20df6: 0x6d361820, 0x20df7: 0x6c453020,\n\t0x20dfb: 0x6cf26e20,\n\t// Block 0x838, offset 0x20e00\n\t0x20e09: 0x6c325820,\n\t0x20e0d: 0x6c1b2420,\n\t0x20e11: 0x6c01be20, 0x20e12: 0x6c7df820,\n\t0x20e14: 0x6cf2e820,\n\t0x20e18: 0x6d1bb620, 0x20e1a: 0x6cb13e20,\n\t0x20e2b: 0x6d2c3020,\n\t0x20e2c: 0x6d3b6420, 0x20e2e: 0x6cdac420,\n\t0x20e33: 0x6ca6a620,\n\t0x20e3a: 0x6d3a1420, 0x20e3b: 0x6c14fe20,\n\t0x20e3e: 0x6c084020, 0x20e3f: 0x6ca5f220,\n\t// Block 0x839, offset 0x20e40\n\t0x20e40: 0x6d347420, 0x20e41: 0x6c5bd420,\n\t0x20e58: 0x6cfa3a20, 0x20e5a: 0x6d364e20, 0x20e5b: 0x6cf63c20,\n\t0x20e5e: 0x6c67aa20,\n\t0x20e69: 0x6c330220, 0x20e6a: 0x6c3d7c20,\n\t0x20e6d: 0x6c685c20, 0x20e6e: 0x6c176820, 0x20e6f: 0x6c045020,\n\t0x20e75: 0x6c8b1e20,\n\t0x20e7c: 0x6c025a20,\n\t// Block 0x83a, offset 0x20e80\n\t0x20e8b: 0x6d2a1620,\n\t0x20e8c: 0x6c1f6020, 0x20e8f: 0x6ceb8620,\n\t0x20e92: 0x6c4fd220, 0x20e93: 0x6c773620,\n\t0x20e94: 0x6d1a7e20, 0x20e96: 0x6cfcea20,\n\t0x20e9d: 0x6c401820, 0x20e9e: 0x6c0cb620,\n\t0x20ea0: 0x6c7c4020,\n\t0x20ea4: 0x6cbcde20, 0x20ea5: 0x6cc98420,\n\t0x20ebf: 0x6c266220,\n\t// Block 0x83b, offset 0x20ec0\n\t0x20ec0: 0x6d12b220,\n\t0x20ec4: 0x6d2f0820, 0x20ec6: 0x6c896420,\n\t0x20ec8: 0x6c332620,\n\t0x20ecd: 0x6c816620, 0x20ece: 0x6d09a620,\n\t0x20ed8: 0x6d36a420, 0x20eda: 0x6c7a5a20,\n\t0x20ede: 0x6cdc6a20, 0x20edf: 0x6cf2a020,\n\t0x20ee3: 0x6c7a5e20,\n\t0x20eef: 0x6c65d420,\n\t0x20ef6: 0x6c67ba20,\n\t0x20efb: 0x6d3caa20,\n\t0x20efd: 0x6cd6dc20, 0x20efe: 0x6d219c20,\n\t// Block 0x83c, offset 0x20f00\n\t0x20f01: 0x6cc98c20, 0x20f03: 0x6d23e620,\n\t0x20f04: 0x6c803a20,\n\t0x20f0a: 0x6d240620,\n\t0x20f0c: 0x6cba2820, 0x20f0d: 0x6c72a220, 0x20f0f: 0x6c8b3420,\n\t0x20f12: 0x6cd53e20, 0x20f13: 0x6cfd1a20,\n\t0x20f16: 0x6c415420,\n\t0x20f22: 0x6cdf4420,\n\t0x20f27: 0x6ce52220,\n\t0x20f2f: 0x6c9c1020,\n\t0x20f31: 0x6c2ba220, 0x20f33: 0x6c9ddc20,\n\t0x20f3e: 0x6c5afa20,\n\t// Block 0x83d, offset 0x20f40\n\t0x20f49: 0x6c351c20,\n\t0x20f4d: 0x6c8b4a20,\n\t0x20f52: 0x6c7f6820, 0x20f53: 0x6d1aa820,\n\t0x20f54: 0x6c804620, 0x20f56: 0x6c68a020,\n\t0x20f58: 0x6c5e2620,\n\t0x20f63: 0x6c4c4c20,\n\t0x20f66: 0x6d2e9420,\n\t0x20f6d: 0x6c9d0820,\n\t0x20f70: 0x6c7c5020,\n\t0x20f77: 0x6c352620,\n\t0x20f7f: 0x6d1ab020,\n\t// Block 0x83e, offset 0x20f80\n\t0x20f87: 0x6c836020,\n\t0x20f95: 0x6c462a20,\n\t0x20f9b: 0x6ce6ac20,\n\t0x20f9c: 0x6d10c820, 0x20f9e: 0x6cedf620,\n\t0x20fa3: 0x6c6aa020,\n\t0x20fa8: 0x6d04c220, 0x20faa: 0x6cd5c020,\n\t0x20fb1: 0x6cf08c20,\n\t0x20fb4: 0x6d236620,\n\t// Block 0x83f, offset 0x20fc0\n\t0x20fc1: 0x6d2da620,\n\t0x20fc9: 0x6c01ee20,\n\t0x20fcf: 0x6cca9a20,\n\t0x20fd0: 0x6c1e0c20, 0x20fd2: 0x6c7ae220,\n\t0x20fd6: 0x6c71a020, 0x20fd7: 0x6c4d5220,\n\t0x20fe2: 0x6c9e0420,\n\t0x20fe7: 0x6c4f9420,\n\t0x20fea: 0x6c1d9e20,\n\t0x20fee: 0x6c8d1a20,\n\t0x20ff0: 0x6d3f9620,\n\t// Block 0x840, offset 0x21000\n\t0x21009: 0x6c7d4820,\n\t0x2100c: 0x6d378c20, 0x2100e: 0x6d2f5420,\n\t0x21010: 0x6c2f2e20, 0x21011: 0x6c467420, 0x21012: 0x6d279620, 0x21013: 0x6c27c620,\n\t0x21014: 0x6caada20,\n\t0x2101b: 0x6c0dd820,\n\t0x2101d: 0x6cc47420, 0x2101e: 0x6c14c420,\n\t0x21022: 0x6cc70620, 0x21023: 0x6d19c820,\n\t0x21024: 0x6c14c620, 0x21027: 0x6d361a20,\n\t0x2102a: 0x6c48f820, 0x2102b: 0x6caabe20,\n\t0x2102c: 0x6ccfe420, 0x2102f: 0x6cdac620,\n\t0x21032: 0x6cf2b820, 0x21033: 0x6c1bb220,\n\t0x2103a: 0x6c9ee220, 0x2103b: 0x6d347e20,\n\t0x2103e: 0x6cb50a20,\n\t// Block 0x841, offset 0x21040\n\t0x21041: 0x6c465820,\n\t0x21046: 0x6c90fa20,\n\t0x21048: 0x6d3ea020,\n\t0x2104d: 0x6c293a20, 0x2104f: 0x6cfc6820,\n\t0x21051: 0x6cc77e20,\n\t0x21057: 0x6caefe20,\n\t0x2105e: 0x6cf56c20,\n\t0x21062: 0x6c7aba20,\n\t0x21064: 0x6c4b2620, 0x21065: 0x6c212e20, 0x21066: 0x6c6baa20,\n\t0x21072: 0x6c6bac20, 0x21073: 0x6cf57820,\n\t0x21075: 0x6c7a1a20, 0x21077: 0x6c46ec20,\n\t0x21078: 0x6d2cac20, 0x21079: 0x6c392620,\n\t0x2107c: 0x6d015a20,\n\t// Block 0x842, offset 0x21080\n\t0x2108d: 0x6c585e20, 0x2108f: 0x6ca79020,\n\t0x21090: 0x6cf85820,\n\t0x2109b: 0x6c240820,\n\t0x2109d: 0x6c4bba20,\n\t0x210a1: 0x6cf5b620,\n\t0x210a7: 0x6cb83620,\n\t0x210aa: 0x6c981c20,\n\t0x210ad: 0x6d303220,\n\t0x210b0: 0x6c734620,\n\t0x210b4: 0x6c0ca020,\n\t// Block 0x843, offset 0x210c0\n\t0x210c0: 0x6c0ca220,\n\t0x210c5: 0x6cc2d620,\n\t0x210cb: 0x6cf88620,\n\t0x210ce: 0x6c68f020,\n\t0x210d0: 0x6cc2ea20, 0x210d1: 0x6d352620, 0x210d2: 0x6ce46820, 0x210d3: 0x6c762a20,\n\t0x210d8: 0x6cca1a20, 0x210db: 0x6d3e4c20,\n\t0x210e3: 0x6c6adc20,\n\t0x210ea: 0x6c0cec20,\n\t0x210ec: 0x6c312c20, 0x210ed: 0x6d417620,\n\t0x210f6: 0x6d0db020,\n\t// Block 0x844, offset 0x21100\n\t0x21101: 0x6c0a1c20,\n\t0x21105: 0x6c7b0020, 0x21107: 0x6d0eb620,\n\t0x21108: 0x6cef3820, 0x2110a: 0x6c583420,\n\t0x2110c: 0x6c506420,\n\t0x21111: 0x6c45b820,\n\t0x21114: 0x6c9b5420, 0x21117: 0x6c82e420,\n\t0x21119: 0x6c2cae20, 0x2111b: 0x6c0e0220,\n\t0x2111c: 0x6c584420, 0x2111f: 0x6cebfe20,\n\t0x21120: 0x6c751420,\n\t0x21128: 0x6c1bda20,\n\t0x2112d: 0x6c030e20, 0x2112e: 0x6c6fa420,\n\t0x21137: 0x6c2c0e20,\n\t0x21139: 0x6d2f1c20, 0x2113b: 0x6c26e620,\n\t0x2113c: 0x6cd23820, 0x2113d: 0x6c501420,\n\t// Block 0x845, offset 0x21140\n\t0x2114c: 0x6d12c020,\n\t0x21157: 0x6c091a20,\n\t0x21158: 0x6cb05020, 0x21159: 0x6d118820,\n\t0x2115c: 0x6c2b1420, 0x2115d: 0x6c11ee20, 0x2115e: 0x6cb20220, 0x2115f: 0x6d268420,\n\t0x21160: 0x6cbc7820, 0x21161: 0x6caf3220,\n\t0x21175: 0x6ceb7020, 0x21176: 0x6d015c20,\n\t0x2117d: 0x6d12cc20,\n\t// Block 0x846, offset 0x21180\n\t0x21180: 0x6c392820, 0x21181: 0x6c484620, 0x21182: 0x6c566e20, 0x21183: 0x6cc7fa20,\n\t0x21189: 0x6cc4b620, 0x2118a: 0x6c3d2020, 0x2118b: 0x6c598020,\n\t0x2119a: 0x6cc79020,\n\t0x211a2: 0x6c993020,\n\t0x211a5: 0x6c32f620, 0x211a6: 0x6c5b9820, 0x211a7: 0x6cf85a20,\n\t0x211a8: 0x6d04bc20, 0x211ab: 0x6cc4b820,\n\t0x211ac: 0x6d13d620, 0x211af: 0x6d303420,\n\t0x211b1: 0x6c61c620, 0x211b2: 0x6c434020, 0x211b3: 0x6d203820,\n\t0x211b5: 0x6cb40620,\n\t// Block 0x847, offset 0x211c0\n\t0x211c8: 0x6c1f2220, 0x211c9: 0x6c240a20, 0x211ca: 0x6d303620, 0x211cb: 0x6ca79220,\n\t0x211cd: 0x6cbca620,\n\t0x211d0: 0x6c13d220, 0x211d2: 0x6ca79420, 0x211d3: 0x6cdbb620,\n\t0x211d9: 0x6c13d420, 0x211da: 0x6c19da20, 0x211db: 0x6d10e020,\n\t0x211dc: 0x6c324820, 0x211dd: 0x6cedc820, 0x211df: 0x6ca76220,\n\t0x211e0: 0x6c9c4420,\n\t0x211e6: 0x6caa1620, 0x211e7: 0x6cf87820,\n\t0x211e9: 0x6d109820, 0x211eb: 0x6c14c820,\n\t// Block 0x848, offset 0x21200\n\t0x21218: 0x6d018c20, 0x21219: 0x6c9ed420, 0x2121a: 0x6c796420,\n\t0x2121c: 0x6c243a20, 0x2121e: 0x6cd13620, 0x2121f: 0x6cacb620,\n\t0x21220: 0x6c569c20, 0x21222: 0x6c78b020, 0x21223: 0x6cfcc220,\n\t0x21225: 0x6c53fa20, 0x21226: 0x6cbf2020, 0x21227: 0x6d3f8220,\n\t0x2122a: 0x6c3e7420, 0x2122b: 0x6ca3be20,\n\t0x2122d: 0x6ca69e20, 0x2122f: 0x6c7a7a20,\n\t0x2123e: 0x6ca59820,\n\t// Block 0x849, offset 0x21240\n\t0x2124d: 0x6c439020,\n\t0x21251: 0x6c53fc20, 0x21253: 0x6c002620,\n\t0x21255: 0x6cd1ba20,\n\t0x2125e: 0x6d04d420, 0x2125f: 0x6c230e20,\n\t0x21260: 0x6c684420, 0x21262: 0x6d2c3220, 0x21263: 0x6cfebe20,\n\t0x21264: 0x6c88f820, 0x21265: 0x6cc24820,\n\t0x21268: 0x6ccd4420, 0x21269: 0x6d01c020, 0x2126b: 0x6c461c20,\n\t0x2126c: 0x6c9ed820, 0x2126d: 0x6c148020, 0x2126f: 0x6c371620,\n\t0x21273: 0x6c312220,\n\t// Block 0x84a, offset 0x21280\n\t0x21286: 0x6c79f020,\n\t0x2128a: 0x6ce58a20, 0x2128b: 0x6cd1cc20,\n\t0x2128f: 0x6cca7020,\n\t0x21292: 0x6c491a20,\n\t0x21296: 0x6c505620, 0x21297: 0x6d367c20,\n\t0x21298: 0x6d106620, 0x21299: 0x6ce70020, 0x2129a: 0x6c09ee20,\n\t0x2129c: 0x6ca06420, 0x2129e: 0x6c3ebe20,\n\t0x212a5: 0x6cbb1420,\n\t0x212b9: 0x6d367e20,\n\t0x212bc: 0x6cd9ca20, 0x212bf: 0x6ca7a020,\n\t// Block 0x84b, offset 0x212c0\n\t0x212c0: 0x6c738020, 0x212c2: 0x6d105620,\n\t0x212c4: 0x6c599e20,\n\t0x212c8: 0x6c080020, 0x212c9: 0x6ca06620, 0x212ca: 0x6c176a20,\n\t0x212ce: 0x6c93a420, 0x212cf: 0x6cce8220,\n\t0x212d0: 0x6c104220, 0x212d1: 0x6d2b8820, 0x212d2: 0x6cd81020,\n\t0x212d4: 0x6d41c420, 0x212d5: 0x6d265620, 0x212d6: 0x6d294c20, 0x212d7: 0x6c948e20,\n\t0x212e5: 0x6cc1b020,\n\t0x212fa: 0x6c9e9820,\n\t// Block 0x84c, offset 0x21300\n\t0x21300: 0x6d3bd820,\n\t0x21308: 0x6c297e20, 0x2130a: 0x6d250a20,\n\t0x21312: 0x6c71d220,\n\t0x21315: 0x6c5b6020, 0x21316: 0x6cb7d020,\n\t0x21318: 0x6d285220, 0x2131a: 0x6c97fe20,\n\t0x2131c: 0x6ca0aa20,\n\t0x21331: 0x6cb16220, 0x21333: 0x6c6d4a20,\n\t0x21339: 0x6d10b820,\n\t// Block 0x84d, offset 0x21340\n\t0x21340: 0x6c1c6820, 0x21341: 0x6ca6c620, 0x21342: 0x6cd9de20,\n\t0x21348: 0x6cd61a20, 0x2134b: 0x6cb16420,\n\t0x21354: 0x6c4f1620,\n\t0x21360: 0x6d10be20, 0x21362: 0x6ca56020,\n\t0x2136a: 0x6cd3f020,\n\t0x2136c: 0x6d251820, 0x2136e: 0x6c114c20, 0x2136f: 0x6c6b5220,\n\t0x21379: 0x6d023e20,\n\t0x2137d: 0x6d0cec20, 0x2137e: 0x6cff3620,\n\t// Block 0x84e, offset 0x21380\n\t0x2138b: 0x6d025020,\n\t0x2138c: 0x6c86ec20, 0x2138e: 0x6c397620,\n\t0x21397: 0x6d3b3c20,\n\t0x21399: 0x6ca37220, 0x2139b: 0x6d3bb620,\n\t0x2139e: 0x6c7c4c20,\n\t0x213a2: 0x6c957020,\n\t0x213ab: 0x6cb83220,\n\t0x213b6: 0x6ceca820,\n\t0x213bd: 0x6cd54c20, 0x213bf: 0x6c1a7c20,\n\t// Block 0x84f, offset 0x213c0\n\t0x213c1: 0x6d164620,\n\t0x213c6: 0x6c500820,\n\t0x213c8: 0x6c698220, 0x213cb: 0x6c5b8e20,\n\t0x213cd: 0x6cffce20, 0x213ce: 0x6c222020,\n\t0x213de: 0x6c61a220,\n\t0x213e6: 0x6ca62e20,\n\t0x213e8: 0x6ca63420, 0x213e9: 0x6ce3bc20,\n\t0x213f6: 0x6c724820,\n\t0x213f8: 0x6ca04220,\n\t0x213fd: 0x6c83d220, 0x213ff: 0x6d382c20,\n\t// Block 0x850, offset 0x21400\n\t0x21401: 0x6d06d420, 0x21403: 0x6cbf3820,\n\t0x21404: 0x6c3e9620, 0x21406: 0x6c0d7e20,\n\t0x2140a: 0x6c621620,\n\t0x2140d: 0x6cb5f420, 0x2140e: 0x6cf89c20,\n\t0x21414: 0x6c2ada20, 0x21415: 0x6c376020,\n\t0x2141b: 0x6cd53220,\n\t0x2141c: 0x6ce77820, 0x2141d: 0x6cff9620, 0x2141f: 0x6cb01c20,\n\t0x21428: 0x6c284020, 0x2142a: 0x6c60da20,\n\t0x21433: 0x6d002020,\n\t0x21437: 0x6c23ca20,\n\t0x2143b: 0x6c0d1c20,\n\t0x2143c: 0x6cc6f020,\n\t// Block 0x851, offset 0x21440\n\t0x2144d: 0x6c9e4a20,\n\t0x21452: 0x6c9e4c20,\n\t0x21454: 0x6cd49c20, 0x21455: 0x6cff6c20, 0x21456: 0x6c05e420, 0x21457: 0x6cec2220,\n\t0x21459: 0x6cad8020,\n\t0x21463: 0x6c410e20,\n\t0x21465: 0x6c549c20, 0x21466: 0x6c525420,\n\t0x21468: 0x6d39f220, 0x21469: 0x6c48c420,\n\t0x2146d: 0x6c4b3820,\n\t0x21479: 0x6c273e20,\n\t0x2147c: 0x6c0d2820, 0x2147d: 0x6c5a4420,\n\t// Block 0x852, offset 0x21480\n\t0x21480: 0x6c13d620,\n\t0x21484: 0x6cfa3420, 0x21485: 0x6c710220, 0x21487: 0x6d119a20,\n\t0x21496: 0x6c3bb620, 0x21497: 0x6d2a7420,\n\t0x2149b: 0x6c3c3020,\n\t0x214a2: 0x6c708020, 0x214a3: 0x6d230a20,\n\t0x214a9: 0x6c5cbe20,\n\t0x214b2: 0x6c6ab020, 0x214b3: 0x6d049020,\n\t0x214b5: 0x6ca3ba20,\n\t0x214bb: 0x6caa1820,\n\t0x214bd: 0x6cd13820, 0x214bf: 0x6d233420,\n\t// Block 0x853, offset 0x214c0\n\t0x214c2: 0x6c587620, 0x214c3: 0x6c450c20,\n\t0x214c4: 0x6ced1620, 0x214c6: 0x6ceb1e20, 0x214c7: 0x6cbb7820,\n\t0x214d8: 0x6d1b5220, 0x214da: 0x6c635e20,\n\t0x214e1: 0x6cdd7220, 0x214e3: 0x6c6ade20,\n\t0x214e4: 0x6cf64020, 0x214e5: 0x6cf25020,\n\t0x214e9: 0x6c986620,\n\t0x214f6: 0x6d0fbe20,\n\t0x214f8: 0x6d110820,\n\t0x214fd: 0x6c986c20, 0x214fe: 0x6cab3e20,\n\t// Block 0x854, offset 0x21500\n\t0x21501: 0x6c017020,\n\t0x21505: 0x6c910c20,\n\t0x21511: 0x6c366e20, 0x21512: 0x6d3f1e20,\n\t0x21517: 0x6c367020,\n\t0x21519: 0x6c01c820,\n\t0x2151e: 0x6c5de220,\n\t0x21520: 0x6c135220,\n\t0x21530: 0x6d049c20, 0x21531: 0x6c625e20, 0x21533: 0x6d424e20,\n\t0x21535: 0x6cb63620,\n\t0x2153a: 0x6d32ee20,\n\t// Block 0x855, offset 0x21540\n\t0x21540: 0x6c5f2e20, 0x21541: 0x6cb52e20, 0x21542: 0x6c732420, 0x21543: 0x6ca91c20,\n\t0x2155f: 0x6ccb7220,\n\t0x21565: 0x6c51fa20, 0x21566: 0x6cc72c20, 0x21567: 0x6cbdec20,\n\t0x2156c: 0x6c70de20, 0x2156f: 0x6c86ee20,\n\t0x21575: 0x6cd29020,\n\t0x21578: 0x6ca6da20, 0x21579: 0x6cfbc420, 0x2157a: 0x6c3dbc20,\n\t0x2157d: 0x6cc80820,\n\t// Block 0x856, offset 0x21580\n\t0x21581: 0x6d04ac20, 0x21582: 0x6c4ba220,\n\t0x21584: 0x6c62e020, 0x21586: 0x6c9bf820, 0x21587: 0x6c3dc020,\n\t0x21589: 0x6cc9ee20, 0x2158a: 0x6d247820, 0x2158b: 0x6c69de20,\n\t0x2158c: 0x6c9c2220, 0x2158d: 0x6c900e20, 0x2158e: 0x6cbb0020,\n\t0x21590: 0x6c9cc620, 0x21593: 0x6d15a420,\n\t0x21596: 0x6c4dc620, 0x21597: 0x6ca6e620,\n\t0x21598: 0x6c81ee20, 0x21599: 0x6ccbbe20,\n\t0x2159c: 0x6c8c4220, 0x2159e: 0x6d22c220,\n\t0x215a5: 0x6caab020,\n\t0x215ab: 0x6cf4c020,\n\t0x215af: 0x6c0b3620,\n\t0x215b2: 0x6c0b3820, 0x215b3: 0x6d079620,\n\t0x215b5: 0x6c649620,\n\t0x215b8: 0x6c0b3c20,\n\t// Block 0x857, offset 0x215c0\n\t0x215c2: 0x6c2a7a20,\n\t0x215c7: 0x6d3b8620,\n\t0x215cb: 0x6cc72020,\n\t0x215d0: 0x6cd69820,\n\t0x215d8: 0x6c631820, 0x215db: 0x6c5b4a20,\n\t0x215de: 0x6d2d5c20,\n\t0x215e2: 0x6c042e20, 0x215e3: 0x6c8ac420,\n\t0x215e5: 0x6d003820,\n\t0x215ed: 0x6c656c20, 0x215ee: 0x6cd44020,\n\t0x215f3: 0x6c77ba20,\n\t0x215f7: 0x6c490c20,\n\t0x215f8: 0x6c949420,\n\t0x215fe: 0x6caa1a20, 0x215ff: 0x6c16e820,\n\t// Block 0x858, offset 0x21600\n\t0x2160e: 0x6c895220,\n\t0x21619: 0x6ca3c620, 0x2161a: 0x6cc80020,\n\t0x2161e: 0x6d368020,\n\t0x21626: 0x6c128620,\n\t0x21630: 0x6c867420,\n\t0x2163b: 0x6c7fcc20,\n\t0x2163f: 0x6c14e220,\n\t// Block 0x859, offset 0x21640\n\t0x21641: 0x6cedba20,\n\t0x21644: 0x6c856620, 0x21647: 0x6cf49620,\n\t0x21648: 0x6cad4220, 0x21649: 0x6d200a20, 0x2164b: 0x6c415e20,\n\t0x2164f: 0x6c011420,\n\t0x21650: 0x6d04b420, 0x21651: 0x6cd70420, 0x21652: 0x6cc8aa20,\n\t0x21658: 0x6c04b620, 0x21659: 0x6d1eea20,\n\t0x21662: 0x6c5d6e20,\n\t0x21665: 0x6c5a9c20,\n\t0x21668: 0x6d428c20, 0x21669: 0x6cfe9820, 0x2166b: 0x6c9dba20,\n\t0x21670: 0x6c40d620, 0x21671: 0x6d25e220, 0x21673: 0x6c0ff020,\n\t0x21674: 0x6c17ba20, 0x21675: 0x6ce9e220, 0x21677: 0x6c0ff220,\n\t0x2167d: 0x6c40d820, 0x2167f: 0x6ce55820,\n\t// Block 0x85a, offset 0x21680\n\t0x21680: 0x6ca2dc20,\n\t0x21685: 0x6c556a20, 0x21686: 0x6ca83c20,\n\t0x2168b: 0x6c5b3e20,\n\t0x2168c: 0x6c90ea20, 0x2168e: 0x6ce35020,\n\t0x21690: 0x6cbc5420, 0x21691: 0x6cbbee20, 0x21692: 0x6d380620,\n\t0x21696: 0x6c2b4220,\n\t0x2169a: 0x6c8bd820,\n\t0x2169d: 0x6cc32c20, 0x2169e: 0x6d3b9a20,\n\t0x216a0: 0x6c828e20, 0x216a2: 0x6d013620,\n\t0x216a5: 0x6cc56220,\n\t0x216a8: 0x6c28f620, 0x216aa: 0x6c316020, 0x216ab: 0x6ca71420,\n\t0x216af: 0x6cd2ae20,\n\t0x216b2: 0x6cfb2020,\n\t0x216b9: 0x6d343820,\n\t0x216bd: 0x6c008820, 0x216be: 0x6c21f220, 0x216bf: 0x6cb42a20,\n\t// Block 0x85b, offset 0x216c0\n\t0x216c1: 0x6cd2b620,\n\t0x216c5: 0x6cc0de20, 0x216c6: 0x6cd55020, 0x216c7: 0x6c2cbe20,\n\t0x216c9: 0x6cffa420, 0x216ca: 0x6cd70a20,\n\t0x216cc: 0x6c586020,\n\t0x216d0: 0x6d149220, 0x216d1: 0x6c72dc20,\n\t0x216d4: 0x6d34fc20,\n\t0x216dc: 0x6d2f9e20,\n\t0x216e3: 0x6d06a220,\n\t0x216ef: 0x6c905a20,\n\t0x216f1: 0x6d3aca20, 0x216f3: 0x6cdd5620,\n\t0x216f7: 0x6c2e8020,\n\t0x216fa: 0x6cc18420,\n\t0x216fc: 0x6c78a220, 0x216fd: 0x6c54ba20, 0x216fe: 0x6c708220,\n\t// Block 0x85c, offset 0x21700\n\t0x21700: 0x6cbea420,\n\t0x2170d: 0x6c0dae20,\n\t0x21715: 0x6ce3f220, 0x21717: 0x6c744820,\n\t0x2171a: 0x6cc05a20,\n\t0x21723: 0x6c67e420,\n\t0x2172a: 0x6d282e20,\n\t0x2172d: 0x6c9a9a20, 0x2172e: 0x6caf6e20,\n\t0x21730: 0x6cc1a020,\n\t0x2173c: 0x6c9d5220, 0x2173f: 0x6ce3fe20,\n\t// Block 0x85d, offset 0x21740\n\t0x21742: 0x6c768c20,\n\t0x21744: 0x6c08e820, 0x21746: 0x6cc11c20,\n\t0x2174f: 0x6ce56620,\n\t0x21751: 0x6c1f6c20,\n\t0x21758: 0x6c714a20, 0x2175a: 0x6cf69620,\n\t0x2175e: 0x6c8c5e20,\n\t0x2176d: 0x6c1bca20, 0x2176e: 0x6c5f7e20,\n\t0x21774: 0x6c917a20,\n\t0x21778: 0x6c876220,\n\t0x2177e: 0x6c73c820,\n\t// Block 0x85e, offset 0x21780\n\t0x21785: 0x6d397c20, 0x21786: 0x6c921020,\n\t0x2178e: 0x6ca7f620,\n\t0x21794: 0x6cc2c020,\n\t0x217ad: 0x6d0b6820, 0x217af: 0x6c35c220,\n\t0x217b1: 0x6c564020,\n\t// Block 0x85f, offset 0x217c0\n\t0x217c0: 0x6c982620,\n\t0x217c9: 0x6cf4a020,\n\t0x217cc: 0x6c137620,\n\t0x217d1: 0x6cbd1820, 0x217d2: 0x6c6a6220, 0x217d3: 0x6c52f420,\n\t0x217d5: 0x6c27b620, 0x217d6: 0x6c371c20, 0x217d7: 0x6d2b3a20,\n\t0x217d8: 0x6c565220, 0x217d9: 0x6c020e20, 0x217da: 0x6c6bb220, 0x217db: 0x6c3faa20,\n\t0x217dc: 0x6d1e7020, 0x217de: 0x6c3c1a20,\n\t0x217ec: 0x6ca26620,\n\t0x217f6: 0x6ccb1620, 0x217f7: 0x6c238a20,\n\t0x217fb: 0x6c772220,\n\t// Block 0x860, offset 0x21800\n\t0x21802: 0x6d11ea20, 0x21803: 0x6c008c20,\n\t0x21804: 0x6c05a620, 0x21806: 0x6cb34c20,\n\t0x21808: 0x6cd2b820, 0x21809: 0x6c392a20, 0x2180b: 0x6c70f420,\n\t0x2180c: 0x6cafb420, 0x2180e: 0x6cf07420, 0x2180f: 0x6c7a2220,\n\t0x21810: 0x6cbc8620, 0x21811: 0x6c417220,\n\t0x21822: 0x6c7be220, 0x21823: 0x6cdc2420,\n\t0x21824: 0x6c07d620, 0x21825: 0x6c632820, 0x21826: 0x6d0b8020,\n\t0x2182a: 0x6c76fe20, 0x2182b: 0x6ca7f820,\n\t0x2182d: 0x6d03cc20, 0x2182f: 0x6cf85c20,\n\t0x21831: 0x6c8c4a20, 0x21832: 0x6c347e20,\n\t0x21834: 0x6c159a20,\n\t// Block 0x861, offset 0x21840\n\t0x21848: 0x6cd32e20, 0x2184b: 0x6c334020,\n\t0x2184d: 0x6c675020, 0x2184e: 0x6d222a20, 0x2184f: 0x6c922020,\n\t0x21850: 0x6c372020, 0x21853: 0x6c476420,\n\t0x21855: 0x6cefa020, 0x21856: 0x6c17d620, 0x21857: 0x6c590020,\n\t0x21858: 0x6c0ce220, 0x2185b: 0x6c4e9420,\n\t0x2185c: 0x6ce99e20, 0x2185d: 0x6ca32420, 0x2185e: 0x6cb6e620,\n\t0x21860: 0x6ce7e820, 0x21861: 0x6d24d220, 0x21862: 0x6cede020,\n\t0x21864: 0x6cf3b020, 0x21865: 0x6c434220,\n\t0x21868: 0x6c792e20, 0x2186a: 0x6d14ba20,\n\t0x21878: 0x6cfe9a20, 0x2187a: 0x6c4ae420, 0x2187b: 0x6d0b8c20,\n\t0x2187c: 0x6cdc2e20, 0x2187d: 0x6cd95420, 0x2187f: 0x6d3d3820,\n\t// Block 0x862, offset 0x21880\n\t0x21882: 0x6ce84a20, 0x21883: 0x6cfbf420,\n\t0x21888: 0x6d2b4420, 0x21889: 0x6c85c620,\n\t0x2188c: 0x6d3acc20, 0x2188e: 0x6c6aa220,\n\t0x21891: 0x6ce3e820,\n\t0x21894: 0x6d009c20, 0x21895: 0x6cbf1220, 0x21897: 0x6d0b9420,\n\t0x21898: 0x6c708620, 0x2189b: 0x6d1a5a20,\n\t0x2189c: 0x6d345220, 0x2189e: 0x6c76d020, 0x2189f: 0x6d3e2220,\n\t0x218a1: 0x6c77f420, 0x218a3: 0x6ca81220,\n\t0x218a4: 0x6cbb0620, 0x218a5: 0x6ced0220, 0x218a6: 0x6d2abc20,\n\t0x218a8: 0x6c708820, 0x218aa: 0x6d3f4220,\n\t// Block 0x863, offset 0x218c0\n\t0x218c4: 0x6d0b9620, 0x218c7: 0x6c8bae20,\n\t0x218c9: 0x6cb5c020,\n\t0x218ce: 0x6c5b3420,\n\t0x218d3: 0x6cb77a20,\n\t0x218d5: 0x6d0fa820, 0x218d6: 0x6cdc3620,\n\t0x218d8: 0x6cb6f220, 0x218d9: 0x6c4a5620,\n\t0x218e2: 0x6cbe1020, 0x218e3: 0x6c353e20,\n\t0x218e5: 0x6d429820,\n\t0x218e8: 0x6d2b4820, 0x218e9: 0x6cb77c20, 0x218ea: 0x6c602e20,\n\t0x218ec: 0x6ceb2020, 0x218ed: 0x6c2e9c20, 0x218ef: 0x6c5bbe20,\n\t0x218f0: 0x6c98e420, 0x218f2: 0x6d063e20,\n\t0x218f5: 0x6c53fe20, 0x218f6: 0x6d0d7c20, 0x218f7: 0x6cfdc220,\n\t0x218f8: 0x6c231020, 0x218f9: 0x6c555820,\n\t0x218fc: 0x6c01c020, 0x218fe: 0x6c0de420,\n\t// Block 0x864, offset 0x21900\n\t0x21907: 0x6c348e20,\n\t0x21910: 0x6d3a6a20, 0x21911: 0x6c2e9e20, 0x21912: 0x6d1ea220, 0x21913: 0x6cb6fa20,\n\t0x21914: 0x6cd26820, 0x21915: 0x6d099a20, 0x21916: 0x6d1ea420, 0x21917: 0x6c76ae20,\n\t0x21918: 0x6cbc2420, 0x2191b: 0x6cbab620,\n\t0x2191c: 0x6cae3e20, 0x2191f: 0x6cc2ee20,\n\t0x21921: 0x6d1c6e20,\n\t0x21927: 0x6ccbf220,\n\t0x2192b: 0x6ce1d020,\n\t0x2192d: 0x6c53c020, 0x2192e: 0x6cb06220, 0x2192f: 0x6d110a20,\n\t0x21934: 0x6ce8bc20, 0x21935: 0x6c148220, 0x21937: 0x6cfa3c20,\n\t0x21938: 0x6cb5f620, 0x2193a: 0x6cbf3a20,\n\t0x2193d: 0x6c6d1220,\n\t// Block 0x865, offset 0x21940\n\t0x21948: 0x6d316020,\n\t0x2194c: 0x6d39ae20, 0x2194e: 0x6cf64420,\n\t0x21950: 0x6cf22a20, 0x21951: 0x6d37f820,\n\t0x21955: 0x6cdc4420,\n\t0x21958: 0x6c781020, 0x21959: 0x6c7e0c20, 0x2195a: 0x6c777220,\n\t0x2195d: 0x6c176c20, 0x2195e: 0x6c09f020, 0x2195f: 0x6ca13a20,\n\t0x21960: 0x6d3b1220, 0x21961: 0x6c4edc20, 0x21962: 0x6d227820, 0x21963: 0x6d153220,\n\t0x21964: 0x6c966c20, 0x21967: 0x6cb7aa20,\n\t0x21968: 0x6c4c0020, 0x21969: 0x6c97e420, 0x2196a: 0x6c89f420, 0x2196b: 0x6c8bc020,\n\t0x2196c: 0x6d40c620, 0x2196d: 0x6c82cc20, 0x2196e: 0x6c56b220, 0x2196f: 0x6c209220,\n\t0x21970: 0x6cb7ac20, 0x21971: 0x6c824420,\n\t// Block 0x866, offset 0x21980\n\t0x21981: 0x6c1ac420, 0x21983: 0x6cb33020,\n\t0x21984: 0x6c2eca20,\n\t0x2198a: 0x6c82ce20,\n\t0x2198e: 0x6d160420,\n\t0x21993: 0x6c2d7620,\n\t0x21996: 0x6c33a420, 0x21997: 0x6c42d620,\n\t0x21998: 0x6c54f220, 0x2199a: 0x6cff0020, 0x2199b: 0x6c40ca20,\n\t0x2199c: 0x6cae8020,\n\t0x219ac: 0x6cd06a20,\n\t0x219b1: 0x6cef2a20,\n\t0x219bb: 0x6c335820,\n\t0x219bc: 0x6c177220, 0x219bd: 0x6d1b0420, 0x219be: 0x6c7b3a20, 0x219bf: 0x6c7a6020,\n\t// Block 0x867, offset 0x219c0\n\t0x219c1: 0x6d41ce20, 0x219c2: 0x6c47ca20,\n\t0x219c5: 0x6d285420, 0x219c6: 0x6d36da20,\n\t0x219c9: 0x6c629420, 0x219ca: 0x6c199020,\n\t0x219d6: 0x6d020e20,\n\t0x219db: 0x6d419e20,\n\t0x219dc: 0x6c017420, 0x219dd: 0x6c4fb220,\n\t0x219e0: 0x6cb36020, 0x219e2: 0x6c2b9820, 0x219e3: 0x6d135820,\n\t0x219e7: 0x6ca4c420,\n\t0x219f1: 0x6c6b4220, 0x219f2: 0x6c059220, 0x219f3: 0x6c804020,\n\t0x219f4: 0x6c124820, 0x219f6: 0x6c0a6620,\n\t0x219fb: 0x6d2e1a20,\n\t0x219fc: 0x6cb7e620,\n\t// Block 0x868, offset 0x21a00\n\t0x21a02: 0x6ca4c620,\n\t0x21a05: 0x6c940c20, 0x21a07: 0x6c7c0a20,\n\t0x21a09: 0x6ca08420, 0x21a0b: 0x6c82e620,\n\t0x21a0c: 0x6cad7420,\n\t0x21a12: 0x6c86c420, 0x21a13: 0x6c136420,\n\t0x21a15: 0x6c299820, 0x21a16: 0x6c82e820,\n\t0x21a19: 0x6c36cc20, 0x21a1b: 0x6c086020,\n\t0x21a1c: 0x6c74e820,\n\t0x21a25: 0x6d083420, 0x21a26: 0x6ca89420,\n\t0x21a28: 0x6c4d7c20,\n\t0x21a2e: 0x6cfc4220,\n\t0x21a30: 0x6c661620, 0x21a31: 0x6c9c9e20, 0x21a32: 0x6ca8a020,\n\t0x21a3b: 0x6c124a20,\n\t0x21a3c: 0x6cd97820, 0x21a3d: 0x6d2ba820, 0x21a3e: 0x6d194220,\n\t// Block 0x869, offset 0x21a40\n\t0x21a42: 0x6c1d3020,\n\t0x21a44: 0x6c125020,\n\t0x21a49: 0x6c830620, 0x21a4a: 0x6caad220, 0x21a4b: 0x6c876420,\n\t0x21a4e: 0x6c84ba20, 0x21a4f: 0x6c957220,\n\t0x21a53: 0x6ce18a20,\n\t0x21a56: 0x6ca8c420, 0x21a57: 0x6ca8c620,\n\t0x21a59: 0x6c5fae20, 0x21a5b: 0x6c831220,\n\t0x21a5d: 0x6ca48020,\n\t0x21a60: 0x6c8c1420, 0x21a61: 0x6c8dce20,\n\t0x21a64: 0x6cfbe220, 0x21a65: 0x6d24a820, 0x21a67: 0x6d28ec20,\n\t0x21a68: 0x6cc34a20, 0x21a69: 0x6c8ac020,\n\t0x21a6f: 0x6d22ce20,\n\t0x21a70: 0x6c597620,\n\t0x21a7a: 0x6ca4de20,\n\t0x21a7c: 0x6d0a7820, 0x21a7e: 0x6c711020, 0x21a7f: 0x6c5dbc20,\n\t// Block 0x86a, offset 0x21a80\n\t0x21a81: 0x6d179420,\n\t0x21a8a: 0x6cf71420, 0x21a8b: 0x6ccb8a20,\n\t0x21a8c: 0x6c697020, 0x21a8d: 0x6d1de020,\n\t0x21a95: 0x6cd18c20, 0x21a96: 0x6c6d8420, 0x21a97: 0x6ced6e20,\n\t0x21a98: 0x6d129e20, 0x21a99: 0x6c6f4420,\n\t0x21a9c: 0x6c45d020,\n\t0x21aa1: 0x6c5aa020,\n\t0x21aaa: 0x6c37a420,\n\t0x21ab5: 0x6c4e7a20,\n\t0x21abc: 0x6c3e3020,\n\t// Block 0x86b, offset 0x21ac0\n\t0x21ac0: 0x6c3e4a20, 0x21ac1: 0x6d3d4a20, 0x21ac2: 0x6c5eb620,\n\t0x21acf: 0x6c053a20,\n\t0x21ad2: 0x6cb56620, 0x21ad3: 0x6cd2a620,\n\t0x21ad5: 0x6c2df420, 0x21ad6: 0x6cadfa20, 0x21ad7: 0x6cfbe420,\n\t0x21ad8: 0x6cc9f620,\n\t0x21add: 0x6c169220, 0x21ade: 0x6d264620,\n\t0x21ae0: 0x6c455820, 0x21ae2: 0x6cf34220,\n\t0x21ae4: 0x6c3b0a20, 0x21ae7: 0x6c159020,\n\t0x21ae9: 0x6ca58420, 0x21aea: 0x6c73d820,\n\t0x21aec: 0x6d2f8220, 0x21aee: 0x6cb96c20,\n\t0x21af1: 0x6c029820,\n\t0x21af6: 0x6cedf820, 0x21af7: 0x6d379020,\n\t0x21af9: 0x6c597820, 0x21afb: 0x6c106620,\n\t0x21afc: 0x6d3a5a20, 0x21afd: 0x6c092e20, 0x21afe: 0x6c173620, 0x21aff: 0x6d328620,\n\t// Block 0x86c, offset 0x21b00\n\t0x21b00: 0x6c3de620, 0x21b01: 0x6c79b820, 0x21b03: 0x6d422c20,\n\t0x21b04: 0x6d086c20, 0x21b06: 0x6c3fb220,\n\t0x21b0a: 0x6d118a20,\n\t0x21b0d: 0x6c0e4e20, 0x21b0f: 0x6c06e220,\n\t0x21b10: 0x6d007c20, 0x21b11: 0x6cd33020, 0x21b12: 0x6d149620,\n\t0x21b14: 0x6c531020, 0x21b15: 0x6c251c20, 0x21b17: 0x6d16e620,\n\t0x21b18: 0x6d3b7620,\n\t0x21b1d: 0x6c1bf620,\n\t0x21b24: 0x6cb2fe20,\n\t0x21b28: 0x6d1a3a20,\n\t0x21b31: 0x6d260a20,\n\t0x21b36: 0x6c6edc20,\n\t0x21b39: 0x6c995c20, 0x21b3a: 0x6cba4820,\n\t0x21b3c: 0x6d172420,\n\t// Block 0x86d, offset 0x21b40\n\t0x21b40: 0x6cf3b220,\n\t0x21b4d: 0x6c069820, 0x21b4e: 0x6c5dbe20, 0x21b4f: 0x6c239420,\n\t0x21b50: 0x6c797220,\n\t0x21b55: 0x6cde4820, 0x21b57: 0x6c4ea620,\n\t0x21b58: 0x6cba4e20,\n\t0x21b5c: 0x6d345420,\n\t0x21b62: 0x6ccb2420,\n\t0x21b65: 0x6cb8d620, 0x21b66: 0x6c4cb420,\n\t0x21b69: 0x6c4bbe20,\n\t0x21b6c: 0x6c649820, 0x21b6d: 0x6d37b820, 0x21b6e: 0x6c9e2220, 0x21b6f: 0x6c4afa20,\n\t0x21b70: 0x6cd37e20, 0x21b71: 0x6ca1d220, 0x21b72: 0x6c363220, 0x21b73: 0x6c039e20,\n\t0x21b74: 0x6c7e7220,\n\t0x21b78: 0x6d392820, 0x21b7a: 0x6c603020,\n\t// Block 0x86e, offset 0x21b80\n\t0x21b80: 0x6d2a4a20,\n\t0x21b84: 0x6d2bd820, 0x21b85: 0x6d179820, 0x21b87: 0x6c468420,\n\t0x21b8a: 0x6c4a6e20, 0x21b8b: 0x6d1bc420,\n\t0x21b8c: 0x6ccc9820, 0x21b8d: 0x6c513420, 0x21b8e: 0x6c057820, 0x21b8f: 0x6ca12a20,\n\t0x21b90: 0x6c9b1e20, 0x21b93: 0x6cf4fe20,\n\t0x21b94: 0x6c277620, 0x21b97: 0x6c6f1620,\n\t0x21b9c: 0x6c4ed020, 0x21b9f: 0x6ce70220,\n\t0x21ba0: 0x6c79be20, 0x21ba1: 0x6c841220, 0x21ba2: 0x6d368220, 0x21ba3: 0x6c5bf420,\n\t0x21ba4: 0x6d296e20, 0x21ba6: 0x6c2dfc20, 0x21ba7: 0x6c244420,\n\t0x21bb1: 0x6d368420, 0x21bb3: 0x6c7adc20,\n\t0x21bb5: 0x6cfe4a20, 0x21bb6: 0x6c57ba20, 0x21bb7: 0x6c8a0c20,\n\t0x21bb8: 0x6c255620, 0x21bb9: 0x6cbb9a20, 0x21bba: 0x6c692420,\n\t0x21bbc: 0x6d05d020, 0x21bbd: 0x6c37da20, 0x21bbf: 0x6cead020,\n\t// Block 0x86f, offset 0x21bc0\n\t0x21bc0: 0x6ce00020, 0x21bc1: 0x6d36a820,\n\t0x21bc8: 0x6ca51020, 0x21bc9: 0x6c99ac20, 0x21bca: 0x6c2c8c20, 0x21bcb: 0x6c135820,\n\t0x21bce: 0x6c693a20, 0x21bcf: 0x6c884820,\n\t0x21bd1: 0x6ccc1820, 0x21bd2: 0x6c28aa20,\n\t0x21bd5: 0x6cdc6c20, 0x21bd6: 0x6c884a20, 0x21bd7: 0x6c4cf020,\n\t0x21bda: 0x6c0c7c20,\n\t0x21bdc: 0x6c22e220, 0x21bdd: 0x6c2d7e20, 0x21bde: 0x6c93fc20, 0x21bdf: 0x6ca64e20,\n\t0x21be0: 0x6d0dda20, 0x21be1: 0x6c7fbc20,\n\t0x21be4: 0x6c415620, 0x21be5: 0x6c1eb420,\n\t0x21be9: 0x6c0a8820, 0x21bea: 0x6d40ea20, 0x21beb: 0x6c5c6620,\n\t0x21bed: 0x6c7f4220, 0x21bee: 0x6cfbba20, 0x21bef: 0x6c3bfc20,\n\t0x21bf0: 0x6c520220,\n\t0x21bf9: 0x6d124020, 0x21bfa: 0x6d2e3220,\n\t0x21bfc: 0x6ca56620, 0x21bfe: 0x6c95d020,\n\t// Block 0x870, offset 0x21c00\n\t0x21c00: 0x6d25d620, 0x21c02: 0x6ca5ac20,\n\t0x21c09: 0x6cc58220,\n\t0x21c1c: 0x6c43e820, 0x21c1e: 0x6c65a820, 0x21c1f: 0x6cb2b420,\n\t0x21c23: 0x6c0d1620,\n\t0x21c26: 0x6c66d020,\n\t0x21c29: 0x6c0e2e20,\n\t0x21c2f: 0x6c9d1820,\n\t0x21c30: 0x6c563420,\n\t0x21c34: 0x6c2df220, 0x21c36: 0x6d1e8c20, 0x21c37: 0x6d108c20,\n\t0x21c38: 0x6c07d020, 0x21c3a: 0x6c189820, 0x21c3b: 0x6c5e8c20,\n\t0x21c3d: 0x6d108e20,\n\t// Block 0x871, offset 0x21c40\n\t0x21c47: 0x6c491020,\n\t0x21c48: 0x6d0e5e20,\n\t0x21c55: 0x6c1bc820, 0x21c57: 0x6ccc3a20,\n\t0x21c58: 0x6d0d3820, 0x21c59: 0x6d165e20, 0x21c5a: 0x6d166020, 0x21c5b: 0x6c17fc20,\n\t0x21c5e: 0x6c4e8220, 0x21c5f: 0x6c597420,\n\t0x21c64: 0x6cd71020, 0x21c65: 0x6cdc2220, 0x21c66: 0x6cc56820, 0x21c67: 0x6cdfcc20,\n\t0x21c68: 0x6d34e420, 0x21c6a: 0x6c391e20, 0x21c6b: 0x6c3cc620,\n\t0x21c70: 0x6cdfce20, 0x21c72: 0x6c9c3620, 0x21c73: 0x6cafb620,\n\t0x21c74: 0x6c106820, 0x21c75: 0x6ca30e20, 0x21c76: 0x6ce48220, 0x21c77: 0x6c036620,\n\t0x21c78: 0x6d16b020,\n\t// Block 0x872, offset 0x21c80\n\t0x21c82: 0x6d0d4820,\n\t0x21c84: 0x6ce54c20, 0x21c86: 0x6d10ce20, 0x21c87: 0x6cd04c20,\n\t0x21c88: 0x6c77dc20, 0x21c89: 0x6ce72420, 0x21c8b: 0x6d084420,\n\t0x21c93: 0x6d202820,\n\t0x21c95: 0x6c043a20,\n\t0x21c99: 0x6cf9a220, 0x21c9a: 0x6c938420, 0x21c9b: 0x6c7dce20,\n\t0x21c9c: 0x6d29d220, 0x21c9d: 0x6cc02c20,\n\t0x21ca0: 0x6c243020, 0x21ca1: 0x6d416a20, 0x21ca2: 0x6c90e020,\n\t0x21ca4: 0x6cf9a420,\n\t0x21caf: 0x6ccfca20,\n\t0x21cb2: 0x6cb43020,\n\t0x21cb4: 0x6c6da620, 0x21cb5: 0x6cbaae20, 0x21cb6: 0x6d175820,\n\t0x21cb8: 0x6ca81420, 0x21cb9: 0x6c32fc20, 0x21cbb: 0x6c6ab420,\n\t0x21cbc: 0x6cdc3820, 0x21cbd: 0x6d2e5820, 0x21cbe: 0x6c23e420,\n\t// Block 0x873, offset 0x21cc0\n\t0x21cc1: 0x6c07e420, 0x21cc2: 0x6c491220, 0x21cc3: 0x6ccf2a20,\n\t0x21cc5: 0x6c6cfe20, 0x21cc6: 0x6c2c3e20,\n\t0x21cd1: 0x6c27d220, 0x21cd3: 0x6ca3a220,\n\t0x21cd5: 0x6ca9fc20, 0x21cd7: 0x6c601820,\n\t0x21cd8: 0x6d0c8220, 0x21cda: 0x6caa2020,\n\t0x21cdc: 0x6c325a20, 0x21cdd: 0x6cf09020, 0x21cde: 0x6cb0f420,\n\t0x21ce2: 0x6c555a20,\n\t0x21ce4: 0x6c644020, 0x21ce5: 0x6d12ee20, 0x21ce6: 0x6c759220, 0x21ce7: 0x6c7f9c20,\n\t0x21ce8: 0x6c7e7420, 0x21ce9: 0x6d19de20,\n\t0x21ced: 0x6ce9a220,\n\t0x21cf5: 0x6ca4f620,\n\t0x21cfa: 0x6d411c20,\n\t0x21cff: 0x6c96c220,\n\t// Block 0x874, offset 0x21d00\n\t0x21d00: 0x6cd7f020, 0x21d01: 0x6d365420,\n\t0x21d04: 0x6c5ac020, 0x21d05: 0x6d3c8e20, 0x21d07: 0x6c5bd820,\n\t0x21d0d: 0x6c1e8c20, 0x21d0f: 0x6c182420,\n\t0x21d12: 0x6d04da20, 0x21d13: 0x6c7fa220,\n\t0x21d15: 0x6c232620, 0x21d16: 0x6cd0bc20, 0x21d17: 0x6ca13c20,\n\t0x21d18: 0x6d140220, 0x21d19: 0x6d111a20, 0x21d1a: 0x6cf7fa20, 0x21d1b: 0x6d419020,\n\t0x21d1c: 0x6c0e2820,\n\t0x21d27: 0x6d216c20,\n\t0x21d29: 0x6c927e20,\n\t0x21d2e: 0x6ce9b620, 0x21d2f: 0x6ceffe20,\n\t0x21d31: 0x6c3b8820, 0x21d32: 0x6cd06c20,\n\t0x21d3b: 0x6c8a0e20,\n\t// Block 0x875, offset 0x21d40\n\t0x21d42: 0x6cd56a20, 0x21d43: 0x6c284220,\n\t0x21d44: 0x6c732620, 0x21d45: 0x6d21a020, 0x21d46: 0x6d034a20, 0x21d47: 0x6d114220,\n\t0x21d48: 0x6cda5820,\n\t0x21d52: 0x6c5d8020,\n\t0x21d54: 0x6cb92220,\n\t0x21d5a: 0x6c967c20,\n\t0x21d5d: 0x6c767020,\n\t0x21d61: 0x6c91e620, 0x21d63: 0x6d1ebc20,\n\t0x21d6e: 0x6cfd2e20,\n\t0x21d79: 0x6cf40620, 0x21d7b: 0x6d1b2020,\n\t0x21d7c: 0x6cf72c20, 0x21d7f: 0x6d2d0820,\n\t// Block 0x876, offset 0x21d80\n\t0x21d80: 0x6d027020,\n\t0x21d84: 0x6cc1fa20,\n\t0x21d88: 0x6c84be20,\n\t0x21d8d: 0x6cb95820,\n\t0x21d94: 0x6c8dd020, 0x21d95: 0x6c947820,\n\t0x21d9a: 0x6c14b220,\n\t0x21da6: 0x6d334420,\n\t0x21da8: 0x6d0c8420,\n\t0x21db2: 0x6d1b3820, 0x21db3: 0x6c7c5c20,\n\t0x21db7: 0x6cc0d220,\n\t0x21db9: 0x6c3dd820, 0x21dbb: 0x6d22d420,\n\t// Block 0x877, offset 0x21dc0\n\t0x21dc1: 0x6cb57e20,\n\t0x21dc6: 0x6cb75620, 0x21dc7: 0x6c61a620,\n\t0x21dc8: 0x6d24ce20,\n\t0x21dce: 0x6c434420, 0x21dcf: 0x6c734820,\n\t0x21dd1: 0x6cb5a020, 0x21dd3: 0x6c411020,\n\t0x21dd5: 0x6cc37220,\n\t0x21dda: 0x6cf09220,\n\t0x21de7: 0x6d368620,\n\t0x21deb: 0x6c65ba20,\n\t0x21ded: 0x6cd8d620,\n\t0x21df0: 0x6d188c20, 0x21df1: 0x6cb91c20,\n\t0x21dfc: 0x6c856220, 0x21dff: 0x6d29ce20,\n\t// Block 0x878, offset 0x21e00\n\t0x21e00: 0x6d168020, 0x21e02: 0x6c110620, 0x21e03: 0x6d168220,\n\t0x21e04: 0x6c437220, 0x21e06: 0x6c2e6e20,\n\t0x21e08: 0x6d33a420, 0x21e09: 0x6d16ec20, 0x21e0b: 0x6d28fa20,\n\t0x21e0c: 0x6c275220, 0x21e0e: 0x6cdab220,\n\t0x21e14: 0x6c6b4420, 0x21e15: 0x6c193820, 0x21e16: 0x6cc1fc20,\n\t0x21e18: 0x6c4e7820, 0x21e19: 0x6cfb1e20,\n\t0x21e20: 0x6cc2ae20, 0x21e21: 0x6c6a5620,\n\t0x21e25: 0x6c733820,\n\t0x21e2a: 0x6c285c20,\n\t0x21e2d: 0x6c6c2420,\n\t0x21e34: 0x6c0da820, 0x21e35: 0x6c551a20,\n\t0x21e39: 0x6c73da20, 0x21e3b: 0x6d20b020,\n\t// Block 0x879, offset 0x21e40\n\t0x21e43: 0x6c84fa20,\n\t0x21e44: 0x6cbb0420, 0x21e45: 0x6cd70620, 0x21e46: 0x6c7a2420,\n\t0x21e48: 0x6d31b620,\n\t0x21e4d: 0x6c3de820, 0x21e4e: 0x6ccfac20,\n\t0x21e52: 0x6c20c020,\n\t0x21e55: 0x6ce72620, 0x21e57: 0x6d16ee20,\n\t0x21e59: 0x6d0f9220,\n\t0x21e5c: 0x6ceafa20, 0x21e5d: 0x6d385e20, 0x21e5e: 0x6c5ff220,\n\t0x21e64: 0x6d0a7a20, 0x21e66: 0x6cd05220, 0x21e67: 0x6d078820,\n\t0x21e6d: 0x6c8e4820, 0x21e6e: 0x6d24dc20, 0x21e6f: 0x6c554220,\n\t0x21e70: 0x6d334820, 0x21e73: 0x6cae6620,\n\t0x21e77: 0x6c742220,\n\t// Block 0x87a, offset 0x21e80\n\t0x21e82: 0x6d362020, 0x21e83: 0x6cb0f620,\n\t0x21e84: 0x6d261820, 0x21e86: 0x6c649a20,\n\t0x21e8a: 0x6cad0220,\n\t0x21e8e: 0x6d3bca20,\n\t0x21e90: 0x6cfb6e20, 0x21e92: 0x6c080220,\n\t0x21e94: 0x6c232820, 0x21e96: 0x6ca13e20,\n\t0x21e9a: 0x6c4c7420,\n\t0x21e9e: 0x6c1a3420, 0x21e9f: 0x6cbb9c20,\n\t0x21ea6: 0x6c0a4a20,\n\t0x21ea9: 0x6cbb4820, 0x21eab: 0x6d38aa20,\n\t0x21eb2: 0x6c38d020, 0x21eb3: 0x6c0cc420,\n\t0x21ebe: 0x6c0fa020, 0x21ebf: 0x6cc73220,\n\t// Block 0x87b, offset 0x21ec0\n\t0x21ec5: 0x6c2f8820, 0x21ec6: 0x6cc32e20, 0x21ec7: 0x6c703c20,\n\t0x21ec8: 0x6d117420,\n\t0x21ed3: 0x6cf98620,\n\t0x21ed6: 0x6d2a3e20,\n\t0x21edd: 0x6c27c820, 0x21edf: 0x6cf44420,\n\t0x21ee0: 0x6ceb1420, 0x21ee2: 0x6c54c820,\n\t0x21ee7: 0x6cf64620,\n\t0x21eec: 0x6c7f1a20, 0x21eee: 0x6c3a1620,\n\t0x21ef9: 0x6c55ec20,\n\t// Block 0x87c, offset 0x21f00\n\t0x21f06: 0x6cfa7220,\n\t0x21f09: 0x6ccd2c20,\n\t0x21f0d: 0x6c3a8420,\n\t0x21f10: 0x6c261820, 0x21f12: 0x6c3e3220,\n\t0x21f14: 0x6c1f3020,\n\t0x21f1d: 0x6c2fd020, 0x21f1e: 0x6c807020,\n\t0x21f29: 0x6cf7fc20,\n\t0x21f2f: 0x6c0c1420,\n\t0x21f30: 0x6d23e820, 0x21f31: 0x6cdc6e20, 0x21f32: 0x6cf80c20,\n\t0x21f37: 0x6cb3e620,\n\t0x21f3e: 0x6c697c20,\n\t// Block 0x87d, offset 0x21f40\n\t0x21f40: 0x6d166420, 0x21f43: 0x6cecb820,\n\t0x21f44: 0x6c611e20, 0x21f46: 0x6cecc620, 0x21f47: 0x6ce9f220,\n\t0x21f4b: 0x6c021020,\n\t0x21f4d: 0x6ce45820, 0x21f4e: 0x6c1b0020,\n\t0x21f52: 0x6cc46220,\n\t0x21f54: 0x6cc96820, 0x21f55: 0x6d1a2c20, 0x21f56: 0x6caf3420, 0x21f57: 0x6c228e20,\n\t0x21f58: 0x6ce71a20, 0x21f59: 0x6d1ace20,\n\t0x21f5c: 0x6c43c820, 0x21f5d: 0x6ce55020, 0x21f5e: 0x6d329620, 0x21f5f: 0x6d390c20,\n\t0x21f61: 0x6d149820, 0x21f62: 0x6c7ae420, 0x21f63: 0x6cd90c20,\n\t0x21f67: 0x6c2c2820,\n\t0x21f6c: 0x6d008820, 0x21f6e: 0x6cfe9e20, 0x21f6f: 0x6c4a1c20,\n\t0x21f70: 0x6ceb7420, 0x21f71: 0x6c3c3620, 0x21f72: 0x6cf3b420,\n\t0x21f75: 0x6d053220,\n\t0x21f7f: 0x6d1f1620,\n\t// Block 0x87e, offset 0x21f80\n\t0x21f81: 0x6c8ce020, 0x21f82: 0x6d0e6020,\n\t0x21f85: 0x6c2ff620, 0x21f86: 0x6cb77e20, 0x21f87: 0x6ce21a20,\n\t0x21f88: 0x6c4dfc20, 0x21f8a: 0x6c1b1c20, 0x21f8b: 0x6cd91820,\n\t0x21f91: 0x6cc35820,\n\t0x21f94: 0x6c4ea820,\n\t0x21f9f: 0x6cc77820,\n\t0x21fa0: 0x6cb78e20, 0x21fa1: 0x6c762c20, 0x21fa2: 0x6d211e20, 0x21fa3: 0x6c139a20,\n\t0x21fa4: 0x6c1a8220, 0x21fa5: 0x6d233a20, 0x21fa7: 0x6c0e2020,\n\t0x21fa9: 0x6c231220, 0x21faa: 0x6d39a420,\n\t0x21fac: 0x6d235420,\n\t0x21fb1: 0x6c744a20, 0x21fb2: 0x6c8f3620, 0x21fb3: 0x6ccab220,\n\t0x21fb4: 0x6d236820,\n\t// Block 0x87f, offset 0x21fc0\n\t0x21fc5: 0x6cd66820,\n\t0x21fcb: 0x6d262020,\n\t0x21fce: 0x6d2eba20,\n\t0x21fd1: 0x6cd66a20, 0x21fd3: 0x6c1ee420,\n\t0x21fd4: 0x6d2ec620, 0x21fd5: 0x6cca2020, 0x21fd6: 0x6cfabe20,\n\t0x21fd8: 0x6c24d820, 0x21fd9: 0x6c9bde20, 0x21fda: 0x6c2b7c20,\n\t0x21fde: 0x6d368820, 0x21fdf: 0x6c02de20,\n\t0x21fe6: 0x6d04e020,\n\t0x21fe8: 0x6cb11e20, 0x21fea: 0x6c69bc20, 0x21feb: 0x6c7b6c20,\n\t0x21fec: 0x6cc98620, 0x21fed: 0x6cfcf420, 0x21fee: 0x6d2cda20, 0x21fef: 0x6c2d7820,\n\t0x21ff7: 0x6d154420,\n\t0x21ffa: 0x6c5c2e20, 0x21ffb: 0x6ccda620,\n\t// Block 0x880, offset 0x22000\n\t0x22004: 0x6c1d2220, 0x22005: 0x6d156220, 0x22006: 0x6d021220, 0x22007: 0x6d36dc20,\n\t0x22008: 0x6ce5e020, 0x2200a: 0x6cb26c20, 0x2200b: 0x6cfbb020,\n\t0x2200e: 0x6cfadc20, 0x2200f: 0x6cdb4c20,\n\t0x22011: 0x6c24a020,\n\t0x22017: 0x6cd97220,\n\t0x2201b: 0x6c522820,\n\t0x2201d: 0x6cfd3a20, 0x2201f: 0x6d1f8e20,\n\t0x22021: 0x6d246420,\n\t0x22024: 0x6cdf5220, 0x22026: 0x6c751820, 0x22027: 0x6ca48220,\n\t0x22029: 0x6c2cba20, 0x2202b: 0x6d164820,\n\t0x2202c: 0x6c090620,\n\t0x22033: 0x6d056220,\n\t0x22034: 0x6d166820, 0x22035: 0x6cc81020, 0x22037: 0x6c455a20,\n\t0x2203a: 0x6d166a20,\n\t0x2203f: 0x6d356e20,\n\t// Block 0x881, offset 0x22040\n\t0x22040: 0x6d02a420, 0x22042: 0x6c617820,\n\t0x22044: 0x6cfa2c20,\n\t0x22048: 0x6d2f4e20, 0x22049: 0x6ca54620, 0x2204a: 0x6d015620,\n\t0x2204e: 0x6d168620,\n\t0x2206b: 0x6c3f3420,\n\t0x2206d: 0x6ccf3420, 0x2206f: 0x6d253c20,\n\t0x22070: 0x6c390420, 0x22072: 0x6c3d3c20, 0x22073: 0x6cf4a820,\n\t0x22074: 0x6cf57c20, 0x22075: 0x6c539c20,\n\t0x22079: 0x6c618220, 0x2207a: 0x6c170420,\n\t0x2207f: 0x6ca0ca20,\n\t// Block 0x882, offset 0x22080\n\t0x22080: 0x6cae0820, 0x22083: 0x6ca20e20,\n\t0x22084: 0x6cc00420, 0x22085: 0x6c994a20, 0x22087: 0x6c268020,\n\t0x22089: 0x6cf98c20, 0x2208a: 0x6ccfae20, 0x2208b: 0x6ce26c20,\n\t0x2208c: 0x6c530220, 0x2208d: 0x6c093620,\n\t0x2209d: 0x6ca62620, 0x2209f: 0x6cbbd220,\n\t0x220a7: 0x6cc84e20,\n\t0x220b8: 0x6c67d820, 0x220b9: 0x6c138420, 0x220ba: 0x6c9ce220,\n\t0x220bd: 0x6d16f020, 0x220bf: 0x6cdd0a20,\n\t// Block 0x883, offset 0x220c0\n\t0x220c1: 0x6cf4c220, 0x220c2: 0x6d078420,\n\t0x220c5: 0x6cf76c20, 0x220c7: 0x6d15d020,\n\t0x220d0: 0x6ca49a20, 0x220d3: 0x6cf07820,\n\t0x220ee: 0x6c770220,\n\t0x220f1: 0x6c906020, 0x220f2: 0x6c938620, 0x220f3: 0x6d3c2a20,\n\t0x220fa: 0x6d35b420,\n\t0x220fc: 0x6d042220, 0x220fe: 0x6c44f820, 0x220ff: 0x6c6ce620,\n\t// Block 0x884, offset 0x22100\n\t0x22100: 0x6cfca420, 0x22101: 0x6c61c820, 0x22102: 0x6c261a20,\n\t0x22104: 0x6c815020, 0x22105: 0x6c3bb820, 0x22106: 0x6c722a20,\n\t0x2210b: 0x6c9eb220,\n\t0x2210c: 0x6cf9a620,\n\t0x22111: 0x6cda8c20,\n\t0x22128: 0x6d35b620, 0x2212a: 0x6c567e20, 0x2212b: 0x6c79e220,\n\t0x2212d: 0x6cdd5820, 0x2212e: 0x6ca68e20,\n\t0x2213a: 0x6ce28c20, 0x2213b: 0x6d3ace20,\n\t// Block 0x885, offset 0x22140\n\t0x22141: 0x6c269820, 0x22143: 0x6cc04420,\n\t0x22144: 0x6d0b9820, 0x22146: 0x6cfb4820,\n\t0x22149: 0x6ca58820,\n\t0x2214d: 0x6d351420, 0x2214e: 0x6c0ce620,\n\t0x22152: 0x6c1d3a20, 0x22153: 0x6c7f9820,\n\t0x22154: 0x6c2ff820, 0x22155: 0x6cc43a20, 0x22156: 0x6cfe2e20,\n\t0x22158: 0x6cff8020, 0x22159: 0x6ced0620, 0x2215a: 0x6cc81420, 0x2215b: 0x6cee5020,\n\t0x2215c: 0x6ca69820, 0x2215e: 0x6c03fe20, 0x2215f: 0x6d0b9a20,\n\t0x22165: 0x6cd7e220, 0x22166: 0x6d1ad820,\n\t0x22168: 0x6d231220,\n\t0x2216e: 0x6c83b820, 0x2216f: 0x6c5dc020,\n\t// Block 0x886, offset 0x22180\n\t0x22197: 0x6c056820,\n\t0x221a3: 0x6cf5e620,\n\t0x221a5: 0x6c6f6a20,\n\t0x221a8: 0x6d01ac20, 0x221a9: 0x6cb8e020, 0x221aa: 0x6caaf820, 0x221ab: 0x6d040020,\n\t0x221ac: 0x6c344e20, 0x221ad: 0x6c614020, 0x221ae: 0x6cf44a20, 0x221af: 0x6ca21220,\n\t0x221b0: 0x6d0e6e20, 0x221b1: 0x6cb79020, 0x221b2: 0x6ca2de20, 0x221b3: 0x6c1c1e20,\n\t0x221b4: 0x6c540220, 0x221b6: 0x6ccaf220,\n\t0x221b8: 0x6ca4aa20, 0x221bb: 0x6c1a7020,\n\t0x221bc: 0x6c1a7220, 0x221bd: 0x6c7cd020, 0x221bf: 0x6c644220,\n\t// Block 0x887, offset 0x221c0\n\t0x221c0: 0x6ce8ac20, 0x221c2: 0x6c319a20,\n\t0x221c5: 0x6cf9c220, 0x221c6: 0x6d382e20, 0x221c7: 0x6c5dcc20,\n\t0x221c8: 0x6c1d1620, 0x221c9: 0x6c26a420,\n\t0x221cc: 0x6c997c20, 0x221cd: 0x6d120620,\n\t0x221d3: 0x6c72f220,\n\t0x221ec: 0x6cd38420, 0x221ef: 0x6d1a6420,\n\t0x221f3: 0x6c478a20,\n\t0x221f4: 0x6cf4ec20,\n\t0x221f8: 0x6c4cee20, 0x221f9: 0x6ce3f620, 0x221fb: 0x6c52a220,\n\t// Block 0x888, offset 0x22200\n\t0x22207: 0x6cc54e20,\n\t0x22209: 0x6d14f420, 0x2220b: 0x6cea7c20,\n\t0x2220f: 0x6cbf3c20,\n\t0x22210: 0x6c4d6e20, 0x22212: 0x6cb79e20,\n\t0x22215: 0x6c5dd820, 0x22216: 0x6ce40020, 0x22217: 0x6caf7020,\n\t0x2221a: 0x6c451020,\n\t0x2221c: 0x6d01c420, 0x2221e: 0x6c9d5620, 0x2221f: 0x6c434c20,\n\t0x22220: 0x6cddf020, 0x22221: 0x6cfdec20, 0x22223: 0x6cd4e620,\n\t0x22226: 0x6c3e9820,\n\t0x2222c: 0x6d3b7e20, 0x2222d: 0x6c8f3820,\n\t// Block 0x889, offset 0x22240\n\t0x22245: 0x6d1f4420,\n\t0x2224a: 0x6c1a7820, 0x2224b: 0x6c330620,\n\t0x22262: 0x6c841420, 0x22263: 0x6d105820,\n\t0x22264: 0x6c841620, 0x22267: 0x6c91c820,\n\t0x22268: 0x6ca24e20, 0x22269: 0x6cdc5220, 0x2226a: 0x6c00b620,\n\t0x2226d: 0x6c79f420, 0x2226f: 0x6d306a20,\n\t0x22270: 0x6c00b820, 0x22271: 0x6ce2a620, 0x22273: 0x6c93ea20,\n\t0x22274: 0x6ce9ac20, 0x22275: 0x6c088020,\n\t0x2227e: 0x6c5bf620, 0x2227f: 0x6c588a20,\n\t// Block 0x88a, offset 0x22280\n\t0x2229b: 0x6c7e0e20,\n\t0x2229d: 0x6d02e020,\n\t0x222a1: 0x6ccaf420,\n\t0x222ab: 0x6cd5f020,\n\t0x222ac: 0x6cc3da20, 0x222ad: 0x6c035620, 0x222ae: 0x6cea0620,\n\t0x222b2: 0x6c403220, 0x222b3: 0x6c0cba20,\n\t0x222b5: 0x6ce17e20, 0x222b7: 0x6cfe4c20,\n\t0x222b9: 0x6cd81420, 0x222ba: 0x6c0f4020,\n\t0x222bc: 0x6c970020, 0x222bd: 0x6c298020, 0x222bf: 0x6c4b6420,\n\t// Block 0x88b, offset 0x222c0\n\t0x222c0: 0x6c522020, 0x222c1: 0x6cf69a20, 0x222c2: 0x6c298220, 0x222c3: 0x6d184e20,\n\t0x222c5: 0x6c088420, 0x222c7: 0x6c472c20,\n\t0x222c8: 0x6c255820, 0x222c9: 0x6ccb4420,\n\t0x222cd: 0x6c441e20, 0x222ce: 0x6d23c220, 0x222cf: 0x6ca2fa20,\n\t0x222d1: 0x6c865620, 0x222d2: 0x6d36ac20,\n\t0x222f0: 0x6d2fd420,\n\t0x222f4: 0x6c5f1220, 0x222f5: 0x6cc87220,\n\t0x222f9: 0x6c1d5820,\n\t// Block 0x88c, offset 0x22300\n\t0x22302: 0x6c6b1820,\n\t0x2230c: 0x6c172020, 0x2230d: 0x6d307a20,\n\t0x22312: 0x6cdb1020, 0x22313: 0x6d1db020,\n\t0x22316: 0x6cb7d420, 0x22317: 0x6d3d9820,\n\t0x2231a: 0x6c769620,\n\t0x2231c: 0x6d133c20, 0x2231e: 0x6cb7d620,\n\t0x22339: 0x6d04a420,\n\t// Block 0x88d, offset 0x22340\n\t0x22349: 0x6d141420, 0x2234a: 0x6c1e3020,\n\t0x2234e: 0x6ce98020, 0x2234f: 0x6c00da20,\n\t0x22350: 0x6cb1f220, 0x22353: 0x6c8b3620,\n\t0x22354: 0x6c9dd820, 0x22355: 0x6c00dc20, 0x22357: 0x6ca0ae20,\n\t0x22358: 0x6cf0e220, 0x22359: 0x6d1d5220, 0x2235a: 0x6ca65020,\n\t0x2235e: 0x6c0f7420,\n\t0x22360: 0x6c8f4620,\n\t0x22373: 0x6cc8e620,\n\t0x2237b: 0x6c936620,\n\t0x2237c: 0x6c140c20, 0x2237f: 0x6c1f8620,\n\t// Block 0x88e, offset 0x22380\n\t0x22381: 0x6ccb0220, 0x22382: 0x6c847020,\n\t0x22384: 0x6cd94620, 0x22386: 0x6c86c620,\n\t0x2238b: 0x6cf90420,\n\t0x2238d: 0x6d0c3e20, 0x2238e: 0x6c25ce20,\n\t0x22390: 0x6c8eb620,\n\t0x22398: 0x6c9b6c20, 0x2239a: 0x6d2e8a20,\n\t0x223a4: 0x6d3c4c20, 0x223a7: 0x6c9ea620,\n\t0x223a9: 0x6c86f220, 0x223ab: 0x6c71da20,\n\t0x223af: 0x6d025220,\n\t0x223b0: 0x6d025420, 0x223b1: 0x6c904220, 0x223b2: 0x6c8fc220,\n\t// Block 0x88f, offset 0x223c0\n\t0x223c2: 0x6ce2c620, 0x223c3: 0x6d3b3820,\n\t0x223cb: 0x6c155220,\n\t0x223cc: 0x6cfc4420, 0x223cf: 0x6d1cc220,\n\t0x223d0: 0x6cae2a20,\n\t0x223d8: 0x6d012220, 0x223da: 0x6c69dc20,\n\t0x223de: 0x6c1cf820,\n\t0x223f3: 0x6c50ae20,\n\t0x223fd: 0x6cea8420,\n\t// Block 0x890, offset 0x22400\n\t0x22405: 0x6c53b220,\n\t0x22408: 0x6c97b020, 0x2240a: 0x6c6c7a20,\n\t0x2240c: 0x6cc17020, 0x2240d: 0x6c30d420, 0x2240e: 0x6cbff820, 0x2240f: 0x6d28ee20,\n\t0x22411: 0x6cd0d420, 0x22412: 0x6d28f020,\n\t0x22415: 0x6d15ba20,\n\t0x2241a: 0x6c578020,\n\t0x2241f: 0x6c76a220,\n\t0x22430: 0x6d268e20, 0x22431: 0x6ca68420, 0x22432: 0x6cd7d620,\n\t0x22434: 0x6cf2aa20,\n\t0x22438: 0x6c118e20, 0x2243a: 0x6c647c20,\n\t0x2243c: 0x6c9ecc20, 0x2243d: 0x6ccea020, 0x2243f: 0x6cc70820,\n\t// Block 0x891, offset 0x22440\n\t0x22440: 0x6c419220,\n\t0x22445: 0x6cbb0a20, 0x22447: 0x6cd52a20,\n\t0x22448: 0x6d3d5820,\n\t0x2244f: 0x6cd1bc20,\n\t0x22451: 0x6ce3f820,\n\t0x22456: 0x6d2c3620, 0x22457: 0x6d2d7e20,\n\t0x2245d: 0x6c3bdc20, 0x2245e: 0x6c9eda20,\n\t0x22460: 0x6d2b5220,\n\t0x22464: 0x6d368a20, 0x22465: 0x6cb90020, 0x22466: 0x6c4ede20, 0x22467: 0x6c440e20,\n\t0x2246e: 0x6c119e20,\n\t0x22470: 0x6c4c7820, 0x22471: 0x6c685e20, 0x22473: 0x6d1da220,\n\t0x22474: 0x6c026820,\n\t0x2247b: 0x6d2c4620,\n\t0x2247d: 0x6cf8c420,\n\t// Block 0x892, offset 0x22480\n\t0x22481: 0x6d05d220, 0x22482: 0x6cf46620,\n\t0x2248f: 0x6c74b820,\n\t0x22490: 0x6c5f2a20, 0x22492: 0x6c1c6a20,\n\t0x22494: 0x6ced5420, 0x22496: 0x6c9ef220, 0x22497: 0x6d2b6420,\n\t0x2249c: 0x6c6b6e20, 0x2249d: 0x6cd29220, 0x2249f: 0x6cf72e20,\n\t0x224a1: 0x6c36e220,\n\t0x224a5: 0x6c564220, 0x224a6: 0x6c564a20,\n\t0x224a8: 0x6c857020, 0x224ab: 0x6c1f0820,\n\t0x224ae: 0x6d13c820, 0x224af: 0x6c992c20,\n\t0x224b0: 0x6d056c20, 0x224b1: 0x6d379820, 0x224b3: 0x6d16b820,\n\t0x224ba: 0x6c89de20,\n\t0x224bf: 0x6c647820,\n\t// Block 0x893, offset 0x224c0\n\t0x224c0: 0x6c656e20, 0x224c1: 0x6c70fa20,\n\t0x224c4: 0x6d3abc20,\n\t0x224c8: 0x6cf43a20,\n\t0x224cf: 0x6c78a420,\n\t0x224d0: 0x6c786020, 0x224d1: 0x6c860e20, 0x224d2: 0x6c08dc20, 0x224d3: 0x6c43ec20,\n\t0x224d5: 0x6d059820, 0x224d6: 0x6ccbfa20, 0x224d7: 0x6c8d1c20,\n\t0x224d8: 0x6c781220,\n\t0x224de: 0x6c0f4220, 0x224df: 0x6c0b0820,\n\t0x224e0: 0x6cd68820, 0x224e1: 0x6cb66e20, 0x224e2: 0x6ccde420,\n\t0x224e6: 0x6c5e6420,\n\t0x224e8: 0x6cbc1c20,\n\t0x224ee: 0x6d166c20, 0x224ef: 0x6c73d020,\n\t0x224f0: 0x6d2efe20, 0x224f2: 0x6d031620,\n\t0x224f7: 0x6cea9a20,\n\t0x224f8: 0x6c4d5020, 0x224f9: 0x6cfa2e20, 0x224fb: 0x6ceae020,\n\t0x224fc: 0x6d145620,\n\t// Block 0x894, offset 0x22500\n\t0x22503: 0x6c242c20,\n\t0x22507: 0x6c674620,\n\t0x22508: 0x6ca3de20, 0x2250b: 0x6caf0020,\n\t0x2250d: 0x6c6a7020, 0x2250e: 0x6d08d820, 0x2250f: 0x6c552020,\n\t0x22525: 0x6d1f9e20, 0x22526: 0x6caa4c20, 0x22527: 0x6d12c220,\n\t0x2252a: 0x6d1b3a20,\n\t0x2252c: 0x6c799420,\n\t0x22536: 0x6cfe8420, 0x22537: 0x6cfd6220,\n\t0x2253c: 0x6ca49620, 0x2253e: 0x6d2f2420,\n\t// Block 0x895, offset 0x22540\n\t0x22550: 0x6c6a7c20, 0x22553: 0x6caa5020,\n\t0x22554: 0x6ccd7020,\n\t0x22562: 0x6c63a020,\n\t0x22567: 0x6d38dc20,\n\t0x22568: 0x6cc6fe20, 0x2256b: 0x6c922220,\n\t0x2256c: 0x6cc96e20, 0x2256d: 0x6caa6020, 0x2256f: 0x6c0ec420,\n\t0x22570: 0x6d302220, 0x22572: 0x6cbdca20,\n\t0x22574: 0x6c21f620, 0x22575: 0x6d40ac20, 0x22577: 0x6cf2ac20,\n\t0x22578: 0x6cf43620, 0x2257b: 0x6ca7e020,\n\t0x2257f: 0x6cfa8820,\n\t// Block 0x896, offset 0x22580\n\t0x22580: 0x6c531220,\n\t0x225ab: 0x6ce6e820,\n\t0x225ac: 0x6c6c8a20,\n\t0x225b1: 0x6c6aa420, 0x225b2: 0x6c51c020, 0x225b3: 0x6ce84c20,\n\t0x225b4: 0x6d303a20, 0x225b5: 0x6cb1ec20, 0x225b6: 0x6c6ce820, 0x225b7: 0x6ca44420,\n\t0x225bc: 0x6c33e820, 0x225be: 0x6cf5be20, 0x225bf: 0x6d018020,\n\t// Block 0x897, offset 0x225c0\n\t0x225c1: 0x6cf86c20, 0x225c2: 0x6c815220, 0x225c3: 0x6c32ac20,\n\t0x225c4: 0x6c61ca20, 0x225c5: 0x6c138a20, 0x225c6: 0x6c1d6620,\n\t0x225c8: 0x6c427020,\n\t0x225ce: 0x6cfdb820, 0x225cf: 0x6c29d620,\n\t0x225e5: 0x6c0b8e20, 0x225e6: 0x6cfea020, 0x225e7: 0x6d02c220,\n\t// Block 0x898, offset 0x22600\n\t0x22601: 0x6d224c20, 0x22602: 0x6cfb4a20, 0x22603: 0x6c83ba20,\n\t0x22604: 0x6cba0020, 0x22607: 0x6c9a5420,\n\t0x22609: 0x6cbb6c20, 0x2260a: 0x6d0b9e20,\n\t0x2260c: 0x6cb82a20, 0x2260d: 0x6cbf8a20, 0x2260f: 0x6c056a20,\n\t0x22610: 0x6d32b220,\n\t0x2261a: 0x6d2b4a20, 0x2261b: 0x6cd68e20,\n\t0x2261e: 0x6ccaf020,\n\t// Block 0x899, offset 0x22640\n\t0x22645: 0x6c923a20,\n\t0x22649: 0x6d009e20, 0x2264b: 0x6c3f5c20,\n\t0x2264c: 0x6d2d3a20,\n\t0x22669: 0x6d2b5020, 0x2266b: 0x6c32c220,\n\t0x2266d: 0x6c2ad620, 0x2266e: 0x6d233c20,\n\t0x22670: 0x6c93de20, 0x22672: 0x6ced8220, 0x22673: 0x6d090e20,\n\t0x22674: 0x6c68f420, 0x22675: 0x6d266420, 0x22676: 0x6d362420, 0x22677: 0x6cefc420,\n\t0x22679: 0x6c43ee20, 0x2267a: 0x6c71b420,\n\t0x2267c: 0x6d0d8420, 0x2267d: 0x6c262620, 0x2267e: 0x6c997e20,\n\t// Block 0x89a, offset 0x22680\n\t0x22686: 0x6c3e7820, 0x22687: 0x6c002820,\n\t0x2268a: 0x6d079e20,\n\t0x2268c: 0x6c427e20, 0x2268d: 0x6c013220,\n\t0x22692: 0x6c603620,\n\t0x22698: 0x6cafea20, 0x22699: 0x6d352820,\n\t0x2269c: 0x6caac020,\n\t0x226bf: 0x6cacbc20,\n\t// Block 0x89b, offset 0x226c0\n\t0x226c1: 0x6d14f620,\n\t0x226c4: 0x6c6ac820, 0x226c6: 0x6d3e3820,\n\t0x226c8: 0x6c644420, 0x226c9: 0x6cec6420,\n\t0x226cc: 0x6c644620,\n\t0x226df: 0x6c15c020,\n\t0x226e1: 0x6cdd7420, 0x226e2: 0x6cdd7620, 0x226e3: 0x6c605020,\n\t0x226e4: 0x6cd96420, 0x226e6: 0x6ce2f420, 0x226e7: 0x6caf7420,\n\t0x226e8: 0x6cb32c20,\n\t0x226ee: 0x6c9d5a20,\n\t0x226f4: 0x6d12fc20, 0x226f6: 0x6cbe1c20, 0x226f7: 0x6c6d1620,\n\t0x226fa: 0x6c73ae20,\n\t0x226fd: 0x6d24f420, 0x226fe: 0x6cc83e20,\n\t// Block 0x89c, offset 0x22700\n\t0x22714: 0x6c04fa20,\n\t0x22730: 0x6c0d3a20,\n\t0x22734: 0x6cf0ae20, 0x22735: 0x6d2a8820, 0x22736: 0x6cbcd020, 0x22737: 0x6cd9ce20,\n\t0x22738: 0x6c91ca20,\n\t0x2273c: 0x6c2ecc20, 0x2273d: 0x6c1fb820, 0x2273e: 0x6c09f620, 0x2273f: 0x6d3a1a20,\n\t// Block 0x89d, offset 0x22740\n\t0x22740: 0x6c966220, 0x22741: 0x6c3aba20, 0x22742: 0x6cb1cc20, 0x22743: 0x6d1b6620,\n\t0x22744: 0x6d08a220, 0x22746: 0x6c02e020, 0x22747: 0x6d3d7820,\n\t0x22748: 0x6d40c820, 0x2274b: 0x6c08ea20,\n\t0x22751: 0x6c812620, 0x22753: 0x6ce40820,\n\t0x22759: 0x6ce5c820, 0x2275a: 0x6c64c820,\n\t0x2275f: 0x6ce7c020,\n\t0x2277d: 0x6c343420, 0x2277e: 0x6c308420,\n\t// Block 0x89e, offset 0x22780\n\t0x22782: 0x6c0b4220,\n\t0x227a0: 0x6d36b020, 0x227a2: 0x6c3b8a20,\n\t0x227a6: 0x6c776a20, 0x227a7: 0x6d36b220,\n\t0x227a8: 0x6d2cfc20, 0x227a9: 0x6c0a1e20, 0x227aa: 0x6c7b6e20,\n\t0x227ac: 0x6c050220, 0x227ad: 0x6c73b820, 0x227ae: 0x6cc13420,\n\t0x227b0: 0x6cb51e20, 0x227b1: 0x6c824e20, 0x227b2: 0x6d00da20, 0x227b3: 0x6ce0ca20,\n\t0x227bc: 0x6cd9d420, 0x227be: 0x6c075020,\n\t// Block 0x89f, offset 0x227c0\n\t0x227c7: 0x6d106820,\n\t0x227c8: 0x6c65ce20,\n\t0x227e5: 0x6d2a8a20,\n\t// Block 0x8a0, offset 0x22800\n\t0x22800: 0x6d3b6a20, 0x22803: 0x6c38b820,\n\t0x22805: 0x6ccf2420, 0x22807: 0x6cbf5e20,\n\t0x22809: 0x6cb3a020, 0x2280b: 0x6ce60220,\n\t0x2280c: 0x6ccc1a20, 0x2280d: 0x6d28c820,\n\t0x22811: 0x6ca7ac20, 0x22812: 0x6c48fa20, 0x22813: 0x6c250a20,\n\t0x22821: 0x6cbc5e20, 0x22823: 0x6c2ee420,\n\t0x22833: 0x6cb1ee20,\n\t0x22834: 0x6c226a20, 0x22836: 0x6c058e20,\n\t// Block 0x8a1, offset 0x22840\n\t0x2284d: 0x6d1b8a20,\n\t0x22851: 0x6cfc3020,\n\t0x22854: 0x6d161820, 0x22855: 0x6c9e9e20, 0x22856: 0x6c32b220, 0x22857: 0x6d395620,\n\t0x22859: 0x6c798c20,\n\t0x22862: 0x6d2ee020,\n\t0x22876: 0x6c8eb820,\n\t0x22878: 0x6d355820, 0x22879: 0x6c15ee20, 0x2287a: 0x6c31ca20, 0x2287b: 0x6d25c020,\n\t0x2287e: 0x6cddd220, 0x2287f: 0x6c6b5820,\n\t// Block 0x8a2, offset 0x22880\n\t0x22880: 0x6c86c820, 0x22881: 0x6c460420,\n\t0x2288c: 0x6c054220,\n\t0x22897: 0x6c4c9220,\n\t0x22898: 0x6c8a3420, 0x22899: 0x6cd08220,\n\t0x228a3: 0x6ca7c020,\n\t0x228a5: 0x6c24bc20, 0x228a6: 0x6cf04c20,\n\t0x228a8: 0x6cead620, 0x228ab: 0x6cda6020,\n\t0x228ad: 0x6c8fc420,\n\t0x228b3: 0x6cff3820,\n\t0x228b4: 0x6d0df820,\n\t// Block 0x8a3, offset 0x228c0\n\t0x228c3: 0x6cbebe20,\n\t0x228cd: 0x6cf73020, 0x228cf: 0x6d21e220,\n\t0x228d1: 0x6d337220, 0x228d2: 0x6d027420, 0x228d3: 0x6c146e20,\n\t0x228d4: 0x6c3c0020, 0x228d6: 0x6c4c9c20,\n\t0x228d8: 0x6c6e3e20, 0x228d9: 0x6c808220, 0x228da: 0x6cfafe20,\n\t0x228dd: 0x6c8d8e20,\n\t0x228ee: 0x6c830020,\n\t0x228f2: 0x6c760220, 0x228f3: 0x6d002a20,\n\t0x228fc: 0x6d28d820,\n\t// Block 0x8a4, offset 0x22900\n\t0x22904: 0x6c493e20, 0x22905: 0x6cbd0820, 0x22906: 0x6c963e20, 0x22907: 0x6d124a20,\n\t0x22908: 0x6c945620, 0x22909: 0x6cdeee20,\n\t0x22911: 0x6c964020,\n\t0x2291e: 0x6c03a420, 0x2291f: 0x6c165420,\n\t0x22921: 0x6d3dec20,\n\t0x2292b: 0x6ce5d020,\n\t0x2292f: 0x6cecaa20,\n\t0x22930: 0x6c8dd420,\n\t0x22934: 0x6d24aa20, 0x22935: 0x6cb72c20, 0x22937: 0x6cb58020,\n\t0x2293c: 0x6c619420, 0x2293d: 0x6c0eb620, 0x2293f: 0x6cd1a420,\n\t// Block 0x8a5, offset 0x22940\n\t0x22940: 0x6c3f4a20, 0x22942: 0x6c4a4620,\n\t0x22945: 0x6c2d0e20, 0x22947: 0x6c4fa420,\n\t0x22949: 0x6c411220, 0x2294b: 0x6cb5c820,\n\t0x22953: 0x6c19fe20,\n\t0x22954: 0x6c5bc220, 0x22957: 0x6cf9cc20,\n\t0x22958: 0x6cd27020, 0x22959: 0x6d365820, 0x2295a: 0x6cb61420,\n\t0x2295c: 0x6c4d7420, 0x2295f: 0x6c692c20,\n\t0x22960: 0x6c867620, 0x22962: 0x6c8a7820,\n\t0x22964: 0x6cbba620,\n\t0x22968: 0x6cc99c20, 0x2296a: 0x6cb55220, 0x2296b: 0x6cd19620,\n\t0x2296e: 0x6c6a7220,\n\t0x22975: 0x6c06e420, 0x22976: 0x6c0aec20, 0x22977: 0x6c032420,\n\t0x22978: 0x6c755c20, 0x22979: 0x6caf3a20,\n\t0x2297c: 0x6c282220, 0x2297f: 0x6ce0e620,\n\t// Block 0x8a6, offset 0x22980\n\t0x22980: 0x6c7cca20, 0x22981: 0x6c7a2820, 0x22983: 0x6c79d020,\n\t0x22989: 0x6cd1a620, 0x2298a: 0x6cd1a820, 0x2298b: 0x6c5e9a20,\n\t0x2298c: 0x6c063620,\n\t0x22990: 0x6c785a20, 0x22991: 0x6c7b9020,\n\t0x22996: 0x6c9f9c20,\n\t0x22999: 0x6c89e020, 0x2299a: 0x6c35f220, 0x2299b: 0x6c43d820,\n\t0x2299f: 0x6cee0420,\n\t0x229a0: 0x6c344020, 0x229a3: 0x6cb85220,\n\t0x229a4: 0x6c573220, 0x229a6: 0x6c539e20,\n\t0x229a9: 0x6cae5e20, 0x229ab: 0x6c698c20,\n\t0x229b0: 0x6cc0f020, 0x229b1: 0x6d3f3c20, 0x229b2: 0x6d391820, 0x229b3: 0x6c7b9620,\n\t0x229b5: 0x6ccbd820, 0x229b7: 0x6c61cc20,\n\t0x229b8: 0x6cee6c20, 0x229b9: 0x6cb40820, 0x229ba: 0x6d090620,\n\t0x229bc: 0x6cce6620,\n\t// Block 0x8a7, offset 0x229c0\n\t0x229c2: 0x6c80b620, 0x229c3: 0x6d351620,\n\t0x229c4: 0x6ce6c620, 0x229c7: 0x6c26f020,\n\t0x229d5: 0x6d0faa20, 0x229d6: 0x6c6d0020, 0x229d7: 0x6d351820,\n\t0x229da: 0x6d3d5a20,\n\t0x229dc: 0x6d28b420, 0x229dd: 0x6c14f220,\n\t0x229e2: 0x6c998020,\n\t0x229e6: 0x6c797820, 0x229e7: 0x6d388420,\n\t0x229e8: 0x6c54ca20, 0x229e9: 0x6cae7220,\n\t0x229ed: 0x6c6ffc20,\n\t0x229f8: 0x6c21bc20, 0x229f9: 0x6c9fae20,\n\t0x229fe: 0x6cffec20,\n\t// Block 0x8a8, offset 0x22a00\n\t0x22a00: 0x6c322220, 0x22a01: 0x6cef1820, 0x22a03: 0x6c119a20,\n\t0x22a04: 0x6d214a20, 0x22a05: 0x6c326220, 0x22a06: 0x6c763620, 0x22a07: 0x6cb0a220,\n\t0x22a0a: 0x6c1a1a20,\n\t0x22a0e: 0x6c218020,\n\t0x22a10: 0x6cceb420, 0x22a11: 0x6d0d9e20, 0x22a12: 0x6c7b2820,\n\t0x22a14: 0x6d265020,\n\t0x22a26: 0x6cb61620, 0x22a27: 0x6d32e020,\n\t0x22a29: 0x6c78c220, 0x22a2a: 0x6cb61820, 0x22a2b: 0x6d354020,\n\t0x22a2c: 0x6c928420,\n\t0x22a31: 0x6caf7c20, 0x22a32: 0x6cab0420, 0x22a33: 0x6cad7c20,\n\t0x22a3a: 0x6c3a6020,\n\t0x22a3f: 0x6cf19c20,\n\t// Block 0x8a9, offset 0x22a40\n\t0x22a42: 0x6c9b2c20,\n\t0x22a48: 0x6ccd5620,\n\t0x22a4c: 0x6d04a020, 0x22a4e: 0x6c351020, 0x22a4f: 0x6c0c9220,\n\t0x22a5a: 0x6d1eb020,\n\t0x22a5c: 0x6c97f620, 0x22a5e: 0x6c8a7a20,\n\t0x22a61: 0x6d00ea20, 0x22a62: 0x6c949c20, 0x22a63: 0x6cbba820,\n\t0x22a64: 0x6c2ae620, 0x22a66: 0x6c1a3e20, 0x22a67: 0x6c1a4020,\n\t0x22a6d: 0x6c21d820,\n\t0x22a78: 0x6c131420,\n\t// Block 0x8aa, offset 0x22a80\n\t0x22a80: 0x6c825e20, 0x22a81: 0x6d2e1c20, 0x22a82: 0x6c853620, 0x22a83: 0x6c885e20,\n\t0x22a84: 0x6cc45820,\n\t0x22a8d: 0x6c18ee20, 0x22a8f: 0x6c1a4820,\n\t0x22a90: 0x6c473c20, 0x22a92: 0x6d403a20, 0x22a93: 0x6c1df420,\n\t0x22a94: 0x6c204420,\n\t0x22a9c: 0x6c835220, 0x22a9d: 0x6cd7a820, 0x22a9e: 0x6c941020,\n\t0x22aa3: 0x6c3f2420,\n\t0x22aa5: 0x6c871620, 0x22aa7: 0x6cca6020,\n\t0x22aab: 0x6cca0c20,\n\t0x22aaf: 0x6cc9b220,\n\t0x22ab3: 0x6ca8b020,\n\t0x22ab6: 0x6d413c20, 0x22ab7: 0x6c855020,\n\t0x22abb: 0x6cd58c20,\n\t0x22abe: 0x6c3f2a20,\n\t// Block 0x8ab, offset 0x22ac0\n\t0x22ac9: 0x6c094620,\n\t0x22acd: 0x6c2a0820,\n\t0x22ad2: 0x6cd1b220,\n\t0x22ad6: 0x6c422020, 0x22ad7: 0x6ce09e20,\n\t0x22adc: 0x6c97f820, 0x22adf: 0x6c842820,\n\t0x22ae2: 0x6c0a4c20,\n\t0x22ae6: 0x6cac7e20,\n\t0x22ae8: 0x6d1eca20,\n\t0x22aed: 0x6c6f5020, 0x22aef: 0x6c4c1220,\n\t0x22af0: 0x6c89dc20, 0x22af3: 0x6cf2de20,\n\t0x22af4: 0x6cb85420, 0x22af5: 0x6c30e820, 0x22af7: 0x6c8afa20,\n\t0x22af9: 0x6c68e020, 0x22afb: 0x6c8afc20,\n\t// Block 0x8ac, offset 0x22b00\n\t0x22b01: 0x6ce56020,\n\t0x22b04: 0x6c4c2620, 0x22b06: 0x6cacde20, 0x22b07: 0x6cbb8e20,\n\t0x22b09: 0x6c2b8a20, 0x22b0a: 0x6d284420,\n\t0x22b12: 0x6c821420,\n\t0x22b16: 0x6cd7cc20, 0x22b17: 0x6d02b020,\n\t0x22b1c: 0x6d02c420, 0x22b1d: 0x6cfe2620, 0x22b1e: 0x6c95ac20,\n\t0x22b24: 0x6c07e820, 0x22b25: 0x6ce55a20,\n\t0x22b2c: 0x6cffee20, 0x22b2e: 0x6c30b420,\n\t0x22b33: 0x6c296e20,\n\t0x22b34: 0x6ce67c20, 0x22b35: 0x6d3bcc20,\n\t0x22b3b: 0x6cab4620,\n\t0x22b3d: 0x6cf30e20,\n\t// Block 0x8ad, offset 0x22b40\n\t0x22b44: 0x6d02ee20, 0x22b45: 0x6cc87a20,\n\t0x22b48: 0x6d3dae20, 0x22b49: 0x6c299020,\n\t0x22b4d: 0x6c257420,\n\t0x22b51: 0x6d3dc820,\n\t0x22b57: 0x6c238620,\n\t0x22b58: 0x6c159220,\n\t0x22b5d: 0x6d100820,\n\t0x22b67: 0x6d0d5e20,\n\t0x22b73: 0x6d0d6820,\n\t0x22b75: 0x6d323620,\n\t0x22b7d: 0x6caade20, 0x22b7e: 0x6d0e7220,\n\t// Block 0x8ae, offset 0x22b80\n\t0x22b85: 0x6c39d820,\n\t0x22b89: 0x6d0da020, 0x22b8a: 0x6d214e20,\n\t0x22b8d: 0x6ce34020, 0x22b8e: 0x6c401a20, 0x22b8f: 0x6c07a020,\n\t0x22b91: 0x6d0db220, 0x22b93: 0x6c5ad220,\n\t0x22b99: 0x6c5a6220,\n\t0x22b9c: 0x6c4b7420, 0x22b9d: 0x6d0ece20, 0x22b9f: 0x6c55da20,\n\t0x22ba0: 0x6c0c3620,\n\t0x22ba7: 0x6cdcc420,\n\t0x22bae: 0x6d3f3020, 0x22baf: 0x6c618620,\n\t0x22bb0: 0x6c35ae20, 0x22bb1: 0x6c61ce20, 0x22bb2: 0x6c7ccc20,\n\t0x22bb4: 0x6c89b620,\n\t0x22bb8: 0x6c5dda20, 0x22bba: 0x6cef3a20, 0x22bbb: 0x6d3cea20,\n\t0x22bbf: 0x6ce6ae20,\n\t// Block 0x8af, offset 0x22bc0\n\t0x22bc3: 0x6d290e20,\n\t0x22bc4: 0x6d201020,\n\t0x22bc9: 0x6cc5c020,\n\t0x22bcd: 0x6c9e4e20,\n\t0x22bda: 0x6ca31020,\n\t0x22bdd: 0x6ce84220, 0x22bdf: 0x6c27be20,\n\t0x22be1: 0x6c73ec20,\n\t0x22be4: 0x6d056e20, 0x22be5: 0x6c2b1820,\n\t0x22bf0: 0x6cfe1a20,\n\t0x22bf7: 0x6d048a20,\n\t0x22bfa: 0x6d1fac20, 0x22bfb: 0x6c489620,\n\t0x22bfe: 0x6cf5a420,\n\t// Block 0x8b0, offset 0x22c00\n\t0x22c08: 0x6c51bc20,\n\t0x22c0d: 0x6c2f6c20,\n\t0x22c10: 0x6c914020, 0x22c12: 0x6d061a20,\n\t0x22c14: 0x6d391a20, 0x22c15: 0x6cfca820, 0x22c16: 0x6c598820, 0x22c17: 0x6c138c20,\n\t0x22c18: 0x6cd2c420, 0x22c19: 0x6c421820, 0x22c1a: 0x6caadc20, 0x22c1b: 0x6c01aa20,\n\t0x22c1f: 0x6d003c20,\n\t0x22c27: 0x6c502c20,\n\t0x22c32: 0x6cbd2a20, 0x22c33: 0x6c450620,\n\t0x22c34: 0x6ccce020, 0x22c35: 0x6c3e4c20,\n\t0x22c3d: 0x6d2b4c20,\n\t// Block 0x8b1, offset 0x22c40\n\t0x22c47: 0x6c287c20,\n\t0x22c56: 0x6c2d1420, 0x22c57: 0x6ccfdc20,\n\t0x22c59: 0x6d411820,\n\t0x22c62: 0x6c0ca620,\n\t0x22c66: 0x6c20d020, 0x22c67: 0x6d30f820,\n\t0x22c68: 0x6c276e20, 0x22c6b: 0x6cf2b620,\n\t0x22c6c: 0x6cbf2420,\n\t0x22c70: 0x6c8bb420, 0x22c72: 0x6c5cc820, 0x22c73: 0x6c5ed020,\n\t// Block 0x8b2, offset 0x22c80\n\t0x22c85: 0x6c127620,\n\t0x22c8a: 0x6ca28620,\n\t0x22c8d: 0x6c2ea820, 0x22c8e: 0x6cf09620,\n\t0x22ca0: 0x6c0b9a20, 0x22ca1: 0x6ce3c020,\n\t0x22ca5: 0x6ce8be20,\n\t0x22cb6: 0x6c453620,\n\t// Block 0x8b3, offset 0x22cc0\n\t0x22cc4: 0x6c1b3220, 0x22cc5: 0x6c23ee20, 0x22cc6: 0x6ce3c420,\n\t0x22cd2: 0x6c5de620, 0x22cd3: 0x6cb50e20,\n\t0x22cd4: 0x6ccab820, 0x22cd5: 0x6ccaa020, 0x22cd6: 0x6d085220, 0x22cd7: 0x6c021c20,\n\t0x22cd8: 0x6ca3ce20, 0x22cda: 0x6d0fd020, 0x22cdb: 0x6cd4f420,\n\t0x22cdc: 0x6ccc0620,\n\t0x22ce1: 0x6ce6d620,\n\t0x22ce9: 0x6d0bc420, 0x22cea: 0x6c5a5820,\n\t0x22cee: 0x6c0d4220,\n\t0x22cfe: 0x6caba020, 0x22cff: 0x6c128820,\n\t// Block 0x8b4, offset 0x22d00\n\t0x22d01: 0x6c026a20, 0x22d03: 0x6c99ae20,\n\t0x22d14: 0x6c9b3620, 0x22d16: 0x6ce47220,\n\t0x22d1d: 0x6ccaa220, 0x22d1e: 0x6d073a20, 0x22d1f: 0x6c771020,\n\t0x22d27: 0x6c811020,\n\t0x22d36: 0x6c0cc020, 0x22d37: 0x6c23b220,\n\t0x22d3a: 0x6cfb8e20,\n\t// Block 0x8b5, offset 0x22d40\n\t0x22d44: 0x6cea2a20,\n\t0x22d49: 0x6d240a20, 0x22d4a: 0x6c28c220, 0x22d4b: 0x6d1d5420,\n\t0x22d4d: 0x6d2f7820, 0x22d4f: 0x6cb4b620,\n\t0x22d58: 0x6c5c4e20,\n\t0x22d5e: 0x6c00ea20, 0x22d5f: 0x6ca0b220,\n\t0x22d62: 0x6c6dde20, 0x22d63: 0x6c7fce20,\n\t0x22d72: 0x6c8b5820, 0x22d73: 0x6cb1a420,\n\t0x22d75: 0x6c0fa420, 0x22d76: 0x6cbf8220,\n\t0x22d79: 0x6c0aa220,\n\t0x22d7f: 0x6d1dd420,\n\t// Block 0x8b6, offset 0x22d80\n\t0x22d85: 0x6c871820,\n\t0x22d8d: 0x6ca8b220, 0x22d8f: 0x6c2a8820,\n\t0x22d93: 0x6c584620,\n\t0x22d97: 0x6d272420,\n\t0x22d9a: 0x6c212c20,\n\t0x22d9c: 0x6c87b020, 0x22d9e: 0x6d2ef420, 0x22d9f: 0x6c8dd620,\n\t0x22da0: 0x6c217020,\n\t0x22da7: 0x6c12d220,\n\t0x22da8: 0x6d09ea20,\n\t0x22dac: 0x6c71ac20, 0x22dad: 0x6c5cac20,\n\t0x22dbe: 0x6ce6f820,\n\t// Block 0x8b7, offset 0x22dc0\n\t0x22dc6: 0x6ca91220, 0x22dc7: 0x6c727a20,\n\t0x22dcf: 0x6c144c20,\n\t0x22dd6: 0x6d2a2e20,\n\t0x22ddb: 0x6d24a020,\n\t0x22ddf: 0x6c78f420,\n\t0x22de6: 0x6c7bea20, 0x22de7: 0x6c3a4a20,\n\t0x22def: 0x6d282620,\n\t0x22df0: 0x6cb9fc20,\n\t0x22df4: 0x6cc2dc20,\n\t0x22df8: 0x6cb38a20, 0x22dfa: 0x6cadf620,\n\t// Block 0x8b8, offset 0x22e00\n\t0x22e04: 0x6c453820, 0x22e05: 0x6d17e420, 0x22e06: 0x6c961020,\n\t0x22e11: 0x6c7b5a20, 0x22e13: 0x6d085420,\n\t0x22e14: 0x6ca76e20,\n\t0x22e1a: 0x6c55ac20, 0x22e1b: 0x6c715820,\n\t0x22e29: 0x6d136a20,\n\t0x22e2e: 0x6cf73420,\n\t0x22e31: 0x6d271c20, 0x22e32: 0x6ce19020, 0x22e33: 0x6cb23e20,\n\t0x22e34: 0x6c33c820, 0x22e35: 0x6c06d420,\n\t0x22e38: 0x6c8a6020,\n\t// Block 0x8b9, offset 0x22e40\n\t0x22e40: 0x6d1e0e20,\n\t0x22e4e: 0x6d0acc20,\n\t0x22e51: 0x6c68bc20,\n\t0x22e54: 0x6c7dcc20, 0x22e56: 0x6d321820, 0x22e57: 0x6cd59c20,\n\t0x22e5a: 0x6cd24820,\n\t0x22e5e: 0x6d1efa20, 0x22e5f: 0x6cac1a20,\n\t0x22e60: 0x6cff6e20, 0x22e61: 0x6c5fe020,\n\t0x22e76: 0x6cb4d220, 0x22e77: 0x6c50c620,\n\t0x22e7a: 0x6c799620,\n\t// Block 0x8ba, offset 0x22e80\n\t0x22e82: 0x6d12d020, 0x22e83: 0x6c1bf020,\n\t0x22e8a: 0x6c77a220, 0x22e8b: 0x6d269020,\n\t0x22e8e: 0x6cec1a20, 0x22e8f: 0x6ca71820,\n\t0x22e91: 0x6c222e20, 0x22e93: 0x6d14a020,\n\t0x22ea4: 0x6c704620,\n\t0x22eab: 0x6d0f4e20,\n\t0x22eac: 0x6c83a620, 0x22eae: 0x6c270a20, 0x22eaf: 0x6c1d0c20,\n\t0x22eb5: 0x6d14c620,\n\t0x22eba: 0x6c4e9a20,\n\t0x22ebf: 0x6d13de20,\n\t// Block 0x8bb, offset 0x22ec0\n\t0x22ec1: 0x6c1d4a20, 0x22ec2: 0x6c568020, 0x22ec3: 0x6d3b6220,\n\t0x22ee6: 0x6cbf0a20, 0x22ee7: 0x6c34de20,\n\t0x22ef8: 0x6ce73220, 0x22ef9: 0x6cfa9020,\n\t0x22eff: 0x6c3e5020,\n\t// Block 0x8bc, offset 0x22f00\n\t0x22f02: 0x6c2d5020, 0x22f03: 0x6cf77820,\n\t0x22f04: 0x6d003e20, 0x22f05: 0x6d323820, 0x22f06: 0x6cbc3e20, 0x22f07: 0x6ce85620,\n\t0x22f37: 0x6c4eb020,\n\t0x22f38: 0x6c7bf220, 0x22f39: 0x6cdd1a20, 0x22f3b: 0x6cd46220,\n\t0x22f3c: 0x6ce58020,\n\t// Block 0x8bd, offset 0x22f40\n\t0x22f40: 0x6d315020, 0x22f43: 0x6ca58c20,\n\t0x22f45: 0x6cba0a20, 0x22f46: 0x6d1a6620,\n\t0x22f48: 0x6c899220, 0x22f49: 0x6ccc5420, 0x22f4a: 0x6d3f4c20, 0x22f4b: 0x6cafec20,\n\t0x22f4c: 0x6c42c620, 0x22f4f: 0x6c6d0a20,\n\t0x22f50: 0x6d1f3620, 0x22f52: 0x6ccd8c20,\n\t0x22f54: 0x6c9d4620, 0x22f55: 0x6cab9c20, 0x22f57: 0x6c54cc20,\n\t0x22f5b: 0x6d204620,\n\t0x22f5d: 0x6c9bd420,\n\t// Block 0x8be, offset 0x22f80\n\t0x22f90: 0x6d352a20, 0x22f93: 0x6c08e020,\n\t0x22f97: 0x6ccfe820,\n\t0x22f98: 0x6cb79420, 0x22f99: 0x6cfaa620, 0x22f9a: 0x6cac5820, 0x22f9b: 0x6c776e20,\n\t0x22fab: 0x6cd68620,\n\t0x22fac: 0x6cafee20, 0x22fae: 0x6d290220, 0x22faf: 0x6d3a6c20,\n\t0x22fb1: 0x6cd9c020, 0x22fb2: 0x6c6f1820,\n\t0x22fb5: 0x6c150020, 0x22fb6: 0x6c38a420, 0x22fb7: 0x6cff8e20,\n\t0x22fb8: 0x6d1aec20, 0x22fb9: 0x6c540e20, 0x22fba: 0x6c999220, 0x22fbb: 0x6ce8c020,\n\t0x22fbd: 0x6c621820,\n\t// Block 0x8bf, offset 0x22fc0\n\t0x22fc1: 0x6d151c20, 0x22fc3: 0x6d236c20,\n\t0x22fc4: 0x6c6ee020, 0x22fc5: 0x6cad9220, 0x22fc7: 0x6cfed820,\n\t0x22fc9: 0x6c468c20,\n\t0x22fcc: 0x6c465020, 0x22fcd: 0x6cdcf220, 0x22fce: 0x6cfc1620, 0x22fcf: 0x6d3baa20,\n\t0x22ffe: 0x6c1dba20,\n\t// Block 0x8c0, offset 0x23000\n\t0x23004: 0x6cbb7e20, 0x23005: 0x6ce34220, 0x23006: 0x6d27b020,\n\t0x23009: 0x6cccec20, 0x2300a: 0x6c8b1420,\n\t0x2300c: 0x6d353620,\n\t0x23010: 0x6cabf220,\n\t0x23023: 0x6c712e20,\n\t0x23024: 0x6c7f1220,\n\t0x23028: 0x6d3f1820, 0x2302a: 0x6cc1a420, 0x2302b: 0x6c47b020,\n\t0x2302c: 0x6c747a20, 0x2302d: 0x6d348220, 0x2302e: 0x6c021e20, 0x2302f: 0x6cbe2020,\n\t0x23030: 0x6cb00620, 0x23031: 0x6d417820, 0x23033: 0x6cb9b020,\n\t0x23035: 0x6c25e620, 0x23037: 0x6c606620,\n\t0x23038: 0x6ce35220, 0x23039: 0x6cc7b620, 0x2303b: 0x6c4d4220,\n\t0x2303c: 0x6d0a2620, 0x2303e: 0x6c073c20, 0x2303f: 0x6d348420,\n\t// Block 0x8c1, offset 0x23040\n\t0x23041: 0x6c340020,\n\t0x2304b: 0x6c293220,\n\t0x23050: 0x6cc62e20,\n\t0x23072: 0x6c41a820,\n\t0x23075: 0x6c42ae20, 0x23076: 0x6cde7220,\n\t0x23078: 0x6cebae20, 0x23079: 0x6d105e20, 0x2307a: 0x6c7a4e20, 0x2307b: 0x6d368c20,\n\t// Block 0x8c2, offset 0x23080\n\t0x23096: 0x6c64d020, 0x23097: 0x6ca6be20,\n\t0x23098: 0x6cd00e20, 0x23099: 0x6c058620, 0x2309a: 0x6cd66e20, 0x2309b: 0x6c30c020,\n\t0x2309d: 0x6cb91420, 0x2309e: 0x6c4e2820, 0x2309f: 0x6cb83020,\n\t0x230a0: 0x6c41e420, 0x230a3: 0x6c215a20,\n\t0x230a4: 0x6c13fe20, 0x230a5: 0x6c0a2620, 0x230a6: 0x6d140c20, 0x230a7: 0x6c3d9020,\n\t0x230a8: 0x6c35b820, 0x230aa: 0x6c816c20, 0x230ab: 0x6c4fe020,\n\t0x230ac: 0x6c842a20,\n\t0x230b1: 0x6ce28020, 0x230b2: 0x6cd01020,\n\t0x230b4: 0x6d1a9020, 0x230b7: 0x6c64d220,\n\t0x230bb: 0x6c140020,\n\t// Block 0x8c3, offset 0x230c0\n\t0x230d7: 0x6ca86020,\n\t0x230d8: 0x6c23f620, 0x230db: 0x6d154620,\n\t0x230df: 0x6ce12220,\n\t0x230e2: 0x6c738820,\n\t0x230f0: 0x6c1c5820, 0x230f1: 0x6c468e20,\n\t0x230f4: 0x6c6b1a20, 0x230f5: 0x6d307c20, 0x230f6: 0x6c559220, 0x230f7: 0x6c987220,\n\t0x230fb: 0x6d406220,\n\t0x230fc: 0x6cd8e820, 0x230ff: 0x6c3ad020,\n\t// Block 0x8c4, offset 0x23100\n\t0x23100: 0x6d3e8620, 0x23101: 0x6d3e8820, 0x23103: 0x6c6b3420,\n\t0x23104: 0x6cd82820, 0x23106: 0x6c211620, 0x23107: 0x6cad9820,\n\t0x2310b: 0x6d128e20,\n\t0x2310c: 0x6c2b4420, 0x2310e: 0x6c825820, 0x2310f: 0x6d05e420,\n\t0x23110: 0x6cc7c820, 0x23112: 0x6cabde20, 0x23113: 0x6c738e20,\n\t0x23114: 0x6cf8dc20, 0x23115: 0x6d133e20, 0x23116: 0x6c014c20,\n\t0x23118: 0x6d189420, 0x23119: 0x6c64f420,\n\t0x2311c: 0x6cd93820, 0x2311d: 0x6cf2c420, 0x2311f: 0x6ccb5820,\n\t0x23120: 0x6d355020, 0x23121: 0x6c088e20, 0x23122: 0x6d3be220,\n\t0x23126: 0x6c67fa20, 0x23127: 0x6c506820,\n\t0x23129: 0x6c1c6c20, 0x2312a: 0x6c340820,\n\t// Block 0x8c5, offset 0x23140\n\t0x23153: 0x6c0f5820,\n\t0x23154: 0x6c60a820, 0x23155: 0x6c1fb020, 0x23157: 0x6c962620,\n\t0x2315a: 0x6cc8b220,\n\t0x2316b: 0x6c55b020,\n\t0x23171: 0x6c28c420,\n\t0x23174: 0x6c4e6420, 0x23175: 0x6cc3fe20, 0x23176: 0x6ccc1e20, 0x23177: 0x6d2e1e20,\n\t0x23178: 0x6d2b0e20, 0x23179: 0x6c201220, 0x2317a: 0x6cb53620, 0x2317b: 0x6c2ef020,\n\t0x2317d: 0x6d2ce220, 0x2317e: 0x6ce83220,\n\t// Block 0x8c6, offset 0x23180\n\t0x23181: 0x6c221220, 0x23182: 0x6cc99e20,\n\t0x23184: 0x6c955620, 0x23187: 0x6c60be20,\n\t0x231a2: 0x6c95c220, 0x231a3: 0x6cbdb220,\n\t0x231a7: 0x6cbf6c20,\n\t0x231a8: 0x6c739420,\n\t0x231ac: 0x6c00e020, 0x231ad: 0x6c65e220,\n\t0x231b9: 0x6ce42a20, 0x231ba: 0x6cf1b620,\n\t0x231bd: 0x6cbbb620,\n\t// Block 0x8c7, offset 0x231c0\n\t0x231c1: 0x6cac0820, 0x231c2: 0x6c5d0620,\n\t0x231c5: 0x6c00ec20, 0x231c7: 0x6cd7a220,\n\t0x231c8: 0x6c887220, 0x231c9: 0x6c337420, 0x231cb: 0x6cdebc20,\n\t0x231cc: 0x6c6cbe20, 0x231cd: 0x6c0a8a20, 0x231ce: 0x6d0de820, 0x231cf: 0x6c435a20,\n\t0x231d0: 0x6cb18820, 0x231d1: 0x6d242c20, 0x231d2: 0x6ccf7c20,\n\t0x231d5: 0x6c651420, 0x231d7: 0x6c55dc20,\n\t0x231da: 0x6c8b4e20,\n\t0x231dc: 0x6c0bce20, 0x231dd: 0x6cdb4e20, 0x231de: 0x6c689420,\n\t0x231f8: 0x6d3cb820,\n\t0x231fd: 0x6c4dc220,\n\t// Block 0x8c8, offset 0x23200\n\t0x23207: 0x6c340e20,\n\t0x23210: 0x6d014e20, 0x23211: 0x6c9b8220, 0x23212: 0x6c3db420, 0x23213: 0x6c931a20,\n\t0x23214: 0x6ce0b220, 0x23217: 0x6c8ecc20,\n\t0x23218: 0x6cfaee20, 0x23219: 0x6cca9420,\n\t0x2321c: 0x6c240220, 0x2321d: 0x6d3c2620, 0x2321f: 0x6c188e20,\n\t0x23230: 0x6c892820,\n\t0x23234: 0x6c848c20,\n\t// Block 0x8c9, offset 0x23240\n\t0x23240: 0x6caf1a20, 0x23241: 0x6ceb9420,\n\t0x23244: 0x6cebb820, 0x23246: 0x6c8a4a20, 0x23247: 0x6d002620,\n\t0x23248: 0x6c20f620, 0x23249: 0x6c581a20, 0x2324a: 0x6ca7c220, 0x2324b: 0x6cb94820,\n\t0x2324c: 0x6c871c20, 0x2324f: 0x6cad3e20,\n\t0x23250: 0x6ce5b020, 0x23251: 0x6c8ece20, 0x23252: 0x6cf40a20,\n\t0x23264: 0x6d1d2620, 0x23266: 0x6d2c6820,\n\t0x23270: 0x6d21ee20, 0x23272: 0x6cfc5020, 0x23273: 0x6d083820,\n\t0x23274: 0x6cd68a20, 0x23275: 0x6cf74220,\n\t0x23278: 0x6c9a4220, 0x23279: 0x6ccbb420, 0x2327a: 0x6c893420,\n\t0x2327c: 0x6c6f9020, 0x2327d: 0x6c81ec20,\n\t// Block 0x8ca, offset 0x23280\n\t0x2328e: 0x6cff5020, 0x2328f: 0x6d407420,\n\t0x2329a: 0x6c8ee820,\n\t0x2329c: 0x6d2ff020, 0x2329e: 0x6d30c220,\n\t0x232a0: 0x6c830820,\n\t0x232ad: 0x6c32b420,\n\t0x232b7: 0x6c663420,\n\t0x232b8: 0x6cd68c20, 0x232b9: 0x6d425620, 0x232ba: 0x6cbd0c20,\n\t0x232bc: 0x6c81ca20,\n\t// Block 0x8cb, offset 0x232c0\n\t0x232c9: 0x6d248420, 0x232ca: 0x6d196620, 0x232cb: 0x6ca66e20,\n\t0x232ce: 0x6c134620,\n\t0x232d5: 0x6d0f1a20, 0x232d7: 0x6cc89020,\n\t0x232de: 0x6d0d1c20, 0x232df: 0x6c2f1e20,\n\t0x232e0: 0x6c9df620,\n\t0x232e7: 0x6c82a420,\n\t0x232e9: 0x6cecae20,\n\t0x232f0: 0x6ca2fe20,\n\t0x232f6: 0x6d0d2420,\n\t0x232fa: 0x6c831c20,\n\t0x232fd: 0x6ccc3020, 0x232fe: 0x6c551620,\n\t// Block 0x8cc, offset 0x23300\n\t0x23301: 0x6cf58020, 0x23302: 0x6cf58220,\n\t0x23304: 0x6d1fa020, 0x23305: 0x6c4d9220, 0x23307: 0x6c4d0820,\n\t0x23309: 0x6cebc820, 0x2330a: 0x6d068220, 0x2330b: 0x6caf3c20,\n\t0x2330c: 0x6cdf8e20, 0x2330d: 0x6cf58a20, 0x2330e: 0x6cf58c20, 0x2330f: 0x6c0d2420,\n\t0x23310: 0x6cbd1a20, 0x23311: 0x6cf58e20, 0x23312: 0x6d20c420, 0x23313: 0x6cf84a20,\n\t0x23315: 0x6c22b620, 0x23316: 0x6cba4020, 0x23317: 0x6cf95420,\n\t0x2331a: 0x6cec0620, 0x2331b: 0x6c35f420,\n\t0x2331c: 0x6d1fae20, 0x2331d: 0x6d041a20, 0x2331e: 0x6ca5c220, 0x2331f: 0x6c4de420,\n\t0x23320: 0x6c094a20, 0x23321: 0x6cd0ec20,\n\t0x23324: 0x6d2d6220, 0x23325: 0x6c2d4420, 0x23326: 0x6d222c20,\n\t0x23328: 0x6cab7a20, 0x2332a: 0x6c4ae820, 0x2332b: 0x6cee0620,\n\t0x2332c: 0x6cb8c620, 0x2332d: 0x6d14c820,\n\t0x23330: 0x6d40b020, 0x23332: 0x6cb8c820, 0x23333: 0x6c2f9c20,\n\t0x23334: 0x6c793420, 0x23336: 0x6c1f2620, 0x23337: 0x6d13e020,\n\t0x2333a: 0x6c4d9e20, 0x2333b: 0x6c7b6420,\n\t// Block 0x8cd, offset 0x23340\n\t0x23348: 0x6c2d5820, 0x23349: 0x6cf88a20, 0x2334a: 0x6d3e3c20, 0x2334b: 0x6c8d0420,\n\t0x2334c: 0x6d3f4e20, 0x2334e: 0x6d234420, 0x2334f: 0x6c5ccc20,\n\t0x23351: 0x6cd86e20, 0x23352: 0x6c76d620,\n\t0x2335a: 0x6c01c420,\n\t0x2335c: 0x6d1fca20, 0x2335d: 0x6c605420, 0x2335e: 0x6c5d2c20, 0x2335f: 0x6cb82e20,\n\t0x23360: 0x6c541020, 0x23361: 0x6c541220, 0x23363: 0x6c2d5c20,\n\t0x23369: 0x6d004c20,\n\t0x2336d: 0x6ccf5620, 0x2336e: 0x6ccc5c20,\n\t0x23372: 0x6d00ca20, 0x23373: 0x6d112220,\n\t0x23374: 0x6c26f420, 0x23376: 0x6d01d820, 0x23377: 0x6c1ac620,\n\t0x23378: 0x6d1fde20, 0x23379: 0x6c50a220, 0x2337a: 0x6ccc6220,\n\t0x2337f: 0x6cdf2e20,\n\t// Block 0x8ce, offset 0x23380\n\t0x23381: 0x6d3a1c20, 0x23383: 0x6c006c20,\n\t0x23387: 0x6cc3e020,\n\t0x23388: 0x6d2aea20, 0x2338a: 0x6c7e4a20, 0x2338b: 0x6c911620,\n\t0x2338c: 0x6c1fc820, 0x2338e: 0x6d1fe620,\n\t0x23396: 0x6ce41020,\n\t0x23398: 0x6cd1fa20,\n\t0x233a1: 0x6d000a20, 0x233a2: 0x6cf8ee20,\n\t0x233a8: 0x6c5e1220, 0x233a9: 0x6c1c8620, 0x233aa: 0x6d18e620,\n\t0x233af: 0x6cd54420,\n\t0x233b0: 0x6d270020, 0x233b1: 0x6c155420, 0x233b2: 0x6c36da20, 0x233b3: 0x6cf73620,\n\t0x233b4: 0x6cf74420, 0x233b5: 0x6d1d2a20, 0x233b6: 0x6d410020, 0x233b7: 0x6d28a220,\n\t0x233ba: 0x6d28a820,\n\t// Block 0x8cf, offset 0x233c0\n\t0x233c2: 0x6cde2c20, 0x233c3: 0x6ced7020,\n\t0x233c7: 0x6d031e20,\n\t0x233ca: 0x6cee4820, 0x233cb: 0x6c3f3820,\n\t0x233d0: 0x6c91b620,\n\t0x233de: 0x6c656820,\n\t0x233e1: 0x6d0c6620, 0x233e3: 0x6c094c20,\n\t0x233e4: 0x6c78fc20, 0x233e5: 0x6c497820,\n\t0x233e8: 0x6d3e1820,\n\t0x233ee: 0x6c7cce20, 0x233ef: 0x6d38e020,\n\t0x233f0: 0x6d35be20, 0x233f3: 0x6ce8a420,\n\t0x233f7: 0x6cde4c20,\n\t0x233f9: 0x6c1f3e20, 0x233fa: 0x6c196e20, 0x233fb: 0x6c1a7420,\n\t0x233fc: 0x6d3af420, 0x233fe: 0x6c26f220,\n\t// Block 0x8d0, offset 0x23400\n\t0x23407: 0x6c09c620,\n\t0x23409: 0x6c641c20,\n\t0x2340c: 0x6d17e620, 0x2340f: 0x6d26c420,\n\t0x23410: 0x6c428a20,\n\t0x23416: 0x6c41ae20,\n\t0x2341c: 0x6cbbac20,\n\t0x23420: 0x6c1eb020, 0x23421: 0x6c1eb620, 0x23422: 0x6c0a6a20,\n\t0x23426: 0x6c4b8a20,\n\t0x23429: 0x6c47e020, 0x2342a: 0x6c0e0020, 0x2342b: 0x6d1b9420,\n\t0x2342c: 0x6d3cbc20, 0x2342d: 0x6c47ec20, 0x2342f: 0x6c876820,\n\t0x23435: 0x6c35c420, 0x23436: 0x6c271420,\n\t0x2343c: 0x6c118620,\n\t// Block 0x8d1, offset 0x23440\n\t0x23442: 0x6ce3d420, 0x23443: 0x6c323620,\n\t0x23444: 0x6d168c20,\n\t0x23448: 0x6c2e6020, 0x2344a: 0x6ca97e20,\n\t0x2344c: 0x6d094420, 0x2344d: 0x6ca54a20, 0x2344e: 0x6c4b3220, 0x2344f: 0x6c779e20,\n\t0x23452: 0x6c201a20,\n\t0x23456: 0x6d2c2020, 0x23457: 0x6d1efc20,\n\t0x23459: 0x6c043420, 0x2345a: 0x6cd24a20, 0x2345b: 0x6c2d3e20,\n\t0x2345c: 0x6cabb420, 0x2345d: 0x6cc01620,\n\t0x23461: 0x6d094820, 0x23463: 0x6ca0e420,\n\t0x23464: 0x6c77e020, 0x23465: 0x6d1fb020, 0x23466: 0x6c68d220, 0x23467: 0x6c0ec620,\n\t0x2346c: 0x6d052020,\n\t0x23472: 0x6c9ce820, 0x23473: 0x6c95f220,\n\t0x23475: 0x6d094e20, 0x23477: 0x6c34e220,\n\t0x23479: 0x6c37c620, 0x2347a: 0x6cccd820,\n\t0x2347c: 0x6c7cee20, 0x2347d: 0x6ca52c20, 0x2347e: 0x6c9e1420, 0x2347f: 0x6c85ce20,\n\t// Block 0x8d2, offset 0x23480\n\t0x23480: 0x6c949620, 0x23482: 0x6c2e8420,\n\t0x23484: 0x6cb85620, 0x23485: 0x6c832a20, 0x23487: 0x6c997020,\n\t0x23489: 0x6c524c20, 0x2348a: 0x6c181620, 0x2348b: 0x6d35e620,\n\t0x2348d: 0x6c477c20, 0x2348e: 0x6c25b820,\n\t0x23493: 0x6cf4de20,\n\t0x23494: 0x6ce26420, 0x23497: 0x6cf61220,\n\t0x23498: 0x6d10a620, 0x23499: 0x6cefc620, 0x2349b: 0x6d40be20,\n\t0x2349c: 0x6c96be20, 0x2349d: 0x6d225a20, 0x2349e: 0x6caf0820, 0x2349f: 0x6d17a420,\n\t0x234a0: 0x6cbe1620, 0x234a1: 0x6d26b620, 0x234a2: 0x6c754c20, 0x234a3: 0x6c67e620,\n\t0x234a4: 0x6d06d820, 0x234a5: 0x6c07ea20,\n\t0x234aa: 0x6c95b020, 0x234ab: 0x6d3c6020,\n\t0x234b2: 0x6c326420, 0x234b3: 0x6cfe4020,\n\t0x234b6: 0x6c5be420,\n\t0x234ba: 0x6c479e20, 0x234bb: 0x6c77b020,\n\t0x234be: 0x6d037c20, 0x234bf: 0x6c5cf020,\n\t// Block 0x8d3, offset 0x234c0\n\t0x234c0: 0x6c0af820,\n\t0x234c4: 0x6c78c420, 0x234c5: 0x6c77b220,\n\t0x234c8: 0x6c25e820,\n\t0x234cf: 0x6c92a420,\n\t0x234d1: 0x6d41c620, 0x234d2: 0x6d2a2020, 0x234d3: 0x6c692e20,\n\t0x234d4: 0x6c49a020,\n\t0x234d9: 0x6d0c2220, 0x234da: 0x6c376620,\n\t0x234dc: 0x6cbe8820, 0x234df: 0x6c2ae820,\n\t0x234e0: 0x6cd8ea20, 0x234e1: 0x6cdc7220, 0x234e2: 0x6c8aa420,\n\t0x234e7: 0x6ccdb020,\n\t0x234e9: 0x6c0a6e20, 0x234ea: 0x6cf0e420, 0x234eb: 0x6d136020,\n\t0x234ed: 0x6d2d5020, 0x234ef: 0x6d129420,\n\t0x234f0: 0x6c2e4c20, 0x234f1: 0x6c00ee20,\n\t0x234f4: 0x6c680620, 0x234f7: 0x6cda6220,\n\t0x234f9: 0x6c581c20, 0x234fa: 0x6d246020,\n\t0x234fd: 0x6cc50a20,\n\t// Block 0x8d4, offset 0x23500\n\t0x23500: 0x6c2cfa20, 0x23501: 0x6d413e20, 0x23502: 0x6c047420,\n\t0x23504: 0x6cbd5a20, 0x23507: 0x6c633620,\n\t0x23509: 0x6cafcc20,\n\t0x2350c: 0x6ce7ec20,\n\t0x23510: 0x6c1da220,\n\t0x23515: 0x6c4af020,\n\t0x23520: 0x6c5ee620,\n\t0x23528: 0x6d096420, 0x2352a: 0x6c2d6020,\n\t0x2352d: 0x6c0bac20, 0x2352e: 0x6d291c20, 0x2352f: 0x6ce76820,\n\t0x23536: 0x6ccd5820,\n\t0x23538: 0x6c482620, 0x23539: 0x6cc3ec20,\n\t// Block 0x8d5, offset 0x23540\n\t0x23540: 0x6c47cc20,\n\t0x23548: 0x6c55b220, 0x23549: 0x6c7b0420,\n\t0x2354c: 0x6c46d820, 0x2354e: 0x6cdb3220,\n\t0x23550: 0x6c1df620, 0x23552: 0x6c795c20,\n\t0x23554: 0x6c317e20,\n\t0x23559: 0x6d190a20,\n\t0x2355c: 0x6c2a4220, 0x2355d: 0x6cbaf820,\n\t0x23563: 0x6c900220,\n\t0x23565: 0x6c84cc20, 0x23567: 0x6c87a020,\n\t0x23568: 0x6cbe6420, 0x2356a: 0x6ceed420,\n\t0x2356c: 0x6ca1bc20,\n\t0x23571: 0x6cb74420, 0x23573: 0x6c67a020,\n\t0x23574: 0x6d008c20,\n\t0x23579: 0x6c277820, 0x2357b: 0x6c90a420,\n\t// Block 0x8d6, offset 0x23580\n\t0x23582: 0x6c497620,\n\t0x23586: 0x6cadc820,\n\t0x23589: 0x6cafce20, 0x2358b: 0x6c735420,\n\t0x2358d: 0x6c06aa20, 0x2358e: 0x6c747c20, 0x2358f: 0x6c738420,\n\t0x23590: 0x6cd3b420,\n\t0x23595: 0x6d014a20,\n\t0x23598: 0x6cc8a820, 0x23599: 0x6c6ec220, 0x2359a: 0x6cb3be20, 0x2359b: 0x6cc9f420,\n\t0x235a0: 0x6c5e7a20,\n\t0x235a9: 0x6c3b1820, 0x235aa: 0x6c06e820, 0x235ab: 0x6c6bc220,\n\t0x235ac: 0x6cc94020, 0x235ae: 0x6caf3e20,\n\t0x235b4: 0x6c2c2220, 0x235b5: 0x6c98c820, 0x235b6: 0x6c03ec20, 0x235b7: 0x6c03ee20,\n\t0x235b8: 0x6ce57820, 0x235b9: 0x6c8cba20, 0x235ba: 0x6cd0f020, 0x235bb: 0x6d31c220,\n\t0x235bc: 0x6caf4620, 0x235bd: 0x6cf4c620, 0x235bf: 0x6d2b4220,\n\t// Block 0x8d7, offset 0x235c0\n\t0x235c0: 0x6c063a20,\n\t0x235c7: 0x6c938020,\n\t0x235d6: 0x6c4fa020, 0x235d7: 0x6c30e020,\n\t0x235d8: 0x6c3e0e20, 0x235d9: 0x6ca5c420,\n\t0x235dd: 0x6c43de20,\n\t0x235e0: 0x6cc79820, 0x235e1: 0x6cfbfc20,\n\t0x235e4: 0x6c096020,\n\t0x235ee: 0x6c98d220,\n\t0x235f2: 0x6cc70a20, 0x235f3: 0x6cc04c20,\n\t0x235f7: 0x6c0ee820,\n\t0x235f9: 0x6c4fa620, 0x235fa: 0x6ca4ee20, 0x235fb: 0x6d0c8620,\n\t// Block 0x8d8, offset 0x23600\n\t0x23603: 0x6cad5c20,\n\t0x23604: 0x6cdbc020, 0x23606: 0x6ceba220,\n\t0x23608: 0x6cc10a20, 0x23609: 0x6c83d620, 0x2360a: 0x6c2a7220,\n\t0x2360c: 0x6c6aca20, 0x2360d: 0x6c6acc20, 0x2360e: 0x6c4bc820, 0x2360f: 0x6c649c20,\n\t0x23610: 0x6c099e20,\n\t0x23620: 0x6cca5620, 0x23621: 0x6c053020, 0x23622: 0x6c214a20,\n\t0x23626: 0x6ca3c220, 0x23627: 0x6c054e20,\n\t0x2362a: 0x6cc68820, 0x2362b: 0x6c636c20,\n\t0x2362c: 0x6cd9c220,\n\t0x23630: 0x6c2a7420,\n\t0x2363e: 0x6cfaac20, 0x2363f: 0x6d2d8020,\n\t// Block 0x8d9, offset 0x23640\n\t0x23640: 0x6c999620, 0x23643: 0x6d3e5020,\n\t0x23645: 0x6c623c20, 0x23646: 0x6cb61c20,\n\t0x2364b: 0x6cc82420,\n\t0x2364c: 0x6cdd2c20, 0x2364d: 0x6cc71620, 0x2364e: 0x6cf50c20, 0x2364f: 0x6cc69620,\n\t0x23650: 0x6cc69820,\n\t0x2365a: 0x6cde7620,\n\t0x2365c: 0x6cd9d020,\n\t0x23664: 0x6c842c20, 0x23667: 0x6c24fc20,\n\t0x23668: 0x6d3fb020, 0x23669: 0x6c9ad220, 0x2366a: 0x6cf80820,\n\t0x2366c: 0x6c989e20, 0x2366d: 0x6ca86220, 0x2366f: 0x6cdbd220,\n\t0x23671: 0x6cadea20,\n\t0x23674: 0x6c0a2820, 0x23675: 0x6c2c9020,\n\t0x23678: 0x6cc1be20, 0x23679: 0x6cbbfa20, 0x2367b: 0x6c3b4420,\n\t0x2367c: 0x6cdb1620,\n\t// Block 0x8da, offset 0x23680\n\t0x23683: 0x6d05e620,\n\t0x23687: 0x6cc72420,\n\t0x23688: 0x6c5f3220, 0x2368b: 0x6cc1d620,\n\t0x2368c: 0x6c8b3820,\n\t0x23695: 0x6ccafe20,\n\t0x23698: 0x6c7dd620, 0x2369a: 0x6c257620, 0x2369b: 0x6d136c20,\n\t0x2369c: 0x6c0e3220, 0x2369e: 0x6c6b5c20,\n\t0x236a0: 0x6cc1e020, 0x236a1: 0x6cc1e220,\n\t0x236a5: 0x6c9b6e20, 0x236a6: 0x6cc49020,\n\t0x236a8: 0x6c0d5e20, 0x236a9: 0x6c178220,\n\t0x236ac: 0x6c31d420,\n\t0x236b6: 0x6cc4ec20, 0x236b7: 0x6cfb0220,\n\t0x236ba: 0x6ce25220, 0x236bb: 0x6cc20a20,\n\t0x236bc: 0x6ca8b420, 0x236bf: 0x6cd51c20,\n\t// Block 0x8db, offset 0x236c0\n\t0x236c0: 0x6c920220, 0x236c2: 0x6c7dda20,\n\t0x236c8: 0x6c9f3620, 0x236c9: 0x6c9f9e20,\n\t0x236cd: 0x6c287e20,\n\t0x236d0: 0x6d1b6820, 0x236d3: 0x6d001020,\n\t0x236d7: 0x6c618820,\n\t0x236dc: 0x6d19b220,\n\t0x236e6: 0x6c3b3820, 0x236e7: 0x6d383420,\n\t0x236eb: 0x6c47c020,\n\t0x236f1: 0x6c13c420, 0x236f3: 0x6c8e3c20,\n\t0x236f6: 0x6c102c20,\n\t0x236fa: 0x6cabae20, 0x236fb: 0x6cd87620,\n\t0x236fc: 0x6c29b820, 0x236fd: 0x6d31b020,\n\t// Block 0x8dc, offset 0x23700\n\t0x23700: 0x6cccb620, 0x23702: 0x6c1fbe20,\n\t0x23704: 0x6c6fa820,\n\t0x2370a: 0x6c787620, 0x2370b: 0x6c1af820,\n\t0x23711: 0x6c565c20, 0x23712: 0x6c858220, 0x23713: 0x6ccbc620,\n\t0x23716: 0x6cac1820, 0x23717: 0x6ceee220,\n\t0x23718: 0x6cf42620,\n\t0x2371c: 0x6d1c5420,\n\t0x23721: 0x6ccbc820, 0x23722: 0x6c2b1020,\n\t0x23725: 0x6c27b820,\n\t0x23731: 0x6ce83a20, 0x23732: 0x6c50ca20, 0x23733: 0x6cb34e20,\n\t0x23735: 0x6d34f620, 0x23736: 0x6ca98020, 0x23737: 0x6ca67e20,\n\t0x2373d: 0x6cc6f820, 0x2373e: 0x6c48ea20,\n\t// Block 0x8dd, offset 0x23740\n\t0x23740: 0x6d343e20, 0x23743: 0x6c5fe220,\n\t0x2375c: 0x6c392c20, 0x2375f: 0x6c6a8020,\n\t0x23760: 0x6c4d3820,\n\t0x23764: 0x6d2e4e20, 0x23766: 0x6cf86420,\n\t0x23769: 0x6d3e1220,\n\t0x2376c: 0x6cf76e20, 0x2376d: 0x6cb1ac20,\n\t0x23770: 0x6c078020, 0x23772: 0x6c657220,\n\t// Block 0x8de, offset 0x23780\n\t0x23793: 0x6c665c20,\n\t0x23796: 0x6d28ae20,\n\t0x2379e: 0x6c07ac20, 0x2379f: 0x6c995e20,\n\t0x237a2: 0x6d2a7620, 0x237a3: 0x6d3c3820,\n\t0x237a5: 0x6c7bbe20,\n\t0x237a8: 0x6c089e20, 0x237aa: 0x6cac2220,\n\t0x237bc: 0x6c996020, 0x237bd: 0x6ce09020,\n\t// Block 0x8df, offset 0x237c0\n\t0x237de: 0x6cea7a20, 0x237df: 0x6c95aa20,\n\t0x237e2: 0x6cdf9a20,\n\t0x237f1: 0x6c016a20,\n\t0x237f7: 0x6c4e0420,\n\t0x237f8: 0x6d3a0c20, 0x237fa: 0x6c34e820, 0x237fb: 0x6c34ea20,\n\t0x237fc: 0x6c421c20,\n\t// Block 0x8e0, offset 0x23800\n\t0x23806: 0x6cbf8c20,\n\t0x23808: 0x6cee1220, 0x2380a: 0x6ca10420, 0x2380b: 0x6d30f220,\n\t0x2380c: 0x6cf1d620, 0x2380d: 0x6d3c3a20, 0x2380f: 0x6c69fe20,\n\t0x23810: 0x6cad8e20,\n\t0x23818: 0x6cdaa820,\n\t0x2381d: 0x6c724020,\n\t0x23820: 0x6cb4ec20, 0x23821: 0x6c11f420, 0x23823: 0x6ce94a20,\n\t0x23824: 0x6ccbec20, 0x23826: 0x6ceb1620,\n\t0x23829: 0x6c579420, 0x2382b: 0x6d176220,\n\t// Block 0x8e1, offset 0x23840\n\t0x23860: 0x6c9f4820, 0x23861: 0x6d37b420,\n\t0x23865: 0x6cd77e20,\n\t0x23869: 0x6d176420, 0x2386a: 0x6cee1420, 0x2386b: 0x6c024220,\n\t0x23876: 0x6cda7820,\n\t0x2387e: 0x6c4b0020, 0x2387f: 0x6ceb8020,\n\t// Block 0x8e2, offset 0x23880\n\t0x23880: 0x6c5b5220, 0x23883: 0x6d06dc20,\n\t0x23884: 0x6d296c20, 0x23886: 0x6d3f1220, 0x23887: 0x6c0b9e20,\n\t0x23889: 0x6c26a620, 0x2388a: 0x6d19ca20, 0x2388b: 0x6cc35c20,\n\t0x2388e: 0x6c580e20, 0x2388f: 0x6ca2e020,\n\t0x23890: 0x6d28ba20, 0x23892: 0x6ce32620,\n\t0x23898: 0x6d14f820, 0x23899: 0x6cdfaa20, 0x2389a: 0x6ccf1820, 0x2389b: 0x6cd78220,\n\t0x2389d: 0x6d03e620,\n\t0x238a0: 0x6d1fce20, 0x238a3: 0x6c3b7620,\n\t// Block 0x8e3, offset 0x238c0\n\t0x238c7: 0x6c78b220,\n\t0x238cb: 0x6c3e7c20,\n\t0x238d2: 0x6c9fb220,\n\t0x238da: 0x6cb09820,\n\t0x238dc: 0x6c604220, 0x238dd: 0x6cbc4a20, 0x238de: 0x6d37fc20, 0x238df: 0x6c422820,\n\t0x238e0: 0x6d24f820, 0x238e1: 0x6c1b3620,\n\t0x238e5: 0x6cba5a20, 0x238e7: 0x6d424220,\n\t0x238e9: 0x6d00bc20, 0x238ea: 0x6c98ea20,\n\t0x238ec: 0x6c556e20, 0x238ee: 0x6cb0a420, 0x238ef: 0x6d0a9420,\n\t0x238f1: 0x6cf9d220, 0x238f2: 0x6ce34420,\n\t0x238f5: 0x6ca34e20, 0x238f6: 0x6c1fac20,\n\t// Block 0x8e4, offset 0x23900\n\t0x23900: 0x6cf45020,\n\t0x2392c: 0x6c599820, 0x2392d: 0x6d096620, 0x2392e: 0x6ce26620,\n\t0x23930: 0x6cbc4c20, 0x23933: 0x6c685020,\n\t0x2393c: 0x6c293020, 0x2393d: 0x6c044620,\n\t// Block 0x8e5, offset 0x23940\n\t0x2394d: 0x6c297620, 0x2394e: 0x6c79f820,\n\t0x23950: 0x6c70b220, 0x23951: 0x6ccc0a20, 0x23952: 0x6c6dc820,\n\t0x23955: 0x6ca06c20, 0x23956: 0x6caa0220,\n\t0x23958: 0x6cd78e20, 0x2395a: 0x6cd5f820, 0x2395b: 0x6d3c2020,\n\t0x2395c: 0x6c3ec220, 0x2395f: 0x6d29de20,\n\t0x23960: 0x6d00cc20, 0x23961: 0x6c812820, 0x23962: 0x6ce70420,\n\t0x23969: 0x6d306e20,\n\t0x2396c: 0x6c11fe20, 0x2396e: 0x6d26cc20,\n\t0x23971: 0x6d393620,\n\t// Block 0x8e6, offset 0x23980\n\t0x2399a: 0x6cdfb420,\n\t0x2399e: 0x6d0cb420, 0x2399f: 0x6c928820,\n\t0x239a0: 0x6d0db620,\n\t0x239a6: 0x6d2ae020, 0x239a7: 0x6cd66c20,\n\t// Block 0x8e7, offset 0x239c0\n\t0x239c5: 0x6c4c3620, 0x239c6: 0x6d3a2020,\n\t0x239c8: 0x6cc7bc20, 0x239c9: 0x6cc7be20,\n\t0x239cc: 0x6c76e620, 0x239cd: 0x6c626220, 0x239ce: 0x6c42da20,\n\t0x239d2: 0x6d01fa20,\n\t0x239d5: 0x6caba220, 0x239d6: 0x6c64d420,\n\t0x239da: 0x6d349220, 0x239db: 0x6d2c4820,\n\t0x239dd: 0x6c53a820, 0x239df: 0x6c7b7020,\n\t0x239e1: 0x6c0f4420,\n\t0x239e4: 0x6ccb4820, 0x239e5: 0x6c01cc20, 0x239e6: 0x6c66b820,\n\t0x239e8: 0x6ce2ac20, 0x239eb: 0x6cd93420,\n\t0x239ed: 0x6c9c0c20, 0x239ee: 0x6d1a9420, 0x239ef: 0x6cdfb620,\n\t0x239f0: 0x6c4c3820, 0x239f3: 0x6cc84620,\n\t0x239f4: 0x6cf0ba20, 0x239f7: 0x6cd8de20,\n\t// Block 0x8e8, offset 0x23a00\n\t0x23a24: 0x6cb7c220, 0x23a26: 0x6d2f0a20,\n\t// Block 0x8e9, offset 0x23a40\n\t0x23a45: 0x6c304020, 0x23a46: 0x6c3eee20, 0x23a47: 0x6cd07620,\n\t0x23a48: 0x6cdb1a20, 0x23a49: 0x6d18a020, 0x23a4a: 0x6c891820,\n\t0x23a4c: 0x6c516e20, 0x23a4e: 0x6d319420,\n\t0x23a50: 0x6d2afe20, 0x23a52: 0x6c250c20, 0x23a53: 0x6c250e20,\n\t0x23a5d: 0x6c3cf220, 0x23a5e: 0x6c853220, 0x23a5f: 0x6c7a0220,\n\t0x23a63: 0x6d000620,\n\t0x23a64: 0x6d1fee20,\n\t// Block 0x8ea, offset 0x23a80\n\t0x23a83: 0x6c4fea20,\n\t0x23a89: 0x6c4f0620, 0x23a8a: 0x6c790c20,\n\t0x23a9d: 0x6d23ec20,\n\t0x23aa3: 0x6c58e220,\n\t0x23aa4: 0x6cdd3e20, 0x23aa6: 0x6c7e9c20,\n\t0x23aa8: 0x6c313c20, 0x23aa9: 0x6c66de20, 0x23aaa: 0x6cb32020, 0x23aab: 0x6c0b5420,\n\t0x23ab0: 0x6d097420, 0x23ab2: 0x6c0bc820,\n\t0x23ab7: 0x6cf0e620,\n\t// Block 0x8eb, offset 0x23ac0\n\t0x23ae1: 0x6c28d620, 0x23ae2: 0x6c6b5e20, 0x23ae3: 0x6c046020,\n\t0x23ae5: 0x6ca74420, 0x23ae6: 0x6cfd2620, 0x23ae7: 0x6ccb7620,\n\t0x23aea: 0x6c576420, 0x23aeb: 0x6c1fa420,\n\t0x23aee: 0x6caba620, 0x23aef: 0x6c8b5020,\n\t0x23af0: 0x6c2ba420, 0x23af1: 0x6c114e20, 0x23af3: 0x6d2c5e20,\n\t0x23af5: 0x6c936820,\n\t0x23af9: 0x6c5e1420,\n\t0x23afc: 0x6c86ce20, 0x23afd: 0x6d1d1620, 0x23aff: 0x6cf03a20,\n\t// Block 0x8ec, offset 0x23b00\n\t0x23b00: 0x6c0a8c20, 0x23b01: 0x6c4c9620, 0x23b03: 0x6cb0ce20,\n\t0x23b06: 0x6c0c3a20,\n\t0x23b20: 0x6d0dea20,\n\t0x23b24: 0x6d3bee20,\n\t0x23b32: 0x6c539420,\n\t0x23b36: 0x6c8c7820, 0x23b37: 0x6c36ce20,\n\t0x23b39: 0x6d1b1820, 0x23b3a: 0x6c808020,\n\t0x23b3c: 0x6d123820, 0x23b3f: 0x6d08c820,\n\t// Block 0x8ed, offset 0x23b40\n\t0x23b40: 0x6c86fa20,\n\t0x23b68: 0x6c808420, 0x23b69: 0x6c8d9020, 0x23b6a: 0x6cf73820, 0x23b6b: 0x6c52de20,\n\t0x23b6d: 0x6c696a20, 0x23b6e: 0x6d3dd220,\n\t0x23b72: 0x6d34b620,\n\t0x23b75: 0x6c0fb820, 0x23b76: 0x6ce29620, 0x23b77: 0x6c019820,\n\t0x23b7a: 0x6d0a5220, 0x23b7b: 0x6c82fa20,\n\t0x23b7c: 0x6d29ec20, 0x23b7d: 0x6c5b7c20,\n\t// Block 0x8ee, offset 0x23b80\n\t0x23b8e: 0x6cf92620, 0x23b8f: 0x6c539820,\n\t0x23b91: 0x6c397820, 0x23b92: 0x6c662420, 0x23b93: 0x6c23c820,\n\t0x23b94: 0x6d28da20, 0x23b96: 0x6c10e020,\n\t0x23b98: 0x6d1ece20, 0x23b9b: 0x6c338820,\n\t0x23b9c: 0x6cac4e20,\n\t0x23ba5: 0x6cdede20, 0x23ba7: 0x6cacc420,\n\t0x23bab: 0x6c386e20,\n\t0x23bac: 0x6cf74620,\n\t0x23bb6: 0x6d124c20, 0x23bb7: 0x6c957620,\n\t0x23bba: 0x6c0b2220,\n\t0x23bbc: 0x6c6d7420, 0x23bbd: 0x6c876a20,\n\t// Block 0x8ef, offset 0x23bc0\n\t0x23bca: 0x6d0f0a20, 0x23bcb: 0x6c315020,\n\t0x23bce: 0x6c981620,\n\t0x23bd0: 0x6c45ca20, 0x23bd1: 0x6cc51420, 0x23bd2: 0x6c121220,\n\t0x23be3: 0x6c9ae420,\n\t0x23bf1: 0x6c47fc20, 0x23bf2: 0x6cd69e20,\n\t0x23bf8: 0x6d0d2020, 0x23bf9: 0x6c0adc20,\n\t// Block 0x8f0, offset 0x23c00\n\t0x23c00: 0x6c0c6a20, 0x23c01: 0x6c1a6220, 0x23c02: 0x6c7ce620,\n\t0x23c04: 0x6c5d8820,\n\t0x23c0d: 0x6c1be620, 0x23c0f: 0x6cf2d020,\n\t0x23c11: 0x6c23e820, 0x23c12: 0x6d357a20,\n\t0x23c19: 0x6cd70820,\n\t0x23c1c: 0x6c48a220, 0x23c1d: 0x6cb40020, 0x23c1e: 0x6d068620, 0x23c1f: 0x6cd7d020,\n\t0x23c21: 0x6cf42e20,\n\t0x23c2e: 0x6c3d4020,\n\t0x23c30: 0x6cd31e20, 0x23c33: 0x6c5b9220,\n\t0x23c34: 0x6c597c20, 0x23c35: 0x6cabb620,\n\t0x23c3c: 0x6d3a5e20, 0x23c3e: 0x6d14a220,\n\t// Block 0x8f1, offset 0x23c40\n\t0x23c43: 0x6c85a820,\n\t0x23c44: 0x6ccd3420,\n\t0x23c5c: 0x6c9f3820, 0x23c5e: 0x6c437c20,\n\t0x23c60: 0x6c54b020,\n\t0x23c6f: 0x6c371220,\n\t0x23c70: 0x6c380e20, 0x23c73: 0x6d06aa20,\n\t0x23c74: 0x6d14ca20,\n\t0x23c7e: 0x6d1d3620,\n\t// Block 0x8f2, offset 0x23c80\n\t0x23c94: 0x6c1b1820,\n\t0x23c99: 0x6d14cc20,\n\t0x23ca5: 0x6c2b6a20, 0x23ca6: 0x6c5b5020, 0x23ca7: 0x6c510c20,\n\t0x23ca9: 0x6d2c7a20,\n\t0x23cb6: 0x6d27a420, 0x23cb7: 0x6cfa9c20,\n\t// Block 0x8f3, offset 0x23cc0\n\t0x23ccc: 0x6cfb4c20, 0x23ccd: 0x6c81d220, 0x23cce: 0x6cced420, 0x23ccf: 0x6cd36820,\n\t0x23cd0: 0x6d3d5220,\n\t0x23ce4: 0x6c0ca820, 0x23ce5: 0x6c6fc020, 0x23ce6: 0x6cf29220, 0x23ce7: 0x6c68f820,\n\t0x23ce8: 0x6c3e7e20, 0x23cea: 0x6cfd7620, 0x23ceb: 0x6c768a20,\n\t// Block 0x8f4, offset 0x23d00\n\t0x23d32: 0x6ca4fe20,\n\t0x23d34: 0x6c5ddc20, 0x23d35: 0x6c605620, 0x23d36: 0x6c7e7e20,\n\t0x23d3b: 0x6c3d1220,\n\t0x23d3c: 0x6ccd4c20, 0x23d3d: 0x6c8a9c20, 0x23d3e: 0x6c9ee020, 0x23d3f: 0x6c182620,\n\t// Block 0x8f5, offset 0x23d40\n\t0x23d42: 0x6ca05e20,\n\t0x23d4f: 0x6c909820,\n\t0x23d68: 0x6c34f620, 0x23d6b: 0x6ca50020,\n\t0x23d6d: 0x6c5ee820,\n\t0x23d70: 0x6d3b0820,\n\t// Block 0x8f6, offset 0x23d80\n\t0x23d82: 0x6cdad220, 0x23d83: 0x6c34f820,\n\t0x23d87: 0x6c6f2820,\n\t0x23d8a: 0x6d291e20, 0x23d8b: 0x6c5b5c20,\n\t0x23d8c: 0x6d1cfe20, 0x23d8d: 0x6c557a20, 0x23d8e: 0x6c8c5820, 0x23d8f: 0x6cf25820,\n\t0x23d90: 0x6c4ee820,\n\t0x23d94: 0x6ca40620,\n\t0x23db7: 0x6cf8b020,\n\t0x23db9: 0x6c422c20,\n\t0x23dbe: 0x6c51d420, 0x23dbf: 0x6c5f0820,\n\t// Block 0x8f7, offset 0x23dc0\n\t0x23dc0: 0x6cfdf020, 0x23dc1: 0x6ccc0c20,\n\t0x23dd0: 0x6cea0c20, 0x23dd2: 0x6d2f6c20, 0x23dd3: 0x6cd60420,\n\t0x23dd5: 0x6d1fe820, 0x23dd6: 0x6c64d820,\n\t0x23ddc: 0x6d2a8c20,\n\t0x23de4: 0x6d2ed820,\n\t0x23dfd: 0x6cc92c20,\n\t// Block 0x8f8, offset 0x23e00\n\t0x23e04: 0x6d0c2420,\n\t0x23e0b: 0x6c255a20,\n\t0x23e17: 0x6c608a20,\n\t0x23e18: 0x6cce1a20,\n\t0x23e23: 0x6c36a820,\n\t0x23e24: 0x6c817420, 0x23e25: 0x6ce07820, 0x23e27: 0x6d3b2820,\n\t0x23e2d: 0x6c8c3620, 0x23e2f: 0x6d2b9220,\n\t0x23e31: 0x6c732a20, 0x23e32: 0x6c550220,\n\t// Block 0x8f9, offset 0x23e40\n\t0x23e57: 0x6cd07820,\n\t0x23e58: 0x6c5dfa20,\n\t0x23e5c: 0x6c7d2020,\n\t0x23e71: 0x6c1f7620, 0x23e72: 0x6d395020,\n\t0x23e76: 0x6c023020,\n\t0x23e78: 0x6d3db220,\n\t0x23e7d: 0x6d03a420, 0x23e7f: 0x6c9ef420,\n\t// Block 0x8fa, offset 0x23e80\n\t0x23e80: 0x6c550c20,\n\t0x23e94: 0x6ce01a20,\n\t0x23e99: 0x6c0a7220,\n\t0x23ea3: 0x6c2f8420,\n\t0x23ea9: 0x6c769820, 0x23eab: 0x6c0c3c20,\n\t0x23eb0: 0x6c5e1620, 0x23eb1: 0x6c8b5220, 0x23eb2: 0x6c24b820,\n\t// Block 0x8fb, offset 0x23ec0\n\t0x23ec3: 0x6cfd2820,\n\t0x23ec4: 0x6cc55620,\n\t0x23ed3: 0x6d270220,\n\t0x23ed5: 0x6d09be20, 0x23ed7: 0x6c8a8020,\n\t0x23ee3: 0x6ccc2a20,\n\t0x23ee6: 0x6cd3fc20,\n\t0x23eea: 0x6d025c20,\n\t0x23ef3: 0x6cff4a20,\n\t0x23ef7: 0x6d129620,\n\t0x23ef8: 0x6c805020, 0x23ef9: 0x6d192e20,\n\t0x23eff: 0x6c88da20,\n\t// Block 0x8fc, offset 0x23f00\n\t0x23f14: 0x6c0fba20, 0x23f15: 0x6c126e20,\n\t0x23f1d: 0x6d124220,\n\t0x23f26: 0x6c893620,\n\t0x23f3b: 0x6cdef020,\n\t// Block 0x8fd, offset 0x23f40\n\t0x23f51: 0x6c62ec20,\n\t0x23f54: 0x6cf75220, 0x23f55: 0x6d377020,\n\t0x23f5a: 0x6cf75620,\n\t0x23f5d: 0x6d273220,\n\t0x23f64: 0x6cfc6c20, 0x23f66: 0x6d3df820,\n\t0x23f6f: 0x6d2ef820,\n\t0x23f75: 0x6d410620, 0x23f77: 0x6ca2ce20,\n\t0x23f7e: 0x6c2a0420, 0x23f7f: 0x6c8ad620,\n\t// Block 0x8fe, offset 0x23f80\n\t0x23f80: 0x6ca2d220,\n\t0x23f89: 0x6cad5420, 0x23f8b: 0x6c721620,\n\t0x23f96: 0x6c95b220,\n\t0x23f99: 0x6cd64820, 0x23f9a: 0x6cce5420,\n\t0x23f9d: 0x6c95b420, 0x23f9f: 0x6c3b3a20,\n\t0x23fa3: 0x6c065820,\n\t0x23fa8: 0x6c865820, 0x23fab: 0x6d04a220,\n\t0x23fb6: 0x6c290820,\n\t// Block 0x8ff, offset 0x23fc0\n\t0x23fc0: 0x6c1a8c20,\n\t0x23fc4: 0x6d2f1420, 0x23fc7: 0x6cda3a20,\n\t0x23fca: 0x6cd03e20,\n\t0x23fd2: 0x6c447220,\n\t0x23fd8: 0x6d209020, 0x23fda: 0x6c5ad420, 0x23fdb: 0x6c183e20,\n\t0x23fdd: 0x6c698420, 0x23fde: 0x6d3ac420, 0x23fdf: 0x6cd4b220,\n\t0x23fe2: 0x6cff8420,\n\t0x23fe6: 0x6ca91420,\n\t0x23fed: 0x6c674420, 0x23fef: 0x6c674820,\n\t0x23ff7: 0x6c2e0e20,\n\t0x23ffd: 0x6cbb0c20, 0x23ffe: 0x6cc04e20,\n\t// Block 0x900, offset 0x24000\n\t0x24000: 0x6c3c4020,\n\t0x24006: 0x6d2e6620, 0x24007: 0x6c77fa20,\n\t0x24012: 0x6c2ece20, 0x24013: 0x6d2aec20,\n\t0x24016: 0x6c49f820, 0x24017: 0x6ccb5c20,\n\t0x24018: 0x6c3bea20, 0x2401b: 0x6c67bc20,\n\t0x2401d: 0x6d0cd820, 0x2401e: 0x6d370820,\n\t0x24022: 0x6c872220,\n\t0x24026: 0x6c8ddc20,\n\t0x2402a: 0x6d146420,\n\t0x2402c: 0x6cc23e20, 0x2402d: 0x6cac5220, 0x2402e: 0x6c463a20,\n\t0x24030: 0x6c640220, 0x24031: 0x6c50da20, 0x24033: 0x6caf0c20,\n\t0x24035: 0x6c721820, 0x24037: 0x6c180620,\n\t0x2403a: 0x6c8af220, 0x2403b: 0x6cd35220,\n\t0x2403c: 0x6cb37a20, 0x2403d: 0x6cfe2820, 0x2403f: 0x6cb08e20,\n\t// Block 0x901, offset 0x24040\n\t0x24040: 0x6c95ae20, 0x24041: 0x6c243420, 0x24043: 0x6d225020,\n\t0x24047: 0x6c79a820,\n\t0x24048: 0x6d01b020,\n\t0x2404d: 0x6ced1e20, 0x2404e: 0x6d0d8e20, 0x2404f: 0x6cadd820,\n\t0x24053: 0x6c1a0620,\n\t0x24058: 0x6ce34620, 0x24059: 0x6c182820, 0x2405a: 0x6c09ce20, 0x2405b: 0x6c890820,\n\t0x2405c: 0x6c641e20, 0x2405e: 0x6ce68220,\n\t0x24062: 0x6ce2f620,\n\t0x24068: 0x6c2edc20, 0x2406a: 0x6cd60620, 0x2406b: 0x6c842e20,\n\t0x2406c: 0x6c936020, 0x2406d: 0x6cf97420, 0x2406f: 0x6c24e420,\n\t0x24073: 0x6c0e9220,\n\t0x24074: 0x6ce9ba20, 0x24075: 0x6cb45020, 0x24077: 0x6c8c6220,\n\t0x24078: 0x6c3bec20, 0x2407a: 0x6c0f7620, 0x2407b: 0x6c163620,\n\t0x2407e: 0x6c290a20, 0x2407f: 0x6cdf5820,\n\t// Block 0x902, offset 0x24080\n\t0x24080: 0x6c2a3c20, 0x24083: 0x6c872420,\n\t0x24085: 0x6d0b1220, 0x24086: 0x6d0b1820, 0x24087: 0x6d2d6620,\n\t0x2408a: 0x6d14e220,\n\t0x2408c: 0x6cb4fa20,\n\t0x24094: 0x6c564420, 0x24096: 0x6ce62a20,\n\t0x24098: 0x6c79cc20, 0x2409b: 0x6c213220,\n\t0x2409c: 0x6d1f0020, 0x2409d: 0x6c3bd020, 0x2409f: 0x6caab220,\n\t0x240a0: 0x6ce53020, 0x240a1: 0x6c6cde20, 0x240a2: 0x6cafbc20, 0x240a3: 0x6c18a420,\n\t0x240a4: 0x6cb08820, 0x240a6: 0x6c6bc420, 0x240a7: 0x6c4ac820,\n\t0x240b2: 0x6d3c3220,\n\t0x240b5: 0x6c552420, 0x240b6: 0x6c1e2420, 0x240b7: 0x6cd5a020,\n\t0x240b8: 0x6ce1b420, 0x240b9: 0x6cafc620, 0x240ba: 0x6cc70020, 0x240bb: 0x6cc70220,\n\t0x240bd: 0x6c544e20, 0x240be: 0x6cae5a20,\n\t// Block 0x903, offset 0x240c0\n\t0x240c5: 0x6c043e20, 0x240c7: 0x6cf99a20,\n\t0x240cb: 0x6cbdcc20,\n\t0x240cc: 0x6ca63220, 0x240ce: 0x6ce1b620, 0x240cf: 0x6cc26a20,\n\t0x240d2: 0x6d008e20,\n\t0x240d4: 0x6d2fa820, 0x240d5: 0x6c570e20, 0x240d6: 0x6d02c820,\n\t0x240d8: 0x6cd42e20, 0x240db: 0x6ce8a620,\n\t0x240dd: 0x6c895020, 0x240de: 0x6c097c20, 0x240df: 0x6c1e5a20,\n\t0x240e1: 0x6d037020, 0x240e3: 0x6d02cc20,\n\t0x240e4: 0x6c3d6820,\n\t0x240e9: 0x6c6bde20,\n\t0x240ed: 0x6c3f5e20,\n\t0x240f0: 0x6ce27a20, 0x240f1: 0x6ccf4c20,\n\t0x240f4: 0x6c174620, 0x240f5: 0x6c20b820,\n\t0x240fc: 0x6cc47a20, 0x240fd: 0x6c545620, 0x240fe: 0x6c07ec20,\n\t// Block 0x904, offset 0x24100\n\t0x24100: 0x6c113020,\n\t0x24105: 0x6ca21420,\n\t0x24109: 0x6d059e20, 0x2410a: 0x6c2eaa20,\n\t0x2410d: 0x6c15c220, 0x2410e: 0x6d215c20, 0x2410f: 0x6d383620,\n\t0x24113: 0x6c83e620,\n\t0x24114: 0x6cd43420,\n\t0x2411a: 0x6c31a420,\n\t0x2411c: 0x6c98bc20, 0x2411d: 0x6c59d420, 0x2411f: 0x6ce22c20,\n\t0x24121: 0x6c326620, 0x24122: 0x6ce34820, 0x24123: 0x6cd10820,\n\t0x24124: 0x6c9a0e20,\n\t0x24128: 0x6d316820, 0x24129: 0x6cbd9020, 0x2412a: 0x6cb0ae20, 0x2412b: 0x6ce11620,\n\t0x2412c: 0x6c123820, 0x2412d: 0x6d112420, 0x2412f: 0x6d054620,\n\t0x24130: 0x6c053620, 0x24131: 0x6c47b220,\n\t0x24135: 0x6c10aa20,\n\t0x2413c: 0x6c46c620, 0x2413d: 0x6c0f2e20,\n\t// Block 0x905, offset 0x24140\n\t0x24141: 0x6cf21020,\n\t0x24144: 0x6c624420,\n\t0x2414a: 0x6c7e4c20,\n\t0x2414d: 0x6c24e620, 0x2414e: 0x6c9fc820, 0x2414f: 0x6c242820,\n\t0x24150: 0x6cab4e20, 0x24151: 0x6d1da620,\n\t0x24156: 0x6c98fe20, 0x24157: 0x6c78c820,\n\t0x24158: 0x6c981e20, 0x24159: 0x6c2f8020, 0x2415a: 0x6c582e20, 0x2415b: 0x6c34ac20,\n\t0x2415c: 0x6c677420, 0x2415d: 0x6cdb0220,\n\t0x24162: 0x6c135c20, 0x24163: 0x6cde9e20,\n\t0x24165: 0x6c59f820, 0x24166: 0x6c74be20, 0x24167: 0x6d0a4020,\n\t0x2416a: 0x6d04a620,\n\t0x2416c: 0x6c9d8820, 0x2416d: 0x6cc45620, 0x2416e: 0x6c817620,\n\t0x24171: 0x6d370a20, 0x24172: 0x6cf02820,\n\t0x24177: 0x6ccb6e20,\n\t0x2417b: 0x6d29ea20,\n\t// Block 0x906, offset 0x24180\n\t0x24181: 0x6c019620, 0x24182: 0x6cf10c20,\n\t0x24184: 0x6c581e20, 0x24187: 0x6d2e9e20,\n\t0x24189: 0x6d1c2c20, 0x2418a: 0x6c43bc20, 0x2418b: 0x6c5c9220,\n\t0x2418d: 0x6cc33420,\n\t0x24193: 0x6c8b7c20,\n\t0x24194: 0x6c719a20, 0x24195: 0x6c03de20, 0x24196: 0x6c82a620,\n\t0x24198: 0x6c97ac20, 0x24199: 0x6c8dde20,\n\t0x2419c: 0x6c856a20, 0x2419d: 0x6c611420,\n\t0x241a1: 0x6c5b1620, 0x241a2: 0x6d031820, 0x241a3: 0x6cd30020,\n\t0x241a4: 0x6d300e20, 0x241a7: 0x6c0e4820,\n\t0x241ab: 0x6c137a20,\n\t0x241af: 0x6c137e20,\n\t0x241b0: 0x6c6d8c20, 0x241b1: 0x6c031c20, 0x241b2: 0x6c06da20,\n\t0x241b5: 0x6d0e3c20, 0x241b7: 0x6c565e20,\n\t0x241b9: 0x6d20ba20, 0x241bb: 0x6c091e20,\n\t0x241bc: 0x6c1ff220, 0x241be: 0x6c612220,\n\t// Block 0x907, offset 0x241c0\n\t0x241c2: 0x6ca26c20,\n\t0x241c4: 0x6c98c420, 0x241c5: 0x6d379420, 0x241c7: 0x6d12c620,\n\t0x241c8: 0x6c30a020, 0x241c9: 0x6d12a420,\n\t0x241cd: 0x6cc63c20, 0x241ce: 0x6d19a620,\n\t0x241d0: 0x6c501e20, 0x241d2: 0x6ca31220, 0x241d3: 0x6ce61020,\n\t0x241d4: 0x6c3fb620, 0x241d5: 0x6ca22c20, 0x241d6: 0x6d291020,\n\t0x241d8: 0x6c552820, 0x241da: 0x6c185c20, 0x241db: 0x6ceaf420,\n\t0x241de: 0x6c1f1220, 0x241df: 0x6c3df820,\n\t0x241e7: 0x6c063420,\n\t0x241ec: 0x6c2bde20, 0x241ed: 0x6c111c20, 0x241ee: 0x6c921220, 0x241ef: 0x6cb35020,\n\t0x241f0: 0x6c268620, 0x241f1: 0x6d12da20, 0x241f3: 0x6d15d220,\n\t0x241f7: 0x6cfdb620,\n\t0x241f8: 0x6c086e20, 0x241f9: 0x6d398c20, 0x241fb: 0x6d14a620,\n\t0x241fd: 0x6c93d220, 0x241ff: 0x6c7b9420,\n\t// Block 0x908, offset 0x24200\n\t0x24202: 0x6d35a420,\n\t0x24207: 0x6cec0820,\n\t0x24208: 0x6c2b1c20, 0x24209: 0x6cd5b020, 0x2420a: 0x6c8ad820, 0x2420b: 0x6d2a4220,\n\t0x2420c: 0x6d35a620, 0x2420d: 0x6ca49e20,\n\t0x24217: 0x6c147220,\n\t0x2421a: 0x6cfea620, 0x2421b: 0x6d2a0220,\n\t0x2421e: 0x6d22f420, 0x2421f: 0x6c310620,\n\t0x24220: 0x6c143e20, 0x24221: 0x6d009020, 0x24222: 0x6d0fa220,\n\t0x24224: 0x6cfc0220, 0x24225: 0x6c05f220,\n\t0x2422e: 0x6d2cec20,\n\t0x24230: 0x6cc03420, 0x24232: 0x6c553420, 0x24233: 0x6d293220,\n\t0x24234: 0x6c741620, 0x24236: 0x6c4d9a20,\n\t0x2423f: 0x6c01ae20,\n\t// Block 0x909, offset 0x24240\n\t0x24240: 0x6d2a7820, 0x24243: 0x6ccc4c20,\n\t0x24245: 0x6cfcb220, 0x24246: 0x6c1b9e20, 0x24247: 0x6d0d6a20,\n\t0x24249: 0x6c01ba20,\n\t0x2424d: 0x6d305220, 0x2424e: 0x6c742c20,\n\t0x24251: 0x6c85ea20, 0x24253: 0x6c822020,\n\t0x24256: 0x6c112c20,\n\t0x24258: 0x6c924220, 0x2425a: 0x6c634c20,\n\t0x2425d: 0x6cfa3820, 0x2425e: 0x6cfff020, 0x2425f: 0x6d0c0c20,\n\t0x24260: 0x6d05a020, 0x24262: 0x6c33f020, 0x24263: 0x6d1c7620,\n\t0x24264: 0x6c5ab820, 0x24265: 0x6ce32820, 0x24266: 0x6caa0020, 0x24267: 0x6cf7e820,\n\t0x2426a: 0x6ce8b220,\n\t0x24277: 0x6cec5620,\n\t0x24278: 0x6c186620,\n\t0x2427c: 0x6c52aa20, 0x2427e: 0x6ce32a20, 0x2427f: 0x6d07a020,\n\t// Block 0x90a, offset 0x24280\n\t0x24280: 0x6d28bc20,\n\t0x24287: 0x6c43f020,\n\t0x2428b: 0x6c908c20,\n\t0x2428c: 0x6c147c20, 0x2428d: 0x6cac6020, 0x2428e: 0x6c605820,\n\t0x24290: 0x6cde5e20, 0x24293: 0x6cf64e20,\n\t0x24296: 0x6cfeda20,\n\t0x24298: 0x6ccab620, 0x24299: 0x6c637020, 0x2429a: 0x6cdad420, 0x2429b: 0x6c599a20,\n\t0x2429d: 0x6c25bc20, 0x2429f: 0x6cde6020,\n\t0x242a0: 0x6cd65420,\n\t0x242aa: 0x6c3e9a20, 0x242ab: 0x6c863620,\n\t0x242ad: 0x6ccf5a20, 0x242af: 0x6ce10620,\n\t0x242b6: 0x6c2cd020,\n\t0x242ba: 0x6c09fa20,\n\t0x242bc: 0x6c46c820, 0x242bd: 0x6c244620, 0x242bf: 0x6cb90820,\n\t// Block 0x90b, offset 0x242c0\n\t0x242c2: 0x6c824620, 0x242c3: 0x6cdaea20,\n\t0x242c6: 0x6d402420, 0x242c7: 0x6c4faa20,\n\t0x242cf: 0x6c1c4420,\n\t0x242d0: 0x6c128020, 0x242d3: 0x6cf30420,\n\t0x242d4: 0x6cfef220, 0x242d5: 0x6c8b2020, 0x242d6: 0x6d0c1e20,\n\t0x242dd: 0x6c09fc20, 0x242df: 0x6c594220,\n\t0x242e1: 0x6cf67820, 0x242e2: 0x6c1ac820, 0x242e3: 0x6d05d620,\n\t0x242e4: 0x6ca4bc20, 0x242e5: 0x6d0cc020, 0x242e7: 0x6d01fc20,\n\t0x242e8: 0x6d2c4a20, 0x242ea: 0x6cdc5e20,\n\t0x242ec: 0x6cf8ca20, 0x242ed: 0x6c080620, 0x242ee: 0x6cc48420, 0x242ef: 0x6cd79820,\n\t0x242f0: 0x6c049020, 0x242f1: 0x6c4b6a20, 0x242f2: 0x6c763c20, 0x242f3: 0x6c188020,\n\t0x242f6: 0x6d072820,\n\t0x242fe: 0x6c368620, 0x242ff: 0x6c865a20,\n\t// Block 0x90c, offset 0x24300\n\t0x24300: 0x6cf69e20, 0x24301: 0x6c594c20, 0x24302: 0x6cdb0420,\n\t0x24304: 0x6c16f620,\n\t0x2430a: 0x6c92a820, 0x2430b: 0x6d0cc220,\n\t0x2430e: 0x6c290620, 0x2430f: 0x6c284620,\n\t0x24310: 0x6d0f6a20, 0x24312: 0x6d2d3620, 0x24313: 0x6c729020,\n\t0x24315: 0x6c345e20, 0x24316: 0x6ccabe20, 0x24317: 0x6c7f2a20,\n\t0x24318: 0x6cdb1c20,\n\t0x2431f: 0x6d2b0020,\n\t0x24323: 0x6c0a5020,\n\t0x24326: 0x6d1b8c20,\n\t0x24328: 0x6c4fb420, 0x2432a: 0x6c8b3a20,\n\t0x2432d: 0x6c4ff620, 0x2432e: 0x6d0fdc20,\n\t0x24334: 0x6cd7a420, 0x24335: 0x6c00f020, 0x24336: 0x6cbf7420,\n\t0x24339: 0x6c82ec20, 0x2433a: 0x6d011220,\n\t0x2433c: 0x6cd3f220,\n\t// Block 0x90d, offset 0x24340\n\t0x24343: 0x6c91ec20,\n\t0x24345: 0x6cc41220, 0x24346: 0x6c888020,\n\t0x2434c: 0x6d001a20, 0x2434e: 0x6d1c2020,\n\t0x24351: 0x6d012620,\n\t0x24358: 0x6c8d9e20, 0x24359: 0x6d1ed620,\n\t0x2435e: 0x6c294020, 0x2435f: 0x6c806020,\n\t0x24360: 0x6cff5e20,\n\t0x24368: 0x6d182a20,\n\t0x2436c: 0x6cf34c20, 0x2436e: 0x6d168e20, 0x2436f: 0x6ceaa420,\n\t0x24370: 0x6c102e20, 0x24372: 0x6d032020,\n\t0x24375: 0x6cd7c420, 0x24376: 0x6c6c2a20,\n\t0x24378: 0x6c031e20, 0x24379: 0x6c383020, 0x2437b: 0x6ca0d420,\n\t0x2437c: 0x6cc91220,\n\t// Block 0x90e, offset 0x24380\n\t0x2438a: 0x6c26ea20, 0x2438b: 0x6c619820,\n\t0x24390: 0x6cda8820, 0x24391: 0x6cbf0620, 0x24392: 0x6c033020,\n\t0x243a6: 0x6ce48c20, 0x243a7: 0x6d1f0a20,\n\t0x243a9: 0x6ceb0020, 0x243ab: 0x6cec6c20,\n\t0x243ac: 0x6d202e20, 0x243ae: 0x6c2fe820,\n\t0x243b1: 0x6cf7d820, 0x243b2: 0x6c799820,\n\t0x243b6: 0x6cbf0c20, 0x243b7: 0x6c32f820,\n\t0x243b8: 0x6c34e420, 0x243ba: 0x6d173620,\n\t// Block 0x90f, offset 0x243c0\n\t0x243d2: 0x6cf5c820, 0x243d3: 0x6cbd2420,\n\t0x243d4: 0x6cda9220, 0x243d7: 0x6c8e5220,\n\t0x243d9: 0x6cecd820,\n\t0x243ed: 0x6c17da20, 0x243ee: 0x6d399a20,\n\t0x243f0: 0x6c997220,\n\t0x243f7: 0x6cc2de20,\n\t0x243fd: 0x6d208c20, 0x243ff: 0x6d17ac20,\n\t// Block 0x910, offset 0x24400\n\t0x24400: 0x6c9c5020, 0x24403: 0x6c7f0c20,\n\t0x24404: 0x6d362e20,\n\t0x24424: 0x6ca5e620, 0x24426: 0x6c048220,\n\t0x2442a: 0x6c300420,\n\t0x2442e: 0x6d363020,\n\t// Block 0x911, offset 0x24440\n\t0x24455: 0x6d17ec20,\n\t0x24458: 0x6c8d1e20, 0x24459: 0x6d216020, 0x2445a: 0x6c231e20, 0x2445b: 0x6c2c6a20,\n\t0x2445c: 0x6d365c20,\n\t0x24460: 0x6cc86820, 0x24463: 0x6c669a20,\n\t0x24469: 0x6ced8c20, 0x2446b: 0x6c6d2c20,\n\t0x2446d: 0x6cad0820,\n\t// Block 0x912, offset 0x24480\n\t0x2448d: 0x6c928a20, 0x2448e: 0x6cc1a620,\n\t0x24490: 0x6cf80020, 0x24491: 0x6c26b420,\n\t0x24496: 0x6c56c220, 0x24497: 0x6c95bc20,\n\t0x24499: 0x6c822820,\n\t0x244b6: 0x6c45f820,\n\t0x244bb: 0x6c8e2620,\n\t// Block 0x913, offset 0x244c0\n\t0x244c2: 0x6c817820,\n\t0x244c4: 0x6d3be420,\n\t0x244e8: 0x6d2a5220, 0x244e9: 0x6c506a20, 0x244ea: 0x6cfe5420,\n\t0x244ed: 0x6c507020, 0x244ee: 0x6c86a220,\n\t0x244f1: 0x6c2d8820, 0x244f2: 0x6c444020,\n\t0x244fd: 0x6c58a820,\n\t// Block 0x914, offset 0x24500\n\t0x24504: 0x6c36b620, 0x24506: 0x6cf9fe20,\n\t0x2450b: 0x6c651820,\n\t0x2450c: 0x6cb67420, 0x2450d: 0x6cfa0820, 0x2450e: 0x6d1ffa20,\n\t0x24521: 0x6d330420,\n\t0x2452a: 0x6d3bf220,\n\t0x2452e: 0x6c163a20,\n\t// Block 0x915, offset 0x24540\n\t0x24549: 0x6d027a20,\n\t0x24555: 0x6ca4d620,\n\t0x2455d: 0x6c62ee20, 0x2455e: 0x6ce4d620,\n\t0x24563: 0x6d0e3220,\n\t0x24567: 0x6c500c20,\n\t0x24568: 0x6d030820, 0x24569: 0x6c8de020, 0x2456b: 0x6c047620,\n\t0x2456c: 0x6c081220,\n\t0x24571: 0x6c463e20, 0x24572: 0x6c8cc820,\n\t0x24575: 0x6c7df420, 0x24576: 0x6cb85e20, 0x24577: 0x6c699e20,\n\t0x24579: 0x6c371420, 0x2457a: 0x6d10fa20, 0x2457b: 0x6c316e20,\n\t// Block 0x916, offset 0x24580\n\t0x24581: 0x6c5d9220, 0x24582: 0x6c322420, 0x24583: 0x6cadbe20,\n\t0x2458c: 0x6d259820, 0x2458f: 0x6c90b820,\n\t0x24590: 0x6d03f820, 0x24593: 0x6c883a20,\n\t0x24594: 0x6d113820, 0x24595: 0x6cf6a020, 0x24596: 0x6d114420,\n\t0x24598: 0x6cf70020, 0x2459b: 0x6c918a20,\n\t0x2459d: 0x6d0f0020,\n\t0x245a0: 0x6cc33820,\n\t0x245a5: 0x6cc50020, 0x245a6: 0x6cec2020, 0x245a7: 0x6d40a420,\n\t0x245a8: 0x6c392e20, 0x245a9: 0x6d16c620, 0x245aa: 0x6c323c20, 0x245ab: 0x6cdc2620,\n\t0x245ad: 0x6caf4820, 0x245af: 0x6c4de820,\n\t0x245b1: 0x6d069820, 0x245b3: 0x6c45e620,\n\t0x245b5: 0x6c2c2e20, 0x245b7: 0x6ca32620,\n\t0x245be: 0x6c34ec20, 0x245bf: 0x6cebda20,\n\t// Block 0x917, offset 0x245c0\n\t0x245c2: 0x6ca81820,\n\t0x245c8: 0x6c2e1a20, 0x245c9: 0x6c598e20,\n\t0x245cc: 0x6ce32c20, 0x245cd: 0x6c395420,\n\t0x245d1: 0x6cf3ca20, 0x245d2: 0x6c01fe20,\n\t0x245d4: 0x6cb2a820,\n\t0x245d9: 0x6c4e1420, 0x245db: 0x6c428820,\n\t0x245dc: 0x6c83e820, 0x245de: 0x6c339c20, 0x245df: 0x6c400e20,\n\t0x245e0: 0x6ca35020, 0x245e2: 0x6c132220,\n\t0x245e7: 0x6c6a2820,\n\t0x245e9: 0x6cbed020, 0x245eb: 0x6d1bd020,\n\t0x245ec: 0x6cfdd220,\n\t0x245f1: 0x6c557c20,\n\t0x245f4: 0x6cdaec20,\n\t0x245fb: 0x6c43a420,\n\t0x245fc: 0x6c368820, 0x245fd: 0x6d072a20,\n\t// Block 0x918, offset 0x24600\n\t0x24606: 0x6cf6cc20,\n\t0x2460a: 0x6c774c20, 0x2460b: 0x6c4c8a20,\n\t0x2460c: 0x6c6a3620, 0x2460d: 0x6c200c20, 0x2460e: 0x6c826220, 0x2460f: 0x6c527620,\n\t0x24610: 0x6d41f420,\n\t0x24615: 0x6cb1e620,\n\t0x24618: 0x6c2ab420, 0x24619: 0x6cf70220, 0x2461a: 0x6c826820,\n\t0x2461c: 0x6ccdc620,\n\t0x24627: 0x6c918c20,\n\t0x24629: 0x6c338a20, 0x2462a: 0x6c760420,\n\t0x2462d: 0x6c164820, 0x2462f: 0x6d012c20,\n\t0x24630: 0x6cec0220, 0x24631: 0x6d30c420, 0x24633: 0x6d3b9e20,\n\t0x24637: 0x6c8f6020,\n\t0x24638: 0x6c82aa20,\n\t0x2463c: 0x6c273620, 0x2463d: 0x6c417820,\n\t// Block 0x919, offset 0x24640\n\t0x24644: 0x6cd34020, 0x24647: 0x6d0da420,\n\t0x2464c: 0x6c41b420,\n\t0x24650: 0x6d0d0020,\n\t0x24656: 0x6cdbac20,\n\t0x2465a: 0x6d37a620,\n\t0x2465c: 0x6cd34220,\n\t0x24661: 0x6cd15c20,\n\t0x24665: 0x6c15ae20,\n\t0x24677: 0x6c5a0820,\n\t0x24678: 0x6d1b8e20, 0x2467b: 0x6c9bee20,\n\t// Block 0x91a, offset 0x24680\n\t0x24682: 0x6cc4f220,\n\t0x24685: 0x6cfdae20,\n\t0x24688: 0x6c071420,\n\t0x2468c: 0x6c200820,\n\t0x24691: 0x6cb47620,\n\t0x24699: 0x6c77d220, 0x2469a: 0x6c7e3820,\n\t0x2469d: 0x6cc35020, 0x2469f: 0x6c4f9220,\n\t0x246a0: 0x6c1bf220, 0x246a1: 0x6c983820,\n\t0x246a6: 0x6d2cb020,\n\t0x246aa: 0x6c3bd220,\n\t0x246ac: 0x6c17b420,\n\t0x246b3: 0x6c6e1820,\n\t// Block 0x91b, offset 0x246c0\n\t0x246c3: 0x6c8ada20,\n\t0x246c5: 0x6ca31c20, 0x246c6: 0x6ca31e20, 0x246c7: 0x6ce72a20,\n\t0x246cb: 0x6cc46620,\n\t0x246cc: 0x6d411620, 0x246cd: 0x6caf5420, 0x246ce: 0x6d1fba20,\n\t0x246d0: 0x6cd4be20,\n\t0x246db: 0x6c8af420,\n\t0x246dc: 0x6cd43020, 0x246dd: 0x6ce97e20, 0x246df: 0x6c430220,\n\t0x246e0: 0x6ccea220, 0x246e1: 0x6ceb0420, 0x246e3: 0x6ca3f220,\n\t0x246e7: 0x6ceb7a20,\n\t0x246e8: 0x6c458220, 0x246e9: 0x6c2e1c20,\n\t0x246f4: 0x6c9bd020, 0x246f5: 0x6c052820, 0x246f7: 0x6d00a420,\n\t0x246f8: 0x6cd8b420, 0x246f9: 0x6ce6c820, 0x246fa: 0x6c4b4220,\n\t0x246fd: 0x6c3e8020, 0x246fe: 0x6c4b4820,\n\t// Block 0x91c, offset 0x24700\n\t0x24709: 0x6c4b4a20,\n\t0x24711: 0x6d3a7420, 0x24713: 0x6c7f1420,\n\t0x24715: 0x6c951620, 0x24716: 0x6ce50020, 0x24717: 0x6cc4c620,\n\t0x2471a: 0x6c300820,\n\t0x24728: 0x6c737220, 0x24729: 0x6d0cac20,\n\t0x2472c: 0x6cc84020, 0x2472d: 0x6c283a20,\n\t0x24730: 0x6c999e20,\n\t0x24736: 0x6c944020,\n\t0x24738: 0x6d072c20, 0x2473a: 0x6cf6a220,\n\t// Block 0x91d, offset 0x24740\n\t0x24742: 0x6c967420, 0x24743: 0x6cb52220,\n\t0x24745: 0x6c144820,\n\t0x24748: 0x6cce1e20, 0x24749: 0x6c4f0820, 0x2474a: 0x6cb2ce20,\n\t0x2474e: 0x6c5f3820,\n\t0x24753: 0x6c86a620,\n\t0x24755: 0x6d240c20, 0x24756: 0x6c04a420,\n\t0x24758: 0x6ce29220,\n\t0x2475d: 0x6c1de820,\n\t0x24760: 0x6c1dea20,\n\t0x24764: 0x6cb54420, 0x24765: 0x6cf70420, 0x24766: 0x6c076820,\n\t0x2476a: 0x6d138020,\n\t0x2476d: 0x6c4a1020, 0x2476f: 0x6d3b3a20,\n\t0x24773: 0x6c827c20,\n\t0x24774: 0x6c827e20, 0x24775: 0x6c13be20,\n\t// Block 0x91e, offset 0x24780\n\t0x24780: 0x6c4a1420,\n\t0x2478d: 0x6c2f2420,\n\t0x24793: 0x6d0b4420,\n\t0x24798: 0x6ca7fc20, 0x24799: 0x6cd4de20, 0x2479b: 0x6d363220,\n\t0x2479f: 0x6d36e420,\n\t0x247a2: 0x6d36e620, 0x247a3: 0x6cb07620,\n\t0x247a5: 0x6c6f4e20, 0x247a6: 0x6c6f5220, 0x247a7: 0x6d169020,\n\t0x247a8: 0x6d201220, 0x247aa: 0x6c6f5420,\n\t0x247af: 0x6c58f220,\n\t0x247b1: 0x6c323e20,\n\t0x247bb: 0x6ce20c20,\n\t0x247bc: 0x6cbc9e20, 0x247bd: 0x6cbd5c20, 0x247be: 0x6d032420, 0x247bf: 0x6c14bc20,\n\t// Block 0x91f, offset 0x247c0\n\t0x247c0: 0x6c61ae20, 0x247c2: 0x6cbe0a20,\n\t0x247ca: 0x6c324620, 0x247cb: 0x6d33aa20,\n\t0x247ce: 0x6cab7820,\n\t0x247d0: 0x6cf4c820, 0x247d2: 0x6cf18620,\n\t0x247d8: 0x6c096620, 0x247db: 0x6c069420,\n\t0x247dd: 0x6ca23c20, 0x247de: 0x6c6cf420, 0x247df: 0x6ce21220,\n\t0x247e0: 0x6c89e220,\n\t0x247e5: 0x6c127220, 0x247e6: 0x6d2c2820,\n\t0x247ec: 0x6c1b8e20, 0x247ed: 0x6d0ae020, 0x247ee: 0x6c7c6420, 0x247ef: 0x6d1b4420,\n\t0x247f8: 0x6c8f8820, 0x247f9: 0x6cb86020, 0x247fb: 0x6c4f4c20,\n\t0x247fc: 0x6cce5020, 0x247fd: 0x6c4d6420, 0x247fe: 0x6c139220,\n\t// Block 0x920, offset 0x24800\n\t0x24800: 0x6c68e220, 0x24801: 0x6c81ae20,\n\t0x24808: 0x6cf5fa20, 0x2480b: 0x6c0ef220,\n\t0x24813: 0x6d351a20,\n\t0x24815: 0x6cea8a20, 0x24816: 0x6c3e8220,\n\t0x24818: 0x6c54ce20, 0x2481a: 0x6ca83220, 0x2481b: 0x6d17ae20,\n\t0x2481c: 0x6d3c4020,\n\t0x24820: 0x6c13e620,\n\t0x24824: 0x6cdb8220, 0x24827: 0x6d283620,\n\t0x2482e: 0x6c325e20,\n\t0x24830: 0x6cf61c20, 0x24831: 0x6c203620, 0x24832: 0x6d03e820, 0x24833: 0x6c68fa20,\n\t0x24834: 0x6ccfea20,\n\t// Block 0x921, offset 0x24840\n\t0x24840: 0x6cedca20, 0x24841: 0x6c06a220, 0x24842: 0x6c3a3a20, 0x24843: 0x6c669c20,\n\t0x24844: 0x6cc30020, 0x24845: 0x6d17f020, 0x24846: 0x6c300a20, 0x24847: 0x6d06f620,\n\t0x24848: 0x6ca35220, 0x24849: 0x6c605a20,\n\t0x2484c: 0x6d31e620, 0x2484d: 0x6cb5fa20, 0x2484e: 0x6c330a20, 0x2484f: 0x6d1a7220,\n\t0x24851: 0x6c700420, 0x24852: 0x6caffe20, 0x24853: 0x6d033e20,\n\t0x24854: 0x6c94fe20, 0x24855: 0x6c113420, 0x24856: 0x6c8e2020, 0x24857: 0x6c0cac20,\n\t0x24858: 0x6c2a1c20, 0x24859: 0x6c2a7620,\n\t0x2485f: 0x6c7ed820,\n\t0x24861: 0x6cf65020, 0x24862: 0x6c725620,\n\t0x24864: 0x6cff9020, 0x24866: 0x6c6dc020,\n\t0x24879: 0x6cec7220, 0x2487b: 0x6ca50a20,\n\t0x2487c: 0x6cfd8220, 0x2487d: 0x6cc3e220, 0x2487e: 0x6cbcd420, 0x2487f: 0x6ce86a20,\n\t// Block 0x922, offset 0x24880\n\t0x24880: 0x6d064a20, 0x24881: 0x6c5bfc20,\n\t0x24885: 0x6c9f6c20, 0x24886: 0x6ceff220,\n\t0x24888: 0x6d1f5620, 0x24889: 0x6ce9ae20, 0x2488a: 0x6c278020,\n\t0x2488e: 0x6c786c20, 0x2488f: 0x6ca36220,\n\t0x24891: 0x6c401c20, 0x24892: 0x6d239620, 0x24893: 0x6d354420,\n\t0x24895: 0x6c4dae20, 0x24896: 0x6c002e20, 0x24897: 0x6c401e20,\n\t0x248a1: 0x6d0f6220,\n\t0x248a4: 0x6cd27e20, 0x248a6: 0x6c150c20,\n\t0x248aa: 0x6c1c5c20, 0x248ab: 0x6d284820,\n\t0x248ac: 0x6cd65a20, 0x248ae: 0x6cdb0620, 0x248af: 0x6cca8620,\n\t0x248b1: 0x6c368a20, 0x248b2: 0x6d332e20, 0x248b3: 0x6c004e20,\n\t0x248b4: 0x6cdd8c20, 0x248b5: 0x6c10b220, 0x248b7: 0x6cc45220,\n\t0x248b8: 0x6d185e20, 0x248b9: 0x6d0dca20, 0x248bb: 0x6ca36620,\n\t0x248bc: 0x6cf46a20,\n\t// Block 0x923, offset 0x248c0\n\t0x248c7: 0x6c865c20,\n\t0x248c8: 0x6c865e20, 0x248ca: 0x6cf6a820, 0x248cb: 0x6c749c20,\n\t0x248cc: 0x6cd1ea20, 0x248ce: 0x6d0b5c20,\n\t0x248db: 0x6c18e420,\n\t0x248dc: 0x6d1c8c20, 0x248dd: 0x6c0a5220, 0x248de: 0x6c184020,\n\t0x248e1: 0x6d2bfc20, 0x248e2: 0x6ceb9020, 0x248e3: 0x6c56c620,\n\t0x248e4: 0x6ce2b220, 0x248e5: 0x6d1d4c20, 0x248e6: 0x6c08f820, 0x248e7: 0x6ca91e20,\n\t0x248e8: 0x6c891a20, 0x248e9: 0x6d034c20, 0x248ea: 0x6d229020,\n\t0x248f2: 0x6c075e20,\n\t0x248f4: 0x6ca07820, 0x248f5: 0x6c331420, 0x248f7: 0x6c29ea20,\n\t0x248f8: 0x6cb64c20,\n\t// Block 0x924, offset 0x24900\n\t0x24900: 0x6cd65c20, 0x24903: 0x6cff1e20,\n\t0x24904: 0x6d380a20, 0x24905: 0x6d3cb220, 0x24907: 0x6c0bca20,\n\t0x24909: 0x6cf02a20, 0x2490a: 0x6cf6ec20,\n\t0x2490c: 0x6c2aae20, 0x2490e: 0x6d005620, 0x2490f: 0x6cac4620,\n\t0x24910: 0x6ca87a20, 0x24913: 0x6c0cfa20,\n\t0x24914: 0x6ccf7a20, 0x24915: 0x6c3ad820, 0x24916: 0x6c9fcc20, 0x24917: 0x6cb7e820,\n\t0x2492a: 0x6ccdbc20, 0x2492b: 0x6cdd9c20,\n\t0x24937: 0x6c60c020,\n\t0x2493a: 0x6c285020, 0x2493b: 0x6c739c20,\n\t0x2493c: 0x6c930420, 0x2493e: 0x6c02f620,\n\t// Block 0x925, offset 0x24940\n\t0x24942: 0x6d18ea20, 0x24943: 0x6cd57a20,\n\t0x24944: 0x6cdc9c20, 0x24945: 0x6cf0f220, 0x24946: 0x6cecec20, 0x24947: 0x6c1ef420,\n\t0x2494c: 0x6cf32820,\n\t0x24956: 0x6c0aa420,\n\t0x24958: 0x6d1b1a20, 0x24959: 0x6c5d8220,\n\t0x2495c: 0x6c769c20, 0x2495d: 0x6ca93020,\n\t0x24962: 0x6c00fc20,\n\t0x24964: 0x6c870020, 0x24966: 0x6d2d0220,\n\t0x24971: 0x6c933020,\n\t0x24976: 0x6c0bd420, 0x24977: 0x6cac8a20,\n\t0x2497f: 0x6c4b9c20,\n\t// Block 0x926, offset 0x24980\n\t0x24980: 0x6cda6a20, 0x24981: 0x6c9ba020, 0x24982: 0x6cfc5220, 0x24983: 0x6c906e20,\n\t0x24985: 0x6cb80220,\n\t0x2498b: 0x6c164a20,\n\t0x2498c: 0x6d195c20, 0x2498d: 0x6c4f8e20, 0x2498f: 0x6c88e020,\n\t0x24990: 0x6c49c220, 0x24992: 0x6cf06020,\n\t0x24997: 0x6c752020,\n\t0x24998: 0x6c829c20, 0x24999: 0x6c946620, 0x2499a: 0x6c87a620,\n\t0x2499c: 0x6cb03e20,\n\t0x249a2: 0x6c58e820,\n\t0x249ae: 0x6c4a5820,\n\t0x249b3: 0x6c713420,\n\t0x249b6: 0x6c2aa220,\n\t0x249ba: 0x6c3ad220,\n\t// Block 0x927, offset 0x249c0\n\t0x249c1: 0x6d338e20, 0x249c3: 0x6c9a7a20,\n\t0x249c5: 0x6c58f420,\n\t0x249c9: 0x6cabba20, 0x249ca: 0x6c08c420,\n\t0x249cc: 0x6cb30020,\n\t0x249d3: 0x6c374220,\n\t0x249d5: 0x6c58fc20,\n\t0x249e3: 0x6c170c20,\n\t0x249e5: 0x6c95fc20, 0x249e6: 0x6c3d2820,\n\t0x249ef: 0x6c1db220,\n\t0x249f1: 0x6d40c020, 0x249f2: 0x6ca3fe20, 0x249f3: 0x6cffae20,\n\t0x249f9: 0x6c044820, 0x249fa: 0x6c926620,\n\t0x249fc: 0x6c961220, 0x249ff: 0x6ca76620,\n\t// Block 0x928, offset 0x24a00\n\t0x24a00: 0x6d2ad020,\n\t0x24a04: 0x6d3b0a20, 0x24a05: 0x6c557420,\n\t0x24a08: 0x6c5ad820, 0x24a09: 0x6ce17c20, 0x24a0a: 0x6c1dca20,\n\t0x24a11: 0x6c59e020, 0x24a12: 0x6c30b820,\n\t0x24a1b: 0x6c9eba20,\n\t0x24a1d: 0x6c0f5a20,\n\t0x24a20: 0x6c2ca420, 0x24a22: 0x6c2ad020, 0x24a23: 0x6cb41620,\n\t0x24a25: 0x6cd94020, 0x24a26: 0x6c1dec20,\n\t0x24a2b: 0x6d123c20,\n\t0x24a2c: 0x6c9bf020, 0x24a2d: 0x6c8fc820,\n\t0x24a32: 0x6c888220,\n\t0x24a35: 0x6c0d0620,\n\t0x24a3a: 0x6c93c220,\n\t0x24a3f: 0x6ccba020,\n\t// Block 0x929, offset 0x24a40\n\t0x24a40: 0x6d425820,\n\t0x24a44: 0x6c25aa20, 0x24a45: 0x6c8de420, 0x24a46: 0x6d331a20, 0x24a47: 0x6cb05220,\n\t0x24a48: 0x6c05c220, 0x24a4b: 0x6cc3a420,\n\t0x24a4e: 0x6caf4a20, 0x24a4f: 0x6ca44220,\n\t0x24a50: 0x6caf4c20, 0x24a51: 0x6c0fe220, 0x24a52: 0x6c06f020, 0x24a53: 0x6c37e820,\n\t0x24a55: 0x6c9fa620, 0x24a56: 0x6ca0f220, 0x24a57: 0x6cec2420,\n\t0x24a58: 0x6d2f6020, 0x24a59: 0x6d35c220, 0x24a5a: 0x6c240c20,\n\t0x24a5f: 0x6d0a0620,\n\t0x24a60: 0x6c602020, 0x24a61: 0x6c4b4420, 0x24a63: 0x6c19ea20,\n\t0x24a67: 0x6c4ec620,\n\t0x24a68: 0x6cfff220, 0x24a69: 0x6cc3c020, 0x24a6b: 0x6c21be20,\n\t0x24a6d: 0x6c3f6420,\n\t0x24a73: 0x6cbdde20,\n\t0x24a74: 0x6c926820, 0x24a75: 0x6cc3d020, 0x24a76: 0x6c2d1e20, 0x24a77: 0x6cb8f020,\n\t0x24a7c: 0x6c16ee20, 0x24a7d: 0x6cde6220, 0x24a7e: 0x6c06ae20,\n\t// Block 0x92a, offset 0x24a80\n\t0x24a81: 0x6c326c20, 0x24a82: 0x6c082620, 0x24a83: 0x6c547820,\n\t0x24a88: 0x6d2c8420, 0x24a89: 0x6d2c8620,\n\t0x24a8e: 0x6cc3ee20, 0x24a8f: 0x6c967620,\n\t0x24a90: 0x6c4e2c20, 0x24a93: 0x6c8e8620,\n\t0x24a94: 0x6c92d020, 0x24a96: 0x6d3e8c20,\n\t0x24a98: 0x6cb07020, 0x24a99: 0x6d395220, 0x24a9b: 0x6d2a2420,\n\t0x24a9d: 0x6ca9a020,\n\t0x24aa0: 0x6c5c5620, 0x24aa3: 0x6d092020,\n\t0x24aa5: 0x6c7ea020,\n\t0x24aab: 0x6caa0620,\n\t0x24aac: 0x6d0dfa20, 0x24aad: 0x6cc4d820, 0x24aae: 0x6ca52220,\n\t0x24ab0: 0x6c7eb420, 0x24ab1: 0x6c4a1220, 0x24ab2: 0x6c31e220,\n\t0x24ab5: 0x6c919020,\n\t0x24ab9: 0x6c663c20, 0x24aba: 0x6d028c20, 0x24abb: 0x6cb80e20,\n\t0x24abe: 0x6cfe7420,\n\t// Block 0x92b, offset 0x24ac0\n\t0x24ac1: 0x6c4cb020, 0x24ac2: 0x6c6a8420, 0x24ac3: 0x6c98b620,\n\t0x24ac6: 0x6cf95820, 0x24ac7: 0x6c7c3620,\n\t0x24ace: 0x6d1e7620,\n\t0x24ad0: 0x6c4d3c20, 0x24ad1: 0x6c9d3220, 0x24ad2: 0x6d11fc20,\n\t0x24ad5: 0x6cf14c20,\n\t0x24adf: 0x6c85f220,\n\t0x24ae0: 0x6c735820, 0x24ae1: 0x6cf36420, 0x24ae2: 0x6cbbda20,\n\t0x24aee: 0x6c2e2a20, 0x24aef: 0x6c1f4220,\n\t0x24af2: 0x6cdd1c20,\n\t0x24af5: 0x6c1cc420,\n\t0x24af8: 0x6cc2a020, 0x24af9: 0x6ccf5e20,\n\t// Block 0x92c, offset 0x24b00\n\t0x24b02: 0x6c9bd820, 0x24b03: 0x6c726820,\n\t0x24b0b: 0x6ce8e620,\n\t0x24b12: 0x6ca9c020, 0x24b13: 0x6ca07a20,\n\t0x24b19: 0x6c3bee20,\n\t0x24b22: 0x6c027020, 0x24b23: 0x6c4c3e20,\n\t0x24b24: 0x6c55b420, 0x24b25: 0x6c11b820, 0x24b26: 0x6c33b220, 0x24b27: 0x6c4d4820,\n\t0x24b28: 0x6c694e20,\n\t0x24b30: 0x6c473a20,\n\t0x24b35: 0x6c6c6020,\n\t0x24b38: 0x6d0fe420,\n\t// Block 0x92d, offset 0x24b40\n\t0x24b40: 0x6c145020,\n\t0x24b4c: 0x6c5b0820,\n\t0x24b54: 0x6cc20c20, 0x24b55: 0x6c784420,\n\t0x24b5f: 0x6cbe6620,\n\t0x24b60: 0x6d197a20, 0x24b63: 0x6c767a20,\n\t0x24b64: 0x6c68b820, 0x24b67: 0x6c1d6220,\n\t0x24b68: 0x6c103020, 0x24b69: 0x6c44ae20, 0x24b6a: 0x6c682620, 0x24b6b: 0x6d339020,\n\t0x24b6e: 0x6cf20020,\n\t0x24b70: 0x6c0d2220,\n\t0x24b74: 0x6d048820, 0x24b75: 0x6c393020,\n\t0x24b78: 0x6d147620, 0x24b79: 0x6c203020, 0x24b7a: 0x6d11ee20,\n\t0x24b7d: 0x6d0f4c20, 0x24b7e: 0x6c324020, 0x24b7f: 0x6d0d4a20,\n\t// Block 0x92e, offset 0x24b80\n\t0x24b81: 0x6c9b0a20,\n\t0x24b87: 0x6c1a9620,\n\t0x24b88: 0x6ca27420, 0x24b89: 0x6c683420, 0x24b8b: 0x6caa7a20,\n\t0x24b8d: 0x6c4c6420, 0x24b8e: 0x6d094a20,\n\t0x24b91: 0x6c3e1c20, 0x24b92: 0x6d08dc20, 0x24b93: 0x6c3d4c20,\n\t0x24b94: 0x6cae1020, 0x24b95: 0x6ca0ea20, 0x24b96: 0x6cf5a820, 0x24b97: 0x6cf2dc20,\n\t0x24b98: 0x6ccd3620, 0x24b9b: 0x6cf5aa20,\n\t0x24b9c: 0x6cb75a20, 0x24b9d: 0x6c9e5220,\n\t0x24ba6: 0x6c282820,\n\t0x24ba8: 0x6c1e2820,\n\t0x24bb1: 0x6c3a9c20, 0x24bb2: 0x6c9ec820,\n\t0x24bb4: 0x6d095020, 0x24bb5: 0x6d06ae20, 0x24bb6: 0x6cd7dc20, 0x24bb7: 0x6c71b220,\n\t0x24bb8: 0x6c993420, 0x24bb9: 0x6c063e20, 0x24bbb: 0x6d14d220,\n\t0x24bbc: 0x6c485020, 0x24bbd: 0x6ca69220, 0x24bbf: 0x6d14d420,\n\t// Block 0x92f, offset 0x24bc0\n\t0x24bc1: 0x6d429020,\n\t0x24bc4: 0x6caa5420,\n\t0x24bd1: 0x6c2d4820, 0x24bd2: 0x6c393c20, 0x24bd3: 0x6d173a20,\n\t0x24bd4: 0x6cd35a20, 0x24bd7: 0x6c240e20,\n\t0x24bd8: 0x6d31ce20,\n\t0x24bde: 0x6cd36a20, 0x24bdf: 0x6c68e620,\n\t0x24be0: 0x6c546a20, 0x24be1: 0x6c375020,\n\t0x24be6: 0x6c833220, 0x24be7: 0x6d095420,\n\t0x24be8: 0x6c452c20, 0x24bea: 0x6cd43220,\n\t0x24bec: 0x6c72ec20,\n\t0x24bf4: 0x6c6ab820, 0x24bf5: 0x6cef0020, 0x24bf7: 0x6cd44620,\n\t0x24bf8: 0x6c6e7620, 0x24bfa: 0x6d061c20, 0x24bfb: 0x6c1d4c20,\n\t// Block 0x930, offset 0x24c00\n\t0x24c05: 0x6c675e20, 0x24c06: 0x6ca20a20,\n\t0x24c09: 0x6d231a20,\n\t0x24c0c: 0x6c745220,\n\t0x24c11: 0x6ce6ea20,\n\t0x24c14: 0x6cfec420, 0x24c16: 0x6c30ac20,\n\t0x24c18: 0x6c4c6c20, 0x24c19: 0x6c986220, 0x24c1a: 0x6cedcc20, 0x24c1b: 0x6d06de20,\n\t0x24c1c: 0x6cee5420, 0x24c1d: 0x6cdd2020, 0x24c1e: 0x6c736620, 0x24c1f: 0x6d26b820,\n\t0x24c21: 0x6c4e1620, 0x24c23: 0x6ccfec20,\n\t0x24c25: 0x6d00ac20, 0x24c26: 0x6c8e5a20, 0x24c27: 0x6cc8f020,\n\t0x24c2f: 0x6c09a620,\n\t0x24c32: 0x6ca53220,\n\t0x24c36: 0x6ced8420, 0x24c37: 0x6c700020,\n\t0x24c38: 0x6cc38c20,\n\t// Block 0x931, offset 0x24c40\n\t0x24c44: 0x6ca6a220, 0x24c46: 0x6c9c5220, 0x24c47: 0x6cdd2220,\n\t0x24c49: 0x6cbb4020,\n\t0x24c4c: 0x6c4ed220, 0x24c4d: 0x6d3d6c20, 0x24c4e: 0x6c9c5e20, 0x24c4f: 0x6d06f820,\n\t0x24c51: 0x6c810420, 0x24c52: 0x6c6aee20, 0x24c53: 0x6c2faa20,\n\t0x24c54: 0x6c171820, 0x24c55: 0x6d365e20, 0x24c56: 0x6c3a0c20, 0x24c57: 0x6c63cc20,\n\t0x24c58: 0x6c75cc20, 0x24c59: 0x6c5dde20, 0x24c5a: 0x6cb4fe20, 0x24c5b: 0x6c70a620,\n\t0x24c5c: 0x6d3cd420, 0x24c5e: 0x6c2d6420, 0x24c5f: 0x6c690c20,\n\t0x24c60: 0x6d0af220, 0x24c62: 0x6d2dfa20,\n\t0x24c6d: 0x6d33f220, 0x24c6f: 0x6c973620,\n\t0x24c70: 0x6c54da20, 0x24c71: 0x6d01ca20, 0x24c72: 0x6cd27420, 0x24c73: 0x6c4a7220,\n\t0x24c7f: 0x6d06fa20,\n\t// Block 0x932, offset 0x24c80\n\t0x24c82: 0x6c606a20,\n\t0x24c84: 0x6c20b020, 0x24c86: 0x6c99a220, 0x24c87: 0x6cc84220,\n\t0x24c88: 0x6d05bc20, 0x24c89: 0x6c594620, 0x24c8a: 0x6ccc6420, 0x24c8b: 0x6c71c820,\n\t0x24c8f: 0x6c7c0020,\n\t0x24c91: 0x6c542020, 0x24c92: 0x6c491e20, 0x24c93: 0x6c486a20,\n\t0x24c95: 0x6c9c6420, 0x24c96: 0x6c2ed020, 0x24c97: 0x6c0a0020,\n\t0x24c98: 0x6c899820, 0x24c99: 0x6c7e8620, 0x24c9a: 0x6ccd5220, 0x24c9b: 0x6c928c20,\n\t0x24c9c: 0x6cf8b420, 0x24c9f: 0x6cda2220,\n\t0x24cac: 0x6cab4220, 0x24cae: 0x6c838020,\n\t0x24cb7: 0x6c7a5020,\n\t0x24cb8: 0x6c4a7c20, 0x24cbb: 0x6cf67a20,\n\t0x24cbc: 0x6cac6c20, 0x24cbd: 0x6ccb4c20, 0x24cbe: 0x6c754e20, 0x24cbf: 0x6c53d020,\n\t// Block 0x933, offset 0x24cc0\n\t0x24cc0: 0x6c49a220, 0x24cc1: 0x6c727c20, 0x24cc3: 0x6ca3d220,\n\t0x24cc4: 0x6c575020, 0x24cc5: 0x6c442220, 0x24cc6: 0x6c866020, 0x24cc7: 0x6c46d020,\n\t0x24cc8: 0x6ce41420, 0x24cca: 0x6c96d820, 0x24ccb: 0x6ce2ae20,\n\t0x24ccc: 0x6c26ba20,\n\t0x24cd0: 0x6cb52420, 0x24cd1: 0x6d23c620, 0x24cd2: 0x6c693020, 0x24cd3: 0x6c9ee620,\n\t0x24cd4: 0x6c451820, 0x24cd5: 0x6c9c0e20, 0x24cd6: 0x6cf0c020,\n\t0x24cd8: 0x6ce36620, 0x24cd9: 0x6cb63a20,\n\t0x24cdc: 0x6c18e620, 0x24cdd: 0x6c30c220, 0x24cdf: 0x6cac6e20,\n\t0x24cf0: 0x6c4efc20,\n\t0x24cf4: 0x6c9d8a20, 0x24cf5: 0x6c967820, 0x24cf6: 0x6c92d220, 0x24cf7: 0x6cb53020,\n\t0x24cf8: 0x6c795220, 0x24cfa: 0x6c2ee820, 0x24cfb: 0x6cb7d820,\n\t0x24cfc: 0x6c687c20, 0x24cfd: 0x6c774e20, 0x24cfe: 0x6cbbb020, 0x24cff: 0x6c9d8c20,\n\t// Block 0x934, offset 0x24d00\n\t0x24d00: 0x6ccd0c20,\n\t0x24d07: 0x6c64da20,\n\t0x24d08: 0x6c843c20, 0x24d09: 0x6c78d620, 0x24d0a: 0x6d073c20,\n\t0x24d11: 0x6c977a20, 0x24d12: 0x6c3cf420, 0x24d13: 0x6c163420,\n\t0x24d14: 0x6c5b6420,\n\t0x24d27: 0x6c7a0420,\n\t0x24d2a: 0x6cf02c20, 0x24d2b: 0x6c49a820,\n\t0x24d2c: 0x6c60c220, 0x24d2d: 0x6d421c20, 0x24d2e: 0x6c5e0a20, 0x24d2f: 0x6d00fe20,\n\t0x24d34: 0x6cdc8420, 0x24d36: 0x6cc88220,\n\t0x24d38: 0x6ce28620,\n\t0x24d3c: 0x6d336820, 0x24d3d: 0x6c7d8820, 0x24d3e: 0x6cfe0020, 0x24d3f: 0x6c9dda20,\n\t// Block 0x935, offset 0x24d40\n\t0x24d41: 0x6cf8f020,\n\t0x24d4c: 0x6cc94820,\n\t0x24d59: 0x6c36c620, 0x24d5a: 0x6c9efe20, 0x24d5b: 0x6d3a8820,\n\t0x24d5c: 0x6d406c20, 0x24d5d: 0x6c9bec20, 0x24d5f: 0x6cf70620,\n\t0x24d61: 0x6ce14e20, 0x24d63: 0x6c645220,\n\t0x24d64: 0x6c16d020, 0x24d65: 0x6c60dc20,\n\t0x24d6e: 0x6d3dbc20,\n\t0x24d7f: 0x6c520420,\n\t// Block 0x936, offset 0x24d80\n\t0x24d80: 0x6c141020, 0x24d81: 0x6cb7fc20, 0x24d82: 0x6c9dea20, 0x24d83: 0x6d320220,\n\t0x24d84: 0x6c7a6c20, 0x24d85: 0x6d138220, 0x24d86: 0x6d38c020,\n\t0x24d88: 0x6c652020, 0x24d8a: 0x6cacc220,\n\t0x24d8d: 0x6c5b0220, 0x24d8f: 0x6ca02220,\n\t0x24d90: 0x6c8f5020,\n\t0x24d98: 0x6cd73420, 0x24d9a: 0x6c974a20, 0x24d9b: 0x6c849c20,\n\t0x24d9e: 0x6cd7ae20, 0x24d9f: 0x6d159020,\n\t0x24da4: 0x6c872c20,\n\t0x24da8: 0x6d005e20, 0x24da9: 0x6ce28a20, 0x24daa: 0x6d051020,\n\t0x24dad: 0x6d08ce20, 0x24dae: 0x6c874820, 0x24daf: 0x6c9ba220,\n\t0x24db0: 0x6cef6a20, 0x24db1: 0x6c9ba420,\n\t0x24dba: 0x6d124e20, 0x24dbb: 0x6c7ffe20,\n\t0x24dbc: 0x6c8da020, 0x24dbd: 0x6d1c3820, 0x24dbe: 0x6d1c3a20, 0x24dbf: 0x6c876c20,\n\t// Block 0x937, offset 0x24dc0\n\t0x24dc0: 0x6c662820, 0x24dc1: 0x6c4aaa20,\n\t0x24dc5: 0x6c494020, 0x24dc6: 0x6d028220,\n\t0x24dc9: 0x6ccf9220, 0x24dcb: 0x6d418420,\n\t0x24dd3: 0x6c771e20,\n\t0x24dd4: 0x6c82a820,\n\t0x24dda: 0x6c0bde20,\n\t0x24ddd: 0x6cd54e20, 0x24dde: 0x6caa7820, 0x24ddf: 0x6d069a20,\n\t0x24de3: 0x6c503020,\n\t0x24de8: 0x6c4af220, 0x24dea: 0x6d2d4020, 0x24deb: 0x6c80c620,\n\t0x24dec: 0x6c248e20, 0x24ded: 0x6d363620, 0x24dee: 0x6c3ca820, 0x24def: 0x6cbd3220,\n\t0x24df1: 0x6d2acc20, 0x24df2: 0x6ca35420, 0x24df3: 0x6ca99a20,\n\t0x24df4: 0x6d17f420, 0x24df7: 0x6c232c20,\n\t0x24df8: 0x6cd1e020, 0x24df9: 0x6c65c220, 0x24dfa: 0x6d3fa420, 0x24dfb: 0x6d0db820,\n\t0x24dfc: 0x6d1bd620,\n\t// Block 0x938, offset 0x24e00\n\t0x24e00: 0x6cc86e20, 0x24e02: 0x6cc6a420, 0x24e03: 0x6cf8cc20,\n\t0x24e05: 0x6c492420, 0x24e06: 0x6c769420,\n\t0x24e08: 0x6cf51420, 0x24e0a: 0x6cbda820, 0x24e0b: 0x6c235820,\n\t0x24e0d: 0x6d2b0620, 0x24e0e: 0x6d024220,\n\t0x24e10: 0x6d241020, 0x24e11: 0x6d29a020, 0x24e12: 0x6c206620, 0x24e13: 0x6c853c20,\n\t0x24e14: 0x6c853e20, 0x24e15: 0x6d075020, 0x24e16: 0x6c9c9020, 0x24e17: 0x6d075420,\n\t0x24e18: 0x6cc88c20, 0x24e1b: 0x6c4b9420,\n\t0x24e1c: 0x6cc73020, 0x24e1f: 0x6c991420,\n\t0x24e21: 0x6cbdbe20, 0x24e22: 0x6c24be20, 0x24e23: 0x6c24c020,\n\t0x24e24: 0x6c24c620,\n\t0x24e2e: 0x6cf35a20,\n\t0x24e30: 0x6c383220, 0x24e31: 0x6c037620,\n\t0x24e38: 0x6cb85820, 0x24e39: 0x6d35ee20, 0x24e3a: 0x6ce5d420,\n\t// Block 0x939, offset 0x24e40\n\t0x24e44: 0x6d35f020, 0x24e45: 0x6d345a20, 0x24e47: 0x6c591420,\n\t0x24e48: 0x6c1da420, 0x24e4a: 0x6d35f220,\n\t0x24e4e: 0x6d1cf020,\n\t0x24e52: 0x6cf4f020, 0x24e53: 0x6c06a420,\n\t0x24e55: 0x6c534c20, 0x24e56: 0x6cd06420,\n\t0x24e58: 0x6c746620, 0x24e59: 0x6c7d0420,\n\t0x24e5c: 0x6d15f820, 0x24e5d: 0x6d0bbe20,\n\t0x24e60: 0x6c087c20,\n\t0x24e64: 0x6c7aea20, 0x24e65: 0x6cb8f220,\n\t0x24e68: 0x6d2f6620, 0x24e6a: 0x6c766820, 0x24e6b: 0x6cce1220,\n\t0x24e6e: 0x6c01ca20, 0x24e6f: 0x6d307020,\n\t0x24e70: 0x6d369420,\n\t0x24e77: 0x6d36b620,\n\t0x24e79: 0x6c693220,\n\t// Block 0x93a, offset 0x24e80\n\t0x24e80: 0x6cd83020, 0x24e81: 0x6cb45c20, 0x24e82: 0x6cab9420,\n\t0x24e8a: 0x6d3dbe20,\n\t0x24e91: 0x6d1c3c20, 0x24e93: 0x6c584a20,\n\t0x24e95: 0x6d0b6e20,\n\t0x24e98: 0x6cd23c20, 0x24e99: 0x6cabb220, 0x24e9a: 0x6cb48420,\n\t0x24e9e: 0x6c983c20, 0x24e9f: 0x6c146220,\n\t0x24ea9: 0x6d278e20,\n\t0x24eac: 0x6c476a20,\n\t0x24eb9: 0x6c282a20, 0x24ebb: 0x6ca4a020,\n\t0x24ebd: 0x6d302620, 0x24ebf: 0x6c552c20,\n\t// Block 0x93b, offset 0x24ec0\n\t0x24ec5: 0x6c792c20, 0x24ec7: 0x6c2e8c20,\n\t0x24ec8: 0x6ce63c20, 0x24ecb: 0x6c48ee20,\n\t0x24ece: 0x6cbef020, 0x24ecf: 0x6cd2ca20,\n\t0x24ed0: 0x6c640c20, 0x24ed1: 0x6c02ca20, 0x24ed2: 0x6ca2f620, 0x24ed3: 0x6cb23a20,\n\t0x24ed4: 0x6c63b220,\n\t0x24ee1: 0x6d30ec20, 0x24ee2: 0x6c108620, 0x24ee3: 0x6cf2b020,\n\t0x24ee5: 0x6c141e20,\n\t0x24eea: 0x6ca4a420, 0x24eeb: 0x6c76c620,\n\t0x24eef: 0x6c319220,\n\t0x24ef0: 0x6c48f020, 0x24ef1: 0x6cbf0e20, 0x24ef3: 0x6cc66a20,\n\t0x24ef4: 0x6d15e820, 0x24ef5: 0x6c32fe20, 0x24ef6: 0x6c82c020,\n\t0x24ef8: 0x6d387a20, 0x24ef9: 0x6c7ac220, 0x24efa: 0x6c354020, 0x24efb: 0x6cfa9e20,\n\t0x24efc: 0x6c2d5420, 0x24efd: 0x6caaf020, 0x24efe: 0x6c361620, 0x24eff: 0x6d1d8620,\n\t// Block 0x93c, offset 0x24f00\n\t0x24f00: 0x6cf4e220, 0x24f01: 0x6c793a20,\n\t0x24f13: 0x6d35f420,\n\t0x24f17: 0x6d351c20,\n\t0x24f18: 0x6d0a0820, 0x24f1b: 0x6d334a20,\n\t0x24f1e: 0x6d0fae20,\n\t0x24f20: 0x6c5dc420, 0x24f21: 0x6c602220, 0x24f22: 0x6ca4f020,\n\t0x24f27: 0x6d0ba020,\n\t0x24f28: 0x6c924620, 0x24f2b: 0x6c3d7220,\n\t0x24f2c: 0x6cca1c20, 0x24f2d: 0x6c1f4420, 0x24f2e: 0x6cefca20,\n\t0x24f30: 0x6c3f6820, 0x24f31: 0x6c794020, 0x24f32: 0x6cd8c020, 0x24f33: 0x6c778620,\n\t0x24f35: 0x6d17b020, 0x24f36: 0x6c579a20,\n\t0x24f3e: 0x6d225e20,\n\t// Block 0x93d, offset 0x24f40\n\t0x24f43: 0x6c861420,\n\t0x24f46: 0x6c8c2020, 0x24f47: 0x6c321e20,\n\t0x24f48: 0x6c363c20,\n\t0x24f4c: 0x6cbb4220, 0x24f4d: 0x6c31a620,\n\t0x24f50: 0x6c6af020, 0x24f51: 0x6c21c620, 0x24f52: 0x6cfcd420,\n\t0x24f56: 0x6c430a20,\n\t0x24f6c: 0x6c2a1e20,\n\t0x24f70: 0x6c52b420,\n\t0x24f7b: 0x6d3fa620,\n\t0x24f7e: 0x6cb7b620, 0x24f7f: 0x6ceb3820,\n\t// Block 0x93e, offset 0x24f80\n\t0x24f80: 0x6c52b820, 0x24f81: 0x6cb06420, 0x24f82: 0x6c453c20,\n\t0x24f84: 0x6ca85020, 0x24f87: 0x6c798420,\n\t0x24f8a: 0x6d354620,\n\t0x24f91: 0x6cffb420,\n\t0x24fa1: 0x6ccf6620, 0x24fa2: 0x6d217620, 0x24fa3: 0x6c676a20,\n\t0x24fa9: 0x6cb70a20, 0x24faa: 0x6c190a20, 0x24fab: 0x6cca8220,\n\t0x24fad: 0x6cdd8e20, 0x24fae: 0x6cb9bc20, 0x24faf: 0x6c5c1a20,\n\t0x24fb1: 0x6ccda020, 0x24fb2: 0x6c368c20,\n\t0x24fbb: 0x6cbfbc20,\n\t0x24fbd: 0x6c78ca20,\n\t// Block 0x93f, offset 0x24fc0\n\t0x24fc0: 0x6cf23420, 0x24fc1: 0x6d3e7c20, 0x24fc2: 0x6c608e20,\n\t0x24fc7: 0x6c26e220,\n\t0x24fc9: 0x6c263620,\n\t0x24fcd: 0x6c90f620, 0x24fce: 0x6c775020, 0x24fcf: 0x6c7e1220,\n\t0x24fd0: 0x6c2b8e20, 0x24fd1: 0x6cbc7e20, 0x24fd3: 0x6ca16420,\n\t0x24fd6: 0x6c4cce20, 0x24fd7: 0x6c52c620,\n\t0x24fd8: 0x6c177c20, 0x24fd9: 0x6c522620,\n\t0x24fe2: 0x6c129020, 0x24fe3: 0x6d308c20,\n\t0x24fe6: 0x6c4bea20,\n\t0x24ff0: 0x6d05ec20, 0x24ff1: 0x6caece20, 0x24ff2: 0x6c74ca20,\n\t0x24ff5: 0x6c41ee20, 0x24ff6: 0x6cd83220,\n\t0x24ff8: 0x6cdc8620, 0x24ff9: 0x6cc40420, 0x24ffb: 0x6cf3f220,\n\t0x24ffc: 0x6d0cda20, 0x24ffd: 0x6caf1820, 0x24ffe: 0x6cffc420, 0x24fff: 0x6cac4820,\n\t// Block 0x940, offset 0x25000\n\t0x2500d: 0x6c7e9e20,\n\t0x25017: 0x6c085a20,\n\t0x25018: 0x6d320020, 0x25019: 0x6c60de20,\n\t0x2501c: 0x6c6cc020, 0x2501d: 0x6c887420, 0x2501e: 0x6c791220,\n\t0x25020: 0x6d38d620,\n\t0x25028: 0x6d2a9620, 0x2502a: 0x6c822e20, 0x2502b: 0x6cb54820,\n\t0x2502c: 0x6c0e3820,\n\t0x25035: 0x6d1b1c20, 0x25036: 0x6cb1f620,\n\t0x2503b: 0x6cda3820,\n\t0x2503c: 0x6c941620, 0x2503e: 0x6c2bb420, 0x2503f: 0x6c31e420,\n\t// Block 0x941, offset 0x25040\n\t0x25040: 0x6c8a8820, 0x25041: 0x6d3dd620,\n\t0x2504a: 0x6c16fc20,\n\t0x25052: 0x6c194020, 0x25053: 0x6cdee020,\n\t0x25059: 0x6cc41e20, 0x2505a: 0x6c2a4c20,\n\t0x2505d: 0x6cc51020, 0x2505f: 0x6cb3ba20,\n\t0x25066: 0x6d37e020, 0x25067: 0x6d006020,\n\t0x2506a: 0x6c679620, 0x2506b: 0x6cc21820,\n\t0x2506c: 0x6c831020, 0x2506d: 0x6c10f020, 0x2506e: 0x6cc39a20,\n\t0x25075: 0x6cfe7220, 0x25076: 0x6c836820,\n\t0x2507a: 0x6c809620,\n\t0x2507f: 0x6c7e6820,\n\t// Block 0x942, offset 0x25080\n\t0x25081: 0x6c7e6a20,\n\t0x25084: 0x6d24b420,\n\t0x2508a: 0x6c697e20, 0x2508b: 0x6cbd4e20,\n\t0x2508c: 0x6c5e7e20, 0x2508f: 0x6c41c820,\n\t0x25092: 0x6d169220,\n\t0x250a0: 0x6d16c820, 0x250a1: 0x6d339e20,\n\t0x250a4: 0x6c0c6e20, 0x250a5: 0x6cd0e620, 0x250a6: 0x6c6fd820,\n\t0x250ab: 0x6c509420,\n\t0x250ac: 0x6c3e2020, 0x250ae: 0x6c706620,\n\t// Block 0x943, offset 0x250c0\n\t0x250c0: 0x6d426620, 0x250c1: 0x6d14ac20,\n\t0x250c6: 0x6cfc9420, 0x250c7: 0x6d14ae20,\n\t0x250c9: 0x6cd8a220, 0x250cb: 0x6c20f220,\n\t0x250ce: 0x6ca0fa20,\n\t0x250e1: 0x6d2d6c20, 0x250e3: 0x6d0a0020,\n\t0x250e6: 0x6cc79a20,\n\t0x250e8: 0x6c5db020,\n\t0x250ec: 0x6cce6a20,\n\t0x250f0: 0x6cd46620,\n\t0x250fe: 0x6d203e20, 0x250ff: 0x6d231c20,\n\t// Block 0x944, offset 0x25100\n\t0x25102: 0x6c75b420,\n\t0x25109: 0x6d3e4220, 0x2510a: 0x6c925c20,\n\t0x2511a: 0x6c1baa20, 0x2511b: 0x6c7d6620,\n\t0x25120: 0x6d3ce420,\n\t0x25126: 0x6c541420,\n\t0x25129: 0x6d064420,\n\t0x2513e: 0x6d3f9c20, 0x2513f: 0x6d1d4220,\n\t// Block 0x945, offset 0x25140\n\t0x25142: 0x6d39b020,\n\t0x25145: 0x6c8f3a20,\n\t0x25151: 0x6caa6820,\n\t0x25158: 0x6c0a3020, 0x2515a: 0x6c1c5e20,\n\t0x2515c: 0x6d412420, 0x2515d: 0x6c3cb820, 0x2515e: 0x6c92aa20, 0x2515f: 0x6cb49220,\n\t0x25165: 0x6d3bdc20, 0x25167: 0x6d308020,\n\t0x25168: 0x6cd1ec20, 0x25169: 0x6d227e20, 0x2516a: 0x6c92ac20, 0x2516b: 0x6c896820,\n\t0x2516f: 0x6c74c020,\n\t0x25170: 0x6c8aa620, 0x25171: 0x6c080820,\n\t// Block 0x946, offset 0x25180\n\t0x25183: 0x6d18ce20,\n\t0x25184: 0x6c492820,\n\t0x2518c: 0x6c02ae20, 0x2518f: 0x6c4b8220,\n\t0x25190: 0x6c9fce20, 0x25192: 0x6d0dec20, 0x25193: 0x6c7fd220,\n\t0x25196: 0x6c0f9220,\n\t0x25199: 0x6d29a620, 0x2519a: 0x6d1ffe20,\n\t0x251a5: 0x6d194420, 0x251a6: 0x6ca66020,\n\t0x251ac: 0x6ca66620, 0x251ad: 0x6c4ce020, 0x251ae: 0x6c760a20,\n\t0x251b0: 0x6cd21820, 0x251b2: 0x6cfc5c20,\n\t0x251b4: 0x6cb95e20, 0x251b5: 0x6cc42020, 0x251b6: 0x6c7cc420,\n\t// Block 0x947, offset 0x251c0\n\t0x251c0: 0x6ccf1620, 0x251c2: 0x6c5dd620,\n\t0x251c4: 0x6ced8e20,\n\t0x251ca: 0x6c3af220, 0x251cb: 0x6c3b0020,\n\t0x251cd: 0x6d22c420,\n\t0x251d1: 0x6d339220, 0x251d2: 0x6c48a420,\n\t0x251d4: 0x6c6a8620, 0x251d5: 0x6c983e20, 0x251d6: 0x6c50cc20,\n\t0x251d8: 0x6d1fa820,\n\t0x251df: 0x6c324220,\n\t0x251e0: 0x6cd7d220, 0x251e2: 0x6c859420,\n\t0x251e5: 0x6c6a9420, 0x251e6: 0x6ca98a20, 0x251e7: 0x6c03ac20,\n\t0x251e8: 0x6d20de20,\n\t0x251ee: 0x6d33b220,\n\t0x251f8: 0x6c50e020, 0x251f9: 0x6c77e820,\n\t0x251fe: 0x6c324a20, 0x251ff: 0x6c634820,\n\t// Block 0x948, offset 0x25200\n\t0x25201: 0x6c186020, 0x25203: 0x6c20f420,\n\t0x25204: 0x6c50f820, 0x25205: 0x6d2d2620,\n\t0x2520a: 0x6c9a8c20,\n\t0x2520d: 0x6c50fa20, 0x2520e: 0x6d3f0420, 0x2520f: 0x6d3a0620,\n\t0x25212: 0x6ceb0e20,\n\t0x25218: 0x6d421820, 0x2521a: 0x6cc7a220, 0x2521b: 0x6c34ee20,\n\t0x2521c: 0x6c67e020,\n\t0x25227: 0x6c526420,\n\t0x25229: 0x6c07e620, 0x2522a: 0x6ca10820,\n\t0x2522f: 0x6d40ba20,\n\t0x25232: 0x6c0caa20,\n\t0x25234: 0x6c7a9820, 0x25235: 0x6c63c020,\n\t0x2523a: 0x6d3d0420,\n\t0x2523c: 0x6d04d620,\n\t// Block 0x949, offset 0x25240\n\t0x25243: 0x6c512820,\n\t0x25245: 0x6cbb7220,\n\t0x2524d: 0x6c3a5c20, 0x2524e: 0x6cd10a20,\n\t0x25252: 0x6d3c9620, 0x25253: 0x6c7b6a20,\n\t0x25254: 0x6d2b5420, 0x25255: 0x6cfaae20, 0x25257: 0x6c09d620,\n\t0x25258: 0x6d17f620, 0x2525a: 0x6c171a20,\n\t0x2526a: 0x6c999a20,\n\t0x25276: 0x6ced3020,\n\t0x2527d: 0x6cf37620, 0x2527e: 0x6c7a5220, 0x2527f: 0x6cf2be20,\n\t// Block 0x94a, offset 0x25280\n\t0x25280: 0x6d038a20, 0x25281: 0x6c781620, 0x25283: 0x6c6f8220,\n\t0x25284: 0x6c329c20, 0x25285: 0x6c594820,\n\t0x25288: 0x6d369620, 0x25289: 0x6c130620, 0x2528a: 0x6cc75a20, 0x2528b: 0x6c606e20,\n\t0x2528d: 0x6d131a20,\n\t0x2529b: 0x6c6dca20,\n\t0x2529c: 0x6d106220,\n\t0x252a1: 0x6d400220,\n\t0x252a9: 0x6c11d620,\n\t0x252b1: 0x6cd81c20, 0x252b2: 0x6c866220, 0x252b3: 0x6c47c620,\n\t0x252b4: 0x6c172220, 0x252b6: 0x6c3a6820, 0x252b7: 0x6c8e8a20,\n\t0x252b9: 0x6c6b1e20, 0x252ba: 0x6d276020,\n\t0x252bd: 0x6d36ba20,\n\t// Block 0x94b, offset 0x252c0\n\t0x252c0: 0x6c1dd220, 0x252c1: 0x6c0cbc20,\n\t0x252d2: 0x6c5f1a20,\n\t0x252dc: 0x6c955220, 0x252dd: 0x6c64f820, 0x252df: 0x6c206020,\n\t0x252e0: 0x6cd6de20, 0x252e2: 0x6c93fe20, 0x252e3: 0x6c75ea20,\n\t0x252e4: 0x6c69c820, 0x252e6: 0x6ce42020, 0x252e7: 0x6d2c0020,\n\t0x252ea: 0x6d18a820,\n\t0x252ec: 0x6c235a20, 0x252ed: 0x6ca57420, 0x252ee: 0x6c638220,\n\t0x252f4: 0x6c627c20,\n\t0x252fd: 0x6c00ce20,\n\t// Block 0x94c, offset 0x25300\n\t0x25307: 0x6c65d820,\n\t0x2530a: 0x6c07ca20,\n\t0x2530c: 0x6c38c620, 0x2530d: 0x6cdc8a20, 0x2530e: 0x6d421e20,\n\t0x25310: 0x6c42e420, 0x25311: 0x6c432420, 0x25312: 0x6c817e20,\n\t0x25314: 0x6d3db620,\n\t0x2531f: 0x6c56ca20,\n\t0x25322: 0x6ce9c420,\n\t0x25326: 0x6c0a7420, 0x25327: 0x6c716420,\n\t0x2532e: 0x6c575a20,\n\t0x25332: 0x6c1a4a20,\n\t0x25336: 0x6c7b4220, 0x25337: 0x6c291420,\n\t0x25338: 0x6c444c20, 0x25339: 0x6d011420, 0x2533b: 0x6c6b6220,\n\t0x2533d: 0x6c117620,\n\t// Block 0x94d, offset 0x25340\n\t0x25346: 0x6d40ec20,\n\t0x25348: 0x6cb46820, 0x2534b: 0x6cd57c20,\n\t0x2534c: 0x6c104820,\n\t0x25357: 0x6ca93220,\n\t0x25358: 0x6d0dfc20, 0x25359: 0x6d396020, 0x2535b: 0x6c9b8420,\n\t0x2535d: 0x6c0b5e20, 0x2535f: 0x6cfe6420,\n\t0x25364: 0x6c931c20, 0x25365: 0x6c849020,\n\t0x25369: 0x6c62ca20, 0x2536b: 0x6c9f0a20,\n\t0x2536c: 0x6c835620, 0x2536e: 0x6d375820, 0x2536f: 0x6d1ecc20,\n\t0x25370: 0x6c0b6020,\n\t0x25378: 0x6ca2bc20, 0x25379: 0x6cc4da20,\n\t// Block 0x94e, offset 0x25380\n\t0x25382: 0x6ca7c620,\n\t0x2538a: 0x6cc33a20, 0x2538b: 0x6d30c620,\n\t0x25390: 0x6c836620,\n\t0x25397: 0x6c294820,\n\t0x25398: 0x6c752e20,\n\t0x2539c: 0x6c8dc420, 0x2539e: 0x6c8de820, 0x2539f: 0x6d0d2620,\n\t0x253a3: 0x6d118620,\n\t0x253a4: 0x6d321220, 0x253a5: 0x6cb4ce20, 0x253a6: 0x6c008a20,\n\t0x253a8: 0x6caa3e20, 0x253a9: 0x6c988220,\n\t0x253b1: 0x6c76c220, 0x253b3: 0x6c6f5c20,\n\t0x253b4: 0x6d0d5820, 0x253b5: 0x6c9e5420, 0x253b7: 0x6d1a3e20,\n\t0x253b8: 0x6ceccc20, 0x253b9: 0x6d11f420, 0x253ba: 0x6cebce20, 0x253bb: 0x6cafc820,\n\t0x253bc: 0x6cdc2c20,\n\t// Block 0x94f, offset 0x253c0\n\t0x253c5: 0x6c799a20,\n\t0x253c8: 0x6c532c20, 0x253ca: 0x6ca03020, 0x253cb: 0x6c8cd220,\n\t0x253cc: 0x6d173e20, 0x253cd: 0x6ccfd220, 0x253cf: 0x6d429220,\n\t0x253db: 0x6ce85020,\n\t0x253dd: 0x6d1e7820, 0x253df: 0x6cec2620,\n\t0x253e0: 0x6c4af420, 0x253e1: 0x6c53bc20,\n\t0x253e5: 0x6cd36e20, 0x253e7: 0x6d049220,\n\t0x253e9: 0x6c000620,\n\t0x253f1: 0x6c19ee20, 0x253f3: 0x6c793c20,\n\t0x253f4: 0x6d176c20, 0x253f5: 0x6d104820, 0x253f6: 0x6ce67420, 0x253f7: 0x6c311e20,\n\t0x253f8: 0x6c13e820, 0x253f9: 0x6c8f3020,\n\t0x253fd: 0x6cc06a20, 0x253fe: 0x6d084e20, 0x253ff: 0x6ccfee20,\n\t// Block 0x950, offset 0x25400\n\t0x25400: 0x6c7b5420, 0x25401: 0x6ce7ca20, 0x25403: 0x6cba0e20,\n\t0x25405: 0x6c1e4220,\n\t0x2540a: 0x6cf1de20,\n\t0x2540c: 0x6c906820, 0x2540d: 0x6c018820,\n\t0x25414: 0x6c76d820, 0x25416: 0x6d11b020,\n\t0x25418: 0x6c3e8420,\n\t0x2541c: 0x6c084220, 0x2541d: 0x6c803020, 0x2541e: 0x6cb86c20, 0x2541f: 0x6c2d6620,\n\t0x25422: 0x6c69a620, 0x25423: 0x6c4a7420,\n\t0x25425: 0x6d049820,\n\t0x25428: 0x6c78bc20,\n\t0x25436: 0x6cfcd620, 0x25437: 0x6cf33a20,\n\t// Block 0x951, offset 0x25440\n\t0x25442: 0x6c45f620,\n\t0x25446: 0x6cab8620, 0x25447: 0x6c781820,\n\t0x2544b: 0x6c7a5420,\n\t0x25451: 0x6ce4be20, 0x25452: 0x6c46d420, 0x25453: 0x6c96a220,\n\t0x25455: 0x6c8f3e20,\n\t0x25459: 0x6cf0c220, 0x2545a: 0x6cf1ec20,\n\t0x25461: 0x6c462020, 0x25463: 0x6ce8e820,\n\t0x25464: 0x6ca91620, 0x25467: 0x6c9d7c20,\n\t0x2546b: 0x6c80e020,\n\t0x2546c: 0x6cba2220, 0x2546d: 0x6c977e20, 0x2546e: 0x6d308e20,\n\t0x25470: 0x6c57c620, 0x25471: 0x6d1db620, 0x25472: 0x6c6d5020,\n\t0x25474: 0x6c9aae20, 0x25477: 0x6c3ef020,\n\t0x2547b: 0x6cc1c220,\n\t// Block 0x952, offset 0x25480\n\t0x2548c: 0x6c8f4820, 0x2548d: 0x6c406220, 0x2548e: 0x6c28c620,\n\t0x25490: 0x6c460020, 0x25492: 0x6c256e20,\n\t0x25495: 0x6d040c20,\n\t0x2549c: 0x6ce87c20, 0x2549d: 0x6cd48020,\n\t0x254aa: 0x6cbf8420,\n\t0x254b3: 0x6cc6e020,\n\t0x254bb: 0x6c874c20,\n\t0x254bf: 0x6c5f9220,\n\t// Block 0x953, offset 0x254c0\n\t0x254c0: 0x6cebbc20,\n\t0x254cc: 0x6ce7aa20,\n\t0x254d2: 0x6ce04c20,\n\t0x254d4: 0x6c8dea20, 0x254d6: 0x6d169420, 0x254d7: 0x6cc85220,\n\t0x254d9: 0x6cabe220,\n\t0x254dd: 0x6c10e820,\n\t0x254e1: 0x6d269820, 0x254e2: 0x6cc3b020, 0x254e3: 0x6d3ade20,\n\t0x254e4: 0x6c4d6220,\n\t0x254f1: 0x6c381220, 0x254f2: 0x6c4d6820,\n\t// Block 0x954, offset 0x25500\n\t0x25500: 0x6c101620, 0x25501: 0x6cb25620, 0x25502: 0x6c8b0c20,\n\t0x2550a: 0x6c7cd420, 0x2550b: 0x6c3e9e20,\n\t0x2550c: 0x6ce50620, 0x2550d: 0x6cf2fc20, 0x2550f: 0x6c70aa20,\n\t0x25518: 0x6d318620, 0x2551a: 0x6c3ec620,\n\t0x25522: 0x6c8f9e20,\n\t0x25526: 0x6cf8ce20, 0x25527: 0x6ce4c020,\n\t0x2552b: 0x6c626620,\n\t0x2552f: 0x6d122c20,\n\t0x25531: 0x6c246620,\n\t0x25534: 0x6cad3020, 0x25535: 0x6cbce820,\n\t0x2553b: 0x6c8fb420,\n\t0x2553c: 0x6c615820,\n\t// Block 0x955, offset 0x25540\n\t0x25542: 0x6ce79a20, 0x25543: 0x6d158420,\n\t0x25545: 0x6c168420,\n\t0x2554b: 0x6c45c220,\n\t0x2554e: 0x6c309620,\n\t0x25556: 0x6cfda420,\n\t0x25559: 0x6ce6b620, 0x2555b: 0x6d3b7020,\n\t0x2555c: 0x6d15c820, 0x2555d: 0x6d170020, 0x2555e: 0x6d3ef820, 0x2555f: 0x6cb6e020,\n\t0x25562: 0x6c141a20,\n\t0x2556c: 0x6c33e220, 0x2556f: 0x6c1cbc20,\n\t0x25570: 0x6c922a20, 0x25571: 0x6c33ea20, 0x25573: 0x6c399220,\n\t0x25574: 0x6cd35c20, 0x25575: 0x6ce3e420, 0x25576: 0x6c5eaa20, 0x25577: 0x6cbfaa20,\n\t0x25578: 0x6cd70e20, 0x25579: 0x6c18b020,\n\t0x2557c: 0x6c5a6820, 0x2557d: 0x6cd41220,\n\t// Block 0x956, offset 0x25580\n\t0x25580: 0x6d279c20,\n\t0x25586: 0x6c8f8420,\n\t0x25588: 0x6c97b620, 0x25589: 0x6c464220,\n\t0x2558d: 0x6cfaa020, 0x2558e: 0x6ca10a20,\n\t0x25590: 0x6cd05e20, 0x25592: 0x6cb30820, 0x25593: 0x6d120420,\n\t0x25594: 0x6cc0fa20, 0x25595: 0x6cc4c020,\n\t0x25599: 0x6c724220,\n\t0x2559c: 0x6d1ada20, 0x2559d: 0x6c041020, 0x2559e: 0x6ca81c20,\n\t0x255a0: 0x6c1d6c20,\n\t0x255aa: 0x6cc67820, 0x255ab: 0x6c202020,\n\t0x255ac: 0x6ca83420, 0x255ad: 0x6c861620, 0x255ae: 0x6c676220, 0x255af: 0x6c77ac20,\n\t0x255b0: 0x6c12f020, 0x255b1: 0x6c1d5220, 0x255b2: 0x6d3b5620, 0x255b3: 0x6d3f1420,\n\t0x255b4: 0x6d0fb820,\n\t0x255bc: 0x6cf1e020,\n\t// Block 0x957, offset 0x255c0\n\t0x255cb: 0x6c620420,\n\t0x255cc: 0x6c620620,\n\t0x255d0: 0x6c93e820, 0x255d1: 0x6cc07820, 0x255d2: 0x6c33fc20, 0x255d3: 0x6c05cc20,\n\t0x255d4: 0x6c14ce20, 0x255d6: 0x6c0f1620,\n\t0x255d8: 0x6c1abe20, 0x255d9: 0x6d30fa20, 0x255da: 0x6c98b820,\n\t0x255dc: 0x6c621c20, 0x255dd: 0x6c9eb620, 0x255de: 0x6d262620,\n\t0x255e0: 0x6cf3d220, 0x255e1: 0x6d366420, 0x255e2: 0x6cb25c20,\n\t0x255e5: 0x6c1ccc20,\n\t0x255eb: 0x6c9c6020,\n\t0x255ec: 0x6c3a3c20, 0x255ed: 0x6c25c020, 0x255ee: 0x6c9b2420,\n\t// Block 0x958, offset 0x25600\n\t0x2560d: 0x6d1a8220, 0x2560e: 0x6c989a20, 0x2560f: 0x6c2d2420,\n\t0x25610: 0x6c2dd620, 0x25612: 0x6cb9b420,\n\t0x25615: 0x6c4f9820, 0x25616: 0x6d348620, 0x25617: 0x6c713e20,\n\t0x25618: 0x6ca76820,\n\t0x2561c: 0x6c9c6620, 0x2561d: 0x6c47b620,\n\t0x25623: 0x6d3b5820,\n\t0x25624: 0x6ca85220, 0x25625: 0x6d3d8420, 0x25627: 0x6d131c20,\n\t0x25628: 0x6c23dc20, 0x2562a: 0x6d05be20,\n\t0x2562c: 0x6cf8b820, 0x2562f: 0x6c0e8420,\n\t0x2563e: 0x6c11d820,\n\t// Block 0x959, offset 0x25640\n\t0x25643: 0x6d0dba20,\n\t0x25651: 0x6c6cb220,\n\t0x25654: 0x6c71ce20, 0x25655: 0x6c298620, 0x25656: 0x6c327620,\n\t0x25658: 0x6d128c20, 0x25659: 0x6c6ea020, 0x2565a: 0x6c78cc20, 0x2565b: 0x6c962220,\n\t0x2565c: 0x6cf00220, 0x2565d: 0x6ce87620, 0x2565e: 0x6d1f6020, 0x2565f: 0x6cac3020,\n\t0x25661: 0x6cb01020, 0x25662: 0x6c2fb820,\n\t0x25664: 0x6cf00420, 0x25665: 0x6c183620, 0x25666: 0x6c66bc20,\n\t0x25668: 0x6cd81e20, 0x25669: 0x6d3d8a20, 0x2566a: 0x6cda4020,\n\t0x2566c: 0x6cc87420, 0x2566e: 0x6d218420,\n\t0x25673: 0x6c368e20,\n\t0x25676: 0x6c7a7e20,\n\t0x25678: 0x6d3b2220,\n\t0x2567e: 0x6cf9e820,\n\t// Block 0x95a, offset 0x25680\n\t0x2569b: 0x6c3ef220,\n\t0x2569c: 0x6ce23e20, 0x2569d: 0x6cf6d020, 0x2569e: 0x6c1d8020, 0x2569f: 0x6c41ec20,\n\t0x256a0: 0x6c936420, 0x256a1: 0x6c131620, 0x256a2: 0x6ccdb220, 0x256a3: 0x6c8e9c20,\n\t0x256a5: 0x6cf8e020, 0x256a6: 0x6c5f3e20, 0x256a7: 0x6d161220,\n\t0x256a8: 0x6ce01220, 0x256aa: 0x6c55b620,\n\t0x256ad: 0x6c25c820, 0x256ae: 0x6c447820,\n\t0x256b0: 0x6cd3dc20, 0x256b1: 0x6ccac020, 0x256b2: 0x6c53d420, 0x256b3: 0x6cfd0e20,\n\t0x256b6: 0x6cf9f020,\n\t0x256bb: 0x6ca2ae20,\n\t0x256bc: 0x6cdd9620, 0x256be: 0x6d2d4c20,\n\t// Block 0x95b, offset 0x256c0\n\t0x256c0: 0x6c3d9e20, 0x256c1: 0x6ccb6220, 0x256c2: 0x6caa4620, 0x256c3: 0x6d18ac20,\n\t0x256e7: 0x6cbdaa20,\n\t0x256e8: 0x6cbedc20,\n\t0x256f5: 0x6c5c5a20, 0x256f6: 0x6cd6e220, 0x256f7: 0x6c284a20,\n\t0x256f8: 0x6cab5420, 0x256f9: 0x6ca17420, 0x256fa: 0x6cb92420, 0x256fb: 0x6c1c8020,\n\t0x256fc: 0x6cac0620, 0x256fd: 0x6c739620,\n\t// Block 0x95c, offset 0x25700\n\t0x25700: 0x6c178020, 0x25701: 0x6c8b3c20, 0x25702: 0x6c0db420, 0x25703: 0x6c7a0a20,\n\t0x25704: 0x6c28c820, 0x25705: 0x6c1dee20, 0x25706: 0x6ce70620, 0x25707: 0x6c28ca20,\n\t0x25708: 0x6c97ce20, 0x25709: 0x6c56ce20, 0x2570a: 0x6c8a2820, 0x2570b: 0x6cfbae20,\n\t0x2570d: 0x6c129820, 0x2570e: 0x6c92ea20, 0x2570f: 0x6c204220,\n\t0x25710: 0x6cf3f420, 0x25711: 0x6c978820,\n\t0x25715: 0x6d3f2420, 0x25717: 0x6c328020,\n\t0x2571a: 0x6cd6f220, 0x2571b: 0x6c406420,\n\t0x2571c: 0x6c72a620, 0x2571d: 0x6d395820, 0x2571f: 0x6c2e4220,\n\t0x25720: 0x6cee5a20, 0x25721: 0x6c206820, 0x25722: 0x6cb92620, 0x25723: 0x6cea1220,\n\t0x25725: 0x6c886420, 0x25726: 0x6c0c2e20, 0x25727: 0x6c845420,\n\t0x2572a: 0x6c845620,\n\t// Block 0x95d, offset 0x25740\n\t0x25746: 0x6c0a9220, 0x25747: 0x6c407620,\n\t0x25748: 0x6c257820, 0x25749: 0x6c318020, 0x2574b: 0x6d29a820,\n\t0x2574c: 0x6c8fb620, 0x2574d: 0x6d0a4a20, 0x2574e: 0x6cbf7a20, 0x2574f: 0x6c5f6e20,\n\t0x25750: 0x6cba2c20, 0x25752: 0x6c65fa20, 0x25753: 0x6cce9020,\n\t0x25754: 0x6c351e20, 0x25755: 0x6cd51620, 0x25756: 0x6c10c820, 0x25757: 0x6d05f820,\n\t0x25758: 0x6c304420, 0x2575a: 0x6cc49220,\n\t0x2575c: 0x6d0fe620, 0x2575d: 0x6cc8b420, 0x2575e: 0x6c8c7020, 0x2575f: 0x6c65fc20,\n\t0x25760: 0x6c2ca820, 0x25761: 0x6c3ba020, 0x25762: 0x6c2d9020, 0x25763: 0x6d41dc20,\n\t0x25765: 0x6ca94820,\n\t0x2576a: 0x6cdba020, 0x2576b: 0x6ce52420,\n\t0x2576c: 0x6c01da20, 0x2576f: 0x6c131c20,\n\t0x25770: 0x6c2fc220, 0x25771: 0x6cd02820, 0x25772: 0x6c328420, 0x25773: 0x6ce39420,\n\t0x25774: 0x6c695420, 0x25775: 0x6d41de20, 0x25776: 0x6d2f1020, 0x25777: 0x6c65fe20,\n\t0x25778: 0x6c28da20, 0x25779: 0x6c285420, 0x2577a: 0x6cd97420,\n\t// Block 0x95e, offset 0x25780\n\t0x25790: 0x6d2e2620, 0x25791: 0x6ce69620, 0x25792: 0x6d372a20,\n\t0x25795: 0x6d1f8220, 0x25796: 0x6cac0e20,\n\t0x257a1: 0x6c854220,\n\t0x257a4: 0x6cb9d820, 0x257a6: 0x6cdca620, 0x257a7: 0x6c71dc20,\n\t0x257a8: 0x6c010020, 0x257a9: 0x6c445020, 0x257aa: 0x6c72b420, 0x257ab: 0x6cea7220,\n\t0x257ac: 0x6c0aa620, 0x257ad: 0x6cb87e20, 0x257ae: 0x6c0fa820, 0x257af: 0x6c5c7c20,\n\t0x257b1: 0x6c670020,\n\t0x257b4: 0x6c466420, 0x257b5: 0x6cdba420,\n\t0x257ba: 0x6c227a20, 0x257bb: 0x6cbb5c20,\n\t0x257bf: 0x6d0cf420,\n\t// Block 0x95f, offset 0x257c0\n\t0x257cf: 0x6c2d9420,\n\t0x257d2: 0x6c9f0420,\n\t0x257dc: 0x6cb3b620, 0x257dd: 0x6c8e1620, 0x257de: 0x6c6b7420, 0x257df: 0x6d3b3e20,\n\t0x257e0: 0x6c47ee20, 0x257e3: 0x6c32aa20,\n\t0x257e4: 0x6d2fee20, 0x257e6: 0x6ccebe20, 0x257e7: 0x6cbdf020,\n\t0x257e8: 0x6c9ca420, 0x257ea: 0x6cb2e220, 0x257eb: 0x6c23c020,\n\t0x257ec: 0x6c1d8820, 0x257ef: 0x6cc9ae20,\n\t0x257f6: 0x6ce52620,\n\t// Block 0x960, offset 0x25800\n\t0x25805: 0x6c8edc20, 0x25806: 0x6c936c20, 0x25807: 0x6c91fc20,\n\t0x25808: 0x6d407620,\n\t0x2580c: 0x6c941e20, 0x2580d: 0x6c58e620, 0x2580f: 0x6ce5b420,\n\t0x25810: 0x6ce9d820, 0x25811: 0x6cbb5220, 0x25812: 0x6c8c8020, 0x25813: 0x6c06c220,\n\t0x25814: 0x6cad7620, 0x25815: 0x6d2dc420, 0x25817: 0x6c874e20,\n\t0x2581b: 0x6ce3b220,\n\t0x2581c: 0x6c560020,\n\t0x25822: 0x6c8b6c20,\n\t0x25835: 0x6c5b8020, 0x25836: 0x6cc16420, 0x25837: 0x6d086820,\n\t0x25839: 0x6c6ec620, 0x2583a: 0x6c2f1220, 0x2583b: 0x6cdc0820,\n\t0x2583d: 0x6cf11e20, 0x2583f: 0x6d0d1420,\n\t// Block 0x961, offset 0x25840\n\t0x25840: 0x6d0c4a20, 0x25841: 0x6c050e20, 0x25843: 0x6c67ce20,\n\t0x25844: 0x6ca66820, 0x25845: 0x6c876e20, 0x25846: 0x6c560620, 0x25847: 0x6cb80420,\n\t0x25848: 0x6d37e220,\n\t0x25851: 0x6c0acc20,\n\t0x25854: 0x6d220020, 0x25855: 0x6c2f1420, 0x25856: 0x6c8c8a20, 0x25857: 0x6c878c20,\n\t0x25858: 0x6d3de620, 0x25859: 0x6c62f020, 0x2585a: 0x6c70e620,\n\t0x2585c: 0x6c3c8820, 0x2585e: 0x6d248820,\n\t0x25868: 0x6c8b7e20, 0x25869: 0x6d28e020, 0x2586a: 0x6cb9e820, 0x2586b: 0x6c6a4620,\n\t0x2586c: 0x6c494220, 0x2586e: 0x6d3dee20,\n\t0x25871: 0x6c40a220,\n\t0x25879: 0x6ccba220,\n\t0x2587c: 0x6c248a20,\n\t// Block 0x962, offset 0x25880\n\t0x25883: 0x6c5b8220,\n\t0x25888: 0x6c29a620, 0x25889: 0x6c901c20, 0x2588a: 0x6d198420,\n\t0x25897: 0x6cc96020,\n\t0x25898: 0x6d274220, 0x2589a: 0x6c2bc620,\n\t0x258a1: 0x6c420820, 0x258a2: 0x6d295c20, 0x258a3: 0x6ccdf420,\n\t0x258a4: 0x6d24b020, 0x258a5: 0x6c0fde20, 0x258a7: 0x6c2f9820,\n\t0x258a8: 0x6c388c20, 0x258aa: 0x6d22d820,\n\t0x258ac: 0x6ccfc420,\n\t0x258b2: 0x6c457020,\n\t0x258b4: 0x6c9ed020, 0x258b5: 0x6cea4a20,\n\t0x258b8: 0x6c8af620,\n\t// Block 0x963, offset 0x258c0\n\t0x258c1: 0x6d2bd420, 0x258c2: 0x6cadbc20,\n\t0x258c4: 0x6c9c4a20, 0x258c6: 0x6c9ffa20, 0x258c7: 0x6c394a20,\n\t0x258c9: 0x6ca33620, 0x258ca: 0x6cd8b820, 0x258cb: 0x6d14ea20,\n\t0x258cc: 0x6c635020, 0x258cd: 0x6d3ae620,\n\t0x258d3: 0x6c047e20,\n\t0x258d4: 0x6d231e20, 0x258d6: 0x6cb35820,\n\t0x258da: 0x6c582820, 0x258db: 0x6c11f820,\n\t0x258dc: 0x6c684a20,\n\t0x258e0: 0x6cdfe420,\n\t0x258e9: 0x6d363a20, 0x258eb: 0x6c9cf420,\n\t0x258ec: 0x6c77ae20,\n\t0x258f1: 0x6d109a20, 0x258f2: 0x6c335020, 0x258f3: 0x6cc36020,\n\t0x258f4: 0x6c10a420, 0x258f5: 0x6c1f5420, 0x258f6: 0x6cbc2820, 0x258f7: 0x6c8e6c20,\n\t0x258f8: 0x6c0f1820, 0x258fa: 0x6c772e20, 0x258fb: 0x6c3bde20,\n\t// Block 0x964, offset 0x25900\n\t0x25905: 0x6c2a2020,\n\t0x25909: 0x6c312820, 0x2590a: 0x6c440820,\n\t0x25919: 0x6c8d3a20, 0x2591a: 0x6cf79420,\n\t0x2591c: 0x6ca6ba20, 0x2591d: 0x6d389620, 0x2591e: 0x6d389820,\n\t0x25923: 0x6c1d7820,\n\t0x25934: 0x6ca6ee20, 0x25935: 0x6c5f0c20, 0x25937: 0x6cc12420,\n\t// Block 0x965, offset 0x25940\n\t0x25944: 0x6c763e20, 0x25947: 0x6cfcfc20,\n\t0x25949: 0x6c516820, 0x2594b: 0x6c8bd220,\n\t0x2594d: 0x6d3e7e20,\n\t0x25951: 0x6cab8c20, 0x25952: 0x6c245620,\n\t0x25957: 0x6c140420,\n\t0x2595d: 0x6d383820, 0x2595e: 0x6c102420,\n\t0x25964: 0x6c1d8220, 0x25965: 0x6cf8e220, 0x25966: 0x6cc99220, 0x25967: 0x6cfb9620,\n\t0x25968: 0x6ccb6420, 0x25969: 0x6c9e6020, 0x2596b: 0x6c38c020,\n\t0x2596c: 0x6d341620, 0x2596e: 0x6c256420,\n\t0x25974: 0x6cfa4620,\n\t0x2597e: 0x6cab1420, 0x2597f: 0x6c845820,\n\t// Block 0x966, offset 0x25980\n\t0x25980: 0x6d40de20, 0x25982: 0x6c24f220, 0x25983: 0x6d2b1220,\n\t0x25985: 0x6c845a20,\n\t0x25998: 0x6cb67620, 0x2599a: 0x6d3d1020, 0x2599b: 0x6c257a20,\n\t0x2599c: 0x6cb41e20, 0x2599e: 0x6c38d620, 0x2599f: 0x6ce02620,\n\t0x259a9: 0x6d3eac20, 0x259aa: 0x6d412a20, 0x259ab: 0x6d38bc20,\n\t0x259ac: 0x6cc6d020, 0x259ad: 0x6c8bee20, 0x259ae: 0x6ce02820,\n\t0x259b6: 0x6cd3fe20,\n\t0x259ba: 0x6c251420, 0x259bb: 0x6d3eb820,\n\t0x259bc: 0x6c3db620,\n\t// Block 0x967, offset 0x259c0\n\t0x259c1: 0x6d001c20,\n\t0x259c8: 0x6c3c7420,\n\t0x259cf: 0x6cfd4220,\n\t0x259d0: 0x6c670c20, 0x259d2: 0x6c3c0420,\n\t0x259d7: 0x6c875020,\n\t0x259d8: 0x6ca19820,\n\t0x259df: 0x6d1ed020,\n\t0x259e5: 0x6c5e5020, 0x259e7: 0x6cc16620,\n\t0x259ec: 0x6ca78220,\n\t0x259f0: 0x6c9cbe20, 0x259f3: 0x6cb80a20,\n\t0x259f6: 0x6c51ae20,\n\t0x259f8: 0x6c893a20,\n\t0x259ff: 0x6d42b420,\n\t// Block 0x968, offset 0x25a00\n\t0x25a02: 0x6c8df220,\n\t0x25a05: 0x6d39f820, 0x25a07: 0x6ca78c20,\n\t0x25a0a: 0x6c612420, 0x25a0b: 0x6cc62620,\n\t0x25a0c: 0x6c6a9620, 0x25a0d: 0x6c41d020,\n\t0x25a10: 0x6d170220, 0x25a13: 0x6d38ce20,\n\t0x25a15: 0x6cf4ca20,\n\t0x25a1a: 0x6c44fe20, 0x25a1b: 0x6c243220,\n\t0x25a1d: 0x6c9ed220,\n\t0x25a21: 0x6d0a0220, 0x25a23: 0x6d33cc20,\n\t0x25a24: 0x6cff7620, 0x25a27: 0x6c3e3a20,\n\t0x25a28: 0x6c553620,\n\t0x25a2c: 0x6c2b1e20, 0x25a2e: 0x6c741820, 0x25a2f: 0x6c2e1220,\n\t0x25a39: 0x6cd44420,\n\t0x25a3c: 0x6cee0a20,\n\t// Block 0x969, offset 0x25a40\n\t0x25a43: 0x6ca33820,\n\t0x25a44: 0x6c2b2620, 0x25a45: 0x6cd37020, 0x25a46: 0x6c224020, 0x25a47: 0x6cd4d220,\n\t0x25a49: 0x6cec2c20, 0x25a4a: 0x6c181820, 0x25a4b: 0x6c389820,\n\t0x25a4d: 0x6c470820, 0x25a4e: 0x6d24e620,\n\t0x25a51: 0x6c491420,\n\t0x25a5a: 0x6cbcbc20,\n\t0x25a5c: 0x6d2de820, 0x25a5d: 0x6c276020, 0x25a5e: 0x6cceee20,\n\t0x25a66: 0x6d388820, 0x25a67: 0x6cfde420,\n\t0x25a68: 0x6ca00020, 0x25a69: 0x6d3f5020, 0x25a6a: 0x6c599620, 0x25a6b: 0x6c9c5420,\n\t0x25a6d: 0x6cf88c20, 0x25a6e: 0x6d363c20, 0x25a6f: 0x6cac2820,\n\t0x25a70: 0x6c349420,\n\t0x25a74: 0x6c22c820, 0x25a75: 0x6ca1d420, 0x25a77: 0x6c17be20,\n\t0x25a79: 0x6d17b620, 0x25a7a: 0x6c464820,\n\t// Block 0x96a, offset 0x25a80\n\t0x25a87: 0x6c6dba20,\n\t0x25a93: 0x6d2b8020,\n\t0x25a94: 0x6cb25e20, 0x25a95: 0x6d130420, 0x25a96: 0x6c6af420,\n\t0x25a98: 0x6caf7620, 0x25a9b: 0x6ccbfe20,\n\t0x25a9c: 0x6d3c4420, 0x25a9d: 0x6c6f1e20,\n\t0x25aa0: 0x6c8e6e20, 0x25aa1: 0x6d227020, 0x25aa3: 0x6c70ac20,\n\t0x25aa8: 0x6caafe20,\n\t0x25ab8: 0x6c999c20,\n\t// Block 0x96b, offset 0x25ac0\n\t0x25ac4: 0x6c187420, 0x25ac6: 0x6d3bd420, 0x25ac7: 0x6ca76a20,\n\t0x25ac8: 0x6c79aa20, 0x25ac9: 0x6c6a2e20, 0x25aca: 0x6c57b020,\n\t0x25acd: 0x6d02e220, 0x25ace: 0x6d424a20, 0x25acf: 0x6d0e9620,\n\t0x25ad0: 0x6c748220,\n\t0x25ad5: 0x6c54ea20, 0x25ad6: 0x6d393a20, 0x25ad7: 0x6ccf6a20,\n\t0x25ad9: 0x6d0dbc20, 0x25adb: 0x6d01de20,\n\t0x25adc: 0x6c2ed420, 0x25adf: 0x6c187a20,\n\t0x25af2: 0x6c65c620, 0x25af3: 0x6c624c20,\n\t0x25af6: 0x6c21ce20, 0x25af7: 0x6c537420,\n\t// Block 0x96c, offset 0x25b00\n\t0x25b00: 0x6c26bc20,\n\t0x25b04: 0x6c764020, 0x25b05: 0x6d039820, 0x25b06: 0x6c5c1c20, 0x25b07: 0x6c65d020,\n\t0x25b08: 0x6d394820, 0x25b09: 0x6d2c8c20, 0x25b0a: 0x6c403820, 0x25b0b: 0x6c1c6020,\n\t0x25b0c: 0x6c082e20, 0x25b0d: 0x6cab0a20,\n\t0x25b11: 0x6c626820, 0x25b12: 0x6cb9c020,\n\t0x25b14: 0x6ced9620, 0x25b15: 0x6cab6a20, 0x25b16: 0x6c0a3220, 0x25b17: 0x6cd79c20,\n\t0x25b20: 0x6c6dd020, 0x25b21: 0x6d132e20,\n\t// Block 0x96d, offset 0x25b40\n\t0x25b44: 0x6c3a7220, 0x25b47: 0x6c844420,\n\t0x25b4a: 0x6c868020, 0x25b4b: 0x6cb01e20,\n\t0x25b52: 0x6cdc7a20, 0x25b53: 0x6c8e9e20,\n\t0x25b54: 0x6c517220, 0x25b55: 0x6c5d1420, 0x25b56: 0x6ce07a20, 0x25b57: 0x6cd79e20,\n\t0x25b58: 0x6d36ec20, 0x25b59: 0x6c0f5c20,\n\t0x25b5d: 0x6cf8e420,\n\t0x25b61: 0x6cb33620, 0x25b62: 0x6cc45c20,\n\t0x25b64: 0x6ca2b020,\n\t0x25b7d: 0x6d1db820,\n\t// Block 0x96e, offset 0x25b80\n\t0x25b82: 0x6c279620,\n\t0x25b8a: 0x6cb72220, 0x25b8b: 0x6c2e0220,\n\t0x25b8c: 0x6ca87c20, 0x25b8d: 0x6cd6e420, 0x25b8f: 0x6cce8c20,\n\t0x25b90: 0x6c7dc420, 0x25b91: 0x6cdc9020, 0x25b93: 0x6c30ca20,\n\t0x25b94: 0x6c2ef220,\n\t0x25b9c: 0x6c45ba20,\n\t0x25baf: 0x6d3bb020,\n\t0x25bb0: 0x6c4c8c20,\n\t0x25bbc: 0x6d05fa20, 0x25bbd: 0x6cc1e820,\n\t// Block 0x96f, offset 0x25bc0\n\t0x25bc0: 0x6d0a4c20, 0x25bc3: 0x6c689a20,\n\t0x25bc4: 0x6d30aa20, 0x25bc6: 0x6c2d9220, 0x25bc7: 0x6cca7620,\n\t0x25bc8: 0x6c080c20, 0x25bca: 0x6cdda620, 0x25bcb: 0x6cba2e20,\n\t0x25bcf: 0x6d05fc20,\n\t0x25bd1: 0x6d0a4e20,\n\t0x25bd4: 0x6ca17a20,\n\t0x25bf5: 0x6cdca820, 0x25bf6: 0x6c7ea820, 0x25bf7: 0x6d3a8a20,\n\t0x25bf8: 0x6d396420, 0x25bfa: 0x6c870820,\n\t0x25bfc: 0x6c280e20, 0x25bfd: 0x6c717820, 0x25bff: 0x6d286e20,\n\t// Block 0x970, offset 0x25c00\n\t0x25c00: 0x6c15fc20, 0x25c01: 0x6c956020,\n\t0x25c04: 0x6ccb8220, 0x25c06: 0x6c888620,\n\t0x25c08: 0x6d414e20, 0x25c0b: 0x6c7f7020,\n\t0x25c0c: 0x6cd6ec20, 0x25c0d: 0x6cbcfe20,\n\t0x25c18: 0x6c30ce20,\n\t0x25c1e: 0x6cf54a20, 0x25c1f: 0x6c9b9020,\n\t0x25c21: 0x6c62ce20,\n\t0x25c24: 0x6c1aee20, 0x25c26: 0x6ca65c20,\n\t0x25c38: 0x6d116e20, 0x25c3b: 0x6c7ec020,\n\t0x25c3e: 0x6c942020,\n\t// Block 0x971, offset 0x25c40\n\t0x25c40: 0x6cdcbe20, 0x25c41: 0x6c3dbe20,\n\t0x25c44: 0x6c830420, 0x25c45: 0x6cf05820,\n\t0x25c4e: 0x6c237820,\n\t0x25c54: 0x6c877020, 0x25c56: 0x6cb22820,\n\t0x25c58: 0x6c759020, 0x25c59: 0x6c71e420, 0x25c5b: 0x6c7ecc20,\n\t0x25c67: 0x6c62f220,\n\t0x25c6a: 0x6c9f1a20,\n\t0x25c6c: 0x6d125020, 0x25c6d: 0x6c0b2620,\n\t0x25c71: 0x6c23d420, 0x25c72: 0x6cd85e20,\n\t0x25c75: 0x6cd86020,\n\t0x25c78: 0x6c51b020,\n\t// Block 0x972, offset 0x25c80\n\t0x25c83: 0x6ca48820,\n\t0x25c85: 0x6c2f2620,\n\t0x25c88: 0x6c180220, 0x25c89: 0x6d282220, 0x25c8b: 0x6d052220,\n\t0x25c8c: 0x6cd4c220, 0x25c8e: 0x6c15b020, 0x25c8f: 0x6c9f4c20,\n\t0x25c90: 0x6c87fe20, 0x25c91: 0x6d19e620, 0x25c92: 0x6d037620, 0x25c93: 0x6cee9020,\n\t0x25c94: 0x6c479020, 0x25c95: 0x6ce7f020, 0x25c96: 0x6cddf620, 0x25c97: 0x6c3a5e20,\n\t0x25c98: 0x6c265420, 0x25c99: 0x6ca84620, 0x25c9a: 0x6c244820, 0x25c9b: 0x6d426e20,\n\t0x25c9c: 0x6c6b2020, 0x25c9d: 0x6d08b020, 0x25c9e: 0x6c0f5e20, 0x25c9f: 0x6c6c5e20,\n\t0x25ca0: 0x6d1b1220, 0x25ca1: 0x6d05f020, 0x25ca3: 0x6d20e420,\n\t0x25ca4: 0x6d048c20, 0x25ca6: 0x6cb76c20, 0x25ca7: 0x6c069620,\n\t0x25ca8: 0x6d03dc20, 0x25ca9: 0x6c45ec20,\n\t0x25cac: 0x6d418c20,\n\t0x25cb0: 0x6c6a1a20, 0x25cb2: 0x6c763020,\n\t0x25cb5: 0x6d03f020, 0x25cb6: 0x6c06b220, 0x25cb7: 0x6cd4ee20,\n\t0x25cb8: 0x6d23a020, 0x25cba: 0x6d38ee20, 0x25cbb: 0x6d2e0420,\n\t// Block 0x973, offset 0x25cc0\n\t0x25cc2: 0x6d37c620,\n\t0x25cc6: 0x6c140620,\n\t0x25cc8: 0x6c20e020, 0x25cc9: 0x6c8f4220,\n\t0x25cce: 0x6cdbdc20,\n\t0x25cd0: 0x6d3a8620,\n\t0x25cd9: 0x6c0bd220,\n\t0x25cdd: 0x6d035420, 0x25cdf: 0x6d0bce20,\n\t0x25ce2: 0x6c8daa20,\n\t0x25ce7: 0x6d0bd220,\n\t0x25cec: 0x6ce63020,\n\t0x25cf9: 0x6c2b5a20,\n\t// Block 0x974, offset 0x25d00\n\t0x25d01: 0x6cafca20, 0x25d02: 0x6c567620, 0x25d03: 0x6c132a20,\n\t0x25d0a: 0x6ce45e20, 0x25d0b: 0x6ca20220,\n\t0x25d0c: 0x6c731620, 0x25d0e: 0x6ca20420,\n\t0x25d10: 0x6c723020, 0x25d11: 0x6c8f0020, 0x25d13: 0x6c8e0c20,\n\t0x25d17: 0x6c8f0220,\n\t0x25d18: 0x6c568820,\n\t0x25d26: 0x6c3e3e20, 0x25d27: 0x6c553820,\n\t0x25d2a: 0x6c361820, 0x25d2b: 0x6c458420,\n\t0x25d2c: 0x6c470a20,\n\t0x25d31: 0x6c48b420,\n\t0x25d39: 0x6c94a420, 0x25d3b: 0x6c389a20,\n\t0x25d3c: 0x6c93e220, 0x25d3d: 0x6c9b1820, 0x25d3e: 0x6c3e8a20, 0x25d3f: 0x6c8e5e20,\n\t// Block 0x975, offset 0x25d40\n\t0x25d45: 0x6d00c220, 0x25d46: 0x6c471e20,\n\t0x25d48: 0x6cfcda20, 0x25d49: 0x6c0f1a20, 0x25d4b: 0x6c622220,\n\t0x25d53: 0x6cc2a220,\n\t0x25d54: 0x6c927220,\n\t0x25d5e: 0x6cd79420,\n\t0x25d61: 0x6ca20820, 0x25d62: 0x6d23a420, 0x25d63: 0x6c4eea20,\n\t0x25d69: 0x6d26d020, 0x25d6a: 0x6c289e20,\n\t0x25d6f: 0x6d218620,\n\t0x25d70: 0x6c64de20, 0x25d73: 0x6c429020,\n\t0x25d7f: 0x6c129420,\n\t// Block 0x976, offset 0x25d80\n\t0x25d80: 0x6cd0c820, 0x25d81: 0x6c8f1c20,\n\t0x25d86: 0x6c687e20,\n\t0x25d89: 0x6cdb2020, 0x25d8a: 0x6cdb2220, 0x25d8b: 0x6d383e20,\n\t0x25d92: 0x6c8aaa20,\n\t0x25d94: 0x6d085c20, 0x25d95: 0x6c92ee20, 0x25d97: 0x6c629e20,\n\t0x25d9a: 0x6d0cdc20,\n\t0x25d9f: 0x6c930820,\n\t0x25da1: 0x6c9fd220, 0x25da2: 0x6ce39620,\n\t0x25da6: 0x6c595c20,\n\t0x25da9: 0x6d18ec20, 0x25daa: 0x6ce08220,\n\t0x25dac: 0x6cf48820,\n\t0x25db0: 0x6c5f8020,\n\t0x25db7: 0x6c31e620,\n\t0x25db8: 0x6c7d9420, 0x25dba: 0x6c758e20,\n\t0x25dbf: 0x6cd21a20,\n\t// Block 0x977, offset 0x25dc0\n\t0x25dc0: 0x6ca44e20, 0x25dc1: 0x6cb3bc20,\n\t0x25dc4: 0x6cd52020, 0x25dc5: 0x6cc37e20,\n\t0x25dcc: 0x6cc5bc20, 0x25dcf: 0x6c3b6220,\n\t0x25dd2: 0x6cde3a20, 0x25dd3: 0x6cea4820,\n\t0x25dd5: 0x6d0f9c20,\n\t0x25de6: 0x6c342c20, 0x25de7: 0x6c21fc20,\n\t0x25de9: 0x6c478020, 0x25dea: 0x6c3b6e20,\n\t0x25ded: 0x6cc74620,\n\t0x25df1: 0x6c42c020, 0x25df2: 0x6cfdbe20,\n\t0x25df4: 0x6cfdc020, 0x25df5: 0x6c545420, 0x25df7: 0x6ce1c420,\n\t0x25df8: 0x6ccd8420, 0x25df9: 0x6d0fba20, 0x25dfa: 0x6d3f5220,\n\t0x25dfc: 0x6d256a20,\n\t// Block 0x978, offset 0x25e00\n\t0x25e04: 0x6cda7420, 0x25e07: 0x6c203820,\n\t0x25e08: 0x6cfdc820, 0x25e0a: 0x6c048a20,\n\t0x25e0c: 0x6c97c020, 0x25e0e: 0x6c3f6e20, 0x25e0f: 0x6c7e6420,\n\t0x25e10: 0x6c851e20, 0x25e12: 0x6c6af620, 0x25e13: 0x6d1ea820,\n\t0x25e18: 0x6d23a620, 0x25e1a: 0x6c1c4820,\n\t0x25e1c: 0x6c203a20, 0x25e1d: 0x6d182e20, 0x25e1e: 0x6ccd0020,\n\t0x25e22: 0x6c609220, 0x25e23: 0x6d0c2820,\n\t0x25e26: 0x6cf51820, 0x25e27: 0x6c215c20,\n\t0x25e28: 0x6c987420,\n\t0x25e2d: 0x6c3ede20, 0x25e2e: 0x6c637c20, 0x25e2f: 0x6c46d620,\n\t0x25e30: 0x6c474420, 0x25e31: 0x6c63e420,\n\t0x25e35: 0x6cfb9820, 0x25e37: 0x6c6d6020,\n\t0x25e38: 0x6d3f6420, 0x25e39: 0x6c90bc20,\n\t0x25e3c: 0x6c46da20,\n\t// Block 0x979, offset 0x25e40\n\t0x25e40: 0x6cc57c20, 0x25e42: 0x6ccd1420,\n\t0x25e45: 0x6c74da20, 0x25e46: 0x6ce79c20, 0x25e47: 0x6d1ffc20,\n\t0x25e54: 0x6c651a20, 0x25e55: 0x6c31dc20, 0x25e57: 0x6c55f020,\n\t0x25e5b: 0x6ccace20,\n\t0x25e5c: 0x6d246220,\n\t0x25e62: 0x6c974e20,\n\t0x25e64: 0x6d342620, 0x25e65: 0x6d0c4420, 0x25e66: 0x6c42f020,\n\t0x25e68: 0x6c582020,\n\t0x25e6e: 0x6cc34420,\n\t0x25e71: 0x6d103e20, 0x25e73: 0x6d418820,\n\t0x25e77: 0x6cfe8e20,\n\t0x25e78: 0x6d170620, 0x25e79: 0x6d0d5a20, 0x25e7a: 0x6c531e20, 0x25e7b: 0x6d20e620,\n\t0x25e7f: 0x6c1c0020,\n\t// Block 0x97a, offset 0x25e80\n\t0x25e81: 0x6c1b1020,\n\t0x25e84: 0x6c4f6a20, 0x25e85: 0x6ccb1e20, 0x25e86: 0x6cabbe20, 0x25e87: 0x6cde4020,\n\t0x25e88: 0x6c3b2620, 0x25e89: 0x6c1aa020,\n\t0x25e8c: 0x6c533220, 0x25e8d: 0x6d095220,\n\t0x25e96: 0x6d351e20,\n\t0x25e9b: 0x6cc19020,\n\t0x25ea0: 0x6cf5fe20, 0x25ea1: 0x6c3e6220, 0x25ea3: 0x6cd4e020,\n\t0x25ea4: 0x6c4d6a20, 0x25ea6: 0x6cb38c20,\n\t0x25ea8: 0x6c229a20,\n\t0x25eb0: 0x6c149a20, 0x25eb3: 0x6c52ae20,\n\t0x25eb8: 0x6cad7a20, 0x25eb9: 0x6ccff820, 0x25eba: 0x6cfede20,\n\t0x25ebd: 0x6d07ac20, 0x25ebe: 0x6c229e20, 0x25ebf: 0x6ce68420,\n\t// Block 0x97b, offset 0x25ec0\n\t0x25ec0: 0x6cb39620,\n\t0x25ec7: 0x6cde7e20,\n\t0x25ec8: 0x6c13a820, 0x25ecb: 0x6d40ce20,\n\t0x25ecc: 0x6c5de820, 0x25ecd: 0x6d071820, 0x25ece: 0x6d0e9820, 0x25ecf: 0x6c149e20,\n\t0x25ed1: 0x6ceb3420,\n\t0x25ed8: 0x6cfb8420, 0x25ed9: 0x6d07c620, 0x25eda: 0x6c542a20, 0x25edb: 0x6c58de20,\n\t0x25edc: 0x6c442620, 0x25edd: 0x6c1d3c20, 0x25ede: 0x6c0a3620, 0x25edf: 0x6c52bc20,\n\t0x25ee0: 0x6c52be20, 0x25ee1: 0x6c1b4a20, 0x25ee3: 0x6c140820,\n\t0x25eef: 0x6d2c8e20,\n\t0x25ef1: 0x6d2d1e20, 0x25ef2: 0x6cdea220,\n\t0x25ef5: 0x6cb3a220, 0x25ef6: 0x6cdea420,\n\t0x25ef8: 0x6d1f6e20, 0x25ef9: 0x6c3ef420, 0x25efa: 0x6c220e20, 0x25efb: 0x6c26be20,\n\t0x25efc: 0x6cde1a20, 0x25efe: 0x6c8ea020,\n\t// Block 0x97c, offset 0x25f00\n\t0x25f01: 0x6c221020, 0x25f03: 0x6c52d420,\n\t0x25f05: 0x6c4f1a20, 0x25f06: 0x6c7e5020,\n\t0x25f08: 0x6cd20420,\n\t0x25f0d: 0x6ce79e20, 0x25f0e: 0x6c5c7020, 0x25f0f: 0x6c518620,\n\t0x25f10: 0x6cb1d820, 0x25f11: 0x6d243a20,\n\t0x25f1c: 0x6cfaf020, 0x25f1d: 0x6c4e6c20, 0x25f1f: 0x6cb3ac20,\n\t0x25f26: 0x6c7ec220, 0x25f27: 0x6c5e5220,\n\t0x25f30: 0x6cdf8420,\n\t0x25f34: 0x6c819e20, 0x25f36: 0x6cd5b420,\n\t0x25f3a: 0x6c2a0a20, 0x25f3b: 0x6c2d1020,\n\t// Block 0x97d, offset 0x25f40\n\t0x25f48: 0x6d04a820, 0x25f4b: 0x6cee6020,\n\t0x25f4d: 0x6c17f820, 0x25f4e: 0x6ca3ae20,\n\t0x25f50: 0x6c73d420, 0x25f53: 0x6c375220,\n\t0x25f54: 0x6c375a20, 0x25f55: 0x6caa6c20, 0x25f56: 0x6caa8820,\n\t0x25f5d: 0x6d3bae20,\n\t0x25f62: 0x6cab2220,\n\t0x25f64: 0x6c8ac220, 0x25f65: 0x6c82b420, 0x25f67: 0x6c032a20,\n\t0x25f6c: 0x6c196820, 0x25f6f: 0x6c4a6a20,\n\t0x25f70: 0x6cc2f820, 0x25f71: 0x6c448820, 0x25f73: 0x6c45ee20,\n\t0x25f74: 0x6ccee020,\n\t0x25f79: 0x6c7f2020, 0x25f7a: 0x6d32e820, 0x25f7b: 0x6d183020,\n\t0x25f7c: 0x6c4bda20, 0x25f7d: 0x6ceea620, 0x25f7e: 0x6c951e20,\n\t// Block 0x97e, offset 0x25f80\n\t0x25f82: 0x6cd28620, 0x25f83: 0x6d1be820,\n\t0x25f84: 0x6cd14620, 0x25f85: 0x6ce8ea20, 0x25f86: 0x6c0a3820,\n\t0x25f88: 0x6d2aee20, 0x25f89: 0x6d383a20, 0x25f8b: 0x6cc72620,\n\t0x25f8c: 0x6cb64e20, 0x25f8d: 0x6c405620, 0x25f8e: 0x6c131820,\n\t0x25f93: 0x6c845c20,\n\t0x25f94: 0x6c978c20, 0x25f96: 0x6c886620, 0x25f97: 0x6c0c3020,\n\t0x25f9b: 0x6c207e20,\n\t0x25f9c: 0x6d18ee20,\n\t0x25fa0: 0x6cac3620,\n\t0x25fa5: 0x6d191420, 0x25fa6: 0x6c7b4820,\n\t0x25fa9: 0x6c0c5220, 0x25fab: 0x6c1c9e20,\n\t0x25fac: 0x6cc22020, 0x25fad: 0x6ca1ae20, 0x25fae: 0x6d301620, 0x25faf: 0x6ccc3c20,\n\t0x25fb0: 0x6ccc3e20,\n\t0x25fb7: 0x6d109620,\n\t0x25fb8: 0x6c457420, 0x25fb9: 0x6ca3b620,\n\t0x25fbc: 0x6d018420, 0x25fbf: 0x6ce53220,\n\t// Block 0x97f, offset 0x25fc0\n\t0x25fc6: 0x6d127820,\n\t0x25fc9: 0x6ccbe220,\n\t0x25fcf: 0x6ccaec20,\n\t0x25fd2: 0x6c2cc620, 0x25fd3: 0x6d06c220,\n\t0x25fd9: 0x6cc19220,\n\t0x25fe0: 0x6c52b020, 0x25fe1: 0x6cd16620, 0x25fe2: 0x6ce6ec20,\n\t0x25ff0: 0x6c352e20,\n\t0x25ff5: 0x6c89ea20, 0x25ff7: 0x6c53c220,\n\t0x25ff8: 0x6c852020, 0x25ffa: 0x6cfdee20,\n\t0x25ffd: 0x6cd0b620,\n\t// Block 0x980, offset 0x26000\n\t0x26000: 0x6c3d8220,\n\t0x26008: 0x6d0dc020, 0x26009: 0x6cee3220, 0x2600a: 0x6cb51620, 0x2600b: 0x6c34a620,\n\t0x2600d: 0x6c57b220, 0x2600e: 0x6cb90c20,\n\t0x26010: 0x6d01e020,\n\t0x2601d: 0x6c22d620, 0x2601e: 0x6cd11020,\n\t0x26022: 0x6c37dc20,\n\t0x26024: 0x6d039a20, 0x26026: 0x6cea0e20, 0x26027: 0x6d0ea220,\n\t0x26029: 0x6c8b2820,\n\t0x2602c: 0x6c9c6e20,\n\t0x26038: 0x6d402c20, 0x2603a: 0x6d3e8020,\n\t0x2603c: 0x6c55ba20, 0x2603d: 0x6d1c9e20, 0x2603e: 0x6c885620, 0x2603f: 0x6c266a20,\n\t// Block 0x981, offset 0x26040\n\t0x26040: 0x6ce4c420, 0x26041: 0x6ce53e20,\n\t0x2604b: 0x6cc6b020,\n\t0x2604d: 0x6c00d020,\n\t0x26050: 0x6c00e420, 0x26051: 0x6d309e20, 0x26052: 0x6c4c4620, 0x26053: 0x6c92f020,\n\t0x26054: 0x6d2f7a20, 0x26055: 0x6c9c8220, 0x26056: 0x6c8a2a20, 0x26057: 0x6d30a020,\n\t0x2605b: 0x6cc25020,\n\t0x2605c: 0x6c236820, 0x2605f: 0x6ce65020,\n\t0x26061: 0x6ce02c20, 0x26062: 0x6d2e2820, 0x26063: 0x6c55e020,\n\t0x26065: 0x6cb1da20, 0x26067: 0x6c267020,\n\t0x26068: 0x6cc6d220,\n\t0x2606e: 0x6ca52020,\n\t0x26073: 0x6ca45a20,\n\t0x26074: 0x6c291a20, 0x26075: 0x6c695c20,\n\t0x2607b: 0x6c72b620,\n\t0x2607c: 0x6c37ac20,\n\t// Block 0x982, offset 0x26080\n\t0x2608a: 0x6c877420,\n\t0x2608c: 0x6c4c4e20, 0x2608d: 0x6cec7e20,\n\t0x26092: 0x6ca7ee20,\n\t0x26094: 0x6c6c3420,\n\t0x260a9: 0x6cb04a20, 0x260aa: 0x6c1bde20,\n\t0x260b2: 0x6cb04c20, 0x260b3: 0x6d166e20,\n\t0x260b4: 0x6c316220, 0x260b5: 0x6cec1420, 0x260b6: 0x6d099020,\n\t0x260b8: 0x6cb73c20, 0x260b9: 0x6ccd6c20,\n\t0x260bc: 0x6d056a20, 0x260bf: 0x6c509020,\n\t// Block 0x983, offset 0x260c0\n\t0x260c0: 0x6caca620, 0x260c2: 0x6cadb420,\n\t0x260c4: 0x6d045a20, 0x260c6: 0x6c1b7e20, 0x260c7: 0x6cdf9020,\n\t0x260c8: 0x6d41a620, 0x260c9: 0x6d414820, 0x260ca: 0x6cb74c20, 0x260cb: 0x6c316420,\n\t0x260d9: 0x6cd70c20,\n\t0x260dc: 0x6ca2f220, 0x260dd: 0x6cf59620,\n\t0x260e7: 0x6c179420,\n\t0x260e8: 0x6d16d020, 0x260eb: 0x6d329e20,\n\t0x260ee: 0x6c70fe20, 0x260ef: 0x6c274c20,\n\t0x260f1: 0x6cc9fc20,\n\t0x260f4: 0x6d3ac820, 0x260f5: 0x6ced7620,\n\t0x260f8: 0x6cc9fe20, 0x260f9: 0x6c04f220, 0x260fa: 0x6c643c20, 0x260fb: 0x6c972c20,\n\t// Block 0x984, offset 0x26100\n\t0x26108: 0x6ceb9c20, 0x2610a: 0x6cb76020,\n\t0x2610f: 0x6d3c0c20,\n\t0x26110: 0x6ceb0220, 0x26113: 0x6cb28c20,\n\t0x2611d: 0x6cae6220, 0x2611e: 0x6c7b9a20, 0x2611f: 0x6d14d820,\n\t0x26121: 0x6d018620, 0x26122: 0x6d264c20, 0x26123: 0x6c523020,\n\t0x26125: 0x6c53f220, 0x26126: 0x6d32a420, 0x26127: 0x6c217420,\n\t0x26128: 0x6cd35e20, 0x26129: 0x6cec1c20, 0x2612b: 0x6d009620,\n\t0x26138: 0x6c452a20,\n\t// Block 0x985, offset 0x26140\n\t0x26145: 0x6c35fe20,\n\t0x2614f: 0x6c7a7220,\n\t0x26150: 0x6ca32c20, 0x26153: 0x6c707420,\n\t0x26154: 0x6d088e20, 0x26155: 0x6cc0fe20, 0x26156: 0x6c181c20, 0x26157: 0x6c939620,\n\t0x26158: 0x6c511420, 0x26159: 0x6cd16020, 0x2615a: 0x6ca44620,\n\t0x2615c: 0x6c511620, 0x2615d: 0x6c13de20, 0x2615e: 0x6d0bfe20, 0x2615f: 0x6c450a20,\n\t0x26160: 0x6ca81e20, 0x26162: 0x6c4c6a20, 0x26163: 0x6d0c8c20,\n\t0x26164: 0x6c494e20, 0x26167: 0x6d360420,\n\t0x26168: 0x6c81f420,\n\t0x2616f: 0x6c321820,\n\t0x26170: 0x6cb78220, 0x26171: 0x6cc10020, 0x26172: 0x6c742e20,\n\t// Block 0x986, offset 0x26180\n\t0x26181: 0x6c3c4220, 0x26183: 0x6d06c420,\n\t0x26184: 0x6ce9fc20, 0x26186: 0x6c4e1820, 0x26187: 0x6c7a4220,\n\t0x2618a: 0x6ccff020, 0x2618b: 0x6d363e20,\n\t0x2618d: 0x6cad2c20, 0x2618e: 0x6d32cc20, 0x2618f: 0x6c861820,\n\t0x26190: 0x6ced2620, 0x26192: 0x6c391020, 0x26193: 0x6d033a20,\n\t0x26196: 0x6d0bb620,\n\t0x2619b: 0x6c709820,\n\t0x2619c: 0x6cd0a620,\n\t0x261ad: 0x6c989020, 0x261af: 0x6cea7e20,\n\t0x261b0: 0x6d3d6620, 0x261b1: 0x6cf62820, 0x261b2: 0x6d1b5820, 0x261b3: 0x6c6db620,\n\t0x261b4: 0x6cea5420, 0x261b7: 0x6c453220,\n\t0x261b8: 0x6c620a20,\n\t// Block 0x987, offset 0x261c0\n\t0x261cf: 0x6d3ba820,\n\t0x261d2: 0x6ce5f220,\n\t0x261d4: 0x6d33e220, 0x261d6: 0x6c604420,\n\t0x261da: 0x6d1c8220, 0x261db: 0x6cf0aa20,\n\t0x261dd: 0x6c593c20, 0x261de: 0x6ce68620, 0x261df: 0x6c150620,\n\t0x261e2: 0x6c7c8e20, 0x261e3: 0x6cb86e20,\n\t0x261e4: 0x6c04fc20, 0x261e5: 0x6c13a420, 0x261e6: 0x6ceb8420, 0x261e7: 0x6ca43020,\n\t0x261e8: 0x6c6a2420, 0x261ea: 0x6d0c1620,\n\t0x261ec: 0x6ce8ca20, 0x261ee: 0x6cf1e620,\n\t0x261f0: 0x6c232020, 0x261f3: 0x6d06fc20,\n\t0x261f4: 0x6d1b6020, 0x261f7: 0x6c084420,\n\t0x261fc: 0x6c935820,\n\t// Block 0x988, offset 0x26200\n\t0x26201: 0x6d290620, 0x26202: 0x6c265820,\n\t0x26206: 0x6ca84820, 0x26207: 0x6c71c220,\n\t0x26208: 0x6c541620,\n\t0x2620c: 0x6c453a20,\n\t0x26215: 0x6c541820, 0x26216: 0x6c76b220, 0x26217: 0x6c459620,\n\t0x26219: 0x6c5b5e20, 0x2621a: 0x6d01e220,\n\t0x2621d: 0x6cf8ba20, 0x2621e: 0x6c4e2420, 0x2621f: 0x6c9c6820,\n\t0x26221: 0x6cf25c20, 0x26222: 0x6c5d3620, 0x26223: 0x6ccabc20,\n\t0x26224: 0x6d034220, 0x26225: 0x6d307220, 0x26226: 0x6c5dea20,\n\t0x26228: 0x6c45a020, 0x2622b: 0x6cc9e420,\n\t0x2622c: 0x6c6c4a20, 0x2622d: 0x6cebec20,\n\t0x26231: 0x6c332420, 0x26232: 0x6c1aca20,\n\t0x2623d: 0x6cf67e20,\n\t// Block 0x989, offset 0x26240\n\t0x26242: 0x6c9c6a20, 0x26243: 0x6d29e020,\n\t0x26244: 0x6cca8420,\n\t0x26253: 0x6cea5e20,\n\t0x26254: 0x6d366820, 0x26255: 0x6cf1ea20,\n\t0x26258: 0x6d1a9820, 0x26259: 0x6cea8220, 0x2625b: 0x6c1cda20,\n\t0x2625c: 0x6d2af020, 0x2625e: 0x6cff0a20, 0x2625f: 0x6ca07420,\n\t0x26260: 0x6c245820, 0x26263: 0x6c0b4e20,\n\t0x26264: 0x6d04f020, 0x26267: 0x6d154c20,\n\t0x2626e: 0x6c5a6020,\n\t0x26270: 0x6d2bf820, 0x26271: 0x6cdd3620, 0x26272: 0x6c5cfe20, 0x26273: 0x6c727e20,\n\t// Block 0x98a, offset 0x26280\n\t0x26281: 0x6c245a20,\n\t0x26284: 0x6c5f4020, 0x26285: 0x6d0a4420, 0x26286: 0x6cdcfe20, 0x26287: 0x6c135e20,\n\t0x26289: 0x6d18b020,\n\t0x2628e: 0x6c0c2220,\n\t0x26292: 0x6c74c220, 0x26293: 0x6c868220,\n\t0x26296: 0x6cad9a20,\n\t0x2629b: 0x6d289c20,\n\t0x2629c: 0x6d134220, 0x2629e: 0x6c0a5a20, 0x2629f: 0x6d310020,\n\t0x262a0: 0x6d310220, 0x262a2: 0x6c702420, 0x262a3: 0x6d309020,\n\t0x262a6: 0x6cd60e20,\n\t0x262aa: 0x6cf6d620,\n\t0x262b7: 0x6d065820,\n\t0x262b8: 0x6ca3a620, 0x262b9: 0x6cfb9a20, 0x262ba: 0x6c4bec20, 0x262bb: 0x6cf0d220,\n\t0x262be: 0x6c60c420, 0x262bf: 0x6cc9a220,\n\t// Block 0x98b, offset 0x262c0\n\t0x262c2: 0x6c304220, 0x262c3: 0x6caac820,\n\t0x262c4: 0x6c327a20, 0x262c5: 0x6d32fc20, 0x262c6: 0x6c7a6420,\n\t0x262c9: 0x6ca01c20,\n\t0x262d5: 0x6c05d820, 0x262d6: 0x6c5c5020,\n\t0x262d9: 0x6d3fc620,\n\t0x262e8: 0x6cca5c20, 0x262ea: 0x6ce29420, 0x262eb: 0x6d157220,\n\t0x262ed: 0x6d241620,\n\t0x262f1: 0x6d123220, 0x262f2: 0x6ca94a20,\n\t0x262f4: 0x6c1dfa20, 0x262f5: 0x6c5d4820, 0x262f7: 0x6c337620,\n\t0x262f9: 0x6cb7f220, 0x262fa: 0x6d1d1820, 0x262fb: 0x6c0e3420,\n\t0x262fc: 0x6ca92e20, 0x262fd: 0x6c5a1a20,\n\t// Block 0x98c, offset 0x26300\n\t0x26306: 0x6d1d1a20,\n\t0x2630a: 0x6c05da20,\n\t0x2630e: 0x6c4a2820, 0x2630f: 0x6c82f620,\n\t0x26310: 0x6d421020,\n\t0x26319: 0x6c15fe20,\n\t0x26323: 0x6c660a20,\n\t0x26327: 0x6c9b9220,\n\t0x26329: 0x6d002820,\n\t0x2632f: 0x6d035620,\n\t0x26331: 0x6c849e20,\n\t0x2633a: 0x6cbc2e20,\n\t0x2633f: 0x6cf05c20,\n\t// Block 0x98d, offset 0x26340\n\t0x26340: 0x6ca37620, 0x26342: 0x6cacee20,\n\t0x26344: 0x6c829020, 0x26347: 0x6c958220,\n\t0x2634b: 0x6c946220,\n\t0x2634d: 0x6c44ea20, 0x2634f: 0x6c946420,\n\t0x26352: 0x6cc22220,\n\t0x26356: 0x6c959020,\n\t0x26358: 0x6ca46820, 0x2635b: 0x6c959220,\n\t0x2635c: 0x6d273e20,\n\t0x26362: 0x6cd71a20,\n\t0x26365: 0x6c9d3e20, 0x26366: 0x6cede820, 0x26367: 0x6c12f420,\n\t0x26368: 0x6c64a620, 0x26369: 0x6cee2020,\n\t0x2636f: 0x6c637e20,\n\t0x26374: 0x6c58c020,\n\t0x26378: 0x6c894220, 0x26379: 0x6d3f2c20, 0x2637a: 0x6c040a20, 0x2637b: 0x6cd43c20,\n\t0x2637e: 0x6cecf220,\n\t// Block 0x98e, offset 0x26380\n\t0x26382: 0x6cd4c420,\n\t0x26387: 0x6c4a4e20,\n\t0x26388: 0x6cf5cc20, 0x2638a: 0x6cc79c20, 0x2638b: 0x6d11fe20,\n\t0x2638e: 0x6c42c220,\n\t0x26395: 0x6d26d220,\n\t0x26398: 0x6d1da820, 0x26399: 0x6cec3c20, 0x2639a: 0x6c0f4620,\n\t0x2639f: 0x6d034e20,\n\t0x263a2: 0x6cb0c620, 0x263a3: 0x6c0f7820,\n\t0x263a6: 0x6c4d7e20, 0x263a7: 0x6d2d5220,\n\t0x263a8: 0x6cf33020, 0x263aa: 0x6d138420, 0x263ab: 0x6c0ab820,\n\t0x263ac: 0x6c4d8620,\n\t0x263b8: 0x6c1c0220, 0x263bb: 0x6d360620,\n\t0x263bd: 0x6ca5dc20,\n\t// Block 0x98f, offset 0x263c0\n\t0x263c1: 0x6cf3d420, 0x263c2: 0x6c006e20,\n\t0x263c8: 0x6c006a20, 0x263c9: 0x6d229220, 0x263ca: 0x6c1c7020,\n\t0x263cd: 0x6c6eac20, 0x263ce: 0x6d371020, 0x263cf: 0x6d372c20,\n\t0x263d0: 0x6d372e20, 0x263d1: 0x6c70ee20,\n\t0x263d6: 0x6c4dd820,\n\t0x263da: 0x6cb24c20,\n\t0x263dd: 0x6d11a620,\n\t0x263e3: 0x6d1f1e20,\n\t0x263e4: 0x6cb25420, 0x263e6: 0x6ca11020,\n\t0x263ec: 0x6d429e20, 0x263ed: 0x6cb38e20, 0x263ef: 0x6d091220,\n\t0x263f0: 0x6c7bc420, 0x263f1: 0x6d17bc20, 0x263f2: 0x6cb39020,\n\t0x263fb: 0x6d3c9c20,\n\t// Block 0x990, offset 0x26400\n\t0x26403: 0x6ca5fa20,\n\t0x26404: 0x6cc0b020, 0x26405: 0x6c23f820,\n\t0x2640c: 0x6d11cc20,\n\t0x26411: 0x6c3b9820,\n\t0x26415: 0x6cf9f420, 0x26417: 0x6c677c20,\n\t0x26418: 0x6c13b220, 0x2641b: 0x6d000e20,\n\t0x2641c: 0x6c13b420,\n\t0x26422: 0x6c1a5020, 0x26423: 0x6c257e20,\n\t0x26427: 0x6cbf7c20,\n\t0x26429: 0x6d245220, 0x2642b: 0x6d21d820,\n\t0x2642f: 0x6cf21620,\n\t0x26431: 0x6c13c020, 0x26432: 0x6d22ae20,\n\t0x26439: 0x6d425420, 0x2643a: 0x6c29fc20,\n\t0x2643d: 0x6c73a820, 0x2643e: 0x6c29fe20, 0x2643f: 0x6d1c4c20,\n\t// Block 0x991, offset 0x26440\n\t0x26441: 0x6c3cd420,\n\t0x26445: 0x6cf27a20,\n\t0x26448: 0x6c6cf620, 0x26449: 0x6cb76e20, 0x2644b: 0x6cbe0e20,\n\t0x2644d: 0x6c7dee20, 0x2644f: 0x6cdf9e20,\n\t0x26450: 0x6cfa9420, 0x26452: 0x6ce46420,\n\t0x26454: 0x6c7df620, 0x26456: 0x6ce53a20,\n\t0x26458: 0x6c556420, 0x26459: 0x6d39aa20, 0x2645a: 0x6d2d7620, 0x2645b: 0x6cde5820,\n\t0x2645d: 0x6ce46e20, 0x2645e: 0x6cde6820, 0x2645f: 0x6cde8020,\n\t0x26460: 0x6c574820, 0x26461: 0x6d0dc220, 0x26462: 0x6ce61620,\n\t0x26464: 0x6ce61820, 0x26465: 0x6cde8220,\n\t0x2646c: 0x6c581020, 0x2646e: 0x6c63e620, 0x2646f: 0x6cb7e020,\n\t0x26471: 0x6cdeae20,\n\t0x26474: 0x6cdfc220, 0x26475: 0x6c57ce20,\n\t0x26478: 0x6d3bf620, 0x26479: 0x6c572220,\n\t0x2647c: 0x6c800c20,\n\t// Block 0x992, offset 0x26480\n\t0x26486: 0x6d420420, 0x26487: 0x6d169820,\n\t0x26488: 0x6c3dfe20, 0x26489: 0x6cf4bc20, 0x2648b: 0x6c3e0020,\n\t0x2648d: 0x6c2f5620, 0x2648e: 0x6cde3c20,\n\t0x26496: 0x6c17b820,\n\t0x26499: 0x6cc64220, 0x2649a: 0x6cc35620,\n\t0x2649c: 0x6c438420,\n\t0x264a1: 0x6c3e6620, 0x264a2: 0x6c2c4c20, 0x264a3: 0x6c2dc620,\n\t0x264a4: 0x6d1e3020, 0x264a6: 0x6c643e20,\n\t0x264a9: 0x6c8f8e20,\n\t0x264ac: 0x6d1e3220, 0x264ad: 0x6cafe020, 0x264af: 0x6c5d7820,\n\t0x264b0: 0x6cbf3020, 0x264b2: 0x6c38a020, 0x264b3: 0x6cf3d620,\n\t0x264b4: 0x6ce74e20, 0x264b5: 0x6c4f7e20,\n\t0x264b8: 0x6cdfac20,\n\t0x264be: 0x6c525020,\n\t// Block 0x993, offset 0x264c0\n\t0x264c4: 0x6ce56220,\n\t0x264c8: 0x6d388e20, 0x264cb: 0x6c045420,\n\t0x264cc: 0x6d01e420, 0x264cd: 0x6c29c620, 0x264cf: 0x6c6c4c20,\n\t0x264d5: 0x6c54ec20, 0x264d6: 0x6c06b620,\n\t0x264d8: 0x6c2fb220,\n\t0x264dc: 0x6caac420, 0x264dd: 0x6cf0c620, 0x264de: 0x6d218c20,\n\t0x264e0: 0x6d039c20, 0x264e1: 0x6c3ee020, 0x264e2: 0x6cfd0020, 0x264e3: 0x6cb7c420,\n\t0x264e4: 0x6ce87820, 0x264e7: 0x6c609420,\n\t0x264e9: 0x6d1d4620, 0x264eb: 0x6c2ae420,\n\t0x264ec: 0x6ceeb020, 0x264ed: 0x6cf6ae20, 0x264ef: 0x6cac0220,\n\t0x264f1: 0x6cd12020, 0x264f2: 0x6d1fec20,\n\t0x264f4: 0x6c005220, 0x264f5: 0x6c66d220, 0x264f7: 0x6c466020,\n\t0x264f8: 0x6cc93020,\n\t0x264fc: 0x6c462220, 0x264ff: 0x6ccc6e20,\n\t// Block 0x994, offset 0x26500\n\t0x26500: 0x6ce13a20,\n\t0x26507: 0x6c92f220,\n\t0x26508: 0x6c027820, 0x2650a: 0x6cb7ee20, 0x2650b: 0x6d04fc20,\n\t0x2650d: 0x6c271020,\n\t0x26511: 0x6c382a20, 0x26512: 0x6cf0f420,\n\t0x26514: 0x6c341020, 0x26515: 0x6c8a3a20, 0x26516: 0x6c386620, 0x26517: 0x6c5a1c20,\n\t0x26518: 0x6c74dc20, 0x26519: 0x6cdec020, 0x2651a: 0x6d422020, 0x2651b: 0x6cc53020,\n\t0x2651c: 0x6c117a20, 0x2651d: 0x6ce2c020,\n\t0x26520: 0x6c57d020, 0x26521: 0x6d05fe20, 0x26523: 0x6d2dae20,\n\t0x26527: 0x6c41f420,\n\t0x2652a: 0x6caeea20, 0x2652b: 0x6c118020,\n\t0x2652c: 0x6d005820, 0x2652d: 0x6c26d020,\n\t0x26531: 0x6c62d020,\n\t0x26536: 0x6c854820,\n\t0x26539: 0x6cac9020,\n\t0x2653d: 0x6c8ffa20, 0x2653e: 0x6c877620, 0x2653f: 0x6cf7c220,\n\t// Block 0x995, offset 0x26540\n\t0x26540: 0x6ce2d620, 0x26543: 0x6c8dac20,\n\t0x26548: 0x6c855820, 0x26549: 0x6cc4a220, 0x2654a: 0x6c8df420,\n\t0x2654e: 0x6c4bca20,\n\t0x26554: 0x6cb30a20, 0x26555: 0x6ca11220, 0x26556: 0x6cabf020,\n\t0x26559: 0x6c03b420,\n\t0x26561: 0x6cb62820,\n\t0x26564: 0x6d0cc420,\n\t0x2656a: 0x6cec3e20, 0x2656b: 0x6c020c20,\n\t0x2656d: 0x6ca04a20, 0x2656e: 0x6c9fca20, 0x2656f: 0x6d0ab220,\n\t0x26570: 0x6c9b9420, 0x26573: 0x6c48d620,\n\t0x26576: 0x6c682420,\n\t0x2657b: 0x6c410a20,\n\t// Block 0x996, offset 0x26580\n\t0x26581: 0x6c110a20, 0x26582: 0x6cf4ac20, 0x26583: 0x6d301820,\n\t0x26584: 0x6cc58820, 0x26585: 0x6c79b420,\n\t0x26594: 0x6d2f8a20, 0x26595: 0x6d37a220, 0x26596: 0x6cc00a20, 0x26597: 0x6c4c1420,\n\t0x26598: 0x6c456a20, 0x26599: 0x6cb40220, 0x2659a: 0x6c566c20, 0x2659b: 0x6c9e0820,\n\t0x2659e: 0x6ce45a20,\n\t0x265a3: 0x6cee0020,\n\t0x265b8: 0x6d3a0020, 0x265b9: 0x6c268a20, 0x265ba: 0x6d048e20, 0x265bb: 0x6ca2d420,\n\t0x265be: 0x6c72de20,\n\t// Block 0x997, offset 0x265c0\n\t0x265c1: 0x6ca71a20,\n\t0x265c8: 0x6c567820, 0x265c9: 0x6ccbd420,\n\t0x265dc: 0x6d33b820, 0x265df: 0x6cdde420,\n\t0x265e1: 0x6cd7d820,\n\t0x265e5: 0x6d170820,\n\t0x265ed: 0x6cbf1020, 0x265ee: 0x6d35c820, 0x265ef: 0x6c939220,\n\t0x265f0: 0x6cc79e20, 0x265f2: 0x6cb5ac20, 0x265f3: 0x6d224020,\n\t0x265f4: 0x6d386a20, 0x265f5: 0x6d0fa620, 0x265f6: 0x6cfc0420, 0x265f7: 0x6ca1cc20,\n\t0x265f8: 0x6c1d9a20, 0x265f9: 0x6c5aa820, 0x265fa: 0x6c6f6420, 0x265fb: 0x6c6fec20,\n\t0x265fc: 0x6cb19220,\n\t// Block 0x998, offset 0x26600\n\t0x26601: 0x6c699220, 0x26603: 0x6c48c620,\n\t0x26605: 0x6ca0fe20,\n\t0x26610: 0x6cf5ce20, 0x26611: 0x6cb43220,\n\t0x2662f: 0x6c61d420,\n\t0x26636: 0x6cf1da20, 0x26637: 0x6c071620,\n\t0x26638: 0x6d15ea20, 0x26639: 0x6c3e6a20, 0x2663a: 0x6cd7e420, 0x2663b: 0x6c72f020,\n\t0x2663c: 0x6c61f620, 0x2663e: 0x6ca69a20,\n\t// Block 0x999, offset 0x26640\n\t0x26640: 0x6c07b620,\n\t0x26645: 0x6d06c620,\n\t0x26648: 0x6cbdd220, 0x26649: 0x6c0ef820,\n\t0x2664c: 0x6cede620, 0x2664d: 0x6d30f620, 0x2664f: 0x6cf2e620,\n\t0x26650: 0x6ccea420, 0x26651: 0x6d2a8020, 0x26652: 0x6d101820,\n\t0x26655: 0x6cd98a20, 0x26656: 0x6ca82020,\n\t0x2665b: 0x6c098620,\n\t0x26663: 0x6c242420,\n\t0x26664: 0x6cbab220,\n\t0x2666a: 0x6cffe620, 0x2666b: 0x6d33d620,\n\t0x2666c: 0x6ccf1020, 0x2666f: 0x6d360820,\n\t0x26670: 0x6cae7020,\n\t// Block 0x99a, offset 0x26680\n\t0x2668f: 0x6c2e1e20,\n\t0x26696: 0x6cf2f820,\n\t0x26698: 0x6d352020, 0x26699: 0x6c098820, 0x2669b: 0x6c3b7020,\n\t0x266a5: 0x6c052a20,\n\t0x266aa: 0x6cc06c20, 0x266ab: 0x6ca63a20,\n\t0x266ac: 0x6c0f0620, 0x266ad: 0x6c33f220, 0x266af: 0x6cd2d020,\n\t0x266b0: 0x6d05a220, 0x266b1: 0x6c16ac20, 0x266b2: 0x6d05a420, 0x266b3: 0x6d128020,\n\t0x266b4: 0x6c9c5620,\n\t0x266b8: 0x6d02d620, 0x266b9: 0x6d3d6820, 0x266ba: 0x6c3ff620,\n\t0x266bd: 0x6cb06020, 0x266be: 0x6d095e20,\n\t// Block 0x99b, offset 0x266c0\n\t0x266c0: 0x6d235020, 0x266c1: 0x6cfb6020, 0x266c2: 0x6d235220, 0x266c3: 0x6d213420,\n\t0x266c5: 0x6c709a20, 0x266c6: 0x6cddec20, 0x266c7: 0x6c797c20,\n\t0x266ca: 0x6d32ce20, 0x266cb: 0x6c9b1a20,\n\t0x266cc: 0x6c428420,\n\t0x266d2: 0x6ca28a20, 0x266d3: 0x6cf7ea20,\n\t0x266d4: 0x6c09aa20, 0x266d6: 0x6c3ff820,\n\t0x266dc: 0x6cfff420,\n\t0x266e0: 0x6c6f7620, 0x266e3: 0x6c468820,\n\t0x266f0: 0x6c1b2820, 0x266f1: 0x6c6f7820, 0x266f2: 0x6c6f7a20,\n\t0x266f5: 0x6ccbf820, 0x266f7: 0x6c3a0820,\n\t// Block 0x99c, offset 0x26700\n\t0x2672b: 0x6c3e8c20,\n\t0x2672f: 0x6ced8a20,\n\t0x26730: 0x6d05a620, 0x26731: 0x6c0e7620,\n\t// Block 0x99d, offset 0x26740\n\t0x26741: 0x6c504820, 0x26743: 0x6d00c420,\n\t0x26744: 0x6cb11820, 0x26745: 0x6d227420, 0x26747: 0x6ce4ae20,\n\t0x26748: 0x6cb00020, 0x2674a: 0x6cd2d220, 0x2674b: 0x6c7afc20,\n\t0x2674c: 0x6c5ef020, 0x2674f: 0x6d2be420,\n\t0x26750: 0x6ca3cc20, 0x26751: 0x6ca20620, 0x26753: 0x6c3ea620,\n\t0x26754: 0x6c326820, 0x26757: 0x6cd13e20,\n\t0x26758: 0x6c13ee20, 0x2675a: 0x6c1b3820, 0x2675b: 0x6c4b0820,\n\t0x2675c: 0x6c9f6620, 0x2675d: 0x6ce0c220, 0x2675e: 0x6c044c20, 0x2675f: 0x6cbac220,\n\t0x26761: 0x6d3d7420, 0x26762: 0x6cf0ac20, 0x26763: 0x6d0a1e20,\n\t0x26765: 0x6c9e9620, 0x26766: 0x6d290820, 0x26767: 0x6d1f4a20,\n\t0x26769: 0x6d204c20, 0x2676b: 0x6cccee20,\n\t0x2676c: 0x6c514220, 0x2676d: 0x6c93a220, 0x2676e: 0x6d347820,\n\t0x26772: 0x6c6e9020, 0x26773: 0x6d317020,\n\t0x26776: 0x6c9b2620, 0x26777: 0x6d1f4c20,\n\t0x26779: 0x6cf30020, 0x2677a: 0x6c038620,\n\t0x2677d: 0x6c737820, 0x2677e: 0x6cc7b220, 0x2677f: 0x6c23f220,\n\t// Block 0x99e, offset 0x26780\n\t0x26780: 0x6d33fc20,\n\t0x26789: 0x6c557620, 0x2678a: 0x6d0f5c20,\n\t0x2678c: 0x6c75d020, 0x2678d: 0x6ccf1c20, 0x2678e: 0x6c79f220,\n\t0x26791: 0x6cb9a820,\n\t0x26794: 0x6c9b2820,\n\t0x2679a: 0x6ce58c20,\n\t// Block 0x99f, offset 0x267c0\n\t0x267d0: 0x6ca84a20,\n\t0x267df: 0x6c1b3a20,\n\t0x267e1: 0x6d047220, 0x267e3: 0x6c5d3820,\n\t0x267e6: 0x6c2b8020, 0x267e7: 0x6c80d620,\n\t0x267e9: 0x6d2a1a20, 0x267ea: 0x6c130a20, 0x267eb: 0x6cdd8420,\n\t0x267ec: 0x6d412c20, 0x267ed: 0x6cdbd020, 0x267ef: 0x6cf9e020,\n\t0x267f1: 0x6d01e620,\n\t0x267f4: 0x6c6b1220, 0x267f5: 0x6d1f5820, 0x267f7: 0x6c46ca20,\n\t0x267f8: 0x6c451620,\n\t0x267fc: 0x6c75d820, 0x267fd: 0x6c5a5e20, 0x267fe: 0x6c607420, 0x267ff: 0x6cb3ca20,\n\t// Block 0x9a0, offset 0x26800\n\t0x26800: 0x6cf37820, 0x26802: 0x6d183420,\n\t0x26805: 0x6ca3a420, 0x26807: 0x6cc71820,\n\t0x26808: 0x6ca40820, 0x2680a: 0x6cb2c020, 0x2680b: 0x6ccd9420,\n\t0x2680c: 0x6c2dd820, 0x2680d: 0x6c607620, 0x2680e: 0x6c571420, 0x2680f: 0x6c335620,\n\t0x26810: 0x6c79a020, 0x26811: 0x6cde8620, 0x26813: 0x6c53c620,\n\t0x26815: 0x6cd4f820,\n\t0x26819: 0x6c526a20, 0x2681a: 0x6c3bc020,\n\t0x26832: 0x6c79fa20,\n\t// Block 0x9a1, offset 0x26840\n\t0x26859: 0x6ca70220,\n\t0x2685d: 0x6c1e9e20,\n\t0x26866: 0x6cbb5a20,\n\t0x26872: 0x6cf8bc20, 0x26873: 0x6c558020,\n\t0x26874: 0x6cd99620, 0x26875: 0x6cf30a20, 0x26877: 0x6c4d7620,\n\t0x26878: 0x6cc7b820, 0x26879: 0x6c9b3020, 0x2687b: 0x6cca2420,\n\t0x2687d: 0x6cf3de20, 0x2687f: 0x6d1f6420,\n\t// Block 0x9a2, offset 0x26880\n\t0x26881: 0x6cdfba20, 0x26882: 0x6cd01220,\n\t0x26886: 0x6cb71220,\n\t0x26888: 0x6c4c8420, 0x26889: 0x6cb87420, 0x2688a: 0x6cfad020,\n\t0x2688f: 0x6cdbd620,\n\t0x26890: 0x6c92b020, 0x26893: 0x6cb52620,\n\t0x26894: 0x6c2ddc20, 0x26897: 0x6cb64020,\n\t0x26898: 0x6c63dc20, 0x26899: 0x6d1f6620, 0x2689a: 0x6cf79e20, 0x2689b: 0x6c177a20,\n\t0x268a1: 0x6c9d7e20, 0x268a2: 0x6c911820, 0x268a3: 0x6c08f220,\n\t0x268aa: 0x6cadec20,\n\t0x268ae: 0x6d318e20, 0x268af: 0x6cd01420,\n\t0x268b0: 0x6c15da20, 0x268b1: 0x6c403a20,\n\t0x268b6: 0x6cc13820, 0x268b7: 0x6cd82220,\n\t0x268ba: 0x6d417a20,\n\t// Block 0x9a3, offset 0x268c0\n\t0x268eb: 0x6d2fd620,\n\t0x268fd: 0x6cb01220,\n\t// Block 0x9a4, offset 0x26900\n\t0x26900: 0x6c23fa20,\n\t0x26906: 0x6c42e220, 0x26907: 0x6c31b620,\n\t0x26909: 0x6c3da420, 0x2690a: 0x6c492620, 0x2690b: 0x6ccae620,\n\t0x2690c: 0x6cda2a20, 0x2690d: 0x6c65da20, 0x2690e: 0x6cb3e020,\n\t0x26910: 0x6c11ac20, 0x26911: 0x6c085020, 0x26912: 0x6ca20c20, 0x26913: 0x6d2f7420,\n\t0x26914: 0x6cff9a20, 0x26916: 0x6c715c20, 0x26917: 0x6cd50620,\n\t0x26918: 0x6c65dc20, 0x26919: 0x6c844e20, 0x2691b: 0x6c203e20,\n\t0x2691c: 0x6c81e220, 0x2691e: 0x6c51ea20, 0x2691f: 0x6c55bc20,\n\t0x26920: 0x6c473220, 0x26921: 0x6d2f0c20, 0x26922: 0x6c6b3620, 0x26923: 0x6cfe5620,\n\t0x26925: 0x6c317820, 0x26926: 0x6c4e3220, 0x26927: 0x6c63e820,\n\t0x26928: 0x6cfe5820, 0x26929: 0x6c60ae20, 0x2692a: 0x6cd56c20, 0x2692b: 0x6c812e20,\n\t0x2692c: 0x6c5f4220, 0x2692d: 0x6ccd0e20,\n\t0x26930: 0x6ce1ee20, 0x26931: 0x6d3e8e20, 0x26932: 0x6cd69620,\n\t0x26934: 0x6c60b020, 0x26935: 0x6c1f7820, 0x26936: 0x6c628020, 0x26937: 0x6cd01c20,\n\t0x26938: 0x6c8c6820, 0x26939: 0x6c8a2020, 0x2693b: 0x6cca2a20,\n\t0x2693d: 0x6c019220, 0x2693e: 0x6cc87c20,\n\t// Block 0x9a5, offset 0x26940\n\t0x26940: 0x6ce37820, 0x26941: 0x6c28b820, 0x26943: 0x6c589c20,\n\t0x26945: 0x6cc99420,\n\t// Block 0x9a6, offset 0x26980\n\t0x26986: 0x6cc8a420, 0x26987: 0x6cf38020,\n\t0x26988: 0x6c729620, 0x26989: 0x6c589e20, 0x2698a: 0x6c838620, 0x2698b: 0x6c92dc20,\n\t0x2698e: 0x6cdfbe20, 0x2698f: 0x6d2b9620,\n\t0x26993: 0x6cb9ca20,\n\t0x26997: 0x6cf6d820,\n\t0x269a1: 0x6c22a220, 0x269a2: 0x6ccf2620,\n\t0x269a7: 0x6cc99620,\n\t0x269aa: 0x6c99bc20, 0x269ab: 0x6cc1da20,\n\t0x269ad: 0x6c0f7a20, 0x269ae: 0x6c41f020,\n\t0x269b0: 0x6cbcea20, 0x269b1: 0x6c739a20, 0x269b2: 0x6c290e20, 0x269b3: 0x6c16cc20,\n\t0x269b4: 0x6d0fde20, 0x269b5: 0x6c518020, 0x269b7: 0x6c5f5c20,\n\t0x269b9: 0x6c0df820, 0x269bb: 0x6c9a3020,\n\t0x269bf: 0x6c33b820,\n\t// Block 0x9a7, offset 0x269c0\n\t0x269c0: 0x6c02b020, 0x269c1: 0x6c6dd820, 0x269c2: 0x6c92f420, 0x269c3: 0x6c9e6620,\n\t0x269c4: 0x6c2d8a20, 0x269c5: 0x6c51f220, 0x269c7: 0x6c650420,\n\t0x269ca: 0x6c575e20, 0x269cb: 0x6c466220,\n\t0x269ce: 0x6c92f620, 0x269cf: 0x6c3f0a20,\n\t0x269d0: 0x6c5b7220, 0x269d2: 0x6d2b6620,\n\t0x269d4: 0x6c6d6220, 0x269d5: 0x6cd83420, 0x269d6: 0x6cc43e20,\n\t0x269dc: 0x6c28cc20, 0x269de: 0x6ced9e20, 0x269df: 0x6c0b5620,\n\t0x269e4: 0x6c63ee20,\n\t0x269eb: 0x6c284e20,\n\t0x269ec: 0x6c6f8a20, 0x269ed: 0x6cfb9c20, 0x269ee: 0x6c0f7c20,\n\t// Block 0x9a8, offset 0x26a00\n\t0x26a0f: 0x6cfa0020,\n\t0x26a11: 0x6c0c3220,\n\t0x26a15: 0x6cb3a820,\n\t0x26a18: 0x6ccae820, 0x26a19: 0x6c076620, 0x26a1a: 0x6ccc8020, 0x26a1b: 0x6cf02e20,\n\t0x26a1d: 0x6c123e20, 0x26a1e: 0x6c92f820,\n\t0x26a29: 0x6c28ce20, 0x26a2b: 0x6c47e820,\n\t0x26a2c: 0x6d289e20, 0x26a2d: 0x6c055820, 0x26a2e: 0x6c423820,\n\t0x26a31: 0x6c175420, 0x26a32: 0x6c62ae20, 0x26a33: 0x6c8ab620,\n\t0x26a35: 0x6cbf7e20, 0x26a36: 0x6c66f420, 0x26a37: 0x6c930a20,\n\t0x26a38: 0x6c32a620, 0x26a39: 0x6cdb8a20, 0x26a3a: 0x6d116020, 0x26a3b: 0x6d1b1620,\n\t0x26a3d: 0x6cdec220, 0x26a3e: 0x6d116220, 0x26a3f: 0x6c6de020,\n\t// Block 0x9a9, offset 0x26a40\n\t0x26a40: 0x6c1ebc20, 0x26a41: 0x6c3f1220, 0x26a42: 0x6d25c220, 0x26a43: 0x6ccebc20,\n\t0x26a45: 0x6c0e3620, 0x26a46: 0x6c299e20, 0x26a47: 0x6cd3f820,\n\t0x26a4a: 0x6c916420, 0x26a4b: 0x6cbcf220,\n\t0x26a4c: 0x6c955c20, 0x26a4d: 0x6cb3ae20, 0x26a4f: 0x6c9b7a20,\n\t0x26a50: 0x6c6b6620, 0x26a53: 0x6c5f7220,\n\t0x26a56: 0x6c930c20,\n\t// Block 0x9aa, offset 0x26a80\n\t0x26a84: 0x6c172a20, 0x26a85: 0x6c9f0020, 0x26a86: 0x6c9b7c20, 0x26a87: 0x6c660220,\n\t0x26a8a: 0x6c114020,\n\t0x26a8c: 0x6cdb5220,\n\t0x26a94: 0x6c51fe20, 0x26a95: 0x6cc9aa20, 0x26a97: 0x6d3eae20,\n\t0x26a98: 0x6c795e20, 0x26a99: 0x6c452220, 0x26a9a: 0x6cd83a20,\n\t0x26aa0: 0x6ce3a420, 0x26aa1: 0x6d2e8e20, 0x26aa2: 0x6d026420, 0x26aa3: 0x6cd70020,\n\t0x26aa4: 0x6c1bcc20, 0x26aa5: 0x6d1ec620, 0x26aa6: 0x6c91f820, 0x26aa7: 0x6c9c1a20,\n\t0x26aa8: 0x6c8b6020, 0x26aa9: 0x6cd8f620,\n\t0x26aac: 0x6cf71820, 0x26aad: 0x6c38da20, 0x26aae: 0x6c3db820, 0x26aaf: 0x6cd08820,\n\t0x26ab0: 0x6ce3a620, 0x26ab1: 0x6c14a420, 0x26ab2: 0x6d270620,\n\t0x26ab4: 0x6c3dba20, 0x26ab5: 0x6c670220, 0x26ab6: 0x6c2cb020,\n\t0x26aba: 0x6d011a20, 0x26abb: 0x6c281220,\n\t0x26abf: 0x6d34b020,\n\t// Block 0x9ab, offset 0x26ac0\n\t0x26ac3: 0x6d075620,\n\t0x26ac8: 0x6ca89820, 0x26ac9: 0x6c397420, 0x26aca: 0x6c9b8820, 0x26acb: 0x6c9fd420,\n\t0x26afe: 0x6c90d220, 0x26aff: 0x6c31e820,\n\t// Block 0x9ac, offset 0x26b00\n\t0x26b01: 0x6d2e9620, 0x26b02: 0x6c671020, 0x26b03: 0x6c4f2e20,\n\t0x26b04: 0x6c28e220, 0x26b05: 0x6ccbb220, 0x26b06: 0x6c671220, 0x26b07: 0x6ce03e20,\n\t0x26b08: 0x6c696c20, 0x26b09: 0x6cb34220, 0x26b0b: 0x6cb2e420,\n\t0x26b0d: 0x6d3bf820, 0x26b0f: 0x6c8a4c20,\n\t0x26b10: 0x6d3f6620, 0x26b12: 0x6d3dd820,\n\t0x26b14: 0x6c56de20,\n\t0x26b19: 0x6cf92020, 0x26b1b: 0x6c9b9620,\n\t0x26b1c: 0x6c72ba20, 0x26b1d: 0x6c9f0c20, 0x26b1e: 0x6cfbcc20,\n\t0x26b20: 0x6c7d3820, 0x26b21: 0x6c9b9820, 0x26b22: 0x6c653420,\n\t0x26b26: 0x6caa0a20,\n\t0x26b28: 0x6c2cb220, 0x26b29: 0x6ccad220,\n\t// Block 0x9ad, offset 0x26b40\n\t0x26b4f: 0x6c1f8c20,\n\t0x26b50: 0x6d34bc20, 0x26b51: 0x6cb9e220, 0x26b52: 0x6c93c420,\n\t0x26b54: 0x6d3ddc20,\n\t0x26b58: 0x6d42b020, 0x26b59: 0x6c4e4820, 0x26b5a: 0x6cdc1820, 0x26b5b: 0x6c46e220,\n\t0x26b5d: 0x6c1e3c20, 0x26b5e: 0x6c62da20, 0x26b5f: 0x6d194820,\n\t0x26b60: 0x6d21f020,\n\t0x26b68: 0x6caa0c20, 0x26b69: 0x6ca66420, 0x26b6a: 0x6cc93620,\n\t0x26b6e: 0x6c8c0820,\n\t0x26b71: 0x6ca93820,\n\t// Block 0x9ae, offset 0x26b80\n\t0x26b8d: 0x6cbc1620, 0x26b8e: 0x6d117c20, 0x26b8f: 0x6c409c20,\n\t0x26b90: 0x6cd6b620, 0x26b91: 0x6c7d3e20, 0x26b92: 0x6cc21220, 0x26b93: 0x6c304a20,\n\t0x26b94: 0x6cd58a20,\n\t0x26b9a: 0x6c84c020, 0x26b9b: 0x6c719220,\n\t0x26b9c: 0x6cc8bc20,\n\t0x26ba0: 0x6d2c6c20,\n\t0x26ba4: 0x6cff5420,\n\t0x26bb8: 0x6c9ae220, 0x26bb9: 0x6cd29820, 0x26bba: 0x6c2cfc20, 0x26bbb: 0x6c878e20,\n\t0x26bbc: 0x6c2b0420, 0x26bbd: 0x6d29c420, 0x26bbf: 0x6c958420,\n\t// Block 0x9af, offset 0x26bc0\n\t0x26bc0: 0x6c11c620, 0x26bc3: 0x6c023c20,\n\t0x26bc6: 0x6c663620,\n\t0x26bc8: 0x6c2e5020, 0x26bcb: 0x6d1cd820,\n\t0x26bd6: 0x6d197220, 0x26bd7: 0x6c294620,\n\t0x26bd8: 0x6caa1220, 0x26bda: 0x6d272620,\n\t0x26bee: 0x6c855620, 0x26bef: 0x6c84e220,\n\t0x26bf0: 0x6c56f620, 0x26bf2: 0x6d206420,\n\t0x26bfa: 0x6ca48420,\n\t// Block 0x9b0, offset 0x26c00\n\t0x26c02: 0x6c194a20,\n\t0x26c09: 0x6c3c9220, 0x26c0a: 0x6c0cd220,\n\t0x26c0f: 0x6c97d820,\n\t0x26c10: 0x6c424a20, 0x26c11: 0x6c5e6020, 0x26c13: 0x6c241c20,\n\t0x26c15: 0x6d200020,\n\t0x26c18: 0x6d206620,\n\t0x26c1c: 0x6d057c20,\n\t0x26c21: 0x6d06b020, 0x26c22: 0x6c561820, 0x26c23: 0x6c915020,\n\t0x26c25: 0x6cf9b820, 0x26c26: 0x6d177420,\n\t0x26c2e: 0x6c561e20, 0x26c2f: 0x6c569020,\n\t0x26c30: 0x6d3f0a20,\n\t0x26c37: 0x6c458c20,\n\t0x26c38: 0x6ce99220, 0x26c39: 0x6cf36a20, 0x26c3a: 0x6c8d2020, 0x26c3b: 0x6c472020,\n\t0x26c3c: 0x6d37be20,\n\t// Block 0x9b1, offset 0x26c40\n\t0x26c44: 0x6c915820,\n\t0x26c48: 0x6d412e20,\n\t0x26c4c: 0x6ce76a20, 0x26c4d: 0x6cf97020, 0x26c4e: 0x6c515c20,\n\t0x26c53: 0x6d26e220,\n\t0x26c59: 0x6ca40c20, 0x26c5a: 0x6c0f4820, 0x26c5b: 0x6c54fa20,\n\t0x26c5c: 0x6cb7e220, 0x26c5d: 0x6cd53a20, 0x26c5e: 0x6cbadc20, 0x26c5f: 0x6d38ae20,\n\t0x26c60: 0x6d122620, 0x26c61: 0x6c473420,\n\t0x26c65: 0x6c049e20, 0x26c66: 0x6c76ec20,\n\t0x26c6e: 0x6c517620, 0x26c6f: 0x6c628420,\n\t0x26c70: 0x6c55be20, 0x26c71: 0x6d0cde20,\n\t0x26c76: 0x6c212020, 0x26c77: 0x6c2f8620,\n\t0x26c78: 0x6cbfce20, 0x26c79: 0x6c543620,\n\t0x26c7c: 0x6c507420, 0x26c7f: 0x6d413220,\n\t// Block 0x9b2, offset 0x26c80\n\t0x26c81: 0x6cfbb820,\n\t0x26c84: 0x6cfa5220, 0x26c85: 0x6cf91820,\n\t0x26c88: 0x6ccb8420,\n\t0x26c8c: 0x6c445a20, 0x26c8d: 0x6cf92220,\n\t0x26c91: 0x6c445e20,\n\t0x26c94: 0x6c93c620, 0x26c96: 0x6c446020, 0x26c97: 0x6c78ea20,\n\t0x26c99: 0x6cd48a20, 0x26c9a: 0x6d3b5020,\n\t0x26c9c: 0x6ce2de20, 0x26c9d: 0x6d0b7820, 0x26c9e: 0x6ca67c20,\n\t0x26ca6: 0x6c95e220, 0x26ca7: 0x6cdbae20,\n\t0x26caa: 0x6c159e20,\n\t0x26cad: 0x6cf4cc20, 0x26caf: 0x6d208220,\n\t0x26cb9: 0x6d2a4420, 0x26cbb: 0x6d174420,\n\t0x26cbc: 0x6cf5d220, 0x26cbd: 0x6c533620, 0x26cbe: 0x6cc2ce20, 0x26cbf: 0x6cee0c20,\n\t// Block 0x9b3, offset 0x26cc0\n\t0x26cc0: 0x6c1b9820, 0x26cc1: 0x6cf87420, 0x26cc2: 0x6ce4e020, 0x26cc3: 0x6d27e420,\n\t0x26cc5: 0x6d13e220, 0x26cc6: 0x6c600620, 0x26cc7: 0x6c5aaa20,\n\t0x26cc8: 0x6c3d1620, 0x26cca: 0x6c3f5420,\n\t0x26ccd: 0x6c600820, 0x26cce: 0x6d080a20,\n\t0x26cd1: 0x6cdf6c20, 0x26cd3: 0x6c324e20,\n\t0x26cd7: 0x6d255620,\n\t0x26cdb: 0x6c2c3220,\n\t0x26cde: 0x6d3a6620, 0x26cdf: 0x6cdf0620,\n\t0x26ce1: 0x6cc70c20, 0x26ce2: 0x6d090a20, 0x26ce3: 0x6d232020,\n\t0x26ce4: 0x6c394e20, 0x26ce5: 0x6c06ca20, 0x26ce7: 0x6cc24420,\n\t0x26ce9: 0x6c109620, 0x26cea: 0x6c635420, 0x26ceb: 0x6d2c2c20,\n\t0x26ced: 0x6caa5a20, 0x26cee: 0x6ccf1420,\n\t0x26cf2: 0x6c860220,\n\t// Block 0x9b4, offset 0x26d00\n\t0x26d04: 0x6c4af620, 0x26d05: 0x6c48de20, 0x26d07: 0x6c276420,\n\t0x26d0f: 0x6c40fa20,\n\t0x26d12: 0x6c22cc20,\n\t0x26d14: 0x6d0d9220, 0x26d15: 0x6cd92220, 0x26d16: 0x6cd38820,\n\t0x26d18: 0x6c7a9c20, 0x26d19: 0x6d352e20, 0x26d1a: 0x6ce75020, 0x26d1b: 0x6cc19620,\n\t0x26d1c: 0x6c364220, 0x26d1e: 0x6d03ea20, 0x26d1f: 0x6cc7b020,\n\t0x26d20: 0x6d213820, 0x26d23: 0x6d17c020,\n\t0x26d24: 0x6d17c220, 0x26d25: 0x6d06e420, 0x26d26: 0x6c3d2c20, 0x26d27: 0x6c43f820,\n\t0x26d2c: 0x6c512a20, 0x26d2d: 0x6d19e820, 0x26d2f: 0x6c53be20,\n\t0x26d31: 0x6c349820,\n\t0x26d3d: 0x6d03ec20, 0x26d3e: 0x6c38a220,\n\t// Block 0x9b5, offset 0x26d40\n\t0x26d49: 0x6cb50020, 0x26d4a: 0x6ccc0220,\n\t0x26d4c: 0x6c326a20, 0x26d4d: 0x6c2c7220, 0x26d4e: 0x6c83fa20, 0x26d4f: 0x6d180620,\n\t0x26d50: 0x6cf78c20, 0x26d51: 0x6c451420, 0x26d52: 0x6ce75820, 0x26d53: 0x6c77c020,\n\t0x26d54: 0x6c53c420, 0x26d55: 0x6c7db820, 0x26d56: 0x6ca84c20, 0x26d57: 0x6c1b3c20,\n\t0x26d58: 0x6ce34e20, 0x26d5a: 0x6ce75a20,\n\t0x26d60: 0x6c83fc20, 0x26d61: 0x6ca35c20,\n\t0x26d71: 0x6d2d8220, 0x26d72: 0x6c06cc20,\n\t// Block 0x9b6, offset 0x26d80\n\t0x26d81: 0x6ce59220, 0x26d83: 0x6d289420,\n\t0x26d84: 0x6c367420, 0x26d85: 0x6cd47620, 0x26d86: 0x6c798820, 0x26d87: 0x6caeb820,\n\t0x26d88: 0x6c402020, 0x26d89: 0x6c929820, 0x26d8a: 0x6d01e820, 0x26d8b: 0x6d01ea20,\n\t0x26d8c: 0x6d04e820, 0x26d8d: 0x6c929a20, 0x26d8e: 0x6ce50a20, 0x26d8f: 0x6cde8820,\n\t0x26d90: 0x6c22da20, 0x26d91: 0x6cc12a20, 0x26d93: 0x6c402220,\n\t0x26d94: 0x6d340620, 0x26d96: 0x6d01ec20, 0x26d97: 0x6d408220,\n\t0x26d98: 0x6c3abe20, 0x26d99: 0x6c9f7420, 0x26d9a: 0x6d038c20,\n\t0x26d9d: 0x6ce76c20, 0x26d9e: 0x6cb60220,\n\t0x26da0: 0x6cb15c20, 0x26da2: 0x6cdc5620, 0x26da3: 0x6c37a020,\n\t0x26da7: 0x6c562c20,\n\t0x26dbb: 0x6cd92e20,\n\t0x26dbd: 0x6c0cb020, 0x26dbe: 0x6c2f6620, 0x26dbf: 0x6c04d220,\n\t// Block 0x9b7, offset 0x26dc0\n\t0x26dc0: 0x6cd1e220, 0x26dc1: 0x6d01ee20, 0x26dc2: 0x6cff9420, 0x26dc3: 0x6c3a6620,\n\t0x26dd2: 0x6c202620, 0x26dd3: 0x6cd67020,\n\t0x26dd4: 0x6d10b220, 0x26dd5: 0x6c74a220, 0x26dd6: 0x6cd14820,\n\t0x26dd8: 0x6d1eb220, 0x26dd9: 0x6c396c20,\n\t0x26ddc: 0x6c7c9a20, 0x26ddd: 0x6c2c9820, 0x26ddf: 0x6c990220,\n\t0x26de0: 0x6c6b2420, 0x26de2: 0x6d0cc820,\n\t0x26de5: 0x6ceeb420,\n\t0x26de8: 0x6cca7220, 0x26de9: 0x6c6b2620, 0x26dea: 0x6d219220, 0x26deb: 0x6cf0c820,\n\t0x26dec: 0x6c369220, 0x26ded: 0x6cc31220, 0x26dee: 0x6c6f2e20, 0x26def: 0x6c3cba20,\n\t0x26df0: 0x6c8fa620, 0x26df1: 0x6c2ee220, 0x26df2: 0x6cb12420,\n\t0x26df4: 0x6c891420, 0x26df5: 0x6c559820, 0x26df6: 0x6c93fa20,\n\t0x26dff: 0x6c2d7a20,\n\t// Block 0x9b8, offset 0x26e00\n\t0x26e03: 0x6c255e20,\n\t0x26e04: 0x6ca1e420,\n\t0x26e15: 0x6cedea20, 0x26e16: 0x6c72fe20, 0x26e17: 0x6c782e20,\n\t0x26e18: 0x6d0cca20, 0x26e19: 0x6c693420,\n\t0x26e21: 0x6c45b020, 0x26e23: 0x6cc6b620,\n\t0x26e24: 0x6cdce220, 0x26e25: 0x6ccdb620,\n\t0x26e28: 0x6c1b5420, 0x26e2a: 0x6cb65220, 0x26e2b: 0x6cdd9820,\n\t0x26e2d: 0x6d134420, 0x26e2e: 0x6d2a5420, 0x26e2f: 0x6cc39620,\n\t0x26e30: 0x6d2e1820, 0x26e31: 0x6c035a20, 0x26e32: 0x6d40d620, 0x26e33: 0x6cdd9a20,\n\t0x26e34: 0x6d309220, 0x26e35: 0x6cf8e820, 0x26e37: 0x6c1eec20,\n\t0x26e38: 0x6c694820, 0x26e39: 0x6d41d220, 0x26e3a: 0x6c43aa20, 0x26e3b: 0x6cf52420,\n\t0x26e3e: 0x6c94c020, 0x26e3f: 0x6c60b420,\n\t// Block 0x9b9, offset 0x26e40\n\t0x26e42: 0x6d00ec20, 0x26e43: 0x6d00ee20,\n\t0x26e46: 0x6c30f620,\n\t0x26e4b: 0x6cbfc620,\n\t0x26e51: 0x6cb2d020, 0x26e53: 0x6c8ea420,\n\t0x26e65: 0x6c6b3820, 0x26e67: 0x6c5c4020,\n\t0x26e6b: 0x6ccc7a20,\n\t0x26e78: 0x6d34a620, 0x26e79: 0x6c00e620, 0x26e7a: 0x6d074a20, 0x26e7b: 0x6c0a7820,\n\t0x26e7d: 0x6d126820, 0x26e7e: 0x6ca6d820, 0x26e7f: 0x6d3a2e20,\n\t// Block 0x9ba, offset 0x26e80\n\t0x26e81: 0x6cdb4220, 0x26e83: 0x6d010220,\n\t0x26e84: 0x6d241820, 0x26e85: 0x6cc14820,\n\t0x26e88: 0x6d40e020, 0x26e89: 0x6d341820, 0x26e8a: 0x6d2ee420, 0x26e8b: 0x6c94c420,\n\t0x26e8c: 0x6cf03020, 0x26e8d: 0x6c1ce820, 0x26e8e: 0x6c9d9620,\n\t0x26e90: 0x6c5f5e20, 0x26e92: 0x6cdb4420, 0x26e93: 0x6d12b620,\n\t0x26e94: 0x6cf7ac20, 0x26e95: 0x6ce96420, 0x26e96: 0x6c886c20, 0x26e97: 0x6d082e20,\n\t0x26e99: 0x6cf52c20,\n\t0x26e9f: 0x6c990c20,\n\t0x26eac: 0x6c538e20, 0x26eaf: 0x6c94c620,\n\t0x26eb0: 0x6c31ce20, 0x26eb1: 0x6c23ba20, 0x26eb2: 0x6c152e20, 0x26eb3: 0x6c92fc20,\n\t0x26eb4: 0x6cdb4620,\n\t// Block 0x9bb, offset 0x26ec0\n\t0x26ec0: 0x6c94c820,\n\t0x26ec6: 0x6d37d220, 0x26ec7: 0x6c847420,\n\t0x26ec8: 0x6c3ae220, 0x26eca: 0x6c6e3820, 0x26ecb: 0x6c7d2c20,\n\t0x26ecc: 0x6d18f420, 0x26ecd: 0x6c576620, 0x26ece: 0x6c258020,\n\t0x26ed0: 0x6d243c20, 0x26ed1: 0x6c083620, 0x26ed2: 0x6cea3020, 0x26ed3: 0x6cd58020,\n\t0x26ed4: 0x6c27a220, 0x26ed5: 0x6cf38a20, 0x26ed6: 0x6c22ea20, 0x26ed7: 0x6ca95e20,\n\t0x26ed8: 0x6c29a020, 0x26ed9: 0x6d40ee20, 0x26eda: 0x6c4e4220,\n\t0x26edc: 0x6cb02e20, 0x26edd: 0x6c204620,\n\t0x26ee0: 0x6c328620, 0x26ee1: 0x6cabe020,\n\t0x26ee4: 0x6d39d620, 0x26ee6: 0x6d011620, 0x26ee7: 0x6d30ac20,\n\t0x26ee8: 0x6cbcf420, 0x26ee9: 0x6d07dc20, 0x26eeb: 0x6ccb0820,\n\t// Block 0x9bc, offset 0x26f00\n\t0x26f00: 0x6c0a9620, 0x26f02: 0x6c407c20,\n\t0x26f08: 0x6c86d820,\n\t0x26f0e: 0x6c359620,\n\t0x26f10: 0x6d126e20, 0x26f11: 0x6cd58420, 0x26f13: 0x6ccb8620,\n\t0x26f15: 0x6cb54a20, 0x26f16: 0x6c4cf220, 0x26f17: 0x6ccb8820,\n\t0x26f19: 0x6c408620, 0x26f1a: 0x6c990e20,\n\t0x26f1c: 0x6c827620, 0x26f1d: 0x6d2db420,\n\t0x26f28: 0x6c14a620,\n\t0x26f2d: 0x6cf0fc20,\n\t0x26f3d: 0x6c827820, 0x26f3f: 0x6d2b6c20,\n\t// Block 0x9bd, offset 0x26f40\n\t0x26f40: 0x6d1c0e20, 0x26f41: 0x6c010220, 0x26f42: 0x6d005c20,\n\t0x26f44: 0x6c0aaa20,\n\t0x26f4b: 0x6c155a20,\n\t0x26f4e: 0x6cb03620, 0x26f4f: 0x6c23c220,\n\t0x26f50: 0x6c8b6620, 0x26f51: 0x6cb69c20, 0x26f53: 0x6c62d420,\n\t0x26f54: 0x6c6df220, 0x26f55: 0x6c302820, 0x26f56: 0x6c3a4620, 0x26f57: 0x6d159220,\n\t0x26f58: 0x6ce97220,\n\t0x26f68: 0x6c9bf620, 0x26f69: 0x6c11be20, 0x26f6a: 0x6d0b3c20,\n\t0x26f72: 0x6d103c20,\n\t0x26f74: 0x6ce6a220,\n\t0x26f78: 0x6d34be20, 0x26f7a: 0x6d027c20, 0x26f7b: 0x6c942220,\n\t0x26f7d: 0x6c875420, 0x26f7f: 0x6c991620,\n\t// Block 0x9be, offset 0x26f80\n\t0x26f82: 0x6cfa1820,\n\t0x26f85: 0x6cda4420,\n\t0x26f96: 0x6cda6c20, 0x26f97: 0x6d097e20,\n\t0x26f9d: 0x6c877a20, 0x26f9e: 0x6d25d820,\n\t0x26fa1: 0x6d2e4020, 0x26fa3: 0x6cdef220,\n\t0x26fa4: 0x6d083a20, 0x26fa5: 0x6cf12020, 0x26fa6: 0x6d139620, 0x26fa7: 0x6cad1a20,\n\t0x26fa8: 0x6c991820, 0x26fa9: 0x6ce3b620, 0x26faa: 0x6cb22a20,\n\t0x26fac: 0x6c328e20, 0x26fad: 0x6cc0a820, 0x26fae: 0x6d162c20,\n\t0x26fb3: 0x6ceb6020,\n\t0x26fb4: 0x6c14aa20, 0x26fb7: 0x6c6d7620,\n\t0x26fbc: 0x6c35aa20,\n\t// Block 0x9bf, offset 0x26fc0\n\t0x26fc3: 0x6c157420,\n\t0x26fc4: 0x6d1c4420, 0x26fc5: 0x6c8dae20, 0x26fc7: 0x6cfc5e20,\n\t0x26fc9: 0x6cb55a20, 0x26fcb: 0x6d272220,\n\t0x26fcc: 0x6c94ce20, 0x26fcd: 0x6d1cda20, 0x26fce: 0x6cc21a20,\n\t0x26fd2: 0x6c3a7820, 0x26fd3: 0x6d3eca20,\n\t0x26fd9: 0x6cbe6220,\n\t0x26fdd: 0x6ca94020, 0x26fde: 0x6cf13220, 0x26fdf: 0x6cd6c220,\n\t0x26fe1: 0x6c40a420,\n\t0x26fe4: 0x6ca1aa20, 0x26fe5: 0x6ca1ac20, 0x26fe6: 0x6ceb6820, 0x26fe7: 0x6c14ae20,\n\t0x26fe8: 0x6d2a1220,\n\t0x26fee: 0x6c84da20, 0x26fef: 0x6c84e420,\n\t0x26ff1: 0x6cfa2020, 0x26ff2: 0x6c733420,\n\t0x26ff4: 0x6ca41a20, 0x26ff5: 0x6c9db420,\n\t0x26ff8: 0x6c5a3e20, 0x26ffa: 0x6cd6f620,\n\t0x26ffc: 0x6d066420, 0x26fff: 0x6c3a7a20,\n\t// Block 0x9c0, offset 0x27000\n\t0x27001: 0x6d029420,\n\t0x27006: 0x6cdefa20, 0x27007: 0x6d1e6a20,\n\t0x27009: 0x6d2e4420,\n\t0x27011: 0x6cbb3420, 0x27012: 0x6ca46a20,\n\t0x27014: 0x6c8c9420,\n\t0x27018: 0x6c948220, 0x27019: 0x6cfc6e20, 0x2701a: 0x6c3f2c20,\n\t0x2701c: 0x6c8df820,\n\t0x27020: 0x6ccadc20, 0x27022: 0x6c5ca620,\n\t0x27028: 0x6ce66020, 0x2702a: 0x6cbe7020,\n\t0x2702c: 0x6c598a20, 0x2702e: 0x6c01b220,\n\t0x27035: 0x6c97c220, 0x27037: 0x6ca6b220,\n\t0x2703b: 0x6c4c8020,\n\t0x2703c: 0x6cab8820, 0x2703f: 0x6cfe4620,\n\t// Block 0x9c1, offset 0x27040\n\t0x27041: 0x6c6c5620,\n\t0x27046: 0x6d32f620,\n\t0x27048: 0x6ca2cc20, 0x2704b: 0x6cca5e20,\n\t0x2704c: 0x6c56d020, 0x2704e: 0x6d40f020, 0x2704f: 0x6c5b7620,\n\t0x27052: 0x6c5f7420,\n\t0x27056: 0x6d138a20,\n\t0x27066: 0x6d03de20,\n\t0x27069: 0x6c7e6c20, 0x2706a: 0x6d232220, 0x2706b: 0x6c745820,\n\t0x27071: 0x6cd5da20, 0x27072: 0x6d32d620,\n\t0x27074: 0x6d1e4e20, 0x27076: 0x6c439c20,\n\t0x27078: 0x6c66ae20, 0x27079: 0x6d034820,\n\t0x2707c: 0x6c5aec20, 0x2707f: 0x6cd67820,\n\t// Block 0x9c2, offset 0x27080\n\t0x27082: 0x6c1cf020, 0x27083: 0x6c4f8a20,\n\t0x27088: 0x6c8a6420,\n\t0x2708d: 0x6c674a20, 0x2708f: 0x6c456c20,\n\t0x27091: 0x6d3d3020,\n\t0x27097: 0x6cb6de20,\n\t0x2709c: 0x6cb8b820, 0x2709e: 0x6c30e220, 0x2709f: 0x6cb30220,\n\t0x270a2: 0x6c567a20,\n\t0x270a5: 0x6ca98c20, 0x270a7: 0x6cb76420,\n\t0x270a8: 0x6c2db420, 0x270a9: 0x6c2db620, 0x270ab: 0x6c85b220,\n\t0x270ae: 0x6d046220,\n\t0x270bd: 0x6ca2da20, 0x270bf: 0x6d32a620,\n\t// Block 0x9c3, offset 0x270c0\n\t0x270c0: 0x6c7e6e20, 0x270c1: 0x6d35cc20, 0x270c3: 0x6c35b220,\n\t0x270c4: 0x6c0e6620, 0x270c5: 0x6cb30620, 0x270c6: 0x6d058420, 0x270c7: 0x6d1e7a20,\n\t0x270c8: 0x6c223c20, 0x270c9: 0x6c85e220,\n\t0x270cc: 0x6cad5820, 0x270cf: 0x6d053a20,\n\t0x270db: 0x6cb4a820,\n\t0x270dd: 0x6c17e420, 0x270de: 0x6cb78420,\n\t0x270e1: 0x6d177620, 0x270e3: 0x6ce31c20,\n\t0x270e4: 0x6c348820, 0x270e5: 0x6c8f9020, 0x270e7: 0x6c668020,\n\t0x270ed: 0x6d2e6020, 0x270ee: 0x6d261220,\n\t0x270f6: 0x6d210820,\n\t0x270f8: 0x6c44ca20, 0x270fa: 0x6c546c20,\n\t0x270fe: 0x6cb6f820,\n\t// Block 0x9c4, offset 0x27100\n\t0x27100: 0x6ca28c20, 0x27101: 0x6c592a20, 0x27102: 0x6c906a20, 0x27103: 0x6cf89420,\n\t0x27104: 0x6c356c20, 0x27105: 0x6c80fe20, 0x27106: 0x6c3aae20, 0x27107: 0x6ced2820,\n\t0x27109: 0x6c259620, 0x2710b: 0x6caea420,\n\t0x2710f: 0x6c262c20,\n\t0x27110: 0x6cf22420,\n\t0x27121: 0x6c430620,\n\t0x27125: 0x6c254820,\n\t0x27128: 0x6cb7a620, 0x27129: 0x6c83fe20, 0x2712a: 0x6cbcc820, 0x2712b: 0x6cba6020,\n\t0x2712c: 0x6c798220, 0x2712d: 0x6c082220, 0x2712f: 0x6cd46c20,\n\t0x27137: 0x6ceea220,\n\t// Block 0x9c5, offset 0x27140\n\t0x27144: 0x6cccf220,\n\t0x2714f: 0x6d3e6e20,\n\t0x27152: 0x6ce40c20, 0x27153: 0x6cb90e20,\n\t0x27154: 0x6c31ac20, 0x27157: 0x6ce8dc20,\n\t0x2715a: 0x6ceeaa20,\n\t0x2715e: 0x6c558420, 0x2715f: 0x6d038e20,\n\t0x27161: 0x6ccd0220, 0x27162: 0x6d354a20,\n\t0x27167: 0x6c1bb820,\n\t0x27178: 0x6d394a20, 0x27179: 0x6cf23620, 0x2717a: 0x6c1b4c20, 0x2717b: 0x6cdd9420,\n\t0x2717c: 0x6d020220, 0x2717e: 0x6c78d220,\n\t// Block 0x9c6, offset 0x27180\n\t0x27181: 0x6ccca220, 0x27182: 0x6cd1f220, 0x27183: 0x6cd47820,\n\t0x27185: 0x6c6bfc20,\n\t0x27189: 0x6c431c20, 0x2718a: 0x6c93b220,\n\t0x27194: 0x6d020420,\n\t0x2719a: 0x6d354c20,\n\t0x2719e: 0x6c978220,\n\t0x271a0: 0x6cd67420, 0x271a1: 0x6c78da20, 0x271a3: 0x6c2dfe20,\n\t0x271a4: 0x6d141a20, 0x271a6: 0x6cdb2420, 0x271a7: 0x6c206420,\n\t0x271b1: 0x6c256820, 0x271b2: 0x6cebb220,\n\t0x271b5: 0x6d022020,\n\t0x271bd: 0x6d082620,\n\t// Block 0x9c7, offset 0x271c0\n\t0x271c2: 0x6c51f420, 0x271c3: 0x6c74ce20,\n\t0x271c6: 0x6ce43020, 0x271c7: 0x6c3ada20,\n\t0x271c9: 0x6d355620, 0x271ca: 0x6cd3e820, 0x271cb: 0x6ce9c620,\n\t0x271ce: 0x6c1cea20,\n\t0x271d0: 0x6ce43220, 0x271d1: 0x6d2e8820, 0x271d2: 0x6c527820,\n\t0x271d4: 0x6cc1de20, 0x271d5: 0x6cef4220, 0x271d7: 0x6c33ba20,\n\t0x271d8: 0x6c067220,\n\t0x271dc: 0x6c8a2c20,\n\t0x271e4: 0x6cd83620,\n\t0x271ea: 0x6c0c8420, 0x271eb: 0x6d023420,\n\t0x271ec: 0x6c0cfc20, 0x271ee: 0x6c23d820,\n\t0x271f2: 0x6c72ac20, 0x271f3: 0x6c518820,\n\t0x271f7: 0x6c7d3020,\n\t0x271f8: 0x6d1dc820,\n\t// Block 0x9c8, offset 0x27200\n\t0x27200: 0x6cd62220,\n\t0x2720d: 0x6ca89a20, 0x2720f: 0x6d21da20,\n\t0x27210: 0x6d3dca20, 0x27211: 0x6c9b8c20, 0x27212: 0x6c55f220,\n\t0x27215: 0x6c8b6220,\n\t0x2721d: 0x6c6a4020, 0x2721e: 0x6d048220,\n\t0x27223: 0x6d0e0020,\n\t0x27229: 0x6c6b7a20, 0x2722a: 0x6c7eb820, 0x2722b: 0x6cd62e20,\n\t0x2722c: 0x6c6b7c20, 0x2722d: 0x6c828220,\n\t0x27230: 0x6d40fc20, 0x27232: 0x6cd40420,\n\t0x27238: 0x6cef6c20, 0x27239: 0x6c318620, 0x2723a: 0x6cdb6420,\n\t// Block 0x9c9, offset 0x27240\n\t0x27243: 0x6d012e20,\n\t0x27244: 0x6cc4f620,\n\t0x2724c: 0x6c964e20,\n\t0x27251: 0x6cb96420,\n\t0x27258: 0x6ca48620, 0x27259: 0x6c8dec20,\n\t0x2725c: 0x6c630620,\n\t0x27260: 0x6ca03e20, 0x27263: 0x6c476220,\n\t0x27268: 0x6d080c20,\n\t0x2726c: 0x6d058e20,\n\t0x27271: 0x6c0f3620,\n\t0x2727c: 0x6ceebc20,\n\t// Block 0x9ca, offset 0x27280\n\t0x27282: 0x6c7a6e20,\n\t0x27286: 0x6cecf020,\n\t0x27288: 0x6c143c20, 0x2728a: 0x6c996820, 0x2728b: 0x6c789a20,\n\t0x2728e: 0x6c22c420,\n\t0x27292: 0x6cfcbc20, 0x27293: 0x6ca11620,\n\t0x2729a: 0x6c5cc420, 0x2729b: 0x6c162c20,\n\t0x2729c: 0x6cd1c620, 0x2729d: 0x6d31dc20, 0x2729e: 0x6c364420, 0x2729f: 0x6c9c5a20,\n\t0x272a1: 0x6cd1c820, 0x272a2: 0x6cc11420, 0x272a3: 0x6cd4e420,\n\t0x272a5: 0x6c220420, 0x272a6: 0x6d0d9420,\n\t0x272a9: 0x6c54dc20, 0x272aa: 0x6cb50220, 0x272ab: 0x6d366c20,\n\t0x272ac: 0x6c599c20,\n\t0x272b4: 0x6d353820, 0x272b6: 0x6d1fda20,\n\t0x272bc: 0x6c435420, 0x272bd: 0x6d11c420, 0x272be: 0x6cb3cc20,\n\t// Block 0x9cb, offset 0x272c0\n\t0x272c7: 0x6d153620,\n\t0x272c8: 0x6c1a8420, 0x272c9: 0x6c625020, 0x272cb: 0x6c007420,\n\t0x272cd: 0x6c308620, 0x272cf: 0x6cdc6220,\n\t0x272d1: 0x6c701c20,\n\t0x272d8: 0x6cb7c820, 0x272d9: 0x6c884420, 0x272da: 0x6d085620,\n\t0x272dc: 0x6c8a7620,\n\t0x272e1: 0x6d285820, 0x272e2: 0x6d085a20, 0x272e3: 0x6c23e620,\n\t0x272e4: 0x6cb10020, 0x272e6: 0x6c7c9c20,\n\t0x272e8: 0x6ce37a20, 0x272e9: 0x6c58e020, 0x272ea: 0x6c280020, 0x272eb: 0x6c4b7820,\n\t0x272ec: 0x6c188a20, 0x272ee: 0x6cce3c20, 0x272ef: 0x6c628620,\n\t0x272f4: 0x6c891c20, 0x272f5: 0x6c76b620, 0x272f6: 0x6cd17820,\n\t0x272f8: 0x6c30cc20, 0x272f9: 0x6d1f8020, 0x272fa: 0x6cb66220,\n\t0x272fc: 0x6cffc620,\n\t// Block 0x9cc, offset 0x27300\n\t0x27302: 0x6d18f620, 0x27303: 0x6c90c420,\n\t0x27306: 0x6c206a20,\n\t0x2730b: 0x6c81e620,\n\t0x2730c: 0x6c42ec20,\n\t0x27310: 0x6d2ba220, 0x27312: 0x6cef6420,\n\t0x27316: 0x6c653620,\n\t0x2731b: 0x6d1c3220,\n\t0x2731c: 0x6c38f420, 0x2731d: 0x6c877c20, 0x2731e: 0x6cb94e20,\n\t0x27322: 0x6d125420,\n\t0x27326: 0x6c7c5a20, 0x27327: 0x6cef7a20,\n\t0x27329: 0x6cc42620,\n\t0x2732c: 0x6cffca20, 0x2732d: 0x6cc42820,\n\t0x27330: 0x6c551820,\n\t0x27335: 0x6c342020, 0x27336: 0x6c1f1e20,\n\t0x27339: 0x6ccfd620,\n\t0x2733c: 0x6d3d5620, 0x2733d: 0x6c355e20, 0x2733e: 0x6c61f820,\n\t// Block 0x9cd, offset 0x27340\n\t0x27341: 0x6cdfde20, 0x27343: 0x6cabc420,\n\t0x2734b: 0x6c6be220,\n\t0x2734c: 0x6cbc4220,\n\t0x27351: 0x6cb99620, 0x27352: 0x6c724c20,\n\t0x27355: 0x6cc06e20, 0x27356: 0x6ceb2220,\n\t0x2735a: 0x6caafa20, 0x2735b: 0x6cd8c620,\n\t0x2735f: 0x6d14fe20,\n\t0x27361: 0x6c47a220, 0x27362: 0x6c5d3220, 0x27363: 0x6cabda20,\n\t0x27364: 0x6d3e5a20, 0x27366: 0x6c685220,\n\t0x27369: 0x6cf80420, 0x2736a: 0x6cceb820,\n\t0x2736c: 0x6d153820, 0x2736d: 0x6d369e20,\n\t0x27375: 0x6c952420, 0x27377: 0x6d38a020,\n\t0x27378: 0x6c74a420, 0x27379: 0x6ce00620, 0x2737a: 0x6cab0c20, 0x2737b: 0x6c728020,\n\t0x2737c: 0x6c559c20, 0x2737e: 0x6d36c220,\n\t// Block 0x9ce, offset 0x27380\n\t0x27383: 0x6c088820,\n\t0x2738d: 0x6c1c7220, 0x2738e: 0x6d07d020, 0x2738f: 0x6c60b620,\n\t0x27390: 0x6c48a020, 0x27391: 0x6c715e20, 0x27392: 0x6cf31620, 0x27393: 0x6ceb4a20,\n\t0x27395: 0x6cc09820, 0x27396: 0x6ceebe20, 0x27397: 0x6c32a220,\n\t0x27399: 0x6cd47c20, 0x2739b: 0x6d31fe20,\n\t0x2739c: 0x6ca55420, 0x2739f: 0x6cf8f620,\n\t0x273a0: 0x6d30a420, 0x273a1: 0x6d371620, 0x273a3: 0x6ca2ea20,\n\t0x273a8: 0x6c650620,\n\t0x273ae: 0x6d114e20, 0x273af: 0x6c4c9820,\n\t0x273b2: 0x6c2c0820,\n\t0x273b4: 0x6c5e1c20, 0x273b5: 0x6c6de220,\n\t0x273bc: 0x6c74ec20, 0x273bd: 0x6d270820,\n\t// Block 0x9cf, offset 0x273c0\n\t0x273c4: 0x6c60ee20, 0x273c6: 0x6cdb5c20,\n\t0x273c8: 0x6c654020, 0x273ca: 0x6c7d9820, 0x273cb: 0x6cf33220,\n\t0x273cc: 0x6c7c1e20, 0x273cd: 0x6c0c6020, 0x273ce: 0x6c751220,\n\t0x273d1: 0x6c0ad620, 0x273d3: 0x6c157a20,\n\t0x273d5: 0x6d3ecc20, 0x273d6: 0x6c87c220,\n\t0x273da: 0x6c3d0e20, 0x273db: 0x6cb9f020,\n\t0x273dc: 0x6d0d4020, 0x273de: 0x6ce08c20, 0x273df: 0x6ca0d820,\n\t0x273e3: 0x6c79e420,\n\t0x273e4: 0x6cf5d420,\n\t0x273ee: 0x6c569220, 0x273ef: 0x6c569420,\n\t0x273f1: 0x6c3e7020,\n\t0x273f4: 0x6d104c20, 0x273f5: 0x6c4cea20, 0x273f7: 0x6cc57020,\n\t0x273f8: 0x6d1b4c20, 0x273f9: 0x6c3c4420, 0x273fa: 0x6c75b620,\n\t0x273fc: 0x6d27a620, 0x273ff: 0x6d0a8820,\n\t// Block 0x9d0, offset 0x27400\n\t0x27401: 0x6cf87c20,\n\t0x2740e: 0x6cf96220,\n\t0x27411: 0x6c4f7620,\n\t0x2741a: 0x6c569620,\n\t0x2741d: 0x6c54d020, 0x2741e: 0x6cb4aa20, 0x2741f: 0x6c385020,\n\t0x27424: 0x6c636420, 0x27427: 0x6d150420,\n\t0x2742d: 0x6ceac820, 0x2742e: 0x6ca2e220,\n\t0x27438: 0x6d1a6a20, 0x27439: 0x6d1b5a20,\n\t// Block 0x9d1, offset 0x27440\n\t0x27443: 0x6c622a20,\n\t0x27444: 0x6cee5620, 0x27445: 0x6cd3a420, 0x27446: 0x6c330c20, 0x27447: 0x6c34fc20,\n\t0x27449: 0x6ceb3020, 0x2744a: 0x6cebe620, 0x2744b: 0x6c863e20,\n\t0x2744f: 0x6cc55220,\n\t0x27452: 0x6c22d020, 0x27453: 0x6d070220,\n\t0x27454: 0x6d389020, 0x27455: 0x6d3f5a20,\n\t0x2745c: 0x6cee2a20, 0x2745d: 0x6d0b5820, 0x2745f: 0x6c622c20,\n\t0x27460: 0x6c179e20,\n\t0x27469: 0x6c606020,\n\t0x27475: 0x6ccd5420, 0x27476: 0x6ce8de20,\n\t0x27478: 0x6c0cf620, 0x27479: 0x6cf8be20, 0x2747a: 0x6caf7e20, 0x2747b: 0x6d2cd420,\n\t0x2747e: 0x6c5c0620,\n\t// Block 0x9d2, offset 0x27480\n\t0x27480: 0x6cdd3020, 0x27482: 0x6c51da20,\n\t0x27484: 0x6d265220, 0x27486: 0x6cf37c20,\n\t0x27488: 0x6c8d4020, 0x2748a: 0x6d2cd620, 0x2748b: 0x6c574a20,\n\t0x27497: 0x6c151220,\n\t0x2749f: 0x6c367620,\n\t0x274a1: 0x6c18e020,\n\t0x274a7: 0x6cdc6620,\n\t0x274a9: 0x6ce51420,\n\t0x274b0: 0x6d36c420, 0x274b1: 0x6ce41620, 0x274b2: 0x6c022e20, 0x274b3: 0x6d3d9020,\n\t0x274b4: 0x6d3f6020, 0x274b5: 0x6c783020, 0x274b7: 0x6ccb4e20,\n\t0x274b8: 0x6ce4c220, 0x274b9: 0x6c92b620,\n\t0x274be: 0x6ccd2620, 0x274bf: 0x6d2c9020,\n\t// Block 0x9d3, offset 0x274c0\n\t0x274c3: 0x6c1cde20,\n\t0x274c5: 0x6d0ea620,\n\t0x274d2: 0x6ca25420, 0x274d3: 0x6c54fc20,\n\t0x274da: 0x6c1ad420,\n\t0x274dd: 0x6cdb0a20,\n\t0x274e3: 0x6ca51420,\n\t0x274e6: 0x6c60b820, 0x274e7: 0x6c346020,\n\t0x274e8: 0x6c547e20, 0x274ea: 0x6c23de20, 0x274eb: 0x6d2c0220,\n\t0x274ec: 0x6d1a9c20, 0x274ee: 0x6cffbe20,\n\t0x274f0: 0x6c0bbc20, 0x274f1: 0x6c085220, 0x274f2: 0x6c7e9a20,\n\t0x274f4: 0x6c1ad820, 0x274f6: 0x6cb87820,\n\t0x274f8: 0x6c015220, 0x274f9: 0x6cd1fe20,\n\t0x274fc: 0x6c1c7420,\n\t// Block 0x9d4, offset 0x27500\n\t0x27505: 0x6caa6a20, 0x27507: 0x6c628820,\n\t0x27513: 0x6cab9220,\n\t0x27515: 0x6cf97a20,\n\t0x27518: 0x6c14a020, 0x2751a: 0x6c005620,\n\t0x2751d: 0x6cd17c20, 0x2751e: 0x6c518220,\n\t0x27520: 0x6c60ca20, 0x27521: 0x6c1ade20, 0x27522: 0x6cf8fa20, 0x27523: 0x6d32fe20,\n\t0x27526: 0x6cde0020,\n\t0x27528: 0x6c96e220, 0x2752b: 0x6caf9a20,\n\t0x2752e: 0x6d05f220, 0x2752f: 0x6cba2a20,\n\t0x27539: 0x6cfa4e20,\n\t// Block 0x9d5, offset 0x27540\n\t0x2754a: 0x6d241a20,\n\t0x27551: 0x6c6b4620, 0x27552: 0x6cfa5420, 0x27553: 0x6c91ee20,\n\t0x27555: 0x6cbcf620, 0x27557: 0x6c145220,\n\t0x2755b: 0x6d107020,\n\t0x2755c: 0x6c62b020, 0x2755d: 0x6ccc3620, 0x2755e: 0x6c912020,\n\t0x27560: 0x6c5f7620, 0x27561: 0x6d373020, 0x27562: 0x6cee5c20,\n\t0x27564: 0x6c0a9820, 0x27565: 0x6c015820, 0x27566: 0x6d142a20, 0x27567: 0x6c015a20,\n\t0x2756c: 0x6c847620,\n\t0x27579: 0x6cfaec20,\n\t0x2757e: 0x6c703620, 0x2757f: 0x6ce08420,\n\t// Block 0x9d6, offset 0x27580\n\t0x27581: 0x6c507a20, 0x27582: 0x6c520620,\n\t0x27585: 0x6d2c0620, 0x27586: 0x6d2e2e20, 0x27587: 0x6d191a20,\n\t0x27588: 0x6cf91a20, 0x2758a: 0x6cf91c20, 0x2758b: 0x6c384420,\n\t0x2758c: 0x6d0cf620, 0x2758f: 0x6ca25620,\n\t0x27595: 0x6c474020,\n\t0x2759e: 0x6d27d020,\n\t0x275a4: 0x6d384820, 0x275a6: 0x6c160220, 0x275a7: 0x6c208620,\n\t0x275a8: 0x6c5c8a20, 0x275a9: 0x6d28d620, 0x275aa: 0x6c4c0820, 0x275ab: 0x6c661c20,\n\t0x275ac: 0x6d0b3e20,\n\t0x275b0: 0x6cfe6820, 0x275b1: 0x6c520820,\n\t// Block 0x9d7, offset 0x275c0\n\t0x275c3: 0x6c28e820,\n\t0x275c7: 0x6c9df020,\n\t0x275c8: 0x6ca93a20, 0x275ca: 0x6c9ba620,\n\t0x275cc: 0x6c8b6e20, 0x275cd: 0x6d396a20, 0x275ce: 0x6cb42220, 0x275cf: 0x6cdf0a20,\n\t0x275d3: 0x6d1cd020,\n\t0x275d4: 0x6ce2cc20, 0x275d5: 0x6c4ca220,\n\t0x275da: 0x6cbb3020,\n\t0x275dc: 0x6c942420, 0x275dd: 0x6cc9b820, 0x275de: 0x6c8b7020, 0x275df: 0x6c1b6c20,\n\t0x275e0: 0x6d015020, 0x275e3: 0x6c4ca820,\n\t0x275e4: 0x6c067e20, 0x275e5: 0x6c964220, 0x275e6: 0x6c73a420,\n\t0x275ea: 0x6c36e820,\n\t0x275f3: 0x6c51a820,\n\t0x275f5: 0x6c9aba20,\n\t0x275f8: 0x6d028820, 0x275f9: 0x6cb22c20, 0x275fb: 0x6c4dc420,\n\t0x275fc: 0x6c194420, 0x275fd: 0x6ccdec20, 0x275fe: 0x6c5ca020,\n\t// Block 0x9d8, offset 0x27600\n\t0x27606: 0x6d1c4820,\n\t0x27608: 0x6c663e20,\n\t0x2760d: 0x6c016620,\n\t0x27611: 0x6cdef420, 0x27612: 0x6d144220, 0x27613: 0x6ce9dc20,\n\t0x27617: 0x6c8ef220,\n\t0x27619: 0x6d425a20, 0x2761b: 0x6c84ec20,\n\t0x2761d: 0x6cb23420, 0x2761e: 0x6d098420,\n\t0x27620: 0x6ca5a220, 0x27621: 0x6c315820,\n\t0x27624: 0x6c806c20,\n\t0x2762a: 0x6d2d5e20, 0x2762b: 0x6c73e620,\n\t0x2762c: 0x6d314620, 0x2762d: 0x6c600c20, 0x2762e: 0x6cb8ce20,\n\t0x27630: 0x6c4da220, 0x27631: 0x6c3b7220, 0x27633: 0x6c4da420,\n\t0x27634: 0x6c535620, 0x27635: 0x6c514620, 0x27636: 0x6c541a20,\n\t0x2763a: 0x6d2e7820, 0x2763b: 0x6c1dd420,\n\t0x2763c: 0x6cdf7e20, 0x2763d: 0x6cba7820, 0x2763f: 0x6ccf7420,\n\t// Block 0x9d9, offset 0x27640\n\t0x27640: 0x6d1bee20, 0x27643: 0x6cbd4020,\n\t0x27646: 0x6c5e0e20,\n\t0x27648: 0x6cf8fc20, 0x27649: 0x6c51f820, 0x2764a: 0x6cf90820, 0x2764b: 0x6cf97e20,\n\t0x2764c: 0x6c4fb620, 0x2764d: 0x6c81e820, 0x2764f: 0x6c870c20,\n\t0x27652: 0x6c19a220,\n\t0x27656: 0x6c760620, 0x27657: 0x6cf76020,\n\t0x27658: 0x6c4e7620,\n\t0x2765e: 0x6c311620,\n\t0x27660: 0x6c30ae20, 0x27661: 0x6cec9220,\n\t0x27664: 0x6c30b020, 0x27665: 0x6d293820, 0x27666: 0x6c737a20,\n\t0x27668: 0x6c90e620, 0x27669: 0x6c1f6220, 0x2766b: 0x6d32ea20,\n\t0x2766f: 0x6cb64420,\n\t0x27670: 0x6c770e20, 0x27671: 0x6c5df420, 0x27672: 0x6c7f2420,\n\t0x2767a: 0x6c410620,\n\t0x2767c: 0x6cd48220, 0x2767e: 0x6c301a20,\n\t// Block 0x9da, offset 0x27680\n\t0x27683: 0x6c90c820,\n\t0x27684: 0x6ce93e20, 0x27687: 0x6d21ca20,\n\t0x27688: 0x6cf52e20, 0x2768a: 0x6ce4ce20,\n\t0x27692: 0x6c4c9e20,\n\t0x27698: 0x6ce04420, 0x27699: 0x6cb6ae20,\n\t0x276a0: 0x6c8b8020, 0x276a1: 0x6c87b420, 0x276a3: 0x6d09d020,\n\t0x276a8: 0x6c452820, 0x276a9: 0x6ce63820, 0x276aa: 0x6c4ea220, 0x276ab: 0x6c1f2a20,\n\t0x276ad: 0x6cea4c20, 0x276af: 0x6d047a20,\n\t0x276b0: 0x6d1f3020, 0x276b1: 0x6ca11820, 0x276b2: 0x6c1ba420,\n\t0x276b4: 0x6c562020, 0x276b5: 0x6c317020, 0x276b7: 0x6ca24420,\n\t0x276b9: 0x6ca34420, 0x276bb: 0x6c8d0c20,\n\t0x276bf: 0x6c00ae20,\n\t// Block 0x9db, offset 0x276c0\n\t0x276c0: 0x6cfab020,\n\t0x276c4: 0x6c76e020, 0x276c5: 0x6cd8cc20, 0x276c6: 0x6cca0420,\n\t0x276ca: 0x6d180e20,\n\t0x276cf: 0x6d183c20,\n\t0x276d0: 0x6d000020, 0x276d2: 0x6d340820, 0x276d3: 0x6c313020,\n\t0x276d8: 0x6c973e20,\n\t0x276dc: 0x6c950a20, 0x276dd: 0x6c74a820,\n\t0x276e1: 0x6cbad620, 0x276e2: 0x6c8d4a20,\n\t0x276e9: 0x6cb12c20, 0x276ea: 0x6c23fc20, 0x276eb: 0x6c351820,\n\t0x276ec: 0x6d229420,\n\t0x276f0: 0x6d3d0a20, 0x276f2: 0x6cf8fe20, 0x276f3: 0x6c581620,\n\t0x276f4: 0x6ca02020, 0x276f5: 0x6ce14420,\n\t0x276f9: 0x6cb41820, 0x276fb: 0x6c9da420,\n\t0x276fc: 0x6c979020, 0x276fe: 0x6c48d420,\n\t// Block 0x9dc, offset 0x27700\n\t0x27700: 0x6cb93620, 0x27702: 0x6c8bfa20, 0x27703: 0x6c9fd620,\n\t0x27704: 0x6cf04e20, 0x27705: 0x6c136820, 0x27707: 0x6c56e220,\n\t0x27708: 0x6cdc0420, 0x2770b: 0x6c72bc20,\n\t0x2770c: 0x6ccc8420, 0x2770d: 0x6c9ba820,\n\t0x27717: 0x6cef7620,\n\t0x27718: 0x6cf75a20, 0x27719: 0x6c8e2a20,\n\t0x2771c: 0x6c0ad820, 0x2771d: 0x6cf13820,\n\t0x27721: 0x6c85b420, 0x27722: 0x6d304420,\n\t0x27724: 0x6d1df220, 0x27725: 0x6c554e20, 0x27726: 0x6cecda20, 0x27727: 0x6c034c20,\n\t0x27728: 0x6c649220,\n\t0x2772d: 0x6d426a20, 0x2772e: 0x6d2df220, 0x2772f: 0x6c0e7a20,\n\t0x27730: 0x6cbfb220, 0x27731: 0x6d0f5a20,\n\t0x27734: 0x6c300620, 0x27735: 0x6cc19820,\n\t0x2773a: 0x6caff820, 0x2773b: 0x6d2d2c20,\n\t0x2773e: 0x6cccf420, 0x2773f: 0x6c46bc20,\n\t// Block 0x9dd, offset 0x27740\n\t0x27740: 0x6c0c9020, 0x27741: 0x6d152220, 0x27742: 0x6c3eaa20,\n\t0x27744: 0x6d034020, 0x27745: 0x6cd3a620, 0x27746: 0x6ce6fc20,\n\t0x27749: 0x6c2f6220,\n\t0x2774c: 0x6ce86e20, 0x2774d: 0x6cfef620, 0x2774e: 0x6cf3e020, 0x2774f: 0x6cade420,\n\t0x27750: 0x6c5ade20,\n\t0x27755: 0x6c7f2220,\n\t0x27759: 0x6cd8e220, 0x2775a: 0x6c250220, 0x2775b: 0x6ccc7220,\n\t0x2775c: 0x6d38f020, 0x2775d: 0x6d2fd820, 0x2775e: 0x6cef3220, 0x2775f: 0x6c7f2620,\n\t0x27760: 0x6c0a3a20, 0x27763: 0x6c303e20,\n\t0x27766: 0x6ca51620, 0x27767: 0x6d005420,\n\t0x27768: 0x6cc54020, 0x27769: 0x6ce98e20, 0x2776a: 0x6cf0d820, 0x2776b: 0x6d1f7020,\n\t0x2776c: 0x6c9a2820, 0x2776d: 0x6d25b220, 0x2776e: 0x6d384220,\n\t0x27776: 0x6cd9ea20,\n\t0x27778: 0x6c474820, 0x27779: 0x6ccee620, 0x2777b: 0x6d2f9220,\n\t0x2777c: 0x6cb02820, 0x2777f: 0x6ce70820,\n\t// Block 0x9de, offset 0x27780\n\t0x27781: 0x6c1ae220, 0x27782: 0x6caedc20, 0x27783: 0x6c153c20,\n\t0x27784: 0x6d1dca20, 0x27785: 0x6cd6ea20, 0x27787: 0x6cf48420,\n\t0x27789: 0x6cb03020, 0x2778a: 0x6c596020,\n\t0x2778c: 0x6c3f1e20, 0x2778e: 0x6c0c9620,\n\t0x27793: 0x6ca4d020,\n\t0x27795: 0x6c0c9820, 0x27796: 0x6cf11420, 0x27797: 0x6d1dd620,\n\t0x27799: 0x6ca52620, 0x2779a: 0x6c48fe20,\n\t0x277a0: 0x6c879220, 0x277a2: 0x6d035e20, 0x277a3: 0x6d0d2220,\n\t0x277a4: 0x6cb37420, 0x277a5: 0x6cadca20,\n\t0x277aa: 0x6cdd5c20,\n\t0x277ac: 0x6cc5e220, 0x277ad: 0x6ccd3a20,\n\t0x277b2: 0x6cdd5e20,\n\t0x277b8: 0x6c27d620, 0x277ba: 0x6c9af020,\n\t// Block 0x9df, offset 0x277c0\n\t0x277c3: 0x6cd44820,\n\t0x277c8: 0x6c46a620, 0x277ca: 0x6c4da620, 0x277cb: 0x6cd39020,\n\t0x277cc: 0x6d102020, 0x277ce: 0x6c479620,\n\t0x277db: 0x6c77fe20,\n\t0x277de: 0x6c709c20,\n\t0x277e0: 0x6cac2e20, 0x277e1: 0x6c12f820, 0x277e2: 0x6c05b220, 0x277e3: 0x6d047020,\n\t0x277e4: 0x6c111420, 0x277e7: 0x6c8c2420,\n\t0x277e8: 0x6c00b020,\n\t0x277ec: 0x6c9d6220, 0x277ed: 0x6c7f3e20,\n\t0x277f1: 0x6cfee020, 0x277f3: 0x6ccf1e20,\n\t0x277fb: 0x6c5d7c20,\n\t0x277fc: 0x6ca6b420,\n\t// Block 0x9e0, offset 0x27800\n\t0x27804: 0x6d335620, 0x27806: 0x6c8c5c20, 0x27807: 0x6d2c4420,\n\t0x2780a: 0x6d27be20,\n\t0x2780d: 0x6d071c20,\n\t0x27814: 0x6c1a2a20, 0x27815: 0x6cf2c020, 0x27816: 0x6cf68620,\n\t0x27819: 0x6c074820,\n\t0x2781c: 0x6cce1c20,\n\t0x27820: 0x6d23d020, 0x27821: 0x6c9d8020,\n\t0x27832: 0x6c32b020,\n\t0x27835: 0x6c144a20, 0x27837: 0x6d2b0820,\n\t0x27838: 0x6c1a8820, 0x2783a: 0x6ce69220,\n\t// Block 0x9e1, offset 0x27840\n\t0x27845: 0x6d157020,\n\t0x2784b: 0x6d10ba20,\n\t0x2784e: 0x6c7a6620,\n\t0x27850: 0x6c3b9c20, 0x27851: 0x6d010420, 0x27852: 0x6c1a8a20,\n\t0x2785b: 0x6c7d2420,\n\t0x2785f: 0x6c0d6220,\n\t0x27861: 0x6c90cc20,\n\t0x27865: 0x6d18fa20, 0x27866: 0x6c9da620, 0x27867: 0x6d024620,\n\t0x27871: 0x6c4a9c20, 0x27873: 0x6c955e20,\n\t0x27876: 0x6ccdce20,\n\t0x2787e: 0x6c717a20, 0x2787f: 0x6c318420,\n\t// Block 0x9e2, offset 0x27880\n\t0x27882: 0x6cfaf220,\n\t0x27885: 0x6d356020,\n\t0x27888: 0x6c0d9020,\n\t0x27895: 0x6d356220, 0x27896: 0x6d3bfa20, 0x27897: 0x6d092a20,\n\t0x27898: 0x6c893020, 0x27899: 0x6cdcb220,\n\t0x278a6: 0x6c808c20, 0x278a7: 0x6c72cc20,\n\t0x278a8: 0x6c9df220, 0x278a9: 0x6d0ab420, 0x278aa: 0x6d2ea020, 0x278ab: 0x6c4c0c20,\n\t0x278b2: 0x6d376820,\n\t0x278bd: 0x6cf12c20, 0x278be: 0x6cc36a20, 0x278bf: 0x6c14ac20,\n\t// Block 0x9e3, offset 0x278c0\n\t0x278c8: 0x6cc63020, 0x278ca: 0x6d272820,\n\t0x278cc: 0x6d3ece20,\n\t0x278d0: 0x6c965420, 0x278d1: 0x6c4b3620, 0x278d3: 0x6c19f420,\n\t0x278d5: 0x6c709e20, 0x278d6: 0x6ce4fe20, 0x278d7: 0x6ced9820,\n\t0x278db: 0x6d33d820,\n\t0x278de: 0x6ca42c20,\n\t0x278e3: 0x6c4db420,\n\t0x278e8: 0x6cf6b020, 0x278e9: 0x6c8bd420,\n\t0x278ec: 0x6d0c2e20, 0x278ed: 0x6d074220,\n\t0x278f2: 0x6c56d220, 0x278f3: 0x6c423620,\n\t0x278f4: 0x6d074c20, 0x278f6: 0x6cf90a20,\n\t0x278fa: 0x6c258420,\n\t0x278fd: 0x6cf92a20, 0x278fe: 0x6c560220,\n\t// Block 0x9e4, offset 0x27900\n\t0x27905: 0x6d0c4c20,\n\t0x2790e: 0x6d170e20, 0x2790f: 0x6c1b1a20,\n\t0x27910: 0x6c741c20, 0x27912: 0x6d40b220,\n\t0x2791c: 0x6c699420, 0x2791d: 0x6d178220, 0x2791f: 0x6ce05e20,\n\t0x27920: 0x6c1c1420, 0x27921: 0x6c037a20, 0x27922: 0x6ce82820, 0x27923: 0x6d3f7a20,\n\t0x27924: 0x6cc05420, 0x27927: 0x6c1c1620,\n\t0x27928: 0x6cf7e020,\n\t0x27930: 0x6ca69c20, 0x27932: 0x6c241420,\n\t0x27934: 0x6cf44820, 0x27936: 0x6c1f4820, 0x27937: 0x6cda4e20,\n\t0x27938: 0x6d1df820, 0x27939: 0x6c71bc20, 0x2793a: 0x6c037e20,\n\t0x2793c: 0x6c229c20, 0x2793d: 0x6c2c6420, 0x2793e: 0x6cac9820, 0x2793f: 0x6c1c2620,\n\t// Block 0x9e5, offset 0x27940\n\t0x27941: 0x6cc0ac20, 0x27943: 0x6d0ca420,\n\t0x2794d: 0x6d2d2e20,\n\t0x27952: 0x6cfce220, 0x27953: 0x6c084620,\n\t0x27954: 0x6c7ba620, 0x27955: 0x6cb7a820, 0x27956: 0x6d389220, 0x27957: 0x6c713820,\n\t0x27958: 0x6cbcca20, 0x27959: 0x6ca13420, 0x2795a: 0x6d258c20,\n\t0x2795c: 0x6c4b5820, 0x2795d: 0x6d417220,\n\t0x27967: 0x6cbccc20,\n\t0x27970: 0x6c558a20, 0x27971: 0x6cc08820, 0x27972: 0x6c4d2220, 0x27973: 0x6c402c20,\n\t0x27974: 0x6c812a20, 0x27975: 0x6ccc6c20, 0x27976: 0x6cf68820, 0x27977: 0x6c101c20,\n\t0x27978: 0x6cd3ba20, 0x27979: 0x6d1e5220, 0x2797a: 0x6c49f020,\n\t0x2797c: 0x6ca85420, 0x2797f: 0x6c545820,\n\t// Block 0x9e6, offset 0x27980\n\t0x2798a: 0x6c9d7220,\n\t0x2798e: 0x6c369420, 0x2798f: 0x6cfb8a20,\n\t0x27990: 0x6d280020, 0x27991: 0x6d073220, 0x27992: 0x6cbde420, 0x27993: 0x6c301220,\n\t0x27994: 0x6c838220, 0x27995: 0x6cb7ca20, 0x27996: 0x6c7fb020, 0x27997: 0x6c3ee420,\n\t0x27998: 0x6cb71420, 0x27999: 0x6c1d3e20,\n\t0x2799c: 0x6c245c20, 0x2799f: 0x6ca16620,\n\t0x279a0: 0x6c06b820,\n\t0x279a4: 0x6c2a2e20,\n\t0x279a8: 0x6c6b3a20, 0x279a9: 0x6c1d5c20, 0x279aa: 0x6c1c7620, 0x279ab: 0x6d23f820,\n\t0x279ac: 0x6c24ee20, 0x279ad: 0x6cdb2620, 0x279ae: 0x6ce42420, 0x279af: 0x6cd61020,\n\t0x279b0: 0x6d2c4c20, 0x279b1: 0x6c3ef820, 0x279b3: 0x6c184620,\n\t0x279b4: 0x6c3d0c20, 0x279b5: 0x6c543220, 0x279b6: 0x6d2c4e20,\n\t// Block 0x9e7, offset 0x279c0\n\t0x279c4: 0x6c6b3c20, 0x279c5: 0x6d2c5020, 0x279c6: 0x6d2d9c20,\n\t0x279c9: 0x6d0dde20, 0x279ca: 0x6c4d3020, 0x279cb: 0x6cf48220,\n\t0x279cc: 0x6c576220, 0x279cd: 0x6c2cde20, 0x279ce: 0x6d115420, 0x279cf: 0x6cd9ec20,\n\t0x279d0: 0x6cb92c20, 0x279d1: 0x6c60cc20, 0x279d2: 0x6d04aa20, 0x279d3: 0x6cb7f020,\n\t0x279d4: 0x6c758420, 0x279d6: 0x6c4d3220,\n\t0x279de: 0x6d0dee20, 0x279df: 0x6c6b6820,\n\t0x279e0: 0x6c24f420, 0x279e2: 0x6ce96a20, 0x279e3: 0x6d2ee620,\n\t0x279e4: 0x6cb16c20, 0x279e5: 0x6c930e20, 0x279e6: 0x6d342020, 0x279e7: 0x6c1f8820,\n\t0x279e8: 0x6c9da820, 0x279e9: 0x6cbaec20, 0x279eb: 0x6c892420,\n\t0x279f2: 0x6c86dc20,\n\t0x279f6: 0x6c359a20, 0x279f7: 0x6cdb5820,\n\t0x279f8: 0x6c74f020, 0x279fb: 0x6c717c20,\n\t0x279fc: 0x6ce03a20, 0x279fd: 0x6c8a4820, 0x279fe: 0x6cca0a20, 0x279ff: 0x6c309220,\n\t// Block 0x9e8, offset 0x27a00\n\t0x27a01: 0x6d28d420, 0x27a02: 0x6d34b220,\n\t0x27a06: 0x6d08ca20, 0x27a07: 0x6c8d8620,\n\t0x27a0a: 0x6c2abe20,\n\t0x27a0d: 0x6d2dbe20, 0x27a0e: 0x6d07f020, 0x27a0f: 0x6cbdf220,\n\t0x27a10: 0x6c69da20, 0x27a11: 0x6cb0da20,\n\t0x27a14: 0x6c4e6e20,\n\t0x27a1a: 0x6d21f220, 0x27a1b: 0x6c4ca420,\n\t0x27a1d: 0x6d0a5420,\n\t0x27a20: 0x6d0a5620, 0x27a21: 0x6c156c20, 0x27a22: 0x6c6b8020, 0x27a23: 0x6c719420,\n\t0x27a24: 0x6d0e1820, 0x27a25: 0x6c31f620, 0x27a27: 0x6c53e020,\n\t0x27a28: 0x6cfd4a20, 0x27a29: 0x6d0a5820,\n\t0x27a2e: 0x6c8db020, 0x27a2f: 0x6c6b8620,\n\t0x27a30: 0x6d197e20, 0x27a31: 0x6cc22a20, 0x27a32: 0x6c41c020, 0x27a33: 0x6c3c8c20,\n\t0x27a35: 0x6c753820, 0x27a36: 0x6cc16e20,\n\t0x27a3b: 0x6c6fe020,\n\t0x27a3d: 0x6c61ba20, 0x27a3e: 0x6c612c20,\n\t// Block 0x9e9, offset 0x27a40\n\t0x27a45: 0x6cf77420, 0x27a46: 0x6cacd220,\n\t0x27a48: 0x6c7bf020, 0x27a49: 0x6c7a8e20, 0x27a4b: 0x6c7a9020,\n\t0x27a4c: 0x6d2cbe20, 0x27a4f: 0x6c03b220,\n\t0x27a52: 0x6c190220, 0x27a53: 0x6c569820,\n\t0x27a54: 0x6caa6220, 0x27a55: 0x6c356220, 0x27a56: 0x6d046a20, 0x27a57: 0x6c33ce20,\n\t0x27a58: 0x6cd10020, 0x27a59: 0x6cecdc20, 0x27a5a: 0x6c3b2e20,\n\t0x27a5d: 0x6cf60420, 0x27a5e: 0x6d3e2e20,\n\t0x27a60: 0x6c569a20,\n\t0x27a65: 0x6c0cea20, 0x27a67: 0x6ceba620,\n\t0x27a68: 0x6c04cc20, 0x27a69: 0x6c43e420, 0x27a6b: 0x6c77f620,\n\t0x27a72: 0x6d3c8c20, 0x27a73: 0x6c3e9220,\n\t0x27a74: 0x6ca12020, 0x27a75: 0x6c63c620, 0x27a76: 0x6ceb2620, 0x27a77: 0x6d235a20,\n\t0x27a79: 0x6ca24620, 0x27a7a: 0x6c745e20, 0x27a7b: 0x6c712820,\n\t0x27a7c: 0x6c486220, 0x27a7d: 0x6cb35a20,\n\t// Block 0x9ea, offset 0x27a80\n\t0x27a80: 0x6ca63c20,\n\t0x27a84: 0x6cec1e20, 0x27a85: 0x6d0d9620,\n\t0x27a94: 0x6c1e2c20, 0x27a95: 0x6c7ba820, 0x27a96: 0x6c4d7020,\n\t0x27a98: 0x6cfdd020, 0x27a99: 0x6cf65c20, 0x27a9b: 0x6c25a820,\n\t0x27a9c: 0x6ce6fe20, 0x27a9d: 0x6cc92420, 0x27a9f: 0x6c345820,\n\t0x27aa0: 0x6c182a20,\n\t0x27aa4: 0x6c833820, 0x27aa5: 0x6d3e6420, 0x27aa7: 0x6d332420,\n\t0x27aa8: 0x6d426c20, 0x27aab: 0x6c773020,\n\t0x27aac: 0x6d293a20, 0x27aae: 0x6d250020, 0x27aaf: 0x6cbf4620,\n\t0x27ab3: 0x6c381820,\n\t0x27ab4: 0x6d0a2220, 0x27ab6: 0x6c622e20,\n\t0x27ab8: 0x6c13a620,\n\t// Block 0x9eb, offset 0x27ac0\n\t0x27ac0: 0x6cd4fe20, 0x27ac1: 0x6d08a820, 0x27ac2: 0x6d00d220, 0x27ac3: 0x6ce2f820,\n\t0x27ac4: 0x6c4ef220, 0x27ac5: 0x6cfac020, 0x27ac6: 0x6ccd0420, 0x27ac7: 0x6cea8c20,\n\t0x27ac8: 0x6c4f8420, 0x27ac9: 0x6c7dbc20, 0x27aca: 0x6c133620, 0x27acb: 0x6c30bc20,\n\t0x27acc: 0x6caac620, 0x27acd: 0x6d0e9a20, 0x27ace: 0x6c1a2c20, 0x27acf: 0x6cb40a20,\n\t0x27ad0: 0x6cb7ba20, 0x27ad1: 0x6d26d420, 0x27ad2: 0x6c3d8c20,\n\t0x27ad7: 0x6ce6dc20,\n\t0x27adf: 0x6cf2c220,\n\t0x27ae0: 0x6cd11220, 0x27ae1: 0x6ceb8c20,\n\t0x27af4: 0x6ce06a20, 0x27af6: 0x6d0b6020, 0x27af7: 0x6d36ca20,\n\t0x27af8: 0x6c92be20, 0x27af9: 0x6d0dd020, 0x27afa: 0x6c70c220,\n\t0x27afd: 0x6c2a8020, 0x27aff: 0x6c1f7020,\n\t// Block 0x9ec, offset 0x27b00\n\t0x27b00: 0x6d412620, 0x27b01: 0x6c369620, 0x27b02: 0x6d349620, 0x27b03: 0x6caec020,\n\t0x27b05: 0x6c0cbe20, 0x27b07: 0x6c2c0220,\n\t0x27b10: 0x6c7f2820, 0x27b12: 0x6d133020,\n\t0x27b1c: 0x6c4fe620, 0x27b1d: 0x6cac7420, 0x27b1e: 0x6ce0ae20, 0x27b1f: 0x6c774a20,\n\t0x27b20: 0x6d05ea20, 0x27b21: 0x6d408e20, 0x27b22: 0x6c628c20, 0x27b23: 0x6cf52620,\n\t0x27b26: 0x6c204020,\n\t0x27b29: 0x6cb3a420, 0x27b2a: 0x6d0dd620, 0x27b2b: 0x6cebb420,\n\t0x27b2d: 0x6c31b820, 0x27b2f: 0x6cb13020,\n\t0x27b30: 0x6c1c7820, 0x27b31: 0x6c5d4420, 0x27b32: 0x6cb26820,\n\t0x27b34: 0x6c235c20, 0x27b35: 0x6d2c9620,\n\t0x27b3a: 0x6cec9e20,\n\t0x27b3f: 0x6cec6620,\n\t// Block 0x9ed, offset 0x27b40\n\t0x27b43: 0x6c36ae20,\n\t0x27b44: 0x6cf0da20, 0x27b45: 0x6c040420, 0x27b47: 0x6c678020,\n\t0x27b53: 0x6c140a20,\n\t0x27b55: 0x6c1f8220, 0x27b56: 0x6c7af220, 0x27b57: 0x6ce2bc20,\n\t0x27b58: 0x6d406a20, 0x27b59: 0x6c86ac20, 0x27b5a: 0x6cdeb220, 0x27b5b: 0x6cc9a420,\n\t0x27b5e: 0x6cac7a20, 0x27b5f: 0x6cac7c20,\n\t0x27b63: 0x6ccb0020,\n\t0x27b64: 0x6cbbba20,\n\t0x27b6d: 0x6d40e220, 0x27b6f: 0x6d371820,\n\t0x27b70: 0x6d0de020, 0x27b72: 0x6c6b4820, 0x27b73: 0x6ca5aa20,\n\t// Block 0x9ee, offset 0x27b80\n\t0x27b84: 0x6c944420, 0x27b85: 0x6cc15220, 0x27b87: 0x6c2af220,\n\t0x27b88: 0x6c897620, 0x27b89: 0x6c15f220, 0x27b8a: 0x6cbcf820, 0x27b8b: 0x6c912220,\n\t0x27b8c: 0x6c2efe20, 0x27b8d: 0x6c24f620,\n\t0x27b90: 0x6c615c20, 0x27b93: 0x6c178420,\n\t0x27b94: 0x6cd69a20, 0x27b95: 0x6d40f220, 0x27b97: 0x6c775a20,\n\t0x27b9a: 0x6cbaf020, 0x27b9b: 0x6c847820,\n\t0x27bae: 0x6cd65e20, 0x27baf: 0x6d243e20,\n\t0x27bb0: 0x6d2ee820, 0x27bb1: 0x6c82f220,\n\t// Block 0x9ef, offset 0x27bc0\n\t0x27bc5: 0x6cb33e20,\n\t0x27bca: 0x6d30b620, 0x27bcb: 0x6d001e20,\n\t0x27bcd: 0x6ce08620, 0x27bce: 0x6c258620, 0x27bcf: 0x6c7fdc20,\n\t0x27bd1: 0x6d060220, 0x27bd2: 0x6cd62820, 0x27bd3: 0x6d2c9c20,\n\t0x27bd4: 0x6c11ba20, 0x27bd7: 0x6c08fe20,\n\t0x27bd8: 0x6caf1c20,\n\t0x27bdd: 0x6c1a5620,\n\t0x27be3: 0x6cbc0c20,\n\t0x27be4: 0x6c5f8620,\n\t0x27bea: 0x6d2d0420,\n\t0x27bec: 0x6c7fde20,\n\t// Block 0x9f0, offset 0x27c00\n\t0x27c01: 0x6ce52820, 0x27c02: 0x6cc9b020, 0x27c03: 0x6c6c6e20,\n\t0x27c04: 0x6d3b4020, 0x27c05: 0x6c352220, 0x27c07: 0x6c145620,\n\t0x27c08: 0x6c73a020, 0x27c09: 0x6ce16220, 0x27c0a: 0x6c086420,\n\t0x27c0c: 0x6c38e820, 0x27c0d: 0x6c8b6820, 0x27c0e: 0x6d2b6e20, 0x27c0f: 0x6cdcb420,\n\t0x27c19: 0x6ccb8c20,\n\t0x27c27: 0x6d375c20,\n\t0x27c28: 0x6ce9d420, 0x27c2a: 0x6cbe5e20,\n\t0x27c2c: 0x6c21e620,\n\t0x27c30: 0x6cdee620, 0x27c31: 0x6c0e3c20, 0x27c32: 0x6cf1f620,\n\t0x27c35: 0x6cb36220,\n\t0x27c3d: 0x6ca09a20, 0x27c3e: 0x6c10e420,\n\t// Block 0x9f1, offset 0x27c40\n\t0x27c41: 0x6c7c2020, 0x27c43: 0x6c260220,\n\t0x27c44: 0x6cc54420, 0x27c45: 0x6c068020, 0x27c46: 0x6c7f8020,\n\t0x27c4d: 0x6ca75220, 0x27c4e: 0x6c84c220,\n\t0x27c55: 0x6c697220, 0x27c56: 0x6c919e20, 0x27c57: 0x6c879620,\n\t0x27c58: 0x6c900820, 0x27c59: 0x6c4baa20,\n\t0x27c5d: 0x6c161c20,\n\t0x27c64: 0x6cfb1820, 0x27c66: 0x6c165620,\n\t0x27c68: 0x6d029020, 0x27c69: 0x6d2ea820,\n\t0x27c6f: 0x6cd6c620,\n\t0x27c7b: 0x6c9d1220,\n\t0x27c7c: 0x6c947420, 0x27c7d: 0x6c965620,\n\t// Block 0x9f2, offset 0x27c80\n\t0x27c80: 0x6c2d0220,\n\t0x27c88: 0x6c2f2820, 0x27c8a: 0x6cecb220, 0x27c8b: 0x6d274620,\n\t0x27c8c: 0x6c948620, 0x27c8e: 0x6c948a20,\n\t0x27c93: 0x6c837220,\n\t0x27c95: 0x6cec6020, 0x27c96: 0x6c2f3e20, 0x27c97: 0x6ca59620,\n\t0x27c98: 0x6cceb220, 0x27c99: 0x6d019e20, 0x27c9a: 0x6cafe820,\n\t0x27ca5: 0x6c98dc20, 0x27ca7: 0x6d1ade20,\n\t0x27ca9: 0x6c0f0a20, 0x27cab: 0x6d3b0220,\n\t0x27cae: 0x6c1cc820,\n\t0x27cb6: 0x6ca24820, 0x27cb7: 0x6ceb2820,\n\t0x27cb9: 0x6ce7be20, 0x27cba: 0x6d128820,\n\t// Block 0x9f3, offset 0x27cc0\n\t0x27cc1: 0x6c5a7220, 0x27cc3: 0x6cc60020,\n\t0x27cc5: 0x6d130620,\n\t0x27ccb: 0x6ceb3a20,\n\t0x27cd6: 0x6d413a20, 0x27cd7: 0x6d23d220,\n\t0x27cda: 0x6c000c20,\n\t0x27cdc: 0x6d38a420, 0x27cdd: 0x6cec9c20,\n\t0x27ce1: 0x6c34ae20, 0x27ce2: 0x6d384420, 0x27ce3: 0x6c4cfc20,\n\t0x27ce4: 0x6c5a0420, 0x27ce5: 0x6c9e6220,\n\t0x27ce9: 0x6c211a20, 0x27cea: 0x6cbce420, 0x27ceb: 0x6c45b220,\n\t0x27cec: 0x6ce69420, 0x27ced: 0x6c9a2a20,\n\t0x27cf1: 0x6ce1a420,\n\t0x27cf4: 0x6cc6c420, 0x27cf7: 0x6cc6c620,\n\t0x27cf8: 0x6cb66420, 0x27cf9: 0x6c4c9a20,\n\t0x27cfd: 0x6cfe6220, 0x27cfe: 0x6ce4ca20,\n\t// Block 0x9f4, offset 0x27d00\n\t0x27d05: 0x6cff4020,\n\t0x27d08: 0x6d2db620, 0x27d09: 0x6c258820,\n\t0x27d14: 0x6c7ffc20,\n\t0x27d18: 0x6cd02e20, 0x27d1a: 0x6c830e20, 0x27d1b: 0x6c879820,\n\t0x27d1d: 0x6c14e620, 0x27d1e: 0x6ca8d020, 0x27d1f: 0x6c947620,\n\t0x27d21: 0x6ce63a20, 0x27d22: 0x6c5ba620,\n\t0x27d27: 0x6c458020,\n\t0x27d30: 0x6cb77220, 0x27d31: 0x6d20fa20, 0x27d33: 0x6d02d220,\n\t0x27d38: 0x6d26ae20, 0x27d39: 0x6c034e20, 0x27d3a: 0x6c276a20, 0x27d3b: 0x6c5eba20,\n\t0x27d3c: 0x6d089220, 0x27d3f: 0x6c743c20,\n\t// Block 0x9f5, offset 0x27d40\n\t0x27d40: 0x6ca99420,\n\t0x27d48: 0x6c325220, 0x27d49: 0x6c602620,\n\t0x27d50: 0x6cabc820, 0x27d51: 0x6c45f020, 0x27d52: 0x6c07ba20,\n\t0x27d54: 0x6c794220, 0x27d55: 0x6d105020, 0x27d56: 0x6c8f0820, 0x27d57: 0x6ca5ee20,\n\t0x27d58: 0x6d2cca20, 0x27d59: 0x6d1b5c20, 0x27d5a: 0x6ca72820, 0x27d5b: 0x6cad9020,\n\t0x27d5d: 0x6c458e20, 0x27d5e: 0x6c109e20, 0x27d5f: 0x6c512e20,\n\t0x27d60: 0x6cc71220, 0x27d61: 0x6c4b5020,\n\t0x27d65: 0x6c09b620, 0x27d66: 0x6cf63020, 0x27d67: 0x6c712a20,\n\t0x27d68: 0x6c5cf420, 0x27d69: 0x6c09e420, 0x27d6b: 0x6ce56420,\n\t0x27d6c: 0x6d332820, 0x27d6f: 0x6d181020,\n\t0x27d70: 0x6c22d220, 0x27d72: 0x6c0e2620,\n\t0x27d77: 0x6c459c20,\n\t0x27d7a: 0x6c381a20,\n\t0x27d7d: 0x6d0fce20, 0x27d7e: 0x6d064820,\n\t// Block 0x9f6, offset 0x27d80\n\t0x27d81: 0x6c52b620,\n\t0x27d84: 0x6d2a0a20, 0x27d85: 0x6c148420, 0x27d86: 0x6c537620,\n\t0x27d88: 0x6ce4b820,\n\t0x27d8c: 0x6d340a20, 0x27d8d: 0x6d039220, 0x27d8e: 0x6d062220,\n\t0x27d91: 0x6d325820,\n\t0x27d94: 0x6ced4020,\n\t0x27d98: 0x6c75dc20,\n\t0x27d9d: 0x6cf30c20,\n\t0x27da0: 0x6c92c220, 0x27da2: 0x6d32f220, 0x27da3: 0x6cc71a20,\n\t0x27da4: 0x6c1a3c20, 0x27da5: 0x6c3ee620, 0x27da7: 0x6c369820,\n\t0x27da8: 0x6ce1e620, 0x27da9: 0x6ce12e20, 0x27dab: 0x6c730020,\n\t0x27dac: 0x6c17c020, 0x27dad: 0x6cde9620, 0x27dae: 0x6c2c0420,\n\t0x27db0: 0x6d3fc020, 0x27db3: 0x6c794c20,\n\t0x27db4: 0x6ce99820, 0x27db6: 0x6c794e20,\n\t// Block 0x9f7, offset 0x27dc0\n\t0x27dc5: 0x6cc71c20, 0x27dc6: 0x6d276420, 0x27dc7: 0x6c517a20,\n\t0x27dc8: 0x6d400820, 0x27dc9: 0x6c235e20, 0x27dca: 0x6cbfcc20,\n\t0x27dce: 0x6ca2b420, 0x27dcf: 0x6c346420,\n\t0x27dd0: 0x6d065a20, 0x27dd1: 0x6c795620, 0x27dd2: 0x6cfd1220,\n\t0x27ddb: 0x6c31ba20,\n\t0x27ddc: 0x6c76ee20, 0x27dde: 0x6d1bf020,\n\t0x27de2: 0x6d3e9620,\n\t0x27de7: 0x6c5a0620,\n\t0x27de9: 0x6caed020, 0x27deb: 0x6c86ae20,\n\t0x27ded: 0x6c0f8220, 0x27dee: 0x6c444420, 0x27def: 0x6c716620,\n\t0x27df0: 0x6c783420, 0x27df2: 0x6c55ce20, 0x27df3: 0x6d115820,\n\t0x27df4: 0x6ce14820, 0x27df6: 0x6cbf7020, 0x27df7: 0x6cc72820,\n\t0x27df8: 0x6c8f1e20, 0x27df9: 0x6c5c5e20, 0x27dfa: 0x6c5f6220,\n\t// Block 0x9f8, offset 0x27e00\n\t0x27e09: 0x6d371a20, 0x27e0b: 0x6ce15220,\n\t0x27e0c: 0x6d355c20, 0x27e0d: 0x6c775e20,\n\t0x27e14: 0x6d107220, 0x27e16: 0x6ce18420, 0x27e17: 0x6c52d820,\n\t0x27e1b: 0x6c897820,\n\t0x27e1d: 0x6c12a020,\n\t0x27e21: 0x6ca3aa20, 0x27e22: 0x6d400e20,\n\t0x27e24: 0x6c2af420, 0x27e26: 0x6c68a220, 0x27e27: 0x6caeec20,\n\t0x27e29: 0x6c49fa20, 0x27e2a: 0x6c377420, 0x27e2b: 0x6c670620,\n\t0x27e2c: 0x6c69d220, 0x27e2d: 0x6caaca20, 0x27e2e: 0x6d2a6220,\n\t0x27e33: 0x6caef620,\n\t0x27e34: 0x6c292020, 0x27e36: 0x6cc1f620, 0x27e37: 0x6c889620,\n\t0x27e38: 0x6ca2be20, 0x27e39: 0x6c805220,\n\t0x27e3e: 0x6c3baa20,\n\t// Block 0x9f9, offset 0x27e40\n\t0x27e42: 0x6c5d0e20,\n\t0x27e46: 0x6c7bb420,\n\t0x27e48: 0x6d1b2a20, 0x27e49: 0x6cd69c20, 0x27e4a: 0x6c671e20,\n\t0x27e52: 0x6c964420,\n\t0x27e54: 0x6c933c20,\n\t0x27e5a: 0x6c446a20, 0x27e5b: 0x6cc51220,\n\t0x27e5e: 0x6cb22e20,\n\t0x27e60: 0x6c900a20,\n\t0x27e64: 0x6d320c20, 0x27e65: 0x6cfd4c20,\n\t0x27e68: 0x6c8c8e20, 0x27e69: 0x6c88aa20, 0x27e6a: 0x6ccd2420, 0x27e6b: 0x6c0fd420,\n\t0x27e6c: 0x6c87a820,\n\t0x27e73: 0x6d013a20,\n\t0x27e74: 0x6c446e20, 0x27e75: 0x6c9fe020, 0x27e76: 0x6c88ae20,\n\t0x27e79: 0x6c753c20, 0x27e7a: 0x6d38c820,\n\t0x27e7f: 0x6c784820,\n\t// Block 0x9fa, offset 0x27e80\n\t0x27e81: 0x6c2f2a20, 0x27e83: 0x6d30ce20,\n\t0x27e85: 0x6cd4ac20, 0x27e86: 0x6c5e9020, 0x27e87: 0x6c8f7c20,\n\t0x27e88: 0x6c49ea20, 0x27e89: 0x6d2a5620, 0x27e8a: 0x6cfd4420, 0x27e8b: 0x6cb8ae20,\n\t0x27e8d: 0x6ccfd820,\n\t0x27e90: 0x6d1ae020, 0x27e91: 0x6c6be420,\n\t0x27e94: 0x6ccffe20, 0x27e95: 0x6cd00020, 0x27e96: 0x6cc95220,\n\t0x27e9b: 0x6cf8c020,\n\t0x27ea1: 0x6c7aac20, 0x27ea3: 0x6cc1c620,\n\t0x27ea5: 0x6c443e20, 0x27ea6: 0x6c050820,\n\t0x27ea8: 0x6c0a7c20, 0x27ea9: 0x6cb92e20,\n\t0x27eb0: 0x6c0d6420, 0x27eb1: 0x6c050a20, 0x27eb3: 0x6d42ae20,\n\t0x27eb4: 0x6cb0d020, 0x27eb6: 0x6c5e3620,\n\t0x27ebe: 0x6c051020,\n\t// Block 0x9fb, offset 0x27ec0\n\t0x27eca: 0x6ca9d820,\n\t0x27ecc: 0x6c18fc20, 0x27ece: 0x6cae4e20,\n\t0x27ed1: 0x6c3f2e20, 0x27ed2: 0x6ce88220,\n\t0x27edc: 0x6cb04e20, 0x27edd: 0x6cb36420,\n\t0x27ee0: 0x6c1b7420, 0x27ee3: 0x6d093e20,\n\t0x27ee4: 0x6cb74020, 0x27ee5: 0x6cf4b220,\n\t0x27ee8: 0x6d357e20, 0x27ee9: 0x6c2c1c20, 0x27eea: 0x6c22fe20, 0x27eeb: 0x6d1ef420,\n\t0x27ef9: 0x6c230020,\n\t0x27efc: 0x6c2c1e20, 0x27efd: 0x6d3d2620, 0x27eff: 0x6d408020,\n\t// Block 0x9fc, offset 0x27f00\n\t0x27f00: 0x6c238c20, 0x27f03: 0x6caca820,\n\t0x27f04: 0x6d0d4c20, 0x27f05: 0x6cb74e20, 0x27f06: 0x6cc6fa20, 0x27f07: 0x6c63a420,\n\t0x27f09: 0x6d359220, 0x27f0a: 0x6cc00e20, 0x27f0b: 0x6d268a20,\n\t0x27f0d: 0x6cd32420,\n\t0x27f11: 0x6c4fc020,\n\t0x27f19: 0x6ceab220,\n\t0x27f1c: 0x6c0cde20, 0x27f1e: 0x6c770020,\n\t0x27f22: 0x6c21aa20,\n\t0x27f24: 0x6c229020, 0x27f26: 0x6d1ad020, 0x27f27: 0x6cd34c20,\n\t0x27f28: 0x6ca3b820, 0x27f29: 0x6cc85820, 0x27f2b: 0x6d0f9e20,\n\t0x27f2c: 0x6c1a9820, 0x27f2e: 0x6c21f820,\n\t0x27f31: 0x6c457620, 0x27f32: 0x6c9c4220,\n\t0x27f34: 0x6c612e20,\n\t0x27f3c: 0x6c44b220, 0x27f3d: 0x6d2a6c20,\n\t// Block 0x9fd, offset 0x27f40\n\t0x27f41: 0x6c081420,\n\t0x27f47: 0x6d030c20,\n\t0x27f48: 0x6c7df020, 0x27f4a: 0x6c2e8e20,\n\t0x27f4d: 0x6ce66a20,\n\t0x27f5a: 0x6cd71c20,\n\t0x27f5e: 0x6c275620,\n\t0x27f66: 0x6c851020,\n\t0x27f68: 0x6d1e2820, 0x27f69: 0x6c684220,\n\t0x27f6c: 0x6cde0420, 0x27f6d: 0x6cc24620, 0x27f6e: 0x6d1a6020, 0x27f6f: 0x6d24e820,\n\t0x27f70: 0x6c6abc20, 0x27f72: 0x6cb8da20, 0x27f73: 0x6d10a020,\n\t0x27f74: 0x6d0ba620, 0x27f77: 0x6cbe4a20,\n\t0x27f7f: 0x6cadd420,\n\t// Block 0x9fe, offset 0x27f80\n\t0x27f97: 0x6c635820,\n\t0x27f99: 0x6ce82c20, 0x27f9b: 0x6ce2ec20,\n\t0x27fa1: 0x6c33f620, 0x27fa2: 0x6c15ba20, 0x27fa3: 0x6c636820,\n\t0x27fa4: 0x6c1c2820, 0x27fa5: 0x6c64aa20, 0x27fa6: 0x6cd5e020,\n\t0x27faf: 0x6cde5a20,\n\t// Block 0x9ff, offset 0x27fc0\n\t0x27fd5: 0x6d33ea20, 0x27fd7: 0x6d256e20,\n\t0x27fda: 0x6c54d420,\n\t0x27fdc: 0x6c8b1220,\n\t0x27fe0: 0x6d2ad420, 0x27fe2: 0x6c1f5e20,\n\t0x27fe6: 0x6cc0ba20, 0x27fe7: 0x6c07fa20,\n\t0x27ff9: 0x6c588620, 0x27ffa: 0x6c7aca20, 0x27ffb: 0x6cd10c20,\n\t0x27ffd: 0x6c6afe20, 0x27fff: 0x6cee2c20,\n\t// Block 0xa00, offset 0x28000\n\t0x28003: 0x6c54de20,\n\t0x2800a: 0x6d2ae620, 0x2800b: 0x6d297020,\n\t0x2800c: 0x6d106420, 0x2800e: 0x6c1bba20, 0x2800f: 0x6c701220,\n\t0x2801a: 0x6c89fe20, 0x2801b: 0x6d209620,\n\t0x28020: 0x6c0b4a20, 0x28022: 0x6c7bc820,\n\t0x2802c: 0x6c1e4a20, 0x2802d: 0x6d0b3620, 0x2802e: 0x6d3d8620,\n\t0x28030: 0x6cbcda20, 0x28031: 0x6cfcf020, 0x28033: 0x6d250620,\n\t0x28034: 0x6cf46e20, 0x28035: 0x6c693620, 0x28036: 0x6cfe5020, 0x28037: 0x6ccc7420,\n\t0x28039: 0x6d36cc20,\n\t0x2803c: 0x6c1d5a20, 0x2803e: 0x6c0b0620, 0x2803f: 0x6ceeb820,\n\t// Block 0xa01, offset 0x28040\n\t0x28053: 0x6c2a3220,\n\t0x2805d: 0x6d23d820, 0x2805e: 0x6ce9b820,\n\t0x28061: 0x6c17c220,\n\t0x28065: 0x6c5c4420, 0x28066: 0x6cba2620,\n\t0x28068: 0x6cf01a20,\n\t0x28070: 0x6d1f7420,\n\t0x2807c: 0x6c2ca020, 0x2807e: 0x6c26f620,\n\t// Block 0xa02, offset 0x28080\n\t0x28081: 0x6d1f7620, 0x28082: 0x6c702620, 0x28083: 0x6ce9bc20,\n\t0x28084: 0x6d297620, 0x28087: 0x6c5c6020,\n\t0x28089: 0x6ccc8220,\n\t0x2808c: 0x6c5e1020,\n\t0x28094: 0x6d115a20,\n\t0x28099: 0x6cfd1e20,\n\t0x2809e: 0x6cfd2020,\n\t0x280ac: 0x6c2caa20, 0x280ae: 0x6c703220,\n\t0x280b2: 0x6c5c7420,\n\t0x280b4: 0x6c77cc20, 0x280b5: 0x6d1f8420,\n\t0x280b8: 0x6c870e20,\n\t0x280bc: 0x6c201420, 0x280be: 0x6c1b6820,\n\t// Block 0xa03, offset 0x280c0\n\t0x280c0: 0x6c5e3820, 0x280c2: 0x6d1f9020,\n\t0x280c4: 0x6d270e20,\n\t0x280ce: 0x6cded820, 0x280cf: 0x6d29b420,\n\t0x280d3: 0x6ca8ac20,\n\t0x280d4: 0x6d3b4a20,\n\t0x280e1: 0x6cfc6220,\n\t0x280e9: 0x6cd22a20, 0x280eb: 0x6c79ca20,\n\t0x280ec: 0x6cb6c620, 0x280ed: 0x6ce91420, 0x280ee: 0x6c387e20, 0x280ef: 0x6c258e20,\n\t0x280f2: 0x6cea3820, 0x280f3: 0x6c137420,\n\t0x280f4: 0x6c110020, 0x280f5: 0x6cfe1420, 0x280f6: 0x6cadfc20, 0x280f7: 0x6c6e0220,\n\t0x280f8: 0x6cb56a20, 0x280f9: 0x6cceae20, 0x280fa: 0x6ca97420, 0x280fb: 0x6ca30420,\n\t0x280fd: 0x6cbd5020,\n\t// Block 0xa04, offset 0x28100\n\t0x2810d: 0x6c090c20,\n\t0x28113: 0x6c092420,\n\t0x28114: 0x6c05a220, 0x28115: 0x6c0b7620, 0x28116: 0x6d3e0220, 0x28117: 0x6ca30a20,\n\t0x28118: 0x6cf07020, 0x28119: 0x6c4fbe20,\n\t0x28121: 0x6c6c8220, 0x28123: 0x6d333c20,\n\t0x28127: 0x6cbc8220,\n\t0x2812e: 0x6c501620, 0x2812f: 0x6ce71e20,\n\t0x28130: 0x6d2a4020, 0x28131: 0x6cd15420, 0x28132: 0x6c25a420, 0x28133: 0x6c597e20,\n\t0x28134: 0x6cc78e20, 0x28135: 0x6d292e20, 0x28136: 0x6ca6f820,\n\t0x2813e: 0x6cfa8620,\n\t// Block 0xa05, offset 0x28140\n\t0x28148: 0x6cc2bc20, 0x28149: 0x6c619a20, 0x2814a: 0x6d1a3620, 0x2814b: 0x6c850620,\n\t0x2814c: 0x6c984620, 0x2814d: 0x6cceca20, 0x2814e: 0x6c4e8e20, 0x2814f: 0x6c260e20,\n\t0x28150: 0x6c759c20, 0x28151: 0x6c61bc20, 0x28152: 0x6c107820, 0x28153: 0x6c905420,\n\t0x28154: 0x6c3d2220, 0x28155: 0x6d1f0e20, 0x28156: 0x6c7b1c20,\n\t0x2815c: 0x6cfe2220,\n\t0x28161: 0x6d279420, 0x28163: 0x6cbd5e20,\n\t0x28164: 0x6c5b2c20, 0x28165: 0x6cb42e20,\n\t0x2816b: 0x6c83b220,\n\t0x2816c: 0x6cadcc20, 0x2816d: 0x6cd4c620, 0x2816e: 0x6c707620, 0x2816f: 0x6d14e020,\n\t0x28170: 0x6d32a820, 0x28171: 0x6c1d0e20, 0x28173: 0x6cf77620,\n\t0x28175: 0x6c561a20, 0x28176: 0x6cc74420,\n\t// Block 0xa06, offset 0x28180\n\t0x2818c: 0x6c590c20, 0x2818d: 0x6cbc3c20, 0x2818e: 0x6d33d020, 0x2818f: 0x6d1c6c20,\n\t0x28190: 0x6cf7e220, 0x28191: 0x6cbb7620, 0x28192: 0x6c61fa20, 0x28193: 0x6d32bc20,\n\t0x28194: 0x6c59b420, 0x28196: 0x6d210a20, 0x28197: 0x6d405a20,\n\t0x28198: 0x6c99f420,\n\t0x2819c: 0x6cd13220,\n\t0x281a9: 0x6cc2e620,\n\t0x281b0: 0x6c676020, 0x281b1: 0x6c512020, 0x281b3: 0x6ce75220,\n\t0x281b4: 0x6c513020, 0x281b5: 0x6cf15220, 0x281b6: 0x6d17cc20, 0x281b7: 0x6cacfe20,\n\t0x281ba: 0x6cf22620, 0x281bb: 0x6cb99820,\n\t0x281bc: 0x6c862020, 0x281bd: 0x6d150a20, 0x281be: 0x6c20ac20, 0x281bf: 0x6d06e820,\n\t// Block 0xa07, offset 0x281c0\n\t0x281c0: 0x6cefd020,\n\t0x281c6: 0x6c439420,\n\t0x281c8: 0x6d226220, 0x281cb: 0x6d2d4420,\n\t0x281cc: 0x6c41a220, 0x281cd: 0x6cb8f620, 0x281ce: 0x6c773220, 0x281cf: 0x6c840220,\n\t0x281d0: 0x6cd00220, 0x281d1: 0x6c499220, 0x281d3: 0x6cb17c20,\n\t0x281d6: 0x6c840420,\n\t0x281d8: 0x6c562620, 0x281db: 0x6ce8ce20,\n\t0x281dc: 0x6cd75620, 0x281de: 0x6c56aa20, 0x281df: 0x6c840620,\n\t0x281e2: 0x6c910a20,\n\t0x281e6: 0x6c297020,\n\t0x281e8: 0x6d42a420, 0x281e9: 0x6cccf620, 0x281eb: 0x6ccf6e20,\n\t0x281ed: 0x6c3cb620, 0x281ee: 0x6c726e20, 0x281ef: 0x6ce76e20,\n\t0x281f0: 0x6c691a20, 0x281f1: 0x6cbbe620, 0x281f2: 0x6c42d420, 0x281f3: 0x6d3e7020,\n\t0x281f4: 0x6c59e620, 0x281f5: 0x6ccd0620,\n\t0x281f8: 0x6cdff620,\n\t// Block 0xa08, offset 0x28200\n\t0x2820c: 0x6ceaca20, 0x2820e: 0x6c8e2220,\n\t0x28210: 0x6c1a2e20, 0x28211: 0x6cf27020, 0x28212: 0x6d425020, 0x28213: 0x6d23da20,\n\t0x28215: 0x6d3a2220, 0x28217: 0x6cc45420,\n\t0x28218: 0x6cf80a20, 0x28219: 0x6cc1b620, 0x2821b: 0x6c442820,\n\t0x28222: 0x6cb52a20, 0x28223: 0x6d05e020,\n\t0x28228: 0x6c415220, 0x28229: 0x6cc3f820, 0x2822a: 0x6c1ddc20, 0x2822b: 0x6c9b4e20,\n\t0x28232: 0x6cd02020, 0x28233: 0x6cc1c820,\n\t0x28236: 0x6cbbb420, 0x28237: 0x6c11b420,\n\t0x2823a: 0x6c86b020,\n\t0x2823c: 0x6ceda220, 0x2823d: 0x6c826620, 0x2823e: 0x6d03a820, 0x2823f: 0x6c80ea20,\n\t// Block 0xa09, offset 0x28240\n\t0x28242: 0x6cd3ec20, 0x28243: 0x6d330020,\n\t0x28244: 0x6c38ce20,\n\t0x2824a: 0x6d371c20,\n\t0x2824f: 0x6d1aa420,\n\t0x28251: 0x6c86de20,\n\t0x28256: 0x6ca08820, 0x28257: 0x6cf04020,\n\t0x28259: 0x6d1c1020, 0x2825a: 0x6cc4e420,\n\t0x28260: 0x6cc2a820,\n\t0x28265: 0x6c95ce20,\n\t0x28272: 0x6c275820,\n\t0x28274: 0x6d1b4e20, 0x28275: 0x6c08da20, 0x28276: 0x6c438820,\n\t0x28278: 0x6cf20a20, 0x28279: 0x6d0d7620, 0x2827a: 0x6c9e1e20,\n\t0x2827c: 0x6c42a020, 0x2827d: 0x6cc05620, 0x2827e: 0x6d33da20,\n\t// Block 0xa0a, offset 0x28280\n\t0x2828b: 0x6c471c20,\n\t0x2828c: 0x6ce75420, 0x2828e: 0x6c8d1420, 0x2828f: 0x6ce33620,\n\t0x28290: 0x6c224c20, 0x28291: 0x6d150c20, 0x28292: 0x6c395a20, 0x28293: 0x6cb31220,\n\t0x28294: 0x6c09b820, 0x28296: 0x6c064e20,\n\t0x2829f: 0x6cae7620,\n\t0x282a1: 0x6cdb8420,\n\t0x282a4: 0x6cd92820, 0x282a5: 0x6cef1a20, 0x282a6: 0x6cff9220,\n\t0x282ac: 0x6c504c20, 0x282ad: 0x6d0dac20,\n\t0x282b6: 0x6d152620, 0x282b7: 0x6d2a1e20,\n\t0x282b8: 0x6d1d0020, 0x282b9: 0x6ca43220,\n\t0x282bf: 0x6d289620,\n\t// Block 0xa0b, offset 0x282c0\n\t0x282c1: 0x6ce50c20, 0x282c2: 0x6cf68a20, 0x282c3: 0x6c69b420,\n\t0x282c4: 0x6d0cbc20,\n\t0x282cc: 0x6ca55e20, 0x282cd: 0x6ce07020, 0x282ce: 0x6d0eaa20, 0x282cf: 0x6ce51a20,\n\t0x282d0: 0x6d36ce20, 0x282d1: 0x6c1d7a20, 0x282d2: 0x6ce23a20,\n\t0x282d7: 0x6d2cdc20,\n\t0x282de: 0x6c9e3a20,\n\t0x282e1: 0x6cf47020, 0x282e2: 0x6d1b0220, 0x282e3: 0x6d0eac20,\n\t0x282e4: 0x6c81ba20,\n\t0x282e9: 0x6cb31e20, 0x282eb: 0x6c5d4620,\n\t0x282ec: 0x6c4d4620, 0x282ed: 0x6ca21a20, 0x282ee: 0x6c236020,\n\t0x282f1: 0x6c7aae20, 0x282f2: 0x6c1d8420,\n\t0x282f4: 0x6d1ff020,\n\t0x282f8: 0x6d3da020, 0x282fb: 0x6cd9e420,\n\t// Block 0xa0c, offset 0x28300\n\t0x28302: 0x6d1b7e20,\n\t0x28305: 0x6d41da20, 0x28306: 0x6cca7420, 0x28307: 0x6c8f4a20,\n\t0x28308: 0x6c4f2020, 0x28309: 0x6cf0ec20, 0x2830a: 0x6c9b6020, 0x2830b: 0x6c55d020,\n\t0x2830c: 0x6c86b220, 0x2830e: 0x6c9d9c20,\n\t0x28310: 0x6c054020, 0x28311: 0x6c65f020,\n\t0x2831c: 0x6cc40620,\n\t0x28320: 0x6c9b6220, 0x28322: 0x6ca21c20, 0x28323: 0x6c53ac20,\n\t0x28324: 0x6c56d820, 0x28325: 0x6c9c8e20, 0x28326: 0x6ccca820,\n\t0x28329: 0x6cce2620, 0x2832a: 0x6c17c620,\n\t0x2832c: 0x6d3dc220, 0x2832e: 0x6d342220, 0x2832f: 0x6ca77020,\n\t0x28335: 0x6c62b220,\n\t0x28338: 0x6c784020, 0x28339: 0x6d330620,\n\t0x2833f: 0x6c281420,\n\t// Block 0xa0d, offset 0x28340\n\t0x28340: 0x6c8a8220, 0x28341: 0x6d2e3020, 0x28342: 0x6c460620, 0x28343: 0x6c818c20,\n\t0x28344: 0x6c571e20, 0x28345: 0x6c1fd220, 0x28347: 0x6c660c20,\n\t0x28348: 0x6c7d3220,\n\t0x2834d: 0x6ccf0220,\n\t0x28354: 0x6c191c20, 0x28355: 0x6ce08820, 0x28357: 0x6c55f820,\n\t0x28358: 0x6c9b9e20, 0x28359: 0x6cada420, 0x2835a: 0x6d2e3820, 0x2835b: 0x6c16d620,\n\t0x2835d: 0x6c41f820,\n\t0x28360: 0x6d193a20, 0x28362: 0x6cdcb620,\n\t0x28366: 0x6d076420, 0x28367: 0x6c62de20,\n\t0x28368: 0x6c808e20,\n\t0x2836c: 0x6d159620, 0x2836f: 0x6c9dae20,\n\t0x28371: 0x6c9f1420,\n\t0x28375: 0x6c24a620,\n\t0x28378: 0x6c805a20, 0x2837b: 0x6d0c4e20,\n\t0x2837e: 0x6c9ccc20,\n\t// Block 0xa0e, offset 0x28380\n\t0x28382: 0x6d1e6820, 0x28383: 0x6c125420,\n\t0x28384: 0x6c664420, 0x28387: 0x6cda0a20,\n\t0x2838e: 0x6d0d2a20,\n\t0x28391: 0x6c736020,\n\t0x28395: 0x6c369c20,\n\t0x28398: 0x6c3bf220, 0x2839a: 0x6c3bf620,\n\t0x283a1: 0x6c4a2a20, 0x283a2: 0x6c96fc20,\n\t0x283a4: 0x6c8ab820,\n\t0x283a9: 0x6c1cca20, 0x283ab: 0x6c840820,\n\t0x283b1: 0x6d349c20,\n\t0x283b4: 0x6d024820, 0x283b7: 0x6c1dfc20,\n\t0x283b9: 0x6c60fc20,\n\t0x283bd: 0x6caf5c20,\n\t// Block 0xa0f, offset 0x283c0\n\t0x283c2: 0x6c6abe20,\n\t0x283c7: 0x6d38e420,\n\t0x283cd: 0x6d046c20,\n\t0x283d1: 0x6c7bfc20,\n\t0x283d9: 0x6c6e2220, 0x283db: 0x6c56a020,\n\t0x283de: 0x6cb99c20,\n\t0x283e3: 0x6c133220,\n\t0x283e6: 0x6cb60420, 0x283e7: 0x6ced3220,\n\t0x283e8: 0x6c98ec20, 0x283ea: 0x6c30f020,\n\t0x283f4: 0x6c79d220, 0x283f6: 0x6c277c20,\n\t0x283f8: 0x6ca4b420, 0x283fa: 0x6c536a20,\n\t// Block 0xa10, offset 0x28400\n\t0x28402: 0x6c7f4020, 0x28403: 0x6c34aa20,\n\t0x28404: 0x6cb91020, 0x28406: 0x6d1a8820,\n\t0x28416: 0x6c911220, 0x28417: 0x6c5ae020,\n\t0x2841b: 0x6c402e20,\n\t0x2841c: 0x6c98f420, 0x2841e: 0x6d389a20,\n\t0x28421: 0x6d1dfa20,\n\t0x2842d: 0x6c817020, 0x2842e: 0x6c609c20, 0x2842f: 0x6d186a20,\n\t0x28430: 0x6c8e8c20, 0x28431: 0x6c235220, 0x28433: 0x6ca43c20,\n\t// Block 0xa11, offset 0x28440\n\t0x28450: 0x6cea2620, 0x28451: 0x6cfe5220,\n\t0x28455: 0x6c0bba20, 0x28456: 0x6c207820, 0x28457: 0x6cf52020,\n\t0x28459: 0x6c70c620,\n\t0x28465: 0x6d005220, 0x28466: 0x6caf9220, 0x28467: 0x6d3da220,\n\t0x28468: 0x6cc8e420, 0x2846a: 0x6ccafa20, 0x2846b: 0x6d3f6220,\n\t0x2846d: 0x6d336220,\n\t0x28470: 0x6d40da20, 0x28471: 0x6cc14220, 0x28473: 0x6c1c7a20,\n\t0x28475: 0x6d36f020,\n\t// Block 0xa12, offset 0x28480\n\t0x28497: 0x6cc37a20,\n\t0x28498: 0x6cb92020, 0x28499: 0x6d0afc20, 0x2849a: 0x6c17c420, 0x2849b: 0x6c517c20,\n\t0x2849c: 0x6cc80420,\n\t0x284a0: 0x6c70cc20, 0x284a1: 0x6cf52820,\n\t0x284ac: 0x6c1c7c20, 0x284ad: 0x6c7c0420, 0x284af: 0x6c240020,\n\t0x284b0: 0x6cc89220, 0x284b1: 0x6c7e1e20, 0x284b2: 0x6c1b5e20, 0x284b3: 0x6d40e420,\n\t0x284b4: 0x6c688620, 0x284b6: 0x6d21c420, 0x284b7: 0x6ce8fe20,\n\t0x284b8: 0x6c9b6420, 0x284b9: 0x6c266c20, 0x284ba: 0x6cd7a020,\n\t// Block 0xa13, offset 0x284c0\n\t0x284e5: 0x6c3c6c20, 0x284e6: 0x6c469020, 0x284e7: 0x6c301c20,\n\t0x284e8: 0x6c142220, 0x284e9: 0x6c99be20, 0x284ea: 0x6c15e820, 0x284eb: 0x6c0b1020,\n\t0x284ec: 0x6d241e20, 0x284ef: 0x6cecea20,\n\t0x284f0: 0x6d40e620, 0x284f2: 0x6d3ea420,\n\t0x284f4: 0x6c1fec20, 0x284f5: 0x6ced5620, 0x284f6: 0x6cebf420,\n\t0x284f8: 0x6cc2a620, 0x284fb: 0x6ced5820,\n\t0x284fd: 0x6cfa5020,\n\t// Block 0xa14, offset 0x28500\n\t0x28504: 0x6d1d5620, 0x28505: 0x6c66e820,\n\t0x28508: 0x6cf04220, 0x28509: 0x6ce39a20, 0x2850a: 0x6ccaca20,\n\t0x2850c: 0x6cb67a20, 0x2850d: 0x6ccc2020, 0x2850e: 0x6d244220, 0x2850f: 0x6c60e220,\n\t0x28510: 0x6c314420, 0x28511: 0x6c15f620, 0x28512: 0x6ce96c20,\n\t0x28515: 0x6c8ec420, 0x28517: 0x6d3cba20,\n\t0x28533: 0x6cc89420,\n\t0x28536: 0x6d0eda20, 0x28537: 0x6c47ea20,\n\t0x28539: 0x6c86e220, 0x2853a: 0x6c13ba20,\n\t0x2853e: 0x6c2cac20,\n\t// Block 0xa15, offset 0x28540\n\t0x28540: 0x6d2e2a20, 0x28541: 0x6cb32220,\n\t0x28552: 0x6c912620,\n\t0x28554: 0x6d374c20,\n\t// Block 0xa16, offset 0x28580\n\t0x28581: 0x6c888a20,\n\t0x28585: 0x6c95ca20,\n\t0x2858d: 0x6c352420,\n\t0x28590: 0x6c750820, 0x28591: 0x6c873420, 0x28592: 0x6c7ff220,\n\t0x28594: 0x6cc89620, 0x28595: 0x6c474220, 0x28596: 0x6c155c20, 0x28597: 0x6d060620,\n\t0x2859a: 0x6d356420,\n\t// Block 0xa17, offset 0x285c0\n\t0x285c1: 0x6d097c20, 0x285c2: 0x6c0e9c20, 0x285c3: 0x6c19aa20,\n\t0x285c5: 0x6d3b4220, 0x285c6: 0x6c522a20,\n\t0x285c9: 0x6c04ac20,\n\t0x285d3: 0x6c2f0820,\n\t0x285d6: 0x6d2e3a20, 0x285d7: 0x6c4ca620,\n\t0x285da: 0x6c0c5420, 0x285db: 0x6c7ec620,\n\t0x285fa: 0x6c6c7620,\n\t// Block 0xa18, offset 0x28600\n\t0x28602: 0x6c411c20,\n\t0x28612: 0x6c9c1e20,\n\t0x28614: 0x6d247e20,\n\t0x2862a: 0x6cf82a20,\n\t0x2862c: 0x6cb17820, 0x2862d: 0x6cd85020,\n\t0x28634: 0x6c2b0020,\n\t0x28638: 0x6c219e20, 0x28639: 0x6c2bbe20, 0x2863a: 0x6c5fa820, 0x2863b: 0x6c157620,\n\t0x2863f: 0x6d3dea20,\n\t// Block 0xa19, offset 0x28640\n\t0x28653: 0x6c115220,\n\t0x2865e: 0x6c681620,\n\t0x28672: 0x6ce80220,\n\t0x2867d: 0x6c84e820,\n\t// Block 0xa1a, offset 0x28680\n\t0x28682: 0x6cba9020,\n\t0x28686: 0x6c21a020,\n\t0x2868f: 0x6cdef820,\n\t0x28691: 0x6c2e5220, 0x28693: 0x6c664820,\n\t0x2869b: 0x6d356820,\n\t0x2869c: 0x6c753220, 0x2869e: 0x6ca0a420,\n\t0x286a0: 0x6c959620,\n\t0x286a6: 0x6c062420,\n\t0x286ad: 0x6d415e20,\n\t0x286b5: 0x6d300820,\n\t0x286b8: 0x6d220c20, 0x286bb: 0x6c062a20,\n\t0x286be: 0x6c969420, 0x286bf: 0x6cf85020,\n\t// Block 0xa1b, offset 0x286c0\n\t0x286c0: 0x6c567c20, 0x286c1: 0x6d171220, 0x286c2: 0x6c355020, 0x286c3: 0x6c470220,\n\t0x286c4: 0x6ce89e20, 0x286c5: 0x6d314a20, 0x286c7: 0x6cc07220,\n\t0x286c8: 0x6cdaba20, 0x286c9: 0x6c89c620, 0x286ca: 0x6cc11a20, 0x286cb: 0x6c8d2620,\n\t0x286cc: 0x6c499420, 0x286cd: 0x6c80e420, 0x286ce: 0x6ce7dc20, 0x286cf: 0x6c266620,\n\t0x286d0: 0x6c911e20, 0x286d1: 0x6c5a1220, 0x286d2: 0x6cd47e20, 0x286d3: 0x6c688820,\n\t0x286d4: 0x6d41f620, 0x286d5: 0x6c411a20, 0x286d6: 0x6cef5220,\n\t0x286d9: 0x6c7d4e20, 0x286da: 0x6c32bc20, 0x286db: 0x6cd92020,\n\t0x286dc: 0x6cb5e020, 0x286dd: 0x6d101a20,\n\t0x286e1: 0x6cd37820, 0x286e3: 0x6c411420,\n\t0x286e6: 0x6c2a1a20, 0x286e7: 0x6d11b220,\n\t0x286eb: 0x6cb99e20,\n\t0x286ed: 0x6cce7220, 0x286ee: 0x6c16ae20, 0x286ef: 0x6ca05020,\n\t0x286f1: 0x6ca05a20,\n\t0x286f5: 0x6ca50620,\n\t0x286f8: 0x6c232220, 0x286fa: 0x6ca84e20, 0x286fb: 0x6d2f6a20,\n\t0x286fc: 0x6c133420, 0x286ff: 0x6cd92a20,\n\t// Block 0xa1c, offset 0x28700\n\t0x28700: 0x6ca85820, 0x28701: 0x6c22dc20,\n\t0x28704: 0x6c75de20, 0x28706: 0x6cce7e20,\n\t0x28708: 0x6d3a2420, 0x28709: 0x6c34b020, 0x2870a: 0x6c01ce20, 0x2870b: 0x6c088c20,\n\t0x2870e: 0x6ce41820,\n\t0x28710: 0x6cb06a20, 0x28711: 0x6cf9ee20, 0x28712: 0x6cc09420, 0x28713: 0x6cd14e20,\n\t0x28717: 0x6ce0d820,\n\t0x2871b: 0x6c978420,\n\t0x2871c: 0x6cb10420, 0x2871e: 0x6ce43420, 0x2871f: 0x6cc6cc20,\n\t0x28727: 0x6c237220,\n\t0x2872a: 0x6c5f7a20, 0x2872b: 0x6c3cc020,\n\t0x2872c: 0x6cf53c20, 0x2872d: 0x6c69d620, 0x2872e: 0x6c818e20, 0x2872f: 0x6d2ba620,\n\t0x28730: 0x6caeee20, 0x28731: 0x6c11e420, 0x28733: 0x6ca9de20,\n\t0x28735: 0x6c160c20,\n\t0x2873e: 0x6c97a420, 0x2873f: 0x6c4ba820,\n\t// Block 0xa1d, offset 0x28740\n\t0x28740: 0x6ca7d820, 0x28741: 0x6c1d0220, 0x28742: 0x6c165820,\n\t0x28746: 0x6ca48a20,\n\t0x28749: 0x6cf95c20, 0x2874a: 0x6c6f6620, 0x2874b: 0x6c613020,\n\t0x2874c: 0x6d323420,\n\t0x28751: 0x6ce6ca20,\n\t0x28754: 0x6c9ace20, 0x28755: 0x6d26b220, 0x28757: 0x6d37bc20,\n\t0x28758: 0x6cea5620, 0x28759: 0x6cc8d220, 0x2875a: 0x6d01ba20, 0x2875b: 0x6cf63420,\n\t0x2875d: 0x6ce6d220, 0x2875e: 0x6ca99820,\n\t0x28760: 0x6cee2820, 0x28761: 0x6c64ae20, 0x28763: 0x6c3b3420,\n\t0x28772: 0x6c0ba620,\n\t0x28777: 0x6d152820,\n\t0x2877a: 0x6c2ec420, 0x2877b: 0x6c5ef820,\n\t0x2877c: 0x6c41de20, 0x2877f: 0x6c64c420,\n\t// Block 0xa1e, offset 0x28780\n\t0x28780: 0x6c6ee220,\n\t0x28786: 0x6c763820,\n\t0x2878a: 0x6cc3d620,\n\t0x2878c: 0x6ca40420, 0x2878d: 0x6ca1de20, 0x2878e: 0x6d072220, 0x2878f: 0x6cd96a20,\n\t0x28790: 0x6cd0c020, 0x28791: 0x6c7bac20, 0x28792: 0x6cc3e620, 0x28793: 0x6cef2820,\n\t0x28797: 0x6c2eda20,\n\t0x28798: 0x6ca40a20, 0x2879a: 0x6cc92a20, 0x2879b: 0x6c45a220,\n\t0x2879c: 0x6c313220, 0x2879e: 0x6ca73020,\n\t0x287a1: 0x6c175020, 0x287a2: 0x6c515e20, 0x287a3: 0x6d0e9e20,\n\t0x287a9: 0x6ce8f020, 0x287aa: 0x6c104420,\n\t0x287ac: 0x6c559e20, 0x287ad: 0x6d1e5820, 0x287af: 0x6cd2d620,\n\t0x287b0: 0x6c1f7220,\n\t0x287b9: 0x6cff0e20, 0x287ba: 0x6c9ad620, 0x287bb: 0x6c852a20,\n\t0x287bc: 0x6ce37220, 0x287be: 0x6c64e620,\n\t// Block 0xa1f, offset 0x287c0\n\t0x287c2: 0x6d354e20, 0x287c3: 0x6c487220,\n\t0x287c4: 0x6c496220, 0x287c6: 0x6cb7cc20,\n\t0x287c8: 0x6c3a1820, 0x287c9: 0x6d229820, 0x287ca: 0x6d309620, 0x287cb: 0x6cf01c20,\n\t0x287cc: 0x6c35ba20, 0x287cd: 0x6c14da20, 0x287ce: 0x6cf6e020,\n\t0x287d0: 0x6c47d420,\n\t0x287d7: 0x6cc3fa20,\n\t0x287d8: 0x6c5c4620, 0x287da: 0x6d00f620, 0x287db: 0x6d1bf420,\n\t0x287dd: 0x6cdeaa20, 0x287de: 0x6cec5820, 0x287df: 0x6c3efe20,\n\t0x287e0: 0x6c6c0820, 0x287e1: 0x6cb0bc20,\n\t0x287e5: 0x6cd15020, 0x287e6: 0x6d21c620, 0x287e7: 0x6c7ace20,\n\t0x287e9: 0x6cb0ca20, 0x287ea: 0x6d010620, 0x287eb: 0x6caaac20,\n\t0x287ec: 0x6cfd2420, 0x287ed: 0x6c66ea20, 0x287ee: 0x6d074e20,\n\t0x287f0: 0x6c0a7e20,\n\t0x287f4: 0x6ca41220, 0x287f6: 0x6c897020,\n\t0x287f8: 0x6cb13420,\n\t0x287fc: 0x6c6eb820,\n\t// Block 0xa20, offset 0x28800\n\t0x28800: 0x6cde1c20, 0x28801: 0x6d0edc20, 0x28802: 0x6c00f820,\n\t0x28805: 0x6cff3020, 0x28806: 0x6cbaf420, 0x28807: 0x6cf48620,\n\t0x28808: 0x6ce15620, 0x2880a: 0x6c75f420,\n\t0x28810: 0x6c7e2820,\n\t0x28817: 0x6c813220,\n\t0x28819: 0x6ca5b020,\n\t0x2881c: 0x6c314a20, 0x2881d: 0x6cd54620, 0x2881f: 0x6c696220,\n\t0x28820: 0x6ca89c20, 0x28822: 0x6d21dc20,\n\t0x28828: 0x6c132020, 0x2882a: 0x6c696420,\n\t0x2882c: 0x6c57d620, 0x2882d: 0x6cf1c020, 0x2882e: 0x6d127020, 0x2882f: 0x6c35a020,\n\t0x28830: 0x6c49fe20, 0x28831: 0x6c572020, 0x28832: 0x6c68a620,\n\t0x2883a: 0x6c835820,\n\t0x2883c: 0x6cce2820, 0x2883d: 0x6d1e8020, 0x2883f: 0x6c2ac220,\n\t// Block 0xa21, offset 0x28840\n\t0x28840: 0x6c493820, 0x28841: 0x6ca97220, 0x28843: 0x6cdcc020,\n\t0x28844: 0x6cfe6c20, 0x28846: 0x6cc9b420, 0x28847: 0x6c168c20,\n\t0x2884e: 0x6cc90c20,\n\t0x28850: 0x6d277020, 0x28852: 0x6c3b4c20, 0x28853: 0x6c672420,\n\t0x28854: 0x6d076a20,\n\t0x28858: 0x6cf93020, 0x28859: 0x6cd54a20,\n\t0x28865: 0x6d013220, 0x28866: 0x6c87ac20,\n\t0x28869: 0x6ce80420,\n\t0x2886c: 0x6c9d1020, 0x2886d: 0x6c162020, 0x2886e: 0x6c5d6a20,\n\t0x28871: 0x6d3bb820, 0x28872: 0x6d273420,\n\t0x2887b: 0x6c801a20,\n\t0x2887d: 0x6d0d2c20, 0x2887e: 0x6c29a820, 0x2887f: 0x6cfe1820,\n\t// Block 0xa22, offset 0x28880\n\t0x28880: 0x6d267220, 0x28881: 0x6ce6b020, 0x28882: 0x6c07d220, 0x28883: 0x6cca4620,\n\t0x28884: 0x6cfc9620, 0x28885: 0x6c2e7a20, 0x28886: 0x6cb09c20, 0x28887: 0x6cb11220,\n\t0x28889: 0x6cde0c20, 0x2888b: 0x6c687220,\n\t0x2888c: 0x6d126620, 0x2888e: 0x6d271020,\n\t0x28890: 0x6cc61420, 0x28891: 0x6cbc1820, 0x28892: 0x6cb56220, 0x28893: 0x6c2da620,\n\t0x28894: 0x6cb56420, 0x28897: 0x6c4e7e20,\n\t0x28898: 0x6d253220, 0x28899: 0x6d1ee220, 0x2889a: 0x6c5fd020, 0x2889b: 0x6c412820,\n\t0x2889c: 0x6c4d0620, 0x2889d: 0x6cd30420, 0x2889f: 0x6cc0c820,\n\t0x288a9: 0x6cf1fa20,\n\t0x288ac: 0x6d321620, 0x288ad: 0x6cb2f220, 0x288ae: 0x6d0c5e20, 0x288af: 0x6c46e820,\n\t0x288b0: 0x6c720420, 0x288b1: 0x6ce52e20,\n\t0x288b7: 0x6c35d820,\n\t0x288ba: 0x6d0ace20, 0x288bb: 0x6c8c4620,\n\t0x288bc: 0x6c092620,\n\t// Block 0xa23, offset 0x288c0\n\t0x288c0: 0x6d3eea20, 0x288c1: 0x6c530820, 0x288c3: 0x6c347420,\n\t0x288c5: 0x6c333c20, 0x288c6: 0x6d087220,\n\t0x288c8: 0x6ccd3020, 0x288ca: 0x6ccd3220, 0x288cb: 0x6d10d220,\n\t0x288cc: 0x6cc4b020,\n\t0x288d4: 0x6ceaf820, 0x288d7: 0x6c0dac20,\n\t0x288d8: 0x6d069e20, 0x288d9: 0x6cea1a20, 0x288da: 0x6c19d220,\n\t0x288dc: 0x6c30fe20, 0x288dd: 0x6d171420,\n\t0x288e1: 0x6c180820,\n\t0x288f5: 0x6c731a20, 0x288f6: 0x6c5eae20,\n\t0x288f8: 0x6d2fae20, 0x288f9: 0x6c07de20, 0x288fb: 0x6ce4e220,\n\t// Block 0xa24, offset 0x28900\n\t0x28900: 0x6cae6420,\n\t0x28905: 0x6c3fda20,\n\t0x28916: 0x6ceb7620,\n\t0x28918: 0x6cfb3e20, 0x28919: 0x6ca69420, 0x2891a: 0x6c8f8620,\n\t0x2891d: 0x6d3d4220, 0x2891f: 0x6d32c020,\n\t0x28920: 0x6cd74820, 0x28921: 0x6d3f7c20, 0x28922: 0x6c3c4620, 0x28923: 0x6c32be20,\n\t0x28924: 0x6cb09420, 0x28925: 0x6d0d7820, 0x28926: 0x6cda1620, 0x28927: 0x6cc05820,\n\t0x28928: 0x6c362220, 0x28929: 0x6cb98e20, 0x2892b: 0x6cba0620,\n\t0x2892d: 0x6c10d420, 0x2892e: 0x6d0a8a20,\n\t0x28935: 0x6d3c8220,\n\t0x28938: 0x6c993a20, 0x28939: 0x6c68ee20,\n\t0x2893f: 0x6d2dea20,\n\t// Block 0xa25, offset 0x28940\n\t0x28940: 0x6caffa20, 0x28941: 0x6cf63620, 0x28942: 0x6d0e7c20, 0x28943: 0x6c3ab420,\n\t0x28944: 0x6ca83620, 0x28946: 0x6d364620,\n\t0x28948: 0x6cdd6a20, 0x2894a: 0x6d17d020,\n\t0x2894c: 0x6c82c620, 0x2894d: 0x6d06ea20, 0x2894f: 0x6d17d220,\n\t0x28952: 0x6cee9620,\n\t0x28955: 0x6c5ede20, 0x28956: 0x6c186e20, 0x28957: 0x6c2eba20,\n\t0x28963: 0x6d257020,\n\t0x28965: 0x6cf78020, 0x28967: 0x6c8e6220,\n\t0x28968: 0x6cdd6c20,\n\t0x28971: 0x6c07fc20, 0x28972: 0x6cfa4020, 0x28973: 0x6d0e8c20,\n\t0x28975: 0x6c24d020, 0x28977: 0x6c773420,\n\t0x2897a: 0x6cbe4e20, 0x2897b: 0x6c909a20,\n\t0x2897c: 0x6c087e20,\n\t// Block 0xa26, offset 0x28980\n\t0x28988: 0x6d2e6a20, 0x28989: 0x6c24ae20, 0x2898a: 0x6cf3e220, 0x2898b: 0x6d05c020,\n\t0x2898c: 0x6c187e20, 0x2898d: 0x6c4fd820, 0x2898e: 0x6c748820,\n\t0x28990: 0x6c192e20, 0x28991: 0x6c13fa20, 0x28992: 0x6c15ce20, 0x28993: 0x6d348820,\n\t0x28994: 0x6d0a2a20,\n\t0x289a3: 0x6c441a20,\n\t0x289a4: 0x6c18e220, 0x289a5: 0x6d132020,\n\t0x289aa: 0x6c1ee820, 0x289ab: 0x6cc1b820,\n\t0x289ac: 0x6d020620, 0x289ae: 0x6d2e7c20, 0x289af: 0x6c790820,\n\t0x289b1: 0x6c74ae20,\n\t0x289bd: 0x6cc1ba20, 0x289bf: 0x6c9b5020,\n\t// Block 0xa27, offset 0x289c0\n\t0x289c0: 0x6d134e20, 0x289c1: 0x6d406620, 0x289c2: 0x6cb45620,\n\t0x289c4: 0x6cd3e420,\n\t0x289c9: 0x6cd57220, 0x289ca: 0x6c152a20,\n\t0x289cd: 0x6c31c420, 0x289cf: 0x6c4c4a20,\n\t0x289d0: 0x6c92fe20, 0x289d1: 0x6d0c3820,\n\t0x289d6: 0x6ca7ba20, 0x289d7: 0x6c0d6620,\n\t0x289df: 0x6ce9cc20,\n\t0x289e6: 0x6ca6dc20, 0x289e7: 0x6c584220,\n\t0x289e8: 0x6cb9de20,\n\t0x289ef: 0x6cfa6020,\n\t0x289f2: 0x6c8dc620,\n\t0x289f7: 0x6c882820,\n\t0x289f9: 0x6d186e20, 0x289fb: 0x6c866620,\n\t0x289fc: 0x6cd8f020, 0x289ff: 0x6c279a20,\n\t// Block 0xa28, offset 0x28a00\n\t0x28a02: 0x6cf11620,\n\t0x28a05: 0x6c22c020,\n\t0x28a09: 0x6c6fbe20, 0x28a0a: 0x6c534420,\n\t0x28a0c: 0x6d210e20, 0x28a0e: 0x6c7c6e20,\n\t0x28a12: 0x6c4f8020, 0x28a13: 0x6c439620,\n\t0x28a14: 0x6c39e620, 0x28a17: 0x6c7c8020,\n\t0x28a1a: 0x6c4a6c20, 0x28a1b: 0x6c1bb020,\n\t0x28a1e: 0x6c6fc220,\n\t0x28a21: 0x6cdbce20,\n\t0x28a24: 0x6c2ec620,\n\t0x28a2c: 0x6cdc0c20,\n\t0x28a30: 0x6cbd8620,\n\t0x28a34: 0x6c4a8020,\n\t0x28a3b: 0x6d3c6620,\n\t0x28a3e: 0x6ce5de20,\n\t// Block 0xa29, offset 0x28a40\n\t0x28a41: 0x6d26d820,\n\t0x28a47: 0x6d419220,\n\t0x28a4f: 0x6cf3e820,\n\t0x28a50: 0x6c250820,\n\t0x28a5b: 0x6d36d220,\n\t0x28a60: 0x6cd72e20, 0x28a62: 0x6c301420,\n\t0x28a6d: 0x6cef3c20,\n\t0x28a7f: 0x6c1d4220,\n\t// Block 0xa2a, offset 0x28a80\n\t0x28a8b: 0x6cc8f420,\n\t0x28a96: 0x6c60d420,\n\t0x28a9c: 0x6c2de820, 0x28a9e: 0x6c124020,\n\t0x28aa0: 0x6c7a0c20, 0x28aa3: 0x6cef5420,\n\t0x28aa7: 0x6c11bc20,\n\t0x28aaa: 0x6c968020, 0x28aab: 0x6caba820,\n\t0x28ab2: 0x6cca3820,\n\t0x28ab6: 0x6cef6620,\n\t0x28abc: 0x6cca3e20, 0x28abf: 0x6c6c7020,\n\t// Block 0xa2b, offset 0x28ac0\n\t0x28acc: 0x6cef6e20,\n\t0x28ade: 0x6c115420, 0x28adf: 0x6c84d020,\n\t0x28aef: 0x6d273a20,\n\t0x28af4: 0x6d277220, 0x28af7: 0x6c196420,\n\t0x28afa: 0x6ccce420,\n\t// Block 0xa2c, offset 0x28b00\n\t0x28b02: 0x6c54d620, 0x28b03: 0x6ccc9e20,\n\t0x28b04: 0x6cea5820, 0x28b06: 0x6c3d3020,\n\t0x28b08: 0x6cbe1820, 0x28b09: 0x6d05ac20,\n\t0x28b0d: 0x6c1fe620, 0x28b0e: 0x6c400420,\n\t0x28b12: 0x6d181220, 0x28b13: 0x6c300c20,\n\t0x28b14: 0x6c3eb420, 0x28b15: 0x6c3eb620, 0x28b16: 0x6d2ad620, 0x28b17: 0x6cb4ae20,\n\t0x28b19: 0x6c8d2c20,\n\t0x28b1d: 0x6ccca020, 0x28b1e: 0x6cad9420,\n\t0x28b22: 0x6d1a8a20, 0x28b23: 0x6c961e20,\n\t0x28b24: 0x6c57b620, 0x28b25: 0x6d1b6e20, 0x28b26: 0x6c084a20, 0x28b27: 0x6d209820,\n\t0x28b28: 0x6ccf7020, 0x28b2a: 0x6d01f220, 0x28b2b: 0x6c1ee620,\n\t0x28b34: 0x6ccf7220, 0x28b35: 0x6c2d7220,\n\t0x28b39: 0x6d187020, 0x28b3b: 0x6c183a20,\n\t0x28b3c: 0x6c451c20, 0x28b3d: 0x6c8fa820, 0x28b3e: 0x6cb2ca20, 0x28b3f: 0x6d280220,\n\t// Block 0xa2d, offset 0x28b40\n\t0x28b40: 0x6d0eae20, 0x28b41: 0x6ca15a20, 0x28b43: 0x6cdbd820,\n\t0x28b4b: 0x6c6ea420,\n\t0x28b4d: 0x6cd99c20, 0x28b4e: 0x6cad0c20,\n\t0x28b50: 0x6d0b3820, 0x28b51: 0x6ccb5020, 0x28b52: 0x6c34b820,\n\t0x28b55: 0x6c207a20, 0x28b56: 0x6d022420,\n\t0x28b58: 0x6ce95a20, 0x28b59: 0x6c45b420, 0x28b5a: 0x6d08b620,\n\t0x28b5c: 0x6c7e4e20, 0x28b5e: 0x6c8d5e20,\n\t0x28b60: 0x6c279020, 0x28b61: 0x6d2c5220,\n\t0x28b6c: 0x6d1a0a20, 0x28b6d: 0x6cd93c20, 0x28b6f: 0x6d229a20,\n\t0x28b70: 0x6ceb4c20, 0x28b71: 0x6ceb4e20,\n\t0x28b74: 0x6c03c420, 0x28b75: 0x6cc4d620, 0x28b76: 0x6c0f8420, 0x28b77: 0x6c279c20,\n\t0x28b79: 0x6d2c5a20, 0x28b7a: 0x6c543a20,\n\t0x28b7e: 0x6c5b7820,\n\t// Block 0xa2e, offset 0x28b80\n\t0x28b85: 0x6c916020,\n\t0x28b8a: 0x6c8e2820, 0x28b8b: 0x6cc7d620,\n\t0x28b95: 0x6c28d220, 0x28b96: 0x6c9b6620, 0x28b97: 0x6cfa5820,\n\t0x28b98: 0x6cf26220, 0x28b99: 0x6c4e4620, 0x28b9a: 0x6d3eb020, 0x28b9b: 0x6d327420,\n\t0x28b9c: 0x6ccb7c20, 0x28b9d: 0x6c25fa20, 0x28b9e: 0x6c86e420,\n\t0x28ba0: 0x6c2ce220, 0x28ba1: 0x6c887e20, 0x28ba2: 0x6c46e020,\n\t0x28ba6: 0x6caee020,\n\t0x28baa: 0x6d1c0a20,\n\t0x28bac: 0x6c548420, 0x28bae: 0x6c336c20, 0x28baf: 0x6cf53e20,\n\t0x28bb7: 0x6cb1be20,\n\t0x28bb8: 0x6c520020, 0x28bba: 0x6c8fb820, 0x28bbb: 0x6ca18420,\n\t0x28bbc: 0x6c3a7620, 0x28bbd: 0x6c93be20, 0x28bbe: 0x6d2b2020, 0x28bbf: 0x6c0fae20,\n\t// Block 0xa2f, offset 0x28bc0\n\t0x28bc0: 0x6c2d9620, 0x28bc1: 0x6c98aa20, 0x28bc3: 0x6d3c4e20,\n\t0x28bc4: 0x6c932220, 0x28bc5: 0x6cace820, 0x28bc6: 0x6c337c20, 0x28bc7: 0x6c10ce20,\n\t0x28bcc: 0x6c189020, 0x28bcd: 0x6c981220,\n\t0x28bd6: 0x6cf72420,\n\t0x28bdd: 0x6c019a20, 0x28bde: 0x6d37dc20,\n\t0x28be0: 0x6ca44a20, 0x28be1: 0x6cebba20, 0x28be2: 0x6c519c20,\n\t0x28be5: 0x6c338220, 0x28be6: 0x6ceca020, 0x28be7: 0x6d37de20,\n\t0x28be8: 0x6c133e20, 0x28be9: 0x6c873620, 0x28bea: 0x6cd6aa20,\n\t0x28bee: 0x6c134020,\n\t0x28bf0: 0x6cd84a20, 0x28bf2: 0x6c338420,\n\t0x28bf4: 0x6c5cdc20,\n\t0x28bfc: 0x6c654220, 0x28bfd: 0x6ca9e220, 0x28bfe: 0x6c28ea20, 0x28bff: 0x6c409820,\n\t// Block 0xa30, offset 0x28c00\n\t0x28c00: 0x6c5e4e20, 0x28c01: 0x6c5c9620, 0x28c02: 0x6c228420,\n\t0x28c04: 0x6d1e6620, 0x28c05: 0x6cc9b620, 0x28c06: 0x6ce6a420,\n\t0x28c0e: 0x6c8f5a20,\n\t0x28c11: 0x6cdb8c20, 0x28c12: 0x6c8da220, 0x28c13: 0x6c97a620,\n\t0x28c14: 0x6c2d9c20,\n\t0x28c18: 0x6cad4020, 0x28c1a: 0x6c8da420,\n\t0x28c1d: 0x6c878620, 0x28c1f: 0x6caa1020,\n\t0x28c23: 0x6c8b7820,\n\t0x28c24: 0x6ccd6220, 0x28c26: 0x6c3afe20,\n\t0x28c2b: 0x6ccd6420,\n\t0x28c2e: 0x6c8db820, 0x28c2f: 0x6d2eaa20,\n\t0x28c31: 0x6c0d7820, 0x28c32: 0x6c84dc20,\n\t0x28c35: 0x6cd86420, 0x28c36: 0x6cc4fc20, 0x28c37: 0x6c655820,\n\t0x28c38: 0x6d3df020, 0x28c3b: 0x6c8dbe20,\n\t0x28c3c: 0x6c8dc020, 0x28c3d: 0x6c9c2420, 0x28c3f: 0x6cd6c820,\n\t// Block 0xa31, offset 0x28c40\n\t0x28c44: 0x6c8dc820, 0x28c47: 0x6c5d5020,\n\t0x28c4e: 0x6c8dee20, 0x28c4f: 0x6c655e20,\n\t0x28c50: 0x6cc23a20,\n\t0x28c54: 0x6ca9ea20, 0x28c55: 0x6c6e7c20, 0x28c56: 0x6c187020,\n\t0x28c5c: 0x6d318820, 0x28c5d: 0x6cbede20, 0x28c5f: 0x6cbee220,\n\t0x28c60: 0x6c36c820, 0x28c63: 0x6ccb9420,\n\t0x28c69: 0x6c071a20, 0x28c6b: 0x6c3a0020,\n\t0x28c6e: 0x6c3ab620, 0x28c6f: 0x6c3a3820,\n\t0x28c74: 0x6c399820, 0x28c75: 0x6c7a7c20,\n\t0x28c7a: 0x6d28c620, 0x28c7b: 0x6c5c2220,\n\t0x28c7d: 0x6c3a4420,\n\t// Block 0xa32, offset 0x28c80\n\t0x28c81: 0x6c338620,\n\t0x28c86: 0x6cabca20, 0x28c87: 0x6ca99c20,\n\t0x28c88: 0x6cad2e20, 0x28c89: 0x6c289820, 0x28c8a: 0x6c27e820, 0x28c8b: 0x6c00b220,\n\t0x28c8d: 0x6ce50e20, 0x28c8e: 0x6c17a420, 0x28c8f: 0x6c02ac20,\n\t0x28c90: 0x6c9aa020, 0x28c91: 0x6ca43420,\n\t0x28c94: 0x6c0ff420, 0x28c95: 0x6d23b420, 0x28c96: 0x6cfac420, 0x28c97: 0x6c973a20,\n\t0x28c9a: 0x6cb26420,\n\t0x28c9c: 0x6c331020, 0x28c9e: 0x6c2a3020,\n\t0x28ca1: 0x6d043a20, 0x28ca2: 0x6ca6ce20, 0x28ca3: 0x6c4dba20,\n\t0x28ca4: 0x6c1f7a20, 0x28ca5: 0x6cd64a20, 0x28ca6: 0x6c97cc20,\n\t0x28cac: 0x6ceda420, 0x28cad: 0x6d18dc20, 0x28cae: 0x6c2e4820, 0x28caf: 0x6d0c3a20,\n\t0x28cb1: 0x6cf32420, 0x28cb2: 0x6cdba220,\n\t0x28cb4: 0x6c019420, 0x28cb5: 0x6c7fd420, 0x28cb6: 0x6ca43e20,\n\t0x28cb8: 0x6cc0b620, 0x28cb9: 0x6c9e6820, 0x28cba: 0x6caae420, 0x28cbb: 0x6c11c020,\n\t0x28cbc: 0x6c11e620,\n\t// Block 0xa33, offset 0x28cc0\n\t0x28cc0: 0x6c808620, 0x28cc1: 0x6ce52a20, 0x28cc2: 0x6d139220,\n\t0x28cc4: 0x6ca74e20, 0x28cc6: 0x6cd64e20,\n\t0x28ccb: 0x6c228620,\n\t0x28ccd: 0x6c663a20,\n\t0x28cd0: 0x6c424020,\n\t0x28cd4: 0x6c673220, 0x28cd5: 0x6c4caa20, 0x28cd7: 0x6d2dd620,\n\t0x28cd9: 0x6c95dc20,\n\t0x28cdc: 0x6c5ebc20, 0x28cdd: 0x6c4b5220,\n\t0x28ce1: 0x6c63d220, 0x28ce2: 0x6c614a20,\n\t0x28ce5: 0x6d08a020, 0x28ce7: 0x6c3c5a20,\n\t0x28ceb: 0x6c09ea20,\n\t0x28cec: 0x6cb60a20, 0x28cef: 0x6d258e20,\n\t0x28cf0: 0x6c021a20, 0x28cf1: 0x6c2b3820,\n\t0x28cf4: 0x6c366820, 0x28cf5: 0x6c3b7e20,\n\t0x28cf8: 0x6c727020, 0x28cf9: 0x6ca64220, 0x28cfa: 0x6ceb3c20,\n\t0x28cfc: 0x6cd00c20, 0x28cfd: 0x6c3eca20, 0x28cfe: 0x6cf9e420, 0x28cff: 0x6cc1ac20,\n\t// Block 0xa34, offset 0x28d00\n\t0x28d00: 0x6cb39a20, 0x28d01: 0x6ced4220, 0x28d02: 0x6c8d4220, 0x28d03: 0x6c96d220,\n\t0x28d04: 0x6d394020, 0x28d05: 0x6c065c20, 0x28d07: 0x6d23b620,\n\t0x28d0c: 0x6c082a20, 0x28d0d: 0x6c973c20, 0x28d0f: 0x6c637a20,\n\t0x28d11: 0x6d102e20, 0x28d13: 0x6c7ade20,\n\t0x28d14: 0x6c69c020, 0x28d16: 0x6c0df220,\n\t0x28d1a: 0x6c962420, 0x28d1b: 0x6c4b1820,\n\t0x28d1c: 0x6c351420, 0x28d1d: 0x6d36d420,\n\t0x28d21: 0x6d326020, 0x28d22: 0x6c369e20, 0x28d23: 0x6d39ca20,\n\t0x28d24: 0x6c039020,\n\t0x28d28: 0x6d326220, 0x28d29: 0x6c3c6820, 0x28d2a: 0x6c313820, 0x28d2b: 0x6ca73c20,\n\t0x28d2c: 0x6c10bc20, 0x28d2d: 0x6c336020, 0x28d2e: 0x6ccc1c20, 0x28d2f: 0x6ccb6820,\n\t0x28d30: 0x6c0a6220,\n\t0x28d34: 0x6d36f420, 0x28d35: 0x6d309820, 0x28d36: 0x6c10be20,\n\t0x28d3a: 0x6c74c420, 0x28d3b: 0x6d0aa820,\n\t0x28d3f: 0x6cf90020,\n\t// Block 0xa35, offset 0x28d40\n\t0x28d41: 0x6d3db820, 0x28d42: 0x6c045a20, 0x28d43: 0x6d115c20,\n\t0x28d44: 0x6c1e3420, 0x28d45: 0x6cdeb620, 0x28d46: 0x6cb93020,\n\t0x28d48: 0x6ca53820, 0x28d49: 0x6d242020, 0x28d4a: 0x6c36bc20, 0x28d4b: 0x6c650820,\n\t0x28d4c: 0x6d18de20, 0x28d4d: 0x6cff2a20, 0x28d4f: 0x6ca88020,\n\t0x28d52: 0x6c0db620,\n\t0x28d57: 0x6c4cd420,\n\t0x28d58: 0x6d010820, 0x28d59: 0x6c2e4a20,\n\t0x28d5c: 0x6c70d620, 0x28d5d: 0x6cdda420, 0x28d5e: 0x6c2ef420, 0x28d5f: 0x6c3f1420,\n\t0x28d60: 0x6c9e4420, 0x28d61: 0x6cd3fa20, 0x28d62: 0x6d08c420, 0x28d63: 0x6ce39c20,\n\t0x28d64: 0x6d244420, 0x28d67: 0x6d011820,\n\t0x28d68: 0x6c3f1620, 0x28d69: 0x6d373420, 0x28d6a: 0x6ca65a20, 0x28d6b: 0x6d08c620,\n\t0x28d6c: 0x6d0fe820, 0x28d6e: 0x6c3cd020, 0x28d6f: 0x6d403c20,\n\t0x28d70: 0x6d395e20, 0x28d71: 0x6d07de20,\n\t0x28d75: 0x6d39d820, 0x28d77: 0x6c7edc20,\n\t0x28d79: 0x6d1d5820, 0x28d7a: 0x6c435c20, 0x28d7b: 0x6c7e2c20,\n\t0x28d7d: 0x6c358820, 0x28d7e: 0x6cef5620, 0x28d7f: 0x6c9a3620,\n\t// Block 0xa36, offset 0x28d80\n\t0x28d83: 0x6c57fe20,\n\t0x28d84: 0x6c1e3820, 0x28d86: 0x6cddb220, 0x28d87: 0x6cdec820,\n\t0x28d88: 0x6cddb420, 0x28d89: 0x6cdeca20, 0x28d8a: 0x6d097a20,\n\t0x28d8c: 0x6c460820, 0x28d8d: 0x6c643220, 0x28d8f: 0x6c0fb020,\n\t0x28d90: 0x6cdecc20, 0x28d91: 0x6d25f620,\n\t0x28d98: 0x6cdece20,\n\t0x28d9d: 0x6c20ec20,\n\t0x28da0: 0x6d047820, 0x28da1: 0x6c519820, 0x28da2: 0x6cdd4820,\n\t0x28da7: 0x6ca18a20,\n\t0x28da8: 0x6c1d2c20, 0x28da9: 0x6cdbe420, 0x28daa: 0x6d2b2220, 0x28dab: 0x6c933220,\n\t0x28dac: 0x6d2eea20, 0x28dad: 0x6c963c20, 0x28dae: 0x6d075820, 0x28daf: 0x6c653a20,\n\t0x28db0: 0x6ccd2220, 0x28db2: 0x6d075a20,\n\t0x28dbe: 0x6c67cc20,\n\t// Block 0xa37, offset 0x28dc0\n\t0x28dc2: 0x6c067c20, 0x28dc3: 0x6c970c20,\n\t0x28dc5: 0x6ce7a020, 0x28dc6: 0x6cf92c20,\n\t0x28dc9: 0x6cc6e620, 0x28dcb: 0x6cd12a20,\n\t0x28dcc: 0x6d396c20, 0x28dce: 0x6c654420, 0x28dcf: 0x6c409a20,\n\t0x28dd0: 0x6c2afa20, 0x28dd3: 0x6d1de220,\n\t0x28dd4: 0x6c70e420, 0x28dd6: 0x6d195e20, 0x28dd7: 0x6c054820,\n\t0x28dd9: 0x6ccb9620, 0x28dda: 0x6cdcc620,\n\t0x28ddc: 0x6c346e20, 0x28ddd: 0x6d028420,\n\t0x28de1: 0x6c58c820,\n\t0x28de5: 0x6cc80c20, 0x28de6: 0x6ca66c20, 0x28de7: 0x6d397020,\n\t0x28de8: 0x6c4bac20, 0x28dea: 0x6c964820,\n\t0x28df2: 0x6d342e20, 0x28df3: 0x6d076c20,\n\t0x28df5: 0x6d343020, 0x28df7: 0x6c752a20,\n\t0x28df8: 0x6c70e820, 0x28dfb: 0x6d25da20,\n\t0x28dfc: 0x6c91a420, 0x28dff: 0x6c0fda20,\n\t// Block 0xa38, offset 0x28e00\n\t0x28e02: 0x6cc6ea20, 0x28e03: 0x6d029620,\n\t0x28e09: 0x6cf83220, 0x28e0a: 0x6c959a20,\n\t0x28e0e: 0x6c447020,\n\t0x28e11: 0x6d414620, 0x28e12: 0x6c4eca20,\n\t0x28e14: 0x6c685620, 0x28e15: 0x6cc95420, 0x28e16: 0x6cbd8a20, 0x28e17: 0x6cc43c20,\n\t0x28e18: 0x6cad6420, 0x28e19: 0x6d26da20, 0x28e1a: 0x6c182c20, 0x28e1b: 0x6c3ece20,\n\t0x28e1c: 0x6cadc020, 0x28e1f: 0x6c9aa420,\n\t0x28e22: 0x6ce1de20,\n\t0x28e24: 0x6c78f020, 0x28e25: 0x6cf8d420,\n\t0x28e2b: 0x6c351620,\n\t0x28e2d: 0x6d187220,\n\t0x28e30: 0x6cdc7e20, 0x28e32: 0x6cf9f820, 0x28e33: 0x6c730420,\n\t0x28e35: 0x6cef3e20, 0x28e37: 0x6d18ba20,\n\t0x28e39: 0x6d242220, 0x28e3b: 0x6c045c20,\n\t0x28e3c: 0x6ceb5820, 0x28e3d: 0x6cdeb820, 0x28e3e: 0x6cad6e20,\n\t// Block 0xa39, offset 0x28e40\n\t0x28e42: 0x6c0dfc20,\n\t0x28e45: 0x6d286820, 0x28e46: 0x6d286a20, 0x28e47: 0x6c32e220,\n\t0x28e48: 0x6cc88620, 0x28e49: 0x6cef5820,\n\t0x28e4f: 0x6cf05020,\n\t0x28e50: 0x6c4b9820, 0x28e52: 0x6c26d420, 0x28e53: 0x6cfa1420,\n\t0x28e56: 0x6c5d4a20, 0x28e57: 0x6c733220,\n\t0x28e58: 0x6cdbe620, 0x28e5a: 0x6cdcbc20,\n\t0x28e5d: 0x6c90d620, 0x28e5e: 0x6c046420, 0x28e5f: 0x6d246e20,\n\t0x28e60: 0x6d337420, 0x28e61: 0x6c4ba620, 0x28e63: 0x6c7c5820,\n\t0x28e64: 0x6c42f220, 0x28e65: 0x6c281620,\n\t0x28e69: 0x6cfc5a20, 0x28e6a: 0x6d2d2420, 0x28e6b: 0x6ccb9820,\n\t0x28e6d: 0x6c784620, 0x28e6e: 0x6c105020, 0x28e6f: 0x6c0fce20,\n\t0x28e72: 0x6cdcc820,\n\t0x28e74: 0x6d249420, 0x28e75: 0x6c105220, 0x28e76: 0x6c6f9220, 0x28e77: 0x6c6f9420,\n\t0x28e79: 0x6c73aa20, 0x28e7a: 0x6c754220,\n\t0x28e7c: 0x6ca31620, 0x28e7d: 0x6d2d1c20, 0x28e7e: 0x6ce1ba20, 0x28e7f: 0x6cefec20,\n\t// Block 0xa3a, offset 0x28e80\n\t0x28e80: 0x6cf9dc20, 0x28e81: 0x6d01cc20,\n\t0x28e85: 0x6cc9a620, 0x28e86: 0x6c5f6620,\n\t0x28e89: 0x6d026a20,\n\t0x28e8c: 0x6c338c20, 0x28e8d: 0x6d3f2620,\n\t0x28e98: 0x6d25ee20, 0x28e99: 0x6cbe1e20, 0x28e9a: 0x6c3ed020, 0x28e9b: 0x6caeba20,\n\t0x28e9c: 0x6cad6620, 0x28e9e: 0x6d1b7620,\n\t0x28ea0: 0x6c52c220, 0x28ea1: 0x6d40d420, 0x28ea3: 0x6c45a820,\n\t0x28ea4: 0x6c308820, 0x28ea5: 0x6c50a820, 0x28ea6: 0x6cf31020,\n\t0x28ea8: 0x6cace220, 0x28eab: 0x6cdb2820,\n\t0x28eac: 0x6c76f020, 0x28ead: 0x6ca88220, 0x28eae: 0x6c4ffa20, 0x28eaf: 0x6c3cfa20,\n\t0x28eb0: 0x6c36be20, 0x28eb1: 0x6d137620,\n\t0x28eb4: 0x6ce69820, 0x28eb5: 0x6c309420, 0x28eb6: 0x6d30ba20, 0x28eb7: 0x6cca7820,\n\t0x28ebb: 0x6ca18c20,\n\t0x28ebc: 0x6cdb6020, 0x28ebe: 0x6c823220,\n\t// Block 0xa3b, offset 0x28ec0\n\t0x28ec0: 0x6cb4a620, 0x28ec1: 0x6c35a620, 0x28ec2: 0x6d3de220, 0x28ec3: 0x6d139820,\n\t0x28ec7: 0x6cfda220,\n\t0x28ec8: 0x6c4a2c20, 0x28ec9: 0x6cc59e20, 0x28eca: 0x6c8dfe20,\n\t0x28ecd: 0x6c02cc20,\n\t0x28ed0: 0x6c146820, 0x28ed2: 0x6c345620, 0x28ed3: 0x6cbf3620,\n\t0x28ed4: 0x6c7a4620, 0x28ed5: 0x6d05b020, 0x28ed6: 0x6c587c20, 0x28ed7: 0x6d10aa20,\n\t0x28ed8: 0x6d324620, 0x28ed9: 0x6ce6da20, 0x28eda: 0x6c082420,\n\t0x28edd: 0x6c020220, 0x28edf: 0x6c76b420,\n\t0x28ee1: 0x6c7a4c20, 0x28ee2: 0x6cadde20, 0x28ee3: 0x6d205220,\n\t0x28ee4: 0x6c02aa20, 0x28ee5: 0x6c9ad020, 0x28ee6: 0x6ca13620,\n\t0x28eec: 0x6c3f7220, 0x28eed: 0x6cbe5020, 0x28eee: 0x6c7e8220, 0x28eef: 0x6c30f220,\n\t0x28ef0: 0x6ce06c20, 0x28ef3: 0x6cba1c20,\n\t0x28ef4: 0x6d121c20, 0x28ef5: 0x6cf0b620, 0x28ef6: 0x6c558c20, 0x28ef7: 0x6ca14620,\n\t0x28ef8: 0x6c50a620, 0x28ef9: 0x6d08ac20, 0x28efb: 0x6c0a1220,\n\t0x28efc: 0x6cb31a20, 0x28efe: 0x6c2b3c20,\n\t// Block 0xa3c, offset 0x28f00\n\t0x28f00: 0x6d31f020, 0x28f02: 0x6cd1e420, 0x28f03: 0x6c76e420,\n\t0x28f04: 0x6c130c20, 0x28f07: 0x6d05c420,\n\t0x28f08: 0x6d31f220, 0x28f0a: 0x6d3a7820,\n\t0x28f0f: 0x6c5c2420,\n\t0x28f10: 0x6c1bc020, 0x28f13: 0x6c53aa20,\n\t0x28f14: 0x6caa0420, 0x28f15: 0x6ca86a20, 0x28f16: 0x6d0eb020,\n\t0x28f18: 0x6c1d4020, 0x28f19: 0x6c3f8620, 0x28f1a: 0x6c49f420, 0x28f1b: 0x6cb52c20,\n\t0x28f1d: 0x6c44a220, 0x28f1e: 0x6ce6e020,\n\t0x28f22: 0x6ce07220, 0x28f23: 0x6cba2020,\n\t0x28f26: 0x6c702020, 0x28f27: 0x6d05e220,\n\t0x28f28: 0x6cb71620, 0x28f2a: 0x6d326420,\n\t0x28f2e: 0x6cc09c20,\n\t0x28f30: 0x6c35bc20, 0x28f33: 0x6c5c4c20,\n\t0x28f34: 0x6c53d820, 0x28f35: 0x6cbeb420, 0x28f37: 0x6c17e020,\n\t0x28f3a: 0x6c405c20,\n\t0x28f3c: 0x6c52ce20, 0x28f3d: 0x6cf6e220, 0x28f3e: 0x6cf3ee20, 0x28f3f: 0x6c987820,\n\t// Block 0xa3d, offset 0x28f40\n\t0x28f42: 0x6ce2fc20,\n\t0x28f45: 0x6c52d020,\n\t0x28f50: 0x6c0f6a20, 0x28f52: 0x6cbde820, 0x28f53: 0x6c44a420,\n\t0x28f56: 0x6c3f0020, 0x28f57: 0x6c7cde20,\n\t0x28f5d: 0x6c0cfe20, 0x28f5e: 0x6c6eba20, 0x28f5f: 0x6c76f220,\n\t0x28f60: 0x6c4a9020, 0x28f62: 0x6c432820, 0x28f63: 0x6d05f420,\n\t0x28f64: 0x6c01d420, 0x28f65: 0x6d26f420, 0x28f66: 0x6cf53420, 0x28f67: 0x6d157a20,\n\t0x28f68: 0x6c6dda20, 0x28f6a: 0x6c930220, 0x28f6b: 0x6cc31c20,\n\t0x28f6c: 0x6ce9c820, 0x28f6e: 0x6c62a420,\n\t0x28f7a: 0x6c6f3420, 0x28f7b: 0x6c74d420,\n\t0x28f7c: 0x6cb1d620, 0x28f7d: 0x6c7d8a20,\n\t// Block 0xa3e, offset 0x28f80\n\t0x28f80: 0x6cec7420, 0x28f81: 0x6c5c7620, 0x28f82: 0x6c341220, 0x28f83: 0x6d25f420,\n\t0x28f84: 0x6c6b6a20, 0x28f86: 0x6c4b9020, 0x28f87: 0x6c432e20,\n\t0x28f88: 0x6cb3b220, 0x28f89: 0x6c9ade20, 0x28f8a: 0x6d3bf020, 0x28f8b: 0x6c4f9c20,\n\t0x28f94: 0x6d1e0420, 0x28f95: 0x6cc0a420, 0x28f97: 0x6c834e20,\n\t0x28f98: 0x6c020620, 0x28f99: 0x6cb08020, 0x28f9a: 0x6cf24220,\n\t0x28f9d: 0x6cbe2a20, 0x28f9f: 0x6cbdee20,\n\t0x28fa0: 0x6c9f0620, 0x28fa1: 0x6c30d020, 0x28fa2: 0x6c9c9420, 0x28fa3: 0x6d2db820,\n\t0x28fa5: 0x6cbec020, 0x28fa6: 0x6d158c20,\n\t0x28fae: 0x6c04aa20,\n\t0x28fb1: 0x6c730a20, 0x28fb3: 0x6d2b2420,\n\t0x28fb4: 0x6d075c20, 0x28fb5: 0x6c7ff420, 0x28fb6: 0x6c968220, 0x28fb7: 0x6c968420,\n\t0x28fb8: 0x6cab6220, 0x28fb9: 0x6c06c020, 0x28fbb: 0x6cb3e820,\n\t0x28fbc: 0x6d075e20,\n\t// Block 0xa3f, offset 0x28fc0\n\t0x28fc0: 0x6c02fe20,\n\t0x28fc6: 0x6c53ae20,\n\t0x28fc9: 0x6c53b020, 0x28fca: 0x6d2e3c20,\n\t0x28fcc: 0x6ccbb620, 0x28fcd: 0x6c433020, 0x28fcf: 0x6cb34420,\n\t0x28fd0: 0x6c8aae20,\n\t0x28fd5: 0x6cec7a20, 0x28fd6: 0x6d07f420,\n\t0x28fdc: 0x6c7cb820, 0x28fdf: 0x6c36ea20,\n\t0x28fe0: 0x6c4f3e20, 0x28fe1: 0x6ccb9a20,\n\t0x28fe4: 0x6c28ee20,\n\t0x28fea: 0x6d07f620,\n\t0x28fec: 0x6c36f420, 0x28fed: 0x6c415a20, 0x28fef: 0x6c29c820,\n\t0x28ff1: 0x6c9bfa20, 0x28ff2: 0x6d143e20, 0x28ff3: 0x6ca94e20,\n\t0x28ff5: 0x6cb23020,\n\t0x28ff9: 0x6c124620,\n\t0x28ffe: 0x6d263c20,\n\t// Block 0xa40, offset 0x29000\n\t0x29000: 0x6c36fc20, 0x29001: 0x6ca8ca20,\n\t0x29004: 0x6d1b2e20, 0x29007: 0x6cbbca20,\n\t0x29009: 0x6c52e220, 0x2900a: 0x6c8dca20,\n\t0x2900c: 0x6c14e820, 0x2900d: 0x6d1d3020,\n\t0x29012: 0x6c494820,\n\t0x29014: 0x6ca7ca20, 0x29015: 0x6d05c620, 0x29016: 0x6cdff820, 0x29017: 0x6c6d6e20,\n\t0x2901b: 0x6caea620,\n\t0x2901d: 0x6c89e820,\n\t0x29020: 0x6c072c20, 0x29023: 0x6d030020,\n\t0x29024: 0x6cea6020, 0x29025: 0x6c174e20, 0x29026: 0x6c41a420,\n\t0x29028: 0x6c54e020, 0x29029: 0x6cee2e20,\n\t0x2902c: 0x6c3eba20, 0x2902d: 0x6cae2220, 0x2902f: 0x6ca4b620,\n\t0x29030: 0x6d0a1820, 0x29031: 0x6d096c20,\n\t0x29034: 0x6c8f1220, 0x29035: 0x6c8d4420, 0x29036: 0x6d097020, 0x29037: 0x6cc12e20,\n\t0x29038: 0x6c4fda20, 0x29039: 0x6d153c20, 0x2903a: 0x6c4ef420,\n\t0x2903c: 0x6c3ed220, 0x2903d: 0x6c038a20, 0x2903e: 0x6d153e20,\n\t// Block 0xa41, offset 0x29040\n\t0x29040: 0x6c0f3820,\n\t0x29044: 0x6c52c420, 0x29045: 0x6c866a20,\n\t0x29049: 0x6cc98820, 0x2904a: 0x6cf6b220,\n\t0x2904e: 0x6cd3ce20, 0x2904f: 0x6cb15e20,\n\t0x29050: 0x6c57c220, 0x29051: 0x6d155220, 0x29052: 0x6c0f5220, 0x29053: 0x6c0f6c20,\n\t0x29054: 0x6ca57620, 0x29055: 0x6cc09e20,\n\t0x29058: 0x6cf01e20, 0x29059: 0x6c184a20, 0x2905a: 0x6d1f7820,\n\t0x2905c: 0x6cf0dc20, 0x2905d: 0x6c5b6820, 0x2905e: 0x6cc99a20,\n\t0x29062: 0x6c53da20, 0x29063: 0x6cd9e820,\n\t0x29064: 0x6c4f1220, 0x29065: 0x6cad6a20, 0x29067: 0x6c39b020,\n\t0x29069: 0x6c8eae20, 0x2906a: 0x6d395a20, 0x2906b: 0x6cb02a20,\n\t0x2906d: 0x6c86b620,\n\t0x29070: 0x6c20e820, 0x29071: 0x6cf6fc20, 0x29072: 0x6d330220,\n\t0x29074: 0x6c085620, 0x29075: 0x6d333420, 0x29076: 0x6cdc9620, 0x29077: 0x6d0de420,\n\t0x2907c: 0x6cbe5a20, 0x2907d: 0x6cf53620, 0x2907e: 0x6c89a620,\n\t// Block 0xa42, offset 0x29080\n\t0x29080: 0x6d2fe420, 0x29081: 0x6c897220,\n\t0x29085: 0x6c6a3c20, 0x29087: 0x6c52da20,\n\t0x29088: 0x6d1ec020, 0x2908a: 0x6c7ea220, 0x2908b: 0x6c548620,\n\t0x2908d: 0x6d263620, 0x2908e: 0x6c539620, 0x2908f: 0x6d137820,\n\t0x29091: 0x6d1d1c20, 0x29092: 0x6d086020, 0x29093: 0x6d1f8620,\n\t0x29098: 0x6cc32020,\n\t0x2909c: 0x6ce15e20, 0x2909d: 0x6cddb620, 0x2909f: 0x6c871020,\n\t0x290a0: 0x6cd9fc20, 0x290a1: 0x6c871220,\n\t0x290a4: 0x6d245420, 0x290a7: 0x6d192020,\n\t0x290ad: 0x6d051220, 0x290ae: 0x6c028620, 0x290af: 0x6ce97420,\n\t0x290b0: 0x6cdb6220, 0x290b1: 0x6cd67a20, 0x290b3: 0x6d247020,\n\t0x290b5: 0x6c3c7a20,\n\t0x290b9: 0x6cdb6620, 0x290ba: 0x6ce9da20, 0x290bb: 0x6d247220,\n\t0x290bc: 0x6d331020, 0x290bd: 0x6d331220, 0x290bf: 0x6ce25420,\n\t// Block 0xa43, offset 0x290c0\n\t0x290c4: 0x6c8ee020, 0x290c6: 0x6c1a5c20, 0x290c7: 0x6cdc0620,\n\t0x290c8: 0x6ccad820,\n\t0x290cf: 0x6c47f420,\n\t0x290d0: 0x6c3c8a20, 0x290d1: 0x6c8b8420, 0x290d2: 0x6cb17a20,\n\t0x290d6: 0x6c87b620,\n\t0x290d8: 0x6c901820, 0x290d9: 0x6c1e7020, 0x290da: 0x6cff6220, 0x290db: 0x6c52e420,\n\t0x290dc: 0x6d029820, 0x290dd: 0x6ccf9420,\n\t0x290e0: 0x6c902620, 0x290e1: 0x6c53ea20, 0x290e2: 0x6d083e20, 0x290e3: 0x6c3c9620,\n\t0x290e5: 0x6c037420, 0x290e6: 0x6c0ecc20, 0x290e7: 0x6ce22620,\n\t0x290e8: 0x6cdabc20, 0x290e9: 0x6d2fb820, 0x290ea: 0x6c0c0220, 0x290eb: 0x6cd9c420,\n\t0x290ec: 0x6ce9aa20, 0x290ed: 0x6cdd8820, 0x290ee: 0x6cfefa20, 0x290ef: 0x6c527220,\n\t0x290f0: 0x6ccac620, 0x290f2: 0x6c3a1020,\n\t0x290f7: 0x6ca9aa20,\n\t0x290f8: 0x6c98ac20,\n\t0x290fd: 0x6c58ca20, 0x290fe: 0x6d343420,\n\t// Block 0xa44, offset 0x29100\n\t0x29102: 0x6d171620,\n\t0x29104: 0x6d22fe20, 0x29107: 0x6d14f020,\n\t0x29108: 0x6d264e20, 0x29109: 0x6c1b2220,\n\t0x29115: 0x6d1aea20, 0x29116: 0x6ca9a620, 0x29117: 0x6cc71420,\n\t0x2911b: 0x6ca34a20,\n\t0x29123: 0x6ce4a620,\n\t0x29125: 0x6c035020,\n\t0x2912a: 0x6c379c20, 0x2912b: 0x6d32dc20,\n\t0x2912c: 0x6c366a20, 0x2912d: 0x6cb3dc20, 0x2912e: 0x6c5efa20, 0x2912f: 0x6ca5f620,\n\t0x29131: 0x6c6f2020, 0x29132: 0x6c63d420,\n\t0x29135: 0x6c41a620,\n\t0x29139: 0x6c8d2e20, 0x2913b: 0x6d41bc20,\n\t0x2913e: 0x6c073820,\n\t// Block 0xa45, offset 0x29140\n\t0x29145: 0x6cd4f220, 0x29146: 0x6d15fc20, 0x29147: 0x6cabf420,\n\t0x2914b: 0x6ca50e20,\n\t0x2914c: 0x6cd3c020, 0x2914e: 0x6c97c620, 0x2914f: 0x6cd3c220,\n\t0x29151: 0x6ce35e20,\n\t0x29158: 0x6c45a420,\n\t0x2915d: 0x6c834420, 0x2915e: 0x6c061020, 0x2915f: 0x6d251020,\n\t0x29160: 0x6d422820, 0x29161: 0x6c80e620, 0x29162: 0x6d04f220,\n\t0x29165: 0x6d294220, 0x29166: 0x6c1a8620, 0x29167: 0x6c64e820,\n\t0x29168: 0x6c99b420, 0x29169: 0x6c63e220, 0x2916a: 0x6d23de20,\n\t0x2916d: 0x6d23e020, 0x2916e: 0x6d155420,\n\t0x29172: 0x6c982020, 0x29173: 0x6d294420,\n\t0x29175: 0x6d3ca820, 0x29176: 0x6ce37620,\n\t0x29179: 0x6cf8d620, 0x2917a: 0x6c716020, 0x2917b: 0x6d299e20,\n\t0x2917c: 0x6c92e420, 0x2917d: 0x6ce24420,\n\t// Block 0xa46, offset 0x29180\n\t0x29180: 0x6d3cb020, 0x29181: 0x6c8d6020, 0x29183: 0x6c729c20,\n\t0x29186: 0x6c5f4c20, 0x29187: 0x6c733020,\n\t0x2918a: 0x6d3e9a20,\n\t0x2918c: 0x6d265a20, 0x2918d: 0x6c301620,\n\t0x29192: 0x6ca47020,\n\t0x29196: 0x6c1d2420,\n\t0x2919f: 0x6c022020,\n\t0x291a3: 0x6c44e020,\n\t0x291a5: 0x6c0e9420, 0x291a6: 0x6c2fbc20, 0x291a7: 0x6cf02220,\n\t0x291ac: 0x6cc31a20, 0x291ad: 0x6c783a20,\n\t0x291b0: 0x6cb0cc20, 0x291b1: 0x6c76f420, 0x291b2: 0x6c3f0e20, 0x291b3: 0x6d1e6220,\n\t0x291b5: 0x6ce96620, 0x291b6: 0x6ce81e20, 0x291b7: 0x6d205a20,\n\t0x291b8: 0x6d10c020, 0x291ba: 0x6d126c20,\n\t0x291bd: 0x6d0ed220,\n\t// Block 0xa47, offset 0x291c0\n\t0x291c8: 0x6cfbb220, 0x291ca: 0x6ce38e20,\n\t0x291cc: 0x6cdc9820,\n\t0x291d0: 0x6c227420,\n\t0x291d4: 0x6d066220, 0x291d5: 0x6cf53820, 0x291d6: 0x6c117420, 0x291d7: 0x6d242420,\n\t0x291da: 0x6c15f820, 0x291db: 0x6cfa1020,\n\t0x291dd: 0x6c77ce20, 0x291de: 0x6c124220, 0x291df: 0x6c13bc20,\n\t0x291e0: 0x6cc0b420, 0x291e3: 0x6c267220,\n\t0x291e5: 0x6cdb5620,\n\t0x291e8: 0x6c571c20,\n\t0x291f7: 0x6cf38e20,\n\t0x291f8: 0x6d251a20,\n\t0x291fd: 0x6c681220, 0x291fe: 0x6cfe0820, 0x291ff: 0x6d2d0620,\n\t// Block 0xa48, offset 0x29200\n\t0x29200: 0x6cca3a20, 0x29201: 0x6ca09220, 0x29203: 0x6cce3e20,\n\t0x29204: 0x6c12a420, 0x29205: 0x6cdbe220, 0x29206: 0x6c208420, 0x29207: 0x6c9c9620,\n\t0x29208: 0x6d3a3420, 0x29209: 0x6c1d2820, 0x2920a: 0x6c62c220, 0x2920b: 0x6c1d2a20,\n\t0x29219: 0x6c889020,\n\t0x2921e: 0x6c4d8020,\n\t0x29224: 0x6c33c220, 0x29225: 0x6cfe0c20, 0x29226: 0x6c19ae20, 0x29227: 0x6cce4020,\n\t0x29228: 0x6c873820, 0x29229: 0x6c5a2c20,\n\t0x2922c: 0x6c2af820, 0x2922f: 0x6c897a20,\n\t0x29236: 0x6d28a420,\n\t0x2923a: 0x6c5e4420, 0x2923b: 0x6c8c0420,\n\t0x2923e: 0x6c31ee20, 0x2923f: 0x6c4f3620,\n\t// Block 0xa49, offset 0x29240\n\t0x29240: 0x6d1ddc20, 0x29241: 0x6d263a20, 0x29242: 0x6c4cf420, 0x29243: 0x6c8d9c20,\n\t0x29245: 0x6c88de20, 0x29247: 0x6c030220,\n\t0x29248: 0x6c292220, 0x29249: 0x6d194e20, 0x2924a: 0x6ca9e420, 0x2924b: 0x6ccde620,\n\t0x2924d: 0x6d035c20,\n\t0x29250: 0x6c26da20, 0x29251: 0x6d247420, 0x29252: 0x6c118220, 0x29253: 0x6cf33420,\n\t0x29254: 0x6c141420, 0x29255: 0x6c0fca20, 0x29257: 0x6c663020,\n\t0x2925e: 0x6c9bb820, 0x2925f: 0x6cf05e20,\n\t0x29260: 0x6ca09e20,\n\t0x29265: 0x6cd73820, 0x29266: 0x6c6b8220, 0x29267: 0x6cd7b220,\n\t0x29268: 0x6c5e5420, 0x2926b: 0x6c21ee20,\n\t0x2926d: 0x6c901420, 0x2926e: 0x6c582420,\n\t0x29270: 0x6ceada20, 0x29273: 0x6d220620,\n\t0x29276: 0x6c165a20, 0x29277: 0x6d1dee20,\n\t0x29278: 0x6c5e5e20, 0x2927a: 0x6c806820,\n\t0x2927f: 0x6ca30c20,\n\t// Block 0xa4a, offset 0x29280\n\t0x29280: 0x6c032220, 0x29281: 0x6c418020, 0x29282: 0x6d15cc20, 0x29283: 0x6c63ac20,\n\t0x29285: 0x6c269220, 0x29286: 0x6c2fa420, 0x29287: 0x6d0a8220,\n\t0x29288: 0x6cc59620, 0x29289: 0x6c732020, 0x2928a: 0x6ce94c20, 0x2928b: 0x6d064020,\n\t0x2928c: 0x6cd99220, 0x2928e: 0x6c128420, 0x2928f: 0x6c198e20,\n\t0x29291: 0x6c2f7020,\n\t0x2929a: 0x6c4d2620,\n\t0x2929f: 0x6cf47220,\n\t0x292a6: 0x6cb72020,\n\t0x292a8: 0x6c5f6820,\n\t0x292ae: 0x6c7cac20, 0x292af: 0x6cef5e20,\n\t0x292b6: 0x6cd44e20, 0x292b7: 0x6c3f2820,\n\t0x292b9: 0x6ce97a20, 0x292bb: 0x6c0cf020,\n\t0x292bd: 0x6cdff020, 0x292be: 0x6c4f5220, 0x292bf: 0x6cb1ce20,\n\t// Block 0xa4b, offset 0x292c0\n\t0x292c3: 0x6d217e20,\n\t0x292c4: 0x6cdffa20,\n\t0x292cc: 0x6cfd9020, 0x292ce: 0x6d050c20,\n\t0x292d3: 0x6cf26820,\n\t0x292d4: 0x6c4d8220, 0x292d5: 0x6caef220,\n\t0x292dd: 0x6ce04620, 0x292df: 0x6c0d0a20,\n\t0x292e0: 0x6cfd9e20, 0x292e3: 0x6d162e20,\n\t0x292e6: 0x6cb19020, 0x292e7: 0x6c586c20,\n\t0x292e8: 0x6ca24020, 0x292e9: 0x6c035220, 0x292eb: 0x6c396020,\n\t0x292ef: 0x6c2f6020,\n\t0x292f7: 0x6c3b3c20,\n\t0x292fa: 0x6c6bf620,\n\t0x292fe: 0x6cdd4a20,\n\t// Block 0xa4c, offset 0x29300\n\t0x29304: 0x6ced9220, 0x29305: 0x6c43a220,\n\t0x29308: 0x6c3b3e20, 0x2930a: 0x6ceb4420,\n\t0x2930c: 0x6cf1a620, 0x2930d: 0x6c487620, 0x2930e: 0x6c343620,\n\t0x29310: 0x6d308820, 0x29311: 0x6c22a020, 0x29312: 0x6d11ce20,\n\t0x29314: 0x6c050420, 0x29315: 0x6c10b820, 0x29316: 0x6ca15c20,\n\t0x29318: 0x6cb35e20, 0x2931b: 0x6c443020,\n\t0x2931e: 0x6c8e9220,\n\t0x29321: 0x6cc4d020,\n\t0x29328: 0x6c41b020, 0x2932a: 0x6c55a220, 0x2932b: 0x6ca1e620,\n\t0x2932e: 0x6d04f620, 0x2932f: 0x6c59a220,\n\t0x29330: 0x6c3f0220, 0x29331: 0x6c5b4220, 0x29333: 0x6cc1ca20,\n\t0x29334: 0x6c6b3e20, 0x29335: 0x6cead220, 0x29336: 0x6d21ac20, 0x29337: 0x6ca16820,\n\t0x29338: 0x6d38b220, 0x29339: 0x6c702820, 0x2933b: 0x6cd53c20,\n\t0x2933c: 0x6c7bae20, 0x2933d: 0x6cbf6620, 0x2933e: 0x6c8b2c20, 0x2933f: 0x6c405e20,\n\t// Block 0xa4d, offset 0x29340\n\t0x2934a: 0x6d074420,\n\t0x29356: 0x6c8c6e20,\n\t0x29358: 0x6ca88420, 0x2935a: 0x6caf9c20,\n\t0x2935c: 0x6c406e20, 0x2935d: 0x6c10c620, 0x2935e: 0x6d18e020,\n\t0x29361: 0x6c0f8620, 0x29363: 0x6c358420,\n\t0x29369: 0x6d30a620, 0x2936b: 0x6c86b820,\n\t0x2936e: 0x6ce92620, 0x2936f: 0x6c26cc20,\n\t0x29371: 0x6c931620, 0x29372: 0x6d0c4020, 0x29373: 0x6c301e20,\n\t0x29374: 0x6cbcfc20, 0x29375: 0x6ced5c20, 0x29376: 0x6ca03c20, 0x29377: 0x6d418020,\n\t0x29378: 0x6c408420, 0x29379: 0x6cc15620, 0x2937a: 0x6c078e20, 0x2937b: 0x6c02b420,\n\t0x2937c: 0x6cbaf620,\n\t// Block 0xa4e, offset 0x29380\n\t0x29381: 0x6cc44020,\n\t0x29388: 0x6cc41020, 0x29389: 0x6c576a20, 0x2938a: 0x6cfd2a20, 0x2938b: 0x6c7dd820,\n\t0x2938f: 0x6c258220,\n\t0x29392: 0x6d158820,\n\t0x29396: 0x6c1ae420, 0x29397: 0x6d404020,\n\t0x29398: 0x6ca52420, 0x29399: 0x6c1a5820, 0x2939a: 0x6c32a820, 0x2939b: 0x6d1e0620,\n\t0x2939c: 0x6d30e020, 0x2939e: 0x6ce0b020, 0x2939f: 0x6d0ff020,\n\t0x293a0: 0x6d011e20, 0x293a1: 0x6d07ec20, 0x293a3: 0x6c32e420,\n\t0x293a4: 0x6cd64c20, 0x293a5: 0x6cfbbe20, 0x293a6: 0x6cfbc020,\n\t0x293a9: 0x6c359e20,\n\t0x293b2: 0x6c7e5420,\n\t0x293b8: 0x6cf10220, 0x293b9: 0x6d1ec820, 0x293ba: 0x6d21e020,\n\t0x293bd: 0x6ce30420, 0x293bf: 0x6c6c7220,\n\t// Block 0xa4f, offset 0x293c0\n\t0x293c1: 0x6ce16420, 0x293c2: 0x6cb69e20,\n\t0x293c4: 0x6c2cec20, 0x293c5: 0x6ce1fe20, 0x293c6: 0x6c941820, 0x293c7: 0x6d2e9a20,\n\t0x293c8: 0x6cf17020, 0x293c9: 0x6c62d620, 0x293ca: 0x6c023820, 0x293cb: 0x6cabaa20,\n\t0x293cc: 0x6cb88420,\n\t0x293d0: 0x6cd21220, 0x293d1: 0x6cde2420,\n\t0x293d4: 0x6ca18e20,\n\t0x293d8: 0x6d1f9220,\n\t0x293e0: 0x6d2c6a20, 0x293e3: 0x6d117220,\n\t0x293eb: 0x6c1cfa20,\n\t0x293ec: 0x6c84b220, 0x293ed: 0x6d21f420, 0x293ee: 0x6c161420, 0x293ef: 0x6d143620,\n\t0x293f2: 0x6c1c9420,\n\t0x293f4: 0x6c84b420,\n\t0x293fd: 0x6ce90a20, 0x293ff: 0x6d40fe20,\n\t// Block 0xa50, offset 0x29400\n\t0x29402: 0x6cfbd620,\n\t0x29407: 0x6cf93620,\n\t0x29409: 0x6c0d0c20, 0x2940a: 0x6c4e4a20, 0x2940b: 0x6cb6b020,\n\t0x2940c: 0x6cca7a20, 0x2940e: 0x6c3a2c20,\n\t0x29410: 0x6ccdea20,\n\t0x29418: 0x6c584820,\n\t0x29420: 0x6c059a20, 0x29421: 0x6d220220, 0x29422: 0x6d220420,\n\t0x29424: 0x6c610420,\n\t0x29431: 0x6c7b0620, 0x29432: 0x6d3fe420,\n\t0x29439: 0x6cfd5420, 0x2943a: 0x6c9bc020,\n\t// Block 0xa51, offset 0x29440\n\t0x29443: 0x6c87b820,\n\t0x29444: 0x6d377820, 0x29445: 0x6c38fc20, 0x29446: 0x6c8b8820, 0x29447: 0x6c115620,\n\t0x29448: 0x6c320a20, 0x29449: 0x6c4a0020, 0x2944a: 0x6d04b020, 0x2944b: 0x6c84ea20,\n\t0x2944c: 0x6cb80c20, 0x2944f: 0x6c753420,\n\t0x29450: 0x6ceade20, 0x29452: 0x6c72d220, 0x29453: 0x6cff6420,\n\t0x29458: 0x6cc23420,\n\t0x2945c: 0x6d3bba20,\n\t0x29461: 0x6c754420,\n\t0x29466: 0x6c6bbc20,\n\t0x29468: 0x6d390620, 0x29469: 0x6cfc8820, 0x2946a: 0x6c8f7020, 0x2946b: 0x6d100420,\n\t0x2946c: 0x6cc4b220, 0x2946d: 0x6d16d620, 0x2946e: 0x6c8ae020, 0x2946f: 0x6c0e5620,\n\t0x29470: 0x6c5ce220, 0x29471: 0x6c61be20, 0x29472: 0x6c306a20, 0x29473: 0x6d386420,\n\t0x29474: 0x6cc29220, 0x29475: 0x6c6a9c20,\n\t0x2947a: 0x6c710820,\n\t0x2947c: 0x6c078620, 0x2947f: 0x6c087620,\n\t// Block 0xa52, offset 0x29480\n\t0x29480: 0x6c43fe20, 0x29481: 0x6c217c20, 0x29483: 0x6cb9a220,\n\t0x29484: 0x6cd9c820, 0x29485: 0x6cf0a020, 0x29486: 0x6c1a1420, 0x29487: 0x6c909020,\n\t0x29488: 0x6d213e20, 0x29489: 0x6c7e4620, 0x2948a: 0x6cb9a420, 0x2948b: 0x6c2cd220,\n\t0x2948c: 0x6cde0e20, 0x2948d: 0x6d2e6c20, 0x2948f: 0x6c38b620,\n\t0x29490: 0x6c8b5620, 0x29491: 0x6ce64420, 0x29492: 0x6c5ebe20, 0x29493: 0x6cb8de20,\n\t0x29494: 0x6c556820, 0x29497: 0x6d214220,\n\t0x29498: 0x6cb79c20, 0x29499: 0x6d214420, 0x2949a: 0x6cebe020,\n\t0x2949c: 0x6c03bc20, 0x2949d: 0x6cb61020, 0x2949e: 0x6cc95620, 0x2949f: 0x6cbb8620,\n\t0x294a0: 0x6d0bc220, 0x294a1: 0x6cfc1e20,\n\t0x294a8: 0x6c220820, 0x294a9: 0x6c396220, 0x294ab: 0x6c7dba20,\n\t0x294ac: 0x6c4be020, 0x294ad: 0x6cc39220, 0x294ae: 0x6c367a20, 0x294af: 0x6cbf4e20,\n\t0x294b2: 0x6c96d420, 0x294b3: 0x6c7a5820,\n\t0x294b4: 0x6d11c620, 0x294b7: 0x6cc39420,\n\t0x294b8: 0x6c1e6420, 0x294b9: 0x6c642c20, 0x294bb: 0x6d3a7a20,\n\t0x294bd: 0x6c331220, 0x294be: 0x6cec0a20,\n\t// Block 0xa53, offset 0x294c0\n\t0x294c0: 0x6ca51220,\n\t0x294c4: 0x6d0cce20, 0x294c5: 0x6ce78020,\n\t0x294cb: 0x6d03fe20,\n\t0x294cc: 0x6c4bee20, 0x294cd: 0x6cb26a20,\n\t0x294d1: 0x6d229c20, 0x294d2: 0x6c51ec20,\n\t0x294d4: 0x6d3da420, 0x294d7: 0x6ccf0020,\n\t0x294d8: 0x6d22a220, 0x294db: 0x6c62a620,\n\t0x294dd: 0x6cbaea20, 0x294de: 0x6cd73220, 0x294df: 0x6c21de20,\n\t0x294e0: 0x6d40e820, 0x294e1: 0x6c838e20, 0x294e2: 0x6ca60e20,\n\t0x294e4: 0x6cebf820, 0x294e5: 0x6d2c5c20, 0x294e7: 0x6c28d420,\n\t0x294ee: 0x6c328820, 0x294ef: 0x6c0bd020,\n\t0x294f0: 0x6c6a3e20, 0x294f1: 0x6cb87c20, 0x294f2: 0x6c519020, 0x294f3: 0x6c1d5e20,\n\t0x294f4: 0x6d0ce620, 0x294f6: 0x6d0ee020,\n\t0x294fa: 0x6cd94e20, 0x294fb: 0x6ce2c420,\n\t0x294fc: 0x6d11e020, 0x294fe: 0x6c779620,\n\t// Block 0xa54, offset 0x29500\n\t0x29500: 0x6d3c6e20, 0x29501: 0x6c4b9a20, 0x29502: 0x6c005a20, 0x29503: 0x6c4d8420,\n\t0x29508: 0x6cddb820, 0x29509: 0x6d076020, 0x2950a: 0x6c0c5020,\n\t0x2950c: 0x6c3cfc20, 0x2950d: 0x6cc15e20, 0x2950e: 0x6c98ae20,\n\t0x29510: 0x6c4ca020,\n\t0x29516: 0x6c0ac420, 0x29517: 0x6c751020,\n\t0x29518: 0x6c208a20, 0x2951b: 0x6cb47420,\n\t0x2951f: 0x6d195020,\n\t0x29522: 0x6cb95020, 0x29523: 0x6d196220,\n\t0x29524: 0x6c36ec20, 0x29525: 0x6c8da620, 0x29527: 0x6c0ace20,\n\t0x2952d: 0x6c5e5620, 0x2952e: 0x6ca0b620,\n\t0x29531: 0x6d09ce20,\n\t0x29534: 0x6d0f1e20,\n\t0x29538: 0x6c87ba20, 0x2953a: 0x6ce04e20,\n\t0x2953e: 0x6c947e20,\n\t// Block 0xa55, offset 0x29540\n\t0x29540: 0x6c769020, 0x29541: 0x6c99aa20, 0x29542: 0x6cfefc20,\n\t0x29547: 0x6c007220,\n\t0x2954a: 0x6cde1420,\n\t0x2954d: 0x6c9aac20, 0x2954f: 0x6c4c4220,\n\t0x29553: 0x6c432220,\n\t0x29554: 0x6ca4c220, 0x29555: 0x6c4ffc20,\n\t0x29560: 0x6cc39820,\n\t0x29565: 0x6c12a620, 0x29566: 0x6ccb0a20,\n\t0x2956b: 0x6cb03c20,\n\t0x29572: 0x6d006220, 0x29573: 0x6cff6620,\n\t0x29574: 0x6c712c20,\n\t0x29579: 0x6c1a2420, 0x2957a: 0x6ca50820,\n\t// Block 0xa56, offset 0x29580\n\t0x29580: 0x6ca58e20,\n\t0x2958d: 0x6ca25220, 0x2958f: 0x6cce8020,\n\t0x29591: 0x6c2cda20,\n\t0x29594: 0x6c8d5220, 0x29596: 0x6d31f820, 0x29597: 0x6d11d020,\n\t0x29599: 0x6c404a20, 0x2959a: 0x6cb9c620, 0x2959b: 0x6cbf5820,\n\t0x2959c: 0x6c715620, 0x2959d: 0x6c0e2c20, 0x2959e: 0x6c990620, 0x2959f: 0x6d2ce020,\n\t0x295a0: 0x6cdf0820,\n\t0x295a4: 0x6c1ce020,\n\t0x295ab: 0x6d2d3220,\n\t0x295ad: 0x6cd1f420, 0x295ae: 0x6d1e7c20,\n\t0x295b0: 0x6cbf6820, 0x295b1: 0x6c2a3820, 0x295b2: 0x6ce42620, 0x295b3: 0x6d3c7820,\n\t0x295b5: 0x6d1b8020, 0x295b7: 0x6ca51820,\n\t0x295b8: 0x6c0e9620, 0x295b9: 0x6c7bb220, 0x295ba: 0x6d355220, 0x295bb: 0x6c34ba20,\n\t0x295bc: 0x6c236220, 0x295bd: 0x6c061620,\n\t// Block 0xa57, offset 0x295c0\n\t0x295c7: 0x6c846820,\n\t0x295ca: 0x6c716c20, 0x295cb: 0x6cf1bc20,\n\t0x295cc: 0x6c8b3e20, 0x295cf: 0x6cf2c620,\n\t0x295d0: 0x6cd2de20, 0x295d1: 0x6ca7b620, 0x295d2: 0x6c987c20, 0x295d3: 0x6c6f8c20,\n\t0x295d8: 0x6d050020,\n\t0x295dd: 0x6cf2a420, 0x295df: 0x6c2a4020,\n\t0x295e1: 0x6cf70e20, 0x295e2: 0x6c01e020, 0x295e3: 0x6c26ce20,\n\t0x295e4: 0x6d401020, 0x295e5: 0x6c4f2a20, 0x295e6: 0x6c20ea20, 0x295e7: 0x6c089820,\n\t0x295e9: 0x6c309020, 0x295eb: 0x6d2f1220,\n\t0x295ef: 0x6d0b0220,\n\t0x295f2: 0x6c2bac20, 0x295f3: 0x6c5d6420,\n\t0x295f7: 0x6c9f8020,\n\t0x295fa: 0x6c408820,\n\t0x295fc: 0x6c061e20, 0x295fd: 0x6c78e420, 0x295fe: 0x6c991020, 0x295ff: 0x6cc55820,\n\t// Block 0xa58, offset 0x29600\n\t0x29600: 0x6d3fda20, 0x29601: 0x6cb88020, 0x29602: 0x6cf98020, 0x29603: 0x6cda0220,\n\t0x29604: 0x6d050e20, 0x29605: 0x6ca36e20,\n\t0x29609: 0x6c979620,\n\t0x2960e: 0x6d2c0820, 0x2960f: 0x6c154a20,\n\t0x29610: 0x6ccf8420, 0x29611: 0x6cf2ca20,\n\t0x29616: 0x6c005c20, 0x29617: 0x6c059820,\n\t0x29618: 0x6c4fb820, 0x2961a: 0x6ccad420, 0x2961b: 0x6cddba20,\n\t0x2961c: 0x6ce44020, 0x2961d: 0x6d0bcc20, 0x2961f: 0x6c0e3a20,\n\t0x29620: 0x6cc6e420,\n\t0x2962b: 0x6ccc2c20,\n\t0x2962c: 0x6cf26a20, 0x2962f: 0x6c028a20,\n\t0x29631: 0x6d3c2820, 0x29633: 0x6cb1c020,\n\t0x29634: 0x6cdbe820, 0x29635: 0x6d143820, 0x29636: 0x6cda0420, 0x29637: 0x6c30d220,\n\t0x29638: 0x6cda0620, 0x29639: 0x6c956e20,\n\t// Block 0xa59, offset 0x29640\n\t0x29643: 0x6c3afc20,\n\t0x29644: 0x6d422220, 0x29646: 0x6ca53c20, 0x29647: 0x6c2ac420,\n\t0x29648: 0x6d34c220, 0x29649: 0x6c25d020, 0x2964a: 0x6c8a5820, 0x2964b: 0x6c616420,\n\t0x2964c: 0x6c0ea020, 0x2964d: 0x6c23d020, 0x2964e: 0x6c1a6020, 0x2964f: 0x6c104e20,\n\t0x29651: 0x6cca1020, 0x29652: 0x6d29be20,\n\t0x29658: 0x6c69e420, 0x2965b: 0x6d125220,\n\t0x2965c: 0x6c920620, 0x2965e: 0x6c121420,\n\t0x29668: 0x6ca67020,\n\t0x29670: 0x6c6b8820, 0x29671: 0x6cb47c20, 0x29672: 0x6d3c5020, 0x29673: 0x6d29c820,\n\t0x2967a: 0x6c87c420,\n\t0x2967d: 0x6c7ed020,\n\t// Block 0xa5a, offset 0x29680\n\t0x29680: 0x6c1d0620, 0x29683: 0x6d2eae20,\n\t0x2968d: 0x6c0bb420, 0x2968e: 0x6cf23220,\n\t0x29693: 0x6c53de20,\n\t0x29697: 0x6cb1fc20,\n\t0x29699: 0x6ccb9e20,\n\t0x2969e: 0x6ca67220, 0x2969f: 0x6c3b4e20,\n\t0x296a0: 0x6d065620, 0x296a2: 0x6cd2da20,\n\t0x296a4: 0x6c72c220,\n\t0x296a8: 0x6c752420, 0x296aa: 0x6d24a220,\n\t0x296ac: 0x6c4c2a20, 0x296ad: 0x6c4c3420, 0x296af: 0x6c55a420,\n\t0x296b2: 0x6c869020, 0x296b3: 0x6d00fa20,\n\t0x296b4: 0x6c376c20, 0x296b5: 0x6d25b420, 0x296b6: 0x6c4d2e20,\n\t0x296b9: 0x6c6ebc20, 0x296bb: 0x6c78de20,\n\t0x296bd: 0x6d3fcc20, 0x296be: 0x6c3ae620,\n\t// Block 0xa5b, offset 0x296c0\n\t0x296c0: 0x6cae8820, 0x296c1: 0x6c44e220, 0x296c3: 0x6c652820,\n\t0x296c4: 0x6ca61220, 0x296c6: 0x6cfbc220, 0x296c7: 0x6c873c20,\n\t0x296c8: 0x6c17a820, 0x296ca: 0x6c377620, 0x296cb: 0x6c44e820,\n\t0x296cc: 0x6d247620, 0x296cd: 0x6c560420, 0x296ce: 0x6c3af820, 0x296cf: 0x6c028c20,\n\t0x296d3: 0x6c37b220,\n\t0x296d8: 0x6c78ec20, 0x296d9: 0x6c7ab620, 0x296da: 0x6c0fd020,\n\t0x296dd: 0x6d13a020, 0x296de: 0x6c69e820,\n\t0x296e6: 0x6c17ae20, 0x296e7: 0x6c44ec20,\n\t0x296e8: 0x6cc82e20, 0x296ea: 0x6d273c20,\n\t0x296ec: 0x6c8c1620,\n\t0x296f1: 0x6d24a620, 0x296f2: 0x6d274820, 0x296f3: 0x6d2d1220,\n\t0x296f4: 0x6cff6820, 0x296f7: 0x6c9f2420,\n\t0x296fb: 0x6c4af820,\n\t0x296fc: 0x6c6f6e20, 0x296fe: 0x6cebaa20,\n\t// Block 0xa5c, offset 0x29700\n\t0x29701: 0x6cf78220, 0x29702: 0x6cefd620, 0x29703: 0x6d3d6a20,\n\t0x29704: 0x6cf0a220, 0x29705: 0x6c7c8420,\n\t0x29708: 0x6c9a9820, 0x2970a: 0x6c505020, 0x2970b: 0x6c4f5020,\n\t0x2970c: 0x6c399a20, 0x2970d: 0x6ca96e20, 0x2970e: 0x6d205420, 0x2970f: 0x6c57a420,\n\t0x29712: 0x6c812420,\n\t0x29720: 0x6d3a1820, 0x29721: 0x6c4b1620, 0x29722: 0x6c0a1620, 0x29723: 0x6c642e20,\n\t0x29724: 0x6ce59c20, 0x29726: 0x6c93f020, 0x29727: 0x6c79a220,\n\t0x29728: 0x6d419420, 0x29729: 0x6c8d4620, 0x2972a: 0x6cb63220,\n\t0x2972c: 0x6d3a1e20,\n\t0x29731: 0x6c47ba20, 0x29732: 0x6d413020,\n\t0x29734: 0x6d0f6620, 0x29735: 0x6cda5620, 0x29737: 0x6c7c9620,\n\t0x29739: 0x6c167a20, 0x2973b: 0x6d113e20,\n\t0x2973e: 0x6d23e220,\n\t// Block 0xa5d, offset 0x29740\n\t0x29745: 0x6cd50420, 0x29746: 0x6c7f5420, 0x29747: 0x6d187620,\n\t0x29748: 0x6c30c420,\n\t0x2974c: 0x6cf3f020, 0x2974d: 0x6d1d1220, 0x2974e: 0x6c3f0420, 0x2974f: 0x6d3be820,\n\t0x29750: 0x6c3f8a20, 0x29752: 0x6cdb2a20, 0x29753: 0x6c853420,\n\t0x29754: 0x6d122820, 0x29755: 0x6cea1020,\n\t0x2975d: 0x6c4b7a20,\n\t0x29761: 0x6c940020, 0x29762: 0x6d0ed420, 0x29763: 0x6cb66620,\n\t0x29764: 0x6c813020, 0x29765: 0x6d3a3020, 0x29767: 0x6c4b1e20,\n\t0x29768: 0x6c551020,\n\t0x2976f: 0x6c6ddc20,\n\t0x29772: 0x6c1bc620,\n\t0x29775: 0x6c717220, 0x29776: 0x6d2c6020,\n\t0x29778: 0x6c9e8020,\n\t// Block 0xa5e, offset 0x29780\n\t0x29780: 0x6d39da20, 0x29781: 0x6c41ba20, 0x29782: 0x6d047620, 0x29783: 0x6c60e620,\n\t0x29787: 0x6cccaa20,\n\t0x29788: 0x6c9ab620, 0x29789: 0x6d287420,\n\t0x2978d: 0x6cd48820,\n\t0x29790: 0x6c941a20, 0x29791: 0x6d206020, 0x29792: 0x6c681420, 0x29793: 0x6caacc20,\n\t0x29798: 0x6c72c420, 0x29799: 0x6d206220,\n\t0x2979c: 0x6d195220, 0x2979d: 0x6ce2ce20, 0x2979e: 0x6cef7220, 0x2979f: 0x6c17f620,\n\t0x297a0: 0x6c8c8620, 0x297a1: 0x6c483020, 0x297a3: 0x6c875a20,\n\t0x297a4: 0x6c8ab020, 0x297a7: 0x6c68ac20,\n\t0x297a8: 0x6d0ff620, 0x297a9: 0x6c0c5e20, 0x297aa: 0x6cb6a220,\n\t0x297ae: 0x6d196420,\n\t0x297b1: 0x6c0d7620, 0x297b2: 0x6c9bbc20, 0x297b3: 0x6c145a20,\n\t0x297b5: 0x6c41be20,\n\t0x297b9: 0x6cc21c20, 0x297ba: 0x6c2bc020, 0x297bb: 0x6c82a020,\n\t// Block 0xa5f, offset 0x297c0\n\t0x297c0: 0x6c8dcc20,\n\t0x297c4: 0x6c585220, 0x297c5: 0x6cc23220, 0x297c7: 0x6c959c20,\n\t0x297c9: 0x6c7cc820,\n\t0x297cd: 0x6cc08020, 0x297ce: 0x6d227620, 0x297cf: 0x6c57a620,\n\t0x297d3: 0x6c833a20,\n\t0x297d5: 0x6cc60620, 0x297d6: 0x6cffb620, 0x297d7: 0x6cd8da20,\n\t0x297da: 0x6c327220, 0x297db: 0x6c0cb420,\n\t0x297e0: 0x6ca97020, 0x297e2: 0x6c51e020, 0x297e3: 0x6cadc420,\n\t0x297e5: 0x6c3acc20, 0x297e6: 0x6ca2aa20,\n\t0x297e9: 0x6c3d9620,\n\t0x297ec: 0x6c55a820, 0x297ed: 0x6cedec20, 0x297ee: 0x6ccc1420,\n\t0x297f0: 0x6c687420, 0x297f1: 0x6cf47420,\n\t0x297f9: 0x6c404c20,\n\t// Block 0xa60, offset 0x29800\n\t0x29801: 0x6c0df620, 0x29802: 0x6d3b3020,\n\t0x29804: 0x6d3a2a20, 0x29805: 0x6c1ada20, 0x29807: 0x6cd07c20,\n\t0x29808: 0x6c550820, 0x29809: 0x6c101e20,\n\t0x2980e: 0x6cc4d420,\n\t0x29816: 0x6ca2b620,\n\t0x29818: 0x6c869220, 0x2981b: 0x6c638820,\n\t0x2981e: 0x6c96e020,\n\t0x29821: 0x6c9b6820, 0x29822: 0x6ca1f020, 0x29823: 0x6d38b820,\n\t0x29824: 0x6cfc3820, 0x29825: 0x6c5b7420, 0x29826: 0x6c48fc20, 0x29827: 0x6c702c20,\n\t0x29829: 0x6ca2b820, 0x2982b: 0x6cc82a20,\n\t0x2982d: 0x6cf3fc20, 0x2982f: 0x6cc7d820,\n\t0x29831: 0x6d2ce620,\n\t// Block 0xa61, offset 0x29840\n\t0x29841: 0x6caae220, 0x29842: 0x6d010a20,\n\t0x29844: 0x6c680220,\n\t0x2984b: 0x6c853a20,\n\t0x2984c: 0x6cd51020, 0x2984d: 0x6d190020, 0x2984e: 0x6c2bae20, 0x2984f: 0x6cbe9220,\n\t0x29850: 0x6c717420, 0x29853: 0x6d373620,\n\t0x29855: 0x6c80f020, 0x29856: 0x6c10ca20, 0x29857: 0x6c7bca20,\n\t0x29858: 0x6d190220, 0x2985a: 0x6c0f9a20,\n\t0x29867: 0x6c1c8c20,\n\t0x2986d: 0x6c680c20, 0x2986f: 0x6cf32a20,\n\t0x29870: 0x6d0aac20,\n\t0x29875: 0x6cea3220, 0x29876: 0x6c987e20,\n\t0x29878: 0x6c39b220, 0x29879: 0x6d3dce20, 0x2987b: 0x6cb88220,\n\t0x2987d: 0x6cde2220, 0x2987e: 0x6cb68a20,\n\t// Block 0xa62, offset 0x29880\n\t0x29880: 0x6caf1e20, 0x29881: 0x6c0cc620, 0x29882: 0x6c3bfe20, 0x29883: 0x6ce92820,\n\t0x29884: 0x6c57d220, 0x29887: 0x6c36d220,\n\t0x2988b: 0x6c36d420,\n\t0x2988e: 0x6c2fc420,\n\t0x29890: 0x6cc7e220,\n\t0x29896: 0x6c36d620,\n\t0x2989e: 0x6d0ef020, 0x2989f: 0x6cd8f820,\n\t0x298a5: 0x6d1cc020, 0x298a6: 0x6ca61620, 0x298a7: 0x6ca61820,\n\t0x298a8: 0x6d158e20,\n\t0x298b9: 0x6c9c9820,\n\t0x298be: 0x6d129820, 0x298bf: 0x6cb32620,\n\t// Block 0xa63, offset 0x298c0\n\t0x298c0: 0x6c240420, 0x298c2: 0x6cf11820,\n\t0x298c4: 0x6c4d8820, 0x298c5: 0x6d1c2820, 0x298c7: 0x6ce6a020,\n\t0x298c8: 0x6d375e20, 0x298c9: 0x6c3a2a20, 0x298ca: 0x6d1f9420,\n\t0x298cd: 0x6c7cb020, 0x298ce: 0x6c01e220, 0x298cf: 0x6c03d220,\n\t0x298d1: 0x6c4f3420,\n\t0x298de: 0x6ca41620, 0x298df: 0x6ca3da20,\n\t0x298e2: 0x6c6df420,\n\t0x298e5: 0x6ceece20,\n\t0x298f1: 0x6c1f8e20, 0x298f3: 0x6cddbe20,\n\t0x298f4: 0x6ce20020, 0x298f5: 0x6cb6a620, 0x298f6: 0x6ce16620, 0x298f7: 0x6cf05a20,\n\t0x298f8: 0x6c41fc20, 0x298fa: 0x6c446420,\n\t0x298fc: 0x6c4f3820, 0x298fe: 0x6ca37420, 0x298ff: 0x6c446620,\n\t// Block 0xa64, offset 0x29900\n\t0x29904: 0x6d331420,\n\t0x29917: 0x6cde2820,\n\t0x2991b: 0x6cd84c20,\n\t0x2991d: 0x6ca6de20, 0x2991e: 0x6cca9820,\n\t0x2992b: 0x6d012a20,\n\t0x2992f: 0x6d410220,\n\t0x29930: 0x6d21fc20, 0x29931: 0x6ca6e020, 0x29932: 0x6cb55420,\n\t0x29935: 0x6cd03220,\n\t0x2993c: 0x6c102020,\n\t// Block 0xa65, offset 0x29940\n\t0x2994b: 0x6c7d9a20,\n\t0x2994c: 0x6c84c420, 0x2994e: 0x6c488220,\n\t0x29956: 0x6d0e1c20, 0x29957: 0x6c10d220,\n\t0x29958: 0x6c672a20, 0x2995a: 0x6cf40e20, 0x2995b: 0x6c134420,\n\t0x2995c: 0x6c8c0e20, 0x2995d: 0x6d3c0420, 0x2995f: 0x6c5b0e20,\n\t0x29961: 0x6ce7a620, 0x29962: 0x6d2ca220,\n\t0x29964: 0x6c522c20, 0x29967: 0x6c4ce220,\n\t0x29971: 0x6c6e4220,\n\t0x29975: 0x6c2f1620, 0x29977: 0x6d1cdc20,\n\t0x2997c: 0x6d377420,\n\t// Block 0xa66, offset 0x29980\n\t0x29982: 0x6cf06620,\n\t0x29984: 0x6c62fa20, 0x29985: 0x6cc73620,\n\t0x29988: 0x6c030620, 0x29989: 0x6c292420, 0x2998a: 0x6c958a20, 0x2998b: 0x6d13a220,\n\t0x2998c: 0x6ceed220,\n\t0x29992: 0x6cbb3220,\n\t0x29999: 0x6c446c20, 0x2999a: 0x6c62fc20,\n\t0x299a6: 0x6d409620,\n\t0x299a8: 0x6d15a620, 0x299ab: 0x6d2ca420,\n\t0x299ad: 0x6c8b8c20,\n\t0x299b4: 0x6d13a820,\n\t0x299bc: 0x6d2dd420,\n\t// Block 0xa67, offset 0x299c0\n\t0x299c0: 0x6c1e1620, 0x299c1: 0x6c0c6620,\n\t0x299c6: 0x6d077020, 0x299c7: 0x6d1eda20,\n\t0x299cd: 0x6d029a20, 0x299ce: 0x6cef7c20, 0x299cf: 0x6c87ca20,\n\t0x299db: 0x6c0fdc20,\n\t0x299dc: 0x6c664c20, 0x299dd: 0x6c158220, 0x299de: 0x6c7d9e20,\n\t0x299e1: 0x6cbe9a20,\n\t0x299e7: 0x6cd6ce20,\n\t0x299e8: 0x6cf76420, 0x299e9: 0x6cc23620,\n\t0x299f0: 0x6c95a020, 0x299f3: 0x6c294c20,\n\t0x299f4: 0x6ca71020, 0x299f5: 0x6c855a20, 0x299f7: 0x6c03e420,\n\t0x299f9: 0x6c365220, 0x299fa: 0x6c3d7a20, 0x299fb: 0x6c400620,\n\t0x299fc: 0x6c5d1220, 0x299fd: 0x6d2cd820, 0x299fe: 0x6c014420,\n\t// Block 0xa68, offset 0x29a00\n\t0x29a01: 0x6cc09620, 0x29a02: 0x6c1dd620, 0x29a03: 0x6c9e3c20,\n\t0x29a04: 0x6d0aa620, 0x29a05: 0x6ce92420, 0x29a06: 0x6ca60c20, 0x29a07: 0x6c570220,\n\t0x29a08: 0x6cd50a20, 0x29a0a: 0x6d05f620, 0x29a0b: 0x6d384620,\n\t0x29a0c: 0x6c776220,\n\t0x29a12: 0x6cfee220, 0x29a13: 0x6cfee420,\n\t0x29a14: 0x6c22d420, 0x29a15: 0x6c1c3c20, 0x29a17: 0x6c2dd220,\n\t0x29a18: 0x6d181420, 0x29a1a: 0x6c2f6420,\n\t0x29a1d: 0x6c4ef620, 0x29a1e: 0x6cece420,\n\t0x29a20: 0x6d160220, 0x29a21: 0x6c066020, 0x29a22: 0x6d184220,\n\t0x29a27: 0x6d0a9e20,\n\t0x29a2c: 0x6cfdd420,\n\t0x29a33: 0x6c08a420,\n\t0x29a36: 0x6c6b3020, 0x29a37: 0x6c43a620,\n\t0x29a38: 0x6d2b5620, 0x29a3a: 0x6d326a20, 0x29a3b: 0x6c55aa20,\n\t0x29a3c: 0x6cf6b420, 0x29a3d: 0x6d02e820, 0x29a3e: 0x6cff1220, 0x29a3f: 0x6c404e20,\n\t// Block 0xa69, offset 0x29a40\n\t0x29a40: 0x6d383c20, 0x29a42: 0x6c99b620, 0x29a43: 0x6d02ea20,\n\t0x29a44: 0x6cbad820,\n\t0x29a48: 0x6c3b9220, 0x29a49: 0x6c049820, 0x29a4a: 0x6c583220,\n\t0x29a51: 0x6c687620, 0x29a53: 0x6c066620,\n\t0x29a54: 0x6d0af820, 0x29a55: 0x6d114020,\n\t0x29a5b: 0x6cf8d820,\n\t0x29a5d: 0x6c729e20, 0x29a5f: 0x6cc27c20,\n\t0x29a60: 0x6d26f020, 0x29a61: 0x6cdf4220, 0x29a62: 0x6ce81820, 0x29a63: 0x6ca16c20,\n\t0x29a64: 0x6d2c5420, 0x29a65: 0x6cc1ce20, 0x29a67: 0x6c3da620,\n\t0x29a69: 0x6cc1d020, 0x29a6a: 0x6c1c7e20,\n\t0x29a6c: 0x6d1f7c20,\n\t0x29a77: 0x6ce38620,\n\t0x29a7a: 0x6cebf020,\n\t0x29a7d: 0x6ceb5620, 0x29a7f: 0x6c1eb220,\n\t// Block 0xa6a, offset 0x29a80\n\t0x29a81: 0x6c43b020,\n\t0x29a88: 0x6d251620, 0x29a89: 0x6c43b220, 0x29a8a: 0x6cc1d220,\n\t0x29a8f: 0x6c72a020,\n\t0x29a92: 0x6c2ef820, 0x29a93: 0x6d157e20,\n\t0x29a94: 0x6cd20820, 0x29a95: 0x6d18e420, 0x29a97: 0x6c4b2020,\n\t0x29a98: 0x6c680420, 0x29a9a: 0x6cd94420, 0x29a9b: 0x6cbf7220,\n\t0x29a9d: 0x6c36c220, 0x29a9e: 0x6c59a420, 0x29a9f: 0x6c5b4620,\n\t0x29aa0: 0x6d0a4620, 0x29aa3: 0x6c717020,\n\t0x29aa5: 0x6d2d2220, 0x29aa6: 0x6c1c8220, 0x29aa7: 0x6c81c020,\n\t0x29aa9: 0x6cb66820, 0x29aaa: 0x6d050420,\n\t0x29aac: 0x6c5af620, 0x29aad: 0x6ce79820,\n\t0x29aba: 0x6c407220,\n\t0x29abd: 0x6d0a4820, 0x29abe: 0x6c6b4e20, 0x29abf: 0x6c9d0620,\n\t// Block 0xa6b, offset 0x29ac0\n\t0x29ac0: 0x6d242820,\n\t0x29ac8: 0x6d3c4a20, 0x29ac9: 0x6c688e20, 0x29aca: 0x6d373820, 0x29acb: 0x6c1a5220,\n\t0x29acd: 0x6c6b6c20, 0x29ace: 0x6cff3220, 0x29acf: 0x6c18f220,\n\t0x29ad0: 0x6c848220, 0x29ad1: 0x6d26fe20, 0x29ad3: 0x6d373a20,\n\t0x29ad4: 0x6c818820, 0x29ad5: 0x6cf32c20, 0x29ad6: 0x6cc1ea20,\n\t0x29ad8: 0x6cedce20, 0x29ada: 0x6d142e20, 0x29adb: 0x6d190420,\n\t0x29adc: 0x6c80f220, 0x29ade: 0x6ce7fa20, 0x29adf: 0x6c015c20,\n\t0x29ae0: 0x6c74e420, 0x29ae1: 0x6d0ee420,\n\t0x29ae5: 0x6c72b020, 0x29ae7: 0x6d327620,\n\t0x29ae9: 0x6d373c20, 0x29aea: 0x6c98a820,\n\t0x29aee: 0x6d055420,\n\t0x29af1: 0x6c208020, 0x29af2: 0x6c1e6c20,\n\t0x29af8: 0x6cbafc20, 0x29af9: 0x6c3a2620, 0x29afa: 0x6c16d420,\n\t0x29afc: 0x6c9dec20, 0x29afd: 0x6cdb5a20, 0x29afe: 0x6c02b820,\n\t// Block 0xa6c, offset 0x29b00\n\t0x29b00: 0x6c3f9620,\n\t0x29b04: 0x6cf10620, 0x29b05: 0x6d342420, 0x29b06: 0x6c9f8220, 0x29b07: 0x6c168820,\n\t0x29b08: 0x6d0cfa20, 0x29b09: 0x6d245820, 0x29b0b: 0x6c408a20,\n\t0x29b0c: 0x6cded020, 0x29b0d: 0x6c616020, 0x29b0f: 0x6c3aee20,\n\t0x29b12: 0x6c55f620, 0x29b13: 0x6c70e220,\n\t0x29b15: 0x6d22ac20,\n\t0x29b1b: 0x6cb69220,\n\t0x29b1c: 0x6c9a3820, 0x29b1f: 0x6c0ccc20,\n\t0x29b20: 0x6c4cd820,\n\t0x29b24: 0x6ca04c20, 0x29b26: 0x6ced5e20, 0x29b27: 0x6ced6020,\n\t0x29b34: 0x6c6dec20, 0x29b35: 0x6d245a20, 0x29b36: 0x6cfbce20,\n\t0x29b39: 0x6c212a20, 0x29b3a: 0x6c60f820,\n\t0x29b3c: 0x6cfd9620, 0x29b3d: 0x6cae4420, 0x29b3e: 0x6c409220,\n\t// Block 0xa6d, offset 0x29b40\n\t0x29b42: 0x6c8ed820,\n\t0x29b44: 0x6cc9da20, 0x29b45: 0x6d08f020, 0x29b46: 0x6d409220,\n\t0x29b48: 0x6c6b7e20, 0x29b4b: 0x6d2dc220,\n\t0x29b4d: 0x6d21e820, 0x29b4e: 0x6d21ea20, 0x29b4f: 0x6c9a4020,\n\t0x29b50: 0x6c9ea820, 0x29b51: 0x6c99c020, 0x29b52: 0x6c346a20, 0x29b53: 0x6c409420,\n\t0x29b5b: 0x6c671820,\n\t0x29b66: 0x6c9e8420,\n\t0x29b68: 0x6c023a20,\n\t0x29b6d: 0x6c78e620,\n\t0x29b76: 0x6c544420,\n\t0x29b7a: 0x6c46e420,\n\t0x29b7c: 0x6cf74c20, 0x29b7e: 0x6cc6e820, 0x29b7f: 0x6c43be20,\n\t// Block 0xa6e, offset 0x29b80\n\t0x29b80: 0x6cac9220, 0x29b81: 0x6d25d420, 0x29b82: 0x6cfa5e20,\n\t0x29b85: 0x6ccc2e20, 0x29b86: 0x6cafa620,\n\t0x29b88: 0x6cbe9620, 0x29b89: 0x6d1dde20, 0x29b8a: 0x6cc20220,\n\t0x29b8c: 0x6c462820, 0x29b8e: 0x6c446820, 0x29b8f: 0x6cfb0820,\n\t0x29b91: 0x6cdb6820,\n\t0x29b95: 0x6c04ae20, 0x29b96: 0x6cb6a820, 0x29b97: 0x6c548820,\n\t0x29b9b: 0x6cf74e20,\n\t0x29b9d: 0x6cf39220,\n\t0x29bad: 0x6cb55620, 0x29bae: 0x6c56ec20, 0x29baf: 0x6c4aae20,\n\t0x29bb1: 0x6c2bbc20, 0x29bb2: 0x6cce2c20, 0x29bb3: 0x6c975220,\n\t0x29bb4: 0x6c9fde20, 0x29bb5: 0x6c62ea20, 0x29bb6: 0x6cf7c820, 0x29bb7: 0x6cfb1020,\n\t0x29bb8: 0x6c610220, 0x29bb9: 0x6c16d820, 0x29bba: 0x6c7a1220, 0x29bbb: 0x6c1cfc20,\n\t// Block 0xa6f, offset 0x29bc0\n\t0x29bc2: 0x6d2ef020, 0x29bc3: 0x6cb1aa20,\n\t0x29bc4: 0x6cdb6c20, 0x29bc5: 0x6c94cc20, 0x29bc6: 0x6c84c620, 0x29bc7: 0x6c9c2020,\n\t0x29bc8: 0x6c1cfe20, 0x29bc9: 0x6ce47c20, 0x29bcb: 0x6c8da820,\n\t0x29bcd: 0x6c1c9a20,\n\t0x29bd6: 0x6c1d0020,\n\t0x29bd9: 0x6c1c9c20,\n\t0x29bdd: 0x6ca7c820, 0x29bdf: 0x6d1e0a20,\n\t0x29bee: 0x6c9db020,\n\t0x29bf0: 0x6cd51e20, 0x29bf2: 0x6cf93820,\n\t0x29bf4: 0x6c36f620, 0x29bf5: 0x6d3ec820,\n\t0x29bf8: 0x6c6b8420, 0x29bf9: 0x6c5faa20, 0x29bfa: 0x6c53e820, 0x29bfb: 0x6cd18220,\n\t0x29bfc: 0x6c879c20, 0x29bfe: 0x6cb55c20,\n\t// Block 0xa70, offset 0x29c00\n\t0x29c00: 0x6d38c620, 0x29c01: 0x6cd85820, 0x29c02: 0x6cc21e20,\n\t0x29c0b: 0x6d013420,\n\t0x29c17: 0x6cd85a20,\n\t0x29c1b: 0x6d061220,\n\t0x29c20: 0x6c409e20,\n\t0x29c2f: 0x6ca9e620,\n\t0x29c30: 0x6d0bd020, 0x29c31: 0x6c8ef020, 0x29c32: 0x6c643420, 0x29c33: 0x6c4ab020,\n\t0x29c34: 0x6c7cc020, 0x29c35: 0x6c1ca220, 0x29c36: 0x6c121620, 0x29c37: 0x6c1ed020,\n\t0x29c39: 0x6c4c5020, 0x29c3b: 0x6c285a20,\n\t0x29c3f: 0x6c672e20,\n\t// Block 0xa71, offset 0x29c40\n\t0x29c41: 0x6c292620, 0x29c42: 0x6c548c20,\n\t0x29c44: 0x6c7a1420, 0x29c46: 0x6c1f9220, 0x29c47: 0x6cb96220,\n\t0x29c48: 0x6c010c20, 0x29c4a: 0x6cb0e420,\n\t0x29c51: 0x6d0abc20, 0x29c52: 0x6c6dfc20, 0x29c53: 0x6c9c2620,\n\t0x29c55: 0x6c0d7a20, 0x29c56: 0x6c801620, 0x29c57: 0x6c47fa20,\n\t0x29c58: 0x6c1e1420, 0x29c5b: 0x6d1dec20,\n\t0x29c5c: 0x6c488420, 0x29c5d: 0x6d220a20, 0x29c5e: 0x6d397420,\n\t0x29c6d: 0x6c115820, 0x29c6f: 0x6c8ef420,\n\t0x29c70: 0x6c105420, 0x29c71: 0x6c965820, 0x29c72: 0x6c6b8c20, 0x29c73: 0x6d31a820,\n\t0x29c74: 0x6c9f2220, 0x29c75: 0x6c4a1620, 0x29c77: 0x6c63f820,\n\t0x29c79: 0x6c7ed220,\n\t// Block 0xa72, offset 0x29c80\n\t0x29c80: 0x6cd48c20, 0x29c83: 0x6c4c5220,\n\t0x29c86: 0x6c9c2820, 0x29c87: 0x6cb9ea20,\n\t0x29c88: 0x6c7f8420, 0x29c8a: 0x6c51b220, 0x29c8b: 0x6ce97c20,\n\t0x29c91: 0x6c5b1020,\n\t0x29c98: 0x6c52e620,\n\t0x29c9c: 0x6c93c820, 0x29c9f: 0x6c63fa20,\n\t0x29ca5: 0x6c4ab220,\n\t0x29ca8: 0x6d144420, 0x29ca9: 0x6c585420,\n\t0x29cb0: 0x6c95a220,\n\t0x29cb4: 0x6c754620,\n\t0x29cb8: 0x6c49ce20, 0x29cbb: 0x6cc34820,\n\t0x29cbc: 0x6ca7cc20, 0x29cbf: 0x6c97b220,\n\t// Block 0xa73, offset 0x29cc0\n\t0x29cc2: 0x6d282420, 0x29cc3: 0x6cf18a20,\n\t0x29cc4: 0x6c1c0c20, 0x29cc5: 0x6c1c1820, 0x29cc6: 0x6d33dc20,\n\t0x29cc8: 0x6c224420, 0x29cc9: 0x6d3c3e20, 0x29cca: 0x6c573c20, 0x29ccb: 0x6c6ac020,\n\t0x29ccc: 0x6cc19e20, 0x29ccd: 0x6ce86620, 0x29cce: 0x6c9f6a20, 0x29ccf: 0x6c9a2020,\n\t0x29cd0: 0x6d218020, 0x29cd1: 0x6c026e20, 0x29cd2: 0x6c049a20,\n\t0x29cd4: 0x6caf8c20, 0x29cd5: 0x6d31a420, 0x29cd6: 0x6c91d020, 0x29cd7: 0x6c1c5420,\n\t0x29cd8: 0x6ce7f620, 0x29cda: 0x6c6a3420,\n\t0x29cdc: 0x6d2da420,\n\t0x29ce2: 0x6c6c6820, 0x29ce3: 0x6c91f020,\n\t0x29ce6: 0x6c670a20, 0x29ce7: 0x6ce0b420,\n\t0x29ce8: 0x6c168a20, 0x29cea: 0x6c22ee20,\n\t0x29ced: 0x6cec5c20, 0x29cee: 0x6c240620, 0x29cef: 0x6c771a20,\n\t0x29cf1: 0x6c0bd820,\n\t0x29cf8: 0x6cf17620, 0x29cfb: 0x6cb95620,\n\t0x29cff: 0x6c424220,\n\t// Block 0xa74, offset 0x29d00\n\t0x29d02: 0x6c5ca220,\n\t0x29d04: 0x6c420620, 0x29d06: 0x6c630020, 0x29d07: 0x6c424620,\n\t0x29d09: 0x6c580820,\n\t0x29d0d: 0x6cd8dc20,\n\t0x29d10: 0x6c3d9a20,\n\t0x29d15: 0x6cb01620, 0x29d17: 0x6c10d620,\n\t0x29d1c: 0x6c07c620,\n\t0x29d22: 0x6cd2dc20,\n\t0x29d25: 0x6c58b020, 0x29d27: 0x6c4a9420,\n\t0x29d2a: 0x6cab9620,\n\t0x29d33: 0x6cad7020,\n\t0x29d35: 0x6d1d2020, 0x29d36: 0x6ce6e620, 0x29d37: 0x6d001820,\n\t0x29d39: 0x6d3b3620, 0x29d3b: 0x6d21d220,\n\t// Block 0xa75, offset 0x29d40\n\t0x29d41: 0x6c66fa20,\n\t0x29d44: 0x6cc25420, 0x29d45: 0x6ced6220, 0x29d46: 0x6c7d9220, 0x29d47: 0x6d3c7220,\n\t0x29d49: 0x6d245c20, 0x29d4a: 0x6c4cda20, 0x29d4b: 0x6cb2de20,\n\t0x29d4c: 0x6d41a420, 0x29d4d: 0x6d40fa20, 0x29d4f: 0x6d39e820,\n\t0x29d50: 0x6caa9c20, 0x29d51: 0x6d39ea20,\n\t0x29d56: 0x6cb17620, 0x29d57: 0x6c9cac20,\n\t0x29d5c: 0x6c0ad220, 0x29d5d: 0x6cdb6e20,\n\t0x29d61: 0x6cb47a20, 0x29d62: 0x6c9cc420,\n\t0x29d6b: 0x6d13a620,\n\t0x29d6c: 0x6d22b420, 0x29d6e: 0x6d249620,\n\t0x29d70: 0x6d3a9420, 0x29d73: 0x6c8dc220,\n\t0x29d7a: 0x6caa3620,\n\t0x29d7e: 0x6c8d3020,\n\t// Block 0xa76, offset 0x29d80\n\t0x29d80: 0x6c8a7020, 0x29d82: 0x6ceace20,\n\t0x29d84: 0x6c08f020, 0x29d85: 0x6ca36a20, 0x29d86: 0x6cc1bc20,\n\t0x29d88: 0x6cb01820, 0x29d89: 0x6c30f420, 0x29d8a: 0x6ca86e20, 0x29d8b: 0x6cea6820,\n\t0x29d8d: 0x6c5f2620, 0x29d8f: 0x6c8d5420,\n\t0x29d93: 0x6c7aaa20,\n\t0x29d94: 0x6cdb2c20,\n\t0x29d98: 0x6ce81a20,\n\t0x29d9e: 0x6ca38620, 0x29d9f: 0x6d2b0c20,\n\t0x29da2: 0x6ce7c420, 0x29da3: 0x6c444a20,\n\t0x29da4: 0x6c331820, 0x29da7: 0x6c6b5020,\n\t0x29da9: 0x6ce4c820, 0x29daa: 0x6ce5e220, 0x29dab: 0x6c1b6020,\n\t0x29dac: 0x6cc14e20, 0x29dae: 0x6ccc2820,\n\t0x29db0: 0x6c0f9e20, 0x29db1: 0x6c848420, 0x29db3: 0x6c963a20,\n\t0x29db5: 0x6c8a4420, 0x29db6: 0x6cd62620, 0x29db7: 0x6c2ad220,\n\t0x29db9: 0x6c1ae620, 0x29dba: 0x6c9f0220,\n\t0x29dbc: 0x6ce24e20, 0x29dbd: 0x6c5d0c20, 0x29dbf: 0x6ca7e220,\n\t// Block 0xa77, offset 0x29dc0\n\t0x29dc1: 0x6c75fe20, 0x29dc2: 0x6c56dc20,\n\t0x29dc4: 0x6c932e20, 0x29dc5: 0x6d138820, 0x29dc7: 0x6ca18620,\n\t0x29dc8: 0x6c17c820,\n\t0x29dcc: 0x6cddd420, 0x29dce: 0x6c784220, 0x29dcf: 0x6c409620,\n\t0x29dd1: 0x6c17aa20,\n\t0x29dd4: 0x6cddbc20, 0x29dd7: 0x6cbfe220,\n\t0x29ddb: 0x6cdb6a20,\n\t0x29ddd: 0x6d287620, 0x29ddf: 0x6cddc220,\n\t0x29de0: 0x6c7a7020, 0x29de1: 0x6c0fc420, 0x29de3: 0x6c90fe20,\n\t0x29de4: 0x6ca1a220, 0x29de6: 0x6c88e220, 0x29de7: 0x6d08d220,\n\t0x29de8: 0x6cddc420, 0x29de9: 0x6c97aa20, 0x29dea: 0x6c0ad420,\n\t0x29df2: 0x6ce44820,\n\t0x29df4: 0x6c88a620, 0x29df5: 0x6ce04a20, 0x29df6: 0x6ccdf220,\n\t0x29df8: 0x6cc22820, 0x29df9: 0x6c320820, 0x29dfa: 0x6c58d420, 0x29dfb: 0x6ccb0e20,\n\t0x29dff: 0x6c7c2620,\n\t// Block 0xa78, offset 0x29e00\n\t0x29e03: 0x6ca8dc20,\n\t0x29e05: 0x6ca8de20, 0x29e06: 0x6c95a420, 0x29e07: 0x6d425c20,\n\t0x29e08: 0x6d174e20, 0x29e09: 0x6cfcc020, 0x29e0a: 0x6c179820, 0x29e0b: 0x6ce61220,\n\t0x29e12: 0x6cd79620,\n\t0x29e14: 0x6c9d0020, 0x29e17: 0x6c9c7220,\n\t0x29e1b: 0x6ced5220,\n\t0x29e1d: 0x6c07c820, 0x29e1e: 0x6cbae020,\n\t0x29e20: 0x6ca0b020, 0x29e23: 0x6c8eca20,\n\t0x29e24: 0x6cf32e20, 0x29e26: 0x6c9a7020,\n\t0x29e28: 0x6ce7fe20, 0x29e2b: 0x6ca25a20,\n\t0x29e2d: 0x6c9a4420,\n\t0x29e32: 0x6d42b620,\n\t0x29e34: 0x6cea6420, 0x29e35: 0x6c778c20, 0x29e36: 0x6cea6a20,\n\t0x29e3a: 0x6c184c20, 0x29e3b: 0x6d336a20,\n\t0x29e3d: 0x6c1cec20, 0x29e3e: 0x6ce47820,\n\t// Block 0xa79, offset 0x29e40\n\t0x29e40: 0x6d372020, 0x29e41: 0x6c153420, 0x29e42: 0x6c153e20,\n\t0x29e45: 0x6cbe5c20, 0x29e46: 0x6cea3420, 0x29e47: 0x6c5b7a20,\n\t0x29e48: 0x6cc41420, 0x29e49: 0x6d2dba20, 0x29e4a: 0x6c652c20, 0x29e4b: 0x6c154c20,\n\t0x29e4d: 0x6c5a2620, 0x29e4f: 0x6c5b0620,\n\t0x29e50: 0x6c1b6a20, 0x29e52: 0x6c5a2820, 0x29e53: 0x6c528220,\n\t0x29e54: 0x6d280820, 0x29e56: 0x6ce94020, 0x29e57: 0x6c0b1c20,\n\t0x29e59: 0x6c5a3620, 0x29e5a: 0x6d280a20,\n\t0x29e5f: 0x6ca1a420,\n\t0x29e60: 0x6c45c420, 0x29e62: 0x6c45c620,\n\t0x29e64: 0x6c4bb020, 0x29e66: 0x6c157820,\n\t0x29e68: 0x6cc42220, 0x29e69: 0x6cc8ee20, 0x29e6a: 0x6c7c2820, 0x29e6b: 0x6cb1c220,\n\t0x29e6e: 0x6cc80220,\n\t0x29e72: 0x6ca9a220, 0x29e73: 0x6c56c820,\n\t0x29e74: 0x6c6cb820, 0x29e75: 0x6ca6d220, 0x29e76: 0x6c067420,\n\t0x29e78: 0x6ca65620, 0x29e7a: 0x6c0a8420, 0x29e7b: 0x6c55d820,\n\t0x29e7c: 0x6c846a20, 0x29e7f: 0x6d39dc20,\n\t// Block 0xa7a, offset 0x29e80\n\t0x29e80: 0x6ca2fc20, 0x29e82: 0x6cc36620, 0x29e83: 0x6c3cd220,\n\t0x29e84: 0x6c090020, 0x29e85: 0x6c84a020, 0x29e86: 0x6c0d0820, 0x29e87: 0x6ca70e20,\n\t0x29e88: 0x6c304820, 0x29e8b: 0x6c88a020,\n\t0x29e8c: 0x6ca6e420, 0x29e8d: 0x6c88a820, 0x29e8e: 0x6c968820, 0x29e8f: 0x6d30ca20,\n\t0x29e93: 0x6c639420,\n\t0x29e94: 0x6d15a820, 0x29e96: 0x6c904c20,\n\t0x29e98: 0x6d181820,\n\t0x29e9d: 0x6c278e20, 0x29e9e: 0x6c327820,\n\t0x29ea3: 0x6d160c20,\n\t0x29ea5: 0x6cdf8220, 0x29ea6: 0x6c4f5420, 0x29ea7: 0x6cd61620,\n\t0x29eac: 0x6cece820, 0x29eae: 0x6cdb2e20, 0x29eaf: 0x6d11d820,\n\t0x29eb0: 0x6c37e020, 0x29eb2: 0x6d326e20,\n\t0x29eba: 0x6c313e20, 0x29ebb: 0x6c651220,\n\t0x29ebf: 0x6cace620,\n\t// Block 0xa7b, offset 0x29ec0\n\t0x29ec0: 0x6c5afe20, 0x29ec2: 0x6c145420, 0x29ec3: 0x6ccd1c20,\n\t0x29ec4: 0x6c916620, 0x29ec6: 0x6d244c20,\n\t0x29ec8: 0x6d0ef420, 0x29ec9: 0x6ced6420, 0x29eca: 0x6cbc6e20, 0x29ecb: 0x6c953420,\n\t0x29ecc: 0x6d245e20, 0x29ecf: 0x6ce90620,\n\t0x29ed0: 0x6cf10820, 0x29ed2: 0x6cea8e20,\n\t0x29ed5: 0x6c5d1820, 0x29ed6: 0x6c079020, 0x29ed7: 0x6cbd0620,\n\t0x29ed9: 0x6c6c7420, 0x29eda: 0x6c7f3620,\n\t0x29edc: 0x6d356620, 0x29edd: 0x6d21ec20, 0x29edf: 0x6c22f020,\n\t0x29ee6: 0x6d139420, 0x29ee7: 0x6c2f0c20,\n\t0x29ee8: 0x6c145820, 0x29ee9: 0x6c2d9a20, 0x29eea: 0x6c97a220,\n\t0x29eec: 0x6c2afc20, 0x29eed: 0x6ceed020, 0x29eee: 0x6ca75020, 0x29eef: 0x6c835e20,\n\t0x29ef0: 0x6c0db820, 0x29ef1: 0x6cf39420, 0x29ef3: 0x6d320820,\n\t0x29ef6: 0x6cc77420, 0x29ef7: 0x6cec7c20,\n\t0x29ef8: 0x6c9dac20, 0x29ef9: 0x6c6c1020, 0x29efb: 0x6c544620,\n\t0x29efd: 0x6d2d5620, 0x29efe: 0x6cc80a20, 0x29eff: 0x6d3ec620,\n\t// Block 0xa7c, offset 0x29f00\n\t0x29f00: 0x6cac9420, 0x29f02: 0x6ca1a620,\n\t0x29f04: 0x6c9db220, 0x29f06: 0x6cb55820, 0x29f07: 0x6ca1a820,\n\t0x29f0a: 0x6d342c20, 0x29f0b: 0x6c04b020,\n\t0x29f0d: 0x6c9f1820, 0x29f0f: 0x6c933e20,\n\t0x29f11: 0x6cb55e20, 0x29f12: 0x6c1d0420,\n\t0x29f14: 0x6c84d220, 0x29f15: 0x6d196e20,\n\t0x29f18: 0x6c2b0620, 0x29f19: 0x6c25d220, 0x29f1b: 0x6c339020,\n\t0x29f1c: 0x6c96e820, 0x29f1d: 0x6d0e2c20, 0x29f1f: 0x6d2bba20,\n\t0x29f20: 0x6d0e2e20, 0x29f21: 0x6c339220, 0x29f22: 0x6cb42620,\n\t0x29f25: 0x6d273020,\n\t0x29f29: 0x6c5e5c20, 0x29f2a: 0x6c975420, 0x29f2b: 0x6c664620,\n\t0x29f2c: 0x6ca9e820, 0x29f2d: 0x6cbdc020, 0x29f2f: 0x6cbdc220,\n\t0x29f32: 0x6d13aa20,\n\t0x29f34: 0x6cdf5420,\n\t0x29f39: 0x6c655c20,\n\t0x29f3c: 0x6c141620, 0x29f3e: 0x6c28f220, 0x29f3f: 0x6ce2e220,\n\t// Block 0xa7d, offset 0x29f40\n\t0x29f40: 0x6c87ce20, 0x29f43: 0x6ca77c20,\n\t0x29f44: 0x6c158420, 0x29f45: 0x6d29f620,\n\t0x29f4a: 0x6d24b820,\n\t0x29f4c: 0x6d41e220, 0x29f4d: 0x6c0b2020,\n\t0x29f50: 0x6c1ef820,\n\t0x29f58: 0x6cc48c20, 0x29f5a: 0x6cc49820, 0x29f5b: 0x6d0f7020,\n\t0x29f5c: 0x6c0fe820,\n\t0x29f61: 0x6c247820,\n\t0x29f6c: 0x6c9cae20, 0x29f6e: 0x6c787420,\n\t0x29f70: 0x6c248420,\n\t0x29f77: 0x6cf7ce20,\n\t0x29f79: 0x6c968a20, 0x29f7b: 0x6cd22020,\n\t0x29f7c: 0x6c2d0420, 0x29f7f: 0x6cd22220,\n\t// Block 0xa7e, offset 0x29f80\n\t0x29f82: 0x6c2f7620, 0x29f83: 0x6c6ee420,\n\t0x29f85: 0x6d25a820, 0x29f86: 0x6c41b220,\n\t0x29f8a: 0x6c5ca420, 0x29f8b: 0x6c5f4e20,\n\t0x29f8d: 0x6caed420, 0x29f8f: 0x6c2ab220,\n\t0x29f91: 0x6c085e20,\n\t0x29f94: 0x6cacea20, 0x29f95: 0x6cded420, 0x29f97: 0x6d252220,\n\t0x29f98: 0x6c42ee20, 0x29f99: 0x6d252420,\n\t0x29f9f: 0x6c639220,\n\t0x29fa3: 0x6c799020,\n\t0x29fa6: 0x6c309820,\n\t0x29fa9: 0x6cfbd820, 0x29faa: 0x6cb80620,\n\t0x29fac: 0x6cca7c20,\n\t0x29fb0: 0x6d1b9820, 0x29fb3: 0x6c901a20,\n\t0x29fb6: 0x6ce29a20, 0x29fb7: 0x6c902420,\n\t0x29fba: 0x6cc60820,\n\t0x29fbd: 0x6d1b9020, 0x29fbe: 0x6cb2d820, 0x29fbf: 0x6cb41c20,\n\t// Block 0xa7f, offset 0x29fc0\n\t0x29fc0: 0x6d25be20, 0x29fc1: 0x6cc72a20, 0x29fc3: 0x6c399e20,\n\t0x29fc7: 0x6c4f5820,\n\t0x29fc8: 0x6c9c8820, 0x29fc9: 0x6c55ea20, 0x29fca: 0x6d3eb620,\n\t0x29fcc: 0x6c8d7e20, 0x29fcd: 0x6c6eea20, 0x29fce: 0x6cc72e20,\n\t0x29fd2: 0x6cb2e020, 0x29fd3: 0x6c49fc20,\n\t0x29fd4: 0x6c37ae20,\n\t0x29fdd: 0x6c247e20, 0x29fde: 0x6c760020,\n\t0x29fe6: 0x6d052a20,\n\t0x29fe8: 0x6c377a20, 0x29fe9: 0x6ce44420, 0x29feb: 0x6d0ff820,\n\t0x29fed: 0x6c010a20, 0x29fee: 0x6c560820, 0x29fef: 0x6cf7ca20,\n\t0x29ff1: 0x6c560a20, 0x29ff3: 0x6cd85220,\n\t0x29ff4: 0x6c854e20, 0x29ff6: 0x6d197020, 0x29ff7: 0x6c47f620,\n\t0x29ff9: 0x6ce16a20,\n\t// Block 0xa80, offset 0x2a000\n\t0x2a000: 0x6cc42420, 0x2a001: 0x6d3fe620, 0x2a002: 0x6c84de20,\n\t0x2a004: 0x6c69ec20, 0x2a007: 0x6c38fe20,\n\t0x2a008: 0x6cb47e20, 0x2a009: 0x6cd86620, 0x2a00b: 0x6c6b9020,\n\t0x2a00c: 0x6c91b220, 0x2a00d: 0x6c87d020, 0x2a00e: 0x6c158620,\n\t0x2a010: 0x6d122220,\n\t0x2a015: 0x6c5b0020,\n\t0x2a019: 0x6c53e420, 0x2a01a: 0x6c2cea20, 0x2a01b: 0x6cc0be20,\n\t0x2a01c: 0x6c74f820, 0x2a01e: 0x6cb0d420,\n\t0x2a022: 0x6c7c5220,\n\t0x2a025: 0x6cf82820, 0x2a026: 0x6ce30c20,\n\t0x2a029: 0x6d076820,\n\t0x2a02f: 0x6c0b6220,\n\t0x2a032: 0x6c50b020, 0x2a033: 0x6c88ac20,\n\t0x2a036: 0x6cdb7620, 0x2a037: 0x6c8ab220,\n\t0x2a03c: 0x6c6c7820,\n\t// Block 0xa81, offset 0x2a040\n\t0x2a041: 0x6c87d220, 0x2a042: 0x6c158820,\n\t0x2a045: 0x6cb65a20, 0x2a046: 0x6cb66c20,\n\t0x2a049: 0x6d3ec020, 0x2a04b: 0x6d3ec420,\n\t0x2a04d: 0x6cb6b220, 0x2a04f: 0x6cb6b820,\n\t0x2a050: 0x6d3ed020, 0x2a052: 0x6d2d1020, 0x2a053: 0x6d2d1420,\n\t0x2a054: 0x6cabec20, 0x2a056: 0x6c70d820,\n\t0x2a059: 0x6d0df420,\n\t0x2a05c: 0x6c4f8c20, 0x2a05d: 0x6ca37020,\n\t0x2a064: 0x6d0e0220, 0x2a066: 0x6d2e9c20, 0x2a067: 0x6cd2e020,\n\t0x2a068: 0x6d34ba20,\n\t0x2a06d: 0x6d2c0a20,\n\t0x2a074: 0x6cc73420, 0x2a075: 0x6d2c0c20, 0x2a077: 0x6d195820,\n\t0x2a078: 0x6ca02820, 0x2a079: 0x6d0b4020, 0x2a07b: 0x6d376620,\n\t0x2a07d: 0x6c7e3020, 0x2a07e: 0x6cfa1c20,\n\t// Block 0xa82, offset 0x2a080\n\t0x2a080: 0x6cb13820, 0x2a081: 0x6cdeec20, 0x2a083: 0x6d162a20,\n\t0x2a086: 0x6d051620, 0x2a087: 0x6d2d0c20,\n\t0x2a089: 0x6c34c420, 0x2a08a: 0x6c36e420,\n\t0x2a08e: 0x6d1ab420,\n\t0x2a090: 0x6c36ee20, 0x2a091: 0x6cdb8e20, 0x2a092: 0x6c016420, 0x2a093: 0x6c260420,\n\t0x2a095: 0x6ceb6420, 0x2a097: 0x6ceb6620,\n\t0x2a098: 0x6cfa1e20, 0x2a09b: 0x6c21ea20,\n\t0x2a09d: 0x6cdb9020,\n\t0x2a0a5: 0x6c62f420, 0x2a0a6: 0x6cba3620, 0x2a0a7: 0x6d410420,\n\t0x2a0a8: 0x6d2d0e20, 0x2a0a9: 0x6d280e20, 0x2a0aa: 0x6d2ea620,\n\t0x2a0ac: 0x6d159c20,\n\t0x2a0b2: 0x6d0b4220, 0x2a0b3: 0x6d266020,\n\t0x2a0b9: 0x6c51ac20, 0x2a0ba: 0x6cb88820,\n\t0x2a0be: 0x6c13c220,\n\t// Block 0xa83, offset 0x2a0c0\n\t0x2a0c3: 0x6cab7020,\n\t0x2a0c8: 0x6c560c20, 0x2a0ca: 0x6d0f2020,\n\t0x2a0cc: 0x6cbd0e20, 0x2a0cd: 0x6c0fd820, 0x2a0ce: 0x6cbafe20, 0x2a0cf: 0x6c6c1420,\n\t0x2a0db: 0x6ca6e820,\n\t0x2a0de: 0x6c162420, 0x2a0df: 0x6cbdf620,\n\t0x2a0e1: 0x6d2a3220,\n\t0x2a0e4: 0x6d1b3220, 0x2a0e5: 0x6d029c20, 0x2a0e7: 0x6cb6ba20,\n\t0x2a0e8: 0x6c673420, 0x2a0eb: 0x6d061420,\n\t0x2a0ed: 0x6d2bbc20, 0x2a0ef: 0x6c370420,\n\t0x2a0f3: 0x6d40a020,\n\t0x2a0f4: 0x6d163220,\n\t0x2a0f9: 0x6d34c820, 0x2a0fa: 0x6c87d420,\n\t0x2a0fd: 0x6c87d620, 0x2a0fe: 0x6d1aba20,\n\t// Block 0xa84, offset 0x2a100\n\t0x2a101: 0x6c88b220, 0x2a103: 0x6c158a20,\n\t0x2a105: 0x6c754820, 0x2a107: 0x6d28e620,\n\t0x2a10e: 0x6d2d1620, 0x2a10f: 0x6cb12220,\n\t0x2a111: 0x6c8fd220, 0x2a113: 0x6c8fd420,\n\t0x2a118: 0x6c8fe220,\n\t0x2a11d: 0x6c900020,\n\t0x2a120: 0x6c900c20, 0x2a122: 0x6c98b220,\n\t0x2a125: 0x6d30d020,\n\t0x2a12c: 0x6c423a20, 0x2a12d: 0x6c466a20, 0x2a12e: 0x6cc49a20, 0x2a12f: 0x6c248020,\n\t0x2a130: 0x6c68aa20,\n\t0x2a137: 0x6c0fec20,\n\t0x2a139: 0x6d3b4c20, 0x2a13a: 0x6cbfe820, 0x2a13b: 0x6d0f7220,\n\t// Block 0xa85, offset 0x2a140\n\t0x2a140: 0x6d003020, 0x2a142: 0x6c5b4820, 0x2a143: 0x6cc16c20,\n\t0x2a148: 0x6c8e0220, 0x2a14a: 0x6d1ab220,\n\t0x2a14e: 0x6cb0e820,\n\t0x2a152: 0x6c88b020,\n\t// Block 0xa86, offset 0x2a180\n\t0x2a19d: 0x6c343c20,\n\t// Block 0xa87, offset 0x2a1c0\n\t0x2a1c8: 0x6c040c20,\n\t0x2a1cf: 0x6d2d9220,\n\t// Block 0xa88, offset 0x2a200\n\t0x2a22e: 0x6c943c20,\n\t// Block 0xa89, offset 0x2a240\n\t0x2a24a: 0x6cd94a20,\n\t0x2a257: 0x6c73ac20,\n\t// Block 0xa8a, offset 0x2a280\n\t0x2a29d: 0x6d1d8e20,\n\t// Block 0xa8b, offset 0x2a2c0\n\t0x2a2f9: 0x6caa5c20,\n\t// Block 0xa8c, offset 0x2a300\n\t0x2a310: 0x6c230620,\n\t// Block 0xa8d, offset 0x2a340\n\t0x2a362: 0x6cfc9220,\n\t// Block 0xa8e, offset 0x2a380\n\t0x2a3a1: 0x6c85dc20,\n\t// Block 0xa8f, offset 0x2a3c0\n\t0x2a3c8: 0x6c3abc20,\n\t0x2a3d9: 0x6cdb3a20,\n\t// Block 0xa90, offset 0x2a400\n\t0x2a41c: 0x6c79dc20,\n\t// Block 0xa91, offset 0x2a440\n\t0x2a468: 0x6c1a9e20,\n\t0x2a478: 0x6d09b220,\n\t// Block 0xa92, offset 0x2a480\n\t0x2a4b0: 0x6cb86a20,\n\t// Block 0xa93, offset 0x2a4c0\n\t0x2a4d0: 0x6c45fe20,\n\t// Block 0xa94, offset 0x2a500\n\t0x2a500: 0x6c5ef220,\n\t0x2a528: 0x6c953a20,\n\t// Block 0xa95, offset 0x2a540\n\t0x2a559: 0x6d165020,\n\t0x2a55f: 0x6d146820,\n\t0x2a562: 0x6ca49820,\n\t0x2a570: 0x6cf7de20, 0x2a572: 0x6cffaa20,\n\t// Block 0xa96, offset 0x2a580\n\t0x2a58b: 0x6c73b020,\n\t// Block 0xa97, offset 0x2a5c0\n\t0x2a5c4: 0x6d268220, 0x2a5c6: 0x6c7b1020,\n\t0x2a5c9: 0x6c8cc220,\n\t0x2a5d0: 0x6ca5f020, 0x2a5d3: 0x6c108a20,\n\t// Block 0xa98, offset 0x2a600\n\t0x2a636: 0x6c4e3a20,\n\t// Block 0xa99, offset 0x2a640\n\t0x2a667: 0x6c3d5820,\n\t0x2a669: 0x6c230a20,\n\t// Block 0xa9a, offset 0x2a680\n\t0x2a68e: 0x6c74d220,\n\t// Block 0xa9b, offset 0x2a6c0\n\t0x2a6e0: 0x6d2eb220,\n\t0x2a6e6: 0x6c109020, 0x2a6e7: 0x6cda9a20,\n\t0x2a6ee: 0x6c59cc20,\n\t0x2a6f4: 0x6d2da220,\n\t// Block 0xa9c, offset 0x2a700\n\t0x2a71d: 0x6c73ea20,\n\t0x2a723: 0x6c4ea420,\n\t0x2a724: 0x6c003a20,\n\t0x2a728: 0x6ce33820,\n\t// Block 0xa9d, offset 0x2a740\n\t0x2a748: 0x6d06ca20, 0x2a749: 0x6c534620,\n\t0x2a752: 0x6c3e4620,\n\t0x2a754: 0x6c5b4020, 0x2a755: 0x6cd1e620,\n\t0x2a759: 0x6cb41220,\n\t// Block 0xa9e, offset 0x2a780\n\t0x2a79b: 0x6d33bc20,\n\t0x2a79e: 0x6c740c20,\n\t0x2a7a2: 0x6ca90020,\n\t0x2a7b6: 0x6c1c5220,\n\t0x2a7b8: 0x6ce36020,\n\t// Block 0xa9f, offset 0x2a7c0\n\t0x2a7c0: 0x6c857420, 0x2a7c1: 0x6cecb420, 0x2a7c2: 0x6d144620, 0x2a7c3: 0x48024420,\n\t0x2a7c4: 0x6ca62220, 0x2a7c5: 0x6cf43220, 0x2a7c6: 0x6ce9f420, 0x2a7c7: 0x6c0e1020,\n\t0x2a7c8: 0x6d28b220, 0x2a7c9: 0x6c071c20, 0x2a7ca: 0x6ccbb820, 0x2a7cb: 0x6cfe3c20,\n\t0x2a7cc: 0x6c75ee20, 0x2a7cd: 0x6cddc620, 0x2a7ce: 0x6c9dfe20, 0x2a7cf: 0x6ce92020,\n\t0x2a7d0: 0x6c5a2a20, 0x2a7d1: 0x6c720620, 0x2a7d2: 0x480a3820, 0x2a7d3: 0x44697220,\n\t0x2a7d4: 0x6ca57e20, 0x2a7d5: 0x6d292620, 0x2a7d6: 0x480a9620, 0x2a7d7: 0x6cc6ec20,\n\t0x2a7d8: 0x6d24d020, 0x2a7d9: 0x6c0da020, 0x2a7da: 0x6c2fd820, 0x2a7db: 0x6c7bdc20,\n\t0x2a7dc: 0x6cbee220, 0x2a7dd: 0x6cb9ec20, 0x2a7de: 0x6cc5a020, 0x2a7df: 0x6cafae20,\n\t0x2a7e0: 0x6c787a20, 0x2a7e1: 0x6c95a620, 0x2a7e2: 0x6c438c20, 0x2a7e3: 0x6c15bc20,\n\t0x2a7e4: 0x6c5fc020, 0x2a7e5: 0x6d1e1820, 0x2a7e6: 0x6c9e0c20, 0x2a7e7: 0x6cbd7c20,\n\t0x2a7e8: 0x6cce9420, 0x2a7e9: 0x6c059e20, 0x2a7ea: 0x6c22f420, 0x2a7eb: 0x6c06c620,\n\t0x2a7ec: 0x6c5b8420, 0x2a7ed: 0x6c068e20, 0x2a7ee: 0x6c0efe20, 0x2a7ef: 0x6c5fd220,\n\t0x2a7f0: 0x6c5fec20, 0x2a7f1: 0x6cbe3a20, 0x2a7f2: 0x6cbe3a20, 0x2a7f3: 0x6cbe3a20,\n\t0x2a7f4: 0x48145820, 0x2a7f5: 0x6c5a8620, 0x2a7f6: 0x6c5fb820, 0x2a7f7: 0x6cda0e20,\n\t0x2a7f8: 0x4816c620, 0x2a7f9: 0x6c697a20, 0x2a7fa: 0x6c1bd620, 0x2a7fb: 0x6d108620,\n\t0x2a7fc: 0x6cfc7820, 0x2a7fd: 0x6cf56a20, 0x2a7fe: 0x6c19b620, 0x2a7ff: 0x6d385a20,\n\t// Block 0xaa0, offset 0x2a800\n\t0x2a800: 0x6c35e420, 0x2a801: 0x6c9ec220, 0x2a802: 0x6ce0e820, 0x2a803: 0x6cb6ec20,\n\t0x2a804: 0x6cfb5820, 0x2a805: 0x6ccd8a20, 0x2a806: 0x6ccd8a20, 0x2a807: 0x6c5bbc20,\n\t0x2a808: 0x6c1aae20, 0x2a809: 0x6d2bd620, 0x2a80a: 0x6d110420, 0x2a80b: 0x6ce8d420,\n\t0x2a80c: 0x6ce0a020, 0x2a80d: 0x6ce8d620, 0x2a80e: 0x6c4fd020, 0x2a80f: 0x6cae3420,\n\t0x2a810: 0x6cbc9020, 0x2a811: 0x6d3c2c20, 0x2a812: 0x6c19c620, 0x2a813: 0x6d344c20,\n\t0x2a814: 0x6ce92220, 0x2a815: 0x6d03ca20, 0x2a816: 0x6c223620, 0x2a817: 0x6c064c20,\n\t0x2a818: 0x6c2c7c20, 0x2a819: 0x4829c820, 0x2a81a: 0x6c972420, 0x2a81b: 0x6c554020,\n\t0x2a81c: 0x6c3c9c20, 0x2a81d: 0x6c341620, 0x2a81e: 0x6c9c0420, 0x2a81f: 0x6cceea20,\n\t0x2a820: 0x6c1bda20, 0x2a821: 0x482dd420, 0x2a822: 0x6c5ea220, 0x2a823: 0x6d20ec20,\n\t0x2a824: 0x6ce9f820, 0x2a825: 0x6cb1e820, 0x2a826: 0x6c3fe420, 0x2a827: 0x6ccae220,\n\t0x2a828: 0x6c139820, 0x2a829: 0x6cc52820, 0x2a82a: 0x6c804820, 0x2a82b: 0x6c804820,\n\t0x2a82c: 0x48339020, 0x2a82d: 0x6d24da20, 0x2a82e: 0x6d365020, 0x2a82f: 0x6ca91020,\n\t0x2a830: 0x6c061c20, 0x2a831: 0x6c81ee20, 0x2a832: 0x6cd45020, 0x2a833: 0x6c674e20,\n\t0x2a834: 0x6c28f820, 0x2a835: 0x6d1edc20, 0x2a836: 0x6d11f020, 0x2a837: 0x6ce8a020,\n\t0x2a838: 0x6c17fa20, 0x2a839: 0x6d053020, 0x2a83a: 0x6cb8a420, 0x2a83b: 0x6cf3b020,\n\t0x2a83c: 0x6d0d7a20, 0x2a83d: 0x483bcc20, 0x2a83e: 0x6c2ccc20, 0x2a83f: 0x6d3e3620,\n\t// Block 0xaa1, offset 0x2a840\n\t0x2a840: 0x6c15c620, 0x2a841: 0x6d09d820, 0x2a842: 0x6c175e20, 0x2a843: 0x6d15b220,\n\t0x2a844: 0x6d0a8c20, 0x2a845: 0x6cd71420, 0x2a846: 0x6c997a20, 0x2a847: 0x6c3b8620,\n\t0x2a848: 0x6c980020, 0x2a849: 0x48430620, 0x2a84a: 0x6d16e820, 0x2a84b: 0x6c0e0e20,\n\t0x2a84c: 0x6c097620, 0x2a84d: 0x6cd5c220, 0x2a84e: 0x6c80b420, 0x2a84f: 0x6cd79620,\n\t0x2a850: 0x6c45cc20, 0x2a851: 0x48466220, 0x2a852: 0x48466220, 0x2a853: 0x6d20e820,\n\t0x2a854: 0x6ce1b020, 0x2a855: 0x6ce1b020, 0x2a856: 0x6d16b220, 0x2a857: 0x48657020,\n\t0x2a858: 0x48c3b420, 0x2a859: 0x6d03c020, 0x2a85a: 0x6c2dc420, 0x2a85b: 0x6ccd7820,\n\t0x2a85c: 0x6c300020, 0x2a85d: 0x6cc58620, 0x2a85e: 0x6d357420, 0x2a85f: 0x6c7bb620,\n\t0x2a860: 0x6d24d420, 0x2a861: 0x6c5a4620, 0x2a862: 0x6c73f820, 0x2a863: 0x6c5b4c20,\n\t0x2a864: 0x6c2ff820, 0x2a865: 0x6c339820, 0x2a866: 0x6c224e20, 0x2a867: 0x6c599420,\n\t0x2a868: 0x6cd0ac20, 0x2a869: 0x6c599420, 0x2a86a: 0x6c90a220, 0x2a86b: 0x6d2b8a20,\n\t0x2a86c: 0x6cfd0820, 0x2a86d: 0x6c3be420, 0x2a86e: 0x6c11da20, 0x2a86f: 0x6c9b4a20,\n\t0x2a870: 0x6c1a5420, 0x2a871: 0x6c804a20, 0x2a872: 0x6c19b220, 0x2a873: 0x6c63b620,\n\t0x2a874: 0x6c7a1820, 0x2a875: 0x6c063220, 0x2a876: 0x6c036820, 0x2a877: 0x6c72e420,\n\t0x2a878: 0x48561820, 0x2a879: 0x6cecf820, 0x2a87a: 0x6cb1ea20, 0x2a87b: 0x6ccf2c20,\n\t0x2a87c: 0x6ccae020, 0x2a87d: 0x6c600020, 0x2a87e: 0x4857e220, 0x2a87f: 0x6c6d1420,\n\t// Block 0xaa2, offset 0x2a880\n\t0x2a880: 0x6d0ca820, 0x2a881: 0x6d0d6620, 0x2a882: 0x6c30b620, 0x2a883: 0x6ca07220,\n\t0x2a884: 0x6c67f620, 0x2a885: 0x6c5ae420, 0x2a886: 0x6c691420, 0x2a887: 0x4474d820,\n\t0x2a888: 0x6c9fa820, 0x2a889: 0x6c6e8420, 0x2a88a: 0x48601420, 0x2a88b: 0x6c61ec20,\n\t0x2a88c: 0x6cd4b820, 0x2a88d: 0x6c6cea20, 0x2a88e: 0x6cf01620, 0x2a88f: 0x6cd55a20,\n\t0x2a890: 0x6cf15420, 0x2a891: 0x6c16e420, 0x2a892: 0x6c994e20, 0x2a893: 0x6c9e1820,\n\t0x2a894: 0x6d41b020, 0x2a895: 0x6c6d2820, 0x2a896: 0x6ca31420, 0x2a897: 0x6ce05420,\n\t0x2a898: 0x6c80f820, 0x2a899: 0x6cee5220, 0x2a89a: 0x6d3f9820, 0x2a89b: 0x6cb6d620,\n\t0x2a89c: 0x6c0bea20, 0x2a89d: 0x48678620, 0x2a89e: 0x6c572820, 0x2a89f: 0x6c48dc20,\n\t0x2a8a0: 0x6c5e8e20, 0x2a8a1: 0x6cca6a20, 0x2a8a2: 0x6c99ec20, 0x2a8a3: 0x4868da20,\n\t0x2a8a4: 0x6c022a20, 0x2a8a5: 0x6c078420, 0x2a8a6: 0x6d3e3a20, 0x2a8a7: 0x6c513820,\n\t0x2a8a8: 0x6d2be020, 0x2a8a9: 0x6d112020, 0x2a8aa: 0x6c415020, 0x2a8ab: 0x6ccefe20,\n\t0x2a8ac: 0x486d4620, 0x2a8ad: 0x6d370620, 0x2a8ae: 0x6d159820, 0x2a8af: 0x6c22aa20,\n\t0x2a8b0: 0x48714e20, 0x2a8b1: 0x6d05d420, 0x2a8b2: 0x6c7d9c20, 0x2a8b3: 0x6cdc4620,\n\t0x2a8b4: 0x6cf15820, 0x2a8b5: 0x6ccbda20, 0x2a8b6: 0x6cbc4020, 0x2a8b7: 0x48751a20,\n\t0x2a8b8: 0x483a1620, 0x2a8b9: 0x4875f420, 0x2a8ba: 0x6c391c20, 0x2a8bb: 0x48797820,\n\t0x2a8bc: 0x6d0c6820, 0x2a8bd: 0x6c077e20, 0x2a8be: 0x6cb8a820, 0x2a8bf: 0x6cf3b620,\n\t// Block 0xaa3, offset 0x2a8c0\n\t0x2a8c0: 0x6cac1e20, 0x2a8c1: 0x6c4d3a20, 0x2a8c2: 0x6c8e4a20, 0x2a8c3: 0x6c502e20,\n\t0x2a8c4: 0x6c6cee20, 0x2a8c5: 0x6ca80820, 0x2a8c6: 0x6c07ac20, 0x2a8c7: 0x6cb28620,\n\t0x2a8c8: 0x6c42a220, 0x2a8c9: 0x6d0c0820, 0x2a8ca: 0x6c903620, 0x2a8cb: 0x6d3e4020,\n\t0x2a8cc: 0x6c2cce20, 0x2a8cd: 0x6ccc0a20, 0x2a8ce: 0x6d0bf820, 0x2a8cf: 0x6c177620,\n\t0x2a8d0: 0x487ebc20, 0x2a8d1: 0x487f1c20, 0x2a8d2: 0x6c3b8c20, 0x2a8d3: 0x6d270a20,\n\t0x2a8d4: 0x6c6eb420, 0x2a8d5: 0x6d1cba20, 0x2a8d6: 0x6cd63020, 0x2a8d7: 0x6cb9e020,\n\t0x2a8d8: 0x6d28f220, 0x2a8d9: 0x6d3bbe20, 0x2a8da: 0x6ce08e20, 0x2a8db: 0x480a4a20,\n\t0x2a8dc: 0x6c32cc20, 0x2a8dd: 0x4884c620, 0x2a8de: 0x6c233e20, 0x2a8df: 0x48875620,\n\t0x2a8e0: 0x6c24c420, 0x2a8e1: 0x6c74c820, 0x2a8e2: 0x6d2c3a20, 0x2a8e3: 0x488c1020,\n\t0x2a8e4: 0x6cf61a20, 0x2a8e5: 0x6c074020, 0x2a8e6: 0x6d0e3c20, 0x2a8e7: 0x48902820,\n\t0x2a8e8: 0x6cde2020, 0x2a8e9: 0x6cedda20, 0x2a8ea: 0x6c45d620, 0x2a8eb: 0x6d268820,\n\t0x2a8ec: 0x6cb29020, 0x2a8ed: 0x6cb29020, 0x2a8ee: 0x6c277a20, 0x2a8ef: 0x6d215e20,\n\t0x2a8f0: 0x6d325020, 0x2a8f1: 0x6cdd8a20, 0x2a8f2: 0x6cbf7620, 0x2a8f3: 0x6d03d220,\n\t0x2a8f4: 0x6cc89c20, 0x2a8f5: 0x48986c20, 0x2a8f6: 0x6d28f620, 0x2a8f7: 0x48992420,\n\t0x2a8f8: 0x6d176620, 0x2a8f9: 0x6cb2b420, 0x2a8fa: 0x6d226e20, 0x2a8fb: 0x489f4220,\n\t0x2a8fc: 0x489f7020, 0x2a8fd: 0x48a08820, 0x2a8fe: 0x6d0c7620, 0x2a8ff: 0x6c627820,\n\t// Block 0xaa4, offset 0x2a900\n\t0x2a900: 0x6d344020, 0x2a901: 0x48a1e620, 0x2a902: 0x48a1e420, 0x2a903: 0x48a23220,\n\t0x2a904: 0x48a26620, 0x2a905: 0x6d313c20, 0x2a906: 0x6d313e20, 0x2a907: 0x6d313e20,\n\t0x2a908: 0x6c736420, 0x2a909: 0x6c6ad220, 0x2a90a: 0x6c188220, 0x2a90b: 0x6d130220,\n\t0x2a90c: 0x6cd23420, 0x2a90d: 0x48a83a20, 0x2a90e: 0x6d03e220, 0x2a90f: 0x6c926e20,\n\t0x2a910: 0x6ce4ba20, 0x2a911: 0x6c5b7020, 0x2a912: 0x6c6fd820, 0x2a913: 0x6d411420,\n\t0x2a914: 0x6c1baa20, 0x2a915: 0x6c8f3a20, 0x2a916: 0x6c3e9c20, 0x2a917: 0x6cd52420,\n\t0x2a918: 0x6c657420, 0x2a919: 0x6c47c420, 0x2a91a: 0x6c624a20, 0x2a91b: 0x6cf1f020,\n\t0x2a91c: 0x48b2f820, 0x2a91d: 0x6ce4c020, 0x2a91e: 0x6ce4c020, 0x2a91f: 0x6cb26020,\n\t0x2a920: 0x6cb2be20, 0x2a921: 0x48b75620, 0x2a922: 0x6d3bde20, 0x2a923: 0x6d3a2820,\n\t0x2a924: 0x6cf00020, 0x2a925: 0x6c178020, 0x2a926: 0x6c076020, 0x2a927: 0x6cf8f420,\n\t0x2a928: 0x6c680820, 0x2a929: 0x6cca3020, 0x2a92a: 0x6c61b020, 0x2a92b: 0x48bf0c20,\n\t0x2a92c: 0x6c07ee20, 0x2a92d: 0x6d10b020, 0x2a92e: 0x6d3e6a20, 0x2a92f: 0x6d400620,\n\t0x2a930: 0x6ccac220, 0x2a931: 0x6c965020, 0x2a932: 0x6d03dc20, 0x2a933: 0x48c48e20,\n\t0x2a934: 0x6c9a0420, 0x2a935: 0x48c5b220, 0x2a936: 0x6c177e20, 0x2a937: 0x48c67c20,\n\t0x2a938: 0x6d104a20, 0x2a939: 0x6c027e20, 0x2a93a: 0x6d30d220, 0x2a93b: 0x48c9b420,\n\t0x2a93c: 0x48ca4620, 0x2a93d: 0x6cb25820, 0x2a93e: 0x48cb5020, 0x2a93f: 0x6c236620,\n\t// Block 0xaa5, offset 0x2a940\n\t0x2a940: 0x6c78f420, 0x2a941: 0x6cc5d220, 0x2a942: 0x6d22da20, 0x2a943: 0x6c252c20,\n\t0x2a944: 0x6c231a20, 0x2a945: 0x6caff420, 0x2a946: 0x6d1d4020, 0x2a947: 0x48cf4e20,\n\t0x2a948: 0x48cf6a20, 0x2a949: 0x6d085420, 0x2a94a: 0x48673820, 0x2a94b: 0x6d20e820,\n\t0x2a94c: 0x6cf89220, 0x2a94d: 0x6c225220, 0x2a94e: 0x6c07f020, 0x2a94f: 0x6cb6ce20,\n\t0x2a950: 0x6d22c820, 0x2a951: 0x6d338420, 0x2a952: 0x6c813e20, 0x2a953: 0x6c570620,\n\t0x2a954: 0x6c398620, 0x2a955: 0x6d0b1420, 0x2a956: 0x6c7a7620, 0x2a957: 0x48d67820,\n\t0x2a958: 0x6cc91420, 0x2a959: 0x6c148e20, 0x2a95a: 0x6cc65e20, 0x2a95b: 0x6c6aa820,\n\t0x2a95c: 0x6cf3bc20, 0x2a95d: 0x6c988a20, 0x2a95e: 0x6c2bf220, 0x2a95f: 0x6d311420,\n\t0x2a960: 0x6cb28e20, 0x2a961: 0x6c711c20, 0x2a962: 0x6c757020, 0x2a963: 0x6c114420,\n\t0x2a964: 0x48d86c20, 0x2a965: 0x6cdd8420, 0x2a966: 0x48d9aa20, 0x2a967: 0x448a5620,\n\t0x2a968: 0x6cb2ae20, 0x2a969: 0x6c6ca620, 0x2a96a: 0x6c25ea20, 0x2a96b: 0x48e79420,\n\t0x2a96c: 0x6cc8a220, 0x2a96d: 0x48de5820, 0x2a96e: 0x6c19a420, 0x2a96f: 0x6c936e20,\n\t0x2a970: 0x6c175420, 0x2a971: 0x6c93c420, 0x2a972: 0x6c7cba20, 0x2a973: 0x6caaa220,\n\t0x2a974: 0x6c91c420, 0x2a975: 0x6c7c4820, 0x2a976: 0x6cf90620, 0x2a977: 0x6c1aa420,\n\t0x2a978: 0x6cb8ca20, 0x2a979: 0x6d24fc20, 0x2a97a: 0x6cb2b020, 0x2a97b: 0x6d276220,\n\t0x2a97c: 0x6c2ed620, 0x2a97d: 0x6d39be20, 0x2a97e: 0x6c22de20, 0x2a97f: 0x6c5f4420,\n\t// Block 0xaa6, offset 0x2a980\n\t0x2a980: 0x6c4b2220, 0x2a981: 0x6cfe0220, 0x2a982: 0x6c22ec20, 0x2a983: 0x6d3cd820,\n\t0x2a984: 0x6d13be20, 0x2a985: 0x6c668020, 0x2a986: 0x6c8e6020, 0x2a987: 0x6cd72420,\n\t0x2a988: 0x6c929c20, 0x2a989: 0x6d0daa20, 0x2a98a: 0x6c996a20, 0x2a98b: 0x48f15c20,\n\t0x2a98c: 0x48f2cc20, 0x2a98d: 0x6ca8e820, 0x2a98e: 0x6d25ea20, 0x2a98f: 0x6c1a2220,\n\t0x2a990: 0x6d23f620, 0x2a991: 0x6c0bdc20, 0x2a992: 0x6cd2b020, 0x2a993: 0x6c649220,\n\t0x2a994: 0x6c498620, 0x2a995: 0x6c09b020, 0x2a996: 0x6c424420, 0x2a997: 0x6cb6ea20,\n\t0x2a998: 0x6cd61020, 0x2a999: 0x6d2fdc20, 0x2a99a: 0x6c038220, 0x2a99b: 0x6c658c20,\n\t0x2a99c: 0x6cb11c20, 0x2a99d: 0x4811bc20, 0x2a99e: 0x6cc5e420, 0x2a99f: 0x6cd50820,\n\t0x2a9a0: 0x490ba420, 0x2a9a1: 0x490bda20, 0x2a9a2: 0x6cb6c420, 0x2a9a3: 0x6cb27e20,\n\t0x2a9a4: 0x6d3e4a20, 0x2a9a5: 0x490e5c20, 0x2a9a6: 0x6c176420, 0x2a9a7: 0x6c0f1c20,\n\t0x2a9a8: 0x6d07ca20, 0x2a9a9: 0x6c575620, 0x2a9aa: 0x6c0dee20, 0x2a9ab: 0x6cbb5020,\n\t0x2a9ac: 0x6d295820, 0x2a9ad: 0x4917f420, 0x2a9ae: 0x6c763420, 0x2a9af: 0x6cae7c20,\n\t0x2a9b0: 0x6ccca420, 0x2a9b1: 0x491aee20, 0x2a9b2: 0x6cef3620, 0x2a9b3: 0x6cb8e820,\n\t0x2a9b4: 0x6cf69820, 0x2a9b5: 0x6d280620, 0x2a9b6: 0x6cace820, 0x2a9b7: 0x6cb26420,\n\t0x2a9b8: 0x6c930020, 0x2a9b9: 0x6c160820, 0x2a9ba: 0x6c0ab220, 0x2a9bb: 0x49281420,\n\t0x2a9bc: 0x6c7d6c20, 0x2a9bd: 0x6d0eb020, 0x2a9be: 0x6c35b420, 0x2a9bf: 0x6c35b420,\n\t// Block 0xaa7, offset 0x2a9c0\n\t0x2a9c0: 0x6cb26620, 0x2a9c1: 0x6d097020, 0x2a9c2: 0x6c5eb020, 0x2a9c3: 0x6c04d420,\n\t0x2a9c4: 0x6c36b220, 0x2a9c5: 0x6d276c20, 0x2a9c6: 0x6c060a20, 0x2a9c7: 0x6cea1420,\n\t0x2a9c8: 0x6c423020, 0x2a9c9: 0x6cbf6820, 0x2a9ca: 0x6d320420, 0x2a9cb: 0x6c62d820,\n\t0x2a9cc: 0x6c64ec20, 0x2a9cd: 0x6c702e20, 0x2a9ce: 0x6c60f620, 0x2a9cf: 0x6cb02c20,\n\t0x2a9d0: 0x6d21ea20, 0x2a9d1: 0x6c968620, 0x2a9d2: 0x6ccc2e20, 0x2a9d3: 0x49441c20,\n\t0x2a9d4: 0x49452220, 0x2a9d5: 0x6c966820, 0x2a9d6: 0x6cba8620, 0x2a9d7: 0x6d353420,\n\t0x2a9d8: 0x6c9e0a20, 0x2a9d9: 0x6d342a20, 0x2a9da: 0x6c9d7420, 0x2a9db: 0x6c3ba420,\n\t0x2a9dc: 0x6c08a220, 0x2a9dd: 0x6cb13820,\n\t// Block 0xaa8, offset 0x2aa00\n\t0x2aa00: 0x6c00c220, 0x2aa01: 0xe0002416, 0x2aa02: 0x029cb684, 0x2aa03: 0x029cb484,\n\t0x2aa04: 0x6c000e20, 0x2aa05: 0x029d7684, 0x2aa06: 0x6c008a20, 0x2aa07: 0x6c009220,\n\t0x2aa08: 0x6c009e20, 0x2aa09: 0x02a40484, 0x2aa0a: 0x6c00b820, 0x2aa0b: 0xe0002413,\n\t0x2aa0c: 0x6c01a420, 0x2aa0d: 0x6c01a620, 0x2aa0e: 0xe000241f, 0x2aa0f: 0x02b84684,\n\t0x2aa10: 0x02b84484, 0x2aa11: 0xe0002422, 0x2aa12: 0x02bbe684, 0x2aa13: 0x02bcf484,\n\t0x2aa14: 0x02bea284, 0x2aa15: 0x6c01e620, 0x2aa16: 0x02bf8884, 0x2aa17: 0xe0002428,\n\t0x2aa18: 0x02c49884, 0x2aa19: 0x02ca6a84, 0x2aa1b: 0x02cbc284,\n\t0x2aa1c: 0x6c049420, 0x2aa1d: 0x6c049a20, 0x2aa1e: 0xe0002436, 0x2aa1f: 0x2c098083,\n\t0x2aa20: 0x02d82284, 0x2aa21: 0x02d86a84, 0x2aa22: 0x02d87484, 0x2aa23: 0x02e0d884,\n\t0x2aa24: 0x02e45684, 0x2aa25: 0x6c04d420, 0x2aa26: 0x029c5884, 0x2aa27: 0x6c04ee20,\n\t0x2aa28: 0x02e55a84, 0x2aa29: 0xe000243f, 0x2aa2a: 0x6c0a1820, 0x2aa2b: 0xe0002445,\n\t0x2aa2c: 0x6c0a3220, 0x2aa2d: 0x02f27684, 0x2aa2e: 0x6c13f420, 0x2aa2f: 0x02f9f284,\n\t0x2aa30: 0x02fd3e84, 0x2aa31: 0x02fea684, 0x2aa32: 0x02fea484, 0x2aa33: 0xe0002451,\n\t0x2aa34: 0xe0002454, 0x2aa35: 0xe000244e, 0x2aa36: 0x6c143820, 0x2aa37: 0xe000245a,\n\t0x2aa38: 0x02ff1684, 0x2aa39: 0x03000484, 0x2aa3a: 0x03010084, 0x2aa3b: 0xe000245d,\n\t0x2aa3c: 0x6c050a20, 0x2aa3d: 0xe0002463, 0x2aa3e: 0x6c020220, 0x2aa3f: 0xe0002466,\n\t// Block 0xaa9, offset 0x2aa40\n\t0x2aa40: 0xe0002469, 0x2aa41: 0x030c9c84, 0x2aa42: 0x0310c884, 0x2aa43: 0x03130084,\n\t0x2aa44: 0x0312fe84, 0x2aa45: 0x03138284, 0x2aa46: 0x6c26a420, 0x2aa47: 0xe000246c,\n\t0x2aa48: 0x03174084, 0x2aa49: 0x031a3a84, 0x2aa4a: 0x6c270020, 0x2aa4b: 0x031ecc84,\n\t0x2aa4c: 0x6c020620, 0x2aa4d: 0x6c051c20, 0x2aa4e: 0xe0002475, 0x2aa4f: 0x6c00cc20,\n\t0x2aa50: 0x03290a84, 0x2aa51: 0x032aee84, 0x2aa52: 0x032af084, 0x2aa53: 0x032afe84,\n\t0x2aa54: 0x032bd084, 0x2aa55: 0xe000247b, 0x2aa56: 0x6c00ce20, 0x2aa57: 0x6c427620,\n\t0x2aa58: 0x032ea484, 0x2aa59: 0x032fcc84, 0x2aa5a: 0x0330ea84, 0x2aa5b: 0x03319c84,\n\t0x2aa5c: 0x0331bc84, 0x2aa5d: 0x0331be84, 0x2aa5e: 0x6c636020, 0x2aa5f: 0x0331c084,\n\t0x2aa60: 0x0332c684, 0x2aa61: 0xe0002484, 0x2aa62: 0x0334d884, 0x2aa63: 0x6c63aa20,\n\t0x2aa64: 0xe000248a, 0x2aa65: 0x0338f884, 0x2aa66: 0x033c3e84, 0x2aa67: 0xe000248d,\n\t0x2aa68: 0x033d4c84, 0x2aa69: 0x033d8884, 0x2aa6a: 0x033dfc84, 0x2aa6b: 0xe0002490,\n\t0x2aa6c: 0x033ea084, 0x2aa6d: 0xe0002493, 0x2aa6e: 0x033efe84, 0x2aa6f: 0xe0002496,\n\t0x2aa70: 0x033f3284, 0x2aa71: 0xe0002499, 0x2aa72: 0xe000249c, 0x2aa73: 0x2c28ac83,\n\t// Block 0xaaa, offset 0x2aa80\n\t0x2aa80: 0x2c000286, 0x2aa81: 0x2c000483, 0x2aa82: 0x2c000683, 0x2aa83: 0x2c000883,\n\t0x2aa84: 0x2c001084, 0x2aa85: 0x2c002483, 0x2aa86: 0x2c007486, 0x2aa87: 0x2c007c83,\n\t0x2aa88: 0x2c007e84, 0x2aa89: 0x2c008483, 0x2aa8a: 0x2c008683, 0x2aa8b: 0x2c008884,\n\t0x2aa8c: 0x2c008c83, 0x2aa8d: 0x2c008e83, 0x2aa8e: 0x2c009083, 0x2aa8f: 0x2c009483,\n\t0x2aa90: 0x2c009a83, 0x2aa91: 0x2c00a083, 0x2aa92: 0x2c00a883, 0x2aa93: 0x2c00aa83,\n\t0x2aa94: 0x2c00ac83, 0x2aa95: 0x2c00b083, 0x2aa96: 0x2c00b483, 0x2aa97: 0x2c00b685,\n\t0x2aa98: 0x2c00ba83, 0x2aa99: 0x2c00bc83, 0x2aa9a: 0x2c00be83, 0x2aa9b: 0x2c00c083,\n\t0x2aa9c: 0x2c00c483, 0x2aa9d: 0x2c018083, 0x2aa9e: 0x2c018283, 0x2aa9f: 0x2c018484,\n\t0x2aaa0: 0x2c018683, 0x2aaa1: 0x2c018883, 0x2aaa2: 0x2c018c83, 0x2aaa3: 0x2c018e83,\n\t0x2aaa4: 0x2c019083, 0x2aaa5: 0x2c019484, 0x2aaa6: 0x2c019683, 0x2aaa7: 0x2c01a083,\n\t0x2aaa8: 0x2c01a283, 0x2aaa9: 0x2c01a883, 0x2aaaa: 0x2c01ac83, 0x2aaab: 0x2c01b283,\n\t0x2aaac: 0x2c01b683, 0x2aaad: 0x2c01ba83, 0x2aaae: 0x2c01bc83, 0x2aaaf: 0x2c01c483,\n\t0x2aab0: 0x2c01c683, 0x2aab1: 0x2c01cc83, 0x2aab2: 0x2c01ce83, 0x2aab3: 0x2c01d283,\n\t0x2aab4: 0x2c01d483, 0x2aab5: 0x2c01d683, 0x2aab6: 0x2c01d883, 0x2aab7: 0x2c01dc83,\n\t0x2aab8: 0x2c01e083, 0x2aab9: 0x2c01e883, 0x2aaba: 0x2c01ec83, 0x2aabb: 0x2c01ee83,\n\t0x2aabc: 0x2c046683, 0x2aabd: 0x2c046c83, 0x2aabe: 0x2c046e83, 0x2aabf: 0x2c047484,\n\t// Block 0xaab, offset 0x2aac0\n\t0x2aac0: 0x2c047e83, 0x2aac1: 0x2c048083, 0x2aac2: 0x2c048484, 0x2aac3: 0x2c048683,\n\t0x2aac4: 0x2c048a83, 0x2aac5: 0x2c048e83, 0x2aac6: 0x2c049083, 0x2aac7: 0x2c049684,\n\t0x2aac8: 0x2c049883, 0x2aac9: 0x2c049c85, 0x2aaca: 0x2c049e84, 0x2aacb: 0x2c04a683,\n\t0x2aacc: 0x2c04a883, 0x2aacd: 0x2c04ae83, 0x2aace: 0x2c04b483, 0x2aacf: 0x2c04b683,\n\t0x2aad0: 0x2c04bc83, 0x2aad1: 0x2c04be83, 0x2aad2: 0x2c04c283, 0x2aad3: 0x2c04c483,\n\t0x2aad4: 0x2c04c684, 0x2aad5: 0x2c04d084, 0x2aad6: 0x2c04d683, 0x2aad7: 0x2c04de83,\n\t0x2aad8: 0x2c04e083, 0x2aad9: 0x2c04e483, 0x2aada: 0x2c04e883, 0x2aadb: 0x2c04ec83,\n\t0x2aadc: 0x2c04f083, 0x2aadd: 0x2c04f483, 0x2aade: 0x2c09ee83, 0x2aadf: 0x2c09f283,\n\t0x2aae0: 0x2c09fa83, 0x2aae1: 0x2c09fc83, 0x2aae2: 0x2c09fe83, 0x2aae3: 0x2c0a0284,\n\t0x2aae4: 0x2c0a0683, 0x2aae5: 0x2c0a0a83, 0x2aae6: 0x2c0a1a83, 0x2aae7: 0x2c0a2083,\n\t0x2aae8: 0x2c0a2283, 0x2aae9: 0x2c0a2483, 0x2aaea: 0x2c0a2683, 0x2aaeb: 0x2c0a2883,\n\t0x2aaec: 0x2c0a2a83, 0x2aaed: 0x2c0a2c83, 0x2aaee: 0x2c0a2e83, 0x2aaef: 0x2c0a3083,\n\t0x2aaf0: 0x2c0a3483, 0x2aaf1: 0x2c0a3883, 0x2aaf2: 0x2c0a3c83, 0x2aaf3: 0x2c0a4083,\n\t0x2aaf4: 0x2c0a4483, 0x2aaf5: 0x2c141083, 0x2aaf6: 0x2c141483, 0x2aaf7: 0x2c141683,\n\t0x2aaf8: 0x2c143083, 0x2aaf9: 0x2c143483, 0x2aafa: 0x2c143a83, 0x2aafb: 0x2c144283,\n\t0x2aafc: 0x2c144483, 0x2aafd: 0x2c144883, 0x2aafe: 0x2c144c83, 0x2aaff: 0x2c145083,\n\t// Block 0xaac, offset 0x2ab00\n\t0x2ab00: 0x2c145283, 0x2ab01: 0x2c145683, 0x2ab02: 0x2c147a83, 0x2ab03: 0x2c147e83,\n\t0x2ab04: 0x2c148283, 0x2ab05: 0x2c148883, 0x2ab06: 0x2c149083, 0x2ab07: 0x2c149283,\n\t0x2ab08: 0x2c149483, 0x2ab09: 0x2c149883, 0x2ab0a: 0x2c149a83, 0x2ab0b: 0x2c149e83,\n\t0x2ab0c: 0x2c14ca83, 0x2ab0d: 0x2c14cc83, 0x2ab0e: 0x2c14ce83, 0x2ab0f: 0x2c14d083,\n\t0x2ab10: 0x2c14d283, 0x2ab11: 0x2c14d483, 0x2ab12: 0x2c26a083, 0x2ab13: 0x2c26a683,\n\t0x2ab14: 0x2c26aa83, 0x2ab15: 0x2c26e683, 0x2ab16: 0x2c26ea83, 0x2ab17: 0x2c26ec83,\n\t0x2ab18: 0x2c26f283, 0x2ab19: 0x2c26f483, 0x2ab1a: 0x2c26fa83, 0x2ab1b: 0x2c26fc84,\n\t0x2ab1c: 0x2c270283, 0x2ab1d: 0x2c270683, 0x2ab1e: 0x2c270e83, 0x2ab1f: 0x2c271c83,\n\t0x2ab20: 0x2c272083, 0x2ab21: 0x2c272683, 0x2ab22: 0x2c278a83, 0x2ab23: 0x2c27ec83,\n\t0x2ab24: 0x2c27ee83, 0x2ab25: 0x2c27f083, 0x2ab26: 0x2c41dc84, 0x2ab27: 0x2c41fe83,\n\t0x2ab28: 0x2c420283, 0x2ab29: 0x2c421083, 0x2ab2a: 0x2c427283, 0x2ab2b: 0x2c427483,\n\t0x2ab2c: 0x2c427883, 0x2ab2d: 0x2c427a83, 0x2ab2e: 0x2c427e83, 0x2ab2f: 0x2c632e83,\n\t0x2ab30: 0x2c633283, 0x2ab31: 0x2c633483, 0x2ab32: 0x2c633c83, 0x2ab33: 0x2c633e83,\n\t0x2ab34: 0x2c634083, 0x2ab35: 0x2c634e83, 0x2ab36: 0x2c635c83, 0x2ab37: 0x2c636283,\n\t0x2ab38: 0x2c637e83, 0x2ab39: 0x2c638283, 0x2ab3a: 0x2c8a8e83, 0x2ab3b: 0x2c8aae83,\n\t0x2ab3c: 0x2c8ab083, 0x2ab3d: 0x2c8ab283, 0x2ab3e: 0x2c8ab483, 0x2ab3f: 0x2c8aba83,\n\t// Block 0xaad, offset 0x2ab40\n\t0x2ab40: 0x2c8abc83, 0x2ab41: 0x2c8abe83, 0x2ab42: 0x2cb74483, 0x2ab43: 0x2cb75283,\n\t0x2ab44: 0x2cb78283, 0x2ab45: 0x2cb78683, 0x2ab46: 0x2cb78a83, 0x2ab47: 0x2cb79483,\n\t0x2ab48: 0x2ce8b483, 0x2ab49: 0x2ce8b883, 0x2ab4a: 0x2ce8ba83, 0x2ab4b: 0x2ce8be83,\n\t0x2ab4c: 0x2d187483, 0x2ab4d: 0x2d187883, 0x2ab4e: 0x2d187a83, 0x2ab4f: 0x2d188083,\n\t0x2ab50: 0x2d478083, 0x2ab51: 0x2d478283, 0x2ab52: 0x2d75b683, 0x2ab53: 0x2d9f9c83,\n\t0x2ab54: 0x2d9f9e83, 0x2ab55: 0x2dc24283,\n\t0x2ab70: 0x40273a20, 0x2ab71: 0x40273c20, 0x2ab72: 0x40273e20, 0x2ab73: 0x40274020,\n\t0x2ab74: 0x40274220, 0x2ab75: 0x40274420, 0x2ab76: 0x40274620, 0x2ab77: 0x40274820,\n\t0x2ab78: 0x40274a20, 0x2ab79: 0x40274c20, 0x2ab7a: 0x40274e20, 0x2ab7b: 0x40275020,\n\t// Block 0xaae, offset 0x2ab80\n\t0x2ab80: 0x00021283, 0x2ab81: 0x40025c20, 0x2ab82: 0x40030420, 0x2ab83: 0x40051220,\n\t0x2ab84: 0x40279a20, 0x2ab85: 0x6c021420, 0x2ab86: 0x6c002820, 0x2ab87: 0x6c002a20,\n\t0x2ab88: 0x40049c20, 0x2ab89: 0x40049e20, 0x2ab8a: 0x4004a020, 0x2ab8b: 0x4004a220,\n\t0x2ab8c: 0x4004a420, 0x2ab8d: 0x4004a620, 0x2ab8e: 0x4004a820, 0x2ab8f: 0x4004aa20,\n\t0x2ab90: 0x4004ac20, 0x2ab91: 0x4004ae20, 0x2ab92: 0x40279c20, 0x2ab93: 0x40279e20,\n\t0x2ab94: 0x4004b020, 0x2ab95: 0x4004b220, 0x2ab96: 0x4004b420, 0x2ab97: 0x4004b620,\n\t0x2ab98: 0x4004b820, 0x2ab99: 0x4004ba20, 0x2ab9a: 0x4004bc20, 0x2ab9b: 0x4004be20,\n\t0x2ab9c: 0x40023820, 0x2ab9d: 0x4003ea20, 0x2ab9e: 0x4003ec20, 0x2ab9f: 0x4003ee20,\n\t0x2aba0: 0x4027a020, 0x2aba1: 0x6c002c20, 0x2aba2: 0x6c00d220, 0x2aba3: 0x6c021620,\n\t0x2aba4: 0x6c00d420, 0x2aba5: 0x6c002e20, 0x2aba6: 0x6c00d620, 0x2aba7: 0x6c021820,\n\t0x2aba8: 0x6c053820, 0x2aba9: 0x6c053a20, 0x2abaa: 0xada12202, 0x2abab: 0xae412302,\n\t0x2abac: 0xae812402, 0x2abad: 0xade12502, 0x2abae: 0xae012602, 0x2abaf: 0xae012702,\n\t0x2abb0: 0x40023a20, 0x2abb1: 0x4027ce20, 0x2abb2: 0xe0000152, 0x2abb3: 0x4027d020,\n\t0x2abb4: 0xe0000155, 0x2abb5: 0x4027d220, 0x2abb6: 0x00279c84, 0x2abb7: 0x4027a220,\n\t0x2abb8: 0x2c00b684, 0x2abb9: 0x2c00e683, 0x2abba: 0x2c036883, 0x2abbb: 0x6c003020,\n\t0x2abbc: 0xe000231a, 0x2abbd: 0x40051420, 0x2abbe: 0x4027a420, 0x2abbf: 0x4027a620,\n\t// Block 0xaaf, offset 0x2abc0\n\t0x2abc0: 0x00633a84, 0x2abc1: 0x00634484, 0x2abc2: 0x0064f684, 0x2abc3: 0x0064f884,\n\t0x2abc4: 0x00635a84, 0x2abc5: 0x00635c84, 0x2abc6: 0x00635e84, 0x2abc7: 0x0063ee84,\n\t0x2abc8: 0x0063f084, 0x2abc9: 0x0063f684, 0x2abca: 0x00640884, 0x2abcb: 0x00640a84,\n\t0x2abcc: 0x00640e84, 0x2abcd: 0x00642284, 0x2abce: 0x00642884,\n\t0x2abd0: 0x4027a820, 0x2abd1: 0x4027aa20, 0x2abd2: 0x2c000285, 0x2abd3: 0x2c007485,\n\t0x2abd4: 0x2c00dc85, 0x2abd5: 0x2c079084, 0x2abd6: 0x2c00de84, 0x2abd7: 0x2c023685,\n\t0x2abd8: 0x2c00e084, 0x2abd9: 0x2c0a0e83, 0x2abda: 0x2c001083, 0x2abdb: 0x2c054883,\n\t0x2abdc: 0x2c003283, 0x2abdd: 0x2c03de84, 0x2abde: 0x2c0ed083, 0x2abdf: 0x2c007e83,\n\t0x2abe0: 0xe000237a, 0x2abe1: 0xe0002383, 0x2abe2: 0xe0002380, 0x2abe3: 0xe000237d,\n\t0x2abe4: 0x40661c20, 0x2abe5: 0xe000238c, 0x2abe6: 0x40661620, 0x2abe7: 0xe0002389,\n\t0x2abe8: 0xe000239e, 0x2abe9: 0xe0002386, 0x2abea: 0xe0002395, 0x2abeb: 0xe000239b,\n\t0x2abec: 0x40663420, 0x2abed: 0x4065f220, 0x2abee: 0xe000238f, 0x2abef: 0xe0002392,\n\t0x2abf0: 0x40663020, 0x2abf1: 0x40663220, 0x2abf2: 0x40662c20, 0x2abf3: 0xe0002398,\n\t0x2abf4: 0x0065dc99, 0x2abf5: 0x0065e699, 0x2abf6: 0x0065ee99, 0x2abf7: 0x0065f499,\n\t0x2abf8: 0x40660c20, 0x2abf9: 0x40660e20, 0x2abfa: 0x40661020,\n\t// Block 0xab0, offset 0x2ac00\n\t0x2ac00: 0xf0000404, 0x2ac01: 0xf0000404, 0x2ac02: 0xf0000404, 0x2ac03: 0xf0000404,\n\t0x2ac04: 0xf0000404, 0x2ac05: 0xf0000404, 0x2ac06: 0xf0000404, 0x2ac07: 0xf0000404,\n\t0x2ac08: 0xf0000404, 0x2ac09: 0xf0000404, 0x2ac0a: 0xf0000404, 0x2ac0b: 0xf0000404,\n\t0x2ac0c: 0xf0000404, 0x2ac0d: 0xf0000404, 0x2ac0e: 0xe000004c, 0x2ac0f: 0xe0000051,\n\t0x2ac10: 0xe0000056, 0x2ac11: 0xe000005b, 0x2ac12: 0xe0000060, 0x2ac13: 0xe0000065,\n\t0x2ac14: 0xe000006a, 0x2ac15: 0xe000006f, 0x2ac16: 0xe0000083, 0x2ac17: 0xe000008d,\n\t0x2ac18: 0xe0000092, 0x2ac19: 0xe0000097, 0x2ac1a: 0xe000009c, 0x2ac1b: 0xe00000a1,\n\t0x2ac1c: 0xe0000088, 0x2ac1d: 0xe0000074, 0x2ac1e: 0xe000007c,\n\t0x2ac20: 0xe000b5b7, 0x2ac21: 0xe000b5c3, 0x2ac22: 0xe000b5cf, 0x2ac23: 0xe000b5f7,\n\t0x2ac24: 0xe000b5d7, 0x2ac25: 0xe000b5db, 0x2ac26: 0xe000b5bb, 0x2ac27: 0xe000b5c7,\n\t0x2ac28: 0xe000b5bf, 0x2ac29: 0xe000b5cb, 0x2ac2a: 0xe000b5e3, 0x2ac2b: 0xe000b5ef,\n\t0x2ac2c: 0xe000b5eb, 0x2ac2d: 0xe000b5e7, 0x2ac2e: 0xe000b627, 0x2ac2f: 0xe000b5d3,\n\t0x2ac30: 0xe000b5df, 0x2ac31: 0xe000b62b, 0x2ac32: 0xe000b607, 0x2ac33: 0xe000b623,\n\t0x2ac34: 0xe000b603, 0x2ac35: 0xe000b62f, 0x2ac36: 0xe000b637, 0x2ac37: 0xe000b633,\n\t0x2ac38: 0xe000b613, 0x2ac39: 0xe000b5f3, 0x2ac3a: 0xe000b61b, 0x2ac3b: 0xe000b61f,\n\t0x2ac3c: 0xe000b643, 0x2ac3d: 0xe000b5fb, 0x2ac3e: 0xe000b63f, 0x2ac3f: 0xe000b617,\n\t// Block 0xab1, offset 0x2ac40\n\t0x2ac40: 0xe000b63b, 0x2ac41: 0xe000b5ff, 0x2ac42: 0xe000b60b, 0x2ac43: 0xe000b60f,\n\t0x2ac44: 0x2c8e8e83, 0x2ac45: 0x2c08be83, 0x2ac46: 0x2c048483, 0x2ac47: 0x2d326883,\n\t0x2ac48: 0xe00002e3, 0x2ac49: 0xe00003d8, 0x2ac4a: 0xe00004b3, 0x2ac4b: 0xe000057d,\n\t0x2ac4c: 0xe0000648, 0x2ac4d: 0xe00006f0, 0x2ac4e: 0xe000079c, 0x2ac4f: 0xe0000841,\n\t0x2ac50: 0xe0000ec0, 0x2ac51: 0xf0000606, 0x2ac52: 0xf0000606, 0x2ac53: 0xf0000606,\n\t0x2ac54: 0xf0000606, 0x2ac55: 0xf0000606, 0x2ac56: 0xf0000606, 0x2ac57: 0xf0000606,\n\t0x2ac58: 0xf0000606, 0x2ac59: 0xf0000606, 0x2ac5a: 0xf0000606, 0x2ac5b: 0xf0000606,\n\t0x2ac5c: 0xf0000606, 0x2ac5d: 0xf0000606, 0x2ac5e: 0xf0000606, 0x2ac5f: 0xf0000606,\n\t0x2ac60: 0x0062ac86, 0x2ac61: 0x0062b086, 0x2ac62: 0x0062b286, 0x2ac63: 0x0062b686,\n\t0x2ac64: 0x0062b886, 0x2ac65: 0x0062ba86, 0x2ac66: 0x0062be86, 0x2ac67: 0x0062c286,\n\t0x2ac68: 0x0062c486, 0x2ac69: 0x0062c886, 0x2ac6a: 0x0062ca86, 0x2ac6b: 0x0062cc86,\n\t0x2ac6c: 0x0062ce86, 0x2ac6d: 0x0062d086, 0x2ac6e: 0xf0000606, 0x2ac6f: 0xf0000606,\n\t0x2ac70: 0xf0000606, 0x2ac71: 0xf0000606, 0x2ac72: 0xf0000606, 0x2ac73: 0xf0000606,\n\t0x2ac74: 0xf0000606, 0x2ac75: 0xf0000606, 0x2ac76: 0xf0000606, 0x2ac77: 0xf0000606,\n\t0x2ac78: 0xf0000606, 0x2ac79: 0xf0000606, 0x2ac7a: 0xf0000606, 0x2ac7b: 0xf0000606,\n\t0x2ac7c: 0xe0002127, 0x2ac7d: 0xe0002122, 0x2ac7e: 0xf0000606, 0x2ac7f: 0x4027ac20,\n\t// Block 0xab2, offset 0x2ac80\n\t0x2ac80: 0x2c000284, 0x2ac81: 0x2c007484, 0x2ac82: 0x2c00dc84, 0x2ac83: 0x2c079083,\n\t0x2ac84: 0x2c028883, 0x2ac85: 0x2c02d883, 0x2ac86: 0x2c003683, 0x2ac87: 0x2c008883,\n\t0x2ac88: 0x2c006283, 0x2ac89: 0x2c00b683, 0x2ac8a: 0x2c049c84, 0x2ac8b: 0x2c04d083,\n\t0x2ac8c: 0x2c04c683, 0x2ac8d: 0x2c049e83, 0x2ac8e: 0x2c41dc83, 0x2ac8f: 0x2c018483,\n\t0x2ac90: 0x2c049683, 0x2ac91: 0x2c741683, 0x2ac92: 0x2c127484, 0x2ac93: 0x2c3cee83,\n\t0x2ac94: 0x2c0e3e83, 0x2ac95: 0x2c791683, 0x2ac96: 0x2c86f083, 0x2ac97: 0x2c7de083,\n\t0x2ac98: 0x2c185283, 0x2ac99: 0x2c7e3883, 0x2ac9a: 0x2c24b683, 0x2ac9b: 0x2c019483,\n\t0x2ac9c: 0x2d6c7483, 0x2ac9d: 0x2d9fc483, 0x2ac9e: 0x2c0db883, 0x2ac9f: 0x2c38fa83,\n\t0x2aca0: 0x2ce74883, 0x2aca1: 0x2c0bc083, 0x2aca2: 0x2c063e83, 0x2aca3: 0x2c097683,\n\t0x2aca4: 0x2c00de83, 0x2aca5: 0x2c023684, 0x2aca6: 0x2c00e083, 0x2aca7: 0x2c089284,\n\t0x2aca8: 0x2c075484, 0x2aca9: 0x2c18a683, 0x2acaa: 0x2c300483, 0x2acab: 0x2c2fd883,\n\t0x2acac: 0x2d2efa83, 0x2acad: 0x2c0ba083, 0x2acae: 0x2d0f3883, 0x2acaf: 0x2c2bb283,\n\t0x2acb0: 0x2c2e8e83, 0x2acb1: 0xf0000606, 0x2acb2: 0xf0000606, 0x2acb3: 0xf0000606,\n\t0x2acb4: 0xf0000606, 0x2acb5: 0xf0000606, 0x2acb6: 0xf0000606, 0x2acb7: 0xf0000606,\n\t0x2acb8: 0xf0000606, 0x2acb9: 0xf0000606, 0x2acba: 0xf0000606, 0x2acbb: 0xf0000606,\n\t0x2acbc: 0xf0000606, 0x2acbd: 0xf0000606, 0x2acbe: 0xf0000606, 0x2acbf: 0xf0000606,\n\t// Block 0xab3, offset 0x2acc0\n\t0x2acc0: 0xf0000203, 0x2acc1: 0xf0000203, 0x2acc2: 0xf0000203, 0x2acc3: 0xf0000203,\n\t0x2acc4: 0xf0000203, 0x2acc5: 0xf0000203, 0x2acc6: 0xf0000203, 0x2acc7: 0xf0000203,\n\t0x2acc8: 0xf0000203, 0x2acc9: 0xe000b66f, 0x2acca: 0xe000b67b, 0x2accb: 0xe000b687,\n\t0x2accc: 0xf0001c1d, 0x2accd: 0xe0000b85, 0x2acce: 0xf0001d1c, 0x2accf: 0xe0000d14,\n\t0x2acd0: 0x00657693, 0x2acd1: 0x00657893, 0x2acd2: 0x00657a93, 0x2acd3: 0x00657e93,\n\t0x2acd4: 0x00658093, 0x2acd5: 0x00658293, 0x2acd6: 0x00658493, 0x2acd7: 0x00658693,\n\t0x2acd8: 0x00658893, 0x2acd9: 0x00658a93, 0x2acda: 0x00658c93, 0x2acdb: 0x00658e93,\n\t0x2acdc: 0x00659093, 0x2acdd: 0x00659293, 0x2acde: 0x00659493, 0x2acdf: 0x00659693,\n\t0x2ace0: 0x00659893, 0x2ace1: 0x00659a93, 0x2ace2: 0x00659c93, 0x2ace3: 0x00659e93,\n\t0x2ace4: 0x0065a093, 0x2ace5: 0x0065a293, 0x2ace6: 0x0065a493, 0x2ace7: 0x0065a693,\n\t0x2ace8: 0x0065a893, 0x2ace9: 0x0065aa93, 0x2acea: 0x0065ac93, 0x2aceb: 0x0065ae93,\n\t0x2acec: 0x0065b093, 0x2aced: 0x0065b293, 0x2acee: 0x0065b493, 0x2acef: 0x0065b693,\n\t0x2acf0: 0x0065b893, 0x2acf1: 0x0065ba93, 0x2acf2: 0x0065bc93, 0x2acf3: 0x0065be93,\n\t0x2acf4: 0x0065c093, 0x2acf5: 0x0065c493, 0x2acf6: 0x0065c693, 0x2acf7: 0x0065c893,\n\t0x2acf8: 0x0065ca93, 0x2acf9: 0x0065cc93, 0x2acfa: 0x0065ce93, 0x2acfb: 0x0065d093,\n\t0x2acfc: 0x0065d293, 0x2acfd: 0x0065d493, 0x2acfe: 0x0065d693,\n\t// Block 0xab4, offset 0x2ad00\n\t0x2ad00: 0xe000230b, 0x2ad01: 0xe00022f8, 0x2ad02: 0xe00022fc, 0x2ad03: 0xe0002311,\n\t0x2ad04: 0xe0002316, 0x2ad05: 0xe000231d, 0x2ad06: 0xe0002321, 0x2ad07: 0xe0002325,\n\t0x2ad08: 0xe000232b, 0x2ad09: 0xf0001c1c, 0x2ad0a: 0xe0002330, 0x2ad0b: 0xe000233c,\n\t0x2ad0c: 0xe0002340, 0x2ad0d: 0xe0002337, 0x2ad0e: 0xe0002346, 0x2ad0f: 0xe000234b,\n\t0x2ad10: 0xe000234f, 0x2ad11: 0xe0002353, 0x2ad12: 0xf0001c1c, 0x2ad13: 0xe000235e,\n\t0x2ad14: 0xe0002358, 0x2ad15: 0xf0001c1c, 0x2ad16: 0xe0002363, 0x2ad17: 0xe000236d,\n\t0x2ad18: 0xf0000203, 0x2ad19: 0xf0000203, 0x2ad1a: 0xf0000203, 0x2ad1b: 0xf0000203,\n\t0x2ad1c: 0xf0000203, 0x2ad1d: 0xf0000203, 0x2ad1e: 0xf0000203, 0x2ad1f: 0xf0000203,\n\t0x2ad20: 0xf0000203, 0x2ad21: 0xf0000203, 0x2ad22: 0xe000b673, 0x2ad23: 0xe000b67f,\n\t0x2ad24: 0xe000b68b, 0x2ad25: 0xe000b693, 0x2ad26: 0xe000b69b, 0x2ad27: 0xe000b6a3,\n\t0x2ad28: 0xe000b6ab, 0x2ad29: 0xe000b6b3, 0x2ad2a: 0xe000b6bb, 0x2ad2b: 0xe000b6c3,\n\t0x2ad2c: 0xe000b6cb, 0x2ad2d: 0xe000b6d3, 0x2ad2e: 0xe000b6db, 0x2ad2f: 0xe000b6e3,\n\t0x2ad30: 0xe000b6eb, 0x2ad31: 0xe0000c1e, 0x2ad32: 0xf0001c1c, 0x2ad33: 0xf0001d1d,\n\t0x2ad34: 0xe0000a31, 0x2ad35: 0xf0001d1c, 0x2ad36: 0xf0001c1c, 0x2ad37: 0xf0001c1c,\n\t0x2ad38: 0xe0000ac2, 0x2ad39: 0xe0000ac6, 0x2ad3a: 0xf0001d1d, 0x2ad3b: 0xf0000203,\n\t0x2ad3c: 0xf0000203, 0x2ad3d: 0xf0000203, 0x2ad3e: 0xf0000203, 0x2ad3f: 0xe000b70b,\n\t// Block 0xab5, offset 0x2ad40\n\t0x2ad40: 0xf0001d1c, 0x2ad41: 0xf0001d1d, 0x2ad42: 0xe00009b7, 0x2ad43: 0xf0001c1d,\n\t0x2ad44: 0xf0001c1c, 0x2ad45: 0xf0001c1c, 0x2ad46: 0xe0000a66, 0x2ad47: 0xe0000a7a,\n\t0x2ad48: 0xf0001d1c, 0x2ad49: 0xf0001c1d, 0x2ad4a: 0xf0001c1c, 0x2ad4b: 0xf0001d1d,\n\t0x2ad4c: 0xf0001c1c, 0x2ad4d: 0xf0001d1d, 0x2ad4e: 0xf0001d1d, 0x2ad4f: 0xf0001c1c,\n\t0x2ad50: 0xf0001c1c, 0x2ad51: 0xf0001c1c, 0x2ad52: 0xe0000d0d, 0x2ad53: 0xf0001c1c,\n\t0x2ad54: 0xf0001c1c, 0x2ad55: 0xe0000d3a, 0x2ad56: 0xe0000d46, 0x2ad57: 0xf0001d1d,\n\t0x2ad58: 0xe0000eb0, 0x2ad59: 0xe0000eb8, 0x2ad5a: 0xf0001d1d, 0x2ad5b: 0xf0001c1c,\n\t0x2ad5c: 0xf0001c1d, 0x2ad5d: 0xf0001c1d, 0x2ad5e: 0xe00010b2, 0x2ad5f: 0xe00009c8,\n\t0x2ad60: 0xf0000203, 0x2ad61: 0xf0000203, 0x2ad62: 0xf0000203, 0x2ad63: 0xf0000203,\n\t0x2ad64: 0xf0000203, 0x2ad65: 0xf0000203, 0x2ad66: 0xf0000203, 0x2ad67: 0xf0000203,\n\t0x2ad68: 0xf0000203, 0x2ad69: 0xe000b66b, 0x2ad6a: 0xe000b677, 0x2ad6b: 0xe000b683,\n\t0x2ad6c: 0xe000b68f, 0x2ad6d: 0xe000b697, 0x2ad6e: 0xe000b69f, 0x2ad6f: 0xe000b6a7,\n\t0x2ad70: 0xe000b6af, 0x2ad71: 0xe000b6b7, 0x2ad72: 0xe000b6bf, 0x2ad73: 0xe000b6c7,\n\t0x2ad74: 0xe000b6cf, 0x2ad75: 0xe000b6d7, 0x2ad76: 0xe000b6df, 0x2ad77: 0xe000b6e7,\n\t0x2ad78: 0xe000b6ef, 0x2ad79: 0xe000b6f3, 0x2ad7a: 0xe000b6f7, 0x2ad7b: 0xe000b6fb,\n\t0x2ad7c: 0xe000b6ff, 0x2ad7d: 0xe000b703, 0x2ad7e: 0xe000b707, 0x2ad7f: 0xe0000bdf,\n\t// Block 0xab6, offset 0x2ad80\n\t0x2ad80: 0x6c053e20, 0x2ad81: 0x6c0acc20, 0x2ad82: 0x6c0ace20, 0x2ad83: 0x6c00f620,\n\t0x2ad84: 0x6c00f820, 0x2ad85: 0x6c004e20, 0x2ad86: 0x6c0aee20, 0x2ad87: 0x6c011a20,\n\t0x2ad88: 0x6c011c20, 0x2ad89: 0x6c011e20, 0x2ad8a: 0x6c025820, 0x2ad8b: 0x6c025a20,\n\t0x2ad8c: 0x6c059820, 0x2ad8d: 0x6c059a20, 0x2ad8e: 0x6c059c20, 0x2ad8f: 0x6c059e20,\n\t0x2ad90: 0x6c0b0e20, 0x2ad91: 0x6c0b1020, 0x2ad92: 0x6c0b1220, 0x2ad93: 0x6c0b1420,\n\t0x2ad94: 0x6c0b1620, 0x2ad95: 0x6c0b1820, 0x2ad96: 0x6c160a20, 0x2ad97: 0x6c160c20,\n\t0x2ad98: 0x6c160e20, 0x2ad99: 0x6c28d820, 0x2ad9a: 0x6c28da20, 0x2ad9b: 0x6c28dc20,\n\t0x2ad9c: 0x6c430a20, 0x2ad9d: 0x6c430c20, 0x2ad9e: 0x6c430e20, 0x2ad9f: 0x6c431020,\n\t0x2ada0: 0x6c431220, 0x2ada1: 0x6c8b0620, 0x2ada2: 0x6c8b0820, 0x2ada3: 0x6c8b0a20,\n\t0x2ada4: 0x6cb7b020, 0x2ada5: 0x6d75d620, 0x2ada6: 0x6de00620, 0x2ada7: 0x6c027820,\n\t0x2ada8: 0x6c28f220, 0x2ada9: 0x6c28fa20, 0x2adaa: 0x6c0b5020, 0x2adab: 0x6c0b5220,\n\t0x2adac: 0x6c163420, 0x2adad: 0x6c290c20, 0x2adae: 0x6ce8e420, 0x2adaf: 0x6d9fa820,\n\t0x2adb0: 0x6c05b820, 0x2adb1: 0x6c05ba20, 0x2adb2: 0x6c05bc20, 0x2adb3: 0x6c05be20,\n\t0x2adb4: 0x6c05c020, 0x2adb5: 0x6c05c220, 0x2adb6: 0x6c05c420, 0x2adb7: 0x6c05c620,\n\t0x2adb8: 0x6c0b6820, 0x2adb9: 0x6c0b6a20, 0x2adba: 0x6c0b6c20, 0x2adbb: 0x6c0b6e20,\n\t0x2adbc: 0x6c0b7020, 0x2adbd: 0x6c0b7220, 0x2adbe: 0x6c0b7420, 0x2adbf: 0x6c0b7620,\n\t// Block 0xab7, offset 0x2adc0\n\t0x2adc0: 0x6c0b7820, 0x2adc1: 0x6c164620, 0x2adc2: 0x6c164820, 0x2adc3: 0x6c164a20,\n\t0x2adc4: 0x6c164c20, 0x2adc5: 0x6c164e20, 0x2adc6: 0x6c165020, 0x2adc7: 0x6c165220,\n\t0x2adc8: 0x6c165420, 0x2adc9: 0x6c292220, 0x2adca: 0x6c292420, 0x2adcb: 0x6c292620,\n\t0x2adcc: 0x6c292820, 0x2adcd: 0x6c292a20, 0x2adce: 0x6c292c20, 0x2adcf: 0x6c292e20,\n\t0x2add0: 0x6c293020, 0x2add1: 0x6c293220, 0x2add2: 0x6c293420, 0x2add3: 0x6c293620,\n\t0x2add4: 0x6c293820, 0x2add5: 0x6c293a20, 0x2add6: 0x6c293c20, 0x2add7: 0x6c434620,\n\t0x2add8: 0x6c434820, 0x2add9: 0x6c434a20, 0x2adda: 0x6c434c20, 0x2addb: 0x6c434e20,\n\t0x2addc: 0x6c435020, 0x2addd: 0x6c435220, 0x2adde: 0x6c435420, 0x2addf: 0x6c435620,\n\t0x2ade0: 0x6c435820, 0x2ade1: 0x6c435a20, 0x2ade2: 0x6c435c20, 0x2ade3: 0x6c641a20,\n\t0x2ade4: 0x6c8b3e20, 0x2ade5: 0x6c641c20, 0x2ade6: 0x6c641e20, 0x2ade7: 0x6c642020,\n\t0x2ade8: 0x6c642220, 0x2ade9: 0x6c642420, 0x2adea: 0x6c642620, 0x2adeb: 0x6c642820,\n\t0x2adec: 0x6c642a20, 0x2aded: 0x6c642c20, 0x2adee: 0x6c8b4020, 0x2adef: 0x6c8b4220,\n\t0x2adf0: 0x6c8b4420, 0x2adf1: 0x6c8b4620, 0x2adf2: 0x6c8b4820, 0x2adf3: 0x6cb7da20,\n\t0x2adf4: 0x6cb7dc20, 0x2adf5: 0x6cb7de20, 0x2adf6: 0x6cb7e020, 0x2adf7: 0x6cb7e220,\n\t0x2adf8: 0x6cb7e420, 0x2adf9: 0x6cb7e620, 0x2adfa: 0x6cb7e820, 0x2adfb: 0x6ce8fe20,\n\t0x2adfc: 0x6ce90020, 0x2adfd: 0x6ce90220, 0x2adfe: 0x6ce90420, 0x2adff: 0x6ce90620,\n\t// Block 0xab8, offset 0x2ae00\n\t0x2ae00: 0x6ce90820, 0x2ae01: 0x6ce90a20, 0x2ae02: 0x6d18ae20, 0x2ae03: 0x6d18b020,\n\t0x2ae04: 0x6d18b220, 0x2ae05: 0x6d18b420, 0x2ae06: 0x6d18b620, 0x2ae07: 0x6d18b820,\n\t0x2ae08: 0x6d18ba20, 0x2ae09: 0x6d18bc20, 0x2ae0a: 0x6d18be20, 0x2ae0b: 0x6d18c020,\n\t0x2ae0c: 0x6d18c220, 0x2ae0d: 0x6d18c420, 0x2ae0e: 0x6d18c620, 0x2ae0f: 0x6d18c820,\n\t0x2ae10: 0x6d18ca20, 0x2ae11: 0x6d47b220, 0x2ae12: 0x6d47b420, 0x2ae13: 0x6d47b620,\n\t0x2ae14: 0x6d47b820, 0x2ae15: 0x6d47ba20, 0x2ae16: 0x6d47bc20, 0x2ae17: 0x6d47be20,\n\t0x2ae18: 0x6d47c020, 0x2ae19: 0x6d75f420, 0x2ae1a: 0x6d75f620, 0x2ae1b: 0x6d75f820,\n\t0x2ae1c: 0x6d75fa20, 0x2ae1d: 0x6d9faa20, 0x2ae1e: 0x6d9fac20, 0x2ae1f: 0x6dc24a20,\n\t0x2ae20: 0x6dc24c20, 0x2ae21: 0x6de00e20, 0x2ae22: 0x6de01020, 0x2ae23: 0x6de01220,\n\t0x2ae24: 0x6df86e20, 0x2ae25: 0x6df87020, 0x2ae26: 0x6df87220, 0x2ae27: 0x6e0c3e20,\n\t0x2ae28: 0x6e0c4020, 0x2ae29: 0x6e284a20, 0x2ae2a: 0x6e3ce220, 0x2ae2b: 0x6c0c4420,\n\t0x2ae2c: 0x6c2a2c20, 0x2ae2d: 0x6c657020, 0x2ae2e: 0x6c8c6620, 0x2ae2f: 0x6dc28c20,\n\t0x2ae30: 0x6c061620, 0x2ae31: 0x6c061820, 0x2ae32: 0x6c0c5820, 0x2ae33: 0x6c174e20,\n\t0x2ae34: 0x6c175020, 0x2ae35: 0x6c175c20, 0x2ae36: 0x6c175e20, 0x2ae37: 0x6c176020,\n\t0x2ae38: 0x6c447420, 0x2ae39: 0x6df89620, 0x2ae3a: 0x6c2a5c20, 0x2ae3b: 0x6c8c8420,\n\t0x2ae3c: 0x6c8c8620, 0x2ae3d: 0x6cb8f220, 0x2ae3e: 0x6cea0820, 0x2ae3f: 0x6e1c1c20,\n\t// Block 0xab9, offset 0x2ae40\n\t0x2ae40: 0x6c02fa20, 0x2ae41: 0x6c02fc20, 0x2ae42: 0x6c449020, 0x2ae43: 0x6cb8fc20,\n\t0x2ae44: 0x6d487620, 0x2ae45: 0x6c030620, 0x2ae46: 0x6c0c9820, 0x2ae47: 0x6c0c9a20,\n\t0x2ae48: 0x6c178e20, 0x2ae49: 0x6c2a7420, 0x2ae4a: 0x6c2a7620, 0x2ae4b: 0x6c2a7820,\n\t0x2ae4c: 0x6c2a7a20, 0x2ae4d: 0x6c2a7c20, 0x2ae4e: 0x6c44a020, 0x2ae4f: 0x6c44a220,\n\t0x2ae50: 0x6c65c220, 0x2ae51: 0x6c65c420, 0x2ae52: 0x6c65c620, 0x2ae53: 0x6c8c9620,\n\t0x2ae54: 0x6cb90c20, 0x2ae55: 0x6cb90e20, 0x2ae56: 0x6cea1220, 0x2ae57: 0x6d19ea20,\n\t0x2ae58: 0x6c8cbe20, 0x2ae59: 0x6c0cd220, 0x2ae5a: 0x6c067c20, 0x2ae5b: 0x6c067e20,\n\t0x2ae5c: 0x6c068020, 0x2ae5d: 0x6c0ce620, 0x2ae5e: 0x6c0ce820, 0x2ae5f: 0x6c17da20,\n\t0x2ae60: 0x6c17dc20, 0x2ae61: 0x6c2abc20, 0x2ae62: 0x6c2abe20, 0x2ae63: 0x6c2ac020,\n\t0x2ae64: 0x6c2ac220, 0x2ae65: 0x6c2ac420, 0x2ae66: 0x6c2ac620, 0x2ae67: 0x6c44e020,\n\t0x2ae68: 0x6c44e220, 0x2ae69: 0x6c44e420, 0x2ae6a: 0x6c44e620, 0x2ae6b: 0x6c44e820,\n\t0x2ae6c: 0x6c661220, 0x2ae6d: 0x6c661420, 0x2ae6e: 0x6c661620, 0x2ae6f: 0x6c661820,\n\t0x2ae70: 0x6c661a20, 0x2ae71: 0x6c8cd820, 0x2ae72: 0x6c8cda20, 0x2ae73: 0x6c8cdc20,\n\t0x2ae74: 0x6c8cde20, 0x2ae75: 0x6c8ce020, 0x2ae76: 0x6c8ce220, 0x2ae77: 0x6cb94620,\n\t0x2ae78: 0x6cb94820, 0x2ae79: 0x6cb94a20, 0x2ae7a: 0x6cb94c20, 0x2ae7b: 0x6cb94e20,\n\t0x2ae7c: 0x6cea3c20, 0x2ae7d: 0x6cea3e20, 0x2ae7e: 0x6d1a0e20, 0x2ae7f: 0x6d1a1020,\n\t// Block 0xaba, offset 0x2ae80\n\t0x2ae80: 0x6d1a1220, 0x2ae81: 0x6d1a1420, 0x2ae82: 0x6d1a1620, 0x2ae83: 0x6d1a1820,\n\t0x2ae84: 0x6d1a1a20, 0x2ae85: 0x6d1a1c20, 0x2ae86: 0x6d1a1e20, 0x2ae87: 0x6d1a2020,\n\t0x2ae88: 0x6d1a2220, 0x2ae89: 0x6d1a2420, 0x2ae8a: 0x6d489620, 0x2ae8b: 0x6d76a420,\n\t0x2ae8c: 0x6d76a620, 0x2ae8d: 0x6d76a820, 0x2ae8e: 0x6da03020, 0x2ae8f: 0x6da03220,\n\t0x2ae90: 0x6dc2b620, 0x2ae91: 0x6de05620, 0x2ae92: 0x6df8a620, 0x2ae93: 0x6c06a020,\n\t0x2ae94: 0x6c0d3a20, 0x2ae95: 0x6c0d3c20, 0x2ae96: 0x6c0d3e20, 0x2ae97: 0x6c183820,\n\t0x2ae98: 0x6c183a20, 0x2ae99: 0x6c2b4c20, 0x2ae9a: 0x6c2b4e20, 0x2ae9b: 0x6c2b5020,\n\t0x2ae9c: 0x6c454e20, 0x2ae9d: 0x6c66a620, 0x2ae9e: 0x6c66a820, 0x2ae9f: 0x6c66aa20,\n\t0x2aea0: 0x6c8d4220, 0x2aea1: 0x6cb9aa20, 0x2aea2: 0x6d1a7620, 0x2aea3: 0x6da05420,\n\t0x2aea4: 0x6da05620, 0x2aea5: 0x6da05820, 0x2aea6: 0x6da05a20, 0x2aea7: 0x6dc2c420,\n\t0x2aea8: 0x6c8d6a20, 0x2aea9: 0x6cb9d420, 0x2aeaa: 0x6ceac220, 0x2aeab: 0x6c035820,\n\t0x2aeac: 0x6c2b9a20, 0x2aead: 0x6c8d8020, 0x2aeae: 0x6e123e20, 0x2aeaf: 0x6c188c20,\n\t0x2aeb0: 0x6c188e20, 0x2aeb1: 0x6c8d8620, 0x2aeb2: 0x6cead220, 0x2aeb3: 0x6cead420,\n\t0x2aeb4: 0x6cead620, 0x2aeb5: 0x6d1aba20, 0x2aeb6: 0x6e3cf020, 0x2aeb7: 0x6c18a420,\n\t0x2aeb8: 0x6cb9f020, 0x2aeb9: 0x6c036620, 0x2aeba: 0x6c0d8020, 0x2aebb: 0x6c0d8220,\n\t0x2aebc: 0x6ceae020, 0x2aebd: 0x6c2bd420, 0x2aebe: 0x6c016e20, 0x2aebf: 0x6c017020,\n\t// Block 0xabb, offset 0x2aec0\n\t0x2aec0: 0x6c18d020, 0x2aec1: 0x6c2bf220, 0x2aec2: 0x6c0dc820, 0x2aec3: 0x6c0dca20,\n\t0x2aec4: 0x6c0dcc20, 0x2aec5: 0x6c18dc20, 0x2aec6: 0x6c18de20, 0x2aec7: 0x6c18e020,\n\t0x2aec8: 0x6c2c0020, 0x2aec9: 0x6c2c0220, 0x2aeca: 0x6c45f620, 0x2aecb: 0x6c673220,\n\t0x2aecc: 0x6c673420, 0x2aecd: 0x6c673620, 0x2aece: 0x6cba0a20, 0x2aecf: 0x6ceb0220,\n\t0x2aed0: 0x6d1adc20, 0x2aed1: 0x6d1ade20, 0x2aed2: 0x6d491820, 0x2aed3: 0x6da08620,\n\t0x2aed4: 0x6e319620, 0x2aed5: 0x6c039020, 0x2aed6: 0x6c677020, 0x2aed7: 0x6c8de220,\n\t0x2aed8: 0x6c8de420, 0x2aed9: 0x6d493a20, 0x2aeda: 0x6c039c20, 0x2aedb: 0x6c039e20,\n\t0x2aedc: 0x6c0e0620, 0x2aedd: 0x6c190c20, 0x2aede: 0x6c2c3a20, 0x2aedf: 0x6c463e20,\n\t0x2aee0: 0x6cba4220, 0x2aee1: 0x6d1b2020, 0x2aee2: 0x6d3d7420, 0x2aee3: 0x6c073020,\n\t0x2aee4: 0x6c073220, 0x2aee5: 0x6c073420, 0x2aee6: 0x6c0e1c20, 0x2aee7: 0x6c0e1e20,\n\t0x2aee8: 0x6c0e2020, 0x2aee9: 0x6c192220, 0x2aeea: 0x6c192420, 0x2aeeb: 0x6c192620,\n\t0x2aeec: 0x6c192820, 0x2aeed: 0x6c192a20, 0x2aeee: 0x6c192c20, 0x2aeef: 0x6c192e20,\n\t0x2aef0: 0x6c193020, 0x2aef1: 0x6c193220, 0x2aef2: 0x6c193420, 0x2aef3: 0x6c193620,\n\t0x2aef4: 0x6c193820, 0x2aef5: 0x6c193a20, 0x2aef6: 0x6c193c20, 0x2aef7: 0x6c2c5620,\n\t0x2aef8: 0x6c2c5820, 0x2aef9: 0x6c2c5a20, 0x2aefa: 0x6c2c5c20, 0x2aefb: 0x6c2c5e20,\n\t0x2aefc: 0x6c2c6020, 0x2aefd: 0x6c2c6220, 0x2aefe: 0x6c2c6420, 0x2aeff: 0x6c2c6620,\n\t// Block 0xabc, offset 0x2af00\n\t0x2af00: 0x6c466820, 0x2af01: 0x6c466a20, 0x2af02: 0x6c466c20, 0x2af03: 0x6c466e20,\n\t0x2af04: 0x6c467020, 0x2af05: 0x6c467220, 0x2af06: 0x6c467420, 0x2af07: 0x6c467620,\n\t0x2af08: 0x6c467820, 0x2af09: 0x6c467a20, 0x2af0a: 0x6c467c20, 0x2af0b: 0x6c467e20,\n\t0x2af0c: 0x6c468020, 0x2af0d: 0x6c468220, 0x2af0e: 0x6c468420, 0x2af0f: 0x6c679a20,\n\t0x2af10: 0x6c679c20, 0x2af11: 0x6c679e20, 0x2af12: 0x6c67a020, 0x2af13: 0x6c67a220,\n\t0x2af14: 0x6c67a420, 0x2af15: 0x6c67a620, 0x2af16: 0x6c67a820, 0x2af17: 0x6c67aa20,\n\t0x2af18: 0x6c67ac20, 0x2af19: 0x6c67ae20, 0x2af1a: 0x6c67b020, 0x2af1b: 0x6c67b220,\n\t0x2af1c: 0x6c67b420, 0x2af1d: 0x6c67b620, 0x2af1e: 0x6c67b820, 0x2af1f: 0x6c8e1220,\n\t0x2af20: 0x6c8e1420, 0x2af21: 0x6c8e1620, 0x2af22: 0x6c8e1820, 0x2af23: 0x6c8e1a20,\n\t0x2af24: 0x6c8e1c20, 0x2af25: 0x6c8e1e20, 0x2af26: 0x6c8e2020, 0x2af27: 0x6c8e2220,\n\t0x2af28: 0x6c8e2420, 0x2af29: 0x6c8e2620, 0x2af2a: 0x6c8e2820, 0x2af2b: 0x6c8e2a20,\n\t0x2af2c: 0x6c8e2c20, 0x2af2d: 0x6c8e2e20, 0x2af2e: 0x6c8e3020, 0x2af2f: 0x6c8e3220,\n\t0x2af30: 0x6c8e3420, 0x2af31: 0x6c8e3620, 0x2af32: 0x6c8e3820, 0x2af33: 0x6c8e3a20,\n\t0x2af34: 0x6c8e3c20, 0x2af35: 0x6c8e3e20, 0x2af36: 0x6cba5c20, 0x2af37: 0x6cba5e20,\n\t0x2af38: 0x6cba6020, 0x2af39: 0x6cba6220, 0x2af3a: 0x6cba6420, 0x2af3b: 0x6cba6620,\n\t0x2af3c: 0x6cba6820, 0x2af3d: 0x6cba6a20, 0x2af3e: 0x6cba6c20, 0x2af3f: 0x6cba6e20,\n\t// Block 0xabd, offset 0x2af40\n\t0x2af40: 0x6cba7020, 0x2af41: 0x6cba7220, 0x2af42: 0x6cba7420, 0x2af43: 0x6cba7620,\n\t0x2af44: 0x6cba7820, 0x2af45: 0x6cba7a20, 0x2af46: 0x6cba7c20, 0x2af47: 0x6cba7e20,\n\t0x2af48: 0x6cba8020, 0x2af49: 0x6cba8220, 0x2af4a: 0x6cba8420, 0x2af4b: 0x6cba8620,\n\t0x2af4c: 0x6cba8820, 0x2af4d: 0x6cba8a20, 0x2af4e: 0x6cba8c20, 0x2af4f: 0x6cba8e20,\n\t0x2af50: 0x6cba9020, 0x2af51: 0x6cba9220, 0x2af52: 0x6ceb4e20, 0x2af53: 0x6ceb5020,\n\t0x2af54: 0x6ceb5220, 0x2af55: 0x6ceb5420, 0x2af56: 0x6ceb5620, 0x2af57: 0x6ceb5820,\n\t0x2af58: 0x6ceb5a20, 0x2af59: 0x6ceb5c20, 0x2af5a: 0x6ceb5e20, 0x2af5b: 0x6ceb6020,\n\t0x2af5c: 0x6ceb6220, 0x2af5d: 0x6ceb6420, 0x2af5e: 0x6ceb6620, 0x2af5f: 0x6ceb6820,\n\t0x2af60: 0x6ceb6a20, 0x2af61: 0x6ceb6c20, 0x2af62: 0x6d1b3420, 0x2af63: 0x6d1b3620,\n\t0x2af64: 0x6d1b3820, 0x2af65: 0x6d1b3a20, 0x2af66: 0x6d1b3c20, 0x2af67: 0x6d1b3e20,\n\t0x2af68: 0x6d1b4020, 0x2af69: 0x6d1b4220, 0x2af6a: 0x6d1b4420, 0x2af6b: 0x6d1b4620,\n\t0x2af6c: 0x6d1b4820, 0x2af6d: 0x6d1b4a20, 0x2af6e: 0x6d1b4c20, 0x2af6f: 0x6d1b4e20,\n\t0x2af70: 0x6d1b5020, 0x2af71: 0x6d494e20, 0x2af72: 0x6d495020, 0x2af73: 0x6d495220,\n\t0x2af74: 0x6d495420, 0x2af75: 0x6d495620, 0x2af76: 0x6d495820, 0x2af77: 0x6d495a20,\n\t0x2af78: 0x6d495c20, 0x2af79: 0x6d495e20, 0x2af7a: 0x6d496020, 0x2af7b: 0x6d770e20,\n\t0x2af7c: 0x6d771020, 0x2af7d: 0x6d771220, 0x2af7e: 0x6d771420, 0x2af7f: 0x6d771620,\n\t// Block 0xabe, offset 0x2af80\n\t0x2af80: 0x6d771820, 0x2af81: 0x6d771a20, 0x2af82: 0x6d771c20, 0x2af83: 0x6d771e20,\n\t0x2af84: 0x6d772020, 0x2af85: 0x6da09a20, 0x2af86: 0x6da09c20, 0x2af87: 0x6da09e20,\n\t0x2af88: 0x6da0a020, 0x2af89: 0x6dc2fa20, 0x2af8a: 0x6dc2fc20, 0x2af8b: 0x6dc2fe20,\n\t0x2af8c: 0x6dc30020, 0x2af8d: 0x6dc30220, 0x2af8e: 0x6dc30420, 0x2af8f: 0x6dc30620,\n\t0x2af90: 0x6de07e20, 0x2af91: 0x6de08020, 0x2af92: 0x6de08220, 0x2af93: 0x6df8cc20,\n\t0x2af94: 0x6df8ce20, 0x2af95: 0x6e0c9220, 0x2af96: 0x6e0c9420, 0x2af97: 0x6e0c9620,\n\t0x2af98: 0x6e1c2e20, 0x2af99: 0x6e287220, 0x2af9a: 0x6e287420, 0x2af9b: 0x6e384620,\n\t0x2af9c: 0x6e3cf820, 0x2af9d: 0x6c078820, 0x2af9e: 0x6c06a220, 0x2af9f: 0x6c0e9620,\n\t0x2afa0: 0x6c2d7e20, 0x2afa1: 0x6c2d8020, 0x2afa2: 0x6c47dc20, 0x2afa3: 0x6c694e20,\n\t0x2afa4: 0x6d1cf020, 0x2afa5: 0x6df92a20, 0x2afa6: 0x6c07a020, 0x2afa7: 0x6c1a9820,\n\t0x2afa8: 0x6c1a9a20, 0x2afa9: 0x6c1a9c20, 0x2afaa: 0x6c1a9e20, 0x2afab: 0x6c1aa020,\n\t0x2afac: 0x6c1aa220, 0x2afad: 0x6c1aa420, 0x2afae: 0x6c1aa620, 0x2afaf: 0x6c1aa820,\n\t0x2afb0: 0x6c1aaa20, 0x2afb1: 0x6c2daa20, 0x2afb2: 0x6c2dac20, 0x2afb3: 0x6c2dae20,\n\t0x2afb4: 0x6c2db020, 0x2afb5: 0x6c2db220, 0x2afb6: 0x6c480020, 0x2afb7: 0x6c480220,\n\t0x2afb8: 0x6c480420, 0x2afb9: 0x6c480620, 0x2afba: 0x6c480820, 0x2afbb: 0x6c480a20,\n\t0x2afbc: 0x6c480c20, 0x2afbd: 0x6c480e20, 0x2afbe: 0x6c481020, 0x2afbf: 0x6c697e20,\n\t// Block 0xabf, offset 0x2afc0\n\t0x2afc0: 0x6c698020, 0x2afc1: 0x6c698220, 0x2afc2: 0x6c698420, 0x2afc3: 0x6c698620,\n\t0x2afc4: 0x6c698820, 0x2afc5: 0x6c698a20, 0x2afc6: 0x6c698c20, 0x2afc7: 0x6c904620,\n\t0x2afc8: 0x6c904820, 0x2afc9: 0x6c904a20, 0x2afca: 0x6c904c20, 0x2afcb: 0x6c904e20,\n\t0x2afcc: 0x6c905020, 0x2afcd: 0x6c905220, 0x2afce: 0x6cbc6420, 0x2afcf: 0x6cbc6620,\n\t0x2afd0: 0x6cbc6820, 0x2afd1: 0x6cbc6a20, 0x2afd2: 0x6cbc6c20, 0x2afd3: 0x6cbc6e20,\n\t0x2afd4: 0x6cbc7020, 0x2afd5: 0x6cbc7220, 0x2afd6: 0x6cbc7420, 0x2afd7: 0x6cbc7620,\n\t0x2afd8: 0x6cbc7820, 0x2afd9: 0x6ced4a20, 0x2afda: 0x6ced4c20, 0x2afdb: 0x6ced4e20,\n\t0x2afdc: 0x6ced5020, 0x2afdd: 0x6ced5220, 0x2afde: 0x6ced5420, 0x2afdf: 0x6ced5620,\n\t0x2afe0: 0x6d1d1620, 0x2afe1: 0x6d1d1820, 0x2afe2: 0x6d1d1a20, 0x2afe3: 0x6d1d1c20,\n\t0x2afe4: 0x6d1d1e20, 0x2afe5: 0x6d1d2020, 0x2afe6: 0x6d1d2220, 0x2afe7: 0x6d4ac820,\n\t0x2afe8: 0x6d4aca20, 0x2afe9: 0x6d4acc20, 0x2afea: 0x6d4ace20, 0x2afeb: 0x6d4ad020,\n\t0x2afec: 0x6d4ad220, 0x2afed: 0x6d4ad420, 0x2afee: 0x6d4ad620, 0x2afef: 0x6d4ad820,\n\t0x2aff0: 0x6d786620, 0x2aff1: 0x6d786820, 0x2aff2: 0x6d786a20, 0x2aff3: 0x6d786c20,\n\t0x2aff4: 0x6d786e20, 0x2aff5: 0x6d787020, 0x2aff6: 0x6d787220, 0x2aff7: 0x6da18820,\n\t0x2aff8: 0x6da18a20, 0x2aff9: 0x6da18c20, 0x2affa: 0x6da18e20, 0x2affb: 0x6dc3e020,\n\t0x2affc: 0x6dc3e220, 0x2affd: 0x6dc3e420, 0x2affe: 0x6de10220, 0x2afff: 0x6de10420,\n\t// Block 0xac0, offset 0x2b000\n\t0x2b000: 0x6df93220, 0x2b001: 0x6e31c220, 0x2b002: 0x6e385e20, 0x2b003: 0x6cbd8620,\n\t0x2b004: 0x6d4ba020, 0x2b005: 0x6c48f020, 0x2b006: 0x6c48f420, 0x2b007: 0x6c48f620,\n\t0x2b008: 0x6c07ce20, 0x2b009: 0x6c2e8c20, 0x2b00a: 0x6cbd9820, 0x2b00b: 0x6d1e0c20,\n\t0x2b00c: 0x6d1e0e20, 0x2b00d: 0x6dc44620, 0x2b00e: 0x6c07dc20, 0x2b00f: 0x6c0f2c20,\n\t0x2b010: 0x6c0f2e20, 0x2b011: 0x6c0f3020, 0x2b012: 0x6c1b8a20, 0x2b013: 0x6c1b8c20,\n\t0x2b014: 0x6c2e9a20, 0x2b015: 0x6c2e9c20, 0x2b016: 0x6c2e9e20, 0x2b017: 0x6c2ea020,\n\t0x2b018: 0x6c2ea220, 0x2b019: 0x6c2ea420, 0x2b01a: 0x6c490220, 0x2b01b: 0x6c490420,\n\t0x2b01c: 0x6c919820, 0x2b01d: 0x6c919a20, 0x2b01e: 0x6c919c20, 0x2b01f: 0x6cbdb620,\n\t0x2b020: 0x6cee7620, 0x2b021: 0x6d791c20, 0x2b022: 0x6c07fc20, 0x2b023: 0x6c0f5620,\n\t0x2b024: 0x6c0f5820, 0x2b025: 0x6c0f5a20, 0x2b026: 0x6c0f5c20, 0x2b027: 0x6c0f5e20,\n\t0x2b028: 0x6c0f6020, 0x2b029: 0x6c1bc420, 0x2b02a: 0x6c1bc620, 0x2b02b: 0x6c1bc820,\n\t0x2b02c: 0x6c1bca20, 0x2b02d: 0x6c1bcc20, 0x2b02e: 0x6c1bce20, 0x2b02f: 0x6c1bd020,\n\t0x2b030: 0x6c2ef420, 0x2b031: 0x6c2ef620, 0x2b032: 0x6c2ef820, 0x2b033: 0x6c2efa20,\n\t0x2b034: 0x6c2efc20, 0x2b035: 0x6c2efe20, 0x2b036: 0x6c2f0020, 0x2b037: 0x6c2f0220,\n\t0x2b038: 0x6c2f0420, 0x2b039: 0x6c2f0620, 0x2b03a: 0x6c2f0820, 0x2b03b: 0x6c2f0a20,\n\t0x2b03c: 0x6c2f0c20, 0x2b03d: 0x6c2f0e20, 0x2b03e: 0x6c2f1020, 0x2b03f: 0x6c2f1220,\n\t// Block 0xac1, offset 0x2b040\n\t0x2b040: 0x6c2f1420, 0x2b041: 0x6c2f1620, 0x2b042: 0x6c493e20, 0x2b043: 0x6c494020,\n\t0x2b044: 0x6c494220, 0x2b045: 0x6c494420, 0x2b046: 0x6c494620, 0x2b047: 0x6c494820,\n\t0x2b048: 0x6c494a20, 0x2b049: 0x6c494c20, 0x2b04a: 0x6c494e20, 0x2b04b: 0x6c495020,\n\t0x2b04c: 0x6c495220, 0x2b04d: 0x6c6aea20, 0x2b04e: 0x6c6aec20, 0x2b04f: 0x6c6aee20,\n\t0x2b050: 0x6c6af020, 0x2b051: 0x6c6af220, 0x2b052: 0x6c6af420, 0x2b053: 0x6c6af620,\n\t0x2b054: 0x6c6af820, 0x2b055: 0x6c6afa20, 0x2b056: 0x6c6afc20, 0x2b057: 0x6c6afe20,\n\t0x2b058: 0x6c6b0020, 0x2b059: 0x6c6b0220, 0x2b05a: 0x6c6b0420, 0x2b05b: 0x6c6b0620,\n\t0x2b05c: 0x6c6b0820, 0x2b05d: 0x6c6b0a20, 0x2b05e: 0x6c6b0c20, 0x2b05f: 0x6c6b0e20,\n\t0x2b060: 0x6c1bd220, 0x2b061: 0x6c6b1020, 0x2b062: 0x6c6b1220, 0x2b063: 0x6c6b1420,\n\t0x2b064: 0x6c6b1620, 0x2b065: 0x6c91da20, 0x2b066: 0x6c91dc20, 0x2b067: 0x6c91de20,\n\t0x2b068: 0x6c91e020, 0x2b069: 0x6c91e220, 0x2b06a: 0x6c91e420, 0x2b06b: 0x6c91e620,\n\t0x2b06c: 0x6c91e820, 0x2b06d: 0x6c91ea20, 0x2b06e: 0x6cbdf220, 0x2b06f: 0x6cbdf420,\n\t0x2b070: 0x6cbdf620, 0x2b071: 0x6cbdf820, 0x2b072: 0x6cbdfa20, 0x2b073: 0x6cbdfc20,\n\t0x2b074: 0x6cbdfe20, 0x2b075: 0x6cbe0020, 0x2b076: 0x6cbe0220, 0x2b077: 0x6cbe0420,\n\t0x2b078: 0x6cbe0620, 0x2b079: 0x6cbe0820, 0x2b07a: 0x6cbe0a20, 0x2b07b: 0x6cbe0c20,\n\t0x2b07c: 0x6cbe0e20, 0x2b07d: 0x6cbe1020, 0x2b07e: 0x6cbe1220, 0x2b07f: 0x6cbe1420,\n\t// Block 0xac2, offset 0x2b080\n\t0x2b080: 0x6cbe1620, 0x2b081: 0x6cbe1820, 0x2b082: 0x6cbe1a20, 0x2b083: 0x6cbe1c20,\n\t0x2b084: 0x6cbe1e20, 0x2b085: 0x6ceea620, 0x2b086: 0x6ceea820, 0x2b087: 0x6ceeaa20,\n\t0x2b088: 0x6ceeac20, 0x2b089: 0x6ceeae20, 0x2b08a: 0x6ceeb020, 0x2b08b: 0x6ceeb220,\n\t0x2b08c: 0x6ceeb420, 0x2b08d: 0x6ceeb620, 0x2b08e: 0x6ceeb820, 0x2b08f: 0x6ceeba20,\n\t0x2b090: 0x6ceebc20, 0x2b091: 0x6ceebe20, 0x2b092: 0x6ceec020, 0x2b093: 0x6ceec220,\n\t0x2b094: 0x6ceec420, 0x2b095: 0x6d1e5220, 0x2b096: 0x6d1e5420, 0x2b097: 0x6d1e5620,\n\t0x2b098: 0x6d1e5820, 0x2b099: 0x6d1e5a20, 0x2b09a: 0x6d1e5c20, 0x2b09b: 0x6d1e5e20,\n\t0x2b09c: 0x6d1e6020, 0x2b09d: 0x6d1e6220, 0x2b09e: 0x6d1e6420, 0x2b09f: 0x6d1e6620,\n\t0x2b0a0: 0x6d1e6820, 0x2b0a1: 0x6d1e6a20, 0x2b0a2: 0x6d1e6c20, 0x2b0a3: 0x6d4bde20,\n\t0x2b0a4: 0x6d4be020, 0x2b0a5: 0x6d4be220, 0x2b0a6: 0x6d4be420, 0x2b0a7: 0x6d4be620,\n\t0x2b0a8: 0x6d4be820, 0x2b0a9: 0x6d793820, 0x2b0aa: 0x6d793a20, 0x2b0ab: 0x6d793c20,\n\t0x2b0ac: 0x6d793e20, 0x2b0ad: 0x6d794020, 0x2b0ae: 0x6da22220, 0x2b0af: 0x6da22420,\n\t0x2b0b0: 0x6dc45420, 0x2b0b1: 0x6dc45620, 0x2b0b2: 0x6de15a20, 0x2b0b3: 0x6de15c20,\n\t0x2b0b4: 0x6de15e20, 0x2b0b5: 0x6de16020, 0x2b0b6: 0x6df95c20, 0x2b0b7: 0x6df95e20,\n\t0x2b0b8: 0x6df96020, 0x2b0b9: 0x6e0d2820, 0x2b0ba: 0x6e1c9820, 0x2b0bb: 0x6e3d1620,\n\t0x2b0bc: 0x6e3d1820, 0x2b0bd: 0x6c0fa620, 0x2b0be: 0x6c1c6220, 0x2b0bf: 0x6c1c6420,\n\t// Block 0xac3, offset 0x2b0c0\n\t0x2b0c0: 0x6c2fc820, 0x2b0c1: 0x6c4a1c20, 0x2b0c2: 0x6c6bdc20, 0x2b0c3: 0x6c6bde20,\n\t0x2b0c4: 0x6cbf4220, 0x2b0c5: 0x6cef7820, 0x2b0c6: 0x6d4cb620, 0x2b0c7: 0x6d79e020,\n\t0x2b0c8: 0x6e386820, 0x2b0c9: 0x6c03f620, 0x2b0ca: 0x6c081e20, 0x2b0cb: 0x6c082020,\n\t0x2b0cc: 0x6c0fb820, 0x2b0cd: 0x6c0fba20, 0x2b0ce: 0x6c1c8620, 0x2b0cf: 0x6c1c8820,\n\t0x2b0d0: 0x6c1c8a20, 0x2b0d1: 0x6c1c8c20, 0x2b0d2: 0x6c2ffa20, 0x2b0d3: 0x6c4a4020,\n\t0x2b0d4: 0x6c4a4220, 0x2b0d5: 0x6c4a4420, 0x2b0d6: 0x6c4a4620, 0x2b0d7: 0x6c6bf620,\n\t0x2b0d8: 0x6c6bf820, 0x2b0d9: 0x6c6bfa20, 0x2b0da: 0x6c6bfc20, 0x2b0db: 0x6c932220,\n\t0x2b0dc: 0x6c932420, 0x2b0dd: 0x6c932620, 0x2b0de: 0x6c932820, 0x2b0df: 0x6c932a20,\n\t0x2b0e0: 0x6c932c20, 0x2b0e1: 0x6c932e20, 0x2b0e2: 0x6cbf6420, 0x2b0e3: 0x6cbf6620,\n\t0x2b0e4: 0x6cef9a20, 0x2b0e5: 0x6cef9c20, 0x2b0e6: 0x6cef9e20, 0x2b0e7: 0x6cefa020,\n\t0x2b0e8: 0x6cefa220, 0x2b0e9: 0x6d1f3c20, 0x2b0ea: 0x6d1f3e20, 0x2b0eb: 0x6d1f4020,\n\t0x2b0ec: 0x6d1f4220, 0x2b0ed: 0x6d4cc820, 0x2b0ee: 0x6d4cca20, 0x2b0ef: 0x6d4ccc20,\n\t0x2b0f0: 0x6dc49420, 0x2b0f1: 0x6e0d4620, 0x2b0f2: 0x6e3d1a20, 0x2b0f3: 0x6c083020,\n\t0x2b0f4: 0x6c1cbc20, 0x2b0f5: 0x6c304420, 0x2b0f6: 0x6c6c7220, 0x2b0f7: 0x6cbfd420,\n\t0x2b0f8: 0x6c6c7c20, 0x2b0f9: 0x6cbfea20, 0x2b0fa: 0x6d1fba20, 0x2b0fb: 0x6d4d3820,\n\t0x2b0fc: 0x6c0ffa20, 0x2b0fd: 0x6c1cd620, 0x2b0fe: 0x6c306a20, 0x2b0ff: 0x6c306c20,\n\t// Block 0xac4, offset 0x2b100\n\t0x2b100: 0x6c4aba20, 0x2b101: 0x6c4abc20, 0x2b102: 0x6c6c9420, 0x2b103: 0x6c93b820,\n\t0x2b104: 0x6c93ba20, 0x2b105: 0x6c93bc20, 0x2b106: 0x6c93be20, 0x2b107: 0x6cc00220,\n\t0x2b108: 0x6cc00420, 0x2b109: 0x6cf01220, 0x2b10a: 0x6cf01420, 0x2b10b: 0x6c085020,\n\t0x2b10c: 0x6c100a20, 0x2b10d: 0x6c100c20, 0x2b10e: 0x6c1cf820, 0x2b10f: 0x6c308020,\n\t0x2b110: 0x6c308220, 0x2b111: 0x6c308420, 0x2b112: 0x6c4acc20, 0x2b113: 0x6c4ace20,\n\t0x2b114: 0x6c4ad020, 0x2b115: 0x6c4ad220, 0x2b116: 0x6c4ad420, 0x2b117: 0x6c6cac20,\n\t0x2b118: 0x6c93cc20, 0x2b119: 0x6c93ce20, 0x2b11a: 0x6cc02020, 0x2b11b: 0x6cc02220,\n\t0x2b11c: 0x6d1fda20, 0x2b11d: 0x6d1fdc20, 0x2b11e: 0x6d1fde20, 0x2b11f: 0x6d4d5e20,\n\t0x2b120: 0x6d4d6020, 0x2b121: 0x6de1be20, 0x2b122: 0x6c040c20, 0x2b123: 0x6c1d1e20,\n\t0x2b124: 0x6c086420, 0x2b125: 0x6c086620, 0x2b126: 0x6c086820, 0x2b127: 0x6c086a20,\n\t0x2b128: 0x6c103620, 0x2b129: 0x6c103820, 0x2b12a: 0x6c103a20, 0x2b12b: 0x6c103c20,\n\t0x2b12c: 0x6c103e20, 0x2b12d: 0x6c104020, 0x2b12e: 0x6c104220, 0x2b12f: 0x6c104420,\n\t0x2b130: 0x6c1d2c20, 0x2b131: 0x6c1d2e20, 0x2b132: 0x6c1d3020, 0x2b133: 0x6c1d3220,\n\t0x2b134: 0x6c1d3420, 0x2b135: 0x6c1d3620, 0x2b136: 0x6c1d3820, 0x2b137: 0x6c1d2020,\n\t0x2b138: 0x6c1d3a20, 0x2b139: 0x6c30b820, 0x2b13a: 0x6c30ba20, 0x2b13b: 0x6c30bc20,\n\t0x2b13c: 0x6c30be20, 0x2b13d: 0x6c30c020, 0x2b13e: 0x6c30c220, 0x2b13f: 0x6c30c420,\n\t// Block 0xac5, offset 0x2b140\n\t0x2b140: 0x6c30c620, 0x2b141: 0x6c30c820, 0x2b142: 0x6c30ca20, 0x2b143: 0x6c30cc20,\n\t0x2b144: 0x6c4b2020, 0x2b145: 0x6c4b2220, 0x2b146: 0x6c4b2420, 0x2b147: 0x6c6d0020,\n\t0x2b148: 0x6c6d0220, 0x2b149: 0x6c6d0420, 0x2b14a: 0x6c6d0620, 0x2b14b: 0x6c6d0820,\n\t0x2b14c: 0x6c6d0a20, 0x2b14d: 0x6c6d0c20, 0x2b14e: 0x6c6d0e20, 0x2b14f: 0x6c6d1020,\n\t0x2b150: 0x6c6d1220, 0x2b151: 0x6c6d1420, 0x2b152: 0x6c6d1620, 0x2b153: 0x6c6d1820,\n\t0x2b154: 0x6c6d1a20, 0x2b155: 0x6c6d1c20, 0x2b156: 0x6c6d1e20, 0x2b157: 0x6c941620,\n\t0x2b158: 0x6c941820, 0x2b159: 0x6c941a20, 0x2b15a: 0x6c941c20, 0x2b15b: 0x6c941e20,\n\t0x2b15c: 0x6c942020, 0x2b15d: 0x6c942220, 0x2b15e: 0x6c942420, 0x2b15f: 0x6c942620,\n\t0x2b160: 0x6c942820, 0x2b161: 0x6c942a20, 0x2b162: 0x6c942c20, 0x2b163: 0x6c942e20,\n\t0x2b164: 0x6c943020, 0x2b165: 0x6c943220, 0x2b166: 0x6cc07020, 0x2b167: 0x6cc07220,\n\t0x2b168: 0x6cc07420, 0x2b169: 0x6cc07620, 0x2b16a: 0x6cc07820, 0x2b16b: 0x6cc07a20,\n\t0x2b16c: 0x6cc07c20, 0x2b16d: 0x6cc07e20, 0x2b16e: 0x6cc08020, 0x2b16f: 0x6cc08220,\n\t0x2b170: 0x6cf06820, 0x2b171: 0x6cf06a20, 0x2b172: 0x6cf06c20, 0x2b173: 0x6cf06e20,\n\t0x2b174: 0x6cf07020, 0x2b175: 0x6cf07220, 0x2b176: 0x6cf07420, 0x2b177: 0x6cf07620,\n\t0x2b178: 0x6cf07820, 0x2b179: 0x6d200020, 0x2b17a: 0x6d200220, 0x2b17b: 0x6d200420,\n\t0x2b17c: 0x6d200620, 0x2b17d: 0x6d200820, 0x2b17e: 0x6d200a20, 0x2b17f: 0x6d200c20,\n\t// Block 0xac6, offset 0x2b180\n\t0x2b180: 0x6d200e20, 0x2b181: 0x6d201020, 0x2b182: 0x6d201220, 0x2b183: 0x6d201420,\n\t0x2b184: 0x6d201620, 0x2b185: 0x6d4d9420, 0x2b186: 0x6d4d9620, 0x2b187: 0x6d4d9820,\n\t0x2b188: 0x6d4d9a20, 0x2b189: 0x6d4d9c20, 0x2b18a: 0x6d4d9e20, 0x2b18b: 0x6d4da020,\n\t0x2b18c: 0x6d4da220, 0x2b18d: 0x6d4da420, 0x2b18e: 0x6d4da620, 0x2b18f: 0x6d4da820,\n\t0x2b190: 0x6d4daa20, 0x2b191: 0x6d7a6020, 0x2b192: 0x6d7a6220, 0x2b193: 0x6d7a6420,\n\t0x2b194: 0x6d7a6620, 0x2b195: 0x6d7a6820, 0x2b196: 0x6d7a6a20, 0x2b197: 0x6d7a6c20,\n\t0x2b198: 0x6da2e220, 0x2b199: 0x6da2e420, 0x2b19a: 0x6da2e620, 0x2b19b: 0x6da2e820,\n\t0x2b19c: 0x6da2ea20, 0x2b19d: 0x6dc4d020, 0x2b19e: 0x6dc4d220, 0x2b19f: 0x6dc4d420,\n\t0x2b1a0: 0x6de1d020, 0x2b1a1: 0x6de1d220, 0x2b1a2: 0x6de1d420, 0x2b1a3: 0x6de1d620,\n\t0x2b1a4: 0x6df9b020, 0x2b1a5: 0x6e0d7020, 0x2b1a6: 0x6e0d7220, 0x2b1a7: 0x6e1cd620,\n\t0x2b1a8: 0x6e429020, 0x2b1a9: 0x6c109220, 0x2b1aa: 0x6c041c20, 0x2b1ab: 0x6c6de820,\n\t0x2b1ac: 0x6c6dea20, 0x2b1ad: 0x6cc16e20, 0x2b1ae: 0x6d4e4c20, 0x2b1af: 0x6c08a020,\n\t0x2b1b0: 0x6c318820, 0x2b1b1: 0x6c955820, 0x2b1b2: 0x6c08a620, 0x2b1b3: 0x6c08a820,\n\t0x2b1b4: 0x6c10ae20, 0x2b1b5: 0x6c10b020, 0x2b1b6: 0x6c10b220, 0x2b1b7: 0x6c1dea20,\n\t0x2b1b8: 0x6c1dec20, 0x2b1b9: 0x6c1dee20, 0x2b1ba: 0x6c1df020, 0x2b1bb: 0x6c1df220,\n\t0x2b1bc: 0x6c1df420, 0x2b1bd: 0x6c319220, 0x2b1be: 0x6c319420, 0x2b1bf: 0x6c319620,\n\t// Block 0xac7, offset 0x2b1c0\n\t0x2b1c0: 0x6c319820, 0x2b1c1: 0x6c4bf020, 0x2b1c2: 0x6c4bf220, 0x2b1c3: 0x6c4bf420,\n\t0x2b1c4: 0x6c4bf620, 0x2b1c5: 0x6c4bf820, 0x2b1c6: 0x6c4bfa20, 0x2b1c7: 0x6c6dfc20,\n\t0x2b1c8: 0x6c6dfe20, 0x2b1c9: 0x6c956420, 0x2b1ca: 0x6c956620, 0x2b1cb: 0x6c956820,\n\t0x2b1cc: 0x6c956a20, 0x2b1cd: 0x6c956c20, 0x2b1ce: 0x6c956e20, 0x2b1cf: 0x6cc18820,\n\t0x2b1d0: 0x6cc18a20, 0x2b1d1: 0x6cc18c20, 0x2b1d2: 0x6cc18e20, 0x2b1d3: 0x6cc19020,\n\t0x2b1d4: 0x6cc19220, 0x2b1d5: 0x6cc19420, 0x2b1d6: 0x6cc19620, 0x2b1d7: 0x6cf11a20,\n\t0x2b1d8: 0x6cf11c20, 0x2b1d9: 0x6cf11e20, 0x2b1da: 0x6cf12020, 0x2b1db: 0x6cf12220,\n\t0x2b1dc: 0x6d20c020, 0x2b1dd: 0x6d20c220, 0x2b1de: 0x6d20c420, 0x2b1df: 0x6d20c620,\n\t0x2b1e0: 0x6d4e5a20, 0x2b1e1: 0x6d4e5c20, 0x2b1e2: 0x6d7ae820, 0x2b1e3: 0x6d7aea20,\n\t0x2b1e4: 0x6d7aec20, 0x2b1e5: 0x6da35c20, 0x2b1e6: 0x6da35e20, 0x2b1e7: 0x6df9dc20,\n\t0x2b1e8: 0x6df9de20, 0x2b1e9: 0x6e1d0420, 0x2b1ea: 0x6e1d0620, 0x2b1eb: 0x6cc1fc20,\n\t0x2b1ec: 0x6cc1fe20, 0x2b1ed: 0x6d210c20, 0x2b1ee: 0x6d7b2420, 0x2b1ef: 0x6c10e420,\n\t0x2b1f0: 0x6c10e620, 0x2b1f1: 0x6c10e820, 0x2b1f2: 0x6c1e4220, 0x2b1f3: 0x6c1e4420,\n\t0x2b1f4: 0x6c31f220, 0x2b1f5: 0x6c31f420, 0x2b1f6: 0x6c31f620, 0x2b1f7: 0x6c31f820,\n\t0x2b1f8: 0x6c31fa20, 0x2b1f9: 0x6c31fc20, 0x2b1fa: 0x6c31fe20, 0x2b1fb: 0x6c320020,\n\t0x2b1fc: 0x6c4c6820, 0x2b1fd: 0x6c4c6a20, 0x2b1fe: 0x6c4c6c20, 0x2b1ff: 0x6c4c6e20,\n\t// Block 0xac8, offset 0x2b200\n\t0x2b200: 0x6c4c7020, 0x2b201: 0x6c4c7220, 0x2b202: 0x6c4c7420, 0x2b203: 0x6c6e6020,\n\t0x2b204: 0x6c6e6220, 0x2b205: 0x6c6e6420, 0x2b206: 0x6c6e6620, 0x2b207: 0x6c6e6820,\n\t0x2b208: 0x6c95d820, 0x2b209: 0x6c95da20, 0x2b20a: 0x6c95dc20, 0x2b20b: 0x6c95de20,\n\t0x2b20c: 0x6c95e020, 0x2b20d: 0x6cc20420, 0x2b20e: 0x6cc20620, 0x2b20f: 0x6cc20820,\n\t0x2b210: 0x6cc20a20, 0x2b211: 0x6cf16a20, 0x2b212: 0x6d211620, 0x2b213: 0x6d211820,\n\t0x2b214: 0x6d211a20, 0x2b215: 0x6d211c20, 0x2b216: 0x6d4eb620, 0x2b217: 0x6d4eb820,\n\t0x2b218: 0x6d4eba20, 0x2b219: 0x6d7b2620, 0x2b21a: 0x6d7b2820, 0x2b21b: 0x6d7b2a20,\n\t0x2b21c: 0x6d7b2c20, 0x2b21d: 0x6de23020, 0x2b21e: 0x6df9ec20, 0x2b21f: 0x6c110820,\n\t0x2b220: 0x6c324420, 0x2b221: 0x6d217420, 0x2b222: 0x6d4f0020, 0x2b223: 0x6d7b5c20,\n\t0x2b224: 0x6c1ea620, 0x2b225: 0x6c4ce020, 0x2b226: 0x6cf1b820, 0x2b227: 0x6c044820,\n\t0x2b228: 0x6c112020, 0x2b229: 0x6c112220, 0x2b22a: 0x6c112420, 0x2b22b: 0x6c112620,\n\t0x2b22c: 0x6c1eb220, 0x2b22d: 0x6c1eb420, 0x2b22e: 0x6c326020, 0x2b22f: 0x6c326220,\n\t0x2b230: 0x6c326420, 0x2b231: 0x6c326620, 0x2b232: 0x6c4cec20, 0x2b233: 0x6c4cee20,\n\t0x2b234: 0x6c4cf020, 0x2b235: 0x6c4cf220, 0x2b236: 0x6c4cf420, 0x2b237: 0x6c4cf620,\n\t0x2b238: 0x6c6ed820, 0x2b239: 0x6c6eda20, 0x2b23a: 0x6c966820, 0x2b23b: 0x6c966a20,\n\t0x2b23c: 0x6c966c20, 0x2b23d: 0x6cc27e20, 0x2b23e: 0x6cc28020, 0x2b23f: 0x6cc28220,\n\t// Block 0xac9, offset 0x2b240\n\t0x2b240: 0x6cf1c220, 0x2b241: 0x6cf1c420, 0x2b242: 0x6cf1c620, 0x2b243: 0x6d218420,\n\t0x2b244: 0x6d4f0820, 0x2b245: 0x6d4f0a20, 0x2b246: 0x6e0dac20, 0x2b247: 0x6c329a20,\n\t0x2b248: 0x6d7b7820, 0x2b249: 0x6c115620, 0x2b24a: 0x6c1ede20, 0x2b24b: 0x6c32a420,\n\t0x2b24c: 0x6c32a620, 0x2b24d: 0x6c32a820, 0x2b24e: 0x6c96aa20, 0x2b24f: 0x6cc2ae20,\n\t0x2b250: 0x6cc2b020, 0x2b251: 0x6d21b220, 0x2b252: 0x6d4f2620, 0x2b253: 0x6d7b8220,\n\t0x2b254: 0x6c090020, 0x2b255: 0x6c116020, 0x2b256: 0x6c1eea20, 0x2b257: 0x6c1eec20,\n\t0x2b258: 0x6c32b420, 0x2b259: 0x6c32b620, 0x2b25a: 0x6c4d3c20, 0x2b25b: 0x6c4d3e20,\n\t0x2b25c: 0x6c4d4020, 0x2b25d: 0x6c4d4220, 0x2b25e: 0x6c4d4420, 0x2b25f: 0x6c4d4620,\n\t0x2b260: 0x6c4d4820, 0x2b261: 0x6c4d4a20, 0x2b262: 0x6c6f1220, 0x2b263: 0x6c6f1420,\n\t0x2b264: 0x6c96c620, 0x2b265: 0x6c96c820, 0x2b266: 0x6c96ca20, 0x2b267: 0x6c96cc20,\n\t0x2b268: 0x6c96ce20, 0x2b269: 0x6c96d020, 0x2b26a: 0x6cc2c020, 0x2b26b: 0x6cc2c220,\n\t0x2b26c: 0x6cc2c420, 0x2b26d: 0x6cc2c620, 0x2b26e: 0x6cc2c820, 0x2b26f: 0x6cf1f620,\n\t0x2b270: 0x6d21bc20, 0x2b271: 0x6d21be20, 0x2b272: 0x6d21c020, 0x2b273: 0x6d4f3620,\n\t0x2b274: 0x6d4f3820, 0x2b275: 0x6d7b8c20, 0x2b276: 0x6d7b8e20, 0x2b277: 0x6da3c020,\n\t0x2b278: 0x6de27220, 0x2b279: 0x6dfa1a20, 0x2b27a: 0x6c090620, 0x2b27b: 0x6c116e20,\n\t0x2b27c: 0x6c117220, 0x2b27d: 0x6c1f1c20, 0x2b27e: 0x6c117420, 0x2b27f: 0x6c117620,\n\t// Block 0xaca, offset 0x2b280\n\t0x2b280: 0x6c1f1e20, 0x2b281: 0x6c32e020, 0x2b282: 0x6c32e220, 0x2b283: 0x6c1f3220,\n\t0x2b284: 0x6c1f3420, 0x2b285: 0x6c32e420, 0x2b286: 0x6c1f3620, 0x2b287: 0x6c1f3820,\n\t0x2b288: 0x6c1f3a20, 0x2b289: 0x6c1f3c20, 0x2b28a: 0x6c1f3e20, 0x2b28b: 0x6c1f4020,\n\t0x2b28c: 0x6c32fc20, 0x2b28d: 0x6c4d7c20, 0x2b28e: 0x6c4d7e20, 0x2b28f: 0x6c32fe20,\n\t0x2b290: 0x6c330020, 0x2b291: 0x6c330220, 0x2b292: 0x6c330420, 0x2b293: 0x6c330620,\n\t0x2b294: 0x6c330820, 0x2b295: 0x6c330a20, 0x2b296: 0x6c330c20, 0x2b297: 0x6c4d8020,\n\t0x2b298: 0x6c330e20, 0x2b299: 0x6c4d8220, 0x2b29a: 0x6c4da220, 0x2b29b: 0x6c4da420,\n\t0x2b29c: 0x6c4da620, 0x2b29d: 0x6c4da820, 0x2b29e: 0x6c4daa20, 0x2b29f: 0x6c6f5620,\n\t0x2b2a0: 0x6c6f5820, 0x2b2a1: 0x6c4dac20, 0x2b2a2: 0x6c4dae20, 0x2b2a3: 0x6c6f5a20,\n\t0x2b2a4: 0x6c4db020, 0x2b2a5: 0x6c4db220, 0x2b2a6: 0x6c4db420, 0x2b2a7: 0x6c4db620,\n\t0x2b2a8: 0x6c4db820, 0x2b2a9: 0x6c6f5c20, 0x2b2aa: 0x6c6f5e20, 0x2b2ab: 0x6c6f6020,\n\t0x2b2ac: 0x6c4dba20, 0x2b2ad: 0x6c4dbc20, 0x2b2ae: 0x6c972e20, 0x2b2af: 0x6c6f8a20,\n\t0x2b2b0: 0x6c973020, 0x2b2b1: 0x6c6f8c20, 0x2b2b2: 0x6c973220, 0x2b2b3: 0x6c6f8e20,\n\t0x2b2b4: 0x6c6f9020, 0x2b2b5: 0x6c973420, 0x2b2b6: 0x6c6f9220, 0x2b2b7: 0x6c6f9420,\n\t0x2b2b8: 0x6c6f9620, 0x2b2b9: 0x6c6f9820, 0x2b2ba: 0x6c4dbe20, 0x2b2bb: 0x6c973620,\n\t0x2b2bc: 0x6c6f9a20, 0x2b2bd: 0x6c6f9c20, 0x2b2be: 0x6c975620, 0x2b2bf: 0x6c975820,\n\t// Block 0xacb, offset 0x2b2c0\n\t0x2b2c0: 0x6c975a20, 0x2b2c1: 0x6cc30420, 0x2b2c2: 0x6c975c20, 0x2b2c3: 0x6c975e20,\n\t0x2b2c4: 0x6c976020, 0x2b2c5: 0x6c976220, 0x2b2c6: 0x6c976420, 0x2b2c7: 0x6c976620,\n\t0x2b2c8: 0x6cc30620, 0x2b2c9: 0x6c976820, 0x2b2ca: 0x6c976a20, 0x2b2cb: 0x6cc30820,\n\t0x2b2cc: 0x6c976c20, 0x2b2cd: 0x6c976e20, 0x2b2ce: 0x6cc30a20, 0x2b2cf: 0x6c977020,\n\t0x2b2d0: 0x6cc30c20, 0x2b2d1: 0x6cc30e20, 0x2b2d2: 0x6c977220, 0x2b2d3: 0x6c977420,\n\t0x2b2d4: 0x6c977620, 0x2b2d5: 0x6cc31020, 0x2b2d6: 0x6cc31220, 0x2b2d7: 0x6c977820,\n\t0x2b2d8: 0x6c977a20, 0x2b2d9: 0x6c977c20, 0x2b2da: 0x6cc33c20, 0x2b2db: 0x6cc33e20,\n\t0x2b2dc: 0x6cc34020, 0x2b2dd: 0x6cc34220, 0x2b2de: 0x6cc34420, 0x2b2df: 0x6cc34620,\n\t0x2b2e0: 0x6cc34820, 0x2b2e1: 0x6cc34a20, 0x2b2e2: 0x6cc34c20, 0x2b2e3: 0x6cf24220,\n\t0x2b2e4: 0x6cf24420, 0x2b2e5: 0x6cc34e20, 0x2b2e6: 0x6cf24620, 0x2b2e7: 0x6cc35020,\n\t0x2b2e8: 0x6cf24820, 0x2b2e9: 0x6cc35220, 0x2b2ea: 0x6cc35420, 0x2b2eb: 0x6cc35620,\n\t0x2b2ec: 0x6cf26620, 0x2b2ed: 0x6cf26820, 0x2b2ee: 0x6cf26a20, 0x2b2ef: 0x6d220420,\n\t0x2b2f0: 0x6cf26c20, 0x2b2f1: 0x6cf26e20, 0x2b2f2: 0x6d220620, 0x2b2f3: 0x6cf27020,\n\t0x2b2f4: 0x6cf27220, 0x2b2f5: 0x6cf27420, 0x2b2f6: 0x6d220820, 0x2b2f7: 0x6d220a20,\n\t0x2b2f8: 0x6d220c20, 0x2b2f9: 0x6d220e20, 0x2b2fa: 0x6cf27620, 0x2b2fb: 0x6d221020,\n\t0x2b2fc: 0x6d222a20, 0x2b2fd: 0x6d222c20, 0x2b2fe: 0x6d222e20, 0x2b2ff: 0x6d4f6420,\n\t// Block 0xacc, offset 0x2b300\n\t0x2b300: 0x6d223020, 0x2b301: 0x6d4f6620, 0x2b302: 0x6d4f6820, 0x2b303: 0x6d223220,\n\t0x2b304: 0x6d4f6a20, 0x2b305: 0x6d223420, 0x2b306: 0x6d223620, 0x2b307: 0x6d223820,\n\t0x2b308: 0x6d223a20, 0x2b309: 0x6d4f9820, 0x2b30a: 0x6d4f9a20, 0x2b30b: 0x6d4f9c20,\n\t0x2b30c: 0x6d7bb220, 0x2b30d: 0x6d4f9e20, 0x2b30e: 0x6d4fa020, 0x2b30f: 0x6d4fa220,\n\t0x2b310: 0x6d4fa420, 0x2b311: 0x6d4fa620, 0x2b312: 0x6d4fa820, 0x2b313: 0x6d4faa20,\n\t0x2b314: 0x6d7bb420, 0x2b315: 0x6d4fac20, 0x2b316: 0x6d4fae20, 0x2b317: 0x6d7bce20,\n\t0x2b318: 0x6da3d420, 0x2b319: 0x6d7bd020, 0x2b31a: 0x6dc57420, 0x2b31b: 0x6dc57620,\n\t0x2b31c: 0x6da3e620, 0x2b31d: 0x6dc57820, 0x2b31e: 0x6dc57a20, 0x2b31f: 0x6dc57c20,\n\t0x2b320: 0x6da3e820, 0x2b321: 0x6dc58820, 0x2b322: 0x6dc58a20, 0x2b323: 0x6dfa2a20,\n\t0x2b324: 0x6dfa2c20, 0x2b325: 0x6de28420, 0x2b326: 0x6de28620, 0x2b327: 0x6de28820,\n\t0x2b328: 0x6dfa3020, 0x2b329: 0x6dfa3220, 0x2b32a: 0x6dfa3420, 0x2b32b: 0x6e1d3420,\n\t0x2b32c: 0x6e1d3620, 0x2b32d: 0x6e403c20, 0x2b32e: 0x6c1ffc20, 0x2b32f: 0x6c1ffe20,\n\t0x2b330: 0x6c33dc20, 0x2b331: 0x6c33de20, 0x2b332: 0x6c33e020, 0x2b333: 0x6c4e9e20,\n\t0x2b334: 0x6c709620, 0x2b335: 0x6c709820, 0x2b336: 0x6c709a20, 0x2b337: 0x6c98b620,\n\t0x2b338: 0x6cc48e20, 0x2b339: 0x6cf37620, 0x2b33a: 0x6d233220, 0x2b33b: 0x6d50be20,\n\t0x2b33c: 0x6d50c020, 0x2b33d: 0x6da46820, 0x2b33e: 0x6c201620, 0x2b33f: 0x6c340220,\n\t// Block 0xacd, offset 0x2b340\n\t0x2b340: 0x6c340420, 0x2b341: 0x6c4ec820, 0x2b342: 0x6c4eca20, 0x2b343: 0x6c093220,\n\t0x2b344: 0x6c093420, 0x2b345: 0x6c093620, 0x2b346: 0x6c11d620, 0x2b347: 0x6c11d820,\n\t0x2b348: 0x6c11da20, 0x2b349: 0x6c202820, 0x2b34a: 0x6c202a20, 0x2b34b: 0x6c202c20,\n\t0x2b34c: 0x6c202e20, 0x2b34d: 0x6c203020, 0x2b34e: 0x6c203220, 0x2b34f: 0x6c203420,\n\t0x2b350: 0x6c203620, 0x2b351: 0x6c203820, 0x2b352: 0x6c341e20, 0x2b353: 0x6c342020,\n\t0x2b354: 0x6c342220, 0x2b355: 0x6c342420, 0x2b356: 0x6c342620, 0x2b357: 0x6c342820,\n\t0x2b358: 0x6c4ef220, 0x2b359: 0x6c342a20, 0x2b35a: 0x6c342c20, 0x2b35b: 0x6c342e20,\n\t0x2b35c: 0x6c343020, 0x2b35d: 0x6c343220, 0x2b35e: 0x6c343420, 0x2b35f: 0x6c343620,\n\t0x2b360: 0x6c343820, 0x2b361: 0x6c4ef820, 0x2b362: 0x6c4efa20, 0x2b363: 0x6c4efc20,\n\t0x2b364: 0x6c4efe20, 0x2b365: 0x6c4f0020, 0x2b366: 0x6c4f0220, 0x2b367: 0x6c4f0420,\n\t0x2b368: 0x6c4f0620, 0x2b369: 0x6c4f0820, 0x2b36a: 0x6c4f0a20, 0x2b36b: 0x6c4f0c20,\n\t0x2b36c: 0x6c70ca20, 0x2b36d: 0x6c70cc20, 0x2b36e: 0x6c4f0e20, 0x2b36f: 0x6c4f1020,\n\t0x2b370: 0x6c4f1220, 0x2b371: 0x6c70ce20, 0x2b372: 0x6c70e020, 0x2b373: 0x6c98e220,\n\t0x2b374: 0x6c70e220, 0x2b375: 0x6c70e420, 0x2b376: 0x6c70e620, 0x2b377: 0x6c70e820,\n\t0x2b378: 0x6c70ea20, 0x2b379: 0x6c98e820, 0x2b37a: 0x6c98ea20, 0x2b37b: 0x6c98ec20,\n\t0x2b37c: 0x6c98ee20, 0x2b37d: 0x6c98f020, 0x2b37e: 0x6c98f220, 0x2b37f: 0x6c98f420,\n\t// Block 0xace, offset 0x2b380\n\t0x2b380: 0x6c98f620, 0x2b381: 0x6c98f820, 0x2b382: 0x6c98fa20, 0x2b383: 0x6c98fc20,\n\t0x2b384: 0x6c98fe20, 0x2b385: 0x6c990020, 0x2b386: 0x6c990220, 0x2b387: 0x6cc4bc20,\n\t0x2b388: 0x6c990420, 0x2b389: 0x6cc4c820, 0x2b38a: 0x6cc4ca20, 0x2b38b: 0x6cc4cc20,\n\t0x2b38c: 0x6cf3a820, 0x2b38d: 0x6cf3aa20, 0x2b38e: 0x6cc4ce20, 0x2b38f: 0x6cc4d020,\n\t0x2b390: 0x6cc4d220, 0x2b391: 0x6cc4d420, 0x2b392: 0x6cc4d620, 0x2b393: 0x6cc4d820,\n\t0x2b394: 0x6cc4da20, 0x2b395: 0x6cc4dc20, 0x2b396: 0x6cc66c20, 0x2b397: 0x6cc4de20,\n\t0x2b398: 0x6cc4e020, 0x2b399: 0x6cf3b220, 0x2b39a: 0x6cf3b420, 0x2b39b: 0x6cf3b620,\n\t0x2b39c: 0x6cf3b820, 0x2b39d: 0x6cf3ba20, 0x2b39e: 0x6cf3bc20, 0x2b39f: 0x6cf3be20,\n\t0x2b3a0: 0x6cf3c020, 0x2b3a1: 0x6cf3c220, 0x2b3a2: 0x6cf3c420, 0x2b3a3: 0x6cf3c620,\n\t0x2b3a4: 0x6cf3c820, 0x2b3a5: 0x6cf3ca20, 0x2b3a6: 0x6cf3cc20, 0x2b3a7: 0x6cf3ce20,\n\t0x2b3a8: 0x6cf3d020, 0x2b3a9: 0x6cf3d220, 0x2b3aa: 0x6cf3d420, 0x2b3ab: 0x6cf3d620,\n\t0x2b3ac: 0x6cf3d820, 0x2b3ad: 0x6d237220, 0x2b3ae: 0x6d237420, 0x2b3af: 0x6d237620,\n\t0x2b3b0: 0x6d237820, 0x2b3b1: 0x6d237a20, 0x2b3b2: 0x6d237c20, 0x2b3b3: 0x6d237e20,\n\t0x2b3b4: 0x6d238020, 0x2b3b5: 0x6d238220, 0x2b3b6: 0x6d238420, 0x2b3b7: 0x6d238620,\n\t0x2b3b8: 0x6d238820, 0x2b3b9: 0x6d238a20, 0x2b3ba: 0x6d238c20, 0x2b3bb: 0x6d50fc20,\n\t0x2b3bc: 0x6d50fe20, 0x2b3bd: 0x6d238e20, 0x2b3be: 0x6d239020, 0x2b3bf: 0x6d239220,\n\t// Block 0xacf, offset 0x2b3c0\n\t0x2b3c0: 0x6d239420, 0x2b3c1: 0x6d239620, 0x2b3c2: 0x6d239820, 0x2b3c3: 0x6d511020,\n\t0x2b3c4: 0x6d511220, 0x2b3c5: 0x6d511420, 0x2b3c6: 0x6d511620, 0x2b3c7: 0x6d511820,\n\t0x2b3c8: 0x6d511a20, 0x2b3c9: 0x6d511c20, 0x2b3ca: 0x6d511e20, 0x2b3cb: 0x6d512020,\n\t0x2b3cc: 0x6d512220, 0x2b3cd: 0x6d512420, 0x2b3ce: 0x6d512620, 0x2b3cf: 0x6d512820,\n\t0x2b3d0: 0x6d512a20, 0x2b3d1: 0x6d512c20, 0x2b3d2: 0x6d7cb420, 0x2b3d3: 0x6da47a20,\n\t0x2b3d4: 0x6d7cb620, 0x2b3d5: 0x6d7cb820, 0x2b3d6: 0x6d7cba20, 0x2b3d7: 0x6d7cbc20,\n\t0x2b3d8: 0x6d7cbe20, 0x2b3d9: 0x6d7cc020, 0x2b3da: 0x6da48220, 0x2b3db: 0x6da48420,\n\t0x2b3dc: 0x6da48620, 0x2b3dd: 0x6da48820, 0x2b3de: 0x6da48a20, 0x2b3df: 0x6da48c20,\n\t0x2b3e0: 0x6dc60e20, 0x2b3e1: 0x6dc61020, 0x2b3e2: 0x6dc61220, 0x2b3e3: 0x6dc61420,\n\t0x2b3e4: 0x6dc61620, 0x2b3e5: 0x6dc61820, 0x2b3e6: 0x6dc61a20, 0x2b3e7: 0x6dc61c20,\n\t0x2b3e8: 0x6dc61e20, 0x2b3e9: 0x6dc62020, 0x2b3ea: 0x6dc62220, 0x2b3eb: 0x6dc62420,\n\t0x2b3ec: 0x6de2ea20, 0x2b3ed: 0x6de2ec20, 0x2b3ee: 0x6dfa5c20, 0x2b3ef: 0x6dfa5e20,\n\t0x2b3f0: 0x6dfa6020, 0x2b3f1: 0x6e0df020, 0x2b3f2: 0x6e0df220, 0x2b3f3: 0x6e0df420,\n\t0x2b3f4: 0x6e0df620, 0x2b3f5: 0x6e28f820, 0x2b3f6: 0x6e28fa20, 0x2b3f7: 0x6e28fc20,\n\t0x2b3f8: 0x6e389020, 0x2b3f9: 0x6e389220, 0x2b3fa: 0x6c352e20, 0x2b3fb: 0x6c722220,\n\t0x2b3fc: 0x6c722420, 0x2b3fd: 0x6c9a9420, 0x2b3fe: 0x6cc67020, 0x2b3ff: 0x6c211c20,\n\t// Block 0xad0, offset 0x2b400\n\t0x2b400: 0x6c211e20, 0x2b401: 0x6c354020, 0x2b402: 0x6c354220, 0x2b403: 0x6c503420,\n\t0x2b404: 0x6c503620, 0x2b405: 0x6c503820, 0x2b406: 0x6c503a20, 0x2b407: 0x6c723620,\n\t0x2b408: 0x6c723820, 0x2b409: 0x6c723a20, 0x2b40a: 0x6c9aa020, 0x2b40b: 0x6c9aa220,\n\t0x2b40c: 0x6c9aa420, 0x2b40d: 0x6c9aa620, 0x2b40e: 0x6c9aa820, 0x2b40f: 0x6cc68220,\n\t0x2b410: 0x6cc68420, 0x2b411: 0x6cc68620, 0x2b412: 0x6cc68820, 0x2b413: 0x6cc68a20,\n\t0x2b414: 0x6cc68c20, 0x2b415: 0x6cc68e20, 0x2b416: 0x6cc69020, 0x2b417: 0x6cc69220,\n\t0x2b418: 0x6cc69420, 0x2b419: 0x6cc69620, 0x2b41a: 0x6cc69820, 0x2b41b: 0x6cf52c20,\n\t0x2b41c: 0x6cf52e20, 0x2b41d: 0x6cf53020, 0x2b41e: 0x6cf53220, 0x2b41f: 0x6cf53420,\n\t0x2b420: 0x6d24f020, 0x2b421: 0x6d24f220, 0x2b422: 0x6d24f420, 0x2b423: 0x6d24f620,\n\t0x2b424: 0x6d527220, 0x2b425: 0x6d527420, 0x2b426: 0x6d527620, 0x2b427: 0x6d7dae20,\n\t0x2b428: 0x6d7db020, 0x2b429: 0x6d7db220, 0x2b42a: 0x6d7db420, 0x2b42b: 0x6dc6b620,\n\t0x2b42c: 0x6dc6b820, 0x2b42d: 0x6dfab220, 0x2b42e: 0x6e0e2c20, 0x2b42f: 0x6c213a20,\n\t0x2b430: 0x6c728c20, 0x2b431: 0x6cf58c20, 0x2b432: 0x6c124020, 0x2b433: 0x6c124220,\n\t0x2b434: 0x6c358220, 0x2b435: 0x6c507a20, 0x2b436: 0x6c729a20, 0x2b437: 0x6c9b2820,\n\t0x2b438: 0x6cc71420, 0x2b439: 0x6d52cc20, 0x2b43a: 0x6da54220, 0x2b43b: 0x6e292a20,\n\t0x2b43c: 0x6c508220, 0x2b43d: 0x6c508420, 0x2b43e: 0x6c72aa20, 0x2b43f: 0x6c72ac20,\n\t// Block 0xad1, offset 0x2b440\n\t0x2b440: 0x6cc72420, 0x2b441: 0x6d255620, 0x2b442: 0x6d52d620, 0x2b443: 0x6c124620,\n\t0x2b444: 0x6c359e20, 0x2b445: 0x6c72b420, 0x2b446: 0x6c508e20, 0x2b447: 0x6c72b620,\n\t0x2b448: 0x6c72b820, 0x2b449: 0x6c72ba20, 0x2b44a: 0x6c9b4220, 0x2b44b: 0x6c9b4420,\n\t0x2b44c: 0x6c9b4620, 0x2b44d: 0x6cc74420, 0x2b44e: 0x6d52e420, 0x2b44f: 0x6d52e620,\n\t0x2b450: 0x6c124c20, 0x2b451: 0x6c124e20, 0x2b452: 0x6c215020, 0x2b453: 0x6c215220,\n\t0x2b454: 0x6c215420, 0x2b455: 0x6c215620, 0x2b456: 0x6c215820, 0x2b457: 0x6c215a20,\n\t0x2b458: 0x6c35b020, 0x2b459: 0x6c35b220, 0x2b45a: 0x6c35b420, 0x2b45b: 0x6c50b020,\n\t0x2b45c: 0x6c50b220, 0x2b45d: 0x6c50b420, 0x2b45e: 0x6c50b620, 0x2b45f: 0x6c50b820,\n\t0x2b460: 0x6c50ba20, 0x2b461: 0x6c50bc20, 0x2b462: 0x6c50be20, 0x2b463: 0x6c50c020,\n\t0x2b464: 0x6c50c220, 0x2b465: 0x6c72f020, 0x2b466: 0x6c72f220, 0x2b467: 0x6c72f420,\n\t0x2b468: 0x6c72f620, 0x2b469: 0x6c72f820, 0x2b46a: 0x6c72fa20, 0x2b46b: 0x6c72fc20,\n\t0x2b46c: 0x6c72fe20, 0x2b46d: 0x6c730020, 0x2b46e: 0x6c730220, 0x2b46f: 0x6c9b7020,\n\t0x2b470: 0x6c9b7220, 0x2b471: 0x6c9b7420, 0x2b472: 0x6c9b7620, 0x2b473: 0x6c9b7820,\n\t0x2b474: 0x6c9b7a20, 0x2b475: 0x6cc76e20, 0x2b476: 0x6cc77020, 0x2b477: 0x6cc77220,\n\t0x2b478: 0x6cc77420, 0x2b479: 0x6cc77620, 0x2b47a: 0x6cc77820, 0x2b47b: 0x6cc77a20,\n\t0x2b47c: 0x6cc77c20, 0x2b47d: 0x6cc77e20, 0x2b47e: 0x6cc78020, 0x2b47f: 0x6cc78220,\n\t// Block 0xad2, offset 0x2b480\n\t0x2b480: 0x6cc78420, 0x2b481: 0x6cf5d820, 0x2b482: 0x6cf5da20, 0x2b483: 0x6cf5dc20,\n\t0x2b484: 0x6cf5de20, 0x2b485: 0x6cf5e020, 0x2b486: 0x6cf5e220, 0x2b487: 0x6cf5e420,\n\t0x2b488: 0x6cf5e620, 0x2b489: 0x6cf5e820, 0x2b48a: 0x6cf5ea20, 0x2b48b: 0x6cf5ec20,\n\t0x2b48c: 0x6cf5ee20, 0x2b48d: 0x6d257620, 0x2b48e: 0x6d257820, 0x2b48f: 0x6d257a20,\n\t0x2b490: 0x6d257c20, 0x2b491: 0x6d52f420, 0x2b492: 0x6d52f620, 0x2b493: 0x6d52f820,\n\t0x2b494: 0x6d52fa20, 0x2b495: 0x6d52fc20, 0x2b496: 0x6d52fe20, 0x2b497: 0x6d7e3220,\n\t0x2b498: 0x6d7e3420, 0x2b499: 0x6d7e3620, 0x2b49a: 0x6d7e3820, 0x2b49b: 0x6d7e3a20,\n\t0x2b49c: 0x6d7e3c20, 0x2b49d: 0x6d7e3e20, 0x2b49e: 0x6d7e4020, 0x2b49f: 0x6d7e4220,\n\t0x2b4a0: 0x6da55e20, 0x2b4a1: 0x6da56020, 0x2b4a2: 0x6da56220, 0x2b4a3: 0x6dc6fa20,\n\t0x2b4a4: 0x6dc6fc20, 0x2b4a5: 0x6dc6fe20, 0x2b4a6: 0x6dc70020, 0x2b4a7: 0x6dc70220,\n\t0x2b4a8: 0x6dc70420, 0x2b4a9: 0x6de38420, 0x2b4aa: 0x6de38620, 0x2b4ab: 0x6dfade20,\n\t0x2b4ac: 0x6e1d9a20, 0x2b4ad: 0x6e1d9c20, 0x2b4ae: 0x6e292e20, 0x2b4af: 0x6e38a620,\n\t0x2b4b0: 0x6c126e20, 0x2b4b1: 0x6d7ed420, 0x2b4b2: 0x6da5aa20, 0x2b4b3: 0x6c364a20,\n\t0x2b4b4: 0x6c73aa20, 0x2b4b5: 0x6c73ac20, 0x2b4b6: 0x6c9c1620, 0x2b4b7: 0x6c9c1820,\n\t0x2b4b8: 0x6cc85820, 0x2b4b9: 0x6cd95a20, 0x2b4ba: 0x6d260220, 0x2b4bb: 0x6d260420,\n\t0x2b4bc: 0x6d538020, 0x2b4bd: 0x6d538220, 0x2b4be: 0x6d538420, 0x2b4bf: 0x6d7ee420,\n\t// Block 0xad3, offset 0x2b4c0\n\t0x2b4c0: 0x6da5b020, 0x2b4c1: 0x6c127a20, 0x2b4c2: 0x6c21b020, 0x2b4c3: 0x6c21b220,\n\t0x2b4c4: 0x6c21b420, 0x2b4c5: 0x6c21b620, 0x2b4c6: 0x6c21b820, 0x2b4c7: 0x6c365820,\n\t0x2b4c8: 0x6c365a20, 0x2b4c9: 0x6c365c20, 0x2b4ca: 0x6c365e20, 0x2b4cb: 0x6c366020,\n\t0x2b4cc: 0x6c366220, 0x2b4cd: 0x6c366420, 0x2b4ce: 0x6c366620, 0x2b4cf: 0x6c366820,\n\t0x2b4d0: 0x6c366a20, 0x2b4d1: 0x6c518620, 0x2b4d2: 0x6c518820, 0x2b4d3: 0x6c518a20,\n\t0x2b4d4: 0x6c518c20, 0x2b4d5: 0x6c518e20, 0x2b4d6: 0x6c519020, 0x2b4d7: 0x6c519220,\n\t0x2b4d8: 0x6c73c620, 0x2b4d9: 0x6c73c820, 0x2b4da: 0x6c73ca20, 0x2b4db: 0x6c73cc20,\n\t0x2b4dc: 0x6c73ce20, 0x2b4dd: 0x6c73d020, 0x2b4de: 0x6c73d220, 0x2b4df: 0x6c73d420,\n\t0x2b4e0: 0x6c73d620, 0x2b4e1: 0x6c73d820, 0x2b4e2: 0x6c73da20, 0x2b4e3: 0x6c73dc20,\n\t0x2b4e4: 0x6c73de20, 0x2b4e5: 0x6c73e020, 0x2b4e6: 0x6c73e220, 0x2b4e7: 0x6c73e420,\n\t0x2b4e8: 0x6c9c3620, 0x2b4e9: 0x6c9c3820, 0x2b4ea: 0x6c9c3a20, 0x2b4eb: 0x6c9c3c20,\n\t0x2b4ec: 0x6c9c3e20, 0x2b4ed: 0x6c9c4020, 0x2b4ee: 0x6c9c4220, 0x2b4ef: 0x6c9c4420,\n\t0x2b4f0: 0x6c9c4620, 0x2b4f1: 0x6c9c4820, 0x2b4f2: 0x6c9c4a20, 0x2b4f3: 0x6c9c4c20,\n\t0x2b4f4: 0x6c9c4e20, 0x2b4f5: 0x6c9c5020, 0x2b4f6: 0x6cc88620, 0x2b4f7: 0x6c9c5220,\n\t0x2b4f8: 0x6cc88820, 0x2b4f9: 0x6cc88a20, 0x2b4fa: 0x6cc88c20, 0x2b4fb: 0x6cc88e20,\n\t0x2b4fc: 0x6cc89020, 0x2b4fd: 0x6cc89220, 0x2b4fe: 0x6cc89420, 0x2b4ff: 0x6cc89620,\n\t// Block 0xad4, offset 0x2b500\n\t0x2b500: 0x6cc89820, 0x2b501: 0x6cc89a20, 0x2b502: 0x6cc89c20, 0x2b503: 0x6cc89e20,\n\t0x2b504: 0x6cc8a020, 0x2b505: 0x6cc8a220, 0x2b506: 0x6cc8a420, 0x2b507: 0x6cc8a620,\n\t0x2b508: 0x6cc8a820, 0x2b509: 0x6cc8aa20, 0x2b50a: 0x6cc8ac20, 0x2b50b: 0x6cf6b220,\n\t0x2b50c: 0x6cf6b420, 0x2b50d: 0x6cf6b620, 0x2b50e: 0x6cf6b820, 0x2b50f: 0x6cf6ba20,\n\t0x2b510: 0x6cf6bc20, 0x2b511: 0x6cf6be20, 0x2b512: 0x6cf6c020, 0x2b513: 0x6cf6c220,\n\t0x2b514: 0x6cf6c420, 0x2b515: 0x6cf6c620, 0x2b516: 0x6cf6c820, 0x2b517: 0x6cf6ca20,\n\t0x2b518: 0x6cf6cc20, 0x2b519: 0x6cf6ce20, 0x2b51a: 0x6cf6d020, 0x2b51b: 0x6cf6d220,\n\t0x2b51c: 0x6cf6d420, 0x2b51d: 0x6cf6d620, 0x2b51e: 0x6cf6d820, 0x2b51f: 0x6cf6da20,\n\t0x2b520: 0x6cf6dc20, 0x2b521: 0x6cfbd820, 0x2b522: 0x6cf6de20, 0x2b523: 0x6cf6e020,\n\t0x2b524: 0x6d261a20, 0x2b525: 0x6d261c20, 0x2b526: 0x6d261e20, 0x2b527: 0x6d262020,\n\t0x2b528: 0x6d262220, 0x2b529: 0x6d262420, 0x2b52a: 0x6d262620, 0x2b52b: 0x6d262820,\n\t0x2b52c: 0x6d262a20, 0x2b52d: 0x6d262c20, 0x2b52e: 0x6d262e20, 0x2b52f: 0x6d263020,\n\t0x2b530: 0x6d263220, 0x2b531: 0x6d263420, 0x2b532: 0x6d263620, 0x2b533: 0x6d263820,\n\t0x2b534: 0x6d263a20, 0x2b535: 0x6d263c20, 0x2b536: 0x6d263e20, 0x2b537: 0x6d264020,\n\t0x2b538: 0x6d264220, 0x2b539: 0x6d264420, 0x2b53a: 0x6d264620, 0x2b53b: 0x6d264820,\n\t0x2b53c: 0x6d264a20, 0x2b53d: 0x6d264c20, 0x2b53e: 0x6d539e20, 0x2b53f: 0x6d53a020,\n\t// Block 0xad5, offset 0x2b540\n\t0x2b540: 0x6d53a220, 0x2b541: 0x6d53a420, 0x2b542: 0x6d53a620, 0x2b543: 0x6d53a820,\n\t0x2b544: 0x6d53aa20, 0x2b545: 0x6d53ac20, 0x2b546: 0x6d53ae20, 0x2b547: 0x6d53b020,\n\t0x2b548: 0x6d53b220, 0x2b549: 0x6d53b420, 0x2b54a: 0x6d53b620, 0x2b54b: 0x6d53b820,\n\t0x2b54c: 0x6d53ba20, 0x2b54d: 0x6d53bc20, 0x2b54e: 0x6d53be20, 0x2b54f: 0x6d53c020,\n\t0x2b550: 0x6d7f0220, 0x2b551: 0x6d53c220, 0x2b552: 0x6d53c420, 0x2b553: 0x6d7f0420,\n\t0x2b554: 0x6d7f0620, 0x2b555: 0x6d7f0820, 0x2b556: 0x6d7f0a20, 0x2b557: 0x6d7f0c20,\n\t0x2b558: 0x6d7f0e20, 0x2b559: 0x6d7f1020, 0x2b55a: 0x6d7f1220, 0x2b55b: 0x6d7f1420,\n\t0x2b55c: 0x6d7f1620, 0x2b55d: 0x6d7f1820, 0x2b55e: 0x6d7f1a20, 0x2b55f: 0x6d7f1c20,\n\t0x2b560: 0x6d53c620, 0x2b561: 0x6d7f1e20, 0x2b562: 0x6d7f2020, 0x2b563: 0x6d7f2220,\n\t0x2b564: 0x6d7f2420, 0x2b565: 0x6d7f2620, 0x2b566: 0x6d7f2820, 0x2b567: 0x6d7f2a20,\n\t0x2b568: 0x6d7f2c20, 0x2b569: 0x6d7f2e20, 0x2b56a: 0x6da5c220, 0x2b56b: 0x6da5c420,\n\t0x2b56c: 0x6da5c620, 0x2b56d: 0x6da5c820, 0x2b56e: 0x6da5ca20, 0x2b56f: 0x6da5cc20,\n\t0x2b570: 0x6da5ce20, 0x2b571: 0x6da5d020, 0x2b572: 0x6da5d220, 0x2b573: 0x6da5d420,\n\t0x2b574: 0x6da5d620, 0x2b575: 0x6da5d820, 0x2b576: 0x6da5da20, 0x2b577: 0x6dc75420,\n\t0x2b578: 0x6dc75620, 0x2b579: 0x6dc75820, 0x2b57a: 0x6dc75a20, 0x2b57b: 0x6dc75c20,\n\t0x2b57c: 0x6dc75e20, 0x2b57d: 0x6dc76020, 0x2b57e: 0x6de3b420, 0x2b57f: 0x6de3b620,\n\t// Block 0xad6, offset 0x2b580\n\t0x2b580: 0x6de3b820, 0x2b581: 0x6de3ba20, 0x2b582: 0x6de3bc20, 0x2b583: 0x6de3be20,\n\t0x2b584: 0x6de3c020, 0x2b585: 0x6de3c220, 0x2b586: 0x6de3c420, 0x2b587: 0x6de3c620,\n\t0x2b588: 0x6de3c820, 0x2b589: 0x6dfb0820, 0x2b58a: 0x6dfb0a20, 0x2b58b: 0x6dfb0c20,\n\t0x2b58c: 0x6dfb0e20, 0x2b58d: 0x6dfb1020, 0x2b58e: 0x6dfb1220, 0x2b58f: 0x6dfb1420,\n\t0x2b590: 0x6dfb1620, 0x2b591: 0x6dfb1820, 0x2b592: 0x6dfb1a20, 0x2b593: 0x6dfb1c20,\n\t0x2b594: 0x6e0e5e20, 0x2b595: 0x6e0e6020, 0x2b596: 0x6dfb1e20, 0x2b597: 0x6e1db220,\n\t0x2b598: 0x6e1db420, 0x2b599: 0x6e293a20, 0x2b59a: 0x6e293c20, 0x2b59b: 0x6e293e20,\n\t0x2b59c: 0x6e294020, 0x2b59d: 0x6c223820, 0x2b59e: 0x6c223a20, 0x2b59f: 0x6c376620,\n\t0x2b5a0: 0x6c376820, 0x2b5a1: 0x6c376a20, 0x2b5a2: 0x6c376c20, 0x2b5a3: 0x6c52c220,\n\t0x2b5a4: 0x6c52c420, 0x2b5a5: 0x6c52c620, 0x2b5a6: 0x6c52c820, 0x2b5a7: 0x6c52ca20,\n\t0x2b5a8: 0x6c52cc20, 0x2b5a9: 0x6c754820, 0x2b5aa: 0x6c754a20, 0x2b5ab: 0x6c754c20,\n\t0x2b5ac: 0x6c754e20, 0x2b5ad: 0x6c755020, 0x2b5ae: 0x6c9da620, 0x2b5af: 0x6c9da820,\n\t0x2b5b0: 0x6c9daa20, 0x2b5b1: 0x6c9dac20, 0x2b5b2: 0x6cca8c20, 0x2b5b3: 0x6cca8e20,\n\t0x2b5b4: 0x6cca9020, 0x2b5b5: 0x6cca9220, 0x2b5b6: 0x6cca9420, 0x2b5b7: 0x6c75a620,\n\t0x2b5b8: 0x6cca9620, 0x2b5b9: 0x6cf8bc20, 0x2b5ba: 0x6cf8be20, 0x2b5bb: 0x6cf8c020,\n\t0x2b5bc: 0x6cf8c220, 0x2b5bd: 0x6cf8c420, 0x2b5be: 0x6cf8c620, 0x2b5bf: 0x6d280220,\n\t// Block 0xad7, offset 0x2b5c0\n\t0x2b5c0: 0x6d280420, 0x2b5c1: 0x6d280620, 0x2b5c2: 0x6d555220, 0x2b5c3: 0x6d555420,\n\t0x2b5c4: 0x6d80d020, 0x2b5c5: 0x6d80d220, 0x2b5c6: 0x6da6f420, 0x2b5c7: 0x6da6f620,\n\t0x2b5c8: 0x6da6f820, 0x2b5c9: 0x6da6fa20, 0x2b5ca: 0x6de47a20, 0x2b5cb: 0x6dfb9a20,\n\t0x2b5cc: 0x6e1e0c20, 0x2b5cd: 0x6e297620, 0x2b5ce: 0x6e38d620, 0x2b5cf: 0x6c12ba20,\n\t0x2b5d0: 0x6c224e20, 0x2b5d1: 0x6c225020, 0x2b5d2: 0x6c52f820, 0x2b5d3: 0x6c52fa20,\n\t0x2b5d4: 0x6c52fc20, 0x2b5d5: 0x6ccad220, 0x2b5d6: 0x6ccad420, 0x2b5d7: 0x6d284220,\n\t0x2b5d8: 0x6dc85c20, 0x2b5d9: 0x6c12c220, 0x2b5da: 0x6c37ca20, 0x2b5db: 0x6c37cc20,\n\t0x2b5dc: 0x6c37ce20, 0x2b5dd: 0x6c37d020, 0x2b5de: 0x6c530820, 0x2b5df: 0x6c530a20,\n\t0x2b5e0: 0x6c530c20, 0x2b5e1: 0x6c75a820, 0x2b5e2: 0x6c9de820, 0x2b5e3: 0x6c9dea20,\n\t0x2b5e4: 0x6ccaf820, 0x2b5e5: 0x6ccafa20, 0x2b5e6: 0x6ccafc20, 0x2b5e7: 0x6ccafe20,\n\t0x2b5e8: 0x6ccb0020, 0x2b5e9: 0x6ccb0220, 0x2b5ea: 0x6cf92220, 0x2b5eb: 0x6cf92420,\n\t0x2b5ec: 0x6cf92620, 0x2b5ed: 0x6cf92820, 0x2b5ee: 0x6cf92a20, 0x2b5ef: 0x6d285020,\n\t0x2b5f0: 0x6d285220, 0x2b5f1: 0x6d285420, 0x2b5f2: 0x6d285620, 0x2b5f3: 0x6d559a20,\n\t0x2b5f4: 0x6d559c20, 0x2b5f5: 0x6d810220, 0x2b5f6: 0x6d810420, 0x2b5f7: 0x6d810620,\n\t0x2b5f8: 0x6da71e20, 0x2b5f9: 0x6dfba420, 0x2b5fa: 0x6dfba620, 0x2b5fb: 0x6e297e20,\n\t0x2b5fc: 0x6c227420, 0x2b5fd: 0x6c380420, 0x2b5fe: 0x6c75dc20, 0x2b5ff: 0x6c75de20,\n\t// Block 0xad8, offset 0x2b600\n\t0x2b600: 0x6c9e2020, 0x2b601: 0x6ccb4a20, 0x2b602: 0x6ccb4c20, 0x2b603: 0x6ccb4e20,\n\t0x2b604: 0x6cf95620, 0x2b605: 0x6d287620, 0x2b606: 0x6d812820, 0x2b607: 0x6d812a20,\n\t0x2b608: 0x6d812c20, 0x2b609: 0x6da73620, 0x2b60a: 0x6dc87e20, 0x2b60b: 0x6c535620,\n\t0x2b60c: 0x6c12da20, 0x2b60d: 0x6c382020, 0x2b60e: 0x6c382220, 0x2b60f: 0x6c382420,\n\t0x2b610: 0x6c382620, 0x2b611: 0x6c382820, 0x2b612: 0x6c535e20, 0x2b613: 0x6c75f620,\n\t0x2b614: 0x6c9e5420, 0x2b615: 0x6c9e5620, 0x2b616: 0x6c9e5820, 0x2b617: 0x6c9e5a20,\n\t0x2b618: 0x6c9e5c20, 0x2b619: 0x6c9e5e20, 0x2b61a: 0x6c9e6020, 0x2b61b: 0x6ccb6a20,\n\t0x2b61c: 0x6ccb6c20, 0x2b61d: 0x6ccb6e20, 0x2b61e: 0x6ccb7020, 0x2b61f: 0x6cf98220,\n\t0x2b620: 0x6cf98420, 0x2b621: 0x6cf98620, 0x2b622: 0x6cf98820, 0x2b623: 0x6cf98a20,\n\t0x2b624: 0x6d289e20, 0x2b625: 0x6d28a020, 0x2b626: 0x6d28a220, 0x2b627: 0x6d28a420,\n\t0x2b628: 0x6d28a620, 0x2b629: 0x6d28a820, 0x2b62a: 0x6d815c20, 0x2b62b: 0x6d815e20,\n\t0x2b62c: 0x6d816020, 0x2b62d: 0x6d816220, 0x2b62e: 0x6d816420, 0x2b62f: 0x6dc89220,\n\t0x2b630: 0x6dc89420, 0x2b631: 0x6de4a220, 0x2b632: 0x6e3d4820, 0x2b633: 0x6c763820,\n\t0x2b634: 0x6c385620, 0x2b635: 0x6c9ea020, 0x2b636: 0x6d561220, 0x2b637: 0x6d819620,\n\t0x2b638: 0x6c04c820, 0x2b639: 0x6c099620, 0x2b63a: 0x6c099820, 0x2b63b: 0x6c12f420,\n\t0x2b63c: 0x6c099a20, 0x2b63d: 0x6c12fa20, 0x2b63e: 0x6c22a020, 0x2b63f: 0x6c12fc20,\n\t// Block 0xad9, offset 0x2b640\n\t0x2b640: 0x6c22a620, 0x2b641: 0x6c22a820, 0x2b642: 0x6c22aa20, 0x2b643: 0x6c22ac20,\n\t0x2b644: 0x6c22ae20, 0x2b645: 0x6c22b020, 0x2b646: 0x6c22b220, 0x2b647: 0x6c22b420,\n\t0x2b648: 0x6c22b620, 0x2b649: 0x6c22b820, 0x2b64a: 0x6c22ba20, 0x2b64b: 0x6c387020,\n\t0x2b64c: 0x6c387220, 0x2b64d: 0x6c387420, 0x2b64e: 0x6c387620, 0x2b64f: 0x6c387820,\n\t0x2b650: 0x6c387a20, 0x2b651: 0x6c387c20, 0x2b652: 0x6c387e20, 0x2b653: 0x6c388020,\n\t0x2b654: 0x6c388220, 0x2b655: 0x6c388420, 0x2b656: 0x6c53d820, 0x2b657: 0x6c53da20,\n\t0x2b658: 0x6c53dc20, 0x2b659: 0x6c53de20, 0x2b65a: 0x6c53e020, 0x2b65b: 0x6c53e220,\n\t0x2b65c: 0x6c53e420, 0x2b65d: 0x6c53e620, 0x2b65e: 0x6c53e820, 0x2b65f: 0x6c9eaa20,\n\t0x2b660: 0x6c53ea20, 0x2b661: 0x6c53ec20, 0x2b662: 0x6c53ee20, 0x2b663: 0x6c53f020,\n\t0x2b664: 0x6c765220, 0x2b665: 0x6c765420, 0x2b666: 0x6c765620, 0x2b667: 0x6c765820,\n\t0x2b668: 0x6c765a20, 0x2b669: 0x6c765c20, 0x2b66a: 0x6c765e20, 0x2b66b: 0x6c9eac20,\n\t0x2b66c: 0x6c766020, 0x2b66d: 0x6c766220, 0x2b66e: 0x6c766420, 0x2b66f: 0x6c766620,\n\t0x2b670: 0x6c766820, 0x2b671: 0x6c766a20, 0x2b672: 0x6c766c20, 0x2b673: 0x6c766e20,\n\t0x2b674: 0x6c9eb020, 0x2b675: 0x6c9eb220, 0x2b676: 0x6c9eb420, 0x2b677: 0x6c9eb620,\n\t0x2b678: 0x6c9eb820, 0x2b679: 0x6c9eba20, 0x2b67a: 0x6c9ebc20, 0x2b67b: 0x6c9ebe20,\n\t0x2b67c: 0x6ccbd620, 0x2b67d: 0x6c9ec020, 0x2b67e: 0x6c9ec220, 0x2b67f: 0x6c9ec420,\n\t// Block 0xada, offset 0x2b680\n\t0x2b680: 0x6c9ec620, 0x2b681: 0x6c9ec820, 0x2b682: 0x6c9eca20, 0x2b683: 0x6c9ecc20,\n\t0x2b684: 0x6c9ece20, 0x2b685: 0x6ccbd820, 0x2b686: 0x6c9ed020, 0x2b687: 0x6ccbda20,\n\t0x2b688: 0x6c9ed220, 0x2b689: 0x6c9ed420, 0x2b68a: 0x6c9ed620, 0x2b68b: 0x6c9ed820,\n\t0x2b68c: 0x6c9eda20, 0x2b68d: 0x6c9edc20, 0x2b68e: 0x6c9ede20, 0x2b68f: 0x6ccbe020,\n\t0x2b690: 0x6ccbe220, 0x2b691: 0x6ccbe420, 0x2b692: 0x6ccbe620, 0x2b693: 0x6ccbe820,\n\t0x2b694: 0x6ccbea20, 0x2b695: 0x6ccbec20, 0x2b696: 0x6ccbee20, 0x2b697: 0x6ccbf020,\n\t0x2b698: 0x6ccbf220, 0x2b699: 0x6ccbf420, 0x2b69a: 0x6ccbf620, 0x2b69b: 0x6ccbf820,\n\t0x2b69c: 0x6ccbfa20, 0x2b69d: 0x6ccbfc20, 0x2b69e: 0x6ccbfe20, 0x2b69f: 0x6ccc0020,\n\t0x2b6a0: 0x6ccc0220, 0x2b6a1: 0x6ccc0420, 0x2b6a2: 0x6ccc0620, 0x2b6a3: 0x6ccc0820,\n\t0x2b6a4: 0x6ccc0a20, 0x2b6a5: 0x6cf9e420, 0x2b6a6: 0x6cf9e620, 0x2b6a7: 0x6cf9e820,\n\t0x2b6a8: 0x6cf9ea20, 0x2b6a9: 0x6cf9ec20, 0x2b6aa: 0x6cf9ee20, 0x2b6ab: 0x6cf9f020,\n\t0x2b6ac: 0x6cf9f220, 0x2b6ad: 0x6cf9f420, 0x2b6ae: 0x6cf9f620, 0x2b6af: 0x6cf9f820,\n\t0x2b6b0: 0x6cf9fa20, 0x2b6b1: 0x6cf9fc20, 0x2b6b2: 0x6cf9fe20, 0x2b6b3: 0x6cfa0020,\n\t0x2b6b4: 0x6cfa0220, 0x2b6b5: 0x6cfa0420, 0x2b6b6: 0x6cfa0620, 0x2b6b7: 0x6cfa0820,\n\t0x2b6b8: 0x6cfa0a20, 0x2b6b9: 0x6cfa0c20, 0x2b6ba: 0x6cfa0e20, 0x2b6bb: 0x6cfa1020,\n\t0x2b6bc: 0x6d28f620, 0x2b6bd: 0x6d28f820, 0x2b6be: 0x6d28fa20, 0x2b6bf: 0x6d28fc20,\n\t// Block 0xadb, offset 0x2b6c0\n\t0x2b6c0: 0x6d28fe20, 0x2b6c1: 0x6d290020, 0x2b6c2: 0x6d290220, 0x2b6c3: 0x6d290420,\n\t0x2b6c4: 0x6d290620, 0x2b6c5: 0x6d290820, 0x2b6c6: 0x6d290a20, 0x2b6c7: 0x6d290c20,\n\t0x2b6c8: 0x6d290e20, 0x2b6c9: 0x6d291020, 0x2b6ca: 0x6d562420, 0x2b6cb: 0x6d562620,\n\t0x2b6cc: 0x6d562820, 0x2b6cd: 0x6d562a20, 0x2b6ce: 0x6d562c20, 0x2b6cf: 0x6d562e20,\n\t0x2b6d0: 0x6d563020, 0x2b6d1: 0x6d563220, 0x2b6d2: 0x6d563420, 0x2b6d3: 0x6d563620,\n\t0x2b6d4: 0x6d563820, 0x2b6d5: 0x6d563a20, 0x2b6d6: 0x6d563c20, 0x2b6d7: 0x6d563e20,\n\t0x2b6d8: 0x6d819820, 0x2b6d9: 0x6d564020, 0x2b6da: 0x6d564220, 0x2b6db: 0x6d564420,\n\t0x2b6dc: 0x6d564620, 0x2b6dd: 0x6d819e20, 0x2b6de: 0x6d81a020, 0x2b6df: 0x6d81a220,\n\t0x2b6e0: 0x6d81a420, 0x2b6e1: 0x6d81a620, 0x2b6e2: 0x6d81a820, 0x2b6e3: 0x6d81aa20,\n\t0x2b6e4: 0x6d81ac20, 0x2b6e5: 0x6d81ae20, 0x2b6e6: 0x6d81b020, 0x2b6e7: 0x6d81b220,\n\t0x2b6e8: 0x6da77620, 0x2b6e9: 0x6d81b420, 0x2b6ea: 0x6d81b620, 0x2b6eb: 0x6d81b820,\n\t0x2b6ec: 0x6d81ba20, 0x2b6ed: 0x6d81bc20, 0x2b6ee: 0x6d81be20, 0x2b6ef: 0x6da77c20,\n\t0x2b6f0: 0x6da77e20, 0x2b6f1: 0x6da78020, 0x2b6f2: 0x6da78220, 0x2b6f3: 0x6da78420,\n\t0x2b6f4: 0x6da78620, 0x2b6f5: 0x6da78820, 0x2b6f6: 0x6da78a20, 0x2b6f7: 0x6da78c20,\n\t0x2b6f8: 0x6da78e20, 0x2b6f9: 0x6da79020, 0x2b6fa: 0x6da79220, 0x2b6fb: 0x6da79420,\n\t0x2b6fc: 0x6da79620, 0x2b6fd: 0x6dc8c420, 0x2b6fe: 0x6dc8c620, 0x2b6ff: 0x6dc8c820,\n\t// Block 0xadc, offset 0x2b700\n\t0x2b700: 0x6dc8ca20, 0x2b701: 0x6dc8cc20, 0x2b702: 0x6dc8ce20, 0x2b703: 0x6dc8d020,\n\t0x2b704: 0x6de4b220, 0x2b705: 0x6de4b420, 0x2b706: 0x6de4b620, 0x2b707: 0x6de4b820,\n\t0x2b708: 0x6de4ba20, 0x2b709: 0x6de4bc20, 0x2b70a: 0x6de4be20, 0x2b70b: 0x6de4c020,\n\t0x2b70c: 0x6dfbc420, 0x2b70d: 0x6dfbc620, 0x2b70e: 0x6dfbc820, 0x2b70f: 0x6dfbca20,\n\t0x2b710: 0x6dfbcc20, 0x2b711: 0x6dfbce20, 0x2b712: 0x6e0efa20, 0x2b713: 0x6e0efc20,\n\t0x2b714: 0x6e0efe20, 0x2b715: 0x6e0f0020, 0x2b716: 0x6e0f0220, 0x2b717: 0x6e1e2e20,\n\t0x2b718: 0x6e0f0420, 0x2b719: 0x6e1e3020, 0x2b71a: 0x6e1e3220, 0x2b71b: 0x6e299820,\n\t0x2b71c: 0x6e299a20, 0x2b71d: 0x6e299c20, 0x2b71e: 0x6e329e20, 0x2b71f: 0x6e32a020,\n\t0x2b720: 0x6e3d5020, 0x2b721: 0x6c135620, 0x2b722: 0x6c135820, 0x2b723: 0x6c238a20,\n\t0x2b724: 0x6c238c20, 0x2b725: 0x6c238e20, 0x2b726: 0x6c399420, 0x2b727: 0x6c399620,\n\t0x2b728: 0x6c399820, 0x2b729: 0x6c399a20, 0x2b72a: 0x6c399c20, 0x2b72b: 0x6c551820,\n\t0x2b72c: 0x6c551a20, 0x2b72d: 0x6c551c20, 0x2b72e: 0x6c551e20, 0x2b72f: 0x6c552020,\n\t0x2b730: 0x6c552220, 0x2b731: 0x6c552420, 0x2b732: 0x6c552620, 0x2b733: 0x6c77ea20,\n\t0x2b734: 0x6c77ec20, 0x2b735: 0x6c77ee20, 0x2b736: 0x6c77f020, 0x2b737: 0x6c77f220,\n\t0x2b738: 0x6c77f420, 0x2b739: 0x6ca0de20, 0x2b73a: 0x6ca0e020, 0x2b73b: 0x6ca0e220,\n\t0x2b73c: 0x6ca0e420, 0x2b73d: 0x6ca0e620, 0x2b73e: 0x6ca0e820, 0x2b73f: 0x6ca0ea20,\n\t// Block 0xadd, offset 0x2b740\n\t0x2b740: 0x6ca0ec20, 0x2b741: 0x6ca0ee20, 0x2b742: 0x6ccdde20, 0x2b743: 0x6ccde020,\n\t0x2b744: 0x6ccde220, 0x2b745: 0x6ccde420, 0x2b746: 0x6ccde620, 0x2b747: 0x6ccde820,\n\t0x2b748: 0x6ccdea20, 0x2b749: 0x6ccdec20, 0x2b74a: 0x6ccdee20, 0x2b74b: 0x6ccdf020,\n\t0x2b74c: 0x6ccdf220, 0x2b74d: 0x6ccdf420, 0x2b74e: 0x6cfbda20, 0x2b74f: 0x6cfbdc20,\n\t0x2b750: 0x6cfbde20, 0x2b751: 0x6cfbe020, 0x2b752: 0x6cfbe220, 0x2b753: 0x6cfbe420,\n\t0x2b754: 0x6cfbe620, 0x2b755: 0x6cfbe820, 0x2b756: 0x6cfbea20, 0x2b757: 0x6cfbec20,\n\t0x2b758: 0x6cfbee20, 0x2b759: 0x6cfbf020, 0x2b75a: 0x6cfbf220, 0x2b75b: 0x6cfbf420,\n\t0x2b75c: 0x6cfbf620, 0x2b75d: 0x6cfbf820, 0x2b75e: 0x6cfbfa20, 0x2b75f: 0x6d2ad220,\n\t0x2b760: 0x6d2ad420, 0x2b761: 0x6d2ad620, 0x2b762: 0x6d2ad820, 0x2b763: 0x6d2ada20,\n\t0x2b764: 0x6d2adc20, 0x2b765: 0x6d2ade20, 0x2b766: 0x6d2ae020, 0x2b767: 0x6d2ae220,\n\t0x2b768: 0x6d2ae420, 0x2b769: 0x6d2ae620, 0x2b76a: 0x6d2ae820, 0x2b76b: 0x6d580e20,\n\t0x2b76c: 0x6d581020, 0x2b76d: 0x6d581220, 0x2b76e: 0x6d581420, 0x2b76f: 0x6d581620,\n\t0x2b770: 0x6d581820, 0x2b771: 0x6d581a20, 0x2b772: 0x6d581c20, 0x2b773: 0x6d82fe20,\n\t0x2b774: 0x6d830020, 0x2b775: 0x6d830220, 0x2b776: 0x6d830420, 0x2b777: 0x6d830620,\n\t0x2b778: 0x6d830820, 0x2b779: 0x6d830a20, 0x2b77a: 0x6d830c20, 0x2b77b: 0x6d830e20,\n\t0x2b77c: 0x6d831020, 0x2b77d: 0x6d831220, 0x2b77e: 0x6da87020, 0x2b77f: 0x6da87220,\n\t// Block 0xade, offset 0x2b780\n\t0x2b780: 0x6da87420, 0x2b781: 0x6da87620, 0x2b782: 0x6da87820, 0x2b783: 0x6da87a20,\n\t0x2b784: 0x6dc9ba20, 0x2b785: 0x6dc9bc20, 0x2b786: 0x6de57220, 0x2b787: 0x6de57420,\n\t0x2b788: 0x6dfc4a20, 0x2b789: 0x6de57620, 0x2b78a: 0x6dfc4c20, 0x2b78b: 0x6dfc4e20,\n\t0x2b78c: 0x6dfc5020, 0x2b78d: 0x6e0f7c20, 0x2b78e: 0x6e1e6e20, 0x2b78f: 0x6e29d620,\n\t0x2b790: 0x6e29d820, 0x2b791: 0x6e3d6620, 0x2b792: 0x6c3a2420, 0x2b793: 0x6c3a2620,\n\t0x2b794: 0x6ca1ce20, 0x2b795: 0x6d2bda20, 0x2b796: 0x6c561420, 0x2b797: 0x6c78d420,\n\t0x2b798: 0x6ca1da20, 0x2b799: 0x6cfd3e20, 0x2b79a: 0x6c3a4020, 0x2b79b: 0x6c561e20,\n\t0x2b79c: 0x6ccf2820, 0x2b79d: 0x6c3a4e20, 0x2b79e: 0x6c3a5020, 0x2b79f: 0x6c78ee20,\n\t0x2b7a0: 0x6c78f020, 0x2b7a1: 0x6c78f220, 0x2b7a2: 0x6d2bfa20, 0x2b7a3: 0x6da93c20,\n\t0x2b7a4: 0x6dca4420, 0x2b7a5: 0x6e0fb620, 0x2b7a6: 0x6c04ea20, 0x2b7a7: 0x6c790220,\n\t0x2b7a8: 0x6c137e20, 0x2b7a9: 0x6c23e820, 0x2b7aa: 0x6c23ea20, 0x2b7ab: 0x6c3a6220,\n\t0x2b7ac: 0x6c3a6420, 0x2b7ad: 0x6c3a6620, 0x2b7ae: 0x6c3a6820, 0x2b7af: 0x6c3a6a20,\n\t0x2b7b0: 0x6c564220, 0x2b7b1: 0x6c564420, 0x2b7b2: 0x6c564620, 0x2b7b3: 0x6c564820,\n\t0x2b7b4: 0x6c564a20, 0x2b7b5: 0x6c790820, 0x2b7b6: 0x6c790a20, 0x2b7b7: 0x6c790c20,\n\t0x2b7b8: 0x6c790e20, 0x2b7b9: 0x6ca20e20, 0x2b7ba: 0x6ca21020, 0x2b7bb: 0x6ca21220,\n\t0x2b7bc: 0x6ca21420, 0x2b7bd: 0x6ca21620, 0x2b7be: 0x6ca21820, 0x2b7bf: 0x6ca21a20,\n\t// Block 0xadf, offset 0x2b7c0\n\t0x2b7c0: 0x6ca21c20, 0x2b7c1: 0x6ccf7220, 0x2b7c2: 0x6ccf7420, 0x2b7c3: 0x6ccf7620,\n\t0x2b7c4: 0x6d2c0e20, 0x2b7c5: 0x6cfd7020, 0x2b7c6: 0x6cfd7220, 0x2b7c7: 0x6cfd7420,\n\t0x2b7c8: 0x6cfd7620, 0x2b7c9: 0x6d2c1020, 0x2b7ca: 0x6d2c1220, 0x2b7cb: 0x6d2c1420,\n\t0x2b7cc: 0x6d594620, 0x2b7cd: 0x6d594820, 0x2b7ce: 0x6d594a20, 0x2b7cf: 0x6d594c20,\n\t0x2b7d0: 0x6d594e20, 0x2b7d1: 0x6d845220, 0x2b7d2: 0x6d845420, 0x2b7d3: 0x6d845620,\n\t0x2b7d4: 0x6da94820, 0x2b7d5: 0x6da94a20, 0x2b7d6: 0x6da94c20, 0x2b7d7: 0x6dca5020,\n\t0x2b7d8: 0x6dca5220, 0x2b7d9: 0x6de5e420, 0x2b7da: 0x6e0fba20, 0x2b7db: 0x6e1e9a20,\n\t0x2b7dc: 0x6c3ab420, 0x2b7dd: 0x6c240220, 0x2b7de: 0x6c240420, 0x2b7df: 0x6c240620,\n\t0x2b7e0: 0x6c240820, 0x2b7e1: 0x6c3ab820, 0x2b7e2: 0x6c3aba20, 0x2b7e3: 0x6c3abc20,\n\t0x2b7e4: 0x6c3abe20, 0x2b7e5: 0x6c3ac020, 0x2b7e6: 0x6c3ac220, 0x2b7e7: 0x6c3ac420,\n\t0x2b7e8: 0x6c3ac620, 0x2b7e9: 0x6c3ac820, 0x2b7ea: 0x6c3aca20, 0x2b7eb: 0x6c569820,\n\t0x2b7ec: 0x6c569a20, 0x2b7ed: 0x6c569c20, 0x2b7ee: 0x6c569e20, 0x2b7ef: 0x6c56a020,\n\t0x2b7f0: 0x6c56a220, 0x2b7f1: 0x6c793420, 0x2b7f2: 0x6c793620, 0x2b7f3: 0x6c793820,\n\t0x2b7f4: 0x6c793a20, 0x2b7f5: 0x6c793c20, 0x2b7f6: 0x6c793e20, 0x2b7f7: 0x6c794020,\n\t0x2b7f8: 0x6c794220, 0x2b7f9: 0x6ca25420, 0x2b7fa: 0x6ca25620, 0x2b7fb: 0x6ca25820,\n\t0x2b7fc: 0x6ca25a20, 0x2b7fd: 0x6ca25c20, 0x2b7fe: 0x6ca25e20, 0x2b7ff: 0x6ca26020,\n\t// Block 0xae0, offset 0x2b800\n\t0x2b800: 0x6ca26220, 0x2b801: 0x6ccfd820, 0x2b802: 0x6ccfda20, 0x2b803: 0x6ccfdc20,\n\t0x2b804: 0x6ccfde20, 0x2b805: 0x6ccfe020, 0x2b806: 0x6ccfe220, 0x2b807: 0x6cfdc420,\n\t0x2b808: 0x6cfdc620, 0x2b809: 0x6cfdc820, 0x2b80a: 0x6cfdca20, 0x2b80b: 0x6cfdcc20,\n\t0x2b80c: 0x6cfdce20, 0x2b80d: 0x6cfdd020, 0x2b80e: 0x6d2c6c20, 0x2b80f: 0x6d2c6e20,\n\t0x2b810: 0x6d2c7020, 0x2b811: 0x6d2c7220, 0x2b812: 0x6d2c7420, 0x2b813: 0x6d2c7620,\n\t0x2b814: 0x6d598820, 0x2b815: 0x6d598a20, 0x2b816: 0x6d598c20, 0x2b817: 0x6d598e20,\n\t0x2b818: 0x6d599020, 0x2b819: 0x6d599220, 0x2b81a: 0x6d848020, 0x2b81b: 0x6d848220,\n\t0x2b81c: 0x6d848420, 0x2b81d: 0x6da96420, 0x2b81e: 0x6da96620, 0x2b81f: 0x6da96820,\n\t0x2b820: 0x6dca5820, 0x2b821: 0x6de60220, 0x2b822: 0x6de60420, 0x2b823: 0x6dfce820,\n\t0x2b824: 0x6dfcea20, 0x2b825: 0x6dfcec20, 0x2b826: 0x6dfcee20, 0x2b827: 0x6e32d420,\n\t0x2b828: 0x6c13b620, 0x2b829: 0x6c13b820, 0x2b82a: 0x6c13ba20, 0x2b82b: 0x6c13bc20,\n\t0x2b82c: 0x6c246c20, 0x2b82d: 0x6c246e20, 0x2b82e: 0x6c247020, 0x2b82f: 0x6c247220,\n\t0x2b830: 0x6c3b3820, 0x2b831: 0x6c572a20, 0x2b832: 0x6c3b3a20, 0x2b833: 0x6c3b3c20,\n\t0x2b834: 0x6c3b3e20, 0x2b835: 0x6c3b4020, 0x2b836: 0x6c3b4220, 0x2b837: 0x6c572c20,\n\t0x2b838: 0x6c79bc20, 0x2b839: 0x6c572e20, 0x2b83a: 0x6c573020, 0x2b83b: 0x6c573220,\n\t0x2b83c: 0x6c573420, 0x2b83d: 0x6c573620, 0x2b83e: 0x6c573820, 0x2b83f: 0x6c79c220,\n\t// Block 0xae1, offset 0x2b840\n\t0x2b840: 0x6c79c420, 0x2b841: 0x6c79c620, 0x2b842: 0x6c79c820, 0x2b843: 0x6c79ca20,\n\t0x2b844: 0x6c79cc20, 0x2b845: 0x6c79ce20, 0x2b846: 0x6c79d020, 0x2b847: 0x6c79d220,\n\t0x2b848: 0x6c79d420, 0x2b849: 0x6ca2da20, 0x2b84a: 0x6ca2dc20, 0x2b84b: 0x6ca2de20,\n\t0x2b84c: 0x6ca2e020, 0x2b84d: 0x6ca2e220, 0x2b84e: 0x6ca2e420, 0x2b84f: 0x6ca2e620,\n\t0x2b850: 0x6ca2e820, 0x2b851: 0x6cd07620, 0x2b852: 0x6cd07820, 0x2b853: 0x6cd07a20,\n\t0x2b854: 0x6cd07c20, 0x2b855: 0x6cd07e20, 0x2b856: 0x6cd08020, 0x2b857: 0x6cfe4a20,\n\t0x2b858: 0x6cd08220, 0x2b859: 0x6cd08420, 0x2b85a: 0x6cd08620, 0x2b85b: 0x6cd08820,\n\t0x2b85c: 0x6cd08a20, 0x2b85d: 0x6cfe4e20, 0x2b85e: 0x6cfe5020, 0x2b85f: 0x6cfe5220,\n\t0x2b860: 0x6cfe5420, 0x2b861: 0x6cfe5620, 0x2b862: 0x6cfe5820, 0x2b863: 0x6cfe5a20,\n\t0x2b864: 0x6cfe5c20, 0x2b865: 0x6cfe5e20, 0x2b866: 0x6cfe6020, 0x2b867: 0x6d2ce220,\n\t0x2b868: 0x6d2ce420, 0x2b869: 0x6d2ce620, 0x2b86a: 0x6d2ce820, 0x2b86b: 0x6d5a0a20,\n\t0x2b86c: 0x6d5a0c20, 0x2b86d: 0x6d5a0e20, 0x2b86e: 0x6d5a1020, 0x2b86f: 0x6d5a1220,\n\t0x2b870: 0x6d5a1420, 0x2b871: 0x6d5a1620, 0x2b872: 0x6d5a1820, 0x2b873: 0x6d5a1a20,\n\t0x2b874: 0x6d5a1c20, 0x2b875: 0x6d84ce20, 0x2b876: 0x6d84d020, 0x2b877: 0x6d84d220,\n\t0x2b878: 0x6d84d420, 0x2b879: 0x6da99620, 0x2b87a: 0x6da99820, 0x2b87b: 0x6d84d620,\n\t0x2b87c: 0x6d84d820, 0x2b87d: 0x6da99e20, 0x2b87e: 0x6dca8420, 0x2b87f: 0x6da9a020,\n\t// Block 0xae2, offset 0x2b880\n\t0x2b880: 0x6da9a220, 0x2b881: 0x6da9a420, 0x2b882: 0x6dca8620, 0x2b883: 0x6de62020,\n\t0x2b884: 0x6de62220, 0x2b885: 0x6de62420, 0x2b886: 0x6de62620, 0x2b887: 0x6dfcfe20,\n\t0x2b888: 0x6e2a1a20, 0x2b889: 0x6c57c620, 0x2b88a: 0x6c57c820, 0x2b88b: 0x6c7a7420,\n\t0x2b88c: 0x6c7a7620, 0x2b88d: 0x6ca37c20, 0x2b88e: 0x6ca37e20, 0x2b88f: 0x6cd16020,\n\t0x2b890: 0x6d2d8620, 0x2b891: 0x6d2d8820, 0x2b892: 0x6d2d8a20, 0x2b893: 0x6d5ab220,\n\t0x2b894: 0x6d5ab420, 0x2b895: 0x6dcae220, 0x2b896: 0x6e3d7020, 0x2b897: 0x6c24a020,\n\t0x2b898: 0x6c3bb220, 0x2b899: 0x6c3bb420, 0x2b89a: 0x6c57d620, 0x2b89b: 0x6c57d820,\n\t0x2b89c: 0x6c7a8620, 0x2b89d: 0x6c7a8820, 0x2b89e: 0x6c7a8a20, 0x2b89f: 0x6c7a8c20,\n\t0x2b8a0: 0x6c7a8e20, 0x2b8a1: 0x6ca38c20, 0x2b8a2: 0x6ca38e20, 0x2b8a3: 0x6ca39020,\n\t0x2b8a4: 0x6ca39220, 0x2b8a5: 0x6ca39420, 0x2b8a6: 0x6ca39620, 0x2b8a7: 0x6cd17020,\n\t0x2b8a8: 0x6cd17220, 0x2b8a9: 0x6cd17420, 0x2b8aa: 0x6cd17620, 0x2b8ab: 0x6cff5220,\n\t0x2b8ac: 0x6cff5420, 0x2b8ad: 0x6cff5620, 0x2b8ae: 0x6cff5820, 0x2b8af: 0x6cff5a20,\n\t0x2b8b0: 0x6cff5c20, 0x2b8b1: 0x6cff5e20, 0x2b8b2: 0x6d2d9820, 0x2b8b3: 0x6d2d9a20,\n\t0x2b8b4: 0x6d2d9c20, 0x2b8b5: 0x6d2d9e20, 0x2b8b6: 0x6d2da020, 0x2b8b7: 0x6d2da220,\n\t0x2b8b8: 0x6d5ac620, 0x2b8b9: 0x6d5ac820, 0x2b8ba: 0x6d5aca20, 0x2b8bb: 0x6d857220,\n\t0x2b8bc: 0x6d857420, 0x2b8bd: 0x6d857620, 0x2b8be: 0x6d857820, 0x2b8bf: 0x6daa1220,\n\t// Block 0xae3, offset 0x2b8c0\n\t0x2b8c0: 0x6daa1420, 0x2b8c1: 0x6daa1620, 0x2b8c2: 0x6daa1820, 0x2b8c3: 0x6daa1a20,\n\t0x2b8c4: 0x6daa1c20, 0x2b8c5: 0x6daa1e20, 0x2b8c6: 0x6dcaea20, 0x2b8c7: 0x6dcaec20,\n\t0x2b8c8: 0x6de66a20, 0x2b8c9: 0x6de66c20, 0x2b8ca: 0x6e1ecc20, 0x2b8cb: 0x6e32e820,\n\t0x2b8cc: 0x6e392220, 0x2b8cd: 0x6c7aae20, 0x2b8ce: 0x6cff8820, 0x2b8cf: 0x6d2dd220,\n\t0x2b8d0: 0x6d5af020, 0x2b8d1: 0x6daa3a20, 0x2b8d2: 0x6cd1a220, 0x2b8d3: 0x6d5af620,\n\t0x2b8d4: 0x6d859a20, 0x2b8d5: 0x6c24b020, 0x2b8d6: 0x6c24b220, 0x2b8d7: 0x6c24b420,\n\t0x2b8d8: 0x6c581e20, 0x2b8d9: 0x6c582020, 0x2b8da: 0x6c582220, 0x2b8db: 0x6c7aba20,\n\t0x2b8dc: 0x6c7abc20, 0x2b8dd: 0x6ca3d220, 0x2b8de: 0x6ca3d420, 0x2b8df: 0x6cd1ba20,\n\t0x2b8e0: 0x6cd1bc20, 0x2b8e1: 0x6cffa220, 0x2b8e2: 0x6cffa420, 0x2b8e3: 0x6cffa620,\n\t0x2b8e4: 0x6cffa820, 0x2b8e5: 0x6d2de020, 0x2b8e6: 0x6d5afe20, 0x2b8e7: 0x6d5b0020,\n\t0x2b8e8: 0x6d5b0220, 0x2b8e9: 0x6d859e20, 0x2b8ea: 0x6daa4420, 0x2b8eb: 0x6dcb0a20,\n\t0x2b8ec: 0x6dcb0c20, 0x2b8ed: 0x6de67e20, 0x2b8ee: 0x6dfd3420, 0x2b8ef: 0x6e2a4020,\n\t0x2b8f0: 0x6cfff020, 0x2b8f1: 0x6c24d420, 0x2b8f2: 0x6c24d620, 0x2b8f3: 0x6c3c1820,\n\t0x2b8f4: 0x6c3c1a20, 0x2b8f5: 0x6c3c1c20, 0x2b8f6: 0x6c3c1e20, 0x2b8f7: 0x6c589020,\n\t0x2b8f8: 0x6c589220, 0x2b8f9: 0x6c589420, 0x2b8fa: 0x6c589620, 0x2b8fb: 0x6c589820,\n\t0x2b8fc: 0x6c589a20, 0x2b8fd: 0x6c7b1220, 0x2b8fe: 0x6c7b1420, 0x2b8ff: 0x6c7b1620,\n\t// Block 0xae4, offset 0x2b900\n\t0x2b900: 0x6c7b1820, 0x2b901: 0x6c7b1a20, 0x2b902: 0x6c7b1c20, 0x2b903: 0x6c7b1e20,\n\t0x2b904: 0x6c7b2020, 0x2b905: 0x6c7b2220, 0x2b906: 0x6c7b2420, 0x2b907: 0x6c7b2620,\n\t0x2b908: 0x6c7b2820, 0x2b909: 0x6c7b2a20, 0x2b90a: 0x6ca41c20, 0x2b90b: 0x6ca41e20,\n\t0x2b90c: 0x6ca42020, 0x2b90d: 0x6ca42220, 0x2b90e: 0x6ca42420, 0x2b90f: 0x6ca42620,\n\t0x2b910: 0x6ca42820, 0x2b911: 0x6ca42a20, 0x2b912: 0x6ca42c20, 0x2b913: 0x6cd21220,\n\t0x2b914: 0x6cd21420, 0x2b915: 0x6cd21620, 0x2b916: 0x6cd21820, 0x2b917: 0x6cd21a20,\n\t0x2b918: 0x6cd21c20, 0x2b919: 0x6cd21e20, 0x2b91a: 0x6cd22020, 0x2b91b: 0x6cd22220,\n\t0x2b91c: 0x6cd22420, 0x2b91d: 0x6cd22620, 0x2b91e: 0x6cd22820, 0x2b91f: 0x6cd22a20,\n\t0x2b920: 0x6cd22c20, 0x2b921: 0x6cd22e20, 0x2b922: 0x6cfff620, 0x2b923: 0x6cfff820,\n\t0x2b924: 0x6cfffa20, 0x2b925: 0x6cfffc20, 0x2b926: 0x6cfffe20, 0x2b927: 0x6d000020,\n\t0x2b928: 0x6d000220, 0x2b929: 0x6d000420, 0x2b92a: 0x6d2e0820, 0x2b92b: 0x6d2e0a20,\n\t0x2b92c: 0x6d2e0c20, 0x2b92d: 0x6d2e0e20, 0x2b92e: 0x6d2e1020, 0x2b92f: 0x6d2e1220,\n\t0x2b930: 0x6d2e1420, 0x2b931: 0x6d2e1620, 0x2b932: 0x6d2e1820, 0x2b933: 0x6d2e1a20,\n\t0x2b934: 0x6d2e1c20, 0x2b935: 0x6d2e1e20, 0x2b936: 0x6d5b3220, 0x2b937: 0x6d5b3420,\n\t0x2b938: 0x6d5b3620, 0x2b939: 0x6d5b3820, 0x2b93a: 0x6d5b3a20, 0x2b93b: 0x6d5b3c20,\n\t0x2b93c: 0x6d5b3e20, 0x2b93d: 0x6d5b4020, 0x2b93e: 0x6d5b4220, 0x2b93f: 0x6d5b4420,\n\t// Block 0xae5, offset 0x2b940\n\t0x2b940: 0x6d5b4620, 0x2b941: 0x6d5b4820, 0x2b942: 0x6d85c620, 0x2b943: 0x6d85c820,\n\t0x2b944: 0x6d85ca20, 0x2b945: 0x6d85cc20, 0x2b946: 0x6d85ce20, 0x2b947: 0x6d85d020,\n\t0x2b948: 0x6d85d220, 0x2b949: 0x6daa7020, 0x2b94a: 0x6daa7220, 0x2b94b: 0x6dcb2020,\n\t0x2b94c: 0x6dcb2220, 0x2b94d: 0x6dcb2420, 0x2b94e: 0x6dcb2620, 0x2b94f: 0x6dcb2820,\n\t0x2b950: 0x6dcb2a20, 0x2b951: 0x6de69620, 0x2b952: 0x6de69820, 0x2b953: 0x6de69a20,\n\t0x2b954: 0x6dfd4a20, 0x2b955: 0x6e101e20, 0x2b956: 0x6e102020, 0x2b957: 0x6e102220,\n\t0x2b958: 0x6e1ee820, 0x2b959: 0x6e2a4820, 0x2b95a: 0x6e32ee20, 0x2b95b: 0x6e32f020,\n\t0x2b95c: 0x6e42c820, 0x2b95d: 0x6c24f820, 0x2b95e: 0x6c590c20, 0x2b95f: 0x6c7baa20,\n\t0x2b960: 0x6ca48e20, 0x2b961: 0x6ca49020, 0x2b962: 0x6d00ba20, 0x2b963: 0x6d2ea820,\n\t0x2b964: 0x6d2eaa20, 0x2b965: 0x6d5bdc20, 0x2b966: 0x6d865220, 0x2b967: 0x6de6dc20,\n\t0x2b968: 0x6e104420, 0x2b969: 0x6e393020, 0x2b96a: 0x6c3c5420, 0x2b96b: 0x6c593a20,\n\t0x2b96c: 0x6c593c20, 0x2b96d: 0x6c7bd420, 0x2b96e: 0x6c7bd620, 0x2b96f: 0x6ca4a820,\n\t0x2b970: 0x6ca4aa20, 0x2b971: 0x6cd2ee20, 0x2b972: 0x6d00e420, 0x2b973: 0x6d00e620,\n\t0x2b974: 0x6d2ec820, 0x2b975: 0x6d2eca20, 0x2b976: 0x6d5bf820, 0x2b977: 0x6d5bfa20,\n\t0x2b978: 0x6d866420, 0x2b979: 0x6dcb9220, 0x2b97a: 0x6dfd8020, 0x2b97b: 0x6c3c6620,\n\t0x2b97c: 0x6c594e20, 0x2b97d: 0x6c595020, 0x2b97e: 0x6c7bf020, 0x2b97f: 0x6c7bf220,\n\t// Block 0xae6, offset 0x2b980\n\t0x2b980: 0x6c7bf420, 0x2b981: 0x6ca4be20, 0x2b982: 0x6ca4c020, 0x2b983: 0x6cd30a20,\n\t0x2b984: 0x6d010820, 0x2b985: 0x6d010a20, 0x2b986: 0x6d2ef220, 0x2b987: 0x6d867e20,\n\t0x2b988: 0x6d868020, 0x2b989: 0x6dab1e20, 0x2b98a: 0x6de6fa20, 0x2b98b: 0x6e105420,\n\t0x2b98c: 0x6e1f0820, 0x2b98d: 0x6e443e20, 0x2b98e: 0x6c251420, 0x2b98f: 0x6c251620,\n\t0x2b990: 0x6c3c7620, 0x2b991: 0x6c3c7820, 0x2b992: 0x6c3c7a20, 0x2b993: 0x6c3c7c20,\n\t0x2b994: 0x6c3c7e20, 0x2b995: 0x6c597420, 0x2b996: 0x6c597620, 0x2b997: 0x6c597820,\n\t0x2b998: 0x6c597a20, 0x2b999: 0x6c597c20, 0x2b99a: 0x6c597e20, 0x2b99b: 0x6c598020,\n\t0x2b99c: 0x6c598220, 0x2b99d: 0x6c598420, 0x2b99e: 0x6c598620, 0x2b99f: 0x6c7c2e20,\n\t0x2b9a0: 0x6c7c3020, 0x2b9a1: 0x6c7c3220, 0x2b9a2: 0x6c7c3420, 0x2b9a3: 0x6c7c3620,\n\t0x2b9a4: 0x6c7c3820, 0x2b9a5: 0x6c7c3a20, 0x2b9a6: 0x6c7c3c20, 0x2b9a7: 0x6ca4f220,\n\t0x2b9a8: 0x6ca4f420, 0x2b9a9: 0x6ca4f620, 0x2b9aa: 0x6ca4f820, 0x2b9ab: 0x6ca4fa20,\n\t0x2b9ac: 0x6ca4fc20, 0x2b9ad: 0x6ca4fe20, 0x2b9ae: 0x6ca50020, 0x2b9af: 0x6cd32c20,\n\t0x2b9b0: 0x6cd32e20, 0x2b9b1: 0x6cd33020, 0x2b9b2: 0x6cd33220, 0x2b9b3: 0x6cd33420,\n\t0x2b9b4: 0x6cd33620, 0x2b9b5: 0x6cd33820, 0x2b9b6: 0x6cd33a20, 0x2b9b7: 0x6cd33c20,\n\t0x2b9b8: 0x6cd33e20, 0x2b9b9: 0x6cd34020, 0x2b9ba: 0x6cd34220, 0x2b9bb: 0x6cd34420,\n\t0x2b9bc: 0x6cd34620, 0x2b9bd: 0x6cd34820, 0x2b9be: 0x6cd34a20, 0x2b9bf: 0x6cd34c20,\n\t// Block 0xae7, offset 0x2b9c0\n\t0x2b9c0: 0x6cd34e20, 0x2b9c1: 0x6d013020, 0x2b9c2: 0x6d013220, 0x2b9c3: 0x6d013420,\n\t0x2b9c4: 0x6d013620, 0x2b9c5: 0x6d013820, 0x2b9c6: 0x6d013a20, 0x2b9c7: 0x6d013c20,\n\t0x2b9c8: 0x6d013e20, 0x2b9c9: 0x6d014020, 0x2b9ca: 0x6d2f0820, 0x2b9cb: 0x6d2f0a20,\n\t0x2b9cc: 0x6d2f0c20, 0x2b9cd: 0x6d2f0e20, 0x2b9ce: 0x6d2f1020, 0x2b9cf: 0x6d2f1220,\n\t0x2b9d0: 0x6d2f1420, 0x2b9d1: 0x6d2f1620, 0x2b9d2: 0x6d2f1820, 0x2b9d3: 0x6d2f1a20,\n\t0x2b9d4: 0x6d2f1c20, 0x2b9d5: 0x6d2f1e20, 0x2b9d6: 0x6d2f2020, 0x2b9d7: 0x6d5c2820,\n\t0x2b9d8: 0x6d5c2a20, 0x2b9d9: 0x6d5c2c20, 0x2b9da: 0x6d5c2e20, 0x2b9db: 0x6d5c3020,\n\t0x2b9dc: 0x6d5c3220, 0x2b9dd: 0x6d5c3420, 0x2b9de: 0x6d5c3620, 0x2b9df: 0x6d5c3820,\n\t0x2b9e0: 0x6d5c3a20, 0x2b9e1: 0x6d5c3c20, 0x2b9e2: 0x6d86ae20, 0x2b9e3: 0x6d86b020,\n\t0x2b9e4: 0x6d86b220, 0x2b9e5: 0x6d86b420, 0x2b9e6: 0x6d86b620, 0x2b9e7: 0x6d86b820,\n\t0x2b9e8: 0x6d86ba20, 0x2b9e9: 0x6d86bc20, 0x2b9ea: 0x6d86be20, 0x2b9eb: 0x6dab4e20,\n\t0x2b9ec: 0x6dab5020, 0x2b9ed: 0x6dab5220, 0x2b9ee: 0x6dab5420, 0x2b9ef: 0x6dab5620,\n\t0x2b9f0: 0x6dab5820, 0x2b9f1: 0x6dab5a20, 0x2b9f2: 0x6dab5c20, 0x2b9f3: 0x6dab5e20,\n\t0x2b9f4: 0x6dcbbe20, 0x2b9f5: 0x6dcbc020, 0x2b9f6: 0x6dcbc220, 0x2b9f7: 0x6dcbc420,\n\t0x2b9f8: 0x6dcbc620, 0x2b9f9: 0x6dcbc820, 0x2b9fa: 0x6dcbca20, 0x2b9fb: 0x6dfda620,\n\t0x2b9fc: 0x6dfda820, 0x2b9fd: 0x6dfdaa20, 0x2b9fe: 0x6dfdac20, 0x2b9ff: 0x6e105c20,\n\t// Block 0xae8, offset 0x2ba00\n\t0x2ba00: 0x6e105e20, 0x2ba01: 0x6e1f1620, 0x2ba02: 0x6e2a6820, 0x2ba03: 0x6e2a6a20,\n\t0x2ba04: 0x6e393820, 0x2ba05: 0x6e452e20, 0x2ba06: 0x6c3cb220, 0x2ba07: 0x6c5a1a20,\n\t0x2ba08: 0x6ca59420, 0x2ba09: 0x6d2fce20, 0x2ba0a: 0x6dabea20, 0x2ba0b: 0x6dabec20,\n\t0x2ba0c: 0x6dabee20, 0x2ba0d: 0x6dfde020, 0x2ba0e: 0x6e332220, 0x2ba0f: 0x6c7ce420,\n\t0x2ba10: 0x6c7ce620, 0x2ba11: 0x6c7cfc20, 0x2ba12: 0x6ca59c20, 0x2ba13: 0x6cd40a20,\n\t0x2ba14: 0x6d020620, 0x2ba15: 0x6d2fe820, 0x2ba16: 0x6c13ee20, 0x2ba17: 0x6c253820,\n\t0x2ba18: 0x6c3cbc20, 0x2ba19: 0x6c3cbe20, 0x2ba1a: 0x6c5a3c20, 0x2ba1b: 0x6c5a3e20,\n\t0x2ba1c: 0x6c5a4020, 0x2ba1d: 0x6c5a4220, 0x2ba1e: 0x6c5a4420, 0x2ba1f: 0x6c7cfe20,\n\t0x2ba20: 0x6c7d0020, 0x2ba21: 0x6c7d0220, 0x2ba22: 0x6c7d0420, 0x2ba23: 0x6c7d0620,\n\t0x2ba24: 0x6c7d0820, 0x2ba25: 0x6c7d0a20, 0x2ba26: 0x6c7d0c20, 0x2ba27: 0x6c7d0e20,\n\t0x2ba28: 0x6c7d1020, 0x2ba29: 0x6ca5d020, 0x2ba2a: 0x6ca5d220, 0x2ba2b: 0x6ca5d420,\n\t0x2ba2c: 0x6ca5d620, 0x2ba2d: 0x6ca5d820, 0x2ba2e: 0x6ca5da20, 0x2ba2f: 0x6ca5dc20,\n\t0x2ba30: 0x6cd42620, 0x2ba31: 0x6cd42820, 0x2ba32: 0x6cd42a20, 0x2ba33: 0x6cd42c20,\n\t0x2ba34: 0x6cd42e20, 0x2ba35: 0x6cd43020, 0x2ba36: 0x6cd43220, 0x2ba37: 0x6d023020,\n\t0x2ba38: 0x6d023220, 0x2ba39: 0x6d023420, 0x2ba3a: 0x6d023620, 0x2ba3b: 0x6d023820,\n\t0x2ba3c: 0x6d023a20, 0x2ba3d: 0x6d023c20, 0x2ba3e: 0x6d023e20, 0x2ba3f: 0x6d024020,\n\t// Block 0xae9, offset 0x2ba40\n\t0x2ba40: 0x6d024220, 0x2ba41: 0x6d024420, 0x2ba42: 0x6d024620, 0x2ba43: 0x6d024820,\n\t0x2ba44: 0x6d024a20, 0x2ba45: 0x6d024c20, 0x2ba46: 0x6d024e20, 0x2ba47: 0x6d025020,\n\t0x2ba48: 0x6d2ffc20, 0x2ba49: 0x6d2ffe20, 0x2ba4a: 0x6d300020, 0x2ba4b: 0x6d300220,\n\t0x2ba4c: 0x6d300420, 0x2ba4d: 0x6d300620, 0x2ba4e: 0x6d300820, 0x2ba4f: 0x6d300a20,\n\t0x2ba50: 0x6d300c20, 0x2ba51: 0x6d5cf820, 0x2ba52: 0x6d5cfa20, 0x2ba53: 0x6d5cfc20,\n\t0x2ba54: 0x6d5cfe20, 0x2ba55: 0x6d5d0020, 0x2ba56: 0x6d5d0220, 0x2ba57: 0x6d5d0420,\n\t0x2ba58: 0x6d876a20, 0x2ba59: 0x6d876c20, 0x2ba5a: 0x6d876e20, 0x2ba5b: 0x6d877020,\n\t0x2ba5c: 0x6d877220, 0x2ba5d: 0x6d877420, 0x2ba5e: 0x6d877620, 0x2ba5f: 0x6dac0a20,\n\t0x2ba60: 0x6d877820, 0x2ba61: 0x6dac0c20, 0x2ba62: 0x6dac0e20, 0x2ba63: 0x6dac1020,\n\t0x2ba64: 0x6dac1220, 0x2ba65: 0x6dac1420, 0x2ba66: 0x6dac1620, 0x2ba67: 0x6dac1820,\n\t0x2ba68: 0x6dac1a20, 0x2ba69: 0x6dcc4220, 0x2ba6a: 0x6dcc4420, 0x2ba6b: 0x6dcc4620,\n\t0x2ba6c: 0x6dcc4820, 0x2ba6d: 0x6dcc4a20, 0x2ba6e: 0x6dcc4c20, 0x2ba6f: 0x6dcc4e20,\n\t0x2ba70: 0x6de76a20, 0x2ba71: 0x6dfdec20, 0x2ba72: 0x6dfdee20, 0x2ba73: 0x6dfdf020,\n\t0x2ba74: 0x6e108c20, 0x2ba75: 0x6e108e20, 0x2ba76: 0x6e109020, 0x2ba77: 0x6e109220,\n\t0x2ba78: 0x6e1f3420, 0x2ba79: 0x6e1f3620, 0x2ba7a: 0x6e332420, 0x2ba7b: 0x6e3d9620,\n\t0x2ba7c: 0x6c254c20, 0x2ba7d: 0x6c5abe20, 0x2ba7e: 0x6c5ac020, 0x2ba7f: 0x6c5ac220,\n\t// Block 0xaea, offset 0x2ba80\n\t0x2ba80: 0x6c5ac420, 0x2ba81: 0x6c7dbe20, 0x2ba82: 0x6c7dc020, 0x2ba83: 0x6c7dc220,\n\t0x2ba84: 0x6ca68c20, 0x2ba85: 0x6ca68e20, 0x2ba86: 0x6ca69020, 0x2ba87: 0x6cd4b820,\n\t0x2ba88: 0x6cd4ba20, 0x2ba89: 0x6cd4bc20, 0x2ba8a: 0x6cd4be20, 0x2ba8b: 0x6d030820,\n\t0x2ba8c: 0x6d030a20, 0x2ba8d: 0x6d030c20, 0x2ba8e: 0x6d030e20, 0x2ba8f: 0x6d031020,\n\t0x2ba90: 0x6d031220, 0x2ba91: 0x6d031420, 0x2ba92: 0x6d031620, 0x2ba93: 0x6d30b420,\n\t0x2ba94: 0x6d30b620, 0x2ba95: 0x6d30b820, 0x2ba96: 0x6d30ba20, 0x2ba97: 0x6d30bc20,\n\t0x2ba98: 0x6d5d8820, 0x2ba99: 0x6d5d8a20, 0x2ba9a: 0x6d87f420, 0x2ba9b: 0x6d87f620,\n\t0x2ba9c: 0x6d87f820, 0x2ba9d: 0x6d87fa20, 0x2ba9e: 0x6d87fc20, 0x2ba9f: 0x6dac9e20,\n\t0x2baa0: 0x6dcca020, 0x2baa1: 0x6dcca220, 0x2baa2: 0x6de7aa20, 0x2baa3: 0x6dfe3820,\n\t0x2baa4: 0x6e10bc20, 0x2baa5: 0x6e444820, 0x2baa6: 0x6c256420, 0x2baa7: 0x6c256620,\n\t0x2baa8: 0x6c3d2e20, 0x2baa9: 0x6c3d3020, 0x2baaa: 0x6c3d3220, 0x2baab: 0x6c3d3420,\n\t0x2baac: 0x6c3d3620, 0x2baad: 0x6c3d3820, 0x2baae: 0x6c5b2e20, 0x2baaf: 0x6c5b3020,\n\t0x2bab0: 0x6c5b3220, 0x2bab1: 0x6c5b3420, 0x2bab2: 0x6c5b3620, 0x2bab3: 0x6c5b3820,\n\t0x2bab4: 0x6c5b3a20, 0x2bab5: 0x6c5b3c20, 0x2bab6: 0x6c7e3020, 0x2bab7: 0x6c7e3220,\n\t0x2bab8: 0x6c7e3420, 0x2bab9: 0x6c7e3620, 0x2baba: 0x6ca6f820, 0x2babb: 0x6ca6fa20,\n\t0x2babc: 0x6ca6fc20, 0x2babd: 0x6ca6fe20, 0x2babe: 0x6ca70020, 0x2babf: 0x6ca70220,\n\t// Block 0xaeb, offset 0x2bac0\n\t0x2bac0: 0x6ca70420, 0x2bac1: 0x6ca70620, 0x2bac2: 0x6ca70820, 0x2bac3: 0x6ca70a20,\n\t0x2bac4: 0x6ca70c20, 0x2bac5: 0x6ca70e20, 0x2bac6: 0x6ca71020, 0x2bac7: 0x6ca71220,\n\t0x2bac8: 0x6ca71420, 0x2bac9: 0x6ca71620, 0x2baca: 0x6ca71820, 0x2bacb: 0x6cd52e20,\n\t0x2bacc: 0x6cd53020, 0x2bacd: 0x6cd53220, 0x2bace: 0x6cd53420, 0x2bacf: 0x6cd53620,\n\t0x2bad0: 0x6cd53820, 0x2bad1: 0x6cd53a20, 0x2bad2: 0x6cd53c20, 0x2bad3: 0x6cd53e20,\n\t0x2bad4: 0x6d037c20, 0x2bad5: 0x6d037e20, 0x2bad6: 0x6d038020, 0x2bad7: 0x6d038220,\n\t0x2bad8: 0x6d038420, 0x2bad9: 0x6d038620, 0x2bada: 0x6d038820, 0x2badb: 0x6d038a20,\n\t0x2badc: 0x6d038c20, 0x2badd: 0x6d038e20, 0x2bade: 0x6d039020, 0x2badf: 0x6d039220,\n\t0x2bae0: 0x6d311a20, 0x2bae1: 0x6d311c20, 0x2bae2: 0x6d311e20, 0x2bae3: 0x6d312020,\n\t0x2bae4: 0x6d312220, 0x2bae5: 0x6d312420, 0x2bae6: 0x6d312620, 0x2bae7: 0x6d312820,\n\t0x2bae8: 0x6d312a20, 0x2bae9: 0x6d312c20, 0x2baea: 0x6d312e20, 0x2baeb: 0x6d313020,\n\t0x2baec: 0x6d5dd820, 0x2baed: 0x6d5dda20, 0x2baee: 0x6d5ddc20, 0x2baef: 0x6d5dde20,\n\t0x2baf0: 0x6d5de020, 0x2baf1: 0x6d5de220, 0x2baf2: 0x6d5de420, 0x2baf3: 0x6d5de620,\n\t0x2baf4: 0x6d5de820, 0x2baf5: 0x6d5dea20, 0x2baf6: 0x6d5dec20, 0x2baf7: 0x6d883420,\n\t0x2baf8: 0x6d883620, 0x2baf9: 0x6d883820, 0x2bafa: 0x6d883a20, 0x2bafb: 0x6d883c20,\n\t0x2bafc: 0x6d883e20, 0x2bafd: 0x6d884020, 0x2bafe: 0x6dacce20, 0x2baff: 0x6dacd020,\n\t// Block 0xaec, offset 0x2bb00\n\t0x2bb00: 0x6dacd220, 0x2bb01: 0x6dccc020, 0x2bb02: 0x6dccc220, 0x2bb03: 0x6dccc420,\n\t0x2bb04: 0x6dccc620, 0x2bb05: 0x6dccc820, 0x2bb06: 0x6dccca20, 0x2bb07: 0x6dcccc20,\n\t0x2bb08: 0x6dfe4620, 0x2bb09: 0x6dfe4820, 0x2bb0a: 0x6e10ca20, 0x2bb0b: 0x6e10cc20,\n\t0x2bb0c: 0x6e10ce20, 0x2bb0d: 0x6e10d020, 0x2bb0e: 0x6e1f6620, 0x2bb0f: 0x6e1f6820,\n\t0x2bb10: 0x6e453020, 0x2bb11: 0x6c257a20, 0x2bb12: 0x6c3d6820, 0x2bb13: 0x6c5b9220,\n\t0x2bb14: 0x6c5b9420, 0x2bb15: 0x6c5b9620, 0x2bb16: 0x6c5b9820, 0x2bb17: 0x6c7ea620,\n\t0x2bb18: 0x6c7ea820, 0x2bb19: 0x6c7eaa20, 0x2bb1a: 0x6ca77820, 0x2bb1b: 0x6ca77a20,\n\t0x2bb1c: 0x6ca77c20, 0x2bb1d: 0x6ca77e20, 0x2bb1e: 0x6ca78020, 0x2bb1f: 0x6ca78220,\n\t0x2bb20: 0x6ca78420, 0x2bb21: 0x6cd5a220, 0x2bb22: 0x6cd5a420, 0x2bb23: 0x6cd5a620,\n\t0x2bb24: 0x6cd5a820, 0x2bb25: 0x6cd5aa20, 0x2bb26: 0x6d042a20, 0x2bb27: 0x6d042c20,\n\t0x2bb28: 0x6d042e20, 0x2bb29: 0x6d043020, 0x2bb2a: 0x6d31c420, 0x2bb2b: 0x6d31c620,\n\t0x2bb2c: 0x6d5e6a20, 0x2bb2d: 0x6d5e6c20, 0x2bb2e: 0x6d5e6e20, 0x2bb2f: 0x6d88bc20,\n\t0x2bb30: 0x6d88be20, 0x2bb31: 0x6d88c020, 0x2bb32: 0x6d88c220, 0x2bb33: 0x6d88c420,\n\t0x2bb34: 0x6d88c620, 0x2bb35: 0x6dad4220, 0x2bb36: 0x6dad4420, 0x2bb37: 0x6dad4620,\n\t0x2bb38: 0x6dad4820, 0x2bb39: 0x6dad4a20, 0x2bb3a: 0x6dad4c20, 0x2bb3b: 0x6dad4e20,\n\t0x2bb3c: 0x6dcd1c20, 0x2bb3d: 0x6dcd1e20, 0x2bb3e: 0x6de7f220, 0x2bb3f: 0x6de7f420,\n\t// Block 0xaed, offset 0x2bb40\n\t0x2bb40: 0x6dfe8420, 0x2bb41: 0x6e1f7620, 0x2bb42: 0x6c140e20, 0x2bb43: 0x6c3d8c20,\n\t0x2bb44: 0x6c3d8e20, 0x2bb45: 0x6c5bd220, 0x2bb46: 0x6c5bd420, 0x2bb47: 0x6c7ef620,\n\t0x2bb48: 0x6c7ef820, 0x2bb49: 0x6c7efa20, 0x2bb4a: 0x6c7efc20, 0x2bb4b: 0x6ca7c620,\n\t0x2bb4c: 0x6cd60a20, 0x2bb4d: 0x6cd60c20, 0x2bb4e: 0x6d048620, 0x2bb4f: 0x6d048820,\n\t0x2bb50: 0x6d048a20, 0x2bb51: 0x6d048c20, 0x2bb52: 0x6d892020, 0x2bb53: 0x6dad8820,\n\t0x2bb54: 0x6dcd3820, 0x2bb55: 0x6de80620, 0x2bb56: 0x6c5bf620, 0x2bb57: 0x6c7f3220,\n\t0x2bb58: 0x6c7f3420, 0x2bb59: 0x6c7f3620, 0x2bb5a: 0x6c7f3820, 0x2bb5b: 0x6c7f3a20,\n\t0x2bb5c: 0x6c7f3c20, 0x2bb5d: 0x6c7f3e20, 0x2bb5e: 0x6ca7e820, 0x2bb5f: 0x6ca7ea20,\n\t0x2bb60: 0x6ca7ec20, 0x2bb61: 0x6ca7ee20, 0x2bb62: 0x6ca7f020, 0x2bb63: 0x6ca7f220,\n\t0x2bb64: 0x6ca7f420, 0x2bb65: 0x6ca7f620, 0x2bb66: 0x6ca7f820, 0x2bb67: 0x6cd63620,\n\t0x2bb68: 0x6cd63820, 0x2bb69: 0x6cd63a20, 0x2bb6a: 0x6cd63c20, 0x2bb6b: 0x6cd63e20,\n\t0x2bb6c: 0x6cd64020, 0x2bb6d: 0x6cd64220, 0x2bb6e: 0x6cd64420, 0x2bb6f: 0x6cd64620,\n\t0x2bb70: 0x6cd64820, 0x2bb71: 0x6cd64a20, 0x2bb72: 0x6cd64c20, 0x2bb73: 0x6cd64e20,\n\t0x2bb74: 0x6cd65020, 0x2bb75: 0x6d04b620, 0x2bb76: 0x6d04b820, 0x2bb77: 0x6d04ba20,\n\t0x2bb78: 0x6d04bc20, 0x2bb79: 0x6d04be20, 0x2bb7a: 0x6d04c020, 0x2bb7b: 0x6d04c220,\n\t0x2bb7c: 0x6d04c420, 0x2bb7d: 0x6d04c620, 0x2bb7e: 0x6d04c820, 0x2bb7f: 0x6d04ca20,\n\t// Block 0xaee, offset 0x2bb80\n\t0x2bb80: 0x6d04cc20, 0x2bb81: 0x6d323220, 0x2bb82: 0x6d323420, 0x2bb83: 0x6d323620,\n\t0x2bb84: 0x6d323820, 0x2bb85: 0x6d323a20, 0x2bb86: 0x6d323c20, 0x2bb87: 0x6d323e20,\n\t0x2bb88: 0x6d324020, 0x2bb89: 0x6d324220, 0x2bb8a: 0x6d324420, 0x2bb8b: 0x6d324620,\n\t0x2bb8c: 0x6d324820, 0x2bb8d: 0x6d324a20, 0x2bb8e: 0x6d5ecc20, 0x2bb8f: 0x6d5ece20,\n\t0x2bb90: 0x6d5ed020, 0x2bb91: 0x6d5ed220, 0x2bb92: 0x6d5ed420, 0x2bb93: 0x6d5ed620,\n\t0x2bb94: 0x6d5ed820, 0x2bb95: 0x6d5eda20, 0x2bb96: 0x6d5edc20, 0x2bb97: 0x6d5ede20,\n\t0x2bb98: 0x6d5ee020, 0x2bb99: 0x6d5ee220, 0x2bb9a: 0x6d5ee420, 0x2bb9b: 0x6d5ee620,\n\t0x2bb9c: 0x6d5ee820, 0x2bb9d: 0x6d5eea20, 0x2bb9e: 0x6d5eec20, 0x2bb9f: 0x6d5eee20,\n\t0x2bba0: 0x6d5ef020, 0x2bba1: 0x6d5ef220, 0x2bba2: 0x6d5ef420, 0x2bba3: 0x6d5ef620,\n\t0x2bba4: 0x6d5ef820, 0x2bba5: 0x6d5efa20, 0x2bba6: 0x6d5efc20, 0x2bba7: 0x6d5efe20,\n\t0x2bba8: 0x6d5f0020, 0x2bba9: 0x6d5f0220, 0x2bbaa: 0x6d892e20, 0x2bbab: 0x6d893020,\n\t0x2bbac: 0x6d893220, 0x2bbad: 0x6d893420, 0x2bbae: 0x6d893620, 0x2bbaf: 0x6d893820,\n\t0x2bbb0: 0x6d893a20, 0x2bbb1: 0x6d893c20, 0x2bbb2: 0x6d893e20, 0x2bbb3: 0x6d894020,\n\t0x2bbb4: 0x6d894220, 0x2bbb5: 0x6d894420, 0x2bbb6: 0x6d894620, 0x2bbb7: 0x6d894820,\n\t0x2bbb8: 0x6dada820, 0x2bbb9: 0x6dadaa20, 0x2bbba: 0x6dadac20, 0x2bbbb: 0x6dadae20,\n\t0x2bbbc: 0x6dadb020, 0x2bbbd: 0x6dadb220, 0x2bbbe: 0x6dadb420, 0x2bbbf: 0x6dadb620,\n\t// Block 0xaef, offset 0x2bbc0\n\t0x2bbc0: 0x6dadb820, 0x2bbc1: 0x6dadba20, 0x2bbc2: 0x6dadbc20, 0x2bbc3: 0x6dadbe20,\n\t0x2bbc4: 0x6dadc020, 0x2bbc5: 0x6dadc220, 0x2bbc6: 0x6dadc420, 0x2bbc7: 0x6dadc620,\n\t0x2bbc8: 0x6dcd4c20, 0x2bbc9: 0x6dcd4e20, 0x2bbca: 0x6dcd5020, 0x2bbcb: 0x6dcd5220,\n\t0x2bbcc: 0x6dcd5420, 0x2bbcd: 0x6dcd5620, 0x2bbce: 0x6dcd5820, 0x2bbcf: 0x6de81420,\n\t0x2bbd0: 0x6dcd5a20, 0x2bbd1: 0x6dcd5c20, 0x2bbd2: 0x6dcd5e20, 0x2bbd3: 0x6dcd6020,\n\t0x2bbd4: 0x6dcd6220, 0x2bbd5: 0x6dcd6420, 0x2bbd6: 0x6dcd6620, 0x2bbd7: 0x6dcd6820,\n\t0x2bbd8: 0x6dcd6a20, 0x2bbd9: 0x6dcd6c20, 0x2bbda: 0x6dcd6e20, 0x2bbdb: 0x6de81620,\n\t0x2bbdc: 0x6de81820, 0x2bbdd: 0x6de81a20, 0x2bbde: 0x6de81c20, 0x2bbdf: 0x6de81e20,\n\t0x2bbe0: 0x6de82020, 0x2bbe1: 0x6de82220, 0x2bbe2: 0x6de82420, 0x2bbe3: 0x6dcd7020,\n\t0x2bbe4: 0x6de82620, 0x2bbe5: 0x6dfeaa20, 0x2bbe6: 0x6e110820, 0x2bbe7: 0x6e110a20,\n\t0x2bbe8: 0x6e110c20, 0x2bbe9: 0x6e110e20, 0x2bbea: 0x6e111020, 0x2bbeb: 0x6e111220,\n\t0x2bbec: 0x6e111420, 0x2bbed: 0x6e111620, 0x2bbee: 0x6e1f8620, 0x2bbef: 0x6e1f8820,\n\t0x2bbf0: 0x6e1f8a20, 0x2bbf1: 0x6e1f8c20, 0x2bbf2: 0x6e2ac620, 0x2bbf3: 0x6e2ac820,\n\t0x2bbf4: 0x6e2aca20, 0x2bbf5: 0x6e2e7820, 0x2bbf6: 0x6e335220, 0x2bbf7: 0x6e3dac20,\n\t0x2bbf8: 0x6e408e20, 0x2bbf9: 0x6e453220, 0x2bbfa: 0x6c5c2e20, 0x2bbfb: 0x6c7faa20,\n\t0x2bbfc: 0x6c7fac20, 0x2bbfd: 0x6ca89220, 0x2bbfe: 0x6ca89420, 0x2bbff: 0x6ca89620,\n\t// Block 0xaf0, offset 0x2bc00\n\t0x2bc00: 0x6ca89820, 0x2bc01: 0x6cd6e020, 0x2bc02: 0x6cd6e220, 0x2bc03: 0x6cd6e420,\n\t0x2bc04: 0x6cd6e620, 0x2bc05: 0x6cd6e820, 0x2bc06: 0x6cd6ea20, 0x2bc07: 0x6d059820,\n\t0x2bc08: 0x6d059a20, 0x2bc09: 0x6d059c20, 0x2bc0a: 0x6d059e20, 0x2bc0b: 0x6d05a020,\n\t0x2bc0c: 0x6d05a220, 0x2bc0d: 0x6d333820, 0x2bc0e: 0x6d333a20, 0x2bc0f: 0x6d333c20,\n\t0x2bc10: 0x6d333e20, 0x2bc11: 0x6d334020, 0x2bc12: 0x6d334220, 0x2bc13: 0x6d5fee20,\n\t0x2bc14: 0x6d5ff020, 0x2bc15: 0x6d5ff220, 0x2bc16: 0x6d5ff420, 0x2bc17: 0x6d5ff620,\n\t0x2bc18: 0x6d5ff820, 0x2bc19: 0x6d5ffa20, 0x2bc1a: 0x6d8a5220, 0x2bc1b: 0x6d8a5420,\n\t0x2bc1c: 0x6daec620, 0x2bc1d: 0x6daec820, 0x2bc1e: 0x6daeca20, 0x2bc1f: 0x6daecc20,\n\t0x2bc20: 0x6daece20, 0x2bc21: 0x6daed020, 0x2bc22: 0x6daed220, 0x2bc23: 0x6dce6420,\n\t0x2bc24: 0x6dce6620, 0x2bc25: 0x6dce6820, 0x2bc26: 0x6dce6a20, 0x2bc27: 0x6dce6c20,\n\t0x2bc28: 0x6dce6e20, 0x2bc29: 0x6dce7020, 0x2bc2a: 0x6de8c220, 0x2bc2b: 0x6de8c420,\n\t0x2bc2c: 0x6de8c620, 0x2bc2d: 0x6dff1c20, 0x2bc2e: 0x6dff1e20, 0x2bc2f: 0x6e118a20,\n\t0x2bc30: 0x6e1fe220, 0x2bc31: 0x6e2b0420, 0x2bc32: 0x6e2b0620, 0x2bc33: 0x6e398420,\n\t0x2bc34: 0x6e398620, 0x2bc35: 0x6c3dba20, 0x2bc36: 0x6c5c5e20, 0x2bc37: 0x6c5c6020,\n\t0x2bc38: 0x6c5c6220, 0x2bc39: 0x6c5c6420, 0x2bc3a: 0x6c7fee20, 0x2bc3b: 0x6c7ff020,\n\t0x2bc3c: 0x6c7ff220, 0x2bc3d: 0x6c7ff420, 0x2bc3e: 0x6c7ff620, 0x2bc3f: 0x6c7ff820,\n\t// Block 0xaf1, offset 0x2bc40\n\t0x2bc40: 0x6c7ffa20, 0x2bc41: 0x6c7ffc20, 0x2bc42: 0x6c7ffe20, 0x2bc43: 0x6c800020,\n\t0x2bc44: 0x6c800220, 0x2bc45: 0x6c800420, 0x2bc46: 0x6c800620, 0x2bc47: 0x6c800820,\n\t0x2bc48: 0x6ca8f220, 0x2bc49: 0x6ca8f420, 0x2bc4a: 0x6ca8f620, 0x2bc4b: 0x6ca8f820,\n\t0x2bc4c: 0x6ca8fa20, 0x2bc4d: 0x6ca8fc20, 0x2bc4e: 0x6ca8fe20, 0x2bc4f: 0x6ca90020,\n\t0x2bc50: 0x6ca90220, 0x2bc51: 0x6ca90420, 0x2bc52: 0x6ca90620, 0x2bc53: 0x6ca90820,\n\t0x2bc54: 0x6ca90a20, 0x2bc55: 0x6cd74620, 0x2bc56: 0x6cd74820, 0x2bc57: 0x6cd74a20,\n\t0x2bc58: 0x6cd74c20, 0x2bc59: 0x6cd74e20, 0x2bc5a: 0x6cd75020, 0x2bc5b: 0x6cd75220,\n\t0x2bc5c: 0x6cd75420, 0x2bc5d: 0x6cd75620, 0x2bc5e: 0x6cd75820, 0x2bc5f: 0x6d060420,\n\t0x2bc60: 0x6d060620, 0x2bc61: 0x6d060820, 0x2bc62: 0x6d060a20, 0x2bc63: 0x6d060c20,\n\t0x2bc64: 0x6d060e20, 0x2bc65: 0x6d061020, 0x2bc66: 0x6d061220, 0x2bc67: 0x6d33b820,\n\t0x2bc68: 0x6d33ba20, 0x2bc69: 0x6d33bc20, 0x2bc6a: 0x6d33be20, 0x2bc6b: 0x6d33c020,\n\t0x2bc6c: 0x6d33c220, 0x2bc6d: 0x6d33c420, 0x2bc6e: 0x6d33c620, 0x2bc6f: 0x6d33c820,\n\t0x2bc70: 0x6d33ca20, 0x2bc71: 0x6d33cc20, 0x2bc72: 0x6d33ce20, 0x2bc73: 0x6d606420,\n\t0x2bc74: 0x6d606620, 0x2bc75: 0x6d606820, 0x2bc76: 0x6d606a20, 0x2bc77: 0x6d606c20,\n\t0x2bc78: 0x6d606e20, 0x2bc79: 0x6d607020, 0x2bc7a: 0x6d607220, 0x2bc7b: 0x6d607420,\n\t0x2bc7c: 0x6d607620, 0x2bc7d: 0x6d607820, 0x2bc7e: 0x6d607a20, 0x2bc7f: 0x6d607c20,\n\t// Block 0xaf2, offset 0x2bc80\n\t0x2bc80: 0x6d607e20, 0x2bc81: 0x6d608020, 0x2bc82: 0x6d608220, 0x2bc83: 0x6d608420,\n\t0x2bc84: 0x6d608620, 0x2bc85: 0x6d8aac20, 0x2bc86: 0x6d8aae20, 0x2bc87: 0x6d8ab020,\n\t0x2bc88: 0x6d8ab220, 0x2bc89: 0x6d8ab420, 0x2bc8a: 0x6d8ab620, 0x2bc8b: 0x6d8ab820,\n\t0x2bc8c: 0x6daf2020, 0x2bc8d: 0x6daf2220, 0x2bc8e: 0x6daf2420, 0x2bc8f: 0x6daf2620,\n\t0x2bc90: 0x6daf2820, 0x2bc91: 0x6daf2a20, 0x2bc92: 0x6daf2c20, 0x2bc93: 0x6daf2e20,\n\t0x2bc94: 0x6daf3020, 0x2bc95: 0x6daf3220, 0x2bc96: 0x6dcec020, 0x2bc97: 0x6dcec220,\n\t0x2bc98: 0x6dcec420, 0x2bc99: 0x6dcec620, 0x2bc9a: 0x6dcec820, 0x2bc9b: 0x6dceca20,\n\t0x2bc9c: 0x6de90c20, 0x2bc9d: 0x6de90e20, 0x2bc9e: 0x6de91020, 0x2bc9f: 0x6de91220,\n\t0x2bca0: 0x6de91420, 0x2bca1: 0x6de91620, 0x2bca2: 0x6de91820, 0x2bca3: 0x6dff3820,\n\t0x2bca4: 0x6dff3a20, 0x2bca5: 0x6dff3c20, 0x2bca6: 0x6dff3e20, 0x2bca7: 0x6dff4020,\n\t0x2bca8: 0x6e11a620, 0x2bca9: 0x6e11a820, 0x2bcaa: 0x6e200020, 0x2bcab: 0x6e200220,\n\t0x2bcac: 0x6e200420, 0x2bcad: 0x6e200620, 0x2bcae: 0x6e2b1420, 0x2bcaf: 0x6e338a20,\n\t0x2bcb0: 0x6e338c20, 0x2bcb1: 0x6e338e20, 0x2bcb2: 0x6e339020, 0x2bcb3: 0x6e399420,\n\t0x2bcb4: 0x6e399620, 0x2bcb5: 0x6e40a420, 0x2bcb6: 0x6c5c9820, 0x2bcb7: 0x6ca99e20,\n\t0x2bcb8: 0x6c809c20, 0x2bcb9: 0x6ca9a020, 0x2bcba: 0x6cd80e20, 0x2bcbb: 0x6cd81020,\n\t0x2bcbc: 0x6d06cc20, 0x2bcbd: 0x6d34c620, 0x2bcbe: 0x6d617c20, 0x2bcbf: 0x6d617e20,\n\t// Block 0xaf3, offset 0x2bcc0\n\t0x2bcc0: 0x6d8b9420, 0x2bcc1: 0x6de9a020, 0x2bcc2: 0x6c5cc420, 0x2bcc3: 0x6c80c420,\n\t0x2bcc4: 0x6ca9e220, 0x2bcc5: 0x6ca9e420, 0x2bcc6: 0x6ca9e620, 0x2bcc7: 0x6ca9e820,\n\t0x2bcc8: 0x6ca9ea20, 0x2bcc9: 0x6ca9ec20, 0x2bcca: 0x6cd85220, 0x2bccb: 0x6d34e020,\n\t0x2bccc: 0x6d34e220, 0x2bccd: 0x6d8ba620, 0x2bcce: 0x6e2b3220, 0x2bccf: 0x6c0a4820,\n\t0x2bcd0: 0x6c3e0220, 0x2bcd1: 0x6c5cce20, 0x2bcd2: 0x6c5cd020, 0x2bcd3: 0x6c5cd220,\n\t0x2bcd4: 0x6c5cd420, 0x2bcd5: 0x6c80d220, 0x2bcd6: 0x6c80d420, 0x2bcd7: 0x6c80d620,\n\t0x2bcd8: 0x6ca9fe20, 0x2bcd9: 0x6cd86420, 0x2bcda: 0x6cd86620, 0x2bcdb: 0x6d06fc20,\n\t0x2bcdc: 0x6d06fe20, 0x2bcdd: 0x6d070020, 0x2bcde: 0x6d34fc20, 0x2bcdf: 0x6d34fe20,\n\t0x2bce0: 0x6d8bba20, 0x2bce1: 0x6d8bbc20, 0x2bce2: 0x6db00620, 0x2bce3: 0x6dcf8c20,\n\t0x2bce4: 0x6de9b420, 0x2bce5: 0x6e120820, 0x2bce6: 0x6e33ae20, 0x2bce7: 0x6c812420,\n\t0x2bce8: 0x6c812620, 0x2bce9: 0x6c812820, 0x2bcea: 0x6caa2a20, 0x2bceb: 0x6caa2c20,\n\t0x2bcec: 0x6caa2e20, 0x2bced: 0x6caa3020, 0x2bcee: 0x6cd88220, 0x2bcef: 0x6cd88420,\n\t0x2bcf0: 0x6cd88620, 0x2bcf1: 0x6d074620, 0x2bcf2: 0x6d352e20, 0x2bcf3: 0x6d353020,\n\t0x2bcf4: 0x6d353220, 0x2bcf5: 0x6d353420, 0x2bcf6: 0x6d353620, 0x2bcf7: 0x6d61ca20,\n\t0x2bcf8: 0x6d8bf220, 0x2bcf9: 0x6d8bf420, 0x2bcfa: 0x6db02c20, 0x2bcfb: 0x6dcfa820,\n\t0x2bcfc: 0x6dcfaa20, 0x2bcfd: 0x6e204220, 0x2bcfe: 0x6c815620, 0x2bcff: 0x6c815820,\n\t// Block 0xaf4, offset 0x2bd00\n\t0x2bd00: 0x6caa6e20, 0x2bd01: 0x6caa7020, 0x2bd02: 0x6caa7220, 0x2bd03: 0x6caa7420,\n\t0x2bd04: 0x6caa7620, 0x2bd05: 0x6caa7820, 0x2bd06: 0x6caa7a20, 0x2bd07: 0x6cd8aa20,\n\t0x2bd08: 0x6cd8ac20, 0x2bd09: 0x6cd8ae20, 0x2bd0a: 0x6cd8b020, 0x2bd0b: 0x6d077c20,\n\t0x2bd0c: 0x6d077e20, 0x2bd0d: 0x6d078020, 0x2bd0e: 0x6d078220, 0x2bd0f: 0x6d355020,\n\t0x2bd10: 0x6d355220, 0x2bd11: 0x6d355420, 0x2bd12: 0x6d355620, 0x2bd13: 0x6d355820,\n\t0x2bd14: 0x6d8c0c20, 0x2bd15: 0x6d8c0e20, 0x2bd16: 0x6dcfd820, 0x2bd17: 0x6dcfda20,\n\t0x2bd18: 0x6dcfdc20, 0x2bd19: 0x6dffb220, 0x2bd1a: 0x6e122220, 0x2bd1b: 0x6c5d2e20,\n\t0x2bd1c: 0x6cd8f220, 0x2bd1d: 0x6cd8f420, 0x2bd1e: 0x6cd8f620, 0x2bd1f: 0x6c5d3a20,\n\t0x2bd20: 0x6c5d3c20, 0x2bd21: 0x6c81a620, 0x2bd22: 0x6c5d4820, 0x2bd23: 0x6caaba20,\n\t0x2bd24: 0x6d07b020, 0x2bd25: 0x6d07b220, 0x2bd26: 0x6d359420, 0x2bd27: 0x6d359620,\n\t0x2bd28: 0x6d359820, 0x2bd29: 0x6d359a20, 0x2bd2a: 0x6d359c20, 0x2bd2b: 0x6d624c20,\n\t0x2bd2c: 0x6d624e20, 0x2bd2d: 0x6db07e20, 0x2bd2e: 0x6db08020, 0x2bd2f: 0x6db08220,\n\t0x2bd30: 0x6dd01020, 0x2bd31: 0x6e122c20, 0x2bd32: 0x6c25e420, 0x2bd33: 0x6c81b620,\n\t0x2bd34: 0x6c81b820, 0x2bd35: 0x6caad020, 0x2bd36: 0x6caad220, 0x2bd37: 0x6cd90e20,\n\t0x2bd38: 0x6d07c020, 0x2bd39: 0x6d07c220, 0x2bd3a: 0x6d35ba20, 0x2bd3b: 0x6d35bc20,\n\t0x2bd3c: 0x6d35be20, 0x2bd3d: 0x6d35c020, 0x2bd3e: 0x6d35c220, 0x2bd3f: 0x6d626820,\n\t// Block 0xaf5, offset 0x2bd40\n\t0x2bd40: 0x6d626a20, 0x2bd41: 0x6d8c6220, 0x2bd42: 0x6d8c6420, 0x2bd43: 0x6d8c6620,\n\t0x2bd44: 0x6db09820, 0x2bd45: 0x6db09a20, 0x2bd46: 0x6db09c20, 0x2bd47: 0x6db09e20,\n\t0x2bd48: 0x6dd02a20, 0x2bd49: 0x6dffc620, 0x2bd4a: 0x6e205c20, 0x2bd4b: 0x6d07fc20,\n\t0x2bd4c: 0x6c145820, 0x2bd4d: 0x6c145a20, 0x2bd4e: 0x6c25ea20, 0x2bd4f: 0x6c25ec20,\n\t0x2bd50: 0x6c3e6220, 0x2bd51: 0x6c81fe20, 0x2bd52: 0x6c3e6420, 0x2bd53: 0x6c3e6620,\n\t0x2bd54: 0x6c3e6820, 0x2bd55: 0x6c3e6a20, 0x2bd56: 0x6c3e6c20, 0x2bd57: 0x6c3e6e20,\n\t0x2bd58: 0x6c3e7020, 0x2bd59: 0x6c3e7220, 0x2bd5a: 0x6c3e7420, 0x2bd5b: 0x6c3e7620,\n\t0x2bd5c: 0x6c3e7820, 0x2bd5d: 0x6c3e7a20, 0x2bd5e: 0x6c5d6220, 0x2bd5f: 0x6c5d6420,\n\t0x2bd60: 0x6c5d6620, 0x2bd61: 0x6c5d6820, 0x2bd62: 0x6c5d6a20, 0x2bd63: 0x6c5d6c20,\n\t0x2bd64: 0x6c5d6e20, 0x2bd65: 0x6c5d7020, 0x2bd66: 0x6c820020, 0x2bd67: 0x6c820220,\n\t0x2bd68: 0x6c820420, 0x2bd69: 0x6c820620, 0x2bd6a: 0x6c820820, 0x2bd6b: 0x6c820a20,\n\t0x2bd6c: 0x6c820c20, 0x2bd6d: 0x6c820e20, 0x2bd6e: 0x6c821020, 0x2bd6f: 0x6cab1220,\n\t0x2bd70: 0x6cab1420, 0x2bd71: 0x6cab1620, 0x2bd72: 0x6cab1820, 0x2bd73: 0x6cab1a20,\n\t0x2bd74: 0x6cab1c20, 0x2bd75: 0x6cab1e20, 0x2bd76: 0x6cab2020, 0x2bd77: 0x6cab2220,\n\t0x2bd78: 0x6cab2420, 0x2bd79: 0x6cab2620, 0x2bd7a: 0x6cab2820, 0x2bd7b: 0x6cab2a20,\n\t0x2bd7c: 0x6cd95c20, 0x2bd7d: 0x6cd95e20, 0x2bd7e: 0x6cd96020, 0x2bd7f: 0x6cd96220,\n\t// Block 0xaf6, offset 0x2bd80\n\t0x2bd80: 0x6cd96420, 0x2bd81: 0x6cd96620, 0x2bd82: 0x6cd96820, 0x2bd83: 0x6cd96a20,\n\t0x2bd84: 0x6cd96c20, 0x2bd85: 0x6cd96e20, 0x2bd86: 0x6cd97020, 0x2bd87: 0x6cd97220,\n\t0x2bd88: 0x6cd97420, 0x2bd89: 0x6cd97620, 0x2bd8a: 0x6cd97820, 0x2bd8b: 0x6cd97a20,\n\t0x2bd8c: 0x6cd97c20, 0x2bd8d: 0x6d080a20, 0x2bd8e: 0x6d080c20, 0x2bd8f: 0x6d080e20,\n\t0x2bd90: 0x6d081020, 0x2bd91: 0x6d081220, 0x2bd92: 0x6d081420, 0x2bd93: 0x6d081620,\n\t0x2bd94: 0x6d081820, 0x2bd95: 0x6d081a20, 0x2bd96: 0x6d081c20, 0x2bd97: 0x6d081e20,\n\t0x2bd98: 0x6d082020, 0x2bd99: 0x6d082220, 0x2bd9a: 0x6d082420, 0x2bd9b: 0x6d082620,\n\t0x2bd9c: 0x6d361c20, 0x2bd9d: 0x6d361e20, 0x2bd9e: 0x6d362020, 0x2bd9f: 0x6d362220,\n\t0x2bda0: 0x6d362420, 0x2bda1: 0x6d8c9e20, 0x2bda2: 0x6d362620, 0x2bda3: 0x6d362820,\n\t0x2bda4: 0x6d362a20, 0x2bda5: 0x6d362c20, 0x2bda6: 0x6d362e20, 0x2bda7: 0x6d363020,\n\t0x2bda8: 0x6d363220, 0x2bda9: 0x6d363420, 0x2bdaa: 0x6d363620, 0x2bdab: 0x6d62bc20,\n\t0x2bdac: 0x6d62be20, 0x2bdad: 0x6d62c020, 0x2bdae: 0x6d62c220, 0x2bdaf: 0x6d62c420,\n\t0x2bdb0: 0x6d62c620, 0x2bdb1: 0x6d62c820, 0x2bdb2: 0x6d62ca20, 0x2bdb3: 0x6d62cc20,\n\t0x2bdb4: 0x6d62ce20, 0x2bdb5: 0x6d8ca220, 0x2bdb6: 0x6d8ca420, 0x2bdb7: 0x6d8ca620,\n\t0x2bdb8: 0x6d8ca820, 0x2bdb9: 0x6d8caa20, 0x2bdba: 0x6d8cac20, 0x2bdbb: 0x6d8cae20,\n\t0x2bdbc: 0x6d8cb020, 0x2bdbd: 0x6d8cb220, 0x2bdbe: 0x6db0d620, 0x2bdbf: 0x6db0d820,\n\t// Block 0xaf7, offset 0x2bdc0\n\t0x2bdc0: 0x6db0da20, 0x2bdc1: 0x6db0dc20, 0x2bdc2: 0x6dd05e20, 0x2bdc3: 0x6dd06020,\n\t0x2bdc4: 0x6dd06220, 0x2bdc5: 0x6dd06420, 0x2bdc6: 0x6dea2020, 0x2bdc7: 0x6dea2220,\n\t0x2bdc8: 0x6dea2420, 0x2bdc9: 0x6dffe020, 0x2bdca: 0x6dffe220, 0x2bdcb: 0x6e124020,\n\t0x2bdcc: 0x6e124220, 0x2bdcd: 0x6e124420, 0x2bdce: 0x6e124620, 0x2bdcf: 0x6e206820,\n\t0x2bdd0: 0x6cabdc20, 0x2bdd1: 0x6dd0b020, 0x2bdd2: 0x6c5e4020, 0x2bdd3: 0x6d08fc20,\n\t0x2bdd4: 0x6c82fa20, 0x2bdd5: 0x6cabf220, 0x2bdd6: 0x6d370020, 0x2bdd7: 0x6d637020,\n\t0x2bdd8: 0x6d8d7420, 0x2bdd9: 0x6c831020, 0x2bdda: 0x6c831220, 0x2bddb: 0x6cac0420,\n\t0x2bddc: 0x6d638620, 0x2bddd: 0x6d372e20, 0x2bdde: 0x6d8d9620, 0x2bddf: 0x6e126a20,\n\t0x2bde0: 0x6c3f3420, 0x2bde1: 0x6c5e5a20, 0x2bde2: 0x6c5e5c20, 0x2bde3: 0x6c5e5e20,\n\t0x2bde4: 0x6c832820, 0x2bde5: 0x6c832a20, 0x2bde6: 0x6cac1020, 0x2bde7: 0x6cac1220,\n\t0x2bde8: 0x6cac1420, 0x2bde9: 0x6cac1620, 0x2bdea: 0x6cdac020, 0x2bdeb: 0x6cdac220,\n\t0x2bdec: 0x6cdac420, 0x2bded: 0x6cdac620, 0x2bdee: 0x6cdac820, 0x2bdef: 0x6d091e20,\n\t0x2bdf0: 0x6d092020, 0x2bdf1: 0x6d373220, 0x2bdf2: 0x6d373420, 0x2bdf3: 0x6d373620,\n\t0x2bdf4: 0x6d373820, 0x2bdf5: 0x6d373a20, 0x2bdf6: 0x6d373c20, 0x2bdf7: 0x6d373e20,\n\t0x2bdf8: 0x6d374020, 0x2bdf9: 0x6d639c20, 0x2bdfa: 0x6d639e20, 0x2bdfb: 0x6d63a020,\n\t0x2bdfc: 0x6d8d9820, 0x2bdfd: 0x6d8d9a20, 0x2bdfe: 0x6d8d9c20, 0x2bdff: 0x6db18e20,\n\t// Block 0xaf8, offset 0x2be00\n\t0x2be00: 0x6db19020, 0x2be01: 0x6db19220, 0x2be02: 0x6db19420, 0x2be03: 0x6db19620,\n\t0x2be04: 0x6db19820, 0x2be05: 0x6db19a20, 0x2be06: 0x6dd0dc20, 0x2be07: 0x6dd0de20,\n\t0x2be08: 0x6dd0e020, 0x2be09: 0x6e003420, 0x2be0a: 0x6c5e7a20, 0x2be0b: 0x6cac4c20,\n\t0x2be0c: 0x6d8dca20, 0x2be0d: 0x6d8dcc20, 0x2be0e: 0x6dd11820, 0x2be0f: 0x6dd11a20,\n\t0x2be10: 0x6e209c20, 0x2be11: 0x6c149c20, 0x2be12: 0x6c3f4620, 0x2be13: 0x6c3f4820,\n\t0x2be14: 0x6c3f4a20, 0x2be15: 0x6c5e7e20, 0x2be16: 0x6c5e8020, 0x2be17: 0x6c5e8220,\n\t0x2be18: 0x6c5e8420, 0x2be19: 0x6c5e8620, 0x2be1a: 0x6c836020, 0x2be1b: 0x6c836220,\n\t0x2be1c: 0x6c836420, 0x2be1d: 0x6c836620, 0x2be1e: 0x6c836820, 0x2be1f: 0x6c836a20,\n\t0x2be20: 0x6c836c20, 0x2be21: 0x6c836e20, 0x2be22: 0x6c837020, 0x2be23: 0x6c837220,\n\t0x2be24: 0x6c837420, 0x2be25: 0x6c837620, 0x2be26: 0x6cac5c20, 0x2be27: 0x6cac5e20,\n\t0x2be28: 0x6cac6020, 0x2be29: 0x6cac6220, 0x2be2a: 0x6cac6420, 0x2be2b: 0x6cac6620,\n\t0x2be2c: 0x6cac6820, 0x2be2d: 0x6cac6a20, 0x2be2e: 0x6cac6c20, 0x2be2f: 0x6cac6e20,\n\t0x2be30: 0x6cdaf220, 0x2be31: 0x6cdaf420, 0x2be32: 0x6cdaf620, 0x2be33: 0x6cdaf820,\n\t0x2be34: 0x6cdafa20, 0x2be35: 0x6cdafc20, 0x2be36: 0x6cdafe20, 0x2be37: 0x6cdb0020,\n\t0x2be38: 0x6cdb0220, 0x2be39: 0x6cdb0420, 0x2be3a: 0x6cdb0620, 0x2be3b: 0x6cdb0820,\n\t0x2be3c: 0x6cdb0a20, 0x2be3d: 0x6cdb0c20, 0x2be3e: 0x6cdb0e20, 0x2be3f: 0x6cdb1020,\n\t// Block 0xaf9, offset 0x2be40\n\t0x2be40: 0x6cdb1220, 0x2be41: 0x6cdb1420, 0x2be42: 0x6d095a20, 0x2be43: 0x6d095c20,\n\t0x2be44: 0x6d095e20, 0x2be45: 0x6d096020, 0x2be46: 0x6d096220, 0x2be47: 0x6d096420,\n\t0x2be48: 0x6d096620, 0x2be49: 0x6d096820, 0x2be4a: 0x6d096a20, 0x2be4b: 0x6d096c20,\n\t0x2be4c: 0x6d096e20, 0x2be4d: 0x6d097020, 0x2be4e: 0x6d097220, 0x2be4f: 0x6d097420,\n\t0x2be50: 0x6d097620, 0x2be51: 0x6d097820, 0x2be52: 0x6d097a20, 0x2be53: 0x6d097c20,\n\t0x2be54: 0x6d097e20, 0x2be55: 0x6d378020, 0x2be56: 0x6d098020, 0x2be57: 0x6d378220,\n\t0x2be58: 0x6d378420, 0x2be59: 0x6d378620, 0x2be5a: 0x6d378820, 0x2be5b: 0x6d378a20,\n\t0x2be5c: 0x6d378c20, 0x2be5d: 0x6d378e20, 0x2be5e: 0x6d379020, 0x2be5f: 0x6d379220,\n\t0x2be60: 0x6d379420, 0x2be61: 0x6d379620, 0x2be62: 0x6d379820, 0x2be63: 0x6d379a20,\n\t0x2be64: 0x6d379c20, 0x2be65: 0x6d379e20, 0x2be66: 0x6d37a020, 0x2be67: 0x6d37a220,\n\t0x2be68: 0x6d37a420, 0x2be69: 0x6d37a620, 0x2be6a: 0x6d37a820, 0x2be6b: 0x6d37aa20,\n\t0x2be6c: 0x6d37ac20, 0x2be6d: 0x6d37ae20, 0x2be6e: 0x6d63f220, 0x2be6f: 0x6d63f420,\n\t0x2be70: 0x6d63f620, 0x2be71: 0x6d63f820, 0x2be72: 0x6d63fa20, 0x2be73: 0x6d63fc20,\n\t0x2be74: 0x6d63fe20, 0x2be75: 0x6d640020, 0x2be76: 0x6d640220, 0x2be77: 0x6d640420,\n\t0x2be78: 0x6d640620, 0x2be79: 0x6d640820, 0x2be7a: 0x6d640a20, 0x2be7b: 0x6d640c20,\n\t0x2be7c: 0x6d8dda20, 0x2be7d: 0x6d8ddc20, 0x2be7e: 0x6d8dde20, 0x2be7f: 0x6d8de020,\n\t// Block 0xafa, offset 0x2be80\n\t0x2be80: 0x6d8de220, 0x2be81: 0x6d8de420, 0x2be82: 0x6d8de620, 0x2be83: 0x6d8de820,\n\t0x2be84: 0x6d8dea20, 0x2be85: 0x6d8dec20, 0x2be86: 0x6d8dee20, 0x2be87: 0x6d8df020,\n\t0x2be88: 0x6d8df220, 0x2be89: 0x6d8df420, 0x2be8a: 0x6d8df620, 0x2be8b: 0x6d8df820,\n\t0x2be8c: 0x6d8dfa20, 0x2be8d: 0x6d8dfc20, 0x2be8e: 0x6db1c020, 0x2be8f: 0x6db1c220,\n\t0x2be90: 0x6db1c420, 0x2be91: 0x6db1c620, 0x2be92: 0x6db1c820, 0x2be93: 0x6db1ca20,\n\t0x2be94: 0x6db1cc20, 0x2be95: 0x6db1ce20, 0x2be96: 0x6db1d020, 0x2be97: 0x6db1d220,\n\t0x2be98: 0x6db1d420, 0x2be99: 0x6db1d620, 0x2be9a: 0x6db1d820, 0x2be9b: 0x6db1da20,\n\t0x2be9c: 0x6db1dc20, 0x2be9d: 0x6db1de20, 0x2be9e: 0x6db1e020, 0x2be9f: 0x6db1e220,\n\t0x2bea0: 0x6db1e420, 0x2bea1: 0x6db1e620, 0x2bea2: 0x6db1e820, 0x2bea3: 0x6db1ea20,\n\t0x2bea4: 0x6db1ec20, 0x2bea5: 0x6db1ee20, 0x2bea6: 0x6db1f020, 0x2bea7: 0x6db1f220,\n\t0x2bea8: 0x6db1f420, 0x2bea9: 0x6db1f620, 0x2beaa: 0x6db1f820, 0x2beab: 0x6db1fa20,\n\t0x2beac: 0x6db1fc20, 0x2bead: 0x6dd11c20, 0x2beae: 0x6dd11e20, 0x2beaf: 0x6dd12020,\n\t0x2beb0: 0x6dd12220, 0x2beb1: 0x6dd12420, 0x2beb2: 0x6dd12620, 0x2beb3: 0x6dd12820,\n\t0x2beb4: 0x6dd12a20, 0x2beb5: 0x6dd12c20, 0x2beb6: 0x6dd12e20, 0x2beb7: 0x6dd13020,\n\t0x2beb8: 0x6dd13220, 0x2beb9: 0x6dd13420, 0x2beba: 0x6dd13620, 0x2bebb: 0x6dd13820,\n\t0x2bebc: 0x6dd13a20, 0x2bebd: 0x6dd13c20, 0x2bebe: 0x6dd13e20, 0x2bebf: 0x6dd14020,\n\t// Block 0xafb, offset 0x2bec0\n\t0x2bec0: 0x6dd14220, 0x2bec1: 0x6dd14420, 0x2bec2: 0x6dd14620, 0x2bec3: 0x6dd14820,\n\t0x2bec4: 0x6dd14a20, 0x2bec5: 0x6deaa420, 0x2bec6: 0x6deaa620, 0x2bec7: 0x6deaa820,\n\t0x2bec8: 0x6deaaa20, 0x2bec9: 0x6deaac20, 0x2beca: 0x6deaae20, 0x2becb: 0x6deab020,\n\t0x2becc: 0x6deab220, 0x2becd: 0x6deab420, 0x2bece: 0x6deab620, 0x2becf: 0x6deab820,\n\t0x2bed0: 0x6deaba20, 0x2bed1: 0x6deabc20, 0x2bed2: 0x6e005220, 0x2bed3: 0x6e005420,\n\t0x2bed4: 0x6e005620, 0x2bed5: 0x6e005820, 0x2bed6: 0x6e005a20, 0x2bed7: 0x6e005c20,\n\t0x2bed8: 0x6e005e20, 0x2bed9: 0x6e006020, 0x2beda: 0x6e006220, 0x2bedb: 0x6e006420,\n\t0x2bedc: 0x6e006620, 0x2bedd: 0x6e006820, 0x2bede: 0x6e127a20, 0x2bedf: 0x6e127c20,\n\t0x2bee0: 0x6e127e20, 0x2bee1: 0x6e128020, 0x2bee2: 0x6e128220, 0x2bee3: 0x6e128420,\n\t0x2bee4: 0x6e128620, 0x2bee5: 0x6e128820, 0x2bee6: 0x6e209e20, 0x2bee7: 0x6e20a020,\n\t0x2bee8: 0x6e20a220, 0x2bee9: 0x6e20a420, 0x2beea: 0x6e20a620, 0x2beeb: 0x6e20a820,\n\t0x2beec: 0x6e20aa20, 0x2beed: 0x6e20ac20, 0x2beee: 0x6e20ae20, 0x2beef: 0x6e20b020,\n\t0x2bef0: 0x6e20b220, 0x2bef1: 0x6e20b420, 0x2bef2: 0x6e20b620, 0x2bef3: 0x6e2b7420,\n\t0x2bef4: 0x6e2b7620, 0x2bef5: 0x6e2b7820, 0x2bef6: 0x6e2b7a20, 0x2bef7: 0x6e2b7c20,\n\t0x2bef8: 0x6e33e620, 0x2bef9: 0x6e33e820, 0x2befa: 0x6e33ea20, 0x2befb: 0x6e39c420,\n\t0x2befc: 0x6e39c620, 0x2befd: 0x6e39c820, 0x2befe: 0x6e3df220, 0x2beff: 0x6e40c820,\n\t// Block 0xafc, offset 0x2bf00\n\t0x2bf00: 0x6e40ca20, 0x2bf01: 0x6e42ee20, 0x2bf02: 0x6e446020, 0x2bf03: 0x6e446220,\n\t0x2bf04: 0x6e446420, 0x2bf05: 0x6e454820, 0x2bf06: 0x6e454a20, 0x2bf07: 0x6e46ce20,\n\t0x2bf08: 0x6c400e20, 0x2bf09: 0x6c5f9420, 0x2bf0a: 0x6c84c620, 0x2bf0b: 0x6c84c820,\n\t0x2bf0c: 0x6c84ca20, 0x2bf0d: 0x6c84cc20, 0x2bf0e: 0x6cae2220, 0x2bf0f: 0x6cae2420,\n\t0x2bf10: 0x6cdd4820, 0x2bf11: 0x6cdd4a20, 0x2bf12: 0x6d0bc220, 0x2bf13: 0x6d0bc420,\n\t0x2bf14: 0x6d0bc620, 0x2bf15: 0x6d0bc820, 0x2bf16: 0x6d0bca20, 0x2bf17: 0x6d65f420,\n\t0x2bf18: 0x6d8fc820, 0x2bf19: 0x6db39820, 0x2bf1a: 0x6dd29620, 0x2bf1b: 0x6dd29820,\n\t0x2bf1c: 0x6debd220, 0x2bf1d: 0x6c268820, 0x2bf1e: 0x6c5fa220, 0x2bf1f: 0x6c5fa420,\n\t0x2bf20: 0x6c5fa620, 0x2bf21: 0x6c84de20, 0x2bf22: 0x6c84e020, 0x2bf23: 0x6c84e220,\n\t0x2bf24: 0x6cae4e20, 0x2bf25: 0x6cae5020, 0x2bf26: 0x6cae5220, 0x2bf27: 0x6cae5420,\n\t0x2bf28: 0x6cae5620, 0x2bf29: 0x6cae5820, 0x2bf2a: 0x6cae5a20, 0x2bf2b: 0x6cae5c20,\n\t0x2bf2c: 0x6cae5e20, 0x2bf2d: 0x6cdd6620, 0x2bf2e: 0x6cdd6820, 0x2bf2f: 0x6cdd6a20,\n\t0x2bf30: 0x6cdd6c20, 0x2bf31: 0x6cdd6e20, 0x2bf32: 0x6cdd7020, 0x2bf33: 0x6cdd7220,\n\t0x2bf34: 0x6cdd7420, 0x2bf35: 0x6cdd7620, 0x2bf36: 0x6d0bde20, 0x2bf37: 0x6d0be020,\n\t0x2bf38: 0x6d0be220, 0x2bf39: 0x6d0be420, 0x2bf3a: 0x6d0be620, 0x2bf3b: 0x6d0be820,\n\t0x2bf3c: 0x6d0bea20, 0x2bf3d: 0x6d0bec20, 0x2bf3e: 0x6d0bee20, 0x2bf3f: 0x6d39e220,\n\t// Block 0xafd, offset 0x2bf40\n\t0x2bf40: 0x6d39e420, 0x2bf41: 0x6d39e620, 0x2bf42: 0x6d39e820, 0x2bf43: 0x6d39ea20,\n\t0x2bf44: 0x6d39ec20, 0x2bf45: 0x6d39ee20, 0x2bf46: 0x6d39f020, 0x2bf47: 0x6d39f220,\n\t0x2bf48: 0x6d39f420, 0x2bf49: 0x6d39f620, 0x2bf4a: 0x6d39f820, 0x2bf4b: 0x6d661220,\n\t0x2bf4c: 0x6d661420, 0x2bf4d: 0x6d661620, 0x2bf4e: 0x6d661820, 0x2bf4f: 0x6d661a20,\n\t0x2bf50: 0x6d661c20, 0x2bf51: 0x6d661e20, 0x2bf52: 0x6d662020, 0x2bf53: 0x6d662220,\n\t0x2bf54: 0x6d662420, 0x2bf55: 0x6d39fa20, 0x2bf56: 0x6d662620, 0x2bf57: 0x6d8ffa20,\n\t0x2bf58: 0x6d8ffc20, 0x2bf59: 0x6d8ffe20, 0x2bf5a: 0x6d900020, 0x2bf5b: 0x6d900220,\n\t0x2bf5c: 0x6d900420, 0x2bf5d: 0x6d900620, 0x2bf5e: 0x6d900820, 0x2bf5f: 0x6db3b420,\n\t0x2bf60: 0x6db3b620, 0x2bf61: 0x6db3b820, 0x2bf62: 0x6db3ba20, 0x2bf63: 0x6db3bc20,\n\t0x2bf64: 0x6db3be20, 0x2bf65: 0x6db3c020, 0x2bf66: 0x6db3c220, 0x2bf67: 0x6db3c420,\n\t0x2bf68: 0x6db3c620, 0x2bf69: 0x6db3c820, 0x2bf6a: 0x6db3ca20, 0x2bf6b: 0x6db3cc20,\n\t0x2bf6c: 0x6db3ce20, 0x2bf6d: 0x6db3d020, 0x2bf6e: 0x6db3d220, 0x2bf6f: 0x6dd2b020,\n\t0x2bf70: 0x6dd2b220, 0x2bf71: 0x6dd2b420, 0x2bf72: 0x6dd2b620, 0x2bf73: 0x6dd2b820,\n\t0x2bf74: 0x6debe620, 0x2bf75: 0x6debe820, 0x2bf76: 0x6debea20, 0x2bf77: 0x6debec20,\n\t0x2bf78: 0x6debee20, 0x2bf79: 0x6debf020, 0x2bf7a: 0x6debf220, 0x2bf7b: 0x6debf420,\n\t0x2bf7c: 0x6e016420, 0x2bf7d: 0x6e016620, 0x2bf7e: 0x6e016820, 0x2bf7f: 0x6e016a20,\n\t// Block 0xafe, offset 0x2bf80\n\t0x2bf80: 0x6e016c20, 0x2bf81: 0x6e016e20, 0x2bf82: 0x6e135020, 0x2bf83: 0x6e135220,\n\t0x2bf84: 0x6e135420, 0x2bf85: 0x6e212220, 0x2bf86: 0x6e212420, 0x2bf87: 0x6e212620,\n\t0x2bf88: 0x6e212820, 0x2bf89: 0x6e212a20, 0x2bf8a: 0x6e2bdc20, 0x2bf8b: 0x6e2bde20,\n\t0x2bf8c: 0x6e2be020, 0x2bf8d: 0x6e39ea20, 0x2bf8e: 0x6e42fc20, 0x2bf8f: 0x6c5ff620,\n\t0x2bf90: 0x6c858220, 0x2bf91: 0x6caf1a20, 0x2bf92: 0x6d0cbc20, 0x2bf93: 0x6d3b1020,\n\t0x2bf94: 0x6d673a20, 0x2bf95: 0x6c859420, 0x2bf96: 0x6cde5020, 0x2bf97: 0x6d912020,\n\t0x2bf98: 0x6d912220, 0x2bf99: 0x6e01e020, 0x2bf9a: 0x6c404420, 0x2bf9b: 0x6c404620,\n\t0x2bf9c: 0x6c600c20, 0x2bf9d: 0x6c600e20, 0x2bf9e: 0x6c601020, 0x2bf9f: 0x6c85a020,\n\t0x2bfa0: 0x6c85a220, 0x2bfa1: 0x6c85a420, 0x2bfa2: 0x6caf3420, 0x2bfa3: 0x6caf3620,\n\t0x2bfa4: 0x6caf3820, 0x2bfa5: 0x6caf3a20, 0x2bfa6: 0x6caf3c20, 0x2bfa7: 0x6caf3e20,\n\t0x2bfa8: 0x6cde6a20, 0x2bfa9: 0x6cde6c20, 0x2bfaa: 0x6cde6e20, 0x2bfab: 0x6cde7020,\n\t0x2bfac: 0x6cde7220, 0x2bfad: 0x6cde7420, 0x2bfae: 0x6cde7620, 0x2bfaf: 0x6d0cd820,\n\t0x2bfb0: 0x6d0cda20, 0x2bfb1: 0x6d0cdc20, 0x2bfb2: 0x6d0cde20, 0x2bfb3: 0x6d3b2820,\n\t0x2bfb4: 0x6d3b2a20, 0x2bfb5: 0x6d3b2c20, 0x2bfb6: 0x6d3b2e20, 0x2bfb7: 0x6d3b3020,\n\t0x2bfb8: 0x6d3b3220, 0x2bfb9: 0x6d3b3420, 0x2bfba: 0x6d3b3620, 0x2bfbb: 0x6d3b3820,\n\t0x2bfbc: 0x6d3b3a20, 0x2bfbd: 0x6d3b3c20, 0x2bfbe: 0x6d3b3e20, 0x2bfbf: 0x6d3b4020,\n\t// Block 0xaff, offset 0x2bfc0\n\t0x2bfc0: 0x6d3b4220, 0x2bfc1: 0x6d3b4420, 0x2bfc2: 0x6d3b4620, 0x2bfc3: 0x6d675820,\n\t0x2bfc4: 0x6d675a20, 0x2bfc5: 0x6d675c20, 0x2bfc6: 0x6d675e20, 0x2bfc7: 0x6d676020,\n\t0x2bfc8: 0x6d676220, 0x2bfc9: 0x6d676420, 0x2bfca: 0x6d676620, 0x2bfcb: 0x6d676820,\n\t0x2bfcc: 0x6d676a20, 0x2bfcd: 0x6d676c20, 0x2bfce: 0x6d913020, 0x2bfcf: 0x6d913220,\n\t0x2bfd0: 0x6d913420, 0x2bfd1: 0x6d913620, 0x2bfd2: 0x6d913820, 0x2bfd3: 0x6d913a20,\n\t0x2bfd4: 0x6db4da20, 0x2bfd5: 0x6db4dc20, 0x2bfd6: 0x6db4de20, 0x2bfd7: 0x6db4e020,\n\t0x2bfd8: 0x6db4e220, 0x2bfd9: 0x6db4e420, 0x2bfda: 0x6db4e620, 0x2bfdb: 0x6db4e820,\n\t0x2bfdc: 0x6db4ea20, 0x2bfdd: 0x6db4ec20, 0x2bfde: 0x6dd3aa20, 0x2bfdf: 0x6dd3ac20,\n\t0x2bfe0: 0x6dd3ae20, 0x2bfe1: 0x6dd3b020, 0x2bfe2: 0x6dd3b220, 0x2bfe3: 0x6dd3b420,\n\t0x2bfe4: 0x6decac20, 0x2bfe5: 0x6decae20, 0x2bfe6: 0x6e01e420, 0x2bfe7: 0x6e01e620,\n\t0x2bfe8: 0x6e01e820, 0x2bfe9: 0x6e01ea20, 0x2bfea: 0x6e13d020, 0x2bfeb: 0x6e218c20,\n\t0x2bfec: 0x6e2c2220, 0x2bfed: 0x6e2c2420, 0x2bfee: 0x6e346020, 0x2bfef: 0x6e346220,\n\t0x2bff0: 0x6e3a0a20, 0x2bff1: 0x6e40fe20, 0x2bff2: 0x6c606420, 0x2bff3: 0x6c862220,\n\t0x2bff4: 0x6cafe220, 0x2bff5: 0x6cdefa20, 0x2bff6: 0x6cdefc20, 0x2bff7: 0x6c862a20,\n\t0x2bff8: 0x6c862c20, 0x2bff9: 0x6cafee20, 0x2bffa: 0x6caff020, 0x2bffb: 0x6caff220,\n\t0x2bffc: 0x6cdf0a20, 0x2bffd: 0x6cdf0c20, 0x2bffe: 0x6cdf0e20, 0x2bfff: 0x6cdf1020,\n\t// Block 0xb00, offset 0x2c000\n\t0x2c000: 0x6d0d7c20, 0x2c001: 0x6d0d7e20, 0x2c002: 0x6d3bec20, 0x2c003: 0x6d3bee20,\n\t0x2c004: 0x6d67f820, 0x2c005: 0x6d67fa20, 0x2c006: 0x6d91c220, 0x2c007: 0x6d91c420,\n\t0x2c008: 0x6d91c620, 0x2c009: 0x6d91c820, 0x2c00a: 0x6db58020, 0x2c00b: 0x6db58220,\n\t0x2c00c: 0x6db58420, 0x2c00d: 0x6dd41420, 0x2c00e: 0x6dd41620, 0x2c00f: 0x6ded0420,\n\t0x2c010: 0x6ded0620, 0x2c011: 0x6ded0820, 0x2c012: 0x6ded0a20, 0x2c013: 0x6ded0c20,\n\t0x2c014: 0x6e13fc20, 0x2c015: 0x6e3e2e20, 0x2c016: 0x6e45d820, 0x2c017: 0x6cb01e20,\n\t0x2c018: 0x6d0db020, 0x2c019: 0x6d0db220, 0x2c01a: 0x6d0db420, 0x2c01b: 0x6d3c2020,\n\t0x2c01c: 0x6d683a20, 0x2c01d: 0x6d683c20, 0x2c01e: 0x6d683e20, 0x2c01f: 0x6d684020,\n\t0x2c020: 0x6d684220, 0x2c021: 0x6d920220, 0x2c022: 0x6d920420, 0x2c023: 0x6d920620,\n\t0x2c024: 0x6d920820, 0x2c025: 0x6db5a820, 0x2c026: 0x6db5aa20, 0x2c027: 0x6dd43620,\n\t0x2c028: 0x6ded2420, 0x2c029: 0x6ded2620, 0x2c02a: 0x6e022e20, 0x2c02b: 0x6e023020,\n\t0x2c02c: 0x6ded2820, 0x2c02d: 0x6e3a3620, 0x2c02e: 0x6c608620, 0x2c02f: 0x6c608820,\n\t0x2c030: 0x6c608a20, 0x2c031: 0x6c864a20, 0x2c032: 0x6c864c20, 0x2c033: 0x6cb05620,\n\t0x2c034: 0x6cb05820, 0x2c035: 0x6cb05a20, 0x2c036: 0x6cb05c20, 0x2c037: 0x6cb05e20,\n\t0x2c038: 0x6cb06020, 0x2c039: 0x6cb06220, 0x2c03a: 0x6cb06420, 0x2c03b: 0x6cb06620,\n\t0x2c03c: 0x6cb06820, 0x2c03d: 0x6cb06a20, 0x2c03e: 0x6cb06c20, 0x2c03f: 0x6cb06e20,\n\t// Block 0xb01, offset 0x2c040\n\t0x2c040: 0x6cb07020, 0x2c041: 0x6cb07220, 0x2c042: 0x6cb07420, 0x2c043: 0x6cb07620,\n\t0x2c044: 0x6cdf6020, 0x2c045: 0x6cdf6220, 0x2c046: 0x6cdf6420, 0x2c047: 0x6cdf6620,\n\t0x2c048: 0x6cdf6820, 0x2c049: 0x6cdf6a20, 0x2c04a: 0x6cdf6c20, 0x2c04b: 0x6cdf6e20,\n\t0x2c04c: 0x6cdf7020, 0x2c04d: 0x6cdf7220, 0x2c04e: 0x6cdf7420, 0x2c04f: 0x6cdf7620,\n\t0x2c050: 0x6cdf7820, 0x2c051: 0x6cdf7a20, 0x2c052: 0x6cdf7c20, 0x2c053: 0x6cdf7e20,\n\t0x2c054: 0x6d0de020, 0x2c055: 0x6d0de220, 0x2c056: 0x6d0de420, 0x2c057: 0x6d0de620,\n\t0x2c058: 0x6d0de820, 0x2c059: 0x6d0dea20, 0x2c05a: 0x6d0dec20, 0x2c05b: 0x6d0dee20,\n\t0x2c05c: 0x6d0df020, 0x2c05d: 0x6d3c4220, 0x2c05e: 0x6d3c4420, 0x2c05f: 0x6d3c4620,\n\t0x2c060: 0x6d3c4820, 0x2c061: 0x6d3c4a20, 0x2c062: 0x6d3c4c20, 0x2c063: 0x6d3c4e20,\n\t0x2c064: 0x6d3c5020, 0x2c065: 0x6d3c5220, 0x2c066: 0x6d3c5420, 0x2c067: 0x6d3c5620,\n\t0x2c068: 0x6d3c5820, 0x2c069: 0x6d687e20, 0x2c06a: 0x6d688020, 0x2c06b: 0x6d688220,\n\t0x2c06c: 0x6d688420, 0x2c06d: 0x6d688620, 0x2c06e: 0x6d688820, 0x2c06f: 0x6d688a20,\n\t0x2c070: 0x6d688c20, 0x2c071: 0x6d688e20, 0x2c072: 0x6d689020, 0x2c073: 0x6d689220,\n\t0x2c074: 0x6d689420, 0x2c075: 0x6d689620, 0x2c076: 0x6d689820, 0x2c077: 0x6d689a20,\n\t0x2c078: 0x6d689c20, 0x2c079: 0x6d923220, 0x2c07a: 0x6d923420, 0x2c07b: 0x6d923620,\n\t0x2c07c: 0x6d923820, 0x2c07d: 0x6d923a20, 0x2c07e: 0x6db5d620, 0x2c07f: 0x6db5d820,\n\t// Block 0xb02, offset 0x2c080\n\t0x2c080: 0x6db5da20, 0x2c081: 0x6db5dc20, 0x2c082: 0x6db5de20, 0x2c083: 0x6dd45220,\n\t0x2c084: 0x6dd45420, 0x2c085: 0x6dd45620, 0x2c086: 0x6dd45820, 0x2c087: 0x6dd45a20,\n\t0x2c088: 0x6dd45c20, 0x2c089: 0x6dd45e20, 0x2c08a: 0x6dd46020, 0x2c08b: 0x6ded4220,\n\t0x2c08c: 0x6ded4420, 0x2c08d: 0x6ded4620, 0x2c08e: 0x6ded4820, 0x2c08f: 0x6ded4a20,\n\t0x2c090: 0x6ded4c20, 0x2c091: 0x6ded4e20, 0x2c092: 0x6e024020, 0x2c093: 0x6e024220,\n\t0x2c094: 0x6e024420, 0x2c095: 0x6e024620, 0x2c096: 0x6e024820, 0x2c097: 0x6e024a20,\n\t0x2c098: 0x6e024c20, 0x2c099: 0x6e141620, 0x2c09a: 0x6e141820, 0x2c09b: 0x6e141a20,\n\t0x2c09c: 0x6e141c20, 0x2c09d: 0x6e141e20, 0x2c09e: 0x6e142020, 0x2c09f: 0x6e21c220,\n\t0x2c0a0: 0x6e21c420, 0x2c0a1: 0x6e21c620, 0x2c0a2: 0x6e2c4420, 0x2c0a3: 0x6cb10a20,\n\t0x2c0a4: 0x6d0eb220, 0x2c0a5: 0x6d697a20, 0x2c0a6: 0x6db69820, 0x2c0a7: 0x6db69a20,\n\t0x2c0a8: 0x6dd4fc20, 0x2c0a9: 0x6e2c7620, 0x2c0aa: 0x6c60be20, 0x2c0ab: 0x6c86c420,\n\t0x2c0ac: 0x6ce04820, 0x2c0ad: 0x6ce04a20, 0x2c0ae: 0x6d3d1620, 0x2c0af: 0x6d698420,\n\t0x2c0b0: 0x6db69e20, 0x2c0b1: 0x6dd4fe20, 0x2c0b2: 0x6e221620, 0x2c0b3: 0x6c40b620,\n\t0x2c0b4: 0x6cb15020, 0x2c0b5: 0x6ce05020, 0x2c0b6: 0x6d0eca20, 0x2c0b7: 0x6d3d1e20,\n\t0x2c0b8: 0x6d3d2020, 0x2c0b9: 0x6d3d2220, 0x2c0ba: 0x6d699620, 0x2c0bb: 0x6d930c20,\n\t0x2c0bc: 0x6d930e20, 0x2c0bd: 0x6d931020, 0x2c0be: 0x6d931220, 0x2c0bf: 0x6d931420,\n\t// Block 0xb03, offset 0x2c0c0\n\t0x2c0c0: 0x6db6ae20, 0x2c0c1: 0x6db6b020, 0x2c0c2: 0x6db6b220, 0x2c0c3: 0x6e147020,\n\t0x2c0c4: 0x6e3a5420, 0x2c0c5: 0x6c86d820, 0x2c0c6: 0x6cb15820, 0x2c0c7: 0x6cb15a20,\n\t0x2c0c8: 0x6ce05c20, 0x2c0c9: 0x6d0ed620, 0x2c0ca: 0x6d69b420, 0x2c0cb: 0x6d69b620,\n\t0x2c0cc: 0x6d69b820, 0x2c0cd: 0x6d932020, 0x2c0ce: 0x6d932220, 0x2c0cf: 0x6dd51420,\n\t0x2c0d0: 0x6dee0620, 0x2c0d1: 0x6dee0820, 0x2c0d2: 0x6e147620, 0x2c0d3: 0x6e222220,\n\t0x2c0d4: 0x6e3a5c20, 0x2c0d5: 0x6e3a5e20, 0x2c0d6: 0x6cb17820, 0x2c0d7: 0x6cb17a20,\n\t0x2c0d8: 0x6cb17c20, 0x2c0d9: 0x6cb17e20, 0x2c0da: 0x6ce07a20, 0x2c0db: 0x6ce07c20,\n\t0x2c0dc: 0x6d3d4e20, 0x2c0dd: 0x6d69dc20, 0x2c0de: 0x6d69de20, 0x2c0df: 0x6d934020,\n\t0x2c0e0: 0x6db6e220, 0x2c0e1: 0x6dd52820, 0x2c0e2: 0x6dd52a20, 0x2c0e3: 0x6dee1820,\n\t0x2c0e4: 0x6dee1a20, 0x2c0e5: 0x6dee1c20, 0x2c0e6: 0x6dee1e20, 0x2c0e7: 0x6cb19420,\n\t0x2c0e8: 0x6cb19620, 0x2c0e9: 0x6ce0ae20, 0x2c0ea: 0x6ce0b020, 0x2c0eb: 0x6ce0b220,\n\t0x2c0ec: 0x6ce0b420, 0x2c0ed: 0x6ce0b620, 0x2c0ee: 0x6ce0b820, 0x2c0ef: 0x6ce0ba20,\n\t0x2c0f0: 0x6d0f2820, 0x2c0f1: 0x6d0f2a20, 0x2c0f2: 0x6d0f2c20, 0x2c0f3: 0x6d3d7620,\n\t0x2c0f4: 0x6d3d7820, 0x2c0f5: 0x6d3d7a20, 0x2c0f6: 0x6d6a0020, 0x2c0f7: 0x6d6a0220,\n\t0x2c0f8: 0x6d6a0420, 0x2c0f9: 0x6d6a0620, 0x2c0fa: 0x6d6a0820, 0x2c0fb: 0x6d6a0a20,\n\t0x2c0fc: 0x6d6a0c20, 0x2c0fd: 0x6d6a0e20, 0x2c0fe: 0x6d6a1020, 0x2c0ff: 0x6d6a1220,\n\t// Block 0xb04, offset 0x2c100\n\t0x2c100: 0x6d936820, 0x2c101: 0x6d936a20, 0x2c102: 0x6d936c20, 0x2c103: 0x6d936e20,\n\t0x2c104: 0x6d937020, 0x2c105: 0x6db70420, 0x2c106: 0x6db70620, 0x2c107: 0x6dd54620,\n\t0x2c108: 0x6dee3620, 0x2c109: 0x6e02e220, 0x2c10a: 0x6e223020, 0x2c10b: 0x6e2c8a20,\n\t0x2c10c: 0x6d0f9020, 0x2c10d: 0x6d6a6e20, 0x2c10e: 0x6d6a7020, 0x2c10f: 0x6d93be20,\n\t0x2c110: 0x6d93c020, 0x2c111: 0x6c872620, 0x2c112: 0x6d0f9820, 0x2c113: 0x6d3dca20,\n\t0x2c114: 0x6d3dcc20, 0x2c115: 0x6e14a620, 0x2c116: 0x6c872820, 0x2c117: 0x6c872a20,\n\t0x2c118: 0x6c872c20, 0x2c119: 0x6cb1f220, 0x2c11a: 0x6cb1f420, 0x2c11b: 0x6cb1f620,\n\t0x2c11c: 0x6cb1f820, 0x2c11d: 0x6ce13e20, 0x2c11e: 0x6ce14020, 0x2c11f: 0x6ce14220,\n\t0x2c120: 0x6ce14420, 0x2c121: 0x6ce14620, 0x2c122: 0x6ce14820, 0x2c123: 0x6ce14a20,\n\t0x2c124: 0x6ce14c20, 0x2c125: 0x6d0fa820, 0x2c126: 0x6d0faa20, 0x2c127: 0x6d0fac20,\n\t0x2c128: 0x6d0fae20, 0x2c129: 0x6d0fb020, 0x2c12a: 0x6d0fb220, 0x2c12b: 0x6d3dd820,\n\t0x2c12c: 0x6d3dda20, 0x2c12d: 0x6d3ddc20, 0x2c12e: 0x6d3dde20, 0x2c12f: 0x6d3de020,\n\t0x2c130: 0x6d3de220, 0x2c131: 0x6d3de420, 0x2c132: 0x6d3de620, 0x2c133: 0x6d6a8420,\n\t0x2c134: 0x6d6a8620, 0x2c135: 0x6d6a8820, 0x2c136: 0x6d6a8a20, 0x2c137: 0x6d6a8c20,\n\t0x2c138: 0x6d6a8e20, 0x2c139: 0x6d93dc20, 0x2c13a: 0x6d93de20, 0x2c13b: 0x6d93e020,\n\t0x2c13c: 0x6d93e220, 0x2c13d: 0x6db74e20, 0x2c13e: 0x6db75020, 0x2c13f: 0x6db75220,\n\t// Block 0xb05, offset 0x2c140\n\t0x2c140: 0x6db75420, 0x2c141: 0x6dd59c20, 0x2c142: 0x6dd59e20, 0x2c143: 0x6dd5a020,\n\t0x2c144: 0x6dd5a220, 0x2c145: 0x6dd5a420, 0x2c146: 0x6dd5a620, 0x2c147: 0x6dee8620,\n\t0x2c148: 0x6e030a20, 0x2c149: 0x6e030c20, 0x2c14a: 0x6e030e20, 0x2c14b: 0x6e031020,\n\t0x2c14c: 0x6e14ae20, 0x2c14d: 0x6e225c20, 0x2c14e: 0x6e225e20, 0x2c14f: 0x6e226020,\n\t0x2c150: 0x6e2cae20, 0x2c151: 0x6e34ba20, 0x2c152: 0x6e3a6e20, 0x2c153: 0x6c611620,\n\t0x2c154: 0x6c611820, 0x2c155: 0x6c875020, 0x2c156: 0x6c875220, 0x2c157: 0x6cb23e20,\n\t0x2c158: 0x6cb24020, 0x2c159: 0x6cb24220, 0x2c15a: 0x6cb24420, 0x2c15b: 0x6cb24620,\n\t0x2c15c: 0x6cb24820, 0x2c15d: 0x6cb24a20, 0x2c15e: 0x6cb24c20, 0x2c15f: 0x6ce19c20,\n\t0x2c160: 0x6ce19e20, 0x2c161: 0x6ce1a020, 0x2c162: 0x6ce1a220, 0x2c163: 0x6ce1a420,\n\t0x2c164: 0x6ce1a620, 0x2c165: 0x6ce1a820, 0x2c166: 0x6ce1aa20, 0x2c167: 0x6ce1ac20,\n\t0x2c168: 0x6ce1ae20, 0x2c169: 0x6ce1b020, 0x2c16a: 0x6ce1b220, 0x2c16b: 0x6ce1b420,\n\t0x2c16c: 0x6ce1b620, 0x2c16d: 0x6ce1b820, 0x2c16e: 0x6d100a20, 0x2c16f: 0x6d100c20,\n\t0x2c170: 0x6d100e20, 0x2c171: 0x6d101020, 0x2c172: 0x6d101220, 0x2c173: 0x6d101420,\n\t0x2c174: 0x6d3e3a20, 0x2c175: 0x6d3e3c20, 0x2c176: 0x6d3e3e20, 0x2c177: 0x6d3e4020,\n\t0x2c178: 0x6d3e4220, 0x2c179: 0x6d3e4420, 0x2c17a: 0x6d3e4620, 0x2c17b: 0x6d3e4820,\n\t0x2c17c: 0x6d6ada20, 0x2c17d: 0x6d3e4a20, 0x2c17e: 0x6d6adc20, 0x2c17f: 0x6d6ade20,\n\t// Block 0xb06, offset 0x2c180\n\t0x2c180: 0x6d6ae020, 0x2c181: 0x6d6ae220, 0x2c182: 0x6d6ae420, 0x2c183: 0x6d6ae620,\n\t0x2c184: 0x6d6ae820, 0x2c185: 0x6d6aea20, 0x2c186: 0x6d6aec20, 0x2c187: 0x6d6aee20,\n\t0x2c188: 0x6d6af020, 0x2c189: 0x6d6af220, 0x2c18a: 0x6d6af420, 0x2c18b: 0x6d6af620,\n\t0x2c18c: 0x6d6af820, 0x2c18d: 0x6d943220, 0x2c18e: 0x6d943420, 0x2c18f: 0x6d943620,\n\t0x2c190: 0x6d943820, 0x2c191: 0x6d943a20, 0x2c192: 0x6d943c20, 0x2c193: 0x6d943e20,\n\t0x2c194: 0x6d944020, 0x2c195: 0x6d944220, 0x2c196: 0x6d944420, 0x2c197: 0x6db78420,\n\t0x2c198: 0x6db78620, 0x2c199: 0x6db78820, 0x2c19a: 0x6db78a20, 0x2c19b: 0x6db78c20,\n\t0x2c19c: 0x6db78e20, 0x2c19d: 0x6db79020, 0x2c19e: 0x6dd5de20, 0x2c19f: 0x6dd5e020,\n\t0x2c1a0: 0x6dd5e220, 0x2c1a1: 0x6dd5e420, 0x2c1a2: 0x6dd5e620, 0x2c1a3: 0x6deebe20,\n\t0x2c1a4: 0x6deec020, 0x2c1a5: 0x6deec220, 0x2c1a6: 0x6deec420, 0x2c1a7: 0x6deec620,\n\t0x2c1a8: 0x6e032c20, 0x2c1a9: 0x6e032e20, 0x2c1aa: 0x6e14c420, 0x2c1ab: 0x6e14c620,\n\t0x2c1ac: 0x6e227020, 0x2c1ad: 0x6e2cbe20, 0x2c1ae: 0x6e2cc020, 0x2c1af: 0x6e34c020,\n\t0x2c1b0: 0x6e3a7a20, 0x2c1b1: 0x6e432220, 0x2c1b2: 0x6ce23a20, 0x2c1b3: 0x6ce23c20,\n\t0x2c1b4: 0x6ce23e20, 0x2c1b5: 0x6ce24020, 0x2c1b6: 0x6ce24220, 0x2c1b7: 0x6d10b020,\n\t0x2c1b8: 0x6d10b220, 0x2c1b9: 0x6d10b420, 0x2c1ba: 0x6d10b620, 0x2c1bb: 0x6d6b9c20,\n\t0x2c1bc: 0x6d94e220, 0x2c1bd: 0x6db81620, 0x2c1be: 0x6db81820, 0x2c1bf: 0x6def6a20,\n\t// Block 0xb07, offset 0x2c1c0\n\t0x2c1c0: 0x6e039a20, 0x2c1c1: 0x6e2ce820, 0x2c1c2: 0x6c612c20, 0x2c1c3: 0x6c612e20,\n\t0x2c1c4: 0x6c613020, 0x2c1c5: 0x6c878c20, 0x2c1c6: 0x6cb2d220, 0x2c1c7: 0x6cb2d420,\n\t0x2c1c8: 0x6cb2d620, 0x2c1c9: 0x6cb2d820, 0x2c1ca: 0x6cb2da20, 0x2c1cb: 0x6cb2dc20,\n\t0x2c1cc: 0x6cb2de20, 0x2c1cd: 0x6cb2e020, 0x2c1ce: 0x6cb2e220, 0x2c1cf: 0x6ce26420,\n\t0x2c1d0: 0x6ce26620, 0x2c1d1: 0x6ce26820, 0x2c1d2: 0x6ce26a20, 0x2c1d3: 0x6d10e020,\n\t0x2c1d4: 0x6d10e220, 0x2c1d5: 0x6d10e420, 0x2c1d6: 0x6d10e620, 0x2c1d7: 0x6d10e820,\n\t0x2c1d8: 0x6d3f0220, 0x2c1d9: 0x6d3f0420, 0x2c1da: 0x6d3f0620, 0x2c1db: 0x6d3f0820,\n\t0x2c1dc: 0x6d6bc820, 0x2c1dd: 0x6d6bca20, 0x2c1de: 0x6d6bcc20, 0x2c1df: 0x6d6bce20,\n\t0x2c1e0: 0x6d94fe20, 0x2c1e1: 0x6d950020, 0x2c1e2: 0x6d950220, 0x2c1e3: 0x6d950420,\n\t0x2c1e4: 0x6d950620, 0x2c1e5: 0x6db83620, 0x2c1e6: 0x6db83820, 0x2c1e7: 0x6db83a20,\n\t0x2c1e8: 0x6db83c20, 0x2c1e9: 0x6db83e20, 0x2c1ea: 0x6db84020, 0x2c1eb: 0x6dd6c020,\n\t0x2c1ec: 0x6dd6c220, 0x2c1ed: 0x6dd6c420, 0x2c1ee: 0x6dd6c620, 0x2c1ef: 0x6dd6c820,\n\t0x2c1f0: 0x6dd6ca20, 0x2c1f1: 0x6dd6cc20, 0x2c1f2: 0x6def9220, 0x2c1f3: 0x6def9420,\n\t0x2c1f4: 0x6def9620, 0x2c1f5: 0x6def9820, 0x2c1f6: 0x6e03ac20, 0x2c1f7: 0x6e151220,\n\t0x2c1f8: 0x6e151420, 0x2c1f9: 0x6e151620, 0x2c1fa: 0x6e22b420, 0x2c1fb: 0x6e22b620,\n\t0x2c1fc: 0x6e34e020, 0x2c1fd: 0x6e3e5e20, 0x2c1fe: 0x6e412e20, 0x2c1ff: 0x6e45de20,\n\t// Block 0xb08, offset 0x2c200\n\t0x2c200: 0x6c87b820, 0x2c201: 0x6cb33820, 0x2c202: 0x6c614420, 0x2c203: 0x6d6c5420,\n\t0x2c204: 0x6e03ec20, 0x2c205: 0x6d115e20, 0x2c206: 0x6d3f7620, 0x2c207: 0x6d6c6020,\n\t0x2c208: 0x6e03f820, 0x2c209: 0x6e03fa20, 0x2c20a: 0x6c272820, 0x2c20b: 0x6c272a20,\n\t0x2c20c: 0x6c40f820, 0x2c20d: 0x6c40fa20, 0x2c20e: 0x6c40fc20, 0x2c20f: 0x6c40fe20,\n\t0x2c210: 0x6c616620, 0x2c211: 0x6c616820, 0x2c212: 0x6c87d820, 0x2c213: 0x6c87da20,\n\t0x2c214: 0x6c87dc20, 0x2c215: 0x6c87de20, 0x2c216: 0x6c87e020, 0x2c217: 0x6c87e220,\n\t0x2c218: 0x6c87e420, 0x2c219: 0x6cb34820, 0x2c21a: 0x6cb34a20, 0x2c21b: 0x6cb34c20,\n\t0x2c21c: 0x6ce2fa20, 0x2c21d: 0x6ce2fc20, 0x2c21e: 0x6ce2fe20, 0x2c21f: 0x6ce30020,\n\t0x2c220: 0x6ce30220, 0x2c221: 0x6d116820, 0x2c222: 0x6d3f7820, 0x2c223: 0x6d3f7a20,\n\t0x2c224: 0x6d3f7c20, 0x2c225: 0x6d3f7e20, 0x2c226: 0x6d6c6620, 0x2c227: 0x6d6c6820,\n\t0x2c228: 0x6d6c6a20, 0x2c229: 0x6d6c6c20, 0x2c22a: 0x6d959620, 0x2c22b: 0x6d959820,\n\t0x2c22c: 0x6d959a20, 0x2c22d: 0x6d959c20, 0x2c22e: 0x6db8b020, 0x2c22f: 0x6dd71e20,\n\t0x2c230: 0x6dd72020, 0x2c231: 0x6defda20, 0x2c232: 0x6e34f820, 0x2c233: 0x6c0a8c20,\n\t0x2c234: 0x6c153a20, 0x2c235: 0x6c278c20, 0x2c236: 0x6c278e20, 0x2c237: 0x6c279020,\n\t0x2c238: 0x6c417c20, 0x2c239: 0x6c417e20, 0x2c23a: 0x6c418020, 0x2c23b: 0x6c61d220,\n\t0x2c23c: 0x6c61d420, 0x2c23d: 0x6d11fc20, 0x2c23e: 0x6c61d620, 0x2c23f: 0x6c61d820,\n\t// Block 0xb09, offset 0x2c240\n\t0x2c240: 0x6c61da20, 0x2c241: 0x6c61dc20, 0x2c242: 0x6c61de20, 0x2c243: 0x6c886c20,\n\t0x2c244: 0x6c886e20, 0x2c245: 0x6c887020, 0x2c246: 0x6c887220, 0x2c247: 0x6c887420,\n\t0x2c248: 0x6d400420, 0x2c249: 0x6d400620, 0x2c24a: 0x6cb40020, 0x2c24b: 0x6cb40220,\n\t0x2c24c: 0x6cb40420, 0x2c24d: 0x6cb40620, 0x2c24e: 0x6cb40820, 0x2c24f: 0x6cb40a20,\n\t0x2c250: 0x6ce3c020, 0x2c251: 0x6ce3c220, 0x2c252: 0x6ce3c420, 0x2c253: 0x6d120020,\n\t0x2c254: 0x6d120220, 0x2c255: 0x6d120420, 0x2c256: 0x6db90420, 0x2c257: 0x6d120620,\n\t0x2c258: 0x6d400a20, 0x2c259: 0x6d400c20, 0x2c25a: 0x6d400e20, 0x2c25b: 0x6d401020,\n\t0x2c25c: 0x6d401220, 0x2c25d: 0x6d6cfa20, 0x2c25e: 0x6d6cfc20, 0x2c25f: 0x6d6cfe20,\n\t0x2c260: 0x6d6d0020, 0x2c261: 0x6d95fc20, 0x2c262: 0x6db90620, 0x2c263: 0x6e2d1620,\n\t0x2c264: 0x6e2d1820, 0x2c265: 0x6c625620, 0x2c266: 0x6c625820, 0x2c267: 0x6c88ea20,\n\t0x2c268: 0x6c88ec20, 0x2c269: 0x6cb47420, 0x2c26a: 0x6cb47620, 0x2c26b: 0x6cb47820,\n\t0x2c26c: 0x6cb47a20, 0x2c26d: 0x6cb47c20, 0x2c26e: 0x6ce42020, 0x2c26f: 0x6ce42220,\n\t0x2c270: 0x6ce42420, 0x2c271: 0x6d126a20, 0x2c272: 0x6ce42620, 0x2c273: 0x6ce42820,\n\t0x2c274: 0x6d126c20, 0x2c275: 0x6d126e20, 0x2c276: 0x6d127020, 0x2c277: 0x6d127220,\n\t0x2c278: 0x6d127420, 0x2c279: 0x6d127620, 0x2c27a: 0x6d407a20, 0x2c27b: 0x6d407c20,\n\t0x2c27c: 0x6d6d4820, 0x2c27d: 0x6d6d4a20, 0x2c27e: 0x6d6d4c20, 0x2c27f: 0x6d6d4e20,\n\t// Block 0xb0a, offset 0x2c280\n\t0x2c280: 0x6d963020, 0x2c281: 0x6d963220, 0x2c282: 0x6d963420, 0x2c283: 0x6d963620,\n\t0x2c284: 0x6d963820, 0x2c285: 0x6d963a20, 0x2c286: 0x6d963c20, 0x2c287: 0x6d963e20,\n\t0x2c288: 0x6d964020, 0x2c289: 0x6db93420, 0x2c28a: 0x6db93620, 0x2c28b: 0x6db93820,\n\t0x2c28c: 0x6db93a20, 0x2c28d: 0x6dd78020, 0x2c28e: 0x6df00a20, 0x2c28f: 0x6df00c20,\n\t0x2c290: 0x6df00e20, 0x2c291: 0x6df01020, 0x2c292: 0x6df01220, 0x2c293: 0x6e155c20,\n\t0x2c294: 0x6e155e20, 0x2c295: 0x6e22f020, 0x2c296: 0x6e22f220, 0x2c297: 0x6e34fe20,\n\t0x2c298: 0x6e350020, 0x2c299: 0x6e433820, 0x2c29a: 0x6cb4ca20, 0x2c29b: 0x6c890c20,\n\t0x2c29c: 0x6cb4d420, 0x2c29d: 0x6ce47c20, 0x2c29e: 0x6ce47e20, 0x2c29f: 0x6ce48020,\n\t0x2c2a0: 0x6ce48220, 0x2c2a1: 0x6d12c020, 0x2c2a2: 0x6d12c220, 0x2c2a3: 0x6d12c420,\n\t0x2c2a4: 0x6d40d620, 0x2c2a5: 0x6d40d820, 0x2c2a6: 0x6d40da20, 0x2c2a7: 0x6d40dc20,\n\t0x2c2a8: 0x6d40de20, 0x2c2a9: 0x6d40e020, 0x2c2aa: 0x6d40e220, 0x2c2ab: 0x6d6db220,\n\t0x2c2ac: 0x6d6db420, 0x2c2ad: 0x6d6db620, 0x2c2ae: 0x6d6db820, 0x2c2af: 0x6d6dba20,\n\t0x2c2b0: 0x6d6dbc20, 0x2c2b1: 0x6d6dbe20, 0x2c2b2: 0x6d6dc020, 0x2c2b3: 0x6d969a20,\n\t0x2c2b4: 0x6d969c20, 0x2c2b5: 0x6d969e20, 0x2c2b6: 0x6d96a020, 0x2c2b7: 0x6db9a020,\n\t0x2c2b8: 0x6db9a220, 0x2c2b9: 0x6db9a420, 0x2c2ba: 0x6db9a620, 0x2c2bb: 0x6db9a820,\n\t0x2c2bc: 0x6db9aa20, 0x2c2bd: 0x6dd7d820, 0x2c2be: 0x6dd7da20, 0x2c2bf: 0x6dd7dc20,\n\t// Block 0xb0b, offset 0x2c2c0\n\t0x2c2c0: 0x6dd7de20, 0x2c2c1: 0x6dd7e020, 0x2c2c2: 0x6dd7e220, 0x2c2c3: 0x6dd7e420,\n\t0x2c2c4: 0x6dd7e620, 0x2c2c5: 0x6dd7e820, 0x2c2c6: 0x6dd7ea20, 0x2c2c7: 0x6dd7ec20,\n\t0x2c2c8: 0x6df05620, 0x2c2c9: 0x6df05820, 0x2c2ca: 0x6df05a20, 0x2c2cb: 0x6df05c20,\n\t0x2c2cc: 0x6df05e20, 0x2c2cd: 0x6df06020, 0x2c2ce: 0x6df06220, 0x2c2cf: 0x6df06420,\n\t0x2c2d0: 0x6df06620, 0x2c2d1: 0x6df06820, 0x2c2d2: 0x6df06a20, 0x2c2d3: 0x6df06c20,\n\t0x2c2d4: 0x6e046a20, 0x2c2d5: 0x6e046c20, 0x2c2d6: 0x6e046e20, 0x2c2d7: 0x6e047020,\n\t0x2c2d8: 0x6e047220, 0x2c2d9: 0x6e047420, 0x2c2da: 0x6e047620, 0x2c2db: 0x6e047820,\n\t0x2c2dc: 0x6e047a20, 0x2c2dd: 0x6e158020, 0x2c2de: 0x6e158220, 0x2c2df: 0x6e158420,\n\t0x2c2e0: 0x6e158620, 0x2c2e1: 0x6e158820, 0x2c2e2: 0x6e158a20, 0x2c2e3: 0x6e158c20,\n\t0x2c2e4: 0x6e158e20, 0x2c2e5: 0x6e159020, 0x2c2e6: 0x6e159220, 0x2c2e7: 0x6e230620,\n\t0x2c2e8: 0x6e230820, 0x2c2e9: 0x6e230a20, 0x2c2ea: 0x6e230c20, 0x2c2eb: 0x6e230e20,\n\t0x2c2ec: 0x6e231020, 0x2c2ed: 0x6e231220, 0x2c2ee: 0x6e231420, 0x2c2ef: 0x6e2d3a20,\n\t0x2c2f0: 0x6e2d3c20, 0x2c2f1: 0x6e2d3e20, 0x2c2f2: 0x6e2d4020, 0x2c2f3: 0x6e2d4220,\n\t0x2c2f4: 0x6e2d4420, 0x2c2f5: 0x6e351620, 0x2c2f6: 0x6e351820, 0x2c2f7: 0x6e351a20,\n\t0x2c2f8: 0x6e3ab220, 0x2c2f9: 0x6e449220, 0x2c2fa: 0x6ce52420, 0x2c2fb: 0x6ce52620,\n\t0x2c2fc: 0x6ce52820, 0x2c2fd: 0x6d139e20, 0x2c2fe: 0x6d13a020, 0x2c2ff: 0x6d13a220,\n\t// Block 0xb0c, offset 0x2c300\n\t0x2c300: 0x6d41c220, 0x2c301: 0x6d6ed020, 0x2c302: 0x6dd8fa20, 0x2c303: 0x6e058c20,\n\t0x2c304: 0x6e058e20, 0x2c305: 0x6e059020, 0x2c306: 0x6e435820, 0x2c307: 0x6cb58820,\n\t0x2c308: 0x6d13f620, 0x2c309: 0x6d13f820, 0x2c30a: 0x6d41fc20, 0x2c30b: 0x6df16420,\n\t0x2c30c: 0x6cb5a620, 0x2c30d: 0x6cb5a820, 0x2c30e: 0x6ce58c20, 0x2c30f: 0x6ce58e20,\n\t0x2c310: 0x6ce59020, 0x2c311: 0x6ce59220, 0x2c312: 0x6d141820, 0x2c313: 0x6d141a20,\n\t0x2c314: 0x6d141c20, 0x2c315: 0x6d420c20, 0x2c316: 0x6d420e20, 0x2c317: 0x6d421020,\n\t0x2c318: 0x6d421220, 0x2c319: 0x6d421420, 0x2c31a: 0x6d421620, 0x2c31b: 0x6d421820,\n\t0x2c31c: 0x6d6f1c20, 0x2c31d: 0x6d6f1e20, 0x2c31e: 0x6d6f2020, 0x2c31f: 0x6d6f2220,\n\t0x2c320: 0x6d982420, 0x2c321: 0x6d982620, 0x2c322: 0x6d982820, 0x2c323: 0x6d982a20,\n\t0x2c324: 0x6d982c20, 0x2c325: 0x6d982e20, 0x2c326: 0x6d983020, 0x2c327: 0x6d983220,\n\t0x2c328: 0x6d983420, 0x2c329: 0x6dbb2620, 0x2c32a: 0x6dbb2820, 0x2c32b: 0x6dbb2a20,\n\t0x2c32c: 0x6dbb2c20, 0x2c32d: 0x6dbb2e20, 0x2c32e: 0x6dbb3020, 0x2c32f: 0x6dbb3220,\n\t0x2c330: 0x6df17420, 0x2c331: 0x6e05a020, 0x2c332: 0x6e165620, 0x2c333: 0x6e165820,\n\t0x2c334: 0x6e165a20, 0x2c335: 0x6e23a420, 0x2c336: 0x6d426220, 0x2c337: 0x6d6f8220,\n\t0x2c338: 0x6dbb8620, 0x2c339: 0x6c0ab020, 0x2c33a: 0x6c0ab220, 0x2c33b: 0x6c15a220,\n\t0x2c33c: 0x6c281e20, 0x2c33d: 0x6c282020, 0x2c33e: 0x6c89a220, 0x2c33f: 0x6c282220,\n\t// Block 0xb0d, offset 0x2c340\n\t0x2c340: 0x6c282420, 0x2c341: 0x6c421220, 0x2c342: 0x6c421420, 0x2c343: 0x6c421620,\n\t0x2c344: 0x6c62cc20, 0x2c345: 0x6c62ce20, 0x2c346: 0x6c62d020, 0x2c347: 0x6c62d220,\n\t0x2c348: 0x6c62d420, 0x2c349: 0x6c89a420, 0x2c34a: 0x6c89a620, 0x2c34b: 0x6c89a820,\n\t0x2c34c: 0x6c89aa20, 0x2c34d: 0x6c89ac20, 0x2c34e: 0x6c89ae20, 0x2c34f: 0x6c89b020,\n\t0x2c350: 0x6cb5da20, 0x2c351: 0x6cb5dc20, 0x2c352: 0x6cb5de20, 0x2c353: 0x6cb5e020,\n\t0x2c354: 0x6cb5e220, 0x2c355: 0x6cb5e420, 0x2c356: 0x6cb5e620, 0x2c357: 0x6ce5fc20,\n\t0x2c358: 0x6ce5fe20, 0x2c359: 0x6ce60020, 0x2c35a: 0x6d148020, 0x2c35b: 0x6d148220,\n\t0x2c35c: 0x6d148420, 0x2c35d: 0x6d148620, 0x2c35e: 0x6d148820, 0x2c35f: 0x6d148a20,\n\t0x2c360: 0x6d426c20, 0x2c361: 0x6d426e20, 0x2c362: 0x6d427020, 0x2c363: 0x6d427220,\n\t0x2c364: 0x6d6f8820, 0x2c365: 0x6d6f8a20, 0x2c366: 0x6d6f8c20, 0x2c367: 0x6d989220,\n\t0x2c368: 0x6d989420, 0x2c369: 0x6d6f8e20, 0x2c36a: 0x6d989620, 0x2c36b: 0x6dbb8c20,\n\t0x2c36c: 0x6dbb8e20, 0x2c36d: 0x6dbb9020, 0x2c36e: 0x6df1a220, 0x2c36f: 0x6e05da20,\n\t0x2c370: 0x6e169020, 0x2c371: 0x6c8a3020, 0x2c372: 0x6cb66020, 0x2c373: 0x6cb66220,\n\t0x2c374: 0x6ce68a20, 0x2c375: 0x6ce68c20, 0x2c376: 0x6ce68e20, 0x2c377: 0x6d14e020,\n\t0x2c378: 0x6d14e220, 0x2c379: 0x6d14e420, 0x2c37a: 0x6d14e620, 0x2c37b: 0x6d42d020,\n\t0x2c37c: 0x6d6fcc20, 0x2c37d: 0x6d6fce20, 0x2c37e: 0x6d98c820, 0x2c37f: 0x6d98ca20,\n\t// Block 0xb0e, offset 0x2c380\n\t0x2c380: 0x6d8a5620, 0x2c381: 0x6dbbb620, 0x2c382: 0x6dbbb820, 0x2c383: 0x6dd98a20,\n\t0x2c384: 0x6df1ae20, 0x2c385: 0x6e05ee20, 0x2c386: 0x6e05f020, 0x2c387: 0x6e05f220,\n\t0x2c388: 0x6e23be20, 0x2c389: 0x6e3afa20, 0x2c38a: 0x6e464620, 0x2c38b: 0x6cb67c20,\n\t0x2c38c: 0x6ce6be20, 0x2c38d: 0x6ce6c020, 0x2c38e: 0x6d151820, 0x2c38f: 0x6d430c20,\n\t0x2c390: 0x6d430e20, 0x2c391: 0x6d431020, 0x2c392: 0x6d431220, 0x2c393: 0x6d431420,\n\t0x2c394: 0x6d431620, 0x2c395: 0x6d431820, 0x2c396: 0x6d431a20, 0x2c397: 0x6d6ffc20,\n\t0x2c398: 0x6d6ffe20, 0x2c399: 0x6d700020, 0x2c39a: 0x6d990e20, 0x2c39b: 0x6d991020,\n\t0x2c39c: 0x6d991220, 0x2c39d: 0x6d991420, 0x2c39e: 0x6dbbec20, 0x2c39f: 0x6dbbee20,\n\t0x2c3a0: 0x6dbbf020, 0x2c3a1: 0x6dbbf220, 0x2c3a2: 0x6dbbf420, 0x2c3a3: 0x6dbbf620,\n\t0x2c3a4: 0x6dbbf820, 0x2c3a5: 0x6dd9be20, 0x2c3a6: 0x6dd9c020, 0x2c3a7: 0x6dd9c220,\n\t0x2c3a8: 0x6dd9c420, 0x2c3a9: 0x6dd9c620, 0x2c3aa: 0x6dd9c820, 0x2c3ab: 0x6df1d420,\n\t0x2c3ac: 0x6df1d620, 0x2c3ad: 0x6df1d820, 0x2c3ae: 0x6df1da20, 0x2c3af: 0x6df1dc20,\n\t0x2c3b0: 0x6e061a20, 0x2c3b1: 0x6e061c20, 0x2c3b2: 0x6e23d220, 0x2c3b3: 0x6e23d420,\n\t0x2c3b4: 0x6e23d620, 0x2c3b5: 0x6e2de620, 0x2c3b6: 0x6e2de820, 0x2c3b7: 0x6e358e20,\n\t0x2c3b8: 0x6e3b0220, 0x2c3b9: 0x6e416620, 0x2c3ba: 0x6e46f020, 0x2c3bb: 0x6e473e20,\n\t0x2c3bc: 0x6e240c20, 0x2c3bd: 0x6cb69c20, 0x2c3be: 0x6cb69e20, 0x2c3bf: 0x6ce6fe20,\n\t// Block 0xb0f, offset 0x2c3c0\n\t0x2c3c0: 0x6d705020, 0x2c3c1: 0x6e067220, 0x2c3c2: 0x6d156820, 0x2c3c3: 0x6d156a20,\n\t0x2c3c4: 0x6d156c20, 0x2c3c5: 0x6d435c20, 0x2c3c6: 0x6d435e20, 0x2c3c7: 0x6d436020,\n\t0x2c3c8: 0x6d998620, 0x2c3c9: 0x6d998820, 0x2c3ca: 0x6dbc5620, 0x2c3cb: 0x6e067c20,\n\t0x2c3cc: 0x6e16f020, 0x2c3cd: 0x6e16f220, 0x2c3ce: 0x6e240e20, 0x2c3cf: 0x6e35b420,\n\t0x2c3d0: 0x6ce71820, 0x2c3d1: 0x6ce71a20, 0x2c3d2: 0x6ce71c20, 0x2c3d3: 0x6d157c20,\n\t0x2c3d4: 0x6d157e20, 0x2c3d5: 0x6d158020, 0x2c3d6: 0x6d158220, 0x2c3d7: 0x6d158420,\n\t0x2c3d8: 0x6d158620, 0x2c3d9: 0x6d437e20, 0x2c3da: 0x6d438020, 0x2c3db: 0x6d438220,\n\t0x2c3dc: 0x6d438420, 0x2c3dd: 0x6d438620, 0x2c3de: 0x6d438820, 0x2c3df: 0x6d707220,\n\t0x2c3e0: 0x6d99a220, 0x2c3e1: 0x6d99a420, 0x2c3e2: 0x6d99a620, 0x2c3e3: 0x6d99a820,\n\t0x2c3e4: 0x6d99aa20, 0x2c3e5: 0x6d99ac20, 0x2c3e6: 0x6d99ae20, 0x2c3e7: 0x6d99b020,\n\t0x2c3e8: 0x6dbc6620, 0x2c3e9: 0x6dbc6820, 0x2c3ea: 0x6dbc6a20, 0x2c3eb: 0x6dbc6c20,\n\t0x2c3ec: 0x6dbc6e20, 0x2c3ed: 0x6dbc7020, 0x2c3ee: 0x6dbc7220, 0x2c3ef: 0x6dda3020,\n\t0x2c3f0: 0x6dda3220, 0x2c3f1: 0x6dda3420, 0x2c3f2: 0x6dda3620, 0x2c3f3: 0x6dda3820,\n\t0x2c3f4: 0x6dda3a20, 0x2c3f5: 0x6dda3c20, 0x2c3f6: 0x6df24220, 0x2c3f7: 0x6df24420,\n\t0x2c3f8: 0x6df24620, 0x2c3f9: 0x6df24820, 0x2c3fa: 0x6df24a20, 0x2c3fb: 0x6df24c20,\n\t0x2c3fc: 0x6e068a20, 0x2c3fd: 0x6e068c20, 0x2c3fe: 0x6e068e20, 0x2c3ff: 0x6e170a20,\n\t// Block 0xb10, offset 0x2c400\n\t0x2c400: 0x6e170c20, 0x2c401: 0x6e170e20, 0x2c402: 0x6e171020, 0x2c403: 0x6e171220,\n\t0x2c404: 0x6e171420, 0x2c405: 0x6e241420, 0x2c406: 0x6e241620, 0x2c407: 0x6e2e0a20,\n\t0x2c408: 0x6e2e0c20, 0x2c409: 0x6e35ba20, 0x2c40a: 0x6e3b2020, 0x2c40b: 0x6e3b2220,\n\t0x2c40c: 0x6e3edc20, 0x2c40d: 0x6e3ede20, 0x2c40e: 0x6e417620, 0x2c40f: 0x6d15c620,\n\t0x2c410: 0x6d43d820, 0x2c411: 0x6d43da20, 0x2c412: 0x6d43dc20, 0x2c413: 0x6d43de20,\n\t0x2c414: 0x6d99ec20, 0x2c415: 0x6dbcc420, 0x2c416: 0x6ddaa420, 0x2c417: 0x6ddaa620,\n\t0x2c418: 0x6ddaa820, 0x2c419: 0x6df2a420, 0x2c41a: 0x6df2a620, 0x2c41b: 0x6e174020,\n\t0x2c41c: 0x6e244620, 0x2c41d: 0x6e2e2c20, 0x2c41e: 0x6d15de20, 0x2c41f: 0x6d70e020,\n\t0x2c420: 0x6dbce820, 0x2c421: 0x6df2c220, 0x2c422: 0x6df2c420, 0x2c423: 0x6e06ea20,\n\t0x2c424: 0x6e175620, 0x2c425: 0x6e2e3620, 0x2c426: 0x6ce73c20, 0x2c427: 0x6ce73e20,\n\t0x2c428: 0x6ce74020, 0x2c429: 0x6d15e620, 0x2c42a: 0x6d440220, 0x2c42b: 0x6d9a0820,\n\t0x2c42c: 0x6d9a0a20, 0x2c42d: 0x6ddaca20, 0x2c42e: 0x6df2cc20, 0x2c42f: 0x6df2ce20,\n\t0x2c430: 0x6e245c20, 0x2c431: 0x6ce74420, 0x2c432: 0x6ce74620, 0x2c433: 0x6d15f420,\n\t0x2c434: 0x6d15f620, 0x2c435: 0x6d15f820, 0x2c436: 0x6d441420, 0x2c437: 0x6d441620,\n\t0x2c438: 0x6d441820, 0x2c439: 0x6d441a20, 0x2c43a: 0x6d441c20, 0x2c43b: 0x6d441e20,\n\t0x2c43c: 0x6d442020, 0x2c43d: 0x6d442220, 0x2c43e: 0x6d442420, 0x2c43f: 0x6d70f820,\n\t// Block 0xb11, offset 0x2c440\n\t0x2c440: 0x6d70fa20, 0x2c441: 0x6d70fc20, 0x2c442: 0x6d70fe20, 0x2c443: 0x6d9a1a20,\n\t0x2c444: 0x6d9a1c20, 0x2c445: 0x6d9a1e20, 0x2c446: 0x6d9a2020, 0x2c447: 0x6d9a2220,\n\t0x2c448: 0x6d9a2420, 0x2c449: 0x6d9a2620, 0x2c44a: 0x6d9a2820, 0x2c44b: 0x6dbcfa20,\n\t0x2c44c: 0x6dbcfc20, 0x2c44d: 0x6dbcfe20, 0x2c44e: 0x6dbd0020, 0x2c44f: 0x6dbd0220,\n\t0x2c450: 0x6dbd0420, 0x2c451: 0x6dbd0620, 0x2c452: 0x6dbd0820, 0x2c453: 0x6dbd0a20,\n\t0x2c454: 0x6ddadc20, 0x2c455: 0x6ddade20, 0x2c456: 0x6ddae020, 0x2c457: 0x6ddae220,\n\t0x2c458: 0x6ddae420, 0x2c459: 0x6ddae620, 0x2c45a: 0x6ddae820, 0x2c45b: 0x6ddaea20,\n\t0x2c45c: 0x6ddaec20, 0x2c45d: 0x6ddaee20, 0x2c45e: 0x6df2dc20, 0x2c45f: 0x6df2de20,\n\t0x2c460: 0x6df2e020, 0x2c461: 0x6df2e220, 0x2c462: 0x6df2e420, 0x2c463: 0x6df2e620,\n\t0x2c464: 0x6df2e820, 0x2c465: 0x6df2ea20, 0x2c466: 0x6df2ec20, 0x2c467: 0x6df2ee20,\n\t0x2c468: 0x6e070620, 0x2c469: 0x6e070820, 0x2c46a: 0x6e070a20, 0x2c46b: 0x6e070c20,\n\t0x2c46c: 0x6e176620, 0x2c46d: 0x6e176820, 0x2c46e: 0x6e176a20, 0x2c46f: 0x6e176c20,\n\t0x2c470: 0x6e176e20, 0x2c471: 0x6e177020, 0x2c472: 0x6e246820, 0x2c473: 0x6e246a20,\n\t0x2c474: 0x6e246c20, 0x2c475: 0x6e35da20, 0x2c476: 0x6e35dc20, 0x2c477: 0x6e3b3620,\n\t0x2c478: 0x6cb6cc20, 0x2c479: 0x6ce77820, 0x2c47a: 0x6d165020, 0x2c47b: 0x6d165220,\n\t0x2c47c: 0x6d165420, 0x2c47d: 0x6d165620, 0x2c47e: 0x6d447e20, 0x2c47f: 0x6d448020,\n\t// Block 0xb12, offset 0x2c480\n\t0x2c480: 0x6d448220, 0x2c481: 0x6d448420, 0x2c482: 0x6d448620, 0x2c483: 0x6d448820,\n\t0x2c484: 0x6d716c20, 0x2c485: 0x6d716e20, 0x2c486: 0x6d9abc20, 0x2c487: 0x6d9abe20,\n\t0x2c488: 0x6d9ac020, 0x2c489: 0x6d9ac220, 0x2c48a: 0x6d9ac420, 0x2c48b: 0x6dbd6c20,\n\t0x2c48c: 0x6dbd6e20, 0x2c48d: 0x6dbd7020, 0x2c48e: 0x6dbd7220, 0x2c48f: 0x6dbd7420,\n\t0x2c490: 0x6dbd7620, 0x2c491: 0x6ddb4220, 0x2c492: 0x6ddb4420, 0x2c493: 0x6ddb4620,\n\t0x2c494: 0x6ddb4820, 0x2c495: 0x6ddb4a20, 0x2c496: 0x6ddb4c20, 0x2c497: 0x6ddb4e20,\n\t0x2c498: 0x6df33c20, 0x2c499: 0x6df33e20, 0x2c49a: 0x6df34020, 0x2c49b: 0x6e074a20,\n\t0x2c49c: 0x6e074c20, 0x2c49d: 0x6e17ae20, 0x2c49e: 0x6e2e6e20, 0x2c49f: 0x6e35f220,\n\t0x2c4a0: 0x6dbdbc20, 0x2c4a1: 0x6ddb8620, 0x2c4a2: 0x6cb6d620, 0x2c4a3: 0x6ce79820,\n\t0x2c4a4: 0x6ce79a20, 0x2c4a5: 0x6ce79c20, 0x2c4a6: 0x6d168a20, 0x2c4a7: 0x6d168c20,\n\t0x2c4a8: 0x6d168e20, 0x2c4a9: 0x6d169020, 0x2c4aa: 0x6d169220, 0x2c4ab: 0x6d44c220,\n\t0x2c4ac: 0x6d44c420, 0x2c4ad: 0x6d44c620, 0x2c4ae: 0x6d44c820, 0x2c4af: 0x6d44ca20,\n\t0x2c4b0: 0x6d44cc20, 0x2c4b1: 0x6d44ce20, 0x2c4b2: 0x6d44d020, 0x2c4b3: 0x6d44d220,\n\t0x2c4b4: 0x6d44d420, 0x2c4b5: 0x6d719820, 0x2c4b6: 0x6d719a20, 0x2c4b7: 0x6d719c20,\n\t0x2c4b8: 0x6d719e20, 0x2c4b9: 0x6d71a020, 0x2c4ba: 0x6d71a220, 0x2c4bb: 0x6d71a420,\n\t0x2c4bc: 0x6d9afa20, 0x2c4bd: 0x6d9afc20, 0x2c4be: 0x6d9afe20, 0x2c4bf: 0x6d9b0020,\n\t// Block 0xb13, offset 0x2c4c0\n\t0x2c4c0: 0x6d9b0220, 0x2c4c1: 0x6d9b0420, 0x2c4c2: 0x6d9b0620, 0x2c4c3: 0x6dbdc020,\n\t0x2c4c4: 0x6dbdc220, 0x2c4c5: 0x6dbdc420, 0x2c4c6: 0x6dbdc620, 0x2c4c7: 0x6dbdc820,\n\t0x2c4c8: 0x6ddb8a20, 0x2c4c9: 0x6ddb8c20, 0x2c4ca: 0x6ddb8e20, 0x2c4cb: 0x6ddb9020,\n\t0x2c4cc: 0x6ddb9220, 0x2c4cd: 0x6ddb9420, 0x2c4ce: 0x6ddb9620, 0x2c4cf: 0x6ddb9820,\n\t0x2c4d0: 0x6df37e20, 0x2c4d1: 0x6df38020, 0x2c4d2: 0x6df38220, 0x2c4d3: 0x6df38420,\n\t0x2c4d4: 0x6df38620, 0x2c4d5: 0x6e076e20, 0x2c4d6: 0x6e077020, 0x2c4d7: 0x6e077220,\n\t0x2c4d8: 0x6e17e220, 0x2c4d9: 0x6e17e420, 0x2c4da: 0x6e17e620, 0x2c4db: 0x6e17e820,\n\t0x2c4dc: 0x6e17ea20, 0x2c4dd: 0x6e24a620, 0x2c4de: 0x6e24a820, 0x2c4df: 0x6e24aa20,\n\t0x2c4e0: 0x6e24ac20, 0x2c4e1: 0x6e2e7a20, 0x2c4e2: 0x6e2e7c20, 0x2c4e3: 0x6e2e7e20,\n\t0x2c4e4: 0x6e2e8020, 0x2c4e5: 0x6e360020, 0x2c4e6: 0x6e3f0420, 0x2c4e7: 0x6e3f0620,\n\t0x2c4e8: 0x6e419620, 0x2c4e9: 0x6e437420, 0x2c4ea: 0x6e182020, 0x2c4eb: 0x6d720820,\n\t0x2c4ec: 0x6d720a20, 0x2c4ed: 0x6ddbfa20, 0x2c4ee: 0x6df3e420, 0x2c4ef: 0x6d453420,\n\t0x2c4f0: 0x6dbe5020, 0x2c4f1: 0x6dbe5220, 0x2c4f2: 0x6dbe5420, 0x2c4f3: 0x6e419e20,\n\t0x2c4f4: 0x6ce7f020, 0x2c4f5: 0x6d171020, 0x2c4f6: 0x6d171220, 0x2c4f7: 0x6d454820,\n\t0x2c4f8: 0x6d454a20, 0x2c4f9: 0x6d454c20, 0x2c4fa: 0x6d454e20, 0x2c4fb: 0x6d455020,\n\t0x2c4fc: 0x6d455220, 0x2c4fd: 0x6d455420, 0x2c4fe: 0x6d455620, 0x2c4ff: 0x6d722420,\n\t// Block 0xb14, offset 0x2c500\n\t0x2c500: 0x6d722620, 0x2c501: 0x6d722820, 0x2c502: 0x6d722a20, 0x2c503: 0x6d722c20,\n\t0x2c504: 0x6d722e20, 0x2c505: 0x6d723020, 0x2c506: 0x6d9baa20, 0x2c507: 0x6d9bac20,\n\t0x2c508: 0x6d9bae20, 0x2c509: 0x6d9bb020, 0x2c50a: 0x6d9bb220, 0x2c50b: 0x6d9bb420,\n\t0x2c50c: 0x6d9bb620, 0x2c50d: 0x6d9bb820, 0x2c50e: 0x6dbe6620, 0x2c50f: 0x6dbe6820,\n\t0x2c510: 0x6dbe6a20, 0x2c511: 0x6dbe6c20, 0x2c512: 0x6dbe6e20, 0x2c513: 0x6ddc1620,\n\t0x2c514: 0x6ddc1820, 0x2c515: 0x6ddc1a20, 0x2c516: 0x6ddc1c20, 0x2c517: 0x6ddc1e20,\n\t0x2c518: 0x6ddc2020, 0x2c519: 0x6ddc2220, 0x2c51a: 0x6ddc2420, 0x2c51b: 0x6ddc2620,\n\t0x2c51c: 0x6df3fc20, 0x2c51d: 0x6df3fe20, 0x2c51e: 0x6df40020, 0x2c51f: 0x6df40220,\n\t0x2c520: 0x6df40420, 0x2c521: 0x6df40620, 0x2c522: 0x6df40820, 0x2c523: 0x6e07d820,\n\t0x2c524: 0x6e07da20, 0x2c525: 0x6e07dc20, 0x2c526: 0x6e07de20, 0x2c527: 0x6e07e020,\n\t0x2c528: 0x6e07e220, 0x2c529: 0x6e07e420, 0x2c52a: 0x6e183220, 0x2c52b: 0x6e183420,\n\t0x2c52c: 0x6e183620, 0x2c52d: 0x6e183820, 0x2c52e: 0x6e183a20, 0x2c52f: 0x6e183c20,\n\t0x2c530: 0x6e183e20, 0x2c531: 0x6e184020, 0x2c532: 0x6e24e420, 0x2c533: 0x6e24e620,\n\t0x2c534: 0x6e24e820, 0x2c535: 0x6e24ea20, 0x2c536: 0x6e24ec20, 0x2c537: 0x6e2e9e20,\n\t0x2c538: 0x6e2ea020, 0x2c539: 0x6e2ea220, 0x2c53a: 0x6e361c20, 0x2c53b: 0x6e361e20,\n\t0x2c53c: 0x6e362020, 0x2c53d: 0x6e3b5620, 0x2c53e: 0x6e3f1220, 0x2c53f: 0x6e41a220,\n\t// Block 0xb15, offset 0x2c540\n\t0x2c540: 0x6e437820, 0x2c541: 0x6e44c020, 0x2c542: 0x6e46b820, 0x2c543: 0x6d9c3020,\n\t0x2c544: 0x6dbec220, 0x2c545: 0x6e086c20, 0x2c546: 0x6cb72e20, 0x2c547: 0x6ce82a20,\n\t0x2c548: 0x6d45b820, 0x2c549: 0x6d45ba20, 0x2c54a: 0x6d72b220, 0x2c54b: 0x6d72b420,\n\t0x2c54c: 0x6d72b620, 0x2c54d: 0x6d72b820, 0x2c54e: 0x6d72ba20, 0x2c54f: 0x6d9c3620,\n\t0x2c550: 0x6d9c3820, 0x2c551: 0x6d9c3a20, 0x2c552: 0x6d9c3c20, 0x2c553: 0x6d9c3e20,\n\t0x2c554: 0x6d9c4020, 0x2c555: 0x6dbec620, 0x2c556: 0x6dbec820, 0x2c557: 0x6dbeca20,\n\t0x2c558: 0x6dbecc20, 0x2c559: 0x6dbece20, 0x2c55a: 0x6dbed020, 0x2c55b: 0x6ddca820,\n\t0x2c55c: 0x6ddcaa20, 0x2c55d: 0x6df48420, 0x2c55e: 0x6df48620, 0x2c55f: 0x6df48820,\n\t0x2c560: 0x6df48a20, 0x2c561: 0x6e087420, 0x2c562: 0x6e189220, 0x2c563: 0x6e254420,\n\t0x2c564: 0x6e2ee420, 0x2c565: 0x6e364220, 0x2c566: 0x6e3b7220, 0x2c567: 0x6ce83e20,\n\t0x2c568: 0x6d177220, 0x2c569: 0x6d45e420, 0x2c56a: 0x6df4a420, 0x2c56b: 0x6e256220,\n\t0x2c56c: 0x6e3b7e20, 0x2c56d: 0x6ce84220, 0x2c56e: 0x6ce84420, 0x2c56f: 0x6d45fa20,\n\t0x2c570: 0x6d45fc20, 0x2c571: 0x6d45fe20, 0x2c572: 0x6d460020, 0x2c573: 0x6d460220,\n\t0x2c574: 0x6d460420, 0x2c575: 0x6d72ee20, 0x2c576: 0x6d72f020, 0x2c577: 0x6d9c7c20,\n\t0x2c578: 0x6d9c7e20, 0x2c579: 0x6dbf0c20, 0x2c57a: 0x6dbf0e20, 0x2c57b: 0x6dbf1020,\n\t0x2c57c: 0x6dbf1220, 0x2c57d: 0x6ddce420, 0x2c57e: 0x6ddce620, 0x2c57f: 0x6ddce820,\n\t// Block 0xb16, offset 0x2c580\n\t0x2c580: 0x6ddcea20, 0x2c581: 0x6ddcec20, 0x2c582: 0x6ddcee20, 0x2c583: 0x6ddcf020,\n\t0x2c584: 0x6df4aa20, 0x2c585: 0x6df4ac20, 0x2c586: 0x6df4ae20, 0x2c587: 0x6df4b020,\n\t0x2c588: 0x6e08aa20, 0x2c589: 0x6e08ac20, 0x2c58a: 0x6e08ae20, 0x2c58b: 0x6e08b020,\n\t0x2c58c: 0x6e18b020, 0x2c58d: 0x6e18b220, 0x2c58e: 0x6e256a20, 0x2c58f: 0x6e365420,\n\t0x2c590: 0x6e365620, 0x2c591: 0x6e365820, 0x2c592: 0x6e365a20, 0x2c593: 0x6e3b8220,\n\t0x2c594: 0x6e3b8420, 0x2c595: 0x6e3f3020, 0x2c596: 0x6e44c820, 0x2c597: 0x6e08ec20,\n\t0x2c598: 0x6e18e820, 0x2c599: 0x6d464420, 0x2c59a: 0x6d464620, 0x2c59b: 0x6d734c20,\n\t0x2c59c: 0x6d9cc620, 0x2c59d: 0x6e25ac20, 0x2c59e: 0x6e3b9c20, 0x2c59f: 0x6d464e20,\n\t0x2c5a0: 0x6d735420, 0x2c5a1: 0x6d735620, 0x2c5a2: 0x6d9cda20, 0x2c5a3: 0x6d9cdc20,\n\t0x2c5a4: 0x6ddd4e20, 0x2c5a5: 0x6ddd5020, 0x2c5a6: 0x6ddd5220, 0x2c5a7: 0x6ddd5420,\n\t0x2c5a8: 0x6df50420, 0x2c5a9: 0x6df50620, 0x2c5aa: 0x6e090020, 0x2c5ab: 0x6e25b820,\n\t0x2c5ac: 0x6e25ba20, 0x2c5ad: 0x6e25bc20, 0x2c5ae: 0x6e2f3420, 0x2c5af: 0x6e368620,\n\t0x2c5b0: 0x6e368820, 0x2c5b1: 0x6e46ba20, 0x2c5b2: 0x6ce86c20, 0x2c5b3: 0x6d17c420,\n\t0x2c5b4: 0x6d468c20, 0x2c5b5: 0x6d468e20, 0x2c5b6: 0x6d469020, 0x2c5b7: 0x6d738620,\n\t0x2c5b8: 0x6d738820, 0x2c5b9: 0x6d738a20, 0x2c5ba: 0x6d738c20, 0x2c5bb: 0x6d738e20,\n\t0x2c5bc: 0x6d739020, 0x2c5bd: 0x6d739220, 0x2c5be: 0x6d739420, 0x2c5bf: 0x6d9d0e20,\n\t// Block 0xb17, offset 0x2c5c0\n\t0x2c5c0: 0x6d9d1020, 0x2c5c1: 0x6d9d1220, 0x2c5c2: 0x6d9d1420, 0x2c5c3: 0x6d9d1620,\n\t0x2c5c4: 0x6d9d1820, 0x2c5c5: 0x6d9d1a20, 0x2c5c6: 0x6d9d1c20, 0x2c5c7: 0x6d9d1e20,\n\t0x2c5c8: 0x6d9d2020, 0x2c5c9: 0x6d9d2220, 0x2c5ca: 0x6dbf9220, 0x2c5cb: 0x6dbf9420,\n\t0x2c5cc: 0x6dbf9620, 0x2c5cd: 0x6dbf9820, 0x2c5ce: 0x6dbf9a20, 0x2c5cf: 0x6ddd8420,\n\t0x2c5d0: 0x6ddd8620, 0x2c5d1: 0x6ddd8820, 0x2c5d2: 0x6ddd8a20, 0x2c5d3: 0x6ddd8c20,\n\t0x2c5d4: 0x6ddd8e20, 0x2c5d5: 0x6ddd9020, 0x2c5d6: 0x6ddd9220, 0x2c5d7: 0x6ddd9420,\n\t0x2c5d8: 0x6ddd9620, 0x2c5d9: 0x6df51e20, 0x2c5da: 0x6df52020, 0x2c5db: 0x6df52220,\n\t0x2c5dc: 0x6df52420, 0x2c5dd: 0x6df52620, 0x2c5de: 0x6df52820, 0x2c5df: 0x6df52a20,\n\t0x2c5e0: 0x6df52c20, 0x2c5e1: 0x6df52e20, 0x2c5e2: 0x6df53020, 0x2c5e3: 0x6df53220,\n\t0x2c5e4: 0x6df53420, 0x2c5e5: 0x6df53620, 0x2c5e6: 0x6df53820, 0x2c5e7: 0x6df53a20,\n\t0x2c5e8: 0x6df53c20, 0x2c5e9: 0x6df53e20, 0x2c5ea: 0x6df54020, 0x2c5eb: 0x6e091e20,\n\t0x2c5ec: 0x6e092020, 0x2c5ed: 0x6e092220, 0x2c5ee: 0x6e092420, 0x2c5ef: 0x6e092620,\n\t0x2c5f0: 0x6e092820, 0x2c5f1: 0x6e092a20, 0x2c5f2: 0x6e092c20, 0x2c5f3: 0x6e092e20,\n\t0x2c5f4: 0x6e093020, 0x2c5f5: 0x6e193420, 0x2c5f6: 0x6e193620, 0x2c5f7: 0x6e193820,\n\t0x2c5f8: 0x6e193a20, 0x2c5f9: 0x6e193c20, 0x2c5fa: 0x6e193e20, 0x2c5fb: 0x6e194020,\n\t0x2c5fc: 0x6e194220, 0x2c5fd: 0x6e194420, 0x2c5fe: 0x6e25c820, 0x2c5ff: 0x6e25ca20,\n\t// Block 0xb18, offset 0x2c600\n\t0x2c600: 0x6e25cc20, 0x2c601: 0x6e25ce20, 0x2c602: 0x6e25d020, 0x2c603: 0x6e25d220,\n\t0x2c604: 0x6e25d420, 0x2c605: 0x6e25d620, 0x2c606: 0x6e25d820, 0x2c607: 0x6e25da20,\n\t0x2c608: 0x6e25dc20, 0x2c609: 0x6e2f4820, 0x2c60a: 0x6e2f4a20, 0x2c60b: 0x6e2f4c20,\n\t0x2c60c: 0x6e2f4e20, 0x2c60d: 0x6e2f5020, 0x2c60e: 0x6e2f5220, 0x2c60f: 0x6e2f5420,\n\t0x2c610: 0x6e369a20, 0x2c611: 0x6e369c20, 0x2c612: 0x6e369e20, 0x2c613: 0x6e36a020,\n\t0x2c614: 0x6e36a220, 0x2c615: 0x6e36a420, 0x2c616: 0x6e3ba620, 0x2c617: 0x6e3ba820,\n\t0x2c618: 0x6e3baa20, 0x2c619: 0x6e3f5220, 0x2c61a: 0x6e41d620, 0x2c61b: 0x6e41d820,\n\t0x2c61c: 0x6e473220, 0x2c61d: 0x6d740a20, 0x2c61e: 0x6d9dac20, 0x2c61f: 0x6d9dae20,\n\t0x2c620: 0x6e09e820, 0x2c621: 0x6e09ea20, 0x2c622: 0x6e19f220, 0x2c623: 0x6e19f420,\n\t0x2c624: 0x6e19f620, 0x2c625: 0x6d180620, 0x2c626: 0x6d46e820, 0x2c627: 0x6d46ea20,\n\t0x2c628: 0x6d46ec20, 0x2c629: 0x6d46ee20, 0x2c62a: 0x6d46f020, 0x2c62b: 0x6d46f220,\n\t0x2c62c: 0x6d743620, 0x2c62d: 0x6d743820, 0x2c62e: 0x6d743a20, 0x2c62f: 0x6d743c20,\n\t0x2c630: 0x6d743e20, 0x2c631: 0x6d744020, 0x2c632: 0x6d744220, 0x2c633: 0x6d744420,\n\t0x2c634: 0x6d744620, 0x2c635: 0x6d744820, 0x2c636: 0x6d744a20, 0x2c637: 0x6d744c20,\n\t0x2c638: 0x6d744e20, 0x2c639: 0x6d9de220, 0x2c63a: 0x6d9de420, 0x2c63b: 0x6d9de620,\n\t0x2c63c: 0x6d9de820, 0x2c63d: 0x6d9dea20, 0x2c63e: 0x6d9dec20, 0x2c63f: 0x6d9dee20,\n\t// Block 0xb19, offset 0x2c640\n\t0x2c640: 0x6d9df020, 0x2c641: 0x6d9df220, 0x2c642: 0x6d9df420, 0x2c643: 0x6d9df620,\n\t0x2c644: 0x6d9df820, 0x2c645: 0x6d9dfa20, 0x2c646: 0x6d9dfc20, 0x2c647: 0x6d9dfe20,\n\t0x2c648: 0x6d9e0020, 0x2c649: 0x6d9e0220, 0x2c64a: 0x6d9e0420, 0x2c64b: 0x6dc06c20,\n\t0x2c64c: 0x6dc06e20, 0x2c64d: 0x6dc07020, 0x2c64e: 0x6dc07220, 0x2c64f: 0x6dc07420,\n\t0x2c650: 0x6dc07620, 0x2c651: 0x6dc07820, 0x2c652: 0x6dc07a20, 0x2c653: 0x6dc07c20,\n\t0x2c654: 0x6dc07e20, 0x2c655: 0x6dde3e20, 0x2c656: 0x6dde4020, 0x2c657: 0x6dde4220,\n\t0x2c658: 0x6dde4420, 0x2c659: 0x6dde4620, 0x2c65a: 0x6dde4820, 0x2c65b: 0x6dde4a20,\n\t0x2c65c: 0x6dde4c20, 0x2c65d: 0x6df63a20, 0x2c65e: 0x6df63c20, 0x2c65f: 0x6df63e20,\n\t0x2c660: 0x6df64020, 0x2c661: 0x6df64220, 0x2c662: 0x6df64420, 0x2c663: 0x6df64620,\n\t0x2c664: 0x6df64820, 0x2c665: 0x6df64a20, 0x2c666: 0x6e09f820, 0x2c667: 0x6e09fa20,\n\t0x2c668: 0x6e09fc20, 0x2c669: 0x6e09fe20, 0x2c66a: 0x6e0a0020, 0x2c66b: 0x6e0a0220,\n\t0x2c66c: 0x6e0a0420, 0x2c66d: 0x6e0a0620, 0x2c66e: 0x6e0a0820, 0x2c66f: 0x6e0a0a20,\n\t0x2c670: 0x6e0a0c20, 0x2c671: 0x6e1a0420, 0x2c672: 0x6e1a0620, 0x2c673: 0x6e1a0820,\n\t0x2c674: 0x6e1a0a20, 0x2c675: 0x6e1a0c20, 0x2c676: 0x6e1a0e20, 0x2c677: 0x6e267820,\n\t0x2c678: 0x6e267a20, 0x2c679: 0x6e267c20, 0x2c67a: 0x6e267e20, 0x2c67b: 0x6e268020,\n\t0x2c67c: 0x6e268220, 0x2c67d: 0x6e268420, 0x2c67e: 0x6e2fe020, 0x2c67f: 0x6e2fe220,\n\t// Block 0xb1a, offset 0x2c680\n\t0x2c680: 0x6e2fe420, 0x2c681: 0x6e2fe620, 0x2c682: 0x6e2fe820, 0x2c683: 0x6e2fea20,\n\t0x2c684: 0x6e2fec20, 0x2c685: 0x6e2fee20, 0x2c686: 0x6e2ff020, 0x2c687: 0x6e371820,\n\t0x2c688: 0x6e371a20, 0x2c689: 0x6e371c20, 0x2c68a: 0x6e371e20, 0x2c68b: 0x6e372020,\n\t0x2c68c: 0x6e3be620, 0x2c68d: 0x6e3be820, 0x2c68e: 0x6e3f8620, 0x2c68f: 0x6e41f820,\n\t0x2c690: 0x6e45fe20, 0x2c691: 0x6e46bc20, 0x2c692: 0x6e46d420, 0x2c693: 0x6d74de20,\n\t0x2c694: 0x6dc13420, 0x2c695: 0x6dc13620, 0x2c696: 0x6df72e20, 0x2c697: 0x6e0ad420,\n\t0x2c698: 0x6e1ac220, 0x2c699: 0x6e378a20, 0x2c69a: 0x6d74fe20, 0x2c69b: 0x6ddef020,\n\t0x2c69c: 0x6e1ac420, 0x2c69d: 0x6e30a820, 0x2c69e: 0x6e3c3220, 0x2c69f: 0x6d474a20,\n\t0x2c6a0: 0x6d750c20, 0x2c6a1: 0x6d750e20, 0x2c6a2: 0x6d751020, 0x2c6a3: 0x6d9edc20,\n\t0x2c6a4: 0x6d9ede20, 0x2c6a5: 0x6d9ee020, 0x2c6a6: 0x6ddefa20, 0x2c6a7: 0x6df74620,\n\t0x2c6a8: 0x6e1ad420, 0x2c6a9: 0x6e274220, 0x2c6aa: 0x6e379620, 0x2c6ab: 0x6e379820,\n\t0x2c6ac: 0x6d475020, 0x2c6ad: 0x6d475220, 0x2c6ae: 0x6d475420, 0x2c6af: 0x6d753020,\n\t0x2c6b0: 0x6d753220, 0x2c6b1: 0x6d9efe20, 0x2c6b2: 0x6d9f0020, 0x2c6b3: 0x6d9f0220,\n\t0x2c6b4: 0x6d9f0420, 0x2c6b5: 0x6dc16e20, 0x2c6b6: 0x6ddf2820, 0x2c6b7: 0x6ddf2a20,\n\t0x2c6b8: 0x6ddf2c20, 0x2c6b9: 0x6df76a20, 0x2c6ba: 0x6df76c20, 0x2c6bb: 0x6df76e20,\n\t0x2c6bc: 0x6df77020, 0x2c6bd: 0x6df77220, 0x2c6be: 0x6e1ae420, 0x2c6bf: 0x6e1ae620,\n\t// Block 0xb1b, offset 0x2c6c0\n\t0x2c6c0: 0x6e1ae820, 0x2c6c1: 0x6e275020, 0x2c6c2: 0x6e275220, 0x2c6c3: 0x6e30c820,\n\t0x2c6c4: 0x6e37a420, 0x2c6c5: 0x6e275420, 0x2c6c6: 0x6e3c4820, 0x2c6c7: 0x6d756220,\n\t0x2c6c8: 0x6e0b2620, 0x2c6c9: 0x6e0b2820, 0x2c6ca: 0x6d9f3220, 0x2c6cb: 0x6ddf5820,\n\t0x2c6cc: 0x6df7a420, 0x2c6cd: 0x6e0b3020, 0x2c6ce: 0x6e1afe20, 0x2c6cf: 0x6e30de20,\n\t0x2c6d0: 0x6e37b620, 0x2c6d1: 0x6d757e20, 0x2c6d2: 0x6d9f3a20, 0x2c6d3: 0x6d9f3c20,\n\t0x2c6d4: 0x6e0b3e20, 0x2c6d5: 0x6e0b4020, 0x2c6d6: 0x6e0b4220, 0x2c6d7: 0x6e1b0c20,\n\t0x2c6d8: 0x6e1b0e20, 0x2c6d9: 0x6e1b1020, 0x2c6da: 0x6e278220, 0x2c6db: 0x6e30e620,\n\t0x2c6dc: 0x6e3c4e20, 0x2c6dd: 0x6d187020, 0x2c6de: 0x6d477220, 0x2c6df: 0x6d758620,\n\t0x2c6e0: 0x6dc1bc20, 0x2c6e1: 0x6d9f4a20, 0x2c6e2: 0x6dc1be20, 0x2c6e3: 0x6dc1c020,\n\t0x2c6e4: 0x6ddf6a20, 0x2c6e5: 0x6ddf6c20, 0x2c6e6: 0x6ddf6e20, 0x2c6e7: 0x6ddf7020,\n\t0x2c6e8: 0x6df7c220, 0x2c6e9: 0x6df7c420, 0x2c6ea: 0x6e0b4e20, 0x2c6eb: 0x6e0b5020,\n\t0x2c6ec: 0x6e0b5220, 0x2c6ed: 0x6e1b1a20, 0x2c6ee: 0x6e1b1c20, 0x2c6ef: 0x6e1b1e20,\n\t0x2c6f0: 0x6e30f020, 0x2c6f1: 0x6e37c020, 0x2c6f2: 0x6e3c5220, 0x2c6f3: 0x6e3c5420,\n\t0x2c6f4: 0x6e3c5620, 0x2c6f5: 0x6e3fc620, 0x2c6f6: 0x6ddf8c20, 0x2c6f7: 0x6df7e220,\n\t0x2c6f8: 0x6e27ae20, 0x2c6f9: 0x6e37e420, 0x2c6fa: 0x6d9f7620, 0x2c6fb: 0x6e37e820,\n\t0x2c6fc: 0x6e37ea20, 0x2c6fd: 0x6ddfa420, 0x2c6fe: 0x6ddfa620, 0x2c6ff: 0x6ddfa820,\n\t// Block 0xb1c, offset 0x2c700\n\t0x2c700: 0x6df7f620, 0x2c701: 0x6e1b6c20, 0x2c702: 0x6d9f8020, 0x2c703: 0x6dc20020,\n\t0x2c704: 0x6ddfb620, 0x2c705: 0x6df80a20, 0x2c706: 0x6e1b7e20, 0x2c707: 0x6e27d620,\n\t0x2c708: 0x6e311820, 0x2c709: 0x6e311a20, 0x2c70a: 0x6ddfdc20, 0x2c70b: 0x6ddfde20,\n\t0x2c70c: 0x6df82020, 0x2c70d: 0x6e0bc420, 0x2c70e: 0x6e0bc620, 0x2c70f: 0x6e1b8820,\n\t0x2c710: 0x6e424c20, 0x2c711: 0x6e45a820, 0x2c712: 0x6dc22820, 0x2c713: 0x6dc22a20,\n\t0x2c714: 0x6ddff420, 0x2c715: 0x6df83a20, 0x2c716: 0x6df83c20, 0x2c717: 0x6e0bd420,\n\t0x2c718: 0x6e0bd620, 0x2c719: 0x6e0bd820, 0x2c71a: 0x6e1ba020, 0x2c71b: 0x6e1ba220,\n\t0x2c71c: 0x6e27fc20, 0x2c71d: 0x6e27fe20, 0x2c71e: 0x6e314620, 0x2c71f: 0x6e314820,\n\t0x2c720: 0x6e380c20, 0x2c721: 0x6e380e20, 0x2c722: 0x6e381020, 0x2c723: 0x6e3ca420,\n\t0x2c724: 0x6e3ca620, 0x2c725: 0x6e3fe620, 0x2c726: 0x6e3fe820, 0x2c727: 0x6e425620,\n\t0x2c728: 0x6e440420, 0x2c729: 0x6e450c20, 0x2c72a: 0x6e450e20, 0x2c72b: 0x6e46da20,\n\t0x2c72c: 0x6e283620, 0x2c72d: 0x6e0c2020, 0x2c72e: 0x6e0c2220, 0x2c72f: 0x6df86420,\n\t0x2c730: 0x6e0c2420, 0x2c731: 0x6e1be620, 0x2c732: 0x6e1be820, 0x2c733: 0x6e1bfe20,\n\t0x2c734: 0x6e3cd820, 0x2c735: 0x6e427e20,\n\t// Block 0xb1d, offset 0x2c740\n\t0x2c740: 0x6c000220, 0x2c741: 0x6c003220, 0x2c742: 0x6c003420, 0x2c743: 0x6c003620,\n\t0x2c744: 0x6c003820, 0x2c745: 0x6c003a20, 0x2c746: 0x6c003c20, 0x2c747: 0x6c00d820,\n\t0x2c748: 0x6c00da20, 0x2c749: 0x6c00dc20, 0x2c74a: 0x6c00de20, 0x2c74b: 0x6c00e020,\n\t0x2c74c: 0x6c00e220, 0x2c74d: 0x6c021a20, 0x2c74e: 0x6c021c20, 0x2c74f: 0x6c021e20,\n\t0x2c750: 0x6c022020, 0x2c751: 0x6c022220, 0x2c752: 0x6c022420, 0x2c753: 0x6c022620,\n\t0x2c754: 0x6c054020, 0x2c755: 0x6c054220, 0x2c756: 0x6c054420, 0x2c757: 0x6c053c20,\n\t0x2c758: 0x6c054620, 0x2c759: 0x6c054820, 0x2c75a: 0x6c054a20, 0x2c75b: 0x6c054c20,\n\t0x2c75c: 0x6c054e20, 0x2c75d: 0x6c055020, 0x2c75e: 0x6c0ad020, 0x2c75f: 0x6c0ad220,\n\t0x2c760: 0x6c0ad420, 0x2c761: 0x6c0ad620, 0x2c762: 0x6c0ad820, 0x2c763: 0x6c15e420,\n\t0x2c764: 0x6c15e620, 0x2c765: 0x6c15e820, 0x2c766: 0x6c28ae20, 0x2c767: 0x6c28b020,\n\t0x2c768: 0x6c000420, 0x2c769: 0x6c004420, 0x2c76a: 0x6c00fa20, 0x2c76b: 0x6c00fc20,\n\t0x2c76c: 0x6c04e220, 0x2c76d: 0x6c023620, 0x2c76e: 0x6c023820, 0x2c76f: 0x6c023a20,\n\t0x2c770: 0x6c023c20, 0x2c771: 0x6c056820, 0x2c772: 0x6c160020, 0x2c773: 0x6c28c420,\n\t0x2c774: 0x6c42f620, 0x2c775: 0x6c63d820, 0x2c776: 0x6c000620, 0x2c777: 0x6c004a20,\n\t0x2c778: 0x6c00fe20, 0x2c779: 0x6c024220, 0x2c77a: 0x6c024420, 0x2c77b: 0x6c056c20,\n\t0x2c77c: 0x6c056e20, 0x2c77d: 0x6c15ea20, 0x2c77e: 0x6c430020, 0x2c77f: 0x6c000820,\n\t// Block 0xb1e, offset 0x2c780\n\t0x2c780: 0x6c000a20, 0x2c781: 0x6c000c20, 0x2c782: 0x6c005020, 0x2c783: 0x6c005220,\n\t0x2c784: 0x6c005420, 0x2c785: 0x6c010620, 0x2c786: 0x6c010820, 0x2c787: 0x6c010a20,\n\t0x2c788: 0x6c010c20, 0x2c789: 0x6c010020, 0x2c78a: 0x6c010e20, 0x2c78b: 0x6c024820,\n\t0x2c78c: 0x6c024a20, 0x2c78d: 0x6c057420, 0x2c78e: 0x6c057620, 0x2c78f: 0x6c057820,\n\t0x2c790: 0x6c057a20, 0x2c791: 0x6c0af020, 0x2c792: 0x6c0af220, 0x2c793: 0x6c0af420,\n\t0x2c794: 0x6c0af620, 0x2c795: 0x6c160620, 0x2c796: 0x6c28d020, 0x2c797: 0x6c430220,\n\t0x2c798: 0x6c63e020, 0x2c799: 0x6c001020, 0x2c79a: 0x6c001220, 0x2c79b: 0x6c001420,\n\t0x2c79c: 0x6c006020, 0x2c79d: 0x6c006220, 0x2c79e: 0x6c012020, 0x2c79f: 0x6c012220,\n\t0x2c7a0: 0x6c012420, 0x2c7a1: 0x6c01d020, 0x2c7a2: 0x6c041020, 0x2c7a3: 0x6c025c20,\n\t0x2c7a4: 0x6c025e20, 0x2c7a5: 0x6c026020, 0x2c7a6: 0x6c026220, 0x2c7a7: 0x6c05a020,\n\t0x2c7a8: 0x6c0b1a20, 0x2c7a9: 0x6c0b1c20, 0x2c7aa: 0x6c0b1e20, 0x2c7ab: 0x6c0b2020,\n\t0x2c7ac: 0x6c0b2220, 0x2c7ad: 0x6c0b2420, 0x2c7ae: 0x6c0b2620, 0x2c7af: 0x6c0b2820,\n\t0x2c7b0: 0x6c0b2a20, 0x2c7b1: 0x6c161020, 0x2c7b2: 0x6c161220, 0x2c7b3: 0x6c28de20,\n\t0x2c7b4: 0x6c28e020, 0x2c7b5: 0x6c28e220, 0x2c7b6: 0x6c28e420, 0x2c7b7: 0x6c28e620,\n\t0x2c7b8: 0x6c28e820, 0x2c7b9: 0x6c431420, 0x2c7ba: 0x6c431620, 0x2c7bb: 0x6c431820,\n\t0x2c7bc: 0x6c431a20, 0x2c7bd: 0x6c63f220, 0x2c7be: 0x6c8b0c20, 0x2c7bf: 0x6c8b0e20,\n\t// Block 0xb1f, offset 0x2c7c0\n\t0x2c7c0: 0x6c8b1020, 0x2c7c1: 0x6cb7b220, 0x2c7c2: 0x6ce8d220, 0x2c7c3: 0x6ce8d420,\n\t0x2c7c4: 0x6ce8d620, 0x2c7c5: 0x6c002420, 0x2c7c6: 0x6c006a20, 0x2c7c7: 0x6c012c20,\n\t0x2c7c8: 0x6c027a20, 0x2c7c9: 0x6c0b3820, 0x2c7ca: 0x6c162020, 0x2c7cb: 0x6c28f420,\n\t0x2c7cc: 0x6c007420, 0x2c7cd: 0x6c013020, 0x2c7ce: 0x6c013220, 0x2c7cf: 0x6c013420,\n\t0x2c7d0: 0x6c00e420, 0x2c7d1: 0x6c028220, 0x2c7d2: 0x6c028420, 0x2c7d3: 0x6c028620,\n\t0x2c7d4: 0x6c028820, 0x2c7d5: 0x6c028a20, 0x2c7d6: 0x6c028c20, 0x2c7d7: 0x6c05b020,\n\t0x2c7d8: 0x6c0b3e20, 0x2c7d9: 0x6c0b4020, 0x2c7da: 0x6c0b4220, 0x2c7db: 0x6c28f820,\n\t0x2c7dc: 0x6c162a20, 0x2c7dd: 0x6c28fc20, 0x2c7de: 0x6c28fe20, 0x2c7df: 0x6c290020,\n\t0x2c7e0: 0x6c007c20, 0x2c7e1: 0x6c013620, 0x2c7e2: 0x6c029020, 0x2c7e3: 0x6c029220,\n\t0x2c7e4: 0x6c0b5420, 0x2c7e5: 0x6c0b5620, 0x2c7e6: 0x6c0b5820, 0x2c7e7: 0x6c0b5a20,\n\t0x2c7e8: 0x6c163620, 0x2c7e9: 0x6c163820, 0x2c7ea: 0x6c163a20, 0x2c7eb: 0x6c290e20,\n\t0x2c7ec: 0x6c291020, 0x2c7ed: 0x6c433420, 0x2c7ee: 0x6c433620, 0x2c7ef: 0x6c433820,\n\t0x2c7f0: 0x6c433a20, 0x2c7f1: 0x6c433c20, 0x2c7f2: 0x6c433e20, 0x2c7f3: 0x6c640a20,\n\t0x2c7f4: 0x6cb7c020, 0x2c7f5: 0x6cb7c220, 0x2c7f6: 0x6ce8e620, 0x2c7f7: 0x6ce8e820,\n\t0x2c7f8: 0x6d75da20, 0x2c7f9: 0x6e1c0620, 0x2c7fa: 0x6c007e20, 0x2c7fb: 0x6c008020,\n\t0x2c7fc: 0x6c013820, 0x2c7fd: 0x6c013a20, 0x2c7fe: 0x6c013c20, 0x2c7ff: 0x6c013e20,\n\t// Block 0xb20, offset 0x2c800\n\t0x2c800: 0x6c029620, 0x2c801: 0x6c029820, 0x2c802: 0x6c029a20, 0x2c803: 0x6c029c20,\n\t0x2c804: 0x6c029e20, 0x2c805: 0x6c02a020, 0x2c806: 0x6c02a220, 0x2c807: 0x6c02a420,\n\t0x2c808: 0x6c02a620, 0x2c809: 0x6c02a820, 0x2c80a: 0x6c02aa20, 0x2c80b: 0x6c02ac20,\n\t0x2c80c: 0x6c02ae20, 0x2c80d: 0x6c02b020, 0x2c80e: 0x6c02b220, 0x2c80f: 0x6c02b420,\n\t0x2c810: 0x6c02b620, 0x2c811: 0x6c02b820, 0x2c812: 0x6c02ba20, 0x2c813: 0x6c02bc20,\n\t0x2c814: 0x6c05c820, 0x2c815: 0x6c05ca20, 0x2c816: 0x6c05cc20, 0x2c817: 0x6c05ce20,\n\t0x2c818: 0x6c05d020, 0x2c819: 0x6c05d220, 0x2c81a: 0x6c05d420, 0x2c81b: 0x6c05d620,\n\t0x2c81c: 0x6c05d820, 0x2c81d: 0x6c05da20, 0x2c81e: 0x6c05dc20, 0x2c81f: 0x6c05de20,\n\t0x2c820: 0x6c05e020, 0x2c821: 0x6c05e220, 0x2c822: 0x6c05e420, 0x2c823: 0x6c05e620,\n\t0x2c824: 0x6c05e820, 0x2c825: 0x6c05ea20, 0x2c826: 0x6c05ec20, 0x2c827: 0x6c05ee20,\n\t0x2c828: 0x6c05f020, 0x2c829: 0x6c05f220, 0x2c82a: 0x6c05f420, 0x2c82b: 0x6c05f620,\n\t0x2c82c: 0x6c05f820, 0x2c82d: 0x6c05fa20, 0x2c82e: 0x6c0b7a20, 0x2c82f: 0x6c0b7c20,\n\t0x2c830: 0x6c0b7e20, 0x2c831: 0x6c0b8020, 0x2c832: 0x6c0b8220, 0x2c833: 0x6c0b8420,\n\t0x2c834: 0x6c0b8620, 0x2c835: 0x6c0b8820, 0x2c836: 0x6c0b8a20, 0x2c837: 0x6c0b8c20,\n\t0x2c838: 0x6c0b8e20, 0x2c839: 0x6c0b9020, 0x2c83a: 0x6c0b9220, 0x2c83b: 0x6c0b9420,\n\t0x2c83c: 0x6c0b9620, 0x2c83d: 0x6c0b9820, 0x2c83e: 0x6c0b9a20, 0x2c83f: 0x6c0b9c20,\n\t// Block 0xb21, offset 0x2c840\n\t0x2c840: 0x6c0b9e20, 0x2c841: 0x6c0ba020, 0x2c842: 0x6c0ba220, 0x2c843: 0x6c0ba420,\n\t0x2c844: 0x6c0ba620, 0x2c845: 0x6c0ba820, 0x2c846: 0x6c0baa20, 0x2c847: 0x6c0bac20,\n\t0x2c848: 0x6c0bae20, 0x2c849: 0x6c0bb020, 0x2c84a: 0x6c0bb220, 0x2c84b: 0x6c0bb420,\n\t0x2c84c: 0x6c0bb620, 0x2c84d: 0x6c0bb820, 0x2c84e: 0x6c0bba20, 0x2c84f: 0x6c0bbc20,\n\t0x2c850: 0x6c0bbe20, 0x2c851: 0x6c0bc020, 0x2c852: 0x6c0bc220, 0x2c853: 0x6c0bc420,\n\t0x2c854: 0x6c0bc620, 0x2c855: 0x6c0bc820, 0x2c856: 0x6c0bca20, 0x2c857: 0x6c0bcc20,\n\t0x2c858: 0x6c0bce20, 0x2c859: 0x6c0bd020, 0x2c85a: 0x6c0bd220, 0x2c85b: 0x6c0bd420,\n\t0x2c85c: 0x6c0bd620, 0x2c85d: 0x6c0bd820, 0x2c85e: 0x6c0bda20, 0x2c85f: 0x6c0bdc20,\n\t0x2c860: 0x6c0bde20, 0x2c861: 0x6c0be020, 0x2c862: 0x6c0be220, 0x2c863: 0x6c0be420,\n\t0x2c864: 0x6c0be620, 0x2c865: 0x6c0be820, 0x2c866: 0x6c0bea20, 0x2c867: 0x6c0bec20,\n\t0x2c868: 0x6c0bee20, 0x2c869: 0x6c0bf020, 0x2c86a: 0x6c0bf220, 0x2c86b: 0x6c0bf420,\n\t0x2c86c: 0x6c0bf620, 0x2c86d: 0x6c165620, 0x2c86e: 0x6c165820, 0x2c86f: 0x6c165a20,\n\t0x2c870: 0x6c165c20, 0x2c871: 0x6c165e20, 0x2c872: 0x6c166020, 0x2c873: 0x6c166220,\n\t0x2c874: 0x6c166420, 0x2c875: 0x6c166620, 0x2c876: 0x6c166820, 0x2c877: 0x6c166a20,\n\t0x2c878: 0x6c166c20, 0x2c879: 0x6c166e20, 0x2c87a: 0x6c167020, 0x2c87b: 0x6c167220,\n\t0x2c87c: 0x6c167420, 0x2c87d: 0x6c167620, 0x2c87e: 0x6c167820, 0x2c87f: 0x6c167a20,\n\t// Block 0xb22, offset 0x2c880\n\t0x2c880: 0x6c167c20, 0x2c881: 0x6c167e20, 0x2c882: 0x6c168020, 0x2c883: 0x6c168220,\n\t0x2c884: 0x6c168420, 0x2c885: 0x6c168620, 0x2c886: 0x6c168820, 0x2c887: 0x6c168a20,\n\t0x2c888: 0x6c168c20, 0x2c889: 0x6c168e20, 0x2c88a: 0x6c169020, 0x2c88b: 0x6c169220,\n\t0x2c88c: 0x6c292020, 0x2c88d: 0x6c169420, 0x2c88e: 0x6c169620, 0x2c88f: 0x6c169820,\n\t0x2c890: 0x6c169a20, 0x2c891: 0x6c169c20, 0x2c892: 0x6c169e20, 0x2c893: 0x6c16a020,\n\t0x2c894: 0x6c16a220, 0x2c895: 0x6c16a420, 0x2c896: 0x6c16a620, 0x2c897: 0x6c16a820,\n\t0x2c898: 0x6c16aa20, 0x2c899: 0x6c16ac20, 0x2c89a: 0x6c16ae20, 0x2c89b: 0x6c16b020,\n\t0x2c89c: 0x6c16b220, 0x2c89d: 0x6c16b420, 0x2c89e: 0x6c16b620, 0x2c89f: 0x6c16b820,\n\t0x2c8a0: 0x6c16ba20, 0x2c8a1: 0x6c16bc20, 0x2c8a2: 0x6c16be20, 0x2c8a3: 0x6c16c020,\n\t0x2c8a4: 0x6c0bf820, 0x2c8a5: 0x6c16c220, 0x2c8a6: 0x6c16c420, 0x2c8a7: 0x6c16c620,\n\t0x2c8a8: 0x6c16c820, 0x2c8a9: 0x6c293e20, 0x2c8aa: 0x6c294020, 0x2c8ab: 0x6c294220,\n\t0x2c8ac: 0x6c294420, 0x2c8ad: 0x6c294620, 0x2c8ae: 0x6c294820, 0x2c8af: 0x6c294a20,\n\t0x2c8b0: 0x6c294c20, 0x2c8b1: 0x6c294e20, 0x2c8b2: 0x6c295020, 0x2c8b3: 0x6c295220,\n\t0x2c8b4: 0x6c295420, 0x2c8b5: 0x6c295620, 0x2c8b6: 0x6c295820, 0x2c8b7: 0x6c295a20,\n\t0x2c8b8: 0x6c295c20, 0x2c8b9: 0x6c295e20, 0x2c8ba: 0x6c296020, 0x2c8bb: 0x6c296220,\n\t0x2c8bc: 0x6c296420, 0x2c8bd: 0x6c296620, 0x2c8be: 0x6c296820, 0x2c8bf: 0x6c296a20,\n\t// Block 0xb23, offset 0x2c8c0\n\t0x2c8c0: 0x6c296c20, 0x2c8c1: 0x6c296e20, 0x2c8c2: 0x6c297020, 0x2c8c3: 0x6c297220,\n\t0x2c8c4: 0x6c297420, 0x2c8c5: 0x6c297620, 0x2c8c6: 0x6c297820, 0x2c8c7: 0x6c297a20,\n\t0x2c8c8: 0x6c297c20, 0x2c8c9: 0x6c297e20, 0x2c8ca: 0x6c298020, 0x2c8cb: 0x6c298220,\n\t0x2c8cc: 0x6c298420, 0x2c8cd: 0x6c298620, 0x2c8ce: 0x6c298820, 0x2c8cf: 0x6c298a20,\n\t0x2c8d0: 0x6c298c20, 0x2c8d1: 0x6c298e20, 0x2c8d2: 0x6c299020, 0x2c8d3: 0x6c299220,\n\t0x2c8d4: 0x6c299420, 0x2c8d5: 0x6c299620, 0x2c8d6: 0x6c299820, 0x2c8d7: 0x6c299a20,\n\t0x2c8d8: 0x6c299c20, 0x2c8d9: 0x6c299e20, 0x2c8da: 0x6c29a020, 0x2c8db: 0x6c29a220,\n\t0x2c8dc: 0x6c29a420, 0x2c8dd: 0x6c29a620, 0x2c8de: 0x6c29a820, 0x2c8df: 0x6c29aa20,\n\t0x2c8e0: 0x6c29ac20, 0x2c8e1: 0x6c29ae20, 0x2c8e2: 0x6c29b020, 0x2c8e3: 0x6c29b220,\n\t0x2c8e4: 0x6c29b420, 0x2c8e5: 0x6c29b620, 0x2c8e6: 0x6c29b820, 0x2c8e7: 0x6c29ba20,\n\t0x2c8e8: 0x6c29bc20, 0x2c8e9: 0x6c29be20, 0x2c8ea: 0x6c29c020, 0x2c8eb: 0x6c29c220,\n\t0x2c8ec: 0x6c29c420, 0x2c8ed: 0x6c29c620, 0x2c8ee: 0x6c435e20, 0x2c8ef: 0x6c436020,\n\t0x2c8f0: 0x6c436220, 0x2c8f1: 0x6c436420, 0x2c8f2: 0x6c436620, 0x2c8f3: 0x6c436820,\n\t0x2c8f4: 0x6c436a20, 0x2c8f5: 0x6c436c20, 0x2c8f6: 0x6c436e20, 0x2c8f7: 0x6c437020,\n\t0x2c8f8: 0x6c437220, 0x2c8f9: 0x6c437420, 0x2c8fa: 0x6c437620, 0x2c8fb: 0x6c437820,\n\t0x2c8fc: 0x6c437a20, 0x2c8fd: 0x6c437c20, 0x2c8fe: 0x6c437e20, 0x2c8ff: 0x6c438020,\n\t// Block 0xb24, offset 0x2c900\n\t0x2c900: 0x6c438220, 0x2c901: 0x6c438420, 0x2c902: 0x6c438620, 0x2c903: 0x6c438820,\n\t0x2c904: 0x6c438a20, 0x2c905: 0x6c438c20, 0x2c906: 0x6c438e20, 0x2c907: 0x6c439020,\n\t0x2c908: 0x6c439220, 0x2c909: 0x6c439420, 0x2c90a: 0x6c439620, 0x2c90b: 0x6c439820,\n\t0x2c90c: 0x6c439a20, 0x2c90d: 0x6c439c20, 0x2c90e: 0x6c439e20, 0x2c90f: 0x6c43a020,\n\t0x2c910: 0x6c43a220, 0x2c911: 0x6c43a420, 0x2c912: 0x6c43a620, 0x2c913: 0x6c43a820,\n\t0x2c914: 0x6c43aa20, 0x2c915: 0x6c43ac20, 0x2c916: 0x6c43ae20, 0x2c917: 0x6c43b020,\n\t0x2c918: 0x6c43b220, 0x2c919: 0x6c43b420, 0x2c91a: 0x6c43b620, 0x2c91b: 0x6c43b820,\n\t0x2c91c: 0x6c43ba20, 0x2c91d: 0x6c43bc20, 0x2c91e: 0x6c43be20, 0x2c91f: 0x6c43c020,\n\t0x2c920: 0x6c43c220, 0x2c921: 0x6c43c420, 0x2c922: 0x6c43c620, 0x2c923: 0x6c43c820,\n\t0x2c924: 0x6c43ca20, 0x2c925: 0x6c43cc20, 0x2c926: 0x6c43ce20, 0x2c927: 0x6c43d020,\n\t0x2c928: 0x6c43d220, 0x2c929: 0x6c43d420, 0x2c92a: 0x6c43d620, 0x2c92b: 0x6c43d820,\n\t0x2c92c: 0x6c43da20, 0x2c92d: 0x6c43dc20, 0x2c92e: 0x6c642e20, 0x2c92f: 0x6c643020,\n\t0x2c930: 0x6c643220, 0x2c931: 0x6c643420, 0x2c932: 0x6c643620, 0x2c933: 0x6c643820,\n\t0x2c934: 0x6c643a20, 0x2c935: 0x6c643c20, 0x2c936: 0x6c643e20, 0x2c937: 0x6c644020,\n\t0x2c938: 0x6c644220, 0x2c939: 0x6c644420, 0x2c93a: 0x6c644620, 0x2c93b: 0x6c644820,\n\t0x2c93c: 0x6c644a20, 0x2c93d: 0x6c644c20, 0x2c93e: 0x6c644e20, 0x2c93f: 0x6c645020,\n\t// Block 0xb25, offset 0x2c940\n\t0x2c940: 0x6c645220, 0x2c941: 0x6c645420, 0x2c942: 0x6c645620, 0x2c943: 0x6c645820,\n\t0x2c944: 0x6c645a20, 0x2c945: 0x6c645c20, 0x2c946: 0x6c645e20, 0x2c947: 0x6c646020,\n\t0x2c948: 0x6c646220, 0x2c949: 0x6c646420, 0x2c94a: 0x6c646620, 0x2c94b: 0x6c646820,\n\t0x2c94c: 0x6c646a20, 0x2c94d: 0x6c646c20, 0x2c94e: 0x6c646e20, 0x2c94f: 0x6c647020,\n\t0x2c950: 0x6c647220, 0x2c951: 0x6c647420, 0x2c952: 0x6c647620, 0x2c953: 0x6c647820,\n\t0x2c954: 0x6c647a20, 0x2c955: 0x6c647c20, 0x2c956: 0x6c647e20, 0x2c957: 0x6c648020,\n\t0x2c958: 0x6c648220, 0x2c959: 0x6c648420, 0x2c95a: 0x6c648620, 0x2c95b: 0x6c648820,\n\t0x2c95c: 0x6c648a20, 0x2c95d: 0x6c648c20, 0x2c95e: 0x6c648e20, 0x2c95f: 0x6c649020,\n\t0x2c960: 0x6c649220, 0x2c961: 0x6c649420, 0x2c962: 0x6c649620, 0x2c963: 0x6c649820,\n\t0x2c964: 0x6c649a20, 0x2c965: 0x6c649c20, 0x2c966: 0x6c649e20, 0x2c967: 0x6c64a020,\n\t0x2c968: 0x6c64a220, 0x2c969: 0x6c64a420, 0x2c96a: 0x6c64a620, 0x2c96b: 0x6c64a820,\n\t0x2c96c: 0x6c64aa20, 0x2c96d: 0x6c64ac20, 0x2c96e: 0x6c64ae20, 0x2c96f: 0x6c64b020,\n\t0x2c970: 0x6c64b220, 0x2c971: 0x6c64b420, 0x2c972: 0x6c64b620, 0x2c973: 0x6c64b820,\n\t0x2c974: 0x6c64ba20, 0x2c975: 0x6c64bc20, 0x2c976: 0x6c64be20, 0x2c977: 0x6c64c020,\n\t0x2c978: 0x6c64c220, 0x2c979: 0x6c64c420, 0x2c97a: 0x6c64c620, 0x2c97b: 0x6c64c820,\n\t0x2c97c: 0x6c64ca20, 0x2c97d: 0x6c64cc20, 0x2c97e: 0x6c64ce20, 0x2c97f: 0x6c64d020,\n\t// Block 0xb26, offset 0x2c980\n\t0x2c980: 0x6c8b4a20, 0x2c981: 0x6c8b4c20, 0x2c982: 0x6c8b4e20, 0x2c983: 0x6c8b5020,\n\t0x2c984: 0x6c8b5220, 0x2c985: 0x6c8b5420, 0x2c986: 0x6c8b5620, 0x2c987: 0x6c8b5820,\n\t0x2c988: 0x6c8b5a20, 0x2c989: 0x6c8b5c20, 0x2c98a: 0x6c8b5e20, 0x2c98b: 0x6c8b6020,\n\t0x2c98c: 0x6c8b6220, 0x2c98d: 0x6c8b6420, 0x2c98e: 0x6c8b6620, 0x2c98f: 0x6c8b6820,\n\t0x2c990: 0x6c8b6a20, 0x2c991: 0x6c8b6c20, 0x2c992: 0x6c8b6e20, 0x2c993: 0x6c8b7020,\n\t0x2c994: 0x6c8b7220, 0x2c995: 0x6c8b7420, 0x2c996: 0x6c656e20, 0x2c997: 0x6c8b7620,\n\t0x2c998: 0x6c8b7820, 0x2c999: 0x6c8b7a20, 0x2c99a: 0x6c8b7c20, 0x2c99b: 0x6c8b7e20,\n\t0x2c99c: 0x6c8b8020, 0x2c99d: 0x6c8b8220, 0x2c99e: 0x6c8b8420, 0x2c99f: 0x6c8b8620,\n\t0x2c9a0: 0x6c8b8820, 0x2c9a1: 0x6c8b8a20, 0x2c9a2: 0x6c8b8c20, 0x2c9a3: 0x6c8b8e20,\n\t0x2c9a4: 0x6c8b9020, 0x2c9a5: 0x6c8b9220, 0x2c9a6: 0x6c8b9420, 0x2c9a7: 0x6c8b9620,\n\t0x2c9a8: 0x6cb7d820, 0x2c9a9: 0x6c8b9820, 0x2c9aa: 0x6c8b9a20, 0x2c9ab: 0x6c8b9c20,\n\t0x2c9ac: 0x6c8b9e20, 0x2c9ad: 0x6c8ba020, 0x2c9ae: 0x6c8ba220, 0x2c9af: 0x6c8ba420,\n\t0x2c9b0: 0x6c8ba620, 0x2c9b1: 0x6c8ba820, 0x2c9b2: 0x6c8baa20, 0x2c9b3: 0x6c8bac20,\n\t0x2c9b4: 0x6c8bae20, 0x2c9b5: 0x6c8bb020, 0x2c9b6: 0x6c8bb220, 0x2c9b7: 0x6c8bb420,\n\t0x2c9b8: 0x6c8bb620, 0x2c9b9: 0x6c8bb820, 0x2c9ba: 0x6c8bba20, 0x2c9bb: 0x6c8bbc20,\n\t0x2c9bc: 0x6c8bbe20, 0x2c9bd: 0x6c8bc020, 0x2c9be: 0x6c8bc220, 0x2c9bf: 0x6c8bc420,\n\t// Block 0xb27, offset 0x2c9c0\n\t0x2c9c0: 0x6cb7ea20, 0x2c9c1: 0x6cb7ec20, 0x2c9c2: 0x6cb7ee20, 0x2c9c3: 0x6cb7f020,\n\t0x2c9c4: 0x6cb7f220, 0x2c9c5: 0x6cb7f420, 0x2c9c6: 0x6cb7f620, 0x2c9c7: 0x6cb7f820,\n\t0x2c9c8: 0x6cb7fa20, 0x2c9c9: 0x6cb7fc20, 0x2c9ca: 0x6cb7fe20, 0x2c9cb: 0x6cb80020,\n\t0x2c9cc: 0x6cb80220, 0x2c9cd: 0x6cb80420, 0x2c9ce: 0x6cb80620, 0x2c9cf: 0x6cb80820,\n\t0x2c9d0: 0x6cb80a20, 0x2c9d1: 0x6cb80c20, 0x2c9d2: 0x6cb80e20, 0x2c9d3: 0x6cb81020,\n\t0x2c9d4: 0x6cb81220, 0x2c9d5: 0x6cb81420, 0x2c9d6: 0x6cb81620, 0x2c9d7: 0x6cb81820,\n\t0x2c9d8: 0x6cb81a20, 0x2c9d9: 0x6cb81c20, 0x2c9da: 0x6cb81e20, 0x2c9db: 0x6cb82020,\n\t0x2c9dc: 0x6cb82220, 0x2c9dd: 0x6cb82420, 0x2c9de: 0x6cb82620, 0x2c9df: 0x6cb82820,\n\t0x2c9e0: 0x6cb82a20, 0x2c9e1: 0x6cb82c20, 0x2c9e2: 0x6cb82e20, 0x2c9e3: 0x6cb83020,\n\t0x2c9e4: 0x6cb83220, 0x2c9e5: 0x6cb83420, 0x2c9e6: 0x6cb83620, 0x2c9e7: 0x6cb83820,\n\t0x2c9e8: 0x6cb83a20, 0x2c9e9: 0x6cb83c20, 0x2c9ea: 0x6ce90c20, 0x2c9eb: 0x6ce90e20,\n\t0x2c9ec: 0x6ce91020, 0x2c9ed: 0x6ce91220, 0x2c9ee: 0x6ce91420, 0x2c9ef: 0x6ce91620,\n\t0x2c9f0: 0x6ce91820, 0x2c9f1: 0x6ce91a20, 0x2c9f2: 0x6ce91c20, 0x2c9f3: 0x6ce91e20,\n\t0x2c9f4: 0x6ce92020, 0x2c9f5: 0x6ce92220, 0x2c9f6: 0x6ce92420, 0x2c9f7: 0x6ce92620,\n\t0x2c9f8: 0x6ce92820, 0x2c9f9: 0x6ce92a20, 0x2c9fa: 0x6ce92c20, 0x2c9fb: 0x6ce92e20,\n\t0x2c9fc: 0x6ce93020, 0x2c9fd: 0x6ce93220, 0x2c9fe: 0x6ce93420, 0x2c9ff: 0x6ce93620,\n\t// Block 0xb28, offset 0x2ca00\n\t0x2ca00: 0x6ce93820, 0x2ca01: 0x6ce93a20, 0x2ca02: 0x6ce93c20, 0x2ca03: 0x6ce93e20,\n\t0x2ca04: 0x6ce94020, 0x2ca05: 0x6ce94220, 0x2ca06: 0x6ce94420, 0x2ca07: 0x6ce94620,\n\t0x2ca08: 0x6ce94820, 0x2ca09: 0x6ce94a20, 0x2ca0a: 0x6ce94c20, 0x2ca0b: 0x6ce94e20,\n\t0x2ca0c: 0x6ce95020, 0x2ca0d: 0x6ce95220, 0x2ca0e: 0x6d18cc20, 0x2ca0f: 0x6d18ce20,\n\t0x2ca10: 0x6d18d020, 0x2ca11: 0x6d18d220, 0x2ca12: 0x6d18d420, 0x2ca13: 0x6d18d620,\n\t0x2ca14: 0x6d18d820, 0x2ca15: 0x6d18da20, 0x2ca16: 0x6d18dc20, 0x2ca17: 0x6d18de20,\n\t0x2ca18: 0x6d18e020, 0x2ca19: 0x6d18e220, 0x2ca1a: 0x6d18e420, 0x2ca1b: 0x6d18e620,\n\t0x2ca1c: 0x6d18e820, 0x2ca1d: 0x6d18ea20, 0x2ca1e: 0x6d18ec20, 0x2ca1f: 0x6d18ee20,\n\t0x2ca20: 0x6d18f020, 0x2ca21: 0x6d18f220, 0x2ca22: 0x6d18f420, 0x2ca23: 0x6d18f620,\n\t0x2ca24: 0x6d18f820, 0x2ca25: 0x6d18fa20, 0x2ca26: 0x6d18fc20, 0x2ca27: 0x6d18fe20,\n\t0x2ca28: 0x6d190020, 0x2ca29: 0x6d190220, 0x2ca2a: 0x6d190420, 0x2ca2b: 0x6d190620,\n\t0x2ca2c: 0x6d190820, 0x2ca2d: 0x6d190a20, 0x2ca2e: 0x6d190c20, 0x2ca2f: 0x6d190e20,\n\t0x2ca30: 0x6d191020, 0x2ca31: 0x6d191220, 0x2ca32: 0x6d19b420, 0x2ca33: 0x6d191420,\n\t0x2ca34: 0x6d191620, 0x2ca35: 0x6d47c220, 0x2ca36: 0x6d47c420, 0x2ca37: 0x6d191820,\n\t0x2ca38: 0x6d47c620, 0x2ca39: 0x6d47c820, 0x2ca3a: 0x6d47ca20, 0x2ca3b: 0x6d47cc20,\n\t0x2ca3c: 0x6d47ce20, 0x2ca3d: 0x6d47d020, 0x2ca3e: 0x6d47d220, 0x2ca3f: 0x6d47d420,\n\t// Block 0xb29, offset 0x2ca40\n\t0x2ca40: 0x6d47d620, 0x2ca41: 0x6d47d820, 0x2ca42: 0x6d47da20, 0x2ca43: 0x6d47dc20,\n\t0x2ca44: 0x6d47de20, 0x2ca45: 0x6d47e020, 0x2ca46: 0x6d47e220, 0x2ca47: 0x6d47e420,\n\t0x2ca48: 0x6d47e620, 0x2ca49: 0x6d47e820, 0x2ca4a: 0x6d47ea20, 0x2ca4b: 0x6d47ec20,\n\t0x2ca4c: 0x6d47ee20, 0x2ca4d: 0x6d47f020, 0x2ca4e: 0x6d47f220, 0x2ca4f: 0x6d47f420,\n\t0x2ca50: 0x6d75fc20, 0x2ca51: 0x6d75fe20, 0x2ca52: 0x6d760020, 0x2ca53: 0x6d760220,\n\t0x2ca54: 0x6d760420, 0x2ca55: 0x6d760620, 0x2ca56: 0x6d760820, 0x2ca57: 0x6d760a20,\n\t0x2ca58: 0x6d760c20, 0x2ca59: 0x6d760e20, 0x2ca5a: 0x6d761020, 0x2ca5b: 0x6d761220,\n\t0x2ca5c: 0x6d761420, 0x2ca5d: 0x6d761620, 0x2ca5e: 0x6d761820, 0x2ca5f: 0x6d9fae20,\n\t0x2ca60: 0x6d9fb020, 0x2ca61: 0x6d9fb220, 0x2ca62: 0x6d9fb420, 0x2ca63: 0x6d9fb620,\n\t0x2ca64: 0x6d9fb820, 0x2ca65: 0x6d9fba20, 0x2ca66: 0x6d9fbc20, 0x2ca67: 0x6d9fbe20,\n\t0x2ca68: 0x6d9fc020, 0x2ca69: 0x6d9fc220, 0x2ca6a: 0x6d9fc420, 0x2ca6b: 0x6d761a20,\n\t0x2ca6c: 0x6d9fc620, 0x2ca6d: 0x6dc24e20, 0x2ca6e: 0x6dc25020, 0x2ca6f: 0x6dc25220,\n\t0x2ca70: 0x6d485a20, 0x2ca71: 0x6dc25420, 0x2ca72: 0x6da00220, 0x2ca73: 0x6de01420,\n\t0x2ca74: 0x6de01620, 0x2ca75: 0x6de01820, 0x2ca76: 0x6df87420, 0x2ca77: 0x6e0c4220,\n\t0x2ca78: 0x6e0c4420, 0x2ca79: 0x6e0c4620, 0x2ca7a: 0x6e0c4820, 0x2ca7b: 0x6e1c0820,\n\t0x2ca7c: 0x6e1c0a20, 0x2ca7d: 0x6e284c20, 0x2ca7e: 0x6e318820, 0x2ca7f: 0x6c008420,\n\t// Block 0xb2a, offset 0x2ca80\n\t0x2ca80: 0x6c014620, 0x2ca81: 0x6c02c620, 0x2ca82: 0x6c02c820, 0x2ca83: 0x6c02ca20,\n\t0x2ca84: 0x6c060e20, 0x2ca85: 0x6c061420, 0x2ca86: 0x6c0c4620, 0x2ca87: 0x6c0c4820,\n\t0x2ca88: 0x6c0c4a20, 0x2ca89: 0x6c0c4c20, 0x2ca8a: 0x6c0c4e20, 0x2ca8b: 0x6c173420,\n\t0x2ca8c: 0x6c173620, 0x2ca8d: 0x6c173820, 0x2ca8e: 0x6c173a20, 0x2ca8f: 0x6c173c20,\n\t0x2ca90: 0x6c173e20, 0x2ca91: 0x6c174020, 0x2ca92: 0x6c2a2e20, 0x2ca93: 0x6c2a3020,\n\t0x2ca94: 0x6c2a3220, 0x2ca95: 0x6c2a3420, 0x2ca96: 0x6c2a3620, 0x2ca97: 0x6c445a20,\n\t0x2ca98: 0x6c445c20, 0x2ca99: 0x6c445e20, 0x2ca9a: 0x6c657220, 0x2ca9b: 0x6c657420,\n\t0x2ca9c: 0x6c8c6820, 0x2ca9d: 0x6c8c6a20, 0x2ca9e: 0x6c8c6c20, 0x2ca9f: 0x6cb8c620,\n\t0x2caa0: 0x6cb8c820, 0x2caa1: 0x6ce9e220, 0x2caa2: 0x6d19b620, 0x2caa3: 0x6d766620,\n\t0x2caa4: 0x6e0c6420, 0x2caa5: 0x6c008620, 0x2caa6: 0x6c014820, 0x2caa7: 0x6c02ce20,\n\t0x2caa8: 0x6c0c5a20, 0x2caa9: 0x6c2a4c20, 0x2caaa: 0x6c446c20, 0x2caab: 0x6c008820,\n\t0x2caac: 0x6c02d620, 0x2caad: 0x6c02d820, 0x2caae: 0x6c02da20, 0x2caaf: 0x6c02dc20,\n\t0x2cab0: 0x6c061c20, 0x2cab1: 0x6c0c6820, 0x2cab2: 0x6c0c6a20, 0x2cab3: 0x6c0c6c20,\n\t0x2cab4: 0x6c0c6e20, 0x2cab5: 0x6c176220, 0x2cab6: 0x6c2a5020, 0x2cab7: 0x6c2a5220,\n\t0x2cab8: 0x6c2a5420, 0x2cab9: 0x6c447620, 0x2caba: 0x6c659020, 0x2cabb: 0x6c447820,\n\t0x2cabc: 0x6c659220, 0x2cabd: 0x6c8c7e20, 0x2cabe: 0x6ce9f420, 0x2cabf: 0x6ce9f620,\n\t// Block 0xb2b, offset 0x2cac0\n\t0x2cac0: 0x6d767a20, 0x2cac1: 0x6dc29820, 0x2cac2: 0x6c008c20, 0x2cac3: 0x6c02e620,\n\t0x2cac4: 0x6c02e820, 0x2cac5: 0x6c02ea20, 0x2cac6: 0x6c02ec20, 0x2cac7: 0x6c02ee20,\n\t0x2cac8: 0x6c02f020, 0x2cac9: 0x6c062220, 0x2caca: 0x6c062420, 0x2cacb: 0x6c062620,\n\t0x2cacc: 0x6c062820, 0x2cacd: 0x6c0c7820, 0x2cace: 0x6c0c7a20, 0x2cacf: 0x6c177020,\n\t0x2cad0: 0x6c2a5e20, 0x2cad1: 0x6c448620, 0x2cad2: 0x6c448820, 0x2cad3: 0x6c659a20,\n\t0x2cad4: 0x6c659c20, 0x2cad5: 0x6c8c8820, 0x2cad6: 0x6c008e20, 0x2cad7: 0x6c02fe20,\n\t0x2cad8: 0x6c030020, 0x2cad9: 0x6c063e20, 0x2cada: 0x6c064020, 0x2cadb: 0x6c0c8620,\n\t0x2cadc: 0x6c0c8820, 0x2cadd: 0x6c178020, 0x2cade: 0x6c2a6a20, 0x2cadf: 0x6c449220,\n\t0x2cae0: 0x6c449420, 0x2cae1: 0x6c65a420, 0x2cae2: 0x6c65a620, 0x2cae3: 0x6c65a820,\n\t0x2cae4: 0x6c65aa20, 0x2cae5: 0x6c65ac20, 0x2cae6: 0x6c65ae20, 0x2cae7: 0x6c65b020,\n\t0x2cae8: 0x6c8c9020, 0x2cae9: 0x6d19e020, 0x2caea: 0x6d768820, 0x2caeb: 0x6c009020,\n\t0x2caec: 0x6c064a20, 0x2caed: 0x6c064c20, 0x2caee: 0x6c064e20, 0x2caef: 0x6c065020,\n\t0x2caf0: 0x6c0c9c20, 0x2caf1: 0x6c0c9e20, 0x2caf2: 0x6c0ca020, 0x2caf3: 0x6c0ca220,\n\t0x2caf4: 0x6c0ca420, 0x2caf5: 0x6c179020, 0x2caf6: 0x6c179220, 0x2caf7: 0x6c179420,\n\t0x2caf8: 0x6c179620, 0x2caf9: 0x6c179820, 0x2cafa: 0x6c179a20, 0x2cafb: 0x6c179c20,\n\t0x2cafc: 0x6c2a7e20, 0x2cafd: 0x6c2a8020, 0x2cafe: 0x6c2a8220, 0x2caff: 0x6c2a8420,\n\t// Block 0xb2c, offset 0x2cb00\n\t0x2cb00: 0x6c2a8620, 0x2cb01: 0x6c44a420, 0x2cb02: 0x6c44a620, 0x2cb03: 0x6c44a820,\n\t0x2cb04: 0x6c65c820, 0x2cb05: 0x6c65ca20, 0x2cb06: 0x6c65cc20, 0x2cb07: 0x6c65ce20,\n\t0x2cb08: 0x6c65d020, 0x2cb09: 0x6c65d220, 0x2cb0a: 0x6c65d420, 0x2cb0b: 0x6c65d620,\n\t0x2cb0c: 0x6c65d820, 0x2cb0d: 0x6c65da20, 0x2cb0e: 0x6c65dc20, 0x2cb0f: 0x6c8c9820,\n\t0x2cb10: 0x6c8c9a20, 0x2cb11: 0x6c8c9c20, 0x2cb12: 0x6cb91020, 0x2cb13: 0x6cb91220,\n\t0x2cb14: 0x6cb91420, 0x2cb15: 0x6cb91620, 0x2cb16: 0x6cb91820, 0x2cb17: 0x6cea1420,\n\t0x2cb18: 0x6d19ec20, 0x2cb19: 0x6d487820, 0x2cb1a: 0x6d487a20, 0x2cb1b: 0x6d487c20,\n\t0x2cb1c: 0x6d487e20, 0x2cb1d: 0x6d768e20, 0x2cb1e: 0x6d769020, 0x2cb1f: 0x6da01a20,\n\t0x2cb20: 0x6c009420, 0x2cb21: 0x6c015220, 0x2cb22: 0x6c015420, 0x2cb23: 0x6c015620,\n\t0x2cb24: 0x6c030a20, 0x2cb25: 0x6c065a20, 0x2cb26: 0x6c065c20, 0x2cb27: 0x6c065e20,\n\t0x2cb28: 0x6c0cba20, 0x2cb29: 0x6c0cbc20, 0x2cb2a: 0x6c0cbe20, 0x2cb2b: 0x6c0cc020,\n\t0x2cb2c: 0x6c17b820, 0x2cb2d: 0x6c2a9820, 0x2cb2e: 0x6c2a9a20, 0x2cb2f: 0x6c2a9c20,\n\t0x2cb30: 0x6c8cc020, 0x2cb31: 0x6cb93020, 0x2cb32: 0x6cb93220, 0x2cb33: 0x6d19fe20,\n\t0x2cb34: 0x6d1a0020, 0x2cb35: 0x6c009a20, 0x2cb36: 0x6c031c20, 0x2cb37: 0x6c066820,\n\t0x2cb38: 0x6c066a20, 0x2cb39: 0x6c066c20, 0x2cb3a: 0x6c066e20, 0x2cb3b: 0x6c067020,\n\t0x2cb3c: 0x6c0cd420, 0x2cb3d: 0x6c2ab220, 0x2cb3e: 0x6c44d820, 0x2cb3f: 0x6cb94020,\n\t// Block 0xb2d, offset 0x2cb40\n\t0x2cb40: 0x6c00a020, 0x2cb41: 0x6c00a220, 0x2cb42: 0x6c00a420, 0x2cb43: 0x6c015a20,\n\t0x2cb44: 0x6c015c20, 0x2cb45: 0x6c032420, 0x2cb46: 0x6c032620, 0x2cb47: 0x6c032820,\n\t0x2cb48: 0x6c032a20, 0x2cb49: 0x6c068220, 0x2cb4a: 0x6c068420, 0x2cb4b: 0x6c068620,\n\t0x2cb4c: 0x6c068820, 0x2cb4d: 0x6c068a20, 0x2cb4e: 0x6c0cea20, 0x2cb4f: 0x6c0cec20,\n\t0x2cb50: 0x6c0cee20, 0x2cb51: 0x6c0cf020, 0x2cb52: 0x6c0cf220, 0x2cb53: 0x6c0cf420,\n\t0x2cb54: 0x6c0cf620, 0x2cb55: 0x6c0cf820, 0x2cb56: 0x6c0cfa20, 0x2cb57: 0x6c0cfc20,\n\t0x2cb58: 0x6c0cfe20, 0x2cb59: 0x6c0d0020, 0x2cb5a: 0x6c0d0220, 0x2cb5b: 0x6c0d0420,\n\t0x2cb5c: 0x6c17de20, 0x2cb5d: 0x6c17e020, 0x2cb5e: 0x6c17e220, 0x2cb5f: 0x6c17e420,\n\t0x2cb60: 0x6c17e620, 0x2cb61: 0x6c17e820, 0x2cb62: 0x6c17ea20, 0x2cb63: 0x6c17ec20,\n\t0x2cb64: 0x6c17ee20, 0x2cb65: 0x6c17f020, 0x2cb66: 0x6c17f220, 0x2cb67: 0x6c17f420,\n\t0x2cb68: 0x6c17f620, 0x2cb69: 0x6c17f820, 0x2cb6a: 0x6c17fa20, 0x2cb6b: 0x6c17fc20,\n\t0x2cb6c: 0x6c17fe20, 0x2cb6d: 0x6c180020, 0x2cb6e: 0x6c2ac820, 0x2cb6f: 0x6c2aca20,\n\t0x2cb70: 0x6c2acc20, 0x2cb71: 0x6c2ace20, 0x2cb72: 0x6c2ad020, 0x2cb73: 0x6c2ad220,\n\t0x2cb74: 0x6c2ad420, 0x2cb75: 0x6c2ad620, 0x2cb76: 0x6c2ad820, 0x2cb77: 0x6c2ada20,\n\t0x2cb78: 0x6c2adc20, 0x2cb79: 0x6c2ade20, 0x2cb7a: 0x6c2ae020, 0x2cb7b: 0x6c2ae220,\n\t0x2cb7c: 0x6c2ae420, 0x2cb7d: 0x6c2ae620, 0x2cb7e: 0x6c2ae820, 0x2cb7f: 0x6c2aea20,\n\t// Block 0xb2e, offset 0x2cb80\n\t0x2cb80: 0x6c2aec20, 0x2cb81: 0x6c2aee20, 0x2cb82: 0x6c2af020, 0x2cb83: 0x6c44ea20,\n\t0x2cb84: 0x6c44ec20, 0x2cb85: 0x6c44ee20, 0x2cb86: 0x6c2b4a20, 0x2cb87: 0x6c44f020,\n\t0x2cb88: 0x6c44f220, 0x2cb89: 0x6c44f420, 0x2cb8a: 0x6c44f620, 0x2cb8b: 0x6c44f820,\n\t0x2cb8c: 0x6c44fa20, 0x2cb8d: 0x6c44fc20, 0x2cb8e: 0x6c44fe20, 0x2cb8f: 0x6c450020,\n\t0x2cb90: 0x6c450220, 0x2cb91: 0x6c450420, 0x2cb92: 0x6c661c20, 0x2cb93: 0x6c661e20,\n\t0x2cb94: 0x6c662020, 0x2cb95: 0x6c662220, 0x2cb96: 0x6c662420, 0x2cb97: 0x6c662620,\n\t0x2cb98: 0x6c662820, 0x2cb99: 0x6c662a20, 0x2cb9a: 0x6c662c20, 0x2cb9b: 0x6c662e20,\n\t0x2cb9c: 0x6c663020, 0x2cb9d: 0x6c663220, 0x2cb9e: 0x6c663420, 0x2cb9f: 0x6c663620,\n\t0x2cba0: 0x6c663820, 0x2cba1: 0x6c663a20, 0x2cba2: 0x6c663c20, 0x2cba3: 0x6c663e20,\n\t0x2cba4: 0x6c664020, 0x2cba5: 0x6c664220, 0x2cba6: 0x6c664420, 0x2cba7: 0x6c664620,\n\t0x2cba8: 0x6c8ce420, 0x2cba9: 0x6cb95020, 0x2cbaa: 0x6c8ce620, 0x2cbab: 0x6c8ce820,\n\t0x2cbac: 0x6c8cea20, 0x2cbad: 0x6c8cec20, 0x2cbae: 0x6c8cee20, 0x2cbaf: 0x6c8cf020,\n\t0x2cbb0: 0x6c8cf220, 0x2cbb1: 0x6c8cf420, 0x2cbb2: 0x6cb95220, 0x2cbb3: 0x6cb95420,\n\t0x2cbb4: 0x6cb95620, 0x2cbb5: 0x6cb95820, 0x2cbb6: 0x6c8cf620, 0x2cbb7: 0x6cea4020,\n\t0x2cbb8: 0x6cea4220, 0x2cbb9: 0x6cea4420, 0x2cbba: 0x6cea4620, 0x2cbbb: 0x6cea4820,\n\t0x2cbbc: 0x6cea4a20, 0x2cbbd: 0x6cea4c20, 0x2cbbe: 0x6cea4e20, 0x2cbbf: 0x6cea5020,\n\t// Block 0xb2f, offset 0x2cbc0\n\t0x2cbc0: 0x6d1a2620, 0x2cbc1: 0x6d1a2820, 0x2cbc2: 0x6d1a2a20, 0x2cbc3: 0x6d1a2c20,\n\t0x2cbc4: 0x6d1a2e20, 0x2cbc5: 0x6d489820, 0x2cbc6: 0x6d489a20, 0x2cbc7: 0x6d489c20,\n\t0x2cbc8: 0x6d489e20, 0x2cbc9: 0x6d48a020, 0x2cbca: 0x6d48a220, 0x2cbcb: 0x6d48a420,\n\t0x2cbcc: 0x6d48a620, 0x2cbcd: 0x6d48a820, 0x2cbce: 0x6d48aa20, 0x2cbcf: 0x6d48ac20,\n\t0x2cbd0: 0x6d76aa20, 0x2cbd1: 0x6d76ac20, 0x2cbd2: 0x6d76ae20, 0x2cbd3: 0x6d76b020,\n\t0x2cbd4: 0x6d76b220, 0x2cbd5: 0x6da03420, 0x2cbd6: 0x6de05820, 0x2cbd7: 0x6e0c7220,\n\t0x2cbd8: 0x6e0c7420, 0x2cbd9: 0x6e286020, 0x2cbda: 0x6e286220, 0x2cbdb: 0x6c00a820,\n\t0x2cbdc: 0x6c016020, 0x2cbdd: 0x6c033c20, 0x2cbde: 0x6c033e20, 0x2cbdf: 0x6c06a420,\n\t0x2cbe0: 0x6c06a620, 0x2cbe1: 0x6c06a820, 0x2cbe2: 0x6c06aa20, 0x2cbe3: 0x6c0d4020,\n\t0x2cbe4: 0x6c0d4220, 0x2cbe5: 0x6c0d4420, 0x2cbe6: 0x6c0d4620, 0x2cbe7: 0x6c0d4820,\n\t0x2cbe8: 0x6c0d4a20, 0x2cbe9: 0x6c183c20, 0x2cbea: 0x6c183e20, 0x2cbeb: 0x6c184020,\n\t0x2cbec: 0x6c184220, 0x2cbed: 0x6c184420, 0x2cbee: 0x6c184620, 0x2cbef: 0x6c184820,\n\t0x2cbf0: 0x6c184a20, 0x2cbf1: 0x6c184c20, 0x2cbf2: 0x6c184e20, 0x2cbf3: 0x6c185020,\n\t0x2cbf4: 0x6c185220, 0x2cbf5: 0x6c2b5220, 0x2cbf6: 0x6c2b5420, 0x2cbf7: 0x6c2b5620,\n\t0x2cbf8: 0x6c2b5820, 0x2cbf9: 0x6c2b5a20, 0x2cbfa: 0x6c2b5c20, 0x2cbfb: 0x6c2b5e20,\n\t0x2cbfc: 0x6c2b6020, 0x2cbfd: 0x6c2b6220, 0x2cbfe: 0x6c2b6420, 0x2cbff: 0x6c2b6620,\n\t// Block 0xb30, offset 0x2cc00\n\t0x2cc00: 0x6c455020, 0x2cc01: 0x6c455220, 0x2cc02: 0x6c455420, 0x2cc03: 0x6c455620,\n\t0x2cc04: 0x6c455820, 0x2cc05: 0x6c455a20, 0x2cc06: 0x6c2b8620, 0x2cc07: 0x6c455c20,\n\t0x2cc08: 0x6c455e20, 0x2cc09: 0x6c456020, 0x2cc0a: 0x6c456220, 0x2cc0b: 0x6c456420,\n\t0x2cc0c: 0x6c66ac20, 0x2cc0d: 0x6c66ae20, 0x2cc0e: 0x6c66b020, 0x2cc0f: 0x6c66b220,\n\t0x2cc10: 0x6c66b420, 0x2cc11: 0x6c66b620, 0x2cc12: 0x6c8d4420, 0x2cc13: 0x6c8d4620,\n\t0x2cc14: 0x6c8d4820, 0x2cc15: 0x6c8d4a20, 0x2cc16: 0x6c8d4c20, 0x2cc17: 0x6c9b7c20,\n\t0x2cc18: 0x6c8d4e20, 0x2cc19: 0x6c8d5020, 0x2cc1a: 0x6c8d5220, 0x2cc1b: 0x6cb9ac20,\n\t0x2cc1c: 0x6cb9ae20, 0x2cc1d: 0x6cb9b020, 0x2cc1e: 0x6cb9b220, 0x2cc1f: 0x6cea9220,\n\t0x2cc20: 0x6cea9420, 0x2cc21: 0x6cea9620, 0x2cc22: 0x6cea9820, 0x2cc23: 0x6cea9a20,\n\t0x2cc24: 0x6cea9c20, 0x2cc25: 0x6cea9e20, 0x2cc26: 0x6ceaa020, 0x2cc27: 0x6ceaa220,\n\t0x2cc28: 0x6d1a7820, 0x2cc29: 0x6d1a7a20, 0x2cc2a: 0x6d1a7c20, 0x2cc2b: 0x6d1a7e20,\n\t0x2cc2c: 0x6d1a8020, 0x2cc2d: 0x6d1a8220, 0x2cc2e: 0x6d48da20, 0x2cc2f: 0x6d48dc20,\n\t0x2cc30: 0x6d48de20, 0x2cc31: 0x6d48e020, 0x2cc32: 0x6d48e220, 0x2cc33: 0x6d76da20,\n\t0x2cc34: 0x6da05c20, 0x2cc35: 0x6da05e20, 0x2cc36: 0x6da06020, 0x2cc37: 0x6de06020,\n\t0x2cc38: 0x6de06620, 0x2cc39: 0x6c00aa20, 0x2cc3a: 0x6c016420, 0x2cc3b: 0x6c034620,\n\t0x2cc3c: 0x6c034820, 0x2cc3d: 0x6c034a20, 0x2cc3e: 0x6c034c20, 0x2cc3f: 0x6c034e20,\n\t// Block 0xb31, offset 0x2cc40\n\t0x2cc40: 0x6c035020, 0x2cc41: 0x6c035220, 0x2cc42: 0x6c035420, 0x2cc43: 0x6c06b420,\n\t0x2cc44: 0x6c06b620, 0x2cc45: 0x6c06b820, 0x2cc46: 0x6c06ba20, 0x2cc47: 0x6c06bc20,\n\t0x2cc48: 0x6c0d5e20, 0x2cc49: 0x6c187820, 0x2cc4a: 0x6c2b8820, 0x2cc4b: 0x6c2b8a20,\n\t0x2cc4c: 0x6c2b8c20, 0x2cc4d: 0x6c458220, 0x2cc4e: 0x6c66de20, 0x2cc4f: 0x6c8d6c20,\n\t0x2cc50: 0x6c8d6e20, 0x2cc51: 0x6cb9d620, 0x2cc52: 0x6cb9d820, 0x2cc53: 0x6c8d7e20,\n\t0x2cc54: 0x6d48f220, 0x2cc55: 0x6c00ac20, 0x2cc56: 0x6c035a20, 0x2cc57: 0x6c06c620,\n\t0x2cc58: 0x6c8d8220, 0x2cc59: 0x6c8d8420, 0x2cc5a: 0x6c00b020, 0x2cc5b: 0x6c06ca20,\n\t0x2cc5c: 0x6c06cc20, 0x2cc5d: 0x6c06ce20, 0x2cc5e: 0x6c06d020, 0x2cc5f: 0x6c0d6820,\n\t0x2cc60: 0x6c0d6a20, 0x2cc61: 0x6c0d6c20, 0x2cc62: 0x6c0d6e20, 0x2cc63: 0x6c189020,\n\t0x2cc64: 0x6c189220, 0x2cc65: 0x6c189420, 0x2cc66: 0x6c2b9e20, 0x2cc67: 0x6c45a020,\n\t0x2cc68: 0x6c45a220, 0x2cc69: 0x6c45a420, 0x2cc6a: 0x6c66fc20, 0x2cc6b: 0x6c66fe20,\n\t0x2cc6c: 0x6c8d8820, 0x2cc6d: 0x6c8d8a20, 0x2cc6e: 0x6c8d8c20, 0x2cc6f: 0x6cead820,\n\t0x2cc70: 0x6d1abc20, 0x2cc71: 0x6d1abe20, 0x2cc72: 0x6d1ac020, 0x2cc73: 0x6d48f620,\n\t0x2cc74: 0x6d76ea20, 0x2cc75: 0x6da07820, 0x2cc76: 0x6de06820, 0x2cc77: 0x6df8ba20,\n\t0x2cc78: 0x6c00b420, 0x2cc79: 0x6c036020, 0x2cc7a: 0x6c036220, 0x2cc7b: 0x6c18a620,\n\t0x2cc7c: 0x6c2ba820, 0x2cc7d: 0x6c45c020, 0x2cc7e: 0x6c8d9220, 0x2cc7f: 0x6c8d9420,\n\t// Block 0xb32, offset 0x2cc80\n\t0x2cc80: 0x6c8d9620, 0x2cc81: 0x6c00b620, 0x2cc82: 0x6c016820, 0x2cc83: 0x6c016a20,\n\t0x2cc84: 0x6c00e620, 0x2cc85: 0x6c036820, 0x2cc86: 0x6c036a20, 0x2cc87: 0x6c036c20,\n\t0x2cc88: 0x6c036e20, 0x2cc89: 0x6c06d220, 0x2cc8a: 0x6c06d420, 0x2cc8b: 0x6c0d8420,\n\t0x2cc8c: 0x6c06d620, 0x2cc8d: 0x6c0d8620, 0x2cc8e: 0x6c0d8820, 0x2cc8f: 0x6c0d8a20,\n\t0x2cc90: 0x6c0d8c20, 0x2cc91: 0x6c2bac20, 0x2cc92: 0x6c2bae20, 0x2cc93: 0x6c2bb020,\n\t0x2cc94: 0x6c2bb220, 0x2cc95: 0x6c2bb420, 0x2cc96: 0x6c2bb620, 0x2cc97: 0x6c45c820,\n\t0x2cc98: 0x6c45ca20, 0x2cc99: 0x6c8d9820, 0x2cc9a: 0x6cb9f220, 0x2cc9b: 0x6e0c8420,\n\t0x2cc9c: 0x6c00ba20, 0x2cc9d: 0x6c037620, 0x2cc9e: 0x6c037820, 0x2cc9f: 0x6c06e220,\n\t0x2cca0: 0x6c06e420, 0x2cca1: 0x6c06e620, 0x2cca2: 0x6c06e820, 0x2cca3: 0x6c18c020,\n\t0x2cca4: 0x6c18c220, 0x2cca5: 0x6c2bd620, 0x2cca6: 0x6c2bd820, 0x2cca7: 0x6c2bda20,\n\t0x2cca8: 0x6c8da820, 0x2cca9: 0x6c00bc20, 0x2ccaa: 0x6c017220, 0x2ccab: 0x6c017420,\n\t0x2ccac: 0x6c037c20, 0x2ccad: 0x6c06ec20, 0x2ccae: 0x6c06ee20, 0x2ccaf: 0x6c06f020,\n\t0x2ccb0: 0x6c0db820, 0x2ccb1: 0x6c0dba20, 0x2ccb2: 0x6c18d220, 0x2ccb3: 0x6c18d420,\n\t0x2ccb4: 0x6c18d620, 0x2ccb5: 0x6c18d820, 0x2ccb6: 0x6c2bf420, 0x2ccb7: 0x6c2bf620,\n\t0x2ccb8: 0x6c2bf820, 0x2ccb9: 0x6c2bfa20, 0x2ccba: 0x6c2bfc20, 0x2ccbb: 0x6c45e420,\n\t0x2ccbc: 0x6c45e620, 0x2ccbd: 0x6c45e820, 0x2ccbe: 0x6c8db620, 0x2ccbf: 0x6c673020,\n\t// Block 0xb33, offset 0x2ccc0\n\t0x2ccc0: 0x6ceaf820, 0x2ccc1: 0x6ceafa20, 0x2ccc2: 0x6c00be20, 0x2ccc3: 0x6c038620,\n\t0x2ccc4: 0x6c038820, 0x2ccc5: 0x6c038a20, 0x2ccc6: 0x6c038c20, 0x2ccc7: 0x6c06f420,\n\t0x2ccc8: 0x6c06f620, 0x2ccc9: 0x6c06f820, 0x2ccca: 0x6c0dce20, 0x2cccb: 0x6c0dd020,\n\t0x2cccc: 0x6c0dd220, 0x2cccd: 0x6c0dd420, 0x2ccce: 0x6c18e220, 0x2cccf: 0x6c18e420,\n\t0x2ccd0: 0x6c18e620, 0x2ccd1: 0x6c18e820, 0x2ccd2: 0x6c2c0420, 0x2ccd3: 0x6c2c0620,\n\t0x2ccd4: 0x6c2c0820, 0x2ccd5: 0x6c2c0a20, 0x2ccd6: 0x6c45f820, 0x2ccd7: 0x6c45fa20,\n\t0x2ccd8: 0x6c45fc20, 0x2ccd9: 0x6c45fe20, 0x2ccda: 0x6c460020, 0x2ccdb: 0x6c460220,\n\t0x2ccdc: 0x6c673820, 0x2ccdd: 0x6c673a20, 0x2ccde: 0x6c673c20, 0x2ccdf: 0x6c673e20,\n\t0x2cce0: 0x6c8db820, 0x2cce1: 0x6c8dba20, 0x2cce2: 0x6c8dbc20, 0x2cce3: 0x6c8dbe20,\n\t0x2cce4: 0x6cba0c20, 0x2cce5: 0x6cba0e20, 0x2cce6: 0x6cba1020, 0x2cce7: 0x6cba1220,\n\t0x2cce8: 0x6cba1420, 0x2cce9: 0x6c8dc020, 0x2ccea: 0x6ceb0420, 0x2cceb: 0x6ceb0620,\n\t0x2ccec: 0x6d1ae020, 0x2cced: 0x6d1ae220, 0x2ccee: 0x6d1ae420, 0x2ccef: 0x6ceb2020,\n\t0x2ccf0: 0x6d1ae620, 0x2ccf1: 0x6d491a20, 0x2ccf2: 0x6d491c20, 0x2ccf3: 0x6da08820,\n\t0x2ccf4: 0x6de07020, 0x2ccf5: 0x6e451620, 0x2ccf6: 0x6c00c020, 0x2ccf7: 0x6c039220,\n\t0x2ccf8: 0x6c039420, 0x2ccf9: 0x6c039620, 0x2ccfa: 0x6c070a20, 0x2ccfb: 0x6c070c20,\n\t0x2ccfc: 0x6c070e20, 0x2ccfd: 0x6c0df220, 0x2ccfe: 0x6c0df420, 0x2ccff: 0x6c190420,\n\t// Block 0xb34, offset 0x2cd00\n\t0x2cd00: 0x6c2c2820, 0x2cd01: 0x6c2c2a20, 0x2cd02: 0x6c2c2c20, 0x2cd03: 0x6c8de620,\n\t0x2cd04: 0x6c8de820, 0x2cd05: 0x6cba2e20, 0x2cd06: 0x6d1b1420, 0x2cd07: 0x6d493c20,\n\t0x2cd08: 0x6c00c420, 0x2cd09: 0x6c017e20, 0x2cd0a: 0x6c03a020, 0x2cd0b: 0x6c03a220,\n\t0x2cd0c: 0x6c03a420, 0x2cd0d: 0x6c03a620, 0x2cd0e: 0x6c03a820, 0x2cd0f: 0x6c071a20,\n\t0x2cd10: 0x6c071c20, 0x2cd11: 0x6c071e20, 0x2cd12: 0x6c0e0820, 0x2cd13: 0x6c190e20,\n\t0x2cd14: 0x6c2c3c20, 0x2cd15: 0x6c2c3e20, 0x2cd16: 0x6c2c4020, 0x2cd17: 0x6c2c4220,\n\t0x2cd18: 0x6c2c4420, 0x2cd19: 0x6c464020, 0x2cd1a: 0x6c464220, 0x2cd1b: 0x6c464420,\n\t0x2cd1c: 0x6c464620, 0x2cd1d: 0x6c464820, 0x2cd1e: 0x6c677c20, 0x2cd1f: 0x6c677e20,\n\t0x2cd20: 0x6ceb3220, 0x2cd21: 0x6d76fc20, 0x2cd22: 0x6dc2f620, 0x2cd23: 0x6c018020,\n\t0x2cd24: 0x6c073620, 0x2cd25: 0x6c073820, 0x2cd26: 0x6c073a20, 0x2cd27: 0x6c073c20,\n\t0x2cd28: 0x6c073e20, 0x2cd29: 0x6c074020, 0x2cd2a: 0x6c074220, 0x2cd2b: 0x6c074420,\n\t0x2cd2c: 0x6c074620, 0x2cd2d: 0x6c074820, 0x2cd2e: 0x6c074a20, 0x2cd2f: 0x6c074c20,\n\t0x2cd30: 0x6c074e20, 0x2cd31: 0x6c075020, 0x2cd32: 0x6c075220, 0x2cd33: 0x6c075420,\n\t0x2cd34: 0x6c075620, 0x2cd35: 0x6c075820, 0x2cd36: 0x6c075a20, 0x2cd37: 0x6c075c20,\n\t0x2cd38: 0x6c075e20, 0x2cd39: 0x6c076020, 0x2cd3a: 0x6c076220, 0x2cd3b: 0x6c076420,\n\t0x2cd3c: 0x6c076620, 0x2cd3d: 0x6c076820, 0x2cd3e: 0x6c076a20, 0x2cd3f: 0x6c0e2220,\n\t// Block 0xb35, offset 0x2cd40\n\t0x2cd40: 0x6c0e2420, 0x2cd41: 0x6c0e2620, 0x2cd42: 0x6c0e2820, 0x2cd43: 0x6c0e2a20,\n\t0x2cd44: 0x6c0e2c20, 0x2cd45: 0x6c0e2e20, 0x2cd46: 0x6c0e3020, 0x2cd47: 0x6c0e3220,\n\t0x2cd48: 0x6c0e3420, 0x2cd49: 0x6c0e3620, 0x2cd4a: 0x6c0e3820, 0x2cd4b: 0x6c0e3a20,\n\t0x2cd4c: 0x6c0e3c20, 0x2cd4d: 0x6c0e3e20, 0x2cd4e: 0x6c0e4020, 0x2cd4f: 0x6c0e4220,\n\t0x2cd50: 0x6c0e4420, 0x2cd51: 0x6c0e4620, 0x2cd52: 0x6c0e4820, 0x2cd53: 0x6c0e4a20,\n\t0x2cd54: 0x6c0e4c20, 0x2cd55: 0x6c0e4e20, 0x2cd56: 0x6c0e5020, 0x2cd57: 0x6c0e5220,\n\t0x2cd58: 0x6c193e20, 0x2cd59: 0x6c194020, 0x2cd5a: 0x6c194220, 0x2cd5b: 0x6c194420,\n\t0x2cd5c: 0x6c194620, 0x2cd5d: 0x6c194820, 0x2cd5e: 0x6c194a20, 0x2cd5f: 0x6c194c20,\n\t0x2cd60: 0x6c194e20, 0x2cd61: 0x6c195020, 0x2cd62: 0x6c195220, 0x2cd63: 0x6c195420,\n\t0x2cd64: 0x6c195620, 0x2cd65: 0x6c195820, 0x2cd66: 0x6c195a20, 0x2cd67: 0x6c195c20,\n\t0x2cd68: 0x6c195e20, 0x2cd69: 0x6c196020, 0x2cd6a: 0x6c196220, 0x2cd6b: 0x6c196420,\n\t0x2cd6c: 0x6c196620, 0x2cd6d: 0x6c196820, 0x2cd6e: 0x6c196a20, 0x2cd6f: 0x6c196c20,\n\t0x2cd70: 0x6c196e20, 0x2cd71: 0x6c197020, 0x2cd72: 0x6c197220, 0x2cd73: 0x6c197420,\n\t0x2cd74: 0x6c197620, 0x2cd75: 0x6c197820, 0x2cd76: 0x6c197a20, 0x2cd77: 0x6c197c20,\n\t0x2cd78: 0x6c197e20, 0x2cd79: 0x6c198020, 0x2cd7a: 0x6c198220, 0x2cd7b: 0x6c198420,\n\t0x2cd7c: 0x6c198620, 0x2cd7d: 0x6c198820, 0x2cd7e: 0x6c198a20, 0x2cd7f: 0x6c198c20,\n\t// Block 0xb36, offset 0x2cd80\n\t0x2cd80: 0x6c198e20, 0x2cd81: 0x6c199020, 0x2cd82: 0x6c199220, 0x2cd83: 0x6c199420,\n\t0x2cd84: 0x6c199620, 0x2cd85: 0x6c199820, 0x2cd86: 0x6c199a20, 0x2cd87: 0x6c199c20,\n\t0x2cd88: 0x6c199e20, 0x2cd89: 0x6c19a020, 0x2cd8a: 0x6c19a220, 0x2cd8b: 0x6c19a420,\n\t0x2cd8c: 0x6c19a620, 0x2cd8d: 0x6c19a820, 0x2cd8e: 0x6c19aa20, 0x2cd8f: 0x6c19ac20,\n\t0x2cd90: 0x6c19ae20, 0x2cd91: 0x6c19b020, 0x2cd92: 0x6c19b220, 0x2cd93: 0x6c19b420,\n\t0x2cd94: 0x6c19b620, 0x2cd95: 0x6c19b820, 0x2cd96: 0x6c19ba20, 0x2cd97: 0x6c19bc20,\n\t0x2cd98: 0x6c19be20, 0x2cd99: 0x6c19c020, 0x2cd9a: 0x6c19c220, 0x2cd9b: 0x6c19c420,\n\t0x2cd9c: 0x6c19c620, 0x2cd9d: 0x6c2c6820, 0x2cd9e: 0x6c2c6a20, 0x2cd9f: 0x6c2c6c20,\n\t0x2cda0: 0x6c2c6e20, 0x2cda1: 0x6c2c7020, 0x2cda2: 0x6c2c7220, 0x2cda3: 0x6c2c7420,\n\t0x2cda4: 0x6c2c7620, 0x2cda5: 0x6c2c7820, 0x2cda6: 0x6c2c7a20, 0x2cda7: 0x6c2c7c20,\n\t0x2cda8: 0x6c2c7e20, 0x2cda9: 0x6c2c8020, 0x2cdaa: 0x6c2c8220, 0x2cdab: 0x6c2c8420,\n\t0x2cdac: 0x6c2c8620, 0x2cdad: 0x6c2c8820, 0x2cdae: 0x6c2c8a20, 0x2cdaf: 0x6c2c8c20,\n\t0x2cdb0: 0x6c466420, 0x2cdb1: 0x6c2c8e20, 0x2cdb2: 0x6c466620, 0x2cdb3: 0x6c2c9020,\n\t0x2cdb4: 0x6c2c9220, 0x2cdb5: 0x6c2c9420, 0x2cdb6: 0x6c2c9620, 0x2cdb7: 0x6c2c9820,\n\t0x2cdb8: 0x6c2c9a20, 0x2cdb9: 0x6c2c9c20, 0x2cdba: 0x6c2c9e20, 0x2cdbb: 0x6c2ca020,\n\t0x2cdbc: 0x6c2ca220, 0x2cdbd: 0x6c2ca420, 0x2cdbe: 0x6c2ca620, 0x2cdbf: 0x6c2ca820,\n\t// Block 0xb37, offset 0x2cdc0\n\t0x2cdc0: 0x6c2caa20, 0x2cdc1: 0x6c2cac20, 0x2cdc2: 0x6c2cae20, 0x2cdc3: 0x6c2cb020,\n\t0x2cdc4: 0x6c2cb220, 0x2cdc5: 0x6c2cb420, 0x2cdc6: 0x6c2cb620, 0x2cdc7: 0x6c2cb820,\n\t0x2cdc8: 0x6c2cba20, 0x2cdc9: 0x6c2cbc20, 0x2cdca: 0x6c2cbe20, 0x2cdcb: 0x6c2cc020,\n\t0x2cdcc: 0x6c2cc220, 0x2cdcd: 0x6c2cc420, 0x2cdce: 0x6c2cc620, 0x2cdcf: 0x6c2cc820,\n\t0x2cdd0: 0x6c2cca20, 0x2cdd1: 0x6c2ccc20, 0x2cdd2: 0x6c2cce20, 0x2cdd3: 0x6c2cd020,\n\t0x2cdd4: 0x6c2cd220, 0x2cdd5: 0x6c2cd420, 0x2cdd6: 0x6c2cd620, 0x2cdd7: 0x6c2cd820,\n\t0x2cdd8: 0x6c2cda20, 0x2cdd9: 0x6c2cdc20, 0x2cdda: 0x6c2cde20, 0x2cddb: 0x6c2ce020,\n\t0x2cddc: 0x6c2ce220, 0x2cddd: 0x6c2ce420, 0x2cdde: 0x6c468620, 0x2cddf: 0x6c468820,\n\t0x2cde0: 0x6c468a20, 0x2cde1: 0x6c468c20, 0x2cde2: 0x6c468e20, 0x2cde3: 0x6c469020,\n\t0x2cde4: 0x6c469220, 0x2cde5: 0x6c469420, 0x2cde6: 0x6c469620, 0x2cde7: 0x6c469820,\n\t0x2cde8: 0x6c469a20, 0x2cde9: 0x6c469c20, 0x2cdea: 0x6c469e20, 0x2cdeb: 0x6c46a020,\n\t0x2cdec: 0x6c46a220, 0x2cded: 0x6c46a420, 0x2cdee: 0x6c46a620, 0x2cdef: 0x6c46a820,\n\t0x2cdf0: 0x6c46aa20, 0x2cdf1: 0x6c46ac20, 0x2cdf2: 0x6c46ae20, 0x2cdf3: 0x6c46b020,\n\t0x2cdf4: 0x6c46b220, 0x2cdf5: 0x6c46b420, 0x2cdf6: 0x6c46b620, 0x2cdf7: 0x6c46b820,\n\t0x2cdf8: 0x6c46ba20, 0x2cdf9: 0x6c46bc20, 0x2cdfa: 0x6c46be20, 0x2cdfb: 0x6c46c020,\n\t0x2cdfc: 0x6c46c220, 0x2cdfd: 0x6c46c420, 0x2cdfe: 0x6c46c620, 0x2cdff: 0x6c46c820,\n\t// Block 0xb38, offset 0x2ce00\n\t0x2ce00: 0x6c46ca20, 0x2ce01: 0x6c46cc20, 0x2ce02: 0x6c46ce20, 0x2ce03: 0x6c46d020,\n\t0x2ce04: 0x6c46d220, 0x2ce05: 0x6c46d420, 0x2ce06: 0x6c46d620, 0x2ce07: 0x6c46d820,\n\t0x2ce08: 0x6c46da20, 0x2ce09: 0x6c46dc20, 0x2ce0a: 0x6c46de20, 0x2ce0b: 0x6c46e020,\n\t0x2ce0c: 0x6c46e220, 0x2ce0d: 0x6c46e420, 0x2ce0e: 0x6c46e620, 0x2ce0f: 0x6c46e820,\n\t0x2ce10: 0x6c46ea20, 0x2ce11: 0x6c46ec20, 0x2ce12: 0x6c46ee20, 0x2ce13: 0x6c46f020,\n\t0x2ce14: 0x6c46f220, 0x2ce15: 0x6c46f420, 0x2ce16: 0x6c46f620, 0x2ce17: 0x6c46f820,\n\t0x2ce18: 0x6c46fa20, 0x2ce19: 0x6c46fc20, 0x2ce1a: 0x6c46fe20, 0x2ce1b: 0x6c470020,\n\t0x2ce1c: 0x6c470220, 0x2ce1d: 0x6c470420, 0x2ce1e: 0x6c470620, 0x2ce1f: 0x6c470820,\n\t0x2ce20: 0x6c67ba20, 0x2ce21: 0x6c67bc20, 0x2ce22: 0x6c67be20, 0x2ce23: 0x6c67c020,\n\t0x2ce24: 0x6c67c220, 0x2ce25: 0x6c67c420, 0x2ce26: 0x6c67c620, 0x2ce27: 0x6c67c820,\n\t0x2ce28: 0x6c67ca20, 0x2ce29: 0x6c67cc20, 0x2ce2a: 0x6c67ce20, 0x2ce2b: 0x6c67d020,\n\t0x2ce2c: 0x6c67d220, 0x2ce2d: 0x6c67d420, 0x2ce2e: 0x6c67d620, 0x2ce2f: 0x6c67d820,\n\t0x2ce30: 0x6c67da20, 0x2ce31: 0x6c67dc20, 0x2ce32: 0x6c67de20, 0x2ce33: 0x6c67e020,\n\t0x2ce34: 0x6c67e220, 0x2ce35: 0x6c67e420, 0x2ce36: 0x6c67e620, 0x2ce37: 0x6c67e820,\n\t0x2ce38: 0x6c67ea20, 0x2ce39: 0x6c67ec20, 0x2ce3a: 0x6c67ee20, 0x2ce3b: 0x6c67f020,\n\t0x2ce3c: 0x6c67f220, 0x2ce3d: 0x6c67f420, 0x2ce3e: 0x6c67f620, 0x2ce3f: 0x6c67f820,\n\t// Block 0xb39, offset 0x2ce40\n\t0x2ce40: 0x6c67fa20, 0x2ce41: 0x6c67fc20, 0x2ce42: 0x6c67fe20, 0x2ce43: 0x6c680020,\n\t0x2ce44: 0x6c680220, 0x2ce45: 0x6c680420, 0x2ce46: 0x6c680620, 0x2ce47: 0x6c680820,\n\t0x2ce48: 0x6c680a20, 0x2ce49: 0x6c680c20, 0x2ce4a: 0x6c680e20, 0x2ce4b: 0x6c681020,\n\t0x2ce4c: 0x6c8e1020, 0x2ce4d: 0x6c681220, 0x2ce4e: 0x6c681420, 0x2ce4f: 0x6c681620,\n\t0x2ce50: 0x6c681820, 0x2ce51: 0x6c681a20, 0x2ce52: 0x6c681c20, 0x2ce53: 0x6c681e20,\n\t0x2ce54: 0x6c682020, 0x2ce55: 0x6c682220, 0x2ce56: 0x6c682420, 0x2ce57: 0x6c682620,\n\t0x2ce58: 0x6c682820, 0x2ce59: 0x6c682a20, 0x2ce5a: 0x6c682c20, 0x2ce5b: 0x6c682e20,\n\t0x2ce5c: 0x6c683020, 0x2ce5d: 0x6c683220, 0x2ce5e: 0x6c683420, 0x2ce5f: 0x6c683620,\n\t0x2ce60: 0x6c683820, 0x2ce61: 0x6c683a20, 0x2ce62: 0x6c683c20, 0x2ce63: 0x6c683e20,\n\t0x2ce64: 0x6c684020, 0x2ce65: 0x6c684220, 0x2ce66: 0x6c684420, 0x2ce67: 0x6c684620,\n\t0x2ce68: 0x6c8e4020, 0x2ce69: 0x6c8e4220, 0x2ce6a: 0x6c8e4420, 0x2ce6b: 0x6c8e4620,\n\t0x2ce6c: 0x6c8e4820, 0x2ce6d: 0x6c8e4a20, 0x2ce6e: 0x6c8e4c20, 0x2ce6f: 0x6c8e4e20,\n\t0x2ce70: 0x6c8e5020, 0x2ce71: 0x6c8e5220, 0x2ce72: 0x6c8e5420, 0x2ce73: 0x6c8e5620,\n\t0x2ce74: 0x6c8e5820, 0x2ce75: 0x6c8e5a20, 0x2ce76: 0x6c8e5c20, 0x2ce77: 0x6c8e5e20,\n\t0x2ce78: 0x6c8e6020, 0x2ce79: 0x6c8e6220, 0x2ce7a: 0x6c8e6420, 0x2ce7b: 0x6c8e6620,\n\t0x2ce7c: 0x6c8e6820, 0x2ce7d: 0x6c8e6a20, 0x2ce7e: 0x6c8e6c20, 0x2ce7f: 0x6c8e6e20,\n\t// Block 0xb3a, offset 0x2ce80\n\t0x2ce80: 0x6c8e7020, 0x2ce81: 0x6c8e7220, 0x2ce82: 0x6c8e7420, 0x2ce83: 0x6c8e7620,\n\t0x2ce84: 0x6c8e7820, 0x2ce85: 0x6c8e7a20, 0x2ce86: 0x6c8e7c20, 0x2ce87: 0x6c8e7e20,\n\t0x2ce88: 0x6c8e8020, 0x2ce89: 0x6c8e8220, 0x2ce8a: 0x6c8e8420, 0x2ce8b: 0x6c8e8620,\n\t0x2ce8c: 0x6c8e8820, 0x2ce8d: 0x6c8e8a20, 0x2ce8e: 0x6c8e8c20, 0x2ce8f: 0x6c8e8e20,\n\t0x2ce90: 0x6c8e9020, 0x2ce91: 0x6c8e9220, 0x2ce92: 0x6c8e9420, 0x2ce93: 0x6c8e9620,\n\t0x2ce94: 0x6c8e9820, 0x2ce95: 0x6c8e9a20, 0x2ce96: 0x6c8e9c20, 0x2ce97: 0x6c8e9e20,\n\t0x2ce98: 0x6c8ea020, 0x2ce99: 0x6cba9420, 0x2ce9a: 0x6c8ea220, 0x2ce9b: 0x6c8ea420,\n\t0x2ce9c: 0x6c8ea620, 0x2ce9d: 0x6c8ea820, 0x2ce9e: 0x6c8eaa20, 0x2ce9f: 0x6c9aaa20,\n\t0x2cea0: 0x6c8eac20, 0x2cea1: 0x6c8eae20, 0x2cea2: 0x6c8eb020, 0x2cea3: 0x6c8eb220,\n\t0x2cea4: 0x6c8eb420, 0x2cea5: 0x6c8eb620, 0x2cea6: 0x6c8eb820, 0x2cea7: 0x6c8eba20,\n\t0x2cea8: 0x6c8ebc20, 0x2cea9: 0x6c8ebe20, 0x2ceaa: 0x6c8ec020, 0x2ceab: 0x6c901820,\n\t0x2ceac: 0x6c8ec220, 0x2cead: 0x6c8ec420, 0x2ceae: 0x6c8ec620, 0x2ceaf: 0x6c8ec820,\n\t0x2ceb0: 0x6c8eca20, 0x2ceb1: 0x6c8ecc20, 0x2ceb2: 0x6c8ece20, 0x2ceb3: 0x6c8ed020,\n\t0x2ceb4: 0x6c8ed220, 0x2ceb5: 0x6c8ed420, 0x2ceb6: 0x6c8ed620, 0x2ceb7: 0x6c8ed820,\n\t0x2ceb8: 0x6c8eda20, 0x2ceb9: 0x6c8edc20, 0x2ceba: 0x6cba9620, 0x2cebb: 0x6cba9820,\n\t0x2cebc: 0x6cba9a20, 0x2cebd: 0x6cba9c20, 0x2cebe: 0x6cba9e20, 0x2cebf: 0x6cbaa020,\n\t// Block 0xb3b, offset 0x2cec0\n\t0x2cec0: 0x6cbaa220, 0x2cec1: 0x6cbaa420, 0x2cec2: 0x6cbaa620, 0x2cec3: 0x6cbaa820,\n\t0x2cec4: 0x6cbaaa20, 0x2cec5: 0x6cbaac20, 0x2cec6: 0x6cbaae20, 0x2cec7: 0x6cbab020,\n\t0x2cec8: 0x6cbab220, 0x2cec9: 0x6cbab420, 0x2ceca: 0x6cbab620, 0x2cecb: 0x6cbab820,\n\t0x2cecc: 0x6cbaba20, 0x2cecd: 0x6ceb6e20, 0x2cece: 0x6cbabc20, 0x2cecf: 0x6cbabe20,\n\t0x2ced0: 0x6cbac020, 0x2ced1: 0x6cbac220, 0x2ced2: 0x6cbac420, 0x2ced3: 0x6cbac620,\n\t0x2ced4: 0x6cbac820, 0x2ced5: 0x6cbaca20, 0x2ced6: 0x6cbacc20, 0x2ced7: 0x6cbace20,\n\t0x2ced8: 0x6cbad020, 0x2ced9: 0x6cbad220, 0x2ceda: 0x6cbad420, 0x2cedb: 0x6cbad620,\n\t0x2cedc: 0x6cbad820, 0x2cedd: 0x6cbada20, 0x2cede: 0x6cbadc20, 0x2cedf: 0x6cbade20,\n\t0x2cee0: 0x6cbae020, 0x2cee1: 0x6cbae220, 0x2cee2: 0x6cbae420, 0x2cee3: 0x6cbae620,\n\t0x2cee4: 0x6cbae820, 0x2cee5: 0x6cbaea20, 0x2cee6: 0x6cbaec20, 0x2cee7: 0x6cbaee20,\n\t0x2cee8: 0x6cbaf020, 0x2cee9: 0x6cbaf220, 0x2ceea: 0x6cbaf420, 0x2ceeb: 0x6cbaf620,\n\t0x2ceec: 0x6cbaf820, 0x2ceed: 0x6cbafa20, 0x2ceee: 0x6cbafc20, 0x2ceef: 0x6cbafe20,\n\t0x2cef0: 0x6cbb0020, 0x2cef1: 0x6cbb0220, 0x2cef2: 0x6cbb0420, 0x2cef3: 0x6cbb0620,\n\t0x2cef4: 0x6cbb0820, 0x2cef5: 0x6cbb0a20, 0x2cef6: 0x6c901a20, 0x2cef7: 0x6cbb0c20,\n\t0x2cef8: 0x6cbb0e20, 0x2cef9: 0x6cbb1020, 0x2cefa: 0x6cbb1220, 0x2cefb: 0x6cbb1420,\n\t0x2cefc: 0x6cbb1620, 0x2cefd: 0x6cbb1820, 0x2cefe: 0x6cbb1a20, 0x2ceff: 0x6ceb7020,\n\t// Block 0xb3c, offset 0x2cf00\n\t0x2cf00: 0x6ceb7220, 0x2cf01: 0x6ceb7420, 0x2cf02: 0x6ceb7620, 0x2cf03: 0x6ceb7820,\n\t0x2cf04: 0x6ceb7a20, 0x2cf05: 0x6ceb7c20, 0x2cf06: 0x6ceb7e20, 0x2cf07: 0x6ceb8020,\n\t0x2cf08: 0x6ceb8220, 0x2cf09: 0x6ceb8420, 0x2cf0a: 0x6ceb8620, 0x2cf0b: 0x6ceb8820,\n\t0x2cf0c: 0x6ceb8a20, 0x2cf0d: 0x6ceb8c20, 0x2cf0e: 0x6ceb8e20, 0x2cf0f: 0x6ceb9020,\n\t0x2cf10: 0x6ceb9220, 0x2cf11: 0x6ceb9420, 0x2cf12: 0x6ceb9620, 0x2cf13: 0x6ceb9820,\n\t0x2cf14: 0x6ceb9a20, 0x2cf15: 0x6ceb9c20, 0x2cf16: 0x6ceb9e20, 0x2cf17: 0x6ceba020,\n\t0x2cf18: 0x6ceba220, 0x2cf19: 0x6ceba420, 0x2cf1a: 0x6ceba620, 0x2cf1b: 0x6ceba820,\n\t0x2cf1c: 0x6cebaa20, 0x2cf1d: 0x6cebac20, 0x2cf1e: 0x6cbc3e20, 0x2cf1f: 0x6cebae20,\n\t0x2cf20: 0x6cebb020, 0x2cf21: 0x6cebb220, 0x2cf22: 0x6cebb420, 0x2cf23: 0x6cebb620,\n\t0x2cf24: 0x6cebb820, 0x2cf25: 0x6cebba20, 0x2cf26: 0x6cebbc20, 0x2cf27: 0x6cebbe20,\n\t0x2cf28: 0x6cebc020, 0x2cf29: 0x6cebc220, 0x2cf2a: 0x6cebc420, 0x2cf2b: 0x6cebc620,\n\t0x2cf2c: 0x6cebc820, 0x2cf2d: 0x6cebca20, 0x2cf2e: 0x6cebcc20, 0x2cf2f: 0x6cebce20,\n\t0x2cf30: 0x6cebd020, 0x2cf31: 0x6cebd220, 0x2cf32: 0x6cebd420, 0x2cf33: 0x6cebd620,\n\t0x2cf34: 0x6cebd820, 0x2cf35: 0x6cebda20, 0x2cf36: 0x6d1b5220, 0x2cf37: 0x6d1b5420,\n\t0x2cf38: 0x6d1b5620, 0x2cf39: 0x6d1b5820, 0x2cf3a: 0x6d1b5a20, 0x2cf3b: 0x6d1b5c20,\n\t0x2cf3c: 0x6d1b5e20, 0x2cf3d: 0x6d1b6020, 0x2cf3e: 0x6d1b6220, 0x2cf3f: 0x6d1b6420,\n\t// Block 0xb3d, offset 0x2cf40\n\t0x2cf40: 0x6d1b6620, 0x2cf41: 0x6d1b6820, 0x2cf42: 0x6d1b6a20, 0x2cf43: 0x6d1b6c20,\n\t0x2cf44: 0x6d1b6e20, 0x2cf45: 0x6d1b7020, 0x2cf46: 0x6d1b7220, 0x2cf47: 0x6d1b7420,\n\t0x2cf48: 0x6d1b7620, 0x2cf49: 0x6d1b7820, 0x2cf4a: 0x6d1b7a20, 0x2cf4b: 0x6d1b7c20,\n\t0x2cf4c: 0x6d1b7e20, 0x2cf4d: 0x6d1b8020, 0x2cf4e: 0x6d1b8220, 0x2cf4f: 0x6d1b8420,\n\t0x2cf50: 0x6d1b8620, 0x2cf51: 0x6d1b8820, 0x2cf52: 0x6d1b8a20, 0x2cf53: 0x6d1b8c20,\n\t0x2cf54: 0x6d1b8e20, 0x2cf55: 0x6d1b9020, 0x2cf56: 0x6d1b9220, 0x2cf57: 0x6d1b9420,\n\t0x2cf58: 0x6d1b9620, 0x2cf59: 0x6d1b9820, 0x2cf5a: 0x6d1b9a20, 0x2cf5b: 0x6d1b9c20,\n\t0x2cf5c: 0x6d1b9e20, 0x2cf5d: 0x6d1ba020, 0x2cf5e: 0x6d1ba220, 0x2cf5f: 0x6d1cec20,\n\t0x2cf60: 0x6d496220, 0x2cf61: 0x6d1ba420, 0x2cf62: 0x6d1ba620, 0x2cf63: 0x6d1ba820,\n\t0x2cf64: 0x6d1baa20, 0x2cf65: 0x6d1bac20, 0x2cf66: 0x6d1bae20, 0x2cf67: 0x6d1bb020,\n\t0x2cf68: 0x6d1cee20, 0x2cf69: 0x6d496420, 0x2cf6a: 0x6d496620, 0x2cf6b: 0x6d496820,\n\t0x2cf6c: 0x6d496a20, 0x2cf6d: 0x6d496c20, 0x2cf6e: 0x6d496e20, 0x2cf6f: 0x6d497020,\n\t0x2cf70: 0x6d497220, 0x2cf71: 0x6d497420, 0x2cf72: 0x6d497620, 0x2cf73: 0x6d497820,\n\t0x2cf74: 0x6d497a20, 0x2cf75: 0x6d497c20, 0x2cf76: 0x6d497e20, 0x2cf77: 0x6d498020,\n\t0x2cf78: 0x6d498220, 0x2cf79: 0x6d498420, 0x2cf7a: 0x6d498620, 0x2cf7b: 0x6d498820,\n\t0x2cf7c: 0x6d498a20, 0x2cf7d: 0x6d498c20, 0x2cf7e: 0x6d498e20, 0x2cf7f: 0x6d499020,\n\t// Block 0xb3e, offset 0x2cf80\n\t0x2cf80: 0x6d499220, 0x2cf81: 0x6d499420, 0x2cf82: 0x6d499620, 0x2cf83: 0x6d499820,\n\t0x2cf84: 0x6d499a20, 0x2cf85: 0x6cbb1c20, 0x2cf86: 0x6d499c20, 0x2cf87: 0x6d499e20,\n\t0x2cf88: 0x6d49a020, 0x2cf89: 0x6d49a220, 0x2cf8a: 0x6d49a420, 0x2cf8b: 0x6d49a620,\n\t0x2cf8c: 0x6d49a820, 0x2cf8d: 0x6d49aa20, 0x2cf8e: 0x6d49ac20, 0x2cf8f: 0x6d49ae20,\n\t0x2cf90: 0x6d49b020, 0x2cf91: 0x6d1bb220, 0x2cf92: 0x6d49b220, 0x2cf93: 0x6d494c20,\n\t0x2cf94: 0x6d49b420, 0x2cf95: 0x6d590220, 0x2cf96: 0x6d49b620, 0x2cf97: 0x6d49b820,\n\t0x2cf98: 0x6d49ba20, 0x2cf99: 0x6d49bc20, 0x2cf9a: 0x6d49be20, 0x2cf9b: 0x6d49c020,\n\t0x2cf9c: 0x6d49c220, 0x2cf9d: 0x6d49c420, 0x2cf9e: 0x6d772220, 0x2cf9f: 0x6d772420,\n\t0x2cfa0: 0x6d772620, 0x2cfa1: 0x6d772820, 0x2cfa2: 0x6d772a20, 0x2cfa3: 0x6d772c20,\n\t0x2cfa4: 0x6d772e20, 0x2cfa5: 0x6d773020, 0x2cfa6: 0x6d773220, 0x2cfa7: 0x6d773420,\n\t0x2cfa8: 0x6d773620, 0x2cfa9: 0x6d773820, 0x2cfaa: 0x6d773a20, 0x2cfab: 0x6d773c20,\n\t0x2cfac: 0x6d773e20, 0x2cfad: 0x6d774020, 0x2cfae: 0x6d774220, 0x2cfaf: 0x6d774420,\n\t0x2cfb0: 0x6d774620, 0x2cfb1: 0x6d774820, 0x2cfb2: 0x6d774a20, 0x2cfb3: 0x6d774c20,\n\t0x2cfb4: 0x6d49c620, 0x2cfb5: 0x6d774e20, 0x2cfb6: 0x6d775020, 0x2cfb7: 0x6d775220,\n\t0x2cfb8: 0x6d775420, 0x2cfb9: 0x6d775620, 0x2cfba: 0x6d775820, 0x2cfbb: 0x6d775a20,\n\t0x2cfbc: 0x6d775c20, 0x2cfbd: 0x6da0a220, 0x2cfbe: 0x6da0a420, 0x2cfbf: 0x6da0a620,\n\t// Block 0xb3f, offset 0x2cfc0\n\t0x2cfc0: 0x6da0a820, 0x2cfc1: 0x6da0aa20, 0x2cfc2: 0x6da0ac20, 0x2cfc3: 0x6da0ae20,\n\t0x2cfc4: 0x6da0b020, 0x2cfc5: 0x6da0b220, 0x2cfc6: 0x6da0b420, 0x2cfc7: 0x6da0b620,\n\t0x2cfc8: 0x6da0b820, 0x2cfc9: 0x6da0ba20, 0x2cfca: 0x6da0bc20, 0x2cfcb: 0x6da0be20,\n\t0x2cfcc: 0x6da0c020, 0x2cfcd: 0x6da0c220, 0x2cfce: 0x6da0c420, 0x2cfcf: 0x6da0c620,\n\t0x2cfd0: 0x6da0c820, 0x2cfd1: 0x6da0ca20, 0x2cfd2: 0x6da0cc20, 0x2cfd3: 0x6da0ce20,\n\t0x2cfd4: 0x6dc30820, 0x2cfd5: 0x6dc30a20, 0x2cfd6: 0x6dc30c20, 0x2cfd7: 0x6dc30e20,\n\t0x2cfd8: 0x6dc31020, 0x2cfd9: 0x6dc31220, 0x2cfda: 0x6dc31420, 0x2cfdb: 0x6dc31620,\n\t0x2cfdc: 0x6dc31820, 0x2cfdd: 0x6dc31a20, 0x2cfde: 0x6dc31c20, 0x2cfdf: 0x6dc31e20,\n\t0x2cfe0: 0x6dc32020, 0x2cfe1: 0x6dc32220, 0x2cfe2: 0x6dc32420, 0x2cfe3: 0x6dc32620,\n\t0x2cfe4: 0x6dc32820, 0x2cfe5: 0x6de08420, 0x2cfe6: 0x6de08620, 0x2cfe7: 0x6de08820,\n\t0x2cfe8: 0x6de08a20, 0x2cfe9: 0x6de08c20, 0x2cfea: 0x6de08e20, 0x2cfeb: 0x6de09020,\n\t0x2cfec: 0x6de09220, 0x2cfed: 0x6de09420, 0x2cfee: 0x6dc3dc20, 0x2cfef: 0x6de09620,\n\t0x2cff0: 0x6de09820, 0x2cff1: 0x6df8d020, 0x2cff2: 0x6df8d220, 0x2cff3: 0x6df8d420,\n\t0x2cff4: 0x6df8d620, 0x2cff5: 0x6df8d820, 0x2cff6: 0x6df8da20, 0x2cff7: 0x6df8dc20,\n\t0x2cff8: 0x6df8de20, 0x2cff9: 0x6df8e020, 0x2cffa: 0x6e0c9020, 0x2cffb: 0x6e0c9820,\n\t0x2cffc: 0x6df92820, 0x2cffd: 0x6e0c9a20, 0x2cffe: 0x6e0c9c20, 0x2cfff: 0x6e0c9e20,\n\t// Block 0xb40, offset 0x2d000\n\t0x2d000: 0x6e0ca020, 0x2d001: 0x6e0ca220, 0x2d002: 0x6e0ca420, 0x2d003: 0x6e0ca620,\n\t0x2d004: 0x6e0ca820, 0x2d005: 0x6e1c3020, 0x2d006: 0x6e1c3220, 0x2d007: 0x6e1c3420,\n\t0x2d008: 0x6e1c3620, 0x2d009: 0x6e1c3820, 0x2d00a: 0x6e1c3a20, 0x2d00b: 0x6e1c3c20,\n\t0x2d00c: 0x6e287620, 0x2d00d: 0x6e0caa20, 0x2d00e: 0x6e1c3e20, 0x2d00f: 0x6e287820,\n\t0x2d010: 0x6e287a20, 0x2d011: 0x6e319e20, 0x2d012: 0x6e31a020, 0x2d013: 0x6e31a220,\n\t0x2d014: 0x6e384820, 0x2d015: 0x6e384a20, 0x2d016: 0x6e428420, 0x2d017: 0x6c018220,\n\t0x2d018: 0x6c078a20, 0x2d019: 0x6c078c20, 0x2d01a: 0x6c078e20, 0x2d01b: 0x6c079020,\n\t0x2d01c: 0x6c079220, 0x2d01d: 0x6c0e9820, 0x2d01e: 0x6c0e9a20, 0x2d01f: 0x6c0e9c20,\n\t0x2d020: 0x6c0e9e20, 0x2d021: 0x6c0ea020, 0x2d022: 0x6c0ea220, 0x2d023: 0x6c0ea420,\n\t0x2d024: 0x6c1a4a20, 0x2d025: 0x6c1a4c20, 0x2d026: 0x6c1a4e20, 0x2d027: 0x6c1a5020,\n\t0x2d028: 0x6c1a5220, 0x2d029: 0x6c1a5420, 0x2d02a: 0x6c1a5620, 0x2d02b: 0x6c1a5820,\n\t0x2d02c: 0x6c1a5a20, 0x2d02d: 0x6c1a5c20, 0x2d02e: 0x6c1a5e20, 0x2d02f: 0x6c1a6020,\n\t0x2d030: 0x6c1a6220, 0x2d031: 0x6c1a6420, 0x2d032: 0x6c1a6620, 0x2d033: 0x6c1a6820,\n\t0x2d034: 0x6c1a6a20, 0x2d035: 0x6c1a6c20, 0x2d036: 0x6c2d8220, 0x2d037: 0x6c2d8420,\n\t0x2d038: 0x6c2d8620, 0x2d039: 0x6c2d8820, 0x2d03a: 0x6c2d8a20, 0x2d03b: 0x6c2d8c20,\n\t0x2d03c: 0x6c2d8e20, 0x2d03d: 0x6c2d9020, 0x2d03e: 0x6c2d9220, 0x2d03f: 0x6c47de20,\n\t// Block 0xb41, offset 0x2d040\n\t0x2d040: 0x6c47e020, 0x2d041: 0x6c695020, 0x2d042: 0x6c695220, 0x2d043: 0x6c695420,\n\t0x2d044: 0x6c695620, 0x2d045: 0x6c695820, 0x2d046: 0x6c695a20, 0x2d047: 0x6c901c20,\n\t0x2d048: 0x6c901e20, 0x2d049: 0x6c902020, 0x2d04a: 0x6c902220, 0x2d04b: 0x6c902420,\n\t0x2d04c: 0x6cbc4020, 0x2d04d: 0x6cbc4220, 0x2d04e: 0x6cbc4420, 0x2d04f: 0x6c902620,\n\t0x2d050: 0x6cbc4620, 0x2d051: 0x6ced2820, 0x2d052: 0x6ced2a20, 0x2d053: 0x6ced2c20,\n\t0x2d054: 0x6ced2e20, 0x2d055: 0x6ced3020, 0x2d056: 0x6d1cf220, 0x2d057: 0x6d1cf420,\n\t0x2d058: 0x6d1cf620, 0x2d059: 0x6d1cf820, 0x2d05a: 0x6d4ab620, 0x2d05b: 0x6d785820,\n\t0x2d05c: 0x6d785a20, 0x2d05d: 0x6e1c7420, 0x2d05e: 0x6e3d0e20, 0x2d05f: 0x6c018420,\n\t0x2d060: 0x6c03ce20, 0x2d061: 0x6c03d020, 0x2d062: 0x6c07a220, 0x2d063: 0x6c07a420,\n\t0x2d064: 0x6c07a620, 0x2d065: 0x6c07a820, 0x2d066: 0x6c07aa20, 0x2d067: 0x6c07ac20,\n\t0x2d068: 0x6c0ec020, 0x2d069: 0x6c0ec220, 0x2d06a: 0x6c0ec420, 0x2d06b: 0x6c0ec620,\n\t0x2d06c: 0x6c0ec820, 0x2d06d: 0x6c0eca20, 0x2d06e: 0x6c0ecc20, 0x2d06f: 0x6c0ece20,\n\t0x2d070: 0x6c0ed020, 0x2d071: 0x6c0ed220, 0x2d072: 0x6c0ed420, 0x2d073: 0x6c0ed620,\n\t0x2d074: 0x6c0ed820, 0x2d075: 0x6c0eda20, 0x2d076: 0x6c0edc20, 0x2d077: 0x6c0ede20,\n\t0x2d078: 0x6c0ee020, 0x2d079: 0x6c0ee220, 0x2d07a: 0x6c0ee420, 0x2d07b: 0x6c1aac20,\n\t0x2d07c: 0x6c1aae20, 0x2d07d: 0x6c1ab020, 0x2d07e: 0x6c1ab220, 0x2d07f: 0x6c1ab420,\n\t// Block 0xb42, offset 0x2d080\n\t0x2d080: 0x6c1ab620, 0x2d081: 0x6c1ab820, 0x2d082: 0x6c1aba20, 0x2d083: 0x6c1abc20,\n\t0x2d084: 0x6c1abe20, 0x2d085: 0x6c1ac020, 0x2d086: 0x6c1ac220, 0x2d087: 0x6c1ac420,\n\t0x2d088: 0x6c1ac620, 0x2d089: 0x6c1ac820, 0x2d08a: 0x6c1aca20, 0x2d08b: 0x6c1acc20,\n\t0x2d08c: 0x6c1ace20, 0x2d08d: 0x6c1ad020, 0x2d08e: 0x6c1ad220, 0x2d08f: 0x6c1ad420,\n\t0x2d090: 0x6c1ad620, 0x2d091: 0x6c1ad820, 0x2d092: 0x6c1ada20, 0x2d093: 0x6c1adc20,\n\t0x2d094: 0x6c1ade20, 0x2d095: 0x6c1ae020, 0x2d096: 0x6c1ae220, 0x2d097: 0x6c1ae420,\n\t0x2d098: 0x6c1ae620, 0x2d099: 0x6c1ae820, 0x2d09a: 0x6c1aea20, 0x2d09b: 0x6c1aec20,\n\t0x2d09c: 0x6c1aee20, 0x2d09d: 0x6c1af020, 0x2d09e: 0x6c1af220, 0x2d09f: 0x6c1af420,\n\t0x2d0a0: 0x6c1af620, 0x2d0a1: 0x6c2db420, 0x2d0a2: 0x6c2db620, 0x2d0a3: 0x6c2db820,\n\t0x2d0a4: 0x6c2dba20, 0x2d0a5: 0x6c2dbc20, 0x2d0a6: 0x6c2dbe20, 0x2d0a7: 0x6c2dc020,\n\t0x2d0a8: 0x6c2dc220, 0x2d0a9: 0x6c2dc420, 0x2d0aa: 0x6c2dc620, 0x2d0ab: 0x6c2dc820,\n\t0x2d0ac: 0x6c2dca20, 0x2d0ad: 0x6c2dcc20, 0x2d0ae: 0x6c2dce20, 0x2d0af: 0x6c2dd020,\n\t0x2d0b0: 0x6c2dd220, 0x2d0b1: 0x6c2dd420, 0x2d0b2: 0x6c2dd620, 0x2d0b3: 0x6c2dd820,\n\t0x2d0b4: 0x6c2dda20, 0x2d0b5: 0x6c2ddc20, 0x2d0b6: 0x6c2dde20, 0x2d0b7: 0x6c2de020,\n\t0x2d0b8: 0x6c2de220, 0x2d0b9: 0x6c2de420, 0x2d0ba: 0x6c2de620, 0x2d0bb: 0x6c2de820,\n\t0x2d0bc: 0x6c2dea20, 0x2d0bd: 0x6c2dec20, 0x2d0be: 0x6c2dee20, 0x2d0bf: 0x6c2df020,\n\t// Block 0xb43, offset 0x2d0c0\n\t0x2d0c0: 0x6c2df220, 0x2d0c1: 0x6c2df420, 0x2d0c2: 0x6c2df620, 0x2d0c3: 0x6c2df820,\n\t0x2d0c4: 0x6c2dfa20, 0x2d0c5: 0x6c2dfc20, 0x2d0c6: 0x6c2dfe20, 0x2d0c7: 0x6c2e0020,\n\t0x2d0c8: 0x6c2e0220, 0x2d0c9: 0x6c2e0420, 0x2d0ca: 0x6c2e0620, 0x2d0cb: 0x6c481220,\n\t0x2d0cc: 0x6c481420, 0x2d0cd: 0x6c481620, 0x2d0ce: 0x6c481820, 0x2d0cf: 0x6c481a20,\n\t0x2d0d0: 0x6c481c20, 0x2d0d1: 0x6c481e20, 0x2d0d2: 0x6c482020, 0x2d0d3: 0x6c482220,\n\t0x2d0d4: 0x6c482420, 0x2d0d5: 0x6c482620, 0x2d0d6: 0x6c482820, 0x2d0d7: 0x6c482a20,\n\t0x2d0d8: 0x6c482c20, 0x2d0d9: 0x6c482e20, 0x2d0da: 0x6c483020, 0x2d0db: 0x6c483220,\n\t0x2d0dc: 0x6c483420, 0x2d0dd: 0x6c483620, 0x2d0de: 0x6c483820, 0x2d0df: 0x6c483a20,\n\t0x2d0e0: 0x6c483c20, 0x2d0e1: 0x6c483e20, 0x2d0e2: 0x6c484020, 0x2d0e3: 0x6c484220,\n\t0x2d0e4: 0x6c484420, 0x2d0e5: 0x6c484620, 0x2d0e6: 0x6c484820, 0x2d0e7: 0x6c484a20,\n\t0x2d0e8: 0x6c484c20, 0x2d0e9: 0x6c484e20, 0x2d0ea: 0x6c485020, 0x2d0eb: 0x6c485220,\n\t0x2d0ec: 0x6c485420, 0x2d0ed: 0x6c485620, 0x2d0ee: 0x6c485820, 0x2d0ef: 0x6c485a20,\n\t0x2d0f0: 0x6c485c20, 0x2d0f1: 0x6c485e20, 0x2d0f2: 0x6c486020, 0x2d0f3: 0x6c486220,\n\t0x2d0f4: 0x6c486420, 0x2d0f5: 0x6c486620, 0x2d0f6: 0x6c698e20, 0x2d0f7: 0x6c699020,\n\t0x2d0f8: 0x6c699220, 0x2d0f9: 0x6c699420, 0x2d0fa: 0x6c699620, 0x2d0fb: 0x6c699820,\n\t0x2d0fc: 0x6c699a20, 0x2d0fd: 0x6c699c20, 0x2d0fe: 0x6c699e20, 0x2d0ff: 0x6c69a020,\n\t// Block 0xb44, offset 0x2d100\n\t0x2d100: 0x6c69a220, 0x2d101: 0x6c69a420, 0x2d102: 0x6c69a620, 0x2d103: 0x6c69a820,\n\t0x2d104: 0x6c69aa20, 0x2d105: 0x6c69ac20, 0x2d106: 0x6c69ae20, 0x2d107: 0x6c69b020,\n\t0x2d108: 0x6c69b220, 0x2d109: 0x6c69b420, 0x2d10a: 0x6c69b620, 0x2d10b: 0x6c69b820,\n\t0x2d10c: 0x6c69ba20, 0x2d10d: 0x6c69bc20, 0x2d10e: 0x6c486820, 0x2d10f: 0x6c69be20,\n\t0x2d110: 0x6c69c020, 0x2d111: 0x6c69c220, 0x2d112: 0x6c69c420, 0x2d113: 0x6c69c620,\n\t0x2d114: 0x6c69c820, 0x2d115: 0x6c69ca20, 0x2d116: 0x6c69cc20, 0x2d117: 0x6c69ce20,\n\t0x2d118: 0x6c69d020, 0x2d119: 0x6c69d220, 0x2d11a: 0x6c69d420, 0x2d11b: 0x6c69d620,\n\t0x2d11c: 0x6c905420, 0x2d11d: 0x6c905620, 0x2d11e: 0x6c905820, 0x2d11f: 0x6c905a20,\n\t0x2d120: 0x6c905c20, 0x2d121: 0x6c905e20, 0x2d122: 0x6c906020, 0x2d123: 0x6c906220,\n\t0x2d124: 0x6c906420, 0x2d125: 0x6c906620, 0x2d126: 0x6c906820, 0x2d127: 0x6c906a20,\n\t0x2d128: 0x6c906c20, 0x2d129: 0x6c906e20, 0x2d12a: 0x6c915e20, 0x2d12b: 0x6c907020,\n\t0x2d12c: 0x6c907220, 0x2d12d: 0x6c907420, 0x2d12e: 0x6c907620, 0x2d12f: 0x6c907820,\n\t0x2d130: 0x6c907a20, 0x2d131: 0x6c907c20, 0x2d132: 0x6c907e20, 0x2d133: 0x6c908020,\n\t0x2d134: 0x6c908220, 0x2d135: 0x6c908420, 0x2d136: 0x6c908620, 0x2d137: 0x6c908820,\n\t0x2d138: 0x6c908a20, 0x2d139: 0x6c908c20, 0x2d13a: 0x6c908e20, 0x2d13b: 0x6c909020,\n\t0x2d13c: 0x6c909220, 0x2d13d: 0x6c909420, 0x2d13e: 0x6c909620, 0x2d13f: 0x6c909820,\n\t// Block 0xb45, offset 0x2d140\n\t0x2d140: 0x6c909a20, 0x2d141: 0x6c909c20, 0x2d142: 0x6c909e20, 0x2d143: 0x6c90a020,\n\t0x2d144: 0x6c90a220, 0x2d145: 0x6c90a420, 0x2d146: 0x6c90a620, 0x2d147: 0x6c90a820,\n\t0x2d148: 0x6c90aa20, 0x2d149: 0x6c90ac20, 0x2d14a: 0x6c90ae20, 0x2d14b: 0x6c90b020,\n\t0x2d14c: 0x6c90b220, 0x2d14d: 0x6c90b420, 0x2d14e: 0x6c90b620, 0x2d14f: 0x6c90b820,\n\t0x2d150: 0x6c90ba20, 0x2d151: 0x6c90bc20, 0x2d152: 0x6c90be20, 0x2d153: 0x6c90c020,\n\t0x2d154: 0x6c90c220, 0x2d155: 0x6c90c420, 0x2d156: 0x6cbc7a20, 0x2d157: 0x6cbc7c20,\n\t0x2d158: 0x6cbc7e20, 0x2d159: 0x6cbc8020, 0x2d15a: 0x6cbc8220, 0x2d15b: 0x6cbc8420,\n\t0x2d15c: 0x6cbc8620, 0x2d15d: 0x6cbc8820, 0x2d15e: 0x6cbc8a20, 0x2d15f: 0x6cbc8c20,\n\t0x2d160: 0x6cbc8e20, 0x2d161: 0x6cbc9020, 0x2d162: 0x6cbc9220, 0x2d163: 0x6cbc9420,\n\t0x2d164: 0x6cbc9620, 0x2d165: 0x6cbc9820, 0x2d166: 0x6cbc9a20, 0x2d167: 0x6cbc9c20,\n\t0x2d168: 0x6cbc9e20, 0x2d169: 0x6cbca020, 0x2d16a: 0x6cbca220, 0x2d16b: 0x6cbca420,\n\t0x2d16c: 0x6cbca620, 0x2d16d: 0x6cbca820, 0x2d16e: 0x6cbcaa20, 0x2d16f: 0x6cbcac20,\n\t0x2d170: 0x6cbcae20, 0x2d171: 0x6cbcb020, 0x2d172: 0x6c6a6e20, 0x2d173: 0x6cbcb220,\n\t0x2d174: 0x6cbcb420, 0x2d175: 0x6c916020, 0x2d176: 0x6cbcb620, 0x2d177: 0x6cbcb820,\n\t0x2d178: 0x6cbcba20, 0x2d179: 0x6cbcbc20, 0x2d17a: 0x6cbcbe20, 0x2d17b: 0x6cbcc020,\n\t0x2d17c: 0x6cbcc220, 0x2d17d: 0x6ced5820, 0x2d17e: 0x6cbcc420, 0x2d17f: 0x6cbcc620,\n\t// Block 0xb46, offset 0x2d180\n\t0x2d180: 0x6cbcc820, 0x2d181: 0x6cbcca20, 0x2d182: 0x6cbccc20, 0x2d183: 0x6ced5a20,\n\t0x2d184: 0x6cbcce20, 0x2d185: 0x6cbcd020, 0x2d186: 0x6cbcd220, 0x2d187: 0x6cbcd420,\n\t0x2d188: 0x6cbcd620, 0x2d189: 0x6ced5c20, 0x2d18a: 0x6ced5e20, 0x2d18b: 0x6ced6020,\n\t0x2d18c: 0x6ced6220, 0x2d18d: 0x6ced6420, 0x2d18e: 0x6ced6620, 0x2d18f: 0x6ced6820,\n\t0x2d190: 0x6ced6a20, 0x2d191: 0x6ced6c20, 0x2d192: 0x6ced6e20, 0x2d193: 0x6ced7020,\n\t0x2d194: 0x6ced7220, 0x2d195: 0x6ced7420, 0x2d196: 0x6ced7620, 0x2d197: 0x6ced7820,\n\t0x2d198: 0x6ced7a20, 0x2d199: 0x6ced7c20, 0x2d19a: 0x6ced7e20, 0x2d19b: 0x6ced8020,\n\t0x2d19c: 0x6ced8220, 0x2d19d: 0x6ced8420, 0x2d19e: 0x6ced8620, 0x2d19f: 0x6ced8820,\n\t0x2d1a0: 0x6ced8a20, 0x2d1a1: 0x6ced8c20, 0x2d1a2: 0x6ced8e20, 0x2d1a3: 0x6ced9020,\n\t0x2d1a4: 0x6ced9220, 0x2d1a5: 0x6ced9420, 0x2d1a6: 0x6ced9620, 0x2d1a7: 0x6ced9820,\n\t0x2d1a8: 0x6ced9a20, 0x2d1a9: 0x6ced9c20, 0x2d1aa: 0x6ced9e20, 0x2d1ab: 0x6ceda020,\n\t0x2d1ac: 0x6ceda220, 0x2d1ad: 0x6ceda420, 0x2d1ae: 0x6ceda620, 0x2d1af: 0x6ceda820,\n\t0x2d1b0: 0x6cedaa20, 0x2d1b1: 0x6cedac20, 0x2d1b2: 0x6d1d2420, 0x2d1b3: 0x6d1d2620,\n\t0x2d1b4: 0x6d1d2820, 0x2d1b5: 0x6d1d2a20, 0x2d1b6: 0x6d1d2c20, 0x2d1b7: 0x6d1d2e20,\n\t0x2d1b8: 0x6d1d3020, 0x2d1b9: 0x6d1d3220, 0x2d1ba: 0x6d1d3420, 0x2d1bb: 0x6d1d3620,\n\t0x2d1bc: 0x6d1d3820, 0x2d1bd: 0x6d1d3a20, 0x2d1be: 0x6d1d3c20, 0x2d1bf: 0x6d1d3e20,\n\t// Block 0xb47, offset 0x2d1c0\n\t0x2d1c0: 0x6d4ac620, 0x2d1c1: 0x6d1d4020, 0x2d1c2: 0x6d1d4220, 0x2d1c3: 0x6d1d4420,\n\t0x2d1c4: 0x6d1d4620, 0x2d1c5: 0x6d1d4820, 0x2d1c6: 0x6d1d4a20, 0x2d1c7: 0x6d1d4c20,\n\t0x2d1c8: 0x6d1d4e20, 0x2d1c9: 0x6d1d5020, 0x2d1ca: 0x6d1d5220, 0x2d1cb: 0x6d1d5420,\n\t0x2d1cc: 0x6d1d5620, 0x2d1cd: 0x6d1d5820, 0x2d1ce: 0x6d1d5a20, 0x2d1cf: 0x6d1d5c20,\n\t0x2d1d0: 0x6d1d5e20, 0x2d1d1: 0x6d1d6020, 0x2d1d2: 0x6d1d6220, 0x2d1d3: 0x6d1d6420,\n\t0x2d1d4: 0x6d1d6620, 0x2d1d5: 0x6d1d6820, 0x2d1d6: 0x6d1d6a20, 0x2d1d7: 0x6d1d6c20,\n\t0x2d1d8: 0x6d1d6e20, 0x2d1d9: 0x6d1d7020, 0x2d1da: 0x6d1d7220, 0x2d1db: 0x6d1d7420,\n\t0x2d1dc: 0x6d4ada20, 0x2d1dd: 0x6d4adc20, 0x2d1de: 0x6d4ade20, 0x2d1df: 0x6d4ae020,\n\t0x2d1e0: 0x6d4ae220, 0x2d1e1: 0x6d4ae420, 0x2d1e2: 0x6d4ae620, 0x2d1e3: 0x6d4ae820,\n\t0x2d1e4: 0x6d4aea20, 0x2d1e5: 0x6d4aec20, 0x2d1e6: 0x6d4aee20, 0x2d1e7: 0x6d4af020,\n\t0x2d1e8: 0x6d758820, 0x2d1e9: 0x6d4af220, 0x2d1ea: 0x6d4af420, 0x2d1eb: 0x6d4af620,\n\t0x2d1ec: 0x6d4af820, 0x2d1ed: 0x6d1df220, 0x2d1ee: 0x6d4afa20, 0x2d1ef: 0x6d4afc20,\n\t0x2d1f0: 0x6d4afe20, 0x2d1f1: 0x6d4b0020, 0x2d1f2: 0x6d4b0220, 0x2d1f3: 0x6d4b0420,\n\t0x2d1f4: 0x6d4b0620, 0x2d1f5: 0x6d4b0820, 0x2d1f6: 0x6d4b0a20, 0x2d1f7: 0x6d4b0c20,\n\t0x2d1f8: 0x6d4b0e20, 0x2d1f9: 0x6d4b1020, 0x2d1fa: 0x6d787420, 0x2d1fb: 0x6d787620,\n\t0x2d1fc: 0x6d787820, 0x2d1fd: 0x6d787a20, 0x2d1fe: 0x6d787c20, 0x2d1ff: 0x6d787e20,\n\t// Block 0xb48, offset 0x2d200\n\t0x2d200: 0x6d788020, 0x2d201: 0x6d788220, 0x2d202: 0x6d788420, 0x2d203: 0x6d788620,\n\t0x2d204: 0x6d788820, 0x2d205: 0x6d788a20, 0x2d206: 0x6d788c20, 0x2d207: 0x6d788e20,\n\t0x2d208: 0x6d789020, 0x2d209: 0x6d789220, 0x2d20a: 0x6d789420, 0x2d20b: 0x6d789620,\n\t0x2d20c: 0x6d789820, 0x2d20d: 0x6da19020, 0x2d20e: 0x6da19220, 0x2d20f: 0x6da19420,\n\t0x2d210: 0x6da19620, 0x2d211: 0x6da19820, 0x2d212: 0x6da19a20, 0x2d213: 0x6da19c20,\n\t0x2d214: 0x6da19e20, 0x2d215: 0x6da1a020, 0x2d216: 0x6da1a220, 0x2d217: 0x6da1a420,\n\t0x2d218: 0x6dc3e620, 0x2d219: 0x6dc3e820, 0x2d21a: 0x6de10620, 0x2d21b: 0x6de10820,\n\t0x2d21c: 0x6de10a20, 0x2d21d: 0x6de10c20, 0x2d21e: 0x6de10e20, 0x2d21f: 0x6de11020,\n\t0x2d220: 0x6de11220, 0x2d221: 0x6de07820, 0x2d222: 0x6de11420, 0x2d223: 0x6df93420,\n\t0x2d224: 0x6df93620, 0x2d225: 0x6df93820, 0x2d226: 0x6e0cfc20, 0x2d227: 0x6e288e20,\n\t0x2d228: 0x6e289020, 0x2d229: 0x6e31c420, 0x2d22a: 0x6e386020, 0x2d22b: 0x6c018620,\n\t0x2d22c: 0x6c03da20, 0x2d22d: 0x6c07c420, 0x2d22e: 0x6c0f0e20, 0x2d22f: 0x6c1b6620,\n\t0x2d230: 0x6c1b6820, 0x2d231: 0x6c1b6a20, 0x2d232: 0x6c1b6c20, 0x2d233: 0x6c1b6e20,\n\t0x2d234: 0x6c48e620, 0x2d235: 0x6c48e820, 0x2d236: 0x6c6a7020, 0x2d237: 0x6c916220,\n\t0x2d238: 0x6c916420, 0x2d239: 0x6cbd8820, 0x2d23a: 0x6cbd8a20, 0x2d23b: 0x6cbd8c20,\n\t0x2d23c: 0x6cee4e20, 0x2d23d: 0x6d1df420, 0x2d23e: 0x6d1df620, 0x2d23f: 0x6d4ba220,\n\t// Block 0xb49, offset 0x2d240\n\t0x2d240: 0x6d4ba420, 0x2d241: 0x6d790020, 0x2d242: 0x6c018820, 0x2d243: 0x6c03dc20,\n\t0x2d244: 0x6c07c820, 0x2d245: 0x6c0f1220, 0x2d246: 0x6c1b7420, 0x2d247: 0x6c2e8020,\n\t0x2d248: 0x6c48f220, 0x2d249: 0x6c48f820, 0x2d24a: 0x6c018c20, 0x2d24b: 0x6c1b7c20,\n\t0x2d24c: 0x6c2e8220, 0x2d24d: 0x6c48fa20, 0x2d24e: 0x6c6a8420, 0x2d24f: 0x6c6a8620,\n\t0x2d250: 0x6d1e0220, 0x2d251: 0x6dc43a20, 0x2d252: 0x6de14820, 0x2d253: 0x6dc43c20,\n\t0x2d254: 0x6e0d1e20, 0x2d255: 0x6c018e20, 0x2d256: 0x6c07d020, 0x2d257: 0x6c07d220,\n\t0x2d258: 0x6c07d420, 0x2d259: 0x6c0f1c20, 0x2d25a: 0x6c0f1e20, 0x2d25b: 0x6c0f2020,\n\t0x2d25c: 0x6c2e8e20, 0x2d25d: 0x6c2e9020, 0x2d25e: 0x6c6a8c20, 0x2d25f: 0x6c918020,\n\t0x2d260: 0x6c918220, 0x2d261: 0x6cbd9a20, 0x2d262: 0x6d1e1020, 0x2d263: 0x6d1e1220,\n\t0x2d264: 0x6d1e1420, 0x2d265: 0x6d1e1620, 0x2d266: 0x6d4bae20, 0x2d267: 0x6c019020,\n\t0x2d268: 0x6c019220, 0x2d269: 0x6c03de20, 0x2d26a: 0x6c03e020, 0x2d26b: 0x6c03e220,\n\t0x2d26c: 0x6c03e420, 0x2d26d: 0x6c03e620, 0x2d26e: 0x6c07de20, 0x2d26f: 0x6c07e020,\n\t0x2d270: 0x6c07e220, 0x2d271: 0x6c07e420, 0x2d272: 0x6c07e620, 0x2d273: 0x6c07e820,\n\t0x2d274: 0x6c07ea20, 0x2d275: 0x6c0f3220, 0x2d276: 0x6c0f3420, 0x2d277: 0x6c0f3620,\n\t0x2d278: 0x6c0f3820, 0x2d279: 0x6c0f3a20, 0x2d27a: 0x6c0f3c20, 0x2d27b: 0x6c0f3e20,\n\t0x2d27c: 0x6c0f4020, 0x2d27d: 0x6c1b8e20, 0x2d27e: 0x6c1b9020, 0x2d27f: 0x6c1b9220,\n\t// Block 0xb4a, offset 0x2d280\n\t0x2d280: 0x6c1b9420, 0x2d281: 0x6c1b9620, 0x2d282: 0x6c1b9820, 0x2d283: 0x6c2ea620,\n\t0x2d284: 0x6c2ea820, 0x2d285: 0x6c2eaa20, 0x2d286: 0x6c2eac20, 0x2d287: 0x6c2eae20,\n\t0x2d288: 0x6c2eb020, 0x2d289: 0x6c2eb220, 0x2d28a: 0x6c6aaa20, 0x2d28b: 0x6c2eb420,\n\t0x2d28c: 0x6c2eb620, 0x2d28d: 0x6c2eb820, 0x2d28e: 0x6c490620, 0x2d28f: 0x6c490820,\n\t0x2d290: 0x6c490a20, 0x2d291: 0x6c490c20, 0x2d292: 0x6c490e20, 0x2d293: 0x6c491020,\n\t0x2d294: 0x6c2ef220, 0x2d295: 0x6c491220, 0x2d296: 0x6c491420, 0x2d297: 0x6c6aac20,\n\t0x2d298: 0x6c6aae20, 0x2d299: 0x6c6ab020, 0x2d29a: 0x6c6ab220, 0x2d29b: 0x6c919e20,\n\t0x2d29c: 0x6c91a020, 0x2d29d: 0x6c91a220, 0x2d29e: 0x6c91a420, 0x2d29f: 0x6c91d220,\n\t0x2d2a0: 0x6cbdb820, 0x2d2a1: 0x6cbdba20, 0x2d2a2: 0x6c91d420, 0x2d2a3: 0x6cbdbc20,\n\t0x2d2a4: 0x6cbdbe20, 0x2d2a5: 0x6cbdc020, 0x2d2a6: 0x6cee7820, 0x2d2a7: 0x6cee7a20,\n\t0x2d2a8: 0x6cee7c20, 0x2d2a9: 0x6d1e2e20, 0x2d2aa: 0x6d1e3020, 0x2d2ab: 0x6d1e3220,\n\t0x2d2ac: 0x6d1e3420, 0x2d2ad: 0x6d4bb820, 0x2d2ae: 0x6d791e20, 0x2d2af: 0x6d792020,\n\t0x2d2b0: 0x6dc44c20, 0x2d2b1: 0x6e1c9220, 0x2d2b2: 0x6e28a420, 0x2d2b3: 0x6c019420,\n\t0x2d2b4: 0x6c07fe20, 0x2d2b5: 0x6c080020, 0x2d2b6: 0x6c080220, 0x2d2b7: 0x6c0f6220,\n\t0x2d2b8: 0x6c0f6420, 0x2d2b9: 0x6c0f6620, 0x2d2ba: 0x6c0f6820, 0x2d2bb: 0x6c0f6a20,\n\t0x2d2bc: 0x6c0f6c20, 0x2d2bd: 0x6c0f6e20, 0x2d2be: 0x6c0f7020, 0x2d2bf: 0x6c0f7220,\n\t// Block 0xb4b, offset 0x2d2c0\n\t0x2d2c0: 0x6c0f7420, 0x2d2c1: 0x6c0f7620, 0x2d2c2: 0x6c0f7820, 0x2d2c3: 0x6c0f7a20,\n\t0x2d2c4: 0x6c0f7c20, 0x2d2c5: 0x6c0f7e20, 0x2d2c6: 0x6c0f8020, 0x2d2c7: 0x6c0f8220,\n\t0x2d2c8: 0x6c0f8420, 0x2d2c9: 0x6c1bd420, 0x2d2ca: 0x6c1bd620, 0x2d2cb: 0x6c1bd820,\n\t0x2d2cc: 0x6c1bda20, 0x2d2cd: 0x6c495420, 0x2d2ce: 0x6c1bdc20, 0x2d2cf: 0x6c1bde20,\n\t0x2d2d0: 0x6c1be020, 0x2d2d1: 0x6c1be220, 0x2d2d2: 0x6c1be420, 0x2d2d3: 0x6c1be620,\n\t0x2d2d4: 0x6c1be820, 0x2d2d5: 0x6c1bea20, 0x2d2d6: 0x6c1bec20, 0x2d2d7: 0x6c1bee20,\n\t0x2d2d8: 0x6c1bf020, 0x2d2d9: 0x6c1bf220, 0x2d2da: 0x6c1bf420, 0x2d2db: 0x6c1bf620,\n\t0x2d2dc: 0x6c1bf820, 0x2d2dd: 0x6c1bfa20, 0x2d2de: 0x6c1bfc20, 0x2d2df: 0x6c1bfe20,\n\t0x2d2e0: 0x6c1c0020, 0x2d2e1: 0x6c1c0220, 0x2d2e2: 0x6c1c0420, 0x2d2e3: 0x6c1c0620,\n\t0x2d2e4: 0x6c1c0820, 0x2d2e5: 0x6c1c0a20, 0x2d2e6: 0x6c1c0c20, 0x2d2e7: 0x6c1c0e20,\n\t0x2d2e8: 0x6c1c1020, 0x2d2e9: 0x6c1c1220, 0x2d2ea: 0x6c1c1420, 0x2d2eb: 0x6c1c1620,\n\t0x2d2ec: 0x6c2f1820, 0x2d2ed: 0x6c2f1a20, 0x2d2ee: 0x6c2f1c20, 0x2d2ef: 0x6c2f1e20,\n\t0x2d2f0: 0x6c2f2020, 0x2d2f1: 0x6c2f2220, 0x2d2f2: 0x6c2f2420, 0x2d2f3: 0x6c2f2620,\n\t0x2d2f4: 0x6c2f2820, 0x2d2f5: 0x6c2f2a20, 0x2d2f6: 0x6c2f2c20, 0x2d2f7: 0x6c2f2e20,\n\t0x2d2f8: 0x6c2f3020, 0x2d2f9: 0x6c2f3220, 0x2d2fa: 0x6c2f3420, 0x2d2fb: 0x6c2f3620,\n\t0x2d2fc: 0x6c2f3820, 0x2d2fd: 0x6c2f3a20, 0x2d2fe: 0x6c2f3c20, 0x2d2ff: 0x6c2f3e20,\n\t// Block 0xb4c, offset 0x2d300\n\t0x2d300: 0x6c2f4020, 0x2d301: 0x6c2f4220, 0x2d302: 0x6c2f4420, 0x2d303: 0x6c2f4620,\n\t0x2d304: 0x6c2f4820, 0x2d305: 0x6c2f4a20, 0x2d306: 0x6c2f4c20, 0x2d307: 0x6c2f4e20,\n\t0x2d308: 0x6c2f5020, 0x2d309: 0x6c2f5220, 0x2d30a: 0x6c2f5420, 0x2d30b: 0x6c2f5620,\n\t0x2d30c: 0x6c2f5820, 0x2d30d: 0x6c2f5a20, 0x2d30e: 0x6c2f5c20, 0x2d30f: 0x6c2f5e20,\n\t0x2d310: 0x6c2f6020, 0x2d311: 0x6c2f6220, 0x2d312: 0x6c2f6420, 0x2d313: 0x6c2f6620,\n\t0x2d314: 0x6c2f6820, 0x2d315: 0x6c493c20, 0x2d316: 0x6c2f6a20, 0x2d317: 0x6c2f6c20,\n\t0x2d318: 0x6c495620, 0x2d319: 0x6c495820, 0x2d31a: 0x6c495a20, 0x2d31b: 0x6c495c20,\n\t0x2d31c: 0x6c495e20, 0x2d31d: 0x6c496020, 0x2d31e: 0x6c496220, 0x2d31f: 0x6c496420,\n\t0x2d320: 0x6c496620, 0x2d321: 0x6c496820, 0x2d322: 0x6c496a20, 0x2d323: 0x6c496c20,\n\t0x2d324: 0x6c496e20, 0x2d325: 0x6c497020, 0x2d326: 0x6c497220, 0x2d327: 0x6c497420,\n\t0x2d328: 0x6c497620, 0x2d329: 0x6c497820, 0x2d32a: 0x6c497a20, 0x2d32b: 0x6c497c20,\n\t0x2d32c: 0x6c6b1820, 0x2d32d: 0x6c497e20, 0x2d32e: 0x6c498020, 0x2d32f: 0x6c498220,\n\t0x2d330: 0x6c498420, 0x2d331: 0x6c498620, 0x2d332: 0x6c498820, 0x2d333: 0x6c498a20,\n\t0x2d334: 0x6c498c20, 0x2d335: 0x6c498e20, 0x2d336: 0x6c499020, 0x2d337: 0x6c499220,\n\t0x2d338: 0x6c499420, 0x2d339: 0x6c499620, 0x2d33a: 0x6c499820, 0x2d33b: 0x6c499a20,\n\t0x2d33c: 0x6c499c20, 0x2d33d: 0x6c499e20, 0x2d33e: 0x6c49a020, 0x2d33f: 0x6c49a220,\n\t// Block 0xb4d, offset 0x2d340\n\t0x2d340: 0x6c49a420, 0x2d341: 0x6c49a620, 0x2d342: 0x6c49a820, 0x2d343: 0x6c49aa20,\n\t0x2d344: 0x6c5c3020, 0x2d345: 0x6c49ac20, 0x2d346: 0x6c49ae20, 0x2d347: 0x6c49b020,\n\t0x2d348: 0x6c49b220, 0x2d349: 0x6c6b1a20, 0x2d34a: 0x6c6b1c20, 0x2d34b: 0x6c6b1e20,\n\t0x2d34c: 0x6c6b2020, 0x2d34d: 0x6c4a1a20, 0x2d34e: 0x6c6b2220, 0x2d34f: 0x6c6b2420,\n\t0x2d350: 0x6c6b2620, 0x2d351: 0x6c6b2820, 0x2d352: 0x6c6b2a20, 0x2d353: 0x6c6b2c20,\n\t0x2d354: 0x6c6b2e20, 0x2d355: 0x6c6b3020, 0x2d356: 0x6c6b3220, 0x2d357: 0x6c6b3420,\n\t0x2d358: 0x6c6b3620, 0x2d359: 0x6c6b3820, 0x2d35a: 0x6c6b3a20, 0x2d35b: 0x6c6b3c20,\n\t0x2d35c: 0x6c6b3e20, 0x2d35d: 0x6c6b4020, 0x2d35e: 0x6c6b4220, 0x2d35f: 0x6c6b4420,\n\t0x2d360: 0x6c6b4620, 0x2d361: 0x6c6b4820, 0x2d362: 0x6c6b4a20, 0x2d363: 0x6c6b4c20,\n\t0x2d364: 0x6c6b4e20, 0x2d365: 0x6c6b5020, 0x2d366: 0x6c6b5220, 0x2d367: 0x6c6b5420,\n\t0x2d368: 0x6c6b5620, 0x2d369: 0x6c6b5820, 0x2d36a: 0x6c6b5a20, 0x2d36b: 0x6c91d620,\n\t0x2d36c: 0x6c91ec20, 0x2d36d: 0x6c6b5c20, 0x2d36e: 0x6c6b5e20, 0x2d36f: 0x6c6b6020,\n\t0x2d370: 0x6c6b6220, 0x2d371: 0x6c6b6420, 0x2d372: 0x6c6b6620, 0x2d373: 0x6c6b6820,\n\t0x2d374: 0x6c6b6a20, 0x2d375: 0x6c91ee20, 0x2d376: 0x6c91f020, 0x2d377: 0x6c91f220,\n\t0x2d378: 0x6c91f420, 0x2d379: 0x6c91f620, 0x2d37a: 0x6c91f820, 0x2d37b: 0x6c91fa20,\n\t0x2d37c: 0x6c91fc20, 0x2d37d: 0x6c91d820, 0x2d37e: 0x6c91fe20, 0x2d37f: 0x6c920020,\n\t// Block 0xb4e, offset 0x2d380\n\t0x2d380: 0x6c920220, 0x2d381: 0x6c920420, 0x2d382: 0x6c920620, 0x2d383: 0x6c920820,\n\t0x2d384: 0x6c920a20, 0x2d385: 0x6c920c20, 0x2d386: 0x6c920e20, 0x2d387: 0x6c921020,\n\t0x2d388: 0x6c921220, 0x2d389: 0x6c921420, 0x2d38a: 0x6c921620, 0x2d38b: 0x6c921820,\n\t0x2d38c: 0x6c921a20, 0x2d38d: 0x6c921c20, 0x2d38e: 0x6c921e20, 0x2d38f: 0x6c922020,\n\t0x2d390: 0x6c922220, 0x2d391: 0x6c922420, 0x2d392: 0x6c922620, 0x2d393: 0x6c922820,\n\t0x2d394: 0x6c922a20, 0x2d395: 0x6c922c20, 0x2d396: 0x6c922e20, 0x2d397: 0x6c923020,\n\t0x2d398: 0x6c923220, 0x2d399: 0x6c923420, 0x2d39a: 0x6c923620, 0x2d39b: 0x6c923820,\n\t0x2d39c: 0x6c923a20, 0x2d39d: 0x6c923c20, 0x2d39e: 0x6c923e20, 0x2d39f: 0x6c924020,\n\t0x2d3a0: 0x6c924220, 0x2d3a1: 0x6c924420, 0x2d3a2: 0x6c924620, 0x2d3a3: 0x6c924820,\n\t0x2d3a4: 0x6c924a20, 0x2d3a5: 0x6c924c20, 0x2d3a6: 0x6c924e20, 0x2d3a7: 0x6c925020,\n\t0x2d3a8: 0x6c925220, 0x2d3a9: 0x6c925420, 0x2d3aa: 0x6c925620, 0x2d3ab: 0x6c925820,\n\t0x2d3ac: 0x6c925a20, 0x2d3ad: 0x6c925c20, 0x2d3ae: 0x6c925e20, 0x2d3af: 0x6c926020,\n\t0x2d3b0: 0x6c926220, 0x2d3b1: 0x6c926420, 0x2d3b2: 0x6c926620, 0x2d3b3: 0x6c926820,\n\t0x2d3b4: 0x6c926a20, 0x2d3b5: 0x6c926c20, 0x2d3b6: 0x6c926e20, 0x2d3b7: 0x6cbe2020,\n\t0x2d3b8: 0x6cbe2220, 0x2d3b9: 0x6cbe2420, 0x2d3ba: 0x6cbe2620, 0x2d3bb: 0x6cbe2820,\n\t0x2d3bc: 0x6cbe2a20, 0x2d3bd: 0x6cbe2c20, 0x2d3be: 0x6cbe2e20, 0x2d3bf: 0x6cbe3020,\n\t// Block 0xb4f, offset 0x2d3c0\n\t0x2d3c0: 0x6cbe3220, 0x2d3c1: 0x6cbe3420, 0x2d3c2: 0x6cbe3620, 0x2d3c3: 0x6cbe3820,\n\t0x2d3c4: 0x6cbe3a20, 0x2d3c5: 0x6cbe3c20, 0x2d3c6: 0x6cbe3e20, 0x2d3c7: 0x6cbe4020,\n\t0x2d3c8: 0x6cbe4220, 0x2d3c9: 0x6cbe4420, 0x2d3ca: 0x6cbe4620, 0x2d3cb: 0x6cbe4820,\n\t0x2d3cc: 0x6cbe4a20, 0x2d3cd: 0x6cbe4c20, 0x2d3ce: 0x6c930220, 0x2d3cf: 0x6cbe4e20,\n\t0x2d3d0: 0x6ceec620, 0x2d3d1: 0x6cbe5020, 0x2d3d2: 0x6cbe5220, 0x2d3d3: 0x6cbe5420,\n\t0x2d3d4: 0x6cbe5620, 0x2d3d5: 0x6cbe5820, 0x2d3d6: 0x6cbe5a20, 0x2d3d7: 0x6cbe5c20,\n\t0x2d3d8: 0x6cbe5e20, 0x2d3d9: 0x6cbe6020, 0x2d3da: 0x6cbe6220, 0x2d3db: 0x6cbe6420,\n\t0x2d3dc: 0x6cbe6620, 0x2d3dd: 0x6cbe6820, 0x2d3de: 0x6cbe6a20, 0x2d3df: 0x6cbe6c20,\n\t0x2d3e0: 0x6cbe6e20, 0x2d3e1: 0x6cbe7020, 0x2d3e2: 0x6cbe7220, 0x2d3e3: 0x6cbe7420,\n\t0x2d3e4: 0x6cbe7620, 0x2d3e5: 0x6cbe7820, 0x2d3e6: 0x6cbe7a20, 0x2d3e7: 0x6cbe7c20,\n\t0x2d3e8: 0x6cbe7e20, 0x2d3e9: 0x6cbe8020, 0x2d3ea: 0x6cbe8220, 0x2d3eb: 0x6cbe8420,\n\t0x2d3ec: 0x6cbe8620, 0x2d3ed: 0x6cbe8820, 0x2d3ee: 0x6cbe8a20, 0x2d3ef: 0x6cbe8c20,\n\t0x2d3f0: 0x6ceec820, 0x2d3f1: 0x6ceeca20, 0x2d3f2: 0x6ceecc20, 0x2d3f3: 0x6ceece20,\n\t0x2d3f4: 0x6ceed020, 0x2d3f5: 0x6ceed220, 0x2d3f6: 0x6ceed420, 0x2d3f7: 0x6ceed620,\n\t0x2d3f8: 0x6ceed820, 0x2d3f9: 0x6ceeda20, 0x2d3fa: 0x6ceedc20, 0x2d3fb: 0x6ceede20,\n\t0x2d3fc: 0x6ceee020, 0x2d3fd: 0x6ceee220, 0x2d3fe: 0x6ceee420, 0x2d3ff: 0x6ceee620,\n\t// Block 0xb50, offset 0x2d400\n\t0x2d400: 0x6ceee820, 0x2d401: 0x6ceeea20, 0x2d402: 0x6ceeec20, 0x2d403: 0x6ceeee20,\n\t0x2d404: 0x6ceef020, 0x2d405: 0x6ceef220, 0x2d406: 0x6ceef420, 0x2d407: 0x6ceef620,\n\t0x2d408: 0x6ceef820, 0x2d409: 0x6ceefa20, 0x2d40a: 0x6ceefc20, 0x2d40b: 0x6ceefe20,\n\t0x2d40c: 0x6cef0020, 0x2d40d: 0x6cef0220, 0x2d40e: 0x6cef0420, 0x2d40f: 0x6cbe8e20,\n\t0x2d410: 0x6cef0620, 0x2d411: 0x6cef0820, 0x2d412: 0x6cef0a20, 0x2d413: 0x6cef0c20,\n\t0x2d414: 0x6cef0e20, 0x2d415: 0x6d1e6e20, 0x2d416: 0x6d1e7020, 0x2d417: 0x6d1e7220,\n\t0x2d418: 0x6d1e7420, 0x2d419: 0x6d1e7620, 0x2d41a: 0x6d1e7820, 0x2d41b: 0x6d1e7a20,\n\t0x2d41c: 0x6d1e7c20, 0x2d41d: 0x6d1e7e20, 0x2d41e: 0x6d1e8020, 0x2d41f: 0x6d1e8220,\n\t0x2d420: 0x6d1e8420, 0x2d421: 0x6d1e8620, 0x2d422: 0x6d1e8820, 0x2d423: 0x6d1e8a20,\n\t0x2d424: 0x6d1e8c20, 0x2d425: 0x6d1e8e20, 0x2d426: 0x6d1e9020, 0x2d427: 0x6d1e9220,\n\t0x2d428: 0x6d1e9420, 0x2d429: 0x6d1e9620, 0x2d42a: 0x6d1e9820, 0x2d42b: 0x6d1e9a20,\n\t0x2d42c: 0x6d1e9c20, 0x2d42d: 0x6d1e9e20, 0x2d42e: 0x6d1ea020, 0x2d42f: 0x6d1ea220,\n\t0x2d430: 0x6d1ea420, 0x2d431: 0x6d1ea620, 0x2d432: 0x6d1ea820, 0x2d433: 0x6d1f2820,\n\t0x2d434: 0x6d4bea20, 0x2d435: 0x6d4bec20, 0x2d436: 0x6d4bee20, 0x2d437: 0x6d4bf020,\n\t0x2d438: 0x6d4bf220, 0x2d439: 0x6d4bf420, 0x2d43a: 0x6d4bf620, 0x2d43b: 0x6d4bf820,\n\t0x2d43c: 0x6d4bfa20, 0x2d43d: 0x6d4bfc20, 0x2d43e: 0x6d4bfe20, 0x2d43f: 0x6d4c0020,\n\t// Block 0xb51, offset 0x2d440\n\t0x2d440: 0x6d4c0220, 0x2d441: 0x6d4c0420, 0x2d442: 0x6d4c0620, 0x2d443: 0x6d4c0820,\n\t0x2d444: 0x6d4c0a20, 0x2d445: 0x6d4c0c20, 0x2d446: 0x6d4c0e20, 0x2d447: 0x6d4c1020,\n\t0x2d448: 0x6d4c1220, 0x2d449: 0x6d4c1420, 0x2d44a: 0x6d4c1620, 0x2d44b: 0x6d4c1820,\n\t0x2d44c: 0x6d4c1a20, 0x2d44d: 0x6d4c1c20, 0x2d44e: 0x6d4c1e20, 0x2d44f: 0x6d4c2020,\n\t0x2d450: 0x6d794220, 0x2d451: 0x6d794420, 0x2d452: 0x6d794620, 0x2d453: 0x6d794820,\n\t0x2d454: 0x6d794a20, 0x2d455: 0x6d794c20, 0x2d456: 0x6d794e20, 0x2d457: 0x6d795020,\n\t0x2d458: 0x6d795220, 0x2d459: 0x6d795420, 0x2d45a: 0x6d795620, 0x2d45b: 0x6d795820,\n\t0x2d45c: 0x6d795a20, 0x2d45d: 0x6d795c20, 0x2d45e: 0x6d795e20, 0x2d45f: 0x6d796020,\n\t0x2d460: 0x6d796220, 0x2d461: 0x6d796420, 0x2d462: 0x6d796620, 0x2d463: 0x6da22620,\n\t0x2d464: 0x6da22820, 0x2d465: 0x6da22a20, 0x2d466: 0x6da22c20, 0x2d467: 0x6da22e20,\n\t0x2d468: 0x6d79de20, 0x2d469: 0x6da23020, 0x2d46a: 0x6da23220, 0x2d46b: 0x6da23420,\n\t0x2d46c: 0x6da23620, 0x2d46d: 0x6da23820, 0x2d46e: 0x6da23a20, 0x2d46f: 0x6da23c20,\n\t0x2d470: 0x6da23e20, 0x2d471: 0x6da24020, 0x2d472: 0x6da24220, 0x2d473: 0x6da24420,\n\t0x2d474: 0x6d796820, 0x2d475: 0x6da24620, 0x2d476: 0x6da24820, 0x2d477: 0x6da24a20,\n\t0x2d478: 0x6dc45820, 0x2d479: 0x6de16220, 0x2d47a: 0x6dc45a20, 0x2d47b: 0x6dc45c20,\n\t0x2d47c: 0x6dc45e20, 0x2d47d: 0x6de15820, 0x2d47e: 0x6de16420, 0x2d47f: 0x6de16620,\n\t// Block 0xb52, offset 0x2d480\n\t0x2d480: 0x6df96220, 0x2d481: 0x6df96420, 0x2d482: 0x6df96620, 0x2d483: 0x6df96820,\n\t0x2d484: 0x6df96a20, 0x2d485: 0x6df96c20, 0x2d486: 0x6df96e20, 0x2d487: 0x6e0d2a20,\n\t0x2d488: 0x6e0d2c20, 0x2d489: 0x6e0d2e20, 0x2d48a: 0x6e1c9a20, 0x2d48b: 0x6e1c9c20,\n\t0x2d48c: 0x6e1c9e20, 0x2d48d: 0x6e28a620, 0x2d48e: 0x6e31d820, 0x2d48f: 0x6e31da20,\n\t0x2d490: 0x6c019620, 0x2d491: 0x6c019820, 0x2d492: 0x6c019a20, 0x2d493: 0x6c019c20,\n\t0x2d494: 0x6c03f220, 0x2d495: 0x6c081220, 0x2d496: 0x6c0fa820, 0x2d497: 0x6c0faa20,\n\t0x2d498: 0x6c0fac20, 0x2d499: 0x6c0fae20, 0x2d49a: 0x6c1c6620, 0x2d49b: 0x6c1c6820,\n\t0x2d49c: 0x6c1c6a20, 0x2d49d: 0x6c1c6c20, 0x2d49e: 0x6c1c6e20, 0x2d49f: 0x6c2fca20,\n\t0x2d4a0: 0x6c2fcc20, 0x2d4a1: 0x6c2fce20, 0x2d4a2: 0x6c2fd020, 0x2d4a3: 0x6c2fd220,\n\t0x2d4a4: 0x6c2fd420, 0x2d4a5: 0x6c2fd620, 0x2d4a6: 0x6c2fd820, 0x2d4a7: 0x6c2fda20,\n\t0x2d4a8: 0x6c4a1e20, 0x2d4a9: 0x6c4a2020, 0x2d4aa: 0x6c4a2220, 0x2d4ab: 0x6c6be020,\n\t0x2d4ac: 0x6c6be220, 0x2d4ad: 0x6c6be420, 0x2d4ae: 0x6c930420, 0x2d4af: 0x6c930620,\n\t0x2d4b0: 0x6c930820, 0x2d4b1: 0x6cbf4420, 0x2d4b2: 0x6c930a20, 0x2d4b3: 0x6cbf6220,\n\t0x2d4b4: 0x6cef7a20, 0x2d4b5: 0x6d1f2a20, 0x2d4b6: 0x6cef9820, 0x2d4b7: 0x6d1f2c20,\n\t0x2d4b8: 0x6d79e220, 0x2d4b9: 0x6d79e420, 0x2d4ba: 0x6da29620, 0x2d4bb: 0x6da29820,\n\t0x2d4bc: 0x6de19020, 0x2d4bd: 0x6df98620, 0x2d4be: 0x6df98820, 0x2d4bf: 0x6e1cb420,\n\t// Block 0xb53, offset 0x2d4c0\n\t0x2d4c0: 0x6c01a020, 0x2d4c1: 0x6c082220, 0x2d4c2: 0x6c082420, 0x2d4c3: 0x6c082620,\n\t0x2d4c4: 0x6c082820, 0x2d4c5: 0x6c0fbc20, 0x2d4c6: 0x6c0fbe20, 0x2d4c7: 0x6c0fc020,\n\t0x2d4c8: 0x6c0fc220, 0x2d4c9: 0x6c0fc420, 0x2d4ca: 0x6c1c8e20, 0x2d4cb: 0x6c1c9020,\n\t0x2d4cc: 0x6c1c9220, 0x2d4cd: 0x6c1c9420, 0x2d4ce: 0x6c1c9620, 0x2d4cf: 0x6c1c9820,\n\t0x2d4d0: 0x6c1c9a20, 0x2d4d1: 0x6c1c9c20, 0x2d4d2: 0x6c1c9e20, 0x2d4d3: 0x6c2ffc20,\n\t0x2d4d4: 0x6c2ffe20, 0x2d4d5: 0x6c300020, 0x2d4d6: 0x6c300220, 0x2d4d7: 0x6c300420,\n\t0x2d4d8: 0x6c300620, 0x2d4d9: 0x6c300820, 0x2d4da: 0x6c300a20, 0x2d4db: 0x6c300c20,\n\t0x2d4dc: 0x6c300e20, 0x2d4dd: 0x6c301020, 0x2d4de: 0x6c301220, 0x2d4df: 0x6c301420,\n\t0x2d4e0: 0x6c301620, 0x2d4e1: 0x6c301820, 0x2d4e2: 0x6c4a4820, 0x2d4e3: 0x6c4a4a20,\n\t0x2d4e4: 0x6c4a4c20, 0x2d4e5: 0x6c4a4e20, 0x2d4e6: 0x6c4a5020, 0x2d4e7: 0x6c6bfe20,\n\t0x2d4e8: 0x6c4a5220, 0x2d4e9: 0x6c4a5420, 0x2d4ea: 0x6c4a5620, 0x2d4eb: 0x6c4a5820,\n\t0x2d4ec: 0x6c6c0020, 0x2d4ed: 0x6c6c0220, 0x2d4ee: 0x6c6c0420, 0x2d4ef: 0x6c6c0620,\n\t0x2d4f0: 0x6c6c0820, 0x2d4f1: 0x6c6c0a20, 0x2d4f2: 0x6c6c0c20, 0x2d4f3: 0x6c6c0e20,\n\t0x2d4f4: 0x6c6c1020, 0x2d4f5: 0x6c6c1220, 0x2d4f6: 0x6c6c1420, 0x2d4f7: 0x6c6c1620,\n\t0x2d4f8: 0x6c6c1820, 0x2d4f9: 0x6c6c1a20, 0x2d4fa: 0x6c6c1c20, 0x2d4fb: 0x6c6c1e20,\n\t0x2d4fc: 0x6c6c2020, 0x2d4fd: 0x6c6c2220, 0x2d4fe: 0x6c6c2420, 0x2d4ff: 0x6c933020,\n\t// Block 0xb54, offset 0x2d500\n\t0x2d500: 0x6c933220, 0x2d501: 0x6c933420, 0x2d502: 0x6c933620, 0x2d503: 0x6c933820,\n\t0x2d504: 0x6c933a20, 0x2d505: 0x6c933c20, 0x2d506: 0x6c933e20, 0x2d507: 0x6c934020,\n\t0x2d508: 0x6c934220, 0x2d509: 0x6c934420, 0x2d50a: 0x6cbf6820, 0x2d50b: 0x6cbf6a20,\n\t0x2d50c: 0x6cbf6c20, 0x2d50d: 0x6cbf6e20, 0x2d50e: 0x6cbf7020, 0x2d50f: 0x6cbf7220,\n\t0x2d510: 0x6cbf7420, 0x2d511: 0x6cbf7620, 0x2d512: 0x6cbf7820, 0x2d513: 0x6cbf7a20,\n\t0x2d514: 0x6cbf7c20, 0x2d515: 0x6cbf7e20, 0x2d516: 0x6cefa420, 0x2d517: 0x6cefa620,\n\t0x2d518: 0x6cefa820, 0x2d519: 0x6cefaa20, 0x2d51a: 0x6cefac20, 0x2d51b: 0x6cefae20,\n\t0x2d51c: 0x6cefb020, 0x2d51d: 0x6cefb220, 0x2d51e: 0x6d1f4420, 0x2d51f: 0x6d1f4620,\n\t0x2d520: 0x6d1f4820, 0x2d521: 0x6d1f4a20, 0x2d522: 0x6d1f4c20, 0x2d523: 0x6d1f4e20,\n\t0x2d524: 0x6d1f5020, 0x2d525: 0x6d1f5220, 0x2d526: 0x6d1f5420, 0x2d527: 0x6d1f5620,\n\t0x2d528: 0x6d1f5820, 0x2d529: 0x6d4cce20, 0x2d52a: 0x6cbf8020, 0x2d52b: 0x6d4cd020,\n\t0x2d52c: 0x6d4cd220, 0x2d52d: 0x6d4cd420, 0x2d52e: 0x6d4cd620, 0x2d52f: 0x6d79fe20,\n\t0x2d530: 0x6d7a0020, 0x2d531: 0x6da2a020, 0x2d532: 0x6da2a220, 0x2d533: 0x6de19a20,\n\t0x2d534: 0x6de19c20, 0x2d535: 0x6de19e20, 0x2d536: 0x6df99620, 0x2d537: 0x6e0d4820,\n\t0x2d538: 0x6c01a220, 0x2d539: 0x6c083220, 0x2d53a: 0x6c0fe220, 0x2d53b: 0x6c0fe420,\n\t0x2d53c: 0x6c0fe620, 0x2d53d: 0x6c1cbe20, 0x2d53e: 0x6c1cc020, 0x2d53f: 0x6c1cc220,\n\t// Block 0xb55, offset 0x2d540\n\t0x2d540: 0x6c304620, 0x2d541: 0x6c4a8e20, 0x2d542: 0x6c4a9020, 0x2d543: 0x6c6c7420,\n\t0x2d544: 0x6c6c7620, 0x2d545: 0x6c6c7820, 0x2d546: 0x6c4a9220, 0x2d547: 0x6c938220,\n\t0x2d548: 0x6c938420, 0x2d549: 0x6c938620, 0x2d54a: 0x6cbfd620, 0x2d54b: 0x6cbfd820,\n\t0x2d54c: 0x6cbfda20, 0x2d54d: 0x6d1fac20, 0x2d54e: 0x6d4d2220, 0x2d54f: 0x6c01a820,\n\t0x2d550: 0x6c03fc20, 0x2d551: 0x6c03fe20, 0x2d552: 0x6c083420, 0x2d553: 0x6c083620,\n\t0x2d554: 0x6c083820, 0x2d555: 0x6c083a20, 0x2d556: 0x6c0fec20, 0x2d557: 0x6c0fee20,\n\t0x2d558: 0x6c0ff020, 0x2d559: 0x6c305820, 0x2d55a: 0x6c305a20, 0x2d55b: 0x6c4aa020,\n\t0x2d55c: 0x6c4aa220, 0x2d55d: 0x6c4aa420, 0x2d55e: 0x6cbfec20, 0x2d55f: 0x6cf00020,\n\t0x2d560: 0x6cf00220, 0x2d561: 0x6d1fbc20, 0x2d562: 0x6c01ac20, 0x2d563: 0x6c040420,\n\t0x2d564: 0x6c040620, 0x2d565: 0x6c0ffc20, 0x2d566: 0x6c0ffe20, 0x2d567: 0x6c100020,\n\t0x2d568: 0x6c1cd820, 0x2d569: 0x6c1cda20, 0x2d56a: 0x6c1cdc20, 0x2d56b: 0x6c1cde20,\n\t0x2d56c: 0x6c1ce020, 0x2d56d: 0x6c306e20, 0x2d56e: 0x6c4abe20, 0x2d56f: 0x6c4ac020,\n\t0x2d570: 0x6cc00620, 0x2d571: 0x6cc00820, 0x2d572: 0x6cf01620, 0x2d573: 0x6cf01820,\n\t0x2d574: 0x6cf01a20, 0x2d575: 0x6d4d5020, 0x2d576: 0x6da2d220, 0x2d577: 0x6da2d420,\n\t0x2d578: 0x6c01b220, 0x2d579: 0x6c024c20, 0x2d57a: 0x6c040a20, 0x2d57b: 0x6c085220,\n\t0x2d57c: 0x6c085420, 0x2d57d: 0x6c100e20, 0x2d57e: 0x6c1cfa20, 0x2d57f: 0x6c1cfc20,\n\t// Block 0xb56, offset 0x2d580\n\t0x2d580: 0x6c1cfe20, 0x2d581: 0x6c1d0020, 0x2d582: 0x6c1d0220, 0x2d583: 0x6c1d0420,\n\t0x2d584: 0x6c308620, 0x2d585: 0x6c308820, 0x2d586: 0x6c308a20, 0x2d587: 0x6c308c20,\n\t0x2d588: 0x6c308e20, 0x2d589: 0x6c309020, 0x2d58a: 0x6c309220, 0x2d58b: 0x6c4ad620,\n\t0x2d58c: 0x6c4ad820, 0x2d58d: 0x6c4ada20, 0x2d58e: 0x6c4adc20, 0x2d58f: 0x6c4ade20,\n\t0x2d590: 0x6c6cae20, 0x2d591: 0x6c6cb020, 0x2d592: 0x6c6cb220, 0x2d593: 0x6c6cb420,\n\t0x2d594: 0x6c6cb620, 0x2d595: 0x6c6cb820, 0x2d596: 0x6c6cba20, 0x2d597: 0x6c6cbc20,\n\t0x2d598: 0x6c6cbe20, 0x2d599: 0x6c93d020, 0x2d59a: 0x6c93d220, 0x2d59b: 0x6c93d420,\n\t0x2d59c: 0x6c93d620, 0x2d59d: 0x6c93d820, 0x2d59e: 0x6cc02420, 0x2d59f: 0x6cc02620,\n\t0x2d5a0: 0x6c941020, 0x2d5a1: 0x6cc02820, 0x2d5a2: 0x6d1fe020, 0x2d5a3: 0x6d1fe220,\n\t0x2d5a4: 0x6d4d6220, 0x2d5a5: 0x6d4d6420, 0x2d5a6: 0x6d4d6620, 0x2d5a7: 0x6d4d6820,\n\t0x2d5a8: 0x6da2da20, 0x2d5a9: 0x6dc4c620, 0x2d5aa: 0x6dc4c820, 0x2d5ab: 0x6de1c020,\n\t0x2d5ac: 0x6e0d6420, 0x2d5ad: 0x6e31f020, 0x2d5ae: 0x6c01b620, 0x2d5af: 0x6c040e20,\n\t0x2d5b0: 0x6c102820, 0x2d5b1: 0x6c01ba20, 0x2d5b2: 0x6c041220, 0x2d5b3: 0x6c086c20,\n\t0x2d5b4: 0x6c086e20, 0x2d5b5: 0x6c087020, 0x2d5b6: 0x6c087220, 0x2d5b7: 0x6c087420,\n\t0x2d5b8: 0x6c104620, 0x2d5b9: 0x6c104820, 0x2d5ba: 0x6c104a20, 0x2d5bb: 0x6c104c20,\n\t0x2d5bc: 0x6c104e20, 0x2d5bd: 0x6c105020, 0x2d5be: 0x6c105220, 0x2d5bf: 0x6c105420,\n\t// Block 0xb57, offset 0x2d5c0\n\t0x2d5c0: 0x6c105620, 0x2d5c1: 0x6c105820, 0x2d5c2: 0x6c105a20, 0x2d5c3: 0x6c105c20,\n\t0x2d5c4: 0x6c1d3c20, 0x2d5c5: 0x6c1d3e20, 0x2d5c6: 0x6c1d4020, 0x2d5c7: 0x6c1d4220,\n\t0x2d5c8: 0x6c1d4420, 0x2d5c9: 0x6c1d4620, 0x2d5ca: 0x6c1d4820, 0x2d5cb: 0x6c1d4a20,\n\t0x2d5cc: 0x6c1d4c20, 0x2d5cd: 0x6c1dd220, 0x2d5ce: 0x6c1d4e20, 0x2d5cf: 0x6c1d5020,\n\t0x2d5d0: 0x6c1d5220, 0x2d5d1: 0x6c1d5420, 0x2d5d2: 0x6c1d5620, 0x2d5d3: 0x6c1d5820,\n\t0x2d5d4: 0x6c1d5a20, 0x2d5d5: 0x6c1d5c20, 0x2d5d6: 0x6c1d5e20, 0x2d5d7: 0x6c1d6020,\n\t0x2d5d8: 0x6c1d6220, 0x2d5d9: 0x6c1d6420, 0x2d5da: 0x6c1d6620, 0x2d5db: 0x6c1d6820,\n\t0x2d5dc: 0x6c1d6a20, 0x2d5dd: 0x6c30ce20, 0x2d5de: 0x6c30d020, 0x2d5df: 0x6c30d220,\n\t0x2d5e0: 0x6c30d420, 0x2d5e1: 0x6c30d620, 0x2d5e2: 0x6c30d820, 0x2d5e3: 0x6c30da20,\n\t0x2d5e4: 0x6c30dc20, 0x2d5e5: 0x6c30de20, 0x2d5e6: 0x6c30e020, 0x2d5e7: 0x6c30e220,\n\t0x2d5e8: 0x6c30e420, 0x2d5e9: 0x6c30e620, 0x2d5ea: 0x6c30e820, 0x2d5eb: 0x6c30ea20,\n\t0x2d5ec: 0x6c30ec20, 0x2d5ed: 0x6c30ee20, 0x2d5ee: 0x6c30f020, 0x2d5ef: 0x6c30f220,\n\t0x2d5f0: 0x6c30f420, 0x2d5f1: 0x6c30f620, 0x2d5f2: 0x6c30f820, 0x2d5f3: 0x6c30fa20,\n\t0x2d5f4: 0x6c30fc20, 0x2d5f5: 0x6c30fe20, 0x2d5f6: 0x6c310020, 0x2d5f7: 0x6c310220,\n\t0x2d5f8: 0x6c310420, 0x2d5f9: 0x6c310620, 0x2d5fa: 0x6c310820, 0x2d5fb: 0x6c310a20,\n\t0x2d5fc: 0x6c310c20, 0x2d5fd: 0x6c310e20, 0x2d5fe: 0x6c311020, 0x2d5ff: 0x6c311220,\n\t// Block 0xb58, offset 0x2d600\n\t0x2d600: 0x6c311420, 0x2d601: 0x6c311620, 0x2d602: 0x6c311820, 0x2d603: 0x6c311a20,\n\t0x2d604: 0x6c311c20, 0x2d605: 0x6c311e20, 0x2d606: 0x6c4b2620, 0x2d607: 0x6c4b2820,\n\t0x2d608: 0x6c4b2a20, 0x2d609: 0x6c4b2c20, 0x2d60a: 0x6c4b2e20, 0x2d60b: 0x6c4b3020,\n\t0x2d60c: 0x6c4b3220, 0x2d60d: 0x6c4b3420, 0x2d60e: 0x6c4b3620, 0x2d60f: 0x6c4b3820,\n\t0x2d610: 0x6c4b3a20, 0x2d611: 0x6c4b3c20, 0x2d612: 0x6c4b3e20, 0x2d613: 0x6c4b4020,\n\t0x2d614: 0x6c4b4220, 0x2d615: 0x6c4b4420, 0x2d616: 0x6c4b4620, 0x2d617: 0x6c4b4820,\n\t0x2d618: 0x6c4b4a20, 0x2d619: 0x6c4b4c20, 0x2d61a: 0x6c4b4e20, 0x2d61b: 0x6c4b5020,\n\t0x2d61c: 0x6c4b5220, 0x2d61d: 0x6c4b5420, 0x2d61e: 0x6c4b5620, 0x2d61f: 0x6c4b5820,\n\t0x2d620: 0x6c4b5a20, 0x2d621: 0x6c4b5c20, 0x2d622: 0x6c4b5e20, 0x2d623: 0x6c4b6020,\n\t0x2d624: 0x6c4b6220, 0x2d625: 0x6c4b6420, 0x2d626: 0x6c4b6620, 0x2d627: 0x6c4b6820,\n\t0x2d628: 0x6c6d2020, 0x2d629: 0x6c6d2220, 0x2d62a: 0x6c6d2420, 0x2d62b: 0x6c6d2620,\n\t0x2d62c: 0x6c6d2820, 0x2d62d: 0x6c6d2a20, 0x2d62e: 0x6c6d2c20, 0x2d62f: 0x6c6d2e20,\n\t0x2d630: 0x6c6d3020, 0x2d631: 0x6c6d3220, 0x2d632: 0x6c6d3420, 0x2d633: 0x6c6d3620,\n\t0x2d634: 0x6c6d3820, 0x2d635: 0x6c6d3a20, 0x2d636: 0x6c6d3c20, 0x2d637: 0x6c6d3e20,\n\t0x2d638: 0x6c4bcc20, 0x2d639: 0x6c6d4020, 0x2d63a: 0x6c6d4220, 0x2d63b: 0x6c6d4420,\n\t0x2d63c: 0x6c6d4620, 0x2d63d: 0x6c6d4820, 0x2d63e: 0x6c6d4a20, 0x2d63f: 0x6c6d4c20,\n\t// Block 0xb59, offset 0x2d640\n\t0x2d640: 0x6c6d4e20, 0x2d641: 0x6c6d5020, 0x2d642: 0x6c6d5220, 0x2d643: 0x6c6d5420,\n\t0x2d644: 0x6c6d5620, 0x2d645: 0x6c6d5820, 0x2d646: 0x6c943420, 0x2d647: 0x6c943620,\n\t0x2d648: 0x6c943820, 0x2d649: 0x6c943a20, 0x2d64a: 0x6c943c20, 0x2d64b: 0x6c943e20,\n\t0x2d64c: 0x6c944020, 0x2d64d: 0x6c944220, 0x2d64e: 0x6c944420, 0x2d64f: 0x6c944620,\n\t0x2d650: 0x6c944820, 0x2d651: 0x6c944a20, 0x2d652: 0x6c944c20, 0x2d653: 0x6c944e20,\n\t0x2d654: 0x6c945020, 0x2d655: 0x6c945220, 0x2d656: 0x6c945420, 0x2d657: 0x6c945620,\n\t0x2d658: 0x6c945820, 0x2d659: 0x6c945a20, 0x2d65a: 0x6c945c20, 0x2d65b: 0x6c945e20,\n\t0x2d65c: 0x6c946020, 0x2d65d: 0x6c946220, 0x2d65e: 0x6c946420, 0x2d65f: 0x6c946620,\n\t0x2d660: 0x6c946820, 0x2d661: 0x6c946a20, 0x2d662: 0x6c946c20, 0x2d663: 0x6c946e20,\n\t0x2d664: 0x6c947020, 0x2d665: 0x6c947220, 0x2d666: 0x6c947420, 0x2d667: 0x6c947620,\n\t0x2d668: 0x6c947820, 0x2d669: 0x6c947a20, 0x2d66a: 0x6c947c20, 0x2d66b: 0x6c947e20,\n\t0x2d66c: 0x6c948020, 0x2d66d: 0x6c948220, 0x2d66e: 0x6c948420, 0x2d66f: 0x6c948620,\n\t0x2d670: 0x6c948820, 0x2d671: 0x6cc08420, 0x2d672: 0x6cc08620, 0x2d673: 0x6cc08820,\n\t0x2d674: 0x6cc08a20, 0x2d675: 0x6cc08c20, 0x2d676: 0x6cc08e20, 0x2d677: 0x6cc09020,\n\t0x2d678: 0x6cc09220, 0x2d679: 0x6cc09420, 0x2d67a: 0x6cc09620, 0x2d67b: 0x6cc09820,\n\t0x2d67c: 0x6cc09a20, 0x2d67d: 0x6cc09c20, 0x2d67e: 0x6cc09e20, 0x2d67f: 0x6cc0a020,\n\t// Block 0xb5a, offset 0x2d680\n\t0x2d680: 0x6cc0a220, 0x2d681: 0x6cc0a420, 0x2d682: 0x6cc0a620, 0x2d683: 0x6cc0a820,\n\t0x2d684: 0x6cc0aa20, 0x2d685: 0x6cc0ac20, 0x2d686: 0x6cc0ae20, 0x2d687: 0x6cc0b020,\n\t0x2d688: 0x6cc0b220, 0x2d689: 0x6cc0b420, 0x2d68a: 0x6cf07a20, 0x2d68b: 0x6cc0b620,\n\t0x2d68c: 0x6cc0b820, 0x2d68d: 0x6cc0ba20, 0x2d68e: 0x6cc0bc20, 0x2d68f: 0x6cc0be20,\n\t0x2d690: 0x6cc0c020, 0x2d691: 0x6cc0c220, 0x2d692: 0x6cc0c420, 0x2d693: 0x6cc0c620,\n\t0x2d694: 0x6cc0c820, 0x2d695: 0x6cc0ca20, 0x2d696: 0x6cc0cc20, 0x2d697: 0x6cc0ce20,\n\t0x2d698: 0x6cc0d020, 0x2d699: 0x6cc0d220, 0x2d69a: 0x6cc0d420, 0x2d69b: 0x6cc0d620,\n\t0x2d69c: 0x6cc0d820, 0x2d69d: 0x6cc0da20, 0x2d69e: 0x6cf07c20, 0x2d69f: 0x6cf07e20,\n\t0x2d6a0: 0x6cf08020, 0x2d6a1: 0x6cf08220, 0x2d6a2: 0x6cf08420, 0x2d6a3: 0x6cf08620,\n\t0x2d6a4: 0x6cf08820, 0x2d6a5: 0x6cf08a20, 0x2d6a6: 0x6cf08c20, 0x2d6a7: 0x6cf08e20,\n\t0x2d6a8: 0x6cf09020, 0x2d6a9: 0x6cf09220, 0x2d6aa: 0x6cf09420, 0x2d6ab: 0x6cc16a20,\n\t0x2d6ac: 0x6cf09620, 0x2d6ad: 0x6cf09820, 0x2d6ae: 0x6cf09a20, 0x2d6af: 0x6cf09c20,\n\t0x2d6b0: 0x6cf09e20, 0x2d6b1: 0x6cf0a020, 0x2d6b2: 0x6cf0a220, 0x2d6b3: 0x6cf0a420,\n\t0x2d6b4: 0x6cf0a620, 0x2d6b5: 0x6cf0a820, 0x2d6b6: 0x6cf0aa20, 0x2d6b7: 0x6d201820,\n\t0x2d6b8: 0x6d201a20, 0x2d6b9: 0x6d201c20, 0x2d6ba: 0x6d201e20, 0x2d6bb: 0x6d202020,\n\t0x2d6bc: 0x6d202220, 0x2d6bd: 0x6d202420, 0x2d6be: 0x6d202620, 0x2d6bf: 0x6d202820,\n\t// Block 0xb5b, offset 0x2d6c0\n\t0x2d6c0: 0x6d202a20, 0x2d6c1: 0x6d202c20, 0x2d6c2: 0x6d202e20, 0x2d6c3: 0x6d203020,\n\t0x2d6c4: 0x6d203220, 0x2d6c5: 0x6d203420, 0x2d6c6: 0x6d203620, 0x2d6c7: 0x6d203820,\n\t0x2d6c8: 0x6d203a20, 0x2d6c9: 0x6d203c20, 0x2d6ca: 0x6d203e20, 0x2d6cb: 0x6d204020,\n\t0x2d6cc: 0x6d204220, 0x2d6cd: 0x6d204420, 0x2d6ce: 0x6d204620, 0x2d6cf: 0x6d4dac20,\n\t0x2d6d0: 0x6d4dae20, 0x2d6d1: 0x6d4db020, 0x2d6d2: 0x6d4db220, 0x2d6d3: 0x6d4db420,\n\t0x2d6d4: 0x6d4db620, 0x2d6d5: 0x6d4db820, 0x2d6d6: 0x6d4dba20, 0x2d6d7: 0x6d4dbc20,\n\t0x2d6d8: 0x6d4dbe20, 0x2d6d9: 0x6d4dc020, 0x2d6da: 0x6d4dc220, 0x2d6db: 0x6d4dc420,\n\t0x2d6dc: 0x6d4dc620, 0x2d6dd: 0x6d4dc820, 0x2d6de: 0x6d4dca20, 0x2d6df: 0x6d4dcc20,\n\t0x2d6e0: 0x6d4dce20, 0x2d6e1: 0x6d4dd020, 0x2d6e2: 0x6d4dd220, 0x2d6e3: 0x6d4dd420,\n\t0x2d6e4: 0x6d4dd620, 0x2d6e5: 0x6d4dd820, 0x2d6e6: 0x6d7a6e20, 0x2d6e7: 0x6d7a7020,\n\t0x2d6e8: 0x6d7a7220, 0x2d6e9: 0x6d7a7420, 0x2d6ea: 0x6d7a7620, 0x2d6eb: 0x6d7a7820,\n\t0x2d6ec: 0x6d7a7a20, 0x2d6ed: 0x6d7a7c20, 0x2d6ee: 0x6d7a7e20, 0x2d6ef: 0x6d7a8020,\n\t0x2d6f0: 0x6d7a8220, 0x2d6f1: 0x6d7a8420, 0x2d6f2: 0x6d7a8620, 0x2d6f3: 0x6d7a8820,\n\t0x2d6f4: 0x6d7a8a20, 0x2d6f5: 0x6d7a8c20, 0x2d6f6: 0x6d7a8e20, 0x2d6f7: 0x6da2ec20,\n\t0x2d6f8: 0x6da2ee20, 0x2d6f9: 0x6da2f020, 0x2d6fa: 0x6da2f220, 0x2d6fb: 0x6da35220,\n\t0x2d6fc: 0x6da2f420, 0x2d6fd: 0x6da2f620, 0x2d6fe: 0x6da2f820, 0x2d6ff: 0x6da2fa20,\n\t// Block 0xb5c, offset 0x2d700\n\t0x2d700: 0x6dc4d620, 0x2d701: 0x6dc4d820, 0x2d702: 0x6dc4da20, 0x2d703: 0x6de1d820,\n\t0x2d704: 0x6de1da20, 0x2d705: 0x6de1dc20, 0x2d706: 0x6df9b220, 0x2d707: 0x6df9b420,\n\t0x2d708: 0x6df9b620, 0x2d709: 0x6df9b820, 0x2d70a: 0x6df9ba20, 0x2d70b: 0x6e0d6e20,\n\t0x2d70c: 0x6df9bc20, 0x2d70d: 0x6e0d7420, 0x2d70e: 0x6e1cd820, 0x2d70f: 0x6e0d7620,\n\t0x2d710: 0x6e0d7820, 0x2d711: 0x6e1cda20, 0x2d712: 0x6e1cdc20, 0x2d713: 0x6e1cde20,\n\t0x2d714: 0x6e1ce020, 0x2d715: 0x6e1ce220, 0x2d716: 0x6e28b220, 0x2d717: 0x6e1ce420,\n\t0x2d718: 0x6e28b420, 0x2d719: 0x6e31f420, 0x2d71a: 0x6e28b620, 0x2d71b: 0x6c01bc20,\n\t0x2d71c: 0x6c00c620, 0x2d71d: 0x6c01be20, 0x2d71e: 0x6c109420, 0x2d71f: 0x6c109620,\n\t0x2d720: 0x6c1dd420, 0x2d721: 0x6c272c20, 0x2d722: 0x6c954a20, 0x2d723: 0x6c954c20,\n\t0x2d724: 0x6d4e4820, 0x2d725: 0x6c01c420, 0x2d726: 0x6c089220, 0x2d727: 0x6c089420,\n\t0x2d728: 0x6c089620, 0x2d729: 0x6c10a220, 0x2d72a: 0x6c10a420, 0x2d72b: 0x6c1dde20,\n\t0x2d72c: 0x6c4bda20, 0x2d72d: 0x6c4bdc20, 0x2d72e: 0x6c6dec20, 0x2d72f: 0x6cc17020,\n\t0x2d730: 0x6cf11020, 0x2d731: 0x6c01c620, 0x2d732: 0x6c01c820, 0x2d733: 0x6c01ca20,\n\t0x2d734: 0x6c042820, 0x2d735: 0x6c1de620, 0x2d736: 0x6c318a20, 0x2d737: 0x6c4be020,\n\t0x2d738: 0x6c4be220, 0x2d739: 0x6c4be420, 0x2d73a: 0x6c4be620, 0x2d73b: 0x6c4be820,\n\t0x2d73c: 0x6c6df220, 0x2d73d: 0x6cc17820, 0x2d73e: 0x6c01cc20, 0x2d73f: 0x6c042c20,\n\t// Block 0xb5d, offset 0x2d740\n\t0x2d740: 0x6c042e20, 0x2d741: 0x6c043020, 0x2d742: 0x6c08aa20, 0x2d743: 0x6c08ac20,\n\t0x2d744: 0x6c08ae20, 0x2d745: 0x6c08b020, 0x2d746: 0x6c10b420, 0x2d747: 0x6c10b620,\n\t0x2d748: 0x6c10b820, 0x2d749: 0x6c1df620, 0x2d74a: 0x6c1df820, 0x2d74b: 0x6c1dfa20,\n\t0x2d74c: 0x6c1dfc20, 0x2d74d: 0x6c1dfe20, 0x2d74e: 0x6c1e0020, 0x2d74f: 0x6c1e0220,\n\t0x2d750: 0x6c1e0420, 0x2d751: 0x6c319a20, 0x2d752: 0x6c319c20, 0x2d753: 0x6c319e20,\n\t0x2d754: 0x6c31a020, 0x2d755: 0x6c31a220, 0x2d756: 0x6c31a420, 0x2d757: 0x6c31a620,\n\t0x2d758: 0x6c31a820, 0x2d759: 0x6c31aa20, 0x2d75a: 0x6c31ac20, 0x2d75b: 0x6c31ae20,\n\t0x2d75c: 0x6c31b020, 0x2d75d: 0x6c4bfc20, 0x2d75e: 0x6c4bfe20, 0x2d75f: 0x6c4c0020,\n\t0x2d760: 0x6c4c0220, 0x2d761: 0x6c4c0420, 0x2d762: 0x6c4c0620, 0x2d763: 0x6c4c0820,\n\t0x2d764: 0x6c4c0a20, 0x2d765: 0x6c4c0c20, 0x2d766: 0x6c4c0e20, 0x2d767: 0x6c4c1020,\n\t0x2d768: 0x6c6e0020, 0x2d769: 0x6c6e0220, 0x2d76a: 0x6c6e0420, 0x2d76b: 0x6c6e0620,\n\t0x2d76c: 0x6c6e0820, 0x2d76d: 0x6c6e0a20, 0x2d76e: 0x6c6e0c20, 0x2d76f: 0x6c6e0e20,\n\t0x2d770: 0x6c6e1020, 0x2d771: 0x6c6e1220, 0x2d772: 0x6c957020, 0x2d773: 0x6c957220,\n\t0x2d774: 0x6c957420, 0x2d775: 0x6c957620, 0x2d776: 0x6c957820, 0x2d777: 0x6c957a20,\n\t0x2d778: 0x6c957c20, 0x2d779: 0x6c957e20, 0x2d77a: 0x6c958020, 0x2d77b: 0x6c958220,\n\t0x2d77c: 0x6c958420, 0x2d77d: 0x6cc19820, 0x2d77e: 0x6c95ca20, 0x2d77f: 0x6cc19a20,\n\t// Block 0xb5e, offset 0x2d780\n\t0x2d780: 0x6cc19c20, 0x2d781: 0x6cc19e20, 0x2d782: 0x6cc1a020, 0x2d783: 0x6cc1a220,\n\t0x2d784: 0x6cc1a420, 0x2d785: 0x6cc1a620, 0x2d786: 0x6cc1a820, 0x2d787: 0x6cc1aa20,\n\t0x2d788: 0x6cc1f220, 0x2d789: 0x6cc1ac20, 0x2d78a: 0x6cf12420, 0x2d78b: 0x6cf12620,\n\t0x2d78c: 0x6cf12820, 0x2d78d: 0x6cf12a20, 0x2d78e: 0x6cf12c20, 0x2d78f: 0x6cf12e20,\n\t0x2d790: 0x6d082820, 0x2d791: 0x6d20c820, 0x2d792: 0x6d20ca20, 0x2d793: 0x6d20cc20,\n\t0x2d794: 0x6d20ce20, 0x2d795: 0x6d20d020, 0x2d796: 0x6d20d220, 0x2d797: 0x6d20d420,\n\t0x2d798: 0x6d20d620, 0x2d799: 0x6d20d820, 0x2d79a: 0x6d4e5e20, 0x2d79b: 0x6d20da20,\n\t0x2d79c: 0x6d4e6020, 0x2d79d: 0x6d4e6220, 0x2d79e: 0x6d4e6420, 0x2d79f: 0x6d4e6620,\n\t0x2d7a0: 0x6d4e6820, 0x2d7a1: 0x6d4e6a20, 0x2d7a2: 0x6d4e6c20, 0x2d7a3: 0x6d210620,\n\t0x2d7a4: 0x6d4e6e20, 0x2d7a5: 0x6d4e7020, 0x2d7a6: 0x6d7aee20, 0x2d7a7: 0x6d7af020,\n\t0x2d7a8: 0x6d7af220, 0x2d7a9: 0x6d4ea820, 0x2d7aa: 0x6da36020, 0x2d7ab: 0x6da36220,\n\t0x2d7ac: 0x6da36420, 0x2d7ad: 0x6dc51020, 0x2d7ae: 0x6dc51220, 0x2d7af: 0x6d7b1a20,\n\t0x2d7b0: 0x6de21220, 0x2d7b1: 0x6df9e020, 0x2d7b2: 0x6c01ce20, 0x2d7b3: 0x6c08ba20,\n\t0x2d7b4: 0x6c10da20, 0x2d7b5: 0x6c10dc20, 0x2d7b6: 0x6c10de20, 0x2d7b7: 0x6c31dc20,\n\t0x2d7b8: 0x6c31de20, 0x2d7b9: 0x6cf15a20, 0x2d7ba: 0x6c01d220, 0x2d7bb: 0x6c043220,\n\t0x2d7bc: 0x6c08be20, 0x2d7bd: 0x6c4c5e20, 0x2d7be: 0x6cc20020, 0x2d7bf: 0x6c01d420,\n\t// Block 0xb5f, offset 0x2d7c0\n\t0x2d7c0: 0x6c08c820, 0x2d7c1: 0x6c08ca20, 0x2d7c2: 0x6c08cc20, 0x2d7c3: 0x6c08ce20,\n\t0x2d7c4: 0x6c10ea20, 0x2d7c5: 0x6c10ec20, 0x2d7c6: 0x6c10ee20, 0x2d7c7: 0x6c1e4620,\n\t0x2d7c8: 0x6c1e4820, 0x2d7c9: 0x6c1e4a20, 0x2d7ca: 0x6c1e4c20, 0x2d7cb: 0x6c1e4e20,\n\t0x2d7cc: 0x6c1e5020, 0x2d7cd: 0x6c1e5220, 0x2d7ce: 0x6c1e5420, 0x2d7cf: 0x6c1e5620,\n\t0x2d7d0: 0x6c1e5820, 0x2d7d1: 0x6c1e5a20, 0x2d7d2: 0x6c1e5c20, 0x2d7d3: 0x6c1e5e20,\n\t0x2d7d4: 0x6c1e6020, 0x2d7d5: 0x6c320220, 0x2d7d6: 0x6c320420, 0x2d7d7: 0x6c320620,\n\t0x2d7d8: 0x6c31f020, 0x2d7d9: 0x6c320820, 0x2d7da: 0x6c320a20, 0x2d7db: 0x6c4c6620,\n\t0x2d7dc: 0x6c320c20, 0x2d7dd: 0x6c320e20, 0x2d7de: 0x6c321020, 0x2d7df: 0x6c321220,\n\t0x2d7e0: 0x6c4c7620, 0x2d7e1: 0x6c4c7820, 0x2d7e2: 0x6c4c7a20, 0x2d7e3: 0x6c4c7c20,\n\t0x2d7e4: 0x6c4c7e20, 0x2d7e5: 0x6c4c8020, 0x2d7e6: 0x6c4c8220, 0x2d7e7: 0x6c6e6a20,\n\t0x2d7e8: 0x6c6e6c20, 0x2d7e9: 0x6c6e6e20, 0x2d7ea: 0x6c6e7020, 0x2d7eb: 0x6c6e7220,\n\t0x2d7ec: 0x6c6e7420, 0x2d7ed: 0x6c6e7620, 0x2d7ee: 0x6c6e7820, 0x2d7ef: 0x6c6e7a20,\n\t0x2d7f0: 0x6c4cac20, 0x2d7f1: 0x6c95e220, 0x2d7f2: 0x6c95e420, 0x2d7f3: 0x6c95e620,\n\t0x2d7f4: 0x6c95e820, 0x2d7f5: 0x6c95ea20, 0x2d7f6: 0x6c95ec20, 0x2d7f7: 0x6c95ee20,\n\t0x2d7f8: 0x6c95f020, 0x2d7f9: 0x6c95f220, 0x2d7fa: 0x6c95f420, 0x2d7fb: 0x6c95f620,\n\t0x2d7fc: 0x6c95f820, 0x2d7fd: 0x6cc20c20, 0x2d7fe: 0x6c965020, 0x2d7ff: 0x6cc20e20,\n\t// Block 0xb60, offset 0x2d800\n\t0x2d800: 0x6cc21020, 0x2d801: 0x6cc21220, 0x2d802: 0x6cc21420, 0x2d803: 0x6cc21620,\n\t0x2d804: 0x6cc26420, 0x2d805: 0x6cf16c20, 0x2d806: 0x6cf16e20, 0x2d807: 0x6cf17020,\n\t0x2d808: 0x6cf17220, 0x2d809: 0x6cf17420, 0x2d80a: 0x6cc21820, 0x2d80b: 0x6cf17620,\n\t0x2d80c: 0x6cf17820, 0x2d80d: 0x6d211e20, 0x2d80e: 0x6d212020, 0x2d80f: 0x6d212220,\n\t0x2d810: 0x6d212420, 0x2d811: 0x6d212620, 0x2d812: 0x6d212820, 0x2d813: 0x6d212a20,\n\t0x2d814: 0x6d212c20, 0x2d815: 0x6d212e20, 0x2d816: 0x6d213020, 0x2d817: 0x6d213220,\n\t0x2d818: 0x6d213420, 0x2d819: 0x6d216c20, 0x2d81a: 0x6d4ebc20, 0x2d81b: 0x6d4ebe20,\n\t0x2d81c: 0x6d216e20, 0x2d81d: 0x6d4ec020, 0x2d81e: 0x6d4ec220, 0x2d81f: 0x6d4ec420,\n\t0x2d820: 0x6d4ec620, 0x2d821: 0x6d4ec820, 0x2d822: 0x6d4eca20, 0x2d823: 0x6d4ecc20,\n\t0x2d824: 0x6d4ece20, 0x2d825: 0x6d7b2e20, 0x2d826: 0x6d7b3020, 0x2d827: 0x6d7b3220,\n\t0x2d828: 0x6d7b3420, 0x2d829: 0x6d7b3620, 0x2d82a: 0x6d7b3820, 0x2d82b: 0x6dc52020,\n\t0x2d82c: 0x6de23220, 0x2d82d: 0x6de23420, 0x2d82e: 0x6df9ee20, 0x2d82f: 0x6df9f020,\n\t0x2d830: 0x6df9f220, 0x2d831: 0x6e0da020, 0x2d832: 0x6e1d1220, 0x2d833: 0x6e388020,\n\t0x2d834: 0x6c01d620, 0x2d835: 0x6c110a20, 0x2d836: 0x6c324220, 0x2d837: 0x6c1e8420,\n\t0x2d838: 0x6c324620, 0x2d839: 0x6c324820, 0x2d83a: 0x6c4cae20, 0x2d83b: 0x6c4cb020,\n\t0x2d83c: 0x6c4cb220, 0x2d83d: 0x6c6eba20, 0x2d83e: 0x6c01d820, 0x2d83f: 0x6c043c20,\n\t// Block 0xb61, offset 0x2d840\n\t0x2d840: 0x6c043e20, 0x2d841: 0x6c08da20, 0x2d842: 0x6c110e20, 0x2d843: 0x6c1e9020,\n\t0x2d844: 0x6c1e9220, 0x2d845: 0x6c1e9420, 0x2d846: 0x6c324c20, 0x2d847: 0x6c4cc220,\n\t0x2d848: 0x6c4cc420, 0x2d849: 0x6c6ec220, 0x2d84a: 0x6d218220, 0x2d84b: 0x6c01dc20,\n\t0x2d84c: 0x6c044220, 0x2d84d: 0x6c08e020, 0x2d84e: 0x6c111620, 0x2d84f: 0x6c111820,\n\t0x2d850: 0x6c111a20, 0x2d851: 0x6cc27a20, 0x2d852: 0x6cf1ba20, 0x2d853: 0x6c01e020,\n\t0x2d854: 0x6c044a20, 0x2d855: 0x6c044c20, 0x2d856: 0x6c044e20, 0x2d857: 0x6c08e220,\n\t0x2d858: 0x6c08e420, 0x2d859: 0x6c112820, 0x2d85a: 0x6c112a20, 0x2d85b: 0x6c112c20,\n\t0x2d85c: 0x6c112e20, 0x2d85d: 0x6c1eb620, 0x2d85e: 0x6c1eb820, 0x2d85f: 0x6c1eba20,\n\t0x2d860: 0x6c1ebc20, 0x2d861: 0x6c326820, 0x2d862: 0x6c326a20, 0x2d863: 0x6c326c20,\n\t0x2d864: 0x6c326e20, 0x2d865: 0x6c327020, 0x2d866: 0x6c327220, 0x2d867: 0x6c327420,\n\t0x2d868: 0x6c327620, 0x2d869: 0x6c327820, 0x2d86a: 0x6c327a20, 0x2d86b: 0x6c4cf820,\n\t0x2d86c: 0x6c4cfa20, 0x2d86d: 0x6c4cfc20, 0x2d86e: 0x6c4cfe20, 0x2d86f: 0x6c4d0020,\n\t0x2d870: 0x6c6edc20, 0x2d871: 0x6c6ede20, 0x2d872: 0x6c6ee020, 0x2d873: 0x6c6ee220,\n\t0x2d874: 0x6c966e20, 0x2d875: 0x6c967020, 0x2d876: 0x6c967220, 0x2d877: 0x6c967420,\n\t0x2d878: 0x6c967620, 0x2d879: 0x6c967820, 0x2d87a: 0x6cc28420, 0x2d87b: 0x6cc28620,\n\t0x2d87c: 0x6cc28820, 0x2d87d: 0x6cc28a20, 0x2d87e: 0x6cc28c20, 0x2d87f: 0x6cf1c820,\n\t// Block 0xb62, offset 0x2d880\n\t0x2d880: 0x6cf1ca20, 0x2d881: 0x6cf1cc20, 0x2d882: 0x6cf1ce20, 0x2d883: 0x6d218620,\n\t0x2d884: 0x6d218820, 0x2d885: 0x6d218a20, 0x2d886: 0x6d21a620, 0x2d887: 0x6d4f0c20,\n\t0x2d888: 0x6d4f0e20, 0x2d889: 0x6d4f1020, 0x2d88a: 0x6d7b6820, 0x2d88b: 0x6d7b6a20,\n\t0x2d88c: 0x6da3aa20, 0x2d88d: 0x6dc54020, 0x2d88e: 0x6e1d2220, 0x2d88f: 0x6e28ca20,\n\t0x2d890: 0x6c01e820, 0x2d891: 0x6c01ea20, 0x2d892: 0x6c08f820, 0x2d893: 0x6c114a20,\n\t0x2d894: 0x6c329c20, 0x2d895: 0x6c329e20, 0x2d896: 0x6c4d2a20, 0x2d897: 0x6c96a020,\n\t0x2d898: 0x6cc2a620, 0x2d899: 0x6cf1e020, 0x2d89a: 0x6cf1e220, 0x2d89b: 0x6d7b7a20,\n\t0x2d89c: 0x6d7b7c20, 0x2d89d: 0x6dc54e20, 0x2d89e: 0x6dc55020, 0x2d89f: 0x6de26820,\n\t0x2d8a0: 0x6e3d2420, 0x2d8a1: 0x6c01ec20, 0x2d8a2: 0x6c1ee020, 0x2d8a3: 0x6c1ee220,\n\t0x2d8a4: 0x6c1ee420, 0x2d8a5: 0x6c4d3420, 0x2d8a6: 0x6c4d3620, 0x2d8a7: 0x6c6f0020,\n\t0x2d8a8: 0x6c6f0220, 0x2d8a9: 0x6c96ac20, 0x2d8aa: 0x6cae2020, 0x2d8ab: 0x6c96ae20,\n\t0x2d8ac: 0x6c96b020, 0x2d8ad: 0x6cc2b220, 0x2d8ae: 0x6cf1ea20, 0x2d8af: 0x6d21b420,\n\t0x2d8b0: 0x6d21b620, 0x2d8b1: 0x6d4f2820, 0x2d8b2: 0x6e1d2820, 0x2d8b3: 0x6c01ee20,\n\t0x2d8b4: 0x6c116220, 0x2d8b5: 0x6c116420, 0x2d8b6: 0x6c1eee20, 0x2d8b7: 0x6c1ef020,\n\t0x2d8b8: 0x6c1ef220, 0x2d8b9: 0x6c1ef420, 0x2d8ba: 0x6c1ef620, 0x2d8bb: 0x6c1ef820,\n\t0x2d8bc: 0x6c32b820, 0x2d8bd: 0x6c32ba20, 0x2d8be: 0x6c32bc20, 0x2d8bf: 0x6c32be20,\n\t// Block 0xb63, offset 0x2d8c0\n\t0x2d8c0: 0x6c32c020, 0x2d8c1: 0x6c32c220, 0x2d8c2: 0x6c32c420, 0x2d8c3: 0x6c32c620,\n\t0x2d8c4: 0x6c32c820, 0x2d8c5: 0x6c4d4c20, 0x2d8c6: 0x6c4d4e20, 0x2d8c7: 0x6c4d5020,\n\t0x2d8c8: 0x6c4d5220, 0x2d8c9: 0x6c4d5420, 0x2d8ca: 0x6c4d5620, 0x2d8cb: 0x6c4d5820,\n\t0x2d8cc: 0x6c4d5a20, 0x2d8cd: 0x6c4d5c20, 0x2d8ce: 0x6c6f1620, 0x2d8cf: 0x6c6f1820,\n\t0x2d8d0: 0x6c6f1a20, 0x2d8d1: 0x6c6f1c20, 0x2d8d2: 0x6c6f1e20, 0x2d8d3: 0x6c6f2020,\n\t0x2d8d4: 0x6c4d5e20, 0x2d8d5: 0x6c6f2220, 0x2d8d6: 0x6c96d220, 0x2d8d7: 0x6c96d420,\n\t0x2d8d8: 0x6c96d620, 0x2d8d9: 0x6c96d820, 0x2d8da: 0x6cc2ca20, 0x2d8db: 0x6c96da20,\n\t0x2d8dc: 0x6c96dc20, 0x2d8dd: 0x6c96de20, 0x2d8de: 0x6c96e020, 0x2d8df: 0x6c96e220,\n\t0x2d8e0: 0x6c96e420, 0x2d8e1: 0x6c96e620, 0x2d8e2: 0x6c96e820, 0x2d8e3: 0x6c96ea20,\n\t0x2d8e4: 0x6c96ec20, 0x2d8e5: 0x6cc2cc20, 0x2d8e6: 0x6cc2ce20, 0x2d8e7: 0x6cc2d020,\n\t0x2d8e8: 0x6cc2d220, 0x2d8e9: 0x6cc2d420, 0x2d8ea: 0x6cc2d620, 0x2d8eb: 0x6cc2d820,\n\t0x2d8ec: 0x6cf1f820, 0x2d8ed: 0x6cf1fa20, 0x2d8ee: 0x6cf1fc20, 0x2d8ef: 0x6cf1fe20,\n\t0x2d8f0: 0x6cf20020, 0x2d8f1: 0x6d21c220, 0x2d8f2: 0x6d4f3a20, 0x2d8f3: 0x6d21c420,\n\t0x2d8f4: 0x6d21c620, 0x2d8f5: 0x6d4f3c20, 0x2d8f6: 0x6d220220, 0x2d8f7: 0x6d4f3e20,\n\t0x2d8f8: 0x6d4f4020, 0x2d8f9: 0x6d4f4220, 0x2d8fa: 0x6d4f4420, 0x2d8fb: 0x6d7b9020,\n\t0x2d8fc: 0x6d7b9220, 0x2d8fd: 0x6da3c220, 0x2d8fe: 0x6da3c420, 0x2d8ff: 0x6de27420,\n\t// Block 0xb64, offset 0x2d900\n\t0x2d900: 0x6dfa1c20, 0x2d901: 0x6dfa1e20, 0x2d902: 0x6e0dba20, 0x2d903: 0x6c046620,\n\t0x2d904: 0x6c01f020, 0x2d905: 0x6c090820, 0x2d906: 0x6c046820, 0x2d907: 0x6c090a20,\n\t0x2d908: 0x6c117020, 0x2d909: 0x6c090c20, 0x2d90a: 0x6c090e20, 0x2d90b: 0x6c117820,\n\t0x2d90c: 0x6c1f2020, 0x2d90d: 0x6c1f2220, 0x2d90e: 0x6c1f2420, 0x2d90f: 0x6c117a20,\n\t0x2d910: 0x6c1f2620, 0x2d911: 0x6c1f2820, 0x2d912: 0x6c1f2a20, 0x2d913: 0x6c117c20,\n\t0x2d914: 0x6c117e20, 0x2d915: 0x6c118020, 0x2d916: 0x6c118220, 0x2d917: 0x6c1f2c20,\n\t0x2d918: 0x6c1f2e20, 0x2d919: 0x6c118420, 0x2d91a: 0x6c118620, 0x2d91b: 0x6c118820,\n\t0x2d91c: 0x6c1f3020, 0x2d91d: 0x6c32e620, 0x2d91e: 0x6c32e820, 0x2d91f: 0x6c1f4220,\n\t0x2d920: 0x6c32ea20, 0x2d921: 0x6c1f4420, 0x2d922: 0x6c32ec20, 0x2d923: 0x6c1f4620,\n\t0x2d924: 0x6c1f4820, 0x2d925: 0x6c32ee20, 0x2d926: 0x6c1f4a20, 0x2d927: 0x6c1f4c20,\n\t0x2d928: 0x6c1f4e20, 0x2d929: 0x6c32f020, 0x2d92a: 0x6c1f5020, 0x2d92b: 0x6c1f5220,\n\t0x2d92c: 0x6c1f5420, 0x2d92d: 0x6c1f5620, 0x2d92e: 0x6c1f5820, 0x2d92f: 0x6c1f5a20,\n\t0x2d930: 0x6c1f5c20, 0x2d931: 0x6c1f5e20, 0x2d932: 0x6c1f6020, 0x2d933: 0x6c1f6220,\n\t0x2d934: 0x6c1f6420, 0x2d935: 0x6c32f220, 0x2d936: 0x6c1f6620, 0x2d937: 0x6c1f6820,\n\t0x2d938: 0x6c1f6a20, 0x2d939: 0x6c1f6c20, 0x2d93a: 0x6c1f6e20, 0x2d93b: 0x6c1f7020,\n\t0x2d93c: 0x6c1f7220, 0x2d93d: 0x6c32f420, 0x2d93e: 0x6c1f7420, 0x2d93f: 0x6c32f620,\n\t// Block 0xb65, offset 0x2d940\n\t0x2d940: 0x6c1f7620, 0x2d941: 0x6c32f820, 0x2d942: 0x6c32fa20, 0x2d943: 0x6c1f7820,\n\t0x2d944: 0x6c1f7a20, 0x2d945: 0x6c1f7c20, 0x2d946: 0x6c1f7e20, 0x2d947: 0x6c331020,\n\t0x2d948: 0x6c331220, 0x2d949: 0x6c331420, 0x2d94a: 0x6c331620, 0x2d94b: 0x6c331820,\n\t0x2d94c: 0x6c331a20, 0x2d94d: 0x6c331c20, 0x2d94e: 0x6c4d8420, 0x2d94f: 0x6c331e20,\n\t0x2d950: 0x6c332020, 0x2d951: 0x6c332220, 0x2d952: 0x6c4d8620, 0x2d953: 0x6c332420,\n\t0x2d954: 0x6c332620, 0x2d955: 0x6c332820, 0x2d956: 0x6c332a20, 0x2d957: 0x6c332c20,\n\t0x2d958: 0x6c4d8820, 0x2d959: 0x6c332e20, 0x2d95a: 0x6c333020, 0x2d95b: 0x6c333220,\n\t0x2d95c: 0x6c333420, 0x2d95d: 0x6c4d8a20, 0x2d95e: 0x6c333620, 0x2d95f: 0x6c333820,\n\t0x2d960: 0x6c4d8c20, 0x2d961: 0x6c333a20, 0x2d962: 0x6c333c20, 0x2d963: 0x6c4d8e20,\n\t0x2d964: 0x6c4d9020, 0x2d965: 0x6c4d9220, 0x2d966: 0x6c333e20, 0x2d967: 0x6c334020,\n\t0x2d968: 0x6c4d9420, 0x2d969: 0x6c334220, 0x2d96a: 0x6c334420, 0x2d96b: 0x6c334620,\n\t0x2d96c: 0x6c334820, 0x2d96d: 0x6c334a20, 0x2d96e: 0x6c334c20, 0x2d96f: 0x6c334e20,\n\t0x2d970: 0x6c335020, 0x2d971: 0x6c4d9620, 0x2d972: 0x6c335220, 0x2d973: 0x6c335420,\n\t0x2d974: 0x6c335620, 0x2d975: 0x6c335820, 0x2d976: 0x6c335a20, 0x2d977: 0x6c4d9820,\n\t0x2d978: 0x6c4d9a20, 0x2d979: 0x6c4d9c20, 0x2d97a: 0x6c335c20, 0x2d97b: 0x6c4d9e20,\n\t0x2d97c: 0x6c4da020, 0x2d97d: 0x6c335e20, 0x2d97e: 0x6c336020, 0x2d97f: 0x6c336220,\n\t// Block 0xb66, offset 0x2d980\n\t0x2d980: 0x6c4dc020, 0x2d981: 0x6c6f6220, 0x2d982: 0x6c4dc220, 0x2d983: 0x6c4dc420,\n\t0x2d984: 0x6c4dc620, 0x2d985: 0x6c4dc820, 0x2d986: 0x6c4dca20, 0x2d987: 0x6c4dcc20,\n\t0x2d988: 0x6c4dce20, 0x2d989: 0x6c4dd020, 0x2d98a: 0x6c4dd220, 0x2d98b: 0x6c6f6420,\n\t0x2d98c: 0x6c4dd420, 0x2d98d: 0x6c4dd620, 0x2d98e: 0x6c4dd820, 0x2d98f: 0x6c6f6620,\n\t0x2d990: 0x6c6f6820, 0x2d991: 0x6c4dda20, 0x2d992: 0x6c4ddc20, 0x2d993: 0x6c4dde20,\n\t0x2d994: 0x6c4de020, 0x2d995: 0x6c6f6a20, 0x2d996: 0x6c6f6c20, 0x2d997: 0x6c4de220,\n\t0x2d998: 0x6c4de420, 0x2d999: 0x6c6f6e20, 0x2d99a: 0x6c6f7020, 0x2d99b: 0x6c4de620,\n\t0x2d99c: 0x6c4de820, 0x2d99d: 0x6c6f7220, 0x2d99e: 0x6c4dea20, 0x2d99f: 0x6c4dec20,\n\t0x2d9a0: 0x6c4dee20, 0x2d9a1: 0x6c4df020, 0x2d9a2: 0x6c4df220, 0x2d9a3: 0x6c6f7420,\n\t0x2d9a4: 0x6c4df420, 0x2d9a5: 0x6c6f7620, 0x2d9a6: 0x6c4df620, 0x2d9a7: 0x6c6f7820,\n\t0x2d9a8: 0x6c4df820, 0x2d9a9: 0x6c6f7a20, 0x2d9aa: 0x6c4dfa20, 0x2d9ab: 0x6c4dfc20,\n\t0x2d9ac: 0x6c4dfe20, 0x2d9ad: 0x6c6f7c20, 0x2d9ae: 0x6c4e0020, 0x2d9af: 0x6c6f7e20,\n\t0x2d9b0: 0x6c4e0220, 0x2d9b1: 0x6c4e0420, 0x2d9b2: 0x6c4e0620, 0x2d9b3: 0x6c6f8020,\n\t0x2d9b4: 0x6c6f8220, 0x2d9b5: 0x6c6f8420, 0x2d9b6: 0x6c6f8620, 0x2d9b7: 0x6c6f8820,\n\t0x2d9b8: 0x6c4e0820, 0x2d9b9: 0x6c4e0a20, 0x2d9ba: 0x6c4e0c20, 0x2d9bb: 0x6c4e0e20,\n\t0x2d9bc: 0x6c4e1020, 0x2d9bd: 0x6c4e1220, 0x2d9be: 0x6c6f9e20, 0x2d9bf: 0x6c973820,\n\t// Block 0xb67, offset 0x2d9c0\n\t0x2d9c0: 0x6c6fa020, 0x2d9c1: 0x6c6fa220, 0x2d9c2: 0x6c6fa420, 0x2d9c3: 0x6c6fa620,\n\t0x2d9c4: 0x6c6fa820, 0x2d9c5: 0x6c6faa20, 0x2d9c6: 0x6c973a20, 0x2d9c7: 0x6c6fac20,\n\t0x2d9c8: 0x6c6fae20, 0x2d9c9: 0x6c973c20, 0x2d9ca: 0x6c973e20, 0x2d9cb: 0x6c6fb020,\n\t0x2d9cc: 0x6c6fb220, 0x2d9cd: 0x6c6fb420, 0x2d9ce: 0x6c6fb620, 0x2d9cf: 0x6c6fb820,\n\t0x2d9d0: 0x6c974020, 0x2d9d1: 0x6c6fba20, 0x2d9d2: 0x6c6fbc20, 0x2d9d3: 0x6c6fbe20,\n\t0x2d9d4: 0x6c6fc020, 0x2d9d5: 0x6c6fc220, 0x2d9d6: 0x6c6fc420, 0x2d9d7: 0x6c6fc620,\n\t0x2d9d8: 0x6c974220, 0x2d9d9: 0x6c6fc820, 0x2d9da: 0x6c6fca20, 0x2d9db: 0x6c6fcc20,\n\t0x2d9dc: 0x6c6fce20, 0x2d9dd: 0x6c6fd020, 0x2d9de: 0x6c6fd220, 0x2d9df: 0x6c6fd420,\n\t0x2d9e0: 0x6c974420, 0x2d9e1: 0x6c974620, 0x2d9e2: 0x6c6fd620, 0x2d9e3: 0x6c974820,\n\t0x2d9e4: 0x6c974a20, 0x2d9e5: 0x6c974c20, 0x2d9e6: 0x6c6fd820, 0x2d9e7: 0x6c6fda20,\n\t0x2d9e8: 0x6c974e20, 0x2d9e9: 0x6c6fdc20, 0x2d9ea: 0x6c975020, 0x2d9eb: 0x6c975220,\n\t0x2d9ec: 0x6c975420, 0x2d9ed: 0x6c6fde20, 0x2d9ee: 0x6c6fe020, 0x2d9ef: 0x6c6fe220,\n\t0x2d9f0: 0x6c977e20, 0x2d9f1: 0x6c978020, 0x2d9f2: 0x6cc31420, 0x2d9f3: 0x6cc31620,\n\t0x2d9f4: 0x6c978220, 0x2d9f5: 0x6c978420, 0x2d9f6: 0x6cc31820, 0x2d9f7: 0x6c978620,\n\t0x2d9f8: 0x6c978820, 0x2d9f9: 0x6cc31a20, 0x2d9fa: 0x6c978a20, 0x2d9fb: 0x6c978c20,\n\t0x2d9fc: 0x6c978e20, 0x2d9fd: 0x6c979020, 0x2d9fe: 0x6c979220, 0x2d9ff: 0x6c979420,\n\t// Block 0xb68, offset 0x2da00\n\t0x2da00: 0x6c979620, 0x2da01: 0x6cc31c20, 0x2da02: 0x6c979820, 0x2da03: 0x6c979a20,\n\t0x2da04: 0x6cc31e20, 0x2da05: 0x6c979c20, 0x2da06: 0x6c979e20, 0x2da07: 0x6c97a020,\n\t0x2da08: 0x6c97a220, 0x2da09: 0x6cc32020, 0x2da0a: 0x6c97a420, 0x2da0b: 0x6c97a620,\n\t0x2da0c: 0x6cc32220, 0x2da0d: 0x6c97a820, 0x2da0e: 0x6cc32420, 0x2da0f: 0x6c97aa20,\n\t0x2da10: 0x6c97ac20, 0x2da11: 0x6cc32620, 0x2da12: 0x6cc32820, 0x2da13: 0x6c97ae20,\n\t0x2da14: 0x6c97b020, 0x2da15: 0x6c97b220, 0x2da16: 0x6cc32a20, 0x2da17: 0x6c97b420,\n\t0x2da18: 0x6c97b620, 0x2da19: 0x6c97b820, 0x2da1a: 0x6c97ba20, 0x2da1b: 0x6c97bc20,\n\t0x2da1c: 0x6c97be20, 0x2da1d: 0x6c97c020, 0x2da1e: 0x6c97c220, 0x2da1f: 0x6c97c420,\n\t0x2da20: 0x6cc32c20, 0x2da21: 0x6cc32e20, 0x2da22: 0x6cc33020, 0x2da23: 0x6cc33220,\n\t0x2da24: 0x6c97c620, 0x2da25: 0x6cc33420, 0x2da26: 0x6c97c820, 0x2da27: 0x6c97ca20,\n\t0x2da28: 0x6c97cc20, 0x2da29: 0x6cc33620, 0x2da2a: 0x6cc33820, 0x2da2b: 0x6cc33a20,\n\t0x2da2c: 0x6c97ce20, 0x2da2d: 0x6c97d020, 0x2da2e: 0x6c97d220, 0x2da2f: 0x6c97d420,\n\t0x2da30: 0x6cc35820, 0x2da31: 0x6cc35a20, 0x2da32: 0x6cc35c20, 0x2da33: 0x6cf24a20,\n\t0x2da34: 0x6cc35e20, 0x2da35: 0x6cc36020, 0x2da36: 0x6cc36220, 0x2da37: 0x6cf24c20,\n\t0x2da38: 0x6cc36420, 0x2da39: 0x6cf24e20, 0x2da3a: 0x6cc36620, 0x2da3b: 0x6cc36820,\n\t0x2da3c: 0x6cc36a20, 0x2da3d: 0x6cc36c20, 0x2da3e: 0x6cc36e20, 0x2da3f: 0x6cc37020,\n\t// Block 0xb69, offset 0x2da40\n\t0x2da40: 0x6cc37220, 0x2da41: 0x6cf25020, 0x2da42: 0x6cf25220, 0x2da43: 0x6cc37420,\n\t0x2da44: 0x6cc37620, 0x2da45: 0x6cc37820, 0x2da46: 0x6cf25420, 0x2da47: 0x6cc37a20,\n\t0x2da48: 0x6cf25620, 0x2da49: 0x6cc37c20, 0x2da4a: 0x6cc37e20, 0x2da4b: 0x6cc38020,\n\t0x2da4c: 0x6cc38220, 0x2da4d: 0x6cf25820, 0x2da4e: 0x6cc38420, 0x2da4f: 0x6cf25a20,\n\t0x2da50: 0x6cc38620, 0x2da51: 0x6cc38820, 0x2da52: 0x6cc38a20, 0x2da53: 0x6cc38c20,\n\t0x2da54: 0x6cc38e20, 0x2da55: 0x6cc39020, 0x2da56: 0x6cc39220, 0x2da57: 0x6cf25c20,\n\t0x2da58: 0x6cc39420, 0x2da59: 0x6cf25e20, 0x2da5a: 0x6cf26020, 0x2da5b: 0x6cf26220,\n\t0x2da5c: 0x6cc39620, 0x2da5d: 0x6cc39820, 0x2da5e: 0x6cc39a20, 0x2da5f: 0x6cf26420,\n\t0x2da60: 0x6cc39c20, 0x2da61: 0x6cc39e20, 0x2da62: 0x6cc3a020, 0x2da63: 0x6cc3a220,\n\t0x2da64: 0x6cc3a420, 0x2da65: 0x6cc3a620, 0x2da66: 0x6cc3a820, 0x2da67: 0x6cf27820,\n\t0x2da68: 0x6d221220, 0x2da69: 0x6cf27a20, 0x2da6a: 0x6cf27c20, 0x2da6b: 0x6cf27e20,\n\t0x2da6c: 0x6d221420, 0x2da6d: 0x6cf28020, 0x2da6e: 0x6cf28220, 0x2da6f: 0x6cf28420,\n\t0x2da70: 0x6cf28620, 0x2da71: 0x6cf28820, 0x2da72: 0x6cf28a20, 0x2da73: 0x6d221620,\n\t0x2da74: 0x6cf28c20, 0x2da75: 0x6cf28e20, 0x2da76: 0x6cf29020, 0x2da77: 0x6cf29220,\n\t0x2da78: 0x6d221820, 0x2da79: 0x6cf29420, 0x2da7a: 0x6cf29620, 0x2da7b: 0x6d221a20,\n\t0x2da7c: 0x6cf29820, 0x2da7d: 0x6cf29a20, 0x2da7e: 0x6cf29c20, 0x2da7f: 0x6d221c20,\n\t// Block 0xb6a, offset 0x2da80\n\t0x2da80: 0x6cf29e20, 0x2da81: 0x6d221e20, 0x2da82: 0x6d222020, 0x2da83: 0x6cf2a020,\n\t0x2da84: 0x6cf2a220, 0x2da85: 0x6cf2a420, 0x2da86: 0x6cf2a620, 0x2da87: 0x6d222220,\n\t0x2da88: 0x6d222420, 0x2da89: 0x6cf2a820, 0x2da8a: 0x6cf2aa20, 0x2da8b: 0x6d222620,\n\t0x2da8c: 0x6cf2ac20, 0x2da8d: 0x6cf2ae20, 0x2da8e: 0x6cf2b020, 0x2da8f: 0x6cf2b220,\n\t0x2da90: 0x6d222820, 0x2da91: 0x6cf2b420, 0x2da92: 0x6d223c20, 0x2da93: 0x6d223e20,\n\t0x2da94: 0x6d224020, 0x2da95: 0x6d4f6c20, 0x2da96: 0x6d224220, 0x2da97: 0x6d4f6e20,\n\t0x2da98: 0x6d224420, 0x2da99: 0x6d4f7020, 0x2da9a: 0x6d224620, 0x2da9b: 0x6d224820,\n\t0x2da9c: 0x6d4f7220, 0x2da9d: 0x6d4f7420, 0x2da9e: 0x6d224a20, 0x2da9f: 0x6d224c20,\n\t0x2daa0: 0x6d224e20, 0x2daa1: 0x6d225020, 0x2daa2: 0x6d225220, 0x2daa3: 0x6d225420,\n\t0x2daa4: 0x6d4f7620, 0x2daa5: 0x6d225620, 0x2daa6: 0x6d4f7820, 0x2daa7: 0x6d4f7a20,\n\t0x2daa8: 0x6cc3aa20, 0x2daa9: 0x6d225820, 0x2daaa: 0x6d225a20, 0x2daab: 0x6d4f7c20,\n\t0x2daac: 0x6d225c20, 0x2daad: 0x6d4fb020, 0x2daae: 0x6d4f7e20, 0x2daaf: 0x6d225e20,\n\t0x2dab0: 0x6d4f8020, 0x2dab1: 0x6d226020, 0x2dab2: 0x6d226220, 0x2dab3: 0x6d226420,\n\t0x2dab4: 0x6d226620, 0x2dab5: 0x6d226820, 0x2dab6: 0x6d4f8220, 0x2dab7: 0x6d226a20,\n\t0x2dab8: 0x6d4f8420, 0x2dab9: 0x6d4f8620, 0x2daba: 0x6d226c20, 0x2dabb: 0x6d226e20,\n\t0x2dabc: 0x6d4f8820, 0x2dabd: 0x6d227020, 0x2dabe: 0x6d4f8a20, 0x2dabf: 0x6d4f8c20,\n\t// Block 0xb6b, offset 0x2dac0\n\t0x2dac0: 0x6d227220, 0x2dac1: 0x6d227420, 0x2dac2: 0x6d4f8e20, 0x2dac3: 0x6d4f9020,\n\t0x2dac4: 0x6d4f9220, 0x2dac5: 0x6d4f9420, 0x2dac6: 0x6d227620, 0x2dac7: 0x6d4f9620,\n\t0x2dac8: 0x6d227820, 0x2dac9: 0x6d4fb220, 0x2daca: 0x6d7bb620, 0x2dacb: 0x6d4fb420,\n\t0x2dacc: 0x6d7bb820, 0x2dacd: 0x6d4fb620, 0x2dace: 0x6d4fb820, 0x2dacf: 0x6d4fba20,\n\t0x2dad0: 0x6d4fbc20, 0x2dad1: 0x6d7bba20, 0x2dad2: 0x6d4fbe20, 0x2dad3: 0x6d4fc020,\n\t0x2dad4: 0x6d4fc220, 0x2dad5: 0x6d4fc420, 0x2dad6: 0x6d7bbc20, 0x2dad7: 0x6d7bbe20,\n\t0x2dad8: 0x6d4fc620, 0x2dad9: 0x6d7bc020, 0x2dada: 0x6d4fc820, 0x2dadb: 0x6d4fca20,\n\t0x2dadc: 0x6d4fcc20, 0x2dadd: 0x6d7bc220, 0x2dade: 0x6d4fce20, 0x2dadf: 0x6d4fd020,\n\t0x2dae0: 0x6d7bc420, 0x2dae1: 0x6d4fd220, 0x2dae2: 0x6d4fd420, 0x2dae3: 0x6d4fd620,\n\t0x2dae4: 0x6d4fd820, 0x2dae5: 0x6d7bc620, 0x2dae6: 0x6d4fda20, 0x2dae7: 0x6d4fdc20,\n\t0x2dae8: 0x6d7bc820, 0x2dae9: 0x6d7bca20, 0x2daea: 0x6d4fde20, 0x2daeb: 0x6d4fe020,\n\t0x2daec: 0x6d4fe220, 0x2daed: 0x6d4fe420, 0x2daee: 0x6d4fe620, 0x2daef: 0x6d4fe820,\n\t0x2daf0: 0x6d4fea20, 0x2daf1: 0x6d4fec20, 0x2daf2: 0x6d7bcc20, 0x2daf3: 0x6d4fee20,\n\t0x2daf4: 0x6d7bd220, 0x2daf5: 0x6da3d620, 0x2daf6: 0x6d7bd420, 0x2daf7: 0x6d7bd620,\n\t0x2daf8: 0x6d7bd820, 0x2daf9: 0x6d7bda20, 0x2dafa: 0x6d7bdc20, 0x2dafb: 0x6d7c8e20,\n\t0x2dafc: 0x6da3d820, 0x2dafd: 0x6d7bde20, 0x2dafe: 0x6d7be020, 0x2daff: 0x6d7be220,\n\t// Block 0xb6c, offset 0x2db00\n\t0x2db00: 0x6d7be420, 0x2db01: 0x6d7be620, 0x2db02: 0x6da3da20, 0x2db03: 0x6da3dc20,\n\t0x2db04: 0x6d7be820, 0x2db05: 0x6d7bea20, 0x2db06: 0x6d7bec20, 0x2db07: 0x6da3de20,\n\t0x2db08: 0x6d7bee20, 0x2db09: 0x6da3e020, 0x2db0a: 0x6d7bf020, 0x2db0b: 0x6da3e220,\n\t0x2db0c: 0x6d7bf220, 0x2db0d: 0x6d7bf420, 0x2db0e: 0x6d7bf620, 0x2db0f: 0x6d7bf820,\n\t0x2db10: 0x6d7bfa20, 0x2db11: 0x6da3e420, 0x2db12: 0x6d7bfc20, 0x2db13: 0x6d7bfe20,\n\t0x2db14: 0x6d7c0020, 0x2db15: 0x6dc57e20, 0x2db16: 0x6dc58020, 0x2db17: 0x6da3ea20,\n\t0x2db18: 0x6dc58220, 0x2db19: 0x6da3ec20, 0x2db1a: 0x6da3ee20, 0x2db1b: 0x6da3f020,\n\t0x2db1c: 0x6da3f220, 0x2db1d: 0x6da3f420, 0x2db1e: 0x6da3f620, 0x2db1f: 0x6dc58420,\n\t0x2db20: 0x6da3f820, 0x2db21: 0x6da3fa20, 0x2db22: 0x6da3fc20, 0x2db23: 0x6dc58620,\n\t0x2db24: 0x6da3fe20, 0x2db25: 0x6da40020, 0x2db26: 0x6da40220, 0x2db27: 0x6da40420,\n\t0x2db28: 0x6da40620, 0x2db29: 0x6dc58c20, 0x2db2a: 0x6dc58e20, 0x2db2b: 0x6dc59020,\n\t0x2db2c: 0x6de27e20, 0x2db2d: 0x6dc59220, 0x2db2e: 0x6dc59420, 0x2db2f: 0x6de28020,\n\t0x2db30: 0x6dc59620, 0x2db31: 0x6dc59820, 0x2db32: 0x6de28220, 0x2db33: 0x6dc59a20,\n\t0x2db34: 0x6dc59c20, 0x2db35: 0x6de28a20, 0x2db36: 0x6de28c20, 0x2db37: 0x6de28e20,\n\t0x2db38: 0x6dfa2e20, 0x2db39: 0x6dfa3620, 0x2db3a: 0x6dfa3820, 0x2db3b: 0x6de2de20,\n\t0x2db3c: 0x6e0dc020, 0x2db3d: 0x6e0dc220, 0x2db3e: 0x6e0dc420, 0x2db3f: 0x6e1d3220,\n\t// Block 0xb6d, offset 0x2db40\n\t0x2db40: 0x6e28d020, 0x2db41: 0x6e28d220, 0x2db42: 0x6e1d3820, 0x2db43: 0x6e28d420,\n\t0x2db44: 0x6e28d620, 0x2db45: 0x6e388a20, 0x2db46: 0x6e388c20, 0x2db47: 0x6e429820,\n\t0x2db48: 0x6c046c20, 0x2db49: 0x6c092020, 0x2db4a: 0x6c092220, 0x2db4b: 0x6c092420,\n\t0x2db4c: 0x6c11ba20, 0x2db4d: 0x6c11bc20, 0x2db4e: 0x6c11be20, 0x2db4f: 0x6c11c020,\n\t0x2db50: 0x6c11c220, 0x2db51: 0x6c200020, 0x2db52: 0x6c200220, 0x2db53: 0x6c200420,\n\t0x2db54: 0x6c33e220, 0x2db55: 0x6c33e420, 0x2db56: 0x6c33e620, 0x2db57: 0x6c33e820,\n\t0x2db58: 0x6c4ea020, 0x2db59: 0x6c709c20, 0x2db5a: 0x6c98b820, 0x2db5b: 0x6c98ba20,\n\t0x2db5c: 0x6c98bc20, 0x2db5d: 0x6c98be20, 0x2db5e: 0x6cc49020, 0x2db5f: 0x6cc49220,\n\t0x2db60: 0x6cf37820, 0x2db61: 0x6cf37a20, 0x2db62: 0x6cf37c20, 0x2db63: 0x6cf37e20,\n\t0x2db64: 0x6cf38020, 0x2db65: 0x6cf38220, 0x2db66: 0x6cf37420, 0x2db67: 0x6d233420,\n\t0x2db68: 0x6d233620, 0x2db69: 0x6d233820, 0x2db6a: 0x6d233a20, 0x2db6b: 0x6d233c20,\n\t0x2db6c: 0x6d233e20, 0x2db6d: 0x6d50c220, 0x2db6e: 0x6d50c420, 0x2db6f: 0x6d50c620,\n\t0x2db70: 0x6d7c9220, 0x2db71: 0x6d7c9020, 0x2db72: 0x6da46a20, 0x2db73: 0x6dc60020,\n\t0x2db74: 0x6da46c20, 0x2db75: 0x6e1d5220, 0x2db76: 0x6c046e20, 0x2db77: 0x6c047020,\n\t0x2db78: 0x6c047220, 0x2db79: 0x6c092c20, 0x2db7a: 0x6c201820, 0x2db7b: 0x6c201a20,\n\t0x2db7c: 0x6c201c20, 0x2db7d: 0x6c340620, 0x2db7e: 0x6c340820, 0x2db7f: 0x6c340a20,\n\t// Block 0xb6e, offset 0x2db80\n\t0x2db80: 0x6c340c20, 0x2db81: 0x6c4ecc20, 0x2db82: 0x6c4ece20, 0x2db83: 0x6c4ed020,\n\t0x2db84: 0x6c70b220, 0x2db85: 0x6c70b420, 0x2db86: 0x6c70b620, 0x2db87: 0x6c70b820,\n\t0x2db88: 0x6c98d620, 0x2db89: 0x6cc4ae20, 0x2db8a: 0x6cc4b020, 0x2db8b: 0x6c047420,\n\t0x2db8c: 0x6c01f420, 0x2db8d: 0x6c01f620, 0x2db8e: 0x6c047620, 0x2db8f: 0x6c095020,\n\t0x2db90: 0x6c093820, 0x2db91: 0x6c093a20, 0x2db92: 0x6c093c20, 0x2db93: 0x6c093e20,\n\t0x2db94: 0x6c094020, 0x2db95: 0x6c094220, 0x2db96: 0x6c094420, 0x2db97: 0x6c11dc20,\n\t0x2db98: 0x6c11de20, 0x2db99: 0x6c11e020, 0x2db9a: 0x6c11e220, 0x2db9b: 0x6c11e420,\n\t0x2db9c: 0x6c11e620, 0x2db9d: 0x6c11e820, 0x2db9e: 0x6c11ea20, 0x2db9f: 0x6c123420,\n\t0x2dba0: 0x6c11ec20, 0x2dba1: 0x6c11ee20, 0x2dba2: 0x6c11f020, 0x2dba3: 0x6c11f220,\n\t0x2dba4: 0x6c11f420, 0x2dba5: 0x6c11f620, 0x2dba6: 0x6c11f820, 0x2dba7: 0x6c11fa20,\n\t0x2dba8: 0x6c11fc20, 0x2dba9: 0x6c11fe20, 0x2dbaa: 0x6c120020, 0x2dbab: 0x6c120220,\n\t0x2dbac: 0x6c120420, 0x2dbad: 0x6c203a20, 0x2dbae: 0x6c203c20, 0x2dbaf: 0x6c203e20,\n\t0x2dbb0: 0x6c204020, 0x2dbb1: 0x6c204220, 0x2dbb2: 0x6c204420, 0x2dbb3: 0x6c204620,\n\t0x2dbb4: 0x6c204820, 0x2dbb5: 0x6c204a20, 0x2dbb6: 0x6c204c20, 0x2dbb7: 0x6c204e20,\n\t0x2dbb8: 0x6c211820, 0x2dbb9: 0x6c205020, 0x2dbba: 0x6c205220, 0x2dbbb: 0x6c205420,\n\t0x2dbbc: 0x6c205620, 0x2dbbd: 0x6c205820, 0x2dbbe: 0x6c205a20, 0x2dbbf: 0x6c341c20,\n\t// Block 0xb6f, offset 0x2dbc0\n\t0x2dbc0: 0x6c205c20, 0x2dbc1: 0x6c205e20, 0x2dbc2: 0x6c206020, 0x2dbc3: 0x6c206220,\n\t0x2dbc4: 0x6c206420, 0x2dbc5: 0x6c206620, 0x2dbc6: 0x6c206820, 0x2dbc7: 0x6c206a20,\n\t0x2dbc8: 0x6c206c20, 0x2dbc9: 0x6c206e20, 0x2dbca: 0x6c207020, 0x2dbcb: 0x6c207220,\n\t0x2dbcc: 0x6c207420, 0x2dbcd: 0x6c207620, 0x2dbce: 0x6c207820, 0x2dbcf: 0x6c207a20,\n\t0x2dbd0: 0x6c207c20, 0x2dbd1: 0x6c207e20, 0x2dbd2: 0x6c208020, 0x2dbd3: 0x6c208220,\n\t0x2dbd4: 0x6c208420, 0x2dbd5: 0x6c208620, 0x2dbd6: 0x6c208820, 0x2dbd7: 0x6c208a20,\n\t0x2dbd8: 0x6c208c20, 0x2dbd9: 0x6c208e20, 0x2dbda: 0x6c209020, 0x2dbdb: 0x6c209220,\n\t0x2dbdc: 0x6c209420, 0x2dbdd: 0x6c209620, 0x2dbde: 0x6c209820, 0x2dbdf: 0x6c209a20,\n\t0x2dbe0: 0x6c209c20, 0x2dbe1: 0x6c209e20, 0x2dbe2: 0x6c20a020, 0x2dbe3: 0x6c20a220,\n\t0x2dbe4: 0x6c20a420, 0x2dbe5: 0x6c20a620, 0x2dbe6: 0x6c343a20, 0x2dbe7: 0x6c343c20,\n\t0x2dbe8: 0x6c343e20, 0x2dbe9: 0x6c344020, 0x2dbea: 0x6c344220, 0x2dbeb: 0x6c344420,\n\t0x2dbec: 0x6c344620, 0x2dbed: 0x6c344820, 0x2dbee: 0x6c344a20, 0x2dbef: 0x6c344c20,\n\t0x2dbf0: 0x6c344e20, 0x2dbf1: 0x6c345020, 0x2dbf2: 0x6c345220, 0x2dbf3: 0x6c345420,\n\t0x2dbf4: 0x6c345620, 0x2dbf5: 0x6c345820, 0x2dbf6: 0x6c345a20, 0x2dbf7: 0x6c345c20,\n\t0x2dbf8: 0x6c345e20, 0x2dbf9: 0x6c346020, 0x2dbfa: 0x6c346220, 0x2dbfb: 0x6c346420,\n\t0x2dbfc: 0x6c346620, 0x2dbfd: 0x6c346820, 0x2dbfe: 0x6c346a20, 0x2dbff: 0x6c346c20,\n\t// Block 0xb70, offset 0x2dc00\n\t0x2dc00: 0x6c346e20, 0x2dc01: 0x6c347020, 0x2dc02: 0x6c347220, 0x2dc03: 0x6c347420,\n\t0x2dc04: 0x6c347620, 0x2dc05: 0x6c347820, 0x2dc06: 0x6c347a20, 0x2dc07: 0x6c347c20,\n\t0x2dc08: 0x6c347e20, 0x2dc09: 0x6c348020, 0x2dc0a: 0x6c348220, 0x2dc0b: 0x6c348420,\n\t0x2dc0c: 0x6c348620, 0x2dc0d: 0x6c348820, 0x2dc0e: 0x6c348a20, 0x2dc0f: 0x6c4ef420,\n\t0x2dc10: 0x6c348c20, 0x2dc11: 0x6c348e20, 0x2dc12: 0x6c349020, 0x2dc13: 0x6c349220,\n\t0x2dc14: 0x6c349420, 0x2dc15: 0x6c349620, 0x2dc16: 0x6c349820, 0x2dc17: 0x6c349a20,\n\t0x2dc18: 0x6c349c20, 0x2dc19: 0x6c349e20, 0x2dc1a: 0x6c34a020, 0x2dc1b: 0x6c34a220,\n\t0x2dc1c: 0x6c4ef620, 0x2dc1d: 0x6c34a420, 0x2dc1e: 0x6c34a620, 0x2dc1f: 0x6c34a820,\n\t0x2dc20: 0x6c34aa20, 0x2dc21: 0x6c34ac20, 0x2dc22: 0x6c34ae20, 0x2dc23: 0x6c34b020,\n\t0x2dc24: 0x6c34b220, 0x2dc25: 0x6c34b420, 0x2dc26: 0x6c34b620, 0x2dc27: 0x6c34b820,\n\t0x2dc28: 0x6c34ba20, 0x2dc29: 0x6c34bc20, 0x2dc2a: 0x6c4f1420, 0x2dc2b: 0x6c4f1620,\n\t0x2dc2c: 0x6c4f1820, 0x2dc2d: 0x6c4f1a20, 0x2dc2e: 0x6c4f1c20, 0x2dc2f: 0x6c4f1e20,\n\t0x2dc30: 0x6c4f2020, 0x2dc31: 0x6c4f2220, 0x2dc32: 0x6c70d020, 0x2dc33: 0x6c70d220,\n\t0x2dc34: 0x6c4f2420, 0x2dc35: 0x6c4f2620, 0x2dc36: 0x6c4f2820, 0x2dc37: 0x6c4f2a20,\n\t0x2dc38: 0x6c4f2c20, 0x2dc39: 0x6c4f2e20, 0x2dc3a: 0x6c4f3020, 0x2dc3b: 0x6c4f3220,\n\t0x2dc3c: 0x6c4f3420, 0x2dc3d: 0x6c4f3620, 0x2dc3e: 0x6c4f3820, 0x2dc3f: 0x6c70d420,\n\t// Block 0xb71, offset 0x2dc40\n\t0x2dc40: 0x6c4f3a20, 0x2dc41: 0x6c4f3c20, 0x2dc42: 0x6c4f3e20, 0x2dc43: 0x6c4f4020,\n\t0x2dc44: 0x6c4f4220, 0x2dc45: 0x6c4f4420, 0x2dc46: 0x6c4f4620, 0x2dc47: 0x6c4f4820,\n\t0x2dc48: 0x6c70d620, 0x2dc49: 0x6c4f4a20, 0x2dc4a: 0x6c4f4c20, 0x2dc4b: 0x6c4f4e20,\n\t0x2dc4c: 0x6c4f5020, 0x2dc4d: 0x6c4f5220, 0x2dc4e: 0x6c4f5420, 0x2dc4f: 0x6c4f5620,\n\t0x2dc50: 0x6c70d820, 0x2dc51: 0x6c4f5820, 0x2dc52: 0x6c4f5a20, 0x2dc53: 0x6c4f5c20,\n\t0x2dc54: 0x6c4f5e20, 0x2dc55: 0x6c4f6020, 0x2dc56: 0x6c4f6220, 0x2dc57: 0x6c4f6420,\n\t0x2dc58: 0x6c4f6620, 0x2dc59: 0x6c70da20, 0x2dc5a: 0x6c70dc20, 0x2dc5b: 0x6c70de20,\n\t0x2dc5c: 0x6c4f6820, 0x2dc5d: 0x6c4f6a20, 0x2dc5e: 0x6c4f6c20, 0x2dc5f: 0x6c4f6e20,\n\t0x2dc60: 0x6c4f7020, 0x2dc61: 0x6c4f7220, 0x2dc62: 0x6c4f7420, 0x2dc63: 0x6c4f7620,\n\t0x2dc64: 0x6c4f7820, 0x2dc65: 0x6c4f7a20, 0x2dc66: 0x6c4f7c20, 0x2dc67: 0x6c4f7e20,\n\t0x2dc68: 0x6c70ec20, 0x2dc69: 0x6c70ee20, 0x2dc6a: 0x6c70f020, 0x2dc6b: 0x6c70f220,\n\t0x2dc6c: 0x6c70f420, 0x2dc6d: 0x6c70f620, 0x2dc6e: 0x6c70f820, 0x2dc6f: 0x6c70fa20,\n\t0x2dc70: 0x6c70fc20, 0x2dc71: 0x6c70fe20, 0x2dc72: 0x6c98e420, 0x2dc73: 0x6c710020,\n\t0x2dc74: 0x6c710220, 0x2dc75: 0x6c710420, 0x2dc76: 0x6c710620, 0x2dc77: 0x6c710820,\n\t0x2dc78: 0x6c710a20, 0x2dc79: 0x6c710c20, 0x2dc7a: 0x6c710e20, 0x2dc7b: 0x6c98e620,\n\t0x2dc7c: 0x6c711020, 0x2dc7d: 0x6c711220, 0x2dc7e: 0x6c711420, 0x2dc7f: 0x6c711620,\n\t// Block 0xb72, offset 0x2dc80\n\t0x2dc80: 0x6c711820, 0x2dc81: 0x6c711a20, 0x2dc82: 0x6c711c20, 0x2dc83: 0x6c711e20,\n\t0x2dc84: 0x6c712020, 0x2dc85: 0x6c712220, 0x2dc86: 0x6c712420, 0x2dc87: 0x6c712620,\n\t0x2dc88: 0x6c712820, 0x2dc89: 0x6c712a20, 0x2dc8a: 0x6c712c20, 0x2dc8b: 0x6c712e20,\n\t0x2dc8c: 0x6c713020, 0x2dc8d: 0x6c713220, 0x2dc8e: 0x6c713420, 0x2dc8f: 0x6c713620,\n\t0x2dc90: 0x6c713820, 0x2dc91: 0x6c713a20, 0x2dc92: 0x6c713c20, 0x2dc93: 0x6c713e20,\n\t0x2dc94: 0x6c714020, 0x2dc95: 0x6c714220, 0x2dc96: 0x6c714420, 0x2dc97: 0x6c714620,\n\t0x2dc98: 0x6c714820, 0x2dc99: 0x6c714a20, 0x2dc9a: 0x6c714c20, 0x2dc9b: 0x6c714e20,\n\t0x2dc9c: 0x6c715020, 0x2dc9d: 0x6c715220, 0x2dc9e: 0x6c715420, 0x2dc9f: 0x6c715620,\n\t0x2dca0: 0x6c715820, 0x2dca1: 0x6c715a20, 0x2dca2: 0x6c715c20, 0x2dca3: 0x6c715e20,\n\t0x2dca4: 0x6c716020, 0x2dca5: 0x6c990620, 0x2dca6: 0x6c990820, 0x2dca7: 0x6c990a20,\n\t0x2dca8: 0x6c990c20, 0x2dca9: 0x6c990e20, 0x2dcaa: 0x6c991020, 0x2dcab: 0x6c991220,\n\t0x2dcac: 0x6c991420, 0x2dcad: 0x6c991620, 0x2dcae: 0x6c991820, 0x2dcaf: 0x6c991a20,\n\t0x2dcb0: 0x6c991c20, 0x2dcb1: 0x6c991e20, 0x2dcb2: 0x6c992020, 0x2dcb3: 0x6c992220,\n\t0x2dcb4: 0x6c992420, 0x2dcb5: 0x6c992620, 0x2dcb6: 0x6c992820, 0x2dcb7: 0x6c992a20,\n\t0x2dcb8: 0x6c992c20, 0x2dcb9: 0x6c992e20, 0x2dcba: 0x6c993020, 0x2dcbb: 0x6c993220,\n\t0x2dcbc: 0x6c993420, 0x2dcbd: 0x6c993620, 0x2dcbe: 0x6c993820, 0x2dcbf: 0x6c993a20,\n\t// Block 0xb73, offset 0x2dcc0\n\t0x2dcc0: 0x6c993c20, 0x2dcc1: 0x6c993e20, 0x2dcc2: 0x6c994020, 0x2dcc3: 0x6c994220,\n\t0x2dcc4: 0x6c994420, 0x2dcc5: 0x6c994620, 0x2dcc6: 0x6c994820, 0x2dcc7: 0x6c994a20,\n\t0x2dcc8: 0x6c994c20, 0x2dcc9: 0x6c994e20, 0x2dcca: 0x6c995020, 0x2dccb: 0x6c995220,\n\t0x2dccc: 0x6cc4be20, 0x2dccd: 0x6c995420, 0x2dcce: 0x6c995620, 0x2dccf: 0x6c995820,\n\t0x2dcd0: 0x6c995a20, 0x2dcd1: 0x6c995c20, 0x2dcd2: 0x6c995e20, 0x2dcd3: 0x6c996020,\n\t0x2dcd4: 0x6cc4c020, 0x2dcd5: 0x6c996220, 0x2dcd6: 0x6c996420, 0x2dcd7: 0x6c996620,\n\t0x2dcd8: 0x6c996820, 0x2dcd9: 0x6c996a20, 0x2dcda: 0x6c996c20, 0x2dcdb: 0x6c996e20,\n\t0x2dcdc: 0x6c997020, 0x2dcdd: 0x6c997220, 0x2dcde: 0x6c997420, 0x2dcdf: 0x6c997620,\n\t0x2dce0: 0x6c997820, 0x2dce1: 0x6c997a20, 0x2dce2: 0x6c997c20, 0x2dce3: 0x6cc4c220,\n\t0x2dce4: 0x6c997e20, 0x2dce5: 0x6c998020, 0x2dce6: 0x6c998220, 0x2dce7: 0x6c998420,\n\t0x2dce8: 0x6c998620, 0x2dce9: 0x6c998820, 0x2dcea: 0x6c998a20, 0x2dceb: 0x6c998c20,\n\t0x2dcec: 0x6c998e20, 0x2dced: 0x6c999020, 0x2dcee: 0x6c999220, 0x2dcef: 0x6c999420,\n\t0x2dcf0: 0x6cc4c420, 0x2dcf1: 0x6cc4c620, 0x2dcf2: 0x6c9a9220, 0x2dcf3: 0x6c999620,\n\t0x2dcf4: 0x6c999820, 0x2dcf5: 0x6c999a20, 0x2dcf6: 0x6c999c20, 0x2dcf7: 0x6c999e20,\n\t0x2dcf8: 0x6c99a020, 0x2dcf9: 0x6c99a220, 0x2dcfa: 0x6c99a420, 0x2dcfb: 0x6c99a620,\n\t0x2dcfc: 0x6c99a820, 0x2dcfd: 0x6c99aa20, 0x2dcfe: 0x6cc4e220, 0x2dcff: 0x6cc4e420,\n\t// Block 0xb74, offset 0x2dd00\n\t0x2dd00: 0x6cc4e620, 0x2dd01: 0x6cc4e820, 0x2dd02: 0x6cc4ea20, 0x2dd03: 0x6cc4ec20,\n\t0x2dd04: 0x6cc4ee20, 0x2dd05: 0x6cf51c20, 0x2dd06: 0x6cc4f020, 0x2dd07: 0x6cc4f220,\n\t0x2dd08: 0x6cc4f420, 0x2dd09: 0x6cc4f620, 0x2dd0a: 0x6cc4f820, 0x2dd0b: 0x6cc4fa20,\n\t0x2dd0c: 0x6cc4fc20, 0x2dd0d: 0x6cc4fe20, 0x2dd0e: 0x6cc50020, 0x2dd0f: 0x6cc50220,\n\t0x2dd10: 0x6cc50420, 0x2dd11: 0x6cc50620, 0x2dd12: 0x6cc50820, 0x2dd13: 0x6cc50a20,\n\t0x2dd14: 0x6cc50c20, 0x2dd15: 0x6cc50e20, 0x2dd16: 0x6cc51020, 0x2dd17: 0x6cc51220,\n\t0x2dd18: 0x6cc51420, 0x2dd19: 0x6cc51620, 0x2dd1a: 0x6cc51820, 0x2dd1b: 0x6cc51a20,\n\t0x2dd1c: 0x6cc51c20, 0x2dd1d: 0x6cc51e20, 0x2dd1e: 0x6cc52020, 0x2dd1f: 0x6cc52220,\n\t0x2dd20: 0x6cc52420, 0x2dd21: 0x6cc52620, 0x2dd22: 0x6cc52820, 0x2dd23: 0x6cc52a20,\n\t0x2dd24: 0x6c722020, 0x2dd25: 0x6cc52c20, 0x2dd26: 0x6cc52e20, 0x2dd27: 0x6cf3ac20,\n\t0x2dd28: 0x6cc53020, 0x2dd29: 0x6cc53220, 0x2dd2a: 0x6cc53420, 0x2dd2b: 0x6cf3ae20,\n\t0x2dd2c: 0x6cc53620, 0x2dd2d: 0x6cc53820, 0x2dd2e: 0x6cc53a20, 0x2dd2f: 0x6cc53c20,\n\t0x2dd30: 0x6cc53e20, 0x2dd31: 0x6cf3b020, 0x2dd32: 0x6cc54020, 0x2dd33: 0x6cc54220,\n\t0x2dd34: 0x6cc54420, 0x2dd35: 0x6cc54620, 0x2dd36: 0x6cc54820, 0x2dd37: 0x6cc54a20,\n\t0x2dd38: 0x6cc54c20, 0x2dd39: 0x6cc54e20, 0x2dd3a: 0x6cc55020, 0x2dd3b: 0x6cc55220,\n\t0x2dd3c: 0x6cc55420, 0x2dd3d: 0x6cc55620, 0x2dd3e: 0x6cc55820, 0x2dd3f: 0x6cc55a20,\n\t// Block 0xb75, offset 0x2dd40\n\t0x2dd40: 0x6cc55c20, 0x2dd41: 0x6cc55e20, 0x2dd42: 0x6cc56020, 0x2dd43: 0x6cc56220,\n\t0x2dd44: 0x6cc56420, 0x2dd45: 0x6cc56620, 0x2dd46: 0x6cf3da20, 0x2dd47: 0x6cf3dc20,\n\t0x2dd48: 0x6cf3de20, 0x2dd49: 0x6cf3e020, 0x2dd4a: 0x6cf3e220, 0x2dd4b: 0x6cf3e420,\n\t0x2dd4c: 0x6cf3e620, 0x2dd4d: 0x6cf3e820, 0x2dd4e: 0x6cf3ea20, 0x2dd4f: 0x6cf3ec20,\n\t0x2dd50: 0x6cf3ee20, 0x2dd51: 0x6cf3f020, 0x2dd52: 0x6cf3f220, 0x2dd53: 0x6cf3f420,\n\t0x2dd54: 0x6cf3f620, 0x2dd55: 0x6cf3f820, 0x2dd56: 0x6cf3fa20, 0x2dd57: 0x6cf3fc20,\n\t0x2dd58: 0x6cf3fe20, 0x2dd59: 0x6cf40020, 0x2dd5a: 0x6cf40220, 0x2dd5b: 0x6cf40420,\n\t0x2dd5c: 0x6cf40620, 0x2dd5d: 0x6cf40820, 0x2dd5e: 0x6cf40a20, 0x2dd5f: 0x6cf40c20,\n\t0x2dd60: 0x6cf40e20, 0x2dd61: 0x6cf41020, 0x2dd62: 0x6cf41220, 0x2dd63: 0x6cf41420,\n\t0x2dd64: 0x6cf41620, 0x2dd65: 0x6cf41820, 0x2dd66: 0x6cf41a20, 0x2dd67: 0x6cf41c20,\n\t0x2dd68: 0x6cf41e20, 0x2dd69: 0x6cf42020, 0x2dd6a: 0x6cf42220, 0x2dd6b: 0x6d236a20,\n\t0x2dd6c: 0x6cf42420, 0x2dd6d: 0x6cf42620, 0x2dd6e: 0x6cf42820, 0x2dd6f: 0x6cf42a20,\n\t0x2dd70: 0x6cf42c20, 0x2dd71: 0x6cf51e20, 0x2dd72: 0x6cf42e20, 0x2dd73: 0x6cf43020,\n\t0x2dd74: 0x6d236c20, 0x2dd75: 0x6cf43220, 0x2dd76: 0x6cf43420, 0x2dd77: 0x6cf43620,\n\t0x2dd78: 0x6cf43820, 0x2dd79: 0x6cf43a20, 0x2dd7a: 0x6cf43c20, 0x2dd7b: 0x6d236e20,\n\t0x2dd7c: 0x6cf43e20, 0x2dd7d: 0x6cf44020, 0x2dd7e: 0x6cf44220, 0x2dd7f: 0x6d237020,\n\t// Block 0xb76, offset 0x2dd80\n\t0x2dd80: 0x6cf44420, 0x2dd81: 0x6cf44620, 0x2dd82: 0x6cf44820, 0x2dd83: 0x6cf44a20,\n\t0x2dd84: 0x6cf44c20, 0x2dd85: 0x6cf44e20, 0x2dd86: 0x6cf45020, 0x2dd87: 0x6cf45220,\n\t0x2dd88: 0x6cf45420, 0x2dd89: 0x6cf45620, 0x2dd8a: 0x6cf45820, 0x2dd8b: 0x6d239a20,\n\t0x2dd8c: 0x6d239c20, 0x2dd8d: 0x6d239e20, 0x2dd8e: 0x6d23a020, 0x2dd8f: 0x6d23a220,\n\t0x2dd90: 0x6d23a420, 0x2dd91: 0x6d23a620, 0x2dd92: 0x6cc56820, 0x2dd93: 0x6d23a820,\n\t0x2dd94: 0x6d23aa20, 0x2dd95: 0x6d23ac20, 0x2dd96: 0x6d24e620, 0x2dd97: 0x6d23ae20,\n\t0x2dd98: 0x6d23b020, 0x2dd99: 0x6d23b220, 0x2dd9a: 0x6d23b420, 0x2dd9b: 0x6d23b620,\n\t0x2dd9c: 0x6d23b820, 0x2dd9d: 0x6d23ba20, 0x2dd9e: 0x6d23bc20, 0x2dd9f: 0x6d23be20,\n\t0x2dda0: 0x6d23c020, 0x2dda1: 0x6cc66e20, 0x2dda2: 0x6d23c220, 0x2dda3: 0x6d23c420,\n\t0x2dda4: 0x6d23c620, 0x2dda5: 0x6d23c820, 0x2dda6: 0x6d23ca20, 0x2dda7: 0x6d23cc20,\n\t0x2dda8: 0x6d510020, 0x2dda9: 0x6d510220, 0x2ddaa: 0x6d23ce20, 0x2ddab: 0x6d23d020,\n\t0x2ddac: 0x6d23d220, 0x2ddad: 0x6d23d420, 0x2ddae: 0x6d510420, 0x2ddaf: 0x6d510620,\n\t0x2ddb0: 0x6d510820, 0x2ddb1: 0x6d23d620, 0x2ddb2: 0x6d23d820, 0x2ddb3: 0x6d23da20,\n\t0x2ddb4: 0x6d23dc20, 0x2ddb5: 0x6d23de20, 0x2ddb6: 0x6d23e020, 0x2ddb7: 0x6d23e220,\n\t0x2ddb8: 0x6d23e420, 0x2ddb9: 0x6d510a20, 0x2ddba: 0x6d23e620, 0x2ddbb: 0x6d23e820,\n\t0x2ddbc: 0x6d23ea20, 0x2ddbd: 0x6d23ec20, 0x2ddbe: 0x6d23ee20, 0x2ddbf: 0x6d23f020,\n\t// Block 0xb77, offset 0x2ddc0\n\t0x2ddc0: 0x6d510c20, 0x2ddc1: 0x6d23f220, 0x2ddc2: 0x6d23f420, 0x2ddc3: 0x6d510e20,\n\t0x2ddc4: 0x6d23f620, 0x2ddc5: 0x6d512e20, 0x2ddc6: 0x6d513020, 0x2ddc7: 0x6d23f820,\n\t0x2ddc8: 0x6d513220, 0x2ddc9: 0x6d7cb220, 0x2ddca: 0x6d513420, 0x2ddcb: 0x6d513620,\n\t0x2ddcc: 0x6d513820, 0x2ddcd: 0x6d513a20, 0x2ddce: 0x6d513c20, 0x2ddcf: 0x6d513e20,\n\t0x2ddd0: 0x6d514020, 0x2ddd1: 0x6d514220, 0x2ddd2: 0x6d514420, 0x2ddd3: 0x6d514620,\n\t0x2ddd4: 0x6d514820, 0x2ddd5: 0x6d514a20, 0x2ddd6: 0x6d514c20, 0x2ddd7: 0x6d514e20,\n\t0x2ddd8: 0x6d515020, 0x2ddd9: 0x6d515220, 0x2ddda: 0x6d515420, 0x2dddb: 0x6d515620,\n\t0x2dddc: 0x6d515820, 0x2dddd: 0x6d515a20, 0x2ddde: 0x6d515c20, 0x2dddf: 0x6d515e20,\n\t0x2dde0: 0x6d516020, 0x2dde1: 0x6d516220, 0x2dde2: 0x6d516420, 0x2dde3: 0x6d516620,\n\t0x2dde4: 0x6d516820, 0x2dde5: 0x6d516a20, 0x2dde6: 0x6d24e820, 0x2dde7: 0x6d516c20,\n\t0x2dde8: 0x6d516e20, 0x2dde9: 0x6d517020, 0x2ddea: 0x6d517220, 0x2ddeb: 0x6d517420,\n\t0x2ddec: 0x6d517620, 0x2dded: 0x6d517820, 0x2ddee: 0x6d517a20, 0x2ddef: 0x6d517c20,\n\t0x2ddf0: 0x6d517e20, 0x2ddf1: 0x6d518020, 0x2ddf2: 0x6d518220, 0x2ddf3: 0x6d518420,\n\t0x2ddf4: 0x6d518620, 0x2ddf5: 0x6d518820, 0x2ddf6: 0x6d518a20, 0x2ddf7: 0x6d518c20,\n\t0x2ddf8: 0x6d518e20, 0x2ddf9: 0x6d519020, 0x2ddfa: 0x6d519220, 0x2ddfb: 0x6d7cc220,\n\t0x2ddfc: 0x6d7cc420, 0x2ddfd: 0x6d7cc620, 0x2ddfe: 0x6d7cc820, 0x2ddff: 0x6d7cca20,\n\t// Block 0xb78, offset 0x2de00\n\t0x2de00: 0x6d7ccc20, 0x2de01: 0x6d7cce20, 0x2de02: 0x6d7cd020, 0x2de03: 0x6d7cd220,\n\t0x2de04: 0x6d7cd420, 0x2de05: 0x6d7cd620, 0x2de06: 0x6d519420, 0x2de07: 0x6d7cd820,\n\t0x2de08: 0x6d7cda20, 0x2de09: 0x6d7cdc20, 0x2de0a: 0x6da47c20, 0x2de0b: 0x6d7cde20,\n\t0x2de0c: 0x6d7ce020, 0x2de0d: 0x6d7ce220, 0x2de0e: 0x6da47e20, 0x2de0f: 0x6d7ce420,\n\t0x2de10: 0x6d7ce620, 0x2de11: 0x6d7ce820, 0x2de12: 0x6d7cea20, 0x2de13: 0x6d7cec20,\n\t0x2de14: 0x6d7cee20, 0x2de15: 0x6d7cf020, 0x2de16: 0x6d7cf220, 0x2de17: 0x6d7cf420,\n\t0x2de18: 0x6da48020, 0x2de19: 0x6d7cf620, 0x2de1a: 0x6d7cf820, 0x2de1b: 0x6d7cfa20,\n\t0x2de1c: 0x6d7cfc20, 0x2de1d: 0x6d7cfe20, 0x2de1e: 0x6d7d0020, 0x2de1f: 0x6da48e20,\n\t0x2de20: 0x6da49020, 0x2de21: 0x6da49220, 0x2de22: 0x6da49420, 0x2de23: 0x6da49620,\n\t0x2de24: 0x6da49820, 0x2de25: 0x6dc62620, 0x2de26: 0x6da49a20, 0x2de27: 0x6dc60a20,\n\t0x2de28: 0x6da49c20, 0x2de29: 0x6da49e20, 0x2de2a: 0x6dc60c20, 0x2de2b: 0x6da4a020,\n\t0x2de2c: 0x6da4a220, 0x2de2d: 0x6da4a420, 0x2de2e: 0x6da4a620, 0x2de2f: 0x6da4a820,\n\t0x2de30: 0x6da4aa20, 0x2de31: 0x6da4ac20, 0x2de32: 0x6dc62820, 0x2de33: 0x6d7d9e20,\n\t0x2de34: 0x6dc62a20, 0x2de35: 0x6dc62c20, 0x2de36: 0x6dc62e20, 0x2de37: 0x6dc63020,\n\t0x2de38: 0x6dc63220, 0x2de39: 0x6dc63420, 0x2de3a: 0x6dc63620, 0x2de3b: 0x6dc63820,\n\t0x2de3c: 0x6dc63a20, 0x2de3d: 0x6dc63c20, 0x2de3e: 0x6dc63e20, 0x2de3f: 0x6dc64020,\n\t// Block 0xb79, offset 0x2de40\n\t0x2de40: 0x6de2e820, 0x2de41: 0x6dc64220, 0x2de42: 0x6dc64420, 0x2de43: 0x6dc64620,\n\t0x2de44: 0x6dc64820, 0x2de45: 0x6dc64a20, 0x2de46: 0x6dc64c20, 0x2de47: 0x6de2ee20,\n\t0x2de48: 0x6de2f020, 0x2de49: 0x6de2f220, 0x2de4a: 0x6de2f420, 0x2de4b: 0x6de2f620,\n\t0x2de4c: 0x6de2f820, 0x2de4d: 0x6de2fa20, 0x2de4e: 0x6de2fc20, 0x2de4f: 0x6de2fe20,\n\t0x2de50: 0x6de30020, 0x2de51: 0x6e0dee20, 0x2de52: 0x6de30220, 0x2de53: 0x6dfa6220,\n\t0x2de54: 0x6dfa6420, 0x2de55: 0x6dfa6620, 0x2de56: 0x6dfa6820, 0x2de57: 0x6dfa6a20,\n\t0x2de58: 0x6dfa6c20, 0x2de59: 0x6dfa6e20, 0x2de5a: 0x6dfa7020, 0x2de5b: 0x6e0df820,\n\t0x2de5c: 0x6e0dfa20, 0x2de5d: 0x6e0dfc20, 0x2de5e: 0x6e1d5620, 0x2de5f: 0x6e1d5820,\n\t0x2de60: 0x6e1d5a20, 0x2de61: 0x6e1d5c20, 0x2de62: 0x6e1d5e20, 0x2de63: 0x6e28f620,\n\t0x2de64: 0x6e1d6020, 0x2de65: 0x6e28fe20, 0x2de66: 0x6e1d6220, 0x2de67: 0x6e1d6420,\n\t0x2de68: 0x6e290020, 0x2de69: 0x6e290220, 0x2de6a: 0x6e290420, 0x2de6b: 0x6e290620,\n\t0x2de6c: 0x6e322620, 0x2de6d: 0x6e322820, 0x2de6e: 0x6e389420, 0x2de6f: 0x6c047e20,\n\t0x2de70: 0x6c123620, 0x2de71: 0x6c502a20, 0x2de72: 0x6cc67220, 0x2de73: 0x6d7da020,\n\t0x2de74: 0x6c048020, 0x2de75: 0x6c048220, 0x2de76: 0x6c123a20, 0x2de77: 0x6c123c20,\n\t0x2de78: 0x6c212020, 0x2de79: 0x6c212220, 0x2de7a: 0x6c212420, 0x2de7b: 0x6c212620,\n\t0x2de7c: 0x6c212820, 0x2de7d: 0x6c354420, 0x2de7e: 0x6c354620, 0x2de7f: 0x6c503220,\n\t// Block 0xb7a, offset 0x2de80\n\t0x2de80: 0x6c503c20, 0x2de81: 0x6c503e20, 0x2de82: 0x6c504020, 0x2de83: 0x6c504220,\n\t0x2de84: 0x6c504420, 0x2de85: 0x6c504620, 0x2de86: 0x6c723c20, 0x2de87: 0x6c723e20,\n\t0x2de88: 0x6c724020, 0x2de89: 0x6c724220, 0x2de8a: 0x6c724420, 0x2de8b: 0x6c724620,\n\t0x2de8c: 0x6c724820, 0x2de8d: 0x6c9aac20, 0x2de8e: 0x6c9aae20, 0x2de8f: 0x6c9ab020,\n\t0x2de90: 0x6c9ab220, 0x2de91: 0x6c9ab420, 0x2de92: 0x6c9ab620, 0x2de93: 0x6c9ab820,\n\t0x2de94: 0x6c9aba20, 0x2de95: 0x6c9abc20, 0x2de96: 0x6c9abe20, 0x2de97: 0x6c9ac020,\n\t0x2de98: 0x6c9ac220, 0x2de99: 0x6c9ac420, 0x2de9a: 0x6c9ac620, 0x2de9b: 0x6c9ac820,\n\t0x2de9c: 0x6cc69a20, 0x2de9d: 0x6c9b1420, 0x2de9e: 0x6cc69c20, 0x2de9f: 0x6cc69e20,\n\t0x2dea0: 0x6cc6a020, 0x2dea1: 0x6cc6a220, 0x2dea2: 0x6cc6a420, 0x2dea3: 0x6cc6a620,\n\t0x2dea4: 0x6cc6a820, 0x2dea5: 0x6cc6aa20, 0x2dea6: 0x6cc6ac20, 0x2dea7: 0x6cc6ae20,\n\t0x2dea8: 0x6cc6b020, 0x2dea9: 0x6cc6b220, 0x2deaa: 0x6cc6b420, 0x2deab: 0x6cf53620,\n\t0x2deac: 0x6cf53820, 0x2dead: 0x6cf52a20, 0x2deae: 0x6cf53a20, 0x2deaf: 0x6cf53c20,\n\t0x2deb0: 0x6cf53e20, 0x2deb1: 0x6d24f820, 0x2deb2: 0x6d24fa20, 0x2deb3: 0x6d24fc20,\n\t0x2deb4: 0x6d7dac20, 0x2deb5: 0x6d527820, 0x2deb6: 0x6d527a20, 0x2deb7: 0x6d527c20,\n\t0x2deb8: 0x6d527e20, 0x2deb9: 0x6d528020, 0x2deba: 0x6d528220, 0x2debb: 0x6d528420,\n\t0x2debc: 0x6d7db620, 0x2debd: 0x6d7db820, 0x2debe: 0x6d7dba20, 0x2debf: 0x6d7dbc20,\n\t// Block 0xb7b, offset 0x2dec0\n\t0x2dec0: 0x6da51420, 0x2dec1: 0x6da51620, 0x2dec2: 0x6da51820, 0x2dec3: 0x6da53e20,\n\t0x2dec4: 0x6de35a20, 0x2dec5: 0x6dfab420, 0x2dec6: 0x6dfab620, 0x2dec7: 0x6c048420,\n\t0x2dec8: 0x6c213c20, 0x2dec9: 0x6c357620, 0x2deca: 0x6c728e20, 0x2decb: 0x6c729020,\n\t0x2decc: 0x6cc70220, 0x2decd: 0x6c9b1620, 0x2dece: 0x6c9b1820, 0x2decf: 0x6c9b1a20,\n\t0x2ded0: 0x6cc70420, 0x2ded1: 0x6cc70620, 0x2ded2: 0x6cf58e20, 0x2ded3: 0x6d7e0420,\n\t0x2ded4: 0x6dc6dc20, 0x2ded5: 0x6e0e3c20, 0x2ded6: 0x6e292620, 0x2ded7: 0x6c048620,\n\t0x2ded8: 0x6c214220, 0x2ded9: 0x6c729c20, 0x2deda: 0x6c729e20, 0x2dedb: 0x6c9b2a20,\n\t0x2dedc: 0x6c9b2c20, 0x2dedd: 0x6cc71620, 0x2dede: 0x6cc72220, 0x2dedf: 0x6cf59820,\n\t0x2dee0: 0x6d254820, 0x2dee1: 0x6d254a20, 0x2dee2: 0x6d7e0a20, 0x2dee3: 0x6da54420,\n\t0x2dee4: 0x6c048a20, 0x2dee5: 0x6c095220, 0x2dee6: 0x6c358a20, 0x2dee7: 0x6c358c20,\n\t0x2dee8: 0x6c358e20, 0x2dee9: 0x6c359020, 0x2deea: 0x6c508620, 0x2deeb: 0x6c508820,\n\t0x2deec: 0x6c9b3820, 0x2deed: 0x6c9b3a20, 0x2deee: 0x6cc72620, 0x2deef: 0x6cc72820,\n\t0x2def0: 0x6cf5a220, 0x2def1: 0x6cc74220, 0x2def2: 0x6d255820, 0x2def3: 0x6d52d820,\n\t0x2def4: 0x6d7e0c20, 0x2def5: 0x6da54c20, 0x2def6: 0x6da54e20, 0x2def7: 0x6dc6e020,\n\t0x2def8: 0x6e38a220, 0x2def9: 0x6c048e20, 0x2defa: 0x6c35a020, 0x2defb: 0x6c35a220,\n\t0x2defc: 0x6c35a420, 0x2defd: 0x6c509020, 0x2defe: 0x6c509220, 0x2deff: 0x6c509420,\n\t// Block 0xb7c, offset 0x2df00\n\t0x2df00: 0x6c509620, 0x2df01: 0x6c72bc20, 0x2df02: 0x6c72be20, 0x2df03: 0x6c72c020,\n\t0x2df04: 0x6c72c220, 0x2df05: 0x6c72c420, 0x2df06: 0x6c72c620, 0x2df07: 0x6c9b4820,\n\t0x2df08: 0x6c9b4a20, 0x2df09: 0x6c9b4c20, 0x2df0a: 0x6c72c820, 0x2df0b: 0x6c9b4e20,\n\t0x2df0c: 0x6c9b5020, 0x2df0d: 0x6c9b5220, 0x2df0e: 0x6c9b5420, 0x2df0f: 0x6c9b5620,\n\t0x2df10: 0x6cc74620, 0x2df11: 0x6cc74820, 0x2df12: 0x6cf5b620, 0x2df13: 0x6cf5b820,\n\t0x2df14: 0x6cf5ba20, 0x2df15: 0x6cf5bc20, 0x2df16: 0x6d256420, 0x2df17: 0x6d256620,\n\t0x2df18: 0x6d7e1c20, 0x2df19: 0x6d7e1e20, 0x2df1a: 0x6da55a20, 0x2df1b: 0x6dc6ec20,\n\t0x2df1c: 0x6de37820, 0x2df1d: 0x6de37a20, 0x2df1e: 0x6de37c20, 0x2df1f: 0x6dfad820,\n\t0x2df20: 0x6c049020, 0x2df21: 0x6c049220, 0x2df22: 0x6c50ac20, 0x2df23: 0x6c9b6e20,\n\t0x2df24: 0x6cf5ce20, 0x2df25: 0x6c049620, 0x2df26: 0x6c095420, 0x2df27: 0x6c095620,\n\t0x2df28: 0x6c125020, 0x2df29: 0x6c125220, 0x2df2a: 0x6c125420, 0x2df2b: 0x6c125620,\n\t0x2df2c: 0x6c125820, 0x2df2d: 0x6c125a20, 0x2df2e: 0x6c125c20, 0x2df2f: 0x6c125e20,\n\t0x2df30: 0x6c215c20, 0x2df31: 0x6c215e20, 0x2df32: 0x6c216020, 0x2df33: 0x6c216220,\n\t0x2df34: 0x6c216420, 0x2df35: 0x6c216620, 0x2df36: 0x6c216820, 0x2df37: 0x6c216a20,\n\t0x2df38: 0x6c216c20, 0x2df39: 0x6c35b620, 0x2df3a: 0x6c35b820, 0x2df3b: 0x6c35ba20,\n\t0x2df3c: 0x6c35bc20, 0x2df3d: 0x6c35be20, 0x2df3e: 0x6c35c020, 0x2df3f: 0x6c35c220,\n\t// Block 0xb7d, offset 0x2df40\n\t0x2df40: 0x6c35c420, 0x2df41: 0x6c35c620, 0x2df42: 0x6c35c820, 0x2df43: 0x6c35ca20,\n\t0x2df44: 0x6c35cc20, 0x2df45: 0x6c35ce20, 0x2df46: 0x6c35d020, 0x2df47: 0x6c35d220,\n\t0x2df48: 0x6c35d420, 0x2df49: 0x6c35d620, 0x2df4a: 0x6c35d820, 0x2df4b: 0x6c35da20,\n\t0x2df4c: 0x6c35dc20, 0x2df4d: 0x6c35de20, 0x2df4e: 0x6c35e020, 0x2df4f: 0x6c35e220,\n\t0x2df50: 0x6c35e420, 0x2df51: 0x6c35e620, 0x2df52: 0x6c35e820, 0x2df53: 0x6c35ea20,\n\t0x2df54: 0x6c35ec20, 0x2df55: 0x6c35ee20, 0x2df56: 0x6c35f020, 0x2df57: 0x6c35f220,\n\t0x2df58: 0x6c35f420, 0x2df59: 0x6c35f620, 0x2df5a: 0x6c50c420, 0x2df5b: 0x6c50c620,\n\t0x2df5c: 0x6c50c820, 0x2df5d: 0x6c50ca20, 0x2df5e: 0x6c50cc20, 0x2df5f: 0x6c50ce20,\n\t0x2df60: 0x6c50d020, 0x2df61: 0x6c50d220, 0x2df62: 0x6c50d420, 0x2df63: 0x6c50d620,\n\t0x2df64: 0x6c50d820, 0x2df65: 0x6c50da20, 0x2df66: 0x6c50dc20, 0x2df67: 0x6c50de20,\n\t0x2df68: 0x6c50e020, 0x2df69: 0x6c50e220, 0x2df6a: 0x6c50e420, 0x2df6b: 0x6c50e620,\n\t0x2df6c: 0x6c50e820, 0x2df6d: 0x6c50ea20, 0x2df6e: 0x6c50ec20, 0x2df6f: 0x6c50ee20,\n\t0x2df70: 0x6c50f020, 0x2df71: 0x6c50f220, 0x2df72: 0x6c50f420, 0x2df73: 0x6c50f620,\n\t0x2df74: 0x6c50f820, 0x2df75: 0x6c50fa20, 0x2df76: 0x6c50fc20, 0x2df77: 0x6c50fe20,\n\t0x2df78: 0x6c510020, 0x2df79: 0x6c510220, 0x2df7a: 0x6c510420, 0x2df7b: 0x6c510620,\n\t0x2df7c: 0x6c510820, 0x2df7d: 0x6c510a20, 0x2df7e: 0x6c510c20, 0x2df7f: 0x6c510e20,\n\t// Block 0xb7e, offset 0x2df80\n\t0x2df80: 0x6c730420, 0x2df81: 0x6c730620, 0x2df82: 0x6c730820, 0x2df83: 0x6c730a20,\n\t0x2df84: 0x6c730c20, 0x2df85: 0x6c730e20, 0x2df86: 0x6c731020, 0x2df87: 0x6c731220,\n\t0x2df88: 0x6c731420, 0x2df89: 0x6c731620, 0x2df8a: 0x6c731820, 0x2df8b: 0x6c731a20,\n\t0x2df8c: 0x6c731c20, 0x2df8d: 0x6c731e20, 0x2df8e: 0x6c732020, 0x2df8f: 0x6c732220,\n\t0x2df90: 0x6c732420, 0x2df91: 0x6c732620, 0x2df92: 0x6c732820, 0x2df93: 0x6c732a20,\n\t0x2df94: 0x6c732c20, 0x2df95: 0x6c732e20, 0x2df96: 0x6c733020, 0x2df97: 0x6c9b7e20,\n\t0x2df98: 0x6c9b8020, 0x2df99: 0x6c9b8220, 0x2df9a: 0x6c9b8420, 0x2df9b: 0x6c9b8620,\n\t0x2df9c: 0x6c9b8820, 0x2df9d: 0x6c9b8a20, 0x2df9e: 0x6c9b8c20, 0x2df9f: 0x6c738c20,\n\t0x2dfa0: 0x6c738e20, 0x2dfa1: 0x6c9b8e20, 0x2dfa2: 0x6c9b9020, 0x2dfa3: 0x6c9b9220,\n\t0x2dfa4: 0x6c9b9420, 0x2dfa5: 0x6c9b9620, 0x2dfa6: 0x6c9b9820, 0x2dfa7: 0x6c9b9a20,\n\t0x2dfa8: 0x6c9b9c20, 0x2dfa9: 0x6c9b9e20, 0x2dfaa: 0x6cc78620, 0x2dfab: 0x6cc78820,\n\t0x2dfac: 0x6cc78a20, 0x2dfad: 0x6cc78c20, 0x2dfae: 0x6cc78e20, 0x2dfaf: 0x6cc79020,\n\t0x2dfb0: 0x6cc79220, 0x2dfb1: 0x6cc79420, 0x2dfb2: 0x6cc79620, 0x2dfb3: 0x6cc79820,\n\t0x2dfb4: 0x6cc79a20, 0x2dfb5: 0x6cc79c20, 0x2dfb6: 0x6cc79e20, 0x2dfb7: 0x6cc7a020,\n\t0x2dfb8: 0x6cf5d620, 0x2dfb9: 0x6cc7a220, 0x2dfba: 0x6cc7a420, 0x2dfbb: 0x6cc7a620,\n\t0x2dfbc: 0x6cc7a820, 0x2dfbd: 0x6cc7aa20, 0x2dfbe: 0x6cc7ac20, 0x2dfbf: 0x6cc7ae20,\n\t// Block 0xb7f, offset 0x2dfc0\n\t0x2dfc0: 0x6cc7b020, 0x2dfc1: 0x6cc7b220, 0x2dfc2: 0x6cc7b420, 0x2dfc3: 0x6cc7b620,\n\t0x2dfc4: 0x6cf5f020, 0x2dfc5: 0x6cf5f220, 0x2dfc6: 0x6cf5f420, 0x2dfc7: 0x6cf5f620,\n\t0x2dfc8: 0x6cf5f820, 0x2dfc9: 0x6cf5fa20, 0x2dfca: 0x6cf5fc20, 0x2dfcb: 0x6cf5fe20,\n\t0x2dfcc: 0x6cf60020, 0x2dfcd: 0x6cf60220, 0x2dfce: 0x6cf60420, 0x2dfcf: 0x6cf60620,\n\t0x2dfd0: 0x6cf60820, 0x2dfd1: 0x6cc7b820, 0x2dfd2: 0x6cf60a20, 0x2dfd3: 0x6cf60c20,\n\t0x2dfd4: 0x6cf60e20, 0x2dfd5: 0x6cf61020, 0x2dfd6: 0x6cf61220, 0x2dfd7: 0x6cf61420,\n\t0x2dfd8: 0x6cf61620, 0x2dfd9: 0x6cf61820, 0x2dfda: 0x6d257e20, 0x2dfdb: 0x6d258020,\n\t0x2dfdc: 0x6d258220, 0x2dfdd: 0x6d258420, 0x2dfde: 0x6d258620, 0x2dfdf: 0x6d258820,\n\t0x2dfe0: 0x6d258a20, 0x2dfe1: 0x6d258c20, 0x2dfe2: 0x6d258e20, 0x2dfe3: 0x6d259020,\n\t0x2dfe4: 0x6d259220, 0x2dfe5: 0x6d259420, 0x2dfe6: 0x6d259620, 0x2dfe7: 0x6d259820,\n\t0x2dfe8: 0x6d259a20, 0x2dfe9: 0x6d530020, 0x2dfea: 0x6d530220, 0x2dfeb: 0x6d530420,\n\t0x2dfec: 0x6d530620, 0x2dfed: 0x6d530820, 0x2dfee: 0x6d530a20, 0x2dfef: 0x6d530c20,\n\t0x2dff0: 0x6d530e20, 0x2dff1: 0x6d531020, 0x2dff2: 0x6d531220, 0x2dff3: 0x6d531420,\n\t0x2dff4: 0x6d531620, 0x2dff5: 0x6d531820, 0x2dff6: 0x6d531a20, 0x2dff7: 0x6d531c20,\n\t0x2dff8: 0x6d7e4420, 0x2dff9: 0x6d7e4620, 0x2dffa: 0x6d7e4820, 0x2dffb: 0x6d7e4a20,\n\t0x2dffc: 0x6d537220, 0x2dffd: 0x6d7e4c20, 0x2dffe: 0x6d7e4e20, 0x2dfff: 0x6d7e5020,\n\t// Block 0xb80, offset 0x2e000\n\t0x2e000: 0x6d7e5220, 0x2e001: 0x6d7e5420, 0x2e002: 0x6d7e5620, 0x2e003: 0x6d7e5820,\n\t0x2e004: 0x6d7e5a20, 0x2e005: 0x6d7e5c20, 0x2e006: 0x6d7e5e20, 0x2e007: 0x6d7e6020,\n\t0x2e008: 0x6d7e6220, 0x2e009: 0x6d7e6420, 0x2e00a: 0x6d7e6620, 0x2e00b: 0x6d7e6820,\n\t0x2e00c: 0x6d7e6a20, 0x2e00d: 0x6d7e6c20, 0x2e00e: 0x6da56420, 0x2e00f: 0x6d7ed220,\n\t0x2e010: 0x6da56620, 0x2e011: 0x6da56820, 0x2e012: 0x6da56a20, 0x2e013: 0x6da56c20,\n\t0x2e014: 0x6da56e20, 0x2e015: 0x6da57020, 0x2e016: 0x6da57220, 0x2e017: 0x6da57420,\n\t0x2e018: 0x6dc70620, 0x2e019: 0x6da5a820, 0x2e01a: 0x6da57620, 0x2e01b: 0x6dc70820,\n\t0x2e01c: 0x6dc70a20, 0x2e01d: 0x6de38820, 0x2e01e: 0x6de38a20, 0x2e01f: 0x6de38c20,\n\t0x2e020: 0x6de38e20, 0x2e021: 0x6de39020, 0x2e022: 0x6de39220, 0x2e023: 0x6dfae020,\n\t0x2e024: 0x6dfae220, 0x2e025: 0x6dfae420, 0x2e026: 0x6dfae620, 0x2e027: 0x6dfae820,\n\t0x2e028: 0x6dfaea20, 0x2e029: 0x6e0e4620, 0x2e02a: 0x6e293020, 0x2e02b: 0x6e293220,\n\t0x2e02c: 0x6e293420, 0x2e02d: 0x6e324a20, 0x2e02e: 0x6e324c20, 0x2e02f: 0x6e38a820,\n\t0x2e030: 0x6c049820, 0x2e031: 0x6c095e20, 0x2e032: 0x6c127020, 0x2e033: 0x6c127220,\n\t0x2e034: 0x6c219c20, 0x2e035: 0x6c219e20, 0x2e036: 0x6c364020, 0x2e037: 0x6c515c20,\n\t0x2e038: 0x6c739020, 0x2e039: 0x6c9c0a20, 0x2e03a: 0x6c739220, 0x2e03b: 0x6c73a820,\n\t0x2e03c: 0x6c9c0c20, 0x2e03d: 0x6c9ba020, 0x2e03e: 0x6cc84a20, 0x2e03f: 0x6cc84c20,\n\t// Block 0xb81, offset 0x2e040\n\t0x2e040: 0x6cb8f420, 0x2e041: 0x6cc84e20, 0x2e042: 0x6cc85020, 0x2e043: 0x6cf68820,\n\t0x2e044: 0x6d25f820, 0x2e045: 0x6d25fa20, 0x2e046: 0x6d7ed620, 0x2e047: 0x6e0e5820,\n\t0x2e048: 0x6c049c20, 0x2e049: 0x6c127420, 0x2e04a: 0x6c364c20, 0x2e04b: 0x6c364e20,\n\t0x2e04c: 0x6c365020, 0x2e04d: 0x6c365220, 0x2e04e: 0x6c516c20, 0x2e04f: 0x6c516e20,\n\t0x2e050: 0x6c517020, 0x2e051: 0x6c517220, 0x2e052: 0x6c73ae20, 0x2e053: 0x6c73b020,\n\t0x2e054: 0x6c73b220, 0x2e055: 0x6c73b420, 0x2e056: 0x6c9c1a20, 0x2e057: 0x6c73be20,\n\t0x2e058: 0x6c9c1c20, 0x2e059: 0x6c9c1e20, 0x2e05a: 0x6c9c2020, 0x2e05b: 0x6c9c2220,\n\t0x2e05c: 0x6cc85a20, 0x2e05d: 0x6cc85c20, 0x2e05e: 0x6cc85e20, 0x2e05f: 0x6cc86020,\n\t0x2e060: 0x6cf69420, 0x2e061: 0x6cf69620, 0x2e062: 0x6d260620, 0x2e063: 0x6d7ee620,\n\t0x2e064: 0x6d7ee820, 0x2e065: 0x6d7eea20, 0x2e066: 0x6dc74820, 0x2e067: 0x6dfb0220,\n\t0x2e068: 0x6c049e20, 0x2e069: 0x6c04a020, 0x2e06a: 0x6c096220, 0x2e06b: 0x6c096420,\n\t0x2e06c: 0x6c096620, 0x2e06d: 0x6c096820, 0x2e06e: 0x6c096a20, 0x2e06f: 0x6c096c20,\n\t0x2e070: 0x6c096e20, 0x2e071: 0x6c127c20, 0x2e072: 0x6c127e20, 0x2e073: 0x6c128020,\n\t0x2e074: 0x6c128220, 0x2e075: 0x6c128420, 0x2e076: 0x6c128620, 0x2e077: 0x6c128820,\n\t0x2e078: 0x6c128a20, 0x2e079: 0x6c128c20, 0x2e07a: 0x6c128e20, 0x2e07b: 0x6c129020,\n\t0x2e07c: 0x6c129220, 0x2e07d: 0x6c129420, 0x2e07e: 0x6c129620, 0x2e07f: 0x6c129820,\n\t// Block 0xb82, offset 0x2e080\n\t0x2e080: 0x6c129a20, 0x2e081: 0x6c129c20, 0x2e082: 0x6c129e20, 0x2e083: 0x6c12a020,\n\t0x2e084: 0x6c21ba20, 0x2e085: 0x6c21bc20, 0x2e086: 0x6c21be20, 0x2e087: 0x6c21c020,\n\t0x2e088: 0x6c21c220, 0x2e089: 0x6c21c420, 0x2e08a: 0x6c21c620, 0x2e08b: 0x6c21c820,\n\t0x2e08c: 0x6c21ca20, 0x2e08d: 0x6c21cc20, 0x2e08e: 0x6c21ce20, 0x2e08f: 0x6c21d020,\n\t0x2e090: 0x6c21d220, 0x2e091: 0x6c21d420, 0x2e092: 0x6c21d620, 0x2e093: 0x6c21d820,\n\t0x2e094: 0x6c21da20, 0x2e095: 0x6c21dc20, 0x2e096: 0x6c21de20, 0x2e097: 0x6c21e020,\n\t0x2e098: 0x6c21e220, 0x2e099: 0x6c21e420, 0x2e09a: 0x6c21e620, 0x2e09b: 0x6c21e820,\n\t0x2e09c: 0x6c21ea20, 0x2e09d: 0x6c21ec20, 0x2e09e: 0x6c21ee20, 0x2e09f: 0x6c21f020,\n\t0x2e0a0: 0x6c21f220, 0x2e0a1: 0x6c21f420, 0x2e0a2: 0x6c21f620, 0x2e0a3: 0x6c21f820,\n\t0x2e0a4: 0x6c21fa20, 0x2e0a5: 0x6c21fc20, 0x2e0a6: 0x6c21fe20, 0x2e0a7: 0x6c220020,\n\t0x2e0a8: 0x6c220220, 0x2e0a9: 0x6c220420, 0x2e0aa: 0x6c366c20, 0x2e0ab: 0x6c366e20,\n\t0x2e0ac: 0x6c367020, 0x2e0ad: 0x6c367220, 0x2e0ae: 0x6c367420, 0x2e0af: 0x6c367620,\n\t0x2e0b0: 0x6c367820, 0x2e0b1: 0x6c367a20, 0x2e0b2: 0x6c367c20, 0x2e0b3: 0x6c367e20,\n\t0x2e0b4: 0x6c368020, 0x2e0b5: 0x6c368220, 0x2e0b6: 0x6c368420, 0x2e0b7: 0x6c368620,\n\t0x2e0b8: 0x6c368820, 0x2e0b9: 0x6c368a20, 0x2e0ba: 0x6c368c20, 0x2e0bb: 0x6c368e20,\n\t0x2e0bc: 0x6c369020, 0x2e0bd: 0x6c369220, 0x2e0be: 0x6c369420, 0x2e0bf: 0x6c369620,\n\t// Block 0xb83, offset 0x2e0c0\n\t0x2e0c0: 0x6c369820, 0x2e0c1: 0x6c220620, 0x2e0c2: 0x6c369a20, 0x2e0c3: 0x6c369c20,\n\t0x2e0c4: 0x6c369e20, 0x2e0c5: 0x6c36a020, 0x2e0c6: 0x6c36a220, 0x2e0c7: 0x6c36a420,\n\t0x2e0c8: 0x6c36a620, 0x2e0c9: 0x6c36a820, 0x2e0ca: 0x6c36aa20, 0x2e0cb: 0x6c36ac20,\n\t0x2e0cc: 0x6c36ae20, 0x2e0cd: 0x6c36b020, 0x2e0ce: 0x6c36b220, 0x2e0cf: 0x6c36b420,\n\t0x2e0d0: 0x6c36b620, 0x2e0d1: 0x6c36b820, 0x2e0d2: 0x6c36ba20, 0x2e0d3: 0x6c36bc20,\n\t0x2e0d4: 0x6c36be20, 0x2e0d5: 0x6c36c020, 0x2e0d6: 0x6c36c220, 0x2e0d7: 0x6c36c420,\n\t0x2e0d8: 0x6c36c620, 0x2e0d9: 0x6c36c820, 0x2e0da: 0x6c36ca20, 0x2e0db: 0x6c36cc20,\n\t0x2e0dc: 0x6c36ce20, 0x2e0dd: 0x6c36d020, 0x2e0de: 0x6c36d220, 0x2e0df: 0x6c36d420,\n\t0x2e0e0: 0x6c36d620, 0x2e0e1: 0x6c36d820, 0x2e0e2: 0x6c36da20, 0x2e0e3: 0x6c36dc20,\n\t0x2e0e4: 0x6c36de20, 0x2e0e5: 0x6c36e020, 0x2e0e6: 0x6c36e220, 0x2e0e7: 0x6c36e420,\n\t0x2e0e8: 0x6c36e620, 0x2e0e9: 0x6c36e820, 0x2e0ea: 0x6c36ea20, 0x2e0eb: 0x6c36ec20,\n\t0x2e0ec: 0x6c36ee20, 0x2e0ed: 0x6c36f020, 0x2e0ee: 0x6c519420, 0x2e0ef: 0x6c519620,\n\t0x2e0f0: 0x6c519820, 0x2e0f1: 0x6c519a20, 0x2e0f2: 0x6c519c20, 0x2e0f3: 0x6c519e20,\n\t0x2e0f4: 0x6c51a020, 0x2e0f5: 0x6c51a220, 0x2e0f6: 0x6c51a420, 0x2e0f7: 0x6c51a620,\n\t0x2e0f8: 0x6c51a820, 0x2e0f9: 0x6c51aa20, 0x2e0fa: 0x6c51ac20, 0x2e0fb: 0x6c51ae20,\n\t0x2e0fc: 0x6c51b020, 0x2e0fd: 0x6c73c020, 0x2e0fe: 0x6c51b220, 0x2e0ff: 0x6c51b420,\n\t// Block 0xb84, offset 0x2e100\n\t0x2e100: 0x6c51b620, 0x2e101: 0x6c51b820, 0x2e102: 0x6c51ba20, 0x2e103: 0x6c51bc20,\n\t0x2e104: 0x6c51be20, 0x2e105: 0x6c51c020, 0x2e106: 0x6c51c220, 0x2e107: 0x6c51c420,\n\t0x2e108: 0x6c51c620, 0x2e109: 0x6c51c820, 0x2e10a: 0x6c51ca20, 0x2e10b: 0x6c51cc20,\n\t0x2e10c: 0x6c51ce20, 0x2e10d: 0x6c51d020, 0x2e10e: 0x6c51d220, 0x2e10f: 0x6c51d420,\n\t0x2e110: 0x6c51d620, 0x2e111: 0x6c51d820, 0x2e112: 0x6c51da20, 0x2e113: 0x6c51dc20,\n\t0x2e114: 0x6c51de20, 0x2e115: 0x6c51e020, 0x2e116: 0x6c51e220, 0x2e117: 0x6c51e420,\n\t0x2e118: 0x6c51e620, 0x2e119: 0x6c51e820, 0x2e11a: 0x6c51ea20, 0x2e11b: 0x6c51ec20,\n\t0x2e11c: 0x6c51ee20, 0x2e11d: 0x6c51f020, 0x2e11e: 0x6c51f220, 0x2e11f: 0x6c51f420,\n\t0x2e120: 0x6c51f620, 0x2e121: 0x6c73c220, 0x2e122: 0x6c51f820, 0x2e123: 0x6c51fa20,\n\t0x2e124: 0x6c51fc20, 0x2e125: 0x6c51fe20, 0x2e126: 0x6c520020, 0x2e127: 0x6c520220,\n\t0x2e128: 0x6c520420, 0x2e129: 0x6c520620, 0x2e12a: 0x6c520820, 0x2e12b: 0x6c520a20,\n\t0x2e12c: 0x6c520c20, 0x2e12d: 0x6c520e20, 0x2e12e: 0x6c521020, 0x2e12f: 0x6c521220,\n\t0x2e130: 0x6c521420, 0x2e131: 0x6c521620, 0x2e132: 0x6c521820, 0x2e133: 0x6c521a20,\n\t0x2e134: 0x6c73c420, 0x2e135: 0x6c521c20, 0x2e136: 0x6c521e20, 0x2e137: 0x6c522020,\n\t0x2e138: 0x6c522220, 0x2e139: 0x6c376420, 0x2e13a: 0x6c522420, 0x2e13b: 0x6c522620,\n\t0x2e13c: 0x6c522820, 0x2e13d: 0x6c522a20, 0x2e13e: 0x6c522c20, 0x2e13f: 0x6c522e20,\n\t// Block 0xb85, offset 0x2e140\n\t0x2e140: 0x6c523020, 0x2e141: 0x6c523220, 0x2e142: 0x6c523420, 0x2e143: 0x6c523620,\n\t0x2e144: 0x6c523820, 0x2e145: 0x6c523a20, 0x2e146: 0x6c523c20, 0x2e147: 0x6c523e20,\n\t0x2e148: 0x6c524020, 0x2e149: 0x6c524220, 0x2e14a: 0x6c524420, 0x2e14b: 0x6c524620,\n\t0x2e14c: 0x6c524820, 0x2e14d: 0x6c524a20, 0x2e14e: 0x6c524c20, 0x2e14f: 0x6c524e20,\n\t0x2e150: 0x6c525020, 0x2e151: 0x6c525220, 0x2e152: 0x6c73e620, 0x2e153: 0x6c73e820,\n\t0x2e154: 0x6c73ea20, 0x2e155: 0x6c73ec20, 0x2e156: 0x6c73ee20, 0x2e157: 0x6c73f020,\n\t0x2e158: 0x6c73f220, 0x2e159: 0x6c73f420, 0x2e15a: 0x6c73f620, 0x2e15b: 0x6c73f820,\n\t0x2e15c: 0x6c73fa20, 0x2e15d: 0x6c73fc20, 0x2e15e: 0x6c73fe20, 0x2e15f: 0x6c740020,\n\t0x2e160: 0x6c740220, 0x2e161: 0x6c740420, 0x2e162: 0x6c740620, 0x2e163: 0x6c740820,\n\t0x2e164: 0x6c740a20, 0x2e165: 0x6c740c20, 0x2e166: 0x6c740e20, 0x2e167: 0x6c741020,\n\t0x2e168: 0x6c741220, 0x2e169: 0x6c741420, 0x2e16a: 0x6c741620, 0x2e16b: 0x6c741820,\n\t0x2e16c: 0x6c741a20, 0x2e16d: 0x6c741c20, 0x2e16e: 0x6c741e20, 0x2e16f: 0x6c742020,\n\t0x2e170: 0x6c742220, 0x2e171: 0x6c742420, 0x2e172: 0x6c742620, 0x2e173: 0x6c742820,\n\t0x2e174: 0x6c742a20, 0x2e175: 0x6c742c20, 0x2e176: 0x6c742e20, 0x2e177: 0x6c743020,\n\t0x2e178: 0x6c743220, 0x2e179: 0x6c743420, 0x2e17a: 0x6c743620, 0x2e17b: 0x6c743820,\n\t0x2e17c: 0x6c743a20, 0x2e17d: 0x6c743c20, 0x2e17e: 0x6c743e20, 0x2e17f: 0x6c744020,\n\t// Block 0xb86, offset 0x2e180\n\t0x2e180: 0x6c744220, 0x2e181: 0x6c744420, 0x2e182: 0x6c744620, 0x2e183: 0x6c744820,\n\t0x2e184: 0x6c744a20, 0x2e185: 0x6c744c20, 0x2e186: 0x6c744e20, 0x2e187: 0x6c745020,\n\t0x2e188: 0x6c745220, 0x2e189: 0x6c745420, 0x2e18a: 0x6c745620, 0x2e18b: 0x6c745820,\n\t0x2e18c: 0x6c745a20, 0x2e18d: 0x6c745c20, 0x2e18e: 0x6c745e20, 0x2e18f: 0x6c746020,\n\t0x2e190: 0x6c746220, 0x2e191: 0x6c746420, 0x2e192: 0x6c52c020, 0x2e193: 0x6c746620,\n\t0x2e194: 0x6c746820, 0x2e195: 0x6c746a20, 0x2e196: 0x6c746c20, 0x2e197: 0x6c746e20,\n\t0x2e198: 0x6c747020, 0x2e199: 0x6c747220, 0x2e19a: 0x6c747420, 0x2e19b: 0x6c747620,\n\t0x2e19c: 0x6c747820, 0x2e19d: 0x6c747a20, 0x2e19e: 0x6c747c20, 0x2e19f: 0x6c747e20,\n\t0x2e1a0: 0x6c748020, 0x2e1a1: 0x6c748220, 0x2e1a2: 0x6c748420, 0x2e1a3: 0x6c748620,\n\t0x2e1a4: 0x6c748820, 0x2e1a5: 0x6c748a20, 0x2e1a6: 0x6c748c20, 0x2e1a7: 0x6c748e20,\n\t0x2e1a8: 0x6c749020, 0x2e1a9: 0x6c749220, 0x2e1aa: 0x6c749420, 0x2e1ab: 0x6c9c5420,\n\t0x2e1ac: 0x6c9c5620, 0x2e1ad: 0x6c9c5820, 0x2e1ae: 0x6c9c5a20, 0x2e1af: 0x6c9c5c20,\n\t0x2e1b0: 0x6c9c5e20, 0x2e1b1: 0x6c9c6020, 0x2e1b2: 0x6c9c6220, 0x2e1b3: 0x6c9c6420,\n\t0x2e1b4: 0x6c9c6620, 0x2e1b5: 0x6c9c6820, 0x2e1b6: 0x6c9c6a20, 0x2e1b7: 0x6c9c6c20,\n\t0x2e1b8: 0x6c9c6e20, 0x2e1b9: 0x6c9c7020, 0x2e1ba: 0x6c9c7220, 0x2e1bb: 0x6c9c7420,\n\t0x2e1bc: 0x6c9c7620, 0x2e1bd: 0x6c9c7820, 0x2e1be: 0x6c9c7a20, 0x2e1bf: 0x6c9c7c20,\n\t// Block 0xb87, offset 0x2e1c0\n\t0x2e1c0: 0x6c9c7e20, 0x2e1c1: 0x6c9c8020, 0x2e1c2: 0x6c9c8220, 0x2e1c3: 0x6c9c8420,\n\t0x2e1c4: 0x6c9c8620, 0x2e1c5: 0x6c9c8820, 0x2e1c6: 0x6c9c8a20, 0x2e1c7: 0x6c9c8c20,\n\t0x2e1c8: 0x6c9c8e20, 0x2e1c9: 0x6c9c9020, 0x2e1ca: 0x6c9c9220, 0x2e1cb: 0x6c9c9420,\n\t0x2e1cc: 0x6c9c9620, 0x2e1cd: 0x6c9c9820, 0x2e1ce: 0x6c9c9a20, 0x2e1cf: 0x6c9c9c20,\n\t0x2e1d0: 0x6c9c9e20, 0x2e1d1: 0x6c9ca020, 0x2e1d2: 0x6c9ca220, 0x2e1d3: 0x6c9ca420,\n\t0x2e1d4: 0x6c9ca620, 0x2e1d5: 0x6c9ca820, 0x2e1d6: 0x6c9caa20, 0x2e1d7: 0x6c9cac20,\n\t0x2e1d8: 0x6c9cae20, 0x2e1d9: 0x6c9cb020, 0x2e1da: 0x6c9cb220, 0x2e1db: 0x6c9cb420,\n\t0x2e1dc: 0x6c9cb620, 0x2e1dd: 0x6c9cb820, 0x2e1de: 0x6c9cba20, 0x2e1df: 0x6c9cbc20,\n\t0x2e1e0: 0x6c9cbe20, 0x2e1e1: 0x6c9cc020, 0x2e1e2: 0x6c9cc220, 0x2e1e3: 0x6c9cc420,\n\t0x2e1e4: 0x6c9cc620, 0x2e1e5: 0x6c9cc820, 0x2e1e6: 0x6c9cca20, 0x2e1e7: 0x6c9ccc20,\n\t0x2e1e8: 0x6c9cce20, 0x2e1e9: 0x6c9cd020, 0x2e1ea: 0x6c9cd220, 0x2e1eb: 0x6c9cd420,\n\t0x2e1ec: 0x6c9cd620, 0x2e1ed: 0x6c9cd820, 0x2e1ee: 0x6c9cda20, 0x2e1ef: 0x6c9cdc20,\n\t0x2e1f0: 0x6c9cde20, 0x2e1f1: 0x6c9ce020, 0x2e1f2: 0x6c9ce220, 0x2e1f3: 0x6c9ce420,\n\t0x2e1f4: 0x6cc88420, 0x2e1f5: 0x6c9ce620, 0x2e1f6: 0x6c9ce820, 0x2e1f7: 0x6c9cea20,\n\t0x2e1f8: 0x6c9cec20, 0x2e1f9: 0x6c9cee20, 0x2e1fa: 0x6c9cf020, 0x2e1fb: 0x6c9cf220,\n\t0x2e1fc: 0x6c9cf420, 0x2e1fd: 0x6c9cf620, 0x2e1fe: 0x6c9cf820, 0x2e1ff: 0x6c9cfa20,\n\t// Block 0xb88, offset 0x2e200\n\t0x2e200: 0x6c9cfc20, 0x2e201: 0x6c9cfe20, 0x2e202: 0x6c9d0020, 0x2e203: 0x6cc8ae20,\n\t0x2e204: 0x6cc8b020, 0x2e205: 0x6cc8b220, 0x2e206: 0x6cc8b420, 0x2e207: 0x6cc8b620,\n\t0x2e208: 0x6cc8b820, 0x2e209: 0x6cc8ba20, 0x2e20a: 0x6cc8bc20, 0x2e20b: 0x6cc8be20,\n\t0x2e20c: 0x6cc8c020, 0x2e20d: 0x6cc8c220, 0x2e20e: 0x6cc8c420, 0x2e20f: 0x6cc8c620,\n\t0x2e210: 0x6cc8c820, 0x2e211: 0x6cc8ca20, 0x2e212: 0x6cc8cc20, 0x2e213: 0x6cc8ce20,\n\t0x2e214: 0x6cc8d020, 0x2e215: 0x6cc8d220, 0x2e216: 0x6cc8d420, 0x2e217: 0x6cc8d620,\n\t0x2e218: 0x6cc8d820, 0x2e219: 0x6cc8da20, 0x2e21a: 0x6cc8dc20, 0x2e21b: 0x6cc8de20,\n\t0x2e21c: 0x6cc8e020, 0x2e21d: 0x6cc8e220, 0x2e21e: 0x6cc8e420, 0x2e21f: 0x6cc8e620,\n\t0x2e220: 0x6cc8e820, 0x2e221: 0x6cc8ea20, 0x2e222: 0x6cc8ec20, 0x2e223: 0x6cc8ee20,\n\t0x2e224: 0x6cc8f020, 0x2e225: 0x6cc8f220, 0x2e226: 0x6cc8f420, 0x2e227: 0x6cc8f620,\n\t0x2e228: 0x6cc8f820, 0x2e229: 0x6cc8fa20, 0x2e22a: 0x6cc8fc20, 0x2e22b: 0x6cc8fe20,\n\t0x2e22c: 0x6cc90020, 0x2e22d: 0x6cc90220, 0x2e22e: 0x6cc90420, 0x2e22f: 0x6cc90620,\n\t0x2e230: 0x6cc90820, 0x2e231: 0x6cc90a20, 0x2e232: 0x6cc90c20, 0x2e233: 0x6cc90e20,\n\t0x2e234: 0x6cc91020, 0x2e235: 0x6cc91220, 0x2e236: 0x6cc91420, 0x2e237: 0x6cc91620,\n\t0x2e238: 0x6cc91820, 0x2e239: 0x6cc91a20, 0x2e23a: 0x6cc91c20, 0x2e23b: 0x6cc91e20,\n\t0x2e23c: 0x6cc92020, 0x2e23d: 0x6cc92220, 0x2e23e: 0x6cc92420, 0x2e23f: 0x6cc92620,\n\t// Block 0xb89, offset 0x2e240\n\t0x2e240: 0x6cc92820, 0x2e241: 0x6cc92a20, 0x2e242: 0x6cc92c20, 0x2e243: 0x6cc92e20,\n\t0x2e244: 0x6cc93020, 0x2e245: 0x6cc93220, 0x2e246: 0x6cc93420, 0x2e247: 0x6cc93620,\n\t0x2e248: 0x6cc93820, 0x2e249: 0x6cc93a20, 0x2e24a: 0x6cc93c20, 0x2e24b: 0x6cc93e20,\n\t0x2e24c: 0x6cc94020, 0x2e24d: 0x6cc94220, 0x2e24e: 0x6cc94420, 0x2e24f: 0x6cc94620,\n\t0x2e250: 0x6cc94820, 0x2e251: 0x6cc94a20, 0x2e252: 0x6cc94c20, 0x2e253: 0x6cc94e20,\n\t0x2e254: 0x6cc95020, 0x2e255: 0x6cc95220, 0x2e256: 0x6cc95420, 0x2e257: 0x6cc95620,\n\t0x2e258: 0x6cc95820, 0x2e259: 0x6cc95a20, 0x2e25a: 0x6cc95c20, 0x2e25b: 0x6cc95e20,\n\t0x2e25c: 0x6cc96020, 0x2e25d: 0x6cc96220, 0x2e25e: 0x6cc96420, 0x2e25f: 0x6cc96620,\n\t0x2e260: 0x6cc96820, 0x2e261: 0x6cc96a20, 0x2e262: 0x6cc96c20, 0x2e263: 0x6cc96e20,\n\t0x2e264: 0x6cc97020, 0x2e265: 0x6cc97220, 0x2e266: 0x6cc97420, 0x2e267: 0x6cc97620,\n\t0x2e268: 0x6cc97820, 0x2e269: 0x6cc97a20, 0x2e26a: 0x6cc97c20, 0x2e26b: 0x6cc97e20,\n\t0x2e26c: 0x6cc98020, 0x2e26d: 0x6cc98220, 0x2e26e: 0x6cc98420, 0x2e26f: 0x6cf6e220,\n\t0x2e270: 0x6cf6e420, 0x2e271: 0x6cf6e620, 0x2e272: 0x6cf6e820, 0x2e273: 0x6cf6ea20,\n\t0x2e274: 0x6cf6ec20, 0x2e275: 0x6cf6ee20, 0x2e276: 0x6cf6f020, 0x2e277: 0x6cf6f220,\n\t0x2e278: 0x6cf6f420, 0x2e279: 0x6cf6f620, 0x2e27a: 0x6cf6f820, 0x2e27b: 0x6cf6fa20,\n\t0x2e27c: 0x6cf6fc20, 0x2e27d: 0x6cf6fe20, 0x2e27e: 0x6cf70020, 0x2e27f: 0x6cf70220,\n\t// Block 0xb8a, offset 0x2e280\n\t0x2e280: 0x6cf70420, 0x2e281: 0x6cf70620, 0x2e282: 0x6cf70820, 0x2e283: 0x6cf70a20,\n\t0x2e284: 0x6cf70c20, 0x2e285: 0x6cf70e20, 0x2e286: 0x6cf71020, 0x2e287: 0x6cf71220,\n\t0x2e288: 0x6cf71420, 0x2e289: 0x6cf71620, 0x2e28a: 0x6cf71820, 0x2e28b: 0x6cf71a20,\n\t0x2e28c: 0x6cf71c20, 0x2e28d: 0x6cf71e20, 0x2e28e: 0x6cf72020, 0x2e28f: 0x6cf72220,\n\t0x2e290: 0x6cf72420, 0x2e291: 0x6cf72620, 0x2e292: 0x6cf72820, 0x2e293: 0x6cf72a20,\n\t0x2e294: 0x6cf72c20, 0x2e295: 0x6cf72e20, 0x2e296: 0x6c9da420, 0x2e297: 0x6cf73020,\n\t0x2e298: 0x6cf73220, 0x2e299: 0x6cf73420, 0x2e29a: 0x6cf73620, 0x2e29b: 0x6cf73820,\n\t0x2e29c: 0x6cf73a20, 0x2e29d: 0x6cf73c20, 0x2e29e: 0x6cf73e20, 0x2e29f: 0x6cf74020,\n\t0x2e2a0: 0x6cf74220, 0x2e2a1: 0x6cf74420, 0x2e2a2: 0x6cf74620, 0x2e2a3: 0x6cf74820,\n\t0x2e2a4: 0x6cf74a20, 0x2e2a5: 0x6cf74c20, 0x2e2a6: 0x6cf74e20, 0x2e2a7: 0x6cf75020,\n\t0x2e2a8: 0x6cf75220, 0x2e2a9: 0x6cf75420, 0x2e2aa: 0x6cf75620, 0x2e2ab: 0x6cf75820,\n\t0x2e2ac: 0x6cf75a20, 0x2e2ad: 0x6cf75c20, 0x2e2ae: 0x6cca8820, 0x2e2af: 0x6cf75e20,\n\t0x2e2b0: 0x6cca8a20, 0x2e2b1: 0x6cf76020, 0x2e2b2: 0x6cf76220, 0x2e2b3: 0x6cf76420,\n\t0x2e2b4: 0x6cf76620, 0x2e2b5: 0x6cf76820, 0x2e2b6: 0x6cf76a20, 0x2e2b7: 0x6cf76c20,\n\t0x2e2b8: 0x6cf76e20, 0x2e2b9: 0x6cf77020, 0x2e2ba: 0x6cf77220, 0x2e2bb: 0x6cf77420,\n\t0x2e2bc: 0x6cf77620, 0x2e2bd: 0x6cf77820, 0x2e2be: 0x6cf77a20, 0x2e2bf: 0x6cf77c20,\n\t// Block 0xb8b, offset 0x2e2c0\n\t0x2e2c0: 0x6cf77e20, 0x2e2c1: 0x6cf78020, 0x2e2c2: 0x6cf78220, 0x2e2c3: 0x6cf78420,\n\t0x2e2c4: 0x6cf78620, 0x2e2c5: 0x6cf78820, 0x2e2c6: 0x6cf78a20, 0x2e2c7: 0x6cf78c20,\n\t0x2e2c8: 0x6cf78e20, 0x2e2c9: 0x6cf79020, 0x2e2ca: 0x6d264e20, 0x2e2cb: 0x6cf79220,\n\t0x2e2cc: 0x6cf79420, 0x2e2cd: 0x6d265020, 0x2e2ce: 0x6d265220, 0x2e2cf: 0x6d265420,\n\t0x2e2d0: 0x6d265620, 0x2e2d1: 0x6d265820, 0x2e2d2: 0x6d265a20, 0x2e2d3: 0x6d265c20,\n\t0x2e2d4: 0x6cf79620, 0x2e2d5: 0x6d265e20, 0x2e2d6: 0x6d266020, 0x2e2d7: 0x6d266220,\n\t0x2e2d8: 0x6cf79820, 0x2e2d9: 0x6d266420, 0x2e2da: 0x6d266620, 0x2e2db: 0x6d266820,\n\t0x2e2dc: 0x6d266a20, 0x2e2dd: 0x6d266c20, 0x2e2de: 0x6d266e20, 0x2e2df: 0x6d267020,\n\t0x2e2e0: 0x6d267220, 0x2e2e1: 0x6d267420, 0x2e2e2: 0x6d267620, 0x2e2e3: 0x6d267820,\n\t0x2e2e4: 0x6d267a20, 0x2e2e5: 0x6d267c20, 0x2e2e6: 0x6d267e20, 0x2e2e7: 0x6d268020,\n\t0x2e2e8: 0x6d268220, 0x2e2e9: 0x6d268420, 0x2e2ea: 0x6d268620, 0x2e2eb: 0x6d268820,\n\t0x2e2ec: 0x6d268a20, 0x2e2ed: 0x6d268c20, 0x2e2ee: 0x6d268e20, 0x2e2ef: 0x6d269020,\n\t0x2e2f0: 0x6d269220, 0x2e2f1: 0x6d269420, 0x2e2f2: 0x6d269620, 0x2e2f3: 0x6d269820,\n\t0x2e2f4: 0x6d269a20, 0x2e2f5: 0x6d269c20, 0x2e2f6: 0x6d269e20, 0x2e2f7: 0x6d26a020,\n\t0x2e2f8: 0x6d26a220, 0x2e2f9: 0x6d26a420, 0x2e2fa: 0x6d26a620, 0x2e2fb: 0x6d26a820,\n\t0x2e2fc: 0x6d26aa20, 0x2e2fd: 0x6d26ac20, 0x2e2fe: 0x6d26ae20, 0x2e2ff: 0x6d26b020,\n\t// Block 0xb8c, offset 0x2e300\n\t0x2e300: 0x6d26b220, 0x2e301: 0x6d26b420, 0x2e302: 0x6d26b620, 0x2e303: 0x6d26b820,\n\t0x2e304: 0x6d26ba20, 0x2e305: 0x6d26bc20, 0x2e306: 0x6d26be20, 0x2e307: 0x6d26c020,\n\t0x2e308: 0x6d26c220, 0x2e309: 0x6d26c420, 0x2e30a: 0x6d26c620, 0x2e30b: 0x6d26c820,\n\t0x2e30c: 0x6d26ca20, 0x2e30d: 0x6d26cc20, 0x2e30e: 0x6d26ce20, 0x2e30f: 0x6d26d020,\n\t0x2e310: 0x6d26d220, 0x2e311: 0x6d26d420, 0x2e312: 0x6d26d620, 0x2e313: 0x6d26d820,\n\t0x2e314: 0x6d26da20, 0x2e315: 0x6d26dc20, 0x2e316: 0x6d26de20, 0x2e317: 0x6d26e020,\n\t0x2e318: 0x6d26e220, 0x2e319: 0x6d26e420, 0x2e31a: 0x6d26e620, 0x2e31b: 0x6d26e820,\n\t0x2e31c: 0x6d26ea20, 0x2e31d: 0x6d26ec20, 0x2e31e: 0x6d26ee20, 0x2e31f: 0x6d26f020,\n\t0x2e320: 0x6d26f220, 0x2e321: 0x6d26f420, 0x2e322: 0x6d53c820, 0x2e323: 0x6d53ca20,\n\t0x2e324: 0x6d53cc20, 0x2e325: 0x6d53ce20, 0x2e326: 0x6d53d020, 0x2e327: 0x6d53d220,\n\t0x2e328: 0x6d53d420, 0x2e329: 0x6d539c20, 0x2e32a: 0x6d53d620, 0x2e32b: 0x6d53d820,\n\t0x2e32c: 0x6d53da20, 0x2e32d: 0x6d53dc20, 0x2e32e: 0x6d53de20, 0x2e32f: 0x6d53e020,\n\t0x2e330: 0x6d53e220, 0x2e331: 0x6d53e420, 0x2e332: 0x6d53e620, 0x2e333: 0x6d53e820,\n\t0x2e334: 0x6d53ea20, 0x2e335: 0x6d53ec20, 0x2e336: 0x6d53ee20, 0x2e337: 0x6d53f020,\n\t0x2e338: 0x6d53f220, 0x2e339: 0x6d53f420, 0x2e33a: 0x6d53f620, 0x2e33b: 0x6d53f820,\n\t0x2e33c: 0x6d53fa20, 0x2e33d: 0x6d53fc20, 0x2e33e: 0x6d53fe20, 0x2e33f: 0x6d540020,\n\t// Block 0xb8d, offset 0x2e340\n\t0x2e340: 0x6d540220, 0x2e341: 0x6d540420, 0x2e342: 0x6d540620, 0x2e343: 0x6d280020,\n\t0x2e344: 0x6d540820, 0x2e345: 0x6d540a20, 0x2e346: 0x6d540c20, 0x2e347: 0x6d540e20,\n\t0x2e348: 0x6d541020, 0x2e349: 0x6d541220, 0x2e34a: 0x6d541420, 0x2e34b: 0x6d541620,\n\t0x2e34c: 0x6d541820, 0x2e34d: 0x6d541a20, 0x2e34e: 0x6d541c20, 0x2e34f: 0x6d541e20,\n\t0x2e350: 0x6d542020, 0x2e351: 0x6d542220, 0x2e352: 0x6d542420, 0x2e353: 0x6d542620,\n\t0x2e354: 0x6d542820, 0x2e355: 0x6d542a20, 0x2e356: 0x6d542c20, 0x2e357: 0x6d542e20,\n\t0x2e358: 0x6d543020, 0x2e359: 0x6d543220, 0x2e35a: 0x6d543420, 0x2e35b: 0x6d543620,\n\t0x2e35c: 0x6d543820, 0x2e35d: 0x6d543a20, 0x2e35e: 0x6d543c20, 0x2e35f: 0x6d543e20,\n\t0x2e360: 0x6d544020, 0x2e361: 0x6d544220, 0x2e362: 0x6d544420, 0x2e363: 0x6d544620,\n\t0x2e364: 0x6d544820, 0x2e365: 0x6d544a20, 0x2e366: 0x6d544c20, 0x2e367: 0x6d544e20,\n\t0x2e368: 0x6d7efe20, 0x2e369: 0x6d545020, 0x2e36a: 0x6d545220, 0x2e36b: 0x6d545420,\n\t0x2e36c: 0x6d545620, 0x2e36d: 0x6d545820, 0x2e36e: 0x6d26f620, 0x2e36f: 0x6d545a20,\n\t0x2e370: 0x6d545c20, 0x2e371: 0x6d545e20, 0x2e372: 0x6d7f3020, 0x2e373: 0x6d7f3220,\n\t0x2e374: 0x6d7f3420, 0x2e375: 0x6d7f3620, 0x2e376: 0x6d7f3820, 0x2e377: 0x6d7f3a20,\n\t0x2e378: 0x6d7f3c20, 0x2e379: 0x6d7f3e20, 0x2e37a: 0x6d7f4020, 0x2e37b: 0x6d7f4220,\n\t0x2e37c: 0x6d7f4420, 0x2e37d: 0x6d7f4620, 0x2e37e: 0x6d7f4820, 0x2e37f: 0x6d7f4a20,\n\t// Block 0xb8e, offset 0x2e380\n\t0x2e380: 0x6d7f4c20, 0x2e381: 0x6d7f4e20, 0x2e382: 0x6d7f5020, 0x2e383: 0x6d7f5220,\n\t0x2e384: 0x6d7f5420, 0x2e385: 0x6d7f5620, 0x2e386: 0x6d7f5820, 0x2e387: 0x6d7f5a20,\n\t0x2e388: 0x6d7f5c20, 0x2e389: 0x6d7f5e20, 0x2e38a: 0x6d7f6020, 0x2e38b: 0x6d7f6220,\n\t0x2e38c: 0x6d7f6420, 0x2e38d: 0x6d7f6620, 0x2e38e: 0x6d7f6820, 0x2e38f: 0x6d7f6a20,\n\t0x2e390: 0x6d7f6c20, 0x2e391: 0x6d7f6e20, 0x2e392: 0x6d7f7020, 0x2e393: 0x6d7f7220,\n\t0x2e394: 0x6d7f7420, 0x2e395: 0x6d7f7620, 0x2e396: 0x6d7f7820, 0x2e397: 0x6d7f7a20,\n\t0x2e398: 0x6d7f7c20, 0x2e399: 0x6d7f7e20, 0x2e39a: 0x6d7f8020, 0x2e39b: 0x6d7f8220,\n\t0x2e39c: 0x6d7f8420, 0x2e39d: 0x6d7f8620, 0x2e39e: 0x6d7f8820, 0x2e39f: 0x6d7f8a20,\n\t0x2e3a0: 0x6d7f8c20, 0x2e3a1: 0x6d7f8e20, 0x2e3a2: 0x6d7f9020, 0x2e3a3: 0x6d7f9220,\n\t0x2e3a4: 0x6d7f9420, 0x2e3a5: 0x6d546020, 0x2e3a6: 0x6d7f9620, 0x2e3a7: 0x6d7f9820,\n\t0x2e3a8: 0x6d7f9a20, 0x2e3a9: 0x6d7f9c20, 0x2e3aa: 0x6d7f9e20, 0x2e3ab: 0x6d7fa020,\n\t0x2e3ac: 0x6d7fa220, 0x2e3ad: 0x6d7fa420, 0x2e3ae: 0x6d7fa620, 0x2e3af: 0x6d7fa820,\n\t0x2e3b0: 0x6d7faa20, 0x2e3b1: 0x6d7fac20, 0x2e3b2: 0x6d7fae20, 0x2e3b3: 0x6d7fb020,\n\t0x2e3b4: 0x6d7f0020, 0x2e3b5: 0x6d7fb220, 0x2e3b6: 0x6d7fb420, 0x2e3b7: 0x6d7fb620,\n\t0x2e3b8: 0x6d7fb820, 0x2e3b9: 0x6d7fba20, 0x2e3ba: 0x6d7fbc20, 0x2e3bb: 0x6d7fbe20,\n\t0x2e3bc: 0x6d7fc020, 0x2e3bd: 0x6da5dc20, 0x2e3be: 0x6da5de20, 0x2e3bf: 0x6da5e020,\n\t// Block 0xb8f, offset 0x2e3c0\n\t0x2e3c0: 0x6da5e220, 0x2e3c1: 0x6da5e420, 0x2e3c2: 0x6da5e620, 0x2e3c3: 0x6da5e820,\n\t0x2e3c4: 0x6da5ea20, 0x2e3c5: 0x6da5ec20, 0x2e3c6: 0x6da5ee20, 0x2e3c7: 0x6da5f020,\n\t0x2e3c8: 0x6da5f220, 0x2e3c9: 0x6da5f420, 0x2e3ca: 0x6da5f620, 0x2e3cb: 0x6da5f820,\n\t0x2e3cc: 0x6da5fa20, 0x2e3cd: 0x6da5fc20, 0x2e3ce: 0x6da5fe20, 0x2e3cf: 0x6da60020,\n\t0x2e3d0: 0x6da60220, 0x2e3d1: 0x6da60420, 0x2e3d2: 0x6da60620, 0x2e3d3: 0x6da60820,\n\t0x2e3d4: 0x6da60a20, 0x2e3d5: 0x6da60c20, 0x2e3d6: 0x6da60e20, 0x2e3d7: 0x6da61020,\n\t0x2e3d8: 0x6da61220, 0x2e3d9: 0x6da61420, 0x2e3da: 0x6da61620, 0x2e3db: 0x6da61820,\n\t0x2e3dc: 0x6da61a20, 0x2e3dd: 0x6da61c20, 0x2e3de: 0x6da61e20, 0x2e3df: 0x6da62020,\n\t0x2e3e0: 0x6da62220, 0x2e3e1: 0x6da62420, 0x2e3e2: 0x6da62620, 0x2e3e3: 0x6da62820,\n\t0x2e3e4: 0x6da62a20, 0x2e3e5: 0x6da62c20, 0x2e3e6: 0x6da62e20, 0x2e3e7: 0x6da63020,\n\t0x2e3e8: 0x6da63220, 0x2e3e9: 0x6da63420, 0x2e3ea: 0x6da63620, 0x2e3eb: 0x6dc76220,\n\t0x2e3ec: 0x6dc76420, 0x2e3ed: 0x6dc76620, 0x2e3ee: 0x6dc76820, 0x2e3ef: 0x6dc76a20,\n\t0x2e3f0: 0x6dc76c20, 0x2e3f1: 0x6dc76e20, 0x2e3f2: 0x6dc77020, 0x2e3f3: 0x6dc77220,\n\t0x2e3f4: 0x6dc77420, 0x2e3f5: 0x6dc77620, 0x2e3f6: 0x6dc77820, 0x2e3f7: 0x6dc77a20,\n\t0x2e3f8: 0x6dc77c20, 0x2e3f9: 0x6dc77e20, 0x2e3fa: 0x6dc78020, 0x2e3fb: 0x6dc78220,\n\t0x2e3fc: 0x6dc78420, 0x2e3fd: 0x6dc78620, 0x2e3fe: 0x6dc78820, 0x2e3ff: 0x6dc78a20,\n\t// Block 0xb90, offset 0x2e400\n\t0x2e400: 0x6dc78c20, 0x2e401: 0x6dc78e20, 0x2e402: 0x6dc79020, 0x2e403: 0x6dc79220,\n\t0x2e404: 0x6dc79420, 0x2e405: 0x6dc79620, 0x2e406: 0x6dc79820, 0x2e407: 0x6dc79a20,\n\t0x2e408: 0x6dc79c20, 0x2e409: 0x6dc79e20, 0x2e40a: 0x6dc7a020, 0x2e40b: 0x6de3ca20,\n\t0x2e40c: 0x6de3cc20, 0x2e40d: 0x6de3ce20, 0x2e40e: 0x6de3d020, 0x2e40f: 0x6de3d220,\n\t0x2e410: 0x6de3d420, 0x2e411: 0x6de3d620, 0x2e412: 0x6de3d820, 0x2e413: 0x6de3da20,\n\t0x2e414: 0x6de3dc20, 0x2e415: 0x6de3de20, 0x2e416: 0x6de3e020, 0x2e417: 0x6de3e220,\n\t0x2e418: 0x6de3e420, 0x2e419: 0x6de3e620, 0x2e41a: 0x6de3e820, 0x2e41b: 0x6da6f220,\n\t0x2e41c: 0x6de3ea20, 0x2e41d: 0x6de3ec20, 0x2e41e: 0x6de3ee20, 0x2e41f: 0x6de3f020,\n\t0x2e420: 0x6de3f220, 0x2e421: 0x6dc84c20, 0x2e422: 0x6de3f420, 0x2e423: 0x6de3f620,\n\t0x2e424: 0x6de3f820, 0x2e425: 0x6de3fa20, 0x2e426: 0x6de3fc20, 0x2e427: 0x6de47820,\n\t0x2e428: 0x6dfb2020, 0x2e429: 0x6dfb2220, 0x2e42a: 0x6dfb2420, 0x2e42b: 0x6de3fe20,\n\t0x2e42c: 0x6dfb2620, 0x2e42d: 0x6dc84e20, 0x2e42e: 0x6dfb2820, 0x2e42f: 0x6dfb2a20,\n\t0x2e430: 0x6dfb2c20, 0x2e431: 0x6dfb2e20, 0x2e432: 0x6dfb3020, 0x2e433: 0x6dfb3220,\n\t0x2e434: 0x6dfb3420, 0x2e435: 0x6dfb3620, 0x2e436: 0x6dfb3820, 0x2e437: 0x6e1db620,\n\t0x2e438: 0x6e0e6220, 0x2e439: 0x6dfb9820, 0x2e43a: 0x6e0e6420, 0x2e43b: 0x6e0e6620,\n\t0x2e43c: 0x6e0e6820, 0x2e43d: 0x6e0e6a20, 0x2e43e: 0x6e0e6c20, 0x2e43f: 0x6e0e6e20,\n\t// Block 0xb91, offset 0x2e440\n\t0x2e440: 0x6e0e7020, 0x2e441: 0x6e0e7220, 0x2e442: 0x6e0e7420, 0x2e443: 0x6e0e7620,\n\t0x2e444: 0x6e0e7820, 0x2e445: 0x6e0e7a20, 0x2e446: 0x6e1db820, 0x2e447: 0x6e1dba20,\n\t0x2e448: 0x6e1dbc20, 0x2e449: 0x6e1dbe20, 0x2e44a: 0x6e1dc020, 0x2e44b: 0x6e1dc220,\n\t0x2e44c: 0x6e0e7c20, 0x2e44d: 0x6e1dc420, 0x2e44e: 0x6e1dc620, 0x2e44f: 0x6e294220,\n\t0x2e450: 0x6e294420, 0x2e451: 0x6e294620, 0x2e452: 0x6e294820, 0x2e453: 0x6e325e20,\n\t0x2e454: 0x6e326020, 0x2e455: 0x6e326220, 0x2e456: 0x6e38b020, 0x2e457: 0x6e38b220,\n\t0x2e458: 0x6e38b420, 0x2e459: 0x6e38b620, 0x2e45a: 0x6e38b820, 0x2e45b: 0x6e38ba20,\n\t0x2e45c: 0x6e3d3020, 0x2e45d: 0x6e38d420, 0x2e45e: 0x6e42a620, 0x2e45f: 0x6e42a820,\n\t0x2e460: 0x6c04a620, 0x2e461: 0x6c12b420, 0x2e462: 0x6c12b620, 0x2e463: 0x6c376e20,\n\t0x2e464: 0x6c223c20, 0x2e465: 0x6c377020, 0x2e466: 0x6c377220, 0x2e467: 0x6c377420,\n\t0x2e468: 0x6c52ce20, 0x2e469: 0x6c52d020, 0x2e46a: 0x6c52d220, 0x2e46b: 0x6c755220,\n\t0x2e46c: 0x6c755420, 0x2e46d: 0x6c755620, 0x2e46e: 0x6c755820, 0x2e46f: 0x6c755a20,\n\t0x2e470: 0x6c755c20, 0x2e471: 0x6c755e20, 0x2e472: 0x6c9dae20, 0x2e473: 0x6c9db020,\n\t0x2e474: 0x6c758620, 0x2e475: 0x6c9db220, 0x2e476: 0x6c9db420, 0x2e477: 0x6c9db620,\n\t0x2e478: 0x6c9db820, 0x2e479: 0x6cca9820, 0x2e47a: 0x6cca9a20, 0x2e47b: 0x6cca9c20,\n\t0x2e47c: 0x6cca9e20, 0x2e47d: 0x6ccaa020, 0x2e47e: 0x6ccaa220, 0x2e47f: 0x6ccaa420,\n\t// Block 0xb92, offset 0x2e480\n\t0x2e480: 0x6cf8c820, 0x2e481: 0x6cf8ca20, 0x2e482: 0x6cf8cc20, 0x2e483: 0x6cf8ce20,\n\t0x2e484: 0x6cf8d020, 0x2e485: 0x6cf8d220, 0x2e486: 0x6cf8d420, 0x2e487: 0x6cf8d620,\n\t0x2e488: 0x6cf8d820, 0x2e489: 0x6d280820, 0x2e48a: 0x6d280a20, 0x2e48b: 0x6d280c20,\n\t0x2e48c: 0x6d280e20, 0x2e48d: 0x6d281020, 0x2e48e: 0x6d555620, 0x2e48f: 0x6d555820,\n\t0x2e490: 0x6d555a20, 0x2e491: 0x6d555c20, 0x2e492: 0x6d555e20, 0x2e493: 0x6d556020,\n\t0x2e494: 0x6d80d420, 0x2e495: 0x6d80d620, 0x2e496: 0x6d80d820, 0x2e497: 0x6d80da20,\n\t0x2e498: 0x6d80dc20, 0x2e499: 0x6d80de20, 0x2e49a: 0x6d80e020, 0x2e49b: 0x6da6fc20,\n\t0x2e49c: 0x6da6fe20, 0x2e49d: 0x6da70020, 0x2e49e: 0x6dc85020, 0x2e49f: 0x6dc85220,\n\t0x2e4a0: 0x6de47c20, 0x2e4a1: 0x6e1e0e20, 0x2e4a2: 0x6c04a820, 0x2e4a3: 0x6c097620,\n\t0x2e4a4: 0x6c12bc20, 0x2e4a5: 0x6c225220, 0x2e4a6: 0x6c379420, 0x2e4a7: 0x6c379620,\n\t0x2e4a8: 0x6c379820, 0x2e4a9: 0x6c379a20, 0x2e4aa: 0x6c52fe20, 0x2e4ab: 0x6c530020,\n\t0x2e4ac: 0x6c758820, 0x2e4ad: 0x6c758a20, 0x2e4ae: 0x6ccad620, 0x2e4af: 0x6ccad820,\n\t0x2e4b0: 0x6d284020, 0x2e4b1: 0x6cf90620, 0x2e4b2: 0x6cf90820, 0x2e4b3: 0x6cf90a20,\n\t0x2e4b4: 0x6d284420, 0x2e4b5: 0x6d558420, 0x2e4b6: 0x6d558620, 0x2e4b7: 0x6d80f220,\n\t0x2e4b8: 0x6dc85e20, 0x2e4b9: 0x6c04ae20, 0x2e4ba: 0x6c097c20, 0x2e4bb: 0x6c12c420,\n\t0x2e4bc: 0x6c225e20, 0x2e4bd: 0x6c37d220, 0x2e4be: 0x6c37d420, 0x2e4bf: 0x6c37d620,\n\t// Block 0xb93, offset 0x2e4c0\n\t0x2e4c0: 0x6c37d820, 0x2e4c1: 0x6c37da20, 0x2e4c2: 0x6c530e20, 0x2e4c3: 0x6c531020,\n\t0x2e4c4: 0x6c531220, 0x2e4c5: 0x6c531420, 0x2e4c6: 0x6c531620, 0x2e4c7: 0x6c531820,\n\t0x2e4c8: 0x6c75aa20, 0x2e4c9: 0x6c75ac20, 0x2e4ca: 0x6c75ae20, 0x2e4cb: 0x6c75b020,\n\t0x2e4cc: 0x6c9dec20, 0x2e4cd: 0x6c9dee20, 0x2e4ce: 0x6c9df020, 0x2e4cf: 0x6c9df220,\n\t0x2e4d0: 0x6c9df420, 0x2e4d1: 0x6c9df620, 0x2e4d2: 0x6c9df820, 0x2e4d3: 0x6c9dfa20,\n\t0x2e4d4: 0x6ccb0420, 0x2e4d5: 0x6ccb0620, 0x2e4d6: 0x6ccb0820, 0x2e4d7: 0x6ccb0a20,\n\t0x2e4d8: 0x6ccb0c20, 0x2e4d9: 0x6ccb0e20, 0x2e4da: 0x6ccb1020, 0x2e4db: 0x6cf92c20,\n\t0x2e4dc: 0x6cf92e20, 0x2e4dd: 0x6d285820, 0x2e4de: 0x6d285a20, 0x2e4df: 0x6d285c20,\n\t0x2e4e0: 0x6d285e20, 0x2e4e1: 0x6d286020, 0x2e4e2: 0x6d559e20, 0x2e4e3: 0x6d55a020,\n\t0x2e4e4: 0x6d55a220, 0x2e4e5: 0x6d55a420, 0x2e4e6: 0x6d55a620, 0x2e4e7: 0x6d810820,\n\t0x2e4e8: 0x6d810a20, 0x2e4e9: 0x6d810c20, 0x2e4ea: 0x6d810e20, 0x2e4eb: 0x6d811020,\n\t0x2e4ec: 0x6da72020, 0x2e4ed: 0x6da72220, 0x2e4ee: 0x6da72420, 0x2e4ef: 0x6dc86c20,\n\t0x2e4f0: 0x6de48a20, 0x2e4f1: 0x6de48c20, 0x2e4f2: 0x6e0ee220, 0x2e4f3: 0x6c04b420,\n\t0x2e4f4: 0x6c380620, 0x2e4f5: 0x6c534820, 0x2e4f6: 0x6c534a20, 0x2e4f7: 0x6c75e020,\n\t0x2e4f8: 0x6c9e2220, 0x2e4f9: 0x6c9e2420, 0x2e4fa: 0x6c9e2620, 0x2e4fb: 0x6c9e2820,\n\t0x2e4fc: 0x6ccb5020, 0x2e4fd: 0x6ccb5220, 0x2e4fe: 0x6ccb6820, 0x2e4ff: 0x6cf95820,\n\t// Block 0xb94, offset 0x2e500\n\t0x2e500: 0x6cf95a20, 0x2e501: 0x6cf95c20, 0x2e502: 0x6cf95e20, 0x2e503: 0x6d287820,\n\t0x2e504: 0x6d287a20, 0x2e505: 0x6d55ca20, 0x2e506: 0x6d55cc20, 0x2e507: 0x6d812e20,\n\t0x2e508: 0x6d813020, 0x2e509: 0x6dc89020, 0x2e50a: 0x6e298620, 0x2e50b: 0x6c04b620,\n\t0x2e50c: 0x6c04b820, 0x2e50d: 0x6c098020, 0x2e50e: 0x6c12d420, 0x2e50f: 0x6c227620,\n\t0x2e510: 0x6c227820, 0x2e511: 0x6c380e20, 0x2e512: 0x6c535220, 0x2e513: 0x6cf97c20,\n\t0x2e514: 0x6c04bc20, 0x2e515: 0x6c12d820, 0x2e516: 0x6c535820, 0x2e517: 0x6c535a20,\n\t0x2e518: 0x6c535c20, 0x2e519: 0x6c75ee20, 0x2e51a: 0x6da74620, 0x2e51b: 0x6c04be20,\n\t0x2e51c: 0x6c228220, 0x2e51d: 0x6c228420, 0x2e51e: 0x6c382a20, 0x2e51f: 0x6c382c20,\n\t0x2e520: 0x6c536020, 0x2e521: 0x6c536220, 0x2e522: 0x6c75f820, 0x2e523: 0x6c75fa20,\n\t0x2e524: 0x6c75fc20, 0x2e525: 0x6c75fe20, 0x2e526: 0x6c760020, 0x2e527: 0x6c760220,\n\t0x2e528: 0x6c760420, 0x2e529: 0x6c760620, 0x2e52a: 0x6c760820, 0x2e52b: 0x6c9e6220,\n\t0x2e52c: 0x6c9e6420, 0x2e52d: 0x6c9e6620, 0x2e52e: 0x6c9e6820, 0x2e52f: 0x6ccb7220,\n\t0x2e530: 0x6ccb7420, 0x2e531: 0x6ccb7620, 0x2e532: 0x6ccb7820, 0x2e533: 0x6ccb7a20,\n\t0x2e534: 0x6ccb7c20, 0x2e535: 0x6ccb7e20, 0x2e536: 0x6ccb8020, 0x2e537: 0x6cf98c20,\n\t0x2e538: 0x6cf98e20, 0x2e539: 0x6cf99020, 0x2e53a: 0x6cf99220, 0x2e53b: 0x6cf99420,\n\t0x2e53c: 0x6cf99620, 0x2e53d: 0x6cf99820, 0x2e53e: 0x6d28aa20, 0x2e53f: 0x6d55de20,\n\t// Block 0xb95, offset 0x2e540\n\t0x2e540: 0x6d55e020, 0x2e541: 0x6d55e220, 0x2e542: 0x6d55e420, 0x2e543: 0x6d816620,\n\t0x2e544: 0x6d816820, 0x2e545: 0x6d816a20, 0x2e546: 0x6d816c20, 0x2e547: 0x6d816e20,\n\t0x2e548: 0x6da74a20, 0x2e549: 0x6da74c20, 0x2e54a: 0x6da74e20, 0x2e54b: 0x6dc89620,\n\t0x2e54c: 0x6de4a420, 0x2e54d: 0x6e1e2420, 0x2e54e: 0x6e3d4a20, 0x2e54f: 0x6c04c220,\n\t0x2e550: 0x6c098420, 0x2e551: 0x6c098620, 0x2e552: 0x6c12e620, 0x2e553: 0x6c385020,\n\t0x2e554: 0x6c04c420, 0x2e555: 0x6c098a20, 0x2e556: 0x6c12ea20, 0x2e557: 0x6c12ec20,\n\t0x2e558: 0x6c12ee20, 0x2e559: 0x6c229620, 0x2e55a: 0x6c229820, 0x2e55b: 0x6c385820,\n\t0x2e55c: 0x6c385a20, 0x2e55d: 0x6c385c20, 0x2e55e: 0x6c53b820, 0x2e55f: 0x6c53ba20,\n\t0x2e560: 0x6c53bc20, 0x2e561: 0x6c53be20, 0x2e562: 0x6c53c020, 0x2e563: 0x6c763a20,\n\t0x2e564: 0x6c763c20, 0x2e565: 0x6c763e20, 0x2e566: 0x6c764020, 0x2e567: 0x6c764220,\n\t0x2e568: 0x6c764420, 0x2e569: 0x6c764620, 0x2e56a: 0x6c9ea220, 0x2e56b: 0x6c9ea420,\n\t0x2e56c: 0x6ccbc620, 0x2e56d: 0x6ccbc820, 0x2e56e: 0x6ccbca20, 0x2e56f: 0x6ccbcc20,\n\t0x2e570: 0x6ccbce20, 0x2e571: 0x6cf9d820, 0x2e572: 0x6d28ec20, 0x2e573: 0x6d28ee20,\n\t0x2e574: 0x6c04c620, 0x2e575: 0x6c01fa20, 0x2e576: 0x6c098e20, 0x2e577: 0x6c099020,\n\t0x2e578: 0x6c099220, 0x2e579: 0x6c099420, 0x2e57a: 0x6c098c20, 0x2e57b: 0x6c099c20,\n\t0x2e57c: 0x6c12f620, 0x2e57d: 0x6c0c5c20, 0x2e57e: 0x6c099e20, 0x2e57f: 0x6c09a020,\n\t// Block 0xb96, offset 0x2e580\n\t0x2e580: 0x6c09a220, 0x2e581: 0x6c09a420, 0x2e582: 0x6c229e20, 0x2e583: 0x6c09a620,\n\t0x2e584: 0x6c09a820, 0x2e585: 0x6c09aa20, 0x2e586: 0x6c12f820, 0x2e587: 0x6c09ac20,\n\t0x2e588: 0x6c09ae20, 0x2e589: 0x6c09b020, 0x2e58a: 0x6c12fe20, 0x2e58b: 0x6c130020,\n\t0x2e58c: 0x6c130220, 0x2e58d: 0x6c130420, 0x2e58e: 0x6c130620, 0x2e58f: 0x6c130820,\n\t0x2e590: 0x6c130a20, 0x2e591: 0x6c130c20, 0x2e592: 0x6c130e20, 0x2e593: 0x6c131020,\n\t0x2e594: 0x6c131220, 0x2e595: 0x6c131420, 0x2e596: 0x6c22a220, 0x2e597: 0x6c131620,\n\t0x2e598: 0x6c131820, 0x2e599: 0x6c131a20, 0x2e59a: 0x6c131c20, 0x2e59b: 0x6c131e20,\n\t0x2e59c: 0x6c132020, 0x2e59d: 0x6c132220, 0x2e59e: 0x6c22a420, 0x2e59f: 0x6c132420,\n\t0x2e5a0: 0x6c132620, 0x2e5a1: 0x6c132820, 0x2e5a2: 0x6c132a20, 0x2e5a3: 0x6c132c20,\n\t0x2e5a4: 0x6c132e20, 0x2e5a5: 0x6c22bc20, 0x2e5a6: 0x6c22be20, 0x2e5a7: 0x6c22c020,\n\t0x2e5a8: 0x6c22c220, 0x2e5a9: 0x6c22c420, 0x2e5aa: 0x6c22c620, 0x2e5ab: 0x6c22c820,\n\t0x2e5ac: 0x6c386620, 0x2e5ad: 0x6c22ca20, 0x2e5ae: 0x6c22cc20, 0x2e5af: 0x6c22ce20,\n\t0x2e5b0: 0x6c22d020, 0x2e5b1: 0x6c22d220, 0x2e5b2: 0x6c22d420, 0x2e5b3: 0x6c22d620,\n\t0x2e5b4: 0x6c22d820, 0x2e5b5: 0x6c22da20, 0x2e5b6: 0x6c22dc20, 0x2e5b7: 0x6c135420,\n\t0x2e5b8: 0x6c22de20, 0x2e5b9: 0x6c22e020, 0x2e5ba: 0x6c22e220, 0x2e5bb: 0x6c22e420,\n\t0x2e5bc: 0x6c22e620, 0x2e5bd: 0x6c22e820, 0x2e5be: 0x6c22ea20, 0x2e5bf: 0x6c22ec20,\n\t// Block 0xb97, offset 0x2e5c0\n\t0x2e5c0: 0x6c386820, 0x2e5c1: 0x6c22ee20, 0x2e5c2: 0x6c22f020, 0x2e5c3: 0x6c22f220,\n\t0x2e5c4: 0x6c22f420, 0x2e5c5: 0x6c22f620, 0x2e5c6: 0x6c22f820, 0x2e5c7: 0x6c22fa20,\n\t0x2e5c8: 0x6c22fc20, 0x2e5c9: 0x6c22fe20, 0x2e5ca: 0x6c386a20, 0x2e5cb: 0x6c230020,\n\t0x2e5cc: 0x6c230220, 0x2e5cd: 0x6c230420, 0x2e5ce: 0x6c230620, 0x2e5cf: 0x6c230820,\n\t0x2e5d0: 0x6c230a20, 0x2e5d1: 0x6c230c20, 0x2e5d2: 0x6c230e20, 0x2e5d3: 0x6c386c20,\n\t0x2e5d4: 0x6c231020, 0x2e5d5: 0x6c231220, 0x2e5d6: 0x6c231420, 0x2e5d7: 0x6c53ce20,\n\t0x2e5d8: 0x6c231620, 0x2e5d9: 0x6c231820, 0x2e5da: 0x6c231a20, 0x2e5db: 0x6c231c20,\n\t0x2e5dc: 0x6c231e20, 0x2e5dd: 0x6c386e20, 0x2e5de: 0x6c232020, 0x2e5df: 0x6c232220,\n\t0x2e5e0: 0x6c232420, 0x2e5e1: 0x6c232620, 0x2e5e2: 0x6c232820, 0x2e5e3: 0x6c232a20,\n\t0x2e5e4: 0x6c232c20, 0x2e5e5: 0x6c232e20, 0x2e5e6: 0x6c233020, 0x2e5e7: 0x6c233220,\n\t0x2e5e8: 0x6c233420, 0x2e5e9: 0x6c233620, 0x2e5ea: 0x6c233820, 0x2e5eb: 0x6c388620,\n\t0x2e5ec: 0x6c388820, 0x2e5ed: 0x6c388a20, 0x2e5ee: 0x6c388c20, 0x2e5ef: 0x6c53d020,\n\t0x2e5f0: 0x6c388e20, 0x2e5f1: 0x6c389020, 0x2e5f2: 0x6c389220, 0x2e5f3: 0x6c389420,\n\t0x2e5f4: 0x6c389620, 0x2e5f5: 0x6c389820, 0x2e5f6: 0x6c389a20, 0x2e5f7: 0x6c389c20,\n\t0x2e5f8: 0x6c389e20, 0x2e5f9: 0x6c38a020, 0x2e5fa: 0x6c38a220, 0x2e5fb: 0x6c38a420,\n\t0x2e5fc: 0x6c38a620, 0x2e5fd: 0x6c38a820, 0x2e5fe: 0x6c38aa20, 0x2e5ff: 0x6c38ac20,\n\t// Block 0xb98, offset 0x2e600\n\t0x2e600: 0x6c38ae20, 0x2e601: 0x6c38b020, 0x2e602: 0x6c38b220, 0x2e603: 0x6c38b420,\n\t0x2e604: 0x6c38b620, 0x2e605: 0x6c38b820, 0x2e606: 0x6c38ba20, 0x2e607: 0x6c38bc20,\n\t0x2e608: 0x6c38be20, 0x2e609: 0x6c53d220, 0x2e60a: 0x6c38c020, 0x2e60b: 0x6c38c220,\n\t0x2e60c: 0x6c38c420, 0x2e60d: 0x6c38c620, 0x2e60e: 0x6c38c820, 0x2e60f: 0x6c38ca20,\n\t0x2e610: 0x6c38cc20, 0x2e611: 0x6c38ce20, 0x2e612: 0x6c38d020, 0x2e613: 0x6c38d220,\n\t0x2e614: 0x6c38d420, 0x2e615: 0x6c38d620, 0x2e616: 0x6c38d820, 0x2e617: 0x6c38da20,\n\t0x2e618: 0x6c38dc20, 0x2e619: 0x6c38de20, 0x2e61a: 0x6c53f220, 0x2e61b: 0x6c38e020,\n\t0x2e61c: 0x6c38e220, 0x2e61d: 0x6c38e420, 0x2e61e: 0x6c38e620, 0x2e61f: 0x6c38e820,\n\t0x2e620: 0x6c38ea20, 0x2e621: 0x6c38ec20, 0x2e622: 0x6c38ee20, 0x2e623: 0x6c38f020,\n\t0x2e624: 0x6c38f220, 0x2e625: 0x6c38f420, 0x2e626: 0x6c38f620, 0x2e627: 0x6c38f820,\n\t0x2e628: 0x6c38fa20, 0x2e629: 0x6c38fc20, 0x2e62a: 0x6c38fe20, 0x2e62b: 0x6c390020,\n\t0x2e62c: 0x6c390220, 0x2e62d: 0x6c390420, 0x2e62e: 0x6c390620, 0x2e62f: 0x6c390820,\n\t0x2e630: 0x6c764a20, 0x2e631: 0x6c390a20, 0x2e632: 0x6c390c20, 0x2e633: 0x6c390e20,\n\t0x2e634: 0x6c53d420, 0x2e635: 0x6c5a4620, 0x2e636: 0x6c53d620, 0x2e637: 0x6c391020,\n\t0x2e638: 0x6c391220, 0x2e639: 0x6c391420, 0x2e63a: 0x6c391620, 0x2e63b: 0x6c391820,\n\t0x2e63c: 0x6c391a20, 0x2e63d: 0x6c391c20, 0x2e63e: 0x6c391e20, 0x2e63f: 0x6c53f420,\n\t// Block 0xb99, offset 0x2e640\n\t0x2e640: 0x6c53f620, 0x2e641: 0x6c53f820, 0x2e642: 0x6c53fa20, 0x2e643: 0x6c53fc20,\n\t0x2e644: 0x6c53fe20, 0x2e645: 0x6c540020, 0x2e646: 0x6c540220, 0x2e647: 0x6c540420,\n\t0x2e648: 0x6c540620, 0x2e649: 0x6c540820, 0x2e64a: 0x6c540a20, 0x2e64b: 0x6c540c20,\n\t0x2e64c: 0x6c540e20, 0x2e64d: 0x6c767020, 0x2e64e: 0x6c541020, 0x2e64f: 0x6c541220,\n\t0x2e650: 0x6c541420, 0x2e651: 0x6c541620, 0x2e652: 0x6c541820, 0x2e653: 0x6c541a20,\n\t0x2e654: 0x6c541c20, 0x2e655: 0x6c541e20, 0x2e656: 0x6c767220, 0x2e657: 0x6c542020,\n\t0x2e658: 0x6c542220, 0x2e659: 0x6c542420, 0x2e65a: 0x6c542620, 0x2e65b: 0x6c542820,\n\t0x2e65c: 0x6c764c20, 0x2e65d: 0x6c542a20, 0x2e65e: 0x6c542c20, 0x2e65f: 0x6c542e20,\n\t0x2e660: 0x6c543020, 0x2e661: 0x6c543220, 0x2e662: 0x6c543420, 0x2e663: 0x6c543620,\n\t0x2e664: 0x6c543820, 0x2e665: 0x6c543a20, 0x2e666: 0x6c543c20, 0x2e667: 0x6c543e20,\n\t0x2e668: 0x6c544020, 0x2e669: 0x6c544220, 0x2e66a: 0x6c544420, 0x2e66b: 0x6c544620,\n\t0x2e66c: 0x6c544820, 0x2e66d: 0x6c544a20, 0x2e66e: 0x6c544c20, 0x2e66f: 0x6c764e20,\n\t0x2e670: 0x6c399020, 0x2e671: 0x6c544e20, 0x2e672: 0x6c545020, 0x2e673: 0x6c545220,\n\t0x2e674: 0x6c545420, 0x2e675: 0x6c545620, 0x2e676: 0x6c545820, 0x2e677: 0x6c545a20,\n\t0x2e678: 0x6c545c20, 0x2e679: 0x6c545e20, 0x2e67a: 0x6c546020, 0x2e67b: 0x6c546220,\n\t0x2e67c: 0x6c546420, 0x2e67d: 0x6c546620, 0x2e67e: 0x6c546820, 0x2e67f: 0x6c546a20,\n\t// Block 0xb9a, offset 0x2e680\n\t0x2e680: 0x6c546c20, 0x2e681: 0x6c546e20, 0x2e682: 0x6c547020, 0x2e683: 0x6c547220,\n\t0x2e684: 0x6c547420, 0x2e685: 0x6c547620, 0x2e686: 0x6c765020, 0x2e687: 0x6c547820,\n\t0x2e688: 0x6c547a20, 0x2e689: 0x6c547c20, 0x2e68a: 0x6c547e20, 0x2e68b: 0x6c548020,\n\t0x2e68c: 0x6c548220, 0x2e68d: 0x6c548420, 0x2e68e: 0x6c548620, 0x2e68f: 0x6c548820,\n\t0x2e690: 0x6c548a20, 0x2e691: 0x6c548c20, 0x2e692: 0x6c548e20, 0x2e693: 0x6c549020,\n\t0x2e694: 0x6c549220, 0x2e695: 0x6c549420, 0x2e696: 0x6c767420, 0x2e697: 0x6c767620,\n\t0x2e698: 0x6c767820, 0x2e699: 0x6c767a20, 0x2e69a: 0x6c767c20, 0x2e69b: 0x6c767e20,\n\t0x2e69c: 0x6c768020, 0x2e69d: 0x6c768220, 0x2e69e: 0x6c768420, 0x2e69f: 0x6c768620,\n\t0x2e6a0: 0x6c768820, 0x2e6a1: 0x6c768a20, 0x2e6a2: 0x6c768c20, 0x2e6a3: 0x6c768e20,\n\t0x2e6a4: 0x6c769020, 0x2e6a5: 0x6c769220, 0x2e6a6: 0x6c769420, 0x2e6a7: 0x6c769620,\n\t0x2e6a8: 0x6c769820, 0x2e6a9: 0x6c769a20, 0x2e6aa: 0x6c769c20, 0x2e6ab: 0x6c769e20,\n\t0x2e6ac: 0x6c76a020, 0x2e6ad: 0x6c76a220, 0x2e6ae: 0x6c76a420, 0x2e6af: 0x6c76a620,\n\t0x2e6b0: 0x6c76a820, 0x2e6b1: 0x6c76aa20, 0x2e6b2: 0x6c76ac20, 0x2e6b3: 0x6c76ae20,\n\t0x2e6b4: 0x6c76b020, 0x2e6b5: 0x6c76b220, 0x2e6b6: 0x6c76b420, 0x2e6b7: 0x6c76b620,\n\t0x2e6b8: 0x6c76b820, 0x2e6b9: 0x6c76ba20, 0x2e6ba: 0x6c76bc20, 0x2e6bb: 0x6c76be20,\n\t0x2e6bc: 0x6c76c020, 0x2e6bd: 0x6c76c220, 0x2e6be: 0x6c76c420, 0x2e6bf: 0x6c76c620,\n\t// Block 0xb9b, offset 0x2e6c0\n\t0x2e6c0: 0x6c76c820, 0x2e6c1: 0x6c76ca20, 0x2e6c2: 0x6c76cc20, 0x2e6c3: 0x6c76ce20,\n\t0x2e6c4: 0x6c76d020, 0x2e6c5: 0x6c76d220, 0x2e6c6: 0x6c76d420, 0x2e6c7: 0x6c76d620,\n\t0x2e6c8: 0x6c76d820, 0x2e6c9: 0x6c76da20, 0x2e6ca: 0x6c76dc20, 0x2e6cb: 0x6c76de20,\n\t0x2e6cc: 0x6c76e020, 0x2e6cd: 0x6c76e220, 0x2e6ce: 0x6c9eae20, 0x2e6cf: 0x6c76e420,\n\t0x2e6d0: 0x6c76e620, 0x2e6d1: 0x6c76e820, 0x2e6d2: 0x6c76ea20, 0x2e6d3: 0x6c76ec20,\n\t0x2e6d4: 0x6c76ee20, 0x2e6d5: 0x6c76f020, 0x2e6d6: 0x6c76f220, 0x2e6d7: 0x6c76f420,\n\t0x2e6d8: 0x6c76f620, 0x2e6d9: 0x6c9ee020, 0x2e6da: 0x6c76f820, 0x2e6db: 0x6c76fa20,\n\t0x2e6dc: 0x6c76fc20, 0x2e6dd: 0x6c76fe20, 0x2e6de: 0x6c770020, 0x2e6df: 0x6c770220,\n\t0x2e6e0: 0x6c770420, 0x2e6e1: 0x6c770620, 0x2e6e2: 0x6c770820, 0x2e6e3: 0x6c770a20,\n\t0x2e6e4: 0x6c770c20, 0x2e6e5: 0x6c770e20, 0x2e6e6: 0x6c771020, 0x2e6e7: 0x6c771220,\n\t0x2e6e8: 0x6c771420, 0x2e6e9: 0x6c771620, 0x2e6ea: 0x6c9ee220, 0x2e6eb: 0x6c9ee420,\n\t0x2e6ec: 0x6c9ee620, 0x2e6ed: 0x6c9ee820, 0x2e6ee: 0x6c9eea20, 0x2e6ef: 0x6c9eec20,\n\t0x2e6f0: 0x6c9eee20, 0x2e6f1: 0x6c9ef020, 0x2e6f2: 0x6c9ef220, 0x2e6f3: 0x6c9ef420,\n\t0x2e6f4: 0x6c9ef620, 0x2e6f5: 0x6c9ef820, 0x2e6f6: 0x6c9efa20, 0x2e6f7: 0x6c9efc20,\n\t0x2e6f8: 0x6c9efe20, 0x2e6f9: 0x6c9f0020, 0x2e6fa: 0x6c9f0220, 0x2e6fb: 0x6c9f0420,\n\t0x2e6fc: 0x6c9f0620, 0x2e6fd: 0x6c9f0820, 0x2e6fe: 0x6c9f0a20, 0x2e6ff: 0x6c9f0c20,\n\t// Block 0xb9c, offset 0x2e700\n\t0x2e700: 0x6c9f0e20, 0x2e701: 0x6c9f1020, 0x2e702: 0x6c9f1220, 0x2e703: 0x6c9f1420,\n\t0x2e704: 0x6c9f1620, 0x2e705: 0x6c9f1820, 0x2e706: 0x6c9f1a20, 0x2e707: 0x6c9f1c20,\n\t0x2e708: 0x6c9f1e20, 0x2e709: 0x6c9f2020, 0x2e70a: 0x6c9f2220, 0x2e70b: 0x6c9f2420,\n\t0x2e70c: 0x6c9f2620, 0x2e70d: 0x6c9f2820, 0x2e70e: 0x6c9f2a20, 0x2e70f: 0x6c9f2c20,\n\t0x2e710: 0x6c9f2e20, 0x2e711: 0x6c9f3020, 0x2e712: 0x6c9f3220, 0x2e713: 0x6c9f3420,\n\t0x2e714: 0x6c9f3620, 0x2e715: 0x6c9f3820, 0x2e716: 0x6c9f3a20, 0x2e717: 0x6c9f3c20,\n\t0x2e718: 0x6c9f3e20, 0x2e719: 0x6c9f4020, 0x2e71a: 0x6c9f4220, 0x2e71b: 0x6c9f4420,\n\t0x2e71c: 0x6c9f4620, 0x2e71d: 0x6c9f4820, 0x2e71e: 0x6c9f4a20, 0x2e71f: 0x6c9f4c20,\n\t0x2e720: 0x6c9f4e20, 0x2e721: 0x6c9f5020, 0x2e722: 0x6c9f5220, 0x2e723: 0x6c9f5420,\n\t0x2e724: 0x6c9f5620, 0x2e725: 0x6c9f5820, 0x2e726: 0x6c9f5a20, 0x2e727: 0x6c9f5c20,\n\t0x2e728: 0x6c9f5e20, 0x2e729: 0x6c9f6020, 0x2e72a: 0x6c9f6220, 0x2e72b: 0x6c9f6420,\n\t0x2e72c: 0x6c9f6620, 0x2e72d: 0x6c9f6820, 0x2e72e: 0x6c9f6a20, 0x2e72f: 0x6c9f6c20,\n\t0x2e730: 0x6c9f6e20, 0x2e731: 0x6c9f7020, 0x2e732: 0x6c9f7220, 0x2e733: 0x6c9f7420,\n\t0x2e734: 0x6c9f7620, 0x2e735: 0x6c9f7820, 0x2e736: 0x6c9f7a20, 0x2e737: 0x6c9f7c20,\n\t0x2e738: 0x6c9f7e20, 0x2e739: 0x6c9f8020, 0x2e73a: 0x6c9f8220, 0x2e73b: 0x6c9f8420,\n\t0x2e73c: 0x6ccbdc20, 0x2e73d: 0x6c9f8620, 0x2e73e: 0x6ccbde20, 0x2e73f: 0x6c9f8820,\n\t// Block 0xb9d, offset 0x2e740\n\t0x2e740: 0x6c9f8a20, 0x2e741: 0x6c9f8c20, 0x2e742: 0x6c9f8e20, 0x2e743: 0x6ccc0c20,\n\t0x2e744: 0x6c9f9020, 0x2e745: 0x6c9f9220, 0x2e746: 0x6c9f9420, 0x2e747: 0x6c9f9620,\n\t0x2e748: 0x6c9f9820, 0x2e749: 0x6c9f9a20, 0x2e74a: 0x6c9f9c20, 0x2e74b: 0x6c9f9e20,\n\t0x2e74c: 0x6c9fa020, 0x2e74d: 0x6c9fa220, 0x2e74e: 0x6c9fa420, 0x2e74f: 0x6c9fa620,\n\t0x2e750: 0x6c9fa820, 0x2e751: 0x6c9faa20, 0x2e752: 0x6c9fac20, 0x2e753: 0x6c9fae20,\n\t0x2e754: 0x6c9fb020, 0x2e755: 0x6c9fb220, 0x2e756: 0x6c9fb420, 0x2e757: 0x6c9fb620,\n\t0x2e758: 0x6ccc0e20, 0x2e759: 0x6ccc1020, 0x2e75a: 0x6c9fb820, 0x2e75b: 0x6ccc1220,\n\t0x2e75c: 0x6ccc1420, 0x2e75d: 0x6ccc1620, 0x2e75e: 0x6ccc1820, 0x2e75f: 0x6ccc1a20,\n\t0x2e760: 0x6ccc1c20, 0x2e761: 0x6ccc1e20, 0x2e762: 0x6ccc2020, 0x2e763: 0x6ccc2220,\n\t0x2e764: 0x6ccc2420, 0x2e765: 0x6ccc2620, 0x2e766: 0x6ccc2820, 0x2e767: 0x6ccc2a20,\n\t0x2e768: 0x6ccc2c20, 0x2e769: 0x6ccc2e20, 0x2e76a: 0x6ccc3020, 0x2e76b: 0x6ccc3220,\n\t0x2e76c: 0x6ccc3420, 0x2e76d: 0x6ccc3620, 0x2e76e: 0x6ccc3820, 0x2e76f: 0x6ccc3a20,\n\t0x2e770: 0x6ccc3c20, 0x2e771: 0x6ccc3e20, 0x2e772: 0x6ccc4020, 0x2e773: 0x6ccc4220,\n\t0x2e774: 0x6ccc4420, 0x2e775: 0x6ccc4620, 0x2e776: 0x6ccc4820, 0x2e777: 0x6ccc4a20,\n\t0x2e778: 0x6ccc4c20, 0x2e779: 0x6ccc4e20, 0x2e77a: 0x6ccc5020, 0x2e77b: 0x6ccc5220,\n\t0x2e77c: 0x6ccc5420, 0x2e77d: 0x6ccc5620, 0x2e77e: 0x6ccc5820, 0x2e77f: 0x6ccc5a20,\n\t// Block 0xb9e, offset 0x2e780\n\t0x2e780: 0x6ccc5c20, 0x2e781: 0x6ccc5e20, 0x2e782: 0x6ccc6020, 0x2e783: 0x6ccc6220,\n\t0x2e784: 0x6ccc6420, 0x2e785: 0x6ccc6620, 0x2e786: 0x6ccc6820, 0x2e787: 0x6ccc6a20,\n\t0x2e788: 0x6ccc6c20, 0x2e789: 0x6ccc6e20, 0x2e78a: 0x6ccc7020, 0x2e78b: 0x6ccc7220,\n\t0x2e78c: 0x6ccc7420, 0x2e78d: 0x6ccc7620, 0x2e78e: 0x6ccc7820, 0x2e78f: 0x6ccc7a20,\n\t0x2e790: 0x6ccc7c20, 0x2e791: 0x6ccc7e20, 0x2e792: 0x6ccc8020, 0x2e793: 0x6ccc8220,\n\t0x2e794: 0x6ccc8420, 0x2e795: 0x6ccc8620, 0x2e796: 0x6ccc8820, 0x2e797: 0x6ccc8a20,\n\t0x2e798: 0x6ccc8c20, 0x2e799: 0x6ccc8e20, 0x2e79a: 0x6ccc9020, 0x2e79b: 0x6ccc9220,\n\t0x2e79c: 0x6ccc9420, 0x2e79d: 0x6ccc9620, 0x2e79e: 0x6ccc9820, 0x2e79f: 0x6ccc9a20,\n\t0x2e7a0: 0x6ccc9c20, 0x2e7a1: 0x6ccc9e20, 0x2e7a2: 0x6ccca020, 0x2e7a3: 0x6ccca220,\n\t0x2e7a4: 0x6ccca420, 0x2e7a5: 0x6ccca620, 0x2e7a6: 0x6ccca820, 0x2e7a7: 0x6cccaa20,\n\t0x2e7a8: 0x6cccac20, 0x2e7a9: 0x6cccae20, 0x2e7aa: 0x6cccb020, 0x2e7ab: 0x6cccb220,\n\t0x2e7ac: 0x6cf9e220, 0x2e7ad: 0x6cccb420, 0x2e7ae: 0x6cccb620, 0x2e7af: 0x6cccb820,\n\t0x2e7b0: 0x6cccba20, 0x2e7b1: 0x6cccbc20, 0x2e7b2: 0x6cccbe20, 0x2e7b3: 0x6cccc020,\n\t0x2e7b4: 0x6c9fba20, 0x2e7b5: 0x6cccc220, 0x2e7b6: 0x6cccc420, 0x2e7b7: 0x6cccc620,\n\t0x2e7b8: 0x6cccc820, 0x2e7b9: 0x6cccca20, 0x2e7ba: 0x6ccccc20, 0x2e7bb: 0x6cccce20,\n\t0x2e7bc: 0x6cccd020, 0x2e7bd: 0x6cccd220, 0x2e7be: 0x6cccd420, 0x2e7bf: 0x6cccd620,\n\t// Block 0xb9f, offset 0x2e7c0\n\t0x2e7c0: 0x6cccd820, 0x2e7c1: 0x6cccda20, 0x2e7c2: 0x6cccdc20, 0x2e7c3: 0x6cccde20,\n\t0x2e7c4: 0x6ccce020, 0x2e7c5: 0x6ccce220, 0x2e7c6: 0x6ccce420, 0x2e7c7: 0x6ccce620,\n\t0x2e7c8: 0x6ccce820, 0x2e7c9: 0x6cccea20, 0x2e7ca: 0x6cccec20, 0x2e7cb: 0x6cccee20,\n\t0x2e7cc: 0x6cccf020, 0x2e7cd: 0x6cfa1220, 0x2e7ce: 0x6cfa1420, 0x2e7cf: 0x6cfa1620,\n\t0x2e7d0: 0x6cfa1820, 0x2e7d1: 0x6cfa1a20, 0x2e7d2: 0x6cfa1c20, 0x2e7d3: 0x6cfa1e20,\n\t0x2e7d4: 0x6cfa2020, 0x2e7d5: 0x6cfa2220, 0x2e7d6: 0x6cfa2420, 0x2e7d7: 0x6cfa2620,\n\t0x2e7d8: 0x6cfa2820, 0x2e7d9: 0x6cfa2a20, 0x2e7da: 0x6cfa2c20, 0x2e7db: 0x6cfa2e20,\n\t0x2e7dc: 0x6cfa3020, 0x2e7dd: 0x6cfa3220, 0x2e7de: 0x6cfa3420, 0x2e7df: 0x6cfa3620,\n\t0x2e7e0: 0x6cfa3820, 0x2e7e1: 0x6cfa3a20, 0x2e7e2: 0x6cfa3c20, 0x2e7e3: 0x6cfa3e20,\n\t0x2e7e4: 0x6cfa4020, 0x2e7e5: 0x6cfa4220, 0x2e7e6: 0x6cfa4420, 0x2e7e7: 0x6cfa4620,\n\t0x2e7e8: 0x6cfa4820, 0x2e7e9: 0x6cfa4a20, 0x2e7ea: 0x6cfa4c20, 0x2e7eb: 0x6cfa4e20,\n\t0x2e7ec: 0x6cfa5020, 0x2e7ed: 0x6cfa5220, 0x2e7ee: 0x6cfa5420, 0x2e7ef: 0x6cfa5620,\n\t0x2e7f0: 0x6cfa5820, 0x2e7f1: 0x6cfa5a20, 0x2e7f2: 0x6cfa5c20, 0x2e7f3: 0x6cfa5e20,\n\t0x2e7f4: 0x6cfa6020, 0x2e7f5: 0x6cfa6220, 0x2e7f6: 0x6cfa6420, 0x2e7f7: 0x6cfa6620,\n\t0x2e7f8: 0x6cfa6820, 0x2e7f9: 0x6cfa6a20, 0x2e7fa: 0x6cfa6c20, 0x2e7fb: 0x6cfa6e20,\n\t0x2e7fc: 0x6cfa7020, 0x2e7fd: 0x6cfa7220, 0x2e7fe: 0x6cfa7420, 0x2e7ff: 0x6cfa7620,\n\t// Block 0xba0, offset 0x2e800\n\t0x2e800: 0x6cfa7820, 0x2e801: 0x6cfa7a20, 0x2e802: 0x6cfa7c20, 0x2e803: 0x6cfa7e20,\n\t0x2e804: 0x6cfa8020, 0x2e805: 0x6cfa8220, 0x2e806: 0x6cfa8420, 0x2e807: 0x6cfa8620,\n\t0x2e808: 0x6cfa8820, 0x2e809: 0x6cfa8a20, 0x2e80a: 0x6cfa8c20, 0x2e80b: 0x6cccf220,\n\t0x2e80c: 0x6d291220, 0x2e80d: 0x6cfa8e20, 0x2e80e: 0x6d28f420, 0x2e80f: 0x6cfa9020,\n\t0x2e810: 0x6cfa9220, 0x2e811: 0x6cfa9420, 0x2e812: 0x6cfa9620, 0x2e813: 0x6cfa9820,\n\t0x2e814: 0x6cfa9a20, 0x2e815: 0x6d561820, 0x2e816: 0x6cfa9c20, 0x2e817: 0x6cfa9e20,\n\t0x2e818: 0x6cfaa020, 0x2e819: 0x6cfaa220, 0x2e81a: 0x6cfbd620, 0x2e81b: 0x6cfaa420,\n\t0x2e81c: 0x6cfaa620, 0x2e81d: 0x6cfaa820, 0x2e81e: 0x6cccf420, 0x2e81f: 0x6cfaaa20,\n\t0x2e820: 0x6cfaac20, 0x2e821: 0x6cfaae20, 0x2e822: 0x6cfab020, 0x2e823: 0x6cfab220,\n\t0x2e824: 0x6cfab420, 0x2e825: 0x6cfab620, 0x2e826: 0x6cfab820, 0x2e827: 0x6cfaba20,\n\t0x2e828: 0x6cfabc20, 0x2e829: 0x6cfabe20, 0x2e82a: 0x6cfac020, 0x2e82b: 0x6d291420,\n\t0x2e82c: 0x6d291620, 0x2e82d: 0x6d291820, 0x2e82e: 0x6d291a20, 0x2e82f: 0x6d291c20,\n\t0x2e830: 0x6d291e20, 0x2e831: 0x6d292020, 0x2e832: 0x6d292220, 0x2e833: 0x6d292420,\n\t0x2e834: 0x6d292620, 0x2e835: 0x6d292820, 0x2e836: 0x6d292a20, 0x2e837: 0x6d292c20,\n\t0x2e838: 0x6d292e20, 0x2e839: 0x6d293020, 0x2e83a: 0x6d293220, 0x2e83b: 0x6d293420,\n\t0x2e83c: 0x6d293620, 0x2e83d: 0x6d293820, 0x2e83e: 0x6d293a20, 0x2e83f: 0x6d293c20,\n\t// Block 0xba1, offset 0x2e840\n\t0x2e840: 0x6d561a20, 0x2e841: 0x6d293e20, 0x2e842: 0x6d294020, 0x2e843: 0x6d294220,\n\t0x2e844: 0x6d294420, 0x2e845: 0x6d294620, 0x2e846: 0x6d294820, 0x2e847: 0x6d294a20,\n\t0x2e848: 0x6d294c20, 0x2e849: 0x6d294e20, 0x2e84a: 0x6d295020, 0x2e84b: 0x6d564820,\n\t0x2e84c: 0x6d295220, 0x2e84d: 0x6d295420, 0x2e84e: 0x6d295620, 0x2e84f: 0x6d295820,\n\t0x2e850: 0x6d561c20, 0x2e851: 0x6d295a20, 0x2e852: 0x6d295c20, 0x2e853: 0x6cfac220,\n\t0x2e854: 0x6d295e20, 0x2e855: 0x6d296020, 0x2e856: 0x6d296220, 0x2e857: 0x6d296420,\n\t0x2e858: 0x6d296620, 0x2e859: 0x6d296820, 0x2e85a: 0x6d296a20, 0x2e85b: 0x6d296c20,\n\t0x2e85c: 0x6d296e20, 0x2e85d: 0x6d297020, 0x2e85e: 0x6d297220, 0x2e85f: 0x6d297420,\n\t0x2e860: 0x6d297620, 0x2e861: 0x6d297820, 0x2e862: 0x6d297a20, 0x2e863: 0x6d297c20,\n\t0x2e864: 0x6d297e20, 0x2e865: 0x6d298020, 0x2e866: 0x6d561e20, 0x2e867: 0x6d298220,\n\t0x2e868: 0x6d298420, 0x2e869: 0x6d298620, 0x2e86a: 0x6d298820, 0x2e86b: 0x6d298a20,\n\t0x2e86c: 0x6d298c20, 0x2e86d: 0x6d298e20, 0x2e86e: 0x6d299020, 0x2e86f: 0x6d299220,\n\t0x2e870: 0x6d299420, 0x2e871: 0x6d299620, 0x2e872: 0x6d299820, 0x2e873: 0x6d299a20,\n\t0x2e874: 0x6d299c20, 0x2e875: 0x6d299e20, 0x2e876: 0x6d29a020, 0x2e877: 0x6d29a220,\n\t0x2e878: 0x6d29a420, 0x2e879: 0x6d29a620, 0x2e87a: 0x6d29a820, 0x2e87b: 0x6d29aa20,\n\t0x2e87c: 0x6d29ac20, 0x2e87d: 0x6d564a20, 0x2e87e: 0x6d29ae20, 0x2e87f: 0x6d562020,\n\t// Block 0xba2, offset 0x2e880\n\t0x2e880: 0x6d29b020, 0x2e881: 0x6d562220, 0x2e882: 0x6d29b220, 0x2e883: 0x6d29b420,\n\t0x2e884: 0x6d29b620, 0x2e885: 0x6d29b820, 0x2e886: 0x6d29ba20, 0x2e887: 0x6d29bc20,\n\t0x2e888: 0x6d29be20, 0x2e889: 0x6d29c020, 0x2e88a: 0x6d29c220, 0x2e88b: 0x6d29c420,\n\t0x2e88c: 0x6d29c620, 0x2e88d: 0x6d29c820, 0x2e88e: 0x6d2aca20, 0x2e88f: 0x6d564c20,\n\t0x2e890: 0x6d564e20, 0x2e891: 0x6d565020, 0x2e892: 0x6d565220, 0x2e893: 0x6d565420,\n\t0x2e894: 0x6d565620, 0x2e895: 0x6d565820, 0x2e896: 0x6d565a20, 0x2e897: 0x6d565c20,\n\t0x2e898: 0x6d565e20, 0x2e899: 0x6d566020, 0x2e89a: 0x6d566220, 0x2e89b: 0x6d566420,\n\t0x2e89c: 0x6d566620, 0x2e89d: 0x6d566820, 0x2e89e: 0x6d819a20, 0x2e89f: 0x6d566a20,\n\t0x2e8a0: 0x6d566c20, 0x2e8a1: 0x6d566e20, 0x2e8a2: 0x6d567020, 0x2e8a3: 0x6d567220,\n\t0x2e8a4: 0x6d567420, 0x2e8a5: 0x6d567620, 0x2e8a6: 0x6d567820, 0x2e8a7: 0x6d567a20,\n\t0x2e8a8: 0x6d567c20, 0x2e8a9: 0x6d567e20, 0x2e8aa: 0x6d568020, 0x2e8ab: 0x6d568220,\n\t0x2e8ac: 0x6d568420, 0x2e8ad: 0x6d568620, 0x2e8ae: 0x6d568820, 0x2e8af: 0x6d568a20,\n\t0x2e8b0: 0x6d568c20, 0x2e8b1: 0x6d568e20, 0x2e8b2: 0x6d569020, 0x2e8b3: 0x6d2acc20,\n\t0x2e8b4: 0x6d569220, 0x2e8b5: 0x6d569420, 0x2e8b6: 0x6d569620, 0x2e8b7: 0x6d569820,\n\t0x2e8b8: 0x6d569a20, 0x2e8b9: 0x6d569c20, 0x2e8ba: 0x6d569e20, 0x2e8bb: 0x6d56a020,\n\t0x2e8bc: 0x6d56a220, 0x2e8bd: 0x6d56a420, 0x2e8be: 0x6d56a620, 0x2e8bf: 0x6d56a820,\n\t// Block 0xba3, offset 0x2e8c0\n\t0x2e8c0: 0x6da79820, 0x2e8c1: 0x6d56aa20, 0x2e8c2: 0x6d56ac20, 0x2e8c3: 0x6d819c20,\n\t0x2e8c4: 0x6d56ae20, 0x2e8c5: 0x6d56b020, 0x2e8c6: 0x6d56b220, 0x2e8c7: 0x6d56b420,\n\t0x2e8c8: 0x6d56b620, 0x2e8c9: 0x6d56b820, 0x2e8ca: 0x6d56ba20, 0x2e8cb: 0x6d56bc20,\n\t0x2e8cc: 0x6d56be20, 0x2e8cd: 0x6d56c020, 0x2e8ce: 0x6d56c220, 0x2e8cf: 0x6d56c420,\n\t0x2e8d0: 0x6d56c620, 0x2e8d1: 0x6d56c820, 0x2e8d2: 0x6d56ca20, 0x2e8d3: 0x6d56cc20,\n\t0x2e8d4: 0x6d56ce20, 0x2e8d5: 0x6d56d020, 0x2e8d6: 0x6d56d220, 0x2e8d7: 0x6d56d420,\n\t0x2e8d8: 0x6d56d620, 0x2e8d9: 0x6d81c020, 0x2e8da: 0x6d56d820, 0x2e8db: 0x6d56da20,\n\t0x2e8dc: 0x6d56dc20, 0x2e8dd: 0x6d56de20, 0x2e8de: 0x6d81c220, 0x2e8df: 0x6d81c420,\n\t0x2e8e0: 0x6d81c620, 0x2e8e1: 0x6d81c820, 0x2e8e2: 0x6d81ca20, 0x2e8e3: 0x6d81cc20,\n\t0x2e8e4: 0x6d81ce20, 0x2e8e5: 0x6d81d020, 0x2e8e6: 0x6d81d220, 0x2e8e7: 0x6d81d420,\n\t0x2e8e8: 0x6d81d620, 0x2e8e9: 0x6da77820, 0x2e8ea: 0x6d81d820, 0x2e8eb: 0x6d81da20,\n\t0x2e8ec: 0x6d81dc20, 0x2e8ed: 0x6d81de20, 0x2e8ee: 0x6d81e020, 0x2e8ef: 0x6d81e220,\n\t0x2e8f0: 0x6d81e420, 0x2e8f1: 0x6d81e620, 0x2e8f2: 0x6d81e820, 0x2e8f3: 0x6d81ea20,\n\t0x2e8f4: 0x6d81ec20, 0x2e8f5: 0x6d81ee20, 0x2e8f6: 0x6d81f020, 0x2e8f7: 0x6d81f220,\n\t0x2e8f8: 0x6d81f420, 0x2e8f9: 0x6d81f620, 0x2e8fa: 0x6d81f820, 0x2e8fb: 0x6d81fa20,\n\t0x2e8fc: 0x6d81fc20, 0x2e8fd: 0x6d81fe20, 0x2e8fe: 0x6d820020, 0x2e8ff: 0x6d820220,\n\t// Block 0xba4, offset 0x2e900\n\t0x2e900: 0x6d820420, 0x2e901: 0x6d820620, 0x2e902: 0x6d820820, 0x2e903: 0x6d820a20,\n\t0x2e904: 0x6d820c20, 0x2e905: 0x6d820e20, 0x2e906: 0x6d580a20, 0x2e907: 0x6d821020,\n\t0x2e908: 0x6d821220, 0x2e909: 0x6d821420, 0x2e90a: 0x6d821620, 0x2e90b: 0x6d821820,\n\t0x2e90c: 0x6da77a20, 0x2e90d: 0x6d821a20, 0x2e90e: 0x6d821c20, 0x2e90f: 0x6d821e20,\n\t0x2e910: 0x6d56e020, 0x2e911: 0x6d822020, 0x2e912: 0x6d822220, 0x2e913: 0x6d822420,\n\t0x2e914: 0x6da79a20, 0x2e915: 0x6da79c20, 0x2e916: 0x6d822620, 0x2e917: 0x6da79e20,\n\t0x2e918: 0x6da7a020, 0x2e919: 0x6da7a220, 0x2e91a: 0x6da7a420, 0x2e91b: 0x6da7a620,\n\t0x2e91c: 0x6da7a820, 0x2e91d: 0x6da7aa20, 0x2e91e: 0x6da7ac20, 0x2e91f: 0x6da7ae20,\n\t0x2e920: 0x6da7b020, 0x2e921: 0x6da7b220, 0x2e922: 0x6da7b420, 0x2e923: 0x6da7b620,\n\t0x2e924: 0x6da7b820, 0x2e925: 0x6da7ba20, 0x2e926: 0x6da7bc20, 0x2e927: 0x6da7be20,\n\t0x2e928: 0x6da7c020, 0x2e929: 0x6da7c220, 0x2e92a: 0x6da7c420, 0x2e92b: 0x6da7c620,\n\t0x2e92c: 0x6da7c820, 0x2e92d: 0x6da7ca20, 0x2e92e: 0x6da7cc20, 0x2e92f: 0x6da7ce20,\n\t0x2e930: 0x6da7d020, 0x2e931: 0x6da7d220, 0x2e932: 0x6da7d420, 0x2e933: 0x6de4c220,\n\t0x2e934: 0x6da7d620, 0x2e935: 0x6da7d820, 0x2e936: 0x6da7da20, 0x2e937: 0x6dc8c220,\n\t0x2e938: 0x6da7dc20, 0x2e939: 0x6dc8d220, 0x2e93a: 0x6dc8d420, 0x2e93b: 0x6dc8d620,\n\t0x2e93c: 0x6dc8d820, 0x2e93d: 0x6dc8da20, 0x2e93e: 0x6dc8dc20, 0x2e93f: 0x6dc8de20,\n\t// Block 0xba5, offset 0x2e940\n\t0x2e940: 0x6dc8e020, 0x2e941: 0x6dc8e220, 0x2e942: 0x6dc8e420, 0x2e943: 0x6dc8e620,\n\t0x2e944: 0x6d82fc20, 0x2e945: 0x6dc8e820, 0x2e946: 0x6dc8ea20, 0x2e947: 0x6dc8ec20,\n\t0x2e948: 0x6dc8ee20, 0x2e949: 0x6dc8f020, 0x2e94a: 0x6dc8f220, 0x2e94b: 0x6dc8f420,\n\t0x2e94c: 0x6dc8f620, 0x2e94d: 0x6dc8f820, 0x2e94e: 0x6dc8fa20, 0x2e94f: 0x6dc8fc20,\n\t0x2e950: 0x6dc8fe20, 0x2e951: 0x6dc90020, 0x2e952: 0x6dc90220, 0x2e953: 0x6dc90420,\n\t0x2e954: 0x6dc90620, 0x2e955: 0x6de4c420, 0x2e956: 0x6de4c620, 0x2e957: 0x6de4c820,\n\t0x2e958: 0x6de4ca20, 0x2e959: 0x6de4cc20, 0x2e95a: 0x6de4ce20, 0x2e95b: 0x6de4d020,\n\t0x2e95c: 0x6de4d220, 0x2e95d: 0x6de4d420, 0x2e95e: 0x6de4d620, 0x2e95f: 0x6de4d820,\n\t0x2e960: 0x6de4da20, 0x2e961: 0x6de4dc20, 0x2e962: 0x6de4de20, 0x2e963: 0x6de4e020,\n\t0x2e964: 0x6de4e220, 0x2e965: 0x6de4e420, 0x2e966: 0x6dc9b820, 0x2e967: 0x6de4e620,\n\t0x2e968: 0x6de4e820, 0x2e969: 0x6de4ea20, 0x2e96a: 0x6dfbc220, 0x2e96b: 0x6de4ec20,\n\t0x2e96c: 0x6de4ee20, 0x2e96d: 0x6de4f020, 0x2e96e: 0x6de4f220, 0x2e96f: 0x6dfbd020,\n\t0x2e970: 0x6dfbd220, 0x2e971: 0x6dfbd420, 0x2e972: 0x6dfbd620, 0x2e973: 0x6dfbd820,\n\t0x2e974: 0x6dfbda20, 0x2e975: 0x6dfbdc20, 0x2e976: 0x6dfbde20, 0x2e977: 0x6dfbe020,\n\t0x2e978: 0x6dfbe220, 0x2e979: 0x6dfbe420, 0x2e97a: 0x6dfbe620, 0x2e97b: 0x6dfbe820,\n\t0x2e97c: 0x6dfbea20, 0x2e97d: 0x6dfbec20, 0x2e97e: 0x6dfbee20, 0x2e97f: 0x6dfbf020,\n\t// Block 0xba6, offset 0x2e980\n\t0x2e980: 0x6dfbf220, 0x2e981: 0x6dfbf420, 0x2e982: 0x6dfc4820, 0x2e983: 0x6e0f0620,\n\t0x2e984: 0x6e0f0820, 0x2e985: 0x6e0f0a20, 0x2e986: 0x6e0f0c20, 0x2e987: 0x6e0f0e20,\n\t0x2e988: 0x6e0f1020, 0x2e989: 0x6e0f1220, 0x2e98a: 0x6e0f1420, 0x2e98b: 0x6e0f1620,\n\t0x2e98c: 0x6e0f1820, 0x2e98d: 0x6e0f1a20, 0x2e98e: 0x6e3d5220, 0x2e98f: 0x6e0f1c20,\n\t0x2e990: 0x6e0f1e20, 0x2e991: 0x6e1e3420, 0x2e992: 0x6e1e3620, 0x2e993: 0x6e299620,\n\t0x2e994: 0x6e1e3820, 0x2e995: 0x6e1e3a20, 0x2e996: 0x6e1e3c20, 0x2e997: 0x6e1e3e20,\n\t0x2e998: 0x6e1e4020, 0x2e999: 0x6e299e20, 0x2e99a: 0x6e29a020, 0x2e99b: 0x6e29a220,\n\t0x2e99c: 0x6e29a420, 0x2e99d: 0x6e32a220, 0x2e99e: 0x6e32a420, 0x2e99f: 0x6e32a620,\n\t0x2e9a0: 0x6e32a820, 0x2e9a1: 0x6e32aa20, 0x2e9a2: 0x6e38e020, 0x2e9a3: 0x6e38e220,\n\t0x2e9a4: 0x6e3d5420, 0x2e9a5: 0x6e405c20, 0x2e9a6: 0x6e3d5620, 0x2e9a7: 0x6e405e20,\n\t0x2e9a8: 0x6e406020, 0x2e9a9: 0x6e45c420, 0x2e9aa: 0x6e463020, 0x2e9ab: 0x6c04d020,\n\t0x2e9ac: 0x6c04d220, 0x2e9ad: 0x6c09ca20, 0x2e9ae: 0x6c135a20, 0x2e9af: 0x6c135c20,\n\t0x2e9b0: 0x6c135e20, 0x2e9b1: 0x6c136020, 0x2e9b2: 0x6c136220, 0x2e9b3: 0x6c136420,\n\t0x2e9b4: 0x6c239020, 0x2e9b5: 0x6c239220, 0x2e9b6: 0x6c239420, 0x2e9b7: 0x6c239620,\n\t0x2e9b8: 0x6c239820, 0x2e9b9: 0x6c239a20, 0x2e9ba: 0x6c239c20, 0x2e9bb: 0x6c239e20,\n\t0x2e9bc: 0x6c23a020, 0x2e9bd: 0x6c23a220, 0x2e9be: 0x6c23a420, 0x2e9bf: 0x6c23a620,\n\t// Block 0xba7, offset 0x2e9c0\n\t0x2e9c0: 0x6c23a820, 0x2e9c1: 0x6c399e20, 0x2e9c2: 0x6c39a020, 0x2e9c3: 0x6c39a220,\n\t0x2e9c4: 0x6c39a420, 0x2e9c5: 0x6c39a620, 0x2e9c6: 0x6c39a820, 0x2e9c7: 0x6c399220,\n\t0x2e9c8: 0x6c39aa20, 0x2e9c9: 0x6c39ac20, 0x2e9ca: 0x6c39ae20, 0x2e9cb: 0x6c39b020,\n\t0x2e9cc: 0x6c39b220, 0x2e9cd: 0x6c39b420, 0x2e9ce: 0x6c39b620, 0x2e9cf: 0x6c39b820,\n\t0x2e9d0: 0x6c39ba20, 0x2e9d1: 0x6c39bc20, 0x2e9d2: 0x6c39be20, 0x2e9d3: 0x6c39c020,\n\t0x2e9d4: 0x6c39c220, 0x2e9d5: 0x6c39c420, 0x2e9d6: 0x6c39c620, 0x2e9d7: 0x6c39c820,\n\t0x2e9d8: 0x6c39ca20, 0x2e9d9: 0x6c39cc20, 0x2e9da: 0x6c39ce20, 0x2e9db: 0x6c39d020,\n\t0x2e9dc: 0x6c39d220, 0x2e9dd: 0x6c39d420, 0x2e9de: 0x6c39d620, 0x2e9df: 0x6c552820,\n\t0x2e9e0: 0x6c552a20, 0x2e9e1: 0x6c552c20, 0x2e9e2: 0x6c552e20, 0x2e9e3: 0x6c553020,\n\t0x2e9e4: 0x6c553220, 0x2e9e5: 0x6c553420, 0x2e9e6: 0x6c553620, 0x2e9e7: 0x6c553820,\n\t0x2e9e8: 0x6c553a20, 0x2e9e9: 0x6c553c20, 0x2e9ea: 0x6c553e20, 0x2e9eb: 0x6c554020,\n\t0x2e9ec: 0x6c554220, 0x2e9ed: 0x6c554420, 0x2e9ee: 0x6c554620, 0x2e9ef: 0x6c554820,\n\t0x2e9f0: 0x6c554a20, 0x2e9f1: 0x6c554c20, 0x2e9f2: 0x6c554e20, 0x2e9f3: 0x6c555020,\n\t0x2e9f4: 0x6c555220, 0x2e9f5: 0x6c555420, 0x2e9f6: 0x6c555620, 0x2e9f7: 0x6c555820,\n\t0x2e9f8: 0x6c555a20, 0x2e9f9: 0x6c555c20, 0x2e9fa: 0x6c555e20, 0x2e9fb: 0x6c556020,\n\t0x2e9fc: 0x6c556220, 0x2e9fd: 0x6c556420, 0x2e9fe: 0x6c556620, 0x2e9ff: 0x6c556820,\n\t// Block 0xba8, offset 0x2ea00\n\t0x2ea00: 0x6c556a20, 0x2ea01: 0x6c556c20, 0x2ea02: 0x6c556e20, 0x2ea03: 0x6c557020,\n\t0x2ea04: 0x6c77f620, 0x2ea05: 0x6c77f820, 0x2ea06: 0x6c77fa20, 0x2ea07: 0x6c77fc20,\n\t0x2ea08: 0x6c77fe20, 0x2ea09: 0x6c780020, 0x2ea0a: 0x6c780220, 0x2ea0b: 0x6c780420,\n\t0x2ea0c: 0x6c780620, 0x2ea0d: 0x6c780820, 0x2ea0e: 0x6c780a20, 0x2ea0f: 0x6c780c20,\n\t0x2ea10: 0x6c780e20, 0x2ea11: 0x6c781020, 0x2ea12: 0x6c781220, 0x2ea13: 0x6c781420,\n\t0x2ea14: 0x6c781620, 0x2ea15: 0x6c781820, 0x2ea16: 0x6c781a20, 0x2ea17: 0x6c781c20,\n\t0x2ea18: 0x6c781e20, 0x2ea19: 0x6c782020, 0x2ea1a: 0x6c782220, 0x2ea1b: 0x6c782420,\n\t0x2ea1c: 0x6c782620, 0x2ea1d: 0x6c782820, 0x2ea1e: 0x6c782a20, 0x2ea1f: 0x6c782c20,\n\t0x2ea20: 0x6c782e20, 0x2ea21: 0x6c783020, 0x2ea22: 0x6c783220, 0x2ea23: 0x6c783420,\n\t0x2ea24: 0x6c783620, 0x2ea25: 0x6c783820, 0x2ea26: 0x6c783a20, 0x2ea27: 0x6c783c20,\n\t0x2ea28: 0x6c783e20, 0x2ea29: 0x6c784020, 0x2ea2a: 0x6c784220, 0x2ea2b: 0x6c784420,\n\t0x2ea2c: 0x6c784620, 0x2ea2d: 0x6c784820, 0x2ea2e: 0x6c784a20, 0x2ea2f: 0x6ca0f020,\n\t0x2ea30: 0x6ca0f220, 0x2ea31: 0x6ca0f420, 0x2ea32: 0x6ca0f620, 0x2ea33: 0x6ca0f820,\n\t0x2ea34: 0x6ca0fa20, 0x2ea35: 0x6ca0fc20, 0x2ea36: 0x6ca0fe20, 0x2ea37: 0x6ca10020,\n\t0x2ea38: 0x6ca10220, 0x2ea39: 0x6ca10420, 0x2ea3a: 0x6ca10620, 0x2ea3b: 0x6ccddc20,\n\t0x2ea3c: 0x6ca10820, 0x2ea3d: 0x6ca10a20, 0x2ea3e: 0x6ca10c20, 0x2ea3f: 0x6ca10e20,\n\t// Block 0xba9, offset 0x2ea40\n\t0x2ea40: 0x6ca11020, 0x2ea41: 0x6ca11220, 0x2ea42: 0x6ca11420, 0x2ea43: 0x6ca11620,\n\t0x2ea44: 0x6ca11820, 0x2ea45: 0x6ca11a20, 0x2ea46: 0x6ca11c20, 0x2ea47: 0x6ca11e20,\n\t0x2ea48: 0x6ca12020, 0x2ea49: 0x6ca12220, 0x2ea4a: 0x6ca12420, 0x2ea4b: 0x6ca12620,\n\t0x2ea4c: 0x6ca12820, 0x2ea4d: 0x6ca12a20, 0x2ea4e: 0x6ca12c20, 0x2ea4f: 0x6ca12e20,\n\t0x2ea50: 0x6ca13020, 0x2ea51: 0x6ca13220, 0x2ea52: 0x6ca13420, 0x2ea53: 0x6ca13620,\n\t0x2ea54: 0x6ca1cc20, 0x2ea55: 0x6ca13820, 0x2ea56: 0x6ca13a20, 0x2ea57: 0x6ca13c20,\n\t0x2ea58: 0x6ca13e20, 0x2ea59: 0x6ccdf620, 0x2ea5a: 0x6ccdf820, 0x2ea5b: 0x6ccdfa20,\n\t0x2ea5c: 0x6ccdfc20, 0x2ea5d: 0x6ccdfe20, 0x2ea5e: 0x6cce0020, 0x2ea5f: 0x6cce0220,\n\t0x2ea60: 0x6cce0420, 0x2ea61: 0x6cce0620, 0x2ea62: 0x6cce0820, 0x2ea63: 0x6cce0a20,\n\t0x2ea64: 0x6cce0c20, 0x2ea65: 0x6cce0e20, 0x2ea66: 0x6cce1020, 0x2ea67: 0x6cce1220,\n\t0x2ea68: 0x6cce1420, 0x2ea69: 0x6cce1620, 0x2ea6a: 0x6cce1820, 0x2ea6b: 0x6cce1a20,\n\t0x2ea6c: 0x6cce1c20, 0x2ea6d: 0x6cce1e20, 0x2ea6e: 0x6cce2020, 0x2ea6f: 0x6cce2220,\n\t0x2ea70: 0x6cce2420, 0x2ea71: 0x6cce2620, 0x2ea72: 0x6cce2820, 0x2ea73: 0x6cce2a20,\n\t0x2ea74: 0x6cce2c20, 0x2ea75: 0x6cce2e20, 0x2ea76: 0x6cce3020, 0x2ea77: 0x6cce3220,\n\t0x2ea78: 0x6cce3420, 0x2ea79: 0x6cce3620, 0x2ea7a: 0x6cce3820, 0x2ea7b: 0x6cce3a20,\n\t0x2ea7c: 0x6cce3c20, 0x2ea7d: 0x6cce3e20, 0x2ea7e: 0x6cce4020, 0x2ea7f: 0x6cce4220,\n\t// Block 0xbaa, offset 0x2ea80\n\t0x2ea80: 0x6cce4420, 0x2ea81: 0x6cfbfc20, 0x2ea82: 0x6cfbfe20, 0x2ea83: 0x6cfc0020,\n\t0x2ea84: 0x6cfc0220, 0x2ea85: 0x6cfc0420, 0x2ea86: 0x6cfc0620, 0x2ea87: 0x6cfc0820,\n\t0x2ea88: 0x6cfc0a20, 0x2ea89: 0x6cfc0c20, 0x2ea8a: 0x6cfc0e20, 0x2ea8b: 0x6cfc1020,\n\t0x2ea8c: 0x6cfc1220, 0x2ea8d: 0x6cfc1420, 0x2ea8e: 0x6cfc1620, 0x2ea8f: 0x6cfc1820,\n\t0x2ea90: 0x6cfc1a20, 0x2ea91: 0x6cfc1c20, 0x2ea92: 0x6cfc1e20, 0x2ea93: 0x6cfc2020,\n\t0x2ea94: 0x6cfc2220, 0x2ea95: 0x6d2ace20, 0x2ea96: 0x6cfc2420, 0x2ea97: 0x6cfc2620,\n\t0x2ea98: 0x6cfc2820, 0x2ea99: 0x6cfc2a20, 0x2ea9a: 0x6cfc2c20, 0x2ea9b: 0x6d2ad020,\n\t0x2ea9c: 0x6cfc2e20, 0x2ea9d: 0x6cfc3020, 0x2ea9e: 0x6cfc3220, 0x2ea9f: 0x6cfc3420,\n\t0x2eaa0: 0x6cfc3620, 0x2eaa1: 0x6cfc3820, 0x2eaa2: 0x6cfc3a20, 0x2eaa3: 0x6cfc3c20,\n\t0x2eaa4: 0x6cfc3e20, 0x2eaa5: 0x6cfc4020, 0x2eaa6: 0x6cfc4220, 0x2eaa7: 0x6cfc4420,\n\t0x2eaa8: 0x6cfc4620, 0x2eaa9: 0x6cfc4820, 0x2eaaa: 0x6cfc4a20, 0x2eaab: 0x6cfc4c20,\n\t0x2eaac: 0x6cfc4e20, 0x2eaad: 0x6cfc5020, 0x2eaae: 0x6cce4620, 0x2eaaf: 0x6cfc5220,\n\t0x2eab0: 0x6cfc5420, 0x2eab1: 0x6cfc5620, 0x2eab2: 0x6cfc5820, 0x2eab3: 0x6cfc5a20,\n\t0x2eab4: 0x6cfc5c20, 0x2eab5: 0x6cfc5e20, 0x2eab6: 0x6cfc6020, 0x2eab7: 0x6cfc6220,\n\t0x2eab8: 0x6cfc6420, 0x2eab9: 0x6d2aea20, 0x2eaba: 0x6cfc6620, 0x2eabb: 0x6d2aec20,\n\t0x2eabc: 0x6d2aee20, 0x2eabd: 0x6d2af020, 0x2eabe: 0x6d2af220, 0x2eabf: 0x6d2af420,\n\t// Block 0xbab, offset 0x2eac0\n\t0x2eac0: 0x6d2af620, 0x2eac1: 0x6d2af820, 0x2eac2: 0x6d2afa20, 0x2eac3: 0x6d2afc20,\n\t0x2eac4: 0x6d2afe20, 0x2eac5: 0x6d2b0020, 0x2eac6: 0x6d2b0220, 0x2eac7: 0x6d2b0420,\n\t0x2eac8: 0x6d2b0620, 0x2eac9: 0x6d2b0820, 0x2eaca: 0x6d2b0a20, 0x2eacb: 0x6d2b0c20,\n\t0x2eacc: 0x6d2b0e20, 0x2eacd: 0x6d2b1020, 0x2eace: 0x6d2b1220, 0x2eacf: 0x6d2b1420,\n\t0x2ead0: 0x6d2b1620, 0x2ead1: 0x6d2b1820, 0x2ead2: 0x6d2b1a20, 0x2ead3: 0x6d2b1c20,\n\t0x2ead4: 0x6d2b1e20, 0x2ead5: 0x6d2b2020, 0x2ead6: 0x6d2b2220, 0x2ead7: 0x6d2b2420,\n\t0x2ead8: 0x6d2b2620, 0x2ead9: 0x6d2b2820, 0x2eada: 0x6d581e20, 0x2eadb: 0x6d582020,\n\t0x2eadc: 0x6d582220, 0x2eadd: 0x6d582420, 0x2eade: 0x6d582620, 0x2eadf: 0x6d582820,\n\t0x2eae0: 0x6d582a20, 0x2eae1: 0x6d582c20, 0x2eae2: 0x6d582e20, 0x2eae3: 0x6d583020,\n\t0x2eae4: 0x6d583220, 0x2eae5: 0x6d583420, 0x2eae6: 0x6d580c20, 0x2eae7: 0x6d583620,\n\t0x2eae8: 0x6d583820, 0x2eae9: 0x6d583a20, 0x2eaea: 0x6d583c20, 0x2eaeb: 0x6d583e20,\n\t0x2eaec: 0x6d584020, 0x2eaed: 0x6d584220, 0x2eaee: 0x6d584420, 0x2eaef: 0x6d584620,\n\t0x2eaf0: 0x6d584820, 0x2eaf1: 0x6d584a20, 0x2eaf2: 0x6d584c20, 0x2eaf3: 0x6d584e20,\n\t0x2eaf4: 0x6d585020, 0x2eaf5: 0x6d585220, 0x2eaf6: 0x6d831420, 0x2eaf7: 0x6d831620,\n\t0x2eaf8: 0x6d831820, 0x2eaf9: 0x6d831a20, 0x2eafa: 0x6d831c20, 0x2eafb: 0x6d831e20,\n\t0x2eafc: 0x6d832020, 0x2eafd: 0x6d832220, 0x2eafe: 0x6d832420, 0x2eaff: 0x6d832620,\n\t// Block 0xbac, offset 0x2eb00\n\t0x2eb00: 0x6d832820, 0x2eb01: 0x6d832a20, 0x2eb02: 0x6d832c20, 0x2eb03: 0x6d832e20,\n\t0x2eb04: 0x6d833020, 0x2eb05: 0x6d833220, 0x2eb06: 0x6d833420, 0x2eb07: 0x6d833620,\n\t0x2eb08: 0x6d833820, 0x2eb09: 0x6d833a20, 0x2eb0a: 0x6d833c20, 0x2eb0b: 0x6d833e20,\n\t0x2eb0c: 0x6d834020, 0x2eb0d: 0x6d834220, 0x2eb0e: 0x6d834420, 0x2eb0f: 0x6d834620,\n\t0x2eb10: 0x6d834820, 0x2eb11: 0x6d834a20, 0x2eb12: 0x6d834c20, 0x2eb13: 0x6d834e20,\n\t0x2eb14: 0x6d835020, 0x2eb15: 0x6d835220, 0x2eb16: 0x6d835420, 0x2eb17: 0x6d835620,\n\t0x2eb18: 0x6d835820, 0x2eb19: 0x6d835a20, 0x2eb1a: 0x6d835c20, 0x2eb1b: 0x6d835e20,\n\t0x2eb1c: 0x6d836020, 0x2eb1d: 0x6d836220, 0x2eb1e: 0x6d836420, 0x2eb1f: 0x6da87c20,\n\t0x2eb20: 0x6da87e20, 0x2eb21: 0x6da88020, 0x2eb22: 0x6da88220, 0x2eb23: 0x6da88420,\n\t0x2eb24: 0x6da88620, 0x2eb25: 0x6da88820, 0x2eb26: 0x6da88a20, 0x2eb27: 0x6da88c20,\n\t0x2eb28: 0x6da88e20, 0x2eb29: 0x6da89020, 0x2eb2a: 0x6da89220, 0x2eb2b: 0x6da89420,\n\t0x2eb2c: 0x6da89620, 0x2eb2d: 0x6da89820, 0x2eb2e: 0x6da89a20, 0x2eb2f: 0x6da89c20,\n\t0x2eb30: 0x6da89e20, 0x2eb31: 0x6da8a020, 0x2eb32: 0x6da8a220, 0x2eb33: 0x6da8a420,\n\t0x2eb34: 0x6da8a620, 0x2eb35: 0x6da8a820, 0x2eb36: 0x6da8aa20, 0x2eb37: 0x6da8ac20,\n\t0x2eb38: 0x6dc9be20, 0x2eb39: 0x6dc9c020, 0x2eb3a: 0x6dc9c220, 0x2eb3b: 0x6dc9c420,\n\t0x2eb3c: 0x6dc9c620, 0x2eb3d: 0x6dc9c820, 0x2eb3e: 0x6dc9ca20, 0x2eb3f: 0x6dc9cc20,\n\t// Block 0xbad, offset 0x2eb40\n\t0x2eb40: 0x6dc9ce20, 0x2eb41: 0x6dc9d020, 0x2eb42: 0x6de57020, 0x2eb43: 0x6dc9d220,\n\t0x2eb44: 0x6de57820, 0x2eb45: 0x6de57a20, 0x2eb46: 0x6de57c20, 0x2eb47: 0x6de57e20,\n\t0x2eb48: 0x6de58020, 0x2eb49: 0x6de58220, 0x2eb4a: 0x6de58420, 0x2eb4b: 0x6dfc5220,\n\t0x2eb4c: 0x6de58620, 0x2eb4d: 0x6de58820, 0x2eb4e: 0x6de58a20, 0x2eb4f: 0x6dfc5420,\n\t0x2eb50: 0x6dfc5620, 0x2eb51: 0x6dfc5820, 0x2eb52: 0x6dfc5a20, 0x2eb53: 0x6dfc5c20,\n\t0x2eb54: 0x6dfc5e20, 0x2eb55: 0x6de58c20, 0x2eb56: 0x6dfc6020, 0x2eb57: 0x6dfc6220,\n\t0x2eb58: 0x6dfc6420, 0x2eb59: 0x6e0f7e20, 0x2eb5a: 0x6e0f8020, 0x2eb5b: 0x6e0f8220,\n\t0x2eb5c: 0x6e1e7020, 0x2eb5d: 0x6e0fb220, 0x2eb5e: 0x6e1e7220, 0x2eb5f: 0x6e1e7420,\n\t0x2eb60: 0x6e1e7620, 0x2eb61: 0x6e29da20, 0x2eb62: 0x6e29dc20, 0x2eb63: 0x6e32c020,\n\t0x2eb64: 0x6e38f220, 0x2eb65: 0x6e38f420, 0x2eb66: 0x6e38f620, 0x2eb67: 0x6e42b620,\n\t0x2eb68: 0x6e443420, 0x2eb69: 0x6e468220, 0x2eb6a: 0x6c04d620, 0x2eb6b: 0x6c04d820,\n\t0x2eb6c: 0x6c3a2820, 0x2eb6d: 0x6c3a2a20, 0x2eb6e: 0x6c55ee20, 0x2eb6f: 0x6c55f020,\n\t0x2eb70: 0x6c55f220, 0x2eb71: 0x6c78ca20, 0x2eb72: 0x6ccf0a20, 0x2eb73: 0x6d2bdc20,\n\t0x2eb74: 0x6d590420, 0x2eb75: 0x6da93020, 0x2eb76: 0x6c04de20, 0x2eb77: 0x6c137a20,\n\t0x2eb78: 0x6c3a3a20, 0x2eb79: 0x6c78d620, 0x2eb7a: 0x6cfd4020, 0x2eb7b: 0x6c04e020,\n\t0x2eb7c: 0x6c561820, 0x2eb7d: 0x6ca1e020, 0x2eb7e: 0x6d2bec20, 0x2eb7f: 0x6c04e420,\n\t// Block 0xbae, offset 0x2eb80\n\t0x2eb80: 0x6c3a4620, 0x2eb81: 0x6c562020, 0x2eb82: 0x6c78e220, 0x2eb83: 0x6cfd4820,\n\t0x2eb84: 0x6d2bf020, 0x2eb85: 0x6d591e20, 0x2eb86: 0x6da93220, 0x2eb87: 0x6c04e820,\n\t0x2eb88: 0x6c3a5220, 0x2eb89: 0x6c562a20, 0x2eb8a: 0x6c562c20, 0x2eb8b: 0x6ccf3c20,\n\t0x2eb8c: 0x6ccf3e20, 0x2eb8d: 0x6ccf4020, 0x2eb8e: 0x6cfd5020, 0x2eb8f: 0x6cfd5220,\n\t0x2eb90: 0x6cfd5420, 0x2eb91: 0x6cfd5620, 0x2eb92: 0x6cfd5820, 0x2eb93: 0x6d2bfc20,\n\t0x2eb94: 0x6d2bfe20, 0x2eb95: 0x6d592820, 0x2eb96: 0x6d592a20, 0x2eb97: 0x6d592c20,\n\t0x2eb98: 0x6de5e220, 0x2eb99: 0x6c04ec20, 0x2eb9a: 0x6ccf6620, 0x2eb9b: 0x6c04f020,\n\t0x2eb9c: 0x6c04f220, 0x2eb9d: 0x6c138020, 0x2eb9e: 0x6c138220, 0x2eb9f: 0x6c138420,\n\t0x2eba0: 0x6c23ec20, 0x2eba1: 0x6c23ee20, 0x2eba2: 0x6c23f020, 0x2eba3: 0x6c23f220,\n\t0x2eba4: 0x6c23f420, 0x2eba5: 0x6c3a6c20, 0x2eba6: 0x6c3a6e20, 0x2eba7: 0x6c3a7020,\n\t0x2eba8: 0x6c3a7220, 0x2eba9: 0x6c3a7420, 0x2ebaa: 0x6c3a7620, 0x2ebab: 0x6c3a7820,\n\t0x2ebac: 0x6c3a7a20, 0x2ebad: 0x6c564c20, 0x2ebae: 0x6c564e20, 0x2ebaf: 0x6c565020,\n\t0x2ebb0: 0x6c565220, 0x2ebb1: 0x6c565420, 0x2ebb2: 0x6c565620, 0x2ebb3: 0x6c565820,\n\t0x2ebb4: 0x6c565a20, 0x2ebb5: 0x6c565c20, 0x2ebb6: 0x6c791020, 0x2ebb7: 0x6c791220,\n\t0x2ebb8: 0x6c791420, 0x2ebb9: 0x6c791620, 0x2ebba: 0x6c791820, 0x2ebbb: 0x6ca21e20,\n\t0x2ebbc: 0x6ca22020, 0x2ebbd: 0x6ca22220, 0x2ebbe: 0x6ca22420, 0x2ebbf: 0x6ca22620,\n\t// Block 0xbaf, offset 0x2ebc0\n\t0x2ebc0: 0x6ccf7820, 0x2ebc1: 0x6ca22820, 0x2ebc2: 0x6ccf7a20, 0x2ebc3: 0x6ccf7c20,\n\t0x2ebc4: 0x6ccf7e20, 0x2ebc5: 0x6ccf8020, 0x2ebc6: 0x6ccf8220, 0x2ebc7: 0x6ccf8420,\n\t0x2ebc8: 0x6ccf8620, 0x2ebc9: 0x6ccf8820, 0x2ebca: 0x6ccf8a20, 0x2ebcb: 0x6ccf8c20,\n\t0x2ebcc: 0x6cfd7820, 0x2ebcd: 0x6cfd7a20, 0x2ebce: 0x6cfd7c20, 0x2ebcf: 0x6cfd7e20,\n\t0x2ebd0: 0x6cfd8020, 0x2ebd1: 0x6cfd8220, 0x2ebd2: 0x6d2c1620, 0x2ebd3: 0x6d2c1820,\n\t0x2ebd4: 0x6d2c1a20, 0x2ebd5: 0x6d2c1c20, 0x2ebd6: 0x6d2c1e20, 0x2ebd7: 0x6d2c2020,\n\t0x2ebd8: 0x6d595020, 0x2ebd9: 0x6d595220, 0x2ebda: 0x6d595420, 0x2ebdb: 0x6d595620,\n\t0x2ebdc: 0x6d845820, 0x2ebdd: 0x6d845a20, 0x2ebde: 0x6d845c20, 0x2ebdf: 0x6d845e20,\n\t0x2ebe0: 0x6da94e20, 0x2ebe1: 0x6de5e620, 0x2ebe2: 0x6de5e820, 0x2ebe3: 0x6de5ea20,\n\t0x2ebe4: 0x6de5ec20, 0x2ebe5: 0x6de5ee20, 0x2ebe6: 0x6de5f020, 0x2ebe7: 0x6dfcd820,\n\t0x2ebe8: 0x6dfcda20, 0x2ebe9: 0x6e1e9c20, 0x2ebea: 0x6e390e20, 0x2ebeb: 0x6e407820,\n\t0x2ebec: 0x6c04f420, 0x2ebed: 0x6c01fe20, 0x2ebee: 0x6c09dc20, 0x2ebef: 0x6c09de20,\n\t0x2ebf0: 0x6c09e020, 0x2ebf1: 0x6c138c20, 0x2ebf2: 0x6c138e20, 0x2ebf3: 0x6c139020,\n\t0x2ebf4: 0x6c139220, 0x2ebf5: 0x6c139420, 0x2ebf6: 0x6c240020, 0x2ebf7: 0x6c139620,\n\t0x2ebf8: 0x6c139820, 0x2ebf9: 0x6c240a20, 0x2ebfa: 0x6c240c20, 0x2ebfb: 0x6c240e20,\n\t0x2ebfc: 0x6c241020, 0x2ebfd: 0x6c241220, 0x2ebfe: 0x6c241420, 0x2ebff: 0x6c241620,\n\t// Block 0xbb0, offset 0x2ec00\n\t0x2ec00: 0x6c3ab620, 0x2ec01: 0x6c241820, 0x2ec02: 0x6c241a20, 0x2ec03: 0x6c241c20,\n\t0x2ec04: 0x6c241e20, 0x2ec05: 0x6c242020, 0x2ec06: 0x6c242220, 0x2ec07: 0x6c242420,\n\t0x2ec08: 0x6c242620, 0x2ec09: 0x6c3acc20, 0x2ec0a: 0x6c569620, 0x2ec0b: 0x6c3ace20,\n\t0x2ec0c: 0x6c3ad020, 0x2ec0d: 0x6c3ad220, 0x2ec0e: 0x6c3ad420, 0x2ec0f: 0x6c3ad620,\n\t0x2ec10: 0x6c3ad820, 0x2ec11: 0x6c3ada20, 0x2ec12: 0x6c3adc20, 0x2ec13: 0x6c3ade20,\n\t0x2ec14: 0x6c3ae020, 0x2ec15: 0x6c3ae220, 0x2ec16: 0x6c3ae420, 0x2ec17: 0x6c3ae620,\n\t0x2ec18: 0x6c3ae820, 0x2ec19: 0x6c3aea20, 0x2ec1a: 0x6c3aec20, 0x2ec1b: 0x6c3aee20,\n\t0x2ec1c: 0x6c3af020, 0x2ec1d: 0x6c3af220, 0x2ec1e: 0x6c3af420, 0x2ec1f: 0x6c56a420,\n\t0x2ec20: 0x6c56a620, 0x2ec21: 0x6c56a820, 0x2ec22: 0x6c56aa20, 0x2ec23: 0x6c56ac20,\n\t0x2ec24: 0x6c56ae20, 0x2ec25: 0x6c56b020, 0x2ec26: 0x6c56b220, 0x2ec27: 0x6c56b420,\n\t0x2ec28: 0x6c56b620, 0x2ec29: 0x6c56b820, 0x2ec2a: 0x6c56ba20, 0x2ec2b: 0x6c56bc20,\n\t0x2ec2c: 0x6c56be20, 0x2ec2d: 0x6c56c020, 0x2ec2e: 0x6c56c220, 0x2ec2f: 0x6c56c420,\n\t0x2ec30: 0x6c56c620, 0x2ec31: 0x6c56c820, 0x2ec32: 0x6c56ca20, 0x2ec33: 0x6c794420,\n\t0x2ec34: 0x6c794620, 0x2ec35: 0x6c794820, 0x2ec36: 0x6c794a20, 0x2ec37: 0x6c794c20,\n\t0x2ec38: 0x6c794e20, 0x2ec39: 0x6c795020, 0x2ec3a: 0x6c795220, 0x2ec3b: 0x6c795420,\n\t0x2ec3c: 0x6c795620, 0x2ec3d: 0x6c795820, 0x2ec3e: 0x6c795a20, 0x2ec3f: 0x6ca25220,\n\t// Block 0xbb1, offset 0x2ec40\n\t0x2ec40: 0x6c795c20, 0x2ec41: 0x6c795e20, 0x2ec42: 0x6c796020, 0x2ec43: 0x6c796220,\n\t0x2ec44: 0x6ca26420, 0x2ec45: 0x6ca26620, 0x2ec46: 0x6ccfce20, 0x2ec47: 0x6ca26820,\n\t0x2ec48: 0x6ca26a20, 0x2ec49: 0x6ca26c20, 0x2ec4a: 0x6ca26e20, 0x2ec4b: 0x6ccfd020,\n\t0x2ec4c: 0x6ccfd220, 0x2ec4d: 0x6ca27020, 0x2ec4e: 0x6ca27220, 0x2ec4f: 0x6ca27420,\n\t0x2ec50: 0x6ca27620, 0x2ec51: 0x6ca27820, 0x2ec52: 0x6ccfd420, 0x2ec53: 0x6ca27a20,\n\t0x2ec54: 0x6ca27c20, 0x2ec55: 0x6ca27e20, 0x2ec56: 0x6ca28020, 0x2ec57: 0x6ca28220,\n\t0x2ec58: 0x6ca28420, 0x2ec59: 0x6ca28620, 0x2ec5a: 0x6ca28820, 0x2ec5b: 0x6ca28a20,\n\t0x2ec5c: 0x6ca28c20, 0x2ec5d: 0x6ca28e20, 0x2ec5e: 0x6ca29020, 0x2ec5f: 0x6ca29220,\n\t0x2ec60: 0x6ca29420, 0x2ec61: 0x6ca29620, 0x2ec62: 0x6ccfe420, 0x2ec63: 0x6ccfe620,\n\t0x2ec64: 0x6ccfe820, 0x2ec65: 0x6ccfea20, 0x2ec66: 0x6ccfec20, 0x2ec67: 0x6ccfee20,\n\t0x2ec68: 0x6ccff020, 0x2ec69: 0x6ccff220, 0x2ec6a: 0x6ca29820, 0x2ec6b: 0x6ccfd620,\n\t0x2ec6c: 0x6ccff420, 0x2ec6d: 0x6ccff620, 0x2ec6e: 0x6cfdbe20, 0x2ec6f: 0x6ccff820,\n\t0x2ec70: 0x6ccffa20, 0x2ec71: 0x6ccffc20, 0x2ec72: 0x6ccffe20, 0x2ec73: 0x6cd00020,\n\t0x2ec74: 0x6cd00220, 0x2ec75: 0x6cd00420, 0x2ec76: 0x6cd00620, 0x2ec77: 0x6cfdc020,\n\t0x2ec78: 0x6cd00820, 0x2ec79: 0x6cd00a20, 0x2ec7a: 0x6cfdd220, 0x2ec7b: 0x6cfdd420,\n\t0x2ec7c: 0x6cfdd620, 0x2ec7d: 0x6cfdd820, 0x2ec7e: 0x6cfdda20, 0x2ec7f: 0x6cfddc20,\n\t// Block 0xbb2, offset 0x2ec80\n\t0x2ec80: 0x6cfdde20, 0x2ec81: 0x6cfdc220, 0x2ec82: 0x6cfde020, 0x2ec83: 0x6d2c6a20,\n\t0x2ec84: 0x6d2c7820, 0x2ec85: 0x6cfde220, 0x2ec86: 0x6cfde420, 0x2ec87: 0x6cfde620,\n\t0x2ec88: 0x6cfde820, 0x2ec89: 0x6cfdea20, 0x2ec8a: 0x6cfdec20, 0x2ec8b: 0x6d599420,\n\t0x2ec8c: 0x6d2c7a20, 0x2ec8d: 0x6d2c7c20, 0x2ec8e: 0x6d598620, 0x2ec8f: 0x6d2c7e20,\n\t0x2ec90: 0x6d2c8020, 0x2ec91: 0x6d2c8220, 0x2ec92: 0x6d2c8420, 0x2ec93: 0x6d2c6820,\n\t0x2ec94: 0x6d2c8620, 0x2ec95: 0x6d2c8820, 0x2ec96: 0x6d599620, 0x2ec97: 0x6d599820,\n\t0x2ec98: 0x6d599a20, 0x2ec99: 0x6d599c20, 0x2ec9a: 0x6d599e20, 0x2ec9b: 0x6d59a020,\n\t0x2ec9c: 0x6d59a220, 0x2ec9d: 0x6d59a420, 0x2ec9e: 0x6d59a620, 0x2ec9f: 0x6d59a820,\n\t0x2eca0: 0x6d59aa20, 0x2eca1: 0x6d59ac20, 0x2eca2: 0x6d59ae20, 0x2eca3: 0x6d847e20,\n\t0x2eca4: 0x6d59b020, 0x2eca5: 0x6d848620, 0x2eca6: 0x6d848820, 0x2eca7: 0x6d848a20,\n\t0x2eca8: 0x6d848c20, 0x2eca9: 0x6d848e20, 0x2ecaa: 0x6d849020, 0x2ecab: 0x6d849220,\n\t0x2ecac: 0x6d849420, 0x2ecad: 0x6d849620, 0x2ecae: 0x6da96a20, 0x2ecaf: 0x6da96c20,\n\t0x2ecb0: 0x6da96e20, 0x2ecb1: 0x6da97020, 0x2ecb2: 0x6da97220, 0x2ecb3: 0x6da97420,\n\t0x2ecb4: 0x6da97620, 0x2ecb5: 0x6dca5a20, 0x2ecb6: 0x6dca5c20, 0x2ecb7: 0x6dca5e20,\n\t0x2ecb8: 0x6de60020, 0x2ecb9: 0x6de60620, 0x2ecba: 0x6de60820, 0x2ecbb: 0x6dfce620,\n\t0x2ecbc: 0x6dfcf020, 0x2ecbd: 0x6dfcf220, 0x2ecbe: 0x6e0fc820, 0x2ecbf: 0x6e1ea820,\n\t// Block 0xbb3, offset 0x2ecc0\n\t0x2ecc0: 0x6e1eaa20, 0x2ecc1: 0x6e2a0c20, 0x2ecc2: 0x6e2a0e20, 0x2ecc3: 0x6e2a1020,\n\t0x2ecc4: 0x6c09ee20, 0x2ecc5: 0x6c572620, 0x2ecc6: 0x6c79ba20, 0x2ecc7: 0x6ca2d620,\n\t0x2ecc8: 0x6ca2d820, 0x2ecc9: 0x6c09f220, 0x2ecca: 0x6c09f420, 0x2eccb: 0x6c04fa20,\n\t0x2eccc: 0x6c09f620, 0x2eccd: 0x6c09f820, 0x2ecce: 0x6c13be20, 0x2eccf: 0x6c13c020,\n\t0x2ecd0: 0x6c13c220, 0x2ecd1: 0x6c13c420, 0x2ecd2: 0x6c247420, 0x2ecd3: 0x6c247620,\n\t0x2ecd4: 0x6c247820, 0x2ecd5: 0x6c247a20, 0x2ecd6: 0x6c247c20, 0x2ecd7: 0x6c247e20,\n\t0x2ecd8: 0x6c248020, 0x2ecd9: 0x6c248220, 0x2ecda: 0x6c248420, 0x2ecdb: 0x6c248620,\n\t0x2ecdc: 0x6c3b4420, 0x2ecdd: 0x6c3b4620, 0x2ecde: 0x6c3b4820, 0x2ecdf: 0x6c3b4a20,\n\t0x2ece0: 0x6c3b4c20, 0x2ece1: 0x6c3b4e20, 0x2ece2: 0x6c3b5020, 0x2ece3: 0x6c3b5220,\n\t0x2ece4: 0x6c3b5420, 0x2ece5: 0x6c3b5620, 0x2ece6: 0x6c3b5820, 0x2ece7: 0x6c3b5a20,\n\t0x2ece8: 0x6c3b5c20, 0x2ece9: 0x6c3b5e20, 0x2ecea: 0x6c3b6020, 0x2eceb: 0x6c3b6220,\n\t0x2ecec: 0x6c3b6420, 0x2eced: 0x6c3b6620, 0x2ecee: 0x6c3b6820, 0x2ecef: 0x6c3b6a20,\n\t0x2ecf0: 0x6c3b6c20, 0x2ecf1: 0x6c3b6e20, 0x2ecf2: 0x6c573a20, 0x2ecf3: 0x6c573c20,\n\t0x2ecf4: 0x6c573e20, 0x2ecf5: 0x6c574020, 0x2ecf6: 0x6c574220, 0x2ecf7: 0x6c574420,\n\t0x2ecf8: 0x6c574620, 0x2ecf9: 0x6c574820, 0x2ecfa: 0x6c79be20, 0x2ecfb: 0x6c574a20,\n\t0x2ecfc: 0x6c79c020, 0x2ecfd: 0x6c574c20, 0x2ecfe: 0x6c574e20, 0x2ecff: 0x6c575020,\n\t// Block 0xbb4, offset 0x2ed00\n\t0x2ed00: 0x6c575220, 0x2ed01: 0x6c575420, 0x2ed02: 0x6c575620, 0x2ed03: 0x6c575820,\n\t0x2ed04: 0x6c575a20, 0x2ed05: 0x6c575c20, 0x2ed06: 0x6c575e20, 0x2ed07: 0x6c576020,\n\t0x2ed08: 0x6c576220, 0x2ed09: 0x6c576420, 0x2ed0a: 0x6c576620, 0x2ed0b: 0x6c576820,\n\t0x2ed0c: 0x6c576a20, 0x2ed0d: 0x6c576c20, 0x2ed0e: 0x6c576e20, 0x2ed0f: 0x6c577020,\n\t0x2ed10: 0x6c577220, 0x2ed11: 0x6c577420, 0x2ed12: 0x6c79d620, 0x2ed13: 0x6c79d820,\n\t0x2ed14: 0x6c79da20, 0x2ed15: 0x6c79dc20, 0x2ed16: 0x6c79de20, 0x2ed17: 0x6c79e020,\n\t0x2ed18: 0x6c79e220, 0x2ed19: 0x6c79e420, 0x2ed1a: 0x6c79e620, 0x2ed1b: 0x6c79e820,\n\t0x2ed1c: 0x6c79ea20, 0x2ed1d: 0x6c79ec20, 0x2ed1e: 0x6c79ee20, 0x2ed1f: 0x6c79f020,\n\t0x2ed20: 0x6c79f220, 0x2ed21: 0x6c79f420, 0x2ed22: 0x6c79f620, 0x2ed23: 0x6c79f820,\n\t0x2ed24: 0x6c79fa20, 0x2ed25: 0x6c79fc20, 0x2ed26: 0x6c79fe20, 0x2ed27: 0x6c7a0020,\n\t0x2ed28: 0x6c7a0220, 0x2ed29: 0x6c7a0420, 0x2ed2a: 0x6c7a0620, 0x2ed2b: 0x6c7a0820,\n\t0x2ed2c: 0x6c7a0a20, 0x2ed2d: 0x6c7a0c20, 0x2ed2e: 0x6c7a0e20, 0x2ed2f: 0x6c7a1020,\n\t0x2ed30: 0x6c7a1220, 0x2ed31: 0x6c7a1420, 0x2ed32: 0x6c7a1620, 0x2ed33: 0x6ca2ea20,\n\t0x2ed34: 0x6ca2ec20, 0x2ed35: 0x6ca2ee20, 0x2ed36: 0x6ca2f020, 0x2ed37: 0x6cd08c20,\n\t0x2ed38: 0x6ca2f220, 0x2ed39: 0x6c7a7220, 0x2ed3a: 0x6ca2f420, 0x2ed3b: 0x6ca2f620,\n\t0x2ed3c: 0x6ca2f820, 0x2ed3d: 0x6ca2fa20, 0x2ed3e: 0x6ca2fc20, 0x2ed3f: 0x6ca2fe20,\n\t// Block 0xbb5, offset 0x2ed40\n\t0x2ed40: 0x6ca30020, 0x2ed41: 0x6ca30220, 0x2ed42: 0x6ca30420, 0x2ed43: 0x6ca30620,\n\t0x2ed44: 0x6ca30820, 0x2ed45: 0x6ca30a20, 0x2ed46: 0x6ca30c20, 0x2ed47: 0x6ca30e20,\n\t0x2ed48: 0x6ca31020, 0x2ed49: 0x6c7a1820, 0x2ed4a: 0x6ca31220, 0x2ed4b: 0x6ca31420,\n\t0x2ed4c: 0x6ca31620, 0x2ed4d: 0x6ca31820, 0x2ed4e: 0x6ca31a20, 0x2ed4f: 0x6ca31c20,\n\t0x2ed50: 0x6ca31e20, 0x2ed51: 0x6ca32020, 0x2ed52: 0x6ca32220, 0x2ed53: 0x6ca32420,\n\t0x2ed54: 0x6cd08e20, 0x2ed55: 0x6cd09020, 0x2ed56: 0x6cd09220, 0x2ed57: 0x6cd09420,\n\t0x2ed58: 0x6cd09620, 0x2ed59: 0x6cd09820, 0x2ed5a: 0x6cd09a20, 0x2ed5b: 0x6cd09c20,\n\t0x2ed5c: 0x6cd09e20, 0x2ed5d: 0x6cd0a020, 0x2ed5e: 0x6cfe6220, 0x2ed5f: 0x6cd0a220,\n\t0x2ed60: 0x6cd0a420, 0x2ed61: 0x6cd0a620, 0x2ed62: 0x6cd0a820, 0x2ed63: 0x6cd0aa20,\n\t0x2ed64: 0x6cd0ac20, 0x2ed65: 0x6cd0ae20, 0x2ed66: 0x6cd0b020, 0x2ed67: 0x6cfe4c20,\n\t0x2ed68: 0x6cd0b220, 0x2ed69: 0x6cd0b420, 0x2ed6a: 0x6cd0b620, 0x2ed6b: 0x6cd0b820,\n\t0x2ed6c: 0x6cd0ba20, 0x2ed6d: 0x6cd0bc20, 0x2ed6e: 0x6cd0be20, 0x2ed6f: 0x6cd0c020,\n\t0x2ed70: 0x6cd0c220, 0x2ed71: 0x6cd0c420, 0x2ed72: 0x6cd0c620, 0x2ed73: 0x6cd0c820,\n\t0x2ed74: 0x6cd0ca20, 0x2ed75: 0x6cd0cc20, 0x2ed76: 0x6cd0ce20, 0x2ed77: 0x6cd0d020,\n\t0x2ed78: 0x6cd0d220, 0x2ed79: 0x6cd0d420, 0x2ed7a: 0x6cd0d620, 0x2ed7b: 0x6cd0d820,\n\t0x2ed7c: 0x6cd0da20, 0x2ed7d: 0x6cfe6420, 0x2ed7e: 0x6cfe6620, 0x2ed7f: 0x6cfe6820,\n\t// Block 0xbb6, offset 0x2ed80\n\t0x2ed80: 0x6cfe6a20, 0x2ed81: 0x6cfe6c20, 0x2ed82: 0x6cfe6e20, 0x2ed83: 0x6cfe7020,\n\t0x2ed84: 0x6cfe7220, 0x2ed85: 0x6cfe7420, 0x2ed86: 0x6cfe7620, 0x2ed87: 0x6cfe7820,\n\t0x2ed88: 0x6cfe7a20, 0x2ed89: 0x6cfe7c20, 0x2ed8a: 0x6cfe7e20, 0x2ed8b: 0x6cfe8020,\n\t0x2ed8c: 0x6cfe8220, 0x2ed8d: 0x6cfe8420, 0x2ed8e: 0x6cfe8620, 0x2ed8f: 0x6cfe8820,\n\t0x2ed90: 0x6cfe8a20, 0x2ed91: 0x6cfe8c20, 0x2ed92: 0x6cfe8e20, 0x2ed93: 0x6cfe9020,\n\t0x2ed94: 0x6cfe9220, 0x2ed95: 0x6cfe9420, 0x2ed96: 0x6cfe9620, 0x2ed97: 0x6cfe9820,\n\t0x2ed98: 0x6cfe9a20, 0x2ed99: 0x6cfe9c20, 0x2ed9a: 0x6cfe9e20, 0x2ed9b: 0x6cfea020,\n\t0x2ed9c: 0x6cfea220, 0x2ed9d: 0x6cfea420, 0x2ed9e: 0x6cfea620, 0x2ed9f: 0x6cfea820,\n\t0x2eda0: 0x6d2cea20, 0x2eda1: 0x6d2cec20, 0x2eda2: 0x6d2cee20, 0x2eda3: 0x6d2cf020,\n\t0x2eda4: 0x6d2cf220, 0x2eda5: 0x6d2cf420, 0x2eda6: 0x6d2cf620, 0x2eda7: 0x6d2cf820,\n\t0x2eda8: 0x6d2cfa20, 0x2eda9: 0x6d5a0620, 0x2edaa: 0x6d2cfc20, 0x2edab: 0x6d2cfe20,\n\t0x2edac: 0x6d5a0820, 0x2edad: 0x6d2d0020, 0x2edae: 0x6d2d0220, 0x2edaf: 0x6cff4020,\n\t0x2edb0: 0x6d2d0420, 0x2edb1: 0x6d2d0620, 0x2edb2: 0x6d2d0820, 0x2edb3: 0x6d2d0a20,\n\t0x2edb4: 0x6d2d0c20, 0x2edb5: 0x6d2d0e20, 0x2edb6: 0x6d2d1020, 0x2edb7: 0x6d2d1220,\n\t0x2edb8: 0x6d2d1420, 0x2edb9: 0x6d5a1e20, 0x2edba: 0x6d5a2020, 0x2edbb: 0x6d5a2220,\n\t0x2edbc: 0x6d5a2420, 0x2edbd: 0x6d5a2620, 0x2edbe: 0x6d5a2820, 0x2edbf: 0x6d84cc20,\n\t// Block 0xbb7, offset 0x2edc0\n\t0x2edc0: 0x6d5a2a20, 0x2edc1: 0x6d5a2c20, 0x2edc2: 0x6d5a2e20, 0x2edc3: 0x6d5a3020,\n\t0x2edc4: 0x6d5a3220, 0x2edc5: 0x6d5a3420, 0x2edc6: 0x6d5a3620, 0x2edc7: 0x6d5a3820,\n\t0x2edc8: 0x6d5a3a20, 0x2edc9: 0x6d5a3c20, 0x2edca: 0x6d5a3e20, 0x2edcb: 0x6d5a4020,\n\t0x2edcc: 0x6d5a4220, 0x2edcd: 0x6d84da20, 0x2edce: 0x6d5a4420, 0x2edcf: 0x6d84dc20,\n\t0x2edd0: 0x6da99a20, 0x2edd1: 0x6d84de20, 0x2edd2: 0x6d84e020, 0x2edd3: 0x6d5a4620,\n\t0x2edd4: 0x6d84e220, 0x2edd5: 0x6d84e420, 0x2edd6: 0x6d84e620, 0x2edd7: 0x6da99c20,\n\t0x2edd8: 0x6d84e820, 0x2edd9: 0x6d84ea20, 0x2edda: 0x6d84ec20, 0x2eddb: 0x6d84ee20,\n\t0x2eddc: 0x6d84f020, 0x2eddd: 0x6d84f220, 0x2edde: 0x6d84f420, 0x2eddf: 0x6d84f620,\n\t0x2ede0: 0x6d84f820, 0x2ede1: 0x6d84fa20, 0x2ede2: 0x6d856820, 0x2ede3: 0x6d84fc20,\n\t0x2ede4: 0x6d84fe20, 0x2ede5: 0x6da9a620, 0x2ede6: 0x6da9a820, 0x2ede7: 0x6dca8820,\n\t0x2ede8: 0x6da9aa20, 0x2ede9: 0x6da9ac20, 0x2edea: 0x6da9ae20, 0x2edeb: 0x6da9b020,\n\t0x2edec: 0x6da9b220, 0x2eded: 0x6da9b420, 0x2edee: 0x6da9b620, 0x2edef: 0x6da9b820,\n\t0x2edf0: 0x6da9ba20, 0x2edf1: 0x6da9bc20, 0x2edf2: 0x6da9be20, 0x2edf3: 0x6da9c020,\n\t0x2edf4: 0x6da9c220, 0x2edf5: 0x6dca8a20, 0x2edf6: 0x6dca8c20, 0x2edf7: 0x6de61c20,\n\t0x2edf8: 0x6dca8e20, 0x2edf9: 0x6dca9020, 0x2edfa: 0x6dfcfc20, 0x2edfb: 0x6dca9220,\n\t0x2edfc: 0x6dca9420, 0x2edfd: 0x6de61e20, 0x2edfe: 0x6dca9620, 0x2edff: 0x6dca9820,\n\t// Block 0xbb8, offset 0x2ee00\n\t0x2ee00: 0x6dca9a20, 0x2ee01: 0x6dca9c20, 0x2ee02: 0x6dca9e20, 0x2ee03: 0x6de62820,\n\t0x2ee04: 0x6de62a20, 0x2ee05: 0x6de62c20, 0x2ee06: 0x6de62e20, 0x2ee07: 0x6de63020,\n\t0x2ee08: 0x6de63220, 0x2ee09: 0x6de63420, 0x2ee0a: 0x6de63620, 0x2ee0b: 0x6de63820,\n\t0x2ee0c: 0x6dfd0020, 0x2ee0d: 0x6dfd0220, 0x2ee0e: 0x6dfd0420, 0x2ee0f: 0x6dfd0620,\n\t0x2ee10: 0x6dfd0820, 0x2ee11: 0x6dfd0a20, 0x2ee12: 0x6dfd0c20, 0x2ee13: 0x6e0fd620,\n\t0x2ee14: 0x6e0fd820, 0x2ee15: 0x6e1eb420, 0x2ee16: 0x6e0fda20, 0x2ee17: 0x6e1eb620,\n\t0x2ee18: 0x6e1eb820, 0x2ee19: 0x6e1eba20, 0x2ee1a: 0x6e2a1c20, 0x2ee1b: 0x6e32de20,\n\t0x2ee1c: 0x6c09fa20, 0x2ee1d: 0x6c3bac20, 0x2ee1e: 0x6c7a7820, 0x2ee1f: 0x6c7a7a20,\n\t0x2ee20: 0x6ca38020, 0x2ee21: 0x6cff4220, 0x2ee22: 0x6d856a20, 0x2ee23: 0x6de66820,\n\t0x2ee24: 0x6e1ec620, 0x2ee25: 0x6e32e420, 0x2ee26: 0x6c09fc20, 0x2ee27: 0x6c24a220,\n\t0x2ee28: 0x6c3bb620, 0x2ee29: 0x6c3bb820, 0x2ee2a: 0x6c57da20, 0x2ee2b: 0x6c57dc20,\n\t0x2ee2c: 0x6c57de20, 0x2ee2d: 0x6c57e020, 0x2ee2e: 0x6c57e220, 0x2ee2f: 0x6c57e420,\n\t0x2ee30: 0x6c57e620, 0x2ee31: 0x6c57e820, 0x2ee32: 0x6c57ea20, 0x2ee33: 0x6c7a9020,\n\t0x2ee34: 0x6c7a9220, 0x2ee35: 0x6c7a9420, 0x2ee36: 0x6ca39820, 0x2ee37: 0x6ca39a20,\n\t0x2ee38: 0x6ca39c20, 0x2ee39: 0x6cd17820, 0x2ee3a: 0x6cd17a20, 0x2ee3b: 0x6cd17c20,\n\t0x2ee3c: 0x6cd17e20, 0x2ee3d: 0x6cff6020, 0x2ee3e: 0x6cff6220, 0x2ee3f: 0x6cff6420,\n\t// Block 0xbb9, offset 0x2ee40\n\t0x2ee40: 0x6d2d9620, 0x2ee41: 0x6cff6620, 0x2ee42: 0x6d2da420, 0x2ee43: 0x6d2da620,\n\t0x2ee44: 0x6d2da820, 0x2ee45: 0x6d2daa20, 0x2ee46: 0x6d2dac20, 0x2ee47: 0x6d5acc20,\n\t0x2ee48: 0x6d5ace20, 0x2ee49: 0x6d5ad020, 0x2ee4a: 0x6d857a20, 0x2ee4b: 0x6d857c20,\n\t0x2ee4c: 0x6d857e20, 0x2ee4d: 0x6d858020, 0x2ee4e: 0x6d858220, 0x2ee4f: 0x6daa2020,\n\t0x2ee50: 0x6daa2220, 0x2ee51: 0x6daa2420, 0x2ee52: 0x6daa2620, 0x2ee53: 0x6dcaee20,\n\t0x2ee54: 0x6dcaf020, 0x2ee55: 0x6dcaf220, 0x2ee56: 0x6de66e20, 0x2ee57: 0x6e0ffa20,\n\t0x2ee58: 0x6c09fe20, 0x2ee59: 0x6c3bc420, 0x2ee5a: 0x6c57fe20, 0x2ee5b: 0x6ca3ba20,\n\t0x2ee5c: 0x6ca3bc20, 0x2ee5d: 0x6cff8a20, 0x2ee5e: 0x6cff8c20, 0x2ee5f: 0x6c0a0220,\n\t0x2ee60: 0x6c580a20, 0x2ee61: 0x6c7ab220, 0x2ee62: 0x6ca3be20, 0x2ee63: 0x6ca3c020,\n\t0x2ee64: 0x6cd1a420, 0x2ee65: 0x6cd1a620, 0x2ee66: 0x6cd1a820, 0x2ee67: 0x6d2dd620,\n\t0x2ee68: 0x6c0a0620, 0x2ee69: 0x6c0a0820, 0x2ee6a: 0x6c13d020, 0x2ee6b: 0x6c24aa20,\n\t0x2ee6c: 0x6c24ac20, 0x2ee6d: 0x6c581a20, 0x2ee6e: 0x6c581c20, 0x2ee6f: 0x6cd1b620,\n\t0x2ee70: 0x6c0a0a20, 0x2ee71: 0x6c0a0c20, 0x2ee72: 0x6c0a0e20, 0x2ee73: 0x6c0a1020,\n\t0x2ee74: 0x6c0a1220, 0x2ee75: 0x6c0a1420, 0x2ee76: 0x6c13d620, 0x2ee77: 0x6c24b620,\n\t0x2ee78: 0x6c24b820, 0x2ee79: 0x6c24ba20, 0x2ee7a: 0x6c24bc20, 0x2ee7b: 0x6c3be220,\n\t0x2ee7c: 0x6c24be20, 0x2ee7d: 0x6c3be420, 0x2ee7e: 0x6c3be620, 0x2ee7f: 0x6c3be820,\n\t// Block 0xbba, offset 0x2ee80\n\t0x2ee80: 0x6c3bea20, 0x2ee81: 0x6c3bec20, 0x2ee82: 0x6c3bee20, 0x2ee83: 0x6c3bf020,\n\t0x2ee84: 0x6c3bf220, 0x2ee85: 0x6c3bf420, 0x2ee86: 0x6c582420, 0x2ee87: 0x6c582620,\n\t0x2ee88: 0x6c582820, 0x2ee89: 0x6c582a20, 0x2ee8a: 0x6c582c20, 0x2ee8b: 0x6c582e20,\n\t0x2ee8c: 0x6c583020, 0x2ee8d: 0x6c583220, 0x2ee8e: 0x6c583420, 0x2ee8f: 0x6c583620,\n\t0x2ee90: 0x6c583820, 0x2ee91: 0x6c583a20, 0x2ee92: 0x6c583c20, 0x2ee93: 0x6c583e20,\n\t0x2ee94: 0x6c7abe20, 0x2ee95: 0x6c7ac020, 0x2ee96: 0x6c7ac220, 0x2ee97: 0x6c7ac420,\n\t0x2ee98: 0x6c7ac620, 0x2ee99: 0x6c7ac820, 0x2ee9a: 0x6c7aca20, 0x2ee9b: 0x6c7acc20,\n\t0x2ee9c: 0x6c7ace20, 0x2ee9d: 0x6c7ad020, 0x2ee9e: 0x6c7ad220, 0x2ee9f: 0x6c7ad420,\n\t0x2eea0: 0x6c7bac20, 0x2eea1: 0x6ca3d620, 0x2eea2: 0x6ca3d820, 0x2eea3: 0x6ca3da20,\n\t0x2eea4: 0x6ca3dc20, 0x2eea5: 0x6ca3de20, 0x2eea6: 0x6ca3e020, 0x2eea7: 0x6ca3e220,\n\t0x2eea8: 0x6ca89a20, 0x2eea9: 0x6ca3e420, 0x2eeaa: 0x6cd1be20, 0x2eeab: 0x6cd1c020,\n\t0x2eeac: 0x6cd1c220, 0x2eead: 0x6cd1c420, 0x2eeae: 0x6cd1c620, 0x2eeaf: 0x6cd1c820,\n\t0x2eeb0: 0x6ca3e620, 0x2eeb1: 0x6cd20620, 0x2eeb2: 0x6cd1ca20, 0x2eeb3: 0x6cd1cc20,\n\t0x2eeb4: 0x6cd1ce20, 0x2eeb5: 0x6cffaa20, 0x2eeb6: 0x6cffac20, 0x2eeb7: 0x6cffae20,\n\t0x2eeb8: 0x6cffb020, 0x2eeb9: 0x6cffb220, 0x2eeba: 0x6cffb420, 0x2eebb: 0x6d2de220,\n\t0x2eebc: 0x6d2de420, 0x2eebd: 0x6d2de620, 0x2eebe: 0x6d5b0420, 0x2eebf: 0x6d5b0620,\n\t// Block 0xbbb, offset 0x2eec0\n\t0x2eec0: 0x6d85a020, 0x2eec1: 0x6d85a220, 0x2eec2: 0x6d85a420, 0x2eec3: 0x6daa4620,\n\t0x2eec4: 0x6daa4820, 0x2eec5: 0x6dcb0e20, 0x2eec6: 0x6de68020, 0x2eec7: 0x6de68220,\n\t0x2eec8: 0x6dfd3620, 0x2eec9: 0x6dfd4820, 0x2eeca: 0x6e1ede20, 0x2eecb: 0x6c0a1a20,\n\t0x2eecc: 0x6c3c1420, 0x2eecd: 0x6c7b0e20, 0x2eece: 0x6cd20820, 0x2eecf: 0x6cd20a20,\n\t0x2eed0: 0x6d2e0420, 0x2eed1: 0x6d2e0620, 0x2eed2: 0x6c0a2020, 0x2eed3: 0x6c24d820,\n\t0x2eed4: 0x6c24da20, 0x2eed5: 0x6c24dc20, 0x2eed6: 0x6c24de20, 0x2eed7: 0x6c24e020,\n\t0x2eed8: 0x6c3c2020, 0x2eed9: 0x6c3c2220, 0x2eeda: 0x6c3c2420, 0x2eedb: 0x6c3c2620,\n\t0x2eedc: 0x6c3c2820, 0x2eedd: 0x6c3c2a20, 0x2eede: 0x6c3c2c20, 0x2eedf: 0x6c3c2e20,\n\t0x2eee0: 0x6c3c3020, 0x2eee1: 0x6c3c4220, 0x2eee2: 0x6c589c20, 0x2eee3: 0x6c589e20,\n\t0x2eee4: 0x6c58a020, 0x2eee5: 0x6c58a220, 0x2eee6: 0x6c58a420, 0x2eee7: 0x6c58a620,\n\t0x2eee8: 0x6c58a820, 0x2eee9: 0x6c58aa20, 0x2eeea: 0x6c58ac20, 0x2eeeb: 0x6c58ae20,\n\t0x2eeec: 0x6c58b020, 0x2eeed: 0x6c58b220, 0x2eeee: 0x6c58b420, 0x2eeef: 0x6c58b620,\n\t0x2eef0: 0x6c7b2c20, 0x2eef1: 0x6c7b2e20, 0x2eef2: 0x6c7b3020, 0x2eef3: 0x6c7b3220,\n\t0x2eef4: 0x6c7b3420, 0x2eef5: 0x6ca41a20, 0x2eef6: 0x6c7b3620, 0x2eef7: 0x6c7b3820,\n\t0x2eef8: 0x6c7b3a20, 0x2eef9: 0x6c7b3c20, 0x2eefa: 0x6c58b820, 0x2eefb: 0x6c7b3e20,\n\t0x2eefc: 0x6c7b4020, 0x2eefd: 0x6c7b4220, 0x2eefe: 0x6c7b4420, 0x2eeff: 0x6c7b4620,\n\t// Block 0xbbc, offset 0x2ef00\n\t0x2ef00: 0x6c7b4820, 0x2ef01: 0x6c7b4a20, 0x2ef02: 0x6c7b4c20, 0x2ef03: 0x6c7b4e20,\n\t0x2ef04: 0x6c7b5020, 0x2ef05: 0x6c7b5220, 0x2ef06: 0x6c7b5420, 0x2ef07: 0x6c7b5620,\n\t0x2ef08: 0x6c7b5820, 0x2ef09: 0x6c7b5a20, 0x2ef0a: 0x6ca42e20, 0x2ef0b: 0x6ca43020,\n\t0x2ef0c: 0x6ca43220, 0x2ef0d: 0x6ca43420, 0x2ef0e: 0x6ca43620, 0x2ef0f: 0x6ca43820,\n\t0x2ef10: 0x6ca43a20, 0x2ef11: 0x6ca43c20, 0x2ef12: 0x6ca43e20, 0x2ef13: 0x6ca44020,\n\t0x2ef14: 0x6ca44220, 0x2ef15: 0x6ca44420, 0x2ef16: 0x6ca44620, 0x2ef17: 0x6cd23020,\n\t0x2ef18: 0x6cd23220, 0x2ef19: 0x6cd23420, 0x2ef1a: 0x6cd23620, 0x2ef1b: 0x6cd23820,\n\t0x2ef1c: 0x6cd23a20, 0x2ef1d: 0x6cd23c20, 0x2ef1e: 0x6cd23e20, 0x2ef1f: 0x6cd24020,\n\t0x2ef20: 0x6cd24220, 0x2ef21: 0x6cd24420, 0x2ef22: 0x6cd24620, 0x2ef23: 0x6cd24820,\n\t0x2ef24: 0x6cd24a20, 0x2ef25: 0x6cd24c20, 0x2ef26: 0x6cd24e20, 0x2ef27: 0x6cd25020,\n\t0x2ef28: 0x6cd25220, 0x2ef29: 0x6cd25420, 0x2ef2a: 0x6cd25620, 0x2ef2b: 0x6cd25820,\n\t0x2ef2c: 0x6d000620, 0x2ef2d: 0x6d000820, 0x2ef2e: 0x6d000a20, 0x2ef2f: 0x6d000c20,\n\t0x2ef30: 0x6d000e20, 0x2ef31: 0x6d001020, 0x2ef32: 0x6d001220, 0x2ef33: 0x6d001420,\n\t0x2ef34: 0x6d001620, 0x2ef35: 0x6d001820, 0x2ef36: 0x6d001a20, 0x2ef37: 0x6d001c20,\n\t0x2ef38: 0x6d001e20, 0x2ef39: 0x6d002020, 0x2ef3a: 0x6d002220, 0x2ef3b: 0x6d002420,\n\t0x2ef3c: 0x6d002620, 0x2ef3d: 0x6d002820, 0x2ef3e: 0x6d002a20, 0x2ef3f: 0x6d002c20,\n\t// Block 0xbbd, offset 0x2ef40\n\t0x2ef40: 0x6d002e20, 0x2ef41: 0x6d003020, 0x2ef42: 0x6d003220, 0x2ef43: 0x6d003420,\n\t0x2ef44: 0x6d003620, 0x2ef45: 0x6d003820, 0x2ef46: 0x6d003a20, 0x2ef47: 0x6d2e2020,\n\t0x2ef48: 0x6d2e2220, 0x2ef49: 0x6d2e2420, 0x2ef4a: 0x6d2e2620, 0x2ef4b: 0x6d2e2820,\n\t0x2ef4c: 0x6d2e2a20, 0x2ef4d: 0x6d2e2c20, 0x2ef4e: 0x6d2e2e20, 0x2ef4f: 0x6d00b020,\n\t0x2ef50: 0x6d00b220, 0x2ef51: 0x6d2e3020, 0x2ef52: 0x6d2e3220, 0x2ef53: 0x6d2e3420,\n\t0x2ef54: 0x6d2e3620, 0x2ef55: 0x6d2e3820, 0x2ef56: 0x6d2e3a20, 0x2ef57: 0x6d2e3c20,\n\t0x2ef58: 0x6d2e3e20, 0x2ef59: 0x6d5b4a20, 0x2ef5a: 0x6d5b4c20, 0x2ef5b: 0x6d5b4e20,\n\t0x2ef5c: 0x6d5b5020, 0x2ef5d: 0x6d5b5220, 0x2ef5e: 0x6d5b5420, 0x2ef5f: 0x6d5b3020,\n\t0x2ef60: 0x6d5b5620, 0x2ef61: 0x6d5b5820, 0x2ef62: 0x6d5b5a20, 0x2ef63: 0x6d5b5c20,\n\t0x2ef64: 0x6d5b5e20, 0x2ef65: 0x6d5b6020, 0x2ef66: 0x6d5b6220, 0x2ef67: 0x6d2e4020,\n\t0x2ef68: 0x6d5b6420, 0x2ef69: 0x6d5b6620, 0x2ef6a: 0x6d5b6820, 0x2ef6b: 0x6d5b6a20,\n\t0x2ef6c: 0x6d85d420, 0x2ef6d: 0x6d85d620, 0x2ef6e: 0x6d85d820, 0x2ef6f: 0x6d85da20,\n\t0x2ef70: 0x6d85dc20, 0x2ef71: 0x6d85de20, 0x2ef72: 0x6d85e020, 0x2ef73: 0x6d85e220,\n\t0x2ef74: 0x6d85e420, 0x2ef75: 0x6d85e620, 0x2ef76: 0x6d85e820, 0x2ef77: 0x6d85ea20,\n\t0x2ef78: 0x6d85ec20, 0x2ef79: 0x6d85ee20, 0x2ef7a: 0x6d85f020, 0x2ef7b: 0x6d85f220,\n\t0x2ef7c: 0x6d85f420, 0x2ef7d: 0x6d85f620, 0x2ef7e: 0x6d85f820, 0x2ef7f: 0x6d85fa20,\n\t// Block 0xbbe, offset 0x2ef80\n\t0x2ef80: 0x6daa7420, 0x2ef81: 0x6daa7620, 0x2ef82: 0x6daa7820, 0x2ef83: 0x6daa7a20,\n\t0x2ef84: 0x6daa7c20, 0x2ef85: 0x6daa7e20, 0x2ef86: 0x6daa8020, 0x2ef87: 0x6daa8220,\n\t0x2ef88: 0x6daa8420, 0x2ef89: 0x6daa8620, 0x2ef8a: 0x6d85fc20, 0x2ef8b: 0x6daa8820,\n\t0x2ef8c: 0x6daa8a20, 0x2ef8d: 0x6daa8c20, 0x2ef8e: 0x6daa8e20, 0x2ef8f: 0x6dcb2c20,\n\t0x2ef90: 0x6dcb2e20, 0x2ef91: 0x6dcb3020, 0x2ef92: 0x6dcb3220, 0x2ef93: 0x6dcb3420,\n\t0x2ef94: 0x6dcb3620, 0x2ef95: 0x6dcb3820, 0x2ef96: 0x6dcb3a20, 0x2ef97: 0x6dcb3c20,\n\t0x2ef98: 0x6dcb3e20, 0x2ef99: 0x6dcb4020, 0x2ef9a: 0x6dcb4220, 0x2ef9b: 0x6dcb4420,\n\t0x2ef9c: 0x6dcb4620, 0x2ef9d: 0x6dcb4820, 0x2ef9e: 0x6dcb4a20, 0x2ef9f: 0x6de69c20,\n\t0x2efa0: 0x6de69e20, 0x2efa1: 0x6de6a020, 0x2efa2: 0x6dfd4c20, 0x2efa3: 0x6de6a220,\n\t0x2efa4: 0x6dcb8220, 0x2efa5: 0x6dfd4e20, 0x2efa6: 0x6dfd5020, 0x2efa7: 0x6e102420,\n\t0x2efa8: 0x6e102620, 0x2efa9: 0x6e102820, 0x2efaa: 0x6e102a20, 0x2efab: 0x6e102c20,\n\t0x2efac: 0x6e1eea20, 0x2efad: 0x6e1eec20, 0x2efae: 0x6e1eee20, 0x2efaf: 0x6e2a4a20,\n\t0x2efb0: 0x6e2a4c20, 0x2efb1: 0x6e32f220, 0x2efb2: 0x6e32f420, 0x2efb3: 0x6e3d8020,\n\t0x2efb4: 0x6e42ca20, 0x2efb5: 0x6e452a20, 0x2efb6: 0x6c0a2220, 0x2efb7: 0x6c3c4420,\n\t0x2efb8: 0x6c590220, 0x2efb9: 0x6c590420, 0x2efba: 0x6c590620, 0x2efbb: 0x6cd2b820,\n\t0x2efbc: 0x6cd2ba20, 0x2efbd: 0x6c0a2420, 0x2efbe: 0x6c13e020, 0x2efbf: 0x6c13e220,\n\t// Block 0xbbf, offset 0x2efc0\n\t0x2efc0: 0x6c24fa20, 0x2efc1: 0x6c24fc20, 0x2efc2: 0x6c24fe20, 0x2efc3: 0x6c250020,\n\t0x2efc4: 0x6c3c4620, 0x2efc5: 0x6c590e20, 0x2efc6: 0x6c591020, 0x2efc7: 0x6c591220,\n\t0x2efc8: 0x6c591420, 0x2efc9: 0x6ca48c20, 0x2efca: 0x6c7bae20, 0x2efcb: 0x6c7bb020,\n\t0x2efcc: 0x6c7bb220, 0x2efcd: 0x6c7bb420, 0x2efce: 0x6ca49220, 0x2efcf: 0x6ca49420,\n\t0x2efd0: 0x6ca49620, 0x2efd1: 0x6ca49820, 0x2efd2: 0x6cd2c420, 0x2efd3: 0x6cd2c620,\n\t0x2efd4: 0x6cd2c820, 0x2efd5: 0x6cd2ca20, 0x2efd6: 0x6cd2cc20, 0x2efd7: 0x6d00bc20,\n\t0x2efd8: 0x6d00be20, 0x2efd9: 0x6d00c020, 0x2efda: 0x6d5bde20, 0x2efdb: 0x6d5be020,\n\t0x2efdc: 0x6d5be220, 0x2efdd: 0x6d5be420, 0x2efde: 0x6d5be620, 0x2efdf: 0x6d865420,\n\t0x2efe0: 0x6d865620, 0x2efe1: 0x6d865820, 0x2efe2: 0x6dab0020, 0x2efe3: 0x6dab0220,\n\t0x2efe4: 0x6dab0420, 0x2efe5: 0x6dab0620, 0x2efe6: 0x6dcb8420, 0x2efe7: 0x6dcb8620,\n\t0x2efe8: 0x6dcb8820, 0x2efe9: 0x6de6de20, 0x2efea: 0x6dfd7420, 0x2efeb: 0x6dfd7620,\n\t0x2efec: 0x6e104620, 0x2efed: 0x6e1f0020, 0x2efee: 0x6c0a2620, 0x2efef: 0x6c3c5620,\n\t0x2eff0: 0x6c7bd820, 0x2eff1: 0x6c7bda20, 0x2eff2: 0x6ca4ac20, 0x2eff3: 0x6cd2f020,\n\t0x2eff4: 0x6cd2f220, 0x2eff5: 0x6d00e820, 0x2eff6: 0x6d2ecc20, 0x2eff7: 0x6d2ece20,\n\t0x2eff8: 0x6d2ed020, 0x2eff9: 0x6d2ed220, 0x2effa: 0x6d5bfc20, 0x2effb: 0x6d866620,\n\t0x2effc: 0x6dab1620, 0x2effd: 0x6dcb9420, 0x2effe: 0x6dfd8220, 0x2efff: 0x6c0a2820,\n\t// Block 0xbc0, offset 0x2f000\n\t0x2f000: 0x6c250c20, 0x2f001: 0x6c250e20, 0x2f002: 0x6c3c6820, 0x2f003: 0x6c595220,\n\t0x2f004: 0x6c595420, 0x2f005: 0x6c595620, 0x2f006: 0x6c595820, 0x2f007: 0x6c595a20,\n\t0x2f008: 0x6c595c20, 0x2f009: 0x6c7bf620, 0x2f00a: 0x6c7bf820, 0x2f00b: 0x6c7bfa20,\n\t0x2f00c: 0x6c7bfc20, 0x2f00d: 0x6c7bfe20, 0x2f00e: 0x6c7c0020, 0x2f00f: 0x6c7c0220,\n\t0x2f010: 0x6c7c0420, 0x2f011: 0x6c7c0620, 0x2f012: 0x6ca4c220, 0x2f013: 0x6ca4c420,\n\t0x2f014: 0x6ca4c620, 0x2f015: 0x6ca4c820, 0x2f016: 0x6ca4ca20, 0x2f017: 0x6ca4cc20,\n\t0x2f018: 0x6ca4ce20, 0x2f019: 0x6cd30c20, 0x2f01a: 0x6cd30e20, 0x2f01b: 0x6ca4d020,\n\t0x2f01c: 0x6cd31020, 0x2f01d: 0x6d010c20, 0x2f01e: 0x6d010e20, 0x2f01f: 0x6d011020,\n\t0x2f020: 0x6d2ef420, 0x2f021: 0x6d2ef620, 0x2f022: 0x6d2ef820, 0x2f023: 0x6d2efa20,\n\t0x2f024: 0x6d5c0c20, 0x2f025: 0x6d868220, 0x2f026: 0x6d868420, 0x2f027: 0x6d868620,\n\t0x2f028: 0x6dab2020, 0x2f029: 0x6dab2220, 0x2f02a: 0x6dab2420, 0x2f02b: 0x6dcba820,\n\t0x2f02c: 0x6dcbaa20, 0x2f02d: 0x6dfd8e20, 0x2f02e: 0x6c0a2a20, 0x2f02f: 0x6c251820,\n\t0x2f030: 0x6c3c8020, 0x2f031: 0x6c3c8220, 0x2f032: 0x6c3c8420, 0x2f033: 0x6c3c8620,\n\t0x2f034: 0x6c3c8820, 0x2f035: 0x6c3c8a20, 0x2f036: 0x6c598820, 0x2f037: 0x6c598a20,\n\t0x2f038: 0x6c598c20, 0x2f039: 0x6c598e20, 0x2f03a: 0x6c599020, 0x2f03b: 0x6c599220,\n\t0x2f03c: 0x6c599420, 0x2f03d: 0x6c599620, 0x2f03e: 0x6c599820, 0x2f03f: 0x6c599a20,\n\t// Block 0xbc1, offset 0x2f040\n\t0x2f040: 0x6c599c20, 0x2f041: 0x6c599e20, 0x2f042: 0x6c59a020, 0x2f043: 0x6c59a220,\n\t0x2f044: 0x6c59a420, 0x2f045: 0x6c59a620, 0x2f046: 0x6c59a820, 0x2f047: 0x6c59aa20,\n\t0x2f048: 0x6c59ac20, 0x2f049: 0x6c59ae20, 0x2f04a: 0x6c59b020, 0x2f04b: 0x6c59b220,\n\t0x2f04c: 0x6c59b420, 0x2f04d: 0x6c59b620, 0x2f04e: 0x6c7c3e20, 0x2f04f: 0x6c7c4020,\n\t0x2f050: 0x6c7c4220, 0x2f051: 0x6c7c4420, 0x2f052: 0x6c7c4620, 0x2f053: 0x6c7c4820,\n\t0x2f054: 0x6c7c4a20, 0x2f055: 0x6c7c4c20, 0x2f056: 0x6c7c4e20, 0x2f057: 0x6c7c5020,\n\t0x2f058: 0x6c7c5220, 0x2f059: 0x6c7c5420, 0x2f05a: 0x6c7c5620, 0x2f05b: 0x6c7c5820,\n\t0x2f05c: 0x6c7c5a20, 0x2f05d: 0x6c7c5c20, 0x2f05e: 0x6c7c5e20, 0x2f05f: 0x6c7c6020,\n\t0x2f060: 0x6c7c6220, 0x2f061: 0x6c7c6420, 0x2f062: 0x6c7c6620, 0x2f063: 0x6c7c6820,\n\t0x2f064: 0x6c7c6a20, 0x2f065: 0x6ca4ee20, 0x2f066: 0x6ca4f020, 0x2f067: 0x6c7c6c20,\n\t0x2f068: 0x6c7c6e20, 0x2f069: 0x6c7c7020, 0x2f06a: 0x6c7c7220, 0x2f06b: 0x6c7c7420,\n\t0x2f06c: 0x6c7c7620, 0x2f06d: 0x6ca50220, 0x2f06e: 0x6ca50420, 0x2f06f: 0x6ca50620,\n\t0x2f070: 0x6ca50820, 0x2f071: 0x6ca50a20, 0x2f072: 0x6ca50c20, 0x2f073: 0x6ca50e20,\n\t0x2f074: 0x6ca51020, 0x2f075: 0x6ca51220, 0x2f076: 0x6ca51420, 0x2f077: 0x6ca51620,\n\t0x2f078: 0x6ca51820, 0x2f079: 0x6ca51a20, 0x2f07a: 0x6ca51c20, 0x2f07b: 0x6ca51e20,\n\t0x2f07c: 0x6ca52020, 0x2f07d: 0x6ca52220, 0x2f07e: 0x6ca52420, 0x2f07f: 0x6c7c7820,\n\t// Block 0xbc2, offset 0x2f080\n\t0x2f080: 0x6ca59220, 0x2f081: 0x6ca52620, 0x2f082: 0x6cd35020, 0x2f083: 0x6cd35220,\n\t0x2f084: 0x6cd35420, 0x2f085: 0x6cd35620, 0x2f086: 0x6cd35820, 0x2f087: 0x6cd35a20,\n\t0x2f088: 0x6cd35c20, 0x2f089: 0x6cd35e20, 0x2f08a: 0x6cd36020, 0x2f08b: 0x6cd36220,\n\t0x2f08c: 0x6cd36420, 0x2f08d: 0x6cd36620, 0x2f08e: 0x6cd36820, 0x2f08f: 0x6cd36a20,\n\t0x2f090: 0x6cd36c20, 0x2f091: 0x6cd36e20, 0x2f092: 0x6d014220, 0x2f093: 0x6d014420,\n\t0x2f094: 0x6d014620, 0x2f095: 0x6d014820, 0x2f096: 0x6d014a20, 0x2f097: 0x6d014c20,\n\t0x2f098: 0x6d014e20, 0x2f099: 0x6d015020, 0x2f09a: 0x6d015220, 0x2f09b: 0x6d015420,\n\t0x2f09c: 0x6d015620, 0x2f09d: 0x6d015820, 0x2f09e: 0x6d015a20, 0x2f09f: 0x6d015c20,\n\t0x2f0a0: 0x6d015e20, 0x2f0a1: 0x6d01f620, 0x2f0a2: 0x6d016020, 0x2f0a3: 0x6d016220,\n\t0x2f0a4: 0x6d016420, 0x2f0a5: 0x6d016620, 0x2f0a6: 0x6d016820, 0x2f0a7: 0x6d016a20,\n\t0x2f0a8: 0x6d016c20, 0x2f0a9: 0x6d016e20, 0x2f0aa: 0x6d017020, 0x2f0ab: 0x6d017220,\n\t0x2f0ac: 0x6d017420, 0x2f0ad: 0x6d017620, 0x2f0ae: 0x6d2f2220, 0x2f0af: 0x6d2f2420,\n\t0x2f0b0: 0x6d2f2620, 0x2f0b1: 0x6d2f2820, 0x2f0b2: 0x6d2f2a20, 0x2f0b3: 0x6d2f2c20,\n\t0x2f0b4: 0x6d2f2e20, 0x2f0b5: 0x6d2f3020, 0x2f0b6: 0x6d2f3220, 0x2f0b7: 0x6d2f3420,\n\t0x2f0b8: 0x6d2f3620, 0x2f0b9: 0x6d01f820, 0x2f0ba: 0x6d2f3820, 0x2f0bb: 0x6d2f3a20,\n\t0x2f0bc: 0x6d2f3c20, 0x2f0bd: 0x6d2f3e20, 0x2f0be: 0x6d2f4020, 0x2f0bf: 0x6d2f4220,\n\t// Block 0xbc3, offset 0x2f0c0\n\t0x2f0c0: 0x6d2f4420, 0x2f0c1: 0x6d2f4620, 0x2f0c2: 0x6d2f4820, 0x2f0c3: 0x6d2f4a20,\n\t0x2f0c4: 0x6d2f4c20, 0x2f0c5: 0x6d2f4e20, 0x2f0c6: 0x6d2f5020, 0x2f0c7: 0x6d5c3e20,\n\t0x2f0c8: 0x6d5c4020, 0x2f0c9: 0x6d5c4220, 0x2f0ca: 0x6d5c4420, 0x2f0cb: 0x6d5c4620,\n\t0x2f0cc: 0x6d5c4820, 0x2f0cd: 0x6d5c4a20, 0x2f0ce: 0x6d5c4c20, 0x2f0cf: 0x6d5c4e20,\n\t0x2f0d0: 0x6d5c5020, 0x2f0d1: 0x6d5c5220, 0x2f0d2: 0x6d5c5420, 0x2f0d3: 0x6d5c5620,\n\t0x2f0d4: 0x6d86c020, 0x2f0d5: 0x6d86c220, 0x2f0d6: 0x6d86c420, 0x2f0d7: 0x6d86c620,\n\t0x2f0d8: 0x6d86c820, 0x2f0d9: 0x6d86ca20, 0x2f0da: 0x6d86cc20, 0x2f0db: 0x6d86ce20,\n\t0x2f0dc: 0x6d86d020, 0x2f0dd: 0x6d86d220, 0x2f0de: 0x6d86d420, 0x2f0df: 0x6d86d620,\n\t0x2f0e0: 0x6d86d820, 0x2f0e1: 0x6d86da20, 0x2f0e2: 0x6d86dc20, 0x2f0e3: 0x6d86de20,\n\t0x2f0e4: 0x6dab6020, 0x2f0e5: 0x6d875220, 0x2f0e6: 0x6dab6220, 0x2f0e7: 0x6dab6420,\n\t0x2f0e8: 0x6dab6620, 0x2f0e9: 0x6dab6820, 0x2f0ea: 0x6dab6a20, 0x2f0eb: 0x6dab6c20,\n\t0x2f0ec: 0x6dab6e20, 0x2f0ed: 0x6dab7020, 0x2f0ee: 0x6dab7220, 0x2f0ef: 0x6dab7420,\n\t0x2f0f0: 0x6dab7620, 0x2f0f1: 0x6dab7820, 0x2f0f2: 0x6dab7a20, 0x2f0f3: 0x6dab7c20,\n\t0x2f0f4: 0x6dab7e20, 0x2f0f5: 0x6dab8020, 0x2f0f6: 0x6dab8220, 0x2f0f7: 0x6dab8420,\n\t0x2f0f8: 0x6dcbcc20, 0x2f0f9: 0x6dcbce20, 0x2f0fa: 0x6dcbd020, 0x2f0fb: 0x6dcbd220,\n\t0x2f0fc: 0x6dcbd420, 0x2f0fd: 0x6dcbd620, 0x2f0fe: 0x6dcbd820, 0x2f0ff: 0x6dcbda20,\n\t// Block 0xbc4, offset 0x2f100\n\t0x2f100: 0x6dcbdc20, 0x2f101: 0x6dcbde20, 0x2f102: 0x6dcbe020, 0x2f103: 0x6de70c20,\n\t0x2f104: 0x6de70e20, 0x2f105: 0x6de71020, 0x2f106: 0x6de71220, 0x2f107: 0x6de71420,\n\t0x2f108: 0x6de71620, 0x2f109: 0x6de71820, 0x2f10a: 0x6de71a20, 0x2f10b: 0x6dfdae20,\n\t0x2f10c: 0x6dfdb020, 0x2f10d: 0x6dfdb220, 0x2f10e: 0x6dfdb420, 0x2f10f: 0x6dfdb620,\n\t0x2f110: 0x6e106020, 0x2f111: 0x6e106220, 0x2f112: 0x6e106420, 0x2f113: 0x6e106620,\n\t0x2f114: 0x6e2a6c20, 0x2f115: 0x6e331420, 0x2f116: 0x6e332020, 0x2f117: 0x6e331620,\n\t0x2f118: 0x6e393a20, 0x2f119: 0x6e393c20, 0x2f11a: 0x6e3d8a20, 0x2f11b: 0x6c0a2c20,\n\t0x2f11c: 0x6c5a1c20, 0x2f11d: 0x6c7cd620, 0x2f11e: 0x6cd3f420, 0x2f11f: 0x6cd3f620,\n\t0x2f120: 0x6d01fa20, 0x2f121: 0x6e394020, 0x2f122: 0x6c0a2e20, 0x2f123: 0x6c253220,\n\t0x2f124: 0x6c3cb620, 0x2f125: 0x6c3cb820, 0x2f126: 0x6c5a2420, 0x2f127: 0x6c5a2620,\n\t0x2f128: 0x6c5a2820, 0x2f129: 0x6c7ce820, 0x2f12a: 0x6ca59e20, 0x2f12b: 0x6ca5a020,\n\t0x2f12c: 0x6cd40c20, 0x2f12d: 0x6cd40e20, 0x2f12e: 0x6d020820, 0x2f12f: 0x6dabf820,\n\t0x2f130: 0x6dabfa20, 0x2f131: 0x6de76020, 0x2f132: 0x6dfde820, 0x2f133: 0x6c0a3020,\n\t0x2f134: 0x6c253a20, 0x2f135: 0x6c253c20, 0x2f136: 0x6c253e20, 0x2f137: 0x6c3cc020,\n\t0x2f138: 0x6c3cc220, 0x2f139: 0x6c3cc420, 0x2f13a: 0x6c3cc620, 0x2f13b: 0x6c3cc820,\n\t0x2f13c: 0x6c3cca20, 0x2f13d: 0x6c3ccc20, 0x2f13e: 0x6c3cce20, 0x2f13f: 0x6c3cd020,\n\t// Block 0xbc5, offset 0x2f140\n\t0x2f140: 0x6c3cd220, 0x2f141: 0x6c3cd420, 0x2f142: 0x6c5a4820, 0x2f143: 0x6c5a4a20,\n\t0x2f144: 0x6c5a4c20, 0x2f145: 0x6c5a4e20, 0x2f146: 0x6c5a5020, 0x2f147: 0x6c5a5220,\n\t0x2f148: 0x6c5a5420, 0x2f149: 0x6c5a5620, 0x2f14a: 0x6c5a5820, 0x2f14b: 0x6c5a5a20,\n\t0x2f14c: 0x6c5a5c20, 0x2f14d: 0x6c5a5e20, 0x2f14e: 0x6c5a6020, 0x2f14f: 0x6c5a6220,\n\t0x2f150: 0x6c5a6420, 0x2f151: 0x6c5a6620, 0x2f152: 0x6c5a6820, 0x2f153: 0x6c5a6a20,\n\t0x2f154: 0x6c5a6c20, 0x2f155: 0x6c5a6e20, 0x2f156: 0x6c5a7020, 0x2f157: 0x6c5a7220,\n\t0x2f158: 0x6c5a7420, 0x2f159: 0x6c5a7620, 0x2f15a: 0x6c5a7820, 0x2f15b: 0x6c5a7a20,\n\t0x2f15c: 0x6c5a7c20, 0x2f15d: 0x6c7d1220, 0x2f15e: 0x6c7d1420, 0x2f15f: 0x6c7d1620,\n\t0x2f160: 0x6c7d1820, 0x2f161: 0x6c7d1a20, 0x2f162: 0x6c7d1c20, 0x2f163: 0x6c7d1e20,\n\t0x2f164: 0x6c7d2020, 0x2f165: 0x6c7d2220, 0x2f166: 0x6ca5ce20, 0x2f167: 0x6c7d2420,\n\t0x2f168: 0x6c7d2620, 0x2f169: 0x6c7d2820, 0x2f16a: 0x6c7d2a20, 0x2f16b: 0x6c7d2c20,\n\t0x2f16c: 0x6c7d2e20, 0x2f16d: 0x6c7d3020, 0x2f16e: 0x6c7d3220, 0x2f16f: 0x6c7d3420,\n\t0x2f170: 0x6c7d3620, 0x2f171: 0x6c7d3820, 0x2f172: 0x6c7d3a20, 0x2f173: 0x6c7d3c20,\n\t0x2f174: 0x6c7d3e20, 0x2f175: 0x6c7d4020, 0x2f176: 0x6c7d4220, 0x2f177: 0x6c7d4420,\n\t0x2f178: 0x6c7d4620, 0x2f179: 0x6c7d4820, 0x2f17a: 0x6c7d4a20, 0x2f17b: 0x6c7d4c20,\n\t0x2f17c: 0x6c7d4e20, 0x2f17d: 0x6c7d5020, 0x2f17e: 0x6c7d5220, 0x2f17f: 0x6c7d5420,\n\t// Block 0xbc6, offset 0x2f180\n\t0x2f180: 0x6c7d5620, 0x2f181: 0x6c7d5820, 0x2f182: 0x6ca5de20, 0x2f183: 0x6ca5e020,\n\t0x2f184: 0x6ca5e220, 0x2f185: 0x6ca5e420, 0x2f186: 0x6ca5e620, 0x2f187: 0x6ca5e820,\n\t0x2f188: 0x6ca5ea20, 0x2f189: 0x6ca5ec20, 0x2f18a: 0x6ca5ee20, 0x2f18b: 0x6ca5f020,\n\t0x2f18c: 0x6ca5f220, 0x2f18d: 0x6ca5f420, 0x2f18e: 0x6ca5f620, 0x2f18f: 0x6ca5f820,\n\t0x2f190: 0x6ca5fa20, 0x2f191: 0x6ca5fc20, 0x2f192: 0x6ca5fe20, 0x2f193: 0x6ca60020,\n\t0x2f194: 0x6ca60220, 0x2f195: 0x6ca60420, 0x2f196: 0x6ca60620, 0x2f197: 0x6ca60820,\n\t0x2f198: 0x6ca60a20, 0x2f199: 0x6ca60c20, 0x2f19a: 0x6ca60e20, 0x2f19b: 0x6ca61020,\n\t0x2f19c: 0x6cd43420, 0x2f19d: 0x6cd43620, 0x2f19e: 0x6cd43820, 0x2f19f: 0x6cd43a20,\n\t0x2f1a0: 0x6cd43c20, 0x2f1a1: 0x6cd43e20, 0x2f1a2: 0x6cd44020, 0x2f1a3: 0x6cd44220,\n\t0x2f1a4: 0x6cd44420, 0x2f1a5: 0x6cd44620, 0x2f1a6: 0x6cd44820, 0x2f1a7: 0x6cd44a20,\n\t0x2f1a8: 0x6cd44c20, 0x2f1a9: 0x6cd44e20, 0x2f1aa: 0x6cd45020, 0x2f1ab: 0x6cd45220,\n\t0x2f1ac: 0x6cd45420, 0x2f1ad: 0x6cd45620, 0x2f1ae: 0x6cd45820, 0x2f1af: 0x6cd45a20,\n\t0x2f1b0: 0x6cd45c20, 0x2f1b1: 0x6cd45e20, 0x2f1b2: 0x6cd46020, 0x2f1b3: 0x6cd46220,\n\t0x2f1b4: 0x6cd46420, 0x2f1b5: 0x6cd46620, 0x2f1b6: 0x6cd46820, 0x2f1b7: 0x6cd46a20,\n\t0x2f1b8: 0x6d025220, 0x2f1b9: 0x6d025420, 0x2f1ba: 0x6d025620, 0x2f1bb: 0x6d025820,\n\t0x2f1bc: 0x6d025a20, 0x2f1bd: 0x6d025c20, 0x2f1be: 0x6d300e20, 0x2f1bf: 0x6d025e20,\n\t// Block 0xbc7, offset 0x2f1c0\n\t0x2f1c0: 0x6d026020, 0x2f1c1: 0x6d026220, 0x2f1c2: 0x6d026420, 0x2f1c3: 0x6d026620,\n\t0x2f1c4: 0x6d026820, 0x2f1c5: 0x6d026a20, 0x2f1c6: 0x6d026c20, 0x2f1c7: 0x6d026e20,\n\t0x2f1c8: 0x6d027020, 0x2f1c9: 0x6d027220, 0x2f1ca: 0x6d027420, 0x2f1cb: 0x6d027620,\n\t0x2f1cc: 0x6d027820, 0x2f1cd: 0x6d027a20, 0x2f1ce: 0x6d027c20, 0x2f1cf: 0x6d027e20,\n\t0x2f1d0: 0x6d028020, 0x2f1d1: 0x6d028220, 0x2f1d2: 0x6d028420, 0x2f1d3: 0x6d028620,\n\t0x2f1d4: 0x6d028820, 0x2f1d5: 0x6d028a20, 0x2f1d6: 0x6d028c20, 0x2f1d7: 0x6d028e20,\n\t0x2f1d8: 0x6d029020, 0x2f1d9: 0x6d029220, 0x2f1da: 0x6d029420, 0x2f1db: 0x6d029620,\n\t0x2f1dc: 0x6d029820, 0x2f1dd: 0x6d301020, 0x2f1de: 0x6d301220, 0x2f1df: 0x6d301420,\n\t0x2f1e0: 0x6d301620, 0x2f1e1: 0x6d301820, 0x2f1e2: 0x6d301a20, 0x2f1e3: 0x6d301c20,\n\t0x2f1e4: 0x6d301e20, 0x2f1e5: 0x6d302020, 0x2f1e6: 0x6d302220, 0x2f1e7: 0x6d302420,\n\t0x2f1e8: 0x6d302620, 0x2f1e9: 0x6d302820, 0x2f1ea: 0x6d302a20, 0x2f1eb: 0x6d302c20,\n\t0x2f1ec: 0x6d302e20, 0x2f1ed: 0x6d303020, 0x2f1ee: 0x6d303220, 0x2f1ef: 0x6d303420,\n\t0x2f1f0: 0x6d029a20, 0x2f1f1: 0x6d303620, 0x2f1f2: 0x6d303820, 0x2f1f3: 0x6d303a20,\n\t0x2f1f4: 0x6d303c20, 0x2f1f5: 0x6d303e20, 0x2f1f6: 0x6d304020, 0x2f1f7: 0x6d304220,\n\t0x2f1f8: 0x6d304420, 0x2f1f9: 0x6d304620, 0x2f1fa: 0x6d5d0620, 0x2f1fb: 0x6d5d0820,\n\t0x2f1fc: 0x6d5d0a20, 0x2f1fd: 0x6d5d0c20, 0x2f1fe: 0x6d5d0e20, 0x2f1ff: 0x6d5d1020,\n\t// Block 0xbc8, offset 0x2f200\n\t0x2f200: 0x6d5d1220, 0x2f201: 0x6d304820, 0x2f202: 0x6d5d1420, 0x2f203: 0x6d5d1620,\n\t0x2f204: 0x6d5d1820, 0x2f205: 0x6d5d1a20, 0x2f206: 0x6d5d1c20, 0x2f207: 0x6d5d1e20,\n\t0x2f208: 0x6d5d2020, 0x2f209: 0x6d5d2220, 0x2f20a: 0x6d5d2420, 0x2f20b: 0x6d5d2620,\n\t0x2f20c: 0x6d5d2820, 0x2f20d: 0x6d5d2a20, 0x2f20e: 0x6d5d2c20, 0x2f20f: 0x6d5d2e20,\n\t0x2f210: 0x6d5d3020, 0x2f211: 0x6d5d3220, 0x2f212: 0x6d5d3420, 0x2f213: 0x6d5d3620,\n\t0x2f214: 0x6d5d3820, 0x2f215: 0x6d5d3a20, 0x2f216: 0x6d876620, 0x2f217: 0x6d5d3c20,\n\t0x2f218: 0x6d5d3e20, 0x2f219: 0x6d5d4020, 0x2f21a: 0x6d877a20, 0x2f21b: 0x6d877c20,\n\t0x2f21c: 0x6d876820, 0x2f21d: 0x6d877e20, 0x2f21e: 0x6d878020, 0x2f21f: 0x6d878220,\n\t0x2f220: 0x6d878420, 0x2f221: 0x6d878620, 0x2f222: 0x6d878820, 0x2f223: 0x6d878a20,\n\t0x2f224: 0x6d5d4220, 0x2f225: 0x6d878c20, 0x2f226: 0x6d878e20, 0x2f227: 0x6d879020,\n\t0x2f228: 0x6d879220, 0x2f229: 0x6d879420, 0x2f22a: 0x6d879620, 0x2f22b: 0x6d879820,\n\t0x2f22c: 0x6d879a20, 0x2f22d: 0x6d879c20, 0x2f22e: 0x6d879e20, 0x2f22f: 0x6dac1c20,\n\t0x2f230: 0x6dac1e20, 0x2f231: 0x6dac2020, 0x2f232: 0x6dac2220, 0x2f233: 0x6dac2420,\n\t0x2f234: 0x6dac2620, 0x2f235: 0x6dac2820, 0x2f236: 0x6dac2a20, 0x2f237: 0x6dac2c20,\n\t0x2f238: 0x6dac2e20, 0x2f239: 0x6dac3020, 0x2f23a: 0x6dac3220, 0x2f23b: 0x6dac3420,\n\t0x2f23c: 0x6dac3620, 0x2f23d: 0x6dac3820, 0x2f23e: 0x6dac3a20, 0x2f23f: 0x6dac3c20,\n\t// Block 0xbc9, offset 0x2f240\n\t0x2f240: 0x6dac3e20, 0x2f241: 0x6dac4020, 0x2f242: 0x6dac4220, 0x2f243: 0x6dac4420,\n\t0x2f244: 0x6dac4620, 0x2f245: 0x6dac4820, 0x2f246: 0x6dcc5020, 0x2f247: 0x6dcc5220,\n\t0x2f248: 0x6dcc5420, 0x2f249: 0x6dcc5620, 0x2f24a: 0x6dcc5820, 0x2f24b: 0x6dcc5a20,\n\t0x2f24c: 0x6dcc5c20, 0x2f24d: 0x6dcc5e20, 0x2f24e: 0x6dcc6020, 0x2f24f: 0x6dcc6220,\n\t0x2f250: 0x6dcc6420, 0x2f251: 0x6dcc6620, 0x2f252: 0x6dcc6820, 0x2f253: 0x6dcc6a20,\n\t0x2f254: 0x6dcc6c20, 0x2f255: 0x6dcc6e20, 0x2f256: 0x6dcc7020, 0x2f257: 0x6de76c20,\n\t0x2f258: 0x6de76e20, 0x2f259: 0x6de77020, 0x2f25a: 0x6de77220, 0x2f25b: 0x6de77420,\n\t0x2f25c: 0x6de77620, 0x2f25d: 0x6de77820, 0x2f25e: 0x6de77a20, 0x2f25f: 0x6de77c20,\n\t0x2f260: 0x6de77e20, 0x2f261: 0x6de78020, 0x2f262: 0x6dfdf220, 0x2f263: 0x6dfdf420,\n\t0x2f264: 0x6dfdf620, 0x2f265: 0x6dfdf820, 0x2f266: 0x6dfdfa20, 0x2f267: 0x6dfdfc20,\n\t0x2f268: 0x6dfdfe20, 0x2f269: 0x6dfe0020, 0x2f26a: 0x6dfe0220, 0x2f26b: 0x6dfe0420,\n\t0x2f26c: 0x6dfe0620, 0x2f26d: 0x6e109420, 0x2f26e: 0x6e109620, 0x2f26f: 0x6e109820,\n\t0x2f270: 0x6e109a20, 0x2f271: 0x6e109c20, 0x2f272: 0x6e109e20, 0x2f273: 0x6e10a020,\n\t0x2f274: 0x6e10a220, 0x2f275: 0x6e1f3820, 0x2f276: 0x6e2a8820, 0x2f277: 0x6e2a8a20,\n\t0x2f278: 0x6e332620, 0x2f279: 0x6e394220, 0x2f27a: 0x6c0a3420, 0x2f27b: 0x6c04fe20,\n\t0x2f27c: 0x6c13f620, 0x2f27d: 0x6c254e20, 0x2f27e: 0x6c3cee20, 0x2f27f: 0x6c3cf020,\n\t// Block 0xbca, offset 0x2f280\n\t0x2f280: 0x6c3cf220, 0x2f281: 0x6c3cf420, 0x2f282: 0x6c3cf620, 0x2f283: 0x6c3cf820,\n\t0x2f284: 0x6c5ac620, 0x2f285: 0x6c5ac820, 0x2f286: 0x6c5aca20, 0x2f287: 0x6c5acc20,\n\t0x2f288: 0x6c5ace20, 0x2f289: 0x6c5ad020, 0x2f28a: 0x6c5ad220, 0x2f28b: 0x6c5ad420,\n\t0x2f28c: 0x6c5ad620, 0x2f28d: 0x6c5ad820, 0x2f28e: 0x6c5ada20, 0x2f28f: 0x6c7dc420,\n\t0x2f290: 0x6c7dc620, 0x2f291: 0x6c7dc820, 0x2f292: 0x6c7dca20, 0x2f293: 0x6c7dcc20,\n\t0x2f294: 0x6c7dce20, 0x2f295: 0x6c7dd020, 0x2f296: 0x6c7dd220, 0x2f297: 0x6c7dd420,\n\t0x2f298: 0x6c7dd620, 0x2f299: 0x6c7dd820, 0x2f29a: 0x6c7dda20, 0x2f29b: 0x6c7ddc20,\n\t0x2f29c: 0x6c7dde20, 0x2f29d: 0x6c7de020, 0x2f29e: 0x6c7de220, 0x2f29f: 0x6c7de420,\n\t0x2f2a0: 0x6c7de620, 0x2f2a1: 0x6ca68a20, 0x2f2a2: 0x6c7de820, 0x2f2a3: 0x6ca69220,\n\t0x2f2a4: 0x6ca69420, 0x2f2a5: 0x6ca69620, 0x2f2a6: 0x6cd4c020, 0x2f2a7: 0x6ca69820,\n\t0x2f2a8: 0x6ca69a20, 0x2f2a9: 0x6ca69c20, 0x2f2aa: 0x6ca69e20, 0x2f2ab: 0x6ca6a020,\n\t0x2f2ac: 0x6ca6a220, 0x2f2ad: 0x6ca6a420, 0x2f2ae: 0x6ca6a620, 0x2f2af: 0x6ca6a820,\n\t0x2f2b0: 0x6cd4c220, 0x2f2b1: 0x6cd4c420, 0x2f2b2: 0x6cd4c620, 0x2f2b3: 0x6cd4c820,\n\t0x2f2b4: 0x6cd4ca20, 0x2f2b5: 0x6cd4cc20, 0x2f2b6: 0x6cd4ce20, 0x2f2b7: 0x6cd4d020,\n\t0x2f2b8: 0x6cd4d220, 0x2f2b9: 0x6d031820, 0x2f2ba: 0x6d031a20, 0x2f2bb: 0x6d031c20,\n\t0x2f2bc: 0x6d031e20, 0x2f2bd: 0x6d032020, 0x2f2be: 0x6d032220, 0x2f2bf: 0x6d032420,\n\t// Block 0xbcb, offset 0x2f2c0\n\t0x2f2c0: 0x6d032620, 0x2f2c1: 0x6d032820, 0x2f2c2: 0x6d032a20, 0x2f2c3: 0x6d032c20,\n\t0x2f2c4: 0x6cd4d420, 0x2f2c5: 0x6d032e20, 0x2f2c6: 0x6d033020, 0x2f2c7: 0x6d30be20,\n\t0x2f2c8: 0x6d30c020, 0x2f2c9: 0x6d30c220, 0x2f2ca: 0x6d30c420, 0x2f2cb: 0x6d30c620,\n\t0x2f2cc: 0x6d30c820, 0x2f2cd: 0x6d30ca20, 0x2f2ce: 0x6d30cc20, 0x2f2cf: 0x6d30ce20,\n\t0x2f2d0: 0x6d30d020, 0x2f2d1: 0x6d30d220, 0x2f2d2: 0x6d30d420, 0x2f2d3: 0x6d30d620,\n\t0x2f2d4: 0x6d30d820, 0x2f2d5: 0x6d30da20, 0x2f2d6: 0x6d30dc20, 0x2f2d7: 0x6d30de20,\n\t0x2f2d8: 0x6d30e020, 0x2f2d9: 0x6d30e220, 0x2f2da: 0x6d5d8c20, 0x2f2db: 0x6d5d8e20,\n\t0x2f2dc: 0x6d5d9020, 0x2f2dd: 0x6d5d9220, 0x2f2de: 0x6d5d9420, 0x2f2df: 0x6d5d9620,\n\t0x2f2e0: 0x6d5d9820, 0x2f2e1: 0x6d5d9a20, 0x2f2e2: 0x6d5d9c20, 0x2f2e3: 0x6d5d9e20,\n\t0x2f2e4: 0x6d87fe20, 0x2f2e5: 0x6d880020, 0x2f2e6: 0x6d880220, 0x2f2e7: 0x6daca020,\n\t0x2f2e8: 0x6daca220, 0x2f2e9: 0x6d880420, 0x2f2ea: 0x6daca420, 0x2f2eb: 0x6daca620,\n\t0x2f2ec: 0x6dcca420, 0x2f2ed: 0x6dcca620, 0x2f2ee: 0x6dcca820, 0x2f2ef: 0x6dccaa20,\n\t0x2f2f0: 0x6de7ac20, 0x2f2f1: 0x6de7ae20, 0x2f2f2: 0x6dfe3a20, 0x2f2f3: 0x6e1f5620,\n\t0x2f2f4: 0x6e1f5820, 0x2f2f5: 0x6e2aa020, 0x2f2f6: 0x6e333020, 0x2f2f7: 0x6e333220,\n\t0x2f2f8: 0x6c0a3820, 0x2f2f9: 0x6c5b2a20, 0x2f2fa: 0x6c5b2c20, 0x2f2fb: 0x6ca6f420,\n\t0x2f2fc: 0x6cd52620, 0x2f2fd: 0x6d037620, 0x2f2fe: 0x6c0a3c20, 0x2f2ff: 0x6c256820,\n\t// Block 0xbcc, offset 0x2f300\n\t0x2f300: 0x6c256a20, 0x2f301: 0x6c256c20, 0x2f302: 0x6c256e20, 0x2f303: 0x6c257020,\n\t0x2f304: 0x6c3d3a20, 0x2f305: 0x6c3d3c20, 0x2f306: 0x6c3d3e20, 0x2f307: 0x6c3d4020,\n\t0x2f308: 0x6c3d4220, 0x2f309: 0x6c3d4420, 0x2f30a: 0x6c3d4620, 0x2f30b: 0x6c5b3e20,\n\t0x2f30c: 0x6c5b4020, 0x2f30d: 0x6c5b4220, 0x2f30e: 0x6c5b4420, 0x2f30f: 0x6c5b4620,\n\t0x2f310: 0x6c5b4820, 0x2f311: 0x6c5b4a20, 0x2f312: 0x6c5b4c20, 0x2f313: 0x6c5b4e20,\n\t0x2f314: 0x6c5b5020, 0x2f315: 0x6c5b5220, 0x2f316: 0x6c5b5420, 0x2f317: 0x6c5b5620,\n\t0x2f318: 0x6c7e3820, 0x2f319: 0x6c7e3a20, 0x2f31a: 0x6c7e3c20, 0x2f31b: 0x6c7e3e20,\n\t0x2f31c: 0x6c7e4020, 0x2f31d: 0x6c7e4220, 0x2f31e: 0x6c7e4420, 0x2f31f: 0x6c7e4620,\n\t0x2f320: 0x6c7e4820, 0x2f321: 0x6c7e4a20, 0x2f322: 0x6c7e4c20, 0x2f323: 0x6c7e4e20,\n\t0x2f324: 0x6c7e5020, 0x2f325: 0x6c7e5220, 0x2f326: 0x6c7e5420, 0x2f327: 0x6c7e5620,\n\t0x2f328: 0x6c7e5820, 0x2f329: 0x6c7e5a20, 0x2f32a: 0x6c7e5c20, 0x2f32b: 0x6c7e5e20,\n\t0x2f32c: 0x6c7e6020, 0x2f32d: 0x6c7e6220, 0x2f32e: 0x6c7e6420, 0x2f32f: 0x6c7e6620,\n\t0x2f330: 0x6c7e6820, 0x2f331: 0x6ca71a20, 0x2f332: 0x6ca71c20, 0x2f333: 0x6ca71e20,\n\t0x2f334: 0x6ca72020, 0x2f335: 0x6ca72220, 0x2f336: 0x6ca72420, 0x2f337: 0x6ca72620,\n\t0x2f338: 0x6ca72820, 0x2f339: 0x6ca72a20, 0x2f33a: 0x6ca72c20, 0x2f33b: 0x6ca72e20,\n\t0x2f33c: 0x6ca73020, 0x2f33d: 0x6ca73220, 0x2f33e: 0x6ca73420, 0x2f33f: 0x6cd54020,\n\t// Block 0xbcd, offset 0x2f340\n\t0x2f340: 0x6cd54220, 0x2f341: 0x6cd54420, 0x2f342: 0x6cd54620, 0x2f343: 0x6cd54820,\n\t0x2f344: 0x6cd54a20, 0x2f345: 0x6cd54c20, 0x2f346: 0x6ca73620, 0x2f347: 0x6cd54e20,\n\t0x2f348: 0x6cd55020, 0x2f349: 0x6cd55220, 0x2f34a: 0x6cd55420, 0x2f34b: 0x6cd55620,\n\t0x2f34c: 0x6cd55820, 0x2f34d: 0x6cd55a20, 0x2f34e: 0x6cd55c20, 0x2f34f: 0x6d039420,\n\t0x2f350: 0x6d039620, 0x2f351: 0x6d039820, 0x2f352: 0x6d039a20, 0x2f353: 0x6d039c20,\n\t0x2f354: 0x6d039e20, 0x2f355: 0x6d03a020, 0x2f356: 0x6d03a220, 0x2f357: 0x6d03a420,\n\t0x2f358: 0x6d03a620, 0x2f359: 0x6d03a820, 0x2f35a: 0x6d03aa20, 0x2f35b: 0x6d03ac20,\n\t0x2f35c: 0x6d03ae20, 0x2f35d: 0x6d03b020, 0x2f35e: 0x6d03b220, 0x2f35f: 0x6d03b420,\n\t0x2f360: 0x6d03b620, 0x2f361: 0x6d03b820, 0x2f362: 0x6d03ba20, 0x2f363: 0x6d03bc20,\n\t0x2f364: 0x6d03be20, 0x2f365: 0x6d03c020, 0x2f366: 0x6d313220, 0x2f367: 0x6d313420,\n\t0x2f368: 0x6d313620, 0x2f369: 0x6d313820, 0x2f36a: 0x6d313a20, 0x2f36b: 0x6d313c20,\n\t0x2f36c: 0x6d313e20, 0x2f36d: 0x6d314020, 0x2f36e: 0x6d314220, 0x2f36f: 0x6d314420,\n\t0x2f370: 0x6d314620, 0x2f371: 0x6d314820, 0x2f372: 0x6d314a20, 0x2f373: 0x6d314c20,\n\t0x2f374: 0x6d5dee20, 0x2f375: 0x6d31c220, 0x2f376: 0x6d5df020, 0x2f377: 0x6d5df220,\n\t0x2f378: 0x6d5df420, 0x2f379: 0x6d5df620, 0x2f37a: 0x6d5df820, 0x2f37b: 0x6d5dfa20,\n\t0x2f37c: 0x6d5dfc20, 0x2f37d: 0x6d5dfe20, 0x2f37e: 0x6d5e0020, 0x2f37f: 0x6d5e0220,\n\t// Block 0xbce, offset 0x2f380\n\t0x2f380: 0x6d5e0420, 0x2f381: 0x6d5e0620, 0x2f382: 0x6d5e0820, 0x2f383: 0x6d5e0a20,\n\t0x2f384: 0x6d884220, 0x2f385: 0x6d884420, 0x2f386: 0x6d884620, 0x2f387: 0x6d884820,\n\t0x2f388: 0x6d884a20, 0x2f389: 0x6dacd420, 0x2f38a: 0x6d314e20, 0x2f38b: 0x6d884c20,\n\t0x2f38c: 0x6d884e20, 0x2f38d: 0x6d885020, 0x2f38e: 0x6d885220, 0x2f38f: 0x6d885420,\n\t0x2f390: 0x6d885620, 0x2f391: 0x6d885820, 0x2f392: 0x6d885a20, 0x2f393: 0x6d88ba20,\n\t0x2f394: 0x6dacd620, 0x2f395: 0x6dacd820, 0x2f396: 0x6dacda20, 0x2f397: 0x6dacdc20,\n\t0x2f398: 0x6dacde20, 0x2f399: 0x6dace020, 0x2f39a: 0x6dace220, 0x2f39b: 0x6dace420,\n\t0x2f39c: 0x6dace620, 0x2f39d: 0x6dace820, 0x2f39e: 0x6dacea20, 0x2f39f: 0x6dccce20,\n\t0x2f3a0: 0x6dccd020, 0x2f3a1: 0x6dccd220, 0x2f3a2: 0x6dccd420, 0x2f3a3: 0x6dccd620,\n\t0x2f3a4: 0x6de7bc20, 0x2f3a5: 0x6de7be20, 0x2f3a6: 0x6de7c020, 0x2f3a7: 0x6de7c220,\n\t0x2f3a8: 0x6de7c420, 0x2f3a9: 0x6de7c620, 0x2f3aa: 0x6de7c820, 0x2f3ab: 0x6de7ca20,\n\t0x2f3ac: 0x6dfe4a20, 0x2f3ad: 0x6dfe4c20, 0x2f3ae: 0x6dfe4e20, 0x2f3af: 0x6dfe5020,\n\t0x2f3b0: 0x6e1f6a20, 0x2f3b1: 0x6e1f7420, 0x2f3b2: 0x6e333e20, 0x2f3b3: 0x6e333c20,\n\t0x2f3b4: 0x6c0a4020, 0x2f3b5: 0x6c140c20, 0x2f3b6: 0x6c257c20, 0x2f3b7: 0x6c257e20,\n\t0x2f3b8: 0x6c3d6a20, 0x2f3b9: 0x6c3d6c20, 0x2f3ba: 0x6c3d6e20, 0x2f3bb: 0x6c3d7020,\n\t0x2f3bc: 0x6c5b9a20, 0x2f3bd: 0x6c5b9c20, 0x2f3be: 0x6c5b9e20, 0x2f3bf: 0x6c5ba020,\n\t// Block 0xbcf, offset 0x2f3c0\n\t0x2f3c0: 0x6c5ba220, 0x2f3c1: 0x6c5ba420, 0x2f3c2: 0x6c5ba620, 0x2f3c3: 0x6c5ba820,\n\t0x2f3c4: 0x6c7eac20, 0x2f3c5: 0x6c7eae20, 0x2f3c6: 0x6c7eb020, 0x2f3c7: 0x6c7eb220,\n\t0x2f3c8: 0x6c7eb420, 0x2f3c9: 0x6c7eb620, 0x2f3ca: 0x6c7eb820, 0x2f3cb: 0x6c7eba20,\n\t0x2f3cc: 0x6c7ebc20, 0x2f3cd: 0x6c7ebe20, 0x2f3ce: 0x6c7ec020, 0x2f3cf: 0x6ca78620,\n\t0x2f3d0: 0x6ca78820, 0x2f3d1: 0x6ca78a20, 0x2f3d2: 0x6ca78c20, 0x2f3d3: 0x6ca78e20,\n\t0x2f3d4: 0x6ca79020, 0x2f3d5: 0x6ca79220, 0x2f3d6: 0x6cd5ac20, 0x2f3d7: 0x6cd5ae20,\n\t0x2f3d8: 0x6cd5b020, 0x2f3d9: 0x6cd5b220, 0x2f3da: 0x6ca7c420, 0x2f3db: 0x6cd5b420,\n\t0x2f3dc: 0x6cd5b620, 0x2f3dd: 0x6cd5b820, 0x2f3de: 0x6d043220, 0x2f3df: 0x6d043420,\n\t0x2f3e0: 0x6d043620, 0x2f3e1: 0x6d043820, 0x2f3e2: 0x6d043a20, 0x2f3e3: 0x6d043c20,\n\t0x2f3e4: 0x6d043e20, 0x2f3e5: 0x6d044020, 0x2f3e6: 0x6d044220, 0x2f3e7: 0x6d044420,\n\t0x2f3e8: 0x6d31c820, 0x2f3e9: 0x6d31ca20, 0x2f3ea: 0x6d31cc20, 0x2f3eb: 0x6d31ce20,\n\t0x2f3ec: 0x6d31d020, 0x2f3ed: 0x6d31d220, 0x2f3ee: 0x6d5e7020, 0x2f3ef: 0x6d5e7220,\n\t0x2f3f0: 0x6d5e7420, 0x2f3f1: 0x6d5e7620, 0x2f3f2: 0x6d5e7820, 0x2f3f3: 0x6d5e7a20,\n\t0x2f3f4: 0x6d5e7c20, 0x2f3f5: 0x6d88c820, 0x2f3f6: 0x6d88ca20, 0x2f3f7: 0x6d88cc20,\n\t0x2f3f8: 0x6d88ce20, 0x2f3f9: 0x6d88d020, 0x2f3fa: 0x6d88d220, 0x2f3fb: 0x6d88d420,\n\t0x2f3fc: 0x6d88d620, 0x2f3fd: 0x6d88d820, 0x2f3fe: 0x6dad5020, 0x2f3ff: 0x6dad5220,\n\t// Block 0xbd0, offset 0x2f400\n\t0x2f400: 0x6dad5420, 0x2f401: 0x6dad5620, 0x2f402: 0x6dad5820, 0x2f403: 0x6e10de20,\n\t0x2f404: 0x6dcd2020, 0x2f405: 0x6dcd2220, 0x2f406: 0x6de7f620, 0x2f407: 0x6dfe8620,\n\t0x2f408: 0x6e10e020, 0x2f409: 0x6e10e220, 0x2f40a: 0x6e1f7820, 0x2f40b: 0x6c0a4420,\n\t0x2f40c: 0x6c258a20, 0x2f40d: 0x6c258c20, 0x2f40e: 0x6c3d9020, 0x2f40f: 0x6c3d9220,\n\t0x2f410: 0x6c5bd620, 0x2f411: 0x6c5bd820, 0x2f412: 0x6c5bda20, 0x2f413: 0x6c5bdc20,\n\t0x2f414: 0x6c5bde20, 0x2f415: 0x6c5be020, 0x2f416: 0x6c5be220, 0x2f417: 0x6c5be420,\n\t0x2f418: 0x6c7efe20, 0x2f419: 0x6c7f0020, 0x2f41a: 0x6c7f0220, 0x2f41b: 0x6c7f0420,\n\t0x2f41c: 0x6c7f0620, 0x2f41d: 0x6c7f0820, 0x2f41e: 0x6c7f0a20, 0x2f41f: 0x6cb6ae20,\n\t0x2f420: 0x6cb6b020, 0x2f421: 0x6ca7c820, 0x2f422: 0x6cd60e20, 0x2f423: 0x6cd61020,\n\t0x2f424: 0x6cd61220, 0x2f425: 0x6cd61420, 0x2f426: 0x6cd61620, 0x2f427: 0x6cd61820,\n\t0x2f428: 0x6d048e20, 0x2f429: 0x6d049020, 0x2f42a: 0x6d049220, 0x2f42b: 0x6d049420,\n\t0x2f42c: 0x6d320820, 0x2f42d: 0x6d320a20, 0x2f42e: 0x6d322e20, 0x2f42f: 0x6d320c20,\n\t0x2f430: 0x6d320e20, 0x2f431: 0x6d892220, 0x2f432: 0x6dad8a20, 0x2f433: 0x6dad8c20,\n\t0x2f434: 0x6dad8e20, 0x2f435: 0x6dcd3a20, 0x2f436: 0x6dfe9a20, 0x2f437: 0x6dfe9c20,\n\t0x2f438: 0x6e1f7e20, 0x2f439: 0x6c141020, 0x2f43a: 0x6c3d9a20, 0x2f43b: 0x6c3d9c20,\n\t0x2f43c: 0x6c5bf820, 0x2f43d: 0x6c5bfa20, 0x2f43e: 0x6c5bfc20, 0x2f43f: 0x6c5bfe20,\n\t// Block 0xbd1, offset 0x2f440\n\t0x2f440: 0x6c5c0020, 0x2f441: 0x6c5c0220, 0x2f442: 0x6c5c0420, 0x2f443: 0x6c5c0620,\n\t0x2f444: 0x6c7fa820, 0x2f445: 0x6c7f4020, 0x2f446: 0x6c7f4220, 0x2f447: 0x6c7f4420,\n\t0x2f448: 0x6c7f4620, 0x2f449: 0x6c7f4820, 0x2f44a: 0x6c7f4a20, 0x2f44b: 0x6c7f4c20,\n\t0x2f44c: 0x6c7f4e20, 0x2f44d: 0x6c7f5020, 0x2f44e: 0x6c7f5220, 0x2f44f: 0x6c7f5420,\n\t0x2f450: 0x6c7f5620, 0x2f451: 0x6c7f5820, 0x2f452: 0x6c7f5a20, 0x2f453: 0x6c7f5c20,\n\t0x2f454: 0x6c7f5e20, 0x2f455: 0x6c7f6020, 0x2f456: 0x6ca7fa20, 0x2f457: 0x6ca7fc20,\n\t0x2f458: 0x6ca7fe20, 0x2f459: 0x6ca80020, 0x2f45a: 0x6ca80220, 0x2f45b: 0x6ca80420,\n\t0x2f45c: 0x6ca80620, 0x2f45d: 0x6ca80820, 0x2f45e: 0x6ca80a20, 0x2f45f: 0x6ca80c20,\n\t0x2f460: 0x6ca80e20, 0x2f461: 0x6ca81020, 0x2f462: 0x6ca81220, 0x2f463: 0x6ca81420,\n\t0x2f464: 0x6ca81620, 0x2f465: 0x6ca81820, 0x2f466: 0x6ca81a20, 0x2f467: 0x6ca81c20,\n\t0x2f468: 0x6ca81e20, 0x2f469: 0x6ca82020, 0x2f46a: 0x6ca82220, 0x2f46b: 0x6ca82420,\n\t0x2f46c: 0x6ca82620, 0x2f46d: 0x6ca82820, 0x2f46e: 0x6ca82a20, 0x2f46f: 0x6ca82c20,\n\t0x2f470: 0x6ca82e20, 0x2f471: 0x6ca83020, 0x2f472: 0x6ca83220, 0x2f473: 0x6ca83420,\n\t0x2f474: 0x6ca83620, 0x2f475: 0x6ca83820, 0x2f476: 0x6ca83a20, 0x2f477: 0x6ca83c20,\n\t0x2f478: 0x6ca83e20, 0x2f479: 0x6ca84020, 0x2f47a: 0x6ca84220, 0x2f47b: 0x6ca84420,\n\t0x2f47c: 0x6ca84620, 0x2f47d: 0x6ca84820, 0x2f47e: 0x6ca84a20, 0x2f47f: 0x6cd65220,\n\t// Block 0xbd2, offset 0x2f480\n\t0x2f480: 0x6cd65420, 0x2f481: 0x6cd65620, 0x2f482: 0x6cd65820, 0x2f483: 0x6cd65a20,\n\t0x2f484: 0x6cd65c20, 0x2f485: 0x6cd65e20, 0x2f486: 0x6cd66020, 0x2f487: 0x6cd66220,\n\t0x2f488: 0x6cd66420, 0x2f489: 0x6cd66620, 0x2f48a: 0x6cd66820, 0x2f48b: 0x6cd66a20,\n\t0x2f48c: 0x6cd66c20, 0x2f48d: 0x6cd66e20, 0x2f48e: 0x6cd67020, 0x2f48f: 0x6cd67220,\n\t0x2f490: 0x6cd67420, 0x2f491: 0x6cd67620, 0x2f492: 0x6cd67820, 0x2f493: 0x6cd67a20,\n\t0x2f494: 0x6cd67c20, 0x2f495: 0x6cd67e20, 0x2f496: 0x6cd68020, 0x2f497: 0x6cd68220,\n\t0x2f498: 0x6cd68420, 0x2f499: 0x6cd68620, 0x2f49a: 0x6cd68820, 0x2f49b: 0x6cd68a20,\n\t0x2f49c: 0x6cd68c20, 0x2f49d: 0x6cd68e20, 0x2f49e: 0x6d04ce20, 0x2f49f: 0x6d04d020,\n\t0x2f4a0: 0x6d04d220, 0x2f4a1: 0x6d04d420, 0x2f4a2: 0x6d04d620, 0x2f4a3: 0x6d04d820,\n\t0x2f4a4: 0x6d04da20, 0x2f4a5: 0x6d04dc20, 0x2f4a6: 0x6d04de20, 0x2f4a7: 0x6d04e020,\n\t0x2f4a8: 0x6d04e220, 0x2f4a9: 0x6d04e420, 0x2f4aa: 0x6d04e620, 0x2f4ab: 0x6d04e820,\n\t0x2f4ac: 0x6cd6de20, 0x2f4ad: 0x6d04ea20, 0x2f4ae: 0x6d04ec20, 0x2f4af: 0x6d04ee20,\n\t0x2f4b0: 0x6d04f020, 0x2f4b1: 0x6d04f220, 0x2f4b2: 0x6d04f420, 0x2f4b3: 0x6d04f620,\n\t0x2f4b4: 0x6d04f820, 0x2f4b5: 0x6d323020, 0x2f4b6: 0x6d04fa20, 0x2f4b7: 0x6d04fc20,\n\t0x2f4b8: 0x6d04fe20, 0x2f4b9: 0x6d050020, 0x2f4ba: 0x6d050220, 0x2f4bb: 0x6d050420,\n\t0x2f4bc: 0x6d050620, 0x2f4bd: 0x6d050820, 0x2f4be: 0x6d050a20, 0x2f4bf: 0x6d050c20,\n\t// Block 0xbd3, offset 0x2f4c0\n\t0x2f4c0: 0x6d050e20, 0x2f4c1: 0x6d324c20, 0x2f4c2: 0x6d324e20, 0x2f4c3: 0x6d325020,\n\t0x2f4c4: 0x6d325220, 0x2f4c5: 0x6d325420, 0x2f4c6: 0x6d325620, 0x2f4c7: 0x6d325820,\n\t0x2f4c8: 0x6d325a20, 0x2f4c9: 0x6d325c20, 0x2f4ca: 0x6d325e20, 0x2f4cb: 0x6d326020,\n\t0x2f4cc: 0x6d326220, 0x2f4cd: 0x6d326420, 0x2f4ce: 0x6d326620, 0x2f4cf: 0x6d326820,\n\t0x2f4d0: 0x6d326a20, 0x2f4d1: 0x6d326c20, 0x2f4d2: 0x6d326e20, 0x2f4d3: 0x6d327020,\n\t0x2f4d4: 0x6d327220, 0x2f4d5: 0x6d327420, 0x2f4d6: 0x6d327620, 0x2f4d7: 0x6d327820,\n\t0x2f4d8: 0x6d327a20, 0x2f4d9: 0x6d327c20, 0x2f4da: 0x6d327e20, 0x2f4db: 0x6d328020,\n\t0x2f4dc: 0x6d328220, 0x2f4dd: 0x6d328420, 0x2f4de: 0x6d328620, 0x2f4df: 0x6d328820,\n\t0x2f4e0: 0x6d328a20, 0x2f4e1: 0x6d328c20, 0x2f4e2: 0x6d328e20, 0x2f4e3: 0x6d329020,\n\t0x2f4e4: 0x6d329220, 0x2f4e5: 0x6d329420, 0x2f4e6: 0x6d329620, 0x2f4e7: 0x6d329820,\n\t0x2f4e8: 0x6d329a20, 0x2f4e9: 0x6d329c20, 0x2f4ea: 0x6d329e20, 0x2f4eb: 0x6d32a020,\n\t0x2f4ec: 0x6d5f0420, 0x2f4ed: 0x6d5f0620, 0x2f4ee: 0x6d5f0820, 0x2f4ef: 0x6d5f0a20,\n\t0x2f4f0: 0x6d5f0c20, 0x2f4f1: 0x6d5f0e20, 0x2f4f2: 0x6d5f1020, 0x2f4f3: 0x6d5f1220,\n\t0x2f4f4: 0x6d5f1420, 0x2f4f5: 0x6d5f1620, 0x2f4f6: 0x6d5f1820, 0x2f4f7: 0x6d5f1a20,\n\t0x2f4f8: 0x6d333620, 0x2f4f9: 0x6d5f1c20, 0x2f4fa: 0x6d5f1e20, 0x2f4fb: 0x6d5f2020,\n\t0x2f4fc: 0x6d5f2220, 0x2f4fd: 0x6d5f2420, 0x2f4fe: 0x6d5f2620, 0x2f4ff: 0x6d5f2820,\n\t// Block 0xbd4, offset 0x2f500\n\t0x2f500: 0x6d051020, 0x2f501: 0x6d5f2a20, 0x2f502: 0x6d5f2c20, 0x2f503: 0x6d5f2e20,\n\t0x2f504: 0x6d5f3020, 0x2f505: 0x6d5f3220, 0x2f506: 0x6d5f3420, 0x2f507: 0x6d5f3620,\n\t0x2f508: 0x6d5f3820, 0x2f509: 0x6d894a20, 0x2f50a: 0x6d5f3a20, 0x2f50b: 0x6d5f3c20,\n\t0x2f50c: 0x6d5f3e20, 0x2f50d: 0x6d5f4020, 0x2f50e: 0x6d5f4220, 0x2f50f: 0x6d5f4420,\n\t0x2f510: 0x6d5f4620, 0x2f511: 0x6d5f4820, 0x2f512: 0x6d5f4a20, 0x2f513: 0x6d5f4c20,\n\t0x2f514: 0x6d894c20, 0x2f515: 0x6d894e20, 0x2f516: 0x6d895020, 0x2f517: 0x6d895220,\n\t0x2f518: 0x6d895420, 0x2f519: 0x6d895620, 0x2f51a: 0x6d895820, 0x2f51b: 0x6d895a20,\n\t0x2f51c: 0x6d895c20, 0x2f51d: 0x6d895e20, 0x2f51e: 0x6d896020, 0x2f51f: 0x6d896220,\n\t0x2f520: 0x6d896420, 0x2f521: 0x6d896620, 0x2f522: 0x6d896820, 0x2f523: 0x6d896a20,\n\t0x2f524: 0x6d896c20, 0x2f525: 0x6d896e20, 0x2f526: 0x6d897020, 0x2f527: 0x6d897220,\n\t0x2f528: 0x6d897420, 0x2f529: 0x6d897620, 0x2f52a: 0x6d897820, 0x2f52b: 0x6d897a20,\n\t0x2f52c: 0x6d897c20, 0x2f52d: 0x6d897e20, 0x2f52e: 0x6d898020, 0x2f52f: 0x6d898220,\n\t0x2f530: 0x6dadc820, 0x2f531: 0x6dadca20, 0x2f532: 0x6dadcc20, 0x2f533: 0x6dadce20,\n\t0x2f534: 0x6dadd020, 0x2f535: 0x6dadd220, 0x2f536: 0x6dadd420, 0x2f537: 0x6dadd620,\n\t0x2f538: 0x6dadd820, 0x2f539: 0x6d8a5020, 0x2f53a: 0x6dadda20, 0x2f53b: 0x6daddc20,\n\t0x2f53c: 0x6dadde20, 0x2f53d: 0x6dade020, 0x2f53e: 0x6dade220, 0x2f53f: 0x6dade420,\n\t// Block 0xbd5, offset 0x2f540\n\t0x2f540: 0x6dade620, 0x2f541: 0x6dade820, 0x2f542: 0x6dadea20, 0x2f543: 0x6dadec20,\n\t0x2f544: 0x6dadee20, 0x2f545: 0x6dadf020, 0x2f546: 0x6dadf220, 0x2f547: 0x6dadf420,\n\t0x2f548: 0x6dadf620, 0x2f549: 0x6dadf820, 0x2f54a: 0x6dadfa20, 0x2f54b: 0x6dadfc20,\n\t0x2f54c: 0x6dadfe20, 0x2f54d: 0x6dae0020, 0x2f54e: 0x6dae0220, 0x2f54f: 0x6dae0420,\n\t0x2f550: 0x6dae0620, 0x2f551: 0x6d898420, 0x2f552: 0x6dae0820, 0x2f553: 0x6dae0a20,\n\t0x2f554: 0x6dae0c20, 0x2f555: 0x6dada620, 0x2f556: 0x6dae0e20, 0x2f557: 0x6dae1020,\n\t0x2f558: 0x6daec420, 0x2f559: 0x6dcd7220, 0x2f55a: 0x6dcd7420, 0x2f55b: 0x6dcd7620,\n\t0x2f55c: 0x6dcd7820, 0x2f55d: 0x6dcd7a20, 0x2f55e: 0x6dcd7c20, 0x2f55f: 0x6dcd7e20,\n\t0x2f560: 0x6dcd8020, 0x2f561: 0x6dcd8220, 0x2f562: 0x6dcd8420, 0x2f563: 0x6dcd8620,\n\t0x2f564: 0x6dcd8820, 0x2f565: 0x6dcd8a20, 0x2f566: 0x6dcd8c20, 0x2f567: 0x6dcd8e20,\n\t0x2f568: 0x6dcd9020, 0x2f569: 0x6dcd9220, 0x2f56a: 0x6dcd9420, 0x2f56b: 0x6dcd9620,\n\t0x2f56c: 0x6de81220, 0x2f56d: 0x6dcd9820, 0x2f56e: 0x6dcd9a20, 0x2f56f: 0x6dcd9c20,\n\t0x2f570: 0x6dcd9e20, 0x2f571: 0x6dcda020, 0x2f572: 0x6dcda220, 0x2f573: 0x6de82820,\n\t0x2f574: 0x6de82a20, 0x2f575: 0x6de82c20, 0x2f576: 0x6de82e20, 0x2f577: 0x6de83020,\n\t0x2f578: 0x6de83220, 0x2f579: 0x6de83420, 0x2f57a: 0x6de83620, 0x2f57b: 0x6de83820,\n\t0x2f57c: 0x6de83a20, 0x2f57d: 0x6de83c20, 0x2f57e: 0x6de83e20, 0x2f57f: 0x6de84020,\n\t// Block 0xbd6, offset 0x2f580\n\t0x2f580: 0x6de84220, 0x2f581: 0x6de84420, 0x2f582: 0x6de84620, 0x2f583: 0x6dfeac20,\n\t0x2f584: 0x6dfeae20, 0x2f585: 0x6dfeb020, 0x2f586: 0x6dfeb220, 0x2f587: 0x6dfeb420,\n\t0x2f588: 0x6dfeb620, 0x2f589: 0x6dfeb820, 0x2f58a: 0x6dfeba20, 0x2f58b: 0x6dfebc20,\n\t0x2f58c: 0x6dfebe20, 0x2f58d: 0x6dfec020, 0x2f58e: 0x6dfec220, 0x2f58f: 0x6dfec420,\n\t0x2f590: 0x6e111820, 0x2f591: 0x6e111a20, 0x2f592: 0x6e111c20, 0x2f593: 0x6e111e20,\n\t0x2f594: 0x6e112020, 0x2f595: 0x6dfec620, 0x2f596: 0x6e110620, 0x2f597: 0x6e1f8e20,\n\t0x2f598: 0x6e1f9020, 0x2f599: 0x6e1f9220, 0x2f59a: 0x6e1f9420, 0x2f59b: 0x6e1f9620,\n\t0x2f59c: 0x6e1f9820, 0x2f59d: 0x6e1f9a20, 0x2f59e: 0x6e2ac420, 0x2f59f: 0x6e1f9c20,\n\t0x2f5a0: 0x6e1f9e20, 0x2f5a1: 0x6e1fa020, 0x2f5a2: 0x6e2acc20, 0x2f5a3: 0x6e2ace20,\n\t0x2f5a4: 0x6e2ad020, 0x2f5a5: 0x6e2ad220, 0x2f5a6: 0x6e2ad420, 0x2f5a7: 0x6e2ad620,\n\t0x2f5a8: 0x6e2ad820, 0x2f5a9: 0x6e396020, 0x2f5aa: 0x6e335420, 0x2f5ab: 0x6e396220,\n\t0x2f5ac: 0x6e396420, 0x2f5ad: 0x6e396620, 0x2f5ae: 0x6e396820, 0x2f5af: 0x6e3dae20,\n\t0x2f5b0: 0x6e3db020, 0x2f5b1: 0x6e453420, 0x2f5b2: 0x6e463620, 0x2f5b3: 0x6c141420,\n\t0x2f5b4: 0x6c3da820, 0x2f5b5: 0x6c3daa20, 0x2f5b6: 0x6c3dac20, 0x2f5b7: 0x6c5c3220,\n\t0x2f5b8: 0x6c5c3420, 0x2f5b9: 0x6c5c3620, 0x2f5ba: 0x6c5c3820, 0x2f5bb: 0x6c5c3a20,\n\t0x2f5bc: 0x6c5c3c20, 0x2f5bd: 0x6c5c3e20, 0x2f5be: 0x6c5c4020, 0x2f5bf: 0x6c5c4220,\n\t// Block 0xbd7, offset 0x2f5c0\n\t0x2f5c0: 0x6c5c4420, 0x2f5c1: 0x6c5c4620, 0x2f5c2: 0x6c5c4820, 0x2f5c3: 0x6c7fae20,\n\t0x2f5c4: 0x6c7fb020, 0x2f5c5: 0x6c7fb220, 0x2f5c6: 0x6c7fb420, 0x2f5c7: 0x6c7fb620,\n\t0x2f5c8: 0x6c7fb820, 0x2f5c9: 0x6c7fba20, 0x2f5ca: 0x6c7fbc20, 0x2f5cb: 0x6c7fbe20,\n\t0x2f5cc: 0x6c7fc020, 0x2f5cd: 0x6c7fc220, 0x2f5ce: 0x6c7fc420, 0x2f5cf: 0x6c7fc620,\n\t0x2f5d0: 0x6c7fc820, 0x2f5d1: 0x6c7fca20, 0x2f5d2: 0x6ca89c20, 0x2f5d3: 0x6ca89e20,\n\t0x2f5d4: 0x6ca8a020, 0x2f5d5: 0x6ca8a220, 0x2f5d6: 0x6ca8a420, 0x2f5d7: 0x6ca8a620,\n\t0x2f5d8: 0x6ca8a820, 0x2f5d9: 0x6ca8aa20, 0x2f5da: 0x6ca8ac20, 0x2f5db: 0x6ca8ae20,\n\t0x2f5dc: 0x6ca8b020, 0x2f5dd: 0x6ca8b220, 0x2f5de: 0x6cd6ec20, 0x2f5df: 0x6cd6ee20,\n\t0x2f5e0: 0x6cd6f020, 0x2f5e1: 0x6cd6f220, 0x2f5e2: 0x6cd6f420, 0x2f5e3: 0x6ca8b420,\n\t0x2f5e4: 0x6cd6f620, 0x2f5e5: 0x6cd6f820, 0x2f5e6: 0x6cd6fa20, 0x2f5e7: 0x6cd6fc20,\n\t0x2f5e8: 0x6cd6fe20, 0x2f5e9: 0x6cd70020, 0x2f5ea: 0x6cd70220, 0x2f5eb: 0x6cd70420,\n\t0x2f5ec: 0x6cd70620, 0x2f5ed: 0x6cd70820, 0x2f5ee: 0x6d05a420, 0x2f5ef: 0x6d05a620,\n\t0x2f5f0: 0x6d05a820, 0x2f5f1: 0x6d05aa20, 0x2f5f2: 0x6d05ac20, 0x2f5f3: 0x6d05ae20,\n\t0x2f5f4: 0x6d05b020, 0x2f5f5: 0x6d05b220, 0x2f5f6: 0x6d334420, 0x2f5f7: 0x6d334620,\n\t0x2f5f8: 0x6d334820, 0x2f5f9: 0x6d334a20, 0x2f5fa: 0x6d334c20, 0x2f5fb: 0x6d334e20,\n\t0x2f5fc: 0x6d335020, 0x2f5fd: 0x6d335220, 0x2f5fe: 0x6d335420, 0x2f5ff: 0x6d335620,\n\t// Block 0xbd8, offset 0x2f600\n\t0x2f600: 0x6d05b420, 0x2f601: 0x6d335820, 0x2f602: 0x6d5ffc20, 0x2f603: 0x6d5ffe20,\n\t0x2f604: 0x6d600020, 0x2f605: 0x6d600220, 0x2f606: 0x6d600420, 0x2f607: 0x6d600620,\n\t0x2f608: 0x6d600820, 0x2f609: 0x6d600a20, 0x2f60a: 0x6d600c20, 0x2f60b: 0x6d600e20,\n\t0x2f60c: 0x6d601020, 0x2f60d: 0x6d601220, 0x2f60e: 0x6d601420, 0x2f60f: 0x6d8a5820,\n\t0x2f610: 0x6d8a5a20, 0x2f611: 0x6d8a5c20, 0x2f612: 0x6d8a5e20, 0x2f613: 0x6d8a6020,\n\t0x2f614: 0x6d8a6220, 0x2f615: 0x6d8a6420, 0x2f616: 0x6d8a6620, 0x2f617: 0x6d8a6820,\n\t0x2f618: 0x6d8a6a20, 0x2f619: 0x6daed420, 0x2f61a: 0x6daed620, 0x2f61b: 0x6daed820,\n\t0x2f61c: 0x6daeda20, 0x2f61d: 0x6daedc20, 0x2f61e: 0x6daede20, 0x2f61f: 0x6daee020,\n\t0x2f620: 0x6daee220, 0x2f621: 0x6daee420, 0x2f622: 0x6daee620, 0x2f623: 0x6dce7220,\n\t0x2f624: 0x6dce7420, 0x2f625: 0x6dce7620, 0x2f626: 0x6dce7820, 0x2f627: 0x6dce7a20,\n\t0x2f628: 0x6daee820, 0x2f629: 0x6de8c820, 0x2f62a: 0x6de8ca20, 0x2f62b: 0x6de8cc20,\n\t0x2f62c: 0x6de8ce20, 0x2f62d: 0x6de8d020, 0x2f62e: 0x6dff2020, 0x2f62f: 0x6dff2220,\n\t0x2f630: 0x6dff2420, 0x2f631: 0x6e1fe420, 0x2f632: 0x6e118c20, 0x2f633: 0x6e3dc220,\n\t0x2f634: 0x6e1fe620, 0x2f635: 0x6e2b0820, 0x2f636: 0x6e398820, 0x2f637: 0x6e409e20,\n\t0x2f638: 0x6c141620, 0x2f639: 0x6c141820, 0x2f63a: 0x6c259a20, 0x2f63b: 0x6c259c20,\n\t0x2f63c: 0x6c3dbc20, 0x2f63d: 0x6c3dbe20, 0x2f63e: 0x6c3dc020, 0x2f63f: 0x6c3dc220,\n\t// Block 0xbd9, offset 0x2f640\n\t0x2f640: 0x6c5c6620, 0x2f641: 0x6c5c6820, 0x2f642: 0x6c5c6a20, 0x2f643: 0x6c5c6c20,\n\t0x2f644: 0x6c5c6e20, 0x2f645: 0x6c5c7020, 0x2f646: 0x6c5c7220, 0x2f647: 0x6c5c7420,\n\t0x2f648: 0x6c5c7620, 0x2f649: 0x6c5c7820, 0x2f64a: 0x6c800a20, 0x2f64b: 0x6c800c20,\n\t0x2f64c: 0x6c800e20, 0x2f64d: 0x6c801020, 0x2f64e: 0x6c801220, 0x2f64f: 0x6c801420,\n\t0x2f650: 0x6c801620, 0x2f651: 0x6c801820, 0x2f652: 0x6c801a20, 0x2f653: 0x6c801c20,\n\t0x2f654: 0x6c801e20, 0x2f655: 0x6c802020, 0x2f656: 0x6c802220, 0x2f657: 0x6c802420,\n\t0x2f658: 0x6c802620, 0x2f659: 0x6c802820, 0x2f65a: 0x6c802a20, 0x2f65b: 0x6c802c20,\n\t0x2f65c: 0x6c802e20, 0x2f65d: 0x6c803020, 0x2f65e: 0x6c803220, 0x2f65f: 0x6c803420,\n\t0x2f660: 0x6c803620, 0x2f661: 0x6c803820, 0x2f662: 0x6c803a20, 0x2f663: 0x6c803c20,\n\t0x2f664: 0x6c803e20, 0x2f665: 0x6c804020, 0x2f666: 0x6c804220, 0x2f667: 0x6c804420,\n\t0x2f668: 0x6ca90c20, 0x2f669: 0x6ca90e20, 0x2f66a: 0x6cd74220, 0x2f66b: 0x6cd74420,\n\t0x2f66c: 0x6ca91020, 0x2f66d: 0x6ca91220, 0x2f66e: 0x6ca91420, 0x2f66f: 0x6ca91620,\n\t0x2f670: 0x6ca91820, 0x2f671: 0x6ca91a20, 0x2f672: 0x6ca91c20, 0x2f673: 0x6ca91e20,\n\t0x2f674: 0x6ca92020, 0x2f675: 0x6ca92220, 0x2f676: 0x6ca92420, 0x2f677: 0x6ca92620,\n\t0x2f678: 0x6ca92820, 0x2f679: 0x6ca92a20, 0x2f67a: 0x6ca92c20, 0x2f67b: 0x6ca92e20,\n\t0x2f67c: 0x6ca93020, 0x2f67d: 0x6ca93220, 0x2f67e: 0x6ca93420, 0x2f67f: 0x6ca93620,\n\t// Block 0xbda, offset 0x2f680\n\t0x2f680: 0x6ca93820, 0x2f681: 0x6ca93a20, 0x2f682: 0x6ca93c20, 0x2f683: 0x6ca93e20,\n\t0x2f684: 0x6ca94020, 0x2f685: 0x6ca94220, 0x2f686: 0x6ca94420, 0x2f687: 0x6ca94620,\n\t0x2f688: 0x6ca94820, 0x2f689: 0x6ca94a20, 0x2f68a: 0x6ca94c20, 0x2f68b: 0x6ca94e20,\n\t0x2f68c: 0x6ca95020, 0x2f68d: 0x6cd75a20, 0x2f68e: 0x6cd75c20, 0x2f68f: 0x6cd75e20,\n\t0x2f690: 0x6cd76020, 0x2f691: 0x6cd76220, 0x2f692: 0x6cd76420, 0x2f693: 0x6cd76620,\n\t0x2f694: 0x6cd76820, 0x2f695: 0x6cd76a20, 0x2f696: 0x6cd76c20, 0x2f697: 0x6cd76e20,\n\t0x2f698: 0x6cd77020, 0x2f699: 0x6cd77220, 0x2f69a: 0x6cd77420, 0x2f69b: 0x6d061420,\n\t0x2f69c: 0x6cd77620, 0x2f69d: 0x6cd77820, 0x2f69e: 0x6cd77a20, 0x2f69f: 0x6cd77c20,\n\t0x2f6a0: 0x6cd77e20, 0x2f6a1: 0x6cd78020, 0x2f6a2: 0x6cd78220, 0x2f6a3: 0x6cd78420,\n\t0x2f6a4: 0x6cd78620, 0x2f6a5: 0x6cd78820, 0x2f6a6: 0x6cd78a20, 0x2f6a7: 0x6cd78c20,\n\t0x2f6a8: 0x6cd78e20, 0x2f6a9: 0x6cd79020, 0x2f6aa: 0x6cd79220, 0x2f6ab: 0x6cd79420,\n\t0x2f6ac: 0x6cd79620, 0x2f6ad: 0x6cd79820, 0x2f6ae: 0x6cd79a20, 0x2f6af: 0x6cd79c20,\n\t0x2f6b0: 0x6cd79e20, 0x2f6b1: 0x6cd7a020, 0x2f6b2: 0x6cd7a220, 0x2f6b3: 0x6cd7a420,\n\t0x2f6b4: 0x6cd7a620, 0x2f6b5: 0x6cd7a820, 0x2f6b6: 0x6cd7aa20, 0x2f6b7: 0x6cd7ac20,\n\t0x2f6b8: 0x6d061620, 0x2f6b9: 0x6d061820, 0x2f6ba: 0x6d061a20, 0x2f6bb: 0x6d061c20,\n\t0x2f6bc: 0x6d061e20, 0x2f6bd: 0x6d062020, 0x2f6be: 0x6cd80c20, 0x2f6bf: 0x6d062220,\n\t// Block 0xbdb, offset 0x2f6c0\n\t0x2f6c0: 0x6d062420, 0x2f6c1: 0x6d062620, 0x2f6c2: 0x6d062820, 0x2f6c3: 0x6d062a20,\n\t0x2f6c4: 0x6d062c20, 0x2f6c5: 0x6d062e20, 0x2f6c6: 0x6d063020, 0x2f6c7: 0x6d063220,\n\t0x2f6c8: 0x6d063420, 0x2f6c9: 0x6d063620, 0x2f6ca: 0x6d063820, 0x2f6cb: 0x6d063a20,\n\t0x2f6cc: 0x6d063c20, 0x2f6cd: 0x6d063e20, 0x2f6ce: 0x6d064020, 0x2f6cf: 0x6d064220,\n\t0x2f6d0: 0x6d064420, 0x2f6d1: 0x6d064620, 0x2f6d2: 0x6d064820, 0x2f6d3: 0x6d064a20,\n\t0x2f6d4: 0x6d064c20, 0x2f6d5: 0x6d064e20, 0x2f6d6: 0x6d33b420, 0x2f6d7: 0x6d065020,\n\t0x2f6d8: 0x6d065220, 0x2f6d9: 0x6d065420, 0x2f6da: 0x6d065620, 0x2f6db: 0x6d065820,\n\t0x2f6dc: 0x6d33d020, 0x2f6dd: 0x6d33d220, 0x2f6de: 0x6d33d420, 0x2f6df: 0x6d33d620,\n\t0x2f6e0: 0x6d33d820, 0x2f6e1: 0x6d33da20, 0x2f6e2: 0x6d33dc20, 0x2f6e3: 0x6d33de20,\n\t0x2f6e4: 0x6d33e020, 0x2f6e5: 0x6d33e220, 0x2f6e6: 0x6d33e420, 0x2f6e7: 0x6d33e620,\n\t0x2f6e8: 0x6d33e820, 0x2f6e9: 0x6d33ea20, 0x2f6ea: 0x6d33ec20, 0x2f6eb: 0x6d33ee20,\n\t0x2f6ec: 0x6d33f020, 0x2f6ed: 0x6d33f220, 0x2f6ee: 0x6d33f420, 0x2f6ef: 0x6d33f620,\n\t0x2f6f0: 0x6d33f820, 0x2f6f1: 0x6d33fa20, 0x2f6f2: 0x6d33fc20, 0x2f6f3: 0x6d33fe20,\n\t0x2f6f4: 0x6d340020, 0x2f6f5: 0x6d340220, 0x2f6f6: 0x6d340420, 0x2f6f7: 0x6d340620,\n\t0x2f6f8: 0x6d340820, 0x2f6f9: 0x6d340a20, 0x2f6fa: 0x6d340c20, 0x2f6fb: 0x6d340e20,\n\t0x2f6fc: 0x6d341020, 0x2f6fd: 0x6d341220, 0x2f6fe: 0x6d341420, 0x2f6ff: 0x6d341620,\n\t// Block 0xbdc, offset 0x2f700\n\t0x2f700: 0x6d341820, 0x2f701: 0x6d341a20, 0x2f702: 0x6d341c20, 0x2f703: 0x6d341e20,\n\t0x2f704: 0x6d342020, 0x2f705: 0x6d342220, 0x2f706: 0x6d342420, 0x2f707: 0x6d342620,\n\t0x2f708: 0x6d342820, 0x2f709: 0x6d342a20, 0x2f70a: 0x6d342c20, 0x2f70b: 0x6d342e20,\n\t0x2f70c: 0x6d343020, 0x2f70d: 0x6d343220, 0x2f70e: 0x6d343420, 0x2f70f: 0x6d343620,\n\t0x2f710: 0x6d33b620, 0x2f711: 0x6d343820, 0x2f712: 0x6d343a20, 0x2f713: 0x6d608820,\n\t0x2f714: 0x6d343c20, 0x2f715: 0x6d343e20, 0x2f716: 0x6d608a20, 0x2f717: 0x6d608c20,\n\t0x2f718: 0x6d608e20, 0x2f719: 0x6d609020, 0x2f71a: 0x6d609220, 0x2f71b: 0x6d609420,\n\t0x2f71c: 0x6d609620, 0x2f71d: 0x6d609820, 0x2f71e: 0x6d609a20, 0x2f71f: 0x6d609c20,\n\t0x2f720: 0x6d609e20, 0x2f721: 0x6d60a020, 0x2f722: 0x6d60a220, 0x2f723: 0x6d60a420,\n\t0x2f724: 0x6d60a620, 0x2f725: 0x6d60a820, 0x2f726: 0x6d60aa20, 0x2f727: 0x6d60ac20,\n\t0x2f728: 0x6d60ae20, 0x2f729: 0x6d60b020, 0x2f72a: 0x6d60b220, 0x2f72b: 0x6d60b420,\n\t0x2f72c: 0x6d60b620, 0x2f72d: 0x6d60b820, 0x2f72e: 0x6d60ba20, 0x2f72f: 0x6d60bc20,\n\t0x2f730: 0x6d60be20, 0x2f731: 0x6d60c020, 0x2f732: 0x6d60c220, 0x2f733: 0x6d60c420,\n\t0x2f734: 0x6d60c620, 0x2f735: 0x6d60c820, 0x2f736: 0x6d60ca20, 0x2f737: 0x6d60cc20,\n\t0x2f738: 0x6d60ce20, 0x2f739: 0x6d60d020, 0x2f73a: 0x6d60d220, 0x2f73b: 0x6d60d420,\n\t0x2f73c: 0x6d60d620, 0x2f73d: 0x6d60d820, 0x2f73e: 0x6d60da20, 0x2f73f: 0x6d60dc20,\n\t// Block 0xbdd, offset 0x2f740\n\t0x2f740: 0x6d60de20, 0x2f741: 0x6d60e020, 0x2f742: 0x6d60e220, 0x2f743: 0x6d60e420,\n\t0x2f744: 0x6d60e620, 0x2f745: 0x6d60e820, 0x2f746: 0x6d60ea20, 0x2f747: 0x6d60ec20,\n\t0x2f748: 0x6d8aba20, 0x2f749: 0x6d8abc20, 0x2f74a: 0x6d8abe20, 0x2f74b: 0x6d8ac020,\n\t0x2f74c: 0x6d8ac220, 0x2f74d: 0x6d8ac420, 0x2f74e: 0x6d8ac620, 0x2f74f: 0x6d8ac820,\n\t0x2f750: 0x6d8aca20, 0x2f751: 0x6d8acc20, 0x2f752: 0x6d8ace20, 0x2f753: 0x6d8ad020,\n\t0x2f754: 0x6d8ad220, 0x2f755: 0x6d8ad420, 0x2f756: 0x6d8ad620, 0x2f757: 0x6d8ad820,\n\t0x2f758: 0x6d8ada20, 0x2f759: 0x6d8adc20, 0x2f75a: 0x6d8ade20, 0x2f75b: 0x6d8ae020,\n\t0x2f75c: 0x6d8ae220, 0x2f75d: 0x6d8ae420, 0x2f75e: 0x6d8ae620, 0x2f75f: 0x6d8ae820,\n\t0x2f760: 0x6d8aea20, 0x2f761: 0x6d8aec20, 0x2f762: 0x6d8aee20, 0x2f763: 0x6d8af020,\n\t0x2f764: 0x6d8af220, 0x2f765: 0x6d8af420, 0x2f766: 0x6d8af620, 0x2f767: 0x6d8af820,\n\t0x2f768: 0x6d8afa20, 0x2f769: 0x6daf3420, 0x2f76a: 0x6daf3620, 0x2f76b: 0x6daf3820,\n\t0x2f76c: 0x6daf3a20, 0x2f76d: 0x6daf3c20, 0x2f76e: 0x6daf3e20, 0x2f76f: 0x6daf4020,\n\t0x2f770: 0x6daf4220, 0x2f771: 0x6daf4420, 0x2f772: 0x6daf4620, 0x2f773: 0x6daf4820,\n\t0x2f774: 0x6daf4a20, 0x2f775: 0x6daf4c20, 0x2f776: 0x6daf4e20, 0x2f777: 0x6daf5020,\n\t0x2f778: 0x6daf5220, 0x2f779: 0x6daf5420, 0x2f77a: 0x6daf5620, 0x2f77b: 0x6daf5820,\n\t0x2f77c: 0x6daf5a20, 0x2f77d: 0x6daf5c20, 0x2f77e: 0x6daf5e20, 0x2f77f: 0x6daf6020,\n\t// Block 0xbde, offset 0x2f780\n\t0x2f780: 0x6daf6220, 0x2f781: 0x6daf6420, 0x2f782: 0x6daf6620, 0x2f783: 0x6daf6820,\n\t0x2f784: 0x6daf6a20, 0x2f785: 0x6daf6c20, 0x2f786: 0x6daf6e20, 0x2f787: 0x6daf7020,\n\t0x2f788: 0x6dafea20, 0x2f789: 0x6daf7220, 0x2f78a: 0x6daf7420, 0x2f78b: 0x6de91a20,\n\t0x2f78c: 0x6daf7620, 0x2f78d: 0x6daf7820, 0x2f78e: 0x6dcecc20, 0x2f78f: 0x6dcece20,\n\t0x2f790: 0x6dced020, 0x2f791: 0x6dced220, 0x2f792: 0x6dced420, 0x2f793: 0x6dced620,\n\t0x2f794: 0x6dced820, 0x2f795: 0x6dceda20, 0x2f796: 0x6dcedc20, 0x2f797: 0x6dcede20,\n\t0x2f798: 0x6dcee020, 0x2f799: 0x6dcee220, 0x2f79a: 0x6dcee420, 0x2f79b: 0x6dcee620,\n\t0x2f79c: 0x6dcee820, 0x2f79d: 0x6dceea20, 0x2f79e: 0x6dceec20, 0x2f79f: 0x6dceee20,\n\t0x2f7a0: 0x6dcef020, 0x2f7a1: 0x6dcef220, 0x2f7a2: 0x6dcef420, 0x2f7a3: 0x6dcef620,\n\t0x2f7a4: 0x6dcef820, 0x2f7a5: 0x6dcefa20, 0x2f7a6: 0x6de91c20, 0x2f7a7: 0x6dcefc20,\n\t0x2f7a8: 0x6de91e20, 0x2f7a9: 0x6de92020, 0x2f7aa: 0x6de92220, 0x2f7ab: 0x6de92420,\n\t0x2f7ac: 0x6de92620, 0x2f7ad: 0x6de92820, 0x2f7ae: 0x6de92a20, 0x2f7af: 0x6de92c20,\n\t0x2f7b0: 0x6de92e20, 0x2f7b1: 0x6dcefe20, 0x2f7b2: 0x6de93020, 0x2f7b3: 0x6de93220,\n\t0x2f7b4: 0x6de93420, 0x2f7b5: 0x6de93620, 0x2f7b6: 0x6de93820, 0x2f7b7: 0x6de93a20,\n\t0x2f7b8: 0x6de93c20, 0x2f7b9: 0x6de93e20, 0x2f7ba: 0x6de94020, 0x2f7bb: 0x6dff4220,\n\t0x2f7bc: 0x6dff4420, 0x2f7bd: 0x6dff4620, 0x2f7be: 0x6dff4820, 0x2f7bf: 0x6dff4a20,\n\t// Block 0xbdf, offset 0x2f7c0\n\t0x2f7c0: 0x6dff4c20, 0x2f7c1: 0x6dff4e20, 0x2f7c2: 0x6dff5020, 0x2f7c3: 0x6dff5220,\n\t0x2f7c4: 0x6e11aa20, 0x2f7c5: 0x6e11ac20, 0x2f7c6: 0x6e11ae20, 0x2f7c7: 0x6e11b020,\n\t0x2f7c8: 0x6e11b220, 0x2f7c9: 0x6e11b420, 0x2f7ca: 0x6e11b620, 0x2f7cb: 0x6e11b820,\n\t0x2f7cc: 0x6e11ba20, 0x2f7cd: 0x6e11bc20, 0x2f7ce: 0x6e11be20, 0x2f7cf: 0x6e11c020,\n\t0x2f7d0: 0x6e11c220, 0x2f7d1: 0x6e200820, 0x2f7d2: 0x6e200a20, 0x2f7d3: 0x6e2b1620,\n\t0x2f7d4: 0x6e2b1820, 0x2f7d5: 0x6e2b1a20, 0x2f7d6: 0x6e2b1c20, 0x2f7d7: 0x6e339220,\n\t0x2f7d8: 0x6e399820, 0x2f7d9: 0x6e399a20, 0x2f7da: 0x6e399c20, 0x2f7db: 0x6e399e20,\n\t0x2f7dc: 0x6e40a620, 0x2f7dd: 0x6e40a820, 0x2f7de: 0x6e445a20, 0x2f7df: 0x6c020020,\n\t0x2f7e0: 0x6c0a4620, 0x2f7e1: 0x6c141a20, 0x2f7e2: 0x6c141c20, 0x2f7e3: 0x6c141e20,\n\t0x2f7e4: 0x6c142020, 0x2f7e5: 0x6c142220, 0x2f7e6: 0x6c142420, 0x2f7e7: 0x6c142620,\n\t0x2f7e8: 0x6c142820, 0x2f7e9: 0x6c142a20, 0x2f7ea: 0x6c142c20, 0x2f7eb: 0x6c142e20,\n\t0x2f7ec: 0x6c25a020, 0x2f7ed: 0x6c25a220, 0x2f7ee: 0x6c25a420, 0x2f7ef: 0x6c25a620,\n\t0x2f7f0: 0x6c25a820, 0x2f7f1: 0x6c25aa20, 0x2f7f2: 0x6c25ac20, 0x2f7f3: 0x6c25ae20,\n\t0x2f7f4: 0x6c25b020, 0x2f7f5: 0x6c25b220, 0x2f7f6: 0x6c259e20, 0x2f7f7: 0x6c25b420,\n\t0x2f7f8: 0x6c25b620, 0x2f7f9: 0x6c25b820, 0x2f7fa: 0x6c25ba20, 0x2f7fb: 0x6c25bc20,\n\t0x2f7fc: 0x6c25be20, 0x2f7fd: 0x6c25c020, 0x2f7fe: 0x6c25c220, 0x2f7ff: 0x6c3dd620,\n\t// Block 0xbe0, offset 0x2f800\n\t0x2f800: 0x6c3dd820, 0x2f801: 0x6c3dda20, 0x2f802: 0x6c3ddc20, 0x2f803: 0x6c3dde20,\n\t0x2f804: 0x6c3de020, 0x2f805: 0x6c3de220, 0x2f806: 0x6c3de420, 0x2f807: 0x6c3de620,\n\t0x2f808: 0x6c3de820, 0x2f809: 0x6c3dea20, 0x2f80a: 0x6c3dec20, 0x2f80b: 0x6c3dee20,\n\t0x2f80c: 0x6c3df020, 0x2f80d: 0x6c3df220, 0x2f80e: 0x6c3df420, 0x2f80f: 0x6c3df620,\n\t0x2f810: 0x6c3df820, 0x2f811: 0x6c5c9a20, 0x2f812: 0x6c5c9c20, 0x2f813: 0x6c5c9e20,\n\t0x2f814: 0x6c5ca020, 0x2f815: 0x6c5ca220, 0x2f816: 0x6c5ca420, 0x2f817: 0x6c5ca620,\n\t0x2f818: 0x6c5ca820, 0x2f819: 0x6c5caa20, 0x2f81a: 0x6c5cac20, 0x2f81b: 0x6c5cae20,\n\t0x2f81c: 0x6c5cb020, 0x2f81d: 0x6c5cb220, 0x2f81e: 0x6c5cb420, 0x2f81f: 0x6c5cb620,\n\t0x2f820: 0x6c809e20, 0x2f821: 0x6c80a020, 0x2f822: 0x6c80a220, 0x2f823: 0x6c80a420,\n\t0x2f824: 0x6c80a620, 0x2f825: 0x6c80a820, 0x2f826: 0x6c80aa20, 0x2f827: 0x6c80ac20,\n\t0x2f828: 0x6c80ae20, 0x2f829: 0x6ca9a220, 0x2f82a: 0x6ca9a420, 0x2f82b: 0x6ca9a620,\n\t0x2f82c: 0x6ca9a820, 0x2f82d: 0x6ca9aa20, 0x2f82e: 0x6ca9ac20, 0x2f82f: 0x6ca9ae20,\n\t0x2f830: 0x6ca9b020, 0x2f831: 0x6ca9b220, 0x2f832: 0x6ca9b420, 0x2f833: 0x6ca9b620,\n\t0x2f834: 0x6ca9b820, 0x2f835: 0x6ca9ba20, 0x2f836: 0x6ca9bc20, 0x2f837: 0x6ca9be20,\n\t0x2f838: 0x6ca9c020, 0x2f839: 0x6ca9c220, 0x2f83a: 0x6ca9c420, 0x2f83b: 0x6ca9c620,\n\t0x2f83c: 0x6ca9c820, 0x2f83d: 0x6ca9ca20, 0x2f83e: 0x6ca9cc20, 0x2f83f: 0x6ca9ce20,\n\t// Block 0xbe1, offset 0x2f840\n\t0x2f840: 0x6ca9d020, 0x2f841: 0x6ca9d220, 0x2f842: 0x6cd81220, 0x2f843: 0x6cd81420,\n\t0x2f844: 0x6cd81620, 0x2f845: 0x6cd81820, 0x2f846: 0x6cd81a20, 0x2f847: 0x6cd81c20,\n\t0x2f848: 0x6cd81e20, 0x2f849: 0x6cd82020, 0x2f84a: 0x6cd82220, 0x2f84b: 0x6cd82420,\n\t0x2f84c: 0x6cd82620, 0x2f84d: 0x6cd82820, 0x2f84e: 0x6cd82a20, 0x2f84f: 0x6cd82c20,\n\t0x2f850: 0x6cd82e20, 0x2f851: 0x6cd83020, 0x2f852: 0x6cd83220, 0x2f853: 0x6cd83420,\n\t0x2f854: 0x6cd83620, 0x2f855: 0x6cd83820, 0x2f856: 0x6cd83a20, 0x2f857: 0x6cd83c20,\n\t0x2f858: 0x6cd83e20, 0x2f859: 0x6d06ce20, 0x2f85a: 0x6d06d020, 0x2f85b: 0x6d06d220,\n\t0x2f85c: 0x6d06d420, 0x2f85d: 0x6d06d620, 0x2f85e: 0x6d06d820, 0x2f85f: 0x6d06da20,\n\t0x2f860: 0x6d06dc20, 0x2f861: 0x6d06de20, 0x2f862: 0x6d06e020, 0x2f863: 0x6d06e220,\n\t0x2f864: 0x6d06e420, 0x2f865: 0x6d34c820, 0x2f866: 0x6d34ca20, 0x2f867: 0x6d34cc20,\n\t0x2f868: 0x6d34ce20, 0x2f869: 0x6d34d020, 0x2f86a: 0x6d34d220, 0x2f86b: 0x6d34d420,\n\t0x2f86c: 0x6d618020, 0x2f86d: 0x6d618220, 0x2f86e: 0x6d618420, 0x2f86f: 0x6d618620,\n\t0x2f870: 0x6d8b9620, 0x2f871: 0x6d8b9820, 0x2f872: 0x6d8b9a20, 0x2f873: 0x6d8b9c20,\n\t0x2f874: 0x6d8b9e20, 0x2f875: 0x6de9a220, 0x2f876: 0x6c143020, 0x2f877: 0x6c3e0020,\n\t0x2f878: 0x6c5cc620, 0x2f879: 0x6c80c620, 0x2f87a: 0x6c80c820, 0x2f87b: 0x6ca9ee20,\n\t0x2f87c: 0x6c80ca20, 0x2f87d: 0x6ca9f020, 0x2f87e: 0x6cd85420, 0x2f87f: 0x6cd85620,\n\t// Block 0xbe2, offset 0x2f880\n\t0x2f880: 0x6cd85820, 0x2f881: 0x6d34e420, 0x2f882: 0x6d34e620, 0x2f883: 0x6d8ba820,\n\t0x2f884: 0x6daff420, 0x2f885: 0x6daff620, 0x2f886: 0x6daff820, 0x2f887: 0x6dcf7c20,\n\t0x2f888: 0x6dcf7e20, 0x2f889: 0x6dcf8020, 0x2f88a: 0x6de9a420, 0x2f88b: 0x6de9a620,\n\t0x2f88c: 0x6dff9020, 0x2f88d: 0x6e120220, 0x2f88e: 0x6e203a20, 0x2f88f: 0x6e203c20,\n\t0x2f890: 0x6e33a620, 0x2f891: 0x6c143420, 0x2f892: 0x6c0a4a20, 0x2f893: 0x6c050420,\n\t0x2f894: 0x6c3e0420, 0x2f895: 0x6c25dc20, 0x2f896: 0x6c3e0620, 0x2f897: 0x6c3e0820,\n\t0x2f898: 0x6c5cd620, 0x2f899: 0x6c3e2020, 0x2f89a: 0x6c5cd820, 0x2f89b: 0x6c80d820,\n\t0x2f89c: 0x6c80da20, 0x2f89d: 0x6c80dc20, 0x2f89e: 0x6c80de20, 0x2f89f: 0x6c80e020,\n\t0x2f8a0: 0x6c80e220, 0x2f8a1: 0x6c80e420, 0x2f8a2: 0x6c80e620, 0x2f8a3: 0x6caa0020,\n\t0x2f8a4: 0x6cd86820, 0x2f8a5: 0x6cd86a20, 0x2f8a6: 0x6cd86c20, 0x2f8a7: 0x6d070220,\n\t0x2f8a8: 0x6d070420, 0x2f8a9: 0x6d070620, 0x2f8aa: 0x6d070820, 0x2f8ab: 0x6d070a20,\n\t0x2f8ac: 0x6d070c20, 0x2f8ad: 0x6d070e20, 0x2f8ae: 0x6d071020, 0x2f8af: 0x6d350020,\n\t0x2f8b0: 0x6d350220, 0x2f8b1: 0x6d350420, 0x2f8b2: 0x6d071220, 0x2f8b3: 0x6d350620,\n\t0x2f8b4: 0x6d350820, 0x2f8b5: 0x6d61a420, 0x2f8b6: 0x6d61a620, 0x2f8b7: 0x6d61a820,\n\t0x2f8b8: 0x6d61aa20, 0x2f8b9: 0x6d8bbe20, 0x2f8ba: 0x6d8bc020, 0x2f8bb: 0x6d8bc220,\n\t0x2f8bc: 0x6d8bc420, 0x2f8bd: 0x6db00820, 0x2f8be: 0x6db00a20, 0x2f8bf: 0x6db00c20,\n\t// Block 0xbe3, offset 0x2f8c0\n\t0x2f8c0: 0x6dcf8a20, 0x2f8c1: 0x6db00e20, 0x2f8c2: 0x6dcf8e20, 0x2f8c3: 0x6de9b620,\n\t0x2f8c4: 0x6de9b820, 0x2f8c5: 0x6de9ba20, 0x2f8c6: 0x6de9bc20, 0x2f8c7: 0x6e204020,\n\t0x2f8c8: 0x6e33b020, 0x2f8c9: 0x6e33b220, 0x2f8ca: 0x6c143a20, 0x2f8cb: 0x6c3e2220,\n\t0x2f8cc: 0x6c3e2420, 0x2f8cd: 0x6c5cf620, 0x2f8ce: 0x6c5cf820, 0x2f8cf: 0x6c5cfa20,\n\t0x2f8d0: 0x6c812220, 0x2f8d1: 0x6c5cfc20, 0x2f8d2: 0x6c812a20, 0x2f8d3: 0x6c812c20,\n\t0x2f8d4: 0x6c812e20, 0x2f8d5: 0x6caa3220, 0x2f8d6: 0x6c813020, 0x2f8d7: 0x6c813220,\n\t0x2f8d8: 0x6c813420, 0x2f8d9: 0x6c813620, 0x2f8da: 0x6caa3420, 0x2f8db: 0x6caa3620,\n\t0x2f8dc: 0x6caa3820, 0x2f8dd: 0x6caa3a20, 0x2f8de: 0x6caa3c20, 0x2f8df: 0x6caa3e20,\n\t0x2f8e0: 0x6cd88820, 0x2f8e1: 0x6cd88a20, 0x2f8e2: 0x6cd88c20, 0x2f8e3: 0x6d074820,\n\t0x2f8e4: 0x6d074a20, 0x2f8e5: 0x6d074c20, 0x2f8e6: 0x6d074e20, 0x2f8e7: 0x6d075020,\n\t0x2f8e8: 0x6d075220, 0x2f8e9: 0x6d075420, 0x2f8ea: 0x6d075620, 0x2f8eb: 0x6d353820,\n\t0x2f8ec: 0x6d61cc20, 0x2f8ed: 0x6d61ce20, 0x2f8ee: 0x6d61d020, 0x2f8ef: 0x6d61d220,\n\t0x2f8f0: 0x6d61d420, 0x2f8f1: 0x6d8bf620, 0x2f8f2: 0x6d8bf820, 0x2f8f3: 0x6dcfac20,\n\t0x2f8f4: 0x6dcfae20, 0x2f8f5: 0x6dcfb020, 0x2f8f6: 0x6de9d620, 0x2f8f7: 0x6de9d820,\n\t0x2f8f8: 0x6de9da20, 0x2f8f9: 0x6de9dc20, 0x2f8fa: 0x6dffa220, 0x2f8fb: 0x6e121020,\n\t0x2f8fc: 0x6e121220, 0x2f8fd: 0x6c144220, 0x2f8fe: 0x6c5d0c20, 0x2f8ff: 0x6c5d0e20,\n\t// Block 0xbe4, offset 0x2f900\n\t0x2f900: 0x6c815a20, 0x2f901: 0x6c815c20, 0x2f902: 0x6c815e20, 0x2f903: 0x6c816020,\n\t0x2f904: 0x6c816220, 0x2f905: 0x6c816420, 0x2f906: 0x6c816620, 0x2f907: 0x6caa7c20,\n\t0x2f908: 0x6caa7e20, 0x2f909: 0x6caa8020, 0x2f90a: 0x6caa8220, 0x2f90b: 0x6caa8420,\n\t0x2f90c: 0x6caa8620, 0x2f90d: 0x6caa8820, 0x2f90e: 0x6caa8a20, 0x2f90f: 0x6caa8c20,\n\t0x2f910: 0x6caa8e20, 0x2f911: 0x6caa9020, 0x2f912: 0x6caa9220, 0x2f913: 0x6cd8b220,\n\t0x2f914: 0x6cd8b420, 0x2f915: 0x6cd8b620, 0x2f916: 0x6cd8b820, 0x2f917: 0x6cd8ba20,\n\t0x2f918: 0x6cd8bc20, 0x2f919: 0x6cd8be20, 0x2f91a: 0x6cd8c020, 0x2f91b: 0x6d078420,\n\t0x2f91c: 0x6d078620, 0x2f91d: 0x6d078820, 0x2f91e: 0x6d355a20, 0x2f91f: 0x6d355c20,\n\t0x2f920: 0x6d355e20, 0x2f921: 0x6d356020, 0x2f922: 0x6d356220, 0x2f923: 0x6d356420,\n\t0x2f924: 0x6d356620, 0x2f925: 0x6d358c20, 0x2f926: 0x6d61f620, 0x2f927: 0x6d61f820,\n\t0x2f928: 0x6d61fa20, 0x2f929: 0x6d61fc20, 0x2f92a: 0x6d61fe20, 0x2f92b: 0x6d620020,\n\t0x2f92c: 0x6d620220, 0x2f92d: 0x6d620420, 0x2f92e: 0x6d8c1020, 0x2f92f: 0x6d8c1220,\n\t0x2f930: 0x6d8c1420, 0x2f931: 0x6d8c1620, 0x2f932: 0x6db05020, 0x2f933: 0x6db05220,\n\t0x2f934: 0x6db05420, 0x2f935: 0x6db05620, 0x2f936: 0x6db05820, 0x2f937: 0x6dcfde20,\n\t0x2f938: 0x6dcfe020, 0x2f939: 0x6dcfe220, 0x2f93a: 0x6dcfe420, 0x2f93b: 0x6dcfe620,\n\t0x2f93c: 0x6db05a20, 0x2f93d: 0x6de9ec20, 0x2f93e: 0x6de9ee20, 0x2f93f: 0x6dffb420,\n\t// Block 0xbe5, offset 0x2f940\n\t0x2f940: 0x6dffb620, 0x2f941: 0x6c144420, 0x2f942: 0x6c050620, 0x2f943: 0x6c144620,\n\t0x2f944: 0x6c819020, 0x2f945: 0x6c3e3620, 0x2f946: 0x6c819220, 0x2f947: 0x6c5d3820,\n\t0x2f948: 0x6caab220, 0x2f949: 0x6caab420, 0x2f94a: 0x6c81a420, 0x2f94b: 0x6cd8f820,\n\t0x2f94c: 0x6c144820, 0x2f94d: 0x6c5d3e20, 0x2f94e: 0x6c5d4020, 0x2f94f: 0x6c5d4220,\n\t0x2f950: 0x6c5d4420, 0x2f951: 0x6c5d4620, 0x2f952: 0x6c144c20, 0x2f953: 0x6c3e3e20,\n\t0x2f954: 0x6c5d4a20, 0x2f955: 0x6c81aa20, 0x2f956: 0x6c81ac20, 0x2f957: 0x6c81ae20,\n\t0x2f958: 0x6c81b020, 0x2f959: 0x6c81b220, 0x2f95a: 0x6caabc20, 0x2f95b: 0x6caabe20,\n\t0x2f95c: 0x6caac020, 0x2f95d: 0x6caac220, 0x2f95e: 0x6caac420, 0x2f95f: 0x6caac620,\n\t0x2f960: 0x6cd8fe20, 0x2f961: 0x6d07b420, 0x2f962: 0x6d07b620, 0x2f963: 0x6d359e20,\n\t0x2f964: 0x6d35a020, 0x2f965: 0x6d35a220, 0x2f966: 0x6d625020, 0x2f967: 0x6d625220,\n\t0x2f968: 0x6d8c4a20, 0x2f969: 0x6d8c4c20, 0x2f96a: 0x6d8c4e20, 0x2f96b: 0x6db08420,\n\t0x2f96c: 0x6db08620, 0x2f96d: 0x6dd01220, 0x2f96e: 0x6dd01420, 0x2f96f: 0x6dffc420,\n\t0x2f970: 0x6e122e20, 0x2f971: 0x6e205820, 0x2f972: 0x6e205a20, 0x2f973: 0x6c145020,\n\t0x2f974: 0x6c25e620, 0x2f975: 0x6c3e4620, 0x2f976: 0x6c5d5220, 0x2f977: 0x6c5d5420,\n\t0x2f978: 0x6c81ba20, 0x2f979: 0x6c81bc20, 0x2f97a: 0x6c81be20, 0x2f97b: 0x6c81c020,\n\t0x2f97c: 0x6c81c220, 0x2f97d: 0x6c81c420, 0x2f97e: 0x6c81c620, 0x2f97f: 0x6c81c820,\n\t// Block 0xbe6, offset 0x2f980\n\t0x2f980: 0x6c81ca20, 0x2f981: 0x6c81cc20, 0x2f982: 0x6c81ce20, 0x2f983: 0x6caad420,\n\t0x2f984: 0x6caad620, 0x2f985: 0x6caad820, 0x2f986: 0x6caada20, 0x2f987: 0x6caadc20,\n\t0x2f988: 0x6caade20, 0x2f989: 0x6caae020, 0x2f98a: 0x6caae220, 0x2f98b: 0x6caae420,\n\t0x2f98c: 0x6caae620, 0x2f98d: 0x6caae820, 0x2f98e: 0x6cd91020, 0x2f98f: 0x6cd91220,\n\t0x2f990: 0x6cd91420, 0x2f991: 0x6cd91620, 0x2f992: 0x6cd91820, 0x2f993: 0x6cd91a20,\n\t0x2f994: 0x6cd91c20, 0x2f995: 0x6d07c420, 0x2f996: 0x6d07c620, 0x2f997: 0x6d07c820,\n\t0x2f998: 0x6d07ca20, 0x2f999: 0x6d35c420, 0x2f99a: 0x6d35c620, 0x2f99b: 0x6d35c820,\n\t0x2f99c: 0x6d35ca20, 0x2f99d: 0x6d35cc20, 0x2f99e: 0x6d35ce20, 0x2f99f: 0x6d35d020,\n\t0x2f9a0: 0x6cd91e20, 0x2f9a1: 0x6d35d220, 0x2f9a2: 0x6d35d420, 0x2f9a3: 0x6d35d620,\n\t0x2f9a4: 0x6d626c20, 0x2f9a5: 0x6d626e20, 0x2f9a6: 0x6d627020, 0x2f9a7: 0x6d627220,\n\t0x2f9a8: 0x6d627420, 0x2f9a9: 0x6d627620, 0x2f9aa: 0x6d627820, 0x2f9ab: 0x6d627a20,\n\t0x2f9ac: 0x6d8c6820, 0x2f9ad: 0x6d8c6a20, 0x2f9ae: 0x6d8c9a20, 0x2f9af: 0x6db0a020,\n\t0x2f9b0: 0x6db0a220, 0x2f9b1: 0x6db0a420, 0x2f9b2: 0x6db0a620, 0x2f9b3: 0x6db0a820,\n\t0x2f9b4: 0x6db0cc20, 0x2f9b5: 0x6dd02c20, 0x2f9b6: 0x6dd02e20, 0x2f9b7: 0x6dd03020,\n\t0x2f9b8: 0x6dea0220, 0x2f9b9: 0x6dffc820, 0x2f9ba: 0x6dffca20, 0x2f9bb: 0x6dffcc20,\n\t0x2f9bc: 0x6dffce20, 0x2f9bd: 0x6e205e20, 0x2f9be: 0x6e206020, 0x2f9bf: 0x6c145220,\n\t// Block 0xbe7, offset 0x2f9c0\n\t0x2f9c0: 0x6c050820, 0x2f9c1: 0x6c81fa20, 0x2f9c2: 0x6c81fc20, 0x2f9c3: 0x6c3e5e20,\n\t0x2f9c4: 0x6d07fe20, 0x2f9c5: 0x6d080020, 0x2f9c6: 0x6d080220, 0x2f9c7: 0x6d360e20,\n\t0x2f9c8: 0x6d361020, 0x2f9c9: 0x6c145620, 0x2f9ca: 0x6c0a5420, 0x2f9cb: 0x6c145c20,\n\t0x2f9cc: 0x6c145e20, 0x2f9cd: 0x6c146020, 0x2f9ce: 0x6c146220, 0x2f9cf: 0x6c3e6020,\n\t0x2f9d0: 0x6c25ee20, 0x2f9d1: 0x6c25f020, 0x2f9d2: 0x6c25f220, 0x2f9d3: 0x6c25f420,\n\t0x2f9d4: 0x6c25f620, 0x2f9d5: 0x6c25f820, 0x2f9d6: 0x6c25fa20, 0x2f9d7: 0x6c25fc20,\n\t0x2f9d8: 0x6c25fe20, 0x2f9d9: 0x6c260020, 0x2f9da: 0x6c260220, 0x2f9db: 0x6c260420,\n\t0x2f9dc: 0x6c260620, 0x2f9dd: 0x6c260820, 0x2f9de: 0x6c260a20, 0x2f9df: 0x6c260c20,\n\t0x2f9e0: 0x6c260e20, 0x2f9e1: 0x6c3e7c20, 0x2f9e2: 0x6c3e7e20, 0x2f9e3: 0x6c3e8020,\n\t0x2f9e4: 0x6c3e8220, 0x2f9e5: 0x6c3e8420, 0x2f9e6: 0x6c3e8620, 0x2f9e7: 0x6c3e8820,\n\t0x2f9e8: 0x6c3e8a20, 0x2f9e9: 0x6c3e8c20, 0x2f9ea: 0x6c3e8e20, 0x2f9eb: 0x6c3e9020,\n\t0x2f9ec: 0x6c3e9220, 0x2f9ed: 0x6c3e9420, 0x2f9ee: 0x6c3e9620, 0x2f9ef: 0x6c3e9820,\n\t0x2f9f0: 0x6c3e9a20, 0x2f9f1: 0x6c3e9c20, 0x2f9f2: 0x6c3e9e20, 0x2f9f3: 0x6c3ea020,\n\t0x2f9f4: 0x6c3ea220, 0x2f9f5: 0x6c3ea420, 0x2f9f6: 0x6c3ea620, 0x2f9f7: 0x6c3ea820,\n\t0x2f9f8: 0x6c3eaa20, 0x2f9f9: 0x6c3eac20, 0x2f9fa: 0x6c3eae20, 0x2f9fb: 0x6c3eb020,\n\t0x2f9fc: 0x6c3eb220, 0x2f9fd: 0x6c3eb420, 0x2f9fe: 0x6c3eb620, 0x2f9ff: 0x6c3eb820,\n\t// Block 0xbe8, offset 0x2fa00\n\t0x2fa00: 0x6c3eba20, 0x2fa01: 0x6c3ebc20, 0x2fa02: 0x6c5d7220, 0x2fa03: 0x6c5d7420,\n\t0x2fa04: 0x6c5d7620, 0x2fa05: 0x6c5d7820, 0x2fa06: 0x6c5d7a20, 0x2fa07: 0x6c5d7c20,\n\t0x2fa08: 0x6c5d7e20, 0x2fa09: 0x6c5d8020, 0x2fa0a: 0x6c5d8220, 0x2fa0b: 0x6c5d8420,\n\t0x2fa0c: 0x6c5d8620, 0x2fa0d: 0x6c5d8820, 0x2fa0e: 0x6c5d8a20, 0x2fa0f: 0x6c5d8c20,\n\t0x2fa10: 0x6c5d8e20, 0x2fa11: 0x6c5d9020, 0x2fa12: 0x6c5d9220, 0x2fa13: 0x6c5d9420,\n\t0x2fa14: 0x6cd95220, 0x2fa15: 0x6c5d9620, 0x2fa16: 0x6c5d9820, 0x2fa17: 0x6c5d9a20,\n\t0x2fa18: 0x6c5d9c20, 0x2fa19: 0x6c5d9e20, 0x2fa1a: 0x6c5da020, 0x2fa1b: 0x6c5da220,\n\t0x2fa1c: 0x6c5da420, 0x2fa1d: 0x6c5da620, 0x2fa1e: 0x6c5da820, 0x2fa1f: 0x6c5daa20,\n\t0x2fa20: 0x6c5dac20, 0x2fa21: 0x6c5dae20, 0x2fa22: 0x6c5db020, 0x2fa23: 0x6c5db220,\n\t0x2fa24: 0x6c5db420, 0x2fa25: 0x6c5db620, 0x2fa26: 0x6c5db820, 0x2fa27: 0x6c5dba20,\n\t0x2fa28: 0x6c5dbc20, 0x2fa29: 0x6c5dbe20, 0x2fa2a: 0x6c5dc020, 0x2fa2b: 0x6c5dc220,\n\t0x2fa2c: 0x6cab1020, 0x2fa2d: 0x6c821220, 0x2fa2e: 0x6c821420, 0x2fa2f: 0x6c821620,\n\t0x2fa30: 0x6c821820, 0x2fa31: 0x6c821a20, 0x2fa32: 0x6c821c20, 0x2fa33: 0x6c821e20,\n\t0x2fa34: 0x6c822020, 0x2fa35: 0x6c822220, 0x2fa36: 0x6c822420, 0x2fa37: 0x6c822620,\n\t0x2fa38: 0x6c822820, 0x2fa39: 0x6c822a20, 0x2fa3a: 0x6c822c20, 0x2fa3b: 0x6c822e20,\n\t0x2fa3c: 0x6c823020, 0x2fa3d: 0x6c823220, 0x2fa3e: 0x6cd95420, 0x2fa3f: 0x6c823420,\n\t// Block 0xbe9, offset 0x2fa40\n\t0x2fa40: 0x6c823620, 0x2fa41: 0x6c823820, 0x2fa42: 0x6c823a20, 0x2fa43: 0x6c823c20,\n\t0x2fa44: 0x6c823e20, 0x2fa45: 0x6c824020, 0x2fa46: 0x6c824220, 0x2fa47: 0x6c824420,\n\t0x2fa48: 0x6c824620, 0x2fa49: 0x6c5dc420, 0x2fa4a: 0x6c824820, 0x2fa4b: 0x6c824a20,\n\t0x2fa4c: 0x6c824c20, 0x2fa4d: 0x6c824e20, 0x2fa4e: 0x6c825020, 0x2fa4f: 0x6c825220,\n\t0x2fa50: 0x6c825420, 0x2fa51: 0x6c825620, 0x2fa52: 0x6c825820, 0x2fa53: 0x6c825a20,\n\t0x2fa54: 0x6cd95620, 0x2fa55: 0x6cab2c20, 0x2fa56: 0x6cab2e20, 0x2fa57: 0x6cab3020,\n\t0x2fa58: 0x6cab3220, 0x2fa59: 0x6cab3420, 0x2fa5a: 0x6cab3620, 0x2fa5b: 0x6cab3820,\n\t0x2fa5c: 0x6cab3a20, 0x2fa5d: 0x6cab3c20, 0x2fa5e: 0x6cab3e20, 0x2fa5f: 0x6cab4020,\n\t0x2fa60: 0x6cd95820, 0x2fa61: 0x6cab4220, 0x2fa62: 0x6cab4420, 0x2fa63: 0x6cab4620,\n\t0x2fa64: 0x6cab4820, 0x2fa65: 0x6cab4a20, 0x2fa66: 0x6cab4c20, 0x2fa67: 0x6cab4e20,\n\t0x2fa68: 0x6cab5020, 0x2fa69: 0x6cab5220, 0x2fa6a: 0x6cab5420, 0x2fa6b: 0x6cab5620,\n\t0x2fa6c: 0x6cab5820, 0x2fa6d: 0x6cab5a20, 0x2fa6e: 0x6cab5c20, 0x2fa6f: 0x6cab5e20,\n\t0x2fa70: 0x6cab6020, 0x2fa71: 0x6cab6220, 0x2fa72: 0x6cab6420, 0x2fa73: 0x6cab6620,\n\t0x2fa74: 0x6cab6820, 0x2fa75: 0x6cab6a20, 0x2fa76: 0x6cab6c20, 0x2fa77: 0x6cab6e20,\n\t0x2fa78: 0x6cab7020, 0x2fa79: 0x6cd97e20, 0x2fa7a: 0x6cd98020, 0x2fa7b: 0x6cd98220,\n\t0x2fa7c: 0x6cd98420, 0x2fa7d: 0x6cd98620, 0x2fa7e: 0x6cd98820, 0x2fa7f: 0x6cd98a20,\n\t// Block 0xbea, offset 0x2fa80\n\t0x2fa80: 0x6cd98c20, 0x2fa81: 0x6cd98e20, 0x2fa82: 0x6cd99020, 0x2fa83: 0x6cd99220,\n\t0x2fa84: 0x6cd99420, 0x2fa85: 0x6cd99620, 0x2fa86: 0x6cd99820, 0x2fa87: 0x6cd99a20,\n\t0x2fa88: 0x6cd99c20, 0x2fa89: 0x6cd99e20, 0x2fa8a: 0x6cd9a020, 0x2fa8b: 0x6cd9a220,\n\t0x2fa8c: 0x6cd9a420, 0x2fa8d: 0x6cd9a620, 0x2fa8e: 0x6cd9a820, 0x2fa8f: 0x6cd9aa20,\n\t0x2fa90: 0x6d361a20, 0x2fa91: 0x6cd9ac20, 0x2fa92: 0x6cd9ae20, 0x2fa93: 0x6cd9b020,\n\t0x2fa94: 0x6cd9b220, 0x2fa95: 0x6cd9b420, 0x2fa96: 0x6cd9b620, 0x2fa97: 0x6cd9b820,\n\t0x2fa98: 0x6cd9ba20, 0x2fa99: 0x6cd9bc20, 0x2fa9a: 0x6cd9be20, 0x2fa9b: 0x6d082a20,\n\t0x2fa9c: 0x6d082c20, 0x2fa9d: 0x6d082e20, 0x2fa9e: 0x6d083020, 0x2fa9f: 0x6d083220,\n\t0x2faa0: 0x6d083420, 0x2faa1: 0x6d083620, 0x2faa2: 0x6d083820, 0x2faa3: 0x6d083a20,\n\t0x2faa4: 0x6d083c20, 0x2faa5: 0x6d083e20, 0x2faa6: 0x6d084020, 0x2faa7: 0x6d084220,\n\t0x2faa8: 0x6d084420, 0x2faa9: 0x6d084620, 0x2faaa: 0x6d084820, 0x2faab: 0x6d084a20,\n\t0x2faac: 0x6d084c20, 0x2faad: 0x6d084e20, 0x2faae: 0x6d085020, 0x2faaf: 0x6d085220,\n\t0x2fab0: 0x6d085420, 0x2fab1: 0x6d085620, 0x2fab2: 0x6d085820, 0x2fab3: 0x6d085a20,\n\t0x2fab4: 0x6cda6e20, 0x2fab5: 0x6d085c20, 0x2fab6: 0x6d085e20, 0x2fab7: 0x6d086020,\n\t0x2fab8: 0x6d086220, 0x2fab9: 0x6d086420, 0x2faba: 0x6d086620, 0x2fabb: 0x6d086820,\n\t0x2fabc: 0x6d086a20, 0x2fabd: 0x6d086c20, 0x2fabe: 0x6d086e20, 0x2fabf: 0x6d363820,\n\t// Block 0xbeb, offset 0x2fac0\n\t0x2fac0: 0x6d363a20, 0x2fac1: 0x6d363c20, 0x2fac2: 0x6d363e20, 0x2fac3: 0x6d364020,\n\t0x2fac4: 0x6d364220, 0x2fac5: 0x6d364420, 0x2fac6: 0x6d364620, 0x2fac7: 0x6d364820,\n\t0x2fac8: 0x6d364a20, 0x2fac9: 0x6d364c20, 0x2faca: 0x6d364e20, 0x2facb: 0x6d365020,\n\t0x2facc: 0x6d365220, 0x2facd: 0x6d365420, 0x2face: 0x6d365620, 0x2facf: 0x6d365820,\n\t0x2fad0: 0x6d8ca020, 0x2fad1: 0x6d365a20, 0x2fad2: 0x6d62d020, 0x2fad3: 0x6d62d220,\n\t0x2fad4: 0x6d62d420, 0x2fad5: 0x6d62d620, 0x2fad6: 0x6d62d820, 0x2fad7: 0x6d62da20,\n\t0x2fad8: 0x6d62dc20, 0x2fad9: 0x6d62de20, 0x2fada: 0x6d62e020, 0x2fadb: 0x6d62e220,\n\t0x2fadc: 0x6d62e420, 0x2fadd: 0x6d62e620, 0x2fade: 0x6d62e820, 0x2fadf: 0x6d62ea20,\n\t0x2fae0: 0x6d62ec20, 0x2fae1: 0x6d62ee20, 0x2fae2: 0x6d62f020, 0x2fae3: 0x6d62f220,\n\t0x2fae4: 0x6d538620, 0x2fae5: 0x6db0d420, 0x2fae6: 0x6d8cb420, 0x2fae7: 0x6d8cb620,\n\t0x2fae8: 0x6d8cb820, 0x2fae9: 0x6d8cba20, 0x2faea: 0x6d8cbc20, 0x2faeb: 0x6d8cbe20,\n\t0x2faec: 0x6d8cc020, 0x2faed: 0x6d8cc220, 0x2faee: 0x6d8cc420, 0x2faef: 0x6d8cc620,\n\t0x2faf0: 0x6d8cc820, 0x2faf1: 0x6d8cca20, 0x2faf2: 0x6d8ccc20, 0x2faf3: 0x6d8cce20,\n\t0x2faf4: 0x6d8cd020, 0x2faf5: 0x6d8cd220, 0x2faf6: 0x6d8cd420, 0x2faf7: 0x6d8d5820,\n\t0x2faf8: 0x6db0de20, 0x2faf9: 0x6d8d5a20, 0x2fafa: 0x6db0e020, 0x2fafb: 0x6db0e220,\n\t0x2fafc: 0x6db0e420, 0x2fafd: 0x6db0e620, 0x2fafe: 0x6db0e820, 0x2faff: 0x6db0ea20,\n\t// Block 0xbec, offset 0x2fb00\n\t0x2fb00: 0x6db0ec20, 0x2fb01: 0x6db0ee20, 0x2fb02: 0x6db0f020, 0x2fb03: 0x6db0f220,\n\t0x2fb04: 0x6db0f420, 0x2fb05: 0x6db0f620, 0x2fb06: 0x6db0f820, 0x2fb07: 0x6db0fa20,\n\t0x2fb08: 0x6db0fc20, 0x2fb09: 0x6db0fe20, 0x2fb0a: 0x6db10020, 0x2fb0b: 0x6dea1e20,\n\t0x2fb0c: 0x6db10220, 0x2fb0d: 0x6dd06620, 0x2fb0e: 0x6dd06820, 0x2fb0f: 0x6dd06a20,\n\t0x2fb10: 0x6dd06c20, 0x2fb11: 0x6dd06e20, 0x2fb12: 0x6dd07020, 0x2fb13: 0x6dd07220,\n\t0x2fb14: 0x6dea2620, 0x2fb15: 0x6dea2820, 0x2fb16: 0x6dffe420, 0x2fb17: 0x6dea2a20,\n\t0x2fb18: 0x6dea2c20, 0x2fb19: 0x6dffe620, 0x2fb1a: 0x6dffe820, 0x2fb1b: 0x6dffea20,\n\t0x2fb1c: 0x6dffec20, 0x2fb1d: 0x6e124820, 0x2fb1e: 0x6e206a20, 0x2fb1f: 0x6e206c20,\n\t0x2fb20: 0x6e39ae20, 0x2fb21: 0x6e39b020, 0x2fb22: 0x6e2b4820, 0x2fb23: 0x6c147a20,\n\t0x2fb24: 0x6c3f1a20, 0x2fb25: 0x6c3f1c20, 0x2fb26: 0x6cda7020, 0x2fb27: 0x6d36e420,\n\t0x2fb28: 0x6db16420, 0x2fb29: 0x6db16620, 0x2fb2a: 0x6c147e20, 0x2fb2b: 0x6c262820,\n\t0x2fb2c: 0x6c82dc20, 0x2fb2d: 0x6c82de20, 0x2fb2e: 0x6cda7c20, 0x2fb2f: 0x6cda7e20,\n\t0x2fb30: 0x6cda8020, 0x2fb31: 0x6d635a20, 0x2fb32: 0x6d8d5e20, 0x2fb33: 0x6c148220,\n\t0x2fb34: 0x6c5e4220, 0x2fb35: 0x6cda8c20, 0x2fb36: 0x6cda8e20, 0x2fb37: 0x6cda9020,\n\t0x2fb38: 0x6cda9220, 0x2fb39: 0x6cda9820, 0x2fb3a: 0x6d36f420, 0x2fb3b: 0x6d8d6620,\n\t0x2fb3c: 0x6c148820, 0x2fb3d: 0x6c3f2220, 0x2fb3e: 0x6c3f2420, 0x2fb3f: 0x6c5e4a20,\n\t// Block 0xbed, offset 0x2fb40\n\t0x2fb40: 0x6c82fc20, 0x2fb41: 0x6c82fe20, 0x2fb42: 0x6cabf420, 0x2fb43: 0x6cda9a20,\n\t0x2fb44: 0x6cda9c20, 0x2fb45: 0x6d090220, 0x2fb46: 0x6d8d7620, 0x2fb47: 0x6d370220,\n\t0x2fb48: 0x6d8d7220, 0x2fb49: 0x6d8d7820, 0x2fb4a: 0x6dd0c020, 0x2fb4b: 0x6dea7220,\n\t0x2fb4c: 0x6c149020, 0x2fb4d: 0x6c3f2c20, 0x2fb4e: 0x6c3f2e20, 0x2fb4f: 0x6c3f3020,\n\t0x2fb50: 0x6c831420, 0x2fb51: 0x6cac0620, 0x2fb52: 0x6cdaac20, 0x2fb53: 0x6d371820,\n\t0x2fb54: 0x6d371a20, 0x2fb55: 0x6d371c20, 0x2fb56: 0x6d638820, 0x2fb57: 0x6d638a20,\n\t0x2fb58: 0x6d8d8a20, 0x2fb59: 0x6dd0d220, 0x2fb5a: 0x6dea8020, 0x2fb5b: 0x6c149220,\n\t0x2fb5c: 0x6cdabe20, 0x2fb5d: 0x6d091c20, 0x2fb5e: 0x6d373020, 0x2fb5f: 0x6c149420,\n\t0x2fb60: 0x6c3f3620, 0x2fb61: 0x6c5e6020, 0x2fb62: 0x6c5e6220, 0x2fb63: 0x6c5e6420,\n\t0x2fb64: 0x6c5e6620, 0x2fb65: 0x6c832c20, 0x2fb66: 0x6c832e20, 0x2fb67: 0x6c833020,\n\t0x2fb68: 0x6c833220, 0x2fb69: 0x6c833420, 0x2fb6a: 0x6c833620, 0x2fb6b: 0x6c833820,\n\t0x2fb6c: 0x6c833a20, 0x2fb6d: 0x6c833c20, 0x2fb6e: 0x6c833e20, 0x2fb6f: 0x6c834020,\n\t0x2fb70: 0x6c834220, 0x2fb71: 0x6c834420, 0x2fb72: 0x6cac1820, 0x2fb73: 0x6cac1a20,\n\t0x2fb74: 0x6cac1c20, 0x2fb75: 0x6cac1e20, 0x2fb76: 0x6cac2020, 0x2fb77: 0x6cac2220,\n\t0x2fb78: 0x6cac2420, 0x2fb79: 0x6cac2620, 0x2fb7a: 0x6cac2820, 0x2fb7b: 0x6cac2a20,\n\t0x2fb7c: 0x6cdaca20, 0x2fb7d: 0x6cdacc20, 0x2fb7e: 0x6cdace20, 0x2fb7f: 0x6cdad020,\n\t// Block 0xbee, offset 0x2fb80\n\t0x2fb80: 0x6d092220, 0x2fb81: 0x6d092420, 0x2fb82: 0x6d092620, 0x2fb83: 0x6d092820,\n\t0x2fb84: 0x6d092a20, 0x2fb85: 0x6d092c20, 0x2fb86: 0x6d092e20, 0x2fb87: 0x6d093020,\n\t0x2fb88: 0x6d093220, 0x2fb89: 0x6d093420, 0x2fb8a: 0x6d374220, 0x2fb8b: 0x6d374420,\n\t0x2fb8c: 0x6d374620, 0x2fb8d: 0x6d374820, 0x2fb8e: 0x6d63a220, 0x2fb8f: 0x6d63a420,\n\t0x2fb90: 0x6d63a620, 0x2fb91: 0x6d63a820, 0x2fb92: 0x6d63aa20, 0x2fb93: 0x6d63ac20,\n\t0x2fb94: 0x6d63ae20, 0x2fb95: 0x6d8d9e20, 0x2fb96: 0x6d8da020, 0x2fb97: 0x6d8da220,\n\t0x2fb98: 0x6d8da420, 0x2fb99: 0x6d8da620, 0x2fb9a: 0x6db19c20, 0x2fb9b: 0x6db19e20,\n\t0x2fb9c: 0x6db1a020, 0x2fb9d: 0x6db1a220, 0x2fb9e: 0x6dd0e220, 0x2fb9f: 0x6dd0e420,\n\t0x2fba0: 0x6dd0e620, 0x2fba1: 0x6dea8620, 0x2fba2: 0x6dea8820, 0x2fba3: 0x6dea8a20,\n\t0x2fba4: 0x6dea8c20, 0x2fba5: 0x6dea8e20, 0x2fba6: 0x6e003620, 0x2fba7: 0x6e003820,\n\t0x2fba8: 0x6e003a20, 0x2fba9: 0x6e003c20, 0x2fbaa: 0x6e126c20, 0x2fbab: 0x6e208820,\n\t0x2fbac: 0x6e2b6e20, 0x2fbad: 0x6e33e220, 0x2fbae: 0x6c149820, 0x2fbaf: 0x6c263620,\n\t0x2fbb0: 0x6c3f4420, 0x2fbb1: 0x6db1bc20, 0x2fbb2: 0x6c149a20, 0x2fbb3: 0x6c835e20,\n\t0x2fbb4: 0x6cac4e20, 0x2fbb5: 0x6cdaf020, 0x2fbb6: 0x6deaa220, 0x2fbb7: 0x6e33e420,\n\t0x2fbb8: 0x6c149e20, 0x2fbb9: 0x6c020420, 0x2fbba: 0x6c0a5620, 0x2fbbb: 0x6c14a020,\n\t0x2fbbc: 0x6c14a220, 0x2fbbd: 0x6c14a420, 0x2fbbe: 0x6c14a620, 0x2fbbf: 0x6c14a820,\n\t// Block 0xbef, offset 0x2fbc0\n\t0x2fbc0: 0x6c14aa20, 0x2fbc1: 0x6c14ac20, 0x2fbc2: 0x6c14ae20, 0x2fbc3: 0x6c263820,\n\t0x2fbc4: 0x6c263a20, 0x2fbc5: 0x6c263c20, 0x2fbc6: 0x6c263e20, 0x2fbc7: 0x6c264020,\n\t0x2fbc8: 0x6c264220, 0x2fbc9: 0x6c264420, 0x2fbca: 0x6c264620, 0x2fbcb: 0x6c264820,\n\t0x2fbcc: 0x6c264a20, 0x2fbcd: 0x6c264c20, 0x2fbce: 0x6c264e20, 0x2fbcf: 0x6c265020,\n\t0x2fbd0: 0x6c265220, 0x2fbd1: 0x6c265420, 0x2fbd2: 0x6c265620, 0x2fbd3: 0x6c265820,\n\t0x2fbd4: 0x6c5e8820, 0x2fbd5: 0x6c265a20, 0x2fbd6: 0x6c265c20, 0x2fbd7: 0x6c265e20,\n\t0x2fbd8: 0x6c3f4c20, 0x2fbd9: 0x6c3f4e20, 0x2fbda: 0x6c3f5020, 0x2fbdb: 0x6c3f5220,\n\t0x2fbdc: 0x6c3f5420, 0x2fbdd: 0x6c3f5620, 0x2fbde: 0x6c3f5820, 0x2fbdf: 0x6c3f5a20,\n\t0x2fbe0: 0x6c3f5c20, 0x2fbe1: 0x6c3f5e20, 0x2fbe2: 0x6c3f6020, 0x2fbe3: 0x6c3f6220,\n\t0x2fbe4: 0x6c3f6420, 0x2fbe5: 0x6c3f6620, 0x2fbe6: 0x6c3f6820, 0x2fbe7: 0x6c3f6a20,\n\t0x2fbe8: 0x6c3f6c20, 0x2fbe9: 0x6c3f6e20, 0x2fbea: 0x6c3f7020, 0x2fbeb: 0x6c3f7220,\n\t0x2fbec: 0x6c3f7420, 0x2fbed: 0x6c3f7620, 0x2fbee: 0x6c3f7820, 0x2fbef: 0x6c3f7a20,\n\t0x2fbf0: 0x6c3f7c20, 0x2fbf1: 0x6c3f7e20, 0x2fbf2: 0x6c3f8020, 0x2fbf3: 0x6c3f8220,\n\t0x2fbf4: 0x6c3f8420, 0x2fbf5: 0x6c3f8620, 0x2fbf6: 0x6c3f8820, 0x2fbf7: 0x6c3f8a20,\n\t0x2fbf8: 0x6c3f8c20, 0x2fbf9: 0x6c3f8e20, 0x2fbfa: 0x6c3f9020, 0x2fbfb: 0x6c837820,\n\t0x2fbfc: 0x6c3f9220, 0x2fbfd: 0x6c3f9420, 0x2fbfe: 0x6c3f9620, 0x2fbff: 0x6c400c20,\n\t// Block 0xbf0, offset 0x2fc00\n\t0x2fc00: 0x6c3f9820, 0x2fc01: 0x6c3f9a20, 0x2fc02: 0x6c3f9c20, 0x2fc03: 0x6c3f9e20,\n\t0x2fc04: 0x6c3fa020, 0x2fc05: 0x6c3fa220, 0x2fc06: 0x6c3fa420, 0x2fc07: 0x6c3fa620,\n\t0x2fc08: 0x6c3fa820, 0x2fc09: 0x6c3faa20, 0x2fc0a: 0x6c3fac20, 0x2fc0b: 0x6c3fae20,\n\t0x2fc0c: 0x6c3fb020, 0x2fc0d: 0x6c3fb220, 0x2fc0e: 0x6c3fb420, 0x2fc0f: 0x6c3fb620,\n\t0x2fc10: 0x6c5e8a20, 0x2fc11: 0x6c5e8c20, 0x2fc12: 0x6c5e8e20, 0x2fc13: 0x6c5e9020,\n\t0x2fc14: 0x6c5e9220, 0x2fc15: 0x6c5e9420, 0x2fc16: 0x6c5e9620, 0x2fc17: 0x6c5e9820,\n\t0x2fc18: 0x6c5e9a20, 0x2fc19: 0x6c5e9c20, 0x2fc1a: 0x6c5e9e20, 0x2fc1b: 0x6c5ea020,\n\t0x2fc1c: 0x6c5ea220, 0x2fc1d: 0x6c5ea420, 0x2fc1e: 0x6c5ea620, 0x2fc1f: 0x6c5ea820,\n\t0x2fc20: 0x6c5eaa20, 0x2fc21: 0x6c5eac20, 0x2fc22: 0x6c5eae20, 0x2fc23: 0x6c5eb020,\n\t0x2fc24: 0x6c5eb220, 0x2fc25: 0x6c5eb420, 0x2fc26: 0x6c5eb620, 0x2fc27: 0x6c5eb820,\n\t0x2fc28: 0x6c5eba20, 0x2fc29: 0x6c5ebc20, 0x2fc2a: 0x6c5ebe20, 0x2fc2b: 0x6c5ec020,\n\t0x2fc2c: 0x6c5ec220, 0x2fc2d: 0x6c5ec420, 0x2fc2e: 0x6c5ec620, 0x2fc2f: 0x6c5ec820,\n\t0x2fc30: 0x6c5eca20, 0x2fc31: 0x6c5ecc20, 0x2fc32: 0x6c5ece20, 0x2fc33: 0x6c5ed020,\n\t0x2fc34: 0x6c5ed220, 0x2fc35: 0x6c5ed420, 0x2fc36: 0x6c5ed620, 0x2fc37: 0x6c5ed820,\n\t0x2fc38: 0x6c5eda20, 0x2fc39: 0x6c5edc20, 0x2fc3a: 0x6c5ede20, 0x2fc3b: 0x6c5ee020,\n\t0x2fc3c: 0x6c5ee220, 0x2fc3d: 0x6c5ee420, 0x2fc3e: 0x6c5ee620, 0x2fc3f: 0x6c5ee820,\n\t// Block 0xbf1, offset 0x2fc40\n\t0x2fc40: 0x6c5eea20, 0x2fc41: 0x6c5eec20, 0x2fc42: 0x6c5eee20, 0x2fc43: 0x6c5ef020,\n\t0x2fc44: 0x6c5ef220, 0x2fc45: 0x6c5ef420, 0x2fc46: 0x6c5ef620, 0x2fc47: 0x6c5ef820,\n\t0x2fc48: 0x6c837a20, 0x2fc49: 0x6c5efa20, 0x2fc4a: 0x6c5efc20, 0x2fc4b: 0x6c5efe20,\n\t0x2fc4c: 0x6c5f0020, 0x2fc4d: 0x6c5f0220, 0x2fc4e: 0x6c5f0420, 0x2fc4f: 0x6c5f0620,\n\t0x2fc50: 0x6c5f0820, 0x2fc51: 0x6c5f0a20, 0x2fc52: 0x6cdb1620, 0x2fc53: 0x6c5f0c20,\n\t0x2fc54: 0x6c5f0e20, 0x2fc55: 0x6c5f1020, 0x2fc56: 0x6c837c20, 0x2fc57: 0x6c837e20,\n\t0x2fc58: 0x6c838020, 0x2fc59: 0x6c838220, 0x2fc5a: 0x6c838420, 0x2fc5b: 0x6c838620,\n\t0x2fc5c: 0x6c838820, 0x2fc5d: 0x6cac7420, 0x2fc5e: 0x6c838a20, 0x2fc5f: 0x6c838c20,\n\t0x2fc60: 0x6c838e20, 0x2fc61: 0x6c839020, 0x2fc62: 0x6c839220, 0x2fc63: 0x6cac7620,\n\t0x2fc64: 0x6c839420, 0x2fc65: 0x6c839620, 0x2fc66: 0x6c839820, 0x2fc67: 0x6c839a20,\n\t0x2fc68: 0x6c839c20, 0x2fc69: 0x6c839e20, 0x2fc6a: 0x6c83a020, 0x2fc6b: 0x6c83a220,\n\t0x2fc6c: 0x6c83a420, 0x2fc6d: 0x6c83a620, 0x2fc6e: 0x6c83a820, 0x2fc6f: 0x6c83aa20,\n\t0x2fc70: 0x6c83ac20, 0x2fc71: 0x6c83ae20, 0x2fc72: 0x6c83b020, 0x2fc73: 0x6c83b220,\n\t0x2fc74: 0x6c83b420, 0x2fc75: 0x6c83b620, 0x2fc76: 0x6c83b820, 0x2fc77: 0x6c83ba20,\n\t0x2fc78: 0x6c83bc20, 0x2fc79: 0x6c83be20, 0x2fc7a: 0x6c5f9220, 0x2fc7b: 0x6cdb1820,\n\t0x2fc7c: 0x6c83c020, 0x2fc7d: 0x6c83c220, 0x2fc7e: 0x6c3fb820, 0x2fc7f: 0x6c83c420,\n\t// Block 0xbf2, offset 0x2fc80\n\t0x2fc80: 0x6c83c620, 0x2fc81: 0x6c83c820, 0x2fc82: 0x6c83ca20, 0x2fc83: 0x6c83cc20,\n\t0x2fc84: 0x6c83ce20, 0x2fc85: 0x6c83d020, 0x2fc86: 0x6cdb1a20, 0x2fc87: 0x6c83d220,\n\t0x2fc88: 0x6c83d420, 0x2fc89: 0x6c83d620, 0x2fc8a: 0x6c83d820, 0x2fc8b: 0x6c83da20,\n\t0x2fc8c: 0x6c83dc20, 0x2fc8d: 0x6c83de20, 0x2fc8e: 0x6c83e020, 0x2fc8f: 0x6c83e220,\n\t0x2fc90: 0x6c83e420, 0x2fc91: 0x6c83e620, 0x2fc92: 0x6c83e820, 0x2fc93: 0x6c84c420,\n\t0x2fc94: 0x6c83ea20, 0x2fc95: 0x6c83ec20, 0x2fc96: 0x6c83ee20, 0x2fc97: 0x6c83f020,\n\t0x2fc98: 0x6c83f220, 0x2fc99: 0x6cac7020, 0x2fc9a: 0x6c83f420, 0x2fc9b: 0x6c83f620,\n\t0x2fc9c: 0x6c83f820, 0x2fc9d: 0x6c83fa20, 0x2fc9e: 0x6c83fc20, 0x2fc9f: 0x6c83fe20,\n\t0x2fca0: 0x6c840020, 0x2fca1: 0x6c840220, 0x2fca2: 0x6c840420, 0x2fca3: 0x6c840620,\n\t0x2fca4: 0x6c840820, 0x2fca5: 0x6c840a20, 0x2fca6: 0x6c840c20, 0x2fca7: 0x6c840e20,\n\t0x2fca8: 0x6c841020, 0x2fca9: 0x6c841220, 0x2fcaa: 0x6c841420, 0x2fcab: 0x6cac7220,\n\t0x2fcac: 0x6c841620, 0x2fcad: 0x6c841820, 0x2fcae: 0x6c841a20, 0x2fcaf: 0x6c841c20,\n\t0x2fcb0: 0x6cac7820, 0x2fcb1: 0x6cac7a20, 0x2fcb2: 0x6cac7c20, 0x2fcb3: 0x6cac7e20,\n\t0x2fcb4: 0x6cac8020, 0x2fcb5: 0x6cac8220, 0x2fcb6: 0x6cac8420, 0x2fcb7: 0x6cac8620,\n\t0x2fcb8: 0x6cac8820, 0x2fcb9: 0x6cac8a20, 0x2fcba: 0x6cac8c20, 0x2fcbb: 0x6cac8e20,\n\t0x2fcbc: 0x6cac9020, 0x2fcbd: 0x6cac9220, 0x2fcbe: 0x6cac9420, 0x2fcbf: 0x6cac9620,\n\t// Block 0xbf3, offset 0x2fcc0\n\t0x2fcc0: 0x6cac9820, 0x2fcc1: 0x6cac9a20, 0x2fcc2: 0x6cac9c20, 0x2fcc3: 0x6cac9e20,\n\t0x2fcc4: 0x6caca020, 0x2fcc5: 0x6caca220, 0x2fcc6: 0x6caca420, 0x2fcc7: 0x6caca620,\n\t0x2fcc8: 0x6caca820, 0x2fcc9: 0x6cacaa20, 0x2fcca: 0x6cacac20, 0x2fccb: 0x6cacae20,\n\t0x2fccc: 0x6cacb020, 0x2fccd: 0x6cacb220, 0x2fcce: 0x6cacb420, 0x2fccf: 0x6cacb620,\n\t0x2fcd0: 0x6cacb820, 0x2fcd1: 0x6cacba20, 0x2fcd2: 0x6cacbc20, 0x2fcd3: 0x6cacbe20,\n\t0x2fcd4: 0x6cacc020, 0x2fcd5: 0x6cacc220, 0x2fcd6: 0x6cacc420, 0x2fcd7: 0x6cacc620,\n\t0x2fcd8: 0x6cacc820, 0x2fcd9: 0x6cacca20, 0x2fcda: 0x6cdb1c20, 0x2fcdb: 0x6caccc20,\n\t0x2fcdc: 0x6cacce20, 0x2fcdd: 0x6cacd020, 0x2fcde: 0x6cacd220, 0x2fcdf: 0x6cacd420,\n\t0x2fce0: 0x6cacd620, 0x2fce1: 0x6cacd820, 0x2fce2: 0x6cacda20, 0x2fce3: 0x6cacdc20,\n\t0x2fce4: 0x6cacde20, 0x2fce5: 0x6cace020, 0x2fce6: 0x6cace220, 0x2fce7: 0x6cace420,\n\t0x2fce8: 0x6cace620, 0x2fce9: 0x6cace820, 0x2fcea: 0x6cacea20, 0x2fceb: 0x6cacec20,\n\t0x2fcec: 0x6cacee20, 0x2fced: 0x6cae1e20, 0x2fcee: 0x6cacf020, 0x2fcef: 0x6cacf220,\n\t0x2fcf0: 0x6cacf420, 0x2fcf1: 0x6cacf620, 0x2fcf2: 0x6cacf820, 0x2fcf3: 0x6cacfa20,\n\t0x2fcf4: 0x6cacfc20, 0x2fcf5: 0x6cacfe20, 0x2fcf6: 0x6cad0020, 0x2fcf7: 0x6cad0220,\n\t0x2fcf8: 0x6cad0420, 0x2fcf9: 0x6cad0620, 0x2fcfa: 0x6cad0820, 0x2fcfb: 0x6d098220,\n\t0x2fcfc: 0x6cad0a20, 0x2fcfd: 0x6cad0c20, 0x2fcfe: 0x6cdb1e20, 0x2fcff: 0x6cdb2020,\n\t// Block 0xbf4, offset 0x2fd00\n\t0x2fd00: 0x6cdb2220, 0x2fd01: 0x6cdb2420, 0x2fd02: 0x6cdb2620, 0x2fd03: 0x6cdb2820,\n\t0x2fd04: 0x6cdb2a20, 0x2fd05: 0x6cdb2c20, 0x2fd06: 0x6cdb2e20, 0x2fd07: 0x6cdb3020,\n\t0x2fd08: 0x6cdb3220, 0x2fd09: 0x6cdb3420, 0x2fd0a: 0x6cdb3620, 0x2fd0b: 0x6cdb3820,\n\t0x2fd0c: 0x6cdb3a20, 0x2fd0d: 0x6cdb3c20, 0x2fd0e: 0x6cdb3e20, 0x2fd0f: 0x6cdb4020,\n\t0x2fd10: 0x6cdb4220, 0x2fd11: 0x6cdb4420, 0x2fd12: 0x6cdb4620, 0x2fd13: 0x6cdb4820,\n\t0x2fd14: 0x6cdb4a20, 0x2fd15: 0x6cdb4c20, 0x2fd16: 0x6cdb4e20, 0x2fd17: 0x6cdb5020,\n\t0x2fd18: 0x6cdb5220, 0x2fd19: 0x6d098420, 0x2fd1a: 0x6cdb5420, 0x2fd1b: 0x6cdb5620,\n\t0x2fd1c: 0x6cdb5820, 0x2fd1d: 0x6cdb5a20, 0x2fd1e: 0x6cdb5c20, 0x2fd1f: 0x6cdb5e20,\n\t0x2fd20: 0x6cdb6020, 0x2fd21: 0x6cdb6220, 0x2fd22: 0x6cdb6420, 0x2fd23: 0x6cdb6620,\n\t0x2fd24: 0x6cdb6820, 0x2fd25: 0x6cdb6a20, 0x2fd26: 0x6cdb6c20, 0x2fd27: 0x6cdb6e20,\n\t0x2fd28: 0x6cdb7020, 0x2fd29: 0x6cdb7220, 0x2fd2a: 0x6cdb7420, 0x2fd2b: 0x6cdb7620,\n\t0x2fd2c: 0x6cdb7820, 0x2fd2d: 0x6cdb7a20, 0x2fd2e: 0x6cdb7c20, 0x2fd2f: 0x6cdb7e20,\n\t0x2fd30: 0x6cdb8020, 0x2fd31: 0x6cdb8220, 0x2fd32: 0x6cdb8420, 0x2fd33: 0x6cdb8620,\n\t0x2fd34: 0x6cdb8820, 0x2fd35: 0x6cdb8a20, 0x2fd36: 0x6cdb8c20, 0x2fd37: 0x6cdb8e20,\n\t0x2fd38: 0x6cdb9020, 0x2fd39: 0x6cdb9220, 0x2fd3a: 0x6cdb9420, 0x2fd3b: 0x6cdb9620,\n\t0x2fd3c: 0x6cdb9820, 0x2fd3d: 0x6cdb9a20, 0x2fd3e: 0x6cdb9c20, 0x2fd3f: 0x6cdb9e20,\n\t// Block 0xbf5, offset 0x2fd40\n\t0x2fd40: 0x6cdba020, 0x2fd41: 0x6cdba220, 0x2fd42: 0x6cdba420, 0x2fd43: 0x6cdba620,\n\t0x2fd44: 0x6cdba820, 0x2fd45: 0x6cdbaa20, 0x2fd46: 0x6cdbac20, 0x2fd47: 0x6cdbae20,\n\t0x2fd48: 0x6cdbb020, 0x2fd49: 0x6cdbb220, 0x2fd4a: 0x6cdbb420, 0x2fd4b: 0x6cdbb620,\n\t0x2fd4c: 0x6cdbb820, 0x2fd4d: 0x6cdbba20, 0x2fd4e: 0x6cdbbc20, 0x2fd4f: 0x6cdbbe20,\n\t0x2fd50: 0x6cdbc020, 0x2fd51: 0x6cdbc220, 0x2fd52: 0x6cdbc420, 0x2fd53: 0x6cdbc620,\n\t0x2fd54: 0x6cdbc820, 0x2fd55: 0x6cdbca20, 0x2fd56: 0x6cdbcc20, 0x2fd57: 0x6cdbce20,\n\t0x2fd58: 0x6cdbd020, 0x2fd59: 0x6cdbd220, 0x2fd5a: 0x6cdbd420, 0x2fd5b: 0x6cdbd620,\n\t0x2fd5c: 0x6cdbd820, 0x2fd5d: 0x6cdbda20, 0x2fd5e: 0x6cdbdc20, 0x2fd5f: 0x6cdbde20,\n\t0x2fd60: 0x6cdbe020, 0x2fd61: 0x6cdbe220, 0x2fd62: 0x6cdbe420, 0x2fd63: 0x6cdbe620,\n\t0x2fd64: 0x6cdbe820, 0x2fd65: 0x6d098620, 0x2fd66: 0x6cdbea20, 0x2fd67: 0x6cdbec20,\n\t0x2fd68: 0x6d098820, 0x2fd69: 0x6d098a20, 0x2fd6a: 0x6d098c20, 0x2fd6b: 0x6d098e20,\n\t0x2fd6c: 0x6d037820, 0x2fd6d: 0x6d099020, 0x2fd6e: 0x6d099220, 0x2fd6f: 0x6d099420,\n\t0x2fd70: 0x6d099620, 0x2fd71: 0x6d099820, 0x2fd72: 0x6d099a20, 0x2fd73: 0x6d099c20,\n\t0x2fd74: 0x6d099e20, 0x2fd75: 0x6d09a020, 0x2fd76: 0x6d09a220, 0x2fd77: 0x6d09a420,\n\t0x2fd78: 0x6cdd4420, 0x2fd79: 0x6d09a620, 0x2fd7a: 0x6d09a820, 0x2fd7b: 0x6d09aa20,\n\t0x2fd7c: 0x6d09ac20, 0x2fd7d: 0x6d09ae20, 0x2fd7e: 0x6d09b020, 0x2fd7f: 0x6d09b220,\n\t// Block 0xbf6, offset 0x2fd80\n\t0x2fd80: 0x6d09b420, 0x2fd81: 0x6d09b620, 0x2fd82: 0x6d09b820, 0x2fd83: 0x6d09ba20,\n\t0x2fd84: 0x6d09bc20, 0x2fd85: 0x6d09be20, 0x2fd86: 0x6d09c020, 0x2fd87: 0x6d09c220,\n\t0x2fd88: 0x6d09c420, 0x2fd89: 0x6d09c620, 0x2fd8a: 0x6d09c820, 0x2fd8b: 0x6d09ca20,\n\t0x2fd8c: 0x6d09cc20, 0x2fd8d: 0x6d09ce20, 0x2fd8e: 0x6d09d020, 0x2fd8f: 0x6d09d220,\n\t0x2fd90: 0x6d09d420, 0x2fd91: 0x6d09d620, 0x2fd92: 0x6d09d820, 0x2fd93: 0x6d09da20,\n\t0x2fd94: 0x6d09dc20, 0x2fd95: 0x6d09de20, 0x2fd96: 0x6d09e020, 0x2fd97: 0x6cdbee20,\n\t0x2fd98: 0x6d09e220, 0x2fd99: 0x6d09e420, 0x2fd9a: 0x6d09e620, 0x2fd9b: 0x6d09e820,\n\t0x2fd9c: 0x6d09ea20, 0x2fd9d: 0x6d09ec20, 0x2fd9e: 0x6d09ee20, 0x2fd9f: 0x6d09f020,\n\t0x2fda0: 0x6d09f220, 0x2fda1: 0x6d09f420, 0x2fda2: 0x6d09f620, 0x2fda3: 0x6d09f820,\n\t0x2fda4: 0x6d09fa20, 0x2fda5: 0x6d09fc20, 0x2fda6: 0x6d09fe20, 0x2fda7: 0x6d0a0020,\n\t0x2fda8: 0x6d0a0220, 0x2fda9: 0x6d0a0420, 0x2fdaa: 0x6d0a0620, 0x2fdab: 0x6d0a0820,\n\t0x2fdac: 0x6d0a0a20, 0x2fdad: 0x6d0a0c20, 0x2fdae: 0x6d0a0e20, 0x2fdaf: 0x6d0a1020,\n\t0x2fdb0: 0x6d0a1220, 0x2fdb1: 0x6d0a1420, 0x2fdb2: 0x6d0a1620, 0x2fdb3: 0x6d0a1820,\n\t0x2fdb4: 0x6d0a1a20, 0x2fdb5: 0x6d0a1c20, 0x2fdb6: 0x6d0a1e20, 0x2fdb7: 0x6d0a2020,\n\t0x2fdb8: 0x6d0a2220, 0x2fdb9: 0x6d0a2420, 0x2fdba: 0x6d0a2620, 0x2fdbb: 0x6d0a2820,\n\t0x2fdbc: 0x6d0a2a20, 0x2fdbd: 0x6d0a2c20, 0x2fdbe: 0x6d0a2e20, 0x2fdbf: 0x6d0a3020,\n\t// Block 0xbf7, offset 0x2fdc0\n\t0x2fdc0: 0x6d0a3220, 0x2fdc1: 0x6d0a3420, 0x2fdc2: 0x6d0a3620, 0x2fdc3: 0x6d0a3820,\n\t0x2fdc4: 0x6d0a3a20, 0x2fdc5: 0x6d0a3c20, 0x2fdc6: 0x6d0a3e20, 0x2fdc7: 0x6d0a4020,\n\t0x2fdc8: 0x6d0a4220, 0x2fdc9: 0x6d0a4420, 0x2fdca: 0x6d640e20, 0x2fdcb: 0x6d0a4620,\n\t0x2fdcc: 0x6d0a4820, 0x2fdcd: 0x6d0a4a20, 0x2fdce: 0x6d0a4c20, 0x2fdcf: 0x6d0a4e20,\n\t0x2fdd0: 0x6d37b020, 0x2fdd1: 0x6d37b220, 0x2fdd2: 0x6d37b420, 0x2fdd3: 0x6d37b620,\n\t0x2fdd4: 0x6d37b820, 0x2fdd5: 0x6d37ba20, 0x2fdd6: 0x6d37bc20, 0x2fdd7: 0x6d37be20,\n\t0x2fdd8: 0x6d37c020, 0x2fdd9: 0x6d37c220, 0x2fdda: 0x6d37c420, 0x2fddb: 0x6d37c620,\n\t0x2fddc: 0x6d37c820, 0x2fddd: 0x6d37ca20, 0x2fdde: 0x6d37cc20, 0x2fddf: 0x6d37ce20,\n\t0x2fde0: 0x6d37d020, 0x2fde1: 0x6d37d220, 0x2fde2: 0x6d37d420, 0x2fde3: 0x6d37d620,\n\t0x2fde4: 0x6d37d820, 0x2fde5: 0x6d37da20, 0x2fde6: 0x6d37dc20, 0x2fde7: 0x6d37de20,\n\t0x2fde8: 0x6d37e020, 0x2fde9: 0x6d37e220, 0x2fdea: 0x6d37e420, 0x2fdeb: 0x6d37e620,\n\t0x2fdec: 0x6d37e820, 0x2fded: 0x6d37ea20, 0x2fdee: 0x6d37ec20, 0x2fdef: 0x6d37ee20,\n\t0x2fdf0: 0x6d37f020, 0x2fdf1: 0x6d37f220, 0x2fdf2: 0x6d37f420, 0x2fdf3: 0x6d37f620,\n\t0x2fdf4: 0x6d37f820, 0x2fdf5: 0x6d37fa20, 0x2fdf6: 0x6d37fc20, 0x2fdf7: 0x6d37fe20,\n\t0x2fdf8: 0x6d2b2a20, 0x2fdf9: 0x6d380020, 0x2fdfa: 0x6d380220, 0x2fdfb: 0x6d380420,\n\t0x2fdfc: 0x6d380620, 0x2fdfd: 0x6d380820, 0x2fdfe: 0x6d380a20, 0x2fdff: 0x6d380c20,\n\t// Block 0xbf8, offset 0x2fe00\n\t0x2fe00: 0x6d380e20, 0x2fe01: 0x6d381020, 0x2fe02: 0x6d381220, 0x2fe03: 0x6d381420,\n\t0x2fe04: 0x6d381620, 0x2fe05: 0x6d0bb820, 0x2fe06: 0x6d381820, 0x2fe07: 0x6d381a20,\n\t0x2fe08: 0x6d0bba20, 0x2fe09: 0x6d381c20, 0x2fe0a: 0x6d381e20, 0x2fe0b: 0x6d382020,\n\t0x2fe0c: 0x6d382220, 0x2fe0d: 0x6d382420, 0x2fe0e: 0x6d382620, 0x2fe0f: 0x6d382820,\n\t0x2fe10: 0x6d382a20, 0x2fe11: 0x6d382c20, 0x2fe12: 0x6d382e20, 0x2fe13: 0x6d383020,\n\t0x2fe14: 0x6d383220, 0x2fe15: 0x6d383420, 0x2fe16: 0x6d383620, 0x2fe17: 0x6d383820,\n\t0x2fe18: 0x6d383a20, 0x2fe19: 0x6d383c20, 0x2fe1a: 0x6d383e20, 0x2fe1b: 0x6d384020,\n\t0x2fe1c: 0x6d384220, 0x2fe1d: 0x6d384420, 0x2fe1e: 0x6d8dfe20, 0x2fe1f: 0x6d384620,\n\t0x2fe20: 0x6d641020, 0x2fe21: 0x6d384820, 0x2fe22: 0x6d384a20, 0x2fe23: 0x6d384c20,\n\t0x2fe24: 0x6d384e20, 0x2fe25: 0x6d39b820, 0x2fe26: 0x6d385020, 0x2fe27: 0x6d641220,\n\t0x2fe28: 0x6d641420, 0x2fe29: 0x6d641620, 0x2fe2a: 0x6d641820, 0x2fe2b: 0x6d641a20,\n\t0x2fe2c: 0x6d641c20, 0x2fe2d: 0x6d641e20, 0x2fe2e: 0x6d642020, 0x2fe2f: 0x6d642220,\n\t0x2fe30: 0x6d642420, 0x2fe31: 0x6d0bbc20, 0x2fe32: 0x6d642620, 0x2fe33: 0x6d642820,\n\t0x2fe34: 0x6d642a20, 0x2fe35: 0x6d642c20, 0x2fe36: 0x6d642e20, 0x2fe37: 0x6d643020,\n\t0x2fe38: 0x6d643220, 0x2fe39: 0x6d643420, 0x2fe3a: 0x6d643620, 0x2fe3b: 0x6d643820,\n\t0x2fe3c: 0x6d643a20, 0x2fe3d: 0x6d643c20, 0x2fe3e: 0x6d643e20, 0x2fe3f: 0x6d644020,\n\t// Block 0xbf9, offset 0x2fe40\n\t0x2fe40: 0x6d644220, 0x2fe41: 0x6d644420, 0x2fe42: 0x6d644620, 0x2fe43: 0x6d644820,\n\t0x2fe44: 0x6d644a20, 0x2fe45: 0x6d644c20, 0x2fe46: 0x6d644e20, 0x2fe47: 0x6d0bbe20,\n\t0x2fe48: 0x6d645020, 0x2fe49: 0x6d645220, 0x2fe4a: 0x6d645420, 0x2fe4b: 0x6d645620,\n\t0x2fe4c: 0x6d645820, 0x2fe4d: 0x6d645a20, 0x2fe4e: 0x6d645c20, 0x2fe4f: 0x6d645e20,\n\t0x2fe50: 0x6d646020, 0x2fe51: 0x6d646220, 0x2fe52: 0x6d646420, 0x2fe53: 0x6d646620,\n\t0x2fe54: 0x6d646820, 0x2fe55: 0x6d646a20, 0x2fe56: 0x6d646c20, 0x2fe57: 0x6d646e20,\n\t0x2fe58: 0x6d647020, 0x2fe59: 0x6d647220, 0x2fe5a: 0x6d647420, 0x2fe5b: 0x6d647620,\n\t0x2fe5c: 0x6d647820, 0x2fe5d: 0x6d647a20, 0x2fe5e: 0x6d647c20, 0x2fe5f: 0x6d647e20,\n\t0x2fe60: 0x6d648020, 0x2fe61: 0x6d648220, 0x2fe62: 0x6d648420, 0x2fe63: 0x6d648620,\n\t0x2fe64: 0x6d648820, 0x2fe65: 0x6d648a20, 0x2fe66: 0x6d648c20, 0x2fe67: 0x6d648e20,\n\t0x2fe68: 0x6d649020, 0x2fe69: 0x6d649220, 0x2fe6a: 0x6d649420, 0x2fe6b: 0x6d649620,\n\t0x2fe6c: 0x6d649820, 0x2fe6d: 0x6d649a20, 0x2fe6e: 0x6d649c20, 0x2fe6f: 0x6d649e20,\n\t0x2fe70: 0x6d64a020, 0x2fe71: 0x6d64a220, 0x2fe72: 0x6d64a420, 0x2fe73: 0x6d64a620,\n\t0x2fe74: 0x6d64a820, 0x2fe75: 0x6d64aa20, 0x2fe76: 0x6d64ac20, 0x2fe77: 0x6d64ae20,\n\t0x2fe78: 0x6d64b020, 0x2fe79: 0x6d64b220, 0x2fe7a: 0x6d64b420, 0x2fe7b: 0x6d64b620,\n\t0x2fe7c: 0x6d64b820, 0x2fe7d: 0x6d65f020, 0x2fe7e: 0x6d8e0020, 0x2fe7f: 0x6d8e0220,\n\t// Block 0xbfa, offset 0x2fe80\n\t0x2fe80: 0x6d8e0420, 0x2fe81: 0x6d8e0620, 0x2fe82: 0x6d8e0820, 0x2fe83: 0x6d8e0a20,\n\t0x2fe84: 0x6d8e0c20, 0x2fe85: 0x6d8e0e20, 0x2fe86: 0x6d8e1020, 0x2fe87: 0x6d8e1220,\n\t0x2fe88: 0x6d8e1420, 0x2fe89: 0x6d8e1620, 0x2fe8a: 0x6d8e1820, 0x2fe8b: 0x6d8e1a20,\n\t0x2fe8c: 0x6d8e1c20, 0x2fe8d: 0x6d8e1e20, 0x2fe8e: 0x6d8e2020, 0x2fe8f: 0x6d65f220,\n\t0x2fe90: 0x6d8e2220, 0x2fe91: 0x6d8e2420, 0x2fe92: 0x6d8e2620, 0x2fe93: 0x6d8e2820,\n\t0x2fe94: 0x6d8e2a20, 0x2fe95: 0x6d8e2c20, 0x2fe96: 0x6d8e2e20, 0x2fe97: 0x6db1fe20,\n\t0x2fe98: 0x6d8e3020, 0x2fe99: 0x6d8e3220, 0x2fe9a: 0x6d8e3420, 0x2fe9b: 0x6d8e3620,\n\t0x2fe9c: 0x6d8e3820, 0x2fe9d: 0x6d8e3a20, 0x2fe9e: 0x6d8e3c20, 0x2fe9f: 0x6d8e3e20,\n\t0x2fea0: 0x6d8e4020, 0x2fea1: 0x6d8e4220, 0x2fea2: 0x6d8e4420, 0x2fea3: 0x6d8e4620,\n\t0x2fea4: 0x6d8e4820, 0x2fea5: 0x6d8e4a20, 0x2fea6: 0x6d8e4c20, 0x2fea7: 0x6d8e4e20,\n\t0x2fea8: 0x6d8e5020, 0x2fea9: 0x6d8e5220, 0x2feaa: 0x6d8e5420, 0x2feab: 0x6d8e5620,\n\t0x2feac: 0x6d8e5820, 0x2fead: 0x6d8e5a20, 0x2feae: 0x6d8e5c20, 0x2feaf: 0x6d8e5e20,\n\t0x2feb0: 0x6d8e6020, 0x2feb1: 0x6d8e6220, 0x2feb2: 0x6d8e6420, 0x2feb3: 0x6d8e6620,\n\t0x2feb4: 0x6d8e6820, 0x2feb5: 0x6d8e6a20, 0x2feb6: 0x6db20020, 0x2feb7: 0x6db20220,\n\t0x2feb8: 0x6db20420, 0x2feb9: 0x6db20620, 0x2feba: 0x6db20820, 0x2febb: 0x6db20a20,\n\t0x2febc: 0x6db20c20, 0x2febd: 0x6db20e20, 0x2febe: 0x6db21020, 0x2febf: 0x6db21220,\n\t// Block 0xbfb, offset 0x2fec0\n\t0x2fec0: 0x6db21420, 0x2fec1: 0x6db21620, 0x2fec2: 0x6db21820, 0x2fec3: 0x6db21a20,\n\t0x2fec4: 0x6db21c20, 0x2fec5: 0x6db21e20, 0x2fec6: 0x6db22020, 0x2fec7: 0x6db22220,\n\t0x2fec8: 0x6db22420, 0x2fec9: 0x6db22620, 0x2feca: 0x6db22820, 0x2fecb: 0x6db22a20,\n\t0x2fecc: 0x6d8fc420, 0x2fecd: 0x6db22c20, 0x2fece: 0x6db22e20, 0x2fecf: 0x6db23020,\n\t0x2fed0: 0x6db23220, 0x2fed1: 0x6db23420, 0x2fed2: 0x6db23620, 0x2fed3: 0x6db23820,\n\t0x2fed4: 0x6db23a20, 0x2fed5: 0x6db23c20, 0x2fed6: 0x6db23e20, 0x2fed7: 0x6db24020,\n\t0x2fed8: 0x6db24220, 0x2fed9: 0x6db24420, 0x2feda: 0x6db24620, 0x2fedb: 0x6db24820,\n\t0x2fedc: 0x6db24a20, 0x2fedd: 0x6db24c20, 0x2fede: 0x6db24e20, 0x2fedf: 0x6db25020,\n\t0x2fee0: 0x6db25220, 0x2fee1: 0x6db25420, 0x2fee2: 0x6db25620, 0x2fee3: 0x6db25820,\n\t0x2fee4: 0x6db25a20, 0x2fee5: 0x6db25c20, 0x2fee6: 0x6db25e20, 0x2fee7: 0x6db26020,\n\t0x2fee8: 0x6db26220, 0x2fee9: 0x6dd14c20, 0x2feea: 0x6db26420, 0x2feeb: 0x6db26620,\n\t0x2feec: 0x6db26820, 0x2feed: 0x6db39420, 0x2feee: 0x6db26a20, 0x2feef: 0x6db39620,\n\t0x2fef0: 0x6dd14e20, 0x2fef1: 0x6dd15020, 0x2fef2: 0x6dd15220, 0x2fef3: 0x6dd15420,\n\t0x2fef4: 0x6dd15620, 0x2fef5: 0x6dd15820, 0x2fef6: 0x6dd15a20, 0x2fef7: 0x6dd15c20,\n\t0x2fef8: 0x6dd15e20, 0x2fef9: 0x6dd16020, 0x2fefa: 0x6dd16220, 0x2fefb: 0x6dd16420,\n\t0x2fefc: 0x6dd16620, 0x2fefd: 0x6dd16820, 0x2fefe: 0x6dd16a20, 0x2feff: 0x6dd16c20,\n\t// Block 0xbfc, offset 0x2ff00\n\t0x2ff00: 0x6dd16e20, 0x2ff01: 0x6dd17020, 0x2ff02: 0x6dd17220, 0x2ff03: 0x6dd17420,\n\t0x2ff04: 0x6dd17620, 0x2ff05: 0x6dd17820, 0x2ff06: 0x6dd17a20, 0x2ff07: 0x6dd17c20,\n\t0x2ff08: 0x6dd17e20, 0x2ff09: 0x6dd18020, 0x2ff0a: 0x6dd18220, 0x2ff0b: 0x6dd18420,\n\t0x2ff0c: 0x6dd18620, 0x2ff0d: 0x6dd18820, 0x2ff0e: 0x6dd18a20, 0x2ff0f: 0x6dd18c20,\n\t0x2ff10: 0x6dd18e20, 0x2ff11: 0x6deac020, 0x2ff12: 0x6dd19020, 0x2ff13: 0x6dd19220,\n\t0x2ff14: 0x6e128a20, 0x2ff15: 0x6deac220, 0x2ff16: 0x6deac420, 0x2ff17: 0x6deac620,\n\t0x2ff18: 0x6deac820, 0x2ff19: 0x6deaca20, 0x2ff1a: 0x6deacc20, 0x2ff1b: 0x6deace20,\n\t0x2ff1c: 0x6dead020, 0x2ff1d: 0x6dead220, 0x2ff1e: 0x6dead420, 0x2ff1f: 0x6dead620,\n\t0x2ff20: 0x6dead820, 0x2ff21: 0x6deada20, 0x2ff22: 0x6deadc20, 0x2ff23: 0x6deade20,\n\t0x2ff24: 0x6deae020, 0x2ff25: 0x6deae220, 0x2ff26: 0x6deae420, 0x2ff27: 0x6deae620,\n\t0x2ff28: 0x6deae820, 0x2ff29: 0x6deaea20, 0x2ff2a: 0x6deaec20, 0x2ff2b: 0x6deaee20,\n\t0x2ff2c: 0x6deaf020, 0x2ff2d: 0x6deaf220, 0x2ff2e: 0x6e006c20, 0x2ff2f: 0x6deaf420,\n\t0x2ff30: 0x6deaf620, 0x2ff31: 0x6deaf820, 0x2ff32: 0x6deafa20, 0x2ff33: 0x6deafc20,\n\t0x2ff34: 0x6deafe20, 0x2ff35: 0x6deb0020, 0x2ff36: 0x6e006e20, 0x2ff37: 0x6debce20,\n\t0x2ff38: 0x6debd020, 0x2ff39: 0x6e007020, 0x2ff3a: 0x6e007220, 0x2ff3b: 0x6e007420,\n\t0x2ff3c: 0x6e007620, 0x2ff3d: 0x6e007820, 0x2ff3e: 0x6e007a20, 0x2ff3f: 0x6e007c20,\n\t// Block 0xbfd, offset 0x2ff40\n\t0x2ff40: 0x6e007e20, 0x2ff41: 0x6e008020, 0x2ff42: 0x6e008220, 0x2ff43: 0x6e008420,\n\t0x2ff44: 0x6e008620, 0x2ff45: 0x6e008820, 0x2ff46: 0x6e008a20, 0x2ff47: 0x6e008c20,\n\t0x2ff48: 0x6e008e20, 0x2ff49: 0x6e009020, 0x2ff4a: 0x6e009220, 0x2ff4b: 0x6e009420,\n\t0x2ff4c: 0x6e009620, 0x2ff4d: 0x6e009820, 0x2ff4e: 0x6e009a20, 0x2ff4f: 0x6e009c20,\n\t0x2ff50: 0x6e009e20, 0x2ff51: 0x6e00a020, 0x2ff52: 0x6e015420, 0x2ff53: 0x6e00a220,\n\t0x2ff54: 0x6e00a420, 0x2ff55: 0x6e128c20, 0x2ff56: 0x6e128e20, 0x2ff57: 0x6e129020,\n\t0x2ff58: 0x6e129220, 0x2ff59: 0x6e129420, 0x2ff5a: 0x6e129620, 0x2ff5b: 0x6e015620,\n\t0x2ff5c: 0x6e129820, 0x2ff5d: 0x6e129a20, 0x2ff5e: 0x6e129c20, 0x2ff5f: 0x6e129e20,\n\t0x2ff60: 0x6e12a020, 0x2ff61: 0x6e12a220, 0x2ff62: 0x6e00a620, 0x2ff63: 0x6e12a420,\n\t0x2ff64: 0x6e006a20, 0x2ff65: 0x6e12a620, 0x2ff66: 0x6e12a820, 0x2ff67: 0x6e12aa20,\n\t0x2ff68: 0x6e12ac20, 0x2ff69: 0x6e12ae20, 0x2ff6a: 0x6e12b020, 0x2ff6b: 0x6e12b220,\n\t0x2ff6c: 0x6e20b820, 0x2ff6d: 0x6e12b420, 0x2ff6e: 0x6e12b620, 0x2ff6f: 0x6e12b820,\n\t0x2ff70: 0x6e015820, 0x2ff71: 0x6e2b7e20, 0x2ff72: 0x6e20ba20, 0x2ff73: 0x6e20bc20,\n\t0x2ff74: 0x6e20be20, 0x2ff75: 0x6e20c020, 0x2ff76: 0x6e20c220, 0x2ff77: 0x6e20c420,\n\t0x2ff78: 0x6e2b8020, 0x2ff79: 0x6e2b8220, 0x2ff7a: 0x6e2b8420, 0x2ff7b: 0x6e2b8620,\n\t0x2ff7c: 0x6e2b8820, 0x2ff7d: 0x6e2b8a20, 0x2ff7e: 0x6e2b8c20, 0x2ff7f: 0x6e2b8e20,\n\t// Block 0xbfe, offset 0x2ff80\n\t0x2ff80: 0x6e2b9020, 0x2ff81: 0x6e2b9220, 0x2ff82: 0x6e39ca20, 0x2ff83: 0x6e33ec20,\n\t0x2ff84: 0x6e3df420, 0x2ff85: 0x6e33ee20, 0x2ff86: 0x6e39cc20, 0x2ff87: 0x6e39ce20,\n\t0x2ff88: 0x6e39d020, 0x2ff89: 0x6e39d220, 0x2ff8a: 0x6e40cc20, 0x2ff8b: 0x6e446620,\n\t0x2ff8c: 0x6e42fa20, 0x2ff8d: 0x6c14ca20, 0x2ff8e: 0x6c401020, 0x2ff8f: 0x6c401220,\n\t0x2ff90: 0x6c5f9620, 0x2ff91: 0x6c84ce20, 0x2ff92: 0x6c674020, 0x2ff93: 0x6c84d020,\n\t0x2ff94: 0x6c84d220, 0x2ff95: 0x6cae2620, 0x2ff96: 0x6cae2820, 0x2ff97: 0x6cae2a20,\n\t0x2ff98: 0x6cae2c20, 0x2ff99: 0x6cae2e20, 0x2ff9a: 0x6cae3020, 0x2ff9b: 0x6cdd4c20,\n\t0x2ff9c: 0x6d0bc020, 0x2ff9d: 0x6cdd4e20, 0x2ff9e: 0x6d0bcc20, 0x2ff9f: 0x6d0bce20,\n\t0x2ffa0: 0x6d39ba20, 0x2ffa1: 0x6d39bc20, 0x2ffa2: 0x6d65f620, 0x2ffa3: 0x6d8fc620,\n\t0x2ffa4: 0x6d8fca20, 0x2ffa5: 0x6d8fcc20, 0x2ffa6: 0x6d8fce20, 0x2ffa7: 0x6db39a20,\n\t0x2ffa8: 0x6db39c20, 0x2ffa9: 0x6dd29a20, 0x2ffaa: 0x6e3e1220, 0x2ffab: 0x6c14cc20,\n\t0x2ffac: 0x6c268a20, 0x2ffad: 0x6c401620, 0x2ffae: 0x6c401820, 0x2ffaf: 0x6c401a20,\n\t0x2ffb0: 0x6c401c20, 0x2ffb1: 0x6c401e20, 0x2ffb2: 0x6c402020, 0x2ffb3: 0x6c5fa820,\n\t0x2ffb4: 0x6c5faa20, 0x2ffb5: 0x6c5fac20, 0x2ffb6: 0x6c5fae20, 0x2ffb7: 0x6c5fb020,\n\t0x2ffb8: 0x6c5fb220, 0x2ffb9: 0x6c5fb420, 0x2ffba: 0x6c5fb620, 0x2ffbb: 0x6c5fb820,\n\t0x2ffbc: 0x6c5fba20, 0x2ffbd: 0x6c5fbc20, 0x2ffbe: 0x6c5fbe20, 0x2ffbf: 0x6c5fc020,\n\t// Block 0xbff, offset 0x2ffc0\n\t0x2ffc0: 0x6c5fc220, 0x2ffc1: 0x6c5fc420, 0x2ffc2: 0x6c5fc620, 0x2ffc3: 0x6c5fc820,\n\t0x2ffc4: 0x6c84e420, 0x2ffc5: 0x6c84e620, 0x2ffc6: 0x6c84e820, 0x2ffc7: 0x6c84ea20,\n\t0x2ffc8: 0x6cdd7820, 0x2ffc9: 0x6c84ec20, 0x2ffca: 0x6c84ee20, 0x2ffcb: 0x6c84f020,\n\t0x2ffcc: 0x6c84f220, 0x2ffcd: 0x6c84f420, 0x2ffce: 0x6c84f620, 0x2ffcf: 0x6c84f820,\n\t0x2ffd0: 0x6c84fa20, 0x2ffd1: 0x6c84fc20, 0x2ffd2: 0x6c84fe20, 0x2ffd3: 0x6c850020,\n\t0x2ffd4: 0x6c850220, 0x2ffd5: 0x6c850420, 0x2ffd6: 0x6c850620, 0x2ffd7: 0x6c850820,\n\t0x2ffd8: 0x6c850a20, 0x2ffd9: 0x6c850c20, 0x2ffda: 0x6c850e20, 0x2ffdb: 0x6c851020,\n\t0x2ffdc: 0x6c851220, 0x2ffdd: 0x6c851420, 0x2ffde: 0x6c851620, 0x2ffdf: 0x6c851820,\n\t0x2ffe0: 0x6c851a20, 0x2ffe1: 0x6c851c20, 0x2ffe2: 0x6c851e20, 0x2ffe3: 0x6c852020,\n\t0x2ffe4: 0x6c852220, 0x2ffe5: 0x6c852420, 0x2ffe6: 0x6c852620, 0x2ffe7: 0x6c852820,\n\t0x2ffe8: 0x6c852a20, 0x2ffe9: 0x6c852c20, 0x2ffea: 0x6c852e20, 0x2ffeb: 0x6cae6020,\n\t0x2ffec: 0x6c853020, 0x2ffed: 0x6cae6220, 0x2ffee: 0x6cae6420, 0x2ffef: 0x6cae6620,\n\t0x2fff0: 0x6cae6820, 0x2fff1: 0x6cae6a20, 0x2fff2: 0x6cae6c20, 0x2fff3: 0x6cae6e20,\n\t0x2fff4: 0x6cae7020, 0x2fff5: 0x6cae7220, 0x2fff6: 0x6cae7420, 0x2fff7: 0x6cae7620,\n\t0x2fff8: 0x6cae7820, 0x2fff9: 0x6cae7a20, 0x2fffa: 0x6cae7c20, 0x2fffb: 0x6cae7e20,\n\t0x2fffc: 0x6cae8020, 0x2fffd: 0x6cae8220, 0x2fffe: 0x6cae8420, 0x2ffff: 0x6cae8620,\n\t// Block 0xc00, offset 0x30000\n\t0x30000: 0x6cae8820, 0x30001: 0x6cae8a20, 0x30002: 0x6cae8c20, 0x30003: 0x6cae8e20,\n\t0x30004: 0x6cae9020, 0x30005: 0x6cae9220, 0x30006: 0x6cae9420, 0x30007: 0x6cae9620,\n\t0x30008: 0x6cae9820, 0x30009: 0x6cae9a20, 0x3000a: 0x6cae9c20, 0x3000b: 0x6cae9e20,\n\t0x3000c: 0x6caea020, 0x3000d: 0x6caea220, 0x3000e: 0x6caea420, 0x3000f: 0x6caea620,\n\t0x30010: 0x6cdd7a20, 0x30011: 0x6cdd7c20, 0x30012: 0x6cdd7e20, 0x30013: 0x6cdd8020,\n\t0x30014: 0x6cdd8220, 0x30015: 0x6cdd8420, 0x30016: 0x6d0bf020, 0x30017: 0x6cdd8620,\n\t0x30018: 0x6cdd8820, 0x30019: 0x6cdd8a20, 0x3001a: 0x6cdd8c20, 0x3001b: 0x6cdd8e20,\n\t0x3001c: 0x6cdd9020, 0x3001d: 0x6cdd9220, 0x3001e: 0x6cdd9420, 0x3001f: 0x6cdd9620,\n\t0x30020: 0x6cdd9820, 0x30021: 0x6cdd9a20, 0x30022: 0x6cdd9c20, 0x30023: 0x6cdd9e20,\n\t0x30024: 0x6cdda020, 0x30025: 0x6cdda220, 0x30026: 0x6cdda420, 0x30027: 0x6cdda620,\n\t0x30028: 0x6cdda820, 0x30029: 0x6cddaa20, 0x3002a: 0x6cddac20, 0x3002b: 0x6cddae20,\n\t0x3002c: 0x6cddb020, 0x3002d: 0x6cddb220, 0x3002e: 0x6cddb420, 0x3002f: 0x6cddb620,\n\t0x30030: 0x6cddb820, 0x30031: 0x6cddba20, 0x30032: 0x6cddbc20, 0x30033: 0x6cddbe20,\n\t0x30034: 0x6cddc020, 0x30035: 0x6d0bf220, 0x30036: 0x6d0bf420, 0x30037: 0x6d0bf620,\n\t0x30038: 0x6d0bf820, 0x30039: 0x6d0bfa20, 0x3003a: 0x6d0bfc20, 0x3003b: 0x6d0bfe20,\n\t0x3003c: 0x6d0c0020, 0x3003d: 0x6d0c0220, 0x3003e: 0x6d0c0420, 0x3003f: 0x6d0c0620,\n\t// Block 0xc01, offset 0x30040\n\t0x30040: 0x6d0c0820, 0x30041: 0x6d0c0a20, 0x30042: 0x6d0c0c20, 0x30043: 0x6d0c0e20,\n\t0x30044: 0x6d0c1020, 0x30045: 0x6d0c1220, 0x30046: 0x6d0c1420, 0x30047: 0x6d0c1620,\n\t0x30048: 0x6d0c1820, 0x30049: 0x6d0c1a20, 0x3004a: 0x6d0c1c20, 0x3004b: 0x6d0c1e20,\n\t0x3004c: 0x6d0c2020, 0x3004d: 0x6d0c2220, 0x3004e: 0x6d0c2420, 0x3004f: 0x6d0c2620,\n\t0x30050: 0x6d0c2820, 0x30051: 0x6d39dc20, 0x30052: 0x6d39de20, 0x30053: 0x6d0c2a20,\n\t0x30054: 0x6d0c2c20, 0x30055: 0x6d0c2e20, 0x30056: 0x6d0c3020, 0x30057: 0x6d0c3220,\n\t0x30058: 0x6d39fc20, 0x30059: 0x6d39fe20, 0x3005a: 0x6d3a0020, 0x3005b: 0x6d3a0220,\n\t0x3005c: 0x6d3a0420, 0x3005d: 0x6d3a0620, 0x3005e: 0x6d3a0820, 0x3005f: 0x6d3a0a20,\n\t0x30060: 0x6d3a0c20, 0x30061: 0x6d3a0e20, 0x30062: 0x6d3a1020, 0x30063: 0x6d3a1220,\n\t0x30064: 0x6d3a1420, 0x30065: 0x6d3a1620, 0x30066: 0x6d3a1820, 0x30067: 0x6d3a1a20,\n\t0x30068: 0x6d3a1c20, 0x30069: 0x6d3a1e20, 0x3006a: 0x6d3a2020, 0x3006b: 0x6d39e020,\n\t0x3006c: 0x6d3a2220, 0x3006d: 0x6d3a2420, 0x3006e: 0x6d3a2620, 0x3006f: 0x6d3a2820,\n\t0x30070: 0x6d3a2a20, 0x30071: 0x6d3a2c20, 0x30072: 0x6d3a2e20, 0x30073: 0x6d3a3020,\n\t0x30074: 0x6d3a3220, 0x30075: 0x6d3a3420, 0x30076: 0x6d3a3620, 0x30077: 0x6d3a3820,\n\t0x30078: 0x6d3a3a20, 0x30079: 0x6d3a3c20, 0x3007a: 0x6d3a3e20, 0x3007b: 0x6d3a4020,\n\t0x3007c: 0x6d3a4220, 0x3007d: 0x6d3a4420, 0x3007e: 0x6d3a4620, 0x3007f: 0x6d3a4820,\n\t// Block 0xc02, offset 0x30080\n\t0x30080: 0x6d3a4a20, 0x30081: 0x6d3a4c20, 0x30082: 0x6d3a4e20, 0x30083: 0x6d3a5020,\n\t0x30084: 0x6d3a5220, 0x30085: 0x6d3a5420, 0x30086: 0x6d0c3420, 0x30087: 0x6d3a5620,\n\t0x30088: 0x6d3a5820, 0x30089: 0x6d3a5a20, 0x3008a: 0x6d3a5c20, 0x3008b: 0x6d3a5e20,\n\t0x3008c: 0x6d662820, 0x3008d: 0x6d0cba20, 0x3008e: 0x6d662a20, 0x3008f: 0x6d662c20,\n\t0x30090: 0x6d662e20, 0x30091: 0x6d663020, 0x30092: 0x6d663220, 0x30093: 0x6d663420,\n\t0x30094: 0x6d663620, 0x30095: 0x6d3b0c20, 0x30096: 0x6d663820, 0x30097: 0x6d663a20,\n\t0x30098: 0x6d663c20, 0x30099: 0x6d663e20, 0x3009a: 0x6d664020, 0x3009b: 0x6d664220,\n\t0x3009c: 0x6d664420, 0x3009d: 0x6d664620, 0x3009e: 0x6d664820, 0x3009f: 0x6d664a20,\n\t0x300a0: 0x6d664c20, 0x300a1: 0x6d664e20, 0x300a2: 0x6d665020, 0x300a3: 0x6d665220,\n\t0x300a4: 0x6d665420, 0x300a5: 0x6d665620, 0x300a6: 0x6d665820, 0x300a7: 0x6d665a20,\n\t0x300a8: 0x6d665c20, 0x300a9: 0x6d665e20, 0x300aa: 0x6d666020, 0x300ab: 0x6d3b0e20,\n\t0x300ac: 0x6d666220, 0x300ad: 0x6d666420, 0x300ae: 0x6d666620, 0x300af: 0x6d666820,\n\t0x300b0: 0x6d666a20, 0x300b1: 0x6d666c20, 0x300b2: 0x6d666e20, 0x300b3: 0x6d667020,\n\t0x300b4: 0x6d667220, 0x300b5: 0x6d667420, 0x300b6: 0x6d667620, 0x300b7: 0x6d667820,\n\t0x300b8: 0x6d667a20, 0x300b9: 0x6d900a20, 0x300ba: 0x6d667c20, 0x300bb: 0x6d667e20,\n\t0x300bc: 0x6d668020, 0x300bd: 0x6d668220, 0x300be: 0x6d668420, 0x300bf: 0x6d668620,\n\t// Block 0xc03, offset 0x300c0\n\t0x300c0: 0x6d668820, 0x300c1: 0x6d900c20, 0x300c2: 0x6d673820, 0x300c3: 0x6d900e20,\n\t0x300c4: 0x6d901020, 0x300c5: 0x6d901220, 0x300c6: 0x6d901420, 0x300c7: 0x6d901620,\n\t0x300c8: 0x6d901820, 0x300c9: 0x6d901a20, 0x300ca: 0x6d901c20, 0x300cb: 0x6d901e20,\n\t0x300cc: 0x6d902020, 0x300cd: 0x6d902220, 0x300ce: 0x6d902420, 0x300cf: 0x6d902620,\n\t0x300d0: 0x6d902820, 0x300d1: 0x6d902a20, 0x300d2: 0x6d902c20, 0x300d3: 0x6d902e20,\n\t0x300d4: 0x6d903020, 0x300d5: 0x6d903220, 0x300d6: 0x6d903420, 0x300d7: 0x6d903620,\n\t0x300d8: 0x6d903820, 0x300d9: 0x6d903a20, 0x300da: 0x6d903c20, 0x300db: 0x6d903e20,\n\t0x300dc: 0x6d904020, 0x300dd: 0x6d904220, 0x300de: 0x6d904420, 0x300df: 0x6d904620,\n\t0x300e0: 0x6d904820, 0x300e1: 0x6d904a20, 0x300e2: 0x6d904c20, 0x300e3: 0x6d904e20,\n\t0x300e4: 0x6d905020, 0x300e5: 0x6d905220, 0x300e6: 0x6d905420, 0x300e7: 0x6d905620,\n\t0x300e8: 0x6d905820, 0x300e9: 0x6d905a20, 0x300ea: 0x6db3d420, 0x300eb: 0x6db3d620,\n\t0x300ec: 0x6db3d820, 0x300ed: 0x6db3da20, 0x300ee: 0x6db3dc20, 0x300ef: 0x6db3de20,\n\t0x300f0: 0x6db3e020, 0x300f1: 0x6db3e220, 0x300f2: 0x6db3e420, 0x300f3: 0x6db3e620,\n\t0x300f4: 0x6db3e820, 0x300f5: 0x6db3ea20, 0x300f6: 0x6db3ec20, 0x300f7: 0x6db3ee20,\n\t0x300f8: 0x6db3f020, 0x300f9: 0x6db3f220, 0x300fa: 0x6db3f420, 0x300fb: 0x6db3f620,\n\t0x300fc: 0x6db3f820, 0x300fd: 0x6db3fa20, 0x300fe: 0x6db3fc20, 0x300ff: 0x6db3fe20,\n\t// Block 0xc04, offset 0x30100\n\t0x30100: 0x6db40020, 0x30101: 0x6db40220, 0x30102: 0x6db40420, 0x30103: 0x6db40620,\n\t0x30104: 0x6db40820, 0x30105: 0x6db40a20, 0x30106: 0x6db40c20, 0x30107: 0x6db40e20,\n\t0x30108: 0x6db41020, 0x30109: 0x6db41220, 0x3010a: 0x6db41420, 0x3010b: 0x6db41620,\n\t0x3010c: 0x6db41820, 0x3010d: 0x6db41a20, 0x3010e: 0x6db41c20, 0x3010f: 0x6db41e20,\n\t0x30110: 0x6db42020, 0x30111: 0x6db42220, 0x30112: 0x6db42420, 0x30113: 0x6dd2ba20,\n\t0x30114: 0x6dd2bc20, 0x30115: 0x6debe420, 0x30116: 0x6dd2be20, 0x30117: 0x6dd2ae20,\n\t0x30118: 0x6dd2c020, 0x30119: 0x6dd2c220, 0x3011a: 0x6dd2c420, 0x3011b: 0x6dd2c620,\n\t0x3011c: 0x6dd2c820, 0x3011d: 0x6dd2ca20, 0x3011e: 0x6db4c620, 0x3011f: 0x6dd2cc20,\n\t0x30120: 0x6dd2ce20, 0x30121: 0x6d668a20, 0x30122: 0x6dd2d020, 0x30123: 0x6dd2d220,\n\t0x30124: 0x6dd2d420, 0x30125: 0x6dd2d620, 0x30126: 0x6dd2d820, 0x30127: 0x6dd2da20,\n\t0x30128: 0x6dd2dc20, 0x30129: 0x6dd2de20, 0x3012a: 0x6dd2e020, 0x3012b: 0x6dd2e220,\n\t0x3012c: 0x6dd2e420, 0x3012d: 0x6dd2e620, 0x3012e: 0x6dd2e820, 0x3012f: 0x6dd2ea20,\n\t0x30130: 0x6dd2ec20, 0x30131: 0x6dd2ee20, 0x30132: 0x6dd2f020, 0x30133: 0x6dd2f220,\n\t0x30134: 0x6dd2f420, 0x30135: 0x6dd2f620, 0x30136: 0x6debf620, 0x30137: 0x6debf820,\n\t0x30138: 0x6debfa20, 0x30139: 0x6debfc20, 0x3013a: 0x6debfe20, 0x3013b: 0x6dec0020,\n\t0x3013c: 0x6dec0220, 0x3013d: 0x6dec0420, 0x3013e: 0x6dec0620, 0x3013f: 0x6dec0820,\n\t// Block 0xc05, offset 0x30140\n\t0x30140: 0x6dec0a20, 0x30141: 0x6debe220, 0x30142: 0x6dec0c20, 0x30143: 0x6dec0e20,\n\t0x30144: 0x6dec1020, 0x30145: 0x6dec1220, 0x30146: 0x6dec1420, 0x30147: 0x6dec1620,\n\t0x30148: 0x6dec1820, 0x30149: 0x6dec1a20, 0x3014a: 0x6dec1c20, 0x3014b: 0x6dec1e20,\n\t0x3014c: 0x6dec2020, 0x3014d: 0x6dec2220, 0x3014e: 0x6dd2f820, 0x3014f: 0x6dec2420,\n\t0x30150: 0x6e017020, 0x30151: 0x6e017220, 0x30152: 0x6e017420, 0x30153: 0x6e017620,\n\t0x30154: 0x6e017820, 0x30155: 0x6e017a20, 0x30156: 0x6e017c20, 0x30157: 0x6e017e20,\n\t0x30158: 0x6e018020, 0x30159: 0x6e018220, 0x3015a: 0x6e135620, 0x3015b: 0x6e135820,\n\t0x3015c: 0x6e135a20, 0x3015d: 0x6e135c20, 0x3015e: 0x6deca420, 0x3015f: 0x6e135e20,\n\t0x30160: 0x6e136020, 0x30161: 0x6e136220, 0x30162: 0x6e136420, 0x30163: 0x6e136620,\n\t0x30164: 0x6e136820, 0x30165: 0x6e212c20, 0x30166: 0x6e212e20, 0x30167: 0x6e213020,\n\t0x30168: 0x6e213220, 0x30169: 0x6e13c620, 0x3016a: 0x6e213420, 0x3016b: 0x6e13c820,\n\t0x3016c: 0x6e213620, 0x3016d: 0x6e2be220, 0x3016e: 0x6e2be420, 0x3016f: 0x6e2be620,\n\t0x30170: 0x6e2be820, 0x30171: 0x6e2bea20, 0x30172: 0x6e2bec20, 0x30173: 0x6e2bee20,\n\t0x30174: 0x6e2bda20, 0x30175: 0x6e342620, 0x30176: 0x6e342820, 0x30177: 0x6e342a20,\n\t0x30178: 0x6e342c20, 0x30179: 0x6e342e20, 0x3017a: 0x6e343020, 0x3017b: 0x6e39ec20,\n\t0x3017c: 0x6e3e1620, 0x3017d: 0x6e40de20, 0x3017e: 0x6e40e020, 0x3017f: 0x6e40fa20,\n\t// Block 0xc06, offset 0x30180\n\t0x30180: 0x6c14ce20, 0x30181: 0x6c5ff820, 0x30182: 0x6c5ffa20, 0x30183: 0x6c858420,\n\t0x30184: 0x6c858620, 0x30185: 0x6caf1c20, 0x30186: 0x6cde4420, 0x30187: 0x6cde4620,\n\t0x30188: 0x6cde4820, 0x30189: 0x6cde4a20, 0x3018a: 0x6e13ca20, 0x3018b: 0x6e345c20,\n\t0x3018c: 0x6c14d020, 0x3018d: 0x6c5ffe20, 0x3018e: 0x6c600020, 0x3018f: 0x6c859620,\n\t0x30190: 0x6caf2620, 0x30191: 0x6caf2820, 0x30192: 0x6caf2a20, 0x30193: 0x6caf2c20,\n\t0x30194: 0x6caf2e20, 0x30195: 0x6cde5220, 0x30196: 0x6cde5420, 0x30197: 0x6cde5620,\n\t0x30198: 0x6d0cc820, 0x30199: 0x6d0cca20, 0x3019a: 0x6d674620, 0x3019b: 0x6d674820,\n\t0x3019c: 0x6d674a20, 0x3019d: 0x6d674c20, 0x3019e: 0x6d912420, 0x3019f: 0x6d912620,\n\t0x301a0: 0x6d912820, 0x301a1: 0x6d912a20, 0x301a2: 0x6e345e20, 0x301a3: 0x6c14d220,\n\t0x301a4: 0x6c0a6020, 0x301a5: 0x6c404820, 0x301a6: 0x6c601220, 0x301a7: 0x6c601420,\n\t0x301a8: 0x6c404a20, 0x301a9: 0x6c601620, 0x301aa: 0x6c601820, 0x301ab: 0x6c601a20,\n\t0x301ac: 0x6c601c20, 0x301ad: 0x6c85a620, 0x301ae: 0x6c85a820, 0x301af: 0x6c85aa20,\n\t0x301b0: 0x6c85ac20, 0x301b1: 0x6c85ae20, 0x301b2: 0x6c85b020, 0x301b3: 0x6c85b220,\n\t0x301b4: 0x6c85b420, 0x301b5: 0x6c85b620, 0x301b6: 0x6c85b820, 0x301b7: 0x6c85ba20,\n\t0x301b8: 0x6c85bc20, 0x301b9: 0x6c85be20, 0x301ba: 0x6c85c020, 0x301bb: 0x6c85c220,\n\t0x301bc: 0x6c85c420, 0x301bd: 0x6c85c620, 0x301be: 0x6c85c820, 0x301bf: 0x6c85ca20,\n\t// Block 0xc07, offset 0x301c0\n\t0x301c0: 0x6c85cc20, 0x301c1: 0x6c85ce20, 0x301c2: 0x6c85d020, 0x301c3: 0x6c85d220,\n\t0x301c4: 0x6c85d420, 0x301c5: 0x6c85d620, 0x301c6: 0x6c85d820, 0x301c7: 0x6c85da20,\n\t0x301c8: 0x6caf4020, 0x301c9: 0x6caf4220, 0x301ca: 0x6caf4420, 0x301cb: 0x6caf4620,\n\t0x301cc: 0x6caf4820, 0x301cd: 0x6caf4a20, 0x301ce: 0x6caf4c20, 0x301cf: 0x6caf4e20,\n\t0x301d0: 0x6caf5020, 0x301d1: 0x6caf5220, 0x301d2: 0x6caf5420, 0x301d3: 0x6caf5620,\n\t0x301d4: 0x6caf5820, 0x301d5: 0x6caf5a20, 0x301d6: 0x6caf5c20, 0x301d7: 0x6caf5e20,\n\t0x301d8: 0x6caf6020, 0x301d9: 0x6caf6220, 0x301da: 0x6caf6420, 0x301db: 0x6caf6620,\n\t0x301dc: 0x6caf6820, 0x301dd: 0x6caf6a20, 0x301de: 0x6caf6c20, 0x301df: 0x6caf6e20,\n\t0x301e0: 0x6caf7020, 0x301e1: 0x6caf7220, 0x301e2: 0x6caf7420, 0x301e3: 0x6caf7620,\n\t0x301e4: 0x6caf7820, 0x301e5: 0x6caf7a20, 0x301e6: 0x6caf7c20, 0x301e7: 0x6caf7e20,\n\t0x301e8: 0x6caf8020, 0x301e9: 0x6caf8220, 0x301ea: 0x6caf8420, 0x301eb: 0x6caf8620,\n\t0x301ec: 0x6caf8820, 0x301ed: 0x6caf8a20, 0x301ee: 0x6caf8c20, 0x301ef: 0x6caf9020,\n\t0x301f0: 0x6caf8e20, 0x301f1: 0x6cde7820, 0x301f2: 0x6cde7a20, 0x301f3: 0x6cde7c20,\n\t0x301f4: 0x6cde7e20, 0x301f5: 0x6cde8020, 0x301f6: 0x6cde8220, 0x301f7: 0x6cde8420,\n\t0x301f8: 0x6cde8620, 0x301f9: 0x6cde8820, 0x301fa: 0x6cde8a20, 0x301fb: 0x6cde8c20,\n\t0x301fc: 0x6cde8e20, 0x301fd: 0x6cde9020, 0x301fe: 0x6cde9220, 0x301ff: 0x6cde9420,\n\t// Block 0xc08, offset 0x30200\n\t0x30200: 0x6cde9620, 0x30201: 0x6cde9820, 0x30202: 0x6cde9a20, 0x30203: 0x6cde9c20,\n\t0x30204: 0x6cde9e20, 0x30205: 0x6cdea020, 0x30206: 0x6cdea220, 0x30207: 0x6cdea420,\n\t0x30208: 0x6cdea620, 0x30209: 0x6cdea820, 0x3020a: 0x6d0ce020, 0x3020b: 0x6d0ce220,\n\t0x3020c: 0x6d0ce420, 0x3020d: 0x6d0ce620, 0x3020e: 0x6d0ce820, 0x3020f: 0x6d0cea20,\n\t0x30210: 0x6d0cec20, 0x30211: 0x6d0cee20, 0x30212: 0x6d0cf020, 0x30213: 0x6d0cf220,\n\t0x30214: 0x6d0cf420, 0x30215: 0x6d0cf620, 0x30216: 0x6d0cf820, 0x30217: 0x6cdeaa20,\n\t0x30218: 0x6d0cfa20, 0x30219: 0x6d0cfc20, 0x3021a: 0x6d0cfe20, 0x3021b: 0x6d0d0020,\n\t0x3021c: 0x6d0d0220, 0x3021d: 0x6d0d0420, 0x3021e: 0x6d0d0620, 0x3021f: 0x6d0d0820,\n\t0x30220: 0x6d0d0a20, 0x30221: 0x6d0d0c20, 0x30222: 0x6d3b2620, 0x30223: 0x6d0d0e20,\n\t0x30224: 0x6d0d1020, 0x30225: 0x6d0d1220, 0x30226: 0x6d676e20, 0x30227: 0x6d3b4820,\n\t0x30228: 0x6d3b4a20, 0x30229: 0x6d3b4c20, 0x3022a: 0x6d3b4e20, 0x3022b: 0x6d3b5020,\n\t0x3022c: 0x6d3b5220, 0x3022d: 0x6d3b5420, 0x3022e: 0x6d3b5620, 0x3022f: 0x6d3b5820,\n\t0x30230: 0x6d3b5a20, 0x30231: 0x6d3b5c20, 0x30232: 0x6d3b5e20, 0x30233: 0x6d3b6020,\n\t0x30234: 0x6d3b6220, 0x30235: 0x6d3b6420, 0x30236: 0x6d3b6620, 0x30237: 0x6d3b6820,\n\t0x30238: 0x6d3b6a20, 0x30239: 0x6d3b6c20, 0x3023a: 0x6d3b6e20, 0x3023b: 0x6d3b7020,\n\t0x3023c: 0x6d3b7220, 0x3023d: 0x6d3b7420, 0x3023e: 0x6d3b7620, 0x3023f: 0x6d3b7820,\n\t// Block 0xc09, offset 0x30240\n\t0x30240: 0x6d3b7a20, 0x30241: 0x6cdef820, 0x30242: 0x6d3b7c20, 0x30243: 0x6d3b7e20,\n\t0x30244: 0x6d3b8020, 0x30245: 0x6d677020, 0x30246: 0x6d677220, 0x30247: 0x6d677420,\n\t0x30248: 0x6d677620, 0x30249: 0x6d677820, 0x3024a: 0x6d677a20, 0x3024b: 0x6d677c20,\n\t0x3024c: 0x6d677e20, 0x3024d: 0x6d678020, 0x3024e: 0x6d678220, 0x3024f: 0x6d678420,\n\t0x30250: 0x6d678620, 0x30251: 0x6d678820, 0x30252: 0x6d678a20, 0x30253: 0x6d678c20,\n\t0x30254: 0x6d678e20, 0x30255: 0x6d679020, 0x30256: 0x6d679220, 0x30257: 0x6d679420,\n\t0x30258: 0x6d679620, 0x30259: 0x6d679820, 0x3025a: 0x6d3b8220, 0x3025b: 0x6d679a20,\n\t0x3025c: 0x6d679c20, 0x3025d: 0x6d679e20, 0x3025e: 0x6d913c20, 0x3025f: 0x6d913e20,\n\t0x30260: 0x6d914020, 0x30261: 0x6d914220, 0x30262: 0x6d914420, 0x30263: 0x6d914620,\n\t0x30264: 0x6d914820, 0x30265: 0x6d914a20, 0x30266: 0x6d914c20, 0x30267: 0x6d914e20,\n\t0x30268: 0x6d915020, 0x30269: 0x6d915220, 0x3026a: 0x6d915420, 0x3026b: 0x6d915620,\n\t0x3026c: 0x6d915820, 0x3026d: 0x6d915a20, 0x3026e: 0x6d915c20, 0x3026f: 0x6d915e20,\n\t0x30270: 0x6d916020, 0x30271: 0x6d916220, 0x30272: 0x6d916420, 0x30273: 0x6db4ee20,\n\t0x30274: 0x6d916620, 0x30275: 0x6db4f020, 0x30276: 0x6db4f220, 0x30277: 0x6db4f420,\n\t0x30278: 0x6db4f620, 0x30279: 0x6db4f820, 0x3027a: 0x6db4fa20, 0x3027b: 0x6db4fc20,\n\t0x3027c: 0x6db4fe20, 0x3027d: 0x6db50020, 0x3027e: 0x6db50220, 0x3027f: 0x6db50420,\n\t// Block 0xc0a, offset 0x30280\n\t0x30280: 0x6db50620, 0x30281: 0x6db50820, 0x30282: 0x6db50a20, 0x30283: 0x6db50c20,\n\t0x30284: 0x6db50e20, 0x30285: 0x6db51020, 0x30286: 0x6dd3b620, 0x30287: 0x6dd3b820,\n\t0x30288: 0x6dd3ba20, 0x30289: 0x6dd3bc20, 0x3028a: 0x6dd3be20, 0x3028b: 0x6dd3c020,\n\t0x3028c: 0x6dd3c220, 0x3028d: 0x6dd3c420, 0x3028e: 0x6dd3c620, 0x3028f: 0x6dd3c820,\n\t0x30290: 0x6dd3ca20, 0x30291: 0x6dd3cc20, 0x30292: 0x6db51420, 0x30293: 0x6dd3ce20,\n\t0x30294: 0x6db51220, 0x30295: 0x6dd3d020, 0x30296: 0x6decb020, 0x30297: 0x6decb220,\n\t0x30298: 0x6decb420, 0x30299: 0x6decb620, 0x3029a: 0x6decb820, 0x3029b: 0x6decba20,\n\t0x3029c: 0x6decbc20, 0x3029d: 0x6decbe20, 0x3029e: 0x6decc020, 0x3029f: 0x6decc220,\n\t0x302a0: 0x6decc420, 0x302a1: 0x6decc620, 0x302a2: 0x6decc820, 0x302a3: 0x6e01ec20,\n\t0x302a4: 0x6e01ee20, 0x302a5: 0x6e01f020, 0x302a6: 0x6e01f220, 0x302a7: 0x6e01f420,\n\t0x302a8: 0x6e01f620, 0x302a9: 0x6e13d220, 0x302aa: 0x6e13d420, 0x302ab: 0x6e13d620,\n\t0x302ac: 0x6e13d820, 0x302ad: 0x6e13da20, 0x302ae: 0x6e13dc20, 0x302af: 0x6e218e20,\n\t0x302b0: 0x6e219020, 0x302b1: 0x6e219220, 0x302b2: 0x6e219420, 0x302b3: 0x6e2c2620,\n\t0x302b4: 0x6e2c2820, 0x302b5: 0x6e346420, 0x302b6: 0x6e2c2a20, 0x302b7: 0x6e346620,\n\t0x302b8: 0x6e3a0c20, 0x302b9: 0x6e3a0e20, 0x302ba: 0x6e3a1020, 0x302bb: 0x6e3a1220,\n\t0x302bc: 0x6e3a1420, 0x302bd: 0x6e40fc20, 0x302be: 0x6c14d420, 0x302bf: 0x6c14d620,\n\t// Block 0xc0b, offset 0x302c0\n\t0x302c0: 0x6c14d820, 0x302c1: 0x6c606620, 0x302c2: 0x6cafe420, 0x302c3: 0x6cdefe20,\n\t0x302c4: 0x6cdf0020, 0x302c5: 0x6d0d7620, 0x302c6: 0x6dd40e20, 0x302c7: 0x6decfe20,\n\t0x302c8: 0x6ded0020, 0x302c9: 0x6e2c3820, 0x302ca: 0x6e3a2020, 0x302cb: 0x6c26a020,\n\t0x302cc: 0x6c606e20, 0x302cd: 0x6c862e20, 0x302ce: 0x6c863020, 0x302cf: 0x6caff420,\n\t0x302d0: 0x6caff620, 0x302d1: 0x6caff820, 0x302d2: 0x6caffa20, 0x302d3: 0x6caffc20,\n\t0x302d4: 0x6caffe20, 0x302d5: 0x6cdf1220, 0x302d6: 0x6ca6aa20, 0x302d7: 0x6cdf1420,\n\t0x302d8: 0x6cdf1620, 0x302d9: 0x6cdf0820, 0x302da: 0x6cdf1820, 0x302db: 0x6d0d8020,\n\t0x302dc: 0x6d0d8220, 0x302dd: 0x6d3bf020, 0x302de: 0x6d3bf220, 0x302df: 0x6d3bf420,\n\t0x302e0: 0x6d3bf620, 0x302e1: 0x6d3bf820, 0x302e2: 0x6d67fc20, 0x302e3: 0x6d67fe20,\n\t0x302e4: 0x6d680020, 0x302e5: 0x6d680220, 0x302e6: 0x6d91ca20, 0x302e7: 0x6d91cc20,\n\t0x302e8: 0x6d91ce20, 0x302e9: 0x6d683220, 0x302ea: 0x6d91d020, 0x302eb: 0x6db58620,\n\t0x302ec: 0x6db58820, 0x302ed: 0x6db58a20, 0x302ee: 0x6db58c20, 0x302ef: 0x6db58e20,\n\t0x302f0: 0x6dd41820, 0x302f1: 0x6dd41a20, 0x302f2: 0x6dd41c20, 0x302f3: 0x6dd41e20,\n\t0x302f4: 0x6ded0e20, 0x302f5: 0x6ded1020, 0x302f6: 0x6ded1220, 0x302f7: 0x6ded1420,\n\t0x302f8: 0x6ded1620, 0x302f9: 0x6e021a20, 0x302fa: 0x6e021c20, 0x302fb: 0x6e021e20,\n\t0x302fc: 0x6e13fe20, 0x302fd: 0x6e140020, 0x302fe: 0x6e21a220, 0x302ff: 0x6e21a420,\n\t// Block 0xc0c, offset 0x30300\n\t0x30300: 0x6e3a2420, 0x30301: 0x6c050c20, 0x30302: 0x6c14da20, 0x30303: 0x6c26a220,\n\t0x30304: 0x6c407220, 0x30305: 0x6c407420, 0x30306: 0x6c5adc20, 0x30307: 0x6c607220,\n\t0x30308: 0x6c607420, 0x30309: 0x6c607620, 0x3030a: 0x6c863e20, 0x3030b: 0x6cb01c20,\n\t0x3030c: 0x6cdf3420, 0x3030d: 0x6cdf3620, 0x3030e: 0x6d0dac20, 0x3030f: 0x6d3c1e20,\n\t0x30310: 0x6d683420, 0x30311: 0x6d683620, 0x30312: 0x6c26a620, 0x30313: 0x6c607c20,\n\t0x30314: 0x6c607e20, 0x30315: 0x6cb02020, 0x30316: 0x6cb02220, 0x30317: 0x6cb02420,\n\t0x30318: 0x6cb02620, 0x30319: 0x6cb02820, 0x3031a: 0x6cdf3820, 0x3031b: 0x6cdf3a20,\n\t0x3031c: 0x6d0db620, 0x3031d: 0x6cdf3c20, 0x3031e: 0x6cdf3e20, 0x3031f: 0x6d0db820,\n\t0x30320: 0x6d0dba20, 0x30321: 0x6d0dbc20, 0x30322: 0x6d0dbe20, 0x30323: 0x6d0dc020,\n\t0x30324: 0x6d0dc220, 0x30325: 0x6d0dc420, 0x30326: 0x6d0dc620, 0x30327: 0x6d0dc820,\n\t0x30328: 0x6d3c2220, 0x30329: 0x6d3c2420, 0x3032a: 0x6d3c2620, 0x3032b: 0x6d3c2820,\n\t0x3032c: 0x6d684420, 0x3032d: 0x6d684620, 0x3032e: 0x6d684820, 0x3032f: 0x6d684a20,\n\t0x30330: 0x6d687a20, 0x30331: 0x6d920a20, 0x30332: 0x6db5ac20, 0x30333: 0x6db5ae20,\n\t0x30334: 0x6dd43820, 0x30335: 0x6ded2a20, 0x30336: 0x6ded2c20, 0x30337: 0x6e023220,\n\t0x30338: 0x6e023420, 0x30339: 0x6e023620, 0x3033a: 0x6e140a20, 0x3033b: 0x6e21b420,\n\t0x3033c: 0x6e21b620, 0x3033d: 0x6e2c3c20, 0x3033e: 0x6e2c3e20, 0x3033f: 0x6e3a3820,\n\t// Block 0xc0d, offset 0x30340\n\t0x30340: 0x6c26aa20, 0x30341: 0x6c26ac20, 0x30342: 0x6c608c20, 0x30343: 0x6c608e20,\n\t0x30344: 0x6c609020, 0x30345: 0x6c609220, 0x30346: 0x6c609420, 0x30347: 0x6c609620,\n\t0x30348: 0x6c609820, 0x30349: 0x6c864e20, 0x3034a: 0x6c865020, 0x3034b: 0x6c865220,\n\t0x3034c: 0x6c865420, 0x3034d: 0x6c865620, 0x3034e: 0x6c865820, 0x3034f: 0x6c865a20,\n\t0x30350: 0x6c865c20, 0x30351: 0x6c865e20, 0x30352: 0x6c866020, 0x30353: 0x6c866220,\n\t0x30354: 0x6c866420, 0x30355: 0x6c866620, 0x30356: 0x6c866820, 0x30357: 0x6c866a20,\n\t0x30358: 0x6c866c20, 0x30359: 0x6c866e20, 0x3035a: 0x6c867020, 0x3035b: 0x6cb07820,\n\t0x3035c: 0x6cb07a20, 0x3035d: 0x6cb07c20, 0x3035e: 0x6cb07e20, 0x3035f: 0x6cb08020,\n\t0x30360: 0x6cb08220, 0x30361: 0x6cb08420, 0x30362: 0x6cb08620, 0x30363: 0x6cb08820,\n\t0x30364: 0x6cb08a20, 0x30365: 0x6cb08c20, 0x30366: 0x6cb08e20, 0x30367: 0x6cb09020,\n\t0x30368: 0x6cb09220, 0x30369: 0x6cb09420, 0x3036a: 0x6cb09620, 0x3036b: 0x6cb09820,\n\t0x3036c: 0x6cb09a20, 0x3036d: 0x6cb09c20, 0x3036e: 0x6cb09e20, 0x3036f: 0x6cb0a020,\n\t0x30370: 0x6cb0a220, 0x30371: 0x6cb0a420, 0x30372: 0x6cb0a620, 0x30373: 0x6cb0a820,\n\t0x30374: 0x6cdf8020, 0x30375: 0x6cdf8220, 0x30376: 0x6cdf8420, 0x30377: 0x6cdf8620,\n\t0x30378: 0x6cdf8820, 0x30379: 0x6cdf8a20, 0x3037a: 0x6cdf8c20, 0x3037b: 0x6cdf8e20,\n\t0x3037c: 0x6cdf9020, 0x3037d: 0x6cdf9220, 0x3037e: 0x6d0ddc20, 0x3037f: 0x6d0dde20,\n\t// Block 0xc0e, offset 0x30380\n\t0x30380: 0x6cdf9420, 0x30381: 0x6cdf9620, 0x30382: 0x6cdf9820, 0x30383: 0x6cdf9a20,\n\t0x30384: 0x6cdf9c20, 0x30385: 0x6cdf9e20, 0x30386: 0x6cdfa020, 0x30387: 0x6cdfa220,\n\t0x30388: 0x6cdfa420, 0x30389: 0x6cdfa620, 0x3038a: 0x6cdfa820, 0x3038b: 0x6cdfaa20,\n\t0x3038c: 0x6cdfac20, 0x3038d: 0x6cdfae20, 0x3038e: 0x6cdfb020, 0x3038f: 0x6cdfb220,\n\t0x30390: 0x6cdfb420, 0x30391: 0x6cdfb620, 0x30392: 0x6cdfb820, 0x30393: 0x6cdfba20,\n\t0x30394: 0x6cdfbc20, 0x30395: 0x6cdfbe20, 0x30396: 0x6cdfc020, 0x30397: 0x6cdfc220,\n\t0x30398: 0x6cdfc420, 0x30399: 0x6cdfc620, 0x3039a: 0x6cdfc820, 0x3039b: 0x6cdfca20,\n\t0x3039c: 0x6cdfcc20, 0x3039d: 0x6cdfce20, 0x3039e: 0x6cdfd020, 0x3039f: 0x6cdfd220,\n\t0x303a0: 0x6cdfd420, 0x303a1: 0x6d0df220, 0x303a2: 0x6d0df420, 0x303a3: 0x6d0df620,\n\t0x303a4: 0x6d0df820, 0x303a5: 0x6d0dfa20, 0x303a6: 0x6d0dfc20, 0x303a7: 0x6d0dfe20,\n\t0x303a8: 0x6d0e0020, 0x303a9: 0x6d0e0220, 0x303aa: 0x6d0e0420, 0x303ab: 0x6d0e0620,\n\t0x303ac: 0x6d0e0820, 0x303ad: 0x6d0e0a20, 0x303ae: 0x6d0e0c20, 0x303af: 0x6d0e0e20,\n\t0x303b0: 0x6d0e1020, 0x303b1: 0x6d0e1220, 0x303b2: 0x6d0e1420, 0x303b3: 0x6d0e1620,\n\t0x303b4: 0x6d0e1820, 0x303b5: 0x6d0e1a20, 0x303b6: 0x6d0e1c20, 0x303b7: 0x6d0e1e20,\n\t0x303b8: 0x6d0e2020, 0x303b9: 0x6d0e2220, 0x303ba: 0x6d0e2420, 0x303bb: 0x6d0e2620,\n\t0x303bc: 0x6d0e2820, 0x303bd: 0x6d0e2a20, 0x303be: 0x6d0e2c20, 0x303bf: 0x6d0e2e20,\n\t// Block 0xc0f, offset 0x303c0\n\t0x303c0: 0x6d0e3020, 0x303c1: 0x6d0e3220, 0x303c2: 0x6d0e3420, 0x303c3: 0x6d0e3620,\n\t0x303c4: 0x6d0e3820, 0x303c5: 0x6d0e3a20, 0x303c6: 0x6d0e3c20, 0x303c7: 0x6d0e3e20,\n\t0x303c8: 0x6d0e4020, 0x303c9: 0x6d0e4220, 0x303ca: 0x6d0e4420, 0x303cb: 0x6d3c5a20,\n\t0x303cc: 0x6d3c5c20, 0x303cd: 0x6d3c5e20, 0x303ce: 0x6d3c6020, 0x303cf: 0x6d3c6220,\n\t0x303d0: 0x6d3c6420, 0x303d1: 0x6d3c6620, 0x303d2: 0x6d3c6820, 0x303d3: 0x6d3c6a20,\n\t0x303d4: 0x6d3c6c20, 0x303d5: 0x6d687c20, 0x303d6: 0x6d3c6e20, 0x303d7: 0x6d3c7020,\n\t0x303d8: 0x6d3c7220, 0x303d9: 0x6d3c7420, 0x303da: 0x6d3c7620, 0x303db: 0x6d3c7820,\n\t0x303dc: 0x6d3c7a20, 0x303dd: 0x6d3c7c20, 0x303de: 0x6d3c7e20, 0x303df: 0x6d3c8020,\n\t0x303e0: 0x6d0e4620, 0x303e1: 0x6d3c8220, 0x303e2: 0x6d3c8420, 0x303e3: 0x6d3c8620,\n\t0x303e4: 0x6d3c8820, 0x303e5: 0x6d3c8a20, 0x303e6: 0x6d3c8c20, 0x303e7: 0x6d3c8e20,\n\t0x303e8: 0x6d3c9020, 0x303e9: 0x6d3c9220, 0x303ea: 0x6d3c9420, 0x303eb: 0x6d3c9620,\n\t0x303ec: 0x6d3c9820, 0x303ed: 0x6d3c9a20, 0x303ee: 0x6d3c9c20, 0x303ef: 0x6d689e20,\n\t0x303f0: 0x6d68a020, 0x303f1: 0x6d68a220, 0x303f2: 0x6d68a420, 0x303f3: 0x6d68a620,\n\t0x303f4: 0x6d68a820, 0x303f5: 0x6d68aa20, 0x303f6: 0x6d68ac20, 0x303f7: 0x6d68ae20,\n\t0x303f8: 0x6d68b020, 0x303f9: 0x6d68b220, 0x303fa: 0x6d68b420, 0x303fb: 0x6d68b620,\n\t0x303fc: 0x6d68b820, 0x303fd: 0x6d68ba20, 0x303fe: 0x6d68bc20, 0x303ff: 0x6d68be20,\n\t// Block 0xc10, offset 0x30400\n\t0x30400: 0x6d68c020, 0x30401: 0x6d68c220, 0x30402: 0x6d68c420, 0x30403: 0x6d68c620,\n\t0x30404: 0x6d68c820, 0x30405: 0x6d68ca20, 0x30406: 0x6d68cc20, 0x30407: 0x6d68ce20,\n\t0x30408: 0x6d68d020, 0x30409: 0x6d68d220, 0x3040a: 0x6d68d420, 0x3040b: 0x6d68d620,\n\t0x3040c: 0x6d68d820, 0x3040d: 0x6d68da20, 0x3040e: 0x6d68dc20, 0x3040f: 0x6d68de20,\n\t0x30410: 0x6d68e020, 0x30411: 0x6d68e220, 0x30412: 0x6d68e420, 0x30413: 0x6d68e620,\n\t0x30414: 0x6d68e820, 0x30415: 0x6d68ea20, 0x30416: 0x6d68ec20, 0x30417: 0x6d68ee20,\n\t0x30418: 0x6d68f020, 0x30419: 0x6d68f220, 0x3041a: 0x6d68f420, 0x3041b: 0x6d697620,\n\t0x3041c: 0x6d923c20, 0x3041d: 0x6d923e20, 0x3041e: 0x6d924020, 0x3041f: 0x6d924220,\n\t0x30420: 0x6d924420, 0x30421: 0x6d924620, 0x30422: 0x6d924820, 0x30423: 0x6d924a20,\n\t0x30424: 0x6d924c20, 0x30425: 0x6d924e20, 0x30426: 0x6d925020, 0x30427: 0x6d925220,\n\t0x30428: 0x6d925420, 0x30429: 0x6d68f620, 0x3042a: 0x6d925620, 0x3042b: 0x6d925820,\n\t0x3042c: 0x6d925a20, 0x3042d: 0x6d925c20, 0x3042e: 0x6d925e20, 0x3042f: 0x6d926020,\n\t0x30430: 0x6d926220, 0x30431: 0x6d926420, 0x30432: 0x6d926620, 0x30433: 0x6d926820,\n\t0x30434: 0x6d926a20, 0x30435: 0x6d926c20, 0x30436: 0x6d926e20, 0x30437: 0x6d927020,\n\t0x30438: 0x6d697820, 0x30439: 0x6d927220, 0x3043a: 0x6d927420, 0x3043b: 0x6d927620,\n\t0x3043c: 0x6d927820, 0x3043d: 0x6d927a20, 0x3043e: 0x6d927c20, 0x3043f: 0x6d927e20,\n\t// Block 0xc11, offset 0x30440\n\t0x30440: 0x6d928020, 0x30441: 0x6d928220, 0x30442: 0x6d928420, 0x30443: 0x6d928620,\n\t0x30444: 0x6db5e020, 0x30445: 0x6db5e220, 0x30446: 0x6db5e420, 0x30447: 0x6db5e620,\n\t0x30448: 0x6db5e820, 0x30449: 0x6db5ea20, 0x3044a: 0x6db5ec20, 0x3044b: 0x6db5ee20,\n\t0x3044c: 0x6db5f020, 0x3044d: 0x6db5f220, 0x3044e: 0x6db5f420, 0x3044f: 0x6db5f620,\n\t0x30450: 0x6db5f820, 0x30451: 0x6db5fa20, 0x30452: 0x6db5fc20, 0x30453: 0x6db5fe20,\n\t0x30454: 0x6d92fc20, 0x30455: 0x6db60020, 0x30456: 0x6db60220, 0x30457: 0x6db60420,\n\t0x30458: 0x6db60620, 0x30459: 0x6db60820, 0x3045a: 0x6db60a20, 0x3045b: 0x6db60c20,\n\t0x3045c: 0x6db60e20, 0x3045d: 0x6db61020, 0x3045e: 0x6db61220, 0x3045f: 0x6db61420,\n\t0x30460: 0x6db61620, 0x30461: 0x6db61820, 0x30462: 0x6db61a20, 0x30463: 0x6dd46220,\n\t0x30464: 0x6dd46420, 0x30465: 0x6dd46620, 0x30466: 0x6dd46820, 0x30467: 0x6dd46a20,\n\t0x30468: 0x6dd46c20, 0x30469: 0x6dd46e20, 0x3046a: 0x6dd47020, 0x3046b: 0x6dd47220,\n\t0x3046c: 0x6dd47420, 0x3046d: 0x6dd47620, 0x3046e: 0x6dd47820, 0x3046f: 0x6dd47a20,\n\t0x30470: 0x6dd47c20, 0x30471: 0x6dd47e20, 0x30472: 0x6dd48020, 0x30473: 0x6dd48220,\n\t0x30474: 0x6dd48420, 0x30475: 0x6dd48620, 0x30476: 0x6dd48820, 0x30477: 0x6dd48a20,\n\t0x30478: 0x6dd48c20, 0x30479: 0x6dd48e20, 0x3047a: 0x6dd49020, 0x3047b: 0x6dd49220,\n\t0x3047c: 0x6dd49420, 0x3047d: 0x6dd49620, 0x3047e: 0x6dd49820, 0x3047f: 0x6ded5020,\n\t// Block 0xc12, offset 0x30480\n\t0x30480: 0x6ded5220, 0x30481: 0x6ded5420, 0x30482: 0x6ded5620, 0x30483: 0x6ded5820,\n\t0x30484: 0x6ded5a20, 0x30485: 0x6e141420, 0x30486: 0x6ded5c20, 0x30487: 0x6dd4fa20,\n\t0x30488: 0x6ded5e20, 0x30489: 0x6ded6020, 0x3048a: 0x6ded6220, 0x3048b: 0x6ded6420,\n\t0x3048c: 0x6ded6620, 0x3048d: 0x6e024e20, 0x3048e: 0x6ded6820, 0x3048f: 0x6ded6a20,\n\t0x30490: 0x6ded6c20, 0x30491: 0x6ded6e20, 0x30492: 0x6ded7020, 0x30493: 0x6ded7220,\n\t0x30494: 0x6ded7420, 0x30495: 0x6ded7620, 0x30496: 0x6ded7820, 0x30497: 0x6ded7a20,\n\t0x30498: 0x6ded7c20, 0x30499: 0x6ded7e20, 0x3049a: 0x6ded8020, 0x3049b: 0x6ded8220,\n\t0x3049c: 0x6ded8420, 0x3049d: 0x6e025020, 0x3049e: 0x6e025220, 0x3049f: 0x6e025420,\n\t0x304a0: 0x6e025620, 0x304a1: 0x6e025820, 0x304a2: 0x6e025a20, 0x304a3: 0x6e025c20,\n\t0x304a4: 0x6e025e20, 0x304a5: 0x6e026020, 0x304a6: 0x6e026220, 0x304a7: 0x6e026420,\n\t0x304a8: 0x6e026620, 0x304a9: 0x6e026820, 0x304aa: 0x6e026a20, 0x304ab: 0x6e026c20,\n\t0x304ac: 0x6e026e20, 0x304ad: 0x6e027020, 0x304ae: 0x6e027220, 0x304af: 0x6e027420,\n\t0x304b0: 0x6e027620, 0x304b1: 0x6e027820, 0x304b2: 0x6e027a20, 0x304b3: 0x6e142220,\n\t0x304b4: 0x6e142420, 0x304b5: 0x6e142620, 0x304b6: 0x6e142820, 0x304b7: 0x6e142a20,\n\t0x304b8: 0x6e142c20, 0x304b9: 0x6e142e20, 0x304ba: 0x6e143020, 0x304bb: 0x6e143220,\n\t0x304bc: 0x6e143420, 0x304bd: 0x6e143620, 0x304be: 0x6e21c820, 0x304bf: 0x6e21ca20,\n\t// Block 0xc13, offset 0x304c0\n\t0x304c0: 0x6e21cc20, 0x304c1: 0x6e21ce20, 0x304c2: 0x6e21d020, 0x304c3: 0x6e21d220,\n\t0x304c4: 0x6e21d420, 0x304c5: 0x6e21d620, 0x304c6: 0x6e221420, 0x304c7: 0x6e2c4620,\n\t0x304c8: 0x6e2c4820, 0x304c9: 0x6e2c4a20, 0x304ca: 0x6e2c4c20, 0x304cb: 0x6e2c4e20,\n\t0x304cc: 0x6e2c5020, 0x304cd: 0x6e2c5220, 0x304ce: 0x6e2c5420, 0x304cf: 0x6e2c5620,\n\t0x304d0: 0x6e2c5820, 0x304d1: 0x6e347c20, 0x304d2: 0x6e347e20, 0x304d3: 0x6e348020,\n\t0x304d4: 0x6e348220, 0x304d5: 0x6e348420, 0x304d6: 0x6e348620, 0x304d7: 0x6e3a3c20,\n\t0x304d8: 0x6e3a3e20, 0x304d9: 0x6e3a4020, 0x304da: 0x6e3e3420, 0x304db: 0x6e3e3620,\n\t0x304dc: 0x6e410420, 0x304dd: 0x6e410620, 0x304de: 0x6e410820, 0x304df: 0x6e448020,\n\t0x304e0: 0x6c00c820, 0x304e1: 0x6c050e20, 0x304e2: 0x6c051020, 0x304e3: 0x6c051220,\n\t0x304e4: 0x6c051420, 0x304e5: 0x6c051620, 0x304e6: 0x6c0a6420, 0x304e7: 0x6c0a6620,\n\t0x304e8: 0x6c0a6820, 0x304e9: 0x6c0a6a20, 0x304ea: 0x6c0a6c20, 0x304eb: 0x6c0a6e20,\n\t0x304ec: 0x6c0a7020, 0x304ed: 0x6c0a7220, 0x304ee: 0x6c0a7420, 0x304ef: 0x6c0a7620,\n\t0x304f0: 0x6c0a7820, 0x304f1: 0x6c0a7a20, 0x304f2: 0x6c14dc20, 0x304f3: 0x6c14de20,\n\t0x304f4: 0x6c14e020, 0x304f5: 0x6c14e220, 0x304f6: 0x6c14e420, 0x304f7: 0x6c14e620,\n\t0x304f8: 0x6c14e820, 0x304f9: 0x6c14ea20, 0x304fa: 0x6c14ec20, 0x304fb: 0x6c14ee20,\n\t0x304fc: 0x6c14f020, 0x304fd: 0x6c14f220, 0x304fe: 0x6c14f420, 0x304ff: 0x6c14f620,\n\t// Block 0xc14, offset 0x30500\n\t0x30500: 0x6c14f820, 0x30501: 0x6c26b220, 0x30502: 0x6c26b420, 0x30503: 0x6c26b620,\n\t0x30504: 0x6c26b820, 0x30505: 0x6c26ba20, 0x30506: 0x6c26bc20, 0x30507: 0x6c26be20,\n\t0x30508: 0x6c26c020, 0x30509: 0x6c26c220, 0x3050a: 0x6c26c420, 0x3050b: 0x6c26c620,\n\t0x3050c: 0x6c26c820, 0x3050d: 0x6c26ca20, 0x3050e: 0x6c26cc20, 0x3050f: 0x6c26ce20,\n\t0x30510: 0x6c26d020, 0x30511: 0x6c26d220, 0x30512: 0x6c26d420, 0x30513: 0x6c407e20,\n\t0x30514: 0x6c408020, 0x30515: 0x6c408220, 0x30516: 0x6c408420, 0x30517: 0x6c408620,\n\t0x30518: 0x6c408820, 0x30519: 0x6c408a20, 0x3051a: 0x6c408c20, 0x3051b: 0x6c408e20,\n\t0x3051c: 0x6c409020, 0x3051d: 0x6c409220, 0x3051e: 0x6c409420, 0x3051f: 0x6c409620,\n\t0x30520: 0x6c409820, 0x30521: 0x6c409a20, 0x30522: 0x6c409c20, 0x30523: 0x6c409e20,\n\t0x30524: 0x6c40a020, 0x30525: 0x6c40a220, 0x30526: 0x6c40a420, 0x30527: 0x6c40a620,\n\t0x30528: 0x6c40a820, 0x30529: 0x6c40aa20, 0x3052a: 0x6c609c20, 0x3052b: 0x6c609e20,\n\t0x3052c: 0x6c60a020, 0x3052d: 0x6c60a220, 0x3052e: 0x6c60a420, 0x3052f: 0x6c60a620,\n\t0x30530: 0x6c60a820, 0x30531: 0x6c60aa20, 0x30532: 0x6c60ac20, 0x30533: 0x6c60ae20,\n\t0x30534: 0x6c60b020, 0x30535: 0x6c60b220, 0x30536: 0x6c60b420, 0x30537: 0x6c869020,\n\t0x30538: 0x6c869220, 0x30539: 0x6c869420, 0x3053a: 0x6c869620, 0x3053b: 0x6c869820,\n\t0x3053c: 0x6c869a20, 0x3053d: 0x6c869c20, 0x3053e: 0x6c869e20, 0x3053f: 0x6c86a020,\n\t// Block 0xc15, offset 0x30540\n\t0x30540: 0x6c86a220, 0x30541: 0x6c86a420, 0x30542: 0x6c86a620, 0x30543: 0x6c86a820,\n\t0x30544: 0x6c86aa20, 0x30545: 0x6c86ac20, 0x30546: 0x6c86ae20, 0x30547: 0x6c86b020,\n\t0x30548: 0x6c86b220, 0x30549: 0x6c86b420, 0x3054a: 0x6c86b620, 0x3054b: 0x6cb10c20,\n\t0x3054c: 0x6cb10e20, 0x3054d: 0x6cb11020, 0x3054e: 0x6cb11220, 0x3054f: 0x6cb11420,\n\t0x30550: 0x6cb11620, 0x30551: 0x6cb11820, 0x30552: 0x6cb11a20, 0x30553: 0x6cb11c20,\n\t0x30554: 0x6cb11e20, 0x30555: 0x6cb12020, 0x30556: 0x6cb12220, 0x30557: 0x6cb12420,\n\t0x30558: 0x6cb12620, 0x30559: 0x6cb12820, 0x3055a: 0x6cb12a20, 0x3055b: 0x6cb12c20,\n\t0x3055c: 0x6cb12e20, 0x3055d: 0x6cb13020, 0x3055e: 0x6cb13220, 0x3055f: 0x6ce02c20,\n\t0x30560: 0x6ce02e20, 0x30561: 0x6ce03020, 0x30562: 0x6ce03220, 0x30563: 0x6ce03420,\n\t0x30564: 0x6ce03620, 0x30565: 0x6ce03820, 0x30566: 0x6ce03a20, 0x30567: 0x6ce03c20,\n\t0x30568: 0x6d0eb420, 0x30569: 0x6d0eb620, 0x3056a: 0x6d0eb820, 0x3056b: 0x6d0eba20,\n\t0x3056c: 0x6d0ebc20, 0x3056d: 0x6d3d0620, 0x3056e: 0x6d3d0820, 0x3056f: 0x6d3d0a20,\n\t0x30570: 0x6d3d0c20, 0x30571: 0x6d3d0e20, 0x30572: 0x6d3d1020, 0x30573: 0x6d697c20,\n\t0x30574: 0x6d697e20, 0x30575: 0x6d698020, 0x30576: 0x6dede020, 0x30577: 0x6c26e620,\n\t0x30578: 0x6c86c620, 0x30579: 0x6cb14020, 0x3057a: 0x6cb14220, 0x3057b: 0x6cb14420,\n\t0x3057c: 0x6d0ec220, 0x3057d: 0x6d3d1820, 0x3057e: 0x6d698620, 0x3057f: 0x6db6a020,\n\t// Block 0xc16, offset 0x30580\n\t0x30580: 0x6db6a220, 0x30581: 0x6db6a420, 0x30582: 0x6dd50020, 0x30583: 0x6dede220,\n\t0x30584: 0x6e221820, 0x30585: 0x6e2c7820, 0x30586: 0x6c26ea20, 0x30587: 0x6c86ce20,\n\t0x30588: 0x6c86d020, 0x30589: 0x6cb15220, 0x3058a: 0x6d0ecc20, 0x3058b: 0x6d0ece20,\n\t0x3058c: 0x6d699820, 0x3058d: 0x6d699a20, 0x3058e: 0x6d699c20, 0x3058f: 0x6db6b420,\n\t0x30590: 0x6dd50420, 0x30591: 0x6e02ba20, 0x30592: 0x6e3a5620, 0x30593: 0x6e411420,\n\t0x30594: 0x6e431e20, 0x30595: 0x6c26ec20, 0x30596: 0x6c40b820, 0x30597: 0x6c86da20,\n\t0x30598: 0x6cb15c20, 0x30599: 0x6cb15e20, 0x3059a: 0x6cb16020, 0x3059b: 0x6cb16220,\n\t0x3059c: 0x6cb16420, 0x3059d: 0x6cb16620, 0x3059e: 0x6ce05e20, 0x3059f: 0x6ce06020,\n\t0x305a0: 0x6ce06220, 0x305a1: 0x6ce06420, 0x305a2: 0x6d0ed820, 0x305a3: 0x6d0eda20,\n\t0x305a4: 0x6d0edc20, 0x305a5: 0x6d0ede20, 0x305a6: 0x6d0ee020, 0x305a7: 0x6d3d2c20,\n\t0x305a8: 0x6d3d2e20, 0x305a9: 0x6d3d3020, 0x305aa: 0x6d3d3220, 0x305ab: 0x6d932420,\n\t0x305ac: 0x6d69da20, 0x305ad: 0x6d932620, 0x305ae: 0x6d932820, 0x305af: 0x6db6c620,\n\t0x305b0: 0x6db6c820, 0x305b1: 0x6db6ca20, 0x305b2: 0x6db6cc20, 0x305b3: 0x6db6ce20,\n\t0x305b4: 0x6dd51620, 0x305b5: 0x6dd51820, 0x305b6: 0x6dee1620, 0x305b7: 0x6dee0a20,\n\t0x305b8: 0x6c26f220, 0x305b9: 0x6c86e420, 0x305ba: 0x6c86e620, 0x305bb: 0x6c86e820,\n\t0x305bc: 0x6cb18020, 0x305bd: 0x6cb18220, 0x305be: 0x6ce07e20, 0x305bf: 0x6ce08020,\n\t// Block 0xc17, offset 0x305c0\n\t0x305c0: 0x6ce08220, 0x305c1: 0x6ce08420, 0x305c2: 0x6ce08620, 0x305c3: 0x6ce08820,\n\t0x305c4: 0x6d0efe20, 0x305c5: 0x6d0f0020, 0x305c6: 0x6d0f0220, 0x305c7: 0x6d0f0420,\n\t0x305c8: 0x6d0f0620, 0x305c9: 0x6d0f0820, 0x305ca: 0x6d0f0a20, 0x305cb: 0x6d3d5020,\n\t0x305cc: 0x6d3d5220, 0x305cd: 0x6d3d5420, 0x305ce: 0x6d69e020, 0x305cf: 0x6d69e220,\n\t0x305d0: 0x6d934220, 0x305d1: 0x6d934420, 0x305d2: 0x6d934620, 0x305d3: 0x6d934820,\n\t0x305d4: 0x6db6e420, 0x305d5: 0x6db6e620, 0x305d6: 0x6db6e820, 0x305d7: 0x6dd52c20,\n\t0x305d8: 0x6dd52e20, 0x305d9: 0x6dd53020, 0x305da: 0x6dee2020, 0x305db: 0x6e3a6620,\n\t0x305dc: 0x6e411c20, 0x305dd: 0x6c26f420, 0x305de: 0x6c60c820, 0x305df: 0x6c60ca20,\n\t0x305e0: 0x6c60cc20, 0x305e1: 0x6c86f020, 0x305e2: 0x6c86f220, 0x305e3: 0x6c86f420,\n\t0x305e4: 0x6c86f620, 0x305e5: 0x6cb19820, 0x305e6: 0x6cb19a20, 0x305e7: 0x6cb19c20,\n\t0x305e8: 0x6cb19e20, 0x305e9: 0x6cb1a020, 0x305ea: 0x6cb1a220, 0x305eb: 0x6cb1a420,\n\t0x305ec: 0x6cb1a620, 0x305ed: 0x6cb1a820, 0x305ee: 0x6cb1aa20, 0x305ef: 0x6ce0bc20,\n\t0x305f0: 0x6ce0be20, 0x305f1: 0x6ce0c020, 0x305f2: 0x6d0f2620, 0x305f3: 0x6ce0c220,\n\t0x305f4: 0x6ce0c420, 0x305f5: 0x6ce0c620, 0x305f6: 0x6ce0c820, 0x305f7: 0x6ce0ca20,\n\t0x305f8: 0x6ce0cc20, 0x305f9: 0x6ce0ce20, 0x305fa: 0x6ce0d020, 0x305fb: 0x6ce0d220,\n\t0x305fc: 0x6ce0d420, 0x305fd: 0x6ce0d620, 0x305fe: 0x6ce0d820, 0x305ff: 0x6ce0da20,\n\t// Block 0xc18, offset 0x30600\n\t0x30600: 0x6ce0dc20, 0x30601: 0x6ce0de20, 0x30602: 0x6d0f2e20, 0x30603: 0x6d0f3020,\n\t0x30604: 0x6d0f3220, 0x30605: 0x6d0f3420, 0x30606: 0x6d0f3620, 0x30607: 0x6d0f3820,\n\t0x30608: 0x6d0f3a20, 0x30609: 0x6d0f3c20, 0x3060a: 0x6d0f3e20, 0x3060b: 0x6d0f4020,\n\t0x3060c: 0x6d0f4220, 0x3060d: 0x6d0f4420, 0x3060e: 0x6d0f4620, 0x3060f: 0x6d3d7c20,\n\t0x30610: 0x6d3d7e20, 0x30611: 0x6d3d8020, 0x30612: 0x6d3d8220, 0x30613: 0x6d3d8420,\n\t0x30614: 0x6d3d8620, 0x30615: 0x6d3d8820, 0x30616: 0x6d3d8a20, 0x30617: 0x6d3d8c20,\n\t0x30618: 0x6d3d8e20, 0x30619: 0x6d6a1420, 0x3061a: 0x6d6a1620, 0x3061b: 0x6d6a1820,\n\t0x3061c: 0x6d6a1a20, 0x3061d: 0x6d6a1c20, 0x3061e: 0x6d6a1e20, 0x3061f: 0x6d6a2020,\n\t0x30620: 0x6d6a2220, 0x30621: 0x6d6a2420, 0x30622: 0x6d6a2620, 0x30623: 0x6d6a2820,\n\t0x30624: 0x6d6a2a20, 0x30625: 0x6d6a2c20, 0x30626: 0x6d6a2e20, 0x30627: 0x6d6a3020,\n\t0x30628: 0x6d6a3220, 0x30629: 0x6d6a3420, 0x3062a: 0x6d6a3620, 0x3062b: 0x6d6a3820,\n\t0x3062c: 0x6d6a3a20, 0x3062d: 0x6d6a6c20, 0x3062e: 0x6d937220, 0x3062f: 0x6d937420,\n\t0x30630: 0x6d937620, 0x30631: 0x6d937820, 0x30632: 0x6d937a20, 0x30633: 0x6d937c20,\n\t0x30634: 0x6d937e20, 0x30635: 0x6d938020, 0x30636: 0x6db70820, 0x30637: 0x6db70a20,\n\t0x30638: 0x6db70c20, 0x30639: 0x6db70e20, 0x3063a: 0x6db71020, 0x3063b: 0x6db71220,\n\t0x3063c: 0x6db71420, 0x3063d: 0x6db71620, 0x3063e: 0x6dd54820, 0x3063f: 0x6dd54a20,\n\t// Block 0xc19, offset 0x30640\n\t0x30640: 0x6dd54c20, 0x30641: 0x6dc6ba20, 0x30642: 0x6dd54e20, 0x30643: 0x6dd55020,\n\t0x30644: 0x6dd55220, 0x30645: 0x6dd55420, 0x30646: 0x6dee3820, 0x30647: 0x6dee3a20,\n\t0x30648: 0x6dee3c20, 0x30649: 0x6dee3e20, 0x3064a: 0x6dee4020, 0x3064b: 0x6dee4220,\n\t0x3064c: 0x6dee4420, 0x3064d: 0x6e02e420, 0x3064e: 0x6e02e620, 0x3064f: 0x6e02e820,\n\t0x30650: 0x6e148420, 0x30651: 0x6e148620, 0x30652: 0x6e148820, 0x30653: 0x6e148a20,\n\t0x30654: 0x6e148c20, 0x30655: 0x6e223220, 0x30656: 0x6e223420, 0x30657: 0x6e223620,\n\t0x30658: 0x6e223820, 0x30659: 0x6e2c8c20, 0x3065a: 0x6e2c8e20, 0x3065b: 0x6e34b020,\n\t0x3065c: 0x6e3a6820, 0x3065d: 0x6c051820, 0x3065e: 0x6c150020, 0x3065f: 0x6c150220,\n\t0x30660: 0x6c150420, 0x30661: 0x6c26f620, 0x30662: 0x6c26f820, 0x30663: 0x6c40c020,\n\t0x30664: 0x6c40c220, 0x30665: 0x6c40c420, 0x30666: 0x6c40c620, 0x30667: 0x6c40c820,\n\t0x30668: 0x6c40ca20, 0x30669: 0x6c40cc20, 0x3066a: 0x6c40ce20, 0x3066b: 0x6c40d020,\n\t0x3066c: 0x6c40d220, 0x3066d: 0x6c40d420, 0x3066e: 0x6c40d620, 0x3066f: 0x6c40d820,\n\t0x30670: 0x6c60dc20, 0x30671: 0x6c60de20, 0x30672: 0x6c60e020, 0x30673: 0x6c60e220,\n\t0x30674: 0x6c60e420, 0x30675: 0x6c60e620, 0x30676: 0x6c60e820, 0x30677: 0x6c60ea20,\n\t0x30678: 0x6c60ec20, 0x30679: 0x6c60ee20, 0x3067a: 0x6c60f020, 0x3067b: 0x6c60f220,\n\t0x3067c: 0x6c871020, 0x3067d: 0x6c871220, 0x3067e: 0x6c871420, 0x3067f: 0x6c871620,\n\t// Block 0xc1a, offset 0x30680\n\t0x30680: 0x6c871820, 0x30681: 0x6c871a20, 0x30682: 0x6c871c20, 0x30683: 0x6c871e20,\n\t0x30684: 0x6c872020, 0x30685: 0x6c872220, 0x30686: 0x6c872420, 0x30687: 0x6cb1dc20,\n\t0x30688: 0x6cb1de20, 0x30689: 0x6cb1e020, 0x3068a: 0x6cb1e220, 0x3068b: 0x6ce11820,\n\t0x3068c: 0x6ce11a20, 0x3068d: 0x6ce11c20, 0x3068e: 0x6ce11e20, 0x3068f: 0x6ce12020,\n\t0x30690: 0x6ce12220, 0x30691: 0x6ce12420, 0x30692: 0x6ce12620, 0x30693: 0x6ce12820,\n\t0x30694: 0x6ce12a20, 0x30695: 0x6ce12c20, 0x30696: 0x6d0f9220, 0x30697: 0x6d0f9420,\n\t0x30698: 0x6d3dc220, 0x30699: 0x6d3dc420, 0x3069a: 0x6d3dc620, 0x3069b: 0x6d3dc820,\n\t0x3069c: 0x6d6a7220, 0x3069d: 0x6d93c220, 0x3069e: 0x6d93c420, 0x3069f: 0x6d93c620,\n\t0x306a0: 0x6d93c820, 0x306a1: 0x6db74020, 0x306a2: 0x6db74220, 0x306a3: 0x6e14a420,\n\t0x306a4: 0x6c26fa20, 0x306a5: 0x6cb1e820, 0x306a6: 0x6cb1ea20, 0x306a7: 0x6cb1ec20,\n\t0x306a8: 0x6d0f9a20, 0x306a9: 0x6d0f9c20, 0x306aa: 0x6d0f9e20, 0x306ab: 0x6d3dce20,\n\t0x306ac: 0x6d93cc20, 0x306ad: 0x6d6a8220, 0x306ae: 0x6d93ce20, 0x306af: 0x6db74420,\n\t0x306b0: 0x6c26fc20, 0x306b1: 0x6c150620, 0x306b2: 0x6c60fe20, 0x306b3: 0x6c610020,\n\t0x306b4: 0x6c610220, 0x306b5: 0x6c610420, 0x306b6: 0x6c872e20, 0x306b7: 0x6c873020,\n\t0x306b8: 0x6c873220, 0x306b9: 0x6cb1fa20, 0x306ba: 0x6cb1fc20, 0x306bb: 0x6cb1fe20,\n\t0x306bc: 0x6cb20020, 0x306bd: 0x6cb20220, 0x306be: 0x6cb20420, 0x306bf: 0x6cb20620,\n\t// Block 0xc1b, offset 0x306c0\n\t0x306c0: 0x6ce14e20, 0x306c1: 0x6ce15020, 0x306c2: 0x6ce15220, 0x306c3: 0x6ce15420,\n\t0x306c4: 0x6ce15620, 0x306c5: 0x6ce15820, 0x306c6: 0x6ce15a20, 0x306c7: 0x6ce15c20,\n\t0x306c8: 0x6ce15e20, 0x306c9: 0x6ce16020, 0x306ca: 0x6ce16220, 0x306cb: 0x6ce16420,\n\t0x306cc: 0x6d0fb420, 0x306cd: 0x6d0fb620, 0x306ce: 0x6d0fb820, 0x306cf: 0x6d0fba20,\n\t0x306d0: 0x6d0fbc20, 0x306d1: 0x6d0fbe20, 0x306d2: 0x6d0fc020, 0x306d3: 0x6d0fc220,\n\t0x306d4: 0x6d0fc420, 0x306d5: 0x6d3de820, 0x306d6: 0x6d3dea20, 0x306d7: 0x6d3dec20,\n\t0x306d8: 0x6d3dee20, 0x306d9: 0x6d3df020, 0x306da: 0x6d3df220, 0x306db: 0x6d6a9020,\n\t0x306dc: 0x6d6a9220, 0x306dd: 0x6d6a9420, 0x306de: 0x6d6a9620, 0x306df: 0x6d6a9820,\n\t0x306e0: 0x6d6a9a20, 0x306e1: 0x6d6a9c20, 0x306e2: 0x6d6a9e20, 0x306e3: 0x6d6aa020,\n\t0x306e4: 0x6d6aa220, 0x306e5: 0x6d93e420, 0x306e6: 0x6d93e620, 0x306e7: 0x6d93e820,\n\t0x306e8: 0x6db75620, 0x306e9: 0x6dd5dc20, 0x306ea: 0x6dee8820, 0x306eb: 0x6dee8a20,\n\t0x306ec: 0x6dee8c20, 0x306ed: 0x6dee8e20, 0x306ee: 0x6e031220, 0x306ef: 0x6e14b020,\n\t0x306f0: 0x6e14b220, 0x306f1: 0x6e2cb020, 0x306f2: 0x6e3e4a20, 0x306f3: 0x6c270220,\n\t0x306f4: 0x6c611a20, 0x306f5: 0x6c875420, 0x306f6: 0x6c875620, 0x306f7: 0x6c875820,\n\t0x306f8: 0x6c875a20, 0x306f9: 0x6cb24e20, 0x306fa: 0x6cb25020, 0x306fb: 0x6cb25220,\n\t0x306fc: 0x6d101620, 0x306fd: 0x6cb25420, 0x306fe: 0x6cb25620, 0x306ff: 0x6cb25820,\n\t// Block 0xc1c, offset 0x30700\n\t0x30700: 0x6cb25a20, 0x30701: 0x6cb25c20, 0x30702: 0x6cb25e20, 0x30703: 0x6cb26020,\n\t0x30704: 0x6cb26220, 0x30705: 0x6ce1ba20, 0x30706: 0x6ce1bc20, 0x30707: 0x6ce1be20,\n\t0x30708: 0x6ce1c020, 0x30709: 0x6ce1c220, 0x3070a: 0x6ce1c420, 0x3070b: 0x6ce1c620,\n\t0x3070c: 0x6ce1c820, 0x3070d: 0x6ce1ca20, 0x3070e: 0x6ce1cc20, 0x3070f: 0x6ce1ce20,\n\t0x30710: 0x6d100820, 0x30711: 0x6ce1d020, 0x30712: 0x6ce1d220, 0x30713: 0x6ce1d420,\n\t0x30714: 0x6ce1d620, 0x30715: 0x6ce1d820, 0x30716: 0x6ce1da20, 0x30717: 0x6ce1dc20,\n\t0x30718: 0x6ce1de20, 0x30719: 0x6ce1e020, 0x3071a: 0x6ce1e220, 0x3071b: 0x6ce1e420,\n\t0x3071c: 0x6ce1e620, 0x3071d: 0x6ce1e820, 0x3071e: 0x6ce1ea20, 0x3071f: 0x6d101820,\n\t0x30720: 0x6d101a20, 0x30721: 0x6d101c20, 0x30722: 0x6d101e20, 0x30723: 0x6d102020,\n\t0x30724: 0x6d102220, 0x30725: 0x6d102420, 0x30726: 0x6d102620, 0x30727: 0x6d102820,\n\t0x30728: 0x6d102a20, 0x30729: 0x6d102c20, 0x3072a: 0x6d102e20, 0x3072b: 0x6d103020,\n\t0x3072c: 0x6d103220, 0x3072d: 0x6d103420, 0x3072e: 0x6d103620, 0x3072f: 0x6d103820,\n\t0x30730: 0x6d103a20, 0x30731: 0x6d103c20, 0x30732: 0x6d103e20, 0x30733: 0x6d104020,\n\t0x30734: 0x6d104220, 0x30735: 0x6ce1ec20, 0x30736: 0x6d104420, 0x30737: 0x6d104620,\n\t0x30738: 0x6d104820, 0x30739: 0x6d104a20, 0x3073a: 0x6d104c20, 0x3073b: 0x6d104e20,\n\t0x3073c: 0x6d3e4c20, 0x3073d: 0x6d3e4e20, 0x3073e: 0x6d3e5020, 0x3073f: 0x6d3e5220,\n\t// Block 0xc1d, offset 0x30740\n\t0x30740: 0x6d3e5420, 0x30741: 0x6d3e5620, 0x30742: 0x6d3e5820, 0x30743: 0x6d3e5a20,\n\t0x30744: 0x6d3e5c20, 0x30745: 0x6d3e5e20, 0x30746: 0x6d3e6020, 0x30747: 0x6d3e6220,\n\t0x30748: 0x6d3e6420, 0x30749: 0x6d3e6620, 0x3074a: 0x6d3e6820, 0x3074b: 0x6d3e6a20,\n\t0x3074c: 0x6d3e6c20, 0x3074d: 0x6d3e6e20, 0x3074e: 0x6d3e7020, 0x3074f: 0x6d6afa20,\n\t0x30750: 0x6d6afc20, 0x30751: 0x6d6afe20, 0x30752: 0x6d6b0020, 0x30753: 0x6d6b0220,\n\t0x30754: 0x6d6b0420, 0x30755: 0x6d6b0620, 0x30756: 0x6d6b0820, 0x30757: 0x6d6b0a20,\n\t0x30758: 0x6d6b0c20, 0x30759: 0x6d6b0e20, 0x3075a: 0x6d6b1020, 0x3075b: 0x6d6b1220,\n\t0x3075c: 0x6d6b1420, 0x3075d: 0x6d6b1620, 0x3075e: 0x6d6b1820, 0x3075f: 0x6d6b1a20,\n\t0x30760: 0x6d6b1c20, 0x30761: 0x6d6b1e20, 0x30762: 0x6d6b2020, 0x30763: 0x6d6b2220,\n\t0x30764: 0x6d6b2420, 0x30765: 0x6d6b2620, 0x30766: 0x6d6b2820, 0x30767: 0x6d6b2a20,\n\t0x30768: 0x6d6b2c20, 0x30769: 0x6d6b2e20, 0x3076a: 0x6d6b3020, 0x3076b: 0x6d6b9820,\n\t0x3076c: 0x6d6b3220, 0x3076d: 0x6d6b3420, 0x3076e: 0x6d6b3620, 0x3076f: 0x6d6b3820,\n\t0x30770: 0x6d944620, 0x30771: 0x6d944820, 0x30772: 0x6d944a20, 0x30773: 0x6d944c20,\n\t0x30774: 0x6d944e20, 0x30775: 0x6d945020, 0x30776: 0x6d945220, 0x30777: 0x6d6b9a20,\n\t0x30778: 0x6d945420, 0x30779: 0x6d945620, 0x3077a: 0x6d6b3a20, 0x3077b: 0x6d945820,\n\t0x3077c: 0x6d945a20, 0x3077d: 0x6d945c20, 0x3077e: 0x6d945e20, 0x3077f: 0x6d946020,\n\t// Block 0xc1e, offset 0x30780\n\t0x30780: 0x6d946220, 0x30781: 0x6d946420, 0x30782: 0x6d946620, 0x30783: 0x6d946820,\n\t0x30784: 0x6d946a20, 0x30785: 0x6d946c20, 0x30786: 0x6db79220, 0x30787: 0x6db79420,\n\t0x30788: 0x6db79620, 0x30789: 0x6db79820, 0x3078a: 0x6db79a20, 0x3078b: 0x6db79c20,\n\t0x3078c: 0x6db79e20, 0x3078d: 0x6db7a020, 0x3078e: 0x6db7a220, 0x3078f: 0x6db7a420,\n\t0x30790: 0x6db7a620, 0x30791: 0x6db7a820, 0x30792: 0x6db7aa20, 0x30793: 0x6db7ac20,\n\t0x30794: 0x6dd5e820, 0x30795: 0x6dd5ea20, 0x30796: 0x6dd5ec20, 0x30797: 0x6dd5ee20,\n\t0x30798: 0x6dd5f020, 0x30799: 0x6dd5f220, 0x3079a: 0x6dd5f420, 0x3079b: 0x6dd5f620,\n\t0x3079c: 0x6dd5f820, 0x3079d: 0x6dd5fa20, 0x3079e: 0x6dd5fc20, 0x3079f: 0x6dd5fe20,\n\t0x307a0: 0x6dd60020, 0x307a1: 0x6dd60220, 0x307a2: 0x6dd60420, 0x307a3: 0x6dd60620,\n\t0x307a4: 0x6dd60820, 0x307a5: 0x6dd60a20, 0x307a6: 0x6dd60c20, 0x307a7: 0x6dd60e20,\n\t0x307a8: 0x6deec820, 0x307a9: 0x6dd6aa20, 0x307aa: 0x6deeca20, 0x307ab: 0x6deecc20,\n\t0x307ac: 0x6deece20, 0x307ad: 0x6deed020, 0x307ae: 0x6dd61020, 0x307af: 0x6deed220,\n\t0x307b0: 0x6deed420, 0x307b1: 0x6deed620, 0x307b2: 0x6deed820, 0x307b3: 0x6deeda20,\n\t0x307b4: 0x6deedc20, 0x307b5: 0x6deede20, 0x307b6: 0x6deee020, 0x307b7: 0x6deee220,\n\t0x307b8: 0x6deee420, 0x307b9: 0x6deee620, 0x307ba: 0x6deee820, 0x307bb: 0x6deeea20,\n\t0x307bc: 0x6deeec20, 0x307bd: 0x6deeee20, 0x307be: 0x6deef020, 0x307bf: 0x6deef220,\n\t// Block 0xc1f, offset 0x307c0\n\t0x307c0: 0x6dd61220, 0x307c1: 0x6e033020, 0x307c2: 0x6e033220, 0x307c3: 0x6e033420,\n\t0x307c4: 0x6e033620, 0x307c5: 0x6e033820, 0x307c6: 0x6e033a20, 0x307c7: 0x6def6820,\n\t0x307c8: 0x6e033c20, 0x307c9: 0x6e033e20, 0x307ca: 0x6e14c820, 0x307cb: 0x6e14ca20,\n\t0x307cc: 0x6e14cc20, 0x307cd: 0x6e14ce20, 0x307ce: 0x6e14d020, 0x307cf: 0x6e14d220,\n\t0x307d0: 0x6e227220, 0x307d1: 0x6e227420, 0x307d2: 0x6e227620, 0x307d3: 0x6e227820,\n\t0x307d4: 0x6e227a20, 0x307d5: 0x6e227c20, 0x307d6: 0x6e227e20, 0x307d7: 0x6e22aa20,\n\t0x307d8: 0x6e2cc220, 0x307d9: 0x6e2cc420, 0x307da: 0x6e22ac20, 0x307db: 0x6e2cc620,\n\t0x307dc: 0x6e2cc820, 0x307dd: 0x6e34c220, 0x307de: 0x6e34c420, 0x307df: 0x6e34c620,\n\t0x307e0: 0x6e34c820, 0x307e1: 0x6e3a7c20, 0x307e2: 0x6e3a7e20, 0x307e3: 0x6e3a8020,\n\t0x307e4: 0x6e3a8220, 0x307e5: 0x6e3a8420, 0x307e6: 0x6e3e4c20, 0x307e7: 0x6e3e4e20,\n\t0x307e8: 0x6e432420, 0x307e9: 0x6e412220, 0x307ea: 0x6e412420, 0x307eb: 0x6c270620,\n\t0x307ec: 0x6c878020, 0x307ed: 0x6cb2aa20, 0x307ee: 0x6cb2ac20, 0x307ef: 0x6cb2ae20,\n\t0x307f0: 0x6ce24420, 0x307f1: 0x6d10b820, 0x307f2: 0x6d10ba20, 0x307f3: 0x6d3ee220,\n\t0x307f4: 0x6d3ee420, 0x307f5: 0x6d3ee620, 0x307f6: 0x6d6b9e20, 0x307f7: 0x6d6ba020,\n\t0x307f8: 0x6d6ba220, 0x307f9: 0x6d6ba420, 0x307fa: 0x6d6ba620, 0x307fb: 0x6d6ba820,\n\t0x307fc: 0x6d6baa20, 0x307fd: 0x6d94e420, 0x307fe: 0x6d94e620, 0x307ff: 0x6dd6ac20,\n\t// Block 0xc20, offset 0x30800\n\t0x30800: 0x6dd6ae20, 0x30801: 0x6dd6b020, 0x30802: 0x6def6c20, 0x30803: 0x6def6e20,\n\t0x30804: 0x6def7020, 0x30805: 0x6def7220, 0x30806: 0x6e039c20, 0x30807: 0x6e150620,\n\t0x30808: 0x6e34de20, 0x30809: 0x6e412c20, 0x3080a: 0x6c270e20, 0x3080b: 0x6c40e420,\n\t0x3080c: 0x6c613220, 0x3080d: 0x6c613420, 0x3080e: 0x6c878e20, 0x3080f: 0x6c879020,\n\t0x30810: 0x6c879220, 0x30811: 0x6c879420, 0x30812: 0x6c879620, 0x30813: 0x6c879820,\n\t0x30814: 0x6c879a20, 0x30815: 0x6c879c20, 0x30816: 0x6cb2e420, 0x30817: 0x6cb2e620,\n\t0x30818: 0x6cb2e820, 0x30819: 0x6cb2ea20, 0x3081a: 0x6cb2ec20, 0x3081b: 0x6cb2ee20,\n\t0x3081c: 0x6cb2f020, 0x3081d: 0x6cb2f220, 0x3081e: 0x6cb2f420, 0x3081f: 0x6cb2f620,\n\t0x30820: 0x6cb2f820, 0x30821: 0x6cb2fa20, 0x30822: 0x6cb2fc20, 0x30823: 0x6cb2fe20,\n\t0x30824: 0x6ce26c20, 0x30825: 0x6ce26e20, 0x30826: 0x6ce27020, 0x30827: 0x6ce27220,\n\t0x30828: 0x6ce27420, 0x30829: 0x6ce27620, 0x3082a: 0x6ce27820, 0x3082b: 0x6ce27a20,\n\t0x3082c: 0x6ce27c20, 0x3082d: 0x6d10ea20, 0x3082e: 0x6ce27e20, 0x3082f: 0x6ce28020,\n\t0x30830: 0x6ce28220, 0x30831: 0x6ce28420, 0x30832: 0x6ce28620, 0x30833: 0x6ce28820,\n\t0x30834: 0x6ce28a20, 0x30835: 0x6ce28c20, 0x30836: 0x6ce28e20, 0x30837: 0x6ce29020,\n\t0x30838: 0x6ce29220, 0x30839: 0x6ce29420, 0x3083a: 0x6ce29620, 0x3083b: 0x6ce29820,\n\t0x3083c: 0x6ce29a20, 0x3083d: 0x6ce29c20, 0x3083e: 0x6d10ec20, 0x3083f: 0x6d10ee20,\n\t// Block 0xc21, offset 0x30840\n\t0x30840: 0x6d10f020, 0x30841: 0x6d10f220, 0x30842: 0x6d10f420, 0x30843: 0x6d10f620,\n\t0x30844: 0x6d10f820, 0x30845: 0x6d10fa20, 0x30846: 0x6d10fc20, 0x30847: 0x6d10fe20,\n\t0x30848: 0x6d110020, 0x30849: 0x6d110220, 0x3084a: 0x6d110420, 0x3084b: 0x6d110620,\n\t0x3084c: 0x6d110820, 0x3084d: 0x6d3f0a20, 0x3084e: 0x6d3f0c20, 0x3084f: 0x6d3f0e20,\n\t0x30850: 0x6d3f1020, 0x30851: 0x6d3f1220, 0x30852: 0x6d3f1420, 0x30853: 0x6d3f1620,\n\t0x30854: 0x6d3f1820, 0x30855: 0x6d3f1a20, 0x30856: 0x6d6bd020, 0x30857: 0x6d6bd220,\n\t0x30858: 0x6d6bd420, 0x30859: 0x6d6bd620, 0x3085a: 0x6d6bd820, 0x3085b: 0x6d6bda20,\n\t0x3085c: 0x6d6bdc20, 0x3085d: 0x6d6bde20, 0x3085e: 0x6d6be020, 0x3085f: 0x6d6be220,\n\t0x30860: 0x6d6be420, 0x30861: 0x6d6be620, 0x30862: 0x6d6be820, 0x30863: 0x6d6bea20,\n\t0x30864: 0x6d6bec20, 0x30865: 0x6d6bee20, 0x30866: 0x6d6bf020, 0x30867: 0x6d6bf220,\n\t0x30868: 0x6d6bf420, 0x30869: 0x6d6bf620, 0x3086a: 0x6d6bf820, 0x3086b: 0x6d6bfa20,\n\t0x3086c: 0x6d6bfc20, 0x3086d: 0x6d950820, 0x3086e: 0x6d950a20, 0x3086f: 0x6d950c20,\n\t0x30870: 0x6d950e20, 0x30871: 0x6d951020, 0x30872: 0x6d951220, 0x30873: 0x6d951420,\n\t0x30874: 0x6d951620, 0x30875: 0x6d951820, 0x30876: 0x6d951a20, 0x30877: 0x6d951c20,\n\t0x30878: 0x6d951e20, 0x30879: 0x6d952020, 0x3087a: 0x6d952220, 0x3087b: 0x6d952420,\n\t0x3087c: 0x6d952620, 0x3087d: 0x6db84220, 0x3087e: 0x6db84420, 0x3087f: 0x6db84620,\n\t// Block 0xc22, offset 0x30880\n\t0x30880: 0x6db84820, 0x30881: 0x6db84a20, 0x30882: 0x6db84c20, 0x30883: 0x6db84e20,\n\t0x30884: 0x6db85020, 0x30885: 0x6db85220, 0x30886: 0x6dd6ce20, 0x30887: 0x6dd6d020,\n\t0x30888: 0x6dd6d220, 0x30889: 0x6dd6d420, 0x3088a: 0x6dd6d620, 0x3088b: 0x6dd6d820,\n\t0x3088c: 0x6dd6da20, 0x3088d: 0x6def9a20, 0x3088e: 0x6def9c20, 0x3088f: 0x6def9e20,\n\t0x30890: 0x6defa020, 0x30891: 0x6defa220, 0x30892: 0x6defa420, 0x30893: 0x6defa620,\n\t0x30894: 0x6defa820, 0x30895: 0x6e03ae20, 0x30896: 0x6e03b020, 0x30897: 0x6e03b220,\n\t0x30898: 0x6e03b420, 0x30899: 0x6e03b620, 0x3089a: 0x6e03b820, 0x3089b: 0x6e151820,\n\t0x3089c: 0x6e151a20, 0x3089d: 0x6e151c20, 0x3089e: 0x6e151e20, 0x3089f: 0x6e152020,\n\t0x308a0: 0x6e22b820, 0x308a1: 0x6e22ba20, 0x308a2: 0x6e22bc20, 0x308a3: 0x6e2cee20,\n\t0x308a4: 0x6e2cf020, 0x308a5: 0x6e413020, 0x308a6: 0x6c051a20, 0x308a7: 0x6c0a7e20,\n\t0x308a8: 0x6c150820, 0x308a9: 0x6c271020, 0x308aa: 0x6c271220, 0x308ab: 0x6c271420,\n\t0x308ac: 0x6c40e620, 0x308ad: 0x6c40e820, 0x308ae: 0x6c40ea20, 0x308af: 0x6c40ec20,\n\t0x308b0: 0x6c40ee20, 0x308b1: 0x6c614620, 0x308b2: 0x6c614820, 0x308b3: 0x6c614a20,\n\t0x308b4: 0x6c614c20, 0x308b5: 0x6c614e20, 0x308b6: 0x6c615020, 0x308b7: 0x6c615220,\n\t0x308b8: 0x6c615420, 0x308b9: 0x6c615620, 0x308ba: 0x6c615820, 0x308bb: 0x6c615a20,\n\t0x308bc: 0x6c87ba20, 0x308bd: 0x6c87bc20, 0x308be: 0x6c87be20, 0x308bf: 0x6c87c020,\n\t// Block 0xc23, offset 0x308c0\n\t0x308c0: 0x6c87c220, 0x308c1: 0x6c87c420, 0x308c2: 0x6c87c620, 0x308c3: 0x6c87c820,\n\t0x308c4: 0x6cb33a20, 0x308c5: 0x6cb33c20, 0x308c6: 0x6cb33e20, 0x308c7: 0x6ce2d820,\n\t0x308c8: 0x6ce2da20, 0x308c9: 0x6ce2dc20, 0x308ca: 0x6ce2de20, 0x308cb: 0x6ce2e020,\n\t0x308cc: 0x6ce2e220, 0x308cd: 0x6ce2e420, 0x308ce: 0x6ce2e620, 0x308cf: 0x6d113e20,\n\t0x308d0: 0x6d114020, 0x308d1: 0x6d114220, 0x308d2: 0x6d114420, 0x308d3: 0x6d114620,\n\t0x308d4: 0x6d114820, 0x308d5: 0x6d3f5e20, 0x308d6: 0x6d3f6020, 0x308d7: 0x6d3f6220,\n\t0x308d8: 0x6d6c4e20, 0x308d9: 0x6d957020, 0x308da: 0x6d957220, 0x308db: 0x6c271c20,\n\t0x308dc: 0x6ce2f020, 0x308dd: 0x6ce2f220, 0x308de: 0x6d114c20, 0x308df: 0x6d114e20,\n\t0x308e0: 0x6d115020, 0x308e1: 0x6d3f6820, 0x308e2: 0x6d3f6a20, 0x308e3: 0x6d3f6c20,\n\t0x308e4: 0x6d6c5620, 0x308e5: 0x6d957820, 0x308e6: 0x6d957a20, 0x308e7: 0x6d957c20,\n\t0x308e8: 0x6d957e20, 0x308e9: 0x6d958020, 0x308ea: 0x6d958220, 0x308eb: 0x6db89e20,\n\t0x308ec: 0x6dd71620, 0x308ed: 0x6defca20, 0x308ee: 0x6e03ee20, 0x308ef: 0x6e153620,\n\t0x308f0: 0x6c272020, 0x308f1: 0x6c87d620, 0x308f2: 0x6d116020, 0x308f3: 0x6d6c6220,\n\t0x308f4: 0x6defd620, 0x308f5: 0x6c272620, 0x308f6: 0x6c051e20, 0x308f7: 0x6c0a8020,\n\t0x308f8: 0x6c150a20, 0x308f9: 0x6c150c20, 0x308fa: 0x6c150e20, 0x308fb: 0x6c151020,\n\t0x308fc: 0x6c151220, 0x308fd: 0x6c151420, 0x308fe: 0x6c272e20, 0x308ff: 0x6c273020,\n\t// Block 0xc24, offset 0x30900\n\t0x30900: 0x6c273220, 0x30901: 0x6c273420, 0x30902: 0x6c273620, 0x30903: 0x6c273820,\n\t0x30904: 0x6c273a20, 0x30905: 0x6c273c20, 0x30906: 0x6c273e20, 0x30907: 0x6c274020,\n\t0x30908: 0x6c274220, 0x30909: 0x6c274420, 0x3090a: 0x6c410020, 0x3090b: 0x6c410220,\n\t0x3090c: 0x6c410420, 0x3090d: 0x6c410620, 0x3090e: 0x6c410820, 0x3090f: 0x6c410a20,\n\t0x30910: 0x6c410c20, 0x30911: 0x6c410e20, 0x30912: 0x6c411020, 0x30913: 0x6c411220,\n\t0x30914: 0x6c411420, 0x30915: 0x6c411620, 0x30916: 0x6c411820, 0x30917: 0x6c411a20,\n\t0x30918: 0x6c411c20, 0x30919: 0x6c411e20, 0x3091a: 0x6c412020, 0x3091b: 0x6c412220,\n\t0x3091c: 0x6c412420, 0x3091d: 0x6c412620, 0x3091e: 0x6c412820, 0x3091f: 0x6c412a20,\n\t0x30920: 0x6c616a20, 0x30921: 0x6c616c20, 0x30922: 0x6c616e20, 0x30923: 0x6c617020,\n\t0x30924: 0x6c617220, 0x30925: 0x6c617420, 0x30926: 0x6c617620, 0x30927: 0x6c617820,\n\t0x30928: 0x6c617a20, 0x30929: 0x6c617c20, 0x3092a: 0x6c617e20, 0x3092b: 0x6c618020,\n\t0x3092c: 0x6c412c20, 0x3092d: 0x6c618220, 0x3092e: 0x6c618420, 0x3092f: 0x6c618620,\n\t0x30930: 0x6c618820, 0x30931: 0x6c618a20, 0x30932: 0x6c618c20, 0x30933: 0x6c618e20,\n\t0x30934: 0x6c87e620, 0x30935: 0x6c87e820, 0x30936: 0x6c87ea20, 0x30937: 0x6c87ec20,\n\t0x30938: 0x6c87ee20, 0x30939: 0x6c87f020, 0x3093a: 0x6c87f220, 0x3093b: 0x6c87f420,\n\t0x3093c: 0x6c87f620, 0x3093d: 0x6c87f820, 0x3093e: 0x6c87fa20, 0x3093f: 0x6c87fc20,\n\t// Block 0xc25, offset 0x30940\n\t0x30940: 0x6c87fe20, 0x30941: 0x6c880020, 0x30942: 0x6c880220, 0x30943: 0x6c880420,\n\t0x30944: 0x6c880620, 0x30945: 0x6c880820, 0x30946: 0x6c880a20, 0x30947: 0x6c880c20,\n\t0x30948: 0x6c880e20, 0x30949: 0x6c881020, 0x3094a: 0x6c881220, 0x3094b: 0x6cb34e20,\n\t0x3094c: 0x6cb35020, 0x3094d: 0x6cb35220, 0x3094e: 0x6cb35420, 0x3094f: 0x6cb35620,\n\t0x30950: 0x6cb35820, 0x30951: 0x6cb35a20, 0x30952: 0x6cb35c20, 0x30953: 0x6cb35e20,\n\t0x30954: 0x6cb36020, 0x30955: 0x6cb36220, 0x30956: 0x6cb36420, 0x30957: 0x6cb36620,\n\t0x30958: 0x6cb36820, 0x30959: 0x6cb36a20, 0x3095a: 0x6cb36c20, 0x3095b: 0x6cb36e20,\n\t0x3095c: 0x6cb37020, 0x3095d: 0x6cb37220, 0x3095e: 0x6cb37420, 0x3095f: 0x6cb37620,\n\t0x30960: 0x6cb37820, 0x30961: 0x6cb37a20, 0x30962: 0x6cb37c20, 0x30963: 0x6cb37e20,\n\t0x30964: 0x6cb38020, 0x30965: 0x6cb38220, 0x30966: 0x6cb38420, 0x30967: 0x6cb38620,\n\t0x30968: 0x6ce30420, 0x30969: 0x6ce30620, 0x3096a: 0x6ce30820, 0x3096b: 0x6ce30a20,\n\t0x3096c: 0x6ce30c20, 0x3096d: 0x6ce30e20, 0x3096e: 0x6ce31020, 0x3096f: 0x6ce31220,\n\t0x30970: 0x6ce31420, 0x30971: 0x6ce31620, 0x30972: 0x6ce31820, 0x30973: 0x6ce31a20,\n\t0x30974: 0x6ce31c20, 0x30975: 0x6ce31e20, 0x30976: 0x6ce32020, 0x30977: 0x6ce32220,\n\t0x30978: 0x6ce32420, 0x30979: 0x6ce32620, 0x3097a: 0x6ce32820, 0x3097b: 0x6ce32a20,\n\t0x3097c: 0x6d116a20, 0x3097d: 0x6d116c20, 0x3097e: 0x6d116e20, 0x3097f: 0x6d117020,\n\t// Block 0xc26, offset 0x30980\n\t0x30980: 0x6d117220, 0x30981: 0x6d117420, 0x30982: 0x6d117620, 0x30983: 0x6d117820,\n\t0x30984: 0x6d117a20, 0x30985: 0x6d117c20, 0x30986: 0x6d117e20, 0x30987: 0x6d118020,\n\t0x30988: 0x6d118220, 0x30989: 0x6d118420, 0x3098a: 0x6d118620, 0x3098b: 0x6d118820,\n\t0x3098c: 0x6d118a20, 0x3098d: 0x6d118c20, 0x3098e: 0x6d118e20, 0x3098f: 0x6d119020,\n\t0x30990: 0x6d119220, 0x30991: 0x6d119420, 0x30992: 0x6d119620, 0x30993: 0x6d119820,\n\t0x30994: 0x6d119a20, 0x30995: 0x6d119c20, 0x30996: 0x6d119e20, 0x30997: 0x6d11a020,\n\t0x30998: 0x6d3f8020, 0x30999: 0x6d3f8220, 0x3099a: 0x6d3f8420, 0x3099b: 0x6d3f8620,\n\t0x3099c: 0x6d3f8820, 0x3099d: 0x6d3f8a20, 0x3099e: 0x6d3f8c20, 0x3099f: 0x6d3f8e20,\n\t0x309a0: 0x6d3f9020, 0x309a1: 0x6d3f9220, 0x309a2: 0x6d3f9420, 0x309a3: 0x6d3f9620,\n\t0x309a4: 0x6d3f9820, 0x309a5: 0x6d3f9a20, 0x309a6: 0x6d6c6e20, 0x309a7: 0x6d6c7020,\n\t0x309a8: 0x6d6c7220, 0x309a9: 0x6d6c7420, 0x309aa: 0x6d6c7620, 0x309ab: 0x6d6c7820,\n\t0x309ac: 0x6d6c7a20, 0x309ad: 0x6d6c7c20, 0x309ae: 0x6d6c7e20, 0x309af: 0x6d6c8020,\n\t0x309b0: 0x6d6c8220, 0x309b1: 0x6d6c8420, 0x309b2: 0x6d959e20, 0x309b3: 0x6d6c8620,\n\t0x309b4: 0x6d95a020, 0x309b5: 0x6d95a220, 0x309b6: 0x6d95a420, 0x309b7: 0x6d6c8820,\n\t0x309b8: 0x6d95a620, 0x309b9: 0x6d95a820, 0x309ba: 0x6d95aa20, 0x309bb: 0x6d95ac20,\n\t0x309bc: 0x6d95ae20, 0x309bd: 0x6db8b220, 0x309be: 0x6db8b420, 0x309bf: 0x6db8b620,\n\t// Block 0xc27, offset 0x309c0\n\t0x309c0: 0x6db8b820, 0x309c1: 0x6db8ba20, 0x309c2: 0x6db8bc20, 0x309c3: 0x6db8be20,\n\t0x309c4: 0x6db8c020, 0x309c5: 0x6db8c220, 0x309c6: 0x6d95b020, 0x309c7: 0x6dd72220,\n\t0x309c8: 0x6dd72420, 0x309c9: 0x6db8c420, 0x309ca: 0x6defdc20, 0x309cb: 0x6defde20,\n\t0x309cc: 0x6defe020, 0x309cd: 0x6e03fc20, 0x309ce: 0x6e153c20, 0x309cf: 0x6e2d0820,\n\t0x309d0: 0x6e2d0a20, 0x309d1: 0x6c278a20, 0x309d2: 0x6c0a8e20, 0x309d3: 0x6c0a9020,\n\t0x309d4: 0x6c153c20, 0x309d5: 0x6c886a20, 0x309d6: 0x6c153e20, 0x309d7: 0x6c154020,\n\t0x309d8: 0x6c154220, 0x309d9: 0x6c154420, 0x309da: 0x6c154620, 0x309db: 0x6c154820,\n\t0x309dc: 0x6c154a20, 0x309dd: 0x6c154c20, 0x309de: 0x6c279220, 0x309df: 0x6c279420,\n\t0x309e0: 0x6c279620, 0x309e1: 0x6c279820, 0x309e2: 0x6c279a20, 0x309e3: 0x6c279c20,\n\t0x309e4: 0x6c279e20, 0x309e5: 0x6c27a020, 0x309e6: 0x6c27a220, 0x309e7: 0x6c27a420,\n\t0x309e8: 0x6c27a620, 0x309e9: 0x6c27a820, 0x309ea: 0x6c27aa20, 0x309eb: 0x6cb3fc20,\n\t0x309ec: 0x6c27ac20, 0x309ed: 0x6c418220, 0x309ee: 0x6c418420, 0x309ef: 0x6c418620,\n\t0x309f0: 0x6c418820, 0x309f1: 0x6c418a20, 0x309f2: 0x6c418c20, 0x309f3: 0x6c418e20,\n\t0x309f4: 0x6c419020, 0x309f5: 0x6c419220, 0x309f6: 0x6c419420, 0x309f7: 0x6c419620,\n\t0x309f8: 0x6c419820, 0x309f9: 0x6c419a20, 0x309fa: 0x6c419c20, 0x309fb: 0x6c419e20,\n\t0x309fc: 0x6c61e020, 0x309fd: 0x6c61e220, 0x309fe: 0x6c61e420, 0x309ff: 0x6c61e620,\n\t// Block 0xc28, offset 0x30a00\n\t0x30a00: 0x6c61e820, 0x30a01: 0x6c61ea20, 0x30a02: 0x6c61ec20, 0x30a03: 0x6c61ee20,\n\t0x30a04: 0x6c61f020, 0x30a05: 0x6c61f220, 0x30a06: 0x6c61f420, 0x30a07: 0x6c61f620,\n\t0x30a08: 0x6c61f820, 0x30a09: 0x6c61fa20, 0x30a0a: 0x6c61fc20, 0x30a0b: 0x6c61fe20,\n\t0x30a0c: 0x6d11fe20, 0x30a0d: 0x6c620020, 0x30a0e: 0x6c620220, 0x30a0f: 0x6c620420,\n\t0x30a10: 0x6c620620, 0x30a11: 0x6c620820, 0x30a12: 0x6d400820, 0x30a13: 0x6c620a20,\n\t0x30a14: 0x6cb3fe20, 0x30a15: 0x6c620c20, 0x30a16: 0x6c887620, 0x30a17: 0x6c887820,\n\t0x30a18: 0x6c887a20, 0x30a19: 0x6c887c20, 0x30a1a: 0x6c887e20, 0x30a1b: 0x6c888020,\n\t0x30a1c: 0x6c888220, 0x30a1d: 0x6c888420, 0x30a1e: 0x6c888620, 0x30a1f: 0x6c888820,\n\t0x30a20: 0x6c888a20, 0x30a21: 0x6c888c20, 0x30a22: 0x6c888e20, 0x30a23: 0x6c889020,\n\t0x30a24: 0x6c889220, 0x30a25: 0x6c889420, 0x30a26: 0x6c889620, 0x30a27: 0x6c889820,\n\t0x30a28: 0x6cb40c20, 0x30a29: 0x6cb40e20, 0x30a2a: 0x6cb41020, 0x30a2b: 0x6cb41220,\n\t0x30a2c: 0x6cb41420, 0x30a2d: 0x6cb41620, 0x30a2e: 0x6cb41820, 0x30a2f: 0x6cb41a20,\n\t0x30a30: 0x6cb41c20, 0x30a31: 0x6c625420, 0x30a32: 0x6cb41e20, 0x30a33: 0x6cb42020,\n\t0x30a34: 0x6cb42220, 0x30a35: 0x6ce3be20, 0x30a36: 0x6d6cf820, 0x30a37: 0x6cb42420,\n\t0x30a38: 0x6cb42620, 0x30a39: 0x6ce3c620, 0x30a3a: 0x6d95fa20, 0x30a3b: 0x6ce3c820,\n\t0x30a3c: 0x6ce3ca20, 0x30a3d: 0x6cb42820, 0x30a3e: 0x6ce3cc20, 0x30a3f: 0x6ce3ce20,\n\t// Block 0xc29, offset 0x30a40\n\t0x30a40: 0x6ce3d020, 0x30a41: 0x6ce3d220, 0x30a42: 0x6ce3d420, 0x30a43: 0x6ce3d620,\n\t0x30a44: 0x6ce3d820, 0x30a45: 0x6ce3da20, 0x30a46: 0x6ce3dc20, 0x30a47: 0x6ce3de20,\n\t0x30a48: 0x6ce3e020, 0x30a49: 0x6ce3e220, 0x30a4a: 0x6ce3e420, 0x30a4b: 0x6d120820,\n\t0x30a4c: 0x6d120a20, 0x30a4d: 0x6d120c20, 0x30a4e: 0x6d120e20, 0x30a4f: 0x6d121020,\n\t0x30a50: 0x6d121220, 0x30a51: 0x6d121420, 0x30a52: 0x6d121620, 0x30a53: 0x6d121820,\n\t0x30a54: 0x6d121a20, 0x30a55: 0x6d121c20, 0x30a56: 0x6d121e20, 0x30a57: 0x6d122020,\n\t0x30a58: 0x6d401420, 0x30a59: 0x6d401620, 0x30a5a: 0x6d401820, 0x30a5b: 0x6d401a20,\n\t0x30a5c: 0x6d401c20, 0x30a5d: 0x6d401e20, 0x30a5e: 0x6d402020, 0x30a5f: 0x6d402220,\n\t0x30a60: 0x6d402420, 0x30a61: 0x6d402620, 0x30a62: 0x6d402820, 0x30a63: 0x6d402a20,\n\t0x30a64: 0x6d402c20, 0x30a65: 0x6d402e20, 0x30a66: 0x6d6d0220, 0x30a67: 0x6d6d0420,\n\t0x30a68: 0x6dd75620, 0x30a69: 0x6d6d0620, 0x30a6a: 0x6d6d0820, 0x30a6b: 0x6d6d0a20,\n\t0x30a6c: 0x6ce41e20, 0x30a6d: 0x6d6d0c20, 0x30a6e: 0x6d6d0e20, 0x30a6f: 0x6d6d1020,\n\t0x30a70: 0x6d6d1220, 0x30a71: 0x6d6d1420, 0x30a72: 0x6d6d1620, 0x30a73: 0x6d95fe20,\n\t0x30a74: 0x6d960020, 0x30a75: 0x6d960220, 0x30a76: 0x6d960420, 0x30a77: 0x6d960620,\n\t0x30a78: 0x6db90820, 0x30a79: 0x6db90a20, 0x30a7a: 0x6dd75820, 0x30a7b: 0x6dd75a20,\n\t0x30a7c: 0x6dd75c20, 0x30a7d: 0x6dd75e20, 0x30a7e: 0x6dd76020, 0x30a7f: 0x6deff620,\n\t// Block 0xc2a, offset 0x30a80\n\t0x30a80: 0x6deff820, 0x30a81: 0x6e042620, 0x30a82: 0x6deffa20, 0x30a83: 0x6e042820,\n\t0x30a84: 0x6e154e20, 0x30a85: 0x6e155020, 0x30a86: 0x6e155220, 0x30a87: 0x6e22ea20,\n\t0x30a88: 0x6e22ec20, 0x30a89: 0x6c27ec20, 0x30a8a: 0x6c625a20, 0x30a8b: 0x6c625c20,\n\t0x30a8c: 0x6c88ee20, 0x30a8d: 0x6c88f020, 0x30a8e: 0x6c88f220, 0x30a8f: 0x6c88f420,\n\t0x30a90: 0x6c88f620, 0x30a91: 0x6c88f820, 0x30a92: 0x6c88fa20, 0x30a93: 0x6cb47e20,\n\t0x30a94: 0x6cb48020, 0x30a95: 0x6cb48220, 0x30a96: 0x6cb48420, 0x30a97: 0x6cb48620,\n\t0x30a98: 0x6cb48820, 0x30a99: 0x6cb48a20, 0x30a9a: 0x6cb48c20, 0x30a9b: 0x6cb48e20,\n\t0x30a9c: 0x6cb49020, 0x30a9d: 0x6cb49220, 0x30a9e: 0x6cb49420, 0x30a9f: 0x6ce42a20,\n\t0x30aa0: 0x6ce42c20, 0x30aa1: 0x6ce42e20, 0x30aa2: 0x6ce43020, 0x30aa3: 0x6ce43220,\n\t0x30aa4: 0x6ce43420, 0x30aa5: 0x6ce43620, 0x30aa6: 0x6d127820, 0x30aa7: 0x6d127a20,\n\t0x30aa8: 0x6d127c20, 0x30aa9: 0x6d127e20, 0x30aaa: 0x6d128020, 0x30aab: 0x6d128220,\n\t0x30aac: 0x6d128420, 0x30aad: 0x6d128620, 0x30aae: 0x6d128820, 0x30aaf: 0x6d128a20,\n\t0x30ab0: 0x6d128c20, 0x30ab1: 0x6d128e20, 0x30ab2: 0x6d407e20, 0x30ab3: 0x6d408020,\n\t0x30ab4: 0x6d408220, 0x30ab5: 0x6d408420, 0x30ab6: 0x6d408620, 0x30ab7: 0x6d408820,\n\t0x30ab8: 0x6d408a20, 0x30ab9: 0x6d408c20, 0x30aba: 0x6d408e20, 0x30abb: 0x6d409020,\n\t0x30abc: 0x6d409220, 0x30abd: 0x6d409420, 0x30abe: 0x6d409620, 0x30abf: 0x6d409820,\n\t// Block 0xc2b, offset 0x30ac0\n\t0x30ac0: 0x6d6d5020, 0x30ac1: 0x6d6d5220, 0x30ac2: 0x6d6d5420, 0x30ac3: 0x6d6d5620,\n\t0x30ac4: 0x6d6d5820, 0x30ac5: 0x6d6d5a20, 0x30ac6: 0x6d6d5c20, 0x30ac7: 0x6d6d5e20,\n\t0x30ac8: 0x6d6d6020, 0x30ac9: 0x6d6d6220, 0x30aca: 0x6d6d6420, 0x30acb: 0x6d6d6620,\n\t0x30acc: 0x6d6d6820, 0x30acd: 0x6d964220, 0x30ace: 0x6d964420, 0x30acf: 0x6d964620,\n\t0x30ad0: 0x6d964820, 0x30ad1: 0x6d964a20, 0x30ad2: 0x6d964c20, 0x30ad3: 0x6d964e20,\n\t0x30ad4: 0x6d965020, 0x30ad5: 0x6d965220, 0x30ad6: 0x6d965420, 0x30ad7: 0x6d965620,\n\t0x30ad8: 0x6db93c20, 0x30ad9: 0x6db93e20, 0x30ada: 0x6db94020, 0x30adb: 0x6db94220,\n\t0x30adc: 0x6db94420, 0x30add: 0x6db94620, 0x30ade: 0x6db94820, 0x30adf: 0x6db94a20,\n\t0x30ae0: 0x6db94c20, 0x30ae1: 0x6db94e20, 0x30ae2: 0x6db95020, 0x30ae3: 0x6db95220,\n\t0x30ae4: 0x6db95420, 0x30ae5: 0x6dd78220, 0x30ae6: 0x6dd78420, 0x30ae7: 0x6dd78620,\n\t0x30ae8: 0x6dd78820, 0x30ae9: 0x6dd78a20, 0x30aea: 0x6dd78c20, 0x30aeb: 0x6dd78e20,\n\t0x30aec: 0x6dd79020, 0x30aed: 0x6df01420, 0x30aee: 0x6df01620, 0x30aef: 0x6df01820,\n\t0x30af0: 0x6df01a20, 0x30af1: 0x6df01c20, 0x30af2: 0x6e043420, 0x30af3: 0x6e043620,\n\t0x30af4: 0x6e043820, 0x30af5: 0x6e043a20, 0x30af6: 0x6e043c20, 0x30af7: 0x6e043e20,\n\t0x30af8: 0x6e044020, 0x30af9: 0x6e156020, 0x30afa: 0x6e156220, 0x30afb: 0x6e156420,\n\t0x30afc: 0x6e2d2620, 0x30afd: 0x6e350220, 0x30afe: 0x6e350420, 0x30aff: 0x6e350620,\n\t// Block 0xc2c, offset 0x30b00\n\t0x30b00: 0x6e350820, 0x30b01: 0x6e3aaa20, 0x30b02: 0x6e351420, 0x30b03: 0x6e3e6e20,\n\t0x30b04: 0x6e3e7020, 0x30b05: 0x6e413820, 0x30b06: 0x6c27ee20, 0x30b07: 0x6c41da20,\n\t0x30b08: 0x6cb4c420, 0x30b09: 0x6ce46a20, 0x30b0a: 0x6ce46c20, 0x30b0b: 0x6e046220,\n\t0x30b0c: 0x6c27f020, 0x30b0d: 0x6c625e20, 0x30b0e: 0x6cb4cc20, 0x30b0f: 0x6ce47020,\n\t0x30b10: 0x6dd7ce20, 0x30b11: 0x6c41dc20, 0x30b12: 0x6c41de20, 0x30b13: 0x6c626220,\n\t0x30b14: 0x6c626420, 0x30b15: 0x6c890e20, 0x30b16: 0x6c891020, 0x30b17: 0x6c891220,\n\t0x30b18: 0x6c891420, 0x30b19: 0x6c891620, 0x30b1a: 0x6c891820, 0x30b1b: 0x6c891a20,\n\t0x30b1c: 0x6c891c20, 0x30b1d: 0x6c891e20, 0x30b1e: 0x6c892020, 0x30b1f: 0x6c892220,\n\t0x30b20: 0x6c892420, 0x30b21: 0x6c892620, 0x30b22: 0x6c892820, 0x30b23: 0x6cb4d620,\n\t0x30b24: 0x6cb4d820, 0x30b25: 0x6cb4da20, 0x30b26: 0x6cb4dc20, 0x30b27: 0x6cb4de20,\n\t0x30b28: 0x6cb4e020, 0x30b29: 0x6cb4e220, 0x30b2a: 0x6cb4e420, 0x30b2b: 0x6cb4e620,\n\t0x30b2c: 0x6cb4e820, 0x30b2d: 0x6cb4ea20, 0x30b2e: 0x6cb4ec20, 0x30b2f: 0x6cb4ee20,\n\t0x30b30: 0x6cb4f020, 0x30b31: 0x6cb4f220, 0x30b32: 0x6cb4f420, 0x30b33: 0x6cb4f620,\n\t0x30b34: 0x6cb4f820, 0x30b35: 0x6cb4fa20, 0x30b36: 0x6cb4fc20, 0x30b37: 0x6cb4fe20,\n\t0x30b38: 0x6cb50020, 0x30b39: 0x6cb50220, 0x30b3a: 0x6cb50420, 0x30b3b: 0x6cb50620,\n\t0x30b3c: 0x6cb50820, 0x30b3d: 0x6ce48420, 0x30b3e: 0x6ce48620, 0x30b3f: 0x6ce48820,\n\t// Block 0xc2d, offset 0x30b40\n\t0x30b40: 0x6ce48a20, 0x30b41: 0x6ce48c20, 0x30b42: 0x6ce48e20, 0x30b43: 0x6ce49020,\n\t0x30b44: 0x6ce49220, 0x30b45: 0x6ce49420, 0x30b46: 0x6ce49620, 0x30b47: 0x6ce49820,\n\t0x30b48: 0x6ce49a20, 0x30b49: 0x6ce49c20, 0x30b4a: 0x6ce49e20, 0x30b4b: 0x6ce4a020,\n\t0x30b4c: 0x6ce4a220, 0x30b4d: 0x6ce4a420, 0x30b4e: 0x6ce4a620, 0x30b4f: 0x6ce4a820,\n\t0x30b50: 0x6ce4aa20, 0x30b51: 0x6ce4ac20, 0x30b52: 0x6ce4ae20, 0x30b53: 0x6ce4b020,\n\t0x30b54: 0x6ce4b220, 0x30b55: 0x6ce4b420, 0x30b56: 0x6ce4b620, 0x30b57: 0x6ce4b820,\n\t0x30b58: 0x6ce4ba20, 0x30b59: 0x6ce4bc20, 0x30b5a: 0x6ce4be20, 0x30b5b: 0x6ce4c020,\n\t0x30b5c: 0x6ce4c220, 0x30b5d: 0x6ce4c420, 0x30b5e: 0x6ce4c620, 0x30b5f: 0x6ce4c820,\n\t0x30b60: 0x6ce4ca20, 0x30b61: 0x6ce4cc20, 0x30b62: 0x6ce4ce20, 0x30b63: 0x6ce4d020,\n\t0x30b64: 0x6ce4d220, 0x30b65: 0x6ce4d420, 0x30b66: 0x6ce4d620, 0x30b67: 0x6ce4d820,\n\t0x30b68: 0x6ce4da20, 0x30b69: 0x6ce4dc20, 0x30b6a: 0x6ce4de20, 0x30b6b: 0x6ce4e020,\n\t0x30b6c: 0x6ce4e220, 0x30b6d: 0x6d40d420, 0x30b6e: 0x6d12c620, 0x30b6f: 0x6d12c820,\n\t0x30b70: 0x6d12ca20, 0x30b71: 0x6d12cc20, 0x30b72: 0x6d12ce20, 0x30b73: 0x6d12d020,\n\t0x30b74: 0x6d12d220, 0x30b75: 0x6d12d420, 0x30b76: 0x6d12d620, 0x30b77: 0x6d12d820,\n\t0x30b78: 0x6d12da20, 0x30b79: 0x6d12dc20, 0x30b7a: 0x6d12de20, 0x30b7b: 0x6d12e020,\n\t0x30b7c: 0x6d12e220, 0x30b7d: 0x6d12e420, 0x30b7e: 0x6d12e620, 0x30b7f: 0x6d12e820,\n\t// Block 0xc2e, offset 0x30b80\n\t0x30b80: 0x6d12ea20, 0x30b81: 0x6d12ec20, 0x30b82: 0x6d12ee20, 0x30b83: 0x6d12f020,\n\t0x30b84: 0x6d12f220, 0x30b85: 0x6d12f420, 0x30b86: 0x6d12f620, 0x30b87: 0x6d12f820,\n\t0x30b88: 0x6d12fa20, 0x30b89: 0x6d12fc20, 0x30b8a: 0x6d12fe20, 0x30b8b: 0x6d130020,\n\t0x30b8c: 0x6d130220, 0x30b8d: 0x6d130420, 0x30b8e: 0x6d130620, 0x30b8f: 0x6d130820,\n\t0x30b90: 0x6d130a20, 0x30b91: 0x6d130c20, 0x30b92: 0x6d130e20, 0x30b93: 0x6d131020,\n\t0x30b94: 0x6d131220, 0x30b95: 0x6d131420, 0x30b96: 0x6d131620, 0x30b97: 0x6d131820,\n\t0x30b98: 0x6d131a20, 0x30b99: 0x6d131c20, 0x30b9a: 0x6d131e20, 0x30b9b: 0x6d132020,\n\t0x30b9c: 0x6d132220, 0x30b9d: 0x6d132420, 0x30b9e: 0x6d132620, 0x30b9f: 0x6d132820,\n\t0x30ba0: 0x6d132a20, 0x30ba1: 0x6d132c20, 0x30ba2: 0x6d132e20, 0x30ba3: 0x6d133020,\n\t0x30ba4: 0x6d133220, 0x30ba5: 0x6d133420, 0x30ba6: 0x6d133620, 0x30ba7: 0x6d133820,\n\t0x30ba8: 0x6d133a20, 0x30ba9: 0x6d133c20, 0x30baa: 0x6d133e20, 0x30bab: 0x6d134020,\n\t0x30bac: 0x6d134220, 0x30bad: 0x6d134420, 0x30bae: 0x6d134620, 0x30baf: 0x6d134820,\n\t0x30bb0: 0x6d134a20, 0x30bb1: 0x6d134c20, 0x30bb2: 0x6d134e20, 0x30bb3: 0x6d135020,\n\t0x30bb4: 0x6d135220, 0x30bb5: 0x6d40e420, 0x30bb6: 0x6d40e620, 0x30bb7: 0x6d40e820,\n\t0x30bb8: 0x6d40ea20, 0x30bb9: 0x6d40ec20, 0x30bba: 0x6d40ee20, 0x30bbb: 0x6d40f020,\n\t0x30bbc: 0x6d41c020, 0x30bbd: 0x6d40f220, 0x30bbe: 0x6d40f420, 0x30bbf: 0x6d40f620,\n\t// Block 0xc2f, offset 0x30bc0\n\t0x30bc0: 0x6d40f820, 0x30bc1: 0x6d40fa20, 0x30bc2: 0x6d40fc20, 0x30bc3: 0x6d40fe20,\n\t0x30bc4: 0x6d410020, 0x30bc5: 0x6d410220, 0x30bc6: 0x6d410420, 0x30bc7: 0x6d410620,\n\t0x30bc8: 0x6d410820, 0x30bc9: 0x6d410a20, 0x30bca: 0x6d410c20, 0x30bcb: 0x6d410e20,\n\t0x30bcc: 0x6d411020, 0x30bcd: 0x6d411220, 0x30bce: 0x6d411420, 0x30bcf: 0x6d135420,\n\t0x30bd0: 0x6d411620, 0x30bd1: 0x6d411820, 0x30bd2: 0x6d411a20, 0x30bd3: 0x6d411c20,\n\t0x30bd4: 0x6d411e20, 0x30bd5: 0x6d412020, 0x30bd6: 0x6d412220, 0x30bd7: 0x6d412420,\n\t0x30bd8: 0x6d412620, 0x30bd9: 0x6d412820, 0x30bda: 0x6d412a20, 0x30bdb: 0x6d412c20,\n\t0x30bdc: 0x6d412e20, 0x30bdd: 0x6d413020, 0x30bde: 0x6d413220, 0x30bdf: 0x6d413420,\n\t0x30be0: 0x6d413620, 0x30be1: 0x6d413820, 0x30be2: 0x6d413a20, 0x30be3: 0x6d413c20,\n\t0x30be4: 0x6d413e20, 0x30be5: 0x6d414020, 0x30be6: 0x6d414220, 0x30be7: 0x6d414420,\n\t0x30be8: 0x6d414620, 0x30be9: 0x6d414820, 0x30bea: 0x6d414a20, 0x30beb: 0x6d414c20,\n\t0x30bec: 0x6d414e20, 0x30bed: 0x6d415020, 0x30bee: 0x6d415220, 0x30bef: 0x6d415420,\n\t0x30bf0: 0x6d415620, 0x30bf1: 0x6d415820, 0x30bf2: 0x6d6dc220, 0x30bf3: 0x6d6dc420,\n\t0x30bf4: 0x6d6dc620, 0x30bf5: 0x6d6dc820, 0x30bf6: 0x6d6dca20, 0x30bf7: 0x6d6dcc20,\n\t0x30bf8: 0x6d6dce20, 0x30bf9: 0x6d6dd020, 0x30bfa: 0x6d6dd220, 0x30bfb: 0x6d6dd420,\n\t0x30bfc: 0x6d6dd620, 0x30bfd: 0x6d6dd820, 0x30bfe: 0x6d6dda20, 0x30bff: 0x6d6ddc20,\n\t// Block 0xc30, offset 0x30c00\n\t0x30c00: 0x6d6dde20, 0x30c01: 0x6d6de020, 0x30c02: 0x6d6de220, 0x30c03: 0x6d6de420,\n\t0x30c04: 0x6d6de620, 0x30c05: 0x6d6de820, 0x30c06: 0x6d6dea20, 0x30c07: 0x6d6dec20,\n\t0x30c08: 0x6d6dee20, 0x30c09: 0x6d6df020, 0x30c0a: 0x6d6df220, 0x30c0b: 0x6d969820,\n\t0x30c0c: 0x6d6df420, 0x30c0d: 0x6d6df620, 0x30c0e: 0x6d6df820, 0x30c0f: 0x6d6dfa20,\n\t0x30c10: 0x6d6dfc20, 0x30c11: 0x6d6dfe20, 0x30c12: 0x6d6e0020, 0x30c13: 0x6d6e0220,\n\t0x30c14: 0x6d6e0420, 0x30c15: 0x6d6e0620, 0x30c16: 0x6d6e0820, 0x30c17: 0x6d6e0a20,\n\t0x30c18: 0x6d6e0c20, 0x30c19: 0x6d6e0e20, 0x30c1a: 0x6d6e1020, 0x30c1b: 0x6d6e1220,\n\t0x30c1c: 0x6d6e1420, 0x30c1d: 0x6d6e1620, 0x30c1e: 0x6d6e1820, 0x30c1f: 0x6d6e1a20,\n\t0x30c20: 0x6d6e1c20, 0x30c21: 0x6d6e1e20, 0x30c22: 0x6d6e2020, 0x30c23: 0x6d6e2220,\n\t0x30c24: 0x6d6e2420, 0x30c25: 0x6d6e2620, 0x30c26: 0x6d6e2820, 0x30c27: 0x6d6e2a20,\n\t0x30c28: 0x6d6e2c20, 0x30c29: 0x6d6e2e20, 0x30c2a: 0x6d6e3020, 0x30c2b: 0x6d6e3220,\n\t0x30c2c: 0x6d6e3420, 0x30c2d: 0x6d6e3620, 0x30c2e: 0x6d41be20, 0x30c2f: 0x6d6e3820,\n\t0x30c30: 0x6d6e3a20, 0x30c31: 0x6d6e3c20, 0x30c32: 0x6d6e3e20, 0x30c33: 0x6d6e4020,\n\t0x30c34: 0x6d6e4220, 0x30c35: 0x6d6e4420, 0x30c36: 0x6d6e4620, 0x30c37: 0x6d96a220,\n\t0x30c38: 0x6d96a420, 0x30c39: 0x6d96a620, 0x30c3a: 0x6d96a820, 0x30c3b: 0x6d96aa20,\n\t0x30c3c: 0x6d96ac20, 0x30c3d: 0x6d96ae20, 0x30c3e: 0x6d96b020, 0x30c3f: 0x6d96b220,\n\t// Block 0xc31, offset 0x30c40\n\t0x30c40: 0x6d96b420, 0x30c41: 0x6d96b620, 0x30c42: 0x6d96b820, 0x30c43: 0x6d96ba20,\n\t0x30c44: 0x6d96bc20, 0x30c45: 0x6d96be20, 0x30c46: 0x6d96c020, 0x30c47: 0x6d96c220,\n\t0x30c48: 0x6d96c420, 0x30c49: 0x6d96c620, 0x30c4a: 0x6d96c820, 0x30c4b: 0x6d96ca20,\n\t0x30c4c: 0x6d96cc20, 0x30c4d: 0x6d96ce20, 0x30c4e: 0x6d96d020, 0x30c4f: 0x6d96d220,\n\t0x30c50: 0x6d96d420, 0x30c51: 0x6d96d620, 0x30c52: 0x6d96d820, 0x30c53: 0x6d96da20,\n\t0x30c54: 0x6d96dc20, 0x30c55: 0x6d96de20, 0x30c56: 0x6d96e020, 0x30c57: 0x6d96e220,\n\t0x30c58: 0x6d96e420, 0x30c59: 0x6d96e620, 0x30c5a: 0x6d96e820, 0x30c5b: 0x6d96ea20,\n\t0x30c5c: 0x6d96ec20, 0x30c5d: 0x6d96ee20, 0x30c5e: 0x6d96f020, 0x30c5f: 0x6d96f220,\n\t0x30c60: 0x6d96f420, 0x30c61: 0x6d96f620, 0x30c62: 0x6d96f820, 0x30c63: 0x6d96fa20,\n\t0x30c64: 0x6d96fc20, 0x30c65: 0x6d96fe20, 0x30c66: 0x6d970020, 0x30c67: 0x6d970220,\n\t0x30c68: 0x6db9ac20, 0x30c69: 0x6d970420, 0x30c6a: 0x6d970620, 0x30c6b: 0x6d970820,\n\t0x30c6c: 0x6d970a20, 0x30c6d: 0x6d970c20, 0x30c6e: 0x6d970e20, 0x30c6f: 0x6d971020,\n\t0x30c70: 0x6d971220, 0x30c71: 0x6d971420, 0x30c72: 0x6d971620, 0x30c73: 0x6d971820,\n\t0x30c74: 0x6d971a20, 0x30c75: 0x6d971c20, 0x30c76: 0x6d971e20, 0x30c77: 0x6d972020,\n\t0x30c78: 0x6d972220, 0x30c79: 0x6d972420, 0x30c7a: 0x6d972620, 0x30c7b: 0x6d972820,\n\t0x30c7c: 0x6d972a20, 0x30c7d: 0x6d972c20, 0x30c7e: 0x6d972e20, 0x30c7f: 0x6d973020,\n\t// Block 0xc32, offset 0x30c80\n\t0x30c80: 0x6d973220, 0x30c81: 0x6d973420, 0x30c82: 0x6d973620, 0x30c83: 0x6d973820,\n\t0x30c84: 0x6d973a20, 0x30c85: 0x6d973c20, 0x30c86: 0x6d973e20, 0x30c87: 0x6db9ae20,\n\t0x30c88: 0x6d974020, 0x30c89: 0x6db9b020, 0x30c8a: 0x6db9b220, 0x30c8b: 0x6db9b420,\n\t0x30c8c: 0x6db9b620, 0x30c8d: 0x6db9b820, 0x30c8e: 0x6db9ba20, 0x30c8f: 0x6db9bc20,\n\t0x30c90: 0x6db9be20, 0x30c91: 0x6db9c020, 0x30c92: 0x6db9c220, 0x30c93: 0x6db9c420,\n\t0x30c94: 0x6db9c620, 0x30c95: 0x6db9c820, 0x30c96: 0x6db9ca20, 0x30c97: 0x6db9cc20,\n\t0x30c98: 0x6db9ce20, 0x30c99: 0x6db9d020, 0x30c9a: 0x6db9d220, 0x30c9b: 0x6db9d420,\n\t0x30c9c: 0x6db9d620, 0x30c9d: 0x6db9d820, 0x30c9e: 0x6db9da20, 0x30c9f: 0x6db9dc20,\n\t0x30ca0: 0x6db9de20, 0x30ca1: 0x6db9e020, 0x30ca2: 0x6db9e220, 0x30ca3: 0x6db9e420,\n\t0x30ca4: 0x6db9e620, 0x30ca5: 0x6db9e820, 0x30ca6: 0x6db9ea20, 0x30ca7: 0x6db9ec20,\n\t0x30ca8: 0x6db9ee20, 0x30ca9: 0x6db9f020, 0x30caa: 0x6db9f220, 0x30cab: 0x6db9f420,\n\t0x30cac: 0x6db9f620, 0x30cad: 0x6db9f820, 0x30cae: 0x6db9fa20, 0x30caf: 0x6db9fc20,\n\t0x30cb0: 0x6db9fe20, 0x30cb1: 0x6dba0020, 0x30cb2: 0x6dba0220, 0x30cb3: 0x6dba0420,\n\t0x30cb4: 0x6dba0620, 0x30cb5: 0x6dba0820, 0x30cb6: 0x6dba0a20, 0x30cb7: 0x6dba0c20,\n\t0x30cb8: 0x6dba0e20, 0x30cb9: 0x6dba1020, 0x30cba: 0x6d97ec20, 0x30cbb: 0x6dba1220,\n\t0x30cbc: 0x6dba1420, 0x30cbd: 0x6dba1620, 0x30cbe: 0x6dba1820, 0x30cbf: 0x6dba1a20,\n\t// Block 0xc33, offset 0x30cc0\n\t0x30cc0: 0x6dba1c20, 0x30cc1: 0x6dba1e20, 0x30cc2: 0x6dba2020, 0x30cc3: 0x6dba2220,\n\t0x30cc4: 0x6dba2420, 0x30cc5: 0x6dba2620, 0x30cc6: 0x6dba2820, 0x30cc7: 0x6dba2a20,\n\t0x30cc8: 0x6dd7ee20, 0x30cc9: 0x6dd7f020, 0x30cca: 0x6dd7f220, 0x30ccb: 0x6dd7f420,\n\t0x30ccc: 0x6dd7f620, 0x30ccd: 0x6dd7f820, 0x30cce: 0x6dd7fa20, 0x30ccf: 0x6dd7fc20,\n\t0x30cd0: 0x6dd7fe20, 0x30cd1: 0x6dd80020, 0x30cd2: 0x6dd80220, 0x30cd3: 0x6dd80420,\n\t0x30cd4: 0x6dd80620, 0x30cd5: 0x6dd80820, 0x30cd6: 0x6dd80a20, 0x30cd7: 0x6dd80c20,\n\t0x30cd8: 0x6dd80e20, 0x30cd9: 0x6dd81020, 0x30cda: 0x6dd81220, 0x30cdb: 0x6dd81420,\n\t0x30cdc: 0x6dd81620, 0x30cdd: 0x6dd81820, 0x30cde: 0x6dd81a20, 0x30cdf: 0x6dd81c20,\n\t0x30ce0: 0x6dd81e20, 0x30ce1: 0x6dbaec20, 0x30ce2: 0x6dd82020, 0x30ce3: 0x6dd82220,\n\t0x30ce4: 0x6dd82420, 0x30ce5: 0x6dd82620, 0x30ce6: 0x6dd82820, 0x30ce7: 0x6dd82a20,\n\t0x30ce8: 0x6dd82c20, 0x30ce9: 0x6df06e20, 0x30cea: 0x6dd82e20, 0x30ceb: 0x6dd83020,\n\t0x30cec: 0x6dd83220, 0x30ced: 0x6dd83420, 0x30cee: 0x6dd83620, 0x30cef: 0x6dbaee20,\n\t0x30cf0: 0x6dd83820, 0x30cf1: 0x6dd83a20, 0x30cf2: 0x6dd83c20, 0x30cf3: 0x6dd83e20,\n\t0x30cf4: 0x6dd84020, 0x30cf5: 0x6dd84220, 0x30cf6: 0x6dd84420, 0x30cf7: 0x6dd84620,\n\t0x30cf8: 0x6dd84820, 0x30cf9: 0x6dd84a20, 0x30cfa: 0x6dd84c20, 0x30cfb: 0x6dd84e20,\n\t0x30cfc: 0x6dd85020, 0x30cfd: 0x6dd85220, 0x30cfe: 0x6dd85420, 0x30cff: 0x6dd85620,\n\t// Block 0xc34, offset 0x30d00\n\t0x30d00: 0x6df07020, 0x30d01: 0x6df07220, 0x30d02: 0x6df07420, 0x30d03: 0x6df07620,\n\t0x30d04: 0x6df07820, 0x30d05: 0x6df07a20, 0x30d06: 0x6df07c20, 0x30d07: 0x6df07e20,\n\t0x30d08: 0x6df08020, 0x30d09: 0x6df08220, 0x30d0a: 0x6df08420, 0x30d0b: 0x6df08620,\n\t0x30d0c: 0x6df08820, 0x30d0d: 0x6df08a20, 0x30d0e: 0x6df08c20, 0x30d0f: 0x6df08e20,\n\t0x30d10: 0x6df09020, 0x30d11: 0x6df09220, 0x30d12: 0x6df09420, 0x30d13: 0x6df09620,\n\t0x30d14: 0x6df09820, 0x30d15: 0x6df09a20, 0x30d16: 0x6df09c20, 0x30d17: 0x6df09e20,\n\t0x30d18: 0x6df0a020, 0x30d19: 0x6df0a220, 0x30d1a: 0x6df0a420, 0x30d1b: 0x6df0a620,\n\t0x30d1c: 0x6df0a820, 0x30d1d: 0x6df0aa20, 0x30d1e: 0x6df0ac20, 0x30d1f: 0x6df0ae20,\n\t0x30d20: 0x6df0b020, 0x30d21: 0x6df0b220, 0x30d22: 0x6df0b420, 0x30d23: 0x6df0b620,\n\t0x30d24: 0x6df0b820, 0x30d25: 0x6df0ba20, 0x30d26: 0x6df0bc20, 0x30d27: 0x6df0be20,\n\t0x30d28: 0x6df0c020, 0x30d29: 0x6df0c220, 0x30d2a: 0x6df0c420, 0x30d2b: 0x6df0c620,\n\t0x30d2c: 0x6df0c820, 0x30d2d: 0x6df0ca20, 0x30d2e: 0x6df0cc20, 0x30d2f: 0x6df0ce20,\n\t0x30d30: 0x6df0d020, 0x30d31: 0x6df0d220, 0x30d32: 0x6df0d420, 0x30d33: 0x6e047c20,\n\t0x30d34: 0x6e159420, 0x30d35: 0x6e047e20, 0x30d36: 0x6e048020, 0x30d37: 0x6e048220,\n\t0x30d38: 0x6e048420, 0x30d39: 0x6df0d620, 0x30d3a: 0x6e048620, 0x30d3b: 0x6e048820,\n\t0x30d3c: 0x6e048a20, 0x30d3d: 0x6e048c20, 0x30d3e: 0x6e048e20, 0x30d3f: 0x6e049020,\n\t// Block 0xc35, offset 0x30d40\n\t0x30d40: 0x6e049220, 0x30d41: 0x6e049420, 0x30d42: 0x6e049620, 0x30d43: 0x6e049820,\n\t0x30d44: 0x6e049a20, 0x30d45: 0x6e049c20, 0x30d46: 0x6e049e20, 0x30d47: 0x6e04a020,\n\t0x30d48: 0x6e04a220, 0x30d49: 0x6e04a420, 0x30d4a: 0x6e04a620, 0x30d4b: 0x6e04a820,\n\t0x30d4c: 0x6e04aa20, 0x30d4d: 0x6e04ac20, 0x30d4e: 0x6e04ae20, 0x30d4f: 0x6e04b020,\n\t0x30d50: 0x6e04b220, 0x30d51: 0x6e04b420, 0x30d52: 0x6e04b620, 0x30d53: 0x6e04b820,\n\t0x30d54: 0x6e04ba20, 0x30d55: 0x6e04bc20, 0x30d56: 0x6e04be20, 0x30d57: 0x6e04c020,\n\t0x30d58: 0x6e04c220, 0x30d59: 0x6e04c420, 0x30d5a: 0x6e04c620, 0x30d5b: 0x6e04c820,\n\t0x30d5c: 0x6e04ca20, 0x30d5d: 0x6e04cc20, 0x30d5e: 0x6e04ce20, 0x30d5f: 0x6e04d020,\n\t0x30d60: 0x6e04d220, 0x30d61: 0x6e04d420, 0x30d62: 0x6e04d620, 0x30d63: 0x6e04d820,\n\t0x30d64: 0x6e04da20, 0x30d65: 0x6e04dc20, 0x30d66: 0x6e04de20, 0x30d67: 0x6e04e020,\n\t0x30d68: 0x6e04e220, 0x30d69: 0x6e159620, 0x30d6a: 0x6e159820, 0x30d6b: 0x6e159a20,\n\t0x30d6c: 0x6e159c20, 0x30d6d: 0x6e159e20, 0x30d6e: 0x6e15a020, 0x30d6f: 0x6e058820,\n\t0x30d70: 0x6e15a220, 0x30d71: 0x6e15a420, 0x30d72: 0x6e15a620, 0x30d73: 0x6e15a820,\n\t0x30d74: 0x6e15aa20, 0x30d75: 0x6e15ac20, 0x30d76: 0x6e15ae20, 0x30d77: 0x6e15b020,\n\t0x30d78: 0x6e15b220, 0x30d79: 0x6e15b420, 0x30d7a: 0x6e15b620, 0x30d7b: 0x6e15b820,\n\t0x30d7c: 0x6e058a20, 0x30d7d: 0x6e15ba20, 0x30d7e: 0x6e15bc20, 0x30d7f: 0x6e15be20,\n\t// Block 0xc36, offset 0x30d80\n\t0x30d80: 0x6e15c020, 0x30d81: 0x6e15c220, 0x30d82: 0x6e231620, 0x30d83: 0x6e231820,\n\t0x30d84: 0x6e231a20, 0x30d85: 0x6e231c20, 0x30d86: 0x6e231e20, 0x30d87: 0x6e232020,\n\t0x30d88: 0x6e232220, 0x30d89: 0x6e232420, 0x30d8a: 0x6e232620, 0x30d8b: 0x6e232820,\n\t0x30d8c: 0x6e232a20, 0x30d8d: 0x6e232c20, 0x30d8e: 0x6e232e20, 0x30d8f: 0x6e233020,\n\t0x30d90: 0x6e233220, 0x30d91: 0x6e233420, 0x30d92: 0x6e233620, 0x30d93: 0x6e233820,\n\t0x30d94: 0x6e233a20, 0x30d95: 0x6e2d4620, 0x30d96: 0x6e2d4820, 0x30d97: 0x6e2d4a20,\n\t0x30d98: 0x6e2d4c20, 0x30d99: 0x6e2d4e20, 0x30d9a: 0x6e2d5020, 0x30d9b: 0x6e2d5220,\n\t0x30d9c: 0x6e2d5420, 0x30d9d: 0x6e2d5620, 0x30d9e: 0x6e2d5820, 0x30d9f: 0x6e2d5a20,\n\t0x30da0: 0x6e2d5c20, 0x30da1: 0x6e2d5e20, 0x30da2: 0x6e2d6020, 0x30da3: 0x6e2d6220,\n\t0x30da4: 0x6e2d6420, 0x30da5: 0x6e2d6620, 0x30da6: 0x6e2d6820, 0x30da7: 0x6e233c20,\n\t0x30da8: 0x6e351c20, 0x30da9: 0x6e351e20, 0x30daa: 0x6e352020, 0x30dab: 0x6e352220,\n\t0x30dac: 0x6e352420, 0x30dad: 0x6e3ab420, 0x30dae: 0x6e3ab620, 0x30daf: 0x6e3ab820,\n\t0x30db0: 0x6e3aba20, 0x30db1: 0x6e3abc20, 0x30db2: 0x6e3abe20, 0x30db3: 0x6e3ac020,\n\t0x30db4: 0x6e3e7620, 0x30db5: 0x6e3e7820, 0x30db6: 0x6e3e7a20, 0x30db7: 0x6e3e7c20,\n\t0x30db8: 0x6e3e7e20, 0x30db9: 0x6e3e8020, 0x30dba: 0x6e3e8220, 0x30dbb: 0x6e414020,\n\t0x30dbc: 0x6e414220, 0x30dbd: 0x6e414420, 0x30dbe: 0x6e414620, 0x30dbf: 0x6e434020,\n\t// Block 0xc37, offset 0x30dc0\n\t0x30dc0: 0x6e434220, 0x30dc1: 0x6e434420, 0x30dc2: 0x6e434620, 0x30dc3: 0x6e449420,\n\t0x30dc4: 0x6e449620, 0x30dc5: 0x6c0aaa20, 0x30dc6: 0x6c158c20, 0x30dc7: 0x6c158e20,\n\t0x30dc8: 0x6c27f220, 0x30dc9: 0x6c27f420, 0x30dca: 0x6c27f620, 0x30dcb: 0x6c27f820,\n\t0x30dcc: 0x6c27fa20, 0x30dcd: 0x6c41e020, 0x30dce: 0x6c41e220, 0x30dcf: 0x6c41e420,\n\t0x30dd0: 0x6c41e620, 0x30dd1: 0x6c41e820, 0x30dd2: 0x6c41ea20, 0x30dd3: 0x6c41ec20,\n\t0x30dd4: 0x6c41ee20, 0x30dd5: 0x6c41f020, 0x30dd6: 0x6c41f220, 0x30dd7: 0x6c41f420,\n\t0x30dd8: 0x6c626620, 0x30dd9: 0x6c626820, 0x30dda: 0x6c626a20, 0x30ddb: 0x6c626c20,\n\t0x30ddc: 0x6c626e20, 0x30ddd: 0x6c627020, 0x30dde: 0x6c627220, 0x30ddf: 0x6c627420,\n\t0x30de0: 0x6c627620, 0x30de1: 0x6c627820, 0x30de2: 0x6c627a20, 0x30de3: 0x6c627c20,\n\t0x30de4: 0x6c627e20, 0x30de5: 0x6c628020, 0x30de6: 0x6c628220, 0x30de7: 0x6c628420,\n\t0x30de8: 0x6c628620, 0x30de9: 0x6c628820, 0x30dea: 0x6c628a20, 0x30deb: 0x6c628c20,\n\t0x30dec: 0x6c628e20, 0x30ded: 0x6c629020, 0x30dee: 0x6c629220, 0x30def: 0x6c629420,\n\t0x30df0: 0x6c893420, 0x30df1: 0x6c893620, 0x30df2: 0x6c893820, 0x30df3: 0x6c893a20,\n\t0x30df4: 0x6c893c20, 0x30df5: 0x6c893e20, 0x30df6: 0x6c894020, 0x30df7: 0x6c894220,\n\t0x30df8: 0x6c894420, 0x30df9: 0x6c894620, 0x30dfa: 0x6c894820, 0x30dfb: 0x6c894a20,\n\t0x30dfc: 0x6c894c20, 0x30dfd: 0x6c894e20, 0x30dfe: 0x6c895020, 0x30dff: 0x6c895220,\n\t// Block 0xc38, offset 0x30e00\n\t0x30e00: 0x6c895420, 0x30e01: 0x6c895620, 0x30e02: 0x6c895820, 0x30e03: 0x6c895a20,\n\t0x30e04: 0x6c895c20, 0x30e05: 0x6c895e20, 0x30e06: 0x6c896020, 0x30e07: 0x6c896220,\n\t0x30e08: 0x6c896420, 0x30e09: 0x6c896620, 0x30e0a: 0x6c896820, 0x30e0b: 0x6c896a20,\n\t0x30e0c: 0x6c896c20, 0x30e0d: 0x6c896e20, 0x30e0e: 0x6c897020, 0x30e0f: 0x6cb52220,\n\t0x30e10: 0x6cb52420, 0x30e11: 0x6cb52620, 0x30e12: 0x6cb52820, 0x30e13: 0x6cb52a20,\n\t0x30e14: 0x6cb52c20, 0x30e15: 0x6cb52e20, 0x30e16: 0x6cb53020, 0x30e17: 0x6cb53220,\n\t0x30e18: 0x6cb53420, 0x30e19: 0x6cb53620, 0x30e1a: 0x6cb53820, 0x30e1b: 0x6cb53a20,\n\t0x30e1c: 0x6cb53c20, 0x30e1d: 0x6cb53e20, 0x30e1e: 0x6cb54020, 0x30e1f: 0x6cb54220,\n\t0x30e20: 0x6cb54420, 0x30e21: 0x6cb54620, 0x30e22: 0x6cb54820, 0x30e23: 0x6cb54a20,\n\t0x30e24: 0x6cb54c20, 0x30e25: 0x6cb54e20, 0x30e26: 0x6cb55020, 0x30e27: 0x6cb55220,\n\t0x30e28: 0x6cb55420, 0x30e29: 0x6cb55620, 0x30e2a: 0x6cb55820, 0x30e2b: 0x6cb55a20,\n\t0x30e2c: 0x6cb55c20, 0x30e2d: 0x6cb55e20, 0x30e2e: 0x6cb56020, 0x30e2f: 0x6cb56220,\n\t0x30e30: 0x6cb56420, 0x30e31: 0x6cb56620, 0x30e32: 0x6cb56820, 0x30e33: 0x6cb56a20,\n\t0x30e34: 0x6cb56c20, 0x30e35: 0x6cb56e20, 0x30e36: 0x6cb57020, 0x30e37: 0x6cb57220,\n\t0x30e38: 0x6ce52a20, 0x30e39: 0x6ce52c20, 0x30e3a: 0x6ce52e20, 0x30e3b: 0x6ce53020,\n\t0x30e3c: 0x6ce53220, 0x30e3d: 0x6ce53420, 0x30e3e: 0x6ce53620, 0x30e3f: 0x6ce53820,\n\t// Block 0xc39, offset 0x30e40\n\t0x30e40: 0x6ce53a20, 0x30e41: 0x6ce53c20, 0x30e42: 0x6ce53e20, 0x30e43: 0x6ce54020,\n\t0x30e44: 0x6ce54220, 0x30e45: 0x6ce54420, 0x30e46: 0x6ce54620, 0x30e47: 0x6ce54820,\n\t0x30e48: 0x6ce54a20, 0x30e49: 0x6ce54c20, 0x30e4a: 0x6ce54e20, 0x30e4b: 0x6ce55020,\n\t0x30e4c: 0x6ce55220, 0x30e4d: 0x6ce55420, 0x30e4e: 0x6ce55620, 0x30e4f: 0x6ce55820,\n\t0x30e50: 0x6ce55a20, 0x30e51: 0x6ce55c20, 0x30e52: 0x6ce55e20, 0x30e53: 0x6ce56020,\n\t0x30e54: 0x6ce56220, 0x30e55: 0x6ce56420, 0x30e56: 0x6d13a420, 0x30e57: 0x6d13a620,\n\t0x30e58: 0x6d13a820, 0x30e59: 0x6d13aa20, 0x30e5a: 0x6d13ac20, 0x30e5b: 0x6d13ae20,\n\t0x30e5c: 0x6d13b020, 0x30e5d: 0x6d13b220, 0x30e5e: 0x6d13b420, 0x30e5f: 0x6d13b620,\n\t0x30e60: 0x6d13b820, 0x30e61: 0x6d13ba20, 0x30e62: 0x6d13bc20, 0x30e63: 0x6d13be20,\n\t0x30e64: 0x6d13c020, 0x30e65: 0x6d13c220, 0x30e66: 0x6d13c420, 0x30e67: 0x6d13c620,\n\t0x30e68: 0x6d13c820, 0x30e69: 0x6d13ca20, 0x30e6a: 0x6d13cc20, 0x30e6b: 0x6d13ce20,\n\t0x30e6c: 0x6d13d020, 0x30e6d: 0x6d13d220, 0x30e6e: 0x6d13d420, 0x30e6f: 0x6d13d620,\n\t0x30e70: 0x6d13d820, 0x30e71: 0x6d13da20, 0x30e72: 0x6d41c420, 0x30e73: 0x6d41c620,\n\t0x30e74: 0x6d41c820, 0x30e75: 0x6d41ca20, 0x30e76: 0x6d41cc20, 0x30e77: 0x6d41ce20,\n\t0x30e78: 0x6d41d020, 0x30e79: 0x6d41d220, 0x30e7a: 0x6d41d420, 0x30e7b: 0x6d41d620,\n\t0x30e7c: 0x6d41d820, 0x30e7d: 0x6d41da20, 0x30e7e: 0x6d41dc20, 0x30e7f: 0x6d41de20,\n\t// Block 0xc3a, offset 0x30e80\n\t0x30e80: 0x6d41e020, 0x30e81: 0x6d41e220, 0x30e82: 0x6d41e420, 0x30e83: 0x6d41e620,\n\t0x30e84: 0x6d41e820, 0x30e85: 0x6d41ea20, 0x30e86: 0x6d6ed220, 0x30e87: 0x6d6ed420,\n\t0x30e88: 0x6d6ed620, 0x30e89: 0x6d6ed820, 0x30e8a: 0x6d6eda20, 0x30e8b: 0x6d6edc20,\n\t0x30e8c: 0x6d6ede20, 0x30e8d: 0x6d6ee020, 0x30e8e: 0x6d6ee220, 0x30e8f: 0x6d6ee420,\n\t0x30e90: 0x6d6ee620, 0x30e91: 0x6d6ee820, 0x30e92: 0x6d6eea20, 0x30e93: 0x6d6eec20,\n\t0x30e94: 0x6d6eee20, 0x30e95: 0x6d6ef020, 0x30e96: 0x6d97ee20, 0x30e97: 0x6d97f020,\n\t0x30e98: 0x6d97f220, 0x30e99: 0x6d97f420, 0x30e9a: 0x6d97f620, 0x30e9b: 0x6d97f820,\n\t0x30e9c: 0x6d97fa20, 0x30e9d: 0x6d97fc20, 0x30e9e: 0x6d97fe20, 0x30e9f: 0x6d980020,\n\t0x30ea0: 0x6d980220, 0x30ea1: 0x6dbaf020, 0x30ea2: 0x6dbaf220, 0x30ea3: 0x6dbaf420,\n\t0x30ea4: 0x6dbaf620, 0x30ea5: 0x6dbaf820, 0x30ea6: 0x6dbafa20, 0x30ea7: 0x6dbafc20,\n\t0x30ea8: 0x6dbafe20, 0x30ea9: 0x6dbb0020, 0x30eaa: 0x6dbb0220, 0x30eab: 0x6dbb0420,\n\t0x30eac: 0x6dd8fc20, 0x30ead: 0x6dd8fe20, 0x30eae: 0x6dd90020, 0x30eaf: 0x6dd90220,\n\t0x30eb0: 0x6dd90420, 0x30eb1: 0x6dd90620, 0x30eb2: 0x6df15e20, 0x30eb3: 0x6e059220,\n\t0x30eb4: 0x6e059420, 0x30eb5: 0x6e239420, 0x30eb6: 0x6e239620, 0x30eb7: 0x6c41fe20,\n\t0x30eb8: 0x6c420020, 0x30eb9: 0x6cb58a20, 0x30eba: 0x6cb58c20, 0x30ebb: 0x6ce57220,\n\t0x30ebc: 0x6d6f0020, 0x30ebd: 0x6df16620, 0x30ebe: 0x6e239820, 0x30ebf: 0x6c0aac20,\n\t// Block 0xc3b, offset 0x30ec0\n\t0x30ec0: 0x6c420220, 0x30ec1: 0x6c62ac20, 0x30ec2: 0x6c62ae20, 0x30ec3: 0x6c898420,\n\t0x30ec4: 0x6c898620, 0x30ec5: 0x6c898820, 0x30ec6: 0x6cb5aa20, 0x30ec7: 0x6cb5ac20,\n\t0x30ec8: 0x6cb5ae20, 0x30ec9: 0x6cb5b020, 0x30eca: 0x6cb5b220, 0x30ecb: 0x6ce59420,\n\t0x30ecc: 0x6ce59620, 0x30ecd: 0x6ce59820, 0x30ece: 0x6ce59a20, 0x30ecf: 0x6ce59c20,\n\t0x30ed0: 0x6ce59e20, 0x30ed1: 0x6ce5a020, 0x30ed2: 0x6ce5a220, 0x30ed3: 0x6ce5a420,\n\t0x30ed4: 0x6ce5a620, 0x30ed5: 0x6ce5a820, 0x30ed6: 0x6ce5aa20, 0x30ed7: 0x6ce5ac20,\n\t0x30ed8: 0x6d141e20, 0x30ed9: 0x6d142020, 0x30eda: 0x6d142220, 0x30edb: 0x6d142420,\n\t0x30edc: 0x6d142620, 0x30edd: 0x6d142820, 0x30ede: 0x6d142a20, 0x30edf: 0x6d142c20,\n\t0x30ee0: 0x6d142e20, 0x30ee1: 0x6d421a20, 0x30ee2: 0x6d421c20, 0x30ee3: 0x6d421e20,\n\t0x30ee4: 0x6d422020, 0x30ee5: 0x6d422220, 0x30ee6: 0x6d422420, 0x30ee7: 0x6d422620,\n\t0x30ee8: 0x6d422820, 0x30ee9: 0x6d422a20, 0x30eea: 0x6d422c20, 0x30eeb: 0x6d6f2420,\n\t0x30eec: 0x6d6f2620, 0x30eed: 0x6d6f2820, 0x30eee: 0x6d6f2a20, 0x30eef: 0x6d6f2c20,\n\t0x30ef0: 0x6d6f2e20, 0x30ef1: 0x6d6f3020, 0x30ef2: 0x6d6f3220, 0x30ef3: 0x6d6f3420,\n\t0x30ef4: 0x6d6f3620, 0x30ef5: 0x6d983620, 0x30ef6: 0x6d983820, 0x30ef7: 0x6dbb3420,\n\t0x30ef8: 0x6d983a20, 0x30ef9: 0x6d983c20, 0x30efa: 0x6d983e20, 0x30efb: 0x6d984020,\n\t0x30efc: 0x6d984220, 0x30efd: 0x6d984420, 0x30efe: 0x6d984620, 0x30eff: 0x6d984820,\n\t// Block 0xc3c, offset 0x30f00\n\t0x30f00: 0x6dbb2420, 0x30f01: 0x6d984a20, 0x30f02: 0x6d984c20, 0x30f03: 0x6dbb3620,\n\t0x30f04: 0x6dbb3820, 0x30f05: 0x6dbb3a20, 0x30f06: 0x6dbb3c20, 0x30f07: 0x6dbb3e20,\n\t0x30f08: 0x6dbb4020, 0x30f09: 0x6dbb4220, 0x30f0a: 0x6dbb4420, 0x30f0b: 0x6dbb4620,\n\t0x30f0c: 0x6dbb4820, 0x30f0d: 0x6d988e20, 0x30f0e: 0x6dbb4a20, 0x30f0f: 0x6dbb4c20,\n\t0x30f10: 0x6dd92020, 0x30f11: 0x6dd92220, 0x30f12: 0x6dd92420, 0x30f13: 0x6dd92620,\n\t0x30f14: 0x6dd92820, 0x30f15: 0x6dd92a20, 0x30f16: 0x6dd92c20, 0x30f17: 0x6dd92e20,\n\t0x30f18: 0x6dd93020, 0x30f19: 0x6df17620, 0x30f1a: 0x6df17820, 0x30f1b: 0x6df17a20,\n\t0x30f1c: 0x6df17c20, 0x30f1d: 0x6df17e20, 0x30f1e: 0x6e05a220, 0x30f1f: 0x6e05a420,\n\t0x30f20: 0x6e05a620, 0x30f21: 0x6e05a820, 0x30f22: 0x6e165c20, 0x30f23: 0x6e165e20,\n\t0x30f24: 0x6e166020, 0x30f25: 0x6e166220, 0x30f26: 0x6e166420, 0x30f27: 0x6e23a620,\n\t0x30f28: 0x6c020a20, 0x30f29: 0x6c052620, 0x30f2a: 0x6c0aae20, 0x30f2b: 0x6c159020,\n\t0x30f2c: 0x6c159220, 0x30f2d: 0x6c159420, 0x30f2e: 0x6c159620, 0x30f2f: 0x6c159820,\n\t0x30f30: 0x6c280420, 0x30f31: 0x6c280620, 0x30f32: 0x6c280820, 0x30f33: 0x6c280a20,\n\t0x30f34: 0x6c280c20, 0x30f35: 0x6c280e20, 0x30f36: 0x6c281020, 0x30f37: 0x6c281220,\n\t0x30f38: 0x6c420820, 0x30f39: 0x6c420a20, 0x30f3a: 0x6c62b420, 0x30f3b: 0x6c62b620,\n\t0x30f3c: 0x6c62b820, 0x30f3d: 0x6c62ba20, 0x30f3e: 0x6c62bc20, 0x30f3f: 0x6c62be20,\n\t// Block 0xc3d, offset 0x30f40\n\t0x30f40: 0x6c62c020, 0x30f41: 0x6c62c220, 0x30f42: 0x6c62c420, 0x30f43: 0x6c899620,\n\t0x30f44: 0x6c899820, 0x30f45: 0x6c899a20, 0x30f46: 0x6c899c20, 0x30f47: 0x6cb5c420,\n\t0x30f48: 0x6cb5c620, 0x30f49: 0x6cb5c820, 0x30f4a: 0x6cb5ca20, 0x30f4b: 0x6cb5cc20,\n\t0x30f4c: 0x6cb5ce20, 0x30f4d: 0x6cb5d020, 0x30f4e: 0x6cb5d220, 0x30f4f: 0x6cb5d420,\n\t0x30f50: 0x6cb5d620, 0x30f51: 0x6ce5ea20, 0x30f52: 0x6ce5ec20, 0x30f53: 0x6ce5ee20,\n\t0x30f54: 0x6ce5f020, 0x30f55: 0x6ce5f220, 0x30f56: 0x6d146e20, 0x30f57: 0x6d147020,\n\t0x30f58: 0x6d147220, 0x30f59: 0x6d147420, 0x30f5a: 0x6d426420, 0x30f5b: 0x6d989020,\n\t0x30f5c: 0x6c421020, 0x30f5d: 0x6c020c20, 0x30f5e: 0x6c0ab420, 0x30f5f: 0x6c0ab620,\n\t0x30f60: 0x6c15a420, 0x30f61: 0x6c15a620, 0x30f62: 0x6c15a820, 0x30f63: 0x6c15aa20,\n\t0x30f64: 0x6c15ac20, 0x30f65: 0x6c282620, 0x30f66: 0x6c282820, 0x30f67: 0x6c282a20,\n\t0x30f68: 0x6c282c20, 0x30f69: 0x6c282e20, 0x30f6a: 0x6c283020, 0x30f6b: 0x6c283220,\n\t0x30f6c: 0x6c283420, 0x30f6d: 0x6c283620, 0x30f6e: 0x6c283820, 0x30f6f: 0x6c283a20,\n\t0x30f70: 0x6c283c20, 0x30f71: 0x6c283e20, 0x30f72: 0x6c284020, 0x30f73: 0x6c284220,\n\t0x30f74: 0x6c284420, 0x30f75: 0x6c284620, 0x30f76: 0x6c284820, 0x30f77: 0x6c421820,\n\t0x30f78: 0x6c421a20, 0x30f79: 0x6c421c20, 0x30f7a: 0x6c421e20, 0x30f7b: 0x6c422020,\n\t0x30f7c: 0x6c422220, 0x30f7d: 0x6c422420, 0x30f7e: 0x6c422620, 0x30f7f: 0x6c422820,\n\t// Block 0xc3e, offset 0x30f80\n\t0x30f80: 0x6c422a20, 0x30f81: 0x6c422c20, 0x30f82: 0x6c422e20, 0x30f83: 0x6c423020,\n\t0x30f84: 0x6c423220, 0x30f85: 0x6c423420, 0x30f86: 0x6c423620, 0x30f87: 0x6c423820,\n\t0x30f88: 0x6c423a20, 0x30f89: 0x6c423c20, 0x30f8a: 0x6c62d620, 0x30f8b: 0x6c62d820,\n\t0x30f8c: 0x6c62da20, 0x30f8d: 0x6c62dc20, 0x30f8e: 0x6c62de20, 0x30f8f: 0x6c62e020,\n\t0x30f90: 0x6c62e220, 0x30f91: 0x6c62e420, 0x30f92: 0x6c62e620, 0x30f93: 0x6c62e820,\n\t0x30f94: 0x6c62ea20, 0x30f95: 0x6c62ec20, 0x30f96: 0x6c89b220, 0x30f97: 0x6c89b420,\n\t0x30f98: 0x6c89b620, 0x30f99: 0x6c89b820, 0x30f9a: 0x6c89d820, 0x30f9b: 0x6c89ba20,\n\t0x30f9c: 0x6c89bc20, 0x30f9d: 0x6c89be20, 0x30f9e: 0x6c89c020, 0x30f9f: 0x6c89c220,\n\t0x30fa0: 0x6c89c420, 0x30fa1: 0x6c89c620, 0x30fa2: 0x6c89c820, 0x30fa3: 0x6c89ca20,\n\t0x30fa4: 0x6c89cc20, 0x30fa5: 0x6c89ce20, 0x30fa6: 0x6c89d020, 0x30fa7: 0x6c89d220,\n\t0x30fa8: 0x6c89d420, 0x30fa9: 0x6c89d620, 0x30faa: 0x6cb5e820, 0x30fab: 0x6cb5ea20,\n\t0x30fac: 0x6cb5ec20, 0x30fad: 0x6cb5ee20, 0x30fae: 0x6cb5f020, 0x30faf: 0x6cb5f220,\n\t0x30fb0: 0x6cb5f420, 0x30fb1: 0x6cb5f620, 0x30fb2: 0x6ce5fa20, 0x30fb3: 0x6cb5f820,\n\t0x30fb4: 0x6cb5fa20, 0x30fb5: 0x6cb5fc20, 0x30fb6: 0x6cb5fe20, 0x30fb7: 0x6cb60020,\n\t0x30fb8: 0x6cb60220, 0x30fb9: 0x6cb60420, 0x30fba: 0x6cb60620, 0x30fbb: 0x6ce60220,\n\t0x30fbc: 0x6cb60820, 0x30fbd: 0x6ce60420, 0x30fbe: 0x6ce60620, 0x30fbf: 0x6ce60820,\n\t// Block 0xc3f, offset 0x30fc0\n\t0x30fc0: 0x6ce60a20, 0x30fc1: 0x6ce60c20, 0x30fc2: 0x6ce60e20, 0x30fc3: 0x6ce61020,\n\t0x30fc4: 0x6ce61220, 0x30fc5: 0x6ce61420, 0x30fc6: 0x6ce61620, 0x30fc7: 0x6ce61820,\n\t0x30fc8: 0x6ce61a20, 0x30fc9: 0x6ce61c20, 0x30fca: 0x6ce61e20, 0x30fcb: 0x6ce62020,\n\t0x30fcc: 0x6ce62220, 0x30fcd: 0x6ce62420, 0x30fce: 0x6ce62620, 0x30fcf: 0x6d147e20,\n\t0x30fd0: 0x6ce62820, 0x30fd1: 0x6d148c20, 0x30fd2: 0x6d148e20, 0x30fd3: 0x6d149020,\n\t0x30fd4: 0x6d149220, 0x30fd5: 0x6d149420, 0x30fd6: 0x6d149620, 0x30fd7: 0x6d149820,\n\t0x30fd8: 0x6d149a20, 0x30fd9: 0x6d426a20, 0x30fda: 0x6d427420, 0x30fdb: 0x6d427620,\n\t0x30fdc: 0x6d427820, 0x30fdd: 0x6d427a20, 0x30fde: 0x6d427c20, 0x30fdf: 0x6d427e20,\n\t0x30fe0: 0x6d428020, 0x30fe1: 0x6d428220, 0x30fe2: 0x6d6f9020, 0x30fe3: 0x6d6f9220,\n\t0x30fe4: 0x6d6f9420, 0x30fe5: 0x6d6f9620, 0x30fe6: 0x6d989820, 0x30fe7: 0x6d989a20,\n\t0x30fe8: 0x6d989c20, 0x30fe9: 0x6d989e20, 0x30fea: 0x6d98a020, 0x30feb: 0x6d98a220,\n\t0x30fec: 0x6dbb9220, 0x30fed: 0x6dbb9420, 0x30fee: 0x6dbb9620, 0x30fef: 0x6dbb9820,\n\t0x30ff0: 0x6dbb9a20, 0x30ff1: 0x6dbb9c20, 0x30ff2: 0x6dbb9e20, 0x30ff3: 0x6dd96a20,\n\t0x30ff4: 0x6df1a420, 0x30ff5: 0x6e05dc20, 0x30ff6: 0x6c427220, 0x30ff7: 0x6d98c020,\n\t0x30ff8: 0x6dbbb220, 0x30ff9: 0x6c427420, 0x30ffa: 0x6c8a3220, 0x30ffb: 0x6c8a3420,\n\t0x30ffc: 0x6c8a3620, 0x30ffd: 0x6c8a3820, 0x30ffe: 0x6c8a3a20, 0x30fff: 0x6cb66420,\n\t// Block 0xc40, offset 0x31000\n\t0x31000: 0x6cb66620, 0x31001: 0x6ce69020, 0x31002: 0x6ce69220, 0x31003: 0x6ce69420,\n\t0x31004: 0x6ce69620, 0x31005: 0x6ce69820, 0x31006: 0x6ce69a20, 0x31007: 0x6ce69c20,\n\t0x31008: 0x6ce69e20, 0x31009: 0x6d14e820, 0x3100a: 0x6d14ea20, 0x3100b: 0x6d14ec20,\n\t0x3100c: 0x6d42ce20, 0x3100d: 0x6d14ee20, 0x3100e: 0x6d14f020, 0x3100f: 0x6d14f220,\n\t0x31010: 0x6d42d220, 0x31011: 0x6d42d420, 0x31012: 0x6d42d620, 0x31013: 0x6d6fd020,\n\t0x31014: 0x6d98cc20, 0x31015: 0x6d98ce20, 0x31016: 0x6dbbba20, 0x31017: 0x6dd98c20,\n\t0x31018: 0x6dd98e20, 0x31019: 0x6dd99020, 0x3101a: 0x6dd99220, 0x3101b: 0x6dd99420,\n\t0x3101c: 0x6dd99620, 0x3101d: 0x6dd99820, 0x3101e: 0x6dd99a20, 0x3101f: 0x6dd99c20,\n\t0x31020: 0x6dd99e20, 0x31021: 0x6df1b020, 0x31022: 0x6dd9bc20, 0x31023: 0x6df1b220,\n\t0x31024: 0x6e169620, 0x31025: 0x6e358020, 0x31026: 0x6e358220, 0x31027: 0x6e435c20,\n\t0x31028: 0x6c427820, 0x31029: 0x6cb67e20, 0x3102a: 0x6cb68020, 0x3102b: 0x6cb68220,\n\t0x3102c: 0x6ce6c220, 0x3102d: 0x6ce6c420, 0x3102e: 0x6ce6c620, 0x3102f: 0x6ce6c820,\n\t0x31030: 0x6ce6ca20, 0x31031: 0x6ce6cc20, 0x31032: 0x6ce6ce20, 0x31033: 0x6ce6d020,\n\t0x31034: 0x6d151a20, 0x31035: 0x6d151c20, 0x31036: 0x6d151e20, 0x31037: 0x6d152020,\n\t0x31038: 0x6d152220, 0x31039: 0x6d152420, 0x3103a: 0x6d152620, 0x3103b: 0x6d152820,\n\t0x3103c: 0x6d152a20, 0x3103d: 0x6d152c20, 0x3103e: 0x6d152e20, 0x3103f: 0x6d431c20,\n\t// Block 0xc41, offset 0x31040\n\t0x31040: 0x6d431e20, 0x31041: 0x6d432020, 0x31042: 0x6d700220, 0x31043: 0x6d700420,\n\t0x31044: 0x6d700620, 0x31045: 0x6d700820, 0x31046: 0x6d700a20, 0x31047: 0x6d700c20,\n\t0x31048: 0x6d700e20, 0x31049: 0x6d701020, 0x3104a: 0x6d701220, 0x3104b: 0x6d991620,\n\t0x3104c: 0x6d991820, 0x3104d: 0x6d991a20, 0x3104e: 0x6d991c20, 0x3104f: 0x6d991e20,\n\t0x31050: 0x6d992020, 0x31051: 0x6d992220, 0x31052: 0x6d992420, 0x31053: 0x6d992620,\n\t0x31054: 0x6d992820, 0x31055: 0x6d992a20, 0x31056: 0x6d992c20, 0x31057: 0x6d992e20,\n\t0x31058: 0x6dbbfa20, 0x31059: 0x6dbbfc20, 0x3105a: 0x6dbbfe20, 0x3105b: 0x6dbc0020,\n\t0x3105c: 0x6dbc0220, 0x3105d: 0x6dbc0420, 0x3105e: 0x6dbc0620, 0x3105f: 0x6dbc0820,\n\t0x31060: 0x6dbc0a20, 0x31061: 0x6dbc5220, 0x31062: 0x6dd9ca20, 0x31063: 0x6dd9cc20,\n\t0x31064: 0x6dd9ce20, 0x31065: 0x6dd9d020, 0x31066: 0x6df1de20, 0x31067: 0x6df1e020,\n\t0x31068: 0x6df1e220, 0x31069: 0x6df1e420, 0x3106a: 0x6df1e620, 0x3106b: 0x6df1e820,\n\t0x3106c: 0x6df1ea20, 0x3106d: 0x6df1ec20, 0x3106e: 0x6e061e20, 0x3106f: 0x6e062020,\n\t0x31070: 0x6e062220, 0x31071: 0x6e062420, 0x31072: 0x6e16b020, 0x31073: 0x6e062620,\n\t0x31074: 0x6e062820, 0x31075: 0x6e16b220, 0x31076: 0x6e16b420, 0x31077: 0x6e16b620,\n\t0x31078: 0x6e16b820, 0x31079: 0x6e16ba20, 0x3107a: 0x6e16bc20, 0x3107b: 0x6e16be20,\n\t0x3107c: 0x6e23d820, 0x3107d: 0x6e23da20, 0x3107e: 0x6e23dc20, 0x3107f: 0x6e23de20,\n\t// Block 0xc42, offset 0x31080\n\t0x31080: 0x6e23e020, 0x31081: 0x6e2dea20, 0x31082: 0x6e359020, 0x31083: 0x6e359220,\n\t0x31084: 0x6e359420, 0x31085: 0x6e359620, 0x31086: 0x6e359820, 0x31087: 0x6e359a20,\n\t0x31088: 0x6e359c20, 0x31089: 0x6e3b0420, 0x3108a: 0x6e3ec220, 0x3108b: 0x6e416820,\n\t0x3108c: 0x6e416a20, 0x3108d: 0x6e416c20, 0x3108e: 0x6e416e20, 0x3108f: 0x6e44a620,\n\t0x31090: 0x6e472220, 0x31091: 0x6c427a20, 0x31092: 0x6c427c20, 0x31093: 0x6ce6f620,\n\t0x31094: 0x6ce6f820, 0x31095: 0x6d155420, 0x31096: 0x6d155620, 0x31097: 0x6d435020,\n\t0x31098: 0x6d435220, 0x31099: 0x6d435420, 0x3109a: 0x6d704e20, 0x3109b: 0x6d997a20,\n\t0x3109c: 0x6d997c20, 0x3109d: 0x6dda1c20, 0x3109e: 0x6c427e20, 0x3109f: 0x6ce70020,\n\t0x310a0: 0x6d705220, 0x310a1: 0x6df23a20, 0x310a2: 0x6c632e20, 0x310a3: 0x6c428020,\n\t0x310a4: 0x6d436220, 0x310a5: 0x6d705c20, 0x310a6: 0x6d998a20, 0x310a7: 0x6e16f420,\n\t0x310a8: 0x6e2dfe20, 0x310a9: 0x6c633220, 0x310aa: 0x6cb6a820, 0x310ab: 0x6ce71e20,\n\t0x310ac: 0x6ce72020, 0x310ad: 0x6ce72220, 0x310ae: 0x6ce72420, 0x310af: 0x6ce72620,\n\t0x310b0: 0x6ce72820, 0x310b1: 0x6ce72a20, 0x310b2: 0x6d158820, 0x310b3: 0x6d158a20,\n\t0x310b4: 0x6d158c20, 0x310b5: 0x6d158e20, 0x310b6: 0x6d159020, 0x310b7: 0x6d159220,\n\t0x310b8: 0x6d159420, 0x310b9: 0x6d159620, 0x310ba: 0x6d438a20, 0x310bb: 0x6d438c20,\n\t0x310bc: 0x6d438e20, 0x310bd: 0x6d439020, 0x310be: 0x6d439220, 0x310bf: 0x6d439420,\n\t// Block 0xc43, offset 0x310c0\n\t0x310c0: 0x6d439620, 0x310c1: 0x6d439820, 0x310c2: 0x6d439a20, 0x310c3: 0x6d439c20,\n\t0x310c4: 0x6d439e20, 0x310c5: 0x6d43a020, 0x310c6: 0x6d43a220, 0x310c7: 0x6d707420,\n\t0x310c8: 0x6d707620, 0x310c9: 0x6d707820, 0x310ca: 0x6d707a20, 0x310cb: 0x6d707c20,\n\t0x310cc: 0x6d707e20, 0x310cd: 0x6d708020, 0x310ce: 0x6d708220, 0x310cf: 0x6d708420,\n\t0x310d0: 0x6d708620, 0x310d1: 0x6d708820, 0x310d2: 0x6d708a20, 0x310d3: 0x6d99b220,\n\t0x310d4: 0x6d99b420, 0x310d5: 0x6d99b620, 0x310d6: 0x6d99b820, 0x310d7: 0x6d99ba20,\n\t0x310d8: 0x6d99bc20, 0x310d9: 0x6d99be20, 0x310da: 0x6dbc7420, 0x310db: 0x6dbc7620,\n\t0x310dc: 0x6dbc7820, 0x310dd: 0x6dbc7a20, 0x310de: 0x6dbc7c20, 0x310df: 0x6dbc7e20,\n\t0x310e0: 0x6dbc8020, 0x310e1: 0x6dbc8220, 0x310e2: 0x6dda3e20, 0x310e3: 0x6dda4020,\n\t0x310e4: 0x6dda4220, 0x310e5: 0x6dda4420, 0x310e6: 0x6dda4620, 0x310e7: 0x6dda4820,\n\t0x310e8: 0x6dda4a20, 0x310e9: 0x6dda4c20, 0x310ea: 0x6dda4e20, 0x310eb: 0x6dda5020,\n\t0x310ec: 0x6dda5220, 0x310ed: 0x6dda5420, 0x310ee: 0x6dda5620, 0x310ef: 0x6dda5820,\n\t0x310f0: 0x6dda5a20, 0x310f1: 0x6df24e20, 0x310f2: 0x6df25020, 0x310f3: 0x6df25220,\n\t0x310f4: 0x6df25420, 0x310f5: 0x6df25620, 0x310f6: 0x6df25820, 0x310f7: 0x6df25a20,\n\t0x310f8: 0x6e069020, 0x310f9: 0x6e069220, 0x310fa: 0x6e069420, 0x310fb: 0x6e069620,\n\t0x310fc: 0x6e171620, 0x310fd: 0x6e171820, 0x310fe: 0x6e171a20, 0x310ff: 0x6e171c20,\n\t// Block 0xc44, offset 0x31100\n\t0x31100: 0x6e241820, 0x31101: 0x6e241a20, 0x31102: 0x6e241c20, 0x31103: 0x6e241e20,\n\t0x31104: 0x6e2e0e20, 0x31105: 0x6e2e1020, 0x31106: 0x6e35bc20, 0x31107: 0x6e35be20,\n\t0x31108: 0x6e35c020, 0x31109: 0x6e3ee020, 0x3110a: 0x6e456e20, 0x3110b: 0x6c633420,\n\t0x3110c: 0x6ce73420, 0x3110d: 0x6d43e020, 0x3110e: 0x6d43e220, 0x3110f: 0x6d70c220,\n\t0x31110: 0x6d70c420, 0x31111: 0x6d70c620, 0x31112: 0x6d99ee20, 0x31113: 0x6dbcc620,\n\t0x31114: 0x6dbcc820, 0x31115: 0x6dbcca20, 0x31116: 0x6ddaaa20, 0x31117: 0x6ddaac20,\n\t0x31118: 0x6ddaae20, 0x31119: 0x6ddab020, 0x3111a: 0x6ddab220, 0x3111b: 0x6e06d420,\n\t0x3111c: 0x6df2a820, 0x3111d: 0x6df2aa20, 0x3111e: 0x6df2ac20, 0x3111f: 0x6df2ae20,\n\t0x31120: 0x6e06d620, 0x31121: 0x6e174220, 0x31122: 0x6e174420, 0x31123: 0x6e244820,\n\t0x31124: 0x6e35ce20, 0x31125: 0x6e35d020, 0x31126: 0x6c053420, 0x31127: 0x6c287c20,\n\t0x31128: 0x6c633620, 0x31129: 0x6ce73820, 0x3112a: 0x6d15d420, 0x3112b: 0x6d15d620,\n\t0x3112c: 0x6d43fc20, 0x3112d: 0x6c633c20, 0x3112e: 0x6d15e020, 0x3112f: 0x6d70e220,\n\t0x31130: 0x6d9a0420, 0x31131: 0x6dbcea20, 0x31132: 0x6df2c620, 0x31133: 0x6c633e20,\n\t0x31134: 0x6d15e820, 0x31135: 0x6d15ea20, 0x31136: 0x6d440420, 0x31137: 0x6d440620,\n\t0x31138: 0x6d9a0c20, 0x31139: 0x6ddacc20, 0x3113a: 0x6ddace20, 0x3113b: 0x6df2d020,\n\t0x3113c: 0x6df2d220, 0x3113d: 0x6e06f220, 0x3113e: 0x6e06f420, 0x3113f: 0x6e06f620,\n\t// Block 0xc45, offset 0x31140\n\t0x31140: 0x6e2e3c20, 0x31141: 0x6c634020, 0x31142: 0x6cb6b220, 0x31143: 0x6cb6b420,\n\t0x31144: 0x6cb6b620, 0x31145: 0x6ce74820, 0x31146: 0x6ce74a20, 0x31147: 0x6ce74c20,\n\t0x31148: 0x6ce74e20, 0x31149: 0x6d15f220, 0x3114a: 0x6d15fa20, 0x3114b: 0x6d15fc20,\n\t0x3114c: 0x6d15fe20, 0x3114d: 0x6d160020, 0x3114e: 0x6d160220, 0x3114f: 0x6d160420,\n\t0x31150: 0x6d160620, 0x31151: 0x6d160820, 0x31152: 0x6d160a20, 0x31153: 0x6d160c20,\n\t0x31154: 0x6d442620, 0x31155: 0x6d442820, 0x31156: 0x6d442a20, 0x31157: 0x6d442c20,\n\t0x31158: 0x6d442e20, 0x31159: 0x6d441220, 0x3115a: 0x6d443020, 0x3115b: 0x6d710020,\n\t0x3115c: 0x6d710220, 0x3115d: 0x6d710420, 0x3115e: 0x6d710620, 0x3115f: 0x6d710820,\n\t0x31160: 0x6d710a20, 0x31161: 0x6d710c20, 0x31162: 0x6d710e20, 0x31163: 0x6d711020,\n\t0x31164: 0x6d9a2a20, 0x31165: 0x6d9a2c20, 0x31166: 0x6d711220, 0x31167: 0x6d711420,\n\t0x31168: 0x6d711620, 0x31169: 0x6d711820, 0x3116a: 0x6d711a20, 0x3116b: 0x6d711c20,\n\t0x3116c: 0x6d711e20, 0x3116d: 0x6d9a2e20, 0x3116e: 0x6d9a3020, 0x3116f: 0x6d9a3220,\n\t0x31170: 0x6d9a3420, 0x31171: 0x6d9a3620, 0x31172: 0x6d9a3820, 0x31173: 0x6d9a3a20,\n\t0x31174: 0x6d9a3c20, 0x31175: 0x6d9a3e20, 0x31176: 0x6d9a4020, 0x31177: 0x6d9a4220,\n\t0x31178: 0x6d9a4420, 0x31179: 0x6d9a4620, 0x3117a: 0x6d9a4820, 0x3117b: 0x6d9a4a20,\n\t0x3117c: 0x6d9a4c20, 0x3117d: 0x6d9a4e20, 0x3117e: 0x6ddaf020, 0x3117f: 0x6ddada20,\n\t// Block 0xc46, offset 0x31180\n\t0x31180: 0x6dbd0c20, 0x31181: 0x6dbd0e20, 0x31182: 0x6dbd1020, 0x31183: 0x6dbd1220,\n\t0x31184: 0x6dbd1420, 0x31185: 0x6dbd1620, 0x31186: 0x6dbd1820, 0x31187: 0x6dbd1a20,\n\t0x31188: 0x6dbd1c20, 0x31189: 0x6dbd1e20, 0x3118a: 0x6dbd2020, 0x3118b: 0x6ddaf220,\n\t0x3118c: 0x6ddaf420, 0x3118d: 0x6ddaf620, 0x3118e: 0x6ddaf820, 0x3118f: 0x6ddafa20,\n\t0x31190: 0x6ddafc20, 0x31191: 0x6ddafe20, 0x31192: 0x6ddb0020, 0x31193: 0x6ddb0220,\n\t0x31194: 0x6ddb0420, 0x31195: 0x6ddb0620, 0x31196: 0x6df2f020, 0x31197: 0x6df2f220,\n\t0x31198: 0x6df2f420, 0x31199: 0x6df2f620, 0x3119a: 0x6df2f820, 0x3119b: 0x6df2fa20,\n\t0x3119c: 0x6df2fc20, 0x3119d: 0x6df2fe20, 0x3119e: 0x6df30020, 0x3119f: 0x6e070e20,\n\t0x311a0: 0x6e071020, 0x311a1: 0x6e071220, 0x311a2: 0x6e071420, 0x311a3: 0x6e071620,\n\t0x311a4: 0x6e177220, 0x311a5: 0x6e177420, 0x311a6: 0x6e177620, 0x311a7: 0x6e177820,\n\t0x311a8: 0x6e177a20, 0x311a9: 0x6e246e20, 0x311aa: 0x6e247020, 0x311ab: 0x6e247220,\n\t0x311ac: 0x6e2e4020, 0x311ad: 0x6e2e4220, 0x311ae: 0x6e2e4420, 0x311af: 0x6e2e4620,\n\t0x311b0: 0x6e35de20, 0x311b1: 0x6e3b3820, 0x311b2: 0x6e3b3a20, 0x311b3: 0x6e418220,\n\t0x311b4: 0x6e418420, 0x311b5: 0x6c15d220, 0x311b6: 0x6c428620, 0x311b7: 0x6c428820,\n\t0x311b8: 0x6c634420, 0x311b9: 0x6c634620, 0x311ba: 0x6c634820, 0x311bb: 0x6c634a20,\n\t0x311bc: 0x6c8a5220, 0x311bd: 0x6c8a5420, 0x311be: 0x6c8a5620, 0x311bf: 0x6c8a5820,\n\t// Block 0xc47, offset 0x311c0\n\t0x311c0: 0x6c8a5a20, 0x311c1: 0x6c8a5c20, 0x311c2: 0x6c8a5e20, 0x311c3: 0x6c8a6020,\n\t0x311c4: 0x6c8a6220, 0x311c5: 0x6cb6c020, 0x311c6: 0x6cb6c220, 0x311c7: 0x6cb6c420,\n\t0x311c8: 0x6cb6c620, 0x311c9: 0x6ce76220, 0x311ca: 0x6ce76420, 0x311cb: 0x6ce76620,\n\t0x311cc: 0x6ce76820, 0x311cd: 0x6ce76a20, 0x311ce: 0x6ce76c20, 0x311cf: 0x6ce76e20,\n\t0x311d0: 0x6d163e20, 0x311d1: 0x6d164020, 0x311d2: 0x6d164220, 0x311d3: 0x6d164420,\n\t0x311d4: 0x6d164620, 0x311d5: 0x6d164820, 0x311d6: 0x6d164a20, 0x311d7: 0x6d447220,\n\t0x311d8: 0x6d715e20, 0x311d9: 0x6d716020, 0x311da: 0x6d716220, 0x311db: 0x6d716420,\n\t0x311dc: 0x6d716620, 0x311dd: 0x6d716820, 0x311de: 0x6d9ab220, 0x311df: 0x6d9ab420,\n\t0x311e0: 0x6d9ab620, 0x311e1: 0x6d9ab820, 0x311e2: 0x6ddb3e20, 0x311e3: 0x6ddb4020,\n\t0x311e4: 0x6df33820, 0x311e5: 0x6e074820, 0x311e6: 0x6e17aa20, 0x311e7: 0x6e2e6c20,\n\t0x311e8: 0x6c634e20, 0x311e9: 0x6ce77a20, 0x311ea: 0x6ce77c20, 0x311eb: 0x6d165820,\n\t0x311ec: 0x6d165a20, 0x311ed: 0x6d448a20, 0x311ee: 0x6d448c20, 0x311ef: 0x6d448e20,\n\t0x311f0: 0x6d449020, 0x311f1: 0x6d449220, 0x311f2: 0x6d717020, 0x311f3: 0x6d717220,\n\t0x311f4: 0x6d9ac620, 0x311f5: 0x6d9ac820, 0x311f6: 0x6dbd7820, 0x311f7: 0x6dbd7a20,\n\t0x311f8: 0x6ddb5020, 0x311f9: 0x6ddb5220, 0x311fa: 0x6ddb5420, 0x311fb: 0x6df34220,\n\t0x311fc: 0x6df34420, 0x311fd: 0x6df34620, 0x311fe: 0x6df34820, 0x311ff: 0x6df34a20,\n\t// Block 0xc48, offset 0x31200\n\t0x31200: 0x6df34c20, 0x31201: 0x6e074e20, 0x31202: 0x6e075020, 0x31203: 0x6e075220,\n\t0x31204: 0x6e075420, 0x31205: 0x6e17b020, 0x31206: 0x6e17b220, 0x31207: 0x6e17b420,\n\t0x31208: 0x6e17b620, 0x31209: 0x6e17b820, 0x3120a: 0x6e17ba20, 0x3120b: 0x6e249020,\n\t0x3120c: 0x6e418c20, 0x3120d: 0x6e418e20, 0x3120e: 0x6c053620, 0x3120f: 0x6c287e20,\n\t0x31210: 0x6c635020, 0x31211: 0x6c635220, 0x31212: 0x6c635420, 0x31213: 0x6ce78e20,\n\t0x31214: 0x6d168020, 0x31215: 0x6d44b820, 0x31216: 0x6d44b620, 0x31217: 0x6d44ba20,\n\t0x31218: 0x6d719420, 0x31219: 0x6d9af420, 0x3121a: 0x6d9af620, 0x3121b: 0x6c635c20,\n\t0x3121c: 0x6e17dc20, 0x3121d: 0x6e419420, 0x3121e: 0x6c020e20, 0x3121f: 0x6c636220,\n\t0x31220: 0x6c636420, 0x31221: 0x6cb6d820, 0x31222: 0x6c8a6820, 0x31223: 0x6c8a6a20,\n\t0x31224: 0x6c8a6c20, 0x31225: 0x6cb6da20, 0x31226: 0x6cb6dc20, 0x31227: 0x6ce79e20,\n\t0x31228: 0x6ce7a020, 0x31229: 0x6ce7a220, 0x3122a: 0x6ce7a420, 0x3122b: 0x6ce7a620,\n\t0x3122c: 0x6d169420, 0x3122d: 0x6ce7a820, 0x3122e: 0x6d169620, 0x3122f: 0x6ce7aa20,\n\t0x31230: 0x6ce7ac20, 0x31231: 0x6d169820, 0x31232: 0x6ce7ae20, 0x31233: 0x6d169a20,\n\t0x31234: 0x6d169c20, 0x31235: 0x6d169e20, 0x31236: 0x6d16a020, 0x31237: 0x6d16a220,\n\t0x31238: 0x6d44d620, 0x31239: 0x6d16a420, 0x3123a: 0x6d71a620, 0x3123b: 0x6d16a620,\n\t0x3123c: 0x6d16a820, 0x3123d: 0x6d16aa20, 0x3123e: 0x6d16ac20, 0x3123f: 0x6d16ae20,\n\t// Block 0xc49, offset 0x31240\n\t0x31240: 0x6d44d820, 0x31241: 0x6d44da20, 0x31242: 0x6d44dc20, 0x31243: 0x6d44de20,\n\t0x31244: 0x6d44e020, 0x31245: 0x6d44e220, 0x31246: 0x6d44e420, 0x31247: 0x6d44e620,\n\t0x31248: 0x6d71a820, 0x31249: 0x6d44e820, 0x3124a: 0x6d71aa20, 0x3124b: 0x6d71ac20,\n\t0x3124c: 0x6d44ea20, 0x3124d: 0x6d71ae20, 0x3124e: 0x6d44ec20, 0x3124f: 0x6d44ee20,\n\t0x31250: 0x6d9b0820, 0x31251: 0x6d71b020, 0x31252: 0x6d71b220, 0x31253: 0x6d71b420,\n\t0x31254: 0x6d71b620, 0x31255: 0x6d71b820, 0x31256: 0x6d71ba20, 0x31257: 0x6d71bc20,\n\t0x31258: 0x6d71be20, 0x31259: 0x6d71c020, 0x3125a: 0x6d9b0c20, 0x3125b: 0x6d9b0e20,\n\t0x3125c: 0x6d9b1020, 0x3125d: 0x6d9b0a20, 0x3125e: 0x6d9b1220, 0x3125f: 0x6d9b1420,\n\t0x31260: 0x6d9b1620, 0x31261: 0x6d9b1820, 0x31262: 0x6d9b1a20, 0x31263: 0x6d9b1c20,\n\t0x31264: 0x6d9b1e20, 0x31265: 0x6dbdca20, 0x31266: 0x6d9b2020, 0x31267: 0x6d9b2220,\n\t0x31268: 0x6d9b2420, 0x31269: 0x6d9b2620, 0x3126a: 0x6dbdcc20, 0x3126b: 0x6dbdce20,\n\t0x3126c: 0x6dbdd020, 0x3126d: 0x6dbdd220, 0x3126e: 0x6ddb9a20, 0x3126f: 0x6dbdd420,\n\t0x31270: 0x6dbdd620, 0x31271: 0x6dbdd820, 0x31272: 0x6dbdda20, 0x31273: 0x6dbddc20,\n\t0x31274: 0x6d9b8c20, 0x31275: 0x6dbdde20, 0x31276: 0x6ddb9c20, 0x31277: 0x6dbde020,\n\t0x31278: 0x6ddb9e20, 0x31279: 0x6ddba020, 0x3127a: 0x6ddba220, 0x3127b: 0x6ddba420,\n\t0x3127c: 0x6ddba620, 0x3127d: 0x6ddba820, 0x3127e: 0x6ddbaa20, 0x3127f: 0x6ddbac20,\n\t// Block 0xc4a, offset 0x31280\n\t0x31280: 0x6ddbae20, 0x31281: 0x6ddbb020, 0x31282: 0x6dbe4420, 0x31283: 0x6df38820,\n\t0x31284: 0x6df38a20, 0x31285: 0x6df38c20, 0x31286: 0x6dbe4620, 0x31287: 0x6df38e20,\n\t0x31288: 0x6df39020, 0x31289: 0x6df39220, 0x3128a: 0x6e077420, 0x3128b: 0x6e077620,\n\t0x3128c: 0x6e077820, 0x3128d: 0x6e077a20, 0x3128e: 0x6e077c20, 0x3128f: 0x6e17ec20,\n\t0x31290: 0x6e077e20, 0x31291: 0x6e078020, 0x31292: 0x6e078220, 0x31293: 0x6e078420,\n\t0x31294: 0x6e24ae20, 0x31295: 0x6e24b020, 0x31296: 0x6e17ee20, 0x31297: 0x6e17f020,\n\t0x31298: 0x6e17f220, 0x31299: 0x6e07c220, 0x3129a: 0x6e24b220, 0x3129b: 0x6e24b420,\n\t0x3129c: 0x6e2e8220, 0x3129d: 0x6e360220, 0x3129e: 0x6e3b4c20, 0x3129f: 0x6e3b4e20,\n\t0x312a0: 0x6e419820, 0x312a1: 0x6e419a20, 0x312a2: 0x6e457220, 0x312a3: 0x6c021020,\n\t0x312a4: 0x6c0ac220, 0x312a5: 0x6c0ac420, 0x312a6: 0x6c15d420, 0x312a7: 0x6c15d620,\n\t0x312a8: 0x6c288020, 0x312a9: 0x6c288220, 0x312aa: 0x6c288420, 0x312ab: 0x6c288620,\n\t0x312ac: 0x6c288820, 0x312ad: 0x6c288a20, 0x312ae: 0x6c288c20, 0x312af: 0x6c429820,\n\t0x312b0: 0x6c429a20, 0x312b1: 0x6c429c20, 0x312b2: 0x6c429e20, 0x312b3: 0x6c42a020,\n\t0x312b4: 0x6c42a220, 0x312b5: 0x6c636820, 0x312b6: 0x6c636a20, 0x312b7: 0x6c636c20,\n\t0x312b8: 0x6c636e20, 0x312b9: 0x6c637020, 0x312ba: 0x6c637220, 0x312bb: 0x6c637420,\n\t0x312bc: 0x6c637620, 0x312bd: 0x6c8a7420, 0x312be: 0x6c8a7620, 0x312bf: 0x6c8a7820,\n\t// Block 0xc4b, offset 0x312c0\n\t0x312c0: 0x6c8a7a20, 0x312c1: 0x6c8a7c20, 0x312c2: 0x6c8a7e20, 0x312c3: 0x6cb6fa20,\n\t0x312c4: 0x6cb6fc20, 0x312c5: 0x6cb6fe20, 0x312c6: 0x6cb70020, 0x312c7: 0x6ce7d820,\n\t0x312c8: 0x6ce7da20, 0x312c9: 0x6d16f420, 0x312ca: 0x6ce7dc20, 0x312cb: 0x6ce7de20,\n\t0x312cc: 0x6d16f620, 0x312cd: 0x6d16f820, 0x312ce: 0x6d16fa20, 0x312cf: 0x6d16fc20,\n\t0x312d0: 0x6d16fe20, 0x312d1: 0x6d452020, 0x312d2: 0x6d452220, 0x312d3: 0x6d71fe20,\n\t0x312d4: 0x6d720020, 0x312d5: 0x6e3b5220, 0x312d6: 0x6c637e20, 0x312d7: 0x6cb70c20,\n\t0x312d8: 0x6dbe4820, 0x312d9: 0x6c638220, 0x312da: 0x6d170820, 0x312db: 0x6d453620,\n\t0x312dc: 0x6d453820, 0x312dd: 0x6d453a20, 0x312de: 0x6d9ba020, 0x312df: 0x6d9ba220,\n\t0x312e0: 0x6d9ba420, 0x312e1: 0x6dbe5620, 0x312e2: 0x6dbe5820, 0x312e3: 0x6dbe5a20,\n\t0x312e4: 0x6ddc0420, 0x312e5: 0x6ddc0620, 0x312e6: 0x6df3ec20, 0x312e7: 0x6df3ee20,\n\t0x312e8: 0x6e07ca20, 0x312e9: 0x6e182420, 0x312ea: 0x6e2e9a20, 0x312eb: 0x6e41a020,\n\t0x312ec: 0x6c8a8e20, 0x312ed: 0x6ce7f220, 0x312ee: 0x6ce7f420, 0x312ef: 0x6d171420,\n\t0x312f0: 0x6d171620, 0x312f1: 0x6d171820, 0x312f2: 0x6d171a20, 0x312f3: 0x6d171c20,\n\t0x312f4: 0x6d171e20, 0x312f5: 0x6d172020, 0x312f6: 0x6d455820, 0x312f7: 0x6d455a20,\n\t0x312f8: 0x6d455c20, 0x312f9: 0x6d455e20, 0x312fa: 0x6d456020, 0x312fb: 0x6d456220,\n\t0x312fc: 0x6d456420, 0x312fd: 0x6d456620, 0x312fe: 0x6d456820, 0x312ff: 0x6d456a20,\n\t// Block 0xc4c, offset 0x31300\n\t0x31300: 0x6d456c20, 0x31301: 0x6d456e20, 0x31302: 0x6d457020, 0x31303: 0x6d457220,\n\t0x31304: 0x6d457420, 0x31305: 0x6d457620, 0x31306: 0x6d457820, 0x31307: 0x6d457a20,\n\t0x31308: 0x6d723220, 0x31309: 0x6d723420, 0x3130a: 0x6d723620, 0x3130b: 0x6d723820,\n\t0x3130c: 0x6d723a20, 0x3130d: 0x6d723c20, 0x3130e: 0x6d723e20, 0x3130f: 0x6d724020,\n\t0x31310: 0x6d724220, 0x31311: 0x6d724420, 0x31312: 0x6d724620, 0x31313: 0x6d724820,\n\t0x31314: 0x6d724a20, 0x31315: 0x6d724c20, 0x31316: 0x6d724e20, 0x31317: 0x6d725020,\n\t0x31318: 0x6d725220, 0x31319: 0x6d725420, 0x3131a: 0x6d725620, 0x3131b: 0x6d725820,\n\t0x3131c: 0x6d725a20, 0x3131d: 0x6d725c20, 0x3131e: 0x6d725e20, 0x3131f: 0x6d726020,\n\t0x31320: 0x6d726220, 0x31321: 0x6d9bba20, 0x31322: 0x6d9bbc20, 0x31323: 0x6d9bbe20,\n\t0x31324: 0x6d9bc020, 0x31325: 0x6d9bc220, 0x31326: 0x6d9bc420, 0x31327: 0x6d9bc620,\n\t0x31328: 0x6d9bc820, 0x31329: 0x6d9bca20, 0x3132a: 0x6d9bcc20, 0x3132b: 0x6d9bce20,\n\t0x3132c: 0x6d9bd020, 0x3132d: 0x6d9bd220, 0x3132e: 0x6d9bd420, 0x3132f: 0x6d9bd620,\n\t0x31330: 0x6d9bd820, 0x31331: 0x6d9bda20, 0x31332: 0x6d9bdc20, 0x31333: 0x6dbec020,\n\t0x31334: 0x6dbe7020, 0x31335: 0x6dbe7220, 0x31336: 0x6dbe7420, 0x31337: 0x6dbe7620,\n\t0x31338: 0x6dbe7820, 0x31339: 0x6dbe7a20, 0x3133a: 0x6dbe7c20, 0x3133b: 0x6dbe7e20,\n\t0x3133c: 0x6dbe8020, 0x3133d: 0x6dbe8220, 0x3133e: 0x6dbe8420, 0x3133f: 0x6dbe8620,\n\t// Block 0xc4d, offset 0x31340\n\t0x31340: 0x6dbe8820, 0x31341: 0x6dbe8a20, 0x31342: 0x6dbe8c20, 0x31343: 0x6dbe8e20,\n\t0x31344: 0x6ddc2820, 0x31345: 0x6ddc2a20, 0x31346: 0x6ddc2c20, 0x31347: 0x6ddc2e20,\n\t0x31348: 0x6ddc3020, 0x31349: 0x6ddc3220, 0x3134a: 0x6ddc3420, 0x3134b: 0x6ddc3620,\n\t0x3134c: 0x6ddc3820, 0x3134d: 0x6ddc3a20, 0x3134e: 0x6ddc3c20, 0x3134f: 0x6ddc3e20,\n\t0x31350: 0x6ddc4020, 0x31351: 0x6ddc4220, 0x31352: 0x6ddc4420, 0x31353: 0x6ddc4620,\n\t0x31354: 0x6df40a20, 0x31355: 0x6df40c20, 0x31356: 0x6df40e20, 0x31357: 0x6df41020,\n\t0x31358: 0x6df41220, 0x31359: 0x6df41420, 0x3135a: 0x6df41620, 0x3135b: 0x6df41820,\n\t0x3135c: 0x6df41a20, 0x3135d: 0x6df41c20, 0x3135e: 0x6df41e20, 0x3135f: 0x6df42020,\n\t0x31360: 0x6df42220, 0x31361: 0x6df42420, 0x31362: 0x6df42620, 0x31363: 0x6df42820,\n\t0x31364: 0x6df42a20, 0x31365: 0x6df42c20, 0x31366: 0x6df42e20, 0x31367: 0x6df43020,\n\t0x31368: 0x6df43220, 0x31369: 0x6e07e620, 0x3136a: 0x6e07e820, 0x3136b: 0x6e07ea20,\n\t0x3136c: 0x6e07ec20, 0x3136d: 0x6e07ee20, 0x3136e: 0x6e07f020, 0x3136f: 0x6e07f220,\n\t0x31370: 0x6e07f420, 0x31371: 0x6e07f620, 0x31372: 0x6e07f820, 0x31373: 0x6e07fa20,\n\t0x31374: 0x6e07fc20, 0x31375: 0x6e07fe20, 0x31376: 0x6e080020, 0x31377: 0x6e080220,\n\t0x31378: 0x6e080420, 0x31379: 0x6e184220, 0x3137a: 0x6e184420, 0x3137b: 0x6e184620,\n\t0x3137c: 0x6e184820, 0x3137d: 0x6e184a20, 0x3137e: 0x6e184c20, 0x3137f: 0x6e184e20,\n\t// Block 0xc4e, offset 0x31380\n\t0x31380: 0x6e185020, 0x31381: 0x6e185220, 0x31382: 0x6e185420, 0x31383: 0x6e185620,\n\t0x31384: 0x6e185820, 0x31385: 0x6e185a20, 0x31386: 0x6e185c20, 0x31387: 0x6e185e20,\n\t0x31388: 0x6e24ee20, 0x31389: 0x6e24f020, 0x3138a: 0x6e24f220, 0x3138b: 0x6e24f420,\n\t0x3138c: 0x6e24f620, 0x3138d: 0x6e24f820, 0x3138e: 0x6e24fa20, 0x3138f: 0x6e24fc20,\n\t0x31390: 0x6e24fe20, 0x31391: 0x6e250020, 0x31392: 0x6e250220, 0x31393: 0x6e250420,\n\t0x31394: 0x6e250620, 0x31395: 0x6e250820, 0x31396: 0x6e2ea420, 0x31397: 0x6e2ea620,\n\t0x31398: 0x6e2ea820, 0x31399: 0x6e2eaa20, 0x3139a: 0x6e2eac20, 0x3139b: 0x6e2eae20,\n\t0x3139c: 0x6e2eb020, 0x3139d: 0x6e362220, 0x3139e: 0x6e362420, 0x3139f: 0x6e362620,\n\t0x313a0: 0x6e3f1420, 0x313a1: 0x6e3f1620, 0x313a2: 0x6e3f1820, 0x313a3: 0x6e3f1a20,\n\t0x313a4: 0x6e41a420, 0x313a5: 0x6e3f2620, 0x313a6: 0x6e41a620, 0x313a7: 0x6e41a820,\n\t0x313a8: 0x6e437a20, 0x313a9: 0x6e437c20, 0x313aa: 0x6e44c220, 0x313ab: 0x6e457620,\n\t0x313ac: 0x6c021220, 0x313ad: 0x6c0ac620, 0x313ae: 0x6c15da20, 0x313af: 0x6c15dc20,\n\t0x313b0: 0x6c15de20, 0x313b1: 0x6c289820, 0x313b2: 0x6c289a20, 0x313b3: 0x6c289c20,\n\t0x313b4: 0x6c289e20, 0x313b5: 0x6c42ae20, 0x313b6: 0x6c42b020, 0x313b7: 0x6c42b220,\n\t0x313b8: 0x6c42b420, 0x313b9: 0x6c42b620, 0x313ba: 0x6c42b820, 0x313bb: 0x6c42ba20,\n\t0x313bc: 0x6c42bc20, 0x313bd: 0x6c42be20, 0x313be: 0x6c42c020, 0x313bf: 0x6c42c220,\n\t// Block 0xc4f, offset 0x313c0\n\t0x313c0: 0x6c42c420, 0x313c1: 0x6c638420, 0x313c2: 0x6c638620, 0x313c3: 0x6c638820,\n\t0x313c4: 0x6c638a20, 0x313c5: 0x6c638c20, 0x313c6: 0x6c638e20, 0x313c7: 0x6c639020,\n\t0x313c8: 0x6c639220, 0x313c9: 0x6c639420, 0x313ca: 0x6c8a9420, 0x313cb: 0x6c8a9620,\n\t0x313cc: 0x6c8a9820, 0x313cd: 0x6c8a9a20, 0x313ce: 0x6c8a9c20, 0x313cf: 0x6c8a9e20,\n\t0x313d0: 0x6cb71420, 0x313d1: 0x6cb71620, 0x313d2: 0x6cb71820, 0x313d3: 0x6cb71a20,\n\t0x313d4: 0x6cb71c20, 0x313d5: 0x6cb71e20, 0x313d6: 0x6cb72020, 0x313d7: 0x6ce80420,\n\t0x313d8: 0x6ce80620, 0x313d9: 0x6ce80820, 0x313da: 0x6ce80a20, 0x313db: 0x6ce80c20,\n\t0x313dc: 0x6d173220, 0x313dd: 0x6d173420, 0x313de: 0x6d173620, 0x313df: 0x6d173820,\n\t0x313e0: 0x6d45ac20, 0x313e1: 0x6d45ae20, 0x313e2: 0x6d45b020, 0x313e3: 0x6d72aa20,\n\t0x313e4: 0x6dbec420, 0x313e5: 0x6df48220, 0x313e6: 0x6e086e20, 0x313e7: 0x6e087020,\n\t0x313e8: 0x6c8aae20, 0x313e9: 0x6ce82c20, 0x313ea: 0x6d174820, 0x313eb: 0x6d174a20,\n\t0x313ec: 0x6d174c20, 0x313ed: 0x6d174e20, 0x313ee: 0x6d175020, 0x313ef: 0x6d45bc20,\n\t0x313f0: 0x6d45be20, 0x313f1: 0x6d45c020, 0x313f2: 0x6d72bc20, 0x313f3: 0x6d72be20,\n\t0x313f4: 0x6d72c020, 0x313f5: 0x6d72c220, 0x313f6: 0x6d72c420, 0x313f7: 0x6d72c620,\n\t0x313f8: 0x6d9c4220, 0x313f9: 0x6d9c4420, 0x313fa: 0x6d9c4620, 0x313fb: 0x6d9c4820,\n\t0x313fc: 0x6d9c4a20, 0x313fd: 0x6dbed220, 0x313fe: 0x6dbed420, 0x313ff: 0x6d9c6820,\n\t// Block 0xc50, offset 0x31400\n\t0x31400: 0x6ddcac20, 0x31401: 0x6ddcae20, 0x31402: 0x6df48c20, 0x31403: 0x6df48e20,\n\t0x31404: 0x6e087220, 0x31405: 0x6df49020, 0x31406: 0x6e087620, 0x31407: 0x6e087820,\n\t0x31408: 0x6e087a20, 0x31409: 0x6e087c20, 0x3140a: 0x6e087e20, 0x3140b: 0x6e088020,\n\t0x3140c: 0x6e088220, 0x3140d: 0x6e189420, 0x3140e: 0x6e189620, 0x3140f: 0x6e189820,\n\t0x31410: 0x6e254620, 0x31411: 0x6e2ee620, 0x31412: 0x6e254820, 0x31413: 0x6e2ee820,\n\t0x31414: 0x6e2eea20, 0x31415: 0x6e364420, 0x31416: 0x6e3b7420, 0x31417: 0x6e3f2820,\n\t0x31418: 0x6c8ab020, 0x31419: 0x6cb73620, 0x3141a: 0x6d45e620, 0x3141b: 0x6d72e220,\n\t0x3141c: 0x6ddcda20, 0x3141d: 0x6e256420, 0x3141e: 0x6e2ef820, 0x3141f: 0x6c8ab220,\n\t0x31420: 0x6ce84620, 0x31421: 0x6d177820, 0x31422: 0x6d177a20, 0x31423: 0x6d460620,\n\t0x31424: 0x6d460820, 0x31425: 0x6d460a20, 0x31426: 0x6d460c20, 0x31427: 0x6d460e20,\n\t0x31428: 0x6d461020, 0x31429: 0x6d461220, 0x3142a: 0x6d461420, 0x3142b: 0x6d72f220,\n\t0x3142c: 0x6d72f420, 0x3142d: 0x6d9c7a20, 0x3142e: 0x6d72f620, 0x3142f: 0x6d72f820,\n\t0x31430: 0x6d72fa20, 0x31431: 0x6d72fc20, 0x31432: 0x6d72fe20, 0x31433: 0x6d730020,\n\t0x31434: 0x6d730220, 0x31435: 0x6d9c8020, 0x31436: 0x6d9c8220, 0x31437: 0x6d9c8420,\n\t0x31438: 0x6d9c8620, 0x31439: 0x6d9c8820, 0x3143a: 0x6d9c8a20, 0x3143b: 0x6d9c8c20,\n\t0x3143c: 0x6dbf1420, 0x3143d: 0x6dbf1620, 0x3143e: 0x6dbf1820, 0x3143f: 0x6dbf1a20,\n\t// Block 0xc51, offset 0x31440\n\t0x31440: 0x6dbf1c20, 0x31441: 0x6dbf1e20, 0x31442: 0x6dbf2020, 0x31443: 0x6ddcf220,\n\t0x31444: 0x6ddcf420, 0x31445: 0x6ddcf620, 0x31446: 0x6ddcf820, 0x31447: 0x6d9c8e20,\n\t0x31448: 0x6ddcfa20, 0x31449: 0x6df4b220, 0x3144a: 0x6df4b420, 0x3144b: 0x6df4b620,\n\t0x3144c: 0x6df4b820, 0x3144d: 0x6df4ba20, 0x3144e: 0x6df4bc20, 0x3144f: 0x6df4be20,\n\t0x31450: 0x6e08b220, 0x31451: 0x6e08b420, 0x31452: 0x6e08b620, 0x31453: 0x6e08b820,\n\t0x31454: 0x6e18b420, 0x31455: 0x6e18b620, 0x31456: 0x6e18b820, 0x31457: 0x6e18ba20,\n\t0x31458: 0x6e18bc20, 0x31459: 0x6e256c20, 0x3145a: 0x6e256e20, 0x3145b: 0x6e257020,\n\t0x3145c: 0x6e257220, 0x3145d: 0x6e256820, 0x3145e: 0x6e2f0020, 0x3145f: 0x6e2f0220,\n\t0x31460: 0x6e2f0420, 0x31461: 0x6e365c20, 0x31462: 0x6e365e20, 0x31463: 0x6e3b8620,\n\t0x31464: 0x6e41be20, 0x31465: 0x6c8ab420, 0x31466: 0x6d463c20, 0x31467: 0x6d734420,\n\t0x31468: 0x6d9cc020, 0x31469: 0x6ddd3820, 0x3146a: 0x6e08ee20, 0x3146b: 0x6e25a420,\n\t0x3146c: 0x6e367420, 0x3146d: 0x6e367620, 0x3146e: 0x6e41c820, 0x3146f: 0x6c8aba20,\n\t0x31470: 0x6e41ca20, 0x31471: 0x6e44ca20, 0x31472: 0x6c8abc20, 0x31473: 0x6d9cc820,\n\t0x31474: 0x6dbf5620, 0x31475: 0x6ddd4020, 0x31476: 0x6ddd4220, 0x31477: 0x6df4fa20,\n\t0x31478: 0x6e08f420, 0x31479: 0x6e18f420, 0x3147a: 0x6e18f620, 0x3147b: 0x6e25ae20,\n\t0x3147c: 0x6c8abe20, 0x3147d: 0x6d179220, 0x3147e: 0x6d465020, 0x3147f: 0x6d465220,\n\t// Block 0xc52, offset 0x31480\n\t0x31480: 0x6d465420, 0x31481: 0x6d465620, 0x31482: 0x6d465820, 0x31483: 0x6d735820,\n\t0x31484: 0x6d735a20, 0x31485: 0x6d735c20, 0x31486: 0x6d735e20, 0x31487: 0x6d9cde20,\n\t0x31488: 0x6dbf6220, 0x31489: 0x6dbf6420, 0x3148a: 0x6ddd5620, 0x3148b: 0x6ddd5820,\n\t0x3148c: 0x6ddd5a20, 0x3148d: 0x6ddd5c20, 0x3148e: 0x6ddd5e20, 0x3148f: 0x6ddd6020,\n\t0x31490: 0x6e090220, 0x31491: 0x6e190620, 0x31492: 0x6e190820, 0x31493: 0x6e190a20,\n\t0x31494: 0x6e190c20, 0x31495: 0x6e25be20, 0x31496: 0x6e25c020, 0x31497: 0x6e368a20,\n\t0x31498: 0x6e368c20, 0x31499: 0x6e368e20, 0x3149a: 0x6cb74420, 0x3149b: 0x6d17c620,\n\t0x3149c: 0x6d17c820, 0x3149d: 0x6d17ca20, 0x3149e: 0x6d17cc20, 0x3149f: 0x6d469220,\n\t0x314a0: 0x6d469420, 0x314a1: 0x6d469620, 0x314a2: 0x6d469820, 0x314a3: 0x6d739620,\n\t0x314a4: 0x6d739820, 0x314a5: 0x6d739a20, 0x314a6: 0x6d739c20, 0x314a7: 0x6d739e20,\n\t0x314a8: 0x6d73a020, 0x314a9: 0x6d73a220, 0x314aa: 0x6d73a420, 0x314ab: 0x6d73a620,\n\t0x314ac: 0x6d73a820, 0x314ad: 0x6d73aa20, 0x314ae: 0x6d73ac20, 0x314af: 0x6d73ae20,\n\t0x314b0: 0x6d73b020, 0x314b1: 0x6d73b220, 0x314b2: 0x6d73b420, 0x314b3: 0x6d73b620,\n\t0x314b4: 0x6d73b820, 0x314b5: 0x6d73ba20, 0x314b6: 0x6d73bc20, 0x314b7: 0x6d73be20,\n\t0x314b8: 0x6d73c020, 0x314b9: 0x6d73c220, 0x314ba: 0x6d9d2420, 0x314bb: 0x6d9d2620,\n\t0x314bc: 0x6d9d2820, 0x314bd: 0x6d9d2a20, 0x314be: 0x6d9d2c20, 0x314bf: 0x6d9d2e20,\n\t// Block 0xc53, offset 0x314c0\n\t0x314c0: 0x6d9d3020, 0x314c1: 0x6d9d3220, 0x314c2: 0x6d9d3420, 0x314c3: 0x6d9d3620,\n\t0x314c4: 0x6d9d3820, 0x314c5: 0x6d9d3a20, 0x314c6: 0x6dbf9020, 0x314c7: 0x6d9d3c20,\n\t0x314c8: 0x6d9d3e20, 0x314c9: 0x6d9d4020, 0x314ca: 0x6d9d4220, 0x314cb: 0x6d9d4420,\n\t0x314cc: 0x6d9d4620, 0x314cd: 0x6d9d4820, 0x314ce: 0x6d9d4a20, 0x314cf: 0x6d9d4c20,\n\t0x314d0: 0x6d9d4e20, 0x314d1: 0x6d9d5020, 0x314d2: 0x6d9d5220, 0x314d3: 0x6d9d5420,\n\t0x314d4: 0x6d9d5620, 0x314d5: 0x6d9d5820, 0x314d6: 0x6d9d5a20, 0x314d7: 0x6d9d5c20,\n\t0x314d8: 0x6d9d5e20, 0x314d9: 0x6dbf9c20, 0x314da: 0x6dbf9e20, 0x314db: 0x6dbfa020,\n\t0x314dc: 0x6dbfa220, 0x314dd: 0x6dbfa420, 0x314de: 0x6dbfa620, 0x314df: 0x6dbfa820,\n\t0x314e0: 0x6dbfaa20, 0x314e1: 0x6dbfac20, 0x314e2: 0x6dbfae20, 0x314e3: 0x6d9d6020,\n\t0x314e4: 0x6dbfb020, 0x314e5: 0x6dbfb220, 0x314e6: 0x6dbfb420, 0x314e7: 0x6dbfb620,\n\t0x314e8: 0x6dbfb820, 0x314e9: 0x6dbfba20, 0x314ea: 0x6dbfbc20, 0x314eb: 0x6dbfbe20,\n\t0x314ec: 0x6dbfc020, 0x314ed: 0x6dbfc220, 0x314ee: 0x6dbfc420, 0x314ef: 0x6dbfc620,\n\t0x314f0: 0x6dbfc820, 0x314f1: 0x6dbfca20, 0x314f2: 0x6dbfcc20, 0x314f3: 0x6dbfce20,\n\t0x314f4: 0x6dbfd020, 0x314f5: 0x6ddd9820, 0x314f6: 0x6ddd9a20, 0x314f7: 0x6ddd9c20,\n\t0x314f8: 0x6ddd9e20, 0x314f9: 0x6ddda020, 0x314fa: 0x6dbfd220, 0x314fb: 0x6ddda220,\n\t0x314fc: 0x6ddda420, 0x314fd: 0x6ddda620, 0x314fe: 0x6ddda820, 0x314ff: 0x6dddaa20,\n\t// Block 0xc54, offset 0x31500\n\t0x31500: 0x6dddac20, 0x31501: 0x6dddae20, 0x31502: 0x6dddb020, 0x31503: 0x6dddb220,\n\t0x31504: 0x6dddb420, 0x31505: 0x6df51c20, 0x31506: 0x6dddb620, 0x31507: 0x6dddb820,\n\t0x31508: 0x6dddba20, 0x31509: 0x6dddbc20, 0x3150a: 0x6dddbe20, 0x3150b: 0x6dddc020,\n\t0x3150c: 0x6dddc220, 0x3150d: 0x6dddc420, 0x3150e: 0x6dc03a20, 0x3150f: 0x6dddc620,\n\t0x31510: 0x6dddc820, 0x31511: 0x6dddca20, 0x31512: 0x6dddcc20, 0x31513: 0x6dddce20,\n\t0x31514: 0x6df54220, 0x31515: 0x6df54420, 0x31516: 0x6df54620, 0x31517: 0x6df54820,\n\t0x31518: 0x6df54a20, 0x31519: 0x6df54c20, 0x3151a: 0x6df54e20, 0x3151b: 0x6df55020,\n\t0x3151c: 0x6df55220, 0x3151d: 0x6df55420, 0x3151e: 0x6df55620, 0x3151f: 0x6df55820,\n\t0x31520: 0x6df55a20, 0x31521: 0x6df55c20, 0x31522: 0x6df55e20, 0x31523: 0x6df56020,\n\t0x31524: 0x6df56220, 0x31525: 0x6df56420, 0x31526: 0x6df56620, 0x31527: 0x6df56820,\n\t0x31528: 0x6df56a20, 0x31529: 0x6df56c20, 0x3152a: 0x6df56e20, 0x3152b: 0x6df57020,\n\t0x3152c: 0x6df57220, 0x3152d: 0x6df57420, 0x3152e: 0x6df57620, 0x3152f: 0x6df57820,\n\t0x31530: 0x6df57a20, 0x31531: 0x6df57c20, 0x31532: 0x6df57e20, 0x31533: 0x6df58020,\n\t0x31534: 0x6df58220, 0x31535: 0x6df58420, 0x31536: 0x6e093220, 0x31537: 0x6e093420,\n\t0x31538: 0x6e093620, 0x31539: 0x6e093820, 0x3153a: 0x6df61c20, 0x3153b: 0x6e091c20,\n\t0x3153c: 0x6e093a20, 0x3153d: 0x6dddd020, 0x3153e: 0x6e093c20, 0x3153f: 0x6e093e20,\n\t// Block 0xc55, offset 0x31540\n\t0x31540: 0x6e094020, 0x31541: 0x6e094220, 0x31542: 0x6e094420, 0x31543: 0x6e094620,\n\t0x31544: 0x6e094820, 0x31545: 0x6e094a20, 0x31546: 0x6e094c20, 0x31547: 0x6e094e20,\n\t0x31548: 0x6e095020, 0x31549: 0x6e095220, 0x3154a: 0x6e095420, 0x3154b: 0x6e095620,\n\t0x3154c: 0x6e095820, 0x3154d: 0x6e095a20, 0x3154e: 0x6e095c20, 0x3154f: 0x6e095e20,\n\t0x31550: 0x6e096020, 0x31551: 0x6e096220, 0x31552: 0x6e096420, 0x31553: 0x6e096620,\n\t0x31554: 0x6e096820, 0x31555: 0x6e096a20, 0x31556: 0x6e096c20, 0x31557: 0x6e096e20,\n\t0x31558: 0x6e097020, 0x31559: 0x6e097220, 0x3155a: 0x6e097420, 0x3155b: 0x6e097620,\n\t0x3155c: 0x6e194620, 0x3155d: 0x6e194820, 0x3155e: 0x6e194a20, 0x3155f: 0x6e194c20,\n\t0x31560: 0x6e097820, 0x31561: 0x6e194e20, 0x31562: 0x6e195020, 0x31563: 0x6e195220,\n\t0x31564: 0x6e195420, 0x31565: 0x6e195620, 0x31566: 0x6e195820, 0x31567: 0x6e195a20,\n\t0x31568: 0x6e195c20, 0x31569: 0x6e195e20, 0x3156a: 0x6e196020, 0x3156b: 0x6e196220,\n\t0x3156c: 0x6e196420, 0x3156d: 0x6e196620, 0x3156e: 0x6e196820, 0x3156f: 0x6e196a20,\n\t0x31570: 0x6e196c20, 0x31571: 0x6e25de20, 0x31572: 0x6e25e020, 0x31573: 0x6e25e220,\n\t0x31574: 0x6e25e420, 0x31575: 0x6e25e620, 0x31576: 0x6e25e820, 0x31577: 0x6e25ea20,\n\t0x31578: 0x6e25ec20, 0x31579: 0x6e25ee20, 0x3157a: 0x6e25f020, 0x3157b: 0x6e25f220,\n\t0x3157c: 0x6e25f420, 0x3157d: 0x6e25f620, 0x3157e: 0x6e25f820, 0x3157f: 0x6e25fa20,\n\t// Block 0xc56, offset 0x31580\n\t0x31580: 0x6e09e620, 0x31581: 0x6e25fc20, 0x31582: 0x6e25fe20, 0x31583: 0x6e260020,\n\t0x31584: 0x6e260220, 0x31585: 0x6e260420, 0x31586: 0x6e260620, 0x31587: 0x6e260820,\n\t0x31588: 0x6e260a20, 0x31589: 0x6e267220, 0x3158a: 0x6e2f5620, 0x3158b: 0x6e2f5820,\n\t0x3158c: 0x6e2f5a20, 0x3158d: 0x6e2f5c20, 0x3158e: 0x6e2f5e20, 0x3158f: 0x6e2f6020,\n\t0x31590: 0x6e2f6220, 0x31591: 0x6e2f6420, 0x31592: 0x6e2f6620, 0x31593: 0x6e2f6820,\n\t0x31594: 0x6e2f6a20, 0x31595: 0x6e2f6c20, 0x31596: 0x6e2f6e20, 0x31597: 0x6e2f7020,\n\t0x31598: 0x6e2f7220, 0x31599: 0x6e2f7420, 0x3159a: 0x6e2f7620, 0x3159b: 0x6e2f7820,\n\t0x3159c: 0x6e36a620, 0x3159d: 0x6e36a820, 0x3159e: 0x6e36aa20, 0x3159f: 0x6e36ac20,\n\t0x315a0: 0x6e36ae20, 0x315a1: 0x6e36b020, 0x315a2: 0x6e36b220, 0x315a3: 0x6e36b420,\n\t0x315a4: 0x6e36b620, 0x315a5: 0x6e36b820, 0x315a6: 0x6e36ba20, 0x315a7: 0x6e36bc20,\n\t0x315a8: 0x6e3bac20, 0x315a9: 0x6e36be20, 0x315aa: 0x6e2fda20, 0x315ab: 0x6e36c020,\n\t0x315ac: 0x6e3bae20, 0x315ad: 0x6e3bb020, 0x315ae: 0x6e3bb220, 0x315af: 0x6e3bb420,\n\t0x315b0: 0x6e371420, 0x315b1: 0x6e3f5420, 0x315b2: 0x6e3f5620, 0x315b3: 0x6e3f5820,\n\t0x315b4: 0x6e3f5a20, 0x315b5: 0x6e3f5c20, 0x315b6: 0x6e3f5e20, 0x315b7: 0x6e41da20,\n\t0x315b8: 0x6e41dc20, 0x315b9: 0x6e44d220, 0x315ba: 0x6e458220, 0x315bb: 0x6e469a20,\n\t0x315bc: 0x6c42dc20, 0x315bd: 0x6c8ac020, 0x315be: 0x6cb74a20, 0x315bf: 0x6ce86e20,\n\t// Block 0xc57, offset 0x315c0\n\t0x315c0: 0x6ce87020, 0x315c1: 0x6ce87220, 0x315c2: 0x6ce87420, 0x315c3: 0x6ce87620,\n\t0x315c4: 0x6d17e020, 0x315c5: 0x6d17e220, 0x315c6: 0x6d17e420, 0x315c7: 0x6d17e620,\n\t0x315c8: 0x6d17e820, 0x315c9: 0x6d17ea20, 0x315ca: 0x6d17ec20, 0x315cb: 0x6d17ee20,\n\t0x315cc: 0x6d17f020, 0x315cd: 0x6d17f220, 0x315ce: 0x6d17f420, 0x315cf: 0x6d17f620,\n\t0x315d0: 0x6d17f820, 0x315d1: 0x6d46b620, 0x315d2: 0x6d46b820, 0x315d3: 0x6d46ba20,\n\t0x315d4: 0x6d46bc20, 0x315d5: 0x6d46be20, 0x315d6: 0x6d46c020, 0x315d7: 0x6d46c220,\n\t0x315d8: 0x6d46c420, 0x315d9: 0x6d46c620, 0x315da: 0x6d46c820, 0x315db: 0x6d46ca20,\n\t0x315dc: 0x6d46cc20, 0x315dd: 0x6d46ce20, 0x315de: 0x6d46d020, 0x315df: 0x6d46d220,\n\t0x315e0: 0x6d740c20, 0x315e1: 0x6d740e20, 0x315e2: 0x6d741020, 0x315e3: 0x6d741220,\n\t0x315e4: 0x6d741420, 0x315e5: 0x6d741620, 0x315e6: 0x6d741820, 0x315e7: 0x6d741a20,\n\t0x315e8: 0x6d741c20, 0x315e9: 0x6d741e20, 0x315ea: 0x6d742020, 0x315eb: 0x6d742220,\n\t0x315ec: 0x6d742420, 0x315ed: 0x6d9db020, 0x315ee: 0x6d9db220, 0x315ef: 0x6d9db420,\n\t0x315f0: 0x6d9db620, 0x315f1: 0x6d9db820, 0x315f2: 0x6d9dba20, 0x315f3: 0x6d9dbc20,\n\t0x315f4: 0x6d9dbe20, 0x315f5: 0x6d9dc020, 0x315f6: 0x6d9dc220, 0x315f7: 0x6d9dc420,\n\t0x315f8: 0x6d9dc620, 0x315f9: 0x6d9dc820, 0x315fa: 0x6d9dca20, 0x315fb: 0x6d9dcc20,\n\t0x315fc: 0x6dc03c20, 0x315fd: 0x6dc03e20, 0x315fe: 0x6dc06820, 0x315ff: 0x6dc04020,\n\t// Block 0xc58, offset 0x31600\n\t0x31600: 0x6dc04220, 0x31601: 0x6dc04420, 0x31602: 0x6dc04620, 0x31603: 0x6dc04820,\n\t0x31604: 0x6dc04a20, 0x31605: 0x6dc04c20, 0x31606: 0x6dc04e20, 0x31607: 0x6dc05020,\n\t0x31608: 0x6dc05220, 0x31609: 0x6dc05420, 0x3160a: 0x6dc05620, 0x3160b: 0x6dc05820,\n\t0x3160c: 0x6dde2e20, 0x3160d: 0x6dde3020, 0x3160e: 0x6dde3220, 0x3160f: 0x6dde3420,\n\t0x31610: 0x6dde3620, 0x31611: 0x6dde3820, 0x31612: 0x6dde3a20, 0x31613: 0x6df61e20,\n\t0x31614: 0x6df62020, 0x31615: 0x6df62220, 0x31616: 0x6df62420, 0x31617: 0x6df62620,\n\t0x31618: 0x6df62820, 0x31619: 0x6df62a20, 0x3161a: 0x6df62c20, 0x3161b: 0x6df62e20,\n\t0x3161c: 0x6e09ec20, 0x3161d: 0x6e09ee20, 0x3161e: 0x6e09f020, 0x3161f: 0x6e09f220,\n\t0x31620: 0x6e19f820, 0x31621: 0x6e19fa20, 0x31622: 0x6e19fc20, 0x31623: 0x6e19fe20,\n\t0x31624: 0x6e267420, 0x31625: 0x6cb75220, 0x31626: 0x6ce88620, 0x31627: 0x6d180820,\n\t0x31628: 0x6d180a20, 0x31629: 0x6d180c20, 0x3162a: 0x6d180e20, 0x3162b: 0x6d181020,\n\t0x3162c: 0x6c63ac20, 0x3162d: 0x6d181220, 0x3162e: 0x6d181420, 0x3162f: 0x6d181620,\n\t0x31630: 0x6d181820, 0x31631: 0x6d46f420, 0x31632: 0x6d46f620, 0x31633: 0x6d46f820,\n\t0x31634: 0x6d46fa20, 0x31635: 0x6d46fc20, 0x31636: 0x6d46fe20, 0x31637: 0x6d745020,\n\t0x31638: 0x6d745220, 0x31639: 0x6d745420, 0x3163a: 0x6d745620, 0x3163b: 0x6d745820,\n\t0x3163c: 0x6d745a20, 0x3163d: 0x6d745c20, 0x3163e: 0x6d745e20, 0x3163f: 0x6d746020,\n\t// Block 0xc59, offset 0x31640\n\t0x31640: 0x6d746220, 0x31641: 0x6d746420, 0x31642: 0x6d746620, 0x31643: 0x6d746820,\n\t0x31644: 0x6d746a20, 0x31645: 0x6d746c20, 0x31646: 0x6d746e20, 0x31647: 0x6d747020,\n\t0x31648: 0x6d747220, 0x31649: 0x6d747420, 0x3164a: 0x6d9e0620, 0x3164b: 0x6d747620,\n\t0x3164c: 0x6d747820, 0x3164d: 0x6d747a20, 0x3164e: 0x6d747c20, 0x3164f: 0x6d9e0820,\n\t0x31650: 0x6d9e0a20, 0x31651: 0x6d9e0c20, 0x31652: 0x6d9e0e20, 0x31653: 0x6d9e1020,\n\t0x31654: 0x6d9e1220, 0x31655: 0x6d9e1420, 0x31656: 0x6d9e1620, 0x31657: 0x6d9e1820,\n\t0x31658: 0x6d9e1a20, 0x31659: 0x6d9e1c20, 0x3165a: 0x6d9e1e20, 0x3165b: 0x6d9e2020,\n\t0x3165c: 0x6dc06a20, 0x3165d: 0x6d9e2220, 0x3165e: 0x6d9e2420, 0x3165f: 0x6d9e2620,\n\t0x31660: 0x6d9e2820, 0x31661: 0x6d9e2a20, 0x31662: 0x6d9e2c20, 0x31663: 0x6d9e2e20,\n\t0x31664: 0x6d9e3020, 0x31665: 0x6d9e3220, 0x31666: 0x6d9e3420, 0x31667: 0x6d9e3620,\n\t0x31668: 0x6d9e3820, 0x31669: 0x6d9e3a20, 0x3166a: 0x6d9e3c20, 0x3166b: 0x6d9e3e20,\n\t0x3166c: 0x6d9e4020, 0x3166d: 0x6dc08020, 0x3166e: 0x6dc08220, 0x3166f: 0x6dc08420,\n\t0x31670: 0x6dc08620, 0x31671: 0x6dc08820, 0x31672: 0x6dc08a20, 0x31673: 0x6dc08c20,\n\t0x31674: 0x6dc08e20, 0x31675: 0x6dc09020, 0x31676: 0x6dc09220, 0x31677: 0x6dc09420,\n\t0x31678: 0x6dc09620, 0x31679: 0x6dc09820, 0x3167a: 0x6dc09a20, 0x3167b: 0x6dc09c20,\n\t0x3167c: 0x6dc09e20, 0x3167d: 0x6dc0a020, 0x3167e: 0x6dc0a220, 0x3167f: 0x6dc0a420,\n\t// Block 0xc5a, offset 0x31680\n\t0x31680: 0x6dc0a620, 0x31681: 0x6dc0a820, 0x31682: 0x6dc0aa20, 0x31683: 0x6dc0ac20,\n\t0x31684: 0x6dc0ae20, 0x31685: 0x6dc0b020, 0x31686: 0x6dc0b220, 0x31687: 0x6dc0b420,\n\t0x31688: 0x6dc0b620, 0x31689: 0x6dc0b820, 0x3168a: 0x6dde4e20, 0x3168b: 0x6dde5020,\n\t0x3168c: 0x6dde5220, 0x3168d: 0x6dde5420, 0x3168e: 0x6dde5620, 0x3168f: 0x6dde5820,\n\t0x31690: 0x6dde5a20, 0x31691: 0x6dde5c20, 0x31692: 0x6dde5e20, 0x31693: 0x6dde6020,\n\t0x31694: 0x6dde6220, 0x31695: 0x6dde6420, 0x31696: 0x6dde6620, 0x31697: 0x6dde6820,\n\t0x31698: 0x6dde6a20, 0x31699: 0x6dde6c20, 0x3169a: 0x6dde6e20, 0x3169b: 0x6dde7020,\n\t0x3169c: 0x6dde7220, 0x3169d: 0x6dde7420, 0x3169e: 0x6dde7620, 0x3169f: 0x6dde7820,\n\t0x316a0: 0x6dde7a20, 0x316a1: 0x6df63820, 0x316a2: 0x6dde7c20, 0x316a3: 0x6dde7e20,\n\t0x316a4: 0x6dd43a20, 0x316a5: 0x6dde8020, 0x316a6: 0x6df64c20, 0x316a7: 0x6dc13220,\n\t0x316a8: 0x6df64e20, 0x316a9: 0x6df65020, 0x316aa: 0x6df65220, 0x316ab: 0x6df65420,\n\t0x316ac: 0x6df65620, 0x316ad: 0x6df65820, 0x316ae: 0x6df65a20, 0x316af: 0x6df65c20,\n\t0x316b0: 0x6df65e20, 0x316b1: 0x6df66020, 0x316b2: 0x6df66220, 0x316b3: 0x6df66420,\n\t0x316b4: 0x6df66620, 0x316b5: 0x6df66820, 0x316b6: 0x6df66a20, 0x316b7: 0x6df66c20,\n\t0x316b8: 0x6df66e20, 0x316b9: 0x6df67020, 0x316ba: 0x6df67220, 0x316bb: 0x6df67420,\n\t0x316bc: 0x6df67620, 0x316bd: 0x6df67820, 0x316be: 0x6df67a20, 0x316bf: 0x6df67c20,\n\t// Block 0xc5b, offset 0x316c0\n\t0x316c0: 0x6df67e20, 0x316c1: 0x6df68020, 0x316c2: 0x6df68220, 0x316c3: 0x6df68420,\n\t0x316c4: 0x6df68620, 0x316c5: 0x6df68820, 0x316c6: 0x6df68a20, 0x316c7: 0x6df68c20,\n\t0x316c8: 0x6df68e20, 0x316c9: 0x6df69020, 0x316ca: 0x6df69220, 0x316cb: 0x6df69420,\n\t0x316cc: 0x6df69620, 0x316cd: 0x6df69820, 0x316ce: 0x6df69a20, 0x316cf: 0x6df69c20,\n\t0x316d0: 0x6e0a0e20, 0x316d1: 0x6df69e20, 0x316d2: 0x6e0a1020, 0x316d3: 0x6e0a1220,\n\t0x316d4: 0x6e0a1420, 0x316d5: 0x6e0a1620, 0x316d6: 0x6e0a1820, 0x316d7: 0x6e0a1a20,\n\t0x316d8: 0x6e0a1c20, 0x316d9: 0x6e0a1e20, 0x316da: 0x6e0a2020, 0x316db: 0x6e0a2220,\n\t0x316dc: 0x6e0a2420, 0x316dd: 0x6e0a2620, 0x316de: 0x6e0a2820, 0x316df: 0x6e0a2a20,\n\t0x316e0: 0x6e0a2c20, 0x316e1: 0x6e0a2e20, 0x316e2: 0x6e0a3020, 0x316e3: 0x6e0a3220,\n\t0x316e4: 0x6e0a3420, 0x316e5: 0x6e0a3620, 0x316e6: 0x6e0a3820, 0x316e7: 0x6e0a3a20,\n\t0x316e8: 0x6e0a3c20, 0x316e9: 0x6e0a3e20, 0x316ea: 0x6e0a4020, 0x316eb: 0x6e0a4220,\n\t0x316ec: 0x6e1a1020, 0x316ed: 0x6e1a1220, 0x316ee: 0x6e1a1420, 0x316ef: 0x6e1a1620,\n\t0x316f0: 0x6e1a1820, 0x316f1: 0x6e1a1a20, 0x316f2: 0x6e1a1c20, 0x316f3: 0x6e1a1e20,\n\t0x316f4: 0x6e1a2020, 0x316f5: 0x6e1a2220, 0x316f6: 0x6e1a2420, 0x316f7: 0x6e1a2620,\n\t0x316f8: 0x6e1a2820, 0x316f9: 0x6e1a2a20, 0x316fa: 0x6e1a2c20, 0x316fb: 0x6e1a2e20,\n\t0x316fc: 0x6e1a3020, 0x316fd: 0x6e1a3220, 0x316fe: 0x6e1a3420, 0x316ff: 0x6e0ad220,\n\t// Block 0xc5c, offset 0x31700\n\t0x31700: 0x6e1a3620, 0x31701: 0x6e1a3820, 0x31702: 0x6e1a3a20, 0x31703: 0x6e1a3c20,\n\t0x31704: 0x6e1a3e20, 0x31705: 0x6e1a4020, 0x31706: 0x6e1a4220, 0x31707: 0x6e1a4420,\n\t0x31708: 0x6e1a4620, 0x31709: 0x6e1a4820, 0x3170a: 0x6e1a4a20, 0x3170b: 0x6e268620,\n\t0x3170c: 0x6e1a4c20, 0x3170d: 0x6e1a4e20, 0x3170e: 0x6e1a5020, 0x3170f: 0x6e1a5220,\n\t0x31710: 0x6e268820, 0x31711: 0x6e268a20, 0x31712: 0x6e268c20, 0x31713: 0x6e268e20,\n\t0x31714: 0x6e269020, 0x31715: 0x6e269220, 0x31716: 0x6e269420, 0x31717: 0x6e269620,\n\t0x31718: 0x6e269820, 0x31719: 0x6e269a20, 0x3171a: 0x6e269c20, 0x3171b: 0x6e269e20,\n\t0x3171c: 0x6e26a020, 0x3171d: 0x6e26a220, 0x3171e: 0x6e26a420, 0x3171f: 0x6e26a620,\n\t0x31720: 0x6e260c20, 0x31721: 0x6e2ff220, 0x31722: 0x6e2ff420, 0x31723: 0x6e2ff620,\n\t0x31724: 0x6e2ff820, 0x31725: 0x6e2ffa20, 0x31726: 0x6e2ffc20, 0x31727: 0x6e2ffe20,\n\t0x31728: 0x6e300020, 0x31729: 0x6e273020, 0x3172a: 0x6e300220, 0x3172b: 0x6e300420,\n\t0x3172c: 0x6e300620, 0x3172d: 0x6e300820, 0x3172e: 0x6e300a20, 0x3172f: 0x6e300c20,\n\t0x31730: 0x6e300e20, 0x31731: 0x6e301020, 0x31732: 0x6e301220, 0x31733: 0x6e301420,\n\t0x31734: 0x6e301620, 0x31735: 0x6e273220, 0x31736: 0x6e301820, 0x31737: 0x6e301a20,\n\t0x31738: 0x6e301c20, 0x31739: 0x6e372220, 0x3173a: 0x6e371620, 0x3173b: 0x6e301e20,\n\t0x3173c: 0x6e302020, 0x3173d: 0x6e372420, 0x3173e: 0x6e372620, 0x3173f: 0x6e372820,\n\t// Block 0xc5d, offset 0x31740\n\t0x31740: 0x6e372a20, 0x31741: 0x6e372c20, 0x31742: 0x6e372e20, 0x31743: 0x6e373020,\n\t0x31744: 0x6e373220, 0x31745: 0x6e373420, 0x31746: 0x6e373620, 0x31747: 0x6e373820,\n\t0x31748: 0x6e373a20, 0x31749: 0x6e373c20, 0x3174a: 0x6e373e20, 0x3174b: 0x6e3bea20,\n\t0x3174c: 0x6e3bec20, 0x3174d: 0x6e3bee20, 0x3174e: 0x6e3bf020, 0x3174f: 0x6e3bf220,\n\t0x31750: 0x6e3bf420, 0x31751: 0x6e3bf620, 0x31752: 0x6e3bf820, 0x31753: 0x6e3f8820,\n\t0x31754: 0x6e3f8a20, 0x31755: 0x6e41fa20, 0x31756: 0x6e41fc20, 0x31757: 0x6e41fe20,\n\t0x31758: 0x6e43c020, 0x31759: 0x6e43c220, 0x3175a: 0x6e43c420, 0x3175b: 0x6e44e620,\n\t0x3175c: 0x6e44e820, 0x3175d: 0x6e458c20, 0x3175e: 0x6e458e20, 0x3175f: 0x6c0ac820,\n\t0x31760: 0x6c28a620, 0x31761: 0x6c28a820, 0x31762: 0x6c42de20, 0x31763: 0x6c42e020,\n\t0x31764: 0x6c42e220, 0x31765: 0x6c63ae20, 0x31766: 0x6c63b020, 0x31767: 0x6c63b220,\n\t0x31768: 0x6c63b420, 0x31769: 0x6c63b620, 0x3176a: 0x6c8ac420, 0x3176b: 0x6c8ac620,\n\t0x3176c: 0x6c8ac820, 0x3176d: 0x6c8aca20, 0x3176e: 0x6c8acc20, 0x3176f: 0x6c8ace20,\n\t0x31770: 0x6c8ad020, 0x31771: 0x6c8ad220, 0x31772: 0x6c8ad420, 0x31773: 0x6c8ad620,\n\t0x31774: 0x6c8ad820, 0x31775: 0x6c8ada20, 0x31776: 0x6c8adc20, 0x31777: 0x6cb75620,\n\t0x31778: 0x6cb75820, 0x31779: 0x6cb75a20, 0x3177a: 0x6cb75c20, 0x3177b: 0x6cb75e20,\n\t0x3177c: 0x6cb76020, 0x3177d: 0x6cb76220, 0x3177e: 0x6cb76420, 0x3177f: 0x6cb76620,\n\t// Block 0xc5e, offset 0x31780\n\t0x31780: 0x6ce89020, 0x31781: 0x6ce89220, 0x31782: 0x6ce89420, 0x31783: 0x6ce89620,\n\t0x31784: 0x6ce89820, 0x31785: 0x6ce89a20, 0x31786: 0x6ce89c20, 0x31787: 0x6ce89e20,\n\t0x31788: 0x6ce8a020, 0x31789: 0x6d183020, 0x3178a: 0x6d183220, 0x3178b: 0x6d183420,\n\t0x3178c: 0x6d183620, 0x3178d: 0x6d183820, 0x3178e: 0x6d183a20, 0x3178f: 0x6d183c20,\n\t0x31790: 0x6d183e20, 0x31791: 0x6d184020, 0x31792: 0x6d184220, 0x31793: 0x6d184420,\n\t0x31794: 0x6d184620, 0x31795: 0x6d472620, 0x31796: 0x6d472820, 0x31797: 0x6d472a20,\n\t0x31798: 0x6d74e020, 0x31799: 0x6d472c20, 0x3179a: 0x6d472e20, 0x3179b: 0x6d473020,\n\t0x3179c: 0x6d473220, 0x3179d: 0x6d74e220, 0x3179e: 0x6d74e420, 0x3179f: 0x6d74e620,\n\t0x317a0: 0x6d74e820, 0x317a1: 0x6d74ea20, 0x317a2: 0x6d74ec20, 0x317a3: 0x6d74ee20,\n\t0x317a4: 0x6d74f020, 0x317a5: 0x6d9eba20, 0x317a6: 0x6d9ebc20, 0x317a7: 0x6d9ebe20,\n\t0x317a8: 0x6d9ec020, 0x317a9: 0x6dc13820, 0x317aa: 0x6dc13a20, 0x317ab: 0x6dc13c20,\n\t0x317ac: 0x6dc13e20, 0x317ad: 0x6ddee620, 0x317ae: 0x6ddee820, 0x317af: 0x6ddeea20,\n\t0x317b0: 0x6ddeec20, 0x317b1: 0x6df73020, 0x317b2: 0x6df73220, 0x317b3: 0x6e273420,\n\t0x317b4: 0x6e273620, 0x317b5: 0x6cb78220, 0x317b6: 0x6d750020, 0x317b7: 0x6d9eca20,\n\t0x317b8: 0x6df73620, 0x317b9: 0x6e0ad820, 0x317ba: 0x6e1ac620, 0x317bb: 0x6e1ac820,\n\t0x317bc: 0x6e378c20, 0x317bd: 0x6e378e20, 0x317be: 0x6d9ed820, 0x317bf: 0x6cb78620,\n\t// Block 0xc5f, offset 0x317c0\n\t0x317c0: 0x6d185620, 0x317c1: 0x6d185820, 0x317c2: 0x6d185a20, 0x317c3: 0x6d751220,\n\t0x317c4: 0x6d751420, 0x317c5: 0x6d9ee220, 0x317c6: 0x6d9ee420, 0x317c7: 0x6d9ee620,\n\t0x317c8: 0x6d9ee820, 0x317c9: 0x6dc14820, 0x317ca: 0x6dc14a20, 0x317cb: 0x6dc14c20,\n\t0x317cc: 0x6ddefc20, 0x317cd: 0x6ddefe20, 0x317ce: 0x6ddf0020, 0x317cf: 0x6ddf0220,\n\t0x317d0: 0x6ddf0420, 0x317d1: 0x6df74820, 0x317d2: 0x6df74a20, 0x317d3: 0x6df74c20,\n\t0x317d4: 0x6df74e20, 0x317d5: 0x6df75020, 0x317d6: 0x6df75220, 0x317d7: 0x6df75420,\n\t0x317d8: 0x6e0aec20, 0x317d9: 0x6e0aee20, 0x317da: 0x6e0af020, 0x317db: 0x6e0af220,\n\t0x317dc: 0x6e1ad620, 0x317dd: 0x6e1ad820, 0x317de: 0x6e274420, 0x317df: 0x6e30b220,\n\t0x317e0: 0x6e379a20, 0x317e1: 0x6e3c3820, 0x317e2: 0x6e43e220, 0x317e3: 0x6e460a20,\n\t0x317e4: 0x6e46a220, 0x317e5: 0x6cb78a20, 0x317e6: 0x6c28aa20, 0x317e7: 0x6d475620,\n\t0x317e8: 0x6d753420, 0x317e9: 0x6d753620, 0x317ea: 0x6d753820, 0x317eb: 0x6d753a20,\n\t0x317ec: 0x6d9f0620, 0x317ed: 0x6d9f0820, 0x317ee: 0x6d9f0a20, 0x317ef: 0x6dc17020,\n\t0x317f0: 0x6dc17220, 0x317f1: 0x6ddf2e20, 0x317f2: 0x6ddf3020, 0x317f3: 0x6df77420,\n\t0x317f4: 0x6df77620, 0x317f5: 0x6e0b0620, 0x317f6: 0x6e275620, 0x317f7: 0x6e44fe20,\n\t0x317f8: 0x6cb78c20, 0x317f9: 0x6d755a20, 0x317fa: 0x6d9f2620, 0x317fb: 0x6cb79420,\n\t0x317fc: 0x6d476420, 0x317fd: 0x6d476620, 0x317fe: 0x6d756420, 0x317ff: 0x6ddf5220,\n\t// Block 0xc60, offset 0x31800\n\t0x31800: 0x6df79a20, 0x31801: 0x6e0b2a20, 0x31802: 0x6e30dc20, 0x31803: 0x6ce8b420,\n\t0x31804: 0x6ce8b620, 0x31805: 0x6d9f3420, 0x31806: 0x6d9f3620, 0x31807: 0x6dc19420,\n\t0x31808: 0x6dc19620, 0x31809: 0x6dc19820, 0x3180a: 0x6ddf5a20, 0x3180b: 0x6ddf5c20,\n\t0x3180c: 0x6e3c4c20, 0x3180d: 0x6ce8b820, 0x3180e: 0x6d758020, 0x3180f: 0x6dc1a820,\n\t0x31810: 0x6e278420, 0x31811: 0x6ce8ba20, 0x31812: 0x6cb79620, 0x31813: 0x6d758a20,\n\t0x31814: 0x6d9f4c20, 0x31815: 0x6d9f4e20, 0x31816: 0x6d9f5020, 0x31817: 0x6d9f5220,\n\t0x31818: 0x6d9f5420, 0x31819: 0x6d585420, 0x3181a: 0x6dc1c220, 0x3181b: 0x6dc1c420,\n\t0x3181c: 0x6dc1c620, 0x3181d: 0x6dc1c820, 0x3181e: 0x6dc1ca20, 0x3181f: 0x6ddf7220,\n\t0x31820: 0x6ddf7420, 0x31821: 0x6ddf7620, 0x31822: 0x6df7c620, 0x31823: 0x6df7c820,\n\t0x31824: 0x6e0b5420, 0x31825: 0x6e0b5620, 0x31826: 0x6e0b5820, 0x31827: 0x6e0b5a20,\n\t0x31828: 0x6e0b5c20, 0x31829: 0x6e0b5e20, 0x3182a: 0x6e0b6020, 0x3182b: 0x6e1b2020,\n\t0x3182c: 0x6e1b2220, 0x3182d: 0x6e1b2420, 0x3182e: 0x6e1b2620, 0x3182f: 0x6e1b2820,\n\t0x31830: 0x6e278820, 0x31831: 0x6e278a20, 0x31832: 0x6e30f220, 0x31833: 0x6e30f420,\n\t0x31834: 0x6e30f620, 0x31835: 0x6e3c5820, 0x31836: 0x6e3fc820, 0x31837: 0x6e423420,\n\t0x31838: 0x6e43f420, 0x31839: 0x6ce8be20, 0x3183a: 0x6d9f7220, 0x3183b: 0x6dc1e620,\n\t0x3183c: 0x6df7e020, 0x3183d: 0x6d187420, 0x3183e: 0x6c42e420, 0x3183f: 0x6dc1e820,\n\t// Block 0xc61, offset 0x31840\n\t0x31840: 0x6ddf8e20, 0x31841: 0x6ddf9020, 0x31842: 0x6ddf9220, 0x31843: 0x6df7e420,\n\t0x31844: 0x6df7e620, 0x31845: 0x6e1b6620, 0x31846: 0x6e310c20, 0x31847: 0x6e310e20,\n\t0x31848: 0x6e3c7020, 0x31849: 0x6e3c7220, 0x3184a: 0x6e3fd420, 0x3184b: 0x6ce8c020,\n\t0x3184c: 0x6d187620, 0x3184d: 0x6e0b9620, 0x3184e: 0x6d187820, 0x3184f: 0x6d75a020,\n\t0x31850: 0x6d75a220, 0x31851: 0x6d75a420, 0x31852: 0x6d9f7820, 0x31853: 0x6d187a20,\n\t0x31854: 0x6d187c20, 0x31855: 0x6ddfaa20, 0x31856: 0x6ddfac20, 0x31857: 0x6df7f820,\n\t0x31858: 0x6e1b6e20, 0x31859: 0x6e1b7020, 0x3185a: 0x6e1b7220, 0x3185b: 0x6e1b7420,\n\t0x3185c: 0x6e311420, 0x3185d: 0x6e3c7a20, 0x3185e: 0x6e37ec20, 0x3185f: 0x6e3c7c20,\n\t0x31860: 0x6d188020, 0x31861: 0x6c42e620, 0x31862: 0x6dc20220, 0x31863: 0x6dc20420,\n\t0x31864: 0x6dc20620, 0x31865: 0x6ddfb820, 0x31866: 0x6ddfba20, 0x31867: 0x6ddfbc20,\n\t0x31868: 0x6ddfbe20, 0x31869: 0x6ddfc020, 0x3186a: 0x6ddfc220, 0x3186b: 0x6ddfc420,\n\t0x3186c: 0x6ddfc620, 0x3186d: 0x6df80c20, 0x3186e: 0x6e0ba420, 0x3186f: 0x6e0ba620,\n\t0x31870: 0x6e0ba820, 0x31871: 0x6e1b8020, 0x31872: 0x6e27d820, 0x31873: 0x6e27da20,\n\t0x31874: 0x6e27dc20, 0x31875: 0x6e27de20, 0x31876: 0x6e311c20, 0x31877: 0x6e311e20,\n\t0x31878: 0x6e312020, 0x31879: 0x6e312220, 0x3187a: 0x6e440020, 0x3187b: 0x6d478020,\n\t0x3187c: 0x6d9f8820, 0x3187d: 0x6d9f8a20, 0x3187e: 0x6dc22020, 0x3187f: 0x6dc22220,\n\t// Block 0xc62, offset 0x31880\n\t0x31880: 0x6df82220, 0x31881: 0x6df82420, 0x31882: 0x6e27f420, 0x31883: 0x6e313820,\n\t0x31884: 0x6e313a20, 0x31885: 0x6e380020, 0x31886: 0x6e380220, 0x31887: 0x6e3c9220,\n\t0x31888: 0x6e424e20, 0x31889: 0x6e46fc20, 0x3188a: 0x6d478220, 0x3188b: 0x6dc22c20,\n\t0x3188c: 0x6ddfec20, 0x3188d: 0x6df83420, 0x3188e: 0x6e1b9a20, 0x3188f: 0x6e314420,\n\t0x31890: 0x6c15e220, 0x31891: 0x6d75b420, 0x31892: 0x6d75b620, 0x31893: 0x6d9f9220,\n\t0x31894: 0x6dc23020, 0x31895: 0x6ddff620, 0x31896: 0x6df83e20, 0x31897: 0x6df84020,\n\t0x31898: 0x6df84220, 0x31899: 0x6e0bda20, 0x3189a: 0x6e0bdc20, 0x3189b: 0x6e0bde20,\n\t0x3189c: 0x6e1b9e20, 0x3189d: 0x6e0be020, 0x3189e: 0x6e0be220, 0x3189f: 0x6e0be420,\n\t0x318a0: 0x6e0be620, 0x318a1: 0x6e0be820, 0x318a2: 0x6dc23a20, 0x318a3: 0x6e0bea20,\n\t0x318a4: 0x6e1ba420, 0x318a5: 0x6e1ba620, 0x318a6: 0x6e1ba820, 0x318a7: 0x6e1baa20,\n\t0x318a8: 0x6e1bac20, 0x318a9: 0x6e1bae20, 0x318aa: 0x6e280020, 0x318ab: 0x6e280220,\n\t0x318ac: 0x6e280420, 0x318ad: 0x6e314a20, 0x318ae: 0x6e314c20, 0x318af: 0x6e314e20,\n\t0x318b0: 0x6e315020, 0x318b1: 0x6e315220, 0x318b2: 0x6e381220, 0x318b3: 0x6e381420,\n\t0x318b4: 0x6e381620, 0x318b5: 0x6e381820, 0x318b6: 0x6e381a20, 0x318b7: 0x6e381c20,\n\t0x318b8: 0x6e3ca820, 0x318b9: 0x6e3caa20, 0x318ba: 0x6e3cac20, 0x318bb: 0x6e3cae20,\n\t0x318bc: 0x6e440620, 0x318bd: 0x6e440820, 0x318be: 0x6e46dc20, 0x318bf: 0x6c42e820,\n\t// Block 0xc63, offset 0x318c0\n\t0x318c0: 0x6c8aee20, 0x318c1: 0x6cb79820, 0x318c2: 0x6ce8c420, 0x318c3: 0x6d188220,\n\t0x318c4: 0x6d188420, 0x318c5: 0x6d188620, 0x318c6: 0x6d188820, 0x318c7: 0x6d478620,\n\t0x318c8: 0x6d478820, 0x318c9: 0x6d75ba20, 0x318ca: 0x6d75bc20, 0x318cb: 0x6dc23c20,\n\t0x318cc: 0x6dc23e20, 0x318cd: 0x6d9f9c20, 0x318ce: 0x6de00020, 0x318cf: 0x6df85a20,\n\t0x318d0: 0x6de23620, 0x318d1: 0x6e0c1220, 0x318d2: 0x6e1be220, 0x318d3: 0x6e283820,\n\t0x318d4: 0x6e283a20, 0x318d5: 0x6e283c20, 0x318d6: 0x6e467820, 0x318d7: 0x6e46a820,\n\t0x318d8: 0x6e473c20, 0x318d9: 0x6c0aca20, 0x318da: 0x6cb79a20, 0x318db: 0x6cb79c20,\n\t0x318dc: 0x6d9f9e20, 0x318dd: 0x6e1bea20, 0x318de: 0x6e441620, 0x318df: 0x6c28ac20,\n\t0x318e0: 0x6dc24220, 0x318e1: 0x6e1c0020, 0x318e2: 0x6e284620, 0x318e3: 0x6e3cda20,\n\t0x318e4: 0x6e3ffc20, 0x318e5: 0x6e3ffe20, 0x318e6: 0x6d585620, 0x318e7: 0x6d7e6e20,\n\t0x318e8: 0x6c670020, 0x318e9: 0x6db26c20, 0x318ea: 0x6c610620, 0x318eb: 0x6ce29e20,\n\t0x318ec: 0x6d974220, 0x318ed: 0x6e186020, 0x318ee: 0x6e41aa20, 0x318ef: 0x6d135620,\n\t0x318f0: 0x6c04aa20, 0x318f1: 0x6c079420, 0x318f2: 0x6dd85820, 0x318f3: 0x6d789a20,\n\t0x318f4: 0x6c006420, 0x318f5: 0x6c01f820, 0x318f6: 0x6c03d220, 0x318f7: 0x6c0a5820,\n\t0x318f8: 0x6c083c20, 0x318f9: 0x6c0c7020, 0x318fa: 0x6c2bb820, 0x318fb: 0x6ded8620,\n\t0x318fc: 0x6da1a620, 0x318fd: 0x6d585820, 0x318fe: 0x6d00ea20, 0x318ff: 0x6cae1c20,\n\t// Block 0xc64, offset 0x31900\n\t0x31900: 0x6e134020, 0x31901: 0x6d0e4820, 0x31902: 0x6dd6dc20, 0x31903: 0x6cd37020,\n\t0x31904: 0x6c749620, 0x31905: 0x6daca820, 0x31906: 0x6c3cfa20, 0x31907: 0x6c29c820,\n\t0x31908: 0x6c1efa20, 0x31909: 0x6c1efc20, 0x3190a: 0x6cad0e20, 0x3190b: 0x6db51620,\n\t// Block 0xc65, offset 0x31940\n\t0x31940: 0x6c86d020, 0x31941: 0x6c219c20, 0x31942: 0x6c270e20, 0x31943: 0x6d0f3a20,\n\t0x31944: 0x6cfa9420, 0x31945: 0x6c160020, 0x31946: 0x6c073820, 0x31947: 0x6d9f9e20,\n\t0x31948: 0x6d9f9e20, 0x31949: 0x6c490c20, 0x3194a: 0x6c41dc20, 0x3194b: 0x6cbab020,\n\t0x3194c: 0x6c2eb020, 0x3194d: 0x6de28c20, 0x3194e: 0x6e102820, 0x3194f: 0x6de9ba20,\n\t0x31950: 0x6e2b8e20, 0x31951: 0x6db3f420, 0x31952: 0x6d3b6a20, 0x31953: 0x6e2d0820,\n\t0x31954: 0x6d540620, 0x31955: 0x6c542820, 0x31956: 0x6c782020, 0x31957: 0x6c79ee20,\n\t0x31958: 0x6d09ae20, 0x31959: 0x6d128020, 0x3195a: 0x6d9bda20, 0x3195b: 0x6ce8d220,\n\t0x3195c: 0x6c18d820, 0x3195d: 0x6e0e7820, 0x3195e: 0x6e0f8220, 0x3195f: 0x6e12b420,\n\t0x31960: 0x6e458e20, 0x31961: 0x6cc0c020, 0x31962: 0x6da7c620, 0x31963: 0x6dd18820,\n\t0x31964: 0x6e01ee20, 0x31965: 0x6c348020, 0x31966: 0x6dea2c20, 0x31967: 0x6e135e20,\n\t0x31968: 0x6cc21820, 0x31969: 0x6c73be20, 0x3196a: 0x6c769c20, 0x3196b: 0x6c795620,\n\t0x3196c: 0x6c620220, 0x3196d: 0x6c297820, 0x3196e: 0x6c179420, 0x3196f: 0x6cb9b220,\n\t0x31970: 0x6d7cd420, 0x31971: 0x6de3da20, 0x31972: 0x6dfc5620, 0x31973: 0x6d868620,\n\t0x31974: 0x6c144420, 0x31975: 0x6e008a20, 0x31976: 0x6d0bc020, 0x31977: 0x6d103820,\n\t0x31978: 0x6e16b020, 0x31979: 0x6d73ae20, 0x3197a: 0x6e371620, 0x3197b: 0x6d027820,\n\t0x3197c: 0x6d032420, 0x3197d: 0x6d33d820, 0x3197e: 0x6cdb3420, 0x3197f: 0x6d96bc20,\n\t// Block 0xc66, offset 0x31980\n\t0x31980: 0x6cb78620, 0x31981: 0x6d68ec20, 0x31982: 0x6de11020, 0x31983: 0x6c1e9220,\n\t0x31984: 0x6e1f9e20, 0x31985: 0x6e206020, 0x31986: 0x6c23f020, 0x31987: 0x6d5d2420,\n\t0x31988: 0x6d0f2e20, 0x31989: 0x6d152020, 0x3198a: 0x6dc3e620, 0x3198b: 0x6d1fe020,\n\t0x3198c: 0x6d542620, 0x3198d: 0x6c9f4220, 0x3198e: 0x6d295820, 0x3198f: 0x6ca91620,\n\t0x31990: 0x6daf5020, 0x31991: 0x6c62d820, 0x31992: 0x6c8d4420, 0x31993: 0x6c145c20,\n\t0x31994: 0x6d487e20, 0x31995: 0x6c65d820, 0x31996: 0x6d03ae20, 0x31997: 0x6d341420,\n\t0x31998: 0x6cdb8220, 0x31999: 0x6cb5fc20, 0x3199a: 0x6e21cc20, 0x3199b: 0x6c4ef420,\n\t0x3199c: 0x6d540620, 0x3199d: 0x6d927c20, 0x3199e: 0x6c024220, 0x3199f: 0x6d1f5620,\n\t0x319a0: 0x6c4d8620, 0x319a1: 0x6ca2d620, 0x319a2: 0x6ca3e620, 0x319a3: 0x6c06c620,\n\t0x319a4: 0x6dac3420, 0x319a5: 0x6c438020, 0x319a6: 0x6cc2d420, 0x319a7: 0x6c021a20,\n\t0x319a8: 0x6c38c420, 0x319a9: 0x6d527e20, 0x319aa: 0x6c803a20, 0x319ab: 0x6c8de620,\n\t0x319ac: 0x6ced8620, 0x319ad: 0x6c599e20, 0x319ae: 0x6d09c620, 0x319af: 0x6d3c9420,\n\t0x319b0: 0x6c9e2620, 0x319b1: 0x6c272020, 0x319b2: 0x6c22fc20, 0x319b3: 0x6c4f3820,\n\t0x319b4: 0x6c5eb420, 0x319b5: 0x6c997820, 0x319b6: 0x6ca3de20, 0x319b7: 0x6c433620,\n\t0x319b8: 0x6c2a4c20, 0x319b9: 0x6c65d220, 0x319ba: 0x6c9c8020, 0x319bb: 0x6dce7a20,\n\t0x319bc: 0x6c263620, 0x319bd: 0x6d68e420, 0x319be: 0x6ce47020, 0x319bf: 0x6da05e20,\n\t// Block 0xc67, offset 0x319c0\n\t0x319c0: 0x6c199220, 0x319c1: 0x6c019420, 0x319c2: 0x6de23220, 0x319c3: 0x6c72c420,\n\t0x319c4: 0x6dc8dc20, 0x319c5: 0x6dfe0220, 0x319c6: 0x6d6f2820, 0x319c7: 0x6e44c220,\n\t0x319c8: 0x6df75420, 0x319c9: 0x6d758020, 0x319ca: 0x6c00a820, 0x319cb: 0x6d7e5e20,\n\t0x319cc: 0x6d80f220, 0x319cd: 0x6e22bc20, 0x319ce: 0x6c10da20, 0x319cf: 0x6d4fbc20,\n\t0x319d0: 0x6e28d020, 0x319d1: 0x6d515420, 0x319d2: 0x6d297c20, 0x319d3: 0x6cfc0c20,\n\t0x319d4: 0x6d5a3c20, 0x319d5: 0x6c3d4620, 0x319d6: 0x6d60c620, 0x319d7: 0x6db0a020,\n\t0x319d8: 0x6d6bf020, 0x319d9: 0x6d642020, 0x319da: 0x6cb37e20, 0x319db: 0x6db9b220,\n\t0x319dc: 0x6c0cfc20, 0x319dd: 0x6c0d4020, 0x319de: 0x6c46c420, 0x319df: 0x6c77fe20,\n\t0x319e0: 0x6cde9a20, 0x319e1: 0x6d3c9420, 0x319e2: 0x6cf17420, 0x319e3: 0x6c32f220,\n\t0x319e4: 0x6c993220, 0x319e5: 0x6da72420, 0x319e6: 0x6de83e20, 0x319e7: 0x6dca5a20,\n\t0x319e8: 0x6c05e820, 0x319e9: 0x6c2d8820, 0x319ea: 0x6d1f5620, 0x319eb: 0x6da2f220,\n\t0x319ec: 0x6c333420, 0x319ed: 0x6c573a20, 0x319ee: 0x6d5a0620, 0x319ef: 0x6caa3420,\n\t0x319f0: 0x6caada20, 0x319f1: 0x6d12d220, 0x319f2: 0x6d151e20, 0x319f3: 0x6e359c20,\n\t0x319f4: 0x6d442e20, 0x319f5: 0x6c298220, 0x319f6: 0x6dcca820, 0x319f7: 0x6e043820,\n\t0x319f8: 0x6dbbb220, 0x319f9: 0x6cc32e20, 0x319fa: 0x6c006a20, 0x319fb: 0x6d18e420,\n\t0x319fc: 0x6d4cd620, 0x319fd: 0x6c1cfc20, 0x319fe: 0x6c729c20, 0x319ff: 0x6d540620,\n\t// Block 0xc68, offset 0x31a00\n\t0x31a00: 0x6d834420, 0x31a01: 0x6daa7820, 0x31a02: 0x6d643a20, 0x31a03: 0x6d95ae20,\n\t0x31a04: 0x6d9f9c20, 0x31a05: 0x6cf5f820, 0x31a06: 0x6c283820, 0x31a07: 0x6d48a020,\n\t0x31a08: 0x6c368e20, 0x31a09: 0x6c521a20, 0x31a0a: 0x6c546e20, 0x31a0b: 0x6cfa3020,\n\t0x31a0c: 0x6c7a1820, 0x31a0d: 0x6c7ac820, 0x31a0e: 0x6cd45220, 0x31a0f: 0x6c801620,\n\t0x31a10: 0x6df30020, 0x31a11: 0x6c02d820, 0x31a12: 0x6d50c420, 0x31a13: 0x6cb60220,\n\t0x31a14: 0x6c64a820, 0x31a15: 0x6c945a20, 0x31a16: 0x6c9f6220, 0x31a17: 0x6d6bf820,\n\t0x31a18: 0x6c4d5820, 0x31a19: 0x6cf2a220, 0x31a1a: 0x6c73f020, 0x31a1b: 0x6ca2d620,\n\t0x31a1c: 0x6ce61620, 0x31a1d: 0x6c17f820, 0x31a1e: 0x6c0e4220, 0x31a1f: 0x6d4d6420,\n\t0x31a20: 0x6c35ea20, 0x31a21: 0x6c21ce20, 0x31a22: 0x6c9cce20, 0x31a23: 0x6c38f420,\n\t0x31a24: 0x6ca30c20, 0x31a25: 0x6cd24620, 0x31a26: 0x6d8bbe20, 0x31a27: 0x6d0cea20,\n\t0x31a28: 0x6d0d0c20, 0x31a29: 0x6c27f020, 0x31a2a: 0x6dd9bc20, 0x31a2b: 0x6c8d9420,\n\t0x31a2c: 0x6cfa6c20, 0x31a2d: 0x6c194820, 0x31a2e: 0x6d834820, 0x31a2f: 0x6d84e820,\n\t0x31a30: 0x6e007220, 0x31a31: 0x6d6f9220, 0x31a32: 0x6e2f7020, 0x31a33: 0x6e30b220,\n\t0x31a34: 0x6c36c420, 0x31a35: 0x6c9f2420, 0x31a36: 0x6db16420, 0x31a37: 0x6c0a4420,\n\t0x31a38: 0x6ca80e20, 0x31a39: 0x6ca89c20, 0x31a3a: 0x6c3ab620, 0x31a3b: 0x6c39cc20,\n\t0x31a3c: 0x6ded7c20, 0x31a3d: 0x6c029620, 0x31a3e: 0x6c83b820, 0x31a3f: 0x6c2ae020,\n\t// Block 0xc69, offset 0x31a40\n\t0x31a40: 0x6c032820, 0x31a41: 0x6c4c8220, 0x31a42: 0x6c349220, 0x31a43: 0x6d8a6620,\n\t0x31a44: 0x6c0fbc20, 0x31a45: 0x6c542c20, 0x31a46: 0x6d531620, 0x31a47: 0x6d952420,\n\t0x31a48: 0x6c14d020, 0x31a49: 0x6c62dc20, 0x31a4a: 0x6c26a020, 0x31a4b: 0x6d212a20,\n\t0x31a4c: 0x6c014620, 0x31a4d: 0x6ceb7220, 0x31a4e: 0x6ceb3420, 0x31a4f: 0x6c69d820,\n\t0x31a50: 0x6ced7e20, 0x31a51: 0x6cc0dc20, 0x31a52: 0x6cc79a20, 0x31a53: 0x6cf79a20,\n\t0x31a54: 0x6d26f820, 0x31a55: 0x6d769020, 0x31a56: 0x6ca29820, 0x31a57: 0x6c7bf820,\n\t0x31a58: 0x6c13f620, 0x31a59: 0x6c7de220, 0x31a5a: 0x6ca69620, 0x31a5b: 0x6d30ce20,\n\t0x31a5c: 0x6d155620, 0x31a5d: 0x6d335420, 0x31a5e: 0x6c144220, 0x31a5f: 0x6deabe20,\n\t0x31a60: 0x6e015420, 0x31a61: 0x6caea820, 0x31a62: 0x6d697820, 0x31a63: 0x6cb20820,\n\t0x31a64: 0x6c412e20, 0x31a65: 0x6ce32420, 0x31a66: 0x6cb42820, 0x31a67: 0x6d6e4820,\n\t0x31a68: 0x6d974420, 0x31a69: 0x6d149c20, 0x31a6a: 0x6ce7aa20, 0x31a6b: 0x6d16a820,\n\t0x31a6c: 0x6d9b2420, 0x31a6d: 0x6e1a2020, 0x31a6e: 0x6c888620, 0x31a6f: 0x6d98c020,\n\t0x31a70: 0x6c435e20, 0x31a71: 0x6d18fe20, 0x31a72: 0x6c173820, 0x31a73: 0x6c456020,\n\t0x31a74: 0x6cea9c20, 0x31a75: 0x6c2bac20, 0x31a76: 0x6cbada20, 0x31a77: 0x6d1b7220,\n\t0x31a78: 0x6d773620, 0x31a79: 0x6cbcc820, 0x31a7a: 0x6d758820, 0x31a7b: 0x6d4d6220,\n\t0x31a7c: 0x6c01b620, 0x31a7d: 0x6c6fc020, 0x31a7e: 0x6cc3aa20, 0x31a7f: 0x6d4fb820,\n\t// Block 0xc6a, offset 0x31a80\n\t0x31a80: 0x6de28220, 0x31a81: 0x6c9ab020, 0x31a82: 0x6c50ac20, 0x31a83: 0x6cc7b820,\n\t0x31a84: 0x6c9c8820, 0x31a85: 0x6c76b620, 0x31a86: 0x6c9fb820, 0x31a87: 0x6d297a20,\n\t0x31a88: 0x6cce4620, 0x31a89: 0x6c04d820, 0x31a8a: 0x6cd0a820, 0x31a8b: 0x6d028220,\n\t0x31a8c: 0x6c3cee20, 0x31a8d: 0x6c5ad020, 0x31a8e: 0x6c5ace20, 0x31a8f: 0x6c7dc620,\n\t0x31a90: 0x6c7dd220, 0x31a91: 0x6c7de020, 0x31a92: 0x6d30ca20, 0x31a93: 0x6d30cc20,\n\t0x31a94: 0x6d5e0420, 0x31a95: 0x6c5ba420, 0x31a96: 0x6d051020, 0x31a97: 0x6d60c620,\n\t0x31a98: 0x6d8abc20, 0x31a99: 0x6daf6420, 0x31a9a: 0x6d071220, 0x31a9b: 0x6c3e3620,\n\t0x31a9c: 0x6c82de20, 0x31a9d: 0x6c020420, 0x31a9e: 0x6c020420, 0x31a9f: 0x6cdbee20,\n\t0x31aa0: 0x6d678620, 0x31aa1: 0x6ca6aa20, 0x31aa2: 0x6d928220, 0x31aa3: 0x6dd48e20,\n\t0x31aa4: 0x6d3d8420, 0x31aa5: 0x6dee3c20, 0x31aa6: 0x6c051e20, 0x31aa7: 0x6ce32420,\n\t0x31aa8: 0x6df1b220, 0x31aa9: 0x6e06f620, 0x31aaa: 0x6d9a4a20, 0x31aab: 0x6c6f8420,\n\t0x31aac: 0x6cfce020, 0x31aad: 0x6d8d8a20,\n\t0x31ab0: 0x6c28ae20, 0x31ab1: 0x6c179020, 0x31ab2: 0x6c0c5a20, 0x31ab3: 0x6c296c20,\n\t0x31ab4: 0x6c061420, 0x31ab5: 0x6d767a20, 0x31ab6: 0x6c455c20, 0x31ab7: 0x6c016420,\n\t0x31ab8: 0x6cbada20, 0x31ab9: 0x6c8e9a20, 0x31aba: 0x6cbad220, 0x31abb: 0x6cebb420,\n\t0x31abc: 0x6ced7e20, 0x31abd: 0x6d4b0420, 0x31abe: 0x6c2ea820, 0x31abf: 0x6c2ef220,\n\t// Block 0xc6b, offset 0x31ac0\n\t0x31ac0: 0x6c924620, 0x31ac1: 0x6d79de20, 0x31ac2: 0x6d212820, 0x31ac3: 0x6d216c20,\n\t0x31ac4: 0x6c96ac20, 0x31ac5: 0x6cf1fa20, 0x31ac6: 0x6c97b620, 0x31ac7: 0x6cf2b020,\n\t0x31ac8: 0x6cf25620, 0x31ac9: 0x6d4fb820, 0x31aca: 0x6d224e20, 0x31acb: 0x6de28220,\n\t0x31acc: 0x6da46c20, 0x31acd: 0x6cc4ee20, 0x31ace: 0x6cf40620, 0x31acf: 0x6cc56820,\n\t0x31ad0: 0x6c9abe20, 0x31ad1: 0x6cc79a20, 0x31ad2: 0x6c73be20, 0x31ad3: 0x6c9c2220,\n\t0x31ad4: 0x6c21de20, 0x31ad5: 0x6c04ae20, 0x31ad6: 0x6c9e2620, 0x31ad7: 0x6c546e20,\n\t0x31ad8: 0x6cfaa420, 0x31ad9: 0x6cccf220, 0x31ada: 0x6d297a20, 0x31adb: 0x6de4d620,\n\t0x31adc: 0x6cce4620, 0x31add: 0x6dab6420, 0x31ade: 0x6da93020, 0x31adf: 0x6c09de20,\n\t0x31ae0: 0x6ca29820, 0x31ae1: 0x6d2d0620, 0x31ae2: 0x6d2dac20, 0x31ae3: 0x6c3be220,\n\t0x31ae4: 0x6d5b5220, 0x31ae5: 0x6d5b3020, 0x31ae6: 0x6c7bf820, 0x31ae7: 0x6ca4d020,\n\t0x31ae8: 0x6c3c8820, 0x31ae9: 0x6cd36020, 0x31aea: 0x6ca59220, 0x31aeb: 0x6d5d2820,\n\t0x31aec: 0x6d5e7620, 0x31aed: 0x6d051020, 0x31aee: 0x6c5c3a20, 0x31aef: 0x6d061420,\n\t0x31af0: 0x6d60c620, 0x31af1: 0x6cd85420, 0x31af2: 0x6c3e3620, 0x31af3: 0x6c83e820,\n\t0x31af4: 0x6cdb7e20, 0x31af5: 0x6d900a20, 0x31af6: 0x6db50820, 0x31af7: 0x6dd40e20,\n\t0x31af8: 0x6ca6aa20, 0x31af9: 0x6d68be20, 0x31afa: 0x6d697820, 0x31afb: 0x6d68d620,\n\t0x31afc: 0x6d928220, 0x31afd: 0x6d927c20, 0x31afe: 0x6d925c20, 0x31aff: 0x6dd48e20,\n\t// Block 0xc6c, offset 0x31b00\n\t0x31b00: 0x6e2c4c20, 0x31b01: 0x6dee3c20, 0x31b02: 0x6d951e20, 0x31b03: 0x6d959e20,\n\t0x31b04: 0x6db93e20, 0x31b05: 0x6d40e620, 0x31b06: 0x6cb60820, 0x31b07: 0x6df1b220,\n\t0x31b08: 0x6d155620, 0x31b09: 0x6e06d420, 0x31b0a: 0x6e06f620, 0x31b0b: 0x6d15fc20,\n\t0x31b0c: 0x6d9a4a20, 0x31b0d: 0x6e08b620, 0x31b0e: 0x6d9f9e20, 0x31b0f: 0x6d502220,\n\t0x31b10: 0x6d501620, 0x31b11: 0x6c36f420, 0x31b12: 0x6cf6d620, 0x31b13: 0x6c597a20,\n\t0x31b14: 0x6cd34020, 0x31b15: 0x6d5c7220, 0x31b16: 0x6dcdba20, 0x31b17: 0x6d0fcc20,\n\t0x31b18: 0x6e313820, 0x31b19: 0x6de00020,\n\t// Block 0xc6d, offset 0x31b40\n\t0x31b40: 0xf0001c1c, 0x31b41: 0xf0001c1c, 0x31b42: 0x00658c9c,\n\t0x31b50: 0x2c047483, 0x31b51: 0x2c0faa83, 0x31b52: 0x2c03a483, 0x31b53: 0xf0001c1c,\n\t0x31b54: 0x2c007483, 0x31b55: 0x2c0f1e83, 0x31b56: 0x2d0dc083, 0x31b57: 0x2c03de83,\n\t0x31b58: 0x2c0b5483, 0x31b59: 0x2c50d083, 0x31b5a: 0x2cce0683, 0x31b5b: 0x2c729c83,\n\t0x31b5c: 0x2c44fc83, 0x31b5d: 0x2c4d5a83, 0x31b5e: 0x2c0c7883, 0x31b5f: 0x2cf5a283,\n\t0x31b60: 0x2c17e083, 0x31b61: 0x2ca93c83, 0x31b62: 0x2c0a0283, 0x31b63: 0x2cb1a083,\n\t0x31b64: 0x2c1b6883, 0x31b65: 0x2c198083, 0x31b66: 0x2d295e83, 0x31b67: 0x2c208683,\n\t0x31b68: 0x2c714283, 0x31b69: 0x2c000283, 0x31b6a: 0x2c00dc83, 0x31b6b: 0x2d118683,\n\t0x31b6c: 0x2c089283, 0x31b6d: 0x2c023683, 0x31b6e: 0x2c075483, 0x31b6f: 0x2c4f4883,\n\t0x31b70: 0x2c26fc83, 0x31b71: 0x2c093e83, 0x31b72: 0x2d032883, 0x31b73: 0x2c3d6e83,\n\t0x31b74: 0x2c0e3483, 0x31b75: 0x2cccd883, 0x31b76: 0x2c127483, 0x31b77: 0x2c049c83,\n\t0x31b78: 0x2c0a1083, 0x31b79: 0x2cb95283, 0x31b7a: 0x2c901a83,\n\t// Block 0xc6e, offset 0x31b80\n\t0x31b80: 0xe000b653, 0x31b81: 0xe000b64b, 0x31b82: 0xe000b647, 0x31b83: 0xe000b657,\n\t0x31b84: 0xe000b65b, 0x31b85: 0xe000b64f, 0x31b86: 0xe000b663, 0x31b87: 0xe000b667,\n\t0x31b88: 0xe000b65f,\n\t0x31b90: 0x2c96d483, 0x31b91: 0x2c074c83,\n\t// Block 0xc6f, offset 0x31bc0\n\t0x31bc0: 0x6c003e20, 0x31bc1: 0x6c004020, 0x31bc2: 0x6c004220, 0x31bc3: 0x6c00e820,\n\t0x31bc4: 0x6c00ea20, 0x31bc5: 0x6c00ec20, 0x31bc6: 0x6c00ee20, 0x31bc7: 0x6c022820,\n\t0x31bc8: 0x6c022a20, 0x31bc9: 0x6c022c20, 0x31bca: 0x6c022e20, 0x31bcb: 0x6c023020,\n\t0x31bcc: 0x6c023220, 0x31bcd: 0x6c055220, 0x31bce: 0x6c055420, 0x31bcf: 0x6c055620,\n\t0x31bd0: 0x6c055820, 0x31bd1: 0x6c055a20, 0x31bd2: 0x6c055c20, 0x31bd3: 0x6c055e20,\n\t0x31bd4: 0x6c056020, 0x31bd5: 0x6c056220, 0x31bd6: 0x6c056420, 0x31bd7: 0x6c056620,\n\t0x31bd8: 0x6c0ada20, 0x31bd9: 0x6c0adc20, 0x31bda: 0x6c0ade20, 0x31bdb: 0x6c0f4220,\n\t0x31bdc: 0x6c0ae020, 0x31bdd: 0x6c0dac20, 0x31bde: 0x6c0ae220, 0x31bdf: 0x6c0ae420,\n\t0x31be0: 0x6c0ae620, 0x31be1: 0x6c15ec20, 0x31be2: 0x6c15ee20, 0x31be3: 0x6c15f020,\n\t0x31be4: 0x6c15f220, 0x31be5: 0x6c162c20, 0x31be6: 0x6c15f420, 0x31be7: 0x6c15f620,\n\t0x31be8: 0x6c15f820, 0x31be9: 0x6c0b3a20, 0x31bea: 0x6c15fa20, 0x31beb: 0x6c15fc20,\n\t0x31bec: 0x6c28b220, 0x31bed: 0x6c28b420, 0x31bee: 0x6c28b620, 0x31bef: 0x6c2d9420,\n\t0x31bf0: 0x6c28b820, 0x31bf1: 0x6c28ba20, 0x31bf2: 0x6c28bc20, 0x31bf3: 0x6c28be20,\n\t0x31bf4: 0x6c28c020, 0x31bf5: 0x6c42ea20, 0x31bf6: 0x6c42ec20, 0x31bf7: 0x6c470a20,\n\t0x31bf8: 0x6c42ee20, 0x31bf9: 0x6c470c20, 0x31bfa: 0x6c42f020, 0x31bfb: 0x6c42f220,\n\t0x31bfc: 0x6c6a8820, 0x31bfd: 0x6c63cc20, 0x31bfe: 0x6c63ce20, 0x31bff: 0x6c63d020,\n\t// Block 0xc70, offset 0x31c00\n\t0x31c00: 0x6c63d220, 0x31c01: 0x6c8af020, 0x31c02: 0x6c8af220, 0x31c03: 0x6c8af420,\n\t0x31c04: 0x6c8af620, 0x31c05: 0x6c8af820, 0x31c06: 0x6cb79e20, 0x31c07: 0x6cb7a020,\n\t0x31c08: 0x6cb7a220, 0x31c09: 0x6cb93420, 0x31c0a: 0x6cb7a420, 0x31c0b: 0x6cb7a620,\n\t0x31c0c: 0x6ce8ca20, 0x31c0d: 0x6ce8cc20, 0x31c0e: 0x6d188c20, 0x31c0f: 0x6d188e20,\n\t0x31c10: 0x6d189020, 0x31c11: 0x6d189220, 0x31c12: 0x6d189420, 0x31c13: 0x6d479020,\n\t0x31c14: 0x6d479220, 0x31c15: 0x6d75c220, 0x31c16: 0x6d9fa420, 0x31c17: 0x6d75c420,\n\t0x31c18: 0x6d75c620, 0x31c19: 0x6d75c820, 0x31c1a: 0x6d75ca20, 0x31c1b: 0x6d75cc20,\n\t0x31c1c: 0x6da01620, 0x31c1d: 0x6d75ce20, 0x31c1e: 0x6da57820, 0x31c1f: 0x6dc24420,\n\t0x31c20: 0x6df86a20, 0x31c21: 0x6c004620, 0x31c22: 0x6c004820, 0x31c23: 0x6c023e20,\n\t0x31c24: 0x6c079620, 0x31c25: 0x6c056a20, 0x31c26: 0x6c0aea20, 0x31c27: 0x6c160220,\n\t0x31c28: 0x6c160420, 0x31c29: 0x6c28c620, 0x31c2a: 0x6c28c820, 0x31c2b: 0x6c28ca20,\n\t0x31c2c: 0x6c28cc20, 0x31c2d: 0x6c42f820, 0x31c2e: 0x6c42fa20, 0x31c2f: 0x6c42fc20,\n\t0x31c30: 0x6c63da20, 0x31c31: 0x6c63dc20, 0x31c32: 0x6c15ae20, 0x31c33: 0x6c8afc20,\n\t0x31c34: 0x6cb7a820, 0x31c35: 0x6cb7aa20, 0x31c36: 0x6d189820, 0x31c37: 0x6d1bb420,\n\t0x31c38: 0x6d479420, 0x31c39: 0x6dc24620, 0x31c3a: 0x6de00420, 0x31c3b: 0x6e1c0420,\n\t0x31c3c: 0x6c010220, 0x31c3d: 0x6c010420, 0x31c3e: 0x6c026420, 0x31c3f: 0x6c024620,\n\t// Block 0xc71, offset 0x31c40\n\t0x31c40: 0x6c057020, 0x31c41: 0x6c057220, 0x31c42: 0x6c0aec20, 0x31c43: 0x6c63de20,\n\t0x31c44: 0x6ce8ce20, 0x31c45: 0x6d75d420, 0x31c46: 0x6c005620, 0x31c47: 0x6c005820,\n\t0x31c48: 0x6c005a20, 0x31c49: 0x6c005c20, 0x31c4a: 0x6c005e20, 0x31c4b: 0x6c011020,\n\t0x31c4c: 0x6c011220, 0x31c4d: 0x6c011420, 0x31c4e: 0x6c011620, 0x31c4f: 0x6c024e20,\n\t0x31c50: 0x6c025020, 0x31c51: 0x6c025220, 0x31c52: 0x6c025420, 0x31c53: 0x6c025620,\n\t0x31c54: 0x6c057c20, 0x31c55: 0x6c057e20, 0x31c56: 0x6c058020, 0x31c57: 0x6c058220,\n\t0x31c58: 0x6c058420, 0x31c59: 0x6c058620, 0x31c5a: 0x6c058820, 0x31c5b: 0x6c058a20,\n\t0x31c5c: 0x6c058c20, 0x31c5d: 0x6c058e20, 0x31c5e: 0x6c059020, 0x31c5f: 0x6c059220,\n\t0x31c60: 0x6c059420, 0x31c61: 0x6c059620, 0x31c62: 0x6c0af820, 0x31c63: 0x6c0afa20,\n\t0x31c64: 0x6c0afc20, 0x31c65: 0x6c0afe20, 0x31c66: 0x6c0b0020, 0x31c67: 0x6c0b0220,\n\t0x31c68: 0x6c149620, 0x31c69: 0x6c0b0420, 0x31c6a: 0x6c0b0620, 0x31c6b: 0x6c0b0820,\n\t0x31c6c: 0x6c0dd620, 0x31c6d: 0x6c0b0a20, 0x31c6e: 0x6c0dd820, 0x31c6f: 0x6c160820,\n\t0x31c70: 0x6c18ea20, 0x31c71: 0x6c227c20, 0x31c72: 0x6c28d220, 0x31c73: 0x6c28d420,\n\t0x31c74: 0x6c430420, 0x31c75: 0x6c3bd820, 0x31c76: 0x6c28d620, 0x31c77: 0x6c430620,\n\t0x31c78: 0x6c431c20, 0x31c79: 0x6c63e220, 0x31c7a: 0x6c63e420, 0x31c7b: 0x6c63e620,\n\t0x31c7c: 0x6c63e820, 0x31c7d: 0x6c63ea20, 0x31c7e: 0x6c63ec20, 0x31c7f: 0x6c8afe20,\n\t// Block 0xc72, offset 0x31c80\n\t0x31c80: 0x6c8b0020, 0x31c81: 0x6c8b0220, 0x31c82: 0x6c8b0420, 0x31c83: 0x6cb7ac20,\n\t0x31c84: 0x6cb7ae20, 0x31c85: 0x6d189a20, 0x31c86: 0x6ce8d020, 0x31c87: 0x6d479620,\n\t0x31c88: 0x6e284820, 0x31c89: 0x6c001620, 0x31c8a: 0x6c001820, 0x31c8b: 0x6c001a20,\n\t0x31c8c: 0x6c001c20, 0x31c8d: 0x6c001e20, 0x31c8e: 0x6c002020, 0x31c8f: 0x6c006620,\n\t0x31c90: 0x6c006820, 0x31c91: 0x6c002220, 0x31c92: 0x6c012620, 0x31c93: 0x6c012820,\n\t0x31c94: 0x6c012a20, 0x31c95: 0x6c026620, 0x31c96: 0x6c026820, 0x31c97: 0x6c026a20,\n\t0x31c98: 0x6c026c20, 0x31c99: 0x6c026e20, 0x31c9a: 0x6c027020, 0x31c9b: 0x6c027220,\n\t0x31c9c: 0x6c027420, 0x31c9d: 0x6c027620, 0x31c9e: 0x6c05a220, 0x31c9f: 0x6c05a420,\n\t0x31ca0: 0x6c05a620, 0x31ca1: 0x6c05a820, 0x31ca2: 0x6c05aa20, 0x31ca3: 0x6c05ac20,\n\t0x31ca4: 0x6c0b2c20, 0x31ca5: 0x6c0b2e20, 0x31ca6: 0x6c0b3020, 0x31ca7: 0x6c0b3220,\n\t0x31ca8: 0x6c0b3420, 0x31ca9: 0x6c161420, 0x31caa: 0x6c161620, 0x31cab: 0x6c24c020,\n\t0x31cac: 0x6c161820, 0x31cad: 0x6c28ea20, 0x31cae: 0x6c28ec20, 0x31caf: 0x6c28ee20,\n\t0x31cb0: 0x6c3bda20, 0x31cb1: 0x6c2fdc20, 0x31cb2: 0x6c431e20, 0x31cb3: 0x6c432020,\n\t0x31cb4: 0x6c432220, 0x31cb5: 0x6c432420, 0x31cb6: 0x6c432620, 0x31cb7: 0x6c432820,\n\t0x31cb8: 0x6c63f420, 0x31cb9: 0x6c63f620, 0x31cba: 0x6c63f820, 0x31cbb: 0x6c63fa20,\n\t0x31cbc: 0x6c8b1220, 0x31cbd: 0x6c8b1420, 0x31cbe: 0x6c8b1620, 0x31cbf: 0x6c8b1820,\n\t// Block 0xc73, offset 0x31cc0\n\t0x31cc0: 0x6c8b1a20, 0x31cc1: 0x6c8b1c20, 0x31cc2: 0x6c8b1e20, 0x31cc3: 0x6ce8d820,\n\t0x31cc4: 0x6ce8da20, 0x31cc5: 0x6d189c20, 0x31cc6: 0x6d189e20, 0x31cc7: 0x6d18a020,\n\t0x31cc8: 0x6d18a220, 0x31cc9: 0x6d9fa620, 0x31cca: 0x6de00820, 0x31ccb: 0x6df86c20,\n\t0x31ccc: 0x6c002620, 0x31ccd: 0x6c006c20, 0x31cce: 0x6c006e20, 0x31ccf: 0x6c007020,\n\t0x31cd0: 0x6c007220, 0x31cd1: 0x6c012e20, 0x31cd2: 0x6c027c20, 0x31cd3: 0x6c027e20,\n\t0x31cd4: 0x6c028020, 0x31cd5: 0x6c0b3c20, 0x31cd6: 0x6c162220, 0x31cd7: 0x6c162420,\n\t0x31cd8: 0x6c162620, 0x31cd9: 0x6c28f620, 0x31cda: 0x6c8b2220, 0x31cdb: 0x6cb7ba20,\n\t0x31cdc: 0x6d479820, 0x31cdd: 0x6d75d820, 0x31cde: 0x6c007620, 0x31cdf: 0x6c007820,\n\t0x31ce0: 0x6c007a20, 0x31ce1: 0x6c028e20, 0x31ce2: 0x6c0b4420, 0x31ce3: 0x6c0b4620,\n\t0x31ce4: 0x6c0b4820, 0x31ce5: 0x6c0b4a20, 0x31ce6: 0x6c0b4c20, 0x31ce7: 0x6c0b4e20,\n\t0x31ce8: 0x6c162e20, 0x31ce9: 0x6c163020, 0x31cea: 0x6c163220, 0x31ceb: 0x6c290220,\n\t0x31cec: 0x6c290420, 0x31ced: 0x6c290620, 0x31cee: 0x6c290820, 0x31cef: 0x6c290a20,\n\t0x31cf0: 0x6c432c20, 0x31cf1: 0x6c432e20, 0x31cf2: 0x6c433020, 0x31cf3: 0x6c433220,\n\t0x31cf4: 0x6c4d0220, 0x31cf5: 0x6c640220, 0x31cf6: 0x6c640420, 0x31cf7: 0x6c640620,\n\t0x31cf8: 0x6c640820, 0x31cf9: 0x6c8b2420, 0x31cfa: 0x6c8b2620, 0x31cfb: 0x6cb7be20,\n\t0x31cfc: 0x6ce8de20, 0x31cfd: 0x6ce8e020, 0x31cfe: 0x6ce8e220, 0x31cff: 0x6d18a620,\n\t// Block 0xc74, offset 0x31d00\n\t0x31d00: 0x6d479a20, 0x31d01: 0x6c029420, 0x31d02: 0x6c05b220, 0x31d03: 0x6c0b5c20,\n\t0x31d04: 0x6c0b5e20, 0x31d05: 0x6c0b6020, 0x31d06: 0x6c0b6220, 0x31d07: 0x6c0b6420,\n\t0x31d08: 0x6c163c20, 0x31d09: 0x6c163e20, 0x31d0a: 0x6c164020, 0x31d0b: 0x6c164220,\n\t0x31d0c: 0x6c291220, 0x31d0d: 0x6c291420, 0x31d0e: 0x6c291620, 0x31d0f: 0x6c291820,\n\t0x31d10: 0x6c291a20, 0x31d11: 0x6c291c20, 0x31d12: 0x6c291e20, 0x31d13: 0x6c434020,\n\t0x31d14: 0x6c434220, 0x31d15: 0x6c434420, 0x31d16: 0x6c640c20, 0x31d17: 0x6c6a8e20,\n\t0x31d18: 0x6c640e20, 0x31d19: 0x6c641020, 0x31d1a: 0x6c641220, 0x31d1b: 0x6c641420,\n\t0x31d1c: 0x6c641620, 0x31d1d: 0x6c641820, 0x31d1e: 0x6c8b2820, 0x31d1f: 0x6c8b2a20,\n\t0x31d20: 0x6c8b2c20, 0x31d21: 0x6c8b2e20, 0x31d22: 0x6c8b3020, 0x31d23: 0x6c8b3220,\n\t0x31d24: 0x6c8b3420, 0x31d25: 0x6c8b3620, 0x31d26: 0x6c8b3820, 0x31d27: 0x6c8b3a20,\n\t0x31d28: 0x6cb7c420, 0x31d29: 0x6cb7c620, 0x31d2a: 0x6cb7c820, 0x31d2b: 0x6cb7ca20,\n\t0x31d2c: 0x6cb7cc20, 0x31d2d: 0x6cb7ce20, 0x31d2e: 0x6cb7d020, 0x31d2f: 0x6cb7d220,\n\t0x31d30: 0x6cd41020, 0x31d31: 0x6cbd9c20, 0x31d32: 0x6cb7d420, 0x31d33: 0x6ce8ea20,\n\t0x31d34: 0x6ce8ec20, 0x31d35: 0x6ce8ee20, 0x31d36: 0x6ce8f020, 0x31d37: 0x6ce8f220,\n\t0x31d38: 0x6ce8f420, 0x31d39: 0x6cf16620, 0x31d3a: 0x6ce8f620, 0x31d3b: 0x6ce8f820,\n\t0x31d3c: 0x6ce8fa20, 0x31d3d: 0x6cf00420, 0x31d3e: 0x6d18aa20, 0x31d3f: 0x6d18ac20,\n\t// Block 0xc75, offset 0x31d40\n\t0x31d40: 0x6ce8fc20, 0x31d41: 0x6d479e20, 0x31d42: 0x6d47a020, 0x31d43: 0x6d47a220,\n\t0x31d44: 0x6d47a420, 0x31d45: 0x6d47a620, 0x31d46: 0x6d47a820, 0x31d47: 0x6d47aa20,\n\t0x31d48: 0x6d47ac20, 0x31d49: 0x6d47ae20, 0x31d4a: 0x6d49c820, 0x31d4b: 0x6d75dc20,\n\t0x31d4c: 0x6d75de20, 0x31d4d: 0x6d75e020, 0x31d4e: 0x6d75e220, 0x31d4f: 0x6d75e420,\n\t0x31d50: 0x6d75e620, 0x31d51: 0x6d75e820, 0x31d52: 0x6d75ea20, 0x31d53: 0x6d790e20,\n\t0x31d54: 0x6d75ec20, 0x31d55: 0x6d791020, 0x31d56: 0x6d75ee20, 0x31d57: 0x6d75f020,\n\t0x31d58: 0x6d75f220, 0x31d59: 0x6da20a20, 0x31d5a: 0x6dc24820, 0x31d5b: 0x6dc70c20,\n\t0x31d5c: 0x6ddfee20, 0x31d5d: 0x6de00a20, 0x31d5e: 0x6e0c3c20, 0x31d5f: 0x6e318620,\n\t0x31d60: 0x6e428220, 0x31d61: 0x6e442020, 0x31d62: 0x6c008220, 0x31d63: 0x6c014020,\n\t0x31d64: 0x6c014220, 0x31d65: 0x6c014420, 0x31d66: 0x6c02be20, 0x31d67: 0x6c02c020,\n\t0x31d68: 0x6c02c220, 0x31d69: 0x6c05fc20, 0x31d6a: 0x6c05fe20, 0x31d6b: 0x6c060020,\n\t0x31d6c: 0x6c060220, 0x31d6d: 0x6c060420, 0x31d6e: 0x6c06ac20, 0x31d6f: 0x6c060620,\n\t0x31d70: 0x6c060820, 0x31d71: 0x6c06d820, 0x31d72: 0x6c08d020, 0x31d73: 0x6c060a20,\n\t0x31d74: 0x6c0bfa20, 0x31d75: 0x6c0bfc20, 0x31d76: 0x6c0bfe20, 0x31d77: 0x6c0c0020,\n\t0x31d78: 0x6c0c0220, 0x31d79: 0x6c0c0420, 0x31d7a: 0x6c0c0620, 0x31d7b: 0x6c0c0820,\n\t0x31d7c: 0x6c0c0a20, 0x31d7d: 0x6c0c0c20, 0x31d7e: 0x6c0c0e20, 0x31d7f: 0x6c0c1020,\n\t// Block 0xc76, offset 0x31d80\n\t0x31d80: 0x6c0c1220, 0x31d81: 0x6c0c1420, 0x31d82: 0x6c0c1620, 0x31d83: 0x6c0c1820,\n\t0x31d84: 0x6c0c1a20, 0x31d85: 0x6c0c1c20, 0x31d86: 0x6c0c1e20, 0x31d87: 0x6c0c2020,\n\t0x31d88: 0x6c0c2220, 0x31d89: 0x6c0c2420, 0x31d8a: 0x6c0c2620, 0x31d8b: 0x6c0c2820,\n\t0x31d8c: 0x6c0c2a20, 0x31d8d: 0x6c0c2c20, 0x31d8e: 0x6c0c2e20, 0x31d8f: 0x6c0c3020,\n\t0x31d90: 0x6c0c3220, 0x31d91: 0x6c0c3420, 0x31d92: 0x6c0c5e20, 0x31d93: 0x6c0c3620,\n\t0x31d94: 0x6c0c3820, 0x31d95: 0x6c0c3a20, 0x31d96: 0x6c16ca20, 0x31d97: 0x6c16cc20,\n\t0x31d98: 0x6c16ce20, 0x31d99: 0x6c16d020, 0x31d9a: 0x6c16d220, 0x31d9b: 0x6c16d420,\n\t0x31d9c: 0x6c16d620, 0x31d9d: 0x6c16d820, 0x31d9e: 0x6c16da20, 0x31d9f: 0x6c16dc20,\n\t0x31da0: 0x6c16de20, 0x31da1: 0x6c16e020, 0x31da2: 0x6c16e220, 0x31da3: 0x6c16e420,\n\t0x31da4: 0x6c16e620, 0x31da5: 0x6c16e820, 0x31da6: 0x6c16ea20, 0x31da7: 0x6c16ec20,\n\t0x31da8: 0x6c16ee20, 0x31da9: 0x6c16f020, 0x31daa: 0x6c16f220, 0x31dab: 0x6c16f420,\n\t0x31dac: 0x6c16f620, 0x31dad: 0x6c16f820, 0x31dae: 0x6c16fa20, 0x31daf: 0x6c16fc20,\n\t0x31db0: 0x6c16fe20, 0x31db1: 0x6c170020, 0x31db2: 0x6c170220, 0x31db3: 0x6c170420,\n\t0x31db4: 0x6c170620, 0x31db5: 0x6c170820, 0x31db6: 0x6c170a20, 0x31db7: 0x6c170c20,\n\t0x31db8: 0x6c170e20, 0x31db9: 0x6c171020, 0x31dba: 0x6c171220, 0x31dbb: 0x6c171420,\n\t0x31dbc: 0x6c171620, 0x31dbd: 0x6c171820, 0x31dbe: 0x6c171a20, 0x31dbf: 0x6c171c20,\n\t// Block 0xc77, offset 0x31dc0\n\t0x31dc0: 0x6c171e20, 0x31dc1: 0x6c172020, 0x31dc2: 0x6c19c820, 0x31dc3: 0x6c29ca20,\n\t0x31dc4: 0x6c29cc20, 0x31dc5: 0x6c29ce20, 0x31dc6: 0x6c29d020, 0x31dc7: 0x6c29d220,\n\t0x31dc8: 0x6c29d420, 0x31dc9: 0x6c29d620, 0x31dca: 0x6c29d820, 0x31dcb: 0x6c29da20,\n\t0x31dcc: 0x6c29dc20, 0x31dcd: 0x6c29de20, 0x31dce: 0x6c29e020, 0x31dcf: 0x6c29e220,\n\t0x31dd0: 0x6c29e420, 0x31dd1: 0x6c29e620, 0x31dd2: 0x6c29e820, 0x31dd3: 0x6c29ea20,\n\t0x31dd4: 0x6c29ec20, 0x31dd5: 0x6c29ee20, 0x31dd6: 0x6c29f020, 0x31dd7: 0x6c29f220,\n\t0x31dd8: 0x6c29f420, 0x31dd9: 0x6c29f620, 0x31dda: 0x6c29f820, 0x31ddb: 0x6c29fa20,\n\t0x31ddc: 0x6c29fc20, 0x31ddd: 0x6c29fe20, 0x31dde: 0x6c2a0020, 0x31ddf: 0x6c2a0220,\n\t0x31de0: 0x6c2a0420, 0x31de1: 0x6c2a0620, 0x31de2: 0x6c2a0820, 0x31de3: 0x6c2a0a20,\n\t0x31de4: 0x6c305c20, 0x31de5: 0x6c2a0c20, 0x31de6: 0x6c2a0e20, 0x31de7: 0x6c2a1020,\n\t0x31de8: 0x6c2a1220, 0x31de9: 0x6c2a1420, 0x31dea: 0x6c2a1620, 0x31deb: 0x6c2a1820,\n\t0x31dec: 0x6c2a1a20, 0x31ded: 0x6c43de20, 0x31dee: 0x6c43e020, 0x31def: 0x6c43e220,\n\t0x31df0: 0x6c43e420, 0x31df1: 0x6c43e620, 0x31df2: 0x6c43e820, 0x31df3: 0x6c43ea20,\n\t0x31df4: 0x6c43ec20, 0x31df5: 0x6c43ee20, 0x31df6: 0x6c43f020, 0x31df7: 0x6c43f220,\n\t0x31df8: 0x6c43f420, 0x31df9: 0x6c43f620, 0x31dfa: 0x6c43f820, 0x31dfb: 0x6c43fa20,\n\t0x31dfc: 0x6c43fc20, 0x31dfd: 0x6c43fe20, 0x31dfe: 0x6c440020, 0x31dff: 0x6c440220,\n\t// Block 0xc78, offset 0x31e00\n\t0x31e00: 0x6c440420, 0x31e01: 0x6c440620, 0x31e02: 0x6c440820, 0x31e03: 0x6c440a20,\n\t0x31e04: 0x6c440c20, 0x31e05: 0x6c440e20, 0x31e06: 0x6c441020, 0x31e07: 0x6c441220,\n\t0x31e08: 0x6c441420, 0x31e09: 0x6c441620, 0x31e0a: 0x6c441820, 0x31e0b: 0x6c441a20,\n\t0x31e0c: 0x6c441c20, 0x31e0d: 0x6c441e20, 0x31e0e: 0x6c442020, 0x31e0f: 0x6c442220,\n\t0x31e10: 0x6c442420, 0x31e11: 0x6c442620, 0x31e12: 0x6c442820, 0x31e13: 0x6c442a20,\n\t0x31e14: 0x6c442c20, 0x31e15: 0x6c442e20, 0x31e16: 0x6c443020, 0x31e17: 0x6c443220,\n\t0x31e18: 0x6c443420, 0x31e19: 0x6c443620, 0x31e1a: 0x6c443820, 0x31e1b: 0x6c443a20,\n\t0x31e1c: 0x6c443c20, 0x31e1d: 0x6c443e20, 0x31e1e: 0x6c444020, 0x31e1f: 0x6c444220,\n\t0x31e20: 0x6c444420, 0x31e21: 0x6c444620, 0x31e22: 0x6c444820, 0x31e23: 0x6c64d220,\n\t0x31e24: 0x6c64d420, 0x31e25: 0x6c64d620, 0x31e26: 0x6c64d820, 0x31e27: 0x6c64da20,\n\t0x31e28: 0x6c64dc20, 0x31e29: 0x6c64de20, 0x31e2a: 0x6c64e020, 0x31e2b: 0x6c64e220,\n\t0x31e2c: 0x6c64e420, 0x31e2d: 0x6c64e620, 0x31e2e: 0x6c64e820, 0x31e2f: 0x6c64ea20,\n\t0x31e30: 0x6c64ec20, 0x31e31: 0x6c64ee20, 0x31e32: 0x6c64f020, 0x31e33: 0x6c64f220,\n\t0x31e34: 0x6c64f420, 0x31e35: 0x6c64f620, 0x31e36: 0x6c64f820, 0x31e37: 0x6c64fa20,\n\t0x31e38: 0x6c64fc20, 0x31e39: 0x6c64fe20, 0x31e3a: 0x6c650020, 0x31e3b: 0x6c650220,\n\t0x31e3c: 0x6c650420, 0x31e3d: 0x6c650620, 0x31e3e: 0x6c650820, 0x31e3f: 0x6c650a20,\n\t// Block 0xc79, offset 0x31e40\n\t0x31e40: 0x6c650c20, 0x31e41: 0x6c650e20, 0x31e42: 0x6c651020, 0x31e43: 0x6c651220,\n\t0x31e44: 0x6c651420, 0x31e45: 0x6c651620, 0x31e46: 0x6c651820, 0x31e47: 0x6c651a20,\n\t0x31e48: 0x6c651c20, 0x31e49: 0x6c651e20, 0x31e4a: 0x6c652020, 0x31e4b: 0x6c652220,\n\t0x31e4c: 0x6c652420, 0x31e4d: 0x6c652620, 0x31e4e: 0x6c652820, 0x31e4f: 0x6c652a20,\n\t0x31e50: 0x6c652c20, 0x31e51: 0x6c652e20, 0x31e52: 0x6c653020, 0x31e53: 0x6c653220,\n\t0x31e54: 0x6c653420, 0x31e55: 0x6c653620, 0x31e56: 0x6c653820, 0x31e57: 0x6c653a20,\n\t0x31e58: 0x6c653c20, 0x31e59: 0x6c653e20, 0x31e5a: 0x6c654020, 0x31e5b: 0x6c654220,\n\t0x31e5c: 0x6c654420, 0x31e5d: 0x6c654620, 0x31e5e: 0x6c654820, 0x31e5f: 0x6c654a20,\n\t0x31e60: 0x6c654c20, 0x31e61: 0x6c654e20, 0x31e62: 0x6c655020, 0x31e63: 0x6c655220,\n\t0x31e64: 0x6c655420, 0x31e65: 0x6c655620, 0x31e66: 0x6c655820, 0x31e67: 0x6c8bc620,\n\t0x31e68: 0x6c8bc820, 0x31e69: 0x6c8bca20, 0x31e6a: 0x6c8bcc20, 0x31e6b: 0x6c8bce20,\n\t0x31e6c: 0x6c8bd020, 0x31e6d: 0x6c8bd220, 0x31e6e: 0x6c8bd420, 0x31e6f: 0x6c8bd620,\n\t0x31e70: 0x6c8bd820, 0x31e71: 0x6c8bda20, 0x31e72: 0x6c8bdc20, 0x31e73: 0x6c8bde20,\n\t0x31e74: 0x6c8be020, 0x31e75: 0x6c8be220, 0x31e76: 0x6c8be420, 0x31e77: 0x6c8be620,\n\t0x31e78: 0x6c8be820, 0x31e79: 0x6c8bea20, 0x31e7a: 0x6c8bec20, 0x31e7b: 0x6c8bee20,\n\t0x31e7c: 0x6c8bf020, 0x31e7d: 0x6c8bf220, 0x31e7e: 0x6c8bf420, 0x31e7f: 0x6c8bf620,\n\t// Block 0xc7a, offset 0x31e80\n\t0x31e80: 0x6c8bf820, 0x31e81: 0x6c8bfa20, 0x31e82: 0x6c8bfc20, 0x31e83: 0x6c8bfe20,\n\t0x31e84: 0x6c8c0020, 0x31e85: 0x6c8c0220, 0x31e86: 0x6c8c0420, 0x31e87: 0x6c8c0620,\n\t0x31e88: 0x6c8c0820, 0x31e89: 0x6c8c0a20, 0x31e8a: 0x6c8c0c20, 0x31e8b: 0x6c8c0e20,\n\t0x31e8c: 0x6c8c1020, 0x31e8d: 0x6c8c1220, 0x31e8e: 0x6c8c1420, 0x31e8f: 0x6c8c1620,\n\t0x31e90: 0x6c8c1820, 0x31e91: 0x6c428e20, 0x31e92: 0x6c8c1a20, 0x31e93: 0x6c8c1c20,\n\t0x31e94: 0x6c8c1e20, 0x31e95: 0x6c8c2020, 0x31e96: 0x6c8c2220, 0x31e97: 0x6c8c2420,\n\t0x31e98: 0x6c8c2620, 0x31e99: 0x6c8c2820, 0x31e9a: 0x6c8c2a20, 0x31e9b: 0x6c8c2c20,\n\t0x31e9c: 0x6c8c2e20, 0x31e9d: 0x6c8c3020, 0x31e9e: 0x6c8c3220, 0x31e9f: 0x6c655a20,\n\t0x31ea0: 0x6c8c3420, 0x31ea1: 0x6c8c3620, 0x31ea2: 0x6c8c3820, 0x31ea3: 0x6c8c3a20,\n\t0x31ea4: 0x6c8c3c20, 0x31ea5: 0x6c8c3e20, 0x31ea6: 0x6c8c4020, 0x31ea7: 0x6c8c4220,\n\t0x31ea8: 0x6c8c4420, 0x31ea9: 0x6c8c4620, 0x31eaa: 0x6c8c4820, 0x31eab: 0x6c8c4a20,\n\t0x31eac: 0x6c8c4c20, 0x31ead: 0x6cb83e20, 0x31eae: 0x6cb84020, 0x31eaf: 0x6cb84220,\n\t0x31eb0: 0x6cb84420, 0x31eb1: 0x6cb84620, 0x31eb2: 0x6cb84820, 0x31eb3: 0x6cb84a20,\n\t0x31eb4: 0x6cb84c20, 0x31eb5: 0x6cb84e20, 0x31eb6: 0x6cb85020, 0x31eb7: 0x6cb85220,\n\t0x31eb8: 0x6cb85420, 0x31eb9: 0x6cb85620, 0x31eba: 0x6cb85820, 0x31ebb: 0x6cb85a20,\n\t0x31ebc: 0x6cb85c20, 0x31ebd: 0x6cb85e20, 0x31ebe: 0x6cb86020, 0x31ebf: 0x6cb86220,\n\t// Block 0xc7b, offset 0x31ec0\n\t0x31ec0: 0x6cb86420, 0x31ec1: 0x6cb86620, 0x31ec2: 0x6cb86820, 0x31ec3: 0x6cb86a20,\n\t0x31ec4: 0x6cb86c20, 0x31ec5: 0x6cb86e20, 0x31ec6: 0x6cb8d620, 0x31ec7: 0x6cb87020,\n\t0x31ec8: 0x6cb87220, 0x31ec9: 0x6cb87420, 0x31eca: 0x6cb87620, 0x31ecb: 0x6cb87820,\n\t0x31ecc: 0x6cb87a20, 0x31ecd: 0x6cb87c20, 0x31ece: 0x6cb87e20, 0x31ecf: 0x6cb88020,\n\t0x31ed0: 0x6cb88220, 0x31ed1: 0x6cb88420, 0x31ed2: 0x6cb88620, 0x31ed3: 0x6cb88820,\n\t0x31ed4: 0x6cb88a20, 0x31ed5: 0x6cb88c20, 0x31ed6: 0x6cb88e20, 0x31ed7: 0x6cb89020,\n\t0x31ed8: 0x6cb89220, 0x31ed9: 0x6cb89420, 0x31eda: 0x6cb89620, 0x31edb: 0x6cb89820,\n\t0x31edc: 0x6cb89a20, 0x31edd: 0x6cb89c20, 0x31ede: 0x6cbd9420, 0x31edf: 0x6cd2ce20,\n\t0x31ee0: 0x6cb89e20, 0x31ee1: 0x6cb8a020, 0x31ee2: 0x6cb8a220, 0x31ee3: 0x6cb8a420,\n\t0x31ee4: 0x6cb8a620, 0x31ee5: 0x6cb8a820, 0x31ee6: 0x6cb8aa20, 0x31ee7: 0x6cb8ac20,\n\t0x31ee8: 0x6cb8ae20, 0x31ee9: 0x6cb8b020, 0x31eea: 0x6ca52820, 0x31eeb: 0x6ce95420,\n\t0x31eec: 0x6ce95620, 0x31eed: 0x6ce95820, 0x31eee: 0x6ce95a20, 0x31eef: 0x6ce95c20,\n\t0x31ef0: 0x6ce95e20, 0x31ef1: 0x6ce96020, 0x31ef2: 0x6ce96220, 0x31ef3: 0x6ce96420,\n\t0x31ef4: 0x6ce96620, 0x31ef5: 0x6ce96820, 0x31ef6: 0x6ce96a20, 0x31ef7: 0x6ce96c20,\n\t0x31ef8: 0x6ce96e20, 0x31ef9: 0x6ce97020, 0x31efa: 0x6ce97220, 0x31efb: 0x6ce97420,\n\t0x31efc: 0x6ce97620, 0x31efd: 0x6ce97820, 0x31efe: 0x6ce97a20, 0x31eff: 0x6ce97c20,\n\t// Block 0xc7c, offset 0x31f00\n\t0x31f00: 0x6ce97e20, 0x31f01: 0x6ce98020, 0x31f02: 0x6ce98220, 0x31f03: 0x6ce98420,\n\t0x31f04: 0x6ce98620, 0x31f05: 0x6ce98820, 0x31f06: 0x6ce98a20, 0x31f07: 0x6ce98c20,\n\t0x31f08: 0x6ce98e20, 0x31f09: 0x6ce99020, 0x31f0a: 0x6ce99220, 0x31f0b: 0x6ce99420,\n\t0x31f0c: 0x6ce99620, 0x31f0d: 0x6ce99820, 0x31f0e: 0x6ce99a20, 0x31f0f: 0x6ce99c20,\n\t0x31f10: 0x6ce99e20, 0x31f11: 0x6ce9a020, 0x31f12: 0x6ce9a220, 0x31f13: 0x6ce9a420,\n\t0x31f14: 0x6ce9a620, 0x31f15: 0x6ce9a820, 0x31f16: 0x6ce9aa20, 0x31f17: 0x6ce9ac20,\n\t0x31f18: 0x6ce9ae20, 0x31f19: 0x6ce9b020, 0x31f1a: 0x6ce9b220, 0x31f1b: 0x6ce9b420,\n\t0x31f1c: 0x6ce9b620, 0x31f1d: 0x6ce9b820, 0x31f1e: 0x6ce9ba20, 0x31f1f: 0x6ce9bc20,\n\t0x31f20: 0x6ce9be20, 0x31f21: 0x6ce9c020, 0x31f22: 0x6d01fc20, 0x31f23: 0x6ce9c220,\n\t0x31f24: 0x6ce9c420, 0x31f25: 0x6d191a20, 0x31f26: 0x6ce9c620, 0x31f27: 0x6ce9c820,\n\t0x31f28: 0x6ce9ca20, 0x31f29: 0x6ce9cc20, 0x31f2a: 0x6ce9ce20, 0x31f2b: 0x6ce9d020,\n\t0x31f2c: 0x6ce9d220, 0x31f2d: 0x6d191c20, 0x31f2e: 0x6d191e20, 0x31f2f: 0x6d192020,\n\t0x31f30: 0x6d192220, 0x31f31: 0x6d192420, 0x31f32: 0x6d192620, 0x31f33: 0x6d192820,\n\t0x31f34: 0x6d192a20, 0x31f35: 0x6d192c20, 0x31f36: 0x6d192e20, 0x31f37: 0x6d193020,\n\t0x31f38: 0x6d193220, 0x31f39: 0x6d193420, 0x31f3a: 0x6d193620, 0x31f3b: 0x6d193820,\n\t0x31f3c: 0x6d193a20, 0x31f3d: 0x6d193c20, 0x31f3e: 0x6d193e20, 0x31f3f: 0x6d194020,\n\t// Block 0xc7d, offset 0x31f40\n\t0x31f40: 0x6d194220, 0x31f41: 0x6d194420, 0x31f42: 0x6d194620, 0x31f43: 0x6d194820,\n\t0x31f44: 0x6d194a20, 0x31f45: 0x6d194c20, 0x31f46: 0x6d194e20, 0x31f47: 0x6d195020,\n\t0x31f48: 0x6d195220, 0x31f49: 0x6d195420, 0x31f4a: 0x6d195620, 0x31f4b: 0x6d195820,\n\t0x31f4c: 0x6d195a20, 0x31f4d: 0x6d195c20, 0x31f4e: 0x6d195e20, 0x31f4f: 0x6d196020,\n\t0x31f50: 0x6d196220, 0x31f51: 0x6d196420, 0x31f52: 0x6d196620, 0x31f53: 0x6d196820,\n\t0x31f54: 0x6d196a20, 0x31f55: 0x6d196c20, 0x31f56: 0x6d196e20, 0x31f57: 0x6d197020,\n\t0x31f58: 0x6d311420, 0x31f59: 0x6d197220, 0x31f5a: 0x6d197420, 0x31f5b: 0x6d2bee20,\n\t0x31f5c: 0x6e0bec20, 0x31f5d: 0x6d197620, 0x31f5e: 0x6d197820, 0x31f5f: 0x6d197a20,\n\t0x31f60: 0x6d197c20, 0x31f61: 0x6d197e20, 0x31f62: 0x6d198020, 0x31f63: 0x6d198220,\n\t0x31f64: 0x6d198420, 0x31f65: 0x6d198620, 0x31f66: 0x6d198820, 0x31f67: 0x6d198a20,\n\t0x31f68: 0x6d198c20, 0x31f69: 0x6d198e20, 0x31f6a: 0x6d199020, 0x31f6b: 0x6d199220,\n\t0x31f6c: 0x6d199420, 0x31f6d: 0x6d199620, 0x31f6e: 0x6d199820, 0x31f6f: 0x6d199a20,\n\t0x31f70: 0x6d199c20, 0x31f71: 0x6d199e20, 0x31f72: 0x6d19a020, 0x31f73: 0x6d19a220,\n\t0x31f74: 0x6d19a420, 0x31f75: 0x6ce9d420, 0x31f76: 0x6d234020, 0x31f77: 0x6d47f620,\n\t0x31f78: 0x6d47f820, 0x31f79: 0x6d47fa20, 0x31f7a: 0x6d47fc20, 0x31f7b: 0x6d47fe20,\n\t0x31f7c: 0x6d480020, 0x31f7d: 0x6d480220, 0x31f7e: 0x6d480420, 0x31f7f: 0x6d480620,\n\t// Block 0xc7e, offset 0x31f80\n\t0x31f80: 0x6d480820, 0x31f81: 0x6d480a20, 0x31f82: 0x6d480c20, 0x31f83: 0x6d480e20,\n\t0x31f84: 0x6d481020, 0x31f85: 0x6d481220, 0x31f86: 0x6d481420, 0x31f87: 0x6d481620,\n\t0x31f88: 0x6d481820, 0x31f89: 0x6d481a20, 0x31f8a: 0x6d481c20, 0x31f8b: 0x6d481e20,\n\t0x31f8c: 0x6d482020, 0x31f8d: 0x6d482220, 0x31f8e: 0x6d482420, 0x31f8f: 0x6d482620,\n\t0x31f90: 0x6d19a620, 0x31f91: 0x6d482820, 0x31f92: 0x6d761c20, 0x31f93: 0x6d49ca20,\n\t0x31f94: 0x6d482a20, 0x31f95: 0x6d482c20, 0x31f96: 0x6d482e20, 0x31f97: 0x6d483020,\n\t0x31f98: 0x6d483220, 0x31f99: 0x6d483420, 0x31f9a: 0x6d483620, 0x31f9b: 0x6d483820,\n\t0x31f9c: 0x6d483a20, 0x31f9d: 0x6d483c20, 0x31f9e: 0x6d483e20, 0x31f9f: 0x6d484020,\n\t0x31fa0: 0x6d484220, 0x31fa1: 0x6d484420, 0x31fa2: 0x6d484620, 0x31fa3: 0x6d484820,\n\t0x31fa4: 0x6d484a20, 0x31fa5: 0x6d484c20, 0x31fa6: 0x6d484e20, 0x31fa7: 0x6d49cc20,\n\t0x31fa8: 0x6d761e20, 0x31fa9: 0x6d762020, 0x31faa: 0x6d762220, 0x31fab: 0x6d762420,\n\t0x31fac: 0x6d762620, 0x31fad: 0x6d762820, 0x31fae: 0x6d762a20, 0x31faf: 0x6d762c20,\n\t0x31fb0: 0x6d762e20, 0x31fb1: 0x6d763020, 0x31fb2: 0x6d763220, 0x31fb3: 0x6d763420,\n\t0x31fb4: 0x6d763620, 0x31fb5: 0x6d763820, 0x31fb6: 0x6d763a20, 0x31fb7: 0x6d763c20,\n\t0x31fb8: 0x6d763e20, 0x31fb9: 0x6d764020, 0x31fba: 0x6d764220, 0x31fbb: 0x6d764420,\n\t0x31fbc: 0x6d764620, 0x31fbd: 0x6d764820, 0x31fbe: 0x6d764a20, 0x31fbf: 0x6d764c20,\n\t// Block 0xc7f, offset 0x31fc0\n\t0x31fc0: 0x6d764e20, 0x31fc1: 0x6d765020, 0x31fc2: 0x6d765220, 0x31fc3: 0x6d765420,\n\t0x31fc4: 0x6d765620, 0x31fc5: 0x6d765820, 0x31fc6: 0x6d765a20, 0x31fc7: 0x6d765c20,\n\t0x31fc8: 0x6d9fc820, 0x31fc9: 0x6d9fca20, 0x31fca: 0x6d9fcc20, 0x31fcb: 0x6d9fce20,\n\t0x31fcc: 0x6d9fd020, 0x31fcd: 0x6d9fd220, 0x31fce: 0x6d9fd420, 0x31fcf: 0x6d9fd620,\n\t0x31fd0: 0x6d9fd820, 0x31fd1: 0x6d9fda20, 0x31fd2: 0x6d9fdc20, 0x31fd3: 0x6d9fde20,\n\t0x31fd4: 0x6d9fe020, 0x31fd5: 0x6d9fe220, 0x31fd6: 0x6d9fe420, 0x31fd7: 0x6d9fe620,\n\t0x31fd8: 0x6d9fe820, 0x31fd9: 0x6d9fea20, 0x31fda: 0x6d9fec20, 0x31fdb: 0x6d9fee20,\n\t0x31fdc: 0x6db61c20, 0x31fdd: 0x6d9ff020, 0x31fde: 0x6d9ff220, 0x31fdf: 0x6d9ff420,\n\t0x31fe0: 0x6d9ff620, 0x31fe1: 0x6d9ff820, 0x31fe2: 0x6d9ffa20, 0x31fe3: 0x6dc25620,\n\t0x31fe4: 0x6dc25820, 0x31fe5: 0x6dc25a20, 0x31fe6: 0x6dc25c20, 0x31fe7: 0x6dc25e20,\n\t0x31fe8: 0x6dc26020, 0x31fe9: 0x6dc26220, 0x31fea: 0x6dc26420, 0x31feb: 0x6dc26620,\n\t0x31fec: 0x6dc26820, 0x31fed: 0x6dc26a20, 0x31fee: 0x6dc26c20, 0x31fef: 0x6dc26e20,\n\t0x31ff0: 0x6dc27020, 0x31ff1: 0x6dc27220, 0x31ff2: 0x6dc27420, 0x31ff3: 0x6dc27620,\n\t0x31ff4: 0x6dc27820, 0x31ff5: 0x6dc27a20, 0x31ff6: 0x6dc27c20, 0x31ff7: 0x6dc27e20,\n\t0x31ff8: 0x6dc28020, 0x31ff9: 0x6dc28220, 0x31ffa: 0x6dc28420, 0x31ffb: 0x6de01a20,\n\t0x31ffc: 0x6de01c20, 0x31ffd: 0x6de01e20, 0x31ffe: 0x6de02020, 0x31fff: 0x6de02220,\n\t// Block 0xc80, offset 0x32000\n\t0x32000: 0x6de02420, 0x32001: 0x6de02620, 0x32002: 0x6de5da20, 0x32003: 0x6de02820,\n\t0x32004: 0x6de02a20, 0x32005: 0x6de02c20, 0x32006: 0x6de02e20, 0x32007: 0x6de03020,\n\t0x32008: 0x6de03220, 0x32009: 0x6de03420, 0x3200a: 0x6de03620, 0x3200b: 0x6de03820,\n\t0x3200c: 0x6de03a20, 0x3200d: 0x6df87620, 0x3200e: 0x6df87820, 0x3200f: 0x6df87a20,\n\t0x32010: 0x6df87c20, 0x32011: 0x6df87e20, 0x32012: 0x6df88020, 0x32013: 0x6df88220,\n\t0x32014: 0x6df88420, 0x32015: 0x6df88620, 0x32016: 0x6df88820, 0x32017: 0x6e0c4a20,\n\t0x32018: 0x6e0c4c20, 0x32019: 0x6e0c4e20, 0x3201a: 0x6e0c5020, 0x3201b: 0x6e0c5220,\n\t0x3201c: 0x6e0c5420, 0x3201d: 0x6e0c5620, 0x3201e: 0x6df88a20, 0x3201f: 0x6e0c5820,\n\t0x32020: 0x6e0c5a20, 0x32021: 0x6e0c5c20, 0x32022: 0x6e0c5e20, 0x32023: 0x6e0c6020,\n\t0x32024: 0x6e1c0c20, 0x32025: 0x6e1c0e20, 0x32026: 0x6e1c1020, 0x32027: 0x6e1c1220,\n\t0x32028: 0x6e1c1420, 0x32029: 0x6e1c1620, 0x3202a: 0x6e284e20, 0x3202b: 0x6e285020,\n\t0x3202c: 0x6e285220, 0x3202d: 0x6e285420, 0x3202e: 0x6e285620, 0x3202f: 0x6e285820,\n\t0x32030: 0x6e318a20, 0x32031: 0x6e38ae20, 0x32032: 0x6e3ce420, 0x32033: 0x6e3ce620,\n\t0x32034: 0x6e446c20, 0x32035: 0x6e442220, 0x32036: 0x6c02cc20, 0x32037: 0x6c061020,\n\t0x32038: 0x6c061220, 0x32039: 0x6c0c5020, 0x3203a: 0x6c0c5220, 0x3203b: 0x6c0c5420,\n\t0x3203c: 0x6c0c5620, 0x3203d: 0x6c174220, 0x3203e: 0x6c174420, 0x3203f: 0x6c174620,\n\t// Block 0xc81, offset 0x32040\n\t0x32040: 0x6c174820, 0x32041: 0x6c174a20, 0x32042: 0x6c174c20, 0x32043: 0x6c2a3820,\n\t0x32044: 0x6c2a3a20, 0x32045: 0x6c2a3c20, 0x32046: 0x6c2a3e20, 0x32047: 0x6c2a4020,\n\t0x32048: 0x6c2a4220, 0x32049: 0x6c2a4420, 0x3204a: 0x6c2a4620, 0x3204b: 0x6c2a4820,\n\t0x3204c: 0x6c446020, 0x3204d: 0x6c446220, 0x3204e: 0x6c446420, 0x3204f: 0x6c446620,\n\t0x32050: 0x6c657620, 0x32051: 0x6c657820, 0x32052: 0x6c657a20, 0x32053: 0x6c657c20,\n\t0x32054: 0x6c657e20, 0x32055: 0x6c658020, 0x32056: 0x6c658220, 0x32057: 0x6c8c6e20,\n\t0x32058: 0x6c8c7020, 0x32059: 0x6c8c7220, 0x3205a: 0x6c8c7420, 0x3205b: 0x6c8c7620,\n\t0x3205c: 0x6c8c7820, 0x3205d: 0x6c8c7a20, 0x3205e: 0x6cb8ca20, 0x3205f: 0x6cb8cc20,\n\t0x32060: 0x6cb8ce20, 0x32061: 0x6cb8d020, 0x32062: 0x6cb8d220, 0x32063: 0x6cb8d420,\n\t0x32064: 0x6ce9e420, 0x32065: 0x6ce9e620, 0x32066: 0x6ce9e820, 0x32067: 0x6d19b820,\n\t0x32068: 0x6d19ba20, 0x32069: 0x6d19bc20, 0x3206a: 0x6d19be20, 0x3206b: 0x6d19c020,\n\t0x3206c: 0x6d19c220, 0x3206d: 0x6d19c420, 0x3206e: 0x6d19c620, 0x3206f: 0x6d19c820,\n\t0x32070: 0x6d485c20, 0x32071: 0x6d485e20, 0x32072: 0x6d486020, 0x32073: 0x6d766820,\n\t0x32074: 0x6d486220, 0x32075: 0x6d486420, 0x32076: 0x6d486620, 0x32077: 0x6d486820,\n\t0x32078: 0x6d766a20, 0x32079: 0x6d766c20, 0x3207a: 0x6d766e20, 0x3207b: 0x6d767020,\n\t0x3207c: 0x6d767220, 0x3207d: 0x6d767420, 0x3207e: 0x6d767620, 0x3207f: 0x6da00420,\n\t// Block 0xc82, offset 0x32080\n\t0x32080: 0x6da00620, 0x32081: 0x6da00820, 0x32082: 0x6da00a20, 0x32083: 0x6da00c20,\n\t0x32084: 0x6da00e20, 0x32085: 0x6da01020, 0x32086: 0x6dc28e20, 0x32087: 0x6da01220,\n\t0x32088: 0x6dc29020, 0x32089: 0x6dc29220, 0x3208a: 0x6dc29420, 0x3208b: 0x6de04220,\n\t0x3208c: 0x6de23820, 0x3208d: 0x6df88e20, 0x3208e: 0x6de04420, 0x3208f: 0x6df89020,\n\t0x32090: 0x6df89220, 0x32091: 0x6e0c6620, 0x32092: 0x6e0c6820, 0x32093: 0x6e1c1820,\n\t0x32094: 0x6e1c1a20, 0x32095: 0x6e285a20, 0x32096: 0x6e285c20, 0x32097: 0x6e318c20,\n\t0x32098: 0x6e318e20, 0x32099: 0x6e319020, 0x3209a: 0x6e3ce820, 0x3209b: 0x6c014a20,\n\t0x3209c: 0x6c02d020, 0x3209d: 0x6c02d220, 0x3209e: 0x6c02d420, 0x3209f: 0x6c061a20,\n\t0x320a0: 0x6c0c6020, 0x320a1: 0x6c0c6220, 0x320a2: 0x6c0c6420, 0x320a3: 0x6c0c6620,\n\t0x320a4: 0x6c175220, 0x320a5: 0x6c175420, 0x320a6: 0x6c175620, 0x320a7: 0x6c175820,\n\t0x320a8: 0x6c175a20, 0x320a9: 0x6c2a4e20, 0x320aa: 0x6c446e20, 0x320ab: 0x6c447020,\n\t0x320ac: 0x6c447220, 0x320ad: 0x6c658620, 0x320ae: 0x6c658820, 0x320af: 0x6c658a20,\n\t0x320b0: 0x6c658c20, 0x320b1: 0x6c8c7c20, 0x320b2: 0x6cb8d820, 0x320b3: 0x6cb8da20,\n\t0x320b4: 0x6ce9ec20, 0x320b5: 0x6ce9ee20, 0x320b6: 0x6ce9f020, 0x320b7: 0x6ce9f220,\n\t0x320b8: 0x6d19ca20, 0x320b9: 0x6d19cc20, 0x320ba: 0x6d19ce20, 0x320bb: 0x6d19d020,\n\t0x320bc: 0x6d767820, 0x320bd: 0x6da01420, 0x320be: 0x6dc29620, 0x320bf: 0x6df89420,\n\t// Block 0xc83, offset 0x320c0\n\t0x320c0: 0x6c014c20, 0x320c1: 0x6c02de20, 0x320c2: 0x6c02e020, 0x320c3: 0x6c02e220,\n\t0x320c4: 0x6c02e420, 0x320c5: 0x6c061e20, 0x320c6: 0x6c062020, 0x320c7: 0x6c020820,\n\t0x320c8: 0x6c0c7220, 0x320c9: 0x6c0c7420, 0x320ca: 0x6c176420, 0x320cb: 0x6c176620,\n\t0x320cc: 0x6c176820, 0x320cd: 0x6c176a20, 0x320ce: 0x6c176c20, 0x320cf: 0x6c176e20,\n\t0x320d0: 0x6c2a5620, 0x320d1: 0x6c2a5820, 0x320d2: 0x6c447a20, 0x320d3: 0x6c447c20,\n\t0x320d4: 0x6c447e20, 0x320d5: 0x6c448020, 0x320d6: 0x6c448220, 0x320d7: 0x6c448420,\n\t0x320d8: 0x6c4d0420, 0x320d9: 0x6c659420, 0x320da: 0x6c659620, 0x320db: 0x6c659820,\n\t0x320dc: 0x6c8c8020, 0x320dd: 0x6c8c8220, 0x320de: 0x6cb8dc20, 0x320df: 0x6cb8de20,\n\t0x320e0: 0x6cb8e020, 0x320e1: 0x6cb8e220, 0x320e2: 0x6cb8e420, 0x320e3: 0x6cb8e620,\n\t0x320e4: 0x6cb8e820, 0x320e5: 0x6cb8ea20, 0x320e6: 0x6cb8ec20, 0x320e7: 0x6cb8ee20,\n\t0x320e8: 0x6ce9f820, 0x320e9: 0x6ce9fa20, 0x320ea: 0x6ce9fc20, 0x320eb: 0x6ce9fe20,\n\t0x320ec: 0x6cea0020, 0x320ed: 0x6cea0220, 0x320ee: 0x6cea0420, 0x320ef: 0x6d19d220,\n\t0x320f0: 0x6d19d420, 0x320f1: 0x6d19d620, 0x320f2: 0x6d1b1620, 0x320f3: 0x6d767c20,\n\t0x320f4: 0x6d767e20, 0x320f5: 0x6d768020, 0x320f6: 0x6dc29a20, 0x320f7: 0x6dc29c20,\n\t0x320f8: 0x6de04820, 0x320f9: 0x6de04a20, 0x320fa: 0x6de04c20, 0x320fb: 0x6e474020,\n\t0x320fc: 0x6c014e20, 0x320fd: 0x6c02f220, 0x320fe: 0x6c02f420, 0x320ff: 0x6c02f620,\n\t// Block 0xc84, offset 0x32100\n\t0x32100: 0x6c02f820, 0x32101: 0x6c062a20, 0x32102: 0x6c062c20, 0x32103: 0x6c062e20,\n\t0x32104: 0x6c063020, 0x32105: 0x6c063220, 0x32106: 0x6c063420, 0x32107: 0x6c063620,\n\t0x32108: 0x6c063820, 0x32109: 0x6c063a20, 0x3210a: 0x6c063c20, 0x3210b: 0x6c0c7c20,\n\t0x3210c: 0x6c0c7e20, 0x3210d: 0x6c0c8020, 0x3210e: 0x6c0c8220, 0x3210f: 0x6c0c8420,\n\t0x32110: 0x6c177220, 0x32111: 0x6c177420, 0x32112: 0x6c177620, 0x32113: 0x6c177820,\n\t0x32114: 0x6c177a20, 0x32115: 0x6c177c20, 0x32116: 0x6c2a6020, 0x32117: 0x6c2a6220,\n\t0x32118: 0x6c2a6420, 0x32119: 0x6c2a6620, 0x3211a: 0x6c2a6820, 0x3211b: 0x6c448a20,\n\t0x3211c: 0x6c448c20, 0x3211d: 0x6c659e20, 0x3211e: 0x6c65a020, 0x3211f: 0x6c65a220,\n\t0x32120: 0x6c8c8a20, 0x32121: 0x6c8c8c20, 0x32122: 0x6c8c8e20, 0x32123: 0x6cb8f620,\n\t0x32124: 0x6cb8f820, 0x32125: 0x6cb8fa20, 0x32126: 0x6cea0a20, 0x32127: 0x6cea0c20,\n\t0x32128: 0x6d19dc20, 0x32129: 0x6d19de20, 0x3212a: 0x6d487220, 0x3212b: 0x6d227a20,\n\t0x3212c: 0x6d487420, 0x3212d: 0x6d768420, 0x3212e: 0x6d768620, 0x3212f: 0x6dc29e20,\n\t0x32130: 0x6dc2a020, 0x32131: 0x6df89820, 0x32132: 0x6e1c1e20, 0x32133: 0x6c030220,\n\t0x32134: 0x6c030420, 0x32135: 0x6c064220, 0x32136: 0x6c064420, 0x32137: 0x6c064620,\n\t0x32138: 0x6c064820, 0x32139: 0x6c0c8a20, 0x3213a: 0x6c0c8c20, 0x3213b: 0x6c0c8e20,\n\t0x3213c: 0x6c0c9020, 0x3213d: 0x6c0c9220, 0x3213e: 0x6c0c9420, 0x3213f: 0x6c0c9620,\n\t// Block 0xc85, offset 0x32140\n\t0x32140: 0x6c178220, 0x32141: 0x6c178420, 0x32142: 0x6c178620, 0x32143: 0x6c178820,\n\t0x32144: 0x6c2a6c20, 0x32145: 0x6c2a6e20, 0x32146: 0x6c2a7020, 0x32147: 0x6c449620,\n\t0x32148: 0x6c449820, 0x32149: 0x6c449a20, 0x3214a: 0x6c449c20, 0x3214b: 0x6c449e20,\n\t0x3214c: 0x6c65b220, 0x3214d: 0x6c65b420, 0x3214e: 0x6c65b620, 0x3214f: 0x6c65b820,\n\t0x32150: 0x6c65ba20, 0x32151: 0x6c65bc20, 0x32152: 0x6c65be20, 0x32153: 0x6c8c9220,\n\t0x32154: 0x6cb8fe20, 0x32155: 0x6cb90020, 0x32156: 0x6cb90220, 0x32157: 0x6cb90420,\n\t0x32158: 0x6cb90620, 0x32159: 0x6cb90820, 0x3215a: 0x6cea0e20, 0x3215b: 0x6cea1020,\n\t0x3215c: 0x6d19e220, 0x3215d: 0x6d19e420, 0x3215e: 0x6d19e620, 0x3215f: 0x6d30e420,\n\t0x32160: 0x6d768a20, 0x32161: 0x6d768c20, 0x32162: 0x6da01820, 0x32163: 0x6dc2a220,\n\t0x32164: 0x6dc2a420, 0x32165: 0x6dc2a620, 0x32166: 0x6df89a20, 0x32167: 0x6df89c20,\n\t0x32168: 0x6df89e20, 0x32169: 0x6e0c6a20, 0x3216a: 0x6e1c2020, 0x3216b: 0x6e285e20,\n\t0x3216c: 0x6c015020, 0x3216d: 0x6c030820, 0x3216e: 0x6c065220, 0x3216f: 0x6c065420,\n\t0x32170: 0x6c065620, 0x32171: 0x6c0ca620, 0x32172: 0x6c0ca820, 0x32173: 0x6c0caa20,\n\t0x32174: 0x6c0cac20, 0x32175: 0x6c0cae20, 0x32176: 0x6c0cb020, 0x32177: 0x6c179e20,\n\t0x32178: 0x6c17a020, 0x32179: 0x6c17a220, 0x3217a: 0x6c17a420, 0x3217b: 0x6c17a620,\n\t0x3217c: 0x6c17a820, 0x3217d: 0x6c17aa20, 0x3217e: 0x6c17ac20, 0x3217f: 0x6c17ae20,\n\t// Block 0xc86, offset 0x32180\n\t0x32180: 0x6c2a8820, 0x32181: 0x6c17b020, 0x32182: 0x6c2a8a20, 0x32183: 0x6c2a8c20,\n\t0x32184: 0x6c2a8e20, 0x32185: 0x6c2a9020, 0x32186: 0x6c2a9220, 0x32187: 0x6c2a9420,\n\t0x32188: 0x6c44aa20, 0x32189: 0x6c44ac20, 0x3218a: 0x6c44ae20, 0x3218b: 0x6c44b020,\n\t0x3218c: 0x6c44b220, 0x3218d: 0x6c44b420, 0x3218e: 0x6c44b620, 0x3218f: 0x6c44b820,\n\t0x32190: 0x6c44ba20, 0x32191: 0x6c44bc20, 0x32192: 0x6c44be20, 0x32193: 0x6c44c020,\n\t0x32194: 0x6c44c220, 0x32195: 0x6c44c420, 0x32196: 0x6c44c620, 0x32197: 0x6c44c820,\n\t0x32198: 0x6c65de20, 0x32199: 0x6c65e020, 0x3219a: 0x6c65e220, 0x3219b: 0x6c65e420,\n\t0x3219c: 0x6c65e620, 0x3219d: 0x6c65e820, 0x3219e: 0x6c65ea20, 0x3219f: 0x6c65ec20,\n\t0x321a0: 0x6c65ee20, 0x321a1: 0x6c65f020, 0x321a2: 0x6c65f220, 0x321a3: 0x6c65f420,\n\t0x321a4: 0x6c65f620, 0x321a5: 0x6c8c9e20, 0x321a6: 0x6c8ca020, 0x321a7: 0x6c8ca220,\n\t0x321a8: 0x6c8ca420, 0x321a9: 0x6c8ca620, 0x321aa: 0x6c8ca820, 0x321ab: 0x6c8caa20,\n\t0x321ac: 0x6c8cac20, 0x321ad: 0x6c8cae20, 0x321ae: 0x6c8cb020, 0x321af: 0x6c8cb220,\n\t0x321b0: 0x6c8cb420, 0x321b1: 0x6cb91a20, 0x321b2: 0x6cb91c20, 0x321b3: 0x6cb91e20,\n\t0x321b4: 0x6cb92020, 0x321b5: 0x6cb92220, 0x321b6: 0x6cb92420, 0x321b7: 0x6cb92620,\n\t0x321b8: 0x6cb92820, 0x321b9: 0x6cb92a20, 0x321ba: 0x6cea1620, 0x321bb: 0x6cea1820,\n\t0x321bc: 0x6cea1a20, 0x321bd: 0x6cea1c20, 0x321be: 0x6cea1e20, 0x321bf: 0x6cea2020,\n\t// Block 0xc87, offset 0x321c0\n\t0x321c0: 0x6cea2220, 0x321c1: 0x6cea2420, 0x321c2: 0x6cea2620, 0x321c3: 0x6cea2820,\n\t0x321c4: 0x6d19ee20, 0x321c5: 0x6d19f020, 0x321c6: 0x6d19f220, 0x321c7: 0x6d19f420,\n\t0x321c8: 0x6d19f620, 0x321c9: 0x6d19f820, 0x321ca: 0x6d488020, 0x321cb: 0x6d488220,\n\t0x321cc: 0x6d488420, 0x321cd: 0x6d488620, 0x321ce: 0x6d488820, 0x321cf: 0x6d488a20,\n\t0x321d0: 0x6d488c20, 0x321d1: 0x6d488e20, 0x321d2: 0x6d769220, 0x321d3: 0x6d19fa20,\n\t0x321d4: 0x6d769420, 0x321d5: 0x6d769620, 0x321d6: 0x6da01c20, 0x321d7: 0x6da01e20,\n\t0x321d8: 0x6da02020, 0x321d9: 0x6da02220, 0x321da: 0x6da02420, 0x321db: 0x6da02620,\n\t0x321dc: 0x6da02820, 0x321dd: 0x6dc2a820, 0x321de: 0x6dc2aa20, 0x321df: 0x6dc2ac20,\n\t0x321e0: 0x6dc2ae20, 0x321e1: 0x6dc2b020, 0x321e2: 0x6de04e20, 0x321e3: 0x6de05020,\n\t0x321e4: 0x6e0c6c20, 0x321e5: 0x6e1c2220, 0x321e6: 0x6e3cea20, 0x321e7: 0x6c009620,\n\t0x321e8: 0x6c009820, 0x321e9: 0x6c030c20, 0x321ea: 0x6c030e20, 0x321eb: 0x6c031020,\n\t0x321ec: 0x6c031220, 0x321ed: 0x6c031420, 0x321ee: 0x6c031620, 0x321ef: 0x6c031820,\n\t0x321f0: 0x6c031a20, 0x321f1: 0x6c066020, 0x321f2: 0x6c066220, 0x321f3: 0x6c066420,\n\t0x321f4: 0x6c066620, 0x321f5: 0x6c0cc220, 0x321f6: 0x6c0cc420, 0x321f7: 0x6c0cc620,\n\t0x321f8: 0x6c0cc820, 0x321f9: 0x6c0cca20, 0x321fa: 0x6c0ccc20, 0x321fb: 0x6c0cce20,\n\t0x321fc: 0x6c17ba20, 0x321fd: 0x6c17bc20, 0x321fe: 0x6c17be20, 0x321ff: 0x6c17c020,\n\t// Block 0xc88, offset 0x32200\n\t0x32200: 0x6c17c220, 0x32201: 0x6c17c420, 0x32202: 0x6c17c620, 0x32203: 0x6c17c820,\n\t0x32204: 0x6c17ca20, 0x32205: 0x6c17cc20, 0x32206: 0x6c2a9e20, 0x32207: 0x6c2aa020,\n\t0x32208: 0x6c2aa220, 0x32209: 0x6c2aa420, 0x3220a: 0x6c2aa620, 0x3220b: 0x6c2aa820,\n\t0x3220c: 0x6c2aaa20, 0x3220d: 0x6c2aac20, 0x3220e: 0x6c2aae20, 0x3220f: 0x6c44d220,\n\t0x32210: 0x6c44d420, 0x32211: 0x6c44d620, 0x32212: 0x6c660020, 0x32213: 0x6c660220,\n\t0x32214: 0x6c660420, 0x32215: 0x6c660620, 0x32216: 0x6c660820, 0x32217: 0x6c6de220,\n\t0x32218: 0x6c8cc220, 0x32219: 0x6c8cc420, 0x3221a: 0x6c916e20, 0x3221b: 0x6c8cc620,\n\t0x3221c: 0x6c8cc820, 0x3221d: 0x6c8cca20, 0x3221e: 0x6c8ccc20, 0x3221f: 0x6cb93620,\n\t0x32220: 0x6cb93820, 0x32221: 0x6cb93a20, 0x32222: 0x6cb93c20, 0x32223: 0x6cb93e20,\n\t0x32224: 0x6cea2e20, 0x32225: 0x6cea3020, 0x32226: 0x6cea3220, 0x32227: 0x6cea3420,\n\t0x32228: 0x6d1a0220, 0x32229: 0x6d1a0420, 0x3222a: 0x6d1a0620, 0x3222b: 0x6d489220,\n\t0x3222c: 0x6d717420, 0x3222d: 0x6d769a20, 0x3222e: 0x6d769c20, 0x3222f: 0x6d769e20,\n\t0x32230: 0x6d76a020, 0x32231: 0x6da02c20, 0x32232: 0x6df8a220, 0x32233: 0x6e0c6e20,\n\t0x32234: 0x6c009c20, 0x32235: 0x6c015820, 0x32236: 0x6c031e20, 0x32237: 0x6c032020,\n\t0x32238: 0x6c032220, 0x32239: 0x6c067220, 0x3223a: 0x6c067420, 0x3223b: 0x6c067620,\n\t0x3223c: 0x6c076c20, 0x3223d: 0x6c067820, 0x3223e: 0x6c0cd620, 0x3223f: 0x6c0cd820,\n\t// Block 0xc89, offset 0x32240\n\t0x32240: 0x6c0cda20, 0x32241: 0x6c0cdc20, 0x32242: 0x6c0cde20, 0x32243: 0x6c0ce020,\n\t0x32244: 0x6c0ce220, 0x32245: 0x6c0ce420, 0x32246: 0x6c17d020, 0x32247: 0x6c17d220,\n\t0x32248: 0x6c17d420, 0x32249: 0x6c17d620, 0x3224a: 0x6c17d820, 0x3224b: 0x6c2ab420,\n\t0x3224c: 0x6c2ab620, 0x3224d: 0x6c2ab820, 0x3224e: 0x6c44da20, 0x3224f: 0x6c44dc20,\n\t0x32250: 0x6c44de20, 0x32251: 0x6c633020, 0x32252: 0x6c660c20, 0x32253: 0x6c660e20,\n\t0x32254: 0x6c8cd020, 0x32255: 0x6c8cd220, 0x32256: 0x6c8cd420, 0x32257: 0x6c8cd620,\n\t0x32258: 0x6cb94220, 0x32259: 0x6d1a0820, 0x3225a: 0x6d1a0a20, 0x3225b: 0x6d4b1220,\n\t0x3225c: 0x6d489420, 0x3225d: 0x6d76a220, 0x3225e: 0x6da02e20, 0x3225f: 0x6de05220,\n\t0x32260: 0x6df8a420, 0x32261: 0x6e0c7020, 0x32262: 0x6e319220, 0x32263: 0x6c00a620,\n\t0x32264: 0x6c015e20, 0x32265: 0x6c032c20, 0x32266: 0x6c032e20, 0x32267: 0x6c033020,\n\t0x32268: 0x6c033220, 0x32269: 0x6c033420, 0x3226a: 0x6c033620, 0x3226b: 0x6c033820,\n\t0x3226c: 0x6c033a20, 0x3226d: 0x6c068c20, 0x3226e: 0x6c068e20, 0x3226f: 0x6c069020,\n\t0x32270: 0x6c069220, 0x32271: 0x6c069420, 0x32272: 0x6c069620, 0x32273: 0x6c069820,\n\t0x32274: 0x6c069a20, 0x32275: 0x6c0d0620, 0x32276: 0x6c069c20, 0x32277: 0x6c0d0820,\n\t0x32278: 0x6c0d0a20, 0x32279: 0x6c0d0c20, 0x3227a: 0x6c0d0e20, 0x3227b: 0x6c069e20,\n\t0x3227c: 0x6c0d1020, 0x3227d: 0x6c0d1220, 0x3227e: 0x6c0d1420, 0x3227f: 0x6c0d1620,\n\t// Block 0xc8a, offset 0x32280\n\t0x32280: 0x6c0d1820, 0x32281: 0x6c0d1a20, 0x32282: 0x6c0d1c20, 0x32283: 0x6c0d1e20,\n\t0x32284: 0x6c0d2020, 0x32285: 0x6c0d2220, 0x32286: 0x6c0d2420, 0x32287: 0x6c0d2620,\n\t0x32288: 0x6c0d2820, 0x32289: 0x6c0d2a20, 0x3228a: 0x6c0d2c20, 0x3228b: 0x6c0d2e20,\n\t0x3228c: 0x6c0d3020, 0x3228d: 0x6c0d3220, 0x3228e: 0x6c180220, 0x3228f: 0x6c180420,\n\t0x32290: 0x6c180620, 0x32291: 0x6c180820, 0x32292: 0x6c180a20, 0x32293: 0x6c180c20,\n\t0x32294: 0x6c180e20, 0x32295: 0x6c181020, 0x32296: 0x6c181220, 0x32297: 0x6c181420,\n\t0x32298: 0x6c181620, 0x32299: 0x6c181820, 0x3229a: 0x6c181a20, 0x3229b: 0x6c181c20,\n\t0x3229c: 0x6c181e20, 0x3229d: 0x6c182020, 0x3229e: 0x6c182220, 0x3229f: 0x6c182420,\n\t0x322a0: 0x6c182620, 0x322a1: 0x6c182820, 0x322a2: 0x6c182a20, 0x322a3: 0x6c182c20,\n\t0x322a4: 0x6c182e20, 0x322a5: 0x6c183020, 0x322a6: 0x6c183220, 0x322a7: 0x6c2af220,\n\t0x322a8: 0x6c2af420, 0x322a9: 0x6c2af620, 0x322aa: 0x6c2af820, 0x322ab: 0x6c2afa20,\n\t0x322ac: 0x6c2afc20, 0x322ad: 0x6c2afe20, 0x322ae: 0x6c2b0020, 0x322af: 0x6c2b0220,\n\t0x322b0: 0x6c2b0420, 0x322b1: 0x6c2b0620, 0x322b2: 0x6c2b0820, 0x322b3: 0x6c2b0a20,\n\t0x322b4: 0x6c2b0c20, 0x322b5: 0x6c2b0e20, 0x322b6: 0x6c2b1020, 0x322b7: 0x6c2b1220,\n\t0x322b8: 0x6c2b1420, 0x322b9: 0x6c2b1620, 0x322ba: 0x6c2b1820, 0x322bb: 0x6c2b1a20,\n\t0x322bc: 0x6c2b1c20, 0x322bd: 0x6c2b1e20, 0x322be: 0x6c2b2020, 0x322bf: 0x6c2b2220,\n\t// Block 0xc8b, offset 0x322c0\n\t0x322c0: 0x6c2b2420, 0x322c1: 0x6c2b2620, 0x322c2: 0x6c2b2820, 0x322c3: 0x6c2b2a20,\n\t0x322c4: 0x6c2b2c20, 0x322c5: 0x6c2b2e20, 0x322c6: 0x6c2b3020, 0x322c7: 0x6c2b3220,\n\t0x322c8: 0x6c2b3420, 0x322c9: 0x6c2b3620, 0x322ca: 0x6c2b3820, 0x322cb: 0x6c2b3a20,\n\t0x322cc: 0x6c2b3c20, 0x322cd: 0x6c2b3e20, 0x322ce: 0x6c2b4020, 0x322cf: 0x6c2b4220,\n\t0x322d0: 0x6c450620, 0x322d1: 0x6c450820, 0x322d2: 0x6c450a20, 0x322d3: 0x6c450c20,\n\t0x322d4: 0x6c450e20, 0x322d5: 0x6c451020, 0x322d6: 0x6c451220, 0x322d7: 0x6c451420,\n\t0x322d8: 0x6c451620, 0x322d9: 0x6c451820, 0x322da: 0x6c451a20, 0x322db: 0x6c451c20,\n\t0x322dc: 0x6c451e20, 0x322dd: 0x6c452020, 0x322de: 0x6c452220, 0x322df: 0x6c452420,\n\t0x322e0: 0x6c452620, 0x322e1: 0x6c452820, 0x322e2: 0x6c452a20, 0x322e3: 0x6c452c20,\n\t0x322e4: 0x6c452e20, 0x322e5: 0x6c453020, 0x322e6: 0x6c453220, 0x322e7: 0x6c453420,\n\t0x322e8: 0x6c453620, 0x322e9: 0x6c453820, 0x322ea: 0x6c453a20, 0x322eb: 0x6c453c20,\n\t0x322ec: 0x6c453e20, 0x322ed: 0x6c454020, 0x322ee: 0x6c454220, 0x322ef: 0x6c454420,\n\t0x322f0: 0x6c454620, 0x322f1: 0x6c664820, 0x322f2: 0x6c664a20, 0x322f3: 0x6c664c20,\n\t0x322f4: 0x6c664e20, 0x322f5: 0x6c665020, 0x322f6: 0x6c665220, 0x322f7: 0x6c665420,\n\t0x322f8: 0x6c665620, 0x322f9: 0x6c665820, 0x322fa: 0x6c665a20, 0x322fb: 0x6c665c20,\n\t0x322fc: 0x6c665e20, 0x322fd: 0x6c666020, 0x322fe: 0x6c666220, 0x322ff: 0x6c666420,\n\t// Block 0xc8c, offset 0x32300\n\t0x32300: 0x6c666620, 0x32301: 0x6c666820, 0x32302: 0x6c666a20, 0x32303: 0x6c666c20,\n\t0x32304: 0x6c666e20, 0x32305: 0x6c667020, 0x32306: 0x6c667220, 0x32307: 0x6c667420,\n\t0x32308: 0x6c667620, 0x32309: 0x6c667820, 0x3230a: 0x6c667a20, 0x3230b: 0x6c667c20,\n\t0x3230c: 0x6c667e20, 0x3230d: 0x6c668020, 0x3230e: 0x6c668220, 0x3230f: 0x6c668420,\n\t0x32310: 0x6c668620, 0x32311: 0x6c668820, 0x32312: 0x6c668a20, 0x32313: 0x6c668c20,\n\t0x32314: 0x6c668e20, 0x32315: 0x6c669020, 0x32316: 0x6c669220, 0x32317: 0x6c669420,\n\t0x32318: 0x6c669620, 0x32319: 0x6c669820, 0x3231a: 0x6c669a20, 0x3231b: 0x6c669c20,\n\t0x3231c: 0x6c669e20, 0x3231d: 0x6c8cf820, 0x3231e: 0x6c8cfa20, 0x3231f: 0x6c8cfc20,\n\t0x32320: 0x6c8cfe20, 0x32321: 0x6c8d0020, 0x32322: 0x6c8d0220, 0x32323: 0x6c8d0420,\n\t0x32324: 0x6c8d0620, 0x32325: 0x6c8d0820, 0x32326: 0x6c8d0a20, 0x32327: 0x6c8d0c20,\n\t0x32328: 0x6c8d0e20, 0x32329: 0x6c8d1020, 0x3232a: 0x6c8d1220, 0x3232b: 0x6c8d1420,\n\t0x3232c: 0x6c8d1620, 0x3232d: 0x6c8d1820, 0x3232e: 0x6c8d1a20, 0x3232f: 0x6c8d1c20,\n\t0x32330: 0x6c8d1e20, 0x32331: 0x6c8d2020, 0x32332: 0x6c8d2220, 0x32333: 0x6c8d2420,\n\t0x32334: 0x6c8d2620, 0x32335: 0x6c8d2820, 0x32336: 0x6c66a020, 0x32337: 0x6c8d2a20,\n\t0x32338: 0x6c8d2c20, 0x32339: 0x6c8d2e20, 0x3233a: 0x6c8d3020, 0x3233b: 0x6c8d3220,\n\t0x3233c: 0x6c8d3420, 0x3233d: 0x6c8d3620, 0x3233e: 0x6c8d3820, 0x3233f: 0x6cb95a20,\n\t// Block 0xc8d, offset 0x32340\n\t0x32340: 0x6cb95c20, 0x32341: 0x6cb95e20, 0x32342: 0x6cb96020, 0x32343: 0x6cb96220,\n\t0x32344: 0x6cb96420, 0x32345: 0x6cb96620, 0x32346: 0x6cb96820, 0x32347: 0x6cb96a20,\n\t0x32348: 0x6cb96c20, 0x32349: 0x6cb96e20, 0x3234a: 0x6cb97020, 0x3234b: 0x6cb97220,\n\t0x3234c: 0x6cb97420, 0x3234d: 0x6cb97620, 0x3234e: 0x6cb97820, 0x3234f: 0x6cb97a20,\n\t0x32350: 0x6cb97c20, 0x32351: 0x6cb97e20, 0x32352: 0x6cb98020, 0x32353: 0x6cb98220,\n\t0x32354: 0x6cb98420, 0x32355: 0x6cb98620, 0x32356: 0x6cb98820, 0x32357: 0x6cb98a20,\n\t0x32358: 0x6cb98c20, 0x32359: 0x6cb98e20, 0x3235a: 0x6cb99020, 0x3235b: 0x6cb99220,\n\t0x3235c: 0x6cd55e20, 0x3235d: 0x6cb99420, 0x3235e: 0x6cb99620, 0x3235f: 0x6cb99820,\n\t0x32360: 0x6cb99a20, 0x32361: 0x6cb99c20, 0x32362: 0x6cb99e20, 0x32363: 0x6cb9a020,\n\t0x32364: 0x6cb9a220, 0x32365: 0x6cea5220, 0x32366: 0x6cea5420, 0x32367: 0x6cea5620,\n\t0x32368: 0x6cea5820, 0x32369: 0x6cea5a20, 0x3236a: 0x6cea5c20, 0x3236b: 0x6cea5e20,\n\t0x3236c: 0x6cea6020, 0x3236d: 0x6cea6220, 0x3236e: 0x6cea6420, 0x3236f: 0x6cea6620,\n\t0x32370: 0x6cea6820, 0x32371: 0x6cea6a20, 0x32372: 0x6cea6c20, 0x32373: 0x6cea6e20,\n\t0x32374: 0x6cea7020, 0x32375: 0x6cea7220, 0x32376: 0x6cea7420, 0x32377: 0x6cea7620,\n\t0x32378: 0x6cea7820, 0x32379: 0x6cea7a20, 0x3237a: 0x6cea7c20, 0x3237b: 0x6cea7e20,\n\t0x3237c: 0x6cea8020, 0x3237d: 0x6cea8220, 0x3237e: 0x6cea8420, 0x3237f: 0x6cea8620,\n\t// Block 0xc8e, offset 0x32380\n\t0x32380: 0x6cea8820, 0x32381: 0x6cea8a20, 0x32382: 0x6d1a3020, 0x32383: 0x6d1a3220,\n\t0x32384: 0x6d1a3420, 0x32385: 0x6d1a3620, 0x32386: 0x6d1a3820, 0x32387: 0x6d1a3a20,\n\t0x32388: 0x6d1a3c20, 0x32389: 0x6d1a3e20, 0x3238a: 0x6d1a4020, 0x3238b: 0x6d1a4220,\n\t0x3238c: 0x6d1a4420, 0x3238d: 0x6d1a4620, 0x3238e: 0x6d1a4820, 0x3238f: 0x6d1a4a20,\n\t0x32390: 0x6d1a4c20, 0x32391: 0x6d1a4e20, 0x32392: 0x6d1a5020, 0x32393: 0x6d1a5220,\n\t0x32394: 0x6d1a5420, 0x32395: 0x6d1a5620, 0x32396: 0x6d1a5820, 0x32397: 0x6d1a5a20,\n\t0x32398: 0x6d1a5c20, 0x32399: 0x6d1a5e20, 0x3239a: 0x6d1a6020, 0x3239b: 0x6d1a6220,\n\t0x3239c: 0x6d1a6420, 0x3239d: 0x6d1a6620, 0x3239e: 0x6d1a6820, 0x3239f: 0x6d1a6a20,\n\t0x323a0: 0x6d48ae20, 0x323a1: 0x6d1a6c20, 0x323a2: 0x6d1a6e20, 0x323a3: 0x6d1a7020,\n\t0x323a4: 0x6d1a7220, 0x323a5: 0x6d1a7420, 0x323a6: 0x6d48b020, 0x323a7: 0x6d48b220,\n\t0x323a8: 0x6d48b420, 0x323a9: 0x6d48b620, 0x323aa: 0x6d48b820, 0x323ab: 0x6d48ba20,\n\t0x323ac: 0x6d48bc20, 0x323ad: 0x6d48be20, 0x323ae: 0x6d48c020, 0x323af: 0x6d48c220,\n\t0x323b0: 0x6d48c420, 0x323b1: 0x6d48c620, 0x323b2: 0x6d48c820, 0x323b3: 0x6d48ca20,\n\t0x323b4: 0x6d48cc20, 0x323b5: 0x6d48ce20, 0x323b6: 0x6d48d020, 0x323b7: 0x6d48d220,\n\t0x323b8: 0x6d48d420, 0x323b9: 0x6d48d620, 0x323ba: 0x6d76b420, 0x323bb: 0x6d76b620,\n\t0x323bc: 0x6d76b820, 0x323bd: 0x6d76ba20, 0x323be: 0x6d76bc20, 0x323bf: 0x6d76be20,\n\t// Block 0xc8f, offset 0x323c0\n\t0x323c0: 0x6d76c020, 0x323c1: 0x6d76c220, 0x323c2: 0x6d76c420, 0x323c3: 0x6d76c620,\n\t0x323c4: 0x6d76c820, 0x323c5: 0x6d76ca20, 0x323c6: 0x6d76cc20, 0x323c7: 0x6d76ce20,\n\t0x323c8: 0x6d76d020, 0x323c9: 0x6d76d220, 0x323ca: 0x6d76d420, 0x323cb: 0x6d938220,\n\t0x323cc: 0x6da03620, 0x323cd: 0x6da03820, 0x323ce: 0x6da03a20, 0x323cf: 0x6da03c20,\n\t0x323d0: 0x6da03e20, 0x323d1: 0x6da04020, 0x323d2: 0x6da04220, 0x323d3: 0x6da04420,\n\t0x323d4: 0x6da04620, 0x323d5: 0x6da04820, 0x323d6: 0x6da04a20, 0x323d7: 0x6da04c20,\n\t0x323d8: 0x6da04e20, 0x323d9: 0x6da05020, 0x323da: 0x6da05220, 0x323db: 0x6dc2b820,\n\t0x323dc: 0x6dc2ba20, 0x323dd: 0x6dc2bc20, 0x323de: 0x6dc2be20, 0x323df: 0x6dc2c020,\n\t0x323e0: 0x6dc2c220, 0x323e1: 0x6de05a20, 0x323e2: 0x6de05c20, 0x323e3: 0x6de05e20,\n\t0x323e4: 0x6df8a820, 0x323e5: 0x6e0c7620, 0x323e6: 0x6df8aa20, 0x323e7: 0x6df8ac20,\n\t0x323e8: 0x6df8ae20, 0x323e9: 0x6df8b020, 0x323ea: 0x6e0c7820, 0x323eb: 0x6e0c7a20,\n\t0x323ec: 0x6e0c7c20, 0x323ed: 0x6e0c7e20, 0x323ee: 0x6e286420, 0x323ef: 0x6e319420,\n\t0x323f0: 0x6e3cec20, 0x323f1: 0x6e3cee20, 0x323f2: 0x6c016220, 0x323f3: 0x6c034020,\n\t0x323f4: 0x6c034220, 0x323f5: 0x6c034420, 0x323f6: 0x6c06ae20, 0x323f7: 0x6c06b020,\n\t0x323f8: 0x6c06b220, 0x323f9: 0x6c0d4c20, 0x323fa: 0x6c0d4e20, 0x323fb: 0x6c0d5020,\n\t0x323fc: 0x6c0d5220, 0x323fd: 0x6c0d5420, 0x323fe: 0x6c0d5620, 0x323ff: 0x6c0d5820,\n\t// Block 0xc90, offset 0x32400\n\t0x32400: 0x6c0d5a20, 0x32401: 0x6c0d5c20, 0x32402: 0x6c185420, 0x32403: 0x6c185620,\n\t0x32404: 0x6c185820, 0x32405: 0x6c185a20, 0x32406: 0x6c185c20, 0x32407: 0x6c185e20,\n\t0x32408: 0x6c186020, 0x32409: 0x6c186220, 0x3240a: 0x6c186420, 0x3240b: 0x6c186620,\n\t0x3240c: 0x6c186820, 0x3240d: 0x6c186a20, 0x3240e: 0x6c186c20, 0x3240f: 0x6c186e20,\n\t0x32410: 0x6c187020, 0x32411: 0x6c2b6820, 0x32412: 0x6c2b6a20, 0x32413: 0x6c2b6c20,\n\t0x32414: 0x6c2b6e20, 0x32415: 0x6c2b7020, 0x32416: 0x6c2b7220, 0x32417: 0x6c2b7420,\n\t0x32418: 0x6c2b7620, 0x32419: 0x6c2b7820, 0x3241a: 0x6c2b7a20, 0x3241b: 0x6c2b7c20,\n\t0x3241c: 0x6c2b7e20, 0x3241d: 0x6c2b8020, 0x3241e: 0x6c456620, 0x3241f: 0x6c456820,\n\t0x32420: 0x6c456a20, 0x32421: 0x6c456c20, 0x32422: 0x6c456e20, 0x32423: 0x6c457020,\n\t0x32424: 0x6c457220, 0x32425: 0x6c457420, 0x32426: 0x6c457620, 0x32427: 0x6c457820,\n\t0x32428: 0x6c457a20, 0x32429: 0x6c457c20, 0x3242a: 0x6c457e20, 0x3242b: 0x6c66b820,\n\t0x3242c: 0x6c66ba20, 0x3242d: 0x6c66bc20, 0x3242e: 0x6c66be20, 0x3242f: 0x6c66c020,\n\t0x32430: 0x6c66c220, 0x32431: 0x6c66c420, 0x32432: 0x6c66c620, 0x32433: 0x6c66c820,\n\t0x32434: 0x6c66ca20, 0x32435: 0x6c66cc20, 0x32436: 0x6c66ce20, 0x32437: 0x6c66d020,\n\t0x32438: 0x6c66d220, 0x32439: 0x6c66d420, 0x3243a: 0x6c66d620, 0x3243b: 0x6c8d5420,\n\t0x3243c: 0x6c8d5620, 0x3243d: 0x6c8d5820, 0x3243e: 0x6c8d5a20, 0x3243f: 0x6c8d5c20,\n\t// Block 0xc91, offset 0x32440\n\t0x32440: 0x6c8d5e20, 0x32441: 0x6c8d6020, 0x32442: 0x6c8d6220, 0x32443: 0x6c8d6420,\n\t0x32444: 0x6c8d6620, 0x32445: 0x6cb9b420, 0x32446: 0x6cb9b620, 0x32447: 0x6cb9b820,\n\t0x32448: 0x6cb9ba20, 0x32449: 0x6cb9bc20, 0x3244a: 0x6cb9be20, 0x3244b: 0x6cb9c020,\n\t0x3244c: 0x6cb9c220, 0x3244d: 0x6cb9c420, 0x3244e: 0x6cb9c620, 0x3244f: 0x6cb9c820,\n\t0x32450: 0x6cb9ca20, 0x32451: 0x6cb9cc20, 0x32452: 0x6cb9ce20, 0x32453: 0x6ceaa420,\n\t0x32454: 0x6ceaa620, 0x32455: 0x6ceaa820, 0x32456: 0x6ceaaa20, 0x32457: 0x6ceaac20,\n\t0x32458: 0x6ceaae20, 0x32459: 0x6ceab020, 0x3245a: 0x6ceab220, 0x3245b: 0x6ceab420,\n\t0x3245c: 0x6ceab620, 0x3245d: 0x6ceab820, 0x3245e: 0x6ceaba20, 0x3245f: 0x6ceabc20,\n\t0x32460: 0x6d1a8420, 0x32461: 0x6d1a8620, 0x32462: 0x6d1a8820, 0x32463: 0x6d1a8a20,\n\t0x32464: 0x6d1a8c20, 0x32465: 0x6d1a8e20, 0x32466: 0x6d1a9020, 0x32467: 0x6d1a9220,\n\t0x32468: 0x6d1a9420, 0x32469: 0x6d1a9620, 0x3246a: 0x6d1a9820, 0x3246b: 0x6d1a9a20,\n\t0x3246c: 0x6d1a9c20, 0x3246d: 0x6d1a9e20, 0x3246e: 0x6d1aa020, 0x3246f: 0x6d1aa220,\n\t0x32470: 0x6d48e420, 0x32471: 0x6d48e620, 0x32472: 0x6d48e820, 0x32473: 0x6d48ea20,\n\t0x32474: 0x6d48ec20, 0x32475: 0x6d48ee20, 0x32476: 0x6d76dc20, 0x32477: 0x6d76de20,\n\t0x32478: 0x6d76e020, 0x32479: 0x6da06220, 0x3247a: 0x6da06420, 0x3247b: 0x6da06620,\n\t0x3247c: 0x6da06820, 0x3247d: 0x6da06a20, 0x3247e: 0x6da06c20, 0x3247f: 0x6da06e20,\n\t// Block 0xc92, offset 0x32480\n\t0x32480: 0x6dc2c620, 0x32481: 0x6dc2c820, 0x32482: 0x6dc2ca20, 0x32483: 0x6dc2cc20,\n\t0x32484: 0x6de06220, 0x32485: 0x6de06420, 0x32486: 0x6df8b220, 0x32487: 0x6e0c8020,\n\t0x32488: 0x6e286620, 0x32489: 0x6e286820, 0x3248a: 0x6e384220, 0x3248b: 0x6e46ae20,\n\t0x3248c: 0x6c035620, 0x3248d: 0x6c06be20, 0x3248e: 0x6c06c020, 0x3248f: 0x6c06c220,\n\t0x32490: 0x6c06c420, 0x32491: 0x6c0d6020, 0x32492: 0x6c0d6220, 0x32493: 0x6c0d6420,\n\t0x32494: 0x6c187a20, 0x32495: 0x6c187c20, 0x32496: 0x6c187e20, 0x32497: 0x6c188020,\n\t0x32498: 0x6c2b8e20, 0x32499: 0x6c2b9020, 0x3249a: 0x6c2b9220, 0x3249b: 0x6c2b9420,\n\t0x3249c: 0x6c2b9620, 0x3249d: 0x6c2b9820, 0x3249e: 0x6c458420, 0x3249f: 0x6c458620,\n\t0x324a0: 0x6c458820, 0x324a1: 0x6c458a20, 0x324a2: 0x6c458c20, 0x324a3: 0x6c458e20,\n\t0x324a4: 0x6c66e020, 0x324a5: 0x6c66e220, 0x324a6: 0x6c66e420, 0x324a7: 0x6c66e620,\n\t0x324a8: 0x6c66e820, 0x324a9: 0x6c66ea20, 0x324aa: 0x6c66ec20, 0x324ab: 0x6c66ee20,\n\t0x324ac: 0x6c66f020, 0x324ad: 0x6c66f220, 0x324ae: 0x6c8d7020, 0x324af: 0x6c8d7220,\n\t0x324b0: 0x6c8d7420, 0x324b1: 0x6c8d7620, 0x324b2: 0x6c8d7820, 0x324b3: 0x6c8d7a20,\n\t0x324b4: 0x6c8d7c20, 0x324b5: 0x6cb9da20, 0x324b6: 0x6cb9dc20, 0x324b7: 0x6cb9de20,\n\t0x324b8: 0x6ceac420, 0x324b9: 0x6ceac620, 0x324ba: 0x6ceac820, 0x324bb: 0x6ceaca20,\n\t0x324bc: 0x6ceacc20, 0x324bd: 0x6d1aa820, 0x324be: 0x6d1aaa20, 0x324bf: 0x6d1aac20,\n\t// Block 0xc93, offset 0x324c0\n\t0x324c0: 0x6d1aae20, 0x324c1: 0x6d1ab020, 0x324c2: 0x6d1ab220, 0x324c3: 0x6d48f420,\n\t0x324c4: 0x6d76e220, 0x324c5: 0x6d76e420, 0x324c6: 0x6d76e620, 0x324c7: 0x6d76e820,\n\t0x324c8: 0x6da07020, 0x324c9: 0x6da07220, 0x324ca: 0x6da07420, 0x324cb: 0x6df8b420,\n\t0x324cc: 0x6df8b620, 0x324cd: 0x6df8b820, 0x324ce: 0x6c00ae20, 0x324cf: 0x6c035c20,\n\t0x324d0: 0x6c06c820, 0x324d1: 0x6c188220, 0x324d2: 0x6c188420, 0x324d3: 0x6c188620,\n\t0x324d4: 0x6c188820, 0x324d5: 0x6c188a20, 0x324d6: 0x6c2b9c20, 0x324d7: 0x6c459020,\n\t0x324d8: 0x6c459220, 0x324d9: 0x6c459420, 0x324da: 0x6c459620, 0x324db: 0x6c459820,\n\t0x324dc: 0x6c459a20, 0x324dd: 0x6c459c20, 0x324de: 0x6c66f420, 0x324df: 0x6c66f620,\n\t0x324e0: 0x6c66f820, 0x324e1: 0x6c66fa20, 0x324e2: 0x6c63d420, 0x324e3: 0x6cb9e020,\n\t0x324e4: 0x6cb9e220, 0x324e5: 0x6ceace20, 0x324e6: 0x6d1ab420, 0x324e7: 0x6d1ab620,\n\t0x324e8: 0x6d1ab820, 0x324e9: 0x6da07620, 0x324ea: 0x6dc2ce20, 0x324eb: 0x6dea7420,\n\t0x324ec: 0x6c00b220, 0x324ed: 0x6c035e20, 0x324ee: 0x6c0d7020, 0x324ef: 0x6c0d7220,\n\t0x324f0: 0x6c0d7420, 0x324f1: 0x6c0d7620, 0x324f2: 0x6c0d7a20, 0x324f3: 0x6c189620,\n\t0x324f4: 0x6c189820, 0x324f5: 0x6c189a20, 0x324f6: 0x6c189c20, 0x324f7: 0x6c189e20,\n\t0x324f8: 0x6c2ba020, 0x324f9: 0x6c2ba220, 0x324fa: 0x6c2ba420, 0x324fb: 0x6c2ba620,\n\t0x324fc: 0x6c45a620, 0x324fd: 0x6c45a820, 0x324fe: 0x6c45aa20, 0x324ff: 0x6c45ac20,\n\t// Block 0xc94, offset 0x32500\n\t0x32500: 0x6c45ae20, 0x32501: 0x6c45b020, 0x32502: 0x6c45b220, 0x32503: 0x6c45c220,\n\t0x32504: 0x6c45b420, 0x32505: 0x6c45b620, 0x32506: 0x6c45b820, 0x32507: 0x6c45ba20,\n\t0x32508: 0x6c45bc20, 0x32509: 0x6c670220, 0x3250a: 0x6c670420, 0x3250b: 0x6c670620,\n\t0x3250c: 0x6c670820, 0x3250d: 0x6c670a20, 0x3250e: 0x6c8d8e20, 0x3250f: 0x6c8d9020,\n\t0x32510: 0x6cb9e420, 0x32511: 0x6cb9e620, 0x32512: 0x6cb9e820, 0x32513: 0x6cb9ea20,\n\t0x32514: 0x6cb9ec20, 0x32515: 0x6cb9ee20, 0x32516: 0x6ceada20, 0x32517: 0x6ceadc20,\n\t0x32518: 0x6ceade20, 0x32519: 0x6d1ac220, 0x3251a: 0x6d1ac420, 0x3251b: 0x6d1ac620,\n\t0x3251c: 0x6d48f820, 0x3251d: 0x6d48fa20, 0x3251e: 0x6d48fc20, 0x3251f: 0x6d48fe20,\n\t0x32520: 0x6d490020, 0x32521: 0x6d490220, 0x32522: 0x6d76ec20, 0x32523: 0x6d76ee20,\n\t0x32524: 0x6dc2d020, 0x32525: 0x6dc2d220, 0x32526: 0x6de06a20, 0x32527: 0x6de06c20,\n\t0x32528: 0x6df8bc20, 0x32529: 0x6df8be20, 0x3252a: 0x6e1c2420, 0x3252b: 0x6e3cf220,\n\t0x3252c: 0x6e451420, 0x3252d: 0x6c036420, 0x3252e: 0x6c0d7c20, 0x3252f: 0x6c0d7e20,\n\t0x32530: 0x6c18a820, 0x32531: 0x6c18aa20, 0x32532: 0x6c18ac20, 0x32533: 0x6c2baa20,\n\t0x32534: 0x6c45c420, 0x32535: 0x6c45c620, 0x32536: 0x6c670e20, 0x32537: 0x6d1aca20,\n\t0x32538: 0x6df8c220, 0x32539: 0x6e1c2620, 0x3253a: 0x6e1c2820, 0x3253b: 0x6c037020,\n\t0x3253c: 0x6c037220, 0x3253d: 0x6c06da20, 0x3253e: 0x6c06dc20, 0x3253f: 0x6c037420,\n\t// Block 0xc95, offset 0x32540\n\t0x32540: 0x6c06de20, 0x32541: 0x6c06e020, 0x32542: 0x6c0d8e20, 0x32543: 0x6c0d9020,\n\t0x32544: 0x6c0d9220, 0x32545: 0x6c0d9420, 0x32546: 0x6c0d9620, 0x32547: 0x6c0d9820,\n\t0x32548: 0x6c0d9a20, 0x32549: 0x6c0d9c20, 0x3254a: 0x6c0d9e20, 0x3254b: 0x6c0da020,\n\t0x3254c: 0x6c0da220, 0x3254d: 0x6c0da420, 0x3254e: 0x6c0da620, 0x3254f: 0x6c0da820,\n\t0x32550: 0x6c0daa20, 0x32551: 0x6c18ae20, 0x32552: 0x6c18b020, 0x32553: 0x6c18b220,\n\t0x32554: 0x6c18b420, 0x32555: 0x6c18b620, 0x32556: 0x6c18b820, 0x32557: 0x6c18ba20,\n\t0x32558: 0x6c2bba20, 0x32559: 0x6c2bbc20, 0x3255a: 0x6c2bbe20, 0x3255b: 0x6c2bc020,\n\t0x3255c: 0x6c2bc220, 0x3255d: 0x6c2bc420, 0x3255e: 0x6c2bc620, 0x3255f: 0x6c2bc820,\n\t0x32560: 0x6c2bca20, 0x32561: 0x6c2bcc20, 0x32562: 0x6c2bce20, 0x32563: 0x6c671020,\n\t0x32564: 0x6c671220, 0x32565: 0x6c671420, 0x32566: 0x6c671620, 0x32567: 0x6c671820,\n\t0x32568: 0x6c671a20, 0x32569: 0x6c671c20, 0x3256a: 0x6c8d9a20, 0x3256b: 0x6c8d9c20,\n\t0x3256c: 0x6c8d9e20, 0x3256d: 0x6c8da020, 0x3256e: 0x6c8da220, 0x3256f: 0x6c8da420,\n\t0x32570: 0x6cb9f420, 0x32571: 0x6cb9f620, 0x32572: 0x6cb9f820, 0x32573: 0x6cb9fa20,\n\t0x32574: 0x6ceae220, 0x32575: 0x6ceae420, 0x32576: 0x6ceae620, 0x32577: 0x6ceae820,\n\t0x32578: 0x6ceaea20, 0x32579: 0x6ceaec20, 0x3257a: 0x6ceaee20, 0x3257b: 0x6ceaf020,\n\t0x3257c: 0x6ceaf220, 0x3257d: 0x6d1acc20, 0x3257e: 0x6d1ace20, 0x3257f: 0x6d1ad020,\n\t// Block 0xc96, offset 0x32580\n\t0x32580: 0x6d490420, 0x32581: 0x6d490620, 0x32582: 0x6d490820, 0x32583: 0x6d490a20,\n\t0x32584: 0x6d490c20, 0x32585: 0x6da07a20, 0x32586: 0x6da07c20, 0x32587: 0x6da07e20,\n\t0x32588: 0x6da08020, 0x32589: 0x6dc2d420, 0x3258a: 0x6dc2d620, 0x3258b: 0x6dc2d820,\n\t0x3258c: 0x6dc2da20, 0x3258d: 0x6dc2dc20, 0x3258e: 0x6de06e20, 0x3258f: 0x6e0c8620,\n\t0x32590: 0x6e384420, 0x32591: 0x6e3cf420, 0x32592: 0x6c016c20, 0x32593: 0x6c06ea20,\n\t0x32594: 0x6c0dae20, 0x32595: 0x6c0db020, 0x32596: 0x6c0db220, 0x32597: 0x6c0db420,\n\t0x32598: 0x6c0db620, 0x32599: 0x6c18c420, 0x3259a: 0x6c18c620, 0x3259b: 0x6c18c820,\n\t0x3259c: 0x6c18ca20, 0x3259d: 0x6c161a20, 0x3259e: 0x6c2bdc20, 0x3259f: 0x6c2bde20,\n\t0x325a0: 0x6c2be020, 0x325a1: 0x6c2be220, 0x325a2: 0x6c2be420, 0x325a3: 0x6c2be620,\n\t0x325a4: 0x6c2be820, 0x325a5: 0x6c2bea20, 0x325a6: 0x6c2bec20, 0x325a7: 0x6c2bee20,\n\t0x325a8: 0x6c2bf020, 0x325a9: 0x6c45ce20, 0x325aa: 0x6c45d020, 0x325ab: 0x6c45d220,\n\t0x325ac: 0x6c45d420, 0x325ad: 0x6c45d620, 0x325ae: 0x6c45d820, 0x325af: 0x6c45da20,\n\t0x325b0: 0x6c45dc20, 0x325b1: 0x6c45de20, 0x325b2: 0x6c45e020, 0x325b3: 0x6c672020,\n\t0x325b4: 0x6c672220, 0x325b5: 0x6c672420, 0x325b6: 0x6c672620, 0x325b7: 0x6c672820,\n\t0x325b8: 0x6cb78420, 0x325b9: 0x6c672a20, 0x325ba: 0x6c8daa20, 0x325bb: 0x6c8dac20,\n\t0x325bc: 0x6c8dae20, 0x325bd: 0x6c8db020, 0x325be: 0x6c8db220, 0x325bf: 0x6c8db420,\n\t// Block 0xc97, offset 0x325c0\n\t0x325c0: 0x6cb9fc20, 0x325c1: 0x6cb9fe20, 0x325c2: 0x6cba0020, 0x325c3: 0x6cbd9e20,\n\t0x325c4: 0x6cba0220, 0x325c5: 0x6ceaf620, 0x325c6: 0x6d1ad420, 0x325c7: 0x6d1ad620,\n\t0x325c8: 0x6d491220, 0x325c9: 0x6d491420, 0x325ca: 0x6d491620, 0x325cb: 0x6e400820,\n\t0x325cc: 0x6e467a20, 0x325cd: 0x6c037e20, 0x325ce: 0x6c038020, 0x325cf: 0x6c038220,\n\t0x325d0: 0x6c038420, 0x325d1: 0x6c06f220, 0x325d2: 0x6c0dbc20, 0x325d3: 0x6c0dbe20,\n\t0x325d4: 0x6c0dc020, 0x325d5: 0x6c0dc220, 0x325d6: 0x6c0dc420, 0x325d7: 0x6c0dc620,\n\t0x325d8: 0x6c18da20, 0x325d9: 0x6c45ea20, 0x325da: 0x6c45ec20, 0x325db: 0x6c45ee20,\n\t0x325dc: 0x6c45f020, 0x325dd: 0x6c45f220, 0x325de: 0x6c672e20, 0x325df: 0x6cba0420,\n\t0x325e0: 0x6cba0620, 0x325e1: 0x6cba0820, 0x325e2: 0x6ceafc20, 0x325e3: 0x6ceafe20,\n\t0x325e4: 0x6ceb0020, 0x325e5: 0x6d1ada20, 0x325e6: 0x6da08420, 0x325e7: 0x6dc2e020,\n\t0x325e8: 0x6dc2e220, 0x325e9: 0x6dc2e420, 0x325ea: 0x6dc2e620, 0x325eb: 0x6e3cf620,\n\t0x325ec: 0x6c038e20, 0x325ed: 0x6c06fa20, 0x325ee: 0x6c06fc20, 0x325ef: 0x6c06fe20,\n\t0x325f0: 0x6c070020, 0x325f1: 0x6c070220, 0x325f2: 0x6c070420, 0x325f3: 0x6c070620,\n\t0x325f4: 0x6c0dda20, 0x325f5: 0x6c0ddc20, 0x325f6: 0x6c0dde20, 0x325f7: 0x6c0de020,\n\t0x325f8: 0x6c0de220, 0x325f9: 0x6c0de420, 0x325fa: 0x6c0de620, 0x325fb: 0x6c0de820,\n\t0x325fc: 0x6c0dea20, 0x325fd: 0x6c0dec20, 0x325fe: 0x6c0dee20, 0x325ff: 0x6c0df020,\n\t// Block 0xc98, offset 0x32600\n\t0x32600: 0x6c18ec20, 0x32601: 0x6c18ee20, 0x32602: 0x6c18f020, 0x32603: 0x6c18f220,\n\t0x32604: 0x6c18f420, 0x32605: 0x6c18f620, 0x32606: 0x6c18f820, 0x32607: 0x6c18fa20,\n\t0x32608: 0x6c18fc20, 0x32609: 0x6c18fe20, 0x3260a: 0x6c2c0c20, 0x3260b: 0x6c2c0e20,\n\t0x3260c: 0x6c2c1020, 0x3260d: 0x6c2c1220, 0x3260e: 0x6c2c1420, 0x3260f: 0x6c2c1620,\n\t0x32610: 0x6c2c1820, 0x32611: 0x6c2c1a20, 0x32612: 0x6c2c1c20, 0x32613: 0x6c2c1e20,\n\t0x32614: 0x6c2c2020, 0x32615: 0x6c2c2220, 0x32616: 0x6c2a5a20, 0x32617: 0x6c460420,\n\t0x32618: 0x6c460620, 0x32619: 0x6c460820, 0x3261a: 0x6c460a20, 0x3261b: 0x6c460c20,\n\t0x3261c: 0x6c460e20, 0x3261d: 0x6c461020, 0x3261e: 0x6c461220, 0x3261f: 0x6c461420,\n\t0x32620: 0x6c461620, 0x32621: 0x6c461820, 0x32622: 0x6c461a20, 0x32623: 0x6c461c20,\n\t0x32624: 0x6c461e20, 0x32625: 0x6c462020, 0x32626: 0x6c462220, 0x32627: 0x6c674220,\n\t0x32628: 0x6c674420, 0x32629: 0x6c674620, 0x3262a: 0x6c674820, 0x3262b: 0x6c674a20,\n\t0x3262c: 0x6c674c20, 0x3262d: 0x6c674e20, 0x3262e: 0x6c675020, 0x3262f: 0x6c675220,\n\t0x32630: 0x6c675420, 0x32631: 0x6c675620, 0x32632: 0x6c675820, 0x32633: 0x6c675a20,\n\t0x32634: 0x6c675c20, 0x32635: 0x6c675e20, 0x32636: 0x6c676020, 0x32637: 0x6c676220,\n\t0x32638: 0x6c8dc220, 0x32639: 0x6c8dc420, 0x3263a: 0x6c8dc620, 0x3263b: 0x6c8dc820,\n\t0x3263c: 0x6c8dca20, 0x3263d: 0x6c8dcc20, 0x3263e: 0x6c8dce20, 0x3263f: 0x6ceb0820,\n\t// Block 0xc99, offset 0x32640\n\t0x32640: 0x6c8dd020, 0x32641: 0x6c8dd220, 0x32642: 0x6c8dd420, 0x32643: 0x6c8dd620,\n\t0x32644: 0x6c8dd820, 0x32645: 0x6c8dda20, 0x32646: 0x6c8ddc20, 0x32647: 0x6cba1620,\n\t0x32648: 0x6cba1820, 0x32649: 0x6cba1a20, 0x3264a: 0x6cba1c20, 0x3264b: 0x6cba1e20,\n\t0x3264c: 0x6cba2020, 0x3264d: 0x6cba2220, 0x3264e: 0x6cba2420, 0x3264f: 0x6cba2620,\n\t0x32650: 0x6cba2820, 0x32651: 0x6ceb0a20, 0x32652: 0x6ceb0c20, 0x32653: 0x6ceb0e20,\n\t0x32654: 0x6ceb1020, 0x32655: 0x6ceb1220, 0x32656: 0x6ceb1420, 0x32657: 0x6ceb1620,\n\t0x32658: 0x6ceb1820, 0x32659: 0x6d1ae820, 0x3265a: 0x6d1aea20, 0x3265b: 0x6d1aec20,\n\t0x3265c: 0x6d1aee20, 0x3265d: 0x6d1af020, 0x3265e: 0x6d1af220, 0x3265f: 0x6d1af420,\n\t0x32660: 0x6d1af620, 0x32661: 0x6d1af820, 0x32662: 0x6d1afa20, 0x32663: 0x6d1afc20,\n\t0x32664: 0x6d1afe20, 0x32665: 0x6d1b0020, 0x32666: 0x6d1b0220, 0x32667: 0x6d1b0420,\n\t0x32668: 0x6d1b0620, 0x32669: 0x6d1b0820, 0x3266a: 0x6d1b0a20, 0x3266b: 0x6d1b0c20,\n\t0x3266c: 0x6d1b0e20, 0x3266d: 0x6d491e20, 0x3266e: 0x6d492020, 0x3266f: 0x6d492220,\n\t0x32670: 0x6d492420, 0x32671: 0x6d492620, 0x32672: 0x6d492820, 0x32673: 0x6d492a20,\n\t0x32674: 0x6d492c20, 0x32675: 0x6d492e20, 0x32676: 0x6d493020, 0x32677: 0x6d493220,\n\t0x32678: 0x6d493420, 0x32679: 0x6d5ad220, 0x3267a: 0x6d76f020, 0x3267b: 0x6d76f220,\n\t0x3267c: 0x6d76f420, 0x3267d: 0x6d76f620, 0x3267e: 0x6d76f820, 0x3267f: 0x6da08a20,\n\t// Block 0xc9a, offset 0x32680\n\t0x32680: 0x6dc2e820, 0x32681: 0x6dc2ea20, 0x32682: 0x6dc2ec20, 0x32683: 0x6dc2ee20,\n\t0x32684: 0x6dc2f020, 0x32685: 0x6dc2f220, 0x32686: 0x6dc2f420, 0x32687: 0x6df8c620,\n\t0x32688: 0x6dfbb620, 0x32689: 0x6e0c8820, 0x3268a: 0x6e0c8a20, 0x3268b: 0x6e1c2a20,\n\t0x3268c: 0x6e286a20, 0x3268d: 0x6e286c20, 0x3268e: 0x6e286e20, 0x3268f: 0x6e319820,\n\t0x32690: 0x6e442420, 0x32691: 0x6e462220, 0x32692: 0x6e467c20, 0x32693: 0x6c017620,\n\t0x32694: 0x6c017820, 0x32695: 0x6c017a20, 0x32696: 0x6c017c20, 0x32697: 0x6c039820,\n\t0x32698: 0x6c039a20, 0x32699: 0x6c071020, 0x3269a: 0x6c071220, 0x3269b: 0x6c071420,\n\t0x3269c: 0x6c071620, 0x3269d: 0x6c071820, 0x3269e: 0x6c0df620, 0x3269f: 0x6c0df820,\n\t0x326a0: 0x6c0dfa20, 0x326a1: 0x6c0dfc20, 0x326a2: 0x6c0dfe20, 0x326a3: 0x6c0e0020,\n\t0x326a4: 0x6c0e0220, 0x326a5: 0x6c0e0420, 0x326a6: 0x6c190620, 0x326a7: 0x6c190820,\n\t0x326a8: 0x6c190a20, 0x326a9: 0x6c2c2e20, 0x326aa: 0x6c2c3020, 0x326ab: 0x6c2c3220,\n\t0x326ac: 0x6c2c3420, 0x326ad: 0x6c2c3620, 0x326ae: 0x6c2ab020, 0x326af: 0x6c2c3820,\n\t0x326b0: 0x6c462c20, 0x326b1: 0x6c462e20, 0x326b2: 0x6c463020, 0x326b3: 0x6c464a20,\n\t0x326b4: 0x6c463220, 0x326b5: 0x6c463420, 0x326b6: 0x6c463620, 0x326b7: 0x6c463820,\n\t0x326b8: 0x6c463a20, 0x326b9: 0x6c677220, 0x326ba: 0x6c677420, 0x326bb: 0x6c677620,\n\t0x326bc: 0x6c677820, 0x326bd: 0x6c8dea20, 0x326be: 0x6c8dec20, 0x326bf: 0x6cba3020,\n\t// Block 0xc9b, offset 0x326c0\n\t0x326c0: 0x6cba3220, 0x326c1: 0x6cba3420, 0x326c2: 0x6cba3620, 0x326c3: 0x6cba3820,\n\t0x326c4: 0x6cba3a20, 0x326c5: 0x6cba3c20, 0x326c6: 0x6ceb2220, 0x326c7: 0x6ceb2420,\n\t0x326c8: 0x6ceb2620, 0x326c9: 0x6ceb2820, 0x326ca: 0x6ceb2a20, 0x326cb: 0x6ceb2c20,\n\t0x326cc: 0x6ceb2e20, 0x326cd: 0x6d1b1820, 0x326ce: 0x6d1b1a20, 0x326cf: 0x6d1b1c20,\n\t0x326d0: 0x6d1b1e20, 0x326d1: 0x6d493e20, 0x326d2: 0x6d494020, 0x326d3: 0x6d76fa20,\n\t0x326d4: 0x6de07220, 0x326d5: 0x6da08e20, 0x326d6: 0x6da09020, 0x326d7: 0x6da09220,\n\t0x326d8: 0x6de07420, 0x326d9: 0x6de07620, 0x326da: 0x6c03aa20, 0x326db: 0x6c03ac20,\n\t0x326dc: 0x6c03ae20, 0x326dd: 0x6c03b020, 0x326de: 0x6c03b220, 0x326df: 0x6c03b420,\n\t0x326e0: 0x6c03b620, 0x326e1: 0x6c072020, 0x326e2: 0x6c072220, 0x326e3: 0x6c072420,\n\t0x326e4: 0x6c072620, 0x326e5: 0x6c072820, 0x326e6: 0x6c072a20, 0x326e7: 0x6c072c20,\n\t0x326e8: 0x6c072e20, 0x326e9: 0x6c0e0a20, 0x326ea: 0x6c0e0c20, 0x326eb: 0x6c0e0e20,\n\t0x326ec: 0x6c0e1020, 0x326ed: 0x6c0e1220, 0x326ee: 0x6c0e1420, 0x326ef: 0x6c0e1620,\n\t0x326f0: 0x6c0e1820, 0x326f1: 0x6c191020, 0x326f2: 0x6c191220, 0x326f3: 0x6c191420,\n\t0x326f4: 0x6c191620, 0x326f5: 0x6c191820, 0x326f6: 0x6c191a20, 0x326f7: 0x6c191c20,\n\t0x326f8: 0x6c191e20, 0x326f9: 0x6c2c4620, 0x326fa: 0x6c2c4820, 0x326fb: 0x6c2c4a20,\n\t0x326fc: 0x6c2c4c20, 0x326fd: 0x6c2c4e20, 0x326fe: 0x6c2c5020, 0x326ff: 0x6c464c20,\n\t// Block 0xc9c, offset 0x32700\n\t0x32700: 0x6c464e20, 0x32701: 0x6c465020, 0x32702: 0x6c465220, 0x32703: 0x6c465420,\n\t0x32704: 0x6c465620, 0x32705: 0x6c465820, 0x32706: 0x6c465a20, 0x32707: 0x6c465c20,\n\t0x32708: 0x6c465e20, 0x32709: 0x6c45e220, 0x3270a: 0x6c678020, 0x3270b: 0x6c678220,\n\t0x3270c: 0x6c678420, 0x3270d: 0x6c678620, 0x3270e: 0x6c678820, 0x3270f: 0x6c678a20,\n\t0x32710: 0x6c678c20, 0x32711: 0x6c678e20, 0x32712: 0x6c679020, 0x32713: 0x6c679220,\n\t0x32714: 0x6c679420, 0x32715: 0x6c8df020, 0x32716: 0x6c8df220, 0x32717: 0x6c8df420,\n\t0x32718: 0x6c8df620, 0x32719: 0x6c8df820, 0x3271a: 0x6c8dfa20, 0x3271b: 0x6c8dfc20,\n\t0x3271c: 0x6c8dfe20, 0x3271d: 0x6c8e0020, 0x3271e: 0x6c8e0220, 0x3271f: 0x6c8e0420,\n\t0x32720: 0x6c8e0620, 0x32721: 0x6c8e0820, 0x32722: 0x6c8e0a20, 0x32723: 0x6c8e0c20,\n\t0x32724: 0x6c8e0e20, 0x32725: 0x6cba4420, 0x32726: 0x6cba4620, 0x32727: 0x6cba4820,\n\t0x32728: 0x6cba4a20, 0x32729: 0x6cba4c20, 0x3272a: 0x6cba4e20, 0x3272b: 0x6cba5020,\n\t0x3272c: 0x6cba5220, 0x3272d: 0x6cba5420, 0x3272e: 0x6cba5620, 0x3272f: 0x6ceb3620,\n\t0x32730: 0x6ceb3820, 0x32731: 0x6ceb3a20, 0x32732: 0x6ceb3c20, 0x32733: 0x6ceb3e20,\n\t0x32734: 0x6ceb4020, 0x32735: 0x6ceb4220, 0x32736: 0x6cee5e20, 0x32737: 0x6ceb4420,\n\t0x32738: 0x6ceb4620, 0x32739: 0x6ceb4820, 0x3273a: 0x6ceb4a20, 0x3273b: 0x6d19d820,\n\t0x3273c: 0x6d1b2220, 0x3273d: 0x6d1b2420, 0x3273e: 0x6d1b2620, 0x3273f: 0x6d1b2820,\n\t// Block 0xc9d, offset 0x32740\n\t0x32740: 0x6d1b2a20, 0x32741: 0x6d1b2c20, 0x32742: 0x6d1b2e20, 0x32743: 0x6d494420,\n\t0x32744: 0x6d494620, 0x32745: 0x6d494820, 0x32746: 0x6d494a20, 0x32747: 0x6d76fe20,\n\t0x32748: 0x6d770020, 0x32749: 0x6d770220, 0x3274a: 0x6d770420, 0x3274b: 0x6d770620,\n\t0x3274c: 0x6d770820, 0x3274d: 0x6da09420, 0x3274e: 0x6da09620, 0x3274f: 0x6da09820,\n\t0x32750: 0x6dc2f820, 0x32751: 0x6de07a20, 0x32752: 0x6de07c20, 0x32753: 0x6e0c8c20,\n\t0x32754: 0x6e0c8e20, 0x32755: 0x6e1c2c20, 0x32756: 0x6e287020, 0x32757: 0x6e319a20,\n\t0x32758: 0x6e319c20, 0x32759: 0x6c03bc20, 0x3275a: 0x6c03be20, 0x3275b: 0x6c03c020,\n\t0x3275c: 0x6c03c220, 0x3275d: 0x6c03c420, 0x3275e: 0x6c03c620, 0x3275f: 0x6c076e20,\n\t0x32760: 0x6c077020, 0x32761: 0x6c077220, 0x32762: 0x6c077420, 0x32763: 0x6c077620,\n\t0x32764: 0x6c077820, 0x32765: 0x6c077a20, 0x32766: 0x6c077c20, 0x32767: 0x6c077e20,\n\t0x32768: 0x6c078020, 0x32769: 0x6c078220, 0x3276a: 0x6c078420, 0x3276b: 0x6c0e5420,\n\t0x3276c: 0x6c0e5620, 0x3276d: 0x6c0e5820, 0x3276e: 0x6c0e5a20, 0x3276f: 0x6c0e5c20,\n\t0x32770: 0x6c0e5e20, 0x32771: 0x6c0e6020, 0x32772: 0x6c0e6220, 0x32773: 0x6c0e6420,\n\t0x32774: 0x6c0e6620, 0x32775: 0x6c0e6820, 0x32776: 0x6c0e6a20, 0x32777: 0x6c0e6c20,\n\t0x32778: 0x6c0e6e20, 0x32779: 0x6c0e7020, 0x3277a: 0x6c0e7220, 0x3277b: 0x6c0e7420,\n\t0x3277c: 0x6c0e7620, 0x3277d: 0x6c0e7820, 0x3277e: 0x6c0e7a20, 0x3277f: 0x6c0e7c20,\n\t// Block 0xc9e, offset 0x32780\n\t0x32780: 0x6c0e7e20, 0x32781: 0x6c0e8020, 0x32782: 0x6c0e8220, 0x32783: 0x6c0e8420,\n\t0x32784: 0x6c0e8620, 0x32785: 0x6c0e8820, 0x32786: 0x6c0e8a20, 0x32787: 0x6c0e8c20,\n\t0x32788: 0x6c0e8e20, 0x32789: 0x6c0e9020, 0x3278a: 0x6c0e9220, 0x3278b: 0x6c19ca20,\n\t0x3278c: 0x6c19cc20, 0x3278d: 0x6c19ce20, 0x3278e: 0x6c19d020, 0x3278f: 0x6c19d220,\n\t0x32790: 0x6c19d420, 0x32791: 0x6c19d620, 0x32792: 0x6c19d820, 0x32793: 0x6c19da20,\n\t0x32794: 0x6c19dc20, 0x32795: 0x6c19de20, 0x32796: 0x6c19e020, 0x32797: 0x6c19e220,\n\t0x32798: 0x6c19e420, 0x32799: 0x6c19e620, 0x3279a: 0x6c19e820, 0x3279b: 0x6c19ea20,\n\t0x3279c: 0x6c19ec20, 0x3279d: 0x6c19ee20, 0x3279e: 0x6c19f020, 0x3279f: 0x6c19f220,\n\t0x327a0: 0x6c19f420, 0x327a1: 0x6c19f620, 0x327a2: 0x6c19f820, 0x327a3: 0x6c19fa20,\n\t0x327a4: 0x6c19fc20, 0x327a5: 0x6c19fe20, 0x327a6: 0x6c1a0020, 0x327a7: 0x6c1a0220,\n\t0x327a8: 0x6c1a0420, 0x327a9: 0x6c1a0620, 0x327aa: 0x6c1a0820, 0x327ab: 0x6c1a0a20,\n\t0x327ac: 0x6c1a0c20, 0x327ad: 0x6c1a0e20, 0x327ae: 0x6c1a1020, 0x327af: 0x6c1a1220,\n\t0x327b0: 0x6c1a1420, 0x327b1: 0x6c1a1620, 0x327b2: 0x6c1a1820, 0x327b3: 0x6c1a1a20,\n\t0x327b4: 0x6c1a1c20, 0x327b5: 0x6c1a1e20, 0x327b6: 0x6c1a2020, 0x327b7: 0x6c1a2220,\n\t0x327b8: 0x6c1a2420, 0x327b9: 0x6c1a2620, 0x327ba: 0x6c1a2820, 0x327bb: 0x6c1a2a20,\n\t0x327bc: 0x6c1a2c20, 0x327bd: 0x6c1a2e20, 0x327be: 0x6c1a3020, 0x327bf: 0x6c1a3220,\n\t// Block 0xc9f, offset 0x327c0\n\t0x327c0: 0x6c1a3420, 0x327c1: 0x6c1a3620, 0x327c2: 0x6c1a3820, 0x327c3: 0x6c1a3a20,\n\t0x327c4: 0x6c1a3c20, 0x327c5: 0x6c1a3e20, 0x327c6: 0x6c1a4020, 0x327c7: 0x6c1a4220,\n\t0x327c8: 0x6c2ce620, 0x327c9: 0x6c2ce820, 0x327ca: 0x6c2cea20, 0x327cb: 0x6c2cec20,\n\t0x327cc: 0x6c2cee20, 0x327cd: 0x6c2cf020, 0x327ce: 0x6c2cf220, 0x327cf: 0x6c2cf420,\n\t0x327d0: 0x6c2cf620, 0x327d1: 0x6c2cf820, 0x327d2: 0x6c2cfa20, 0x327d3: 0x6c2cfc20,\n\t0x327d4: 0x6c2cfe20, 0x327d5: 0x6c2d0020, 0x327d6: 0x6c2d0220, 0x327d7: 0x6c2d0420,\n\t0x327d8: 0x6c2d0620, 0x327d9: 0x6c2d0820, 0x327da: 0x6c2d0a20, 0x327db: 0x6c2d0c20,\n\t0x327dc: 0x6c2d0e20, 0x327dd: 0x6c2d1020, 0x327de: 0x6c2d1220, 0x327df: 0x6c2d1420,\n\t0x327e0: 0x6c2d1620, 0x327e1: 0x6c2d1820, 0x327e2: 0x6c2d1a20, 0x327e3: 0x6c2d1c20,\n\t0x327e4: 0x6c2d1e20, 0x327e5: 0x6c2d2020, 0x327e6: 0x6c2d2220, 0x327e7: 0x6c2d2420,\n\t0x327e8: 0x6c2d2620, 0x327e9: 0x6c2d2820, 0x327ea: 0x6c2d2a20, 0x327eb: 0x6c2d2c20,\n\t0x327ec: 0x6c2d2e20, 0x327ed: 0x6c2d3020, 0x327ee: 0x6c2d3220, 0x327ef: 0x6c2d3420,\n\t0x327f0: 0x6c2d3620, 0x327f1: 0x6c2d3820, 0x327f2: 0x6c2d3a20, 0x327f3: 0x6c2d3c20,\n\t0x327f4: 0x6c2d3e20, 0x327f5: 0x6c2d4020, 0x327f6: 0x6c2d4220, 0x327f7: 0x6c2d4420,\n\t0x327f8: 0x6c2d4620, 0x327f9: 0x6c2d4820, 0x327fa: 0x6c2d4a20, 0x327fb: 0x6c2d4c20,\n\t0x327fc: 0x6c2d4e20, 0x327fd: 0x6c2d5020, 0x327fe: 0x6c2d5220, 0x327ff: 0x6c2d5420,\n\t// Block 0xca0, offset 0x32800\n\t0x32800: 0x6c2d5620, 0x32801: 0x6c2d5820, 0x32802: 0x6c2d5a20, 0x32803: 0x6c2d5c20,\n\t0x32804: 0x6c2d5e20, 0x32805: 0x6c2d6020, 0x32806: 0x6c2d6220, 0x32807: 0x6c2d6420,\n\t0x32808: 0x6c2d6620, 0x32809: 0x6c2d6820, 0x3280a: 0x6c2d6a20, 0x3280b: 0x6c2d6c20,\n\t0x3280c: 0x6c2d6e20, 0x3280d: 0x6c2d7020, 0x3280e: 0x6c2d7220, 0x3280f: 0x6c2d7420,\n\t0x32810: 0x6c470e20, 0x32811: 0x6c471020, 0x32812: 0x6c471220, 0x32813: 0x6c471420,\n\t0x32814: 0x6c471620, 0x32815: 0x6c471820, 0x32816: 0x6c471a20, 0x32817: 0x6c471c20,\n\t0x32818: 0x6c471e20, 0x32819: 0x6c472020, 0x3281a: 0x6c472220, 0x3281b: 0x6c472420,\n\t0x3281c: 0x6c472620, 0x3281d: 0x6c472820, 0x3281e: 0x6c472a20, 0x3281f: 0x6c472c20,\n\t0x32820: 0x6c472e20, 0x32821: 0x6c473020, 0x32822: 0x6c473220, 0x32823: 0x6c473420,\n\t0x32824: 0x6c473620, 0x32825: 0x6c473820, 0x32826: 0x6c473a20, 0x32827: 0x6c473c20,\n\t0x32828: 0x6c473e20, 0x32829: 0x6c474020, 0x3282a: 0x6c474220, 0x3282b: 0x6c474420,\n\t0x3282c: 0x6c474620, 0x3282d: 0x6c474820, 0x3282e: 0x6c474a20, 0x3282f: 0x6c474c20,\n\t0x32830: 0x6c474e20, 0x32831: 0x6c475020, 0x32832: 0x6c475220, 0x32833: 0x6c475420,\n\t0x32834: 0x6c475620, 0x32835: 0x6c475820, 0x32836: 0x6c475a20, 0x32837: 0x6c475c20,\n\t0x32838: 0x6c475e20, 0x32839: 0x6c476020, 0x3283a: 0x6c476220, 0x3283b: 0x6c476420,\n\t0x3283c: 0x6c476620, 0x3283d: 0x6c476820, 0x3283e: 0x6c476a20, 0x3283f: 0x6c476c20,\n\t// Block 0xca1, offset 0x32840\n\t0x32840: 0x6c476e20, 0x32841: 0x6c477020, 0x32842: 0x6c477220, 0x32843: 0x6c477420,\n\t0x32844: 0x6c477620, 0x32845: 0x6c477820, 0x32846: 0x6c477a20, 0x32847: 0x6c477c20,\n\t0x32848: 0x6c477e20, 0x32849: 0x6c478020, 0x3284a: 0x6c478220, 0x3284b: 0x6c478420,\n\t0x3284c: 0x6c478620, 0x3284d: 0x6c478820, 0x3284e: 0x6c478a20, 0x3284f: 0x6c478c20,\n\t0x32850: 0x6c478e20, 0x32851: 0x6c479020, 0x32852: 0x6c479220, 0x32853: 0x6c479420,\n\t0x32854: 0x6c479620, 0x32855: 0x6c479820, 0x32856: 0x6c479a20, 0x32857: 0x6c479c20,\n\t0x32858: 0x6c479e20, 0x32859: 0x6c47a020, 0x3285a: 0x6c47a220, 0x3285b: 0x6c47a420,\n\t0x3285c: 0x6c47a620, 0x3285d: 0x6c47a820, 0x3285e: 0x6c47aa20, 0x3285f: 0x6c47ac20,\n\t0x32860: 0x6c47ae20, 0x32861: 0x6c47b020, 0x32862: 0x6c47b220, 0x32863: 0x6c47b420,\n\t0x32864: 0x6c47b620, 0x32865: 0x6c47b820, 0x32866: 0x6c47ba20, 0x32867: 0x6c47bc20,\n\t0x32868: 0x6c47be20, 0x32869: 0x6c47c020, 0x3286a: 0x6c47c220, 0x3286b: 0x6c47c420,\n\t0x3286c: 0x6c684820, 0x3286d: 0x6c684a20, 0x3286e: 0x6c684c20, 0x3286f: 0x6c684e20,\n\t0x32870: 0x6c685020, 0x32871: 0x6c685220, 0x32872: 0x6c685420, 0x32873: 0x6c685620,\n\t0x32874: 0x6c685820, 0x32875: 0x6c685a20, 0x32876: 0x6c685c20, 0x32877: 0x6c685e20,\n\t0x32878: 0x6c686020, 0x32879: 0x6c686220, 0x3287a: 0x6c686420, 0x3287b: 0x6c686620,\n\t0x3287c: 0x6c686820, 0x3287d: 0x6c686a20, 0x3287e: 0x6c686c20, 0x3287f: 0x6c686e20,\n\t// Block 0xca2, offset 0x32880\n\t0x32880: 0x6c687020, 0x32881: 0x6c687220, 0x32882: 0x6c687420, 0x32883: 0x6c687620,\n\t0x32884: 0x6c687820, 0x32885: 0x6c687a20, 0x32886: 0x6c687c20, 0x32887: 0x6c687e20,\n\t0x32888: 0x6c688020, 0x32889: 0x6c688220, 0x3288a: 0x6c688420, 0x3288b: 0x6c688620,\n\t0x3288c: 0x6c688820, 0x3288d: 0x6c688a20, 0x3288e: 0x6c688c20, 0x3288f: 0x6c688e20,\n\t0x32890: 0x6c689020, 0x32891: 0x6c689220, 0x32892: 0x6c689420, 0x32893: 0x6c689620,\n\t0x32894: 0x6c689820, 0x32895: 0x6c689a20, 0x32896: 0x6c689c20, 0x32897: 0x6c689e20,\n\t0x32898: 0x6c68a020, 0x32899: 0x6c68a220, 0x3289a: 0x6c68a420, 0x3289b: 0x6c68a620,\n\t0x3289c: 0x6c68a820, 0x3289d: 0x6c68aa20, 0x3289e: 0x6c68ac20, 0x3289f: 0x6c68ae20,\n\t0x328a0: 0x6c68b020, 0x328a1: 0x6c68b220, 0x328a2: 0x6c68b420, 0x328a3: 0x6c68b620,\n\t0x328a4: 0x6c68b820, 0x328a5: 0x6c8ede20, 0x328a6: 0x6c68ba20, 0x328a7: 0x6c68bc20,\n\t0x328a8: 0x6c68be20, 0x328a9: 0x6c68c020, 0x328aa: 0x6c68c220, 0x328ab: 0x6c7ab620,\n\t0x328ac: 0x6c68c420, 0x328ad: 0x6c68c620, 0x328ae: 0x6c68c820, 0x328af: 0x6c68ca20,\n\t0x328b0: 0x6c68cc20, 0x328b1: 0x6c68ce20, 0x328b2: 0x6c68d020, 0x328b3: 0x6c68d220,\n\t0x328b4: 0x6c68d420, 0x328b5: 0x6c68d620, 0x328b6: 0x6c68d820, 0x328b7: 0x6c68da20,\n\t0x328b8: 0x6c68dc20, 0x328b9: 0x6c68de20, 0x328ba: 0x6c68e020, 0x328bb: 0x6c68e220,\n\t0x328bc: 0x6c68e420, 0x328bd: 0x6c68e620, 0x328be: 0x6c68e820, 0x328bf: 0x6c68ea20,\n\t// Block 0xca3, offset 0x328c0\n\t0x328c0: 0x6c68ec20, 0x328c1: 0x6c68ee20, 0x328c2: 0x6c68f020, 0x328c3: 0x6c68f220,\n\t0x328c4: 0x6c68f420, 0x328c5: 0x6c68f620, 0x328c6: 0x6c68f820, 0x328c7: 0x6c68fa20,\n\t0x328c8: 0x6c68fc20, 0x328c9: 0x6c68fe20, 0x328ca: 0x6c690020, 0x328cb: 0x6c690220,\n\t0x328cc: 0x6c690420, 0x328cd: 0x6c690620, 0x328ce: 0x6c690820, 0x328cf: 0x6c690a20,\n\t0x328d0: 0x6c690c20, 0x328d1: 0x6c690e20, 0x328d2: 0x6c691020, 0x328d3: 0x6c691220,\n\t0x328d4: 0x6c691420, 0x328d5: 0x6c691620, 0x328d6: 0x6c691820, 0x328d7: 0x6c691a20,\n\t0x328d8: 0x6c691c20, 0x328d9: 0x6c691e20, 0x328da: 0x6c692020, 0x328db: 0x6c692220,\n\t0x328dc: 0x6c692420, 0x328dd: 0x6c692620, 0x328de: 0x6c692820, 0x328df: 0x6c692a20,\n\t0x328e0: 0x6c692c20, 0x328e1: 0x6c692e20, 0x328e2: 0x6c693020, 0x328e3: 0x6c693220,\n\t0x328e4: 0x6c693420, 0x328e5: 0x6c693620, 0x328e6: 0x6c7a1a20, 0x328e7: 0x6c8ee020,\n\t0x328e8: 0x6c8ee220, 0x328e9: 0x6c8ee420, 0x328ea: 0x6c8ee620, 0x328eb: 0x6c8ee820,\n\t0x328ec: 0x6c8eea20, 0x328ed: 0x6c8eec20, 0x328ee: 0x6c8eee20, 0x328ef: 0x6c8ef020,\n\t0x328f0: 0x6c8ef220, 0x328f1: 0x6c8ef420, 0x328f2: 0x6c8ef620, 0x328f3: 0x6c8ef820,\n\t0x328f4: 0x6c8efa20, 0x328f5: 0x6c8efc20, 0x328f6: 0x6c8efe20, 0x328f7: 0x6c8f0020,\n\t0x328f8: 0x6c8f0220, 0x328f9: 0x6c8f0420, 0x328fa: 0x6c8f0620, 0x328fb: 0x6c8f0820,\n\t0x328fc: 0x6c8f0a20, 0x328fd: 0x6c8f0c20, 0x328fe: 0x6c8f0e20, 0x328ff: 0x6c8f1020,\n\t// Block 0xca4, offset 0x32900\n\t0x32900: 0x6c8f1220, 0x32901: 0x6c8f1420, 0x32902: 0x6c8f1620, 0x32903: 0x6c8f1820,\n\t0x32904: 0x6c8f1a20, 0x32905: 0x6c8f1c20, 0x32906: 0x6c8f1e20, 0x32907: 0x6c8f2020,\n\t0x32908: 0x6c8f2220, 0x32909: 0x6c8f2420, 0x3290a: 0x6c8f2620, 0x3290b: 0x6c8f2820,\n\t0x3290c: 0x6c8f2a20, 0x3290d: 0x6c8f2c20, 0x3290e: 0x6c8f2e20, 0x3290f: 0x6c8f3020,\n\t0x32910: 0x6c8f3220, 0x32911: 0x6c8f3420, 0x32912: 0x6c8f3620, 0x32913: 0x6c8f3820,\n\t0x32914: 0x6c8f3a20, 0x32915: 0x6c8f3c20, 0x32916: 0x6c8f3e20, 0x32917: 0x6c8f4020,\n\t0x32918: 0x6c8f4220, 0x32919: 0x6c8f4420, 0x3291a: 0x6c8f4620, 0x3291b: 0x6c8f4820,\n\t0x3291c: 0x6c8f4a20, 0x3291d: 0x6c8f4c20, 0x3291e: 0x6c8f4e20, 0x3291f: 0x6c8f5020,\n\t0x32920: 0x6c8f5220, 0x32921: 0x6c8f5420, 0x32922: 0x6c8f5620, 0x32923: 0x6c8f5820,\n\t0x32924: 0x6c8f5a20, 0x32925: 0x6c8f5c20, 0x32926: 0x6c8f5e20, 0x32927: 0x6c8f6020,\n\t0x32928: 0x6c8f6220, 0x32929: 0x6c8f6420, 0x3292a: 0x6c8f6620, 0x3292b: 0x6c8f6820,\n\t0x3292c: 0x6c8f6a20, 0x3292d: 0x6c8f6c20, 0x3292e: 0x6c8f6e20, 0x3292f: 0x6c8f7020,\n\t0x32930: 0x6c8f7220, 0x32931: 0x6c8f7420, 0x32932: 0x6c8f7620, 0x32933: 0x6c8f7820,\n\t0x32934: 0x6c8f7a20, 0x32935: 0x6c8f7c20, 0x32936: 0x6c8f7e20, 0x32937: 0x6c8f8020,\n\t0x32938: 0x6c8f8220, 0x32939: 0x6c8f8420, 0x3293a: 0x6c8f8620, 0x3293b: 0x6c8f8820,\n\t0x3293c: 0x6c8f8a20, 0x3293d: 0x6c8f8c20, 0x3293e: 0x6c8f8e20, 0x3293f: 0x6c8f9020,\n\t// Block 0xca5, offset 0x32940\n\t0x32940: 0x6c8f9220, 0x32941: 0x6c8f9420, 0x32942: 0x6c8f9620, 0x32943: 0x6c8f9820,\n\t0x32944: 0x6c8f9a20, 0x32945: 0x6c8f9c20, 0x32946: 0x6c8f9e20, 0x32947: 0x6c8fa020,\n\t0x32948: 0x6c8fa220, 0x32949: 0x6c8fa420, 0x3294a: 0x6c8fa620, 0x3294b: 0x6c8fa820,\n\t0x3294c: 0x6c8faa20, 0x3294d: 0x6c8fac20, 0x3294e: 0x6c8fae20, 0x3294f: 0x6c8fb020,\n\t0x32950: 0x6c8fb220, 0x32951: 0x6c8fb420, 0x32952: 0x6c8fb620, 0x32953: 0x6c8fb820,\n\t0x32954: 0x6c8fba20, 0x32955: 0x6c8fbc20, 0x32956: 0x6c8fbe20, 0x32957: 0x6c8fc020,\n\t0x32958: 0x6c8fc220, 0x32959: 0x6c8fc420, 0x3295a: 0x6c8fc620, 0x3295b: 0x6c8fc820,\n\t0x3295c: 0x6c8fca20, 0x3295d: 0x6c8fcc20, 0x3295e: 0x6c8fce20, 0x3295f: 0x6c8fd020,\n\t0x32960: 0x6c8fd220, 0x32961: 0x6c8fd420, 0x32962: 0x6c8fd620, 0x32963: 0x6c8fd820,\n\t0x32964: 0x6c8fda20, 0x32965: 0x6c8fdc20, 0x32966: 0x6c8fde20, 0x32967: 0x6c8fe020,\n\t0x32968: 0x6c8fe220, 0x32969: 0x6c8fe420, 0x3296a: 0x6c8fe620, 0x3296b: 0x6c8fe820,\n\t0x3296c: 0x6c8fea20, 0x3296d: 0x6c8fec20, 0x3296e: 0x6c8fee20, 0x3296f: 0x6c8ff020,\n\t0x32970: 0x6c8ff220, 0x32971: 0x6c8ff420, 0x32972: 0x6c8ff620, 0x32973: 0x6c8ff820,\n\t0x32974: 0x6c8ffa20, 0x32975: 0x6c8ffc20, 0x32976: 0x6c8ffe20, 0x32977: 0x6cbb1e20,\n\t0x32978: 0x6cbb2020, 0x32979: 0x6cbb2220, 0x3297a: 0x6cbb2420, 0x3297b: 0x6cbb2620,\n\t0x3297c: 0x6cbb2820, 0x3297d: 0x6cbb2a20, 0x3297e: 0x6cbb2c20, 0x3297f: 0x6cbb2e20,\n\t// Block 0xca6, offset 0x32980\n\t0x32980: 0x6cbb3020, 0x32981: 0x6cbb3220, 0x32982: 0x6cbb3420, 0x32983: 0x6cbb3620,\n\t0x32984: 0x6cbb3820, 0x32985: 0x6cbb3a20, 0x32986: 0x6cbb3c20, 0x32987: 0x6cbb3e20,\n\t0x32988: 0x6cbb4020, 0x32989: 0x6cbb4220, 0x3298a: 0x6cbb4420, 0x3298b: 0x6cbb4620,\n\t0x3298c: 0x6cbb4820, 0x3298d: 0x6cbb4a20, 0x3298e: 0x6cbb4c20, 0x3298f: 0x6cbb4e20,\n\t0x32990: 0x6cbb5020, 0x32991: 0x6cbb5220, 0x32992: 0x6cbb5420, 0x32993: 0x6cbb5620,\n\t0x32994: 0x6cbb5820, 0x32995: 0x6cbb5a20, 0x32996: 0x6cbb5c20, 0x32997: 0x6cbb5e20,\n\t0x32998: 0x6cbb6020, 0x32999: 0x6cbb6220, 0x3299a: 0x6cbb6420, 0x3299b: 0x6cbb6620,\n\t0x3299c: 0x6cbb6820, 0x3299d: 0x6cbb6a20, 0x3299e: 0x6cbb6c20, 0x3299f: 0x6cbb6e20,\n\t0x329a0: 0x6cbb7020, 0x329a1: 0x6cbb7220, 0x329a2: 0x6cebdc20, 0x329a3: 0x6cbb7420,\n\t0x329a4: 0x6cbb7620, 0x329a5: 0x6cbb7820, 0x329a6: 0x6cbb7a20, 0x329a7: 0x6cbb7c20,\n\t0x329a8: 0x6cbb7e20, 0x329a9: 0x6cbb8020, 0x329aa: 0x6cbb8220, 0x329ab: 0x6cbb8420,\n\t0x329ac: 0x6cbb8620, 0x329ad: 0x6cbb8820, 0x329ae: 0x6cbb8a20, 0x329af: 0x6cbb8c20,\n\t0x329b0: 0x6cbb8e20, 0x329b1: 0x6cbb9020, 0x329b2: 0x6cbb9220, 0x329b3: 0x6cbb9420,\n\t0x329b4: 0x6cbb9620, 0x329b5: 0x6cbb9820, 0x329b6: 0x6cbb9a20, 0x329b7: 0x6cbb9c20,\n\t0x329b8: 0x6cbb9e20, 0x329b9: 0x6cbba020, 0x329ba: 0x6cbba220, 0x329bb: 0x6cbba420,\n\t0x329bc: 0x6cbba620, 0x329bd: 0x6cbba820, 0x329be: 0x6cbbaa20, 0x329bf: 0x6cbbac20,\n\t// Block 0xca7, offset 0x329c0\n\t0x329c0: 0x6cbbae20, 0x329c1: 0x6cbbb020, 0x329c2: 0x6cbbb220, 0x329c3: 0x6cbbb420,\n\t0x329c4: 0x6cbbb620, 0x329c5: 0x6cbbb820, 0x329c6: 0x6cbbba20, 0x329c7: 0x6cbbbc20,\n\t0x329c8: 0x6cbbbe20, 0x329c9: 0x6cbbc020, 0x329ca: 0x6cbbc220, 0x329cb: 0x6cbbc420,\n\t0x329cc: 0x6cbbc620, 0x329cd: 0x6cbbc820, 0x329ce: 0x6cbbca20, 0x329cf: 0x6cbbcc20,\n\t0x329d0: 0x6cbbce20, 0x329d1: 0x6cbbd020, 0x329d2: 0x6cbbd220, 0x329d3: 0x6cbbd420,\n\t0x329d4: 0x6cbbd620, 0x329d5: 0x6cbbd820, 0x329d6: 0x6cbbda20, 0x329d7: 0x6cbbdc20,\n\t0x329d8: 0x6cbbde20, 0x329d9: 0x6cbbe020, 0x329da: 0x6cbbe220, 0x329db: 0x6cbbe420,\n\t0x329dc: 0x6cbbe620, 0x329dd: 0x6cbbe820, 0x329de: 0x6cbbea20, 0x329df: 0x6cbbec20,\n\t0x329e0: 0x6cbbee20, 0x329e1: 0x6cbbf020, 0x329e2: 0x6cbbf220, 0x329e3: 0x6cbbf420,\n\t0x329e4: 0x6cbbf620, 0x329e5: 0x6cbbf820, 0x329e6: 0x6cbbfa20, 0x329e7: 0x6cbbfc20,\n\t0x329e8: 0x6cbbfe20, 0x329e9: 0x6cbc0020, 0x329ea: 0x6cbc0220, 0x329eb: 0x6cbc0420,\n\t0x329ec: 0x6cbc0620, 0x329ed: 0x6cbc0820, 0x329ee: 0x6cbc0a20, 0x329ef: 0x6cbc0c20,\n\t0x329f0: 0x6cbc0e20, 0x329f1: 0x6cbc1020, 0x329f2: 0x6cbc1220, 0x329f3: 0x6cbc1420,\n\t0x329f4: 0x6cbc1620, 0x329f5: 0x6cbc1820, 0x329f6: 0x6cebde20, 0x329f7: 0x6cebe020,\n\t0x329f8: 0x6cebe220, 0x329f9: 0x6cebe420, 0x329fa: 0x6cebe620, 0x329fb: 0x6cbc1a20,\n\t0x329fc: 0x6cbc1c20, 0x329fd: 0x6cbc1e20, 0x329fe: 0x6cbc2020, 0x329ff: 0x6cebe820,\n\t// Block 0xca8, offset 0x32a00\n\t0x32a00: 0x6cebea20, 0x32a01: 0x6cebec20, 0x32a02: 0x6cebee20, 0x32a03: 0x6cebf020,\n\t0x32a04: 0x6cebf220, 0x32a05: 0x6cebf420, 0x32a06: 0x6cebf620, 0x32a07: 0x6cebf820,\n\t0x32a08: 0x6cebfa20, 0x32a09: 0x6cebfc20, 0x32a0a: 0x6cebfe20, 0x32a0b: 0x6cec0020,\n\t0x32a0c: 0x6cec0220, 0x32a0d: 0x6cec0420, 0x32a0e: 0x6cec0620, 0x32a0f: 0x6cec0820,\n\t0x32a10: 0x6cec0a20, 0x32a11: 0x6cec0c20, 0x32a12: 0x6cec0e20, 0x32a13: 0x6cec1020,\n\t0x32a14: 0x6cec1220, 0x32a15: 0x6cec1420, 0x32a16: 0x6cec1620, 0x32a17: 0x6cec1820,\n\t0x32a18: 0x6cec1a20, 0x32a19: 0x6cec1c20, 0x32a1a: 0x6cec1e20, 0x32a1b: 0x6cec2020,\n\t0x32a1c: 0x6cec2220, 0x32a1d: 0x6cec2420, 0x32a1e: 0x6cec2620, 0x32a1f: 0x6cec2820,\n\t0x32a20: 0x6cec2a20, 0x32a21: 0x6cec2c20, 0x32a22: 0x6cec2e20, 0x32a23: 0x6cec3020,\n\t0x32a24: 0x6cec3220, 0x32a25: 0x6cec3420, 0x32a26: 0x6cec3620, 0x32a27: 0x6cec3820,\n\t0x32a28: 0x6cec3a20, 0x32a29: 0x6cec3c20, 0x32a2a: 0x6cec3e20, 0x32a2b: 0x6cec4020,\n\t0x32a2c: 0x6cec4220, 0x32a2d: 0x6cec4420, 0x32a2e: 0x6cec4620, 0x32a2f: 0x6cec4820,\n\t0x32a30: 0x6d49ce20, 0x32a31: 0x6d49d020, 0x32a32: 0x6d49d220, 0x32a33: 0x6cec4a20,\n\t0x32a34: 0x6cec4c20, 0x32a35: 0x6cec4e20, 0x32a36: 0x6cec5020, 0x32a37: 0x6cec5220,\n\t0x32a38: 0x6cec5420, 0x32a39: 0x6cec5620, 0x32a3a: 0x6cec5820, 0x32a3b: 0x6cec5a20,\n\t0x32a3c: 0x6cec5c20, 0x32a3d: 0x6cec5e20, 0x32a3e: 0x6cec6020, 0x32a3f: 0x6cec6220,\n\t// Block 0xca9, offset 0x32a40\n\t0x32a40: 0x6cec6420, 0x32a41: 0x6cec6620, 0x32a42: 0x6cec6820, 0x32a43: 0x6cec6a20,\n\t0x32a44: 0x6cec6c20, 0x32a45: 0x6cec6e20, 0x32a46: 0x6cec7020, 0x32a47: 0x6cec7220,\n\t0x32a48: 0x6cec7420, 0x32a49: 0x6cec7620, 0x32a4a: 0x6cec7820, 0x32a4b: 0x6cec7a20,\n\t0x32a4c: 0x6cec7c20, 0x32a4d: 0x6cec7e20, 0x32a4e: 0x6cec8020, 0x32a4f: 0x6cec8220,\n\t0x32a50: 0x6cec8420, 0x32a51: 0x6cec8620, 0x32a52: 0x6cec8820, 0x32a53: 0x6cec8a20,\n\t0x32a54: 0x6cec8c20, 0x32a55: 0x6cec8e20, 0x32a56: 0x6cec9020, 0x32a57: 0x6cec9220,\n\t0x32a58: 0x6cec9420, 0x32a59: 0x6cec9620, 0x32a5a: 0x6cec9820, 0x32a5b: 0x6cec9a20,\n\t0x32a5c: 0x6cec9c20, 0x32a5d: 0x6cec9e20, 0x32a5e: 0x6ceca020, 0x32a5f: 0x6ceca220,\n\t0x32a60: 0x6ceca420, 0x32a61: 0x6ceca620, 0x32a62: 0x6ceca820, 0x32a63: 0x6cecaa20,\n\t0x32a64: 0x6cecac20, 0x32a65: 0x6cecae20, 0x32a66: 0x6cecb020, 0x32a67: 0x6cecb220,\n\t0x32a68: 0x6cecb420, 0x32a69: 0x6cecb620, 0x32a6a: 0x6cecb820, 0x32a6b: 0x6cecba20,\n\t0x32a6c: 0x6cecbc20, 0x32a6d: 0x6cecbe20, 0x32a6e: 0x6cecc020, 0x32a6f: 0x6cecc220,\n\t0x32a70: 0x6cecc420, 0x32a71: 0x6cecc620, 0x32a72: 0x6cecc820, 0x32a73: 0x6cecca20,\n\t0x32a74: 0x6ceccc20, 0x32a75: 0x6cecce20, 0x32a76: 0x6cecd020, 0x32a77: 0x6cecd220,\n\t0x32a78: 0x6cecd420, 0x32a79: 0x6cecd620, 0x32a7a: 0x6cecd820, 0x32a7b: 0x6cecda20,\n\t0x32a7c: 0x6cecdc20, 0x32a7d: 0x6cecde20, 0x32a7e: 0x6cece020, 0x32a7f: 0x6cece220,\n\t// Block 0xcaa, offset 0x32a80\n\t0x32a80: 0x6cece420, 0x32a81: 0x6cece620, 0x32a82: 0x6cece820, 0x32a83: 0x6cecea20,\n\t0x32a84: 0x6cecec20, 0x32a85: 0x6cecee20, 0x32a86: 0x6cecf020, 0x32a87: 0x6cecf220,\n\t0x32a88: 0x6cecf420, 0x32a89: 0x6cecf620, 0x32a8a: 0x6cecf820, 0x32a8b: 0x6cecfa20,\n\t0x32a8c: 0x6cecfc20, 0x32a8d: 0x6cecfe20, 0x32a8e: 0x6ced0020, 0x32a8f: 0x6ced0220,\n\t0x32a90: 0x6ced0420, 0x32a91: 0x6ced0620, 0x32a92: 0x6ced0820, 0x32a93: 0x6ced0a20,\n\t0x32a94: 0x6d1bb620, 0x32a95: 0x6d1bb820, 0x32a96: 0x6d1bba20, 0x32a97: 0x6d1bbc20,\n\t0x32a98: 0x6d1bbe20, 0x32a99: 0x6d1bc020, 0x32a9a: 0x6d1bc220, 0x32a9b: 0x6d1bc420,\n\t0x32a9c: 0x6d1bc620, 0x32a9d: 0x6d1bc820, 0x32a9e: 0x6d1bca20, 0x32a9f: 0x6d1bcc20,\n\t0x32aa0: 0x6d1bce20, 0x32aa1: 0x6d1bd020, 0x32aa2: 0x6d1bd220, 0x32aa3: 0x6d1bd420,\n\t0x32aa4: 0x6d1bd620, 0x32aa5: 0x6d1bd820, 0x32aa6: 0x6d1bda20, 0x32aa7: 0x6d1bdc20,\n\t0x32aa8: 0x6d1bde20, 0x32aa9: 0x6d1be020, 0x32aaa: 0x6d1be220, 0x32aab: 0x6d1be420,\n\t0x32aac: 0x6d1be620, 0x32aad: 0x6d1be820, 0x32aae: 0x6d1bea20, 0x32aaf: 0x6d1bec20,\n\t0x32ab0: 0x6d1bee20, 0x32ab1: 0x6d1bf020, 0x32ab2: 0x6d1bf220, 0x32ab3: 0x6d1bf420,\n\t0x32ab4: 0x6d1bf620, 0x32ab5: 0x6d1bf820, 0x32ab6: 0x6d1bfa20, 0x32ab7: 0x6d1bfc20,\n\t0x32ab8: 0x6d1bfe20, 0x32ab9: 0x6d1c0020, 0x32aba: 0x6d1c0220, 0x32abb: 0x6d1c0420,\n\t0x32abc: 0x6d1c0620, 0x32abd: 0x6d1c0820, 0x32abe: 0x6d1c0a20, 0x32abf: 0x6d1c0c20,\n\t// Block 0xcab, offset 0x32ac0\n\t0x32ac0: 0x6d1c0e20, 0x32ac1: 0x6d1c1020, 0x32ac2: 0x6d1c1220, 0x32ac3: 0x6d1c1420,\n\t0x32ac4: 0x6d1c1620, 0x32ac5: 0x6d1c1820, 0x32ac6: 0x6d1c1a20, 0x32ac7: 0x6d1c1c20,\n\t0x32ac8: 0x6d1c1e20, 0x32ac9: 0x6d1c2020, 0x32aca: 0x6d1c2220, 0x32acb: 0x6d1c2420,\n\t0x32acc: 0x6d1c2620, 0x32acd: 0x6d1c2820, 0x32ace: 0x6d1c2a20, 0x32acf: 0x6d1c2c20,\n\t0x32ad0: 0x6d1c2e20, 0x32ad1: 0x6d1c3020, 0x32ad2: 0x6d1c3220, 0x32ad3: 0x6d1c3420,\n\t0x32ad4: 0x6d1c3620, 0x32ad5: 0x6d1c3820, 0x32ad6: 0x6d1c3a20, 0x32ad7: 0x6d1c3c20,\n\t0x32ad8: 0x6d1c3e20, 0x32ad9: 0x6d1c4020, 0x32ada: 0x6d1c4220, 0x32adb: 0x6d1c4420,\n\t0x32adc: 0x6d1c4620, 0x32add: 0x6d1c4820, 0x32ade: 0x6d1c4a20, 0x32adf: 0x6d1c4c20,\n\t0x32ae0: 0x6d1c4e20, 0x32ae1: 0x6d1c5020, 0x32ae2: 0x6d1c5220, 0x32ae3: 0x6d1c5420,\n\t0x32ae4: 0x6d1c5620, 0x32ae5: 0x6d1c5820, 0x32ae6: 0x6d1c5a20, 0x32ae7: 0x6d1c5c20,\n\t0x32ae8: 0x6d1c5e20, 0x32ae9: 0x6d1c6020, 0x32aea: 0x6d1c6220, 0x32aeb: 0x6d1c6420,\n\t0x32aec: 0x6d1c6620, 0x32aed: 0x6d1c6820, 0x32aee: 0x6d1c6a20, 0x32aef: 0x6d1c6c20,\n\t0x32af0: 0x6d1c6e20, 0x32af1: 0x6d1c7020, 0x32af2: 0x6d1c7220, 0x32af3: 0x6d1c7420,\n\t0x32af4: 0x6d1c7620, 0x32af5: 0x6d1c7820, 0x32af6: 0x6d1c7a20, 0x32af7: 0x6d1c7c20,\n\t0x32af8: 0x6d1c7e20, 0x32af9: 0x6d1c8020, 0x32afa: 0x6d1c8220, 0x32afb: 0x6d1c8420,\n\t0x32afc: 0x6d1c8620, 0x32afd: 0x6d1c8820, 0x32afe: 0x6d1c8a20, 0x32aff: 0x6d1c8c20,\n\t// Block 0xcac, offset 0x32b00\n\t0x32b00: 0x6d1c8e20, 0x32b01: 0x6d1c9020, 0x32b02: 0x6d1c9220, 0x32b03: 0x6d1c9420,\n\t0x32b04: 0x6d1c9620, 0x32b05: 0x6d1c9820, 0x32b06: 0x6d1c9a20, 0x32b07: 0x6d1c9c20,\n\t0x32b08: 0x6d1c9e20, 0x32b09: 0x6d1ca020, 0x32b0a: 0x6d1ca220, 0x32b0b: 0x6d1ca420,\n\t0x32b0c: 0x6d1ca620, 0x32b0d: 0x6d1ca820, 0x32b0e: 0x6d1caa20, 0x32b0f: 0x6d1cac20,\n\t0x32b10: 0x6d1cae20, 0x32b11: 0x6d1cb020, 0x32b12: 0x6d1cb220, 0x32b13: 0x6d1cb420,\n\t0x32b14: 0x6d1cb620, 0x32b15: 0x6d1cb820, 0x32b16: 0x6d1cba20, 0x32b17: 0x6d1cbc20,\n\t0x32b18: 0x6d1cbe20, 0x32b19: 0x6d1cc020, 0x32b1a: 0x6d1cc220, 0x32b1b: 0x6d1cc420,\n\t0x32b1c: 0x6d1cc620, 0x32b1d: 0x6d1cc820, 0x32b1e: 0x6d1cca20, 0x32b1f: 0x6d1ccc20,\n\t0x32b20: 0x6d1cce20, 0x32b21: 0x6d49d420, 0x32b22: 0x6d49d620, 0x32b23: 0x6d49d820,\n\t0x32b24: 0x6d49da20, 0x32b25: 0x6d49dc20, 0x32b26: 0x6d49de20, 0x32b27: 0x6d49e020,\n\t0x32b28: 0x6d49e220, 0x32b29: 0x6d49e420, 0x32b2a: 0x6d49e620, 0x32b2b: 0x6d49e820,\n\t0x32b2c: 0x6d49ea20, 0x32b2d: 0x6d49ec20, 0x32b2e: 0x6d49ee20, 0x32b2f: 0x6d49f020,\n\t0x32b30: 0x6d49f220, 0x32b31: 0x6d49f420, 0x32b32: 0x6d49f620, 0x32b33: 0x6d49f820,\n\t0x32b34: 0x6d49fa20, 0x32b35: 0x6d49fc20, 0x32b36: 0x6d49fe20, 0x32b37: 0x6d4a0020,\n\t0x32b38: 0x6d4a0220, 0x32b39: 0x6d4a0420, 0x32b3a: 0x6d4a0620, 0x32b3b: 0x6d4a0820,\n\t0x32b3c: 0x6d4a0a20, 0x32b3d: 0x6d4a0c20, 0x32b3e: 0x6d4a0e20, 0x32b3f: 0x6d4a1020,\n\t// Block 0xcad, offset 0x32b40\n\t0x32b40: 0x6d4a1220, 0x32b41: 0x6d4a1420, 0x32b42: 0x6d4a1620, 0x32b43: 0x6d4a1820,\n\t0x32b44: 0x6d4a1a20, 0x32b45: 0x6d4a1c20, 0x32b46: 0x6d4a1e20, 0x32b47: 0x6d4a2020,\n\t0x32b48: 0x6d4a2220, 0x32b49: 0x6d4a2420, 0x32b4a: 0x6d4a2620, 0x32b4b: 0x6d4a2820,\n\t0x32b4c: 0x6d4a2a20, 0x32b4d: 0x6d4a2c20, 0x32b4e: 0x6d4a2e20, 0x32b4f: 0x6d4a3020,\n\t0x32b50: 0x6d4a3220, 0x32b51: 0x6d4a3420, 0x32b52: 0x6d4a3620, 0x32b53: 0x6d4a3820,\n\t0x32b54: 0x6d4a3a20, 0x32b55: 0x6d4a3c20, 0x32b56: 0x6d4a3e20, 0x32b57: 0x6d4a4020,\n\t0x32b58: 0x6d4a4220, 0x32b59: 0x6d4a4420, 0x32b5a: 0x6d4a4620, 0x32b5b: 0x6d4a4820,\n\t0x32b5c: 0x6d4a4a20, 0x32b5d: 0x6d4a4c20, 0x32b5e: 0x6d4a4e20, 0x32b5f: 0x6d4a5020,\n\t0x32b60: 0x6d4a5220, 0x32b61: 0x6d4a5420, 0x32b62: 0x6d4a5620, 0x32b63: 0x6d4a5820,\n\t0x32b64: 0x6d4a5a20, 0x32b65: 0x6d4a5c20, 0x32b66: 0x6d4a5e20, 0x32b67: 0x6d311620,\n\t0x32b68: 0x6d4a6020, 0x32b69: 0x6d4a6220, 0x32b6a: 0x6d4a6420, 0x32b6b: 0x6d4a6620,\n\t0x32b6c: 0x6d4a6820, 0x32b6d: 0x6d4a6a20, 0x32b6e: 0x6d4a6c20, 0x32b6f: 0x6d4a6e20,\n\t0x32b70: 0x6d4a7020, 0x32b71: 0x6d4a7220, 0x32b72: 0x6d4a7420, 0x32b73: 0x6d4a7620,\n\t0x32b74: 0x6d4a7820, 0x32b75: 0x6d4a7a20, 0x32b76: 0x6d4a7c20, 0x32b77: 0x6d4a7e20,\n\t0x32b78: 0x6d4a8020, 0x32b79: 0x6d4a8220, 0x32b7a: 0x6d4a8420, 0x32b7b: 0x6d4a8620,\n\t0x32b7c: 0x6d4a8820, 0x32b7d: 0x6d4a8a20, 0x32b7e: 0x6d4a8c20, 0x32b7f: 0x6d4a8e20,\n\t// Block 0xcae, offset 0x32b80\n\t0x32b80: 0x6d4a9020, 0x32b81: 0x6d4a9220, 0x32b82: 0x6d4a9420, 0x32b83: 0x6d4a9620,\n\t0x32b84: 0x6d4a9820, 0x32b85: 0x6d4a9a20, 0x32b86: 0x6d4a9c20, 0x32b87: 0x6d775e20,\n\t0x32b88: 0x6d776020, 0x32b89: 0x6d776220, 0x32b8a: 0x6d776420, 0x32b8b: 0x6d776620,\n\t0x32b8c: 0x6d776820, 0x32b8d: 0x6d776a20, 0x32b8e: 0x6d776c20, 0x32b8f: 0x6d776e20,\n\t0x32b90: 0x6d777020, 0x32b91: 0x6d777220, 0x32b92: 0x6d777420, 0x32b93: 0x6d777620,\n\t0x32b94: 0x6d777820, 0x32b95: 0x6d777a20, 0x32b96: 0x6d777c20, 0x32b97: 0x6d777e20,\n\t0x32b98: 0x6d778020, 0x32b99: 0x6d778220, 0x32b9a: 0x6d778420, 0x32b9b: 0x6d778620,\n\t0x32b9c: 0x6d778820, 0x32b9d: 0x6d778a20, 0x32b9e: 0x6d778c20, 0x32b9f: 0x6d778e20,\n\t0x32ba0: 0x6d779020, 0x32ba1: 0x6d779220, 0x32ba2: 0x6d779420, 0x32ba3: 0x6d779620,\n\t0x32ba4: 0x6d779820, 0x32ba5: 0x6d779a20, 0x32ba6: 0x6d779c20, 0x32ba7: 0x6d779e20,\n\t0x32ba8: 0x6d77a020, 0x32ba9: 0x6d77a220, 0x32baa: 0x6d77a420, 0x32bab: 0x6d77a620,\n\t0x32bac: 0x6d77a820, 0x32bad: 0x6d77aa20, 0x32bae: 0x6d77ac20, 0x32baf: 0x6d77ae20,\n\t0x32bb0: 0x6d77b020, 0x32bb1: 0x6d77b220, 0x32bb2: 0x6d77b420, 0x32bb3: 0x6d77b620,\n\t0x32bb4: 0x6d77b820, 0x32bb5: 0x6d77ba20, 0x32bb6: 0x6d77bc20, 0x32bb7: 0x6d77be20,\n\t0x32bb8: 0x6d77c020, 0x32bb9: 0x6d77c220, 0x32bba: 0x6d77c420, 0x32bbb: 0x6d77c620,\n\t0x32bbc: 0x6d77c820, 0x32bbd: 0x6d77ca20, 0x32bbe: 0x6d77cc20, 0x32bbf: 0x6d77ce20,\n\t// Block 0xcaf, offset 0x32bc0\n\t0x32bc0: 0x6d77d020, 0x32bc1: 0x6d77d220, 0x32bc2: 0x6d77d420, 0x32bc3: 0x6d77d620,\n\t0x32bc4: 0x6d77d820, 0x32bc5: 0x6d77da20, 0x32bc6: 0x6d77dc20, 0x32bc7: 0x6d77de20,\n\t0x32bc8: 0x6d77e020, 0x32bc9: 0x6d77e220, 0x32bca: 0x6d77e420, 0x32bcb: 0x6d77e620,\n\t0x32bcc: 0x6d77e820, 0x32bcd: 0x6d77ea20, 0x32bce: 0x6d77ec20, 0x32bcf: 0x6d77ee20,\n\t0x32bd0: 0x6d77f020, 0x32bd1: 0x6d77f220, 0x32bd2: 0x6d77f420, 0x32bd3: 0x6d77f620,\n\t0x32bd4: 0x6d4a9e20, 0x32bd5: 0x6d77f820, 0x32bd6: 0x6d77fa20, 0x32bd7: 0x6d77fc20,\n\t0x32bd8: 0x6d77fe20, 0x32bd9: 0x6d780020, 0x32bda: 0x6d780220, 0x32bdb: 0x6d780420,\n\t0x32bdc: 0x6d780620, 0x32bdd: 0x6d780820, 0x32bde: 0x6d780a20, 0x32bdf: 0x6d780c20,\n\t0x32be0: 0x6d780e20, 0x32be1: 0x6d781020, 0x32be2: 0x6d781220, 0x32be3: 0x6d781420,\n\t0x32be4: 0x6d781620, 0x32be5: 0x6d781820, 0x32be6: 0x6d4aa020, 0x32be7: 0x6d781a20,\n\t0x32be8: 0x6d781c20, 0x32be9: 0x6d781e20, 0x32bea: 0x6d782020, 0x32beb: 0x6d782220,\n\t0x32bec: 0x6d782420, 0x32bed: 0x6d782620, 0x32bee: 0x6d782820, 0x32bef: 0x6d782a20,\n\t0x32bf0: 0x6d782c20, 0x32bf1: 0x6d782e20, 0x32bf2: 0x6d783020, 0x32bf3: 0x6d783220,\n\t0x32bf4: 0x6d783420, 0x32bf5: 0x6d783620, 0x32bf6: 0x6d783820, 0x32bf7: 0x6d783a20,\n\t0x32bf8: 0x6d783c20, 0x32bf9: 0x6d783e20, 0x32bfa: 0x6d784020, 0x32bfb: 0x6d784220,\n\t0x32bfc: 0x6d784420, 0x32bfd: 0x6da0d020, 0x32bfe: 0x6da0d220, 0x32bff: 0x6da0d420,\n\t// Block 0xcb0, offset 0x32c00\n\t0x32c00: 0x6da0d620, 0x32c01: 0x6da0d820, 0x32c02: 0x6da0da20, 0x32c03: 0x6da0dc20,\n\t0x32c04: 0x6da0de20, 0x32c05: 0x6da0e020, 0x32c06: 0x6da0e220, 0x32c07: 0x6da0e420,\n\t0x32c08: 0x6da0e620, 0x32c09: 0x6da0e820, 0x32c0a: 0x6da0ea20, 0x32c0b: 0x6da0ec20,\n\t0x32c0c: 0x6da0ee20, 0x32c0d: 0x6da0f020, 0x32c0e: 0x6da0f220, 0x32c0f: 0x6da0f420,\n\t0x32c10: 0x6da0f620, 0x32c11: 0x6da0f820, 0x32c12: 0x6da0fa20, 0x32c13: 0x6da0fc20,\n\t0x32c14: 0x6da0fe20, 0x32c15: 0x6da10020, 0x32c16: 0x6da10220, 0x32c17: 0x6da10420,\n\t0x32c18: 0x6da10620, 0x32c19: 0x6da10820, 0x32c1a: 0x6da10a20, 0x32c1b: 0x6da10c20,\n\t0x32c1c: 0x6da10e20, 0x32c1d: 0x6da11020, 0x32c1e: 0x6da11220, 0x32c1f: 0x6da11420,\n\t0x32c20: 0x6da11620, 0x32c21: 0x6da11820, 0x32c22: 0x6da11a20, 0x32c23: 0x6da11c20,\n\t0x32c24: 0x6da11e20, 0x32c25: 0x6da12020, 0x32c26: 0x6da12220, 0x32c27: 0x6da12420,\n\t0x32c28: 0x6da12620, 0x32c29: 0x6da12820, 0x32c2a: 0x6da12a20, 0x32c2b: 0x6da12c20,\n\t0x32c2c: 0x6da12e20, 0x32c2d: 0x6da13020, 0x32c2e: 0x6da13220, 0x32c2f: 0x6da13420,\n\t0x32c30: 0x6da13620, 0x32c31: 0x6da13820, 0x32c32: 0x6da13a20, 0x32c33: 0x6da13c20,\n\t0x32c34: 0x6da13e20, 0x32c35: 0x6da14020, 0x32c36: 0x6da14220, 0x32c37: 0x6da14420,\n\t0x32c38: 0x6da14620, 0x32c39: 0x6da14820, 0x32c3a: 0x6da14a20, 0x32c3b: 0x6da14c20,\n\t0x32c3c: 0x6da14e20, 0x32c3d: 0x6da15020, 0x32c3e: 0x6da15220, 0x32c3f: 0x6da15420,\n\t// Block 0xcb1, offset 0x32c40\n\t0x32c40: 0x6da15620, 0x32c41: 0x6da15820, 0x32c42: 0x6da15a20, 0x32c43: 0x6da15c20,\n\t0x32c44: 0x6da15e20, 0x32c45: 0x6da16020, 0x32c46: 0x6da16220, 0x32c47: 0x6da16420,\n\t0x32c48: 0x6da16620, 0x32c49: 0x6da16820, 0x32c4a: 0x6da16a20, 0x32c4b: 0x6da16c20,\n\t0x32c4c: 0x6da16e20, 0x32c4d: 0x6da17020, 0x32c4e: 0x6da17220, 0x32c4f: 0x6dc32a20,\n\t0x32c50: 0x6dc32c20, 0x32c51: 0x6dc32e20, 0x32c52: 0x6dc33020, 0x32c53: 0x6dc33220,\n\t0x32c54: 0x6dc33420, 0x32c55: 0x6dc33620, 0x32c56: 0x6dc33820, 0x32c57: 0x6dc33a20,\n\t0x32c58: 0x6dc33c20, 0x32c59: 0x6dc33e20, 0x32c5a: 0x6dc34020, 0x32c5b: 0x6dc34220,\n\t0x32c5c: 0x6dc34420, 0x32c5d: 0x6dc34620, 0x32c5e: 0x6dc34820, 0x32c5f: 0x6dc34a20,\n\t0x32c60: 0x6dc34c20, 0x32c61: 0x6dc34e20, 0x32c62: 0x6dc35020, 0x32c63: 0x6dc35220,\n\t0x32c64: 0x6dc35420, 0x32c65: 0x6dc35620, 0x32c66: 0x6dc35820, 0x32c67: 0x6dc35a20,\n\t0x32c68: 0x6dc35c20, 0x32c69: 0x6dc35e20, 0x32c6a: 0x6dc36020, 0x32c6b: 0x6dc36220,\n\t0x32c6c: 0x6dc36420, 0x32c6d: 0x6dc36620, 0x32c6e: 0x6dc36820, 0x32c6f: 0x6dc36a20,\n\t0x32c70: 0x6dc36c20, 0x32c71: 0x6dc36e20, 0x32c72: 0x6dc37020, 0x32c73: 0x6dc37220,\n\t0x32c74: 0x6dc37420, 0x32c75: 0x6dc37620, 0x32c76: 0x6dc37820, 0x32c77: 0x6dc37a20,\n\t0x32c78: 0x6dc37c20, 0x32c79: 0x6dc37e20, 0x32c7a: 0x6dc38020, 0x32c7b: 0x6dc38220,\n\t0x32c7c: 0x6dc38420, 0x32c7d: 0x6dc38620, 0x32c7e: 0x6dc38820, 0x32c7f: 0x6dc38a20,\n\t// Block 0xcb2, offset 0x32c80\n\t0x32c80: 0x6dc38c20, 0x32c81: 0x6dc38e20, 0x32c82: 0x6dc39020, 0x32c83: 0x6dc39220,\n\t0x32c84: 0x6dc39420, 0x32c85: 0x6dc39620, 0x32c86: 0x6dc39820, 0x32c87: 0x6dc39a20,\n\t0x32c88: 0x6dc39c20, 0x32c89: 0x6dc39e20, 0x32c8a: 0x6dc3a020, 0x32c8b: 0x6dc3a220,\n\t0x32c8c: 0x6dc3a420, 0x32c8d: 0x6dc3a620, 0x32c8e: 0x6dc3a820, 0x32c8f: 0x6dc3aa20,\n\t0x32c90: 0x6dc3ac20, 0x32c91: 0x6dc3ae20, 0x32c92: 0x6dc3b020, 0x32c93: 0x6dc3b220,\n\t0x32c94: 0x6dc3b420, 0x32c95: 0x6dc3b620, 0x32c96: 0x6dc3b820, 0x32c97: 0x6dc3ba20,\n\t0x32c98: 0x6dc3bc20, 0x32c99: 0x6dc3be20, 0x32c9a: 0x6dc3c020, 0x32c9b: 0x6dc3c220,\n\t0x32c9c: 0x6dc3c420, 0x32c9d: 0x6dc3c620, 0x32c9e: 0x6dc3c820, 0x32c9f: 0x6dc3ca20,\n\t0x32ca0: 0x6de09a20, 0x32ca1: 0x6de09c20, 0x32ca2: 0x6de09e20, 0x32ca3: 0x6de0a020,\n\t0x32ca4: 0x6de0a220, 0x32ca5: 0x6de0a420, 0x32ca6: 0x6de0a620, 0x32ca7: 0x6de0a820,\n\t0x32ca8: 0x6de0aa20, 0x32ca9: 0x6de0ac20, 0x32caa: 0x6de0ae20, 0x32cab: 0x6de0b020,\n\t0x32cac: 0x6de0b220, 0x32cad: 0x6de0b420, 0x32cae: 0x6de0b620, 0x32caf: 0x6de0b820,\n\t0x32cb0: 0x6dc3cc20, 0x32cb1: 0x6de0ba20, 0x32cb2: 0x6de0bc20, 0x32cb3: 0x6de0be20,\n\t0x32cb4: 0x6de0c020, 0x32cb5: 0x6de0c220, 0x32cb6: 0x6de0c420, 0x32cb7: 0x6de0c620,\n\t0x32cb8: 0x6de0c820, 0x32cb9: 0x6de0ca20, 0x32cba: 0x6de0cc20, 0x32cbb: 0x6de0ce20,\n\t0x32cbc: 0x6de0d020, 0x32cbd: 0x6de0d220, 0x32cbe: 0x6de0d420, 0x32cbf: 0x6de0d620,\n\t// Block 0xcb3, offset 0x32cc0\n\t0x32cc0: 0x6de0d820, 0x32cc1: 0x6de0da20, 0x32cc2: 0x6de0dc20, 0x32cc3: 0x6de0de20,\n\t0x32cc4: 0x6de0e020, 0x32cc5: 0x6de0e220, 0x32cc6: 0x6de0e420, 0x32cc7: 0x6de0e620,\n\t0x32cc8: 0x6de0e820, 0x32cc9: 0x6de5dc20, 0x32cca: 0x6de0ea20, 0x32ccb: 0x6de0ec20,\n\t0x32ccc: 0x6de0ee20, 0x32ccd: 0x6de0f020, 0x32cce: 0x6de0f220, 0x32ccf: 0x6de0f420,\n\t0x32cd0: 0x6de0f620, 0x32cd1: 0x6df8e220, 0x32cd2: 0x6df8e420, 0x32cd3: 0x6df8e620,\n\t0x32cd4: 0x6df8e820, 0x32cd5: 0x6df8ea20, 0x32cd6: 0x6df8ec20, 0x32cd7: 0x6df8ee20,\n\t0x32cd8: 0x6df8f020, 0x32cd9: 0x6df8f220, 0x32cda: 0x6df8f420, 0x32cdb: 0x6df8f620,\n\t0x32cdc: 0x6df8f820, 0x32cdd: 0x6df8fa20, 0x32cde: 0x6df8fc20, 0x32cdf: 0x6df8fe20,\n\t0x32ce0: 0x6df90020, 0x32ce1: 0x6df90220, 0x32ce2: 0x6df90420, 0x32ce3: 0x6df90620,\n\t0x32ce4: 0x6df90820, 0x32ce5: 0x6df90a20, 0x32ce6: 0x6df90c20, 0x32ce7: 0x6df90e20,\n\t0x32ce8: 0x6df91020, 0x32ce9: 0x6df91220, 0x32cea: 0x6df91420, 0x32ceb: 0x6df91620,\n\t0x32cec: 0x6df91820, 0x32ced: 0x6df91a20, 0x32cee: 0x6df91c20, 0x32cef: 0x6df91e20,\n\t0x32cf0: 0x6df92020, 0x32cf1: 0x6e0cac20, 0x32cf2: 0x6e0cae20, 0x32cf3: 0x6e0cb020,\n\t0x32cf4: 0x6e0cb220, 0x32cf5: 0x6e0cb420, 0x32cf6: 0x6e0cb620, 0x32cf7: 0x6e0cb820,\n\t0x32cf8: 0x6e0cba20, 0x32cf9: 0x6e0cbc20, 0x32cfa: 0x6e0cbe20, 0x32cfb: 0x6e0cc020,\n\t0x32cfc: 0x6e0cc220, 0x32cfd: 0x6e0cc420, 0x32cfe: 0x6e0cc620, 0x32cff: 0x6e0cc820,\n\t// Block 0xcb4, offset 0x32d00\n\t0x32d00: 0x6e0cca20, 0x32d01: 0x6e0ccc20, 0x32d02: 0x6e0cce20, 0x32d03: 0x6e0cd020,\n\t0x32d04: 0x6e0cd220, 0x32d05: 0x6e0cd420, 0x32d06: 0x6e0cd620, 0x32d07: 0x6e0cd820,\n\t0x32d08: 0x6e0cda20, 0x32d09: 0x6e0cdc20, 0x32d0a: 0x6e0cde20, 0x32d0b: 0x6e0ce020,\n\t0x32d0c: 0x6e0ce220, 0x32d0d: 0x6e0ce420, 0x32d0e: 0x6e0ce620, 0x32d0f: 0x6e0ce820,\n\t0x32d10: 0x6e0cea20, 0x32d11: 0x6e0cec20, 0x32d12: 0x6e0cee20, 0x32d13: 0x6e0cf020,\n\t0x32d14: 0x6e0cf220, 0x32d15: 0x6e0d1c20, 0x32d16: 0x6e121420, 0x32d17: 0x6e1c4020,\n\t0x32d18: 0x6e1c4220, 0x32d19: 0x6e1c4420, 0x32d1a: 0x6e1c4620, 0x32d1b: 0x6e1c4820,\n\t0x32d1c: 0x6e1c4a20, 0x32d1d: 0x6e1c4c20, 0x32d1e: 0x6e1c4e20, 0x32d1f: 0x6e1c5020,\n\t0x32d20: 0x6e1c5220, 0x32d21: 0x6e1c5420, 0x32d22: 0x6e1c5620, 0x32d23: 0x6e0cf420,\n\t0x32d24: 0x6e1c5820, 0x32d25: 0x6e1c5a20, 0x32d26: 0x6e1c5c20, 0x32d27: 0x6e1c5e20,\n\t0x32d28: 0x6e1c6020, 0x32d29: 0x6e1c6220, 0x32d2a: 0x6e1c6420, 0x32d2b: 0x6e1c6620,\n\t0x32d2c: 0x6e1c6820, 0x32d2d: 0x6e1c6a20, 0x32d2e: 0x6e1c6c20, 0x32d2f: 0x6e1c6e20,\n\t0x32d30: 0x6e287c20, 0x32d31: 0x6e287e20, 0x32d32: 0x6e288020, 0x32d33: 0x6e288220,\n\t0x32d34: 0x6e288420, 0x32d35: 0x6e288620, 0x32d36: 0x6e288820, 0x32d37: 0x6e288a20,\n\t0x32d38: 0x6e288c20, 0x32d39: 0x6e31a420, 0x32d3a: 0x6e31a620, 0x32d3b: 0x6e31a820,\n\t0x32d3c: 0x6e31aa20, 0x32d3d: 0x6e31ac20, 0x32d3e: 0x6e31ae20, 0x32d3f: 0x6e31b020,\n\t// Block 0xcb5, offset 0x32d40\n\t0x32d40: 0x6e31b220, 0x32d41: 0x6e31b420, 0x32d42: 0x6e31b620, 0x32d43: 0x6e31b820,\n\t0x32d44: 0x6e31ba20, 0x32d45: 0x6e31bc20, 0x32d46: 0x6e384c20, 0x32d47: 0x6e384e20,\n\t0x32d48: 0x6e385020, 0x32d49: 0x6e385220, 0x32d4a: 0x6e385420, 0x32d4b: 0x6e385620,\n\t0x32d4c: 0x6e385820, 0x32d4d: 0x6e385a20, 0x32d4e: 0x6e385c20, 0x32d4f: 0x6e3cfa20,\n\t0x32d50: 0x6e3cfc20, 0x32d51: 0x6e3cfe20, 0x32d52: 0x6e3d0020, 0x32d53: 0x6e3d0220,\n\t0x32d54: 0x6e3d0420, 0x32d55: 0x6e3d0620, 0x32d56: 0x6e3d0820, 0x32d57: 0x6e3d0a20,\n\t0x32d58: 0x6e3d0c20, 0x32d59: 0x6e400a20, 0x32d5a: 0x6e400c20, 0x32d5b: 0x6e428620,\n\t0x32d5c: 0x6e428820, 0x32d5d: 0x6e428a20, 0x32d5e: 0x6e400e20, 0x32d5f: 0x6e45bc20,\n\t0x32d60: 0x6c03c820, 0x32d61: 0x6c03ca20, 0x32d62: 0x6c03cc20, 0x32d63: 0x6c079820,\n\t0x32d64: 0x6c079a20, 0x32d65: 0x6c079c20, 0x32d66: 0x6c079e20, 0x32d67: 0x6c0ea620,\n\t0x32d68: 0x6c0ea820, 0x32d69: 0x6c0eaa20, 0x32d6a: 0x6c0eac20, 0x32d6b: 0x6c0eae20,\n\t0x32d6c: 0x6c0eb020, 0x32d6d: 0x6c0eb220, 0x32d6e: 0x6c0eb420, 0x32d6f: 0x6c0eb620,\n\t0x32d70: 0x6c0eb820, 0x32d71: 0x6c0eba20, 0x32d72: 0x6c0ebc20, 0x32d73: 0x6c0ebe20,\n\t0x32d74: 0x6c1a6e20, 0x32d75: 0x6c1a7020, 0x32d76: 0x6c1a7220, 0x32d77: 0x6c1a7420,\n\t0x32d78: 0x6c1a7620, 0x32d79: 0x6c1a7820, 0x32d7a: 0x6c1a7a20, 0x32d7b: 0x6c1a7c20,\n\t0x32d7c: 0x6c1a7e20, 0x32d7d: 0x6c1a8020, 0x32d7e: 0x6c1a8220, 0x32d7f: 0x6c1a8420,\n\t// Block 0xcb6, offset 0x32d80\n\t0x32d80: 0x6c1a8620, 0x32d81: 0x6c1a8820, 0x32d82: 0x6c1a8a20, 0x32d83: 0x6c1a8c20,\n\t0x32d84: 0x6c1a8e20, 0x32d85: 0x6c1a9020, 0x32d86: 0x6c1a9220, 0x32d87: 0x6c1a9420,\n\t0x32d88: 0x6c2d9620, 0x32d89: 0x6c2d9820, 0x32d8a: 0x6c2d9a20, 0x32d8b: 0x6c2d9c20,\n\t0x32d8c: 0x6c2d9e20, 0x32d8d: 0x6c3bf620, 0x32d8e: 0x6c2da020, 0x32d8f: 0x6c2da220,\n\t0x32d90: 0x6c2da420, 0x32d91: 0x6c2da620, 0x32d92: 0x6c47e220, 0x32d93: 0x6c47e420,\n\t0x32d94: 0x6c47e620, 0x32d95: 0x6c47e820, 0x32d96: 0x6c47ea20, 0x32d97: 0x6c47ec20,\n\t0x32d98: 0x6c47ee20, 0x32d99: 0x6c47f020, 0x32d9a: 0x6c47f220, 0x32d9b: 0x6c47f420,\n\t0x32d9c: 0x6c47f620, 0x32d9d: 0x6c47f820, 0x32d9e: 0x6c47fa20, 0x32d9f: 0x6c47fc20,\n\t0x32da0: 0x6c695c20, 0x32da1: 0x6c695e20, 0x32da2: 0x6c696020, 0x32da3: 0x6c696220,\n\t0x32da4: 0x6c696420, 0x32da5: 0x6c696620, 0x32da6: 0x6c696820, 0x32da7: 0x6c696a20,\n\t0x32da8: 0x6c696c20, 0x32da9: 0x6c696e20, 0x32daa: 0x6c697020, 0x32dab: 0x6c697220,\n\t0x32dac: 0x6c697420, 0x32dad: 0x6c697620, 0x32dae: 0x6c697820, 0x32daf: 0x6c697a20,\n\t0x32db0: 0x6c902820, 0x32db1: 0x6c902a20, 0x32db2: 0x6c902c20, 0x32db3: 0x6c902e20,\n\t0x32db4: 0x6c903020, 0x32db5: 0x6c903220, 0x32db6: 0x6c903420, 0x32db7: 0x6c903620,\n\t0x32db8: 0x6c903820, 0x32db9: 0x6c903a20, 0x32dba: 0x6c903c20, 0x32dbb: 0x6c903e20,\n\t0x32dbc: 0x6cbc4820, 0x32dbd: 0x6cbc4a20, 0x32dbe: 0x6cbc4c20, 0x32dbf: 0x6cbc4e20,\n\t// Block 0xcb7, offset 0x32dc0\n\t0x32dc0: 0x6c904020, 0x32dc1: 0x6cbc5020, 0x32dc2: 0x6cbc5220, 0x32dc3: 0x6cbc5420,\n\t0x32dc4: 0x6cbc5620, 0x32dc5: 0x6cbc5820, 0x32dc6: 0x6cbc5a20, 0x32dc7: 0x6cbc5c20,\n\t0x32dc8: 0x6cbc5e20, 0x32dc9: 0x6cbc6020, 0x32dca: 0x6ced3220, 0x32dcb: 0x6ced3420,\n\t0x32dcc: 0x6ced3620, 0x32dcd: 0x6ced3820, 0x32dce: 0x6ced3a20, 0x32dcf: 0x6ced3c20,\n\t0x32dd0: 0x6ced3e20, 0x32dd1: 0x6ced4020, 0x32dd2: 0x6ced4220, 0x32dd3: 0x6ced4420,\n\t0x32dd4: 0x6ced4620, 0x32dd5: 0x6d1cfa20, 0x32dd6: 0x6d1cfc20, 0x32dd7: 0x6d1cfe20,\n\t0x32dd8: 0x6d1d0020, 0x32dd9: 0x6d1d0220, 0x32dda: 0x6d1d0420, 0x32ddb: 0x6d1d0620,\n\t0x32ddc: 0x6d1d0820, 0x32ddd: 0x6d1d0a20, 0x32dde: 0x6d1d0c20, 0x32ddf: 0x6d1d0e20,\n\t0x32de0: 0x6d1d1020, 0x32de1: 0x6d1d1220, 0x32de2: 0x6d4ab820, 0x32de3: 0x6d4aba20,\n\t0x32de4: 0x6d4abc20, 0x32de5: 0x6d785c20, 0x32de6: 0x6d4abe20, 0x32de7: 0x6d4ac020,\n\t0x32de8: 0x6d4ac220, 0x32de9: 0x6d4ac420, 0x32dea: 0x6d785e20, 0x32deb: 0x6d786020,\n\t0x32dec: 0x6d786220, 0x32ded: 0x6da17e20, 0x32dee: 0x6da18020, 0x32def: 0x6da18220,\n\t0x32df0: 0x6da18420, 0x32df1: 0x6da18620, 0x32df2: 0x6dc3de20, 0x32df3: 0x6de0fe20,\n\t0x32df4: 0x6de10020, 0x32df5: 0x6df92c20, 0x32df6: 0x6df92e20, 0x32df7: 0x6df93020,\n\t0x32df8: 0x6e0cf620, 0x32df9: 0x6e0cf820, 0x32dfa: 0x6e0cfa20, 0x32dfb: 0x6e3d1020,\n\t0x32dfc: 0x6c03d420, 0x32dfd: 0x6c03d620, 0x32dfe: 0x6c03d820, 0x32dff: 0x6c07ae20,\n\t// Block 0xcb8, offset 0x32e00\n\t0x32e00: 0x6c07b020, 0x32e01: 0x6c07b220, 0x32e02: 0x6c07b420, 0x32e03: 0x6c07b620,\n\t0x32e04: 0x6c07b820, 0x32e05: 0x6c07ba20, 0x32e06: 0x6c07bc20, 0x32e07: 0x6c07be20,\n\t0x32e08: 0x6c0ee620, 0x32e09: 0x6c0ee820, 0x32e0a: 0x6c0eea20, 0x32e0b: 0x6c0eec20,\n\t0x32e0c: 0x6c0eee20, 0x32e0d: 0x6c0ef020, 0x32e0e: 0x6c0ef220, 0x32e0f: 0x6c0ef420,\n\t0x32e10: 0x6c0ef620, 0x32e11: 0x6c0ef820, 0x32e12: 0x6c0efa20, 0x32e13: 0x6c0efc20,\n\t0x32e14: 0x6c0efe20, 0x32e15: 0x6c0f0020, 0x32e16: 0x6c0f0220, 0x32e17: 0x6c0fb020,\n\t0x32e18: 0x6c1af820, 0x32e19: 0x6c1afa20, 0x32e1a: 0x6c1afc20, 0x32e1b: 0x6c1afe20,\n\t0x32e1c: 0x6c1b0020, 0x32e1d: 0x6c1b0220, 0x32e1e: 0x6c1b0420, 0x32e1f: 0x6c1b0620,\n\t0x32e20: 0x6c1b0820, 0x32e21: 0x6c1b0a20, 0x32e22: 0x6c1b0c20, 0x32e23: 0x6c1b0e20,\n\t0x32e24: 0x6c1b1020, 0x32e25: 0x6c1b1220, 0x32e26: 0x6c1b1420, 0x32e27: 0x6c1b1620,\n\t0x32e28: 0x6c1b1820, 0x32e29: 0x6c1b1a20, 0x32e2a: 0x6c1b1c20, 0x32e2b: 0x6c1b1e20,\n\t0x32e2c: 0x6c1b2020, 0x32e2d: 0x6c1b2220, 0x32e2e: 0x6c1b2420, 0x32e2f: 0x6c1b2620,\n\t0x32e30: 0x6c1b2820, 0x32e31: 0x6c1b2a20, 0x32e32: 0x6c1b2c20, 0x32e33: 0x6c1b2e20,\n\t0x32e34: 0x6c1b3020, 0x32e35: 0x6c1b3220, 0x32e36: 0x6c1b3420, 0x32e37: 0x6c1b3620,\n\t0x32e38: 0x6c1b3820, 0x32e39: 0x6c1b3a20, 0x32e3a: 0x6c1b3c20, 0x32e3b: 0x6c1b3e20,\n\t0x32e3c: 0x6c1b4020, 0x32e3d: 0x6c1b4220, 0x32e3e: 0x6c1b4420, 0x32e3f: 0x6c1b4620,\n\t// Block 0xcb9, offset 0x32e40\n\t0x32e40: 0x6c1b4820, 0x32e41: 0x6c1b4a20, 0x32e42: 0x6c1b4c20, 0x32e43: 0x6c1b4e20,\n\t0x32e44: 0x6c2e0820, 0x32e45: 0x6c2e0a20, 0x32e46: 0x6c2e0c20, 0x32e47: 0x6c2e0e20,\n\t0x32e48: 0x6c2e1020, 0x32e49: 0x6c2e1220, 0x32e4a: 0x6c2e1420, 0x32e4b: 0x6c2e1620,\n\t0x32e4c: 0x6c2e1820, 0x32e4d: 0x6c2e1a20, 0x32e4e: 0x6c2e1c20, 0x32e4f: 0x6c2e1e20,\n\t0x32e50: 0x6c2e2020, 0x32e51: 0x6c2e2220, 0x32e52: 0x6c2e2420, 0x32e53: 0x6c2e2620,\n\t0x32e54: 0x6c2e2820, 0x32e55: 0x6c2e2a20, 0x32e56: 0x6c2e2c20, 0x32e57: 0x6c2e2e20,\n\t0x32e58: 0x6c2e3020, 0x32e59: 0x6c2e3220, 0x32e5a: 0x6c2e3420, 0x32e5b: 0x6c2e3620,\n\t0x32e5c: 0x6c2e3820, 0x32e5d: 0x6c2e3a20, 0x32e5e: 0x6c2e3c20, 0x32e5f: 0x6c2e3e20,\n\t0x32e60: 0x6c2e4020, 0x32e61: 0x6c2e4220, 0x32e62: 0x6c2e4420, 0x32e63: 0x6c2e4620,\n\t0x32e64: 0x6c2e4820, 0x32e65: 0x6c2e4a20, 0x32e66: 0x6c2e4c20, 0x32e67: 0x6c2e4e20,\n\t0x32e68: 0x6c2e5020, 0x32e69: 0x6c2e5220, 0x32e6a: 0x6c2e5420, 0x32e6b: 0x6c2e5620,\n\t0x32e6c: 0x6c2e5820, 0x32e6d: 0x6c2e5a20, 0x32e6e: 0x6c2e5c20, 0x32e6f: 0x6c2e5e20,\n\t0x32e70: 0x6c2e6020, 0x32e71: 0x6c2e6220, 0x32e72: 0x6c2e6420, 0x32e73: 0x6c2e6620,\n\t0x32e74: 0x6c2e6820, 0x32e75: 0x6c2e6a20, 0x32e76: 0x6c2e6c20, 0x32e77: 0x6c486a20,\n\t0x32e78: 0x6c486c20, 0x32e79: 0x6c486e20, 0x32e7a: 0x6c487020, 0x32e7b: 0x6c487220,\n\t0x32e7c: 0x6c487420, 0x32e7d: 0x6c487620, 0x32e7e: 0x6c487820, 0x32e7f: 0x6c487a20,\n\t// Block 0xcba, offset 0x32e80\n\t0x32e80: 0x6c487c20, 0x32e81: 0x6c487e20, 0x32e82: 0x6c488020, 0x32e83: 0x6c488220,\n\t0x32e84: 0x6c488420, 0x32e85: 0x6c488620, 0x32e86: 0x6c488820, 0x32e87: 0x6c488a20,\n\t0x32e88: 0x6c488c20, 0x32e89: 0x6c488e20, 0x32e8a: 0x6c489020, 0x32e8b: 0x6c489220,\n\t0x32e8c: 0x6c489420, 0x32e8d: 0x6c489620, 0x32e8e: 0x6c489820, 0x32e8f: 0x6c489a20,\n\t0x32e90: 0x6c489c20, 0x32e91: 0x6c489e20, 0x32e92: 0x6c48a020, 0x32e93: 0x6c48a220,\n\t0x32e94: 0x6c48a420, 0x32e95: 0x6c48a620, 0x32e96: 0x6c48a820, 0x32e97: 0x6c48aa20,\n\t0x32e98: 0x6c48ac20, 0x32e99: 0x6c48ae20, 0x32e9a: 0x6c48b020, 0x32e9b: 0x6c48b220,\n\t0x32e9c: 0x6c5dc620, 0x32e9d: 0x6c48b420, 0x32e9e: 0x6c48b620, 0x32e9f: 0x6c48b820,\n\t0x32ea0: 0x6c48ba20, 0x32ea1: 0x6c48bc20, 0x32ea2: 0x6c48be20, 0x32ea3: 0x6c48c020,\n\t0x32ea4: 0x6c48c220, 0x32ea5: 0x6c48c420, 0x32ea6: 0x6c48c620, 0x32ea7: 0x6c48c820,\n\t0x32ea8: 0x6c48ca20, 0x32ea9: 0x6c48cc20, 0x32eaa: 0x6c48ce20, 0x32eab: 0x6c48d020,\n\t0x32eac: 0x6c48d220, 0x32ead: 0x6c69da20, 0x32eae: 0x6c69dc20, 0x32eaf: 0x6c69de20,\n\t0x32eb0: 0x6c69e020, 0x32eb1: 0x6c69e220, 0x32eb2: 0x6c69e420, 0x32eb3: 0x6c69e620,\n\t0x32eb4: 0x6c69e820, 0x32eb5: 0x6c69ea20, 0x32eb6: 0x6c69ec20, 0x32eb7: 0x6c69ee20,\n\t0x32eb8: 0x6c69f020, 0x32eb9: 0x6c69f220, 0x32eba: 0x6c69f420, 0x32ebb: 0x6c69f620,\n\t0x32ebc: 0x6c69f820, 0x32ebd: 0x6c69fa20, 0x32ebe: 0x6c69fc20, 0x32ebf: 0x6c69fe20,\n\t// Block 0xcbb, offset 0x32ec0\n\t0x32ec0: 0x6c6a0020, 0x32ec1: 0x6c6a0220, 0x32ec2: 0x6c6a0420, 0x32ec3: 0x6c6a0620,\n\t0x32ec4: 0x6c6a0820, 0x32ec5: 0x6c6a0a20, 0x32ec6: 0x6c6a0c20, 0x32ec7: 0x6c6a0e20,\n\t0x32ec8: 0x6c6a1020, 0x32ec9: 0x6c6a1220, 0x32eca: 0x6c6a1420, 0x32ecb: 0x6c6a1620,\n\t0x32ecc: 0x6c6a1820, 0x32ecd: 0x6c6a1a20, 0x32ece: 0x6c6a1c20, 0x32ecf: 0x6c6a1e20,\n\t0x32ed0: 0x6c6a2020, 0x32ed1: 0x6c6a2220, 0x32ed2: 0x6c6a2420, 0x32ed3: 0x6c6a2620,\n\t0x32ed4: 0x6c6a2820, 0x32ed5: 0x6c6a2a20, 0x32ed6: 0x6c6a2c20, 0x32ed7: 0x6c6a2e20,\n\t0x32ed8: 0x6c6a3020, 0x32ed9: 0x6c6a3220, 0x32eda: 0x6c6a3420, 0x32edb: 0x6c6a3620,\n\t0x32edc: 0x6c6a3820, 0x32edd: 0x6c6a3a20, 0x32ede: 0x6c6a3c20, 0x32edf: 0x6c6a3e20,\n\t0x32ee0: 0x6c6a4020, 0x32ee1: 0x6c6a4220, 0x32ee2: 0x6c6a4420, 0x32ee3: 0x6c6a4620,\n\t0x32ee4: 0x6c6a4820, 0x32ee5: 0x6c6a4a20, 0x32ee6: 0x6c90c620, 0x32ee7: 0x6c90c820,\n\t0x32ee8: 0x6c90ca20, 0x32ee9: 0x6c90cc20, 0x32eea: 0x6c90ce20, 0x32eeb: 0x6c90d020,\n\t0x32eec: 0x6c90d220, 0x32eed: 0x6c90d420, 0x32eee: 0x6c90d620, 0x32eef: 0x6c90d820,\n\t0x32ef0: 0x6c90da20, 0x32ef1: 0x6c90dc20, 0x32ef2: 0x6c90de20, 0x32ef3: 0x6c90e020,\n\t0x32ef4: 0x6c90e220, 0x32ef5: 0x6c90e420, 0x32ef6: 0x6c90e620, 0x32ef7: 0x6c90e820,\n\t0x32ef8: 0x6c90ea20, 0x32ef9: 0x6c90ec20, 0x32efa: 0x6c90ee20, 0x32efb: 0x6c90f020,\n\t0x32efc: 0x6c90f220, 0x32efd: 0x6c90f420, 0x32efe: 0x6c90f620, 0x32eff: 0x6c90f820,\n\t// Block 0xcbc, offset 0x32f00\n\t0x32f00: 0x6c90fa20, 0x32f01: 0x6c90fc20, 0x32f02: 0x6c90fe20, 0x32f03: 0x6c910020,\n\t0x32f04: 0x6c910220, 0x32f05: 0x6c910420, 0x32f06: 0x6c910620, 0x32f07: 0x6c910820,\n\t0x32f08: 0x6c910a20, 0x32f09: 0x6c910c20, 0x32f0a: 0x6c910e20, 0x32f0b: 0x6c911020,\n\t0x32f0c: 0x6c911220, 0x32f0d: 0x6c911420, 0x32f0e: 0x6c911620, 0x32f0f: 0x6c911820,\n\t0x32f10: 0x6c911a20, 0x32f11: 0x6c911c20, 0x32f12: 0x6c911e20, 0x32f13: 0x6c912020,\n\t0x32f14: 0x6c912220, 0x32f15: 0x6c912420, 0x32f16: 0x6c912620, 0x32f17: 0x6c912820,\n\t0x32f18: 0x6c912a20, 0x32f19: 0x6c912c20, 0x32f1a: 0x6c912e20, 0x32f1b: 0x6c913020,\n\t0x32f1c: 0x6c913220, 0x32f1d: 0x6c913420, 0x32f1e: 0x6c913620, 0x32f1f: 0x6c913820,\n\t0x32f20: 0x6c913a20, 0x32f21: 0x6c913c20, 0x32f22: 0x6c913e20, 0x32f23: 0x6c914020,\n\t0x32f24: 0x6cbcd820, 0x32f25: 0x6cbcda20, 0x32f26: 0x6cbcdc20, 0x32f27: 0x6cbcde20,\n\t0x32f28: 0x6cbce020, 0x32f29: 0x6cbce220, 0x32f2a: 0x6cbce420, 0x32f2b: 0x6cbce620,\n\t0x32f2c: 0x6cbce820, 0x32f2d: 0x6cbcea20, 0x32f2e: 0x6cbcec20, 0x32f2f: 0x6cbcee20,\n\t0x32f30: 0x6cbcf020, 0x32f31: 0x6cbcf220, 0x32f32: 0x6cbcf420, 0x32f33: 0x6cbcf620,\n\t0x32f34: 0x6cbcf820, 0x32f35: 0x6cbcfa20, 0x32f36: 0x6cbcfc20, 0x32f37: 0x6cbcfe20,\n\t0x32f38: 0x6cbd0020, 0x32f39: 0x6cbd0220, 0x32f3a: 0x6cbd0420, 0x32f3b: 0x6cbd0620,\n\t0x32f3c: 0x6cbd0820, 0x32f3d: 0x6cbd0a20, 0x32f3e: 0x6cbd0c20, 0x32f3f: 0x6cbd0e20,\n\t// Block 0xcbd, offset 0x32f40\n\t0x32f40: 0x6cbd1020, 0x32f41: 0x6cbd1220, 0x32f42: 0x6cbd1420, 0x32f43: 0x6cbd1620,\n\t0x32f44: 0x6cbd1820, 0x32f45: 0x6cbd1a20, 0x32f46: 0x6cbd1c20, 0x32f47: 0x6cbd1e20,\n\t0x32f48: 0x6cbd2020, 0x32f49: 0x6cbd2220, 0x32f4a: 0x6cbd2420, 0x32f4b: 0x6cbd2620,\n\t0x32f4c: 0x6cbd2820, 0x32f4d: 0x6cbd2a20, 0x32f4e: 0x6cbd2c20, 0x32f4f: 0x6cbd2e20,\n\t0x32f50: 0x6cbd3020, 0x32f51: 0x6cbd3220, 0x32f52: 0x6cbd3420, 0x32f53: 0x6cbd3620,\n\t0x32f54: 0x6cbd3820, 0x32f55: 0x6cbd3a20, 0x32f56: 0x6cbd3c20, 0x32f57: 0x6cbd3e20,\n\t0x32f58: 0x6cbd4020, 0x32f59: 0x6cbd4220, 0x32f5a: 0x6cbd4420, 0x32f5b: 0x6cbd4620,\n\t0x32f5c: 0x6cbd4820, 0x32f5d: 0x6cbd4a20, 0x32f5e: 0x6cbd4c20, 0x32f5f: 0x6cbd4e20,\n\t0x32f60: 0x6cbd5020, 0x32f61: 0x6cbd5220, 0x32f62: 0x6cbd5420, 0x32f63: 0x6cbd5620,\n\t0x32f64: 0x6cbd5820, 0x32f65: 0x6cbd5a20, 0x32f66: 0x6cbd5c20, 0x32f67: 0x6cbd5e20,\n\t0x32f68: 0x6cbd6020, 0x32f69: 0x6cbd6220, 0x32f6a: 0x6cbd6420, 0x32f6b: 0x6cbd6620,\n\t0x32f6c: 0x6cbd6820, 0x32f6d: 0x6cbd6a20, 0x32f6e: 0x6cedae20, 0x32f6f: 0x6cedb020,\n\t0x32f70: 0x6cedb220, 0x32f71: 0x6cedb420, 0x32f72: 0x6cedb620, 0x32f73: 0x6cedb820,\n\t0x32f74: 0x6cedba20, 0x32f75: 0x6cedbc20, 0x32f76: 0x6cedbe20, 0x32f77: 0x6cedc020,\n\t0x32f78: 0x6cedc220, 0x32f79: 0x6cedc420, 0x32f7a: 0x6cedc620, 0x32f7b: 0x6cedc820,\n\t0x32f7c: 0x6cedca20, 0x32f7d: 0x6cedcc20, 0x32f7e: 0x6cedce20, 0x32f7f: 0x6cedd020,\n\t// Block 0xcbe, offset 0x32f80\n\t0x32f80: 0x6cedd220, 0x32f81: 0x6cedd420, 0x32f82: 0x6cedd620, 0x32f83: 0x6cedd820,\n\t0x32f84: 0x6cedda20, 0x32f85: 0x6ceddc20, 0x32f86: 0x6cedde20, 0x32f87: 0x6cede020,\n\t0x32f88: 0x6cede220, 0x32f89: 0x6cede420, 0x32f8a: 0x6cede620, 0x32f8b: 0x6cede820,\n\t0x32f8c: 0x6cedea20, 0x32f8d: 0x6cedec20, 0x32f8e: 0x6cedee20, 0x32f8f: 0x6cedf020,\n\t0x32f90: 0x6cedf220, 0x32f91: 0x6cedf420, 0x32f92: 0x6cedf620, 0x32f93: 0x6cedf820,\n\t0x32f94: 0x6cedfa20, 0x32f95: 0x6cedfc20, 0x32f96: 0x6cedfe20, 0x32f97: 0x6cee0020,\n\t0x32f98: 0x6cee0220, 0x32f99: 0x6cee0420, 0x32f9a: 0x6cee0620, 0x32f9b: 0x6cee0820,\n\t0x32f9c: 0x6cee0a20, 0x32f9d: 0x6cee0c20, 0x32f9e: 0x6cee0e20, 0x32f9f: 0x6cee1020,\n\t0x32fa0: 0x6cee1220, 0x32fa1: 0x6cee1420, 0x32fa2: 0x6cee1620, 0x32fa3: 0x6cee1820,\n\t0x32fa4: 0x6cee1a20, 0x32fa5: 0x6cee1c20, 0x32fa6: 0x6cee1e20, 0x32fa7: 0x6cee2020,\n\t0x32fa8: 0x6cee2220, 0x32fa9: 0x6cee2420, 0x32faa: 0x6cee2620, 0x32fab: 0x6cee2820,\n\t0x32fac: 0x6cee2a20, 0x32fad: 0x6d1d7620, 0x32fae: 0x6d1d7820, 0x32faf: 0x6d1d7a20,\n\t0x32fb0: 0x6d1d7c20, 0x32fb1: 0x6d1d7e20, 0x32fb2: 0x6d1d8020, 0x32fb3: 0x6d1d8220,\n\t0x32fb4: 0x6d1d8420, 0x32fb5: 0x6d1d8620, 0x32fb6: 0x6d1d8820, 0x32fb7: 0x6d1d8a20,\n\t0x32fb8: 0x6d1d8c20, 0x32fb9: 0x6d1d8e20, 0x32fba: 0x6d1d9020, 0x32fbb: 0x6d1d9220,\n\t0x32fbc: 0x6d1d9420, 0x32fbd: 0x6d1d9620, 0x32fbe: 0x6d1d9820, 0x32fbf: 0x6d1d9a20,\n\t// Block 0xcbf, offset 0x32fc0\n\t0x32fc0: 0x6d1d9c20, 0x32fc1: 0x6d1d9e20, 0x32fc2: 0x6d1da020, 0x32fc3: 0x6d1da220,\n\t0x32fc4: 0x6d1da420, 0x32fc5: 0x6d1da620, 0x32fc6: 0x6d1da820, 0x32fc7: 0x6d1daa20,\n\t0x32fc8: 0x6d1dac20, 0x32fc9: 0x6d1dae20, 0x32fca: 0x6d1db020, 0x32fcb: 0x6d1db220,\n\t0x32fcc: 0x6d1db420, 0x32fcd: 0x6d1db620, 0x32fce: 0x6d1db820, 0x32fcf: 0x6d1dba20,\n\t0x32fd0: 0x6d1dbc20, 0x32fd1: 0x6d1dbe20, 0x32fd2: 0x6d1dc020, 0x32fd3: 0x6d1dc220,\n\t0x32fd4: 0x6d1dc420, 0x32fd5: 0x6d1dc620, 0x32fd6: 0x6d1dc820, 0x32fd7: 0x6d1dca20,\n\t0x32fd8: 0x6d1dcc20, 0x32fd9: 0x6d1dce20, 0x32fda: 0x6d1dd020, 0x32fdb: 0x6d1dd220,\n\t0x32fdc: 0x6d1dd420, 0x32fdd: 0x6d1dd620, 0x32fde: 0x6d4b1420, 0x32fdf: 0x6d4b1620,\n\t0x32fe0: 0x6d4b1820, 0x32fe1: 0x6d4b1a20, 0x32fe2: 0x6d4b1c20, 0x32fe3: 0x6d4b1e20,\n\t0x32fe4: 0x6d4b2020, 0x32fe5: 0x6d4b2220, 0x32fe6: 0x6d4b2420, 0x32fe7: 0x6d4b2620,\n\t0x32fe8: 0x6d4b2820, 0x32fe9: 0x6d4b2a20, 0x32fea: 0x6d4b2c20, 0x32feb: 0x6d4b2e20,\n\t0x32fec: 0x6d4b3020, 0x32fed: 0x6d4b3220, 0x32fee: 0x6d4b3420, 0x32fef: 0x6d4b3620,\n\t0x32ff0: 0x6d4b3820, 0x32ff1: 0x6d4b3a20, 0x32ff2: 0x6d4b3c20, 0x32ff3: 0x6d4b3e20,\n\t0x32ff4: 0x6d4b4020, 0x32ff5: 0x6d4b4220, 0x32ff6: 0x6d4b4420, 0x32ff7: 0x6d4b4620,\n\t0x32ff8: 0x6d4b4820, 0x32ff9: 0x6d4b4a20, 0x32ffa: 0x6d4b4c20, 0x32ffb: 0x6d4b4e20,\n\t0x32ffc: 0x6d4b5020, 0x32ffd: 0x6d4b5220, 0x32ffe: 0x6d4b5420, 0x32fff: 0x6d4b5620,\n\t// Block 0xcc0, offset 0x33000\n\t0x33000: 0x6d4b5820, 0x33001: 0x6d4b5a20, 0x33002: 0x6d4b5c20, 0x33003: 0x6d4b5e20,\n\t0x33004: 0x6d4b6020, 0x33005: 0x6d4b6220, 0x33006: 0x6d4b6420, 0x33007: 0x6d4b6620,\n\t0x33008: 0x6d4b6820, 0x33009: 0x6d4b6a20, 0x3300a: 0x6d4b6c20, 0x3300b: 0x6d4b6e20,\n\t0x3300c: 0x6d4b7020, 0x3300d: 0x6d4b7220, 0x3300e: 0x6d4b7420, 0x3300f: 0x6d4b7620,\n\t0x33010: 0x6d4b7820, 0x33011: 0x6d4b7a20, 0x33012: 0x6d4b7c20, 0x33013: 0x6d4b7e20,\n\t0x33014: 0x6d4b8020, 0x33015: 0x6d4b8220, 0x33016: 0x6d4b8420, 0x33017: 0x6d4b8620,\n\t0x33018: 0x6d4b8820, 0x33019: 0x6d4b8a20, 0x3301a: 0x6d4b8c20, 0x3301b: 0x6d4b8e20,\n\t0x3301c: 0x6d4b9020, 0x3301d: 0x6d4b9220, 0x3301e: 0x6d789c20, 0x3301f: 0x6d789e20,\n\t0x33020: 0x6d78a020, 0x33021: 0x6d78a220, 0x33022: 0x6d78a420, 0x33023: 0x6d78a620,\n\t0x33024: 0x6d78a820, 0x33025: 0x6d78aa20, 0x33026: 0x6d78ac20, 0x33027: 0x6d78ae20,\n\t0x33028: 0x6d78b020, 0x33029: 0x6d78b220, 0x3302a: 0x6d78b420, 0x3302b: 0x6d78b620,\n\t0x3302c: 0x6d78b820, 0x3302d: 0x6d78ba20, 0x3302e: 0x6d78bc20, 0x3302f: 0x6d78be20,\n\t0x33030: 0x6d78c020, 0x33031: 0x6d78c220, 0x33032: 0x6d78c420, 0x33033: 0x6d78c620,\n\t0x33034: 0x6d78c820, 0x33035: 0x6d78ca20, 0x33036: 0x6d78cc20, 0x33037: 0x6d78ce20,\n\t0x33038: 0x6d78d020, 0x33039: 0x6d78d220, 0x3303a: 0x6d980c20, 0x3303b: 0x6d78d420,\n\t0x3303c: 0x6d78d620, 0x3303d: 0x6d78d820, 0x3303e: 0x6d78da20, 0x3303f: 0x6d78dc20,\n\t// Block 0xcc1, offset 0x33040\n\t0x33040: 0x6d78de20, 0x33041: 0x6d78e020, 0x33042: 0x6d78e220, 0x33043: 0x6d78e420,\n\t0x33044: 0x6d78e620, 0x33045: 0x6d78e820, 0x33046: 0x6d78ea20, 0x33047: 0x6d78ec20,\n\t0x33048: 0x6d78ee20, 0x33049: 0x6da1a820, 0x3304a: 0x6da1aa20, 0x3304b: 0x6da1ac20,\n\t0x3304c: 0x6da1ae20, 0x3304d: 0x6da1b020, 0x3304e: 0x6da1b220, 0x3304f: 0x6da1b420,\n\t0x33050: 0x6da1b620, 0x33051: 0x6da1b820, 0x33052: 0x6da1ba20, 0x33053: 0x6da1bc20,\n\t0x33054: 0x6da1be20, 0x33055: 0x6da1c020, 0x33056: 0x6da1c220, 0x33057: 0x6da1c420,\n\t0x33058: 0x6da1c620, 0x33059: 0x6da1c820, 0x3305a: 0x6da1ca20, 0x3305b: 0x6da1cc20,\n\t0x3305c: 0x6da1ce20, 0x3305d: 0x6da1d020, 0x3305e: 0x6da1d220, 0x3305f: 0x6da1d420,\n\t0x33060: 0x6da1d620, 0x33061: 0x6dc1f820, 0x33062: 0x6da1d820, 0x33063: 0x6da1da20,\n\t0x33064: 0x6da1dc20, 0x33065: 0x6da1de20, 0x33066: 0x6da1e020, 0x33067: 0x6da1e220,\n\t0x33068: 0x6da1e420, 0x33069: 0x6da1e620, 0x3306a: 0x6da1e820, 0x3306b: 0x6da1ea20,\n\t0x3306c: 0x6da1ec20, 0x3306d: 0x6da1ee20, 0x3306e: 0x6da1f020, 0x3306f: 0x6da1f220,\n\t0x33070: 0x6dc3ea20, 0x33071: 0x6dc3ec20, 0x33072: 0x6dc3ee20, 0x33073: 0x6dc3f020,\n\t0x33074: 0x6dc3f220, 0x33075: 0x6dc3f420, 0x33076: 0x6dc3f620, 0x33077: 0x6dc3f820,\n\t0x33078: 0x6dc3fa20, 0x33079: 0x6dc3fc20, 0x3307a: 0x6dc3fe20, 0x3307b: 0x6dc40020,\n\t0x3307c: 0x6dc40220, 0x3307d: 0x6dc40420, 0x3307e: 0x6dc40620, 0x3307f: 0x6dc40820,\n\t// Block 0xcc2, offset 0x33080\n\t0x33080: 0x6de11620, 0x33081: 0x6dc40a20, 0x33082: 0x6dc40c20, 0x33083: 0x6dc40e20,\n\t0x33084: 0x6dc41020, 0x33085: 0x6dc41220, 0x33086: 0x6dc41420, 0x33087: 0x6dc41620,\n\t0x33088: 0x6dc41820, 0x33089: 0x6dc41a20, 0x3308a: 0x6dc41c20, 0x3308b: 0x6dc41e20,\n\t0x3308c: 0x6dc42020, 0x3308d: 0x6dc42220, 0x3308e: 0x6dc42420, 0x3308f: 0x6dc42620,\n\t0x33090: 0x6de11820, 0x33091: 0x6de11a20, 0x33092: 0x6de11c20, 0x33093: 0x6de11e20,\n\t0x33094: 0x6de12020, 0x33095: 0x6de12220, 0x33096: 0x6de12420, 0x33097: 0x6de12620,\n\t0x33098: 0x6de12820, 0x33099: 0x6de12a20, 0x3309a: 0x6de12c20, 0x3309b: 0x6dede420,\n\t0x3309c: 0x6de12e20, 0x3309d: 0x6de13020, 0x3309e: 0x6de13220, 0x3309f: 0x6de13420,\n\t0x330a0: 0x6de13620, 0x330a1: 0x6de13820, 0x330a2: 0x6de13a20, 0x330a3: 0x6de13c20,\n\t0x330a4: 0x6de13e20, 0x330a5: 0x6de14020, 0x330a6: 0x6df93a20, 0x330a7: 0x6df93c20,\n\t0x330a8: 0x6df93e20, 0x330a9: 0x6df94020, 0x330aa: 0x6df94220, 0x330ab: 0x6df94420,\n\t0x330ac: 0x6df94620, 0x330ad: 0x6df94820, 0x330ae: 0x6df94a20, 0x330af: 0x6df94c20,\n\t0x330b0: 0x6df94e20, 0x330b1: 0x6e0cfe20, 0x330b2: 0x6e0d0020, 0x330b3: 0x6e0d0220,\n\t0x330b4: 0x6e0d0420, 0x330b5: 0x6e0d0620, 0x330b6: 0x6e0d0820, 0x330b7: 0x6e078620,\n\t0x330b8: 0x6e0d0a20, 0x330b9: 0x6e0d0c20, 0x330ba: 0x6e1c7620, 0x330bb: 0x6e0d0e20,\n\t0x330bc: 0x6e0d1020, 0x330bd: 0x6e0d1220, 0x330be: 0x6e0d1420, 0x330bf: 0x6e0d1620,\n\t// Block 0xcc3, offset 0x330c0\n\t0x330c0: 0x6e0d1820, 0x330c1: 0x6e0d1a20, 0x330c2: 0x6e1c7820, 0x330c3: 0x6e1c7a20,\n\t0x330c4: 0x6e1c7c20, 0x330c5: 0x6e1c7e20, 0x330c6: 0x6e1c8020, 0x330c7: 0x6e1c8220,\n\t0x330c8: 0x6e1c8420, 0x330c9: 0x6e1c8620, 0x330ca: 0x6e289220, 0x330cb: 0x6e289420,\n\t0x330cc: 0x6e289620, 0x330cd: 0x6e289820, 0x330ce: 0x6e289a20, 0x330cf: 0x6e31c620,\n\t0x330d0: 0x6e31c820, 0x330d1: 0x6e31ca20, 0x330d2: 0x6e31cc20, 0x330d3: 0x6e31ce20,\n\t0x330d4: 0x6e31d020, 0x330d5: 0x6e31d220, 0x330d6: 0x6e3d1220, 0x330d7: 0x6e442620,\n\t0x330d8: 0x6e451820, 0x330d9: 0x6e46e220, 0x330da: 0x6e471e20, 0x330db: 0x6c07c620,\n\t0x330dc: 0x6c0f1020, 0x330dd: 0x6c1b7020, 0x330de: 0x6c1b7220, 0x330df: 0x6c2e7e20,\n\t0x330e0: 0x6c48ea20, 0x330e1: 0x6c48ec20, 0x330e2: 0x6c48ee20, 0x330e3: 0x6c6a7220,\n\t0x330e4: 0x6c6a7420, 0x330e5: 0x6c6a7620, 0x330e6: 0x6c6a7820, 0x330e7: 0x6c6a7a20,\n\t0x330e8: 0x6c6a7c20, 0x330e9: 0x6c6a7e20, 0x330ea: 0x6c916620, 0x330eb: 0x6c916820,\n\t0x330ec: 0x6c916a20, 0x330ed: 0x6c916c20, 0x330ee: 0x6cbd8e20, 0x330ef: 0x6cbd9020,\n\t0x330f0: 0x6cee5020, 0x330f1: 0x6cbdc220, 0x330f2: 0x6cee5220, 0x330f3: 0x6cee5420,\n\t0x330f4: 0x6cee5620, 0x330f5: 0x6cee5820, 0x330f6: 0x6d1df820, 0x330f7: 0x6d187e20,\n\t0x330f8: 0x6d1dfa20, 0x330f9: 0x6d1dfc20, 0x330fa: 0x6d1dfe20, 0x330fb: 0x6d1e0020,\n\t0x330fc: 0x6d4ba620, 0x330fd: 0x6d4ba820, 0x330fe: 0x6d790220, 0x330ff: 0x6d790420,\n\t// Block 0xcc4, offset 0x33100\n\t0x33100: 0x6d790620, 0x33101: 0x6da20020, 0x33102: 0x6da20220, 0x33103: 0x6da20420,\n\t0x33104: 0x6da20620, 0x33105: 0x6dc43020, 0x33106: 0x6dd50620, 0x33107: 0x6dc43220,\n\t0x33108: 0x6dc43420, 0x33109: 0x6dc43620, 0x3310a: 0x6dc43820, 0x3310b: 0x6de14420,\n\t0x3310c: 0x6de14620, 0x3310d: 0x6df95220, 0x3310e: 0x6dfe0820, 0x3310f: 0x6e1c8820,\n\t0x33110: 0x6e1c8a20, 0x33111: 0x6e1c8c20, 0x33112: 0x6c018a20, 0x33113: 0x6c07ca20,\n\t0x33114: 0x6c07cc20, 0x33115: 0x6c0f1420, 0x33116: 0x6c0f1620, 0x33117: 0x6c1b7620,\n\t0x33118: 0x6c1b7820, 0x33119: 0x6c1b7a20, 0x3311a: 0x6c6a8220, 0x3311b: 0x6c917020,\n\t0x3311c: 0x6c917220, 0x3311d: 0x6cee5c20, 0x3311e: 0x6c0f1820, 0x3311f: 0x6c0f1a20,\n\t0x33120: 0x6c1b7e20, 0x33121: 0x6c1b8020, 0x33122: 0x6c2e8420, 0x33123: 0x6c2e8620,\n\t0x33124: 0x6c2e8820, 0x33125: 0x6c2e8a20, 0x33126: 0x6c6a8a20, 0x33127: 0x6c917420,\n\t0x33128: 0x6c917620, 0x33129: 0x6c917820, 0x3312a: 0x6c917a20, 0x3312b: 0x6c917c20,\n\t0x3312c: 0x6c917e20, 0x3312d: 0x6cbd9620, 0x3312e: 0x6cee6020, 0x3312f: 0x6cee6220,\n\t0x33130: 0x6cee6420, 0x33131: 0x6cee6620, 0x33132: 0x6d1e0420, 0x33133: 0x6d1e0620,\n\t0x33134: 0x6d1e0820, 0x33135: 0x6d1e0a20, 0x33136: 0x6d4baa20, 0x33137: 0x6d4bac20,\n\t0x33138: 0x6d790820, 0x33139: 0x6d790a20, 0x3313a: 0x6d790c20, 0x3313b: 0x6da20820,\n\t0x3313c: 0x6dc43e20, 0x3313d: 0x6dc44020, 0x3313e: 0x6dc44220, 0x3313f: 0x6dc44420,\n\t// Block 0xcc5, offset 0x33140\n\t0x33140: 0x6de14a20, 0x33141: 0x6df95620, 0x33142: 0x6e289c20, 0x33143: 0x6e451a20,\n\t0x33144: 0x6c07d620, 0x33145: 0x6c07d820, 0x33146: 0x6c07da20, 0x33147: 0x6c0f2220,\n\t0x33148: 0x6c0f2420, 0x33149: 0x6c0f2620, 0x3314a: 0x6c1b8220, 0x3314b: 0x6c1b8420,\n\t0x3314c: 0x6c1b8620, 0x3314d: 0x6c2e9220, 0x3314e: 0x6c2e9420, 0x3314f: 0x6c2e9620,\n\t0x33150: 0x6c48fc20, 0x33151: 0x6c48fe20, 0x33152: 0x6c6a9020, 0x33153: 0x6c6a9220,\n\t0x33154: 0x6c6a9420, 0x33155: 0x6c6a9620, 0x33156: 0x6c6a9820, 0x33157: 0x6c6a9a20,\n\t0x33158: 0x6c6a9c20, 0x33159: 0x6c6a9e20, 0x3315a: 0x6c6aa020, 0x3315b: 0x6c6aa220,\n\t0x3315c: 0x6c6aa420, 0x3315d: 0x6c918420, 0x3315e: 0x6c918620, 0x3315f: 0x6c918820,\n\t0x33160: 0x6c918a20, 0x33161: 0x6c918c20, 0x33162: 0x6c918e20, 0x33163: 0x6c919020,\n\t0x33164: 0x6c919220, 0x33165: 0x6c919420, 0x33166: 0x6cbda020, 0x33167: 0x6cbda220,\n\t0x33168: 0x6cbda420, 0x33169: 0x6cbda620, 0x3316a: 0x6cbda820, 0x3316b: 0x6cbdaa20,\n\t0x3316c: 0x6cbdac20, 0x3316d: 0x6cbdae20, 0x3316e: 0x6cbdb020, 0x3316f: 0x6cee6a20,\n\t0x33170: 0x6cbdb220, 0x33171: 0x6cee6c20, 0x33172: 0x6cee6e20, 0x33173: 0x6cee7020,\n\t0x33174: 0x6cee7220, 0x33175: 0x6cee7420, 0x33176: 0x6d1e1820, 0x33177: 0x6d1e1a20,\n\t0x33178: 0x6d1e1c20, 0x33179: 0x6d1e1e20, 0x3317a: 0x6d1e2020, 0x3317b: 0x6d1e2220,\n\t0x3317c: 0x6d1e2420, 0x3317d: 0x6d1e2620, 0x3317e: 0x6d1e2820, 0x3317f: 0x6d4bb020,\n\t// Block 0xcc6, offset 0x33180\n\t0x33180: 0x6d4bb220, 0x33181: 0x6d4bb420, 0x33182: 0x6d791220, 0x33183: 0x6d791420,\n\t0x33184: 0x6d791620, 0x33185: 0x6d791820, 0x33186: 0x6da20c20, 0x33187: 0x6da20e20,\n\t0x33188: 0x6da21020, 0x33189: 0x6dc44820, 0x3318a: 0x6dc44a20, 0x3318b: 0x6de14c20,\n\t0x3318c: 0x6de14e20, 0x3318d: 0x6e0d2020, 0x3318e: 0x6e0d2220, 0x3318f: 0x6e3d1420,\n\t0x33190: 0x6de15020, 0x33191: 0x6e45be20, 0x33192: 0x6c03e820, 0x33193: 0x6c03ea20,\n\t0x33194: 0x6c03ec20, 0x33195: 0x6c07ec20, 0x33196: 0x6c07ee20, 0x33197: 0x6c07f020,\n\t0x33198: 0x6c07f220, 0x33199: 0x6c07f420, 0x3319a: 0x6c07f620, 0x3319b: 0x6c07f820,\n\t0x3319c: 0x6c04f620, 0x3319d: 0x6c0f4420, 0x3319e: 0x6c0f4620, 0x3319f: 0x6c0f4820,\n\t0x331a0: 0x6c0f4a20, 0x331a1: 0x6c0f4c20, 0x331a2: 0x6c0f4e20, 0x331a3: 0x6c0f5020,\n\t0x331a4: 0x6c0f5220, 0x331a5: 0x6c1b9a20, 0x331a6: 0x6c1b9c20, 0x331a7: 0x6c1b9e20,\n\t0x331a8: 0x6c1ba020, 0x331a9: 0x6c1ba220, 0x331aa: 0x6c1ba420, 0x331ab: 0x6c1ba620,\n\t0x331ac: 0x6c1ba820, 0x331ad: 0x6c1baa20, 0x331ae: 0x6c1bac20, 0x331af: 0x6c1bae20,\n\t0x331b0: 0x6c1bb020, 0x331b1: 0x6c1bb220, 0x331b2: 0x6c1bb420, 0x331b3: 0x6c1bb620,\n\t0x331b4: 0x6c1bb820, 0x331b5: 0x6c1bba20, 0x331b6: 0x6c1bbc20, 0x331b7: 0x6c2eba20,\n\t0x331b8: 0x6c2ebc20, 0x331b9: 0x6c2ebe20, 0x331ba: 0x6c2ec020, 0x331bb: 0x6c2ec220,\n\t0x331bc: 0x6c2ec420, 0x331bd: 0x6c2ec620, 0x331be: 0x6c2ec820, 0x331bf: 0x6c2eca20,\n\t// Block 0xcc7, offset 0x331c0\n\t0x331c0: 0x6c2ecc20, 0x331c1: 0x6c2ece20, 0x331c2: 0x6c2ed020, 0x331c3: 0x6c2ed220,\n\t0x331c4: 0x6c2ed420, 0x331c5: 0x6c2ed620, 0x331c6: 0x6c2ed820, 0x331c7: 0x6c2eda20,\n\t0x331c8: 0x6c2edc20, 0x331c9: 0x6c2ede20, 0x331ca: 0x6c2ee020, 0x331cb: 0x6c2ee220,\n\t0x331cc: 0x6c2ee420, 0x331cd: 0x6c491620, 0x331ce: 0x6c491820, 0x331cf: 0x6c491a20,\n\t0x331d0: 0x6c491c20, 0x331d1: 0x6c491e20, 0x331d2: 0x6c492020, 0x331d3: 0x6c492220,\n\t0x331d4: 0x6c492420, 0x331d5: 0x6c492620, 0x331d6: 0x6c492820, 0x331d7: 0x6c492a20,\n\t0x331d8: 0x6c492c20, 0x331d9: 0x6c492e20, 0x331da: 0x6c493020, 0x331db: 0x6c493220,\n\t0x331dc: 0x6c493420, 0x331dd: 0x6c6ab420, 0x331de: 0x6c6ab620, 0x331df: 0x6c6ab820,\n\t0x331e0: 0x6c6aba20, 0x331e1: 0x6c6abc20, 0x331e2: 0x6c6abe20, 0x331e3: 0x6c6ac020,\n\t0x331e4: 0x6c6ac220, 0x331e5: 0x6c6ac420, 0x331e6: 0x6c6ac620, 0x331e7: 0x6c6ac820,\n\t0x331e8: 0x6c6aca20, 0x331e9: 0x6c6acc20, 0x331ea: 0x6c6ace20, 0x331eb: 0x6c6ad020,\n\t0x331ec: 0x6c6ad220, 0x331ed: 0x6c6ad420, 0x331ee: 0x6c6ad620, 0x331ef: 0x6c6ad820,\n\t0x331f0: 0x6c6ada20, 0x331f1: 0x6c6adc20, 0x331f2: 0x6c6ade20, 0x331f3: 0x6c6ae020,\n\t0x331f4: 0x6c91a620, 0x331f5: 0x6c91a820, 0x331f6: 0x6c91aa20, 0x331f7: 0x6c91ac20,\n\t0x331f8: 0x6c91ae20, 0x331f9: 0x6c91b020, 0x331fa: 0x6c91b220, 0x331fb: 0x6c91b420,\n\t0x331fc: 0x6c91b620, 0x331fd: 0x6c91b820, 0x331fe: 0x6c91ba20, 0x331ff: 0x6c91bc20,\n\t// Block 0xcc8, offset 0x33200\n\t0x33200: 0x6c91be20, 0x33201: 0x6c91c020, 0x33202: 0x6c91c220, 0x33203: 0x6c91c420,\n\t0x33204: 0x6c91c620, 0x33205: 0x6c91c820, 0x33206: 0x6c91ca20, 0x33207: 0x6cbdc420,\n\t0x33208: 0x6cbdc620, 0x33209: 0x6cbdc820, 0x3320a: 0x6cbdca20, 0x3320b: 0x6cbdcc20,\n\t0x3320c: 0x6cbdce20, 0x3320d: 0x6cbdd020, 0x3320e: 0x6cbdd220, 0x3320f: 0x6cbdd420,\n\t0x33210: 0x6cbdd620, 0x33211: 0x6cbdd820, 0x33212: 0x6cbdda20, 0x33213: 0x6cbddc20,\n\t0x33214: 0x6cbdde20, 0x33215: 0x6cbde020, 0x33216: 0x6cbde220, 0x33217: 0x6cbde420,\n\t0x33218: 0x6cbde620, 0x33219: 0x6cbde820, 0x3321a: 0x6cbdea20, 0x3321b: 0x6cee7e20,\n\t0x3321c: 0x6cee8020, 0x3321d: 0x6cee8220, 0x3321e: 0x6cee8420, 0x3321f: 0x6cee8620,\n\t0x33220: 0x6cee8820, 0x33221: 0x6cee8a20, 0x33222: 0x6cee8c20, 0x33223: 0x6cee8e20,\n\t0x33224: 0x6cee9020, 0x33225: 0x6cee9220, 0x33226: 0x6cee9420, 0x33227: 0x6cee9620,\n\t0x33228: 0x6cee9820, 0x33229: 0x6cee9a20, 0x3322a: 0x6cee9c20, 0x3322b: 0x6cee9e20,\n\t0x3322c: 0x6d1e3620, 0x3322d: 0x6d1e3820, 0x3322e: 0x6d1e3a20, 0x3322f: 0x6d1e3c20,\n\t0x33230: 0x6d1e3e20, 0x33231: 0x6d1e4020, 0x33232: 0x6d1e4220, 0x33233: 0x6d1e4420,\n\t0x33234: 0x6d1e4620, 0x33235: 0x6d1e4820, 0x33236: 0x6d1e4a20, 0x33237: 0x6d4bba20,\n\t0x33238: 0x6d4bbc20, 0x33239: 0x6d4bbe20, 0x3323a: 0x6d4bc020, 0x3323b: 0x6d4bc220,\n\t0x3323c: 0x6d4bc420, 0x3323d: 0x6d4bc620, 0x3323e: 0x6d4bc820, 0x3323f: 0x6d4bca20,\n\t// Block 0xcc9, offset 0x33240\n\t0x33240: 0x6d4bcc20, 0x33241: 0x6d4bce20, 0x33242: 0x6d4bd020, 0x33243: 0x6d4bd220,\n\t0x33244: 0x6d4bd420, 0x33245: 0x6d4bd620, 0x33246: 0x6d792220, 0x33247: 0x6d792420,\n\t0x33248: 0x6d792620, 0x33249: 0x6d792820, 0x3324a: 0x6d792a20, 0x3324b: 0x6d792c20,\n\t0x3324c: 0x6d792e20, 0x3324d: 0x6d793020, 0x3324e: 0x6d793220, 0x3324f: 0x6da21220,\n\t0x33250: 0x6da21420, 0x33251: 0x6da21620, 0x33252: 0x6da21820, 0x33253: 0x6da21a20,\n\t0x33254: 0x6da21c20, 0x33255: 0x6da21e20, 0x33256: 0x6da22020, 0x33257: 0x6dc44e20,\n\t0x33258: 0x6de15220, 0x33259: 0x6de15420, 0x3325a: 0x6de15620, 0x3325b: 0x6df95820,\n\t0x3325c: 0x6e0d2420, 0x3325d: 0x6e0d2620, 0x3325e: 0x6e1c9420, 0x3325f: 0x6e1c9620,\n\t0x33260: 0x6e289e20, 0x33261: 0x6e28a020, 0x33262: 0x6e28a220, 0x33263: 0x6e31d420,\n\t0x33264: 0x6e31d620, 0x33265: 0x6e401220, 0x33266: 0x6c03f020, 0x33267: 0x6c080420,\n\t0x33268: 0x6c080620, 0x33269: 0x6c080820, 0x3326a: 0x6c080a20, 0x3326b: 0x6c080c20,\n\t0x3326c: 0x6c080e20, 0x3326d: 0x6c081020, 0x3326e: 0x6c0f8620, 0x3326f: 0x6c0f8820,\n\t0x33270: 0x6c0f8a20, 0x33271: 0x6c0f8c20, 0x33272: 0x6c0f8e20, 0x33273: 0x6c0f9020,\n\t0x33274: 0x6c0f9220, 0x33275: 0x6c0f9420, 0x33276: 0x6c0f9620, 0x33277: 0x6c0f9820,\n\t0x33278: 0x6c0f9a20, 0x33279: 0x6c0f9c20, 0x3327a: 0x6c0f9e20, 0x3327b: 0x6c0fa020,\n\t0x3327c: 0x6c1c1820, 0x3327d: 0x6c1c1a20, 0x3327e: 0x6c1c1c20, 0x3327f: 0x6c1c1e20,\n\t// Block 0xcca, offset 0x33280\n\t0x33280: 0x6c1c2020, 0x33281: 0x6c1c2220, 0x33282: 0x6c1c2420, 0x33283: 0x6c1c2620,\n\t0x33284: 0x6c1c2820, 0x33285: 0x6c1c2a20, 0x33286: 0x6c1c2c20, 0x33287: 0x6c1c2e20,\n\t0x33288: 0x6c1c3020, 0x33289: 0x6c1c3220, 0x3328a: 0x6c1c3420, 0x3328b: 0x6c1c3620,\n\t0x3328c: 0x6c1c3820, 0x3328d: 0x6c1c3a20, 0x3328e: 0x6c1c3c20, 0x3328f: 0x6c1c3e20,\n\t0x33290: 0x6c1c4020, 0x33291: 0x6c1c4220, 0x33292: 0x6c1c4420, 0x33293: 0x6c1c4620,\n\t0x33294: 0x6c1c4820, 0x33295: 0x6c1c4a20, 0x33296: 0x6c1c4c20, 0x33297: 0x6c1c4e20,\n\t0x33298: 0x6c1c5020, 0x33299: 0x6c2f6e20, 0x3329a: 0x6c2f7020, 0x3329b: 0x6c2f7220,\n\t0x3329c: 0x6c2f7420, 0x3329d: 0x6c2f7620, 0x3329e: 0x6c2f7820, 0x3329f: 0x6c2f7a20,\n\t0x332a0: 0x6c2f7c20, 0x332a1: 0x6c2f7e20, 0x332a2: 0x6c2f8020, 0x332a3: 0x6c2f8220,\n\t0x332a4: 0x6c2f8420, 0x332a5: 0x6c2f8620, 0x332a6: 0x6c2f8820, 0x332a7: 0x6c2f8a20,\n\t0x332a8: 0x6c2f8c20, 0x332a9: 0x6c2f8e20, 0x332aa: 0x6c2f9020, 0x332ab: 0x6c2f9220,\n\t0x332ac: 0x6c2f9420, 0x332ad: 0x6c2f9620, 0x332ae: 0x6c2f9820, 0x332af: 0x6c2f9a20,\n\t0x332b0: 0x6c2f9c20, 0x332b1: 0x6c2f9e20, 0x332b2: 0x6c2fa020, 0x332b3: 0x6c2fa220,\n\t0x332b4: 0x6c2fa420, 0x332b5: 0x6c2fa620, 0x332b6: 0x6c2fa820, 0x332b7: 0x6c2faa20,\n\t0x332b8: 0x6c2fac20, 0x332b9: 0x6c2fae20, 0x332ba: 0x6c2fb020, 0x332bb: 0x6c2fb220,\n\t0x332bc: 0x6c2fb420, 0x332bd: 0x6c2fb620, 0x332be: 0x6c2fb820, 0x332bf: 0x6c2fba20,\n\t// Block 0xccb, offset 0x332c0\n\t0x332c0: 0x6c2fbc20, 0x332c1: 0x6c2fbe20, 0x332c2: 0x6c49b420, 0x332c3: 0x6c49b620,\n\t0x332c4: 0x6c49b820, 0x332c5: 0x6c49ba20, 0x332c6: 0x6c49bc20, 0x332c7: 0x6c49be20,\n\t0x332c8: 0x6c49c020, 0x332c9: 0x6c49c220, 0x332ca: 0x6c49c420, 0x332cb: 0x6c49c620,\n\t0x332cc: 0x6c49c820, 0x332cd: 0x6c49ca20, 0x332ce: 0x6c49cc20, 0x332cf: 0x6c49ce20,\n\t0x332d0: 0x6c49d020, 0x332d1: 0x6c49d220, 0x332d2: 0x6c49d420, 0x332d3: 0x6c49d620,\n\t0x332d4: 0x6c49d820, 0x332d5: 0x6c49da20, 0x332d6: 0x6c49dc20, 0x332d7: 0x6c49de20,\n\t0x332d8: 0x6c49e020, 0x332d9: 0x6c49e220, 0x332da: 0x6c49e420, 0x332db: 0x6c49e620,\n\t0x332dc: 0x6c49e820, 0x332dd: 0x6c49ea20, 0x332de: 0x6c49ec20, 0x332df: 0x6c49ee20,\n\t0x332e0: 0x6c49f020, 0x332e1: 0x6c49f220, 0x332e2: 0x6c49f420, 0x332e3: 0x6c49f620,\n\t0x332e4: 0x6c49f820, 0x332e5: 0x6c49fa20, 0x332e6: 0x6c49fc20, 0x332e7: 0x6c49fe20,\n\t0x332e8: 0x6c4a0020, 0x332e9: 0x6c4a0220, 0x332ea: 0x6c4a0420, 0x332eb: 0x6c4a0620,\n\t0x332ec: 0x6c4a0820, 0x332ed: 0x6c4a0a20, 0x332ee: 0x6c6b6c20, 0x332ef: 0x6c6b6e20,\n\t0x332f0: 0x6c6b7020, 0x332f1: 0x6c6b7220, 0x332f2: 0x6c6b7420, 0x332f3: 0x6c6b7620,\n\t0x332f4: 0x6c6b7820, 0x332f5: 0x6c6b7a20, 0x332f6: 0x6c6b7c20, 0x332f7: 0x6c6b7e20,\n\t0x332f8: 0x6c6b8020, 0x332f9: 0x6c6b8220, 0x332fa: 0x6c6b8420, 0x332fb: 0x6c6b8620,\n\t0x332fc: 0x6c6b8820, 0x332fd: 0x6c6b8a20, 0x332fe: 0x6c6b8c20, 0x332ff: 0x6c6b8e20,\n\t// Block 0xccc, offset 0x33300\n\t0x33300: 0x6c6b9020, 0x33301: 0x6c6b9220, 0x33302: 0x6c6b9420, 0x33303: 0x6c6b9620,\n\t0x33304: 0x6c6b9820, 0x33305: 0x6c6b9a20, 0x33306: 0x6c6b9c20, 0x33307: 0x6c6b9e20,\n\t0x33308: 0x6c6ba020, 0x33309: 0x6c6ba220, 0x3330a: 0x6c6ba420, 0x3330b: 0x6c6ba620,\n\t0x3330c: 0x6c6ba820, 0x3330d: 0x6c6baa20, 0x3330e: 0x6c6bac20, 0x3330f: 0x6c6bae20,\n\t0x33310: 0x6c6bb020, 0x33311: 0x6c6bb220, 0x33312: 0x6c6bb420, 0x33313: 0x6c6bb620,\n\t0x33314: 0x6c6bb820, 0x33315: 0x6c6bba20, 0x33316: 0x6c6bbc20, 0x33317: 0x6c6bbe20,\n\t0x33318: 0x6c6bc020, 0x33319: 0x6c6bc220, 0x3331a: 0x6c6bc420, 0x3331b: 0x6c6bc620,\n\t0x3331c: 0x6c6bc820, 0x3331d: 0x6c6bca20, 0x3331e: 0x6c927020, 0x3331f: 0x6c927220,\n\t0x33320: 0x6c927420, 0x33321: 0x6c927620, 0x33322: 0x6c927820, 0x33323: 0x6c927a20,\n\t0x33324: 0x6c927c20, 0x33325: 0x6c927e20, 0x33326: 0x6c928020, 0x33327: 0x6c928220,\n\t0x33328: 0x6c928420, 0x33329: 0x6c928620, 0x3332a: 0x6c928820, 0x3332b: 0x6c928a20,\n\t0x3332c: 0x6c928c20, 0x3332d: 0x6c928e20, 0x3332e: 0x6c929020, 0x3332f: 0x6c929220,\n\t0x33330: 0x6c929420, 0x33331: 0x6c929620, 0x33332: 0x6c929820, 0x33333: 0x6c929a20,\n\t0x33334: 0x6c929c20, 0x33335: 0x6c929e20, 0x33336: 0x6c92a020, 0x33337: 0x6c92a220,\n\t0x33338: 0x6c92a420, 0x33339: 0x6c92a620, 0x3333a: 0x6c92a820, 0x3333b: 0x6c92aa20,\n\t0x3333c: 0x6c92ac20, 0x3333d: 0x6c92ae20, 0x3333e: 0x6c92b020, 0x3333f: 0x6c92b220,\n\t// Block 0xccd, offset 0x33340\n\t0x33340: 0x6c92b420, 0x33341: 0x6c92b620, 0x33342: 0x6c92b820, 0x33343: 0x6c92ba20,\n\t0x33344: 0x6c92bc20, 0x33345: 0x6c92be20, 0x33346: 0x6c92c020, 0x33347: 0x6c92c220,\n\t0x33348: 0x6c92c420, 0x33349: 0x6c92c620, 0x3334a: 0x6c92c820, 0x3334b: 0x6c92ca20,\n\t0x3334c: 0x6c92cc20, 0x3334d: 0x6c92ce20, 0x3334e: 0x6c92d020, 0x3334f: 0x6c92d220,\n\t0x33350: 0x6c92d420, 0x33351: 0x6c92d620, 0x33352: 0x6c92d820, 0x33353: 0x6c92da20,\n\t0x33354: 0x6c92dc20, 0x33355: 0x6c92de20, 0x33356: 0x6c92e020, 0x33357: 0x6c92e220,\n\t0x33358: 0x6c92e420, 0x33359: 0x6c92e620, 0x3335a: 0x6c92e820, 0x3335b: 0x6c92ea20,\n\t0x3335c: 0x6cbe9020, 0x3335d: 0x6cbe9220, 0x3335e: 0x6cbe9420, 0x3335f: 0x6cbe9620,\n\t0x33360: 0x6cbe9820, 0x33361: 0x6cbe9a20, 0x33362: 0x6cbe9c20, 0x33363: 0x6cbe9e20,\n\t0x33364: 0x6cbea020, 0x33365: 0x6cbea220, 0x33366: 0x6cbea420, 0x33367: 0x6cbea620,\n\t0x33368: 0x6cbea820, 0x33369: 0x6cbeaa20, 0x3336a: 0x6cbeac20, 0x3336b: 0x6cbeae20,\n\t0x3336c: 0x6cbeb020, 0x3336d: 0x6cbeb220, 0x3336e: 0x6cbeb420, 0x3336f: 0x6cbeb620,\n\t0x33370: 0x6cbeb820, 0x33371: 0x6cbeba20, 0x33372: 0x6cbebc20, 0x33373: 0x6cbebe20,\n\t0x33374: 0x6cbec020, 0x33375: 0x6cbec220, 0x33376: 0x6cbec420, 0x33377: 0x6cbec620,\n\t0x33378: 0x6cbec820, 0x33379: 0x6cbeca20, 0x3337a: 0x6cbecc20, 0x3337b: 0x6cbece20,\n\t0x3337c: 0x6cbed020, 0x3337d: 0x6cbed220, 0x3337e: 0x6cbed420, 0x3337f: 0x6cbed620,\n\t// Block 0xcce, offset 0x33380\n\t0x33380: 0x6cbed820, 0x33381: 0x6cbeda20, 0x33382: 0x6cbedc20, 0x33383: 0x6cbede20,\n\t0x33384: 0x6cbee020, 0x33385: 0x6cbee220, 0x33386: 0x6cbee420, 0x33387: 0x6cbee620,\n\t0x33388: 0x6cbee820, 0x33389: 0x6cbeea20, 0x3338a: 0x6cbeec20, 0x3338b: 0x6cbeee20,\n\t0x3338c: 0x6cbef020, 0x3338d: 0x6cbef220, 0x3338e: 0x6cbef420, 0x3338f: 0x6cbef620,\n\t0x33390: 0x6cbef820, 0x33391: 0x6cbefa20, 0x33392: 0x6cbefc20, 0x33393: 0x6cbefe20,\n\t0x33394: 0x6cbf0020, 0x33395: 0x6cbf0220, 0x33396: 0x6cbf0420, 0x33397: 0x6cbf0620,\n\t0x33398: 0x6cbf0820, 0x33399: 0x6cbf0a20, 0x3339a: 0x6cbf0c20, 0x3339b: 0x6cbf0e20,\n\t0x3339c: 0x6cbf1020, 0x3339d: 0x6cbf1220, 0x3339e: 0x6cbf1420, 0x3339f: 0x6cbf1620,\n\t0x333a0: 0x6cbf1820, 0x333a1: 0x6cbf1a20, 0x333a2: 0x6cbf1c20, 0x333a3: 0x6cbf1e20,\n\t0x333a4: 0x6cbf2020, 0x333a5: 0x6cbf2220, 0x333a6: 0x6cbf2420, 0x333a7: 0x6cbf2620,\n\t0x333a8: 0x6cef1020, 0x333a9: 0x6cef1220, 0x333aa: 0x6cef1420, 0x333ab: 0x6cef1620,\n\t0x333ac: 0x6cef1820, 0x333ad: 0x6cef1a20, 0x333ae: 0x6cef1c20, 0x333af: 0x6cef1e20,\n\t0x333b0: 0x6cef2020, 0x333b1: 0x6cef2220, 0x333b2: 0x6cef2420, 0x333b3: 0x6cef2620,\n\t0x333b4: 0x6cef2820, 0x333b5: 0x6cef2a20, 0x333b6: 0x6cef2c20, 0x333b7: 0x6cef2e20,\n\t0x333b8: 0x6cef3020, 0x333b9: 0x6cef3220, 0x333ba: 0x6cef3420, 0x333bb: 0x6cef3620,\n\t0x333bc: 0x6cef3820, 0x333bd: 0x6cef3a20, 0x333be: 0x6cef3c20, 0x333bf: 0x6cef3e20,\n\t// Block 0xccf, offset 0x333c0\n\t0x333c0: 0x6cef4020, 0x333c1: 0x6cef4220, 0x333c2: 0x6cef4420, 0x333c3: 0x6cef4620,\n\t0x333c4: 0x6cef4820, 0x333c5: 0x6cef4a20, 0x333c6: 0x6cef4c20, 0x333c7: 0x6cef4e20,\n\t0x333c8: 0x6cef5020, 0x333c9: 0x6cef5220, 0x333ca: 0x6cef5420, 0x333cb: 0x6cef5620,\n\t0x333cc: 0x6cef5820, 0x333cd: 0x6cef5a20, 0x333ce: 0x6cef5c20, 0x333cf: 0x6cef5e20,\n\t0x333d0: 0x6cef6020, 0x333d1: 0x6cef6220, 0x333d2: 0x6cef6420, 0x333d3: 0x6cef6620,\n\t0x333d4: 0x6cef6820, 0x333d5: 0x6cef6a20, 0x333d6: 0x6d4c2220, 0x333d7: 0x6d1eaa20,\n\t0x333d8: 0x6d4c2420, 0x333d9: 0x6d1eac20, 0x333da: 0x6d1eae20, 0x333db: 0x6d1eb020,\n\t0x333dc: 0x6d1eb220, 0x333dd: 0x6d1eb420, 0x333de: 0x6d1eb620, 0x333df: 0x6d1eb820,\n\t0x333e0: 0x6d1eba20, 0x333e1: 0x6d1ebc20, 0x333e2: 0x6d1ebe20, 0x333e3: 0x6cbf2820,\n\t0x333e4: 0x6d1ec020, 0x333e5: 0x6d1ec220, 0x333e6: 0x6d1ec420, 0x333e7: 0x6d1ec620,\n\t0x333e8: 0x6d1ec820, 0x333e9: 0x6d1eca20, 0x333ea: 0x6d1ecc20, 0x333eb: 0x6d1ece20,\n\t0x333ec: 0x6d1ed020, 0x333ed: 0x6d1ed220, 0x333ee: 0x6d1ed420, 0x333ef: 0x6d1ed620,\n\t0x333f0: 0x6d1ed820, 0x333f1: 0x6d1eda20, 0x333f2: 0x6d4c2620, 0x333f3: 0x6d1edc20,\n\t0x333f4: 0x6d1ede20, 0x333f5: 0x6d1ee020, 0x333f6: 0x6d1ee220, 0x333f7: 0x6d1ee420,\n\t0x333f8: 0x6d1ee620, 0x333f9: 0x6d1ee820, 0x333fa: 0x6d1eea20, 0x333fb: 0x6d1eec20,\n\t0x333fc: 0x6d1eee20, 0x333fd: 0x6d1ef020, 0x333fe: 0x6d1ef220, 0x333ff: 0x6d1ef420,\n\t// Block 0xcd0, offset 0x33400\n\t0x33400: 0x6d1ef620, 0x33401: 0x6d1ef820, 0x33402: 0x6d1efa20, 0x33403: 0x6d1efc20,\n\t0x33404: 0x6d1efe20, 0x33405: 0x6d1f0020, 0x33406: 0x6d1f0220, 0x33407: 0x6d1f0420,\n\t0x33408: 0x6d1f0620, 0x33409: 0x6d1f0820, 0x3340a: 0x6d1f0a20, 0x3340b: 0x6d1f0c20,\n\t0x3340c: 0x6d1f0e20, 0x3340d: 0x6d1f1020, 0x3340e: 0x6d1f1220, 0x3340f: 0x6d4c2820,\n\t0x33410: 0x6d4c2a20, 0x33411: 0x6d4c2c20, 0x33412: 0x6d4c2e20, 0x33413: 0x6d4c3020,\n\t0x33414: 0x6d4c3220, 0x33415: 0x6d4c3420, 0x33416: 0x6d4c3620, 0x33417: 0x6d4c3820,\n\t0x33418: 0x6d4c3a20, 0x33419: 0x6d4c3c20, 0x3341a: 0x6d4c3e20, 0x3341b: 0x6d4c4020,\n\t0x3341c: 0x6d4c4220, 0x3341d: 0x6d4c4420, 0x3341e: 0x6d4c4620, 0x3341f: 0x6d4c4820,\n\t0x33420: 0x6d4c4a20, 0x33421: 0x6d4c4c20, 0x33422: 0x6d4c4e20, 0x33423: 0x6d4c5020,\n\t0x33424: 0x6d4c5220, 0x33425: 0x6d4c5420, 0x33426: 0x6d4c5620, 0x33427: 0x6d4c5820,\n\t0x33428: 0x6d4c5a20, 0x33429: 0x6d4c5c20, 0x3342a: 0x6d4c5e20, 0x3342b: 0x6d4c6020,\n\t0x3342c: 0x6d4c6220, 0x3342d: 0x6d4c6420, 0x3342e: 0x6d4c6620, 0x3342f: 0x6d4c6820,\n\t0x33430: 0x6d4c6a20, 0x33431: 0x6d4c6c20, 0x33432: 0x6d4c6e20, 0x33433: 0x6d4c7020,\n\t0x33434: 0x6d4c7220, 0x33435: 0x6d4c7420, 0x33436: 0x6d4c7620, 0x33437: 0x6d4c7820,\n\t0x33438: 0x6d4c7a20, 0x33439: 0x6d4c7c20, 0x3343a: 0x6d4c7e20, 0x3343b: 0x6d4c8020,\n\t0x3343c: 0x6d4c8220, 0x3343d: 0x6d4c8420, 0x3343e: 0x6d4c8620, 0x3343f: 0x6d4c8820,\n\t// Block 0xcd1, offset 0x33440\n\t0x33440: 0x6d4c8a20, 0x33441: 0x6d4c8c20, 0x33442: 0x6d4c8e20, 0x33443: 0x6d4c9020,\n\t0x33444: 0x6d4c9220, 0x33445: 0x6d4c9420, 0x33446: 0x6d4c9620, 0x33447: 0x6d4c9820,\n\t0x33448: 0x6d4c9a20, 0x33449: 0x6d4c9c20, 0x3344a: 0x6d4c9e20, 0x3344b: 0x6d4ca020,\n\t0x3344c: 0x6d4ca220, 0x3344d: 0x6d4ca420, 0x3344e: 0x6d796a20, 0x3344f: 0x6d601620,\n\t0x33450: 0x6d4ca620, 0x33451: 0x6d796c20, 0x33452: 0x6d796e20, 0x33453: 0x6d797020,\n\t0x33454: 0x6d797220, 0x33455: 0x6d797420, 0x33456: 0x6d797620, 0x33457: 0x6d797820,\n\t0x33458: 0x6d797a20, 0x33459: 0x6d797c20, 0x3345a: 0x6d797e20, 0x3345b: 0x6d798020,\n\t0x3345c: 0x6d798220, 0x3345d: 0x6d798420, 0x3345e: 0x6d798620, 0x3345f: 0x6d798820,\n\t0x33460: 0x6d798a20, 0x33461: 0x6d798c20, 0x33462: 0x6d798e20, 0x33463: 0x6d799020,\n\t0x33464: 0x6d799220, 0x33465: 0x6d799420, 0x33466: 0x6d799620, 0x33467: 0x6d799820,\n\t0x33468: 0x6d799a20, 0x33469: 0x6d799c20, 0x3346a: 0x6d799e20, 0x3346b: 0x6d79a020,\n\t0x3346c: 0x6d79a220, 0x3346d: 0x6d79a420, 0x3346e: 0x6d79a620, 0x3346f: 0x6d79a820,\n\t0x33470: 0x6d79aa20, 0x33471: 0x6d79ac20, 0x33472: 0x6d79ae20, 0x33473: 0x6d79b020,\n\t0x33474: 0x6d79b220, 0x33475: 0x6d79b420, 0x33476: 0x6d79b620, 0x33477: 0x6d79b820,\n\t0x33478: 0x6d79ba20, 0x33479: 0x6d79bc20, 0x3347a: 0x6d79be20, 0x3347b: 0x6d79c020,\n\t0x3347c: 0x6d79c220, 0x3347d: 0x6d79c420, 0x3347e: 0x6d79c620, 0x3347f: 0x6d79c820,\n\t// Block 0xcd2, offset 0x33480\n\t0x33480: 0x6d79ca20, 0x33481: 0x6d79cc20, 0x33482: 0x6d79ce20, 0x33483: 0x6d79d020,\n\t0x33484: 0x6d79d220, 0x33485: 0x6da24c20, 0x33486: 0x6da24e20, 0x33487: 0x6da25020,\n\t0x33488: 0x6da25220, 0x33489: 0x6da25420, 0x3348a: 0x6da25620, 0x3348b: 0x6da25820,\n\t0x3348c: 0x6da25a20, 0x3348d: 0x6da25c20, 0x3348e: 0x6da25e20, 0x3348f: 0x6da26020,\n\t0x33490: 0x6da26220, 0x33491: 0x6da26420, 0x33492: 0x6da26620, 0x33493: 0x6da26820,\n\t0x33494: 0x6da26a20, 0x33495: 0x6da26c20, 0x33496: 0x6da26e20, 0x33497: 0x6da27020,\n\t0x33498: 0x6da27220, 0x33499: 0x6da27420, 0x3349a: 0x6da27620, 0x3349b: 0x6da27820,\n\t0x3349c: 0x6da27a20, 0x3349d: 0x6da27c20, 0x3349e: 0x6da27e20, 0x3349f: 0x6da28020,\n\t0x334a0: 0x6da28220, 0x334a1: 0x6da28420, 0x334a2: 0x6db99820, 0x334a3: 0x6da28620,\n\t0x334a4: 0x6da28820, 0x334a5: 0x6da28a20, 0x334a6: 0x6da28c20, 0x334a7: 0x6da28e20,\n\t0x334a8: 0x6da29020, 0x334a9: 0x6da29220, 0x334aa: 0x6dc46020, 0x334ab: 0x6dc46220,\n\t0x334ac: 0x6dc46420, 0x334ad: 0x6dc46620, 0x334ae: 0x6dc46820, 0x334af: 0x6dc46a20,\n\t0x334b0: 0x6dc46c20, 0x334b1: 0x6dc46e20, 0x334b2: 0x6dc47020, 0x334b3: 0x6dc47220,\n\t0x334b4: 0x6dc47420, 0x334b5: 0x6dc47620, 0x334b6: 0x6dc47820, 0x334b7: 0x6dc47a20,\n\t0x334b8: 0x6dc47c20, 0x334b9: 0x6dc47e20, 0x334ba: 0x6dc48020, 0x334bb: 0x6dc48220,\n\t0x334bc: 0x6dc48420, 0x334bd: 0x6de16820, 0x334be: 0x6de16a20, 0x334bf: 0x6de16c20,\n\t// Block 0xcd3, offset 0x334c0\n\t0x334c0: 0x6de16e20, 0x334c1: 0x6de17020, 0x334c2: 0x6de17220, 0x334c3: 0x6de17420,\n\t0x334c4: 0x6de17620, 0x334c5: 0x6de17820, 0x334c6: 0x6de17a20, 0x334c7: 0x6de17c20,\n\t0x334c8: 0x6de17e20, 0x334c9: 0x6de18020, 0x334ca: 0x6de18220, 0x334cb: 0x6de18420,\n\t0x334cc: 0x6de18620, 0x334cd: 0x6de18820, 0x334ce: 0x6df97020, 0x334cf: 0x6df97220,\n\t0x334d0: 0x6df97420, 0x334d1: 0x6df97620, 0x334d2: 0x6df97820, 0x334d3: 0x6df97a20,\n\t0x334d4: 0x6df97c20, 0x334d5: 0x6df97e20, 0x334d6: 0x6df98020, 0x334d7: 0x6df98220,\n\t0x334d8: 0x6e0d3020, 0x334d9: 0x6e0d3220, 0x334da: 0x6e0d3420, 0x334db: 0x6e0d3620,\n\t0x334dc: 0x6e0d3820, 0x334dd: 0x6e0d3a20, 0x334de: 0x6de18a20, 0x334df: 0x6e0d3c20,\n\t0x334e0: 0x6e0d3e20, 0x334e1: 0x6e1ca020, 0x334e2: 0x6e1ca220, 0x334e3: 0x6e1ca420,\n\t0x334e4: 0x6e1ca620, 0x334e5: 0x6e1ca820, 0x334e6: 0x6e1caa20, 0x334e7: 0x6e1cac20,\n\t0x334e8: 0x6e1cae20, 0x334e9: 0x6e1cb020, 0x334ea: 0x6e1cb220, 0x334eb: 0x6e28a820,\n\t0x334ec: 0x6e28aa20, 0x334ed: 0x6e28ac20, 0x334ee: 0x6e31dc20, 0x334ef: 0x6e31de20,\n\t0x334f0: 0x6e31e020, 0x334f1: 0x6e31e220, 0x334f2: 0x6e31e420, 0x334f3: 0x6e31e620,\n\t0x334f4: 0x6e386220, 0x334f5: 0x6e386420, 0x334f6: 0x6e386620, 0x334f7: 0x6e401420,\n\t0x334f8: 0x6e401620, 0x334f9: 0x6e401820, 0x334fa: 0x6e401a20, 0x334fb: 0x6e467e20,\n\t0x334fc: 0x6c019e20, 0x334fd: 0x6c03f420, 0x334fe: 0x6c081420, 0x334ff: 0x6c081620,\n\t// Block 0xcd4, offset 0x33500\n\t0x33500: 0x6c081820, 0x33501: 0x6c081a20, 0x33502: 0x6c081c20, 0x33503: 0x6c0fb220,\n\t0x33504: 0x6c0fb420, 0x33505: 0x6c0fb620, 0x33506: 0x6c1c7020, 0x33507: 0x6c1c7220,\n\t0x33508: 0x6c1c7420, 0x33509: 0x6c1c7620, 0x3350a: 0x6c1c7820, 0x3350b: 0x6c18cc20,\n\t0x3350c: 0x6c1c7a20, 0x3350d: 0x6c1c7c20, 0x3350e: 0x6c2fde20, 0x3350f: 0x6c2fe020,\n\t0x33510: 0x6c2fe220, 0x33511: 0x6c2fe420, 0x33512: 0x6c2fe620, 0x33513: 0x6c2fe820,\n\t0x33514: 0x6c2fea20, 0x33515: 0x6c2fec20, 0x33516: 0x6c2fee20, 0x33517: 0x6c2ff020,\n\t0x33518: 0x6c2ff220, 0x33519: 0x6c2ff420, 0x3351a: 0x6c2ff620, 0x3351b: 0x6c4a2420,\n\t0x3351c: 0x6c4a2620, 0x3351d: 0x6c4a2820, 0x3351e: 0x6c4a2a20, 0x3351f: 0x6c4a2c20,\n\t0x33520: 0x6c4a2e20, 0x33521: 0x6c4a3020, 0x33522: 0x6c4a3220, 0x33523: 0x6c4a3420,\n\t0x33524: 0x6c4a3620, 0x33525: 0x6c4a3820, 0x33526: 0x6c4a3a20, 0x33527: 0x6c4a3c20,\n\t0x33528: 0x6c6be620, 0x33529: 0x6c6be820, 0x3352a: 0x6c6bea20, 0x3352b: 0x6c6bec20,\n\t0x3352c: 0x6c6bee20, 0x3352d: 0x6c6bf020, 0x3352e: 0x6c930c20, 0x3352f: 0x6c930e20,\n\t0x33530: 0x6c931020, 0x33531: 0x6c931220, 0x33532: 0x6c931420, 0x33533: 0x6c931620,\n\t0x33534: 0x6c931820, 0x33535: 0x6c931a20, 0x33536: 0x6cbf4620, 0x33537: 0x6cbf4820,\n\t0x33538: 0x6cbf4a20, 0x33539: 0x6cbf4c20, 0x3353a: 0x6cbf4e20, 0x3353b: 0x6cbf5020,\n\t0x3353c: 0x6cbf5220, 0x3353d: 0x6cbf5420, 0x3353e: 0x6cbf5620, 0x3353f: 0x6cbf5820,\n\t// Block 0xcd5, offset 0x33540\n\t0x33540: 0x6cbf5a20, 0x33541: 0x6cbf5c20, 0x33542: 0x6cbf5e20, 0x33543: 0x6cef7c20,\n\t0x33544: 0x6cef7e20, 0x33545: 0x6cef8020, 0x33546: 0x6cef8220, 0x33547: 0x6cef8420,\n\t0x33548: 0x6cef8620, 0x33549: 0x6cef8820, 0x3354a: 0x6cef8a20, 0x3354b: 0x6cef8c20,\n\t0x3354c: 0x6cef8e20, 0x3354d: 0x6cef9020, 0x3354e: 0x6cef9220, 0x3354f: 0x6cef9420,\n\t0x33550: 0x6cef9620, 0x33551: 0x6d1f2e20, 0x33552: 0x6d1f3020, 0x33553: 0x6d1f3220,\n\t0x33554: 0x6d1f3420, 0x33555: 0x6d1f3620, 0x33556: 0x6d1f3820, 0x33557: 0x6d4cb820,\n\t0x33558: 0x6d4cba20, 0x33559: 0x6d4cbc20, 0x3355a: 0x6d4cbe20, 0x3355b: 0x6d4cc020,\n\t0x3355c: 0x6d4cc220, 0x3355d: 0x6d4cc420, 0x3355e: 0x6d79e620, 0x3355f: 0x6d79e820,\n\t0x33560: 0x6d79ea20, 0x33561: 0x6d79ec20, 0x33562: 0x6d79ee20, 0x33563: 0x6d79f020,\n\t0x33564: 0x6d79f220, 0x33565: 0x6d79f420, 0x33566: 0x6d79f620, 0x33567: 0x6d79f820,\n\t0x33568: 0x6d79fa20, 0x33569: 0x6da29a20, 0x3356a: 0x6dc48e20, 0x3356b: 0x6dc49020,\n\t0x3356c: 0x6dc49220, 0x3356d: 0x6de19220, 0x3356e: 0x6de19420, 0x3356f: 0x6de19620,\n\t0x33570: 0x6de19820, 0x33571: 0x6df98a20, 0x33572: 0x6df98c20, 0x33573: 0x6df98e20,\n\t0x33574: 0x6df99020, 0x33575: 0x6df99220, 0x33576: 0x6df99420, 0x33577: 0x6e1cb620,\n\t0x33578: 0x6e401c20, 0x33579: 0x6c03f820, 0x3357a: 0x6c082a20, 0x3357b: 0x6c082c20,\n\t0x3357c: 0x6c082e20, 0x3357d: 0x6c0fc620, 0x3357e: 0x6c0fc820, 0x3357f: 0x6c0fca20,\n\t// Block 0xcd6, offset 0x33580\n\t0x33580: 0x6c0fcc20, 0x33581: 0x6c0fce20, 0x33582: 0x6c0fd020, 0x33583: 0x6c0fd220,\n\t0x33584: 0x6c0fd420, 0x33585: 0x6c0fd620, 0x33586: 0x6c0fd820, 0x33587: 0x6c0fda20,\n\t0x33588: 0x6c0fdc20, 0x33589: 0x6c0fde20, 0x3358a: 0x6c0fe020, 0x3358b: 0x6c1ca020,\n\t0x3358c: 0x6c1ca220, 0x3358d: 0x6c1ca420, 0x3358e: 0x6c1ca620, 0x3358f: 0x6c1ca820,\n\t0x33590: 0x6c1caa20, 0x33591: 0x6c1cac20, 0x33592: 0x6c1cae20, 0x33593: 0x6c1cb020,\n\t0x33594: 0x6c1cb220, 0x33595: 0x6c1cb420, 0x33596: 0x6c301a20, 0x33597: 0x6c301c20,\n\t0x33598: 0x6c301e20, 0x33599: 0x6c302020, 0x3359a: 0x6c302220, 0x3359b: 0x6c302420,\n\t0x3359c: 0x6c302620, 0x3359d: 0x6c302820, 0x3359e: 0x6c302a20, 0x3359f: 0x6c302c20,\n\t0x335a0: 0x6c302e20, 0x335a1: 0x6c303020, 0x335a2: 0x6c303220, 0x335a3: 0x6c303420,\n\t0x335a4: 0x6c303620, 0x335a5: 0x6c303820, 0x335a6: 0x6c303a20, 0x335a7: 0x6c303c20,\n\t0x335a8: 0x6c303e20, 0x335a9: 0x6c4a5a20, 0x335aa: 0x6c4a5c20, 0x335ab: 0x6c4a5e20,\n\t0x335ac: 0x6c4a6020, 0x335ad: 0x6c4a6220, 0x335ae: 0x6c4a6420, 0x335af: 0x6c4a6620,\n\t0x335b0: 0x6c4a6820, 0x335b1: 0x6c4a6a20, 0x335b2: 0x6c4a6c20, 0x335b3: 0x6c4a6e20,\n\t0x335b4: 0x6c4a7020, 0x335b5: 0x6c4a7220, 0x335b6: 0x6c4a7420, 0x335b7: 0x6c4a7620,\n\t0x335b8: 0x6c4a7820, 0x335b9: 0x6c4a7a20, 0x335ba: 0x6c4a7c20, 0x335bb: 0x6c4a7e20,\n\t0x335bc: 0x6c4a8020, 0x335bd: 0x6c4a8220, 0x335be: 0x6c4a8420, 0x335bf: 0x6c4a8620,\n\t// Block 0xcd7, offset 0x335c0\n\t0x335c0: 0x6c6c2620, 0x335c1: 0x6c6c2820, 0x335c2: 0x6c6c2a20, 0x335c3: 0x6c6c2c20,\n\t0x335c4: 0x6c6c2e20, 0x335c5: 0x6c6c3020, 0x335c6: 0x6c6c3220, 0x335c7: 0x6c6c3420,\n\t0x335c8: 0x6c6c3620, 0x335c9: 0x6c6c3820, 0x335ca: 0x6c6c3a20, 0x335cb: 0x6c6c3c20,\n\t0x335cc: 0x6c6c3e20, 0x335cd: 0x6c6c4020, 0x335ce: 0x6c6c4220, 0x335cf: 0x6c6c4420,\n\t0x335d0: 0x6c6c4620, 0x335d1: 0x6c6c4820, 0x335d2: 0x6c6c4a20, 0x335d3: 0x6c6c4c20,\n\t0x335d4: 0x6c6c4e20, 0x335d5: 0x6c6c5020, 0x335d6: 0x6c6c5220, 0x335d7: 0x6c6c5420,\n\t0x335d8: 0x6c6c5620, 0x335d9: 0x6c6c5820, 0x335da: 0x6c6c5a20, 0x335db: 0x6c6c5c20,\n\t0x335dc: 0x6c6c5e20, 0x335dd: 0x6c6c6020, 0x335de: 0x6c6c6220, 0x335df: 0x6c6c6420,\n\t0x335e0: 0x6c6c6620, 0x335e1: 0x6c6c6820, 0x335e2: 0x6c934620, 0x335e3: 0x6c934820,\n\t0x335e4: 0x6c934a20, 0x335e5: 0x6c934c20, 0x335e6: 0x6c934e20, 0x335e7: 0x6c935020,\n\t0x335e8: 0x6c935220, 0x335e9: 0x6c935420, 0x335ea: 0x6c935620, 0x335eb: 0x6c935820,\n\t0x335ec: 0x6c935a20, 0x335ed: 0x6c935c20, 0x335ee: 0x6c935e20, 0x335ef: 0x6c936020,\n\t0x335f0: 0x6c936220, 0x335f1: 0x6c936420, 0x335f2: 0x6c936620, 0x335f3: 0x6c936820,\n\t0x335f4: 0x6c936a20, 0x335f5: 0x6c936c20, 0x335f6: 0x6c936e20, 0x335f7: 0x6c937020,\n\t0x335f8: 0x6c937220, 0x335f9: 0x6c937420, 0x335fa: 0x6c937620, 0x335fb: 0x6c937820,\n\t0x335fc: 0x6c937a20, 0x335fd: 0x6cbf8220, 0x335fe: 0x6cbf8420, 0x335ff: 0x6cbf8620,\n\t// Block 0xcd8, offset 0x33600\n\t0x33600: 0x6cbf8820, 0x33601: 0x6cbf8a20, 0x33602: 0x6cbf8c20, 0x33603: 0x6cbf8e20,\n\t0x33604: 0x6cbf9020, 0x33605: 0x6cbf9220, 0x33606: 0x6cbf9420, 0x33607: 0x6cbf9620,\n\t0x33608: 0x6cbf9820, 0x33609: 0x6cbf9a20, 0x3360a: 0x6cbf9c20, 0x3360b: 0x6cbf9e20,\n\t0x3360c: 0x6cbfa020, 0x3360d: 0x6cbfa220, 0x3360e: 0x6cbfa420, 0x3360f: 0x6cbfa620,\n\t0x33610: 0x6cbfa820, 0x33611: 0x6cbfaa20, 0x33612: 0x6cbfac20, 0x33613: 0x6cbfae20,\n\t0x33614: 0x6cbfb020, 0x33615: 0x6cbfb220, 0x33616: 0x6cbfb420, 0x33617: 0x6cbfb620,\n\t0x33618: 0x6cbfb820, 0x33619: 0x6cbfba20, 0x3361a: 0x6cbfbc20, 0x3361b: 0x6cbfbe20,\n\t0x3361c: 0x6cbfc020, 0x3361d: 0x6cbfc220, 0x3361e: 0x6cbfc420, 0x3361f: 0x6cefb420,\n\t0x33620: 0x6cefb620, 0x33621: 0x6cefb820, 0x33622: 0x6cefba20, 0x33623: 0x6cefbc20,\n\t0x33624: 0x6cefbe20, 0x33625: 0x6cefc020, 0x33626: 0x6cefc220, 0x33627: 0x6cefc420,\n\t0x33628: 0x6cefc620, 0x33629: 0x6cefc820, 0x3362a: 0x6cefca20, 0x3362b: 0x6cefcc20,\n\t0x3362c: 0x6cefce20, 0x3362d: 0x6cefd020, 0x3362e: 0x6cefd220, 0x3362f: 0x6cefd420,\n\t0x33630: 0x6cefd620, 0x33631: 0x6cefd820, 0x33632: 0x6cefda20, 0x33633: 0x6cefdc20,\n\t0x33634: 0x6cefde20, 0x33635: 0x6cefe020, 0x33636: 0x6cefe220, 0x33637: 0x6cefe420,\n\t0x33638: 0x6cefe620, 0x33639: 0x6cefe820, 0x3363a: 0x6cefea20, 0x3363b: 0x6d1f5a20,\n\t0x3363c: 0x6d1f5c20, 0x3363d: 0x6d1f5e20, 0x3363e: 0x6d1f6020, 0x3363f: 0x6d1f6220,\n\t// Block 0xcd9, offset 0x33640\n\t0x33640: 0x6d1f6420, 0x33641: 0x6d1f6620, 0x33642: 0x6d1f6820, 0x33643: 0x6d1f6a20,\n\t0x33644: 0x6d1f6c20, 0x33645: 0x6d1f6e20, 0x33646: 0x6d1f7020, 0x33647: 0x6d1f7220,\n\t0x33648: 0x6d1f7420, 0x33649: 0x6d1f7620, 0x3364a: 0x6d1f7820, 0x3364b: 0x6d1f7a20,\n\t0x3364c: 0x6d1f7c20, 0x3364d: 0x6d1f7e20, 0x3364e: 0x6d1f8020, 0x3364f: 0x6d1f8220,\n\t0x33650: 0x6d1f8420, 0x33651: 0x6d1f8620, 0x33652: 0x6d1f8820, 0x33653: 0x6d1f8a20,\n\t0x33654: 0x6d1f8c20, 0x33655: 0x6d1f8e20, 0x33656: 0x6d1f9020, 0x33657: 0x6d1f9220,\n\t0x33658: 0x6d1f9420, 0x33659: 0x6d1f9620, 0x3365a: 0x6d1f9820, 0x3365b: 0x6d1f9a20,\n\t0x3365c: 0x6d1f9c20, 0x3365d: 0x6d1f9e20, 0x3365e: 0x6d1b3020, 0x3365f: 0x6d4cd820,\n\t0x33660: 0x6d4cda20, 0x33661: 0x6d4cdc20, 0x33662: 0x6d4cde20, 0x33663: 0x6d4ce020,\n\t0x33664: 0x6d4ce220, 0x33665: 0x6d4ce420, 0x33666: 0x6d4ce620, 0x33667: 0x6d4ce820,\n\t0x33668: 0x6d4cea20, 0x33669: 0x6d4cec20, 0x3366a: 0x6d4cee20, 0x3366b: 0x6d4cf020,\n\t0x3366c: 0x6d4cf220, 0x3366d: 0x6d4cf420, 0x3366e: 0x6d4cf620, 0x3366f: 0x6d4cf820,\n\t0x33670: 0x6d4cfa20, 0x33671: 0x6d4cfc20, 0x33672: 0x6d4cfe20, 0x33673: 0x6d4d0020,\n\t0x33674: 0x6d4d0220, 0x33675: 0x6d4d0420, 0x33676: 0x6d4d0620, 0x33677: 0x6d4d0820,\n\t0x33678: 0x6d4d0a20, 0x33679: 0x6d4d0c20, 0x3367a: 0x6d4d0e20, 0x3367b: 0x6d4d1020,\n\t0x3367c: 0x6d4d1220, 0x3367d: 0x6d4d1420, 0x3367e: 0x6d7a0220, 0x3367f: 0x6d7a0420,\n\t// Block 0xcda, offset 0x33680\n\t0x33680: 0x6d7a0620, 0x33681: 0x6d7a0820, 0x33682: 0x6d7a0a20, 0x33683: 0x6d7a0c20,\n\t0x33684: 0x6d7a0e20, 0x33685: 0x6d7a1020, 0x33686: 0x6d7a1220, 0x33687: 0x6d7a1420,\n\t0x33688: 0x6d7a1620, 0x33689: 0x6d7a1820, 0x3368a: 0x6d7a1a20, 0x3368b: 0x6d7a1c20,\n\t0x3368c: 0x6d7a1e20, 0x3368d: 0x6d7a2020, 0x3368e: 0x6d7a2220, 0x3368f: 0x6d7a2420,\n\t0x33690: 0x6d7a2620, 0x33691: 0x6da2a420, 0x33692: 0x6da2a620, 0x33693: 0x6da2a820,\n\t0x33694: 0x6da2aa20, 0x33695: 0x6da2ac20, 0x33696: 0x6da2ae20, 0x33697: 0x6da2b020,\n\t0x33698: 0x6da2b220, 0x33699: 0x6da2b420, 0x3369a: 0x6da2b620, 0x3369b: 0x6da2b820,\n\t0x3369c: 0x6da2ba20, 0x3369d: 0x6da2bc20, 0x3369e: 0x6dc49620, 0x3369f: 0x6dc49820,\n\t0x336a0: 0x6dc49a20, 0x336a1: 0x6dc49c20, 0x336a2: 0x6dc49e20, 0x336a3: 0x6dc4a020,\n\t0x336a4: 0x6dc4a220, 0x336a5: 0x6dc4a420, 0x336a6: 0x6dc4a620, 0x336a7: 0x6dc4a820,\n\t0x336a8: 0x6dc4aa20, 0x336a9: 0x6dc4ac20, 0x336aa: 0x6dc4ae20, 0x336ab: 0x6dc4b020,\n\t0x336ac: 0x6de1a020, 0x336ad: 0x6de1a220, 0x336ae: 0x6de1a420, 0x336af: 0x6de1a620,\n\t0x336b0: 0x6de1a820, 0x336b1: 0x6de1aa20, 0x336b2: 0x6de1ac20, 0x336b3: 0x6de1ae20,\n\t0x336b4: 0x6de1b020, 0x336b5: 0x6de1b220, 0x336b6: 0x6de1b420, 0x336b7: 0x6df99820,\n\t0x336b8: 0x6df99a20, 0x336b9: 0x6df99c20, 0x336ba: 0x6df99e20, 0x336bb: 0x6df9a020,\n\t0x336bc: 0x6e0d4a20, 0x336bd: 0x6e0d4c20, 0x336be: 0x6e0d4e20, 0x336bf: 0x6e0d5020,\n\t// Block 0xcdb, offset 0x336c0\n\t0x336c0: 0x6e0d5220, 0x336c1: 0x6e0d5420, 0x336c2: 0x6e0d5620, 0x336c3: 0x6e0d5820,\n\t0x336c4: 0x6e1cb820, 0x336c5: 0x6e1cba20, 0x336c6: 0x6e1cbc20, 0x336c7: 0x6e1cbe20,\n\t0x336c8: 0x6e1cc020, 0x336c9: 0x6e1cc220, 0x336ca: 0x6e1cc420, 0x336cb: 0x6e1cc620,\n\t0x336cc: 0x6e28b020, 0x336cd: 0x6e31e820, 0x336ce: 0x6e401e20, 0x336cf: 0x6e31ea20,\n\t0x336d0: 0x6e31ec20, 0x336d1: 0x6e386a20, 0x336d2: 0x6e428e20, 0x336d3: 0x6e386c20,\n\t0x336d4: 0x6e386e20, 0x336d5: 0x6e387020, 0x336d6: 0x6e3d1c20, 0x336d7: 0x6e3d1e20,\n\t0x336d8: 0x6e3d2020, 0x336d9: 0x6e402020, 0x336da: 0x6e402220, 0x336db: 0x6e442820,\n\t0x336dc: 0x6e46e420, 0x336dd: 0x6c03fa20, 0x336de: 0x6c0fe820, 0x336df: 0x6c304820,\n\t0x336e0: 0x6c304a20, 0x336e1: 0x6c304c20, 0x336e2: 0x6c304e20, 0x336e3: 0x6c305020,\n\t0x336e4: 0x6c305220, 0x336e5: 0x6c305420, 0x336e6: 0x6c305620, 0x336e7: 0x6c4a9420,\n\t0x336e8: 0x6c4a9620, 0x336e9: 0x6c4a9820, 0x336ea: 0x6c4a9a20, 0x336eb: 0x6c4a9c20,\n\t0x336ec: 0x6c4a9e20, 0x336ed: 0x6c6c7a20, 0x336ee: 0x6c938820, 0x336ef: 0x6c938a20,\n\t0x336f0: 0x6c938c20, 0x336f1: 0x6c938e20, 0x336f2: 0x6c939020, 0x336f3: 0x6cbfdc20,\n\t0x336f4: 0x6cbfde20, 0x336f5: 0x6cbfe020, 0x336f6: 0x6cbfe220, 0x336f7: 0x6cbfe420,\n\t0x336f8: 0x6cbfe620, 0x336f9: 0x6ceff820, 0x336fa: 0x6ceffa20, 0x336fb: 0x6ceffc20,\n\t0x336fc: 0x6ceffe20, 0x336fd: 0x6d1fae20, 0x336fe: 0x6d1fb020, 0x336ff: 0x6d1fb220,\n\t// Block 0xcdc, offset 0x33700\n\t0x33700: 0x6d1fb420, 0x33701: 0x6d1fb620, 0x33702: 0x6d1fb820, 0x33703: 0x6d4d2420,\n\t0x33704: 0x6d4d2620, 0x33705: 0x6d4d2820, 0x33706: 0x6d4d2a20, 0x33707: 0x6d4d2c20,\n\t0x33708: 0x6d4d2e20, 0x33709: 0x6d4d3020, 0x3370a: 0x6d7a3020, 0x3370b: 0x6d7a3220,\n\t0x3370c: 0x6d7a3420, 0x3370d: 0x6da2c020, 0x3370e: 0x6da2c220, 0x3370f: 0x6da2c420,\n\t0x33710: 0x6dc4b820, 0x33711: 0x6de1b620, 0x33712: 0x6df9a620, 0x33713: 0x6e0d5c20,\n\t0x33714: 0x6c01aa20, 0x33715: 0x6c040020, 0x33716: 0x6c040220, 0x33717: 0x6c083e20,\n\t0x33718: 0x6c084020, 0x33719: 0x6c0ff220, 0x3371a: 0x6c0ff420, 0x3371b: 0x6c0ff620,\n\t0x3371c: 0x6c0ff820, 0x3371d: 0x6c1cc420, 0x3371e: 0x6c1cc620, 0x3371f: 0x6c1cc820,\n\t0x33720: 0x6c1cca20, 0x33721: 0x6c1ccc20, 0x33722: 0x6c1cce20, 0x33723: 0x6c1cd020,\n\t0x33724: 0x6c1cd220, 0x33725: 0x6c305e20, 0x33726: 0x6c306020, 0x33727: 0x6c306220,\n\t0x33728: 0x6c306420, 0x33729: 0x6c306620, 0x3372a: 0x6c4aa620, 0x3372b: 0x6c4aa820,\n\t0x3372c: 0x6c4aaa20, 0x3372d: 0x6c4aac20, 0x3372e: 0x6c4aae20, 0x3372f: 0x6c4ab020,\n\t0x33730: 0x6c4ab220, 0x33731: 0x6c4ab420, 0x33732: 0x6c4ab620, 0x33733: 0x6c4ab820,\n\t0x33734: 0x6c6c7e20, 0x33735: 0x6c6c8020, 0x33736: 0x6c6c8220, 0x33737: 0x6c6c8420,\n\t0x33738: 0x6c6c8620, 0x33739: 0x6c6c8820, 0x3373a: 0x6c6c8a20, 0x3373b: 0x6c6c8c20,\n\t0x3373c: 0x6c6c8e20, 0x3373d: 0x6c939620, 0x3373e: 0x6c939820, 0x3373f: 0x6c939a20,\n\t// Block 0xcdd, offset 0x33740\n\t0x33740: 0x6c939c20, 0x33741: 0x6c939e20, 0x33742: 0x6c93a020, 0x33743: 0x6c93a220,\n\t0x33744: 0x6c93a420, 0x33745: 0x6c93a620, 0x33746: 0x6c93a820, 0x33747: 0x6c93aa20,\n\t0x33748: 0x6c93ac20, 0x33749: 0x6c93ae20, 0x3374a: 0x6c93b020, 0x3374b: 0x6c93b220,\n\t0x3374c: 0x6c93b420, 0x3374d: 0x6c93b620, 0x3374e: 0x6cbfee20, 0x3374f: 0x6cbff020,\n\t0x33750: 0x6cbff220, 0x33751: 0x6cbff420, 0x33752: 0x6cbff620, 0x33753: 0x6cbff820,\n\t0x33754: 0x6cbffa20, 0x33755: 0x6cbffc20, 0x33756: 0x6cbffe20, 0x33757: 0x6cc00020,\n\t0x33758: 0x6cf00620, 0x33759: 0x6cf00820, 0x3375a: 0x6cf00a20, 0x3375b: 0x6cf00c20,\n\t0x3375c: 0x6cf00e20, 0x3375d: 0x6cf01020, 0x3375e: 0x6d1fbe20, 0x3375f: 0x6d1fc020,\n\t0x33760: 0x6d1fc220, 0x33761: 0x6d1fc420, 0x33762: 0x6d1fc620, 0x33763: 0x6d1fc820,\n\t0x33764: 0x6d1fca20, 0x33765: 0x6d1fcc20, 0x33766: 0x6d4d3a20, 0x33767: 0x6d4d3c20,\n\t0x33768: 0x6d4d3e20, 0x33769: 0x6d4d4020, 0x3376a: 0x6d4d4220, 0x3376b: 0x6d4d4420,\n\t0x3376c: 0x6d4d4620, 0x3376d: 0x6d4d4820, 0x3376e: 0x6d4d4a20, 0x3376f: 0x6d4d4c20,\n\t0x33770: 0x6d7a3820, 0x33771: 0x6d7a3a20, 0x33772: 0x6d7a3c20, 0x33773: 0x6d7a3e20,\n\t0x33774: 0x6da2c820, 0x33775: 0x6da2ca20, 0x33776: 0x6da2cc20, 0x33777: 0x6dc4ba20,\n\t0x33778: 0x6dc4bc20, 0x33779: 0x6dc4be20, 0x3377a: 0x6dc4c020, 0x3377b: 0x6dc4c220,\n\t0x3377c: 0x6de1b820, 0x3377d: 0x6de1ba20, 0x3377e: 0x6de1bc20, 0x3377f: 0x6e0d5e20,\n\t// Block 0xcde, offset 0x33780\n\t0x33780: 0x6e462420, 0x33781: 0x6c01ae20, 0x33782: 0x6c01b020, 0x33783: 0x6c040820,\n\t0x33784: 0x6c084220, 0x33785: 0x6c084420, 0x33786: 0x6c084620, 0x33787: 0x6c084820,\n\t0x33788: 0x6c084a20, 0x33789: 0x6c084c20, 0x3378a: 0x6c084e20, 0x3378b: 0x6c100220,\n\t0x3378c: 0x6c100420, 0x3378d: 0x6c100620, 0x3378e: 0x6c100820, 0x3378f: 0x6c1ce220,\n\t0x33790: 0x6c1ce420, 0x33791: 0x6c1ce620, 0x33792: 0x6c1ce820, 0x33793: 0x6c1cea20,\n\t0x33794: 0x6c1cec20, 0x33795: 0x6c1cee20, 0x33796: 0x6c1cf020, 0x33797: 0x6c1cf220,\n\t0x33798: 0x6c1cf420, 0x33799: 0x6c1cf620, 0x3379a: 0x6c307020, 0x3379b: 0x6c307220,\n\t0x3379c: 0x6c307420, 0x3379d: 0x6c307620, 0x3379e: 0x6c307820, 0x3379f: 0x6c307a20,\n\t0x337a0: 0x6c307c20, 0x337a1: 0x6c307e20, 0x337a2: 0x6c4ac220, 0x337a3: 0x6c4ac420,\n\t0x337a4: 0x6c4ac620, 0x337a5: 0x6c5fca20, 0x337a6: 0x6c4ac820, 0x337a7: 0x6c4aca20,\n\t0x337a8: 0x6c6c9620, 0x337a9: 0x6c6c9820, 0x337aa: 0x6c6c9a20, 0x337ab: 0x6c6c9c20,\n\t0x337ac: 0x6c6c9e20, 0x337ad: 0x6c6ca020, 0x337ae: 0x6c6ca220, 0x337af: 0x6c6ca420,\n\t0x337b0: 0x6c6ca620, 0x337b1: 0x6c6ca820, 0x337b2: 0x6c6caa20, 0x337b3: 0x6c93c020,\n\t0x337b4: 0x6c93c220, 0x337b5: 0x6c93c420, 0x337b6: 0x6c93c620, 0x337b7: 0x6c93c820,\n\t0x337b8: 0x6c93ca20, 0x337b9: 0x6cc00a20, 0x337ba: 0x6cc00c20, 0x337bb: 0x6cc00e20,\n\t0x337bc: 0x6cc01020, 0x337bd: 0x6cc01220, 0x337be: 0x6cc01420, 0x337bf: 0x6cc01620,\n\t// Block 0xcdf, offset 0x337c0\n\t0x337c0: 0x6cc01820, 0x337c1: 0x6cc01a20, 0x337c2: 0x6cc01c20, 0x337c3: 0x6cf01c20,\n\t0x337c4: 0x6cf01e20, 0x337c5: 0x6cf02020, 0x337c6: 0x6cf02220, 0x337c7: 0x6cf02420,\n\t0x337c8: 0x6cf02620, 0x337c9: 0x6cf02820, 0x337ca: 0x6cf02a20, 0x337cb: 0x6d1fd020,\n\t0x337cc: 0x6d1fd220, 0x337cd: 0x6d1fd420, 0x337ce: 0x6d1fd620, 0x337cf: 0x6d1fd820,\n\t0x337d0: 0x6d4d5220, 0x337d1: 0x6d4d5420, 0x337d2: 0x6d4d5620, 0x337d3: 0x6d4d5820,\n\t0x337d4: 0x6d4d5a20, 0x337d5: 0x6d4d5c20, 0x337d6: 0x6d7a4220, 0x337d7: 0x6d7a4420,\n\t0x337d8: 0x6d7a4620, 0x337d9: 0x6d7a4820, 0x337da: 0x6d7a4a20, 0x337db: 0x6da2d620,\n\t0x337dc: 0x6da2d820, 0x337dd: 0x6e0d6020, 0x337de: 0x6e0d6220, 0x337df: 0x6e1cc820,\n\t0x337e0: 0x6e1cca20, 0x337e1: 0x6e387220, 0x337e2: 0x6e387420, 0x337e3: 0x6c01b420,\n\t0x337e4: 0x6c085620, 0x337e5: 0x6c085820, 0x337e6: 0x6c085a20, 0x337e7: 0x6c085c20,\n\t0x337e8: 0x6c085e20, 0x337e9: 0x6c101020, 0x337ea: 0x6c101220, 0x337eb: 0x6c101420,\n\t0x337ec: 0x6c101620, 0x337ed: 0x6c101820, 0x337ee: 0x6c101a20, 0x337ef: 0x6c101c20,\n\t0x337f0: 0x6c101e20, 0x337f1: 0x6c102020, 0x337f2: 0x6c102220, 0x337f3: 0x6c102420,\n\t0x337f4: 0x6c086020, 0x337f5: 0x6c1d0620, 0x337f6: 0x6c1d0820, 0x337f7: 0x6c1d0a20,\n\t0x337f8: 0x6c1d0c20, 0x337f9: 0x6c1d0e20, 0x337fa: 0x6c1d1020, 0x337fb: 0x6c1d1220,\n\t0x337fc: 0x6c1d1420, 0x337fd: 0x6c1d1620, 0x337fe: 0x6c309420, 0x337ff: 0x6c309620,\n\t// Block 0xce0, offset 0x33800\n\t0x33800: 0x6c309820, 0x33801: 0x6c309a20, 0x33802: 0x6c309c20, 0x33803: 0x6c309e20,\n\t0x33804: 0x6c30a020, 0x33805: 0x6c30a220, 0x33806: 0x6c30a420, 0x33807: 0x6c30a620,\n\t0x33808: 0x6c30a820, 0x33809: 0x6c30aa20, 0x3380a: 0x6c30ac20, 0x3380b: 0x6c30ae20,\n\t0x3380c: 0x6c4ae020, 0x3380d: 0x6c4ae220, 0x3380e: 0x6c4ae420, 0x3380f: 0x6c4ae620,\n\t0x33810: 0x6c4ae820, 0x33811: 0x6c4aea20, 0x33812: 0x6c4aec20, 0x33813: 0x6c4aee20,\n\t0x33814: 0x6c4af020, 0x33815: 0x6c4af220, 0x33816: 0x6c4af420, 0x33817: 0x6c4af620,\n\t0x33818: 0x6c4af820, 0x33819: 0x6c4afa20, 0x3381a: 0x6c4afc20, 0x3381b: 0x6c4afe20,\n\t0x3381c: 0x6c4b0020, 0x3381d: 0x6c4b0220, 0x3381e: 0x6c4b0420, 0x3381f: 0x6c4b0620,\n\t0x33820: 0x6c4b0820, 0x33821: 0x6c4b0a20, 0x33822: 0x6c6cc020, 0x33823: 0x6c6cc220,\n\t0x33824: 0x6c6cc420, 0x33825: 0x6c6cc620, 0x33826: 0x6c6cc820, 0x33827: 0x6c6cca20,\n\t0x33828: 0x6c6ccc20, 0x33829: 0x6c6cce20, 0x3382a: 0x6c6cd020, 0x3382b: 0x6c6cd220,\n\t0x3382c: 0x6c6cd420, 0x3382d: 0x6c6cd620, 0x3382e: 0x6c6cd820, 0x3382f: 0x6c6cda20,\n\t0x33830: 0x6c6cdc20, 0x33831: 0x6c6cde20, 0x33832: 0x6c6ce020, 0x33833: 0x6c6ce220,\n\t0x33834: 0x6c6ce420, 0x33835: 0x6c6ce620, 0x33836: 0x6c6ce820, 0x33837: 0x6c6cea20,\n\t0x33838: 0x6c6cec20, 0x33839: 0x6c6cee20, 0x3383a: 0x6c93da20, 0x3383b: 0x6c93dc20,\n\t0x3383c: 0x6c93de20, 0x3383d: 0x6c93e020, 0x3383e: 0x6c93e220, 0x3383f: 0x6c93e420,\n\t// Block 0xce1, offset 0x33840\n\t0x33840: 0x6c93e620, 0x33841: 0x6c93e820, 0x33842: 0x6c93ea20, 0x33843: 0x6c93ec20,\n\t0x33844: 0x6c93ee20, 0x33845: 0x6c93f020, 0x33846: 0x6c93f220, 0x33847: 0x6c93f420,\n\t0x33848: 0x6c93f620, 0x33849: 0x6c93f820, 0x3384a: 0x6c93fa20, 0x3384b: 0x6c93fc20,\n\t0x3384c: 0x6c93fe20, 0x3384d: 0x6c940020, 0x3384e: 0x6c940220, 0x3384f: 0x6c940420,\n\t0x33850: 0x6c940620, 0x33851: 0x6c940820, 0x33852: 0x6c940a20, 0x33853: 0x6c940c20,\n\t0x33854: 0x6cc02a20, 0x33855: 0x6cc02c20, 0x33856: 0x6cc02e20, 0x33857: 0x6cc03020,\n\t0x33858: 0x6cc03220, 0x33859: 0x6cc03420, 0x3385a: 0x6cc03620, 0x3385b: 0x6cc03820,\n\t0x3385c: 0x6cc03a20, 0x3385d: 0x6cc03c20, 0x3385e: 0x6cc03e20, 0x3385f: 0x6cc04020,\n\t0x33860: 0x6cc04220, 0x33861: 0x6cc04420, 0x33862: 0x6cc04620, 0x33863: 0x6cc04820,\n\t0x33864: 0x6cc04a20, 0x33865: 0x6cc04c20, 0x33866: 0x6cc04e20, 0x33867: 0x6cc05020,\n\t0x33868: 0x6cc05220, 0x33869: 0x6cc05420, 0x3386a: 0x6cc05620, 0x3386b: 0x6cc05820,\n\t0x3386c: 0x6cf02e20, 0x3386d: 0x6cf03020, 0x3386e: 0x6cf03220, 0x3386f: 0x6cf03420,\n\t0x33870: 0x6cf03620, 0x33871: 0x6cf03820, 0x33872: 0x6cf03a20, 0x33873: 0x6cf03c20,\n\t0x33874: 0x6cf03e20, 0x33875: 0x6cf04020, 0x33876: 0x6cf04220, 0x33877: 0x6cf04420,\n\t0x33878: 0x6cf04620, 0x33879: 0x6cf04820, 0x3387a: 0x6cf04a20, 0x3387b: 0x6cf04c20,\n\t0x3387c: 0x6cf04e20, 0x3387d: 0x6cf05020, 0x3387e: 0x6cf05220, 0x3387f: 0x6cf05420,\n\t// Block 0xce2, offset 0x33880\n\t0x33880: 0x6cf05620, 0x33881: 0x6cf05820, 0x33882: 0x6cf05a20, 0x33883: 0x6cf05c20,\n\t0x33884: 0x6d1fe420, 0x33885: 0x6d1fe620, 0x33886: 0x6d1fe820, 0x33887: 0x6d1fea20,\n\t0x33888: 0x6d1fec20, 0x33889: 0x6d1fee20, 0x3388a: 0x6d1ff020, 0x3388b: 0x6d1ff220,\n\t0x3388c: 0x6d1ff420, 0x3388d: 0x6d1ff620, 0x3388e: 0x6d1ff820, 0x3388f: 0x6d1ffa20,\n\t0x33890: 0x6d4d6a20, 0x33891: 0x6d4d6c20, 0x33892: 0x6d4d6e20, 0x33893: 0x6d4d7020,\n\t0x33894: 0x6d4d7220, 0x33895: 0x6d4d7420, 0x33896: 0x6d4d7620, 0x33897: 0x6d4d7820,\n\t0x33898: 0x6d4d7a20, 0x33899: 0x6d4d7c20, 0x3389a: 0x6d4d7e20, 0x3389b: 0x6d4d8020,\n\t0x3389c: 0x6d4d8220, 0x3389d: 0x6d4d8420, 0x3389e: 0x6d4d8620, 0x3389f: 0x6d7a4c20,\n\t0x338a0: 0x6d7a4e20, 0x338a1: 0x6d7a5020, 0x338a2: 0x6d7a5220, 0x338a3: 0x6d7a5420,\n\t0x338a4: 0x6d7a5620, 0x338a5: 0x6d7a5820, 0x338a6: 0x6d7a5a20, 0x338a7: 0x6d7a5c20,\n\t0x338a8: 0x6da2dc20, 0x338a9: 0x6da2de20, 0x338aa: 0x6dc4ca20, 0x338ab: 0x6dc4cc20,\n\t0x338ac: 0x6de1c220, 0x338ad: 0x6de1c420, 0x338ae: 0x6de1c620, 0x338af: 0x6de1c820,\n\t0x338b0: 0x6de1ca20, 0x338b1: 0x6df9a820, 0x338b2: 0x6df9aa20, 0x338b3: 0x6df9ac20,\n\t0x338b4: 0x6df9ae20, 0x338b5: 0x6e0d6620, 0x338b6: 0x6e0d6820, 0x338b7: 0x6e0d6a20,\n\t0x338b8: 0x6e1ccc20, 0x338b9: 0x6e1cce20, 0x338ba: 0x6e1cd020, 0x338bb: 0x6e31f220,\n\t0x338bc: 0x6e387620, 0x338bd: 0x6e387820, 0x338be: 0x6c01b820, 0x338bf: 0x6c086220,\n\t// Block 0xce3, offset 0x338c0\n\t0x338c0: 0x6c102a20, 0x338c1: 0x6c102c20, 0x338c2: 0x6c102e20, 0x338c3: 0x6c103020,\n\t0x338c4: 0x6c103220, 0x338c5: 0x6c103420, 0x338c6: 0x6c1d2220, 0x338c7: 0x6c1d2420,\n\t0x338c8: 0x6c1d2620, 0x338c9: 0x6c1d2820, 0x338ca: 0x6c1d2a20, 0x338cb: 0x6c30b220,\n\t0x338cc: 0x6c30b420, 0x338cd: 0x6c30b620, 0x338ce: 0x6c4b1220, 0x338cf: 0x6c4b1420,\n\t0x338d0: 0x6c4b1620, 0x338d1: 0x6c4b1820, 0x338d2: 0x6c4b1a20, 0x338d3: 0x6c4b1c20,\n\t0x338d4: 0x6c4b1e20, 0x338d5: 0x6c6cf420, 0x338d6: 0x6c6cf620, 0x338d7: 0x6c6cf820,\n\t0x338d8: 0x6c6cfa20, 0x338d9: 0x6c6cfc20, 0x338da: 0x6c6cfe20, 0x338db: 0x6c941220,\n\t0x338dc: 0x6c941420, 0x338dd: 0x6cc06220, 0x338de: 0x6cc06420, 0x338df: 0x6cc06620,\n\t0x338e0: 0x6cc06820, 0x338e1: 0x6cc06a20, 0x338e2: 0x6cc06c20, 0x338e3: 0x6cc06e20,\n\t0x338e4: 0x6cf06420, 0x338e5: 0x6cf06620, 0x338e6: 0x6d4d8c20, 0x338e7: 0x6d4d8e20,\n\t0x338e8: 0x6d4d9020, 0x338e9: 0x6d4d9220, 0x338ea: 0x6dc4ce20, 0x338eb: 0x6e0d6c20,\n\t0x338ec: 0x6e1cd420, 0x338ed: 0x6c041420, 0x338ee: 0x6c041620, 0x338ef: 0x6c041820,\n\t0x338f0: 0x6c087620, 0x338f1: 0x6c087820, 0x338f2: 0x6c087a20, 0x338f3: 0x6c087c20,\n\t0x338f4: 0x6c087e20, 0x338f5: 0x6c088020, 0x338f6: 0x6c088220, 0x338f7: 0x6c088420,\n\t0x338f8: 0x6c088620, 0x338f9: 0x6c088820, 0x338fa: 0x6c088a20, 0x338fb: 0x6c088c20,\n\t0x338fc: 0x6c088e20, 0x338fd: 0x6c089020, 0x338fe: 0x6c105e20, 0x338ff: 0x6c106020,\n\t// Block 0xce4, offset 0x33900\n\t0x33900: 0x6c106220, 0x33901: 0x6c106420, 0x33902: 0x6c106620, 0x33903: 0x6c106820,\n\t0x33904: 0x6c106a20, 0x33905: 0x6c106c20, 0x33906: 0x6c106e20, 0x33907: 0x6c107020,\n\t0x33908: 0x6c107220, 0x33909: 0x6c107420, 0x3390a: 0x6c107620, 0x3390b: 0x6c107820,\n\t0x3390c: 0x6c107a20, 0x3390d: 0x6c107c20, 0x3390e: 0x6c107e20, 0x3390f: 0x6c108020,\n\t0x33910: 0x6c108220, 0x33911: 0x6c108420, 0x33912: 0x6c108620, 0x33913: 0x6c1d6c20,\n\t0x33914: 0x6c1d6e20, 0x33915: 0x6c1d7020, 0x33916: 0x6c1d7220, 0x33917: 0x6c1d7420,\n\t0x33918: 0x6c1d7620, 0x33919: 0x6c1d7820, 0x3391a: 0x6c1d7a20, 0x3391b: 0x6c1d7c20,\n\t0x3391c: 0x6c1d7e20, 0x3391d: 0x6c1d8020, 0x3391e: 0x6c1d8220, 0x3391f: 0x6c1d8420,\n\t0x33920: 0x6c1d8620, 0x33921: 0x6c1d8820, 0x33922: 0x6c1d8a20, 0x33923: 0x6c1d8c20,\n\t0x33924: 0x6c1d8e20, 0x33925: 0x6c1d9020, 0x33926: 0x6c1d9220, 0x33927: 0x6c1d9420,\n\t0x33928: 0x6c1d9620, 0x33929: 0x6c1d9820, 0x3392a: 0x6c1d9a20, 0x3392b: 0x6c1d9c20,\n\t0x3392c: 0x6c1d9e20, 0x3392d: 0x6c1da020, 0x3392e: 0x6c1da220, 0x3392f: 0x6c1da420,\n\t0x33930: 0x6c1da620, 0x33931: 0x6c1da820, 0x33932: 0x6c1daa20, 0x33933: 0x6c1dac20,\n\t0x33934: 0x6c1dae20, 0x33935: 0x6c1db020, 0x33936: 0x6c1db220, 0x33937: 0x6c1db420,\n\t0x33938: 0x6c1db620, 0x33939: 0x6c1db820, 0x3393a: 0x6c1dba20, 0x3393b: 0x6c1dbc20,\n\t0x3393c: 0x6c1dbe20, 0x3393d: 0x6c1dc020, 0x3393e: 0x6c1dc220, 0x3393f: 0x6c1dc420,\n\t// Block 0xce5, offset 0x33940\n\t0x33940: 0x6c1dc620, 0x33941: 0x6c1dc820, 0x33942: 0x6c1dca20, 0x33943: 0x6c312020,\n\t0x33944: 0x6c312220, 0x33945: 0x6c312420, 0x33946: 0x6c312620, 0x33947: 0x6c312820,\n\t0x33948: 0x6c312a20, 0x33949: 0x6c312c20, 0x3394a: 0x6c312e20, 0x3394b: 0x6c313020,\n\t0x3394c: 0x6c313220, 0x3394d: 0x6c313420, 0x3394e: 0x6c313620, 0x3394f: 0x6c313820,\n\t0x33950: 0x6c313a20, 0x33951: 0x6c313c20, 0x33952: 0x6c313e20, 0x33953: 0x6c314020,\n\t0x33954: 0x6c314220, 0x33955: 0x6c314420, 0x33956: 0x6c314620, 0x33957: 0x6c314820,\n\t0x33958: 0x6c314a20, 0x33959: 0x6c314c20, 0x3395a: 0x6c314e20, 0x3395b: 0x6c315020,\n\t0x3395c: 0x6c315220, 0x3395d: 0x6c315420, 0x3395e: 0x6c315620, 0x3395f: 0x6c315820,\n\t0x33960: 0x6c315a20, 0x33961: 0x6c315c20, 0x33962: 0x6c315e20, 0x33963: 0x6c316020,\n\t0x33964: 0x6c3bdc20, 0x33965: 0x6c316220, 0x33966: 0x6c316420, 0x33967: 0x6c316620,\n\t0x33968: 0x6c316820, 0x33969: 0x6c316a20, 0x3396a: 0x6c316c20, 0x3396b: 0x6c4b6a20,\n\t0x3396c: 0x6c4b6c20, 0x3396d: 0x6c4b6e20, 0x3396e: 0x6c4b7020, 0x3396f: 0x6c4b7220,\n\t0x33970: 0x6c4b7420, 0x33971: 0x6c4b7620, 0x33972: 0x6c4b7820, 0x33973: 0x6c4b7a20,\n\t0x33974: 0x6c4b7c20, 0x33975: 0x6c4b7e20, 0x33976: 0x6c4b8020, 0x33977: 0x6c4b8220,\n\t0x33978: 0x6c4b8420, 0x33979: 0x6c4b8620, 0x3397a: 0x6c4b8820, 0x3397b: 0x6c4b8a20,\n\t0x3397c: 0x6c4b8c20, 0x3397d: 0x6c4b8e20, 0x3397e: 0x6c4b9020, 0x3397f: 0x6c4b9220,\n\t// Block 0xce6, offset 0x33980\n\t0x33980: 0x6c4b9420, 0x33981: 0x6c4b9620, 0x33982: 0x6c4b9820, 0x33983: 0x6c4b9a20,\n\t0x33984: 0x6c4b9c20, 0x33985: 0x6c4b9e20, 0x33986: 0x6c4ba020, 0x33987: 0x6c4ba220,\n\t0x33988: 0x6c4ba420, 0x33989: 0x6c4ba620, 0x3398a: 0x6c4ba820, 0x3398b: 0x6c4baa20,\n\t0x3398c: 0x6c4bac20, 0x3398d: 0x6c4bae20, 0x3398e: 0x6c4bb020, 0x3398f: 0x6c4bb220,\n\t0x33990: 0x6c4bb420, 0x33991: 0x6c4bb620, 0x33992: 0x6c4bb820, 0x33993: 0x6c4bba20,\n\t0x33994: 0x6c4bbc20, 0x33995: 0x6c6d5a20, 0x33996: 0x6c6d5c20, 0x33997: 0x6c6d5e20,\n\t0x33998: 0x6c6d6020, 0x33999: 0x6c6d6220, 0x3399a: 0x6c6d6420, 0x3399b: 0x6c6d6620,\n\t0x3399c: 0x6c6d6820, 0x3399d: 0x6c6d6a20, 0x3399e: 0x6c6d6c20, 0x3399f: 0x6c6d6e20,\n\t0x339a0: 0x6c6d7020, 0x339a1: 0x6c6d7220, 0x339a2: 0x6c6d7420, 0x339a3: 0x6c6d7620,\n\t0x339a4: 0x6c6d7820, 0x339a5: 0x6c6d7a20, 0x339a6: 0x6c6d7c20, 0x339a7: 0x6c6d7e20,\n\t0x339a8: 0x6c6d8020, 0x339a9: 0x6c6d8220, 0x339aa: 0x6c6d8420, 0x339ab: 0x6c6d8620,\n\t0x339ac: 0x6c6d8820, 0x339ad: 0x6c6d8a20, 0x339ae: 0x6c6d8c20, 0x339af: 0x6c6d8e20,\n\t0x339b0: 0x6c6d9020, 0x339b1: 0x6c6d9220, 0x339b2: 0x6c6d9420, 0x339b3: 0x6c6d9620,\n\t0x339b4: 0x6c6d9820, 0x339b5: 0x6c6d9a20, 0x339b6: 0x6c6d9c20, 0x339b7: 0x6c6d9e20,\n\t0x339b8: 0x6c6da020, 0x339b9: 0x6c6da220, 0x339ba: 0x6c6da420, 0x339bb: 0x6c6da620,\n\t0x339bc: 0x6c6da820, 0x339bd: 0x6c6daa20, 0x339be: 0x6c6dac20, 0x339bf: 0x6c6dae20,\n\t// Block 0xce7, offset 0x339c0\n\t0x339c0: 0x6c6db020, 0x339c1: 0x6c6db220, 0x339c2: 0x6c6db420, 0x339c3: 0x6c6db620,\n\t0x339c4: 0x6c6db820, 0x339c5: 0x6c6dba20, 0x339c6: 0x6c6dbc20, 0x339c7: 0x6c6dbe20,\n\t0x339c8: 0x6c6dc020, 0x339c9: 0x6c6dc220, 0x339ca: 0x6c6dc420, 0x339cb: 0x6c6dc620,\n\t0x339cc: 0x6c6dc820, 0x339cd: 0x6c6dca20, 0x339ce: 0x6c6dcc20, 0x339cf: 0x6c6dce20,\n\t0x339d0: 0x6c6dd020, 0x339d1: 0x6c948a20, 0x339d2: 0x6c948c20, 0x339d3: 0x6c948e20,\n\t0x339d4: 0x6c949020, 0x339d5: 0x6c949220, 0x339d6: 0x6c949420, 0x339d7: 0x6c949620,\n\t0x339d8: 0x6c949820, 0x339d9: 0x6c949a20, 0x339da: 0x6c949c20, 0x339db: 0x6c949e20,\n\t0x339dc: 0x6c94a020, 0x339dd: 0x6c94a220, 0x339de: 0x6c94a420, 0x339df: 0x6c94a620,\n\t0x339e0: 0x6c94a820, 0x339e1: 0x6c94aa20, 0x339e2: 0x6c94ac20, 0x339e3: 0x6c94ae20,\n\t0x339e4: 0x6c94b020, 0x339e5: 0x6c94b220, 0x339e6: 0x6c94b420, 0x339e7: 0x6c94b620,\n\t0x339e8: 0x6c94b820, 0x339e9: 0x6c94ba20, 0x339ea: 0x6c94bc20, 0x339eb: 0x6c94be20,\n\t0x339ec: 0x6c94c020, 0x339ed: 0x6c94c220, 0x339ee: 0x6c94c420, 0x339ef: 0x6c94c620,\n\t0x339f0: 0x6c94c820, 0x339f1: 0x6c94ca20, 0x339f2: 0x6c94cc20, 0x339f3: 0x6c94ce20,\n\t0x339f4: 0x6c94d020, 0x339f5: 0x6c94d220, 0x339f6: 0x6c94d420, 0x339f7: 0x6c94d620,\n\t0x339f8: 0x6c94d820, 0x339f9: 0x6c94da20, 0x339fa: 0x6c94dc20, 0x339fb: 0x6c94de20,\n\t0x339fc: 0x6c94e020, 0x339fd: 0x6c94e220, 0x339fe: 0x6c94e420, 0x339ff: 0x6c94e620,\n\t// Block 0xce8, offset 0x33a00\n\t0x33a00: 0x6c94e820, 0x33a01: 0x6c94ea20, 0x33a02: 0x6c94ec20, 0x33a03: 0x6c94ee20,\n\t0x33a04: 0x6c94f020, 0x33a05: 0x6c94f220, 0x33a06: 0x6c94f420, 0x33a07: 0x6c94f620,\n\t0x33a08: 0x6c94f820, 0x33a09: 0x6c94fa20, 0x33a0a: 0x6c94fc20, 0x33a0b: 0x6c94fe20,\n\t0x33a0c: 0x6c950020, 0x33a0d: 0x6c950220, 0x33a0e: 0x6c950420, 0x33a0f: 0x6c950620,\n\t0x33a10: 0x6c950820, 0x33a11: 0x6c950a20, 0x33a12: 0x6c950c20, 0x33a13: 0x6c950e20,\n\t0x33a14: 0x6c951020, 0x33a15: 0x6c951220, 0x33a16: 0x6c951420, 0x33a17: 0x6c951620,\n\t0x33a18: 0x6c951820, 0x33a19: 0x6c951a20, 0x33a1a: 0x6c951c20, 0x33a1b: 0x6c951e20,\n\t0x33a1c: 0x6c952020, 0x33a1d: 0x6c952220, 0x33a1e: 0x6c952420, 0x33a1f: 0x6c952620,\n\t0x33a20: 0x6c952820, 0x33a21: 0x6c952a20, 0x33a22: 0x6c952c20, 0x33a23: 0x6c952e20,\n\t0x33a24: 0x6c953020, 0x33a25: 0x6c953220, 0x33a26: 0x6c953420, 0x33a27: 0x6c953620,\n\t0x33a28: 0x6c953820, 0x33a29: 0x6c953a20, 0x33a2a: 0x6cc0de20, 0x33a2b: 0x6cc0e020,\n\t0x33a2c: 0x6cc0e220, 0x33a2d: 0x6cc0e420, 0x33a2e: 0x6cc0e620, 0x33a2f: 0x6cc0e820,\n\t0x33a30: 0x6cc0ea20, 0x33a31: 0x6cc0ec20, 0x33a32: 0x6cc0ee20, 0x33a33: 0x6cc0f020,\n\t0x33a34: 0x6cc0f220, 0x33a35: 0x6cc0f420, 0x33a36: 0x6cc0f620, 0x33a37: 0x6cc0f820,\n\t0x33a38: 0x6cc0fa20, 0x33a39: 0x6cc0fc20, 0x33a3a: 0x6cc0fe20, 0x33a3b: 0x6cc10020,\n\t0x33a3c: 0x6cc10220, 0x33a3d: 0x6cc10420, 0x33a3e: 0x6cc10620, 0x33a3f: 0x6cc10820,\n\t// Block 0xce9, offset 0x33a40\n\t0x33a40: 0x6cc10a20, 0x33a41: 0x6cc10c20, 0x33a42: 0x6cc10e20, 0x33a43: 0x6cc11020,\n\t0x33a44: 0x6cc11220, 0x33a45: 0x6cc11420, 0x33a46: 0x6cc11620, 0x33a47: 0x6cc11820,\n\t0x33a48: 0x6cc11a20, 0x33a49: 0x6cc11c20, 0x33a4a: 0x6cc11e20, 0x33a4b: 0x6cc12020,\n\t0x33a4c: 0x6cc12220, 0x33a4d: 0x6cc12420, 0x33a4e: 0x6cc12620, 0x33a4f: 0x6cc12820,\n\t0x33a50: 0x6cc12a20, 0x33a51: 0x6cc12c20, 0x33a52: 0x6cc12e20, 0x33a53: 0x6cc13020,\n\t0x33a54: 0x6cc13220, 0x33a55: 0x6cc13420, 0x33a56: 0x6cc13620, 0x33a57: 0x6cc13820,\n\t0x33a58: 0x6cc13a20, 0x33a59: 0x6cc13c20, 0x33a5a: 0x6cc13e20, 0x33a5b: 0x6cc14020,\n\t0x33a5c: 0x6cc14220, 0x33a5d: 0x6cc14420, 0x33a5e: 0x6cc14620, 0x33a5f: 0x6cc14820,\n\t0x33a60: 0x6cc14a20, 0x33a61: 0x6cc14c20, 0x33a62: 0x6cc14e20, 0x33a63: 0x6cc15020,\n\t0x33a64: 0x6cc15220, 0x33a65: 0x6cc15420, 0x33a66: 0x6cc15620, 0x33a67: 0x6cc15820,\n\t0x33a68: 0x6cc15a20, 0x33a69: 0x6cc15c20, 0x33a6a: 0x6cf0ac20, 0x33a6b: 0x6cf0ae20,\n\t0x33a6c: 0x6cf0b020, 0x33a6d: 0x6cf0b220, 0x33a6e: 0x6cf0b420, 0x33a6f: 0x6cf0b620,\n\t0x33a70: 0x6cf0b820, 0x33a71: 0x6cf0ba20, 0x33a72: 0x6cf0bc20, 0x33a73: 0x6cf0be20,\n\t0x33a74: 0x6cf0c020, 0x33a75: 0x6cf0c220, 0x33a76: 0x6cf0c420, 0x33a77: 0x6cf0c620,\n\t0x33a78: 0x6cf0c820, 0x33a79: 0x6cf0ca20, 0x33a7a: 0x6cf0cc20, 0x33a7b: 0x6cf0ce20,\n\t0x33a7c: 0x6cf0d020, 0x33a7d: 0x6cf0d220, 0x33a7e: 0x6cf0d420, 0x33a7f: 0x6cf0d620,\n\t// Block 0xcea, offset 0x33a80\n\t0x33a80: 0x6cf0d820, 0x33a81: 0x6cf0da20, 0x33a82: 0x6cf0dc20, 0x33a83: 0x6cf0de20,\n\t0x33a84: 0x6cf0e020, 0x33a85: 0x6cf0e220, 0x33a86: 0x6cf0e420, 0x33a87: 0x6cf0e620,\n\t0x33a88: 0x6cf0e820, 0x33a89: 0x6cf0ea20, 0x33a8a: 0x6cf0ec20, 0x33a8b: 0x6cf0ee20,\n\t0x33a8c: 0x6cf0f020, 0x33a8d: 0x6cf0f220, 0x33a8e: 0x6cf0f420, 0x33a8f: 0x6cf0f620,\n\t0x33a90: 0x6cf0f820, 0x33a91: 0x6cf0fa20, 0x33a92: 0x6cf0fc20, 0x33a93: 0x6cf0fe20,\n\t0x33a94: 0x6cf10020, 0x33a95: 0x6cf10220, 0x33a96: 0x6cf10420, 0x33a97: 0x6cf10620,\n\t0x33a98: 0x6d204820, 0x33a99: 0x6d204a20, 0x33a9a: 0x6d204c20, 0x33a9b: 0x6d204e20,\n\t0x33a9c: 0x6d205020, 0x33a9d: 0x6d205220, 0x33a9e: 0x6d205420, 0x33a9f: 0x6d205620,\n\t0x33aa0: 0x6d205820, 0x33aa1: 0x6d205a20, 0x33aa2: 0x6d205c20, 0x33aa3: 0x6d205e20,\n\t0x33aa4: 0x6d206020, 0x33aa5: 0x6d206220, 0x33aa6: 0x6d206420, 0x33aa7: 0x6d206620,\n\t0x33aa8: 0x6d206820, 0x33aa9: 0x6d206a20, 0x33aaa: 0x6d206c20, 0x33aab: 0x6d206e20,\n\t0x33aac: 0x6d207020, 0x33aad: 0x6d207220, 0x33aae: 0x6d207420, 0x33aaf: 0x6d207620,\n\t0x33ab0: 0x6d207820, 0x33ab1: 0x6d207a20, 0x33ab2: 0x6d207c20, 0x33ab3: 0x6d207e20,\n\t0x33ab4: 0x6d208020, 0x33ab5: 0x6d208220, 0x33ab6: 0x6d208420, 0x33ab7: 0x6d208620,\n\t0x33ab8: 0x6d208820, 0x33ab9: 0x6d208a20, 0x33aba: 0x6d208c20, 0x33abb: 0x6d208e20,\n\t0x33abc: 0x6d209020, 0x33abd: 0x6d209220, 0x33abe: 0x6d209420, 0x33abf: 0x6d209620,\n\t// Block 0xceb, offset 0x33ac0\n\t0x33ac0: 0x6d209820, 0x33ac1: 0x6d209a20, 0x33ac2: 0x6d209c20, 0x33ac3: 0x6d209e20,\n\t0x33ac4: 0x6d20a020, 0x33ac5: 0x6d20a220, 0x33ac6: 0x6d20a420, 0x33ac7: 0x6d20a620,\n\t0x33ac8: 0x6d20a820, 0x33ac9: 0x6d20aa20, 0x33aca: 0x6d4dda20, 0x33acb: 0x6d4ddc20,\n\t0x33acc: 0x6d4dde20, 0x33acd: 0x6d4de020, 0x33ace: 0x6d4de220, 0x33acf: 0x6d4de420,\n\t0x33ad0: 0x6d4de620, 0x33ad1: 0x6d4de820, 0x33ad2: 0x6d4dea20, 0x33ad3: 0x6d4dec20,\n\t0x33ad4: 0x6d4dee20, 0x33ad5: 0x6d4df020, 0x33ad6: 0x6d4df220, 0x33ad7: 0x6d4df420,\n\t0x33ad8: 0x6d4df620, 0x33ad9: 0x6d4df820, 0x33ada: 0x6d4dfa20, 0x33adb: 0x6d4dfc20,\n\t0x33adc: 0x6d4dfe20, 0x33add: 0x6d4e0020, 0x33ade: 0x6d4e0220, 0x33adf: 0x6d4e0420,\n\t0x33ae0: 0x6d4e0620, 0x33ae1: 0x6d4e0820, 0x33ae2: 0x6d4e0a20, 0x33ae3: 0x6d4e0c20,\n\t0x33ae4: 0x6d4e0e20, 0x33ae5: 0x6d4e1020, 0x33ae6: 0x6d4e1220, 0x33ae7: 0x6d4e1420,\n\t0x33ae8: 0x6d4e1620, 0x33ae9: 0x6d4e1820, 0x33aea: 0x6d4e1a20, 0x33aeb: 0x6d4e1c20,\n\t0x33aec: 0x6d4e1e20, 0x33aed: 0x6d4e2020, 0x33aee: 0x6d4e2220, 0x33aef: 0x6d4e2420,\n\t0x33af0: 0x6d4e2620, 0x33af1: 0x6d4e2820, 0x33af2: 0x6d4e2a20, 0x33af3: 0x6d4e2c20,\n\t0x33af4: 0x6d4e2e20, 0x33af5: 0x6d4e3020, 0x33af6: 0x6d4e3220, 0x33af7: 0x6d4e3420,\n\t0x33af8: 0x6d4e3620, 0x33af9: 0x6d4e3820, 0x33afa: 0x6d4e3a20, 0x33afb: 0x6d4e3c20,\n\t0x33afc: 0x6d4e3e20, 0x33afd: 0x6d7a9020, 0x33afe: 0x6d7a9220, 0x33aff: 0x6d7a9420,\n\t// Block 0xcec, offset 0x33b00\n\t0x33b00: 0x6d7a9620, 0x33b01: 0x6d7a9820, 0x33b02: 0x6d7a9a20, 0x33b03: 0x6d7a9c20,\n\t0x33b04: 0x6d7a9e20, 0x33b05: 0x6d7aa020, 0x33b06: 0x6d7aa220, 0x33b07: 0x6d7aa420,\n\t0x33b08: 0x6d7aa620, 0x33b09: 0x6da2fc20, 0x33b0a: 0x6d7aa820, 0x33b0b: 0x6d7aaa20,\n\t0x33b0c: 0x6d7aac20, 0x33b0d: 0x6d7aae20, 0x33b0e: 0x6d7ab020, 0x33b0f: 0x6d7ab220,\n\t0x33b10: 0x6d7ab420, 0x33b11: 0x6d7ab620, 0x33b12: 0x6d7ab820, 0x33b13: 0x6d7aba20,\n\t0x33b14: 0x6d7abc20, 0x33b15: 0x6d7abe20, 0x33b16: 0x6d7ac020, 0x33b17: 0x6d7ac220,\n\t0x33b18: 0x6d7ac420, 0x33b19: 0x6d7ac620, 0x33b1a: 0x6d7ac820, 0x33b1b: 0x6d7aca20,\n\t0x33b1c: 0x6da2fe20, 0x33b1d: 0x6da30020, 0x33b1e: 0x6da30220, 0x33b1f: 0x6da30420,\n\t0x33b20: 0x6da30620, 0x33b21: 0x6da30820, 0x33b22: 0x6da30a20, 0x33b23: 0x6da30c20,\n\t0x33b24: 0x6da30e20, 0x33b25: 0x6da31020, 0x33b26: 0x6da31220, 0x33b27: 0x6da31420,\n\t0x33b28: 0x6da31620, 0x33b29: 0x6da31820, 0x33b2a: 0x6da31a20, 0x33b2b: 0x6da31c20,\n\t0x33b2c: 0x6da31e20, 0x33b2d: 0x6da32020, 0x33b2e: 0x6da32220, 0x33b2f: 0x6da32420,\n\t0x33b30: 0x6da32620, 0x33b31: 0x6da32820, 0x33b32: 0x6da32a20, 0x33b33: 0x6da32c20,\n\t0x33b34: 0x6da32e20, 0x33b35: 0x6da33020, 0x33b36: 0x6da33220, 0x33b37: 0x6da33420,\n\t0x33b38: 0x6da33620, 0x33b39: 0x6da33820, 0x33b3a: 0x6da33a20, 0x33b3b: 0x6da33c20,\n\t0x33b3c: 0x6da33e20, 0x33b3d: 0x6da34020, 0x33b3e: 0x6da34220, 0x33b3f: 0x6da34420,\n\t// Block 0xced, offset 0x33b40\n\t0x33b40: 0x6da34620, 0x33b41: 0x6da34820, 0x33b42: 0x6dc4dc20, 0x33b43: 0x6dc4de20,\n\t0x33b44: 0x6dc4e020, 0x33b45: 0x6dc4e220, 0x33b46: 0x6dc4e420, 0x33b47: 0x6dc4e620,\n\t0x33b48: 0x6dc4e820, 0x33b49: 0x6dc4ea20, 0x33b4a: 0x6dc4ec20, 0x33b4b: 0x6dc4ee20,\n\t0x33b4c: 0x6dc4f020, 0x33b4d: 0x6dc4f220, 0x33b4e: 0x6dc4f420, 0x33b4f: 0x6dc4f620,\n\t0x33b50: 0x6dc4f820, 0x33b51: 0x6dc4fa20, 0x33b52: 0x6dc4fc20, 0x33b53: 0x6dc4fe20,\n\t0x33b54: 0x6dc50020, 0x33b55: 0x6dc50220, 0x33b56: 0x6dc50420, 0x33b57: 0x6dc45020,\n\t0x33b58: 0x6de1de20, 0x33b59: 0x6de1e020, 0x33b5a: 0x6de1e220, 0x33b5b: 0x6de1e420,\n\t0x33b5c: 0x6de1e620, 0x33b5d: 0x6de1e820, 0x33b5e: 0x6de1ea20, 0x33b5f: 0x6de1ec20,\n\t0x33b60: 0x6dc50620, 0x33b61: 0x6de1ee20, 0x33b62: 0x6de1f020, 0x33b63: 0x6de1f220,\n\t0x33b64: 0x6de1f420, 0x33b65: 0x6de1f620, 0x33b66: 0x6de1f820, 0x33b67: 0x6de1fa20,\n\t0x33b68: 0x6de1fc20, 0x33b69: 0x6de1fe20, 0x33b6a: 0x6de20020, 0x33b6b: 0x6de20220,\n\t0x33b6c: 0x6de20420, 0x33b6d: 0x6de20620, 0x33b6e: 0x6df9be20, 0x33b6f: 0x6df9c020,\n\t0x33b70: 0x6df9c220, 0x33b71: 0x6df9c420, 0x33b72: 0x6df9c620, 0x33b73: 0x6df9c820,\n\t0x33b74: 0x6df9ca20, 0x33b75: 0x6df9cc20, 0x33b76: 0x6df9ce20, 0x33b77: 0x6df9d020,\n\t0x33b78: 0x6df9d220, 0x33b79: 0x6df9d420, 0x33b7a: 0x6df9d620, 0x33b7b: 0x6da34a20,\n\t0x33b7c: 0x6e0d7a20, 0x33b7d: 0x6e0d7c20, 0x33b7e: 0x6e0d7e20, 0x33b7f: 0x6e0d8020,\n\t// Block 0xcee, offset 0x33b80\n\t0x33b80: 0x6e0d8220, 0x33b81: 0x6e0d8420, 0x33b82: 0x6e0d8620, 0x33b83: 0x6e0d8820,\n\t0x33b84: 0x6e0d8a20, 0x33b85: 0x6e0d8c20, 0x33b86: 0x6e0d8e20, 0x33b87: 0x6e1ce620,\n\t0x33b88: 0x6e1ce820, 0x33b89: 0x6e1cea20, 0x33b8a: 0x6e1cec20, 0x33b8b: 0x6e1cee20,\n\t0x33b8c: 0x6e1cf020, 0x33b8d: 0x6e1cf220, 0x33b8e: 0x6e1cf420, 0x33b8f: 0x6e1cf620,\n\t0x33b90: 0x6e1cf820, 0x33b91: 0x6e1cfa20, 0x33b92: 0x6e28b820, 0x33b93: 0x6e28ba20,\n\t0x33b94: 0x6e31f620, 0x33b95: 0x6e31f820, 0x33b96: 0x6e31fa20, 0x33b97: 0x6e31fc20,\n\t0x33b98: 0x6e31fe20, 0x33b99: 0x6e320020, 0x33b9a: 0x6e320220, 0x33b9b: 0x6e320420,\n\t0x33b9c: 0x6e320620, 0x33b9d: 0x6e387a20, 0x33b9e: 0x6e387c20, 0x33b9f: 0x6e387e20,\n\t0x33ba0: 0x6e402420, 0x33ba1: 0x6e402620, 0x33ba2: 0x6e429220, 0x33ba3: 0x6e402820,\n\t0x33ba4: 0x6e402a20, 0x33ba5: 0x6e462620, 0x33ba6: 0x6c01c020, 0x33ba7: 0x6c041a20,\n\t0x33ba8: 0x6c01c220, 0x33ba9: 0x6c109820, 0x33baa: 0x6c109a20, 0x33bab: 0x6c109c20,\n\t0x33bac: 0x6c109e20, 0x33bad: 0x6c10a020, 0x33bae: 0x6c1dd620, 0x33baf: 0x6c1dd820,\n\t0x33bb0: 0x6c1dda20, 0x33bb1: 0x6c317a20, 0x33bb2: 0x6c317c20, 0x33bb3: 0x6c317e20,\n\t0x33bb4: 0x6c318020, 0x33bb5: 0x6c318220, 0x33bb6: 0x6c318420, 0x33bb7: 0x6c4bce20,\n\t0x33bb8: 0x6c4bd020, 0x33bb9: 0x6c4bd220, 0x33bba: 0x6c4bd420, 0x33bbb: 0x6c4bd620,\n\t0x33bbc: 0x6c6de420, 0x33bbd: 0x6c6de620, 0x33bbe: 0x6c954e20, 0x33bbf: 0x6c955020,\n\t// Block 0xcef, offset 0x33bc0\n\t0x33bc0: 0x6c955220, 0x33bc1: 0x6cc16c20, 0x33bc2: 0x6d20ba20, 0x33bc3: 0x6d4e4a20,\n\t0x33bc4: 0x6d7ad420, 0x33bc5: 0x6d7ad620, 0x33bc6: 0x6d7ad820, 0x33bc7: 0x6da35420,\n\t0x33bc8: 0x6dc50820, 0x33bc9: 0x6de20c20, 0x33bca: 0x6de20e20, 0x33bcb: 0x6df9d820,\n\t0x33bcc: 0x6e1cfe20, 0x33bcd: 0x6e1d0020, 0x33bce: 0x6e320820, 0x33bcf: 0x6e402c20,\n\t0x33bd0: 0x6e442a20, 0x33bd1: 0x6c041e20, 0x33bd2: 0x6c042020, 0x33bd3: 0x6c042220,\n\t0x33bd4: 0x6c042420, 0x33bd5: 0x6c042620, 0x33bd6: 0x6c089820, 0x33bd7: 0x6c089a20,\n\t0x33bd8: 0x6c089c20, 0x33bd9: 0x6c089e20, 0x33bda: 0x6c10a620, 0x33bdb: 0x6c10a820,\n\t0x33bdc: 0x6c1de020, 0x33bdd: 0x6c1de220, 0x33bde: 0x6c1de420, 0x33bdf: 0x6c318620,\n\t0x33be0: 0x6c4bde20, 0x33be1: 0x6c6dee20, 0x33be2: 0x6c6df020, 0x33be3: 0x6c955420,\n\t0x33be4: 0x6cc17220, 0x33be5: 0x6cc17420, 0x33be6: 0x6cf11220, 0x33be7: 0x6cf11420,\n\t0x33be8: 0x6d4e4e20, 0x33be9: 0x6d4e5020, 0x33bea: 0x6d4e5220, 0x33beb: 0x6d4e5420,\n\t0x33bec: 0x6d7ada20, 0x33bed: 0x6da35620, 0x33bee: 0x6dc50a20, 0x33bef: 0x6de21020,\n\t0x33bf0: 0x6e0d9220, 0x33bf1: 0x6e0d9420, 0x33bf2: 0x6e0d9620, 0x33bf3: 0x6c042a20,\n\t0x33bf4: 0x6c08a220, 0x33bf5: 0x6c08a420, 0x33bf6: 0x6c10ac20, 0x33bf7: 0x6c318c20,\n\t0x33bf8: 0x6c318e20, 0x33bf9: 0x6c4bea20, 0x33bfa: 0x6c4bec20, 0x33bfb: 0x6c4bee20,\n\t0x33bfc: 0x6c6df420, 0x33bfd: 0x6c6df620, 0x33bfe: 0x6c6df820, 0x33bff: 0x6c6dfa20,\n\t// Block 0xcf0, offset 0x33c00\n\t0x33c00: 0x6c955a20, 0x33c01: 0x6c955c20, 0x33c02: 0x6c955e20, 0x33c03: 0x6c956020,\n\t0x33c04: 0x6c956220, 0x33c05: 0x6cc17a20, 0x33c06: 0x6cc17c20, 0x33c07: 0x6cc17e20,\n\t0x33c08: 0x6cc18020, 0x33c09: 0x6cc18220, 0x33c0a: 0x6cf11820, 0x33c0b: 0x6d4e5620,\n\t0x33c0c: 0x6d4e5820, 0x33c0d: 0x6d7ae020, 0x33c0e: 0x6da35a20, 0x33c0f: 0x6d7ae220,\n\t0x33c10: 0x6dc50e20, 0x33c11: 0x6df9da20, 0x33c12: 0x6c08b220, 0x33c13: 0x6c08b420,\n\t0x33c14: 0x6c08b620, 0x33c15: 0x6c10ba20, 0x33c16: 0x6c10bc20, 0x33c17: 0x6c10be20,\n\t0x33c18: 0x6c10c020, 0x33c19: 0x6c10c220, 0x33c1a: 0x6c10c420, 0x33c1b: 0x6c10c620,\n\t0x33c1c: 0x6c10c820, 0x33c1d: 0x6c10ca20, 0x33c1e: 0x6c10cc20, 0x33c1f: 0x6c10ce20,\n\t0x33c20: 0x6c10d020, 0x33c21: 0x6c10d220, 0x33c22: 0x6c10d420, 0x33c23: 0x6c10d620,\n\t0x33c24: 0x6c10d820, 0x33c25: 0x6c1e0620, 0x33c26: 0x6c1e0820, 0x33c27: 0x6c1e0a20,\n\t0x33c28: 0x6c1e0c20, 0x33c29: 0x6c1e0e20, 0x33c2a: 0x6c1e1020, 0x33c2b: 0x6c1e1220,\n\t0x33c2c: 0x6c1e1420, 0x33c2d: 0x6c1e1620, 0x33c2e: 0x6c1e1820, 0x33c2f: 0x6c1e1a20,\n\t0x33c30: 0x6c1e1c20, 0x33c31: 0x6c1e1e20, 0x33c32: 0x6c1e2020, 0x33c33: 0x6c1e2220,\n\t0x33c34: 0x6c1e2420, 0x33c35: 0x6c1e2620, 0x33c36: 0x6c1e2820, 0x33c37: 0x6c1e2a20,\n\t0x33c38: 0x6c1e2c20, 0x33c39: 0x6c1e2e20, 0x33c3a: 0x6c1e3020, 0x33c3b: 0x6c31b220,\n\t0x33c3c: 0x6c31b420, 0x33c3d: 0x6c31b620, 0x33c3e: 0x6c31b820, 0x33c3f: 0x6c31ba20,\n\t// Block 0xcf1, offset 0x33c40\n\t0x33c40: 0x6c31bc20, 0x33c41: 0x6c31be20, 0x33c42: 0x6c31c020, 0x33c43: 0x6c31c220,\n\t0x33c44: 0x6c31c420, 0x33c45: 0x6c31c620, 0x33c46: 0x6c31c820, 0x33c47: 0x6c31ca20,\n\t0x33c48: 0x6c31cc20, 0x33c49: 0x6c31ce20, 0x33c4a: 0x6c31d020, 0x33c4b: 0x6c31d220,\n\t0x33c4c: 0x6c31d420, 0x33c4d: 0x6c31d620, 0x33c4e: 0x6c31d820, 0x33c4f: 0x6c31da20,\n\t0x33c50: 0x6c4c1220, 0x33c51: 0x6c4c1420, 0x33c52: 0x6c4c1620, 0x33c53: 0x6c4c1820,\n\t0x33c54: 0x6c4c1a20, 0x33c55: 0x6c4c1c20, 0x33c56: 0x6c4c1e20, 0x33c57: 0x6c4c2020,\n\t0x33c58: 0x6c4c2220, 0x33c59: 0x6c4c2420, 0x33c5a: 0x6c4c2620, 0x33c5b: 0x6c4c2820,\n\t0x33c5c: 0x6c4c2a20, 0x33c5d: 0x6c4c2c20, 0x33c5e: 0x6c4c2e20, 0x33c5f: 0x6c4c3020,\n\t0x33c60: 0x6c4c3220, 0x33c61: 0x6c4c3420, 0x33c62: 0x6c4c3620, 0x33c63: 0x6c4c3820,\n\t0x33c64: 0x6c4c3a20, 0x33c65: 0x6c4c3c20, 0x33c66: 0x6c4c3e20, 0x33c67: 0x6c4c4020,\n\t0x33c68: 0x6c4c4220, 0x33c69: 0x6c4c4420, 0x33c6a: 0x6c4c4620, 0x33c6b: 0x6c4c4820,\n\t0x33c6c: 0x6c4c4a20, 0x33c6d: 0x6c4c4c20, 0x33c6e: 0x6c4c4e20, 0x33c6f: 0x6c4c5020,\n\t0x33c70: 0x6c4c5220, 0x33c71: 0x6c6e1420, 0x33c72: 0x6c6e1620, 0x33c73: 0x6c6e1820,\n\t0x33c74: 0x6c6e1a20, 0x33c75: 0x6c6e1c20, 0x33c76: 0x6c6e1e20, 0x33c77: 0x6c6e2020,\n\t0x33c78: 0x6c6e2220, 0x33c79: 0x6c6e2420, 0x33c7a: 0x6c6e2620, 0x33c7b: 0x6c6e2820,\n\t0x33c7c: 0x6c6e2a20, 0x33c7d: 0x6c6e2c20, 0x33c7e: 0x6c6e2e20, 0x33c7f: 0x6c6e3020,\n\t// Block 0xcf2, offset 0x33c80\n\t0x33c80: 0x6c6e3220, 0x33c81: 0x6c6e3420, 0x33c82: 0x6c6e3620, 0x33c83: 0x6c6e3820,\n\t0x33c84: 0x6c6e3a20, 0x33c85: 0x6c6e3c20, 0x33c86: 0x6c6e3e20, 0x33c87: 0x6c6e4020,\n\t0x33c88: 0x6c6e4220, 0x33c89: 0x6c6e4420, 0x33c8a: 0x6c6e4620, 0x33c8b: 0x6c6e4820,\n\t0x33c8c: 0x6c6e4a20, 0x33c8d: 0x6c958620, 0x33c8e: 0x6c958820, 0x33c8f: 0x6c958a20,\n\t0x33c90: 0x6c958c20, 0x33c91: 0x6c958e20, 0x33c92: 0x6c959020, 0x33c93: 0x6c959220,\n\t0x33c94: 0x6c959420, 0x33c95: 0x6c959620, 0x33c96: 0x6c959820, 0x33c97: 0x6c959a20,\n\t0x33c98: 0x6c959c20, 0x33c99: 0x6c959e20, 0x33c9a: 0x6c95a020, 0x33c9b: 0x6c95a220,\n\t0x33c9c: 0x6c95a420, 0x33c9d: 0x6c95a620, 0x33c9e: 0x6c95a820, 0x33c9f: 0x6c95aa20,\n\t0x33ca0: 0x6c95ac20, 0x33ca1: 0x6c95ae20, 0x33ca2: 0x6c95b020, 0x33ca3: 0x6c95b220,\n\t0x33ca4: 0x6c95b420, 0x33ca5: 0x6c95b620, 0x33ca6: 0x6c95b820, 0x33ca7: 0x6c95ba20,\n\t0x33ca8: 0x6c95bc20, 0x33ca9: 0x6c95be20, 0x33caa: 0x6c95c020, 0x33cab: 0x6cc1ae20,\n\t0x33cac: 0x6cc1b020, 0x33cad: 0x6cc1b220, 0x33cae: 0x6cc1b420, 0x33caf: 0x6cc1b620,\n\t0x33cb0: 0x6cc1b820, 0x33cb1: 0x6cc1ba20, 0x33cb2: 0x6cc1bc20, 0x33cb3: 0x6cc1be20,\n\t0x33cb4: 0x6cc1c020, 0x33cb5: 0x6cc1c220, 0x33cb6: 0x6cc1c420, 0x33cb7: 0x6cc1c620,\n\t0x33cb8: 0x6cc1c820, 0x33cb9: 0x6cc1ca20, 0x33cba: 0x6cc1cc20, 0x33cbb: 0x6cc1ce20,\n\t0x33cbc: 0x6cc1d020, 0x33cbd: 0x6cc1d220, 0x33cbe: 0x6cc1d420, 0x33cbf: 0x6cc1d620,\n\t// Block 0xcf3, offset 0x33cc0\n\t0x33cc0: 0x6cc1d820, 0x33cc1: 0x6cc1da20, 0x33cc2: 0x6cc1dc20, 0x33cc3: 0x6cc1de20,\n\t0x33cc4: 0x6cc1e020, 0x33cc5: 0x6cc1e220, 0x33cc6: 0x6cc1e420, 0x33cc7: 0x6cc1e620,\n\t0x33cc8: 0x6cc1e820, 0x33cc9: 0x6cc1ea20, 0x33cca: 0x6cf13020, 0x33ccb: 0x6cf13220,\n\t0x33ccc: 0x6cf13420, 0x33ccd: 0x6cf13620, 0x33cce: 0x6cf13820, 0x33ccf: 0x6cf13a20,\n\t0x33cd0: 0x6cf13c20, 0x33cd1: 0x6cf13e20, 0x33cd2: 0x6cf14020, 0x33cd3: 0x6cf14220,\n\t0x33cd4: 0x6cf14420, 0x33cd5: 0x6cf14620, 0x33cd6: 0x6cf14820, 0x33cd7: 0x6cf14a20,\n\t0x33cd8: 0x6cf14c20, 0x33cd9: 0x6cf14e20, 0x33cda: 0x6cf15020, 0x33cdb: 0x6cf15220,\n\t0x33cdc: 0x6cf15420, 0x33cdd: 0x6cf15620, 0x33cde: 0x6cf15820, 0x33cdf: 0x6d20dc20,\n\t0x33ce0: 0x6d20de20, 0x33ce1: 0x6d20e020, 0x33ce2: 0x6d20e220, 0x33ce3: 0x6d20e420,\n\t0x33ce4: 0x6d20e620, 0x33ce5: 0x6d20e820, 0x33ce6: 0x6d20ea20, 0x33ce7: 0x6d20ec20,\n\t0x33ce8: 0x6d20ee20, 0x33ce9: 0x6d20f020, 0x33cea: 0x6d20f220, 0x33ceb: 0x6d20f420,\n\t0x33cec: 0x6d20f620, 0x33ced: 0x6d20f820, 0x33cee: 0x6d20fa20, 0x33cef: 0x6d20fc20,\n\t0x33cf0: 0x6d20fe20, 0x33cf1: 0x6d210020, 0x33cf2: 0x6d210220, 0x33cf3: 0x6d4e7220,\n\t0x33cf4: 0x6d4e7420, 0x33cf5: 0x6d4e7620, 0x33cf6: 0x6d4e7820, 0x33cf7: 0x6d4e7a20,\n\t0x33cf8: 0x6d4e7c20, 0x33cf9: 0x6d4e7e20, 0x33cfa: 0x6d4e8020, 0x33cfb: 0x6d4e8220,\n\t0x33cfc: 0x6d4e8420, 0x33cfd: 0x6d4e8620, 0x33cfe: 0x6d4e8820, 0x33cff: 0x6d4e8a20,\n\t// Block 0xcf4, offset 0x33d00\n\t0x33d00: 0x6d4e8c20, 0x33d01: 0x6d4e8e20, 0x33d02: 0x6d4e9020, 0x33d03: 0x6d4e9220,\n\t0x33d04: 0x6d4e9420, 0x33d05: 0x6d4e9620, 0x33d06: 0x6d4e9820, 0x33d07: 0x6d4e9a20,\n\t0x33d08: 0x6d4e9c20, 0x33d09: 0x6d4e9e20, 0x33d0a: 0x6d4ea020, 0x33d0b: 0x6d4ea220,\n\t0x33d0c: 0x6d4ea420, 0x33d0d: 0x6d7af420, 0x33d0e: 0x6d7af620, 0x33d0f: 0x6d7af820,\n\t0x33d10: 0x6d7afa20, 0x33d11: 0x6d7afc20, 0x33d12: 0x6d7afe20, 0x33d13: 0x6d7b0020,\n\t0x33d14: 0x6d7b0220, 0x33d15: 0x6d7b0420, 0x33d16: 0x6d7b0620, 0x33d17: 0x6d7b0820,\n\t0x33d18: 0x6d7b0a20, 0x33d19: 0x6d7b0c20, 0x33d1a: 0x6d7b0e20, 0x33d1b: 0x6d7b1020,\n\t0x33d1c: 0x6d7b1220, 0x33d1d: 0x6d7b1420, 0x33d1e: 0x6d7b1620, 0x33d1f: 0x6da36620,\n\t0x33d20: 0x6da36820, 0x33d21: 0x6da36a20, 0x33d22: 0x6da36c20, 0x33d23: 0x6da36e20,\n\t0x33d24: 0x6da37020, 0x33d25: 0x6da37220, 0x33d26: 0x6da37420, 0x33d27: 0x6da37620,\n\t0x33d28: 0x6da37820, 0x33d29: 0x6dc51420, 0x33d2a: 0x6dc51620, 0x33d2b: 0x6dc51820,\n\t0x33d2c: 0x6dc51a20, 0x33d2d: 0x6de21420, 0x33d2e: 0x6de21620, 0x33d2f: 0x6de21820,\n\t0x33d30: 0x6de21a20, 0x33d31: 0x6de21c20, 0x33d32: 0x6de21e20, 0x33d33: 0x6de22020,\n\t0x33d34: 0x6de22220, 0x33d35: 0x6de22420, 0x33d36: 0x6de22620, 0x33d37: 0x6de22820,\n\t0x33d38: 0x6df9e220, 0x33d39: 0x6df9e420, 0x33d3a: 0x6df9e620, 0x33d3b: 0x6e0d9820,\n\t0x33d3c: 0x6e0d9a20, 0x33d3d: 0x6e0d9c20, 0x33d3e: 0x6e1d0820, 0x33d3f: 0x6e1d0a20,\n\t// Block 0xcf5, offset 0x33d40\n\t0x33d40: 0x6e1d0c20, 0x33d41: 0x6e1d0e20, 0x33d42: 0x6e28bc20, 0x33d43: 0x6e320a20,\n\t0x33d44: 0x6e320c20, 0x33d45: 0x6e320e20, 0x33d46: 0x6e321020, 0x33d47: 0x6e402e20,\n\t0x33d48: 0x6e403020, 0x33d49: 0x6c08bc20, 0x33d4a: 0x6c1e3220, 0x33d4b: 0x6c1e3420,\n\t0x33d4c: 0x6c1e3620, 0x33d4d: 0x6c31e020, 0x33d4e: 0x6c31e220, 0x33d4f: 0x6c31e420,\n\t0x33d50: 0x6c31e620, 0x33d51: 0x6c4c5420, 0x33d52: 0x6c4c5620, 0x33d53: 0x6c4c5820,\n\t0x33d54: 0x6c4c5a20, 0x33d55: 0x6c4c5c20, 0x33d56: 0x6c6e4e20, 0x33d57: 0x6c6e5020,\n\t0x33d58: 0x6c6e5220, 0x33d59: 0x6c6e5420, 0x33d5a: 0x6c95cc20, 0x33d5b: 0x6cc1f420,\n\t0x33d5c: 0x6cc1f620, 0x33d5d: 0x6cc1f820, 0x33d5e: 0x6cf15c20, 0x33d5f: 0x6cf15e20,\n\t0x33d60: 0x6cf16020, 0x33d61: 0x6d18a420, 0x33d62: 0x6d210820, 0x33d63: 0x6d1e2a20,\n\t0x33d64: 0x6d210a20, 0x33d65: 0x6d4eaa20, 0x33d66: 0x6d7b1c20, 0x33d67: 0x6d7b1e20,\n\t0x33d68: 0x6d7b2020, 0x33d69: 0x6d7b2220, 0x33d6a: 0x6dc51c20, 0x33d6b: 0x6de22c20,\n\t0x33d6c: 0x6df9ea20, 0x33d6d: 0x6e0d9e20, 0x33d6e: 0x6e28be20, 0x33d6f: 0x6c043420,\n\t0x33d70: 0x6c043620, 0x33d71: 0x6c043820, 0x33d72: 0x6c08c020, 0x33d73: 0x6c08c220,\n\t0x33d74: 0x6c08c420, 0x33d75: 0x6c08c620, 0x33d76: 0x6c10e020, 0x33d77: 0x6c1e3a20,\n\t0x33d78: 0x6c1e3c20, 0x33d79: 0x6c1e3e20, 0x33d7a: 0x6c1e4020, 0x33d7b: 0x6c31e820,\n\t0x33d7c: 0x6c31ea20, 0x33d7d: 0x6c31ec20, 0x33d7e: 0x6c31ee20, 0x33d7f: 0x6c4c6020,\n\t// Block 0xcf6, offset 0x33d80\n\t0x33d80: 0x6c4b0c20, 0x33d81: 0x6c6e5620, 0x33d82: 0x6c4c6220, 0x33d83: 0x6c6e5820,\n\t0x33d84: 0x6c6e5a20, 0x33d85: 0x6c6e5c20, 0x33d86: 0x6c6e5e20, 0x33d87: 0x6c95d220,\n\t0x33d88: 0x6c95d420, 0x33d89: 0x6c95d620, 0x33d8a: 0x6cc20220, 0x33d8b: 0x6cf16820,\n\t0x33d8c: 0x6d210e20, 0x33d8d: 0x6d211020, 0x33d8e: 0x6d211220, 0x33d8f: 0x6d211420,\n\t0x33d90: 0x6d4eae20, 0x33d91: 0x6d4eb020, 0x33d92: 0x6d4eb220, 0x33d93: 0x6d4eb420,\n\t0x33d94: 0x6da2ce20, 0x33d95: 0x6dc2b220, 0x33d96: 0x6e1d1020, 0x33d97: 0x6c10f020,\n\t0x33d98: 0x6c10f220, 0x33d99: 0x6c10f420, 0x33d9a: 0x6c10f620, 0x33d9b: 0x6c10f820,\n\t0x33d9c: 0x6c10fa20, 0x33d9d: 0x6c10fc20, 0x33d9e: 0x6c10fe20, 0x33d9f: 0x6c110020,\n\t0x33da0: 0x6c110220, 0x33da1: 0x6c110420, 0x33da2: 0x6c110620, 0x33da3: 0x6c1e6220,\n\t0x33da4: 0x6c1e6420, 0x33da5: 0x6c1e6620, 0x33da6: 0x6c1e6820, 0x33da7: 0x6c1e6a20,\n\t0x33da8: 0x6c1e6c20, 0x33da9: 0x6c1e6e20, 0x33daa: 0x6c1e7020, 0x33dab: 0x6c1e7220,\n\t0x33dac: 0x6c1e7420, 0x33dad: 0x6c1e7620, 0x33dae: 0x6c1e7820, 0x33daf: 0x6c1e7a20,\n\t0x33db0: 0x6c1e7c20, 0x33db1: 0x6c1e7e20, 0x33db2: 0x6c321420, 0x33db3: 0x6c321620,\n\t0x33db4: 0x6c321820, 0x33db5: 0x6c321a20, 0x33db6: 0x6c321c20, 0x33db7: 0x6c321e20,\n\t0x33db8: 0x6c322020, 0x33db9: 0x6c322220, 0x33dba: 0x6c322420, 0x33dbb: 0x6c322620,\n\t0x33dbc: 0x6c322820, 0x33dbd: 0x6c322a20, 0x33dbe: 0x6c322c20, 0x33dbf: 0x6c322e20,\n\t// Block 0xcf7, offset 0x33dc0\n\t0x33dc0: 0x6c323020, 0x33dc1: 0x6c323220, 0x33dc2: 0x6c323420, 0x33dc3: 0x6c323620,\n\t0x33dc4: 0x6c323820, 0x33dc5: 0x6c323a20, 0x33dc6: 0x6c323c20, 0x33dc7: 0x6c4c8420,\n\t0x33dc8: 0x6c4c8620, 0x33dc9: 0x6c4c8820, 0x33dca: 0x6c4c8a20, 0x33dcb: 0x6c4c8c20,\n\t0x33dcc: 0x6c4c8e20, 0x33dcd: 0x6c4c9020, 0x33dce: 0x6c4c9220, 0x33dcf: 0x6c4c9420,\n\t0x33dd0: 0x6c4c9620, 0x33dd1: 0x6c4c9820, 0x33dd2: 0x6c4c9a20, 0x33dd3: 0x6c4c9c20,\n\t0x33dd4: 0x6c4c9e20, 0x33dd5: 0x6c4ca020, 0x33dd6: 0x6c4ca220, 0x33dd7: 0x6c4ca420,\n\t0x33dd8: 0x6c4ca620, 0x33dd9: 0x6c6e7c20, 0x33dda: 0x6c6e7e20, 0x33ddb: 0x6c6e8020,\n\t0x33ddc: 0x6c6e8220, 0x33ddd: 0x6c6e8420, 0x33dde: 0x6c6e8620, 0x33ddf: 0x6c6e8820,\n\t0x33de0: 0x6c6e8a20, 0x33de1: 0x6c6e8c20, 0x33de2: 0x6c6e8e20, 0x33de3: 0x6c6e9020,\n\t0x33de4: 0x6c6e9220, 0x33de5: 0x6c6e9420, 0x33de6: 0x6c6e9620, 0x33de7: 0x6c6e9820,\n\t0x33de8: 0x6c6e9a20, 0x33de9: 0x6c6e9c20, 0x33dea: 0x6c6e9e20, 0x33deb: 0x6c6ea020,\n\t0x33dec: 0x6c6ea220, 0x33ded: 0x6c6ea420, 0x33dee: 0x6c6ea620, 0x33def: 0x6c6ea820,\n\t0x33df0: 0x6c6eaa20, 0x33df1: 0x6c6eac20, 0x33df2: 0x6c6bf220, 0x33df3: 0x6c95fa20,\n\t0x33df4: 0x6c95fc20, 0x33df5: 0x6c95fe20, 0x33df6: 0x6c960020, 0x33df7: 0x6c960220,\n\t0x33df8: 0x6c960420, 0x33df9: 0x6c960620, 0x33dfa: 0x6c960820, 0x33dfb: 0x6c960a20,\n\t0x33dfc: 0x6c960c20, 0x33dfd: 0x6c960e20, 0x33dfe: 0x6c961020, 0x33dff: 0x6c961220,\n\t// Block 0xcf8, offset 0x33e00\n\t0x33e00: 0x6c961420, 0x33e01: 0x6c961620, 0x33e02: 0x6c961820, 0x33e03: 0x6c961a20,\n\t0x33e04: 0x6c961c20, 0x33e05: 0x6c961e20, 0x33e06: 0x6c962020, 0x33e07: 0x6c962220,\n\t0x33e08: 0x6c962420, 0x33e09: 0x6c962620, 0x33e0a: 0x6c962820, 0x33e0b: 0x6c962a20,\n\t0x33e0c: 0x6c962c20, 0x33e0d: 0x6c962e20, 0x33e0e: 0x6c963020, 0x33e0f: 0x6c963220,\n\t0x33e10: 0x6c963420, 0x33e11: 0x6c963620, 0x33e12: 0x6c963820, 0x33e13: 0x6c963a20,\n\t0x33e14: 0x6c963c20, 0x33e15: 0x6c963e20, 0x33e16: 0x6cb78820, 0x33e17: 0x6c964020,\n\t0x33e18: 0x6c964220, 0x33e19: 0x6c964420, 0x33e1a: 0x6c964620, 0x33e1b: 0x6cc21a20,\n\t0x33e1c: 0x6cc21c20, 0x33e1d: 0x6cc21e20, 0x33e1e: 0x6cc22020, 0x33e1f: 0x6cc22220,\n\t0x33e20: 0x6cc22420, 0x33e21: 0x6cc22620, 0x33e22: 0x6cc22820, 0x33e23: 0x6cc22a20,\n\t0x33e24: 0x6cc22c20, 0x33e25: 0x6cc22e20, 0x33e26: 0x6cc23020, 0x33e27: 0x6cc23220,\n\t0x33e28: 0x6cc23420, 0x33e29: 0x6cc23620, 0x33e2a: 0x6cc23820, 0x33e2b: 0x6cc23a20,\n\t0x33e2c: 0x6cc23c20, 0x33e2d: 0x6cc23e20, 0x33e2e: 0x6cc24020, 0x33e2f: 0x6cc24220,\n\t0x33e30: 0x6cc24420, 0x33e31: 0x6cc24620, 0x33e32: 0x6cc24820, 0x33e33: 0x6cc24a20,\n\t0x33e34: 0x6cc24c20, 0x33e35: 0x6cc24e20, 0x33e36: 0x6cc25020, 0x33e37: 0x6cc25220,\n\t0x33e38: 0x6cc25420, 0x33e39: 0x6cc25620, 0x33e3a: 0x6cc25820, 0x33e3b: 0x6cc25a20,\n\t0x33e3c: 0x6cf17a20, 0x33e3d: 0x6cc25c20, 0x33e3e: 0x6cc25e20, 0x33e3f: 0x6cf17c20,\n\t// Block 0xcf9, offset 0x33e40\n\t0x33e40: 0x6cf17e20, 0x33e41: 0x6cf18020, 0x33e42: 0x6cf18220, 0x33e43: 0x6cf18420,\n\t0x33e44: 0x6cf18620, 0x33e45: 0x6cf18820, 0x33e46: 0x6cf18a20, 0x33e47: 0x6cf18c20,\n\t0x33e48: 0x6cf18e20, 0x33e49: 0x6cf19020, 0x33e4a: 0x6cf19220, 0x33e4b: 0x6cf19420,\n\t0x33e4c: 0x6cf19620, 0x33e4d: 0x6cf19820, 0x33e4e: 0x6cf19a20, 0x33e4f: 0x6cf19c20,\n\t0x33e50: 0x6cf19e20, 0x33e51: 0x6cf1a020, 0x33e52: 0x6cf1a220, 0x33e53: 0x6cf1a420,\n\t0x33e54: 0x6cf1a620, 0x33e55: 0x6d213620, 0x33e56: 0x6d213820, 0x33e57: 0x6d213a20,\n\t0x33e58: 0x6d213c20, 0x33e59: 0x6d213e20, 0x33e5a: 0x6d214020, 0x33e5b: 0x6d214220,\n\t0x33e5c: 0x6d214420, 0x33e5d: 0x6d214620, 0x33e5e: 0x6d214820, 0x33e5f: 0x6d214a20,\n\t0x33e60: 0x6d214c20, 0x33e61: 0x6d214e20, 0x33e62: 0x6d215020, 0x33e63: 0x6d215220,\n\t0x33e64: 0x6d215420, 0x33e65: 0x6d215620, 0x33e66: 0x6d215820, 0x33e67: 0x6d215a20,\n\t0x33e68: 0x6d215c20, 0x33e69: 0x6d215e20, 0x33e6a: 0x6d216020, 0x33e6b: 0x6d216220,\n\t0x33e6c: 0x6d216420, 0x33e6d: 0x6d4ed020, 0x33e6e: 0x6d4ed220, 0x33e6f: 0x6d4ed420,\n\t0x33e70: 0x6d4ed620, 0x33e71: 0x6d4ed820, 0x33e72: 0x6d4eda20, 0x33e73: 0x6d4edc20,\n\t0x33e74: 0x6d4ede20, 0x33e75: 0x6d4ee020, 0x33e76: 0x6d4ee220, 0x33e77: 0x6d4ee420,\n\t0x33e78: 0x6d4ee620, 0x33e79: 0x6d4ee820, 0x33e7a: 0x6d4eea20, 0x33e7b: 0x6d4eec20,\n\t0x33e7c: 0x6d4eee20, 0x33e7d: 0x6d4ef020, 0x33e7e: 0x6d4ef220, 0x33e7f: 0x6d4ef420,\n\t// Block 0xcfa, offset 0x33e80\n\t0x33e80: 0x6d4ef620, 0x33e81: 0x6d4ef820, 0x33e82: 0x6d7b3a20, 0x33e83: 0x6d7b3c20,\n\t0x33e84: 0x6d7b3e20, 0x33e85: 0x6d7b4020, 0x33e86: 0x6d7b4220, 0x33e87: 0x6d7b4420,\n\t0x33e88: 0x6d7b4620, 0x33e89: 0x6d7b4820, 0x33e8a: 0x6d7b4a20, 0x33e8b: 0x6d7b4c20,\n\t0x33e8c: 0x6d7b4e20, 0x33e8d: 0x6d7b5020, 0x33e8e: 0x6d7b5220, 0x33e8f: 0x6d7b5420,\n\t0x33e90: 0x6d7b5620, 0x33e91: 0x6da37c20, 0x33e92: 0x6da37e20, 0x33e93: 0x6da38020,\n\t0x33e94: 0x6da38220, 0x33e95: 0x6da38420, 0x33e96: 0x6da38620, 0x33e97: 0x6da38820,\n\t0x33e98: 0x6da38a20, 0x33e99: 0x6da38c20, 0x33e9a: 0x6da38e20, 0x33e9b: 0x6da39020,\n\t0x33e9c: 0x6db42620, 0x33e9d: 0x6da39220, 0x33e9e: 0x6da39420, 0x33e9f: 0x6da39620,\n\t0x33ea0: 0x6da39820, 0x33ea1: 0x6dc52220, 0x33ea2: 0x6dc52420, 0x33ea3: 0x6dc52620,\n\t0x33ea4: 0x6dc52820, 0x33ea5: 0x6dc52a20, 0x33ea6: 0x6dc52c20, 0x33ea7: 0x6dc52e20,\n\t0x33ea8: 0x6dc53020, 0x33ea9: 0x6dc53220, 0x33eaa: 0x6dc53420, 0x33eab: 0x6dc53620,\n\t0x33eac: 0x6dc53820, 0x33ead: 0x6dc53a20, 0x33eae: 0x6de23a20, 0x33eaf: 0x6de23c20,\n\t0x33eb0: 0x6de23e20, 0x33eb1: 0x6de24020, 0x33eb2: 0x6de24220, 0x33eb3: 0x6de24420,\n\t0x33eb4: 0x6de24620, 0x33eb5: 0x6de24820, 0x33eb6: 0x6de24a20, 0x33eb7: 0x6de24c20,\n\t0x33eb8: 0x6de24e20, 0x33eb9: 0x6de25020, 0x33eba: 0x6de25220, 0x33ebb: 0x6df9f420,\n\t0x33ebc: 0x6df9f620, 0x33ebd: 0x6df9f820, 0x33ebe: 0x6df9fa20, 0x33ebf: 0x6df9fc20,\n\t// Block 0xcfb, offset 0x33ec0\n\t0x33ec0: 0x6df9fe20, 0x33ec1: 0x6dfa0020, 0x33ec2: 0x6dfa0220, 0x33ec3: 0x6dfa0420,\n\t0x33ec4: 0x6e0da220, 0x33ec5: 0x6e0da420, 0x33ec6: 0x6e0da620, 0x33ec7: 0x6e0f2020,\n\t0x33ec8: 0x6e1d1420, 0x33ec9: 0x6e1d1620, 0x33eca: 0x6e1d1820, 0x33ecb: 0x6e1d1a20,\n\t0x33ecc: 0x6e1d1c20, 0x33ecd: 0x6e28c020, 0x33ece: 0x6e28c220, 0x33ecf: 0x6e28c420,\n\t0x33ed0: 0x6e28c620, 0x33ed1: 0x6e28c820, 0x33ed2: 0x6e321220, 0x33ed3: 0x6e3d2220,\n\t0x33ed4: 0x6e403220, 0x33ed5: 0x6e403420, 0x33ed6: 0x6e429420, 0x33ed7: 0x6c043a20,\n\t0x33ed8: 0x6c08d220, 0x33ed9: 0x6c08d420, 0x33eda: 0x6c08d620, 0x33edb: 0x6c1e8620,\n\t0x33edc: 0x6c110c20, 0x33edd: 0x6c1e8820, 0x33ede: 0x6c1e8a20, 0x33edf: 0x6c324a20,\n\t0x33ee0: 0x6c4cb420, 0x33ee1: 0x6c4cb620, 0x33ee2: 0x6c4cb820, 0x33ee3: 0x6c4cba20,\n\t0x33ee4: 0x6c4cbc20, 0x33ee5: 0x6c4cbe20, 0x33ee6: 0x6c6ebc20, 0x33ee7: 0x6c6ebe20,\n\t0x33ee8: 0x6c965220, 0x33ee9: 0x6c965420, 0x33eea: 0x6c965620, 0x33eeb: 0x6cc26620,\n\t0x33eec: 0x6c01da20, 0x33eed: 0x6c044020, 0x33eee: 0x6c08dc20, 0x33eef: 0x6c08de20,\n\t0x33ef0: 0x6c111020, 0x33ef1: 0x6c111220, 0x33ef2: 0x6c111420, 0x33ef3: 0x6c1e9620,\n\t0x33ef4: 0x6c4cc620, 0x33ef5: 0x6c1e9820, 0x33ef6: 0x6c1e9a20, 0x33ef7: 0x6c1e9c20,\n\t0x33ef8: 0x6c1e9e20, 0x33ef9: 0x6c1ea020, 0x33efa: 0x6c1ea220, 0x33efb: 0x6c324e20,\n\t0x33efc: 0x6c4cc820, 0x33efd: 0x6c325020, 0x33efe: 0x6c325220, 0x33eff: 0x6c325420,\n\t// Block 0xcfc, offset 0x33f00\n\t0x33f00: 0x6c325620, 0x33f01: 0x6c325820, 0x33f02: 0x6c4cca20, 0x33f03: 0x6c4ccc20,\n\t0x33f04: 0x6c4cce20, 0x33f05: 0x6c4cd020, 0x33f06: 0x6c4cd220, 0x33f07: 0x6c4cd420,\n\t0x33f08: 0x6c4cd620, 0x33f09: 0x6c4cd820, 0x33f0a: 0x6c4cda20, 0x33f0b: 0x6c4cdc20,\n\t0x33f0c: 0x6c4cde20, 0x33f0d: 0x6c6ec420, 0x33f0e: 0x6c6ec620, 0x33f0f: 0x6c6ec820,\n\t0x33f10: 0x6c6eca20, 0x33f11: 0x6c6ecc20, 0x33f12: 0x6c6ece20, 0x33f13: 0x6c6ed020,\n\t0x33f14: 0x6c965a20, 0x33f15: 0x6c965c20, 0x33f16: 0x6c965e20, 0x33f17: 0x6c966020,\n\t0x33f18: 0x6c966220, 0x33f19: 0x6c966420, 0x33f1a: 0x6cc26820, 0x33f1b: 0x6cc26a20,\n\t0x33f1c: 0x6cc26c20, 0x33f1d: 0x6cc26e20, 0x33f1e: 0x6cc27020, 0x33f1f: 0x6cc27220,\n\t0x33f20: 0x6cc27420, 0x33f21: 0x6cc27620, 0x33f22: 0x6cf1ae20, 0x33f23: 0x6cf1b020,\n\t0x33f24: 0x6cf1b220, 0x33f25: 0x6cf1b420, 0x33f26: 0x6d217620, 0x33f27: 0x6d217820,\n\t0x33f28: 0x6d217a20, 0x33f29: 0x6d217c20, 0x33f2a: 0x6d217e20, 0x33f2b: 0x6d218020,\n\t0x33f2c: 0x6d4f0220, 0x33f2d: 0x6d1a0c20, 0x33f2e: 0x6d7b5e20, 0x33f2f: 0x6d7b6020,\n\t0x33f30: 0x6d7b6220, 0x33f31: 0x6d7b6420, 0x33f32: 0x6da3a020, 0x33f33: 0x6da3a220,\n\t0x33f34: 0x6da3a420, 0x33f35: 0x6de25620, 0x33f36: 0x6e1d1e20, 0x33f37: 0x6e403620,\n\t0x33f38: 0x6e403820, 0x33f39: 0x6e442c20, 0x33f3a: 0x6c01de20, 0x33f3b: 0x6c044420,\n\t0x33f3c: 0x6c044620, 0x33f3d: 0x6c111c20, 0x33f3e: 0x6c111e20, 0x33f3f: 0x6c1ea820,\n\t// Block 0xcfd, offset 0x33f40\n\t0x33f40: 0x6c1eaa20, 0x33f41: 0x6c1eac20, 0x33f42: 0x6c1eae20, 0x33f43: 0x6c1eb020,\n\t0x33f44: 0x6c325c20, 0x33f45: 0x6c325e20, 0x33f46: 0x6c4ce220, 0x33f47: 0x6c4ce420,\n\t0x33f48: 0x6c4ce620, 0x33f49: 0x6c4ce820, 0x33f4a: 0x6c4cea20, 0x33f4b: 0x6c6ed420,\n\t0x33f4c: 0x6c6ed620, 0x33f4d: 0x6c966620, 0x33f4e: 0x6cc27c20, 0x33f4f: 0x6cf1bc20,\n\t0x33f50: 0x6cf1be20, 0x33f51: 0x6d4f0420, 0x33f52: 0x6d4f0620, 0x33f53: 0x6d7b6620,\n\t0x33f54: 0x6da3a820, 0x33f55: 0x6dc53e20, 0x33f56: 0x6e0daa20, 0x33f57: 0x6c01e220,\n\t0x33f58: 0x6c01e420, 0x33f59: 0x6c045020, 0x33f5a: 0x6c045220, 0x33f5b: 0x6c045420,\n\t0x33f5c: 0x6c045620, 0x33f5d: 0x6c045820, 0x33f5e: 0x6c045a20, 0x33f5f: 0x6c045c20,\n\t0x33f60: 0x6c045e20, 0x33f61: 0x6c046020, 0x33f62: 0x6c08e620, 0x33f63: 0x6c08e820,\n\t0x33f64: 0x6c08ea20, 0x33f65: 0x6c08ec20, 0x33f66: 0x6c08ee20, 0x33f67: 0x6c08f020,\n\t0x33f68: 0x6c08f220, 0x33f69: 0x6c08f420, 0x33f6a: 0x6c08f620, 0x33f6b: 0x6c113020,\n\t0x33f6c: 0x6c113220, 0x33f6d: 0x6c113420, 0x33f6e: 0x6c113620, 0x33f6f: 0x6c113820,\n\t0x33f70: 0x6c113a20, 0x33f71: 0x6c113c20, 0x33f72: 0x6c113e20, 0x33f73: 0x6c114020,\n\t0x33f74: 0x6c114220, 0x33f75: 0x6c114420, 0x33f76: 0x6c114620, 0x33f77: 0x6c1ebe20,\n\t0x33f78: 0x6c1ec020, 0x33f79: 0x6c1ec220, 0x33f7a: 0x6c1ec420, 0x33f7b: 0x6c1ec620,\n\t0x33f7c: 0x6c1ec820, 0x33f7d: 0x6c1eca20, 0x33f7e: 0x6c1ecc20, 0x33f7f: 0x6c1ece20,\n\t// Block 0xcfe, offset 0x33f80\n\t0x33f80: 0x6c1ed020, 0x33f81: 0x6c1ed220, 0x33f82: 0x6c1ed420, 0x33f83: 0x6c1ed620,\n\t0x33f84: 0x6c1ed820, 0x33f85: 0x6c1eda20, 0x33f86: 0x6c327c20, 0x33f87: 0x6c327e20,\n\t0x33f88: 0x6c328020, 0x33f89: 0x6c328220, 0x33f8a: 0x6c328420, 0x33f8b: 0x6c328620,\n\t0x33f8c: 0x6c328820, 0x33f8d: 0x6c328a20, 0x33f8e: 0x6c328c20, 0x33f8f: 0x6c328e20,\n\t0x33f90: 0x6c329020, 0x33f91: 0x6c329220, 0x33f92: 0x6c329420, 0x33f93: 0x6c329620,\n\t0x33f94: 0x6c4d0620, 0x33f95: 0x6c4d0820, 0x33f96: 0x6c4d0a20, 0x33f97: 0x6c4d0c20,\n\t0x33f98: 0x6c4d0e20, 0x33f99: 0x6c4d1020, 0x33f9a: 0x6c4d1220, 0x33f9b: 0x6c4d1420,\n\t0x33f9c: 0x6c4d1620, 0x33f9d: 0x6c4d1820, 0x33f9e: 0x6c4d1a20, 0x33f9f: 0x6c4d1c20,\n\t0x33fa0: 0x6c4d1e20, 0x33fa1: 0x6c4d2020, 0x33fa2: 0x6c4d2220, 0x33fa3: 0x6c4d2420,\n\t0x33fa4: 0x6c6ee420, 0x33fa5: 0x6c6ee620, 0x33fa6: 0x6c6ee820, 0x33fa7: 0x6c6eea20,\n\t0x33fa8: 0x6c6eec20, 0x33fa9: 0x6c6eee20, 0x33faa: 0x6c6ef020, 0x33fab: 0x6c6ef220,\n\t0x33fac: 0x6c6ef420, 0x33fad: 0x6c6ef620, 0x33fae: 0x6c967a20, 0x33faf: 0x6c967c20,\n\t0x33fb0: 0x6c967e20, 0x33fb1: 0x6c968020, 0x33fb2: 0x6c968220, 0x33fb3: 0x6c968420,\n\t0x33fb4: 0x6c968620, 0x33fb5: 0x6c968820, 0x33fb6: 0x6c968a20, 0x33fb7: 0x6c968c20,\n\t0x33fb8: 0x6c968e20, 0x33fb9: 0x6c969020, 0x33fba: 0x6c969220, 0x33fbb: 0x6c969420,\n\t0x33fbc: 0x6c969620, 0x33fbd: 0x6c969820, 0x33fbe: 0x6c969a20, 0x33fbf: 0x6c969c20,\n\t// Block 0xcff, offset 0x33fc0\n\t0x33fc0: 0x6cc28e20, 0x33fc1: 0x6cc29020, 0x33fc2: 0x6cc29220, 0x33fc3: 0x6cc29420,\n\t0x33fc4: 0x6cc29620, 0x33fc5: 0x6cc29820, 0x33fc6: 0x6cc29a20, 0x33fc7: 0x6cc29c20,\n\t0x33fc8: 0x6cc29e20, 0x33fc9: 0x6cc2a020, 0x33fca: 0x6cf1d020, 0x33fcb: 0x6cf1d220,\n\t0x33fcc: 0x6cf1d420, 0x33fcd: 0x6cf1d620, 0x33fce: 0x6cf1d820, 0x33fcf: 0x6cf1da20,\n\t0x33fd0: 0x6cf1dc20, 0x33fd1: 0x6cf1de20, 0x33fd2: 0x6d218c20, 0x33fd3: 0x6d218e20,\n\t0x33fd4: 0x6d219020, 0x33fd5: 0x6d219220, 0x33fd6: 0x6d219420, 0x33fd7: 0x6d219620,\n\t0x33fd8: 0x6d219820, 0x33fd9: 0x6d219a20, 0x33fda: 0x6d219c20, 0x33fdb: 0x6d219e20,\n\t0x33fdc: 0x6d21a020, 0x33fdd: 0x6d21a220, 0x33fde: 0x6d4f1220, 0x33fdf: 0x6d4f1420,\n\t0x33fe0: 0x6d4f1620, 0x33fe1: 0x6d4f1820, 0x33fe2: 0x6d4f1a20, 0x33fe3: 0x6d4f1c20,\n\t0x33fe4: 0x6d4f1e20, 0x33fe5: 0x6d7b6c20, 0x33fe6: 0x6d7b6e20, 0x33fe7: 0x6d7b7020,\n\t0x33fe8: 0x6d7b7220, 0x33fe9: 0x6d7b7420, 0x33fea: 0x6d7b7620, 0x33feb: 0x6d8a6c20,\n\t0x33fec: 0x6da3ac20, 0x33fed: 0x6da3ae20, 0x33fee: 0x6da3b020, 0x33fef: 0x6da3b220,\n\t0x33ff0: 0x6da3b420, 0x33ff1: 0x6da3b620, 0x33ff2: 0x6dc54220, 0x33ff3: 0x6dc54420,\n\t0x33ff4: 0x6dc54620, 0x33ff5: 0x6dc54820, 0x33ff6: 0x6dc54a20, 0x33ff7: 0x6dc54c20,\n\t0x33ff8: 0x6de25820, 0x33ff9: 0x6de25a20, 0x33ffa: 0x6de25c20, 0x33ffb: 0x6de25e20,\n\t0x33ffc: 0x6de26020, 0x33ffd: 0x6de26220, 0x33ffe: 0x6de26420, 0x33fff: 0x6dfa0620,\n\t// Block 0xd00, offset 0x34000\n\t0x34000: 0x6dfa0820, 0x34001: 0x6dfa0a20, 0x34002: 0x6dfa0c20, 0x34003: 0x6dfa0e20,\n\t0x34004: 0x6dfa1020, 0x34005: 0x6dfa1220, 0x34006: 0x6e0dae20, 0x34007: 0x6e0db020,\n\t0x34008: 0x6e0db220, 0x34009: 0x6e0db420, 0x3400a: 0x6e1d2420, 0x3400b: 0x6e321420,\n\t0x3400c: 0x6e388220, 0x3400d: 0x6e429620, 0x3400e: 0x6e462820, 0x3400f: 0x6c114c20,\n\t0x34010: 0x6c114e20, 0x34011: 0x6c115020, 0x34012: 0x6c115220, 0x34013: 0x6c1edc20,\n\t0x34014: 0x6c32a020, 0x34015: 0x6c32a220, 0x34016: 0x6c3bf820, 0x34017: 0x6c4d2c20,\n\t0x34018: 0x6c4d2e20, 0x34019: 0x6c4d3020, 0x3401a: 0x6c4d3220, 0x3401b: 0x6c6efa20,\n\t0x3401c: 0x6c6efc20, 0x3401d: 0x6c6efe20, 0x3401e: 0x6c96a220, 0x3401f: 0x6c96a420,\n\t0x34020: 0x6c96a620, 0x34021: 0x6c96a820, 0x34022: 0x6cc2a820, 0x34023: 0x6cc2aa20,\n\t0x34024: 0x6cc2ac20, 0x34025: 0x6cf1e420, 0x34026: 0x6cf1e620, 0x34027: 0x6cf1e820,\n\t0x34028: 0x6d21a820, 0x34029: 0x6d21aa20, 0x3402a: 0x6d21ac20, 0x3402b: 0x6d21ae20,\n\t0x3402c: 0x6d21b020, 0x3402d: 0x6d4f2020, 0x3402e: 0x6d4f2220, 0x3402f: 0x6d7b7e20,\n\t0x34030: 0x6d7adc20, 0x34031: 0x6d7b8020, 0x34032: 0x6da3ba20, 0x34033: 0x6dc55220,\n\t0x34034: 0x6dc55420, 0x34035: 0x6dc55620, 0x34036: 0x6dc55820, 0x34037: 0x6de26a20,\n\t0x34038: 0x6de26c20, 0x34039: 0x6de26e20, 0x3403a: 0x6de27020, 0x3403b: 0x6dfa1420,\n\t0x3403c: 0x6dfa1620, 0x3403d: 0x6e1d2620, 0x3403e: 0x6e28cc20, 0x3403f: 0x6e3d2620,\n\t// Block 0xd01, offset 0x34040\n\t0x34040: 0x6c08fa20, 0x34041: 0x6c08fc20, 0x34042: 0x6c08fe20, 0x34043: 0x6c115820,\n\t0x34044: 0x6c115a20, 0x34045: 0x6c115c20, 0x34046: 0x6c115e20, 0x34047: 0x6c1ee620,\n\t0x34048: 0x6c1ee820, 0x34049: 0x6c32aa20, 0x3404a: 0x6c32ac20, 0x3404b: 0x6c32ae20,\n\t0x3404c: 0x6c32b020, 0x3404d: 0x6c32b220, 0x3404e: 0x6c4d3820, 0x3404f: 0x6c6f0420,\n\t0x34050: 0x6c6f0620, 0x34051: 0x6c6f0820, 0x34052: 0x6c6f0a20, 0x34053: 0x6c6f0c20,\n\t0x34054: 0x6c96b220, 0x34055: 0x6c96b420, 0x34056: 0x6c96b620, 0x34057: 0x6c96b820,\n\t0x34058: 0x6c96ba20, 0x34059: 0x6c96bc20, 0x3405a: 0x6c96be20, 0x3405b: 0x6c96c020,\n\t0x3405c: 0x6c96c220, 0x3405d: 0x6c96c420, 0x3405e: 0x6cc2b420, 0x3405f: 0x6cc2b620,\n\t0x34060: 0x6cc2b820, 0x34061: 0x6cc2ba20, 0x34062: 0x6cc2bc20, 0x34063: 0x6cc2be20,\n\t0x34064: 0x6cf1ec20, 0x34065: 0x6cf1ee20, 0x34066: 0x6cf1f020, 0x34067: 0x6cf1f220,\n\t0x34068: 0x6cf1f420, 0x34069: 0x6d21b820, 0x3406a: 0x6d21ba20, 0x3406b: 0x6d4f2a20,\n\t0x3406c: 0x6d4f2c20, 0x3406d: 0x6d4f2e20, 0x3406e: 0x6d4f3020, 0x3406f: 0x6d4f3220,\n\t0x34070: 0x6d7b8420, 0x34071: 0x6d7b8620, 0x34072: 0x6d7b8820, 0x34073: 0x6d7b8a20,\n\t0x34074: 0x6da3bc20, 0x34075: 0x6dc55c20, 0x34076: 0x6e0db820, 0x34077: 0x6dfa1820,\n\t0x34078: 0x6e1d2a20, 0x34079: 0x6e1d2c20, 0x3407a: 0x6e1d2e20, 0x3407b: 0x6e388620,\n\t0x3407c: 0x6c046220, 0x3407d: 0x6c046420, 0x3407e: 0x6c090220, 0x3407f: 0x6c090420,\n\t// Block 0xd02, offset 0x34080\n\t0x34080: 0x6c116620, 0x34081: 0x6c116820, 0x34082: 0x6c116a20, 0x34083: 0x6c116c20,\n\t0x34084: 0x6c1efe20, 0x34085: 0x6c1f0020, 0x34086: 0x6c1f0220, 0x34087: 0x6c1f0420,\n\t0x34088: 0x6c1f0620, 0x34089: 0x6c1f0820, 0x3408a: 0x6c1f0a20, 0x3408b: 0x6c1f0c20,\n\t0x3408c: 0x6c1f0e20, 0x3408d: 0x6c1f1020, 0x3408e: 0x6c1f1220, 0x3408f: 0x6c1f1420,\n\t0x34090: 0x6c1f1620, 0x34091: 0x6c1f1820, 0x34092: 0x6c32ca20, 0x34093: 0x6c32cc20,\n\t0x34094: 0x6c32ce20, 0x34095: 0x6c32d020, 0x34096: 0x6c32d220, 0x34097: 0x6c32d420,\n\t0x34098: 0x6c32d620, 0x34099: 0x6c32d820, 0x3409a: 0x6c32da20, 0x3409b: 0x6c32dc20,\n\t0x3409c: 0x6c4d6020, 0x3409d: 0x6c4d6220, 0x3409e: 0x6c4d6420, 0x3409f: 0x6c4d6620,\n\t0x340a0: 0x6c4d6820, 0x340a1: 0x6c4d6a20, 0x340a2: 0x6c4d6c20, 0x340a3: 0x6c4d6e20,\n\t0x340a4: 0x6c4d7020, 0x340a5: 0x6c4d7220, 0x340a6: 0x6c4d7420, 0x340a7: 0x6c4d7620,\n\t0x340a8: 0x6c4d7820, 0x340a9: 0x6c4d7a20, 0x340aa: 0x6c6f2420, 0x340ab: 0x6c6f2620,\n\t0x340ac: 0x6c6f2820, 0x340ad: 0x6c6f2a20, 0x340ae: 0x6c6f2c20, 0x340af: 0x6c6f2e20,\n\t0x340b0: 0x6c6f3020, 0x340b1: 0x6c6f3220, 0x340b2: 0x6c6f3420, 0x340b3: 0x6c6f3620,\n\t0x340b4: 0x6c6f3820, 0x340b5: 0x6c6f3a20, 0x340b6: 0x6c6f3c20, 0x340b7: 0x6c6f3e20,\n\t0x340b8: 0x6c6f4020, 0x340b9: 0x6c6f4220, 0x340ba: 0x6c6f4420, 0x340bb: 0x6c6f4620,\n\t0x340bc: 0x6c6f4820, 0x340bd: 0x6c6f4a20, 0x340be: 0x6c6f4c20, 0x340bf: 0x6c6f4e20,\n\t// Block 0xd03, offset 0x340c0\n\t0x340c0: 0x6c6f5020, 0x340c1: 0x6c96ee20, 0x340c2: 0x6c96f020, 0x340c3: 0x6c96f220,\n\t0x340c4: 0x6c96f420, 0x340c5: 0x6c96f620, 0x340c6: 0x6c96f820, 0x340c7: 0x6c96fa20,\n\t0x340c8: 0x6c96fc20, 0x340c9: 0x6c96fe20, 0x340ca: 0x6c970020, 0x340cb: 0x6c970220,\n\t0x340cc: 0x6c970420, 0x340cd: 0x6c970620, 0x340ce: 0x6c970820, 0x340cf: 0x6c970a20,\n\t0x340d0: 0x6c970c20, 0x340d1: 0x6c970e20, 0x340d2: 0x6c971020, 0x340d3: 0x6c971220,\n\t0x340d4: 0x6c971420, 0x340d5: 0x6c971620, 0x340d6: 0x6c971820, 0x340d7: 0x6c971a20,\n\t0x340d8: 0x6c971c20, 0x340d9: 0x6c971e20, 0x340da: 0x6c972020, 0x340db: 0x6c972220,\n\t0x340dc: 0x6c972420, 0x340dd: 0x6c972620, 0x340de: 0x6c972820, 0x340df: 0x6cc2da20,\n\t0x340e0: 0x6cc2dc20, 0x340e1: 0x6cc2de20, 0x340e2: 0x6cc2e020, 0x340e3: 0x6cc2e220,\n\t0x340e4: 0x6cc2e420, 0x340e5: 0x6cc2e620, 0x340e6: 0x6cc2e820, 0x340e7: 0x6cc2ea20,\n\t0x340e8: 0x6cc2ec20, 0x340e9: 0x6cc2ee20, 0x340ea: 0x6cc2f020, 0x340eb: 0x6cc2f220,\n\t0x340ec: 0x6cde5820, 0x340ed: 0x6cc2f420, 0x340ee: 0x6cc2f620, 0x340ef: 0x6cc2f820,\n\t0x340f0: 0x6cc2fa20, 0x340f1: 0x6cc2fc20, 0x340f2: 0x6cf20220, 0x340f3: 0x6cf20420,\n\t0x340f4: 0x6cf20620, 0x340f5: 0x6cf20820, 0x340f6: 0x6cf20a20, 0x340f7: 0x6cf20c20,\n\t0x340f8: 0x6cf20e20, 0x340f9: 0x6cf21020, 0x340fa: 0x6cf21220, 0x340fb: 0x6cf21420,\n\t0x340fc: 0x6cf21620, 0x340fd: 0x6cf21820, 0x340fe: 0x6cf21a20, 0x340ff: 0x6cf21c20,\n\t// Block 0xd04, offset 0x34100\n\t0x34100: 0x6cf21e20, 0x34101: 0x6cf22020, 0x34102: 0x6cf22220, 0x34103: 0x6cf22420,\n\t0x34104: 0x6cf22620, 0x34105: 0x6cf22820, 0x34106: 0x6cf22a20, 0x34107: 0x6cf22c20,\n\t0x34108: 0x6cf22e20, 0x34109: 0x6cf23020, 0x3410a: 0x6cf23220, 0x3410b: 0x6cf23420,\n\t0x3410c: 0x6cf23620, 0x3410d: 0x6cf23820, 0x3410e: 0x6cf23a20, 0x3410f: 0x6d21c820,\n\t0x34110: 0x6d21ca20, 0x34111: 0x6d21cc20, 0x34112: 0x6d21ce20, 0x34113: 0x6d21d020,\n\t0x34114: 0x6d21d220, 0x34115: 0x6d21d420, 0x34116: 0x6d21d620, 0x34117: 0x6d21d820,\n\t0x34118: 0x6d21da20, 0x34119: 0x6d21dc20, 0x3411a: 0x6d21de20, 0x3411b: 0x6d21e020,\n\t0x3411c: 0x6d21e220, 0x3411d: 0x6d21e420, 0x3411e: 0x6d21e620, 0x3411f: 0x6d21e820,\n\t0x34120: 0x6d21ea20, 0x34121: 0x6d21ec20, 0x34122: 0x6d21ee20, 0x34123: 0x6d21f020,\n\t0x34124: 0x6d21f220, 0x34125: 0x6d21f420, 0x34126: 0x6d21f620, 0x34127: 0x6cf23c20,\n\t0x34128: 0x6d21f820, 0x34129: 0x6d21fa20, 0x3412a: 0x6d4f4620, 0x3412b: 0x6d4f4820,\n\t0x3412c: 0x6d4f4a20, 0x3412d: 0x6d4f4c20, 0x3412e: 0x6d4f4e20, 0x3412f: 0x6d4f5020,\n\t0x34130: 0x6d4f5220, 0x34131: 0x6d4f5420, 0x34132: 0x6d4f5620, 0x34133: 0x6d4f5820,\n\t0x34134: 0x6d4f5a20, 0x34135: 0x6d4f5c20, 0x34136: 0x6d4f5e20, 0x34137: 0x6d4f6020,\n\t0x34138: 0x6d4f6220, 0x34139: 0x6d7b9420, 0x3413a: 0x6d7b9620, 0x3413b: 0x6d7b9820,\n\t0x3413c: 0x6d7b9a20, 0x3413d: 0x6d7b9c20, 0x3413e: 0x6d7b9e20, 0x3413f: 0x6d7ba020,\n\t// Block 0xd05, offset 0x34140\n\t0x34140: 0x6d7ba220, 0x34141: 0x6d7ba420, 0x34142: 0x6d7ba620, 0x34143: 0x6d7ba820,\n\t0x34144: 0x6d7baa20, 0x34145: 0x6d912c20, 0x34146: 0x6d7bac20, 0x34147: 0x6d7bae20,\n\t0x34148: 0x6da3c620, 0x34149: 0x6da3c820, 0x3414a: 0x6da3ca20, 0x3414b: 0x6db4d020,\n\t0x3414c: 0x6da3cc20, 0x3414d: 0x6da3ce20, 0x3414e: 0x6da3d020, 0x3414f: 0x6dc55e20,\n\t0x34150: 0x6dc56020, 0x34151: 0x6dc56220, 0x34152: 0x6dc56420, 0x34153: 0x6dc56620,\n\t0x34154: 0x6dc56820, 0x34155: 0x6dc56a20, 0x34156: 0x6dc56c20, 0x34157: 0x6dc56e20,\n\t0x34158: 0x6de27620, 0x34159: 0x6de27820, 0x3415a: 0x6de27a20, 0x3415b: 0x6df7ca20,\n\t0x3415c: 0x6de27c20, 0x3415d: 0x6dfa2020, 0x3415e: 0x6dfa2220, 0x3415f: 0x6dfa2420,\n\t0x34160: 0x6dfa2620, 0x34161: 0x6e01e220, 0x34162: 0x6dfa2820, 0x34163: 0x6e0dbc20,\n\t0x34164: 0x6e0dbe20, 0x34165: 0x6e1d3020, 0x34166: 0x6e28ce20, 0x34167: 0x6e388820,\n\t0x34168: 0x6e403a20, 0x34169: 0x6c01f220, 0x3416a: 0x6c046a20, 0x3416b: 0x6c091020,\n\t0x3416c: 0x6c091220, 0x3416d: 0x6c091420, 0x3416e: 0x6c091620, 0x3416f: 0x6c091820,\n\t0x34170: 0x6c091a20, 0x34171: 0x6c091c20, 0x34172: 0x6c118a20, 0x34173: 0x6c118c20,\n\t0x34174: 0x6c118e20, 0x34175: 0x6c119020, 0x34176: 0x6c119220, 0x34177: 0x6c119420,\n\t0x34178: 0x6c119620, 0x34179: 0x6c119820, 0x3417a: 0x6c119a20, 0x3417b: 0x6c119c20,\n\t0x3417c: 0x6c119e20, 0x3417d: 0x6c11a020, 0x3417e: 0x6c11a220, 0x3417f: 0x6c11a420,\n\t// Block 0xd06, offset 0x34180\n\t0x34180: 0x6c11a620, 0x34181: 0x6c11a820, 0x34182: 0x6c11aa20, 0x34183: 0x6c11ac20,\n\t0x34184: 0x6c11ae20, 0x34185: 0x6c11b020, 0x34186: 0x6c11b220, 0x34187: 0x6c11b420,\n\t0x34188: 0x6c11b620, 0x34189: 0x6c1f8020, 0x3418a: 0x6c1f8220, 0x3418b: 0x6c1f8420,\n\t0x3418c: 0x6c1f8620, 0x3418d: 0x6c1f8820, 0x3418e: 0x6c1f8a20, 0x3418f: 0x6c1f8c20,\n\t0x34190: 0x6c1f8e20, 0x34191: 0x6c1f9020, 0x34192: 0x6c1f9220, 0x34193: 0x6c1f9420,\n\t0x34194: 0x6c1f9620, 0x34195: 0x6c1f9820, 0x34196: 0x6c1f9a20, 0x34197: 0x6c1f9c20,\n\t0x34198: 0x6c1f9e20, 0x34199: 0x6c1fa020, 0x3419a: 0x6c1fa220, 0x3419b: 0x6c1fa420,\n\t0x3419c: 0x6c1fa620, 0x3419d: 0x6c1fa820, 0x3419e: 0x6c1faa20, 0x3419f: 0x6c1fac20,\n\t0x341a0: 0x6c1fae20, 0x341a1: 0x6c1fb020, 0x341a2: 0x6c1fb220, 0x341a3: 0x6c1fb420,\n\t0x341a4: 0x6c1fb620, 0x341a5: 0x6c1fb820, 0x341a6: 0x6c1fba20, 0x341a7: 0x6c1fbc20,\n\t0x341a8: 0x6c1fbe20, 0x341a9: 0x6c1fc020, 0x341aa: 0x6c1fc220, 0x341ab: 0x6c1fc420,\n\t0x341ac: 0x6c1fc620, 0x341ad: 0x6c1fc820, 0x341ae: 0x6c1fca20, 0x341af: 0x6c1fcc20,\n\t0x341b0: 0x6c1fce20, 0x341b1: 0x6c1fd020, 0x341b2: 0x6c1fd220, 0x341b3: 0x6c1fd420,\n\t0x341b4: 0x6c1fd620, 0x341b5: 0x6c1fd820, 0x341b6: 0x6c1fda20, 0x341b7: 0x6c1fdc20,\n\t0x341b8: 0x6c1fde20, 0x341b9: 0x6c1fe020, 0x341ba: 0x6c1fe220, 0x341bb: 0x6c1fe420,\n\t0x341bc: 0x6c1fe620, 0x341bd: 0x6c1fe820, 0x341be: 0x6c1fea20, 0x341bf: 0x6c336420,\n\t// Block 0xd07, offset 0x341c0\n\t0x341c0: 0x6c336620, 0x341c1: 0x6c336820, 0x341c2: 0x6c336a20, 0x341c3: 0x6c336c20,\n\t0x341c4: 0x6c336e20, 0x341c5: 0x6c337020, 0x341c6: 0x6c337220, 0x341c7: 0x6c337420,\n\t0x341c8: 0x6c337620, 0x341c9: 0x6c337820, 0x341ca: 0x6c337a20, 0x341cb: 0x6c337c20,\n\t0x341cc: 0x6c337e20, 0x341cd: 0x6c338020, 0x341ce: 0x6c338220, 0x341cf: 0x6c338420,\n\t0x341d0: 0x6c338620, 0x341d1: 0x6c338820, 0x341d2: 0x6c338a20, 0x341d3: 0x6c338c20,\n\t0x341d4: 0x6c338e20, 0x341d5: 0x6c339020, 0x341d6: 0x6c339220, 0x341d7: 0x6c339420,\n\t0x341d8: 0x6c339620, 0x341d9: 0x6c339820, 0x341da: 0x6c339a20, 0x341db: 0x6c339c20,\n\t0x341dc: 0x6c339e20, 0x341dd: 0x6c33a020, 0x341de: 0x6c33a220, 0x341df: 0x6c33a420,\n\t0x341e0: 0x6c33a620, 0x341e1: 0x6c33a820, 0x341e2: 0x6c33aa20, 0x341e3: 0x6c33ac20,\n\t0x341e4: 0x6c33ae20, 0x341e5: 0x6c33b020, 0x341e6: 0x6c33b220, 0x341e7: 0x6c33b420,\n\t0x341e8: 0x6c33b620, 0x341e9: 0x6c33b820, 0x341ea: 0x6c33ba20, 0x341eb: 0x6c33bc20,\n\t0x341ec: 0x6c33be20, 0x341ed: 0x6c33c020, 0x341ee: 0x6c33c220, 0x341ef: 0x6c33c420,\n\t0x341f0: 0x6c33c620, 0x341f1: 0x6c33c820, 0x341f2: 0x6c33ca20, 0x341f3: 0x6c33cc20,\n\t0x341f4: 0x6c4e1420, 0x341f5: 0x6c4e1620, 0x341f6: 0x6c4e1820, 0x341f7: 0x6c4e1a20,\n\t0x341f8: 0x6c4e1c20, 0x341f9: 0x6c4e1e20, 0x341fa: 0x6c4e2020, 0x341fb: 0x6c4e2220,\n\t0x341fc: 0x6c4e2420, 0x341fd: 0x6c4e2620, 0x341fe: 0x6c4e2820, 0x341ff: 0x6c4e2a20,\n\t// Block 0xd08, offset 0x34200\n\t0x34200: 0x6c4e2c20, 0x34201: 0x6c4e2e20, 0x34202: 0x6c4e3020, 0x34203: 0x6c4e3220,\n\t0x34204: 0x6c4e3420, 0x34205: 0x6c4e3620, 0x34206: 0x6c4e3820, 0x34207: 0x6c4e3a20,\n\t0x34208: 0x6c4e3c20, 0x34209: 0x6c4e3e20, 0x3420a: 0x6c4e4020, 0x3420b: 0x6c4e4220,\n\t0x3420c: 0x6c4e4420, 0x3420d: 0x6c4e4620, 0x3420e: 0x6c4e4820, 0x3420f: 0x6c4e4a20,\n\t0x34210: 0x6c4e4c20, 0x34211: 0x6c4e4e20, 0x34212: 0x6c4e5020, 0x34213: 0x6c4e5220,\n\t0x34214: 0x6c4e5420, 0x34215: 0x6c4e5620, 0x34216: 0x6c4e5820, 0x34217: 0x6c4e5a20,\n\t0x34218: 0x6c4e5c20, 0x34219: 0x6c4e5e20, 0x3421a: 0x6c4e6020, 0x3421b: 0x6c4e6220,\n\t0x3421c: 0x6c4e6420, 0x3421d: 0x6c4e6620, 0x3421e: 0x6c4e6820, 0x3421f: 0x6c4e6a20,\n\t0x34220: 0x6c4e6c20, 0x34221: 0x6c4e6e20, 0x34222: 0x6c4e7020, 0x34223: 0x6c4e7220,\n\t0x34224: 0x6c4e7420, 0x34225: 0x6c4e7620, 0x34226: 0x6c4e7820, 0x34227: 0x6c4e7a20,\n\t0x34228: 0x6c4e7c20, 0x34229: 0x6c4e7e20, 0x3422a: 0x6c4e8020, 0x3422b: 0x6c4e8220,\n\t0x3422c: 0x6c4e8420, 0x3422d: 0x6c4e8620, 0x3422e: 0x6c4e8820, 0x3422f: 0x6c4e8a20,\n\t0x34230: 0x6c4e8c20, 0x34231: 0x6c6fe420, 0x34232: 0x6c6fe620, 0x34233: 0x6c6fe820,\n\t0x34234: 0x6c6fea20, 0x34235: 0x6c6fec20, 0x34236: 0x6c6fee20, 0x34237: 0x6c6ff020,\n\t0x34238: 0x6c6ff220, 0x34239: 0x6c6ff420, 0x3423a: 0x6c6ff620, 0x3423b: 0x6c6ff820,\n\t0x3423c: 0x6c6ffa20, 0x3423d: 0x6c6ffc20, 0x3423e: 0x6c6ffe20, 0x3423f: 0x6c700020,\n\t// Block 0xd09, offset 0x34240\n\t0x34240: 0x6c700220, 0x34241: 0x6c700420, 0x34242: 0x6c700620, 0x34243: 0x6c700820,\n\t0x34244: 0x6c700a20, 0x34245: 0x6c700c20, 0x34246: 0x6c700e20, 0x34247: 0x6c701020,\n\t0x34248: 0x6c701220, 0x34249: 0x6c701420, 0x3424a: 0x6c701620, 0x3424b: 0x6c701820,\n\t0x3424c: 0x6c701a20, 0x3424d: 0x6c701c20, 0x3424e: 0x6c701e20, 0x3424f: 0x6c702020,\n\t0x34250: 0x6c702220, 0x34251: 0x6c702420, 0x34252: 0x6c702620, 0x34253: 0x6c702820,\n\t0x34254: 0x6c702a20, 0x34255: 0x6c702c20, 0x34256: 0x6c702e20, 0x34257: 0x6c703020,\n\t0x34258: 0x6c703220, 0x34259: 0x6c703420, 0x3425a: 0x6c703620, 0x3425b: 0x6c703820,\n\t0x3425c: 0x6c703a20, 0x3425d: 0x6c703c20, 0x3425e: 0x6c703e20, 0x3425f: 0x6c704020,\n\t0x34260: 0x6c704220, 0x34261: 0x6c704420, 0x34262: 0x6c704620, 0x34263: 0x6c704820,\n\t0x34264: 0x6c704a20, 0x34265: 0x6c704c20, 0x34266: 0x6c704e20, 0x34267: 0x6c705020,\n\t0x34268: 0x6c705220, 0x34269: 0x6c705420, 0x3426a: 0x6c705620, 0x3426b: 0x6c705820,\n\t0x3426c: 0x6c705a20, 0x3426d: 0x6c705c20, 0x3426e: 0x6c705e20, 0x3426f: 0x6c706020,\n\t0x34270: 0x6c706220, 0x34271: 0x6c706420, 0x34272: 0x6c706620, 0x34273: 0x6c706820,\n\t0x34274: 0x6c706a20, 0x34275: 0x6c706c20, 0x34276: 0x6c706e20, 0x34277: 0x6c707020,\n\t0x34278: 0x6c707220, 0x34279: 0x6c707420, 0x3427a: 0x6c707620, 0x3427b: 0x6c707820,\n\t0x3427c: 0x6c707a20, 0x3427d: 0x6c707c20, 0x3427e: 0x6c707e20, 0x3427f: 0x6c708020,\n\t// Block 0xd0a, offset 0x34280\n\t0x34280: 0x6c97d620, 0x34281: 0x6c97d820, 0x34282: 0x6c97da20, 0x34283: 0x6c97dc20,\n\t0x34284: 0x6c97de20, 0x34285: 0x6c97e020, 0x34286: 0x6c97e220, 0x34287: 0x6c97e420,\n\t0x34288: 0x6c97e620, 0x34289: 0x6c97e820, 0x3428a: 0x6c97ea20, 0x3428b: 0x6c97ec20,\n\t0x3428c: 0x6c97ee20, 0x3428d: 0x6c97f020, 0x3428e: 0x6c97f220, 0x3428f: 0x6c97f420,\n\t0x34290: 0x6c97f620, 0x34291: 0x6c97f820, 0x34292: 0x6c97fa20, 0x34293: 0x6c97fc20,\n\t0x34294: 0x6c97fe20, 0x34295: 0x6c980020, 0x34296: 0x6c980220, 0x34297: 0x6c980420,\n\t0x34298: 0x6c980620, 0x34299: 0x6c980820, 0x3429a: 0x6c980a20, 0x3429b: 0x6c980c20,\n\t0x3429c: 0x6c980e20, 0x3429d: 0x6c981020, 0x3429e: 0x6c981220, 0x3429f: 0x6c981420,\n\t0x342a0: 0x6c981620, 0x342a1: 0x6c981820, 0x342a2: 0x6c981a20, 0x342a3: 0x6c981c20,\n\t0x342a4: 0x6c981e20, 0x342a5: 0x6c982020, 0x342a6: 0x6c982220, 0x342a7: 0x6c982420,\n\t0x342a8: 0x6c982620, 0x342a9: 0x6c982820, 0x342aa: 0x6c982a20, 0x342ab: 0x6c982c20,\n\t0x342ac: 0x6c982e20, 0x342ad: 0x6c983020, 0x342ae: 0x6c983220, 0x342af: 0x6c983420,\n\t0x342b0: 0x6c983620, 0x342b1: 0x6c983820, 0x342b2: 0x6c983a20, 0x342b3: 0x6c983c20,\n\t0x342b4: 0x6c983e20, 0x342b5: 0x6c984020, 0x342b6: 0x6c984220, 0x342b7: 0x6c984420,\n\t0x342b8: 0x6c984620, 0x342b9: 0x6c984820, 0x342ba: 0x6c984a20, 0x342bb: 0x6c984c20,\n\t0x342bc: 0x6c984e20, 0x342bd: 0x6c985020, 0x342be: 0x6c985220, 0x342bf: 0x6c985420,\n\t// Block 0xd0b, offset 0x342c0\n\t0x342c0: 0x6c985620, 0x342c1: 0x6c985820, 0x342c2: 0x6c985a20, 0x342c3: 0x6c985c20,\n\t0x342c4: 0x6c985e20, 0x342c5: 0x6c986020, 0x342c6: 0x6c986220, 0x342c7: 0x6c986420,\n\t0x342c8: 0x6c986620, 0x342c9: 0x6c986820, 0x342ca: 0x6c986a20, 0x342cb: 0x6c986c20,\n\t0x342cc: 0x6c986e20, 0x342cd: 0x6c987020, 0x342ce: 0x6c987220, 0x342cf: 0x6c987420,\n\t0x342d0: 0x6c987620, 0x342d1: 0x6c987820, 0x342d2: 0x6c987a20, 0x342d3: 0x6c987c20,\n\t0x342d4: 0x6c987e20, 0x342d5: 0x6c988020, 0x342d6: 0x6c988220, 0x342d7: 0x6c988420,\n\t0x342d8: 0x6c988620, 0x342d9: 0x6c988820, 0x342da: 0x6c988a20, 0x342db: 0x6c988c20,\n\t0x342dc: 0x6c988e20, 0x342dd: 0x6c989020, 0x342de: 0x6c989220, 0x342df: 0x6c989420,\n\t0x342e0: 0x6c989620, 0x342e1: 0x6c989820, 0x342e2: 0x6c989a20, 0x342e3: 0x6c989c20,\n\t0x342e4: 0x6c989e20, 0x342e5: 0x6c98a020, 0x342e6: 0x6c98a220, 0x342e7: 0x6c98a420,\n\t0x342e8: 0x6cc3ac20, 0x342e9: 0x6cc3ae20, 0x342ea: 0x6cc3b020, 0x342eb: 0x6cc3b220,\n\t0x342ec: 0x6cc3b420, 0x342ed: 0x6cc3b620, 0x342ee: 0x6cc3b820, 0x342ef: 0x6cc3ba20,\n\t0x342f0: 0x6cc3bc20, 0x342f1: 0x6cc3be20, 0x342f2: 0x6cc3c020, 0x342f3: 0x6cc3c220,\n\t0x342f4: 0x6cc3c420, 0x342f5: 0x6cc3c620, 0x342f6: 0x6cc3c820, 0x342f7: 0x6cc3ca20,\n\t0x342f8: 0x6cc3cc20, 0x342f9: 0x6cc3ce20, 0x342fa: 0x6cc3d020, 0x342fb: 0x6cc3d220,\n\t0x342fc: 0x6cc3d420, 0x342fd: 0x6cc3d620, 0x342fe: 0x6cc3d820, 0x342ff: 0x6cc3da20,\n\t// Block 0xd0c, offset 0x34300\n\t0x34300: 0x6cc3dc20, 0x34301: 0x6cc3de20, 0x34302: 0x6cc3e020, 0x34303: 0x6cc3e220,\n\t0x34304: 0x6cc3e420, 0x34305: 0x6cc3e620, 0x34306: 0x6cc3e820, 0x34307: 0x6cc3ea20,\n\t0x34308: 0x6cc3ec20, 0x34309: 0x6cc3ee20, 0x3430a: 0x6cc3f020, 0x3430b: 0x6cc3f220,\n\t0x3430c: 0x6cc3f420, 0x3430d: 0x6cc3f620, 0x3430e: 0x6cc3f820, 0x3430f: 0x6cc3fa20,\n\t0x34310: 0x6cc3fc20, 0x34311: 0x6cc3fe20, 0x34312: 0x6cc40020, 0x34313: 0x6cc40220,\n\t0x34314: 0x6cc40420, 0x34315: 0x6cc40620, 0x34316: 0x6cc40820, 0x34317: 0x6cc40a20,\n\t0x34318: 0x6cc40c20, 0x34319: 0x6cc40e20, 0x3431a: 0x6cc41020, 0x3431b: 0x6cc41220,\n\t0x3431c: 0x6cc41420, 0x3431d: 0x6cc41620, 0x3431e: 0x6cc41820, 0x3431f: 0x6cc41a20,\n\t0x34320: 0x6cc41c20, 0x34321: 0x6cc41e20, 0x34322: 0x6cc42020, 0x34323: 0x6cc42220,\n\t0x34324: 0x6cc42420, 0x34325: 0x6cc42620, 0x34326: 0x6cc42820, 0x34327: 0x6cc42a20,\n\t0x34328: 0x6cc42c20, 0x34329: 0x6cc42e20, 0x3432a: 0x6cc43020, 0x3432b: 0x6cc43220,\n\t0x3432c: 0x6cc43420, 0x3432d: 0x6cc43620, 0x3432e: 0x6cc43820, 0x3432f: 0x6cc43a20,\n\t0x34330: 0x6cc43c20, 0x34331: 0x6cc43e20, 0x34332: 0x6cc44020, 0x34333: 0x6cc44220,\n\t0x34334: 0x6cc44420, 0x34335: 0x6cc44620, 0x34336: 0x6cc44820, 0x34337: 0x6cc44a20,\n\t0x34338: 0x6cc44c20, 0x34339: 0x6cc44e20, 0x3433a: 0x6cc45020, 0x3433b: 0x6cc45220,\n\t0x3433c: 0x6cc45420, 0x3433d: 0x6cc45620, 0x3433e: 0x6cc45820, 0x3433f: 0x6cc45a20,\n\t// Block 0xd0d, offset 0x34340\n\t0x34340: 0x6cc45c20, 0x34341: 0x6cc45e20, 0x34342: 0x6cc46020, 0x34343: 0x6cc46220,\n\t0x34344: 0x6cc46420, 0x34345: 0x6cc46620, 0x34346: 0x6cc46820, 0x34347: 0x6cc46a20,\n\t0x34348: 0x6cc46c20, 0x34349: 0x6cc46e20, 0x3434a: 0x6cc47020, 0x3434b: 0x6cc47220,\n\t0x3434c: 0x6cc47420, 0x3434d: 0x6cf2b620, 0x3434e: 0x6cf2b820, 0x3434f: 0x6cf2ba20,\n\t0x34350: 0x6cf2bc20, 0x34351: 0x6cf2be20, 0x34352: 0x6cf2c020, 0x34353: 0x6cf2c220,\n\t0x34354: 0x6cf2c420, 0x34355: 0x6cf2c620, 0x34356: 0x6cf2c820, 0x34357: 0x6cf2ca20,\n\t0x34358: 0x6cf2cc20, 0x34359: 0x6cf2ce20, 0x3435a: 0x6cf2d020, 0x3435b: 0x6cf2d220,\n\t0x3435c: 0x6cf2d420, 0x3435d: 0x6cf2d620, 0x3435e: 0x6cf2d820, 0x3435f: 0x6cf2da20,\n\t0x34360: 0x6cf2dc20, 0x34361: 0x6cf2de20, 0x34362: 0x6cf2e020, 0x34363: 0x6cf2e220,\n\t0x34364: 0x6cf2e420, 0x34365: 0x6cf2e620, 0x34366: 0x6cf2e820, 0x34367: 0x6cf2ea20,\n\t0x34368: 0x6cf2ec20, 0x34369: 0x6cf2ee20, 0x3436a: 0x6cf2f020, 0x3436b: 0x6cf2f220,\n\t0x3436c: 0x6cf2f420, 0x3436d: 0x6cf2f620, 0x3436e: 0x6cf2f820, 0x3436f: 0x6cf2fa20,\n\t0x34370: 0x6cf2fc20, 0x34371: 0x6cf2fe20, 0x34372: 0x6cf30020, 0x34373: 0x6cf30220,\n\t0x34374: 0x6cf30420, 0x34375: 0x6cf30620, 0x34376: 0x6cf30820, 0x34377: 0x6cf30a20,\n\t0x34378: 0x6cf30c20, 0x34379: 0x6cf30e20, 0x3437a: 0x6cf31020, 0x3437b: 0x6cf31220,\n\t0x3437c: 0x6cf31420, 0x3437d: 0x6cf31620, 0x3437e: 0x6cf31820, 0x3437f: 0x6cf31a20,\n\t// Block 0xd0e, offset 0x34380\n\t0x34380: 0x6cf31c20, 0x34381: 0x6cf31e20, 0x34382: 0x6cf32020, 0x34383: 0x6cf32220,\n\t0x34384: 0x6cf32420, 0x34385: 0x6cf32620, 0x34386: 0x6cf32820, 0x34387: 0x6cf32a20,\n\t0x34388: 0x6cf32c20, 0x34389: 0x6cf32e20, 0x3438a: 0x6cf33020, 0x3438b: 0x6cf33220,\n\t0x3438c: 0x6cf33420, 0x3438d: 0x6cf33620, 0x3438e: 0x6cf33820, 0x3438f: 0x6cf33a20,\n\t0x34390: 0x6cf33c20, 0x34391: 0x6cf33e20, 0x34392: 0x6cf34020, 0x34393: 0x6cf34220,\n\t0x34394: 0x6cf34420, 0x34395: 0x6cf34620, 0x34396: 0x6cf34820, 0x34397: 0x6cf34a20,\n\t0x34398: 0x6cf34c20, 0x34399: 0x6cf34e20, 0x3439a: 0x6cf35020, 0x3439b: 0x6cf35220,\n\t0x3439c: 0x6cf35420, 0x3439d: 0x6cf35620, 0x3439e: 0x6cf35820, 0x3439f: 0x6cf35a20,\n\t0x343a0: 0x6d227c20, 0x343a1: 0x6d227e20, 0x343a2: 0x6d228020, 0x343a3: 0x6d228220,\n\t0x343a4: 0x6d228420, 0x343a5: 0x6d228620, 0x343a6: 0x6d228820, 0x343a7: 0x6d228a20,\n\t0x343a8: 0x6d228c20, 0x343a9: 0x6d228e20, 0x343aa: 0x6d229020, 0x343ab: 0x6d229220,\n\t0x343ac: 0x6d229420, 0x343ad: 0x6d229620, 0x343ae: 0x6d229820, 0x343af: 0x6d229a20,\n\t0x343b0: 0x6d229c20, 0x343b1: 0x6d229e20, 0x343b2: 0x6d22a020, 0x343b3: 0x6d22a220,\n\t0x343b4: 0x6d22a420, 0x343b5: 0x6d22a620, 0x343b6: 0x6d22a820, 0x343b7: 0x6d22aa20,\n\t0x343b8: 0x6d22ac20, 0x343b9: 0x6d22ae20, 0x343ba: 0x6d22b020, 0x343bb: 0x6d22b220,\n\t0x343bc: 0x6d22b420, 0x343bd: 0x6d22b620, 0x343be: 0x6d22b820, 0x343bf: 0x6d22ba20,\n\t// Block 0xd0f, offset 0x343c0\n\t0x343c0: 0x6d22bc20, 0x343c1: 0x6d22be20, 0x343c2: 0x6d22c020, 0x343c3: 0x6d22c220,\n\t0x343c4: 0x6d22c420, 0x343c5: 0x6d22c620, 0x343c6: 0x6d22c820, 0x343c7: 0x6d22ca20,\n\t0x343c8: 0x6d22cc20, 0x343c9: 0x6d22ce20, 0x343ca: 0x6d22d020, 0x343cb: 0x6d22d220,\n\t0x343cc: 0x6d22d420, 0x343cd: 0x6d22d620, 0x343ce: 0x6d22d820, 0x343cf: 0x6d22da20,\n\t0x343d0: 0x6d22dc20, 0x343d1: 0x6d22de20, 0x343d2: 0x6d22e020, 0x343d3: 0x6d22e220,\n\t0x343d4: 0x6d22e420, 0x343d5: 0x6d22e620, 0x343d6: 0x6d22e820, 0x343d7: 0x6d22ea20,\n\t0x343d8: 0x6d22ec20, 0x343d9: 0x6d22ee20, 0x343da: 0x6d22f020, 0x343db: 0x6d22f220,\n\t0x343dc: 0x6d22f420, 0x343dd: 0x6d22f620, 0x343de: 0x6d22f820, 0x343df: 0x6d22fa20,\n\t0x343e0: 0x6d22fc20, 0x343e1: 0x6d22fe20, 0x343e2: 0x6d230020, 0x343e3: 0x6d230220,\n\t0x343e4: 0x6d230420, 0x343e5: 0x6d230620, 0x343e6: 0x6d230820, 0x343e7: 0x6d230a20,\n\t0x343e8: 0x6d230c20, 0x343e9: 0x6d230e20, 0x343ea: 0x6d231020, 0x343eb: 0x6d231220,\n\t0x343ec: 0x6d231420, 0x343ed: 0x6d231620, 0x343ee: 0x6d231820, 0x343ef: 0x6d231a20,\n\t0x343f0: 0x6d231c20, 0x343f1: 0x6d4ff020, 0x343f2: 0x6d4ff220, 0x343f3: 0x6d4ff420,\n\t0x343f4: 0x6d4ff620, 0x343f5: 0x6d4ff820, 0x343f6: 0x6d4ffa20, 0x343f7: 0x6d4ffc20,\n\t0x343f8: 0x6d4ffe20, 0x343f9: 0x6d500020, 0x343fa: 0x6d500220, 0x343fb: 0x6d500420,\n\t0x343fc: 0x6d500620, 0x343fd: 0x6d500820, 0x343fe: 0x6d500a20, 0x343ff: 0x6d500c20,\n\t// Block 0xd10, offset 0x34400\n\t0x34400: 0x6d500e20, 0x34401: 0x6d501020, 0x34402: 0x6d501220, 0x34403: 0x6d501420,\n\t0x34404: 0x6d501620, 0x34405: 0x6d501820, 0x34406: 0x6d501a20, 0x34407: 0x6d501c20,\n\t0x34408: 0x6d501e20, 0x34409: 0x6d502020, 0x3440a: 0x6d502220, 0x3440b: 0x6d502420,\n\t0x3440c: 0x6d502620, 0x3440d: 0x6d502820, 0x3440e: 0x6d502a20, 0x3440f: 0x6d502c20,\n\t0x34410: 0x6d502e20, 0x34411: 0x6d503020, 0x34412: 0x6d503220, 0x34413: 0x6d503420,\n\t0x34414: 0x6d503620, 0x34415: 0x6d503820, 0x34416: 0x6d503a20, 0x34417: 0x6d503c20,\n\t0x34418: 0x6d503e20, 0x34419: 0x6d504020, 0x3441a: 0x6d504220, 0x3441b: 0x6d504420,\n\t0x3441c: 0x6d504620, 0x3441d: 0x6d504820, 0x3441e: 0x6d504a20, 0x3441f: 0x6d504c20,\n\t0x34420: 0x6d504e20, 0x34421: 0x6d505020, 0x34422: 0x6d505220, 0x34423: 0x6d505420,\n\t0x34424: 0x6d505620, 0x34425: 0x6d505820, 0x34426: 0x6d505a20, 0x34427: 0x6d505c20,\n\t0x34428: 0x6d505e20, 0x34429: 0x6d506020, 0x3442a: 0x6d506220, 0x3442b: 0x6d506420,\n\t0x3442c: 0x6d506620, 0x3442d: 0x6d506820, 0x3442e: 0x6d506a20, 0x3442f: 0x6d506c20,\n\t0x34430: 0x6d506e20, 0x34431: 0x6d507020, 0x34432: 0x6d507220, 0x34433: 0x6d507420,\n\t0x34434: 0x6d507620, 0x34435: 0x6d507820, 0x34436: 0x6d507a20, 0x34437: 0x6d507c20,\n\t0x34438: 0x6d507e20, 0x34439: 0x6d508020, 0x3443a: 0x6d508220, 0x3443b: 0x6d508420,\n\t0x3443c: 0x6d508620, 0x3443d: 0x6d508820, 0x3443e: 0x6d508a20, 0x3443f: 0x6d508c20,\n\t// Block 0xd11, offset 0x34440\n\t0x34440: 0x6d508e20, 0x34441: 0x6d509020, 0x34442: 0x6d509220, 0x34443: 0x6d509420,\n\t0x34444: 0x6d509620, 0x34445: 0x6d509820, 0x34446: 0x6d509a20, 0x34447: 0x6d509c20,\n\t0x34448: 0x6d509e20, 0x34449: 0x6d50a020, 0x3444a: 0x6d50a220, 0x3444b: 0x6d50a420,\n\t0x3444c: 0x6d50a620, 0x3444d: 0x6d50a820, 0x3444e: 0x6d50aa20, 0x3444f: 0x6d50ac20,\n\t0x34450: 0x6d50ae20, 0x34451: 0x6d50b020, 0x34452: 0x6d7c0220, 0x34453: 0x6d7c0420,\n\t0x34454: 0x6d7c0620, 0x34455: 0x6d7c0820, 0x34456: 0x6d7c0a20, 0x34457: 0x6d7c0c20,\n\t0x34458: 0x6d7c0e20, 0x34459: 0x6d7c1020, 0x3445a: 0x6d7c1220, 0x3445b: 0x6d7c1420,\n\t0x3445c: 0x6d7c1620, 0x3445d: 0x6d7c1820, 0x3445e: 0x6d7c1a20, 0x3445f: 0x6d7c1c20,\n\t0x34460: 0x6d7c1e20, 0x34461: 0x6d7c2020, 0x34462: 0x6d7c2220, 0x34463: 0x6d7c2420,\n\t0x34464: 0x6d7c2620, 0x34465: 0x6d7c2820, 0x34466: 0x6d7c2a20, 0x34467: 0x6d7c2c20,\n\t0x34468: 0x6d7c2e20, 0x34469: 0x6d7c3020, 0x3446a: 0x6d7c3220, 0x3446b: 0x6d7c3420,\n\t0x3446c: 0x6d7c3620, 0x3446d: 0x6d7c3820, 0x3446e: 0x6d7c3a20, 0x3446f: 0x6d7c3c20,\n\t0x34470: 0x6d7c3e20, 0x34471: 0x6d7c4020, 0x34472: 0x6d7c4220, 0x34473: 0x6d7c4420,\n\t0x34474: 0x6d7c4620, 0x34475: 0x6d7c4820, 0x34476: 0x6d7c4a20, 0x34477: 0x6d7c4c20,\n\t0x34478: 0x6d7c4e20, 0x34479: 0x6d7c5020, 0x3447a: 0x6d7c5220, 0x3447b: 0x6d7c5420,\n\t0x3447c: 0x6d7c5620, 0x3447d: 0x6d7c5820, 0x3447e: 0x6d7c5a20, 0x3447f: 0x6d7c5c20,\n\t// Block 0xd12, offset 0x34480\n\t0x34480: 0x6d7c5e20, 0x34481: 0x6d7c6020, 0x34482: 0x6d7c6220, 0x34483: 0x6d7c6420,\n\t0x34484: 0x6d7c6620, 0x34485: 0x6d7c6820, 0x34486: 0x6d7c6a20, 0x34487: 0x6d7c6c20,\n\t0x34488: 0x6d7c6e20, 0x34489: 0x6d7c7020, 0x3448a: 0x6d7c7220, 0x3448b: 0x6d7c7420,\n\t0x3448c: 0x6d7c7620, 0x3448d: 0x6d7c7820, 0x3448e: 0x6da40820, 0x3448f: 0x6da40a20,\n\t0x34490: 0x6da40c20, 0x34491: 0x6da40e20, 0x34492: 0x6da41020, 0x34493: 0x6da41220,\n\t0x34494: 0x6da41420, 0x34495: 0x6da41620, 0x34496: 0x6da41820, 0x34497: 0x6da41a20,\n\t0x34498: 0x6da41c20, 0x34499: 0x6da41e20, 0x3449a: 0x6da42020, 0x3449b: 0x6da42220,\n\t0x3449c: 0x6da42420, 0x3449d: 0x6da42620, 0x3449e: 0x6da42820, 0x3449f: 0x6da42a20,\n\t0x344a0: 0x6da42c20, 0x344a1: 0x6da42e20, 0x344a2: 0x6da43020, 0x344a3: 0x6da43220,\n\t0x344a4: 0x6da43420, 0x344a5: 0x6da43620, 0x344a6: 0x6da43820, 0x344a7: 0x6da43a20,\n\t0x344a8: 0x6da43c20, 0x344a9: 0x6da43e20, 0x344aa: 0x6da44020, 0x344ab: 0x6da44220,\n\t0x344ac: 0x6da44420, 0x344ad: 0x6da44620, 0x344ae: 0x6da44820, 0x344af: 0x6da44a20,\n\t0x344b0: 0x6da44c20, 0x344b1: 0x6da44e20, 0x344b2: 0x6da45020, 0x344b3: 0x6da45220,\n\t0x344b4: 0x6da45420, 0x344b5: 0x6da45620, 0x344b6: 0x6da45820, 0x344b7: 0x6da45a20,\n\t0x344b8: 0x6da45c20, 0x344b9: 0x6da45e20, 0x344ba: 0x6da46020, 0x344bb: 0x6dc59e20,\n\t0x344bc: 0x6dc5a020, 0x344bd: 0x6dc5a220, 0x344be: 0x6dc5a420, 0x344bf: 0x6dc5a620,\n\t// Block 0xd13, offset 0x344c0\n\t0x344c0: 0x6dc5a820, 0x344c1: 0x6dc5aa20, 0x344c2: 0x6dc5ac20, 0x344c3: 0x6dc5ae20,\n\t0x344c4: 0x6dc5b020, 0x344c5: 0x6dc5b220, 0x344c6: 0x6dc5b420, 0x344c7: 0x6dc5b620,\n\t0x344c8: 0x6dc5b820, 0x344c9: 0x6dc5ba20, 0x344ca: 0x6dc5bc20, 0x344cb: 0x6dc5be20,\n\t0x344cc: 0x6dc5c020, 0x344cd: 0x6dc5c220, 0x344ce: 0x6dc5c420, 0x344cf: 0x6dc5c620,\n\t0x344d0: 0x6dc5c820, 0x344d1: 0x6dc5ca20, 0x344d2: 0x6dc5cc20, 0x344d3: 0x6dc5ce20,\n\t0x344d4: 0x6dc5d020, 0x344d5: 0x6dc5d220, 0x344d6: 0x6dc5d420, 0x344d7: 0x6dc5d620,\n\t0x344d8: 0x6dc5d820, 0x344d9: 0x6dc5da20, 0x344da: 0x6dc5dc20, 0x344db: 0x6dc5de20,\n\t0x344dc: 0x6dc5e020, 0x344dd: 0x6dc5e220, 0x344de: 0x6dc5e420, 0x344df: 0x6dc5e620,\n\t0x344e0: 0x6dc5e820, 0x344e1: 0x6dc5ea20, 0x344e2: 0x6dc5ec20, 0x344e3: 0x6dc5ee20,\n\t0x344e4: 0x6dc5f020, 0x344e5: 0x6dc5f220, 0x344e6: 0x6de29020, 0x344e7: 0x6de29220,\n\t0x344e8: 0x6de29420, 0x344e9: 0x6de29620, 0x344ea: 0x6de29820, 0x344eb: 0x6de29a20,\n\t0x344ec: 0x6de29c20, 0x344ed: 0x6de29e20, 0x344ee: 0x6de2a020, 0x344ef: 0x6de2a220,\n\t0x344f0: 0x6de2a420, 0x344f1: 0x6de2a620, 0x344f2: 0x6de2a820, 0x344f3: 0x6de2aa20,\n\t0x344f4: 0x6de2ac20, 0x344f5: 0x6de2ae20, 0x344f6: 0x6de2b020, 0x344f7: 0x6de2b220,\n\t0x344f8: 0x6de2b420, 0x344f9: 0x6de2b620, 0x344fa: 0x6de2b820, 0x344fb: 0x6de2ba20,\n\t0x344fc: 0x6de2bc20, 0x344fd: 0x6de2be20, 0x344fe: 0x6de2c020, 0x344ff: 0x6de2c220,\n\t// Block 0xd14, offset 0x34500\n\t0x34500: 0x6de2c420, 0x34501: 0x6de2c620, 0x34502: 0x6de2c820, 0x34503: 0x6de2ca20,\n\t0x34504: 0x6de2cc20, 0x34505: 0x6de2ce20, 0x34506: 0x6de2d020, 0x34507: 0x6de2d220,\n\t0x34508: 0x6de2d420, 0x34509: 0x6de2d620, 0x3450a: 0x6de2d820, 0x3450b: 0x6dfa3a20,\n\t0x3450c: 0x6dfa3c20, 0x3450d: 0x6dfa3e20, 0x3450e: 0x6dfa4020, 0x3450f: 0x6dfa4220,\n\t0x34510: 0x6dfa4420, 0x34511: 0x6dfa4620, 0x34512: 0x6dfa4820, 0x34513: 0x6dfa4a20,\n\t0x34514: 0x6dfa4c20, 0x34515: 0x6dfa4e20, 0x34516: 0x6dfa5020, 0x34517: 0x6e0dc620,\n\t0x34518: 0x6e0dc820, 0x34519: 0x6e0dca20, 0x3451a: 0x6e0dcc20, 0x3451b: 0x6e0dce20,\n\t0x3451c: 0x6e0dd020, 0x3451d: 0x6e0dd220, 0x3451e: 0x6e0dd420, 0x3451f: 0x6e0dd620,\n\t0x34520: 0x6e0dd820, 0x34521: 0x6e0dda20, 0x34522: 0x6e0ddc20, 0x34523: 0x6e0dde20,\n\t0x34524: 0x6e0de020, 0x34525: 0x6e1d3a20, 0x34526: 0x6e1d3c20, 0x34527: 0x6e1d3e20,\n\t0x34528: 0x6e1d4020, 0x34529: 0x6e1d4220, 0x3452a: 0x6e1d4420, 0x3452b: 0x6e1d4620,\n\t0x3452c: 0x6e1d4820, 0x3452d: 0x6e1d4a20, 0x3452e: 0x6e1d4c20, 0x3452f: 0x6e28d820,\n\t0x34530: 0x6e28da20, 0x34531: 0x6e28dc20, 0x34532: 0x6e28de20, 0x34533: 0x6e28e020,\n\t0x34534: 0x6e28e220, 0x34535: 0x6e28e420, 0x34536: 0x6e28e620, 0x34537: 0x6e28e820,\n\t0x34538: 0x6e28ea20, 0x34539: 0x6e28ec20, 0x3453a: 0x6e28ee20, 0x3453b: 0x6e321620,\n\t0x3453c: 0x6e321820, 0x3453d: 0x6e321a20, 0x3453e: 0x6e321c20, 0x3453f: 0x6e321e20,\n\t// Block 0xd15, offset 0x34540\n\t0x34540: 0x6e322020, 0x34541: 0x6e322220, 0x34542: 0x6e322420, 0x34543: 0x6e3d2820,\n\t0x34544: 0x6e3d2a20, 0x34545: 0x6e403e20, 0x34546: 0x6e404020, 0x34547: 0x6e404220,\n\t0x34548: 0x6e429a20, 0x34549: 0x6e429c20, 0x3454a: 0x6e451c20, 0x3454b: 0x6e45c020,\n\t0x3454c: 0x6c092620, 0x3454d: 0x6c092820, 0x3454e: 0x6c11c420, 0x3454f: 0x6c11c620,\n\t0x34550: 0x6c11c820, 0x34551: 0x6c11ca20, 0x34552: 0x6c200620, 0x34553: 0x6c200820,\n\t0x34554: 0x6c200a20, 0x34555: 0x6c200c20, 0x34556: 0x6c200e20, 0x34557: 0x6c201020,\n\t0x34558: 0x6c201220, 0x34559: 0x6c201420, 0x3455a: 0x6c33ea20, 0x3455b: 0x6c33ec20,\n\t0x3455c: 0x6c33ee20, 0x3455d: 0x6c33f020, 0x3455e: 0x6c33f220, 0x3455f: 0x6c33f420,\n\t0x34560: 0x6c33f620, 0x34561: 0x6c33f820, 0x34562: 0x6c33fa20, 0x34563: 0x6c33fc20,\n\t0x34564: 0x6c33fe20, 0x34565: 0x6c340020, 0x34566: 0x6c4ea220, 0x34567: 0x6c4ea420,\n\t0x34568: 0x6c4ea620, 0x34569: 0x6c4ea820, 0x3456a: 0x6c4eaa20, 0x3456b: 0x6c4eac20,\n\t0x3456c: 0x6c4eae20, 0x3456d: 0x6c4eb020, 0x3456e: 0x6c4eb220, 0x3456f: 0x6c4eb420,\n\t0x34570: 0x6c4eb620, 0x34571: 0x6c4eb820, 0x34572: 0x6c4eba20, 0x34573: 0x6c4ebc20,\n\t0x34574: 0x6c4ebe20, 0x34575: 0x6c4ec020, 0x34576: 0x6c4ec220, 0x34577: 0x6c709e20,\n\t0x34578: 0x6c70a020, 0x34579: 0x6c70a220, 0x3457a: 0x6c70a420, 0x3457b: 0x6c70a620,\n\t0x3457c: 0x6c70a820, 0x3457d: 0x6c70aa20, 0x3457e: 0x6c70ac20, 0x3457f: 0x6c98c020,\n\t// Block 0xd16, offset 0x34580\n\t0x34580: 0x6c98c220, 0x34581: 0x6c98c420, 0x34582: 0x6c98c620, 0x34583: 0x6c98c820,\n\t0x34584: 0x6c98ca20, 0x34585: 0x6c98cc20, 0x34586: 0x6c98ce20, 0x34587: 0x6c98d020,\n\t0x34588: 0x6cc49420, 0x34589: 0x6cc49620, 0x3458a: 0x6cc49820, 0x3458b: 0x6cc49a20,\n\t0x3458c: 0x6cc49c20, 0x3458d: 0x6cc49e20, 0x3458e: 0x6cc4a020, 0x3458f: 0x6cc4a220,\n\t0x34590: 0x6cc4a420, 0x34591: 0x6cc4a620, 0x34592: 0x6cc4a820, 0x34593: 0x6cc4aa20,\n\t0x34594: 0x6cf38420, 0x34595: 0x6cf38620, 0x34596: 0x6cf38820, 0x34597: 0x6cf38a20,\n\t0x34598: 0x6cf38c20, 0x34599: 0x6cf38e20, 0x3459a: 0x6cf39020, 0x3459b: 0x6cf39220,\n\t0x3459c: 0x6cf39420, 0x3459d: 0x6cf39620, 0x3459e: 0x6cf39820, 0x3459f: 0x6cf39a20,\n\t0x345a0: 0x6cf39c20, 0x345a1: 0x6cf39e20, 0x345a2: 0x6d234220, 0x345a3: 0x6d234420,\n\t0x345a4: 0x6d234620, 0x345a5: 0x6d234820, 0x345a6: 0x6d234a20, 0x345a7: 0x6d234c20,\n\t0x345a8: 0x6d50c820, 0x345a9: 0x6d234e20, 0x345aa: 0x6d235020, 0x345ab: 0x6d235220,\n\t0x345ac: 0x6d235420, 0x345ad: 0x6d235620, 0x345ae: 0x6d235820, 0x345af: 0x6d235a20,\n\t0x345b0: 0x6d235c20, 0x345b1: 0x6d235e20, 0x345b2: 0x6d50ca20, 0x345b3: 0x6d50cc20,\n\t0x345b4: 0x6d50ce20, 0x345b5: 0x6d50d020, 0x345b6: 0x6d50d220, 0x345b7: 0x6d50d420,\n\t0x345b8: 0x6d50d620, 0x345b9: 0x6d50d820, 0x345ba: 0x6d50da20, 0x345bb: 0x6d50dc20,\n\t0x345bc: 0x6d50de20, 0x345bd: 0x6d50e020, 0x345be: 0x6d50e220, 0x345bf: 0x6d50e420,\n\t// Block 0xd17, offset 0x345c0\n\t0x345c0: 0x6d50e620, 0x345c1: 0x6d50e820, 0x345c2: 0x6d50ea20, 0x345c3: 0x6d50ec20,\n\t0x345c4: 0x6d50ee20, 0x345c5: 0x6d50f020, 0x345c6: 0x6d50f220, 0x345c7: 0x6d7c9420,\n\t0x345c8: 0x6d7c9620, 0x345c9: 0x6d7c9820, 0x345ca: 0x6d7c9a20, 0x345cb: 0x6d7c9c20,\n\t0x345cc: 0x6d7c9e20, 0x345cd: 0x6d7ca020, 0x345ce: 0x6d7ca220, 0x345cf: 0x6d7ca420,\n\t0x345d0: 0x6d784620, 0x345d1: 0x6d7ca620, 0x345d2: 0x6d7ca820, 0x345d3: 0x6da46e20,\n\t0x345d4: 0x6da47020, 0x345d5: 0x6da47220, 0x345d6: 0x6da47420, 0x345d7: 0x6da47620,\n\t0x345d8: 0x6dc60220, 0x345d9: 0x6dc60420, 0x345da: 0x6de2e020, 0x345db: 0x6de2e220,\n\t0x345dc: 0x6de2e420, 0x345dd: 0x6de2e620, 0x345de: 0x6dfa5620, 0x345df: 0x6dfa5820,\n\t0x345e0: 0x6dfa5a20, 0x345e1: 0x6e0de620, 0x345e2: 0x6e0de820, 0x345e3: 0x6e0dea20,\n\t0x345e4: 0x6c092e20, 0x345e5: 0x6c093020, 0x345e6: 0x6c11ce20, 0x345e7: 0x6c11d020,\n\t0x345e8: 0x6c11d220, 0x345e9: 0x6c11d420, 0x345ea: 0x6c201e20, 0x345eb: 0x6c202020,\n\t0x345ec: 0x6c202220, 0x345ed: 0x6c202420, 0x345ee: 0x6c202620, 0x345ef: 0x6c340e20,\n\t0x345f0: 0x6c341020, 0x345f1: 0x6c341220, 0x345f2: 0x6c341420, 0x345f3: 0x6c341620,\n\t0x345f4: 0x6c341820, 0x345f5: 0x6c341a20, 0x345f6: 0x6c4ed220, 0x345f7: 0x6c4ed420,\n\t0x345f8: 0x6c4ed620, 0x345f9: 0x6c4ed820, 0x345fa: 0x6c4eda20, 0x345fb: 0x6c4edc20,\n\t0x345fc: 0x6c4ede20, 0x345fd: 0x6c4ee020, 0x345fe: 0x6c4ee220, 0x345ff: 0x6c4ee420,\n\t// Block 0xd18, offset 0x34600\n\t0x34600: 0x6c4ee620, 0x34601: 0x6c4ee820, 0x34602: 0x6c4eea20, 0x34603: 0x6c4eec20,\n\t0x34604: 0x6c4eee20, 0x34605: 0x6c70ba20, 0x34606: 0x6c70bc20, 0x34607: 0x6c70be20,\n\t0x34608: 0x6c70c020, 0x34609: 0x6c70c220, 0x3460a: 0x6c70c420, 0x3460b: 0x6c70c620,\n\t0x3460c: 0x6c70c820, 0x3460d: 0x6c98d820, 0x3460e: 0x6c98da20, 0x3460f: 0x6c98dc20,\n\t0x34610: 0x6c98de20, 0x34611: 0x6cc4b220, 0x34612: 0x6cc4b420, 0x34613: 0x6cc4b620,\n\t0x34614: 0x6cc4b820, 0x34615: 0x6cc4ba20, 0x34616: 0x6cf3a220, 0x34617: 0x6cf3a420,\n\t0x34618: 0x6d236220, 0x34619: 0x6d236420, 0x3461a: 0x6d236620, 0x3461b: 0x6d236820,\n\t0x3461c: 0x6d50f420, 0x3461d: 0x6d50f620, 0x3461e: 0x6d50f820, 0x3461f: 0x6d7cb020,\n\t0x34620: 0x6da47820, 0x34621: 0x6dc60620, 0x34622: 0x6e0dec20, 0x34623: 0x6e28f220,\n\t0x34624: 0x6e28f420, 0x34625: 0x6c047820, 0x34626: 0x6c047a20, 0x34627: 0x6c047c20,\n\t0x34628: 0x6c094620, 0x34629: 0x6c094820, 0x3462a: 0x6c094a20, 0x3462b: 0x6c094c20,\n\t0x3462c: 0x6c094e20, 0x3462d: 0x6c120620, 0x3462e: 0x6c120820, 0x3462f: 0x6c120a20,\n\t0x34630: 0x6c120c20, 0x34631: 0x6c120e20, 0x34632: 0x6c121020, 0x34633: 0x6c121220,\n\t0x34634: 0x6c121420, 0x34635: 0x6c121620, 0x34636: 0x6c121820, 0x34637: 0x6c121a20,\n\t0x34638: 0x6c121c20, 0x34639: 0x6c121e20, 0x3463a: 0x6c122020, 0x3463b: 0x6c122220,\n\t0x3463c: 0x6c122420, 0x3463d: 0x6c122620, 0x3463e: 0x6c122820, 0x3463f: 0x6c122a20,\n\t// Block 0xd19, offset 0x34640\n\t0x34640: 0x6c122c20, 0x34641: 0x6c122e20, 0x34642: 0x6c123020, 0x34643: 0x6c20a820,\n\t0x34644: 0x6c20aa20, 0x34645: 0x6c20ac20, 0x34646: 0x6c20ae20, 0x34647: 0x6c20b020,\n\t0x34648: 0x6c20b220, 0x34649: 0x6c20b420, 0x3464a: 0x6c20b620, 0x3464b: 0x6c20b820,\n\t0x3464c: 0x6c20ba20, 0x3464d: 0x6c20bc20, 0x3464e: 0x6c20be20, 0x3464f: 0x6c20c020,\n\t0x34650: 0x6c20c220, 0x34651: 0x6c20c420, 0x34652: 0x6c20c620, 0x34653: 0x6c20c820,\n\t0x34654: 0x6c20ca20, 0x34655: 0x6c20cc20, 0x34656: 0x6c20ce20, 0x34657: 0x6c20d020,\n\t0x34658: 0x6c20d220, 0x34659: 0x6c20d420, 0x3465a: 0x6c20d620, 0x3465b: 0x6c20d820,\n\t0x3465c: 0x6c20da20, 0x3465d: 0x6c20dc20, 0x3465e: 0x6c20de20, 0x3465f: 0x6c20e020,\n\t0x34660: 0x6c20e220, 0x34661: 0x6c20e420, 0x34662: 0x6c20e620, 0x34663: 0x6c20e820,\n\t0x34664: 0x6c20ea20, 0x34665: 0x6c20ec20, 0x34666: 0x6c20ee20, 0x34667: 0x6c20f020,\n\t0x34668: 0x6c20f220, 0x34669: 0x6c20f420, 0x3466a: 0x6c20f620, 0x3466b: 0x6c20f820,\n\t0x3466c: 0x6c20fa20, 0x3466d: 0x6c20fc20, 0x3466e: 0x6c20fe20, 0x3466f: 0x6c210020,\n\t0x34670: 0x6c210220, 0x34671: 0x6c210420, 0x34672: 0x6c210620, 0x34673: 0x6c210820,\n\t0x34674: 0x6c34be20, 0x34675: 0x6c34c020, 0x34676: 0x6c34c220, 0x34677: 0x6c34c420,\n\t0x34678: 0x6c34c620, 0x34679: 0x6c34c820, 0x3467a: 0x6c34ca20, 0x3467b: 0x6c34cc20,\n\t0x3467c: 0x6c34ce20, 0x3467d: 0x6c34d020, 0x3467e: 0x6c34d220, 0x3467f: 0x6c34d420,\n\t// Block 0xd1a, offset 0x34680\n\t0x34680: 0x6c34d620, 0x34681: 0x6c34d820, 0x34682: 0x6c34da20, 0x34683: 0x6c34dc20,\n\t0x34684: 0x6c34de20, 0x34685: 0x6c34e020, 0x34686: 0x6c34e220, 0x34687: 0x6c34e420,\n\t0x34688: 0x6c34e620, 0x34689: 0x6c34e820, 0x3468a: 0x6c34ea20, 0x3468b: 0x6c34ec20,\n\t0x3468c: 0x6c34ee20, 0x3468d: 0x6c34f020, 0x3468e: 0x6c34f220, 0x3468f: 0x6c34f420,\n\t0x34690: 0x6c34f620, 0x34691: 0x6c34f820, 0x34692: 0x6c34fa20, 0x34693: 0x6c34fc20,\n\t0x34694: 0x6c34fe20, 0x34695: 0x6c350020, 0x34696: 0x6c350220, 0x34697: 0x6c350420,\n\t0x34698: 0x6c350620, 0x34699: 0x6c350820, 0x3469a: 0x6c350a20, 0x3469b: 0x6c350c20,\n\t0x3469c: 0x6c350e20, 0x3469d: 0x6c351020, 0x3469e: 0x6c351220, 0x3469f: 0x6c351420,\n\t0x346a0: 0x6c351620, 0x346a1: 0x6c351820, 0x346a2: 0x6c351a20, 0x346a3: 0x6c351c20,\n\t0x346a4: 0x6c4f8020, 0x346a5: 0x6c4f8220, 0x346a6: 0x6c4f8420, 0x346a7: 0x6c4f8620,\n\t0x346a8: 0x6c4f8820, 0x346a9: 0x6c4f8a20, 0x346aa: 0x6c4f8c20, 0x346ab: 0x6c4f8e20,\n\t0x346ac: 0x6c4f9020, 0x346ad: 0x6c4f9220, 0x346ae: 0x6c4f9420, 0x346af: 0x6c4f9620,\n\t0x346b0: 0x6c4f9820, 0x346b1: 0x6c4f9a20, 0x346b2: 0x6c4f9c20, 0x346b3: 0x6c4f9e20,\n\t0x346b4: 0x6c4fa020, 0x346b5: 0x6c4fa220, 0x346b6: 0x6c4fa420, 0x346b7: 0x6c4fa620,\n\t0x346b8: 0x6c4fa820, 0x346b9: 0x6c4faa20, 0x346ba: 0x6c4fac20, 0x346bb: 0x6c4fae20,\n\t0x346bc: 0x6c4fb020, 0x346bd: 0x6c4fb220, 0x346be: 0x6c4fb420, 0x346bf: 0x6c4fb620,\n\t// Block 0xd1b, offset 0x346c0\n\t0x346c0: 0x6c4fb820, 0x346c1: 0x6c4fba20, 0x346c2: 0x6c4fbc20, 0x346c3: 0x6c4fbe20,\n\t0x346c4: 0x6c4fc020, 0x346c5: 0x6c4fc220, 0x346c6: 0x6c4fc420, 0x346c7: 0x6c4fc620,\n\t0x346c8: 0x6c4fc820, 0x346c9: 0x6c4fca20, 0x346ca: 0x6c4fcc20, 0x346cb: 0x6c4fce20,\n\t0x346cc: 0x6c4fd020, 0x346cd: 0x6c4fd220, 0x346ce: 0x6c4fd420, 0x346cf: 0x6c4fd620,\n\t0x346d0: 0x6c4fd820, 0x346d1: 0x6c4fda20, 0x346d2: 0x6c4fdc20, 0x346d3: 0x6c4fde20,\n\t0x346d4: 0x6c4fe020, 0x346d5: 0x6c4fe220, 0x346d6: 0x6c4fe420, 0x346d7: 0x6c4fe620,\n\t0x346d8: 0x6c4fe820, 0x346d9: 0x6c4fea20, 0x346da: 0x6c4fec20, 0x346db: 0x6c4fee20,\n\t0x346dc: 0x6c4ff020, 0x346dd: 0x6c4ff220, 0x346de: 0x6c4ff420, 0x346df: 0x6c4ff620,\n\t0x346e0: 0x6c4ff820, 0x346e1: 0x6c4ffa20, 0x346e2: 0x6c4ffc20, 0x346e3: 0x6c4ffe20,\n\t0x346e4: 0x6c500020, 0x346e5: 0x6c500220, 0x346e6: 0x6c500420, 0x346e7: 0x6c500620,\n\t0x346e8: 0x6c500820, 0x346e9: 0x6c500a20, 0x346ea: 0x6c500c20, 0x346eb: 0x6c500e20,\n\t0x346ec: 0x6c501020, 0x346ed: 0x6c501220, 0x346ee: 0x6c501420, 0x346ef: 0x6c716220,\n\t0x346f0: 0x6c716420, 0x346f1: 0x6c716620, 0x346f2: 0x6c716820, 0x346f3: 0x6c716a20,\n\t0x346f4: 0x6c716c20, 0x346f5: 0x6c716e20, 0x346f6: 0x6c717020, 0x346f7: 0x6c717220,\n\t0x346f8: 0x6c717420, 0x346f9: 0x6c717620, 0x346fa: 0x6c717820, 0x346fb: 0x6c717a20,\n\t0x346fc: 0x6c717c20, 0x346fd: 0x6c717e20, 0x346fe: 0x6c718020, 0x346ff: 0x6c718220,\n\t// Block 0xd1c, offset 0x34700\n\t0x34700: 0x6c718420, 0x34701: 0x6c718620, 0x34702: 0x6c718820, 0x34703: 0x6c718a20,\n\t0x34704: 0x6c718c20, 0x34705: 0x6c718e20, 0x34706: 0x6c719020, 0x34707: 0x6c719220,\n\t0x34708: 0x6c719420, 0x34709: 0x6c719620, 0x3470a: 0x6c719820, 0x3470b: 0x6c719a20,\n\t0x3470c: 0x6c719c20, 0x3470d: 0x6c719e20, 0x3470e: 0x6c71a020, 0x3470f: 0x6c71a220,\n\t0x34710: 0x6c71a420, 0x34711: 0x6c71a620, 0x34712: 0x6c71a820, 0x34713: 0x6c71aa20,\n\t0x34714: 0x6c71ac20, 0x34715: 0x6c71ae20, 0x34716: 0x6c71b020, 0x34717: 0x6c71b220,\n\t0x34718: 0x6c71b420, 0x34719: 0x6c71b620, 0x3471a: 0x6c71b820, 0x3471b: 0x6c71ba20,\n\t0x3471c: 0x6c71bc20, 0x3471d: 0x6c71be20, 0x3471e: 0x6c71c020, 0x3471f: 0x6c71c220,\n\t0x34720: 0x6c71c420, 0x34721: 0x6c71c620, 0x34722: 0x6c71c820, 0x34723: 0x6c71ca20,\n\t0x34724: 0x6c71cc20, 0x34725: 0x6c71ce20, 0x34726: 0x6c71d020, 0x34727: 0x6c71d220,\n\t0x34728: 0x6c71d420, 0x34729: 0x6c71d620, 0x3472a: 0x6c71d820, 0x3472b: 0x6c71da20,\n\t0x3472c: 0x6c71dc20, 0x3472d: 0x6c71de20, 0x3472e: 0x6c71e020, 0x3472f: 0x6c71e220,\n\t0x34730: 0x6c71e420, 0x34731: 0x6c71e620, 0x34732: 0x6c71e820, 0x34733: 0x6c71ea20,\n\t0x34734: 0x6c71ec20, 0x34735: 0x6c71ee20, 0x34736: 0x6c71f020, 0x34737: 0x6c71f220,\n\t0x34738: 0x6c71f420, 0x34739: 0x6c71f620, 0x3473a: 0x6c71f820, 0x3473b: 0x6c71fa20,\n\t0x3473c: 0x6c71fc20, 0x3473d: 0x6c71fe20, 0x3473e: 0x6c720020, 0x3473f: 0x6c720220,\n\t// Block 0xd1d, offset 0x34740\n\t0x34740: 0x6c720420, 0x34741: 0x6c99ac20, 0x34742: 0x6c99ae20, 0x34743: 0x6c99b020,\n\t0x34744: 0x6c99b220, 0x34745: 0x6c99b420, 0x34746: 0x6c99b620, 0x34747: 0x6c99b820,\n\t0x34748: 0x6c99ba20, 0x34749: 0x6c99bc20, 0x3474a: 0x6c99be20, 0x3474b: 0x6c99c020,\n\t0x3474c: 0x6c99c220, 0x3474d: 0x6c99c420, 0x3474e: 0x6c99c620, 0x3474f: 0x6c99c820,\n\t0x34750: 0x6c99ca20, 0x34751: 0x6c99cc20, 0x34752: 0x6c99ce20, 0x34753: 0x6c99d020,\n\t0x34754: 0x6c99d220, 0x34755: 0x6c99d420, 0x34756: 0x6c99d620, 0x34757: 0x6c99d820,\n\t0x34758: 0x6c99da20, 0x34759: 0x6c99dc20, 0x3475a: 0x6c99de20, 0x3475b: 0x6c99e020,\n\t0x3475c: 0x6c99e220, 0x3475d: 0x6c99e420, 0x3475e: 0x6c99e620, 0x3475f: 0x6c99e820,\n\t0x34760: 0x6c99ea20, 0x34761: 0x6c99ec20, 0x34762: 0x6c99ee20, 0x34763: 0x6c99f020,\n\t0x34764: 0x6c99f220, 0x34765: 0x6c99f420, 0x34766: 0x6c99f620, 0x34767: 0x6c99f820,\n\t0x34768: 0x6c99fa20, 0x34769: 0x6c99fc20, 0x3476a: 0x6c99fe20, 0x3476b: 0x6c9a0020,\n\t0x3476c: 0x6c9a0220, 0x3476d: 0x6c9a0420, 0x3476e: 0x6c9a0620, 0x3476f: 0x6c9a0820,\n\t0x34770: 0x6c9a0a20, 0x34771: 0x6c9a0c20, 0x34772: 0x6c9a0e20, 0x34773: 0x6c9a1020,\n\t0x34774: 0x6c9a1220, 0x34775: 0x6c9a1420, 0x34776: 0x6c9a1620, 0x34777: 0x6c9a1820,\n\t0x34778: 0x6c9a1a20, 0x34779: 0x6c9a1c20, 0x3477a: 0x6c9a1e20, 0x3477b: 0x6c9a2020,\n\t0x3477c: 0x6c9a2220, 0x3477d: 0x6c9a2420, 0x3477e: 0x6c9a2620, 0x3477f: 0x6c9a2820,\n\t// Block 0xd1e, offset 0x34780\n\t0x34780: 0x6c9a2a20, 0x34781: 0x6c9a2c20, 0x34782: 0x6c9a2e20, 0x34783: 0x6c9a3020,\n\t0x34784: 0x6c9a3220, 0x34785: 0x6c9a3420, 0x34786: 0x6c9a3620, 0x34787: 0x6c9a3820,\n\t0x34788: 0x6c9a3a20, 0x34789: 0x6c9a3c20, 0x3478a: 0x6c9a3e20, 0x3478b: 0x6c9a4020,\n\t0x3478c: 0x6c9a4220, 0x3478d: 0x6c9a4420, 0x3478e: 0x6c9a4620, 0x3478f: 0x6c9a4820,\n\t0x34790: 0x6c9a4a20, 0x34791: 0x6c9a4c20, 0x34792: 0x6c9a4e20, 0x34793: 0x6c9a5020,\n\t0x34794: 0x6c9a5220, 0x34795: 0x6c9a5420, 0x34796: 0x6c9a5620, 0x34797: 0x6c9a5820,\n\t0x34798: 0x6c9a5a20, 0x34799: 0x6c9a5c20, 0x3479a: 0x6c9a5e20, 0x3479b: 0x6c9a6020,\n\t0x3479c: 0x6c9a6220, 0x3479d: 0x6c9a6420, 0x3479e: 0x6c9a6620, 0x3479f: 0x6c9a6820,\n\t0x347a0: 0x6c9a6a20, 0x347a1: 0x6c9a6c20, 0x347a2: 0x6c9a6e20, 0x347a3: 0x6c9a7020,\n\t0x347a4: 0x6c9a7220, 0x347a5: 0x6c9a7420, 0x347a6: 0x6c9a7620, 0x347a7: 0x6c9a7820,\n\t0x347a8: 0x6c9a7a20, 0x347a9: 0x6cc56a20, 0x347aa: 0x6cc56c20, 0x347ab: 0x6cc56e20,\n\t0x347ac: 0x6cc57020, 0x347ad: 0x6cc57220, 0x347ae: 0x6cc57420, 0x347af: 0x6cc57620,\n\t0x347b0: 0x6cc57820, 0x347b1: 0x6cc57a20, 0x347b2: 0x6cc57c20, 0x347b3: 0x6cc57e20,\n\t0x347b4: 0x6cc58020, 0x347b5: 0x6cc58220, 0x347b6: 0x6cc58420, 0x347b7: 0x6cc58620,\n\t0x347b8: 0x6cc58820, 0x347b9: 0x6cc58a20, 0x347ba: 0x6cc58c20, 0x347bb: 0x6cc58e20,\n\t0x347bc: 0x6cc59020, 0x347bd: 0x6cc59220, 0x347be: 0x6cc59420, 0x347bf: 0x6cc59620,\n\t// Block 0xd1f, offset 0x347c0\n\t0x347c0: 0x6cc59820, 0x347c1: 0x6cc59a20, 0x347c2: 0x6cc59c20, 0x347c3: 0x6cc59e20,\n\t0x347c4: 0x6cc5a020, 0x347c5: 0x6cc5a220, 0x347c6: 0x6cc5a420, 0x347c7: 0x6cc5a620,\n\t0x347c8: 0x6cc5a820, 0x347c9: 0x6cc5aa20, 0x347ca: 0x6cc5ac20, 0x347cb: 0x6cc5ae20,\n\t0x347cc: 0x6cc5b020, 0x347cd: 0x6cc5b220, 0x347ce: 0x6cc5b420, 0x347cf: 0x6cc5b620,\n\t0x347d0: 0x6cc5b820, 0x347d1: 0x6cc5ba20, 0x347d2: 0x6cc5bc20, 0x347d3: 0x6cc5be20,\n\t0x347d4: 0x6cc5c020, 0x347d5: 0x6cc5c220, 0x347d6: 0x6cc5c420, 0x347d7: 0x6cc5c620,\n\t0x347d8: 0x6cc5c820, 0x347d9: 0x6cc5ca20, 0x347da: 0x6cc5cc20, 0x347db: 0x6cc5ce20,\n\t0x347dc: 0x6cc5d020, 0x347dd: 0x6cc5d220, 0x347de: 0x6cc5d420, 0x347df: 0x6cc5d620,\n\t0x347e0: 0x6cc5d820, 0x347e1: 0x6cc5da20, 0x347e2: 0x6cc5dc20, 0x347e3: 0x6cc5de20,\n\t0x347e4: 0x6cc5e020, 0x347e5: 0x6cc5e220, 0x347e6: 0x6cc5e420, 0x347e7: 0x6cc5e620,\n\t0x347e8: 0x6cc5e820, 0x347e9: 0x6cc5ea20, 0x347ea: 0x6cc5ec20, 0x347eb: 0x6cc5ee20,\n\t0x347ec: 0x6cc5f020, 0x347ed: 0x6cc5f220, 0x347ee: 0x6cc5f420, 0x347ef: 0x6cc5f620,\n\t0x347f0: 0x6cc5f820, 0x347f1: 0x6cc5fa20, 0x347f2: 0x6cc5fc20, 0x347f3: 0x6cc5fe20,\n\t0x347f4: 0x6cc60020, 0x347f5: 0x6cc60220, 0x347f6: 0x6cc60420, 0x347f7: 0x6cc60620,\n\t0x347f8: 0x6cc60820, 0x347f9: 0x6cc60a20, 0x347fa: 0x6cc60c20, 0x347fb: 0x6cc60e20,\n\t0x347fc: 0x6cc61020, 0x347fd: 0x6cc61220, 0x347fe: 0x6cc61420, 0x347ff: 0x6d017820,\n\t// Block 0xd20, offset 0x34800\n\t0x34800: 0x6cc61620, 0x34801: 0x6cc61820, 0x34802: 0x6cc61a20, 0x34803: 0x6cc61c20,\n\t0x34804: 0x6cc61e20, 0x34805: 0x6cc62020, 0x34806: 0x6cc62220, 0x34807: 0x6cc62420,\n\t0x34808: 0x6cc62620, 0x34809: 0x6cc62820, 0x3480a: 0x6cc62a20, 0x3480b: 0x6cc62c20,\n\t0x3480c: 0x6cc62e20, 0x3480d: 0x6cc63020, 0x3480e: 0x6cc63220, 0x3480f: 0x6cc63420,\n\t0x34810: 0x6cc63620, 0x34811: 0x6cc63820, 0x34812: 0x6cc63a20, 0x34813: 0x6cc63c20,\n\t0x34814: 0x6cc63e20, 0x34815: 0x6cc64020, 0x34816: 0x6cc64220, 0x34817: 0x6cc64420,\n\t0x34818: 0x6cc64620, 0x34819: 0x6cc64820, 0x3481a: 0x6cc64a20, 0x3481b: 0x6cc64c20,\n\t0x3481c: 0x6cc64e20, 0x3481d: 0x6cc65020, 0x3481e: 0x6cc65220, 0x3481f: 0x6cf45a20,\n\t0x34820: 0x6cf45c20, 0x34821: 0x6cf45e20, 0x34822: 0x6cf46020, 0x34823: 0x6cf46220,\n\t0x34824: 0x6cf46420, 0x34825: 0x6cf46620, 0x34826: 0x6cf46820, 0x34827: 0x6cf46a20,\n\t0x34828: 0x6cf46c20, 0x34829: 0x6cf46e20, 0x3482a: 0x6cf47020, 0x3482b: 0x6cf47220,\n\t0x3482c: 0x6cf47420, 0x3482d: 0x6cf47620, 0x3482e: 0x6cf47820, 0x3482f: 0x6cf47a20,\n\t0x34830: 0x6cf47c20, 0x34831: 0x6cf47e20, 0x34832: 0x6cf48020, 0x34833: 0x6cf48220,\n\t0x34834: 0x6cf48420, 0x34835: 0x6cf48620, 0x34836: 0x6cf48820, 0x34837: 0x6cf48a20,\n\t0x34838: 0x6cf48c20, 0x34839: 0x6cf48e20, 0x3483a: 0x6cf49020, 0x3483b: 0x6cf49220,\n\t0x3483c: 0x6cf49420, 0x3483d: 0x6cf49620, 0x3483e: 0x6cf49820, 0x3483f: 0x6cf49a20,\n\t// Block 0xd21, offset 0x34840\n\t0x34840: 0x6cf49c20, 0x34841: 0x6cf49e20, 0x34842: 0x6cf4a020, 0x34843: 0x6cf4a220,\n\t0x34844: 0x6cf4a420, 0x34845: 0x6cf4a620, 0x34846: 0x6cf4a820, 0x34847: 0x6cf4aa20,\n\t0x34848: 0x6cf4ac20, 0x34849: 0x6cf4ae20, 0x3484a: 0x6cf4b020, 0x3484b: 0x6cf4b220,\n\t0x3484c: 0x6cf4b420, 0x3484d: 0x6cf4b620, 0x3484e: 0x6cf4b820, 0x3484f: 0x6cf4ba20,\n\t0x34850: 0x6cf4bc20, 0x34851: 0x6cf4be20, 0x34852: 0x6cf4c020, 0x34853: 0x6cf4c220,\n\t0x34854: 0x6cf4c420, 0x34855: 0x6cf4c620, 0x34856: 0x6cf4c820, 0x34857: 0x6cf4ca20,\n\t0x34858: 0x6cf4cc20, 0x34859: 0x6cf4ce20, 0x3485a: 0x6cf4d020, 0x3485b: 0x6cf4d220,\n\t0x3485c: 0x6cf4d420, 0x3485d: 0x6cf4d620, 0x3485e: 0x6cf4d820, 0x3485f: 0x6cf4da20,\n\t0x34860: 0x6cf4dc20, 0x34861: 0x6cf4de20, 0x34862: 0x6cf4e020, 0x34863: 0x6cf4e220,\n\t0x34864: 0x6cf4e420, 0x34865: 0x6cf4e620, 0x34866: 0x6cf4e820, 0x34867: 0x6cf4ea20,\n\t0x34868: 0x6cf4ec20, 0x34869: 0x6cf4ee20, 0x3486a: 0x6cf4f020, 0x3486b: 0x6cf4f220,\n\t0x3486c: 0x6cf4f420, 0x3486d: 0x6cf4f620, 0x3486e: 0x6cf4f820, 0x3486f: 0x6cf4fa20,\n\t0x34870: 0x6cf4fc20, 0x34871: 0x6cf4fe20, 0x34872: 0x6cf50020, 0x34873: 0x6d23fa20,\n\t0x34874: 0x6d23fc20, 0x34875: 0x6d23fe20, 0x34876: 0x6d240020, 0x34877: 0x6d240220,\n\t0x34878: 0x6d240420, 0x34879: 0x6d240620, 0x3487a: 0x6d240820, 0x3487b: 0x6d240a20,\n\t0x3487c: 0x6d240c20, 0x3487d: 0x6d240e20, 0x3487e: 0x6d241020, 0x3487f: 0x6d241220,\n\t// Block 0xd22, offset 0x34880\n\t0x34880: 0x6d241420, 0x34881: 0x6d241620, 0x34882: 0x6d241820, 0x34883: 0x6d241a20,\n\t0x34884: 0x6d241c20, 0x34885: 0x6d241e20, 0x34886: 0x6d242020, 0x34887: 0x6d242220,\n\t0x34888: 0x6d242420, 0x34889: 0x6d242620, 0x3488a: 0x6d242820, 0x3488b: 0x6d242a20,\n\t0x3488c: 0x6d242c20, 0x3488d: 0x6d242e20, 0x3488e: 0x6d243020, 0x3488f: 0x6d243220,\n\t0x34890: 0x6d243420, 0x34891: 0x6d243620, 0x34892: 0x6d243820, 0x34893: 0x6d243a20,\n\t0x34894: 0x6d243c20, 0x34895: 0x6d243e20, 0x34896: 0x6d244020, 0x34897: 0x6d244220,\n\t0x34898: 0x6d244420, 0x34899: 0x6d244620, 0x3489a: 0x6d244820, 0x3489b: 0x6d244a20,\n\t0x3489c: 0x6d244c20, 0x3489d: 0x6d244e20, 0x3489e: 0x6d245020, 0x3489f: 0x6d245220,\n\t0x348a0: 0x6d245420, 0x348a1: 0x6d245620, 0x348a2: 0x6d245820, 0x348a3: 0x6d245a20,\n\t0x348a4: 0x6d245c20, 0x348a5: 0x6d245e20, 0x348a6: 0x6d246020, 0x348a7: 0x6d246220,\n\t0x348a8: 0x6d246420, 0x348a9: 0x6d246620, 0x348aa: 0x6d246820, 0x348ab: 0x6d246a20,\n\t0x348ac: 0x6d246c20, 0x348ad: 0x6d246e20, 0x348ae: 0x6d247020, 0x348af: 0x6d247220,\n\t0x348b0: 0x6d247420, 0x348b1: 0x6d247620, 0x348b2: 0x6d247820, 0x348b3: 0x6d247a20,\n\t0x348b4: 0x6d247c20, 0x348b5: 0x6d247e20, 0x348b6: 0x6d248020, 0x348b7: 0x6d248220,\n\t0x348b8: 0x6d248420, 0x348b9: 0x6d248620, 0x348ba: 0x6d248820, 0x348bb: 0x6d248a20,\n\t0x348bc: 0x6d248c20, 0x348bd: 0x6d248e20, 0x348be: 0x6d249020, 0x348bf: 0x6d249220,\n\t// Block 0xd23, offset 0x348c0\n\t0x348c0: 0x6d249420, 0x348c1: 0x6d249620, 0x348c2: 0x6d249820, 0x348c3: 0x6d249a20,\n\t0x348c4: 0x6d249c20, 0x348c5: 0x6d249e20, 0x348c6: 0x6d24a020, 0x348c7: 0x6d24a220,\n\t0x348c8: 0x6d24a420, 0x348c9: 0x6d24a620, 0x348ca: 0x6d24a820, 0x348cb: 0x6d24aa20,\n\t0x348cc: 0x6d24ac20, 0x348cd: 0x6d24ae20, 0x348ce: 0x6d24b020, 0x348cf: 0x6d24b220,\n\t0x348d0: 0x6d24b420, 0x348d1: 0x6d24b620, 0x348d2: 0x6d24b820, 0x348d3: 0x6d24ba20,\n\t0x348d4: 0x6d24bc20, 0x348d5: 0x6d24be20, 0x348d6: 0x6d24c020, 0x348d7: 0x6d24c220,\n\t0x348d8: 0x6d24c420, 0x348d9: 0x6d24c620, 0x348da: 0x6d24c820, 0x348db: 0x6d24ca20,\n\t0x348dc: 0x6d24cc20, 0x348dd: 0x6d24ce20, 0x348de: 0x6d24d020, 0x348df: 0x6d24d220,\n\t0x348e0: 0x6d519620, 0x348e1: 0x6d519820, 0x348e2: 0x6d519a20, 0x348e3: 0x6d519c20,\n\t0x348e4: 0x6d519e20, 0x348e5: 0x6d51a020, 0x348e6: 0x6d51a220, 0x348e7: 0x6d51a420,\n\t0x348e8: 0x6d51a620, 0x348e9: 0x6d51a820, 0x348ea: 0x6d51aa20, 0x348eb: 0x6d51ac20,\n\t0x348ec: 0x6d51ae20, 0x348ed: 0x6d51b020, 0x348ee: 0x6d51b220, 0x348ef: 0x6d51b420,\n\t0x348f0: 0x6d51b620, 0x348f1: 0x6d51b820, 0x348f2: 0x6d51ba20, 0x348f3: 0x6d51bc20,\n\t0x348f4: 0x6d51be20, 0x348f5: 0x6d51c020, 0x348f6: 0x6d51c220, 0x348f7: 0x6d51c420,\n\t0x348f8: 0x6d51c620, 0x348f9: 0x6d51c820, 0x348fa: 0x6d51ca20, 0x348fb: 0x6d51cc20,\n\t0x348fc: 0x6d51ce20, 0x348fd: 0x6d51d020, 0x348fe: 0x6d51d220, 0x348ff: 0x6d51d420,\n\t// Block 0xd24, offset 0x34900\n\t0x34900: 0x6d51d620, 0x34901: 0x6d51d820, 0x34902: 0x6d51da20, 0x34903: 0x6d51dc20,\n\t0x34904: 0x6d51de20, 0x34905: 0x6d51e020, 0x34906: 0x6d51e220, 0x34907: 0x6d51e420,\n\t0x34908: 0x6d51e620, 0x34909: 0x6d51e820, 0x3490a: 0x6d51ea20, 0x3490b: 0x6d51ec20,\n\t0x3490c: 0x6d51ee20, 0x3490d: 0x6d51f020, 0x3490e: 0x6d51f220, 0x3490f: 0x6d51f420,\n\t0x34910: 0x6d51f620, 0x34911: 0x6d51f820, 0x34912: 0x6d51fa20, 0x34913: 0x6d51fc20,\n\t0x34914: 0x6d51fe20, 0x34915: 0x6d520020, 0x34916: 0x6d520220, 0x34917: 0x6d520420,\n\t0x34918: 0x6d520620, 0x34919: 0x6d520820, 0x3491a: 0x6d520a20, 0x3491b: 0x6d520c20,\n\t0x3491c: 0x6d520e20, 0x3491d: 0x6d521020, 0x3491e: 0x6d521220, 0x3491f: 0x6d521420,\n\t0x34920: 0x6d521620, 0x34921: 0x6d521820, 0x34922: 0x6d521a20, 0x34923: 0x6d521c20,\n\t0x34924: 0x6d521e20, 0x34925: 0x6d522020, 0x34926: 0x6d522220, 0x34927: 0x6d522420,\n\t0x34928: 0x6d522620, 0x34929: 0x6d522820, 0x3492a: 0x6d522a20, 0x3492b: 0x6d522c20,\n\t0x3492c: 0x6d522e20, 0x3492d: 0x6d523020, 0x3492e: 0x6d523220, 0x3492f: 0x6d523420,\n\t0x34930: 0x6d523620, 0x34931: 0x6d523820, 0x34932: 0x6d523a20, 0x34933: 0x6d523c20,\n\t0x34934: 0x6d523e20, 0x34935: 0x6d524020, 0x34936: 0x6d524220, 0x34937: 0x6d524420,\n\t0x34938: 0x6d524620, 0x34939: 0x6d524820, 0x3493a: 0x6d524a20, 0x3493b: 0x6d524c20,\n\t0x3493c: 0x6d524e20, 0x3493d: 0x6d525020, 0x3493e: 0x6d525220, 0x3493f: 0x6d7d0220,\n\t// Block 0xd25, offset 0x34940\n\t0x34940: 0x6d7d0420, 0x34941: 0x6d7d0620, 0x34942: 0x6d7d0820, 0x34943: 0x6d7d0a20,\n\t0x34944: 0x6d7d0c20, 0x34945: 0x6d7d0e20, 0x34946: 0x6d7d1020, 0x34947: 0x6d7d1220,\n\t0x34948: 0x6d7d1420, 0x34949: 0x6d7d1620, 0x3494a: 0x6d7d1820, 0x3494b: 0x6d7d1a20,\n\t0x3494c: 0x6d7d1c20, 0x3494d: 0x6d7d1e20, 0x3494e: 0x6d7d2020, 0x3494f: 0x6d7d2220,\n\t0x34950: 0x6d7d2420, 0x34951: 0x6d7d2620, 0x34952: 0x6d7d2820, 0x34953: 0x6d7d2a20,\n\t0x34954: 0x6d7d2c20, 0x34955: 0x6d7d2e20, 0x34956: 0x6d7d3020, 0x34957: 0x6d7d3220,\n\t0x34958: 0x6d7d3420, 0x34959: 0x6d7d3620, 0x3495a: 0x6d7d3820, 0x3495b: 0x6d7d3a20,\n\t0x3495c: 0x6d7d3c20, 0x3495d: 0x6d7d3e20, 0x3495e: 0x6d7d4020, 0x3495f: 0x6d7d4220,\n\t0x34960: 0x6d7d4420, 0x34961: 0x6d7d4620, 0x34962: 0x6d7d4820, 0x34963: 0x6d7d4a20,\n\t0x34964: 0x6d7d4c20, 0x34965: 0x6d7d4e20, 0x34966: 0x6d7d5020, 0x34967: 0x6d7d5220,\n\t0x34968: 0x6d7d5420, 0x34969: 0x6d7d5620, 0x3496a: 0x6d7d5820, 0x3496b: 0x6d7d5a20,\n\t0x3496c: 0x6d7d5c20, 0x3496d: 0x6d7d5e20, 0x3496e: 0x6d7d6020, 0x3496f: 0x6d7d6220,\n\t0x34970: 0x6d7d6420, 0x34971: 0x6d7d6620, 0x34972: 0x6d7d6820, 0x34973: 0x6d7d6a20,\n\t0x34974: 0x6d7d6c20, 0x34975: 0x6d7d6e20, 0x34976: 0x6d7d7020, 0x34977: 0x6d7d7220,\n\t0x34978: 0x6d7d7420, 0x34979: 0x6d7d7620, 0x3497a: 0x6d7d7820, 0x3497b: 0x6d7d7a20,\n\t0x3497c: 0x6d7d7c20, 0x3497d: 0x6d7d7e20, 0x3497e: 0x6d7d8020, 0x3497f: 0x6d7d8220,\n\t// Block 0xd26, offset 0x34980\n\t0x34980: 0x6d7d8420, 0x34981: 0x6d7d8620, 0x34982: 0x6d7d8820, 0x34983: 0x6d7d8a20,\n\t0x34984: 0x6d7d8c20, 0x34985: 0x6d525420, 0x34986: 0x6d7d8e20, 0x34987: 0x6d7d9020,\n\t0x34988: 0x6d7d9220, 0x34989: 0x6d7d9420, 0x3498a: 0x6d7d9620, 0x3498b: 0x6da4ae20,\n\t0x3498c: 0x6da4b020, 0x3498d: 0x6da4b220, 0x3498e: 0x6da4b420, 0x3498f: 0x6da4b620,\n\t0x34990: 0x6da4b820, 0x34991: 0x6da4ba20, 0x34992: 0x6da4bc20, 0x34993: 0x6da4be20,\n\t0x34994: 0x6da4c020, 0x34995: 0x6da4c220, 0x34996: 0x6da4c420, 0x34997: 0x6da4c620,\n\t0x34998: 0x6da4c820, 0x34999: 0x6da4ca20, 0x3499a: 0x6da4cc20, 0x3499b: 0x6da4ce20,\n\t0x3499c: 0x6da4d020, 0x3499d: 0x6da4d220, 0x3499e: 0x6da4d420, 0x3499f: 0x6da4d620,\n\t0x349a0: 0x6da4d820, 0x349a1: 0x6da4da20, 0x349a2: 0x6da4dc20, 0x349a3: 0x6da4de20,\n\t0x349a4: 0x6da4e020, 0x349a5: 0x6da4e220, 0x349a6: 0x6da4e420, 0x349a7: 0x6da4e620,\n\t0x349a8: 0x6da4e820, 0x349a9: 0x6da4ea20, 0x349aa: 0x6da4ec20, 0x349ab: 0x6da4ee20,\n\t0x349ac: 0x6da4f020, 0x349ad: 0x6da4f220, 0x349ae: 0x6da4f420, 0x349af: 0x6da4f620,\n\t0x349b0: 0x6da4f820, 0x349b1: 0x6da4fa20, 0x349b2: 0x6da4fc20, 0x349b3: 0x6da4fe20,\n\t0x349b4: 0x6da50020, 0x349b5: 0x6da50220, 0x349b6: 0x6dc64e20, 0x349b7: 0x6dc65020,\n\t0x349b8: 0x6dc65220, 0x349b9: 0x6dc65420, 0x349ba: 0x6dc65620, 0x349bb: 0x6dc65820,\n\t0x349bc: 0x6dc65a20, 0x349bd: 0x6dc65c20, 0x349be: 0x6dc65e20, 0x349bf: 0x6dc66020,\n\t// Block 0xd27, offset 0x349c0\n\t0x349c0: 0x6dc66220, 0x349c1: 0x6dc66420, 0x349c2: 0x6dc66620, 0x349c3: 0x6dc66820,\n\t0x349c4: 0x6dc66a20, 0x349c5: 0x6dc66c20, 0x349c6: 0x6dc66e20, 0x349c7: 0x6dc67020,\n\t0x349c8: 0x6dc67220, 0x349c9: 0x6dc67420, 0x349ca: 0x6dc67620, 0x349cb: 0x6dc67820,\n\t0x349cc: 0x6dc67a20, 0x349cd: 0x6dc67c20, 0x349ce: 0x6dc67e20, 0x349cf: 0x6dc68020,\n\t0x349d0: 0x6dc68220, 0x349d1: 0x6dc68420, 0x349d2: 0x6dc68620, 0x349d3: 0x6dc68820,\n\t0x349d4: 0x6dc68a20, 0x349d5: 0x6dc68c20, 0x349d6: 0x6dc68e20, 0x349d7: 0x6dc69020,\n\t0x349d8: 0x6dc69220, 0x349d9: 0x6dc69420, 0x349da: 0x6dc69620, 0x349db: 0x6dc69820,\n\t0x349dc: 0x6dc69a20, 0x349dd: 0x6dc69c20, 0x349de: 0x6dc69e20, 0x349df: 0x6dc6a020,\n\t0x349e0: 0x6dc6a220, 0x349e1: 0x6dc6a420, 0x349e2: 0x6dc6a620, 0x349e3: 0x6de30420,\n\t0x349e4: 0x6de30620, 0x349e5: 0x6de30820, 0x349e6: 0x6de30a20, 0x349e7: 0x6de30c20,\n\t0x349e8: 0x6de30e20, 0x349e9: 0x6de31020, 0x349ea: 0x6de31220, 0x349eb: 0x6de31420,\n\t0x349ec: 0x6de31620, 0x349ed: 0x6de31820, 0x349ee: 0x6de31a20, 0x349ef: 0x6de31c20,\n\t0x349f0: 0x6de31e20, 0x349f1: 0x6de32020, 0x349f2: 0x6de32220, 0x349f3: 0x6de32420,\n\t0x349f4: 0x6de32620, 0x349f5: 0x6de32820, 0x349f6: 0x6de32a20, 0x349f7: 0x6de32c20,\n\t0x349f8: 0x6de32e20, 0x349f9: 0x6de33020, 0x349fa: 0x6de33220, 0x349fb: 0x6de33420,\n\t0x349fc: 0x6de33620, 0x349fd: 0x6de33820, 0x349fe: 0x6de33a20, 0x349ff: 0x6de33c20,\n\t// Block 0xd28, offset 0x34a00\n\t0x34a00: 0x6de33e20, 0x34a01: 0x6de34020, 0x34a02: 0x6de34220, 0x34a03: 0x6de34420,\n\t0x34a04: 0x6de34620, 0x34a05: 0x6de34820, 0x34a06: 0x6de34a20, 0x34a07: 0x6de34c20,\n\t0x34a08: 0x6de34e20, 0x34a09: 0x6de35020, 0x34a0a: 0x6de35220, 0x34a0b: 0x6de35420,\n\t0x34a0c: 0x6de35620, 0x34a0d: 0x6dfa7220, 0x34a0e: 0x6dfa7420, 0x34a0f: 0x6dfa7620,\n\t0x34a10: 0x6dfa7820, 0x34a11: 0x6dfa7a20, 0x34a12: 0x6dfa7c20, 0x34a13: 0x6dfa7e20,\n\t0x34a14: 0x6dfa8020, 0x34a15: 0x6dfa8220, 0x34a16: 0x6dfa8420, 0x34a17: 0x6dfa8620,\n\t0x34a18: 0x6dfa8820, 0x34a19: 0x6dfa8a20, 0x34a1a: 0x6dfa8c20, 0x34a1b: 0x6dfa8e20,\n\t0x34a1c: 0x6dfa9020, 0x34a1d: 0x6dfa9220, 0x34a1e: 0x6dfa9420, 0x34a1f: 0x6dfa9620,\n\t0x34a20: 0x6dfa9820, 0x34a21: 0x6dfa9a20, 0x34a22: 0x6e0dfe20, 0x34a23: 0x6dfa9c20,\n\t0x34a24: 0x6dfa9e20, 0x34a25: 0x6dfaa020, 0x34a26: 0x6dfaa220, 0x34a27: 0x6dfaa420,\n\t0x34a28: 0x6dfaa620, 0x34a29: 0x6dfaa820, 0x34a2a: 0x6dfaaa20, 0x34a2b: 0x6dfaac20,\n\t0x34a2c: 0x6e0e0020, 0x34a2d: 0x6e0e0220, 0x34a2e: 0x6e0e0420, 0x34a2f: 0x6e0e0620,\n\t0x34a30: 0x6e0e0820, 0x34a31: 0x6e0e0a20, 0x34a32: 0x6e0e0c20, 0x34a33: 0x6e0e0e20,\n\t0x34a34: 0x6e0e1020, 0x34a35: 0x6e0e1220, 0x34a36: 0x6e0e1420, 0x34a37: 0x6e0e1620,\n\t0x34a38: 0x6e0e1820, 0x34a39: 0x6e0e1a20, 0x34a3a: 0x6e0e1c20, 0x34a3b: 0x6e0e1e20,\n\t0x34a3c: 0x6e0e2020, 0x34a3d: 0x6e0e2220, 0x34a3e: 0x6e0e2420, 0x34a3f: 0x6e0e2620,\n\t// Block 0xd29, offset 0x34a40\n\t0x34a40: 0x6e0e2820, 0x34a41: 0x6e0e2a20, 0x34a42: 0x6e1d6620, 0x34a43: 0x6e1d6820,\n\t0x34a44: 0x6e1d6a20, 0x34a45: 0x6e1d6c20, 0x34a46: 0x6e1d6e20, 0x34a47: 0x6e1d7020,\n\t0x34a48: 0x6e1d7220, 0x34a49: 0x6e1d7420, 0x34a4a: 0x6e1d7620, 0x34a4b: 0x6e1d7820,\n\t0x34a4c: 0x6e1d7a20, 0x34a4d: 0x6e1d7c20, 0x34a4e: 0x6e1d7e20, 0x34a4f: 0x6e1d8020,\n\t0x34a50: 0x6e1d8220, 0x34a51: 0x6e1d8420, 0x34a52: 0x6e1d8620, 0x34a53: 0x6e1d8820,\n\t0x34a54: 0x6e1d8a20, 0x34a55: 0x6e1d8c20, 0x34a56: 0x6e290820, 0x34a57: 0x6e290a20,\n\t0x34a58: 0x6e290c20, 0x34a59: 0x6e290e20, 0x34a5a: 0x6e291020, 0x34a5b: 0x6e291220,\n\t0x34a5c: 0x6e291420, 0x34a5d: 0x6e291620, 0x34a5e: 0x6e322a20, 0x34a5f: 0x6e322c20,\n\t0x34a60: 0x6e322e20, 0x34a61: 0x6e323020, 0x34a62: 0x6e323220, 0x34a63: 0x6e323420,\n\t0x34a64: 0x6e323620, 0x34a65: 0x6e323820, 0x34a66: 0x6e323a20, 0x34a67: 0x6e323c20,\n\t0x34a68: 0x6e323e20, 0x34a69: 0x6e324020, 0x34a6a: 0x6e324220, 0x34a6b: 0x6e324420,\n\t0x34a6c: 0x6e389620, 0x34a6d: 0x6e389820, 0x34a6e: 0x6e389a20, 0x34a6f: 0x6e389c20,\n\t0x34a70: 0x6e404420, 0x34a71: 0x6e404620, 0x34a72: 0x6e404820, 0x34a73: 0x6e429e20,\n\t0x34a74: 0x6e462a20, 0x34a75: 0x6c123820, 0x34a76: 0x6c211a20, 0x34a77: 0x6c353020,\n\t0x34a78: 0x6c353220, 0x34a79: 0x6c353420, 0x34a7a: 0x6c353620, 0x34a7b: 0x6c353820,\n\t0x34a7c: 0x6c353a20, 0x34a7d: 0x6c353c20, 0x34a7e: 0x6c502c20, 0x34a7f: 0x6c502e20,\n\t// Block 0xd2a, offset 0x34a80\n\t0x34a80: 0x6c503020, 0x34a81: 0x6c722620, 0x34a82: 0x6c722820, 0x34a83: 0x6c722a20,\n\t0x34a84: 0x6c722c20, 0x34a85: 0x6c722e20, 0x34a86: 0x6c723020, 0x34a87: 0x6c723220,\n\t0x34a88: 0x6c6aa620, 0x34a89: 0x6c723420, 0x34a8a: 0x6c9a9620, 0x34a8b: 0x6c9a9820,\n\t0x34a8c: 0x6c9a9a20, 0x34a8d: 0x6c9a9c20, 0x34a8e: 0x6cc67420, 0x34a8f: 0x6cc67620,\n\t0x34a90: 0x6cc67820, 0x34a91: 0x6cc67a20, 0x34a92: 0x6cc67c20, 0x34a93: 0x6cc67e20,\n\t0x34a94: 0x6cc68020, 0x34a95: 0x6cf52020, 0x34a96: 0x6cf52220, 0x34a97: 0x6cf52420,\n\t0x34a98: 0x6cf52620, 0x34a99: 0x6cf52820, 0x34a9a: 0x6d24ea20, 0x34a9b: 0x6d24ec20,\n\t0x34a9c: 0x6d24ee20, 0x34a9d: 0x6d526a20, 0x34a9e: 0x6d526c20, 0x34a9f: 0x6d526e20,\n\t0x34aa0: 0x6d7da220, 0x34aa1: 0x6d7da420, 0x34aa2: 0x6d7da620, 0x34aa3: 0x6d7da820,\n\t0x34aa4: 0x6d7daa20, 0x34aa5: 0x6da50a20, 0x34aa6: 0x6da50c20, 0x34aa7: 0x6da50e20,\n\t0x34aa8: 0x6da51020, 0x34aa9: 0x6da51220, 0x34aaa: 0x6dfab020, 0x34aab: 0x6c212a20,\n\t0x34aac: 0x6c212c20, 0x34aad: 0x6c212e20, 0x34aae: 0x6c213020, 0x34aaf: 0x6c213220,\n\t0x34ab0: 0x6c213420, 0x34ab1: 0x6c213620, 0x34ab2: 0x6c213820, 0x34ab3: 0x6c354820,\n\t0x34ab4: 0x6c354a20, 0x34ab5: 0x6c354c20, 0x34ab6: 0x6c354e20, 0x34ab7: 0x6c355020,\n\t0x34ab8: 0x6c355220, 0x34ab9: 0x6c355420, 0x34aba: 0x6c355620, 0x34abb: 0x6c355820,\n\t0x34abc: 0x6c355a20, 0x34abd: 0x6c355c20, 0x34abe: 0x6c355e20, 0x34abf: 0x6c356020,\n\t// Block 0xd2b, offset 0x34ac0\n\t0x34ac0: 0x6c356220, 0x34ac1: 0x6c356420, 0x34ac2: 0x6c356620, 0x34ac3: 0x6c356820,\n\t0x34ac4: 0x6c356a20, 0x34ac5: 0x6c356c20, 0x34ac6: 0x6c356e20, 0x34ac7: 0x6c357020,\n\t0x34ac8: 0x6c357220, 0x34ac9: 0x6c504820, 0x34aca: 0x6c504a20, 0x34acb: 0x6c504c20,\n\t0x34acc: 0x6c504e20, 0x34acd: 0x6c505020, 0x34ace: 0x6c505220, 0x34acf: 0x6c505420,\n\t0x34ad0: 0x6c505620, 0x34ad1: 0x6c505820, 0x34ad2: 0x6c505a20, 0x34ad3: 0x6c505c20,\n\t0x34ad4: 0x6c505e20, 0x34ad5: 0x6c506020, 0x34ad6: 0x6c506220, 0x34ad7: 0x6c506420,\n\t0x34ad8: 0x6c506620, 0x34ad9: 0x6c506820, 0x34ada: 0x6c506a20, 0x34adb: 0x6c724a20,\n\t0x34adc: 0x6c724c20, 0x34add: 0x6c724e20, 0x34ade: 0x6c725020, 0x34adf: 0x6c725220,\n\t0x34ae0: 0x6c725420, 0x34ae1: 0x6c725620, 0x34ae2: 0x6c725820, 0x34ae3: 0x6c725a20,\n\t0x34ae4: 0x6c725c20, 0x34ae5: 0x6c725e20, 0x34ae6: 0x6c726020, 0x34ae7: 0x6c726220,\n\t0x34ae8: 0x6c726420, 0x34ae9: 0x6c726620, 0x34aea: 0x6c726820, 0x34aeb: 0x6c726a20,\n\t0x34aec: 0x6c726c20, 0x34aed: 0x6c726e20, 0x34aee: 0x6c727020, 0x34aef: 0x6c727220,\n\t0x34af0: 0x6c727420, 0x34af1: 0x6c727620, 0x34af2: 0x6c727820, 0x34af3: 0x6c727a20,\n\t0x34af4: 0x6c727c20, 0x34af5: 0x6c727e20, 0x34af6: 0x6c728020, 0x34af7: 0x6c728220,\n\t0x34af8: 0x6c728420, 0x34af9: 0x6c9aca20, 0x34afa: 0x6c9acc20, 0x34afb: 0x6c9ace20,\n\t0x34afc: 0x6c9ad020, 0x34afd: 0x6c9ad220, 0x34afe: 0x6c9ad420, 0x34aff: 0x6c9ad620,\n\t// Block 0xd2c, offset 0x34b00\n\t0x34b00: 0x6c9ad820, 0x34b01: 0x6c9ada20, 0x34b02: 0x6c9adc20, 0x34b03: 0x6c9ade20,\n\t0x34b04: 0x6c9ae020, 0x34b05: 0x6c9ae220, 0x34b06: 0x6c9ae420, 0x34b07: 0x6c9ae620,\n\t0x34b08: 0x6c9ae820, 0x34b09: 0x6c9aea20, 0x34b0a: 0x6c9aec20, 0x34b0b: 0x6c9aee20,\n\t0x34b0c: 0x6c9af020, 0x34b0d: 0x6c9af220, 0x34b0e: 0x6c9af420, 0x34b0f: 0x6c9af620,\n\t0x34b10: 0x6c9af820, 0x34b11: 0x6c9afa20, 0x34b12: 0x6c9afc20, 0x34b13: 0x6c9afe20,\n\t0x34b14: 0x6c9b0020, 0x34b15: 0x6c9b0220, 0x34b16: 0x6c9b0420, 0x34b17: 0x6c9b0620,\n\t0x34b18: 0x6c9b0820, 0x34b19: 0x6c9b0a20, 0x34b1a: 0x6cc6b620, 0x34b1b: 0x6cc6b820,\n\t0x34b1c: 0x6c9b0c20, 0x34b1d: 0x6cc6ba20, 0x34b1e: 0x6cc6bc20, 0x34b1f: 0x6cc6be20,\n\t0x34b20: 0x6cc6c020, 0x34b21: 0x6cc6c220, 0x34b22: 0x6cc6c420, 0x34b23: 0x6cc6c620,\n\t0x34b24: 0x6cc6c820, 0x34b25: 0x6cc6ca20, 0x34b26: 0x6cc6cc20, 0x34b27: 0x6cc6ce20,\n\t0x34b28: 0x6cc6d020, 0x34b29: 0x6cc6d220, 0x34b2a: 0x6cc6d420, 0x34b2b: 0x6cc6d620,\n\t0x34b2c: 0x6cc6d820, 0x34b2d: 0x6cc6da20, 0x34b2e: 0x6cc6dc20, 0x34b2f: 0x6cc6de20,\n\t0x34b30: 0x6cc6e020, 0x34b31: 0x6cc6e220, 0x34b32: 0x6cc6e420, 0x34b33: 0x6cc6e620,\n\t0x34b34: 0x6cc6e820, 0x34b35: 0x6cc6ea20, 0x34b36: 0x6cc6ec20, 0x34b37: 0x6c9b0e20,\n\t0x34b38: 0x6cc6ee20, 0x34b39: 0x6cc6f020, 0x34b3a: 0x6cc6f220, 0x34b3b: 0x6cc6f420,\n\t0x34b3c: 0x6cc6f620, 0x34b3d: 0x6cc6f820, 0x34b3e: 0x6cc6fa20, 0x34b3f: 0x6cf54020,\n\t// Block 0xd2d, offset 0x34b40\n\t0x34b40: 0x6cf54220, 0x34b41: 0x6cf54420, 0x34b42: 0x6cf54620, 0x34b43: 0x6cf54820,\n\t0x34b44: 0x6cf54a20, 0x34b45: 0x6cf54c20, 0x34b46: 0x6cf54e20, 0x34b47: 0x6cf55020,\n\t0x34b48: 0x6cf55220, 0x34b49: 0x6cf55420, 0x34b4a: 0x6cf55620, 0x34b4b: 0x6cf55820,\n\t0x34b4c: 0x6cf55a20, 0x34b4d: 0x6cf55c20, 0x34b4e: 0x6cf55e20, 0x34b4f: 0x6cf56020,\n\t0x34b50: 0x6cf56220, 0x34b51: 0x6cf56420, 0x34b52: 0x6cf56620, 0x34b53: 0x6cf56820,\n\t0x34b54: 0x6cf56a20, 0x34b55: 0x6cf56c20, 0x34b56: 0x6cf56e20, 0x34b57: 0x6cf57020,\n\t0x34b58: 0x6cf57220, 0x34b59: 0x6cf57420, 0x34b5a: 0x6cf57620, 0x34b5b: 0x6cf57820,\n\t0x34b5c: 0x6cf57a20, 0x34b5d: 0x6cf57c20, 0x34b5e: 0x6cf57e20, 0x34b5f: 0x6cf58020,\n\t0x34b60: 0x6cf58220, 0x34b61: 0x6cf58420, 0x34b62: 0x6cf58620, 0x34b63: 0x6cc6fc20,\n\t0x34b64: 0x6cf58820, 0x34b65: 0x6d017a20, 0x34b66: 0x6d24fe20, 0x34b67: 0x6d250020,\n\t0x34b68: 0x6d250220, 0x34b69: 0x6d250420, 0x34b6a: 0x6d250620, 0x34b6b: 0x6d250820,\n\t0x34b6c: 0x6d250a20, 0x34b6d: 0x6d250c20, 0x34b6e: 0x6d250e20, 0x34b6f: 0x6d251020,\n\t0x34b70: 0x6d251220, 0x34b71: 0x6d251420, 0x34b72: 0x6d251620, 0x34b73: 0x6d251820,\n\t0x34b74: 0x6d251a20, 0x34b75: 0x6d251c20, 0x34b76: 0x6d251e20, 0x34b77: 0x6d252020,\n\t0x34b78: 0x6d252220, 0x34b79: 0x6d252420, 0x34b7a: 0x6d252620, 0x34b7b: 0x6d252820,\n\t0x34b7c: 0x6d252a20, 0x34b7d: 0x6d252c20, 0x34b7e: 0x6d252e20, 0x34b7f: 0x6d253020,\n\t// Block 0xd2e, offset 0x34b80\n\t0x34b80: 0x6d253220, 0x34b81: 0x6d253420, 0x34b82: 0x6d253620, 0x34b83: 0x6d253820,\n\t0x34b84: 0x6d253a20, 0x34b85: 0x6d253c20, 0x34b86: 0x6d033220, 0x34b87: 0x6d528620,\n\t0x34b88: 0x6d528820, 0x34b89: 0x6d528a20, 0x34b8a: 0x6d528c20, 0x34b8b: 0x6d528e20,\n\t0x34b8c: 0x6d529020, 0x34b8d: 0x6d529220, 0x34b8e: 0x6d529420, 0x34b8f: 0x6d529620,\n\t0x34b90: 0x6d529820, 0x34b91: 0x6d529a20, 0x34b92: 0x6d529c20, 0x34b93: 0x6d529e20,\n\t0x34b94: 0x6d52a020, 0x34b95: 0x6d52a220, 0x34b96: 0x6d52a420, 0x34b97: 0x6d52a620,\n\t0x34b98: 0x6d52a820, 0x34b99: 0x6d52aa20, 0x34b9a: 0x6d52ac20, 0x34b9b: 0x6d52ae20,\n\t0x34b9c: 0x6d52b020, 0x34b9d: 0x6d52b220, 0x34b9e: 0x6d7dbe20, 0x34b9f: 0x6d7dc020,\n\t0x34ba0: 0x6d7dc220, 0x34ba1: 0x6d7dc420, 0x34ba2: 0x6d7dc620, 0x34ba3: 0x6d7dc820,\n\t0x34ba4: 0x6d7dca20, 0x34ba5: 0x6d7dcc20, 0x34ba6: 0x6d7dce20, 0x34ba7: 0x6d7dd020,\n\t0x34ba8: 0x6d7dd220, 0x34ba9: 0x6d7dd420, 0x34baa: 0x6d7dd620, 0x34bab: 0x6d7dd820,\n\t0x34bac: 0x6d7dda20, 0x34bad: 0x6d7ddc20, 0x34bae: 0x6d7dde20, 0x34baf: 0x6d7de020,\n\t0x34bb0: 0x6d7de220, 0x34bb1: 0x6d7de420, 0x34bb2: 0x6d7de620, 0x34bb3: 0x6d7de820,\n\t0x34bb4: 0x6d7dea20, 0x34bb5: 0x6d7dec20, 0x34bb6: 0x6d7dee20, 0x34bb7: 0x6d7df020,\n\t0x34bb8: 0x6d7df220, 0x34bb9: 0x6d7df420, 0x34bba: 0x6d7df620, 0x34bbb: 0x6d7df820,\n\t0x34bbc: 0x6d7dfa20, 0x34bbd: 0x6d7dfc20, 0x34bbe: 0x6da51a20, 0x34bbf: 0x6da51c20,\n\t// Block 0xd2f, offset 0x34bc0\n\t0x34bc0: 0x6da51e20, 0x34bc1: 0x6da52020, 0x34bc2: 0x6da52220, 0x34bc3: 0x6da52420,\n\t0x34bc4: 0x6dc6bc20, 0x34bc5: 0x6da52620, 0x34bc6: 0x6da52820, 0x34bc7: 0x6da52a20,\n\t0x34bc8: 0x6da52c20, 0x34bc9: 0x6da52e20, 0x34bca: 0x6da53020, 0x34bcb: 0x6da53220,\n\t0x34bcc: 0x6da53420, 0x34bcd: 0x6da53620, 0x34bce: 0x6da53820, 0x34bcf: 0x6da53a20,\n\t0x34bd0: 0x6dc6be20, 0x34bd1: 0x6dc6c020, 0x34bd2: 0x6dc6c220, 0x34bd3: 0x6dc6c420,\n\t0x34bd4: 0x6dc6c620, 0x34bd5: 0x6dc6c820, 0x34bd6: 0x6dc6ca20, 0x34bd7: 0x6dc6cc20,\n\t0x34bd8: 0x6dc6ce20, 0x34bd9: 0x6dc6d020, 0x34bda: 0x6dc6d220, 0x34bdb: 0x6de35c20,\n\t0x34bdc: 0x6de35e20, 0x34bdd: 0x6de36020, 0x34bde: 0x6de36220, 0x34bdf: 0x6de36420,\n\t0x34be0: 0x6de36620, 0x34be1: 0x6de36820, 0x34be2: 0x6de36a20, 0x34be3: 0x6dfab820,\n\t0x34be4: 0x6dfaba20, 0x34be5: 0x6dfabc20, 0x34be6: 0x6dfabe20, 0x34be7: 0x6dfac020,\n\t0x34be8: 0x6dfac220, 0x34be9: 0x6dfac420, 0x34bea: 0x6dfac620, 0x34beb: 0x6dfac820,\n\t0x34bec: 0x6dfaca20, 0x34bed: 0x6dfacc20, 0x34bee: 0x6e0e2e20, 0x34bef: 0x6e0e3020,\n\t0x34bf0: 0x6e0e3220, 0x34bf1: 0x6e0e3420, 0x34bf2: 0x6e0e3620, 0x34bf3: 0x6e1d9020,\n\t0x34bf4: 0x6e1d9220, 0x34bf5: 0x6e291a20, 0x34bf6: 0x6e291c20, 0x34bf7: 0x6e291e20,\n\t0x34bf8: 0x6e292020, 0x34bf9: 0x6e292220, 0x34bfa: 0x6e292420, 0x34bfb: 0x6e389e20,\n\t0x34bfc: 0x6e38a020, 0x34bfd: 0x6e404a20, 0x34bfe: 0x6e404c20, 0x34bff: 0x6e42a020,\n\t// Block 0xd30, offset 0x34c00\n\t0x34c00: 0x6e442e20, 0x34c01: 0x6c123e20, 0x34c02: 0x6c213e20, 0x34c03: 0x6c357820,\n\t0x34c04: 0x6c357a20, 0x34c05: 0x6c357c20, 0x34c06: 0x6c507020, 0x34c07: 0x6c507220,\n\t0x34c08: 0x6c507420, 0x34c09: 0x6c507620, 0x34c0a: 0x6c729220, 0x34c0b: 0x6c728620,\n\t0x34c0c: 0x6c729420, 0x34c0d: 0x6c729620, 0x34c0e: 0x6c9b1c20, 0x34c0f: 0x6c9b1e20,\n\t0x34c10: 0x6c9b2020, 0x34c11: 0x6c9b2220, 0x34c12: 0x6c9b2420, 0x34c13: 0x6c9b2620,\n\t0x34c14: 0x6cc70820, 0x34c15: 0x6cc70a20, 0x34c16: 0x6cc70c20, 0x34c17: 0x6cf59020,\n\t0x34c18: 0x6cf59220, 0x34c19: 0x6cf59420, 0x34c1a: 0x6d52b420, 0x34c1b: 0x6d52be20,\n\t0x34c1c: 0x6d52c020, 0x34c1d: 0x6d52c220, 0x34c1e: 0x6d52c420, 0x34c1f: 0x6d52c620,\n\t0x34c20: 0x6d52c820, 0x34c21: 0x6d52ca20, 0x34c22: 0x6d7e0620, 0x34c23: 0x6d7e0820,\n\t0x34c24: 0x6da54020, 0x34c25: 0x6dc6d820, 0x34c26: 0x6dc6da20, 0x34c27: 0x6de36e20,\n\t0x34c28: 0x6dfad020, 0x34c29: 0x6e0e3e20, 0x34c2a: 0x6e0e4020, 0x34c2b: 0x6e292820,\n\t0x34c2c: 0x6c048820, 0x34c2d: 0x6c214420, 0x34c2e: 0x6c358420, 0x34c2f: 0x6c358620,\n\t0x34c30: 0x6c358820, 0x34c31: 0x6c507c20, 0x34c32: 0x6c507e20, 0x34c33: 0x6c72a020,\n\t0x34c34: 0x6c72a220, 0x34c35: 0x6c72a420, 0x34c36: 0x6c72a620, 0x34c37: 0x6c9b2e20,\n\t0x34c38: 0x6c9b3020, 0x34c39: 0x6c9b3220, 0x34c3a: 0x6c9b3420, 0x34c3b: 0x6c9b3620,\n\t0x34c3c: 0x6cc71820, 0x34c3d: 0x6cc71a20, 0x34c3e: 0x6cc71c20, 0x34c3f: 0x6cc71e20,\n\t// Block 0xd31, offset 0x34c40\n\t0x34c40: 0x6cc72020, 0x34c41: 0x6cf59a20, 0x34c42: 0x6d254c20, 0x34c43: 0x6cf59c20,\n\t0x34c44: 0x6cf59e20, 0x34c45: 0x6cf5a020, 0x34c46: 0x6d254e20, 0x34c47: 0x6d255020,\n\t0x34c48: 0x6d255220, 0x34c49: 0x6d52ce20, 0x34c4a: 0x6d52d020, 0x34c4b: 0x6d52d220,\n\t0x34c4c: 0x6da54620, 0x34c4d: 0x6da54820, 0x34c4e: 0x6dc6de20, 0x34c4f: 0x6de37020,\n\t0x34c50: 0x6dfad220, 0x34c51: 0x6c048c20, 0x34c52: 0x6c124420, 0x34c53: 0x6c214620,\n\t0x34c54: 0x6c359220, 0x34c55: 0x6c359420, 0x34c56: 0x6c359620, 0x34c57: 0x6c359820,\n\t0x34c58: 0x6c359a20, 0x34c59: 0x6c508a20, 0x34c5a: 0x6c508c20, 0x34c5b: 0x6c72ae20,\n\t0x34c5c: 0x6c72b020, 0x34c5d: 0x6c72b220, 0x34c5e: 0x6c9b3c20, 0x34c5f: 0x6c9b3e20,\n\t0x34c60: 0x6c9b4020, 0x34c61: 0x6cc72a20, 0x34c62: 0x6cc72c20, 0x34c63: 0x6cc72e20,\n\t0x34c64: 0x6cc73020, 0x34c65: 0x6cc73220, 0x34c66: 0x6cc73420, 0x34c67: 0x6cc73620,\n\t0x34c68: 0x6cc73820, 0x34c69: 0x6cc73a20, 0x34c6a: 0x6cc73c20, 0x34c6b: 0x6ca6ac20,\n\t0x34c6c: 0x6cc73e20, 0x34c6d: 0x6cc74020, 0x34c6e: 0x6cf5a420, 0x34c6f: 0x6cf5a620,\n\t0x34c70: 0x6cf5a820, 0x34c71: 0x6cf5aa20, 0x34c72: 0x6cf5ac20, 0x34c73: 0x6cf5ae20,\n\t0x34c74: 0x6cf5b020, 0x34c75: 0x6cf5b220, 0x34c76: 0x6d255a20, 0x34c77: 0x6d255c20,\n\t0x34c78: 0x6d255e20, 0x34c79: 0x6d256020, 0x34c7a: 0x6d256220, 0x34c7b: 0x6d52da20,\n\t0x34c7c: 0x6d52dc20, 0x34c7d: 0x6d52de20, 0x34c7e: 0x6d52e020, 0x34c7f: 0x6d52e220,\n\t// Block 0xd32, offset 0x34c80\n\t0x34c80: 0x6d7e0e20, 0x34c81: 0x6d7e1020, 0x34c82: 0x6d7e1220, 0x34c83: 0x6d7e1420,\n\t0x34c84: 0x6d7e1620, 0x34c85: 0x6d7e1820, 0x34c86: 0x6d7e1a20, 0x34c87: 0x6da55020,\n\t0x34c88: 0x6da55220, 0x34c89: 0x6da55420, 0x34c8a: 0x6da55620, 0x34c8b: 0x6da55820,\n\t0x34c8c: 0x6dc6e220, 0x34c8d: 0x6dc6e420, 0x34c8e: 0x6dc6e620, 0x34c8f: 0x6dc6e820,\n\t0x34c90: 0x6dc6ea20, 0x34c91: 0x6de37220, 0x34c92: 0x6de37420, 0x34c93: 0x6de37620,\n\t0x34c94: 0x6dfad420, 0x34c95: 0x6dfad620, 0x34c96: 0x6e1d9420, 0x34c97: 0x6c124820,\n\t0x34c98: 0x6c214820, 0x34c99: 0x6c214a20, 0x34c9a: 0x6c35a620, 0x34c9b: 0x6c35a820,\n\t0x34c9c: 0x6c35aa20, 0x34c9d: 0x6c509820, 0x34c9e: 0x6c509a20, 0x34c9f: 0x6c509c20,\n\t0x34ca0: 0x6c509e20, 0x34ca1: 0x6c50a020, 0x34ca2: 0x6c50a220, 0x34ca3: 0x6c50a420,\n\t0x34ca4: 0x6c50a620, 0x34ca5: 0x6c50a820, 0x34ca6: 0x6c72ca20, 0x34ca7: 0x6c72cc20,\n\t0x34ca8: 0x6c72ce20, 0x34ca9: 0x6c72d020, 0x34caa: 0x6c72d220, 0x34cab: 0x6c72d420,\n\t0x34cac: 0x6c72d620, 0x34cad: 0x6c72d820, 0x34cae: 0x6c72da20, 0x34caf: 0x6c72dc20,\n\t0x34cb0: 0x6c72de20, 0x34cb1: 0x6c72e020, 0x34cb2: 0x6c72e220, 0x34cb3: 0x6c9b5820,\n\t0x34cb4: 0x6c9b5a20, 0x34cb5: 0x6c9b5c20, 0x34cb6: 0x6c9b5e20, 0x34cb7: 0x6c9b6020,\n\t0x34cb8: 0x6c9b6220, 0x34cb9: 0x6c9b6420, 0x34cba: 0x6c9b6620, 0x34cbb: 0x6c9b6820,\n\t0x34cbc: 0x6cc74a20, 0x34cbd: 0x6cc74c20, 0x34cbe: 0x6cc74e20, 0x34cbf: 0x6cc75020,\n\t// Block 0xd33, offset 0x34cc0\n\t0x34cc0: 0x6cc75220, 0x34cc1: 0x6cc75420, 0x34cc2: 0x6cc75620, 0x34cc3: 0x6cc75820,\n\t0x34cc4: 0x6cc75a20, 0x34cc5: 0x6cc75c20, 0x34cc6: 0x6cc75e20, 0x34cc7: 0x6cc76020,\n\t0x34cc8: 0x6cf5be20, 0x34cc9: 0x6cf5c020, 0x34cca: 0x6cf5c220, 0x34ccb: 0x6cf5c420,\n\t0x34ccc: 0x6cf5c620, 0x34ccd: 0x6cf5c820, 0x34cce: 0x6d256820, 0x34ccf: 0x6d256a20,\n\t0x34cd0: 0x6d256c20, 0x34cd1: 0x6d256e20, 0x34cd2: 0x6d257020, 0x34cd3: 0x6d257220,\n\t0x34cd4: 0x6d52e820, 0x34cd5: 0x6d52ea20, 0x34cd6: 0x6d52ec20, 0x34cd7: 0x6d7e2020,\n\t0x34cd8: 0x6d7e2220, 0x34cd9: 0x6d7e2420, 0x34cda: 0x6d7e2620, 0x34cdb: 0x6d7e2820,\n\t0x34cdc: 0x6d7e2a20, 0x34cdd: 0x6da55c20, 0x34cde: 0x6dc6ee20, 0x34cdf: 0x6dc6f020,\n\t0x34ce0: 0x6dc6f220, 0x34ce1: 0x6dc6f420, 0x34ce2: 0x6dc6f620, 0x34ce3: 0x6dc6f820,\n\t0x34ce4: 0x6de37e20, 0x34ce5: 0x6dfada20, 0x34ce6: 0x6e0e4420, 0x34ce7: 0x6e1d9620,\n\t0x34ce8: 0x6e1d9820, 0x34ce9: 0x6e292c20, 0x34cea: 0x6e324820, 0x34ceb: 0x6e38a420,\n\t0x34cec: 0x6e3d2e20, 0x34ced: 0x6c124a20, 0x34cee: 0x6c214c20, 0x34cef: 0x6c214e20,\n\t0x34cf0: 0x6c50ae20, 0x34cf1: 0x6c72ea20, 0x34cf2: 0x6c72ec20, 0x34cf3: 0x6c72ee20,\n\t0x34cf4: 0x6cc76a20, 0x34cf5: 0x6cc76c20, 0x34cf6: 0x6cf5d020, 0x34cf7: 0x6cf5d220,\n\t0x34cf8: 0x6cf5d420, 0x34cf9: 0x6d52f220, 0x34cfa: 0x6d7e3020, 0x34cfb: 0x6c095820,\n\t0x34cfc: 0x6c095a20, 0x34cfd: 0x6c095c20, 0x34cfe: 0x6c126020, 0x34cff: 0x6c126220,\n\t// Block 0xd34, offset 0x34d00\n\t0x34d00: 0x6c126420, 0x34d01: 0x6c126620, 0x34d02: 0x6c126820, 0x34d03: 0x6c126a20,\n\t0x34d04: 0x6c216e20, 0x34d05: 0x6c126c20, 0x34d06: 0x6c217020, 0x34d07: 0x6c217220,\n\t0x34d08: 0x6c217420, 0x34d09: 0x6c217620, 0x34d0a: 0x6c217820, 0x34d0b: 0x6c217a20,\n\t0x34d0c: 0x6c217c20, 0x34d0d: 0x6c217e20, 0x34d0e: 0x6c218020, 0x34d0f: 0x6c218220,\n\t0x34d10: 0x6c218420, 0x34d11: 0x6c218620, 0x34d12: 0x6c218820, 0x34d13: 0x6c218a20,\n\t0x34d14: 0x6c218c20, 0x34d15: 0x6c218e20, 0x34d16: 0x6c219020, 0x34d17: 0x6c219220,\n\t0x34d18: 0x6c219420, 0x34d19: 0x6c219620, 0x34d1a: 0x6c35f820, 0x34d1b: 0x6c35fa20,\n\t0x34d1c: 0x6c35fc20, 0x34d1d: 0x6c35fe20, 0x34d1e: 0x6c360020, 0x34d1f: 0x6c360220,\n\t0x34d20: 0x6c360420, 0x34d21: 0x6c360620, 0x34d22: 0x6c360820, 0x34d23: 0x6c360a20,\n\t0x34d24: 0x6c360c20, 0x34d25: 0x6c360e20, 0x34d26: 0x6c361020, 0x34d27: 0x6c361220,\n\t0x34d28: 0x6c361420, 0x34d29: 0x6c361620, 0x34d2a: 0x6c361820, 0x34d2b: 0x6c361a20,\n\t0x34d2c: 0x6c361c20, 0x34d2d: 0x6c361e20, 0x34d2e: 0x6c362020, 0x34d2f: 0x6c362220,\n\t0x34d30: 0x6c362420, 0x34d31: 0x6c362620, 0x34d32: 0x6c362820, 0x34d33: 0x6c362a20,\n\t0x34d34: 0x6c362c20, 0x34d35: 0x6c362e20, 0x34d36: 0x6c363020, 0x34d37: 0x6c511020,\n\t0x34d38: 0x6c511220, 0x34d39: 0x6c511420, 0x34d3a: 0x6c511620, 0x34d3b: 0x6c511820,\n\t0x34d3c: 0x6c511a20, 0x34d3d: 0x6c511c20, 0x34d3e: 0x6c511e20, 0x34d3f: 0x6c512020,\n\t// Block 0xd35, offset 0x34d40\n\t0x34d40: 0x6c512220, 0x34d41: 0x6c512420, 0x34d42: 0x6c512620, 0x34d43: 0x6c512820,\n\t0x34d44: 0x6c512a20, 0x34d45: 0x6c512c20, 0x34d46: 0x6c512e20, 0x34d47: 0x6c513020,\n\t0x34d48: 0x6c513220, 0x34d49: 0x6c515e20, 0x34d4a: 0x6c513420, 0x34d4b: 0x6c513620,\n\t0x34d4c: 0x6c513820, 0x34d4d: 0x6c513a20, 0x34d4e: 0x6c513c20, 0x34d4f: 0x6c513e20,\n\t0x34d50: 0x6c514020, 0x34d51: 0x6c514220, 0x34d52: 0x6c733220, 0x34d53: 0x6c733420,\n\t0x34d54: 0x6c733620, 0x34d55: 0x6c733820, 0x34d56: 0x6c733a20, 0x34d57: 0x6c733c20,\n\t0x34d58: 0x6c733e20, 0x34d59: 0x6c734020, 0x34d5a: 0x6c734220, 0x34d5b: 0x6c734420,\n\t0x34d5c: 0x6c734620, 0x34d5d: 0x6c734820, 0x34d5e: 0x6c734a20, 0x34d5f: 0x6c734c20,\n\t0x34d60: 0x6c734e20, 0x34d61: 0x6c735020, 0x34d62: 0x6c735220, 0x34d63: 0x6c735420,\n\t0x34d64: 0x6c735620, 0x34d65: 0x6c735820, 0x34d66: 0x6c735a20, 0x34d67: 0x6c735c20,\n\t0x34d68: 0x6c735e20, 0x34d69: 0x6c736020, 0x34d6a: 0x6c736220, 0x34d6b: 0x6c736420,\n\t0x34d6c: 0x6c736620, 0x34d6d: 0x6c736820, 0x34d6e: 0x6c736a20, 0x34d6f: 0x6c736c20,\n\t0x34d70: 0x6c736e20, 0x34d71: 0x6c737020, 0x34d72: 0x6c9ba220, 0x34d73: 0x6c9ba420,\n\t0x34d74: 0x6c9ba620, 0x34d75: 0x6c9ba820, 0x34d76: 0x6c9baa20, 0x34d77: 0x6c9bac20,\n\t0x34d78: 0x6c9bae20, 0x34d79: 0x6c9bb020, 0x34d7a: 0x6c9bb220, 0x34d7b: 0x6c9bb420,\n\t0x34d7c: 0x6c9bb620, 0x34d7d: 0x6c9bb820, 0x34d7e: 0x6c9bba20, 0x34d7f: 0x6c9bbc20,\n\t// Block 0xd36, offset 0x34d80\n\t0x34d80: 0x6c9bbe20, 0x34d81: 0x6c9bc020, 0x34d82: 0x6c9bc220, 0x34d83: 0x6c9bc420,\n\t0x34d84: 0x6c9bc620, 0x34d85: 0x6c9bc820, 0x34d86: 0x6c9bca20, 0x34d87: 0x6c9bcc20,\n\t0x34d88: 0x6c9bce20, 0x34d89: 0x6c9bd020, 0x34d8a: 0x6c9bd220, 0x34d8b: 0x6c9bd420,\n\t0x34d8c: 0x6c9bd620, 0x34d8d: 0x6c9bd820, 0x34d8e: 0x6c9bda20, 0x34d8f: 0x6c9bdc20,\n\t0x34d90: 0x6c9bde20, 0x34d91: 0x6c9be020, 0x34d92: 0x6c9be220, 0x34d93: 0x6c9be420,\n\t0x34d94: 0x6c9be620, 0x34d95: 0x6c9be820, 0x34d96: 0x6c9bea20, 0x34d97: 0x6c9bec20,\n\t0x34d98: 0x6c9bee20, 0x34d99: 0x6c9bf020, 0x34d9a: 0x6c9bf220, 0x34d9b: 0x6c9bf420,\n\t0x34d9c: 0x6c9bf620, 0x34d9d: 0x6c9bf820, 0x34d9e: 0x6c9bfa20, 0x34d9f: 0x6c9bfc20,\n\t0x34da0: 0x6c9bfe20, 0x34da1: 0x6c9c0020, 0x34da2: 0x6cc7ba20, 0x34da3: 0x6cc7bc20,\n\t0x34da4: 0x6cc7be20, 0x34da5: 0x6cc7c020, 0x34da6: 0x6cc7c220, 0x34da7: 0x6cc7c420,\n\t0x34da8: 0x6cc7c620, 0x34da9: 0x6cc7c820, 0x34daa: 0x6cc7ca20, 0x34dab: 0x6cc7cc20,\n\t0x34dac: 0x6cc7ce20, 0x34dad: 0x6cc7d020, 0x34dae: 0x6cc7d220, 0x34daf: 0x6cc7d420,\n\t0x34db0: 0x6cc7d620, 0x34db1: 0x6cc7d820, 0x34db2: 0x6cc7da20, 0x34db3: 0x6cc7dc20,\n\t0x34db4: 0x6cc7de20, 0x34db5: 0x6cc7e020, 0x34db6: 0x6cc7e220, 0x34db7: 0x6cc7e420,\n\t0x34db8: 0x6cc7e620, 0x34db9: 0x6cc7e820, 0x34dba: 0x6cc7ea20, 0x34dbb: 0x6cc7ec20,\n\t0x34dbc: 0x6cc7ee20, 0x34dbd: 0x6cc7f020, 0x34dbe: 0x6cc7f220, 0x34dbf: 0x6cc7f420,\n\t// Block 0xd37, offset 0x34dc0\n\t0x34dc0: 0x6cc7f620, 0x34dc1: 0x6cc7f820, 0x34dc2: 0x6cc7fa20, 0x34dc3: 0x6cc7fc20,\n\t0x34dc4: 0x6cc7fe20, 0x34dc5: 0x6cc80020, 0x34dc6: 0x6cc80220, 0x34dc7: 0x6cc80420,\n\t0x34dc8: 0x6cc80620, 0x34dc9: 0x6cc80820, 0x34dca: 0x6cc80a20, 0x34dcb: 0x6cc80c20,\n\t0x34dcc: 0x6cc80e20, 0x34dcd: 0x6cc81020, 0x34dce: 0x6cc81220, 0x34dcf: 0x6cc81420,\n\t0x34dd0: 0x6cc81620, 0x34dd1: 0x6cc81820, 0x34dd2: 0x6cc81a20, 0x34dd3: 0x6cc81c20,\n\t0x34dd4: 0x6cc81e20, 0x34dd5: 0x6cc82020, 0x34dd6: 0x6cc82220, 0x34dd7: 0x6cc82420,\n\t0x34dd8: 0x6cc82620, 0x34dd9: 0x6cc82820, 0x34dda: 0x6cc82a20, 0x34ddb: 0x6cc82c20,\n\t0x34ddc: 0x6cc82e20, 0x34ddd: 0x6cc83020, 0x34dde: 0x6cc83220, 0x34ddf: 0x6cc83420,\n\t0x34de0: 0x6cc83620, 0x34de1: 0x6cc83820, 0x34de2: 0x6cc83a20, 0x34de3: 0x6cc83c20,\n\t0x34de4: 0x6cf61a20, 0x34de5: 0x6cf61c20, 0x34de6: 0x6cf61e20, 0x34de7: 0x6cf62020,\n\t0x34de8: 0x6cf62220, 0x34de9: 0x6cf62420, 0x34dea: 0x6cf62620, 0x34deb: 0x6cf62820,\n\t0x34dec: 0x6cf62a20, 0x34ded: 0x6cf62c20, 0x34dee: 0x6cf62e20, 0x34def: 0x6cf63020,\n\t0x34df0: 0x6cf63220, 0x34df1: 0x6cf63420, 0x34df2: 0x6cf63620, 0x34df3: 0x6cf63820,\n\t0x34df4: 0x6cf63a20, 0x34df5: 0x6cf63c20, 0x34df6: 0x6cf63e20, 0x34df7: 0x6cf64020,\n\t0x34df8: 0x6cf64220, 0x34df9: 0x6cf64420, 0x34dfa: 0x6cf64620, 0x34dfb: 0x6cf64820,\n\t0x34dfc: 0x6cf64a20, 0x34dfd: 0x6cf64c20, 0x34dfe: 0x6cf64e20, 0x34dff: 0x6cf65020,\n\t// Block 0xd38, offset 0x34e00\n\t0x34e00: 0x6cf65220, 0x34e01: 0x6cf65420, 0x34e02: 0x6cf65620, 0x34e03: 0x6cf65820,\n\t0x34e04: 0x6cf65a20, 0x34e05: 0x6cf65c20, 0x34e06: 0x6cf65e20, 0x34e07: 0x6cf66020,\n\t0x34e08: 0x6cf66220, 0x34e09: 0x6cf66420, 0x34e0a: 0x6cf66620, 0x34e0b: 0x6cf66820,\n\t0x34e0c: 0x6cf66a20, 0x34e0d: 0x6cf66c20, 0x34e0e: 0x6cf66e20, 0x34e0f: 0x6cf67020,\n\t0x34e10: 0x6cf67220, 0x34e11: 0x6cf67420, 0x34e12: 0x6d259c20, 0x34e13: 0x6d259e20,\n\t0x34e14: 0x6d25a020, 0x34e15: 0x6d25a220, 0x34e16: 0x6d25a420, 0x34e17: 0x6d25a620,\n\t0x34e18: 0x6d25a820, 0x34e19: 0x6d25aa20, 0x34e1a: 0x6d25ac20, 0x34e1b: 0x6d25ae20,\n\t0x34e1c: 0x6d25b020, 0x34e1d: 0x6d25b220, 0x34e1e: 0x6d25b420, 0x34e1f: 0x6d25b620,\n\t0x34e20: 0x6d25b820, 0x34e21: 0x6cf1ac20, 0x34e22: 0x6d25ba20, 0x34e23: 0x6d25bc20,\n\t0x34e24: 0x6d25be20, 0x34e25: 0x6d25c020, 0x34e26: 0x6d25c220, 0x34e27: 0x6d25c420,\n\t0x34e28: 0x6d25c620, 0x34e29: 0x6d25c820, 0x34e2a: 0x6d25ca20, 0x34e2b: 0x6d25cc20,\n\t0x34e2c: 0x6d25ce20, 0x34e2d: 0x6d25d020, 0x34e2e: 0x6d25d220, 0x34e2f: 0x6d25d420,\n\t0x34e30: 0x6d25d620, 0x34e31: 0x6d25d820, 0x34e32: 0x6d25da20, 0x34e33: 0x6d25dc20,\n\t0x34e34: 0x6d25de20, 0x34e35: 0x6d25e020, 0x34e36: 0x6d25e220, 0x34e37: 0x6d25e420,\n\t0x34e38: 0x6d25e620, 0x34e39: 0x6d25e820, 0x34e3a: 0x6d25ea20, 0x34e3b: 0x6d531e20,\n\t0x34e3c: 0x6d532020, 0x34e3d: 0x6d532220, 0x34e3e: 0x6d532420, 0x34e3f: 0x6d532620,\n\t// Block 0xd39, offset 0x34e40\n\t0x34e40: 0x6d532820, 0x34e41: 0x6d532a20, 0x34e42: 0x6d532c20, 0x34e43: 0x6d532e20,\n\t0x34e44: 0x6d533020, 0x34e45: 0x6d533220, 0x34e46: 0x6d533420, 0x34e47: 0x6d533620,\n\t0x34e48: 0x6d533820, 0x34e49: 0x6d7e7020, 0x34e4a: 0x6d533a20, 0x34e4b: 0x6d533c20,\n\t0x34e4c: 0x6d533e20, 0x34e4d: 0x6d534020, 0x34e4e: 0x6d534220, 0x34e4f: 0x6d534420,\n\t0x34e50: 0x6d534620, 0x34e51: 0x6d534820, 0x34e52: 0x6d4d3220, 0x34e53: 0x6d534a20,\n\t0x34e54: 0x6d534c20, 0x34e55: 0x6d534e20, 0x34e56: 0x6d535020, 0x34e57: 0x6d535220,\n\t0x34e58: 0x6d535420, 0x34e59: 0x6d535620, 0x34e5a: 0x6d535820, 0x34e5b: 0x6d535a20,\n\t0x34e5c: 0x6d535c20, 0x34e5d: 0x6d535e20, 0x34e5e: 0x6d7e7220, 0x34e5f: 0x6d7e7420,\n\t0x34e60: 0x6d7e7620, 0x34e61: 0x6d7e7820, 0x34e62: 0x6d7e7a20, 0x34e63: 0x6d7e7c20,\n\t0x34e64: 0x6d7e7e20, 0x34e65: 0x6d7e8020, 0x34e66: 0x6d7e8220, 0x34e67: 0x6d7e8420,\n\t0x34e68: 0x6d7e8620, 0x34e69: 0x6d7e8820, 0x34e6a: 0x6d7e8a20, 0x34e6b: 0x6d7e8c20,\n\t0x34e6c: 0x6d7e8e20, 0x34e6d: 0x6d7e9020, 0x34e6e: 0x6d7e9220, 0x34e6f: 0x6d7e9420,\n\t0x34e70: 0x6d7e9620, 0x34e71: 0x6d7e9820, 0x34e72: 0x6d7e9a20, 0x34e73: 0x6d7e9c20,\n\t0x34e74: 0x6d7e9e20, 0x34e75: 0x6d7ea020, 0x34e76: 0x6d7ea220, 0x34e77: 0x6d7ea420,\n\t0x34e78: 0x6d7ea620, 0x34e79: 0x6d7ea820, 0x34e7a: 0x6d7eaa20, 0x34e7b: 0x6d7eac20,\n\t0x34e7c: 0x6d7eae20, 0x34e7d: 0x6d7eb020, 0x34e7e: 0x6d7eb220, 0x34e7f: 0x6d7eb420,\n\t// Block 0xd3a, offset 0x34e80\n\t0x34e80: 0x6d7eb620, 0x34e81: 0x6d7eb820, 0x34e82: 0x6d7eba20, 0x34e83: 0x6d7ebc20,\n\t0x34e84: 0x6d7ebe20, 0x34e85: 0x6d7ec020, 0x34e86: 0x6d7ec220, 0x34e87: 0x6d536020,\n\t0x34e88: 0x6d7ec420, 0x34e89: 0x6da57a20, 0x34e8a: 0x6da57c20, 0x34e8b: 0x6da57e20,\n\t0x34e8c: 0x6da58020, 0x34e8d: 0x6da58220, 0x34e8e: 0x6da58420, 0x34e8f: 0x6da58620,\n\t0x34e90: 0x6da58820, 0x34e91: 0x6da58a20, 0x34e92: 0x6da58c20, 0x34e93: 0x6da58e20,\n\t0x34e94: 0x6da59020, 0x34e95: 0x6da59220, 0x34e96: 0x6da59420, 0x34e97: 0x6da59620,\n\t0x34e98: 0x6da59820, 0x34e99: 0x6da59a20, 0x34e9a: 0x6da59c20, 0x34e9b: 0x6da59e20,\n\t0x34e9c: 0x6da5a020, 0x34e9d: 0x6da5a220, 0x34e9e: 0x6dc70e20, 0x34e9f: 0x6dc71020,\n\t0x34ea0: 0x6dc71220, 0x34ea1: 0x6dc71420, 0x34ea2: 0x6dc71620, 0x34ea3: 0x6dc71820,\n\t0x34ea4: 0x6dc71a20, 0x34ea5: 0x6dc71c20, 0x34ea6: 0x6dc71e20, 0x34ea7: 0x6dc72020,\n\t0x34ea8: 0x6dc72220, 0x34ea9: 0x6dc72420, 0x34eaa: 0x6dc72620, 0x34eab: 0x6dc72820,\n\t0x34eac: 0x6dc72a20, 0x34ead: 0x6dc72c20, 0x34eae: 0x6dc72e20, 0x34eaf: 0x6dc73020,\n\t0x34eb0: 0x6dc73220, 0x34eb1: 0x6dc73420, 0x34eb2: 0x6de39420, 0x34eb3: 0x6de39620,\n\t0x34eb4: 0x6de39820, 0x34eb5: 0x6de39a20, 0x34eb6: 0x6de39c20, 0x34eb7: 0x6de39e20,\n\t0x34eb8: 0x6de3a020, 0x34eb9: 0x6de3a220, 0x34eba: 0x6de3a420, 0x34ebb: 0x6de3a620,\n\t0x34ebc: 0x6de3a820, 0x34ebd: 0x6de3aa20, 0x34ebe: 0x6de3ac20, 0x34ebf: 0x6dfaec20,\n\t// Block 0xd3b, offset 0x34ec0\n\t0x34ec0: 0x6dfaee20, 0x34ec1: 0x6dfaf020, 0x34ec2: 0x6dfaf220, 0x34ec3: 0x6dfaf420,\n\t0x34ec4: 0x6dfaf620, 0x34ec5: 0x6dfaf820, 0x34ec6: 0x6dfafa20, 0x34ec7: 0x6dfafc20,\n\t0x34ec8: 0x6e0e4820, 0x34ec9: 0x6e0e4a20, 0x34eca: 0x6e0e4c20, 0x34ecb: 0x6e0e4e20,\n\t0x34ecc: 0x6e0e5020, 0x34ecd: 0x6e1d9e20, 0x34ece: 0x6e1da020, 0x34ecf: 0x6e1da220,\n\t0x34ed0: 0x6e1da420, 0x34ed1: 0x6e1da620, 0x34ed2: 0x6e1da820, 0x34ed3: 0x6e1daa20,\n\t0x34ed4: 0x6e1dac20, 0x34ed5: 0x6e1dae20, 0x34ed6: 0x6e293620, 0x34ed7: 0x6e324e20,\n\t0x34ed8: 0x6e325020, 0x34ed9: 0x6e325220, 0x34eda: 0x6e348820, 0x34edb: 0x6e325420,\n\t0x34edc: 0x6e38aa20, 0x34edd: 0x6e38ac20, 0x34ede: 0x6e40ba20, 0x34edf: 0x6e42a220,\n\t0x34ee0: 0x6e46e620, 0x34ee1: 0x6c21a020, 0x34ee2: 0x6c21a220, 0x34ee3: 0x6c364220,\n\t0x34ee4: 0x6c364420, 0x34ee5: 0x6c364620, 0x34ee6: 0x6c364820, 0x34ee7: 0x6c516020,\n\t0x34ee8: 0x6c516220, 0x34ee9: 0x6c516420, 0x34eea: 0x6c516620, 0x34eeb: 0x6c516820,\n\t0x34eec: 0x6c516a20, 0x34eed: 0x6c739420, 0x34eee: 0x6c739620, 0x34eef: 0x6c739820,\n\t0x34ef0: 0x6c739a20, 0x34ef1: 0x6c739c20, 0x34ef2: 0x6c739e20, 0x34ef3: 0x6c73a020,\n\t0x34ef4: 0x6c73a220, 0x34ef5: 0x6c73a420, 0x34ef6: 0x6c73a620, 0x34ef7: 0x6c9c0e20,\n\t0x34ef8: 0x6c9c1020, 0x34ef9: 0x6c9c1220, 0x34efa: 0x6c9c1420, 0x34efb: 0x6cc85220,\n\t0x34efc: 0x6cc85420, 0x34efd: 0x6cc85620, 0x34efe: 0x6cf68a20, 0x34eff: 0x6cf68c20,\n\t// Block 0xd3c, offset 0x34f00\n\t0x34f00: 0x6cf68e20, 0x34f01: 0x6cf69020, 0x34f02: 0x6cf69220, 0x34f03: 0x6d25fc20,\n\t0x34f04: 0x6d25fe20, 0x34f05: 0x6d260020, 0x34f06: 0x6d537420, 0x34f07: 0x6d537620,\n\t0x34f08: 0x6d537820, 0x34f09: 0x6d537a20, 0x34f0a: 0x6d537c20, 0x34f0b: 0x6d7ed820,\n\t0x34f0c: 0x6d7eda20, 0x34f0d: 0x6d7edc20, 0x34f0e: 0x6d7ede20, 0x34f0f: 0x6da5ac20,\n\t0x34f10: 0x6da5ae20, 0x34f11: 0x6dc73e20, 0x34f12: 0x6dc74020, 0x34f13: 0x6dc74220,\n\t0x34f14: 0x6dc74420, 0x34f15: 0x6dc74620, 0x34f16: 0x6de3ae20, 0x34f17: 0x6de3b020,\n\t0x34f18: 0x6dfafe20, 0x34f19: 0x6dfb0020, 0x34f1a: 0x6e325820, 0x34f1b: 0x6e42a420,\n\t0x34f1c: 0x6e46c620, 0x34f1d: 0x6c096020, 0x34f1e: 0x6c127620, 0x34f1f: 0x6c21a420,\n\t0x34f20: 0x6c21a620, 0x34f21: 0x6c21a820, 0x34f22: 0x6c21aa20, 0x34f23: 0x6c21ac20,\n\t0x34f24: 0x6c365420, 0x34f25: 0x6c517420, 0x34f26: 0x6c517620, 0x34f27: 0x6c517820,\n\t0x34f28: 0x6c5dc820, 0x34f29: 0x6c517a20, 0x34f2a: 0x6c517c20, 0x34f2b: 0x6c517e20,\n\t0x34f2c: 0x6c518020, 0x34f2d: 0x6c73b620, 0x34f2e: 0x6c73b820, 0x34f2f: 0x6c825c20,\n\t0x34f30: 0x6c825e20, 0x34f31: 0x6c9c2420, 0x34f32: 0x6c9c2620, 0x34f33: 0x6c9c2820,\n\t0x34f34: 0x6c9c2a20, 0x34f35: 0x6c9c2c20, 0x34f36: 0x6c9c2e20, 0x34f37: 0x6cc86220,\n\t0x34f38: 0x6cc86420, 0x34f39: 0x6cc86620, 0x34f3a: 0x6cc86820, 0x34f3b: 0x6cc86a20,\n\t0x34f3c: 0x6cc86c20, 0x34f3d: 0x6cc86e20, 0x34f3e: 0x6cc87020, 0x34f3f: 0x6cc87220,\n\t// Block 0xd3d, offset 0x34f40\n\t0x34f40: 0x6cc87420, 0x34f41: 0x6cc87620, 0x34f42: 0x6cc87820, 0x34f43: 0x6cc87a20,\n\t0x34f44: 0x6cf69820, 0x34f45: 0x6cf69a20, 0x34f46: 0x6cf69c20, 0x34f47: 0x6cf69e20,\n\t0x34f48: 0x6cf6a020, 0x34f49: 0x6cf6a220, 0x34f4a: 0x6cf6a420, 0x34f4b: 0x6cf6a620,\n\t0x34f4c: 0x6cf6a820, 0x34f4d: 0x6d260820, 0x34f4e: 0x6d260a20, 0x34f4f: 0x6d260c20,\n\t0x34f50: 0x6d260e20, 0x34f51: 0x6d261020, 0x34f52: 0x6d538820, 0x34f53: 0x6d538a20,\n\t0x34f54: 0x6d538c20, 0x34f55: 0x6d538e20, 0x34f56: 0x6d539020, 0x34f57: 0x6d539220,\n\t0x34f58: 0x6d539420, 0x34f59: 0x6d539620, 0x34f5a: 0x6d7eec20, 0x34f5b: 0x6d7eee20,\n\t0x34f5c: 0x6da5b220, 0x34f5d: 0x6d7ef020, 0x34f5e: 0x6d7ef220, 0x34f5f: 0x6d7ef420,\n\t0x34f60: 0x6d7ef620, 0x34f61: 0x6d7ef820, 0x34f62: 0x6d7efa20, 0x34f63: 0x6da5b420,\n\t0x34f64: 0x6da5b620, 0x34f65: 0x6da5b820, 0x34f66: 0x6da5ba20, 0x34f67: 0x6da5bc20,\n\t0x34f68: 0x6da5be20, 0x34f69: 0x6dc74a20, 0x34f6a: 0x6dc74c20, 0x34f6b: 0x6dc74e20,\n\t0x34f6c: 0x6dc75020, 0x34f6d: 0x6dc75220, 0x34f6e: 0x6dfb0420, 0x34f6f: 0x6dfb0620,\n\t0x34f70: 0x6e1db020, 0x34f71: 0x6e293820, 0x34f72: 0x6e325a20, 0x34f73: 0x6c04a220,\n\t0x34f74: 0x6c04a420, 0x34f75: 0x6c097020, 0x34f76: 0x6c097220, 0x34f77: 0x6c097420,\n\t0x34f78: 0x6c12a220, 0x34f79: 0x6c12a420, 0x34f7a: 0x6c12a620, 0x34f7b: 0x6c12a820,\n\t0x34f7c: 0x6c12aa20, 0x34f7d: 0x6c12ac20, 0x34f7e: 0x6c12ae20, 0x34f7f: 0x6c12b020,\n\t// Block 0xd3e, offset 0x34f80\n\t0x34f80: 0x6c12b220, 0x34f81: 0x6c220820, 0x34f82: 0x6c220a20, 0x34f83: 0x6c220c20,\n\t0x34f84: 0x6c220e20, 0x34f85: 0x6c221020, 0x34f86: 0x6c221220, 0x34f87: 0x6c221420,\n\t0x34f88: 0x6c221620, 0x34f89: 0x6c221820, 0x34f8a: 0x6c221a20, 0x34f8b: 0x6c221c20,\n\t0x34f8c: 0x6c221e20, 0x34f8d: 0x6c222020, 0x34f8e: 0x6c222220, 0x34f8f: 0x6c222420,\n\t0x34f90: 0x6c222620, 0x34f91: 0x6c222820, 0x34f92: 0x6c222a20, 0x34f93: 0x6c222c20,\n\t0x34f94: 0x6c36f220, 0x34f95: 0x6c36f420, 0x34f96: 0x6c36f620, 0x34f97: 0x6c36f820,\n\t0x34f98: 0x6c36fa20, 0x34f99: 0x6c36fc20, 0x34f9a: 0x6c36fe20, 0x34f9b: 0x6c370020,\n\t0x34f9c: 0x6c370220, 0x34f9d: 0x6c370420, 0x34f9e: 0x6c370620, 0x34f9f: 0x6c370820,\n\t0x34fa0: 0x6c370a20, 0x34fa1: 0x6c370c20, 0x34fa2: 0x6c370e20, 0x34fa3: 0x6c371020,\n\t0x34fa4: 0x6c371220, 0x34fa5: 0x6c371420, 0x34fa6: 0x6c371620, 0x34fa7: 0x6c371820,\n\t0x34fa8: 0x6c371a20, 0x34fa9: 0x6c371c20, 0x34faa: 0x6c371e20, 0x34fab: 0x6c372020,\n\t0x34fac: 0x6c372220, 0x34fad: 0x6c372420, 0x34fae: 0x6c372620, 0x34faf: 0x6c372820,\n\t0x34fb0: 0x6c372a20, 0x34fb1: 0x6c372c20, 0x34fb2: 0x6c372e20, 0x34fb3: 0x6c373020,\n\t0x34fb4: 0x6c373220, 0x34fb5: 0x6c373420, 0x34fb6: 0x6c373620, 0x34fb7: 0x6c373820,\n\t0x34fb8: 0x6c373a20, 0x34fb9: 0x6c373c20, 0x34fba: 0x6c373e20, 0x34fbb: 0x6c374020,\n\t0x34fbc: 0x6c374220, 0x34fbd: 0x6c374420, 0x34fbe: 0x6c374620, 0x34fbf: 0x6c374820,\n\t// Block 0xd3f, offset 0x34fc0\n\t0x34fc0: 0x6c374a20, 0x34fc1: 0x6c374c20, 0x34fc2: 0x6c374e20, 0x34fc3: 0x6c375020,\n\t0x34fc4: 0x6c375220, 0x34fc5: 0x6c375420, 0x34fc6: 0x6c375620, 0x34fc7: 0x6c375820,\n\t0x34fc8: 0x6c525420, 0x34fc9: 0x6c525620, 0x34fca: 0x6c525820, 0x34fcb: 0x6c525a20,\n\t0x34fcc: 0x6c525c20, 0x34fcd: 0x6c525e20, 0x34fce: 0x6c526020, 0x34fcf: 0x6c526220,\n\t0x34fd0: 0x6c526420, 0x34fd1: 0x6c526620, 0x34fd2: 0x6c526820, 0x34fd3: 0x6c526a20,\n\t0x34fd4: 0x6c526c20, 0x34fd5: 0x6c526e20, 0x34fd6: 0x6c527020, 0x34fd7: 0x6c527220,\n\t0x34fd8: 0x6c527420, 0x34fd9: 0x6c527620, 0x34fda: 0x6c527820, 0x34fdb: 0x6c527a20,\n\t0x34fdc: 0x6c527c20, 0x34fdd: 0x6c527e20, 0x34fde: 0x6c528020, 0x34fdf: 0x6c528220,\n\t0x34fe0: 0x6c528420, 0x34fe1: 0x6c528620, 0x34fe2: 0x6c528820, 0x34fe3: 0x6c528a20,\n\t0x34fe4: 0x6c528c20, 0x34fe5: 0x6c528e20, 0x34fe6: 0x6c529020, 0x34fe7: 0x6c529220,\n\t0x34fe8: 0x6c529420, 0x34fe9: 0x6c529620, 0x34fea: 0x6c529820, 0x34feb: 0x6c529a20,\n\t0x34fec: 0x6c529c20, 0x34fed: 0x6c529e20, 0x34fee: 0x6c52a020, 0x34fef: 0x6c52a220,\n\t0x34ff0: 0x6c52a420, 0x34ff1: 0x6c52a620, 0x34ff2: 0x6c52a820, 0x34ff3: 0x6c52aa20,\n\t0x34ff4: 0x6c52ac20, 0x34ff5: 0x6c749820, 0x34ff6: 0x6c749a20, 0x34ff7: 0x6c749c20,\n\t0x34ff8: 0x6c749e20, 0x34ff9: 0x6c74a020, 0x34ffa: 0x6c74a220, 0x34ffb: 0x6c74a420,\n\t0x34ffc: 0x6c74a620, 0x34ffd: 0x6c74a820, 0x34ffe: 0x6c74aa20, 0x34fff: 0x6c74ac20,\n\t// Block 0xd40, offset 0x35000\n\t0x35000: 0x6c74ae20, 0x35001: 0x6c74b020, 0x35002: 0x6c74b220, 0x35003: 0x6c74b420,\n\t0x35004: 0x6c74b620, 0x35005: 0x6c74b820, 0x35006: 0x6c74ba20, 0x35007: 0x6c74bc20,\n\t0x35008: 0x6c74be20, 0x35009: 0x6c74c020, 0x3500a: 0x6c74c220, 0x3500b: 0x6c74c420,\n\t0x3500c: 0x6c74c620, 0x3500d: 0x6c74c820, 0x3500e: 0x6c74ca20, 0x3500f: 0x6c74cc20,\n\t0x35010: 0x6c74ce20, 0x35011: 0x6c74d020, 0x35012: 0x6c74d220, 0x35013: 0x6c74d420,\n\t0x35014: 0x6c74d620, 0x35015: 0x6c74d820, 0x35016: 0x6c74da20, 0x35017: 0x6c74dc20,\n\t0x35018: 0x6c74de20, 0x35019: 0x6c74e020, 0x3501a: 0x6c74e220, 0x3501b: 0x6c74e420,\n\t0x3501c: 0x6c74e620, 0x3501d: 0x6c74e820, 0x3501e: 0x6c74ea20, 0x3501f: 0x6c74ec20,\n\t0x35020: 0x6c74ee20, 0x35021: 0x6c74f020, 0x35022: 0x6c74f220, 0x35023: 0x6c74f420,\n\t0x35024: 0x6c74f620, 0x35025: 0x6c74f820, 0x35026: 0x6c74fa20, 0x35027: 0x6c6a4c20,\n\t0x35028: 0x6c74fc20, 0x35029: 0x6c74fe20, 0x3502a: 0x6c750020, 0x3502b: 0x6c750220,\n\t0x3502c: 0x6c750420, 0x3502d: 0x6c750620, 0x3502e: 0x6c750820, 0x3502f: 0x6c750a20,\n\t0x35030: 0x6c750c20, 0x35031: 0x6c750e20, 0x35032: 0x6c751020, 0x35033: 0x6c751220,\n\t0x35034: 0x6c751420, 0x35035: 0x6c751620, 0x35036: 0x6c751820, 0x35037: 0x6c751a20,\n\t0x35038: 0x6c751c20, 0x35039: 0x6c751e20, 0x3503a: 0x6c752020, 0x3503b: 0x6c752220,\n\t0x3503c: 0x6c752420, 0x3503d: 0x6c752620, 0x3503e: 0x6c752820, 0x3503f: 0x6c9d0220,\n\t// Block 0xd41, offset 0x35040\n\t0x35040: 0x6c9d0420, 0x35041: 0x6c9d0620, 0x35042: 0x6c9d0820, 0x35043: 0x6c9d0a20,\n\t0x35044: 0x6c9d0c20, 0x35045: 0x6c9d0e20, 0x35046: 0x6c9d1020, 0x35047: 0x6c9d1220,\n\t0x35048: 0x6c9d1420, 0x35049: 0x6c9d1620, 0x3504a: 0x6c9d1820, 0x3504b: 0x6c9d1a20,\n\t0x3504c: 0x6c9d1c20, 0x3504d: 0x6c9d1e20, 0x3504e: 0x6c9d2020, 0x3504f: 0x6c9d2220,\n\t0x35050: 0x6c9d2420, 0x35051: 0x6c9d2620, 0x35052: 0x6c9d2820, 0x35053: 0x6c9d2a20,\n\t0x35054: 0x6c9d2c20, 0x35055: 0x6c9d2e20, 0x35056: 0x6c9d3020, 0x35057: 0x6c9d3220,\n\t0x35058: 0x6c9d3420, 0x35059: 0x6c9d3620, 0x3505a: 0x6c9d3820, 0x3505b: 0x6c9d3a20,\n\t0x3505c: 0x6c9d3c20, 0x3505d: 0x6c9d3e20, 0x3505e: 0x6c9d4020, 0x3505f: 0x6c9d4220,\n\t0x35060: 0x6c9d4420, 0x35061: 0x6c9d4620, 0x35062: 0x6c9d4820, 0x35063: 0x6c9d4a20,\n\t0x35064: 0x6c9d4c20, 0x35065: 0x6c9d4e20, 0x35066: 0x6c9d5020, 0x35067: 0x6c9d5220,\n\t0x35068: 0x6c9d5420, 0x35069: 0x6c9d5620, 0x3506a: 0x6c9d5820, 0x3506b: 0x6c9d5a20,\n\t0x3506c: 0x6c9d5c20, 0x3506d: 0x6c9d5e20, 0x3506e: 0x6c9d6020, 0x3506f: 0x6c9d6220,\n\t0x35070: 0x6c9d6420, 0x35071: 0x6c9d6620, 0x35072: 0x6c9d6820, 0x35073: 0x6c9d6a20,\n\t0x35074: 0x6c9d6c20, 0x35075: 0x6c9d6e20, 0x35076: 0x6c9d7020, 0x35077: 0x6c9d7220,\n\t0x35078: 0x6c9d7420, 0x35079: 0x6c9d7620, 0x3507a: 0x6c9d7820, 0x3507b: 0x6c9d7a20,\n\t0x3507c: 0x6c9d7c20, 0x3507d: 0x6c9d7e20, 0x3507e: 0x6c9d8020, 0x3507f: 0x6c9d8220,\n\t// Block 0xd42, offset 0x35080\n\t0x35080: 0x6c9d8420, 0x35081: 0x6cc98620, 0x35082: 0x6cc98820, 0x35083: 0x6cc98a20,\n\t0x35084: 0x6cc98c20, 0x35085: 0x6cc98e20, 0x35086: 0x6cc99020, 0x35087: 0x6cc99220,\n\t0x35088: 0x6cc99420, 0x35089: 0x6cc99620, 0x3508a: 0x6cc99820, 0x3508b: 0x6cc99a20,\n\t0x3508c: 0x6cc99c20, 0x3508d: 0x6cc99e20, 0x3508e: 0x6cc9a020, 0x3508f: 0x6cc9a220,\n\t0x35090: 0x6cc9a420, 0x35091: 0x6cc9a620, 0x35092: 0x6cc9a820, 0x35093: 0x6cc9aa20,\n\t0x35094: 0x6cc9ac20, 0x35095: 0x6cc9ae20, 0x35096: 0x6cc9b020, 0x35097: 0x6cc9b220,\n\t0x35098: 0x6cc9b420, 0x35099: 0x6cc9b620, 0x3509a: 0x6cc9b820, 0x3509b: 0x6cc9ba20,\n\t0x3509c: 0x6cc9bc20, 0x3509d: 0x6cc9be20, 0x3509e: 0x6cc9c020, 0x3509f: 0x6cc9c220,\n\t0x350a0: 0x6cc9c420, 0x350a1: 0x6cc9c620, 0x350a2: 0x6cc9c820, 0x350a3: 0x6cc9ca20,\n\t0x350a4: 0x6cc9cc20, 0x350a5: 0x6cc9ce20, 0x350a6: 0x6cc9d020, 0x350a7: 0x6cc9d220,\n\t0x350a8: 0x6cc9d420, 0x350a9: 0x6cc9d620, 0x350aa: 0x6cc9d820, 0x350ab: 0x6cc9da20,\n\t0x350ac: 0x6cc9dc20, 0x350ad: 0x6cc9de20, 0x350ae: 0x6cc9e020, 0x350af: 0x6cc9e220,\n\t0x350b0: 0x6cc9e420, 0x350b1: 0x6cc9e620, 0x350b2: 0x6cc9e820, 0x350b3: 0x6cc9ea20,\n\t0x350b4: 0x6cc9ec20, 0x350b5: 0x6cc9ee20, 0x350b6: 0x6cc9f020, 0x350b7: 0x6cc9f220,\n\t0x350b8: 0x6cc9f420, 0x350b9: 0x6cc9f620, 0x350ba: 0x6cc9f820, 0x350bb: 0x6cc9fa20,\n\t0x350bc: 0x6cc9fc20, 0x350bd: 0x6cc9fe20, 0x350be: 0x6cca0020, 0x350bf: 0x6cca0220,\n\t// Block 0xd43, offset 0x350c0\n\t0x350c0: 0x6cca0420, 0x350c1: 0x6cca0620, 0x350c2: 0x6cca0820, 0x350c3: 0x6cca0a20,\n\t0x350c4: 0x6cca0c20, 0x350c5: 0x6cca0e20, 0x350c6: 0x6cca1020, 0x350c7: 0x6cca1220,\n\t0x350c8: 0x6cca1420, 0x350c9: 0x6cca1620, 0x350ca: 0x6cca1820, 0x350cb: 0x6cca1a20,\n\t0x350cc: 0x6cca1c20, 0x350cd: 0x6cca1e20, 0x350ce: 0x6cca2020, 0x350cf: 0x6cca2220,\n\t0x350d0: 0x6cca2420, 0x350d1: 0x6cca2620, 0x350d2: 0x6cca2820, 0x350d3: 0x6cca2a20,\n\t0x350d4: 0x6cca2c20, 0x350d5: 0x6cca2e20, 0x350d6: 0x6cca3020, 0x350d7: 0x6cca3220,\n\t0x350d8: 0x6cca3420, 0x350d9: 0x6cca3620, 0x350da: 0x6cca3820, 0x350db: 0x6cca3a20,\n\t0x350dc: 0x6cca3c20, 0x350dd: 0x6cca3e20, 0x350de: 0x6cca4020, 0x350df: 0x6cca4220,\n\t0x350e0: 0x6cca4420, 0x350e1: 0x6cca4620, 0x350e2: 0x6cca4820, 0x350e3: 0x6cca4a20,\n\t0x350e4: 0x6cca4c20, 0x350e5: 0x6cca4e20, 0x350e6: 0x6cca5020, 0x350e7: 0x6cca5220,\n\t0x350e8: 0x6cca5420, 0x350e9: 0x6cca5620, 0x350ea: 0x6cca5820, 0x350eb: 0x6cca5a20,\n\t0x350ec: 0x6cca5c20, 0x350ed: 0x6cca5e20, 0x350ee: 0x6cca6020, 0x350ef: 0x6cca6220,\n\t0x350f0: 0x6cca6420, 0x350f1: 0x6cf79c20, 0x350f2: 0x6cf79e20, 0x350f3: 0x6cf7a020,\n\t0x350f4: 0x6cf7a220, 0x350f5: 0x6cf7a420, 0x350f6: 0x6cf7a620, 0x350f7: 0x6cf7a820,\n\t0x350f8: 0x6cf7aa20, 0x350f9: 0x6cf7ac20, 0x350fa: 0x6cf7ae20, 0x350fb: 0x6cf7b020,\n\t0x350fc: 0x6cf7b220, 0x350fd: 0x6cf7b420, 0x350fe: 0x6cf7b620, 0x350ff: 0x6cf7b820,\n\t// Block 0xd44, offset 0x35100\n\t0x35100: 0x6cf7ba20, 0x35101: 0x6cf7bc20, 0x35102: 0x6cf7be20, 0x35103: 0x6cf7c020,\n\t0x35104: 0x6cf7c220, 0x35105: 0x6cf7c420, 0x35106: 0x6cf7c620, 0x35107: 0x6cf7c820,\n\t0x35108: 0x6cf7ca20, 0x35109: 0x6cf7cc20, 0x3510a: 0x6cf7ce20, 0x3510b: 0x6cf7d020,\n\t0x3510c: 0x6cf7d220, 0x3510d: 0x6cf7d420, 0x3510e: 0x6cf7d620, 0x3510f: 0x6cf7d820,\n\t0x35110: 0x6cf7da20, 0x35111: 0x6cf7dc20, 0x35112: 0x6cf7de20, 0x35113: 0x6cf7e020,\n\t0x35114: 0x6cf7e220, 0x35115: 0x6cf7e420, 0x35116: 0x6cf7e620, 0x35117: 0x6cf7e820,\n\t0x35118: 0x6cf7ea20, 0x35119: 0x6cf7ec20, 0x3511a: 0x6cf7ee20, 0x3511b: 0x6cf7f020,\n\t0x3511c: 0x6cf7f220, 0x3511d: 0x6cf7f420, 0x3511e: 0x6cf7f620, 0x3511f: 0x6cf7f820,\n\t0x35120: 0x6cf7fa20, 0x35121: 0x6cf7fc20, 0x35122: 0x6cf7fe20, 0x35123: 0x6cf80020,\n\t0x35124: 0x6d26fa20, 0x35125: 0x6cf80220, 0x35126: 0x6cf80420, 0x35127: 0x6cf80620,\n\t0x35128: 0x6cf80820, 0x35129: 0x6cf80a20, 0x3512a: 0x6cf80c20, 0x3512b: 0x6cf80e20,\n\t0x3512c: 0x6cf81020, 0x3512d: 0x6cf81220, 0x3512e: 0x6cf81420, 0x3512f: 0x6cf81620,\n\t0x35130: 0x6cf81820, 0x35131: 0x6cf81a20, 0x35132: 0x6cf81c20, 0x35133: 0x6cf81e20,\n\t0x35134: 0x6cf82020, 0x35135: 0x6cf82220, 0x35136: 0x6cf82420, 0x35137: 0x6cf82620,\n\t0x35138: 0x6cf82820, 0x35139: 0x6cf82a20, 0x3513a: 0x6cf82c20, 0x3513b: 0x6cf82e20,\n\t0x3513c: 0x6cf83020, 0x3513d: 0x6cf83220, 0x3513e: 0x6cf83420, 0x3513f: 0x6cf83620,\n\t// Block 0xd45, offset 0x35140\n\t0x35140: 0x6cf83820, 0x35141: 0x6cf83a20, 0x35142: 0x6cf83c20, 0x35143: 0x6cf83e20,\n\t0x35144: 0x6cf84020, 0x35145: 0x6cf84220, 0x35146: 0x6cf84420, 0x35147: 0x6cf84620,\n\t0x35148: 0x6cf84820, 0x35149: 0x6cf84a20, 0x3514a: 0x6cf84c20, 0x3514b: 0x6cf84e20,\n\t0x3514c: 0x6cf85020, 0x3514d: 0x6cf85220, 0x3514e: 0x6cf85420, 0x3514f: 0x6cf85620,\n\t0x35150: 0x6cf85820, 0x35151: 0x6cf85a20, 0x35152: 0x6cf85c20, 0x35153: 0x6cf85e20,\n\t0x35154: 0x6cf86020, 0x35155: 0x6cf86220, 0x35156: 0x6cf86420, 0x35157: 0x6cf86620,\n\t0x35158: 0x6cf86820, 0x35159: 0x6cf86a20, 0x3515a: 0x6cf86c20, 0x3515b: 0x6cf86e20,\n\t0x3515c: 0x6cf87020, 0x3515d: 0x6cf87220, 0x3515e: 0x6cf87420, 0x3515f: 0x6cf87620,\n\t0x35160: 0x6cf87820, 0x35161: 0x6cf87a20, 0x35162: 0x6cf87c20, 0x35163: 0x6cf87e20,\n\t0x35164: 0x6cf88020, 0x35165: 0x6cf88220, 0x35166: 0x6cf88420, 0x35167: 0x6cf88620,\n\t0x35168: 0x6cf88820, 0x35169: 0x6cf88a20, 0x3516a: 0x6d26fc20, 0x3516b: 0x6d26fe20,\n\t0x3516c: 0x6d270020, 0x3516d: 0x6d270220, 0x3516e: 0x6d270420, 0x3516f: 0x6d270620,\n\t0x35170: 0x6d270820, 0x35171: 0x6d270a20, 0x35172: 0x6d270c20, 0x35173: 0x6d270e20,\n\t0x35174: 0x6d271020, 0x35175: 0x6d271220, 0x35176: 0x6d271420, 0x35177: 0x6d271620,\n\t0x35178: 0x6d271820, 0x35179: 0x6d271a20, 0x3517a: 0x6d271c20, 0x3517b: 0x6d271e20,\n\t0x3517c: 0x6d272020, 0x3517d: 0x6d272220, 0x3517e: 0x6d272420, 0x3517f: 0x6d272620,\n\t// Block 0xd46, offset 0x35180\n\t0x35180: 0x6d272820, 0x35181: 0x6d272a20, 0x35182: 0x6d272c20, 0x35183: 0x6d272e20,\n\t0x35184: 0x6d273020, 0x35185: 0x6d273220, 0x35186: 0x6d273420, 0x35187: 0x6d273620,\n\t0x35188: 0x6d273820, 0x35189: 0x6d273a20, 0x3518a: 0x6d273c20, 0x3518b: 0x6d273e20,\n\t0x3518c: 0x6d274020, 0x3518d: 0x6d274220, 0x3518e: 0x6d274420, 0x3518f: 0x6d274620,\n\t0x35190: 0x6d274820, 0x35191: 0x6d274a20, 0x35192: 0x6d274c20, 0x35193: 0x6d274e20,\n\t0x35194: 0x6d275020, 0x35195: 0x6d275220, 0x35196: 0x6d275420, 0x35197: 0x6d275620,\n\t0x35198: 0x6d275820, 0x35199: 0x6d275a20, 0x3519a: 0x6d275c20, 0x3519b: 0x6d275e20,\n\t0x3519c: 0x6d276020, 0x3519d: 0x6d276220, 0x3519e: 0x6d276420, 0x3519f: 0x6d276620,\n\t0x351a0: 0x6d276820, 0x351a1: 0x6d276a20, 0x351a2: 0x6d276c20, 0x351a3: 0x6d276e20,\n\t0x351a4: 0x6d277020, 0x351a5: 0x6d277220, 0x351a6: 0x6d277420, 0x351a7: 0x6d277620,\n\t0x351a8: 0x6d277820, 0x351a9: 0x6d277a20, 0x351aa: 0x6d277c20, 0x351ab: 0x6d277e20,\n\t0x351ac: 0x6d278020, 0x351ad: 0x6d278220, 0x351ae: 0x6d278420, 0x351af: 0x6d278620,\n\t0x351b0: 0x6d278820, 0x351b1: 0x6d278a20, 0x351b2: 0x6d278c20, 0x351b3: 0x6d278e20,\n\t0x351b4: 0x6d279020, 0x351b5: 0x6d279220, 0x351b6: 0x6d279420, 0x351b7: 0x6d279620,\n\t0x351b8: 0x6d279820, 0x351b9: 0x6d279a20, 0x351ba: 0x6d279c20, 0x351bb: 0x6d279e20,\n\t0x351bc: 0x6d27a020, 0x351bd: 0x6d27a220, 0x351be: 0x6d27a420, 0x351bf: 0x6d27a620,\n\t// Block 0xd47, offset 0x351c0\n\t0x351c0: 0x6d27a820, 0x351c1: 0x6d27aa20, 0x351c2: 0x6d27ac20, 0x351c3: 0x6d27ae20,\n\t0x351c4: 0x6d27b020, 0x351c5: 0x6d27b220, 0x351c6: 0x6d27b420, 0x351c7: 0x6d27b620,\n\t0x351c8: 0x6d27b820, 0x351c9: 0x6d27ba20, 0x351ca: 0x6d27bc20, 0x351cb: 0x6d27be20,\n\t0x351cc: 0x6d27c020, 0x351cd: 0x6d27c220, 0x351ce: 0x6d27c420, 0x351cf: 0x6d27c620,\n\t0x351d0: 0x6d27c820, 0x351d1: 0x6d27ca20, 0x351d2: 0x6d27cc20, 0x351d3: 0x6d27ce20,\n\t0x351d4: 0x6d27d020, 0x351d5: 0x6d546220, 0x351d6: 0x6d546420, 0x351d7: 0x6d546620,\n\t0x351d8: 0x6d546820, 0x351d9: 0x6d546a20, 0x351da: 0x6d546c20, 0x351db: 0x6d546e20,\n\t0x351dc: 0x6d547020, 0x351dd: 0x6d547220, 0x351de: 0x6d547420, 0x351df: 0x6d547620,\n\t0x351e0: 0x6d547820, 0x351e1: 0x6d547a20, 0x351e2: 0x6d547c20, 0x351e3: 0x6d547e20,\n\t0x351e4: 0x6d548020, 0x351e5: 0x6d548220, 0x351e6: 0x6d548420, 0x351e7: 0x6d548620,\n\t0x351e8: 0x6d548820, 0x351e9: 0x6d548a20, 0x351ea: 0x6d548c20, 0x351eb: 0x6d548e20,\n\t0x351ec: 0x6d549020, 0x351ed: 0x6d549220, 0x351ee: 0x6d549420, 0x351ef: 0x6d549620,\n\t0x351f0: 0x6d549820, 0x351f1: 0x6d549a20, 0x351f2: 0x6d549c20, 0x351f3: 0x6d549e20,\n\t0x351f4: 0x6d54a020, 0x351f5: 0x6d54a220, 0x351f6: 0x6d54a420, 0x351f7: 0x6d54a620,\n\t0x351f8: 0x6d54a820, 0x351f9: 0x6d54aa20, 0x351fa: 0x6d54ac20, 0x351fb: 0x6d54ae20,\n\t0x351fc: 0x6d54b020, 0x351fd: 0x6d54b220, 0x351fe: 0x6d54b420, 0x351ff: 0x6d54b620,\n\t// Block 0xd48, offset 0x35200\n\t0x35200: 0x6d54b820, 0x35201: 0x6d54ba20, 0x35202: 0x6d54bc20, 0x35203: 0x6d54be20,\n\t0x35204: 0x6d54c020, 0x35205: 0x6d54c220, 0x35206: 0x6d54c420, 0x35207: 0x6d54c620,\n\t0x35208: 0x6d54c820, 0x35209: 0x6d54ca20, 0x3520a: 0x6d54cc20, 0x3520b: 0x6d54ce20,\n\t0x3520c: 0x6d54d020, 0x3520d: 0x6d54d220, 0x3520e: 0x6d54d420, 0x3520f: 0x6d54d620,\n\t0x35210: 0x6d54d820, 0x35211: 0x6d54da20, 0x35212: 0x6d7fc220, 0x35213: 0x6d54dc20,\n\t0x35214: 0x6d54de20, 0x35215: 0x6d54e020, 0x35216: 0x6d54e220, 0x35217: 0x6d54e420,\n\t0x35218: 0x6d54e620, 0x35219: 0x6d54e820, 0x3521a: 0x6d54ea20, 0x3521b: 0x6d54ec20,\n\t0x3521c: 0x6d54ee20, 0x3521d: 0x6d54f020, 0x3521e: 0x6d54f220, 0x3521f: 0x6d54f420,\n\t0x35220: 0x6d54f620, 0x35221: 0x6d54f820, 0x35222: 0x6d54fa20, 0x35223: 0x6d54fc20,\n\t0x35224: 0x6d54fe20, 0x35225: 0x6d550020, 0x35226: 0x6d550220, 0x35227: 0x6d550420,\n\t0x35228: 0x6d550620, 0x35229: 0x6d550820, 0x3522a: 0x6d550a20, 0x3522b: 0x6d550c20,\n\t0x3522c: 0x6d550e20, 0x3522d: 0x6d551020, 0x3522e: 0x6d551220, 0x3522f: 0x6d551420,\n\t0x35230: 0x6d551620, 0x35231: 0x6d551820, 0x35232: 0x6d551a20, 0x35233: 0x6d551c20,\n\t0x35234: 0x6d551e20, 0x35235: 0x6d552020, 0x35236: 0x6d552220, 0x35237: 0x6d552420,\n\t0x35238: 0x6d552620, 0x35239: 0x6d552820, 0x3523a: 0x6d552a20, 0x3523b: 0x6d7fc420,\n\t0x3523c: 0x6d7fc620, 0x3523d: 0x6d7fc820, 0x3523e: 0x6d7fca20, 0x3523f: 0x6d7fcc20,\n\t// Block 0xd49, offset 0x35240\n\t0x35240: 0x6d7fce20, 0x35241: 0x6d7fd020, 0x35242: 0x6d7fd220, 0x35243: 0x6d7fd420,\n\t0x35244: 0x6d7fd620, 0x35245: 0x6d7fd820, 0x35246: 0x6d7fda20, 0x35247: 0x6d7fdc20,\n\t0x35248: 0x6d7fde20, 0x35249: 0x6d7fe020, 0x3524a: 0x6d7fe220, 0x3524b: 0x6d7fe420,\n\t0x3524c: 0x6d7fe620, 0x3524d: 0x6d7fe820, 0x3524e: 0x6d7fea20, 0x3524f: 0x6d7fec20,\n\t0x35250: 0x6d7fee20, 0x35251: 0x6d7ff020, 0x35252: 0x6d7ff220, 0x35253: 0x6d7ff420,\n\t0x35254: 0x6d7ff620, 0x35255: 0x6d7ff820, 0x35256: 0x6d7ffa20, 0x35257: 0x6d7ffc20,\n\t0x35258: 0x6d7ffe20, 0x35259: 0x6d800020, 0x3525a: 0x6d800220, 0x3525b: 0x6d800420,\n\t0x3525c: 0x6d800620, 0x3525d: 0x6d800820, 0x3525e: 0x6d800a20, 0x3525f: 0x6d800c20,\n\t0x35260: 0x6d800e20, 0x35261: 0x6d801020, 0x35262: 0x6d801220, 0x35263: 0x6d801420,\n\t0x35264: 0x6d801620, 0x35265: 0x6d801820, 0x35266: 0x6d801a20, 0x35267: 0x6d801c20,\n\t0x35268: 0x6d801e20, 0x35269: 0x6d802020, 0x3526a: 0x6d802220, 0x3526b: 0x6d802420,\n\t0x3526c: 0x6d802620, 0x3526d: 0x6d802820, 0x3526e: 0x6d802a20, 0x3526f: 0x6d802c20,\n\t0x35270: 0x6d802e20, 0x35271: 0x6d803020, 0x35272: 0x6d803220, 0x35273: 0x6d803420,\n\t0x35274: 0x6d803620, 0x35275: 0x6d803820, 0x35276: 0x6d803a20, 0x35277: 0x6d803c20,\n\t0x35278: 0x6d803e20, 0x35279: 0x6d804020, 0x3527a: 0x6d804220, 0x3527b: 0x6d804420,\n\t0x3527c: 0x6d804620, 0x3527d: 0x6d804820, 0x3527e: 0x6d804a20, 0x3527f: 0x6d804c20,\n\t// Block 0xd4a, offset 0x35280\n\t0x35280: 0x6d804e20, 0x35281: 0x6d805020, 0x35282: 0x6d805220, 0x35283: 0x6d805420,\n\t0x35284: 0x6d805620, 0x35285: 0x6d805820, 0x35286: 0x6d805a20, 0x35287: 0x6d805c20,\n\t0x35288: 0x6d805e20, 0x35289: 0x6d806020, 0x3528a: 0x6d806220, 0x3528b: 0x6d806420,\n\t0x3528c: 0x6d806620, 0x3528d: 0x6d806820, 0x3528e: 0x6d806a20, 0x3528f: 0x6d806c20,\n\t0x35290: 0x6d806e20, 0x35291: 0x6d807020, 0x35292: 0x6d807220, 0x35293: 0x6d807420,\n\t0x35294: 0x6d807620, 0x35295: 0x6d807820, 0x35296: 0x6d807a20, 0x35297: 0x6d807c20,\n\t0x35298: 0x6d807e20, 0x35299: 0x6d808020, 0x3529a: 0x6d808220, 0x3529b: 0x6d808420,\n\t0x3529c: 0x6d808620, 0x3529d: 0x6d808820, 0x3529e: 0x6d808a20, 0x3529f: 0x6d808c20,\n\t0x352a0: 0x6d808e20, 0x352a1: 0x6d809020, 0x352a2: 0x6d809220, 0x352a3: 0x6d809420,\n\t0x352a4: 0x6d809620, 0x352a5: 0x6d809820, 0x352a6: 0x6d809a20, 0x352a7: 0x6d809c20,\n\t0x352a8: 0x6d809e20, 0x352a9: 0x6d80a020, 0x352aa: 0x6d80a220, 0x352ab: 0x6d80a420,\n\t0x352ac: 0x6d80a620, 0x352ad: 0x6d80a820, 0x352ae: 0x6d80aa20, 0x352af: 0x6d80ac20,\n\t0x352b0: 0x6da63820, 0x352b1: 0x6da63a20, 0x352b2: 0x6da63c20, 0x352b3: 0x6da63e20,\n\t0x352b4: 0x6da64020, 0x352b5: 0x6da64220, 0x352b6: 0x6da64420, 0x352b7: 0x6da64620,\n\t0x352b8: 0x6da64820, 0x352b9: 0x6da64a20, 0x352ba: 0x6da64c20, 0x352bb: 0x6da64e20,\n\t0x352bc: 0x6da65020, 0x352bd: 0x6da65220, 0x352be: 0x6da65420, 0x352bf: 0x6da65620,\n\t// Block 0xd4b, offset 0x352c0\n\t0x352c0: 0x6da65820, 0x352c1: 0x6da65a20, 0x352c2: 0x6da65c20, 0x352c3: 0x6da65e20,\n\t0x352c4: 0x6da66020, 0x352c5: 0x6da66220, 0x352c6: 0x6da66420, 0x352c7: 0x6da66620,\n\t0x352c8: 0x6da66820, 0x352c9: 0x6da66a20, 0x352ca: 0x6da66c20, 0x352cb: 0x6da66e20,\n\t0x352cc: 0x6da67020, 0x352cd: 0x6da67220, 0x352ce: 0x6da67420, 0x352cf: 0x6da67620,\n\t0x352d0: 0x6da67820, 0x352d1: 0x6da67a20, 0x352d2: 0x6da67c20, 0x352d3: 0x6da67e20,\n\t0x352d4: 0x6da68020, 0x352d5: 0x6da68220, 0x352d6: 0x6da68420, 0x352d7: 0x6da68620,\n\t0x352d8: 0x6da68820, 0x352d9: 0x6da68a20, 0x352da: 0x6da68c20, 0x352db: 0x6da68e20,\n\t0x352dc: 0x6da69020, 0x352dd: 0x6da69220, 0x352de: 0x6da69420, 0x352df: 0x6da69620,\n\t0x352e0: 0x6da69820, 0x352e1: 0x6da69a20, 0x352e2: 0x6d883220, 0x352e3: 0x6da69c20,\n\t0x352e4: 0x6da69e20, 0x352e5: 0x6da6a020, 0x352e6: 0x6da6a220, 0x352e7: 0x6da6a420,\n\t0x352e8: 0x6da6a620, 0x352e9: 0x6da6a820, 0x352ea: 0x6da6aa20, 0x352eb: 0x6da6ac20,\n\t0x352ec: 0x6da6ae20, 0x352ed: 0x6da6b020, 0x352ee: 0x6da6b220, 0x352ef: 0x6da6b420,\n\t0x352f0: 0x6da6b620, 0x352f1: 0x6da6b820, 0x352f2: 0x6da6ba20, 0x352f3: 0x6da6bc20,\n\t0x352f4: 0x6da6be20, 0x352f5: 0x6da6c020, 0x352f6: 0x6da6c220, 0x352f7: 0x6da6c420,\n\t0x352f8: 0x6da6c620, 0x352f9: 0x6da6c820, 0x352fa: 0x6da6ca20, 0x352fb: 0x6da6cc20,\n\t0x352fc: 0x6da6ce20, 0x352fd: 0x6da6d020, 0x352fe: 0x6da6d220, 0x352ff: 0x6da6d420,\n\t// Block 0xd4c, offset 0x35300\n\t0x35300: 0x6da6d620, 0x35301: 0x6dc7a220, 0x35302: 0x6dc7a420, 0x35303: 0x6dc7a620,\n\t0x35304: 0x6dc7a820, 0x35305: 0x6dc7aa20, 0x35306: 0x6dc7ac20, 0x35307: 0x6dc7ae20,\n\t0x35308: 0x6dc7b020, 0x35309: 0x6dc7b220, 0x3530a: 0x6dc7b420, 0x3530b: 0x6dc7b620,\n\t0x3530c: 0x6dc7b820, 0x3530d: 0x6dc7ba20, 0x3530e: 0x6dc7bc20, 0x3530f: 0x6dc7be20,\n\t0x35310: 0x6dc7c020, 0x35311: 0x6dc7c220, 0x35312: 0x6dc7c420, 0x35313: 0x6dc7c620,\n\t0x35314: 0x6dc7c820, 0x35315: 0x6dc7ca20, 0x35316: 0x6dc7cc20, 0x35317: 0x6dc7ce20,\n\t0x35318: 0x6dc7d020, 0x35319: 0x6de40020, 0x3531a: 0x6dc7d220, 0x3531b: 0x6dc7d420,\n\t0x3531c: 0x6dc7d620, 0x3531d: 0x6dc7d820, 0x3531e: 0x6dc7da20, 0x3531f: 0x6dc7dc20,\n\t0x35320: 0x6dc7de20, 0x35321: 0x6dc7e020, 0x35322: 0x6dc7e220, 0x35323: 0x6dc7e420,\n\t0x35324: 0x6dc7e620, 0x35325: 0x6dc7e820, 0x35326: 0x6dc7ea20, 0x35327: 0x6dc7ec20,\n\t0x35328: 0x6dc7ee20, 0x35329: 0x6dc7f020, 0x3532a: 0x6dc7f220, 0x3532b: 0x6dc7f420,\n\t0x3532c: 0x6dc7f620, 0x3532d: 0x6dc7f820, 0x3532e: 0x6dc7fa20, 0x3532f: 0x6dc7fc20,\n\t0x35330: 0x6dc7fe20, 0x35331: 0x6dc80020, 0x35332: 0x6dc80220, 0x35333: 0x6dc80420,\n\t0x35334: 0x6dc80620, 0x35335: 0x6dc80820, 0x35336: 0x6dc80a20, 0x35337: 0x6dc80c20,\n\t0x35338: 0x6dc80e20, 0x35339: 0x6dc81020, 0x3533a: 0x6dc81220, 0x3533b: 0x6dc81420,\n\t0x3533c: 0x6dc81620, 0x3533d: 0x6dc81820, 0x3533e: 0x6dc81a20, 0x3533f: 0x6dc81c20,\n\t// Block 0xd4d, offset 0x35340\n\t0x35340: 0x6dc81e20, 0x35341: 0x6dc82020, 0x35342: 0x6dc82220, 0x35343: 0x6dc82420,\n\t0x35344: 0x6dc82620, 0x35345: 0x6dc82820, 0x35346: 0x6dc82a20, 0x35347: 0x6dc82c20,\n\t0x35348: 0x6dc82e20, 0x35349: 0x6dc83020, 0x3534a: 0x6dc83220, 0x3534b: 0x6dc83420,\n\t0x3534c: 0x6dc83620, 0x3534d: 0x6dc83820, 0x3534e: 0x6dc83a20, 0x3534f: 0x6dcc7220,\n\t0x35350: 0x6de40220, 0x35351: 0x6de40420, 0x35352: 0x6de40620, 0x35353: 0x6de40820,\n\t0x35354: 0x6de40a20, 0x35355: 0x6de40c20, 0x35356: 0x6de40e20, 0x35357: 0x6de41020,\n\t0x35358: 0x6de41220, 0x35359: 0x6de41420, 0x3535a: 0x6de41620, 0x3535b: 0x6de41820,\n\t0x3535c: 0x6de41a20, 0x3535d: 0x6de41c20, 0x3535e: 0x6de41e20, 0x3535f: 0x6de42020,\n\t0x35360: 0x6de42220, 0x35361: 0x6de42420, 0x35362: 0x6de42620, 0x35363: 0x6de42820,\n\t0x35364: 0x6de42a20, 0x35365: 0x6de42c20, 0x35366: 0x6de42e20, 0x35367: 0x6de43020,\n\t0x35368: 0x6de43220, 0x35369: 0x6de43420, 0x3536a: 0x6de43620, 0x3536b: 0x6de43820,\n\t0x3536c: 0x6de43a20, 0x3536d: 0x6de43c20, 0x3536e: 0x6de43e20, 0x3536f: 0x6de44020,\n\t0x35370: 0x6de44220, 0x35371: 0x6de44420, 0x35372: 0x6de44620, 0x35373: 0x6de44820,\n\t0x35374: 0x6de44a20, 0x35375: 0x6de44c20, 0x35376: 0x6de44e20, 0x35377: 0x6de45020,\n\t0x35378: 0x6de45220, 0x35379: 0x6de45420, 0x3537a: 0x6de45620, 0x3537b: 0x6de45820,\n\t0x3537c: 0x6de45a20, 0x3537d: 0x6de45c20, 0x3537e: 0x6de45e20, 0x3537f: 0x6de46020,\n\t// Block 0xd4e, offset 0x35380\n\t0x35380: 0x6de46220, 0x35381: 0x6de46420, 0x35382: 0x6de46620, 0x35383: 0x6de46820,\n\t0x35384: 0x6dfb3a20, 0x35385: 0x6dfb3c20, 0x35386: 0x6dfb3e20, 0x35387: 0x6dfb4020,\n\t0x35388: 0x6dfb4220, 0x35389: 0x6dfb4420, 0x3538a: 0x6dfb4620, 0x3538b: 0x6dfb4820,\n\t0x3538c: 0x6dfb4a20, 0x3538d: 0x6dfb4c20, 0x3538e: 0x6dfb4e20, 0x3538f: 0x6dfb5020,\n\t0x35390: 0x6dfb5220, 0x35391: 0x6de46a20, 0x35392: 0x6dfb5420, 0x35393: 0x6dfb5620,\n\t0x35394: 0x6dfb5820, 0x35395: 0x6dfb5a20, 0x35396: 0x6dfb5c20, 0x35397: 0x6dfb5e20,\n\t0x35398: 0x6dfb6020, 0x35399: 0x6dfb6220, 0x3539a: 0x6dfb6420, 0x3539b: 0x6dfb6620,\n\t0x3539c: 0x6dfb6820, 0x3539d: 0x6dfb6a20, 0x3539e: 0x6dfb6c20, 0x3539f: 0x6dfb6e20,\n\t0x353a0: 0x6dfb7020, 0x353a1: 0x6dfb7220, 0x353a2: 0x6dfb7420, 0x353a3: 0x6dfb7620,\n\t0x353a4: 0x6dfb7820, 0x353a5: 0x6dfb7a20, 0x353a6: 0x6dfb7c20, 0x353a7: 0x6dfb7e20,\n\t0x353a8: 0x6dfb8020, 0x353a9: 0x6dfb8220, 0x353aa: 0x6dfb8420, 0x353ab: 0x6dfb8620,\n\t0x353ac: 0x6dfb8820, 0x353ad: 0x6dfb8a20, 0x353ae: 0x6dfb8c20, 0x353af: 0x6e0e7e20,\n\t0x353b0: 0x6e0e8020, 0x353b1: 0x6e0e8220, 0x353b2: 0x6e0e8420, 0x353b3: 0x6e0e8620,\n\t0x353b4: 0x6e0e8820, 0x353b5: 0x6e0e8a20, 0x353b6: 0x6e0e8c20, 0x353b7: 0x6e0e8e20,\n\t0x353b8: 0x6e0e9020, 0x353b9: 0x6e0e9220, 0x353ba: 0x6e0e9420, 0x353bb: 0x6e0e9620,\n\t0x353bc: 0x6e0e9820, 0x353bd: 0x6e0e9a20, 0x353be: 0x6e0e9c20, 0x353bf: 0x6e0e9e20,\n\t// Block 0xd4f, offset 0x353c0\n\t0x353c0: 0x6e0ea020, 0x353c1: 0x6e0ea220, 0x353c2: 0x6e1dc820, 0x353c3: 0x6e0ea420,\n\t0x353c4: 0x6e0ea620, 0x353c5: 0x6e0ea820, 0x353c6: 0x6e0eaa20, 0x353c7: 0x6e0eac20,\n\t0x353c8: 0x6e0eae20, 0x353c9: 0x6e0eb020, 0x353ca: 0x6e0eb220, 0x353cb: 0x6e0eb420,\n\t0x353cc: 0x6e0eb620, 0x353cd: 0x6e0eb820, 0x353ce: 0x6e0eba20, 0x353cf: 0x6e0ebc20,\n\t0x353d0: 0x6e0ebe20, 0x353d1: 0x6e0ec020, 0x353d2: 0x6e0ec220, 0x353d3: 0x6e0ec420,\n\t0x353d4: 0x6e0ec620, 0x353d5: 0x6e0ec820, 0x353d6: 0x6e0eca20, 0x353d7: 0x6e0ecc20,\n\t0x353d8: 0x6e0ece20, 0x353d9: 0x6e1dca20, 0x353da: 0x6e1dcc20, 0x353db: 0x6e1dce20,\n\t0x353dc: 0x6e1dd020, 0x353dd: 0x6e1dd220, 0x353de: 0x6e1dd420, 0x353df: 0x6e1dd620,\n\t0x353e0: 0x6e1dd820, 0x353e1: 0x6e1dda20, 0x353e2: 0x6e1ddc20, 0x353e3: 0x6e1dde20,\n\t0x353e4: 0x6e1de020, 0x353e5: 0x6e1de220, 0x353e6: 0x6e1de420, 0x353e7: 0x6e1de620,\n\t0x353e8: 0x6e1de820, 0x353e9: 0x6e1dea20, 0x353ea: 0x6e1dec20, 0x353eb: 0x6e1dee20,\n\t0x353ec: 0x6e1df020, 0x353ed: 0x6e1df220, 0x353ee: 0x6e1df420, 0x353ef: 0x6e1df620,\n\t0x353f0: 0x6e1df820, 0x353f1: 0x6e1dfa20, 0x353f2: 0x6e1dfc20, 0x353f3: 0x6e1dfe20,\n\t0x353f4: 0x6e1e0020, 0x353f5: 0x6e1e0220, 0x353f6: 0x6e1e0420, 0x353f7: 0x6e294a20,\n\t0x353f8: 0x6e294c20, 0x353f9: 0x6e294e20, 0x353fa: 0x6e295020, 0x353fb: 0x6e295220,\n\t0x353fc: 0x6e295420, 0x353fd: 0x6e295620, 0x353fe: 0x6e295820, 0x353ff: 0x6e295a20,\n\t// Block 0xd50, offset 0x35400\n\t0x35400: 0x6e295c20, 0x35401: 0x6e295e20, 0x35402: 0x6e296020, 0x35403: 0x6e296220,\n\t0x35404: 0x6e296420, 0x35405: 0x6e296620, 0x35406: 0x6e296820, 0x35407: 0x6e296a20,\n\t0x35408: 0x6e296c20, 0x35409: 0x6e296e20, 0x3540a: 0x6e297020, 0x3540b: 0x6e326420,\n\t0x3540c: 0x6e326620, 0x3540d: 0x6e326820, 0x3540e: 0x6e326a20, 0x3540f: 0x6e326c20,\n\t0x35410: 0x6e326e20, 0x35411: 0x6e327020, 0x35412: 0x6e327220, 0x35413: 0x6e327420,\n\t0x35414: 0x6e327620, 0x35415: 0x6e327820, 0x35416: 0x6e327a20, 0x35417: 0x6e327c20,\n\t0x35418: 0x6e327e20, 0x35419: 0x6e328020, 0x3541a: 0x6e328220, 0x3541b: 0x6e328420,\n\t0x3541c: 0x6e328620, 0x3541d: 0x6e328820, 0x3541e: 0x6e38bc20, 0x3541f: 0x6e38be20,\n\t0x35420: 0x6e38c020, 0x35421: 0x6e38c220, 0x35422: 0x6e38c420, 0x35423: 0x6e38c620,\n\t0x35424: 0x6e38c820, 0x35425: 0x6e38ca20, 0x35426: 0x6e38cc20, 0x35427: 0x6e38ce20,\n\t0x35428: 0x6e38d020, 0x35429: 0x6e3d3220, 0x3542a: 0x6e3d3420, 0x3542b: 0x6e3d3620,\n\t0x3542c: 0x6e3d3820, 0x3542d: 0x6e3d3a20, 0x3542e: 0x6e3d3c20, 0x3542f: 0x6e3d3e20,\n\t0x35430: 0x6e3d4020, 0x35431: 0x6e3d4220, 0x35432: 0x6e404e20, 0x35433: 0x6e401020,\n\t0x35434: 0x6e405020, 0x35435: 0x6e405220, 0x35436: 0x6e42aa20, 0x35437: 0x6e42ac20,\n\t0x35438: 0x6e42ae20, 0x35439: 0x6e443020, 0x3543a: 0x6e451e20, 0x3543b: 0x6e452020,\n\t0x3543c: 0x6e45c220, 0x3543d: 0x6e462c20, 0x3543e: 0x6e462e20, 0x3543f: 0x6e46b020,\n\t// Block 0xd51, offset 0x35440\n\t0x35440: 0x6c12b820, 0x35441: 0x6c223e20, 0x35442: 0x6c224020, 0x35443: 0x6c224220,\n\t0x35444: 0x6c224420, 0x35445: 0x6c224620, 0x35446: 0x6c224820, 0x35447: 0x6c224a20,\n\t0x35448: 0x6c224c20, 0x35449: 0x6c377620, 0x3544a: 0x6c377820, 0x3544b: 0x6c377a20,\n\t0x3544c: 0x6c377c20, 0x3544d: 0x6c377e20, 0x3544e: 0x6c378020, 0x3544f: 0x6c378220,\n\t0x35450: 0x6c378420, 0x35451: 0x6c378620, 0x35452: 0x6c378820, 0x35453: 0x6c378a20,\n\t0x35454: 0x6c378c20, 0x35455: 0x6c378e20, 0x35456: 0x6c379020, 0x35457: 0x6c52d420,\n\t0x35458: 0x6c52d620, 0x35459: 0x6c52d820, 0x3545a: 0x6c52da20, 0x3545b: 0x6c52dc20,\n\t0x3545c: 0x6c52de20, 0x3545d: 0x6c52e020, 0x3545e: 0x6c52e220, 0x3545f: 0x6c52e420,\n\t0x35460: 0x6c52e620, 0x35461: 0x6c52e820, 0x35462: 0x6c52ea20, 0x35463: 0x6c52ec20,\n\t0x35464: 0x6c52ee20, 0x35465: 0x6c52f020, 0x35466: 0x6c52f220, 0x35467: 0x6c756020,\n\t0x35468: 0x6c756220, 0x35469: 0x6c756420, 0x3546a: 0x6c756620, 0x3546b: 0x6c756820,\n\t0x3546c: 0x6c756a20, 0x3546d: 0x6c756c20, 0x3546e: 0x6c756e20, 0x3546f: 0x6c757020,\n\t0x35470: 0x6c757220, 0x35471: 0x6c757420, 0x35472: 0x6c757620, 0x35473: 0x6c757820,\n\t0x35474: 0x6c757a20, 0x35475: 0x6c757c20, 0x35476: 0x6c757e20, 0x35477: 0x6c758020,\n\t0x35478: 0x6c758220, 0x35479: 0x6c758420, 0x3547a: 0x6c9dba20, 0x3547b: 0x6c9dbc20,\n\t0x3547c: 0x6c9dbe20, 0x3547d: 0x6c9dc020, 0x3547e: 0x6c9dc220, 0x3547f: 0x6c9dc420,\n\t// Block 0xd52, offset 0x35480\n\t0x35480: 0x6c9dc620, 0x35481: 0x6c9dc820, 0x35482: 0x6c9dca20, 0x35483: 0x6c9dcc20,\n\t0x35484: 0x6c9dce20, 0x35485: 0x6c9dd020, 0x35486: 0x6c9dd220, 0x35487: 0x6c9dd420,\n\t0x35488: 0x6ccaa620, 0x35489: 0x6ccaa820, 0x3548a: 0x6ccaaa20, 0x3548b: 0x6ccaac20,\n\t0x3548c: 0x6ccaae20, 0x3548d: 0x6ccab020, 0x3548e: 0x6ccab220, 0x3548f: 0x6ccab420,\n\t0x35490: 0x6ccab620, 0x35491: 0x6ccab820, 0x35492: 0x6ccaba20, 0x35493: 0x6ccabc20,\n\t0x35494: 0x6ccabe20, 0x35495: 0x6ccac020, 0x35496: 0x6ccac220, 0x35497: 0x6ccac420,\n\t0x35498: 0x6ccac620, 0x35499: 0x6ccac820, 0x3549a: 0x6ccaca20, 0x3549b: 0x6ccacc20,\n\t0x3549c: 0x6ccace20, 0x3549d: 0x6cf8da20, 0x3549e: 0x6cf8dc20, 0x3549f: 0x6cf8de20,\n\t0x354a0: 0x6cf8e020, 0x354a1: 0x6cf8e220, 0x354a2: 0x6cf8e420, 0x354a3: 0x6cf8e620,\n\t0x354a4: 0x6cf8e820, 0x354a5: 0x6cf8ea20, 0x354a6: 0x6cf8ec20, 0x354a7: 0x6cf8ee20,\n\t0x354a8: 0x6cf8f020, 0x354a9: 0x6cf8f220, 0x354aa: 0x6cf8f420, 0x354ab: 0x6cf8f620,\n\t0x354ac: 0x6d0f4820, 0x354ad: 0x6cf8f820, 0x354ae: 0x6cf8fa20, 0x354af: 0x6cf8fc20,\n\t0x354b0: 0x6cf8fe20, 0x354b1: 0x6cf90020, 0x354b2: 0x6d281220, 0x354b3: 0x6d281420,\n\t0x354b4: 0x6d281620, 0x354b5: 0x6d281820, 0x354b6: 0x6d281a20, 0x354b7: 0x6d281c20,\n\t0x354b8: 0x6d281e20, 0x354b9: 0x6d282020, 0x354ba: 0x6d282220, 0x354bb: 0x6d282420,\n\t0x354bc: 0x6d282620, 0x354bd: 0x6d282820, 0x354be: 0x6d282a20, 0x354bf: 0x6d282c20,\n\t// Block 0xd53, offset 0x354c0\n\t0x354c0: 0x6d282e20, 0x354c1: 0x6d283020, 0x354c2: 0x6d283220, 0x354c3: 0x6d283420,\n\t0x354c4: 0x6d283620, 0x354c5: 0x6d283820, 0x354c6: 0x6d283a20, 0x354c7: 0x6d283c20,\n\t0x354c8: 0x6d556220, 0x354c9: 0x6d556420, 0x354ca: 0x6d556620, 0x354cb: 0x6d556820,\n\t0x354cc: 0x6d556a20, 0x354cd: 0x6d556c20, 0x354ce: 0x6d556e20, 0x354cf: 0x6d557020,\n\t0x354d0: 0x6d557220, 0x354d1: 0x6d557420, 0x354d2: 0x6d557620, 0x354d3: 0x6d557820,\n\t0x354d4: 0x6d557a20, 0x354d5: 0x6d557c20, 0x354d6: 0x6d557e20, 0x354d7: 0x6d558020,\n\t0x354d8: 0x6d80e220, 0x354d9: 0x6d80e420, 0x354da: 0x6d80e620, 0x354db: 0x6d80e820,\n\t0x354dc: 0x6d80ea20, 0x354dd: 0x6d80ec20, 0x354de: 0x6d80ee20, 0x354df: 0x6d80f020,\n\t0x354e0: 0x6da70220, 0x354e1: 0x6da70420, 0x354e2: 0x6da70620, 0x354e3: 0x6da70820,\n\t0x354e4: 0x6da70a20, 0x354e5: 0x6da70c20, 0x354e6: 0x6da70e20, 0x354e7: 0x6da71020,\n\t0x354e8: 0x6dc85420, 0x354e9: 0x6dc85620, 0x354ea: 0x6dc85820, 0x354eb: 0x6dc85a20,\n\t0x354ec: 0x6de47e20, 0x354ed: 0x6de48020, 0x354ee: 0x6de48220, 0x354ef: 0x6de48420,\n\t0x354f0: 0x6de48620, 0x354f1: 0x6dfb9c20, 0x354f2: 0x6dfb9e20, 0x354f3: 0x6dfba020,\n\t0x354f4: 0x6e0ed820, 0x354f5: 0x6e0eda20, 0x354f6: 0x6e1e1020, 0x354f7: 0x6e0edc20,\n\t0x354f8: 0x6e0ede20, 0x354f9: 0x6e1e1220, 0x354fa: 0x6e1e1420, 0x354fb: 0x6e1e1620,\n\t0x354fc: 0x6e1e1820, 0x354fd: 0x6e297820, 0x354fe: 0x6e329020, 0x354ff: 0x6e38d820,\n\t// Block 0xd54, offset 0x35500\n\t0x35500: 0x6e38da20, 0x35501: 0x6e3d4620, 0x35502: 0x6c04ac20, 0x35503: 0x6c097820,\n\t0x35504: 0x6c097a20, 0x35505: 0x6c12be20, 0x35506: 0x6c12c020, 0x35507: 0x6c225420,\n\t0x35508: 0x6c225620, 0x35509: 0x6c379c20, 0x3550a: 0x6c225820, 0x3550b: 0x6c225a20,\n\t0x3550c: 0x6c225c20, 0x3550d: 0x6c379e20, 0x3550e: 0x6c37a020, 0x3550f: 0x6c37a220,\n\t0x35510: 0x6c37a420, 0x35511: 0x6c37a620, 0x35512: 0x6c37a820, 0x35513: 0x6c37aa20,\n\t0x35514: 0x6c37ac20, 0x35515: 0x6c37ae20, 0x35516: 0x6c37b020, 0x35517: 0x6c37b220,\n\t0x35518: 0x6c37b420, 0x35519: 0x6c37b620, 0x3551a: 0x6c37b820, 0x3551b: 0x6c37ba20,\n\t0x3551c: 0x6c37bc20, 0x3551d: 0x6c37be20, 0x3551e: 0x6c37c020, 0x3551f: 0x6c37c220,\n\t0x35520: 0x6c37c420, 0x35521: 0x6c37c620, 0x35522: 0x6c530220, 0x35523: 0x6c530420,\n\t0x35524: 0x6c530620, 0x35525: 0x6c2bd020, 0x35526: 0x6c758c20, 0x35527: 0x6c758e20,\n\t0x35528: 0x6c759020, 0x35529: 0x6c759220, 0x3552a: 0x6c759420, 0x3552b: 0x6c759620,\n\t0x3552c: 0x6c759820, 0x3552d: 0x6c759a20, 0x3552e: 0x6c759c20, 0x3552f: 0x6c759e20,\n\t0x35530: 0x6c75a020, 0x35531: 0x6c75a220, 0x35532: 0x6c6f0e20, 0x35533: 0x6c9dda20,\n\t0x35534: 0x6c9ddc20, 0x35535: 0x6c9dde20, 0x35536: 0x6c9de020, 0x35537: 0x6c9de220,\n\t0x35538: 0x6c9de420, 0x35539: 0x6ccada20, 0x3553a: 0x6ccadc20, 0x3553b: 0x6ccade20,\n\t0x3553c: 0x6ccae020, 0x3553d: 0x6ccae220, 0x3553e: 0x6ccae420, 0x3553f: 0x6ccae620,\n\t// Block 0xd55, offset 0x35540\n\t0x35540: 0x6ccae820, 0x35541: 0x6ccaea20, 0x35542: 0x6ccaec20, 0x35543: 0x6ccaee20,\n\t0x35544: 0x6ccaf020, 0x35545: 0x6ccaf220, 0x35546: 0x6ccaf420, 0x35547: 0x6cf90c20,\n\t0x35548: 0x6cf90e20, 0x35549: 0x6cf91020, 0x3554a: 0x6cf91220, 0x3554b: 0x6d75b820,\n\t0x3554c: 0x6cf91420, 0x3554d: 0x6cf91620, 0x3554e: 0x6cf91820, 0x3554f: 0x6cf1c020,\n\t0x35550: 0x6d284620, 0x35551: 0x6d284820, 0x35552: 0x6d284a20, 0x35553: 0x6d284c20,\n\t0x35554: 0x6d558820, 0x35555: 0x6d558a20, 0x35556: 0x6d558c20, 0x35557: 0x6d558e20,\n\t0x35558: 0x6d559020, 0x35559: 0x6d559220, 0x3555a: 0x6d559420, 0x3555b: 0x6d559620,\n\t0x3555c: 0x6d80f420, 0x3555d: 0x6d80f620, 0x3555e: 0x6d80f820, 0x3555f: 0x6d80fa20,\n\t0x35560: 0x6d80fc20, 0x35561: 0x6da71220, 0x35562: 0x6da71420, 0x35563: 0x6da71620,\n\t0x35564: 0x6da71820, 0x35565: 0x6da71a20, 0x35566: 0x6dc86020, 0x35567: 0x6dc86220,\n\t0x35568: 0x6dc86420, 0x35569: 0x6dc86620, 0x3556a: 0x6dc86820, 0x3556b: 0x6dc86a20,\n\t0x3556c: 0x6de48820, 0x3556d: 0x6de20820, 0x3556e: 0x6e0ee020, 0x3556f: 0x6e1e1a20,\n\t0x35570: 0x6e1e1c20, 0x35571: 0x6e297a20, 0x35572: 0x6e297c20, 0x35573: 0x6e329420,\n\t0x35574: 0x6e329620, 0x35575: 0x6c04b020, 0x35576: 0x6c04b220, 0x35577: 0x6c097e20,\n\t0x35578: 0x6c12c620, 0x35579: 0x6c12c820, 0x3557a: 0x6c12ca20, 0x3557b: 0x6c12cc20,\n\t0x3557c: 0x6c12ce20, 0x3557d: 0x6c12d020, 0x3557e: 0x6c12d220, 0x3557f: 0x6c226020,\n\t// Block 0xd56, offset 0x35580\n\t0x35580: 0x6c226220, 0x35581: 0x6c226420, 0x35582: 0x6c226620, 0x35583: 0x6c226820,\n\t0x35584: 0x6c226a20, 0x35585: 0x6c226c20, 0x35586: 0x6c226e20, 0x35587: 0x6c227020,\n\t0x35588: 0x6c227220, 0x35589: 0x6c37dc20, 0x3558a: 0x6c37de20, 0x3558b: 0x6c37e020,\n\t0x3558c: 0x6c37e220, 0x3558d: 0x6c37e420, 0x3558e: 0x6c37e620, 0x3558f: 0x6c37e820,\n\t0x35590: 0x6c37ea20, 0x35591: 0x6c37ec20, 0x35592: 0x6c37ee20, 0x35593: 0x6c37f020,\n\t0x35594: 0x6c37f220, 0x35595: 0x6c37f420, 0x35596: 0x6c37f620, 0x35597: 0x6c37f820,\n\t0x35598: 0x6c37fa20, 0x35599: 0x6c37fc20, 0x3559a: 0x6c37fe20, 0x3559b: 0x6c380020,\n\t0x3559c: 0x6c380220, 0x3559d: 0x6c531a20, 0x3559e: 0x6c531c20, 0x3559f: 0x6c531e20,\n\t0x355a0: 0x6c532020, 0x355a1: 0x6c532220, 0x355a2: 0x6c532420, 0x355a3: 0x6c532620,\n\t0x355a4: 0x6c532820, 0x355a5: 0x6c532a20, 0x355a6: 0x6c532c20, 0x355a7: 0x6c532e20,\n\t0x355a8: 0x6c533020, 0x355a9: 0x6c533220, 0x355aa: 0x6c533420, 0x355ab: 0x6c533620,\n\t0x355ac: 0x6c533820, 0x355ad: 0x6c533a20, 0x355ae: 0x6c533c20, 0x355af: 0x6c533e20,\n\t0x355b0: 0x6c534020, 0x355b1: 0x6c534220, 0x355b2: 0x6c75b220, 0x355b3: 0x6c75b420,\n\t0x355b4: 0x6c75b620, 0x355b5: 0x6c75b820, 0x355b6: 0x6c75ba20, 0x355b7: 0x6c75bc20,\n\t0x355b8: 0x6c75be20, 0x355b9: 0x6c75c020, 0x355ba: 0x6c75c220, 0x355bb: 0x6c75c420,\n\t0x355bc: 0x6c75c620, 0x355bd: 0x6c75c820, 0x355be: 0x6c75ca20, 0x355bf: 0x6c75cc20,\n\t// Block 0xd57, offset 0x355c0\n\t0x355c0: 0x6c75ce20, 0x355c1: 0x6c75d020, 0x355c2: 0x6c75d220, 0x355c3: 0x6c75d420,\n\t0x355c4: 0x6c75d620, 0x355c5: 0x6c9dfc20, 0x355c6: 0x6c9dfe20, 0x355c7: 0x6c9e0020,\n\t0x355c8: 0x6c9e0220, 0x355c9: 0x6c9e0420, 0x355ca: 0x6c9e0620, 0x355cb: 0x6c9e0820,\n\t0x355cc: 0x6c9e0a20, 0x355cd: 0x6c9e0c20, 0x355ce: 0x6c9e0e20, 0x355cf: 0x6c9e1020,\n\t0x355d0: 0x6c9e1220, 0x355d1: 0x6c9e1420, 0x355d2: 0x6c9e1620, 0x355d3: 0x6c9e1820,\n\t0x355d4: 0x6c9e1a20, 0x355d5: 0x6c9e1c20, 0x355d6: 0x6ccb1220, 0x355d7: 0x6ccb1420,\n\t0x355d8: 0x6ccb1620, 0x355d9: 0x6ccb1820, 0x355da: 0x6ccb1a20, 0x355db: 0x6ccb1c20,\n\t0x355dc: 0x6ccb1e20, 0x355dd: 0x6ccb2020, 0x355de: 0x6ccb2220, 0x355df: 0x6ccb2420,\n\t0x355e0: 0x6ccb2620, 0x355e1: 0x6ccb2820, 0x355e2: 0x6ccb2a20, 0x355e3: 0x6ccb2c20,\n\t0x355e4: 0x6ccb2e20, 0x355e5: 0x6ccb3020, 0x355e6: 0x6ccb3220, 0x355e7: 0x6ccb3420,\n\t0x355e8: 0x6ccb3620, 0x355e9: 0x6ccb3820, 0x355ea: 0x6ccb3a20, 0x355eb: 0x6ccb3c20,\n\t0x355ec: 0x6ccb3e20, 0x355ed: 0x6ccb4020, 0x355ee: 0x6ccb4220, 0x355ef: 0x6ccb4420,\n\t0x355f0: 0x6ccb4620, 0x355f1: 0x6cf93020, 0x355f2: 0x6cf93220, 0x355f3: 0x6cf93420,\n\t0x355f4: 0x6cf93620, 0x355f5: 0x6cf93820, 0x355f6: 0x6cf93a20, 0x355f7: 0x6cf93c20,\n\t0x355f8: 0x6cf93e20, 0x355f9: 0x6cf94020, 0x355fa: 0x6cf94220, 0x355fb: 0x6cf94420,\n\t0x355fc: 0x6cf94620, 0x355fd: 0x6cf94820, 0x355fe: 0x6cf94a20, 0x355ff: 0x6cf94c20,\n\t// Block 0xd58, offset 0x35600\n\t0x35600: 0x6cf94e20, 0x35601: 0x6cf95020, 0x35602: 0x6cf95220, 0x35603: 0x6cf95420,\n\t0x35604: 0x6d286220, 0x35605: 0x6d286420, 0x35606: 0x6d286620, 0x35607: 0x6d286820,\n\t0x35608: 0x6d286a20, 0x35609: 0x6d286c20, 0x3560a: 0x6d286e20, 0x3560b: 0x6d287020,\n\t0x3560c: 0x6d287220, 0x3560d: 0x6d55a820, 0x3560e: 0x6d55aa20, 0x3560f: 0x6d55ac20,\n\t0x35610: 0x6d55ae20, 0x35611: 0x6d55b020, 0x35612: 0x6d55b220, 0x35613: 0x6d55b420,\n\t0x35614: 0x6d55b620, 0x35615: 0x6d55b820, 0x35616: 0x6d55ba20, 0x35617: 0x6d55bc20,\n\t0x35618: 0x6d55be20, 0x35619: 0x6d55c020, 0x3561a: 0x6d55c220, 0x3561b: 0x6d55c420,\n\t0x3561c: 0x6d55c620, 0x3561d: 0x6d811220, 0x3561e: 0x6d811420, 0x3561f: 0x6d811620,\n\t0x35620: 0x6d811820, 0x35621: 0x6d811a20, 0x35622: 0x6d811c20, 0x35623: 0x6d811e20,\n\t0x35624: 0x6d812020, 0x35625: 0x6d812220, 0x35626: 0x6d812420, 0x35627: 0x6d812620,\n\t0x35628: 0x6da72620, 0x35629: 0x6da72820, 0x3562a: 0x6da72a20, 0x3562b: 0x6da72c20,\n\t0x3562c: 0x6da72e20, 0x3562d: 0x6da73020, 0x3562e: 0x6da73220, 0x3562f: 0x6dc86e20,\n\t0x35630: 0x6dc87020, 0x35631: 0x6dc87220, 0x35632: 0x6dc87420, 0x35633: 0x6dc87620,\n\t0x35634: 0x6dc87820, 0x35635: 0x6dc87a20, 0x35636: 0x6dc87c20, 0x35637: 0x6de48e20,\n\t0x35638: 0x6de49020, 0x35639: 0x6dfba820, 0x3563a: 0x6dfbaa20, 0x3563b: 0x6dfbac20,\n\t0x3563c: 0x6e0ee420, 0x3563d: 0x6e0ee620, 0x3563e: 0x6e1e1e20, 0x3563f: 0x6e298020,\n\t// Block 0xd59, offset 0x35640\n\t0x35640: 0x6e298220, 0x35641: 0x6e298420, 0x35642: 0x6c380820, 0x35643: 0x6c380a20,\n\t0x35644: 0x6c380c20, 0x35645: 0x6c534c20, 0x35646: 0x6c534e20, 0x35647: 0x6c535020,\n\t0x35648: 0x6c75e220, 0x35649: 0x6c75e420, 0x3564a: 0x6c75e620, 0x3564b: 0x6c9e2a20,\n\t0x3564c: 0x6c9e2c20, 0x3564d: 0x6c9e2e20, 0x3564e: 0x6c9e3020, 0x3564f: 0x6c9e3220,\n\t0x35650: 0x6c9e3420, 0x35651: 0x6c9e3620, 0x35652: 0x6c9e3820, 0x35653: 0x6c9e3a20,\n\t0x35654: 0x6c9e3c20, 0x35655: 0x6c9e3e20, 0x35656: 0x6c9e4020, 0x35657: 0x6c9e4220,\n\t0x35658: 0x6c9e4420, 0x35659: 0x6ccb5420, 0x3565a: 0x6ccb5620, 0x3565b: 0x6ccb5820,\n\t0x3565c: 0x6ccb5a20, 0x3565d: 0x6ccb5c20, 0x3565e: 0x6ccb5e20, 0x3565f: 0x6ccb6020,\n\t0x35660: 0x6cf96020, 0x35661: 0x6cf96220, 0x35662: 0x6cf96420, 0x35663: 0x6cf96620,\n\t0x35664: 0x6cf96820, 0x35665: 0x6cf96a20, 0x35666: 0x6cf96c20, 0x35667: 0x6cf96e20,\n\t0x35668: 0x6cf97020, 0x35669: 0x6cf97220, 0x3566a: 0x6cf97420, 0x3566b: 0x6cf97620,\n\t0x3566c: 0x6cf97820, 0x3566d: 0x6d017c20, 0x3566e: 0x6d287c20, 0x3566f: 0x6d287e20,\n\t0x35670: 0x6d288020, 0x35671: 0x6d288220, 0x35672: 0x6d288420, 0x35673: 0x6d288620,\n\t0x35674: 0x6d288820, 0x35675: 0x6d288a20, 0x35676: 0x6d55ce20, 0x35677: 0x6d55d020,\n\t0x35678: 0x6d55d220, 0x35679: 0x6d55d420, 0x3567a: 0x6d55d620, 0x3567b: 0x6d813220,\n\t0x3567c: 0x6d813420, 0x3567d: 0x6d813620, 0x3567e: 0x6d813820, 0x3567f: 0x6d813a20,\n\t// Block 0xd5a, offset 0x35680\n\t0x35680: 0x6d813c20, 0x35681: 0x6d813e20, 0x35682: 0x6d814020, 0x35683: 0x6d814220,\n\t0x35684: 0x6d814420, 0x35685: 0x6d814620, 0x35686: 0x6d814820, 0x35687: 0x6d814a20,\n\t0x35688: 0x6d814c20, 0x35689: 0x6d814e20, 0x3568a: 0x6d815020, 0x3568b: 0x6d815220,\n\t0x3568c: 0x6da73820, 0x3568d: 0x6da73a20, 0x3568e: 0x6da73c20, 0x3568f: 0x6da73e20,\n\t0x35690: 0x6dc88020, 0x35691: 0x6dc88220, 0x35692: 0x6dc88420, 0x35693: 0x6dc88620,\n\t0x35694: 0x6dc88820, 0x35695: 0x6dc88a20, 0x35696: 0x6dc88c20, 0x35697: 0x6dc88e20,\n\t0x35698: 0x6de49220, 0x35699: 0x6de49420, 0x3569a: 0x6de49620, 0x3569b: 0x6de49820,\n\t0x3569c: 0x6de49a20, 0x3569d: 0x6de49c20, 0x3569e: 0x6dfbae20, 0x3569f: 0x6dfbb020,\n\t0x356a0: 0x6e0ee820, 0x356a1: 0x6e0eea20, 0x356a2: 0x6e298820, 0x356a3: 0x6e298a20,\n\t0x356a4: 0x6e298c20, 0x356a5: 0x6e298e20, 0x356a6: 0x6e329820, 0x356a7: 0x6e329a20,\n\t0x356a8: 0x6e329c20, 0x356a9: 0x6e38dc20, 0x356aa: 0x6e405620, 0x356ab: 0x6e405820,\n\t0x356ac: 0x6c04ba20, 0x356ad: 0x6c12d620, 0x356ae: 0x6c227a20, 0x356af: 0x6c381020,\n\t0x356b0: 0x6c381220, 0x356b1: 0x6c381420, 0x356b2: 0x6c381620, 0x356b3: 0x6c535420,\n\t0x356b4: 0x6c75ec20, 0x356b5: 0x6c9e4820, 0x356b6: 0x6c9e4a20, 0x356b7: 0x6c9e4c20,\n\t0x356b8: 0x6c9e4e20, 0x356b9: 0x6cf97e20, 0x356ba: 0x6d288c20, 0x356bb: 0x6d288e20,\n\t0x356bc: 0x6d289020, 0x356bd: 0x6d815420, 0x356be: 0x6d815620, 0x356bf: 0x6da74420,\n\t// Block 0xd5b, offset 0x356c0\n\t0x356c0: 0x6de49e20, 0x356c1: 0x6e1e2020, 0x356c2: 0x6c227e20, 0x356c3: 0x6c228020,\n\t0x356c4: 0x6c381820, 0x356c5: 0x6c381a20, 0x356c6: 0x6c381c20, 0x356c7: 0x6c381e20,\n\t0x356c8: 0x6c75f020, 0x356c9: 0x6c75f220, 0x356ca: 0x6c75f420, 0x356cb: 0x6c9e5020,\n\t0x356cc: 0x6c9e5220, 0x356cd: 0x6cf98020, 0x356ce: 0x6d289420, 0x356cf: 0x6d289620,\n\t0x356d0: 0x6d289820, 0x356d1: 0x6d289a20, 0x356d2: 0x6d55dc20, 0x356d3: 0x6d815820,\n\t0x356d4: 0x6d815a20, 0x356d5: 0x6da74820, 0x356d6: 0x6de4a020, 0x356d7: 0x6dfbb220,\n\t0x356d8: 0x6dfbb420, 0x356d9: 0x6e1e2220, 0x356da: 0x6e405a20, 0x356db: 0x6c04c020,\n\t0x356dc: 0x6c12dc20, 0x356dd: 0x6c12de20, 0x356de: 0x6c12e020, 0x356df: 0x6c12e220,\n\t0x356e0: 0x6c12e420, 0x356e1: 0x6c228620, 0x356e2: 0x6c228820, 0x356e3: 0x6c228a20,\n\t0x356e4: 0x6c228c20, 0x356e5: 0x6c228e20, 0x356e6: 0x6c229020, 0x356e7: 0x6c229220,\n\t0x356e8: 0x6c229420, 0x356e9: 0x6c382e20, 0x356ea: 0x6c383020, 0x356eb: 0x6c383220,\n\t0x356ec: 0x6c383420, 0x356ed: 0x6c383620, 0x356ee: 0x6c383820, 0x356ef: 0x6c383a20,\n\t0x356f0: 0x6c383c20, 0x356f1: 0x6c383e20, 0x356f2: 0x6c384020, 0x356f3: 0x6c384220,\n\t0x356f4: 0x6c384420, 0x356f5: 0x6c384620, 0x356f6: 0x6c384820, 0x356f7: 0x6c384a20,\n\t0x356f8: 0x6c536420, 0x356f9: 0x6c536620, 0x356fa: 0x6c536820, 0x356fb: 0x6c536a20,\n\t0x356fc: 0x6c536c20, 0x356fd: 0x6c536e20, 0x356fe: 0x6c537020, 0x356ff: 0x6c537220,\n\t// Block 0xd5c, offset 0x35700\n\t0x35700: 0x6c537420, 0x35701: 0x6c537620, 0x35702: 0x6c537820, 0x35703: 0x6c537a20,\n\t0x35704: 0x6c537c20, 0x35705: 0x6c537e20, 0x35706: 0x6c538020, 0x35707: 0x6c538220,\n\t0x35708: 0x6c538420, 0x35709: 0x6c538620, 0x3570a: 0x6c538820, 0x3570b: 0x6c538a20,\n\t0x3570c: 0x6c538c20, 0x3570d: 0x6c538e20, 0x3570e: 0x6c539020, 0x3570f: 0x6c539220,\n\t0x35710: 0x6c539420, 0x35711: 0x6c539620, 0x35712: 0x6c539820, 0x35713: 0x6c539a20,\n\t0x35714: 0x6c539c20, 0x35715: 0x6c539e20, 0x35716: 0x6c53a020, 0x35717: 0x6c53a220,\n\t0x35718: 0x6c53a420, 0x35719: 0x6c53a620, 0x3571a: 0x6c53a820, 0x3571b: 0x6c53aa20,\n\t0x3571c: 0x6c760a20, 0x3571d: 0x6c760c20, 0x3571e: 0x6c760e20, 0x3571f: 0x6c761020,\n\t0x35720: 0x6c761220, 0x35721: 0x6c761420, 0x35722: 0x6c761620, 0x35723: 0x6c761820,\n\t0x35724: 0x6c761a20, 0x35725: 0x6c761c20, 0x35726: 0x6c761e20, 0x35727: 0x6c762020,\n\t0x35728: 0x6c762220, 0x35729: 0x6c762420, 0x3572a: 0x6c762620, 0x3572b: 0x6c762820,\n\t0x3572c: 0x6c762a20, 0x3572d: 0x6c762c20, 0x3572e: 0x6c762e20, 0x3572f: 0x6c763020,\n\t0x35730: 0x6c763220, 0x35731: 0x6c9e6a20, 0x35732: 0x6c9e6c20, 0x35733: 0x6c9e6e20,\n\t0x35734: 0x6c9e7020, 0x35735: 0x6c9e7220, 0x35736: 0x6c9e7420, 0x35737: 0x6c9e7620,\n\t0x35738: 0x6c9e7820, 0x35739: 0x6c9e7a20, 0x3573a: 0x6c9e7c20, 0x3573b: 0x6c9e7e20,\n\t0x3573c: 0x6c9e8020, 0x3573d: 0x6c9e8220, 0x3573e: 0x6c9e8420, 0x3573f: 0x6c9e8620,\n\t// Block 0xd5d, offset 0x35740\n\t0x35740: 0x6c9e8820, 0x35741: 0x6c9e8a20, 0x35742: 0x6c9e8c20, 0x35743: 0x6c9e8e20,\n\t0x35744: 0x6c9e9020, 0x35745: 0x6c9e9220, 0x35746: 0x6c9e9420, 0x35747: 0x6c9e9620,\n\t0x35748: 0x6ccb8220, 0x35749: 0x6ccb8420, 0x3574a: 0x6ccb8620, 0x3574b: 0x6ccb8820,\n\t0x3574c: 0x6ccb8a20, 0x3574d: 0x6ccb8c20, 0x3574e: 0x6ccb8e20, 0x3574f: 0x6ccb9020,\n\t0x35750: 0x6ccb9220, 0x35751: 0x6ccb9420, 0x35752: 0x6ccb9620, 0x35753: 0x6ccb9820,\n\t0x35754: 0x6ccb9a20, 0x35755: 0x6ccb9c20, 0x35756: 0x6ccb9e20, 0x35757: 0x6ccba020,\n\t0x35758: 0x6ccba220, 0x35759: 0x6ccba420, 0x3575a: 0x6ccba620, 0x3575b: 0x6ccba820,\n\t0x3575c: 0x6ccbaa20, 0x3575d: 0x6ccbac20, 0x3575e: 0x6ccbae20, 0x3575f: 0x6ccbb020,\n\t0x35760: 0x6ccbb220, 0x35761: 0x6ccbb420, 0x35762: 0x6ccbb620, 0x35763: 0x6ccbb820,\n\t0x35764: 0x6ccbba20, 0x35765: 0x6ccbbc20, 0x35766: 0x6ccbbe20, 0x35767: 0x6ccbc020,\n\t0x35768: 0x6cf99a20, 0x35769: 0x6cf99c20, 0x3576a: 0x6cf99e20, 0x3576b: 0x6cf9a020,\n\t0x3576c: 0x6cf9a220, 0x3576d: 0x6cf9a420, 0x3576e: 0x6cf9a620, 0x3576f: 0x6cf9a820,\n\t0x35770: 0x6cf9aa20, 0x35771: 0x6cf9ac20, 0x35772: 0x6cf9ae20, 0x35773: 0x6cf9b020,\n\t0x35774: 0x6cf9b220, 0x35775: 0x6cf9b420, 0x35776: 0x6cf9b620, 0x35777: 0x6cf9b820,\n\t0x35778: 0x6cf9ba20, 0x35779: 0x6cf9bc20, 0x3577a: 0x6cf9be20, 0x3577b: 0x6cf9c020,\n\t0x3577c: 0x6cf9c220, 0x3577d: 0x6cf9c420, 0x3577e: 0x6cf9c620, 0x3577f: 0x6cf9c820,\n\t// Block 0xd5e, offset 0x35780\n\t0x35780: 0x6cf9ca20, 0x35781: 0x6cf9cc20, 0x35782: 0x6cf9ce20, 0x35783: 0x6cf9d020,\n\t0x35784: 0x6cf9d220, 0x35785: 0x6d28ac20, 0x35786: 0x6d28ae20, 0x35787: 0x6d28b020,\n\t0x35788: 0x6d28b220, 0x35789: 0x6d28b420, 0x3578a: 0x6d28b620, 0x3578b: 0x6d28b820,\n\t0x3578c: 0x6d28ba20, 0x3578d: 0x6d28bc20, 0x3578e: 0x6d28be20, 0x3578f: 0x6d28c020,\n\t0x35790: 0x6d28c220, 0x35791: 0x6d28c420, 0x35792: 0x6d28c620, 0x35793: 0x6d28c820,\n\t0x35794: 0x6d28ca20, 0x35795: 0x6d28cc20, 0x35796: 0x6d28ce20, 0x35797: 0x6d28d020,\n\t0x35798: 0x6d28d220, 0x35799: 0x6d28d420, 0x3579a: 0x6d28d620, 0x3579b: 0x6d28d820,\n\t0x3579c: 0x6d28da20, 0x3579d: 0x6d28dc20, 0x3579e: 0x6d28de20, 0x3579f: 0x6d28e020,\n\t0x357a0: 0x6d28e220, 0x357a1: 0x6d28e420, 0x357a2: 0x6d28e620, 0x357a3: 0x6d55e620,\n\t0x357a4: 0x6d55e820, 0x357a5: 0x6d55ea20, 0x357a6: 0x6d55ec20, 0x357a7: 0x6d55ee20,\n\t0x357a8: 0x6d55f020, 0x357a9: 0x6d55f220, 0x357aa: 0x6d55f420, 0x357ab: 0x6d55f620,\n\t0x357ac: 0x6d55f820, 0x357ad: 0x6d55fa20, 0x357ae: 0x6d55fc20, 0x357af: 0x6d55fe20,\n\t0x357b0: 0x6d560020, 0x357b1: 0x6d560220, 0x357b2: 0x6d560420, 0x357b3: 0x6d560620,\n\t0x357b4: 0x6d560820, 0x357b5: 0x6d560a20, 0x357b6: 0x6d560c20, 0x357b7: 0x6d560e20,\n\t0x357b8: 0x6d817020, 0x357b9: 0x6d817220, 0x357ba: 0x6d817420, 0x357bb: 0x6d817620,\n\t0x357bc: 0x6d817820, 0x357bd: 0x6d817a20, 0x357be: 0x6d817c20, 0x357bf: 0x6d817e20,\n\t// Block 0xd5f, offset 0x357c0\n\t0x357c0: 0x6d818020, 0x357c1: 0x6d818220, 0x357c2: 0x6d818420, 0x357c3: 0x6d818620,\n\t0x357c4: 0x6d818820, 0x357c5: 0x6d818a20, 0x357c6: 0x6d818c20, 0x357c7: 0x6d818e20,\n\t0x357c8: 0x6d819020, 0x357c9: 0x6d819220, 0x357ca: 0x6da75020, 0x357cb: 0x6da75220,\n\t0x357cc: 0x6da75420, 0x357cd: 0x6da75620, 0x357ce: 0x6da75820, 0x357cf: 0x6da75a20,\n\t0x357d0: 0x6da75c20, 0x357d1: 0x6da75e20, 0x357d2: 0x6da76020, 0x357d3: 0x6da76220,\n\t0x357d4: 0x6da76420, 0x357d5: 0x6da76620, 0x357d6: 0x6da76820, 0x357d7: 0x6da76a20,\n\t0x357d8: 0x6da76c20, 0x357d9: 0x6da76e20, 0x357da: 0x6dc89820, 0x357db: 0x6dc89a20,\n\t0x357dc: 0x6dc89c20, 0x357dd: 0x6dc89e20, 0x357de: 0x6dc8a020, 0x357df: 0x6dc8a220,\n\t0x357e0: 0x6dc8a420, 0x357e1: 0x6dc8a620, 0x357e2: 0x6dc8a820, 0x357e3: 0x6dc8aa20,\n\t0x357e4: 0x6dc8ac20, 0x357e5: 0x6dc8ae20, 0x357e6: 0x6dc8b020, 0x357e7: 0x6dc8b220,\n\t0x357e8: 0x6dc8b420, 0x357e9: 0x6dc8b620, 0x357ea: 0x6dc8b820, 0x357eb: 0x6de4a620,\n\t0x357ec: 0x6de4a820, 0x357ed: 0x6de4aa20, 0x357ee: 0x6de4ac20, 0x357ef: 0x6de4ae20,\n\t0x357f0: 0x6de4b020, 0x357f1: 0x6dfbb820, 0x357f2: 0x6dfbba20, 0x357f3: 0x6dfbbc20,\n\t0x357f4: 0x6dfbbe20, 0x357f5: 0x6dfbc020, 0x357f6: 0x6e0eec20, 0x357f7: 0x6e0eee20,\n\t0x357f8: 0x6e0ef020, 0x357f9: 0x6e0ef220, 0x357fa: 0x6e0ef420, 0x357fb: 0x6e1e2620,\n\t0x357fc: 0x6e1e2820, 0x357fd: 0x6e1e2a20, 0x357fe: 0x6e1e2c20, 0x357ff: 0x6e299020,\n\t// Block 0xd60, offset 0x35800\n\t0x35800: 0x6e299220, 0x35801: 0x6e299420, 0x35802: 0x6e3d4c20, 0x35803: 0x6e3d4e20,\n\t0x35804: 0x6e42b020, 0x35805: 0x6c385220, 0x35806: 0x6c385420, 0x35807: 0x6c53b020,\n\t0x35808: 0x6c53b220, 0x35809: 0x6c53b420, 0x3580a: 0x6c53b620, 0x3580b: 0x6c9e9820,\n\t0x3580c: 0x6c9e9a20, 0x3580d: 0x6c9e9c20, 0x3580e: 0x6c9e9e20, 0x3580f: 0x6cf9d620,\n\t0x35810: 0x6d28ea20, 0x35811: 0x6d819420, 0x35812: 0x6da77020, 0x35813: 0x6dc8bc20,\n\t0x35814: 0x6dc8be20, 0x35815: 0x6c12f020, 0x35816: 0x6c12f220, 0x35817: 0x6c229a20,\n\t0x35818: 0x6c229c20, 0x35819: 0x6c385e20, 0x3581a: 0x6c386020, 0x3581b: 0x6c386220,\n\t0x3581c: 0x6c53c220, 0x3581d: 0x6c53c420, 0x3581e: 0x6c53c620, 0x3581f: 0x6c53c820,\n\t0x35820: 0x6c53ca20, 0x35821: 0x6c764820, 0x35822: 0x6ccbd020, 0x35823: 0x6c9ea620,\n\t0x35824: 0x6ccbd220, 0x35825: 0x6ccbd420, 0x35826: 0x6cf9da20, 0x35827: 0x6cf9dc20,\n\t0x35828: 0x6cf9de20, 0x35829: 0x6d28f020, 0x3582a: 0x6d561420, 0x3582b: 0x6d561620,\n\t0x3582c: 0x6da77220, 0x3582d: 0x6da77420, 0x3582e: 0x6dc8c020, 0x3582f: 0x6e0ef620,\n\t0x35830: 0x6e0ef820, 0x35831: 0x6c01fc20, 0x35832: 0x6c04ca20, 0x35833: 0x6c04cc20,\n\t0x35834: 0x6c04ce20, 0x35835: 0x6c09b220, 0x35836: 0x6c09b420, 0x35837: 0x6c09b620,\n\t0x35838: 0x6c09b820, 0x35839: 0x6c09ba20, 0x3583a: 0x6c09bc20, 0x3583b: 0x6c09be20,\n\t0x3583c: 0x6c09c020, 0x3583d: 0x6c09c220, 0x3583e: 0x6c09c420, 0x3583f: 0x6c09c620,\n\t// Block 0xd61, offset 0x35840\n\t0x35840: 0x6c133020, 0x35841: 0x6c133220, 0x35842: 0x6c133420, 0x35843: 0x6c133620,\n\t0x35844: 0x6c133820, 0x35845: 0x6c133a20, 0x35846: 0x6c133c20, 0x35847: 0x6c133e20,\n\t0x35848: 0x6c134020, 0x35849: 0x6c134220, 0x3584a: 0x6c134420, 0x3584b: 0x6c134620,\n\t0x3584c: 0x6c134820, 0x3584d: 0x6c134a20, 0x3584e: 0x6c233a20, 0x3584f: 0x6c233c20,\n\t0x35850: 0x6c233e20, 0x35851: 0x6c234020, 0x35852: 0x6c234220, 0x35853: 0x6c234420,\n\t0x35854: 0x6c234620, 0x35855: 0x6c234820, 0x35856: 0x6c234a20, 0x35857: 0x6c234c20,\n\t0x35858: 0x6c234e20, 0x35859: 0x6c235020, 0x3585a: 0x6c235220, 0x3585b: 0x6c235420,\n\t0x3585c: 0x6c235620, 0x3585d: 0x6c235820, 0x3585e: 0x6c235a20, 0x3585f: 0x6c235c20,\n\t0x35860: 0x6c235e20, 0x35861: 0x6c236020, 0x35862: 0x6c236220, 0x35863: 0x6c236420,\n\t0x35864: 0x6c236620, 0x35865: 0x6c236820, 0x35866: 0x6c236a20, 0x35867: 0x6c236c20,\n\t0x35868: 0x6c236e20, 0x35869: 0x6c237020, 0x3586a: 0x6c237220, 0x3586b: 0x6c237420,\n\t0x3586c: 0x6c237620, 0x3586d: 0x6c237820, 0x3586e: 0x6c237a20, 0x3586f: 0x6c237c20,\n\t0x35870: 0x6c237e20, 0x35871: 0x6c238020, 0x35872: 0x6c392020, 0x35873: 0x6c392220,\n\t0x35874: 0x6c392420, 0x35875: 0x6c392620, 0x35876: 0x6c392820, 0x35877: 0x6c392a20,\n\t0x35878: 0x6c392c20, 0x35879: 0x6c392e20, 0x3587a: 0x6c393020, 0x3587b: 0x6c393220,\n\t0x3587c: 0x6c393420, 0x3587d: 0x6c393620, 0x3587e: 0x6c393820, 0x3587f: 0x6c393a20,\n\t// Block 0xd62, offset 0x35880\n\t0x35880: 0x6c393c20, 0x35881: 0x6c393e20, 0x35882: 0x6c394020, 0x35883: 0x6c394220,\n\t0x35884: 0x6c394420, 0x35885: 0x6c394620, 0x35886: 0x6c394820, 0x35887: 0x6c394a20,\n\t0x35888: 0x6c394c20, 0x35889: 0x6c394e20, 0x3588a: 0x6c395020, 0x3588b: 0x6c395220,\n\t0x3588c: 0x6c395420, 0x3588d: 0x6c395620, 0x3588e: 0x6c395820, 0x3588f: 0x6c395a20,\n\t0x35890: 0x6c395c20, 0x35891: 0x6c395e20, 0x35892: 0x6c396020, 0x35893: 0x6c396220,\n\t0x35894: 0x6c396420, 0x35895: 0x6c396620, 0x35896: 0x6c396820, 0x35897: 0x6c396a20,\n\t0x35898: 0x6c396c20, 0x35899: 0x6c396e20, 0x3589a: 0x6c397020, 0x3589b: 0x6c397220,\n\t0x3589c: 0x6c397420, 0x3589d: 0x6c397620, 0x3589e: 0x6c397820, 0x3589f: 0x6c397a20,\n\t0x358a0: 0x6c397c20, 0x358a1: 0x6c397e20, 0x358a2: 0x6c398020, 0x358a3: 0x6c398220,\n\t0x358a4: 0x6c549620, 0x358a5: 0x6c549820, 0x358a6: 0x6c549a20, 0x358a7: 0x6c549c20,\n\t0x358a8: 0x6c549e20, 0x358a9: 0x6c54a020, 0x358aa: 0x6c54a220, 0x358ab: 0x6c54a420,\n\t0x358ac: 0x6c54a620, 0x358ad: 0x6c54a820, 0x358ae: 0x6c54aa20, 0x358af: 0x6c54ac20,\n\t0x358b0: 0x6c54ae20, 0x358b1: 0x6c54b020, 0x358b2: 0x6c54b220, 0x358b3: 0x6c54b420,\n\t0x358b4: 0x6c54b620, 0x358b5: 0x6c54b820, 0x358b6: 0x6c54ba20, 0x358b7: 0x6c54bc20,\n\t0x358b8: 0x6c54be20, 0x358b9: 0x6c54c020, 0x358ba: 0x6c54c220, 0x358bb: 0x6c54c420,\n\t0x358bc: 0x6c54c620, 0x358bd: 0x6c54c820, 0x358be: 0x6c54ca20, 0x358bf: 0x6c54cc20,\n\t// Block 0xd63, offset 0x358c0\n\t0x358c0: 0x6c54ce20, 0x358c1: 0x6c54d020, 0x358c2: 0x6c54d220, 0x358c3: 0x6c54d420,\n\t0x358c4: 0x6c54d620, 0x358c5: 0x6c54d820, 0x358c6: 0x6c54da20, 0x358c7: 0x6c54dc20,\n\t0x358c8: 0x6c54de20, 0x358c9: 0x6c54e020, 0x358ca: 0x6c54e220, 0x358cb: 0x6c54e420,\n\t0x358cc: 0x6c54e620, 0x358cd: 0x6c54e820, 0x358ce: 0x6c54ea20, 0x358cf: 0x6c54ec20,\n\t0x358d0: 0x6c54ee20, 0x358d1: 0x6c54f020, 0x358d2: 0x6c54f220, 0x358d3: 0x6c54f420,\n\t0x358d4: 0x6c54f620, 0x358d5: 0x6c54f820, 0x358d6: 0x6c54fa20, 0x358d7: 0x6c54fc20,\n\t0x358d8: 0x6c54fe20, 0x358d9: 0x6c550020, 0x358da: 0x6c550220, 0x358db: 0x6c550420,\n\t0x358dc: 0x6c550620, 0x358dd: 0x6c550820, 0x358de: 0x6c771820, 0x358df: 0x6c771a20,\n\t0x358e0: 0x6c771c20, 0x358e1: 0x6c771e20, 0x358e2: 0x6c772020, 0x358e3: 0x6c772220,\n\t0x358e4: 0x6c772420, 0x358e5: 0x6c772620, 0x358e6: 0x6c772820, 0x358e7: 0x6c772a20,\n\t0x358e8: 0x6c772c20, 0x358e9: 0x6c772e20, 0x358ea: 0x6c773020, 0x358eb: 0x6c773220,\n\t0x358ec: 0x6c773420, 0x358ed: 0x6c773620, 0x358ee: 0x6c773820, 0x358ef: 0x6c773a20,\n\t0x358f0: 0x6c773c20, 0x358f1: 0x6c773e20, 0x358f2: 0x6c774020, 0x358f3: 0x6c774220,\n\t0x358f4: 0x6c774420, 0x358f5: 0x6c774620, 0x358f6: 0x6c774820, 0x358f7: 0x6c774a20,\n\t0x358f8: 0x6c774c20, 0x358f9: 0x6c774e20, 0x358fa: 0x6c775020, 0x358fb: 0x6c775220,\n\t0x358fc: 0x6c775420, 0x358fd: 0x6c775620, 0x358fe: 0x6c775820, 0x358ff: 0x6c775a20,\n\t// Block 0xd64, offset 0x35900\n\t0x35900: 0x6c775c20, 0x35901: 0x6c775e20, 0x35902: 0x6c776020, 0x35903: 0x6c776220,\n\t0x35904: 0x6c776420, 0x35905: 0x6c776620, 0x35906: 0x6c776820, 0x35907: 0x6c776a20,\n\t0x35908: 0x6c776c20, 0x35909: 0x6c776e20, 0x3590a: 0x6c777020, 0x3590b: 0x6c777220,\n\t0x3590c: 0x6c777420, 0x3590d: 0x6c777620, 0x3590e: 0x6c777820, 0x3590f: 0x6c777a20,\n\t0x35910: 0x6c777c20, 0x35911: 0x6c777e20, 0x35912: 0x6c778020, 0x35913: 0x6c778220,\n\t0x35914: 0x6c778420, 0x35915: 0x6c778620, 0x35916: 0x6c778820, 0x35917: 0x6c778a20,\n\t0x35918: 0x6c778c20, 0x35919: 0x6c778e20, 0x3591a: 0x6c779020, 0x3591b: 0x6c779220,\n\t0x3591c: 0x6c779420, 0x3591d: 0x6c779620, 0x3591e: 0x6c779820, 0x3591f: 0x6c779a20,\n\t0x35920: 0x6c779c20, 0x35921: 0x6c779e20, 0x35922: 0x6c77a020, 0x35923: 0x6c77a220,\n\t0x35924: 0x6c77a420, 0x35925: 0x6c77a620, 0x35926: 0x6c77a820, 0x35927: 0x6c77aa20,\n\t0x35928: 0x6c77ac20, 0x35929: 0x6c77ae20, 0x3592a: 0x6c77b020, 0x3592b: 0x6c77b220,\n\t0x3592c: 0x6c77b420, 0x3592d: 0x6c77b620, 0x3592e: 0x6c77b820, 0x3592f: 0x6c77ba20,\n\t0x35930: 0x6c77bc20, 0x35931: 0x6c77be20, 0x35932: 0x6c77c020, 0x35933: 0x6c77c220,\n\t0x35934: 0x6c77c420, 0x35935: 0x6c77c620, 0x35936: 0x6c77c820, 0x35937: 0x6c9fbc20,\n\t0x35938: 0x6c9fbe20, 0x35939: 0x6c9fc020, 0x3593a: 0x6c9fc220, 0x3593b: 0x6c9fc420,\n\t0x3593c: 0x6c9fc620, 0x3593d: 0x6c9fc820, 0x3593e: 0x6c9fca20, 0x3593f: 0x6c9fcc20,\n\t// Block 0xd65, offset 0x35940\n\t0x35940: 0x6c9fce20, 0x35941: 0x6c9fd020, 0x35942: 0x6c9fd220, 0x35943: 0x6c9fd420,\n\t0x35944: 0x6c9fd620, 0x35945: 0x6c9fd820, 0x35946: 0x6c9fda20, 0x35947: 0x6c9fdc20,\n\t0x35948: 0x6c9fde20, 0x35949: 0x6c9fe020, 0x3594a: 0x6c9fe220, 0x3594b: 0x6c9fe420,\n\t0x3594c: 0x6c9fe620, 0x3594d: 0x6c9fe820, 0x3594e: 0x6c9fea20, 0x3594f: 0x6c9fec20,\n\t0x35950: 0x6c9fee20, 0x35951: 0x6c9ff020, 0x35952: 0x6c9ff220, 0x35953: 0x6c9ff420,\n\t0x35954: 0x6c9ff620, 0x35955: 0x6c9ff820, 0x35956: 0x6c9ffa20, 0x35957: 0x6c9ffc20,\n\t0x35958: 0x6c9ffe20, 0x35959: 0x6ca00020, 0x3595a: 0x6ca00220, 0x3595b: 0x6ca00420,\n\t0x3595c: 0x6ca00620, 0x3595d: 0x6ca00820, 0x3595e: 0x6ca00a20, 0x3595f: 0x6ca00c20,\n\t0x35960: 0x6ca00e20, 0x35961: 0x6ca01020, 0x35962: 0x6ca01220, 0x35963: 0x6ca01420,\n\t0x35964: 0x6ca01620, 0x35965: 0x6ca01820, 0x35966: 0x6ca01a20, 0x35967: 0x6ca01c20,\n\t0x35968: 0x6ca01e20, 0x35969: 0x6ca02020, 0x3596a: 0x6ca02220, 0x3596b: 0x6ca02420,\n\t0x3596c: 0x6ca02620, 0x3596d: 0x6ca02820, 0x3596e: 0x6ca02a20, 0x3596f: 0x6ca02c20,\n\t0x35970: 0x6ca02e20, 0x35971: 0x6ca03020, 0x35972: 0x6ca03220, 0x35973: 0x6ca03420,\n\t0x35974: 0x6ca03620, 0x35975: 0x6ca03820, 0x35976: 0x6ca03a20, 0x35977: 0x6ca03c20,\n\t0x35978: 0x6ca03e20, 0x35979: 0x6ca04020, 0x3597a: 0x6ca04220, 0x3597b: 0x6ca04420,\n\t0x3597c: 0x6ca04620, 0x3597d: 0x6ca04820, 0x3597e: 0x6ca04a20, 0x3597f: 0x6ca04c20,\n\t// Block 0xd66, offset 0x35980\n\t0x35980: 0x6ca04e20, 0x35981: 0x6ca05020, 0x35982: 0x6ca05220, 0x35983: 0x6ca05420,\n\t0x35984: 0x6ca05620, 0x35985: 0x6ca05820, 0x35986: 0x6ca05a20, 0x35987: 0x6ca05c20,\n\t0x35988: 0x6ca05e20, 0x35989: 0x6ca06020, 0x3598a: 0x6ca06220, 0x3598b: 0x6ca06420,\n\t0x3598c: 0x6ca06620, 0x3598d: 0x6ca06820, 0x3598e: 0x6ca06a20, 0x3598f: 0x6ca06c20,\n\t0x35990: 0x6ca06e20, 0x35991: 0x6ca07020, 0x35992: 0x6ca07220, 0x35993: 0x6ca07420,\n\t0x35994: 0x6ca07620, 0x35995: 0x6ca07820, 0x35996: 0x6ca07a20, 0x35997: 0x6ca07c20,\n\t0x35998: 0x6ca07e20, 0x35999: 0x6ca08020, 0x3599a: 0x6c77ca20, 0x3599b: 0x6ca08220,\n\t0x3599c: 0x6ca08420, 0x3599d: 0x6ca08620, 0x3599e: 0x6ca08820, 0x3599f: 0x6ca08a20,\n\t0x359a0: 0x6ca08c20, 0x359a1: 0x6ca08e20, 0x359a2: 0x6ca09020, 0x359a3: 0x6ca09220,\n\t0x359a4: 0x6ca09420, 0x359a5: 0x6ca09620, 0x359a6: 0x6ca09820, 0x359a7: 0x6ca09a20,\n\t0x359a8: 0x6ca09c20, 0x359a9: 0x6ca09e20, 0x359aa: 0x6ca0a020, 0x359ab: 0x6ca0a220,\n\t0x359ac: 0x6ca0a420, 0x359ad: 0x6ca0a620, 0x359ae: 0x6ca0a820, 0x359af: 0x6ca0aa20,\n\t0x359b0: 0x6ca0ac20, 0x359b1: 0x6ca0ae20, 0x359b2: 0x6ca0b020, 0x359b3: 0x6ca0b220,\n\t0x359b4: 0x6ca0b420, 0x359b5: 0x6ca0b620, 0x359b6: 0x6ca0b820, 0x359b7: 0x6ca0ba20,\n\t0x359b8: 0x6ca0bc20, 0x359b9: 0x6ca0be20, 0x359ba: 0x6ca0c020, 0x359bb: 0x6ca0c220,\n\t0x359bc: 0x6cccf620, 0x359bd: 0x6cccf820, 0x359be: 0x6cccfa20, 0x359bf: 0x6cccfc20,\n\t// Block 0xd67, offset 0x359c0\n\t0x359c0: 0x6cccfe20, 0x359c1: 0x6ccd0020, 0x359c2: 0x6ccd0220, 0x359c3: 0x6ccd0420,\n\t0x359c4: 0x6ccd0620, 0x359c5: 0x6ccd0820, 0x359c6: 0x6ccd0a20, 0x359c7: 0x6ccd0c20,\n\t0x359c8: 0x6ccd0e20, 0x359c9: 0x6ccd1020, 0x359ca: 0x6ca0c420, 0x359cb: 0x6ccd1220,\n\t0x359cc: 0x6ccd1420, 0x359cd: 0x6ccd1620, 0x359ce: 0x6ccd1820, 0x359cf: 0x6ccd1a20,\n\t0x359d0: 0x6ccd1c20, 0x359d1: 0x6ccd1e20, 0x359d2: 0x6ccd2020, 0x359d3: 0x6ccd2220,\n\t0x359d4: 0x6ccd2420, 0x359d5: 0x6ccd2620, 0x359d6: 0x6ccd2820, 0x359d7: 0x6ccd2a20,\n\t0x359d8: 0x6ccd2c20, 0x359d9: 0x6ccd2e20, 0x359da: 0x6ccd3020, 0x359db: 0x6ccd3220,\n\t0x359dc: 0x6ccd3420, 0x359dd: 0x6ccd3620, 0x359de: 0x6ccd3820, 0x359df: 0x6ccd3a20,\n\t0x359e0: 0x6ccd3c20, 0x359e1: 0x6ccd3e20, 0x359e2: 0x6ccd4020, 0x359e3: 0x6ccd4220,\n\t0x359e4: 0x6ccd4420, 0x359e5: 0x6ccd4620, 0x359e6: 0x6ccd4820, 0x359e7: 0x6ccd4a20,\n\t0x359e8: 0x6ccd4c20, 0x359e9: 0x6ccd4e20, 0x359ea: 0x6ccd5020, 0x359eb: 0x6ccd5220,\n\t0x359ec: 0x6ccd5420, 0x359ed: 0x6ccd5620, 0x359ee: 0x6ccd5820, 0x359ef: 0x6ccd5a20,\n\t0x359f0: 0x6ccd5c20, 0x359f1: 0x6ccd5e20, 0x359f2: 0x6ccd6020, 0x359f3: 0x6ccd6220,\n\t0x359f4: 0x6ccd6420, 0x359f5: 0x6ccd6620, 0x359f6: 0x6ccd6820, 0x359f7: 0x6ccd6a20,\n\t0x359f8: 0x6ccd6c20, 0x359f9: 0x6ccd6e20, 0x359fa: 0x6ccd7020, 0x359fb: 0x6ccd7220,\n\t0x359fc: 0x6ccd7420, 0x359fd: 0x6ccd7620, 0x359fe: 0x6ccd7820, 0x359ff: 0x6ccd7a20,\n\t// Block 0xd68, offset 0x35a00\n\t0x35a00: 0x6ccd7c20, 0x35a01: 0x6ccd7e20, 0x35a02: 0x6ccd8020, 0x35a03: 0x6ccd8220,\n\t0x35a04: 0x6ccd8420, 0x35a05: 0x6ccd8620, 0x35a06: 0x6ccd8820, 0x35a07: 0x6ccd8a20,\n\t0x35a08: 0x6ccd8c20, 0x35a09: 0x6ccd8e20, 0x35a0a: 0x6ccd9020, 0x35a0b: 0x6ccd9220,\n\t0x35a0c: 0x6ccd9420, 0x35a0d: 0x6ccd9620, 0x35a0e: 0x6ccd9820, 0x35a0f: 0x6ccd9a20,\n\t0x35a10: 0x6ccd9c20, 0x35a11: 0x6ccd9e20, 0x35a12: 0x6ccda020, 0x35a13: 0x6ccda220,\n\t0x35a14: 0x6ccda420, 0x35a15: 0x6ccda620, 0x35a16: 0x6ccda820, 0x35a17: 0x6ccdaa20,\n\t0x35a18: 0x6ccdac20, 0x35a19: 0x6ccdae20, 0x35a1a: 0x6ccdb020, 0x35a1b: 0x6ccdb220,\n\t0x35a1c: 0x6ccdb420, 0x35a1d: 0x6cfac420, 0x35a1e: 0x6cfac620, 0x35a1f: 0x6cfac820,\n\t0x35a20: 0x6cfaca20, 0x35a21: 0x6cfacc20, 0x35a22: 0x6cface20, 0x35a23: 0x6cfad020,\n\t0x35a24: 0x6cfad220, 0x35a25: 0x6cfad420, 0x35a26: 0x6cfad620, 0x35a27: 0x6cfad820,\n\t0x35a28: 0x6cfada20, 0x35a29: 0x6cfadc20, 0x35a2a: 0x6cfade20, 0x35a2b: 0x6cfae020,\n\t0x35a2c: 0x6cfae220, 0x35a2d: 0x6cfae420, 0x35a2e: 0x6cfae620, 0x35a2f: 0x6cfae820,\n\t0x35a30: 0x6cfaea20, 0x35a31: 0x6cfaec20, 0x35a32: 0x6cfaee20, 0x35a33: 0x6cfaf020,\n\t0x35a34: 0x6cfaf220, 0x35a35: 0x6cfaf420, 0x35a36: 0x6cfaf620, 0x35a37: 0x6cfaf820,\n\t0x35a38: 0x6cfafa20, 0x35a39: 0x6cfafc20, 0x35a3a: 0x6cfafe20, 0x35a3b: 0x6cfb0020,\n\t0x35a3c: 0x6cfb0220, 0x35a3d: 0x6cfb0420, 0x35a3e: 0x6cfb0620, 0x35a3f: 0x6cfb0820,\n\t// Block 0xd69, offset 0x35a40\n\t0x35a40: 0x6cfb0a20, 0x35a41: 0x6cfb0c20, 0x35a42: 0x6cfb0e20, 0x35a43: 0x6cfb1020,\n\t0x35a44: 0x6cfb1220, 0x35a45: 0x6cfb1420, 0x35a46: 0x6cfb1620, 0x35a47: 0x6cfb1820,\n\t0x35a48: 0x6cfb1a20, 0x35a49: 0x6cfb1c20, 0x35a4a: 0x6cfb1e20, 0x35a4b: 0x6cfb2020,\n\t0x35a4c: 0x6cfb2220, 0x35a4d: 0x6cfb2420, 0x35a4e: 0x6cfb2620, 0x35a4f: 0x6cfb2820,\n\t0x35a50: 0x6cfb2a20, 0x35a51: 0x6cfb2c20, 0x35a52: 0x6cfb2e20, 0x35a53: 0x6cfb3020,\n\t0x35a54: 0x6cfb3220, 0x35a55: 0x6cfb3420, 0x35a56: 0x6cfb3620, 0x35a57: 0x6cfb3820,\n\t0x35a58: 0x6cfb3a20, 0x35a59: 0x6cfb3c20, 0x35a5a: 0x6cfb3e20, 0x35a5b: 0x6cfb4020,\n\t0x35a5c: 0x6cfb4220, 0x35a5d: 0x6cfb4420, 0x35a5e: 0x6cfb4620, 0x35a5f: 0x6cfb4820,\n\t0x35a60: 0x6cfb4a20, 0x35a61: 0x6cfb4c20, 0x35a62: 0x6cfb4e20, 0x35a63: 0x6cfb5020,\n\t0x35a64: 0x6cfb5220, 0x35a65: 0x6cfb5420, 0x35a66: 0x6cfb5620, 0x35a67: 0x6cfb5820,\n\t0x35a68: 0x6cfb5a20, 0x35a69: 0x6cfb5c20, 0x35a6a: 0x6cfb5e20, 0x35a6b: 0x6cfb6020,\n\t0x35a6c: 0x6cfb6220, 0x35a6d: 0x6cfb6420, 0x35a6e: 0x6cfb6620, 0x35a6f: 0x6cfb6820,\n\t0x35a70: 0x6cfb6a20, 0x35a71: 0x6cfb6c20, 0x35a72: 0x6cfb6e20, 0x35a73: 0x6cfb7020,\n\t0x35a74: 0x6cfb7220, 0x35a75: 0x6cfb7420, 0x35a76: 0x6cfb7620, 0x35a77: 0x6cfb7820,\n\t0x35a78: 0x6cfb7a20, 0x35a79: 0x6cfb7c20, 0x35a7a: 0x6cfb7e20, 0x35a7b: 0x6cfb8020,\n\t0x35a7c: 0x6cfb8220, 0x35a7d: 0x6cfb8420, 0x35a7e: 0x6cfb8620, 0x35a7f: 0x6cfb8820,\n\t// Block 0xd6a, offset 0x35a80\n\t0x35a80: 0x6cfb8a20, 0x35a81: 0x6cfb8c20, 0x35a82: 0x6cfb8e20, 0x35a83: 0x6cfb9020,\n\t0x35a84: 0x6cfb9220, 0x35a85: 0x6cfb9420, 0x35a86: 0x6cfb9620, 0x35a87: 0x6cfb9820,\n\t0x35a88: 0x6cfb9a20, 0x35a89: 0x6cfb9c20, 0x35a8a: 0x6cfb9e20, 0x35a8b: 0x6cfba020,\n\t0x35a8c: 0x6cfba220, 0x35a8d: 0x6d29ca20, 0x35a8e: 0x6d29cc20, 0x35a8f: 0x6d29ce20,\n\t0x35a90: 0x6d29d020, 0x35a91: 0x6d29d220, 0x35a92: 0x6d29d420, 0x35a93: 0x6d29d620,\n\t0x35a94: 0x6d29d820, 0x35a95: 0x6d29da20, 0x35a96: 0x6d29dc20, 0x35a97: 0x6d29de20,\n\t0x35a98: 0x6d29e020, 0x35a99: 0x6d29e220, 0x35a9a: 0x6d29e420, 0x35a9b: 0x6d29e620,\n\t0x35a9c: 0x6d29e820, 0x35a9d: 0x6d29ea20, 0x35a9e: 0x6d29ec20, 0x35a9f: 0x6d29ee20,\n\t0x35aa0: 0x6d29f020, 0x35aa1: 0x6d29f220, 0x35aa2: 0x6d29f420, 0x35aa3: 0x6d29f620,\n\t0x35aa4: 0x6d29f820, 0x35aa5: 0x6d29fa20, 0x35aa6: 0x6d29fc20, 0x35aa7: 0x6d29fe20,\n\t0x35aa8: 0x6d2a0020, 0x35aa9: 0x6d2a0220, 0x35aaa: 0x6d2a0420, 0x35aab: 0x6d2a0620,\n\t0x35aac: 0x6d2a0820, 0x35aad: 0x6d2a0a20, 0x35aae: 0x6d2a0c20, 0x35aaf: 0x6d2a0e20,\n\t0x35ab0: 0x6d2a1020, 0x35ab1: 0x6d2a1220, 0x35ab2: 0x6d2a1420, 0x35ab3: 0x6d2a1620,\n\t0x35ab4: 0x6d56e220, 0x35ab5: 0x6d2a1820, 0x35ab6: 0x6d2a1a20, 0x35ab7: 0x6d2a1c20,\n\t0x35ab8: 0x6d2a1e20, 0x35ab9: 0x6d2a2020, 0x35aba: 0x6d2a2220, 0x35abb: 0x6d2a2420,\n\t0x35abc: 0x6d2a2620, 0x35abd: 0x6d2a2820, 0x35abe: 0x6d2a2a20, 0x35abf: 0x6d2a2c20,\n\t// Block 0xd6b, offset 0x35ac0\n\t0x35ac0: 0x6d2a2e20, 0x35ac1: 0x6d2a3020, 0x35ac2: 0x6d2a3220, 0x35ac3: 0x6d2a3420,\n\t0x35ac4: 0x6d2a3620, 0x35ac5: 0x6d2a3820, 0x35ac6: 0x6d2a3a20, 0x35ac7: 0x6d2a3c20,\n\t0x35ac8: 0x6d2a3e20, 0x35ac9: 0x6d2a4020, 0x35aca: 0x6d2a4220, 0x35acb: 0x6d2a4420,\n\t0x35acc: 0x6d2a4620, 0x35acd: 0x6d2a4820, 0x35ace: 0x6d2a4a20, 0x35acf: 0x6d2a4c20,\n\t0x35ad0: 0x6d2a4e20, 0x35ad1: 0x6d2a5020, 0x35ad2: 0x6d2a5220, 0x35ad3: 0x6d2a5420,\n\t0x35ad4: 0x6d2a5620, 0x35ad5: 0x6d2a5820, 0x35ad6: 0x6d2a5a20, 0x35ad7: 0x6d2a5c20,\n\t0x35ad8: 0x6d2a5e20, 0x35ad9: 0x6d4f2420, 0x35ada: 0x6d2a6020, 0x35adb: 0x6d2a6220,\n\t0x35adc: 0x6d2a6420, 0x35add: 0x6d2a6620, 0x35ade: 0x6d2a6820, 0x35adf: 0x6d2a6a20,\n\t0x35ae0: 0x6d2a6c20, 0x35ae1: 0x6d2a6e20, 0x35ae2: 0x6d2a7020, 0x35ae3: 0x6d2a7220,\n\t0x35ae4: 0x6d2a7420, 0x35ae5: 0x6d2a7620, 0x35ae6: 0x6d2a7820, 0x35ae7: 0x6d2a7a20,\n\t0x35ae8: 0x6d2a7c20, 0x35ae9: 0x6d2a7e20, 0x35aea: 0x6d2a8020, 0x35aeb: 0x6d2a8220,\n\t0x35aec: 0x6d2a8420, 0x35aed: 0x6d2a8620, 0x35aee: 0x6d2a8820, 0x35aef: 0x6d2a8a20,\n\t0x35af0: 0x6d2a8c20, 0x35af1: 0x6d2a8e20, 0x35af2: 0x6d2a9020, 0x35af3: 0x6d2a9220,\n\t0x35af4: 0x6d2a9420, 0x35af5: 0x6d2a9620, 0x35af6: 0x6d2a9820, 0x35af7: 0x6d2a9a20,\n\t0x35af8: 0x6d2a9c20, 0x35af9: 0x6d2a9e20, 0x35afa: 0x6d2aa020, 0x35afb: 0x6d2aa220,\n\t0x35afc: 0x6d2aa420, 0x35afd: 0x6d2aa620, 0x35afe: 0x6d2aa820, 0x35aff: 0x6d2aaa20,\n\t// Block 0xd6c, offset 0x35b00\n\t0x35b00: 0x6d2aac20, 0x35b01: 0x6d2aae20, 0x35b02: 0x6d2ab020, 0x35b03: 0x6d56e420,\n\t0x35b04: 0x6d56e620, 0x35b05: 0x6d56e820, 0x35b06: 0x6d56ea20, 0x35b07: 0x6d56ec20,\n\t0x35b08: 0x6d56ee20, 0x35b09: 0x6d56f020, 0x35b0a: 0x6d56f220, 0x35b0b: 0x6d56f420,\n\t0x35b0c: 0x6d56f620, 0x35b0d: 0x6d56f820, 0x35b0e: 0x6d56fa20, 0x35b0f: 0x6d56fc20,\n\t0x35b10: 0x6d56fe20, 0x35b11: 0x6d570020, 0x35b12: 0x6d570220, 0x35b13: 0x6d570420,\n\t0x35b14: 0x6d570620, 0x35b15: 0x6d570820, 0x35b16: 0x6d570a20, 0x35b17: 0x6d570c20,\n\t0x35b18: 0x6d570e20, 0x35b19: 0x6d571020, 0x35b1a: 0x6d571220, 0x35b1b: 0x6d571420,\n\t0x35b1c: 0x6d571620, 0x35b1d: 0x6d571820, 0x35b1e: 0x6d571a20, 0x35b1f: 0x6d571c20,\n\t0x35b20: 0x6d571e20, 0x35b21: 0x6d572020, 0x35b22: 0x6d572220, 0x35b23: 0x6d572420,\n\t0x35b24: 0x6d572620, 0x35b25: 0x6d572820, 0x35b26: 0x6d572a20, 0x35b27: 0x6d572c20,\n\t0x35b28: 0x6d572e20, 0x35b29: 0x6d573020, 0x35b2a: 0x6d573220, 0x35b2b: 0x6d573420,\n\t0x35b2c: 0x6d573620, 0x35b2d: 0x6d573820, 0x35b2e: 0x6d573a20, 0x35b2f: 0x6d573c20,\n\t0x35b30: 0x6d573e20, 0x35b31: 0x6d574020, 0x35b32: 0x6d574220, 0x35b33: 0x6d574420,\n\t0x35b34: 0x6d574620, 0x35b35: 0x6d574820, 0x35b36: 0x6d574a20, 0x35b37: 0x6d574c20,\n\t0x35b38: 0x6d574e20, 0x35b39: 0x6d575020, 0x35b3a: 0x6d575220, 0x35b3b: 0x6d575420,\n\t0x35b3c: 0x6d575620, 0x35b3d: 0x6d575820, 0x35b3e: 0x6d575a20, 0x35b3f: 0x6d575c20,\n\t// Block 0xd6d, offset 0x35b40\n\t0x35b40: 0x6d575e20, 0x35b41: 0x6d576020, 0x35b42: 0x6d576220, 0x35b43: 0x6d576420,\n\t0x35b44: 0x6d576620, 0x35b45: 0x6d576820, 0x35b46: 0x6d576a20, 0x35b47: 0x6d576c20,\n\t0x35b48: 0x6d576e20, 0x35b49: 0x6d577020, 0x35b4a: 0x6d577220, 0x35b4b: 0x6d577420,\n\t0x35b4c: 0x6d577620, 0x35b4d: 0x6d577820, 0x35b4e: 0x6d577a20, 0x35b4f: 0x6d577c20,\n\t0x35b50: 0x6d577e20, 0x35b51: 0x6d578020, 0x35b52: 0x6d578220, 0x35b53: 0x6d578420,\n\t0x35b54: 0x6d578620, 0x35b55: 0x6d578820, 0x35b56: 0x6d578a20, 0x35b57: 0x6d578c20,\n\t0x35b58: 0x6d578e20, 0x35b59: 0x6d579020, 0x35b5a: 0x6d579220, 0x35b5b: 0x6d579420,\n\t0x35b5c: 0x6d579620, 0x35b5d: 0x6d579820, 0x35b5e: 0x6d579a20, 0x35b5f: 0x6d579c20,\n\t0x35b60: 0x6d579e20, 0x35b61: 0x6d57a020, 0x35b62: 0x6d57a220, 0x35b63: 0x6d57a420,\n\t0x35b64: 0x6d57a620, 0x35b65: 0x6d57a820, 0x35b66: 0x6d57aa20, 0x35b67: 0x6d57ac20,\n\t0x35b68: 0x6d57ae20, 0x35b69: 0x6d822820, 0x35b6a: 0x6d57b020, 0x35b6b: 0x6d57b220,\n\t0x35b6c: 0x6d57b420, 0x35b6d: 0x6d57b620, 0x35b6e: 0x6d57b820, 0x35b6f: 0x6d57ba20,\n\t0x35b70: 0x6d57bc20, 0x35b71: 0x6d57be20, 0x35b72: 0x6d57c020, 0x35b73: 0x6d57c220,\n\t0x35b74: 0x6d57c420, 0x35b75: 0x6d57c620, 0x35b76: 0x6d57c820, 0x35b77: 0x6d57ca20,\n\t0x35b78: 0x6d57cc20, 0x35b79: 0x6d57ce20, 0x35b7a: 0x6d57d020, 0x35b7b: 0x6d57d220,\n\t0x35b7c: 0x6d57d420, 0x35b7d: 0x6d57d620, 0x35b7e: 0x6d57d820, 0x35b7f: 0x6d57da20,\n\t// Block 0xd6e, offset 0x35b80\n\t0x35b80: 0x6da7de20, 0x35b81: 0x6d57dc20, 0x35b82: 0x6d57de20, 0x35b83: 0x6d57e020,\n\t0x35b84: 0x6d57e220, 0x35b85: 0x6d822a20, 0x35b86: 0x6d822c20, 0x35b87: 0x6d822e20,\n\t0x35b88: 0x6d823020, 0x35b89: 0x6d823220, 0x35b8a: 0x6d823420, 0x35b8b: 0x6d823620,\n\t0x35b8c: 0x6d823820, 0x35b8d: 0x6d823a20, 0x35b8e: 0x6d823c20, 0x35b8f: 0x6d823e20,\n\t0x35b90: 0x6d824020, 0x35b91: 0x6d824220, 0x35b92: 0x6d824420, 0x35b93: 0x6d824620,\n\t0x35b94: 0x6d824820, 0x35b95: 0x6d824a20, 0x35b96: 0x6d824c20, 0x35b97: 0x6d824e20,\n\t0x35b98: 0x6d825020, 0x35b99: 0x6d825220, 0x35b9a: 0x6d825420, 0x35b9b: 0x6d825620,\n\t0x35b9c: 0x6d825820, 0x35b9d: 0x6d825a20, 0x35b9e: 0x6d825c20, 0x35b9f: 0x6d825e20,\n\t0x35ba0: 0x6d826020, 0x35ba1: 0x6d826220, 0x35ba2: 0x6d826420, 0x35ba3: 0x6d826620,\n\t0x35ba4: 0x6d826820, 0x35ba5: 0x6d826a20, 0x35ba6: 0x6d826c20, 0x35ba7: 0x6d826e20,\n\t0x35ba8: 0x6d827020, 0x35ba9: 0x6d827220, 0x35baa: 0x6d827420, 0x35bab: 0x6d827620,\n\t0x35bac: 0x6d827820, 0x35bad: 0x6d827a20, 0x35bae: 0x6d827c20, 0x35baf: 0x6d827e20,\n\t0x35bb0: 0x6d828020, 0x35bb1: 0x6d828220, 0x35bb2: 0x6d828420, 0x35bb3: 0x6d828620,\n\t0x35bb4: 0x6d828820, 0x35bb5: 0x6d828a20, 0x35bb6: 0x6d828c20, 0x35bb7: 0x6d828e20,\n\t0x35bb8: 0x6d829020, 0x35bb9: 0x6d829220, 0x35bba: 0x6d829420, 0x35bbb: 0x6d829620,\n\t0x35bbc: 0x6d829820, 0x35bbd: 0x6d829a20, 0x35bbe: 0x6d829c20, 0x35bbf: 0x6d829e20,\n\t// Block 0xd6f, offset 0x35bc0\n\t0x35bc0: 0x6d82a020, 0x35bc1: 0x6d82a220, 0x35bc2: 0x6d82a420, 0x35bc3: 0x6d82a620,\n\t0x35bc4: 0x6d82a820, 0x35bc5: 0x6d82aa20, 0x35bc6: 0x6d82ac20, 0x35bc7: 0x6d82ae20,\n\t0x35bc8: 0x6d82b020, 0x35bc9: 0x6d82b220, 0x35bca: 0x6d82b420, 0x35bcb: 0x6d82b620,\n\t0x35bcc: 0x6d82b820, 0x35bcd: 0x6d82ba20, 0x35bce: 0x6d82bc20, 0x35bcf: 0x6d82be20,\n\t0x35bd0: 0x6d82c020, 0x35bd1: 0x6d82c220, 0x35bd2: 0x6d82c420, 0x35bd3: 0x6d82c620,\n\t0x35bd4: 0x6d82c820, 0x35bd5: 0x6d82ca20, 0x35bd6: 0x6d82cc20, 0x35bd7: 0x6d82ce20,\n\t0x35bd8: 0x6d82d020, 0x35bd9: 0x6d82d220, 0x35bda: 0x6d82d420, 0x35bdb: 0x6d82d620,\n\t0x35bdc: 0x6d82d820, 0x35bdd: 0x6d82da20, 0x35bde: 0x6d82dc20, 0x35bdf: 0x6d82de20,\n\t0x35be0: 0x6d82e020, 0x35be1: 0x6d82e220, 0x35be2: 0x6d7ade20, 0x35be3: 0x6da7e020,\n\t0x35be4: 0x6da7e220, 0x35be5: 0x6da7e420, 0x35be6: 0x6da7e620, 0x35be7: 0x6da7e820,\n\t0x35be8: 0x6da7ea20, 0x35be9: 0x6da7ec20, 0x35bea: 0x6da7ee20, 0x35beb: 0x6da7f020,\n\t0x35bec: 0x6da7f220, 0x35bed: 0x6da7f420, 0x35bee: 0x6da7f620, 0x35bef: 0x6da7f820,\n\t0x35bf0: 0x6da7fa20, 0x35bf1: 0x6da7fc20, 0x35bf2: 0x6da7fe20, 0x35bf3: 0x6da80020,\n\t0x35bf4: 0x6da80220, 0x35bf5: 0x6da80420, 0x35bf6: 0x6da80620, 0x35bf7: 0x6da80820,\n\t0x35bf8: 0x6da80a20, 0x35bf9: 0x6da80c20, 0x35bfa: 0x6da80e20, 0x35bfb: 0x6da81020,\n\t0x35bfc: 0x6da81220, 0x35bfd: 0x6da81420, 0x35bfe: 0x6da81620, 0x35bff: 0x6da81820,\n\t// Block 0xd70, offset 0x35c00\n\t0x35c00: 0x6da81a20, 0x35c01: 0x6da81c20, 0x35c02: 0x6da81e20, 0x35c03: 0x6da82020,\n\t0x35c04: 0x6da82220, 0x35c05: 0x6da82420, 0x35c06: 0x6da82620, 0x35c07: 0x6da82820,\n\t0x35c08: 0x6da82a20, 0x35c09: 0x6da82c20, 0x35c0a: 0x6da82e20, 0x35c0b: 0x6da83020,\n\t0x35c0c: 0x6da83220, 0x35c0d: 0x6da83420, 0x35c0e: 0x6da83620, 0x35c0f: 0x6da83820,\n\t0x35c10: 0x6da83a20, 0x35c11: 0x6da83c20, 0x35c12: 0x6da83e20, 0x35c13: 0x6da84020,\n\t0x35c14: 0x6da84220, 0x35c15: 0x6da84420, 0x35c16: 0x6da84620, 0x35c17: 0x6da84820,\n\t0x35c18: 0x6da84a20, 0x35c19: 0x6da84c20, 0x35c1a: 0x6da84e20, 0x35c1b: 0x6da85020,\n\t0x35c1c: 0x6da85220, 0x35c1d: 0x6da85420, 0x35c1e: 0x6dc90820, 0x35c1f: 0x6da85620,\n\t0x35c20: 0x6da85820, 0x35c21: 0x6dc90a20, 0x35c22: 0x6dc90c20, 0x35c23: 0x6dc90e20,\n\t0x35c24: 0x6dc91020, 0x35c25: 0x6dc91220, 0x35c26: 0x6dc91420, 0x35c27: 0x6dc91620,\n\t0x35c28: 0x6dc91820, 0x35c29: 0x6dc91a20, 0x35c2a: 0x6dc91c20, 0x35c2b: 0x6dc91e20,\n\t0x35c2c: 0x6dc92020, 0x35c2d: 0x6dc92220, 0x35c2e: 0x6dc92420, 0x35c2f: 0x6dc92620,\n\t0x35c30: 0x6dc92820, 0x35c31: 0x6dc92a20, 0x35c32: 0x6dc92c20, 0x35c33: 0x6dc92e20,\n\t0x35c34: 0x6dc93020, 0x35c35: 0x6dc93220, 0x35c36: 0x6dc93420, 0x35c37: 0x6dc93620,\n\t0x35c38: 0x6dc93820, 0x35c39: 0x6dc93a20, 0x35c3a: 0x6dc93c20, 0x35c3b: 0x6dc93e20,\n\t0x35c3c: 0x6dc94020, 0x35c3d: 0x6dc94220, 0x35c3e: 0x6dc94420, 0x35c3f: 0x6dc94620,\n\t// Block 0xd71, offset 0x35c40\n\t0x35c40: 0x6dc94820, 0x35c41: 0x6dc94a20, 0x35c42: 0x6dc94c20, 0x35c43: 0x6dc94e20,\n\t0x35c44: 0x6dc95020, 0x35c45: 0x6dc95220, 0x35c46: 0x6dc95420, 0x35c47: 0x6dc95620,\n\t0x35c48: 0x6dc95820, 0x35c49: 0x6dc95a20, 0x35c4a: 0x6dc95c20, 0x35c4b: 0x6dc95e20,\n\t0x35c4c: 0x6dc96020, 0x35c4d: 0x6dc96220, 0x35c4e: 0x6dc96420, 0x35c4f: 0x6dc96620,\n\t0x35c50: 0x6dc96820, 0x35c51: 0x6dc96a20, 0x35c52: 0x6dc96c20, 0x35c53: 0x6dc96e20,\n\t0x35c54: 0x6dc97020, 0x35c55: 0x6dc97220, 0x35c56: 0x6dc97420, 0x35c57: 0x6dc97620,\n\t0x35c58: 0x6dc97820, 0x35c59: 0x6dc97a20, 0x35c5a: 0x6dc97c20, 0x35c5b: 0x6dc97e20,\n\t0x35c5c: 0x6dc98020, 0x35c5d: 0x6de4f420, 0x35c5e: 0x6dc98220, 0x35c5f: 0x6dc98420,\n\t0x35c60: 0x6dc98620, 0x35c61: 0x6de4f620, 0x35c62: 0x6dc98820, 0x35c63: 0x6dc98a20,\n\t0x35c64: 0x6dc98c20, 0x35c65: 0x6dc98e20, 0x35c66: 0x6dc99020, 0x35c67: 0x6dc99220,\n\t0x35c68: 0x6dc99420, 0x35c69: 0x6dc99620, 0x35c6a: 0x6dc99820, 0x35c6b: 0x6dc99a20,\n\t0x35c6c: 0x6dc99c20, 0x35c6d: 0x6dc99e20, 0x35c6e: 0x6dc9a020, 0x35c6f: 0x6dc9a220,\n\t0x35c70: 0x6dc9a420, 0x35c71: 0x6dc9a620, 0x35c72: 0x6dc9a820, 0x35c73: 0x6de4f820,\n\t0x35c74: 0x6de4fa20, 0x35c75: 0x6de4fc20, 0x35c76: 0x6de4fe20, 0x35c77: 0x6de50020,\n\t0x35c78: 0x6de50220, 0x35c79: 0x6de50420, 0x35c7a: 0x6de50620, 0x35c7b: 0x6de50820,\n\t0x35c7c: 0x6de50a20, 0x35c7d: 0x6de50c20, 0x35c7e: 0x6de50e20, 0x35c7f: 0x6de51020,\n\t// Block 0xd72, offset 0x35c80\n\t0x35c80: 0x6de51220, 0x35c81: 0x6de51420, 0x35c82: 0x6de51620, 0x35c83: 0x6de51820,\n\t0x35c84: 0x6de51a20, 0x35c85: 0x6de51c20, 0x35c86: 0x6de51e20, 0x35c87: 0x6de52020,\n\t0x35c88: 0x6de52220, 0x35c89: 0x6de52420, 0x35c8a: 0x6de52620, 0x35c8b: 0x6de52820,\n\t0x35c8c: 0x6de52a20, 0x35c8d: 0x6de52c20, 0x35c8e: 0x6de52e20, 0x35c8f: 0x6de53020,\n\t0x35c90: 0x6de53220, 0x35c91: 0x6de53420, 0x35c92: 0x6de53620, 0x35c93: 0x6de53820,\n\t0x35c94: 0x6de53a20, 0x35c95: 0x6de53c20, 0x35c96: 0x6de53e20, 0x35c97: 0x6de54020,\n\t0x35c98: 0x6de54220, 0x35c99: 0x6de54420, 0x35c9a: 0x6de54620, 0x35c9b: 0x6de54820,\n\t0x35c9c: 0x6de54a20, 0x35c9d: 0x6de54c20, 0x35c9e: 0x6de54e20, 0x35c9f: 0x6de55020,\n\t0x35ca0: 0x6de55220, 0x35ca1: 0x6de55420, 0x35ca2: 0x6de55620, 0x35ca3: 0x6de55820,\n\t0x35ca4: 0x6de55a20, 0x35ca5: 0x6de55c20, 0x35ca6: 0x6de55e20, 0x35ca7: 0x6de56020,\n\t0x35ca8: 0x6dfbf620, 0x35ca9: 0x6dfbf820, 0x35caa: 0x6dfbfa20, 0x35cab: 0x6dfbfc20,\n\t0x35cac: 0x6dfbfe20, 0x35cad: 0x6dfc0020, 0x35cae: 0x6dfc0220, 0x35caf: 0x6dfc0420,\n\t0x35cb0: 0x6dfc0620, 0x35cb1: 0x6dfc0820, 0x35cb2: 0x6dfc0a20, 0x35cb3: 0x6dfc0c20,\n\t0x35cb4: 0x6dfc0e20, 0x35cb5: 0x6dfc1020, 0x35cb6: 0x6dfc1220, 0x35cb7: 0x6dfc1420,\n\t0x35cb8: 0x6dfc1620, 0x35cb9: 0x6dfc1820, 0x35cba: 0x6dfc1a20, 0x35cbb: 0x6dfc1c20,\n\t0x35cbc: 0x6dfc1e20, 0x35cbd: 0x6dfc2020, 0x35cbe: 0x6dfc2220, 0x35cbf: 0x6dfc2420,\n\t// Block 0xd73, offset 0x35cc0\n\t0x35cc0: 0x6dfc2620, 0x35cc1: 0x6dfc2820, 0x35cc2: 0x6dfc2a20, 0x35cc3: 0x6dfc2c20,\n\t0x35cc4: 0x6dfc2e20, 0x35cc5: 0x6dfc3020, 0x35cc6: 0x6dfc3220, 0x35cc7: 0x6dfc3420,\n\t0x35cc8: 0x6dfc3620, 0x35cc9: 0x6dfc3820, 0x35cca: 0x6dfc3a20, 0x35ccb: 0x6dfc3c20,\n\t0x35ccc: 0x6dfc3e20, 0x35ccd: 0x6dfc4020, 0x35cce: 0x6e0f2220, 0x35ccf: 0x6e0f2420,\n\t0x35cd0: 0x6e0f2620, 0x35cd1: 0x6e0f2820, 0x35cd2: 0x6e0f2a20, 0x35cd3: 0x6e0f2c20,\n\t0x35cd4: 0x6e0f2e20, 0x35cd5: 0x6e0f3020, 0x35cd6: 0x6e0f3220, 0x35cd7: 0x6e0f3420,\n\t0x35cd8: 0x6e0f3620, 0x35cd9: 0x6e0f3820, 0x35cda: 0x6e0f3a20, 0x35cdb: 0x6e0f3c20,\n\t0x35cdc: 0x6e0f3e20, 0x35cdd: 0x6e0f4020, 0x35cde: 0x6e0f4220, 0x35cdf: 0x6e0f4420,\n\t0x35ce0: 0x6e0f4620, 0x35ce1: 0x6e0f4820, 0x35ce2: 0x6e0f4a20, 0x35ce3: 0x6e0f4c20,\n\t0x35ce4: 0x6e0f4e20, 0x35ce5: 0x6e0f5020, 0x35ce6: 0x6e0f5220, 0x35ce7: 0x6e0f5420,\n\t0x35ce8: 0x6e0f5620, 0x35ce9: 0x6e0f5820, 0x35cea: 0x6e0f5a20, 0x35ceb: 0x6e0f5c20,\n\t0x35cec: 0x6e0f5e20, 0x35ced: 0x6e0f6020, 0x35cee: 0x6e0f6220, 0x35cef: 0x6e0f6420,\n\t0x35cf0: 0x6e0f6620, 0x35cf1: 0x6e0f6820, 0x35cf2: 0x6e0f6a20, 0x35cf3: 0x6e0f6c20,\n\t0x35cf4: 0x6e0f6e20, 0x35cf5: 0x6e0f7020, 0x35cf6: 0x6e1e4220, 0x35cf7: 0x6e1e4420,\n\t0x35cf8: 0x6e1e4620, 0x35cf9: 0x6e1e4820, 0x35cfa: 0x6e1e4a20, 0x35cfb: 0x6e1e4c20,\n\t0x35cfc: 0x6e1e4e20, 0x35cfd: 0x6e1e5020, 0x35cfe: 0x6e1e5220, 0x35cff: 0x6e1e5420,\n\t// Block 0xd74, offset 0x35d00\n\t0x35d00: 0x6e1e5620, 0x35d01: 0x6e1e5820, 0x35d02: 0x6e1e5a20, 0x35d03: 0x6e1e5c20,\n\t0x35d04: 0x6e1e5e20, 0x35d05: 0x6e1e6020, 0x35d06: 0x6e1e6220, 0x35d07: 0x6e1e6420,\n\t0x35d08: 0x6e1e6620, 0x35d09: 0x6e1e6820, 0x35d0a: 0x6e29a620, 0x35d0b: 0x6e29a820,\n\t0x35d0c: 0x6e29aa20, 0x35d0d: 0x6e29ac20, 0x35d0e: 0x6e29ae20, 0x35d0f: 0x6e29b020,\n\t0x35d10: 0x6e29b220, 0x35d11: 0x6e29b420, 0x35d12: 0x6e29b620, 0x35d13: 0x6e29b820,\n\t0x35d14: 0x6e29ba20, 0x35d15: 0x6e29bc20, 0x35d16: 0x6e29be20, 0x35d17: 0x6e29c020,\n\t0x35d18: 0x6e29c220, 0x35d19: 0x6e29c420, 0x35d1a: 0x6e29c620, 0x35d1b: 0x6e29c820,\n\t0x35d1c: 0x6e29ca20, 0x35d1d: 0x6e29cc20, 0x35d1e: 0x6e29ce20, 0x35d1f: 0x6e29d020,\n\t0x35d20: 0x6e32ac20, 0x35d21: 0x6e32ae20, 0x35d22: 0x6e32b020, 0x35d23: 0x6e32b220,\n\t0x35d24: 0x6e32b420, 0x35d25: 0x6e32b620, 0x35d26: 0x6e32b820, 0x35d27: 0x6e32ba20,\n\t0x35d28: 0x6e32bc20, 0x35d29: 0x6e38e420, 0x35d2a: 0x6e38e620, 0x35d2b: 0x6e38e820,\n\t0x35d2c: 0x6e38ea20, 0x35d2d: 0x6e38ec20, 0x35d2e: 0x6e38ee20, 0x35d2f: 0x6e38f020,\n\t0x35d30: 0x6e3d5820, 0x35d31: 0x6e3d5a20, 0x35d32: 0x6e3d5c20, 0x35d33: 0x6e3d5e20,\n\t0x35d34: 0x6e3d6020, 0x35d35: 0x6e3d6220, 0x35d36: 0x6e3d6420, 0x35d37: 0x6e406220,\n\t0x35d38: 0x6e406420, 0x35d39: 0x6e406620, 0x35d3a: 0x6e406820, 0x35d3b: 0x6e406a20,\n\t0x35d3c: 0x6e42b220, 0x35d3d: 0x6e42b420, 0x35d3e: 0x6e443220, 0x35d3f: 0x6e452220,\n\t// Block 0xd75, offset 0x35d40\n\t0x35d40: 0x6e468020, 0x35d41: 0x6e46c820, 0x35d42: 0x6c09cc20, 0x35d43: 0x6c136620,\n\t0x35d44: 0x6c136820, 0x35d45: 0x6c136a20, 0x35d46: 0x6c136c20, 0x35d47: 0x6c136e20,\n\t0x35d48: 0x6c137020, 0x35d49: 0x6c137220, 0x35d4a: 0x6c137420, 0x35d4b: 0x6c137620,\n\t0x35d4c: 0x6c137820, 0x35d4d: 0x6c23aa20, 0x35d4e: 0x6c23ac20, 0x35d4f: 0x6c23ae20,\n\t0x35d50: 0x6c23b020, 0x35d51: 0x6c23b220, 0x35d52: 0x6c23b420, 0x35d53: 0x6c23b620,\n\t0x35d54: 0x6c23b820, 0x35d55: 0x6c23ba20, 0x35d56: 0x6c23bc20, 0x35d57: 0x6c23be20,\n\t0x35d58: 0x6c23c020, 0x35d59: 0x6c23c220, 0x35d5a: 0x6c23c420, 0x35d5b: 0x6c23c620,\n\t0x35d5c: 0x6c23c820, 0x35d5d: 0x6c39d820, 0x35d5e: 0x6c39da20, 0x35d5f: 0x6c39dc20,\n\t0x35d60: 0x6c39de20, 0x35d61: 0x6c39e020, 0x35d62: 0x6c39e220, 0x35d63: 0x6c39e420,\n\t0x35d64: 0x6c39e620, 0x35d65: 0x6c39e820, 0x35d66: 0x6c39ea20, 0x35d67: 0x6c39ec20,\n\t0x35d68: 0x6c39ee20, 0x35d69: 0x6c39f020, 0x35d6a: 0x6c39f220, 0x35d6b: 0x6c39f420,\n\t0x35d6c: 0x6c39f620, 0x35d6d: 0x6c39f820, 0x35d6e: 0x6c39fa20, 0x35d6f: 0x6c39fc20,\n\t0x35d70: 0x6c39fe20, 0x35d71: 0x6c3a0020, 0x35d72: 0x6c3a0220, 0x35d73: 0x6c3a0420,\n\t0x35d74: 0x6c3a0620, 0x35d75: 0x6c3a0820, 0x35d76: 0x6c3a0a20, 0x35d77: 0x6c3a0c20,\n\t0x35d78: 0x6c3a0e20, 0x35d79: 0x6c3a1020, 0x35d7a: 0x6c3a1220, 0x35d7b: 0x6c3a1420,\n\t0x35d7c: 0x6c557220, 0x35d7d: 0x6c557420, 0x35d7e: 0x6c557620, 0x35d7f: 0x6c557820,\n\t// Block 0xd76, offset 0x35d80\n\t0x35d80: 0x6c557a20, 0x35d81: 0x6c557c20, 0x35d82: 0x6c557e20, 0x35d83: 0x6c558020,\n\t0x35d84: 0x6c558220, 0x35d85: 0x6c558420, 0x35d86: 0x6c558620, 0x35d87: 0x6c558820,\n\t0x35d88: 0x6c558a20, 0x35d89: 0x6c558c20, 0x35d8a: 0x6c558e20, 0x35d8b: 0x6c559020,\n\t0x35d8c: 0x6c559220, 0x35d8d: 0x6c559420, 0x35d8e: 0x6c559620, 0x35d8f: 0x6c559820,\n\t0x35d90: 0x6c559a20, 0x35d91: 0x6c559c20, 0x35d92: 0x6c559e20, 0x35d93: 0x6c55a020,\n\t0x35d94: 0x6c55a220, 0x35d95: 0x6c55a420, 0x35d96: 0x6c55a620, 0x35d97: 0x6c55a820,\n\t0x35d98: 0x6c55aa20, 0x35d99: 0x6c55ac20, 0x35d9a: 0x6c55ae20, 0x35d9b: 0x6c55b020,\n\t0x35d9c: 0x6c55b220, 0x35d9d: 0x6c55b420, 0x35d9e: 0x6c55b620, 0x35d9f: 0x6c55b820,\n\t0x35da0: 0x6c55ba20, 0x35da1: 0x6c55bc20, 0x35da2: 0x6c55be20, 0x35da3: 0x6c55c020,\n\t0x35da4: 0x6c55c220, 0x35da5: 0x6c55c420, 0x35da6: 0x6c55c620, 0x35da7: 0x6c55c820,\n\t0x35da8: 0x6c55ca20, 0x35da9: 0x6c55cc20, 0x35daa: 0x6c55ce20, 0x35dab: 0x6c55d020,\n\t0x35dac: 0x6c55d220, 0x35dad: 0x6c55d420, 0x35dae: 0x6c55d620, 0x35daf: 0x6c784c20,\n\t0x35db0: 0x6c784e20, 0x35db1: 0x6c785020, 0x35db2: 0x6c785220, 0x35db3: 0x6c785420,\n\t0x35db4: 0x6c785620, 0x35db5: 0x6c785820, 0x35db6: 0x6c785a20, 0x35db7: 0x6c785c20,\n\t0x35db8: 0x6c785e20, 0x35db9: 0x6c786020, 0x35dba: 0x6c786220, 0x35dbb: 0x6c786420,\n\t0x35dbc: 0x6c786620, 0x35dbd: 0x6c786820, 0x35dbe: 0x6c786a20, 0x35dbf: 0x6c786c20,\n\t// Block 0xd77, offset 0x35dc0\n\t0x35dc0: 0x6c786e20, 0x35dc1: 0x6c787020, 0x35dc2: 0x6c787220, 0x35dc3: 0x6c787420,\n\t0x35dc4: 0x6c787620, 0x35dc5: 0x6c787820, 0x35dc6: 0x6c787a20, 0x35dc7: 0x6c787c20,\n\t0x35dc8: 0x6c787e20, 0x35dc9: 0x6c788020, 0x35dca: 0x6c788220, 0x35dcb: 0x6c788420,\n\t0x35dcc: 0x6c788620, 0x35dcd: 0x6c788820, 0x35dce: 0x6c788a20, 0x35dcf: 0x6c788c20,\n\t0x35dd0: 0x6c788e20, 0x35dd1: 0x6c789020, 0x35dd2: 0x6c789220, 0x35dd3: 0x6c789420,\n\t0x35dd4: 0x6c789620, 0x35dd5: 0x6c789820, 0x35dd6: 0x6c789a20, 0x35dd7: 0x6c789c20,\n\t0x35dd8: 0x6c789e20, 0x35dd9: 0x6c78a020, 0x35dda: 0x6c78a220, 0x35ddb: 0x6c78a420,\n\t0x35ddc: 0x6c78a620, 0x35ddd: 0x6c78a820, 0x35dde: 0x6c78aa20, 0x35ddf: 0x6c78ac20,\n\t0x35de0: 0x6c78ae20, 0x35de1: 0x6c78b020, 0x35de2: 0x6c78b220, 0x35de3: 0x6c78b420,\n\t0x35de4: 0x6c78b620, 0x35de5: 0x6ca14020, 0x35de6: 0x6ca14220, 0x35de7: 0x6ca14420,\n\t0x35de8: 0x6ca14620, 0x35de9: 0x6ca14820, 0x35dea: 0x6ca14a20, 0x35deb: 0x6ca14c20,\n\t0x35dec: 0x6ca14e20, 0x35ded: 0x6ca15020, 0x35dee: 0x6ca15220, 0x35def: 0x6ca15420,\n\t0x35df0: 0x6ca15620, 0x35df1: 0x6ca15820, 0x35df2: 0x6ca15a20, 0x35df3: 0x6ca15c20,\n\t0x35df4: 0x6ca15e20, 0x35df5: 0x6ca16020, 0x35df6: 0x6ca16220, 0x35df7: 0x6ca16420,\n\t0x35df8: 0x6ca16620, 0x35df9: 0x6ca16820, 0x35dfa: 0x6ca16a20, 0x35dfb: 0x6ca16c20,\n\t0x35dfc: 0x6ca16e20, 0x35dfd: 0x6ca17020, 0x35dfe: 0x6ca17220, 0x35dff: 0x6ca17420,\n\t// Block 0xd78, offset 0x35e00\n\t0x35e00: 0x6ca17620, 0x35e01: 0x6ca17820, 0x35e02: 0x6ca17a20, 0x35e03: 0x6ca17c20,\n\t0x35e04: 0x6ca17e20, 0x35e05: 0x6ca18020, 0x35e06: 0x6ca18220, 0x35e07: 0x6ca18420,\n\t0x35e08: 0x6ca18620, 0x35e09: 0x6ca18820, 0x35e0a: 0x6ca18a20, 0x35e0b: 0x6ca18c20,\n\t0x35e0c: 0x6ca18e20, 0x35e0d: 0x6ca19020, 0x35e0e: 0x6ca19220, 0x35e0f: 0x6ca19420,\n\t0x35e10: 0x6ca19620, 0x35e11: 0x6ca19820, 0x35e12: 0x6ca19a20, 0x35e13: 0x6ca19c20,\n\t0x35e14: 0x6ca19e20, 0x35e15: 0x6ca1a020, 0x35e16: 0x6ca1a220, 0x35e17: 0x6ca1a420,\n\t0x35e18: 0x6ca1a620, 0x35e19: 0x6ca1a820, 0x35e1a: 0x6ca1aa20, 0x35e1b: 0x6ca1ac20,\n\t0x35e1c: 0x6ca1ae20, 0x35e1d: 0x6ca1b020, 0x35e1e: 0x6ca1b220, 0x35e1f: 0x6ca1b420,\n\t0x35e20: 0x6ca1b620, 0x35e21: 0x6ca1b820, 0x35e22: 0x6cce4820, 0x35e23: 0x6cce4a20,\n\t0x35e24: 0x6cce4c20, 0x35e25: 0x6cce4e20, 0x35e26: 0x6cce5020, 0x35e27: 0x6cce5220,\n\t0x35e28: 0x6cce5420, 0x35e29: 0x6cce5620, 0x35e2a: 0x6cce5820, 0x35e2b: 0x6cce5a20,\n\t0x35e2c: 0x6cce5c20, 0x35e2d: 0x6cce5e20, 0x35e2e: 0x6cce6020, 0x35e2f: 0x6cce6220,\n\t0x35e30: 0x6cce6420, 0x35e31: 0x6cce6620, 0x35e32: 0x6cce6820, 0x35e33: 0x6cce6a20,\n\t0x35e34: 0x6cce6c20, 0x35e35: 0x6cce6e20, 0x35e36: 0x6cce7020, 0x35e37: 0x6cce7220,\n\t0x35e38: 0x6cce7420, 0x35e39: 0x6cce7620, 0x35e3a: 0x6cce7820, 0x35e3b: 0x6cce7a20,\n\t0x35e3c: 0x6cce7c20, 0x35e3d: 0x6cce7e20, 0x35e3e: 0x6cce8020, 0x35e3f: 0x6cce8220,\n\t// Block 0xd79, offset 0x35e40\n\t0x35e40: 0x6cce8420, 0x35e41: 0x6cce8620, 0x35e42: 0x6cce8820, 0x35e43: 0x6cce8a20,\n\t0x35e44: 0x6cce8c20, 0x35e45: 0x6cce8e20, 0x35e46: 0x6cce9020, 0x35e47: 0x6cce9220,\n\t0x35e48: 0x6cce9420, 0x35e49: 0x6cce9620, 0x35e4a: 0x6cce9820, 0x35e4b: 0x6cce9a20,\n\t0x35e4c: 0x6cce9c20, 0x35e4d: 0x6cce9e20, 0x35e4e: 0x6ccea020, 0x35e4f: 0x6ccea220,\n\t0x35e50: 0x6ccea420, 0x35e51: 0x6ccea620, 0x35e52: 0x6ccea820, 0x35e53: 0x6cceaa20,\n\t0x35e54: 0x6cceac20, 0x35e55: 0x6cceae20, 0x35e56: 0x6cceb020, 0x35e57: 0x6cceb220,\n\t0x35e58: 0x6cceb420, 0x35e59: 0x6cceb620, 0x35e5a: 0x6cceb820, 0x35e5b: 0x6cceba20,\n\t0x35e5c: 0x6ccebc20, 0x35e5d: 0x6ccebe20, 0x35e5e: 0x6ccec020, 0x35e5f: 0x6ccec220,\n\t0x35e60: 0x6ccec420, 0x35e61: 0x6ccec620, 0x35e62: 0x6ccec820, 0x35e63: 0x6cceca20,\n\t0x35e64: 0x6ccecc20, 0x35e65: 0x6ccece20, 0x35e66: 0x6cced020, 0x35e67: 0x6cced220,\n\t0x35e68: 0x6cced420, 0x35e69: 0x6cced620, 0x35e6a: 0x6cced820, 0x35e6b: 0x6cceda20,\n\t0x35e6c: 0x6ccedc20, 0x35e6d: 0x6ccede20, 0x35e6e: 0x6ccee020, 0x35e6f: 0x6ccee220,\n\t0x35e70: 0x6ccee420, 0x35e71: 0x6ccee620, 0x35e72: 0x6cfc6820, 0x35e73: 0x6cfc6a20,\n\t0x35e74: 0x6cfc6c20, 0x35e75: 0x6cfc6e20, 0x35e76: 0x6cfc7020, 0x35e77: 0x6cfc7220,\n\t0x35e78: 0x6cfc7420, 0x35e79: 0x6cfc7620, 0x35e7a: 0x6cfc7820, 0x35e7b: 0x6cfc7a20,\n\t0x35e7c: 0x6cfc7c20, 0x35e7d: 0x6cfc7e20, 0x35e7e: 0x6cfc8020, 0x35e7f: 0x6cfc8220,\n\t// Block 0xd7a, offset 0x35e80\n\t0x35e80: 0x6cfc8420, 0x35e81: 0x6cfc8620, 0x35e82: 0x6cfc8820, 0x35e83: 0x6cfc8a20,\n\t0x35e84: 0x6cfc8c20, 0x35e85: 0x6cfc8e20, 0x35e86: 0x6cfc9020, 0x35e87: 0x6cfc9220,\n\t0x35e88: 0x6cfc9420, 0x35e89: 0x6cfc9620, 0x35e8a: 0x6cfc9820, 0x35e8b: 0x6cfc9a20,\n\t0x35e8c: 0x6cfc9c20, 0x35e8d: 0x6cfc9e20, 0x35e8e: 0x6cfca020, 0x35e8f: 0x6cfca220,\n\t0x35e90: 0x6cfca420, 0x35e91: 0x6cfca620, 0x35e92: 0x6cfca820, 0x35e93: 0x6cfcaa20,\n\t0x35e94: 0x6cfcac20, 0x35e95: 0x6cfcae20, 0x35e96: 0x6cfcb020, 0x35e97: 0x6cfcb220,\n\t0x35e98: 0x6cfcb420, 0x35e99: 0x6cfcb620, 0x35e9a: 0x6cfcb820, 0x35e9b: 0x6cfcba20,\n\t0x35e9c: 0x6cfcbc20, 0x35e9d: 0x6cfcbe20, 0x35e9e: 0x6cfcc020, 0x35e9f: 0x6cfcc220,\n\t0x35ea0: 0x6cfcc420, 0x35ea1: 0x6cfcc620, 0x35ea2: 0x6cfcc820, 0x35ea3: 0x6cfcca20,\n\t0x35ea4: 0x6cfccc20, 0x35ea5: 0x6cfcce20, 0x35ea6: 0x6cfcd020, 0x35ea7: 0x6cfcd220,\n\t0x35ea8: 0x6cfcd420, 0x35ea9: 0x6cfcd620, 0x35eaa: 0x6cfcd820, 0x35eab: 0x6cfcda20,\n\t0x35eac: 0x6cfcdc20, 0x35ead: 0x6cfcde20, 0x35eae: 0x6cfce020, 0x35eaf: 0x6cfce220,\n\t0x35eb0: 0x6cfce420, 0x35eb1: 0x6cfce620, 0x35eb2: 0x6cfce820, 0x35eb3: 0x6cb74620,\n\t0x35eb4: 0x6cfcea20, 0x35eb5: 0x6cfcec20, 0x35eb6: 0x6cfcee20, 0x35eb7: 0x6cfcf020,\n\t0x35eb8: 0x6cfcf220, 0x35eb9: 0x6cfcf420, 0x35eba: 0x6cfcf620, 0x35ebb: 0x6cfcf820,\n\t0x35ebc: 0x6cfcfa20, 0x35ebd: 0x6cfcfc20, 0x35ebe: 0x6cfcfe20, 0x35ebf: 0x6cfd0020,\n\t// Block 0xd7b, offset 0x35ec0\n\t0x35ec0: 0x6cfd0220, 0x35ec1: 0x6cfd0420, 0x35ec2: 0x6cfd0620, 0x35ec3: 0x6cfd0820,\n\t0x35ec4: 0x6cfd0a20, 0x35ec5: 0x6cfd0c20, 0x35ec6: 0x6cfd0e20, 0x35ec7: 0x6d2b2c20,\n\t0x35ec8: 0x6d2b2e20, 0x35ec9: 0x6d2b3020, 0x35eca: 0x6d2b3220, 0x35ecb: 0x6d2b3420,\n\t0x35ecc: 0x6d2b3620, 0x35ecd: 0x6d2b3820, 0x35ece: 0x6d2b3a20, 0x35ecf: 0x6d2b3c20,\n\t0x35ed0: 0x6d2b3e20, 0x35ed1: 0x6d2b4020, 0x35ed2: 0x6d2b4220, 0x35ed3: 0x6d2b4420,\n\t0x35ed4: 0x6d2b4620, 0x35ed5: 0x6d2b4820, 0x35ed6: 0x6d2b4a20, 0x35ed7: 0x6d2b4c20,\n\t0x35ed8: 0x6d2b4e20, 0x35ed9: 0x6d2b5020, 0x35eda: 0x6d2b5220, 0x35edb: 0x6d2b5420,\n\t0x35edc: 0x6d2b5620, 0x35edd: 0x6d2b5820, 0x35ede: 0x6d2b5a20, 0x35edf: 0x6d2b5c20,\n\t0x35ee0: 0x6d2b5e20, 0x35ee1: 0x6d2b6020, 0x35ee2: 0x6d2b6220, 0x35ee3: 0x6d2b6420,\n\t0x35ee4: 0x6d2b6620, 0x35ee5: 0x6d2b6820, 0x35ee6: 0x6d2b6a20, 0x35ee7: 0x6d2b6c20,\n\t0x35ee8: 0x6d2b6e20, 0x35ee9: 0x6d2b7020, 0x35eea: 0x6d2b7220, 0x35eeb: 0x6d2b7420,\n\t0x35eec: 0x6d2b7620, 0x35eed: 0x6d2b7820, 0x35eee: 0x6d2b7a20, 0x35eef: 0x6d2b7c20,\n\t0x35ef0: 0x6d2b7e20, 0x35ef1: 0x6d2b8020, 0x35ef2: 0x6d585a20, 0x35ef3: 0x6d2b8220,\n\t0x35ef4: 0x6d2b8420, 0x35ef5: 0x6d2b8620, 0x35ef6: 0x6d2b8820, 0x35ef7: 0x6d2b8a20,\n\t0x35ef8: 0x6d2b8c20, 0x35ef9: 0x6d2b8e20, 0x35efa: 0x6d2b9020, 0x35efb: 0x6d2b9220,\n\t0x35efc: 0x6d2b9420, 0x35efd: 0x6d2b9620, 0x35efe: 0x6d2b9820, 0x35eff: 0x6d2b9a20,\n\t// Block 0xd7c, offset 0x35f00\n\t0x35f00: 0x6d2b9c20, 0x35f01: 0x6d2b9e20, 0x35f02: 0x6d2ba020, 0x35f03: 0x6d2ba220,\n\t0x35f04: 0x6d2ba420, 0x35f05: 0x6d2ba620, 0x35f06: 0x6d2ba820, 0x35f07: 0x6d2baa20,\n\t0x35f08: 0x6d2bac20, 0x35f09: 0x6d2bae20, 0x35f0a: 0x6d2bb020, 0x35f0b: 0x6d2bb220,\n\t0x35f0c: 0x6d2bb420, 0x35f0d: 0x6d2bb620, 0x35f0e: 0x6d2bb820, 0x35f0f: 0x6cfd1020,\n\t0x35f10: 0x6d585c20, 0x35f11: 0x6d585e20, 0x35f12: 0x6d586020, 0x35f13: 0x6d586220,\n\t0x35f14: 0x6d586420, 0x35f15: 0x6d586620, 0x35f16: 0x6d586820, 0x35f17: 0x6d586a20,\n\t0x35f18: 0x6d586c20, 0x35f19: 0x6d586e20, 0x35f1a: 0x6d587020, 0x35f1b: 0x6d587220,\n\t0x35f1c: 0x6d587420, 0x35f1d: 0x6d587620, 0x35f1e: 0x6d587820, 0x35f1f: 0x6d587a20,\n\t0x35f20: 0x6d587c20, 0x35f21: 0x6d587e20, 0x35f22: 0x6d588020, 0x35f23: 0x6d588220,\n\t0x35f24: 0x6d588420, 0x35f25: 0x6d588620, 0x35f26: 0x6d588820, 0x35f27: 0x6d588a20,\n\t0x35f28: 0x6d588c20, 0x35f29: 0x6d836620, 0x35f2a: 0x6d588e20, 0x35f2b: 0x6d589020,\n\t0x35f2c: 0x6d589220, 0x35f2d: 0x6d589420, 0x35f2e: 0x6d589620, 0x35f2f: 0x6d589820,\n\t0x35f30: 0x6d589a20, 0x35f31: 0x6d589c20, 0x35f32: 0x6d589e20, 0x35f33: 0x6d58a020,\n\t0x35f34: 0x6d58a220, 0x35f35: 0x6d58a420, 0x35f36: 0x6d58a620, 0x35f37: 0x6d58a820,\n\t0x35f38: 0x6d58aa20, 0x35f39: 0x6d58ac20, 0x35f3a: 0x6d58ae20, 0x35f3b: 0x6d58b020,\n\t0x35f3c: 0x6d58b220, 0x35f3d: 0x6d58b420, 0x35f3e: 0x6d58b620, 0x35f3f: 0x6d58b820,\n\t// Block 0xd7d, offset 0x35f40\n\t0x35f40: 0x6d385220, 0x35f41: 0x6d58ba20, 0x35f42: 0x6d705e20, 0x35f43: 0x6d58bc20,\n\t0x35f44: 0x6d58be20, 0x35f45: 0x6d58c020, 0x35f46: 0x6d58c220, 0x35f47: 0x6d58c420,\n\t0x35f48: 0x6d58c620, 0x35f49: 0x6d58c820, 0x35f4a: 0x6d58ca20, 0x35f4b: 0x6d58cc20,\n\t0x35f4c: 0x6d58ce20, 0x35f4d: 0x6d58d020, 0x35f4e: 0x6d58d220, 0x35f4f: 0x6d58d420,\n\t0x35f50: 0x6d58d620, 0x35f51: 0x6d58d820, 0x35f52: 0x6d58da20, 0x35f53: 0x6d58dc20,\n\t0x35f54: 0x6d58de20, 0x35f55: 0x6d58e020, 0x35f56: 0x6d58e220, 0x35f57: 0x6d58e420,\n\t0x35f58: 0x6d58e620, 0x35f59: 0x6d58e820, 0x35f5a: 0x6d58ea20, 0x35f5b: 0x6d58ec20,\n\t0x35f5c: 0x6d58ee20, 0x35f5d: 0x6d836820, 0x35f5e: 0x6d836a20, 0x35f5f: 0x6d836c20,\n\t0x35f60: 0x6d836e20, 0x35f61: 0x6d837020, 0x35f62: 0x6d837220, 0x35f63: 0x6d837420,\n\t0x35f64: 0x6d837620, 0x35f65: 0x6d837820, 0x35f66: 0x6d837a20, 0x35f67: 0x6d837c20,\n\t0x35f68: 0x6d837e20, 0x35f69: 0x6d838020, 0x35f6a: 0x6d838220, 0x35f6b: 0x6d838420,\n\t0x35f6c: 0x6d838620, 0x35f6d: 0x6d838820, 0x35f6e: 0x6d838a20, 0x35f6f: 0x6d838c20,\n\t0x35f70: 0x6d838e20, 0x35f71: 0x6d839020, 0x35f72: 0x6d839220, 0x35f73: 0x6d839420,\n\t0x35f74: 0x6d839620, 0x35f75: 0x6d839820, 0x35f76: 0x6d839a20, 0x35f77: 0x6d839c20,\n\t0x35f78: 0x6d839e20, 0x35f79: 0x6d83a020, 0x35f7a: 0x6d83a220, 0x35f7b: 0x6d83a420,\n\t0x35f7c: 0x6d83a620, 0x35f7d: 0x6d83a820, 0x35f7e: 0x6d83aa20, 0x35f7f: 0x6d83ac20,\n\t// Block 0xd7e, offset 0x35f80\n\t0x35f80: 0x6d83ae20, 0x35f81: 0x6d83b020, 0x35f82: 0x6d83b220, 0x35f83: 0x6d83b420,\n\t0x35f84: 0x6d83b620, 0x35f85: 0x6d83b820, 0x35f86: 0x6d83ba20, 0x35f87: 0x6d83bc20,\n\t0x35f88: 0x6d83be20, 0x35f89: 0x6d83c020, 0x35f8a: 0x6d83c220, 0x35f8b: 0x6d83c420,\n\t0x35f8c: 0x6d83c620, 0x35f8d: 0x6d83c820, 0x35f8e: 0x6d83ca20, 0x35f8f: 0x6d83cc20,\n\t0x35f90: 0x6d83ce20, 0x35f91: 0x6d83d020, 0x35f92: 0x6d83d220, 0x35f93: 0x6d83d420,\n\t0x35f94: 0x6d83d620, 0x35f95: 0x6d83d820, 0x35f96: 0x6d83da20, 0x35f97: 0x6d83dc20,\n\t0x35f98: 0x6d83de20, 0x35f99: 0x6d83e020, 0x35f9a: 0x6d83e220, 0x35f9b: 0x6d83e420,\n\t0x35f9c: 0x6d83e620, 0x35f9d: 0x6d83e820, 0x35f9e: 0x6d83ea20, 0x35f9f: 0x6d83ec20,\n\t0x35fa0: 0x6d793420, 0x35fa1: 0x6d83ee20, 0x35fa2: 0x6d83f020, 0x35fa3: 0x6d83f220,\n\t0x35fa4: 0x6d83f420, 0x35fa5: 0x6d83f620, 0x35fa6: 0x6d83f820, 0x35fa7: 0x6d83fa20,\n\t0x35fa8: 0x6d83fc20, 0x35fa9: 0x6d83fe20, 0x35faa: 0x6d840020, 0x35fab: 0x6d840220,\n\t0x35fac: 0x6d840420, 0x35fad: 0x6d840620, 0x35fae: 0x6d840820, 0x35faf: 0x6d840a20,\n\t0x35fb0: 0x6d840c20, 0x35fb1: 0x6d840e20, 0x35fb2: 0x6d841020, 0x35fb3: 0x6d841220,\n\t0x35fb4: 0x6d841420, 0x35fb5: 0x6da8ae20, 0x35fb6: 0x6da8b020, 0x35fb7: 0x6da8b220,\n\t0x35fb8: 0x6da8b420, 0x35fb9: 0x6da8b620, 0x35fba: 0x6da8b820, 0x35fbb: 0x6da8ba20,\n\t0x35fbc: 0x6da8bc20, 0x35fbd: 0x6da8be20, 0x35fbe: 0x6da8c020, 0x35fbf: 0x6da8c220,\n\t// Block 0xd7f, offset 0x35fc0\n\t0x35fc0: 0x6da8c420, 0x35fc1: 0x6da8c620, 0x35fc2: 0x6da8c820, 0x35fc3: 0x6da8ca20,\n\t0x35fc4: 0x6da8cc20, 0x35fc5: 0x6da8ce20, 0x35fc6: 0x6da8d020, 0x35fc7: 0x6da8d220,\n\t0x35fc8: 0x6da8d420, 0x35fc9: 0x6da8d620, 0x35fca: 0x6da8d820, 0x35fcb: 0x6da8da20,\n\t0x35fcc: 0x6da8dc20, 0x35fcd: 0x6da8de20, 0x35fce: 0x6da8e020, 0x35fcf: 0x6da8e220,\n\t0x35fd0: 0x6da8e420, 0x35fd1: 0x6da8e620, 0x35fd2: 0x6da8e820, 0x35fd3: 0x6da8ea20,\n\t0x35fd4: 0x6da8ec20, 0x35fd5: 0x6da8ee20, 0x35fd6: 0x6da8f020, 0x35fd7: 0x6da8f220,\n\t0x35fd8: 0x6da8f420, 0x35fd9: 0x6da8f620, 0x35fda: 0x6da8f820, 0x35fdb: 0x6da8fa20,\n\t0x35fdc: 0x6da8fc20, 0x35fdd: 0x6da8fe20, 0x35fde: 0x6da90020, 0x35fdf: 0x6da90220,\n\t0x35fe0: 0x6da90420, 0x35fe1: 0x6da90620, 0x35fe2: 0x6da90820, 0x35fe3: 0x6da90a20,\n\t0x35fe4: 0x6dc9d420, 0x35fe5: 0x6dc9d620, 0x35fe6: 0x6dc9d820, 0x35fe7: 0x6dc9da20,\n\t0x35fe8: 0x6dc9dc20, 0x35fe9: 0x6dc9de20, 0x35fea: 0x6dc9e020, 0x35feb: 0x6dc9e220,\n\t0x35fec: 0x6dc9e420, 0x35fed: 0x6dc9e620, 0x35fee: 0x6dc9e820, 0x35fef: 0x6dc9ea20,\n\t0x35ff0: 0x6dc9ec20, 0x35ff1: 0x6dc9ee20, 0x35ff2: 0x6dc9f020, 0x35ff3: 0x6dc9f220,\n\t0x35ff4: 0x6dc9f420, 0x35ff5: 0x6dc9f620, 0x35ff6: 0x6dc9f820, 0x35ff7: 0x6dc9fa20,\n\t0x35ff8: 0x6dc9fc20, 0x35ff9: 0x6dc9fe20, 0x35ffa: 0x6dca0020, 0x35ffb: 0x6dca0220,\n\t0x35ffc: 0x6dca0420, 0x35ffd: 0x6dca0620, 0x35ffe: 0x6dca0820, 0x35fff: 0x6dca0a20,\n\t// Block 0xd80, offset 0x36000\n\t0x36000: 0x6dca0c20, 0x36001: 0x6dca0e20, 0x36002: 0x6dca1020, 0x36003: 0x6dd07420,\n\t0x36004: 0x6dca1220, 0x36005: 0x6dca1420, 0x36006: 0x6dca1620, 0x36007: 0x6dca1820,\n\t0x36008: 0x6dca1a20, 0x36009: 0x6dca1c20, 0x3600a: 0x6dca1e20, 0x3600b: 0x6dca2020,\n\t0x3600c: 0x6dca2220, 0x3600d: 0x6dca2420, 0x3600e: 0x6dca2620, 0x3600f: 0x6dca2820,\n\t0x36010: 0x6dca2a20, 0x36011: 0x6dca2c20, 0x36012: 0x6de58e20, 0x36013: 0x6de59020,\n\t0x36014: 0x6de59220, 0x36015: 0x6de59420, 0x36016: 0x6de59620, 0x36017: 0x6de59820,\n\t0x36018: 0x6de59a20, 0x36019: 0x6de59c20, 0x3601a: 0x6de59e20, 0x3601b: 0x6de5a020,\n\t0x3601c: 0x6de5a220, 0x3601d: 0x6de5a420, 0x3601e: 0x6de5a620, 0x3601f: 0x6de5a820,\n\t0x36020: 0x6de5aa20, 0x36021: 0x6de5ac20, 0x36022: 0x6de5ae20, 0x36023: 0x6de5b020,\n\t0x36024: 0x6de5b220, 0x36025: 0x6de5b420, 0x36026: 0x6de5b620, 0x36027: 0x6de5b820,\n\t0x36028: 0x6de5ba20, 0x36029: 0x6de5bc20, 0x3602a: 0x6de5be20, 0x3602b: 0x6de5c020,\n\t0x3602c: 0x6de5c220, 0x3602d: 0x6de5c420, 0x3602e: 0x6de5c620, 0x3602f: 0x6de5c820,\n\t0x36030: 0x6de5ca20, 0x36031: 0x6de5cc20, 0x36032: 0x6de5ce20, 0x36033: 0x6dfc6620,\n\t0x36034: 0x6dfc6820, 0x36035: 0x6dfc6a20, 0x36036: 0x6dfc6c20, 0x36037: 0x6dfc6e20,\n\t0x36038: 0x6dfc7020, 0x36039: 0x6dfc7220, 0x3603a: 0x6dfc7420, 0x3603b: 0x6dfc7620,\n\t0x3603c: 0x6dfc7820, 0x3603d: 0x6dfc7a20, 0x3603e: 0x6dfc7c20, 0x3603f: 0x6dfc7e20,\n\t// Block 0xd81, offset 0x36040\n\t0x36040: 0x6dfc8020, 0x36041: 0x6dfc8220, 0x36042: 0x6dfc8420, 0x36043: 0x6dfc8620,\n\t0x36044: 0x6dfc8820, 0x36045: 0x6dfc8a20, 0x36046: 0x6dfc8c20, 0x36047: 0x6dfc8e20,\n\t0x36048: 0x6dfc9020, 0x36049: 0x6dfc9220, 0x3604a: 0x6dfc9420, 0x3604b: 0x6dfc9620,\n\t0x3604c: 0x6dfc9820, 0x3604d: 0x6dfc9a20, 0x3604e: 0x6dfc9c20, 0x3604f: 0x6dfc9e20,\n\t0x36050: 0x6dfca020, 0x36051: 0x6dfca220, 0x36052: 0x6dfca420, 0x36053: 0x6dfca620,\n\t0x36054: 0x6dfca820, 0x36055: 0x6dfcaa20, 0x36056: 0x6dfcac20, 0x36057: 0x6dfcae20,\n\t0x36058: 0x6dfcb020, 0x36059: 0x6dfcb220, 0x3605a: 0x6dfcb420, 0x3605b: 0x6dfcb620,\n\t0x3605c: 0x6dfcb820, 0x3605d: 0x6dfcba20, 0x3605e: 0x6dfcbc20, 0x3605f: 0x6dfcbe20,\n\t0x36060: 0x6dfcc020, 0x36061: 0x6e0f8420, 0x36062: 0x6e0f8620, 0x36063: 0x6e0f8820,\n\t0x36064: 0x6e0f8a20, 0x36065: 0x6e0f8c20, 0x36066: 0x6e0f8e20, 0x36067: 0x6e0f9020,\n\t0x36068: 0x6dfcc220, 0x36069: 0x6e1e7820, 0x3606a: 0x6e0f9220, 0x3606b: 0x6e0f9420,\n\t0x3606c: 0x6e0f9620, 0x3606d: 0x6e0f9820, 0x3606e: 0x6e0f9a20, 0x3606f: 0x6e0f9c20,\n\t0x36070: 0x6e0f9e20, 0x36071: 0x6e0fa020, 0x36072: 0x6e0fa220, 0x36073: 0x6e0fa420,\n\t0x36074: 0x6e0fa620, 0x36075: 0x6e0fa820, 0x36076: 0x6e0faa20, 0x36077: 0x6e0fac20,\n\t0x36078: 0x6e0fae20, 0x36079: 0x6e0fb020, 0x3607a: 0x6e1e7a20, 0x3607b: 0x6e1e7c20,\n\t0x3607c: 0x6e29de20, 0x3607d: 0x6e1e7e20, 0x3607e: 0x6e1e8020, 0x3607f: 0x6e1e8220,\n\t// Block 0xd82, offset 0x36080\n\t0x36080: 0x6e1e8420, 0x36081: 0x6e1e8620, 0x36082: 0x6e1e8820, 0x36083: 0x6e1e8a20,\n\t0x36084: 0x6e1e8c20, 0x36085: 0x6e1e8e20, 0x36086: 0x6e1e9020, 0x36087: 0x6e1e9220,\n\t0x36088: 0x6e29e020, 0x36089: 0x6e29e220, 0x3608a: 0x6e29e420, 0x3608b: 0x6e29e620,\n\t0x3608c: 0x6e29e820, 0x3608d: 0x6e29ea20, 0x3608e: 0x6e29ec20, 0x3608f: 0x6e2b4a20,\n\t0x36090: 0x6e29ee20, 0x36091: 0x6e29f020, 0x36092: 0x6e29f220, 0x36093: 0x6e29f420,\n\t0x36094: 0x6e29f620, 0x36095: 0x6e29f820, 0x36096: 0x6e29fa20, 0x36097: 0x6e32c220,\n\t0x36098: 0x6e32c420, 0x36099: 0x6e32c620, 0x3609a: 0x6e32c820, 0x3609b: 0x6e32ca20,\n\t0x3609c: 0x6e38f820, 0x3609d: 0x6e38fa20, 0x3609e: 0x6e38fc20, 0x3609f: 0x6e33dc20,\n\t0x360a0: 0x6e38fe20, 0x360a1: 0x6e390020, 0x360a2: 0x6e390220, 0x360a3: 0x6e390420,\n\t0x360a4: 0x6e3d6820, 0x360a5: 0x6e3d6a20, 0x360a6: 0x6e406c20, 0x360a7: 0x6e406e20,\n\t0x360a8: 0x6e407020, 0x360a9: 0x6e407220, 0x360aa: 0x6e42b820, 0x360ab: 0x6e443620,\n\t0x360ac: 0x6e42ba20, 0x360ad: 0x6e452420, 0x360ae: 0x6e468420, 0x360af: 0x6c04da20,\n\t0x360b0: 0x6c04dc20, 0x360b1: 0x6c09d020, 0x360b2: 0x6c23d020, 0x360b3: 0x6c23d220,\n\t0x360b4: 0x6c23d420, 0x360b5: 0x6c23d620, 0x360b6: 0x6c3a2c20, 0x360b7: 0x6c3a2e20,\n\t0x360b8: 0x6c3a3020, 0x360b9: 0x6c3a3220, 0x360ba: 0x6c3a3420, 0x360bb: 0x6c3a3620,\n\t0x360bc: 0x6c3a3820, 0x360bd: 0x6c55f420, 0x360be: 0x6c55f620, 0x360bf: 0x6c55f820,\n\t// Block 0xd83, offset 0x360c0\n\t0x360c0: 0x6c55fa20, 0x360c1: 0x6c55fc20, 0x360c2: 0x6c55fe20, 0x360c3: 0x6c560020,\n\t0x360c4: 0x6c560220, 0x360c5: 0x6c560420, 0x360c6: 0x6c560620, 0x360c7: 0x6c560820,\n\t0x360c8: 0x6c560a20, 0x360c9: 0x6c560c20, 0x360ca: 0x6c560e20, 0x360cb: 0x6c561020,\n\t0x360cc: 0x6c78cc20, 0x360cd: 0x6c78ce20, 0x360ce: 0x6c78d020, 0x360cf: 0x6c78d220,\n\t0x360d0: 0x6ca1d020, 0x360d1: 0x6ca1d220, 0x360d2: 0x6ca1d420, 0x360d3: 0x6ca1d620,\n\t0x360d4: 0x6ccf0c20, 0x360d5: 0x6ccf0e20, 0x360d6: 0x6ccf1020, 0x360d7: 0x6cbc6220,\n\t0x360d8: 0x6ccf1220, 0x360d9: 0x6ccf1420, 0x360da: 0x6ccf1620, 0x360db: 0x6ccf1820,\n\t0x360dc: 0x6cfd2e20, 0x360dd: 0x6cfd3020, 0x360de: 0x6cfd3220, 0x360df: 0x6cfd3420,\n\t0x360e0: 0x6cfd3620, 0x360e1: 0x6cfd3820, 0x360e2: 0x6d2bde20, 0x360e3: 0x6d2be020,\n\t0x360e4: 0x6d2be220, 0x360e5: 0x6d2be420, 0x360e6: 0x6d2be620, 0x360e7: 0x6d590620,\n\t0x360e8: 0x6d590820, 0x360e9: 0x6d590a20, 0x360ea: 0x6d590c20, 0x360eb: 0x6d590e20,\n\t0x360ec: 0x6d591020, 0x360ed: 0x6d591220, 0x360ee: 0x6d842a20, 0x360ef: 0x6d842c20,\n\t0x360f0: 0x6d842e20, 0x360f1: 0x6d843020, 0x360f2: 0x6da91c20, 0x360f3: 0x6da91e20,\n\t0x360f4: 0x6da92020, 0x360f5: 0x6da92220, 0x360f6: 0x6da92420, 0x360f7: 0x6da92620,\n\t0x360f8: 0x6da92820, 0x360f9: 0x6dca3a20, 0x360fa: 0x6de5d420, 0x360fb: 0x6dca3c20,\n\t0x360fc: 0x6da92a20, 0x360fd: 0x6dca3e20, 0x360fe: 0x6dca4020, 0x360ff: 0x6de5d620,\n\t// Block 0xd84, offset 0x36100\n\t0x36100: 0x6de5d820, 0x36101: 0x6de9a820, 0x36102: 0x6dfcca20, 0x36103: 0x6dfccc20,\n\t0x36104: 0x6dfcce20, 0x36105: 0x6dfcd020, 0x36106: 0x6dfcd220, 0x36107: 0x6e0fb420,\n\t0x36108: 0x6e29fe20, 0x36109: 0x6e2a0020, 0x3610a: 0x6e2a0220, 0x3610b: 0x6e32ce20,\n\t0x3610c: 0x6e390a20, 0x3610d: 0x6e390c20, 0x3610e: 0x6c23da20, 0x3610f: 0x6c23dc20,\n\t0x36110: 0x6c3a3c20, 0x36111: 0x6c3a3e20, 0x36112: 0x6c561620, 0x36113: 0x6c78d820,\n\t0x36114: 0x6c78da20, 0x36115: 0x6ca1dc20, 0x36116: 0x6ccf2220, 0x36117: 0x6ccf2420,\n\t0x36118: 0x6cfd4220, 0x36119: 0x6d2be820, 0x3611a: 0x6d2bea20, 0x3611b: 0x6d843220,\n\t0x3611c: 0x6c09d220, 0x3611d: 0x6c3a4220, 0x3611e: 0x6c561a20, 0x3611f: 0x6c561c20,\n\t0x36120: 0x6c78de20, 0x36121: 0x6c78e020, 0x36122: 0x6ca1e220, 0x36123: 0x6ccf2620,\n\t0x36124: 0x6cfd4420, 0x36125: 0x6cfd4620, 0x36126: 0x6d591820, 0x36127: 0x6d591a20,\n\t0x36128: 0x6d591c20, 0x36129: 0x6d843420, 0x3612a: 0x6c04e620, 0x3612b: 0x6c09d420,\n\t0x3612c: 0x6c09d620, 0x3612d: 0x6c137c20, 0x3612e: 0x6c23de20, 0x3612f: 0x6c3a4820,\n\t0x36130: 0x6c3a4a20, 0x36131: 0x6c3a4c20, 0x36132: 0x6c562220, 0x36133: 0x6c562420,\n\t0x36134: 0x6c562620, 0x36135: 0x6c562820, 0x36136: 0x6c78e420, 0x36137: 0x6c78e620,\n\t0x36138: 0x6c78e820, 0x36139: 0x6c78ea20, 0x3613a: 0x6c78ec20, 0x3613b: 0x6ca1e420,\n\t0x3613c: 0x6ca1e620, 0x3613d: 0x6ca1e820, 0x3613e: 0x6ca1ea20, 0x3613f: 0x6ca1ec20,\n\t// Block 0xd85, offset 0x36140\n\t0x36140: 0x6ca1ee20, 0x36141: 0x6ca1f020, 0x36142: 0x6ca1f220, 0x36143: 0x6ca1f420,\n\t0x36144: 0x6ccf2a20, 0x36145: 0x6ccf2c20, 0x36146: 0x6ccf2e20, 0x36147: 0x6ccf3020,\n\t0x36148: 0x6ccf3220, 0x36149: 0x6ccf3420, 0x3614a: 0x6ccf3620, 0x3614b: 0x6ccf3820,\n\t0x3614c: 0x6cfd4a20, 0x3614d: 0x6cfd4c20, 0x3614e: 0x6cfd4e20, 0x3614f: 0x6d2bf220,\n\t0x36150: 0x6d2bf420, 0x36151: 0x6d2bf620, 0x36152: 0x6d2bf820, 0x36153: 0x6d592020,\n\t0x36154: 0x6d592220, 0x36155: 0x6d592420, 0x36156: 0x6d843620, 0x36157: 0x6d843820,\n\t0x36158: 0x6d843a20, 0x36159: 0x6d843c20, 0x3615a: 0x6d843e20, 0x3615b: 0x6d844020,\n\t0x3615c: 0x6da93420, 0x3615d: 0x6da93620, 0x3615e: 0x6da93820, 0x3615f: 0x6da93a20,\n\t0x36160: 0x6de5de20, 0x36161: 0x6de5e020, 0x36162: 0x6dfcd420, 0x36163: 0x6e1e9820,\n\t0x36164: 0x6e2a0420, 0x36165: 0x6e407620, 0x36166: 0x6e42bc20, 0x36167: 0x6e42be20,\n\t0x36168: 0x6c09d820, 0x36169: 0x6c23e020, 0x3616a: 0x6c23e220, 0x3616b: 0x6c23e420,\n\t0x3616c: 0x6c3a5420, 0x3616d: 0x6c3a5620, 0x3616e: 0x6c3a5820, 0x3616f: 0x6c3a5a20,\n\t0x36170: 0x6c3a5c20, 0x36171: 0x6c562e20, 0x36172: 0x6c563020, 0x36173: 0x6c563220,\n\t0x36174: 0x6c563420, 0x36175: 0x6c563620, 0x36176: 0x6c563820, 0x36177: 0x6c563a20,\n\t0x36178: 0x6c563c20, 0x36179: 0x6c563e20, 0x3617a: 0x6c78f420, 0x3617b: 0x6c78f620,\n\t0x3617c: 0x6c78f820, 0x3617d: 0x6c78fa20, 0x3617e: 0x6c78fc20, 0x3617f: 0x6c78fe20,\n\t// Block 0xd86, offset 0x36180\n\t0x36180: 0x6ca1f820, 0x36181: 0x6ca1fa20, 0x36182: 0x6ca1fc20, 0x36183: 0x6ca1fe20,\n\t0x36184: 0x6ca20020, 0x36185: 0x6ca20220, 0x36186: 0x6ca20420, 0x36187: 0x6ccf4220,\n\t0x36188: 0x6ccf4420, 0x36189: 0x6ccf4620, 0x3618a: 0x6ccf4820, 0x3618b: 0x6ccf4a20,\n\t0x3618c: 0x6ccf4c20, 0x3618d: 0x6ccf4e20, 0x3618e: 0x6ccf5020, 0x3618f: 0x6ccf5220,\n\t0x36190: 0x6ccf5420, 0x36191: 0x6ccf5620, 0x36192: 0x6ccf5820, 0x36193: 0x6ccf5a20,\n\t0x36194: 0x6ccf5c20, 0x36195: 0x6ccf5e20, 0x36196: 0x6ccf6020, 0x36197: 0x6ccf6220,\n\t0x36198: 0x6cfd5a20, 0x36199: 0x6cfd5c20, 0x3619a: 0x6cfd5e20, 0x3619b: 0x6cfd6020,\n\t0x3619c: 0x6cfd6220, 0x3619d: 0x6cfd6420, 0x3619e: 0x6cfd6620, 0x3619f: 0x6cfd6820,\n\t0x361a0: 0x6cfd6a20, 0x361a1: 0x6cfd6c20, 0x361a2: 0x6d2c0020, 0x361a3: 0x6d2c0220,\n\t0x361a4: 0x6d2c0420, 0x361a5: 0x6d2c0620, 0x361a6: 0x6d2c0820, 0x361a7: 0x6d2c0a20,\n\t0x361a8: 0x6d592e20, 0x361a9: 0x6d593020, 0x361aa: 0x6d593220, 0x361ab: 0x6d593420,\n\t0x361ac: 0x6d593620, 0x361ad: 0x6d593820, 0x361ae: 0x6d593a20, 0x361af: 0x6d593c20,\n\t0x361b0: 0x6d593e20, 0x361b1: 0x6d594020, 0x361b2: 0x6d594220, 0x361b3: 0x6d844220,\n\t0x361b4: 0x6d844420, 0x361b5: 0x6d844620, 0x361b6: 0x6d844820, 0x361b7: 0x6d844a20,\n\t0x361b8: 0x6d844c20, 0x361b9: 0x6d844e20, 0x361ba: 0x6da93e20, 0x361bb: 0x6da94020,\n\t0x361bc: 0x6da94220, 0x361bd: 0x6da94420, 0x361be: 0x6da94620, 0x361bf: 0x6dca4620,\n\t// Block 0xd87, offset 0x361c0\n\t0x361c0: 0x6dca4820, 0x361c1: 0x6dca4a20, 0x361c2: 0x6dca4c20, 0x361c3: 0x6dfcd620,\n\t0x361c4: 0x6e0fb820, 0x361c5: 0x6c23e620, 0x361c6: 0x6c3a5e20, 0x361c7: 0x6c564020,\n\t0x361c8: 0x6c790420, 0x361c9: 0x6c790620, 0x361ca: 0x6ca20a20, 0x361cb: 0x6ca20c20,\n\t0x361cc: 0x6ccf6820, 0x361cd: 0x6ccf6a20, 0x361ce: 0x6ccf6c20, 0x361cf: 0x6ccf6e20,\n\t0x361d0: 0x6cfd6e20, 0x361d1: 0x6d2c0c20, 0x361d2: 0x6d594420, 0x361d3: 0x6dca4e20,\n\t0x361d4: 0x6c09da20, 0x361d5: 0x6c138620, 0x361d6: 0x6c138820, 0x361d7: 0x6c138a20,\n\t0x361d8: 0x6c23f620, 0x361d9: 0x6c23f820, 0x361da: 0x6c23fa20, 0x361db: 0x6c23fc20,\n\t0x361dc: 0x6c3a7c20, 0x361dd: 0x6c3a7e20, 0x361de: 0x6c3a8020, 0x361df: 0x6c3a8220,\n\t0x361e0: 0x6c3a8420, 0x361e1: 0x6c3a8620, 0x361e2: 0x6c3a8820, 0x361e3: 0x6c3a8a20,\n\t0x361e4: 0x6c3a8c20, 0x361e5: 0x6c3a8e20, 0x361e6: 0x6c3a9020, 0x361e7: 0x6c3a9220,\n\t0x361e8: 0x6c3a9420, 0x361e9: 0x6c3a9620, 0x361ea: 0x6c3a9820, 0x361eb: 0x6c3a9a20,\n\t0x361ec: 0x6c3a9c20, 0x361ed: 0x6c3a9e20, 0x361ee: 0x6c3aa020, 0x361ef: 0x6c3aa220,\n\t0x361f0: 0x6c3aa420, 0x361f1: 0x6c3aa620, 0x361f2: 0x6c3aa820, 0x361f3: 0x6c3aaa20,\n\t0x361f4: 0x6c3aac20, 0x361f5: 0x6c3aae20, 0x361f6: 0x6c3ab020, 0x361f7: 0x6c3ab220,\n\t0x361f8: 0x6c565e20, 0x361f9: 0x6c566020, 0x361fa: 0x6c566220, 0x361fb: 0x6c566420,\n\t0x361fc: 0x6c566620, 0x361fd: 0x6c566820, 0x361fe: 0x6c566a20, 0x361ff: 0x6c566c20,\n\t// Block 0xd88, offset 0x36200\n\t0x36200: 0x6c566e20, 0x36201: 0x6c567020, 0x36202: 0x6c567220, 0x36203: 0x6c567420,\n\t0x36204: 0x6c567620, 0x36205: 0x6c567820, 0x36206: 0x6c567a20, 0x36207: 0x6c567c20,\n\t0x36208: 0x6c567e20, 0x36209: 0x6c568020, 0x3620a: 0x6c568220, 0x3620b: 0x6c568420,\n\t0x3620c: 0x6c568620, 0x3620d: 0x6c568820, 0x3620e: 0x6c568a20, 0x3620f: 0x6c568c20,\n\t0x36210: 0x6c568e20, 0x36211: 0x6c791a20, 0x36212: 0x6c791c20, 0x36213: 0x6c791e20,\n\t0x36214: 0x6c792020, 0x36215: 0x6c792220, 0x36216: 0x6c792420, 0x36217: 0x6c792620,\n\t0x36218: 0x6c792820, 0x36219: 0x6c792a20, 0x3621a: 0x6c792c20, 0x3621b: 0x6ca22a20,\n\t0x3621c: 0x6ca22c20, 0x3621d: 0x6ca22e20, 0x3621e: 0x6ca23020, 0x3621f: 0x6ca23220,\n\t0x36220: 0x6ca23420, 0x36221: 0x6ca23620, 0x36222: 0x6ca23820, 0x36223: 0x6ca23a20,\n\t0x36224: 0x6ca23c20, 0x36225: 0x6ca23e20, 0x36226: 0x6ca24020, 0x36227: 0x6ca24220,\n\t0x36228: 0x6ca24420, 0x36229: 0x6ca24620, 0x3622a: 0x6ca24820, 0x3622b: 0x6ca24a20,\n\t0x3622c: 0x6ca24c20, 0x3622d: 0x6ca24e20, 0x3622e: 0x6ca25020, 0x3622f: 0x6ccf8e20,\n\t0x36230: 0x6ccf9020, 0x36231: 0x6ccf9220, 0x36232: 0x6ccf9420, 0x36233: 0x6ccf9620,\n\t0x36234: 0x6ccf9820, 0x36235: 0x6ccf9a20, 0x36236: 0x6ccf9c20, 0x36237: 0x6ccf9e20,\n\t0x36238: 0x6ccfa020, 0x36239: 0x6ccfa220, 0x3623a: 0x6ccfa420, 0x3623b: 0x6ccfa620,\n\t0x3623c: 0x6ccfa820, 0x3623d: 0x6ccfaa20, 0x3623e: 0x6ccfac20, 0x3623f: 0x6ccfae20,\n\t// Block 0xd89, offset 0x36240\n\t0x36240: 0x6ccfb020, 0x36241: 0x6ccfb220, 0x36242: 0x6ccfb420, 0x36243: 0x6ccfb620,\n\t0x36244: 0x6ccfb820, 0x36245: 0x6ccfba20, 0x36246: 0x6ccfbc20, 0x36247: 0x6ccfbe20,\n\t0x36248: 0x6ccfc020, 0x36249: 0x6ccfc220, 0x3624a: 0x6ccfc420, 0x3624b: 0x6ccfc620,\n\t0x3624c: 0x6ccfc820, 0x3624d: 0x6cfd8420, 0x3624e: 0x6cfd8620, 0x3624f: 0x6cfd8820,\n\t0x36250: 0x6cfd8a20, 0x36251: 0x6cfd8c20, 0x36252: 0x6cfd8e20, 0x36253: 0x6cfd9020,\n\t0x36254: 0x6cfd9220, 0x36255: 0x6cfd9420, 0x36256: 0x6cfd9620, 0x36257: 0x6cfd9820,\n\t0x36258: 0x6cfd9a20, 0x36259: 0x6cfd9c20, 0x3625a: 0x6cfd9e20, 0x3625b: 0x6cfda020,\n\t0x3625c: 0x6cf91a20, 0x3625d: 0x6cfda220, 0x3625e: 0x6cfda420, 0x3625f: 0x6cfda620,\n\t0x36260: 0x6cfda820, 0x36261: 0x6cfdaa20, 0x36262: 0x6cfdac20, 0x36263: 0x6cfdae20,\n\t0x36264: 0x6cfdb020, 0x36265: 0x6cfdb220, 0x36266: 0x6cfdb420, 0x36267: 0x6cfdb620,\n\t0x36268: 0x6cfdb820, 0x36269: 0x6d2c2220, 0x3626a: 0x6d2c2420, 0x3626b: 0x6d2c2620,\n\t0x3626c: 0x6d2c2820, 0x3626d: 0x6d2c2a20, 0x3626e: 0x6d2c2c20, 0x3626f: 0x6d2c2e20,\n\t0x36270: 0x6d2c3020, 0x36271: 0x6d2c3220, 0x36272: 0x6d2c3420, 0x36273: 0x6d2c3620,\n\t0x36274: 0x6d2c3820, 0x36275: 0x6d2c3a20, 0x36276: 0x6d2c3c20, 0x36277: 0x6d2c3e20,\n\t0x36278: 0x6d2c4020, 0x36279: 0x6d2c4220, 0x3627a: 0x6d2c4420, 0x3627b: 0x6d2c4620,\n\t0x3627c: 0x6d2c4820, 0x3627d: 0x6d2c4a20, 0x3627e: 0x6d2c4c20, 0x3627f: 0x6cfdba20,\n\t// Block 0xd8a, offset 0x36280\n\t0x36280: 0x6d2c4e20, 0x36281: 0x6d2c5020, 0x36282: 0x6d2c5220, 0x36283: 0x6d2c5420,\n\t0x36284: 0x6d2c5620, 0x36285: 0x6d2c5820, 0x36286: 0x6d2c5a20, 0x36287: 0x6d2c5c20,\n\t0x36288: 0x6d2c5e20, 0x36289: 0x6d2c6020, 0x3628a: 0x6d595820, 0x3628b: 0x6d595a20,\n\t0x3628c: 0x6d595c20, 0x3628d: 0x6d595e20, 0x3628e: 0x6d596020, 0x3628f: 0x6d596220,\n\t0x36290: 0x6d596420, 0x36291: 0x6d596620, 0x36292: 0x6d596820, 0x36293: 0x6d596a20,\n\t0x36294: 0x6d596c20, 0x36295: 0x6d596e20, 0x36296: 0x6d597020, 0x36297: 0x6d55d820,\n\t0x36298: 0x6d597220, 0x36299: 0x6d597420, 0x3629a: 0x6d597620, 0x3629b: 0x6d597820,\n\t0x3629c: 0x6d597a20, 0x3629d: 0x6d597c20, 0x3629e: 0x6d597e20, 0x3629f: 0x6d598020,\n\t0x362a0: 0x6d598220, 0x362a1: 0x6d846020, 0x362a2: 0x6d846220, 0x362a3: 0x6d846420,\n\t0x362a4: 0x6d846620, 0x362a5: 0x6d846820, 0x362a6: 0x6d846a20, 0x362a7: 0x6d846c20,\n\t0x362a8: 0x6d846e20, 0x362a9: 0x6d847020, 0x362aa: 0x6d847220, 0x362ab: 0x6d847420,\n\t0x362ac: 0x6d847620, 0x362ad: 0x6d847820, 0x362ae: 0x6d847a20, 0x362af: 0x6da95020,\n\t0x362b0: 0x6da95220, 0x362b1: 0x6da95420, 0x362b2: 0x6da95620, 0x362b3: 0x6da95820,\n\t0x362b4: 0x6da95a20, 0x362b5: 0x6da95c20, 0x362b6: 0x6da95e20, 0x362b7: 0x6da96020,\n\t0x362b8: 0x6da96220, 0x362b9: 0x6dca5420, 0x362ba: 0x6dca5620, 0x362bb: 0x6de5f220,\n\t0x362bc: 0x6de5f420, 0x362bd: 0x6de5f620, 0x362be: 0x6de5f820, 0x362bf: 0x6de5fa20,\n\t// Block 0xd8b, offset 0x362c0\n\t0x362c0: 0x6de5fc20, 0x362c1: 0x6de5fe20, 0x362c2: 0x6dfcdc20, 0x362c3: 0x6dfcde20,\n\t0x362c4: 0x6dfce020, 0x362c5: 0x6dfce220, 0x362c6: 0x6dfce420, 0x362c7: 0x6e0fbc20,\n\t0x362c8: 0x6e0fbe20, 0x362c9: 0x6e0fc020, 0x362ca: 0x6e0fc220, 0x362cb: 0x6e0fc420,\n\t0x362cc: 0x6e1e9e20, 0x362cd: 0x6e1ea020, 0x362ce: 0x6e1ea220, 0x362cf: 0x6e1ea420,\n\t0x362d0: 0x6e1ea620, 0x362d1: 0x6e2a0620, 0x362d2: 0x6e2a0820, 0x362d3: 0x6e2a0a20,\n\t0x362d4: 0x6e32d020, 0x362d5: 0x6e32d220, 0x362d6: 0x6e391020, 0x362d7: 0x6e391220,\n\t0x362d8: 0x6e391420, 0x362d9: 0x6e42c020, 0x362da: 0x6c04f820, 0x362db: 0x6c09e220,\n\t0x362dc: 0x6c09e420, 0x362dd: 0x6c09e620, 0x362de: 0x6c09e820, 0x362df: 0x6c09ea20,\n\t0x362e0: 0x6c09ec20, 0x362e1: 0x6c139a20, 0x362e2: 0x6c139c20, 0x362e3: 0x6c139e20,\n\t0x362e4: 0x6c13a020, 0x362e5: 0x6c13a220, 0x362e6: 0x6c13a420, 0x362e7: 0x6c13a620,\n\t0x362e8: 0x6c13a820, 0x362e9: 0x6c13aa20, 0x362ea: 0x6c13ac20, 0x362eb: 0x6c13ae20,\n\t0x362ec: 0x6c13b020, 0x362ed: 0x6c13b220, 0x362ee: 0x6c13b420, 0x362ef: 0x6c242820,\n\t0x362f0: 0x6c242a20, 0x362f1: 0x6c242c20, 0x362f2: 0x6c242e20, 0x362f3: 0x6c243020,\n\t0x362f4: 0x6c243220, 0x362f5: 0x6c243420, 0x362f6: 0x6c243620, 0x362f7: 0x6c243820,\n\t0x362f8: 0x6c243a20, 0x362f9: 0x6c243c20, 0x362fa: 0x6c243e20, 0x362fb: 0x6c244020,\n\t0x362fc: 0x6c244220, 0x362fd: 0x6c244420, 0x362fe: 0x6c244620, 0x362ff: 0x6c244820,\n\t// Block 0xd8c, offset 0x36300\n\t0x36300: 0x6c244a20, 0x36301: 0x6c244c20, 0x36302: 0x6c244e20, 0x36303: 0x6c245020,\n\t0x36304: 0x6c245220, 0x36305: 0x6c245420, 0x36306: 0x6c245620, 0x36307: 0x6c245820,\n\t0x36308: 0x6c245a20, 0x36309: 0x6c245c20, 0x3630a: 0x6c245e20, 0x3630b: 0x6c246020,\n\t0x3630c: 0x6c246220, 0x3630d: 0x6c246420, 0x3630e: 0x6c246620, 0x3630f: 0x6c3af620,\n\t0x36310: 0x6c3af820, 0x36311: 0x6c3afa20, 0x36312: 0x6c3afc20, 0x36313: 0x6c3afe20,\n\t0x36314: 0x6c3b0020, 0x36315: 0x6c3b0220, 0x36316: 0x6c3b0420, 0x36317: 0x6c3b0620,\n\t0x36318: 0x6c3b0820, 0x36319: 0x6c3b0a20, 0x3631a: 0x6c3b0c20, 0x3631b: 0x6c3b0e20,\n\t0x3631c: 0x6c3b1020, 0x3631d: 0x6c3b1220, 0x3631e: 0x6c3b1420, 0x3631f: 0x6c3b1620,\n\t0x36320: 0x6c3b1820, 0x36321: 0x6c3b1a20, 0x36322: 0x6c3b1c20, 0x36323: 0x6c3b1e20,\n\t0x36324: 0x6c3b2020, 0x36325: 0x6c3b2220, 0x36326: 0x6c3b2420, 0x36327: 0x6c3b2620,\n\t0x36328: 0x6c3b2820, 0x36329: 0x6c3b2a20, 0x3632a: 0x6c3b2c20, 0x3632b: 0x6c3b2e20,\n\t0x3632c: 0x6c3b3020, 0x3632d: 0x6c3b3220, 0x3632e: 0x6c246820, 0x3632f: 0x6c56cc20,\n\t0x36330: 0x6c56ce20, 0x36331: 0x6c56d020, 0x36332: 0x6c56d220, 0x36333: 0x6c56d420,\n\t0x36334: 0x6c56d620, 0x36335: 0x6c56d820, 0x36336: 0x6c56da20, 0x36337: 0x6c56dc20,\n\t0x36338: 0x6c56de20, 0x36339: 0x6c56e020, 0x3633a: 0x6c56e220, 0x3633b: 0x6c56e420,\n\t0x3633c: 0x6c56e620, 0x3633d: 0x6c56e820, 0x3633e: 0x6c56ea20, 0x3633f: 0x6c56ec20,\n\t// Block 0xd8d, offset 0x36340\n\t0x36340: 0x6c56ee20, 0x36341: 0x6c56f020, 0x36342: 0x6c56f220, 0x36343: 0x6c56f420,\n\t0x36344: 0x6c56f620, 0x36345: 0x6c56f820, 0x36346: 0x6c56fa20, 0x36347: 0x6c56fc20,\n\t0x36348: 0x6c56fe20, 0x36349: 0x6c570020, 0x3634a: 0x6c570220, 0x3634b: 0x6c570420,\n\t0x3634c: 0x6c570620, 0x3634d: 0x6c570820, 0x3634e: 0x6c570a20, 0x3634f: 0x6c570c20,\n\t0x36350: 0x6c570e20, 0x36351: 0x6c571020, 0x36352: 0x6c571220, 0x36353: 0x6c571420,\n\t0x36354: 0x6c571620, 0x36355: 0x6c571820, 0x36356: 0x6c571a20, 0x36357: 0x6c571c20,\n\t0x36358: 0x6c571e20, 0x36359: 0x6c796420, 0x3635a: 0x6c796620, 0x3635b: 0x6c796820,\n\t0x3635c: 0x6c796a20, 0x3635d: 0x6c796c20, 0x3635e: 0x6c796e20, 0x3635f: 0x6c797020,\n\t0x36360: 0x6c797220, 0x36361: 0x6c797420, 0x36362: 0x6c797620, 0x36363: 0x6c572020,\n\t0x36364: 0x6c797820, 0x36365: 0x6c797a20, 0x36366: 0x6c797c20, 0x36367: 0x6c797e20,\n\t0x36368: 0x6c798020, 0x36369: 0x6c798220, 0x3636a: 0x6c798420, 0x3636b: 0x6c798620,\n\t0x3636c: 0x6c798820, 0x3636d: 0x6c798a20, 0x3636e: 0x6c798c20, 0x3636f: 0x6c798e20,\n\t0x36370: 0x6c799020, 0x36371: 0x6c799220, 0x36372: 0x6c799420, 0x36373: 0x6c799620,\n\t0x36374: 0x6c799820, 0x36375: 0x6c799a20, 0x36376: 0x6c799c20, 0x36377: 0x6c799e20,\n\t0x36378: 0x6c79a020, 0x36379: 0x6c79a220, 0x3637a: 0x6c79a420, 0x3637b: 0x6c79a620,\n\t0x3637c: 0x6c79a820, 0x3637d: 0x6c79aa20, 0x3637e: 0x6c79ac20, 0x3637f: 0x6c79ae20,\n\t// Block 0xd8e, offset 0x36380\n\t0x36380: 0x6c79b020, 0x36381: 0x6c79b220, 0x36382: 0x6c79b420, 0x36383: 0x6ca29a20,\n\t0x36384: 0x6ca29c20, 0x36385: 0x6ca29e20, 0x36386: 0x6ca2a020, 0x36387: 0x6ca2a220,\n\t0x36388: 0x6ca2a420, 0x36389: 0x6ca2a620, 0x3638a: 0x6ca2a820, 0x3638b: 0x6ca2aa20,\n\t0x3638c: 0x6ca2ac20, 0x3638d: 0x6ca2ae20, 0x3638e: 0x6ca2b020, 0x3638f: 0x6ca2b220,\n\t0x36390: 0x6ca2b420, 0x36391: 0x6ca2b620, 0x36392: 0x6ca2b820, 0x36393: 0x6ca2ba20,\n\t0x36394: 0x6ca2bc20, 0x36395: 0x6ca2be20, 0x36396: 0x6ca2c020, 0x36397: 0x6ca2c220,\n\t0x36398: 0x6ca2c420, 0x36399: 0x6ca2c620, 0x3639a: 0x6ca2c820, 0x3639b: 0x6ca2ca20,\n\t0x3639c: 0x6cd00c20, 0x3639d: 0x6cd00e20, 0x3639e: 0x6cd01020, 0x3639f: 0x6cd01220,\n\t0x363a0: 0x6cd01420, 0x363a1: 0x6cd01620, 0x363a2: 0x6cd01820, 0x363a3: 0x6cd01a20,\n\t0x363a4: 0x6cd01c20, 0x363a5: 0x6cd01e20, 0x363a6: 0x6cd02020, 0x363a7: 0x6cd02220,\n\t0x363a8: 0x6cd02420, 0x363a9: 0x6cd02620, 0x363aa: 0x6cd02820, 0x363ab: 0x6cd02a20,\n\t0x363ac: 0x6cd02c20, 0x363ad: 0x6cd02e20, 0x363ae: 0x6cd03020, 0x363af: 0x6cd03220,\n\t0x363b0: 0x6cd03420, 0x363b1: 0x6cd03620, 0x363b2: 0x6cd03820, 0x363b3: 0x6cd03a20,\n\t0x363b4: 0x6cd03c20, 0x363b5: 0x6cf3a620, 0x363b6: 0x6cd03e20, 0x363b7: 0x6cd04020,\n\t0x363b8: 0x6cd04220, 0x363b9: 0x6cd04420, 0x363ba: 0x6cd04620, 0x363bb: 0x6cd04820,\n\t0x363bc: 0x6cd04a20, 0x363bd: 0x6cd04c20, 0x363be: 0x6cd04e20, 0x363bf: 0x6cd05020,\n\t// Block 0xd8f, offset 0x363c0\n\t0x363c0: 0x6cd05220, 0x363c1: 0x6cd05420, 0x363c2: 0x6cd05620, 0x363c3: 0x6cd05820,\n\t0x363c4: 0x6cd05a20, 0x363c5: 0x6cd05c20, 0x363c6: 0x6cd05e20, 0x363c7: 0x6cd06020,\n\t0x363c8: 0x6cd06220, 0x363c9: 0x6cd06420, 0x363ca: 0x6cd06620, 0x363cb: 0x6cd06820,\n\t0x363cc: 0x6cd06a20, 0x363cd: 0x6cfdee20, 0x363ce: 0x6cfdf020, 0x363cf: 0x6cfdf220,\n\t0x363d0: 0x6cfdf420, 0x363d1: 0x6cfdf620, 0x363d2: 0x6cfdf820, 0x363d3: 0x6cfdfa20,\n\t0x363d4: 0x6cfdfc20, 0x363d5: 0x6cfdfe20, 0x363d6: 0x6cfe0020, 0x363d7: 0x6cfe0220,\n\t0x363d8: 0x6cfe0420, 0x363d9: 0x6cfe0620, 0x363da: 0x6cfe0820, 0x363db: 0x6cfe0a20,\n\t0x363dc: 0x6cfe0c20, 0x363dd: 0x6cfe0e20, 0x363de: 0x6cfe1020, 0x363df: 0x6cfe1220,\n\t0x363e0: 0x6cfe1420, 0x363e1: 0x6cfe1620, 0x363e2: 0x6cfe1820, 0x363e3: 0x6cfe1a20,\n\t0x363e4: 0x6cfe1c20, 0x363e5: 0x6cfe1e20, 0x363e6: 0x6cfe2020, 0x363e7: 0x6cfe2220,\n\t0x363e8: 0x6cfe2420, 0x363e9: 0x6cfe2620, 0x363ea: 0x6cfe2820, 0x363eb: 0x6cfe2a20,\n\t0x363ec: 0x6cfe2c20, 0x363ed: 0x6cfe2e20, 0x363ee: 0x6cfe3020, 0x363ef: 0x6cfe3220,\n\t0x363f0: 0x6cfe3420, 0x363f1: 0x6cfe3620, 0x363f2: 0x6cfe3820, 0x363f3: 0x6cfe3a20,\n\t0x363f4: 0x6cfe3c20, 0x363f5: 0x6cfe3e20, 0x363f6: 0x6cfe4020, 0x363f7: 0x6cfe4220,\n\t0x363f8: 0x6cfe4420, 0x363f9: 0x6d2c8a20, 0x363fa: 0x6d2c8c20, 0x363fb: 0x6d2c8e20,\n\t0x363fc: 0x6d2c9020, 0x363fd: 0x6d2c9220, 0x363fe: 0x6d2c9420, 0x363ff: 0x6d2c9620,\n\t// Block 0xd90, offset 0x36400\n\t0x36400: 0x6d2c9820, 0x36401: 0x6d2c9a20, 0x36402: 0x6d2c9c20, 0x36403: 0x6d2c9e20,\n\t0x36404: 0x6d2ca020, 0x36405: 0x6d2ca220, 0x36406: 0x6d2ca420, 0x36407: 0x6d2ca620,\n\t0x36408: 0x6d2ca820, 0x36409: 0x6d2caa20, 0x3640a: 0x6d2cac20, 0x3640b: 0x6d2cae20,\n\t0x3640c: 0x6d2cb020, 0x3640d: 0x6d2cb220, 0x3640e: 0x6d2cb420, 0x3640f: 0x6d2cb620,\n\t0x36410: 0x6d2cb820, 0x36411: 0x6d2cba20, 0x36412: 0x6d2cbc20, 0x36413: 0x6d2cbe20,\n\t0x36414: 0x6d2cc020, 0x36415: 0x6d2cc220, 0x36416: 0x6d2cc420, 0x36417: 0x6d2cc620,\n\t0x36418: 0x6d2cc820, 0x36419: 0x6d2cca20, 0x3641a: 0x6d2ccc20, 0x3641b: 0x6d2cce20,\n\t0x3641c: 0x6d2cd020, 0x3641d: 0x6d2cd220, 0x3641e: 0x6d2cd420, 0x3641f: 0x6d2cd620,\n\t0x36420: 0x6d2cd820, 0x36421: 0x6d2cda20, 0x36422: 0x6d2cdc20, 0x36423: 0x6d59b220,\n\t0x36424: 0x6d59b420, 0x36425: 0x6d59b620, 0x36426: 0x6d59b820, 0x36427: 0x6d59ba20,\n\t0x36428: 0x6d59bc20, 0x36429: 0x6d59be20, 0x3642a: 0x6d59c020, 0x3642b: 0x6d59c220,\n\t0x3642c: 0x6d59c420, 0x3642d: 0x6d59c620, 0x3642e: 0x6d59c820, 0x3642f: 0x6d59ca20,\n\t0x36430: 0x6d59cc20, 0x36431: 0x6d59ce20, 0x36432: 0x6d59d020, 0x36433: 0x6d59d220,\n\t0x36434: 0x6d59d420, 0x36435: 0x6d59d620, 0x36436: 0x6d59d820, 0x36437: 0x6d59da20,\n\t0x36438: 0x6d59dc20, 0x36439: 0x6d59de20, 0x3643a: 0x6d59e020, 0x3643b: 0x6d59e220,\n\t0x3643c: 0x6d59e420, 0x3643d: 0x6d59e620, 0x3643e: 0x6d59e820, 0x3643f: 0x6d59ea20,\n\t// Block 0xd91, offset 0x36440\n\t0x36440: 0x6d59ec20, 0x36441: 0x6d59ee20, 0x36442: 0x6d59f020, 0x36443: 0x6d59f220,\n\t0x36444: 0x6d59f420, 0x36445: 0x6d59f620, 0x36446: 0x6d59f820, 0x36447: 0x6d59fa20,\n\t0x36448: 0x6d59fc20, 0x36449: 0x6d59fe20, 0x3644a: 0x6d5a0020, 0x3644b: 0x6d5a0220,\n\t0x3644c: 0x6d849820, 0x3644d: 0x6d849a20, 0x3644e: 0x6d849c20, 0x3644f: 0x6d849e20,\n\t0x36450: 0x6d84a020, 0x36451: 0x6d84a220, 0x36452: 0x6d84a420, 0x36453: 0x6d84a620,\n\t0x36454: 0x6d84a820, 0x36455: 0x6d84aa20, 0x36456: 0x6d84ac20, 0x36457: 0x6d84ae20,\n\t0x36458: 0x6d84b020, 0x36459: 0x6d84b220, 0x3645a: 0x6d84b420, 0x3645b: 0x6d84b620,\n\t0x3645c: 0x6d84b820, 0x3645d: 0x6d84ba20, 0x3645e: 0x6d84bc20, 0x3645f: 0x6d84be20,\n\t0x36460: 0x6d84c020, 0x36461: 0x6d84c220, 0x36462: 0x6d84c420, 0x36463: 0x6d84c620,\n\t0x36464: 0x6d84c820, 0x36465: 0x6d84ca20, 0x36466: 0x6da97820, 0x36467: 0x6da97a20,\n\t0x36468: 0x6da97c20, 0x36469: 0x6da97e20, 0x3646a: 0x6da98020, 0x3646b: 0x6da98220,\n\t0x3646c: 0x6da98420, 0x3646d: 0x6da98620, 0x3646e: 0x6da98820, 0x3646f: 0x6da98a20,\n\t0x36470: 0x6da98c20, 0x36471: 0x6da98e20, 0x36472: 0x6da99020, 0x36473: 0x6da99220,\n\t0x36474: 0x6dca6020, 0x36475: 0x6dca6220, 0x36476: 0x6dca6420, 0x36477: 0x6dca6620,\n\t0x36478: 0x6dca6820, 0x36479: 0x6dca6a20, 0x3647a: 0x6dca6c20, 0x3647b: 0x6dca6e20,\n\t0x3647c: 0x6dca7020, 0x3647d: 0x6dca7220, 0x3647e: 0x6dca7420, 0x3647f: 0x6dca7620,\n\t// Block 0xd92, offset 0x36480\n\t0x36480: 0x6dca7820, 0x36481: 0x6dca7a20, 0x36482: 0x6dca7c20, 0x36483: 0x6dca7e20,\n\t0x36484: 0x6dca8020, 0x36485: 0x6de60a20, 0x36486: 0x6de60c20, 0x36487: 0x6de60e20,\n\t0x36488: 0x6de61020, 0x36489: 0x6de61220, 0x3648a: 0x6de61420, 0x3648b: 0x6de61620,\n\t0x3648c: 0x6de61820, 0x3648d: 0x6dfcf420, 0x3648e: 0x6dfcf620, 0x3648f: 0x6dfcf820,\n\t0x36490: 0x6dfcfa20, 0x36491: 0x6e0fca20, 0x36492: 0x6e0fcc20, 0x36493: 0x6e0fce20,\n\t0x36494: 0x6e0fd020, 0x36495: 0x6e0fd220, 0x36496: 0x6e0fd420, 0x36497: 0x6e1eac20,\n\t0x36498: 0x6e1eae20, 0x36499: 0x6e1eb020, 0x3649a: 0x6e1eb220, 0x3649b: 0x6e2a1220,\n\t0x3649c: 0x6e2a1420, 0x3649d: 0x6e2a1620, 0x3649e: 0x6e2a1820, 0x3649f: 0x6e32d620,\n\t0x364a0: 0x6e32d820, 0x364a1: 0x6e32da20, 0x364a2: 0x6e32dc20, 0x364a3: 0x6e391620,\n\t0x364a4: 0x6e407a20, 0x364a5: 0x6c09f020, 0x364a6: 0x6c572820, 0x364a7: 0x6cd07420,\n\t0x364a8: 0x6d2ce020, 0x364a9: 0x6c04fc20, 0x364aa: 0x6c13c620, 0x364ab: 0x6c13c820,\n\t0x364ac: 0x6c13ca20, 0x364ad: 0x6c248820, 0x364ae: 0x6c248a20, 0x364af: 0x6c248c20,\n\t0x364b0: 0x6c248e20, 0x364b1: 0x6c249020, 0x364b2: 0x6c249220, 0x364b3: 0x6c249420,\n\t0x364b4: 0x6c249620, 0x364b5: 0x6c249820, 0x364b6: 0x6c249a20, 0x364b7: 0x6c249c20,\n\t0x364b8: 0x6c249e20, 0x364b9: 0x6c3b7020, 0x364ba: 0x6c3b7220, 0x364bb: 0x6c3b7420,\n\t0x364bc: 0x6c3b7620, 0x364bd: 0x6c3b7820, 0x364be: 0x6c3b7a20, 0x364bf: 0x6c3b7c20,\n\t// Block 0xd93, offset 0x364c0\n\t0x364c0: 0x6c3b7e20, 0x364c1: 0x6c3b8020, 0x364c2: 0x6c3b8220, 0x364c3: 0x6c3b8420,\n\t0x364c4: 0x6c3b8620, 0x364c5: 0x6c3b8820, 0x364c6: 0x6c3b8a20, 0x364c7: 0x6c3b8c20,\n\t0x364c8: 0x6c3b8e20, 0x364c9: 0x6c3b9020, 0x364ca: 0x6c3b9220, 0x364cb: 0x6c3b9420,\n\t0x364cc: 0x6c3b9620, 0x364cd: 0x6c3b9820, 0x364ce: 0x6c3b9a20, 0x364cf: 0x6c577620,\n\t0x364d0: 0x6c577820, 0x364d1: 0x6c577a20, 0x364d2: 0x6c577c20, 0x364d3: 0x6c577e20,\n\t0x364d4: 0x6c578020, 0x364d5: 0x6c578220, 0x364d6: 0x6c578420, 0x364d7: 0x6c578620,\n\t0x364d8: 0x6c578820, 0x364d9: 0x6c578a20, 0x364da: 0x6c578c20, 0x364db: 0x6c578e20,\n\t0x364dc: 0x6c579020, 0x364dd: 0x6c579220, 0x364de: 0x6c579420, 0x364df: 0x6c579620,\n\t0x364e0: 0x6c579820, 0x364e1: 0x6c579a20, 0x364e2: 0x6c579c20, 0x364e3: 0x6c579e20,\n\t0x364e4: 0x6c57a020, 0x364e5: 0x6c57a220, 0x364e6: 0x6c57a420, 0x364e7: 0x6c57a620,\n\t0x364e8: 0x6c57a820, 0x364e9: 0x6c57aa20, 0x364ea: 0x6c57ac20, 0x364eb: 0x6c57ae20,\n\t0x364ec: 0x6c57b020, 0x364ed: 0x6c57b220, 0x364ee: 0x6c57b420, 0x364ef: 0x6c57b620,\n\t0x364f0: 0x6c57b820, 0x364f1: 0x6c57ba20, 0x364f2: 0x6c57bc20, 0x364f3: 0x6c57be20,\n\t0x364f4: 0x6c57c020, 0x364f5: 0x6c7a1c20, 0x364f6: 0x6c7a1e20, 0x364f7: 0x6c7a2020,\n\t0x364f8: 0x6c7a2220, 0x364f9: 0x6c7a2420, 0x364fa: 0x6c7a2620, 0x364fb: 0x6c7a2820,\n\t0x364fc: 0x6c7a2a20, 0x364fd: 0x6c7a2c20, 0x364fe: 0x6c7a2e20, 0x364ff: 0x6c7a3020,\n\t// Block 0xd94, offset 0x36500\n\t0x36500: 0x6c7a3220, 0x36501: 0x6c7a3420, 0x36502: 0x6c7a3620, 0x36503: 0x6c7a3820,\n\t0x36504: 0x6c7a3a20, 0x36505: 0x6c7a3c20, 0x36506: 0x6c7a3e20, 0x36507: 0x6c7a4020,\n\t0x36508: 0x6c7a4220, 0x36509: 0x6c7a4420, 0x3650a: 0x6c7a4620, 0x3650b: 0x6c7a4820,\n\t0x3650c: 0x6c7a4a20, 0x3650d: 0x6c7a4c20, 0x3650e: 0x6c7a4e20, 0x3650f: 0x6c7a5020,\n\t0x36510: 0x6c7a5220, 0x36511: 0x6c7a5420, 0x36512: 0x6c7a5620, 0x36513: 0x6c7a5820,\n\t0x36514: 0x6c7a5a20, 0x36515: 0x6c7a5c20, 0x36516: 0x6ca32620, 0x36517: 0x6ca32820,\n\t0x36518: 0x6ca32a20, 0x36519: 0x6ca32c20, 0x3651a: 0x6ca32e20, 0x3651b: 0x6ca33020,\n\t0x3651c: 0x6ca33220, 0x3651d: 0x6ca33420, 0x3651e: 0x6ca33620, 0x3651f: 0x6ca33820,\n\t0x36520: 0x6ca33a20, 0x36521: 0x6ca33c20, 0x36522: 0x6ca33e20, 0x36523: 0x6ca34020,\n\t0x36524: 0x6ca34220, 0x36525: 0x6ca34420, 0x36526: 0x6ca34620, 0x36527: 0x6ca34820,\n\t0x36528: 0x6ca34a20, 0x36529: 0x6ca34c20, 0x3652a: 0x6ca34e20, 0x3652b: 0x6ca35020,\n\t0x3652c: 0x6ca35220, 0x3652d: 0x6ca35420, 0x3652e: 0x6ca35620, 0x3652f: 0x6ca35820,\n\t0x36530: 0x6ca35a20, 0x36531: 0x6ca35c20, 0x36532: 0x6ca35e20, 0x36533: 0x6ca36020,\n\t0x36534: 0x6ca36220, 0x36535: 0x6ca36420, 0x36536: 0x6ca36620, 0x36537: 0x6ca36820,\n\t0x36538: 0x6ca36a20, 0x36539: 0x6ca36c20, 0x3653a: 0x6ca36e20, 0x3653b: 0x6cd0dc20,\n\t0x3653c: 0x6cd0de20, 0x3653d: 0x6cd0e020, 0x3653e: 0x6cd0e220, 0x3653f: 0x6cd0e420,\n\t// Block 0xd95, offset 0x36540\n\t0x36540: 0x6cd0e620, 0x36541: 0x6cd0e820, 0x36542: 0x6cd0ea20, 0x36543: 0x6cd0ec20,\n\t0x36544: 0x6cd0ee20, 0x36545: 0x6cd0f020, 0x36546: 0x6cd0f220, 0x36547: 0x6cd0f420,\n\t0x36548: 0x6cd0f620, 0x36549: 0x6cd0f820, 0x3654a: 0x6cd0fa20, 0x3654b: 0x6cd0fc20,\n\t0x3654c: 0x6cd0fe20, 0x3654d: 0x6cd10020, 0x3654e: 0x6cd10220, 0x3654f: 0x6cd10420,\n\t0x36550: 0x6cd10620, 0x36551: 0x6cd10820, 0x36552: 0x6cd10a20, 0x36553: 0x6cd10c20,\n\t0x36554: 0x6cd10e20, 0x36555: 0x6cd11020, 0x36556: 0x6cd11220, 0x36557: 0x6cd11420,\n\t0x36558: 0x6cd11620, 0x36559: 0x6cd11820, 0x3655a: 0x6cd11a20, 0x3655b: 0x6cd11c20,\n\t0x3655c: 0x6cd11e20, 0x3655d: 0x6cd12020, 0x3655e: 0x6cd12220, 0x3655f: 0x6cd12420,\n\t0x36560: 0x6cd12620, 0x36561: 0x6cd12820, 0x36562: 0x6cd12a20, 0x36563: 0x6cd12c20,\n\t0x36564: 0x6cd12e20, 0x36565: 0x6cd13020, 0x36566: 0x6cd13220, 0x36567: 0x6cd13420,\n\t0x36568: 0x6cd13620, 0x36569: 0x6cd13820, 0x3656a: 0x6cd13a20, 0x3656b: 0x6cd13c20,\n\t0x3656c: 0x6cd13e20, 0x3656d: 0x6cd14020, 0x3656e: 0x6cd14220, 0x3656f: 0x6cfeaa20,\n\t0x36570: 0x6cfeac20, 0x36571: 0x6cfeae20, 0x36572: 0x6cfeb020, 0x36573: 0x6cfeb220,\n\t0x36574: 0x6cfeb420, 0x36575: 0x6cfeb620, 0x36576: 0x6cfeb820, 0x36577: 0x6cfeba20,\n\t0x36578: 0x6cfebc20, 0x36579: 0x6cfebe20, 0x3657a: 0x6cfec020, 0x3657b: 0x6cfec220,\n\t0x3657c: 0x6cfec420, 0x3657d: 0x6cfec620, 0x3657e: 0x6cfec820, 0x3657f: 0x6cfeca20,\n\t// Block 0xd96, offset 0x36580\n\t0x36580: 0x6cfecc20, 0x36581: 0x6cfece20, 0x36582: 0x6cfed020, 0x36583: 0x6cfed220,\n\t0x36584: 0x6cfed420, 0x36585: 0x6cfed620, 0x36586: 0x6cfed820, 0x36587: 0x6cfeda20,\n\t0x36588: 0x6cfedc20, 0x36589: 0x6cfede20, 0x3658a: 0x6cfee020, 0x3658b: 0x6cfee220,\n\t0x3658c: 0x6cfee420, 0x3658d: 0x6cfee620, 0x3658e: 0x6cfee820, 0x3658f: 0x6cfeea20,\n\t0x36590: 0x6cfeec20, 0x36591: 0x6cfeee20, 0x36592: 0x6cfef020, 0x36593: 0x6cfef220,\n\t0x36594: 0x6cfef420, 0x36595: 0x6cfef620, 0x36596: 0x6cfef820, 0x36597: 0x6cfefa20,\n\t0x36598: 0x6cfefc20, 0x36599: 0x6cfefe20, 0x3659a: 0x6cff0020, 0x3659b: 0x6cff0220,\n\t0x3659c: 0x6cff0420, 0x3659d: 0x6cff0620, 0x3659e: 0x6cff0820, 0x3659f: 0x6cff0a20,\n\t0x365a0: 0x6cff0c20, 0x365a1: 0x6cff0e20, 0x365a2: 0x6cff1020, 0x365a3: 0x6cff1220,\n\t0x365a4: 0x6cff1420, 0x365a5: 0x6cff1620, 0x365a6: 0x6cff1820, 0x365a7: 0x6cff1a20,\n\t0x365a8: 0x6cff1c20, 0x365a9: 0x6cff1e20, 0x365aa: 0x6d2d1620, 0x365ab: 0x6d2d1820,\n\t0x365ac: 0x6d2d1a20, 0x365ad: 0x6d2d1c20, 0x365ae: 0x6d2d1e20, 0x365af: 0x6d2d2020,\n\t0x365b0: 0x6d2d2220, 0x365b1: 0x6d2d2420, 0x365b2: 0x6d2d2620, 0x365b3: 0x6d2d2820,\n\t0x365b4: 0x6d2d2a20, 0x365b5: 0x6d2d2c20, 0x365b6: 0x6d2d2e20, 0x365b7: 0x6d2d3020,\n\t0x365b8: 0x6d2d3220, 0x365b9: 0x6d2d3420, 0x365ba: 0x6d2d3620, 0x365bb: 0x6d2d3820,\n\t0x365bc: 0x6d2d3a20, 0x365bd: 0x6d2d3c20, 0x365be: 0x6d2d3e20, 0x365bf: 0x6d2d4020,\n\t// Block 0xd97, offset 0x365c0\n\t0x365c0: 0x6d2d4220, 0x365c1: 0x6d2d4420, 0x365c2: 0x6d2d4620, 0x365c3: 0x6d2d4820,\n\t0x365c4: 0x6d2d4a20, 0x365c5: 0x6d2d4c20, 0x365c6: 0x6d2d4e20, 0x365c7: 0x6d2d5020,\n\t0x365c8: 0x6d2d5220, 0x365c9: 0x6d2d5420, 0x365ca: 0x6d2d5620, 0x365cb: 0x6d2d5820,\n\t0x365cc: 0x6d2d5a20, 0x365cd: 0x6d2d5c20, 0x365ce: 0x6d2d5e20, 0x365cf: 0x6d2d6020,\n\t0x365d0: 0x6d2d6220, 0x365d1: 0x6d2d6420, 0x365d2: 0x6d2d6620, 0x365d3: 0x6d2d6820,\n\t0x365d4: 0x6d5a4820, 0x365d5: 0x6d5a4a20, 0x365d6: 0x6d5a4c20, 0x365d7: 0x6d5a4e20,\n\t0x365d8: 0x6d5a5020, 0x365d9: 0x6d5a5220, 0x365da: 0x6d5a5420, 0x365db: 0x6d5a5620,\n\t0x365dc: 0x6d5a5820, 0x365dd: 0x6d5a5a20, 0x365de: 0x6d5a5c20, 0x365df: 0x6d5a5e20,\n\t0x365e0: 0x6d5a6020, 0x365e1: 0x6d5a6220, 0x365e2: 0x6d5a6420, 0x365e3: 0x6d5a6620,\n\t0x365e4: 0x6d5a6820, 0x365e5: 0x6d5a6a20, 0x365e6: 0x6d5a6c20, 0x365e7: 0x6d5a6e20,\n\t0x365e8: 0x6d5a7020, 0x365e9: 0x6d5a7220, 0x365ea: 0x6d5a7420, 0x365eb: 0x6d5a7620,\n\t0x365ec: 0x6d5a7820, 0x365ed: 0x6d5a7a20, 0x365ee: 0x6d5a7c20, 0x365ef: 0x6d5a7e20,\n\t0x365f0: 0x6d5a8020, 0x365f1: 0x6d5a8220, 0x365f2: 0x6d5a8420, 0x365f3: 0x6d5a8620,\n\t0x365f4: 0x6d5a8820, 0x365f5: 0x6d5a8a20, 0x365f6: 0x6d5a8c20, 0x365f7: 0x6d5a8e20,\n\t0x365f8: 0x6d5a9020, 0x365f9: 0x6d5a9220, 0x365fa: 0x6d5a9420, 0x365fb: 0x6d5a9620,\n\t0x365fc: 0x6d5a9820, 0x365fd: 0x6d5a9a20, 0x365fe: 0x6d5a9c20, 0x365ff: 0x6d5a9e20,\n\t// Block 0xd98, offset 0x36600\n\t0x36600: 0x6d850020, 0x36601: 0x6d5aa020, 0x36602: 0x6d850220, 0x36603: 0x6d850420,\n\t0x36604: 0x6d850620, 0x36605: 0x6d850820, 0x36606: 0x6d850a20, 0x36607: 0x6d850c20,\n\t0x36608: 0x6d850e20, 0x36609: 0x6d851020, 0x3660a: 0x6d851220, 0x3660b: 0x6d851420,\n\t0x3660c: 0x6d851620, 0x3660d: 0x6d851820, 0x3660e: 0x6d851a20, 0x3660f: 0x6d851c20,\n\t0x36610: 0x6d851e20, 0x36611: 0x6d852020, 0x36612: 0x6d852220, 0x36613: 0x6d852420,\n\t0x36614: 0x6d852620, 0x36615: 0x6d852820, 0x36616: 0x6d852a20, 0x36617: 0x6d852c20,\n\t0x36618: 0x6d852e20, 0x36619: 0x6d853020, 0x3661a: 0x6d853220, 0x3661b: 0x6d853420,\n\t0x3661c: 0x6d853620, 0x3661d: 0x6d853820, 0x3661e: 0x6d853a20, 0x3661f: 0x6d853c20,\n\t0x36620: 0x6d853e20, 0x36621: 0x6d854020, 0x36622: 0x6d854220, 0x36623: 0x6d854420,\n\t0x36624: 0x6d854620, 0x36625: 0x6d854820, 0x36626: 0x6d854a20, 0x36627: 0x6d854c20,\n\t0x36628: 0x6d854e20, 0x36629: 0x6d855020, 0x3662a: 0x6d855220, 0x3662b: 0x6da9c420,\n\t0x3662c: 0x6da9c620, 0x3662d: 0x6da9c820, 0x3662e: 0x6da9ca20, 0x3662f: 0x6da9cc20,\n\t0x36630: 0x6da9ce20, 0x36631: 0x6da9d020, 0x36632: 0x6da9d220, 0x36633: 0x6da9d420,\n\t0x36634: 0x6da9d620, 0x36635: 0x6da9d820, 0x36636: 0x6da9da20, 0x36637: 0x6da9dc20,\n\t0x36638: 0x6da9de20, 0x36639: 0x6da9e020, 0x3663a: 0x6da9e220, 0x3663b: 0x6da9e420,\n\t0x3663c: 0x6da9e620, 0x3663d: 0x6da9e820, 0x3663e: 0x6da9ea20, 0x3663f: 0x6da9ec20,\n\t// Block 0xd99, offset 0x36640\n\t0x36640: 0x6da9ee20, 0x36641: 0x6da9f020, 0x36642: 0x6da9f220, 0x36643: 0x6da9f420,\n\t0x36644: 0x6da9f620, 0x36645: 0x6da9f820, 0x36646: 0x6da9fa20, 0x36647: 0x6da9fc20,\n\t0x36648: 0x6da9fe20, 0x36649: 0x6daa0020, 0x3664a: 0x6daa0220, 0x3664b: 0x6dcaa020,\n\t0x3664c: 0x6dcaa220, 0x3664d: 0x6dcaa420, 0x3664e: 0x6dcaa620, 0x3664f: 0x6dcaa820,\n\t0x36650: 0x6dcaaa20, 0x36651: 0x6dcaac20, 0x36652: 0x6dcaae20, 0x36653: 0x6dcab020,\n\t0x36654: 0x6dcab220, 0x36655: 0x6dcab420, 0x36656: 0x6dcab620, 0x36657: 0x6dcab820,\n\t0x36658: 0x6dcaba20, 0x36659: 0x6dcabc20, 0x3665a: 0x6dcabe20, 0x3665b: 0x6dcac020,\n\t0x3665c: 0x6dcac220, 0x3665d: 0x6dcac420, 0x3665e: 0x6dcac620, 0x3665f: 0x6dcac820,\n\t0x36660: 0x6dcaca20, 0x36661: 0x6dcacc20, 0x36662: 0x6dcace20, 0x36663: 0x6dcad020,\n\t0x36664: 0x6dcad220, 0x36665: 0x6dcad420, 0x36666: 0x6dcad620, 0x36667: 0x6dcad820,\n\t0x36668: 0x6dcada20, 0x36669: 0x6de63a20, 0x3666a: 0x6de63c20, 0x3666b: 0x6de63e20,\n\t0x3666c: 0x6de64020, 0x3666d: 0x6de64220, 0x3666e: 0x6de64420, 0x3666f: 0x6de64620,\n\t0x36670: 0x6de64820, 0x36671: 0x6de64a20, 0x36672: 0x6de64c20, 0x36673: 0x6de64e20,\n\t0x36674: 0x6dcadc20, 0x36675: 0x6de65020, 0x36676: 0x6de65220, 0x36677: 0x6de65420,\n\t0x36678: 0x6de65620, 0x36679: 0x6de65820, 0x3667a: 0x6de65a20, 0x3667b: 0x6de65c20,\n\t0x3667c: 0x6de65e20, 0x3667d: 0x6de66020, 0x3667e: 0x6dfd0e20, 0x3667f: 0x6dfd1020,\n\t// Block 0xd9a, offset 0x36680\n\t0x36680: 0x6dfd1220, 0x36681: 0x6dfd1420, 0x36682: 0x6dfd1620, 0x36683: 0x6dfd1820,\n\t0x36684: 0x6dfd1a20, 0x36685: 0x6dfd1c20, 0x36686: 0x6dfd1e20, 0x36687: 0x6dfd2020,\n\t0x36688: 0x6dfd2220, 0x36689: 0x6e0fdc20, 0x3668a: 0x6e0fde20, 0x3668b: 0x6e0fe020,\n\t0x3668c: 0x6e0fe220, 0x3668d: 0x6e0fe420, 0x3668e: 0x6e0fe620, 0x3668f: 0x6e0fe820,\n\t0x36690: 0x6e0fea20, 0x36691: 0x6e0fec20, 0x36692: 0x6e0fee20, 0x36693: 0x6e0ff020,\n\t0x36694: 0x6e1ebc20, 0x36695: 0x6e1ebe20, 0x36696: 0x6e1ec020, 0x36697: 0x6e1ec220,\n\t0x36698: 0x6e1ec420, 0x36699: 0x6e2a1e20, 0x3669a: 0x6e2a2020, 0x3669b: 0x6e2a2220,\n\t0x3669c: 0x6e2a2420, 0x3669d: 0x6e2a2620, 0x3669e: 0x6e2a2820, 0x3669f: 0x6e2a2a20,\n\t0x366a0: 0x6e32e020, 0x366a1: 0x6e33a820, 0x366a2: 0x6e3d6c20, 0x366a3: 0x6e391820,\n\t0x366a4: 0x6e391a20, 0x366a5: 0x6e391c20, 0x366a6: 0x6e391e20, 0x366a7: 0x6e392020,\n\t0x366a8: 0x6e3d6e20, 0x366a9: 0x6e42c220, 0x366aa: 0x6c3bae20, 0x366ab: 0x6c57ca20,\n\t0x366ac: 0x6c57cc20, 0x366ad: 0x6c57ce20, 0x366ae: 0x6c57d020, 0x366af: 0x6c57d220,\n\t0x366b0: 0x6c7a7c20, 0x366b1: 0x6c7a7e20, 0x366b2: 0x6c7a8020, 0x366b3: 0x6c7a8220,\n\t0x366b4: 0x6c7a8420, 0x366b5: 0x6ca38220, 0x366b6: 0x6ca38420, 0x366b7: 0x6ca38620,\n\t0x366b8: 0x6ca38820, 0x366b9: 0x6ca38a20, 0x366ba: 0x6cd16220, 0x366bb: 0x6cd16420,\n\t0x366bc: 0x6cd16620, 0x366bd: 0x6cd16820, 0x366be: 0x6cd16a20, 0x366bf: 0x6cd16c20,\n\t// Block 0xd9b, offset 0x366c0\n\t0x366c0: 0x6cd16e20, 0x366c1: 0x6cff4420, 0x366c2: 0x6cff4620, 0x366c3: 0x6cff4820,\n\t0x366c4: 0x6cff4a20, 0x366c5: 0x6cff4c20, 0x366c6: 0x6cff4e20, 0x366c7: 0x6d5ab620,\n\t0x366c8: 0x6d2d8c20, 0x366c9: 0x6d2d8e20, 0x366ca: 0x6d2d9020, 0x366cb: 0x6d2d9220,\n\t0x366cc: 0x6d2d9420, 0x366cd: 0x6d5ab820, 0x366ce: 0x6d856c20, 0x366cf: 0x6d856e20,\n\t0x366d0: 0x6d5aba20, 0x366d1: 0x6d5abc20, 0x366d2: 0x6d5abe20, 0x366d3: 0x6d5ac020,\n\t0x366d4: 0x6d5ac220, 0x366d5: 0x6d5ac420, 0x366d6: 0x6d857020, 0x366d7: 0x6daa1020,\n\t0x366d8: 0x6dcae420, 0x366d9: 0x6dcae620, 0x366da: 0x6dcae820, 0x366db: 0x6e0ff420,\n\t0x366dc: 0x6e0ff620, 0x366dd: 0x6e0ff820, 0x366de: 0x6e1ec820, 0x366df: 0x6e1eca20,\n\t0x366e0: 0x6e2a2e20, 0x366e1: 0x6e2a3020, 0x366e2: 0x6e32e620, 0x366e3: 0x6e3d7220,\n\t0x366e4: 0x6e3d7420, 0x366e5: 0x6e452620, 0x366e6: 0x6c24a420, 0x366e7: 0x6c24a620,\n\t0x366e8: 0x6c3bba20, 0x366e9: 0x6c3bbc20, 0x366ea: 0x6c3bbe20, 0x366eb: 0x6c3bc020,\n\t0x366ec: 0x6c57ec20, 0x366ed: 0x6c57ee20, 0x366ee: 0x6c57f020, 0x366ef: 0x6c57f220,\n\t0x366f0: 0x6c57f420, 0x366f1: 0x6c57f620, 0x366f2: 0x6c57f820, 0x366f3: 0x6c7a9620,\n\t0x366f4: 0x6c7a9820, 0x366f5: 0x6c7a9a20, 0x366f6: 0x6c7a9c20, 0x366f7: 0x6c7a9e20,\n\t0x366f8: 0x6c7aa020, 0x366f9: 0x6c7aa220, 0x366fa: 0x6c7aa420, 0x366fb: 0x6c7aa620,\n\t0x366fc: 0x6c7aa820, 0x366fd: 0x6c7aaa20, 0x366fe: 0x6ca39e20, 0x366ff: 0x6ca3a020,\n\t// Block 0xd9c, offset 0x36700\n\t0x36700: 0x6ca3a220, 0x36701: 0x6ca3a420, 0x36702: 0x6ca3a620, 0x36703: 0x6ca3a820,\n\t0x36704: 0x6ca3aa20, 0x36705: 0x6ca3ac20, 0x36706: 0x6ca3ae20, 0x36707: 0x6ca3b020,\n\t0x36708: 0x6ca3b220, 0x36709: 0x6ca3b420, 0x3670a: 0x6ca3b620, 0x3670b: 0x6ca3b820,\n\t0x3670c: 0x6cd18020, 0x3670d: 0x6cd18220, 0x3670e: 0x6cd18420, 0x3670f: 0x6cd18620,\n\t0x36710: 0x6cd18820, 0x36711: 0x6cd18a20, 0x36712: 0x6cd18c20, 0x36713: 0x6cd18e20,\n\t0x36714: 0x6cd19020, 0x36715: 0x6cd19220, 0x36716: 0x6cd19420, 0x36717: 0x6cd19620,\n\t0x36718: 0x6cd19820, 0x36719: 0x6cd19a20, 0x3671a: 0x6cd19c20, 0x3671b: 0x6cff6820,\n\t0x3671c: 0x6cff6a20, 0x3671d: 0x6cff6c20, 0x3671e: 0x6cff6e20, 0x3671f: 0x6cff7020,\n\t0x36720: 0x6cff7220, 0x36721: 0x6cff7420, 0x36722: 0x6cff7620, 0x36723: 0x6cff7820,\n\t0x36724: 0x6cff7a20, 0x36725: 0x6cff7c20, 0x36726: 0x6cff7e20, 0x36727: 0x6d2dae20,\n\t0x36728: 0x6d2db020, 0x36729: 0x6d2db220, 0x3672a: 0x6d2db420, 0x3672b: 0x6d2db620,\n\t0x3672c: 0x6d2db820, 0x3672d: 0x6d2dba20, 0x3672e: 0x6d2dbc20, 0x3672f: 0x6d2dbe20,\n\t0x36730: 0x6d2dc020, 0x36731: 0x6d2dc220, 0x36732: 0x6cff8020, 0x36733: 0x6d2dc420,\n\t0x36734: 0x6d2dc620, 0x36735: 0x6d2dc820, 0x36736: 0x6d2dca20, 0x36737: 0x6d2dcc20,\n\t0x36738: 0x6d2dce20, 0x36739: 0x6d5ad420, 0x3673a: 0x6d5ad620, 0x3673b: 0x6d5ad820,\n\t0x3673c: 0x6d5ada20, 0x3673d: 0x6d5adc20, 0x3673e: 0x6d5ade20, 0x3673f: 0x6d5ae020,\n\t// Block 0xd9d, offset 0x36740\n\t0x36740: 0x6d5ae220, 0x36741: 0x6d5ae420, 0x36742: 0x6d5ae620, 0x36743: 0x6d5ae820,\n\t0x36744: 0x6d5aea20, 0x36745: 0x6d858420, 0x36746: 0x6d858620, 0x36747: 0x6d858820,\n\t0x36748: 0x6d858a20, 0x36749: 0x6d858c20, 0x3674a: 0x6d858e20, 0x3674b: 0x6d859020,\n\t0x3674c: 0x6d859220, 0x3674d: 0x6d859420, 0x3674e: 0x6daa2820, 0x3674f: 0x6daa2a20,\n\t0x36750: 0x6daa2c20, 0x36751: 0x6daa2e20, 0x36752: 0x6daa3020, 0x36753: 0x6daa3220,\n\t0x36754: 0x6daa3420, 0x36755: 0x6daa3620, 0x36756: 0x6cff8220, 0x36757: 0x6daa3820,\n\t0x36758: 0x6dcaf420, 0x36759: 0x6dcaf620, 0x3675a: 0x6dcaf820, 0x3675b: 0x6dcafa20,\n\t0x3675c: 0x6dcafc20, 0x3675d: 0x6dcafe20, 0x3675e: 0x6dcb0020, 0x3675f: 0x6dcb0220,\n\t0x36760: 0x6de67020, 0x36761: 0x6de67220, 0x36762: 0x6dfd2c20, 0x36763: 0x6dfd2e20,\n\t0x36764: 0x6dfd3020, 0x36765: 0x6dfd3220, 0x36766: 0x6e0ffc20, 0x36767: 0x6e0ffe20,\n\t0x36768: 0x6e100020, 0x36769: 0x6e100220, 0x3676a: 0x6e100420, 0x3676b: 0x6e100620,\n\t0x3676c: 0x6e100820, 0x3676d: 0x6e1ece20, 0x3676e: 0x6e1ed020, 0x3676f: 0x6e1ed220,\n\t0x36770: 0x6e2a3220, 0x36771: 0x6e2a3420, 0x36772: 0x6e2a3620, 0x36773: 0x6e2a3820,\n\t0x36774: 0x6e2a3a20, 0x36775: 0x6e2a3c20, 0x36776: 0x6e32ea20, 0x36777: 0x6e392420,\n\t0x36778: 0x6e407c20, 0x36779: 0x6e443820, 0x3677a: 0x6c0a0020, 0x3677b: 0x6c3bc620,\n\t0x3677c: 0x6c3bc820, 0x3677d: 0x6c3bca20, 0x3677e: 0x6c3bcc20, 0x3677f: 0x6c3bce20,\n\t// Block 0xd9e, offset 0x36780\n\t0x36780: 0x6c3bd020, 0x36781: 0x6c580020, 0x36782: 0x6c580220, 0x36783: 0x6c580420,\n\t0x36784: 0x6c580620, 0x36785: 0x6c7ab020, 0x36786: 0x6cd19e20, 0x36787: 0x6cff8e20,\n\t0x36788: 0x6d2dd420, 0x36789: 0x6d5af220, 0x3678a: 0x6d5af420, 0x3678b: 0x6d859620,\n\t0x3678c: 0x6d859820, 0x3678d: 0x6daa3c20, 0x3678e: 0x6dcb0420, 0x3678f: 0x6dc4c420,\n\t0x36790: 0x6e100a20, 0x36791: 0x6e1ed620, 0x36792: 0x6e42c420, 0x36793: 0x6c0a0420,\n\t0x36794: 0x6c13ce20, 0x36795: 0x6c3bd220, 0x36796: 0x6c3bd420, 0x36797: 0x6c3bd620,\n\t0x36798: 0x6c580c20, 0x36799: 0x6c580e20, 0x3679a: 0x6c581020, 0x3679b: 0x6c581220,\n\t0x3679c: 0x6c581420, 0x3679d: 0x6c581620, 0x3679e: 0x6c581820, 0x3679f: 0x6c7ab420,\n\t0x367a0: 0x6ca3c220, 0x367a1: 0x6ca3c420, 0x367a2: 0x6ca3c620, 0x367a3: 0x6ca3c820,\n\t0x367a4: 0x6ca3ca20, 0x367a5: 0x6ca3cc20, 0x367a6: 0x6cd1aa20, 0x367a7: 0x6cd1ac20,\n\t0x367a8: 0x6cd1ae20, 0x367a9: 0x6cd1b020, 0x367aa: 0x6cd1b220, 0x367ab: 0x6cd1b420,\n\t0x367ac: 0x6cff9020, 0x367ad: 0x6cff9220, 0x367ae: 0x6cff9420, 0x367af: 0x6cff9620,\n\t0x367b0: 0x6cff9820, 0x367b1: 0x6cff9a20, 0x367b2: 0x6d2dd820, 0x367b3: 0x6d2dda20,\n\t0x367b4: 0x6d2ddc20, 0x367b5: 0x6d5af820, 0x367b6: 0x6d859c20, 0x367b7: 0x6daa3e20,\n\t0x367b8: 0x6daa4020, 0x367b9: 0x6daa4220, 0x367ba: 0x6dcb0620, 0x367bb: 0x6de67420,\n\t0x367bc: 0x6de67620, 0x367bd: 0x6de26620, 0x367be: 0x6de67820, 0x367bf: 0x6de67a20,\n\t// Block 0xd9f, offset 0x367c0\n\t0x367c0: 0x6e100c20, 0x367c1: 0x6e1ed820, 0x367c2: 0x6e1eda20, 0x367c3: 0x6c13d220,\n\t0x367c4: 0x6c24ae20, 0x367c5: 0x6c3bde20, 0x367c6: 0x6c3be020, 0x367c7: 0x6c7ab820,\n\t0x367c8: 0x6ca3d020, 0x367c9: 0x6cd1b820, 0x367ca: 0x6d2dde20, 0x367cb: 0x6d5afa20,\n\t0x367cc: 0x6d5afc20, 0x367cd: 0x6dcb0820, 0x367ce: 0x6de67c20, 0x367cf: 0x6e1edc20,\n\t0x367d0: 0x6e392620, 0x367d1: 0x6e2a3e20, 0x367d2: 0x6c0a1620, 0x367d3: 0x6c13d820,\n\t0x367d4: 0x6c13da20, 0x367d5: 0x6c24c220, 0x367d6: 0x6c24c420, 0x367d7: 0x6c24c620,\n\t0x367d8: 0x6c24c820, 0x367d9: 0x6c24ca20, 0x367da: 0x6c24cc20, 0x367db: 0x6c24ce20,\n\t0x367dc: 0x6c24d020, 0x367dd: 0x6c3bfa20, 0x367de: 0x6c3bfc20, 0x367df: 0x6c3bfe20,\n\t0x367e0: 0x6c3c0020, 0x367e1: 0x6c3c0220, 0x367e2: 0x6c3c0420, 0x367e3: 0x6c3c0620,\n\t0x367e4: 0x6c3c0820, 0x367e5: 0x6c3c0a20, 0x367e6: 0x6c3c0c20, 0x367e7: 0x6c3c0e20,\n\t0x367e8: 0x6c3c1020, 0x367e9: 0x6c584020, 0x367ea: 0x6c584220, 0x367eb: 0x6c584420,\n\t0x367ec: 0x6c584620, 0x367ed: 0x6c584820, 0x367ee: 0x6c584a20, 0x367ef: 0x6c584c20,\n\t0x367f0: 0x6c584e20, 0x367f1: 0x6c585020, 0x367f2: 0x6c585220, 0x367f3: 0x6c585420,\n\t0x367f4: 0x6c585620, 0x367f5: 0x6c585820, 0x367f6: 0x6c585a20, 0x367f7: 0x6c585c20,\n\t0x367f8: 0x6c585e20, 0x367f9: 0x6c586020, 0x367fa: 0x6c586220, 0x367fb: 0x6c586420,\n\t0x367fc: 0x6c586620, 0x367fd: 0x6c586820, 0x367fe: 0x6c586a20, 0x367ff: 0x6c586c20,\n\t// Block 0xda0, offset 0x36800\n\t0x36800: 0x6c586e20, 0x36801: 0x6c587020, 0x36802: 0x6c587220, 0x36803: 0x6c587420,\n\t0x36804: 0x6c587620, 0x36805: 0x6c587820, 0x36806: 0x6c587a20, 0x36807: 0x6c587c20,\n\t0x36808: 0x6c587e20, 0x36809: 0x6c588020, 0x3680a: 0x6c588220, 0x3680b: 0x6c588420,\n\t0x3680c: 0x6c7ad620, 0x3680d: 0x6c7ad820, 0x3680e: 0x6c7ada20, 0x3680f: 0x6c7adc20,\n\t0x36810: 0x6c7ade20, 0x36811: 0x6c7ae020, 0x36812: 0x6c7ae220, 0x36813: 0x6c7ae420,\n\t0x36814: 0x6c7ae620, 0x36815: 0x6c7ae820, 0x36816: 0x6c7aea20, 0x36817: 0x6c7aec20,\n\t0x36818: 0x6c7aee20, 0x36819: 0x6c7af020, 0x3681a: 0x6c7af220, 0x3681b: 0x6c7af420,\n\t0x3681c: 0x6c7af620, 0x3681d: 0x6c7af820, 0x3681e: 0x6c7afa20, 0x3681f: 0x6c7afc20,\n\t0x36820: 0x6c7afe20, 0x36821: 0x6c63fc20, 0x36822: 0x6c7b0020, 0x36823: 0x6c7b0220,\n\t0x36824: 0x6c7b0420, 0x36825: 0x6ca3e820, 0x36826: 0x6ca3ea20, 0x36827: 0x6ca3ec20,\n\t0x36828: 0x6ca3ee20, 0x36829: 0x6ca3f020, 0x3682a: 0x6ca3f220, 0x3682b: 0x6ca3f420,\n\t0x3682c: 0x6ca3f620, 0x3682d: 0x6ca3f820, 0x3682e: 0x6ca3fa20, 0x3682f: 0x6ca3fc20,\n\t0x36830: 0x6ca3fe20, 0x36831: 0x6ca40020, 0x36832: 0x6ca40220, 0x36833: 0x6ca40420,\n\t0x36834: 0x6ca40620, 0x36835: 0x6ca40820, 0x36836: 0x6ca40a20, 0x36837: 0x6ca40c20,\n\t0x36838: 0x6ca40e20, 0x36839: 0x6ca41020, 0x3683a: 0x6ca41220, 0x3683b: 0x6cd1d020,\n\t0x3683c: 0x6cd1d220, 0x3683d: 0x6cd1d420, 0x3683e: 0x6cd1d620, 0x3683f: 0x6cd1d820,\n\t// Block 0xda1, offset 0x36840\n\t0x36840: 0x6cd1da20, 0x36841: 0x6cd1dc20, 0x36842: 0x6cd1de20, 0x36843: 0x6cd1e020,\n\t0x36844: 0x6cd1e220, 0x36845: 0x6cd1e420, 0x36846: 0x6cd1e620, 0x36847: 0x6cd1e820,\n\t0x36848: 0x6cd1ea20, 0x36849: 0x6cd1ec20, 0x3684a: 0x6cd1ee20, 0x3684b: 0x6cd1f020,\n\t0x3684c: 0x6cd1f220, 0x3684d: 0x6cd1f420, 0x3684e: 0x6cd1f620, 0x3684f: 0x6cd1f820,\n\t0x36850: 0x6cd1fa20, 0x36851: 0x6cffb620, 0x36852: 0x6cffb820, 0x36853: 0x6cffba20,\n\t0x36854: 0x6cffbc20, 0x36855: 0x6cffbe20, 0x36856: 0x6cffc020, 0x36857: 0x6cffc220,\n\t0x36858: 0x6cffc420, 0x36859: 0x6cffc620, 0x3685a: 0x6cffc820, 0x3685b: 0x6cffca20,\n\t0x3685c: 0x6cffcc20, 0x3685d: 0x6cffce20, 0x3685e: 0x6cffd020, 0x3685f: 0x6cffd220,\n\t0x36860: 0x6cffd420, 0x36861: 0x6cffd620, 0x36862: 0x6cffd820, 0x36863: 0x6cffda20,\n\t0x36864: 0x6cffdc20, 0x36865: 0x6cffde20, 0x36866: 0x6cffe020, 0x36867: 0x6cffe220,\n\t0x36868: 0x6cffe420, 0x36869: 0x6cffe620, 0x3686a: 0x6cffe820, 0x3686b: 0x6d2de820,\n\t0x3686c: 0x6d2dea20, 0x3686d: 0x6d2dec20, 0x3686e: 0x6d2dee20, 0x3686f: 0x6d2df020,\n\t0x36870: 0x6d2df220, 0x36871: 0x6d2df420, 0x36872: 0x6d2df620, 0x36873: 0x6d2df820,\n\t0x36874: 0x6d2dfa20, 0x36875: 0x6d2dfc20, 0x36876: 0x6d2dfe20, 0x36877: 0x6d5b0820,\n\t0x36878: 0x6d5b0a20, 0x36879: 0x6d5b0c20, 0x3687a: 0x6d5b0e20, 0x3687b: 0x6d5b1020,\n\t0x3687c: 0x6d5b1220, 0x3687d: 0x6d5b1420, 0x3687e: 0x6d5b1620, 0x3687f: 0x6d5b1820,\n\t// Block 0xda2, offset 0x36880\n\t0x36880: 0x6d5b1a20, 0x36881: 0x6d5b1c20, 0x36882: 0x6d5b1e20, 0x36883: 0x6d5b2020,\n\t0x36884: 0x6d5b2220, 0x36885: 0x6d5b2420, 0x36886: 0x6d5b2620, 0x36887: 0x6d5b2820,\n\t0x36888: 0x6d85a620, 0x36889: 0x6d85a820, 0x3688a: 0x6d85aa20, 0x3688b: 0x6d85ac20,\n\t0x3688c: 0x6d85ae20, 0x3688d: 0x6d85b020, 0x3688e: 0x6d85b220, 0x3688f: 0x6d75d020,\n\t0x36890: 0x6d85b420, 0x36891: 0x6d85b620, 0x36892: 0x6daa4a20, 0x36893: 0x6daa4c20,\n\t0x36894: 0x6daa4e20, 0x36895: 0x6daa5020, 0x36896: 0x6daa5220, 0x36897: 0x6daa5420,\n\t0x36898: 0x6daa5620, 0x36899: 0x6daa5820, 0x3689a: 0x6daa5a20, 0x3689b: 0x6db99020,\n\t0x3689c: 0x6daa5c20, 0x3689d: 0x6daa5e20, 0x3689e: 0x6daa6020, 0x3689f: 0x6daa6220,\n\t0x368a0: 0x6daa6420, 0x368a1: 0x6daa6620, 0x368a2: 0x6daa6820, 0x368a3: 0x6daa6a20,\n\t0x368a4: 0x6dcb1020, 0x368a5: 0x6dcb1220, 0x368a6: 0x6dcb1420, 0x368a7: 0x6dcb1620,\n\t0x368a8: 0x6dcb1820, 0x368a9: 0x6de68420, 0x368aa: 0x6de68620, 0x368ab: 0x6de68820,\n\t0x368ac: 0x6de68a20, 0x368ad: 0x6de68c20, 0x368ae: 0x6de68e20, 0x368af: 0x6de69020,\n\t0x368b0: 0x6de69220, 0x368b1: 0x6dfd3820, 0x368b2: 0x6de69420, 0x368b3: 0x6dfd3a20,\n\t0x368b4: 0x6dfd3c20, 0x368b5: 0x6dfd3e20, 0x368b6: 0x6dfd4020, 0x368b7: 0x6dfd4220,\n\t0x368b8: 0x6dfd4420, 0x368b9: 0x6e100e20, 0x368ba: 0x6e101020, 0x368bb: 0x6e101220,\n\t0x368bc: 0x6e101420, 0x368bd: 0x6e101620, 0x368be: 0x6e101820, 0x368bf: 0x6e1ee020,\n\t// Block 0xda3, offset 0x368c0\n\t0x368c0: 0x6e1ee220, 0x368c1: 0x6e1ee420, 0x368c2: 0x6e2a4220, 0x368c3: 0x6e2a4420,\n\t0x368c4: 0x6e2a4620, 0x368c5: 0x6e32ec20, 0x368c6: 0x6e392820, 0x368c7: 0x6e3d7620,\n\t0x368c8: 0x6e3d7820, 0x368c9: 0x6e3d7a20, 0x368ca: 0x6e3d7c20, 0x368cb: 0x6e3d7e20,\n\t0x368cc: 0x6e407e20, 0x368cd: 0x6e408020, 0x368ce: 0x6e42c620, 0x368cf: 0x6e452820,\n\t0x368d0: 0x6e463220, 0x368d1: 0x6e468620, 0x368d2: 0x6e46e820, 0x368d3: 0x6c0a1c20,\n\t0x368d4: 0x6c0a1e20, 0x368d5: 0x6c13dc20, 0x368d6: 0x6c3c1620, 0x368d7: 0x6c7b1020,\n\t0x368d8: 0x6c588e20, 0x368d9: 0x6cd20c20, 0x368da: 0x6cd20e20, 0x368db: 0x6cd21020,\n\t0x368dc: 0x6cfff220, 0x368dd: 0x6cfff420, 0x368de: 0x6d5b2e20, 0x368df: 0x6d85be20,\n\t0x368e0: 0x6d85c020, 0x368e1: 0x6d85c220, 0x368e2: 0x6d85c420, 0x368e3: 0x6dcb1e20,\n\t0x368e4: 0x6e1ee620, 0x368e5: 0x6c13de20, 0x368e6: 0x6c24e220, 0x368e7: 0x6c24e420,\n\t0x368e8: 0x6c24e620, 0x368e9: 0x6c24e820, 0x368ea: 0x6c24ea20, 0x368eb: 0x6c24ec20,\n\t0x368ec: 0x6c24ee20, 0x368ed: 0x6c24f020, 0x368ee: 0x6c24f220, 0x368ef: 0x6c3c3220,\n\t0x368f0: 0x6c3c3420, 0x368f1: 0x6c3c3620, 0x368f2: 0x6c3c3820, 0x368f3: 0x6c3c3a20,\n\t0x368f4: 0x6c3c3c20, 0x368f5: 0x6c3c3e20, 0x368f6: 0x6c3c4020, 0x368f7: 0x6c58ba20,\n\t0x368f8: 0x6c58bc20, 0x368f9: 0x6c58be20, 0x368fa: 0x6c58c020, 0x368fb: 0x6c58c220,\n\t0x368fc: 0x6c58c420, 0x368fd: 0x6c58c620, 0x368fe: 0x6c58c820, 0x368ff: 0x6c58ca20,\n\t// Block 0xda4, offset 0x36900\n\t0x36900: 0x6c58cc20, 0x36901: 0x6c58ce20, 0x36902: 0x6c58d020, 0x36903: 0x6c58d220,\n\t0x36904: 0x6c58d420, 0x36905: 0x6c58d620, 0x36906: 0x6c58d820, 0x36907: 0x6c58da20,\n\t0x36908: 0x6c58dc20, 0x36909: 0x6c58de20, 0x3690a: 0x6c58e020, 0x3690b: 0x6c58e220,\n\t0x3690c: 0x6c58e420, 0x3690d: 0x6c58e620, 0x3690e: 0x6c58e820, 0x3690f: 0x6c58ea20,\n\t0x36910: 0x6c58ec20, 0x36911: 0x6c58ee20, 0x36912: 0x6c58f020, 0x36913: 0x6c58f220,\n\t0x36914: 0x6c58f420, 0x36915: 0x6c58f620, 0x36916: 0x6c58f820, 0x36917: 0x6c7b5c20,\n\t0x36918: 0x6c7b5e20, 0x36919: 0x6c7b6020, 0x3691a: 0x6c7b6220, 0x3691b: 0x6c7b6420,\n\t0x3691c: 0x6c7b6620, 0x3691d: 0x6c7b6820, 0x3691e: 0x6c7b6a20, 0x3691f: 0x6c7b6c20,\n\t0x36920: 0x6c7b6e20, 0x36921: 0x6c7b7020, 0x36922: 0x6c7b7220, 0x36923: 0x6c7b7420,\n\t0x36924: 0x6c7b7620, 0x36925: 0x6c7b7820, 0x36926: 0x6c7b7a20, 0x36927: 0x6c7b7c20,\n\t0x36928: 0x6c7b7e20, 0x36929: 0x6c7b8020, 0x3692a: 0x6c7b8220, 0x3692b: 0x6c7b8420,\n\t0x3692c: 0x6c7b8620, 0x3692d: 0x6c7b8820, 0x3692e: 0x6c7b8a20, 0x3692f: 0x6c7b8c20,\n\t0x36930: 0x6c7b8e20, 0x36931: 0x6c7b9020, 0x36932: 0x6c7b9220, 0x36933: 0x6c7b9420,\n\t0x36934: 0x6c7b9620, 0x36935: 0x6c7b9820, 0x36936: 0x6c7b9a20, 0x36937: 0x6ca44820,\n\t0x36938: 0x6ca44a20, 0x36939: 0x6ca44c20, 0x3693a: 0x6ca44e20, 0x3693b: 0x6ca45020,\n\t0x3693c: 0x6ca45220, 0x3693d: 0x6ca45420, 0x3693e: 0x6ca45620, 0x3693f: 0x6ca45820,\n\t// Block 0xda5, offset 0x36940\n\t0x36940: 0x6ca45a20, 0x36941: 0x6ca45c20, 0x36942: 0x6ca45e20, 0x36943: 0x6ca46020,\n\t0x36944: 0x6ca46220, 0x36945: 0x6ca46420, 0x36946: 0x6ca46620, 0x36947: 0x6ca46820,\n\t0x36948: 0x6ca46a20, 0x36949: 0x6ca46c20, 0x3694a: 0x6ca46e20, 0x3694b: 0x6ca47020,\n\t0x3694c: 0x6ca47220, 0x3694d: 0x6ca47420, 0x3694e: 0x6ca47620, 0x3694f: 0x6ca47820,\n\t0x36950: 0x6ca47a20, 0x36951: 0x6ca47c20, 0x36952: 0x6ca47e20, 0x36953: 0x6ca48020,\n\t0x36954: 0x6ca48220, 0x36955: 0x6cd25a20, 0x36956: 0x6cd25c20, 0x36957: 0x6cd25e20,\n\t0x36958: 0x6cd26020, 0x36959: 0x6cd26220, 0x3695a: 0x6cd26420, 0x3695b: 0x6cd26620,\n\t0x3695c: 0x6cd26820, 0x3695d: 0x6cd26a20, 0x3695e: 0x6cd26c20, 0x3695f: 0x6cd26e20,\n\t0x36960: 0x6cd27020, 0x36961: 0x6cd27220, 0x36962: 0x6cd27420, 0x36963: 0x6cd27620,\n\t0x36964: 0x6cd27820, 0x36965: 0x6cd27a20, 0x36966: 0x6cd27c20, 0x36967: 0x6cd27e20,\n\t0x36968: 0x6cd28020, 0x36969: 0x6cd28220, 0x3696a: 0x6cd28420, 0x3696b: 0x6cd28620,\n\t0x3696c: 0x6cd28820, 0x3696d: 0x6cd28a20, 0x3696e: 0x6cd28c20, 0x3696f: 0x6cd28e20,\n\t0x36970: 0x6cd29020, 0x36971: 0x6cd29220, 0x36972: 0x6cd29420, 0x36973: 0x6cd29620,\n\t0x36974: 0x6cd29820, 0x36975: 0x6cd29a20, 0x36976: 0x6cd29c20, 0x36977: 0x6cd29e20,\n\t0x36978: 0x6cd2a020, 0x36979: 0x6cd2a220, 0x3697a: 0x6cd2a420, 0x3697b: 0x6cd2a620,\n\t0x3697c: 0x6cd2a820, 0x3697d: 0x6cd2aa20, 0x3697e: 0x6cd2ac20, 0x3697f: 0x6cd2ae20,\n\t// Block 0xda6, offset 0x36980\n\t0x36980: 0x6cd2b020, 0x36981: 0x6cd2b220, 0x36982: 0x6d003c20, 0x36983: 0x6d003e20,\n\t0x36984: 0x6d004020, 0x36985: 0x6d004220, 0x36986: 0x6d004420, 0x36987: 0x6d004620,\n\t0x36988: 0x6d004820, 0x36989: 0x6d004a20, 0x3698a: 0x6d004c20, 0x3698b: 0x6d004e20,\n\t0x3698c: 0x6d005020, 0x3698d: 0x6d005220, 0x3698e: 0x6d005420, 0x3698f: 0x6d005620,\n\t0x36990: 0x6d005820, 0x36991: 0x6d005a20, 0x36992: 0x6d005c20, 0x36993: 0x6d005e20,\n\t0x36994: 0x6d006020, 0x36995: 0x6d006220, 0x36996: 0x6d006420, 0x36997: 0x6d006620,\n\t0x36998: 0x6d006820, 0x36999: 0x6d006a20, 0x3699a: 0x6d006c20, 0x3699b: 0x6d006e20,\n\t0x3699c: 0x6d007020, 0x3699d: 0x6d007220, 0x3699e: 0x6d007420, 0x3699f: 0x6d007620,\n\t0x369a0: 0x6d007820, 0x369a1: 0x6d007a20, 0x369a2: 0x6d007c20, 0x369a3: 0x6d007e20,\n\t0x369a4: 0x6d008020, 0x369a5: 0x6d008220, 0x369a6: 0x6d008420, 0x369a7: 0x6d008620,\n\t0x369a8: 0x6d008820, 0x369a9: 0x6d008a20, 0x369aa: 0x6d008c20, 0x369ab: 0x6d008e20,\n\t0x369ac: 0x6d009020, 0x369ad: 0x6d009220, 0x369ae: 0x6d009420, 0x369af: 0x6d009620,\n\t0x369b0: 0x6d009820, 0x369b1: 0x6d009a20, 0x369b2: 0x6d009c20, 0x369b3: 0x6d009e20,\n\t0x369b4: 0x6d00a020, 0x369b5: 0x6d00a220, 0x369b6: 0x6d00a420, 0x369b7: 0x6d00a620,\n\t0x369b8: 0x6d00a820, 0x369b9: 0x6d00aa20, 0x369ba: 0x6d00ac20, 0x369bb: 0x6d2e4220,\n\t0x369bc: 0x6d2e4420, 0x369bd: 0x6d2e4620, 0x369be: 0x6d2e4820, 0x369bf: 0x6d2e4a20,\n\t// Block 0xda7, offset 0x369c0\n\t0x369c0: 0x6d2e4c20, 0x369c1: 0x6d2e4e20, 0x369c2: 0x6d2e5020, 0x369c3: 0x6d2e5220,\n\t0x369c4: 0x6d2e5420, 0x369c5: 0x6d2e5620, 0x369c6: 0x6d2e5820, 0x369c7: 0x6d2e5a20,\n\t0x369c8: 0x6d2e5c20, 0x369c9: 0x6d2e5e20, 0x369ca: 0x6d2e6020, 0x369cb: 0x6d2e6220,\n\t0x369cc: 0x6d2e6420, 0x369cd: 0x6d2e6620, 0x369ce: 0x6d2e6820, 0x369cf: 0x6d2e6a20,\n\t0x369d0: 0x6d2e6c20, 0x369d1: 0x6d2e6e20, 0x369d2: 0x6d2e7020, 0x369d3: 0x6d2e7220,\n\t0x369d4: 0x6d2e7420, 0x369d5: 0x6d2e7620, 0x369d6: 0x6d2e7820, 0x369d7: 0x6d2e7a20,\n\t0x369d8: 0x6d2e7c20, 0x369d9: 0x6d2e7e20, 0x369da: 0x6d2e8020, 0x369db: 0x6d2e8220,\n\t0x369dc: 0x6d2e8420, 0x369dd: 0x6d2e8620, 0x369de: 0x6d2e8820, 0x369df: 0x6d2e8a20,\n\t0x369e0: 0x6d2e8c20, 0x369e1: 0x6d2e8e20, 0x369e2: 0x6d2e9020, 0x369e3: 0x6d2e9220,\n\t0x369e4: 0x6d2e9420, 0x369e5: 0x6d2e9620, 0x369e6: 0x6d2e9820, 0x369e7: 0x6d2e9a20,\n\t0x369e8: 0x6d2e9c20, 0x369e9: 0x6d2e9e20, 0x369ea: 0x6d5b6c20, 0x369eb: 0x6d5b6e20,\n\t0x369ec: 0x6d5b7020, 0x369ed: 0x6d5b7220, 0x369ee: 0x6d5b7420, 0x369ef: 0x6d5b7620,\n\t0x369f0: 0x6d5b7820, 0x369f1: 0x6d5b7a20, 0x369f2: 0x6d5b7c20, 0x369f3: 0x6d5b7e20,\n\t0x369f4: 0x6d5b8020, 0x369f5: 0x6d5b8220, 0x369f6: 0x6d5b8420, 0x369f7: 0x6d5b8620,\n\t0x369f8: 0x6d5b8820, 0x369f9: 0x6d5b8a20, 0x369fa: 0x6d5b8c20, 0x369fb: 0x6d5b8e20,\n\t0x369fc: 0x6d5b9020, 0x369fd: 0x6d5b9220, 0x369fe: 0x6d5b9420, 0x369ff: 0x6d5b9620,\n\t// Block 0xda8, offset 0x36a00\n\t0x36a00: 0x6d5b9820, 0x36a01: 0x6d5b9a20, 0x36a02: 0x6d5b9c20, 0x36a03: 0x6d5b9e20,\n\t0x36a04: 0x6d5ba020, 0x36a05: 0x6d5ba220, 0x36a06: 0x6d5ba420, 0x36a07: 0x6d5ba620,\n\t0x36a08: 0x6d5ba820, 0x36a09: 0x6d5baa20, 0x36a0a: 0x6d5bac20, 0x36a0b: 0x6d5bae20,\n\t0x36a0c: 0x6d5bb020, 0x36a0d: 0x6d5bb220, 0x36a0e: 0x6d5bb420, 0x36a0f: 0x6d5bb620,\n\t0x36a10: 0x6d5bb820, 0x36a11: 0x6d5bba20, 0x36a12: 0x6d5bbc20, 0x36a13: 0x6d5bbe20,\n\t0x36a14: 0x6d5bc020, 0x36a15: 0x6d5bc220, 0x36a16: 0x6d5bc420, 0x36a17: 0x6d5bc620,\n\t0x36a18: 0x6d5bc820, 0x36a19: 0x6d5bca20, 0x36a1a: 0x6d5bcc20, 0x36a1b: 0x6d5bce20,\n\t0x36a1c: 0x6d5bd020, 0x36a1d: 0x6d85fe20, 0x36a1e: 0x6d860020, 0x36a1f: 0x6d860220,\n\t0x36a20: 0x6d860420, 0x36a21: 0x6d860620, 0x36a22: 0x6d860820, 0x36a23: 0x6d860a20,\n\t0x36a24: 0x6d860c20, 0x36a25: 0x6d860e20, 0x36a26: 0x6d861020, 0x36a27: 0x6d861220,\n\t0x36a28: 0x6d861420, 0x36a29: 0x6d861620, 0x36a2a: 0x6d861820, 0x36a2b: 0x6d861a20,\n\t0x36a2c: 0x6d861c20, 0x36a2d: 0x6d861e20, 0x36a2e: 0x6d862020, 0x36a2f: 0x6d862220,\n\t0x36a30: 0x6d862420, 0x36a31: 0x6d862620, 0x36a32: 0x6d862820, 0x36a33: 0x6d862a20,\n\t0x36a34: 0x6d862c20, 0x36a35: 0x6d862e20, 0x36a36: 0x6d863020, 0x36a37: 0x6d863220,\n\t0x36a38: 0x6d863420, 0x36a39: 0x6d863620, 0x36a3a: 0x6d863820, 0x36a3b: 0x6d863a20,\n\t0x36a3c: 0x6d863c20, 0x36a3d: 0x6d863e20, 0x36a3e: 0x6d864020, 0x36a3f: 0x6d864220,\n\t// Block 0xda9, offset 0x36a40\n\t0x36a40: 0x6d864420, 0x36a41: 0x6d864620, 0x36a42: 0x6d864820, 0x36a43: 0x6daa9020,\n\t0x36a44: 0x6daa9220, 0x36a45: 0x6daa9420, 0x36a46: 0x6daa9620, 0x36a47: 0x6daa9820,\n\t0x36a48: 0x6daa9a20, 0x36a49: 0x6daa9c20, 0x36a4a: 0x6daa9e20, 0x36a4b: 0x6daaa020,\n\t0x36a4c: 0x6daaa220, 0x36a4d: 0x6daaa420, 0x36a4e: 0x6daaa620, 0x36a4f: 0x6daaa820,\n\t0x36a50: 0x6daaaa20, 0x36a51: 0x6daaac20, 0x36a52: 0x6daaae20, 0x36a53: 0x6daab020,\n\t0x36a54: 0x6daab220, 0x36a55: 0x6daab420, 0x36a56: 0x6daab620, 0x36a57: 0x6daab820,\n\t0x36a58: 0x6daaba20, 0x36a59: 0x6daabc20, 0x36a5a: 0x6daabe20, 0x36a5b: 0x6daac020,\n\t0x36a5c: 0x6daac220, 0x36a5d: 0x6daac420, 0x36a5e: 0x6d864a20, 0x36a5f: 0x6daac620,\n\t0x36a60: 0x6daac820, 0x36a61: 0x6daaca20, 0x36a62: 0x6daacc20, 0x36a63: 0x6daace20,\n\t0x36a64: 0x6daad020, 0x36a65: 0x6daad220, 0x36a66: 0x6daad420, 0x36a67: 0x6daad620,\n\t0x36a68: 0x6daad820, 0x36a69: 0x6daada20, 0x36a6a: 0x6daadc20, 0x36a6b: 0x6daade20,\n\t0x36a6c: 0x6daae020, 0x36a6d: 0x6daae220, 0x36a6e: 0x6daae420, 0x36a6f: 0x6daae620,\n\t0x36a70: 0x6daae820, 0x36a71: 0x6daaea20, 0x36a72: 0x6daaec20, 0x36a73: 0x6daaee20,\n\t0x36a74: 0x6daaf020, 0x36a75: 0x6daaf220, 0x36a76: 0x6daaf420, 0x36a77: 0x6daaf620,\n\t0x36a78: 0x6daaf820, 0x36a79: 0x6daafa20, 0x36a7a: 0x6dcb4c20, 0x36a7b: 0x6dcb4e20,\n\t0x36a7c: 0x6dcb5020, 0x36a7d: 0x6dcb5220, 0x36a7e: 0x6dcb5420, 0x36a7f: 0x6dcb5620,\n\t// Block 0xdaa, offset 0x36a80\n\t0x36a80: 0x6dcb5820, 0x36a81: 0x6dcb5a20, 0x36a82: 0x6dcb5c20, 0x36a83: 0x6dcb5e20,\n\t0x36a84: 0x6dcb6020, 0x36a85: 0x6dcb6220, 0x36a86: 0x6dcb6420, 0x36a87: 0x6dcb6620,\n\t0x36a88: 0x6dcb6820, 0x36a89: 0x6dcb6a20, 0x36a8a: 0x6dcb6c20, 0x36a8b: 0x6dcb6e20,\n\t0x36a8c: 0x6dcb7020, 0x36a8d: 0x6dcb7220, 0x36a8e: 0x6dcb7420, 0x36a8f: 0x6dcb7620,\n\t0x36a90: 0x6dcb7820, 0x36a91: 0x6dcb7a20, 0x36a92: 0x6dcb7c20, 0x36a93: 0x6dcb7e20,\n\t0x36a94: 0x6dcb8020, 0x36a95: 0x6de6a420, 0x36a96: 0x6de6a620, 0x36a97: 0x6de6a820,\n\t0x36a98: 0x6de6aa20, 0x36a99: 0x6de6ac20, 0x36a9a: 0x6de6ae20, 0x36a9b: 0x6de6b020,\n\t0x36a9c: 0x6de6b220, 0x36a9d: 0x6de6b420, 0x36a9e: 0x6de6b620, 0x36a9f: 0x6de6b820,\n\t0x36aa0: 0x6de6ba20, 0x36aa1: 0x6de6bc20, 0x36aa2: 0x6de6be20, 0x36aa3: 0x6de6c020,\n\t0x36aa4: 0x6de6c220, 0x36aa5: 0x6de6c420, 0x36aa6: 0x6de6c620, 0x36aa7: 0x6de6c820,\n\t0x36aa8: 0x6de6ca20, 0x36aa9: 0x6de6cc20, 0x36aaa: 0x6de6ce20, 0x36aab: 0x6de6d020,\n\t0x36aac: 0x6de6d220, 0x36aad: 0x6de6d420, 0x36aae: 0x6de6d620, 0x36aaf: 0x6de6d820,\n\t0x36ab0: 0x6dfd5220, 0x36ab1: 0x6dfd5420, 0x36ab2: 0x6dfd5620, 0x36ab3: 0x6dfd5820,\n\t0x36ab4: 0x6dfd5a20, 0x36ab5: 0x6dfd5c20, 0x36ab6: 0x6dfd5e20, 0x36ab7: 0x6dfd6020,\n\t0x36ab8: 0x6dfd6220, 0x36ab9: 0x6dfd6420, 0x36aba: 0x6dfd6620, 0x36abb: 0x6dfd6820,\n\t0x36abc: 0x6dfd6a20, 0x36abd: 0x6dfd6c20, 0x36abe: 0x6dfd6e20, 0x36abf: 0x6dfd7020,\n\t// Block 0xdab, offset 0x36ac0\n\t0x36ac0: 0x6e102e20, 0x36ac1: 0x6e103020, 0x36ac2: 0x6e103220, 0x36ac3: 0x6e103420,\n\t0x36ac4: 0x6e103620, 0x36ac5: 0x6e103820, 0x36ac6: 0x6e103a20, 0x36ac7: 0x6e103c20,\n\t0x36ac8: 0x6e103e20, 0x36ac9: 0x6e104020, 0x36aca: 0x6e104220, 0x36acb: 0x6e1ef020,\n\t0x36acc: 0x6e1ef220, 0x36acd: 0x6e1ef420, 0x36ace: 0x6e1ef620, 0x36acf: 0x6e1ef820,\n\t0x36ad0: 0x6e2a4e20, 0x36ad1: 0x6e2a5020, 0x36ad2: 0x6e2a5220, 0x36ad3: 0x6e2a5420,\n\t0x36ad4: 0x6e2a5620, 0x36ad5: 0x6e2a5820, 0x36ad6: 0x6e2a5a20, 0x36ad7: 0x6e2a5c20,\n\t0x36ad8: 0x6e32f620, 0x36ad9: 0x6e32f820, 0x36ada: 0x6e32fa20, 0x36adb: 0x6e32fc20,\n\t0x36adc: 0x6e392a20, 0x36add: 0x6e392c20, 0x36ade: 0x6e392e20, 0x36adf: 0x6e3d8220,\n\t0x36ae0: 0x6e3d8420, 0x36ae1: 0x6e3d8620, 0x36ae2: 0x6e408220, 0x36ae3: 0x6e42cc20,\n\t0x36ae4: 0x6e443a20, 0x36ae5: 0x6c24f420, 0x36ae6: 0x6c24f620, 0x36ae7: 0x6c590820,\n\t0x36ae8: 0x6c590a20, 0x36ae9: 0x6c7ba420, 0x36aea: 0x6c7ba620, 0x36aeb: 0x6c7ba820,\n\t0x36aec: 0x6ca48620, 0x36aed: 0x6ca48820, 0x36aee: 0x6ca48a20, 0x36aef: 0x6cd2bc20,\n\t0x36af0: 0x6cd2be20, 0x36af1: 0x6cd2c020, 0x36af2: 0x6cd2c220, 0x36af3: 0x6d00b420,\n\t0x36af4: 0x6d00b620, 0x36af5: 0x6d00b820, 0x36af6: 0x6d2ea620, 0x36af7: 0x6d5bd820,\n\t0x36af8: 0x6d5bda20, 0x36af9: 0x6d864c20, 0x36afa: 0x6d864e20, 0x36afb: 0x6dfd7220,\n\t0x36afc: 0x6d865020, 0x36afd: 0x6c13e420, 0x36afe: 0x6c13e620, 0x36aff: 0x6c250220,\n\t// Block 0xdac, offset 0x36b00\n\t0x36b00: 0x6c250420, 0x36b01: 0x6c250620, 0x36b02: 0x6c3c4820, 0x36b03: 0x6c3c4a20,\n\t0x36b04: 0x6c3c4c20, 0x36b05: 0x6c3c4e20, 0x36b06: 0x6c3c5020, 0x36b07: 0x6c3c5220,\n\t0x36b08: 0x6c591620, 0x36b09: 0x6c591820, 0x36b0a: 0x6c591a20, 0x36b0b: 0x6c591c20,\n\t0x36b0c: 0x6c591e20, 0x36b0d: 0x6c592020, 0x36b0e: 0x6c592220, 0x36b0f: 0x6c592420,\n\t0x36b10: 0x6c592620, 0x36b11: 0x6c592820, 0x36b12: 0x6c592a20, 0x36b13: 0x6c592c20,\n\t0x36b14: 0x6c592e20, 0x36b15: 0x6c593020, 0x36b16: 0x6c593220, 0x36b17: 0x6c593420,\n\t0x36b18: 0x6c7bb620, 0x36b19: 0x6c7bb820, 0x36b1a: 0x6c7bba20, 0x36b1b: 0x6c7bbc20,\n\t0x36b1c: 0x6c7bbe20, 0x36b1d: 0x6c7bc020, 0x36b1e: 0x6c7bc220, 0x36b1f: 0x6c7bc420,\n\t0x36b20: 0x6c7bc620, 0x36b21: 0x6c7bc820, 0x36b22: 0x6c7bca20, 0x36b23: 0x6c7bcc20,\n\t0x36b24: 0x6c7bce20, 0x36b25: 0x6ca49a20, 0x36b26: 0x6ca49c20, 0x36b27: 0x6ca49e20,\n\t0x36b28: 0x6ca4a020, 0x36b29: 0x6ca4a220, 0x36b2a: 0x6ca4a420, 0x36b2b: 0x6ca4a620,\n\t0x36b2c: 0x6cd2d020, 0x36b2d: 0x6cd2d220, 0x36b2e: 0x6cd2d420, 0x36b2f: 0x6cd2d620,\n\t0x36b30: 0x6cd2d820, 0x36b31: 0x6cd2da20, 0x36b32: 0x6cd2dc20, 0x36b33: 0x6cd2de20,\n\t0x36b34: 0x6cd2e020, 0x36b35: 0x6cd2e220, 0x36b36: 0x6cd2e420, 0x36b37: 0x6cd2e620,\n\t0x36b38: 0x6cd2e820, 0x36b39: 0x6d00c220, 0x36b3a: 0x6d00c420, 0x36b3b: 0x6d00c620,\n\t0x36b3c: 0x6d00c820, 0x36b3d: 0x6d00ca20, 0x36b3e: 0x6d00cc20, 0x36b3f: 0x6d00ce20,\n\t// Block 0xdad, offset 0x36b40\n\t0x36b40: 0x6d00d020, 0x36b41: 0x6d00d220, 0x36b42: 0x6d00d420, 0x36b43: 0x6d00d620,\n\t0x36b44: 0x6d00d820, 0x36b45: 0x6d00da20, 0x36b46: 0x6d00dc20, 0x36b47: 0x6d00de20,\n\t0x36b48: 0x6d2eac20, 0x36b49: 0x6d2eae20, 0x36b4a: 0x6d2eb020, 0x36b4b: 0x6d2eb220,\n\t0x36b4c: 0x6d2eb420, 0x36b4d: 0x6d2eb620, 0x36b4e: 0x6d2eb820, 0x36b4f: 0x6d2eba20,\n\t0x36b50: 0x6d2ebc20, 0x36b51: 0x6d2ebe20, 0x36b52: 0x6d2ec020, 0x36b53: 0x6d2ec220,\n\t0x36b54: 0x6d5be820, 0x36b55: 0x6d5bea20, 0x36b56: 0x6d5bec20, 0x36b57: 0x6d5bee20,\n\t0x36b58: 0x6d5bf020, 0x36b59: 0x6d5bf220, 0x36b5a: 0x6d5bf420, 0x36b5b: 0x6d865a20,\n\t0x36b5c: 0x6d865c20, 0x36b5d: 0x6d865e20, 0x36b5e: 0x6d866020, 0x36b5f: 0x6d866220,\n\t0x36b60: 0x6dab0820, 0x36b61: 0x6dab0a20, 0x36b62: 0x6dab0c20, 0x36b63: 0x6dab0e20,\n\t0x36b64: 0x6dab1020, 0x36b65: 0x6dab1220, 0x36b66: 0x6dab1420, 0x36b67: 0x6dcb8a20,\n\t0x36b68: 0x6dcb8c20, 0x36b69: 0x6dcb8e20, 0x36b6a: 0x6dcb9020, 0x36b6b: 0x6de6e020,\n\t0x36b6c: 0x6de6e220, 0x36b6d: 0x6de6e420, 0x36b6e: 0x6de6e620, 0x36b6f: 0x6de6e820,\n\t0x36b70: 0x6de6ea20, 0x36b71: 0x6de6ec20, 0x36b72: 0x6de6ee20, 0x36b73: 0x6de6f020,\n\t0x36b74: 0x6dfd7820, 0x36b75: 0x6dfd7a20, 0x36b76: 0x6dfd7c20, 0x36b77: 0x6dfd7e20,\n\t0x36b78: 0x6e104820, 0x36b79: 0x6e104a20, 0x36b7a: 0x6e104c20, 0x36b7b: 0x6e1efa20,\n\t0x36b7c: 0x6e1efc20, 0x36b7d: 0x6e1efe20, 0x36b7e: 0x6e2a5e20, 0x36b7f: 0x6e2a6020,\n\t// Block 0xdae, offset 0x36b80\n\t0x36b80: 0x6e32fe20, 0x36b81: 0x6e330020, 0x36b82: 0x6e330220, 0x36b83: 0x6e330420,\n\t0x36b84: 0x6e393220, 0x36b85: 0x6e443c20, 0x36b86: 0x6c250820, 0x36b87: 0x6c250a20,\n\t0x36b88: 0x6c3c5820, 0x36b89: 0x6c3c5a20, 0x36b8a: 0x6c3c5c20, 0x36b8b: 0x6c3c5e20,\n\t0x36b8c: 0x6c3c6020, 0x36b8d: 0x6c3c6220, 0x36b8e: 0x6c593e20, 0x36b8f: 0x6c594020,\n\t0x36b90: 0x6c594220, 0x36b91: 0x6c594420, 0x36b92: 0x6c594620, 0x36b93: 0x6c594820,\n\t0x36b94: 0x6c594a20, 0x36b95: 0x6c7bdc20, 0x36b96: 0x6c7bde20, 0x36b97: 0x6c7be020,\n\t0x36b98: 0x6c7be220, 0x36b99: 0x6c7be420, 0x36b9a: 0x6c7be620, 0x36b9b: 0x6c7be820,\n\t0x36b9c: 0x6c7bea20, 0x36b9d: 0x6c7bec20, 0x36b9e: 0x6c7bee20, 0x36b9f: 0x6ca4ae20,\n\t0x36ba0: 0x6ca4b020, 0x36ba1: 0x6ca4b220, 0x36ba2: 0x6ca4b420, 0x36ba3: 0x6ca4b620,\n\t0x36ba4: 0x6ca4b820, 0x36ba5: 0x6ca4ba20, 0x36ba6: 0x6ca4bc20, 0x36ba7: 0x6cd2f420,\n\t0x36ba8: 0x6cd2f620, 0x36ba9: 0x6cd2f820, 0x36baa: 0x6cd2fa20, 0x36bab: 0x6cd2fc20,\n\t0x36bac: 0x6cd2fe20, 0x36bad: 0x6cd30020, 0x36bae: 0x6cd30220, 0x36baf: 0x6d00ec20,\n\t0x36bb0: 0x6cd30420, 0x36bb1: 0x6cd30620, 0x36bb2: 0x6cd30820, 0x36bb3: 0x6d00ee20,\n\t0x36bb4: 0x6d00f020, 0x36bb5: 0x6d00f220, 0x36bb6: 0x6d00f420, 0x36bb7: 0x6d00f620,\n\t0x36bb8: 0x6d00f820, 0x36bb9: 0x6d00fa20, 0x36bba: 0x6d00fc20, 0x36bbb: 0x6d00fe20,\n\t0x36bbc: 0x6d010020, 0x36bbd: 0x6d010220, 0x36bbe: 0x6d010420, 0x36bbf: 0x6d010620,\n\t// Block 0xdaf, offset 0x36bc0\n\t0x36bc0: 0x6d2ed420, 0x36bc1: 0x6d2ed620, 0x36bc2: 0x6d2ed820, 0x36bc3: 0x6d2eda20,\n\t0x36bc4: 0x6d2edc20, 0x36bc5: 0x6d2ede20, 0x36bc6: 0x6d2ee020, 0x36bc7: 0x6d2ee220,\n\t0x36bc8: 0x6d2ee420, 0x36bc9: 0x6d2ee620, 0x36bca: 0x6d2ee820, 0x36bcb: 0x6d2eea20,\n\t0x36bcc: 0x6d2eec20, 0x36bcd: 0x6d5bfe20, 0x36bce: 0x6d5c0020, 0x36bcf: 0x6d5c0220,\n\t0x36bd0: 0x6d5c0420, 0x36bd1: 0x6d5c0620, 0x36bd2: 0x6d5c0820, 0x36bd3: 0x6d5c0a20,\n\t0x36bd4: 0x6d866820, 0x36bd5: 0x6d866a20, 0x36bd6: 0x6d866c20, 0x36bd7: 0x6d866e20,\n\t0x36bd8: 0x6d867020, 0x36bd9: 0x6d867220, 0x36bda: 0x6d867420, 0x36bdb: 0x6d867620,\n\t0x36bdc: 0x6d867820, 0x36bdd: 0x6d867a20, 0x36bde: 0x6d867c20, 0x36bdf: 0x6dab1820,\n\t0x36be0: 0x6dab1a20, 0x36be1: 0x6dab1c20, 0x36be2: 0x6dcb9620, 0x36be3: 0x6dcb9820,\n\t0x36be4: 0x6dcb9a20, 0x36be5: 0x6dcb9c20, 0x36be6: 0x6dcb9e20, 0x36be7: 0x6dcba020,\n\t0x36be8: 0x6dcba220, 0x36be9: 0x6dcba420, 0x36bea: 0x6dcba620, 0x36beb: 0x6de6f220,\n\t0x36bec: 0x6de6f420, 0x36bed: 0x6de6f620, 0x36bee: 0x6de6f820, 0x36bef: 0x6dfd8420,\n\t0x36bf0: 0x6dfd8620, 0x36bf1: 0x6dfd8820, 0x36bf2: 0x6dfd8a20, 0x36bf3: 0x6dfd8c20,\n\t0x36bf4: 0x6e105020, 0x36bf5: 0x6e105220, 0x36bf6: 0x6e1f0220, 0x36bf7: 0x6e1f0420,\n\t0x36bf8: 0x6e1f0620, 0x36bf9: 0x6e330620, 0x36bfa: 0x6e330820, 0x36bfb: 0x6e3c7e20,\n\t0x36bfc: 0x6e3fda20, 0x36bfd: 0x6e450420, 0x36bfe: 0x6e46a420, 0x36bff: 0x6c251020,\n\t// Block 0xdb0, offset 0x36c00\n\t0x36c00: 0x6c251220, 0x36c01: 0x6c3c6a20, 0x36c02: 0x6c3c6c20, 0x36c03: 0x6c3c6e20,\n\t0x36c04: 0x6c3c7020, 0x36c05: 0x6c3c7220, 0x36c06: 0x6c595e20, 0x36c07: 0x6c596020,\n\t0x36c08: 0x6c596220, 0x36c09: 0x6c596420, 0x36c0a: 0x6c596620, 0x36c0b: 0x6c596820,\n\t0x36c0c: 0x6c596a20, 0x36c0d: 0x6c596c20, 0x36c0e: 0x6c7c0820, 0x36c0f: 0x6c7c0a20,\n\t0x36c10: 0x6c7c0c20, 0x36c11: 0x6c7c0e20, 0x36c12: 0x6c7c1020, 0x36c13: 0x6c7c1220,\n\t0x36c14: 0x6c7c1420, 0x36c15: 0x6c7c1620, 0x36c16: 0x6c7c1820, 0x36c17: 0x6c7c1a20,\n\t0x36c18: 0x6c7c1c20, 0x36c19: 0x6c7c1e20, 0x36c1a: 0x6c7c2020, 0x36c1b: 0x6c7c2220,\n\t0x36c1c: 0x6c7c2420, 0x36c1d: 0x6c7c2620, 0x36c1e: 0x6ca4d220, 0x36c1f: 0x6ca4d420,\n\t0x36c20: 0x6ca4d620, 0x36c21: 0x6ca4d820, 0x36c22: 0x6ca4da20, 0x36c23: 0x6ca4dc20,\n\t0x36c24: 0x6ca4de20, 0x36c25: 0x6ca4e020, 0x36c26: 0x6ca4e220, 0x36c27: 0x6ca4e420,\n\t0x36c28: 0x6ca4e620, 0x36c29: 0x6ca4e820, 0x36c2a: 0x6ca4ea20, 0x36c2b: 0x6c7c2820,\n\t0x36c2c: 0x6cd31220, 0x36c2d: 0x6cd31420, 0x36c2e: 0x6cd31620, 0x36c2f: 0x6cd31820,\n\t0x36c30: 0x6cd31a20, 0x36c31: 0x6cd31c20, 0x36c32: 0x6cd31e20, 0x36c33: 0x6cd32020,\n\t0x36c34: 0x6cd32220, 0x36c35: 0x6cd32420, 0x36c36: 0x6cd32620, 0x36c37: 0x6d011220,\n\t0x36c38: 0x6d011420, 0x36c39: 0x6d011620, 0x36c3a: 0x6d011820, 0x36c3b: 0x6d011a20,\n\t0x36c3c: 0x6d011c20, 0x36c3d: 0x6d011e20, 0x36c3e: 0x6d012020, 0x36c3f: 0x6d012220,\n\t// Block 0xdb1, offset 0x36c40\n\t0x36c40: 0x6d012420, 0x36c41: 0x6d012620, 0x36c42: 0x6d012820, 0x36c43: 0x6d2efc20,\n\t0x36c44: 0x6d2efe20, 0x36c45: 0x6d2f0020, 0x36c46: 0x6d2f0220, 0x36c47: 0x6d5c0e20,\n\t0x36c48: 0x6d5c1020, 0x36c49: 0x6d5c1220, 0x36c4a: 0x6d5c1420, 0x36c4b: 0x6d5c1620,\n\t0x36c4c: 0x6d5c1820, 0x36c4d: 0x6d5c1a20, 0x36c4e: 0x6d5c1c20, 0x36c4f: 0x6d5c1e20,\n\t0x36c50: 0x6d5c2020, 0x36c51: 0x6d5c2220, 0x36c52: 0x6d5c2420, 0x36c53: 0x6d868820,\n\t0x36c54: 0x6d868a20, 0x36c55: 0x6d868c20, 0x36c56: 0x6d868e20, 0x36c57: 0x6d869020,\n\t0x36c58: 0x6d869220, 0x36c59: 0x6d869420, 0x36c5a: 0x6d869620, 0x36c5b: 0x6d869820,\n\t0x36c5c: 0x6d869a20, 0x36c5d: 0x6d869c20, 0x36c5e: 0x6d869e20, 0x36c5f: 0x6d86a020,\n\t0x36c60: 0x6d86a220, 0x36c61: 0x6d86a420, 0x36c62: 0x6d86a620, 0x36c63: 0x6d86a820,\n\t0x36c64: 0x6d86aa20, 0x36c65: 0x6dab2620, 0x36c66: 0x6dab2820, 0x36c67: 0x6dab2a20,\n\t0x36c68: 0x6dab2c20, 0x36c69: 0x6dab2e20, 0x36c6a: 0x6dab3020, 0x36c6b: 0x6dab3220,\n\t0x36c6c: 0x6dab3420, 0x36c6d: 0x6dab3620, 0x36c6e: 0x6dab3820, 0x36c6f: 0x6dab3a20,\n\t0x36c70: 0x6dab3c20, 0x36c71: 0x6dab3e20, 0x36c72: 0x6dab4020, 0x36c73: 0x6da02a20,\n\t0x36c74: 0x6dab4220, 0x36c75: 0x6dab4420, 0x36c76: 0x6dab4620, 0x36c77: 0x6dab4820,\n\t0x36c78: 0x6dcbac20, 0x36c79: 0x6dcbae20, 0x36c7a: 0x6dcbb020, 0x36c7b: 0x6de6fc20,\n\t0x36c7c: 0x6dcbb220, 0x36c7d: 0x6dcbb420, 0x36c7e: 0x6dcbb620, 0x36c7f: 0x6dcbb820,\n\t// Block 0xdb2, offset 0x36c80\n\t0x36c80: 0x6dcbba20, 0x36c81: 0x6de6fe20, 0x36c82: 0x6de70020, 0x36c83: 0x6de70220,\n\t0x36c84: 0x6de70420, 0x36c85: 0x6de70620, 0x36c86: 0x6de70820, 0x36c87: 0x6dfd9020,\n\t0x36c88: 0x6dfd9220, 0x36c89: 0x6dfd9420, 0x36c8a: 0x6dfd9620, 0x36c8b: 0x6dfd9820,\n\t0x36c8c: 0x6dfd9a20, 0x36c8d: 0x6dfd9c20, 0x36c8e: 0x6dfd9e20, 0x36c8f: 0x6dfda020,\n\t0x36c90: 0x6dfda220, 0x36c91: 0x6dfda420, 0x36c92: 0x6e105620, 0x36c93: 0x6e1f0a20,\n\t0x36c94: 0x6e1f0c20, 0x36c95: 0x6e1f0e20, 0x36c96: 0x6e1f1020, 0x36c97: 0x6e1f1220,\n\t0x36c98: 0x6e2a6220, 0x36c99: 0x6e2a6420, 0x36c9a: 0x6e330a20, 0x36c9b: 0x6e330c20,\n\t0x36c9c: 0x6e330e20, 0x36c9d: 0x6e331020, 0x36c9e: 0x6e2a6620, 0x36c9f: 0x6e393420,\n\t0x36ca0: 0x6e393620, 0x36ca1: 0x6e3d8820, 0x36ca2: 0x6e452c20, 0x36ca3: 0x6e468820,\n\t0x36ca4: 0x6c13e820, 0x36ca5: 0x6c13ea20, 0x36ca6: 0x6c251a20, 0x36ca7: 0x6c251c20,\n\t0x36ca8: 0x6c251e20, 0x36ca9: 0x6c252020, 0x36caa: 0x6c252220, 0x36cab: 0x6c252420,\n\t0x36cac: 0x6c252620, 0x36cad: 0x6c252820, 0x36cae: 0x6c252a20, 0x36caf: 0x6c252c20,\n\t0x36cb0: 0x6c252e20, 0x36cb1: 0x6c253020, 0x36cb2: 0x6c3c8c20, 0x36cb3: 0x6c3c8e20,\n\t0x36cb4: 0x6c3c9020, 0x36cb5: 0x6c3c9220, 0x36cb6: 0x6c3c9420, 0x36cb7: 0x6c3c9620,\n\t0x36cb8: 0x6c3c9820, 0x36cb9: 0x6c3c9a20, 0x36cba: 0x6c3c9c20, 0x36cbb: 0x6c3c9e20,\n\t0x36cbc: 0x6c3ca020, 0x36cbd: 0x6c3ca220, 0x36cbe: 0x6c3ca420, 0x36cbf: 0x6c3ca620,\n\t// Block 0xdb3, offset 0x36cc0\n\t0x36cc0: 0x6c3ca820, 0x36cc1: 0x6c3caa20, 0x36cc2: 0x6c3cac20, 0x36cc3: 0x6c59b820,\n\t0x36cc4: 0x6c59ba20, 0x36cc5: 0x6c59bc20, 0x36cc6: 0x6c59be20, 0x36cc7: 0x6c59c020,\n\t0x36cc8: 0x6c59c220, 0x36cc9: 0x6c59c420, 0x36cca: 0x6c59c620, 0x36ccb: 0x6c59c820,\n\t0x36ccc: 0x6c59ca20, 0x36ccd: 0x6c59cc20, 0x36cce: 0x6c59ce20, 0x36ccf: 0x6c59d020,\n\t0x36cd0: 0x6c59d220, 0x36cd1: 0x6c59d420, 0x36cd2: 0x6c59d620, 0x36cd3: 0x6c59d820,\n\t0x36cd4: 0x6c59da20, 0x36cd5: 0x6c59dc20, 0x36cd6: 0x6c59de20, 0x36cd7: 0x6c59e020,\n\t0x36cd8: 0x6c59e220, 0x36cd9: 0x6c59e420, 0x36cda: 0x6c59e620, 0x36cdb: 0x6c59e820,\n\t0x36cdc: 0x6c59ea20, 0x36cdd: 0x6c59ec20, 0x36cde: 0x6c59ee20, 0x36cdf: 0x6c59f020,\n\t0x36ce0: 0x6c59f220, 0x36ce1: 0x6c59f420, 0x36ce2: 0x6c59f620, 0x36ce3: 0x6c59f820,\n\t0x36ce4: 0x6c59fa20, 0x36ce5: 0x6c59fc20, 0x36ce6: 0x6c59fe20, 0x36ce7: 0x6c5a0020,\n\t0x36ce8: 0x6c5a0220, 0x36ce9: 0x6c5a0420, 0x36cea: 0x6c5a0620, 0x36ceb: 0x6c5a0820,\n\t0x36cec: 0x6c5a0a20, 0x36ced: 0x6c5a0c20, 0x36cee: 0x6c5a0e20, 0x36cef: 0x6c5a1020,\n\t0x36cf0: 0x6c5a1220, 0x36cf1: 0x6c7c7a20, 0x36cf2: 0x6c7c7c20, 0x36cf3: 0x6c7c7e20,\n\t0x36cf4: 0x6c7c8020, 0x36cf5: 0x6c7c8220, 0x36cf6: 0x6c7c8420, 0x36cf7: 0x6c7c8620,\n\t0x36cf8: 0x6c7c8820, 0x36cf9: 0x6c7c8a20, 0x36cfa: 0x6c7c8c20, 0x36cfb: 0x6c7c8e20,\n\t0x36cfc: 0x6c7c9020, 0x36cfd: 0x6c7c9220, 0x36cfe: 0x6c7c9420, 0x36cff: 0x6c7c9620,\n\t// Block 0xdb4, offset 0x36d00\n\t0x36d00: 0x6c7c9820, 0x36d01: 0x6c7c9a20, 0x36d02: 0x6c7c9c20, 0x36d03: 0x6c7c9e20,\n\t0x36d04: 0x6c7ca020, 0x36d05: 0x6c7ca220, 0x36d06: 0x6c7ca420, 0x36d07: 0x6c7ca620,\n\t0x36d08: 0x6c7ca820, 0x36d09: 0x6c7caa20, 0x36d0a: 0x6c7cac20, 0x36d0b: 0x6c7cae20,\n\t0x36d0c: 0x6c7cb020, 0x36d0d: 0x6c7cb220, 0x36d0e: 0x6c7cb420, 0x36d0f: 0x6c7cb620,\n\t0x36d10: 0x6c7cb820, 0x36d11: 0x6c7cba20, 0x36d12: 0x6c7cbc20, 0x36d13: 0x6c7cbe20,\n\t0x36d14: 0x6c7cc020, 0x36d15: 0x6c7cc220, 0x36d16: 0x6c7cc420, 0x36d17: 0x6c7cc620,\n\t0x36d18: 0x6c7cc820, 0x36d19: 0x6c7cca20, 0x36d1a: 0x6ca52a20, 0x36d1b: 0x6ca52c20,\n\t0x36d1c: 0x6ca52e20, 0x36d1d: 0x6ca53020, 0x36d1e: 0x6ca53220, 0x36d1f: 0x6ca53420,\n\t0x36d20: 0x6ca53620, 0x36d21: 0x6ca53820, 0x36d22: 0x6ca53a20, 0x36d23: 0x6ca53c20,\n\t0x36d24: 0x6ca53e20, 0x36d25: 0x6ca54020, 0x36d26: 0x6ca54220, 0x36d27: 0x6ca54420,\n\t0x36d28: 0x6ca54620, 0x36d29: 0x6ca54820, 0x36d2a: 0x6ca54a20, 0x36d2b: 0x6ca54c20,\n\t0x36d2c: 0x6ca54e20, 0x36d2d: 0x6ca55020, 0x36d2e: 0x6ca55220, 0x36d2f: 0x6ca55420,\n\t0x36d30: 0x6ca55620, 0x36d31: 0x6ca55820, 0x36d32: 0x6ca55a20, 0x36d33: 0x6ca55c20,\n\t0x36d34: 0x6ca55e20, 0x36d35: 0x6ca56020, 0x36d36: 0x6ca56220, 0x36d37: 0x6ca56420,\n\t0x36d38: 0x6ca56620, 0x36d39: 0x6ca56820, 0x36d3a: 0x6ca56a20, 0x36d3b: 0x6ca56c20,\n\t0x36d3c: 0x6ca56e20, 0x36d3d: 0x6ca57020, 0x36d3e: 0x6ca57220, 0x36d3f: 0x6ca57420,\n\t// Block 0xdb5, offset 0x36d40\n\t0x36d40: 0x6ca57620, 0x36d41: 0x6ca57820, 0x36d42: 0x6ca57a20, 0x36d43: 0x6ca57c20,\n\t0x36d44: 0x6ca57e20, 0x36d45: 0x6ca58020, 0x36d46: 0x6ca58220, 0x36d47: 0x6ca58420,\n\t0x36d48: 0x6ca58620, 0x36d49: 0x6ca58820, 0x36d4a: 0x6cd37220, 0x36d4b: 0x6cd37420,\n\t0x36d4c: 0x6cd37620, 0x36d4d: 0x6cd37820, 0x36d4e: 0x6cd37a20, 0x36d4f: 0x6cd37c20,\n\t0x36d50: 0x6cd37e20, 0x36d51: 0x6cd38020, 0x36d52: 0x6cd38220, 0x36d53: 0x6cd38420,\n\t0x36d54: 0x6cd38620, 0x36d55: 0x6cd38820, 0x36d56: 0x6cd38a20, 0x36d57: 0x6cd38c20,\n\t0x36d58: 0x6cd38e20, 0x36d59: 0x6cd39020, 0x36d5a: 0x6cd39220, 0x36d5b: 0x6cd39420,\n\t0x36d5c: 0x6cd39620, 0x36d5d: 0x6cd39820, 0x36d5e: 0x6cd39a20, 0x36d5f: 0x6cd39c20,\n\t0x36d60: 0x6cd39e20, 0x36d61: 0x6cd3a020, 0x36d62: 0x6cd3a220, 0x36d63: 0x6cd3a420,\n\t0x36d64: 0x6cd3a620, 0x36d65: 0x6cd3a820, 0x36d66: 0x6cd3aa20, 0x36d67: 0x6cd3ac20,\n\t0x36d68: 0x6cd3ae20, 0x36d69: 0x6cd3b020, 0x36d6a: 0x6cd3b220, 0x36d6b: 0x6cd3b420,\n\t0x36d6c: 0x6cd3b620, 0x36d6d: 0x6cd3b820, 0x36d6e: 0x6cd3ba20, 0x36d6f: 0x6cd3bc20,\n\t0x36d70: 0x6cd3be20, 0x36d71: 0x6cd3c020, 0x36d72: 0x6cd3c220, 0x36d73: 0x6cd3c420,\n\t0x36d74: 0x6cd3c620, 0x36d75: 0x6cd3c820, 0x36d76: 0x6cd3ca20, 0x36d77: 0x6cd3cc20,\n\t0x36d78: 0x6cd3ce20, 0x36d79: 0x6cd3d020, 0x36d7a: 0x6cd3d220, 0x36d7b: 0x6cd3d420,\n\t0x36d7c: 0x6cd3d620, 0x36d7d: 0x6cd3d820, 0x36d7e: 0x6cd3da20, 0x36d7f: 0x6cd3dc20,\n\t// Block 0xdb6, offset 0x36d80\n\t0x36d80: 0x6cd3de20, 0x36d81: 0x6cd3e020, 0x36d82: 0x6cd3e220, 0x36d83: 0x6cd3e420,\n\t0x36d84: 0x6cd3e620, 0x36d85: 0x6d017e20, 0x36d86: 0x6cd3e820, 0x36d87: 0x6cd3ea20,\n\t0x36d88: 0x6cd3ec20, 0x36d89: 0x6d018020, 0x36d8a: 0x6d018220, 0x36d8b: 0x6d018420,\n\t0x36d8c: 0x6d018620, 0x36d8d: 0x6d018820, 0x36d8e: 0x6d018a20, 0x36d8f: 0x6d018c20,\n\t0x36d90: 0x6d018e20, 0x36d91: 0x6d019020, 0x36d92: 0x6d019220, 0x36d93: 0x6d019420,\n\t0x36d94: 0x6d019620, 0x36d95: 0x6d019820, 0x36d96: 0x6d019a20, 0x36d97: 0x6d019c20,\n\t0x36d98: 0x6d019e20, 0x36d99: 0x6d01a020, 0x36d9a: 0x6d01a220, 0x36d9b: 0x6d01a420,\n\t0x36d9c: 0x6d01a620, 0x36d9d: 0x6d01a820, 0x36d9e: 0x6d01aa20, 0x36d9f: 0x6d01ac20,\n\t0x36da0: 0x6d01ae20, 0x36da1: 0x6d01b020, 0x36da2: 0x6d01b220, 0x36da3: 0x6d01b420,\n\t0x36da4: 0x6d01b620, 0x36da5: 0x6d01b820, 0x36da6: 0x6d01ba20, 0x36da7: 0x6d01bc20,\n\t0x36da8: 0x6d01be20, 0x36da9: 0x6d01c020, 0x36daa: 0x6d01c220, 0x36dab: 0x6cd3ee20,\n\t0x36dac: 0x6d01c420, 0x36dad: 0x6d01c620, 0x36dae: 0x6d01c820, 0x36daf: 0x6d01ca20,\n\t0x36db0: 0x6d01cc20, 0x36db1: 0x6d01ce20, 0x36db2: 0x6d01d020, 0x36db3: 0x6d01d220,\n\t0x36db4: 0x6cf5b420, 0x36db5: 0x6d01d420, 0x36db6: 0x6d01d620, 0x36db7: 0x6d01d820,\n\t0x36db8: 0x6d01da20, 0x36db9: 0x6d01dc20, 0x36dba: 0x6d01de20, 0x36dbb: 0x6d01e020,\n\t0x36dbc: 0x6d01e220, 0x36dbd: 0x6d01e420, 0x36dbe: 0x6d01e620, 0x36dbf: 0x6d01e820,\n\t// Block 0xdb7, offset 0x36dc0\n\t0x36dc0: 0x6d01ea20, 0x36dc1: 0x6d01ec20, 0x36dc2: 0x6d2f5220, 0x36dc3: 0x6d2f5420,\n\t0x36dc4: 0x6d2f5620, 0x36dc5: 0x6d2f5820, 0x36dc6: 0x6d2f5a20, 0x36dc7: 0x6d2f5c20,\n\t0x36dc8: 0x6d2f5e20, 0x36dc9: 0x6d2f6020, 0x36dca: 0x6d2f6220, 0x36dcb: 0x6d2f6420,\n\t0x36dcc: 0x6d2f6620, 0x36dcd: 0x6d2f6820, 0x36dce: 0x6d2f6a20, 0x36dcf: 0x6d2f6c20,\n\t0x36dd0: 0x6d2f6e20, 0x36dd1: 0x6d2f7020, 0x36dd2: 0x6d2f7220, 0x36dd3: 0x6d2f7420,\n\t0x36dd4: 0x6d2f7620, 0x36dd5: 0x6d2f7820, 0x36dd6: 0x6d2f7a20, 0x36dd7: 0x6d2f7c20,\n\t0x36dd8: 0x6d2f7e20, 0x36dd9: 0x6d2f8020, 0x36dda: 0x6d2f8220, 0x36ddb: 0x6d2f8420,\n\t0x36ddc: 0x6d2f8620, 0x36ddd: 0x6d2f8820, 0x36dde: 0x6d2f8a20, 0x36ddf: 0x6d2f8c20,\n\t0x36de0: 0x6d2f8e20, 0x36de1: 0x6d2f9020, 0x36de2: 0x6d2f9220, 0x36de3: 0x6d2f9420,\n\t0x36de4: 0x6d2f9620, 0x36de5: 0x6d2f9820, 0x36de6: 0x6d2f9a20, 0x36de7: 0x6d2f9c20,\n\t0x36de8: 0x6d2f9e20, 0x36de9: 0x6d2fa020, 0x36dea: 0x6d2fa220, 0x36deb: 0x6d2fa420,\n\t0x36dec: 0x6d2fa620, 0x36ded: 0x6d2fa820, 0x36dee: 0x6d2faa20, 0x36def: 0x6d2fac20,\n\t0x36df0: 0x6d2fae20, 0x36df1: 0x6d2fb020, 0x36df2: 0x6d2fb220, 0x36df3: 0x6d2fb420,\n\t0x36df4: 0x6d2fb620, 0x36df5: 0x6d2fb820, 0x36df6: 0x6d2fba20, 0x36df7: 0x6d2fbc20,\n\t0x36df8: 0x6d2fbe20, 0x36df9: 0x6d2fc020, 0x36dfa: 0x6d2fc220, 0x36dfb: 0x6d2fc420,\n\t0x36dfc: 0x6d5c5820, 0x36dfd: 0x6d5c5a20, 0x36dfe: 0x6d5c5c20, 0x36dff: 0x6d5c5e20,\n\t// Block 0xdb8, offset 0x36e00\n\t0x36e00: 0x6d5c6020, 0x36e01: 0x6d5c6220, 0x36e02: 0x6d5c6420, 0x36e03: 0x6d5c6620,\n\t0x36e04: 0x6d5c6820, 0x36e05: 0x6d5c6a20, 0x36e06: 0x6d5c6c20, 0x36e07: 0x6d5c6e20,\n\t0x36e08: 0x6d5c7020, 0x36e09: 0x6d5c7220, 0x36e0a: 0x6d5c7420, 0x36e0b: 0x6d5c7620,\n\t0x36e0c: 0x6d5c7820, 0x36e0d: 0x6d5c7a20, 0x36e0e: 0x6d5c7c20, 0x36e0f: 0x6d5c7e20,\n\t0x36e10: 0x6d5c8020, 0x36e11: 0x6d5c8220, 0x36e12: 0x6d5c8420, 0x36e13: 0x6d5c8620,\n\t0x36e14: 0x6d5c8820, 0x36e15: 0x6d5c8a20, 0x36e16: 0x6d5c8c20, 0x36e17: 0x6d5c8e20,\n\t0x36e18: 0x6d5c9020, 0x36e19: 0x6d5c9220, 0x36e1a: 0x6d5c9420, 0x36e1b: 0x6d5c9620,\n\t0x36e1c: 0x6d5c9820, 0x36e1d: 0x6d5c9a20, 0x36e1e: 0x6d5c9c20, 0x36e1f: 0x6d5c9e20,\n\t0x36e20: 0x6d5ca020, 0x36e21: 0x6d5ca220, 0x36e22: 0x6d5ca420, 0x36e23: 0x6d5ca620,\n\t0x36e24: 0x6d5ca820, 0x36e25: 0x6d5caa20, 0x36e26: 0x6d5cac20, 0x36e27: 0x6d5cae20,\n\t0x36e28: 0x6d5cb020, 0x36e29: 0x6d5cb220, 0x36e2a: 0x6d5cb420, 0x36e2b: 0x6d5cb620,\n\t0x36e2c: 0x6d5cb820, 0x36e2d: 0x6d5cba20, 0x36e2e: 0x6d5cbc20, 0x36e2f: 0x6d5cbe20,\n\t0x36e30: 0x6d5cc020, 0x36e31: 0x6d5cc220, 0x36e32: 0x6d5cc420, 0x36e33: 0x6d5cc620,\n\t0x36e34: 0x6d86e020, 0x36e35: 0x6d86e220, 0x36e36: 0x6d86e420, 0x36e37: 0x6d86e620,\n\t0x36e38: 0x6d86e820, 0x36e39: 0x6d86ea20, 0x36e3a: 0x6d86ec20, 0x36e3b: 0x6d86ee20,\n\t0x36e3c: 0x6d86f020, 0x36e3d: 0x6d86f220, 0x36e3e: 0x6d86f420, 0x36e3f: 0x6d86f620,\n\t// Block 0xdb9, offset 0x36e40\n\t0x36e40: 0x6d86f820, 0x36e41: 0x6d86fa20, 0x36e42: 0x6d86fc20, 0x36e43: 0x6d86fe20,\n\t0x36e44: 0x6d870020, 0x36e45: 0x6d870220, 0x36e46: 0x6d870420, 0x36e47: 0x6d5cc820,\n\t0x36e48: 0x6d870620, 0x36e49: 0x6d870820, 0x36e4a: 0x6d870a20, 0x36e4b: 0x6d870c20,\n\t0x36e4c: 0x6d870e20, 0x36e4d: 0x6d871020, 0x36e4e: 0x6d871220, 0x36e4f: 0x6d871420,\n\t0x36e50: 0x6d871620, 0x36e51: 0x6d871820, 0x36e52: 0x6d871a20, 0x36e53: 0x6d871c20,\n\t0x36e54: 0x6d871e20, 0x36e55: 0x6d872020, 0x36e56: 0x6d872220, 0x36e57: 0x6d872420,\n\t0x36e58: 0x6d872620, 0x36e59: 0x6d872820, 0x36e5a: 0x6d872a20, 0x36e5b: 0x6d872c20,\n\t0x36e5c: 0x6d872e20, 0x36e5d: 0x6d873020, 0x36e5e: 0x6d873220, 0x36e5f: 0x6d873420,\n\t0x36e60: 0x6d873620, 0x36e61: 0x6d873820, 0x36e62: 0x6d873a20, 0x36e63: 0x6d873c20,\n\t0x36e64: 0x6d873e20, 0x36e65: 0x6d874020, 0x36e66: 0x6d874220, 0x36e67: 0x6d874420,\n\t0x36e68: 0x6d874620, 0x36e69: 0x6d874820, 0x36e6a: 0x6dab8620, 0x36e6b: 0x6dab8820,\n\t0x36e6c: 0x6dab8a20, 0x36e6d: 0x6dab8c20, 0x36e6e: 0x6dab8e20, 0x36e6f: 0x6dab9020,\n\t0x36e70: 0x6dab9220, 0x36e71: 0x6dab9420, 0x36e72: 0x6dab9620, 0x36e73: 0x6dab9820,\n\t0x36e74: 0x6dab9a20, 0x36e75: 0x6dab9c20, 0x36e76: 0x6dab9e20, 0x36e77: 0x6daba020,\n\t0x36e78: 0x6daba220, 0x36e79: 0x6daba420, 0x36e7a: 0x6daba620, 0x36e7b: 0x6daba820,\n\t0x36e7c: 0x6dabaa20, 0x36e7d: 0x6dabac20, 0x36e7e: 0x6dabae20, 0x36e7f: 0x6dabb020,\n\t// Block 0xdba, offset 0x36e80\n\t0x36e80: 0x6dabb220, 0x36e81: 0x6dabb420, 0x36e82: 0x6dabb620, 0x36e83: 0x6dabb820,\n\t0x36e84: 0x6dabba20, 0x36e85: 0x6dabbc20, 0x36e86: 0x6dabbe20, 0x36e87: 0x6dabc020,\n\t0x36e88: 0x6dabc220, 0x36e89: 0x6dabc420, 0x36e8a: 0x6dabc620, 0x36e8b: 0x6dabc820,\n\t0x36e8c: 0x6dabca20, 0x36e8d: 0x6dabcc20, 0x36e8e: 0x6dabce20, 0x36e8f: 0x6dabd020,\n\t0x36e90: 0x6dabd220, 0x36e91: 0x6dabd420, 0x36e92: 0x6dabd620, 0x36e93: 0x6dabd820,\n\t0x36e94: 0x6dabda20, 0x36e95: 0x6dabdc20, 0x36e96: 0x6d874a20, 0x36e97: 0x6dabde20,\n\t0x36e98: 0x6dcbe220, 0x36e99: 0x6dcbe420, 0x36e9a: 0x6dcbe620, 0x36e9b: 0x6dcbe820,\n\t0x36e9c: 0x6dcbea20, 0x36e9d: 0x6dcbec20, 0x36e9e: 0x6dcbee20, 0x36e9f: 0x6dcbf020,\n\t0x36ea0: 0x6dcbf220, 0x36ea1: 0x6dcbf420, 0x36ea2: 0x6dcbf620, 0x36ea3: 0x6dcbf820,\n\t0x36ea4: 0x6dcbfa20, 0x36ea5: 0x6dcbfc20, 0x36ea6: 0x6dcbfe20, 0x36ea7: 0x6dcc0020,\n\t0x36ea8: 0x6dcc0220, 0x36ea9: 0x6dcc0420, 0x36eaa: 0x6dcc0620, 0x36eab: 0x6dcc0820,\n\t0x36eac: 0x6dcc0a20, 0x36ead: 0x6dcc0c20, 0x36eae: 0x6dcc0e20, 0x36eaf: 0x6dcc1020,\n\t0x36eb0: 0x6dcc1220, 0x36eb1: 0x6dcc1420, 0x36eb2: 0x6dcc1620, 0x36eb3: 0x6dcc1820,\n\t0x36eb4: 0x6dcc1a20, 0x36eb5: 0x6dcc1c20, 0x36eb6: 0x6dcc1e20, 0x36eb7: 0x6dcc2020,\n\t0x36eb8: 0x6dcc2220, 0x36eb9: 0x6dcc2420, 0x36eba: 0x6dcc2620, 0x36ebb: 0x6dcc2820,\n\t0x36ebc: 0x6dcc2a20, 0x36ebd: 0x6dcc2c20, 0x36ebe: 0x6dcc2e20, 0x36ebf: 0x6de71c20,\n\t// Block 0xdbb, offset 0x36ec0\n\t0x36ec0: 0x6de71e20, 0x36ec1: 0x6de72020, 0x36ec2: 0x6de72220, 0x36ec3: 0x6de72420,\n\t0x36ec4: 0x6de72620, 0x36ec5: 0x6de72820, 0x36ec6: 0x6de72a20, 0x36ec7: 0x6de72c20,\n\t0x36ec8: 0x6de72e20, 0x36ec9: 0x6de73020, 0x36eca: 0x6de73220, 0x36ecb: 0x6de73420,\n\t0x36ecc: 0x6de73620, 0x36ecd: 0x6de73820, 0x36ece: 0x6de73a20, 0x36ecf: 0x6de73c20,\n\t0x36ed0: 0x6de73e20, 0x36ed1: 0x6de74020, 0x36ed2: 0x6de74220, 0x36ed3: 0x6de74420,\n\t0x36ed4: 0x6de74620, 0x36ed5: 0x6df25c20, 0x36ed6: 0x6de74820, 0x36ed7: 0x6de74a20,\n\t0x36ed8: 0x6de74c20, 0x36ed9: 0x6de74e20, 0x36eda: 0x6dfdb820, 0x36edb: 0x6dfdba20,\n\t0x36edc: 0x6dfdbc20, 0x36edd: 0x6dfdbe20, 0x36ede: 0x6dfdc020, 0x36edf: 0x6dfdc220,\n\t0x36ee0: 0x6dfdc420, 0x36ee1: 0x6dfdc620, 0x36ee2: 0x6dfdc820, 0x36ee3: 0x6dfdca20,\n\t0x36ee4: 0x6dfdcc20, 0x36ee5: 0x6dfdce20, 0x36ee6: 0x6dfdd020, 0x36ee7: 0x6dfdd220,\n\t0x36ee8: 0x6dfdd420, 0x36ee9: 0x6dfdd620, 0x36eea: 0x6dfdd820, 0x36eeb: 0x6dfdda20,\n\t0x36eec: 0x6dfddc20, 0x36eed: 0x6e106820, 0x36eee: 0x6e106a20, 0x36eef: 0x6e106c20,\n\t0x36ef0: 0x6e106e20, 0x36ef1: 0x6e107020, 0x36ef2: 0x6e107220, 0x36ef3: 0x6e107420,\n\t0x36ef4: 0x6e107620, 0x36ef5: 0x6e107820, 0x36ef6: 0x6e107a20, 0x36ef7: 0x6e107c20,\n\t0x36ef8: 0x6e107e20, 0x36ef9: 0x6e108020, 0x36efa: 0x6e1f1820, 0x36efb: 0x6e1f1a20,\n\t0x36efc: 0x6e1f1c20, 0x36efd: 0x6e1f1e20, 0x36efe: 0x6e1f2020, 0x36eff: 0x6e1f2220,\n\t// Block 0xdbc, offset 0x36f00\n\t0x36f00: 0x6e1f2420, 0x36f01: 0x6e1f2620, 0x36f02: 0x6e108220, 0x36f03: 0x6e1f2820,\n\t0x36f04: 0x6e21a620, 0x36f05: 0x6e1f2a20, 0x36f06: 0x6e1f2c20, 0x36f07: 0x6e1f2e20,\n\t0x36f08: 0x6e2a6e20, 0x36f09: 0x6e2a7020, 0x36f0a: 0x6e2a7220, 0x36f0b: 0x6e2a7420,\n\t0x36f0c: 0x6e2a7620, 0x36f0d: 0x6e2a7820, 0x36f0e: 0x6e2a7a20, 0x36f0f: 0x6e331820,\n\t0x36f10: 0x6e331a20, 0x36f11: 0x6e331c20, 0x36f12: 0x6e331e20, 0x36f13: 0x6e393e20,\n\t0x36f14: 0x6e3d8c20, 0x36f15: 0x6e3d8e20, 0x36f16: 0x6e3d9020, 0x36f17: 0x6e3d9220,\n\t0x36f18: 0x6e3d9420, 0x36f19: 0x6e408420, 0x36f1a: 0x6e408620, 0x36f1b: 0x6e42ce20,\n\t0x36f1c: 0x6e444220, 0x36f1d: 0x6c13ec20, 0x36f1e: 0x6c3cb420, 0x36f1f: 0x6c5a1e20,\n\t0x36f20: 0x6c5a2020, 0x36f21: 0x6c7cd820, 0x36f22: 0x6c7cda20, 0x36f23: 0x6c7cdc20,\n\t0x36f24: 0x6c7cde20, 0x36f25: 0x6c7ce020, 0x36f26: 0x6c7ce220, 0x36f27: 0x6ca59620,\n\t0x36f28: 0x6ca59820, 0x36f29: 0x6ca59a20, 0x36f2a: 0x6cd3f820, 0x36f2b: 0x6cd3fa20,\n\t0x36f2c: 0x6cd3fc20, 0x36f2d: 0x6cd3fe20, 0x36f2e: 0x6cd40020, 0x36f2f: 0x6cd40220,\n\t0x36f30: 0x6cd40420, 0x36f31: 0x6cd40620, 0x36f32: 0x6d01fe20, 0x36f33: 0x6d020020,\n\t0x36f34: 0x6d020220, 0x36f35: 0x6d020420, 0x36f36: 0x6d2fd020, 0x36f37: 0x6d2fd220,\n\t0x36f38: 0x6d2fd420, 0x36f39: 0x6d2fd620, 0x36f3a: 0x6d2fd820, 0x36f3b: 0x6d2fda20,\n\t0x36f3c: 0x6d2fdc20, 0x36f3d: 0x6d2fde20, 0x36f3e: 0x6d2fe020, 0x36f3f: 0x6d2fe220,\n\t// Block 0xdbd, offset 0x36f40\n\t0x36f40: 0x6d2fe420, 0x36f41: 0x6d2fe620, 0x36f42: 0x6d5cd220, 0x36f43: 0x6d5cd420,\n\t0x36f44: 0x6d5cd620, 0x36f45: 0x6d5cd820, 0x36f46: 0x6d5cda20, 0x36f47: 0x6d5cdc20,\n\t0x36f48: 0x6d5cde20, 0x36f49: 0x6d5ce020, 0x36f4a: 0x6d875420, 0x36f4b: 0x6d875620,\n\t0x36f4c: 0x6d875820, 0x36f4d: 0x6d875a20, 0x36f4e: 0x6dcc3020, 0x36f4f: 0x6dabf020,\n\t0x36f50: 0x6dabf220, 0x36f51: 0x6dabf420, 0x36f52: 0x6dabf620, 0x36f53: 0x6dcc3220,\n\t0x36f54: 0x6dcc3420, 0x36f55: 0x6dcc3620, 0x36f56: 0x6de75220, 0x36f57: 0x6de75420,\n\t0x36f58: 0x6de75620, 0x36f59: 0x6de75820, 0x36f5a: 0x6de75a20, 0x36f5b: 0x6de75c20,\n\t0x36f5c: 0x6de75e20, 0x36f5d: 0x6e108820, 0x36f5e: 0x6dfde220, 0x36f5f: 0x6dfde420,\n\t0x36f60: 0x6dfde620, 0x36f61: 0x6e2a7c20, 0x36f62: 0x6e2a7e20, 0x36f63: 0x6e2a8020,\n\t0x36f64: 0x6e46ca20, 0x36f65: 0x6e46ea20, 0x36f66: 0x6c253420, 0x36f67: 0x6c253620,\n\t0x36f68: 0x6c3cba20, 0x36f69: 0x6c5a2a20, 0x36f6a: 0x6c5a2c20, 0x36f6b: 0x6c5a2e20,\n\t0x36f6c: 0x6c5a3020, 0x36f6d: 0x6c5a3220, 0x36f6e: 0x6c5a3420, 0x36f6f: 0x6c5a3620,\n\t0x36f70: 0x6c7cea20, 0x36f71: 0x6c7cec20, 0x36f72: 0x6c7cee20, 0x36f73: 0x6c7cf020,\n\t0x36f74: 0x6c7cf220, 0x36f75: 0x6c7cf420, 0x36f76: 0x6c7cf620, 0x36f77: 0x6c7cf820,\n\t0x36f78: 0x6c7cfa20, 0x36f79: 0x6ca5a220, 0x36f7a: 0x6ca5a420, 0x36f7b: 0x6ca5a620,\n\t0x36f7c: 0x6ca5a820, 0x36f7d: 0x6ca5aa20, 0x36f7e: 0x6ca5ac20, 0x36f7f: 0x6ca5ae20,\n\t// Block 0xdbe, offset 0x36f80\n\t0x36f80: 0x6ca5b020, 0x36f81: 0x6ca5b220, 0x36f82: 0x6ca5b420, 0x36f83: 0x6ca5b620,\n\t0x36f84: 0x6ca5b820, 0x36f85: 0x6ca5ba20, 0x36f86: 0x6ca5bc20, 0x36f87: 0x6ca5be20,\n\t0x36f88: 0x6ca5c020, 0x36f89: 0x6ca5c220, 0x36f8a: 0x6ca5c420, 0x36f8b: 0x6ca5c620,\n\t0x36f8c: 0x6ca5c820, 0x36f8d: 0x6ca5ca20, 0x36f8e: 0x6cd41220, 0x36f8f: 0x6cd41420,\n\t0x36f90: 0x6cd41620, 0x36f91: 0x6cd41820, 0x36f92: 0x6cd41a20, 0x36f93: 0x6cd41c20,\n\t0x36f94: 0x6cd41e20, 0x36f95: 0x6cd42020, 0x36f96: 0x6cd42220, 0x36f97: 0x6cd42420,\n\t0x36f98: 0x6d020a20, 0x36f99: 0x6d020c20, 0x36f9a: 0x6d020e20, 0x36f9b: 0x6d021020,\n\t0x36f9c: 0x6d021220, 0x36f9d: 0x6d021420, 0x36f9e: 0x6d021620, 0x36f9f: 0x6d021820,\n\t0x36fa0: 0x6d021a20, 0x36fa1: 0x6d021c20, 0x36fa2: 0x6d021e20, 0x36fa3: 0x6d022020,\n\t0x36fa4: 0x6d022220, 0x36fa5: 0x6d022420, 0x36fa6: 0x6d022620, 0x36fa7: 0x6d022820,\n\t0x36fa8: 0x6d022a20, 0x36fa9: 0x6d022c20, 0x36faa: 0x6d2fea20, 0x36fab: 0x6d2fec20,\n\t0x36fac: 0x6d2fee20, 0x36fad: 0x6d2ff020, 0x36fae: 0x6d2ff220, 0x36faf: 0x6d2ff420,\n\t0x36fb0: 0x6d2ff620, 0x36fb1: 0x6d2ff820, 0x36fb2: 0x6d5ce220, 0x36fb3: 0x6d5ce420,\n\t0x36fb4: 0x6d5ce620, 0x36fb5: 0x6d5ce820, 0x36fb6: 0x6d5cea20, 0x36fb7: 0x6d5cec20,\n\t0x36fb8: 0x6d5cee20, 0x36fb9: 0x6d5cf020, 0x36fba: 0x6d5cf220, 0x36fbb: 0x6d875c20,\n\t0x36fbc: 0x6d875e20, 0x36fbd: 0x6d876020, 0x36fbe: 0x6d876220, 0x36fbf: 0x6d876420,\n\t// Block 0xdbf, offset 0x36fc0\n\t0x36fc0: 0x6dabfc20, 0x36fc1: 0x6dabfe20, 0x36fc2: 0x6dac0020, 0x36fc3: 0x6dac0220,\n\t0x36fc4: 0x6dac0420, 0x36fc5: 0x6dac0620, 0x36fc6: 0x6dac0820, 0x36fc7: 0x6dcc3820,\n\t0x36fc8: 0x6dcc3a20, 0x36fc9: 0x6dcc3c20, 0x36fca: 0x6dcc3e20, 0x36fcb: 0x6dcc4020,\n\t0x36fcc: 0x6de76220, 0x36fcd: 0x6de76420, 0x36fce: 0x6de76620, 0x36fcf: 0x6de76820,\n\t0x36fd0: 0x6e2a8220, 0x36fd1: 0x6e1f3020, 0x36fd2: 0x6e1f3220, 0x36fd3: 0x6e2a8420,\n\t0x36fd4: 0x6e2a8620, 0x36fd5: 0x6c13f020, 0x36fd6: 0x6c13f220, 0x36fd7: 0x6c254020,\n\t0x36fd8: 0x6c254220, 0x36fd9: 0x6c254420, 0x36fda: 0x6c254620, 0x36fdb: 0x6c254820,\n\t0x36fdc: 0x6c254a20, 0x36fdd: 0x6c3cd620, 0x36fde: 0x6c3cd820, 0x36fdf: 0x6c3cda20,\n\t0x36fe0: 0x6c3cdc20, 0x36fe1: 0x6c3cde20, 0x36fe2: 0x6c3ce020, 0x36fe3: 0x6c3ce220,\n\t0x36fe4: 0x6c3ce420, 0x36fe5: 0x6c3ce620, 0x36fe6: 0x6c3ce820, 0x36fe7: 0x6c3cea20,\n\t0x36fe8: 0x6c3cec20, 0x36fe9: 0x6c5a7e20, 0x36fea: 0x6c5a8020, 0x36feb: 0x6c5a8220,\n\t0x36fec: 0x6c5a8420, 0x36fed: 0x6c5a8620, 0x36fee: 0x6c5a8820, 0x36fef: 0x6c5a8a20,\n\t0x36ff0: 0x6c5a8c20, 0x36ff1: 0x6c5a8e20, 0x36ff2: 0x6c5a9020, 0x36ff3: 0x6c5a9220,\n\t0x36ff4: 0x6c5a9420, 0x36ff5: 0x6c5a9620, 0x36ff6: 0x6c5a9820, 0x36ff7: 0x6c5a9a20,\n\t0x36ff8: 0x6c5a9c20, 0x36ff9: 0x6c5a9e20, 0x36ffa: 0x6c5aa020, 0x36ffb: 0x6c5aa220,\n\t0x36ffc: 0x6c5aa420, 0x36ffd: 0x6c5aa620, 0x36ffe: 0x6c5aa820, 0x36fff: 0x6c5aaa20,\n\t// Block 0xdc0, offset 0x37000\n\t0x37000: 0x6c5aac20, 0x37001: 0x6c5aae20, 0x37002: 0x6c5ab020, 0x37003: 0x6c5ab220,\n\t0x37004: 0x6c5ab420, 0x37005: 0x6c5ab620, 0x37006: 0x6c7d5a20, 0x37007: 0x6c7d5c20,\n\t0x37008: 0x6c7d5e20, 0x37009: 0x6c7d6020, 0x3700a: 0x6c7d6220, 0x3700b: 0x6c7d6420,\n\t0x3700c: 0x6c7d6620, 0x3700d: 0x6c7d6820, 0x3700e: 0x6c7d6a20, 0x3700f: 0x6c7d6c20,\n\t0x37010: 0x6c7d6e20, 0x37011: 0x6c7d7020, 0x37012: 0x6c7d7220, 0x37013: 0x6c7d7420,\n\t0x37014: 0x6c7d7620, 0x37015: 0x6c7d7820, 0x37016: 0x6c7d7a20, 0x37017: 0x6c7d7c20,\n\t0x37018: 0x6c7d7e20, 0x37019: 0x6c7d8020, 0x3701a: 0x6c7d8220, 0x3701b: 0x6c7d8420,\n\t0x3701c: 0x6c7d8620, 0x3701d: 0x6c7d8820, 0x3701e: 0x6c7d8a20, 0x3701f: 0x6c7d8c20,\n\t0x37020: 0x6c7d8e20, 0x37021: 0x6c7d9020, 0x37022: 0x6c7d9220, 0x37023: 0x6c7d9420,\n\t0x37024: 0x6c7d9620, 0x37025: 0x6c7d9820, 0x37026: 0x6c7d9a20, 0x37027: 0x6c7d9c20,\n\t0x37028: 0x6c7d9e20, 0x37029: 0x6c7da020, 0x3702a: 0x6c7da220, 0x3702b: 0x6c7da420,\n\t0x3702c: 0x6c7da620, 0x3702d: 0x6c7da820, 0x3702e: 0x6c7daa20, 0x3702f: 0x6c7dac20,\n\t0x37030: 0x6c7dae20, 0x37031: 0x6c7db020, 0x37032: 0x6c7db220, 0x37033: 0x6ca61220,\n\t0x37034: 0x6ca61420, 0x37035: 0x6ca61620, 0x37036: 0x6ca61820, 0x37037: 0x6ca61a20,\n\t0x37038: 0x6ca61c20, 0x37039: 0x6ca61e20, 0x3703a: 0x6ca62020, 0x3703b: 0x6ca62220,\n\t0x3703c: 0x6ca62420, 0x3703d: 0x6ca62620, 0x3703e: 0x6ca62820, 0x3703f: 0x6ca62a20,\n\t// Block 0xdc1, offset 0x37040\n\t0x37040: 0x6ca62c20, 0x37041: 0x6ca62e20, 0x37042: 0x6ca63020, 0x37043: 0x6ca63220,\n\t0x37044: 0x6ca63420, 0x37045: 0x6ca63620, 0x37046: 0x6ca63820, 0x37047: 0x6ca63a20,\n\t0x37048: 0x6ca63c20, 0x37049: 0x6ca63e20, 0x3704a: 0x6ca64020, 0x3704b: 0x6ca64220,\n\t0x3704c: 0x6ca64420, 0x3704d: 0x6ca64620, 0x3704e: 0x6ca64820, 0x3704f: 0x6ca64a20,\n\t0x37050: 0x6ca64c20, 0x37051: 0x6ca64e20, 0x37052: 0x6ca65020, 0x37053: 0x6ca65220,\n\t0x37054: 0x6ca65420, 0x37055: 0x6ca65620, 0x37056: 0x6ca65820, 0x37057: 0x6ca65a20,\n\t0x37058: 0x6ca65c20, 0x37059: 0x6ca65e20, 0x3705a: 0x6ca66020, 0x3705b: 0x6ca66220,\n\t0x3705c: 0x6ca66420, 0x3705d: 0x6ca66620, 0x3705e: 0x6ca66820, 0x3705f: 0x6ca66a20,\n\t0x37060: 0x6ca66c20, 0x37061: 0x6ca66e20, 0x37062: 0x6ca67020, 0x37063: 0x6ca67220,\n\t0x37064: 0x6ca67420, 0x37065: 0x6ca67620, 0x37066: 0x6ca67820, 0x37067: 0x6ca67a20,\n\t0x37068: 0x6ca67c20, 0x37069: 0x6ca67e20, 0x3706a: 0x6cd46c20, 0x3706b: 0x6cd46e20,\n\t0x3706c: 0x6cd47020, 0x3706d: 0x6cd47220, 0x3706e: 0x6cd47420, 0x3706f: 0x6cd47620,\n\t0x37070: 0x6cd47820, 0x37071: 0x6cd47a20, 0x37072: 0x6cd47c20, 0x37073: 0x6cd47e20,\n\t0x37074: 0x6cd48020, 0x37075: 0x6cd48220, 0x37076: 0x6cd48420, 0x37077: 0x6cd48620,\n\t0x37078: 0x6cd48820, 0x37079: 0x6cd48a20, 0x3707a: 0x6cd48c20, 0x3707b: 0x6cd48e20,\n\t0x3707c: 0x6cd49020, 0x3707d: 0x6cd49220, 0x3707e: 0x6cd49420, 0x3707f: 0x6cd49620,\n\t// Block 0xdc2, offset 0x37080\n\t0x37080: 0x6cd49820, 0x37081: 0x6cd49a20, 0x37082: 0x6cd49c20, 0x37083: 0x6cd49e20,\n\t0x37084: 0x6cd4a020, 0x37085: 0x6cd4a220, 0x37086: 0x6cd4a420, 0x37087: 0x6cd4a620,\n\t0x37088: 0x6cd4a820, 0x37089: 0x6cd4aa20, 0x3708a: 0x6d029c20, 0x3708b: 0x6d029e20,\n\t0x3708c: 0x6d02a020, 0x3708d: 0x6d02a220, 0x3708e: 0x6d02a420, 0x3708f: 0x6d02a620,\n\t0x37090: 0x6d02a820, 0x37091: 0x6d02aa20, 0x37092: 0x6d02ac20, 0x37093: 0x6d02ae20,\n\t0x37094: 0x6d02b020, 0x37095: 0x6d02b220, 0x37096: 0x6d02b420, 0x37097: 0x6d02b620,\n\t0x37098: 0x6d02b820, 0x37099: 0x6d02ba20, 0x3709a: 0x6d02bc20, 0x3709b: 0x6d02be20,\n\t0x3709c: 0x6d02c020, 0x3709d: 0x6d02c220, 0x3709e: 0x6d02c420, 0x3709f: 0x6d02c620,\n\t0x370a0: 0x6d02c820, 0x370a1: 0x6d02ca20, 0x370a2: 0x6d02cc20, 0x370a3: 0x6d02ce20,\n\t0x370a4: 0x6d02d020, 0x370a5: 0x6d02d220, 0x370a6: 0x6d02d420, 0x370a7: 0x6d02d620,\n\t0x370a8: 0x6d02d820, 0x370a9: 0x6d02da20, 0x370aa: 0x6d02dc20, 0x370ab: 0x6d02de20,\n\t0x370ac: 0x6d02e020, 0x370ad: 0x6d02e220, 0x370ae: 0x6d02e420, 0x370af: 0x6d02e620,\n\t0x370b0: 0x6d02e820, 0x370b1: 0x6d02ea20, 0x370b2: 0x6d02ec20, 0x370b3: 0x6d02ee20,\n\t0x370b4: 0x6d02f020, 0x370b5: 0x6d02f220, 0x370b6: 0x6d02f420, 0x370b7: 0x6d02f620,\n\t0x370b8: 0x6d02f820, 0x370b9: 0x6d02fa20, 0x370ba: 0x6d304a20, 0x370bb: 0x6d304c20,\n\t0x370bc: 0x6d304e20, 0x370bd: 0x6d305020, 0x370be: 0x6d305220, 0x370bf: 0x6d305420,\n\t// Block 0xdc3, offset 0x370c0\n\t0x370c0: 0x6d305620, 0x370c1: 0x6d305820, 0x370c2: 0x6d305a20, 0x370c3: 0x6d305c20,\n\t0x370c4: 0x6d305e20, 0x370c5: 0x6d306020, 0x370c6: 0x6d306220, 0x370c7: 0x6d306420,\n\t0x370c8: 0x6d306620, 0x370c9: 0x6d306820, 0x370ca: 0x6d306a20, 0x370cb: 0x6d306c20,\n\t0x370cc: 0x6d306e20, 0x370cd: 0x6d307020, 0x370ce: 0x6d307220, 0x370cf: 0x6d307420,\n\t0x370d0: 0x6d307620, 0x370d1: 0x6d307820, 0x370d2: 0x6d307a20, 0x370d3: 0x6d307c20,\n\t0x370d4: 0x6d307e20, 0x370d5: 0x6d308020, 0x370d6: 0x6d308220, 0x370d7: 0x6d308420,\n\t0x370d8: 0x6d308620, 0x370d9: 0x6d308820, 0x370da: 0x6d308a20, 0x370db: 0x6d308c20,\n\t0x370dc: 0x6d308e20, 0x370dd: 0x6d309020, 0x370de: 0x6d309220, 0x370df: 0x6d309420,\n\t0x370e0: 0x6d309620, 0x370e1: 0x6d309820, 0x370e2: 0x6d309a20, 0x370e3: 0x6d309c20,\n\t0x370e4: 0x6d309e20, 0x370e5: 0x6d30a020, 0x370e6: 0x6d30a220, 0x370e7: 0x6d30a420,\n\t0x370e8: 0x6d30a620, 0x370e9: 0x6d30a820, 0x370ea: 0x6d30aa20, 0x370eb: 0x6d30ac20,\n\t0x370ec: 0x6d30ae20, 0x370ed: 0x6d5d4420, 0x370ee: 0x6d5d4620, 0x370ef: 0x6d5d4820,\n\t0x370f0: 0x6d5d4a20, 0x370f1: 0x6d5d4c20, 0x370f2: 0x6d5d4e20, 0x370f3: 0x6d5d5020,\n\t0x370f4: 0x6d5d5220, 0x370f5: 0x6d5d5420, 0x370f6: 0x6d5d5620, 0x370f7: 0x6d5d5820,\n\t0x370f8: 0x6d5d5a20, 0x370f9: 0x6d5d5c20, 0x370fa: 0x6d5d5e20, 0x370fb: 0x6d5d6020,\n\t0x370fc: 0x6d5d6220, 0x370fd: 0x6d5d6420, 0x370fe: 0x6d5d6620, 0x370ff: 0x6d5d6820,\n\t// Block 0xdc4, offset 0x37100\n\t0x37100: 0x6d5d6a20, 0x37101: 0x6d5d6c20, 0x37102: 0x6d5d6e20, 0x37103: 0x6d5d7020,\n\t0x37104: 0x6d5d7220, 0x37105: 0x6d5d7420, 0x37106: 0x6d5d7620, 0x37107: 0x6d5d7820,\n\t0x37108: 0x6d5d7a20, 0x37109: 0x6d5d7c20, 0x3710a: 0x6d5d7e20, 0x3710b: 0x6d5d8020,\n\t0x3710c: 0x6d87a020, 0x3710d: 0x6d87a220, 0x3710e: 0x6d87a420, 0x3710f: 0x6d87a620,\n\t0x37110: 0x6d87a820, 0x37111: 0x6d87aa20, 0x37112: 0x6d87ac20, 0x37113: 0x6d87ae20,\n\t0x37114: 0x6d87b020, 0x37115: 0x6d87b220, 0x37116: 0x6d87b420, 0x37117: 0x6d87b620,\n\t0x37118: 0x6d87b820, 0x37119: 0x6d87ba20, 0x3711a: 0x6d87bc20, 0x3711b: 0x6d87be20,\n\t0x3711c: 0x6d87c020, 0x3711d: 0x6d87c220, 0x3711e: 0x6d87c420, 0x3711f: 0x6d87c620,\n\t0x37120: 0x6d87c820, 0x37121: 0x6d87ca20, 0x37122: 0x6d87cc20, 0x37123: 0x6d87ce20,\n\t0x37124: 0x6d87d020, 0x37125: 0x6d87d220, 0x37126: 0x6d87d420, 0x37127: 0x6d87d620,\n\t0x37128: 0x6d87d820, 0x37129: 0x6d87da20, 0x3712a: 0x6d87dc20, 0x3712b: 0x6d87de20,\n\t0x3712c: 0x6d87e020, 0x3712d: 0x6d87e220, 0x3712e: 0x6d87e420, 0x3712f: 0x6d87e620,\n\t0x37130: 0x6dac4a20, 0x37131: 0x6dac4c20, 0x37132: 0x6dac4e20, 0x37133: 0x6dac5020,\n\t0x37134: 0x6dac5220, 0x37135: 0x6dac5420, 0x37136: 0x6dac5620, 0x37137: 0x6dac5820,\n\t0x37138: 0x6dac5a20, 0x37139: 0x6dac5c20, 0x3713a: 0x6dac5e20, 0x3713b: 0x6dac6020,\n\t0x3713c: 0x6dac6220, 0x3713d: 0x6dac6420, 0x3713e: 0x6dac6620, 0x3713f: 0x6dac6820,\n\t// Block 0xdc5, offset 0x37140\n\t0x37140: 0x6dac6a20, 0x37141: 0x6dac6c20, 0x37142: 0x6dac6e20, 0x37143: 0x6dac7020,\n\t0x37144: 0x6dac7220, 0x37145: 0x6dac7420, 0x37146: 0x6dac7620, 0x37147: 0x6dac7820,\n\t0x37148: 0x6dac7a20, 0x37149: 0x6dac7c20, 0x3714a: 0x6dac7e20, 0x3714b: 0x6dac8020,\n\t0x3714c: 0x6dac8220, 0x3714d: 0x6dac8420, 0x3714e: 0x6dac8620, 0x3714f: 0x6dac8820,\n\t0x37150: 0x6dac8a20, 0x37151: 0x6dac8c20, 0x37152: 0x6dac8e20, 0x37153: 0x6dac9020,\n\t0x37154: 0x6dac9220, 0x37155: 0x6dac9420, 0x37156: 0x6dac9620, 0x37157: 0x6dcc7420,\n\t0x37158: 0x6dcc7620, 0x37159: 0x6dcc7820, 0x3715a: 0x6dcc7a20, 0x3715b: 0x6dcc7c20,\n\t0x3715c: 0x6dcc7e20, 0x3715d: 0x6dcc8020, 0x3715e: 0x6dcc8220, 0x3715f: 0x6dcc8420,\n\t0x37160: 0x6dcc8620, 0x37161: 0x6dcc8820, 0x37162: 0x6dcc8a20, 0x37163: 0x6dcc8c20,\n\t0x37164: 0x6dcc8e20, 0x37165: 0x6dcc9020, 0x37166: 0x6dcc9220, 0x37167: 0x6dcc9420,\n\t0x37168: 0x6dcc9620, 0x37169: 0x6dcc9820, 0x3716a: 0x6de78220, 0x3716b: 0x6de78420,\n\t0x3716c: 0x6de78620, 0x3716d: 0x6de78820, 0x3716e: 0x6de78a20, 0x3716f: 0x6de78c20,\n\t0x37170: 0x6de78e20, 0x37171: 0x6de79020, 0x37172: 0x6de79220, 0x37173: 0x6de79420,\n\t0x37174: 0x6de79620, 0x37175: 0x6de79820, 0x37176: 0x6de79a20, 0x37177: 0x6de79c20,\n\t0x37178: 0x6de79e20, 0x37179: 0x6de7a020, 0x3717a: 0x6de7a220, 0x3717b: 0x6dfe0a20,\n\t0x3717c: 0x6dfe0c20, 0x3717d: 0x6dfe0e20, 0x3717e: 0x6dfe1020, 0x3717f: 0x6dfe1220,\n\t// Block 0xdc6, offset 0x37180\n\t0x37180: 0x6dfe1420, 0x37181: 0x6dfe1620, 0x37182: 0x6dfe1820, 0x37183: 0x6dfe1a20,\n\t0x37184: 0x6dfe1c20, 0x37185: 0x6dfe1e20, 0x37186: 0x6dfe2020, 0x37187: 0x6dfe2220,\n\t0x37188: 0x6dfe2420, 0x37189: 0x6dfe2620, 0x3718a: 0x6dfe2820, 0x3718b: 0x6dfe2a20,\n\t0x3718c: 0x6dfe2c20, 0x3718d: 0x6dfe2e20, 0x3718e: 0x6dfe3020, 0x3718f: 0x6dfe3220,\n\t0x37190: 0x6dfe3420, 0x37191: 0x6dfe3620, 0x37192: 0x6e10a420, 0x37193: 0x6e10a620,\n\t0x37194: 0x6e10a820, 0x37195: 0x6e10aa20, 0x37196: 0x6e10ac20, 0x37197: 0x6e10ae20,\n\t0x37198: 0x6e10b020, 0x37199: 0x6e10b220, 0x3719a: 0x6e10b420, 0x3719b: 0x6e10b620,\n\t0x3719c: 0x6e10b820, 0x3719d: 0x6e1f3a20, 0x3719e: 0x6e1f3c20, 0x3719f: 0x6e1f3e20,\n\t0x371a0: 0x6e1f4020, 0x371a1: 0x6e1f4220, 0x371a2: 0x6e1f4420, 0x371a3: 0x6e1f4620,\n\t0x371a4: 0x6e1f4820, 0x371a5: 0x6e1f4a20, 0x371a6: 0x6e1f4c20, 0x371a7: 0x6e1f4e20,\n\t0x371a8: 0x6e1f5020, 0x371a9: 0x6e1f5220, 0x371aa: 0x6e1f5420, 0x371ab: 0x6e2a8c20,\n\t0x371ac: 0x6e2a8e20, 0x371ad: 0x6e2a9020, 0x371ae: 0x6e2a9220, 0x371af: 0x6e2a9420,\n\t0x371b0: 0x6e2a9620, 0x371b1: 0x6e2a9820, 0x371b2: 0x6e2a9a20, 0x371b3: 0x6e2a9c20,\n\t0x371b4: 0x6e332820, 0x371b5: 0x6e332a20, 0x371b6: 0x6e361a20, 0x371b7: 0x6e332c20,\n\t0x371b8: 0x6e332e20, 0x371b9: 0x6e394420, 0x371ba: 0x6e3d9820, 0x371bb: 0x6e3d9a20,\n\t0x371bc: 0x6e3d9c20, 0x371bd: 0x6e3d9e20, 0x371be: 0x6e408820, 0x371bf: 0x6e408a20,\n\t// Block 0xdc7, offset 0x371c0\n\t0x371c0: 0x6e408c20, 0x371c1: 0x6e42d020, 0x371c2: 0x6e42d220, 0x371c3: 0x6e444620,\n\t0x371c4: 0x6e46b220, 0x371c5: 0x6c050020, 0x371c6: 0x6c0a3620, 0x371c7: 0x6c13f820,\n\t0x371c8: 0x6c13fa20, 0x371c9: 0x6c13fc20, 0x371ca: 0x6c13fe20, 0x371cb: 0x6c140020,\n\t0x371cc: 0x6c140220, 0x371cd: 0x6c255020, 0x371ce: 0x6c255220, 0x371cf: 0x6c255420,\n\t0x371d0: 0x6c255620, 0x371d1: 0x6c255820, 0x371d2: 0x6c255a20, 0x371d3: 0x6c255c20,\n\t0x371d4: 0x6c255e20, 0x371d5: 0x6c3cfc20, 0x371d6: 0x6c3cfe20, 0x371d7: 0x6c3d0020,\n\t0x371d8: 0x6c3d0220, 0x371d9: 0x6c3d0420, 0x371da: 0x6c3d0620, 0x371db: 0x6c3d0820,\n\t0x371dc: 0x6c3d0a20, 0x371dd: 0x6c3d0c20, 0x371de: 0x6c3d0e20, 0x371df: 0x6c3d1020,\n\t0x371e0: 0x6c3d1220, 0x371e1: 0x6c3d1420, 0x371e2: 0x6c3d1620, 0x371e3: 0x6c3d1820,\n\t0x371e4: 0x6c3d1a20, 0x371e5: 0x6c3d1c20, 0x371e6: 0x6c3d1e20, 0x371e7: 0x6c3d2020,\n\t0x371e8: 0x6c3d2220, 0x371e9: 0x6c3d2420, 0x371ea: 0x6c3d2620, 0x371eb: 0x6c5ade20,\n\t0x371ec: 0x6c5ae020, 0x371ed: 0x6c5ae220, 0x371ee: 0x6c5ae420, 0x371ef: 0x6c5ae620,\n\t0x371f0: 0x6c5ae820, 0x371f1: 0x6c5aea20, 0x371f2: 0x6c5aec20, 0x371f3: 0x6c5aee20,\n\t0x371f4: 0x6c5af020, 0x371f5: 0x6c5af220, 0x371f6: 0x6c5af420, 0x371f7: 0x6c5af620,\n\t0x371f8: 0x6c5af820, 0x371f9: 0x6c5afa20, 0x371fa: 0x6c5afc20, 0x371fb: 0x6c5afe20,\n\t0x371fc: 0x6c5b0020, 0x371fd: 0x6c5b0220, 0x371fe: 0x6c5b0420, 0x371ff: 0x6c5b0620,\n\t// Block 0xdc8, offset 0x37200\n\t0x37200: 0x6c5b0820, 0x37201: 0x6c5b0a20, 0x37202: 0x6c5b0c20, 0x37203: 0x6c5b0e20,\n\t0x37204: 0x6c5b1020, 0x37205: 0x6c5b1220, 0x37206: 0x6c5b1420, 0x37207: 0x6c5b1620,\n\t0x37208: 0x6c5b1820, 0x37209: 0x6c5b1a20, 0x3720a: 0x6c5b1c20, 0x3720b: 0x6c5b1e20,\n\t0x3720c: 0x6c5b2020, 0x3720d: 0x6c5b2220, 0x3720e: 0x6c7dea20, 0x3720f: 0x6c7dec20,\n\t0x37210: 0x6c7dee20, 0x37211: 0x6c7df020, 0x37212: 0x6c7df220, 0x37213: 0x6c7df420,\n\t0x37214: 0x6c7df620, 0x37215: 0x6c7df820, 0x37216: 0x6c7dfa20, 0x37217: 0x6c7dfc20,\n\t0x37218: 0x6c7dfe20, 0x37219: 0x6c7e0020, 0x3721a: 0x6c7e0220, 0x3721b: 0x6c7e0420,\n\t0x3721c: 0x6c7e0620, 0x3721d: 0x6c7e0820, 0x3721e: 0x6c7e0a20, 0x3721f: 0x6c7e0c20,\n\t0x37220: 0x6c7e0e20, 0x37221: 0x6c7e1020, 0x37222: 0x6c7e1220, 0x37223: 0x6c7e1420,\n\t0x37224: 0x6c7e1620, 0x37225: 0x6c7e1820, 0x37226: 0x6c7e1a20, 0x37227: 0x6c7e1c20,\n\t0x37228: 0x6c7e1e20, 0x37229: 0x6c7e2020, 0x3722a: 0x6c7e2220, 0x3722b: 0x6ca6ae20,\n\t0x3722c: 0x6ca6b020, 0x3722d: 0x6ca6b220, 0x3722e: 0x6ca6b420, 0x3722f: 0x6ca6b620,\n\t0x37230: 0x6ca6b820, 0x37231: 0x6ca6ba20, 0x37232: 0x6ca6bc20, 0x37233: 0x6ca6be20,\n\t0x37234: 0x6ca6c020, 0x37235: 0x6ca6c220, 0x37236: 0x6ca6c420, 0x37237: 0x6ca6c620,\n\t0x37238: 0x6ca6c820, 0x37239: 0x6ca6ca20, 0x3723a: 0x6ca6cc20, 0x3723b: 0x6ca6ce20,\n\t0x3723c: 0x6ca6d020, 0x3723d: 0x6ca6d220, 0x3723e: 0x6ca6d420, 0x3723f: 0x6ca6d620,\n\t// Block 0xdc9, offset 0x37240\n\t0x37240: 0x6ca6d820, 0x37241: 0x6ca6da20, 0x37242: 0x6ca6dc20, 0x37243: 0x6ca6de20,\n\t0x37244: 0x6ca6e020, 0x37245: 0x6ca6e220, 0x37246: 0x6ca6e420, 0x37247: 0x6ca6e620,\n\t0x37248: 0x6cd4d620, 0x37249: 0x6cd4d820, 0x3724a: 0x6cd4da20, 0x3724b: 0x6cd4dc20,\n\t0x3724c: 0x6cd4de20, 0x3724d: 0x6cd4e020, 0x3724e: 0x6cd4e220, 0x3724f: 0x6cd4e420,\n\t0x37250: 0x6cd4e620, 0x37251: 0x6cd4e820, 0x37252: 0x6cd4ea20, 0x37253: 0x6cd4ec20,\n\t0x37254: 0x6cd4ee20, 0x37255: 0x6cd4f020, 0x37256: 0x6cd4f220, 0x37257: 0x6cd4f420,\n\t0x37258: 0x6cd4f620, 0x37259: 0x6cd4f820, 0x3725a: 0x6cd4fa20, 0x3725b: 0x6cd4fc20,\n\t0x3725c: 0x6cd4fe20, 0x3725d: 0x6cd50020, 0x3725e: 0x6cd50220, 0x3725f: 0x6cd50420,\n\t0x37260: 0x6cd50620, 0x37261: 0x6cd50820, 0x37262: 0x6cd50a20, 0x37263: 0x6cd50c20,\n\t0x37264: 0x6cd50e20, 0x37265: 0x6cd51020, 0x37266: 0x6d033420, 0x37267: 0x6d033620,\n\t0x37268: 0x6d033820, 0x37269: 0x6d033a20, 0x3726a: 0x6d033c20, 0x3726b: 0x6d033e20,\n\t0x3726c: 0x6d034020, 0x3726d: 0x6d034220, 0x3726e: 0x6d034420, 0x3726f: 0x6d034620,\n\t0x37270: 0x6d034820, 0x37271: 0x6d034a20, 0x37272: 0x6d034c20, 0x37273: 0x6d034e20,\n\t0x37274: 0x6d035020, 0x37275: 0x6d035220, 0x37276: 0x6d035420, 0x37277: 0x6d035620,\n\t0x37278: 0x6d035820, 0x37279: 0x6d035a20, 0x3727a: 0x6d035c20, 0x3727b: 0x6d035e20,\n\t0x3727c: 0x6d036020, 0x3727d: 0x6d036220, 0x3727e: 0x6d036420, 0x3727f: 0x6d036620,\n\t// Block 0xdca, offset 0x37280\n\t0x37280: 0x6d036820, 0x37281: 0x6d036a20, 0x37282: 0x6d036c20, 0x37283: 0x6d036e20,\n\t0x37284: 0x6d037020, 0x37285: 0x6d30e620, 0x37286: 0x6d30e820, 0x37287: 0x6d30ea20,\n\t0x37288: 0x6d30ec20, 0x37289: 0x6d30ee20, 0x3728a: 0x6d30f020, 0x3728b: 0x6d30f220,\n\t0x3728c: 0x6d30f420, 0x3728d: 0x6d30f620, 0x3728e: 0x6d30f820, 0x3728f: 0x6d30fa20,\n\t0x37290: 0x6d30fc20, 0x37291: 0x6d30fe20, 0x37292: 0x6d310020, 0x37293: 0x6d310220,\n\t0x37294: 0x6d310420, 0x37295: 0x6d310620, 0x37296: 0x6d310820, 0x37297: 0x6d310a20,\n\t0x37298: 0x6d5da020, 0x37299: 0x6d5da220, 0x3729a: 0x6d5da420, 0x3729b: 0x6d5da620,\n\t0x3729c: 0x6d5da820, 0x3729d: 0x6d5daa20, 0x3729e: 0x6d5dac20, 0x3729f: 0x6d5dae20,\n\t0x372a0: 0x6d5db020, 0x372a1: 0x6d5db220, 0x372a2: 0x6d5db420, 0x372a3: 0x6d5db620,\n\t0x372a4: 0x6d5db820, 0x372a5: 0x6d5dba20, 0x372a6: 0x6d5dbc20, 0x372a7: 0x6d5dbe20,\n\t0x372a8: 0x6d5dc020, 0x372a9: 0x6d5dc220, 0x372aa: 0x6d5dc420, 0x372ab: 0x6d5dc620,\n\t0x372ac: 0x6d5dc820, 0x372ad: 0x6d5dca20, 0x372ae: 0x6d880620, 0x372af: 0x6d880820,\n\t0x372b0: 0x6d880a20, 0x372b1: 0x6d880c20, 0x372b2: 0x6d880e20, 0x372b3: 0x6d881020,\n\t0x372b4: 0x6d881220, 0x372b5: 0x6d881420, 0x372b6: 0x6d881620, 0x372b7: 0x6d881820,\n\t0x372b8: 0x6d881a20, 0x372b9: 0x6d881c20, 0x372ba: 0x6d881e20, 0x372bb: 0x6d882020,\n\t0x372bc: 0x6d882220, 0x372bd: 0x6d882420, 0x372be: 0x6d882620, 0x372bf: 0x6d882820,\n\t// Block 0xdcb, offset 0x372c0\n\t0x372c0: 0x6d882a20, 0x372c1: 0x6d882c20, 0x372c2: 0x6d882e20, 0x372c3: 0x6dacaa20,\n\t0x372c4: 0x6dacac20, 0x372c5: 0x6dacae20, 0x372c6: 0x6dacb020, 0x372c7: 0x6dacb220,\n\t0x372c8: 0x6dacb420, 0x372c9: 0x6dacb620, 0x372ca: 0x6dacb820, 0x372cb: 0x6dacba20,\n\t0x372cc: 0x6dacbc20, 0x372cd: 0x6dacbe20, 0x372ce: 0x6dacc020, 0x372cf: 0x6dacc220,\n\t0x372d0: 0x6dacc420, 0x372d1: 0x6dacc620, 0x372d2: 0x6dccac20, 0x372d3: 0x6dccae20,\n\t0x372d4: 0x6dccb020, 0x372d5: 0x6dccb220, 0x372d6: 0x6dccb420, 0x372d7: 0x6dccb620,\n\t0x372d8: 0x6dccb820, 0x372d9: 0x6dccba20, 0x372da: 0x6de7b020, 0x372db: 0x6de7b220,\n\t0x372dc: 0x6de7b420, 0x372dd: 0x6de7b620, 0x372de: 0x6de7b820, 0x372df: 0x6de7ba20,\n\t0x372e0: 0x6dfe3c20, 0x372e1: 0x6dfe3e20, 0x372e2: 0x6dfe4020, 0x372e3: 0x6dfe4220,\n\t0x372e4: 0x6dfe4420, 0x372e5: 0x6e10be20, 0x372e6: 0x6e10c020, 0x372e7: 0x6e10c220,\n\t0x372e8: 0x6e10c420, 0x372e9: 0x6e10c620, 0x372ea: 0x6e1f5a20, 0x372eb: 0x6e1f5c20,\n\t0x372ec: 0x6e1f5e20, 0x372ed: 0x6e1f6020, 0x372ee: 0x6e1f6220, 0x372ef: 0x6e1f6420,\n\t0x372f0: 0x6e2aa220, 0x372f1: 0x6e2aa420, 0x372f2: 0x6e2aa620, 0x372f3: 0x6e2aa820,\n\t0x372f4: 0x6e333420, 0x372f5: 0x6e333620, 0x372f6: 0x6e394620, 0x372f7: 0x6e394820,\n\t0x372f8: 0x6e394a20, 0x372f9: 0x6e3da020, 0x372fa: 0x6e3da220, 0x372fb: 0x6c0a3a20,\n\t0x372fc: 0x6c3d2c20, 0x372fd: 0x6c7e2e20, 0x372fe: 0x6ca6f620, 0x372ff: 0x6cd52820,\n\t// Block 0xdcc, offset 0x37300\n\t0x37300: 0x6cb7b420, 0x37301: 0x6cd52a20, 0x37302: 0x6cd52c20, 0x37303: 0x6d037a20,\n\t0x37304: 0x6d311820, 0x37305: 0x6d5dd020, 0x37306: 0x6d5dd220, 0x37307: 0x6d5dd420,\n\t0x37308: 0x6dacca20, 0x37309: 0x6daccc20, 0x3730a: 0x6e10c820, 0x3730b: 0x6e333a20,\n\t0x3730c: 0x6c0a3e20, 0x3730d: 0x6c140420, 0x3730e: 0x6c140620, 0x3730f: 0x6c140820,\n\t0x37310: 0x6c257220, 0x37311: 0x6c257420, 0x37312: 0x6c257620, 0x37313: 0x6c257820,\n\t0x37314: 0x6c3d4820, 0x37315: 0x6c3d4a20, 0x37316: 0x6c3d4c20, 0x37317: 0x6c3d4e20,\n\t0x37318: 0x6c3d5020, 0x37319: 0x6c3d5220, 0x3731a: 0x6c3d5420, 0x3731b: 0x6c3d5620,\n\t0x3731c: 0x6c3d5820, 0x3731d: 0x6c3d5a20, 0x3731e: 0x6c3d5c20, 0x3731f: 0x6c3d5e20,\n\t0x37320: 0x6c3d6020, 0x37321: 0x6c3d6220, 0x37322: 0x6c3d6420, 0x37323: 0x6c5b5820,\n\t0x37324: 0x6c5b5a20, 0x37325: 0x6c5b5c20, 0x37326: 0x6c5b5e20, 0x37327: 0x6c5b6020,\n\t0x37328: 0x6c5b6220, 0x37329: 0x6c5b6420, 0x3732a: 0x6c5b6620, 0x3732b: 0x6c5b6820,\n\t0x3732c: 0x6c5b6a20, 0x3732d: 0x6c5b6c20, 0x3732e: 0x6c5b6e20, 0x3732f: 0x6c5b7020,\n\t0x37330: 0x6c5b7220, 0x37331: 0x6c5b7420, 0x37332: 0x6c5b7620, 0x37333: 0x6c5b7820,\n\t0x37334: 0x6c5b7a20, 0x37335: 0x6c5b7c20, 0x37336: 0x6c5b7e20, 0x37337: 0x6c5b8020,\n\t0x37338: 0x6c5b8220, 0x37339: 0x6c5b8420, 0x3733a: 0x6c5b8620, 0x3733b: 0x6c5b8820,\n\t0x3733c: 0x6c5b8a20, 0x3733d: 0x6c5b8c20, 0x3733e: 0x6c7e6a20, 0x3733f: 0x6c7e6c20,\n\t// Block 0xdcd, offset 0x37340\n\t0x37340: 0x6c7e6e20, 0x37341: 0x6c7e7020, 0x37342: 0x6c7e7220, 0x37343: 0x6c7e7420,\n\t0x37344: 0x6c7e7620, 0x37345: 0x6c7e7820, 0x37346: 0x6c7e7a20, 0x37347: 0x6c7e7c20,\n\t0x37348: 0x6c7e7e20, 0x37349: 0x6c7e8020, 0x3734a: 0x6c7e8220, 0x3734b: 0x6c7e8420,\n\t0x3734c: 0x6c7e8620, 0x3734d: 0x6c7e8820, 0x3734e: 0x6c7e8a20, 0x3734f: 0x6c7e8c20,\n\t0x37350: 0x6c7e8e20, 0x37351: 0x6c7e9020, 0x37352: 0x6c7e9220, 0x37353: 0x6c7e9420,\n\t0x37354: 0x6c7e9620, 0x37355: 0x6c7e9820, 0x37356: 0x6c7e9a20, 0x37357: 0x6c7e9c20,\n\t0x37358: 0x6ca73820, 0x37359: 0x6ca73a20, 0x3735a: 0x6ca73c20, 0x3735b: 0x6ca73e20,\n\t0x3735c: 0x6ca74020, 0x3735d: 0x6ca74220, 0x3735e: 0x6ca74420, 0x3735f: 0x6ca74620,\n\t0x37360: 0x6ca74820, 0x37361: 0x6ca74a20, 0x37362: 0x6ca74c20, 0x37363: 0x6ca74e20,\n\t0x37364: 0x6ca75020, 0x37365: 0x6ca75220, 0x37366: 0x6ca75420, 0x37367: 0x6ca75620,\n\t0x37368: 0x6ca75820, 0x37369: 0x6ca75a20, 0x3736a: 0x6ca75c20, 0x3736b: 0x6ca75e20,\n\t0x3736c: 0x6ca76020, 0x3736d: 0x6ca76220, 0x3736e: 0x6ca76420, 0x3736f: 0x6ca76620,\n\t0x37370: 0x6ca76820, 0x37371: 0x6ca76a20, 0x37372: 0x6cd56020, 0x37373: 0x6cd56220,\n\t0x37374: 0x6cd56420, 0x37375: 0x6cd56620, 0x37376: 0x6cd56820, 0x37377: 0x6cd56a20,\n\t0x37378: 0x6cd56c20, 0x37379: 0x6cd56e20, 0x3737a: 0x6cd57020, 0x3737b: 0x6cd57220,\n\t0x3737c: 0x6cd57420, 0x3737d: 0x6cd57620, 0x3737e: 0x6cd57820, 0x3737f: 0x6cd57a20,\n\t// Block 0xdce, offset 0x37380\n\t0x37380: 0x6cd57c20, 0x37381: 0x6cd57e20, 0x37382: 0x6cd58020, 0x37383: 0x6cd58220,\n\t0x37384: 0x6cd58420, 0x37385: 0x6ca76c20, 0x37386: 0x6cd58620, 0x37387: 0x6cd58820,\n\t0x37388: 0x6cd58a20, 0x37389: 0x6cd58c20, 0x3738a: 0x6cd58e20, 0x3738b: 0x6cd59020,\n\t0x3738c: 0x6cd59220, 0x3738d: 0x6d03c220, 0x3738e: 0x6d03c420, 0x3738f: 0x6d03c620,\n\t0x37390: 0x6d03c820, 0x37391: 0x6d03ca20, 0x37392: 0x6d03cc20, 0x37393: 0x6d03ce20,\n\t0x37394: 0x6d03d020, 0x37395: 0x6d03d220, 0x37396: 0x6d03d420, 0x37397: 0x6d03d620,\n\t0x37398: 0x6d03d820, 0x37399: 0x6d03da20, 0x3739a: 0x6d03dc20, 0x3739b: 0x6d03de20,\n\t0x3739c: 0x6d03e020, 0x3739d: 0x6d03e220, 0x3739e: 0x6d03e420, 0x3739f: 0x6d03e620,\n\t0x373a0: 0x6d03e820, 0x373a1: 0x6d03ea20, 0x373a2: 0x6d03ec20, 0x373a3: 0x6d03ee20,\n\t0x373a4: 0x6d03f020, 0x373a5: 0x6d03f220, 0x373a6: 0x6d03f420, 0x373a7: 0x6d03f620,\n\t0x373a8: 0x6d03f820, 0x373a9: 0x6d03fa20, 0x373aa: 0x6d03fc20, 0x373ab: 0x6d03fe20,\n\t0x373ac: 0x6d040020, 0x373ad: 0x6d040220, 0x373ae: 0x6d040420, 0x373af: 0x6d040620,\n\t0x373b0: 0x6d040820, 0x373b1: 0x6d040a20, 0x373b2: 0x6d040c20, 0x373b3: 0x6d040e20,\n\t0x373b4: 0x6d041020, 0x373b5: 0x6d041220, 0x373b6: 0x6d041420, 0x373b7: 0x6d041620,\n\t0x373b8: 0x6d041820, 0x373b9: 0x6d041a20, 0x373ba: 0x6d041c20, 0x373bb: 0x6d041e20,\n\t0x373bc: 0x6d042020, 0x373bd: 0x6d315020, 0x373be: 0x6d315220, 0x373bf: 0x6d315420,\n\t// Block 0xdcf, offset 0x373c0\n\t0x373c0: 0x6d315620, 0x373c1: 0x6d315820, 0x373c2: 0x6d315a20, 0x373c3: 0x6d315c20,\n\t0x373c4: 0x6d315e20, 0x373c5: 0x6d316020, 0x373c6: 0x6d316220, 0x373c7: 0x6d316420,\n\t0x373c8: 0x6d316620, 0x373c9: 0x6d316820, 0x373ca: 0x6d316a20, 0x373cb: 0x6d316c20,\n\t0x373cc: 0x6d316e20, 0x373cd: 0x6d317020, 0x373ce: 0x6d317220, 0x373cf: 0x6d317420,\n\t0x373d0: 0x6d317620, 0x373d1: 0x6d317820, 0x373d2: 0x6d317a20, 0x373d3: 0x6d317c20,\n\t0x373d4: 0x6d317e20, 0x373d5: 0x6d318020, 0x373d6: 0x6d318220, 0x373d7: 0x6d318420,\n\t0x373d8: 0x6d318620, 0x373d9: 0x6d318820, 0x373da: 0x6d318a20, 0x373db: 0x6d318c20,\n\t0x373dc: 0x6d318e20, 0x373dd: 0x6d319020, 0x373de: 0x6d319220, 0x373df: 0x6d319420,\n\t0x373e0: 0x6d319620, 0x373e1: 0x6d319820, 0x373e2: 0x6d319a20, 0x373e3: 0x6d319c20,\n\t0x373e4: 0x6d319e20, 0x373e5: 0x6d31a020, 0x373e6: 0x6d31a220, 0x373e7: 0x6d31a420,\n\t0x373e8: 0x6d31a620, 0x373e9: 0x6d31a820, 0x373ea: 0x6d31aa20, 0x373eb: 0x6d31ac20,\n\t0x373ec: 0x6d31ae20, 0x373ed: 0x6d31b020, 0x373ee: 0x6d31b220, 0x373ef: 0x6d31b420,\n\t0x373f0: 0x6d31b620, 0x373f1: 0x6d5e0c20, 0x373f2: 0x6d5e0e20, 0x373f3: 0x6d5e1020,\n\t0x373f4: 0x6d5e1220, 0x373f5: 0x6d5e1420, 0x373f6: 0x6d5e1620, 0x373f7: 0x6d5e1820,\n\t0x373f8: 0x6d5e1a20, 0x373f9: 0x6d5e1c20, 0x373fa: 0x6d5e1e20, 0x373fb: 0x6d5e2020,\n\t0x373fc: 0x6d5e2220, 0x373fd: 0x6d5e2420, 0x373fe: 0x6d5e2620, 0x373ff: 0x6d5e2820,\n\t// Block 0xdd0, offset 0x37400\n\t0x37400: 0x6d5e2a20, 0x37401: 0x6d5e2c20, 0x37402: 0x6d5e2e20, 0x37403: 0x6d5e3020,\n\t0x37404: 0x6d5e3220, 0x37405: 0x6d5e3420, 0x37406: 0x6d5e3620, 0x37407: 0x6d5e3820,\n\t0x37408: 0x6d5e3a20, 0x37409: 0x6d5e3c20, 0x3740a: 0x6d5e3e20, 0x3740b: 0x6d5e4020,\n\t0x3740c: 0x6d5e4220, 0x3740d: 0x6d5e4420, 0x3740e: 0x6d5e4620, 0x3740f: 0x6d5e4820,\n\t0x37410: 0x6d5e4a20, 0x37411: 0x6d5e4c20, 0x37412: 0x6d5e4e20, 0x37413: 0x6d5e5020,\n\t0x37414: 0x6d5e5220, 0x37415: 0x6d5e5420, 0x37416: 0x6d5e5620, 0x37417: 0x6d5e5820,\n\t0x37418: 0x6d5e5a20, 0x37419: 0x6d5e5c20, 0x3741a: 0x6d5e5e20, 0x3741b: 0x6d5e6020,\n\t0x3741c: 0x6d885c20, 0x3741d: 0x6d885e20, 0x3741e: 0x6d886020, 0x3741f: 0x6d886220,\n\t0x37420: 0x6d886420, 0x37421: 0x6d886620, 0x37422: 0x6d886820, 0x37423: 0x6d886a20,\n\t0x37424: 0x6d886c20, 0x37425: 0x6d886e20, 0x37426: 0x6d887020, 0x37427: 0x6d887220,\n\t0x37428: 0x6d887420, 0x37429: 0x6d887620, 0x3742a: 0x6d887820, 0x3742b: 0x6d887a20,\n\t0x3742c: 0x6d887c20, 0x3742d: 0x6d887e20, 0x3742e: 0x6d888020, 0x3742f: 0x6d888220,\n\t0x37430: 0x6d888420, 0x37431: 0x6d888620, 0x37432: 0x6d888820, 0x37433: 0x6d888a20,\n\t0x37434: 0x6d888c20, 0x37435: 0x6d888e20, 0x37436: 0x6d889020, 0x37437: 0x6d889220,\n\t0x37438: 0x6d889420, 0x37439: 0x6d889620, 0x3743a: 0x6d889820, 0x3743b: 0x6d889a20,\n\t0x3743c: 0x6d889c20, 0x3743d: 0x6d889e20, 0x3743e: 0x6d88a020, 0x3743f: 0x6d88a220,\n\t// Block 0xdd1, offset 0x37440\n\t0x37440: 0x6d88a420, 0x37441: 0x6d88a620, 0x37442: 0x6d88a820, 0x37443: 0x6d88aa20,\n\t0x37444: 0x6d88ac20, 0x37445: 0x6d88ae20, 0x37446: 0x6d88b020, 0x37447: 0x6d88b220,\n\t0x37448: 0x6d88b420, 0x37449: 0x6d88b620, 0x3744a: 0x6dacec20, 0x3744b: 0x6dacee20,\n\t0x3744c: 0x6dacf020, 0x3744d: 0x6dacf220, 0x3744e: 0x6dacf420, 0x3744f: 0x6dacf620,\n\t0x37450: 0x6dacf820, 0x37451: 0x6dacfa20, 0x37452: 0x6dacfc20, 0x37453: 0x6dacfe20,\n\t0x37454: 0x6dad0020, 0x37455: 0x6dad0220, 0x37456: 0x6dad0420, 0x37457: 0x6dad0620,\n\t0x37458: 0x6dad0820, 0x37459: 0x6dad0a20, 0x3745a: 0x6dad0c20, 0x3745b: 0x6dad0e20,\n\t0x3745c: 0x6dad1020, 0x3745d: 0x6dad1220, 0x3745e: 0x6dad1420, 0x3745f: 0x6dad1620,\n\t0x37460: 0x6dad1820, 0x37461: 0x6dad1a20, 0x37462: 0x6dad1c20, 0x37463: 0x6dad1e20,\n\t0x37464: 0x6dad2020, 0x37465: 0x6dad2220, 0x37466: 0x6dad2420, 0x37467: 0x6dad2620,\n\t0x37468: 0x6dad2820, 0x37469: 0x6dad2a20, 0x3746a: 0x6dad2c20, 0x3746b: 0x6dad2e20,\n\t0x3746c: 0x6dad3020, 0x3746d: 0x6dad3220, 0x3746e: 0x6dad3420, 0x3746f: 0x6dad3620,\n\t0x37470: 0x6dad3820, 0x37471: 0x6dad3a20, 0x37472: 0x6dad3c20, 0x37473: 0x6dad3e20,\n\t0x37474: 0x6dccd820, 0x37475: 0x6dccda20, 0x37476: 0x6dccdc20, 0x37477: 0x6dccde20,\n\t0x37478: 0x6dcce020, 0x37479: 0x6dcce220, 0x3747a: 0x6dcce420, 0x3747b: 0x6dcce620,\n\t0x3747c: 0x6dcce820, 0x3747d: 0x6dccea20, 0x3747e: 0x6dccec20, 0x3747f: 0x6dccee20,\n\t// Block 0xdd2, offset 0x37480\n\t0x37480: 0x6dccf020, 0x37481: 0x6dccf220, 0x37482: 0x6dccf420, 0x37483: 0x6dccf620,\n\t0x37484: 0x6dccf820, 0x37485: 0x6dccfa20, 0x37486: 0x6dccfc20, 0x37487: 0x6dccfe20,\n\t0x37488: 0x6dcd0020, 0x37489: 0x6dcd0220, 0x3748a: 0x6de7cc20, 0x3748b: 0x6dcd0420,\n\t0x3748c: 0x6dcd0620, 0x3748d: 0x6dcd0820, 0x3748e: 0x6dcd0a20, 0x3748f: 0x6dcd0c20,\n\t0x37490: 0x6dcd0e20, 0x37491: 0x6dcd1020, 0x37492: 0x6dcd1220, 0x37493: 0x6dcd1420,\n\t0x37494: 0x6dcd1620, 0x37495: 0x6de7ce20, 0x37496: 0x6de7d020, 0x37497: 0x6de7d220,\n\t0x37498: 0x6de7d420, 0x37499: 0x6de7d620, 0x3749a: 0x6de7d820, 0x3749b: 0x6de7da20,\n\t0x3749c: 0x6de7dc20, 0x3749d: 0x6de7de20, 0x3749e: 0x6de7e020, 0x3749f: 0x6de7e220,\n\t0x374a0: 0x6de7e420, 0x374a1: 0x6de7e620, 0x374a2: 0x6dfe5220, 0x374a3: 0x6de7e820,\n\t0x374a4: 0x6de7ea20, 0x374a5: 0x6de7ec20, 0x374a6: 0x6de7ee20, 0x374a7: 0x6de7f020,\n\t0x374a8: 0x6dfe5420, 0x374a9: 0x6dfe5620, 0x374aa: 0x6dfe5820, 0x374ab: 0x6dfe5a20,\n\t0x374ac: 0x6dfe5c20, 0x374ad: 0x6dfe5e20, 0x374ae: 0x6dfe6020, 0x374af: 0x6dfe6220,\n\t0x374b0: 0x6dfe6420, 0x374b1: 0x6dfe6620, 0x374b2: 0x6dfe6820, 0x374b3: 0x6dfe6a20,\n\t0x374b4: 0x6dfe6c20, 0x374b5: 0x6dfe6e20, 0x374b6: 0x6dfe7020, 0x374b7: 0x6e046620,\n\t0x374b8: 0x6dfe7220, 0x374b9: 0x6dfe7420, 0x374ba: 0x6dfe7620, 0x374bb: 0x6dfe7820,\n\t0x374bc: 0x6dfe7a20, 0x374bd: 0x6dfe7c20, 0x374be: 0x6dfe7e20, 0x374bf: 0x6dfe8020,\n\t// Block 0xdd3, offset 0x374c0\n\t0x374c0: 0x6e10d220, 0x374c1: 0x6e10d420, 0x374c2: 0x6e10d620, 0x374c3: 0x6e10d820,\n\t0x374c4: 0x6e10da20, 0x374c5: 0x6e10dc20, 0x374c6: 0x6e1f6c20, 0x374c7: 0x6e1f6e20,\n\t0x374c8: 0x6e1f7020, 0x374c9: 0x6e1f7220, 0x374ca: 0x6e2aaa20, 0x374cb: 0x6e2aac20,\n\t0x374cc: 0x6e2aae20, 0x374cd: 0x6e2ab020, 0x374ce: 0x6e2ab220, 0x374cf: 0x6e2ab420,\n\t0x374d0: 0x6e2ab620, 0x374d1: 0x6e2ab820, 0x374d2: 0x6e2aba20, 0x374d3: 0x6e334020,\n\t0x374d4: 0x6e328a20, 0x374d5: 0x6e334220, 0x374d6: 0x6e334420, 0x374d7: 0x6e394e20,\n\t0x374d8: 0x6e395020, 0x374d9: 0x6e395220, 0x374da: 0x6e395420, 0x374db: 0x6e3da420,\n\t0x374dc: 0x6e3da620, 0x374dd: 0x6e3da820, 0x374de: 0x6e444a20, 0x374df: 0x6e444c20,\n\t0x374e0: 0x6e463420, 0x374e1: 0x6e46cc20, 0x374e2: 0x6c0a4220, 0x374e3: 0x6c258020,\n\t0x374e4: 0x6c258220, 0x374e5: 0x6c258420, 0x374e6: 0x6c258620, 0x374e7: 0x6c3d7220,\n\t0x374e8: 0x6c3d7420, 0x374e9: 0x6c3d7620, 0x374ea: 0x6c3d7820, 0x374eb: 0x6c3d7a20,\n\t0x374ec: 0x6c3d7c20, 0x374ed: 0x6c3d7e20, 0x374ee: 0x6c3d8020, 0x374ef: 0x6c3d8220,\n\t0x374f0: 0x6c3d8420, 0x374f1: 0x6c3d8620, 0x374f2: 0x6c3d8820, 0x374f3: 0x6c3d8a20,\n\t0x374f4: 0x6c5baa20, 0x374f5: 0x6c5bac20, 0x374f6: 0x6c5bae20, 0x374f7: 0x6c5bb020,\n\t0x374f8: 0x6c5bb220, 0x374f9: 0x6c5bb420, 0x374fa: 0x6c5bb620, 0x374fb: 0x6c5bb820,\n\t0x374fc: 0x6c5bba20, 0x374fd: 0x6c5bbc20, 0x374fe: 0x6c5bbe20, 0x374ff: 0x6c5bc020,\n\t// Block 0xdd4, offset 0x37500\n\t0x37500: 0x6c5bc220, 0x37501: 0x6c5bc420, 0x37502: 0x6c5bc620, 0x37503: 0x6c5bc820,\n\t0x37504: 0x6c5bca20, 0x37505: 0x6c5bcc20, 0x37506: 0x6c5bce20, 0x37507: 0x6c7ec220,\n\t0x37508: 0x6c7ec420, 0x37509: 0x6c7ec620, 0x3750a: 0x6c7ec820, 0x3750b: 0x6c7eca20,\n\t0x3750c: 0x6c7ecc20, 0x3750d: 0x6c7ece20, 0x3750e: 0x6c7ed020, 0x3750f: 0x6c7ed220,\n\t0x37510: 0x6c7ed420, 0x37511: 0x6c7ed620, 0x37512: 0x6c7ed820, 0x37513: 0x6c7eda20,\n\t0x37514: 0x6c7edc20, 0x37515: 0x6c7ede20, 0x37516: 0x6c7ee020, 0x37517: 0x6c7ee220,\n\t0x37518: 0x6c7ee420, 0x37519: 0x6c7ee620, 0x3751a: 0x6c7ee820, 0x3751b: 0x6c7eea20,\n\t0x3751c: 0x6c7eec20, 0x3751d: 0x6c7eee20, 0x3751e: 0x6c7ef020, 0x3751f: 0x6c7ef220,\n\t0x37520: 0x6ca79420, 0x37521: 0x6ca79620, 0x37522: 0x6ca79820, 0x37523: 0x6ca79a20,\n\t0x37524: 0x6ca79c20, 0x37525: 0x6ca79e20, 0x37526: 0x6ca7a020, 0x37527: 0x6ca7a220,\n\t0x37528: 0x6ca7a420, 0x37529: 0x6ca7a620, 0x3752a: 0x6ca7a820, 0x3752b: 0x6ca7aa20,\n\t0x3752c: 0x6ca7ac20, 0x3752d: 0x6ca7ae20, 0x3752e: 0x6ca7b020, 0x3752f: 0x6ca7b220,\n\t0x37530: 0x6ca7b420, 0x37531: 0x6ca7b620, 0x37532: 0x6ca7b820, 0x37533: 0x6ca7ba20,\n\t0x37534: 0x6ca7bc20, 0x37535: 0x6ca7be20, 0x37536: 0x6cd5ba20, 0x37537: 0x6cd5bc20,\n\t0x37538: 0x6cd5be20, 0x37539: 0x6cd5c020, 0x3753a: 0x6cd5c220, 0x3753b: 0x6cd5c420,\n\t0x3753c: 0x6cd5c620, 0x3753d: 0x6cd5c820, 0x3753e: 0x6cd5ca20, 0x3753f: 0x6cd5cc20,\n\t// Block 0xdd5, offset 0x37540\n\t0x37540: 0x6cd5ce20, 0x37541: 0x6cd5d020, 0x37542: 0x6cd5d220, 0x37543: 0x6cd5d420,\n\t0x37544: 0x6cd5d620, 0x37545: 0x6cd5d820, 0x37546: 0x6cd5da20, 0x37547: 0x6cd5dc20,\n\t0x37548: 0x6cd5de20, 0x37549: 0x6cd5e020, 0x3754a: 0x6cd5e220, 0x3754b: 0x6cd5e420,\n\t0x3754c: 0x6cd5e620, 0x3754d: 0x6cd5e820, 0x3754e: 0x6cd5ea20, 0x3754f: 0x6cd5ec20,\n\t0x37550: 0x6cd5ee20, 0x37551: 0x6cd5f020, 0x37552: 0x6cd5f220, 0x37553: 0x6cd5f420,\n\t0x37554: 0x6cd5f620, 0x37555: 0x6cd5f820, 0x37556: 0x6cd5fa20, 0x37557: 0x6cd5fc20,\n\t0x37558: 0x6cd5fe20, 0x37559: 0x6cd60020, 0x3755a: 0x6cd60220, 0x3755b: 0x6d044620,\n\t0x3755c: 0x6d044820, 0x3755d: 0x6d044a20, 0x3755e: 0x6d044c20, 0x3755f: 0x6d044e20,\n\t0x37560: 0x6d045020, 0x37561: 0x6d045220, 0x37562: 0x6d045420, 0x37563: 0x6d045620,\n\t0x37564: 0x6d045820, 0x37565: 0x6d045a20, 0x37566: 0x6d045c20, 0x37567: 0x6d045e20,\n\t0x37568: 0x6d046020, 0x37569: 0x6d046220, 0x3756a: 0x6d046420, 0x3756b: 0x6d046620,\n\t0x3756c: 0x6d046820, 0x3756d: 0x6d046a20, 0x3756e: 0x6d046c20, 0x3756f: 0x6d046e20,\n\t0x37570: 0x6d047020, 0x37571: 0x6d047220, 0x37572: 0x6d047420, 0x37573: 0x6d047620,\n\t0x37574: 0x6d047820, 0x37575: 0x6d047a20, 0x37576: 0x6d047c20, 0x37577: 0x6d047e20,\n\t0x37578: 0x6d31d420, 0x37579: 0x6d31d620, 0x3757a: 0x6d31d820, 0x3757b: 0x6d31da20,\n\t0x3757c: 0x6d31dc20, 0x3757d: 0x6d31de20, 0x3757e: 0x6d31e020, 0x3757f: 0x6d31e220,\n\t// Block 0xdd6, offset 0x37580\n\t0x37580: 0x6d31e420, 0x37581: 0x6d31e620, 0x37582: 0x6d31e820, 0x37583: 0x6d31ea20,\n\t0x37584: 0x6d31ec20, 0x37585: 0x6d31ee20, 0x37586: 0x6d31f020, 0x37587: 0x6d31f220,\n\t0x37588: 0x6d31f420, 0x37589: 0x6d31f620, 0x3758a: 0x6d31f820, 0x3758b: 0x6d31fa20,\n\t0x3758c: 0x6d31fc20, 0x3758d: 0x6d31fe20, 0x3758e: 0x6d320020, 0x3758f: 0x6d320220,\n\t0x37590: 0x6d5e7e20, 0x37591: 0x6d5e8020, 0x37592: 0x6d5e8220, 0x37593: 0x6d5e8420,\n\t0x37594: 0x6d5e8620, 0x37595: 0x6d5e8820, 0x37596: 0x6d5e8a20, 0x37597: 0x6d5e8c20,\n\t0x37598: 0x6d5e8e20, 0x37599: 0x6d5e9020, 0x3759a: 0x6d5e9220, 0x3759b: 0x6d5e9420,\n\t0x3759c: 0x6d5e9620, 0x3759d: 0x6d5e9820, 0x3759e: 0x6d5e9a20, 0x3759f: 0x6d5e9c20,\n\t0x375a0: 0x6d5e9e20, 0x375a1: 0x6d5ea020, 0x375a2: 0x6d627c20, 0x375a3: 0x6d5ea220,\n\t0x375a4: 0x6d5ea420, 0x375a5: 0x6d5ea620, 0x375a6: 0x6d5ea820, 0x375a7: 0x6d5eaa20,\n\t0x375a8: 0x6d5eac20, 0x375a9: 0x6d5eae20, 0x375aa: 0x6d5eb020, 0x375ab: 0x6d5eb220,\n\t0x375ac: 0x6d88da20, 0x375ad: 0x6d88dc20, 0x375ae: 0x6d88de20, 0x375af: 0x6d88e020,\n\t0x375b0: 0x6d88e220, 0x375b1: 0x6d88e420, 0x375b2: 0x6d88e620, 0x375b3: 0x6d88e820,\n\t0x375b4: 0x6d88ea20, 0x375b5: 0x6d88ec20, 0x375b6: 0x6d88ee20, 0x375b7: 0x6d88f020,\n\t0x375b8: 0x6d88f220, 0x375b9: 0x6d88f420, 0x375ba: 0x6d88f620, 0x375bb: 0x6d88f820,\n\t0x375bc: 0x6dad5a20, 0x375bd: 0x6d88fa20, 0x375be: 0x6d88fc20, 0x375bf: 0x6d88fe20,\n\t// Block 0xdd7, offset 0x375c0\n\t0x375c0: 0x6d890020, 0x375c1: 0x6d890220, 0x375c2: 0x6d890420, 0x375c3: 0x6d890620,\n\t0x375c4: 0x6d890820, 0x375c5: 0x6d890a20, 0x375c6: 0x6d890c20, 0x375c7: 0x6d890e20,\n\t0x375c8: 0x6d891020, 0x375c9: 0x6d891220, 0x375ca: 0x6d891420, 0x375cb: 0x6d891620,\n\t0x375cc: 0x6dad5c20, 0x375cd: 0x6dad5e20, 0x375ce: 0x6dad6020, 0x375cf: 0x6dad6220,\n\t0x375d0: 0x6dad6420, 0x375d1: 0x6dad6620, 0x375d2: 0x6dad6820, 0x375d3: 0x6dad6a20,\n\t0x375d4: 0x6dad6c20, 0x375d5: 0x6dad6e20, 0x375d6: 0x6dad7020, 0x375d7: 0x6dad7220,\n\t0x375d8: 0x6dad7420, 0x375d9: 0x6dad7620, 0x375da: 0x6dad7820, 0x375db: 0x6dad7a20,\n\t0x375dc: 0x6dad7c20, 0x375dd: 0x6dad7e20, 0x375de: 0x6dad8020, 0x375df: 0x6dad8220,\n\t0x375e0: 0x6dcd2420, 0x375e1: 0x6dcd2620, 0x375e2: 0x6dcd2820, 0x375e3: 0x6dcd2a20,\n\t0x375e4: 0x6dcd2c20, 0x375e5: 0x6dcd2e20, 0x375e6: 0x6dcd3020, 0x375e7: 0x6dcd3220,\n\t0x375e8: 0x6dcd3420, 0x375e9: 0x6dad8420, 0x375ea: 0x6de7f820, 0x375eb: 0x6de7fa20,\n\t0x375ec: 0x6de7fc20, 0x375ed: 0x6de7fe20, 0x375ee: 0x6de80020, 0x375ef: 0x6de80220,\n\t0x375f0: 0x6dfe8820, 0x375f1: 0x6dfe8a20, 0x375f2: 0x6de80420, 0x375f3: 0x6dfe8c20,\n\t0x375f4: 0x6dfe8e20, 0x375f5: 0x6e10e420, 0x375f6: 0x6dfe9020, 0x375f7: 0x6dfe9220,\n\t0x375f8: 0x6dfe9420, 0x375f9: 0x6dfe9620, 0x375fa: 0x6dfe9820, 0x375fb: 0x6e10e620,\n\t0x375fc: 0x6e10e820, 0x375fd: 0x6e10ea20, 0x375fe: 0x6e10ec20, 0x375ff: 0x6e10ee20,\n\t// Block 0xdd8, offset 0x37600\n\t0x37600: 0x6e10f020, 0x37601: 0x6e10f220, 0x37602: 0x6e10f420, 0x37603: 0x6e10f620,\n\t0x37604: 0x6e10f820, 0x37605: 0x6e10fa20, 0x37606: 0x6e10fc20, 0x37607: 0x6e10fe20,\n\t0x37608: 0x6e110020, 0x37609: 0x6e1f7a20, 0x3760a: 0x6e2abc20, 0x3760b: 0x6e2abe20,\n\t0x3760c: 0x6e334620, 0x3760d: 0x6e334820, 0x3760e: 0x6e395620, 0x3760f: 0x6e334a20,\n\t0x37610: 0x6e334c20, 0x37611: 0x6e334e20, 0x37612: 0x6e395820, 0x37613: 0x6e3daa20,\n\t0x37614: 0x6e444e20, 0x37615: 0x6c258e20, 0x37616: 0x6c259020, 0x37617: 0x6c3d9420,\n\t0x37618: 0x6c3d9620, 0x37619: 0x6c5be620, 0x3761a: 0x6c5be820, 0x3761b: 0x6c5bea20,\n\t0x3761c: 0x6c5bec20, 0x3761d: 0x6c5bee20, 0x3761e: 0x6c5bf020, 0x3761f: 0x6c5bf220,\n\t0x37620: 0x6c7f0c20, 0x37621: 0x6c7f0e20, 0x37622: 0x6c7f1020, 0x37623: 0x6c7f1220,\n\t0x37624: 0x6c7f1420, 0x37625: 0x6c7f1620, 0x37626: 0x6c7f1820, 0x37627: 0x6c7f1a20,\n\t0x37628: 0x6c7f1c20, 0x37629: 0x6c7f1e20, 0x3762a: 0x6c7f2020, 0x3762b: 0x6c7f2220,\n\t0x3762c: 0x6c7f2420, 0x3762d: 0x6c7f2620, 0x3762e: 0x6c7f2820, 0x3762f: 0x6c7f2a20,\n\t0x37630: 0x6c7f2c20, 0x37631: 0x6ca7ca20, 0x37632: 0x6ca7cc20, 0x37633: 0x6ca7ce20,\n\t0x37634: 0x6ca7d020, 0x37635: 0x6ca7d220, 0x37636: 0x6ca7d420, 0x37637: 0x6ca7d620,\n\t0x37638: 0x6ca7d820, 0x37639: 0x6ca7da20, 0x3763a: 0x6ca7dc20, 0x3763b: 0x6ca7de20,\n\t0x3763c: 0x6ca7e020, 0x3763d: 0x6ca7e220, 0x3763e: 0x6cd61a20, 0x3763f: 0x6cd61c20,\n\t// Block 0xdd9, offset 0x37640\n\t0x37640: 0x6cd61e20, 0x37641: 0x6cd62020, 0x37642: 0x6cd62220, 0x37643: 0x6cd62420,\n\t0x37644: 0x6cd62620, 0x37645: 0x6cd62820, 0x37646: 0x6cd62a20, 0x37647: 0x6cd62c20,\n\t0x37648: 0x6cd62e20, 0x37649: 0x6cd63020, 0x3764a: 0x6d049620, 0x3764b: 0x6d049820,\n\t0x3764c: 0x6d049a20, 0x3764d: 0x6d049c20, 0x3764e: 0x6d049e20, 0x3764f: 0x6d04a020,\n\t0x37650: 0x6d04a220, 0x37651: 0x6d04a420, 0x37652: 0x6d04a620, 0x37653: 0x6d04a820,\n\t0x37654: 0x6d04aa20, 0x37655: 0x6d04ac20, 0x37656: 0x6d04ae20, 0x37657: 0x6d04b020,\n\t0x37658: 0x6d321020, 0x37659: 0x6d321220, 0x3765a: 0x6d321420, 0x3765b: 0x6d321620,\n\t0x3765c: 0x6d321820, 0x3765d: 0x6d321a20, 0x3765e: 0x6d321c20, 0x3765f: 0x6d321e20,\n\t0x37660: 0x6d322020, 0x37661: 0x6d322220, 0x37662: 0x6d322420, 0x37663: 0x6d322620,\n\t0x37664: 0x6d322820, 0x37665: 0x6d5eb620, 0x37666: 0x6d5eb820, 0x37667: 0x6d5eba20,\n\t0x37668: 0x6d5ebc20, 0x37669: 0x6d5ebe20, 0x3766a: 0x6d5ec020, 0x3766b: 0x6d5ec220,\n\t0x3766c: 0x6d5ec420, 0x3766d: 0x6d892420, 0x3766e: 0x6d892620, 0x3766f: 0x6dad9020,\n\t0x37670: 0x6d892820, 0x37671: 0x6d892a20, 0x37672: 0x6dad9220, 0x37673: 0x6dad9420,\n\t0x37674: 0x6dad9620, 0x37675: 0x6dad9820, 0x37676: 0x6dad9a20, 0x37677: 0x6dad9c20,\n\t0x37678: 0x6dad9e20, 0x37679: 0x6dada020, 0x3767a: 0x6de80820, 0x3767b: 0x6dada220,\n\t0x3767c: 0x6dcd3c20, 0x3767d: 0x6dcd3e20, 0x3767e: 0x6dcd4020, 0x3767f: 0x6dcd4220,\n\t// Block 0xdda, offset 0x37680\n\t0x37680: 0x6dcd4420, 0x37681: 0x6dcd4620, 0x37682: 0x6dc73620, 0x37683: 0x6dcd4820,\n\t0x37684: 0x6dcd4a20, 0x37685: 0x6de80a20, 0x37686: 0x6de80c20, 0x37687: 0x6de80e20,\n\t0x37688: 0x6dfe9e20, 0x37689: 0x6dfea020, 0x3768a: 0x6dfea220, 0x3768b: 0x6dfea420,\n\t0x3768c: 0x6dfea620, 0x3768d: 0x6dfea820, 0x3768e: 0x6e110220, 0x3768f: 0x6e110420,\n\t0x37690: 0x6e1f8020, 0x37691: 0x6e1f8220, 0x37692: 0x6e395a20, 0x37693: 0x6e2ac220,\n\t0x37694: 0x6e335020, 0x37695: 0x6e395c20, 0x37696: 0x6e395e20, 0x37697: 0x6c141220,\n\t0x37698: 0x6c259420, 0x37699: 0x6c3d9e20, 0x3769a: 0x6c3da020, 0x3769b: 0x6c3da220,\n\t0x3769c: 0x6c3da420, 0x3769d: 0x6c5c0820, 0x3769e: 0x6c5c0a20, 0x3769f: 0x6c5c0c20,\n\t0x376a0: 0x6c5c0e20, 0x376a1: 0x6c5c1020, 0x376a2: 0x6c5c1220, 0x376a3: 0x6c5c1420,\n\t0x376a4: 0x6c5c1620, 0x376a5: 0x6c5c1820, 0x376a6: 0x6c5c1a20, 0x376a7: 0x6c5c1c20,\n\t0x376a8: 0x6c5c1e20, 0x376a9: 0x6c5c2020, 0x376aa: 0x6c5c2220, 0x376ab: 0x6c5c2420,\n\t0x376ac: 0x6c5c2620, 0x376ad: 0x6c5c2820, 0x376ae: 0x6c5c2a20, 0x376af: 0x6c7f6220,\n\t0x376b0: 0x6c7f6420, 0x376b1: 0x6c7f6620, 0x376b2: 0x6c7f6820, 0x376b3: 0x6c7f6a20,\n\t0x376b4: 0x6c7f6c20, 0x376b5: 0x6c7f6e20, 0x376b6: 0x6c7f7020, 0x376b7: 0x6c7f7220,\n\t0x376b8: 0x6c7f7420, 0x376b9: 0x6c7f7620, 0x376ba: 0x6c7f7820, 0x376bb: 0x6c7f7a20,\n\t0x376bc: 0x6c7f7c20, 0x376bd: 0x6c7f7e20, 0x376be: 0x6c7f8020, 0x376bf: 0x6c7f8220,\n\t// Block 0xddb, offset 0x376c0\n\t0x376c0: 0x6c7f8420, 0x376c1: 0x6c7f8620, 0x376c2: 0x6c7f8820, 0x376c3: 0x6c7f8a20,\n\t0x376c4: 0x6c7f8c20, 0x376c5: 0x6c7f8e20, 0x376c6: 0x6c7f9020, 0x376c7: 0x6c7f9220,\n\t0x376c8: 0x6c7f9420, 0x376c9: 0x6c7f9620, 0x376ca: 0x6c7f9820, 0x376cb: 0x6c7f9a20,\n\t0x376cc: 0x6ca84c20, 0x376cd: 0x6ca84e20, 0x376ce: 0x6ca85020, 0x376cf: 0x6ca85220,\n\t0x376d0: 0x6ca85420, 0x376d1: 0x6ca85620, 0x376d2: 0x6ca85820, 0x376d3: 0x6ca85a20,\n\t0x376d4: 0x6ca85c20, 0x376d5: 0x6ca85e20, 0x376d6: 0x6ca86020, 0x376d7: 0x6ca86220,\n\t0x376d8: 0x6ca86420, 0x376d9: 0x6ca86620, 0x376da: 0x6ca86820, 0x376db: 0x6ca86a20,\n\t0x376dc: 0x6ca86c20, 0x376dd: 0x6ca86e20, 0x376de: 0x6ca87020, 0x376df: 0x6ca87220,\n\t0x376e0: 0x6ca87420, 0x376e1: 0x6ca87620, 0x376e2: 0x6ca87820, 0x376e3: 0x6ca87a20,\n\t0x376e4: 0x6ca87c20, 0x376e5: 0x6ca87e20, 0x376e6: 0x6ca88020, 0x376e7: 0x6ca88220,\n\t0x376e8: 0x6ca88420, 0x376e9: 0x6ca88620, 0x376ea: 0x6cd69020, 0x376eb: 0x6cd69220,\n\t0x376ec: 0x6cd69420, 0x376ed: 0x6cd69620, 0x376ee: 0x6cd69820, 0x376ef: 0x6cd69a20,\n\t0x376f0: 0x6cd69c20, 0x376f1: 0x6cd69e20, 0x376f2: 0x6cd6a020, 0x376f3: 0x6cd6a220,\n\t0x376f4: 0x6cd6a420, 0x376f5: 0x6cd6a620, 0x376f6: 0x6cd6a820, 0x376f7: 0x6cd6aa20,\n\t0x376f8: 0x6cd6ac20, 0x376f9: 0x6cd6ae20, 0x376fa: 0x6cd6b020, 0x376fb: 0x6cd6b220,\n\t0x376fc: 0x6cd6b420, 0x376fd: 0x6cd6b620, 0x376fe: 0x6cd6b820, 0x376ff: 0x6ca88820,\n\t// Block 0xddc, offset 0x37700\n\t0x37700: 0x6cd6ba20, 0x37701: 0x6cd6bc20, 0x37702: 0x6cd6be20, 0x37703: 0x6cd6c020,\n\t0x37704: 0x6cd6c220, 0x37705: 0x6cd6c420, 0x37706: 0x6cd6c620, 0x37707: 0x6cd6c820,\n\t0x37708: 0x6cd6ca20, 0x37709: 0x6cd6cc20, 0x3770a: 0x6cd6ce20, 0x3770b: 0x6cd6d020,\n\t0x3770c: 0x6cd6d220, 0x3770d: 0x6cd6d420, 0x3770e: 0x6cd6d620, 0x3770f: 0x6cd6d820,\n\t0x37710: 0x6d051220, 0x37711: 0x6d051420, 0x37712: 0x6d051620, 0x37713: 0x6d051820,\n\t0x37714: 0x6d051a20, 0x37715: 0x6d051c20, 0x37716: 0x6d051e20, 0x37717: 0x6d052020,\n\t0x37718: 0x6d052220, 0x37719: 0x6d052420, 0x3771a: 0x6d052620, 0x3771b: 0x6d052820,\n\t0x3771c: 0x6d052a20, 0x3771d: 0x6d052c20, 0x3771e: 0x6d052e20, 0x3771f: 0x6d053020,\n\t0x37720: 0x6d053220, 0x37721: 0x6d053420, 0x37722: 0x6d053620, 0x37723: 0x6d053820,\n\t0x37724: 0x6d053a20, 0x37725: 0x6d053c20, 0x37726: 0x6d053e20, 0x37727: 0x6d054020,\n\t0x37728: 0x6d054220, 0x37729: 0x6d054420, 0x3772a: 0x6d054620, 0x3772b: 0x6d054820,\n\t0x3772c: 0x6d054a20, 0x3772d: 0x6d054c20, 0x3772e: 0x6d054e20, 0x3772f: 0x6d055020,\n\t0x37730: 0x6d055220, 0x37731: 0x6d055420, 0x37732: 0x6d055620, 0x37733: 0x6d055820,\n\t0x37734: 0x6d055a20, 0x37735: 0x6d055c20, 0x37736: 0x6d055e20, 0x37737: 0x6d056020,\n\t0x37738: 0x6d056220, 0x37739: 0x6d056420, 0x3773a: 0x6d056620, 0x3773b: 0x6d056820,\n\t0x3773c: 0x6d056a20, 0x3773d: 0x6d056c20, 0x3773e: 0x6d056e20, 0x3773f: 0x6d057020,\n\t// Block 0xddd, offset 0x37740\n\t0x37740: 0x6d057220, 0x37741: 0x6d057420, 0x37742: 0x6d057620, 0x37743: 0x6d057820,\n\t0x37744: 0x6d057a20, 0x37745: 0x6d057c20, 0x37746: 0x6d057e20, 0x37747: 0x6d058020,\n\t0x37748: 0x6d058220, 0x37749: 0x6d058420, 0x3774a: 0x6d058620, 0x3774b: 0x6d058820,\n\t0x3774c: 0x6d058a20, 0x3774d: 0x6d32a220, 0x3774e: 0x6d32a420, 0x3774f: 0x6d32a620,\n\t0x37750: 0x6d32a820, 0x37751: 0x6d32aa20, 0x37752: 0x6d32ac20, 0x37753: 0x6d32ae20,\n\t0x37754: 0x6d32b020, 0x37755: 0x6d32b220, 0x37756: 0x6d32b420, 0x37757: 0x6d32b620,\n\t0x37758: 0x6d32b820, 0x37759: 0x6d32ba20, 0x3775a: 0x6d32bc20, 0x3775b: 0x6d32be20,\n\t0x3775c: 0x6d32c020, 0x3775d: 0x6d32c220, 0x3775e: 0x6d32c420, 0x3775f: 0x6d32c620,\n\t0x37760: 0x6d32c820, 0x37761: 0x6d32ca20, 0x37762: 0x6d32cc20, 0x37763: 0x6d32ce20,\n\t0x37764: 0x6d32d020, 0x37765: 0x6d32d220, 0x37766: 0x6d32d420, 0x37767: 0x6d32d620,\n\t0x37768: 0x6d32d820, 0x37769: 0x6d32da20, 0x3776a: 0x6d32dc20, 0x3776b: 0x6d32de20,\n\t0x3776c: 0x6d32e020, 0x3776d: 0x6d32e220, 0x3776e: 0x6d32e420, 0x3776f: 0x6d32e620,\n\t0x37770: 0x6d32e820, 0x37771: 0x6d32ea20, 0x37772: 0x6d32ec20, 0x37773: 0x6d32ee20,\n\t0x37774: 0x6d32f020, 0x37775: 0x6d32f220, 0x37776: 0x6d32f420, 0x37777: 0x6d32f620,\n\t0x37778: 0x6d32f820, 0x37779: 0x6d32fa20, 0x3777a: 0x6d32fc20, 0x3777b: 0x6d32fe20,\n\t0x3777c: 0x6d330020, 0x3777d: 0x6d330220, 0x3777e: 0x6d330420, 0x3777f: 0x6d330620,\n\t// Block 0xdde, offset 0x37780\n\t0x37780: 0x6d330820, 0x37781: 0x6d330a20, 0x37782: 0x6d330c20, 0x37783: 0x6d330e20,\n\t0x37784: 0x6d331020, 0x37785: 0x6d331220, 0x37786: 0x6d331420, 0x37787: 0x6d331620,\n\t0x37788: 0x6d331820, 0x37789: 0x6d331a20, 0x3778a: 0x6d331c20, 0x3778b: 0x6d331e20,\n\t0x3778c: 0x6d332020, 0x3778d: 0x6d332220, 0x3778e: 0x6d332420, 0x3778f: 0x6d332620,\n\t0x37790: 0x6d332820, 0x37791: 0x6d5f4e20, 0x37792: 0x6d5f5020, 0x37793: 0x6d5f5220,\n\t0x37794: 0x6d5f5420, 0x37795: 0x6d5f5620, 0x37796: 0x6d5f5820, 0x37797: 0x6d5f5a20,\n\t0x37798: 0x6d5f5c20, 0x37799: 0x6d5f5e20, 0x3779a: 0x6d5f6020, 0x3779b: 0x6d5f6220,\n\t0x3779c: 0x6d5f6420, 0x3779d: 0x6d5f6620, 0x3779e: 0x6d5f6820, 0x3779f: 0x6d5f6a20,\n\t0x377a0: 0x6d5f6c20, 0x377a1: 0x6d5f6e20, 0x377a2: 0x6d5f7020, 0x377a3: 0x6d5f7220,\n\t0x377a4: 0x6d5f7420, 0x377a5: 0x6d5f7620, 0x377a6: 0x6d5f7820, 0x377a7: 0x6d5f7a20,\n\t0x377a8: 0x6d5f7c20, 0x377a9: 0x6d5f7e20, 0x377aa: 0x6d5f8020, 0x377ab: 0x6d5f8220,\n\t0x377ac: 0x6d5f8420, 0x377ad: 0x6d5f8620, 0x377ae: 0x6d5f8820, 0x377af: 0x6d5f8a20,\n\t0x377b0: 0x6d5f8c20, 0x377b1: 0x6d5f8e20, 0x377b2: 0x6d5f9020, 0x377b3: 0x6d5f9220,\n\t0x377b4: 0x6d5f9420, 0x377b5: 0x6d5f9620, 0x377b6: 0x6d5f9820, 0x377b7: 0x6d5f9a20,\n\t0x377b8: 0x6d5f9c20, 0x377b9: 0x6d5f9e20, 0x377ba: 0x6d5fa020, 0x377bb: 0x6d5fa220,\n\t0x377bc: 0x6d5fa420, 0x377bd: 0x6d5fa620, 0x377be: 0x6d5fa820, 0x377bf: 0x6d5faa20,\n\t// Block 0xddf, offset 0x377c0\n\t0x377c0: 0x6d5fac20, 0x377c1: 0x6d5fae20, 0x377c2: 0x6d5fb020, 0x377c3: 0x6d5fb220,\n\t0x377c4: 0x6d5fb420, 0x377c5: 0x6d5fb620, 0x377c6: 0x6d5fb820, 0x377c7: 0x6d5fba20,\n\t0x377c8: 0x6d5fbc20, 0x377c9: 0x6d5fbe20, 0x377ca: 0x6d5fc020, 0x377cb: 0x6d5fc220,\n\t0x377cc: 0x6d5fc420, 0x377cd: 0x6d5fc620, 0x377ce: 0x6d5fc820, 0x377cf: 0x6d5fca20,\n\t0x377d0: 0x6d5fcc20, 0x377d1: 0x6d5fce20, 0x377d2: 0x6d5fd020, 0x377d3: 0x6d5fd220,\n\t0x377d4: 0x6d5fd420, 0x377d5: 0x6d5fd620, 0x377d6: 0x6d5fd820, 0x377d7: 0x6d5fda20,\n\t0x377d8: 0x6d898620, 0x377d9: 0x6d898820, 0x377da: 0x6d898a20, 0x377db: 0x6d898c20,\n\t0x377dc: 0x6d898e20, 0x377dd: 0x6d899020, 0x377de: 0x6d899220, 0x377df: 0x6d899420,\n\t0x377e0: 0x6d899620, 0x377e1: 0x6d899820, 0x377e2: 0x6d899a20, 0x377e3: 0x6d899c20,\n\t0x377e4: 0x6d899e20, 0x377e5: 0x6d89a020, 0x377e6: 0x6d89a220, 0x377e7: 0x6d89a420,\n\t0x377e8: 0x6d89a620, 0x377e9: 0x6d89a820, 0x377ea: 0x6d89aa20, 0x377eb: 0x6d89ac20,\n\t0x377ec: 0x6d89ae20, 0x377ed: 0x6d89b020, 0x377ee: 0x6d89b220, 0x377ef: 0x6d89b420,\n\t0x377f0: 0x6d89b620, 0x377f1: 0x6d89b820, 0x377f2: 0x6d89ba20, 0x377f3: 0x6d89bc20,\n\t0x377f4: 0x6d89be20, 0x377f5: 0x6d89c020, 0x377f6: 0x6d89c220, 0x377f7: 0x6d89c420,\n\t0x377f8: 0x6d89c620, 0x377f9: 0x6d89c820, 0x377fa: 0x6d89ca20, 0x377fb: 0x6d89cc20,\n\t0x377fc: 0x6d89ce20, 0x377fd: 0x6d89d020, 0x377fe: 0x6d89d220, 0x377ff: 0x6d89d420,\n\t// Block 0xde0, offset 0x37800\n\t0x37800: 0x6d89d620, 0x37801: 0x6d89d820, 0x37802: 0x6d89da20, 0x37803: 0x6d89dc20,\n\t0x37804: 0x6d89de20, 0x37805: 0x6d89e020, 0x37806: 0x6d89e220, 0x37807: 0x6d89e420,\n\t0x37808: 0x6d89e620, 0x37809: 0x6d89e820, 0x3780a: 0x6d89ea20, 0x3780b: 0x6d89ec20,\n\t0x3780c: 0x6d89ee20, 0x3780d: 0x6d89f020, 0x3780e: 0x6d89f220, 0x3780f: 0x6d89f420,\n\t0x37810: 0x6d89f620, 0x37811: 0x6d89f820, 0x37812: 0x6d89fa20, 0x37813: 0x6d89fc20,\n\t0x37814: 0x6d89fe20, 0x37815: 0x6d8a0020, 0x37816: 0x6d8a0220, 0x37817: 0x6d8a0420,\n\t0x37818: 0x6d8a0620, 0x37819: 0x6d8a0820, 0x3781a: 0x6d8a0a20, 0x3781b: 0x6d8a0c20,\n\t0x3781c: 0x6d8a0e20, 0x3781d: 0x6d8a1020, 0x3781e: 0x6d8a1220, 0x3781f: 0x6d8a1420,\n\t0x37820: 0x6d8a1620, 0x37821: 0x6d8a1820, 0x37822: 0x6d8a1a20, 0x37823: 0x6d8a1c20,\n\t0x37824: 0x6d8a1e20, 0x37825: 0x6d8a2020, 0x37826: 0x6d8a2220, 0x37827: 0x6d8a2420,\n\t0x37828: 0x6d8a2620, 0x37829: 0x6d8a2820, 0x3782a: 0x6d8a2a20, 0x3782b: 0x6d8a2c20,\n\t0x3782c: 0x6d8a2e20, 0x3782d: 0x6d8a3020, 0x3782e: 0x6d8a3220, 0x3782f: 0x6d8a3420,\n\t0x37830: 0x6d8a3620, 0x37831: 0x6d8a3820, 0x37832: 0x6d8a3a20, 0x37833: 0x6d8a3c20,\n\t0x37834: 0x6d8a3e20, 0x37835: 0x6dae1220, 0x37836: 0x6dae1420, 0x37837: 0x6dae1620,\n\t0x37838: 0x6dae1820, 0x37839: 0x6dae1a20, 0x3783a: 0x6dae1c20, 0x3783b: 0x6dae1e20,\n\t0x3783c: 0x6dae2020, 0x3783d: 0x6dae2220, 0x3783e: 0x6dae2420, 0x3783f: 0x6dae2620,\n\t// Block 0xde1, offset 0x37840\n\t0x37840: 0x6dae2820, 0x37841: 0x6dae2a20, 0x37842: 0x6dae2c20, 0x37843: 0x6dae2e20,\n\t0x37844: 0x6dae3020, 0x37845: 0x6dae3220, 0x37846: 0x6dae3420, 0x37847: 0x6dae3620,\n\t0x37848: 0x6dae3820, 0x37849: 0x6dae3a20, 0x3784a: 0x6dae3c20, 0x3784b: 0x6dae3e20,\n\t0x3784c: 0x6dae4020, 0x3784d: 0x6dae4220, 0x3784e: 0x6dae4420, 0x3784f: 0x6dae4620,\n\t0x37850: 0x6dae4820, 0x37851: 0x6dae4a20, 0x37852: 0x6dae4c20, 0x37853: 0x6dae4e20,\n\t0x37854: 0x6dae5020, 0x37855: 0x6dae5220, 0x37856: 0x6dae5420, 0x37857: 0x6dae5620,\n\t0x37858: 0x6dae5820, 0x37859: 0x6dae5a20, 0x3785a: 0x6dae5c20, 0x3785b: 0x6dae5e20,\n\t0x3785c: 0x6dae6020, 0x3785d: 0x6dae6220, 0x3785e: 0x6dae6420, 0x3785f: 0x6dae6620,\n\t0x37860: 0x6dae6820, 0x37861: 0x6dae6a20, 0x37862: 0x6dae6c20, 0x37863: 0x6dae6e20,\n\t0x37864: 0x6dae7020, 0x37865: 0x6dae7220, 0x37866: 0x6dae7420, 0x37867: 0x6dae7620,\n\t0x37868: 0x6dae7820, 0x37869: 0x6dae7a20, 0x3786a: 0x6dae7c20, 0x3786b: 0x6dae7e20,\n\t0x3786c: 0x6dae8020, 0x3786d: 0x6dae8220, 0x3786e: 0x6dae8420, 0x3786f: 0x6dae8620,\n\t0x37870: 0x6dae8820, 0x37871: 0x6dae8a20, 0x37872: 0x6dae8c20, 0x37873: 0x6dae8e20,\n\t0x37874: 0x6dae9020, 0x37875: 0x6dae9220, 0x37876: 0x6dae9420, 0x37877: 0x6dae9620,\n\t0x37878: 0x6dae9820, 0x37879: 0x6dae9a20, 0x3787a: 0x6dae9c20, 0x3787b: 0x6dae9e20,\n\t0x3787c: 0x6daea020, 0x3787d: 0x6daea220, 0x3787e: 0x6daea420, 0x3787f: 0x6daea620,\n\t// Block 0xde2, offset 0x37880\n\t0x37880: 0x6daea820, 0x37881: 0x6dcda420, 0x37882: 0x6daeaa20, 0x37883: 0x6daeac20,\n\t0x37884: 0x6daeae20, 0x37885: 0x6daeb020, 0x37886: 0x6dcda620, 0x37887: 0x6dcda820,\n\t0x37888: 0x6dcdaa20, 0x37889: 0x6dcdac20, 0x3788a: 0x6dcdae20, 0x3788b: 0x6dcdb020,\n\t0x3788c: 0x6dcdb220, 0x3788d: 0x6dcdb420, 0x3788e: 0x6dcdb620, 0x3788f: 0x6dcdb820,\n\t0x37890: 0x6dcdba20, 0x37891: 0x6dcdbc20, 0x37892: 0x6dcdbe20, 0x37893: 0x6dcdc020,\n\t0x37894: 0x6dcdc220, 0x37895: 0x6dcdc420, 0x37896: 0x6dcdc620, 0x37897: 0x6dcdc820,\n\t0x37898: 0x6dcdca20, 0x37899: 0x6dcdcc20, 0x3789a: 0x6dcdce20, 0x3789b: 0x6dcdd020,\n\t0x3789c: 0x6dcdd220, 0x3789d: 0x6dcdd420, 0x3789e: 0x6dcdd620, 0x3789f: 0x6dcdd820,\n\t0x378a0: 0x6dcdda20, 0x378a1: 0x6dcddc20, 0x378a2: 0x6dcdde20, 0x378a3: 0x6dcde020,\n\t0x378a4: 0x6dcde220, 0x378a5: 0x6dcde420, 0x378a6: 0x6dcde620, 0x378a7: 0x6dcde820,\n\t0x378a8: 0x6dcdea20, 0x378a9: 0x6dcdec20, 0x378aa: 0x6dcdee20, 0x378ab: 0x6dcdf020,\n\t0x378ac: 0x6dcdf220, 0x378ad: 0x6dcdf420, 0x378ae: 0x6dcdf620, 0x378af: 0x6dcdf820,\n\t0x378b0: 0x6dcdfa20, 0x378b1: 0x6dcdfc20, 0x378b2: 0x6dcdfe20, 0x378b3: 0x6dce0020,\n\t0x378b4: 0x6dce0220, 0x378b5: 0x6dce0420, 0x378b6: 0x6dce0620, 0x378b7: 0x6dce0820,\n\t0x378b8: 0x6dce0a20, 0x378b9: 0x6dce0c20, 0x378ba: 0x6dce0e20, 0x378bb: 0x6dce1020,\n\t0x378bc: 0x6dce1220, 0x378bd: 0x6dce1420, 0x378be: 0x6dce1620, 0x378bf: 0x6dce1820,\n\t// Block 0xde3, offset 0x378c0\n\t0x378c0: 0x6dce1a20, 0x378c1: 0x6dce1c20, 0x378c2: 0x6dce1e20, 0x378c3: 0x6dce2020,\n\t0x378c4: 0x6dce2220, 0x378c5: 0x6dce2420, 0x378c6: 0x6dce2620, 0x378c7: 0x6dce2820,\n\t0x378c8: 0x6dce2a20, 0x378c9: 0x6dce2c20, 0x378ca: 0x6dce2e20, 0x378cb: 0x6dce3020,\n\t0x378cc: 0x6dce3220, 0x378cd: 0x6dce3420, 0x378ce: 0x6daeb220, 0x378cf: 0x6dce3620,\n\t0x378d0: 0x6dce3820, 0x378d1: 0x6dce3a20, 0x378d2: 0x6dce3c20, 0x378d3: 0x6dce3e20,\n\t0x378d4: 0x6dce4020, 0x378d5: 0x6dce4220, 0x378d6: 0x6dce4420, 0x378d7: 0x6dce4620,\n\t0x378d8: 0x6dce4820, 0x378d9: 0x6dce4a20, 0x378da: 0x6dce4c20, 0x378db: 0x6dce4e20,\n\t0x378dc: 0x6dce5020, 0x378dd: 0x6dce5220, 0x378de: 0x6dce5420, 0x378df: 0x6dce5620,\n\t0x378e0: 0x6dce5820, 0x378e1: 0x6de84820, 0x378e2: 0x6de84a20, 0x378e3: 0x6de84c20,\n\t0x378e4: 0x6de84e20, 0x378e5: 0x6de85020, 0x378e6: 0x6de85220, 0x378e7: 0x6de85420,\n\t0x378e8: 0x6de85620, 0x378e9: 0x6de85820, 0x378ea: 0x6de85a20, 0x378eb: 0x6de85c20,\n\t0x378ec: 0x6de85e20, 0x378ed: 0x6de86020, 0x378ee: 0x6de86220, 0x378ef: 0x6de86420,\n\t0x378f0: 0x6de86620, 0x378f1: 0x6de86820, 0x378f2: 0x6de86a20, 0x378f3: 0x6de86c20,\n\t0x378f4: 0x6de86e20, 0x378f5: 0x6de87020, 0x378f6: 0x6de87220, 0x378f7: 0x6de87420,\n\t0x378f8: 0x6de87620, 0x378f9: 0x6de87820, 0x378fa: 0x6de87a20, 0x378fb: 0x6de87c20,\n\t0x378fc: 0x6de87e20, 0x378fd: 0x6de88020, 0x378fe: 0x6de88220, 0x378ff: 0x6de88420,\n\t// Block 0xde4, offset 0x37900\n\t0x37900: 0x6de88620, 0x37901: 0x6de88820, 0x37902: 0x6de88a20, 0x37903: 0x6de88c20,\n\t0x37904: 0x6de88e20, 0x37905: 0x6de89020, 0x37906: 0x6de89220, 0x37907: 0x6de89420,\n\t0x37908: 0x6de89620, 0x37909: 0x6de89820, 0x3790a: 0x6de89a20, 0x3790b: 0x6de89c20,\n\t0x3790c: 0x6de89e20, 0x3790d: 0x6de8a020, 0x3790e: 0x6de8a220, 0x3790f: 0x6de8a420,\n\t0x37910: 0x6de8a620, 0x37911: 0x6de8a820, 0x37912: 0x6de8aa20, 0x37913: 0x6de8ac20,\n\t0x37914: 0x6de8ae20, 0x37915: 0x6de8b020, 0x37916: 0x6de8b220, 0x37917: 0x6de8b420,\n\t0x37918: 0x6de8b620, 0x37919: 0x6de8b820, 0x3791a: 0x6de8ba20, 0x3791b: 0x6de8bc20,\n\t0x3791c: 0x6dfec820, 0x3791d: 0x6dfeca20, 0x3791e: 0x6dfecc20, 0x3791f: 0x6dfece20,\n\t0x37920: 0x6dfed020, 0x37921: 0x6dfed220, 0x37922: 0x6dfed420, 0x37923: 0x6dfed620,\n\t0x37924: 0x6dfed820, 0x37925: 0x6dfeda20, 0x37926: 0x6dfedc20, 0x37927: 0x6dfede20,\n\t0x37928: 0x6dfee020, 0x37929: 0x6dfee220, 0x3792a: 0x6dfee420, 0x3792b: 0x6dfee620,\n\t0x3792c: 0x6dfee820, 0x3792d: 0x6dfeea20, 0x3792e: 0x6dfeec20, 0x3792f: 0x6dfeee20,\n\t0x37930: 0x6dfef020, 0x37931: 0x6dfef220, 0x37932: 0x6dfef420, 0x37933: 0x6dfef620,\n\t0x37934: 0x6dfef820, 0x37935: 0x6dfefa20, 0x37936: 0x6dfefc20, 0x37937: 0x6dfefe20,\n\t0x37938: 0x6dff0020, 0x37939: 0x6dff0220, 0x3793a: 0x6dff0420, 0x3793b: 0x6dff0620,\n\t0x3793c: 0x6dff0820, 0x3793d: 0x6dff0a20, 0x3793e: 0x6dff0c20, 0x3793f: 0x6dff0e20,\n\t// Block 0xde5, offset 0x37940\n\t0x37940: 0x6dff1020, 0x37941: 0x6dff1220, 0x37942: 0x6dff1420, 0x37943: 0x6dff1620,\n\t0x37944: 0x6dff1820, 0x37945: 0x6e112220, 0x37946: 0x6e112420, 0x37947: 0x6e112620,\n\t0x37948: 0x6e112820, 0x37949: 0x6e112a20, 0x3794a: 0x6e112c20, 0x3794b: 0x6e112e20,\n\t0x3794c: 0x6e113020, 0x3794d: 0x6e113220, 0x3794e: 0x6e113420, 0x3794f: 0x6e113620,\n\t0x37950: 0x6e113820, 0x37951: 0x6e113a20, 0x37952: 0x6e113c20, 0x37953: 0x6e113e20,\n\t0x37954: 0x6e114020, 0x37955: 0x6e114220, 0x37956: 0x6e114420, 0x37957: 0x6e114620,\n\t0x37958: 0x6e114820, 0x37959: 0x6e114a20, 0x3795a: 0x6e114c20, 0x3795b: 0x6e114e20,\n\t0x3795c: 0x6e115020, 0x3795d: 0x6e115220, 0x3795e: 0x6e115420, 0x3795f: 0x6e115620,\n\t0x37960: 0x6e115820, 0x37961: 0x6e115a20, 0x37962: 0x6e115c20, 0x37963: 0x6e115e20,\n\t0x37964: 0x6e116020, 0x37965: 0x6e116220, 0x37966: 0x6e116420, 0x37967: 0x6e116620,\n\t0x37968: 0x6e116820, 0x37969: 0x6e116a20, 0x3796a: 0x6e116c20, 0x3796b: 0x6e116e20,\n\t0x3796c: 0x6e117020, 0x3796d: 0x6e117220, 0x3796e: 0x6e117420, 0x3796f: 0x6e117620,\n\t0x37970: 0x6e117820, 0x37971: 0x6e117a20, 0x37972: 0x6e117c20, 0x37973: 0x6e117e20,\n\t0x37974: 0x6e118020, 0x37975: 0x6e1fa220, 0x37976: 0x6e1fa420, 0x37977: 0x6e1fa620,\n\t0x37978: 0x6e1fa820, 0x37979: 0x6e1faa20, 0x3797a: 0x6e1fac20, 0x3797b: 0x6e1fae20,\n\t0x3797c: 0x6e1fb020, 0x3797d: 0x6e1fb220, 0x3797e: 0x6e1fb420, 0x3797f: 0x6e1fb620,\n\t// Block 0xde6, offset 0x37980\n\t0x37980: 0x6e1fb820, 0x37981: 0x6e1fba20, 0x37982: 0x6e1fbc20, 0x37983: 0x6e1fbe20,\n\t0x37984: 0x6e1fc020, 0x37985: 0x6e1fc220, 0x37986: 0x6e1fc420, 0x37987: 0x6e1fc620,\n\t0x37988: 0x6e1fc820, 0x37989: 0x6e1fca20, 0x3798a: 0x6e1fcc20, 0x3798b: 0x6e1fce20,\n\t0x3798c: 0x6e1fd020, 0x3798d: 0x6e1fd220, 0x3798e: 0x6e1fd420, 0x3798f: 0x6e1fd620,\n\t0x37990: 0x6e1fd820, 0x37991: 0x6e1fda20, 0x37992: 0x6e1fdc20, 0x37993: 0x6e1fde20,\n\t0x37994: 0x6e2ada20, 0x37995: 0x6e2adc20, 0x37996: 0x6e2ade20, 0x37997: 0x6e2ae020,\n\t0x37998: 0x6e2ae220, 0x37999: 0x6e2ae420, 0x3799a: 0x6e2ae620, 0x3799b: 0x6e2ae820,\n\t0x3799c: 0x6e2aea20, 0x3799d: 0x6e2aec20, 0x3799e: 0x6e2aee20, 0x3799f: 0x6e2af020,\n\t0x379a0: 0x6e2af220, 0x379a1: 0x6e2af420, 0x379a2: 0x6e2af620, 0x379a3: 0x6e2af820,\n\t0x379a4: 0x6e2afa20, 0x379a5: 0x6e2afc20, 0x379a6: 0x6e2afe20, 0x379a7: 0x6e2b0020,\n\t0x379a8: 0x6e335620, 0x379a9: 0x6e335820, 0x379aa: 0x6e335a20, 0x379ab: 0x6e335c20,\n\t0x379ac: 0x6e335e20, 0x379ad: 0x6e336020, 0x379ae: 0x6e336220, 0x379af: 0x6e336420,\n\t0x379b0: 0x6e336620, 0x379b1: 0x6e336820, 0x379b2: 0x6e336a20, 0x379b3: 0x6e336c20,\n\t0x379b4: 0x6e336e20, 0x379b5: 0x6e337020, 0x379b6: 0x6e337220, 0x379b7: 0x6e337420,\n\t0x379b8: 0x6e337620, 0x379b9: 0x6e337820, 0x379ba: 0x6e337a20, 0x379bb: 0x6e337c20,\n\t0x379bc: 0x6e396a20, 0x379bd: 0x6e396c20, 0x379be: 0x6e396e20, 0x379bf: 0x6e397020,\n\t// Block 0xde7, offset 0x379c0\n\t0x379c0: 0x6e397220, 0x379c1: 0x6e397420, 0x379c2: 0x6e397620, 0x379c3: 0x6e397820,\n\t0x379c4: 0x6e397a20, 0x379c5: 0x6e397c20, 0x379c6: 0x6e397e20, 0x379c7: 0x6e398020,\n\t0x379c8: 0x6e3db220, 0x379c9: 0x6e3db420, 0x379ca: 0x6e3db620, 0x379cb: 0x6e3db820,\n\t0x379cc: 0x6e3dba20, 0x379cd: 0x6e3dbc20, 0x379ce: 0x6e3dbe20, 0x379cf: 0x6e3dc020,\n\t0x379d0: 0x6e409020, 0x379d1: 0x6e409220, 0x379d2: 0x6e409420, 0x379d3: 0x6e409620,\n\t0x379d4: 0x6e409820, 0x379d5: 0x6e409a20, 0x379d6: 0x6e409c20, 0x379d7: 0x6e42d420,\n\t0x379d8: 0x6e445020, 0x379d9: 0x6e445220, 0x379da: 0x6e42d620, 0x379db: 0x6e42d820,\n\t0x379dc: 0x6e42da20, 0x379dd: 0x6e42dc20, 0x379de: 0x6e445420, 0x379df: 0x6e445620,\n\t0x379e0: 0x6e445820, 0x379e1: 0x6e453620, 0x379e2: 0x6e453820, 0x379e3: 0x6e45c620,\n\t0x379e4: 0x6e463820, 0x379e5: 0x6c259620, 0x379e6: 0x6c259820, 0x379e7: 0x6c3dae20,\n\t0x379e8: 0x6c3db020, 0x379e9: 0x6c3db220, 0x379ea: 0x6c3db420, 0x379eb: 0x6c5c4a20,\n\t0x379ec: 0x6c5c4c20, 0x379ed: 0x6c5c4e20, 0x379ee: 0x6c5c5020, 0x379ef: 0x6c5c5220,\n\t0x379f0: 0x6c5c5420, 0x379f1: 0x6c5c5620, 0x379f2: 0x6c5c5820, 0x379f3: 0x6c7fcc20,\n\t0x379f4: 0x6c7fce20, 0x379f5: 0x6c7fd020, 0x379f6: 0x6c7fd220, 0x379f7: 0x6c7fd420,\n\t0x379f8: 0x6c7fd620, 0x379f9: 0x6c7fd820, 0x379fa: 0x6c7fda20, 0x379fb: 0x6c7fdc20,\n\t0x379fc: 0x6c7fde20, 0x379fd: 0x6c7fe020, 0x379fe: 0x6c7fe220, 0x379ff: 0x6c7fe420,\n\t// Block 0xde8, offset 0x37a00\n\t0x37a00: 0x6c7fe620, 0x37a01: 0x6ca8b620, 0x37a02: 0x6ca8b820, 0x37a03: 0x6ca8ba20,\n\t0x37a04: 0x6ca8bc20, 0x37a05: 0x6ca8be20, 0x37a06: 0x6ca8c020, 0x37a07: 0x6ca8c220,\n\t0x37a08: 0x6ca8c420, 0x37a09: 0x6ca8c620, 0x37a0a: 0x6ca8c820, 0x37a0b: 0x6ca8ca20,\n\t0x37a0c: 0x6ca8cc20, 0x37a0d: 0x6ca8ce20, 0x37a0e: 0x6ca8d020, 0x37a0f: 0x6ca8d220,\n\t0x37a10: 0x6ca8d420, 0x37a11: 0x6ca8d620, 0x37a12: 0x6ca8d820, 0x37a13: 0x6ca8da20,\n\t0x37a14: 0x6ca8dc20, 0x37a15: 0x6ca8de20, 0x37a16: 0x6ca8e020, 0x37a17: 0x6cd70a20,\n\t0x37a18: 0x6ca8e220, 0x37a19: 0x6ca8e420, 0x37a1a: 0x6cd70c20, 0x37a1b: 0x6cd70e20,\n\t0x37a1c: 0x6cd71020, 0x37a1d: 0x6cd71220, 0x37a1e: 0x6cd71420, 0x37a1f: 0x6cd71620,\n\t0x37a20: 0x6cd71820, 0x37a21: 0x6cd71a20, 0x37a22: 0x6cd71c20, 0x37a23: 0x6cd71e20,\n\t0x37a24: 0x6cd72020, 0x37a25: 0x6cd72220, 0x37a26: 0x6cd72420, 0x37a27: 0x6cd72620,\n\t0x37a28: 0x6cd72820, 0x37a29: 0x6cd72a20, 0x37a2a: 0x6cd72c20, 0x37a2b: 0x6cd72e20,\n\t0x37a2c: 0x6cd73020, 0x37a2d: 0x6cd73220, 0x37a2e: 0x6cd73420, 0x37a2f: 0x6cd73620,\n\t0x37a30: 0x6cd73820, 0x37a31: 0x6ca8e620, 0x37a32: 0x6d05b620, 0x37a33: 0x6d05b820,\n\t0x37a34: 0x6d05ba20, 0x37a35: 0x6d05bc20, 0x37a36: 0x6d05be20, 0x37a37: 0x6d05c020,\n\t0x37a38: 0x6d05c220, 0x37a39: 0x6d05c420, 0x37a3a: 0x6d05c620, 0x37a3b: 0x6d05c820,\n\t0x37a3c: 0x6d05ca20, 0x37a3d: 0x6d05cc20, 0x37a3e: 0x6d05ce20, 0x37a3f: 0x6d05d020,\n\t// Block 0xde9, offset 0x37a40\n\t0x37a40: 0x6d05d220, 0x37a41: 0x6d05d420, 0x37a42: 0x6d05d620, 0x37a43: 0x6d05d820,\n\t0x37a44: 0x6d05da20, 0x37a45: 0x6d05dc20, 0x37a46: 0x6d05de20, 0x37a47: 0x6d05e020,\n\t0x37a48: 0x6d05e220, 0x37a49: 0x6d05e420, 0x37a4a: 0x6d05e620, 0x37a4b: 0x6d05e820,\n\t0x37a4c: 0x6d05ea20, 0x37a4d: 0x6d05ec20, 0x37a4e: 0x6d05ee20, 0x37a4f: 0x6d05f020,\n\t0x37a50: 0x6d05f220, 0x37a51: 0x6d05f420, 0x37a52: 0x6d05f620, 0x37a53: 0x6d05f820,\n\t0x37a54: 0x6d05fa20, 0x37a55: 0x6d05fc20, 0x37a56: 0x6d05fe20, 0x37a57: 0x6d060020,\n\t0x37a58: 0x6d335a20, 0x37a59: 0x6d335c20, 0x37a5a: 0x6d335e20, 0x37a5b: 0x6d336020,\n\t0x37a5c: 0x6d336220, 0x37a5d: 0x6d336420, 0x37a5e: 0x6d336620, 0x37a5f: 0x6d336820,\n\t0x37a60: 0x6d336a20, 0x37a61: 0x6d336c20, 0x37a62: 0x6d336e20, 0x37a63: 0x6d337020,\n\t0x37a64: 0x6d337220, 0x37a65: 0x6d337420, 0x37a66: 0x6d337620, 0x37a67: 0x6d337820,\n\t0x37a68: 0x6d337a20, 0x37a69: 0x6d337c20, 0x37a6a: 0x6d337e20, 0x37a6b: 0x6d338020,\n\t0x37a6c: 0x6d338220, 0x37a6d: 0x6d338420, 0x37a6e: 0x6d338620, 0x37a6f: 0x6d338820,\n\t0x37a70: 0x6d338a20, 0x37a71: 0x6d338c20, 0x37a72: 0x6d338e20, 0x37a73: 0x6d339020,\n\t0x37a74: 0x6d339220, 0x37a75: 0x6d339420, 0x37a76: 0x6d339620, 0x37a77: 0x6d339820,\n\t0x37a78: 0x6d339a20, 0x37a79: 0x6d339c20, 0x37a7a: 0x6d339e20, 0x37a7b: 0x6d33a020,\n\t0x37a7c: 0x6d33a220, 0x37a7d: 0x6d33a420, 0x37a7e: 0x6d33a620, 0x37a7f: 0x6d33a820,\n\t// Block 0xdea, offset 0x37a80\n\t0x37a80: 0x6d33aa20, 0x37a81: 0x6d601820, 0x37a82: 0x6d601a20, 0x37a83: 0x6d601c20,\n\t0x37a84: 0x6d601e20, 0x37a85: 0x6d602020, 0x37a86: 0x6d602220, 0x37a87: 0x6d602420,\n\t0x37a88: 0x6d602620, 0x37a89: 0x6d602820, 0x37a8a: 0x6d602a20, 0x37a8b: 0x6d602c20,\n\t0x37a8c: 0x6d602e20, 0x37a8d: 0x6d603020, 0x37a8e: 0x6d603220, 0x37a8f: 0x6d603420,\n\t0x37a90: 0x6d603620, 0x37a91: 0x6d603820, 0x37a92: 0x6d603a20, 0x37a93: 0x6d603c20,\n\t0x37a94: 0x6d603e20, 0x37a95: 0x6d604020, 0x37a96: 0x6d604220, 0x37a97: 0x6d604420,\n\t0x37a98: 0x6d604620, 0x37a99: 0x6d604820, 0x37a9a: 0x6d604a20, 0x37a9b: 0x6d604c20,\n\t0x37a9c: 0x6d604e20, 0x37a9d: 0x6d605020, 0x37a9e: 0x6d605220, 0x37a9f: 0x6d605420,\n\t0x37aa0: 0x6d605620, 0x37aa1: 0x6d605820, 0x37aa2: 0x6d605a20, 0x37aa3: 0x6d605c20,\n\t0x37aa4: 0x6d8a6e20, 0x37aa5: 0x6d8a7020, 0x37aa6: 0x6d8a7220, 0x37aa7: 0x6d8a7420,\n\t0x37aa8: 0x6d8a7620, 0x37aa9: 0x6d8a7820, 0x37aaa: 0x6d8a7a20, 0x37aab: 0x6d8a7c20,\n\t0x37aac: 0x6d8a7e20, 0x37aad: 0x6d8a8020, 0x37aae: 0x6d8a8220, 0x37aaf: 0x6d8a8420,\n\t0x37ab0: 0x6d8a8620, 0x37ab1: 0x6d8a8820, 0x37ab2: 0x6d8a8a20, 0x37ab3: 0x6d8a8c20,\n\t0x37ab4: 0x6d8a8e20, 0x37ab5: 0x6d8a9020, 0x37ab6: 0x6d8a9220, 0x37ab7: 0x6d8a9420,\n\t0x37ab8: 0x6d8a9620, 0x37ab9: 0x6d8a9820, 0x37aba: 0x6d8a9a20, 0x37abb: 0x6d8a9c20,\n\t0x37abc: 0x6d8a9e20, 0x37abd: 0x6d8aa020, 0x37abe: 0x6d8aa220, 0x37abf: 0x6daeea20,\n\t// Block 0xdeb, offset 0x37ac0\n\t0x37ac0: 0x6daeec20, 0x37ac1: 0x6daeee20, 0x37ac2: 0x6daef020, 0x37ac3: 0x6daef220,\n\t0x37ac4: 0x6daef420, 0x37ac5: 0x6daef620, 0x37ac6: 0x6daef820, 0x37ac7: 0x6daefa20,\n\t0x37ac8: 0x6daefc20, 0x37ac9: 0x6daefe20, 0x37aca: 0x6daf0020, 0x37acb: 0x6daf0220,\n\t0x37acc: 0x6daf0420, 0x37acd: 0x6daf0620, 0x37ace: 0x6daf0820, 0x37acf: 0x6daf0a20,\n\t0x37ad0: 0x6daf0c20, 0x37ad1: 0x6daf0e20, 0x37ad2: 0x6daf1020, 0x37ad3: 0x6daf1220,\n\t0x37ad4: 0x6daf1420, 0x37ad5: 0x6daf1620, 0x37ad6: 0x6daf1820, 0x37ad7: 0x6dce7c20,\n\t0x37ad8: 0x6dce7e20, 0x37ad9: 0x6dce8020, 0x37ada: 0x6dce8220, 0x37adb: 0x6dce8420,\n\t0x37adc: 0x6dce8620, 0x37add: 0x6dce8820, 0x37ade: 0x6dce8a20, 0x37adf: 0x6dce8c20,\n\t0x37ae0: 0x6dce8e20, 0x37ae1: 0x6dce9020, 0x37ae2: 0x6dce9220, 0x37ae3: 0x6dce9420,\n\t0x37ae4: 0x6dce9620, 0x37ae5: 0x6dce9820, 0x37ae6: 0x6dce9a20, 0x37ae7: 0x6dce9c20,\n\t0x37ae8: 0x6dce9e20, 0x37ae9: 0x6dcea020, 0x37aea: 0x6dcea220, 0x37aeb: 0x6dcea420,\n\t0x37aec: 0x6dcea620, 0x37aed: 0x6dcea820, 0x37aee: 0x6dceaa20, 0x37aef: 0x6dceac20,\n\t0x37af0: 0x6dceae20, 0x37af1: 0x6dceb020, 0x37af2: 0x6dceb220, 0x37af3: 0x6dceb420,\n\t0x37af4: 0x6dceb620, 0x37af5: 0x6dceb820, 0x37af6: 0x6de8d220, 0x37af7: 0x6de8d420,\n\t0x37af8: 0x6de8d620, 0x37af9: 0x6de8d820, 0x37afa: 0x6de8da20, 0x37afb: 0x6de8dc20,\n\t0x37afc: 0x6de8de20, 0x37afd: 0x6de8e020, 0x37afe: 0x6de8e220, 0x37aff: 0x6de8e420,\n\t// Block 0xdec, offset 0x37b00\n\t0x37b00: 0x6de8e620, 0x37b01: 0x6de8e820, 0x37b02: 0x6de8ea20, 0x37b03: 0x6de8ec20,\n\t0x37b04: 0x6de8ee20, 0x37b05: 0x6de8f020, 0x37b06: 0x6de8f220, 0x37b07: 0x6de8f420,\n\t0x37b08: 0x6de8f620, 0x37b09: 0x6de8f820, 0x37b0a: 0x6de8fa20, 0x37b0b: 0x6de8fc20,\n\t0x37b0c: 0x6de8fe20, 0x37b0d: 0x6de90020, 0x37b0e: 0x6de90220, 0x37b0f: 0x6dff2620,\n\t0x37b10: 0x6dff2820, 0x37b11: 0x6dff2a20, 0x37b12: 0x6dff2c20, 0x37b13: 0x6dff2e20,\n\t0x37b14: 0x6dff3020, 0x37b15: 0x6dff3220, 0x37b16: 0x6dff3420, 0x37b17: 0x6e118e20,\n\t0x37b18: 0x6e119020, 0x37b19: 0x6e119220, 0x37b1a: 0x6e119420, 0x37b1b: 0x6e119620,\n\t0x37b1c: 0x6e119820, 0x37b1d: 0x6e119a20, 0x37b1e: 0x6e119c20, 0x37b1f: 0x6e119e20,\n\t0x37b20: 0x6e11a020, 0x37b21: 0x6e1fe820, 0x37b22: 0x6e11a220, 0x37b23: 0x6e11a420,\n\t0x37b24: 0x6e1fea20, 0x37b25: 0x6e1fec20, 0x37b26: 0x6e1fee20, 0x37b27: 0x6e1ff020,\n\t0x37b28: 0x6e1ff220, 0x37b29: 0x6e1ff420, 0x37b2a: 0x6e1ff620, 0x37b2b: 0x6e1ff820,\n\t0x37b2c: 0x6e2b0a20, 0x37b2d: 0x6e2b0c20, 0x37b2e: 0x6e2b0e20, 0x37b2f: 0x6e2b1020,\n\t0x37b30: 0x6e2b1220, 0x37b31: 0x6e338020, 0x37b32: 0x6e338220, 0x37b33: 0x6e338420,\n\t0x37b34: 0x6e338620, 0x37b35: 0x6e338820, 0x37b36: 0x6e398a20, 0x37b37: 0x6e398c20,\n\t0x37b38: 0x6e398e20, 0x37b39: 0x6e399020, 0x37b3a: 0x6e399220, 0x37b3b: 0x6e3dc420,\n\t0x37b3c: 0x6e3dc620, 0x37b3d: 0x6e3dc820, 0x37b3e: 0x6e3dca20, 0x37b3f: 0x6e3dcc20,\n\t// Block 0xded, offset 0x37b40\n\t0x37b40: 0x6e40a020, 0x37b41: 0x6e40a220, 0x37b42: 0x6e453a20, 0x37b43: 0x6e45c820,\n\t0x37b44: 0x6e468a20, 0x37b45: 0x6c3dc420, 0x37b46: 0x6c3dc620, 0x37b47: 0x6c3dc820,\n\t0x37b48: 0x6c3dca20, 0x37b49: 0x6c3dcc20, 0x37b4a: 0x6c3dce20, 0x37b4b: 0x6c3dd020,\n\t0x37b4c: 0x6c5c7a20, 0x37b4d: 0x6c5c7c20, 0x37b4e: 0x6c5c7e20, 0x37b4f: 0x6c5c8020,\n\t0x37b50: 0x6c5c8220, 0x37b51: 0x6c5c8420, 0x37b52: 0x6c5c8620, 0x37b53: 0x6c5c8820,\n\t0x37b54: 0x6c5c8a20, 0x37b55: 0x6c5c8c20, 0x37b56: 0x6c5c8e20, 0x37b57: 0x6c5c9020,\n\t0x37b58: 0x6c5c9220, 0x37b59: 0x6c804620, 0x37b5a: 0x6c804820, 0x37b5b: 0x6c804a20,\n\t0x37b5c: 0x6c804c20, 0x37b5d: 0x6c804e20, 0x37b5e: 0x6c805020, 0x37b5f: 0x6c805220,\n\t0x37b60: 0x6c805420, 0x37b61: 0x6c805620, 0x37b62: 0x6c805820, 0x37b63: 0x6c805a20,\n\t0x37b64: 0x6c805c20, 0x37b65: 0x6c805e20, 0x37b66: 0x6c806020, 0x37b67: 0x6c806220,\n\t0x37b68: 0x6c806420, 0x37b69: 0x6c806620, 0x37b6a: 0x6c806820, 0x37b6b: 0x6c806a20,\n\t0x37b6c: 0x6c806c20, 0x37b6d: 0x6c806e20, 0x37b6e: 0x6c807020, 0x37b6f: 0x6c807220,\n\t0x37b70: 0x6c807420, 0x37b71: 0x6c807620, 0x37b72: 0x6c807820, 0x37b73: 0x6c807a20,\n\t0x37b74: 0x6c807c20, 0x37b75: 0x6c807e20, 0x37b76: 0x6c808020, 0x37b77: 0x6c808220,\n\t0x37b78: 0x6c808420, 0x37b79: 0x6c808620, 0x37b7a: 0x6c808820, 0x37b7b: 0x6c808a20,\n\t0x37b7c: 0x6c808c20, 0x37b7d: 0x6c808e20, 0x37b7e: 0x6c809020, 0x37b7f: 0x6c809220,\n\t// Block 0xdee, offset 0x37b80\n\t0x37b80: 0x6c809420, 0x37b81: 0x6c809620, 0x37b82: 0x6c809820, 0x37b83: 0x6ca95220,\n\t0x37b84: 0x6ca95420, 0x37b85: 0x6ca95620, 0x37b86: 0x6ca95820, 0x37b87: 0x6ca95a20,\n\t0x37b88: 0x6ca95c20, 0x37b89: 0x6ca95e20, 0x37b8a: 0x6ca96020, 0x37b8b: 0x6ca96220,\n\t0x37b8c: 0x6ca96420, 0x37b8d: 0x6ca96620, 0x37b8e: 0x6ca96820, 0x37b8f: 0x6ca96a20,\n\t0x37b90: 0x6ca96c20, 0x37b91: 0x6ca96e20, 0x37b92: 0x6ca97020, 0x37b93: 0x6ca97220,\n\t0x37b94: 0x6ca97420, 0x37b95: 0x6ca97620, 0x37b96: 0x6ca97820, 0x37b97: 0x6ca97a20,\n\t0x37b98: 0x6ca97c20, 0x37b99: 0x6ca97e20, 0x37b9a: 0x6ca98020, 0x37b9b: 0x6ca98220,\n\t0x37b9c: 0x6ca98420, 0x37b9d: 0x6ca98620, 0x37b9e: 0x6ca98820, 0x37b9f: 0x6ca98a20,\n\t0x37ba0: 0x6ca98c20, 0x37ba1: 0x6ca98e20, 0x37ba2: 0x6ca99020, 0x37ba3: 0x6ca99220,\n\t0x37ba4: 0x6ca99420, 0x37ba5: 0x6ca99620, 0x37ba6: 0x6cd7ae20, 0x37ba7: 0x6cd7b020,\n\t0x37ba8: 0x6cd7b220, 0x37ba9: 0x6cd7b420, 0x37baa: 0x6cd7b620, 0x37bab: 0x6cd7b820,\n\t0x37bac: 0x6cd7ba20, 0x37bad: 0x6cd7bc20, 0x37bae: 0x6cd7be20, 0x37baf: 0x6cd7c020,\n\t0x37bb0: 0x6cd7c220, 0x37bb1: 0x6cd7c420, 0x37bb2: 0x6cd7c620, 0x37bb3: 0x6cd7c820,\n\t0x37bb4: 0x6cd7ca20, 0x37bb5: 0x6cd7cc20, 0x37bb6: 0x6cd7ce20, 0x37bb7: 0x6cd7d020,\n\t0x37bb8: 0x6cd7d220, 0x37bb9: 0x6cd7d420, 0x37bba: 0x6cd7d620, 0x37bbb: 0x6cd7d820,\n\t0x37bbc: 0x6cd7da20, 0x37bbd: 0x6cd7dc20, 0x37bbe: 0x6cd7de20, 0x37bbf: 0x6cd7e020,\n\t// Block 0xdef, offset 0x37bc0\n\t0x37bc0: 0x6cd7e220, 0x37bc1: 0x6cd7e420, 0x37bc2: 0x6cd7e620, 0x37bc3: 0x6cd7e820,\n\t0x37bc4: 0x6cd7ea20, 0x37bc5: 0x6cd7ec20, 0x37bc6: 0x6cd7ee20, 0x37bc7: 0x6cd7f020,\n\t0x37bc8: 0x6cd7f220, 0x37bc9: 0x6cd7f420, 0x37bca: 0x6cd7f620, 0x37bcb: 0x6cd7f820,\n\t0x37bcc: 0x6cd7fa20, 0x37bcd: 0x6cd7fc20, 0x37bce: 0x6cd7fe20, 0x37bcf: 0x6cd80020,\n\t0x37bd0: 0x6cd80220, 0x37bd1: 0x6cd80420, 0x37bd2: 0x6d065a20, 0x37bd3: 0x6d065c20,\n\t0x37bd4: 0x6d065e20, 0x37bd5: 0x6d066020, 0x37bd6: 0x6d066220, 0x37bd7: 0x6d066420,\n\t0x37bd8: 0x6d066620, 0x37bd9: 0x6d066820, 0x37bda: 0x6d066a20, 0x37bdb: 0x6d066c20,\n\t0x37bdc: 0x6d066e20, 0x37bdd: 0x6d067020, 0x37bde: 0x6d067220, 0x37bdf: 0x6d067420,\n\t0x37be0: 0x6d067620, 0x37be1: 0x6d067820, 0x37be2: 0x6d067a20, 0x37be3: 0x6d067c20,\n\t0x37be4: 0x6d067e20, 0x37be5: 0x6d068020, 0x37be6: 0x6d068220, 0x37be7: 0x6d068420,\n\t0x37be8: 0x6d068620, 0x37be9: 0x6d068820, 0x37bea: 0x6d068a20, 0x37beb: 0x6d068c20,\n\t0x37bec: 0x6d068e20, 0x37bed: 0x6d069020, 0x37bee: 0x6d069220, 0x37bef: 0x6d069420,\n\t0x37bf0: 0x6d069620, 0x37bf1: 0x6d069820, 0x37bf2: 0x6d069a20, 0x37bf3: 0x6d069c20,\n\t0x37bf4: 0x6d069e20, 0x37bf5: 0x6d06a020, 0x37bf6: 0x6d06a220, 0x37bf7: 0x6d06a420,\n\t0x37bf8: 0x6d06a620, 0x37bf9: 0x6d06a820, 0x37bfa: 0x6d06aa20, 0x37bfb: 0x6d06ac20,\n\t0x37bfc: 0x6d06ae20, 0x37bfd: 0x6d06b020, 0x37bfe: 0x6d06b220, 0x37bff: 0x6d06b420,\n\t// Block 0xdf0, offset 0x37c00\n\t0x37c00: 0x6d06b620, 0x37c01: 0x6d06b820, 0x37c02: 0x6d06ba20, 0x37c03: 0x6d06bc20,\n\t0x37c04: 0x6d06be20, 0x37c05: 0x6d06c020, 0x37c06: 0x6d344020, 0x37c07: 0x6d344220,\n\t0x37c08: 0x6d344420, 0x37c09: 0x6d344620, 0x37c0a: 0x6d344820, 0x37c0b: 0x6d344a20,\n\t0x37c0c: 0x6d344c20, 0x37c0d: 0x6d344e20, 0x37c0e: 0x6d345020, 0x37c0f: 0x6d345220,\n\t0x37c10: 0x6d345420, 0x37c11: 0x6d345620, 0x37c12: 0x6d345820, 0x37c13: 0x6d345a20,\n\t0x37c14: 0x6d345c20, 0x37c15: 0x6d345e20, 0x37c16: 0x6d346020, 0x37c17: 0x6d346220,\n\t0x37c18: 0x6d346420, 0x37c19: 0x6d346620, 0x37c1a: 0x6d346820, 0x37c1b: 0x6d346a20,\n\t0x37c1c: 0x6d346c20, 0x37c1d: 0x6d346e20, 0x37c1e: 0x6d347020, 0x37c1f: 0x6d347220,\n\t0x37c20: 0x6d347420, 0x37c21: 0x6d347620, 0x37c22: 0x6d347820, 0x37c23: 0x6d347a20,\n\t0x37c24: 0x6d347c20, 0x37c25: 0x6d347e20, 0x37c26: 0x6d348020, 0x37c27: 0x6d348220,\n\t0x37c28: 0x6d348420, 0x37c29: 0x6d348620, 0x37c2a: 0x6d348820, 0x37c2b: 0x6d348a20,\n\t0x37c2c: 0x6d348c20, 0x37c2d: 0x6d348e20, 0x37c2e: 0x6d349020, 0x37c2f: 0x6d349220,\n\t0x37c30: 0x6d349420, 0x37c31: 0x6d349620, 0x37c32: 0x6d349820, 0x37c33: 0x6d349a20,\n\t0x37c34: 0x6d349c20, 0x37c35: 0x6d349e20, 0x37c36: 0x6d34a020, 0x37c37: 0x6d34a220,\n\t0x37c38: 0x6d34a420, 0x37c39: 0x6d34a620, 0x37c3a: 0x6d34a820, 0x37c3b: 0x6d34aa20,\n\t0x37c3c: 0x6d34ac20, 0x37c3d: 0x6d34ae20, 0x37c3e: 0x6d34b020, 0x37c3f: 0x6d34b220,\n\t// Block 0xdf1, offset 0x37c40\n\t0x37c40: 0x6d60ee20, 0x37c41: 0x6d60f020, 0x37c42: 0x6d60f220, 0x37c43: 0x6d60f420,\n\t0x37c44: 0x6d60f620, 0x37c45: 0x6d60f820, 0x37c46: 0x6d60fa20, 0x37c47: 0x6d60fc20,\n\t0x37c48: 0x6d60fe20, 0x37c49: 0x6d610020, 0x37c4a: 0x6d610220, 0x37c4b: 0x6d610420,\n\t0x37c4c: 0x6d610620, 0x37c4d: 0x6d610820, 0x37c4e: 0x6d610a20, 0x37c4f: 0x6d610c20,\n\t0x37c50: 0x6d610e20, 0x37c51: 0x6d611020, 0x37c52: 0x6d611220, 0x37c53: 0x6d611420,\n\t0x37c54: 0x6d611620, 0x37c55: 0x6d611820, 0x37c56: 0x6d611a20, 0x37c57: 0x6d611c20,\n\t0x37c58: 0x6d611e20, 0x37c59: 0x6d612020, 0x37c5a: 0x6d612220, 0x37c5b: 0x6d612420,\n\t0x37c5c: 0x6d612620, 0x37c5d: 0x6d612820, 0x37c5e: 0x6d612a20, 0x37c5f: 0x6d612c20,\n\t0x37c60: 0x6d612e20, 0x37c61: 0x6d613020, 0x37c62: 0x6d613220, 0x37c63: 0x6d613420,\n\t0x37c64: 0x6d613620, 0x37c65: 0x6d613820, 0x37c66: 0x6d613a20, 0x37c67: 0x6d8afc20,\n\t0x37c68: 0x6d613c20, 0x37c69: 0x6d613e20, 0x37c6a: 0x6d614020, 0x37c6b: 0x6d614220,\n\t0x37c6c: 0x6d614420, 0x37c6d: 0x6d614620, 0x37c6e: 0x6d614820, 0x37c6f: 0x6d614a20,\n\t0x37c70: 0x6d614c20, 0x37c71: 0x6d614e20, 0x37c72: 0x6d615020, 0x37c73: 0x6d615220,\n\t0x37c74: 0x6d615420, 0x37c75: 0x6d615620, 0x37c76: 0x6d615820, 0x37c77: 0x6d615a20,\n\t0x37c78: 0x6d615c20, 0x37c79: 0x6d615e20, 0x37c7a: 0x6d616020, 0x37c7b: 0x6d616220,\n\t0x37c7c: 0x6d616420, 0x37c7d: 0x6d616620, 0x37c7e: 0x6d616820, 0x37c7f: 0x6d616a20,\n\t// Block 0xdf2, offset 0x37c80\n\t0x37c80: 0x6d616c20, 0x37c81: 0x6d616e20, 0x37c82: 0x6d8afe20, 0x37c83: 0x6d8b0020,\n\t0x37c84: 0x6d8b0220, 0x37c85: 0x6d8b0420, 0x37c86: 0x6d8b0620, 0x37c87: 0x6d8b0820,\n\t0x37c88: 0x6d8b0a20, 0x37c89: 0x6d8b0c20, 0x37c8a: 0x6d8b0e20, 0x37c8b: 0x6d8b1020,\n\t0x37c8c: 0x6d8b1220, 0x37c8d: 0x6d8b1420, 0x37c8e: 0x6d8b1620, 0x37c8f: 0x6d8b1820,\n\t0x37c90: 0x6d8b1a20, 0x37c91: 0x6d8b1c20, 0x37c92: 0x6d8b1e20, 0x37c93: 0x6d8b2020,\n\t0x37c94: 0x6d8b2220, 0x37c95: 0x6d8b2420, 0x37c96: 0x6d8b2620, 0x37c97: 0x6d8b2820,\n\t0x37c98: 0x6d8b2a20, 0x37c99: 0x6d8b2c20, 0x37c9a: 0x6d8b2e20, 0x37c9b: 0x6d8b3020,\n\t0x37c9c: 0x6d8b3220, 0x37c9d: 0x6d8b3420, 0x37c9e: 0x6d8b3620, 0x37c9f: 0x6d8b3820,\n\t0x37ca0: 0x6d8b3a20, 0x37ca1: 0x6d8b3c20, 0x37ca2: 0x6d8b3e20, 0x37ca3: 0x6d8b4020,\n\t0x37ca4: 0x6d8b4220, 0x37ca5: 0x6d8b4420, 0x37ca6: 0x6d8b4620, 0x37ca7: 0x6d8b4820,\n\t0x37ca8: 0x6d8b4a20, 0x37ca9: 0x6d8b4c20, 0x37caa: 0x6d8b4e20, 0x37cab: 0x6d8b5020,\n\t0x37cac: 0x6d8b5220, 0x37cad: 0x6d8b5420, 0x37cae: 0x6d8b5620, 0x37caf: 0x6d8b5820,\n\t0x37cb0: 0x6d8b5a20, 0x37cb1: 0x6d8b5c20, 0x37cb2: 0x6d8b5e20, 0x37cb3: 0x6d8b6020,\n\t0x37cb4: 0x6d8b6220, 0x37cb5: 0x6d8b6420, 0x37cb6: 0x6d8b6620, 0x37cb7: 0x6d8b6820,\n\t0x37cb8: 0x6d8b6a20, 0x37cb9: 0x6d8b6c20, 0x37cba: 0x6d8b6e20, 0x37cbb: 0x6d8b7020,\n\t0x37cbc: 0x6d8b7220, 0x37cbd: 0x6d8b7420, 0x37cbe: 0x6d8b7620, 0x37cbf: 0x6d8b7820,\n\t// Block 0xdf3, offset 0x37cc0\n\t0x37cc0: 0x6d8b7a20, 0x37cc1: 0x6d8b7c20, 0x37cc2: 0x6daf7a20, 0x37cc3: 0x6d8b7e20,\n\t0x37cc4: 0x6d8b8020, 0x37cc5: 0x6d8b8220, 0x37cc6: 0x6d8b8420, 0x37cc7: 0x6d8b8620,\n\t0x37cc8: 0x6d8b8820, 0x37cc9: 0x6daf7c20, 0x37cca: 0x6daf7e20, 0x37ccb: 0x6daf8020,\n\t0x37ccc: 0x6daf8220, 0x37ccd: 0x6daf8420, 0x37cce: 0x6daf8620, 0x37ccf: 0x6daf8820,\n\t0x37cd0: 0x6daf8a20, 0x37cd1: 0x6daf8c20, 0x37cd2: 0x6daf8e20, 0x37cd3: 0x6daf9020,\n\t0x37cd4: 0x6daf9220, 0x37cd5: 0x6daf9420, 0x37cd6: 0x6daf9620, 0x37cd7: 0x6daf9820,\n\t0x37cd8: 0x6daf9a20, 0x37cd9: 0x6daf9c20, 0x37cda: 0x6daf9e20, 0x37cdb: 0x6dafa020,\n\t0x37cdc: 0x6dafa220, 0x37cdd: 0x6dafa420, 0x37cde: 0x6dafa620, 0x37cdf: 0x6dafa820,\n\t0x37ce0: 0x6dafaa20, 0x37ce1: 0x6dafac20, 0x37ce2: 0x6dafae20, 0x37ce3: 0x6dafb020,\n\t0x37ce4: 0x6dafb220, 0x37ce5: 0x6dafb420, 0x37ce6: 0x6dafb620, 0x37ce7: 0x6dafb820,\n\t0x37ce8: 0x6dafba20, 0x37ce9: 0x6dafbc20, 0x37cea: 0x6dafbe20, 0x37ceb: 0x6dafc020,\n\t0x37cec: 0x6dafc220, 0x37ced: 0x6dafc420, 0x37cee: 0x6dafc620, 0x37cef: 0x6dafc820,\n\t0x37cf0: 0x6dafca20, 0x37cf1: 0x6dafcc20, 0x37cf2: 0x6dafce20, 0x37cf3: 0x6dafd020,\n\t0x37cf4: 0x6dafd220, 0x37cf5: 0x6dafd420, 0x37cf6: 0x6dafd620, 0x37cf7: 0x6dafd820,\n\t0x37cf8: 0x6dafda20, 0x37cf9: 0x6dafdc20, 0x37cfa: 0x6dafde20, 0x37cfb: 0x6dafe020,\n\t0x37cfc: 0x6dcf0020, 0x37cfd: 0x6dcf0220, 0x37cfe: 0x6dcf0420, 0x37cff: 0x6dcf0620,\n\t// Block 0xdf4, offset 0x37d00\n\t0x37d00: 0x6dcf0820, 0x37d01: 0x6dcf0a20, 0x37d02: 0x6dcf0c20, 0x37d03: 0x6dcf0e20,\n\t0x37d04: 0x6dcf1020, 0x37d05: 0x6dcf1220, 0x37d06: 0x6dcf1420, 0x37d07: 0x6dcf1620,\n\t0x37d08: 0x6dcf1820, 0x37d09: 0x6dcf1a20, 0x37d0a: 0x6dcf1c20, 0x37d0b: 0x6dcf1e20,\n\t0x37d0c: 0x6dcf2020, 0x37d0d: 0x6dcf2220, 0x37d0e: 0x6dcf2420, 0x37d0f: 0x6dcf2620,\n\t0x37d10: 0x6dcf2820, 0x37d11: 0x6dcf2a20, 0x37d12: 0x6dcf2c20, 0x37d13: 0x6dcf2e20,\n\t0x37d14: 0x6dcf3020, 0x37d15: 0x6dcf3220, 0x37d16: 0x6dcf3420, 0x37d17: 0x6dcf3620,\n\t0x37d18: 0x6dcf3820, 0x37d19: 0x6dcf3a20, 0x37d1a: 0x6dcf3c20, 0x37d1b: 0x6dcf3e20,\n\t0x37d1c: 0x6dcf4020, 0x37d1d: 0x6dcf4220, 0x37d1e: 0x6dcf4420, 0x37d1f: 0x6dcf4620,\n\t0x37d20: 0x6dcf4820, 0x37d21: 0x6dcf4a20, 0x37d22: 0x6dcf4c20, 0x37d23: 0x6dcf4e20,\n\t0x37d24: 0x6dcf5020, 0x37d25: 0x6dcf5220, 0x37d26: 0x6dcf5420, 0x37d27: 0x6dcf5620,\n\t0x37d28: 0x6dcf5820, 0x37d29: 0x6dcf5a20, 0x37d2a: 0x6dcf5c20, 0x37d2b: 0x6dcf5e20,\n\t0x37d2c: 0x6dcf6020, 0x37d2d: 0x6dcf6220, 0x37d2e: 0x6dcf6420, 0x37d2f: 0x6dcf6620,\n\t0x37d30: 0x6dcf6820, 0x37d31: 0x6dcf6a20, 0x37d32: 0x6dcf6c20, 0x37d33: 0x6dcf6e20,\n\t0x37d34: 0x6dcf7020, 0x37d35: 0x6de94220, 0x37d36: 0x6de94420, 0x37d37: 0x6de94620,\n\t0x37d38: 0x6de94820, 0x37d39: 0x6de94a20, 0x37d3a: 0x6de94c20, 0x37d3b: 0x6de94e20,\n\t0x37d3c: 0x6de95020, 0x37d3d: 0x6de95220, 0x37d3e: 0x6de95420, 0x37d3f: 0x6de95620,\n\t// Block 0xdf5, offset 0x37d40\n\t0x37d40: 0x6de95820, 0x37d41: 0x6de95a20, 0x37d42: 0x6de95c20, 0x37d43: 0x6de95e20,\n\t0x37d44: 0x6de96020, 0x37d45: 0x6de96220, 0x37d46: 0x6de96420, 0x37d47: 0x6de96620,\n\t0x37d48: 0x6de96820, 0x37d49: 0x6de96a20, 0x37d4a: 0x6de96c20, 0x37d4b: 0x6de96e20,\n\t0x37d4c: 0x6de97020, 0x37d4d: 0x6de97220, 0x37d4e: 0x6de97420, 0x37d4f: 0x6de97620,\n\t0x37d50: 0x6de97820, 0x37d51: 0x6de97a20, 0x37d52: 0x6de97c20, 0x37d53: 0x6de97e20,\n\t0x37d54: 0x6de98020, 0x37d55: 0x6de98220, 0x37d56: 0x6de98420, 0x37d57: 0x6de98620,\n\t0x37d58: 0x6de98820, 0x37d59: 0x6de98a20, 0x37d5a: 0x6de98c20, 0x37d5b: 0x6de98e20,\n\t0x37d5c: 0x6dff5420, 0x37d5d: 0x6dff5620, 0x37d5e: 0x6dff5820, 0x37d5f: 0x6dff5a20,\n\t0x37d60: 0x6dff5c20, 0x37d61: 0x6dff5e20, 0x37d62: 0x6dff6020, 0x37d63: 0x6dff6220,\n\t0x37d64: 0x6e11c420, 0x37d65: 0x6de99020, 0x37d66: 0x6dff6420, 0x37d67: 0x6dff6620,\n\t0x37d68: 0x6e11c620, 0x37d69: 0x6dff6820, 0x37d6a: 0x6dff6a20, 0x37d6b: 0x6e11c820,\n\t0x37d6c: 0x6dff6c20, 0x37d6d: 0x6dff6e20, 0x37d6e: 0x6dff7020, 0x37d6f: 0x6dff7220,\n\t0x37d70: 0x6dff7420, 0x37d71: 0x6dff7620, 0x37d72: 0x6dff7820, 0x37d73: 0x6dff7a20,\n\t0x37d74: 0x6dff7c20, 0x37d75: 0x6dff7e20, 0x37d76: 0x6dff8020, 0x37d77: 0x6dff8220,\n\t0x37d78: 0x6dff8420, 0x37d79: 0x6dff8620, 0x37d7a: 0x6dff8820, 0x37d7b: 0x6e11ca20,\n\t0x37d7c: 0x6e11cc20, 0x37d7d: 0x6e11ce20, 0x37d7e: 0x6e11d020, 0x37d7f: 0x6e11d220,\n\t// Block 0xdf6, offset 0x37d80\n\t0x37d80: 0x6e11d420, 0x37d81: 0x6e11d620, 0x37d82: 0x6e200c20, 0x37d83: 0x6e11d820,\n\t0x37d84: 0x6e11da20, 0x37d85: 0x6e11dc20, 0x37d86: 0x6e11de20, 0x37d87: 0x6e11e020,\n\t0x37d88: 0x6e11e220, 0x37d89: 0x6e11e420, 0x37d8a: 0x6e11e620, 0x37d8b: 0x6e11e820,\n\t0x37d8c: 0x6e11ea20, 0x37d8d: 0x6e11ec20, 0x37d8e: 0x6e11ee20, 0x37d8f: 0x6e11f020,\n\t0x37d90: 0x6e11f220, 0x37d91: 0x6e11f420, 0x37d92: 0x6e11f620, 0x37d93: 0x6e11f820,\n\t0x37d94: 0x6e200e20, 0x37d95: 0x6e201020, 0x37d96: 0x6e201220, 0x37d97: 0x6e201420,\n\t0x37d98: 0x6e201620, 0x37d99: 0x6e201820, 0x37d9a: 0x6e201a20, 0x37d9b: 0x6e201c20,\n\t0x37d9c: 0x6e201e20, 0x37d9d: 0x6e202020, 0x37d9e: 0x6e202220, 0x37d9f: 0x6e202420,\n\t0x37da0: 0x6e202620, 0x37da1: 0x6e202820, 0x37da2: 0x6e202a20, 0x37da3: 0x6e202c20,\n\t0x37da4: 0x6e202e20, 0x37da5: 0x6e203020, 0x37da6: 0x6e203220, 0x37da7: 0x6e2b1e20,\n\t0x37da8: 0x6e2b2020, 0x37da9: 0x6e2b2220, 0x37daa: 0x6e2b2420, 0x37dab: 0x6e2b2620,\n\t0x37dac: 0x6e2b2820, 0x37dad: 0x6e2b2a20, 0x37dae: 0x6e2b2c20, 0x37daf: 0x6e2b2e20,\n\t0x37db0: 0x6e339420, 0x37db1: 0x6e339620, 0x37db2: 0x6e339820, 0x37db3: 0x6e339a20,\n\t0x37db4: 0x6e339c20, 0x37db5: 0x6e339e20, 0x37db6: 0x6e33a020, 0x37db7: 0x6e33a220,\n\t0x37db8: 0x6e39a020, 0x37db9: 0x6e33a420, 0x37dba: 0x6e39a220, 0x37dbb: 0x6e39a420,\n\t0x37dbc: 0x6e3dce20, 0x37dbd: 0x6e3dd020, 0x37dbe: 0x6e40aa20, 0x37dbf: 0x6e40ac20,\n\t// Block 0xdf7, offset 0x37dc0\n\t0x37dc0: 0x6e40ae20, 0x37dc1: 0x6e40b020, 0x37dc2: 0x6e40b220, 0x37dc3: 0x6e42e020,\n\t0x37dc4: 0x6e42e220, 0x37dc5: 0x6e445c20, 0x37dc6: 0x6e453c20, 0x37dc7: 0x6e45ca20,\n\t0x37dc8: 0x6c3dfa20, 0x37dc9: 0x6c5cb820, 0x37dca: 0x6c80b020, 0x37dcb: 0x6c80b220,\n\t0x37dcc: 0x6c80b420, 0x37dcd: 0x6ca9d420, 0x37dce: 0x6ca9d620, 0x37dcf: 0x6ca9d820,\n\t0x37dd0: 0x6ca9da20, 0x37dd1: 0x6cd84020, 0x37dd2: 0x6cd84220, 0x37dd3: 0x6cd84420,\n\t0x37dd4: 0x6cd84620, 0x37dd5: 0x6cd84820, 0x37dd6: 0x6d06e620, 0x37dd7: 0x6d06e820,\n\t0x37dd8: 0x6d06ea20, 0x37dd9: 0x6d06ec20, 0x37dda: 0x6d34d620, 0x37ddb: 0x6d618820,\n\t0x37ddc: 0x6d618a20, 0x37ddd: 0x6d618c20, 0x37dde: 0x6d8ba020, 0x37ddf: 0x6d8ba220,\n\t0x37de0: 0x6dafec20, 0x37de1: 0x6dafee20, 0x37de2: 0x6c143220, 0x37de3: 0x6c5cc820,\n\t0x37de4: 0x6c5cca20, 0x37de5: 0x6c5ccc20, 0x37de6: 0x6c80cc20, 0x37de7: 0x6c80ce20,\n\t0x37de8: 0x6c80d020, 0x37de9: 0x6ca9f220, 0x37dea: 0x6ca9f420, 0x37deb: 0x6ca9f620,\n\t0x37dec: 0x6ca9f820, 0x37ded: 0x6ca9fa20, 0x37dee: 0x6ca9fc20, 0x37def: 0x6cd85a20,\n\t0x37df0: 0x6cd85c20, 0x37df1: 0x6cd85e20, 0x37df2: 0x6cd86020, 0x37df3: 0x6cd86220,\n\t0x37df4: 0x6d06f220, 0x37df5: 0x6d06f420, 0x37df6: 0x6d06f620, 0x37df7: 0x6d06f820,\n\t0x37df8: 0x6d34e820, 0x37df9: 0x6d34ea20, 0x37dfa: 0x6d34ec20, 0x37dfb: 0x6d34ee20,\n\t0x37dfc: 0x6d34f020, 0x37dfd: 0x6d34f220, 0x37dfe: 0x6d34f420, 0x37dff: 0x6d34f620,\n\t// Block 0xdf8, offset 0x37e00\n\t0x37e00: 0x6d34f820, 0x37e01: 0x6d619220, 0x37e02: 0x6d619420, 0x37e03: 0x6d619620,\n\t0x37e04: 0x6d619820, 0x37e05: 0x6d619a20, 0x37e06: 0x6d619c20, 0x37e07: 0x6d619e20,\n\t0x37e08: 0x6d8baa20, 0x37e09: 0x6d8bac20, 0x37e0a: 0x6d8bae20, 0x37e0b: 0x6d8bb020,\n\t0x37e0c: 0x6d8bb220, 0x37e0d: 0x6d8bb420, 0x37e0e: 0x6d8bb620, 0x37e0f: 0x6daffa20,\n\t0x37e10: 0x6daffc20, 0x37e11: 0x6daffe20, 0x37e12: 0x6db00020, 0x37e13: 0x6db00220,\n\t0x37e14: 0x6db00420, 0x37e15: 0x6dcf8220, 0x37e16: 0x6dcf8420, 0x37e17: 0x6dcf8620,\n\t0x37e18: 0x6dcf8820, 0x37e19: 0x6de9aa20, 0x37e1a: 0x6de9ac20, 0x37e1b: 0x6de9ae20,\n\t0x37e1c: 0x6de9b020, 0x37e1d: 0x6dff9220, 0x37e1e: 0x6dff9420, 0x37e1f: 0x6e120420,\n\t0x37e20: 0x6e120620, 0x37e21: 0x6e203e20, 0x37e22: 0x6e2b3420, 0x37e23: 0x6e2b3620,\n\t0x37e24: 0x6e2b3820, 0x37e25: 0x6e33aa20, 0x37e26: 0x6e33ac20, 0x37e27: 0x6e3dd420,\n\t0x37e28: 0x6e40b620, 0x37e29: 0x6e45cc20, 0x37e2a: 0x6c0a4c20, 0x37e2b: 0x6c0a4e20,\n\t0x37e2c: 0x6c25cc20, 0x37e2d: 0x6c0a5020, 0x37e2e: 0x6c25ce20, 0x37e2f: 0x6c143620,\n\t0x37e30: 0x6c0a5220, 0x37e31: 0x6c25d020, 0x37e32: 0x6c25d220, 0x37e33: 0x6c25d420,\n\t0x37e34: 0x6c25d620, 0x37e35: 0x6c25d820, 0x37e36: 0x6c25da20, 0x37e37: 0x6c3e0a20,\n\t0x37e38: 0x6c3e0c20, 0x37e39: 0x6c3e0e20, 0x37e3a: 0x6c3e1020, 0x37e3b: 0x6c3e1220,\n\t0x37e3c: 0x6c3e1420, 0x37e3d: 0x6c3e1620, 0x37e3e: 0x6c3e1820, 0x37e3f: 0x6c3e1a20,\n\t// Block 0xdf9, offset 0x37e40\n\t0x37e40: 0x6c3e1c20, 0x37e41: 0x6c5cda20, 0x37e42: 0x6c5cdc20, 0x37e43: 0x6c5cde20,\n\t0x37e44: 0x6c5ce020, 0x37e45: 0x6c5ce220, 0x37e46: 0x6c5ce420, 0x37e47: 0x6c5ce620,\n\t0x37e48: 0x6c5ce820, 0x37e49: 0x6c5cea20, 0x37e4a: 0x6c5cec20, 0x37e4b: 0x6c5cee20,\n\t0x37e4c: 0x6c5cf020, 0x37e4d: 0x6c5cf220, 0x37e4e: 0x6c80e820, 0x37e4f: 0x6c80ea20,\n\t0x37e50: 0x6c80ec20, 0x37e51: 0x6c80ee20, 0x37e52: 0x6c80f020, 0x37e53: 0x6c80f220,\n\t0x37e54: 0x6c80f420, 0x37e55: 0x6c80f620, 0x37e56: 0x6c80f820, 0x37e57: 0x6c80fa20,\n\t0x37e58: 0x6c80fc20, 0x37e59: 0x6c80fe20, 0x37e5a: 0x6c810020, 0x37e5b: 0x6c810220,\n\t0x37e5c: 0x6c810420, 0x37e5d: 0x6c810620, 0x37e5e: 0x6c810820, 0x37e5f: 0x6c810a20,\n\t0x37e60: 0x6c810c20, 0x37e61: 0x6c810e20, 0x37e62: 0x6c811020, 0x37e63: 0x6c811220,\n\t0x37e64: 0x6c6dd220, 0x37e65: 0x6c811420, 0x37e66: 0x6c811620, 0x37e67: 0x6c811820,\n\t0x37e68: 0x6c811a20, 0x37e69: 0x6c811c20, 0x37e6a: 0x6caa0220, 0x37e6b: 0x6caa0420,\n\t0x37e6c: 0x6caa0620, 0x37e6d: 0x6caa0820, 0x37e6e: 0x6caa0a20, 0x37e6f: 0x6caa0c20,\n\t0x37e70: 0x6caa0e20, 0x37e71: 0x6caa1020, 0x37e72: 0x6caa1220, 0x37e73: 0x6c811e20,\n\t0x37e74: 0x6caa1420, 0x37e75: 0x6caa1620, 0x37e76: 0x6caa1820, 0x37e77: 0x6caa1a20,\n\t0x37e78: 0x6caa1c20, 0x37e79: 0x6caa1e20, 0x37e7a: 0x6caa2020, 0x37e7b: 0x6caa2220,\n\t0x37e7c: 0x6cd86e20, 0x37e7d: 0x6cd87020, 0x37e7e: 0x6cd87220, 0x37e7f: 0x6cd87420,\n\t// Block 0xdfa, offset 0x37e80\n\t0x37e80: 0x6cd87620, 0x37e81: 0x6cd87820, 0x37e82: 0x6cd87a20, 0x37e83: 0x6cd87c20,\n\t0x37e84: 0x6cd87e20, 0x37e85: 0x6d071420, 0x37e86: 0x6d071620, 0x37e87: 0x6d071820,\n\t0x37e88: 0x6d071a20, 0x37e89: 0x6d071c20, 0x37e8a: 0x6d071e20, 0x37e8b: 0x6d072020,\n\t0x37e8c: 0x6d072220, 0x37e8d: 0x6d072420, 0x37e8e: 0x6d072620, 0x37e8f: 0x6d072820,\n\t0x37e90: 0x6d072a20, 0x37e91: 0x6cd88020, 0x37e92: 0x6d072c20, 0x37e93: 0x6d072e20,\n\t0x37e94: 0x6d073020, 0x37e95: 0x6d073220, 0x37e96: 0x6d073420, 0x37e97: 0x6d073620,\n\t0x37e98: 0x6d073820, 0x37e99: 0x6d073a20, 0x37e9a: 0x6d073c20, 0x37e9b: 0x6d073e20,\n\t0x37e9c: 0x6d074020, 0x37e9d: 0x6d350a20, 0x37e9e: 0x6d350c20, 0x37e9f: 0x6d350e20,\n\t0x37ea0: 0x6d351020, 0x37ea1: 0x6d351220, 0x37ea2: 0x6d351420, 0x37ea3: 0x6d351620,\n\t0x37ea4: 0x6d351820, 0x37ea5: 0x6d351a20, 0x37ea6: 0x6d351c20, 0x37ea7: 0x6d351e20,\n\t0x37ea8: 0x6d352020, 0x37ea9: 0x6d352220, 0x37eaa: 0x6d217020, 0x37eab: 0x6d352420,\n\t0x37eac: 0x6d352620, 0x37ead: 0x6d352820, 0x37eae: 0x6d352a20, 0x37eaf: 0x6d61ac20,\n\t0x37eb0: 0x6d61ae20, 0x37eb1: 0x6d61b020, 0x37eb2: 0x6d61b220, 0x37eb3: 0x6d61b420,\n\t0x37eb4: 0x6d61b620, 0x37eb5: 0x6d61b820, 0x37eb6: 0x6d61ba20, 0x37eb7: 0x6d61bc20,\n\t0x37eb8: 0x6d61be20, 0x37eb9: 0x6d61c020, 0x37eba: 0x6d61c220, 0x37ebb: 0x6d61c420,\n\t0x37ebc: 0x6d61c620, 0x37ebd: 0x6d8bc620, 0x37ebe: 0x6d8bc820, 0x37ebf: 0x6d8bca20,\n\t// Block 0xdfb, offset 0x37ec0\n\t0x37ec0: 0x6d8bcc20, 0x37ec1: 0x6d8bce20, 0x37ec2: 0x6d8bd020, 0x37ec3: 0x6d8bd220,\n\t0x37ec4: 0x6d8bd420, 0x37ec5: 0x6d8bd620, 0x37ec6: 0x6d8bd820, 0x37ec7: 0x6d8bda20,\n\t0x37ec8: 0x6d8bdc20, 0x37ec9: 0x6d8bde20, 0x37eca: 0x6d8be020, 0x37ecb: 0x6d8be220,\n\t0x37ecc: 0x6d8be420, 0x37ecd: 0x6d8be620, 0x37ece: 0x6d8be820, 0x37ecf: 0x6d8bea20,\n\t0x37ed0: 0x6d8bec20, 0x37ed1: 0x6d8bee20, 0x37ed2: 0x6db01020, 0x37ed3: 0x6db01220,\n\t0x37ed4: 0x6db01420, 0x37ed5: 0x6db01620, 0x37ed6: 0x6db01820, 0x37ed7: 0x6db01a20,\n\t0x37ed8: 0x6db01c20, 0x37ed9: 0x6db01e20, 0x37eda: 0x6db02020, 0x37edb: 0x6db02220,\n\t0x37edc: 0x6db02420, 0x37edd: 0x6db02620, 0x37ede: 0x6db02820, 0x37edf: 0x6dcf9020,\n\t0x37ee0: 0x6dcf9220, 0x37ee1: 0x6dcf9420, 0x37ee2: 0x6dcf9620, 0x37ee3: 0x6dcf9820,\n\t0x37ee4: 0x6dcf9a20, 0x37ee5: 0x6dcf9c20, 0x37ee6: 0x6dcf9e20, 0x37ee7: 0x6dcfa020,\n\t0x37ee8: 0x6dcfa220, 0x37ee9: 0x6dcfb220, 0x37eea: 0x6de9be20, 0x37eeb: 0x6de9c020,\n\t0x37eec: 0x6de9c220, 0x37eed: 0x6de9c420, 0x37eee: 0x6de9c620, 0x37eef: 0x6de9c820,\n\t0x37ef0: 0x6de9ca20, 0x37ef1: 0x6de9cc20, 0x37ef2: 0x6de9ce20, 0x37ef3: 0x6de9d020,\n\t0x37ef4: 0x6de9d220, 0x37ef5: 0x6dff9620, 0x37ef6: 0x6dff9820, 0x37ef7: 0x6dff9a20,\n\t0x37ef8: 0x6dff9c20, 0x37ef9: 0x6dff9e20, 0x37efa: 0x6dffa020, 0x37efb: 0x6e120a20,\n\t0x37efc: 0x6e120c20, 0x37efd: 0x6e2b3a20, 0x37efe: 0x6e33b420, 0x37eff: 0x6e33b620,\n\t// Block 0xdfc, offset 0x37f00\n\t0x37f00: 0x6e33b820, 0x37f01: 0x6e33ba20, 0x37f02: 0x6e33bc20, 0x37f03: 0x6e33be20,\n\t0x37f04: 0x6e33c020, 0x37f05: 0x6e33c220, 0x37f06: 0x6e3dd620, 0x37f07: 0x6e40b820,\n\t0x37f08: 0x6e42e420, 0x37f09: 0x6e42e620, 0x37f0a: 0x6e42e820, 0x37f0b: 0x6c143c20,\n\t0x37f0c: 0x6c143e20, 0x37f0d: 0x6c144020, 0x37f0e: 0x6c3e2620, 0x37f0f: 0x6c3e2820,\n\t0x37f10: 0x6c3e2a20, 0x37f11: 0x6c5cfe20, 0x37f12: 0x6c5d0020, 0x37f13: 0x6c5d0220,\n\t0x37f14: 0x6c5d0420, 0x37f15: 0x6c5d0620, 0x37f16: 0x6c5d0820, 0x37f17: 0x6c813820,\n\t0x37f18: 0x6c813a20, 0x37f19: 0x6c813c20, 0x37f1a: 0x6c813e20, 0x37f1b: 0x6c814020,\n\t0x37f1c: 0x6c814220, 0x37f1d: 0x6c814420, 0x37f1e: 0x6c814620, 0x37f1f: 0x6c814820,\n\t0x37f20: 0x6c814a20, 0x37f21: 0x6c814c20, 0x37f22: 0x6c814e20, 0x37f23: 0x6c815020,\n\t0x37f24: 0x6c815220, 0x37f25: 0x6caa4020, 0x37f26: 0x6caa4220, 0x37f27: 0x6caa4420,\n\t0x37f28: 0x6caa4620, 0x37f29: 0x6caa4820, 0x37f2a: 0x6caa4a20, 0x37f2b: 0x6caa4c20,\n\t0x37f2c: 0x6caa4e20, 0x37f2d: 0x6caa5020, 0x37f2e: 0x6c815420, 0x37f2f: 0x6caa5220,\n\t0x37f30: 0x6caa5420, 0x37f31: 0x6caa5620, 0x37f32: 0x6caa5820, 0x37f33: 0x6caa5a20,\n\t0x37f34: 0x6caa5c20, 0x37f35: 0x6caa5e20, 0x37f36: 0x6caa6020, 0x37f37: 0x6caa6220,\n\t0x37f38: 0x6caa6420, 0x37f39: 0x6cd88e20, 0x37f3a: 0x6cd89020, 0x37f3b: 0x6cd89220,\n\t0x37f3c: 0x6cd89420, 0x37f3d: 0x6cd89620, 0x37f3e: 0x6cd89820, 0x37f3f: 0x6cd89a20,\n\t// Block 0xdfd, offset 0x37f40\n\t0x37f40: 0x6cd89c20, 0x37f41: 0x6cd89e20, 0x37f42: 0x6cd8a020, 0x37f43: 0x6cd8a220,\n\t0x37f44: 0x6cd8a420, 0x37f45: 0x6cba3e20, 0x37f46: 0x6d075820, 0x37f47: 0x6d075a20,\n\t0x37f48: 0x6d075c20, 0x37f49: 0x6d075e20, 0x37f4a: 0x6d076020, 0x37f4b: 0x6d076220,\n\t0x37f4c: 0x6d076420, 0x37f4d: 0x6d076620, 0x37f4e: 0x6d076820, 0x37f4f: 0x6d076a20,\n\t0x37f50: 0x6d076c20, 0x37f51: 0x6d076e20, 0x37f52: 0x6d077020, 0x37f53: 0x6d077220,\n\t0x37f54: 0x6d077420, 0x37f55: 0x6d077620, 0x37f56: 0x6d077820, 0x37f57: 0x6d353a20,\n\t0x37f58: 0x6d353c20, 0x37f59: 0x6d353e20, 0x37f5a: 0x6d354020, 0x37f5b: 0x6d354220,\n\t0x37f5c: 0x6d354420, 0x37f5d: 0x6d354620, 0x37f5e: 0x6d354820, 0x37f5f: 0x6d354a20,\n\t0x37f60: 0x6d354c20, 0x37f61: 0x6d354e20, 0x37f62: 0x6d61d620, 0x37f63: 0x6d61d820,\n\t0x37f64: 0x6d61da20, 0x37f65: 0x6d61dc20, 0x37f66: 0x6d61de20, 0x37f67: 0x6d61e020,\n\t0x37f68: 0x6d61e220, 0x37f69: 0x6d61e420, 0x37f6a: 0x6d61e620, 0x37f6b: 0x6d61e820,\n\t0x37f6c: 0x6d61ea20, 0x37f6d: 0x6d61ec20, 0x37f6e: 0x6d61ee20, 0x37f6f: 0x6d8bfa20,\n\t0x37f70: 0x6d8bfc20, 0x37f71: 0x6d8bfe20, 0x37f72: 0x6d8c0020, 0x37f73: 0x6d8c0220,\n\t0x37f74: 0x6d8c0420, 0x37f75: 0x6d8c0620, 0x37f76: 0x6d8c0820, 0x37f77: 0x6db02e20,\n\t0x37f78: 0x6db03020, 0x37f79: 0x6db03220, 0x37f7a: 0x6db03420, 0x37f7b: 0x6db03620,\n\t0x37f7c: 0x6db03820, 0x37f7d: 0x6db03a20, 0x37f7e: 0x6db03c20, 0x37f7f: 0x6db03e20,\n\t// Block 0xdfe, offset 0x37f80\n\t0x37f80: 0x6db04020, 0x37f81: 0x6db04220, 0x37f82: 0x6db04420, 0x37f83: 0x6db04620,\n\t0x37f84: 0x6db04820, 0x37f85: 0x6dcfb420, 0x37f86: 0x6dcfb620, 0x37f87: 0x6dcfb820,\n\t0x37f88: 0x6dcfba20, 0x37f89: 0x6dcfbc20, 0x37f8a: 0x6dcfbe20, 0x37f8b: 0x6dcfc020,\n\t0x37f8c: 0x6dcfc220, 0x37f8d: 0x6dcfc420, 0x37f8e: 0x6dcfc620, 0x37f8f: 0x6dcfc820,\n\t0x37f90: 0x6dcfca20, 0x37f91: 0x6dcfcc20, 0x37f92: 0x6dcfce20, 0x37f93: 0x6dcfd020,\n\t0x37f94: 0x6dcfd220, 0x37f95: 0x6de9de20, 0x37f96: 0x6de9e020, 0x37f97: 0x6de9e220,\n\t0x37f98: 0x6de9e420, 0x37f99: 0x6de9e620, 0x37f9a: 0x6de9e820, 0x37f9b: 0x6de9ea20,\n\t0x37f9c: 0x6dffa420, 0x37f9d: 0x6dffa620, 0x37f9e: 0x6dffa820, 0x37f9f: 0x6dffaa20,\n\t0x37fa0: 0x6dffac20, 0x37fa1: 0x6dffae20, 0x37fa2: 0x6e121620, 0x37fa3: 0x6e121820,\n\t0x37fa4: 0x6e121a20, 0x37fa5: 0x6e121c20, 0x37fa6: 0x6e121e20, 0x37fa7: 0x6e122020,\n\t0x37fa8: 0x6e204420, 0x37fa9: 0x6e204620, 0x37faa: 0x6e2b3c20, 0x37fab: 0x6e2b3e20,\n\t0x37fac: 0x6e33c420, 0x37fad: 0x6e39a820, 0x37fae: 0x6e3dd820, 0x37faf: 0x6e40bc20,\n\t0x37fb0: 0x6e453e20, 0x37fb1: 0x6e454020, 0x37fb2: 0x6c3e2e20, 0x37fb3: 0x6c25de20,\n\t0x37fb4: 0x6c5d1020, 0x37fb5: 0x6c5d1220, 0x37fb6: 0x6c5d1420, 0x37fb7: 0x6c5d1620,\n\t0x37fb8: 0x6c5d1820, 0x37fb9: 0x6c5d1a20, 0x37fba: 0x6c5d1c20, 0x37fbb: 0x6c5d1e20,\n\t0x37fbc: 0x6c5d2020, 0x37fbd: 0x6c5d2220, 0x37fbe: 0x6c5d2420, 0x37fbf: 0x6c5d2620,\n\t// Block 0xdff, offset 0x37fc0\n\t0x37fc0: 0x6c5d2820, 0x37fc1: 0x6c5d2a20, 0x37fc2: 0x6c816820, 0x37fc3: 0x6c816a20,\n\t0x37fc4: 0x6c816c20, 0x37fc5: 0x6c816e20, 0x37fc6: 0x6c817020, 0x37fc7: 0x6c817220,\n\t0x37fc8: 0x6c817420, 0x37fc9: 0x6c817620, 0x37fca: 0x6c817820, 0x37fcb: 0x6c817a20,\n\t0x37fcc: 0x6c817c20, 0x37fcd: 0x6c817e20, 0x37fce: 0x6c818020, 0x37fcf: 0x6c818220,\n\t0x37fd0: 0x6c818420, 0x37fd1: 0x6c818620, 0x37fd2: 0x6c818820, 0x37fd3: 0x6c818a20,\n\t0x37fd4: 0x6c818c20, 0x37fd5: 0x6caa9420, 0x37fd6: 0x6caa9620, 0x37fd7: 0x6caa9820,\n\t0x37fd8: 0x6caa9a20, 0x37fd9: 0x6caa9c20, 0x37fda: 0x6caa9e20, 0x37fdb: 0x6caaa020,\n\t0x37fdc: 0x6caaa220, 0x37fdd: 0x6caaa420, 0x37fde: 0x6caaa620, 0x37fdf: 0x6caaa820,\n\t0x37fe0: 0x6caaaa20, 0x37fe1: 0x6caaac20, 0x37fe2: 0x6caaae20, 0x37fe3: 0x6cd8c220,\n\t0x37fe4: 0x6cd8c420, 0x37fe5: 0x6cd8c620, 0x37fe6: 0x6cd8c820, 0x37fe7: 0x6cd8ca20,\n\t0x37fe8: 0x6cd8cc20, 0x37fe9: 0x6cd8ce20, 0x37fea: 0x6cd8d020, 0x37feb: 0x6cd8d220,\n\t0x37fec: 0x6cd8d420, 0x37fed: 0x6cd8d620, 0x37fee: 0x6cd8d820, 0x37fef: 0x6cd8da20,\n\t0x37ff0: 0x6cd8dc20, 0x37ff1: 0x6cd8de20, 0x37ff2: 0x6cd8e020, 0x37ff3: 0x6cd8e220,\n\t0x37ff4: 0x6cd8e420, 0x37ff5: 0x6cd8e620, 0x37ff6: 0x6cd8e820, 0x37ff7: 0x6cd8ea20,\n\t0x37ff8: 0x6d078a20, 0x37ff9: 0x6d078c20, 0x37ffa: 0x6d078e20, 0x37ffb: 0x6d079020,\n\t0x37ffc: 0x6d079220, 0x37ffd: 0x6d079420, 0x37ffe: 0x6d079620, 0x37fff: 0x6d079820,\n\t// Block 0xe00, offset 0x38000\n\t0x38000: 0x6d079a20, 0x38001: 0x6d079c20, 0x38002: 0x6d079e20, 0x38003: 0x6d07a020,\n\t0x38004: 0x6d07a220, 0x38005: 0x6d356820, 0x38006: 0x6d07a420, 0x38007: 0x6d356a20,\n\t0x38008: 0x6d356c20, 0x38009: 0x6d356e20, 0x3800a: 0x6d357020, 0x3800b: 0x6d357220,\n\t0x3800c: 0x6d357420, 0x3800d: 0x6d357620, 0x3800e: 0x6d357820, 0x3800f: 0x6d357a20,\n\t0x38010: 0x6d357c20, 0x38011: 0x6d231e20, 0x38012: 0x6d357e20, 0x38013: 0x6d358020,\n\t0x38014: 0x6d358220, 0x38015: 0x6d358420, 0x38016: 0x6d358620, 0x38017: 0x6d358820,\n\t0x38018: 0x6d620620, 0x38019: 0x6d620820, 0x3801a: 0x6d620a20, 0x3801b: 0x6d620c20,\n\t0x3801c: 0x6d620e20, 0x3801d: 0x6d621020, 0x3801e: 0x6d621220, 0x3801f: 0x6d621420,\n\t0x38020: 0x6d621620, 0x38021: 0x6d621820, 0x38022: 0x6d621a20, 0x38023: 0x6d621c20,\n\t0x38024: 0x6d621e20, 0x38025: 0x6d622020, 0x38026: 0x6d622220, 0x38027: 0x6d622420,\n\t0x38028: 0x6d622620, 0x38029: 0x6d622820, 0x3802a: 0x6d622a20, 0x3802b: 0x6d622c20,\n\t0x3802c: 0x6d622e20, 0x3802d: 0x6d623020, 0x3802e: 0x6d623220, 0x3802f: 0x6d623420,\n\t0x38030: 0x6d8c1820, 0x38031: 0x6d8c1a20, 0x38032: 0x6d8c1c20, 0x38033: 0x6d8c1e20,\n\t0x38034: 0x6d8c2020, 0x38035: 0x6d8c2220, 0x38036: 0x6d8c2420, 0x38037: 0x6d8c2620,\n\t0x38038: 0x6d8c2820, 0x38039: 0x6d8c2a20, 0x3803a: 0x6d8c2c20, 0x3803b: 0x6d623620,\n\t0x3803c: 0x6d8c2e20, 0x3803d: 0x6d8c3020, 0x3803e: 0x6d8c3220, 0x3803f: 0x6d8c3420,\n\t// Block 0xe01, offset 0x38040\n\t0x38040: 0x6d8c3620, 0x38041: 0x6d8c3820, 0x38042: 0x6d8c3a20, 0x38043: 0x6db05c20,\n\t0x38044: 0x6db05e20, 0x38045: 0x6db06020, 0x38046: 0x6db06220, 0x38047: 0x6db06420,\n\t0x38048: 0x6db06620, 0x38049: 0x6db06820, 0x3804a: 0x6db06a20, 0x3804b: 0x6db06c20,\n\t0x3804c: 0x6db06e20, 0x3804d: 0x6dcfe820, 0x3804e: 0x6dcfea20, 0x3804f: 0x6dcfec20,\n\t0x38050: 0x6dcfee20, 0x38051: 0x6dcff020, 0x38052: 0x6dcff220, 0x38053: 0x6dcff420,\n\t0x38054: 0x6dcff620, 0x38055: 0x6dcff820, 0x38056: 0x6dcffa20, 0x38057: 0x6dcffc20,\n\t0x38058: 0x6dcffe20, 0x38059: 0x6dd00020, 0x3805a: 0x6dd00220, 0x3805b: 0x6dd00420,\n\t0x3805c: 0x6de9f020, 0x3805d: 0x6de9f220, 0x3805e: 0x6d8c3c20, 0x3805f: 0x6dd00620,\n\t0x38060: 0x6de9f420, 0x38061: 0x6de9f620, 0x38062: 0x6dffb820, 0x38063: 0x6dffba20,\n\t0x38064: 0x6dffbc20, 0x38065: 0x6dffbe20, 0x38066: 0x6e122420, 0x38067: 0x6e204c20,\n\t0x38068: 0x6e122620, 0x38069: 0x6e122820, 0x3806a: 0x6dffc020, 0x3806b: 0x6dffc220,\n\t0x3806c: 0x6e122a20, 0x3806d: 0x6e204e20, 0x3806e: 0x6e205020, 0x3806f: 0x6e205220,\n\t0x38070: 0x6e33c620, 0x38071: 0x6c25e020, 0x38072: 0x6c25e220, 0x38073: 0x6c3e3020,\n\t0x38074: 0x6c3e3220, 0x38075: 0x6c3e3420, 0x38076: 0x6c5d3020, 0x38077: 0x6c5d3220,\n\t0x38078: 0x6c5d3420, 0x38079: 0x6c5d3620, 0x3807a: 0x6c819420, 0x3807b: 0x6c819620,\n\t0x3807c: 0x6c819820, 0x3807d: 0x6c819a20, 0x3807e: 0x6c819c20, 0x3807f: 0x6c819e20,\n\t// Block 0xe02, offset 0x38080\n\t0x38080: 0x6caab620, 0x38081: 0x6d07aa20, 0x38082: 0x6d358e20, 0x38083: 0x6db07220,\n\t0x38084: 0x6d623c20, 0x38085: 0x6d623e20, 0x38086: 0x6d8c4220, 0x38087: 0x6d8c4420,\n\t0x38088: 0x6db07420, 0x38089: 0x6db07620, 0x3808a: 0x6dd00c20, 0x3808b: 0x6e2b4020,\n\t0x3808c: 0x6e2b4220, 0x3808d: 0x6e3dda20, 0x3808e: 0x6c3e3820, 0x3808f: 0x6c3e3a20,\n\t0x38090: 0x6c144a20, 0x38091: 0x6c3e3c20, 0x38092: 0x6c81a820, 0x38093: 0x6caab820,\n\t0x38094: 0x6cd8fa20, 0x38095: 0x6cd8fc20, 0x38096: 0x6d07ae20, 0x38097: 0x6d359220,\n\t0x38098: 0x6d624220, 0x38099: 0x6d624420, 0x3809a: 0x6d624620, 0x3809b: 0x6d624820,\n\t0x3809c: 0x6d624a20, 0x3809d: 0x6d8c4620, 0x3809e: 0x6d8c4820, 0x3809f: 0x6db07820,\n\t0x380a0: 0x6db07a20, 0x380a1: 0x6db07c20, 0x380a2: 0x6e205620, 0x380a3: 0x6e33c820,\n\t0x380a4: 0x6c144e20, 0x380a5: 0x6c3e4020, 0x380a6: 0x6c3e4220, 0x380a7: 0x6c3e4420,\n\t0x380a8: 0x6c5d4c20, 0x380a9: 0x6c5d4e20, 0x380aa: 0x6c5d5020, 0x380ab: 0x6c81b420,\n\t0x380ac: 0x6caac820, 0x380ad: 0x6caaca20, 0x380ae: 0x6caacc20, 0x380af: 0x6cd90020,\n\t0x380b0: 0x6cd90220, 0x380b1: 0x6cd90420, 0x380b2: 0x6cd90620, 0x380b3: 0x6cd90820,\n\t0x380b4: 0x6d07b820, 0x380b5: 0x6d07ba20, 0x380b6: 0x6d07bc20, 0x380b7: 0x6d35a420,\n\t0x380b8: 0x6d35a620, 0x380b9: 0x6d35a820, 0x380ba: 0x6d35aa20, 0x380bb: 0x6d35ac20,\n\t0x380bc: 0x6d35ae20, 0x380bd: 0x6d35b020, 0x380be: 0x6d35b220, 0x380bf: 0x6d35b420,\n\t// Block 0xe03, offset 0x380c0\n\t0x380c0: 0x6d35b620, 0x380c1: 0x6d35b820, 0x380c2: 0x6d625420, 0x380c3: 0x6d625620,\n\t0x380c4: 0x6d625820, 0x380c5: 0x6d625a20, 0x380c6: 0x6d625c20, 0x380c7: 0x6d625e20,\n\t0x380c8: 0x6d626020, 0x380c9: 0x6d626220, 0x380ca: 0x6d626420, 0x380cb: 0x6d8c5020,\n\t0x380cc: 0x6d8c5220, 0x380cd: 0x6d8c5420, 0x380ce: 0x6d8c5620, 0x380cf: 0x6d8c5820,\n\t0x380d0: 0x6d8c5a20, 0x380d1: 0x6d8c5c20, 0x380d2: 0x6d8c5e20, 0x380d3: 0x6db08820,\n\t0x380d4: 0x6db08a20, 0x380d5: 0x6db08c20, 0x380d6: 0x6db08e20, 0x380d7: 0x6db09020,\n\t0x380d8: 0x6db09220, 0x380d9: 0x6db09420, 0x380da: 0x6db09620, 0x380db: 0x6dd01620,\n\t0x380dc: 0x6dd01820, 0x380dd: 0x6dd01a20, 0x380de: 0x6dd01c20, 0x380df: 0x6de9f820,\n\t0x380e0: 0x6dd01e20, 0x380e1: 0x6dd02020, 0x380e2: 0x6dd02220, 0x380e3: 0x6dd02420,\n\t0x380e4: 0x6dd02620, 0x380e5: 0x6de9fa20, 0x380e6: 0x6de9fc20, 0x380e7: 0x6de9fe20,\n\t0x380e8: 0x6dea0020, 0x380e9: 0x6e123020, 0x380ea: 0x6e123220, 0x380eb: 0x6e33ca20,\n\t0x380ec: 0x6e33cc20, 0x380ed: 0x6e39aa20, 0x380ee: 0x6c25e820, 0x380ef: 0x6c3e4820,\n\t0x380f0: 0x6c3e4a20, 0x380f1: 0x6c3e4c20, 0x380f2: 0x6c3e4e20, 0x380f3: 0x6c3e5020,\n\t0x380f4: 0x6c3e5220, 0x380f5: 0x6c3e5420, 0x380f6: 0x6c3e5620, 0x380f7: 0x6c5d5620,\n\t0x380f8: 0x6c5d5820, 0x380f9: 0x6c5d5a20, 0x380fa: 0x6c5d5c20, 0x380fb: 0x6c5d5e20,\n\t0x380fc: 0x6c81d020, 0x380fd: 0x6c81d220, 0x380fe: 0x6c81d420, 0x380ff: 0x6c81d620,\n\t// Block 0xe04, offset 0x38100\n\t0x38100: 0x6c81d820, 0x38101: 0x6c81da20, 0x38102: 0x6c81dc20, 0x38103: 0x6c81de20,\n\t0x38104: 0x6c81e020, 0x38105: 0x6c81e220, 0x38106: 0x6c81e420, 0x38107: 0x6c81e620,\n\t0x38108: 0x6c81e820, 0x38109: 0x6c81ea20, 0x3810a: 0x6c81ec20, 0x3810b: 0x6c81ee20,\n\t0x3810c: 0x6c81f020, 0x3810d: 0x6c81f220, 0x3810e: 0x6c81f420, 0x3810f: 0x6c81f620,\n\t0x38110: 0x6caaea20, 0x38111: 0x6caaec20, 0x38112: 0x6caaee20, 0x38113: 0x6caaf020,\n\t0x38114: 0x6caaf220, 0x38115: 0x6caaf420, 0x38116: 0x6caaf620, 0x38117: 0x6caaf820,\n\t0x38118: 0x6caafa20, 0x38119: 0x6caafc20, 0x3811a: 0x6caafe20, 0x3811b: 0x6cab0020,\n\t0x3811c: 0x6cab0220, 0x3811d: 0x6cab0420, 0x3811e: 0x6cab0620, 0x3811f: 0x6cab0820,\n\t0x38120: 0x6cd92020, 0x38121: 0x6cd92220, 0x38122: 0x6cd92420, 0x38123: 0x6d07cc20,\n\t0x38124: 0x6cd92620, 0x38125: 0x6cd92820, 0x38126: 0x6cd92a20, 0x38127: 0x6cd92c20,\n\t0x38128: 0x6cd92e20, 0x38129: 0x6cd93020, 0x3812a: 0x6cd93220, 0x3812b: 0x6cd93420,\n\t0x3812c: 0x6cd93620, 0x3812d: 0x6cd93820, 0x3812e: 0x6cd93a20, 0x3812f: 0x6cd93c20,\n\t0x38130: 0x6cd93e20, 0x38131: 0x6cd94020, 0x38132: 0x6cd94220, 0x38133: 0x6cd94420,\n\t0x38134: 0x6cd94620, 0x38135: 0x6d07ce20, 0x38136: 0x6d07d020, 0x38137: 0x6d07d220,\n\t0x38138: 0x6d07d420, 0x38139: 0x6d07d620, 0x3813a: 0x6d07d820, 0x3813b: 0x6d07da20,\n\t0x3813c: 0x6d07dc20, 0x3813d: 0x6d07de20, 0x3813e: 0x6d07e020, 0x3813f: 0x6d07e220,\n\t// Block 0xe05, offset 0x38140\n\t0x38140: 0x6d07e420, 0x38141: 0x6d07e620, 0x38142: 0x6d07e820, 0x38143: 0x6d07ea20,\n\t0x38144: 0x6d07ec20, 0x38145: 0x6d07ee20, 0x38146: 0x6d07f020, 0x38147: 0x6d07f220,\n\t0x38148: 0x6d35d820, 0x38149: 0x6d35da20, 0x3814a: 0x6d35dc20, 0x3814b: 0x6d35de20,\n\t0x3814c: 0x6d35e020, 0x3814d: 0x6d35e220, 0x3814e: 0x6d35e420, 0x3814f: 0x6d35e620,\n\t0x38150: 0x6d35e820, 0x38151: 0x6d35ea20, 0x38152: 0x6d35ec20, 0x38153: 0x6d35ee20,\n\t0x38154: 0x6d35f020, 0x38155: 0x6d35f220, 0x38156: 0x6d35f420, 0x38157: 0x6d07f420,\n\t0x38158: 0x6d35f620, 0x38159: 0x6d35f820, 0x3815a: 0x6d35fa20, 0x3815b: 0x6d35fc20,\n\t0x3815c: 0x6d35fe20, 0x3815d: 0x6d360020, 0x3815e: 0x6d360220, 0x3815f: 0x6d360420,\n\t0x38160: 0x6d360620, 0x38161: 0x6d360820, 0x38162: 0x6d627e20, 0x38163: 0x6d628020,\n\t0x38164: 0x6d628220, 0x38165: 0x6d628420, 0x38166: 0x6d628620, 0x38167: 0x6d628820,\n\t0x38168: 0x6d628a20, 0x38169: 0x6d628c20, 0x3816a: 0x6d628e20, 0x3816b: 0x6d629020,\n\t0x3816c: 0x6d629220, 0x3816d: 0x6d629420, 0x3816e: 0x6d629620, 0x3816f: 0x6d629820,\n\t0x38170: 0x6d629a20, 0x38171: 0x6d629c20, 0x38172: 0x6d629e20, 0x38173: 0x6d62a020,\n\t0x38174: 0x6d62a220, 0x38175: 0x6d62a420, 0x38176: 0x6d62a620, 0x38177: 0x6d62a820,\n\t0x38178: 0x6d62aa20, 0x38179: 0x6d62ac20, 0x3817a: 0x6d62ae20, 0x3817b: 0x6d62b020,\n\t0x3817c: 0x6d8c6c20, 0x3817d: 0x6d8c6e20, 0x3817e: 0x6d8c7020, 0x3817f: 0x6d8c7220,\n\t// Block 0xe06, offset 0x38180\n\t0x38180: 0x6d8c7420, 0x38181: 0x6d8c7620, 0x38182: 0x6d8c7820, 0x38183: 0x6d8c7a20,\n\t0x38184: 0x6d8c7c20, 0x38185: 0x6d8c7e20, 0x38186: 0x6d8c8020, 0x38187: 0x6d62b220,\n\t0x38188: 0x6d8c8220, 0x38189: 0x6d8c8420, 0x3818a: 0x6d8c8620, 0x3818b: 0x6d8c8820,\n\t0x3818c: 0x6d8c8a20, 0x3818d: 0x6d8c8c20, 0x3818e: 0x6d8c8e20, 0x3818f: 0x6d8c9020,\n\t0x38190: 0x6db0aa20, 0x38191: 0x6db0ac20, 0x38192: 0x6db0ae20, 0x38193: 0x6db0b020,\n\t0x38194: 0x6db0b220, 0x38195: 0x6db0b420, 0x38196: 0x6db0b620, 0x38197: 0x6db0b820,\n\t0x38198: 0x6db0ba20, 0x38199: 0x6db0bc20, 0x3819a: 0x6db0be20, 0x3819b: 0x6db0c020,\n\t0x3819c: 0x6db0c220, 0x3819d: 0x6db0c420, 0x3819e: 0x6db0c620, 0x3819f: 0x6dd03220,\n\t0x381a0: 0x6dd03420, 0x381a1: 0x6dd03620, 0x381a2: 0x6dd03820, 0x381a3: 0x6dd03a20,\n\t0x381a4: 0x6dd03c20, 0x381a5: 0x6dd03e20, 0x381a6: 0x6dd04020, 0x381a7: 0x6dd04220,\n\t0x381a8: 0x6dd04420, 0x381a9: 0x6dd04620, 0x381aa: 0x6dd04820, 0x381ab: 0x6dd04a20,\n\t0x381ac: 0x6dd04c20, 0x381ad: 0x6dd04e20, 0x381ae: 0x6dd05020, 0x381af: 0x6dd05220,\n\t0x381b0: 0x6dd05420, 0x381b1: 0x6dd05620, 0x381b2: 0x6dd05820, 0x381b3: 0x6dea0420,\n\t0x381b4: 0x6dea0620, 0x381b5: 0x6dea0820, 0x381b6: 0x6dea0a20, 0x381b7: 0x6dea0c20,\n\t0x381b8: 0x6dea0e20, 0x381b9: 0x6dea1020, 0x381ba: 0x6dea1220, 0x381bb: 0x6dea1420,\n\t0x381bc: 0x6dea1620, 0x381bd: 0x6dea1820, 0x381be: 0x6dffd020, 0x381bf: 0x6dffd220,\n\t// Block 0xe07, offset 0x381c0\n\t0x381c0: 0x6dffd420, 0x381c1: 0x6dffd620, 0x381c2: 0x6dffd820, 0x381c3: 0x6dffda20,\n\t0x381c4: 0x6dffdc20, 0x381c5: 0x6e123420, 0x381c6: 0x6e123620, 0x381c7: 0x6e123820,\n\t0x381c8: 0x6e123a20, 0x381c9: 0x6e123c20, 0x381ca: 0x6e206220, 0x381cb: 0x6e206420,\n\t0x381cc: 0x6e206620, 0x381cd: 0x6e2b4420, 0x381ce: 0x6e2b4620, 0x381cf: 0x6e33ce20,\n\t0x381d0: 0x6e39ac20, 0x381d1: 0x6e3ddc20, 0x381d2: 0x6c145420, 0x381d3: 0x6c3e5c20,\n\t0x381d4: 0x6c5d6020, 0x381d5: 0x6cab0a20, 0x381d6: 0x6cab0c20, 0x381d7: 0x6cab0e20,\n\t0x381d8: 0x6cd94c20, 0x381d9: 0x6cd94e20, 0x381da: 0x6cd95020, 0x381db: 0x6d080420,\n\t0x381dc: 0x6d080620, 0x381dd: 0x6d361220, 0x381de: 0x6d361420, 0x381df: 0x6d361620,\n\t0x381e0: 0x6d62b620, 0x381e1: 0x6d62b820, 0x381e2: 0x6d62ba20, 0x381e3: 0x6d8c9c20,\n\t0x381e4: 0x6db0ce20, 0x381e5: 0x6db0d020, 0x381e6: 0x6db0d220, 0x381e7: 0x6dea1c20,\n\t0x381e8: 0x6dffde20, 0x381e9: 0x6c146420, 0x381ea: 0x6c146620, 0x381eb: 0x6c146820,\n\t0x381ec: 0x6c146a20, 0x381ed: 0x6c146c20, 0x381ee: 0x6c146e20, 0x381ef: 0x6c147020,\n\t0x381f0: 0x6c147220, 0x381f1: 0x6c147420, 0x381f2: 0x6c147620, 0x381f3: 0x6c147820,\n\t0x381f4: 0x6c261020, 0x381f5: 0x6c261220, 0x381f6: 0x6c261420, 0x381f7: 0x6c261620,\n\t0x381f8: 0x6c261820, 0x381f9: 0x6c261a20, 0x381fa: 0x6c261c20, 0x381fb: 0x6c261e20,\n\t0x381fc: 0x6c262020, 0x381fd: 0x6c262220, 0x381fe: 0x6c262420, 0x381ff: 0x6c3ebe20,\n\t// Block 0xe08, offset 0x38200\n\t0x38200: 0x6c3ec020, 0x38201: 0x6c3ec220, 0x38202: 0x6c3ec420, 0x38203: 0x6c3ec620,\n\t0x38204: 0x6c3ec820, 0x38205: 0x6c3eca20, 0x38206: 0x6c3ecc20, 0x38207: 0x6c3ece20,\n\t0x38208: 0x6c3ed020, 0x38209: 0x6c3ed220, 0x3820a: 0x6c3ed420, 0x3820b: 0x6c3ed620,\n\t0x3820c: 0x6c3ed820, 0x3820d: 0x6c3eda20, 0x3820e: 0x6c3edc20, 0x3820f: 0x6c3ede20,\n\t0x38210: 0x6c3ee020, 0x38211: 0x6c3ee220, 0x38212: 0x6c3ee420, 0x38213: 0x6c3ee620,\n\t0x38214: 0x6c3ee820, 0x38215: 0x6c3eea20, 0x38216: 0x6c3eec20, 0x38217: 0x6c3eee20,\n\t0x38218: 0x6c3ef020, 0x38219: 0x6c3ef220, 0x3821a: 0x6c3ef420, 0x3821b: 0x6c3ef620,\n\t0x3821c: 0x6c3ef820, 0x3821d: 0x6c3efa20, 0x3821e: 0x6c3efc20, 0x3821f: 0x6c3efe20,\n\t0x38220: 0x6c3f0020, 0x38221: 0x6c3f0220, 0x38222: 0x6c3f0420, 0x38223: 0x6c3f0620,\n\t0x38224: 0x6c3f0820, 0x38225: 0x6c3f0a20, 0x38226: 0x6c3f0c20, 0x38227: 0x6c3f0e20,\n\t0x38228: 0x6c3f1020, 0x38229: 0x6c3f1220, 0x3822a: 0x6c5dca20, 0x3822b: 0x6c5dcc20,\n\t0x3822c: 0x6c5dce20, 0x3822d: 0x6c5dd020, 0x3822e: 0x6c5dd220, 0x3822f: 0x6c5dd420,\n\t0x38230: 0x6c5dd620, 0x38231: 0x6c5dd820, 0x38232: 0x6c5dda20, 0x38233: 0x6c5ddc20,\n\t0x38234: 0x6c5dde20, 0x38235: 0x6c5de020, 0x38236: 0x6c5de220, 0x38237: 0x6c5de420,\n\t0x38238: 0x6c5de620, 0x38239: 0x6c5de820, 0x3823a: 0x6c5dea20, 0x3823b: 0x6c5dec20,\n\t0x3823c: 0x6c5dee20, 0x3823d: 0x6c5df020, 0x3823e: 0x6c5df220, 0x3823f: 0x6c5df420,\n\t// Block 0xe09, offset 0x38240\n\t0x38240: 0x6c5df620, 0x38241: 0x6c5df820, 0x38242: 0x6c5dfa20, 0x38243: 0x6c5dfc20,\n\t0x38244: 0x6c5dfe20, 0x38245: 0x6c5e0020, 0x38246: 0x6c5e0220, 0x38247: 0x6c5e0420,\n\t0x38248: 0x6c5e0620, 0x38249: 0x6c5e0820, 0x3824a: 0x6c5e0a20, 0x3824b: 0x6c5e0c20,\n\t0x3824c: 0x6c5e0e20, 0x3824d: 0x6c5e1020, 0x3824e: 0x6c5e1220, 0x3824f: 0x6c5e1420,\n\t0x38250: 0x6c5e1620, 0x38251: 0x6c5e1820, 0x38252: 0x6c5e1a20, 0x38253: 0x6c5e1c20,\n\t0x38254: 0x6c5e1e20, 0x38255: 0x6c5e2020, 0x38256: 0x6c5e2220, 0x38257: 0x6c5e2420,\n\t0x38258: 0x6c5e2620, 0x38259: 0x6c5e2820, 0x3825a: 0x6c5e2a20, 0x3825b: 0x6c5e2c20,\n\t0x3825c: 0x6c5e2e20, 0x3825d: 0x6c826020, 0x3825e: 0x6c826220, 0x3825f: 0x6c826420,\n\t0x38260: 0x6c826620, 0x38261: 0x6c826820, 0x38262: 0x6c826a20, 0x38263: 0x6c826c20,\n\t0x38264: 0x6c826e20, 0x38265: 0x6c827020, 0x38266: 0x6c827220, 0x38267: 0x6c827420,\n\t0x38268: 0x6c827620, 0x38269: 0x6c827820, 0x3826a: 0x6c827a20, 0x3826b: 0x6c827c20,\n\t0x3826c: 0x6c827e20, 0x3826d: 0x6c828020, 0x3826e: 0x6c828220, 0x3826f: 0x6c828420,\n\t0x38270: 0x6c828620, 0x38271: 0x6c828820, 0x38272: 0x6c828a20, 0x38273: 0x6c828c20,\n\t0x38274: 0x6c828e20, 0x38275: 0x6c829020, 0x38276: 0x6c829220, 0x38277: 0x6c829420,\n\t0x38278: 0x6c829620, 0x38279: 0x6c829820, 0x3827a: 0x6c829a20, 0x3827b: 0x6c829c20,\n\t0x3827c: 0x6c829e20, 0x3827d: 0x6c82a020, 0x3827e: 0x6c82a220, 0x3827f: 0x6c82a420,\n\t// Block 0xe0a, offset 0x38280\n\t0x38280: 0x6c82a620, 0x38281: 0x6c82a820, 0x38282: 0x6c82aa20, 0x38283: 0x6c82ac20,\n\t0x38284: 0x6c82ae20, 0x38285: 0x6c82b020, 0x38286: 0x6c82b220, 0x38287: 0x6c82b420,\n\t0x38288: 0x6c82b620, 0x38289: 0x6c82b820, 0x3828a: 0x6c82ba20, 0x3828b: 0x6c82bc20,\n\t0x3828c: 0x6c82be20, 0x3828d: 0x6c82c020, 0x3828e: 0x6c82c220, 0x3828f: 0x6c82c420,\n\t0x38290: 0x6c82c620, 0x38291: 0x6c82c820, 0x38292: 0x6c82ca20, 0x38293: 0x6c82cc20,\n\t0x38294: 0x6cab7220, 0x38295: 0x6cab7420, 0x38296: 0x6cab7620, 0x38297: 0x6cab7820,\n\t0x38298: 0x6cab7a20, 0x38299: 0x6cab7c20, 0x3829a: 0x6cab7e20, 0x3829b: 0x6cab8020,\n\t0x3829c: 0x6cab8220, 0x3829d: 0x6cab8420, 0x3829e: 0x6cab8620, 0x3829f: 0x6cab8820,\n\t0x382a0: 0x6cab8a20, 0x382a1: 0x6cab8c20, 0x382a2: 0x6cab8e20, 0x382a3: 0x6cab9020,\n\t0x382a4: 0x6cab9220, 0x382a5: 0x6cab9420, 0x382a6: 0x6cab9620, 0x382a7: 0x6cab9820,\n\t0x382a8: 0x6cab9a20, 0x382a9: 0x6cab9c20, 0x382aa: 0x6cab9e20, 0x382ab: 0x6caba020,\n\t0x382ac: 0x6caba220, 0x382ad: 0x6caba420, 0x382ae: 0x6caba620, 0x382af: 0x6caba820,\n\t0x382b0: 0x6cabaa20, 0x382b1: 0x6cabac20, 0x382b2: 0x6cabae20, 0x382b3: 0x6cabb020,\n\t0x382b4: 0x6cabb220, 0x382b5: 0x6cabb420, 0x382b6: 0x6cabb620, 0x382b7: 0x6cabb820,\n\t0x382b8: 0x6cabba20, 0x382b9: 0x6cabbc20, 0x382ba: 0x6cabbe20, 0x382bb: 0x6cabc020,\n\t0x382bc: 0x6cabc220, 0x382bd: 0x6cabc420, 0x382be: 0x6cabc620, 0x382bf: 0x6cabc820,\n\t// Block 0xe0b, offset 0x382c0\n\t0x382c0: 0x6cabca20, 0x382c1: 0x6cabcc20, 0x382c2: 0x6cabce20, 0x382c3: 0x6cabd020,\n\t0x382c4: 0x6cabd220, 0x382c5: 0x6cabd420, 0x382c6: 0x6cd9c020, 0x382c7: 0x6cd9c220,\n\t0x382c8: 0x6cd9c420, 0x382c9: 0x6cd9c620, 0x382ca: 0x6cd9c820, 0x382cb: 0x6cd9ca20,\n\t0x382cc: 0x6cd9cc20, 0x382cd: 0x6cd9ce20, 0x382ce: 0x6cd9d020, 0x382cf: 0x6cd9d220,\n\t0x382d0: 0x6cd9d420, 0x382d1: 0x6cd9d620, 0x382d2: 0x6cd9d820, 0x382d3: 0x6cd9da20,\n\t0x382d4: 0x6cd9dc20, 0x382d5: 0x6cd9de20, 0x382d6: 0x6cd9e020, 0x382d7: 0x6cd9e220,\n\t0x382d8: 0x6cd9e420, 0x382d9: 0x6cd9e620, 0x382da: 0x6cd9e820, 0x382db: 0x6cd9ea20,\n\t0x382dc: 0x6cd9ec20, 0x382dd: 0x6cd9ee20, 0x382de: 0x6cd9f020, 0x382df: 0x6cd9f220,\n\t0x382e0: 0x6cd9f420, 0x382e1: 0x6cd9f620, 0x382e2: 0x6cd9f820, 0x382e3: 0x6cd9fa20,\n\t0x382e4: 0x6cd9fc20, 0x382e5: 0x6cd9fe20, 0x382e6: 0x6cda0020, 0x382e7: 0x6cda0220,\n\t0x382e8: 0x6cda0420, 0x382e9: 0x6cda0620, 0x382ea: 0x6cda0820, 0x382eb: 0x6cda0a20,\n\t0x382ec: 0x6cda0c20, 0x382ed: 0x6cda0e20, 0x382ee: 0x6cda1020, 0x382ef: 0x6cda1220,\n\t0x382f0: 0x6cda1420, 0x382f1: 0x6cda1620, 0x382f2: 0x6cda1820, 0x382f3: 0x6cc87c20,\n\t0x382f4: 0x6cda1a20, 0x382f5: 0x6cda1c20, 0x382f6: 0x6cda1e20, 0x382f7: 0x6cda2020,\n\t0x382f8: 0x6cda2220, 0x382f9: 0x6cda2420, 0x382fa: 0x6cda2620, 0x382fb: 0x6cda2820,\n\t0x382fc: 0x6cda2a20, 0x382fd: 0x6cda2c20, 0x382fe: 0x6cda2e20, 0x382ff: 0x6cda3020,\n\t// Block 0xe0c, offset 0x38300\n\t0x38300: 0x6cda3220, 0x38301: 0x6cda3420, 0x38302: 0x6cda3620, 0x38303: 0x6cda3820,\n\t0x38304: 0x6cda3a20, 0x38305: 0x6cda3c20, 0x38306: 0x6cda3e20, 0x38307: 0x6cda4020,\n\t0x38308: 0x6cda4220, 0x38309: 0x6cda4420, 0x3830a: 0x6cda4620, 0x3830b: 0x6cda4820,\n\t0x3830c: 0x6cda4a20, 0x3830d: 0x6cda4c20, 0x3830e: 0x6cda4e20, 0x3830f: 0x6cda5020,\n\t0x38310: 0x6cda5220, 0x38311: 0x6cda5420, 0x38312: 0x6cda5620, 0x38313: 0x6cda5820,\n\t0x38314: 0x6cda5a20, 0x38315: 0x6cda5c20, 0x38316: 0x6cda5e20, 0x38317: 0x6cda6020,\n\t0x38318: 0x6cda6220, 0x38319: 0x6cda6420, 0x3831a: 0x6d087020, 0x3831b: 0x6d087220,\n\t0x3831c: 0x6d087420, 0x3831d: 0x6d087620, 0x3831e: 0x6d087820, 0x3831f: 0x6d087a20,\n\t0x38320: 0x6d087c20, 0x38321: 0x6d087e20, 0x38322: 0x6d088020, 0x38323: 0x6d088220,\n\t0x38324: 0x6d088420, 0x38325: 0x6d088620, 0x38326: 0x6d088820, 0x38327: 0x6d088a20,\n\t0x38328: 0x6d088c20, 0x38329: 0x6d088e20, 0x3832a: 0x6d089020, 0x3832b: 0x6d089220,\n\t0x3832c: 0x6d089420, 0x3832d: 0x6d089620, 0x3832e: 0x6d089820, 0x3832f: 0x6d089a20,\n\t0x38330: 0x6d089c20, 0x38331: 0x6d089e20, 0x38332: 0x6d08a020, 0x38333: 0x6d08a220,\n\t0x38334: 0x6d08a420, 0x38335: 0x6d08a620, 0x38336: 0x6d08a820, 0x38337: 0x6d08aa20,\n\t0x38338: 0x6d08ac20, 0x38339: 0x6d08ae20, 0x3833a: 0x6d08b020, 0x3833b: 0x6d08b220,\n\t0x3833c: 0x6d08b420, 0x3833d: 0x6d08b620, 0x3833e: 0x6d08b820, 0x3833f: 0x6d08ba20,\n\t// Block 0xe0d, offset 0x38340\n\t0x38340: 0x6d08bc20, 0x38341: 0x6d08be20, 0x38342: 0x6d08c020, 0x38343: 0x6d08c220,\n\t0x38344: 0x6d08c420, 0x38345: 0x6d08c620, 0x38346: 0x6d08c820, 0x38347: 0x6d08ca20,\n\t0x38348: 0x6d08cc20, 0x38349: 0x6d08ce20, 0x3834a: 0x6d08d020, 0x3834b: 0x6d08d220,\n\t0x3834c: 0x6d08d420, 0x3834d: 0x6d08d620, 0x3834e: 0x6d08d820, 0x3834f: 0x6d08da20,\n\t0x38350: 0x6d08dc20, 0x38351: 0x6d08de20, 0x38352: 0x6d08e020, 0x38353: 0x6d08e220,\n\t0x38354: 0x6d08e420, 0x38355: 0x6d08e620, 0x38356: 0x6d08e820, 0x38357: 0x6d08ea20,\n\t0x38358: 0x6d08ec20, 0x38359: 0x6d365c20, 0x3835a: 0x6d365e20, 0x3835b: 0x6d366020,\n\t0x3835c: 0x6d366220, 0x3835d: 0x6d366420, 0x3835e: 0x6d366620, 0x3835f: 0x6d366820,\n\t0x38360: 0x6d366a20, 0x38361: 0x6d366c20, 0x38362: 0x6d366e20, 0x38363: 0x6d367020,\n\t0x38364: 0x6d367220, 0x38365: 0x6d367420, 0x38366: 0x6d367620, 0x38367: 0x6d367820,\n\t0x38368: 0x6d367a20, 0x38369: 0x6d367c20, 0x3836a: 0x6d367e20, 0x3836b: 0x6d368020,\n\t0x3836c: 0x6d368220, 0x3836d: 0x6d368420, 0x3836e: 0x6d368620, 0x3836f: 0x6d368820,\n\t0x38370: 0x6d368a20, 0x38371: 0x6d368c20, 0x38372: 0x6d368e20, 0x38373: 0x6d369020,\n\t0x38374: 0x6d369220, 0x38375: 0x6d369420, 0x38376: 0x6d369620, 0x38377: 0x6d369820,\n\t0x38378: 0x6d369a20, 0x38379: 0x6d369c20, 0x3837a: 0x6d369e20, 0x3837b: 0x6d36a020,\n\t0x3837c: 0x6d36a220, 0x3837d: 0x6d36a420, 0x3837e: 0x6d36a620, 0x3837f: 0x6d36a820,\n\t// Block 0xe0e, offset 0x38380\n\t0x38380: 0x6d36aa20, 0x38381: 0x6d36ac20, 0x38382: 0x6d36ae20, 0x38383: 0x6d36b020,\n\t0x38384: 0x6d36b220, 0x38385: 0x6d36b420, 0x38386: 0x6d36b620, 0x38387: 0x6d36b820,\n\t0x38388: 0x6d36ba20, 0x38389: 0x6d36bc20, 0x3838a: 0x6d36be20, 0x3838b: 0x6d36c020,\n\t0x3838c: 0x6d36c220, 0x3838d: 0x6d36c420, 0x3838e: 0x6d36c620, 0x3838f: 0x6d36c820,\n\t0x38390: 0x6d36ca20, 0x38391: 0x6d36cc20, 0x38392: 0x6d36ce20, 0x38393: 0x6d08ee20,\n\t0x38394: 0x6d08f020, 0x38395: 0x6d36d020, 0x38396: 0x6d36d220, 0x38397: 0x6d36d420,\n\t0x38398: 0x6d62f420, 0x38399: 0x6d62f620, 0x3839a: 0x6d62f820, 0x3839b: 0x6d62fa20,\n\t0x3839c: 0x6d62fc20, 0x3839d: 0x6d62fe20, 0x3839e: 0x6d630020, 0x3839f: 0x6d630220,\n\t0x383a0: 0x6d630420, 0x383a1: 0x6d630620, 0x383a2: 0x6d630820, 0x383a3: 0x6d630a20,\n\t0x383a4: 0x6d630c20, 0x383a5: 0x6d630e20, 0x383a6: 0x6d631020, 0x383a7: 0x6d631220,\n\t0x383a8: 0x6d631420, 0x383a9: 0x6d631620, 0x383aa: 0x6d631820, 0x383ab: 0x6d631a20,\n\t0x383ac: 0x6d631c20, 0x383ad: 0x6d631e20, 0x383ae: 0x6d632020, 0x383af: 0x6d632220,\n\t0x383b0: 0x6d632420, 0x383b1: 0x6d632620, 0x383b2: 0x6d632820, 0x383b3: 0x6d632a20,\n\t0x383b4: 0x6d632c20, 0x383b5: 0x6d632e20, 0x383b6: 0x6d633020, 0x383b7: 0x6d633220,\n\t0x383b8: 0x6d633420, 0x383b9: 0x6d633620, 0x383ba: 0x6d633820, 0x383bb: 0x6d633a20,\n\t0x383bc: 0x6d633c20, 0x383bd: 0x6d633e20, 0x383be: 0x6d634020, 0x383bf: 0x6d634220,\n\t// Block 0xe0f, offset 0x383c0\n\t0x383c0: 0x6d634420, 0x383c1: 0x6d634620, 0x383c2: 0x6d634820, 0x383c3: 0x6d8cd620,\n\t0x383c4: 0x6d8cd820, 0x383c5: 0x6d8cda20, 0x383c6: 0x6d8cdc20, 0x383c7: 0x6d8cde20,\n\t0x383c8: 0x6d8ce020, 0x383c9: 0x6d8ce220, 0x383ca: 0x6d8ce420, 0x383cb: 0x6d8ce620,\n\t0x383cc: 0x6d8ce820, 0x383cd: 0x6d8cea20, 0x383ce: 0x6d8cec20, 0x383cf: 0x6d8cee20,\n\t0x383d0: 0x6d8cf020, 0x383d1: 0x6d8cf220, 0x383d2: 0x6d8cf420, 0x383d3: 0x6d8cf620,\n\t0x383d4: 0x6d8cf820, 0x383d5: 0x6d8cfa20, 0x383d6: 0x6d8cfc20, 0x383d7: 0x6d8cfe20,\n\t0x383d8: 0x6d8d0020, 0x383d9: 0x6d8d0220, 0x383da: 0x6d8d0420, 0x383db: 0x6d8d0620,\n\t0x383dc: 0x6d8d0820, 0x383dd: 0x6d8d0a20, 0x383de: 0x6d8d0c20, 0x383df: 0x6d8d0e20,\n\t0x383e0: 0x6d8d1020, 0x383e1: 0x6d8d1220, 0x383e2: 0x6d8d1420, 0x383e3: 0x6d8d1620,\n\t0x383e4: 0x6d8d1820, 0x383e5: 0x6d8d1a20, 0x383e6: 0x6d8d1c20, 0x383e7: 0x6d8d1e20,\n\t0x383e8: 0x6d8d2020, 0x383e9: 0x6d8d2220, 0x383ea: 0x6d8d2420, 0x383eb: 0x6d8d2620,\n\t0x383ec: 0x6d8d2820, 0x383ed: 0x6d8d2a20, 0x383ee: 0x6d8d2c20, 0x383ef: 0x6d8d2e20,\n\t0x383f0: 0x6d8d3020, 0x383f1: 0x6d8d3220, 0x383f2: 0x6d8d3420, 0x383f3: 0x6d8d3620,\n\t0x383f4: 0x6d8d3820, 0x383f5: 0x6d8d3a20, 0x383f6: 0x6d8d3c20, 0x383f7: 0x6d8d3e20,\n\t0x383f8: 0x6d8d4020, 0x383f9: 0x6d8d4220, 0x383fa: 0x6d8d4420, 0x383fb: 0x6d8d4620,\n\t0x383fc: 0x6d8d4820, 0x383fd: 0x6d8d4a20, 0x383fe: 0x6db10420, 0x383ff: 0x6db10620,\n\t// Block 0xe10, offset 0x38400\n\t0x38400: 0x6db10820, 0x38401: 0x6db10a20, 0x38402: 0x6db10c20, 0x38403: 0x6db10e20,\n\t0x38404: 0x6d8d4c20, 0x38405: 0x6db11020, 0x38406: 0x6db11220, 0x38407: 0x6db11420,\n\t0x38408: 0x6db11620, 0x38409: 0x6db11820, 0x3840a: 0x6db11a20, 0x3840b: 0x6db11c20,\n\t0x3840c: 0x6db11e20, 0x3840d: 0x6db12020, 0x3840e: 0x6dd07620, 0x3840f: 0x6db12220,\n\t0x38410: 0x6db12420, 0x38411: 0x6db12620, 0x38412: 0x6db12820, 0x38413: 0x6db12a20,\n\t0x38414: 0x6db12c20, 0x38415: 0x6db12e20, 0x38416: 0x6da5c020, 0x38417: 0x6d7c7a20,\n\t0x38418: 0x6db13020, 0x38419: 0x6db13220, 0x3841a: 0x6db13420, 0x3841b: 0x6db13620,\n\t0x3841c: 0x6db13820, 0x3841d: 0x6db13a20, 0x3841e: 0x6db13c20, 0x3841f: 0x6db13e20,\n\t0x38420: 0x6db14020, 0x38421: 0x6db14220, 0x38422: 0x6db14420, 0x38423: 0x6db14620,\n\t0x38424: 0x6db14820, 0x38425: 0x6db14a20, 0x38426: 0x6db14c20, 0x38427: 0x6db14e20,\n\t0x38428: 0x6db15020, 0x38429: 0x6db15220, 0x3842a: 0x6db15420, 0x3842b: 0x6db15620,\n\t0x3842c: 0x6db15820, 0x3842d: 0x6db15a20, 0x3842e: 0x6d8d4e20, 0x3842f: 0x6db15c20,\n\t0x38430: 0x6dd07820, 0x38431: 0x6dd07a20, 0x38432: 0x6dd07c20, 0x38433: 0x6dd07e20,\n\t0x38434: 0x6dd08020, 0x38435: 0x6dd08220, 0x38436: 0x6dd08420, 0x38437: 0x6dd08620,\n\t0x38438: 0x6dd08820, 0x38439: 0x6dd08a20, 0x3843a: 0x6dd08c20, 0x3843b: 0x6dd08e20,\n\t0x3843c: 0x6dd09020, 0x3843d: 0x6dd09220, 0x3843e: 0x6dd09420, 0x3843f: 0x6dd09620,\n\t// Block 0xe11, offset 0x38440\n\t0x38440: 0x6dd09820, 0x38441: 0x6dd09a20, 0x38442: 0x6dd09c20, 0x38443: 0x6dd09e20,\n\t0x38444: 0x6dd0a020, 0x38445: 0x6dd0a220, 0x38446: 0x6dd0a420, 0x38447: 0x6dd0a620,\n\t0x38448: 0x6dd0a820, 0x38449: 0x6dd0aa20, 0x3844a: 0x6dea2e20, 0x3844b: 0x6dea3020,\n\t0x3844c: 0x6dea3220, 0x3844d: 0x6dea3420, 0x3844e: 0x6dea3620, 0x3844f: 0x6dea3820,\n\t0x38450: 0x6dea3a20, 0x38451: 0x6dea3c20, 0x38452: 0x6dea3e20, 0x38453: 0x6dea4020,\n\t0x38454: 0x6dea4220, 0x38455: 0x6dea4420, 0x38456: 0x6dea4620, 0x38457: 0x6dea4820,\n\t0x38458: 0x6dea4a20, 0x38459: 0x6dea4c20, 0x3845a: 0x6dea4e20, 0x3845b: 0x6dea5020,\n\t0x3845c: 0x6dea5220, 0x3845d: 0x6dea5420, 0x3845e: 0x6dea5620, 0x3845f: 0x6dea5820,\n\t0x38460: 0x6dea5a20, 0x38461: 0x6dea5c20, 0x38462: 0x6dea5e20, 0x38463: 0x6dea6020,\n\t0x38464: 0x6dea6220, 0x38465: 0x6dffee20, 0x38466: 0x6dfff020, 0x38467: 0x6dfff220,\n\t0x38468: 0x6dfff420, 0x38469: 0x6dfff620, 0x3846a: 0x6dfff820, 0x3846b: 0x6dfffa20,\n\t0x3846c: 0x6dfffc20, 0x3846d: 0x6dfffe20, 0x3846e: 0x6e000020, 0x3846f: 0x6e000220,\n\t0x38470: 0x6e000420, 0x38471: 0x6e000620, 0x38472: 0x6e000820, 0x38473: 0x6e000a20,\n\t0x38474: 0x6e000c20, 0x38475: 0x6e000e20, 0x38476: 0x6e001020, 0x38477: 0x6e001220,\n\t0x38478: 0x6e124a20, 0x38479: 0x6e124c20, 0x3847a: 0x6e124e20, 0x3847b: 0x6e125020,\n\t0x3847c: 0x6e125220, 0x3847d: 0x6e125420, 0x3847e: 0x6e125620, 0x3847f: 0x6e206e20,\n\t// Block 0xe12, offset 0x38480\n\t0x38480: 0x6e207020, 0x38481: 0x6e207220, 0x38482: 0x6e207420, 0x38483: 0x6e207620,\n\t0x38484: 0x6e207820, 0x38485: 0x6e207a20, 0x38486: 0x6e2b4c20, 0x38487: 0x6e2b4e20,\n\t0x38488: 0x6e2b5020, 0x38489: 0x6e2b5220, 0x3848a: 0x6e2b5420, 0x3848b: 0x6e2b5620,\n\t0x3848c: 0x6e2b5820, 0x3848d: 0x6e2b5a20, 0x3848e: 0x6e2b5c20, 0x3848f: 0x6e2b5e20,\n\t0x38490: 0x6e2b6020, 0x38491: 0x6e33d020, 0x38492: 0x6e33d220, 0x38493: 0x6e33d420,\n\t0x38494: 0x6e33d620, 0x38495: 0x6e33d820, 0x38496: 0x6e39b220, 0x38497: 0x6e39b420,\n\t0x38498: 0x6e3dde20, 0x38499: 0x6e3de020, 0x3849a: 0x6e3de220, 0x3849b: 0x6e40be20,\n\t0x3849c: 0x6e42ec20, 0x3849d: 0x6c262620, 0x3849e: 0x6c147c20, 0x3849f: 0x6c5e3820,\n\t0x384a0: 0x6c82d220, 0x384a1: 0x6c82d420, 0x384a2: 0x6c82d620, 0x384a3: 0x6c82d820,\n\t0x384a4: 0x6cabde20, 0x384a5: 0x6cabe020, 0x384a6: 0x6cda7220, 0x384a7: 0x6cda7420,\n\t0x384a8: 0x6cda7620, 0x384a9: 0x6cda7820, 0x384aa: 0x6d8d5c20, 0x384ab: 0x6d36e620,\n\t0x384ac: 0x6d36e820, 0x384ad: 0x6d635620, 0x384ae: 0x6d36ea20, 0x384af: 0x6d635820,\n\t0x384b0: 0x6db16820, 0x384b1: 0x6db16a20, 0x384b2: 0x6dd0b220, 0x384b3: 0x6dd0b420,\n\t0x384b4: 0x6e125a20, 0x384b5: 0x6e125c20, 0x384b6: 0x6e207e20, 0x384b7: 0x6e445e20,\n\t0x384b8: 0x6e45ce20, 0x384b9: 0x6c148020, 0x384ba: 0x6c262a20, 0x384bb: 0x6c262c20,\n\t0x384bc: 0x6c262e20, 0x384bd: 0x6c3f1e20, 0x384be: 0x6c5e3a20, 0x384bf: 0x6c5e3c20,\n\t// Block 0xe13, offset 0x384c0\n\t0x384c0: 0x6c5e3e20, 0x384c1: 0x6c82e020, 0x384c2: 0x6c82e220, 0x384c3: 0x6c82e420,\n\t0x384c4: 0x6c82e620, 0x384c5: 0x6c82e820, 0x384c6: 0x6c82ea20, 0x384c7: 0x6c82ec20,\n\t0x384c8: 0x6c82ee20, 0x384c9: 0x6c82f020, 0x384ca: 0x6c82f220, 0x384cb: 0x6c82f420,\n\t0x384cc: 0x6cabe220, 0x384cd: 0x6cabe420, 0x384ce: 0x6cabe620, 0x384cf: 0x6cabe820,\n\t0x384d0: 0x6cda8220, 0x384d1: 0x6cda8420, 0x384d2: 0x6cda8620, 0x384d3: 0x6cda8820,\n\t0x384d4: 0x6d08fa20, 0x384d5: 0x6d36ee20, 0x384d6: 0x6d36f020, 0x384d7: 0x6d36f220,\n\t0x384d8: 0x6d635c20, 0x384d9: 0x6d635e20, 0x384da: 0x6d636020, 0x384db: 0x6d636220,\n\t0x384dc: 0x6d636420, 0x384dd: 0x6d636620, 0x384de: 0x6d8d6020, 0x384df: 0x6d8d6220,\n\t0x384e0: 0x6d8d6420, 0x384e1: 0x6db16c20, 0x384e2: 0x6db16e20, 0x384e3: 0x6db17020,\n\t0x384e4: 0x6db17220, 0x384e5: 0x6dd0b820, 0x384e6: 0x6dea6820, 0x384e7: 0x6dea6a20,\n\t0x384e8: 0x6dea6c20, 0x384e9: 0x6dea6e20, 0x384ea: 0x6dea7020, 0x384eb: 0x6e001620,\n\t0x384ec: 0x6e001820, 0x384ed: 0x6e001a20, 0x384ee: 0x6e001c20, 0x384ef: 0x6e125e20,\n\t0x384f0: 0x6e126020, 0x384f1: 0x6e33da20, 0x384f2: 0x6e3de420, 0x384f3: 0x6c148420,\n\t0x384f4: 0x6c148620, 0x384f5: 0x6c3f2020, 0x384f6: 0x6c5e4420, 0x384f7: 0x6c5e4620,\n\t0x384f8: 0x6c5e4820, 0x384f9: 0x6c82f620, 0x384fa: 0x6c82f820, 0x384fb: 0x6cabea20,\n\t0x384fc: 0x6cabec20, 0x384fd: 0x6cabee20, 0x384fe: 0x6cabf020, 0x384ff: 0x6cda9420,\n\t// Block 0xe14, offset 0x38500\n\t0x38500: 0x6cda9620, 0x38501: 0x6d08fe20, 0x38502: 0x6d36f620, 0x38503: 0x6d36f820,\n\t0x38504: 0x6d36fa20, 0x38505: 0x6d636a20, 0x38506: 0x6d636c20, 0x38507: 0x6d636e20,\n\t0x38508: 0x6d1dd820, 0x38509: 0x6d8d6820, 0x3850a: 0x6d8d6a20, 0x3850b: 0x6d8d6c20,\n\t0x3850c: 0x6d8d6e20, 0x3850d: 0x6d8d7020, 0x3850e: 0x6db17420, 0x3850f: 0x6dd0bc20,\n\t0x38510: 0x6dd0be20, 0x38511: 0x6c148a20, 0x38512: 0x6c148c20, 0x38513: 0x6c148e20,\n\t0x38514: 0x6c263020, 0x38515: 0x6c3f2620, 0x38516: 0x6c3f2820, 0x38517: 0x6c5e4c20,\n\t0x38518: 0x6c5e4e20, 0x38519: 0x6c3f2a20, 0x3851a: 0x6c5e5020, 0x3851b: 0x6c5e5220,\n\t0x3851c: 0x6c5e5420, 0x3851d: 0x6c830020, 0x3851e: 0x6c830220, 0x3851f: 0x6c830420,\n\t0x38520: 0x6c830620, 0x38521: 0x6c830820, 0x38522: 0x6c830a20, 0x38523: 0x6c830c20,\n\t0x38524: 0x6c830e20, 0x38525: 0x6cabf620, 0x38526: 0x6cabf820, 0x38527: 0x6c5e5620,\n\t0x38528: 0x6cabfa20, 0x38529: 0x6cabfc20, 0x3852a: 0x6cabfe20, 0x3852b: 0x6cac0020,\n\t0x3852c: 0x6cac0220, 0x3852d: 0x6cda9e20, 0x3852e: 0x6cdaa020, 0x3852f: 0x6cdaa220,\n\t0x38530: 0x6cdaa420, 0x38531: 0x6cdaa620, 0x38532: 0x6cdaa820, 0x38533: 0x6d090420,\n\t0x38534: 0x6d090620, 0x38535: 0x6d090820, 0x38536: 0x6d090a20, 0x38537: 0x6d090c20,\n\t0x38538: 0x6d090e20, 0x38539: 0x6d091020, 0x3853a: 0x6d091220, 0x3853b: 0x6d370420,\n\t0x3853c: 0x6d370620, 0x3853d: 0x6d370820, 0x3853e: 0x6d370a20, 0x3853f: 0x6d370c20,\n\t// Block 0xe15, offset 0x38540\n\t0x38540: 0x6d370e20, 0x38541: 0x6d371020, 0x38542: 0x6d371220, 0x38543: 0x6d371420,\n\t0x38544: 0x6d371620, 0x38545: 0x6d637220, 0x38546: 0x6d637420, 0x38547: 0x6d637620,\n\t0x38548: 0x6d637820, 0x38549: 0x6d637a20, 0x3854a: 0x6d637c20, 0x3854b: 0x6d637e20,\n\t0x3854c: 0x6d638020, 0x3854d: 0x6d638220, 0x3854e: 0x6d638420, 0x3854f: 0x6d8d7a20,\n\t0x38550: 0x6d8d7c20, 0x38551: 0x6d8d7e20, 0x38552: 0x6d8d8020, 0x38553: 0x6d8d8220,\n\t0x38554: 0x6d5dd620, 0x38555: 0x6d8d8420, 0x38556: 0x6d8d8620, 0x38557: 0x6d8d8820,\n\t0x38558: 0x6db17620, 0x38559: 0x6db17820, 0x3855a: 0x6db17a20, 0x3855b: 0x6db17c20,\n\t0x3855c: 0x6db17e20, 0x3855d: 0x6db18020, 0x3855e: 0x6db18220, 0x3855f: 0x6db18420,\n\t0x38560: 0x6db18620, 0x38561: 0x6dd0c220, 0x38562: 0x6dd0c420, 0x38563: 0x6dd0c620,\n\t0x38564: 0x6dd0c820, 0x38565: 0x6dd0ca20, 0x38566: 0x6dd0cc20, 0x38567: 0x6dd0ce20,\n\t0x38568: 0x6dca2e20, 0x38569: 0x6dea7620, 0x3856a: 0x6dea7820, 0x3856b: 0x6dea7a20,\n\t0x3856c: 0x6dea7c20, 0x3856d: 0x6e002020, 0x3856e: 0x6e002220, 0x3856f: 0x6dea7e20,\n\t0x38570: 0x6e002420, 0x38571: 0x6e002620, 0x38572: 0x6e002820, 0x38573: 0x6e002a20,\n\t0x38574: 0x6e002c20, 0x38575: 0x6e002e20, 0x38576: 0x6e126220, 0x38577: 0x6e126420,\n\t0x38578: 0x6e126620, 0x38579: 0x6e208020, 0x3857a: 0x6e2b6420, 0x3857b: 0x6e2b6620,\n\t0x3857c: 0x6e33de20, 0x3857d: 0x6e39b620, 0x3857e: 0x6e39b820, 0x3857f: 0x6e39ba20,\n\t// Block 0xe16, offset 0x38580\n\t0x38580: 0x6e3de820, 0x38581: 0x6e40c020, 0x38582: 0x6e40c220, 0x38583: 0x6e454420,\n\t0x38584: 0x6e472c20, 0x38585: 0x6e473620, 0x38586: 0x6c263220, 0x38587: 0x6c5e5820,\n\t0x38588: 0x6c831620, 0x38589: 0x6c831820, 0x3858a: 0x6c831a20, 0x3858b: 0x6c831c20,\n\t0x3858c: 0x6c831e20, 0x3858d: 0x6c832020, 0x3858e: 0x6c832220, 0x3858f: 0x6c832420,\n\t0x38590: 0x6c832620, 0x38591: 0x6cac0820, 0x38592: 0x6cac0a20, 0x38593: 0x6cac0c20,\n\t0x38594: 0x6cac0e20, 0x38595: 0x6cdaae20, 0x38596: 0x6cdab020, 0x38597: 0x6cdab220,\n\t0x38598: 0x6cdab420, 0x38599: 0x6cdab620, 0x3859a: 0x6cdab820, 0x3859b: 0x6cdaba20,\n\t0x3859c: 0x6cdabc20, 0x3859d: 0x6d091420, 0x3859e: 0x6d091620, 0x3859f: 0x6d371e20,\n\t0x385a0: 0x6d372020, 0x385a1: 0x6d372220, 0x385a2: 0x6d372420, 0x385a3: 0x6d372620,\n\t0x385a4: 0x6d372820, 0x385a5: 0x6d372a20, 0x385a6: 0x6d372c20, 0x385a7: 0x6d638c20,\n\t0x385a8: 0x6d638e20, 0x385a9: 0x6d639020, 0x385aa: 0x6d639220, 0x385ab: 0x6d639420,\n\t0x385ac: 0x6d639620, 0x385ad: 0x6d8d8c20, 0x385ae: 0x6d8d8e20, 0x385af: 0x6d8d9020,\n\t0x385b0: 0x6d8d9220, 0x385b1: 0x6db18820, 0x385b2: 0x6db18a20, 0x385b3: 0x6db18c20,\n\t0x385b4: 0x6dd0d420, 0x385b5: 0x6dd0d620, 0x385b6: 0x6dd0d820, 0x385b7: 0x6dea8220,\n\t0x385b8: 0x6e003020, 0x385b9: 0x6e126820, 0x385ba: 0x6e208220, 0x385bb: 0x6e2b6820,\n\t0x385bc: 0x6e2b6a20, 0x385bd: 0x6e3dec20, 0x385be: 0x6d639820, 0x385bf: 0x6d639a20,\n\t// Block 0xe17, offset 0x385c0\n\t0x385c0: 0x6dd0da20, 0x385c1: 0x6e003220, 0x385c2: 0x6e2b6c20, 0x385c3: 0x6e208620,\n\t0x385c4: 0x6e33e020, 0x385c5: 0x6e39bc20, 0x385c6: 0x6e40c420, 0x385c7: 0x6c263420,\n\t0x385c8: 0x6c3f3820, 0x385c9: 0x6c3f3a20, 0x385ca: 0x6c3f3c20, 0x385cb: 0x6c3f3e20,\n\t0x385cc: 0x6c3f4020, 0x385cd: 0x6c3f4220, 0x385ce: 0x6c5e6820, 0x385cf: 0x6c5e6a20,\n\t0x385d0: 0x6c5e6c20, 0x385d1: 0x6c5e6e20, 0x385d2: 0x6c5e7020, 0x385d3: 0x6c5e7220,\n\t0x385d4: 0x6c5e7420, 0x385d5: 0x6c834620, 0x385d6: 0x6c834820, 0x385d7: 0x6c834a20,\n\t0x385d8: 0x6c834c20, 0x385d9: 0x6c834e20, 0x385da: 0x6c835020, 0x385db: 0x6c835220,\n\t0x385dc: 0x6c835420, 0x385dd: 0x6c835620, 0x385de: 0x6c835820, 0x385df: 0x6c835a20,\n\t0x385e0: 0x6c835c20, 0x385e1: 0x6cac2c20, 0x385e2: 0x6cac2e20, 0x385e3: 0x6cac3020,\n\t0x385e4: 0x6cac3220, 0x385e5: 0x6cac3420, 0x385e6: 0x6cac3620, 0x385e7: 0x6cac3820,\n\t0x385e8: 0x6cac3a20, 0x385e9: 0x6cac3c20, 0x385ea: 0x6cac3e20, 0x385eb: 0x6cac4020,\n\t0x385ec: 0x6cac4220, 0x385ed: 0x6cac4420, 0x385ee: 0x6cac4620, 0x385ef: 0x6cdad220,\n\t0x385f0: 0x6cdad420, 0x385f1: 0x6cdad620, 0x385f2: 0x6cdad820, 0x385f3: 0x6d093620,\n\t0x385f4: 0x6cdada20, 0x385f5: 0x6cdadc20, 0x385f6: 0x6cdade20, 0x385f7: 0x6cdae020,\n\t0x385f8: 0x6cdae220, 0x385f9: 0x6cdae420, 0x385fa: 0x6cdae620, 0x385fb: 0x6cdae820,\n\t0x385fc: 0x6cdaea20, 0x385fd: 0x6d093820, 0x385fe: 0x6d093a20, 0x385ff: 0x6d093c20,\n\t// Block 0xe18, offset 0x38600\n\t0x38600: 0x6d093e20, 0x38601: 0x6d094020, 0x38602: 0x6d094220, 0x38603: 0x6d094420,\n\t0x38604: 0x6d094620, 0x38605: 0x6d094820, 0x38606: 0x6d094a20, 0x38607: 0x6d094c20,\n\t0x38608: 0x6d094e20, 0x38609: 0x6d095020, 0x3860a: 0x6d374a20, 0x3860b: 0x6d374c20,\n\t0x3860c: 0x6d374e20, 0x3860d: 0x6d375020, 0x3860e: 0x6d375220, 0x3860f: 0x6d375420,\n\t0x38610: 0x6d375620, 0x38611: 0x6d375820, 0x38612: 0x6d375a20, 0x38613: 0x6d375c20,\n\t0x38614: 0x6d375e20, 0x38615: 0x6d376020, 0x38616: 0x6d376220, 0x38617: 0x6d376420,\n\t0x38618: 0x6d376620, 0x38619: 0x6d376820, 0x3861a: 0x6d376a20, 0x3861b: 0x6d376c20,\n\t0x3861c: 0x6d376e20, 0x3861d: 0x6d63b020, 0x3861e: 0x6d63b220, 0x3861f: 0x6d63b420,\n\t0x38620: 0x6d63b620, 0x38621: 0x6d63b820, 0x38622: 0x6d63ba20, 0x38623: 0x6d63bc20,\n\t0x38624: 0x6d63be20, 0x38625: 0x6d63c020, 0x38626: 0x6d63c220, 0x38627: 0x6d63c420,\n\t0x38628: 0x6d63c620, 0x38629: 0x6d63c820, 0x3862a: 0x6d63ca20, 0x3862b: 0x6d63cc20,\n\t0x3862c: 0x6d63ce20, 0x3862d: 0x6d63d020, 0x3862e: 0x6d63d220, 0x3862f: 0x6d63d420,\n\t0x38630: 0x6d63d620, 0x38631: 0x6d63d820, 0x38632: 0x6d63da20, 0x38633: 0x6d63dc20,\n\t0x38634: 0x6d8da820, 0x38635: 0x6d8daa20, 0x38636: 0x6d8dac20, 0x38637: 0x6d8dae20,\n\t0x38638: 0x6d8db020, 0x38639: 0x6d8db220, 0x3863a: 0x6d8db420, 0x3863b: 0x6d8db620,\n\t0x3863c: 0x6d8db820, 0x3863d: 0x6d8dba20, 0x3863e: 0x6d8dbc20, 0x3863f: 0x6d63de20,\n\t// Block 0xe19, offset 0x38640\n\t0x38640: 0x6d8dbe20, 0x38641: 0x6d8dc020, 0x38642: 0x6d8dc220, 0x38643: 0x6d8dc420,\n\t0x38644: 0x6d8dc620, 0x38645: 0x6d8dc820, 0x38646: 0x6db1a420, 0x38647: 0x6db1a620,\n\t0x38648: 0x6db1a820, 0x38649: 0x6db1aa20, 0x3864a: 0x6db1ac20, 0x3864b: 0x6db1ae20,\n\t0x3864c: 0x6db1b020, 0x3864d: 0x6db1b220, 0x3864e: 0x6db1b420, 0x3864f: 0x6db1b620,\n\t0x38650: 0x6db1b820, 0x38651: 0x6dd0e820, 0x38652: 0x6dd0ea20, 0x38653: 0x6dd0ec20,\n\t0x38654: 0x6dd0ee20, 0x38655: 0x6dd0f020, 0x38656: 0x6dd0f220, 0x38657: 0x6dd0f420,\n\t0x38658: 0x6dd0f620, 0x38659: 0x6dd0f820, 0x3865a: 0x6dd0fa20, 0x3865b: 0x6dd0fc20,\n\t0x3865c: 0x6dd0fe20, 0x3865d: 0x6dd10020, 0x3865e: 0x6dd10220, 0x3865f: 0x6dd10420,\n\t0x38660: 0x6dd10620, 0x38661: 0x6dd10820, 0x38662: 0x6dd10a20, 0x38663: 0x6dd10c20,\n\t0x38664: 0x6dd10e20, 0x38665: 0x6dd11020, 0x38666: 0x6dd11220, 0x38667: 0x6dd11420,\n\t0x38668: 0x6dea9020, 0x38669: 0x6dea9220, 0x3866a: 0x6dea9420, 0x3866b: 0x6dea9620,\n\t0x3866c: 0x6dea9820, 0x3866d: 0x6dea9a20, 0x3866e: 0x6dea9c20, 0x3866f: 0x6dea9e20,\n\t0x38670: 0x6deaa020, 0x38671: 0x6e003e20, 0x38672: 0x6e004020, 0x38673: 0x6e004220,\n\t0x38674: 0x6e004420, 0x38675: 0x6e004620, 0x38676: 0x6e126e20, 0x38677: 0x6e127020,\n\t0x38678: 0x6e127220, 0x38679: 0x6e105820, 0x3867a: 0x6e127420, 0x3867b: 0x6e127620,\n\t0x3867c: 0x6e127820, 0x3867d: 0x6e208a20, 0x3867e: 0x6e208c20, 0x3867f: 0x6e208e20,\n\t// Block 0xe1a, offset 0x38680\n\t0x38680: 0x6e209020, 0x38681: 0x6e209220, 0x38682: 0x6e209420, 0x38683: 0x6e2b7020,\n\t0x38684: 0x6e2b7220, 0x38685: 0x6e39be20, 0x38686: 0x6e39c020, 0x38687: 0x6e3dee20,\n\t0x38688: 0x6e40c620, 0x38689: 0x6e3df020, 0x3868a: 0x6e454620, 0x3868b: 0x6c5e7820,\n\t0x3868c: 0x6cac4820, 0x3868d: 0x6cac4a20, 0x3868e: 0x6cdaec20, 0x3868f: 0x6d095220,\n\t0x38690: 0x6d63e420, 0x38691: 0x6db1be20, 0x38692: 0x6e004a20, 0x38693: 0x6c5e7c20,\n\t0x38694: 0x6cac5020, 0x38695: 0x6cac5220, 0x38696: 0x6cac5420, 0x38697: 0x6cac5620,\n\t0x38698: 0x6cac5820, 0x38699: 0x6cac5a20, 0x3869a: 0x6cdaee20, 0x3869b: 0x6d095420,\n\t0x3869c: 0x6d095620, 0x3869d: 0x6d095820, 0x3869e: 0x6d377420, 0x3869f: 0x6d377620,\n\t0x386a0: 0x6d377820, 0x386a1: 0x6d377a20, 0x386a2: 0x6d377c20, 0x386a3: 0x6d377e20,\n\t0x386a4: 0x6d63e620, 0x386a5: 0x6d63e820, 0x386a6: 0x6d63ea20, 0x386a7: 0x6d63ec20,\n\t0x386a8: 0x6d63ee20, 0x386a9: 0x6d63f020, 0x386aa: 0x6d8dce20, 0x386ab: 0x6d8dd020,\n\t0x386ac: 0x6d8dd220, 0x386ad: 0x6d8dd420, 0x386ae: 0x6d8dd620, 0x386af: 0x6e004c20,\n\t0x386b0: 0x6e004e20, 0x386b1: 0x6e005020, 0x386b2: 0x6e39c220, 0x386b3: 0x6c0a5a20,\n\t0x386b4: 0x6c0a5c20, 0x386b5: 0x6c0a5e20, 0x386b6: 0x6c14b020, 0x386b7: 0x6c14b220,\n\t0x386b8: 0x6c14b420, 0x386b9: 0x6c14b620, 0x386ba: 0x6c14b820, 0x386bb: 0x6c14ba20,\n\t0x386bc: 0x6c14bc20, 0x386bd: 0x6c14be20, 0x386be: 0x6c14c020, 0x386bf: 0x6c14c220,\n\t// Block 0xe1b, offset 0x386c0\n\t0x386c0: 0x6c14c420, 0x386c1: 0x6c266020, 0x386c2: 0x6c266220, 0x386c3: 0x6c266420,\n\t0x386c4: 0x6c266620, 0x386c5: 0x6c266820, 0x386c6: 0x6c266a20, 0x386c7: 0x6c266c20,\n\t0x386c8: 0x6c266e20, 0x386c9: 0x6c267020, 0x386ca: 0x6c267220, 0x386cb: 0x6c267420,\n\t0x386cc: 0x6c267620, 0x386cd: 0x6c267820, 0x386ce: 0x6c267a20, 0x386cf: 0x6c267c20,\n\t0x386d0: 0x6c267e20, 0x386d1: 0x6c268020, 0x386d2: 0x6c268220, 0x386d3: 0x6c3fba20,\n\t0x386d4: 0x6c3fbc20, 0x386d5: 0x6c3fbe20, 0x386d6: 0x6c3fc020, 0x386d7: 0x6c3fc220,\n\t0x386d8: 0x6c3fc420, 0x386d9: 0x6c3fc620, 0x386da: 0x6c3fc820, 0x386db: 0x6c3fca20,\n\t0x386dc: 0x6c3fcc20, 0x386dd: 0x6c3fce20, 0x386de: 0x6c3fd020, 0x386df: 0x6c3fd220,\n\t0x386e0: 0x6c3fd420, 0x386e1: 0x6c3fd620, 0x386e2: 0x6c3fd820, 0x386e3: 0x6c3fda20,\n\t0x386e4: 0x6c3fdc20, 0x386e5: 0x6c3fde20, 0x386e6: 0x6c3fe020, 0x386e7: 0x6c3fe220,\n\t0x386e8: 0x6c3fe420, 0x386e9: 0x6c3fe620, 0x386ea: 0x6c3fe820, 0x386eb: 0x6c3fea20,\n\t0x386ec: 0x6c3fec20, 0x386ed: 0x6c3fee20, 0x386ee: 0x6c3ff020, 0x386ef: 0x6c3ff220,\n\t0x386f0: 0x6c3ff420, 0x386f1: 0x6c3ff620, 0x386f2: 0x6c3ff820, 0x386f3: 0x6c3ffa20,\n\t0x386f4: 0x6c3ffc20, 0x386f5: 0x6c3ffe20, 0x386f6: 0x6c400020, 0x386f7: 0x6c5f1220,\n\t0x386f8: 0x6c5f1420, 0x386f9: 0x6c5f1620, 0x386fa: 0x6c5f1820, 0x386fb: 0x6c5f1a20,\n\t0x386fc: 0x6c5f1c20, 0x386fd: 0x6c5f1e20, 0x386fe: 0x6c5f2020, 0x386ff: 0x6c5f2220,\n\t// Block 0xe1c, offset 0x38700\n\t0x38700: 0x6c5f2420, 0x38701: 0x6c5f2620, 0x38702: 0x6c5f2820, 0x38703: 0x6c5f2a20,\n\t0x38704: 0x6c5f2c20, 0x38705: 0x6c5f2e20, 0x38706: 0x6c5f3020, 0x38707: 0x6c5f3220,\n\t0x38708: 0x6c5f3420, 0x38709: 0x6c5f3620, 0x3870a: 0x6c5f3820, 0x3870b: 0x6c5f3a20,\n\t0x3870c: 0x6c5f3c20, 0x3870d: 0x6c5f3e20, 0x3870e: 0x6c5f4020, 0x3870f: 0x6c5f4220,\n\t0x38710: 0x6c5f4420, 0x38711: 0x6c5f4620, 0x38712: 0x6c5f4820, 0x38713: 0x6c5f4a20,\n\t0x38714: 0x6c5f4c20, 0x38715: 0x6c5f4e20, 0x38716: 0x6c5f5020, 0x38717: 0x6c5f5220,\n\t0x38718: 0x6c5f5420, 0x38719: 0x6c5f5620, 0x3871a: 0x6c5f5820, 0x3871b: 0x6c5f5a20,\n\t0x3871c: 0x6c5f5c20, 0x3871d: 0x6c5f5e20, 0x3871e: 0x6c5f6020, 0x3871f: 0x6c5f6220,\n\t0x38720: 0x6c5f6420, 0x38721: 0x6c5f6620, 0x38722: 0x6c5f6820, 0x38723: 0x6c5f6a20,\n\t0x38724: 0x6c5f6c20, 0x38725: 0x6c5f6e20, 0x38726: 0x6c5f7020, 0x38727: 0x6c5f7220,\n\t0x38728: 0x6c5f7420, 0x38729: 0x6c5f7620, 0x3872a: 0x6c5f7820, 0x3872b: 0x6c5f7a20,\n\t0x3872c: 0x6c5f7c20, 0x3872d: 0x6c841e20, 0x3872e: 0x6c842020, 0x3872f: 0x6c842220,\n\t0x38730: 0x6c842420, 0x38731: 0x6c842620, 0x38732: 0x6c842820, 0x38733: 0x6c842a20,\n\t0x38734: 0x6c842c20, 0x38735: 0x6c842e20, 0x38736: 0x6c843020, 0x38737: 0x6c843220,\n\t0x38738: 0x6c843420, 0x38739: 0x6c843620, 0x3873a: 0x6c843820, 0x3873b: 0x6c843a20,\n\t0x3873c: 0x6c843c20, 0x3873d: 0x6c843e20, 0x3873e: 0x6c844020, 0x3873f: 0x6c844220,\n\t// Block 0xe1d, offset 0x38740\n\t0x38740: 0x6c844420, 0x38741: 0x6c844620, 0x38742: 0x6c844820, 0x38743: 0x6c844a20,\n\t0x38744: 0x6c844c20, 0x38745: 0x6c844e20, 0x38746: 0x6c845020, 0x38747: 0x6c845220,\n\t0x38748: 0x6c845420, 0x38749: 0x6c845620, 0x3874a: 0x6c845820, 0x3874b: 0x6c845a20,\n\t0x3874c: 0x6c845c20, 0x3874d: 0x6c845e20, 0x3874e: 0x6c846020, 0x3874f: 0x6c846220,\n\t0x38750: 0x6c846420, 0x38751: 0x6c846620, 0x38752: 0x6c846820, 0x38753: 0x6c846a20,\n\t0x38754: 0x6c846c20, 0x38755: 0x6c846e20, 0x38756: 0x6c847020, 0x38757: 0x6c847220,\n\t0x38758: 0x6c847420, 0x38759: 0x6c847620, 0x3875a: 0x6c847820, 0x3875b: 0x6c847a20,\n\t0x3875c: 0x6c847c20, 0x3875d: 0x6c847e20, 0x3875e: 0x6c848020, 0x3875f: 0x6c848220,\n\t0x38760: 0x6c848420, 0x38761: 0x6c848620, 0x38762: 0x6c848820, 0x38763: 0x6c848a20,\n\t0x38764: 0x6c848c20, 0x38765: 0x6c848e20, 0x38766: 0x6c849020, 0x38767: 0x6c849220,\n\t0x38768: 0x6c849420, 0x38769: 0x6c849620, 0x3876a: 0x6c849820, 0x3876b: 0x6c849a20,\n\t0x3876c: 0x6c849c20, 0x3876d: 0x6c849e20, 0x3876e: 0x6c84a020, 0x3876f: 0x6c84a220,\n\t0x38770: 0x6c84a420, 0x38771: 0x6c84a620, 0x38772: 0x6c84a820, 0x38773: 0x6c84aa20,\n\t0x38774: 0x6c84ac20, 0x38775: 0x6c84ae20, 0x38776: 0x6cad1020, 0x38777: 0x6cad1220,\n\t0x38778: 0x6cad1420, 0x38779: 0x6cad1620, 0x3877a: 0x6cad1820, 0x3877b: 0x6cad1a20,\n\t0x3877c: 0x6cad1c20, 0x3877d: 0x6cad1e20, 0x3877e: 0x6cad2020, 0x3877f: 0x6cad2220,\n\t// Block 0xe1e, offset 0x38780\n\t0x38780: 0x6cad2420, 0x38781: 0x6cad2620, 0x38782: 0x6cad2820, 0x38783: 0x6cad2a20,\n\t0x38784: 0x6cad2c20, 0x38785: 0x6cad2e20, 0x38786: 0x6cad3020, 0x38787: 0x6cad3220,\n\t0x38788: 0x6cad3420, 0x38789: 0x6cad3620, 0x3878a: 0x6cad3820, 0x3878b: 0x6cad3a20,\n\t0x3878c: 0x6cad3c20, 0x3878d: 0x6cad3e20, 0x3878e: 0x6cad4020, 0x3878f: 0x6cad4220,\n\t0x38790: 0x6cad4420, 0x38791: 0x6cad4620, 0x38792: 0x6cad4820, 0x38793: 0x6cad4a20,\n\t0x38794: 0x6cad4c20, 0x38795: 0x6cad4e20, 0x38796: 0x6cad5020, 0x38797: 0x6cad5220,\n\t0x38798: 0x6cad5420, 0x38799: 0x6cad5620, 0x3879a: 0x6cad5820, 0x3879b: 0x6cad5a20,\n\t0x3879c: 0x6cad5c20, 0x3879d: 0x6cad5e20, 0x3879e: 0x6cad6020, 0x3879f: 0x6cad6220,\n\t0x387a0: 0x6cad6420, 0x387a1: 0x6cad6620, 0x387a2: 0x6cad6820, 0x387a3: 0x6cad6a20,\n\t0x387a4: 0x6cad6c20, 0x387a5: 0x6cad6e20, 0x387a6: 0x6cad7020, 0x387a7: 0x6cad7220,\n\t0x387a8: 0x6cad7420, 0x387a9: 0x6cad7620, 0x387aa: 0x6cad7820, 0x387ab: 0x6cad7a20,\n\t0x387ac: 0x6cad7c20, 0x387ad: 0x6cad7e20, 0x387ae: 0x6cad8020, 0x387af: 0x6cad8220,\n\t0x387b0: 0x6cad8420, 0x387b1: 0x6cdbf020, 0x387b2: 0x6cad8620, 0x387b3: 0x6cad8820,\n\t0x387b4: 0x6cad8a20, 0x387b5: 0x6cad8c20, 0x387b6: 0x6cad8e20, 0x387b7: 0x6cad9020,\n\t0x387b8: 0x6cad9220, 0x387b9: 0x6cad9420, 0x387ba: 0x6cad9620, 0x387bb: 0x6cad9820,\n\t0x387bc: 0x6cad9a20, 0x387bd: 0x6cad9c20, 0x387be: 0x6cad9e20, 0x387bf: 0x6cada020,\n\t// Block 0xe1f, offset 0x387c0\n\t0x387c0: 0x6cada220, 0x387c1: 0x6cada420, 0x387c2: 0x6cada620, 0x387c3: 0x6cada820,\n\t0x387c4: 0x6cadaa20, 0x387c5: 0x6cadac20, 0x387c6: 0x6cadae20, 0x387c7: 0x6cadb020,\n\t0x387c8: 0x6cadb220, 0x387c9: 0x6cadb420, 0x387ca: 0x6cadb620, 0x387cb: 0x6cadb820,\n\t0x387cc: 0x6cadba20, 0x387cd: 0x6cadbc20, 0x387ce: 0x6cadbe20, 0x387cf: 0x6cadc020,\n\t0x387d0: 0x6cadc220, 0x387d1: 0x6cadc420, 0x387d2: 0x6cadc620, 0x387d3: 0x6cadc820,\n\t0x387d4: 0x6cadca20, 0x387d5: 0x6cadcc20, 0x387d6: 0x6cdbf220, 0x387d7: 0x6cadce20,\n\t0x387d8: 0x6cadd020, 0x387d9: 0x6cadd220, 0x387da: 0x6cadd420, 0x387db: 0x6cadd620,\n\t0x387dc: 0x6cadd820, 0x387dd: 0x6cadda20, 0x387de: 0x6caddc20, 0x387df: 0x6cadde20,\n\t0x387e0: 0x6cade020, 0x387e1: 0x6cade220, 0x387e2: 0x6cade420, 0x387e3: 0x6cade620,\n\t0x387e4: 0x6cade820, 0x387e5: 0x6cadea20, 0x387e6: 0x6cadec20, 0x387e7: 0x6cadee20,\n\t0x387e8: 0x6cadf020, 0x387e9: 0x6cadf220, 0x387ea: 0x6cdbf420, 0x387eb: 0x6cdbf620,\n\t0x387ec: 0x6cdbf820, 0x387ed: 0x6cdbfa20, 0x387ee: 0x6cdbfc20, 0x387ef: 0x6cdbfe20,\n\t0x387f0: 0x6cdc0020, 0x387f1: 0x6cdc0220, 0x387f2: 0x6cdc0420, 0x387f3: 0x6cdc0620,\n\t0x387f4: 0x6cdc0820, 0x387f5: 0x6cdc0a20, 0x387f6: 0x6cdc0c20, 0x387f7: 0x6cdc0e20,\n\t0x387f8: 0x6cdc1020, 0x387f9: 0x6cdc1220, 0x387fa: 0x6cdc1420, 0x387fb: 0x6cdc1620,\n\t0x387fc: 0x6cdc1820, 0x387fd: 0x6cdc1a20, 0x387fe: 0x6cdc1c20, 0x387ff: 0x6cdc1e20,\n\t// Block 0xe20, offset 0x38800\n\t0x38800: 0x6cdc2020, 0x38801: 0x6cdc2220, 0x38802: 0x6cdc2420, 0x38803: 0x6cdc2620,\n\t0x38804: 0x6cdc2820, 0x38805: 0x6cdc2a20, 0x38806: 0x6cdc2c20, 0x38807: 0x6cdc2e20,\n\t0x38808: 0x6cdc3020, 0x38809: 0x6cdc3220, 0x3880a: 0x6cdc3420, 0x3880b: 0x6cdc3620,\n\t0x3880c: 0x6cdc3820, 0x3880d: 0x6cdc3a20, 0x3880e: 0x6cdc3c20, 0x3880f: 0x6cdc3e20,\n\t0x38810: 0x6cdc4020, 0x38811: 0x6cdc4220, 0x38812: 0x6cdc4420, 0x38813: 0x6cdc4620,\n\t0x38814: 0x6cdc4820, 0x38815: 0x6cdc4a20, 0x38816: 0x6cdc4c20, 0x38817: 0x6cdc4e20,\n\t0x38818: 0x6cdc5020, 0x38819: 0x6cdc5220, 0x3881a: 0x6cdc5420, 0x3881b: 0x6cdc5620,\n\t0x3881c: 0x6cdc5820, 0x3881d: 0x6cdc5a20, 0x3881e: 0x6cdc5c20, 0x3881f: 0x6cdc5e20,\n\t0x38820: 0x6cdc6020, 0x38821: 0x6cdc6220, 0x38822: 0x6cdc6420, 0x38823: 0x6cdc6620,\n\t0x38824: 0x6cdc6820, 0x38825: 0x6cdc6a20, 0x38826: 0x6cdc6c20, 0x38827: 0x6cdc6e20,\n\t0x38828: 0x6cdc7020, 0x38829: 0x6cdc7220, 0x3882a: 0x6cdc7420, 0x3882b: 0x6cdc7620,\n\t0x3882c: 0x6cdc7820, 0x3882d: 0x6cdc7a20, 0x3882e: 0x6cdc7c20, 0x3882f: 0x6cdc7e20,\n\t0x38830: 0x6cdc8020, 0x38831: 0x6cdc8220, 0x38832: 0x6cdc8420, 0x38833: 0x6cdc8620,\n\t0x38834: 0x6cdc8820, 0x38835: 0x6cdc8a20, 0x38836: 0x6cdc8c20, 0x38837: 0x6cdc8e20,\n\t0x38838: 0x6cdc9020, 0x38839: 0x6cdc9220, 0x3883a: 0x6cdc9420, 0x3883b: 0x6cdc9620,\n\t0x3883c: 0x6cdc9820, 0x3883d: 0x6cdc9a20, 0x3883e: 0x6cdc9c20, 0x3883f: 0x6cdc9e20,\n\t// Block 0xe21, offset 0x38840\n\t0x38840: 0x6cdca020, 0x38841: 0x6cdca220, 0x38842: 0x6cdca420, 0x38843: 0x6cdca620,\n\t0x38844: 0x6cdca820, 0x38845: 0x6cdcaa20, 0x38846: 0x6cdcac20, 0x38847: 0x6cdcae20,\n\t0x38848: 0x6cdcb020, 0x38849: 0x6cdcb220, 0x3884a: 0x6cdcb420, 0x3884b: 0x6cdcb620,\n\t0x3884c: 0x6cdcb820, 0x3884d: 0x6cdcba20, 0x3884e: 0x6cdcbc20, 0x3884f: 0x6cdcbe20,\n\t0x38850: 0x6cdcc020, 0x38851: 0x6cdcc220, 0x38852: 0x6cdcc420, 0x38853: 0x6cdcc620,\n\t0x38854: 0x6cdcc820, 0x38855: 0x6cdcca20, 0x38856: 0x6cdccc20, 0x38857: 0x6cdcce20,\n\t0x38858: 0x6cdcd020, 0x38859: 0x6cdcd220, 0x3885a: 0x6cdcd420, 0x3885b: 0x6cdcd620,\n\t0x3885c: 0x6cdcd820, 0x3885d: 0x6cdcda20, 0x3885e: 0x6cdcdc20, 0x3885f: 0x6cdcde20,\n\t0x38860: 0x6cdce020, 0x38861: 0x6cdce220, 0x38862: 0x6cdce420, 0x38863: 0x6cdce620,\n\t0x38864: 0x6cdce820, 0x38865: 0x6cdcea20, 0x38866: 0x6cdcec20, 0x38867: 0x6cdcee20,\n\t0x38868: 0x6cdcf020, 0x38869: 0x6cdcf220, 0x3886a: 0x6cdcf420, 0x3886b: 0x6cdcf620,\n\t0x3886c: 0x6cdcf820, 0x3886d: 0x6cdcfa20, 0x3886e: 0x6cdcfc20, 0x3886f: 0x6cdcfe20,\n\t0x38870: 0x6cdd0020, 0x38871: 0x6cdd0220, 0x38872: 0x6cdd0420, 0x38873: 0x6cdd0620,\n\t0x38874: 0x6cdd0820, 0x38875: 0x6cdd0a20, 0x38876: 0x6cdd0c20, 0x38877: 0x6cdd0e20,\n\t0x38878: 0x6cdd1020, 0x38879: 0x6cdd1220, 0x3887a: 0x6cdd1420, 0x3887b: 0x6cdd1620,\n\t0x3887c: 0x6cdd1820, 0x3887d: 0x6cdd1a20, 0x3887e: 0x6cdd1c20, 0x3887f: 0x6cdd1e20,\n\t// Block 0xe22, offset 0x38880\n\t0x38880: 0x6cdd2020, 0x38881: 0x6d0a5020, 0x38882: 0x6d0a5220, 0x38883: 0x6d0a5420,\n\t0x38884: 0x6d0a5620, 0x38885: 0x6d0a5820, 0x38886: 0x6d0a5a20, 0x38887: 0x6d0a5c20,\n\t0x38888: 0x6d0a5e20, 0x38889: 0x6d0a6020, 0x3888a: 0x6d0a6220, 0x3888b: 0x6d0a6420,\n\t0x3888c: 0x6d0a6620, 0x3888d: 0x6d0a6820, 0x3888e: 0x6d0a6a20, 0x3888f: 0x6d0a6c20,\n\t0x38890: 0x6d0a6e20, 0x38891: 0x6d0a7020, 0x38892: 0x6d0a7220, 0x38893: 0x6d0a7420,\n\t0x38894: 0x6d0a7620, 0x38895: 0x6d0a7820, 0x38896: 0x6d0a7a20, 0x38897: 0x6d0a7c20,\n\t0x38898: 0x6d0a7e20, 0x38899: 0x6d0a8020, 0x3889a: 0x6d0a8220, 0x3889b: 0x6d0a8420,\n\t0x3889c: 0x6d0a8620, 0x3889d: 0x6d0a8820, 0x3889e: 0x6d0a8a20, 0x3889f: 0x6d0a8c20,\n\t0x388a0: 0x6d0a8e20, 0x388a1: 0x6d0a9020, 0x388a2: 0x6d0a9220, 0x388a3: 0x6d0a9420,\n\t0x388a4: 0x6d0a9620, 0x388a5: 0x6d0a9820, 0x388a6: 0x6d0a9a20, 0x388a7: 0x6d0a9c20,\n\t0x388a8: 0x6d0a9e20, 0x388a9: 0x6d0aa020, 0x388aa: 0x6d0aa220, 0x388ab: 0x6d0aa420,\n\t0x388ac: 0x6d0aa620, 0x388ad: 0x6d0aa820, 0x388ae: 0x6d0aaa20, 0x388af: 0x6d0aac20,\n\t0x388b0: 0x6d0aae20, 0x388b1: 0x6d0ab020, 0x388b2: 0x6d0ab220, 0x388b3: 0x6d0ab420,\n\t0x388b4: 0x6d0ab620, 0x388b5: 0x6d0ab820, 0x388b6: 0x6d0aba20, 0x388b7: 0x6d0abc20,\n\t0x388b8: 0x6d0abe20, 0x388b9: 0x6d0ac020, 0x388ba: 0x6d0ac220, 0x388bb: 0x6d0ac420,\n\t0x388bc: 0x6d0ac620, 0x388bd: 0x6d0ac820, 0x388be: 0x6d0aca20, 0x388bf: 0x6d0acc20,\n\t// Block 0xe23, offset 0x388c0\n\t0x388c0: 0x6d0ace20, 0x388c1: 0x6d0ad020, 0x388c2: 0x6d0ad220, 0x388c3: 0x6d0ad420,\n\t0x388c4: 0x6d0ad620, 0x388c5: 0x6d0ad820, 0x388c6: 0x6d0ada20, 0x388c7: 0x6d0adc20,\n\t0x388c8: 0x6d0ade20, 0x388c9: 0x6d0ae020, 0x388ca: 0x6d0ae220, 0x388cb: 0x6d0ae420,\n\t0x388cc: 0x6d0ae620, 0x388cd: 0x6d0ae820, 0x388ce: 0x6d0aea20, 0x388cf: 0x6d0aec20,\n\t0x388d0: 0x6d0aee20, 0x388d1: 0x6d0af020, 0x388d2: 0x6d0af220, 0x388d3: 0x6d0af420,\n\t0x388d4: 0x6d0af620, 0x388d5: 0x6d0af820, 0x388d6: 0x6d0afa20, 0x388d7: 0x6d0afc20,\n\t0x388d8: 0x6d0afe20, 0x388d9: 0x6d0b0020, 0x388da: 0x6d0b0220, 0x388db: 0x6d0b0420,\n\t0x388dc: 0x6d0b0620, 0x388dd: 0x6d0b0820, 0x388de: 0x6d0b0a20, 0x388df: 0x6d0b0c20,\n\t0x388e0: 0x6d0b0e20, 0x388e1: 0x6d0b1020, 0x388e2: 0x6d0b1220, 0x388e3: 0x6d0b1420,\n\t0x388e4: 0x6d0b1620, 0x388e5: 0x6d0b1820, 0x388e6: 0x6d0b1a20, 0x388e7: 0x6d0b1c20,\n\t0x388e8: 0x6d0b1e20, 0x388e9: 0x6d0b2020, 0x388ea: 0x6d0b2220, 0x388eb: 0x6d0b2420,\n\t0x388ec: 0x6d0b2620, 0x388ed: 0x6d0b2820, 0x388ee: 0x6d0b2a20, 0x388ef: 0x6d0b2c20,\n\t0x388f0: 0x6d0b2e20, 0x388f1: 0x6d0b3020, 0x388f2: 0x6d0b3220, 0x388f3: 0x6d0b3420,\n\t0x388f4: 0x6d0b3620, 0x388f5: 0x6d0b3820, 0x388f6: 0x6cfba420, 0x388f7: 0x6d0b3a20,\n\t0x388f8: 0x6d0b3c20, 0x388f9: 0x6d0b3e20, 0x388fa: 0x6d0b4020, 0x388fb: 0x6d0b4220,\n\t0x388fc: 0x6d0b4420, 0x388fd: 0x6d0b4620, 0x388fe: 0x6d0b4820, 0x388ff: 0x6d0b4a20,\n\t// Block 0xe24, offset 0x38900\n\t0x38900: 0x6d0b4c20, 0x38901: 0x6d0b4e20, 0x38902: 0x6d0b5020, 0x38903: 0x6d0b5220,\n\t0x38904: 0x6d0b5420, 0x38905: 0x6d0b5620, 0x38906: 0x6d0b5820, 0x38907: 0x6d385420,\n\t0x38908: 0x6d0b5a20, 0x38909: 0x6d0b5c20, 0x3890a: 0x6d0b5e20, 0x3890b: 0x6d0b6020,\n\t0x3890c: 0x6d0b6220, 0x3890d: 0x6d0b6420, 0x3890e: 0x6d0b6620, 0x3890f: 0x6d0b6820,\n\t0x38910: 0x6d0b6a20, 0x38911: 0x6d0b6c20, 0x38912: 0x6d0b6e20, 0x38913: 0x6d0b7020,\n\t0x38914: 0x6d0b7220, 0x38915: 0x6d0b7420, 0x38916: 0x6d0b7620, 0x38917: 0x6d0b7820,\n\t0x38918: 0x6d0b7a20, 0x38919: 0x6d0b7c20, 0x3891a: 0x6d0b7e20, 0x3891b: 0x6d0b8020,\n\t0x3891c: 0x6d0b8220, 0x3891d: 0x6d0b8420, 0x3891e: 0x6d0b8620, 0x3891f: 0x6d0b8820,\n\t0x38920: 0x6d0b8a20, 0x38921: 0x6d385620, 0x38922: 0x6d385820, 0x38923: 0x6d385a20,\n\t0x38924: 0x6d385c20, 0x38925: 0x6d385e20, 0x38926: 0x6d386020, 0x38927: 0x6d386220,\n\t0x38928: 0x6d386420, 0x38929: 0x6d386620, 0x3892a: 0x6d386820, 0x3892b: 0x6d386a20,\n\t0x3892c: 0x6d386c20, 0x3892d: 0x6d386e20, 0x3892e: 0x6d387020, 0x3892f: 0x6d387220,\n\t0x38930: 0x6d387420, 0x38931: 0x6d387620, 0x38932: 0x6d387820, 0x38933: 0x6d387a20,\n\t0x38934: 0x6d387c20, 0x38935: 0x6d387e20, 0x38936: 0x6d388020, 0x38937: 0x6d388220,\n\t0x38938: 0x6d388420, 0x38939: 0x6d388620, 0x3893a: 0x6d388820, 0x3893b: 0x6d388a20,\n\t0x3893c: 0x6d388c20, 0x3893d: 0x6d388e20, 0x3893e: 0x6d389020, 0x3893f: 0x6d389220,\n\t// Block 0xe25, offset 0x38940\n\t0x38940: 0x6d389420, 0x38941: 0x6d389620, 0x38942: 0x6d389820, 0x38943: 0x6d389a20,\n\t0x38944: 0x6d389c20, 0x38945: 0x6d389e20, 0x38946: 0x6d38a020, 0x38947: 0x6d38a220,\n\t0x38948: 0x6d38a420, 0x38949: 0x6d38a620, 0x3894a: 0x6d38a820, 0x3894b: 0x6d38aa20,\n\t0x3894c: 0x6d38ac20, 0x3894d: 0x6d38ae20, 0x3894e: 0x6d38b020, 0x3894f: 0x6d38b220,\n\t0x38950: 0x6d38b420, 0x38951: 0x6d38b620, 0x38952: 0x6d38b820, 0x38953: 0x6d38ba20,\n\t0x38954: 0x6d38bc20, 0x38955: 0x6d38be20, 0x38956: 0x6d38c020, 0x38957: 0x6d38c220,\n\t0x38958: 0x6d38c420, 0x38959: 0x6d38c620, 0x3895a: 0x6d38c820, 0x3895b: 0x6d38ca20,\n\t0x3895c: 0x6d38cc20, 0x3895d: 0x6d38ce20, 0x3895e: 0x6d38d020, 0x3895f: 0x6d38d220,\n\t0x38960: 0x6d38d420, 0x38961: 0x6d38d620, 0x38962: 0x6d38d820, 0x38963: 0x6d38da20,\n\t0x38964: 0x6d38dc20, 0x38965: 0x6d38de20, 0x38966: 0x6d38e020, 0x38967: 0x6d38e220,\n\t0x38968: 0x6d38e420, 0x38969: 0x6d38e620, 0x3896a: 0x6d38e820, 0x3896b: 0x6d38ea20,\n\t0x3896c: 0x6d38ec20, 0x3896d: 0x6d38ee20, 0x3896e: 0x6d38f020, 0x3896f: 0x6d38f220,\n\t0x38970: 0x6d38f420, 0x38971: 0x6d38f620, 0x38972: 0x6d38f820, 0x38973: 0x6d38fa20,\n\t0x38974: 0x6d38fc20, 0x38975: 0x6d38fe20, 0x38976: 0x6d390020, 0x38977: 0x6d390220,\n\t0x38978: 0x6d390420, 0x38979: 0x6d390620, 0x3897a: 0x6d390820, 0x3897b: 0x6d390a20,\n\t0x3897c: 0x6d390c20, 0x3897d: 0x6d390e20, 0x3897e: 0x6d391020, 0x3897f: 0x6d391220,\n\t// Block 0xe26, offset 0x38980\n\t0x38980: 0x6d391420, 0x38981: 0x6d391620, 0x38982: 0x6d391820, 0x38983: 0x6d391a20,\n\t0x38984: 0x6d391c20, 0x38985: 0x6d391e20, 0x38986: 0x6d392020, 0x38987: 0x6d392220,\n\t0x38988: 0x6d392420, 0x38989: 0x6d392620, 0x3898a: 0x6d392820, 0x3898b: 0x6d392a20,\n\t0x3898c: 0x6d392c20, 0x3898d: 0x6d392e20, 0x3898e: 0x6d393020, 0x3898f: 0x6d393220,\n\t0x38990: 0x6d393420, 0x38991: 0x6d393620, 0x38992: 0x6d393820, 0x38993: 0x6d393a20,\n\t0x38994: 0x6d393c20, 0x38995: 0x6d393e20, 0x38996: 0x6d394020, 0x38997: 0x6d394220,\n\t0x38998: 0x6d394420, 0x38999: 0x6d394620, 0x3899a: 0x6d394820, 0x3899b: 0x6d394a20,\n\t0x3899c: 0x6d394c20, 0x3899d: 0x6d394e20, 0x3899e: 0x6d395020, 0x3899f: 0x6d395220,\n\t0x389a0: 0x6d395420, 0x389a1: 0x6d395620, 0x389a2: 0x6d395820, 0x389a3: 0x6d395a20,\n\t0x389a4: 0x6d395c20, 0x389a5: 0x6d395e20, 0x389a6: 0x6d396020, 0x389a7: 0x6d396220,\n\t0x389a8: 0x6d396420, 0x389a9: 0x6d396620, 0x389aa: 0x6d396820, 0x389ab: 0x6d396a20,\n\t0x389ac: 0x6d396c20, 0x389ad: 0x6d396e20, 0x389ae: 0x6d397020, 0x389af: 0x6d397220,\n\t0x389b0: 0x6d397420, 0x389b1: 0x6d397620, 0x389b2: 0x6d397820, 0x389b3: 0x6d397a20,\n\t0x389b4: 0x6d397c20, 0x389b5: 0x6d397e20, 0x389b6: 0x6d398020, 0x389b7: 0x6d398220,\n\t0x389b8: 0x6d398420, 0x389b9: 0x6d398620, 0x389ba: 0x6d398820, 0x389bb: 0x6d398a20,\n\t0x389bc: 0x6d398c20, 0x389bd: 0x6d398e20, 0x389be: 0x6d399020, 0x389bf: 0x6d64ba20,\n\t// Block 0xe27, offset 0x389c0\n\t0x389c0: 0x6d64bc20, 0x389c1: 0x6d64be20, 0x389c2: 0x6d64c020, 0x389c3: 0x6d64c220,\n\t0x389c4: 0x6d64c420, 0x389c5: 0x6d64c620, 0x389c6: 0x6d64c820, 0x389c7: 0x6d64ca20,\n\t0x389c8: 0x6d64cc20, 0x389c9: 0x6d64ce20, 0x389ca: 0x6d64d020, 0x389cb: 0x6d64d220,\n\t0x389cc: 0x6d64d420, 0x389cd: 0x6d64d620, 0x389ce: 0x6d64d820, 0x389cf: 0x6d64da20,\n\t0x389d0: 0x6d64dc20, 0x389d1: 0x6d64de20, 0x389d2: 0x6d64e020, 0x389d3: 0x6d64e220,\n\t0x389d4: 0x6d64e420, 0x389d5: 0x6d64e620, 0x389d6: 0x6d64e820, 0x389d7: 0x6d64ea20,\n\t0x389d8: 0x6d64ec20, 0x389d9: 0x6d64ee20, 0x389da: 0x6d64f020, 0x389db: 0x6d64f220,\n\t0x389dc: 0x6d64f420, 0x389dd: 0x6d64f620, 0x389de: 0x6d64f820, 0x389df: 0x6d64fa20,\n\t0x389e0: 0x6d64fc20, 0x389e1: 0x6d64fe20, 0x389e2: 0x6d650020, 0x389e3: 0x6d650220,\n\t0x389e4: 0x6d650420, 0x389e5: 0x6d650620, 0x389e6: 0x6d650820, 0x389e7: 0x6d650a20,\n\t0x389e8: 0x6d650c20, 0x389e9: 0x6d650e20, 0x389ea: 0x6d651020, 0x389eb: 0x6d651220,\n\t0x389ec: 0x6d651420, 0x389ed: 0x6d651620, 0x389ee: 0x6d651820, 0x389ef: 0x6d651a20,\n\t0x389f0: 0x6d651c20, 0x389f1: 0x6d651e20, 0x389f2: 0x6d652020, 0x389f3: 0x6d652220,\n\t0x389f4: 0x6d652420, 0x389f5: 0x6d652620, 0x389f6: 0x6d652820, 0x389f7: 0x6d652a20,\n\t0x389f8: 0x6d652c20, 0x389f9: 0x6d652e20, 0x389fa: 0x6d653020, 0x389fb: 0x6d653220,\n\t0x389fc: 0x6d653420, 0x389fd: 0x6d8e6c20, 0x389fe: 0x6d653620, 0x389ff: 0x6d653820,\n\t// Block 0xe28, offset 0x38a00\n\t0x38a00: 0x6d653a20, 0x38a01: 0x6d653c20, 0x38a02: 0x6d653e20, 0x38a03: 0x6d654020,\n\t0x38a04: 0x6d654220, 0x38a05: 0x6d654420, 0x38a06: 0x6d654620, 0x38a07: 0x6d654820,\n\t0x38a08: 0x6d654a20, 0x38a09: 0x6d654c20, 0x38a0a: 0x6d654e20, 0x38a0b: 0x6d655020,\n\t0x38a0c: 0x6d655220, 0x38a0d: 0x6d655420, 0x38a0e: 0x6d655620, 0x38a0f: 0x6d655820,\n\t0x38a10: 0x6d655a20, 0x38a11: 0x6d655c20, 0x38a12: 0x6d655e20, 0x38a13: 0x6d656020,\n\t0x38a14: 0x6d656220, 0x38a15: 0x6d656420, 0x38a16: 0x6d656620, 0x38a17: 0x6d656820,\n\t0x38a18: 0x6d656a20, 0x38a19: 0x6d656c20, 0x38a1a: 0x6d656e20, 0x38a1b: 0x6d657020,\n\t0x38a1c: 0x6d657220, 0x38a1d: 0x6d657420, 0x38a1e: 0x6d657620, 0x38a1f: 0x6d657820,\n\t0x38a20: 0x6d657a20, 0x38a21: 0x6d657c20, 0x38a22: 0x6d657e20, 0x38a23: 0x6d658020,\n\t0x38a24: 0x6d658220, 0x38a25: 0x6d658420, 0x38a26: 0x6d658620, 0x38a27: 0x6d658820,\n\t0x38a28: 0x6d658a20, 0x38a29: 0x6d658c20, 0x38a2a: 0x6d658e20, 0x38a2b: 0x6d659020,\n\t0x38a2c: 0x6d659220, 0x38a2d: 0x6d659420, 0x38a2e: 0x6d659620, 0x38a2f: 0x6d659820,\n\t0x38a30: 0x6d659a20, 0x38a31: 0x6d659c20, 0x38a32: 0x6d659e20, 0x38a33: 0x6d65a020,\n\t0x38a34: 0x6d65a220, 0x38a35: 0x6d65a420, 0x38a36: 0x6d65a620, 0x38a37: 0x6d65a820,\n\t0x38a38: 0x6d65aa20, 0x38a39: 0x6d65ac20, 0x38a3a: 0x6d65ae20, 0x38a3b: 0x6d65b020,\n\t0x38a3c: 0x6d65b220, 0x38a3d: 0x6d65b420, 0x38a3e: 0x6d65b620, 0x38a3f: 0x6d65b820,\n\t// Block 0xe29, offset 0x38a40\n\t0x38a40: 0x6d65ba20, 0x38a41: 0x6d65bc20, 0x38a42: 0x6d65be20, 0x38a43: 0x6d65c020,\n\t0x38a44: 0x6d65c220, 0x38a45: 0x6e454c20, 0x38a46: 0x6d8e6e20, 0x38a47: 0x6d8e7020,\n\t0x38a48: 0x6d8e7220, 0x38a49: 0x6d8e7420, 0x38a4a: 0x6d8e7620, 0x38a4b: 0x6d8e7820,\n\t0x38a4c: 0x6d8e7a20, 0x38a4d: 0x6d8e7c20, 0x38a4e: 0x6d8e7e20, 0x38a4f: 0x6d8e8020,\n\t0x38a50: 0x6d8e8220, 0x38a51: 0x6d8e8420, 0x38a52: 0x6d8e8620, 0x38a53: 0x6d8e8820,\n\t0x38a54: 0x6d8e8a20, 0x38a55: 0x6d8e8c20, 0x38a56: 0x6d8e8e20, 0x38a57: 0x6d8e9020,\n\t0x38a58: 0x6d8e9220, 0x38a59: 0x6d8e9420, 0x38a5a: 0x6d8e9620, 0x38a5b: 0x6d8e9820,\n\t0x38a5c: 0x6d8e9a20, 0x38a5d: 0x6d8e9c20, 0x38a5e: 0x6d8e9e20, 0x38a5f: 0x6d8ea020,\n\t0x38a60: 0x6d8ea220, 0x38a61: 0x6d8ea420, 0x38a62: 0x6d8ea620, 0x38a63: 0x6d8ea820,\n\t0x38a64: 0x6d8eaa20, 0x38a65: 0x6d8eac20, 0x38a66: 0x6d8eae20, 0x38a67: 0x6d8eb020,\n\t0x38a68: 0x6d8eb220, 0x38a69: 0x6d8eb420, 0x38a6a: 0x6d8eb620, 0x38a6b: 0x6d8eb820,\n\t0x38a6c: 0x6d8eba20, 0x38a6d: 0x6d8ebc20, 0x38a6e: 0x6d8ebe20, 0x38a6f: 0x6d8ec020,\n\t0x38a70: 0x6d8ec220, 0x38a71: 0x6d8ec420, 0x38a72: 0x6d8ec620, 0x38a73: 0x6d8ec820,\n\t0x38a74: 0x6d8eca20, 0x38a75: 0x6d8ecc20, 0x38a76: 0x6d8ece20, 0x38a77: 0x6d8ed020,\n\t0x38a78: 0x6d8ed220, 0x38a79: 0x6d8ed420, 0x38a7a: 0x6d8ed620, 0x38a7b: 0x6d8ed820,\n\t0x38a7c: 0x6d8eda20, 0x38a7d: 0x6d8edc20, 0x38a7e: 0x6d8ede20, 0x38a7f: 0x6d8ee020,\n\t// Block 0xe2a, offset 0x38a80\n\t0x38a80: 0x6d8ee220, 0x38a81: 0x6d8ee420, 0x38a82: 0x6d8ee620, 0x38a83: 0x6d8ee820,\n\t0x38a84: 0x6d8eea20, 0x38a85: 0x6d8eec20, 0x38a86: 0x6d8eee20, 0x38a87: 0x6dc5f420,\n\t0x38a88: 0x6d8ef020, 0x38a89: 0x6d8ef220, 0x38a8a: 0x6d8ef420, 0x38a8b: 0x6d8ef620,\n\t0x38a8c: 0x6d8ef820, 0x38a8d: 0x6d8efa20, 0x38a8e: 0x6d8efc20, 0x38a8f: 0x6d8efe20,\n\t0x38a90: 0x6d8f0020, 0x38a91: 0x6d8f0220, 0x38a92: 0x6d8f0420, 0x38a93: 0x6d8f0620,\n\t0x38a94: 0x6d8f0820, 0x38a95: 0x6d8f0a20, 0x38a96: 0x6d8f0c20, 0x38a97: 0x6d8f0e20,\n\t0x38a98: 0x6d8f1020, 0x38a99: 0x6d8f1220, 0x38a9a: 0x6d8f1420, 0x38a9b: 0x6d8f1620,\n\t0x38a9c: 0x6d8f1820, 0x38a9d: 0x6d8f1a20, 0x38a9e: 0x6d8f1c20, 0x38a9f: 0x6d8f1e20,\n\t0x38aa0: 0x6d8f2020, 0x38aa1: 0x6d8f2220, 0x38aa2: 0x6d8f2420, 0x38aa3: 0x6d8f2620,\n\t0x38aa4: 0x6d8f2820, 0x38aa5: 0x6d8f2a20, 0x38aa6: 0x6d8f2c20, 0x38aa7: 0x6d8f2e20,\n\t0x38aa8: 0x6d8f3020, 0x38aa9: 0x6d8f3220, 0x38aaa: 0x6d8f3420, 0x38aab: 0x6d8f3620,\n\t0x38aac: 0x6d8f3820, 0x38aad: 0x6d8f3a20, 0x38aae: 0x6d8f3c20, 0x38aaf: 0x6d8f3e20,\n\t0x38ab0: 0x6d8f4020, 0x38ab1: 0x6d8f4220, 0x38ab2: 0x6d8f4420, 0x38ab3: 0x6d8f4620,\n\t0x38ab4: 0x6d8f4820, 0x38ab5: 0x6d8f4a20, 0x38ab6: 0x6d8f4c20, 0x38ab7: 0x6d8f4e20,\n\t0x38ab8: 0x6d8f5020, 0x38ab9: 0x6d8f5220, 0x38aba: 0x6d8f5420, 0x38abb: 0x6d8f5620,\n\t0x38abc: 0x6d8f5820, 0x38abd: 0x6d8f5a20, 0x38abe: 0x6db26e20, 0x38abf: 0x6d8f5c20,\n\t// Block 0xe2b, offset 0x38ac0\n\t0x38ac0: 0x6d8f5e20, 0x38ac1: 0x6d8f6020, 0x38ac2: 0x6d8f6220, 0x38ac3: 0x6d8f6420,\n\t0x38ac4: 0x6d8f6620, 0x38ac5: 0x6d8f6820, 0x38ac6: 0x6d8f6a20, 0x38ac7: 0x6d8f6c20,\n\t0x38ac8: 0x6d8f6e20, 0x38ac9: 0x6d8f7020, 0x38aca: 0x6d8f7220, 0x38acb: 0x6d8f7420,\n\t0x38acc: 0x6d8f7620, 0x38acd: 0x6d8f7820, 0x38ace: 0x6d8f7a20, 0x38acf: 0x6d8f7c20,\n\t0x38ad0: 0x6d8f7e20, 0x38ad1: 0x6d8f8020, 0x38ad2: 0x6d8f8220, 0x38ad3: 0x6d8f8420,\n\t0x38ad4: 0x6d8f8620, 0x38ad5: 0x6d8f8820, 0x38ad6: 0x6d8f8a20, 0x38ad7: 0x6d8f8c20,\n\t0x38ad8: 0x6d8f8e20, 0x38ad9: 0x6d8f9020, 0x38ada: 0x6d8f9220, 0x38adb: 0x6d8f9420,\n\t0x38adc: 0x6d8f9620, 0x38add: 0x6d8f9820, 0x38ade: 0x6d8f9a20, 0x38adf: 0x6d8f9c20,\n\t0x38ae0: 0x6d8f9e20, 0x38ae1: 0x6d8fa020, 0x38ae2: 0x6d8fa220, 0x38ae3: 0x6d8fa420,\n\t0x38ae4: 0x6d8fa620, 0x38ae5: 0x6d8fa820, 0x38ae6: 0x6d8faa20, 0x38ae7: 0x6d8fac20,\n\t0x38ae8: 0x6d8fae20, 0x38ae9: 0x6db27020, 0x38aea: 0x6db27220, 0x38aeb: 0x6db27420,\n\t0x38aec: 0x6db27620, 0x38aed: 0x6db27820, 0x38aee: 0x6db27a20, 0x38aef: 0x6db27c20,\n\t0x38af0: 0x6db27e20, 0x38af1: 0x6db28020, 0x38af2: 0x6db28220, 0x38af3: 0x6db28420,\n\t0x38af4: 0x6db28620, 0x38af5: 0x6db28820, 0x38af6: 0x6db28a20, 0x38af7: 0x6db28c20,\n\t0x38af8: 0x6db28e20, 0x38af9: 0x6db29020, 0x38afa: 0x6db29220, 0x38afb: 0x6db29420,\n\t0x38afc: 0x6db29620, 0x38afd: 0x6db29820, 0x38afe: 0x6db29a20, 0x38aff: 0x6db29c20,\n\t// Block 0xe2c, offset 0x38b00\n\t0x38b00: 0x6db29e20, 0x38b01: 0x6db2a020, 0x38b02: 0x6db2a220, 0x38b03: 0x6db2a420,\n\t0x38b04: 0x6db2a620, 0x38b05: 0x6db2a820, 0x38b06: 0x6db2aa20, 0x38b07: 0x6db2ac20,\n\t0x38b08: 0x6db2ae20, 0x38b09: 0x6db2b020, 0x38b0a: 0x6db2b220, 0x38b0b: 0x6db2b420,\n\t0x38b0c: 0x6db2b620, 0x38b0d: 0x6db2b820, 0x38b0e: 0x6db2ba20, 0x38b0f: 0x6db2bc20,\n\t0x38b10: 0x6db2be20, 0x38b11: 0x6db2c020, 0x38b12: 0x6db2c220, 0x38b13: 0x6db2c420,\n\t0x38b14: 0x6db2c620, 0x38b15: 0x6db2c820, 0x38b16: 0x6db2ca20, 0x38b17: 0x6db2cc20,\n\t0x38b18: 0x6db2ce20, 0x38b19: 0x6db2d020, 0x38b1a: 0x6db2d220, 0x38b1b: 0x6db2d420,\n\t0x38b1c: 0x6db2d620, 0x38b1d: 0x6db2d820, 0x38b1e: 0x6db2da20, 0x38b1f: 0x6db2dc20,\n\t0x38b20: 0x6db2de20, 0x38b21: 0x6db2e020, 0x38b22: 0x6db2e220, 0x38b23: 0x6db2e420,\n\t0x38b24: 0x6db2e620, 0x38b25: 0x6db2e820, 0x38b26: 0x6db2ea20, 0x38b27: 0x6db2ec20,\n\t0x38b28: 0x6db2ee20, 0x38b29: 0x6db2f020, 0x38b2a: 0x6db2f220, 0x38b2b: 0x6db2f420,\n\t0x38b2c: 0x6db2f620, 0x38b2d: 0x6d8fb020, 0x38b2e: 0x6db2f820, 0x38b2f: 0x6db2fa20,\n\t0x38b30: 0x6db2fc20, 0x38b31: 0x6db2fe20, 0x38b32: 0x6db30020, 0x38b33: 0x6db30220,\n\t0x38b34: 0x6db30420, 0x38b35: 0x6db30620, 0x38b36: 0x6db30820, 0x38b37: 0x6db30a20,\n\t0x38b38: 0x6db30c20, 0x38b39: 0x6db30e20, 0x38b3a: 0x6db31020, 0x38b3b: 0x6db31220,\n\t0x38b3c: 0x6db31420, 0x38b3d: 0x6db31620, 0x38b3e: 0x6db31820, 0x38b3f: 0x6db31a20,\n\t// Block 0xe2d, offset 0x38b40\n\t0x38b40: 0x6db31c20, 0x38b41: 0x6db31e20, 0x38b42: 0x6db32020, 0x38b43: 0x6db32220,\n\t0x38b44: 0x6db32420, 0x38b45: 0x6db32620, 0x38b46: 0x6db32820, 0x38b47: 0x6db32a20,\n\t0x38b48: 0x6db32c20, 0x38b49: 0x6db32e20, 0x38b4a: 0x6db33020, 0x38b4b: 0x6db33220,\n\t0x38b4c: 0x6db33420, 0x38b4d: 0x6db33620, 0x38b4e: 0x6db33820, 0x38b4f: 0x6db33a20,\n\t0x38b50: 0x6db33c20, 0x38b51: 0x6db33e20, 0x38b52: 0x6db34020, 0x38b53: 0x6db34220,\n\t0x38b54: 0x6db34420, 0x38b55: 0x6db34620, 0x38b56: 0x6db34820, 0x38b57: 0x6db34a20,\n\t0x38b58: 0x6db34c20, 0x38b59: 0x6db34e20, 0x38b5a: 0x6db35020, 0x38b5b: 0x6db35220,\n\t0x38b5c: 0x6db35420, 0x38b5d: 0x6db35620, 0x38b5e: 0x6db35820, 0x38b5f: 0x6db35a20,\n\t0x38b60: 0x6db35c20, 0x38b61: 0x6db35e20, 0x38b62: 0x6db36020, 0x38b63: 0x6db36220,\n\t0x38b64: 0x6db36420, 0x38b65: 0x6db36620, 0x38b66: 0x6db36820, 0x38b67: 0x6db36a20,\n\t0x38b68: 0x6db36c20, 0x38b69: 0x6db36e20, 0x38b6a: 0x6dd19420, 0x38b6b: 0x6dd19620,\n\t0x38b6c: 0x6dd19820, 0x38b6d: 0x6dd19a20, 0x38b6e: 0x6dd19c20, 0x38b6f: 0x6dd19e20,\n\t0x38b70: 0x6dd1a020, 0x38b71: 0x6dd1a220, 0x38b72: 0x6dd1a420, 0x38b73: 0x6dd1a620,\n\t0x38b74: 0x6dd1a820, 0x38b75: 0x6dd1aa20, 0x38b76: 0x6dd1ac20, 0x38b77: 0x6dd1ae20,\n\t0x38b78: 0x6dd1b020, 0x38b79: 0x6dd1b220, 0x38b7a: 0x6dd1b420, 0x38b7b: 0x6dd1b620,\n\t0x38b7c: 0x6dd1b820, 0x38b7d: 0x6dd1ba20, 0x38b7e: 0x6dd1bc20, 0x38b7f: 0x6dd1be20,\n\t// Block 0xe2e, offset 0x38b80\n\t0x38b80: 0x6dd1c020, 0x38b81: 0x6dd1c220, 0x38b82: 0x6dd1c420, 0x38b83: 0x6dd1c620,\n\t0x38b84: 0x6dd1c820, 0x38b85: 0x6dd1ca20, 0x38b86: 0x6dd1cc20, 0x38b87: 0x6dd1ce20,\n\t0x38b88: 0x6dd1d020, 0x38b89: 0x6dd1d220, 0x38b8a: 0x6dd1d420, 0x38b8b: 0x6dd1d620,\n\t0x38b8c: 0x6dd1d820, 0x38b8d: 0x6dd1da20, 0x38b8e: 0x6dd1dc20, 0x38b8f: 0x6dd1de20,\n\t0x38b90: 0x6dd1e020, 0x38b91: 0x6dd1e220, 0x38b92: 0x6dd1e420, 0x38b93: 0x6dd1e620,\n\t0x38b94: 0x6deb0220, 0x38b95: 0x6deb0420, 0x38b96: 0x6dd1e820, 0x38b97: 0x6dd1ea20,\n\t0x38b98: 0x6dd1ec20, 0x38b99: 0x6dd1ee20, 0x38b9a: 0x6dd1f020, 0x38b9b: 0x6dd1f220,\n\t0x38b9c: 0x6dd1f420, 0x38b9d: 0x6deb0620, 0x38b9e: 0x6dd1f620, 0x38b9f: 0x6dd1f820,\n\t0x38ba0: 0x6dd1fa20, 0x38ba1: 0x6db37020, 0x38ba2: 0x6dd1fc20, 0x38ba3: 0x6dd1fe20,\n\t0x38ba4: 0x6dd20020, 0x38ba5: 0x6dd20220, 0x38ba6: 0x6dd20420, 0x38ba7: 0x6dd20620,\n\t0x38ba8: 0x6dd20820, 0x38ba9: 0x6dd20a20, 0x38baa: 0x6dd20c20, 0x38bab: 0x6dd20e20,\n\t0x38bac: 0x6dd21020, 0x38bad: 0x6dd21220, 0x38bae: 0x6dd21420, 0x38baf: 0x6dd21620,\n\t0x38bb0: 0x6dd21820, 0x38bb1: 0x6dd21a20, 0x38bb2: 0x6dd21c20, 0x38bb3: 0x6dd21e20,\n\t0x38bb4: 0x6dd22020, 0x38bb5: 0x6dd22220, 0x38bb6: 0x6dd22420, 0x38bb7: 0x6dd22620,\n\t0x38bb8: 0x6db37220, 0x38bb9: 0x6dd22820, 0x38bba: 0x6dd22a20, 0x38bbb: 0x6dd22c20,\n\t0x38bbc: 0x6dd22e20, 0x38bbd: 0x6dd23020, 0x38bbe: 0x6dd23220, 0x38bbf: 0x6dd23420,\n\t// Block 0xe2f, offset 0x38bc0\n\t0x38bc0: 0x6dd23620, 0x38bc1: 0x6dd23820, 0x38bc2: 0x6dd23a20, 0x38bc3: 0x6dd23c20,\n\t0x38bc4: 0x6dd23e20, 0x38bc5: 0x6dd24020, 0x38bc6: 0x6dd24220, 0x38bc7: 0x6dd24420,\n\t0x38bc8: 0x6dd24620, 0x38bc9: 0x6dd24820, 0x38bca: 0x6dd24a20, 0x38bcb: 0x6dd24c20,\n\t0x38bcc: 0x6dd24e20, 0x38bcd: 0x6dd25020, 0x38bce: 0x6dd25220, 0x38bcf: 0x6dd25420,\n\t0x38bd0: 0x6dd25620, 0x38bd1: 0x6dd25820, 0x38bd2: 0x6dd25a20, 0x38bd3: 0x6dd25c20,\n\t0x38bd4: 0x6dd25e20, 0x38bd5: 0x6dd26020, 0x38bd6: 0x6dd26220, 0x38bd7: 0x6dd26420,\n\t0x38bd8: 0x6dd26620, 0x38bd9: 0x6dd26820, 0x38bda: 0x6dd26a20, 0x38bdb: 0x6dd26c20,\n\t0x38bdc: 0x6dd26e20, 0x38bdd: 0x6dd27020, 0x38bde: 0x6dd27220, 0x38bdf: 0x6dd27420,\n\t0x38be0: 0x6deb0820, 0x38be1: 0x6deb0a20, 0x38be2: 0x6deb0c20, 0x38be3: 0x6deb0e20,\n\t0x38be4: 0x6deb1020, 0x38be5: 0x6deb1220, 0x38be6: 0x6deb1420, 0x38be7: 0x6deb1620,\n\t0x38be8: 0x6deb1820, 0x38be9: 0x6deb1a20, 0x38bea: 0x6deb1c20, 0x38beb: 0x6deb1e20,\n\t0x38bec: 0x6deb2020, 0x38bed: 0x6deb2220, 0x38bee: 0x6deb2420, 0x38bef: 0x6deb2620,\n\t0x38bf0: 0x6deb2820, 0x38bf1: 0x6deb2a20, 0x38bf2: 0x6deb2c20, 0x38bf3: 0x6deb2e20,\n\t0x38bf4: 0x6deb3020, 0x38bf5: 0x6deb3220, 0x38bf6: 0x6deb3420, 0x38bf7: 0x6deb3620,\n\t0x38bf8: 0x6deb3820, 0x38bf9: 0x6deb3a20, 0x38bfa: 0x6deb3c20, 0x38bfb: 0x6deb3e20,\n\t0x38bfc: 0x6deb4020, 0x38bfd: 0x6deb4220, 0x38bfe: 0x6deb4420, 0x38bff: 0x6deb4620,\n\t// Block 0xe30, offset 0x38c00\n\t0x38c00: 0x6deb4820, 0x38c01: 0x6deb4a20, 0x38c02: 0x6deb4c20, 0x38c03: 0x6deb4e20,\n\t0x38c04: 0x6deb5020, 0x38c05: 0x6deb5220, 0x38c06: 0x6deb5420, 0x38c07: 0x6deb5620,\n\t0x38c08: 0x6deb5820, 0x38c09: 0x6deb5a20, 0x38c0a: 0x6deb5c20, 0x38c0b: 0x6deb5e20,\n\t0x38c0c: 0x6deb6020, 0x38c0d: 0x6deb6220, 0x38c0e: 0x6deb6420, 0x38c0f: 0x6deb6620,\n\t0x38c10: 0x6deb6820, 0x38c11: 0x6deb6a20, 0x38c12: 0x6deb6c20, 0x38c13: 0x6deb6e20,\n\t0x38c14: 0x6deb7020, 0x38c15: 0x6deb7220, 0x38c16: 0x6deb7420, 0x38c17: 0x6deb7620,\n\t0x38c18: 0x6deb7820, 0x38c19: 0x6deb7a20, 0x38c1a: 0x6deb7c20, 0x38c1b: 0x6deb7e20,\n\t0x38c1c: 0x6deb8020, 0x38c1d: 0x6deb8220, 0x38c1e: 0x6deb8420, 0x38c1f: 0x6deb8620,\n\t0x38c20: 0x6deb8820, 0x38c21: 0x6deb8a20, 0x38c22: 0x6deb8c20, 0x38c23: 0x6deb8e20,\n\t0x38c24: 0x6deb9020, 0x38c25: 0x6deb9220, 0x38c26: 0x6deb9420, 0x38c27: 0x6deb9620,\n\t0x38c28: 0x6deb9820, 0x38c29: 0x6deb9a20, 0x38c2a: 0x6deb9c20, 0x38c2b: 0x6deb9e20,\n\t0x38c2c: 0x6deba020, 0x38c2d: 0x6deba220, 0x38c2e: 0x6deba420, 0x38c2f: 0x6deba620,\n\t0x38c30: 0x6deba820, 0x38c31: 0x6debaa20, 0x38c32: 0x6debac20, 0x38c33: 0x6debae20,\n\t0x38c34: 0x6debb020, 0x38c35: 0x6debb220, 0x38c36: 0x6debb420, 0x38c37: 0x6debb620,\n\t0x38c38: 0x6debb820, 0x38c39: 0x6debba20, 0x38c3a: 0x6debbc20, 0x38c3b: 0x6e00a820,\n\t0x38c3c: 0x6e00aa20, 0x38c3d: 0x6e00ac20, 0x38c3e: 0x6e00ae20, 0x38c3f: 0x6e00b020,\n\t// Block 0xe31, offset 0x38c40\n\t0x38c40: 0x6e00b220, 0x38c41: 0x6e00b420, 0x38c42: 0x6e00b620, 0x38c43: 0x6e00b820,\n\t0x38c44: 0x6e00ba20, 0x38c45: 0x6e00bc20, 0x38c46: 0x6e00be20, 0x38c47: 0x6e00c020,\n\t0x38c48: 0x6e00c220, 0x38c49: 0x6e00c420, 0x38c4a: 0x6e00c620, 0x38c4b: 0x6e00c820,\n\t0x38c4c: 0x6e00ca20, 0x38c4d: 0x6e00cc20, 0x38c4e: 0x6e00ce20, 0x38c4f: 0x6e00d020,\n\t0x38c50: 0x6e00d220, 0x38c51: 0x6e00d420, 0x38c52: 0x6e00d620, 0x38c53: 0x6e00d820,\n\t0x38c54: 0x6e00da20, 0x38c55: 0x6e00dc20, 0x38c56: 0x6e00de20, 0x38c57: 0x6e00e020,\n\t0x38c58: 0x6e00e220, 0x38c59: 0x6e00e420, 0x38c5a: 0x6e00e620, 0x38c5b: 0x6e00e820,\n\t0x38c5c: 0x6e00ea20, 0x38c5d: 0x6e00ec20, 0x38c5e: 0x6e00ee20, 0x38c5f: 0x6e00f020,\n\t0x38c60: 0x6e00f220, 0x38c61: 0x6e00f420, 0x38c62: 0x6e00f620, 0x38c63: 0x6e00f820,\n\t0x38c64: 0x6e00fa20, 0x38c65: 0x6e00fc20, 0x38c66: 0x6e00fe20, 0x38c67: 0x6e010020,\n\t0x38c68: 0x6e010220, 0x38c69: 0x6e010420, 0x38c6a: 0x6e010620, 0x38c6b: 0x6e010820,\n\t0x38c6c: 0x6e010a20, 0x38c6d: 0x6e010c20, 0x38c6e: 0x6e010e20, 0x38c6f: 0x6e011020,\n\t0x38c70: 0x6e011220, 0x38c71: 0x6e011420, 0x38c72: 0x6e011620, 0x38c73: 0x6e011820,\n\t0x38c74: 0x6e011a20, 0x38c75: 0x6e011c20, 0x38c76: 0x6e011e20, 0x38c77: 0x6e012020,\n\t0x38c78: 0x6e012220, 0x38c79: 0x6e012420, 0x38c7a: 0x6e012620, 0x38c7b: 0x6e012820,\n\t0x38c7c: 0x6e012a20, 0x38c7d: 0x6e012c20, 0x38c7e: 0x6e012e20, 0x38c7f: 0x6e013020,\n\t// Block 0xe32, offset 0x38c80\n\t0x38c80: 0x6e013220, 0x38c81: 0x6e013420, 0x38c82: 0x6e013620, 0x38c83: 0x6e013820,\n\t0x38c84: 0x6e013a20, 0x38c85: 0x6e013c20, 0x38c86: 0x6e013e20, 0x38c87: 0x6e014020,\n\t0x38c88: 0x6e014220, 0x38c89: 0x6e014420, 0x38c8a: 0x6e014620, 0x38c8b: 0x6e014820,\n\t0x38c8c: 0x6debbe20, 0x38c8d: 0x6e12ba20, 0x38c8e: 0x6e014a20, 0x38c8f: 0x6e12bc20,\n\t0x38c90: 0x6e12be20, 0x38c91: 0x6e12c020, 0x38c92: 0x6e12c220, 0x38c93: 0x6e12c420,\n\t0x38c94: 0x6e12c620, 0x38c95: 0x6e12c820, 0x38c96: 0x6e12ca20, 0x38c97: 0x6e12cc20,\n\t0x38c98: 0x6e12ce20, 0x38c99: 0x6e12d020, 0x38c9a: 0x6e12d220, 0x38c9b: 0x6e12d420,\n\t0x38c9c: 0x6e12d620, 0x38c9d: 0x6e12d820, 0x38c9e: 0x6e12da20, 0x38c9f: 0x6e12dc20,\n\t0x38ca0: 0x6e12de20, 0x38ca1: 0x6e12e020, 0x38ca2: 0x6e12e220, 0x38ca3: 0x6e12e420,\n\t0x38ca4: 0x6e12e620, 0x38ca5: 0x6e12e820, 0x38ca6: 0x6e12ea20, 0x38ca7: 0x6e12ec20,\n\t0x38ca8: 0x6e12ee20, 0x38ca9: 0x6e12f020, 0x38caa: 0x6e12f220, 0x38cab: 0x6e12f420,\n\t0x38cac: 0x6e12f620, 0x38cad: 0x6e12f820, 0x38cae: 0x6e12fa20, 0x38caf: 0x6e12fc20,\n\t0x38cb0: 0x6e12fe20, 0x38cb1: 0x6e130020, 0x38cb2: 0x6e130220, 0x38cb3: 0x6e130420,\n\t0x38cb4: 0x6e130620, 0x38cb5: 0x6e130820, 0x38cb6: 0x6e130a20, 0x38cb7: 0x6e130c20,\n\t0x38cb8: 0x6e130e20, 0x38cb9: 0x6e131020, 0x38cba: 0x6e131220, 0x38cbb: 0x6e131420,\n\t0x38cbc: 0x6e131620, 0x38cbd: 0x6e131820, 0x38cbe: 0x6e131a20, 0x38cbf: 0x6e131c20,\n\t// Block 0xe33, offset 0x38cc0\n\t0x38cc0: 0x6e131e20, 0x38cc1: 0x6e132020, 0x38cc2: 0x6e132220, 0x38cc3: 0x6e132420,\n\t0x38cc4: 0x6e132620, 0x38cc5: 0x6e132820, 0x38cc6: 0x6e132a20, 0x38cc7: 0x6e132c20,\n\t0x38cc8: 0x6e132e20, 0x38cc9: 0x6e133020, 0x38cca: 0x6e133220, 0x38ccb: 0x6e133420,\n\t0x38ccc: 0x6e133620, 0x38ccd: 0x6e20c620, 0x38cce: 0x6e20c820, 0x38ccf: 0x6e20ca20,\n\t0x38cd0: 0x6e20cc20, 0x38cd1: 0x6e20ce20, 0x38cd2: 0x6e20d020, 0x38cd3: 0x6e20d220,\n\t0x38cd4: 0x6e20d420, 0x38cd5: 0x6e20d620, 0x38cd6: 0x6e20d820, 0x38cd7: 0x6e20da20,\n\t0x38cd8: 0x6e20dc20, 0x38cd9: 0x6e20de20, 0x38cda: 0x6e20e020, 0x38cdb: 0x6e20e220,\n\t0x38cdc: 0x6e20e420, 0x38cdd: 0x6e20e620, 0x38cde: 0x6e20e820, 0x38cdf: 0x6e20ea20,\n\t0x38ce0: 0x6e20ec20, 0x38ce1: 0x6e20ee20, 0x38ce2: 0x6e20f020, 0x38ce3: 0x6e20f220,\n\t0x38ce4: 0x6e20f420, 0x38ce5: 0x6e20f620, 0x38ce6: 0x6e20f820, 0x38ce7: 0x6e20fa20,\n\t0x38ce8: 0x6e20fc20, 0x38ce9: 0x6e20fe20, 0x38cea: 0x6e210020, 0x38ceb: 0x6e210220,\n\t0x38cec: 0x6e210420, 0x38ced: 0x6e210620, 0x38cee: 0x6e210820, 0x38cef: 0x6e210a20,\n\t0x38cf0: 0x6e210c20, 0x38cf1: 0x6e210e20, 0x38cf2: 0x6e211020, 0x38cf3: 0x6e211220,\n\t0x38cf4: 0x6e211420, 0x38cf5: 0x6e211620, 0x38cf6: 0x6e2b9420, 0x38cf7: 0x6e2b9620,\n\t0x38cf8: 0x6e2b9820, 0x38cf9: 0x6e2b9a20, 0x38cfa: 0x6e2b9c20, 0x38cfb: 0x6e2b9e20,\n\t0x38cfc: 0x6e2ba020, 0x38cfd: 0x6e2ba220, 0x38cfe: 0x6e2ba420, 0x38cff: 0x6e2ba620,\n\t// Block 0xe34, offset 0x38d00\n\t0x38d00: 0x6e2ba820, 0x38d01: 0x6e2baa20, 0x38d02: 0x6e2bac20, 0x38d03: 0x6e2bae20,\n\t0x38d04: 0x6e2bb020, 0x38d05: 0x6e2bb220, 0x38d06: 0x6e2bb420, 0x38d07: 0x6e2bb620,\n\t0x38d08: 0x6e2bb820, 0x38d09: 0x6e2bba20, 0x38d0a: 0x6e2bbc20, 0x38d0b: 0x6e2bbe20,\n\t0x38d0c: 0x6e2bc020, 0x38d0d: 0x6e2bc220, 0x38d0e: 0x6e2bc420, 0x38d0f: 0x6e2bc620,\n\t0x38d10: 0x6e2bc820, 0x38d11: 0x6e2bca20, 0x38d12: 0x6e2bcc20, 0x38d13: 0x6e2bce20,\n\t0x38d14: 0x6e2bd020, 0x38d15: 0x6e2bd220, 0x38d16: 0x6e33f020, 0x38d17: 0x6e33f220,\n\t0x38d18: 0x6e33f420, 0x38d19: 0x6e33f620, 0x38d1a: 0x6e33f820, 0x38d1b: 0x6e33fa20,\n\t0x38d1c: 0x6e33fc20, 0x38d1d: 0x6e33fe20, 0x38d1e: 0x6e340020, 0x38d1f: 0x6e340220,\n\t0x38d20: 0x6e340420, 0x38d21: 0x6e340620, 0x38d22: 0x6e340820, 0x38d23: 0x6e340a20,\n\t0x38d24: 0x6e340c20, 0x38d25: 0x6e340e20, 0x38d26: 0x6e341020, 0x38d27: 0x6e341220,\n\t0x38d28: 0x6e341420, 0x38d29: 0x6e341620, 0x38d2a: 0x6e341820, 0x38d2b: 0x6e341a20,\n\t0x38d2c: 0x6e341c20, 0x38d2d: 0x6e341e20, 0x38d2e: 0x6e39d420, 0x38d2f: 0x6e39d620,\n\t0x38d30: 0x6e39d820, 0x38d31: 0x6e39da20, 0x38d32: 0x6e39dc20, 0x38d33: 0x6e39de20,\n\t0x38d34: 0x6e39e020, 0x38d35: 0x6e42f020, 0x38d36: 0x6e39e220, 0x38d37: 0x6e39e420,\n\t0x38d38: 0x6e39e620, 0x38d39: 0x6e39e820, 0x38d3a: 0x6e3df620, 0x38d3b: 0x6e3df820,\n\t0x38d3c: 0x6e3dfa20, 0x38d3d: 0x6e3dfc20, 0x38d3e: 0x6e3dfe20, 0x38d3f: 0x6e3e0020,\n\t// Block 0xe35, offset 0x38d40\n\t0x38d40: 0x6e3e0220, 0x38d41: 0x6e3e0420, 0x38d42: 0x6e3e0620, 0x38d43: 0x6e3e0820,\n\t0x38d44: 0x6e3e0a20, 0x38d45: 0x6e3e0c20, 0x38d46: 0x6e394c20, 0x38d47: 0x6e40ce20,\n\t0x38d48: 0x6e40d020, 0x38d49: 0x6e40d220, 0x38d4a: 0x6e40d420, 0x38d4b: 0x6e40d620,\n\t0x38d4c: 0x6e40d820, 0x38d4d: 0x6e40da20, 0x38d4e: 0x6e40dc20, 0x38d4f: 0x6e42f220,\n\t0x38d50: 0x6e42f420, 0x38d51: 0x6e42f620, 0x38d52: 0x6e42f820, 0x38d53: 0x6e470220,\n\t0x38d54: 0x6e446820, 0x38d55: 0x6e446a20, 0x38d56: 0x6e454e20, 0x38d57: 0x6e45d020,\n\t0x38d58: 0x6e472e20, 0x38d59: 0x6e468c20, 0x38d5a: 0x6e455020, 0x38d5b: 0x6c401420,\n\t0x38d5c: 0x6c5f9820, 0x38d5d: 0x6c5f9a20, 0x38d5e: 0x6c5f9c20, 0x38d5f: 0x6c84d420,\n\t0x38d60: 0x6c84d620, 0x38d61: 0x6c84d820, 0x38d62: 0x6c84da20, 0x38d63: 0x6cae3220,\n\t0x38d64: 0x6cae3420, 0x38d65: 0x6cae3620, 0x38d66: 0x6cae3820, 0x38d67: 0x6cae3a20,\n\t0x38d68: 0x6cae3c20, 0x38d69: 0x6cae3e20, 0x38d6a: 0x6cae4020, 0x38d6b: 0x6cae4220,\n\t0x38d6c: 0x6cae4420, 0x38d6d: 0x6cae4620, 0x38d6e: 0x6cae4820, 0x38d6f: 0x6cae4a20,\n\t0x38d70: 0x6cae4c20, 0x38d71: 0x6cdd5020, 0x38d72: 0x6cdd5220, 0x38d73: 0x6cdd5420,\n\t0x38d74: 0x6cdd5620, 0x38d75: 0x6cdd5820, 0x38d76: 0x6cdd5a20, 0x38d77: 0x6cdd5c20,\n\t0x38d78: 0x6cdd5e20, 0x38d79: 0x6cdd6020, 0x38d7a: 0x6d0bd020, 0x38d7b: 0x6d0bd220,\n\t0x38d7c: 0x6d0bd420, 0x38d7d: 0x6d0bd620, 0x38d7e: 0x6d0bd820, 0x38d7f: 0x6d0bda20,\n\t// Block 0xe36, offset 0x38d80\n\t0x38d80: 0x6d0bdc20, 0x38d81: 0x6d39be20, 0x38d82: 0x6d39c020, 0x38d83: 0x6d39c220,\n\t0x38d84: 0x6d39c420, 0x38d85: 0x6d39c620, 0x38d86: 0x6d39c820, 0x38d87: 0x6d39ca20,\n\t0x38d88: 0x6d39cc20, 0x38d89: 0x6d39ce20, 0x38d8a: 0x6d39d020, 0x38d8b: 0x6d39d220,\n\t0x38d8c: 0x6d39d420, 0x38d8d: 0x6d39d620, 0x38d8e: 0x6d39d820, 0x38d8f: 0x6d65f820,\n\t0x38d90: 0x6d65fa20, 0x38d91: 0x6d65fc20, 0x38d92: 0x6d65fe20, 0x38d93: 0x6d660020,\n\t0x38d94: 0x6d660220, 0x38d95: 0x6d660420, 0x38d96: 0x6d660620, 0x38d97: 0x6d660820,\n\t0x38d98: 0x6d660a20, 0x38d99: 0x6d660c20, 0x38d9a: 0x6d660e20, 0x38d9b: 0x6d661020,\n\t0x38d9c: 0x6d8fd020, 0x38d9d: 0x6d8fd220, 0x38d9e: 0x6d8fd420, 0x38d9f: 0x6d8fd620,\n\t0x38da0: 0x6d8fd820, 0x38da1: 0x6d8fda20, 0x38da2: 0x6d8fdc20, 0x38da3: 0x6d8fde20,\n\t0x38da4: 0x6d8fe020, 0x38da5: 0x6d8fe220, 0x38da6: 0x6d8fe420, 0x38da7: 0x6d8fe620,\n\t0x38da8: 0x6d8fe820, 0x38da9: 0x6d8fea20, 0x38daa: 0x6d8fec20, 0x38dab: 0x6d8fee20,\n\t0x38dac: 0x6d8ff020, 0x38dad: 0x6d8ff220, 0x38dae: 0x6d8ff420, 0x38daf: 0x6d8ff620,\n\t0x38db0: 0x6d8ff820, 0x38db1: 0x6db39e20, 0x38db2: 0x6db3a020, 0x38db3: 0x6db3a220,\n\t0x38db4: 0x6db3a420, 0x38db5: 0x6db3a620, 0x38db6: 0x6db3a820, 0x38db7: 0x6db3aa20,\n\t0x38db8: 0x6db3ac20, 0x38db9: 0x6db3ae20, 0x38dba: 0x6db3b020, 0x38dbb: 0x6dd29c20,\n\t0x38dbc: 0x6dd29e20, 0x38dbd: 0x6dd2a020, 0x38dbe: 0x6dd2a220, 0x38dbf: 0x6dd2a420,\n\t// Block 0xe37, offset 0x38dc0\n\t0x38dc0: 0x6dd2a620, 0x38dc1: 0x6dd2a820, 0x38dc2: 0x6debd420, 0x38dc3: 0x6dd2aa20,\n\t0x38dc4: 0x6dd2ac20, 0x38dc5: 0x6debd620, 0x38dc6: 0x6debd820, 0x38dc7: 0x6debda20,\n\t0x38dc8: 0x6debdc20, 0x38dc9: 0x6debde20, 0x38dca: 0x6debe020, 0x38dcb: 0x6e015a20,\n\t0x38dcc: 0x6e015c20, 0x38dcd: 0x6e015e20, 0x38dce: 0x6e016020, 0x38dcf: 0x6e016220,\n\t0x38dd0: 0x6df39420, 0x38dd1: 0x6e134220, 0x38dd2: 0x6e134420, 0x38dd3: 0x6e134620,\n\t0x38dd4: 0x6e134820, 0x38dd5: 0x6e134a20, 0x38dd6: 0x6e134c20, 0x38dd7: 0x6e134e20,\n\t0x38dd8: 0x6e211e20, 0x38dd9: 0x6e212020, 0x38dda: 0x6e2bd620, 0x38ddb: 0x6e2bd820,\n\t0x38ddc: 0x6e3e1420, 0x38ddd: 0x6c268c20, 0x38dde: 0x6c268e20, 0x38ddf: 0x6c402220,\n\t0x38de0: 0x6c402420, 0x38de1: 0x6c402620, 0x38de2: 0x6c402820, 0x38de3: 0x6c402a20,\n\t0x38de4: 0x6c402c20, 0x38de5: 0x6c402e20, 0x38de6: 0x6c403020, 0x38de7: 0x6c403220,\n\t0x38de8: 0x6c5fcc20, 0x38de9: 0x6c5fce20, 0x38dea: 0x6c5fd020, 0x38deb: 0x6c5fd220,\n\t0x38dec: 0x6c5fd420, 0x38ded: 0x6c5fd620, 0x38dee: 0x6c5fd820, 0x38def: 0x6c5fda20,\n\t0x38df0: 0x6c5fdc20, 0x38df1: 0x6c5fde20, 0x38df2: 0x6c5fe020, 0x38df3: 0x6c5fe220,\n\t0x38df4: 0x6c5fe420, 0x38df5: 0x6c5fe620, 0x38df6: 0x6c5fe820, 0x38df7: 0x6c5fea20,\n\t0x38df8: 0x6c5fec20, 0x38df9: 0x6c5fee20, 0x38dfa: 0x6c5ff020, 0x38dfb: 0x6c853220,\n\t0x38dfc: 0x6c853420, 0x38dfd: 0x6c853620, 0x38dfe: 0x6c853820, 0x38dff: 0x6c853a20,\n\t// Block 0xe38, offset 0x38e00\n\t0x38e00: 0x6c853c20, 0x38e01: 0x6c853e20, 0x38e02: 0x6c854020, 0x38e03: 0x6c854220,\n\t0x38e04: 0x6c854420, 0x38e05: 0x6c854620, 0x38e06: 0x6c854820, 0x38e07: 0x6c854a20,\n\t0x38e08: 0x6c854c20, 0x38e09: 0x6c854e20, 0x38e0a: 0x6c855020, 0x38e0b: 0x6c855220,\n\t0x38e0c: 0x6c855420, 0x38e0d: 0x6c855620, 0x38e0e: 0x6c855820, 0x38e0f: 0x6c855a20,\n\t0x38e10: 0x6c855c20, 0x38e11: 0x6c855e20, 0x38e12: 0x6c856020, 0x38e13: 0x6c856220,\n\t0x38e14: 0x6c856420, 0x38e15: 0x6c856620, 0x38e16: 0x6c856820, 0x38e17: 0x6c856a20,\n\t0x38e18: 0x6c856c20, 0x38e19: 0x6c856e20, 0x38e1a: 0x6c857020, 0x38e1b: 0x6c857220,\n\t0x38e1c: 0x6c857420, 0x38e1d: 0x6c857620, 0x38e1e: 0x6caeaa20, 0x38e1f: 0x6caeac20,\n\t0x38e20: 0x6caeae20, 0x38e21: 0x6caeb020, 0x38e22: 0x6caeb220, 0x38e23: 0x6caeb420,\n\t0x38e24: 0x6caeb620, 0x38e25: 0x6caeb820, 0x38e26: 0x6caeba20, 0x38e27: 0x6caebc20,\n\t0x38e28: 0x6caebe20, 0x38e29: 0x6caec020, 0x38e2a: 0x6caec220, 0x38e2b: 0x6caec420,\n\t0x38e2c: 0x6caec620, 0x38e2d: 0x6caec820, 0x38e2e: 0x6caeca20, 0x38e2f: 0x6caecc20,\n\t0x38e30: 0x6caece20, 0x38e31: 0x6caed020, 0x38e32: 0x6caed220, 0x38e33: 0x6caed420,\n\t0x38e34: 0x6caed620, 0x38e35: 0x6caed820, 0x38e36: 0x6caeda20, 0x38e37: 0x6caedc20,\n\t0x38e38: 0x6caede20, 0x38e39: 0x6caee020, 0x38e3a: 0x6caee220, 0x38e3b: 0x6caee420,\n\t0x38e3c: 0x6caee620, 0x38e3d: 0x6caee820, 0x38e3e: 0x6caeea20, 0x38e3f: 0x6caeec20,\n\t// Block 0xe39, offset 0x38e40\n\t0x38e40: 0x6caeee20, 0x38e41: 0x6caef020, 0x38e42: 0x6caef220, 0x38e43: 0x6caef420,\n\t0x38e44: 0x6caef620, 0x38e45: 0x6caef820, 0x38e46: 0x6caefa20, 0x38e47: 0x6caefc20,\n\t0x38e48: 0x6caefe20, 0x38e49: 0x6caf0020, 0x38e4a: 0x6caf0220, 0x38e4b: 0x6caf0420,\n\t0x38e4c: 0x6caf0620, 0x38e4d: 0x6caf0820, 0x38e4e: 0x6caf0a20, 0x38e4f: 0x6cddc220,\n\t0x38e50: 0x6cddc420, 0x38e51: 0x6cddc620, 0x38e52: 0x6cddc820, 0x38e53: 0x6cddca20,\n\t0x38e54: 0x6cddcc20, 0x38e55: 0x6cddce20, 0x38e56: 0x6cddd020, 0x38e57: 0x6cddd220,\n\t0x38e58: 0x6cddd420, 0x38e59: 0x6cddd620, 0x38e5a: 0x6cddd820, 0x38e5b: 0x6cddda20,\n\t0x38e5c: 0x6cdddc20, 0x38e5d: 0x6cddde20, 0x38e5e: 0x6cdde020, 0x38e5f: 0x6cdde220,\n\t0x38e60: 0x6cdde420, 0x38e61: 0x6cdde620, 0x38e62: 0x6cdde820, 0x38e63: 0x6cddea20,\n\t0x38e64: 0x6cddec20, 0x38e65: 0x6cddee20, 0x38e66: 0x6cddf020, 0x38e67: 0x6cddf220,\n\t0x38e68: 0x6cddf420, 0x38e69: 0x6cddf620, 0x38e6a: 0x6cddf820, 0x38e6b: 0x6d0c3620,\n\t0x38e6c: 0x6cddfa20, 0x38e6d: 0x6cddfc20, 0x38e6e: 0x6d0c3820, 0x38e6f: 0x6cddfe20,\n\t0x38e70: 0x6cde0020, 0x38e71: 0x6cde0220, 0x38e72: 0x6cde0420, 0x38e73: 0x6cde0620,\n\t0x38e74: 0x6cde0820, 0x38e75: 0x6cde0a20, 0x38e76: 0x6cde0c20, 0x38e77: 0x6cde0e20,\n\t0x38e78: 0x6cde1020, 0x38e79: 0x6cde1220, 0x38e7a: 0x6cde1420, 0x38e7b: 0x6cde1620,\n\t0x38e7c: 0x6cde1820, 0x38e7d: 0x6cde1a20, 0x38e7e: 0x6cde1c20, 0x38e7f: 0x6cde1e20,\n\t// Block 0xe3a, offset 0x38e80\n\t0x38e80: 0x6cde2020, 0x38e81: 0x6cde2220, 0x38e82: 0x6cde2420, 0x38e83: 0x6cde2620,\n\t0x38e84: 0x6cde2820, 0x38e85: 0x6cde2a20, 0x38e86: 0x6cde2c20, 0x38e87: 0x6cde2e20,\n\t0x38e88: 0x6d0c3a20, 0x38e89: 0x6d0c3c20, 0x38e8a: 0x6d0c3e20, 0x38e8b: 0x6d0c4020,\n\t0x38e8c: 0x6d0c4220, 0x38e8d: 0x6d0c4420, 0x38e8e: 0x6d0c4620, 0x38e8f: 0x6d0c4820,\n\t0x38e90: 0x6d0c4a20, 0x38e91: 0x6d0c4c20, 0x38e92: 0x6d0c4e20, 0x38e93: 0x6d0c5020,\n\t0x38e94: 0x6d0c5220, 0x38e95: 0x6d0c5420, 0x38e96: 0x6d0c5620, 0x38e97: 0x6d0c5820,\n\t0x38e98: 0x6d0c5a20, 0x38e99: 0x6d0c5c20, 0x38e9a: 0x6d0c5e20, 0x38e9b: 0x6d0c6020,\n\t0x38e9c: 0x6d0c6220, 0x38e9d: 0x6d0c6420, 0x38e9e: 0x6d3a6020, 0x38e9f: 0x6d0c6620,\n\t0x38ea0: 0x6d0c6820, 0x38ea1: 0x6d0c6a20, 0x38ea2: 0x6d0c6c20, 0x38ea3: 0x6d0c6e20,\n\t0x38ea4: 0x6d0c7020, 0x38ea5: 0x6d0c7220, 0x38ea6: 0x6d0c7420, 0x38ea7: 0x6d0c7620,\n\t0x38ea8: 0x6d0c7820, 0x38ea9: 0x6d0c7a20, 0x38eaa: 0x6d0c7c20, 0x38eab: 0x6d0c7e20,\n\t0x38eac: 0x6d0c8020, 0x38ead: 0x6d0c8220, 0x38eae: 0x6d0c8420, 0x38eaf: 0x6d0c8620,\n\t0x38eb0: 0x6d0c8820, 0x38eb1: 0x6d0c8a20, 0x38eb2: 0x6d0c8c20, 0x38eb3: 0x6d0c8e20,\n\t0x38eb4: 0x6d0c9020, 0x38eb5: 0x6d0c9220, 0x38eb6: 0x6d0c9420, 0x38eb7: 0x6d0c9620,\n\t0x38eb8: 0x6d0c9820, 0x38eb9: 0x6d0c9a20, 0x38eba: 0x6d0c9c20, 0x38ebb: 0x6d0c9e20,\n\t0x38ebc: 0x6d0ca020, 0x38ebd: 0x6d0ca220, 0x38ebe: 0x6d0ca420, 0x38ebf: 0x6d0ca620,\n\t// Block 0xe3b, offset 0x38ec0\n\t0x38ec0: 0x6d0ca820, 0x38ec1: 0x6d0caa20, 0x38ec2: 0x6d0cac20, 0x38ec3: 0x6d3a6220,\n\t0x38ec4: 0x6d3a6420, 0x38ec5: 0x6d3a6620, 0x38ec6: 0x6d3a6820, 0x38ec7: 0x6d3a6a20,\n\t0x38ec8: 0x6d3a6c20, 0x38ec9: 0x6d3a6e20, 0x38eca: 0x6d3a7020, 0x38ecb: 0x6d3a7220,\n\t0x38ecc: 0x6d3a7420, 0x38ecd: 0x6d3a7620, 0x38ece: 0x6d3a7820, 0x38ecf: 0x6d3a7a20,\n\t0x38ed0: 0x6d3a7c20, 0x38ed1: 0x6d3a7e20, 0x38ed2: 0x6d3a8020, 0x38ed3: 0x6d3a8220,\n\t0x38ed4: 0x6d3a8420, 0x38ed5: 0x6d3a8620, 0x38ed6: 0x6d3a8820, 0x38ed7: 0x6d3a8a20,\n\t0x38ed8: 0x6d3a8c20, 0x38ed9: 0x6d3a8e20, 0x38eda: 0x6d3a9020, 0x38edb: 0x6d3a9220,\n\t0x38edc: 0x6d3a9420, 0x38edd: 0x6d3a9620, 0x38ede: 0x6d0cae20, 0x38edf: 0x6d3a9820,\n\t0x38ee0: 0x6d3a9a20, 0x38ee1: 0x6d3a9c20, 0x38ee2: 0x6d3a9e20, 0x38ee3: 0x6d3aa020,\n\t0x38ee4: 0x6d3aa220, 0x38ee5: 0x6d3aa420, 0x38ee6: 0x6d3aa620, 0x38ee7: 0x6d3aa820,\n\t0x38ee8: 0x6d3aaa20, 0x38ee9: 0x6d3aac20, 0x38eea: 0x6d3aae20, 0x38eeb: 0x6d3ab020,\n\t0x38eec: 0x6d3ab220, 0x38eed: 0x6d3ab420, 0x38eee: 0x6d3ab620, 0x38eef: 0x6d3ab820,\n\t0x38ef0: 0x6d668c20, 0x38ef1: 0x6d3aba20, 0x38ef2: 0x6d3abc20, 0x38ef3: 0x6d3abe20,\n\t0x38ef4: 0x6d3ac020, 0x38ef5: 0x6d3ac220, 0x38ef6: 0x6d3ac420, 0x38ef7: 0x6d3ac620,\n\t0x38ef8: 0x6d3ac820, 0x38ef9: 0x6d3aca20, 0x38efa: 0x6d3acc20, 0x38efb: 0x6d3ace20,\n\t0x38efc: 0x6d3ad020, 0x38efd: 0x6d3ad220, 0x38efe: 0x6d3ad420, 0x38eff: 0x6d3ad620,\n\t// Block 0xe3c, offset 0x38f00\n\t0x38f00: 0x6d3ad820, 0x38f01: 0x6d3ada20, 0x38f02: 0x6d3adc20, 0x38f03: 0x6d3ade20,\n\t0x38f04: 0x6d3ae020, 0x38f05: 0x6d3ae220, 0x38f06: 0x6d3ae420, 0x38f07: 0x6d3ae620,\n\t0x38f08: 0x6d3ae820, 0x38f09: 0x6d3aea20, 0x38f0a: 0x6d3aec20, 0x38f0b: 0x6d3aee20,\n\t0x38f0c: 0x6d3af020, 0x38f0d: 0x6d3af220, 0x38f0e: 0x6d3af420, 0x38f0f: 0x6d3af620,\n\t0x38f10: 0x6d3af820, 0x38f11: 0x6d3afa20, 0x38f12: 0x6d668e20, 0x38f13: 0x6d669020,\n\t0x38f14: 0x6d669220, 0x38f15: 0x6d669420, 0x38f16: 0x6d669620, 0x38f17: 0x6d669820,\n\t0x38f18: 0x6d669a20, 0x38f19: 0x6d669c20, 0x38f1a: 0x6d669e20, 0x38f1b: 0x6d66a020,\n\t0x38f1c: 0x6d66a220, 0x38f1d: 0x6d66a420, 0x38f1e: 0x6d66a620, 0x38f1f: 0x6d66a820,\n\t0x38f20: 0x6d66aa20, 0x38f21: 0x6d66ac20, 0x38f22: 0x6d66ae20, 0x38f23: 0x6d66b020,\n\t0x38f24: 0x6d66b220, 0x38f25: 0x6d66b420, 0x38f26: 0x6d66b620, 0x38f27: 0x6d66b820,\n\t0x38f28: 0x6d66ba20, 0x38f29: 0x6d66bc20, 0x38f2a: 0x6d66be20, 0x38f2b: 0x6d66c020,\n\t0x38f2c: 0x6d66c220, 0x38f2d: 0x6d66c420, 0x38f2e: 0x6d66c620, 0x38f2f: 0x6d66c820,\n\t0x38f30: 0x6d66ca20, 0x38f31: 0x6d66cc20, 0x38f32: 0x6d66ce20, 0x38f33: 0x6d66d020,\n\t0x38f34: 0x6d66d220, 0x38f35: 0x6d66d420, 0x38f36: 0x6d66d620, 0x38f37: 0x6d66d820,\n\t0x38f38: 0x6d66da20, 0x38f39: 0x6d66dc20, 0x38f3a: 0x6d66de20, 0x38f3b: 0x6d66e020,\n\t0x38f3c: 0x6d66e220, 0x38f3d: 0x6d66e420, 0x38f3e: 0x6d66e620, 0x38f3f: 0x6d66e820,\n\t// Block 0xe3d, offset 0x38f40\n\t0x38f40: 0x6d66ea20, 0x38f41: 0x6d66ec20, 0x38f42: 0x6d66ee20, 0x38f43: 0x6d66f020,\n\t0x38f44: 0x6d66f220, 0x38f45: 0x6d66f420, 0x38f46: 0x6d66f620, 0x38f47: 0x6d66f820,\n\t0x38f48: 0x6d66fa20, 0x38f49: 0x6d66fc20, 0x38f4a: 0x6d66fe20, 0x38f4b: 0x6d670020,\n\t0x38f4c: 0x6d670220, 0x38f4d: 0x6d670420, 0x38f4e: 0x6d670620, 0x38f4f: 0x6d670820,\n\t0x38f50: 0x6d670a20, 0x38f51: 0x6d670c20, 0x38f52: 0x6d670e20, 0x38f53: 0x6d671020,\n\t0x38f54: 0x6d671220, 0x38f55: 0x6d671420, 0x38f56: 0x6d671620, 0x38f57: 0x6d671820,\n\t0x38f58: 0x6d671a20, 0x38f59: 0x6d671c20, 0x38f5a: 0x6d671e20, 0x38f5b: 0x6d672020,\n\t0x38f5c: 0x6d672220, 0x38f5d: 0x6d672420, 0x38f5e: 0x6d672620, 0x38f5f: 0x6d672820,\n\t0x38f60: 0x6d672a20, 0x38f61: 0x6d905c20, 0x38f62: 0x6d905e20, 0x38f63: 0x6d906020,\n\t0x38f64: 0x6d906220, 0x38f65: 0x6d906420, 0x38f66: 0x6d906620, 0x38f67: 0x6d906820,\n\t0x38f68: 0x6d906a20, 0x38f69: 0x6d906c20, 0x38f6a: 0x6d906e20, 0x38f6b: 0x6d907020,\n\t0x38f6c: 0x6d907220, 0x38f6d: 0x6d907420, 0x38f6e: 0x6d907620, 0x38f6f: 0x6d907820,\n\t0x38f70: 0x6d907a20, 0x38f71: 0x6d907c20, 0x38f72: 0x6d907e20, 0x38f73: 0x6d908020,\n\t0x38f74: 0x6d908220, 0x38f75: 0x6d908420, 0x38f76: 0x6d908620, 0x38f77: 0x6d908820,\n\t0x38f78: 0x6d908a20, 0x38f79: 0x6d908c20, 0x38f7a: 0x6d908e20, 0x38f7b: 0x6d909020,\n\t0x38f7c: 0x6d909220, 0x38f7d: 0x6d909420, 0x38f7e: 0x6d909620, 0x38f7f: 0x6d909820,\n\t// Block 0xe3e, offset 0x38f80\n\t0x38f80: 0x6d909a20, 0x38f81: 0x6d909c20, 0x38f82: 0x6d909e20, 0x38f83: 0x6d90a020,\n\t0x38f84: 0x6d90a220, 0x38f85: 0x6d90a420, 0x38f86: 0x6d90a620, 0x38f87: 0x6d672c20,\n\t0x38f88: 0x6d90a820, 0x38f89: 0x6d90aa20, 0x38f8a: 0x6d90ac20, 0x38f8b: 0x6d90ae20,\n\t0x38f8c: 0x6d90b020, 0x38f8d: 0x6d90b220, 0x38f8e: 0x6d90b420, 0x38f8f: 0x6d90b620,\n\t0x38f90: 0x6d90b820, 0x38f91: 0x6d90ba20, 0x38f92: 0x6d90bc20, 0x38f93: 0x6d90be20,\n\t0x38f94: 0x6d90c020, 0x38f95: 0x6d90c220, 0x38f96: 0x6d90c420, 0x38f97: 0x6d90c620,\n\t0x38f98: 0x6d90c820, 0x38f99: 0x6d90ca20, 0x38f9a: 0x6d90cc20, 0x38f9b: 0x6d90ce20,\n\t0x38f9c: 0x6d90d020, 0x38f9d: 0x6d90d220, 0x38f9e: 0x6d90d420, 0x38f9f: 0x6d90d620,\n\t0x38fa0: 0x6d90d820, 0x38fa1: 0x6d90da20, 0x38fa2: 0x6d90dc20, 0x38fa3: 0x6d90de20,\n\t0x38fa4: 0x6d90e020, 0x38fa5: 0x6d90e220, 0x38fa6: 0x6d90e420, 0x38fa7: 0x6d90e620,\n\t0x38fa8: 0x6d90e820, 0x38fa9: 0x6d90ea20, 0x38faa: 0x6d90ec20, 0x38fab: 0x6d90ee20,\n\t0x38fac: 0x6d90f020, 0x38fad: 0x6d90f220, 0x38fae: 0x6d90f420, 0x38faf: 0x6d90f620,\n\t0x38fb0: 0x6d90f820, 0x38fb1: 0x6d90fa20, 0x38fb2: 0x6d90fc20, 0x38fb3: 0x6d90fe20,\n\t0x38fb4: 0x6d910020, 0x38fb5: 0x6d910220, 0x38fb6: 0x6d910420, 0x38fb7: 0x6d910620,\n\t0x38fb8: 0x6db42820, 0x38fb9: 0x6db42a20, 0x38fba: 0x6db42c20, 0x38fbb: 0x6db42e20,\n\t0x38fbc: 0x6db43020, 0x38fbd: 0x6db43220, 0x38fbe: 0x6db43420, 0x38fbf: 0x6db43620,\n\t// Block 0xe3f, offset 0x38fc0\n\t0x38fc0: 0x6db43820, 0x38fc1: 0x6db43a20, 0x38fc2: 0x6db43c20, 0x38fc3: 0x6db43e20,\n\t0x38fc4: 0x6db44020, 0x38fc5: 0x6db44220, 0x38fc6: 0x6db44420, 0x38fc7: 0x6db44620,\n\t0x38fc8: 0x6db44820, 0x38fc9: 0x6db44a20, 0x38fca: 0x6db44c20, 0x38fcb: 0x6db44e20,\n\t0x38fcc: 0x6db45020, 0x38fcd: 0x6db45220, 0x38fce: 0x6db45420, 0x38fcf: 0x6db45620,\n\t0x38fd0: 0x6db45820, 0x38fd1: 0x6db45a20, 0x38fd2: 0x6db45c20, 0x38fd3: 0x6db45e20,\n\t0x38fd4: 0x6db46020, 0x38fd5: 0x6db46220, 0x38fd6: 0x6db46420, 0x38fd7: 0x6db46620,\n\t0x38fd8: 0x6db46820, 0x38fd9: 0x6db46a20, 0x38fda: 0x6db46c20, 0x38fdb: 0x6db46e20,\n\t0x38fdc: 0x6db47020, 0x38fdd: 0x6db47220, 0x38fde: 0x6db47420, 0x38fdf: 0x6db47620,\n\t0x38fe0: 0x6db47820, 0x38fe1: 0x6db47a20, 0x38fe2: 0x6db47c20, 0x38fe3: 0x6db47e20,\n\t0x38fe4: 0x6db48020, 0x38fe5: 0x6db48220, 0x38fe6: 0x6db48420, 0x38fe7: 0x6db48620,\n\t0x38fe8: 0x6db48820, 0x38fe9: 0x6db48a20, 0x38fea: 0x6db48c20, 0x38feb: 0x6db48e20,\n\t0x38fec: 0x6db49020, 0x38fed: 0x6db49220, 0x38fee: 0x6db49420, 0x38fef: 0x6db49620,\n\t0x38ff0: 0x6dcfa420, 0x38ff1: 0x6db49820, 0x38ff2: 0x6db49a20, 0x38ff3: 0x6db49c20,\n\t0x38ff4: 0x6db49e20, 0x38ff5: 0x6db4a020, 0x38ff6: 0x6db4a220, 0x38ff7: 0x6db4a420,\n\t0x38ff8: 0x6db4a620, 0x38ff9: 0x6db4a820, 0x38ffa: 0x6db4aa20, 0x38ffb: 0x6db4ac20,\n\t0x38ffc: 0x6db4ae20, 0x38ffd: 0x6db4b020, 0x38ffe: 0x6db4b220, 0x38fff: 0x6db4b420,\n\t// Block 0xe40, offset 0x39000\n\t0x39000: 0x6db4b620, 0x39001: 0x6db4b820, 0x39002: 0x6db4ba20, 0x39003: 0x6db4bc20,\n\t0x39004: 0x6dd2fa20, 0x39005: 0x6dd2fc20, 0x39006: 0x6dd2fe20, 0x39007: 0x6dd30020,\n\t0x39008: 0x6dd30220, 0x39009: 0x6dd30420, 0x3900a: 0x6dd30620, 0x3900b: 0x6dd30820,\n\t0x3900c: 0x6dd30a20, 0x3900d: 0x6dd30c20, 0x3900e: 0x6dd30e20, 0x3900f: 0x6dd31020,\n\t0x39010: 0x6dd31220, 0x39011: 0x6dd31420, 0x39012: 0x6dd31620, 0x39013: 0x6dd31820,\n\t0x39014: 0x6dd31a20, 0x39015: 0x6dd31c20, 0x39016: 0x6dd31e20, 0x39017: 0x6dd32020,\n\t0x39018: 0x6dd32220, 0x39019: 0x6dd32420, 0x3901a: 0x6dd32620, 0x3901b: 0x6dd32820,\n\t0x3901c: 0x6dd32a20, 0x3901d: 0x6dd32c20, 0x3901e: 0x6dd32e20, 0x3901f: 0x6dd33020,\n\t0x39020: 0x6dd33220, 0x39021: 0x6dd33420, 0x39022: 0x6dd33620, 0x39023: 0x6dd33820,\n\t0x39024: 0x6dd33a20, 0x39025: 0x6dd33c20, 0x39026: 0x6dd33e20, 0x39027: 0x6dd34020,\n\t0x39028: 0x6dd34220, 0x39029: 0x6dd34420, 0x3902a: 0x6dd34620, 0x3902b: 0x6dd34820,\n\t0x3902c: 0x6dd34a20, 0x3902d: 0x6dd34c20, 0x3902e: 0x6dd34e20, 0x3902f: 0x6dd35020,\n\t0x39030: 0x6dd35220, 0x39031: 0x6dd35420, 0x39032: 0x6dd35620, 0x39033: 0x6dd35820,\n\t0x39034: 0x6dd35a20, 0x39035: 0x6dd35c20, 0x39036: 0x6dd35e20, 0x39037: 0x6dd36020,\n\t0x39038: 0x6dd36220, 0x39039: 0x6dd36420, 0x3903a: 0x6dd36620, 0x3903b: 0x6dd36820,\n\t0x3903c: 0x6dd36a20, 0x3903d: 0x6dd36c20, 0x3903e: 0x6dd36e20, 0x3903f: 0x6dd37020,\n\t// Block 0xe41, offset 0x39040\n\t0x39040: 0x6dd37220, 0x39041: 0x6dd37420, 0x39042: 0x6dd37620, 0x39043: 0x6dd37820,\n\t0x39044: 0x6dd37a20, 0x39045: 0x6dd37c20, 0x39046: 0x6dd37e20, 0x39047: 0x6dd38020,\n\t0x39048: 0x6dd38220, 0x39049: 0x6dd38420, 0x3904a: 0x6dd38620, 0x3904b: 0x6dd38820,\n\t0x3904c: 0x6dd38a20, 0x3904d: 0x6dd38c20, 0x3904e: 0x6dec2620, 0x3904f: 0x6dec2820,\n\t0x39050: 0x6dec2a20, 0x39051: 0x6dec2c20, 0x39052: 0x6dec2e20, 0x39053: 0x6dec3020,\n\t0x39054: 0x6dec3220, 0x39055: 0x6dec3420, 0x39056: 0x6dec3620, 0x39057: 0x6dec3820,\n\t0x39058: 0x6dec3a20, 0x39059: 0x6dec3c20, 0x3905a: 0x6dec3e20, 0x3905b: 0x6dec4020,\n\t0x3905c: 0x6dec4220, 0x3905d: 0x6dec4420, 0x3905e: 0x6dec4620, 0x3905f: 0x6dec4820,\n\t0x39060: 0x6dec4a20, 0x39061: 0x6dec4c20, 0x39062: 0x6dec4e20, 0x39063: 0x6dec5020,\n\t0x39064: 0x6dec5220, 0x39065: 0x6dec5420, 0x39066: 0x6dec5620, 0x39067: 0x6dec5820,\n\t0x39068: 0x6dec5a20, 0x39069: 0x6dec5c20, 0x3906a: 0x6dec5e20, 0x3906b: 0x6dec6020,\n\t0x3906c: 0x6dec6220, 0x3906d: 0x6dec6420, 0x3906e: 0x6dec6620, 0x3906f: 0x6dec6820,\n\t0x39070: 0x6dec6a20, 0x39071: 0x6dec6c20, 0x39072: 0x6dec6e20, 0x39073: 0x6dec7020,\n\t0x39074: 0x6dec7220, 0x39075: 0x6dec7420, 0x39076: 0x6dec7620, 0x39077: 0x6dec7820,\n\t0x39078: 0x6dec7a20, 0x39079: 0x6dec7c20, 0x3907a: 0x6dec7e20, 0x3907b: 0x6dec8020,\n\t0x3907c: 0x6dec8220, 0x3907d: 0x6dec8420, 0x3907e: 0x6dec8620, 0x3907f: 0x6dec8820,\n\t// Block 0xe42, offset 0x39080\n\t0x39080: 0x6dec8a20, 0x39081: 0x6dec8c20, 0x39082: 0x6dec8e20, 0x39083: 0x6dec9020,\n\t0x39084: 0x6dec9220, 0x39085: 0x6dec9420, 0x39086: 0x6dec9620, 0x39087: 0x6dec9820,\n\t0x39088: 0x6dec9a20, 0x39089: 0x6e018420, 0x3908a: 0x6e018620, 0x3908b: 0x6e018820,\n\t0x3908c: 0x6e018a20, 0x3908d: 0x6e018c20, 0x3908e: 0x6e018e20, 0x3908f: 0x6e019020,\n\t0x39090: 0x6e019220, 0x39091: 0x6e019420, 0x39092: 0x6e019620, 0x39093: 0x6e019820,\n\t0x39094: 0x6e019a20, 0x39095: 0x6e019c20, 0x39096: 0x6e019e20, 0x39097: 0x6e01a020,\n\t0x39098: 0x6e01a220, 0x39099: 0x6e01a420, 0x3909a: 0x6e01a620, 0x3909b: 0x6e01a820,\n\t0x3909c: 0x6e01aa20, 0x3909d: 0x6e01ac20, 0x3909e: 0x6e01ae20, 0x3909f: 0x6e01b020,\n\t0x390a0: 0x6e01b220, 0x390a1: 0x6e01b420, 0x390a2: 0x6e01b620, 0x390a3: 0x6e01b820,\n\t0x390a4: 0x6e01ba20, 0x390a5: 0x6e01bc20, 0x390a6: 0x6e01be20, 0x390a7: 0x6e01c020,\n\t0x390a8: 0x6e01c220, 0x390a9: 0x6e01c420, 0x390aa: 0x6e01c620, 0x390ab: 0x6e01c820,\n\t0x390ac: 0x6e01ca20, 0x390ad: 0x6e01cc20, 0x390ae: 0x6e01ce20, 0x390af: 0x6e01d020,\n\t0x390b0: 0x6e01d220, 0x390b1: 0x6e136a20, 0x390b2: 0x6e136c20, 0x390b3: 0x6e136e20,\n\t0x390b4: 0x6e137020, 0x390b5: 0x6e137220, 0x390b6: 0x6e137420, 0x390b7: 0x6e137620,\n\t0x390b8: 0x6e137820, 0x390b9: 0x6e137a20, 0x390ba: 0x6e137c20, 0x390bb: 0x6e137e20,\n\t0x390bc: 0x6e138020, 0x390bd: 0x6e138220, 0x390be: 0x6e138420, 0x390bf: 0x6e138620,\n\t// Block 0xe43, offset 0x390c0\n\t0x390c0: 0x6e138820, 0x390c1: 0x6e138a20, 0x390c2: 0x6e138c20, 0x390c3: 0x6e138e20,\n\t0x390c4: 0x6e139020, 0x390c5: 0x6e139220, 0x390c6: 0x6e139420, 0x390c7: 0x6e139620,\n\t0x390c8: 0x6e139820, 0x390c9: 0x6e139a20, 0x390ca: 0x6e139c20, 0x390cb: 0x6e139e20,\n\t0x390cc: 0x6e13a020, 0x390cd: 0x6e13a220, 0x390ce: 0x6e13a420, 0x390cf: 0x6e13a620,\n\t0x390d0: 0x6e13a820, 0x390d1: 0x6e13aa20, 0x390d2: 0x6e13ac20, 0x390d3: 0x6e13ae20,\n\t0x390d4: 0x6e13b020, 0x390d5: 0x6e13b220, 0x390d6: 0x6e13b420, 0x390d7: 0x6e13b620,\n\t0x390d8: 0x6e13b820, 0x390d9: 0x6e13ba20, 0x390da: 0x6e13bc20, 0x390db: 0x6e13be20,\n\t0x390dc: 0x6e13c020, 0x390dd: 0x6e213820, 0x390de: 0x6e213a20, 0x390df: 0x6e213c20,\n\t0x390e0: 0x6e213e20, 0x390e1: 0x6e214020, 0x390e2: 0x6e214220, 0x390e3: 0x6e214420,\n\t0x390e4: 0x6e214620, 0x390e5: 0x6e214820, 0x390e6: 0x6e214a20, 0x390e7: 0x6e214c20,\n\t0x390e8: 0x6e214e20, 0x390e9: 0x6e215020, 0x390ea: 0x6e215220, 0x390eb: 0x6e215420,\n\t0x390ec: 0x6e215620, 0x390ed: 0x6e215820, 0x390ee: 0x6e215a20, 0x390ef: 0x6e215c20,\n\t0x390f0: 0x6e215e20, 0x390f1: 0x6e216020, 0x390f2: 0x6e216220, 0x390f3: 0x6e216420,\n\t0x390f4: 0x6e216620, 0x390f5: 0x6e216820, 0x390f6: 0x6e216a20, 0x390f7: 0x6e216c20,\n\t0x390f8: 0x6e216e20, 0x390f9: 0x6e217020, 0x390fa: 0x6e217220, 0x390fb: 0x6e217420,\n\t0x390fc: 0x6e217620, 0x390fd: 0x6e217820, 0x390fe: 0x6e217a20, 0x390ff: 0x6e217c20,\n\t// Block 0xe44, offset 0x39100\n\t0x39100: 0x6e217e20, 0x39101: 0x6e218020, 0x39102: 0x6e218220, 0x39103: 0x6e2bf020,\n\t0x39104: 0x6e2bf220, 0x39105: 0x6e2bf420, 0x39106: 0x6e2bf620, 0x39107: 0x6e2bf820,\n\t0x39108: 0x6e2bfa20, 0x39109: 0x6e2bfc20, 0x3910a: 0x6e2bfe20, 0x3910b: 0x6e2c0020,\n\t0x3910c: 0x6e2c0220, 0x3910d: 0x6e2c0420, 0x3910e: 0x6e2c0620, 0x3910f: 0x6e2c0820,\n\t0x39110: 0x6e2c0a20, 0x39111: 0x6e2c0c20, 0x39112: 0x6e2c0e20, 0x39113: 0x6e343220,\n\t0x39114: 0x6e2c1020, 0x39115: 0x6e2c1220, 0x39116: 0x6e2c1420, 0x39117: 0x6e2c1620,\n\t0x39118: 0x6e2c1820, 0x39119: 0x6e2c1a20, 0x3911a: 0x6e2c1c20, 0x3911b: 0x6e343420,\n\t0x3911c: 0x6e343620, 0x3911d: 0x6e343820, 0x3911e: 0x6e343a20, 0x3911f: 0x6e343c20,\n\t0x39120: 0x6e343e20, 0x39121: 0x6e344020, 0x39122: 0x6e344220, 0x39123: 0x6e344420,\n\t0x39124: 0x6e344620, 0x39125: 0x6e344820, 0x39126: 0x6e344a20, 0x39127: 0x6e344c20,\n\t0x39128: 0x6e344e20, 0x39129: 0x6e345020, 0x3912a: 0x6e345220, 0x3912b: 0x6e345420,\n\t0x3912c: 0x6e345620, 0x3912d: 0x6e345820, 0x3912e: 0x6e345a20, 0x3912f: 0x6e39ee20,\n\t0x39130: 0x6e39f020, 0x39131: 0x6e39f220, 0x39132: 0x6e39f420, 0x39133: 0x6e39f620,\n\t0x39134: 0x6e39f820, 0x39135: 0x6e39fa20, 0x39136: 0x6e39fc20, 0x39137: 0x6e39fe20,\n\t0x39138: 0x6e3a0020, 0x39139: 0x6e3a0220, 0x3913a: 0x6e3a0420, 0x3913b: 0x6e3a0620,\n\t0x3913c: 0x6e3a0820, 0x3913d: 0x6e3e1820, 0x3913e: 0x6e3e1a20, 0x3913f: 0x6e3e1c20,\n\t// Block 0xe45, offset 0x39140\n\t0x39140: 0x6e3e1e20, 0x39141: 0x6e3e2020, 0x39142: 0x6e3e2220, 0x39143: 0x6e3e2420,\n\t0x39144: 0x6e40e220, 0x39145: 0x6e40e420, 0x39146: 0x6e40e620, 0x39147: 0x6e40e820,\n\t0x39148: 0x6e40ea20, 0x39149: 0x6e40ec20, 0x3914a: 0x6e3e2620, 0x3914b: 0x6e40ee20,\n\t0x3914c: 0x6e40f020, 0x3914d: 0x6e40f220, 0x3914e: 0x6e40f420, 0x3914f: 0x6e40f620,\n\t0x39150: 0x6e40f820, 0x39151: 0x6e42fe20, 0x39152: 0x6e430020, 0x39153: 0x6e430220,\n\t0x39154: 0x6e430420, 0x39155: 0x6e430620, 0x39156: 0x6e430820, 0x39157: 0x6e430a20,\n\t0x39158: 0x6e446e20, 0x39159: 0x6e447020, 0x3915a: 0x6e447220, 0x3915b: 0x6e447420,\n\t0x3915c: 0x6e455220, 0x3915d: 0x6e455420, 0x3915e: 0x6e455620, 0x3915f: 0x6e455820,\n\t0x39160: 0x6e459020, 0x39161: 0x6e455a20, 0x39162: 0x6e45d220, 0x39163: 0x6e45d420,\n\t0x39164: 0x6e463a20, 0x39165: 0x6e463c20, 0x39166: 0x6e463e20, 0x39167: 0x6c403620,\n\t0x39168: 0x6c403820, 0x39169: 0x6c403a20, 0x3916a: 0x6c5ffc20, 0x3916b: 0x6c858820,\n\t0x3916c: 0x6c858a20, 0x3916d: 0x6c858c20, 0x3916e: 0x6c858e20, 0x3916f: 0x6c859020,\n\t0x39170: 0x6caf1e20, 0x39171: 0x6caf2020, 0x39172: 0x6caf2220, 0x39173: 0x6cde4c20,\n\t0x39174: 0x6cde4e20, 0x39175: 0x6d0cbe20, 0x39176: 0x6d0cc020, 0x39177: 0x6d0cc220,\n\t0x39178: 0x6d0cc420, 0x39179: 0x6d0cc620, 0x3917a: 0x6d3b1220, 0x3917b: 0x6d3b1420,\n\t0x3917c: 0x6d3b1620, 0x3917d: 0x6d3b1820, 0x3917e: 0x6d3b1a20, 0x3917f: 0x6d3b1c20,\n\t// Block 0xe46, offset 0x39180\n\t0x39180: 0x6d673c20, 0x39181: 0x6d673e20, 0x39182: 0x6d674020, 0x39183: 0x6d674220,\n\t0x39184: 0x6d3b1e20, 0x39185: 0x6d674420, 0x39186: 0x6d911620, 0x39187: 0x6d911820,\n\t0x39188: 0x6d911a20, 0x39189: 0x6d911c20, 0x3918a: 0x6d911e20, 0x3918b: 0x6db4c820,\n\t0x3918c: 0x6db4ca20, 0x3918d: 0x6db4cc20, 0x3918e: 0x6dd39820, 0x3918f: 0x6dd39a20,\n\t0x39190: 0x6dd39c20, 0x39191: 0x6dd39e20, 0x39192: 0x6dd3a020, 0x39193: 0x6dd3a220,\n\t0x39194: 0x6deca620, 0x39195: 0x6deca820, 0x39196: 0x6e01dc20, 0x39197: 0x6e01de20,\n\t0x39198: 0x6e13cc20, 0x39199: 0x6e218620, 0x3919a: 0x6e218820, 0x3919b: 0x6e2c1e20,\n\t0x3919c: 0x6e455c20, 0x3919d: 0x6c403c20, 0x3919e: 0x6c403e20, 0x3919f: 0x6c404020,\n\t0x391a0: 0x6c404220, 0x391a1: 0x6c600220, 0x391a2: 0x6c600420, 0x391a3: 0x6c600620,\n\t0x391a4: 0x6c600820, 0x391a5: 0x6c600a20, 0x391a6: 0x6c859820, 0x391a7: 0x6c859a20,\n\t0x391a8: 0x6c859c20, 0x391a9: 0x6c859e20, 0x391aa: 0x6caf3020, 0x391ab: 0x6cde5a20,\n\t0x391ac: 0x6cde5c20, 0x391ad: 0x6cde5e20, 0x391ae: 0x6cde6020, 0x391af: 0x6cde6220,\n\t0x391b0: 0x6cde6420, 0x391b1: 0x6cde6620, 0x391b2: 0x6d0ccc20, 0x391b3: 0x6d0cce20,\n\t0x391b4: 0x6d0cd020, 0x391b5: 0x6d0cd220, 0x391b6: 0x6d0cd420, 0x391b7: 0x6d0cd620,\n\t0x391b8: 0x6d3b2020, 0x391b9: 0x6d674e20, 0x391ba: 0x6d3b2220, 0x391bb: 0x6d3b2420,\n\t0x391bc: 0x6d675020, 0x391bd: 0x6d675220, 0x391be: 0x6d912e20, 0x391bf: 0x6db4d220,\n\t// Block 0xe47, offset 0x391c0\n\t0x391c0: 0x6db4d420, 0x391c1: 0x6db4d620, 0x391c2: 0x6dd3a420, 0x391c3: 0x6dd3a620,\n\t0x391c4: 0x6decaa20, 0x391c5: 0x6e13ce20, 0x391c6: 0x6e218a20, 0x391c7: 0x6c0a6220,\n\t0x391c8: 0x6c269020, 0x391c9: 0x6c269220, 0x391ca: 0x6c269420, 0x391cb: 0x6c269620,\n\t0x391cc: 0x6c269820, 0x391cd: 0x6c404c20, 0x391ce: 0x6c404e20, 0x391cf: 0x6c405020,\n\t0x391d0: 0x6c405220, 0x391d1: 0x6c405420, 0x391d2: 0x6c405620, 0x391d3: 0x6c405820,\n\t0x391d4: 0x6c405a20, 0x391d5: 0x6c405c20, 0x391d6: 0x6c405e20, 0x391d7: 0x6c406020,\n\t0x391d8: 0x6c406220, 0x391d9: 0x6c406420, 0x391da: 0x6c406620, 0x391db: 0x6c406820,\n\t0x391dc: 0x6c406a20, 0x391dd: 0x6c601e20, 0x391de: 0x6c602020, 0x391df: 0x6c602220,\n\t0x391e0: 0x6c602420, 0x391e1: 0x6c602620, 0x391e2: 0x6c602820, 0x391e3: 0x6c602a20,\n\t0x391e4: 0x6c602c20, 0x391e5: 0x6c602e20, 0x391e6: 0x6c603020, 0x391e7: 0x6c603220,\n\t0x391e8: 0x6c603420, 0x391e9: 0x6c603620, 0x391ea: 0x6c603820, 0x391eb: 0x6c603a20,\n\t0x391ec: 0x6c603c20, 0x391ed: 0x6c603e20, 0x391ee: 0x6c604020, 0x391ef: 0x6c604220,\n\t0x391f0: 0x6c604420, 0x391f1: 0x6c604620, 0x391f2: 0x6c604820, 0x391f3: 0x6c604a20,\n\t0x391f4: 0x6c604c20, 0x391f5: 0x6c604e20, 0x391f6: 0x6c605020, 0x391f7: 0x6c605220,\n\t0x391f8: 0x6c605420, 0x391f9: 0x6c605620, 0x391fa: 0x6c605820, 0x391fb: 0x6c605a20,\n\t0x391fc: 0x6c605c20, 0x391fd: 0x6c85dc20, 0x391fe: 0x6caf9220, 0x391ff: 0x6c85de20,\n\t// Block 0xe48, offset 0x39200\n\t0x39200: 0x6c85e020, 0x39201: 0x6c85e220, 0x39202: 0x6c85e420, 0x39203: 0x6c85e620,\n\t0x39204: 0x6c85e820, 0x39205: 0x6c85ea20, 0x39206: 0x6c85ec20, 0x39207: 0x6c85ee20,\n\t0x39208: 0x6c85f020, 0x39209: 0x6c85f220, 0x3920a: 0x6c85f420, 0x3920b: 0x6c85f620,\n\t0x3920c: 0x6c85f820, 0x3920d: 0x6c85fa20, 0x3920e: 0x6c85fc20, 0x3920f: 0x6c85fe20,\n\t0x39210: 0x6c860020, 0x39211: 0x6c860220, 0x39212: 0x6c860420, 0x39213: 0x6c860620,\n\t0x39214: 0x6c860820, 0x39215: 0x6c860a20, 0x39216: 0x6c860c20, 0x39217: 0x6c860e20,\n\t0x39218: 0x6c861020, 0x39219: 0x6c861220, 0x3921a: 0x6c861420, 0x3921b: 0x6c861620,\n\t0x3921c: 0x6c861820, 0x3921d: 0x6c861a20, 0x3921e: 0x6caf9420, 0x3921f: 0x6caf9620,\n\t0x39220: 0x6caf9820, 0x39221: 0x6caf9a20, 0x39222: 0x6caf9c20, 0x39223: 0x6caf9e20,\n\t0x39224: 0x6cafa020, 0x39225: 0x6cafa220, 0x39226: 0x6cafa420, 0x39227: 0x6cafa620,\n\t0x39228: 0x6cafa820, 0x39229: 0x6cafaa20, 0x3922a: 0x6cafac20, 0x3922b: 0x6cafae20,\n\t0x3922c: 0x6cafb020, 0x3922d: 0x6cafb220, 0x3922e: 0x6cafb420, 0x3922f: 0x6cafb620,\n\t0x39230: 0x6cafb820, 0x39231: 0x6cafba20, 0x39232: 0x6cafbc20, 0x39233: 0x6cafbe20,\n\t0x39234: 0x6cafc020, 0x39235: 0x6cafc220, 0x39236: 0x6cafc420, 0x39237: 0x6cafc620,\n\t0x39238: 0x6cafc820, 0x39239: 0x6cafca20, 0x3923a: 0x6cafcc20, 0x3923b: 0x6cafce20,\n\t0x3923c: 0x6cafd020, 0x3923d: 0x6cafd220, 0x3923e: 0x6cafd420, 0x3923f: 0x6cafd620,\n\t// Block 0xe49, offset 0x39240\n\t0x39240: 0x6cdeac20, 0x39241: 0x6cdeae20, 0x39242: 0x6cdeb020, 0x39243: 0x6cdeb220,\n\t0x39244: 0x6cdeb420, 0x39245: 0x6cdeb620, 0x39246: 0x6cdeb820, 0x39247: 0x6cdeba20,\n\t0x39248: 0x6cdebc20, 0x39249: 0x6cdebe20, 0x3924a: 0x6cdec020, 0x3924b: 0x6cdec220,\n\t0x3924c: 0x6cdec420, 0x3924d: 0x6cdec620, 0x3924e: 0x6cdec820, 0x3924f: 0x6cdeca20,\n\t0x39250: 0x6cdecc20, 0x39251: 0x6cdece20, 0x39252: 0x6cded020, 0x39253: 0x6cded220,\n\t0x39254: 0x6cded420, 0x39255: 0x6cded620, 0x39256: 0x6cded820, 0x39257: 0x6cdeda20,\n\t0x39258: 0x6cdedc20, 0x39259: 0x6cdede20, 0x3925a: 0x6cdee020, 0x3925b: 0x6cdee220,\n\t0x3925c: 0x6cdee420, 0x3925d: 0x6cdee620, 0x3925e: 0x6cdee820, 0x3925f: 0x6cdeea20,\n\t0x39260: 0x6cdeec20, 0x39261: 0x6cdeee20, 0x39262: 0x6cdef020, 0x39263: 0x6cdef220,\n\t0x39264: 0x6d0d1420, 0x39265: 0x6d0d1620, 0x39266: 0x6d0d1820, 0x39267: 0x6d0d1a20,\n\t0x39268: 0x6d0d1c20, 0x39269: 0x6d0d1e20, 0x3926a: 0x6d0d2020, 0x3926b: 0x6d0d2220,\n\t0x3926c: 0x6d0d2420, 0x3926d: 0x6d0d2620, 0x3926e: 0x6d0d2820, 0x3926f: 0x6d0d2a20,\n\t0x39270: 0x6d0d2c20, 0x39271: 0x6d0d2e20, 0x39272: 0x6d0d3020, 0x39273: 0x6d0d3220,\n\t0x39274: 0x6d0d3420, 0x39275: 0x6d0d3620, 0x39276: 0x6d0d3820, 0x39277: 0x6d0d3a20,\n\t0x39278: 0x6d0d3c20, 0x39279: 0x6d0d3e20, 0x3927a: 0x6d0d4020, 0x3927b: 0x6d3b8420,\n\t0x3927c: 0x6d0d4220, 0x3927d: 0x6d0d4420, 0x3927e: 0x6d0d4620, 0x3927f: 0x6d0d4820,\n\t// Block 0xe4a, offset 0x39280\n\t0x39280: 0x6d0d4a20, 0x39281: 0x6d0d4c20, 0x39282: 0x6d0d4e20, 0x39283: 0x6d0d5020,\n\t0x39284: 0x6d0d5220, 0x39285: 0x6d0d5420, 0x39286: 0x6d0d5620, 0x39287: 0x6d0d5820,\n\t0x39288: 0x6d0d5a20, 0x39289: 0x6d0d5c20, 0x3928a: 0x6d0d5e20, 0x3928b: 0x6d0d6020,\n\t0x3928c: 0x6d0d6220, 0x3928d: 0x6d0d6420, 0x3928e: 0x6d0d6620, 0x3928f: 0x6d3b8620,\n\t0x39290: 0x6d3b8820, 0x39291: 0x6d3b8a20, 0x39292: 0x6d3b8c20, 0x39293: 0x6d3b8e20,\n\t0x39294: 0x6d3b9020, 0x39295: 0x6d3b9220, 0x39296: 0x6d3b9420, 0x39297: 0x6d3b9620,\n\t0x39298: 0x6d3b9820, 0x39299: 0x6d3b9a20, 0x3929a: 0x6d3b9c20, 0x3929b: 0x6d3b9e20,\n\t0x3929c: 0x6d3ba020, 0x3929d: 0x6d3ba220, 0x3929e: 0x6d3ba420, 0x3929f: 0x6d3ba620,\n\t0x392a0: 0x6d3ba820, 0x392a1: 0x6d3baa20, 0x392a2: 0x6d3bac20, 0x392a3: 0x6d3bae20,\n\t0x392a4: 0x6d3bb020, 0x392a5: 0x6d3bb220, 0x392a6: 0x6d3bb420, 0x392a7: 0x6d3bb620,\n\t0x392a8: 0x6d3bb820, 0x392a9: 0x6d3bba20, 0x392aa: 0x6d3bbc20, 0x392ab: 0x6d3bbe20,\n\t0x392ac: 0x6d3bc020, 0x392ad: 0x6d3bc220, 0x392ae: 0x6d3bc420, 0x392af: 0x6d3bc620,\n\t0x392b0: 0x6d3bc820, 0x392b1: 0x6d3bca20, 0x392b2: 0x6d3bcc20, 0x392b3: 0x6d3bce20,\n\t0x392b4: 0x6d3bd020, 0x392b5: 0x6d3bd220, 0x392b6: 0x6d3bd420, 0x392b7: 0x6d3bd620,\n\t0x392b8: 0x6d67a020, 0x392b9: 0x6d67a220, 0x392ba: 0x6d67a420, 0x392bb: 0x6d67a620,\n\t0x392bc: 0x6d67a820, 0x392bd: 0x6d67aa20, 0x392be: 0x6d67ac20, 0x392bf: 0x6d67ae20,\n\t// Block 0xe4b, offset 0x392c0\n\t0x392c0: 0x6d67b020, 0x392c1: 0x6d67b220, 0x392c2: 0x6d67b420, 0x392c3: 0x6d67b620,\n\t0x392c4: 0x6d67b820, 0x392c5: 0x6d67ba20, 0x392c6: 0x6d67bc20, 0x392c7: 0x6d67be20,\n\t0x392c8: 0x6d67c020, 0x392c9: 0x6d67c220, 0x392ca: 0x6d67c420, 0x392cb: 0x6d67c620,\n\t0x392cc: 0x6d67c820, 0x392cd: 0x6d67ca20, 0x392ce: 0x6d67cc20, 0x392cf: 0x6d67ce20,\n\t0x392d0: 0x6d67d020, 0x392d1: 0x6d67d220, 0x392d2: 0x6d67d420, 0x392d3: 0x6d67d620,\n\t0x392d4: 0x6d67d820, 0x392d5: 0x6d67da20, 0x392d6: 0x6d67dc20, 0x392d7: 0x6d67de20,\n\t0x392d8: 0x6d67e020, 0x392d9: 0x6d67e220, 0x392da: 0x6d67e420, 0x392db: 0x6d67e620,\n\t0x392dc: 0x6d67e820, 0x392dd: 0x6d916820, 0x392de: 0x6d916a20, 0x392df: 0x6d916c20,\n\t0x392e0: 0x6d916e20, 0x392e1: 0x6d917020, 0x392e2: 0x6d917220, 0x392e3: 0x6d917420,\n\t0x392e4: 0x6d917620, 0x392e5: 0x6d917820, 0x392e6: 0x6d917a20, 0x392e7: 0x6d917c20,\n\t0x392e8: 0x6d67ea20, 0x392e9: 0x6d917e20, 0x392ea: 0x6d918020, 0x392eb: 0x6d918220,\n\t0x392ec: 0x6d918420, 0x392ed: 0x6db51820, 0x392ee: 0x6d918620, 0x392ef: 0x6d918820,\n\t0x392f0: 0x6d918a20, 0x392f1: 0x6d918c20, 0x392f2: 0x6d918e20, 0x392f3: 0x6d919020,\n\t0x392f4: 0x6d919220, 0x392f5: 0x6d919420, 0x392f6: 0x6d919620, 0x392f7: 0x6d919820,\n\t0x392f8: 0x6d919a20, 0x392f9: 0x6d919c20, 0x392fa: 0x6d919e20, 0x392fb: 0x6d91a020,\n\t0x392fc: 0x6d91a220, 0x392fd: 0x6d91a420, 0x392fe: 0x6d91a620, 0x392ff: 0x6d91a820,\n\t// Block 0xe4c, offset 0x39300\n\t0x39300: 0x6d91aa20, 0x39301: 0x6d91ac20, 0x39302: 0x6db51a20, 0x39303: 0x6db51c20,\n\t0x39304: 0x6db51e20, 0x39305: 0x6db52020, 0x39306: 0x6db52220, 0x39307: 0x6db52420,\n\t0x39308: 0x6db52620, 0x39309: 0x6db52820, 0x3930a: 0x6db52a20, 0x3930b: 0x6db52c20,\n\t0x3930c: 0x6db52e20, 0x3930d: 0x6db53020, 0x3930e: 0x6db53220, 0x3930f: 0x6db53420,\n\t0x39310: 0x6db53620, 0x39311: 0x6db53820, 0x39312: 0x6db53a20, 0x39313: 0x6db53c20,\n\t0x39314: 0x6db53e20, 0x39315: 0x6db54020, 0x39316: 0x6db54220, 0x39317: 0x6db54420,\n\t0x39318: 0x6db54620, 0x39319: 0x6db54820, 0x3931a: 0x6db54a20, 0x3931b: 0x6db54c20,\n\t0x3931c: 0x6db54e20, 0x3931d: 0x6db55020, 0x3931e: 0x6db55220, 0x3931f: 0x6db55420,\n\t0x39320: 0x6db55620, 0x39321: 0x6db55820, 0x39322: 0x6db55a20, 0x39323: 0x6db55c20,\n\t0x39324: 0x6db55e20, 0x39325: 0x6db56020, 0x39326: 0x6db56220, 0x39327: 0x6db56420,\n\t0x39328: 0x6db56620, 0x39329: 0x6db56820, 0x3932a: 0x6db56a20, 0x3932b: 0x6db56c20,\n\t0x3932c: 0x6db56e20, 0x3932d: 0x6db57020, 0x3932e: 0x6db57220, 0x3932f: 0x6db57420,\n\t0x39330: 0x6db57620, 0x39331: 0x6dd3d220, 0x39332: 0x6dd3d420, 0x39333: 0x6dd3d620,\n\t0x39334: 0x6dd3d820, 0x39335: 0x6dd3da20, 0x39336: 0x6dd3dc20, 0x39337: 0x6dd3de20,\n\t0x39338: 0x6dd3e020, 0x39339: 0x6dd3e220, 0x3933a: 0x6dd3e420, 0x3933b: 0x6dd3e620,\n\t0x3933c: 0x6dd3e820, 0x3933d: 0x6dd3ea20, 0x3933e: 0x6dd3ec20, 0x3933f: 0x6dd3ee20,\n\t// Block 0xe4d, offset 0x39340\n\t0x39340: 0x6dd3f020, 0x39341: 0x6dd3f220, 0x39342: 0x6dd3f420, 0x39343: 0x6dd3f620,\n\t0x39344: 0x6dd3f820, 0x39345: 0x6dd3fa20, 0x39346: 0x6dd3fc20, 0x39347: 0x6dd3fe20,\n\t0x39348: 0x6dd40020, 0x39349: 0x6dd40220, 0x3934a: 0x6dd40420, 0x3934b: 0x6dd40620,\n\t0x3934c: 0x6dd40820, 0x3934d: 0x6decca20, 0x3934e: 0x6deccc20, 0x3934f: 0x6decce20,\n\t0x39350: 0x6decd020, 0x39351: 0x6decd220, 0x39352: 0x6decd420, 0x39353: 0x6decd620,\n\t0x39354: 0x6decd820, 0x39355: 0x6decda20, 0x39356: 0x6decdc20, 0x39357: 0x6e01f820,\n\t0x39358: 0x6decde20, 0x39359: 0x6dece020, 0x3935a: 0x6dece220, 0x3935b: 0x6dece420,\n\t0x3935c: 0x6dece620, 0x3935d: 0x6dece820, 0x3935e: 0x6decea20, 0x3935f: 0x6decec20,\n\t0x39360: 0x6decee20, 0x39361: 0x6decf020, 0x39362: 0x6decf220, 0x39363: 0x6decf420,\n\t0x39364: 0x6decf620, 0x39365: 0x6decf820, 0x39366: 0x6decfa20, 0x39367: 0x6e01fa20,\n\t0x39368: 0x6e01fc20, 0x39369: 0x6e01fe20, 0x3936a: 0x6e020020, 0x3936b: 0x6e020220,\n\t0x3936c: 0x6e020420, 0x3936d: 0x6e020620, 0x3936e: 0x6e020820, 0x3936f: 0x6e020a20,\n\t0x39370: 0x6e020c20, 0x39371: 0x6e020e20, 0x39372: 0x6e13de20, 0x39373: 0x6e021020,\n\t0x39374: 0x6e021220, 0x39375: 0x6e021420, 0x39376: 0x6e13e020, 0x39377: 0x6e13e220,\n\t0x39378: 0x6e13e420, 0x39379: 0x6e13e620, 0x3937a: 0x6e13e820, 0x3937b: 0x6e13ea20,\n\t0x3937c: 0x6e13ec20, 0x3937d: 0x6e13ee20, 0x3937e: 0x6e13f020, 0x3937f: 0x6e13f220,\n\t// Block 0xe4e, offset 0x39380\n\t0x39380: 0x6e13f420, 0x39381: 0x6e13f620, 0x39382: 0x6e13f820, 0x39383: 0x6e219620,\n\t0x39384: 0x6e219820, 0x39385: 0x6e219a20, 0x39386: 0x6e219c20, 0x39387: 0x6e219e20,\n\t0x39388: 0x6e2c2c20, 0x39389: 0x6e2c2e20, 0x3938a: 0x6e2c3020, 0x3938b: 0x6e2c3220,\n\t0x3938c: 0x6e346820, 0x3938d: 0x6e346a20, 0x3938e: 0x6e346c20, 0x3938f: 0x6e346e20,\n\t0x39390: 0x6e3a1620, 0x39391: 0x6e3a1820, 0x39392: 0x6e3a1a20, 0x39393: 0x6e3a1c20,\n\t0x39394: 0x6e3a1e20, 0x39395: 0x6e3e2820, 0x39396: 0x6e3e2a20, 0x39397: 0x6e3e2c20,\n\t0x39398: 0x6e410020, 0x39399: 0x6e447820, 0x3939a: 0x6e447a20, 0x3939b: 0x6e45d620,\n\t0x3939c: 0x6e468e20, 0x3939d: 0x6e469020, 0x3939e: 0x6e470420, 0x3939f: 0x6e470620,\n\t0x393a0: 0x6c269a20, 0x393a1: 0x6c269c20, 0x393a2: 0x6c269e20, 0x393a3: 0x6c406c20,\n\t0x393a4: 0x6c606820, 0x393a5: 0x6c606a20, 0x393a6: 0x6c606c20, 0x393a7: 0x6c862420,\n\t0x393a8: 0x6c862620, 0x393a9: 0x6c862820, 0x393aa: 0x6cafe620, 0x393ab: 0x6cafe820,\n\t0x393ac: 0x6cafea20, 0x393ad: 0x6cdf0220, 0x393ae: 0x6cdf0420, 0x393af: 0x6d0d7820,\n\t0x393b0: 0x6d0d7a20, 0x393b1: 0x6d3bdc20, 0x393b2: 0x6d3bde20, 0x393b3: 0x6d3be020,\n\t0x393b4: 0x6d3be220, 0x393b5: 0x6d3be420, 0x393b6: 0x6d3be620, 0x393b7: 0x6d3be820,\n\t0x393b8: 0x6d3bea20, 0x393b9: 0x6d67f220, 0x393ba: 0x6d67f420, 0x393bb: 0x6d67f620,\n\t0x393bc: 0x6d91ba20, 0x393bd: 0x6d91bc20, 0x393be: 0x6d91be20, 0x393bf: 0x6db57e20,\n\t// Block 0xe4f, offset 0x393c0\n\t0x393c0: 0x6dd41020, 0x393c1: 0x6dd41220, 0x393c2: 0x6ded0220, 0x393c3: 0x6e021820,\n\t0x393c4: 0x6e13fa20, 0x393c5: 0x6e3a2220, 0x393c6: 0x6c406e20, 0x393c7: 0x6c407020,\n\t0x393c8: 0x6c607020, 0x393c9: 0x6c863220, 0x393ca: 0x6c863420, 0x393cb: 0x6c863620,\n\t0x393cc: 0x6c863820, 0x393cd: 0x6c863a20, 0x393ce: 0x6cb00020, 0x393cf: 0x6cb00220,\n\t0x393d0: 0x6cb00420, 0x393d1: 0x6cb00620, 0x393d2: 0x6cb00820, 0x393d3: 0x6cb00a20,\n\t0x393d4: 0x6cb00c20, 0x393d5: 0x6cb00e20, 0x393d6: 0x6cb01020, 0x393d7: 0x6cb01220,\n\t0x393d8: 0x6cb01420, 0x393d9: 0x6cb01620, 0x393da: 0x6cb01820, 0x393db: 0x6cb01a20,\n\t0x393dc: 0x6cdf1a20, 0x393dd: 0x6cdf1c20, 0x393de: 0x6cdf1e20, 0x393df: 0x6cdf2020,\n\t0x393e0: 0x6cdf2220, 0x393e1: 0x6cdf2420, 0x393e2: 0x6cdf2620, 0x393e3: 0x6cdf2820,\n\t0x393e4: 0x6cdf2a20, 0x393e5: 0x6cdf2c20, 0x393e6: 0x6cdf2e20, 0x393e7: 0x6cdf3020,\n\t0x393e8: 0x6d0d8420, 0x393e9: 0x6d0d8620, 0x393ea: 0x6d0d8820, 0x393eb: 0x6d0d8a20,\n\t0x393ec: 0x6d0d8c20, 0x393ed: 0x6d0d8e20, 0x393ee: 0x6d0d9020, 0x393ef: 0x6d0d9220,\n\t0x393f0: 0x6d0d9420, 0x393f1: 0x6d0d9620, 0x393f2: 0x6d0d9820, 0x393f3: 0x6d0d9a20,\n\t0x393f4: 0x6d0d9c20, 0x393f5: 0x6d0d9e20, 0x393f6: 0x6d0da020, 0x393f7: 0x6d0da220,\n\t0x393f8: 0x6d0da420, 0x393f9: 0x6d0da620, 0x393fa: 0x6d0da820, 0x393fb: 0x6d3bfa20,\n\t0x393fc: 0x6d3bfc20, 0x393fd: 0x6d3bfe20, 0x393fe: 0x6d3c0020, 0x393ff: 0x6d3c0220,\n\t// Block 0xe50, offset 0x39400\n\t0x39400: 0x6d3c0420, 0x39401: 0x6d3c0620, 0x39402: 0x6d3c0820, 0x39403: 0x6d3c0a20,\n\t0x39404: 0x6d3c0c20, 0x39405: 0x6d3c0e20, 0x39406: 0x6d3c1020, 0x39407: 0x6d3c1220,\n\t0x39408: 0x6d3c1420, 0x39409: 0x6d3c1620, 0x3940a: 0x6d3c1820, 0x3940b: 0x6d680420,\n\t0x3940c: 0x6d680620, 0x3940d: 0x6d680820, 0x3940e: 0x6d680a20, 0x3940f: 0x6d680c20,\n\t0x39410: 0x6d680e20, 0x39411: 0x6d681020, 0x39412: 0x6d681220, 0x39413: 0x6d681420,\n\t0x39414: 0x6d681620, 0x39415: 0x6d681820, 0x39416: 0x6d681a20, 0x39417: 0x6d681c20,\n\t0x39418: 0x6d681e20, 0x39419: 0x6d682020, 0x3941a: 0x6d682220, 0x3941b: 0x6d682420,\n\t0x3941c: 0x6d682620, 0x3941d: 0x6d682820, 0x3941e: 0x6d682a20, 0x3941f: 0x6d682c20,\n\t0x39420: 0x6d682e20, 0x39421: 0x6d91d220, 0x39422: 0x6d91d420, 0x39423: 0x6d91d620,\n\t0x39424: 0x6d91d820, 0x39425: 0x6d91da20, 0x39426: 0x6d91dc20, 0x39427: 0x6d91de20,\n\t0x39428: 0x6d91e020, 0x39429: 0x6d91e220, 0x3942a: 0x6d91e420, 0x3942b: 0x6d91e620,\n\t0x3942c: 0x6d91e820, 0x3942d: 0x6d91ea20, 0x3942e: 0x6d91ec20, 0x3942f: 0x6d91ee20,\n\t0x39430: 0x6d91f020, 0x39431: 0x6d91f220, 0x39432: 0x6d91f420, 0x39433: 0x6d91f620,\n\t0x39434: 0x6d91f820, 0x39435: 0x6d91fa20, 0x39436: 0x6d91fc20, 0x39437: 0x6db59020,\n\t0x39438: 0x6db59220, 0x39439: 0x6db59420, 0x3943a: 0x6db59620, 0x3943b: 0x6db59820,\n\t0x3943c: 0x6db59a20, 0x3943d: 0x6db59c20, 0x3943e: 0x6db59e20, 0x3943f: 0x6db5a020,\n\t// Block 0xe51, offset 0x39440\n\t0x39440: 0x6db5a220, 0x39441: 0x6db5a420, 0x39442: 0x6dd42020, 0x39443: 0x6dd42220,\n\t0x39444: 0x6dd42420, 0x39445: 0x6dd42620, 0x39446: 0x6dd42820, 0x39447: 0x6dd42a20,\n\t0x39448: 0x6dd42c20, 0x39449: 0x6dd42e20, 0x3944a: 0x6dd43020, 0x3944b: 0x6dd43220,\n\t0x3944c: 0x6ded1820, 0x3944d: 0x6ded1a20, 0x3944e: 0x6ded1c20, 0x3944f: 0x6ded1e20,\n\t0x39450: 0x6ded2020, 0x39451: 0x6ded2220, 0x39452: 0x6e022020, 0x39453: 0x6e022220,\n\t0x39454: 0x6e022420, 0x39455: 0x6e022620, 0x39456: 0x6e022820, 0x39457: 0x6e022a20,\n\t0x39458: 0x6e140220, 0x39459: 0x6e140420, 0x3945a: 0x6e140620, 0x3945b: 0x6e140820,\n\t0x3945c: 0x6e21a820, 0x3945d: 0x6e21aa20, 0x3945e: 0x6e21ac20, 0x3945f: 0x6e21ae20,\n\t0x39460: 0x6e21b020, 0x39461: 0x6e21b220, 0x39462: 0x6e347020, 0x39463: 0x6e347220,\n\t0x39464: 0x6e347420, 0x39465: 0x6e347620, 0x39466: 0x6e3a2620, 0x39467: 0x6e3a2820,\n\t0x39468: 0x6e3a2a20, 0x39469: 0x6e3a2c20, 0x3946a: 0x6e3a2e20, 0x3946b: 0x6e3a3020,\n\t0x3946c: 0x6e3e3020, 0x3946d: 0x6e410220, 0x3946e: 0x6e430c20, 0x3946f: 0x6e46b420,\n\t0x39470: 0x6e470820, 0x39471: 0x6e473020, 0x39472: 0x6c26a820, 0x39473: 0x6c407620,\n\t0x39474: 0x6c608020, 0x39475: 0x6c608220, 0x39476: 0x6c608420, 0x39477: 0x6c864220,\n\t0x39478: 0x6c864420, 0x39479: 0x6c864620, 0x3947a: 0x6c864820, 0x3947b: 0x6cb02a20,\n\t0x3947c: 0x6cb02c20, 0x3947d: 0x6cb02e20, 0x3947e: 0x6cb03020, 0x3947f: 0x6cb03220,\n\t// Block 0xe52, offset 0x39480\n\t0x39480: 0x6cb03420, 0x39481: 0x6cb03620, 0x39482: 0x6cb03820, 0x39483: 0x6cb03a20,\n\t0x39484: 0x6cb03c20, 0x39485: 0x6cb03e20, 0x39486: 0x6cb04020, 0x39487: 0x6cb04220,\n\t0x39488: 0x6cb04420, 0x39489: 0x6cb04620, 0x3948a: 0x6cb04820, 0x3948b: 0x6cb04a20,\n\t0x3948c: 0x6cb04c20, 0x3948d: 0x6cb04e20, 0x3948e: 0x6cb05020, 0x3948f: 0x6cb05220,\n\t0x39490: 0x6cb05420, 0x39491: 0x6cdf4020, 0x39492: 0x6cdf4220, 0x39493: 0x6cdf4420,\n\t0x39494: 0x6cdf4620, 0x39495: 0x6cdf4820, 0x39496: 0x6cdf4a20, 0x39497: 0x6cdf4c20,\n\t0x39498: 0x6cdf4e20, 0x39499: 0x6cdf5020, 0x3949a: 0x6cdf5220, 0x3949b: 0x6cdf5420,\n\t0x3949c: 0x6cdf5620, 0x3949d: 0x6cdf5820, 0x3949e: 0x6cdf5a20, 0x3949f: 0x6cdf5c20,\n\t0x394a0: 0x6cdf5e20, 0x394a1: 0x6d0dca20, 0x394a2: 0x6d0dcc20, 0x394a3: 0x6d0dce20,\n\t0x394a4: 0x6d0dd020, 0x394a5: 0x6d0dd220, 0x394a6: 0x6d0dd420, 0x394a7: 0x6d0dd620,\n\t0x394a8: 0x6d3c2a20, 0x394a9: 0x6d3c2c20, 0x394aa: 0x6d3c2e20, 0x394ab: 0x6d3c3020,\n\t0x394ac: 0x6d3c3220, 0x394ad: 0x6d3c3420, 0x394ae: 0x6d3c3620, 0x394af: 0x6d3c3820,\n\t0x394b0: 0x6d3c3a20, 0x394b1: 0x6d3c3c20, 0x394b2: 0x6d3c3e20, 0x394b3: 0x6d3c4020,\n\t0x394b4: 0x6d684c20, 0x394b5: 0x6d684e20, 0x394b6: 0x6d685020, 0x394b7: 0x6d685220,\n\t0x394b8: 0x6d685420, 0x394b9: 0x6d685620, 0x394ba: 0x6d685820, 0x394bb: 0x6d685a20,\n\t0x394bc: 0x6d685c20, 0x394bd: 0x6d685e20, 0x394be: 0x6d686020, 0x394bf: 0x6d686220,\n\t// Block 0xe53, offset 0x394c0\n\t0x394c0: 0x6d686420, 0x394c1: 0x6d686620, 0x394c2: 0x6d686820, 0x394c3: 0x6d686a20,\n\t0x394c4: 0x6d686c20, 0x394c5: 0x6d686e20, 0x394c6: 0x6d687020, 0x394c7: 0x6d687220,\n\t0x394c8: 0x6d687420, 0x394c9: 0x6d687620, 0x394ca: 0x6d687820, 0x394cb: 0x6d920c20,\n\t0x394cc: 0x6d920e20, 0x394cd: 0x6d921020, 0x394ce: 0x6d921220, 0x394cf: 0x6d921420,\n\t0x394d0: 0x6d921620, 0x394d1: 0x6d921820, 0x394d2: 0x6d921a20, 0x394d3: 0x6d921c20,\n\t0x394d4: 0x6d921e20, 0x394d5: 0x6d922020, 0x394d6: 0x6d922220, 0x394d7: 0x6d922420,\n\t0x394d8: 0x6d922620, 0x394d9: 0x6d922820, 0x394da: 0x6d922a20, 0x394db: 0x6db5b020,\n\t0x394dc: 0x6db5b220, 0x394dd: 0x6db5b420, 0x394de: 0x6db5b620, 0x394df: 0x6db5b820,\n\t0x394e0: 0x6db5ba20, 0x394e1: 0x6db5bc20, 0x394e2: 0x6d922c20, 0x394e3: 0x6db5be20,\n\t0x394e4: 0x6db5c020, 0x394e5: 0x6db5c220, 0x394e6: 0x6db5c420, 0x394e7: 0x6db5c620,\n\t0x394e8: 0x6db5c820, 0x394e9: 0x6db5ca20, 0x394ea: 0x6db5cc20, 0x394eb: 0x6db5ce20,\n\t0x394ec: 0x6db5d020, 0x394ed: 0x6db5d220, 0x394ee: 0x6db5d420, 0x394ef: 0x6dd43c20,\n\t0x394f0: 0x6dd43e20, 0x394f1: 0x6dd44020, 0x394f2: 0x6dd44220, 0x394f3: 0x6dd44420,\n\t0x394f4: 0x6dd44620, 0x394f5: 0x6dd44820, 0x394f6: 0x6dd44a20, 0x394f7: 0x6dd44c20,\n\t0x394f8: 0x6dd44e20, 0x394f9: 0x6dd45020, 0x394fa: 0x6ded2e20, 0x394fb: 0x6ded3020,\n\t0x394fc: 0x6ded3220, 0x394fd: 0x6ded3420, 0x394fe: 0x6ded3620, 0x394ff: 0x6ded3820,\n\t// Block 0xe54, offset 0x39500\n\t0x39500: 0x6ded3a20, 0x39501: 0x6ded3c20, 0x39502: 0x6ded3e20, 0x39503: 0x6ded4020,\n\t0x39504: 0x6e023820, 0x39505: 0x6e023a20, 0x39506: 0x6e023c20, 0x39507: 0x6e023e20,\n\t0x39508: 0x6e140c20, 0x39509: 0x6e140e20, 0x3950a: 0x6e141020, 0x3950b: 0x6e141220,\n\t0x3950c: 0x6e21b820, 0x3950d: 0x6e21ba20, 0x3950e: 0x6e21bc20, 0x3950f: 0x6e21be20,\n\t0x39510: 0x6e21c020, 0x39511: 0x6e2c4020, 0x39512: 0x6e2c4220, 0x39513: 0x6e347820,\n\t0x39514: 0x6e347a20, 0x39515: 0x6e3a3a20, 0x39516: 0x6e3e3220, 0x39517: 0x6e430e20,\n\t0x39518: 0x6e431020, 0x39519: 0x6e447c20, 0x3951a: 0x6e447e20, 0x3951b: 0x6c26ae20,\n\t0x3951c: 0x6c26b020, 0x3951d: 0x6c407820, 0x3951e: 0x6c407a20, 0x3951f: 0x6c407c20,\n\t0x39520: 0x6c609a20, 0x39521: 0x6c867220, 0x39522: 0x6c867420, 0x39523: 0x6c867620,\n\t0x39524: 0x6c867820, 0x39525: 0x6c867a20, 0x39526: 0x6c867c20, 0x39527: 0x6c867e20,\n\t0x39528: 0x6c868020, 0x39529: 0x6c868220, 0x3952a: 0x6c868420, 0x3952b: 0x6c868620,\n\t0x3952c: 0x6c868820, 0x3952d: 0x6c868a20, 0x3952e: 0x6cb0aa20, 0x3952f: 0x6cb0ac20,\n\t0x39530: 0x6cb0ae20, 0x39531: 0x6cb0b020, 0x39532: 0x6cb0b220, 0x39533: 0x6cb0b420,\n\t0x39534: 0x6cb0b620, 0x39535: 0x6cb0b820, 0x39536: 0x6cb0ba20, 0x39537: 0x6cb0bc20,\n\t0x39538: 0x6cb0be20, 0x39539: 0x6cb0c020, 0x3953a: 0x6cb0c220, 0x3953b: 0x6cb0c420,\n\t0x3953c: 0x6cb0c620, 0x3953d: 0x6cb0c820, 0x3953e: 0x6cb0ca20, 0x3953f: 0x6cb0cc20,\n\t// Block 0xe55, offset 0x39540\n\t0x39540: 0x6cb0ce20, 0x39541: 0x6cb0d020, 0x39542: 0x6cb0d220, 0x39543: 0x6cb0d420,\n\t0x39544: 0x6cb0d620, 0x39545: 0x6cb0d820, 0x39546: 0x6cb0da20, 0x39547: 0x6cb0dc20,\n\t0x39548: 0x6cb0de20, 0x39549: 0x6cb0e020, 0x3954a: 0x6cb0e220, 0x3954b: 0x6cb0e420,\n\t0x3954c: 0x6cb0e620, 0x3954d: 0x6cb0e820, 0x3954e: 0x6cb0ea20, 0x3954f: 0x6cb0ec20,\n\t0x39550: 0x6cb0ee20, 0x39551: 0x6cb0f020, 0x39552: 0x6cb0f220, 0x39553: 0x6cb0f420,\n\t0x39554: 0x6cb0f620, 0x39555: 0x6cb0f820, 0x39556: 0x6cb0fa20, 0x39557: 0x6cb0fc20,\n\t0x39558: 0x6cb0fe20, 0x39559: 0x6cb10020, 0x3955a: 0x6cb10220, 0x3955b: 0x6cb10420,\n\t0x3955c: 0x6cdfd620, 0x3955d: 0x6cdfd820, 0x3955e: 0x6cdfda20, 0x3955f: 0x6cdfdc20,\n\t0x39560: 0x6cdfde20, 0x39561: 0x6cdfe020, 0x39562: 0x6cdfe220, 0x39563: 0x6cdfe420,\n\t0x39564: 0x6cdfe620, 0x39565: 0x6cdfe820, 0x39566: 0x6cdfea20, 0x39567: 0x6cdfec20,\n\t0x39568: 0x6cdfee20, 0x39569: 0x6cdff020, 0x3956a: 0x6cdff220, 0x3956b: 0x6cdff420,\n\t0x3956c: 0x6cdff620, 0x3956d: 0x6cdff820, 0x3956e: 0x6cdffa20, 0x3956f: 0x6cdffc20,\n\t0x39570: 0x6cdffe20, 0x39571: 0x6ce00020, 0x39572: 0x6ce00220, 0x39573: 0x6ce00420,\n\t0x39574: 0x6ce00620, 0x39575: 0x6ce00820, 0x39576: 0x6ce00a20, 0x39577: 0x6ce00c20,\n\t0x39578: 0x6ce00e20, 0x39579: 0x6ce01020, 0x3957a: 0x6ce01220, 0x3957b: 0x6ce01420,\n\t0x3957c: 0x6ce01620, 0x3957d: 0x6ce01820, 0x3957e: 0x6ce01a20, 0x3957f: 0x6ce01c20,\n\t// Block 0xe56, offset 0x39580\n\t0x39580: 0x6ce01e20, 0x39581: 0x6ce02020, 0x39582: 0x6ce02220, 0x39583: 0x6d0e4a20,\n\t0x39584: 0x6d0e4c20, 0x39585: 0x6d0e4e20, 0x39586: 0x6d0e5020, 0x39587: 0x6d0e5220,\n\t0x39588: 0x6d0e5420, 0x39589: 0x6d0e5620, 0x3958a: 0x6d0e5820, 0x3958b: 0x6d0e5a20,\n\t0x3958c: 0x6d0e5c20, 0x3958d: 0x6d0e5e20, 0x3958e: 0x6d0e6020, 0x3958f: 0x6d0e6220,\n\t0x39590: 0x6d0e6420, 0x39591: 0x6d0e6620, 0x39592: 0x6d0e6820, 0x39593: 0x6d0e6a20,\n\t0x39594: 0x6d0e6c20, 0x39595: 0x6d0e6e20, 0x39596: 0x6d0e7020, 0x39597: 0x6d0e7220,\n\t0x39598: 0x6d0e7420, 0x39599: 0x6d0e7620, 0x3959a: 0x6d0e7820, 0x3959b: 0x6d0e7a20,\n\t0x3959c: 0x6d0e7c20, 0x3959d: 0x6d0e7e20, 0x3959e: 0x6d0e8020, 0x3959f: 0x6d0e8220,\n\t0x395a0: 0x6d0e8420, 0x395a1: 0x6d0e8620, 0x395a2: 0x6d0e8820, 0x395a3: 0x6d0e8a20,\n\t0x395a4: 0x6d0e8c20, 0x395a5: 0x6d0e8e20, 0x395a6: 0x6d0e9020, 0x395a7: 0x6d0e9220,\n\t0x395a8: 0x6d0e9420, 0x395a9: 0x6d0e9620, 0x395aa: 0x6d0e9820, 0x395ab: 0x6d0e9a20,\n\t0x395ac: 0x6d0e9c20, 0x395ad: 0x6d0e9e20, 0x395ae: 0x6d0ea020, 0x395af: 0x6d0ea220,\n\t0x395b0: 0x6d0ea420, 0x395b1: 0x6d0ea620, 0x395b2: 0x6d0ea820, 0x395b3: 0x6d0eaa20,\n\t0x395b4: 0x6d3c9e20, 0x395b5: 0x6d3ca020, 0x395b6: 0x6d3ca220, 0x395b7: 0x6d3ca420,\n\t0x395b8: 0x6d3ca620, 0x395b9: 0x6d3ca820, 0x395ba: 0x6d3caa20, 0x395bb: 0x6d3cac20,\n\t0x395bc: 0x6d3cae20, 0x395bd: 0x6d3cb020, 0x395be: 0x6d3cb220, 0x395bf: 0x6d3cb420,\n\t// Block 0xe57, offset 0x395c0\n\t0x395c0: 0x6d3cb620, 0x395c1: 0x6d3cb820, 0x395c2: 0x6d3cba20, 0x395c3: 0x6d3cbc20,\n\t0x395c4: 0x6d3cbe20, 0x395c5: 0x6d3cc020, 0x395c6: 0x6d3cc220, 0x395c7: 0x6d3cc420,\n\t0x395c8: 0x6d3cc620, 0x395c9: 0x6d3cc820, 0x395ca: 0x6d3cca20, 0x395cb: 0x6d3ccc20,\n\t0x395cc: 0x6d3cce20, 0x395cd: 0x6d3cd020, 0x395ce: 0x6d3cd220, 0x395cf: 0x6d3cd420,\n\t0x395d0: 0x6d3cd620, 0x395d1: 0x6d3cd820, 0x395d2: 0x6d3cda20, 0x395d3: 0x6d3cdc20,\n\t0x395d4: 0x6d3cde20, 0x395d5: 0x6d3ce020, 0x395d6: 0x6d3ce220, 0x395d7: 0x6d3ce420,\n\t0x395d8: 0x6d3ce620, 0x395d9: 0x6d3ce820, 0x395da: 0x6d3cea20, 0x395db: 0x6d3cec20,\n\t0x395dc: 0x6d0eac20, 0x395dd: 0x6d3cee20, 0x395de: 0x6d3cf020, 0x395df: 0x6d3cf220,\n\t0x395e0: 0x6d3cf420, 0x395e1: 0x6d3cf620, 0x395e2: 0x6d3cf820, 0x395e3: 0x6d3cfa20,\n\t0x395e4: 0x6d3cfc20, 0x395e5: 0x6d3cfe20, 0x395e6: 0x6d68f820, 0x395e7: 0x6d68fa20,\n\t0x395e8: 0x6d68fc20, 0x395e9: 0x6d68fe20, 0x395ea: 0x6d690020, 0x395eb: 0x6d690220,\n\t0x395ec: 0x6d690420, 0x395ed: 0x6d690620, 0x395ee: 0x6d690820, 0x395ef: 0x6d690a20,\n\t0x395f0: 0x6d690c20, 0x395f1: 0x6d690e20, 0x395f2: 0x6d691020, 0x395f3: 0x6d691220,\n\t0x395f4: 0x6d691420, 0x395f5: 0x6d691620, 0x395f6: 0x6d691820, 0x395f7: 0x6d691a20,\n\t0x395f8: 0x6d691c20, 0x395f9: 0x6d691e20, 0x395fa: 0x6d692020, 0x395fb: 0x6d692220,\n\t0x395fc: 0x6d692420, 0x395fd: 0x6d692620, 0x395fe: 0x6d692820, 0x395ff: 0x6d692a20,\n\t// Block 0xe58, offset 0x39600\n\t0x39600: 0x6d692c20, 0x39601: 0x6d692e20, 0x39602: 0x6d693020, 0x39603: 0x6d693220,\n\t0x39604: 0x6d693420, 0x39605: 0x6d693620, 0x39606: 0x6d693820, 0x39607: 0x6d693a20,\n\t0x39608: 0x6d693c20, 0x39609: 0x6d693e20, 0x3960a: 0x6d694020, 0x3960b: 0x6d694220,\n\t0x3960c: 0x6d694420, 0x3960d: 0x6d694620, 0x3960e: 0x6d694820, 0x3960f: 0x6d694a20,\n\t0x39610: 0x6d694c20, 0x39611: 0x6d694e20, 0x39612: 0x6d695020, 0x39613: 0x6d695220,\n\t0x39614: 0x6d695420, 0x39615: 0x6d695620, 0x39616: 0x6d695820, 0x39617: 0x6d695a20,\n\t0x39618: 0x6d695c20, 0x39619: 0x6d695e20, 0x3961a: 0x6d696020, 0x3961b: 0x6d696220,\n\t0x3961c: 0x6d696420, 0x3961d: 0x6d696620, 0x3961e: 0x6d696820, 0x3961f: 0x6d696a20,\n\t0x39620: 0x6d696c20, 0x39621: 0x6d696e20, 0x39622: 0x6d697020, 0x39623: 0x6d928820,\n\t0x39624: 0x6d928a20, 0x39625: 0x6d928c20, 0x39626: 0x6d928e20, 0x39627: 0x6d929020,\n\t0x39628: 0x6d929220, 0x39629: 0x6d929420, 0x3962a: 0x6d929620, 0x3962b: 0x6d929820,\n\t0x3962c: 0x6d929a20, 0x3962d: 0x6d929c20, 0x3962e: 0x6d929e20, 0x3962f: 0x6d92a020,\n\t0x39630: 0x6d92a220, 0x39631: 0x6d92a420, 0x39632: 0x6d92a620, 0x39633: 0x6d92a820,\n\t0x39634: 0x6d92aa20, 0x39635: 0x6d92ac20, 0x39636: 0x6d92ae20, 0x39637: 0x6d92b020,\n\t0x39638: 0x6d92b220, 0x39639: 0x6d92b420, 0x3963a: 0x6d92b620, 0x3963b: 0x6d92b820,\n\t0x3963c: 0x6d92ba20, 0x3963d: 0x6d92bc20, 0x3963e: 0x6d92be20, 0x3963f: 0x6d92c020,\n\t// Block 0xe59, offset 0x39640\n\t0x39640: 0x6d92c220, 0x39641: 0x6d92c420, 0x39642: 0x6d92c620, 0x39643: 0x6d92c820,\n\t0x39644: 0x6d92ca20, 0x39645: 0x6d92cc20, 0x39646: 0x6d92ce20, 0x39647: 0x6d92d020,\n\t0x39648: 0x6d92d220, 0x39649: 0x6d92d420, 0x3964a: 0x6d92d620, 0x3964b: 0x6d92d820,\n\t0x3964c: 0x6d92da20, 0x3964d: 0x6d92dc20, 0x3964e: 0x6d92de20, 0x3964f: 0x6d92e020,\n\t0x39650: 0x6d92e220, 0x39651: 0x6d92e420, 0x39652: 0x6d92e620, 0x39653: 0x6d92e820,\n\t0x39654: 0x6d92ea20, 0x39655: 0x6d92ec20, 0x39656: 0x6d92ee20, 0x39657: 0x6d92f020,\n\t0x39658: 0x6db61e20, 0x39659: 0x6db62020, 0x3965a: 0x6db62220, 0x3965b: 0x6db62420,\n\t0x3965c: 0x6db62620, 0x3965d: 0x6db62820, 0x3965e: 0x6db62a20, 0x3965f: 0x6db62c20,\n\t0x39660: 0x6db62e20, 0x39661: 0x6db63020, 0x39662: 0x6db63220, 0x39663: 0x6db63420,\n\t0x39664: 0x6db63620, 0x39665: 0x6db63820, 0x39666: 0x6db63a20, 0x39667: 0x6db63c20,\n\t0x39668: 0x6db63e20, 0x39669: 0x6db64020, 0x3966a: 0x6db64220, 0x3966b: 0x6db64420,\n\t0x3966c: 0x6db64620, 0x3966d: 0x6db64820, 0x3966e: 0x6db64a20, 0x3966f: 0x6db64c20,\n\t0x39670: 0x6db64e20, 0x39671: 0x6db65020, 0x39672: 0x6db65220, 0x39673: 0x6db65420,\n\t0x39674: 0x6db65620, 0x39675: 0x6db65820, 0x39676: 0x6db65a20, 0x39677: 0x6db65c20,\n\t0x39678: 0x6db65e20, 0x39679: 0x6db66020, 0x3967a: 0x6db66220, 0x3967b: 0x6db66420,\n\t0x3967c: 0x6db66620, 0x3967d: 0x6db66820, 0x3967e: 0x6db66a20, 0x3967f: 0x6db66c20,\n\t// Block 0xe5a, offset 0x39680\n\t0x39680: 0x6db66e20, 0x39681: 0x6db67020, 0x39682: 0x6db67220, 0x39683: 0x6db67420,\n\t0x39684: 0x6db67620, 0x39685: 0x6db67820, 0x39686: 0x6db67a20, 0x39687: 0x6db67c20,\n\t0x39688: 0x6db67e20, 0x39689: 0x6db68020, 0x3968a: 0x6db68220, 0x3968b: 0x6db68420,\n\t0x3968c: 0x6db68620, 0x3968d: 0x6db68820, 0x3968e: 0x6db68a20, 0x3968f: 0x6db68c20,\n\t0x39690: 0x6db68e20, 0x39691: 0x6db69020, 0x39692: 0x6dd49a20, 0x39693: 0x6dd49c20,\n\t0x39694: 0x6dd49e20, 0x39695: 0x6dd4a020, 0x39696: 0x6dd4a220, 0x39697: 0x6dd4a420,\n\t0x39698: 0x6dd4a620, 0x39699: 0x6dd4a820, 0x3969a: 0x6dd4aa20, 0x3969b: 0x6dd4ac20,\n\t0x3969c: 0x6dd4ae20, 0x3969d: 0x6dd4b020, 0x3969e: 0x6dd4b220, 0x3969f: 0x6dd4b420,\n\t0x396a0: 0x6dd4b620, 0x396a1: 0x6dd4b820, 0x396a2: 0x6dd4ba20, 0x396a3: 0x6dd4bc20,\n\t0x396a4: 0x6dd4be20, 0x396a5: 0x6dd4c020, 0x396a6: 0x6dd4c220, 0x396a7: 0x6dd4c420,\n\t0x396a8: 0x6dd4c620, 0x396a9: 0x6dd4c820, 0x396aa: 0x6dd4ca20, 0x396ab: 0x6dd4cc20,\n\t0x396ac: 0x6dd4ce20, 0x396ad: 0x6dd4d020, 0x396ae: 0x6dd4d220, 0x396af: 0x6dd4d420,\n\t0x396b0: 0x6dd4d620, 0x396b1: 0x6dd4d820, 0x396b2: 0x6dd4da20, 0x396b3: 0x6dd4dc20,\n\t0x396b4: 0x6dd4de20, 0x396b5: 0x6dd4e020, 0x396b6: 0x6dd4e220, 0x396b7: 0x6dd4e420,\n\t0x396b8: 0x6dd4e620, 0x396b9: 0x6dd4e820, 0x396ba: 0x6dd4ea20, 0x396bb: 0x6dd4ec20,\n\t0x396bc: 0x6dd4ee20, 0x396bd: 0x6dd4f020, 0x396be: 0x6ded8820, 0x396bf: 0x6ded8a20,\n\t// Block 0xe5b, offset 0x396c0\n\t0x396c0: 0x6ded8c20, 0x396c1: 0x6ded8e20, 0x396c2: 0x6ded9020, 0x396c3: 0x6ded9220,\n\t0x396c4: 0x6ded9420, 0x396c5: 0x6ded9620, 0x396c6: 0x6ded9820, 0x396c7: 0x6ded9a20,\n\t0x396c8: 0x6ded9c20, 0x396c9: 0x6ded9e20, 0x396ca: 0x6deda020, 0x396cb: 0x6deda220,\n\t0x396cc: 0x6deda420, 0x396cd: 0x6deda620, 0x396ce: 0x6deda820, 0x396cf: 0x6dedaa20,\n\t0x396d0: 0x6dedac20, 0x396d1: 0x6dedae20, 0x396d2: 0x6dedb020, 0x396d3: 0x6dedb220,\n\t0x396d4: 0x6dedb420, 0x396d5: 0x6dedb620, 0x396d6: 0x6dedb820, 0x396d7: 0x6dedba20,\n\t0x396d8: 0x6dedbc20, 0x396d9: 0x6dedbe20, 0x396da: 0x6dedc020, 0x396db: 0x6dedc220,\n\t0x396dc: 0x6dedc420, 0x396dd: 0x6dedc620, 0x396de: 0x6dedc820, 0x396df: 0x6dedca20,\n\t0x396e0: 0x6dedcc20, 0x396e1: 0x6dedce20, 0x396e2: 0x6dedd020, 0x396e3: 0x6dedd220,\n\t0x396e4: 0x6dedd420, 0x396e5: 0x6dedd620, 0x396e6: 0x6dedd820, 0x396e7: 0x6e027c20,\n\t0x396e8: 0x6e027e20, 0x396e9: 0x6e028020, 0x396ea: 0x6e028220, 0x396eb: 0x6e028420,\n\t0x396ec: 0x6e028620, 0x396ed: 0x6e028820, 0x396ee: 0x6e028a20, 0x396ef: 0x6e028c20,\n\t0x396f0: 0x6e028e20, 0x396f1: 0x6e029020, 0x396f2: 0x6e029220, 0x396f3: 0x6e029420,\n\t0x396f4: 0x6e029620, 0x396f5: 0x6e029820, 0x396f6: 0x6e029a20, 0x396f7: 0x6e029c20,\n\t0x396f8: 0x6e029e20, 0x396f9: 0x6e02a020, 0x396fa: 0x6e02a220, 0x396fb: 0x6e02a420,\n\t0x396fc: 0x6e02a620, 0x396fd: 0x6e02a820, 0x396fe: 0x6e02aa20, 0x396ff: 0x6e02ac20,\n\t// Block 0xe5c, offset 0x39700\n\t0x39700: 0x6e02ae20, 0x39701: 0x6e02b020, 0x39702: 0x6e143820, 0x39703: 0x6e143a20,\n\t0x39704: 0x6e143c20, 0x39705: 0x6e143e20, 0x39706: 0x6e144020, 0x39707: 0x6e144220,\n\t0x39708: 0x6e144420, 0x39709: 0x6e144620, 0x3970a: 0x6e144820, 0x3970b: 0x6e144a20,\n\t0x3970c: 0x6e144c20, 0x3970d: 0x6e144e20, 0x3970e: 0x6e145020, 0x3970f: 0x6e145220,\n\t0x39710: 0x6e145420, 0x39711: 0x6e21d820, 0x39712: 0x6e145620, 0x39713: 0x6e145820,\n\t0x39714: 0x6e145a20, 0x39715: 0x6e145c20, 0x39716: 0x6e145e20, 0x39717: 0x6e146020,\n\t0x39718: 0x6e146220, 0x39719: 0x6e146420, 0x3971a: 0x6e146620, 0x3971b: 0x6e146820,\n\t0x3971c: 0x6e21da20, 0x3971d: 0x6e21dc20, 0x3971e: 0x6e21de20, 0x3971f: 0x6e21e020,\n\t0x39720: 0x6e21e220, 0x39721: 0x6e21e420, 0x39722: 0x6e21e620, 0x39723: 0x6e21e820,\n\t0x39724: 0x6e21ea20, 0x39725: 0x6e21ec20, 0x39726: 0x6e21ee20, 0x39727: 0x6e21f020,\n\t0x39728: 0x6e21f220, 0x39729: 0x6e21f420, 0x3972a: 0x6e21f620, 0x3972b: 0x6e21f820,\n\t0x3972c: 0x6e21fa20, 0x3972d: 0x6e21fc20, 0x3972e: 0x6e21fe20, 0x3972f: 0x6e220020,\n\t0x39730: 0x6e220220, 0x39731: 0x6e220420, 0x39732: 0x6e220620, 0x39733: 0x6e220820,\n\t0x39734: 0x6e220a20, 0x39735: 0x6e220c20, 0x39736: 0x6e220e20, 0x39737: 0x6e221020,\n\t0x39738: 0x6e2c5a20, 0x39739: 0x6e2c5c20, 0x3973a: 0x6e2c5e20, 0x3973b: 0x6e2c6020,\n\t0x3973c: 0x6e2c6220, 0x3973d: 0x6e2c6420, 0x3973e: 0x6e2c6620, 0x3973f: 0x6e2c6820,\n\t// Block 0xe5d, offset 0x39740\n\t0x39740: 0x6e2c6a20, 0x39741: 0x6e2c6c20, 0x39742: 0x6e2c6e20, 0x39743: 0x6e2c7020,\n\t0x39744: 0x6e2c7220, 0x39745: 0x6e348a20, 0x39746: 0x6e348c20, 0x39747: 0x6e348e20,\n\t0x39748: 0x6e349020, 0x39749: 0x6e349220, 0x3974a: 0x6e349420, 0x3974b: 0x6e349620,\n\t0x3974c: 0x6e349820, 0x3974d: 0x6e349a20, 0x3974e: 0x6e349c20, 0x3974f: 0x6e349e20,\n\t0x39750: 0x6e34a020, 0x39751: 0x6e3a4220, 0x39752: 0x6e3a4420, 0x39753: 0x6e3a4620,\n\t0x39754: 0x6e3a4820, 0x39755: 0x6e3a4a20, 0x39756: 0x6e3a4c20, 0x39757: 0x6e3a4e20,\n\t0x39758: 0x6e3a5020, 0x39759: 0x6e3e3820, 0x3975a: 0x6e3e3a20, 0x3975b: 0x6e3e3c20,\n\t0x3975c: 0x6e3e3e20, 0x3975d: 0x6e3e4020, 0x3975e: 0x6e410a20, 0x3975f: 0x6e410c20,\n\t0x39760: 0x6e410e20, 0x39761: 0x6e411020, 0x39762: 0x6e431220, 0x39763: 0x6e431420,\n\t0x39764: 0x6e431620, 0x39765: 0x6e428c20, 0x39766: 0x6e431820, 0x39767: 0x6e431a20,\n\t0x39768: 0x6e448220, 0x39769: 0x6e472020, 0x3976a: 0x6c26d620, 0x3976b: 0x6c26e820,\n\t0x3976c: 0x6c86c820, 0x3976d: 0x6c86ca20, 0x3976e: 0x6c86cc20, 0x3976f: 0x6cb14620,\n\t0x39770: 0x6cb14820, 0x39771: 0x6cb14a20, 0x39772: 0x6cb14c20, 0x39773: 0x6ce04c20,\n\t0x39774: 0x6ce04e20, 0x39775: 0x6d0ec420, 0x39776: 0x6d0ec620, 0x39777: 0x6d0ec820,\n\t0x39778: 0x6d3d1a20, 0x39779: 0x6d3d1c20, 0x3977a: 0x6d698820, 0x3977b: 0x6d698a20,\n\t0x3977c: 0x6d698c20, 0x3977d: 0x6d698e20, 0x3977e: 0x6d699020, 0x3977f: 0x6d699220,\n\t// Block 0xe5e, offset 0x39780\n\t0x39780: 0x6d930020, 0x39781: 0x6d930220, 0x39782: 0x6d930420, 0x39783: 0x6d930620,\n\t0x39784: 0x6d930820, 0x39785: 0x6d930a20, 0x39786: 0x6db6a620, 0x39787: 0x6db6a820,\n\t0x39788: 0x6db6aa20, 0x39789: 0x6db6ac20, 0x3978a: 0x6dd50220, 0x3978b: 0x6dede620,\n\t0x3978c: 0x6dede820, 0x3978d: 0x6dedea20, 0x3978e: 0x6dedec20, 0x3978f: 0x6dedee20,\n\t0x39790: 0x6dedf020, 0x39791: 0x6dedf220, 0x39792: 0x6dedf420, 0x39793: 0x6e02b620,\n\t0x39794: 0x6e02b820, 0x39795: 0x6e146c20, 0x39796: 0x6e146e20, 0x39797: 0x6e3a5220,\n\t0x39798: 0x6e411220, 0x39799: 0x6e45da20, 0x3979a: 0x6c60c220, 0x3979b: 0x6c86d220,\n\t0x3979c: 0x6c86d420, 0x3979d: 0x6c86d620, 0x3979e: 0x6cb15420, 0x3979f: 0x6cb15620,\n\t0x397a0: 0x6ce05220, 0x397a1: 0x6ce05420, 0x397a2: 0x6ce05620, 0x397a3: 0x6ce05820,\n\t0x397a4: 0x6ce05a20, 0x397a5: 0x6d0ed020, 0x397a6: 0x6d0ed220, 0x397a7: 0x6cee2c20,\n\t0x397a8: 0x6d0ed420, 0x397a9: 0x6d3d2420, 0x397aa: 0x6d3d2620, 0x397ab: 0x6d3d2820,\n\t0x397ac: 0x6d3d2a20, 0x397ad: 0x6d699e20, 0x397ae: 0x6d69a020, 0x397af: 0x6d69a220,\n\t0x397b0: 0x6d69a420, 0x397b1: 0x6d69a620, 0x397b2: 0x6d69a820, 0x397b3: 0x6d69aa20,\n\t0x397b4: 0x6d69ac20, 0x397b5: 0x6d69ae20, 0x397b6: 0x6d69b020, 0x397b7: 0x6d931620,\n\t0x397b8: 0x6d931820, 0x397b9: 0x6d931a20, 0x397ba: 0x6d931c20, 0x397bb: 0x6d931e20,\n\t0x397bc: 0x6db6b620, 0x397bd: 0x6db6b820, 0x397be: 0x6db6ba20, 0x397bf: 0x6db6bc20,\n\t// Block 0xe5f, offset 0x397c0\n\t0x397c0: 0x6db6be20, 0x397c1: 0x6db6c020, 0x397c2: 0x6db6c220, 0x397c3: 0x6dd50820,\n\t0x397c4: 0x6dd50a20, 0x397c5: 0x6dd50c20, 0x397c6: 0x6dd50e20, 0x397c7: 0x6dd51020,\n\t0x397c8: 0x6db6c420, 0x397c9: 0x6dedf620, 0x397ca: 0x6dedf820, 0x397cb: 0x6dedfa20,\n\t0x397cc: 0x6dedfc20, 0x397cd: 0x6dedfe20, 0x397ce: 0x6dee0020, 0x397cf: 0x6dee0220,\n\t0x397d0: 0x6dee0420, 0x397d1: 0x6e02bc20, 0x397d2: 0x6e02be20, 0x397d3: 0x6e02c020,\n\t0x397d4: 0x6e02c220, 0x397d5: 0x6e02c420, 0x397d6: 0x6e02c620, 0x397d7: 0x6e147220,\n\t0x397d8: 0x6e147420, 0x397d9: 0x6e221a20, 0x397da: 0x6e221c20, 0x397db: 0x6e221e20,\n\t0x397dc: 0x6e222020, 0x397dd: 0x6e2c7a20, 0x397de: 0x6e2c7c20, 0x397df: 0x6e2c7e20,\n\t0x397e0: 0x6e34a820, 0x397e1: 0x6e3a5820, 0x397e2: 0x6e3a5a20, 0x397e3: 0x6e411620,\n\t0x397e4: 0x6e411820, 0x397e5: 0x6e448420, 0x397e6: 0x6c40ba20, 0x397e7: 0x6c26ee20,\n\t0x397e8: 0x6c26f020, 0x397e9: 0x6c60c420, 0x397ea: 0x6c86dc20, 0x397eb: 0x6c86de20,\n\t0x397ec: 0x6c86e020, 0x397ed: 0x6c86e220, 0x397ee: 0x6cb16820, 0x397ef: 0x6cb16a20,\n\t0x397f0: 0x6cb16c20, 0x397f1: 0x6cb16e20, 0x397f2: 0x6cb17020, 0x397f3: 0x6cb17220,\n\t0x397f4: 0x6cb17420, 0x397f5: 0x6ce06620, 0x397f6: 0x6ce06820, 0x397f7: 0x6ce06a20,\n\t0x397f8: 0x6ce06c20, 0x397f9: 0x6ce06e20, 0x397fa: 0x6ce07020, 0x397fb: 0x6ce07220,\n\t0x397fc: 0x6ce07420, 0x397fd: 0x6ce07620, 0x397fe: 0x6ce07820, 0x397ff: 0x6d0ee220,\n\t// Block 0xe60, offset 0x39800\n\t0x39800: 0x6d0ee420, 0x39801: 0x6d0ee620, 0x39802: 0x6d0ee820, 0x39803: 0x6d0eea20,\n\t0x39804: 0x6d0eec20, 0x39805: 0x6d0eee20, 0x39806: 0x6d0ef020, 0x39807: 0x6d0ef220,\n\t0x39808: 0x6d0ef420, 0x39809: 0x6d0ef620, 0x3980a: 0x6d0ef820, 0x3980b: 0x6d0efa20,\n\t0x3980c: 0x6d0efc20, 0x3980d: 0x6d3d3420, 0x3980e: 0x6d3d3620, 0x3980f: 0x6d3d3820,\n\t0x39810: 0x6d3d3a20, 0x39811: 0x6d3d3c20, 0x39812: 0x6d3d3e20, 0x39813: 0x6d3d4020,\n\t0x39814: 0x6d3d4220, 0x39815: 0x6d3d4420, 0x39816: 0x6d3d4620, 0x39817: 0x6d3d4820,\n\t0x39818: 0x6d69ba20, 0x39819: 0x6d69bc20, 0x3981a: 0x6d69be20, 0x3981b: 0x6d69c020,\n\t0x3981c: 0x6d69c220, 0x3981d: 0x6d69c420, 0x3981e: 0x6d69c620, 0x3981f: 0x6d69c820,\n\t0x39820: 0x6d69ca20, 0x39821: 0x6d69cc20, 0x39822: 0x6d69ce20, 0x39823: 0x6d69d020,\n\t0x39824: 0x6d69d220, 0x39825: 0x6d69d420, 0x39826: 0x6d69d620, 0x39827: 0x6d69d820,\n\t0x39828: 0x6d932a20, 0x39829: 0x6d932c20, 0x3982a: 0x6d932e20, 0x3982b: 0x6d933020,\n\t0x3982c: 0x6d933220, 0x3982d: 0x6d933420, 0x3982e: 0x6d933620, 0x3982f: 0x6d933820,\n\t0x39830: 0x6d933a20, 0x39831: 0x6d933c20, 0x39832: 0x6db6d020, 0x39833: 0x6db6d220,\n\t0x39834: 0x6db6d420, 0x39835: 0x6db6d620, 0x39836: 0x6db6d820, 0x39837: 0x6db6da20,\n\t0x39838: 0x6db6dc20, 0x39839: 0x6db6de20, 0x3983a: 0x6db6e020, 0x3983b: 0x6dd51a20,\n\t0x3983c: 0x6dd51c20, 0x3983d: 0x6dd51e20, 0x3983e: 0x6dd52020, 0x3983f: 0x6dd52220,\n\t// Block 0xe61, offset 0x39840\n\t0x39840: 0x6dd52420, 0x39841: 0x6dd52620, 0x39842: 0x6dee0c20, 0x39843: 0x6dee0e20,\n\t0x39844: 0x6dee1020, 0x39845: 0x6dee1220, 0x39846: 0x6dee1420, 0x39847: 0x6e02c820,\n\t0x39848: 0x6e02ca20, 0x39849: 0x6e02cc20, 0x3984a: 0x6e02ce20, 0x3984b: 0x6e02d020,\n\t0x3984c: 0x6e147820, 0x3984d: 0x6e147a20, 0x3984e: 0x6e147c20, 0x3984f: 0x6e147e20,\n\t0x39850: 0x6e222420, 0x39851: 0x6e222620, 0x39852: 0x6e222820, 0x39853: 0x6e222a20,\n\t0x39854: 0x6e2c8020, 0x39855: 0x6e2c8220, 0x39856: 0x6e2c8420, 0x39857: 0x6e222c20,\n\t0x39858: 0x6e34aa20, 0x39859: 0x6e34ac20, 0x3985a: 0x6e3a6020, 0x3985b: 0x6e3a6220,\n\t0x3985c: 0x6e3a6420, 0x3985d: 0x6e411a20, 0x3985e: 0x6e448620, 0x3985f: 0x6e46ec20,\n\t0x39860: 0x6c40be20, 0x39861: 0x6c60c620, 0x39862: 0x6c86ea20, 0x39863: 0x6c86ec20,\n\t0x39864: 0x6cb18420, 0x39865: 0x6cb18620, 0x39866: 0x6cb18820, 0x39867: 0x6cb18a20,\n\t0x39868: 0x6cb18c20, 0x39869: 0x6cb18e20, 0x3986a: 0x6cb19020, 0x3986b: 0x6cb19220,\n\t0x3986c: 0x6ce08a20, 0x3986d: 0x6ce08c20, 0x3986e: 0x6ce08e20, 0x3986f: 0x6ce09020,\n\t0x39870: 0x6ce09220, 0x39871: 0x6ce09420, 0x39872: 0x6ce09620, 0x39873: 0x6ce09820,\n\t0x39874: 0x6ce09a20, 0x39875: 0x6ce09c20, 0x39876: 0x6ce09e20, 0x39877: 0x6ce0a020,\n\t0x39878: 0x6ce0a220, 0x39879: 0x6ce0a420, 0x3987a: 0x6ce0a620, 0x3987b: 0x6ce0a820,\n\t0x3987c: 0x6ce0aa20, 0x3987d: 0x6ce0ac20, 0x3987e: 0x6d0f0c20, 0x3987f: 0x6d0f0e20,\n\t// Block 0xe62, offset 0x39880\n\t0x39880: 0x6d0f1020, 0x39881: 0x6d0f1220, 0x39882: 0x6d0f1420, 0x39883: 0x6d0f1620,\n\t0x39884: 0x6d0f1820, 0x39885: 0x6d0f1a20, 0x39886: 0x6d0f1c20, 0x39887: 0x6d0f1e20,\n\t0x39888: 0x6d0f2020, 0x39889: 0x6d0f2220, 0x3988a: 0x6d3d5620, 0x3988b: 0x6d3d5820,\n\t0x3988c: 0x6d3d5a20, 0x3988d: 0x6d3d5c20, 0x3988e: 0x6d3d5e20, 0x3988f: 0x6d3d6020,\n\t0x39890: 0x6d3d6220, 0x39891: 0x6d3d6420, 0x39892: 0x6d3d6620, 0x39893: 0x6d3d6820,\n\t0x39894: 0x6d3d6a20, 0x39895: 0x6d3d6c20, 0x39896: 0x6d3d6e20, 0x39897: 0x6d3d7020,\n\t0x39898: 0x6d3d7220, 0x39899: 0x6d69e420, 0x3989a: 0x6d69e620, 0x3989b: 0x6d69e820,\n\t0x3989c: 0x6d69ea20, 0x3989d: 0x6d69ec20, 0x3989e: 0x6d69ee20, 0x3989f: 0x6d69f020,\n\t0x398a0: 0x6d69f220, 0x398a1: 0x6d69f420, 0x398a2: 0x6d69f620, 0x398a3: 0x6d69f820,\n\t0x398a4: 0x6d69fa20, 0x398a5: 0x6d69fc20, 0x398a6: 0x6d934a20, 0x398a7: 0x6d934c20,\n\t0x398a8: 0x6d934e20, 0x398a9: 0x6d935020, 0x398aa: 0x6d935220, 0x398ab: 0x6d935420,\n\t0x398ac: 0x6d935620, 0x398ad: 0x6d935820, 0x398ae: 0x6d935a20, 0x398af: 0x6d935c20,\n\t0x398b0: 0x6d935e20, 0x398b1: 0x6d69fe20, 0x398b2: 0x6d936020, 0x398b3: 0x6d936220,\n\t0x398b4: 0x6d936420, 0x398b5: 0x6db6ea20, 0x398b6: 0x6db6ec20, 0x398b7: 0x6db6ee20,\n\t0x398b8: 0x6db6f020, 0x398b9: 0x6db6f220, 0x398ba: 0x6db6f420, 0x398bb: 0x6db6f620,\n\t0x398bc: 0x6db6f820, 0x398bd: 0x6db6fa20, 0x398be: 0x6db6fc20, 0x398bf: 0x6db6fe20,\n\t// Block 0xe63, offset 0x398c0\n\t0x398c0: 0x6db70020, 0x398c1: 0x6dd53220, 0x398c2: 0x6dd53420, 0x398c3: 0x6dd53620,\n\t0x398c4: 0x6dd53820, 0x398c5: 0x6dd53a20, 0x398c6: 0x6dee2220, 0x398c7: 0x6dd53c20,\n\t0x398c8: 0x6dd53e20, 0x398c9: 0x6dd54020, 0x398ca: 0x6dd54220, 0x398cb: 0x6dd54420,\n\t0x398cc: 0x6dee2420, 0x398cd: 0x6dee2620, 0x398ce: 0x6dee2820, 0x398cf: 0x6dee2a20,\n\t0x398d0: 0x6e02d220, 0x398d1: 0x6dee2c20, 0x398d2: 0x6dee2e20, 0x398d3: 0x6dee3020,\n\t0x398d4: 0x6dee3220, 0x398d5: 0x6dee3420, 0x398d6: 0x6e02d420, 0x398d7: 0x6e02d620,\n\t0x398d8: 0x6e02d820, 0x398d9: 0x6e02da20, 0x398da: 0x6e02dc20, 0x398db: 0x6e02de20,\n\t0x398dc: 0x6e02e020, 0x398dd: 0x6e148020, 0x398de: 0x6e148220, 0x398df: 0x6e222e20,\n\t0x398e0: 0x6e2c8620, 0x398e1: 0x6e2c8820, 0x398e2: 0x6e34ae20, 0x398e3: 0x6e411e20,\n\t0x398e4: 0x6c60ce20, 0x398e5: 0x6c60d020, 0x398e6: 0x6c60d220, 0x398e7: 0x6c60d420,\n\t0x398e8: 0x6c60d620, 0x398e9: 0x6c60d820, 0x398ea: 0x6c86f820, 0x398eb: 0x6c86fa20,\n\t0x398ec: 0x6c86fc20, 0x398ed: 0x6c86fe20, 0x398ee: 0x6c870020, 0x398ef: 0x6c870220,\n\t0x398f0: 0x6c870420, 0x398f1: 0x6c870620, 0x398f2: 0x6c870820, 0x398f3: 0x6cb1ac20,\n\t0x398f4: 0x6cb1ae20, 0x398f5: 0x6cb1b020, 0x398f6: 0x6cb1b220, 0x398f7: 0x6cb1b420,\n\t0x398f8: 0x6cb1b620, 0x398f9: 0x6cb1b820, 0x398fa: 0x6cb1ba20, 0x398fb: 0x6cb1bc20,\n\t0x398fc: 0x6cb1be20, 0x398fd: 0x6cb1c020, 0x398fe: 0x6cb1c220, 0x398ff: 0x6cb1c420,\n\t// Block 0xe64, offset 0x39900\n\t0x39900: 0x6cb1c620, 0x39901: 0x6cb1c820, 0x39902: 0x6cb1ca20, 0x39903: 0x6cb1cc20,\n\t0x39904: 0x6cb1ce20, 0x39905: 0x6cb1d020, 0x39906: 0x6cb1d220, 0x39907: 0x6cb1d420,\n\t0x39908: 0x6cb1d620, 0x39909: 0x6ce0e020, 0x3990a: 0x6ce0e220, 0x3990b: 0x6ce0e420,\n\t0x3990c: 0x6ce0e620, 0x3990d: 0x6ce0e820, 0x3990e: 0x6ce0ea20, 0x3990f: 0x6ce0ec20,\n\t0x39910: 0x6ce0ee20, 0x39911: 0x6ce0f020, 0x39912: 0x6ce0f220, 0x39913: 0x6ce0f420,\n\t0x39914: 0x6ce0f620, 0x39915: 0x6ce0f820, 0x39916: 0x6ce0fa20, 0x39917: 0x6ce0fc20,\n\t0x39918: 0x6ce0fe20, 0x39919: 0x6ce10020, 0x3991a: 0x6ce10220, 0x3991b: 0x6ce10420,\n\t0x3991c: 0x6ce10620, 0x3991d: 0x6ce10820, 0x3991e: 0x6ce10a20, 0x3991f: 0x6ce10c20,\n\t0x39920: 0x6ce10e20, 0x39921: 0x6ce11020, 0x39922: 0x6ce11220, 0x39923: 0x6d0f4a20,\n\t0x39924: 0x6d0f4c20, 0x39925: 0x6d0f4e20, 0x39926: 0x6d0f5020, 0x39927: 0x6d0f5220,\n\t0x39928: 0x6d0f5420, 0x39929: 0x6d0f5620, 0x3992a: 0x6d0f5820, 0x3992b: 0x6d0f5a20,\n\t0x3992c: 0x6d0f5c20, 0x3992d: 0x6d0f5e20, 0x3992e: 0x6d0f6020, 0x3992f: 0x6d0f6220,\n\t0x39930: 0x6d0f6420, 0x39931: 0x6d0f6620, 0x39932: 0x6d0f6820, 0x39933: 0x6d0f6a20,\n\t0x39934: 0x6d0f6c20, 0x39935: 0x6d0f6e20, 0x39936: 0x6d0f7020, 0x39937: 0x6d0f7220,\n\t0x39938: 0x6d0f7420, 0x39939: 0x6d0f7620, 0x3993a: 0x6d0f7820, 0x3993b: 0x6d0f7a20,\n\t0x3993c: 0x6d0f7c20, 0x3993d: 0x6d0f7e20, 0x3993e: 0x6d0f8020, 0x3993f: 0x6d0f8220,\n\t// Block 0xe65, offset 0x39940\n\t0x39940: 0x6d0f8420, 0x39941: 0x6d0f8620, 0x39942: 0x6d0f8820, 0x39943: 0x6d0f8a20,\n\t0x39944: 0x6d0f8c20, 0x39945: 0x6d3d9020, 0x39946: 0x6d3d9220, 0x39947: 0x6d3d9420,\n\t0x39948: 0x6d3d9620, 0x39949: 0x6d3d9820, 0x3994a: 0x6d3d9a20, 0x3994b: 0x6d3d9c20,\n\t0x3994c: 0x6d3d9e20, 0x3994d: 0x6d3da020, 0x3994e: 0x6d3da220, 0x3994f: 0x6d3da420,\n\t0x39950: 0x6d3da620, 0x39951: 0x6d3da820, 0x39952: 0x6d3daa20, 0x39953: 0x6d3dac20,\n\t0x39954: 0x6d3dae20, 0x39955: 0x6d3db020, 0x39956: 0x6d3db220, 0x39957: 0x6d3db420,\n\t0x39958: 0x6d3db620, 0x39959: 0x6d3db820, 0x3995a: 0x6d3dba20, 0x3995b: 0x6d6a3c20,\n\t0x3995c: 0x6d6a3e20, 0x3995d: 0x6d6a4020, 0x3995e: 0x6d6a4220, 0x3995f: 0x6d6a4420,\n\t0x39960: 0x6d6a4620, 0x39961: 0x6d6a4820, 0x39962: 0x6d6a4a20, 0x39963: 0x6d6a4c20,\n\t0x39964: 0x6d6a4e20, 0x39965: 0x6d6a5020, 0x39966: 0x6d6a5220, 0x39967: 0x6d6a5420,\n\t0x39968: 0x6d6a5620, 0x39969: 0x6d6a5820, 0x3996a: 0x6d6a5a20, 0x3996b: 0x6d6a5c20,\n\t0x3996c: 0x6d6a5e20, 0x3996d: 0x6d6a6020, 0x3996e: 0x6d6a6220, 0x3996f: 0x6d6a6420,\n\t0x39970: 0x6d6a6620, 0x39971: 0x6d938420, 0x39972: 0x6d938620, 0x39973: 0x6d938820,\n\t0x39974: 0x6d938a20, 0x39975: 0x6d938c20, 0x39976: 0x6d938e20, 0x39977: 0x6d939020,\n\t0x39978: 0x6d939220, 0x39979: 0x6d939420, 0x3997a: 0x6d939620, 0x3997b: 0x6d939820,\n\t0x3997c: 0x6d939a20, 0x3997d: 0x6d939c20, 0x3997e: 0x6d939e20, 0x3997f: 0x6d93a020,\n\t// Block 0xe66, offset 0x39980\n\t0x39980: 0x6d93a220, 0x39981: 0x6d93a420, 0x39982: 0x6d93a620, 0x39983: 0x6d93a820,\n\t0x39984: 0x6d93aa20, 0x39985: 0x6db02a20, 0x39986: 0x6d93ac20, 0x39987: 0x6d93ae20,\n\t0x39988: 0x6d93b020, 0x39989: 0x6d93b220, 0x3998a: 0x6d93b420, 0x3998b: 0x6d93b620,\n\t0x3998c: 0x6db71820, 0x3998d: 0x6db71a20, 0x3998e: 0x6db71c20, 0x3998f: 0x6db71e20,\n\t0x39990: 0x6db72020, 0x39991: 0x6db72220, 0x39992: 0x6db72420, 0x39993: 0x6db72620,\n\t0x39994: 0x6db72820, 0x39995: 0x6db72a20, 0x39996: 0x6db72c20, 0x39997: 0x6db72e20,\n\t0x39998: 0x6db73020, 0x39999: 0x6db73220, 0x3999a: 0x6db73420, 0x3999b: 0x6db73620,\n\t0x3999c: 0x6db73820, 0x3999d: 0x6db73a20, 0x3999e: 0x6dd55620, 0x3999f: 0x6dd55820,\n\t0x399a0: 0x6dd55a20, 0x399a1: 0x6dd55c20, 0x399a2: 0x6dd55e20, 0x399a3: 0x6dd56020,\n\t0x399a4: 0x6dd56220, 0x399a5: 0x6dd56420, 0x399a6: 0x6dd56620, 0x399a7: 0x6dd56820,\n\t0x399a8: 0x6dd56a20, 0x399a9: 0x6dd56c20, 0x399aa: 0x6dd56e20, 0x399ab: 0x6dd57020,\n\t0x399ac: 0x6dd57220, 0x399ad: 0x6dd57420, 0x399ae: 0x6dd57620, 0x399af: 0x6dd57820,\n\t0x399b0: 0x6dd57a20, 0x399b1: 0x6dd57c20, 0x399b2: 0x6dd57e20, 0x399b3: 0x6dd58020,\n\t0x399b4: 0x6dd58220, 0x399b5: 0x6dd58420, 0x399b6: 0x6dd58620, 0x399b7: 0x6dd58820,\n\t0x399b8: 0x6dd58a20, 0x399b9: 0x6dd58c20, 0x399ba: 0x6dd58e20, 0x399bb: 0x6dd59020,\n\t0x399bc: 0x6dee4620, 0x399bd: 0x6dee4820, 0x399be: 0x6dee4a20, 0x399bf: 0x6dee4c20,\n\t// Block 0xe67, offset 0x399c0\n\t0x399c0: 0x6dee4e20, 0x399c1: 0x6dee5020, 0x399c2: 0x6dee5220, 0x399c3: 0x6dee5420,\n\t0x399c4: 0x6dee5620, 0x399c5: 0x6dee5820, 0x399c6: 0x6dee5a20, 0x399c7: 0x6dee5c20,\n\t0x399c8: 0x6dee5e20, 0x399c9: 0x6dee6020, 0x399ca: 0x6dee6220, 0x399cb: 0x6dee6420,\n\t0x399cc: 0x6dee6620, 0x399cd: 0x6dee6820, 0x399ce: 0x6dee6a20, 0x399cf: 0x6dee6c20,\n\t0x399d0: 0x6dee6e20, 0x399d1: 0x6dee7020, 0x399d2: 0x6dee7220, 0x399d3: 0x6dee7420,\n\t0x399d4: 0x6dee7620, 0x399d5: 0x6dee7820, 0x399d6: 0x6e02ea20, 0x399d7: 0x6e02ec20,\n\t0x399d8: 0x6e02ee20, 0x399d9: 0x6e02f020, 0x399da: 0x6e02f220, 0x399db: 0x6e02f420,\n\t0x399dc: 0x6e02f620, 0x399dd: 0x6e02f820, 0x399de: 0x6e02fa20, 0x399df: 0x6e02fc20,\n\t0x399e0: 0x6e02fe20, 0x399e1: 0x6e030020, 0x399e2: 0x6e030220, 0x399e3: 0x6e030420,\n\t0x399e4: 0x6e030620, 0x399e5: 0x6e030820, 0x399e6: 0x6e148e20, 0x399e7: 0x6e149020,\n\t0x399e8: 0x6e149220, 0x399e9: 0x6e149420, 0x399ea: 0x6e149620, 0x399eb: 0x6e149820,\n\t0x399ec: 0x6e149a20, 0x399ed: 0x6e149c20, 0x399ee: 0x6e149e20, 0x399ef: 0x6e14a020,\n\t0x399f0: 0x6e14a220, 0x399f1: 0x6e223a20, 0x399f2: 0x6e223c20, 0x399f3: 0x6e223e20,\n\t0x399f4: 0x6e224020, 0x399f5: 0x6e224220, 0x399f6: 0x6e224420, 0x399f7: 0x6e224620,\n\t0x399f8: 0x6e224820, 0x399f9: 0x6e224a20, 0x399fa: 0x6e224c20, 0x399fb: 0x6e224e20,\n\t0x399fc: 0x6e225020, 0x399fd: 0x6e2c9020, 0x399fe: 0x6e2c9220, 0x399ff: 0x6e225220,\n\t// Block 0xe68, offset 0x39a00\n\t0x39a00: 0x6e2c9420, 0x39a01: 0x6e2c9620, 0x39a02: 0x6e2c9820, 0x39a03: 0x6e2c9a20,\n\t0x39a04: 0x6e2c9c20, 0x39a05: 0x6e2c9e20, 0x39a06: 0x6e2ca020, 0x39a07: 0x6e2ca220,\n\t0x39a08: 0x6e34b220, 0x39a09: 0x6e34b420, 0x39a0a: 0x6e34b620, 0x39a0b: 0x6e34b820,\n\t0x39a0c: 0x6e3a6a20, 0x39a0d: 0x6e3a6c20, 0x39a0e: 0x6e3e4420, 0x39a0f: 0x6e3e4620,\n\t0x39a10: 0x6e3e4820, 0x39a11: 0x6c40da20, 0x39a12: 0x6c60f420, 0x39a13: 0x6cb1e420,\n\t0x39a14: 0x6ce12e20, 0x39a15: 0x6ce13020, 0x39a16: 0x6ce13220, 0x39a17: 0x6d6a7420,\n\t0x39a18: 0x6c40dc20, 0x39a19: 0x6c60fa20, 0x39a1a: 0x6c60fc20, 0x39a1b: 0x6cb1ee20,\n\t0x39a1c: 0x6cb1f020, 0x39a1d: 0x6ce13620, 0x39a1e: 0x6ce13820, 0x39a1f: 0x6ce13a20,\n\t0x39a20: 0x6d0fa020, 0x39a21: 0x6d0fa220, 0x39a22: 0x6d0fa420, 0x39a23: 0x6d3dd020,\n\t0x39a24: 0x6d3dd220, 0x39a25: 0x6d3dd420, 0x39a26: 0x6d3dd620, 0x39a27: 0x6d6a7620,\n\t0x39a28: 0x6d6a7820, 0x39a29: 0x6d6a7a20, 0x39a2a: 0x6d6a7c20, 0x39a2b: 0x6d6a7e20,\n\t0x39a2c: 0x6d93d020, 0x39a2d: 0x6d93d220, 0x39a2e: 0x6d93d420, 0x39a2f: 0x6d93d620,\n\t0x39a30: 0x6d93d820, 0x39a31: 0x6d93da20, 0x39a32: 0x6db74620, 0x39a33: 0x6db74820,\n\t0x39a34: 0x6db74a20, 0x39a35: 0x6db74c20, 0x39a36: 0x6dd59620, 0x39a37: 0x6dd59820,\n\t0x39a38: 0x6dee7c20, 0x39a39: 0x6dee7e20, 0x39a3a: 0x6dee8020, 0x39a3b: 0x6dee8220,\n\t0x39a3c: 0x6dee8420, 0x39a3d: 0x6e14a820, 0x39a3e: 0x6e14aa20, 0x39a3f: 0x6e14ac20,\n\t// Block 0xe69, offset 0x39a40\n\t0x39a40: 0x6e225820, 0x39a41: 0x6e225a20, 0x39a42: 0x6e2ca620, 0x39a43: 0x6e2ca820,\n\t0x39a44: 0x6e2caa20, 0x39a45: 0x6e2cac20, 0x39a46: 0x6c26fe20, 0x39a47: 0x6c40de20,\n\t0x39a48: 0x6c610820, 0x39a49: 0x6c610a20, 0x39a4a: 0x6c610c20, 0x39a4b: 0x6c610e20,\n\t0x39a4c: 0x6c611020, 0x39a4d: 0x6c611220, 0x39a4e: 0x6c611420, 0x39a4f: 0x6c873420,\n\t0x39a50: 0x6c873620, 0x39a51: 0x6c873820, 0x39a52: 0x6c873a20, 0x39a53: 0x6c873c20,\n\t0x39a54: 0x6c873e20, 0x39a55: 0x6c874020, 0x39a56: 0x6c874220, 0x39a57: 0x6c874420,\n\t0x39a58: 0x6c874620, 0x39a59: 0x6c874820, 0x39a5a: 0x6c874a20, 0x39a5b: 0x6c874c20,\n\t0x39a5c: 0x6c874e20, 0x39a5d: 0x6cb20a20, 0x39a5e: 0x6cb20c20, 0x39a5f: 0x6cb20e20,\n\t0x39a60: 0x6cb21020, 0x39a61: 0x6cb21220, 0x39a62: 0x6cb21420, 0x39a63: 0x6cb21620,\n\t0x39a64: 0x6cb21820, 0x39a65: 0x6cb21a20, 0x39a66: 0x6cb21c20, 0x39a67: 0x6cb21e20,\n\t0x39a68: 0x6cb22020, 0x39a69: 0x6cb22220, 0x39a6a: 0x6cb22420, 0x39a6b: 0x6cb22620,\n\t0x39a6c: 0x6cb22820, 0x39a6d: 0x6cb22a20, 0x39a6e: 0x6cb22c20, 0x39a6f: 0x6cb22e20,\n\t0x39a70: 0x6cb23020, 0x39a71: 0x6cb23220, 0x39a72: 0x6cb23420, 0x39a73: 0x6cb23620,\n\t0x39a74: 0x6cb23820, 0x39a75: 0x6cb23a20, 0x39a76: 0x6ce16620, 0x39a77: 0x6ce16820,\n\t0x39a78: 0x6ce16a20, 0x39a79: 0x6ce16c20, 0x39a7a: 0x6ce16e20, 0x39a7b: 0x6ce17020,\n\t0x39a7c: 0x6ce17220, 0x39a7d: 0x6ce17420, 0x39a7e: 0x6ce17620, 0x39a7f: 0x6ce17820,\n\t// Block 0xe6a, offset 0x39a80\n\t0x39a80: 0x6ce17a20, 0x39a81: 0x6ce17c20, 0x39a82: 0x6ce17e20, 0x39a83: 0x6ce18020,\n\t0x39a84: 0x6ce18220, 0x39a85: 0x6ce18420, 0x39a86: 0x6ce18620, 0x39a87: 0x6ce18820,\n\t0x39a88: 0x6ce18a20, 0x39a89: 0x6ce18c20, 0x39a8a: 0x6ce18e20, 0x39a8b: 0x6ce19020,\n\t0x39a8c: 0x6ce19220, 0x39a8d: 0x6ce19420, 0x39a8e: 0x6ce19620, 0x39a8f: 0x6ce19820,\n\t0x39a90: 0x6d0fc620, 0x39a91: 0x6d0fc820, 0x39a92: 0x6d0fca20, 0x39a93: 0x6d0fcc20,\n\t0x39a94: 0x6d0fce20, 0x39a95: 0x6d0fd020, 0x39a96: 0x6d0fd220, 0x39a97: 0x6d0fd420,\n\t0x39a98: 0x6d0fd620, 0x39a99: 0x6d0fd820, 0x39a9a: 0x6d0fda20, 0x39a9b: 0x6d0fdc20,\n\t0x39a9c: 0x6d0fde20, 0x39a9d: 0x6d0fe020, 0x39a9e: 0x6d0fe220, 0x39a9f: 0x6d0fe420,\n\t0x39aa0: 0x6d0fe620, 0x39aa1: 0x6d0fe820, 0x39aa2: 0x6d0fea20, 0x39aa3: 0x6d0fec20,\n\t0x39aa4: 0x6d0fee20, 0x39aa5: 0x6d0ff020, 0x39aa6: 0x6d0ff220, 0x39aa7: 0x6d0ff420,\n\t0x39aa8: 0x6d0ff620, 0x39aa9: 0x6d0ff820, 0x39aaa: 0x6d0ffa20, 0x39aab: 0x6d0ffc20,\n\t0x39aac: 0x6d0ffe20, 0x39aad: 0x6d100020, 0x39aae: 0x6d100220, 0x39aaf: 0x6d3df420,\n\t0x39ab0: 0x6d3df620, 0x39ab1: 0x6d3df820, 0x39ab2: 0x6d3dfa20, 0x39ab3: 0x6d3dfc20,\n\t0x39ab4: 0x6d3dfe20, 0x39ab5: 0x6d3e0020, 0x39ab6: 0x6d3e0220, 0x39ab7: 0x6d3e0420,\n\t0x39ab8: 0x6d3e0620, 0x39ab9: 0x6d3e0820, 0x39aba: 0x6d3e0a20, 0x39abb: 0x6d3e0c20,\n\t0x39abc: 0x6d3e0e20, 0x39abd: 0x6d3e1020, 0x39abe: 0x6d3e1220, 0x39abf: 0x6d3e1420,\n\t// Block 0xe6b, offset 0x39ac0\n\t0x39ac0: 0x6d3e1620, 0x39ac1: 0x6d3e1820, 0x39ac2: 0x6d3e1a20, 0x39ac3: 0x6d3e1c20,\n\t0x39ac4: 0x6d3e1e20, 0x39ac5: 0x6d3e2020, 0x39ac6: 0x6d3e2220, 0x39ac7: 0x6d3e2420,\n\t0x39ac8: 0x6d3e2620, 0x39ac9: 0x6d3e2820, 0x39aca: 0x6d3e2a20, 0x39acb: 0x6d3e2c20,\n\t0x39acc: 0x6d3e2e20, 0x39acd: 0x6d3e3020, 0x39ace: 0x6d6aa420, 0x39acf: 0x6d6aa620,\n\t0x39ad0: 0x6d6aa820, 0x39ad1: 0x6d6aaa20, 0x39ad2: 0x6d6aac20, 0x39ad3: 0x6d6aae20,\n\t0x39ad4: 0x6d6ab020, 0x39ad5: 0x6d6ab220, 0x39ad6: 0x6d6ab420, 0x39ad7: 0x6d6ab620,\n\t0x39ad8: 0x6d6ab820, 0x39ad9: 0x6d6aba20, 0x39ada: 0x6d6abc20, 0x39adb: 0x6d6abe20,\n\t0x39adc: 0x6d6ac020, 0x39add: 0x6d3e3220, 0x39ade: 0x6d6ac220, 0x39adf: 0x6d93ea20,\n\t0x39ae0: 0x6d6ac420, 0x39ae1: 0x6d6ac620, 0x39ae2: 0x6d6ac820, 0x39ae3: 0x6d6aca20,\n\t0x39ae4: 0x6d6acc20, 0x39ae5: 0x6d6ace20, 0x39ae6: 0x6d6ad020, 0x39ae7: 0x6d6ad220,\n\t0x39ae8: 0x6d93ec20, 0x39ae9: 0x6d93ee20, 0x39aea: 0x6d93f020, 0x39aeb: 0x6d93f220,\n\t0x39aec: 0x6d93f420, 0x39aed: 0x6d93f620, 0x39aee: 0x6d93f820, 0x39aef: 0x6d93fa20,\n\t0x39af0: 0x6d93fc20, 0x39af1: 0x6d93fe20, 0x39af2: 0x6d940020, 0x39af3: 0x6d940220,\n\t0x39af4: 0x6d940420, 0x39af5: 0x6d940620, 0x39af6: 0x6d940820, 0x39af7: 0x6d940a20,\n\t0x39af8: 0x6d940c20, 0x39af9: 0x6d940e20, 0x39afa: 0x6d941020, 0x39afb: 0x6d941220,\n\t0x39afc: 0x6d941420, 0x39afd: 0x6d941620, 0x39afe: 0x6d941820, 0x39aff: 0x6d941a20,\n\t// Block 0xe6c, offset 0x39b00\n\t0x39b00: 0x6d941c20, 0x39b01: 0x6d941e20, 0x39b02: 0x6d942020, 0x39b03: 0x6d942220,\n\t0x39b04: 0x6d942420, 0x39b05: 0x6d942620, 0x39b06: 0x6d942820, 0x39b07: 0x6d942a20,\n\t0x39b08: 0x6d942c20, 0x39b09: 0x6db75820, 0x39b0a: 0x6db75a20, 0x39b0b: 0x6db75c20,\n\t0x39b0c: 0x6db75e20, 0x39b0d: 0x6db76020, 0x39b0e: 0x6db76220, 0x39b0f: 0x6db76420,\n\t0x39b10: 0x6db76620, 0x39b11: 0x6db76820, 0x39b12: 0x6db76a20, 0x39b13: 0x6db76c20,\n\t0x39b14: 0x6db76e20, 0x39b15: 0x6db77020, 0x39b16: 0x6db77220, 0x39b17: 0x6db77420,\n\t0x39b18: 0x6db77620, 0x39b19: 0x6db77820, 0x39b1a: 0x6db77a20, 0x39b1b: 0x6db77c20,\n\t0x39b1c: 0x6db77e20, 0x39b1d: 0x6db78020, 0x39b1e: 0x6dd5a820, 0x39b1f: 0x6dd5aa20,\n\t0x39b20: 0x6dd5ac20, 0x39b21: 0x6dd5ae20, 0x39b22: 0x6dd5b020, 0x39b23: 0x6dd5b220,\n\t0x39b24: 0x6dd5b420, 0x39b25: 0x6dd5b620, 0x39b26: 0x6dd5b820, 0x39b27: 0x6dd5ba20,\n\t0x39b28: 0x6dd5bc20, 0x39b29: 0x6dd5be20, 0x39b2a: 0x6dd5c020, 0x39b2b: 0x6dd5c220,\n\t0x39b2c: 0x6dd5c420, 0x39b2d: 0x6dd5c620, 0x39b2e: 0x6dd5c820, 0x39b2f: 0x6dd5ca20,\n\t0x39b30: 0x6dd5cc20, 0x39b31: 0x6dd5ce20, 0x39b32: 0x6dd5d020, 0x39b33: 0x6dd5d220,\n\t0x39b34: 0x6dd5d420, 0x39b35: 0x6dd5d620, 0x39b36: 0x6dee9020, 0x39b37: 0x6dee9220,\n\t0x39b38: 0x6dee9420, 0x39b39: 0x6dee9620, 0x39b3a: 0x6dee9820, 0x39b3b: 0x6dee9a20,\n\t0x39b3c: 0x6dee9c20, 0x39b3d: 0x6dee9e20, 0x39b3e: 0x6deea020, 0x39b3f: 0x6deea220,\n\t// Block 0xe6d, offset 0x39b40\n\t0x39b40: 0x6deea420, 0x39b41: 0x6deea620, 0x39b42: 0x6deea820, 0x39b43: 0x6deeaa20,\n\t0x39b44: 0x6deeac20, 0x39b45: 0x6deeae20, 0x39b46: 0x6deeb020, 0x39b47: 0x6deeb220,\n\t0x39b48: 0x6deeb420, 0x39b49: 0x6deeb620, 0x39b4a: 0x6deeb820, 0x39b4b: 0x6deeba20,\n\t0x39b4c: 0x6deebc20, 0x39b4d: 0x6e031420, 0x39b4e: 0x6e031620, 0x39b4f: 0x6e031820,\n\t0x39b50: 0x6e031a20, 0x39b51: 0x6e031c20, 0x39b52: 0x6e031e20, 0x39b53: 0x6e032020,\n\t0x39b54: 0x6e032220, 0x39b55: 0x6e032420, 0x39b56: 0x6e032620, 0x39b57: 0x6e032820,\n\t0x39b58: 0x6e032a20, 0x39b59: 0x6e14b420, 0x39b5a: 0x6e14b620, 0x39b5b: 0x6e14b820,\n\t0x39b5c: 0x6e14ba20, 0x39b5d: 0x6e14bc20, 0x39b5e: 0x6e14be20, 0x39b5f: 0x6e14c020,\n\t0x39b60: 0x6e14c220, 0x39b61: 0x6e226220, 0x39b62: 0x6e226420, 0x39b63: 0x6e226620,\n\t0x39b64: 0x6e226820, 0x39b65: 0x6e226a20, 0x39b66: 0x6e226c20, 0x39b67: 0x6e226e20,\n\t0x39b68: 0x6e2cb220, 0x39b69: 0x6e2cb420, 0x39b6a: 0x6e2cb620, 0x39b6b: 0x6e2cb820,\n\t0x39b6c: 0x6e2cba20, 0x39b6d: 0x6e2cbc20, 0x39b6e: 0x6e34bc20, 0x39b6f: 0x6e34be20,\n\t0x39b70: 0x6e3a7020, 0x39b71: 0x6e3a7220, 0x39b72: 0x6e3a7420, 0x39b73: 0x6e3a7620,\n\t0x39b74: 0x6e3a7820, 0x39b75: 0x6e412020, 0x39b76: 0x6e432020, 0x39b77: 0x6c270420,\n\t0x39b78: 0x6c40e020, 0x39b79: 0x6c40e220, 0x39b7a: 0x6c611c20, 0x39b7b: 0x6c611e20,\n\t0x39b7c: 0x6c612020, 0x39b7d: 0x6c612220, 0x39b7e: 0x6c612420, 0x39b7f: 0x6c612620,\n\t// Block 0xe6e, offset 0x39b80\n\t0x39b80: 0x6c612820, 0x39b81: 0x6c875c20, 0x39b82: 0x6c875e20, 0x39b83: 0x6c876020,\n\t0x39b84: 0x6c876220, 0x39b85: 0x6c876420, 0x39b86: 0x6c876620, 0x39b87: 0x6c876820,\n\t0x39b88: 0x6c876a20, 0x39b89: 0x6c876c20, 0x39b8a: 0x6c876e20, 0x39b8b: 0x6c877020,\n\t0x39b8c: 0x6c877220, 0x39b8d: 0x6c877420, 0x39b8e: 0x6c877620, 0x39b8f: 0x6c877820,\n\t0x39b90: 0x6c877a20, 0x39b91: 0x6c877c20, 0x39b92: 0x6cb26420, 0x39b93: 0x6cb26620,\n\t0x39b94: 0x6cb26820, 0x39b95: 0x6cb26a20, 0x39b96: 0x6cb26c20, 0x39b97: 0x6cb26e20,\n\t0x39b98: 0x6cb27020, 0x39b99: 0x6cb27220, 0x39b9a: 0x6cb27420, 0x39b9b: 0x6cb27620,\n\t0x39b9c: 0x6cb27820, 0x39b9d: 0x6cb27a20, 0x39b9e: 0x6cb27c20, 0x39b9f: 0x6cb27e20,\n\t0x39ba0: 0x6cb28020, 0x39ba1: 0x6cb28220, 0x39ba2: 0x6cb28420, 0x39ba3: 0x6cb28620,\n\t0x39ba4: 0x6cb28820, 0x39ba5: 0x6cb28a20, 0x39ba6: 0x6cb28c20, 0x39ba7: 0x6cb28e20,\n\t0x39ba8: 0x6cb29020, 0x39ba9: 0x6cb29220, 0x39baa: 0x6cb29420, 0x39bab: 0x6cb29620,\n\t0x39bac: 0x6cb29820, 0x39bad: 0x6cb29a20, 0x39bae: 0x6cb29c20, 0x39baf: 0x6cb29e20,\n\t0x39bb0: 0x6cb2a020, 0x39bb1: 0x6cb2a220, 0x39bb2: 0x6ce1ee20, 0x39bb3: 0x6ce1f020,\n\t0x39bb4: 0x6ce1f220, 0x39bb5: 0x6ce1f420, 0x39bb6: 0x6ce1f620, 0x39bb7: 0x6ce1f820,\n\t0x39bb8: 0x6ce1fa20, 0x39bb9: 0x6ce1fc20, 0x39bba: 0x6ce1fe20, 0x39bbb: 0x6ce20020,\n\t0x39bbc: 0x6ce20220, 0x39bbd: 0x6ce20420, 0x39bbe: 0x6ce20620, 0x39bbf: 0x6ce20820,\n\t// Block 0xe6f, offset 0x39bc0\n\t0x39bc0: 0x6ce20a20, 0x39bc1: 0x6ce20c20, 0x39bc2: 0x6ce20e20, 0x39bc3: 0x6ce21020,\n\t0x39bc4: 0x6ce21220, 0x39bc5: 0x6ce21420, 0x39bc6: 0x6ce21620, 0x39bc7: 0x6ce21820,\n\t0x39bc8: 0x6ce21a20, 0x39bc9: 0x6ce21c20, 0x39bca: 0x6ce21e20, 0x39bcb: 0x6ce22020,\n\t0x39bcc: 0x6ce22220, 0x39bcd: 0x6ce22420, 0x39bce: 0x6ce22620, 0x39bcf: 0x6ce22820,\n\t0x39bd0: 0x6ce22a20, 0x39bd1: 0x6ce22c20, 0x39bd2: 0x6ce22e20, 0x39bd3: 0x6ce23020,\n\t0x39bd4: 0x6ce23220, 0x39bd5: 0x6d105020, 0x39bd6: 0x6d105220, 0x39bd7: 0x6d105420,\n\t0x39bd8: 0x6d105620, 0x39bd9: 0x6d105820, 0x39bda: 0x6d105a20, 0x39bdb: 0x6d105c20,\n\t0x39bdc: 0x6d105e20, 0x39bdd: 0x6d106020, 0x39bde: 0x6d106220, 0x39bdf: 0x6d106420,\n\t0x39be0: 0x6d106620, 0x39be1: 0x6d106820, 0x39be2: 0x6d106a20, 0x39be3: 0x6d106c20,\n\t0x39be4: 0x6d106e20, 0x39be5: 0x6d107020, 0x39be6: 0x6d107220, 0x39be7: 0x6d107420,\n\t0x39be8: 0x6d107620, 0x39be9: 0x6d107820, 0x39bea: 0x6d107a20, 0x39beb: 0x6d107c20,\n\t0x39bec: 0x6d107e20, 0x39bed: 0x6d108020, 0x39bee: 0x6d108220, 0x39bef: 0x6d108420,\n\t0x39bf0: 0x6d108620, 0x39bf1: 0x6d108820, 0x39bf2: 0x6d108a20, 0x39bf3: 0x6d108c20,\n\t0x39bf4: 0x6d108e20, 0x39bf5: 0x6d109020, 0x39bf6: 0x6d109220, 0x39bf7: 0x6d109420,\n\t0x39bf8: 0x6d109620, 0x39bf9: 0x6d109820, 0x39bfa: 0x6d109a20, 0x39bfb: 0x6d109c20,\n\t0x39bfc: 0x6d109e20, 0x39bfd: 0x6d10a020, 0x39bfe: 0x6d10a220, 0x39bff: 0x6d10a420,\n\t// Block 0xe70, offset 0x39c00\n\t0x39c00: 0x6d3e7220, 0x39c01: 0x6d3e7420, 0x39c02: 0x6d3e7620, 0x39c03: 0x6d3e7820,\n\t0x39c04: 0x6d3e7a20, 0x39c05: 0x6d3e7c20, 0x39c06: 0x6d3e7e20, 0x39c07: 0x6d3e8020,\n\t0x39c08: 0x6d3e8220, 0x39c09: 0x6d3e8420, 0x39c0a: 0x6d3e8620, 0x39c0b: 0x6d3e8820,\n\t0x39c0c: 0x6d3e8a20, 0x39c0d: 0x6d3e8c20, 0x39c0e: 0x6d3e8e20, 0x39c0f: 0x6d3e9020,\n\t0x39c10: 0x6d3e9220, 0x39c11: 0x6d3e9420, 0x39c12: 0x6d3e9620, 0x39c13: 0x6d3e9820,\n\t0x39c14: 0x6d3e9a20, 0x39c15: 0x6d3e9c20, 0x39c16: 0x6d3e9e20, 0x39c17: 0x6d3ea020,\n\t0x39c18: 0x6d3ea220, 0x39c19: 0x6d3ea420, 0x39c1a: 0x6d3ea620, 0x39c1b: 0x6d3ea820,\n\t0x39c1c: 0x6d3eaa20, 0x39c1d: 0x6d3eac20, 0x39c1e: 0x6d3eae20, 0x39c1f: 0x6d3eb020,\n\t0x39c20: 0x6d3eb220, 0x39c21: 0x6d3eb420, 0x39c22: 0x6d3eb620, 0x39c23: 0x6d3eb820,\n\t0x39c24: 0x6d3eba20, 0x39c25: 0x6d3ebc20, 0x39c26: 0x6d3ebe20, 0x39c27: 0x6d3ec020,\n\t0x39c28: 0x6d3ec220, 0x39c29: 0x6d3ec420, 0x39c2a: 0x6d3ec620, 0x39c2b: 0x6d3ec820,\n\t0x39c2c: 0x6d3eca20, 0x39c2d: 0x6d3ecc20, 0x39c2e: 0x6d3ece20, 0x39c2f: 0x6d3ed020,\n\t0x39c30: 0x6d3ed220, 0x39c31: 0x6d3ed420, 0x39c32: 0x6d3ed620, 0x39c33: 0x6d3ed820,\n\t0x39c34: 0x6d3eda20, 0x39c35: 0x6d6b3c20, 0x39c36: 0x6d6b3e20, 0x39c37: 0x6d6b4020,\n\t0x39c38: 0x6d6b4220, 0x39c39: 0x6d6b4420, 0x39c3a: 0x6d6b4620, 0x39c3b: 0x6d6b4820,\n\t0x39c3c: 0x6d6b4a20, 0x39c3d: 0x6d6b4c20, 0x39c3e: 0x6d6b4e20, 0x39c3f: 0x6d6b5020,\n\t// Block 0xe71, offset 0x39c40\n\t0x39c40: 0x6d6b5220, 0x39c41: 0x6d6b5420, 0x39c42: 0x6d6b5620, 0x39c43: 0x6d6b5820,\n\t0x39c44: 0x6d6b5a20, 0x39c45: 0x6d6b5c20, 0x39c46: 0x6d6b5e20, 0x39c47: 0x6d6b6020,\n\t0x39c48: 0x6d6b6220, 0x39c49: 0x6d6b6420, 0x39c4a: 0x6d6b6620, 0x39c4b: 0x6d6b6820,\n\t0x39c4c: 0x6d6b6a20, 0x39c4d: 0x6d6b6c20, 0x39c4e: 0x6d6b6e20, 0x39c4f: 0x6d6b7020,\n\t0x39c50: 0x6d6b7220, 0x39c51: 0x6d6b7420, 0x39c52: 0x6d6b7620, 0x39c53: 0x6d6b7820,\n\t0x39c54: 0x6d6b7a20, 0x39c55: 0x6d6b7c20, 0x39c56: 0x6d6b7e20, 0x39c57: 0x6d6b8020,\n\t0x39c58: 0x6d6b8220, 0x39c59: 0x6d6b8420, 0x39c5a: 0x6d6b8620, 0x39c5b: 0x6d6b8820,\n\t0x39c5c: 0x6d6b8a20, 0x39c5d: 0x6d946e20, 0x39c5e: 0x6d947020, 0x39c5f: 0x6d6b8c20,\n\t0x39c60: 0x6d947220, 0x39c61: 0x6d947420, 0x39c62: 0x6d947620, 0x39c63: 0x6d947820,\n\t0x39c64: 0x6d947a20, 0x39c65: 0x6d947c20, 0x39c66: 0x6d947e20, 0x39c67: 0x6d948020,\n\t0x39c68: 0x6d948220, 0x39c69: 0x6d948420, 0x39c6a: 0x6d948620, 0x39c6b: 0x6d948820,\n\t0x39c6c: 0x6d948a20, 0x39c6d: 0x6d948c20, 0x39c6e: 0x6d948e20, 0x39c6f: 0x6d949020,\n\t0x39c70: 0x6d949220, 0x39c71: 0x6d949420, 0x39c72: 0x6d949620, 0x39c73: 0x6d949820,\n\t0x39c74: 0x6d949a20, 0x39c75: 0x6d949c20, 0x39c76: 0x6d949e20, 0x39c77: 0x6d94a020,\n\t0x39c78: 0x6d94a220, 0x39c79: 0x6d94a420, 0x39c7a: 0x6d94a620, 0x39c7b: 0x6d94a820,\n\t0x39c7c: 0x6d94aa20, 0x39c7d: 0x6d94ac20, 0x39c7e: 0x6d94ae20, 0x39c7f: 0x6d94b020,\n\t// Block 0xe72, offset 0x39c80\n\t0x39c80: 0x6d94b220, 0x39c81: 0x6d94b420, 0x39c82: 0x6d94b620, 0x39c83: 0x6d94b820,\n\t0x39c84: 0x6d94ba20, 0x39c85: 0x6d94bc20, 0x39c86: 0x6d94be20, 0x39c87: 0x6d94c020,\n\t0x39c88: 0x6d94c220, 0x39c89: 0x6d94c420, 0x39c8a: 0x6d94c620, 0x39c8b: 0x6d94c820,\n\t0x39c8c: 0x6d94ca20, 0x39c8d: 0x6d94cc20, 0x39c8e: 0x6d94ce20, 0x39c8f: 0x6d94d020,\n\t0x39c90: 0x6d94d220, 0x39c91: 0x6d94d420, 0x39c92: 0x6d94d620, 0x39c93: 0x6db7ae20,\n\t0x39c94: 0x6db7b020, 0x39c95: 0x6db7b220, 0x39c96: 0x6db7b420, 0x39c97: 0x6db7b620,\n\t0x39c98: 0x6db7b820, 0x39c99: 0x6db7ba20, 0x39c9a: 0x6db7bc20, 0x39c9b: 0x6db7be20,\n\t0x39c9c: 0x6db7c020, 0x39c9d: 0x6db7c220, 0x39c9e: 0x6db7c420, 0x39c9f: 0x6db7c620,\n\t0x39ca0: 0x6db7c820, 0x39ca1: 0x6db7ca20, 0x39ca2: 0x6db7cc20, 0x39ca3: 0x6db7ce20,\n\t0x39ca4: 0x6db7d020, 0x39ca5: 0x6db7d220, 0x39ca6: 0x6db7d420, 0x39ca7: 0x6db7d620,\n\t0x39ca8: 0x6db7d820, 0x39ca9: 0x6db7da20, 0x39caa: 0x6db7dc20, 0x39cab: 0x6db7de20,\n\t0x39cac: 0x6db7e020, 0x39cad: 0x6db7e220, 0x39cae: 0x6db7e420, 0x39caf: 0x6db7e620,\n\t0x39cb0: 0x6db7e820, 0x39cb1: 0x6db7ea20, 0x39cb2: 0x6db7ec20, 0x39cb3: 0x6db7ee20,\n\t0x39cb4: 0x6db7f020, 0x39cb5: 0x6db7f220, 0x39cb6: 0x6db7f420, 0x39cb7: 0x6db7f620,\n\t0x39cb8: 0x6db7f820, 0x39cb9: 0x6db7fa20, 0x39cba: 0x6db7fc20, 0x39cbb: 0x6db7fe20,\n\t0x39cbc: 0x6db80020, 0x39cbd: 0x6db80220, 0x39cbe: 0x6db80420, 0x39cbf: 0x6db80620,\n\t// Block 0xe73, offset 0x39cc0\n\t0x39cc0: 0x6db80820, 0x39cc1: 0x6db80a20, 0x39cc2: 0x6db80c20, 0x39cc3: 0x6dd61420,\n\t0x39cc4: 0x6db80e20, 0x39cc5: 0x6dd61620, 0x39cc6: 0x6dd61820, 0x39cc7: 0x6dd61a20,\n\t0x39cc8: 0x6dd61c20, 0x39cc9: 0x6dd61e20, 0x39cca: 0x6dd62020, 0x39ccb: 0x6dd62220,\n\t0x39ccc: 0x6dd62420, 0x39ccd: 0x6dd62620, 0x39cce: 0x6dd62820, 0x39ccf: 0x6dd62a20,\n\t0x39cd0: 0x6dd62c20, 0x39cd1: 0x6dd62e20, 0x39cd2: 0x6dd63020, 0x39cd3: 0x6dd63220,\n\t0x39cd4: 0x6dd63420, 0x39cd5: 0x6dd63620, 0x39cd6: 0x6dd63820, 0x39cd7: 0x6dd63a20,\n\t0x39cd8: 0x6dd63c20, 0x39cd9: 0x6dd63e20, 0x39cda: 0x6dd64020, 0x39cdb: 0x6dd64220,\n\t0x39cdc: 0x6dd64420, 0x39cdd: 0x6dd64620, 0x39cde: 0x6dd64820, 0x39cdf: 0x6dd64a20,\n\t0x39ce0: 0x6dd64c20, 0x39ce1: 0x6dd64e20, 0x39ce2: 0x6dd65020, 0x39ce3: 0x6dd65220,\n\t0x39ce4: 0x6dd65420, 0x39ce5: 0x6dd65620, 0x39ce6: 0x6dd65820, 0x39ce7: 0x6dd65a20,\n\t0x39ce8: 0x6dd65c20, 0x39ce9: 0x6dd65e20, 0x39cea: 0x6dd66020, 0x39ceb: 0x6dd66220,\n\t0x39cec: 0x6dd66420, 0x39ced: 0x6dd66620, 0x39cee: 0x6dd66820, 0x39cef: 0x6dd66a20,\n\t0x39cf0: 0x6dd66c20, 0x39cf1: 0x6dd66e20, 0x39cf2: 0x6dd67020, 0x39cf3: 0x6dd67220,\n\t0x39cf4: 0x6dd67420, 0x39cf5: 0x6dd67620, 0x39cf6: 0x6dd67820, 0x39cf7: 0x6dd67a20,\n\t0x39cf8: 0x6dd67c20, 0x39cf9: 0x6dd67e20, 0x39cfa: 0x6dd68020, 0x39cfb: 0x6dd68220,\n\t0x39cfc: 0x6dd68420, 0x39cfd: 0x6dd68620, 0x39cfe: 0x6dd68820, 0x39cff: 0x6dd68a20,\n\t// Block 0xe74, offset 0x39d00\n\t0x39d00: 0x6dd68c20, 0x39d01: 0x6dd68e20, 0x39d02: 0x6dd69020, 0x39d03: 0x6dd69220,\n\t0x39d04: 0x6dd69420, 0x39d05: 0x6dd69620, 0x39d06: 0x6dd69820, 0x39d07: 0x6dd69a20,\n\t0x39d08: 0x6dd69c20, 0x39d09: 0x6dd69e20, 0x39d0a: 0x6deef420, 0x39d0b: 0x6deef620,\n\t0x39d0c: 0x6deef820, 0x39d0d: 0x6deefa20, 0x39d0e: 0x6deefc20, 0x39d0f: 0x6deefe20,\n\t0x39d10: 0x6def0020, 0x39d11: 0x6def0220, 0x39d12: 0x6def0420, 0x39d13: 0x6def0620,\n\t0x39d14: 0x6def0820, 0x39d15: 0x6def0a20, 0x39d16: 0x6def0c20, 0x39d17: 0x6def0e20,\n\t0x39d18: 0x6def1020, 0x39d19: 0x6def1220, 0x39d1a: 0x6dd6a020, 0x39d1b: 0x6def1420,\n\t0x39d1c: 0x6def1620, 0x39d1d: 0x6def1820, 0x39d1e: 0x6def1a20, 0x39d1f: 0x6def1c20,\n\t0x39d20: 0x6def1e20, 0x39d21: 0x6def2020, 0x39d22: 0x6def2220, 0x39d23: 0x6def2420,\n\t0x39d24: 0x6def2620, 0x39d25: 0x6def2820, 0x39d26: 0x6def2a20, 0x39d27: 0x6def2c20,\n\t0x39d28: 0x6def2e20, 0x39d29: 0x6def3020, 0x39d2a: 0x6def3220, 0x39d2b: 0x6def3420,\n\t0x39d2c: 0x6def3620, 0x39d2d: 0x6def3820, 0x39d2e: 0x6def3a20, 0x39d2f: 0x6def3c20,\n\t0x39d30: 0x6def3e20, 0x39d31: 0x6def4020, 0x39d32: 0x6def4220, 0x39d33: 0x6def4420,\n\t0x39d34: 0x6def4620, 0x39d35: 0x6def4820, 0x39d36: 0x6def4a20, 0x39d37: 0x6def4c20,\n\t0x39d38: 0x6def4e20, 0x39d39: 0x6def5020, 0x39d3a: 0x6def5220, 0x39d3b: 0x6def5420,\n\t0x39d3c: 0x6def5620, 0x39d3d: 0x6def5820, 0x39d3e: 0x6def5a20, 0x39d3f: 0x6def5c20,\n\t// Block 0xe75, offset 0x39d40\n\t0x39d40: 0x6def5e20, 0x39d41: 0x6e034020, 0x39d42: 0x6e034220, 0x39d43: 0x6e034420,\n\t0x39d44: 0x6e034620, 0x39d45: 0x6e034820, 0x39d46: 0x6e034a20, 0x39d47: 0x6e034c20,\n\t0x39d48: 0x6e034e20, 0x39d49: 0x6e035020, 0x39d4a: 0x6e035220, 0x39d4b: 0x6e035420,\n\t0x39d4c: 0x6e035620, 0x39d4d: 0x6e035820, 0x39d4e: 0x6e035a20, 0x39d4f: 0x6e035c20,\n\t0x39d50: 0x6e035e20, 0x39d51: 0x6e036020, 0x39d52: 0x6e036220, 0x39d53: 0x6e036420,\n\t0x39d54: 0x6e036620, 0x39d55: 0x6e036820, 0x39d56: 0x6e036a20, 0x39d57: 0x6e036c20,\n\t0x39d58: 0x6e036e20, 0x39d59: 0x6e037020, 0x39d5a: 0x6e037220, 0x39d5b: 0x6e037420,\n\t0x39d5c: 0x6e037620, 0x39d5d: 0x6e037820, 0x39d5e: 0x6e037a20, 0x39d5f: 0x6e037c20,\n\t0x39d60: 0x6e037e20, 0x39d61: 0x6e038020, 0x39d62: 0x6e038220, 0x39d63: 0x6e038420,\n\t0x39d64: 0x6e038620, 0x39d65: 0x6e038820, 0x39d66: 0x6e038a20, 0x39d67: 0x6e038c20,\n\t0x39d68: 0x6e038e20, 0x39d69: 0x6e039020, 0x39d6a: 0x6e14d420, 0x39d6b: 0x6e14d620,\n\t0x39d6c: 0x6e14d820, 0x39d6d: 0x6e14da20, 0x39d6e: 0x6e14dc20, 0x39d6f: 0x6e14de20,\n\t0x39d70: 0x6e14e020, 0x39d71: 0x6e14e220, 0x39d72: 0x6e14e420, 0x39d73: 0x6e14e620,\n\t0x39d74: 0x6e14e820, 0x39d75: 0x6e14ea20, 0x39d76: 0x6e14ec20, 0x39d77: 0x6e14ee20,\n\t0x39d78: 0x6e14f020, 0x39d79: 0x6e14f220, 0x39d7a: 0x6e14f420, 0x39d7b: 0x6e14f620,\n\t0x39d7c: 0x6e14f820, 0x39d7d: 0x6e14fa20, 0x39d7e: 0x6e14fc20, 0x39d7f: 0x6e14fe20,\n\t// Block 0xe76, offset 0x39d80\n\t0x39d80: 0x6e150020, 0x39d81: 0x6e228020, 0x39d82: 0x6e228220, 0x39d83: 0x6e228420,\n\t0x39d84: 0x6e228620, 0x39d85: 0x6e228820, 0x39d86: 0x6e228a20, 0x39d87: 0x6e228c20,\n\t0x39d88: 0x6e228e20, 0x39d89: 0x6e229020, 0x39d8a: 0x6e229220, 0x39d8b: 0x6e229420,\n\t0x39d8c: 0x6e229620, 0x39d8d: 0x6e229820, 0x39d8e: 0x6e229a20, 0x39d8f: 0x6e229c20,\n\t0x39d90: 0x6e229e20, 0x39d91: 0x6e22a020, 0x39d92: 0x6e22a220, 0x39d93: 0x6e22a420,\n\t0x39d94: 0x6e22a620, 0x39d95: 0x6e22a820, 0x39d96: 0x6e2cca20, 0x39d97: 0x6e2ccc20,\n\t0x39d98: 0x6e2cce20, 0x39d99: 0x6e2cd020, 0x39d9a: 0x6e2cd220, 0x39d9b: 0x6e2cd420,\n\t0x39d9c: 0x6e2cd620, 0x39d9d: 0x6e2cd820, 0x39d9e: 0x6e2cda20, 0x39d9f: 0x6e2cdc20,\n\t0x39da0: 0x6e2cde20, 0x39da1: 0x6e2ce020, 0x39da2: 0x6e2ce220, 0x39da3: 0x6e2ce420,\n\t0x39da4: 0x6e34ca20, 0x39da5: 0x6e34cc20, 0x39da6: 0x6e34ce20, 0x39da7: 0x6e34d020,\n\t0x39da8: 0x6e34d220, 0x39da9: 0x6e34d420, 0x39daa: 0x6e34d620, 0x39dab: 0x6e34d820,\n\t0x39dac: 0x6e34da20, 0x39dad: 0x6e34dc20, 0x39dae: 0x6e3a8620, 0x39daf: 0x6e3a8820,\n\t0x39db0: 0x6e3a8a20, 0x39db1: 0x6e3a8c20, 0x39db2: 0x6e3a8e20, 0x39db3: 0x6e3a9020,\n\t0x39db4: 0x6e3a9220, 0x39db5: 0x6e3a9420, 0x39db6: 0x6e3a9620, 0x39db7: 0x6e3a9820,\n\t0x39db8: 0x6e3a9a20, 0x39db9: 0x6e3a9c20, 0x39dba: 0x6e3a9e20, 0x39dbb: 0x6e3e5020,\n\t0x39dbc: 0x6e3e5220, 0x39dbd: 0x6e3e5420, 0x39dbe: 0x6e3e5620, 0x39dbf: 0x6e3e5820,\n\t// Block 0xe77, offset 0x39dc0\n\t0x39dc0: 0x6e3e5a20, 0x39dc1: 0x6e412620, 0x39dc2: 0x6e412820, 0x39dc3: 0x6e412a20,\n\t0x39dc4: 0x6e432620, 0x39dc5: 0x6e432820, 0x39dc6: 0x6e432a20, 0x39dc7: 0x6e432c20,\n\t0x39dc8: 0x6e448820, 0x39dc9: 0x6e448a20, 0x39dca: 0x6e448c20, 0x39dcb: 0x6e455e20,\n\t0x39dcc: 0x6e456020, 0x39dcd: 0x6e45dc20, 0x39dce: 0x6e470a20, 0x39dcf: 0x6c270820,\n\t0x39dd0: 0x6c270a20, 0x39dd1: 0x6c270c20, 0x39dd2: 0x6c612a20, 0x39dd3: 0x6c878220,\n\t0x39dd4: 0x6c878420, 0x39dd5: 0x6c878620, 0x39dd6: 0x6c878820, 0x39dd7: 0x6c878a20,\n\t0x39dd8: 0x6cb2b020, 0x39dd9: 0x6cb2b220, 0x39dda: 0x6cb2b420, 0x39ddb: 0x6cb2b620,\n\t0x39ddc: 0x6cb2b820, 0x39ddd: 0x6cb2ba20, 0x39dde: 0x6cb2bc20, 0x39ddf: 0x6cb2be20,\n\t0x39de0: 0x6cb2c020, 0x39de1: 0x6cb2c220, 0x39de2: 0x6cb2c420, 0x39de3: 0x6cb2c620,\n\t0x39de4: 0x6cb2c820, 0x39de5: 0x6cb2ca20, 0x39de6: 0x6cb2cc20, 0x39de7: 0x6cb2ce20,\n\t0x39de8: 0x6cb2d020, 0x39de9: 0x6ce24620, 0x39dea: 0x6ce24820, 0x39deb: 0x6ce24a20,\n\t0x39dec: 0x6ce24c20, 0x39ded: 0x6ce24e20, 0x39dee: 0x6ce25020, 0x39def: 0x6ce25220,\n\t0x39df0: 0x6ce25420, 0x39df1: 0x6ce25620, 0x39df2: 0x6ce25820, 0x39df3: 0x6ce25a20,\n\t0x39df4: 0x6ce25c20, 0x39df5: 0x6ce25e20, 0x39df6: 0x6ce26020, 0x39df7: 0x6ce26220,\n\t0x39df8: 0x6d10bc20, 0x39df9: 0x6d10be20, 0x39dfa: 0x6d10c020, 0x39dfb: 0x6d10c220,\n\t0x39dfc: 0x6d10c420, 0x39dfd: 0x6d10c620, 0x39dfe: 0x6d10c820, 0x39dff: 0x6d10ca20,\n\t// Block 0xe78, offset 0x39e00\n\t0x39e00: 0x6d10cc20, 0x39e01: 0x6d10ce20, 0x39e02: 0x6d10d020, 0x39e03: 0x6d10d220,\n\t0x39e04: 0x6d10d420, 0x39e05: 0x6d10d620, 0x39e06: 0x6d10d820, 0x39e07: 0x6d10da20,\n\t0x39e08: 0x6d3ee820, 0x39e09: 0x6d3eea20, 0x39e0a: 0x6d3eec20, 0x39e0b: 0x6d3eee20,\n\t0x39e0c: 0x6d3ef020, 0x39e0d: 0x6d3ef220, 0x39e0e: 0x6d3ef420, 0x39e0f: 0x6d3ef620,\n\t0x39e10: 0x6d3ef820, 0x39e11: 0x6d3efa20, 0x39e12: 0x6d3efc20, 0x39e13: 0x6d3efe20,\n\t0x39e14: 0x6d6bac20, 0x39e15: 0x6d6bae20, 0x39e16: 0x6d6bb020, 0x39e17: 0x6d6bb220,\n\t0x39e18: 0x6d6bb420, 0x39e19: 0x6d6bb620, 0x39e1a: 0x6d6bb820, 0x39e1b: 0x6d6bba20,\n\t0x39e1c: 0x6d6bbc20, 0x39e1d: 0x6d6bbe20, 0x39e1e: 0x6d6bc020, 0x39e1f: 0x6d6bc220,\n\t0x39e20: 0x6d6bc420, 0x39e21: 0x6d6bc620, 0x39e22: 0x6d94e820, 0x39e23: 0x6d94ea20,\n\t0x39e24: 0x6d94ec20, 0x39e25: 0x6d94ee20, 0x39e26: 0x6db81a20, 0x39e27: 0x6d94f020,\n\t0x39e28: 0x6d94f220, 0x39e29: 0x6d94f420, 0x39e2a: 0x6d94f620, 0x39e2b: 0x6d94f820,\n\t0x39e2c: 0x6d94fa20, 0x39e2d: 0x6d94fc20, 0x39e2e: 0x6db81c20, 0x39e2f: 0x6db81e20,\n\t0x39e30: 0x6db82020, 0x39e31: 0x6db82220, 0x39e32: 0x6db82420, 0x39e33: 0x6db82620,\n\t0x39e34: 0x6db82820, 0x39e35: 0x6db82a20, 0x39e36: 0x6db82c20, 0x39e37: 0x6db82e20,\n\t0x39e38: 0x6db83020, 0x39e39: 0x6dd6b220, 0x39e3a: 0x6dd6b420, 0x39e3b: 0x6dd6b620,\n\t0x39e3c: 0x6dd6b820, 0x39e3d: 0x6dd6ba20, 0x39e3e: 0x6dd6bc20, 0x39e3f: 0x6def7420,\n\t// Block 0xe79, offset 0x39e40\n\t0x39e40: 0x6def7620, 0x39e41: 0x6def7820, 0x39e42: 0x6def7a20, 0x39e43: 0x6def7c20,\n\t0x39e44: 0x6def7e20, 0x39e45: 0x6def8020, 0x39e46: 0x6def8220, 0x39e47: 0x6def8420,\n\t0x39e48: 0x6def8620, 0x39e49: 0x6def8820, 0x39e4a: 0x6def8a20, 0x39e4b: 0x6def8c20,\n\t0x39e4c: 0x6def8e20, 0x39e4d: 0x6e039e20, 0x39e4e: 0x6e03a020, 0x39e4f: 0x6e03a220,\n\t0x39e50: 0x6e03a420, 0x39e51: 0x6e03a620, 0x39e52: 0x6e03a820, 0x39e53: 0x6e150820,\n\t0x39e54: 0x6e150a20, 0x39e55: 0x6e150c20, 0x39e56: 0x6e150e20, 0x39e57: 0x6e151020,\n\t0x39e58: 0x6e22ae20, 0x39e59: 0x6e22b020, 0x39e5a: 0x6e22b220, 0x39e5b: 0x6e2cea20,\n\t0x39e5c: 0x6e2cec20, 0x39e5d: 0x6e3aa020, 0x39e5e: 0x6e3aa220, 0x39e5f: 0x6e3e5c20,\n\t0x39e60: 0x6c613620, 0x39e61: 0x6c613820, 0x39e62: 0x6c613a20, 0x39e63: 0x6c613c20,\n\t0x39e64: 0x6c613e20, 0x39e65: 0x6c614020, 0x39e66: 0x6c614220, 0x39e67: 0x6c879e20,\n\t0x39e68: 0x6c87a020, 0x39e69: 0x6c87a220, 0x39e6a: 0x6c87a420, 0x39e6b: 0x6c87a620,\n\t0x39e6c: 0x6c87a820, 0x39e6d: 0x6c87aa20, 0x39e6e: 0x6c87ac20, 0x39e6f: 0x6c87ae20,\n\t0x39e70: 0x6c87b020, 0x39e71: 0x6c87b220, 0x39e72: 0x6c87b420, 0x39e73: 0x6cb30020,\n\t0x39e74: 0x6cb30220, 0x39e75: 0x6cb30420, 0x39e76: 0x6cb30620, 0x39e77: 0x6cb30820,\n\t0x39e78: 0x6cb30a20, 0x39e79: 0x6cb30c20, 0x39e7a: 0x6cb30e20, 0x39e7b: 0x6cb31020,\n\t0x39e7c: 0x6cb31220, 0x39e7d: 0x6cb31420, 0x39e7e: 0x6cb31620, 0x39e7f: 0x6cb31820,\n\t// Block 0xe7a, offset 0x39e80\n\t0x39e80: 0x6cb31a20, 0x39e81: 0x6cb31c20, 0x39e82: 0x6cb31e20, 0x39e83: 0x6cb32020,\n\t0x39e84: 0x6cb32220, 0x39e85: 0x6cb32420, 0x39e86: 0x6cb32620, 0x39e87: 0x6cb32820,\n\t0x39e88: 0x6cb32a20, 0x39e89: 0x6cb32c20, 0x39e8a: 0x6cb32e20, 0x39e8b: 0x6cb33020,\n\t0x39e8c: 0x6cb33220, 0x39e8d: 0x6cb33420, 0x39e8e: 0x6ce2a020, 0x39e8f: 0x6ce2a220,\n\t0x39e90: 0x6ce2a420, 0x39e91: 0x6ce2a620, 0x39e92: 0x6ce2a820, 0x39e93: 0x6ce2aa20,\n\t0x39e94: 0x6ce2ac20, 0x39e95: 0x6ce2ae20, 0x39e96: 0x6ce2b020, 0x39e97: 0x6ce2b220,\n\t0x39e98: 0x6ce2b420, 0x39e99: 0x6ce2b620, 0x39e9a: 0x6ce2b820, 0x39e9b: 0x6ce2ba20,\n\t0x39e9c: 0x6ce2bc20, 0x39e9d: 0x6ce2be20, 0x39e9e: 0x6ce2c020, 0x39e9f: 0x6ce2c220,\n\t0x39ea0: 0x6ce2c420, 0x39ea1: 0x6ce2c620, 0x39ea2: 0x6ce2c820, 0x39ea3: 0x6ce2ca20,\n\t0x39ea4: 0x6ce2cc20, 0x39ea5: 0x6ce2ce20, 0x39ea6: 0x6ce2d020, 0x39ea7: 0x6ce2d220,\n\t0x39ea8: 0x6d110a20, 0x39ea9: 0x6d110c20, 0x39eaa: 0x6d110e20, 0x39eab: 0x6d111020,\n\t0x39eac: 0x6d111220, 0x39ead: 0x6d111420, 0x39eae: 0x6d111620, 0x39eaf: 0x6d111820,\n\t0x39eb0: 0x6d111a20, 0x39eb1: 0x6d111c20, 0x39eb2: 0x6d111e20, 0x39eb3: 0x6d112020,\n\t0x39eb4: 0x6d112220, 0x39eb5: 0x6d112420, 0x39eb6: 0x6d112620, 0x39eb7: 0x6d112820,\n\t0x39eb8: 0x6d112a20, 0x39eb9: 0x6d112c20, 0x39eba: 0x6d112e20, 0x39ebb: 0x6d113020,\n\t0x39ebc: 0x6d113220, 0x39ebd: 0x6d113420, 0x39ebe: 0x6d113620, 0x39ebf: 0x6d113820,\n\t// Block 0xe7b, offset 0x39ec0\n\t0x39ec0: 0x6d113a20, 0x39ec1: 0x6d113c20, 0x39ec2: 0x6d3f1c20, 0x39ec3: 0x6d3f1e20,\n\t0x39ec4: 0x6d3f2020, 0x39ec5: 0x6d3f2220, 0x39ec6: 0x6d3f2420, 0x39ec7: 0x6d3f2620,\n\t0x39ec8: 0x6d3f2820, 0x39ec9: 0x6d3f2a20, 0x39eca: 0x6d3f2c20, 0x39ecb: 0x6d3f2e20,\n\t0x39ecc: 0x6d3f3020, 0x39ecd: 0x6d3f3220, 0x39ece: 0x6d3f3420, 0x39ecf: 0x6d3f3620,\n\t0x39ed0: 0x6d3f3820, 0x39ed1: 0x6d3f3a20, 0x39ed2: 0x6d3f3c20, 0x39ed3: 0x6d3f3e20,\n\t0x39ed4: 0x6d3f4020, 0x39ed5: 0x6d3f4220, 0x39ed6: 0x6d3f4420, 0x39ed7: 0x6d3f4620,\n\t0x39ed8: 0x6d3f4820, 0x39ed9: 0x6d3f4a20, 0x39eda: 0x6d3f4c20, 0x39edb: 0x6d3f4e20,\n\t0x39edc: 0x6d3f5020, 0x39edd: 0x6d3f5220, 0x39ede: 0x6d3f5420, 0x39edf: 0x6d3f5620,\n\t0x39ee0: 0x6d6bfe20, 0x39ee1: 0x6d6c0020, 0x39ee2: 0x6d6c0220, 0x39ee3: 0x6d6c0420,\n\t0x39ee4: 0x6d6c0620, 0x39ee5: 0x6d6c0820, 0x39ee6: 0x6d6c0a20, 0x39ee7: 0x6d6c0c20,\n\t0x39ee8: 0x6d6c0e20, 0x39ee9: 0x6d6c1020, 0x39eea: 0x6d6c1220, 0x39eeb: 0x6d6c1420,\n\t0x39eec: 0x6d6c1620, 0x39eed: 0x6d6c1820, 0x39eee: 0x6d6c1a20, 0x39eef: 0x6d6c1c20,\n\t0x39ef0: 0x6d6c1e20, 0x39ef1: 0x6d6c2020, 0x39ef2: 0x6d6c2220, 0x39ef3: 0x6d6c2420,\n\t0x39ef4: 0x6d6c2620, 0x39ef5: 0x6d6c2820, 0x39ef6: 0x6d6c2a20, 0x39ef7: 0x6d6c2c20,\n\t0x39ef8: 0x6d6c2e20, 0x39ef9: 0x6d6c3020, 0x39efa: 0x6d6c3220, 0x39efb: 0x6d6c3420,\n\t0x39efc: 0x6d6c3620, 0x39efd: 0x6d6c3820, 0x39efe: 0x6d6c3a20, 0x39eff: 0x6d6c3c20,\n\t// Block 0xe7c, offset 0x39f00\n\t0x39f00: 0x6d6c3e20, 0x39f01: 0x6d6c4020, 0x39f02: 0x6d6c4220, 0x39f03: 0x6d6c4420,\n\t0x39f04: 0x6d6c4620, 0x39f05: 0x6d6c4820, 0x39f06: 0x6d6c4a20, 0x39f07: 0x6d952820,\n\t0x39f08: 0x6d952a20, 0x39f09: 0x6d952c20, 0x39f0a: 0x6d952e20, 0x39f0b: 0x6d953020,\n\t0x39f0c: 0x6d953220, 0x39f0d: 0x6d953420, 0x39f0e: 0x6d953620, 0x39f0f: 0x6d953820,\n\t0x39f10: 0x6d953a20, 0x39f11: 0x6d953c20, 0x39f12: 0x6d953e20, 0x39f13: 0x6d954020,\n\t0x39f14: 0x6d954220, 0x39f15: 0x6d954420, 0x39f16: 0x6d954620, 0x39f17: 0x6d954820,\n\t0x39f18: 0x6d954a20, 0x39f19: 0x6d954c20, 0x39f1a: 0x6d954e20, 0x39f1b: 0x6d955020,\n\t0x39f1c: 0x6d955220, 0x39f1d: 0x6d955420, 0x39f1e: 0x6d955620, 0x39f1f: 0x6d955820,\n\t0x39f20: 0x6d955a20, 0x39f21: 0x6d955c20, 0x39f22: 0x6d955e20, 0x39f23: 0x6d956020,\n\t0x39f24: 0x6d956220, 0x39f25: 0x6d956420, 0x39f26: 0x6d956620, 0x39f27: 0x6d956820,\n\t0x39f28: 0x6d956a20, 0x39f29: 0x6db85420, 0x39f2a: 0x6db85620, 0x39f2b: 0x6db85820,\n\t0x39f2c: 0x6db85a20, 0x39f2d: 0x6db85c20, 0x39f2e: 0x6db85e20, 0x39f2f: 0x6db86020,\n\t0x39f30: 0x6db86220, 0x39f31: 0x6db86420, 0x39f32: 0x6db86620, 0x39f33: 0x6db86820,\n\t0x39f34: 0x6db86a20, 0x39f35: 0x6db86c20, 0x39f36: 0x6db86e20, 0x39f37: 0x6db87020,\n\t0x39f38: 0x6db87220, 0x39f39: 0x6db87420, 0x39f3a: 0x6db87620, 0x39f3b: 0x6db87820,\n\t0x39f3c: 0x6db87a20, 0x39f3d: 0x6db87c20, 0x39f3e: 0x6db87e20, 0x39f3f: 0x6db88020,\n\t// Block 0xe7d, offset 0x39f40\n\t0x39f40: 0x6db88220, 0x39f41: 0x6db88420, 0x39f42: 0x6db88620, 0x39f43: 0x6db88820,\n\t0x39f44: 0x6db88a20, 0x39f45: 0x6db88c20, 0x39f46: 0x6db88e20, 0x39f47: 0x6db89020,\n\t0x39f48: 0x6db89220, 0x39f49: 0x6db89420, 0x39f4a: 0x6dd6de20, 0x39f4b: 0x6dd6e020,\n\t0x39f4c: 0x6dd6e220, 0x39f4d: 0x6dd6e420, 0x39f4e: 0x6dd6e620, 0x39f4f: 0x6dd6e820,\n\t0x39f50: 0x6dd6ea20, 0x39f51: 0x6dd6ec20, 0x39f52: 0x6dd6ee20, 0x39f53: 0x6dd6f020,\n\t0x39f54: 0x6dd6f220, 0x39f55: 0x6dd6f420, 0x39f56: 0x6dd6f620, 0x39f57: 0x6dd6f820,\n\t0x39f58: 0x6dd6fa20, 0x39f59: 0x6dd6fc20, 0x39f5a: 0x6dd6fe20, 0x39f5b: 0x6dd70020,\n\t0x39f5c: 0x6dd70220, 0x39f5d: 0x6dd70420, 0x39f5e: 0x6dd70620, 0x39f5f: 0x6dd70820,\n\t0x39f60: 0x6dd70a20, 0x39f61: 0x6dd70c20, 0x39f62: 0x6dd70e20, 0x39f63: 0x6dd71020,\n\t0x39f64: 0x6defaa20, 0x39f65: 0x6defac20, 0x39f66: 0x6defae20, 0x39f67: 0x6defb020,\n\t0x39f68: 0x6defb220, 0x39f69: 0x6defb420, 0x39f6a: 0x6defb620, 0x39f6b: 0x6defb820,\n\t0x39f6c: 0x6defba20, 0x39f6d: 0x6defbc20, 0x39f6e: 0x6defbe20, 0x39f6f: 0x6defc020,\n\t0x39f70: 0x6defc220, 0x39f71: 0x6defc420, 0x39f72: 0x6e03ba20, 0x39f73: 0x6e03bc20,\n\t0x39f74: 0x6e03be20, 0x39f75: 0x6e03c020, 0x39f76: 0x6e03c220, 0x39f77: 0x6e03c420,\n\t0x39f78: 0x6e03c620, 0x39f79: 0x6e03c820, 0x39f7a: 0x6e03ca20, 0x39f7b: 0x6e03cc20,\n\t0x39f7c: 0x6e03ce20, 0x39f7d: 0x6e03d020, 0x39f7e: 0x6e03d220, 0x39f7f: 0x6e03d420,\n\t// Block 0xe7e, offset 0x39f80\n\t0x39f80: 0x6e03d620, 0x39f81: 0x6e03d820, 0x39f82: 0x6e03da20, 0x39f83: 0x6e03dc20,\n\t0x39f84: 0x6e03de20, 0x39f85: 0x6e03e020, 0x39f86: 0x6e03e220, 0x39f87: 0x6e03e420,\n\t0x39f88: 0x6e152220, 0x39f89: 0x6e152420, 0x39f8a: 0x6e152620, 0x39f8b: 0x6e152820,\n\t0x39f8c: 0x6e152a20, 0x39f8d: 0x6e152c20, 0x39f8e: 0x6e152e20, 0x39f8f: 0x6e153020,\n\t0x39f90: 0x6e153220, 0x39f91: 0x6e22be20, 0x39f92: 0x6e22c020, 0x39f93: 0x6e22c220,\n\t0x39f94: 0x6e22c420, 0x39f95: 0x6e22c620, 0x39f96: 0x6e22c820, 0x39f97: 0x6e22ca20,\n\t0x39f98: 0x6e22cc20, 0x39f99: 0x6e22ce20, 0x39f9a: 0x6e22d020, 0x39f9b: 0x6e22d220,\n\t0x39f9c: 0x6e22d420, 0x39f9d: 0x6e22d620, 0x39f9e: 0x6e2cf220, 0x39f9f: 0x6e2cf420,\n\t0x39fa0: 0x6e2cf620, 0x39fa1: 0x6e2cf820, 0x39fa2: 0x6e2cfa20, 0x39fa3: 0x6e2cfc20,\n\t0x39fa4: 0x6e2cfe20, 0x39fa5: 0x6e2d0020, 0x39fa6: 0x6e2d0220, 0x39fa7: 0x6e2d0420,\n\t0x39fa8: 0x6e2d0620, 0x39fa9: 0x6e34e220, 0x39faa: 0x6e34e420, 0x39fab: 0x6e34e620,\n\t0x39fac: 0x6e34e820, 0x39fad: 0x6e34ea20, 0x39fae: 0x6e34ec20, 0x39faf: 0x6e34ee20,\n\t0x39fb0: 0x6e34f020, 0x39fb1: 0x6e34f220, 0x39fb2: 0x6e34f420, 0x39fb3: 0x6e3aa420,\n\t0x39fb4: 0x6e3aa620, 0x39fb5: 0x6e3e6020, 0x39fb6: 0x6e3e6220, 0x39fb7: 0x6e3e6420,\n\t0x39fb8: 0x6e3e6620, 0x39fb9: 0x6e413220, 0x39fba: 0x6e432e20, 0x39fbb: 0x6e413420,\n\t0x39fbc: 0x6e433020, 0x39fbd: 0x6e3e6820, 0x39fbe: 0x6e413620, 0x39fbf: 0x6e433220,\n\t// Block 0xe7f, offset 0x39fc0\n\t0x39fc0: 0x6e433420, 0x39fc1: 0x6e448e20, 0x39fc2: 0x6e456220, 0x39fc3: 0x6e45e020,\n\t0x39fc4: 0x6e471420, 0x39fc5: 0x6c40f020, 0x39fc6: 0x6c40f220, 0x39fc7: 0x6c615c20,\n\t0x39fc8: 0x6c87ca20, 0x39fc9: 0x6d957420, 0x39fca: 0x6e03ea20, 0x39fcb: 0x6c271e20,\n\t0x39fcc: 0x6c40f620, 0x39fcd: 0x6c87d220, 0x39fce: 0x6c87d420, 0x39fcf: 0x6cb34220,\n\t0x39fd0: 0x6cb34420, 0x39fd1: 0x6cb34620, 0x39fd2: 0x6ce2f420, 0x39fd3: 0x6ce2f620,\n\t0x39fd4: 0x6d115220, 0x39fd5: 0x6d115420, 0x39fd6: 0x6d115620, 0x39fd7: 0x6d115820,\n\t0x39fd8: 0x6d3f6e20, 0x39fd9: 0x6d3f7020, 0x39fda: 0x6d3f7220, 0x39fdb: 0x6d3f7420,\n\t0x39fdc: 0x6d6c5820, 0x39fdd: 0x6d6c5a20, 0x39fde: 0x6d6c5c20, 0x39fdf: 0x6d6c5e20,\n\t0x39fe0: 0x6d958420, 0x39fe1: 0x6d958620, 0x39fe2: 0x6d958820, 0x39fe3: 0x6d958a20,\n\t0x39fe4: 0x6d958c20, 0x39fe5: 0x6d958e20, 0x39fe6: 0x6d959020, 0x39fe7: 0x6d959220,\n\t0x39fe8: 0x6db8a020, 0x39fe9: 0x6db8a220, 0x39fea: 0x6db8a420, 0x39feb: 0x6db8a620,\n\t0x39fec: 0x6db8a820, 0x39fed: 0x6db8aa20, 0x39fee: 0x6db8ac20, 0x39fef: 0x6db8ae20,\n\t0x39ff0: 0x6dd71820, 0x39ff1: 0x6dd71a20, 0x39ff2: 0x6dd71c20, 0x39ff3: 0x6dc60820,\n\t0x39ff4: 0x6dcb1a20, 0x39ff5: 0x6defcc20, 0x39ff6: 0x6defce20, 0x39ff7: 0x6defd020,\n\t0x39ff8: 0x6defd220, 0x39ff9: 0x6defd420, 0x39ffa: 0x6e03f020, 0x39ffb: 0x6e03f220,\n\t0x39ffc: 0x6e03f420, 0x39ffd: 0x6e153820, 0x39ffe: 0x6e22d820, 0x39fff: 0x6e22da20,\n\t// Block 0xe80, offset 0x3a000\n\t0x3a000: 0x6e34f620, 0x3a001: 0x6e449020, 0x3a002: 0x6e456420, 0x3a003: 0x6c272220,\n\t0x3a004: 0x6c272420, 0x3a005: 0x6d116220, 0x3a006: 0x6d116420, 0x3a007: 0x6d116620,\n\t0x3a008: 0x6d6c6420, 0x3a009: 0x6d959420, 0x3a00a: 0x6defd820, 0x3a00b: 0x6e153a20,\n\t0x3a00c: 0x6e22dc20, 0x3a00d: 0x6c0a8220, 0x3a00e: 0x6c0a8420, 0x3a00f: 0x6c0a8620,\n\t0x3a010: 0x6c0a8820, 0x3a011: 0x6c151620, 0x3a012: 0x6c151820, 0x3a013: 0x6c151a20,\n\t0x3a014: 0x6c151c20, 0x3a015: 0x6c151e20, 0x3a016: 0x6c152020, 0x3a017: 0x6c152220,\n\t0x3a018: 0x6c152420, 0x3a019: 0x6c152620, 0x3a01a: 0x6c152820, 0x3a01b: 0x6c152a20,\n\t0x3a01c: 0x6c152c20, 0x3a01d: 0x6c152e20, 0x3a01e: 0x6c153020, 0x3a01f: 0x6c153220,\n\t0x3a020: 0x6c153420, 0x3a021: 0x6c153620, 0x3a022: 0x6c274620, 0x3a023: 0x6c274820,\n\t0x3a024: 0x6c274a20, 0x3a025: 0x6c274c20, 0x3a026: 0x6c274e20, 0x3a027: 0x6c275020,\n\t0x3a028: 0x6c275220, 0x3a029: 0x6c275420, 0x3a02a: 0x6c275620, 0x3a02b: 0x6c275820,\n\t0x3a02c: 0x6c275a20, 0x3a02d: 0x6c275c20, 0x3a02e: 0x6c275e20, 0x3a02f: 0x6c276020,\n\t0x3a030: 0x6c276220, 0x3a031: 0x6c276420, 0x3a032: 0x6c276620, 0x3a033: 0x6c276820,\n\t0x3a034: 0x6c276a20, 0x3a035: 0x6c276c20, 0x3a036: 0x6c276e20, 0x3a037: 0x6c277020,\n\t0x3a038: 0x6c277220, 0x3a039: 0x6c277420, 0x3a03a: 0x6c277620, 0x3a03b: 0x6c277820,\n\t0x3a03c: 0x6c277a20, 0x3a03d: 0x6c277c20, 0x3a03e: 0x6c277e20, 0x3a03f: 0x6c278020,\n\t// Block 0xe81, offset 0x3a040\n\t0x3a040: 0x6c278220, 0x3a041: 0x6c278420, 0x3a042: 0x6c413020, 0x3a043: 0x6c413220,\n\t0x3a044: 0x6c413420, 0x3a045: 0x6c413620, 0x3a046: 0x6c413820, 0x3a047: 0x6c413a20,\n\t0x3a048: 0x6c413c20, 0x3a049: 0x6c413e20, 0x3a04a: 0x6c414020, 0x3a04b: 0x6c414220,\n\t0x3a04c: 0x6c414420, 0x3a04d: 0x6c414620, 0x3a04e: 0x6c414820, 0x3a04f: 0x6c414a20,\n\t0x3a050: 0x6c414c20, 0x3a051: 0x6c414e20, 0x3a052: 0x6c415020, 0x3a053: 0x6c415220,\n\t0x3a054: 0x6c415420, 0x3a055: 0x6c415620, 0x3a056: 0x6c415820, 0x3a057: 0x6c415a20,\n\t0x3a058: 0x6c415c20, 0x3a059: 0x6c415e20, 0x3a05a: 0x6c416020, 0x3a05b: 0x6c416220,\n\t0x3a05c: 0x6c416420, 0x3a05d: 0x6c416620, 0x3a05e: 0x6c416820, 0x3a05f: 0x6c416a20,\n\t0x3a060: 0x6c416c20, 0x3a061: 0x6c416e20, 0x3a062: 0x6c417020, 0x3a063: 0x6c417220,\n\t0x3a064: 0x6c417420, 0x3a065: 0x6c619020, 0x3a066: 0x6c619220, 0x3a067: 0x6c619420,\n\t0x3a068: 0x6c619620, 0x3a069: 0x6c619820, 0x3a06a: 0x6c619a20, 0x3a06b: 0x6c619c20,\n\t0x3a06c: 0x6c619e20, 0x3a06d: 0x6c61a020, 0x3a06e: 0x6c61a220, 0x3a06f: 0x6c61a420,\n\t0x3a070: 0x6c61a620, 0x3a071: 0x6c61a820, 0x3a072: 0x6c61aa20, 0x3a073: 0x6c61ac20,\n\t0x3a074: 0x6c61ae20, 0x3a075: 0x6c61b020, 0x3a076: 0x6c61b220, 0x3a077: 0x6c61b420,\n\t0x3a078: 0x6c61b620, 0x3a079: 0x6c61b820, 0x3a07a: 0x6c61ba20, 0x3a07b: 0x6c61bc20,\n\t0x3a07c: 0x6c61be20, 0x3a07d: 0x6c61c020, 0x3a07e: 0x6c61c220, 0x3a07f: 0x6c61c420,\n\t// Block 0xe82, offset 0x3a080\n\t0x3a080: 0x6c61c620, 0x3a081: 0x6c61c820, 0x3a082: 0x6c61ca20, 0x3a083: 0x6c61cc20,\n\t0x3a084: 0x6c61ce20, 0x3a085: 0x6c881420, 0x3a086: 0x6c881620, 0x3a087: 0x6c881820,\n\t0x3a088: 0x6c881a20, 0x3a089: 0x6c881c20, 0x3a08a: 0x6c881e20, 0x3a08b: 0x6c882020,\n\t0x3a08c: 0x6c882220, 0x3a08d: 0x6c882420, 0x3a08e: 0x6c882620, 0x3a08f: 0x6c882820,\n\t0x3a090: 0x6c882a20, 0x3a091: 0x6c882c20, 0x3a092: 0x6c882e20, 0x3a093: 0x6c883020,\n\t0x3a094: 0x6c883220, 0x3a095: 0x6c883420, 0x3a096: 0x6c883620, 0x3a097: 0x6c883820,\n\t0x3a098: 0x6c883a20, 0x3a099: 0x6c883c20, 0x3a09a: 0x6c883e20, 0x3a09b: 0x6c884020,\n\t0x3a09c: 0x6c884220, 0x3a09d: 0x6c884420, 0x3a09e: 0x6c884620, 0x3a09f: 0x6c884820,\n\t0x3a0a0: 0x6c884a20, 0x3a0a1: 0x6c884c20, 0x3a0a2: 0x6c884e20, 0x3a0a3: 0x6c885020,\n\t0x3a0a4: 0x6c885220, 0x3a0a5: 0x6c885420, 0x3a0a6: 0x6c885620, 0x3a0a7: 0x6c885820,\n\t0x3a0a8: 0x6c885a20, 0x3a0a9: 0x6c885c20, 0x3a0aa: 0x6c885e20, 0x3a0ab: 0x6cb38820,\n\t0x3a0ac: 0x6cb38a20, 0x3a0ad: 0x6cb38c20, 0x3a0ae: 0x6cb38e20, 0x3a0af: 0x6cb39020,\n\t0x3a0b0: 0x6cb39220, 0x3a0b1: 0x6cb39420, 0x3a0b2: 0x6cb39620, 0x3a0b3: 0x6cb39820,\n\t0x3a0b4: 0x6cb39a20, 0x3a0b5: 0x6cb39c20, 0x3a0b6: 0x6cb39e20, 0x3a0b7: 0x6cb3a020,\n\t0x3a0b8: 0x6cb3a220, 0x3a0b9: 0x6cb3a420, 0x3a0ba: 0x6cb3a620, 0x3a0bb: 0x6cb3a820,\n\t0x3a0bc: 0x6cb3aa20, 0x3a0bd: 0x6cb3ac20, 0x3a0be: 0x6cb3ae20, 0x3a0bf: 0x6cb3b020,\n\t// Block 0xe83, offset 0x3a0c0\n\t0x3a0c0: 0x6cb3b220, 0x3a0c1: 0x6cb3b420, 0x3a0c2: 0x6cb3b620, 0x3a0c3: 0x6cb3b820,\n\t0x3a0c4: 0x6cb3ba20, 0x3a0c5: 0x6cb3bc20, 0x3a0c6: 0x6cb3be20, 0x3a0c7: 0x6cb3c020,\n\t0x3a0c8: 0x6cb3c220, 0x3a0c9: 0x6cb3c420, 0x3a0ca: 0x6cb3c620, 0x3a0cb: 0x6cb3c820,\n\t0x3a0cc: 0x6cb3ca20, 0x3a0cd: 0x6cb3cc20, 0x3a0ce: 0x6ce32c20, 0x3a0cf: 0x6cb3ce20,\n\t0x3a0d0: 0x6cb3d020, 0x3a0d1: 0x6cb3d220, 0x3a0d2: 0x6cb3d420, 0x3a0d3: 0x6cb3d620,\n\t0x3a0d4: 0x6cb3d820, 0x3a0d5: 0x6cb3da20, 0x3a0d6: 0x6cb3dc20, 0x3a0d7: 0x6cb3de20,\n\t0x3a0d8: 0x6cb3e020, 0x3a0d9: 0x6cb3e220, 0x3a0da: 0x6cb3e420, 0x3a0db: 0x6cb3e620,\n\t0x3a0dc: 0x6cb3e820, 0x3a0dd: 0x6ce32e20, 0x3a0de: 0x6ce33020, 0x3a0df: 0x6ce33220,\n\t0x3a0e0: 0x6cb3ea20, 0x3a0e1: 0x6ce33420, 0x3a0e2: 0x6ce33620, 0x3a0e3: 0x6ce33820,\n\t0x3a0e4: 0x6ce33a20, 0x3a0e5: 0x6ce33c20, 0x3a0e6: 0x6ce33e20, 0x3a0e7: 0x6ce34020,\n\t0x3a0e8: 0x6ce34220, 0x3a0e9: 0x6ce34420, 0x3a0ea: 0x6ce34620, 0x3a0eb: 0x6ce34820,\n\t0x3a0ec: 0x6ce34a20, 0x3a0ed: 0x6ce34c20, 0x3a0ee: 0x6ce34e20, 0x3a0ef: 0x6ce35020,\n\t0x3a0f0: 0x6ce35220, 0x3a0f1: 0x6ce35420, 0x3a0f2: 0x6ce35620, 0x3a0f3: 0x6ce35820,\n\t0x3a0f4: 0x6ce35a20, 0x3a0f5: 0x6ce35c20, 0x3a0f6: 0x6ce35e20, 0x3a0f7: 0x6ce36020,\n\t0x3a0f8: 0x6ce36220, 0x3a0f9: 0x6ce36420, 0x3a0fa: 0x6ce36620, 0x3a0fb: 0x6ce36820,\n\t0x3a0fc: 0x6ce36a20, 0x3a0fd: 0x6ce36c20, 0x3a0fe: 0x6ce36e20, 0x3a0ff: 0x6ce37020,\n\t// Block 0xe84, offset 0x3a100\n\t0x3a100: 0x6ce37220, 0x3a101: 0x6ce37420, 0x3a102: 0x6ce37620, 0x3a103: 0x6ce37820,\n\t0x3a104: 0x6ce37a20, 0x3a105: 0x6ce37c20, 0x3a106: 0x6ce37e20, 0x3a107: 0x6ce38020,\n\t0x3a108: 0x6ce38220, 0x3a109: 0x6ce38420, 0x3a10a: 0x6ce38620, 0x3a10b: 0x6ce38820,\n\t0x3a10c: 0x6ce38a20, 0x3a10d: 0x6ce38c20, 0x3a10e: 0x6ce38e20, 0x3a10f: 0x6ce39020,\n\t0x3a110: 0x6ce39220, 0x3a111: 0x6ce39420, 0x3a112: 0x6ce39620, 0x3a113: 0x6ce39820,\n\t0x3a114: 0x6ce39a20, 0x3a115: 0x6ce39c20, 0x3a116: 0x6ce39e20, 0x3a117: 0x6ce3a020,\n\t0x3a118: 0x6ce3a220, 0x3a119: 0x6ce3a420, 0x3a11a: 0x6ce3a620, 0x3a11b: 0x6ce3a820,\n\t0x3a11c: 0x6ce3aa20, 0x3a11d: 0x6d11a220, 0x3a11e: 0x6d11a420, 0x3a11f: 0x6d11a620,\n\t0x3a120: 0x6d11a820, 0x3a121: 0x6d11aa20, 0x3a122: 0x6d11ac20, 0x3a123: 0x6d11ae20,\n\t0x3a124: 0x6d11b020, 0x3a125: 0x6d11b220, 0x3a126: 0x6d11b420, 0x3a127: 0x6d11b620,\n\t0x3a128: 0x6d11b820, 0x3a129: 0x6d11ba20, 0x3a12a: 0x6d11bc20, 0x3a12b: 0x6d11be20,\n\t0x3a12c: 0x6d11c020, 0x3a12d: 0x6d11c220, 0x3a12e: 0x6d11c420, 0x3a12f: 0x6d11c620,\n\t0x3a130: 0x6d11c820, 0x3a131: 0x6d11ca20, 0x3a132: 0x6d11cc20, 0x3a133: 0x6d11ce20,\n\t0x3a134: 0x6d11d020, 0x3a135: 0x6d11d220, 0x3a136: 0x6d11d420, 0x3a137: 0x6d11d620,\n\t0x3a138: 0x6d11d820, 0x3a139: 0x6d11da20, 0x3a13a: 0x6d11dc20, 0x3a13b: 0x6d11de20,\n\t0x3a13c: 0x6d11e020, 0x3a13d: 0x6d11e220, 0x3a13e: 0x6d11e420, 0x3a13f: 0x6d11e620,\n\t// Block 0xe85, offset 0x3a140\n\t0x3a140: 0x6d11e820, 0x3a141: 0x6d11ea20, 0x3a142: 0x6d11ec20, 0x3a143: 0x6d11ee20,\n\t0x3a144: 0x6d11f020, 0x3a145: 0x6d11f220, 0x3a146: 0x6d3f9c20, 0x3a147: 0x6d3f9e20,\n\t0x3a148: 0x6d3fa020, 0x3a149: 0x6d3fa220, 0x3a14a: 0x6d3fa420, 0x3a14b: 0x6d3fa620,\n\t0x3a14c: 0x6d3fa820, 0x3a14d: 0x6d3faa20, 0x3a14e: 0x6d3fac20, 0x3a14f: 0x6d3fae20,\n\t0x3a150: 0x6d3fb020, 0x3a151: 0x6d3fb220, 0x3a152: 0x6d3fb420, 0x3a153: 0x6d3fb620,\n\t0x3a154: 0x6d3fb820, 0x3a155: 0x6d3fba20, 0x3a156: 0x6d3fbc20, 0x3a157: 0x6d3fbe20,\n\t0x3a158: 0x6d3fc020, 0x3a159: 0x6d3fc220, 0x3a15a: 0x6d3fc420, 0x3a15b: 0x6d3fc620,\n\t0x3a15c: 0x6d3fc820, 0x3a15d: 0x6d3fca20, 0x3a15e: 0x6d3fcc20, 0x3a15f: 0x6d3fce20,\n\t0x3a160: 0x6d3fd020, 0x3a161: 0x6d3fd220, 0x3a162: 0x6d3fd420, 0x3a163: 0x6d3fd620,\n\t0x3a164: 0x6d3fd820, 0x3a165: 0x6d3fda20, 0x3a166: 0x6d3fdc20, 0x3a167: 0x6d3fde20,\n\t0x3a168: 0x6d3fe020, 0x3a169: 0x6d3fe220, 0x3a16a: 0x6d3fe420, 0x3a16b: 0x6d3fe620,\n\t0x3a16c: 0x6d3fe820, 0x3a16d: 0x6d3fea20, 0x3a16e: 0x6d3fec20, 0x3a16f: 0x6d3fee20,\n\t0x3a170: 0x6d3ff020, 0x3a171: 0x6d3ff220, 0x3a172: 0x6d3ff420, 0x3a173: 0x6d3ff620,\n\t0x3a174: 0x6d6c8a20, 0x3a175: 0x6d6c8c20, 0x3a176: 0x6d6c8e20, 0x3a177: 0x6d6c9020,\n\t0x3a178: 0x6d6c9220, 0x3a179: 0x6d6c9420, 0x3a17a: 0x6d6c9620, 0x3a17b: 0x6d6c9820,\n\t0x3a17c: 0x6d6c9a20, 0x3a17d: 0x6d6c9c20, 0x3a17e: 0x6d6c9e20, 0x3a17f: 0x6d6ca020,\n\t// Block 0xe86, offset 0x3a180\n\t0x3a180: 0x6d6ca220, 0x3a181: 0x6d6ca420, 0x3a182: 0x6d6ca620, 0x3a183: 0x6d6ca820,\n\t0x3a184: 0x6d6caa20, 0x3a185: 0x6d6cac20, 0x3a186: 0x6d6cae20, 0x3a187: 0x6d6cb020,\n\t0x3a188: 0x6d6cb220, 0x3a189: 0x6d6cb420, 0x3a18a: 0x6d6cb620, 0x3a18b: 0x6d6cb820,\n\t0x3a18c: 0x6d6cba20, 0x3a18d: 0x6d6cbc20, 0x3a18e: 0x6d6cbe20, 0x3a18f: 0x6d6cc020,\n\t0x3a190: 0x6d6cc220, 0x3a191: 0x6d6cc420, 0x3a192: 0x6d6cc620, 0x3a193: 0x6d784820,\n\t0x3a194: 0x6d6cc820, 0x3a195: 0x6d6cca20, 0x3a196: 0x6d6ccc20, 0x3a197: 0x6d6cce20,\n\t0x3a198: 0x6d6cd020, 0x3a199: 0x6d6cd220, 0x3a19a: 0x6d6cd420, 0x3a19b: 0x6d6cd620,\n\t0x3a19c: 0x6d6cd820, 0x3a19d: 0x6d6cda20, 0x3a19e: 0x6d6cdc20, 0x3a19f: 0x6d6cde20,\n\t0x3a1a0: 0x6d6ce020, 0x3a1a1: 0x6d6ce220, 0x3a1a2: 0x6d6ce420, 0x3a1a3: 0x6d6ce620,\n\t0x3a1a4: 0x6d6ce820, 0x3a1a5: 0x6d95b220, 0x3a1a6: 0x6d95b420, 0x3a1a7: 0x6d95b620,\n\t0x3a1a8: 0x6d95b820, 0x3a1a9: 0x6d95ba20, 0x3a1aa: 0x6d95bc20, 0x3a1ab: 0x6d95be20,\n\t0x3a1ac: 0x6d95c020, 0x3a1ad: 0x6d95c220, 0x3a1ae: 0x6d95c420, 0x3a1af: 0x6d95c620,\n\t0x3a1b0: 0x6d95c820, 0x3a1b1: 0x6d95ca20, 0x3a1b2: 0x6d95cc20, 0x3a1b3: 0x6d95ce20,\n\t0x3a1b4: 0x6d95d020, 0x3a1b5: 0x6d95d220, 0x3a1b6: 0x6d95d420, 0x3a1b7: 0x6d95d620,\n\t0x3a1b8: 0x6d95d820, 0x3a1b9: 0x6d95da20, 0x3a1ba: 0x6d95dc20, 0x3a1bb: 0x6d95de20,\n\t0x3a1bc: 0x6d95e020, 0x3a1bd: 0x6d95e220, 0x3a1be: 0x6d95e420, 0x3a1bf: 0x6d95e620,\n\t// Block 0xe87, offset 0x3a1c0\n\t0x3a1c0: 0x6d95e820, 0x3a1c1: 0x6d95ea20, 0x3a1c2: 0x6d95ec20, 0x3a1c3: 0x6d95ee20,\n\t0x3a1c4: 0x6d95f020, 0x3a1c5: 0x6d95f220, 0x3a1c6: 0x6d95f420, 0x3a1c7: 0x6db8c620,\n\t0x3a1c8: 0x6db8c820, 0x3a1c9: 0x6db8ca20, 0x3a1ca: 0x6db8cc20, 0x3a1cb: 0x6db8ce20,\n\t0x3a1cc: 0x6db8d020, 0x3a1cd: 0x6db8d220, 0x3a1ce: 0x6db8d420, 0x3a1cf: 0x6db8d620,\n\t0x3a1d0: 0x6db8d820, 0x3a1d1: 0x6db8da20, 0x3a1d2: 0x6db8dc20, 0x3a1d3: 0x6db8de20,\n\t0x3a1d4: 0x6db8e020, 0x3a1d5: 0x6db8e220, 0x3a1d6: 0x6db8e420, 0x3a1d7: 0x6db8e620,\n\t0x3a1d8: 0x6db8e820, 0x3a1d9: 0x6db8ea20, 0x3a1da: 0x6db8ec20, 0x3a1db: 0x6db8ee20,\n\t0x3a1dc: 0x6db8f020, 0x3a1dd: 0x6db8f220, 0x3a1de: 0x6db8f420, 0x3a1df: 0x6db8f620,\n\t0x3a1e0: 0x6db8f820, 0x3a1e1: 0x6dd72620, 0x3a1e2: 0x6dd72820, 0x3a1e3: 0x6dd72a20,\n\t0x3a1e4: 0x6dd72c20, 0x3a1e5: 0x6dd72e20, 0x3a1e6: 0x6dd73020, 0x3a1e7: 0x6dd73220,\n\t0x3a1e8: 0x6dd73420, 0x3a1e9: 0x6dd73620, 0x3a1ea: 0x6dd73820, 0x3a1eb: 0x6dd73a20,\n\t0x3a1ec: 0x6dd73c20, 0x3a1ed: 0x6dd73e20, 0x3a1ee: 0x6dd74020, 0x3a1ef: 0x6dd74220,\n\t0x3a1f0: 0x6dd74420, 0x3a1f1: 0x6dd74620, 0x3a1f2: 0x6dd74820, 0x3a1f3: 0x6dd74a20,\n\t0x3a1f4: 0x6dd74c20, 0x3a1f5: 0x6dd74e20, 0x3a1f6: 0x6dd75020, 0x3a1f7: 0x6defe220,\n\t0x3a1f8: 0x6defe420, 0x3a1f9: 0x6defe620, 0x3a1fa: 0x6defe820, 0x3a1fb: 0x6defea20,\n\t0x3a1fc: 0x6e03e620, 0x3a1fd: 0x6defec20, 0x3a1fe: 0x6defee20, 0x3a1ff: 0x6deff020,\n\t// Block 0xe88, offset 0x3a200\n\t0x3a200: 0x6deff220, 0x3a201: 0x6deff420, 0x3a202: 0x6e03fe20, 0x3a203: 0x6e040020,\n\t0x3a204: 0x6e040220, 0x3a205: 0x6e040420, 0x3a206: 0x6e040620, 0x3a207: 0x6e040820,\n\t0x3a208: 0x6e040a20, 0x3a209: 0x6e040c20, 0x3a20a: 0x6e040e20, 0x3a20b: 0x6e041020,\n\t0x3a20c: 0x6e041220, 0x3a20d: 0x6e041420, 0x3a20e: 0x6e041620, 0x3a20f: 0x6e041820,\n\t0x3a210: 0x6e041a20, 0x3a211: 0x6e041c20, 0x3a212: 0x6e153e20, 0x3a213: 0x6e154020,\n\t0x3a214: 0x6e154220, 0x3a215: 0x6e154420, 0x3a216: 0x6e154620, 0x3a217: 0x6e154820,\n\t0x3a218: 0x6e154a20, 0x3a219: 0x6e22de20, 0x3a21a: 0x6e22e020, 0x3a21b: 0x6e22e220,\n\t0x3a21c: 0x6e22e420, 0x3a21d: 0x6e22e620, 0x3a21e: 0x6e22e820, 0x3a21f: 0x6e2d0c20,\n\t0x3a220: 0x6e2d0e20, 0x3a221: 0x6e2d1020, 0x3a222: 0x6e2d1220, 0x3a223: 0x6e2d1420,\n\t0x3a224: 0x6e34fa20, 0x3a225: 0x6e34fc20, 0x3a226: 0x6e3aa820, 0x3a227: 0x6e3e6a20,\n\t0x3a228: 0x6c00ca20, 0x3a229: 0x6c052220, 0x3a22a: 0x6c052420, 0x3a22b: 0x6c0a9220,\n\t0x3a22c: 0x6c0a9420, 0x3a22d: 0x6c0a9620, 0x3a22e: 0x6c0a9820, 0x3a22f: 0x6c0a9a20,\n\t0x3a230: 0x6c0a9c20, 0x3a231: 0x6c0a9e20, 0x3a232: 0x6c0aa020, 0x3a233: 0x6c0aa220,\n\t0x3a234: 0x6c0aa420, 0x3a235: 0x6c0aa620, 0x3a236: 0x6c154e20, 0x3a237: 0x6c155020,\n\t0x3a238: 0x6c155220, 0x3a239: 0x6c155420, 0x3a23a: 0x6c155620, 0x3a23b: 0x6c155820,\n\t0x3a23c: 0x6c155a20, 0x3a23d: 0x6c155c20, 0x3a23e: 0x6c155e20, 0x3a23f: 0x6c156020,\n\t// Block 0xe89, offset 0x3a240\n\t0x3a240: 0x6c156220, 0x3a241: 0x6c156420, 0x3a242: 0x6c156620, 0x3a243: 0x6c156820,\n\t0x3a244: 0x6c156a20, 0x3a245: 0x6c156c20, 0x3a246: 0x6c156e20, 0x3a247: 0x6c157020,\n\t0x3a248: 0x6c157220, 0x3a249: 0x6c157420, 0x3a24a: 0x6c157620, 0x3a24b: 0x6c157820,\n\t0x3a24c: 0x6c157a20, 0x3a24d: 0x6c157c20, 0x3a24e: 0x6c157e20, 0x3a24f: 0x6c158020,\n\t0x3a250: 0x6c158220, 0x3a251: 0x6c158420, 0x3a252: 0x6c158620, 0x3a253: 0x6c27ae20,\n\t0x3a254: 0x6c27b020, 0x3a255: 0x6c27b220, 0x3a256: 0x6c27b420, 0x3a257: 0x6c27b620,\n\t0x3a258: 0x6c27b820, 0x3a259: 0x6c27ba20, 0x3a25a: 0x6c27bc20, 0x3a25b: 0x6c27be20,\n\t0x3a25c: 0x6c27c020, 0x3a25d: 0x6c27c220, 0x3a25e: 0x6c27c420, 0x3a25f: 0x6c27c620,\n\t0x3a260: 0x6c27c820, 0x3a261: 0x6c27ca20, 0x3a262: 0x6c27cc20, 0x3a263: 0x6c27ce20,\n\t0x3a264: 0x6c27d020, 0x3a265: 0x6c27d220, 0x3a266: 0x6c27d420, 0x3a267: 0x6c27d620,\n\t0x3a268: 0x6c27d820, 0x3a269: 0x6c27da20, 0x3a26a: 0x6c27dc20, 0x3a26b: 0x6c27de20,\n\t0x3a26c: 0x6c27e020, 0x3a26d: 0x6c27e220, 0x3a26e: 0x6c27e420, 0x3a26f: 0x6c41a020,\n\t0x3a270: 0x6c41a220, 0x3a271: 0x6c41a420, 0x3a272: 0x6c41a620, 0x3a273: 0x6c41a820,\n\t0x3a274: 0x6c41aa20, 0x3a275: 0x6c41ac20, 0x3a276: 0x6c41ae20, 0x3a277: 0x6c41b020,\n\t0x3a278: 0x6c41b220, 0x3a279: 0x6c41b420, 0x3a27a: 0x6c41b620, 0x3a27b: 0x6c41b820,\n\t0x3a27c: 0x6c41ba20, 0x3a27d: 0x6c41bc20, 0x3a27e: 0x6c41be20, 0x3a27f: 0x6c41c020,\n\t// Block 0xe8a, offset 0x3a280\n\t0x3a280: 0x6c41c220, 0x3a281: 0x6c41c420, 0x3a282: 0x6c41c620, 0x3a283: 0x6c41c820,\n\t0x3a284: 0x6c41ca20, 0x3a285: 0x6c41cc20, 0x3a286: 0x6c41ce20, 0x3a287: 0x6c41d020,\n\t0x3a288: 0x6c41d220, 0x3a289: 0x6c41d420, 0x3a28a: 0x6c41d620, 0x3a28b: 0x6c620e20,\n\t0x3a28c: 0x6c621020, 0x3a28d: 0x6c621220, 0x3a28e: 0x6c621420, 0x3a28f: 0x6c621620,\n\t0x3a290: 0x6c621820, 0x3a291: 0x6c621a20, 0x3a292: 0x6c621c20, 0x3a293: 0x6c621e20,\n\t0x3a294: 0x6c622020, 0x3a295: 0x6c622220, 0x3a296: 0x6c622420, 0x3a297: 0x6c622620,\n\t0x3a298: 0x6c622820, 0x3a299: 0x6c622a20, 0x3a29a: 0x6c622c20, 0x3a29b: 0x6c622e20,\n\t0x3a29c: 0x6c623020, 0x3a29d: 0x6c623220, 0x3a29e: 0x6c623420, 0x3a29f: 0x6c623620,\n\t0x3a2a0: 0x6c623820, 0x3a2a1: 0x6c623a20, 0x3a2a2: 0x6c623c20, 0x3a2a3: 0x6c623e20,\n\t0x3a2a4: 0x6c624020, 0x3a2a5: 0x6c624220, 0x3a2a6: 0x6c624420, 0x3a2a7: 0x6c624620,\n\t0x3a2a8: 0x6c624820, 0x3a2a9: 0x6c624a20, 0x3a2aa: 0x6c624c20, 0x3a2ab: 0x6c889a20,\n\t0x3a2ac: 0x6c889c20, 0x3a2ad: 0x6c889e20, 0x3a2ae: 0x6c88a020, 0x3a2af: 0x6c88a220,\n\t0x3a2b0: 0x6c88a420, 0x3a2b1: 0x6c88a620, 0x3a2b2: 0x6c88a820, 0x3a2b3: 0x6c88aa20,\n\t0x3a2b4: 0x6c88ac20, 0x3a2b5: 0x6c88ae20, 0x3a2b6: 0x6c88b020, 0x3a2b7: 0x6c88b220,\n\t0x3a2b8: 0x6c88b420, 0x3a2b9: 0x6c88b620, 0x3a2ba: 0x6c88b820, 0x3a2bb: 0x6c88ba20,\n\t0x3a2bc: 0x6c88bc20, 0x3a2bd: 0x6c88be20, 0x3a2be: 0x6c88c020, 0x3a2bf: 0x6c88c220,\n\t// Block 0xe8b, offset 0x3a2c0\n\t0x3a2c0: 0x6c88c420, 0x3a2c1: 0x6c88c620, 0x3a2c2: 0x6c88c820, 0x3a2c3: 0x6c88ca20,\n\t0x3a2c4: 0x6c88cc20, 0x3a2c5: 0x6c88ce20, 0x3a2c6: 0x6c88d020, 0x3a2c7: 0x6c88d220,\n\t0x3a2c8: 0x6c88d420, 0x3a2c9: 0x6c88d620, 0x3a2ca: 0x6c88d820, 0x3a2cb: 0x6c88da20,\n\t0x3a2cc: 0x6c88dc20, 0x3a2cd: 0x6c88de20, 0x3a2ce: 0x6c88e020, 0x3a2cf: 0x6cb42a20,\n\t0x3a2d0: 0x6cb42c20, 0x3a2d1: 0x6cb42e20, 0x3a2d2: 0x6cb43020, 0x3a2d3: 0x6cb43220,\n\t0x3a2d4: 0x6cb43420, 0x3a2d5: 0x6cb43620, 0x3a2d6: 0x6cb43820, 0x3a2d7: 0x6ce3e620,\n\t0x3a2d8: 0x6cb43a20, 0x3a2d9: 0x6cb43c20, 0x3a2da: 0x6cb43e20, 0x3a2db: 0x6cb44020,\n\t0x3a2dc: 0x6cb44220, 0x3a2dd: 0x6cb44420, 0x3a2de: 0x6cb44620, 0x3a2df: 0x6cb44820,\n\t0x3a2e0: 0x6cb44a20, 0x3a2e1: 0x6cb44c20, 0x3a2e2: 0x6cb44e20, 0x3a2e3: 0x6cb45020,\n\t0x3a2e4: 0x6cb45220, 0x3a2e5: 0x6cb45420, 0x3a2e6: 0x6cb45620, 0x3a2e7: 0x6cb45820,\n\t0x3a2e8: 0x6cb45a20, 0x3a2e9: 0x6cb45c20, 0x3a2ea: 0x6cb45e20, 0x3a2eb: 0x6cb46020,\n\t0x3a2ec: 0x6cb46220, 0x3a2ed: 0x6cb46420, 0x3a2ee: 0x6cb46620, 0x3a2ef: 0x6cb46820,\n\t0x3a2f0: 0x6cb46a20, 0x3a2f1: 0x6cb46c20, 0x3a2f2: 0x6ce3e820, 0x3a2f3: 0x6ce3ea20,\n\t0x3a2f4: 0x6ce3ec20, 0x3a2f5: 0x6ce3ee20, 0x3a2f6: 0x6ce3f020, 0x3a2f7: 0x6ce3f220,\n\t0x3a2f8: 0x6ce3f420, 0x3a2f9: 0x6ce3f620, 0x3a2fa: 0x6ce3f820, 0x3a2fb: 0x6ce3fa20,\n\t0x3a2fc: 0x6ce3fc20, 0x3a2fd: 0x6ce3fe20, 0x3a2fe: 0x6ce40020, 0x3a2ff: 0x6ce40220,\n\t// Block 0xe8c, offset 0x3a300\n\t0x3a300: 0x6ce40420, 0x3a301: 0x6ce40620, 0x3a302: 0x6ce40820, 0x3a303: 0x6ce40a20,\n\t0x3a304: 0x6ce40c20, 0x3a305: 0x6ce40e20, 0x3a306: 0x6ce41020, 0x3a307: 0x6ce41220,\n\t0x3a308: 0x6ce41420, 0x3a309: 0x6ce41620, 0x3a30a: 0x6ce41820, 0x3a30b: 0x6d122220,\n\t0x3a30c: 0x6d122420, 0x3a30d: 0x6d122620, 0x3a30e: 0x6d122820, 0x3a30f: 0x6d122a20,\n\t0x3a310: 0x6d122c20, 0x3a311: 0x6d122e20, 0x3a312: 0x6d123020, 0x3a313: 0x6d123220,\n\t0x3a314: 0x6d123420, 0x3a315: 0x6d123620, 0x3a316: 0x6d123820, 0x3a317: 0x6d123a20,\n\t0x3a318: 0x6d123c20, 0x3a319: 0x6d123e20, 0x3a31a: 0x6d124020, 0x3a31b: 0x6d124220,\n\t0x3a31c: 0x6d124420, 0x3a31d: 0x6d124620, 0x3a31e: 0x6d124820, 0x3a31f: 0x6d124a20,\n\t0x3a320: 0x6d124c20, 0x3a321: 0x6d124e20, 0x3a322: 0x6d125020, 0x3a323: 0x6d125220,\n\t0x3a324: 0x6d125420, 0x3a325: 0x6d125620, 0x3a326: 0x6d125820, 0x3a327: 0x6d125a20,\n\t0x3a328: 0x6d125c20, 0x3a329: 0x6d125e20, 0x3a32a: 0x6d126020, 0x3a32b: 0x6d403020,\n\t0x3a32c: 0x6d403220, 0x3a32d: 0x6d403420, 0x3a32e: 0x6d403620, 0x3a32f: 0x6d403820,\n\t0x3a330: 0x6d403a20, 0x3a331: 0x6d403c20, 0x3a332: 0x6d403e20, 0x3a333: 0x6d404020,\n\t0x3a334: 0x6d404220, 0x3a335: 0x6d404420, 0x3a336: 0x6d404620, 0x3a337: 0x6d404820,\n\t0x3a338: 0x6d404a20, 0x3a339: 0x6d126220, 0x3a33a: 0x6d404c20, 0x3a33b: 0x6d404e20,\n\t0x3a33c: 0x6d405020, 0x3a33d: 0x6d405220, 0x3a33e: 0x6d405420, 0x3a33f: 0x6d405620,\n\t// Block 0xe8d, offset 0x3a340\n\t0x3a340: 0x6d405820, 0x3a341: 0x6d405a20, 0x3a342: 0x6d405c20, 0x3a343: 0x6d405e20,\n\t0x3a344: 0x6d406020, 0x3a345: 0x6d406220, 0x3a346: 0x6d406420, 0x3a347: 0x6d406620,\n\t0x3a348: 0x6d406820, 0x3a349: 0x6d406a20, 0x3a34a: 0x6d406c20, 0x3a34b: 0x6d406e20,\n\t0x3a34c: 0x6d407020, 0x3a34d: 0x6d407220, 0x3a34e: 0x6d407420, 0x3a34f: 0x6d407620,\n\t0x3a350: 0x6d407820, 0x3a351: 0x6d6d1820, 0x3a352: 0x6d6d1a20, 0x3a353: 0x6d6d1c20,\n\t0x3a354: 0x6d6d1e20, 0x3a355: 0x6d6d2020, 0x3a356: 0x6d6d2220, 0x3a357: 0x6d6d2420,\n\t0x3a358: 0x6d6d2620, 0x3a359: 0x6d6d2820, 0x3a35a: 0x6d6d2a20, 0x3a35b: 0x6d6d2c20,\n\t0x3a35c: 0x6d6d2e20, 0x3a35d: 0x6d6d3020, 0x3a35e: 0x6d6d3220, 0x3a35f: 0x6d6d3420,\n\t0x3a360: 0x6d6d3620, 0x3a361: 0x6d6d3820, 0x3a362: 0x6d6d3a20, 0x3a363: 0x6d6d3c20,\n\t0x3a364: 0x6d6d3e20, 0x3a365: 0x6d6d4020, 0x3a366: 0x6d6d4220, 0x3a367: 0x6d960820,\n\t0x3a368: 0x6d960a20, 0x3a369: 0x6d960c20, 0x3a36a: 0x6d960e20, 0x3a36b: 0x6d961020,\n\t0x3a36c: 0x6d961220, 0x3a36d: 0x6d961420, 0x3a36e: 0x6d961620, 0x3a36f: 0x6d961820,\n\t0x3a370: 0x6d961a20, 0x3a371: 0x6d961c20, 0x3a372: 0x6d961e20, 0x3a373: 0x6d962020,\n\t0x3a374: 0x6d962220, 0x3a375: 0x6d962420, 0x3a376: 0x6d962620, 0x3a377: 0x6d962820,\n\t0x3a378: 0x6d962a20, 0x3a379: 0x6d962c20, 0x3a37a: 0x6db90c20, 0x3a37b: 0x6db90e20,\n\t0x3a37c: 0x6db91020, 0x3a37d: 0x6db91220, 0x3a37e: 0x6db91420, 0x3a37f: 0x6db91620,\n\t// Block 0xe8e, offset 0x3a380\n\t0x3a380: 0x6db91820, 0x3a381: 0x6db91a20, 0x3a382: 0x6db91c20, 0x3a383: 0x6db91e20,\n\t0x3a384: 0x6db92020, 0x3a385: 0x6db92220, 0x3a386: 0x6db92420, 0x3a387: 0x6db92620,\n\t0x3a388: 0x6db92820, 0x3a389: 0x6db92a20, 0x3a38a: 0x6db92c20, 0x3a38b: 0x6db92e20,\n\t0x3a38c: 0x6db93020, 0x3a38d: 0x6dd76220, 0x3a38e: 0x6dd76420, 0x3a38f: 0x6dd76620,\n\t0x3a390: 0x6dd76820, 0x3a391: 0x6dd76a20, 0x3a392: 0x6dd76c20, 0x3a393: 0x6dd76e20,\n\t0x3a394: 0x6dd77020, 0x3a395: 0x6dd77220, 0x3a396: 0x6dd77420, 0x3a397: 0x6dd77620,\n\t0x3a398: 0x6dd77820, 0x3a399: 0x6deffc20, 0x3a39a: 0x6deffe20, 0x3a39b: 0x6df00020,\n\t0x3a39c: 0x6df00220, 0x3a39d: 0x6df00420, 0x3a39e: 0x6df00620, 0x3a39f: 0x6df00820,\n\t0x3a3a0: 0x6e042a20, 0x3a3a1: 0x6e042c20, 0x3a3a2: 0x6e042e20, 0x3a3a3: 0x6e043020,\n\t0x3a3a4: 0x6e155420, 0x3a3a5: 0x6e155620, 0x3a3a6: 0x6e155820, 0x3a3a7: 0x6e155a20,\n\t0x3a3a8: 0x6e22ee20, 0x3a3a9: 0x6e2d1a20, 0x3a3aa: 0x6e2d1c20, 0x3a3ab: 0x6e2d1e20,\n\t0x3a3ac: 0x6e2d2020, 0x3a3ad: 0x6e2d2220, 0x3a3ae: 0x6e2d2420, 0x3a3af: 0x6e3e6c20,\n\t0x3a3b0: 0x6c88fc20, 0x3a3b1: 0x6c88fe20, 0x3a3b2: 0x6c890020, 0x3a3b3: 0x6c890220,\n\t0x3a3b4: 0x6cb49620, 0x3a3b5: 0x6cb49820, 0x3a3b6: 0x6cb49a20, 0x3a3b7: 0x6cb49c20,\n\t0x3a3b8: 0x6cb49e20, 0x3a3b9: 0x6cb4a020, 0x3a3ba: 0x6cb4a220, 0x3a3bb: 0x6cb4a420,\n\t0x3a3bc: 0x6cb4a620, 0x3a3bd: 0x6cb4a820, 0x3a3be: 0x6cb4aa20, 0x3a3bf: 0x6cb4ac20,\n\t// Block 0xe8f, offset 0x3a3c0\n\t0x3a3c0: 0x6cb4ae20, 0x3a3c1: 0x6cb4b020, 0x3a3c2: 0x6cb4b220, 0x3a3c3: 0x6cb4b420,\n\t0x3a3c4: 0x6cb4b620, 0x3a3c5: 0x6cb4b820, 0x3a3c6: 0x6cb4ba20, 0x3a3c7: 0x6cb4bc20,\n\t0x3a3c8: 0x6cb4be20, 0x3a3c9: 0x6cb4c020, 0x3a3ca: 0x6cb4c220, 0x3a3cb: 0x6ce43820,\n\t0x3a3cc: 0x6ce43a20, 0x3a3cd: 0x6ce43c20, 0x3a3ce: 0x6ce43e20, 0x3a3cf: 0x6ce44020,\n\t0x3a3d0: 0x6ce44220, 0x3a3d1: 0x6ce44420, 0x3a3d2: 0x6ce44620, 0x3a3d3: 0x6ce44820,\n\t0x3a3d4: 0x6ce44a20, 0x3a3d5: 0x6ce44c20, 0x3a3d6: 0x6ce44e20, 0x3a3d7: 0x6ce45020,\n\t0x3a3d8: 0x6ce45220, 0x3a3d9: 0x6ce45420, 0x3a3da: 0x6ce45620, 0x3a3db: 0x6ce45820,\n\t0x3a3dc: 0x6ce45a20, 0x3a3dd: 0x6ce45c20, 0x3a3de: 0x6ce45e20, 0x3a3df: 0x6ce46020,\n\t0x3a3e0: 0x6ce46220, 0x3a3e1: 0x6ce46420, 0x3a3e2: 0x6ce46620, 0x3a3e3: 0x6ce46820,\n\t0x3a3e4: 0x6d129020, 0x3a3e5: 0x6d129220, 0x3a3e6: 0x6d129420, 0x3a3e7: 0x6d129620,\n\t0x3a3e8: 0x6d129820, 0x3a3e9: 0x6d129a20, 0x3a3ea: 0x6d129c20, 0x3a3eb: 0x6d129e20,\n\t0x3a3ec: 0x6d12a020, 0x3a3ed: 0x6d12a220, 0x3a3ee: 0x6d12a420, 0x3a3ef: 0x6d12a620,\n\t0x3a3f0: 0x6d12a820, 0x3a3f1: 0x6d12aa20, 0x3a3f2: 0x6d12ac20, 0x3a3f3: 0x6d12ae20,\n\t0x3a3f4: 0x6d12b020, 0x3a3f5: 0x6d12b220, 0x3a3f6: 0x6d12b420, 0x3a3f7: 0x6d409a20,\n\t0x3a3f8: 0x6d409c20, 0x3a3f9: 0x6d409e20, 0x3a3fa: 0x6d40a020, 0x3a3fb: 0x6d40a220,\n\t0x3a3fc: 0x6d40a420, 0x3a3fd: 0x6d40a620, 0x3a3fe: 0x6d40a820, 0x3a3ff: 0x6d40aa20,\n\t// Block 0xe90, offset 0x3a400\n\t0x3a400: 0x6d40ac20, 0x3a401: 0x6d40ae20, 0x3a402: 0x6d40b020, 0x3a403: 0x6d40b220,\n\t0x3a404: 0x6d40b420, 0x3a405: 0x6d40b620, 0x3a406: 0x6d40b820, 0x3a407: 0x6d40ba20,\n\t0x3a408: 0x6d40bc20, 0x3a409: 0x6d40be20, 0x3a40a: 0x6d40c020, 0x3a40b: 0x6d40c220,\n\t0x3a40c: 0x6d6d6a20, 0x3a40d: 0x6d6d6c20, 0x3a40e: 0x6d6d6e20, 0x3a40f: 0x6d6d7020,\n\t0x3a410: 0x6d6d7220, 0x3a411: 0x6d6d7420, 0x3a412: 0x6d6d7620, 0x3a413: 0x6d6d7820,\n\t0x3a414: 0x6d6d7a20, 0x3a415: 0x6d6d7c20, 0x3a416: 0x6d6d7e20, 0x3a417: 0x6d6d8020,\n\t0x3a418: 0x6d6d8220, 0x3a419: 0x6d6d8420, 0x3a41a: 0x6d6d8620, 0x3a41b: 0x6d6d8820,\n\t0x3a41c: 0x6d6d8a20, 0x3a41d: 0x6d6d8c20, 0x3a41e: 0x6d6d8e20, 0x3a41f: 0x6d6d9020,\n\t0x3a420: 0x6d6d9220, 0x3a421: 0x6d6d9420, 0x3a422: 0x6d6d9620, 0x3a423: 0x6d6d9820,\n\t0x3a424: 0x6d6d9a20, 0x3a425: 0x6d6d9c20, 0x3a426: 0x6d6d9e20, 0x3a427: 0x6d6da020,\n\t0x3a428: 0x6d6da220, 0x3a429: 0x6d965820, 0x3a42a: 0x6d965a20, 0x3a42b: 0x6d965c20,\n\t0x3a42c: 0x6d965e20, 0x3a42d: 0x6d966020, 0x3a42e: 0x6d966220, 0x3a42f: 0x6d966420,\n\t0x3a430: 0x6d966620, 0x3a431: 0x6d966820, 0x3a432: 0x6d966a20, 0x3a433: 0x6d966c20,\n\t0x3a434: 0x6d966e20, 0x3a435: 0x6d967020, 0x3a436: 0x6d967220, 0x3a437: 0x6d967420,\n\t0x3a438: 0x6d967620, 0x3a439: 0x6d967820, 0x3a43a: 0x6d967a20, 0x3a43b: 0x6d967c20,\n\t0x3a43c: 0x6d967e20, 0x3a43d: 0x6d968020, 0x3a43e: 0x6d968220, 0x3a43f: 0x6d968420,\n\t// Block 0xe91, offset 0x3a440\n\t0x3a440: 0x6d968620, 0x3a441: 0x6d968820, 0x3a442: 0x6d968a20, 0x3a443: 0x6d968c20,\n\t0x3a444: 0x6d968e20, 0x3a445: 0x6db95620, 0x3a446: 0x6db95820, 0x3a447: 0x6db95a20,\n\t0x3a448: 0x6db95c20, 0x3a449: 0x6db95e20, 0x3a44a: 0x6db96020, 0x3a44b: 0x6db96220,\n\t0x3a44c: 0x6db96420, 0x3a44d: 0x6db96620, 0x3a44e: 0x6db96820, 0x3a44f: 0x6db96a20,\n\t0x3a450: 0x6db96c20, 0x3a451: 0x6db96e20, 0x3a452: 0x6db97020, 0x3a453: 0x6db97220,\n\t0x3a454: 0x6db97420, 0x3a455: 0x6db97620, 0x3a456: 0x6db97820, 0x3a457: 0x6db97a20,\n\t0x3a458: 0x6db97c20, 0x3a459: 0x6db97e20, 0x3a45a: 0x6db98020, 0x3a45b: 0x6db98220,\n\t0x3a45c: 0x6db98420, 0x3a45d: 0x6db98620, 0x3a45e: 0x6db98820, 0x3a45f: 0x6db98a20,\n\t0x3a460: 0x6db98c20, 0x3a461: 0x6dd79220, 0x3a462: 0x6dd79420, 0x3a463: 0x6dd79620,\n\t0x3a464: 0x6dd79820, 0x3a465: 0x6dd79a20, 0x3a466: 0x6dd79c20, 0x3a467: 0x6dd79e20,\n\t0x3a468: 0x6dd7a020, 0x3a469: 0x6dd7a220, 0x3a46a: 0x6dd7a420, 0x3a46b: 0x6dd7a620,\n\t0x3a46c: 0x6dd7a820, 0x3a46d: 0x6dd7aa20, 0x3a46e: 0x6dd7ac20, 0x3a46f: 0x6dd7ae20,\n\t0x3a470: 0x6dd7b020, 0x3a471: 0x6dd7b220, 0x3a472: 0x6dd7b420, 0x3a473: 0x6dd7b620,\n\t0x3a474: 0x6dd7b820, 0x3a475: 0x6dd7ba20, 0x3a476: 0x6dd7bc20, 0x3a477: 0x6dd7be20,\n\t0x3a478: 0x6dd7c020, 0x3a479: 0x6dd7c220, 0x3a47a: 0x6dd7c420, 0x3a47b: 0x6dd7c620,\n\t0x3a47c: 0x6dd7c820, 0x3a47d: 0x6df01e20, 0x3a47e: 0x6df02020, 0x3a47f: 0x6df02220,\n\t// Block 0xe92, offset 0x3a480\n\t0x3a480: 0x6df02420, 0x3a481: 0x6df02620, 0x3a482: 0x6df02820, 0x3a483: 0x6df02a20,\n\t0x3a484: 0x6df02c20, 0x3a485: 0x6df02e20, 0x3a486: 0x6df03020, 0x3a487: 0x6df03220,\n\t0x3a488: 0x6df03420, 0x3a489: 0x6df03620, 0x3a48a: 0x6df03820, 0x3a48b: 0x6df03a20,\n\t0x3a48c: 0x6df03c20, 0x3a48d: 0x6df03e20, 0x3a48e: 0x6df04020, 0x3a48f: 0x6df04220,\n\t0x3a490: 0x6df04420, 0x3a491: 0x6df04620, 0x3a492: 0x6df04820, 0x3a493: 0x6df04a20,\n\t0x3a494: 0x6df04c20, 0x3a495: 0x6df04e20, 0x3a496: 0x6e044220, 0x3a497: 0x6e044420,\n\t0x3a498: 0x6e044620, 0x3a499: 0x6e044820, 0x3a49a: 0x6e044a20, 0x3a49b: 0x6e044c20,\n\t0x3a49c: 0x6e044e20, 0x3a49d: 0x6e045020, 0x3a49e: 0x6e045220, 0x3a49f: 0x6e045420,\n\t0x3a4a0: 0x6e045620, 0x3a4a1: 0x6e045820, 0x3a4a2: 0x6e045a20, 0x3a4a3: 0x6e045c20,\n\t0x3a4a4: 0x6e045e20, 0x3a4a5: 0x6e046020, 0x3a4a6: 0x6e156620, 0x3a4a7: 0x6e156820,\n\t0x3a4a8: 0x6e156a20, 0x3a4a9: 0x6e156c20, 0x3a4aa: 0x6e156e20, 0x3a4ab: 0x6e157020,\n\t0x3a4ac: 0x6e157220, 0x3a4ad: 0x6e157420, 0x3a4ae: 0x6e22f420, 0x3a4af: 0x6e22f620,\n\t0x3a4b0: 0x6e22f820, 0x3a4b1: 0x6e22fa20, 0x3a4b2: 0x6e22fc20, 0x3a4b3: 0x6e22fe20,\n\t0x3a4b4: 0x6e230020, 0x3a4b5: 0x6e230220, 0x3a4b6: 0x6e2d2820, 0x3a4b7: 0x6e2d2a20,\n\t0x3a4b8: 0x6e2d2c20, 0x3a4b9: 0x6e2d2e20, 0x3a4ba: 0x6e2d3020, 0x3a4bb: 0x6e2d3220,\n\t0x3a4bc: 0x6e2d3420, 0x3a4bd: 0x6e2d3620, 0x3a4be: 0x6e350a20, 0x3a4bf: 0x6e350c20,\n\t// Block 0xe93, offset 0x3a4c0\n\t0x3a4c0: 0x6e350e20, 0x3a4c1: 0x6e351020, 0x3a4c2: 0x6e351220, 0x3a4c3: 0x6e3aac20,\n\t0x3a4c4: 0x6e3aae20, 0x3a4c5: 0x6e3e7220, 0x3a4c6: 0x6e3e7420, 0x3a4c7: 0x6e413a20,\n\t0x3a4c8: 0x6e413c20, 0x3a4c9: 0x6e413e20, 0x3a4ca: 0x6e433a20, 0x3a4cb: 0x6e433c20,\n\t0x3a4cc: 0x6e433e20, 0x3a4cd: 0x6e45e220, 0x3a4ce: 0x6e45e420, 0x3a4cf: 0x6c890620,\n\t0x3a4d0: 0x6cb4c620, 0x3a4d1: 0x6cb4c820, 0x3a4d2: 0x6d40ca20, 0x3a4d3: 0x6d40cc20,\n\t0x3a4d4: 0x6d40ce20, 0x3a4d5: 0x6d6da620, 0x3a4d6: 0x6d6da820, 0x3a4d7: 0x6d6daa20,\n\t0x3a4d8: 0x6d969020, 0x3a4d9: 0x6d969220, 0x3a4da: 0x6db99220, 0x3a4db: 0x6db99420,\n\t0x3a4dc: 0x6db99620, 0x3a4dd: 0x6dd7cc20, 0x3a4de: 0x6e046420, 0x3a4df: 0x6e157820,\n\t0x3a4e0: 0x6e157a20, 0x3a4e1: 0x6e230420, 0x3a4e2: 0x6cb4ce20, 0x3a4e3: 0x6c890820,\n\t0x3a4e4: 0x6c890a20, 0x3a4e5: 0x6cb4d020, 0x3a4e6: 0x6ce47220, 0x3a4e7: 0x6ce47420,\n\t0x3a4e8: 0x6ce47620, 0x3a4e9: 0x6ce47820, 0x3a4ea: 0x6d12bc20, 0x3a4eb: 0x6d12be20,\n\t0x3a4ec: 0x6d40d020, 0x3a4ed: 0x6d6dac20, 0x3a4ee: 0x6d6dae20, 0x3a4ef: 0x6d6db020,\n\t0x3a4f0: 0x6d969420, 0x3a4f1: 0x6d969620, 0x3a4f2: 0x6db99a20, 0x3a4f3: 0x6db99c20,\n\t0x3a4f4: 0x6dd7d020, 0x3a4f5: 0x6dd7d220, 0x3a4f6: 0x6dd7d420, 0x3a4f7: 0x6dd7d620,\n\t0x3a4f8: 0x6e046820, 0x3a4f9: 0x6e157c20, 0x3a4fa: 0x6e157e20, 0x3a4fb: 0x6e3ab020,\n\t0x3a4fc: 0x6e456620, 0x3a4fd: 0x6c892a20, 0x3a4fe: 0x6c892c20, 0x3a4ff: 0x6c892e20,\n\t// Block 0xe94, offset 0x3a500\n\t0x3a500: 0x6c893020, 0x3a501: 0x6c893220, 0x3a502: 0x6cb50a20, 0x3a503: 0x6cb50c20,\n\t0x3a504: 0x6cb50e20, 0x3a505: 0x6cb51020, 0x3a506: 0x6cb51220, 0x3a507: 0x6cb51420,\n\t0x3a508: 0x6cb51620, 0x3a509: 0x6cb51820, 0x3a50a: 0x6ce4e420, 0x3a50b: 0x6ce4e620,\n\t0x3a50c: 0x6ce4e820, 0x3a50d: 0x6ce4ea20, 0x3a50e: 0x6ce4ec20, 0x3a50f: 0x6ce4ee20,\n\t0x3a510: 0x6ce4f020, 0x3a511: 0x6ce4f220, 0x3a512: 0x6ce4f420, 0x3a513: 0x6ce4f620,\n\t0x3a514: 0x6ce4f820, 0x3a515: 0x6ce4fa20, 0x3a516: 0x6ce4fc20, 0x3a517: 0x6ce4fe20,\n\t0x3a518: 0x6ce50020, 0x3a519: 0x6ce50220, 0x3a51a: 0x6ce50420, 0x3a51b: 0x6ce50620,\n\t0x3a51c: 0x6ce50820, 0x3a51d: 0x6ce50a20, 0x3a51e: 0x6ce50c20, 0x3a51f: 0x6ce50e20,\n\t0x3a520: 0x6ce51020, 0x3a521: 0x6ce51220, 0x3a522: 0x6ce51420, 0x3a523: 0x6ce51620,\n\t0x3a524: 0x6ce51820, 0x3a525: 0x6d135820, 0x3a526: 0x6d135a20, 0x3a527: 0x6d135c20,\n\t0x3a528: 0x6d135e20, 0x3a529: 0x6d136020, 0x3a52a: 0x6d136220, 0x3a52b: 0x6d136420,\n\t0x3a52c: 0x6d136620, 0x3a52d: 0x6d136820, 0x3a52e: 0x6d136a20, 0x3a52f: 0x6d136c20,\n\t0x3a530: 0x6d136e20, 0x3a531: 0x6d137020, 0x3a532: 0x6d137220, 0x3a533: 0x6d137420,\n\t0x3a534: 0x6d137620, 0x3a535: 0x6d137820, 0x3a536: 0x6d137a20, 0x3a537: 0x6d137c20,\n\t0x3a538: 0x6d137e20, 0x3a539: 0x6d138020, 0x3a53a: 0x6d138220, 0x3a53b: 0x6d138420,\n\t0x3a53c: 0x6d138620, 0x3a53d: 0x6d138820, 0x3a53e: 0x6d138a20, 0x3a53f: 0x6d138c20,\n\t// Block 0xe95, offset 0x3a540\n\t0x3a540: 0x6d138e20, 0x3a541: 0x6d139020, 0x3a542: 0x6d415a20, 0x3a543: 0x6d415c20,\n\t0x3a544: 0x6d415e20, 0x3a545: 0x6d416020, 0x3a546: 0x6d416220, 0x3a547: 0x6d416420,\n\t0x3a548: 0x6d416620, 0x3a549: 0x6d416820, 0x3a54a: 0x6d416a20, 0x3a54b: 0x6d416c20,\n\t0x3a54c: 0x6d416e20, 0x3a54d: 0x6d417020, 0x3a54e: 0x6d417220, 0x3a54f: 0x6d417420,\n\t0x3a550: 0x6d417620, 0x3a551: 0x6d417820, 0x3a552: 0x6d417a20, 0x3a553: 0x6d417c20,\n\t0x3a554: 0x6d417e20, 0x3a555: 0x6d418020, 0x3a556: 0x6d418220, 0x3a557: 0x6d418420,\n\t0x3a558: 0x6d418620, 0x3a559: 0x6d418820, 0x3a55a: 0x6d418a20, 0x3a55b: 0x6d418c20,\n\t0x3a55c: 0x6d418e20, 0x3a55d: 0x6d419020, 0x3a55e: 0x6d377020, 0x3a55f: 0x6d419220,\n\t0x3a560: 0x6d419420, 0x3a561: 0x6d419620, 0x3a562: 0x6d419820, 0x3a563: 0x6d419a20,\n\t0x3a564: 0x6d419c20, 0x3a565: 0x6d419e20, 0x3a566: 0x6d41a020, 0x3a567: 0x6d41a220,\n\t0x3a568: 0x6d41a420, 0x3a569: 0x6d41a620, 0x3a56a: 0x6d41a820, 0x3a56b: 0x6d41aa20,\n\t0x3a56c: 0x6d6e4a20, 0x3a56d: 0x6d6e4c20, 0x3a56e: 0x6d6e4e20, 0x3a56f: 0x6d6e5020,\n\t0x3a570: 0x6d6e5220, 0x3a571: 0x6d6e5420, 0x3a572: 0x6d6e5620, 0x3a573: 0x6d6e5820,\n\t0x3a574: 0x6d6e5a20, 0x3a575: 0x6d6e5c20, 0x3a576: 0x6d6e5e20, 0x3a577: 0x6d6e6020,\n\t0x3a578: 0x6d6e6220, 0x3a579: 0x6d6e6420, 0x3a57a: 0x6d6e6620, 0x3a57b: 0x6d6e6820,\n\t0x3a57c: 0x6d6e6a20, 0x3a57d: 0x6d6e6c20, 0x3a57e: 0x6d6e6e20, 0x3a57f: 0x6d6e7020,\n\t// Block 0xe96, offset 0x3a580\n\t0x3a580: 0x6d6e7220, 0x3a581: 0x6d6e7420, 0x3a582: 0x6d6e7620, 0x3a583: 0x6d6e7820,\n\t0x3a584: 0x6d6e7a20, 0x3a585: 0x6d6e7c20, 0x3a586: 0x6d6e7e20, 0x3a587: 0x6d6e8020,\n\t0x3a588: 0x6d6e8220, 0x3a589: 0x6d6e8420, 0x3a58a: 0x6d6e8620, 0x3a58b: 0x6d6e8820,\n\t0x3a58c: 0x6d6e8a20, 0x3a58d: 0x6d6e8c20, 0x3a58e: 0x6d6e8e20, 0x3a58f: 0x6d6e9020,\n\t0x3a590: 0x6d6e9220, 0x3a591: 0x6d6e9420, 0x3a592: 0x6d6e9620, 0x3a593: 0x6d6e9820,\n\t0x3a594: 0x6d6e9a20, 0x3a595: 0x6d6e9c20, 0x3a596: 0x6d6e9e20, 0x3a597: 0x6d6ea020,\n\t0x3a598: 0x6d6ea220, 0x3a599: 0x6d6ea420, 0x3a59a: 0x6d6ea620, 0x3a59b: 0x6d6ea820,\n\t0x3a59c: 0x6d6eaa20, 0x3a59d: 0x6d6eac20, 0x3a59e: 0x6d6eae20, 0x3a59f: 0x6d6eb020,\n\t0x3a5a0: 0x6d6eb220, 0x3a5a1: 0x6d6eb420, 0x3a5a2: 0x6d6eb620, 0x3a5a3: 0x6d6eb820,\n\t0x3a5a4: 0x6d6eba20, 0x3a5a5: 0x6d6ebc20, 0x3a5a6: 0x6d974620, 0x3a5a7: 0x6d974820,\n\t0x3a5a8: 0x6d974a20, 0x3a5a9: 0x6d974c20, 0x3a5aa: 0x6d974e20, 0x3a5ab: 0x6d975020,\n\t0x3a5ac: 0x6d975220, 0x3a5ad: 0x6d975420, 0x3a5ae: 0x6d975620, 0x3a5af: 0x6d975820,\n\t0x3a5b0: 0x6d975a20, 0x3a5b1: 0x6d975c20, 0x3a5b2: 0x6d975e20, 0x3a5b3: 0x6d976020,\n\t0x3a5b4: 0x6d976220, 0x3a5b5: 0x6d976420, 0x3a5b6: 0x6d976620, 0x3a5b7: 0x6d976820,\n\t0x3a5b8: 0x6d976a20, 0x3a5b9: 0x6d976c20, 0x3a5ba: 0x6d976e20, 0x3a5bb: 0x6d977020,\n\t0x3a5bc: 0x6d977220, 0x3a5bd: 0x6d977420, 0x3a5be: 0x6d977620, 0x3a5bf: 0x6d977820,\n\t// Block 0xe97, offset 0x3a5c0\n\t0x3a5c0: 0x6d977a20, 0x3a5c1: 0x6d977c20, 0x3a5c2: 0x6d977e20, 0x3a5c3: 0x6d978020,\n\t0x3a5c4: 0x6d978220, 0x3a5c5: 0x6d978420, 0x3a5c6: 0x6d978620, 0x3a5c7: 0x6d978820,\n\t0x3a5c8: 0x6d978a20, 0x3a5c9: 0x6d978c20, 0x3a5ca: 0x6d978e20, 0x3a5cb: 0x6d979020,\n\t0x3a5cc: 0x6d979220, 0x3a5cd: 0x6d979420, 0x3a5ce: 0x6d979620, 0x3a5cf: 0x6d979820,\n\t0x3a5d0: 0x6d979a20, 0x3a5d1: 0x6d979c20, 0x3a5d2: 0x6d979e20, 0x3a5d3: 0x6d97a020,\n\t0x3a5d4: 0x6d97a220, 0x3a5d5: 0x6d97a420, 0x3a5d6: 0x6d97a620, 0x3a5d7: 0x6d97a820,\n\t0x3a5d8: 0x6d97aa20, 0x3a5d9: 0x6d97ac20, 0x3a5da: 0x6d97ae20, 0x3a5db: 0x6d97b020,\n\t0x3a5dc: 0x6d97b220, 0x3a5dd: 0x6d97b420, 0x3a5de: 0x6d97b620, 0x3a5df: 0x6d97b820,\n\t0x3a5e0: 0x6d97ba20, 0x3a5e1: 0x6d97bc20, 0x3a5e2: 0x6d97be20, 0x3a5e3: 0x6d97c020,\n\t0x3a5e4: 0x6d97c220, 0x3a5e5: 0x6d97c420, 0x3a5e6: 0x6d97c620, 0x3a5e7: 0x6d97c820,\n\t0x3a5e8: 0x6d97ca20, 0x3a5e9: 0x6d97cc20, 0x3a5ea: 0x6d97ce20, 0x3a5eb: 0x6d97d020,\n\t0x3a5ec: 0x6d97d220, 0x3a5ed: 0x6d97d420, 0x3a5ee: 0x6d97d620, 0x3a5ef: 0x6dba2c20,\n\t0x3a5f0: 0x6dba2e20, 0x3a5f1: 0x6dba3020, 0x3a5f2: 0x6dba3220, 0x3a5f3: 0x6dba3420,\n\t0x3a5f4: 0x6dba3620, 0x3a5f5: 0x6dba3820, 0x3a5f6: 0x6dba3a20, 0x3a5f7: 0x6dba3c20,\n\t0x3a5f8: 0x6dba3e20, 0x3a5f9: 0x6dba4020, 0x3a5fa: 0x6dba4220, 0x3a5fb: 0x6dba4420,\n\t0x3a5fc: 0x6dba4620, 0x3a5fd: 0x6dba4820, 0x3a5fe: 0x6dba4a20, 0x3a5ff: 0x6dba4c20,\n\t// Block 0xe98, offset 0x3a600\n\t0x3a600: 0x6dba4e20, 0x3a601: 0x6dba5020, 0x3a602: 0x6dba5220, 0x3a603: 0x6dba5420,\n\t0x3a604: 0x6dba5620, 0x3a605: 0x6dba5820, 0x3a606: 0x6dba5a20, 0x3a607: 0x6dba5c20,\n\t0x3a608: 0x6dba5e20, 0x3a609: 0x6dba6020, 0x3a60a: 0x6dba6220, 0x3a60b: 0x6dba6420,\n\t0x3a60c: 0x6dba6620, 0x3a60d: 0x6dba6820, 0x3a60e: 0x6dba6a20, 0x3a60f: 0x6dba6c20,\n\t0x3a610: 0x6dba6e20, 0x3a611: 0x6dba7020, 0x3a612: 0x6dba7220, 0x3a613: 0x6dba7420,\n\t0x3a614: 0x6dba7620, 0x3a615: 0x6dba7820, 0x3a616: 0x6dba7a20, 0x3a617: 0x6dba7c20,\n\t0x3a618: 0x6dba7e20, 0x3a619: 0x6dba8020, 0x3a61a: 0x6dba8220, 0x3a61b: 0x6dba8420,\n\t0x3a61c: 0x6dba8620, 0x3a61d: 0x6dba8820, 0x3a61e: 0x6dba8a20, 0x3a61f: 0x6dba8c20,\n\t0x3a620: 0x6dba8e20, 0x3a621: 0x6dba9020, 0x3a622: 0x6dba9220, 0x3a623: 0x6dba9420,\n\t0x3a624: 0x6dba9620, 0x3a625: 0x6dba9820, 0x3a626: 0x6dba9a20, 0x3a627: 0x6dba9c20,\n\t0x3a628: 0x6dba9e20, 0x3a629: 0x6dbaa020, 0x3a62a: 0x6dbaa220, 0x3a62b: 0x6dbaa420,\n\t0x3a62c: 0x6dbaa620, 0x3a62d: 0x6dbaa820, 0x3a62e: 0x6dbaaa20, 0x3a62f: 0x6dbaac20,\n\t0x3a630: 0x6dbaae20, 0x3a631: 0x6dbab020, 0x3a632: 0x6dbab220, 0x3a633: 0x6dbab420,\n\t0x3a634: 0x6dbab620, 0x3a635: 0x6dbab820, 0x3a636: 0x6dbaba20, 0x3a637: 0x6dbabc20,\n\t0x3a638: 0x6dbabe20, 0x3a639: 0x6dbac020, 0x3a63a: 0x6dbac220, 0x3a63b: 0x6dbac420,\n\t0x3a63c: 0x6dbac620, 0x3a63d: 0x6dbac820, 0x3a63e: 0x6dbaca20, 0x3a63f: 0x6dbacc20,\n\t// Block 0xe99, offset 0x3a640\n\t0x3a640: 0x6dbace20, 0x3a641: 0x6dbad020, 0x3a642: 0x6dbad220, 0x3a643: 0x6dbad420,\n\t0x3a644: 0x6dbad620, 0x3a645: 0x6dbad820, 0x3a646: 0x6dbada20, 0x3a647: 0x6dd85a20,\n\t0x3a648: 0x6dd85c20, 0x3a649: 0x6dd85e20, 0x3a64a: 0x6dd86020, 0x3a64b: 0x6dd86220,\n\t0x3a64c: 0x6dd86420, 0x3a64d: 0x6dd86620, 0x3a64e: 0x6dd86820, 0x3a64f: 0x6dd86a20,\n\t0x3a650: 0x6dd86c20, 0x3a651: 0x6dd86e20, 0x3a652: 0x6dd87020, 0x3a653: 0x6dd87220,\n\t0x3a654: 0x6dd87420, 0x3a655: 0x6dd87620, 0x3a656: 0x6dd87820, 0x3a657: 0x6dd87a20,\n\t0x3a658: 0x6dd87c20, 0x3a659: 0x6dd87e20, 0x3a65a: 0x6dd88020, 0x3a65b: 0x6dd88220,\n\t0x3a65c: 0x6dd88420, 0x3a65d: 0x6dd88620, 0x3a65e: 0x6dd88820, 0x3a65f: 0x6dd88a20,\n\t0x3a660: 0x6dd88c20, 0x3a661: 0x6dd88e20, 0x3a662: 0x6dd89020, 0x3a663: 0x6dd89220,\n\t0x3a664: 0x6dd89420, 0x3a665: 0x6dd89620, 0x3a666: 0x6dd89820, 0x3a667: 0x6dd89a20,\n\t0x3a668: 0x6dd89c20, 0x3a669: 0x6dd89e20, 0x3a66a: 0x6dd8a020, 0x3a66b: 0x6dd8a220,\n\t0x3a66c: 0x6dd8a420, 0x3a66d: 0x6dd8a620, 0x3a66e: 0x6dd8a820, 0x3a66f: 0x6dd8aa20,\n\t0x3a670: 0x6dd8ac20, 0x3a671: 0x6dd8ae20, 0x3a672: 0x6dd8b020, 0x3a673: 0x6dd8b220,\n\t0x3a674: 0x6dd8b420, 0x3a675: 0x6dd8b620, 0x3a676: 0x6dd8b820, 0x3a677: 0x6dd8ba20,\n\t0x3a678: 0x6dd8bc20, 0x3a679: 0x6dd8be20, 0x3a67a: 0x6dd8c020, 0x3a67b: 0x6dd8c220,\n\t0x3a67c: 0x6dd8c420, 0x3a67d: 0x6dd8c620, 0x3a67e: 0x6dd8c820, 0x3a67f: 0x6dd8ca20,\n\t// Block 0xe9a, offset 0x3a680\n\t0x3a680: 0x6dd8cc20, 0x3a681: 0x6dd8ce20, 0x3a682: 0x6dd8d020, 0x3a683: 0x6dd8d220,\n\t0x3a684: 0x6dd8d420, 0x3a685: 0x6dd8d620, 0x3a686: 0x6dd8d820, 0x3a687: 0x6dd8da20,\n\t0x3a688: 0x6dd8dc20, 0x3a689: 0x6dd8de20, 0x3a68a: 0x6dd8e020, 0x3a68b: 0x6dd8e220,\n\t0x3a68c: 0x6dd8e420, 0x3a68d: 0x6dd8e620, 0x3a68e: 0x6dd8e820, 0x3a68f: 0x6df0d820,\n\t0x3a690: 0x6df0da20, 0x3a691: 0x6df0dc20, 0x3a692: 0x6df0de20, 0x3a693: 0x6df0e020,\n\t0x3a694: 0x6df0e220, 0x3a695: 0x6df0e420, 0x3a696: 0x6df0e620, 0x3a697: 0x6df0e820,\n\t0x3a698: 0x6df0ea20, 0x3a699: 0x6df0ec20, 0x3a69a: 0x6df0ee20, 0x3a69b: 0x6df0f020,\n\t0x3a69c: 0x6df0f220, 0x3a69d: 0x6df0f420, 0x3a69e: 0x6df0f620, 0x3a69f: 0x6df0f820,\n\t0x3a6a0: 0x6df0fa20, 0x3a6a1: 0x6df0fc20, 0x3a6a2: 0x6df0fe20, 0x3a6a3: 0x6df10020,\n\t0x3a6a4: 0x6df10220, 0x3a6a5: 0x6df10420, 0x3a6a6: 0x6df10620, 0x3a6a7: 0x6df10820,\n\t0x3a6a8: 0x6df10a20, 0x3a6a9: 0x6df10c20, 0x3a6aa: 0x6df10e20, 0x3a6ab: 0x6df11020,\n\t0x3a6ac: 0x6df11220, 0x3a6ad: 0x6df11420, 0x3a6ae: 0x6df11620, 0x3a6af: 0x6df11820,\n\t0x3a6b0: 0x6df11a20, 0x3a6b1: 0x6df11c20, 0x3a6b2: 0x6df11e20, 0x3a6b3: 0x6df12020,\n\t0x3a6b4: 0x6df12220, 0x3a6b5: 0x6df12420, 0x3a6b6: 0x6df12620, 0x3a6b7: 0x6df12820,\n\t0x3a6b8: 0x6df12a20, 0x3a6b9: 0x6df12c20, 0x3a6ba: 0x6df12e20, 0x3a6bb: 0x6df13020,\n\t0x3a6bc: 0x6df13220, 0x3a6bd: 0x6df13420, 0x3a6be: 0x6df13620, 0x3a6bf: 0x6df13820,\n\t// Block 0xe9b, offset 0x3a6c0\n\t0x3a6c0: 0x6df13a20, 0x3a6c1: 0x6df13c20, 0x3a6c2: 0x6df13e20, 0x3a6c3: 0x6df14020,\n\t0x3a6c4: 0x6df14220, 0x3a6c5: 0x6df14420, 0x3a6c6: 0x6df14620, 0x3a6c7: 0x6df14820,\n\t0x3a6c8: 0x6df14a20, 0x3a6c9: 0x6df14c20, 0x3a6ca: 0x6df14e20, 0x3a6cb: 0x6df15020,\n\t0x3a6cc: 0x6df15220, 0x3a6cd: 0x6e04e420, 0x3a6ce: 0x6e04e620, 0x3a6cf: 0x6e04e820,\n\t0x3a6d0: 0x6e04ea20, 0x3a6d1: 0x6e04ec20, 0x3a6d2: 0x6e04ee20, 0x3a6d3: 0x6e04f020,\n\t0x3a6d4: 0x6e04f220, 0x3a6d5: 0x6e15c420, 0x3a6d6: 0x6e04f420, 0x3a6d7: 0x6e04f620,\n\t0x3a6d8: 0x6e04f820, 0x3a6d9: 0x6e04fa20, 0x3a6da: 0x6e04fc20, 0x3a6db: 0x6e04fe20,\n\t0x3a6dc: 0x6e050020, 0x3a6dd: 0x6e050220, 0x3a6de: 0x6e050420, 0x3a6df: 0x6e050620,\n\t0x3a6e0: 0x6e050820, 0x3a6e1: 0x6e050a20, 0x3a6e2: 0x6e050c20, 0x3a6e3: 0x6e050e20,\n\t0x3a6e4: 0x6e051020, 0x3a6e5: 0x6e051220, 0x3a6e6: 0x6e051420, 0x3a6e7: 0x6e051620,\n\t0x3a6e8: 0x6e051820, 0x3a6e9: 0x6e051a20, 0x3a6ea: 0x6e051c20, 0x3a6eb: 0x6e051e20,\n\t0x3a6ec: 0x6e052020, 0x3a6ed: 0x6e052220, 0x3a6ee: 0x6e052420, 0x3a6ef: 0x6e052620,\n\t0x3a6f0: 0x6e052820, 0x3a6f1: 0x6e052a20, 0x3a6f2: 0x6e052c20, 0x3a6f3: 0x6e052e20,\n\t0x3a6f4: 0x6e053020, 0x3a6f5: 0x6e053220, 0x3a6f6: 0x6e053420, 0x3a6f7: 0x6e053620,\n\t0x3a6f8: 0x6e053820, 0x3a6f9: 0x6e053a20, 0x3a6fa: 0x6e053c20, 0x3a6fb: 0x6e053e20,\n\t0x3a6fc: 0x6e054020, 0x3a6fd: 0x6e054220, 0x3a6fe: 0x6e054420, 0x3a6ff: 0x6e054620,\n\t// Block 0xe9c, offset 0x3a700\n\t0x3a700: 0x6e054820, 0x3a701: 0x6e054a20, 0x3a702: 0x6e054c20, 0x3a703: 0x6e054e20,\n\t0x3a704: 0x6e055020, 0x3a705: 0x6e055220, 0x3a706: 0x6e055420, 0x3a707: 0x6e055620,\n\t0x3a708: 0x6e055820, 0x3a709: 0x6e055a20, 0x3a70a: 0x6e055c20, 0x3a70b: 0x6e055e20,\n\t0x3a70c: 0x6e056020, 0x3a70d: 0x6e056220, 0x3a70e: 0x6e056420, 0x3a70f: 0x6e056620,\n\t0x3a710: 0x6e056820, 0x3a711: 0x6e056a20, 0x3a712: 0x6e056c20, 0x3a713: 0x6e056e20,\n\t0x3a714: 0x6e057020, 0x3a715: 0x6e15c620, 0x3a716: 0x6e15c820, 0x3a717: 0x6e15ca20,\n\t0x3a718: 0x6e15cc20, 0x3a719: 0x6e15ce20, 0x3a71a: 0x6e15d020, 0x3a71b: 0x6e15d220,\n\t0x3a71c: 0x6e15d420, 0x3a71d: 0x6e15d620, 0x3a71e: 0x6e15d820, 0x3a71f: 0x6e15da20,\n\t0x3a720: 0x6e15dc20, 0x3a721: 0x6e15de20, 0x3a722: 0x6e15e020, 0x3a723: 0x6e15e220,\n\t0x3a724: 0x6e15e420, 0x3a725: 0x6e15e620, 0x3a726: 0x6e15e820, 0x3a727: 0x6e15ea20,\n\t0x3a728: 0x6e15ec20, 0x3a729: 0x6e15ee20, 0x3a72a: 0x6e15f020, 0x3a72b: 0x6e15f220,\n\t0x3a72c: 0x6e15f420, 0x3a72d: 0x6e15f620, 0x3a72e: 0x6e15f820, 0x3a72f: 0x6e15fa20,\n\t0x3a730: 0x6e15fc20, 0x3a731: 0x6e15fe20, 0x3a732: 0x6e160020, 0x3a733: 0x6e160220,\n\t0x3a734: 0x6e160420, 0x3a735: 0x6e160620, 0x3a736: 0x6e160820, 0x3a737: 0x6e160a20,\n\t0x3a738: 0x6e160c20, 0x3a739: 0x6e160e20, 0x3a73a: 0x6e161020, 0x3a73b: 0x6e161220,\n\t0x3a73c: 0x6e161420, 0x3a73d: 0x6e161620, 0x3a73e: 0x6e161820, 0x3a73f: 0x6e161a20,\n\t// Block 0xe9d, offset 0x3a740\n\t0x3a740: 0x6e161c20, 0x3a741: 0x6e161e20, 0x3a742: 0x6e162020, 0x3a743: 0x6e162220,\n\t0x3a744: 0x6e162420, 0x3a745: 0x6e162620, 0x3a746: 0x6e162820, 0x3a747: 0x6e162a20,\n\t0x3a748: 0x6e162c20, 0x3a749: 0x6e162e20, 0x3a74a: 0x6e163020, 0x3a74b: 0x6e163220,\n\t0x3a74c: 0x6e163420, 0x3a74d: 0x6e163620, 0x3a74e: 0x6e163820, 0x3a74f: 0x6e163a20,\n\t0x3a750: 0x6e163c20, 0x3a751: 0x6e163e20, 0x3a752: 0x6e233e20, 0x3a753: 0x6e234020,\n\t0x3a754: 0x6e234220, 0x3a755: 0x6e234420, 0x3a756: 0x6e234620, 0x3a757: 0x6e234820,\n\t0x3a758: 0x6e234a20, 0x3a759: 0x6e234c20, 0x3a75a: 0x6e234e20, 0x3a75b: 0x6e235020,\n\t0x3a75c: 0x6e235220, 0x3a75d: 0x6e235420, 0x3a75e: 0x6e235620, 0x3a75f: 0x6e235820,\n\t0x3a760: 0x6e235a20, 0x3a761: 0x6e235c20, 0x3a762: 0x6e235e20, 0x3a763: 0x6e236020,\n\t0x3a764: 0x6e236220, 0x3a765: 0x6e236420, 0x3a766: 0x6e236620, 0x3a767: 0x6e236820,\n\t0x3a768: 0x6e236a20, 0x3a769: 0x6e236c20, 0x3a76a: 0x6e236e20, 0x3a76b: 0x6e237020,\n\t0x3a76c: 0x6e237220, 0x3a76d: 0x6e237420, 0x3a76e: 0x6e237620, 0x3a76f: 0x6e237820,\n\t0x3a770: 0x6e237a20, 0x3a771: 0x6e237c20, 0x3a772: 0x6e237e20, 0x3a773: 0x6e238020,\n\t0x3a774: 0x6e238220, 0x3a775: 0x6e238420, 0x3a776: 0x6e238620, 0x3a777: 0x6e238820,\n\t0x3a778: 0x6e2d6a20, 0x3a779: 0x6e2d6c20, 0x3a77a: 0x6e2d6e20, 0x3a77b: 0x6e2d7020,\n\t0x3a77c: 0x6e2d7220, 0x3a77d: 0x6e2d7420, 0x3a77e: 0x6e2d7620, 0x3a77f: 0x6e2d7820,\n\t// Block 0xe9e, offset 0x3a780\n\t0x3a780: 0x6e2d7a20, 0x3a781: 0x6e2d7c20, 0x3a782: 0x6e2d7e20, 0x3a783: 0x6e2d8020,\n\t0x3a784: 0x6e2d8220, 0x3a785: 0x6e2d8420, 0x3a786: 0x6e2d8620, 0x3a787: 0x6e2d8820,\n\t0x3a788: 0x6e2d8a20, 0x3a789: 0x6e2d8c20, 0x3a78a: 0x6e2d8e20, 0x3a78b: 0x6e2d9020,\n\t0x3a78c: 0x6e2d9220, 0x3a78d: 0x6e2d9420, 0x3a78e: 0x6e2d9620, 0x3a78f: 0x6e2d9820,\n\t0x3a790: 0x6e2d9a20, 0x3a791: 0x6e2d9c20, 0x3a792: 0x6e2d9e20, 0x3a793: 0x6e2da020,\n\t0x3a794: 0x6e2da220, 0x3a795: 0x6e2da420, 0x3a796: 0x6e2da620, 0x3a797: 0x6e2da820,\n\t0x3a798: 0x6e2daa20, 0x3a799: 0x6e2dac20, 0x3a79a: 0x6e2dae20, 0x3a79b: 0x6e2db020,\n\t0x3a79c: 0x6e2db220, 0x3a79d: 0x6e352620, 0x3a79e: 0x6e352820, 0x3a79f: 0x6e352a20,\n\t0x3a7a0: 0x6e352c20, 0x3a7a1: 0x6e352e20, 0x3a7a2: 0x6e353020, 0x3a7a3: 0x6e353220,\n\t0x3a7a4: 0x6e353420, 0x3a7a5: 0x6e353620, 0x3a7a6: 0x6e353820, 0x3a7a7: 0x6e353a20,\n\t0x3a7a8: 0x6e353c20, 0x3a7a9: 0x6e353e20, 0x3a7aa: 0x6e354020, 0x3a7ab: 0x6e354220,\n\t0x3a7ac: 0x6e354420, 0x3a7ad: 0x6e354620, 0x3a7ae: 0x6e354820, 0x3a7af: 0x6e354a20,\n\t0x3a7b0: 0x6e354c20, 0x3a7b1: 0x6e354e20, 0x3a7b2: 0x6e355020, 0x3a7b3: 0x6e355220,\n\t0x3a7b4: 0x6e355420, 0x3a7b5: 0x6e355620, 0x3a7b6: 0x6e355820, 0x3a7b7: 0x6e355a20,\n\t0x3a7b8: 0x6e355c20, 0x3a7b9: 0x6e355e20, 0x3a7ba: 0x6e3ac220, 0x3a7bb: 0x6e3ac420,\n\t0x3a7bc: 0x6e3ac620, 0x3a7bd: 0x6e3ac820, 0x3a7be: 0x6e3aca20, 0x3a7bf: 0x6e3acc20,\n\t// Block 0xe9f, offset 0x3a7c0\n\t0x3a7c0: 0x6e3ace20, 0x3a7c1: 0x6e3ad020, 0x3a7c2: 0x6e3ad220, 0x3a7c3: 0x6e3ad420,\n\t0x3a7c4: 0x6e3ad620, 0x3a7c5: 0x6e3ad820, 0x3a7c6: 0x6e3ada20, 0x3a7c7: 0x6e3adc20,\n\t0x3a7c8: 0x6e3ade20, 0x3a7c9: 0x6e3e8420, 0x3a7ca: 0x6e3e8620, 0x3a7cb: 0x6e3e8820,\n\t0x3a7cc: 0x6e3e8a20, 0x3a7cd: 0x6e3e8c20, 0x3a7ce: 0x6e3e8e20, 0x3a7cf: 0x6e3e9020,\n\t0x3a7d0: 0x6e3e9220, 0x3a7d1: 0x6e3e9420, 0x3a7d2: 0x6e3e9620, 0x3a7d3: 0x6e3e9820,\n\t0x3a7d4: 0x6e3e9a20, 0x3a7d5: 0x6e3e9c20, 0x3a7d6: 0x6e3e9e20, 0x3a7d7: 0x6e3ea020,\n\t0x3a7d8: 0x6e3ea220, 0x3a7d9: 0x6e3ea420, 0x3a7da: 0x6e3ea620, 0x3a7db: 0x6e3ea820,\n\t0x3a7dc: 0x6e3eaa20, 0x3a7dd: 0x6e3eac20, 0x3a7de: 0x6e414820, 0x3a7df: 0x6e414a20,\n\t0x3a7e0: 0x6e414c20, 0x3a7e1: 0x6e414e20, 0x3a7e2: 0x6e415020, 0x3a7e3: 0x6e415220,\n\t0x3a7e4: 0x6e415420, 0x3a7e5: 0x6e415620, 0x3a7e6: 0x6e415820, 0x3a7e7: 0x6e415a20,\n\t0x3a7e8: 0x6e415c20, 0x3a7e9: 0x6e434820, 0x3a7ea: 0x6e434a20, 0x3a7eb: 0x6e434c20,\n\t0x3a7ec: 0x6e434e20, 0x3a7ed: 0x6e435020, 0x3a7ee: 0x6e435220, 0x3a7ef: 0x6e435420,\n\t0x3a7f0: 0x6e435620, 0x3a7f1: 0x6e3ae020, 0x3a7f2: 0x6e449820, 0x3a7f3: 0x6e449a20,\n\t0x3a7f4: 0x6e449c20, 0x3a7f5: 0x6e449e20, 0x3a7f6: 0x6e44a020, 0x3a7f7: 0x6e456820,\n\t0x3a7f8: 0x6e456a20, 0x3a7f9: 0x6e456c20, 0x3a7fa: 0x6e45e620, 0x3a7fb: 0x6e464020,\n\t0x3a7fc: 0x6e46d020, 0x3a7fd: 0x6e471620, 0x3a7fe: 0x6c41f620, 0x3a7ff: 0x6c41f820,\n\t// Block 0xea0, offset 0x3a800\n\t0x3a800: 0x6c629620, 0x3a801: 0x6c629820, 0x3a802: 0x6c629a20, 0x3a803: 0x6c897220,\n\t0x3a804: 0x6c897420, 0x3a805: 0x6c897620, 0x3a806: 0x6c897820, 0x3a807: 0x6ce56620,\n\t0x3a808: 0x6ce56820, 0x3a809: 0x6d13dc20, 0x3a80a: 0x6d13de20, 0x3a80b: 0x6d13e020,\n\t0x3a80c: 0x6d13e220, 0x3a80d: 0x6d6ef220, 0x3a80e: 0x6d41ec20, 0x3a80f: 0x6d6ef420,\n\t0x3a810: 0x6d980420, 0x3a811: 0x6dbb0620, 0x3a812: 0x6d980620, 0x3a813: 0x6dbb0820,\n\t0x3a814: 0x6dbb0a20, 0x3a815: 0x6dd90820, 0x3a816: 0x6dd90a20, 0x3a817: 0x6c280020,\n\t0x3a818: 0x6c280220, 0x3a819: 0x6c62aa20, 0x3a81a: 0x6cb58e20, 0x3a81b: 0x6cb59020,\n\t0x3a81c: 0x6cb59220, 0x3a81d: 0x6cb59420, 0x3a81e: 0x6cb59620, 0x3a81f: 0x6cb59820,\n\t0x3a820: 0x6cb59a20, 0x3a821: 0x6cb59c20, 0x3a822: 0x6cb59e20, 0x3a823: 0x6cb5a020,\n\t0x3a824: 0x6cb5a220, 0x3a825: 0x6cb5a420, 0x3a826: 0x6ce57420, 0x3a827: 0x6ce57620,\n\t0x3a828: 0x6ce57820, 0x3a829: 0x6ce57a20, 0x3a82a: 0x6ce57c20, 0x3a82b: 0x6ce57e20,\n\t0x3a82c: 0x6ce58020, 0x3a82d: 0x6ce58220, 0x3a82e: 0x6ce58420, 0x3a82f: 0x6ce58620,\n\t0x3a830: 0x6ce58820, 0x3a831: 0x6ce58a20, 0x3a832: 0x6d13fa20, 0x3a833: 0x6d13fc20,\n\t0x3a834: 0x6d13fe20, 0x3a835: 0x6d140020, 0x3a836: 0x6d140220, 0x3a837: 0x6d140420,\n\t0x3a838: 0x6d140620, 0x3a839: 0x6d140820, 0x3a83a: 0x6d140a20, 0x3a83b: 0x6d140c20,\n\t0x3a83c: 0x6d140e20, 0x3a83d: 0x6d141020, 0x3a83e: 0x6d141220, 0x3a83f: 0x6d141420,\n\t// Block 0xea1, offset 0x3a840\n\t0x3a840: 0x6d41fe20, 0x3a841: 0x6d420020, 0x3a842: 0x6d420220, 0x3a843: 0x6d420420,\n\t0x3a844: 0x6d420620, 0x3a845: 0x6d420820, 0x3a846: 0x6d420a20, 0x3a847: 0x6d6f0220,\n\t0x3a848: 0x6d6f0420, 0x3a849: 0x6d6f0620, 0x3a84a: 0x6d6f0820, 0x3a84b: 0x6d6f0a20,\n\t0x3a84c: 0x6d6f0c20, 0x3a84d: 0x6d6f0e20, 0x3a84e: 0x6d6f1020, 0x3a84f: 0x6d6f1220,\n\t0x3a850: 0x6d6f1420, 0x3a851: 0x6d6f1620, 0x3a852: 0x6d6f1820, 0x3a853: 0x6d980e20,\n\t0x3a854: 0x6d981020, 0x3a855: 0x6d981220, 0x3a856: 0x6d981420, 0x3a857: 0x6d981620,\n\t0x3a858: 0x6d981820, 0x3a859: 0x6d981a20, 0x3a85a: 0x6d981c20, 0x3a85b: 0x6d981e20,\n\t0x3a85c: 0x6d982020, 0x3a85d: 0x6d982220, 0x3a85e: 0x6dbb1620, 0x3a85f: 0x6dbb1820,\n\t0x3a860: 0x6dbb1a20, 0x3a861: 0x6dbb1c20, 0x3a862: 0x6dbb1e20, 0x3a863: 0x6dbb2020,\n\t0x3a864: 0x6dbb2220, 0x3a865: 0x6dd91020, 0x3a866: 0x6dd91220, 0x3a867: 0x6dd91420,\n\t0x3a868: 0x6dd91620, 0x3a869: 0x6dd91820, 0x3a86a: 0x6dd91a20, 0x3a86b: 0x6dd91c20,\n\t0x3a86c: 0x6dd91e20, 0x3a86d: 0x6df16820, 0x3a86e: 0x6df16a20, 0x3a86f: 0x6df16c20,\n\t0x3a870: 0x6df16e20, 0x3a871: 0x6df17020, 0x3a872: 0x6df17220, 0x3a873: 0x6e059620,\n\t0x3a874: 0x6e059820, 0x3a875: 0x6e059a20, 0x3a876: 0x6e059c20, 0x3a877: 0x6e059e20,\n\t0x3a878: 0x6e165020, 0x3a879: 0x6e165220, 0x3a87a: 0x6e165420, 0x3a87b: 0x6e239a20,\n\t0x3a87c: 0x6e239c20, 0x3a87d: 0x6e239e20, 0x3a87e: 0x6e23a020, 0x3a87f: 0x6e23a220,\n\t// Block 0xea2, offset 0x3a880\n\t0x3a880: 0x6e2dba20, 0x3a881: 0x6e2dbc20, 0x3a882: 0x6e356820, 0x3a883: 0x6e356a20,\n\t0x3a884: 0x6e3eb020, 0x3a885: 0x6e435a20, 0x3a886: 0x6e44a220, 0x3a887: 0x6c420420,\n\t0x3a888: 0x6c420620, 0x3a889: 0x6c62b020, 0x3a88a: 0x6c898a20, 0x3a88b: 0x6c898c20,\n\t0x3a88c: 0x6c898e20, 0x3a88d: 0x6c899020, 0x3a88e: 0x6c899220, 0x3a88f: 0x6c899420,\n\t0x3a890: 0x6cb5b420, 0x3a891: 0x6cb5b620, 0x3a892: 0x6cb5b820, 0x3a893: 0x6cb5ba20,\n\t0x3a894: 0x6cb5bc20, 0x3a895: 0x6cb5be20, 0x3a896: 0x6cb5c020, 0x3a897: 0x6ce5ae20,\n\t0x3a898: 0x6ce5b020, 0x3a899: 0x6ce5b220, 0x3a89a: 0x6ce5b420, 0x3a89b: 0x6ce5b620,\n\t0x3a89c: 0x6ce5b820, 0x3a89d: 0x6ce5ba20, 0x3a89e: 0x6ce5bc20, 0x3a89f: 0x6ce5be20,\n\t0x3a8a0: 0x6ce5c020, 0x3a8a1: 0x6ce5c220, 0x3a8a2: 0x6ce5c420, 0x3a8a3: 0x6ce5c620,\n\t0x3a8a4: 0x6ce5c820, 0x3a8a5: 0x6ce5ca20, 0x3a8a6: 0x6ce5cc20, 0x3a8a7: 0x6ce5ce20,\n\t0x3a8a8: 0x6ce5d020, 0x3a8a9: 0x6ce5d220, 0x3a8aa: 0x6ce5d420, 0x3a8ab: 0x6ce5d620,\n\t0x3a8ac: 0x6ce5d820, 0x3a8ad: 0x6ce5da20, 0x3a8ae: 0x6ce5dc20, 0x3a8af: 0x6ce5de20,\n\t0x3a8b0: 0x6ce5e020, 0x3a8b1: 0x6ce5e220, 0x3a8b2: 0x6ce5e420, 0x3a8b3: 0x6d143020,\n\t0x3a8b4: 0x6d143220, 0x3a8b5: 0x6d143420, 0x3a8b6: 0x6d143620, 0x3a8b7: 0x6d143820,\n\t0x3a8b8: 0x6d143a20, 0x3a8b9: 0x6d143c20, 0x3a8ba: 0x6d143e20, 0x3a8bb: 0x6d144020,\n\t0x3a8bc: 0x6d144220, 0x3a8bd: 0x6d144420, 0x3a8be: 0x6d144620, 0x3a8bf: 0x6d144820,\n\t// Block 0xea3, offset 0x3a8c0\n\t0x3a8c0: 0x6d144a20, 0x3a8c1: 0x6d144c20, 0x3a8c2: 0x6d144e20, 0x3a8c3: 0x6d145020,\n\t0x3a8c4: 0x6d145220, 0x3a8c5: 0x6d145420, 0x3a8c6: 0x6d145620, 0x3a8c7: 0x6d145820,\n\t0x3a8c8: 0x6d145a20, 0x3a8c9: 0x6d145c20, 0x3a8ca: 0x6d145e20, 0x3a8cb: 0x6d146020,\n\t0x3a8cc: 0x6d146220, 0x3a8cd: 0x6d422e20, 0x3a8ce: 0x6d423020, 0x3a8cf: 0x6d423220,\n\t0x3a8d0: 0x6d423420, 0x3a8d1: 0x6d423620, 0x3a8d2: 0x6d423820, 0x3a8d3: 0x6d423a20,\n\t0x3a8d4: 0x6d423c20, 0x3a8d5: 0x6d423e20, 0x3a8d6: 0x6d424020, 0x3a8d7: 0x6d424220,\n\t0x3a8d8: 0x6d424420, 0x3a8d9: 0x6d424620, 0x3a8da: 0x6d424820, 0x3a8db: 0x6d424a20,\n\t0x3a8dc: 0x6d424c20, 0x3a8dd: 0x6d424e20, 0x3a8de: 0x6d425020, 0x3a8df: 0x6d425220,\n\t0x3a8e0: 0x6d425420, 0x3a8e1: 0x6d425620, 0x3a8e2: 0x6d425820, 0x3a8e3: 0x6d425a20,\n\t0x3a8e4: 0x6d425c20, 0x3a8e5: 0x6d425e20, 0x3a8e6: 0x6d426020, 0x3a8e7: 0x6d6f3820,\n\t0x3a8e8: 0x6d6f3a20, 0x3a8e9: 0x6d6f3c20, 0x3a8ea: 0x6d6f3e20, 0x3a8eb: 0x6d6f4020,\n\t0x3a8ec: 0x6d6f4220, 0x3a8ed: 0x6d6f4420, 0x3a8ee: 0x6d6f4620, 0x3a8ef: 0x6d6f4820,\n\t0x3a8f0: 0x6d6f4a20, 0x3a8f1: 0x6d6f4c20, 0x3a8f2: 0x6d6f4e20, 0x3a8f3: 0x6d6f5020,\n\t0x3a8f4: 0x6d6f5220, 0x3a8f5: 0x6d6f5420, 0x3a8f6: 0x6d6f5620, 0x3a8f7: 0x6d6f5820,\n\t0x3a8f8: 0x6d6f5a20, 0x3a8f9: 0x6d6f5c20, 0x3a8fa: 0x6d6f5e20, 0x3a8fb: 0x6d6f6020,\n\t0x3a8fc: 0x6d6f6220, 0x3a8fd: 0x6d6f6420, 0x3a8fe: 0x6d6f6620, 0x3a8ff: 0x6d6f6820,\n\t// Block 0xea4, offset 0x3a900\n\t0x3a900: 0x6d6f6a20, 0x3a901: 0x6d6f6c20, 0x3a902: 0x6d6f6e20, 0x3a903: 0x6d6f7020,\n\t0x3a904: 0x6d6f7220, 0x3a905: 0x6d6f7420, 0x3a906: 0x6d6f7620, 0x3a907: 0x6d6f7820,\n\t0x3a908: 0x6d984e20, 0x3a909: 0x6d985020, 0x3a90a: 0x6d985220, 0x3a90b: 0x6d985420,\n\t0x3a90c: 0x6d985620, 0x3a90d: 0x6d985820, 0x3a90e: 0x6d985a20, 0x3a90f: 0x6d985c20,\n\t0x3a910: 0x6d985e20, 0x3a911: 0x6d986020, 0x3a912: 0x6d986220, 0x3a913: 0x6d986420,\n\t0x3a914: 0x6d986620, 0x3a915: 0x6d986820, 0x3a916: 0x6d986a20, 0x3a917: 0x6d986c20,\n\t0x3a918: 0x6d986e20, 0x3a919: 0x6d987020, 0x3a91a: 0x6d987220, 0x3a91b: 0x6d987420,\n\t0x3a91c: 0x6d987620, 0x3a91d: 0x6d987820, 0x3a91e: 0x6d987a20, 0x3a91f: 0x6d987c20,\n\t0x3a920: 0x6d987e20, 0x3a921: 0x6d988020, 0x3a922: 0x6d988220, 0x3a923: 0x6d988420,\n\t0x3a924: 0x6d988620, 0x3a925: 0x6dbb4e20, 0x3a926: 0x6dbb5020, 0x3a927: 0x6dbb5220,\n\t0x3a928: 0x6dbb5420, 0x3a929: 0x6dbb5620, 0x3a92a: 0x6dbb5820, 0x3a92b: 0x6dbb5a20,\n\t0x3a92c: 0x6dbb5c20, 0x3a92d: 0x6dbb5e20, 0x3a92e: 0x6dbb6020, 0x3a92f: 0x6dbb6220,\n\t0x3a930: 0x6dbb6420, 0x3a931: 0x6dbb6620, 0x3a932: 0x6dbb6820, 0x3a933: 0x6dbb6a20,\n\t0x3a934: 0x6dbb6c20, 0x3a935: 0x6dbb6e20, 0x3a936: 0x6dbb7020, 0x3a937: 0x6dbb7220,\n\t0x3a938: 0x6dbb7420, 0x3a939: 0x6dbb7620, 0x3a93a: 0x6dbb7820, 0x3a93b: 0x6dbb7a20,\n\t0x3a93c: 0x6dbb7c20, 0x3a93d: 0x6dbb7e20, 0x3a93e: 0x6dbb8020, 0x3a93f: 0x6dbb8220,\n\t// Block 0xea5, offset 0x3a940\n\t0x3a940: 0x6dd93220, 0x3a941: 0x6dd93420, 0x3a942: 0x6dd93620, 0x3a943: 0x6dd93820,\n\t0x3a944: 0x6dd93a20, 0x3a945: 0x6dd93c20, 0x3a946: 0x6dd93e20, 0x3a947: 0x6dd94020,\n\t0x3a948: 0x6dd94220, 0x3a949: 0x6dd94420, 0x3a94a: 0x6dd94620, 0x3a94b: 0x6dd94820,\n\t0x3a94c: 0x6dd94a20, 0x3a94d: 0x6dd94c20, 0x3a94e: 0x6dd94e20, 0x3a94f: 0x6dd95020,\n\t0x3a950: 0x6dd95220, 0x3a951: 0x6dd95420, 0x3a952: 0x6dd95620, 0x3a953: 0x6dd95820,\n\t0x3a954: 0x6dd95a20, 0x3a955: 0x6dd95c20, 0x3a956: 0x6dd95e20, 0x3a957: 0x6dd96020,\n\t0x3a958: 0x6dd96220, 0x3a959: 0x6dd96420, 0x3a95a: 0x6dd96620, 0x3a95b: 0x6dd96820,\n\t0x3a95c: 0x6df18020, 0x3a95d: 0x6df18220, 0x3a95e: 0x6df18420, 0x3a95f: 0x6df18620,\n\t0x3a960: 0x6df18820, 0x3a961: 0x6df18a20, 0x3a962: 0x6df18c20, 0x3a963: 0x6df18e20,\n\t0x3a964: 0x6df19020, 0x3a965: 0x6df19220, 0x3a966: 0x6df19420, 0x3a967: 0x6df19620,\n\t0x3a968: 0x6df19820, 0x3a969: 0x6df19a20, 0x3a96a: 0x6df19c20, 0x3a96b: 0x6df19e20,\n\t0x3a96c: 0x6e05aa20, 0x3a96d: 0x6e05ac20, 0x3a96e: 0x6e05ae20, 0x3a96f: 0x6e05b020,\n\t0x3a970: 0x6e05b220, 0x3a971: 0x6e05b420, 0x3a972: 0x6e05b620, 0x3a973: 0x6e05b820,\n\t0x3a974: 0x6e05ba20, 0x3a975: 0x6e05bc20, 0x3a976: 0x6e05be20, 0x3a977: 0x6e05c020,\n\t0x3a978: 0x6e05c220, 0x3a979: 0x6e05c420, 0x3a97a: 0x6e05c620, 0x3a97b: 0x6e05c820,\n\t0x3a97c: 0x6e05ca20, 0x3a97d: 0x6e05cc20, 0x3a97e: 0x6e05ce20, 0x3a97f: 0x6e05d020,\n\t// Block 0xea6, offset 0x3a980\n\t0x3a980: 0x6e05d220, 0x3a981: 0x6e05d420, 0x3a982: 0x6e05d620, 0x3a983: 0x6e166620,\n\t0x3a984: 0x6e166820, 0x3a985: 0x6e166a20, 0x3a986: 0x6e166c20, 0x3a987: 0x6e166e20,\n\t0x3a988: 0x6e167020, 0x3a989: 0x6e167220, 0x3a98a: 0x6e167420, 0x3a98b: 0x6e167620,\n\t0x3a98c: 0x6e167820, 0x3a98d: 0x6e167a20, 0x3a98e: 0x6e167c20, 0x3a98f: 0x6e167e20,\n\t0x3a990: 0x6e168020, 0x3a991: 0x6e168220, 0x3a992: 0x6e168420, 0x3a993: 0x6e168620,\n\t0x3a994: 0x6e23a820, 0x3a995: 0x6e168820, 0x3a996: 0x6e168a20, 0x3a997: 0x6e168c20,\n\t0x3a998: 0x6e23aa20, 0x3a999: 0x6e23ac20, 0x3a99a: 0x6e23ae20, 0x3a99b: 0x6e23b020,\n\t0x3a99c: 0x6e23b220, 0x3a99d: 0x6e23b420, 0x3a99e: 0x6e23b620, 0x3a99f: 0x6e2dbe20,\n\t0x3a9a0: 0x6e2dc020, 0x3a9a1: 0x6e2dc220, 0x3a9a2: 0x6e2dc420, 0x3a9a3: 0x6e2dc620,\n\t0x3a9a4: 0x6e2dc820, 0x3a9a5: 0x6e2dca20, 0x3a9a6: 0x6e356c20, 0x3a9a7: 0x6e356e20,\n\t0x3a9a8: 0x6e357020, 0x3a9a9: 0x6e357220, 0x3a9aa: 0x6e357420, 0x3a9ab: 0x6e357620,\n\t0x3a9ac: 0x6e357820, 0x3a9ad: 0x6e357a20, 0x3a9ae: 0x6e357c20, 0x3a9af: 0x6e3ae820,\n\t0x3a9b0: 0x6e3aea20, 0x3a9b1: 0x6e3aec20, 0x3a9b2: 0x6e3aee20, 0x3a9b3: 0x6e3af020,\n\t0x3a9b4: 0x6e3af220, 0x3a9b5: 0x6e3af420, 0x3a9b6: 0x6e357e20, 0x3a9b7: 0x6e3eb220,\n\t0x3a9b8: 0x6e3af620, 0x3a9b9: 0x6e3eb420, 0x3a9ba: 0x6e3eb620, 0x3a9bb: 0x6e416020,\n\t0x3a9bc: 0x6e44a420, 0x3a9bd: 0x6e464220, 0x3a9be: 0x6e464420, 0x3a9bf: 0x6c159a20,\n\t// Block 0xea7, offset 0x3a9c0\n\t0x3a9c0: 0x6c159c20, 0x3a9c1: 0x6c159e20, 0x3a9c2: 0x6c281420, 0x3a9c3: 0x6c281620,\n\t0x3a9c4: 0x6c62c620, 0x3a9c5: 0x6c62c820, 0x3a9c6: 0x6ce5f420, 0x3a9c7: 0x6ce5f620,\n\t0x3a9c8: 0x6ce5f820, 0x3a9c9: 0x6d147620, 0x3a9ca: 0x6d147820, 0x3a9cb: 0x6d6f8420,\n\t0x3a9cc: 0x6d6f8620, 0x3a9cd: 0x6dbb8820, 0x3a9ce: 0x6e05d820, 0x3a9cf: 0x6c00d020,\n\t0x3a9d0: 0x6c052820, 0x3a9d1: 0x6c052a20, 0x3a9d2: 0x6c052c20, 0x3a9d3: 0x6c052e20,\n\t0x3a9d4: 0x6c053020, 0x3a9d5: 0x6c053220, 0x3a9d6: 0x6c0ab820, 0x3a9d7: 0x6c0aba20,\n\t0x3a9d8: 0x6c0abc20, 0x3a9d9: 0x6c0abe20, 0x3a9da: 0x6c15b020, 0x3a9db: 0x6c15b220,\n\t0x3a9dc: 0x6c15b420, 0x3a9dd: 0x6c15b620, 0x3a9de: 0x6c15b820, 0x3a9df: 0x6c15ba20,\n\t0x3a9e0: 0x6c15bc20, 0x3a9e1: 0x6c15be20, 0x3a9e2: 0x6c15c020, 0x3a9e3: 0x6c15c220,\n\t0x3a9e4: 0x6c15c420, 0x3a9e5: 0x6c15c620, 0x3a9e6: 0x6c15c820, 0x3a9e7: 0x6c15ca20,\n\t0x3a9e8: 0x6c15cc20, 0x3a9e9: 0x6c15ce20, 0x3a9ea: 0x6c284a20, 0x3a9eb: 0x6c284c20,\n\t0x3a9ec: 0x6c284e20, 0x3a9ed: 0x6c285020, 0x3a9ee: 0x6c285220, 0x3a9ef: 0x6c285420,\n\t0x3a9f0: 0x6c285620, 0x3a9f1: 0x6c285820, 0x3a9f2: 0x6c285a20, 0x3a9f3: 0x6c285c20,\n\t0x3a9f4: 0x6c285e20, 0x3a9f5: 0x6c286020, 0x3a9f6: 0x6c286220, 0x3a9f7: 0x6c286420,\n\t0x3a9f8: 0x6c286620, 0x3a9f9: 0x6c286820, 0x3a9fa: 0x6c286a20, 0x3a9fb: 0x6c286c20,\n\t0x3a9fc: 0x6c286e20, 0x3a9fd: 0x6c287020, 0x3a9fe: 0x6c287220, 0x3a9ff: 0x6c287420,\n\t// Block 0xea8, offset 0x3aa00\n\t0x3aa00: 0x6c287620, 0x3aa01: 0x6c423e20, 0x3aa02: 0x6c424020, 0x3aa03: 0x6c424220,\n\t0x3aa04: 0x6c424420, 0x3aa05: 0x6c424620, 0x3aa06: 0x6c424820, 0x3aa07: 0x6c424a20,\n\t0x3aa08: 0x6c424c20, 0x3aa09: 0x6c424e20, 0x3aa0a: 0x6c425020, 0x3aa0b: 0x6c425220,\n\t0x3aa0c: 0x6c425420, 0x3aa0d: 0x6c425620, 0x3aa0e: 0x6c425820, 0x3aa0f: 0x6c425a20,\n\t0x3aa10: 0x6c425c20, 0x3aa11: 0x6c425e20, 0x3aa12: 0x6c426020, 0x3aa13: 0x6c426220,\n\t0x3aa14: 0x6c426420, 0x3aa15: 0x6c426620, 0x3aa16: 0x6c426820, 0x3aa17: 0x6c426a20,\n\t0x3aa18: 0x6c62ee20, 0x3aa19: 0x6c62f020, 0x3aa1a: 0x6c62f220, 0x3aa1b: 0x6c62f420,\n\t0x3aa1c: 0x6c62f620, 0x3aa1d: 0x6c62f820, 0x3aa1e: 0x6c62fa20, 0x3aa1f: 0x6c62fc20,\n\t0x3aa20: 0x6c62fe20, 0x3aa21: 0x6c630020, 0x3aa22: 0x6c630220, 0x3aa23: 0x6c630420,\n\t0x3aa24: 0x6c630620, 0x3aa25: 0x6c630820, 0x3aa26: 0x6c630a20, 0x3aa27: 0x6c630c20,\n\t0x3aa28: 0x6c630e20, 0x3aa29: 0x6c631020, 0x3aa2a: 0x6c631220, 0x3aa2b: 0x6c631420,\n\t0x3aa2c: 0x6c631620, 0x3aa2d: 0x6c631820, 0x3aa2e: 0x6c631a20, 0x3aa2f: 0x6c631c20,\n\t0x3aa30: 0x6c631e20, 0x3aa31: 0x6c632020, 0x3aa32: 0x6c632220, 0x3aa33: 0x6c632420,\n\t0x3aa34: 0x6c6bf420, 0x3aa35: 0x6c89da20, 0x3aa36: 0x6c89dc20, 0x3aa37: 0x6c89de20,\n\t0x3aa38: 0x6c89e020, 0x3aa39: 0x6c89e220, 0x3aa3a: 0x6c89e420, 0x3aa3b: 0x6c89e620,\n\t0x3aa3c: 0x6c89e820, 0x3aa3d: 0x6c89ea20, 0x3aa3e: 0x6c89ec20, 0x3aa3f: 0x6c89ee20,\n\t// Block 0xea9, offset 0x3aa40\n\t0x3aa40: 0x6c89f020, 0x3aa41: 0x6c89f220, 0x3aa42: 0x6c89f420, 0x3aa43: 0x6c89f620,\n\t0x3aa44: 0x6c89f820, 0x3aa45: 0x6c89fa20, 0x3aa46: 0x6c89fc20, 0x3aa47: 0x6c89fe20,\n\t0x3aa48: 0x6c8a0020, 0x3aa49: 0x6c8a0220, 0x3aa4a: 0x6c8a0420, 0x3aa4b: 0x6c8a0620,\n\t0x3aa4c: 0x6c8a0820, 0x3aa4d: 0x6c8a0a20, 0x3aa4e: 0x6c8a0c20, 0x3aa4f: 0x6c8a0e20,\n\t0x3aa50: 0x6c8a1020, 0x3aa51: 0x6c8a1220, 0x3aa52: 0x6c8a1420, 0x3aa53: 0x6c8a1620,\n\t0x3aa54: 0x6c8a1820, 0x3aa55: 0x6c8a1a20, 0x3aa56: 0x6c8a1c20, 0x3aa57: 0x6c8a1e20,\n\t0x3aa58: 0x6c8a2020, 0x3aa59: 0x6c8a2220, 0x3aa5a: 0x6c8a2420, 0x3aa5b: 0x6c8a2620,\n\t0x3aa5c: 0x6c8a2820, 0x3aa5d: 0x6c8a2a20, 0x3aa5e: 0x6cb60a20, 0x3aa5f: 0x6cb60c20,\n\t0x3aa60: 0x6cb60e20, 0x3aa61: 0x6cb61020, 0x3aa62: 0x6cb61220, 0x3aa63: 0x6cb61420,\n\t0x3aa64: 0x6cb61620, 0x3aa65: 0x6cb61820, 0x3aa66: 0x6cb61a20, 0x3aa67: 0x6cb61c20,\n\t0x3aa68: 0x6cb61e20, 0x3aa69: 0x6cb62020, 0x3aa6a: 0x6cb62220, 0x3aa6b: 0x6cb62420,\n\t0x3aa6c: 0x6cb62620, 0x3aa6d: 0x6cb62820, 0x3aa6e: 0x6cb62a20, 0x3aa6f: 0x6cb62c20,\n\t0x3aa70: 0x6cb62e20, 0x3aa71: 0x6cb63020, 0x3aa72: 0x6cb63220, 0x3aa73: 0x6cb63420,\n\t0x3aa74: 0x6cb63620, 0x3aa75: 0x6cb63820, 0x3aa76: 0x6cb63a20, 0x3aa77: 0x6cb63c20,\n\t0x3aa78: 0x6cb63e20, 0x3aa79: 0x6cb64020, 0x3aa7a: 0x6cb64220, 0x3aa7b: 0x6cb64420,\n\t0x3aa7c: 0x6cb64620, 0x3aa7d: 0x6cb64820, 0x3aa7e: 0x6cb64a20, 0x3aa7f: 0x6cb64c20,\n\t// Block 0xeaa, offset 0x3aa80\n\t0x3aa80: 0x6ce62a20, 0x3aa81: 0x6ce62c20, 0x3aa82: 0x6ce62e20, 0x3aa83: 0x6ce63020,\n\t0x3aa84: 0x6ce63220, 0x3aa85: 0x6ce63420, 0x3aa86: 0x6ce63620, 0x3aa87: 0x6ce63820,\n\t0x3aa88: 0x6ce63a20, 0x3aa89: 0x6ce63c20, 0x3aa8a: 0x6ce63e20, 0x3aa8b: 0x6ce64020,\n\t0x3aa8c: 0x6ce64220, 0x3aa8d: 0x6ce64420, 0x3aa8e: 0x6ce64620, 0x3aa8f: 0x6ce64820,\n\t0x3aa90: 0x6ce64a20, 0x3aa91: 0x6ce64c20, 0x3aa92: 0x6ce64e20, 0x3aa93: 0x6ce65020,\n\t0x3aa94: 0x6ce65220, 0x3aa95: 0x6ce65420, 0x3aa96: 0x6ce65620, 0x3aa97: 0x6ce65820,\n\t0x3aa98: 0x6ce65a20, 0x3aa99: 0x6ce65c20, 0x3aa9a: 0x6ce65e20, 0x3aa9b: 0x6ce66020,\n\t0x3aa9c: 0x6ce66220, 0x3aa9d: 0x6ce66420, 0x3aa9e: 0x6ce66620, 0x3aa9f: 0x6ce66820,\n\t0x3aaa0: 0x6ce66a20, 0x3aaa1: 0x6ce66c20, 0x3aaa2: 0x6ce66e20, 0x3aaa3: 0x6ce67020,\n\t0x3aaa4: 0x6ce67220, 0x3aaa5: 0x6ce67420, 0x3aaa6: 0x6ce67620, 0x3aaa7: 0x6ce67820,\n\t0x3aaa8: 0x6ce67a20, 0x3aaa9: 0x6ce67c20, 0x3aaaa: 0x6ce67e20, 0x3aaab: 0x6ce68020,\n\t0x3aaac: 0x6ce68220, 0x3aaad: 0x6ce68420, 0x3aaae: 0x6d149e20, 0x3aaaf: 0x6d14a020,\n\t0x3aab0: 0x6d14a220, 0x3aab1: 0x6d14a420, 0x3aab2: 0x6d14a620, 0x3aab3: 0x6d14a820,\n\t0x3aab4: 0x6d14aa20, 0x3aab5: 0x6d14ac20, 0x3aab6: 0x6d14ae20, 0x3aab7: 0x6d14b020,\n\t0x3aab8: 0x6d14b220, 0x3aab9: 0x6d14b420, 0x3aaba: 0x6d14b620, 0x3aabb: 0x6d14b820,\n\t0x3aabc: 0x6d14ba20, 0x3aabd: 0x6d14bc20, 0x3aabe: 0x6d14be20, 0x3aabf: 0x6d14c020,\n\t// Block 0xeab, offset 0x3aac0\n\t0x3aac0: 0x6d14c220, 0x3aac1: 0x6d14c420, 0x3aac2: 0x6d14c620, 0x3aac3: 0x6d14c820,\n\t0x3aac4: 0x6d14ca20, 0x3aac5: 0x6d14cc20, 0x3aac6: 0x6d14ce20, 0x3aac7: 0x6d14d020,\n\t0x3aac8: 0x6d14d220, 0x3aac9: 0x6d14d420, 0x3aaca: 0x6d428420, 0x3aacb: 0x6d428620,\n\t0x3aacc: 0x6d428820, 0x3aacd: 0x6d428a20, 0x3aace: 0x6d428c20, 0x3aacf: 0x6d428e20,\n\t0x3aad0: 0x6d429020, 0x3aad1: 0x6d429220, 0x3aad2: 0x6d429420, 0x3aad3: 0x6d429620,\n\t0x3aad4: 0x6d429820, 0x3aad5: 0x6d429a20, 0x3aad6: 0x6d429c20, 0x3aad7: 0x6d429e20,\n\t0x3aad8: 0x6d42a020, 0x3aad9: 0x6d42a220, 0x3aada: 0x6d42a420, 0x3aadb: 0x6d42a620,\n\t0x3aadc: 0x6d42a820, 0x3aadd: 0x6d42aa20, 0x3aade: 0x6d42ac20, 0x3aadf: 0x6d42ae20,\n\t0x3aae0: 0x6d42b020, 0x3aae1: 0x6d42b220, 0x3aae2: 0x6d42b420, 0x3aae3: 0x6d42b620,\n\t0x3aae4: 0x6d42b820, 0x3aae5: 0x6d42ba20, 0x3aae6: 0x6d42bc20, 0x3aae7: 0x6d42be20,\n\t0x3aae8: 0x6d42c020, 0x3aae9: 0x6d42c220, 0x3aaea: 0x6d6f9820, 0x3aaeb: 0x6d6f9a20,\n\t0x3aaec: 0x6d6f9c20, 0x3aaed: 0x6d6f9e20, 0x3aaee: 0x6d6fa020, 0x3aaef: 0x6d6fa220,\n\t0x3aaf0: 0x6d6fa420, 0x3aaf1: 0x6d6fa620, 0x3aaf2: 0x6d6fa820, 0x3aaf3: 0x6d6faa20,\n\t0x3aaf4: 0x6d6fac20, 0x3aaf5: 0x6d6fae20, 0x3aaf6: 0x6d6fb020, 0x3aaf7: 0x6d6fb220,\n\t0x3aaf8: 0x6d6fb420, 0x3aaf9: 0x6d6fb620, 0x3aafa: 0x6d6fb820, 0x3aafb: 0x6d6fba20,\n\t0x3aafc: 0x6d6fbc20, 0x3aafd: 0x6d6fbe20, 0x3aafe: 0x6d6fc020, 0x3aaff: 0x6d98a420,\n\t// Block 0xeac, offset 0x3ab00\n\t0x3ab00: 0x6d98a620, 0x3ab01: 0x6d98a820, 0x3ab02: 0x6d98aa20, 0x3ab03: 0x6d98ac20,\n\t0x3ab04: 0x6d98ae20, 0x3ab05: 0x6d98b020, 0x3ab06: 0x6d98b220, 0x3ab07: 0x6d98b420,\n\t0x3ab08: 0x6d98b620, 0x3ab09: 0x6d98b820, 0x3ab0a: 0x6d98ba20, 0x3ab0b: 0x6d98bc20,\n\t0x3ab0c: 0x6d98be20, 0x3ab0d: 0x6dbba020, 0x3ab0e: 0x6dbba220, 0x3ab0f: 0x6dbba420,\n\t0x3ab10: 0x6dbba620, 0x3ab11: 0x6dbba820, 0x3ab12: 0x6dbbaa20, 0x3ab13: 0x6dbbac20,\n\t0x3ab14: 0x6dbbae20, 0x3ab15: 0x6dbbb020, 0x3ab16: 0x6dd96c20, 0x3ab17: 0x6dd96e20,\n\t0x3ab18: 0x6dd97020, 0x3ab19: 0x6dd97220, 0x3ab1a: 0x6dd97420, 0x3ab1b: 0x6dd97620,\n\t0x3ab1c: 0x6dd97820, 0x3ab1d: 0x6dd97a20, 0x3ab1e: 0x6dd97c20, 0x3ab1f: 0x6dd97e20,\n\t0x3ab20: 0x6dd98020, 0x3ab21: 0x6dd98220, 0x3ab22: 0x6df1a620, 0x3ab23: 0x6df1a820,\n\t0x3ab24: 0x6df1aa20, 0x3ab25: 0x6df1ac20, 0x3ab26: 0x6e05de20, 0x3ab27: 0x6e05e020,\n\t0x3ab28: 0x6e05e220, 0x3ab29: 0x6e05e420, 0x3ab2a: 0x6e05e620, 0x3ab2b: 0x6e05e820,\n\t0x3ab2c: 0x6e169220, 0x3ab2d: 0x6e169420, 0x3ab2e: 0x6e23b820, 0x3ab2f: 0x6e23ba20,\n\t0x3ab30: 0x6e2dcc20, 0x3ab31: 0x6e2dce20, 0x3ab32: 0x6e3eb820, 0x3ab33: 0x6e3eba20,\n\t0x3ab34: 0x6e416220, 0x3ab35: 0x6e416420, 0x3ab36: 0x6d14de20, 0x3ab37: 0x6d42cc20,\n\t0x3ab38: 0x6d6fc220, 0x3ab39: 0x6d6fc420, 0x3ab3a: 0x6d6fc620, 0x3ab3b: 0x6d6fc820,\n\t0x3ab3c: 0x6d98c220, 0x3ab3d: 0x6d98c420, 0x3ab3e: 0x6d98c620, 0x3ab3f: 0x6dbbb420,\n\t// Block 0xead, offset 0x3ab40\n\t0x3ab40: 0x6dd98620, 0x3ab41: 0x6dd98820, 0x3ab42: 0x6e05ea20, 0x3ab43: 0x6e05ec20,\n\t0x3ab44: 0x6e23bc20, 0x3ab45: 0x6c8a3c20, 0x3ab46: 0x6c8a3e20, 0x3ab47: 0x6c8a4020,\n\t0x3ab48: 0x6cb66820, 0x3ab49: 0x6cb66a20, 0x3ab4a: 0x6cb66c20, 0x3ab4b: 0x6cb66e20,\n\t0x3ab4c: 0x6cb67020, 0x3ab4d: 0x6cb67220, 0x3ab4e: 0x6cb67420, 0x3ab4f: 0x6cb67620,\n\t0x3ab50: 0x6cb67820, 0x3ab51: 0x6cb67a20, 0x3ab52: 0x6ce6a020, 0x3ab53: 0x6ce6a220,\n\t0x3ab54: 0x6ce6a420, 0x3ab55: 0x6ce6a620, 0x3ab56: 0x6ce6a820, 0x3ab57: 0x6ce6aa20,\n\t0x3ab58: 0x6ce6ac20, 0x3ab59: 0x6ce6ae20, 0x3ab5a: 0x6ce6b020, 0x3ab5b: 0x6ce6b220,\n\t0x3ab5c: 0x6ce6b420, 0x3ab5d: 0x6ce6b620, 0x3ab5e: 0x6ce6b820, 0x3ab5f: 0x6ce6ba20,\n\t0x3ab60: 0x6d14f420, 0x3ab61: 0x6d14f620, 0x3ab62: 0x6d14f820, 0x3ab63: 0x6d14fa20,\n\t0x3ab64: 0x6d14fc20, 0x3ab65: 0x6d14fe20, 0x3ab66: 0x6d150020, 0x3ab67: 0x6d150220,\n\t0x3ab68: 0x6d150420, 0x3ab69: 0x6d150620, 0x3ab6a: 0x6d150820, 0x3ab6b: 0x6d150a20,\n\t0x3ab6c: 0x6d150c20, 0x3ab6d: 0x6d150e20, 0x3ab6e: 0x6d151020, 0x3ab6f: 0x6d151220,\n\t0x3ab70: 0x6d151420, 0x3ab71: 0x6d151620, 0x3ab72: 0x6d42d820, 0x3ab73: 0x6d42da20,\n\t0x3ab74: 0x6d42dc20, 0x3ab75: 0x6d42de20, 0x3ab76: 0x6d42e020, 0x3ab77: 0x6d42e220,\n\t0x3ab78: 0x6d42e420, 0x3ab79: 0x6d42e620, 0x3ab7a: 0x6d42e820, 0x3ab7b: 0x6d42ea20,\n\t0x3ab7c: 0x6d42ec20, 0x3ab7d: 0x6d42ee20, 0x3ab7e: 0x6d42f020, 0x3ab7f: 0x6d42f220,\n\t// Block 0xeae, offset 0x3ab80\n\t0x3ab80: 0x6d42f420, 0x3ab81: 0x6d42f620, 0x3ab82: 0x6d42f820, 0x3ab83: 0x6d42fa20,\n\t0x3ab84: 0x6d42fc20, 0x3ab85: 0x6d42fe20, 0x3ab86: 0x6d430020, 0x3ab87: 0x6d430220,\n\t0x3ab88: 0x6d430420, 0x3ab89: 0x6d430620, 0x3ab8a: 0x6d430820, 0x3ab8b: 0x6d6fd220,\n\t0x3ab8c: 0x6d6fd420, 0x3ab8d: 0x6d6fd620, 0x3ab8e: 0x6d6fd820, 0x3ab8f: 0x6d6fda20,\n\t0x3ab90: 0x6d6fdc20, 0x3ab91: 0x6d6fde20, 0x3ab92: 0x6d6fe020, 0x3ab93: 0x6d6fe220,\n\t0x3ab94: 0x6d6fe420, 0x3ab95: 0x6d6fe620, 0x3ab96: 0x6d6fe820, 0x3ab97: 0x6d6fea20,\n\t0x3ab98: 0x6d6fec20, 0x3ab99: 0x6d6fee20, 0x3ab9a: 0x6d6ff020, 0x3ab9b: 0x6d6ff220,\n\t0x3ab9c: 0x6d6ff420, 0x3ab9d: 0x6d6ff620, 0x3ab9e: 0x6d6ff820, 0x3ab9f: 0x6d6ffa20,\n\t0x3aba0: 0x6d98d020, 0x3aba1: 0x6d98d220, 0x3aba2: 0x6d98d420, 0x3aba3: 0x6d98d620,\n\t0x3aba4: 0x6d98d820, 0x3aba5: 0x6d98da20, 0x3aba6: 0x6d98dc20, 0x3aba7: 0x6d98de20,\n\t0x3aba8: 0x6d98e020, 0x3aba9: 0x6d98e220, 0x3abaa: 0x6d98e420, 0x3abab: 0x6d98e620,\n\t0x3abac: 0x6d98e820, 0x3abad: 0x6d98ea20, 0x3abae: 0x6d98ec20, 0x3abaf: 0x6d98ee20,\n\t0x3abb0: 0x6d98f020, 0x3abb1: 0x6d98f220, 0x3abb2: 0x6d98f420, 0x3abb3: 0x6d98f620,\n\t0x3abb4: 0x6d98f820, 0x3abb5: 0x6d98fa20, 0x3abb6: 0x6d98fc20, 0x3abb7: 0x6d98fe20,\n\t0x3abb8: 0x6d990020, 0x3abb9: 0x6d990220, 0x3abba: 0x6d990420, 0x3abbb: 0x6d990620,\n\t0x3abbc: 0x6d990820, 0x3abbd: 0x6d990a20, 0x3abbe: 0x6d990c20, 0x3abbf: 0x6dbbbc20,\n\t// Block 0xeaf, offset 0x3abc0\n\t0x3abc0: 0x6dbbbe20, 0x3abc1: 0x6dbbc020, 0x3abc2: 0x6dbbc220, 0x3abc3: 0x6dbbc420,\n\t0x3abc4: 0x6dbbc620, 0x3abc5: 0x6dbbc820, 0x3abc6: 0x6dbbca20, 0x3abc7: 0x6dbbcc20,\n\t0x3abc8: 0x6dbbce20, 0x3abc9: 0x6dbbd020, 0x3abca: 0x6dbbd220, 0x3abcb: 0x6dbbd420,\n\t0x3abcc: 0x6dbbd620, 0x3abcd: 0x6dbbd820, 0x3abce: 0x6dbbda20, 0x3abcf: 0x6dbbdc20,\n\t0x3abd0: 0x6dbbde20, 0x3abd1: 0x6dbbe020, 0x3abd2: 0x6dbbe220, 0x3abd3: 0x6dbbe420,\n\t0x3abd4: 0x6dbbe620, 0x3abd5: 0x6dbbe820, 0x3abd6: 0x6dbbea20, 0x3abd7: 0x6dd9a020,\n\t0x3abd8: 0x6dd9a220, 0x3abd9: 0x6dd9a420, 0x3abda: 0x6dd9a620, 0x3abdb: 0x6dd9a820,\n\t0x3abdc: 0x6dd9aa20, 0x3abdd: 0x6dd9ac20, 0x3abde: 0x6dd9ae20, 0x3abdf: 0x6dd9b020,\n\t0x3abe0: 0x6dd9b220, 0x3abe1: 0x6dd9b420, 0x3abe2: 0x6dd9b620, 0x3abe3: 0x6dd9b820,\n\t0x3abe4: 0x6df1b420, 0x3abe5: 0x6df1b620, 0x3abe6: 0x6df1b820, 0x3abe7: 0x6df1ba20,\n\t0x3abe8: 0x6df1bc20, 0x3abe9: 0x6df1be20, 0x3abea: 0x6df1c020, 0x3abeb: 0x6df1c220,\n\t0x3abec: 0x6df1c420, 0x3abed: 0x6df1c620, 0x3abee: 0x6df1c820, 0x3abef: 0x6df1ca20,\n\t0x3abf0: 0x6df1cc20, 0x3abf1: 0x6df1ce20, 0x3abf2: 0x6df1d020, 0x3abf3: 0x6df1d220,\n\t0x3abf4: 0x6e05f420, 0x3abf5: 0x6e05f620, 0x3abf6: 0x6e05f820, 0x3abf7: 0x6e05fa20,\n\t0x3abf8: 0x6e05fc20, 0x3abf9: 0x6e05fe20, 0x3abfa: 0x6e060020, 0x3abfb: 0x6e060220,\n\t0x3abfc: 0x6e060420, 0x3abfd: 0x6e060620, 0x3abfe: 0x6e060820, 0x3abff: 0x6e060a20,\n\t// Block 0xeb0, offset 0x3ac00\n\t0x3ac00: 0x6e060c20, 0x3ac01: 0x6e060e20, 0x3ac02: 0x6e061020, 0x3ac03: 0x6e061220,\n\t0x3ac04: 0x6e061420, 0x3ac05: 0x6e061620, 0x3ac06: 0x6e061820, 0x3ac07: 0x6e169820,\n\t0x3ac08: 0x6e169a20, 0x3ac09: 0x6e169c20, 0x3ac0a: 0x6e169e20, 0x3ac0b: 0x6e16a020,\n\t0x3ac0c: 0x6e16a220, 0x3ac0d: 0x6e16a420, 0x3ac0e: 0x6e16a620, 0x3ac0f: 0x6e16a820,\n\t0x3ac10: 0x6e16aa20, 0x3ac11: 0x6e16ac20, 0x3ac12: 0x6e16ae20, 0x3ac13: 0x6e23c020,\n\t0x3ac14: 0x6e23c220, 0x3ac15: 0x6e23c420, 0x3ac16: 0x6e23c620, 0x3ac17: 0x6e23c820,\n\t0x3ac18: 0x6e23ca20, 0x3ac19: 0x6e23cc20, 0x3ac1a: 0x6e23ce20, 0x3ac1b: 0x6e23d020,\n\t0x3ac1c: 0x6e2dd020, 0x3ac1d: 0x6e2dd220, 0x3ac1e: 0x6e2dd420, 0x3ac1f: 0x6e2dd620,\n\t0x3ac20: 0x6e2dd820, 0x3ac21: 0x6e2dda20, 0x3ac22: 0x6e2ddc20, 0x3ac23: 0x6e2dde20,\n\t0x3ac24: 0x6e2de020, 0x3ac25: 0x6e2de220, 0x3ac26: 0x6e2de420, 0x3ac27: 0x6e358420,\n\t0x3ac28: 0x6e358620, 0x3ac29: 0x6e358820, 0x3ac2a: 0x6e358a20, 0x3ac2b: 0x6e358c20,\n\t0x3ac2c: 0x6e3afc20, 0x3ac2d: 0x6e3afe20, 0x3ac2e: 0x6e3b0020, 0x3ac2f: 0x6e3ebc20,\n\t0x3ac30: 0x6e3ebe20, 0x3ac31: 0x6e3ec020, 0x3ac32: 0x6e435e20, 0x3ac33: 0x6e436020,\n\t0x3ac34: 0x6e464820, 0x3ac35: 0x6e46ee20, 0x3ac36: 0x6c632c20, 0x3ac37: 0x6c8a4220,\n\t0x3ac38: 0x6c8a4420, 0x3ac39: 0x6cb68420, 0x3ac3a: 0x6cb68620, 0x3ac3b: 0x6cb68820,\n\t0x3ac3c: 0x6cb68a20, 0x3ac3d: 0x6cb68c20, 0x3ac3e: 0x6cb68e20, 0x3ac3f: 0x6cb69020,\n\t// Block 0xeb1, offset 0x3ac40\n\t0x3ac40: 0x6cb69220, 0x3ac41: 0x6cb69420, 0x3ac42: 0x6ce6d220, 0x3ac43: 0x6ce6d420,\n\t0x3ac44: 0x6ce6d620, 0x3ac45: 0x6ce6d820, 0x3ac46: 0x6ce6da20, 0x3ac47: 0x6ce6dc20,\n\t0x3ac48: 0x6ce6de20, 0x3ac49: 0x6ce6e020, 0x3ac4a: 0x6ce6e220, 0x3ac4b: 0x6ce6e420,\n\t0x3ac4c: 0x6ce6e620, 0x3ac4d: 0x6ce6e820, 0x3ac4e: 0x6ce6ea20, 0x3ac4f: 0x6ce6ec20,\n\t0x3ac50: 0x6ce6ee20, 0x3ac51: 0x6ce6f020, 0x3ac52: 0x6d153020, 0x3ac53: 0x6d153220,\n\t0x3ac54: 0x6d153420, 0x3ac55: 0x6d153620, 0x3ac56: 0x6d153820, 0x3ac57: 0x6d153a20,\n\t0x3ac58: 0x6d153c20, 0x3ac59: 0x6d153e20, 0x3ac5a: 0x6d154020, 0x3ac5b: 0x6d154220,\n\t0x3ac5c: 0x6d154420, 0x3ac5d: 0x6d154620, 0x3ac5e: 0x6d154820, 0x3ac5f: 0x6d154a20,\n\t0x3ac60: 0x6d154c20, 0x3ac61: 0x6d154e20, 0x3ac62: 0x6d432220, 0x3ac63: 0x6d432420,\n\t0x3ac64: 0x6d432620, 0x3ac65: 0x6d432820, 0x3ac66: 0x6d432a20, 0x3ac67: 0x6d432c20,\n\t0x3ac68: 0x6d432e20, 0x3ac69: 0x6d433020, 0x3ac6a: 0x6d433220, 0x3ac6b: 0x6d433420,\n\t0x3ac6c: 0x6d433620, 0x3ac6d: 0x6d433820, 0x3ac6e: 0x6d433a20, 0x3ac6f: 0x6d433c20,\n\t0x3ac70: 0x6d433e20, 0x3ac71: 0x6d434020, 0x3ac72: 0x6d434220, 0x3ac73: 0x6d434420,\n\t0x3ac74: 0x6d434620, 0x3ac75: 0x6d434820, 0x3ac76: 0x6d434a20, 0x3ac77: 0x6d701420,\n\t0x3ac78: 0x6d701620, 0x3ac79: 0x6d701820, 0x3ac7a: 0x6d701a20, 0x3ac7b: 0x6d701c20,\n\t0x3ac7c: 0x6d701e20, 0x3ac7d: 0x6d702020, 0x3ac7e: 0x6d702220, 0x3ac7f: 0x6d702420,\n\t// Block 0xeb2, offset 0x3ac80\n\t0x3ac80: 0x6d702620, 0x3ac81: 0x6d702820, 0x3ac82: 0x6d702a20, 0x3ac83: 0x6d702c20,\n\t0x3ac84: 0x6d702e20, 0x3ac85: 0x6d703020, 0x3ac86: 0x6d703220, 0x3ac87: 0x6d703420,\n\t0x3ac88: 0x6d703620, 0x3ac89: 0x6d703820, 0x3ac8a: 0x6d703a20, 0x3ac8b: 0x6d703c20,\n\t0x3ac8c: 0x6d703e20, 0x3ac8d: 0x6d704020, 0x3ac8e: 0x6d704220, 0x3ac8f: 0x6d704420,\n\t0x3ac90: 0x6d704620, 0x3ac91: 0x6d704820, 0x3ac92: 0x6d993020, 0x3ac93: 0x6d993220,\n\t0x3ac94: 0x6d993420, 0x3ac95: 0x6d993620, 0x3ac96: 0x6d993820, 0x3ac97: 0x6d993a20,\n\t0x3ac98: 0x6d993c20, 0x3ac99: 0x6d993e20, 0x3ac9a: 0x6d994020, 0x3ac9b: 0x6d994220,\n\t0x3ac9c: 0x6d994420, 0x3ac9d: 0x6d994620, 0x3ac9e: 0x6d994820, 0x3ac9f: 0x6d994a20,\n\t0x3aca0: 0x6d994c20, 0x3aca1: 0x6d994e20, 0x3aca2: 0x6d995020, 0x3aca3: 0x6d995220,\n\t0x3aca4: 0x6d995420, 0x3aca5: 0x6d995620, 0x3aca6: 0x6d995820, 0x3aca7: 0x6d995a20,\n\t0x3aca8: 0x6d995c20, 0x3aca9: 0x6d995e20, 0x3acaa: 0x6d996020, 0x3acab: 0x6d996220,\n\t0x3acac: 0x6d996420, 0x3acad: 0x6d996620, 0x3acae: 0x6d996820, 0x3acaf: 0x6d996a20,\n\t0x3acb0: 0x6d996c20, 0x3acb1: 0x6d996e20, 0x3acb2: 0x6d997020, 0x3acb3: 0x6d997220,\n\t0x3acb4: 0x6d997420, 0x3acb5: 0x6dbc0c20, 0x3acb6: 0x6dbc0e20, 0x3acb7: 0x6dbc1020,\n\t0x3acb8: 0x6dbc1220, 0x3acb9: 0x6dbc1420, 0x3acba: 0x6dbc1620, 0x3acbb: 0x6dbc1820,\n\t0x3acbc: 0x6dbc1a20, 0x3acbd: 0x6dbc1c20, 0x3acbe: 0x6dd9d220, 0x3acbf: 0x6dbc1e20,\n\t// Block 0xeb3, offset 0x3acc0\n\t0x3acc0: 0x6dbc2020, 0x3acc1: 0x6dbc2220, 0x3acc2: 0x6dbc2420, 0x3acc3: 0x6dbc2620,\n\t0x3acc4: 0x6dbc2820, 0x3acc5: 0x6dbc2a20, 0x3acc6: 0x6dbc2c20, 0x3acc7: 0x6dbc2e20,\n\t0x3acc8: 0x6dbc3020, 0x3acc9: 0x6dbc3220, 0x3acca: 0x6dbc3420, 0x3accb: 0x6dbc3620,\n\t0x3accc: 0x6dbc3820, 0x3accd: 0x6dbc3a20, 0x3acce: 0x6dbc3c20, 0x3accf: 0x6dbc3e20,\n\t0x3acd0: 0x6dbc4020, 0x3acd1: 0x6dbc4220, 0x3acd2: 0x6dbc4420, 0x3acd3: 0x6dbc4620,\n\t0x3acd4: 0x6dbc4820, 0x3acd5: 0x6dbc4a20, 0x3acd6: 0x6dbc4c20, 0x3acd7: 0x6dd9d420,\n\t0x3acd8: 0x6dd9d620, 0x3acd9: 0x6dd9d820, 0x3acda: 0x6dd9da20, 0x3acdb: 0x6dd9dc20,\n\t0x3acdc: 0x6dd9de20, 0x3acdd: 0x6dd9e020, 0x3acde: 0x6dd9e220, 0x3acdf: 0x6dd9e420,\n\t0x3ace0: 0x6dd9e620, 0x3ace1: 0x6dd9e820, 0x3ace2: 0x6dd9ea20, 0x3ace3: 0x6dd9ec20,\n\t0x3ace4: 0x6dd9ee20, 0x3ace5: 0x6dd9f020, 0x3ace6: 0x6dd9f220, 0x3ace7: 0x6dd9f420,\n\t0x3ace8: 0x6dd9f620, 0x3ace9: 0x6dd9f820, 0x3acea: 0x6dd9fa20, 0x3aceb: 0x6dd9fc20,\n\t0x3acec: 0x6dd9fe20, 0x3aced: 0x6dda0020, 0x3acee: 0x6db8fa20, 0x3acef: 0x6dda0220,\n\t0x3acf0: 0x6dda0420, 0x3acf1: 0x6dda0620, 0x3acf2: 0x6dda0820, 0x3acf3: 0x6dda0a20,\n\t0x3acf4: 0x6dda0c20, 0x3acf5: 0x6dda0e20, 0x3acf6: 0x6dda1020, 0x3acf7: 0x6dda1220,\n\t0x3acf8: 0x6dda1420, 0x3acf9: 0x6dda1620, 0x3acfa: 0x6dda1820, 0x3acfb: 0x6df1ee20,\n\t0x3acfc: 0x6df1f020, 0x3acfd: 0x6df1f220, 0x3acfe: 0x6df1f420, 0x3acff: 0x6df1f620,\n\t// Block 0xeb4, offset 0x3ad00\n\t0x3ad00: 0x6df1f820, 0x3ad01: 0x6df1fa20, 0x3ad02: 0x6df1fc20, 0x3ad03: 0x6df1fe20,\n\t0x3ad04: 0x6df20020, 0x3ad05: 0x6df20220, 0x3ad06: 0x6df20420, 0x3ad07: 0x6df20620,\n\t0x3ad08: 0x6df20820, 0x3ad09: 0x6df20a20, 0x3ad0a: 0x6df20c20, 0x3ad0b: 0x6df20e20,\n\t0x3ad0c: 0x6df21020, 0x3ad0d: 0x6df21220, 0x3ad0e: 0x6df21420, 0x3ad0f: 0x6df21620,\n\t0x3ad10: 0x6df21820, 0x3ad11: 0x6df21a20, 0x3ad12: 0x6df21c20, 0x3ad13: 0x6df21e20,\n\t0x3ad14: 0x6df22020, 0x3ad15: 0x6df22220, 0x3ad16: 0x6df22420, 0x3ad17: 0x6df22620,\n\t0x3ad18: 0x6df22820, 0x3ad19: 0x6df22a20, 0x3ad1a: 0x6df22c20, 0x3ad1b: 0x6df22e20,\n\t0x3ad1c: 0x6df23020, 0x3ad1d: 0x6e062a20, 0x3ad1e: 0x6e062c20, 0x3ad1f: 0x6e062e20,\n\t0x3ad20: 0x6e063020, 0x3ad21: 0x6e063220, 0x3ad22: 0x6e063420, 0x3ad23: 0x6e063620,\n\t0x3ad24: 0x6e063820, 0x3ad25: 0x6e063a20, 0x3ad26: 0x6e063c20, 0x3ad27: 0x6e063e20,\n\t0x3ad28: 0x6e064020, 0x3ad29: 0x6e064220, 0x3ad2a: 0x6e064420, 0x3ad2b: 0x6e064620,\n\t0x3ad2c: 0x6e064820, 0x3ad2d: 0x6e064a20, 0x3ad2e: 0x6e064c20, 0x3ad2f: 0x6e064e20,\n\t0x3ad30: 0x6e065020, 0x3ad31: 0x6e065220, 0x3ad32: 0x6e065420, 0x3ad33: 0x6e065620,\n\t0x3ad34: 0x6e065820, 0x3ad35: 0x6e065a20, 0x3ad36: 0x6e065c20, 0x3ad37: 0x6e065e20,\n\t0x3ad38: 0x6e066020, 0x3ad39: 0x6e066220, 0x3ad3a: 0x6e066420, 0x3ad3b: 0x6e066620,\n\t0x3ad3c: 0x6e16c020, 0x3ad3d: 0x6e16c220, 0x3ad3e: 0x6e16c420, 0x3ad3f: 0x6e16c620,\n\t// Block 0xeb5, offset 0x3ad40\n\t0x3ad40: 0x6e16c820, 0x3ad41: 0x6e16ca20, 0x3ad42: 0x6e16cc20, 0x3ad43: 0x6e16ce20,\n\t0x3ad44: 0x6e16d020, 0x3ad45: 0x6e16d220, 0x3ad46: 0x6e16d420, 0x3ad47: 0x6e16d620,\n\t0x3ad48: 0x6e16d820, 0x3ad49: 0x6e16da20, 0x3ad4a: 0x6e16dc20, 0x3ad4b: 0x6e16de20,\n\t0x3ad4c: 0x6e16e020, 0x3ad4d: 0x6e16e220, 0x3ad4e: 0x6e16e420, 0x3ad4f: 0x6e16e620,\n\t0x3ad50: 0x6e16e820, 0x3ad51: 0x6e23e220, 0x3ad52: 0x6e23e420, 0x3ad53: 0x6e23e620,\n\t0x3ad54: 0x6e23e820, 0x3ad55: 0x6e23ea20, 0x3ad56: 0x6e23ec20, 0x3ad57: 0x6e23ee20,\n\t0x3ad58: 0x6e23f020, 0x3ad59: 0x6e23f220, 0x3ad5a: 0x6e23f420, 0x3ad5b: 0x6e23f620,\n\t0x3ad5c: 0x6e23f820, 0x3ad5d: 0x6e23fa20, 0x3ad5e: 0x6e23fc20, 0x3ad5f: 0x6e23fe20,\n\t0x3ad60: 0x6e240020, 0x3ad61: 0x6e240220, 0x3ad62: 0x6e240420, 0x3ad63: 0x6e240620,\n\t0x3ad64: 0x6e2dec20, 0x3ad65: 0x6e2dee20, 0x3ad66: 0x6e2df020, 0x3ad67: 0x6e2df220,\n\t0x3ad68: 0x6e2df420, 0x3ad69: 0x6e2df620, 0x3ad6a: 0x6e2df820, 0x3ad6b: 0x6e2dfa20,\n\t0x3ad6c: 0x6e2dfc20, 0x3ad6d: 0x6e359e20, 0x3ad6e: 0x6e35a020, 0x3ad6f: 0x6e35a220,\n\t0x3ad70: 0x6e35a420, 0x3ad71: 0x6e35a620, 0x3ad72: 0x6e35a820, 0x3ad73: 0x6e35aa20,\n\t0x3ad74: 0x6e35ac20, 0x3ad75: 0x6e3b0620, 0x3ad76: 0x6e3b0820, 0x3ad77: 0x6e3b0a20,\n\t0x3ad78: 0x6e3b0c20, 0x3ad79: 0x6e3b0e20, 0x3ad7a: 0x6e3b1020, 0x3ad7b: 0x6e3b1220,\n\t0x3ad7c: 0x6e3b1420, 0x3ad7d: 0x6e3b1620, 0x3ad7e: 0x6e3b1820, 0x3ad7f: 0x6e3ec420,\n\t// Block 0xeb6, offset 0x3ad80\n\t0x3ad80: 0x6e3ec620, 0x3ad81: 0x6e3ec820, 0x3ad82: 0x6e3eca20, 0x3ad83: 0x6e3ecc20,\n\t0x3ad84: 0x6e3ece20, 0x3ad85: 0x6e3ed020, 0x3ad86: 0x6e3ed220, 0x3ad87: 0x6e3ed420,\n\t0x3ad88: 0x6e436220, 0x3ad89: 0x6e436420, 0x3ad8a: 0x6e44a820, 0x3ad8b: 0x6e44aa20,\n\t0x3ad8c: 0x6e44ac20, 0x3ad8d: 0x6e44ae20, 0x3ad8e: 0x6e44b020, 0x3ad8f: 0x6e45e820,\n\t0x3ad90: 0x6e464a20, 0x3ad91: 0x6e464c20, 0x3ad92: 0x6e471820, 0x3ad93: 0x6e472420,\n\t0x3ad94: 0x6e473820, 0x3ad95: 0x6cb69820, 0x3ad96: 0x6ce6fa20, 0x3ad97: 0x6ce6fc20,\n\t0x3ad98: 0x6d155820, 0x3ad99: 0x6d155a20, 0x3ad9a: 0x6d155c20, 0x3ad9b: 0x6d155e20,\n\t0x3ad9c: 0x6d435620, 0x3ad9d: 0x6d997e20, 0x3ad9e: 0x6d998020, 0x3ad9f: 0x6dbc5420,\n\t0x3ada0: 0x6dda1e20, 0x3ada1: 0x6df23620, 0x3ada2: 0x6e067020, 0x3ada3: 0x6e16ec20,\n\t0x3ada4: 0x6e35b220, 0x3ada5: 0x6e3b1a20, 0x3ada6: 0x6c8a4820, 0x3ada7: 0x6c8a4a20,\n\t0x3ada8: 0x6c8a4c20, 0x3ada9: 0x6cb6a020, 0x3adaa: 0x6cb6a220, 0x3adab: 0x6cb6a420,\n\t0x3adac: 0x6cb6a620, 0x3adad: 0x6ce70220, 0x3adae: 0x6ce70420, 0x3adaf: 0x6ce70620,\n\t0x3adb0: 0x6ce70820, 0x3adb1: 0x6ce70a20, 0x3adb2: 0x6ce70c20, 0x3adb3: 0x6ce70e20,\n\t0x3adb4: 0x6ce71020, 0x3adb5: 0x6d156420, 0x3adb6: 0x6d156620, 0x3adb7: 0x6d435820,\n\t0x3adb8: 0x6d705420, 0x3adb9: 0x6d705620, 0x3adba: 0x6d705820, 0x3adbb: 0x6d705a20,\n\t0x3adbc: 0x6d998420, 0x3adbd: 0x6dda2020, 0x3adbe: 0x6e067420, 0x3adbf: 0x6e067620,\n\t// Block 0xeb7, offset 0x3adc0\n\t0x3adc0: 0x6e067820, 0x3adc1: 0x6e067a20, 0x3adc2: 0x6e3ed620, 0x3adc3: 0x6ce71220,\n\t0x3adc4: 0x6ce71420, 0x3adc5: 0x6ce71620, 0x3adc6: 0x6d156e20, 0x3adc7: 0x6d157020,\n\t0x3adc8: 0x6d157220, 0x3adc9: 0x6d157420, 0x3adca: 0x6d157620, 0x3adcb: 0x6d157820,\n\t0x3adcc: 0x6d157a20, 0x3adcd: 0x6d436420, 0x3adce: 0x6d436620, 0x3adcf: 0x6d436820,\n\t0x3add0: 0x6d436a20, 0x3add1: 0x6d436c20, 0x3add2: 0x6d436e20, 0x3add3: 0x6d437020,\n\t0x3add4: 0x6d437220, 0x3add5: 0x6d437420, 0x3add6: 0x6d437620, 0x3add7: 0x6d437820,\n\t0x3add8: 0x6d437a20, 0x3add9: 0x6d706020, 0x3adda: 0x6d706220, 0x3addb: 0x6d706420,\n\t0x3addc: 0x6d706620, 0x3addd: 0x6d706820, 0x3adde: 0x6d706a20, 0x3addf: 0x6d706c20,\n\t0x3ade0: 0x6d706e20, 0x3ade1: 0x6d998c20, 0x3ade2: 0x6d998e20, 0x3ade3: 0x6d999020,\n\t0x3ade4: 0x6d999220, 0x3ade5: 0x6d999420, 0x3ade6: 0x6d999620, 0x3ade7: 0x6d999820,\n\t0x3ade8: 0x6d999a20, 0x3ade9: 0x6d999c20, 0x3adea: 0x6d999e20, 0x3adeb: 0x6dbc5820,\n\t0x3adec: 0x6dbc5a20, 0x3aded: 0x6dbc5c20, 0x3adee: 0x6dbc5e20, 0x3adef: 0x6dbc6020,\n\t0x3adf0: 0x6dbc6220, 0x3adf1: 0x6dbc6420, 0x3adf2: 0x6dda2220, 0x3adf3: 0x6dda2420,\n\t0x3adf4: 0x6dda2620, 0x3adf5: 0x6dda2820, 0x3adf6: 0x6dda2a20, 0x3adf7: 0x6dda2c20,\n\t0x3adf8: 0x6df23c20, 0x3adf9: 0x6df23e20, 0x3adfa: 0x6df24020, 0x3adfb: 0x6e067e20,\n\t0x3adfc: 0x6e068020, 0x3adfd: 0x6e068220, 0x3adfe: 0x6e068420, 0x3adff: 0x6e068620,\n\t// Block 0xeb8, offset 0x3ae00\n\t0x3ae00: 0x6e068820, 0x3ae01: 0x6e16f620, 0x3ae02: 0x6e16f820, 0x3ae03: 0x6e16fa20,\n\t0x3ae04: 0x6e16fc20, 0x3ae05: 0x6e16fe20, 0x3ae06: 0x6e170020, 0x3ae07: 0x6e170220,\n\t0x3ae08: 0x6e170420, 0x3ae09: 0x6e170620, 0x3ae0a: 0x6e241020, 0x3ae0b: 0x6e241220,\n\t0x3ae0c: 0x6e2e0020, 0x3ae0d: 0x6e2e0220, 0x3ae0e: 0x6e2e0420, 0x3ae0f: 0x6e2e0620,\n\t0x3ae10: 0x6e2e0820, 0x3ae11: 0x6e35b620, 0x3ae12: 0x6e35b820, 0x3ae13: 0x6e3b1e20,\n\t0x3ae14: 0x6e3ed820, 0x3ae15: 0x6e3eda20, 0x3ae16: 0x6e417020, 0x3ae17: 0x6e417220,\n\t0x3ae18: 0x6e417420, 0x3ae19: 0x6e436620, 0x3ae1a: 0x6e436820, 0x3ae1b: 0x6cb6aa20,\n\t0x3ae1c: 0x6cb6ac20, 0x3ae1d: 0x6ce72c20, 0x3ae1e: 0x6ce72e20, 0x3ae1f: 0x6ce73020,\n\t0x3ae20: 0x6ce73220, 0x3ae21: 0x6d159820, 0x3ae22: 0x6d159a20, 0x3ae23: 0x6d159c20,\n\t0x3ae24: 0x6d159e20, 0x3ae25: 0x6d15a020, 0x3ae26: 0x6d15a220, 0x3ae27: 0x6d15a420,\n\t0x3ae28: 0x6d15a620, 0x3ae29: 0x6d15a820, 0x3ae2a: 0x6d15aa20, 0x3ae2b: 0x6d15ac20,\n\t0x3ae2c: 0x6d15ae20, 0x3ae2d: 0x6d15b020, 0x3ae2e: 0x6d15b220, 0x3ae2f: 0x6d15b420,\n\t0x3ae30: 0x6d15b620, 0x3ae31: 0x6d15b820, 0x3ae32: 0x6d15ba20, 0x3ae33: 0x6d15bc20,\n\t0x3ae34: 0x6d15be20, 0x3ae35: 0x6d15c020, 0x3ae36: 0x6d15c220, 0x3ae37: 0x6d15c420,\n\t0x3ae38: 0x6d43a420, 0x3ae39: 0x6d43a620, 0x3ae3a: 0x6d43a820, 0x3ae3b: 0x6d43aa20,\n\t0x3ae3c: 0x6d43ac20, 0x3ae3d: 0x6d43ae20, 0x3ae3e: 0x6d43b020, 0x3ae3f: 0x6d43b220,\n\t// Block 0xeb9, offset 0x3ae40\n\t0x3ae40: 0x6d43b420, 0x3ae41: 0x6d43b620, 0x3ae42: 0x6d43b820, 0x3ae43: 0x6d43ba20,\n\t0x3ae44: 0x6d43bc20, 0x3ae45: 0x6d43be20, 0x3ae46: 0x6d43c020, 0x3ae47: 0x6d43c220,\n\t0x3ae48: 0x6d43c420, 0x3ae49: 0x6d43c620, 0x3ae4a: 0x6d43c820, 0x3ae4b: 0x6d43ca20,\n\t0x3ae4c: 0x6d43cc20, 0x3ae4d: 0x6d43ce20, 0x3ae4e: 0x6d43d020, 0x3ae4f: 0x6d43d220,\n\t0x3ae50: 0x6d708c20, 0x3ae51: 0x6d708e20, 0x3ae52: 0x6d709020, 0x3ae53: 0x6d709220,\n\t0x3ae54: 0x6d709420, 0x3ae55: 0x6d709620, 0x3ae56: 0x6d709820, 0x3ae57: 0x6d709a20,\n\t0x3ae58: 0x6d709c20, 0x3ae59: 0x6d709e20, 0x3ae5a: 0x6d70a020, 0x3ae5b: 0x6d70a220,\n\t0x3ae5c: 0x6d70a420, 0x3ae5d: 0x6d70a620, 0x3ae5e: 0x6d70a820, 0x3ae5f: 0x6d70aa20,\n\t0x3ae60: 0x6d70ac20, 0x3ae61: 0x6d70ae20, 0x3ae62: 0x6d70b020, 0x3ae63: 0x6d70b220,\n\t0x3ae64: 0x6d70b420, 0x3ae65: 0x6d70b620, 0x3ae66: 0x6d70b820, 0x3ae67: 0x6d70ba20,\n\t0x3ae68: 0x6d70bc20, 0x3ae69: 0x6d99c020, 0x3ae6a: 0x6d99c220, 0x3ae6b: 0x6d99c420,\n\t0x3ae6c: 0x6d99c620, 0x3ae6d: 0x6d99c820, 0x3ae6e: 0x6d99ca20, 0x3ae6f: 0x6d99cc20,\n\t0x3ae70: 0x6d99ce20, 0x3ae71: 0x6d99d020, 0x3ae72: 0x6d99d220, 0x3ae73: 0x6d99d420,\n\t0x3ae74: 0x6d99d620, 0x3ae75: 0x6d99d820, 0x3ae76: 0x6d99da20, 0x3ae77: 0x6d99dc20,\n\t0x3ae78: 0x6d99de20, 0x3ae79: 0x6d99e020, 0x3ae7a: 0x6d99e220, 0x3ae7b: 0x6d99e420,\n\t0x3ae7c: 0x6d99e620, 0x3ae7d: 0x6d99e820, 0x3ae7e: 0x6d99ea20, 0x3ae7f: 0x6dbc8420,\n\t// Block 0xeba, offset 0x3ae80\n\t0x3ae80: 0x6dbc8620, 0x3ae81: 0x6dbc8820, 0x3ae82: 0x6dbc8a20, 0x3ae83: 0x6dbc8c20,\n\t0x3ae84: 0x6dbc8e20, 0x3ae85: 0x6dbc9020, 0x3ae86: 0x6dbc9220, 0x3ae87: 0x6dbc9420,\n\t0x3ae88: 0x6dbc9620, 0x3ae89: 0x6dbc9820, 0x3ae8a: 0x6dbc9a20, 0x3ae8b: 0x6dbc9c20,\n\t0x3ae8c: 0x6dbc9e20, 0x3ae8d: 0x6dbca020, 0x3ae8e: 0x6dbca220, 0x3ae8f: 0x6dbca420,\n\t0x3ae90: 0x6dbca620, 0x3ae91: 0x6dbca820, 0x3ae92: 0x6dbcaa20, 0x3ae93: 0x6dbcac20,\n\t0x3ae94: 0x6dbcae20, 0x3ae95: 0x6dbcb020, 0x3ae96: 0x6dbcb220, 0x3ae97: 0x6dbcb420,\n\t0x3ae98: 0x6dbcb620, 0x3ae99: 0x6dbcb820, 0x3ae9a: 0x6dbcba20, 0x3ae9b: 0x6dbcbc20,\n\t0x3ae9c: 0x6dbcbe20, 0x3ae9d: 0x6dbcc020, 0x3ae9e: 0x6dbcc220, 0x3ae9f: 0x6dda5c20,\n\t0x3aea0: 0x6dda5e20, 0x3aea1: 0x6dda6020, 0x3aea2: 0x6dda6220, 0x3aea3: 0x6dda6420,\n\t0x3aea4: 0x6dda6620, 0x3aea5: 0x6dda6820, 0x3aea6: 0x6dda6a20, 0x3aea7: 0x6dda6c20,\n\t0x3aea8: 0x6dda6e20, 0x3aea9: 0x6dda7020, 0x3aeaa: 0x6dda7220, 0x3aeab: 0x6dda7420,\n\t0x3aeac: 0x6dda7620, 0x3aead: 0x6dda7820, 0x3aeae: 0x6dda7a20, 0x3aeaf: 0x6dda7c20,\n\t0x3aeb0: 0x6dda7e20, 0x3aeb1: 0x6dda8020, 0x3aeb2: 0x6dda8220, 0x3aeb3: 0x6dda8420,\n\t0x3aeb4: 0x6dda8620, 0x3aeb5: 0x6dda8820, 0x3aeb6: 0x6dda8a20, 0x3aeb7: 0x6dda8c20,\n\t0x3aeb8: 0x6dda8e20, 0x3aeb9: 0x6dda9020, 0x3aeba: 0x6dda9220, 0x3aebb: 0x6dda9420,\n\t0x3aebc: 0x6dda9620, 0x3aebd: 0x6dda9820, 0x3aebe: 0x6dda9a20, 0x3aebf: 0x6dda9c20,\n\t// Block 0xebb, offset 0x3aec0\n\t0x3aec0: 0x6dda9e20, 0x3aec1: 0x6ddaa020, 0x3aec2: 0x6ddaa220, 0x3aec3: 0x6df25e20,\n\t0x3aec4: 0x6df26020, 0x3aec5: 0x6df26220, 0x3aec6: 0x6df26420, 0x3aec7: 0x6df26620,\n\t0x3aec8: 0x6df26820, 0x3aec9: 0x6df26a20, 0x3aeca: 0x6df26c20, 0x3aecb: 0x6df26e20,\n\t0x3aecc: 0x6df27020, 0x3aecd: 0x6df27220, 0x3aece: 0x6df27420, 0x3aecf: 0x6df27620,\n\t0x3aed0: 0x6df27820, 0x3aed1: 0x6df27a20, 0x3aed2: 0x6df27c20, 0x3aed3: 0x6df27e20,\n\t0x3aed4: 0x6df28020, 0x3aed5: 0x6df28220, 0x3aed6: 0x6df28420, 0x3aed7: 0x6df28620,\n\t0x3aed8: 0x6df28820, 0x3aed9: 0x6df28a20, 0x3aeda: 0x6df28c20, 0x3aedb: 0x6df28e20,\n\t0x3aedc: 0x6df29020, 0x3aedd: 0x6df29220, 0x3aede: 0x6df29420, 0x3aedf: 0x6df29620,\n\t0x3aee0: 0x6df29820, 0x3aee1: 0x6df29a20, 0x3aee2: 0x6df29c20, 0x3aee3: 0x6df29e20,\n\t0x3aee4: 0x6df2a020, 0x3aee5: 0x6df2a220, 0x3aee6: 0x6e069820, 0x3aee7: 0x6e069a20,\n\t0x3aee8: 0x6e069c20, 0x3aee9: 0x6e069e20, 0x3aeea: 0x6e06a020, 0x3aeeb: 0x6e06a220,\n\t0x3aeec: 0x6e06a420, 0x3aeed: 0x6e06a620, 0x3aeee: 0x6e06a820, 0x3aeef: 0x6e06aa20,\n\t0x3aef0: 0x6e06ac20, 0x3aef1: 0x6e06ae20, 0x3aef2: 0x6e06b020, 0x3aef3: 0x6e06b220,\n\t0x3aef4: 0x6e06b420, 0x3aef5: 0x6e06b620, 0x3aef6: 0x6e06b820, 0x3aef7: 0x6e06ba20,\n\t0x3aef8: 0x6e06bc20, 0x3aef9: 0x6e06be20, 0x3aefa: 0x6e06c020, 0x3aefb: 0x6e06c220,\n\t0x3aefc: 0x6e06c420, 0x3aefd: 0x6e06c620, 0x3aefe: 0x6e06c820, 0x3aeff: 0x6e06ca20,\n\t// Block 0xebc, offset 0x3af00\n\t0x3af00: 0x6e06cc20, 0x3af01: 0x6e06ce20, 0x3af02: 0x6e06d020, 0x3af03: 0x6e171e20,\n\t0x3af04: 0x6e172020, 0x3af05: 0x6e172220, 0x3af06: 0x6e172420, 0x3af07: 0x6e172620,\n\t0x3af08: 0x6e172820, 0x3af09: 0x6e172a20, 0x3af0a: 0x6e172c20, 0x3af0b: 0x6e172e20,\n\t0x3af0c: 0x6e173020, 0x3af0d: 0x6e173220, 0x3af0e: 0x6e173420, 0x3af0f: 0x6e173620,\n\t0x3af10: 0x6e173820, 0x3af11: 0x6e173a20, 0x3af12: 0x6e173c20, 0x3af13: 0x6e242020,\n\t0x3af14: 0x6e242220, 0x3af15: 0x6e242420, 0x3af16: 0x6e242620, 0x3af17: 0x6e242820,\n\t0x3af18: 0x6e242a20, 0x3af19: 0x6e242c20, 0x3af1a: 0x6e242e20, 0x3af1b: 0x6e243020,\n\t0x3af1c: 0x6e243220, 0x3af1d: 0x6e243420, 0x3af1e: 0x6e243620, 0x3af1f: 0x6e243820,\n\t0x3af20: 0x6e243a20, 0x3af21: 0x6e243c20, 0x3af22: 0x6e243e20, 0x3af23: 0x6e244020,\n\t0x3af24: 0x6e244220, 0x3af25: 0x6e2e1220, 0x3af26: 0x6e2e1420, 0x3af27: 0x6e2e1620,\n\t0x3af28: 0x6e2e1820, 0x3af29: 0x6e2e1a20, 0x3af2a: 0x6e2e1c20, 0x3af2b: 0x6e2e1e20,\n\t0x3af2c: 0x6e2e2020, 0x3af2d: 0x6e2e2220, 0x3af2e: 0x6e2e2420, 0x3af2f: 0x6e2e2620,\n\t0x3af30: 0x6e2e2820, 0x3af31: 0x6e2e2a20, 0x3af32: 0x6e35c220, 0x3af33: 0x6e35c420,\n\t0x3af34: 0x6e35c620, 0x3af35: 0x6e35c820, 0x3af36: 0x6e35ca20, 0x3af37: 0x6e35cc20,\n\t0x3af38: 0x6e3b2420, 0x3af39: 0x6e3b2620, 0x3af3a: 0x6e3b2820, 0x3af3b: 0x6e3b9e20,\n\t0x3af3c: 0x6e3b2a20, 0x3af3d: 0x6e3b2c20, 0x3af3e: 0x6e3b2e20, 0x3af3f: 0x6e3ee220,\n\t// Block 0xebd, offset 0x3af40\n\t0x3af40: 0x6e3ee420, 0x3af41: 0x6e3ee620, 0x3af42: 0x6e3ee820, 0x3af43: 0x6e3eea20,\n\t0x3af44: 0x6e3eec20, 0x3af45: 0x6e3eee20, 0x3af46: 0x6e3ef020, 0x3af47: 0x6e417820,\n\t0x3af48: 0x6e436a20, 0x3af49: 0x6e436c20, 0x3af4a: 0x6e436e20, 0x3af4b: 0x6e457020,\n\t0x3af4c: 0x6e464e20, 0x3af4d: 0x6e465020, 0x3af4e: 0x6e469420, 0x3af4f: 0x6e469620,\n\t0x3af50: 0x6e46b620, 0x3af51: 0x6e471a20, 0x3af52: 0x6ce73620, 0x3af53: 0x6d15c820,\n\t0x3af54: 0x6d15ca20, 0x3af55: 0x6d15cc20, 0x3af56: 0x6d15ce20, 0x3af57: 0x6d15d020,\n\t0x3af58: 0x6d43e420, 0x3af59: 0x6d43e620, 0x3af5a: 0x6d43e820, 0x3af5b: 0x6d43ea20,\n\t0x3af5c: 0x6d43ec20, 0x3af5d: 0x6d43ee20, 0x3af5e: 0x6d43f020, 0x3af5f: 0x6d43f220,\n\t0x3af60: 0x6d43f420, 0x3af61: 0x6d43f620, 0x3af62: 0x6d43f820, 0x3af63: 0x6d43fa20,\n\t0x3af64: 0x6d70c820, 0x3af65: 0x6d70ca20, 0x3af66: 0x6d70cc20, 0x3af67: 0x6d70ce20,\n\t0x3af68: 0x6d70d020, 0x3af69: 0x6d70d220, 0x3af6a: 0x6d70d420, 0x3af6b: 0x6d70d620,\n\t0x3af6c: 0x6d70d820, 0x3af6d: 0x6d70da20, 0x3af6e: 0x6d70dc20, 0x3af6f: 0x6d99f020,\n\t0x3af70: 0x6d99f220, 0x3af71: 0x6d99f420, 0x3af72: 0x6d99f620, 0x3af73: 0x6d99f820,\n\t0x3af74: 0x6d99fa20, 0x3af75: 0x6d99fc20, 0x3af76: 0x6d99fe20, 0x3af77: 0x6d9a0020,\n\t0x3af78: 0x6dbccc20, 0x3af79: 0x6dbcce20, 0x3af7a: 0x6dbcd020, 0x3af7b: 0x6dbcd220,\n\t0x3af7c: 0x6dbcd420, 0x3af7d: 0x6dbcd620, 0x3af7e: 0x6dbcd820, 0x3af7f: 0x6dbcda20,\n\t// Block 0xebe, offset 0x3af80\n\t0x3af80: 0x6dbcdc20, 0x3af81: 0x6dbcde20, 0x3af82: 0x6dbce020, 0x3af83: 0x6dbce220,\n\t0x3af84: 0x6dbce420, 0x3af85: 0x6ddab420, 0x3af86: 0x6ddab620, 0x3af87: 0x6ddab820,\n\t0x3af88: 0x6ddaba20, 0x3af89: 0x6ddabc20, 0x3af8a: 0x6ddabe20, 0x3af8b: 0x6ddac020,\n\t0x3af8c: 0x6ddac220, 0x3af8d: 0x6ddac420, 0x3af8e: 0x6ddac620, 0x3af8f: 0x6df2b020,\n\t0x3af90: 0x6df2b220, 0x3af91: 0x6df2b420, 0x3af92: 0x6df2b620, 0x3af93: 0x6df2b820,\n\t0x3af94: 0x6df2ba20, 0x3af95: 0x6df2bc20, 0x3af96: 0x6df2be20, 0x3af97: 0x6df2c020,\n\t0x3af98: 0x6e06d820, 0x3af99: 0x6e06da20, 0x3af9a: 0x6e06dc20, 0x3af9b: 0x6e06de20,\n\t0x3af9c: 0x6e06e020, 0x3af9d: 0x6e06e220, 0x3af9e: 0x6e06e420, 0x3af9f: 0x6e06e620,\n\t0x3afa0: 0x6e174620, 0x3afa1: 0x6e174820, 0x3afa2: 0x6e174a20, 0x3afa3: 0x6e174c20,\n\t0x3afa4: 0x6e174e20, 0x3afa5: 0x6e175020, 0x3afa6: 0x6e175220, 0x3afa7: 0x6e175420,\n\t0x3afa8: 0x6e244a20, 0x3afa9: 0x6e244c20, 0x3afaa: 0x6e244e20, 0x3afab: 0x6e245020,\n\t0x3afac: 0x6e245220, 0x3afad: 0x6e245420, 0x3afae: 0x6e2e2e20, 0x3afaf: 0x6e2e3020,\n\t0x3afb0: 0x6e2e3220, 0x3afb1: 0x6e2e3420, 0x3afb2: 0x6e35d220, 0x3afb3: 0x6e35d420,\n\t0x3afb4: 0x6e3b3020, 0x3afb5: 0x6e3ef220, 0x3afb6: 0x6e417a20, 0x3afb7: 0x6e417c20,\n\t0x3afb8: 0x6e417e20, 0x3afb9: 0x6e437020, 0x3afba: 0x6e44b420, 0x3afbb: 0x6e44b620,\n\t0x3afbc: 0x6c428220, 0x3afbd: 0x6c633820, 0x3afbe: 0x6c633a20, 0x3afbf: 0x6d15d820,\n\t// Block 0xebf, offset 0x3afc0\n\t0x3afc0: 0x6d15da20, 0x3afc1: 0x6d15e220, 0x3afc2: 0x6d15e420, 0x3afc3: 0x6d70e420,\n\t0x3afc4: 0x6d9a0620, 0x3afc5: 0x6dbcec20, 0x3afc6: 0x6dbcee20, 0x3afc7: 0x6dbcf020,\n\t0x3afc8: 0x6ddac820, 0x3afc9: 0x6df2c820, 0x3afca: 0x6df2ca20, 0x3afcb: 0x6e06ec20,\n\t0x3afcc: 0x6e175820, 0x3afcd: 0x6e06ee20, 0x3afce: 0x6e06f020, 0x3afcf: 0x6e175a20,\n\t0x3afd0: 0x6e175c20, 0x3afd1: 0x6e245620, 0x3afd2: 0x6e245820, 0x3afd3: 0x6e245a20,\n\t0x3afd4: 0x6e2e3820, 0x3afd5: 0x6e2e3a20, 0x3afd6: 0x6e3b3220, 0x3afd7: 0x6ce74220,\n\t0x3afd8: 0x6d15ec20, 0x3afd9: 0x6d15ee20, 0x3afda: 0x6d440820, 0x3afdb: 0x6d440a20,\n\t0x3afdc: 0x6d440c20, 0x3afdd: 0x6d440e20, 0x3afde: 0x6d70e620, 0x3afdf: 0x6d70e820,\n\t0x3afe0: 0x6d70ea20, 0x3afe1: 0x6d70ec20, 0x3afe2: 0x6d70ee20, 0x3afe3: 0x6d70f020,\n\t0x3afe4: 0x6d70f220, 0x3afe5: 0x6d70f420, 0x3afe6: 0x6d70f620, 0x3afe7: 0x6d9a0e20,\n\t0x3afe8: 0x6d9a1020, 0x3afe9: 0x6d9a1220, 0x3afea: 0x6d9a1420, 0x3afeb: 0x6d9a1620,\n\t0x3afec: 0x6d9a1820, 0x3afed: 0x6dbcf220, 0x3afee: 0x6dbcf420, 0x3afef: 0x6dbcf620,\n\t0x3aff0: 0x6dbcf820, 0x3aff1: 0x6ddad020, 0x3aff2: 0x6ddad220, 0x3aff3: 0x6ddad420,\n\t0x3aff4: 0x6ddad620, 0x3aff5: 0x6df2d420, 0x3aff6: 0x6df2d620, 0x3aff7: 0x6df2d820,\n\t0x3aff8: 0x6df2da20, 0x3aff9: 0x6e06f820, 0x3affa: 0x6e06fa20, 0x3affb: 0x6e06fc20,\n\t0x3affc: 0x6e06fe20, 0x3affd: 0x6e070020, 0x3affe: 0x6e070220, 0x3afff: 0x6e175e20,\n\t// Block 0xec0, offset 0x3b000\n\t0x3b000: 0x6e176020, 0x3b001: 0x6e176220, 0x3b002: 0x6e245e20, 0x3b003: 0x6e246020,\n\t0x3b004: 0x6e246220, 0x3b005: 0x6e246420, 0x3b006: 0x6e246620, 0x3b007: 0x6e2e3e20,\n\t0x3b008: 0x6e35d820, 0x3b009: 0x6e418020, 0x3b00a: 0x6e469820, 0x3b00b: 0x6c634220,\n\t0x3b00c: 0x6cb6b820, 0x3b00d: 0x6cb6ba20, 0x3b00e: 0x6cb6bc20, 0x3b00f: 0x6cb6be20,\n\t0x3b010: 0x6ce75020, 0x3b011: 0x6ce75220, 0x3b012: 0x6ce75420, 0x3b013: 0x6ce75620,\n\t0x3b014: 0x6ce75820, 0x3b015: 0x6ce75a20, 0x3b016: 0x6ce75c20, 0x3b017: 0x6ce75e20,\n\t0x3b018: 0x6ce76020, 0x3b019: 0x6d160e20, 0x3b01a: 0x6d161020, 0x3b01b: 0x6d161220,\n\t0x3b01c: 0x6d161420, 0x3b01d: 0x6d161620, 0x3b01e: 0x6d161820, 0x3b01f: 0x6d161a20,\n\t0x3b020: 0x6d161c20, 0x3b021: 0x6d161e20, 0x3b022: 0x6d162020, 0x3b023: 0x6d162220,\n\t0x3b024: 0x6d162420, 0x3b025: 0x6d162620, 0x3b026: 0x6d162820, 0x3b027: 0x6d162a20,\n\t0x3b028: 0x6d162c20, 0x3b029: 0x6d162e20, 0x3b02a: 0x6d163020, 0x3b02b: 0x6d163220,\n\t0x3b02c: 0x6d163420, 0x3b02d: 0x6d163620, 0x3b02e: 0x6d163820, 0x3b02f: 0x6d163a20,\n\t0x3b030: 0x6d443220, 0x3b031: 0x6d443420, 0x3b032: 0x6d443620, 0x3b033: 0x6d443820,\n\t0x3b034: 0x6d443a20, 0x3b035: 0x6d443c20, 0x3b036: 0x6d443e20, 0x3b037: 0x6d444020,\n\t0x3b038: 0x6d444220, 0x3b039: 0x6d444420, 0x3b03a: 0x6d444620, 0x3b03b: 0x6d444820,\n\t0x3b03c: 0x6d444a20, 0x3b03d: 0x6d444c20, 0x3b03e: 0x6d444e20, 0x3b03f: 0x6d445020,\n\t// Block 0xec1, offset 0x3b040\n\t0x3b040: 0x6d445220, 0x3b041: 0x6d445420, 0x3b042: 0x6d445620, 0x3b043: 0x6d445820,\n\t0x3b044: 0x6d445a20, 0x3b045: 0x6d445c20, 0x3b046: 0x6d445e20, 0x3b047: 0x6d446020,\n\t0x3b048: 0x6d446220, 0x3b049: 0x6d446420, 0x3b04a: 0x6d446620, 0x3b04b: 0x6d446820,\n\t0x3b04c: 0x6d446a20, 0x3b04d: 0x6d446c20, 0x3b04e: 0x6d446e20, 0x3b04f: 0x6d712020,\n\t0x3b050: 0x6d712220, 0x3b051: 0x6d712420, 0x3b052: 0x6d712620, 0x3b053: 0x6d712820,\n\t0x3b054: 0x6d712a20, 0x3b055: 0x6d712c20, 0x3b056: 0x6d712e20, 0x3b057: 0x6d713020,\n\t0x3b058: 0x6d713220, 0x3b059: 0x6d713420, 0x3b05a: 0x6d713620, 0x3b05b: 0x6d713820,\n\t0x3b05c: 0x6d713a20, 0x3b05d: 0x6d713c20, 0x3b05e: 0x6d713e20, 0x3b05f: 0x6d714020,\n\t0x3b060: 0x6d714220, 0x3b061: 0x6d714420, 0x3b062: 0x6d714620, 0x3b063: 0x6d714820,\n\t0x3b064: 0x6d714a20, 0x3b065: 0x6d714c20, 0x3b066: 0x6d714e20, 0x3b067: 0x6d715020,\n\t0x3b068: 0x6d715220, 0x3b069: 0x6d715420, 0x3b06a: 0x6d715620, 0x3b06b: 0x6d715820,\n\t0x3b06c: 0x6d715a20, 0x3b06d: 0x6d715c20, 0x3b06e: 0x6d9a5020, 0x3b06f: 0x6d9a5220,\n\t0x3b070: 0x6d9a5420, 0x3b071: 0x6d9a5620, 0x3b072: 0x6d9a5820, 0x3b073: 0x6d9a5a20,\n\t0x3b074: 0x6d9a5c20, 0x3b075: 0x6d9a5e20, 0x3b076: 0x6d9a6020, 0x3b077: 0x6d9a6220,\n\t0x3b078: 0x6d9a6420, 0x3b079: 0x6d9a6620, 0x3b07a: 0x6d9a6820, 0x3b07b: 0x6d9a6a20,\n\t0x3b07c: 0x6d9a6c20, 0x3b07d: 0x6d9a6e20, 0x3b07e: 0x6d9a7020, 0x3b07f: 0x6d9a7220,\n\t// Block 0xec2, offset 0x3b080\n\t0x3b080: 0x6d9a7420, 0x3b081: 0x6d9a7620, 0x3b082: 0x6d9a7820, 0x3b083: 0x6d9a7a20,\n\t0x3b084: 0x6d9a7c20, 0x3b085: 0x6d9a7e20, 0x3b086: 0x6d9a8020, 0x3b087: 0x6d9a8220,\n\t0x3b088: 0x6d9a8420, 0x3b089: 0x6d9a8620, 0x3b08a: 0x6d9a8820, 0x3b08b: 0x6d9a8a20,\n\t0x3b08c: 0x6d9a8c20, 0x3b08d: 0x6d9a8e20, 0x3b08e: 0x6d9a9020, 0x3b08f: 0x6d9a9220,\n\t0x3b090: 0x6d9a9420, 0x3b091: 0x6d9a9620, 0x3b092: 0x6d9a9820, 0x3b093: 0x6d9a9a20,\n\t0x3b094: 0x6d9a9c20, 0x3b095: 0x6d9a9e20, 0x3b096: 0x6d9aa020, 0x3b097: 0x6d9aa220,\n\t0x3b098: 0x6d9aa420, 0x3b099: 0x6d9aa620, 0x3b09a: 0x6d9aa820, 0x3b09b: 0x6d9aaa20,\n\t0x3b09c: 0x6d9aac20, 0x3b09d: 0x6dbd2220, 0x3b09e: 0x6dbd2420, 0x3b09f: 0x6dbd2620,\n\t0x3b0a0: 0x6dbd2820, 0x3b0a1: 0x6dbd2a20, 0x3b0a2: 0x6dbd2c20, 0x3b0a3: 0x6dbd2e20,\n\t0x3b0a4: 0x6dbd3020, 0x3b0a5: 0x6dbd3220, 0x3b0a6: 0x6dbd3420, 0x3b0a7: 0x6dbd3620,\n\t0x3b0a8: 0x6dbd3820, 0x3b0a9: 0x6dbd3a20, 0x3b0aa: 0x6dbd3c20, 0x3b0ab: 0x6dbd3e20,\n\t0x3b0ac: 0x6dbd4020, 0x3b0ad: 0x6dbd4220, 0x3b0ae: 0x6dbd4420, 0x3b0af: 0x6dbd4620,\n\t0x3b0b0: 0x6dbd4820, 0x3b0b1: 0x6dbd4a20, 0x3b0b2: 0x6dbd4c20, 0x3b0b3: 0x6dbd4e20,\n\t0x3b0b4: 0x6dbd5020, 0x3b0b5: 0x6dbd5220, 0x3b0b6: 0x6dbd5420, 0x3b0b7: 0x6dbd5620,\n\t0x3b0b8: 0x6dbd5820, 0x3b0b9: 0x6dbd5a20, 0x3b0ba: 0x6dbd5c20, 0x3b0bb: 0x6dbd5e20,\n\t0x3b0bc: 0x6dbd6020, 0x3b0bd: 0x6dbd6220, 0x3b0be: 0x6dbd6420, 0x3b0bf: 0x6dbd6620,\n\t// Block 0xec3, offset 0x3b0c0\n\t0x3b0c0: 0x6ddb0820, 0x3b0c1: 0x6ddb0a20, 0x3b0c2: 0x6ddb0c20, 0x3b0c3: 0x6ddb0e20,\n\t0x3b0c4: 0x6ddb1020, 0x3b0c5: 0x6ddb1220, 0x3b0c6: 0x6ddb1420, 0x3b0c7: 0x6ddb1620,\n\t0x3b0c8: 0x6ddb1820, 0x3b0c9: 0x6ddb1a20, 0x3b0ca: 0x6ddb1c20, 0x3b0cb: 0x6ddb1e20,\n\t0x3b0cc: 0x6ddb2020, 0x3b0cd: 0x6ddb2220, 0x3b0ce: 0x6ddb2420, 0x3b0cf: 0x6ddb2620,\n\t0x3b0d0: 0x6ddb2820, 0x3b0d1: 0x6ddb2a20, 0x3b0d2: 0x6ddb2c20, 0x3b0d3: 0x6ddb2e20,\n\t0x3b0d4: 0x6ddb3020, 0x3b0d5: 0x6ddb3220, 0x3b0d6: 0x6ddb3420, 0x3b0d7: 0x6ddb3620,\n\t0x3b0d8: 0x6ddb3820, 0x3b0d9: 0x6df30220, 0x3b0da: 0x6df30420, 0x3b0db: 0x6df30620,\n\t0x3b0dc: 0x6df30820, 0x3b0dd: 0x6df30a20, 0x3b0de: 0x6df30c20, 0x3b0df: 0x6df30e20,\n\t0x3b0e0: 0x6df31020, 0x3b0e1: 0x6df31220, 0x3b0e2: 0x6df31420, 0x3b0e3: 0x6df31620,\n\t0x3b0e4: 0x6df31820, 0x3b0e5: 0x6df31a20, 0x3b0e6: 0x6df31c20, 0x3b0e7: 0x6df31e20,\n\t0x3b0e8: 0x6df32020, 0x3b0e9: 0x6df32220, 0x3b0ea: 0x6df32420, 0x3b0eb: 0x6df32620,\n\t0x3b0ec: 0x6df32820, 0x3b0ed: 0x6df32a20, 0x3b0ee: 0x6df32c20, 0x3b0ef: 0x6df32e20,\n\t0x3b0f0: 0x6df33020, 0x3b0f1: 0x6df33220, 0x3b0f2: 0x6df33420, 0x3b0f3: 0x6e071820,\n\t0x3b0f4: 0x6e071a20, 0x3b0f5: 0x6e071c20, 0x3b0f6: 0x6e071e20, 0x3b0f7: 0x6e072020,\n\t0x3b0f8: 0x6e072220, 0x3b0f9: 0x6e072420, 0x3b0fa: 0x6e072620, 0x3b0fb: 0x6e072820,\n\t0x3b0fc: 0x6e072a20, 0x3b0fd: 0x6e072c20, 0x3b0fe: 0x6e072e20, 0x3b0ff: 0x6e073020,\n\t// Block 0xec4, offset 0x3b100\n\t0x3b100: 0x6e073220, 0x3b101: 0x6e073420, 0x3b102: 0x6e073620, 0x3b103: 0x6e073820,\n\t0x3b104: 0x6e073a20, 0x3b105: 0x6e073c20, 0x3b106: 0x6e073e20, 0x3b107: 0x6e074020,\n\t0x3b108: 0x6e074220, 0x3b109: 0x6e177c20, 0x3b10a: 0x6e177e20, 0x3b10b: 0x6e178020,\n\t0x3b10c: 0x6e178220, 0x3b10d: 0x6e178420, 0x3b10e: 0x6e178620, 0x3b10f: 0x6e178820,\n\t0x3b110: 0x6e178a20, 0x3b111: 0x6e178c20, 0x3b112: 0x6e178e20, 0x3b113: 0x6e179020,\n\t0x3b114: 0x6e179220, 0x3b115: 0x6e179420, 0x3b116: 0x6e179620, 0x3b117: 0x6e179820,\n\t0x3b118: 0x6e179a20, 0x3b119: 0x6e179c20, 0x3b11a: 0x6e179e20, 0x3b11b: 0x6e17a020,\n\t0x3b11c: 0x6e17a220, 0x3b11d: 0x6e17a420, 0x3b11e: 0x6e17a620, 0x3b11f: 0x6e247420,\n\t0x3b120: 0x6e247620, 0x3b121: 0x6e247820, 0x3b122: 0x6e247a20, 0x3b123: 0x6e247c20,\n\t0x3b124: 0x6e247e20, 0x3b125: 0x6e248020, 0x3b126: 0x6e248220, 0x3b127: 0x6e248420,\n\t0x3b128: 0x6e248620, 0x3b129: 0x6e248820, 0x3b12a: 0x6e248a20, 0x3b12b: 0x6e248c20,\n\t0x3b12c: 0x6e2e4820, 0x3b12d: 0x6e2e4a20, 0x3b12e: 0x6e2e4c20, 0x3b12f: 0x6e2e4e20,\n\t0x3b130: 0x6e2e5020, 0x3b131: 0x6e2e5220, 0x3b132: 0x6e2e5420, 0x3b133: 0x6e2e5620,\n\t0x3b134: 0x6e2e5820, 0x3b135: 0x6e2e5a20, 0x3b136: 0x6e2e5c20, 0x3b137: 0x6e2e5e20,\n\t0x3b138: 0x6e2e6020, 0x3b139: 0x6e2e6220, 0x3b13a: 0x6e2e6420, 0x3b13b: 0x6e2e6620,\n\t0x3b13c: 0x6e2e6820, 0x3b13d: 0x6e2e6a20, 0x3b13e: 0x6e35e020, 0x3b13f: 0x6e35e220,\n\t// Block 0xec5, offset 0x3b140\n\t0x3b140: 0x6e35e420, 0x3b141: 0x6e35e620, 0x3b142: 0x6e35e820, 0x3b143: 0x6e35ea20,\n\t0x3b144: 0x6e35ec20, 0x3b145: 0x6e35ee20, 0x3b146: 0x6e3b3c20, 0x3b147: 0x6e3b3e20,\n\t0x3b148: 0x6e3b4020, 0x3b149: 0x6e3ef420, 0x3b14a: 0x6e3ef620, 0x3b14b: 0x6e3ef820,\n\t0x3b14c: 0x6e3efa20, 0x3b14d: 0x6e3efc20, 0x3b14e: 0x6e3efe20, 0x3b14f: 0x6e418620,\n\t0x3b150: 0x6e418820, 0x3b151: 0x6e418a20, 0x3b152: 0x6e44b820, 0x3b153: 0x6e44ba20,\n\t0x3b154: 0x6e460020, 0x3b155: 0x6d447420, 0x3b156: 0x6d447620, 0x3b157: 0x6df33a20,\n\t0x3b158: 0x6cb6ce20, 0x3b159: 0x6cb6d020, 0x3b15a: 0x6ce77e20, 0x3b15b: 0x6ce78020,\n\t0x3b15c: 0x6ce78220, 0x3b15d: 0x6ce78420, 0x3b15e: 0x6ce78620, 0x3b15f: 0x6ce78820,\n\t0x3b160: 0x6ce78a20, 0x3b161: 0x6ce78c20, 0x3b162: 0x6d165c20, 0x3b163: 0x6d165e20,\n\t0x3b164: 0x6d166020, 0x3b165: 0x6d166220, 0x3b166: 0x6d166420, 0x3b167: 0x6d166620,\n\t0x3b168: 0x6d166820, 0x3b169: 0x6d166a20, 0x3b16a: 0x6d166c20, 0x3b16b: 0x6d166e20,\n\t0x3b16c: 0x6d167020, 0x3b16d: 0x6d167220, 0x3b16e: 0x6d167420, 0x3b16f: 0x6d167620,\n\t0x3b170: 0x6cf59620, 0x3b171: 0x6d167820, 0x3b172: 0x6d167a20, 0x3b173: 0x6d167c20,\n\t0x3b174: 0x6d449420, 0x3b175: 0x6d449620, 0x3b176: 0x6d449820, 0x3b177: 0x6d449a20,\n\t0x3b178: 0x6d449c20, 0x3b179: 0x6d449e20, 0x3b17a: 0x6d44a020, 0x3b17b: 0x6d44a220,\n\t0x3b17c: 0x6d44a420, 0x3b17d: 0x6d44a620, 0x3b17e: 0x6d44a820, 0x3b17f: 0x6d44aa20,\n\t// Block 0xec6, offset 0x3b180\n\t0x3b180: 0x6d44ac20, 0x3b181: 0x6d44ae20, 0x3b182: 0x6d44b020, 0x3b183: 0x6d44b220,\n\t0x3b184: 0x6d717620, 0x3b185: 0x6d717820, 0x3b186: 0x6d717a20, 0x3b187: 0x6d717c20,\n\t0x3b188: 0x6d717e20, 0x3b189: 0x6d718020, 0x3b18a: 0x6d718220, 0x3b18b: 0x6d718420,\n\t0x3b18c: 0x6d718620, 0x3b18d: 0x6d718820, 0x3b18e: 0x6d718a20, 0x3b18f: 0x6d718c20,\n\t0x3b190: 0x6d718e20, 0x3b191: 0x6d719020, 0x3b192: 0x6d719220, 0x3b193: 0x6d9aca20,\n\t0x3b194: 0x6d9acc20, 0x3b195: 0x6d9ace20, 0x3b196: 0x6d9ad020, 0x3b197: 0x6d9ad220,\n\t0x3b198: 0x6d9ad420, 0x3b199: 0x6d9ad620, 0x3b19a: 0x6d9ad820, 0x3b19b: 0x6d9ada20,\n\t0x3b19c: 0x6d9adc20, 0x3b19d: 0x6d9ade20, 0x3b19e: 0x6d9ae020, 0x3b19f: 0x6d9ae220,\n\t0x3b1a0: 0x6d9ae420, 0x3b1a1: 0x6d9ae620, 0x3b1a2: 0x6d9ae820, 0x3b1a3: 0x6d9aea20,\n\t0x3b1a4: 0x6d9aec20, 0x3b1a5: 0x6d9aee20, 0x3b1a6: 0x6d9af020, 0x3b1a7: 0x6d9af220,\n\t0x3b1a8: 0x6dbd7c20, 0x3b1a9: 0x6dbd7e20, 0x3b1aa: 0x6dbd8020, 0x3b1ab: 0x6dbd8220,\n\t0x3b1ac: 0x6dbd8420, 0x3b1ad: 0x6dbd8620, 0x3b1ae: 0x6dbd8820, 0x3b1af: 0x6dbd8a20,\n\t0x3b1b0: 0x6dbd8c20, 0x3b1b1: 0x6dbd8e20, 0x3b1b2: 0x6dbd9020, 0x3b1b3: 0x6dbd9220,\n\t0x3b1b4: 0x6dbd9420, 0x3b1b5: 0x6dbd9620, 0x3b1b6: 0x6dbd9820, 0x3b1b7: 0x6dbd9a20,\n\t0x3b1b8: 0x6dbd9c20, 0x3b1b9: 0x6dbd9e20, 0x3b1ba: 0x6dbda020, 0x3b1bb: 0x6dbda220,\n\t0x3b1bc: 0x6dbda420, 0x3b1bd: 0x6dbda620, 0x3b1be: 0x6dbda820, 0x3b1bf: 0x6dbdaa20,\n\t// Block 0xec7, offset 0x3b1c0\n\t0x3b1c0: 0x6dbdac20, 0x3b1c1: 0x6dbdae20, 0x3b1c2: 0x6dbdb020, 0x3b1c3: 0x6dbdb220,\n\t0x3b1c4: 0x6dbdb420, 0x3b1c5: 0x6ddb5620, 0x3b1c6: 0x6ddb5820, 0x3b1c7: 0x6ddb5a20,\n\t0x3b1c8: 0x6ddb5c20, 0x3b1c9: 0x6ddb5e20, 0x3b1ca: 0x6ddb6020, 0x3b1cb: 0x6ddb6220,\n\t0x3b1cc: 0x6ddb6420, 0x3b1cd: 0x6ddb6620, 0x3b1ce: 0x6df34e20, 0x3b1cf: 0x6ddb6820,\n\t0x3b1d0: 0x6ddb6a20, 0x3b1d1: 0x6ddb6c20, 0x3b1d2: 0x6ddb6e20, 0x3b1d3: 0x6ddb7020,\n\t0x3b1d4: 0x6ddb7220, 0x3b1d5: 0x6ddb7420, 0x3b1d6: 0x6ddb7620, 0x3b1d7: 0x6ddb7820,\n\t0x3b1d8: 0x6ddb7a20, 0x3b1d9: 0x6ddb7c20, 0x3b1da: 0x6ddb7e20, 0x3b1db: 0x6ddb8020,\n\t0x3b1dc: 0x6df35020, 0x3b1dd: 0x6df35220, 0x3b1de: 0x6df35420, 0x3b1df: 0x6df35620,\n\t0x3b1e0: 0x6df35820, 0x3b1e1: 0x6df35a20, 0x3b1e2: 0x6df35c20, 0x3b1e3: 0x6df35e20,\n\t0x3b1e4: 0x6df36020, 0x3b1e5: 0x6df36220, 0x3b1e6: 0x6df36420, 0x3b1e7: 0x6df36620,\n\t0x3b1e8: 0x6df36820, 0x3b1e9: 0x6df36a20, 0x3b1ea: 0x6df36c20, 0x3b1eb: 0x6df36e20,\n\t0x3b1ec: 0x6df37020, 0x3b1ed: 0x6e075620, 0x3b1ee: 0x6e075820, 0x3b1ef: 0x6e075a20,\n\t0x3b1f0: 0x6e075c20, 0x3b1f1: 0x6e075e20, 0x3b1f2: 0x6e076020, 0x3b1f3: 0x6e076220,\n\t0x3b1f4: 0x6e076420, 0x3b1f5: 0x6e076620, 0x3b1f6: 0x6e076820, 0x3b1f7: 0x6e076a20,\n\t0x3b1f8: 0x6e17bc20, 0x3b1f9: 0x6e17be20, 0x3b1fa: 0x6e17c020, 0x3b1fb: 0x6e17c220,\n\t0x3b1fc: 0x6e17c420, 0x3b1fd: 0x6e17c620, 0x3b1fe: 0x6e17c820, 0x3b1ff: 0x6e17ca20,\n\t// Block 0xec8, offset 0x3b200\n\t0x3b200: 0x6e17cc20, 0x3b201: 0x6e17ce20, 0x3b202: 0x6e17d020, 0x3b203: 0x6e17d220,\n\t0x3b204: 0x6e17d420, 0x3b205: 0x6e17d620, 0x3b206: 0x6e17d820, 0x3b207: 0x6e17da20,\n\t0x3b208: 0x6e249220, 0x3b209: 0x6e249420, 0x3b20a: 0x6e249620, 0x3b20b: 0x6e249820,\n\t0x3b20c: 0x6e249a20, 0x3b20d: 0x6e249c20, 0x3b20e: 0x6e2e7020, 0x3b20f: 0x6e2e7220,\n\t0x3b210: 0x6e2e7420, 0x3b211: 0x6e35f420, 0x3b212: 0x6e35f620, 0x3b213: 0x6e35f820,\n\t0x3b214: 0x6e35fa20, 0x3b215: 0x6e35fc20, 0x3b216: 0x6e3b4220, 0x3b217: 0x6e3b4420,\n\t0x3b218: 0x6e3b4620, 0x3b219: 0x6e3b4820, 0x3b21a: 0x6e3b4a20, 0x3b21b: 0x6e3f0020,\n\t0x3b21c: 0x6e3f0220, 0x3b21d: 0x6e419020, 0x3b21e: 0x6e419220, 0x3b21f: 0x6e437220,\n\t0x3b220: 0x6e46d220, 0x3b221: 0x6e46f220, 0x3b222: 0x6e470c20, 0x3b223: 0x6e473420,\n\t0x3b224: 0x6e473a20, 0x3b225: 0x6c635620, 0x3b226: 0x6c635820, 0x3b227: 0x6cb6d220,\n\t0x3b228: 0x6ce79020, 0x3b229: 0x6ce79220, 0x3b22a: 0x6ce79420, 0x3b22b: 0x6d168220,\n\t0x3b22c: 0x6d168420, 0x3b22d: 0x6d44bc20, 0x3b22e: 0x6d44be20, 0x3b22f: 0x6d9af820,\n\t0x3b230: 0x6dbdb820, 0x3b231: 0x6c635e20, 0x3b232: 0x6d168820, 0x3b233: 0x6d44c020,\n\t0x3b234: 0x6d719620, 0x3b235: 0x6ddb8820, 0x3b236: 0x6df37820, 0x3b237: 0x6df37a20,\n\t0x3b238: 0x6df37c20, 0x3b239: 0x6e076c20, 0x3b23a: 0x6e17de20, 0x3b23b: 0x6e17e020,\n\t0x3b23c: 0x6e24a220, 0x3b23d: 0x6e24a420, 0x3b23e: 0x6e45ea20, 0x3b23f: 0x6c429020,\n\t// Block 0xec9, offset 0x3b240\n\t0x3b240: 0x6c429220, 0x3b241: 0x6c429420, 0x3b242: 0x6c636620, 0x3b243: 0x6c429620,\n\t0x3b244: 0x6c8a6e20, 0x3b245: 0x6c8a7020, 0x3b246: 0x6c8a7220, 0x3b247: 0x6cb6de20,\n\t0x3b248: 0x6cb6e020, 0x3b249: 0x6cb6e220, 0x3b24a: 0x6cb6e420, 0x3b24b: 0x6cb6e620,\n\t0x3b24c: 0x6cb6e820, 0x3b24d: 0x6cb6ea20, 0x3b24e: 0x6cb6ec20, 0x3b24f: 0x6cb6ee20,\n\t0x3b250: 0x6cb6f020, 0x3b251: 0x6cb6f220, 0x3b252: 0x6cb6f420, 0x3b253: 0x6cb6f620,\n\t0x3b254: 0x6cb6f820, 0x3b255: 0x6ce7b020, 0x3b256: 0x6ce7b220, 0x3b257: 0x6ce7b420,\n\t0x3b258: 0x6ce7b620, 0x3b259: 0x6ce7b820, 0x3b25a: 0x6ce7ba20, 0x3b25b: 0x6ce7bc20,\n\t0x3b25c: 0x6ce7be20, 0x3b25d: 0x6ce7c020, 0x3b25e: 0x6ce7c220, 0x3b25f: 0x6ce7c420,\n\t0x3b260: 0x6ce7c620, 0x3b261: 0x6ce7c820, 0x3b262: 0x6ce7ca20, 0x3b263: 0x6ce7cc20,\n\t0x3b264: 0x6ce7ce20, 0x3b265: 0x6ce7d020, 0x3b266: 0x6ce7d220, 0x3b267: 0x6ce7d420,\n\t0x3b268: 0x6d16b020, 0x3b269: 0x6d16b220, 0x3b26a: 0x6d16b420, 0x3b26b: 0x6d16b620,\n\t0x3b26c: 0x6d16b820, 0x3b26d: 0x6d16ba20, 0x3b26e: 0x6d16bc20, 0x3b26f: 0x6d16be20,\n\t0x3b270: 0x6d16c020, 0x3b271: 0x6d16c220, 0x3b272: 0x6d16c420, 0x3b273: 0x6d16c620,\n\t0x3b274: 0x6d16c820, 0x3b275: 0x6d16ca20, 0x3b276: 0x6d16cc20, 0x3b277: 0x6d16ce20,\n\t0x3b278: 0x6d16d020, 0x3b279: 0x6d16d220, 0x3b27a: 0x6d16d420, 0x3b27b: 0x6d16d620,\n\t0x3b27c: 0x6d16d820, 0x3b27d: 0x6d16da20, 0x3b27e: 0x6d16dc20, 0x3b27f: 0x6d16de20,\n\t// Block 0xeca, offset 0x3b280\n\t0x3b280: 0x6d16e020, 0x3b281: 0x6d16e220, 0x3b282: 0x6d16e420, 0x3b283: 0x6d16e620,\n\t0x3b284: 0x6d16e820, 0x3b285: 0x6d16ea20, 0x3b286: 0x6d16ec20, 0x3b287: 0x6d16ee20,\n\t0x3b288: 0x6d16f020, 0x3b289: 0x6d44f020, 0x3b28a: 0x6d44f220, 0x3b28b: 0x6d44f420,\n\t0x3b28c: 0x6d44f620, 0x3b28d: 0x6d44f820, 0x3b28e: 0x6d44fa20, 0x3b28f: 0x6d44fc20,\n\t0x3b290: 0x6d44fe20, 0x3b291: 0x6d450020, 0x3b292: 0x6d450220, 0x3b293: 0x6d450420,\n\t0x3b294: 0x6d450620, 0x3b295: 0x6d450820, 0x3b296: 0x6d450a20, 0x3b297: 0x6d450c20,\n\t0x3b298: 0x6d450e20, 0x3b299: 0x6d451020, 0x3b29a: 0x6d451220, 0x3b29b: 0x6d451420,\n\t0x3b29c: 0x6d451620, 0x3b29d: 0x6d71c220, 0x3b29e: 0x6d71c420, 0x3b29f: 0x6d71c620,\n\t0x3b2a0: 0x6d71c820, 0x3b2a1: 0x6d71ca20, 0x3b2a2: 0x6d71cc20, 0x3b2a3: 0x6d71ce20,\n\t0x3b2a4: 0x6d71d020, 0x3b2a5: 0x6d71d220, 0x3b2a6: 0x6d71d420, 0x3b2a7: 0x6d71d620,\n\t0x3b2a8: 0x6d71d820, 0x3b2a9: 0x6d71da20, 0x3b2aa: 0x6d71dc20, 0x3b2ab: 0x6d71de20,\n\t0x3b2ac: 0x6d71e020, 0x3b2ad: 0x6d71e220, 0x3b2ae: 0x6d71e420, 0x3b2af: 0x6d71e620,\n\t0x3b2b0: 0x6d71e820, 0x3b2b1: 0x6d71ea20, 0x3b2b2: 0x6d71ec20, 0x3b2b3: 0x6d71ee20,\n\t0x3b2b4: 0x6d71f020, 0x3b2b5: 0x6d71f220, 0x3b2b6: 0x6d71f420, 0x3b2b7: 0x6d71f620,\n\t0x3b2b8: 0x6d71f820, 0x3b2b9: 0x6d71fa20, 0x3b2ba: 0x6d9b2820, 0x3b2bb: 0x6d9b2a20,\n\t0x3b2bc: 0x6d9b2c20, 0x3b2bd: 0x6d9b2e20, 0x3b2be: 0x6d9b3020, 0x3b2bf: 0x6d9b3220,\n\t// Block 0xecb, offset 0x3b2c0\n\t0x3b2c0: 0x6d9b3420, 0x3b2c1: 0x6d9b3620, 0x3b2c2: 0x6d9b3820, 0x3b2c3: 0x6d9b3a20,\n\t0x3b2c4: 0x6d9b3c20, 0x3b2c5: 0x6d9b3e20, 0x3b2c6: 0x6d9b4020, 0x3b2c7: 0x6d9b4220,\n\t0x3b2c8: 0x6d9b4420, 0x3b2c9: 0x6d9b4620, 0x3b2ca: 0x6d9b4820, 0x3b2cb: 0x6d9b4a20,\n\t0x3b2cc: 0x6d9b4c20, 0x3b2cd: 0x6d9b4e20, 0x3b2ce: 0x6d9b5020, 0x3b2cf: 0x6d9b5220,\n\t0x3b2d0: 0x6d9b5420, 0x3b2d1: 0x6d9b5620, 0x3b2d2: 0x6d9b5820, 0x3b2d3: 0x6d9b5a20,\n\t0x3b2d4: 0x6d9b5c20, 0x3b2d5: 0x6d9b5e20, 0x3b2d6: 0x6d9b6020, 0x3b2d7: 0x6d9b6220,\n\t0x3b2d8: 0x6d9b6420, 0x3b2d9: 0x6d9b6620, 0x3b2da: 0x6d9b6820, 0x3b2db: 0x6d9b6a20,\n\t0x3b2dc: 0x6d9b6c20, 0x3b2dd: 0x6d9b6e20, 0x3b2de: 0x6d9b7020, 0x3b2df: 0x6d9b7220,\n\t0x3b2e0: 0x6d9b7420, 0x3b2e1: 0x6d9b7620, 0x3b2e2: 0x6d9b7820, 0x3b2e3: 0x6dbde220,\n\t0x3b2e4: 0x6d9b7a20, 0x3b2e5: 0x6d9b7c20, 0x3b2e6: 0x6d9b7e20, 0x3b2e7: 0x6d9b8020,\n\t0x3b2e8: 0x6d9b8220, 0x3b2e9: 0x6d9b8420, 0x3b2ea: 0x6d9b8620, 0x3b2eb: 0x6d9b8820,\n\t0x3b2ec: 0x6d9b8a20, 0x3b2ed: 0x6dbde420, 0x3b2ee: 0x6dbde620, 0x3b2ef: 0x6dbde820,\n\t0x3b2f0: 0x6dbdea20, 0x3b2f1: 0x6dbdec20, 0x3b2f2: 0x6dbdee20, 0x3b2f3: 0x6dbdf020,\n\t0x3b2f4: 0x6dbdf220, 0x3b2f5: 0x6dbdf420, 0x3b2f6: 0x6dbdf620, 0x3b2f7: 0x6dbdf820,\n\t0x3b2f8: 0x6dbdfa20, 0x3b2f9: 0x6dbdfc20, 0x3b2fa: 0x6dbdfe20, 0x3b2fb: 0x6dbe0020,\n\t0x3b2fc: 0x6dbe0220, 0x3b2fd: 0x6dbe0420, 0x3b2fe: 0x6dbe0620, 0x3b2ff: 0x6dbe0820,\n\t// Block 0xecc, offset 0x3b300\n\t0x3b300: 0x6dbe0a20, 0x3b301: 0x6dbe0c20, 0x3b302: 0x6dbe0e20, 0x3b303: 0x6dbe1020,\n\t0x3b304: 0x6dbe1220, 0x3b305: 0x6dbe1420, 0x3b306: 0x6dbe1620, 0x3b307: 0x6dbe1820,\n\t0x3b308: 0x6dbe1a20, 0x3b309: 0x6dbe1c20, 0x3b30a: 0x6dbe1e20, 0x3b30b: 0x6dbe2020,\n\t0x3b30c: 0x6dbe2220, 0x3b30d: 0x6dbe2420, 0x3b30e: 0x6dbe2620, 0x3b30f: 0x6dbe2820,\n\t0x3b310: 0x6dbe2a20, 0x3b311: 0x6dbe2c20, 0x3b312: 0x6dbe2e20, 0x3b313: 0x6dbe3020,\n\t0x3b314: 0x6dbe3220, 0x3b315: 0x6dbe3420, 0x3b316: 0x6dbe3620, 0x3b317: 0x6dbe3820,\n\t0x3b318: 0x6dbe3a20, 0x3b319: 0x6ddbb220, 0x3b31a: 0x6ddbb420, 0x3b31b: 0x6ddbb620,\n\t0x3b31c: 0x6ddbb820, 0x3b31d: 0x6ddbba20, 0x3b31e: 0x6ddbbc20, 0x3b31f: 0x6ddbbe20,\n\t0x3b320: 0x6ddbc020, 0x3b321: 0x6ddbc220, 0x3b322: 0x6ddbc420, 0x3b323: 0x6ddbc620,\n\t0x3b324: 0x6ddbc820, 0x3b325: 0x6ddbca20, 0x3b326: 0x6ddbcc20, 0x3b327: 0x6ddbce20,\n\t0x3b328: 0x6ddbd020, 0x3b329: 0x6ddbd220, 0x3b32a: 0x6ddbd420, 0x3b32b: 0x6ddbd620,\n\t0x3b32c: 0x6ddbd820, 0x3b32d: 0x6ddbda20, 0x3b32e: 0x6ddbdc20, 0x3b32f: 0x6ddbde20,\n\t0x3b330: 0x6ddbe020, 0x3b331: 0x6ddbe220, 0x3b332: 0x6ddbe420, 0x3b333: 0x6ddbe620,\n\t0x3b334: 0x6df39620, 0x3b335: 0x6ddbe820, 0x3b336: 0x6ddbea20, 0x3b337: 0x6ddbec20,\n\t0x3b338: 0x6ddbee20, 0x3b339: 0x6ddbf020, 0x3b33a: 0x6ddbf220, 0x3b33b: 0x6ddbf420,\n\t0x3b33c: 0x6ddbf620, 0x3b33d: 0x6df39820, 0x3b33e: 0x6df39a20, 0x3b33f: 0x6df39c20,\n\t// Block 0xecd, offset 0x3b340\n\t0x3b340: 0x6df39e20, 0x3b341: 0x6df3a020, 0x3b342: 0x6df3a220, 0x3b343: 0x6df3a420,\n\t0x3b344: 0x6df3a620, 0x3b345: 0x6df3a820, 0x3b346: 0x6df3aa20, 0x3b347: 0x6df3ac20,\n\t0x3b348: 0x6df3ae20, 0x3b349: 0x6df3b020, 0x3b34a: 0x6df3b220, 0x3b34b: 0x6df3b420,\n\t0x3b34c: 0x6df3b620, 0x3b34d: 0x6df3b820, 0x3b34e: 0x6df3ba20, 0x3b34f: 0x6df3bc20,\n\t0x3b350: 0x6df3be20, 0x3b351: 0x6df3c020, 0x3b352: 0x6df3c220, 0x3b353: 0x6df3c420,\n\t0x3b354: 0x6df3c620, 0x3b355: 0x6df3c820, 0x3b356: 0x6df3ca20, 0x3b357: 0x6df3cc20,\n\t0x3b358: 0x6df3ce20, 0x3b359: 0x6df3d020, 0x3b35a: 0x6df3d220, 0x3b35b: 0x6df3d420,\n\t0x3b35c: 0x6df3d620, 0x3b35d: 0x6df3d820, 0x3b35e: 0x6df3da20, 0x3b35f: 0x6df3dc20,\n\t0x3b360: 0x6df3de20, 0x3b361: 0x6e078820, 0x3b362: 0x6e078a20, 0x3b363: 0x6e078c20,\n\t0x3b364: 0x6e078e20, 0x3b365: 0x6e079020, 0x3b366: 0x6e079220, 0x3b367: 0x6e079420,\n\t0x3b368: 0x6e079620, 0x3b369: 0x6e079820, 0x3b36a: 0x6e079a20, 0x3b36b: 0x6e079c20,\n\t0x3b36c: 0x6e079e20, 0x3b36d: 0x6e07a020, 0x3b36e: 0x6e07a220, 0x3b36f: 0x6e07a420,\n\t0x3b370: 0x6e07a620, 0x3b371: 0x6e07a820, 0x3b372: 0x6e07aa20, 0x3b373: 0x6e07ac20,\n\t0x3b374: 0x6e07ae20, 0x3b375: 0x6e07b020, 0x3b376: 0x6e17f420, 0x3b377: 0x6e07b220,\n\t0x3b378: 0x6e07b420, 0x3b379: 0x6e07b620, 0x3b37a: 0x6e07b820, 0x3b37b: 0x6e07ba20,\n\t0x3b37c: 0x6e07bc20, 0x3b37d: 0x6e07be20, 0x3b37e: 0x6e17f620, 0x3b37f: 0x6e17f820,\n\t// Block 0xece, offset 0x3b380\n\t0x3b380: 0x6e17fa20, 0x3b381: 0x6e17fc20, 0x3b382: 0x6e17fe20, 0x3b383: 0x6e180020,\n\t0x3b384: 0x6e180220, 0x3b385: 0x6e180420, 0x3b386: 0x6e180620, 0x3b387: 0x6e180820,\n\t0x3b388: 0x6e180a20, 0x3b389: 0x6e180c20, 0x3b38a: 0x6e180e20, 0x3b38b: 0x6e181020,\n\t0x3b38c: 0x6e181220, 0x3b38d: 0x6e181420, 0x3b38e: 0x6e181620, 0x3b38f: 0x6e181820,\n\t0x3b390: 0x6e181a20, 0x3b391: 0x6e181c20, 0x3b392: 0x6e181e20, 0x3b393: 0x6e24b620,\n\t0x3b394: 0x6e24b820, 0x3b395: 0x6e24ba20, 0x3b396: 0x6e24bc20, 0x3b397: 0x6e24be20,\n\t0x3b398: 0x6e24c020, 0x3b399: 0x6e24c220, 0x3b39a: 0x6e24c420, 0x3b39b: 0x6e24c620,\n\t0x3b39c: 0x6e24c820, 0x3b39d: 0x6e24ca20, 0x3b39e: 0x6e24cc20, 0x3b39f: 0x6e24ce20,\n\t0x3b3a0: 0x6e24d020, 0x3b3a1: 0x6e24d220, 0x3b3a2: 0x6e24d420, 0x3b3a3: 0x6e24d620,\n\t0x3b3a4: 0x6e2e8420, 0x3b3a5: 0x6e2e8620, 0x3b3a6: 0x6e2e8820, 0x3b3a7: 0x6e2e8a20,\n\t0x3b3a8: 0x6e2e8c20, 0x3b3a9: 0x6e2e8e20, 0x3b3aa: 0x6e2e9020, 0x3b3ab: 0x6e2e9220,\n\t0x3b3ac: 0x6e2e9420, 0x3b3ad: 0x6e360420, 0x3b3ae: 0x6e360620, 0x3b3af: 0x6e360820,\n\t0x3b3b0: 0x6e360a20, 0x3b3b1: 0x6e360c20, 0x3b3b2: 0x6e360e20, 0x3b3b3: 0x6e361020,\n\t0x3b3b4: 0x6e361220, 0x3b3b5: 0x6e361420, 0x3b3b6: 0x6e3b5020, 0x3b3b7: 0x6e3f0820,\n\t0x3b3b8: 0x6e3f0a20, 0x3b3b9: 0x6e3f0c20, 0x3b3ba: 0x6e3f0e20, 0x3b3bb: 0x6e44bc20,\n\t0x3b3bc: 0x6e457420, 0x3b3bd: 0x6e465220, 0x3b3be: 0x6c288e20, 0x3b3bf: 0x6c289020,\n\t// Block 0xecf, offset 0x3b3c0\n\t0x3b3c0: 0x6c289220, 0x3b3c1: 0x6c42a420, 0x3b3c2: 0x6c42a620, 0x3b3c3: 0x6c637820,\n\t0x3b3c4: 0x6c8a8020, 0x3b3c5: 0x6c8a8220, 0x3b3c6: 0x6cb70220, 0x3b3c7: 0x6c8a8420,\n\t0x3b3c8: 0x6cb70420, 0x3b3c9: 0x6cb70620, 0x3b3ca: 0x6ce7e020, 0x3b3cb: 0x6ce7e220,\n\t0x3b3cc: 0x6d170020, 0x3b3cd: 0x6d452420, 0x3b3ce: 0x6d452620, 0x3b3cf: 0x6d720220,\n\t0x3b3d0: 0x6c638020, 0x3b3d1: 0x6cb70e20, 0x3b3d2: 0x6cb71020, 0x3b3d3: 0x6ce7ee20,\n\t0x3b3d4: 0x6d170620, 0x3b3d5: 0x6d452820, 0x3b3d6: 0x6d452a20, 0x3b3d7: 0x6d452c20,\n\t0x3b3d8: 0x6d452e20, 0x3b3d9: 0x6d453020, 0x3b3da: 0x6d720c20, 0x3b3db: 0x6d720e20,\n\t0x3b3dc: 0x6d721020, 0x3b3dd: 0x6d721220, 0x3b3de: 0x6d721420, 0x3b3df: 0x6d721620,\n\t0x3b3e0: 0x6d721820, 0x3b3e1: 0x6d9b9020, 0x3b3e2: 0x6d9b9220, 0x3b3e3: 0x6d9b9420,\n\t0x3b3e4: 0x6d9b9620, 0x3b3e5: 0x6d9b9820, 0x3b3e6: 0x6d9b9a20, 0x3b3e7: 0x6d9b9c20,\n\t0x3b3e8: 0x6dbe4a20, 0x3b3e9: 0x6dbe4c20, 0x3b3ea: 0x6ddbfc20, 0x3b3eb: 0x6ddbfe20,\n\t0x3b3ec: 0x6ddc0020, 0x3b3ed: 0x6ddc0220, 0x3b3ee: 0x6de36c20, 0x3b3ef: 0x6df3e620,\n\t0x3b3f0: 0x6dface20, 0x3b3f1: 0x6df3e820, 0x3b3f2: 0x6e07c620, 0x3b3f3: 0x6e182220,\n\t0x3b3f4: 0x6e24dc20, 0x3b3f5: 0x6e2e9620, 0x3b3f6: 0x6e2e9820, 0x3b3f7: 0x6e361620,\n\t0x3b3f8: 0x6e3b5420, 0x3b3f9: 0x6e419c20, 0x3b3fa: 0x6c8a8c20, 0x3b3fb: 0x6d170a20,\n\t0x3b3fc: 0x6d170c20, 0x3b3fd: 0x6d170e20, 0x3b3fe: 0x6d453c20, 0x3b3ff: 0x6d453e20,\n\t// Block 0xed0, offset 0x3b400\n\t0x3b400: 0x6d454020, 0x3b401: 0x6d454220, 0x3b402: 0x6d721a20, 0x3b403: 0x6d454420,\n\t0x3b404: 0x6d454620, 0x3b405: 0x6d721c20, 0x3b406: 0x6d721e20, 0x3b407: 0x6d9ba620,\n\t0x3b408: 0x6d9ba820, 0x3b409: 0x6dbe5c20, 0x3b40a: 0x6dbe5e20, 0x3b40b: 0x6dbe6020,\n\t0x3b40c: 0x6ddc0820, 0x3b40d: 0x6ddc0a20, 0x3b40e: 0x6ddc0c20, 0x3b40f: 0x6dbe6220,\n\t0x3b410: 0x6ddc0e20, 0x3b411: 0x6ddc1020, 0x3b412: 0x6ddc1220, 0x3b413: 0x6df3f020,\n\t0x3b414: 0x6df3f220, 0x3b415: 0x6df3f420, 0x3b416: 0x6df3f620, 0x3b417: 0x6df3f820,\n\t0x3b418: 0x6df3fa20, 0x3b419: 0x6e07cc20, 0x3b41a: 0x6e07ce20, 0x3b41b: 0x6e07d020,\n\t0x3b41c: 0x6e07d220, 0x3b41d: 0x6e182620, 0x3b41e: 0x6e182820, 0x3b41f: 0x6e182a20,\n\t0x3b420: 0x6e182c20, 0x3b421: 0x6e182e20, 0x3b422: 0x6e24de20, 0x3b423: 0x6e24e020,\n\t0x3b424: 0x6e2e9c20, 0x3b425: 0x6e3f1020, 0x3b426: 0x6e437620, 0x3b427: 0x6c8a9020,\n\t0x3b428: 0x6cb71220, 0x3b429: 0x6ce7f620, 0x3b42a: 0x6ce7f820, 0x3b42b: 0x6ce7fa20,\n\t0x3b42c: 0x6ce7fc20, 0x3b42d: 0x6ce7fe20, 0x3b42e: 0x6ce80020, 0x3b42f: 0x6ce80220,\n\t0x3b430: 0x6d172220, 0x3b431: 0x6d172420, 0x3b432: 0x6d172620, 0x3b433: 0x6d172820,\n\t0x3b434: 0x6d172a20, 0x3b435: 0x6d172c20, 0x3b436: 0x6d172e20, 0x3b437: 0x6d457c20,\n\t0x3b438: 0x6d457e20, 0x3b439: 0x6d458020, 0x3b43a: 0x6d458220, 0x3b43b: 0x6d458420,\n\t0x3b43c: 0x6d458620, 0x3b43d: 0x6d458820, 0x3b43e: 0x6d458a20, 0x3b43f: 0x6d726420,\n\t// Block 0xed1, offset 0x3b440\n\t0x3b440: 0x6d458c20, 0x3b441: 0x6d458e20, 0x3b442: 0x6d459020, 0x3b443: 0x6d459220,\n\t0x3b444: 0x6d459420, 0x3b445: 0x6d459620, 0x3b446: 0x6d726620, 0x3b447: 0x6d459820,\n\t0x3b448: 0x6d459a20, 0x3b449: 0x6d459c20, 0x3b44a: 0x6d459e20, 0x3b44b: 0x6d45a020,\n\t0x3b44c: 0x6d45a220, 0x3b44d: 0x6d726820, 0x3b44e: 0x6d726a20, 0x3b44f: 0x6d726c20,\n\t0x3b450: 0x6d726e20, 0x3b451: 0x6d727020, 0x3b452: 0x6d727220, 0x3b453: 0x6d727420,\n\t0x3b454: 0x6d727620, 0x3b455: 0x6d727820, 0x3b456: 0x6d727a20, 0x3b457: 0x6d727c20,\n\t0x3b458: 0x6d727e20, 0x3b459: 0x6d728020, 0x3b45a: 0x6d728220, 0x3b45b: 0x6d728420,\n\t0x3b45c: 0x6d728620, 0x3b45d: 0x6d728820, 0x3b45e: 0x6d728a20, 0x3b45f: 0x6d728c20,\n\t0x3b460: 0x6d728e20, 0x3b461: 0x6d729020, 0x3b462: 0x6d729220, 0x3b463: 0x6d729420,\n\t0x3b464: 0x6d729620, 0x3b465: 0x6d729820, 0x3b466: 0x6d729a20, 0x3b467: 0x6d729c20,\n\t0x3b468: 0x6d729e20, 0x3b469: 0x6d72a020, 0x3b46a: 0x6d72a220, 0x3b46b: 0x6d72a420,\n\t0x3b46c: 0x6d72a620, 0x3b46d: 0x6d72a820, 0x3b46e: 0x6d9bde20, 0x3b46f: 0x6d9be020,\n\t0x3b470: 0x6d9be220, 0x3b471: 0x6d9be420, 0x3b472: 0x6d9be620, 0x3b473: 0x6d9be820,\n\t0x3b474: 0x6d9bea20, 0x3b475: 0x6d9bec20, 0x3b476: 0x6d9bee20, 0x3b477: 0x6d9bf020,\n\t0x3b478: 0x6d9bf220, 0x3b479: 0x6d9bf420, 0x3b47a: 0x6d9bf620, 0x3b47b: 0x6d9bf820,\n\t0x3b47c: 0x6d9bfa20, 0x3b47d: 0x6d9bfc20, 0x3b47e: 0x6d9bfe20, 0x3b47f: 0x6d9c0020,\n\t// Block 0xed2, offset 0x3b480\n\t0x3b480: 0x6d9c0220, 0x3b481: 0x6d9c0420, 0x3b482: 0x6d9c0620, 0x3b483: 0x6d9c0820,\n\t0x3b484: 0x6d9c0a20, 0x3b485: 0x6d9c0c20, 0x3b486: 0x6d9c0e20, 0x3b487: 0x6d9c1020,\n\t0x3b488: 0x6d9c1220, 0x3b489: 0x6d9c1420, 0x3b48a: 0x6d9c1620, 0x3b48b: 0x6d9c1820,\n\t0x3b48c: 0x6d9c1a20, 0x3b48d: 0x6d9c1c20, 0x3b48e: 0x6d9c1e20, 0x3b48f: 0x6d9c2020,\n\t0x3b490: 0x6d9c2220, 0x3b491: 0x6d9c2420, 0x3b492: 0x6d9c2620, 0x3b493: 0x6d9c2820,\n\t0x3b494: 0x6d9c2a20, 0x3b495: 0x6d9c2c20, 0x3b496: 0x6dbe9020, 0x3b497: 0x6dbe9220,\n\t0x3b498: 0x6dbe9420, 0x3b499: 0x6dbe9620, 0x3b49a: 0x6dbe9820, 0x3b49b: 0x6dbe9a20,\n\t0x3b49c: 0x6dbe9c20, 0x3b49d: 0x6dbe9e20, 0x3b49e: 0x6dbea020, 0x3b49f: 0x6dbea220,\n\t0x3b4a0: 0x6dbea420, 0x3b4a1: 0x6dbea620, 0x3b4a2: 0x6dbea820, 0x3b4a3: 0x6dbeaa20,\n\t0x3b4a4: 0x6dbeac20, 0x3b4a5: 0x6dbeae20, 0x3b4a6: 0x6dbeb020, 0x3b4a7: 0x6dbeb220,\n\t0x3b4a8: 0x6dbeb420, 0x3b4a9: 0x6dbeb620, 0x3b4aa: 0x6dbeb820, 0x3b4ab: 0x6dbeba20,\n\t0x3b4ac: 0x6dbebc20, 0x3b4ad: 0x6ddc4820, 0x3b4ae: 0x6ddc4a20, 0x3b4af: 0x6ddc4c20,\n\t0x3b4b0: 0x6ddc4e20, 0x3b4b1: 0x6ddc5020, 0x3b4b2: 0x6ddc5220, 0x3b4b3: 0x6ddc5420,\n\t0x3b4b4: 0x6ddc5620, 0x3b4b5: 0x6ddc5820, 0x3b4b6: 0x6ddc5a20, 0x3b4b7: 0x6ddc5c20,\n\t0x3b4b8: 0x6ddc5e20, 0x3b4b9: 0x6ddc6020, 0x3b4ba: 0x6ddc6220, 0x3b4bb: 0x6ddc6420,\n\t0x3b4bc: 0x6ddc6620, 0x3b4bd: 0x6ddc6820, 0x3b4be: 0x6ddc6a20, 0x3b4bf: 0x6ddc6c20,\n\t// Block 0xed3, offset 0x3b4c0\n\t0x3b4c0: 0x6ddc6e20, 0x3b4c1: 0x6ddc7020, 0x3b4c2: 0x6ddc7220, 0x3b4c3: 0x6ddc7420,\n\t0x3b4c4: 0x6ddc7620, 0x3b4c5: 0x6ddc7820, 0x3b4c6: 0x6ddc7a20, 0x3b4c7: 0x6ddc7c20,\n\t0x3b4c8: 0x6ddc7e20, 0x3b4c9: 0x6ddc8020, 0x3b4ca: 0x6ddc8220, 0x3b4cb: 0x6ddc8420,\n\t0x3b4cc: 0x6ddc8620, 0x3b4cd: 0x6ddc8820, 0x3b4ce: 0x6ddc8a20, 0x3b4cf: 0x6ddc8c20,\n\t0x3b4d0: 0x6ddc8e20, 0x3b4d1: 0x6ddc9020, 0x3b4d2: 0x6ddc9220, 0x3b4d3: 0x6ddc9420,\n\t0x3b4d4: 0x6ddc9620, 0x3b4d5: 0x6ddc9820, 0x3b4d6: 0x6ddc9a20, 0x3b4d7: 0x6df43420,\n\t0x3b4d8: 0x6df43620, 0x3b4d9: 0x6df43820, 0x3b4da: 0x6df43a20, 0x3b4db: 0x6df43c20,\n\t0x3b4dc: 0x6df43e20, 0x3b4dd: 0x6df44020, 0x3b4de: 0x6ddc9c20, 0x3b4df: 0x6df44220,\n\t0x3b4e0: 0x6df44420, 0x3b4e1: 0x6df44620, 0x3b4e2: 0x6df44820, 0x3b4e3: 0x6df44a20,\n\t0x3b4e4: 0x6df44c20, 0x3b4e5: 0x6df44e20, 0x3b4e6: 0x6df45020, 0x3b4e7: 0x6df45220,\n\t0x3b4e8: 0x6df45420, 0x3b4e9: 0x6df45620, 0x3b4ea: 0x6df45820, 0x3b4eb: 0x6df45a20,\n\t0x3b4ec: 0x6df45c20, 0x3b4ed: 0x6df45e20, 0x3b4ee: 0x6df46020, 0x3b4ef: 0x6df46220,\n\t0x3b4f0: 0x6df46420, 0x3b4f1: 0x6df46620, 0x3b4f2: 0x6df46820, 0x3b4f3: 0x6df46a20,\n\t0x3b4f4: 0x6df46c20, 0x3b4f5: 0x6df46e20, 0x3b4f6: 0x6df47020, 0x3b4f7: 0x6dbebe20,\n\t0x3b4f8: 0x6df47220, 0x3b4f9: 0x6df47420, 0x3b4fa: 0x6df47620, 0x3b4fb: 0x6df47820,\n\t0x3b4fc: 0x6df47a20, 0x3b4fd: 0x6e080620, 0x3b4fe: 0x6e080820, 0x3b4ff: 0x6e080a20,\n\t// Block 0xed4, offset 0x3b500\n\t0x3b500: 0x6e080c20, 0x3b501: 0x6e080e20, 0x3b502: 0x6e081020, 0x3b503: 0x6e081220,\n\t0x3b504: 0x6e081420, 0x3b505: 0x6e081620, 0x3b506: 0x6e081820, 0x3b507: 0x6e081a20,\n\t0x3b508: 0x6e081c20, 0x3b509: 0x6e081e20, 0x3b50a: 0x6e082020, 0x3b50b: 0x6e082220,\n\t0x3b50c: 0x6e082420, 0x3b50d: 0x6e082620, 0x3b50e: 0x6e082820, 0x3b50f: 0x6e082a20,\n\t0x3b510: 0x6e082c20, 0x3b511: 0x6e082e20, 0x3b512: 0x6e083020, 0x3b513: 0x6e083220,\n\t0x3b514: 0x6e083420, 0x3b515: 0x6e083620, 0x3b516: 0x6e083820, 0x3b517: 0x6e083a20,\n\t0x3b518: 0x6e083c20, 0x3b519: 0x6e083e20, 0x3b51a: 0x6e084020, 0x3b51b: 0x6e084220,\n\t0x3b51c: 0x6e084420, 0x3b51d: 0x6e084620, 0x3b51e: 0x6e084820, 0x3b51f: 0x6e084a20,\n\t0x3b520: 0x6e084c20, 0x3b521: 0x6e084e20, 0x3b522: 0x6e085020, 0x3b523: 0x6e085220,\n\t0x3b524: 0x6e085420, 0x3b525: 0x6e085620, 0x3b526: 0x6e085820, 0x3b527: 0x6e085a20,\n\t0x3b528: 0x6e085c20, 0x3b529: 0x6e085e20, 0x3b52a: 0x6e086020, 0x3b52b: 0x6e186220,\n\t0x3b52c: 0x6e186420, 0x3b52d: 0x6e186620, 0x3b52e: 0x6e186820, 0x3b52f: 0x6e186a20,\n\t0x3b530: 0x6e186c20, 0x3b531: 0x6e186e20, 0x3b532: 0x6e187020, 0x3b533: 0x6e187220,\n\t0x3b534: 0x6e187420, 0x3b535: 0x6e187620, 0x3b536: 0x6e187820, 0x3b537: 0x6e187a20,\n\t0x3b538: 0x6e187c20, 0x3b539: 0x6e187e20, 0x3b53a: 0x6e188020, 0x3b53b: 0x6e188220,\n\t0x3b53c: 0x6e188420, 0x3b53d: 0x6e188620, 0x3b53e: 0x6e188820, 0x3b53f: 0x6e188a20,\n\t// Block 0xed5, offset 0x3b540\n\t0x3b540: 0x6e188c20, 0x3b541: 0x6e188e20, 0x3b542: 0x6e250a20, 0x3b543: 0x6e250c20,\n\t0x3b544: 0x6e250e20, 0x3b545: 0x6e251020, 0x3b546: 0x6e251220, 0x3b547: 0x6e251420,\n\t0x3b548: 0x6e251620, 0x3b549: 0x6e251820, 0x3b54a: 0x6e251a20, 0x3b54b: 0x6e251c20,\n\t0x3b54c: 0x6e251e20, 0x3b54d: 0x6e252020, 0x3b54e: 0x6e252220, 0x3b54f: 0x6e252420,\n\t0x3b550: 0x6e252620, 0x3b551: 0x6e252820, 0x3b552: 0x6e252a20, 0x3b553: 0x6e252c20,\n\t0x3b554: 0x6e252e20, 0x3b555: 0x6e253020, 0x3b556: 0x6e253220, 0x3b557: 0x6e253420,\n\t0x3b558: 0x6e253620, 0x3b559: 0x6e253820, 0x3b55a: 0x6e253a20, 0x3b55b: 0x6e253c20,\n\t0x3b55c: 0x6e253e20, 0x3b55d: 0x6e254020, 0x3b55e: 0x6e2eb220, 0x3b55f: 0x6e2eb420,\n\t0x3b560: 0x6e2eb620, 0x3b561: 0x6e2eb820, 0x3b562: 0x6e2eba20, 0x3b563: 0x6e2ebc20,\n\t0x3b564: 0x6e2ebe20, 0x3b565: 0x6e2ec020, 0x3b566: 0x6e2ec220, 0x3b567: 0x6e2ec420,\n\t0x3b568: 0x6e2ec620, 0x3b569: 0x6e2ec820, 0x3b56a: 0x6e2eca20, 0x3b56b: 0x6e2ecc20,\n\t0x3b56c: 0x6e2ece20, 0x3b56d: 0x6e2ed020, 0x3b56e: 0x6e2ed220, 0x3b56f: 0x6e2ed420,\n\t0x3b570: 0x6e2ed620, 0x3b571: 0x6e2ed820, 0x3b572: 0x6e2eda20, 0x3b573: 0x6e2edc20,\n\t0x3b574: 0x6e2ede20, 0x3b575: 0x6e2ee020, 0x3b576: 0x6e362820, 0x3b577: 0x6e362a20,\n\t0x3b578: 0x6e362c20, 0x3b579: 0x6e362e20, 0x3b57a: 0x6e363020, 0x3b57b: 0x6e363220,\n\t0x3b57c: 0x6e363420, 0x3b57d: 0x6e363620, 0x3b57e: 0x6e363820, 0x3b57f: 0x6e363a20,\n\t// Block 0xed6, offset 0x3b580\n\t0x3b580: 0x6e363c20, 0x3b581: 0x6e363e20, 0x3b582: 0x6e3b5820, 0x3b583: 0x6e3b5a20,\n\t0x3b584: 0x6e3b5c20, 0x3b585: 0x6e3b5e20, 0x3b586: 0x6e3b6020, 0x3b587: 0x6e3b6220,\n\t0x3b588: 0x6e3b6420, 0x3b589: 0x6e3b6620, 0x3b58a: 0x6e3b6820, 0x3b58b: 0x6e3b6a20,\n\t0x3b58c: 0x6e3b6c20, 0x3b58d: 0x6e3b6e20, 0x3b58e: 0x6e3b7020, 0x3b58f: 0x6e3f1c20,\n\t0x3b590: 0x6e3f1e20, 0x3b591: 0x6e3f2020, 0x3b592: 0x6e3f2220, 0x3b593: 0x6e3f2420,\n\t0x3b594: 0x6e41ac20, 0x3b595: 0x6e41ae20, 0x3b596: 0x6e41b020, 0x3b597: 0x6e41b220,\n\t0x3b598: 0x6e437e20, 0x3b599: 0x6e438020, 0x3b59a: 0x6e438220, 0x3b59b: 0x6e438420,\n\t0x3b59c: 0x6e438620, 0x3b59d: 0x6e438820, 0x3b59e: 0x6e438a20, 0x3b59f: 0x6e44c420,\n\t0x3b5a0: 0x6e44c620, 0x3b5a1: 0x6e457820, 0x3b5a2: 0x6e457a20, 0x3b5a3: 0x6e45ec20,\n\t0x3b5a4: 0x6e45ee20, 0x3b5a5: 0x6e46f420, 0x3b5a6: 0x6c28a020, 0x3b5a7: 0x6c42c620,\n\t0x3b5a8: 0x6c42c820, 0x3b5a9: 0x6c42ca20, 0x3b5aa: 0x6c42cc20, 0x3b5ab: 0x6c42ce20,\n\t0x3b5ac: 0x6c42d020, 0x3b5ad: 0x6c42d220, 0x3b5ae: 0x6c639620, 0x3b5af: 0x6c42d420,\n\t0x3b5b0: 0x6c639820, 0x3b5b1: 0x6c639a20, 0x3b5b2: 0x6c639c20, 0x3b5b3: 0x6c639e20,\n\t0x3b5b4: 0x6c63a020, 0x3b5b5: 0x6c63a220, 0x3b5b6: 0x6c63a420, 0x3b5b7: 0x6c8aa020,\n\t0x3b5b8: 0x6c8aa220, 0x3b5b9: 0x6c8aa420, 0x3b5ba: 0x6c8aa620, 0x3b5bb: 0x6cb72220,\n\t0x3b5bc: 0x6cb72420, 0x3b5bd: 0x6cb72620, 0x3b5be: 0x6ce80e20, 0x3b5bf: 0x6ce81020,\n\t// Block 0xed7, offset 0x3b5c0\n\t0x3b5c0: 0x6ce81220, 0x3b5c1: 0x6ce81420, 0x3b5c2: 0x6ce81620, 0x3b5c3: 0x6ce81820,\n\t0x3b5c4: 0x6d173a20, 0x3b5c5: 0x6ce81a20, 0x3b5c6: 0x6ce81c20, 0x3b5c7: 0x6ce81e20,\n\t0x3b5c8: 0x6ce82020, 0x3b5c9: 0x6ce82220, 0x3b5ca: 0x6ce82420, 0x3b5cb: 0x6d173c20,\n\t0x3b5cc: 0x6d173e20, 0x3b5cd: 0x6d174020, 0x3b5ce: 0x6d72ac20, 0x3b5cf: 0x6d72ae20,\n\t0x3b5d0: 0x6ddca620, 0x3b5d1: 0x6cb73020, 0x3b5d2: 0x6cb73220, 0x3b5d3: 0x6cb73420,\n\t0x3b5d4: 0x6ce82e20, 0x3b5d5: 0x6ce83020, 0x3b5d6: 0x6ce83220, 0x3b5d7: 0x6ce83420,\n\t0x3b5d8: 0x6ce83620, 0x3b5d9: 0x6ce83820, 0x3b5da: 0x6ce83a20, 0x3b5db: 0x6ce83c20,\n\t0x3b5dc: 0x6d175220, 0x3b5dd: 0x6d175420, 0x3b5de: 0x6d175620, 0x3b5df: 0x6d175820,\n\t0x3b5e0: 0x6d175a20, 0x3b5e1: 0x6d175c20, 0x3b5e2: 0x6d175e20, 0x3b5e3: 0x6d176020,\n\t0x3b5e4: 0x6d176220, 0x3b5e5: 0x6d176420, 0x3b5e6: 0x6d176620, 0x3b5e7: 0x6d176820,\n\t0x3b5e8: 0x6d176a20, 0x3b5e9: 0x6d176c20, 0x3b5ea: 0x6d176e20, 0x3b5eb: 0x6d177020,\n\t0x3b5ec: 0x6d45c220, 0x3b5ed: 0x6d45c420, 0x3b5ee: 0x6d45c620, 0x3b5ef: 0x6d45c820,\n\t0x3b5f0: 0x6d45ca20, 0x3b5f1: 0x6d45cc20, 0x3b5f2: 0x6d45ce20, 0x3b5f3: 0x6d45d020,\n\t0x3b5f4: 0x6d45d220, 0x3b5f5: 0x6d45d420, 0x3b5f6: 0x6d45d620, 0x3b5f7: 0x6d45d820,\n\t0x3b5f8: 0x6d45da20, 0x3b5f9: 0x6d45dc20, 0x3b5fa: 0x6d45de20, 0x3b5fb: 0x6d45e020,\n\t0x3b5fc: 0x6d45e220, 0x3b5fd: 0x6d72c820, 0x3b5fe: 0x6d72ca20, 0x3b5ff: 0x6d72cc20,\n\t// Block 0xed8, offset 0x3b600\n\t0x3b600: 0x6d72ce20, 0x3b601: 0x6d72d020, 0x3b602: 0x6d72d220, 0x3b603: 0x6d72d420,\n\t0x3b604: 0x6d72d620, 0x3b605: 0x6d72d820, 0x3b606: 0x6d72da20, 0x3b607: 0x6d72dc20,\n\t0x3b608: 0x6d72de20, 0x3b609: 0x6d9c4c20, 0x3b60a: 0x6d9c4e20, 0x3b60b: 0x6d9c5020,\n\t0x3b60c: 0x6d9c5220, 0x3b60d: 0x6d9c5420, 0x3b60e: 0x6d9c5620, 0x3b60f: 0x6d9c5820,\n\t0x3b610: 0x6d9c5a20, 0x3b611: 0x6d9c5c20, 0x3b612: 0x6d9c5e20, 0x3b613: 0x6d9c6020,\n\t0x3b614: 0x6d9c6220, 0x3b615: 0x6d9c6420, 0x3b616: 0x6d9c6620, 0x3b617: 0x6dbed620,\n\t0x3b618: 0x6dbed820, 0x3b619: 0x6dbeda20, 0x3b61a: 0x6dbedc20, 0x3b61b: 0x6dbede20,\n\t0x3b61c: 0x6dbee020, 0x3b61d: 0x6dbee220, 0x3b61e: 0x6dbee420, 0x3b61f: 0x6dbee620,\n\t0x3b620: 0x6dbee820, 0x3b621: 0x6dbeea20, 0x3b622: 0x6dbeec20, 0x3b623: 0x6dbeee20,\n\t0x3b624: 0x6dbef020, 0x3b625: 0x6dbef220, 0x3b626: 0x6dbef420, 0x3b627: 0x6dbef620,\n\t0x3b628: 0x6dbef820, 0x3b629: 0x6dbefa20, 0x3b62a: 0x6dbefc20, 0x3b62b: 0x6dbefe20,\n\t0x3b62c: 0x6dbf0020, 0x3b62d: 0x6ddcb020, 0x3b62e: 0x6ddcb220, 0x3b62f: 0x6ddcb420,\n\t0x3b630: 0x6ddcb620, 0x3b631: 0x6ddcb820, 0x3b632: 0x6ddcba20, 0x3b633: 0x6ddcbc20,\n\t0x3b634: 0x6ddcbe20, 0x3b635: 0x6ddcc020, 0x3b636: 0x6ddcc220, 0x3b637: 0x6ddcc420,\n\t0x3b638: 0x6ddcc620, 0x3b639: 0x6ddcc820, 0x3b63a: 0x6ddcca20, 0x3b63b: 0x6ddccc20,\n\t0x3b63c: 0x6ddcce20, 0x3b63d: 0x6ddcd020, 0x3b63e: 0x6ddcd220, 0x3b63f: 0x6ddcd420,\n\t// Block 0xed9, offset 0x3b640\n\t0x3b640: 0x6df49220, 0x3b641: 0x6df49420, 0x3b642: 0x6df49620, 0x3b643: 0x6df49820,\n\t0x3b644: 0x6df49a20, 0x3b645: 0x6df49c20, 0x3b646: 0x6df49e20, 0x3b647: 0x6df4a020,\n\t0x3b648: 0x6df4a220, 0x3b649: 0x6e088420, 0x3b64a: 0x6e088620, 0x3b64b: 0x6e088820,\n\t0x3b64c: 0x6e088a20, 0x3b64d: 0x6e088c20, 0x3b64e: 0x6e088e20, 0x3b64f: 0x6e089020,\n\t0x3b650: 0x6e089220, 0x3b651: 0x6e089420, 0x3b652: 0x6e089620, 0x3b653: 0x6e089820,\n\t0x3b654: 0x6e089a20, 0x3b655: 0x6e089c20, 0x3b656: 0x6e089e20, 0x3b657: 0x6e189a20,\n\t0x3b658: 0x6e189c20, 0x3b659: 0x6e189e20, 0x3b65a: 0x6e18a020, 0x3b65b: 0x6e18a220,\n\t0x3b65c: 0x6e18a420, 0x3b65d: 0x6e18a620, 0x3b65e: 0x6e18a820, 0x3b65f: 0x6e18aa20,\n\t0x3b660: 0x6e254a20, 0x3b661: 0x6e254c20, 0x3b662: 0x6e254e20, 0x3b663: 0x6e255020,\n\t0x3b664: 0x6e255220, 0x3b665: 0x6e255420, 0x3b666: 0x6e255620, 0x3b667: 0x6e255820,\n\t0x3b668: 0x6e255a20, 0x3b669: 0x6e255c20, 0x3b66a: 0x6e255e20, 0x3b66b: 0x6e256020,\n\t0x3b66c: 0x6e2eec20, 0x3b66d: 0x6e2eee20, 0x3b66e: 0x6e2ef020, 0x3b66f: 0x6e2ef220,\n\t0x3b670: 0x6e2ef420, 0x3b671: 0x6e2ef620, 0x3b672: 0x6e364620, 0x3b673: 0x6e364820,\n\t0x3b674: 0x6e364a20, 0x3b675: 0x6e364c20, 0x3b676: 0x6e364e20, 0x3b677: 0x6e3b7620,\n\t0x3b678: 0x6e3b7820, 0x3b679: 0x6e3b7a20, 0x3b67a: 0x6e3b7c20, 0x3b67b: 0x6e3f2a20,\n\t0x3b67c: 0x6e41b620, 0x3b67d: 0x6e41b820, 0x3b67e: 0x6e438c20, 0x3b67f: 0x6d177420,\n\t// Block 0xeda, offset 0x3b680\n\t0x3b680: 0x6d177620, 0x3b681: 0x6d45e820, 0x3b682: 0x6d45ea20, 0x3b683: 0x6d45ec20,\n\t0x3b684: 0x6d45ee20, 0x3b685: 0x6d45f020, 0x3b686: 0x6d45f220, 0x3b687: 0x6d45f420,\n\t0x3b688: 0x6d45f620, 0x3b689: 0x6d45f820, 0x3b68a: 0x6d72e420, 0x3b68b: 0x6d72e620,\n\t0x3b68c: 0x6d72e820, 0x3b68d: 0x6d72ea20, 0x3b68e: 0x6d9c6a20, 0x3b68f: 0x6d9c6c20,\n\t0x3b690: 0x6d9c6e20, 0x3b691: 0x6d9c7020, 0x3b692: 0x6d9c7220, 0x3b693: 0x6d9c7420,\n\t0x3b694: 0x6d9c7620, 0x3b695: 0x6dbf0220, 0x3b696: 0x6dbf0420, 0x3b697: 0x6dbf0620,\n\t0x3b698: 0x6dbf0820, 0x3b699: 0x6dbf0a20, 0x3b69a: 0x6ddcdc20, 0x3b69b: 0x6ddcde20,\n\t0x3b69c: 0x6ddce020, 0x3b69d: 0x6ddce220, 0x3b69e: 0x6df4a620, 0x3b69f: 0x6df4a820,\n\t0x3b6a0: 0x6e08a020, 0x3b6a1: 0x6e08a220, 0x3b6a2: 0x6e08a420, 0x3b6a3: 0x6e08a620,\n\t0x3b6a4: 0x6e08a820, 0x3b6a5: 0x6e18ac20, 0x3b6a6: 0x6e18ae20, 0x3b6a7: 0x6e256620,\n\t0x3b6a8: 0x6e2efa20, 0x3b6a9: 0x6e2efc20, 0x3b6aa: 0x6e2efe20, 0x3b6ab: 0x6e365020,\n\t0x3b6ac: 0x6e365220, 0x3b6ad: 0x6e3b8020, 0x3b6ae: 0x6e3f2c20, 0x3b6af: 0x6e3f2e20,\n\t0x3b6b0: 0x6e41ba20, 0x3b6b1: 0x6e41bc20, 0x3b6b2: 0x6e438e20, 0x3b6b3: 0x6e45f020,\n\t0x3b6b4: 0x6ce84820, 0x3b6b5: 0x6ce84a20, 0x3b6b6: 0x6ce84c20, 0x3b6b7: 0x6ce84e20,\n\t0x3b6b8: 0x6ce85020, 0x3b6b9: 0x6d177c20, 0x3b6ba: 0x6d177e20, 0x3b6bb: 0x6d178020,\n\t0x3b6bc: 0x6d178220, 0x3b6bd: 0x6d178420, 0x3b6be: 0x6d178620, 0x3b6bf: 0x6d461620,\n\t// Block 0xedb, offset 0x3b6c0\n\t0x3b6c0: 0x6d461820, 0x3b6c1: 0x6d461a20, 0x3b6c2: 0x6d461c20, 0x3b6c3: 0x6d461e20,\n\t0x3b6c4: 0x6d462020, 0x3b6c5: 0x6d462220, 0x3b6c6: 0x6d462420, 0x3b6c7: 0x6d462620,\n\t0x3b6c8: 0x6d462820, 0x3b6c9: 0x6d462a20, 0x3b6ca: 0x6d462c20, 0x3b6cb: 0x6d462e20,\n\t0x3b6cc: 0x6d463020, 0x3b6cd: 0x6d463220, 0x3b6ce: 0x6d463420, 0x3b6cf: 0x6d463620,\n\t0x3b6d0: 0x6d463820, 0x3b6d1: 0x6d730420, 0x3b6d2: 0x6d730620, 0x3b6d3: 0x6d730820,\n\t0x3b6d4: 0x6d730a20, 0x3b6d5: 0x6d730c20, 0x3b6d6: 0x6d730e20, 0x3b6d7: 0x6d731020,\n\t0x3b6d8: 0x6d731220, 0x3b6d9: 0x6d731420, 0x3b6da: 0x6d731620, 0x3b6db: 0x6d731820,\n\t0x3b6dc: 0x6d731a20, 0x3b6dd: 0x6d731c20, 0x3b6de: 0x6d731e20, 0x3b6df: 0x6d732020,\n\t0x3b6e0: 0x6d732220, 0x3b6e1: 0x6d732420, 0x3b6e2: 0x6d732620, 0x3b6e3: 0x6d732820,\n\t0x3b6e4: 0x6d732a20, 0x3b6e5: 0x6d732c20, 0x3b6e6: 0x6d732e20, 0x3b6e7: 0x6d733020,\n\t0x3b6e8: 0x6d733220, 0x3b6e9: 0x6d733420, 0x3b6ea: 0x6d733620, 0x3b6eb: 0x6d733820,\n\t0x3b6ec: 0x6d733a20, 0x3b6ed: 0x6d733c20, 0x3b6ee: 0x6d733e20, 0x3b6ef: 0x6d734020,\n\t0x3b6f0: 0x6d9c9020, 0x3b6f1: 0x6d9c9220, 0x3b6f2: 0x6d9c9420, 0x3b6f3: 0x6d9c9620,\n\t0x3b6f4: 0x6d9c9820, 0x3b6f5: 0x6d9c9a20, 0x3b6f6: 0x6d9c9c20, 0x3b6f7: 0x6d9c9e20,\n\t0x3b6f8: 0x6d9ca020, 0x3b6f9: 0x6d9ca220, 0x3b6fa: 0x6d9ca420, 0x3b6fb: 0x6d9ca620,\n\t0x3b6fc: 0x6d9ca820, 0x3b6fd: 0x6d9caa20, 0x3b6fe: 0x6d9cac20, 0x3b6ff: 0x6d9cae20,\n\t// Block 0xedc, offset 0x3b700\n\t0x3b700: 0x6d9cb020, 0x3b701: 0x6d9cb220, 0x3b702: 0x6d9cb420, 0x3b703: 0x6d9cb620,\n\t0x3b704: 0x6d9cb820, 0x3b705: 0x6d9cba20, 0x3b706: 0x6d9cbc20, 0x3b707: 0x6dbf2220,\n\t0x3b708: 0x6dbf2420, 0x3b709: 0x6dbf2620, 0x3b70a: 0x6dbf2820, 0x3b70b: 0x6dbf2a20,\n\t0x3b70c: 0x6dbf2c20, 0x3b70d: 0x6dbf2e20, 0x3b70e: 0x6dbf3020, 0x3b70f: 0x6dbf3220,\n\t0x3b710: 0x6dbf3420, 0x3b711: 0x6dbf3620, 0x3b712: 0x6dbf3820, 0x3b713: 0x6dbf3a20,\n\t0x3b714: 0x6dbf3c20, 0x3b715: 0x6dbf3e20, 0x3b716: 0x6dbf4020, 0x3b717: 0x6dbf4220,\n\t0x3b718: 0x6dbf4420, 0x3b719: 0x6dbf4620, 0x3b71a: 0x6dbf4820, 0x3b71b: 0x6dbf4a20,\n\t0x3b71c: 0x6dbf4c20, 0x3b71d: 0x6dbf4e20, 0x3b71e: 0x6ddcfc20, 0x3b71f: 0x6ddcfe20,\n\t0x3b720: 0x6ddd0020, 0x3b721: 0x6ddd0220, 0x3b722: 0x6ddd0420, 0x3b723: 0x6ddd0620,\n\t0x3b724: 0x6ddd0820, 0x3b725: 0x6ddd0a20, 0x3b726: 0x6ddd0c20, 0x3b727: 0x6ddd0e20,\n\t0x3b728: 0x6ddd1020, 0x3b729: 0x6ddd1220, 0x3b72a: 0x6ddd1420, 0x3b72b: 0x6ddd1620,\n\t0x3b72c: 0x6ddd1820, 0x3b72d: 0x6ddd1a20, 0x3b72e: 0x6ddd1c20, 0x3b72f: 0x6ddd1e20,\n\t0x3b730: 0x6ddd2020, 0x3b731: 0x6ddd2220, 0x3b732: 0x6ddd2420, 0x3b733: 0x6ddd2620,\n\t0x3b734: 0x6ddd2820, 0x3b735: 0x6ddd2a20, 0x3b736: 0x6ddd2c20, 0x3b737: 0x6ddd2e20,\n\t0x3b738: 0x6ddd3020, 0x3b739: 0x6ddd3220, 0x3b73a: 0x6df4c020, 0x3b73b: 0x6df4c220,\n\t0x3b73c: 0x6df4c420, 0x3b73d: 0x6df4c620, 0x3b73e: 0x6df4c820, 0x3b73f: 0x6df4ca20,\n\t// Block 0xedd, offset 0x3b740\n\t0x3b740: 0x6df4cc20, 0x3b741: 0x6df4ce20, 0x3b742: 0x6df4d020, 0x3b743: 0x6df4d220,\n\t0x3b744: 0x6df4d420, 0x3b745: 0x6df4d620, 0x3b746: 0x6df4d820, 0x3b747: 0x6df4da20,\n\t0x3b748: 0x6df4dc20, 0x3b749: 0x6df4de20, 0x3b74a: 0x6df4e020, 0x3b74b: 0x6df4e220,\n\t0x3b74c: 0x6df4e420, 0x3b74d: 0x6df4e620, 0x3b74e: 0x6df4e820, 0x3b74f: 0x6df4ea20,\n\t0x3b750: 0x6df4ec20, 0x3b751: 0x6df4ee20, 0x3b752: 0x6df4f020, 0x3b753: 0x6df4f220,\n\t0x3b754: 0x6df4f420, 0x3b755: 0x6df4f620, 0x3b756: 0x6e08ba20, 0x3b757: 0x6e08bc20,\n\t0x3b758: 0x6e08be20, 0x3b759: 0x6e08c020, 0x3b75a: 0x6e08c220, 0x3b75b: 0x6e08c420,\n\t0x3b75c: 0x6e08c620, 0x3b75d: 0x6e08c820, 0x3b75e: 0x6e08ca20, 0x3b75f: 0x6e08cc20,\n\t0x3b760: 0x6e08ce20, 0x3b761: 0x6e08d020, 0x3b762: 0x6e08d220, 0x3b763: 0x6e08d420,\n\t0x3b764: 0x6e08d620, 0x3b765: 0x6e08d820, 0x3b766: 0x6e08da20, 0x3b767: 0x6e08dc20,\n\t0x3b768: 0x6e08de20, 0x3b769: 0x6e08e020, 0x3b76a: 0x6e08e220, 0x3b76b: 0x6e08e420,\n\t0x3b76c: 0x6e08e620, 0x3b76d: 0x6e08e820, 0x3b76e: 0x6e08ea20, 0x3b76f: 0x6e18be20,\n\t0x3b770: 0x6e18c020, 0x3b771: 0x6e18c220, 0x3b772: 0x6e18c420, 0x3b773: 0x6e18c620,\n\t0x3b774: 0x6e18c820, 0x3b775: 0x6e18ca20, 0x3b776: 0x6e18cc20, 0x3b777: 0x6e18ce20,\n\t0x3b778: 0x6e18d020, 0x3b779: 0x6e18d220, 0x3b77a: 0x6e18d420, 0x3b77b: 0x6e18d620,\n\t0x3b77c: 0x6e18d820, 0x3b77d: 0x6e18da20, 0x3b77e: 0x6e18dc20, 0x3b77f: 0x6e18de20,\n\t// Block 0xede, offset 0x3b780\n\t0x3b780: 0x6e18e020, 0x3b781: 0x6e18e220, 0x3b782: 0x6e18e420, 0x3b783: 0x6e257420,\n\t0x3b784: 0x6e257620, 0x3b785: 0x6e257820, 0x3b786: 0x6e257a20, 0x3b787: 0x6e257c20,\n\t0x3b788: 0x6e257e20, 0x3b789: 0x6e258020, 0x3b78a: 0x6e258220, 0x3b78b: 0x6e258420,\n\t0x3b78c: 0x6e258620, 0x3b78d: 0x6e258820, 0x3b78e: 0x6e258a20, 0x3b78f: 0x6e258c20,\n\t0x3b790: 0x6e258e20, 0x3b791: 0x6e259020, 0x3b792: 0x6e259220, 0x3b793: 0x6e259420,\n\t0x3b794: 0x6e259620, 0x3b795: 0x6e259820, 0x3b796: 0x6e259a20, 0x3b797: 0x6e259c20,\n\t0x3b798: 0x6e259e20, 0x3b799: 0x6e25a020, 0x3b79a: 0x6e25a220, 0x3b79b: 0x6e2f0620,\n\t0x3b79c: 0x6e2f0820, 0x3b79d: 0x6e2f0a20, 0x3b79e: 0x6e2f0c20, 0x3b79f: 0x6e2f0e20,\n\t0x3b7a0: 0x6e2f1020, 0x3b7a1: 0x6e2f1220, 0x3b7a2: 0x6e2f1420, 0x3b7a3: 0x6e2f1620,\n\t0x3b7a4: 0x6e2f1820, 0x3b7a5: 0x6e2f1a20, 0x3b7a6: 0x6e366020, 0x3b7a7: 0x6e366220,\n\t0x3b7a8: 0x6e366420, 0x3b7a9: 0x6e366620, 0x3b7aa: 0x6e366820, 0x3b7ab: 0x6e366a20,\n\t0x3b7ac: 0x6e366c20, 0x3b7ad: 0x6e366e20, 0x3b7ae: 0x6e367020, 0x3b7af: 0x6e367220,\n\t0x3b7b0: 0x6e3b8820, 0x3b7b1: 0x6e3b8a20, 0x3b7b2: 0x6e3b8c20, 0x3b7b3: 0x6e3b8e20,\n\t0x3b7b4: 0x6e3b9020, 0x3b7b5: 0x6e3b9220, 0x3b7b6: 0x6e3b9420, 0x3b7b7: 0x6e3b9620,\n\t0x3b7b8: 0x6e3b9820, 0x3b7b9: 0x6e3b9a20, 0x3b7ba: 0x6e3f3220, 0x3b7bb: 0x6e3f3420,\n\t0x3b7bc: 0x6e3f3620, 0x3b7bd: 0x6e3f3820, 0x3b7be: 0x6e3f3a20, 0x3b7bf: 0x6e3f3c20,\n\t// Block 0xedf, offset 0x3b7c0\n\t0x3b7c0: 0x6e3f3e20, 0x3b7c1: 0x6e41c020, 0x3b7c2: 0x6e41c220, 0x3b7c3: 0x6e41c420,\n\t0x3b7c4: 0x6e41c620, 0x3b7c5: 0x6e439020, 0x3b7c6: 0x6e439220, 0x3b7c7: 0x6e439420,\n\t0x3b7c8: 0x6e45f220, 0x3b7c9: 0x6e465420, 0x3b7ca: 0x6c8ab620, 0x3b7cb: 0x6c8ab820,\n\t0x3b7cc: 0x6d178c20, 0x3b7cd: 0x6d463e20, 0x3b7ce: 0x6d464020, 0x3b7cf: 0x6d464220,\n\t0x3b7d0: 0x6d734620, 0x3b7d1: 0x6d9cc220, 0x3b7d2: 0x6dbf5420, 0x3b7d3: 0x6ddd3a20,\n\t0x3b7d4: 0x6ddd3c20, 0x3b7d5: 0x6e08f020, 0x3b7d6: 0x6e18ea20, 0x3b7d7: 0x6e18ec20,\n\t0x3b7d8: 0x6e18ee20, 0x3b7d9: 0x6e25a620, 0x3b7da: 0x6e25a820, 0x3b7db: 0x6e2f1c20,\n\t0x3b7dc: 0x6e367820, 0x3b7dd: 0x6e367a20, 0x3b7de: 0x6e367c20, 0x3b7df: 0x6e439620,\n\t0x3b7e0: 0x6d734820, 0x3b7e1: 0x6d734a20, 0x3b7e2: 0x6d9cc420, 0x3b7e3: 0x6ddd3e20,\n\t0x3b7e4: 0x6e08f220, 0x3b7e5: 0x6e18f020, 0x3b7e6: 0x6e18f220, 0x3b7e7: 0x6e25aa20,\n\t0x3b7e8: 0x6e2f1e20, 0x3b7e9: 0x6e41cc20, 0x3b7ea: 0x6e439820, 0x3b7eb: 0x6d178e20,\n\t0x3b7ec: 0x6d179020, 0x3b7ed: 0x6d464820, 0x3b7ee: 0x6d464a20, 0x3b7ef: 0x6d734e20,\n\t0x3b7f0: 0x6d735020, 0x3b7f1: 0x6d9cca20, 0x3b7f2: 0x6d9ccc20, 0x3b7f3: 0x6d9cce20,\n\t0x3b7f4: 0x6d9cd020, 0x3b7f5: 0x6d9cd220, 0x3b7f6: 0x6d9cd420, 0x3b7f7: 0x6d9cd620,\n\t0x3b7f8: 0x6d9cd820, 0x3b7f9: 0x6dbf5820, 0x3b7fa: 0x6dbf5a20, 0x3b7fb: 0x6dbf5c20,\n\t0x3b7fc: 0x6dbf5e20, 0x3b7fd: 0x6dbf6020, 0x3b7fe: 0x6ddd4420, 0x3b7ff: 0x6ddd4620,\n\t// Block 0xee0, offset 0x3b800\n\t0x3b800: 0x6ddd4820, 0x3b801: 0x6ddd4a20, 0x3b802: 0x6ddd4c20, 0x3b803: 0x6df4fc20,\n\t0x3b804: 0x6df4fe20, 0x3b805: 0x6df50020, 0x3b806: 0x6df50220, 0x3b807: 0x6e08f620,\n\t0x3b808: 0x6e08f820, 0x3b809: 0x6e08fa20, 0x3b80a: 0x6e08fc20, 0x3b80b: 0x6e08fe20,\n\t0x3b80c: 0x6e18f820, 0x3b80d: 0x6e18fa20, 0x3b80e: 0x6e18fc20, 0x3b80f: 0x6e18fe20,\n\t0x3b810: 0x6e190020, 0x3b811: 0x6e190220, 0x3b812: 0x6e25b020, 0x3b813: 0x6e25b220,\n\t0x3b814: 0x6e25b420, 0x3b815: 0x6e25b620, 0x3b816: 0x6e2f2020, 0x3b817: 0x6e2f2220,\n\t0x3b818: 0x6e2f2420, 0x3b819: 0x6e2f2620, 0x3b81a: 0x6e2f2820, 0x3b81b: 0x6e2f2a20,\n\t0x3b81c: 0x6e2f2c20, 0x3b81d: 0x6e2f2e20, 0x3b81e: 0x6e2f3020, 0x3b81f: 0x6e2f3220,\n\t0x3b820: 0x6e367e20, 0x3b821: 0x6e368020, 0x3b822: 0x6e368220, 0x3b823: 0x6e368420,\n\t0x3b824: 0x6e3ba020, 0x3b825: 0x6e3ba220, 0x3b826: 0x6e3f4020, 0x3b827: 0x6e3f4220,\n\t0x3b828: 0x6e3f4420, 0x3b829: 0x6e3f4620, 0x3b82a: 0x6e3f4820, 0x3b82b: 0x6e41ce20,\n\t0x3b82c: 0x6e41d020, 0x3b82d: 0x6e439a20, 0x3b82e: 0x6e439c20, 0x3b82f: 0x6e44cc20,\n\t0x3b830: 0x6e44ce20, 0x3b831: 0x6e457c20, 0x3b832: 0x6e457e20, 0x3b833: 0x6e458020,\n\t0x3b834: 0x6e45f420, 0x3b835: 0x6e45f620, 0x3b836: 0x6e465620, 0x3b837: 0x6e470e20,\n\t0x3b838: 0x6e471020, 0x3b839: 0x6cb73a20, 0x3b83a: 0x6cb73c20, 0x3b83b: 0x6cb73e20,\n\t0x3b83c: 0x6cb74020, 0x3b83d: 0x6ce85220, 0x3b83e: 0x6ce85420, 0x3b83f: 0x6ce85620,\n\t// Block 0xee1, offset 0x3b840\n\t0x3b840: 0x6ce85820, 0x3b841: 0x6ce85a20, 0x3b842: 0x6ce85c20, 0x3b843: 0x6ce85e20,\n\t0x3b844: 0x6ce86020, 0x3b845: 0x6ce86220, 0x3b846: 0x6ce86420, 0x3b847: 0x6ce86620,\n\t0x3b848: 0x6ce86820, 0x3b849: 0x6ce86a20, 0x3b84a: 0x6d179420, 0x3b84b: 0x6d179620,\n\t0x3b84c: 0x6d179820, 0x3b84d: 0x6d179a20, 0x3b84e: 0x6d179c20, 0x3b84f: 0x6d179e20,\n\t0x3b850: 0x6d17a020, 0x3b851: 0x6d17a220, 0x3b852: 0x6d17a420, 0x3b853: 0x6d17a620,\n\t0x3b854: 0x6d17a820, 0x3b855: 0x6d17aa20, 0x3b856: 0x6d17ac20, 0x3b857: 0x6d17ae20,\n\t0x3b858: 0x6d17b020, 0x3b859: 0x6d17b220, 0x3b85a: 0x6d17b420, 0x3b85b: 0x6d17b620,\n\t0x3b85c: 0x6d17b820, 0x3b85d: 0x6d17ba20, 0x3b85e: 0x6d17bc20, 0x3b85f: 0x6d17be20,\n\t0x3b860: 0x6d17c020, 0x3b861: 0x6d465a20, 0x3b862: 0x6d465c20, 0x3b863: 0x6d465e20,\n\t0x3b864: 0x6d466020, 0x3b865: 0x6d466220, 0x3b866: 0x6d466420, 0x3b867: 0x6d466620,\n\t0x3b868: 0x6d466820, 0x3b869: 0x6d466a20, 0x3b86a: 0x6d466c20, 0x3b86b: 0x6d466e20,\n\t0x3b86c: 0x6d467020, 0x3b86d: 0x6d467220, 0x3b86e: 0x6d467420, 0x3b86f: 0x6d467620,\n\t0x3b870: 0x6d467820, 0x3b871: 0x6d467a20, 0x3b872: 0x6d467c20, 0x3b873: 0x6d467e20,\n\t0x3b874: 0x6d468020, 0x3b875: 0x6d468220, 0x3b876: 0x6d468420, 0x3b877: 0x6d468620,\n\t0x3b878: 0x6d468820, 0x3b879: 0x6d468a20, 0x3b87a: 0x6d736020, 0x3b87b: 0x6d736220,\n\t0x3b87c: 0x6d736420, 0x3b87d: 0x6d736620, 0x3b87e: 0x6d736820, 0x3b87f: 0x6d736a20,\n\t// Block 0xee2, offset 0x3b880\n\t0x3b880: 0x6d736c20, 0x3b881: 0x6d736e20, 0x3b882: 0x6d737020, 0x3b883: 0x6d737220,\n\t0x3b884: 0x6d737420, 0x3b885: 0x6d737620, 0x3b886: 0x6d737820, 0x3b887: 0x6d737a20,\n\t0x3b888: 0x6d737c20, 0x3b889: 0x6d737e20, 0x3b88a: 0x6d738020, 0x3b88b: 0x6d738220,\n\t0x3b88c: 0x6d9ce020, 0x3b88d: 0x6d9ce220, 0x3b88e: 0x6d9ce420, 0x3b88f: 0x6d9ce620,\n\t0x3b890: 0x6d9ce820, 0x3b891: 0x6d9cea20, 0x3b892: 0x6d9cec20, 0x3b893: 0x6d9cee20,\n\t0x3b894: 0x6d9cf020, 0x3b895: 0x6d9cf220, 0x3b896: 0x6d9cf420, 0x3b897: 0x6d9cf620,\n\t0x3b898: 0x6d9cf820, 0x3b899: 0x6d9cfa20, 0x3b89a: 0x6d9cfc20, 0x3b89b: 0x6d9cfe20,\n\t0x3b89c: 0x6d9d0020, 0x3b89d: 0x6d9d0220, 0x3b89e: 0x6d9d0420, 0x3b89f: 0x6d9d0620,\n\t0x3b8a0: 0x6d9d0820, 0x3b8a1: 0x6d9d0a20, 0x3b8a2: 0x6dbf6620, 0x3b8a3: 0x6dbf6820,\n\t0x3b8a4: 0x6dbf6a20, 0x3b8a5: 0x6dbf6c20, 0x3b8a6: 0x6dbf6e20, 0x3b8a7: 0x6dbf7020,\n\t0x3b8a8: 0x6dbf7220, 0x3b8a9: 0x6dbf7420, 0x3b8aa: 0x6dbf7620, 0x3b8ab: 0x6dbf7820,\n\t0x3b8ac: 0x6dbf7a20, 0x3b8ad: 0x6dbf7c20, 0x3b8ae: 0x6dbf7e20, 0x3b8af: 0x6dbf8020,\n\t0x3b8b0: 0x6dbf8220, 0x3b8b1: 0x6dbf8420, 0x3b8b2: 0x6dbf8620, 0x3b8b3: 0x6dbf8820,\n\t0x3b8b4: 0x6dbf8a20, 0x3b8b5: 0x6ddd6220, 0x3b8b6: 0x6ddd6420, 0x3b8b7: 0x6ddd6620,\n\t0x3b8b8: 0x6ddd6820, 0x3b8b9: 0x6ddd6a20, 0x3b8ba: 0x6ddd6c20, 0x3b8bb: 0x6ddd6e20,\n\t0x3b8bc: 0x6ddd7020, 0x3b8bd: 0x6ddd7220, 0x3b8be: 0x6ddd7420, 0x3b8bf: 0x6ddd7620,\n\t// Block 0xee3, offset 0x3b8c0\n\t0x3b8c0: 0x6ddd7820, 0x3b8c1: 0x6ddd7a20, 0x3b8c2: 0x6ddd7c20, 0x3b8c3: 0x6ddd7e20,\n\t0x3b8c4: 0x6ddd8020, 0x3b8c5: 0x6ddd8220, 0x3b8c6: 0x6df50820, 0x3b8c7: 0x6df50a20,\n\t0x3b8c8: 0x6df50c20, 0x3b8c9: 0x6df50e20, 0x3b8ca: 0x6df51020, 0x3b8cb: 0x6df51220,\n\t0x3b8cc: 0x6df51420, 0x3b8cd: 0x6df51620, 0x3b8ce: 0x6df51820, 0x3b8cf: 0x6df51a20,\n\t0x3b8d0: 0x6e090420, 0x3b8d1: 0x6e090620, 0x3b8d2: 0x6e090820, 0x3b8d3: 0x6e090a20,\n\t0x3b8d4: 0x6e090c20, 0x3b8d5: 0x6e090e20, 0x3b8d6: 0x6e091020, 0x3b8d7: 0x6e091220,\n\t0x3b8d8: 0x6e091420, 0x3b8d9: 0x6e091620, 0x3b8da: 0x6e091820, 0x3b8db: 0x6e091a20,\n\t0x3b8dc: 0x6e190e20, 0x3b8dd: 0x6e191020, 0x3b8de: 0x6e191220, 0x3b8df: 0x6e191420,\n\t0x3b8e0: 0x6e191620, 0x3b8e1: 0x6e191820, 0x3b8e2: 0x6e191a20, 0x3b8e3: 0x6e191c20,\n\t0x3b8e4: 0x6e191e20, 0x3b8e5: 0x6e192020, 0x3b8e6: 0x6e192220, 0x3b8e7: 0x6e192420,\n\t0x3b8e8: 0x6e192620, 0x3b8e9: 0x6e192820, 0x3b8ea: 0x6e192a20, 0x3b8eb: 0x6e192c20,\n\t0x3b8ec: 0x6e192e20, 0x3b8ed: 0x6e193020, 0x3b8ee: 0x6e25c220, 0x3b8ef: 0x6e25c420,\n\t0x3b8f0: 0x6e25c620, 0x3b8f1: 0x6e2f3620, 0x3b8f2: 0x6e2f3820, 0x3b8f3: 0x6e2f3a20,\n\t0x3b8f4: 0x6e2f3c20, 0x3b8f5: 0x6e2f3e20, 0x3b8f6: 0x6e2f4020, 0x3b8f7: 0x6e2f4220,\n\t0x3b8f8: 0x6e2f4420, 0x3b8f9: 0x6e2f4620, 0x3b8fa: 0x6e369020, 0x3b8fb: 0x6e369220,\n\t0x3b8fc: 0x6e369420, 0x3b8fd: 0x6e369620, 0x3b8fe: 0x6e369820, 0x3b8ff: 0x6e3ba420,\n\t// Block 0xee4, offset 0x3b900\n\t0x3b900: 0x6e3f4a20, 0x3b901: 0x6e3f4c20, 0x3b902: 0x6e3f4e20, 0x3b903: 0x6e3f5020,\n\t0x3b904: 0x6e41d220, 0x3b905: 0x6e41d420, 0x3b906: 0x6e43a020, 0x3b907: 0x6e43a220,\n\t0x3b908: 0x6e44d020, 0x3b909: 0x6e45f820, 0x3b90a: 0x6e465820, 0x3b90b: 0x6cb74820,\n\t0x3b90c: 0x6d17ce20, 0x3b90d: 0x6d17d020, 0x3b90e: 0x6d17d220, 0x3b90f: 0x6d17d420,\n\t0x3b910: 0x6d17d620, 0x3b911: 0x6d17d820, 0x3b912: 0x6d17da20, 0x3b913: 0x6d17dc20,\n\t0x3b914: 0x6d469a20, 0x3b915: 0x6d469c20, 0x3b916: 0x6d469e20, 0x3b917: 0x6d46a020,\n\t0x3b918: 0x6d46a220, 0x3b919: 0x6d46a420, 0x3b91a: 0x6d46a620, 0x3b91b: 0x6d46a820,\n\t0x3b91c: 0x6d46aa20, 0x3b91d: 0x6d46ac20, 0x3b91e: 0x6d46ae20, 0x3b91f: 0x6d46b020,\n\t0x3b920: 0x6d73c420, 0x3b921: 0x6d73c620, 0x3b922: 0x6d73c820, 0x3b923: 0x6d73ca20,\n\t0x3b924: 0x6d73cc20, 0x3b925: 0x6d73ce20, 0x3b926: 0x6d73d020, 0x3b927: 0x6d73d220,\n\t0x3b928: 0x6d73d420, 0x3b929: 0x6d73d620, 0x3b92a: 0x6d73d820, 0x3b92b: 0x6d73da20,\n\t0x3b92c: 0x6d73dc20, 0x3b92d: 0x6d73de20, 0x3b92e: 0x6d73e020, 0x3b92f: 0x6d73e220,\n\t0x3b930: 0x6d73e420, 0x3b931: 0x6d73e620, 0x3b932: 0x6d73e820, 0x3b933: 0x6d73ea20,\n\t0x3b934: 0x6d73ec20, 0x3b935: 0x6d73ee20, 0x3b936: 0x6d73f020, 0x3b937: 0x6d73f220,\n\t0x3b938: 0x6d73f420, 0x3b939: 0x6d73f620, 0x3b93a: 0x6d73f820, 0x3b93b: 0x6d73fa20,\n\t0x3b93c: 0x6d73fc20, 0x3b93d: 0x6d73fe20, 0x3b93e: 0x6d740020, 0x3b93f: 0x6d740220,\n\t// Block 0xee5, offset 0x3b940\n\t0x3b940: 0x6d740420, 0x3b941: 0x6d9d6220, 0x3b942: 0x6d9d6420, 0x3b943: 0x6d9d6620,\n\t0x3b944: 0x6d9d6820, 0x3b945: 0x6d9d6a20, 0x3b946: 0x6d9d6c20, 0x3b947: 0x6d9d6e20,\n\t0x3b948: 0x6d9d7020, 0x3b949: 0x6d9d7220, 0x3b94a: 0x6d9d7420, 0x3b94b: 0x6d9d7620,\n\t0x3b94c: 0x6d9d7820, 0x3b94d: 0x6d9d7a20, 0x3b94e: 0x6d9d7c20, 0x3b94f: 0x6d9d7e20,\n\t0x3b950: 0x6d9d8020, 0x3b951: 0x6d9d8220, 0x3b952: 0x6d9d8420, 0x3b953: 0x6d9d8620,\n\t0x3b954: 0x6d9d8820, 0x3b955: 0x6d9d8a20, 0x3b956: 0x6d9d8c20, 0x3b957: 0x6d9d8e20,\n\t0x3b958: 0x6d9d9020, 0x3b959: 0x6d9d9220, 0x3b95a: 0x6d9d9420, 0x3b95b: 0x6d9d9620,\n\t0x3b95c: 0x6d9d9820, 0x3b95d: 0x6d9d9a20, 0x3b95e: 0x6d9d9c20, 0x3b95f: 0x6d9d9e20,\n\t0x3b960: 0x6d9da020, 0x3b961: 0x6dbfd420, 0x3b962: 0x6dbfd620, 0x3b963: 0x6dbfd820,\n\t0x3b964: 0x6dbfda20, 0x3b965: 0x6dbfdc20, 0x3b966: 0x6dbfde20, 0x3b967: 0x6dbfe020,\n\t0x3b968: 0x6dbfe220, 0x3b969: 0x6dbfe420, 0x3b96a: 0x6dbfe620, 0x3b96b: 0x6dbfe820,\n\t0x3b96c: 0x6dbfea20, 0x3b96d: 0x6dbfec20, 0x3b96e: 0x6dbfee20, 0x3b96f: 0x6dbff020,\n\t0x3b970: 0x6dbff220, 0x3b971: 0x6dbff420, 0x3b972: 0x6dbff620, 0x3b973: 0x6dbff820,\n\t0x3b974: 0x6dbffa20, 0x3b975: 0x6dbffc20, 0x3b976: 0x6dbffe20, 0x3b977: 0x6d46b220,\n\t0x3b978: 0x6dc00020, 0x3b979: 0x6dc00220, 0x3b97a: 0x6dc00420, 0x3b97b: 0x6dc00620,\n\t0x3b97c: 0x6dc00820, 0x3b97d: 0x6dc00a20, 0x3b97e: 0x6dc00c20, 0x3b97f: 0x6dc00e20,\n\t// Block 0xee6, offset 0x3b980\n\t0x3b980: 0x6dc01020, 0x3b981: 0x6dc01220, 0x3b982: 0x6dc01420, 0x3b983: 0x6dc01620,\n\t0x3b984: 0x6dc01820, 0x3b985: 0x6dc01a20, 0x3b986: 0x6dc01c20, 0x3b987: 0x6dc01e20,\n\t0x3b988: 0x6dc02020, 0x3b989: 0x6dc02220, 0x3b98a: 0x6dc02420, 0x3b98b: 0x6dc02620,\n\t0x3b98c: 0x6dc02820, 0x3b98d: 0x6dddd220, 0x3b98e: 0x6dddd420, 0x3b98f: 0x6dddd620,\n\t0x3b990: 0x6dddd820, 0x3b991: 0x6dddda20, 0x3b992: 0x6ddddc20, 0x3b993: 0x6dddde20,\n\t0x3b994: 0x6ddde020, 0x3b995: 0x6ddde220, 0x3b996: 0x6ddde420, 0x3b997: 0x6ddde620,\n\t0x3b998: 0x6ddde820, 0x3b999: 0x6dddea20, 0x3b99a: 0x6dddec20, 0x3b99b: 0x6dddee20,\n\t0x3b99c: 0x6dddf020, 0x3b99d: 0x6dddf220, 0x3b99e: 0x6dddf420, 0x3b99f: 0x6dddf620,\n\t0x3b9a0: 0x6dddf820, 0x3b9a1: 0x6dddfa20, 0x3b9a2: 0x6dddfc20, 0x3b9a3: 0x6dddfe20,\n\t0x3b9a4: 0x6dde0020, 0x3b9a5: 0x6dde0220, 0x3b9a6: 0x6dde0420, 0x3b9a7: 0x6dde0620,\n\t0x3b9a8: 0x6dde0820, 0x3b9a9: 0x6dde0a20, 0x3b9aa: 0x6dde0c20, 0x3b9ab: 0x6dde0e20,\n\t0x3b9ac: 0x6dde1020, 0x3b9ad: 0x6dde1220, 0x3b9ae: 0x6dde1420, 0x3b9af: 0x6dde1620,\n\t0x3b9b0: 0x6dde1820, 0x3b9b1: 0x6dde1a20, 0x3b9b2: 0x6dde1c20, 0x3b9b3: 0x6dde1e20,\n\t0x3b9b4: 0x6dde2020, 0x3b9b5: 0x6dde2220, 0x3b9b6: 0x6dde2420, 0x3b9b7: 0x6df58620,\n\t0x3b9b8: 0x6df58820, 0x3b9b9: 0x6df58a20, 0x3b9ba: 0x6df58c20, 0x3b9bb: 0x6df58e20,\n\t0x3b9bc: 0x6df59020, 0x3b9bd: 0x6df59220, 0x3b9be: 0x6df59420, 0x3b9bf: 0x6df59620,\n\t// Block 0xee7, offset 0x3b9c0\n\t0x3b9c0: 0x6df59820, 0x3b9c1: 0x6df59a20, 0x3b9c2: 0x6df59c20, 0x3b9c3: 0x6df59e20,\n\t0x3b9c4: 0x6df5a020, 0x3b9c5: 0x6df5a220, 0x3b9c6: 0x6df5a420, 0x3b9c7: 0x6df5a620,\n\t0x3b9c8: 0x6df5a820, 0x3b9c9: 0x6df5aa20, 0x3b9ca: 0x6df5ac20, 0x3b9cb: 0x6df5ae20,\n\t0x3b9cc: 0x6df5b020, 0x3b9cd: 0x6df5b220, 0x3b9ce: 0x6df5b420, 0x3b9cf: 0x6df5b620,\n\t0x3b9d0: 0x6df5b820, 0x3b9d1: 0x6df5ba20, 0x3b9d2: 0x6df5bc20, 0x3b9d3: 0x6df5be20,\n\t0x3b9d4: 0x6df5c020, 0x3b9d5: 0x6df5c220, 0x3b9d6: 0x6df5c420, 0x3b9d7: 0x6df5c620,\n\t0x3b9d8: 0x6df5c820, 0x3b9d9: 0x6df5ca20, 0x3b9da: 0x6df5cc20, 0x3b9db: 0x6df5ce20,\n\t0x3b9dc: 0x6df5d020, 0x3b9dd: 0x6df5d220, 0x3b9de: 0x6df5d420, 0x3b9df: 0x6df5d620,\n\t0x3b9e0: 0x6df5d820, 0x3b9e1: 0x6df5da20, 0x3b9e2: 0x6df5dc20, 0x3b9e3: 0x6df5de20,\n\t0x3b9e4: 0x6df5e020, 0x3b9e5: 0x6df5e220, 0x3b9e6: 0x6df5e420, 0x3b9e7: 0x6df5e620,\n\t0x3b9e8: 0x6df5e820, 0x3b9e9: 0x6df5ea20, 0x3b9ea: 0x6df5ec20, 0x3b9eb: 0x6df5ee20,\n\t0x3b9ec: 0x6df5f020, 0x3b9ed: 0x6df5f220, 0x3b9ee: 0x6df5f420, 0x3b9ef: 0x6df5f620,\n\t0x3b9f0: 0x6df5f820, 0x3b9f1: 0x6df5fa20, 0x3b9f2: 0x6df5fc20, 0x3b9f3: 0x6df5fe20,\n\t0x3b9f4: 0x6df60020, 0x3b9f5: 0x6df60220, 0x3b9f6: 0x6df60420, 0x3b9f7: 0x6df60620,\n\t0x3b9f8: 0x6df60820, 0x3b9f9: 0x6df60a20, 0x3b9fa: 0x6df60c20, 0x3b9fb: 0x6df60e20,\n\t0x3b9fc: 0x6df61020, 0x3b9fd: 0x6df61220, 0x3b9fe: 0x6e097a20, 0x3b9ff: 0x6e097c20,\n\t// Block 0xee8, offset 0x3ba00\n\t0x3ba00: 0x6e097e20, 0x3ba01: 0x6e098020, 0x3ba02: 0x6e098220, 0x3ba03: 0x6e098420,\n\t0x3ba04: 0x6e098620, 0x3ba05: 0x6e098820, 0x3ba06: 0x6e098a20, 0x3ba07: 0x6e098c20,\n\t0x3ba08: 0x6e098e20, 0x3ba09: 0x6e099020, 0x3ba0a: 0x6e099220, 0x3ba0b: 0x6e099420,\n\t0x3ba0c: 0x6e099620, 0x3ba0d: 0x6e099820, 0x3ba0e: 0x6e099a20, 0x3ba0f: 0x6e099c20,\n\t0x3ba10: 0x6e099e20, 0x3ba11: 0x6e09a020, 0x3ba12: 0x6e09a220, 0x3ba13: 0x6e09a420,\n\t0x3ba14: 0x6e09a620, 0x3ba15: 0x6e09a820, 0x3ba16: 0x6e09aa20, 0x3ba17: 0x6e09ac20,\n\t0x3ba18: 0x6e09ae20, 0x3ba19: 0x6e09b020, 0x3ba1a: 0x6e09b220, 0x3ba1b: 0x6e09b420,\n\t0x3ba1c: 0x6e09b620, 0x3ba1d: 0x6e09b820, 0x3ba1e: 0x6e09ba20, 0x3ba1f: 0x6e09bc20,\n\t0x3ba20: 0x6e09be20, 0x3ba21: 0x6e09c020, 0x3ba22: 0x6e09c220, 0x3ba23: 0x6e09c420,\n\t0x3ba24: 0x6e09c620, 0x3ba25: 0x6e09c820, 0x3ba26: 0x6e09ca20, 0x3ba27: 0x6e09cc20,\n\t0x3ba28: 0x6e09ce20, 0x3ba29: 0x6e09d020, 0x3ba2a: 0x6e09d220, 0x3ba2b: 0x6e09d420,\n\t0x3ba2c: 0x6e09d620, 0x3ba2d: 0x6e09d820, 0x3ba2e: 0x6e09da20, 0x3ba2f: 0x6e09dc20,\n\t0x3ba30: 0x6e09de20, 0x3ba31: 0x6e196e20, 0x3ba32: 0x6e197020, 0x3ba33: 0x6e197220,\n\t0x3ba34: 0x6e197420, 0x3ba35: 0x6e197620, 0x3ba36: 0x6e197820, 0x3ba37: 0x6e197a20,\n\t0x3ba38: 0x6e197c20, 0x3ba39: 0x6e197e20, 0x3ba3a: 0x6e198020, 0x3ba3b: 0x6e198220,\n\t0x3ba3c: 0x6e198420, 0x3ba3d: 0x6e198620, 0x3ba3e: 0x6e198820, 0x3ba3f: 0x6e198a20,\n\t// Block 0xee9, offset 0x3ba40\n\t0x3ba40: 0x6e198c20, 0x3ba41: 0x6e198e20, 0x3ba42: 0x6e199020, 0x3ba43: 0x6e199220,\n\t0x3ba44: 0x6e199420, 0x3ba45: 0x6e199620, 0x3ba46: 0x6e199820, 0x3ba47: 0x6e199a20,\n\t0x3ba48: 0x6e199c20, 0x3ba49: 0x6e199e20, 0x3ba4a: 0x6e19a020, 0x3ba4b: 0x6e19a220,\n\t0x3ba4c: 0x6e19a420, 0x3ba4d: 0x6e19a620, 0x3ba4e: 0x6e19a820, 0x3ba4f: 0x6e19aa20,\n\t0x3ba50: 0x6e19ac20, 0x3ba51: 0x6e19ae20, 0x3ba52: 0x6e19b020, 0x3ba53: 0x6e19b220,\n\t0x3ba54: 0x6e19b420, 0x3ba55: 0x6e19b620, 0x3ba56: 0x6e19b820, 0x3ba57: 0x6e19ba20,\n\t0x3ba58: 0x6e19bc20, 0x3ba59: 0x6e19be20, 0x3ba5a: 0x6e19c020, 0x3ba5b: 0x6e19c220,\n\t0x3ba5c: 0x6e19c420, 0x3ba5d: 0x6e19c620, 0x3ba5e: 0x6e19c820, 0x3ba5f: 0x6e19ca20,\n\t0x3ba60: 0x6e19cc20, 0x3ba61: 0x6e19ce20, 0x3ba62: 0x6e19d020, 0x3ba63: 0x6e19d220,\n\t0x3ba64: 0x6e19d420, 0x3ba65: 0x6e19d620, 0x3ba66: 0x6e19d820, 0x3ba67: 0x6e19da20,\n\t0x3ba68: 0x6e19dc20, 0x3ba69: 0x6e19de20, 0x3ba6a: 0x6e19e020, 0x3ba6b: 0x6e19e220,\n\t0x3ba6c: 0x6e19e420, 0x3ba6d: 0x6e260e20, 0x3ba6e: 0x6e261020, 0x3ba6f: 0x6e261220,\n\t0x3ba70: 0x6e261420, 0x3ba71: 0x6e261620, 0x3ba72: 0x6e261820, 0x3ba73: 0x6e261a20,\n\t0x3ba74: 0x6e261c20, 0x3ba75: 0x6e261e20, 0x3ba76: 0x6e262020, 0x3ba77: 0x6e262220,\n\t0x3ba78: 0x6e262420, 0x3ba79: 0x6e262620, 0x3ba7a: 0x6e262820, 0x3ba7b: 0x6e262a20,\n\t0x3ba7c: 0x6e262c20, 0x3ba7d: 0x6e262e20, 0x3ba7e: 0x6e263020, 0x3ba7f: 0x6e263220,\n\t// Block 0xeea, offset 0x3ba80\n\t0x3ba80: 0x6e263420, 0x3ba81: 0x6e263620, 0x3ba82: 0x6e263820, 0x3ba83: 0x6e263a20,\n\t0x3ba84: 0x6e263c20, 0x3ba85: 0x6e263e20, 0x3ba86: 0x6e264020, 0x3ba87: 0x6e264220,\n\t0x3ba88: 0x6e264420, 0x3ba89: 0x6e264620, 0x3ba8a: 0x6e264820, 0x3ba8b: 0x6e264a20,\n\t0x3ba8c: 0x6e264c20, 0x3ba8d: 0x6e264e20, 0x3ba8e: 0x6e265020, 0x3ba8f: 0x6e265220,\n\t0x3ba90: 0x6e265420, 0x3ba91: 0x6e265620, 0x3ba92: 0x6e265820, 0x3ba93: 0x6e265a20,\n\t0x3ba94: 0x6e265c20, 0x3ba95: 0x6e265e20, 0x3ba96: 0x6e266020, 0x3ba97: 0x6e266220,\n\t0x3ba98: 0x6e2f7a20, 0x3ba99: 0x6e2f7c20, 0x3ba9a: 0x6e2f7e20, 0x3ba9b: 0x6e2f8020,\n\t0x3ba9c: 0x6e2f8220, 0x3ba9d: 0x6e2f8420, 0x3ba9e: 0x6e2f8620, 0x3ba9f: 0x6e2f8820,\n\t0x3baa0: 0x6e2f8a20, 0x3baa1: 0x6e2f8c20, 0x3baa2: 0x6e2f8e20, 0x3baa3: 0x6e2f9020,\n\t0x3baa4: 0x6e2f9220, 0x3baa5: 0x6e2f9420, 0x3baa6: 0x6e2f9620, 0x3baa7: 0x6e2f9820,\n\t0x3baa8: 0x6e2f9a20, 0x3baa9: 0x6e2f9c20, 0x3baaa: 0x6e2f9e20, 0x3baab: 0x6e2fa020,\n\t0x3baac: 0x6e2fa220, 0x3baad: 0x6e2fa420, 0x3baae: 0x6e2fa620, 0x3baaf: 0x6e2fa820,\n\t0x3bab0: 0x6e2faa20, 0x3bab1: 0x6e2fac20, 0x3bab2: 0x6e2fae20, 0x3bab3: 0x6e2fb020,\n\t0x3bab4: 0x6e2fb220, 0x3bab5: 0x6e2fb420, 0x3bab6: 0x6e2fb620, 0x3bab7: 0x6e2fb820,\n\t0x3bab8: 0x6e2fba20, 0x3bab9: 0x6e2fbc20, 0x3baba: 0x6e2fbe20, 0x3babb: 0x6e2fc020,\n\t0x3babc: 0x6e2fc220, 0x3babd: 0x6e2fc420, 0x3babe: 0x6e2fc620, 0x3babf: 0x6e2fc820,\n\t// Block 0xeeb, offset 0x3bac0\n\t0x3bac0: 0x6e2fca20, 0x3bac1: 0x6e2fcc20, 0x3bac2: 0x6e36c220, 0x3bac3: 0x6e36c420,\n\t0x3bac4: 0x6e36c620, 0x3bac5: 0x6e36c820, 0x3bac6: 0x6e36ca20, 0x3bac7: 0x6e36cc20,\n\t0x3bac8: 0x6e36ce20, 0x3bac9: 0x6e36d020, 0x3baca: 0x6e36d220, 0x3bacb: 0x6e36d420,\n\t0x3bacc: 0x6e36d620, 0x3bacd: 0x6e36d820, 0x3bace: 0x6e36da20, 0x3bacf: 0x6e36dc20,\n\t0x3bad0: 0x6e36de20, 0x3bad1: 0x6e36e020, 0x3bad2: 0x6e36e220, 0x3bad3: 0x6e36e420,\n\t0x3bad4: 0x6e36e620, 0x3bad5: 0x6e36e820, 0x3bad6: 0x6e36ea20, 0x3bad7: 0x6e36ec20,\n\t0x3bad8: 0x6e36ee20, 0x3bad9: 0x6e36f020, 0x3bada: 0x6e36f220, 0x3badb: 0x6e36f420,\n\t0x3badc: 0x6e36f620, 0x3badd: 0x6e36f820, 0x3bade: 0x6e36fa20, 0x3badf: 0x6e36fc20,\n\t0x3bae0: 0x6e36fe20, 0x3bae1: 0x6e370020, 0x3bae2: 0x6e370220, 0x3bae3: 0x6e370420,\n\t0x3bae4: 0x6e370620, 0x3bae5: 0x6e3bb620, 0x3bae6: 0x6e3bb820, 0x3bae7: 0x6e3bba20,\n\t0x3bae8: 0x6e3bbc20, 0x3bae9: 0x6e3bbe20, 0x3baea: 0x6e3bc020, 0x3baeb: 0x6e3bc220,\n\t0x3baec: 0x6e3bc420, 0x3baed: 0x6e3bc620, 0x3baee: 0x6e3bc820, 0x3baef: 0x6e3bca20,\n\t0x3baf0: 0x6e3bcc20, 0x3baf1: 0x6e3bce20, 0x3baf2: 0x6e3bd020, 0x3baf3: 0x6e3bd220,\n\t0x3baf4: 0x6e3bd420, 0x3baf5: 0x6e3bd620, 0x3baf6: 0x6e3bd820, 0x3baf7: 0x6e3bda20,\n\t0x3baf8: 0x6e3bdc20, 0x3baf9: 0x6e3bde20, 0x3bafa: 0x6e3be020, 0x3bafb: 0x6e3f6020,\n\t0x3bafc: 0x6e3f6220, 0x3bafd: 0x6e3f6420, 0x3bafe: 0x6e3f6620, 0x3baff: 0x6e3f6820,\n\t// Block 0xeec, offset 0x3bb00\n\t0x3bb00: 0x6e3f6a20, 0x3bb01: 0x6e3f6c20, 0x3bb02: 0x6e3f6e20, 0x3bb03: 0x6e3f7020,\n\t0x3bb04: 0x6e3f7220, 0x3bb05: 0x6e3f7420, 0x3bb06: 0x6e3f7620, 0x3bb07: 0x6e3f7820,\n\t0x3bb08: 0x6e3f7a20, 0x3bb09: 0x6e3f7c20, 0x3bb0a: 0x6e3f7e20, 0x3bb0b: 0x6e3f8020,\n\t0x3bb0c: 0x6e3f8220, 0x3bb0d: 0x6e41de20, 0x3bb0e: 0x6e41e020, 0x3bb0f: 0x6e41e220,\n\t0x3bb10: 0x6e41e420, 0x3bb11: 0x6e41e620, 0x3bb12: 0x6e41e820, 0x3bb13: 0x6e41ea20,\n\t0x3bb14: 0x6e41ec20, 0x3bb15: 0x6e41ee20, 0x3bb16: 0x6e41f020, 0x3bb17: 0x6e41f220,\n\t0x3bb18: 0x6e41f420, 0x3bb19: 0x6e41f620, 0x3bb1a: 0x6e43a420, 0x3bb1b: 0x6e43a620,\n\t0x3bb1c: 0x6e43a820, 0x3bb1d: 0x6e43aa20, 0x3bb1e: 0x6e43ac20, 0x3bb1f: 0x6e43ae20,\n\t0x3bb20: 0x6e43b020, 0x3bb21: 0x6e43b220, 0x3bb22: 0x6e43b420, 0x3bb23: 0x6e43b620,\n\t0x3bb24: 0x6e43b820, 0x3bb25: 0x6e43ba20, 0x3bb26: 0x6e43bc20, 0x3bb27: 0x6e44d420,\n\t0x3bb28: 0x6e44d620, 0x3bb29: 0x6e44d820, 0x3bb2a: 0x6e44da20, 0x3bb2b: 0x6e44dc20,\n\t0x3bb2c: 0x6e44de20, 0x3bb2d: 0x6e44e020, 0x3bb2e: 0x6e44e220, 0x3bb2f: 0x6e44e420,\n\t0x3bb30: 0x6e458420, 0x3bb31: 0x6e458620, 0x3bb32: 0x6e458820, 0x3bb33: 0x6e45fa20,\n\t0x3bb34: 0x6e45fc20, 0x3bb35: 0x6e465a20, 0x3bb36: 0x6e465c20, 0x3bb37: 0x6e465e20,\n\t0x3bb38: 0x6e466020, 0x3bb39: 0x6ce87820, 0x3bb3a: 0x6ce87a20, 0x3bb3b: 0x6ce87c20,\n\t0x3bb3c: 0x6d46d420, 0x3bb3d: 0x6d46d620, 0x3bb3e: 0x6d46d820, 0x3bb3f: 0x6d46da20,\n\t// Block 0xeed, offset 0x3bb40\n\t0x3bb40: 0x6d17fa20, 0x3bb41: 0x6d742620, 0x3bb42: 0x6d742820, 0x3bb43: 0x6d742a20,\n\t0x3bb44: 0x6d742c20, 0x3bb45: 0x6d9dce20, 0x3bb46: 0x6d9dd020, 0x3bb47: 0x6d9dd220,\n\t0x3bb48: 0x6d9dd420, 0x3bb49: 0x6d742e20, 0x3bb4a: 0x6dc05a20, 0x3bb4b: 0x6dc05c20,\n\t0x3bb4c: 0x6df63020, 0x3bb4d: 0x6e1a0020, 0x3bb4e: 0x6e2fdc20, 0x3bb4f: 0x6ce88820,\n\t0x3bb50: 0x6ce88a20, 0x3bb51: 0x6ce88c20, 0x3bb52: 0x6d181a20, 0x3bb53: 0x6d181c20,\n\t0x3bb54: 0x6d181e20, 0x3bb55: 0x6d182020, 0x3bb56: 0x6d182220, 0x3bb57: 0x6d182420,\n\t0x3bb58: 0x6d182620, 0x3bb59: 0x6d182820, 0x3bb5a: 0x6d182a20, 0x3bb5b: 0x6d182c20,\n\t0x3bb5c: 0x6d182e20, 0x3bb5d: 0x6d470020, 0x3bb5e: 0x6d470220, 0x3bb5f: 0x6d470420,\n\t0x3bb60: 0x6d470620, 0x3bb61: 0x6d470820, 0x3bb62: 0x6d470a20, 0x3bb63: 0x6d470c20,\n\t0x3bb64: 0x6d470e20, 0x3bb65: 0x6d471020, 0x3bb66: 0x6d471220, 0x3bb67: 0x6d471420,\n\t0x3bb68: 0x6d471620, 0x3bb69: 0x6d471820, 0x3bb6a: 0x6d471a20, 0x3bb6b: 0x6d471c20,\n\t0x3bb6c: 0x6d471e20, 0x3bb6d: 0x6d472020, 0x3bb6e: 0x6d472220, 0x3bb6f: 0x6d472420,\n\t0x3bb70: 0x6d747e20, 0x3bb71: 0x6d748020, 0x3bb72: 0x6d748220, 0x3bb73: 0x6d748420,\n\t0x3bb74: 0x6d748620, 0x3bb75: 0x6d748820, 0x3bb76: 0x6d748a20, 0x3bb77: 0x6d748c20,\n\t0x3bb78: 0x6d748e20, 0x3bb79: 0x6d749020, 0x3bb7a: 0x6d749220, 0x3bb7b: 0x6d749420,\n\t0x3bb7c: 0x6d749620, 0x3bb7d: 0x6d749820, 0x3bb7e: 0x6d749a20, 0x3bb7f: 0x6d749c20,\n\t// Block 0xeee, offset 0x3bb80\n\t0x3bb80: 0x6d749e20, 0x3bb81: 0x6d74a020, 0x3bb82: 0x6d74a220, 0x3bb83: 0x6d74a420,\n\t0x3bb84: 0x6d74a620, 0x3bb85: 0x6d74a820, 0x3bb86: 0x6d74aa20, 0x3bb87: 0x6d74ac20,\n\t0x3bb88: 0x6d74ae20, 0x3bb89: 0x6d74b020, 0x3bb8a: 0x6d74b220, 0x3bb8b: 0x6d74b420,\n\t0x3bb8c: 0x6d74b620, 0x3bb8d: 0x6d74b820, 0x3bb8e: 0x6d74ba20, 0x3bb8f: 0x6d74bc20,\n\t0x3bb90: 0x6d74be20, 0x3bb91: 0x6d74c020, 0x3bb92: 0x6d74c220, 0x3bb93: 0x6d74c420,\n\t0x3bb94: 0x6d74c620, 0x3bb95: 0x6d74c820, 0x3bb96: 0x6d74ca20, 0x3bb97: 0x6d74cc20,\n\t0x3bb98: 0x6d74ce20, 0x3bb99: 0x6d74d020, 0x3bb9a: 0x6d74d220, 0x3bb9b: 0x6d74d420,\n\t0x3bb9c: 0x6d9e4220, 0x3bb9d: 0x6d9e4420, 0x3bb9e: 0x6d9e4620, 0x3bb9f: 0x6d9e4820,\n\t0x3bba0: 0x6d9e4a20, 0x3bba1: 0x6d9e4c20, 0x3bba2: 0x6d9e4e20, 0x3bba3: 0x6d9e5020,\n\t0x3bba4: 0x6d9e5220, 0x3bba5: 0x6d9e5420, 0x3bba6: 0x6d9e5620, 0x3bba7: 0x6d9e5820,\n\t0x3bba8: 0x6d9e5a20, 0x3bba9: 0x6d9e5c20, 0x3bbaa: 0x6d9e5e20, 0x3bbab: 0x6d9e6020,\n\t0x3bbac: 0x6d9e6220, 0x3bbad: 0x6d9e6420, 0x3bbae: 0x6d9e6620, 0x3bbaf: 0x6d9e6820,\n\t0x3bbb0: 0x6d9e6a20, 0x3bbb1: 0x6d9e6c20, 0x3bbb2: 0x6d9e6e20, 0x3bbb3: 0x6d9e7020,\n\t0x3bbb4: 0x6d9e7220, 0x3bbb5: 0x6d9e7420, 0x3bbb6: 0x6d9e7620, 0x3bbb7: 0x6d9e7820,\n\t0x3bbb8: 0x6d9e7a20, 0x3bbb9: 0x6d9e7c20, 0x3bbba: 0x6d9e7e20, 0x3bbbb: 0x6d9e8020,\n\t0x3bbbc: 0x6d9e8220, 0x3bbbd: 0x6d9e8420, 0x3bbbe: 0x6d9e8620, 0x3bbbf: 0x6d9e8820,\n\t// Block 0xeef, offset 0x3bbc0\n\t0x3bbc0: 0x6d9e8a20, 0x3bbc1: 0x6d9e8c20, 0x3bbc2: 0x6d9e8e20, 0x3bbc3: 0x6d9e9020,\n\t0x3bbc4: 0x6d9e9220, 0x3bbc5: 0x6d9e9420, 0x3bbc6: 0x6d9e9620, 0x3bbc7: 0x6d9e9820,\n\t0x3bbc8: 0x6d9e9a20, 0x3bbc9: 0x6d9e9c20, 0x3bbca: 0x6d9e9e20, 0x3bbcb: 0x6d9ea020,\n\t0x3bbcc: 0x6d9ea220, 0x3bbcd: 0x6d9ea420, 0x3bbce: 0x6d9ea620, 0x3bbcf: 0x6d9ea820,\n\t0x3bbd0: 0x6d9eaa20, 0x3bbd1: 0x6d9eac20, 0x3bbd2: 0x6dc0ba20, 0x3bbd3: 0x6dc0bc20,\n\t0x3bbd4: 0x6dc0be20, 0x3bbd5: 0x6dc0c020, 0x3bbd6: 0x6dc0c220, 0x3bbd7: 0x6dc0c420,\n\t0x3bbd8: 0x6dc0c620, 0x3bbd9: 0x6dc0c820, 0x3bbda: 0x6dc0ca20, 0x3bbdb: 0x6dc0cc20,\n\t0x3bbdc: 0x6dc0ce20, 0x3bbdd: 0x6dc0d020, 0x3bbde: 0x6dc0d220, 0x3bbdf: 0x6dc0d420,\n\t0x3bbe0: 0x6dc0d620, 0x3bbe1: 0x6dc0d820, 0x3bbe2: 0x6dc0da20, 0x3bbe3: 0x6dc0dc20,\n\t0x3bbe4: 0x6dc0de20, 0x3bbe5: 0x6dc0e020, 0x3bbe6: 0x6dc0e220, 0x3bbe7: 0x6dc0e420,\n\t0x3bbe8: 0x6dc0e620, 0x3bbe9: 0x6dc0e820, 0x3bbea: 0x6dc0ea20, 0x3bbeb: 0x6dc0ec20,\n\t0x3bbec: 0x6dc0ee20, 0x3bbed: 0x6dc0f020, 0x3bbee: 0x6dc0f220, 0x3bbef: 0x6dc0f420,\n\t0x3bbf0: 0x6dc0f620, 0x3bbf1: 0x6dc0f820, 0x3bbf2: 0x6dc0fa20, 0x3bbf3: 0x6dc0fc20,\n\t0x3bbf4: 0x6dc0fe20, 0x3bbf5: 0x6dc10020, 0x3bbf6: 0x6dc10220, 0x3bbf7: 0x6dc10420,\n\t0x3bbf8: 0x6dc10620, 0x3bbf9: 0x6dc10820, 0x3bbfa: 0x6dc10a20, 0x3bbfb: 0x6dc10c20,\n\t0x3bbfc: 0x6dc10e20, 0x3bbfd: 0x6dc11020, 0x3bbfe: 0x6dc11220, 0x3bbff: 0x6dc11420,\n\t// Block 0xef0, offset 0x3bc00\n\t0x3bc00: 0x6dc11620, 0x3bc01: 0x6dc11820, 0x3bc02: 0x6dc11a20, 0x3bc03: 0x6dc11c20,\n\t0x3bc04: 0x6dc11e20, 0x3bc05: 0x6dc12020, 0x3bc06: 0x6dc12220, 0x3bc07: 0x6dc12420,\n\t0x3bc08: 0x6dc12620, 0x3bc09: 0x6dc12820, 0x3bc0a: 0x6dde8220, 0x3bc0b: 0x6dde8420,\n\t0x3bc0c: 0x6dde8620, 0x3bc0d: 0x6dde8820, 0x3bc0e: 0x6dde8a20, 0x3bc0f: 0x6dde8c20,\n\t0x3bc10: 0x6dde8e20, 0x3bc11: 0x6dde9020, 0x3bc12: 0x6dde9220, 0x3bc13: 0x6dde9420,\n\t0x3bc14: 0x6dde9620, 0x3bc15: 0x6dde9820, 0x3bc16: 0x6dde9a20, 0x3bc17: 0x6dde9c20,\n\t0x3bc18: 0x6dde9e20, 0x3bc19: 0x6ddea020, 0x3bc1a: 0x6ddea220, 0x3bc1b: 0x6ddea420,\n\t0x3bc1c: 0x6ddea620, 0x3bc1d: 0x6ddea820, 0x3bc1e: 0x6ddeaa20, 0x3bc1f: 0x6ddeac20,\n\t0x3bc20: 0x6ddeae20, 0x3bc21: 0x6ddeb020, 0x3bc22: 0x6ddeb220, 0x3bc23: 0x6ddeb420,\n\t0x3bc24: 0x6ddeb620, 0x3bc25: 0x6ddeb820, 0x3bc26: 0x6ddeba20, 0x3bc27: 0x6ddebc20,\n\t0x3bc28: 0x6ddebe20, 0x3bc29: 0x6ddec020, 0x3bc2a: 0x6ddec220, 0x3bc2b: 0x6ddec420,\n\t0x3bc2c: 0x6ddec620, 0x3bc2d: 0x6ddec820, 0x3bc2e: 0x6ddeca20, 0x3bc2f: 0x6ddecc20,\n\t0x3bc30: 0x6ddece20, 0x3bc31: 0x6dded020, 0x3bc32: 0x6dded220, 0x3bc33: 0x6dded420,\n\t0x3bc34: 0x6dded620, 0x3bc35: 0x6dded820, 0x3bc36: 0x6ddeda20, 0x3bc37: 0x6df6a020,\n\t0x3bc38: 0x6df6a220, 0x3bc39: 0x6df6a420, 0x3bc3a: 0x6df6a620, 0x3bc3b: 0x6df6a820,\n\t0x3bc3c: 0x6df6aa20, 0x3bc3d: 0x6df6ac20, 0x3bc3e: 0x6df6ae20, 0x3bc3f: 0x6df6b020,\n\t// Block 0xef1, offset 0x3bc40\n\t0x3bc40: 0x6df6b220, 0x3bc41: 0x6df6b420, 0x3bc42: 0x6df6b620, 0x3bc43: 0x6df6b820,\n\t0x3bc44: 0x6df6ba20, 0x3bc45: 0x6df6bc20, 0x3bc46: 0x6df6be20, 0x3bc47: 0x6df6c020,\n\t0x3bc48: 0x6df6c220, 0x3bc49: 0x6df6c420, 0x3bc4a: 0x6df6c620, 0x3bc4b: 0x6df6c820,\n\t0x3bc4c: 0x6df6ca20, 0x3bc4d: 0x6df6cc20, 0x3bc4e: 0x6df6ce20, 0x3bc4f: 0x6df6d020,\n\t0x3bc50: 0x6df6d220, 0x3bc51: 0x6df6d420, 0x3bc52: 0x6df6d620, 0x3bc53: 0x6df6d820,\n\t0x3bc54: 0x6df6da20, 0x3bc55: 0x6df6dc20, 0x3bc56: 0x6df6de20, 0x3bc57: 0x6df6e020,\n\t0x3bc58: 0x6df6e220, 0x3bc59: 0x6df6e420, 0x3bc5a: 0x6df6e620, 0x3bc5b: 0x6df6e820,\n\t0x3bc5c: 0x6df6ea20, 0x3bc5d: 0x6df6ec20, 0x3bc5e: 0x6df6ee20, 0x3bc5f: 0x6df6f020,\n\t0x3bc60: 0x6df6f220, 0x3bc61: 0x6df6f420, 0x3bc62: 0x6df6f620, 0x3bc63: 0x6df6f820,\n\t0x3bc64: 0x6df6fa20, 0x3bc65: 0x6df6fc20, 0x3bc66: 0x6df6fe20, 0x3bc67: 0x6df70020,\n\t0x3bc68: 0x6df70220, 0x3bc69: 0x6df70420, 0x3bc6a: 0x6df70620, 0x3bc6b: 0x6df70820,\n\t0x3bc6c: 0x6df70a20, 0x3bc6d: 0x6df70c20, 0x3bc6e: 0x6df70e20, 0x3bc6f: 0x6df71020,\n\t0x3bc70: 0x6df71220, 0x3bc71: 0x6df71420, 0x3bc72: 0x6df71620, 0x3bc73: 0x6df71820,\n\t0x3bc74: 0x6df71a20, 0x3bc75: 0x6df71c20, 0x3bc76: 0x6e0a4420, 0x3bc77: 0x6e0a4620,\n\t0x3bc78: 0x6e0a4820, 0x3bc79: 0x6e0a4a20, 0x3bc7a: 0x6e0a4c20, 0x3bc7b: 0x6e0a4e20,\n\t0x3bc7c: 0x6e0a5020, 0x3bc7d: 0x6e0a5220, 0x3bc7e: 0x6e0a5420, 0x3bc7f: 0x6e0a5620,\n\t// Block 0xef2, offset 0x3bc80\n\t0x3bc80: 0x6e0a5820, 0x3bc81: 0x6e0a5a20, 0x3bc82: 0x6e0a5c20, 0x3bc83: 0x6e0a5e20,\n\t0x3bc84: 0x6e0a6020, 0x3bc85: 0x6e0a6220, 0x3bc86: 0x6e0a6420, 0x3bc87: 0x6e0a6620,\n\t0x3bc88: 0x6e0a6820, 0x3bc89: 0x6e0a6a20, 0x3bc8a: 0x6e0a6c20, 0x3bc8b: 0x6e0a6e20,\n\t0x3bc8c: 0x6e0a7020, 0x3bc8d: 0x6e0a7220, 0x3bc8e: 0x6e0a7420, 0x3bc8f: 0x6e0a7620,\n\t0x3bc90: 0x6e0a7820, 0x3bc91: 0x6e0a7a20, 0x3bc92: 0x6e0a7c20, 0x3bc93: 0x6e0a7e20,\n\t0x3bc94: 0x6e0a8020, 0x3bc95: 0x6e0a8220, 0x3bc96: 0x6e0a8420, 0x3bc97: 0x6e0a8620,\n\t0x3bc98: 0x6e0a8820, 0x3bc99: 0x6e0a8a20, 0x3bc9a: 0x6e0a8c20, 0x3bc9b: 0x6e0a8e20,\n\t0x3bc9c: 0x6e0a9020, 0x3bc9d: 0x6e0a9220, 0x3bc9e: 0x6e0a9420, 0x3bc9f: 0x6e0a9620,\n\t0x3bca0: 0x6e0a9820, 0x3bca1: 0x6e0a9a20, 0x3bca2: 0x6e0a9c20, 0x3bca3: 0x6e0a9e20,\n\t0x3bca4: 0x6e0aa020, 0x3bca5: 0x6e0aa220, 0x3bca6: 0x6e0aa420, 0x3bca7: 0x6e0aa620,\n\t0x3bca8: 0x6e0aa820, 0x3bca9: 0x6e0aaa20, 0x3bcaa: 0x6e0aac20, 0x3bcab: 0x6e0aae20,\n\t0x3bcac: 0x6e0ab020, 0x3bcad: 0x6e0ab220, 0x3bcae: 0x6e0ab420, 0x3bcaf: 0x6e0ab620,\n\t0x3bcb0: 0x6e0ab820, 0x3bcb1: 0x6e0aba20, 0x3bcb2: 0x6e0abc20, 0x3bcb3: 0x6e0abe20,\n\t0x3bcb4: 0x6e0ac020, 0x3bcb5: 0x6e0ac220, 0x3bcb6: 0x6e0ac420, 0x3bcb7: 0x6e0ac620,\n\t0x3bcb8: 0x6e0ac820, 0x3bcb9: 0x6e0aca20, 0x3bcba: 0x6e1a5420, 0x3bcbb: 0x6e1a5620,\n\t0x3bcbc: 0x6e1a5820, 0x3bcbd: 0x6e1a5a20, 0x3bcbe: 0x6e1a5c20, 0x3bcbf: 0x6e1a5e20,\n\t// Block 0xef3, offset 0x3bcc0\n\t0x3bcc0: 0x6e1a6020, 0x3bcc1: 0x6e1a6220, 0x3bcc2: 0x6e1a6420, 0x3bcc3: 0x6e1a6620,\n\t0x3bcc4: 0x6e1a6820, 0x3bcc5: 0x6e1a6a20, 0x3bcc6: 0x6e1a6c20, 0x3bcc7: 0x6e1a6e20,\n\t0x3bcc8: 0x6e1a7020, 0x3bcc9: 0x6e1a7220, 0x3bcca: 0x6e1a7420, 0x3bccb: 0x6e1a7620,\n\t0x3bccc: 0x6e1a7820, 0x3bccd: 0x6e1a7a20, 0x3bcce: 0x6e1a7c20, 0x3bccf: 0x6e1a7e20,\n\t0x3bcd0: 0x6e1a8020, 0x3bcd1: 0x6e1a8220, 0x3bcd2: 0x6e1a8420, 0x3bcd3: 0x6e1a8620,\n\t0x3bcd4: 0x6e1a8820, 0x3bcd5: 0x6e1a8a20, 0x3bcd6: 0x6e1a8c20, 0x3bcd7: 0x6e1a8e20,\n\t0x3bcd8: 0x6e1a9020, 0x3bcd9: 0x6e1a9220, 0x3bcda: 0x6e1a9420, 0x3bcdb: 0x6e1a9620,\n\t0x3bcdc: 0x6e1a9820, 0x3bcdd: 0x6e1a9a20, 0x3bcde: 0x6e1a9c20, 0x3bcdf: 0x6e1a9e20,\n\t0x3bce0: 0x6e1aa020, 0x3bce1: 0x6e1aa220, 0x3bce2: 0x6e1aa420, 0x3bce3: 0x6e1aa620,\n\t0x3bce4: 0x6e1aa820, 0x3bce5: 0x6e1aaa20, 0x3bce6: 0x6e1aac20, 0x3bce7: 0x6e1aae20,\n\t0x3bce8: 0x6e1ab020, 0x3bce9: 0x6e1ab220, 0x3bcea: 0x6e1ab420, 0x3bceb: 0x6e1ab620,\n\t0x3bcec: 0x6e1ab820, 0x3bced: 0x6e26a820, 0x3bcee: 0x6e26aa20, 0x3bcef: 0x6e26ac20,\n\t0x3bcf0: 0x6e26ae20, 0x3bcf1: 0x6e26b020, 0x3bcf2: 0x6e26b220, 0x3bcf3: 0x6e26b420,\n\t0x3bcf4: 0x6e26b620, 0x3bcf5: 0x6e26b820, 0x3bcf6: 0x6e26ba20, 0x3bcf7: 0x6e26bc20,\n\t0x3bcf8: 0x6e26be20, 0x3bcf9: 0x6e26c020, 0x3bcfa: 0x6e26c220, 0x3bcfb: 0x6e26c420,\n\t0x3bcfc: 0x6e26c620, 0x3bcfd: 0x6e26c820, 0x3bcfe: 0x6e26ca20, 0x3bcff: 0x6e26cc20,\n\t// Block 0xef4, offset 0x3bd00\n\t0x3bd00: 0x6e26ce20, 0x3bd01: 0x6e26d020, 0x3bd02: 0x6e26d220, 0x3bd03: 0x6e26d420,\n\t0x3bd04: 0x6e26d620, 0x3bd05: 0x6e26d820, 0x3bd06: 0x6e26da20, 0x3bd07: 0x6e26dc20,\n\t0x3bd08: 0x6e26de20, 0x3bd09: 0x6e26e020, 0x3bd0a: 0x6e26e220, 0x3bd0b: 0x6e26e420,\n\t0x3bd0c: 0x6e26e620, 0x3bd0d: 0x6e26e820, 0x3bd0e: 0x6e26ea20, 0x3bd0f: 0x6e26ec20,\n\t0x3bd10: 0x6e26ee20, 0x3bd11: 0x6e26f020, 0x3bd12: 0x6e26f220, 0x3bd13: 0x6e26f420,\n\t0x3bd14: 0x6e26f620, 0x3bd15: 0x6e26f820, 0x3bd16: 0x6e26fa20, 0x3bd17: 0x6e26fc20,\n\t0x3bd18: 0x6e26fe20, 0x3bd19: 0x6e270020, 0x3bd1a: 0x6e270220, 0x3bd1b: 0x6e270420,\n\t0x3bd1c: 0x6e270620, 0x3bd1d: 0x6e270820, 0x3bd1e: 0x6e270a20, 0x3bd1f: 0x6e270c20,\n\t0x3bd20: 0x6e270e20, 0x3bd21: 0x6e271020, 0x3bd22: 0x6e271220, 0x3bd23: 0x6e271420,\n\t0x3bd24: 0x6e271620, 0x3bd25: 0x6e271820, 0x3bd26: 0x6e271a20, 0x3bd27: 0x6e271c20,\n\t0x3bd28: 0x6e271e20, 0x3bd29: 0x6e272020, 0x3bd2a: 0x6e272220, 0x3bd2b: 0x6e272420,\n\t0x3bd2c: 0x6e272620, 0x3bd2d: 0x6e272820, 0x3bd2e: 0x6e272a20, 0x3bd2f: 0x6e302220,\n\t0x3bd30: 0x6e302420, 0x3bd31: 0x6e302620, 0x3bd32: 0x6e302820, 0x3bd33: 0x6e302a20,\n\t0x3bd34: 0x6e302c20, 0x3bd35: 0x6e302e20, 0x3bd36: 0x6e303020, 0x3bd37: 0x6e303220,\n\t0x3bd38: 0x6e303420, 0x3bd39: 0x6e303620, 0x3bd3a: 0x6e303820, 0x3bd3b: 0x6e303a20,\n\t0x3bd3c: 0x6e303c20, 0x3bd3d: 0x6e303e20, 0x3bd3e: 0x6e304020, 0x3bd3f: 0x6e304220,\n\t// Block 0xef5, offset 0x3bd40\n\t0x3bd40: 0x6e304420, 0x3bd41: 0x6e304620, 0x3bd42: 0x6e304820, 0x3bd43: 0x6e304a20,\n\t0x3bd44: 0x6e304c20, 0x3bd45: 0x6e304e20, 0x3bd46: 0x6e305020, 0x3bd47: 0x6e305220,\n\t0x3bd48: 0x6e305420, 0x3bd49: 0x6e305620, 0x3bd4a: 0x6e305820, 0x3bd4b: 0x6e305a20,\n\t0x3bd4c: 0x6e305c20, 0x3bd4d: 0x6e305e20, 0x3bd4e: 0x6e306020, 0x3bd4f: 0x6e306220,\n\t0x3bd50: 0x6e306420, 0x3bd51: 0x6e306620, 0x3bd52: 0x6e306820, 0x3bd53: 0x6e306a20,\n\t0x3bd54: 0x6e306c20, 0x3bd55: 0x6e306e20, 0x3bd56: 0x6e307020, 0x3bd57: 0x6e307220,\n\t0x3bd58: 0x6e307420, 0x3bd59: 0x6e307620, 0x3bd5a: 0x6e307820, 0x3bd5b: 0x6e307a20,\n\t0x3bd5c: 0x6e307c20, 0x3bd5d: 0x6e307e20, 0x3bd5e: 0x6e308020, 0x3bd5f: 0x6e308220,\n\t0x3bd60: 0x6e308420, 0x3bd61: 0x6e308620, 0x3bd62: 0x6e308820, 0x3bd63: 0x6e308a20,\n\t0x3bd64: 0x6e308c20, 0x3bd65: 0x6e308e20, 0x3bd66: 0x6e309020, 0x3bd67: 0x6e309220,\n\t0x3bd68: 0x6e309420, 0x3bd69: 0x6e309620, 0x3bd6a: 0x6e309820, 0x3bd6b: 0x6e309a20,\n\t0x3bd6c: 0x6e374020, 0x3bd6d: 0x6e309c20, 0x3bd6e: 0x6e374220, 0x3bd6f: 0x6e374420,\n\t0x3bd70: 0x6e374620, 0x3bd71: 0x6e374820, 0x3bd72: 0x6e374a20, 0x3bd73: 0x6e374c20,\n\t0x3bd74: 0x6e374e20, 0x3bd75: 0x6e375020, 0x3bd76: 0x6e375220, 0x3bd77: 0x6e375420,\n\t0x3bd78: 0x6e375620, 0x3bd79: 0x6e375820, 0x3bd7a: 0x6e375a20, 0x3bd7b: 0x6e375c20,\n\t0x3bd7c: 0x6e375e20, 0x3bd7d: 0x6e376020, 0x3bd7e: 0x6e376220, 0x3bd7f: 0x6e376420,\n\t// Block 0xef6, offset 0x3bd80\n\t0x3bd80: 0x6e376620, 0x3bd81: 0x6e376820, 0x3bd82: 0x6e376a20, 0x3bd83: 0x6e376c20,\n\t0x3bd84: 0x6e376e20, 0x3bd85: 0x6e377020, 0x3bd86: 0x6e377220, 0x3bd87: 0x6e377420,\n\t0x3bd88: 0x6e377620, 0x3bd89: 0x6e377820, 0x3bd8a: 0x6e377a20, 0x3bd8b: 0x6e377c20,\n\t0x3bd8c: 0x6e377e20, 0x3bd8d: 0x6e378020, 0x3bd8e: 0x6e378220, 0x3bd8f: 0x6e378420,\n\t0x3bd90: 0x6e378620, 0x3bd91: 0x6e3bfa20, 0x3bd92: 0x6e3bfc20, 0x3bd93: 0x6e3bfe20,\n\t0x3bd94: 0x6e3c0020, 0x3bd95: 0x6e3c0220, 0x3bd96: 0x6e3c0420, 0x3bd97: 0x6e3c0620,\n\t0x3bd98: 0x6e3c0820, 0x3bd99: 0x6e3c0a20, 0x3bd9a: 0x6e3c0c20, 0x3bd9b: 0x6e3c0e20,\n\t0x3bd9c: 0x6e3c1020, 0x3bd9d: 0x6e3c1220, 0x3bd9e: 0x6e3c8020, 0x3bd9f: 0x6e3c1420,\n\t0x3bda0: 0x6e3c1620, 0x3bda1: 0x6e3c1820, 0x3bda2: 0x6e3c1a20, 0x3bda3: 0x6e3c1c20,\n\t0x3bda4: 0x6e3c1e20, 0x3bda5: 0x6e3c2020, 0x3bda6: 0x6e3c2220, 0x3bda7: 0x6e3c2420,\n\t0x3bda8: 0x6e3c2620, 0x3bda9: 0x6e3c2820, 0x3bdaa: 0x6e3c2a20, 0x3bdab: 0x6e3c2c20,\n\t0x3bdac: 0x6e3c2e20, 0x3bdad: 0x6e3f8c20, 0x3bdae: 0x6e3f8e20, 0x3bdaf: 0x6e3f9020,\n\t0x3bdb0: 0x6e3f9220, 0x3bdb1: 0x6e3f9420, 0x3bdb2: 0x6e3f9620, 0x3bdb3: 0x6e3f9820,\n\t0x3bdb4: 0x6e3f9a20, 0x3bdb5: 0x6e3f9c20, 0x3bdb6: 0x6e3f9e20, 0x3bdb7: 0x6e3fa020,\n\t0x3bdb8: 0x6e3fa220, 0x3bdb9: 0x6e3fa420, 0x3bdba: 0x6e3fa620, 0x3bdbb: 0x6e3fa820,\n\t0x3bdbc: 0x6e3faa20, 0x3bdbd: 0x6e3fac20, 0x3bdbe: 0x6e3fae20, 0x3bdbf: 0x6e3fb020,\n\t// Block 0xef7, offset 0x3bdc0\n\t0x3bdc0: 0x6e3fb220, 0x3bdc1: 0x6e3fb420, 0x3bdc2: 0x6e3fb620, 0x3bdc3: 0x6e420020,\n\t0x3bdc4: 0x6e420220, 0x3bdc5: 0x6e420420, 0x3bdc6: 0x6e420620, 0x3bdc7: 0x6e420820,\n\t0x3bdc8: 0x6e420a20, 0x3bdc9: 0x6e420c20, 0x3bdca: 0x6e420e20, 0x3bdcb: 0x6e421020,\n\t0x3bdcc: 0x6e421220, 0x3bdcd: 0x6e421420, 0x3bdce: 0x6e421620, 0x3bdcf: 0x6e421820,\n\t0x3bdd0: 0x6e421a20, 0x3bdd1: 0x6e421c20, 0x3bdd2: 0x6e421e20, 0x3bdd3: 0x6e422020,\n\t0x3bdd4: 0x6e422220, 0x3bdd5: 0x6e422420, 0x3bdd6: 0x6e422620, 0x3bdd7: 0x6e422820,\n\t0x3bdd8: 0x6e43c620, 0x3bdd9: 0x6e43c820, 0x3bdda: 0x6e43ca20, 0x3bddb: 0x6e43cc20,\n\t0x3bddc: 0x6e43ce20, 0x3bddd: 0x6e43d020, 0x3bdde: 0x6e43d220, 0x3bddf: 0x6e43d420,\n\t0x3bde0: 0x6e43d620, 0x3bde1: 0x6e43d820, 0x3bde2: 0x6e43da20, 0x3bde3: 0x6e43dc20,\n\t0x3bde4: 0x6e43de20, 0x3bde5: 0x6e44ea20, 0x3bde6: 0x6e44ec20, 0x3bde7: 0x6e44ee20,\n\t0x3bde8: 0x6e44f020, 0x3bde9: 0x6e44f220, 0x3bdea: 0x6e44f420, 0x3bdeb: 0x6e44f620,\n\t0x3bdec: 0x6e44f820, 0x3bded: 0x6e44fa20, 0x3bdee: 0x6e459220, 0x3bdef: 0x6e459420,\n\t0x3bdf0: 0x6e459620, 0x3bdf1: 0x6e459820, 0x3bdf2: 0x6e459a20, 0x3bdf3: 0x6e459c20,\n\t0x3bdf4: 0x6e460220, 0x3bdf5: 0x6e460420, 0x3bdf6: 0x6e460620, 0x3bdf7: 0x6e460820,\n\t0x3bdf8: 0x6e466420, 0x3bdf9: 0x6e466620, 0x3bdfa: 0x6e466820, 0x3bdfb: 0x6e469c20,\n\t0x3bdfc: 0x6e469e20, 0x3bdfd: 0x6e46a020, 0x3bdfe: 0x6e46d620, 0x3bdff: 0x6e46f620,\n\t// Block 0xef8, offset 0x3be00\n\t0x3be00: 0x6e46f820, 0x3be01: 0x6c63b820, 0x3be02: 0x6c63ba20, 0x3be03: 0x6c63bc20,\n\t0x3be04: 0x6c8ade20, 0x3be05: 0x6cb76820, 0x3be06: 0x6cb76a20, 0x3be07: 0x6cb76c20,\n\t0x3be08: 0x6cb76e20, 0x3be09: 0x6cb77020, 0x3be0a: 0x6cb77220, 0x3be0b: 0x6cb77420,\n\t0x3be0c: 0x6ce8a220, 0x3be0d: 0x6ce8a420, 0x3be0e: 0x6d184820, 0x3be0f: 0x6d473420,\n\t0x3be10: 0x6d473620, 0x3be11: 0x6d74f220, 0x3be12: 0x6d74f420, 0x3be13: 0x6d74f620,\n\t0x3be14: 0x6d74f820, 0x3be15: 0x6e0ad620, 0x3be16: 0x6d474620, 0x3be17: 0x6d474820,\n\t0x3be18: 0x6d750220, 0x3be19: 0x6d750420, 0x3be1a: 0x6d750620, 0x3be1b: 0x6d750820,\n\t0x3be1c: 0x6d9ecc20, 0x3be1d: 0x6d9ece20, 0x3be1e: 0x6d9ed020, 0x3be1f: 0x6d9ed220,\n\t0x3be20: 0x6d9ed420, 0x3be21: 0x6d9ed620, 0x3be22: 0x6dc14420, 0x3be23: 0x6ddef220,\n\t0x3be24: 0x6ddef420, 0x3be25: 0x6ddef620, 0x3be26: 0x6df73820, 0x3be27: 0x6df73a20,\n\t0x3be28: 0x6df73c20, 0x3be29: 0x6df73e20, 0x3be2a: 0x6df74020, 0x3be2b: 0x6df74220,\n\t0x3be2c: 0x6df74420, 0x3be2d: 0x6e0ada20, 0x3be2e: 0x6e0adc20, 0x3be2f: 0x6e0ade20,\n\t0x3be30: 0x6e0ae020, 0x3be31: 0x6e0ae220, 0x3be32: 0x6e0ae420, 0x3be33: 0x6e0ae620,\n\t0x3be34: 0x6e0ae820, 0x3be35: 0x6e1aca20, 0x3be36: 0x6e1acc20, 0x3be37: 0x6e1ace20,\n\t0x3be38: 0x6e1ad020, 0x3be39: 0x6e1ad220, 0x3be3a: 0x6e273820, 0x3be3b: 0x6e273a20,\n\t0x3be3c: 0x6e273c20, 0x3be3d: 0x6e273e20, 0x3be3e: 0x6e274020, 0x3be3f: 0x6e30aa20,\n\t// Block 0xef9, offset 0x3be40\n\t0x3be40: 0x6e30ac20, 0x3be41: 0x6e30ae20, 0x3be42: 0x6e30b020, 0x3be43: 0x6e379020,\n\t0x3be44: 0x6e379220, 0x3be45: 0x6e379420, 0x3be46: 0x6e3c3420, 0x3be47: 0x6e3c3620,\n\t0x3be48: 0x6e3fba20, 0x3be49: 0x6e422a20, 0x3be4a: 0x6e43e020, 0x3be4b: 0x6d185c20,\n\t0x3be4c: 0x6d185e20, 0x3be4d: 0x6d474c20, 0x3be4e: 0x6d474e20, 0x3be4f: 0x6d751620,\n\t0x3be50: 0x6d751820, 0x3be51: 0x6d751a20, 0x3be52: 0x6d751c20, 0x3be53: 0x6d751e20,\n\t0x3be54: 0x6d752020, 0x3be55: 0x6d752220, 0x3be56: 0x6d752420, 0x3be57: 0x6d752620,\n\t0x3be58: 0x6d752820, 0x3be59: 0x6d752a20, 0x3be5a: 0x6d752c20, 0x3be5b: 0x6d9eea20,\n\t0x3be5c: 0x6d9eec20, 0x3be5d: 0x6d9eee20, 0x3be5e: 0x6d9ef020, 0x3be5f: 0x6d9ef220,\n\t0x3be60: 0x6d9ef420, 0x3be61: 0x6d9ef620, 0x3be62: 0x6d9ef820, 0x3be63: 0x6d9efa20,\n\t0x3be64: 0x6d9efc20, 0x3be65: 0x6dc14e20, 0x3be66: 0x6dc15020, 0x3be67: 0x6dc15220,\n\t0x3be68: 0x6dc15420, 0x3be69: 0x6dc15620, 0x3be6a: 0x6dc15820, 0x3be6b: 0x6dc15a20,\n\t0x3be6c: 0x6dc15c20, 0x3be6d: 0x6dc15e20, 0x3be6e: 0x6dc16020, 0x3be6f: 0x6dc16220,\n\t0x3be70: 0x6dc16420, 0x3be71: 0x6dc16620, 0x3be72: 0x6dc16820, 0x3be73: 0x6dc16a20,\n\t0x3be74: 0x6ddf0620, 0x3be75: 0x6ddf0820, 0x3be76: 0x6ddf0a20, 0x3be77: 0x6ddf0c20,\n\t0x3be78: 0x6ddf0e20, 0x3be79: 0x6ddf1020, 0x3be7a: 0x6ddf1220, 0x3be7b: 0x6ddf1420,\n\t0x3be7c: 0x6ddf1620, 0x3be7d: 0x6ddf1820, 0x3be7e: 0x6ddf1a20, 0x3be7f: 0x6ddf1c20,\n\t// Block 0xefa, offset 0x3be80\n\t0x3be80: 0x6ddf1e20, 0x3be81: 0x6ddf2020, 0x3be82: 0x6ddf2220, 0x3be83: 0x6ddf2420,\n\t0x3be84: 0x6df75620, 0x3be85: 0x6df75820, 0x3be86: 0x6df75a20, 0x3be87: 0x6df75c20,\n\t0x3be88: 0x6df75e20, 0x3be89: 0x6df76020, 0x3be8a: 0x6df76220, 0x3be8b: 0x6df76420,\n\t0x3be8c: 0x6df76620, 0x3be8d: 0x6df76820, 0x3be8e: 0x6e0af420, 0x3be8f: 0x6e0af620,\n\t0x3be90: 0x6e0af820, 0x3be91: 0x6e0afa20, 0x3be92: 0x6e0afc20, 0x3be93: 0x6e0afe20,\n\t0x3be94: 0x6e0b0020, 0x3be95: 0x6e0b0220, 0x3be96: 0x6e0b0420, 0x3be97: 0x6e1ada20,\n\t0x3be98: 0x6e1adc20, 0x3be99: 0x6e1ade20, 0x3be9a: 0x6e1ae020, 0x3be9b: 0x6e1ae220,\n\t0x3be9c: 0x6e274620, 0x3be9d: 0x6e274820, 0x3be9e: 0x6e274a20, 0x3be9f: 0x6e274c20,\n\t0x3bea0: 0x6e274e20, 0x3bea1: 0x6e30b420, 0x3bea2: 0x6e30b620, 0x3bea3: 0x6e30b820,\n\t0x3bea4: 0x6e30ba20, 0x3bea5: 0x6e30bc20, 0x3bea6: 0x6e30be20, 0x3bea7: 0x6e30c020,\n\t0x3bea8: 0x6e30c220, 0x3bea9: 0x6e30c420, 0x3beaa: 0x6e379c20, 0x3beab: 0x6e379e20,\n\t0x3beac: 0x6e37a020, 0x3bead: 0x6e37a220, 0x3beae: 0x6e3c3a20, 0x3beaf: 0x6e3c3c20,\n\t0x3beb0: 0x6e3c3e20, 0x3beb1: 0x6e3c4020, 0x3beb2: 0x6e3c4220, 0x3beb3: 0x6e3c4420,\n\t0x3beb4: 0x6e3c4620, 0x3beb5: 0x6e422c20, 0x3beb6: 0x6e43e420, 0x3beb7: 0x6e43e620,\n\t0x3beb8: 0x6e44fc20, 0x3beb9: 0x6e460c20, 0x3beba: 0x6e46d820, 0x3bebb: 0x6e46fa20,\n\t0x3bebc: 0x6d186220, 0x3bebd: 0x6d186420, 0x3bebe: 0x6d186620, 0x3bebf: 0x6d186820,\n\t// Block 0xefb, offset 0x3bec0\n\t0x3bec0: 0x6d186a20, 0x3bec1: 0x6d475820, 0x3bec2: 0x6d475a20, 0x3bec3: 0x6d475c20,\n\t0x3bec4: 0x6d475e20, 0x3bec5: 0x6d753c20, 0x3bec6: 0x6d753e20, 0x3bec7: 0x6d754020,\n\t0x3bec8: 0x6d754220, 0x3bec9: 0x6d754420, 0x3beca: 0x6d754620, 0x3becb: 0x6d754820,\n\t0x3becc: 0x6d754a20, 0x3becd: 0x6d754c20, 0x3bece: 0x6d754e20, 0x3becf: 0x6d755020,\n\t0x3bed0: 0x6d755220, 0x3bed1: 0x6d755420, 0x3bed2: 0x6d755620, 0x3bed3: 0x6d755820,\n\t0x3bed4: 0x6d9f0c20, 0x3bed5: 0x6d9f0e20, 0x3bed6: 0x6d9f1020, 0x3bed7: 0x6d9f1220,\n\t0x3bed8: 0x6d9f1420, 0x3bed9: 0x6d9f1620, 0x3beda: 0x6d9f1820, 0x3bedb: 0x6cbd9220,\n\t0x3bedc: 0x6d9f1a20, 0x3bedd: 0x6d9f1c20, 0x3bede: 0x6d9f1e20, 0x3bedf: 0x6d9f2020,\n\t0x3bee0: 0x6d9f2220, 0x3bee1: 0x6d9f2420, 0x3bee2: 0x6dc17420, 0x3bee3: 0x6dc17620,\n\t0x3bee4: 0x6dc17820, 0x3bee5: 0x6dc17a20, 0x3bee6: 0x6dc17c20, 0x3bee7: 0x6dc17e20,\n\t0x3bee8: 0x6dc18020, 0x3bee9: 0x6dc18220, 0x3beea: 0x6dc18420, 0x3beeb: 0x6dc18620,\n\t0x3beec: 0x6dc18820, 0x3beed: 0x6ddf3220, 0x3beee: 0x6ddf3420, 0x3beef: 0x6ddf3620,\n\t0x3bef0: 0x6ddf3820, 0x3bef1: 0x6ddf3a20, 0x3bef2: 0x6ddf3c20, 0x3bef3: 0x6ddf3e20,\n\t0x3bef4: 0x6ddf4020, 0x3bef5: 0x6ddf4220, 0x3bef6: 0x6ddf4420, 0x3bef7: 0x6ddf4620,\n\t0x3bef8: 0x6ddf4820, 0x3bef9: 0x6ddf4a20, 0x3befa: 0x6ddf4c20, 0x3befb: 0x6ddf4e20,\n\t0x3befc: 0x6df77820, 0x3befd: 0x6df77a20, 0x3befe: 0x6df77c20, 0x3beff: 0x6df77e20,\n\t// Block 0xefc, offset 0x3bf00\n\t0x3bf00: 0x6df78020, 0x3bf01: 0x6df78220, 0x3bf02: 0x6df78420, 0x3bf03: 0x6df78620,\n\t0x3bf04: 0x6df78820, 0x3bf05: 0x6df78a20, 0x3bf06: 0x6df78c20, 0x3bf07: 0x6df78e20,\n\t0x3bf08: 0x6df79020, 0x3bf09: 0x6df79220, 0x3bf0a: 0x6df79420, 0x3bf0b: 0x6df79620,\n\t0x3bf0c: 0x6e0b0820, 0x3bf0d: 0x6e0b0a20, 0x3bf0e: 0x6e0b0c20, 0x3bf0f: 0x6e0b0e20,\n\t0x3bf10: 0x6e0b1020, 0x3bf11: 0x6e0b1220, 0x3bf12: 0x6e0b1420, 0x3bf13: 0x6e0b1620,\n\t0x3bf14: 0x6e0b1820, 0x3bf15: 0x6e0b1a20, 0x3bf16: 0x6e0b1c20, 0x3bf17: 0x6e0b1e20,\n\t0x3bf18: 0x6e0b2020, 0x3bf19: 0x6e0b2220, 0x3bf1a: 0x6e0b2420, 0x3bf1b: 0x6e1aea20,\n\t0x3bf1c: 0x6e1aec20, 0x3bf1d: 0x6e1aee20, 0x3bf1e: 0x6e1af020, 0x3bf1f: 0x6e1af220,\n\t0x3bf20: 0x6e1af420, 0x3bf21: 0x6e1af620, 0x3bf22: 0x6e1af820, 0x3bf23: 0x6e275820,\n\t0x3bf24: 0x6e275a20, 0x3bf25: 0x6e275c20, 0x3bf26: 0x6e275e20, 0x3bf27: 0x6e276020,\n\t0x3bf28: 0x6e276220, 0x3bf29: 0x6e276420, 0x3bf2a: 0x6e276620, 0x3bf2b: 0x6e276820,\n\t0x3bf2c: 0x6e276a20, 0x3bf2d: 0x6e276c20, 0x3bf2e: 0x6e276e20, 0x3bf2f: 0x6e277020,\n\t0x3bf30: 0x6e277220, 0x3bf31: 0x6e277420, 0x3bf32: 0x6e30ca20, 0x3bf33: 0x6e30cc20,\n\t0x3bf34: 0x6e30ce20, 0x3bf35: 0x6e30d020, 0x3bf36: 0x6e30d220, 0x3bf37: 0x6e30d420,\n\t0x3bf38: 0x6e37a620, 0x3bf39: 0x6e37a820, 0x3bf3a: 0x6e37aa20, 0x3bf3b: 0x6e37ac20,\n\t0x3bf3c: 0x6e37ae20, 0x3bf3d: 0x6e37b020, 0x3bf3e: 0x6e37b220, 0x3bf3f: 0x6e3fbc20,\n\t// Block 0xefd, offset 0x3bf40\n\t0x3bf40: 0x6e3fbe20, 0x3bf41: 0x6e422e20, 0x3bf42: 0x6e423020, 0x3bf43: 0x6e43e820,\n\t0x3bf44: 0x6e43ea20, 0x3bf45: 0x6e43ec20, 0x3bf46: 0x6e45a020, 0x3bf47: 0x6e460e20,\n\t0x3bf48: 0x6c8aec20, 0x3bf49: 0x6cb78e20, 0x3bf4a: 0x6cb79020, 0x3bf4b: 0x6ce8b020,\n\t0x3bf4c: 0x6d476020, 0x3bf4d: 0x6c63ca20, 0x3bf4e: 0x6d755c20, 0x3bf4f: 0x6d755e20,\n\t0x3bf50: 0x6ddf5020, 0x3bf51: 0x6d186c20, 0x3bf52: 0x6d476820, 0x3bf53: 0x6d476a20,\n\t0x3bf54: 0x6d476c20, 0x3bf55: 0x6d756620, 0x3bf56: 0x6d756820, 0x3bf57: 0x6d756a20,\n\t0x3bf58: 0x6d756c20, 0x3bf59: 0x6d756e20, 0x3bf5a: 0x6d757020, 0x3bf5b: 0x6d9f2820,\n\t0x3bf5c: 0x6d9f2a20, 0x3bf5d: 0x6d9f2c20, 0x3bf5e: 0x6d9f2e20, 0x3bf5f: 0x6d9f3020,\n\t0x3bf60: 0x6dc18c20, 0x3bf61: 0x6dc18e20, 0x3bf62: 0x6dc19020, 0x3bf63: 0x6ddf5420,\n\t0x3bf64: 0x6ddf5620, 0x3bf65: 0x6df79c20, 0x3bf66: 0x6df79e20, 0x3bf67: 0x6df7a020,\n\t0x3bf68: 0x6e0b2c20, 0x3bf69: 0x6e0b2e20, 0x3bf6a: 0x6e1afa20, 0x3bf6b: 0x6e1afc20,\n\t0x3bf6c: 0x6e277620, 0x3bf6d: 0x6e30d620, 0x3bf6e: 0x6e30d820, 0x3bf6f: 0x6e30da20,\n\t0x3bf70: 0x6e37b420, 0x3bf71: 0x6e3c4a20, 0x3bf72: 0x6e461020, 0x3bf73: 0x6d186e20,\n\t0x3bf74: 0x6d476e20, 0x3bf75: 0x6d757220, 0x3bf76: 0x6d757420, 0x3bf77: 0x6d757620,\n\t0x3bf78: 0x6d757820, 0x3bf79: 0x6d757a20, 0x3bf7a: 0x6d9f3820, 0x3bf7b: 0x6dc19a20,\n\t0x3bf7c: 0x6dc19c20, 0x3bf7d: 0x6dc19e20, 0x3bf7e: 0x6dc1a020, 0x3bf7f: 0x6dc1a220,\n\t// Block 0xefe, offset 0x3bf80\n\t0x3bf80: 0x6dc1a420, 0x3bf81: 0x6dc1a620, 0x3bf82: 0x6ddf5e20, 0x3bf83: 0x6ddf6020,\n\t0x3bf84: 0x6ddf6220, 0x3bf85: 0x6ddf6420, 0x3bf86: 0x6df7a620, 0x3bf87: 0x6df7a820,\n\t0x3bf88: 0x6df7aa20, 0x3bf89: 0x6df7ac20, 0x3bf8a: 0x6df7ae20, 0x3bf8b: 0x6df7b020,\n\t0x3bf8c: 0x6df7b220, 0x3bf8d: 0x6df7b420, 0x3bf8e: 0x6df7b620, 0x3bf8f: 0x6df7b820,\n\t0x3bf90: 0x6df7ba20, 0x3bf91: 0x6df7bc20, 0x3bf92: 0x6df7be20, 0x3bf93: 0x6e0b3220,\n\t0x3bf94: 0x6e0b3420, 0x3bf95: 0x6e0b3620, 0x3bf96: 0x6e0b3820, 0x3bf97: 0x6e0b3a20,\n\t0x3bf98: 0x6e0b3c20, 0x3bf99: 0x6e1b0020, 0x3bf9a: 0x6e1b0220, 0x3bf9b: 0x6e1b0420,\n\t0x3bf9c: 0x6e1b0620, 0x3bf9d: 0x6e1b0820, 0x3bf9e: 0x6e1b0a20, 0x3bf9f: 0x6e277820,\n\t0x3bfa0: 0x6e277a20, 0x3bfa1: 0x6e277c20, 0x3bfa2: 0x6e277e20, 0x3bfa3: 0x6e278020,\n\t0x3bfa4: 0x6e30e020, 0x3bfa5: 0x6e30e220, 0x3bfa6: 0x6e30e420, 0x3bfa7: 0x6e37b820,\n\t0x3bfa8: 0x6e37ba20, 0x3bfa9: 0x6e37bc20, 0x3bfaa: 0x6e3fc020, 0x3bfab: 0x6e423220,\n\t0x3bfac: 0x6e461220, 0x3bfad: 0x6d477020, 0x3bfae: 0x6d758220, 0x3bfaf: 0x6d758420,\n\t0x3bfb0: 0x6d9f3e20, 0x3bfb1: 0x6d9f4020, 0x3bfb2: 0x6d9f4220, 0x3bfb3: 0x6d9f4420,\n\t0x3bfb4: 0x6d9f4620, 0x3bfb5: 0x6d9f4820, 0x3bfb6: 0x6dc1aa20, 0x3bfb7: 0x6dc1ac20,\n\t0x3bfb8: 0x6dc1ae20, 0x3bfb9: 0x6dc1b020, 0x3bfba: 0x6dc1b220, 0x3bfbb: 0x6dc1b420,\n\t0x3bfbc: 0x6dc1b620, 0x3bfbd: 0x6dc1b820, 0x3bfbe: 0x6dc1ba20, 0x3bfbf: 0x6ddf6620,\n\t// Block 0xeff, offset 0x3bfc0\n\t0x3bfc0: 0x6ddf6820, 0x3bfc1: 0x6df7c020, 0x3bfc2: 0x6e0b4420, 0x3bfc3: 0x6e0b4620,\n\t0x3bfc4: 0x6e0b4820, 0x3bfc5: 0x6e0b4a20, 0x3bfc6: 0x6e0b4c20, 0x3bfc7: 0x6e1b1220,\n\t0x3bfc8: 0x6e1b1420, 0x3bfc9: 0x6e1b1620, 0x3bfca: 0x6e1b1820, 0x3bfcb: 0x6e278620,\n\t0x3bfcc: 0x6e30e820, 0x3bfcd: 0x6e30ea20, 0x3bfce: 0x6e30ec20, 0x3bfcf: 0x6e30ee20,\n\t0x3bfd0: 0x6e37be20, 0x3bfd1: 0x6e3fc220, 0x3bfd2: 0x6e3c5020, 0x3bfd3: 0x6e3fc420,\n\t0x3bfd4: 0x6e43ee20, 0x3bfd5: 0x6e43f020, 0x3bfd6: 0x6e43f220, 0x3bfd7: 0x6ce8bc20,\n\t0x3bfd8: 0x6d187220, 0x3bfd9: 0x6d477420, 0x3bfda: 0x6d477620, 0x3bfdb: 0x6d477820,\n\t0x3bfdc: 0x6d758c20, 0x3bfdd: 0x6d758e20, 0x3bfde: 0x6d759020, 0x3bfdf: 0x6d759220,\n\t0x3bfe0: 0x6d759420, 0x3bfe1: 0x6d759620, 0x3bfe2: 0x6d759820, 0x3bfe3: 0x6d759a20,\n\t0x3bfe4: 0x6d9f5620, 0x3bfe5: 0x6d9f5820, 0x3bfe6: 0x6d9f5a20, 0x3bfe7: 0x6d9f5c20,\n\t0x3bfe8: 0x6d9f5e20, 0x3bfe9: 0x6d9f6020, 0x3bfea: 0x6d9f6220, 0x3bfeb: 0x6d9f6420,\n\t0x3bfec: 0x6d9f6620, 0x3bfed: 0x6d9f6820, 0x3bfee: 0x6d9f6a20, 0x3bfef: 0x6d9f6c20,\n\t0x3bff0: 0x6d9f6e20, 0x3bff1: 0x6d9f7020, 0x3bff2: 0x6dc1cc20, 0x3bff3: 0x6dc1ce20,\n\t0x3bff4: 0x6dc1d020, 0x3bff5: 0x6dc1d220, 0x3bff6: 0x6dc1d420, 0x3bff7: 0x6dc1d620,\n\t0x3bff8: 0x6dc1d820, 0x3bff9: 0x6dc1da20, 0x3bffa: 0x6dc1dc20, 0x3bffb: 0x6dc1de20,\n\t0x3bffc: 0x6dc1e020, 0x3bffd: 0x6dc1e220, 0x3bffe: 0x6dc1e420, 0x3bfff: 0x6ddf7820,\n\t// Block 0xf00, offset 0x3c000\n\t0x3c000: 0x6ddf7a20, 0x3c001: 0x6ddf7c20, 0x3c002: 0x6ddf7e20, 0x3c003: 0x6ddf8020,\n\t0x3c004: 0x6ddf8220, 0x3c005: 0x6ddf8420, 0x3c006: 0x6ddf8620, 0x3c007: 0x6ddf8820,\n\t0x3c008: 0x6df7cc20, 0x3c009: 0x6df7ce20, 0x3c00a: 0x6df7d020, 0x3c00b: 0x6df7d220,\n\t0x3c00c: 0x6df7d420, 0x3c00d: 0x6df7d620, 0x3c00e: 0x6df7d820, 0x3c00f: 0x6df7da20,\n\t0x3c010: 0x6df7dc20, 0x3c011: 0x6df7de20, 0x3c012: 0x6e0b6220, 0x3c013: 0x6e0b6420,\n\t0x3c014: 0x6e0b6620, 0x3c015: 0x6e0b6820, 0x3c016: 0x6e0b6a20, 0x3c017: 0x6e0b6c20,\n\t0x3c018: 0x6e0b6e20, 0x3c019: 0x6e0b7020, 0x3c01a: 0x6e0b7220, 0x3c01b: 0x6e0b7420,\n\t0x3c01c: 0x6e0b7620, 0x3c01d: 0x6e0b7820, 0x3c01e: 0x6e0b7a20, 0x3c01f: 0x6e0b7c20,\n\t0x3c020: 0x6e0b7e20, 0x3c021: 0x6e0b8020, 0x3c022: 0x6e0b8220, 0x3c023: 0x6e1b2a20,\n\t0x3c024: 0x6e0b8420, 0x3c025: 0x6e1b2c20, 0x3c026: 0x6e1b2e20, 0x3c027: 0x6e1b3020,\n\t0x3c028: 0x6e1b3220, 0x3c029: 0x6e1b3420, 0x3c02a: 0x6e1b3620, 0x3c02b: 0x6e1b3820,\n\t0x3c02c: 0x6e1b3a20, 0x3c02d: 0x6e1b3c20, 0x3c02e: 0x6e1b3e20, 0x3c02f: 0x6e1b4020,\n\t0x3c030: 0x6e1b4220, 0x3c031: 0x6e1b4420, 0x3c032: 0x6e1b4620, 0x3c033: 0x6e1b4820,\n\t0x3c034: 0x6e1b4a20, 0x3c035: 0x6e1b4c20, 0x3c036: 0x6e1b4e20, 0x3c037: 0x6e1b5020,\n\t0x3c038: 0x6e1b5220, 0x3c039: 0x6e1b5420, 0x3c03a: 0x6e1b5620, 0x3c03b: 0x6e1b5820,\n\t0x3c03c: 0x6e1b5a20, 0x3c03d: 0x6e1b5c20, 0x3c03e: 0x6e278c20, 0x3c03f: 0x6e278e20,\n\t// Block 0xf01, offset 0x3c040\n\t0x3c040: 0x6e279020, 0x3c041: 0x6e279220, 0x3c042: 0x6e279420, 0x3c043: 0x6e279620,\n\t0x3c044: 0x6e279820, 0x3c045: 0x6e279a20, 0x3c046: 0x6e279c20, 0x3c047: 0x6e279e20,\n\t0x3c048: 0x6e27a020, 0x3c049: 0x6e27a220, 0x3c04a: 0x6e27a420, 0x3c04b: 0x6e27a620,\n\t0x3c04c: 0x6e27a820, 0x3c04d: 0x6e27aa20, 0x3c04e: 0x6e27ac20, 0x3c04f: 0x6e30f820,\n\t0x3c050: 0x6e30fa20, 0x3c051: 0x6e30fc20, 0x3c052: 0x6e30fe20, 0x3c053: 0x6e310020,\n\t0x3c054: 0x6e310220, 0x3c055: 0x6e310420, 0x3c056: 0x6e310620, 0x3c057: 0x6e310820,\n\t0x3c058: 0x6e37c220, 0x3c059: 0x6e37c420, 0x3c05a: 0x6e37c620, 0x3c05b: 0x6e37c820,\n\t0x3c05c: 0x6e37ca20, 0x3c05d: 0x6e37cc20, 0x3c05e: 0x6e37ce20, 0x3c05f: 0x6e37d020,\n\t0x3c060: 0x6e37d220, 0x3c061: 0x6e37d420, 0x3c062: 0x6e37d620, 0x3c063: 0x6e37d820,\n\t0x3c064: 0x6e37da20, 0x3c065: 0x6e37dc20, 0x3c066: 0x6e37de20, 0x3c067: 0x6e37e020,\n\t0x3c068: 0x6e37e220, 0x3c069: 0x6e3c5a20, 0x3c06a: 0x6e3c5c20, 0x3c06b: 0x6e3c5e20,\n\t0x3c06c: 0x6e3c6020, 0x3c06d: 0x6e3c6220, 0x3c06e: 0x6e3c6420, 0x3c06f: 0x6e3c6620,\n\t0x3c070: 0x6e3c6820, 0x3c071: 0x6e3c6a20, 0x3c072: 0x6e3c6c20, 0x3c073: 0x6e3c6e20,\n\t0x3c074: 0x6e3fca20, 0x3c075: 0x6e3fcc20, 0x3c076: 0x6e3fce20, 0x3c077: 0x6e3fd020,\n\t0x3c078: 0x6e3fd220, 0x3c079: 0x6e423620, 0x3c07a: 0x6e423820, 0x3c07b: 0x6e423a20,\n\t0x3c07c: 0x6e423c20, 0x3c07d: 0x6e423e20, 0x3c07e: 0x6e424020, 0x3c07f: 0x6e43f620,\n\t// Block 0xf02, offset 0x3c080\n\t0x3c080: 0x6e43f820, 0x3c081: 0x6e43fa20, 0x3c082: 0x6e43fc20, 0x3c083: 0x6e450020,\n\t0x3c084: 0x6e450220, 0x3c085: 0x6e45a220, 0x3c086: 0x6e45a420, 0x3c087: 0x6e466a20,\n\t0x3c088: 0x6e466c20, 0x3c089: 0x6e471c20, 0x3c08a: 0x6e472a20, 0x3c08b: 0x6ddf8a20,\n\t0x3c08c: 0x6e0b8a20, 0x3c08d: 0x6e1b6020, 0x3c08e: 0x6e1b6220, 0x3c08f: 0x6e1b6420,\n\t0x3c090: 0x6e310a20, 0x3c091: 0x6d477a20, 0x3c092: 0x6d759c20, 0x3c093: 0x6d759e20,\n\t0x3c094: 0x6dc1ea20, 0x3c095: 0x6dc1ec20, 0x3c096: 0x6dc1ee20, 0x3c097: 0x6dc1f020,\n\t0x3c098: 0x6dc1f220, 0x3c099: 0x6dc1f420, 0x3c09a: 0x6ddf9420, 0x3c09b: 0x6ddf9620,\n\t0x3c09c: 0x6ddf9820, 0x3c09d: 0x6ddf9a20, 0x3c09e: 0x6ddf9c20, 0x3c09f: 0x6ddf9e20,\n\t0x3c0a0: 0x6ddfa020, 0x3c0a1: 0x6df7e820, 0x3c0a2: 0x6df7ea20, 0x3c0a3: 0x6df7ec20,\n\t0x3c0a4: 0x6df7ee20, 0x3c0a5: 0x6df7f020, 0x3c0a6: 0x6df7f220, 0x3c0a7: 0x6e0b8c20,\n\t0x3c0a8: 0x6e0b8e20, 0x3c0a9: 0x6e0b9020, 0x3c0aa: 0x6e0b9220, 0x3c0ab: 0x6e0b9420,\n\t0x3c0ac: 0x6e1b6820, 0x3c0ad: 0x6e1b6a20, 0x3c0ae: 0x6e27b020, 0x3c0af: 0x6e27b220,\n\t0x3c0b0: 0x6e27b420, 0x3c0b1: 0x6e27b620, 0x3c0b2: 0x6e27b820, 0x3c0b3: 0x6e27ba20,\n\t0x3c0b4: 0x6e27bc20, 0x3c0b5: 0x6e27be20, 0x3c0b6: 0x6e27c020, 0x3c0b7: 0x6e311020,\n\t0x3c0b8: 0x6e311220, 0x3c0b9: 0x6e37e620, 0x3c0ba: 0x6e3c7420, 0x3c0bb: 0x6e3cd420,\n\t0x3c0bc: 0x6e3fd620, 0x3c0bd: 0x6e3c7620, 0x3c0be: 0x6e3fd820, 0x3c0bf: 0x6e424220,\n\t// Block 0xf03, offset 0x3c0c0\n\t0x3c0c0: 0x6e424420, 0x3c0c1: 0x6e43fe20, 0x3c0c2: 0x6ce8c220, 0x3c0c3: 0x6d477c20,\n\t0x3c0c4: 0x6d75a620, 0x3c0c5: 0x6d75a820, 0x3c0c6: 0x6d75aa20, 0x3c0c7: 0x6d9f7a20,\n\t0x3c0c8: 0x6ddfa220, 0x3c0c9: 0x6e27c220, 0x3c0ca: 0x6e424620, 0x3c0cb: 0x6d9f7c20,\n\t0x3c0cc: 0x6d9f7e20, 0x3c0cd: 0x6dc1fa20, 0x3c0ce: 0x6dc1fc20, 0x3c0cf: 0x6dc1fe20,\n\t0x3c0d0: 0x6ddfae20, 0x3c0d1: 0x6ddfb020, 0x3c0d2: 0x6ddfb220, 0x3c0d3: 0x6ddfb420,\n\t0x3c0d4: 0x6df7fa20, 0x3c0d5: 0x6df7fc20, 0x3c0d6: 0x6df7fe20, 0x3c0d7: 0x6df80020,\n\t0x3c0d8: 0x6df80220, 0x3c0d9: 0x6df80420, 0x3c0da: 0x6df80620, 0x3c0db: 0x6df80820,\n\t0x3c0dc: 0x6e0b9820, 0x3c0dd: 0x6e0b9a20, 0x3c0de: 0x6e0b9c20, 0x3c0df: 0x6e0b9e20,\n\t0x3c0e0: 0x6e0ba020, 0x3c0e1: 0x6e0ba220, 0x3c0e2: 0x6e1b7620, 0x3c0e3: 0x6e1b7820,\n\t0x3c0e4: 0x6e1b7a20, 0x3c0e5: 0x6e1b7c20, 0x3c0e6: 0x6e27c620, 0x3c0e7: 0x6e27c820,\n\t0x3c0e8: 0x6e27ca20, 0x3c0e9: 0x6e27cc20, 0x3c0ea: 0x6e27ce20, 0x3c0eb: 0x6e27d020,\n\t0x3c0ec: 0x6e27d220, 0x3c0ed: 0x6e27d420, 0x3c0ee: 0x6e311620, 0x3c0ef: 0x6e37ee20,\n\t0x3c0f0: 0x6e37f020, 0x3c0f1: 0x6e37f220, 0x3c0f2: 0x6e37f420, 0x3c0f3: 0x6e3c8220,\n\t0x3c0f4: 0x6e3c8420, 0x3c0f5: 0x6e3fdc20, 0x3c0f6: 0x6e424820, 0x3c0f7: 0x6e450620,\n\t0x3c0f8: 0x6d75ae20, 0x3c0f9: 0x6d75b020, 0x3c0fa: 0x6d9f8220, 0x3c0fb: 0x6d9f8420,\n\t0x3c0fc: 0x6d9f8620, 0x3c0fd: 0x6dc20820, 0x3c0fe: 0x6dc20a20, 0x3c0ff: 0x6dc20c20,\n\t// Block 0xf04, offset 0x3c100\n\t0x3c100: 0x6dc20e20, 0x3c101: 0x6dc21020, 0x3c102: 0x6dc21220, 0x3c103: 0x6dc21420,\n\t0x3c104: 0x6dc21620, 0x3c105: 0x6dc21820, 0x3c106: 0x6dc21a20, 0x3c107: 0x6dc21c20,\n\t0x3c108: 0x6dc21e20, 0x3c109: 0x6ddfc820, 0x3c10a: 0x6ddfca20, 0x3c10b: 0x6ddfcc20,\n\t0x3c10c: 0x6ddfce20, 0x3c10d: 0x6ddfd020, 0x3c10e: 0x6ddfd220, 0x3c10f: 0x6ddfd420,\n\t0x3c110: 0x6ddfd620, 0x3c111: 0x6ddfd820, 0x3c112: 0x6df80e20, 0x3c113: 0x6df81020,\n\t0x3c114: 0x6df81220, 0x3c115: 0x6df81420, 0x3c116: 0x6df81620, 0x3c117: 0x6df81820,\n\t0x3c118: 0x6df81a20, 0x3c119: 0x6df81c20, 0x3c11a: 0x6e0baa20, 0x3c11b: 0x6e0bac20,\n\t0x3c11c: 0x6e0bae20, 0x3c11d: 0x6e0bb020, 0x3c11e: 0x6e0bb220, 0x3c11f: 0x6df81e20,\n\t0x3c120: 0x6e0bb420, 0x3c121: 0x6e0bb620, 0x3c122: 0x6e0bb820, 0x3c123: 0x6e0bba20,\n\t0x3c124: 0x6e0bbc20, 0x3c125: 0x6e0bbe20, 0x3c126: 0x6e0bc020, 0x3c127: 0x6e0bc220,\n\t0x3c128: 0x6e1b8220, 0x3c129: 0x6e1b8420, 0x3c12a: 0x6e1b8620, 0x3c12b: 0x6e27e020,\n\t0x3c12c: 0x6e27e220, 0x3c12d: 0x6e27e420, 0x3c12e: 0x6e27e620, 0x3c12f: 0x6e27e820,\n\t0x3c130: 0x6e27ea20, 0x3c131: 0x6e27ec20, 0x3c132: 0x6e27ee20, 0x3c133: 0x6e27f020,\n\t0x3c134: 0x6e27f220, 0x3c135: 0x6e312420, 0x3c136: 0x6e312620, 0x3c137: 0x6e312820,\n\t0x3c138: 0x6e312a20, 0x3c139: 0x6e312c20, 0x3c13a: 0x6e312e20, 0x3c13b: 0x6e313020,\n\t0x3c13c: 0x6e313220, 0x3c13d: 0x6e313420, 0x3c13e: 0x6e313620, 0x3c13f: 0x6e380420,\n\t// Block 0xf05, offset 0x3c140\n\t0x3c140: 0x6e37f620, 0x3c141: 0x6e37f820, 0x3c142: 0x6e37fa20, 0x3c143: 0x6e37fc20,\n\t0x3c144: 0x6e37fe20, 0x3c145: 0x6e3c8620, 0x3c146: 0x6e3c8820, 0x3c147: 0x6e3c8a20,\n\t0x3c148: 0x6e3c8c20, 0x3c149: 0x6e3c8e20, 0x3c14a: 0x6e3fde20, 0x3c14b: 0x6e424a20,\n\t0x3c14c: 0x6e450820, 0x3c14d: 0x6e450a20, 0x3c14e: 0x6e45a620, 0x3c14f: 0x6e461420,\n\t0x3c150: 0x6d75b220, 0x3c151: 0x6d9f8c20, 0x3c152: 0x6d9f8e20, 0x3c153: 0x6dc22420,\n\t0x3c154: 0x6dc22620, 0x3c155: 0x6ddfe020, 0x3c156: 0x6ddfe220, 0x3c157: 0x6ddfe420,\n\t0x3c158: 0x6ddfe620, 0x3c159: 0x6ddfe820, 0x3c15a: 0x6df82620, 0x3c15b: 0x6df82820,\n\t0x3c15c: 0x6df82a20, 0x3c15d: 0x6df82c20, 0x3c15e: 0x6df82e20, 0x3c15f: 0x6df83020,\n\t0x3c160: 0x6df83220, 0x3c161: 0x6e0bc820, 0x3c162: 0x6e0bca20, 0x3c163: 0x6e0bcc20,\n\t0x3c164: 0x6e0bce20, 0x3c165: 0x6e1b8a20, 0x3c166: 0x6e1b8c20, 0x3c167: 0x6e1b8e20,\n\t0x3c168: 0x6e1b9020, 0x3c169: 0x6e1b9220, 0x3c16a: 0x6e1b9420, 0x3c16b: 0x6e1b9620,\n\t0x3c16c: 0x6e1b9820, 0x3c16d: 0x6e27f620, 0x3c16e: 0x6e27f820, 0x3c16f: 0x6e313c20,\n\t0x3c170: 0x6e313e20, 0x3c171: 0x6e314020, 0x3c172: 0x6e314220, 0x3c173: 0x6e380620,\n\t0x3c174: 0x6e380820, 0x3c175: 0x6e380a20, 0x3c176: 0x6e3c9420, 0x3c177: 0x6e3c9620,\n\t0x3c178: 0x6e3c9820, 0x3c179: 0x6e3c9a20, 0x3c17a: 0x6e3c9c20, 0x3c17b: 0x6e3fe020,\n\t0x3c17c: 0x6e3fe220, 0x3c17d: 0x6e3fe420, 0x3c17e: 0x6e425020, 0x3c17f: 0x6e425220,\n\t// Block 0xf06, offset 0x3c180\n\t0x3c180: 0x6e425420, 0x3c181: 0x6e45aa20, 0x3c182: 0x6e461620, 0x3c183: 0x6e466e20,\n\t0x3c184: 0x6d478420, 0x3c185: 0x6d9f9020, 0x3c186: 0x6dc22e20, 0x3c187: 0x6ddff020,\n\t0x3c188: 0x6ddff220, 0x3c189: 0x6df83620, 0x3c18a: 0x6df83820, 0x3c18b: 0x6e0bd020,\n\t0x3c18c: 0x6e0bd220, 0x3c18d: 0x6e27fa20, 0x3c18e: 0x6e1b9c20, 0x3c18f: 0x6e3c9e20,\n\t0x3c190: 0x6e3ca020, 0x3c191: 0x6e3ca220, 0x3c192: 0x6e440220, 0x3c193: 0x6e45ac20,\n\t0x3c194: 0x6dc23220, 0x3c195: 0x6dc23420, 0x3c196: 0x6dc23620, 0x3c197: 0x6dc23820,\n\t0x3c198: 0x6ddff820, 0x3c199: 0x6ddffa20, 0x3c19a: 0x6ddffc20, 0x3c19b: 0x6df84420,\n\t0x3c19c: 0x6df84620, 0x3c19d: 0x6df84820, 0x3c19e: 0x6df84a20, 0x3c19f: 0x6df84c20,\n\t0x3c1a0: 0x6df84e20, 0x3c1a1: 0x6df85020, 0x3c1a2: 0x6df85220, 0x3c1a3: 0x6df85420,\n\t0x3c1a4: 0x6df85620, 0x3c1a5: 0x6e0bee20, 0x3c1a6: 0x6e0bf020, 0x3c1a7: 0x6e0bf220,\n\t0x3c1a8: 0x6e0bf420, 0x3c1a9: 0x6e0bf620, 0x3c1aa: 0x6e0bf820, 0x3c1ab: 0x6e0bfa20,\n\t0x3c1ac: 0x6e0bfc20, 0x3c1ad: 0x6e0bfe20, 0x3c1ae: 0x6e0c0020, 0x3c1af: 0x6e0c0220,\n\t0x3c1b0: 0x6e0c0420, 0x3c1b1: 0x6e0c0620, 0x3c1b2: 0x6e0c0820, 0x3c1b3: 0x6e0c0a20,\n\t0x3c1b4: 0x6e0c0c20, 0x3c1b5: 0x6e0c0e20, 0x3c1b6: 0x6e0c1020, 0x3c1b7: 0x6e1bb020,\n\t0x3c1b8: 0x6e1bb220, 0x3c1b9: 0x6e1bb420, 0x3c1ba: 0x6e1bb620, 0x3c1bb: 0x6e1bb820,\n\t0x3c1bc: 0x6e1bba20, 0x3c1bd: 0x6e1bbc20, 0x3c1be: 0x6e1bbe20, 0x3c1bf: 0x6e1bc020,\n\t// Block 0xf07, offset 0x3c1c0\n\t0x3c1c0: 0x6e1bc220, 0x3c1c1: 0x6e1bc420, 0x3c1c2: 0x6e1bc620, 0x3c1c3: 0x6e1bc820,\n\t0x3c1c4: 0x6e1bca20, 0x3c1c5: 0x6e1bcc20, 0x3c1c6: 0x6e1bce20, 0x3c1c7: 0x6e1bd020,\n\t0x3c1c8: 0x6e1bd220, 0x3c1c9: 0x6e1bd420, 0x3c1ca: 0x6e1bd620, 0x3c1cb: 0x6e1bd820,\n\t0x3c1cc: 0x6e1bda20, 0x3c1cd: 0x6e1bdc20, 0x3c1ce: 0x6e280620, 0x3c1cf: 0x6e280820,\n\t0x3c1d0: 0x6e280a20, 0x3c1d1: 0x6e280c20, 0x3c1d2: 0x6e280e20, 0x3c1d3: 0x6e281020,\n\t0x3c1d4: 0x6e281220, 0x3c1d5: 0x6e281420, 0x3c1d6: 0x6e281620, 0x3c1d7: 0x6e281820,\n\t0x3c1d8: 0x6e281a20, 0x3c1d9: 0x6e281c20, 0x3c1da: 0x6e281e20, 0x3c1db: 0x6e282020,\n\t0x3c1dc: 0x6e282220, 0x3c1dd: 0x6e282420, 0x3c1de: 0x6e282620, 0x3c1df: 0x6e282820,\n\t0x3c1e0: 0x6e282a20, 0x3c1e1: 0x6e282c20, 0x3c1e2: 0x6e282e20, 0x3c1e3: 0x6e283020,\n\t0x3c1e4: 0x6e283220, 0x3c1e5: 0x6e315420, 0x3c1e6: 0x6e315620, 0x3c1e7: 0x6e315820,\n\t0x3c1e8: 0x6e315a20, 0x3c1e9: 0x6e315c20, 0x3c1ea: 0x6e315e20, 0x3c1eb: 0x6e316020,\n\t0x3c1ec: 0x6e316220, 0x3c1ed: 0x6e316420, 0x3c1ee: 0x6e316620, 0x3c1ef: 0x6e316820,\n\t0x3c1f0: 0x6e316a20, 0x3c1f1: 0x6e316c20, 0x3c1f2: 0x6e316e20, 0x3c1f3: 0x6e317020,\n\t0x3c1f4: 0x6e317220, 0x3c1f5: 0x6e317420, 0x3c1f6: 0x6e317620, 0x3c1f7: 0x6e317820,\n\t0x3c1f8: 0x6e317a20, 0x3c1f9: 0x6e381e20, 0x3c1fa: 0x6e382020, 0x3c1fb: 0x6e382220,\n\t0x3c1fc: 0x6e382420, 0x3c1fd: 0x6e382620, 0x3c1fe: 0x6e382820, 0x3c1ff: 0x6e382a20,\n\t// Block 0xf08, offset 0x3c200\n\t0x3c200: 0x6e382c20, 0x3c201: 0x6e382e20, 0x3c202: 0x6e383020, 0x3c203: 0x6e383220,\n\t0x3c204: 0x6e383420, 0x3c205: 0x6e383620, 0x3c206: 0x6e383820, 0x3c207: 0x6e383a20,\n\t0x3c208: 0x6e383c20, 0x3c209: 0x6e3cb020, 0x3c20a: 0x6e3cb220, 0x3c20b: 0x6e3cb420,\n\t0x3c20c: 0x6e3cb620, 0x3c20d: 0x6e3cb820, 0x3c20e: 0x6e3cba20, 0x3c20f: 0x6e3cbc20,\n\t0x3c210: 0x6e3cbe20, 0x3c211: 0x6e3cc020, 0x3c212: 0x6e3cc220, 0x3c213: 0x6e3cc420,\n\t0x3c214: 0x6e3cc620, 0x3c215: 0x6e3cc820, 0x3c216: 0x6e3cca20, 0x3c217: 0x6e3ccc20,\n\t0x3c218: 0x6e3cce20, 0x3c219: 0x6e3cd020, 0x3c21a: 0x6e3fea20, 0x3c21b: 0x6e3fec20,\n\t0x3c21c: 0x6e3fee20, 0x3c21d: 0x6e3ff020, 0x3c21e: 0x6e3ff220, 0x3c21f: 0x6e3ff420,\n\t0x3c220: 0x6e3ff620, 0x3c221: 0x6e3ff820, 0x3c222: 0x6e3ffa20, 0x3c223: 0x6e425820,\n\t0x3c224: 0x6e425a20, 0x3c225: 0x6e425c20, 0x3c226: 0x6e425e20, 0x3c227: 0x6e426020,\n\t0x3c228: 0x6e426220, 0x3c229: 0x6e426420, 0x3c22a: 0x6e426620, 0x3c22b: 0x6e426820,\n\t0x3c22c: 0x6e426a20, 0x3c22d: 0x6e426c20, 0x3c22e: 0x6e426e20, 0x3c22f: 0x6e427020,\n\t0x3c230: 0x6e440a20, 0x3c231: 0x6e440c20, 0x3c232: 0x6e440e20, 0x3c233: 0x6e441020,\n\t0x3c234: 0x6e441220, 0x3c235: 0x6e441420, 0x3c236: 0x6e451020, 0x3c237: 0x6e45ae20,\n\t0x3c238: 0x6e45b020, 0x3c239: 0x6e45b220, 0x3c23a: 0x6e45b420, 0x3c23b: 0x6e45b620,\n\t0x3c23c: 0x6e45b820, 0x3c23d: 0x6e461820, 0x3c23e: 0x6e461a20, 0x3c23f: 0x6e461c20,\n\t// Block 0xf09, offset 0x3c240\n\t0x3c240: 0x6e461e20, 0x3c241: 0x6e467020, 0x3c242: 0x6e467220, 0x3c243: 0x6e467420,\n\t0x3c244: 0x6e467620, 0x3c245: 0x6e46a620, 0x3c246: 0x6e46be20, 0x3c247: 0x6e46c020,\n\t0x3c248: 0x6e46c220, 0x3c249: 0x6e46c420, 0x3c24a: 0x6e46de20, 0x3c24b: 0x6e46e020,\n\t0x3c24c: 0x6e46fe20, 0x3c24d: 0x6e472620, 0x3c24e: 0x6e472820, 0x3c24f: 0x6d478a20,\n\t0x3c250: 0x6d9f9420, 0x3c251: 0x6df85c20, 0x3c252: 0x6df85e20, 0x3c253: 0x6df86020,\n\t0x3c254: 0x6df86220, 0x3c255: 0x6e0c1420, 0x3c256: 0x6e0c1620, 0x3c257: 0x6e0c1820,\n\t0x3c258: 0x6e0c1a20, 0x3c259: 0x6e1be420, 0x3c25a: 0x6e0c1c20, 0x3c25b: 0x6e0c1e20,\n\t0x3c25c: 0x6e283e20, 0x3c25d: 0x6e284020, 0x3c25e: 0x6e284220, 0x3c25f: 0x6e284420,\n\t0x3c260: 0x6e317c20, 0x3c261: 0x6e317e20, 0x3c262: 0x6e3cd220, 0x3c263: 0x6e427420,\n\t0x3c264: 0x6e427620, 0x3c265: 0x6e474220, 0x3c266: 0x6d9fa020, 0x3c267: 0x6e1bec20,\n\t0x3c268: 0x6de00220, 0x3c269: 0x6df86620, 0x3c26a: 0x6df86820, 0x3c26b: 0x6e0c2620,\n\t0x3c26c: 0x6e0c2820, 0x3c26d: 0x6e0c2a20, 0x3c26e: 0x6e0c2c20, 0x3c26f: 0x6e0c2e20,\n\t0x3c270: 0x6e0c3020, 0x3c271: 0x6e0c3220, 0x3c272: 0x6e0c3420, 0x3c273: 0x6e0c3620,\n\t0x3c274: 0x6e0c3820, 0x3c275: 0x6e0c3a20, 0x3c276: 0x6e1bee20, 0x3c277: 0x6e1bf020,\n\t0x3c278: 0x6e1bf220, 0x3c279: 0x6e1bf420, 0x3c27a: 0x6e1bf620, 0x3c27b: 0x6e1bf820,\n\t0x3c27c: 0x6e1bfa20, 0x3c27d: 0x6e1bfc20, 0x3c27e: 0x6e318220, 0x3c27f: 0x6e318420,\n\t// Block 0xf0a, offset 0x3c280\n\t0x3c280: 0x6e384020, 0x3c281: 0x6e3cd620, 0x3c282: 0x6e427820, 0x3c283: 0x6e427a20,\n\t0x3c284: 0x6e427c20, 0x3c285: 0x6e441820, 0x3c286: 0x6e441a20, 0x3c287: 0x6e45ba20,\n\t0x3c288: 0x6e46aa20, 0x3c289: 0x6d9fa220, 0x3c28a: 0x6e1c0220, 0x3c28b: 0x6e3cdc20,\n\t0x3c28c: 0x6e3cde20, 0x3c28d: 0x6e3ce020, 0x3c28e: 0x6e400020, 0x3c28f: 0x6e400220,\n\t0x3c290: 0x6e400420, 0x3c291: 0x6e400620, 0x3c292: 0x6e428020, 0x3c293: 0x6e441e20,\n\t0x3c294: 0x6e462020, 0x3c295: 0x6e46ac20, 0x3c296: 0x6e471220,\n\t// Block 0xf0b, offset 0x3c2c0\n\t0x3c2c0: 0x6c00f020, 0x3c2c1: 0x6c00f220, 0x3c2c2: 0x6c023420, 0x3c2c3: 0x6c28c220,\n\t0x3c2c4: 0x6c42f420, 0x3c2c5: 0x6c63d620, 0x3c2c6: 0x6c8afa20, 0x3c2c7: 0x6d75d220,\n\t0x3c2c8: 0x6c024020, 0x3c2c9: 0x6c42fe20, 0x3c2ca: 0x6c004c20, 0x3c2cb: 0x6c28ce20,\n\t0x3c2cc: 0x6c0b0c20, 0x3c2cd: 0x6c430820, 0x3c2ce: 0x6c63ee20, 0x3c2cf: 0x6c63f020,\n\t0x3c2d0: 0x6c05ae20, 0x3c2d1: 0x6c0b3620, 0x3c2d2: 0x6c161c20, 0x3c2d3: 0x6c161e20,\n\t0x3c2d4: 0x6c28f020, 0x3c2d5: 0x6c432a20, 0x3c2d6: 0x6c63fe20, 0x3c2d7: 0x6c640020,\n\t0x3c2d8: 0x6c8b2020, 0x3c2d9: 0x6cb7b620, 0x3c2da: 0x6cb7b820, 0x3c2db: 0x6ce8dc20,\n\t0x3c2dc: 0x6c162820, 0x3c2dd: 0x6cb7bc20, 0x3c2de: 0x6d18a820, 0x3c2df: 0x6d479c20,\n\t0x3c2e0: 0x6c05b420, 0x3c2e1: 0x6c05b620, 0x3c2e2: 0x6c164420, 0x3c2e3: 0x6c8b3c20,\n\t0x3c2e4: 0x6cb7d620, 0x3c2e5: 0x6d47b020, 0x3c2e6: 0x6de00c20, 0x3c2e7: 0x6c02c420,\n\t0x3c2e8: 0x6c0c3c20, 0x3c2e9: 0x6c0c3e20, 0x3c2ea: 0x6c0c4020, 0x3c2eb: 0x6c0c4220,\n\t0x3c2ec: 0x6c172220, 0x3c2ed: 0x6c172420, 0x3c2ee: 0x6c172620, 0x3c2ef: 0x6c172820,\n\t0x3c2f0: 0x6c172a20, 0x3c2f1: 0x6c172c20, 0x3c2f2: 0x6c172e20, 0x3c2f3: 0x6c173020,\n\t0x3c2f4: 0x6c173220, 0x3c2f5: 0x6c2a1c20, 0x3c2f6: 0x6c2a1e20, 0x3c2f7: 0x6c2a2020,\n\t0x3c2f8: 0x6c2a2220, 0x3c2f9: 0x6c2a2420, 0x3c2fa: 0x6c2a2620, 0x3c2fb: 0x6c444a20,\n\t0x3c2fc: 0x6c444c20, 0x3c2fd: 0x6c444e20, 0x3c2fe: 0x6c445020, 0x3c2ff: 0x6c445220,\n\t// Block 0xf0c, offset 0x3c300\n\t0x3c300: 0x6c445420, 0x3c301: 0x6c445620, 0x3c302: 0x6c445820, 0x3c303: 0x6c655c20,\n\t0x3c304: 0x6c655e20, 0x3c305: 0x6c656020, 0x3c306: 0x6c656220, 0x3c307: 0x6c656420,\n\t0x3c308: 0x6c656620, 0x3c309: 0x6c656820, 0x3c30a: 0x6c656a20, 0x3c30b: 0x6c8c4e20,\n\t0x3c30c: 0x6c8c5020, 0x3c30d: 0x6c8c5220, 0x3c30e: 0x6c8c5420, 0x3c30f: 0x6c8c5620,\n\t0x3c310: 0x6c8c5820, 0x3c311: 0x6c8c5a20, 0x3c312: 0x6c8c5c20, 0x3c313: 0x6c8c5e20,\n\t0x3c314: 0x6c8c6020, 0x3c315: 0x6c8c6220, 0x3c316: 0x6cb8b220, 0x3c317: 0x6cb8b420,\n\t0x3c318: 0x6cb8b620, 0x3c319: 0x6cb8b820, 0x3c31a: 0x6cb8ba20, 0x3c31b: 0x6cb8bc20,\n\t0x3c31c: 0x6cb8be20, 0x3c31d: 0x6cb8c020, 0x3c31e: 0x6cb8c220, 0x3c31f: 0x6cb8c420,\n\t0x3c320: 0x6ce9d620, 0x3c321: 0x6ce9d820, 0x3c322: 0x6ce9da20, 0x3c323: 0x6ce9dc20,\n\t0x3c324: 0x6ce9de20, 0x3c325: 0x6d19a820, 0x3c326: 0x6d19aa20, 0x3c327: 0x6d19ac20,\n\t0x3c328: 0x6d19ae20, 0x3c329: 0x6d19b020, 0x3c32a: 0x6d19b220, 0x3c32b: 0x6d485020,\n\t0x3c32c: 0x6d485220, 0x3c32d: 0x6d485420, 0x3c32e: 0x6d485620, 0x3c32f: 0x6d485820,\n\t0x3c330: 0x6d765e20, 0x3c331: 0x6d766020, 0x3c332: 0x6d766220, 0x3c333: 0x6d766420,\n\t0x3c334: 0x6d9ffc20, 0x3c335: 0x6d9ffe20, 0x3c336: 0x6da00020, 0x3c337: 0x6dc28620,\n\t0x3c338: 0x6dc28820, 0x3c339: 0x6dc28a20, 0x3c33a: 0x6de03c20, 0x3c33b: 0x6de03e20,\n\t0x3c33c: 0x6de04020, 0x3c33d: 0x6df88c20, 0x3c33e: 0x6e0c6220, 0x3c33f: 0x6c2a4a20,\n\t// Block 0xf0d, offset 0x3c340\n\t0x3c340: 0x6c446820, 0x3c341: 0x6c658420, 0x3c342: 0x6ce9ea20, 0x3c343: 0x6d486a20,\n\t0x3c344: 0x6d486c20, 0x3c345: 0x6d486e20, 0x3c346: 0x6de04620, 0x3c347: 0x6c658e20,\n\t0x3c348: 0x6c0c7620, 0x3c349: 0x6cb8f020, 0x3c34a: 0x6cea0620, 0x3c34b: 0x6d19da20,\n\t0x3c34c: 0x6d487020, 0x3c34d: 0x6d768220, 0x3c34e: 0x6c177e20, 0x3c34f: 0x6c178a20,\n\t0x3c350: 0x6c178c20, 0x3c351: 0x6c2a7220, 0x3c352: 0x6c65c020, 0x3c353: 0x6c8c9420,\n\t0x3c354: 0x6cb90a20, 0x3c355: 0x6d19e820, 0x3c356: 0x6c065820, 0x3c357: 0x6c0cb220,\n\t0x3c358: 0x6c0cb420, 0x3c359: 0x6c0cb620, 0x3c35a: 0x6c0cb820, 0x3c35b: 0x6c17b220,\n\t0x3c35c: 0x6c17b420, 0x3c35d: 0x6c17b620, 0x3c35e: 0x6c2a9620, 0x3c35f: 0x6c44ca20,\n\t0x3c360: 0x6c44cc20, 0x3c361: 0x6c44ce20, 0x3c362: 0x6c65f820, 0x3c363: 0x6c65fa20,\n\t0x3c364: 0x6c65fc20, 0x3c365: 0x6c65fe20, 0x3c366: 0x6c8cb620, 0x3c367: 0x6c8cb820,\n\t0x3c368: 0x6c8cba20, 0x3c369: 0x6cb92c20, 0x3c36a: 0x6cb92e20, 0x3c36b: 0x6cea2a20,\n\t0x3c36c: 0x6cea2c20, 0x3c36d: 0x6d19fc20, 0x3c36e: 0x6d489020, 0x3c36f: 0x6d769820,\n\t0x3c370: 0x6df8a020, 0x3c371: 0x6c0cd020, 0x3c372: 0x6c17ce20, 0x3c373: 0x6c660a20,\n\t0x3c374: 0x6c8cce20, 0x3c375: 0x6cea3620, 0x3c376: 0x6c067a20, 0x3c377: 0x6c2aba20,\n\t0x3c378: 0x6c661020, 0x3c379: 0x6cb94420, 0x3c37a: 0x6cea3820, 0x3c37b: 0x6cea3a20,\n\t0x3c37c: 0x6dc2b420, 0x3c37d: 0x6de05420, 0x3c37e: 0x6c0d3420, 0x3c37f: 0x6c0d3620,\n\t// Block 0xf0e, offset 0x3c380\n\t0x3c380: 0x6c0d3820, 0x3c381: 0x6c183420, 0x3c382: 0x6c183620, 0x3c383: 0x6c2b4420,\n\t0x3c384: 0x6c2b4620, 0x3c385: 0x6c2b4820, 0x3c386: 0x6c454820, 0x3c387: 0x6c454a20,\n\t0x3c388: 0x6c66a220, 0x3c389: 0x6c66a420, 0x3c38a: 0x6c8d3a20, 0x3c38b: 0x6c8d3c20,\n\t0x3c38c: 0x6c8d3e20, 0x3c38d: 0x6c8d4020, 0x3c38e: 0x6cb9a420, 0x3c38f: 0x6cb9a620,\n\t0x3c390: 0x6cb9a820, 0x3c391: 0x6cea8c20, 0x3c392: 0x6cea8e20, 0x3c393: 0x6cea9020,\n\t0x3c394: 0x6d48d820, 0x3c395: 0x6d76d620, 0x3c396: 0x6d76d820, 0x3c397: 0x6c187220,\n\t0x3c398: 0x6c187420, 0x3c399: 0x6c187620, 0x3c39a: 0x6c2b8220, 0x3c39b: 0x6c2b8420,\n\t0x3c39c: 0x6c458020, 0x3c39d: 0x6c66d820, 0x3c39e: 0x6c66da20, 0x3c39f: 0x6c66dc20,\n\t0x3c3a0: 0x6c8d6820, 0x3c3a1: 0x6cb9d020, 0x3c3a2: 0x6cb9d220, 0x3c3a3: 0x6ceabe20,\n\t0x3c3a4: 0x6d1aa420, 0x3c3a5: 0x6d1aa620, 0x3c3a6: 0x6d48f020, 0x3c3a7: 0x6e0c8220,\n\t0x3c3a8: 0x6c016620, 0x3c3a9: 0x6c0d6620, 0x3c3aa: 0x6c459e20, 0x3c3ab: 0x6cead020,\n\t0x3c3ac: 0x6c0d7820, 0x3c3ad: 0x6c18a020, 0x3c3ae: 0x6c18a220, 0x3c3af: 0x6c45be20,\n\t0x3c3b0: 0x6c670c20, 0x3c3b1: 0x6d1ac820, 0x3c3b2: 0x6df8c020, 0x3c3b3: 0x6c18bc20,\n\t0x3c3b4: 0x6c671e20, 0x3c3b5: 0x6c8da620, 0x3c3b6: 0x6ceaf420, 0x3c3b7: 0x6d1ad220,\n\t0x3c3b8: 0x6d490e20, 0x3c3b9: 0x6d491020, 0x3c3ba: 0x6da08220, 0x3c3bb: 0x6dc2de20,\n\t0x3c3bc: 0x6df8c420, 0x3c3bd: 0x6c037a20, 0x3c3be: 0x6c18ce20, 0x3c3bf: 0x6c672c20,\n\t// Block 0xf0f, offset 0x3c3c0\n\t0x3c3c0: 0x6d1ad820, 0x3c3c1: 0x6c2bfe20, 0x3c3c2: 0x6c45f420, 0x3c3c3: 0x6c070820,\n\t0x3c3c4: 0x6c190020, 0x3c3c5: 0x6c2c2420, 0x3c3c6: 0x6c2c2620, 0x3c3c7: 0x6c462420,\n\t0x3c3c8: 0x6c462620, 0x3c3c9: 0x6c462820, 0x3c3ca: 0x6c462a20, 0x3c3cb: 0x6c676420,\n\t0x3c3cc: 0x6c676620, 0x3c3cd: 0x6c676820, 0x3c3ce: 0x6c676a20, 0x3c3cf: 0x6c8dde20,\n\t0x3c3d0: 0x6c8de020, 0x3c3d1: 0x6cba2a20, 0x3c3d2: 0x6cba2c20, 0x3c3d3: 0x6ceb1a20,\n\t0x3c3d4: 0x6ceb1c20, 0x3c3d5: 0x6ceb1e20, 0x3c3d6: 0x6d1b1020, 0x3c3d7: 0x6d1b1220,\n\t0x3c3d8: 0x6d493620, 0x3c3d9: 0x6d493820, 0x3c3da: 0x6da08c20, 0x3c3db: 0x6df8c820,\n\t0x3c3dc: 0x6c463c20, 0x3c3dd: 0x6c677a20, 0x3c3de: 0x6c8dee20, 0x3c3df: 0x6cba4020,\n\t0x3c3e0: 0x6ceb3020, 0x3c3e1: 0x6d494220, 0x3c3e2: 0x6df8ca20, 0x3c3e3: 0x6c03b820,\n\t0x3c3e4: 0x6c03ba20, 0x3c3e5: 0x6c0e1a20, 0x3c3e6: 0x6c192020, 0x3c3e7: 0x6c2c5220,\n\t0x3c3e8: 0x6c2c5420, 0x3c3e9: 0x6c466020, 0x3c3ea: 0x6c466220, 0x3c3eb: 0x6c679620,\n\t0x3c3ec: 0x6c679820, 0x3c3ed: 0x6cba5820, 0x3c3ee: 0x6cba5a20, 0x3c3ef: 0x6ceb4c20,\n\t0x3c3f0: 0x6d1b3220, 0x3c3f1: 0x6d770a20, 0x3c3f2: 0x6c078620, 0x3c3f3: 0x6c1a4420,\n\t0x3c3f4: 0x6c1a4620, 0x3c3f5: 0x6c1a4820, 0x3c3f6: 0x6c2d7620, 0x3c3f7: 0x6c2d7820,\n\t0x3c3f8: 0x6c2d7a20, 0x3c3f9: 0x6c2d7c20, 0x3c3fa: 0x6c47c620, 0x3c3fb: 0x6c47c820,\n\t0x3c3fc: 0x6c47ca20, 0x3c3fd: 0x6c47cc20, 0x3c3fe: 0x6c47ce20, 0x3c3ff: 0x6c47d020,\n\t// Block 0xf10, offset 0x3c400\n\t0x3c400: 0x6c47d220, 0x3c401: 0x6c47d420, 0x3c402: 0x6c47d620, 0x3c403: 0x6c47d820,\n\t0x3c404: 0x6c693820, 0x3c405: 0x6c693a20, 0x3c406: 0x6c693c20, 0x3c407: 0x6c693e20,\n\t0x3c408: 0x6c694020, 0x3c409: 0x6c694220, 0x3c40a: 0x6c694420, 0x3c40b: 0x6c694620,\n\t0x3c40c: 0x6c694820, 0x3c40d: 0x6c694a20, 0x3c40e: 0x6c694c20, 0x3c40f: 0x6d770c20,\n\t0x3c410: 0x6c900020, 0x3c411: 0x6c900220, 0x3c412: 0x6c900420, 0x3c413: 0x6c900620,\n\t0x3c414: 0x6c900820, 0x3c415: 0x6c900a20, 0x3c416: 0x6c900c20, 0x3c417: 0x6c900e20,\n\t0x3c418: 0x6c901020, 0x3c419: 0x6c901220, 0x3c41a: 0x6c901420, 0x3c41b: 0x6c901620,\n\t0x3c41c: 0x6cbc2220, 0x3c41d: 0x6cbc2420, 0x3c41e: 0x6cbc2620, 0x3c41f: 0x6cbc2820,\n\t0x3c420: 0x6cbc2a20, 0x3c421: 0x6cbc2c20, 0x3c422: 0x6cbc2e20, 0x3c423: 0x6cbc3020,\n\t0x3c424: 0x6cbc3220, 0x3c425: 0x6cbc3420, 0x3c426: 0x6cbc3620, 0x3c427: 0x6cbc3820,\n\t0x3c428: 0x6cbc3a20, 0x3c429: 0x6cbc3c20, 0x3c42a: 0x6ced0c20, 0x3c42b: 0x6ced0e20,\n\t0x3c42c: 0x6ced1020, 0x3c42d: 0x6ced1220, 0x3c42e: 0x6ced1420, 0x3c42f: 0x6ced1620,\n\t0x3c430: 0x6ced1820, 0x3c431: 0x6ced1a20, 0x3c432: 0x6ced1c20, 0x3c433: 0x6ced1e20,\n\t0x3c434: 0x6ced2020, 0x3c435: 0x6ced2220, 0x3c436: 0x6ced2420, 0x3c437: 0x6ced2620,\n\t0x3c438: 0x6d1cd020, 0x3c439: 0x6d1cd220, 0x3c43a: 0x6d1cd420, 0x3c43b: 0x6d1cd620,\n\t0x3c43c: 0x6d1cd820, 0x3c43d: 0x6d1cda20, 0x3c43e: 0x6d1cdc20, 0x3c43f: 0x6d1cde20,\n\t// Block 0xf11, offset 0x3c440\n\t0x3c440: 0x6d1ce020, 0x3c441: 0x6d1ce220, 0x3c442: 0x6d1ce420, 0x3c443: 0x6d1ce620,\n\t0x3c444: 0x6d1ce820, 0x3c445: 0x6d4aa220, 0x3c446: 0x6d4aa420, 0x3c447: 0x6d4aa620,\n\t0x3c448: 0x6d4aa820, 0x3c449: 0x6d4aaa20, 0x3c44a: 0x6d4aac20, 0x3c44b: 0x6d4aae20,\n\t0x3c44c: 0x6d4ab020, 0x3c44d: 0x6d4ab220, 0x3c44e: 0x6d784a20, 0x3c44f: 0x6d784c20,\n\t0x3c450: 0x6d784e20, 0x3c451: 0x6d785020, 0x3c452: 0x6d785220, 0x3c453: 0x6d785420,\n\t0x3c454: 0x6d785620, 0x3c455: 0x6da17420, 0x3c456: 0x6da17620, 0x3c457: 0x6da17820,\n\t0x3c458: 0x6da17a20, 0x3c459: 0x6dc3ce20, 0x3c45a: 0x6dc3d020, 0x3c45b: 0x6dc3d220,\n\t0x3c45c: 0x6dc3d420, 0x3c45d: 0x6dc3d620, 0x3c45e: 0x6dc3d820, 0x3c45f: 0x6de0f820,\n\t0x3c460: 0x6de0fa20, 0x3c461: 0x6de0fc20, 0x3c462: 0x6df92220, 0x3c463: 0x6df92420,\n\t0x3c464: 0x6df92620, 0x3c465: 0x6e1c7020, 0x3c466: 0x6e31be20, 0x3c467: 0x6e31c020,\n\t0x3c468: 0x6c1a9620, 0x3c469: 0x6c2da820, 0x3c46a: 0x6c47fe20, 0x3c46b: 0x6c697c20,\n\t0x3c46c: 0x6c904220, 0x3c46d: 0x6c904420, 0x3c46e: 0x6ced4820, 0x3c46f: 0x6d1d1420,\n\t0x3c470: 0x6d786420, 0x3c471: 0x6c07c020, 0x3c472: 0x6c07c220, 0x3c473: 0x6c0f0420,\n\t0x3c474: 0x6c0f0620, 0x3c475: 0x6c0f0820, 0x3c476: 0x6c0f0a20, 0x3c477: 0x6c0f0c20,\n\t0x3c478: 0x6c1b5020, 0x3c479: 0x6c1b5220, 0x3c47a: 0x6c1b5420, 0x3c47b: 0x6c1b5620,\n\t0x3c47c: 0x6c1b5820, 0x3c47d: 0x6c1b5a20, 0x3c47e: 0x6c1b5c20, 0x3c47f: 0x6c1b5e20,\n\t// Block 0xf12, offset 0x3c480\n\t0x3c480: 0x6c1b6020, 0x3c481: 0x6c1b6220, 0x3c482: 0x6c1b6420, 0x3c483: 0x6c2e6e20,\n\t0x3c484: 0x6c2e7020, 0x3c485: 0x6c2e7220, 0x3c486: 0x6c2e7420, 0x3c487: 0x6c2e7620,\n\t0x3c488: 0x6c2e7820, 0x3c489: 0x6c2e7a20, 0x3c48a: 0x6c2e7c20, 0x3c48b: 0x6c48d420,\n\t0x3c48c: 0x6c48d620, 0x3c48d: 0x6c48d820, 0x3c48e: 0x6c48da20, 0x3c48f: 0x6c48dc20,\n\t0x3c490: 0x6c48de20, 0x3c491: 0x6c48e020, 0x3c492: 0x6c48e220, 0x3c493: 0x6c48e420,\n\t0x3c494: 0x6c6a4e20, 0x3c495: 0x6c6a5020, 0x3c496: 0x6c6a5220, 0x3c497: 0x6c6a5420,\n\t0x3c498: 0x6c6a5620, 0x3c499: 0x6c6a5820, 0x3c49a: 0x6c6a5a20, 0x3c49b: 0x6c6a5c20,\n\t0x3c49c: 0x6c6a5e20, 0x3c49d: 0x6c6a6020, 0x3c49e: 0x6c6a6220, 0x3c49f: 0x6c6a6420,\n\t0x3c4a0: 0x6c6a6620, 0x3c4a1: 0x6c6a6820, 0x3c4a2: 0x6c6a6a20, 0x3c4a3: 0x6c6a6c20,\n\t0x3c4a4: 0x6c914220, 0x3c4a5: 0x6c914420, 0x3c4a6: 0x6c914620, 0x3c4a7: 0x6c914820,\n\t0x3c4a8: 0x6c914a20, 0x3c4a9: 0x6c914c20, 0x3c4aa: 0x6c914e20, 0x3c4ab: 0x6c915020,\n\t0x3c4ac: 0x6c915220, 0x3c4ad: 0x6c915420, 0x3c4ae: 0x6c915620, 0x3c4af: 0x6c915820,\n\t0x3c4b0: 0x6c915a20, 0x3c4b1: 0x6c915c20, 0x3c4b2: 0x6cbd6c20, 0x3c4b3: 0x6cbd6e20,\n\t0x3c4b4: 0x6cbd7020, 0x3c4b5: 0x6cbd7220, 0x3c4b6: 0x6cbd7420, 0x3c4b7: 0x6cbd7620,\n\t0x3c4b8: 0x6cbd7820, 0x3c4b9: 0x6cbd7a20, 0x3c4ba: 0x6cbd7c20, 0x3c4bb: 0x6cbd7e20,\n\t0x3c4bc: 0x6cbd8020, 0x3c4bd: 0x6cbd8220, 0x3c4be: 0x6cee2e20, 0x3c4bf: 0x6cee3020,\n\t// Block 0xf13, offset 0x3c4c0\n\t0x3c4c0: 0x6cee3220, 0x3c4c1: 0x6cee3420, 0x3c4c2: 0x6cee3620, 0x3c4c3: 0x6cee3820,\n\t0x3c4c4: 0x6cee3a20, 0x3c4c5: 0x6cee3c20, 0x3c4c6: 0x6cee3e20, 0x3c4c7: 0x6cee4020,\n\t0x3c4c8: 0x6cee4220, 0x3c4c9: 0x6cee4420, 0x3c4ca: 0x6cee4620, 0x3c4cb: 0x6cee4820,\n\t0x3c4cc: 0x6cee4a20, 0x3c4cd: 0x6cee4c20, 0x3c4ce: 0x6d1dda20, 0x3c4cf: 0x6d1ddc20,\n\t0x3c4d0: 0x6d1dde20, 0x3c4d1: 0x6d1de020, 0x3c4d2: 0x6d1de220, 0x3c4d3: 0x6d1de420,\n\t0x3c4d4: 0x6d1de620, 0x3c4d5: 0x6d1de820, 0x3c4d6: 0x6d1dea20, 0x3c4d7: 0x6d1dec20,\n\t0x3c4d8: 0x6d1dee20, 0x3c4d9: 0x6d4b9420, 0x3c4da: 0x6d4b9620, 0x3c4db: 0x6d4b9820,\n\t0x3c4dc: 0x6d4b9a20, 0x3c4dd: 0x6d4b9c20, 0x3c4de: 0x6d4b9e20, 0x3c4df: 0x6d78f020,\n\t0x3c4e0: 0x6d78f220, 0x3c4e1: 0x6d78f420, 0x3c4e2: 0x6d78f620, 0x3c4e3: 0x6d78f820,\n\t0x3c4e4: 0x6d78fa20, 0x3c4e5: 0x6d78fc20, 0x3c4e6: 0x6da1f420, 0x3c4e7: 0x6da1f620,\n\t0x3c4e8: 0x6da1f820, 0x3c4e9: 0x6da1fa20, 0x3c4ea: 0x6da1fc20, 0x3c4eb: 0x6da1fe20,\n\t0x3c4ec: 0x6dc42820, 0x3c4ed: 0x6dc42a20, 0x3c4ee: 0x6dc42c20, 0x3c4ef: 0x6dc42e20,\n\t0x3c4f0: 0x6de14220, 0x3c4f1: 0x6df95020, 0x3c4f2: 0x6c6a8020, 0x3c4f3: 0x6cee5a20,\n\t0x3c4f4: 0x6e1c8e20, 0x3c4f5: 0x6df95420, 0x3c4f6: 0x6cee6820, 0x3c4f7: 0x6c0f2820,\n\t0x3c4f8: 0x6c2e9820, 0x3c4f9: 0x6c490020, 0x3c4fa: 0x6c6aa820, 0x3c4fb: 0x6c919620,\n\t0x3c4fc: 0x6cbdb420, 0x3c4fd: 0x6d1e2c20, 0x3c4fe: 0x6d4bb620, 0x3c4ff: 0x6d791a20,\n\t// Block 0xf14, offset 0x3c500\n\t0x3c500: 0x6e1c9020, 0x3c501: 0x6c03ee20, 0x3c502: 0x6c07fa20, 0x3c503: 0x6c0f5420,\n\t0x3c504: 0x6c1bbe20, 0x3c505: 0x6c1bc020, 0x3c506: 0x6c1bc220, 0x3c507: 0x6c2ee620,\n\t0x3c508: 0x6c2ee820, 0x3c509: 0x6c2eea20, 0x3c50a: 0x6c2eec20, 0x3c50b: 0x6c2eee20,\n\t0x3c50c: 0x6c2ef020, 0x3c50d: 0x6c493620, 0x3c50e: 0x6c493820, 0x3c50f: 0x6c493a20,\n\t0x3c510: 0x6c6ae220, 0x3c511: 0x6c6ae420, 0x3c512: 0x6c6ae620, 0x3c513: 0x6c91cc20,\n\t0x3c514: 0x6c91ce20, 0x3c515: 0x6c91d020, 0x3c516: 0x6cbdec20, 0x3c517: 0x6cbdee20,\n\t0x3c518: 0x6cbdf020, 0x3c519: 0x6ceea020, 0x3c51a: 0x6ceea220, 0x3c51b: 0x6ceea420,\n\t0x3c51c: 0x6d1e4c20, 0x3c51d: 0x6d1e4e20, 0x3c51e: 0x6d1e5020, 0x3c51f: 0x6d4bd820,\n\t0x3c520: 0x6d4bda20, 0x3c521: 0x6d4bdc20, 0x3c522: 0x6dc45220, 0x3c523: 0x6df95a20,\n\t0x3c524: 0x6c0fa220, 0x3c525: 0x6c0fa420, 0x3c526: 0x6c1c5220, 0x3c527: 0x6c1c5420,\n\t0x3c528: 0x6c1c5620, 0x3c529: 0x6c1c5820, 0x3c52a: 0x6c1c5a20, 0x3c52b: 0x6c1c5c20,\n\t0x3c52c: 0x6c1c5e20, 0x3c52d: 0x6c2fc020, 0x3c52e: 0x6c2fc220, 0x3c52f: 0x6c2fc420,\n\t0x3c530: 0x6c2fc620, 0x3c531: 0x6c4a0c20, 0x3c532: 0x6c4a0e20, 0x3c533: 0x6c4a1020,\n\t0x3c534: 0x6c4a1220, 0x3c535: 0x6c4a1420, 0x3c536: 0x6c6bcc20, 0x3c537: 0x6c6bce20,\n\t0x3c538: 0x6c6bd020, 0x3c539: 0x6c6bd220, 0x3c53a: 0x6c6bd420, 0x3c53b: 0x6c92ec20,\n\t0x3c53c: 0x6c92ee20, 0x3c53d: 0x6c92f020, 0x3c53e: 0x6c92f220, 0x3c53f: 0x6c92f420,\n\t// Block 0xf15, offset 0x3c540\n\t0x3c540: 0x6c92f620, 0x3c541: 0x6c92f820, 0x3c542: 0x6c92fa20, 0x3c543: 0x6c92fc20,\n\t0x3c544: 0x6c92fe20, 0x3c545: 0x6c930020, 0x3c546: 0x6cbf2a20, 0x3c547: 0x6cbf2c20,\n\t0x3c548: 0x6cbf2e20, 0x3c549: 0x6cbf3020, 0x3c54a: 0x6cbf3220, 0x3c54b: 0x6cbf3420,\n\t0x3c54c: 0x6cbf3620, 0x3c54d: 0x6cbf3820, 0x3c54e: 0x6cbf3a20, 0x3c54f: 0x6cbf3c20,\n\t0x3c550: 0x6cbf3e20, 0x3c551: 0x6cef6c20, 0x3c552: 0x6cef6e20, 0x3c553: 0x6cef7020,\n\t0x3c554: 0x6cef7220, 0x3c555: 0x6cef7420, 0x3c556: 0x6cef7620, 0x3c557: 0x6d1f1420,\n\t0x3c558: 0x6d1f1620, 0x3c559: 0x6d1f1820, 0x3c55a: 0x6d1f1a20, 0x3c55b: 0x6d1f1c20,\n\t0x3c55c: 0x6d1f1e20, 0x3c55d: 0x6d1f2020, 0x3c55e: 0x6d1f2220, 0x3c55f: 0x6d1f2420,\n\t0x3c560: 0x6d4ca820, 0x3c561: 0x6d4caa20, 0x3c562: 0x6d4cac20, 0x3c563: 0x6d4cae20,\n\t0x3c564: 0x6d4cb020, 0x3c565: 0x6d4cb220, 0x3c566: 0x6d79d420, 0x3c567: 0x6d79d620,\n\t0x3c568: 0x6d79d820, 0x3c569: 0x6d79da20, 0x3c56a: 0x6d79dc20, 0x3c56b: 0x6da29420,\n\t0x3c56c: 0x6dc48620, 0x3c56d: 0x6dc48820, 0x3c56e: 0x6dc48a20, 0x3c56f: 0x6dc48c20,\n\t0x3c570: 0x6de18c20, 0x3c571: 0x6de18e20, 0x3c572: 0x6df98420, 0x3c573: 0x6e0d4020,\n\t0x3c574: 0x6e0d4220, 0x3c575: 0x6e28ae20, 0x3c576: 0x6c1c7e20, 0x3c577: 0x6c1c8020,\n\t0x3c578: 0x6c1c8220, 0x3c579: 0x6c1c8420, 0x3c57a: 0x6c2ff820, 0x3c57b: 0x6c4a3e20,\n\t0x3c57c: 0x6c931c20, 0x3c57d: 0x6c931e20, 0x3c57e: 0x6c932020, 0x3c57f: 0x6cbf6020,\n\t// Block 0xf16, offset 0x3c580\n\t0x3c580: 0x6d1f3a20, 0x3c581: 0x6d79fc20, 0x3c582: 0x6da29c20, 0x3c583: 0x6da29e20,\n\t0x3c584: 0x6e0d4420, 0x3c585: 0x6c1cb620, 0x3c586: 0x6c1cb820, 0x3c587: 0x6c1cba20,\n\t0x3c588: 0x6c304020, 0x3c589: 0x6c304220, 0x3c58a: 0x6c4a8820, 0x3c58b: 0x6c4a8a20,\n\t0x3c58c: 0x6c4a8c20, 0x3c58d: 0x6c6c6a20, 0x3c58e: 0x6c6c6c20, 0x3c58f: 0x6c6c6e20,\n\t0x3c590: 0x6c6c7020, 0x3c591: 0x6c937c20, 0x3c592: 0x6c937e20, 0x3c593: 0x6c938020,\n\t0x3c594: 0x6cbfc620, 0x3c595: 0x6cbfc820, 0x3c596: 0x6cbfca20, 0x3c597: 0x6cbfcc20,\n\t0x3c598: 0x6cbfce20, 0x3c599: 0x6cbfd020, 0x3c59a: 0x6cbfd220, 0x3c59b: 0x6cefec20,\n\t0x3c59c: 0x6cefee20, 0x3c59d: 0x6ceff020, 0x3c59e: 0x6ceff220, 0x3c59f: 0x6ceff420,\n\t0x3c5a0: 0x6ceff620, 0x3c5a1: 0x6d1fa020, 0x3c5a2: 0x6d1fa220, 0x3c5a3: 0x6d1fa420,\n\t0x3c5a4: 0x6d1fa620, 0x3c5a5: 0x6d1fa820, 0x3c5a6: 0x6d4d1620, 0x3c5a7: 0x6d4d1820,\n\t0x3c5a8: 0x6d4d1a20, 0x3c5a9: 0x6d4d1c20, 0x3c5aa: 0x6d4d1e20, 0x3c5ab: 0x6d7a2820,\n\t0x3c5ac: 0x6d7a2a20, 0x3c5ad: 0x6d7a2c20, 0x3c5ae: 0x6d7a2e20, 0x3c5af: 0x6da2be20,\n\t0x3c5b0: 0x6dc4b220, 0x3c5b1: 0x6dc4b420, 0x3c5b2: 0x6dc4b620, 0x3c5b3: 0x6df9a220,\n\t0x3c5b4: 0x6df9a420, 0x3c5b5: 0x6e0d5a20, 0x3c5b6: 0x6e31ee20, 0x3c5b7: 0x6c0fea20,\n\t0x3c5b8: 0x6c939220, 0x3c5b9: 0x6c939420, 0x3c5ba: 0x6cbfe820, 0x3c5bb: 0x6d4d3420,\n\t0x3c5bc: 0x6d4d3620, 0x3c5bd: 0x6d7a3620, 0x3c5be: 0x6da2c620, 0x3c5bf: 0x6c1cd420,\n\t// Block 0xf17, offset 0x3c5c0\n\t0x3c5c0: 0x6c306820, 0x3c5c1: 0x6c6c9020, 0x3c5c2: 0x6c6c9220, 0x3c5c3: 0x6d1fce20,\n\t0x3c5c4: 0x6d4d4e20, 0x3c5c5: 0x6d7a4020, 0x3c5c6: 0x6da2d020, 0x3c5c7: 0x6cc01e20,\n\t0x3c5c8: 0x6cf02c20, 0x3c5c9: 0x6c1d1820, 0x3c5ca: 0x6c1d1a20, 0x3c5cb: 0x6c1d1c20,\n\t0x3c5cc: 0x6c30b020, 0x3c5cd: 0x6c4b0e20, 0x3c5ce: 0x6c4b1020, 0x3c5cf: 0x6c6cf020,\n\t0x3c5d0: 0x6c6cf220, 0x3c5d1: 0x6c940e20, 0x3c5d2: 0x6cf05e20, 0x3c5d3: 0x6cf06020,\n\t0x3c5d4: 0x6cf06220, 0x3c5d5: 0x6cc05a20, 0x3c5d6: 0x6cc05c20, 0x3c5d7: 0x6cc05e20,\n\t0x3c5d8: 0x6cc06020, 0x3c5d9: 0x6d1ffc20, 0x3c5da: 0x6d1ffe20, 0x3c5db: 0x6d4d8820,\n\t0x3c5dc: 0x6d4d8a20, 0x3c5dd: 0x6d7a5e20, 0x3c5de: 0x6da2e020, 0x3c5df: 0x6de1cc20,\n\t0x3c5e0: 0x6de1ce20, 0x3c5e1: 0x6e1cd220, 0x3c5e2: 0x6c108820, 0x3c5e3: 0x6c108a20,\n\t0x3c5e4: 0x6c108c20, 0x3c5e5: 0x6c108e20, 0x3c5e6: 0x6c1dcc20, 0x3c5e7: 0x6c1dce20,\n\t0x3c5e8: 0x6c1dd020, 0x3c5e9: 0x6c316e20, 0x3c5ea: 0x6c317020, 0x3c5eb: 0x6c317220,\n\t0x3c5ec: 0x6c317420, 0x3c5ed: 0x6c317620, 0x3c5ee: 0x6c317820, 0x3c5ef: 0x6c4bbe20,\n\t0x3c5f0: 0x6c4bc020, 0x3c5f1: 0x6c4bc220, 0x3c5f2: 0x6c4bc420, 0x3c5f3: 0x6c4bc620,\n\t0x3c5f4: 0x6c4bc820, 0x3c5f5: 0x6c6dd420, 0x3c5f6: 0x6c6dd620, 0x3c5f7: 0x6c6dd820,\n\t0x3c5f8: 0x6c6dda20, 0x3c5f9: 0x6c6ddc20, 0x3c5fa: 0x6c6dde20, 0x3c5fb: 0x6c953c20,\n\t0x3c5fc: 0x6c953e20, 0x3c5fd: 0x6c954020, 0x3c5fe: 0x6c954220, 0x3c5ff: 0x6c954420,\n\t// Block 0xf18, offset 0x3c600\n\t0x3c600: 0x6c954620, 0x3c601: 0x6c954820, 0x3c602: 0x6cc15e20, 0x3c603: 0x6cc16020,\n\t0x3c604: 0x6cc16220, 0x3c605: 0x6cc16420, 0x3c606: 0x6cc16620, 0x3c607: 0x6cc16820,\n\t0x3c608: 0x6cf10820, 0x3c609: 0x6cf10a20, 0x3c60a: 0x6cf10c20, 0x3c60b: 0x6cf10e20,\n\t0x3c60c: 0x6d20ac20, 0x3c60d: 0x6d20ae20, 0x3c60e: 0x6d20b020, 0x3c60f: 0x6d20b220,\n\t0x3c610: 0x6d20b420, 0x3c611: 0x6d20b620, 0x3c612: 0x6d20b820, 0x3c613: 0x6d4e4020,\n\t0x3c614: 0x6d4e4220, 0x3c615: 0x6d4e4420, 0x3c616: 0x6d4e4620, 0x3c617: 0x6d7acc20,\n\t0x3c618: 0x6d7ace20, 0x3c619: 0x6d7ad020, 0x3c61a: 0x6d7ad220, 0x3c61b: 0x6da34c20,\n\t0x3c61c: 0x6da34e20, 0x3c61d: 0x6da35020, 0x3c61e: 0x6de20a20, 0x3c61f: 0x6e0d9020,\n\t0x3c620: 0x6e1cfc20, 0x3c621: 0x6c1ddc20, 0x3c622: 0x6c4bd820, 0x3c623: 0x6c10aa20,\n\t0x3c624: 0x6c955620, 0x3c625: 0x6cc17620, 0x3c626: 0x6cf11620, 0x3c627: 0x6d20bc20,\n\t0x3c628: 0x6da35820, 0x3c629: 0x6dc50c20, 0x3c62a: 0x6e1d0220, 0x3c62b: 0x6c319020,\n\t0x3c62c: 0x6c1de820, 0x3c62d: 0x6cc18420, 0x3c62e: 0x6cc18620, 0x3c62f: 0x6d20be20,\n\t0x3c630: 0x6d7ae420, 0x3c631: 0x6d7ae620, 0x3c632: 0x6c08b820, 0x3c633: 0x6c6e4c20,\n\t0x3c634: 0x6c95c220, 0x3c635: 0x6c95c420, 0x3c636: 0x6c95c620, 0x3c637: 0x6c95c820,\n\t0x3c638: 0x6cc1ec20, 0x3c639: 0x6cc1ee20, 0x3c63a: 0x6cc1f020, 0x3c63b: 0x6d210420,\n\t0x3c63c: 0x6d4ea620, 0x3c63d: 0x6d7b1820, 0x3c63e: 0x6da37a20, 0x3c63f: 0x6de22a20,\n\t// Block 0xf19, offset 0x3c640\n\t0x3c640: 0x6df9e820, 0x3c641: 0x6c1e3820, 0x3c642: 0x6c95ce20, 0x3c643: 0x6c95d020,\n\t0x3c644: 0x6cc1fa20, 0x3c645: 0x6cf16220, 0x3c646: 0x6cf16420, 0x3c647: 0x6d4eac20,\n\t0x3c648: 0x6dc51e20, 0x3c649: 0x6de22e20, 0x3c64a: 0x6c10e220, 0x3c64b: 0x6c4c6420,\n\t0x3c64c: 0x6c1e8020, 0x3c64d: 0x6c1e8220, 0x3c64e: 0x6c323e20, 0x3c64f: 0x6c324020,\n\t0x3c650: 0x6c4ca820, 0x3c651: 0x6c4caa20, 0x3c652: 0x6c6eae20, 0x3c653: 0x6c6eb020,\n\t0x3c654: 0x6c6eb220, 0x3c655: 0x6c6eb420, 0x3c656: 0x6c6eb620, 0x3c657: 0x6c6eb820,\n\t0x3c658: 0x6c964820, 0x3c659: 0x6c964a20, 0x3c65a: 0x6cc26020, 0x3c65b: 0x6cc26220,\n\t0x3c65c: 0x6cf1a820, 0x3c65d: 0x6cf1aa20, 0x3c65e: 0x6d216620, 0x3c65f: 0x6d216820,\n\t0x3c660: 0x6d216a20, 0x3c661: 0x6d4efa20, 0x3c662: 0x6d4efc20, 0x3c663: 0x6d4efe20,\n\t0x3c664: 0x6d7b5820, 0x3c665: 0x6d7b5a20, 0x3c666: 0x6da39a20, 0x3c667: 0x6da39c20,\n\t0x3c668: 0x6da39e20, 0x3c669: 0x6dc53c20, 0x3c66a: 0x6de25420, 0x3c66b: 0x6e0da820,\n\t0x3c66c: 0x6c08d820, 0x3c66d: 0x6c1e8c20, 0x3c66e: 0x6c1e8e20, 0x3c66f: 0x6c4cc020,\n\t0x3c670: 0x6c6ec020, 0x3c671: 0x6c965820, 0x3c672: 0x6d217220, 0x3c673: 0x6c1ea420,\n\t0x3c674: 0x6c325a20, 0x3c675: 0x6c6ed220, 0x3c676: 0x6cc27820, 0x3c677: 0x6cf1b620,\n\t0x3c678: 0x6da3a620, 0x3c679: 0x6e1d2020, 0x3c67a: 0x6c114820, 0x3c67b: 0x6c329820,\n\t0x3c67c: 0x6c4d2620, 0x3c67d: 0x6c4d2820, 0x3c67e: 0x6c6ef820, 0x3c67f: 0x6c969e20,\n\t// Block 0xf1a, offset 0x3c680\n\t0x3c680: 0x6cc2a220, 0x3c681: 0x6cc2a420, 0x3c682: 0x6d21a420, 0x3c683: 0x6da3b820,\n\t0x3c684: 0x6e0db620, 0x3c685: 0x6e388420, 0x3c686: 0x6c115420, 0x3c687: 0x6dc55a20,\n\t0x3c688: 0x6c6f1020, 0x3c689: 0x6d4f3420, 0x3c68a: 0x6da3be20, 0x3c68b: 0x6c1f1a20,\n\t0x3c68c: 0x6c32de20, 0x3c68d: 0x6c6f5220, 0x3c68e: 0x6c6f5420, 0x3c68f: 0x6c972a20,\n\t0x3c690: 0x6c972c20, 0x3c691: 0x6cc2fe20, 0x3c692: 0x6cc30020, 0x3c693: 0x6cc30220,\n\t0x3c694: 0x6cf23e20, 0x3c695: 0x6cf24020, 0x3c696: 0x6d21fc20, 0x3c697: 0x6d21fe20,\n\t0x3c698: 0x6d220020, 0x3c699: 0x6d7bb020, 0x3c69a: 0x6da3d220, 0x3c69b: 0x6dc57020,\n\t0x3c69c: 0x6dc57220, 0x3c69d: 0x6c091e20, 0x3c69e: 0x6c11b820, 0x3c69f: 0x6c1fec20,\n\t0x3c6a0: 0x6c1fee20, 0x3c6a1: 0x6c1ff020, 0x3c6a2: 0x6c1ff220, 0x3c6a3: 0x6c1ff420,\n\t0x3c6a4: 0x6c1ff620, 0x3c6a5: 0x6c1ff820, 0x3c6a6: 0x6c33ce20, 0x3c6a7: 0x6c33d020,\n\t0x3c6a8: 0x6c33d220, 0x3c6a9: 0x6c33d420, 0x3c6aa: 0x6c33d620, 0x3c6ab: 0x6c33d820,\n\t0x3c6ac: 0x6c33da20, 0x3c6ad: 0x6c4e8e20, 0x3c6ae: 0x6c4e9020, 0x3c6af: 0x6c4e9220,\n\t0x3c6b0: 0x6c4e9420, 0x3c6b1: 0x6c4e9620, 0x3c6b2: 0x6c4e9820, 0x3c6b3: 0x6c4e9a20,\n\t0x3c6b4: 0x6c4e9c20, 0x3c6b5: 0x6c708220, 0x3c6b6: 0x6c708420, 0x3c6b7: 0x6c708620,\n\t0x3c6b8: 0x6c708820, 0x3c6b9: 0x6c708a20, 0x3c6ba: 0x6c708c20, 0x3c6bb: 0x6c708e20,\n\t0x3c6bc: 0x6c709020, 0x3c6bd: 0x6c709220, 0x3c6be: 0x6c709420, 0x3c6bf: 0x6c98a620,\n\t// Block 0xf1b, offset 0x3c6c0\n\t0x3c6c0: 0x6c98a820, 0x3c6c1: 0x6c98aa20, 0x3c6c2: 0x6c98ac20, 0x3c6c3: 0x6c98ae20,\n\t0x3c6c4: 0x6c98b020, 0x3c6c5: 0x6c98b220, 0x3c6c6: 0x6c98b420, 0x3c6c7: 0x6cc47620,\n\t0x3c6c8: 0x6cc47820, 0x3c6c9: 0x6cc47a20, 0x3c6ca: 0x6cc47c20, 0x3c6cb: 0x6cc47e20,\n\t0x3c6cc: 0x6cc48020, 0x3c6cd: 0x6cc48220, 0x3c6ce: 0x6cc48420, 0x3c6cf: 0x6cc48620,\n\t0x3c6d0: 0x6cc48820, 0x3c6d1: 0x6cc48a20, 0x3c6d2: 0x6cc48c20, 0x3c6d3: 0x6cf35c20,\n\t0x3c6d4: 0x6cf35e20, 0x3c6d5: 0x6cf36020, 0x3c6d6: 0x6cf36220, 0x3c6d7: 0x6cf36420,\n\t0x3c6d8: 0x6cf36620, 0x3c6d9: 0x6cf36820, 0x3c6da: 0x6cf36a20, 0x3c6db: 0x6cf36c20,\n\t0x3c6dc: 0x6cf36e20, 0x3c6dd: 0x6cf37020, 0x3c6de: 0x6cf37220, 0x3c6df: 0x6d232020,\n\t0x3c6e0: 0x6d232220, 0x3c6e1: 0x6d232420, 0x3c6e2: 0x6d232620, 0x3c6e3: 0x6d232820,\n\t0x3c6e4: 0x6d232a20, 0x3c6e5: 0x6d232c20, 0x3c6e6: 0x6d232e20, 0x3c6e7: 0x6d233020,\n\t0x3c6e8: 0x6d50b220, 0x3c6e9: 0x6d50b420, 0x3c6ea: 0x6d50b620, 0x3c6eb: 0x6d50b820,\n\t0x3c6ec: 0x6d50ba20, 0x3c6ed: 0x6d50bc20, 0x3c6ee: 0x6d7c7c20, 0x3c6ef: 0x6d7c7e20,\n\t0x3c6f0: 0x6d7c8020, 0x3c6f1: 0x6d7c8220, 0x3c6f2: 0x6d7c8420, 0x3c6f3: 0x6d7c8620,\n\t0x3c6f4: 0x6d7c8820, 0x3c6f5: 0x6d7c8a20, 0x3c6f6: 0x6d7c8c20, 0x3c6f7: 0x6da46220,\n\t0x3c6f8: 0x6da46420, 0x3c6f9: 0x6da46620, 0x3c6fa: 0x6dc5f620, 0x3c6fb: 0x6dc5f820,\n\t0x3c6fc: 0x6dc5fa20, 0x3c6fd: 0x6dc5fc20, 0x3c6fe: 0x6dc5fe20, 0x3c6ff: 0x6de2da20,\n\t// Block 0xf1c, offset 0x3c700\n\t0x3c700: 0x6de2dc20, 0x3c701: 0x6dfa5220, 0x3c702: 0x6dfa5420, 0x3c703: 0x6e0de220,\n\t0x3c704: 0x6e0de420, 0x3c705: 0x6e1d4e20, 0x3c706: 0x6e1d5020, 0x3c707: 0x6e28f020,\n\t0x3c708: 0x6e388e20, 0x3c709: 0x6c092a20, 0x3c70a: 0x6c11cc20, 0x3c70b: 0x6c4ec420,\n\t0x3c70c: 0x6c4ec620, 0x3c70d: 0x6c70ae20, 0x3c70e: 0x6c70b020, 0x3c70f: 0x6c98d220,\n\t0x3c710: 0x6c98d420, 0x3c711: 0x6cc4ac20, 0x3c712: 0x6cf3a020, 0x3c713: 0x6d236020,\n\t0x3c714: 0x6d7caa20, 0x3c715: 0x6d7cac20, 0x3c716: 0x6d7cae20, 0x3c717: 0x6e3d2c20,\n\t0x3c718: 0x6c4ef020, 0x3c719: 0x6c98e020, 0x3c71a: 0x6d50fa20, 0x3c71b: 0x6e1d5420,\n\t0x3c71c: 0x6c123220, 0x3c71d: 0x6c210a20, 0x3c71e: 0x6c210c20, 0x3c71f: 0x6c210e20,\n\t0x3c720: 0x6c211020, 0x3c721: 0x6c211220, 0x3c722: 0x6c211420, 0x3c723: 0x6c211620,\n\t0x3c724: 0x6c351e20, 0x3c725: 0x6c352020, 0x3c726: 0x6c352220, 0x3c727: 0x6c352420,\n\t0x3c728: 0x6c352620, 0x3c729: 0x6c352820, 0x3c72a: 0x6c352a20, 0x3c72b: 0x6c501620,\n\t0x3c72c: 0x6c501820, 0x3c72d: 0x6c501a20, 0x3c72e: 0x6c501c20, 0x3c72f: 0x6c501e20,\n\t0x3c730: 0x6c502020, 0x3c731: 0x6c502220, 0x3c732: 0x6c502420, 0x3c733: 0x6c502620,\n\t0x3c734: 0x6c720620, 0x3c735: 0x6c720820, 0x3c736: 0x6c720a20, 0x3c737: 0x6c720c20,\n\t0x3c738: 0x6c720e20, 0x3c739: 0x6c721020, 0x3c73a: 0x6c721220, 0x3c73b: 0x6c721420,\n\t0x3c73c: 0x6c721620, 0x3c73d: 0x6c721820, 0x3c73e: 0x6c721a20, 0x3c73f: 0x6c721c20,\n\t// Block 0xf1d, offset 0x3c740\n\t0x3c740: 0x6c721e20, 0x3c741: 0x6c9a7c20, 0x3c742: 0x6c9a7e20, 0x3c743: 0x6c9a8020,\n\t0x3c744: 0x6c9a8220, 0x3c745: 0x6c9a8420, 0x3c746: 0x6c9a8620, 0x3c747: 0x6c9a8820,\n\t0x3c748: 0x6c9a8a20, 0x3c749: 0x6c9a8c20, 0x3c74a: 0x6c9a8e20, 0x3c74b: 0x6c9a9020,\n\t0x3c74c: 0x6cc65420, 0x3c74d: 0x6cc65620, 0x3c74e: 0x6cc65820, 0x3c74f: 0x6cc65a20,\n\t0x3c750: 0x6cc65c20, 0x3c751: 0x6cc65e20, 0x3c752: 0x6cc66020, 0x3c753: 0x6cc66220,\n\t0x3c754: 0x6cc66420, 0x3c755: 0x6cc66620, 0x3c756: 0x6cc66820, 0x3c757: 0x6cf50220,\n\t0x3c758: 0x6cf50420, 0x3c759: 0x6cf50620, 0x3c75a: 0x6cf50820, 0x3c75b: 0x6cf50a20,\n\t0x3c75c: 0x6cf50c20, 0x3c75d: 0x6cf50e20, 0x3c75e: 0x6cf51020, 0x3c75f: 0x6cf51220,\n\t0x3c760: 0x6cf51420, 0x3c761: 0x6cf51620, 0x3c762: 0x6cf51820, 0x3c763: 0x6d24d420,\n\t0x3c764: 0x6d24d620, 0x3c765: 0x6d24d820, 0x3c766: 0x6d24da20, 0x3c767: 0x6d24dc20,\n\t0x3c768: 0x6d24de20, 0x3c769: 0x6d24e020, 0x3c76a: 0x6d24e220, 0x3c76b: 0x6d525620,\n\t0x3c76c: 0x6d525820, 0x3c76d: 0x6d525a20, 0x3c76e: 0x6d525c20, 0x3c76f: 0x6d525e20,\n\t0x3c770: 0x6d526020, 0x3c771: 0x6d526220, 0x3c772: 0x6d526420, 0x3c773: 0x6d526620,\n\t0x3c774: 0x6d526820, 0x3c775: 0x6d7d9820, 0x3c776: 0x6d7d9a20, 0x3c777: 0x6d7d9c20,\n\t0x3c778: 0x6da50420, 0x3c779: 0x6da50620, 0x3c77a: 0x6da50820, 0x3c77b: 0x6dc6a820,\n\t0x3c77c: 0x6dc6aa20, 0x3c77d: 0x6dc6ac20, 0x3c77e: 0x6dc6ae20, 0x3c77f: 0x6dc6b020,\n\t// Block 0xf1e, offset 0x3c780\n\t0x3c780: 0x6dc6b220, 0x3c781: 0x6de35820, 0x3c782: 0x6dfaae20, 0x3c783: 0x6e1d8e20,\n\t0x3c784: 0x6e291820, 0x3c785: 0x6c9a9e20, 0x3c786: 0x6c353e20, 0x3c787: 0x6d527020,\n\t0x3c788: 0x6c357420, 0x3c789: 0x6c506c20, 0x3c78a: 0x6c506e20, 0x3c78b: 0x6c728820,\n\t0x3c78c: 0x6c728a20, 0x3c78d: 0x6c9b1020, 0x3c78e: 0x6cc6fe20, 0x3c78f: 0x6cc70020,\n\t0x3c790: 0x6cf58a20, 0x3c791: 0x6d253e20, 0x3c792: 0x6d254020, 0x3c793: 0x6d52b620,\n\t0x3c794: 0x6d52b820, 0x3c795: 0x6d52ba20, 0x3c796: 0x6d52bc20, 0x3c797: 0x6d7dfe20,\n\t0x3c798: 0x6d7e0020, 0x3c799: 0x6d7e0220, 0x3c79a: 0x6da53c20, 0x3c79b: 0x6dc6d420,\n\t0x3c79c: 0x6dc6d620, 0x3c79d: 0x6e0e3820, 0x3c79e: 0x6e0e3a20, 0x3c79f: 0x6e324620,\n\t0x3c7a0: 0x6c214020, 0x3c7a1: 0x6c357e20, 0x3c7a2: 0x6c358020, 0x3c7a3: 0x6c507820,\n\t0x3c7a4: 0x6c729820, 0x3c7a5: 0x6cc70e20, 0x3c7a6: 0x6cc71020, 0x3c7a7: 0x6cc71220,\n\t0x3c7a8: 0x6d254220, 0x3c7a9: 0x6d254420, 0x3c7aa: 0x6d254620, 0x3c7ab: 0x6c508020,\n\t0x3c7ac: 0x6c72a820, 0x3c7ad: 0x6d255420, 0x3c7ae: 0x6d52d420, 0x3c7af: 0x6da54a20,\n\t0x3c7b0: 0x6e0e4220, 0x3c7b1: 0x6c359c20, 0x3c7b2: 0x6c35ac20, 0x3c7b3: 0x6c35ae20,\n\t0x3c7b4: 0x6c50aa20, 0x3c7b5: 0x6c72e420, 0x3c7b6: 0x6c72e620, 0x3c7b7: 0x6c72e820,\n\t0x3c7b8: 0x6c9b6a20, 0x3c7b9: 0x6cc76220, 0x3c7ba: 0x6cc76420, 0x3c7bb: 0x6cc76620,\n\t0x3c7bc: 0x6cc76820, 0x3c7bd: 0x6cf5ca20, 0x3c7be: 0x6d257420, 0x3c7bf: 0x6d52ee20,\n\t// Block 0xf1f, offset 0x3c7c0\n\t0x3c7c0: 0x6d52f020, 0x3c7c1: 0x6d7e2c20, 0x3c7c2: 0x6d7e2e20, 0x3c7c3: 0x6de38020,\n\t0x3c7c4: 0x6de38220, 0x3c7c5: 0x6dfadc20, 0x3c7c6: 0x6c219820, 0x3c7c7: 0x6c219a20,\n\t0x3c7c8: 0x6c363220, 0x3c7c9: 0x6c363420, 0x3c7ca: 0x6c363620, 0x3c7cb: 0x6c363820,\n\t0x3c7cc: 0x6c363a20, 0x3c7cd: 0x6c363c20, 0x3c7ce: 0x6c363e20, 0x3c7cf: 0x6c514420,\n\t0x3c7d0: 0x6c514620, 0x3c7d1: 0x6c514820, 0x3c7d2: 0x6c514a20, 0x3c7d3: 0x6c514c20,\n\t0x3c7d4: 0x6c514e20, 0x3c7d5: 0x6c515020, 0x3c7d6: 0x6c515220, 0x3c7d7: 0x6c515420,\n\t0x3c7d8: 0x6c515620, 0x3c7d9: 0x6c737220, 0x3c7da: 0x6c737420, 0x3c7db: 0x6c737620,\n\t0x3c7dc: 0x6c737820, 0x3c7dd: 0x6c737a20, 0x3c7de: 0x6c737c20, 0x3c7df: 0x6c737e20,\n\t0x3c7e0: 0x6c738020, 0x3c7e1: 0x6c738220, 0x3c7e2: 0x6c738420, 0x3c7e3: 0x6c738620,\n\t0x3c7e4: 0x6c738820, 0x3c7e5: 0x6c9c0220, 0x3c7e6: 0x6c9c0420, 0x3c7e7: 0x6c9c0620,\n\t0x3c7e8: 0x6c9c0820, 0x3c7e9: 0x6cc83e20, 0x3c7ea: 0x6cc84020, 0x3c7eb: 0x6cc84220,\n\t0x3c7ec: 0x6cc84420, 0x3c7ed: 0x6cc84620, 0x3c7ee: 0x6cc84820, 0x3c7ef: 0x6cf67620,\n\t0x3c7f0: 0x6cf67820, 0x3c7f1: 0x6cf67a20, 0x3c7f2: 0x6cf67c20, 0x3c7f3: 0x6cf67e20,\n\t0x3c7f4: 0x6cf68020, 0x3c7f5: 0x6cf68220, 0x3c7f6: 0x6cf68420, 0x3c7f7: 0x6cf68620,\n\t0x3c7f8: 0x6d25ec20, 0x3c7f9: 0x6d25ee20, 0x3c7fa: 0x6d25f020, 0x3c7fb: 0x6d25f220,\n\t0x3c7fc: 0x6d25f420, 0x3c7fd: 0x6d25f620, 0x3c7fe: 0x6d536220, 0x3c7ff: 0x6d536420,\n\t// Block 0xf20, offset 0x3c800\n\t0x3c800: 0x6d536620, 0x3c801: 0x6d536820, 0x3c802: 0x6d536a20, 0x3c803: 0x6d536c20,\n\t0x3c804: 0x6d536e20, 0x3c805: 0x6d537020, 0x3c806: 0x6da5a420, 0x3c807: 0x6d7ec620,\n\t0x3c808: 0x6d7ec820, 0x3c809: 0x6d7eca20, 0x3c80a: 0x6d7ecc20, 0x3c80b: 0x6d7ece20,\n\t0x3c80c: 0x6d7ed020, 0x3c80d: 0x6da5a620, 0x3c80e: 0x6dc73820, 0x3c80f: 0x6dc73a20,\n\t0x3c810: 0x6dc73c20, 0x3c811: 0x6e0e5220, 0x3c812: 0x6e0e5420, 0x3c813: 0x6e0e5620,\n\t0x3c814: 0x6e325620, 0x3c815: 0x6d537e20, 0x3c816: 0x6d7ee020, 0x3c817: 0x6d7ee220,\n\t0x3c818: 0x6de3b220, 0x3c819: 0x6c127820, 0x3c81a: 0x6c21ae20, 0x3c81b: 0x6c365620,\n\t0x3c81c: 0x6c518220, 0x3c81d: 0x6c518420, 0x3c81e: 0x6c73ba20, 0x3c81f: 0x6d261220,\n\t0x3c820: 0x6c9c3020, 0x3c821: 0x6c9c3220, 0x3c822: 0x6c9c3420, 0x3c823: 0x6cc87e20,\n\t0x3c824: 0x6cf6aa20, 0x3c825: 0x6cf6ac20, 0x3c826: 0x6cf6ae20, 0x3c827: 0x6cf6b020,\n\t0x3c828: 0x6d261420, 0x3c829: 0x6d261620, 0x3c82a: 0x6d261820, 0x3c82b: 0x6d539820,\n\t0x3c82c: 0x6d539a20, 0x3c82d: 0x6d7efc20, 0x3c82e: 0x6e0e5a20, 0x3c82f: 0x6e0e5c20,\n\t0x3c830: 0x6e325c20, 0x3c831: 0x6c222e20, 0x3c832: 0x6c223020, 0x3c833: 0x6c223220,\n\t0x3c834: 0x6c223420, 0x3c835: 0x6c223620, 0x3c836: 0x6c375a20, 0x3c837: 0x6c375c20,\n\t0x3c838: 0x6c375e20, 0x3c839: 0x6c376020, 0x3c83a: 0x6c52ae20, 0x3c83b: 0x6c52b020,\n\t0x3c83c: 0x6c52b220, 0x3c83d: 0x6c52b420, 0x3c83e: 0x6c52b620, 0x3c83f: 0x6c52b820,\n\t// Block 0xf21, offset 0x3c840\n\t0x3c840: 0x6c52ba20, 0x3c841: 0x6c52bc20, 0x3c842: 0x6c52be20, 0x3c843: 0x6c752a20,\n\t0x3c844: 0x6c752c20, 0x3c845: 0x6c752e20, 0x3c846: 0x6c753020, 0x3c847: 0x6c753220,\n\t0x3c848: 0x6c753420, 0x3c849: 0x6c753620, 0x3c84a: 0x6c753820, 0x3c84b: 0x6c753a20,\n\t0x3c84c: 0x6c753c20, 0x3c84d: 0x6c753e20, 0x3c84e: 0x6c754020, 0x3c84f: 0x6c754220,\n\t0x3c850: 0x6c9d8620, 0x3c851: 0x6c9d8820, 0x3c852: 0x6c9d8a20, 0x3c853: 0x6c9d8c20,\n\t0x3c854: 0x6c9d8e20, 0x3c855: 0x6c9d9020, 0x3c856: 0x6c9d9220, 0x3c857: 0x6c9d9420,\n\t0x3c858: 0x6c9d9620, 0x3c859: 0x6c9d9820, 0x3c85a: 0x6c9d9a20, 0x3c85b: 0x6c9d9c20,\n\t0x3c85c: 0x6c9d9e20, 0x3c85d: 0x6c9da020, 0x3c85e: 0x6c9da220, 0x3c85f: 0x6cca6620,\n\t0x3c860: 0x6cca6820, 0x3c861: 0x6cca6a20, 0x3c862: 0x6cca6c20, 0x3c863: 0x6cca6e20,\n\t0x3c864: 0x6cca7020, 0x3c865: 0x6cca7220, 0x3c866: 0x6cca7420, 0x3c867: 0x6cca7620,\n\t0x3c868: 0x6cca7820, 0x3c869: 0x6cca7a20, 0x3c86a: 0x6cca7c20, 0x3c86b: 0x6cca7e20,\n\t0x3c86c: 0x6cca8020, 0x3c86d: 0x6cca8220, 0x3c86e: 0x6cca8420, 0x3c86f: 0x6cca8620,\n\t0x3c870: 0x6cf88c20, 0x3c871: 0x6cf88e20, 0x3c872: 0x6cf89020, 0x3c873: 0x6cf89220,\n\t0x3c874: 0x6cf89420, 0x3c875: 0x6cf89620, 0x3c876: 0x6cf89820, 0x3c877: 0x6cf89a20,\n\t0x3c878: 0x6cf89c20, 0x3c879: 0x6cf89e20, 0x3c87a: 0x6cf8a020, 0x3c87b: 0x6cf8a220,\n\t0x3c87c: 0x6cf8a420, 0x3c87d: 0x6cf8a620, 0x3c87e: 0x6cf8a820, 0x3c87f: 0x6cf8aa20,\n\t// Block 0xf22, offset 0x3c880\n\t0x3c880: 0x6cf8ac20, 0x3c881: 0x6cf8ae20, 0x3c882: 0x6cf8b020, 0x3c883: 0x6cf8b220,\n\t0x3c884: 0x6cf8b420, 0x3c885: 0x6cf8b620, 0x3c886: 0x6cf8b820, 0x3c887: 0x6cf8ba20,\n\t0x3c888: 0x6d27d220, 0x3c889: 0x6d27d420, 0x3c88a: 0x6d27d620, 0x3c88b: 0x6d27d820,\n\t0x3c88c: 0x6d27da20, 0x3c88d: 0x6d27dc20, 0x3c88e: 0x6d27de20, 0x3c88f: 0x6d27e020,\n\t0x3c890: 0x6d27e220, 0x3c891: 0x6d27e420, 0x3c892: 0x6d27e620, 0x3c893: 0x6d27e820,\n\t0x3c894: 0x6d27ea20, 0x3c895: 0x6d27ec20, 0x3c896: 0x6d27ee20, 0x3c897: 0x6d27f020,\n\t0x3c898: 0x6d27f220, 0x3c899: 0x6d27f420, 0x3c89a: 0x6d27f620, 0x3c89b: 0x6d27f820,\n\t0x3c89c: 0x6d27fa20, 0x3c89d: 0x6d552c20, 0x3c89e: 0x6d552e20, 0x3c89f: 0x6d553020,\n\t0x3c8a0: 0x6d553220, 0x3c8a1: 0x6d553420, 0x3c8a2: 0x6d553620, 0x3c8a3: 0x6d553820,\n\t0x3c8a4: 0x6d553a20, 0x3c8a5: 0x6d553c20, 0x3c8a6: 0x6d553e20, 0x3c8a7: 0x6d554020,\n\t0x3c8a8: 0x6d554220, 0x3c8a9: 0x6d554420, 0x3c8aa: 0x6d554620, 0x3c8ab: 0x6d554820,\n\t0x3c8ac: 0x6d554a20, 0x3c8ad: 0x6d80ae20, 0x3c8ae: 0x6d80b020, 0x3c8af: 0x6d80b220,\n\t0x3c8b0: 0x6d80b420, 0x3c8b1: 0x6d80b620, 0x3c8b2: 0x6d80b820, 0x3c8b3: 0x6d80ba20,\n\t0x3c8b4: 0x6d80bc20, 0x3c8b5: 0x6d80be20, 0x3c8b6: 0x6d80c020, 0x3c8b7: 0x6d80c220,\n\t0x3c8b8: 0x6d80c420, 0x3c8b9: 0x6d80c620, 0x3c8ba: 0x6d80c820, 0x3c8bb: 0x6d80ca20,\n\t0x3c8bc: 0x6d80cc20, 0x3c8bd: 0x6da6d820, 0x3c8be: 0x6da6da20, 0x3c8bf: 0x6da6dc20,\n\t// Block 0xf23, offset 0x3c8c0\n\t0x3c8c0: 0x6da6de20, 0x3c8c1: 0x6da6e020, 0x3c8c2: 0x6da6e220, 0x3c8c3: 0x6da6e420,\n\t0x3c8c4: 0x6da6e620, 0x3c8c5: 0x6da6e820, 0x3c8c6: 0x6da6ea20, 0x3c8c7: 0x6da6ec20,\n\t0x3c8c8: 0x6da6ee20, 0x3c8c9: 0x6dc83c20, 0x3c8ca: 0x6dc83e20, 0x3c8cb: 0x6dc84020,\n\t0x3c8cc: 0x6dc84220, 0x3c8cd: 0x6dc84420, 0x3c8ce: 0x6dc84620, 0x3c8cf: 0x6dc84820,\n\t0x3c8d0: 0x6de46c20, 0x3c8d1: 0x6de46e20, 0x3c8d2: 0x6de47020, 0x3c8d3: 0x6de47220,\n\t0x3c8d4: 0x6de47420, 0x3c8d5: 0x6de47620, 0x3c8d6: 0x6dfb8e20, 0x3c8d7: 0x6dfb9020,\n\t0x3c8d8: 0x6dfb9220, 0x3c8d9: 0x6dfb9420, 0x3c8da: 0x6dfb9620, 0x3c8db: 0x6e0ed020,\n\t0x3c8dc: 0x6e0ed220, 0x3c8dd: 0x6e0ed420, 0x3c8de: 0x6e0ed620, 0x3c8df: 0x6e1e0620,\n\t0x3c8e0: 0x6e1e0820, 0x3c8e1: 0x6e1e0a20, 0x3c8e2: 0x6e297220, 0x3c8e3: 0x6e297420,\n\t0x3c8e4: 0x6e328c20, 0x3c8e5: 0x6e328e20, 0x3c8e6: 0x6e38d220, 0x3c8e7: 0x6e405420,\n\t0x3c8e8: 0x6e3d4420, 0x3c8e9: 0x6c379220, 0x3c8ea: 0x6c52f420, 0x3c8eb: 0x6c52f620,\n\t0x3c8ec: 0x6c9dd620, 0x3c8ed: 0x6c9dd820, 0x3c8ee: 0x6ccad020, 0x3c8ef: 0x6cf90220,\n\t0x3c8f0: 0x6cf90420, 0x3c8f1: 0x6d283e20, 0x3c8f2: 0x6d558220, 0x3c8f3: 0x6dfba220,\n\t0x3c8f4: 0x6e329220, 0x3c8f5: 0x6c37c820, 0x3c8f6: 0x6c75a420, 0x3c8f7: 0x6c9de620,\n\t0x3c8f8: 0x6ccaf620, 0x3c8f9: 0x6cf91c20, 0x3c8fa: 0x6cf91e20, 0x3c8fb: 0x6d284e20,\n\t0x3c8fc: 0x6d559820, 0x3c8fd: 0x6d80fe20, 0x3c8fe: 0x6d810020, 0x3c8ff: 0x6da71c20,\n\t// Block 0xf24, offset 0x3c900\n\t0x3c900: 0x6c534420, 0x3c901: 0x6c534620, 0x3c902: 0x6c75d820, 0x3c903: 0x6c75da20,\n\t0x3c904: 0x6c9e1e20, 0x3c905: 0x6ccb4820, 0x3c906: 0x6d287420, 0x3c907: 0x6da73420,\n\t0x3c908: 0x6c75e820, 0x3c909: 0x6c75ea20, 0x3c90a: 0x6c9b1220, 0x3c90b: 0x6c9e4620,\n\t0x3c90c: 0x6ccb6220, 0x3c90d: 0x6ccb6420, 0x3c90e: 0x6ccb6620, 0x3c90f: 0x6cf97a20,\n\t0x3c910: 0x6d55da20, 0x3c911: 0x6da74020, 0x3c912: 0x6da74220, 0x3c913: 0x6e38de20,\n\t0x3c914: 0x6d289220, 0x3c915: 0x6d289c20, 0x3c916: 0x6c098220, 0x3c917: 0x6c384c20,\n\t0x3c918: 0x6c384e20, 0x3c919: 0x6c53ac20, 0x3c91a: 0x6c53ae20, 0x3c91b: 0x6c763420,\n\t0x3c91c: 0x6c763620, 0x3c91d: 0x6ccbc220, 0x3c91e: 0x6ccbc420, 0x3c91f: 0x6cf9d420,\n\t0x3c920: 0x6d28e820, 0x3c921: 0x6d561020, 0x3c922: 0x6dc8ba20, 0x3c923: 0x6c386420,\n\t0x3c924: 0x6c53cc20, 0x3c925: 0x6c9ea820, 0x3c926: 0x6cf9e020, 0x3c927: 0x6d28f220,\n\t0x3c928: 0x6c09c820, 0x3c929: 0x6c134c20, 0x3c92a: 0x6c134e20, 0x3c92b: 0x6c135020,\n\t0x3c92c: 0x6c135220, 0x3c92d: 0x6c238220, 0x3c92e: 0x6c238420, 0x3c92f: 0x6c238620,\n\t0x3c930: 0x6c238820, 0x3c931: 0x6c398420, 0x3c932: 0x6c398620, 0x3c933: 0x6c398820,\n\t0x3c934: 0x6c398a20, 0x3c935: 0x6c398c20, 0x3c936: 0x6c398e20, 0x3c937: 0x6c550a20,\n\t0x3c938: 0x6c550c20, 0x3c939: 0x6c550e20, 0x3c93a: 0x6c551020, 0x3c93b: 0x6c551220,\n\t0x3c93c: 0x6c551420, 0x3c93d: 0x6c551620, 0x3c93e: 0x6c77cc20, 0x3c93f: 0x6c77ce20,\n\t// Block 0xf25, offset 0x3c940\n\t0x3c940: 0x6c77d020, 0x3c941: 0x6c77d220, 0x3c942: 0x6c77d420, 0x3c943: 0x6c77d620,\n\t0x3c944: 0x6c77d820, 0x3c945: 0x6c77da20, 0x3c946: 0x6c77dc20, 0x3c947: 0x6c77de20,\n\t0x3c948: 0x6c77e020, 0x3c949: 0x6c77e220, 0x3c94a: 0x6c77e420, 0x3c94b: 0x6c77e620,\n\t0x3c94c: 0x6ca0c620, 0x3c94d: 0x6ca0c820, 0x3c94e: 0x6ca0ca20, 0x3c94f: 0x6ca0cc20,\n\t0x3c950: 0x6ca0ce20, 0x3c951: 0x6ca0d020, 0x3c952: 0x6ca0d220, 0x3c953: 0x6ca0d420,\n\t0x3c954: 0x6ca0d620, 0x3c955: 0x6ca0d820, 0x3c956: 0x6ca0da20, 0x3c957: 0x6ccdb620,\n\t0x3c958: 0x6ccdb820, 0x3c959: 0x6ccdba20, 0x3c95a: 0x6ccdbc20, 0x3c95b: 0x6ccdbe20,\n\t0x3c95c: 0x6ccdc020, 0x3c95d: 0x6ccdc220, 0x3c95e: 0x6ccdc420, 0x3c95f: 0x6ccdc620,\n\t0x3c960: 0x6ccdc820, 0x3c961: 0x6ccdca20, 0x3c962: 0x6ccdcc20, 0x3c963: 0x6ccdce20,\n\t0x3c964: 0x6ccdd020, 0x3c965: 0x6ccdd220, 0x3c966: 0x6ccdd420, 0x3c967: 0x6ccdd620,\n\t0x3c968: 0x6ccdd820, 0x3c969: 0x6ccdda20, 0x3c96a: 0x6cfba620, 0x3c96b: 0x6cfba820,\n\t0x3c96c: 0x6cfbaa20, 0x3c96d: 0x6cfbac20, 0x3c96e: 0x6cfbae20, 0x3c96f: 0x6cfbb020,\n\t0x3c970: 0x6cfbb220, 0x3c971: 0x6cfbb420, 0x3c972: 0x6cfbb620, 0x3c973: 0x6cfbb820,\n\t0x3c974: 0x6cfbba20, 0x3c975: 0x6cfbbc20, 0x3c976: 0x6cfbbe20, 0x3c977: 0x6cfbc020,\n\t0x3c978: 0x6cfbc220, 0x3c979: 0x6cfbc420, 0x3c97a: 0x6cfbc620, 0x3c97b: 0x6cfbc820,\n\t0x3c97c: 0x6cfbca20, 0x3c97d: 0x6cfbcc20, 0x3c97e: 0x6cfbce20, 0x3c97f: 0x6d2ab220,\n\t// Block 0xf26, offset 0x3c980\n\t0x3c980: 0x6d2ab420, 0x3c981: 0x6d2ab620, 0x3c982: 0x6d2ab820, 0x3c983: 0x6d2aba20,\n\t0x3c984: 0x6d2abc20, 0x3c985: 0x6d2abe20, 0x3c986: 0x6d2ac020, 0x3c987: 0x6d2ac220,\n\t0x3c988: 0x6d2ac420, 0x3c989: 0x6d2ac620, 0x3c98a: 0x6d2ac820, 0x3c98b: 0x6d57e420,\n\t0x3c98c: 0x6d57e620, 0x3c98d: 0x6d57e820, 0x3c98e: 0x6d57ea20, 0x3c98f: 0x6d57ec20,\n\t0x3c990: 0x6d57ee20, 0x3c991: 0x6d57f020, 0x3c992: 0x6d57f220, 0x3c993: 0x6d57f420,\n\t0x3c994: 0x6d57f620, 0x3c995: 0x6d57f820, 0x3c996: 0x6d57fa20, 0x3c997: 0x6d57fc20,\n\t0x3c998: 0x6d57fe20, 0x3c999: 0x6d580020, 0x3c99a: 0x6d580220, 0x3c99b: 0x6d580420,\n\t0x3c99c: 0x6d580620, 0x3c99d: 0x6d82e420, 0x3c99e: 0x6d82e620, 0x3c99f: 0x6d82e820,\n\t0x3c9a0: 0x6d82ea20, 0x3c9a1: 0x6d82ec20, 0x3c9a2: 0x6d82ee20, 0x3c9a3: 0x6d82f020,\n\t0x3c9a4: 0x6d82f220, 0x3c9a5: 0x6d82f420, 0x3c9a6: 0x6d82f620, 0x3c9a7: 0x6d82f820,\n\t0x3c9a8: 0x6da85a20, 0x3c9a9: 0x6da85c20, 0x3c9aa: 0x6da85e20, 0x3c9ab: 0x6da86020,\n\t0x3c9ac: 0x6da86220, 0x3c9ad: 0x6da86420, 0x3c9ae: 0x6da86620, 0x3c9af: 0x6da86820,\n\t0x3c9b0: 0x6da86a20, 0x3c9b1: 0x6da86c20, 0x3c9b2: 0x6da86e20, 0x3c9b3: 0x6dc9aa20,\n\t0x3c9b4: 0x6dc9ac20, 0x3c9b5: 0x6dc9ae20, 0x3c9b6: 0x6dc9b020, 0x3c9b7: 0x6dc9b220,\n\t0x3c9b8: 0x6dc9b420, 0x3c9b9: 0x6dc9b620, 0x3c9ba: 0x6de56220, 0x3c9bb: 0x6de56420,\n\t0x3c9bc: 0x6de56620, 0x3c9bd: 0x6de56820, 0x3c9be: 0x6de56a20, 0x3c9bf: 0x6de56c20,\n\t// Block 0xf27, offset 0x3c9c0\n\t0x3c9c0: 0x6dfc4220, 0x3c9c1: 0x6dfc4420, 0x3c9c2: 0x6dfc4620, 0x3c9c3: 0x6e0f7220,\n\t0x3c9c4: 0x6e0f7420, 0x3c9c5: 0x6e0f7620, 0x3c9c6: 0x6e0f7820, 0x3c9c7: 0x6e0f7a20,\n\t0x3c9c8: 0x6e1e6a20, 0x3c9c9: 0x6e1e6c20, 0x3c9ca: 0x6e29d220, 0x3c9cb: 0x6e29d420,\n\t0x3c9cc: 0x6e32be20, 0x3c9cd: 0x6c09ce20, 0x3c9ce: 0x6c23ca20, 0x3c9cf: 0x6c23cc20,\n\t0x3c9d0: 0x6c23ce20, 0x3c9d1: 0x6c3a1620, 0x3c9d2: 0x6c3a1820, 0x3c9d3: 0x6c3a1a20,\n\t0x3c9d4: 0x6c3a1c20, 0x3c9d5: 0x6c3a1e20, 0x3c9d6: 0x6c3a2020, 0x3c9d7: 0x6c3a2220,\n\t0x3c9d8: 0x6c55d820, 0x3c9d9: 0x6c55da20, 0x3c9da: 0x6c55dc20, 0x3c9db: 0x6c55de20,\n\t0x3c9dc: 0x6c55e020, 0x3c9dd: 0x6c55e220, 0x3c9de: 0x6c55e420, 0x3c9df: 0x6c55e620,\n\t0x3c9e0: 0x6c55e820, 0x3c9e1: 0x6c55ea20, 0x3c9e2: 0x6c55ec20, 0x3c9e3: 0x6c78b820,\n\t0x3c9e4: 0x6c78ba20, 0x3c9e5: 0x6c78bc20, 0x3c9e6: 0x6c78be20, 0x3c9e7: 0x6c78c020,\n\t0x3c9e8: 0x6c78c220, 0x3c9e9: 0x6c78c420, 0x3c9ea: 0x6c78c620, 0x3c9eb: 0x6ca1ba20,\n\t0x3c9ec: 0x6ca1bc20, 0x3c9ed: 0x6ca1be20, 0x3c9ee: 0x6ca1c020, 0x3c9ef: 0x6ca1c220,\n\t0x3c9f0: 0x6ca1c420, 0x3c9f1: 0x6ca1c620, 0x3c9f2: 0x6ca1c820, 0x3c9f3: 0x6ccee820,\n\t0x3c9f4: 0x6cceea20, 0x3c9f5: 0x6cceec20, 0x3c9f6: 0x6cceee20, 0x3c9f7: 0x6ccef020,\n\t0x3c9f8: 0x6ccef220, 0x3c9f9: 0x6ccef420, 0x3c9fa: 0x6ccef620, 0x3c9fb: 0x6ccef820,\n\t0x3c9fc: 0x6ccefa20, 0x3c9fd: 0x6ccefc20, 0x3c9fe: 0x6ccefe20, 0x3c9ff: 0x6ccf0020,\n\t// Block 0xf28, offset 0x3ca00\n\t0x3ca00: 0x6ccf0220, 0x3ca01: 0x6ccf0420, 0x3ca02: 0x6ccf0620, 0x3ca03: 0x6ccf0820,\n\t0x3ca04: 0x6cfd1220, 0x3ca05: 0x6cfd1420, 0x3ca06: 0x6cfd1620, 0x3ca07: 0x6cfd1820,\n\t0x3ca08: 0x6cfd1a20, 0x3ca09: 0x6cfd1c20, 0x3ca0a: 0x6cfd1e20, 0x3ca0b: 0x6cfd2020,\n\t0x3ca0c: 0x6cfd2220, 0x3ca0d: 0x6cfd2420, 0x3ca0e: 0x6cfd2620, 0x3ca0f: 0x6cfd2820,\n\t0x3ca10: 0x6cfd2a20, 0x3ca11: 0x6cfd2c20, 0x3ca12: 0x6d2bba20, 0x3ca13: 0x6d2bbc20,\n\t0x3ca14: 0x6d2bbe20, 0x3ca15: 0x6d2bc020, 0x3ca16: 0x6d2bc220, 0x3ca17: 0x6d2bc420,\n\t0x3ca18: 0x6d2bc620, 0x3ca19: 0x6d2bc820, 0x3ca1a: 0x6d2bca20, 0x3ca1b: 0x6d2bcc20,\n\t0x3ca1c: 0x6d2bce20, 0x3ca1d: 0x6d2bd020, 0x3ca1e: 0x6d2bd220, 0x3ca1f: 0x6d2bd420,\n\t0x3ca20: 0x6d2bd620, 0x3ca21: 0x6d58f020, 0x3ca22: 0x6d58f220, 0x3ca23: 0x6d58f420,\n\t0x3ca24: 0x6d58f620, 0x3ca25: 0x6d58f820, 0x3ca26: 0x6d58fa20, 0x3ca27: 0x6d58fc20,\n\t0x3ca28: 0x6d58fe20, 0x3ca29: 0x6d590020, 0x3ca2a: 0x6d841620, 0x3ca2b: 0x6d841820,\n\t0x3ca2c: 0x6d841a20, 0x3ca2d: 0x6d841c20, 0x3ca2e: 0x6d841e20, 0x3ca2f: 0x6d842020,\n\t0x3ca30: 0x6d842220, 0x3ca31: 0x6d842420, 0x3ca32: 0x6d842620, 0x3ca33: 0x6d842820,\n\t0x3ca34: 0x6da90c20, 0x3ca35: 0x6da90e20, 0x3ca36: 0x6da91020, 0x3ca37: 0x6da91220,\n\t0x3ca38: 0x6da91420, 0x3ca39: 0x6da91620, 0x3ca3a: 0x6da91820, 0x3ca3b: 0x6da91a20,\n\t0x3ca3c: 0x6dca3020, 0x3ca3d: 0x6dca3220, 0x3ca3e: 0x6dca3420, 0x3ca3f: 0x6dca3620,\n\t// Block 0xf29, offset 0x3ca40\n\t0x3ca40: 0x6dca3820, 0x3ca41: 0x6de5d020, 0x3ca42: 0x6de5d220, 0x3ca43: 0x6dfcc420,\n\t0x3ca44: 0x6dfcc620, 0x3ca45: 0x6dfcc820, 0x3ca46: 0x6e1e9420, 0x3ca47: 0x6e1e9620,\n\t0x3ca48: 0x6e29fc20, 0x3ca49: 0x6e32cc20, 0x3ca4a: 0x6e390620, 0x3ca4b: 0x6e390820,\n\t0x3ca4c: 0x6e407420, 0x3ca4d: 0x6c23d820, 0x3ca4e: 0x6c561220, 0x3ca4f: 0x6ca1d820,\n\t0x3ca50: 0x6ccf1a20, 0x3ca51: 0x6ccf1c20, 0x3ca52: 0x6ccf1e20, 0x3ca53: 0x6ccf2020,\n\t0x3ca54: 0x6cfd3a20, 0x3ca55: 0x6cfd3c20, 0x3ca56: 0x6d591420, 0x3ca57: 0x6d591620,\n\t0x3ca58: 0x6da92c20, 0x3ca59: 0x6da92e20, 0x3ca5a: 0x6e470020, 0x3ca5b: 0x6c78dc20,\n\t0x3ca5c: 0x6ca1de20, 0x3ca5d: 0x6c3a4420, 0x3ca5e: 0x6ca1f620, 0x3ca5f: 0x6ccf3a20,\n\t0x3ca60: 0x6d592620, 0x3ca61: 0x6dca4220, 0x3ca62: 0x6c790020, 0x3ca63: 0x6ca20620,\n\t0x3ca64: 0x6ca20820, 0x3ca65: 0x6ccf6420, 0x3ca66: 0x6d845020, 0x3ca67: 0x6c3a6020,\n\t0x3ca68: 0x6ccf7020, 0x3ca69: 0x6c23fe20, 0x3ca6a: 0x6c569020, 0x3ca6b: 0x6c569220,\n\t0x3ca6c: 0x6c792e20, 0x3ca6d: 0x6c793020, 0x3ca6e: 0x6c793220, 0x3ca6f: 0x6ccfca20,\n\t0x3ca70: 0x6cfdbc20, 0x3ca71: 0x6d2c6220, 0x3ca72: 0x6d2c6420, 0x3ca73: 0x6d2c6620,\n\t0x3ca74: 0x6d598420, 0x3ca75: 0x6d847c20, 0x3ca76: 0x6e0fc620, 0x3ca77: 0x6c246a20,\n\t0x3ca78: 0x6c3b3420, 0x3ca79: 0x6ccfcc20, 0x3ca7a: 0x6c572220, 0x3ca7b: 0x6c572420,\n\t0x3ca7c: 0x6c79b620, 0x3ca7d: 0x6c79b820, 0x3ca7e: 0x6ca2cc20, 0x3ca7f: 0x6ca2ce20,\n\t// Block 0xf2a, offset 0x3ca80\n\t0x3ca80: 0x6ca2d020, 0x3ca81: 0x6ca2d220, 0x3ca82: 0x6cd06c20, 0x3ca83: 0x6cd06e20,\n\t0x3ca84: 0x6cd07020, 0x3ca85: 0x6cd07220, 0x3ca86: 0x6cfe4620, 0x3ca87: 0x6cfe4820,\n\t0x3ca88: 0x6d2cde20, 0x3ca89: 0x6d5a0420, 0x3ca8a: 0x6da99420, 0x3ca8b: 0x6dca8220,\n\t0x3ca8c: 0x6de61a20, 0x3ca8d: 0x6c13cc20, 0x3ca8e: 0x6c3b9c20, 0x3ca8f: 0x6c3b9e20,\n\t0x3ca90: 0x6c3ba020, 0x3ca91: 0x6c3ba220, 0x3ca92: 0x6c3ba420, 0x3ca93: 0x6c3ba620,\n\t0x3ca94: 0x6c3ba820, 0x3ca95: 0x6c57c220, 0x3ca96: 0x6c57c420, 0x3ca97: 0x6c7a5e20,\n\t0x3ca98: 0x6c7a6020, 0x3ca99: 0x6c7a6220, 0x3ca9a: 0x6c7a6420, 0x3ca9b: 0x6c7a6620,\n\t0x3ca9c: 0x6c7a6820, 0x3ca9d: 0x6c7a6a20, 0x3ca9e: 0x6c7a6c20, 0x3ca9f: 0x6c7a6e20,\n\t0x3caa0: 0x6ca37020, 0x3caa1: 0x6ca37220, 0x3caa2: 0x6ca37420, 0x3caa3: 0x6ca37620,\n\t0x3caa4: 0x6ca37820, 0x3caa5: 0x6ca37a20, 0x3caa6: 0x6cd14420, 0x3caa7: 0x6cd14620,\n\t0x3caa8: 0x6cd14820, 0x3caa9: 0x6cd14a20, 0x3caaa: 0x6cd14c20, 0x3caab: 0x6cd14e20,\n\t0x3caac: 0x6cd15020, 0x3caad: 0x6cd15220, 0x3caae: 0x6cd15420, 0x3caaf: 0x6cd15620,\n\t0x3cab0: 0x6cd15820, 0x3cab1: 0x6cd15a20, 0x3cab2: 0x6cd15c20, 0x3cab3: 0x6cff2020,\n\t0x3cab4: 0x6cff2220, 0x3cab5: 0x6cff2420, 0x3cab6: 0x6cff2620, 0x3cab7: 0x6cff2820,\n\t0x3cab8: 0x6cff2a20, 0x3cab9: 0x6cff2c20, 0x3caba: 0x6cff2e20, 0x3cabb: 0x6cff3020,\n\t0x3cabc: 0x6cff3220, 0x3cabd: 0x6cff3420, 0x3cabe: 0x6cff3620, 0x3cabf: 0x6cff3820,\n\t// Block 0xf2b, offset 0x3cac0\n\t0x3cac0: 0x6cff3a20, 0x3cac1: 0x6cff3c20, 0x3cac2: 0x6cff3e20, 0x3cac3: 0x6d2d6a20,\n\t0x3cac4: 0x6d2d6c20, 0x3cac5: 0x6d2d6e20, 0x3cac6: 0x6d2d7020, 0x3cac7: 0x6d2d7220,\n\t0x3cac8: 0x6d2d7420, 0x3cac9: 0x6d2d7620, 0x3caca: 0x6d2d7820, 0x3cacb: 0x6d2d7a20,\n\t0x3cacc: 0x6d2d7c20, 0x3cacd: 0x6d2d7e20, 0x3cace: 0x6d2d8020, 0x3cacf: 0x6d2d8220,\n\t0x3cad0: 0x6d5aa220, 0x3cad1: 0x6d5aa420, 0x3cad2: 0x6d5aa620, 0x3cad3: 0x6d5aa820,\n\t0x3cad4: 0x6d5aaa20, 0x3cad5: 0x6d5aac20, 0x3cad6: 0x6d5aae20, 0x3cad7: 0x6d855420,\n\t0x3cad8: 0x6d855620, 0x3cad9: 0x6d855820, 0x3cada: 0x6d855a20, 0x3cadb: 0x6d855c20,\n\t0x3cadc: 0x6d855e20, 0x3cadd: 0x6d856020, 0x3cade: 0x6d856220, 0x3cadf: 0x6d856420,\n\t0x3cae0: 0x6d856620, 0x3cae1: 0x6daa0420, 0x3cae2: 0x6daa0620, 0x3cae3: 0x6daa0820,\n\t0x3cae4: 0x6daa0a20, 0x3cae5: 0x6daa0c20, 0x3cae6: 0x6daa0e20, 0x3cae7: 0x6dcade20,\n\t0x3cae8: 0x6dcae020, 0x3cae9: 0x6de66220, 0x3caea: 0x6de66420, 0x3caeb: 0x6de66620,\n\t0x3caec: 0x6dfd2420, 0x3caed: 0x6dfd2620, 0x3caee: 0x6dfd2820, 0x3caef: 0x6dfd2a20,\n\t0x3caf0: 0x6e0ff220, 0x3caf1: 0x6e2a2c20, 0x3caf2: 0x6e32e220, 0x3caf3: 0x6c3bb020,\n\t0x3caf4: 0x6c57d420, 0x3caf5: 0x6cff5020, 0x3caf6: 0x6c3bc220, 0x3caf7: 0x6c57fa20,\n\t0x3caf8: 0x6c57fc20, 0x3caf9: 0x6c7aac20, 0x3cafa: 0x6cff8420, 0x3cafb: 0x6cff8620,\n\t0x3cafc: 0x6d2dd020, 0x3cafd: 0x6d5aec20, 0x3cafe: 0x6d5aee20, 0x3caff: 0x6e1ed420,\n\t// Block 0xf2c, offset 0x3cb00\n\t0x3cb00: 0x6cd1a020, 0x3cb01: 0x6c24a820, 0x3cb02: 0x6ca3ce20, 0x3cb03: 0x6cff9c20,\n\t0x3cb04: 0x6cff9e20, 0x3cb05: 0x6cffa020, 0x3cb06: 0x6c13d420, 0x3cb07: 0x6c24d220,\n\t0x3cb08: 0x6c3c1220, 0x3cb09: 0x6c588620, 0x3cb0a: 0x6c588820, 0x3cb0b: 0x6c588a20,\n\t0x3cb0c: 0x6c588c20, 0x3cb0d: 0x6c7b0620, 0x3cb0e: 0x6c7b0820, 0x3cb0f: 0x6c7b0a20,\n\t0x3cb10: 0x6c7b0c20, 0x3cb11: 0x6ca41420, 0x3cb12: 0x6ca41620, 0x3cb13: 0x6cd1fc20,\n\t0x3cb14: 0x6cd1fe20, 0x3cb15: 0x6cd20020, 0x3cb16: 0x6cd20220, 0x3cb17: 0x6cd20420,\n\t0x3cb18: 0x6cffea20, 0x3cb19: 0x6cffec20, 0x3cb1a: 0x6cffee20, 0x3cb1b: 0x6d2e0020,\n\t0x3cb1c: 0x6d2e0220, 0x3cb1d: 0x6d5b2a20, 0x3cb1e: 0x6d5b2c20, 0x3cb1f: 0x6d85b820,\n\t0x3cb20: 0x6d85ba20, 0x3cb21: 0x6d85bc20, 0x3cb22: 0x6daa6c20, 0x3cb23: 0x6dcb1c20,\n\t0x3cb24: 0x6dfd4620, 0x3cb25: 0x6e101a20, 0x3cb26: 0x6e101c20, 0x3cb27: 0x6daa6e20,\n\t0x3cb28: 0x6c58fa20, 0x3cb29: 0x6c58fc20, 0x3cb2a: 0x6c58fe20, 0x3cb2b: 0x6c590020,\n\t0x3cb2c: 0x6c7b9c20, 0x3cb2d: 0x6c7b9e20, 0x3cb2e: 0x6c7ba020, 0x3cb2f: 0x6ca48420,\n\t0x3cb30: 0x6cd2b420, 0x3cb31: 0x6cd2b620, 0x3cb32: 0x6d00ae20, 0x3cb33: 0x6d2ea020,\n\t0x3cb34: 0x6d2ea220, 0x3cb35: 0x6d2ea420, 0x3cb36: 0x6d5bd220, 0x3cb37: 0x6d5bd420,\n\t0x3cb38: 0x6daafc20, 0x3cb39: 0x6daafe20, 0x3cb3a: 0x6de6da20, 0x3cb3b: 0x6c593620,\n\t0x3cb3c: 0x6c593820, 0x3cb3d: 0x6c7bd020, 0x3cb3e: 0x6cd2ea20, 0x3cb3f: 0x6cd2ec20,\n\t// Block 0xf2d, offset 0x3cb40\n\t0x3cb40: 0x6d00e020, 0x3cb41: 0x6d00e220, 0x3cb42: 0x6d2ec420, 0x3cb43: 0x6d2ec620,\n\t0x3cb44: 0x6d5bf620, 0x3cb45: 0x6e104e20, 0x3cb46: 0x6c3c6420, 0x3cb47: 0x6c594c20,\n\t0x3cb48: 0x6d2eee20, 0x3cb49: 0x6d2ef020, 0x3cb4a: 0x6c596e20, 0x3cb4b: 0x6c597020,\n\t0x3cb4c: 0x6c7c2a20, 0x3cb4d: 0x6c7c2c20, 0x3cb4e: 0x6ca4ec20, 0x3cb4f: 0x6cd32820,\n\t0x3cb50: 0x6cd32a20, 0x3cb51: 0x6d012a20, 0x3cb52: 0x6d012c20, 0x3cb53: 0x6d2f0420,\n\t0x3cb54: 0x6d2f0620, 0x3cb55: 0x6d5c2620, 0x3cb56: 0x6d86ac20, 0x3cb57: 0x6dab4a20,\n\t0x3cb58: 0x6dab4c20, 0x3cb59: 0x6dcbbc20, 0x3cb5a: 0x6de70a20, 0x3cb5b: 0x6e105a20,\n\t0x3cb5c: 0x6e1f1420, 0x3cb5d: 0x6e331220, 0x3cb5e: 0x6e444020, 0x3cb5f: 0x6c3cae20,\n\t0x3cb60: 0x6c3cb020, 0x3cb61: 0x6c5a1420, 0x3cb62: 0x6c5a1620, 0x3cb63: 0x6c5a1820,\n\t0x3cb64: 0x6c7ccc20, 0x3cb65: 0x6c7cce20, 0x3cb66: 0x6c7cd020, 0x3cb67: 0x6c7cd220,\n\t0x3cb68: 0x6ca58a20, 0x3cb69: 0x6ca58c20, 0x3cb6a: 0x6ca58e20, 0x3cb6b: 0x6cd3f020,\n\t0x3cb6c: 0x6cd3f220, 0x3cb6d: 0x6d01ee20, 0x3cb6e: 0x6d01f020, 0x3cb6f: 0x6d01f220,\n\t0x3cb70: 0x6d01f420, 0x3cb71: 0x6d2fc620, 0x3cb72: 0x6d2fc820, 0x3cb73: 0x6d2fca20,\n\t0x3cb74: 0x6d2fcc20, 0x3cb75: 0x6d5cca20, 0x3cb76: 0x6d5ccc20, 0x3cb77: 0x6d5cce20,\n\t0x3cb78: 0x6d5cd020, 0x3cb79: 0x6d874c20, 0x3cb7a: 0x6d874e20, 0x3cb7b: 0x6d875020,\n\t0x3cb7c: 0x6dabe020, 0x3cb7d: 0x6dabe220, 0x3cb7e: 0x6dabe420, 0x3cb7f: 0x6dabe620,\n\t// Block 0xf2e, offset 0x3cb80\n\t0x3cb80: 0x6dabe820, 0x3cb81: 0x6de75020, 0x3cb82: 0x6dfdde20, 0x3cb83: 0x6e108420,\n\t0x3cb84: 0x6e108620, 0x3cb85: 0x6e444420, 0x3cb86: 0x6c5a2220, 0x3cb87: 0x6cd40820,\n\t0x3cb88: 0x6c5a3820, 0x3cb89: 0x6c5a3a20, 0x3cb8a: 0x6ca5cc20, 0x3cb8b: 0x6d022e20,\n\t0x3cb8c: 0x6d2ffa20, 0x3cb8d: 0x6d5cf420, 0x3cb8e: 0x6d5cf620, 0x3cb8f: 0x6dfdea20,\n\t0x3cb90: 0x6e108a20, 0x3cb91: 0x6c5ab820, 0x3cb92: 0x6c5aba20, 0x3cb93: 0x6c5abc20,\n\t0x3cb94: 0x6c7db420, 0x3cb95: 0x6c7db620, 0x3cb96: 0x6c7db820, 0x3cb97: 0x6c7dba20,\n\t0x3cb98: 0x6c7dbc20, 0x3cb99: 0x6ca68020, 0x3cb9a: 0x6ca68220, 0x3cb9b: 0x6ca68420,\n\t0x3cb9c: 0x6ca68620, 0x3cb9d: 0x6ca68820, 0x3cb9e: 0x6cd4ac20, 0x3cb9f: 0x6cd4ae20,\n\t0x3cba0: 0x6cd4b020, 0x3cba1: 0x6cd4b220, 0x3cba2: 0x6cd4b420, 0x3cba3: 0x6cd4b620,\n\t0x3cba4: 0x6d02fc20, 0x3cba5: 0x6d02fe20, 0x3cba6: 0x6d030020, 0x3cba7: 0x6d030220,\n\t0x3cba8: 0x6d030420, 0x3cba9: 0x6d030620, 0x3cbaa: 0x6d30b020, 0x3cbab: 0x6d30b220,\n\t0x3cbac: 0x6d5d8220, 0x3cbad: 0x6d5d8420, 0x3cbae: 0x6d5d8620, 0x3cbaf: 0x6d87e820,\n\t0x3cbb0: 0x6d87ea20, 0x3cbb1: 0x6d87ec20, 0x3cbb2: 0x6d87ee20, 0x3cbb3: 0x6d87f020,\n\t0x3cbb4: 0x6d87f220, 0x3cbb5: 0x6dac9820, 0x3cbb6: 0x6dac9a20, 0x3cbb7: 0x6dac9c20,\n\t0x3cbb8: 0x6dcc9a20, 0x3cbb9: 0x6dcc9c20, 0x3cbba: 0x6dcc9e20, 0x3cbbb: 0x6de7a420,\n\t0x3cbbc: 0x6de7a620, 0x3cbbd: 0x6de7a820, 0x3cbbe: 0x6e10ba20, 0x3cbbf: 0x6e2a9e20,\n\t// Block 0xf2f, offset 0x3cbc0\n\t0x3cbc0: 0x6c256020, 0x3cbc1: 0x6c256220, 0x3cbc2: 0x6c3d2820, 0x3cbc3: 0x6c3d2a20,\n\t0x3cbc4: 0x6c5b2420, 0x3cbc5: 0x6c5b2620, 0x3cbc6: 0x6c5b2820, 0x3cbc7: 0x6c7e2420,\n\t0x3cbc8: 0x6c7e2620, 0x3cbc9: 0x6c7e2820, 0x3cbca: 0x6c7e2a20, 0x3cbcb: 0x6ca6e820,\n\t0x3cbcc: 0x6ca6ea20, 0x3cbcd: 0x6ca6ec20, 0x3cbce: 0x6ca6ee20, 0x3cbcf: 0x6ca6f020,\n\t0x3cbd0: 0x6cd51220, 0x3cbd1: 0x6cd51420, 0x3cbd2: 0x6cd51620, 0x3cbd3: 0x6cd51820,\n\t0x3cbd4: 0x6cd51a20, 0x3cbd5: 0x6cd51c20, 0x3cbd6: 0x6cd51e20, 0x3cbd7: 0x6cd52020,\n\t0x3cbd8: 0x6cd52220, 0x3cbd9: 0x6cd52420, 0x3cbda: 0x6d037220, 0x3cbdb: 0x6d037420,\n\t0x3cbdc: 0x6d310c20, 0x3cbdd: 0x6d310e20, 0x3cbde: 0x6d311020, 0x3cbdf: 0x6d311220,\n\t0x3cbe0: 0x6d5dcc20, 0x3cbe1: 0x6d5dce20, 0x3cbe2: 0x6dacc820, 0x3cbe3: 0x6dccbc20,\n\t0x3cbe4: 0x6e333820, 0x3cbe5: 0x6dccbe20, 0x3cbe6: 0x6c140a20, 0x3cbe7: 0x6c3d6620,\n\t0x3cbe8: 0x6c5b8e20, 0x3cbe9: 0x6c5b9020, 0x3cbea: 0x6c7e9e20, 0x3cbeb: 0x6c7ea020,\n\t0x3cbec: 0x6c7ea220, 0x3cbed: 0x6c7ea420, 0x3cbee: 0x6ca76e20, 0x3cbef: 0x6ca77020,\n\t0x3cbf0: 0x6ca77220, 0x3cbf1: 0x6ca77420, 0x3cbf2: 0x6cd59420, 0x3cbf3: 0x6cd59620,\n\t0x3cbf4: 0x6cd59820, 0x3cbf5: 0x6cd59a20, 0x3cbf6: 0x6cd59c20, 0x3cbf7: 0x6cd59e20,\n\t0x3cbf8: 0x6cd5a020, 0x3cbf9: 0x6d042220, 0x3cbfa: 0x6d042420, 0x3cbfb: 0x6d042620,\n\t0x3cbfc: 0x6d31b820, 0x3cbfd: 0x6d31ba20, 0x3cbfe: 0x6d31bc20, 0x3cbff: 0x6d31be20,\n\t// Block 0xf30, offset 0x3cc00\n\t0x3cc00: 0x6d31c020, 0x3cc01: 0x6d5e6220, 0x3cc02: 0x6d5e6420, 0x3cc03: 0x6d5e6620,\n\t0x3cc04: 0x6d5e6820, 0x3cc05: 0x6d88b820, 0x3cc06: 0x6dad4020, 0x3cc07: 0x6dcd1820,\n\t0x3cc08: 0x6dcd1a20, 0x3cc09: 0x6dfe8220, 0x3cc0a: 0x6c5bd020, 0x3cc0b: 0x6c7ef420,\n\t0x3cc0c: 0x6ca7c020, 0x3cc0d: 0x6ca7c220, 0x3cc0e: 0x6cd60420, 0x3cc0f: 0x6cd60620,\n\t0x3cc10: 0x6cd60820, 0x3cc11: 0x6d048020, 0x3cc12: 0x6d048220, 0x3cc13: 0x6d048420,\n\t0x3cc14: 0x6d320420, 0x3cc15: 0x6d320620, 0x3cc16: 0x6d5eb420, 0x3cc17: 0x6d891820,\n\t0x3cc18: 0x6d891a20, 0x3cc19: 0x6d891c20, 0x3cc1a: 0x6d891e20, 0x3cc1b: 0x6dad8620,\n\t0x3cc1c: 0x6dcd3620, 0x3cc1d: 0x6e2ac020, 0x3cc1e: 0x6c3d9820, 0x3cc1f: 0x6c5bf420,\n\t0x3cc20: 0x6c7f2e20, 0x3cc21: 0x6c7f3020, 0x3cc22: 0x6ca7e420, 0x3cc23: 0x6cd63220,\n\t0x3cc24: 0x6cd63420, 0x3cc25: 0x6d04b220, 0x3cc26: 0x6d04b420, 0x3cc27: 0x6d322a20,\n\t0x3cc28: 0x6d322c20, 0x3cc29: 0x6d5ec620, 0x3cc2a: 0x6d5ec820, 0x3cc2b: 0x6d5eca20,\n\t0x3cc2c: 0x6d892c20, 0x3cc2d: 0x6dada420, 0x3cc2e: 0x6de81020, 0x3cc2f: 0x6e1f8420,\n\t0x3cc30: 0x6c3da620, 0x3cc31: 0x6c5c2c20, 0x3cc32: 0x6c7f9c20, 0x3cc33: 0x6c7f9e20,\n\t0x3cc34: 0x6c7fa020, 0x3cc35: 0x6c7fa220, 0x3cc36: 0x6c7fa420, 0x3cc37: 0x6c7fa620,\n\t0x3cc38: 0x6ca88a20, 0x3cc39: 0x6ca88c20, 0x3cc3a: 0x6ca88e20, 0x3cc3b: 0x6ca89020,\n\t0x3cc3c: 0x6cd6da20, 0x3cc3d: 0x6cd6dc20, 0x3cc3e: 0x6d058c20, 0x3cc3f: 0x6d058e20,\n\t// Block 0xf31, offset 0x3cc40\n\t0x3cc40: 0x6d059020, 0x3cc41: 0x6d059220, 0x3cc42: 0x6d059420, 0x3cc43: 0x6d059620,\n\t0x3cc44: 0x6d332a20, 0x3cc45: 0x6d332c20, 0x3cc46: 0x6d332e20, 0x3cc47: 0x6d333020,\n\t0x3cc48: 0x6d333220, 0x3cc49: 0x6d333420, 0x3cc4a: 0x6d5fdc20, 0x3cc4b: 0x6d5fde20,\n\t0x3cc4c: 0x6d5fe020, 0x3cc4d: 0x6d5fe220, 0x3cc4e: 0x6d5fe420, 0x3cc4f: 0x6d5fe620,\n\t0x3cc50: 0x6d8a4020, 0x3cc51: 0x6d8a4220, 0x3cc52: 0x6d8a4420, 0x3cc53: 0x6d8a4620,\n\t0x3cc54: 0x6d8a4820, 0x3cc55: 0x6d8a4a20, 0x3cc56: 0x6d8a4c20, 0x3cc57: 0x6d8a4e20,\n\t0x3cc58: 0x6daeb420, 0x3cc59: 0x6daeb620, 0x3cc5a: 0x6daeb820, 0x3cc5b: 0x6daeba20,\n\t0x3cc5c: 0x6daebc20, 0x3cc5d: 0x6daebe20, 0x3cc5e: 0x6daec020, 0x3cc5f: 0x6daec220,\n\t0x3cc60: 0x6dce5a20, 0x3cc61: 0x6dce5c20, 0x3cc62: 0x6dce5e20, 0x3cc63: 0x6dce6020,\n\t0x3cc64: 0x6dce6220, 0x3cc65: 0x6de8be20, 0x3cc66: 0x6de8c020, 0x3cc67: 0x6dff1a20,\n\t0x3cc68: 0x6e118220, 0x3cc69: 0x6e118420, 0x3cc6a: 0x6e118620, 0x3cc6b: 0x6e118820,\n\t0x3cc6c: 0x6e1fe020, 0x3cc6d: 0x6e2b0220, 0x3cc6e: 0x6e337e20, 0x3cc6f: 0x6e398220,\n\t0x3cc70: 0x6e42de20, 0x3cc71: 0x6c3db620, 0x3cc72: 0x6c3db820, 0x3cc73: 0x6c5c5a20,\n\t0x3cc74: 0x6c5c5c20, 0x3cc75: 0x6c7fe820, 0x3cc76: 0x6c7fea20, 0x3cc77: 0x6c7fec20,\n\t0x3cc78: 0x6ca8e820, 0x3cc79: 0x6ca8ea20, 0x3cc7a: 0x6ca8ec20, 0x3cc7b: 0x6ca8ee20,\n\t0x3cc7c: 0x6ca8f020, 0x3cc7d: 0x6cd73a20, 0x3cc7e: 0x6cd73c20, 0x3cc7f: 0x6cd73e20,\n\t// Block 0xf32, offset 0x3cc80\n\t0x3cc80: 0x6cd74020, 0x3cc81: 0x6d060220, 0x3cc82: 0x6d33ac20, 0x3cc83: 0x6d33ae20,\n\t0x3cc84: 0x6d33b020, 0x3cc85: 0x6d33b220, 0x3cc86: 0x6d605e20, 0x3cc87: 0x6d606020,\n\t0x3cc88: 0x6d606220, 0x3cc89: 0x6d8aa420, 0x3cc8a: 0x6d8aa620, 0x3cc8b: 0x6d8aa820,\n\t0x3cc8c: 0x6d8aaa20, 0x3cc8d: 0x6daf1a20, 0x3cc8e: 0x6daf1c20, 0x3cc8f: 0x6dceba20,\n\t0x3cc90: 0x6dcebc20, 0x3cc91: 0x6dcebe20, 0x3cc92: 0x6de90420, 0x3cc93: 0x6de90620,\n\t0x3cc94: 0x6de90820, 0x3cc95: 0x6de90a20, 0x3cc96: 0x6dff3620, 0x3cc97: 0x6e1ffa20,\n\t0x3cc98: 0x6e1ffc20, 0x3cc99: 0x6e1ffe20, 0x3cc9a: 0x6c3dd220, 0x3cc9b: 0x6c3dd420,\n\t0x3cc9c: 0x6c5c9420, 0x3cc9d: 0x6c5c9620, 0x3cc9e: 0x6c809a20, 0x3cc9f: 0x6ca99820,\n\t0x3cca0: 0x6ca99a20, 0x3cca1: 0x6ca99c20, 0x3cca2: 0x6cd80620, 0x3cca3: 0x6cd80820,\n\t0x3cca4: 0x6cd80a20, 0x3cca5: 0x6d06c220, 0x3cca6: 0x6d06c420, 0x3cca7: 0x6d06c620,\n\t0x3cca8: 0x6d06c820, 0x3cca9: 0x6d06ca20, 0x3ccaa: 0x6d34b420, 0x3ccab: 0x6d34b620,\n\t0x3ccac: 0x6d34b820, 0x3ccad: 0x6d34ba20, 0x3ccae: 0x6d34bc20, 0x3ccaf: 0x6d34be20,\n\t0x3ccb0: 0x6d34c020, 0x3ccb1: 0x6d34c220, 0x3ccb2: 0x6d34c420, 0x3ccb3: 0x6d617020,\n\t0x3ccb4: 0x6d617220, 0x3ccb5: 0x6d617420, 0x3ccb6: 0x6d617620, 0x3ccb7: 0x6d617820,\n\t0x3ccb8: 0x6d8b8a20, 0x3ccb9: 0x6d8b8c20, 0x3ccba: 0x6d8b8e20, 0x3ccbb: 0x6d8b9020,\n\t0x3ccbc: 0x6d8b9220, 0x3ccbd: 0x6dafe220, 0x3ccbe: 0x6dafe420, 0x3ccbf: 0x6dafe620,\n\t// Block 0xf33, offset 0x3ccc0\n\t0x3ccc0: 0x6dafe820, 0x3ccc1: 0x6dcf7220, 0x3ccc2: 0x6dcf7420, 0x3ccc3: 0x6dcf7620,\n\t0x3ccc4: 0x6dcf7820, 0x3ccc5: 0x6de99220, 0x3ccc6: 0x6de99420, 0x3ccc7: 0x6de99620,\n\t0x3ccc8: 0x6de99820, 0x3ccc9: 0x6de99a20, 0x3ccca: 0x6de99c20, 0x3cccb: 0x6de99e20,\n\t0x3cccc: 0x6dff8a20, 0x3cccd: 0x6dff8c20, 0x3ccce: 0x6dff8e20, 0x3cccf: 0x6e11fa20,\n\t0x3ccd0: 0x6e11fc20, 0x3ccd1: 0x6e11fe20, 0x3ccd2: 0x6e203420, 0x3ccd3: 0x6e203620,\n\t0x3ccd4: 0x6e203820, 0x3ccd5: 0x6e2b3020, 0x3ccd6: 0x6e39a620, 0x3ccd7: 0x6e3dd220,\n\t0x3ccd8: 0x6e40b420, 0x3ccd9: 0x6c050220, 0x3ccda: 0x6c25c420, 0x3ccdb: 0x6c25c620,\n\t0x3ccdc: 0x6c25c820, 0x3ccdd: 0x6c25ca20, 0x3ccde: 0x6c3dfc20, 0x3ccdf: 0x6c3dfe20,\n\t0x3cce0: 0x6c5cba20, 0x3cce1: 0x6c5cbc20, 0x3cce2: 0x6c5cbe20, 0x3cce3: 0x6c5cc020,\n\t0x3cce4: 0x6c80b620, 0x3cce5: 0x6c80b820, 0x3cce6: 0x6c80ba20, 0x3cce7: 0x6c80bc20,\n\t0x3cce8: 0x6c80be20, 0x3cce9: 0x6c80c020, 0x3ccea: 0x6ca9dc20, 0x3cceb: 0x6ca9de20,\n\t0x3ccec: 0x6cd84a20, 0x3cced: 0x6cd84c20, 0x3ccee: 0x6cd84e20, 0x3ccef: 0x6d06ee20,\n\t0x3ccf0: 0x6d06f020, 0x3ccf1: 0x6d34d820, 0x3ccf2: 0x6d34da20, 0x3ccf3: 0x6d34dc20,\n\t0x3ccf4: 0x6d34de20, 0x3ccf5: 0x6d618e20, 0x3ccf6: 0x6d619020, 0x3ccf7: 0x6d8ba420,\n\t0x3ccf8: 0x6daff020, 0x3ccf9: 0x6e120020, 0x3ccfa: 0x6d06fa20, 0x3ccfb: 0x6d34fa20,\n\t0x3ccfc: 0x6d61a020, 0x3ccfd: 0x6d61a220, 0x3ccfe: 0x6d8bb820, 0x3ccff: 0x6de9b220,\n\t// Block 0xf34, offset 0x3cd00\n\t0x3cd00: 0x6c3e1e20, 0x3cd01: 0x6c5cf420, 0x3cd02: 0x6c812020, 0x3cd03: 0x6caa2420,\n\t0x3cd04: 0x6caa2620, 0x3cd05: 0x6caa2820, 0x3cd06: 0x6d074220, 0x3cd07: 0x6d074420,\n\t0x3cd08: 0x6d352c20, 0x3cd09: 0x6d61c820, 0x3cd0a: 0x6d8bf020, 0x3cd0b: 0x6dcfa620,\n\t0x3cd0c: 0x6de9d420, 0x3cd0d: 0x6e120e20, 0x3cd0e: 0x6c3e2c20, 0x3cd0f: 0x6caa6620,\n\t0x3cd10: 0x6caa6820, 0x3cd11: 0x6caa6a20, 0x3cd12: 0x6caa6c20, 0x3cd13: 0x6cd8a620,\n\t0x3cd14: 0x6cd8a820, 0x3cd15: 0x6d077a20, 0x3cd16: 0x6d61f020, 0x3cd17: 0x6d61f220,\n\t0x3cd18: 0x6d61f420, 0x3cd19: 0x6d8c0a20, 0x3cd1a: 0x6db04a20, 0x3cd1b: 0x6db04c20,\n\t0x3cd1c: 0x6db04e20, 0x3cd1d: 0x6dcfd420, 0x3cd1e: 0x6dcfd620, 0x3cd1f: 0x6dffb020,\n\t0x3cd20: 0x6e204820, 0x3cd21: 0x6e204a20, 0x3cd22: 0x6c5d2c20, 0x3cd23: 0x6c818e20,\n\t0x3cd24: 0x6caab020, 0x3cd25: 0x6cd8ec20, 0x3cd26: 0x6cd8ee20, 0x3cd27: 0x6cd8f020,\n\t0x3cd28: 0x6d07a620, 0x3cd29: 0x6d07a820, 0x3cd2a: 0x6d358a20, 0x3cd2b: 0x6d623820,\n\t0x3cd2c: 0x6d623a20, 0x3cd2d: 0x6d8c3e20, 0x3cd2e: 0x6d8c4020, 0x3cd2f: 0x6db07020,\n\t0x3cd30: 0x6dd00820, 0x3cd31: 0x6dd00a20, 0x3cd32: 0x6e205420, 0x3cd33: 0x6c81a020,\n\t0x3cd34: 0x6c81a220, 0x3cd35: 0x6d07ac20, 0x3cd36: 0x6d359020, 0x3cd37: 0x6d624020,\n\t0x3cd38: 0x6dd00e20, 0x3cd39: 0x6caace20, 0x3cd3a: 0x6cd90a20, 0x3cd3b: 0x6cd90c20,\n\t0x3cd3c: 0x6d07be20, 0x3cd3d: 0x6d626620, 0x3cd3e: 0x6d8c6020, 0x3cd3f: 0x6dd02820,\n\t// Block 0xf35, offset 0x3cd40\n\t0x3cd40: 0x6c3e5820, 0x3cd41: 0x6c81f820, 0x3cd42: 0x6cd94820, 0x3cd43: 0x6cd94a20,\n\t0x3cd44: 0x6d07f620, 0x3cd45: 0x6d07f820, 0x3cd46: 0x6d07fa20, 0x3cd47: 0x6d360a20,\n\t0x3cd48: 0x6d360c20, 0x3cd49: 0x6d62b420, 0x3cd4a: 0x6d8c9220, 0x3cd4b: 0x6d8c9420,\n\t0x3cd4c: 0x6d8c9620, 0x3cd4d: 0x6d8c9820, 0x3cd4e: 0x6db0c820, 0x3cd4f: 0x6db0ca20,\n\t0x3cd50: 0x6dd05a20, 0x3cd51: 0x6dd05c20, 0x3cd52: 0x6dea1a20, 0x3cd53: 0x6e42ea20,\n\t0x3cd54: 0x6d080820, 0x3cd55: 0x6d361820, 0x3cd56: 0x6c3f1420, 0x3cd57: 0x6c3f1620,\n\t0x3cd58: 0x6c3f1820, 0x3cd59: 0x6c5e3020, 0x3cd5a: 0x6c5e3220, 0x3cd5b: 0x6c5e3420,\n\t0x3cd5c: 0x6c5e3620, 0x3cd5d: 0x6c82ce20, 0x3cd5e: 0x6c82d020, 0x3cd5f: 0x6cabd620,\n\t0x3cd60: 0x6cabd820, 0x3cd61: 0x6cabda20, 0x3cd62: 0x6cda6620, 0x3cd63: 0x6cda6820,\n\t0x3cd64: 0x6cda6a20, 0x3cd65: 0x6cda6c20, 0x3cd66: 0x6d08f220, 0x3cd67: 0x6d08f420,\n\t0x3cd68: 0x6d08f620, 0x3cd69: 0x6d36d620, 0x3cd6a: 0x6d36d820, 0x3cd6b: 0x6d36da20,\n\t0x3cd6c: 0x6d36dc20, 0x3cd6d: 0x6d36de20, 0x3cd6e: 0x6d36e020, 0x3cd6f: 0x6d634a20,\n\t0x3cd70: 0x6d634c20, 0x3cd71: 0x6d634e20, 0x3cd72: 0x6d635020, 0x3cd73: 0x6d635220,\n\t0x3cd74: 0x6d635420, 0x3cd75: 0x6d8d5020, 0x3cd76: 0x6d8d5220, 0x3cd77: 0x6d8d5420,\n\t0x3cd78: 0x6d8d5620, 0x3cd79: 0x6db15e20, 0x3cd7a: 0x6db16020, 0x3cd7b: 0x6db16220,\n\t0x3cd7c: 0x6dd0ac20, 0x3cd7d: 0x6dd0ae20, 0x3cd7e: 0x6dea6420, 0x3cd7f: 0x6dea6620,\n\t// Block 0xf36, offset 0x3cd80\n\t0x3cd80: 0x6e001420, 0x3cd81: 0x6e125820, 0x3cd82: 0x6e207c20, 0x3cd83: 0x6e2b6220,\n\t0x3cd84: 0x6e454220, 0x3cd85: 0x6c82da20, 0x3cd86: 0x6cda7a20, 0x3cd87: 0x6d08f820,\n\t0x3cd88: 0x6d36ec20, 0x3cd89: 0x6dd0b620, 0x3cd8a: 0x6cda8a20, 0x3cd8b: 0x6d636820,\n\t0x3cd8c: 0x6dd0ba20, 0x3cd8d: 0x6e3de620, 0x3cd8e: 0x6d090020, 0x3cd8f: 0x6d36fc20,\n\t0x3cd90: 0x6d36fe20, 0x3cd91: 0x6e001e20, 0x3cd92: 0x6dd0d020, 0x3cd93: 0x6e3dea20,\n\t0x3cd94: 0x6c3f3220, 0x3cd95: 0x6d091820, 0x3cd96: 0x6d091a20, 0x3cd97: 0x6d8d9420,\n\t0x3cd98: 0x6dea8420, 0x3cd99: 0x6e208420, 0x3cd9a: 0x6c5e7620, 0x3cd9b: 0x6d377220,\n\t0x3cd9c: 0x6d63e020, 0x3cd9d: 0x6d63e220, 0x3cd9e: 0x6db1ba20, 0x3cd9f: 0x6dd11620,\n\t0x3cda0: 0x6e004820, 0x3cda1: 0x6e209620, 0x3cda2: 0x6e209820, 0x3cda3: 0x6e209a20,\n\t0x3cda4: 0x6d8dd820, 0x3cda5: 0x6c14c620, 0x3cda6: 0x6c14c820, 0x3cda7: 0x6c268420,\n\t0x3cda8: 0x6c268620, 0x3cda9: 0x6c400220, 0x3cdaa: 0x6c400420, 0x3cdab: 0x6c400620,\n\t0x3cdac: 0x6c400820, 0x3cdad: 0x6c400a20, 0x3cdae: 0x6c5f7e20, 0x3cdaf: 0x6c5f8020,\n\t0x3cdb0: 0x6c5f8220, 0x3cdb1: 0x6c5f8420, 0x3cdb2: 0x6c5f8620, 0x3cdb3: 0x6c5f8820,\n\t0x3cdb4: 0x6c5f8a20, 0x3cdb5: 0x6c5f8c20, 0x3cdb6: 0x6c84b020, 0x3cdb7: 0x6c84b220,\n\t0x3cdb8: 0x6c84b420, 0x3cdb9: 0x6c84b620, 0x3cdba: 0x6c84b820, 0x3cdbb: 0x6c84ba20,\n\t0x3cdbc: 0x6c84bc20, 0x3cdbd: 0x6c84be20, 0x3cdbe: 0x6c84c020, 0x3cdbf: 0x6cadf420,\n\t// Block 0xf37, offset 0x3cdc0\n\t0x3cdc0: 0x6cadf620, 0x3cdc1: 0x6cadf820, 0x3cdc2: 0x6cadfa20, 0x3cdc3: 0x6cadfc20,\n\t0x3cdc4: 0x6cadfe20, 0x3cdc5: 0x6cae0020, 0x3cdc6: 0x6cae0220, 0x3cdc7: 0x6cae0420,\n\t0x3cdc8: 0x6cae0620, 0x3cdc9: 0x6cae0820, 0x3cdca: 0x6cae0a20, 0x3cdcb: 0x6cae0c20,\n\t0x3cdcc: 0x6cae0e20, 0x3cdcd: 0x6cae1020, 0x3cdce: 0x6cae1220, 0x3cdcf: 0x6cae1420,\n\t0x3cdd0: 0x6cdd2220, 0x3cdd1: 0x6cdd2420, 0x3cdd2: 0x6cdd2620, 0x3cdd3: 0x6cdd2820,\n\t0x3cdd4: 0x6cdd2a20, 0x3cdd5: 0x6cdd2c20, 0x3cdd6: 0x6cdd2e20, 0x3cdd7: 0x6cdd3020,\n\t0x3cdd8: 0x6cdd3220, 0x3cdd9: 0x6cdd3420, 0x3cdda: 0x6cdd3620, 0x3cddb: 0x6cdd3820,\n\t0x3cddc: 0x6cdd3a20, 0x3cddd: 0x6cdd3c20, 0x3cdde: 0x6cdd3e20, 0x3cddf: 0x6cdd4020,\n\t0x3cde0: 0x6cdd4220, 0x3cde1: 0x6d0b8c20, 0x3cde2: 0x6d0b8e20, 0x3cde3: 0x6d0b9020,\n\t0x3cde4: 0x6d0b9220, 0x3cde5: 0x6d0b9420, 0x3cde6: 0x6d0b9620, 0x3cde7: 0x6d0b9820,\n\t0x3cde8: 0x6d0b9a20, 0x3cde9: 0x6d0b9c20, 0x3cdea: 0x6d0b9e20, 0x3cdeb: 0x6d0ba020,\n\t0x3cdec: 0x6d0ba220, 0x3cded: 0x6d0ba420, 0x3cdee: 0x6d0ba620, 0x3cdef: 0x6d0ba820,\n\t0x3cdf0: 0x6cdd4620, 0x3cdf1: 0x6d0baa20, 0x3cdf2: 0x6d0bac20, 0x3cdf3: 0x6d0bae20,\n\t0x3cdf4: 0x6d0bb020, 0x3cdf5: 0x6d0bb220, 0x3cdf6: 0x6d399220, 0x3cdf7: 0x6d399420,\n\t0x3cdf8: 0x6d399620, 0x3cdf9: 0x6d399820, 0x3cdfa: 0x6d399a20, 0x3cdfb: 0x6d399c20,\n\t0x3cdfc: 0x6d399e20, 0x3cdfd: 0x6d39a020, 0x3cdfe: 0x6d39a220, 0x3cdff: 0x6d39a420,\n\t// Block 0xf38, offset 0x3ce00\n\t0x3ce00: 0x6d39a620, 0x3ce01: 0x6d39a820, 0x3ce02: 0x6d39aa20, 0x3ce03: 0x6d39ac20,\n\t0x3ce04: 0x6d39ae20, 0x3ce05: 0x6d39b020, 0x3ce06: 0x6d39b220, 0x3ce07: 0x6d39b420,\n\t0x3ce08: 0x6d65c420, 0x3ce09: 0x6d65c620, 0x3ce0a: 0x6d65c820, 0x3ce0b: 0x6d65ca20,\n\t0x3ce0c: 0x6d65cc20, 0x3ce0d: 0x6d65ce20, 0x3ce0e: 0x6d65d020, 0x3ce0f: 0x6d65d220,\n\t0x3ce10: 0x6d65d420, 0x3ce11: 0x6d65d620, 0x3ce12: 0x6d65d820, 0x3ce13: 0x6d65da20,\n\t0x3ce14: 0x6d65dc20, 0x3ce15: 0x6d65de20, 0x3ce16: 0x6d65e020, 0x3ce17: 0x6d65e220,\n\t0x3ce18: 0x6d65e420, 0x3ce19: 0x6d65e620, 0x3ce1a: 0x6d65e820, 0x3ce1b: 0x6d65ea20,\n\t0x3ce1c: 0x6d65ec20, 0x3ce1d: 0x6d8fb220, 0x3ce1e: 0x6d8fb420, 0x3ce1f: 0x6d8fb620,\n\t0x3ce20: 0x6d8fb820, 0x3ce21: 0x6d8fba20, 0x3ce22: 0x6d8fbc20, 0x3ce23: 0x6d8fbe20,\n\t0x3ce24: 0x6d8fc020, 0x3ce25: 0x6db37420, 0x3ce26: 0x6db37620, 0x3ce27: 0x6db37820,\n\t0x3ce28: 0x6db37a20, 0x3ce29: 0x6db37c20, 0x3ce2a: 0x6db37e20, 0x3ce2b: 0x6db38020,\n\t0x3ce2c: 0x6db38220, 0x3ce2d: 0x6db38420, 0x3ce2e: 0x6db38620, 0x3ce2f: 0x6db38820,\n\t0x3ce30: 0x6db38a20, 0x3ce31: 0x6db38c20, 0x3ce32: 0x6db38e20, 0x3ce33: 0x6db39020,\n\t0x3ce34: 0x6db39220, 0x3ce35: 0x6dd27620, 0x3ce36: 0x6dd27820, 0x3ce37: 0x6dd27a20,\n\t0x3ce38: 0x6dd27c20, 0x3ce39: 0x6dd27e20, 0x3ce3a: 0x6dd28020, 0x3ce3b: 0x6dd28220,\n\t0x3ce3c: 0x6dd28420, 0x3ce3d: 0x6dd28620, 0x3ce3e: 0x6dd28820, 0x3ce3f: 0x6dd28a20,\n\t// Block 0xf39, offset 0x3ce40\n\t0x3ce40: 0x6dd28c20, 0x3ce41: 0x6dd28e20, 0x3ce42: 0x6dd29020, 0x3ce43: 0x6dd29220,\n\t0x3ce44: 0x6dd29420, 0x3ce45: 0x6debc020, 0x3ce46: 0x6debc220, 0x3ce47: 0x6debc420,\n\t0x3ce48: 0x6debc620, 0x3ce49: 0x6debc820, 0x3ce4a: 0x6debca20, 0x3ce4b: 0x6debcc20,\n\t0x3ce4c: 0x6e014c20, 0x3ce4d: 0x6e014e20, 0x3ce4e: 0x6e015020, 0x3ce4f: 0x6e015220,\n\t0x3ce50: 0x6e133820, 0x3ce51: 0x6e133a20, 0x3ce52: 0x6e133c20, 0x3ce53: 0x6e133e20,\n\t0x3ce54: 0x6e211820, 0x3ce55: 0x6e211a20, 0x3ce56: 0x6e211c20, 0x3ce57: 0x6e2bd420,\n\t0x3ce58: 0x6e342020, 0x3ce59: 0x6e342220, 0x3ce5a: 0x6e342420, 0x3ce5b: 0x6e3e0e20,\n\t0x3ce5c: 0x6e3e1020, 0x3ce5d: 0x6c5f9e20, 0x3ce5e: 0x6c5fa020, 0x3ce5f: 0x6c84dc20,\n\t0x3ce60: 0x6cdd6220, 0x3ce61: 0x6cdd6420, 0x3ce62: 0x6d39da20, 0x3ce63: 0x6db3b220,\n\t0x3ce64: 0x6c403420, 0x3ce65: 0x6c5ff220, 0x3ce66: 0x6c5ff420, 0x3ce67: 0x6c857820,\n\t0x3ce68: 0x6c857a20, 0x3ce69: 0x6c857c20, 0x3ce6a: 0x6c857e20, 0x3ce6b: 0x6c858020,\n\t0x3ce6c: 0x6caf0c20, 0x3ce6d: 0x6caf0e20, 0x3ce6e: 0x6caf1020, 0x3ce6f: 0x6caf1220,\n\t0x3ce70: 0x6caf1420, 0x3ce71: 0x6caf1620, 0x3ce72: 0x6caf1820, 0x3ce73: 0x6cde3020,\n\t0x3ce74: 0x6cde3220, 0x3ce75: 0x6cde3420, 0x3ce76: 0x6cde3620, 0x3ce77: 0x6cde3820,\n\t0x3ce78: 0x6cde3a20, 0x3ce79: 0x6cde3c20, 0x3ce7a: 0x6cde3e20, 0x3ce7b: 0x6cde4020,\n\t0x3ce7c: 0x6cde4220, 0x3ce7d: 0x6d0cb020, 0x3ce7e: 0x6d0cb220, 0x3ce7f: 0x6d0cb420,\n\t// Block 0xf3a, offset 0x3ce80\n\t0x3ce80: 0x6d0cb620, 0x3ce81: 0x6d0cb820, 0x3ce82: 0x6d3afc20, 0x3ce83: 0x6d3afe20,\n\t0x3ce84: 0x6d3b0020, 0x3ce85: 0x6d3b0220, 0x3ce86: 0x6d3b0420, 0x3ce87: 0x6d3b0620,\n\t0x3ce88: 0x6d3b0820, 0x3ce89: 0x6d3b0a20, 0x3ce8a: 0x6d672e20, 0x3ce8b: 0x6d673020,\n\t0x3ce8c: 0x6d673220, 0x3ce8d: 0x6d673420, 0x3ce8e: 0x6d673620, 0x3ce8f: 0x6d910820,\n\t0x3ce90: 0x6d910a20, 0x3ce91: 0x6d910c20, 0x3ce92: 0x6d910e20, 0x3ce93: 0x6d911020,\n\t0x3ce94: 0x6d911220, 0x3ce95: 0x6d911420, 0x3ce96: 0x6db4be20, 0x3ce97: 0x6db4c020,\n\t0x3ce98: 0x6db4c220, 0x3ce99: 0x6db4c420, 0x3ce9a: 0x6dd38e20, 0x3ce9b: 0x6dd39020,\n\t0x3ce9c: 0x6dd39220, 0x3ce9d: 0x6dd39420, 0x3ce9e: 0x6dd39620, 0x3ce9f: 0x6dec9c20,\n\t0x3cea0: 0x6dec9e20, 0x3cea1: 0x6deca020, 0x3cea2: 0x6deca220, 0x3cea3: 0x6e01d420,\n\t0x3cea4: 0x6e01d620, 0x3cea5: 0x6e01d820, 0x3cea6: 0x6e13c220, 0x3cea7: 0x6e13c420,\n\t0x3cea8: 0x6e218420, 0x3cea9: 0x6e447620, 0x3ceaa: 0x6c859220, 0x3ceab: 0x6caf2420,\n\t0x3ceac: 0x6db4ce20, 0x3cead: 0x6caf3220, 0x3ceae: 0x6cde6820, 0x3ceaf: 0x6d675420,\n\t0x3ceb0: 0x6dd3a820, 0x3ceb1: 0x6e2c2020, 0x3ceb2: 0x6c605e20, 0x3ceb3: 0x6c606020,\n\t0x3ceb4: 0x6c606220, 0x3ceb5: 0x6c861c20, 0x3ceb6: 0x6c861e20, 0x3ceb7: 0x6c862020,\n\t0x3ceb8: 0x6cafd820, 0x3ceb9: 0x6cafda20, 0x3ceba: 0x6cafdc20, 0x3cebb: 0x6cafde20,\n\t0x3cebc: 0x6cafe020, 0x3cebd: 0x6cdef420, 0x3cebe: 0x6d0d6820, 0x3cebf: 0x6d0d6a20,\n\t// Block 0xf3b, offset 0x3cec0\n\t0x3cec0: 0x6d0d6c20, 0x3cec1: 0x6d0d6e20, 0x3cec2: 0x6d0d7020, 0x3cec3: 0x6d0d7220,\n\t0x3cec4: 0x6d0d7420, 0x3cec5: 0x6d3bd820, 0x3cec6: 0x6d3bda20, 0x3cec7: 0x6d67ec20,\n\t0x3cec8: 0x6d67ee20, 0x3cec9: 0x6d67f020, 0x3ceca: 0x6d91ae20, 0x3cecb: 0x6d91b020,\n\t0x3cecc: 0x6d91b220, 0x3cecd: 0x6d91b420, 0x3cece: 0x6d91b620, 0x3cecf: 0x6d91b820,\n\t0x3ced0: 0x6db57820, 0x3ced1: 0x6db57a20, 0x3ced2: 0x6db57c20, 0x3ced3: 0x6dd40a20,\n\t0x3ced4: 0x6dd40c20, 0x3ced5: 0x6decfc20, 0x3ced6: 0x6e021620, 0x3ced7: 0x6e21a020,\n\t0x3ced8: 0x6e2c3420, 0x3ced9: 0x6e2c3620, 0x3ceda: 0x6cafec20, 0x3cedb: 0x6d91c020,\n\t0x3cedc: 0x6c863c20, 0x3cedd: 0x6cdf3220, 0x3cede: 0x6d0daa20, 0x3cedf: 0x6d3c1a20,\n\t0x3cee0: 0x6d3c1c20, 0x3cee1: 0x6d683020, 0x3cee2: 0x6d91fe20, 0x3cee3: 0x6d920020,\n\t0x3cee4: 0x6dd43420, 0x3cee5: 0x6e022c20, 0x3cee6: 0x6e3a3220, 0x3cee7: 0x6e3a3420,\n\t0x3cee8: 0x6c607820, 0x3cee9: 0x6c607a20, 0x3ceea: 0x6c864020, 0x3ceeb: 0x6d0dae20,\n\t0x3ceec: 0x6d683820, 0x3ceed: 0x6db5a620, 0x3ceee: 0x6d0dd820, 0x3ceef: 0x6d0dda20,\n\t0x3cef0: 0x6d922e20, 0x3cef1: 0x6d923020, 0x3cef2: 0x6c868c20, 0x3cef3: 0x6c868e20,\n\t0x3cef4: 0x6cb10620, 0x3cef5: 0x6cb10820, 0x3cef6: 0x6ce02420, 0x3cef7: 0x6ce02620,\n\t0x3cef8: 0x6ce02820, 0x3cef9: 0x6ce02a20, 0x3cefa: 0x6d0eae20, 0x3cefb: 0x6d0eb020,\n\t0x3cefc: 0x6d3d0020, 0x3cefd: 0x6d3d0220, 0x3cefe: 0x6d3d0420, 0x3ceff: 0x6d697220,\n\t// Block 0xf3c, offset 0x3cf00\n\t0x3cf00: 0x6d697420, 0x3cf01: 0x6d92f220, 0x3cf02: 0x6d92f420, 0x3cf03: 0x6d92f620,\n\t0x3cf04: 0x6d92f820, 0x3cf05: 0x6d92fa20, 0x3cf06: 0x6db69220, 0x3cf07: 0x6db69420,\n\t0x3cf08: 0x6db69620, 0x3cf09: 0x6dd4f220, 0x3cf0a: 0x6dd4f420, 0x3cf0b: 0x6dd4f620,\n\t0x3cf0c: 0x6dd4f820, 0x3cf0d: 0x6dedda20, 0x3cf0e: 0x6deddc20, 0x3cf0f: 0x6dedde20,\n\t0x3cf10: 0x6e02b220, 0x3cf11: 0x6e02b420, 0x3cf12: 0x6e146a20, 0x3cf13: 0x6e2c7420,\n\t0x3cf14: 0x6e34a220, 0x3cf15: 0x6e34a420, 0x3cf16: 0x6e34a620, 0x3cf17: 0x6e3e4220,\n\t0x3cf18: 0x6e431c20, 0x3cf19: 0x6c0a7c20, 0x3cf1a: 0x6c14fa20, 0x3cf1b: 0x6c14fc20,\n\t0x3cf1c: 0x6c26d820, 0x3cf1d: 0x6c26da20, 0x3cf1e: 0x6c26dc20, 0x3cf1f: 0x6c26de20,\n\t0x3cf20: 0x6c26e020, 0x3cf21: 0x6c26e220, 0x3cf22: 0x6c40ac20, 0x3cf23: 0x6c40ae20,\n\t0x3cf24: 0x6c40b020, 0x3cf25: 0x6c40b220, 0x3cf26: 0x6c40b420, 0x3cf27: 0x6c60b620,\n\t0x3cf28: 0x6c60b820, 0x3cf29: 0x6c60ba20, 0x3cf2a: 0x6c60bc20, 0x3cf2b: 0x6c86b820,\n\t0x3cf2c: 0x6c86ba20, 0x3cf2d: 0x6c86bc20, 0x3cf2e: 0x6c86be20, 0x3cf2f: 0x6cb13420,\n\t0x3cf30: 0x6cb13620, 0x3cf31: 0x6cb13820, 0x3cf32: 0x6cb13a20, 0x3cf33: 0x6cb13c20,\n\t0x3cf34: 0x6cb13e20, 0x3cf35: 0x6ce03e20, 0x3cf36: 0x6ce04020, 0x3cf37: 0x6ce04220,\n\t0x3cf38: 0x6ce04420, 0x3cf39: 0x6d0ebe20, 0x3cf3a: 0x6d0ec020, 0x3cf3b: 0x6d3d1220,\n\t0x3cf3c: 0x6d3d1420, 0x3cf3d: 0x6d698220, 0x3cf3e: 0x6d92fe20, 0x3cf3f: 0x6db69c20,\n\t// Block 0xf3d, offset 0x3cf40\n\t0x3cf40: 0x6c60c020, 0x3cf41: 0x6cb14e20, 0x3cf42: 0x6d699420, 0x3cf43: 0x6d69b220,\n\t0x3cf44: 0x6dd51220, 0x3cf45: 0x6c40bc20, 0x3cf46: 0x6cb17620, 0x3cf47: 0x6d3d4a20,\n\t0x3cf48: 0x6d3d4c20, 0x3cf49: 0x6d933e20, 0x3cf4a: 0x6c86ee20, 0x3cf4b: 0x6d0f2420,\n\t0x3cf4c: 0x6d936620, 0x3cf4d: 0x6db70220, 0x3cf4e: 0x6c60da20, 0x3cf4f: 0x6c870a20,\n\t0x3cf50: 0x6c870c20, 0x3cf51: 0x6c870e20, 0x3cf52: 0x6cb1d820, 0x3cf53: 0x6cb1da20,\n\t0x3cf54: 0x6ce11420, 0x3cf55: 0x6ce11620, 0x3cf56: 0x6d0f8e20, 0x3cf57: 0x6d3dbc20,\n\t0x3cf58: 0x6d3dbe20, 0x3cf59: 0x6d3dc020, 0x3cf5a: 0x6d6a6820, 0x3cf5b: 0x6d6a6a20,\n\t0x3cf5c: 0x6d93b820, 0x3cf5d: 0x6d93ba20, 0x3cf5e: 0x6d93bc20, 0x3cf5f: 0x6db73c20,\n\t0x3cf60: 0x6db73e20, 0x3cf61: 0x6dd59220, 0x3cf62: 0x6dee7a20, 0x3cf63: 0x6e225420,\n\t0x3cf64: 0x6e225620, 0x3cf65: 0x6e2ca420, 0x3cf66: 0x6c60f620, 0x3cf67: 0x6c60f820,\n\t0x3cf68: 0x6cb1e620, 0x3cf69: 0x6ce13420, 0x3cf6a: 0x6d0f9620, 0x3cf6b: 0x6d93ca20,\n\t0x3cf6c: 0x6dd59420, 0x3cf6d: 0x6ce13c20, 0x3cf6e: 0x6d0fa620, 0x3cf6f: 0x6d6a8020,\n\t0x3cf70: 0x6dd59a20, 0x3cf71: 0x6cb23c20, 0x3cf72: 0x6ce19a20, 0x3cf73: 0x6d100420,\n\t0x3cf74: 0x6d100620, 0x3cf75: 0x6d3e3420, 0x3cf76: 0x6d3e3620, 0x3cf77: 0x6d3e3820,\n\t0x3cf78: 0x6d6ad420, 0x3cf79: 0x6d6ad620, 0x3cf7a: 0x6d6ad820, 0x3cf7b: 0x6d942e20,\n\t0x3cf7c: 0x6d943020, 0x3cf7d: 0x6db78220, 0x3cf7e: 0x6dd5d820, 0x3cf7f: 0x6dd5da20,\n\t// Block 0xf3e, offset 0x3cf80\n\t0x3cf80: 0x6c877e20, 0x3cf81: 0x6cb2a420, 0x3cf82: 0x6cb2a620, 0x3cf83: 0x6cb2a820,\n\t0x3cf84: 0x6ce23420, 0x3cf85: 0x6ce23620, 0x3cf86: 0x6ce23820, 0x3cf87: 0x6d10a620,\n\t0x3cf88: 0x6d10a820, 0x3cf89: 0x6d10aa20, 0x3cf8a: 0x6d10ac20, 0x3cf8b: 0x6d10ae20,\n\t0x3cf8c: 0x6d3edc20, 0x3cf8d: 0x6d3ede20, 0x3cf8e: 0x6d3ee020, 0x3cf8f: 0x6d6b8e20,\n\t0x3cf90: 0x6d6b9020, 0x3cf91: 0x6d6b9220, 0x3cf92: 0x6d6b9420, 0x3cf93: 0x6d6b9620,\n\t0x3cf94: 0x6d94d820, 0x3cf95: 0x6d94da20, 0x3cf96: 0x6d94dc20, 0x3cf97: 0x6d94de20,\n\t0x3cf98: 0x6d94e020, 0x3cf99: 0x6db81020, 0x3cf9a: 0x6db81220, 0x3cf9b: 0x6db81420,\n\t0x3cf9c: 0x6dd6a220, 0x3cf9d: 0x6dd6a420, 0x3cf9e: 0x6dd6a620, 0x3cf9f: 0x6dd6a820,\n\t0x3cfa0: 0x6def6020, 0x3cfa1: 0x6def6220, 0x3cfa2: 0x6def6420, 0x3cfa3: 0x6e039220,\n\t0x3cfa4: 0x6e039420, 0x3cfa5: 0x6e039620, 0x3cfa6: 0x6e039820, 0x3cfa7: 0x6e150220,\n\t0x3cfa8: 0x6e150420, 0x3cfa9: 0x6e2ce620, 0x3cfaa: 0x6d10dc20, 0x3cfab: 0x6d10de20,\n\t0x3cfac: 0x6d3f0020, 0x3cfad: 0x6db83220, 0x3cfae: 0x6db83420, 0x3cfaf: 0x6dd6be20,\n\t0x3cfb0: 0x6def9020, 0x3cfb1: 0x6e03aa20, 0x3cfb2: 0x6c87b620, 0x3cfb3: 0x6cb33620,\n\t0x3cfb4: 0x6ce2d420, 0x3cfb5: 0x6ce2d620, 0x3cfb6: 0x6d3f5820, 0x3cfb7: 0x6d3f5a20,\n\t0x3cfb8: 0x6d3f5c20, 0x3cfb9: 0x6d6c4c20, 0x3cfba: 0x6d956c20, 0x3cfbb: 0x6d956e20,\n\t0x3cfbc: 0x6db89620, 0x3cfbd: 0x6db89820, 0x3cfbe: 0x6dd71220, 0x3cfbf: 0x6dd71420,\n\t// Block 0xf3f, offset 0x3cfc0\n\t0x3cfc0: 0x6defc620, 0x3cfc1: 0x6e03e820, 0x3cfc2: 0x6e153420, 0x3cfc3: 0x6e469220,\n\t0x3cfc4: 0x6c271620, 0x3cfc5: 0x6c271820, 0x3cfc6: 0x6c271a20, 0x3cfc7: 0x6c40f420,\n\t0x3cfc8: 0x6c615e20, 0x3cfc9: 0x6c616020, 0x3cfca: 0x6c616220, 0x3cfcb: 0x6c87cc20,\n\t0x3cfcc: 0x6c87ce20, 0x3cfcd: 0x6cb34020, 0x3cfce: 0x6ce2e820, 0x3cfcf: 0x6ce2ea20,\n\t0x3cfd0: 0x6ce2ec20, 0x3cfd1: 0x6ce2ee20, 0x3cfd2: 0x6d114a20, 0x3cfd3: 0x6c87d020,\n\t0x3cfd4: 0x6d3f6420, 0x3cfd5: 0x6d6c5020, 0x3cfd6: 0x6d6c5220, 0x3cfd7: 0x6d957620,\n\t0x3cfd8: 0x6db89a20, 0x3cfd9: 0x6defc820, 0x3cfda: 0x6ce2f820, 0x3cfdb: 0x6d115a20,\n\t0x3cfdc: 0x6d115c20, 0x3cfdd: 0x6e03f620, 0x3cfde: 0x6c052020, 0x3cfdf: 0x6c153820,\n\t0x3cfe0: 0x6c278620, 0x3cfe1: 0x6c278820, 0x3cfe2: 0x6c417620, 0x3cfe3: 0x6c417820,\n\t0x3cfe4: 0x6c417a20, 0x3cfe5: 0x6c61d020, 0x3cfe6: 0x6c886020, 0x3cfe7: 0x6c886220,\n\t0x3cfe8: 0x6c886420, 0x3cfe9: 0x6c886620, 0x3cfea: 0x6c886820, 0x3cfeb: 0x6cb3ec20,\n\t0x3cfec: 0x6cb3ee20, 0x3cfed: 0x6cb3f020, 0x3cfee: 0x6cb3f220, 0x3cfef: 0x6cb3f420,\n\t0x3cff0: 0x6cb3f620, 0x3cff1: 0x6cb3f820, 0x3cff2: 0x6cb3fa20, 0x3cff3: 0x6ce3ac20,\n\t0x3cff4: 0x6ce3ae20, 0x3cff5: 0x6ce3b020, 0x3cff6: 0x6ce3b220, 0x3cff7: 0x6ce3b420,\n\t0x3cff8: 0x6ce3b620, 0x3cff9: 0x6ce3b820, 0x3cffa: 0x6d11f420, 0x3cffb: 0x6d11f620,\n\t0x3cffc: 0x6d11f820, 0x3cffd: 0x6d11fa20, 0x3cffe: 0x6d3ff820, 0x3cfff: 0x6d3ffa20,\n\t// Block 0xf40, offset 0x3d000\n\t0x3d000: 0x6d3ffc20, 0x3d001: 0x6d3ffe20, 0x3d002: 0x6d400020, 0x3d003: 0x6d400220,\n\t0x3d004: 0x6d6cea20, 0x3d005: 0x6d6cec20, 0x3d006: 0x6d6cee20, 0x3d007: 0x6d6cf020,\n\t0x3d008: 0x6d6cf220, 0x3d009: 0x6d6cf420, 0x3d00a: 0x6d6cf620, 0x3d00b: 0x6d95f620,\n\t0x3d00c: 0x6db8fc20, 0x3d00d: 0x6db8fe20, 0x3d00e: 0x6db90020, 0x3d00f: 0x6db90220,\n\t0x3d010: 0x6dd75220, 0x3d011: 0x6dd75420, 0x3d012: 0x6e041e20, 0x3d013: 0x6e042020,\n\t0x3d014: 0x6e042220, 0x3d015: 0x6e042420, 0x3d016: 0x6e154c20, 0x3d017: 0x6c0aa820,\n\t0x3d018: 0x6c158820, 0x3d019: 0x6c158a20, 0x3d01a: 0x6c27e620, 0x3d01b: 0x6c27e820,\n\t0x3d01c: 0x6c41d820, 0x3d01d: 0x6c624e20, 0x3d01e: 0x6c625020, 0x3d01f: 0x6c625220,\n\t0x3d020: 0x6c88e220, 0x3d021: 0x6c88e420, 0x3d022: 0x6c88e620, 0x3d023: 0x6cb46e20,\n\t0x3d024: 0x6cb47020, 0x3d025: 0x6ce41a20, 0x3d026: 0x6ce41c20, 0x3d027: 0x6d126420,\n\t0x3d028: 0x6d126620, 0x3d029: 0x6d126820, 0x3d02a: 0x6d6d4420, 0x3d02b: 0x6d6d4620,\n\t0x3d02c: 0x6d962e20, 0x3d02d: 0x6db93220, 0x3d02e: 0x6dd77a20, 0x3d02f: 0x6dd77c20,\n\t0x3d030: 0x6dd77e20, 0x3d031: 0x6e043220, 0x3d032: 0x6e433620, 0x3d033: 0x6c890420,\n\t0x3d034: 0x6d12b620, 0x3d035: 0x6d12b820, 0x3d036: 0x6d40c420, 0x3d037: 0x6d40c620,\n\t0x3d038: 0x6d40c820, 0x3d039: 0x6d6da420, 0x3d03a: 0x6db98e20, 0x3d03b: 0x6dd7ca20,\n\t0x3d03c: 0x6df05020, 0x3d03d: 0x6df05220, 0x3d03e: 0x6e157620, 0x3d03f: 0x6e2d3820,\n\t// Block 0xf41, offset 0x3d040\n\t0x3d040: 0x6ce46e20, 0x3d041: 0x6cb4d220, 0x3d042: 0x6ce47a20, 0x3d043: 0x6d40d220,\n\t0x3d044: 0x6db99e20, 0x3d045: 0x6df05420, 0x3d046: 0x6cb51a20, 0x3d047: 0x6cb51c20,\n\t0x3d048: 0x6cb51e20, 0x3d049: 0x6cb52020, 0x3d04a: 0x6ce51a20, 0x3d04b: 0x6ce51c20,\n\t0x3d04c: 0x6ce51e20, 0x3d04d: 0x6ce52020, 0x3d04e: 0x6ce52220, 0x3d04f: 0x6d139220,\n\t0x3d050: 0x6d139420, 0x3d051: 0x6d139620, 0x3d052: 0x6d139820, 0x3d053: 0x6d139a20,\n\t0x3d054: 0x6d139c20, 0x3d055: 0x6d41ac20, 0x3d056: 0x6d41ae20, 0x3d057: 0x6d41b020,\n\t0x3d058: 0x6d41b220, 0x3d059: 0x6d41b420, 0x3d05a: 0x6d41b620, 0x3d05b: 0x6d41b820,\n\t0x3d05c: 0x6d41ba20, 0x3d05d: 0x6d6ebe20, 0x3d05e: 0x6d6ec020, 0x3d05f: 0x6d6ec220,\n\t0x3d060: 0x6d6ec420, 0x3d061: 0x6d6ec620, 0x3d062: 0x6d6ec820, 0x3d063: 0x6d6eca20,\n\t0x3d064: 0x6d6ecc20, 0x3d065: 0x6d6ece20, 0x3d066: 0x6d97d820, 0x3d067: 0x6d97da20,\n\t0x3d068: 0x6d97dc20, 0x3d069: 0x6d97de20, 0x3d06a: 0x6d97e020, 0x3d06b: 0x6d97e220,\n\t0x3d06c: 0x6d97e420, 0x3d06d: 0x6d97e620, 0x3d06e: 0x6d97e820, 0x3d06f: 0x6d97ea20,\n\t0x3d070: 0x6dbadc20, 0x3d071: 0x6dbade20, 0x3d072: 0x6dbae020, 0x3d073: 0x6dbae220,\n\t0x3d074: 0x6dbae420, 0x3d075: 0x6dbae620, 0x3d076: 0x6dbae820, 0x3d077: 0x6dbaea20,\n\t0x3d078: 0x6dd8ea20, 0x3d079: 0x6dd8ec20, 0x3d07a: 0x6dd8ee20, 0x3d07b: 0x6dd8f020,\n\t0x3d07c: 0x6dd8f220, 0x3d07d: 0x6dd8f420, 0x3d07e: 0x6dd8f620, 0x3d07f: 0x6df15420,\n\t// Block 0xf42, offset 0x3d080\n\t0x3d080: 0x6df15620, 0x3d081: 0x6df15820, 0x3d082: 0x6df15a20, 0x3d083: 0x6df15c20,\n\t0x3d084: 0x6e057220, 0x3d085: 0x6e057420, 0x3d086: 0x6e057620, 0x3d087: 0x6e057820,\n\t0x3d088: 0x6e057a20, 0x3d089: 0x6e057c20, 0x3d08a: 0x6e057e20, 0x3d08b: 0x6e058020,\n\t0x3d08c: 0x6e058220, 0x3d08d: 0x6e058420, 0x3d08e: 0x6e058620, 0x3d08f: 0x6e164020,\n\t0x3d090: 0x6e164220, 0x3d091: 0x6e164420, 0x3d092: 0x6e164620, 0x3d093: 0x6e164820,\n\t0x3d094: 0x6e164a20, 0x3d095: 0x6e164c20, 0x3d096: 0x6e238a20, 0x3d097: 0x6e238c20,\n\t0x3d098: 0x6e238e20, 0x3d099: 0x6e239020, 0x3d09a: 0x6e239220, 0x3d09b: 0x6e2db420,\n\t0x3d09c: 0x6e2db620, 0x3d09d: 0x6e356020, 0x3d09e: 0x6e356220, 0x3d09f: 0x6e356420,\n\t0x3d0a0: 0x6e3ae220, 0x3d0a1: 0x6e3ae420, 0x3d0a2: 0x6e3ae620, 0x3d0a3: 0x6e3eae20,\n\t0x3d0a4: 0x6e415e20, 0x3d0a5: 0x6c27fc20, 0x3d0a6: 0x6c41fa20, 0x3d0a7: 0x6c629c20,\n\t0x3d0a8: 0x6c629e20, 0x3d0a9: 0x6c62a020, 0x3d0aa: 0x6c62a220, 0x3d0ab: 0x6c62a420,\n\t0x3d0ac: 0x6c897a20, 0x3d0ad: 0x6c897c20, 0x3d0ae: 0x6c897e20, 0x3d0af: 0x6cb57420,\n\t0x3d0b0: 0x6cb57620, 0x3d0b1: 0x6cb57820, 0x3d0b2: 0x6cb57a20, 0x3d0b3: 0x6cb57c20,\n\t0x3d0b4: 0x6cb57e20, 0x3d0b5: 0x6ce56a20, 0x3d0b6: 0x6ce56c20, 0x3d0b7: 0x6ce56e20,\n\t0x3d0b8: 0x6d13e420, 0x3d0b9: 0x6d13e620, 0x3d0ba: 0x6d13e820, 0x3d0bb: 0x6d13ea20,\n\t0x3d0bc: 0x6d13ec20, 0x3d0bd: 0x6d13ee20, 0x3d0be: 0x6d13f020, 0x3d0bf: 0x6d13f220,\n\t// Block 0xf43, offset 0x3d0c0\n\t0x3d0c0: 0x6d41ee20, 0x3d0c1: 0x6d41f020, 0x3d0c2: 0x6d41f220, 0x3d0c3: 0x6d41f420,\n\t0x3d0c4: 0x6d41f620, 0x3d0c5: 0x6d6ef620, 0x3d0c6: 0x6d6ef820, 0x3d0c7: 0x6d6efa20,\n\t0x3d0c8: 0x6d6efc20, 0x3d0c9: 0x6d980820, 0x3d0ca: 0x6d980a20, 0x3d0cb: 0x6dbb0c20,\n\t0x3d0cc: 0x6dbb0e20, 0x3d0cd: 0x6dbb1020, 0x3d0ce: 0x6dbb1220, 0x3d0cf: 0x6dbb1420,\n\t0x3d0d0: 0x6dd90c20, 0x3d0d1: 0x6dd90e20, 0x3d0d2: 0x6df16020, 0x3d0d3: 0x6e164e20,\n\t0x3d0d4: 0x6e2db820, 0x3d0d5: 0x6e356620, 0x3d0d6: 0x6d141620, 0x3d0d7: 0x6d6f1a20,\n\t0x3d0d8: 0x6c62b220, 0x3d0d9: 0x6cb5c220, 0x3d0da: 0x6ce5e620, 0x3d0db: 0x6ce5e820,\n\t0x3d0dc: 0x6d146420, 0x3d0dd: 0x6d146620, 0x3d0de: 0x6d146820, 0x3d0df: 0x6d146a20,\n\t0x3d0e0: 0x6d146c20, 0x3d0e1: 0x6d6f7a20, 0x3d0e2: 0x6d6f7c20, 0x3d0e3: 0x6d6f7e20,\n\t0x3d0e4: 0x6d6f8020, 0x3d0e5: 0x6d988820, 0x3d0e6: 0x6d988a20, 0x3d0e7: 0x6d988c20,\n\t0x3d0e8: 0x6dbb8420, 0x3d0e9: 0x6df1a020, 0x3d0ea: 0x6e168e20, 0x3d0eb: 0x6e3af820,\n\t0x3d0ec: 0x6c15a020, 0x3d0ed: 0x6c281820, 0x3d0ee: 0x6c281a20, 0x3d0ef: 0x6c281c20,\n\t0x3d0f0: 0x6c420c20, 0x3d0f1: 0x6c62ca20, 0x3d0f2: 0x6c899e20, 0x3d0f3: 0x6c89a020,\n\t0x3d0f4: 0x6cb5d820, 0x3d0f5: 0x6d147a20, 0x3d0f6: 0x6d147c20, 0x3d0f7: 0x6d426620,\n\t0x3d0f8: 0x6d426820, 0x3d0f9: 0x6dbb8a20, 0x3d0fa: 0x6c0ac020, 0x3d0fb: 0x6c15d020,\n\t0x3d0fc: 0x6c287820, 0x3d0fd: 0x6c287a20, 0x3d0fe: 0x6c426c20, 0x3d0ff: 0x6c426e20,\n\t// Block 0xf44, offset 0x3d100\n\t0x3d100: 0x6c427020, 0x3d101: 0x6c632620, 0x3d102: 0x6c632820, 0x3d103: 0x6c632a20,\n\t0x3d104: 0x6c8a2c20, 0x3d105: 0x6c8a2e20, 0x3d106: 0x6cb64e20, 0x3d107: 0x6cb65020,\n\t0x3d108: 0x6cb65220, 0x3d109: 0x6cb65420, 0x3d10a: 0x6cb65620, 0x3d10b: 0x6cb65820,\n\t0x3d10c: 0x6cb65a20, 0x3d10d: 0x6cb65c20, 0x3d10e: 0x6ce68620, 0x3d10f: 0x6ce68820,\n\t0x3d110: 0x6d14d620, 0x3d111: 0x6d14d820, 0x3d112: 0x6d14da20, 0x3d113: 0x6d14dc20,\n\t0x3d114: 0x6d42c420, 0x3d115: 0x6d42c620, 0x3d116: 0x6d42c820, 0x3d117: 0x6d42ca20,\n\t0x3d118: 0x6dd98420, 0x3d119: 0x6d6fca20, 0x3d11a: 0x6ce6bc20, 0x3d11b: 0x6d430a20,\n\t0x3d11c: 0x6dd9ba20, 0x3d11d: 0x6c8a4620, 0x3d11e: 0x6cb69620, 0x3d11f: 0x6ce6f220,\n\t0x3d120: 0x6ce6f420, 0x3d121: 0x6d155020, 0x3d122: 0x6d155220, 0x3d123: 0x6d434c20,\n\t0x3d124: 0x6d434e20, 0x3d125: 0x6d704a20, 0x3d126: 0x6d704c20, 0x3d127: 0x6d997620,\n\t0x3d128: 0x6d997820, 0x3d129: 0x6dbc4e20, 0x3d12a: 0x6dbc5020, 0x3d12b: 0x6dda1a20,\n\t0x3d12c: 0x6df23220, 0x3d12d: 0x6df23420, 0x3d12e: 0x6e066820, 0x3d12f: 0x6e066a20,\n\t0x3d130: 0x6e066c20, 0x3d131: 0x6e066e20, 0x3d132: 0x6e16ea20, 0x3d133: 0x6e240820,\n\t0x3d134: 0x6e240a20, 0x3d135: 0x6e35ae20, 0x3d136: 0x6e35b020, 0x3d137: 0x6e44b220,\n\t0x3d138: 0x6cb69a20, 0x3d139: 0x6d156020, 0x3d13a: 0x6d156220, 0x3d13b: 0x6d998220,\n\t0x3d13c: 0x6df23820, 0x3d13d: 0x6d435a20, 0x3d13e: 0x6e16ee20, 0x3d13f: 0x6e3b1c20,\n\t// Block 0xf45, offset 0x3d140\n\t0x3d140: 0x6d437c20, 0x3d141: 0x6d707020, 0x3d142: 0x6d99a020, 0x3d143: 0x6dda2e20,\n\t0x3d144: 0x6e170820, 0x3d145: 0x6d43d420, 0x3d146: 0x6d43d620, 0x3d147: 0x6d70be20,\n\t0x3d148: 0x6d70c020, 0x3d149: 0x6e06d220, 0x3d14a: 0x6e173e20, 0x3d14b: 0x6e244420,\n\t0x3d14c: 0x6c8a4e20, 0x3d14d: 0x6d15d220, 0x3d14e: 0x6dbce620, 0x3d14f: 0x6e06e820,\n\t0x3d150: 0x6e35d620, 0x3d151: 0x6c428420, 0x3d152: 0x6c8a5020, 0x3d153: 0x6ce73a20,\n\t0x3d154: 0x6d43fe20, 0x3d155: 0x6d440020, 0x3d156: 0x6d9a0220, 0x3d157: 0x6d15f020,\n\t0x3d158: 0x6d441020, 0x3d159: 0x6ddad820, 0x3d15a: 0x6e070420, 0x3d15b: 0x6e176420,\n\t0x3d15c: 0x6e3b3420, 0x3d15d: 0x6d163c20, 0x3d15e: 0x6d447020, 0x3d15f: 0x6d9aae20,\n\t0x3d160: 0x6d9ab020, 0x3d161: 0x6dbd6820, 0x3d162: 0x6ddb3a20, 0x3d163: 0x6ddb3c20,\n\t0x3d164: 0x6df33620, 0x3d165: 0x6e074420, 0x3d166: 0x6e074620, 0x3d167: 0x6e17a820,\n\t0x3d168: 0x6e248e20, 0x3d169: 0x6e35f020, 0x3d16a: 0x6c634c20, 0x3d16b: 0x6c8a6420,\n\t0x3d16c: 0x6cb6c820, 0x3d16d: 0x6cb6ca20, 0x3d16e: 0x6ce77020, 0x3d16f: 0x6ce77220,\n\t0x3d170: 0x6ce77420, 0x3d171: 0x6ce77620, 0x3d172: 0x6d164c20, 0x3d173: 0x6d164e20,\n\t0x3d174: 0x6d447820, 0x3d175: 0x6d447a20, 0x3d176: 0x6d447c20, 0x3d177: 0x6d716a20,\n\t0x3d178: 0x6d9aba20, 0x3d179: 0x6dbd6a20, 0x3d17a: 0x6e17ac20, 0x3d17b: 0x6d167e20,\n\t0x3d17c: 0x6d44b420, 0x3d17d: 0x6dbdb620, 0x3d17e: 0x6ddb8220, 0x3d17f: 0x6ddb8420,\n\t// Block 0xf46, offset 0x3d180\n\t0x3d180: 0x6df37220, 0x3d181: 0x6df37420, 0x3d182: 0x6df37620, 0x3d183: 0x6e249e20,\n\t0x3d184: 0x6e24a020, 0x3d185: 0x6e2e7620, 0x3d186: 0x6e35fe20, 0x3d187: 0x6c428a20,\n\t0x3d188: 0x6cb6d420, 0x3d189: 0x6ce79620, 0x3d18a: 0x6d168620, 0x3d18b: 0x6dbdba20,\n\t0x3d18c: 0x6dbdbe20, 0x3d18d: 0x6ce7d620, 0x3d18e: 0x6d16f220, 0x3d18f: 0x6d451820,\n\t0x3d190: 0x6d451a20, 0x3d191: 0x6d451c20, 0x3d192: 0x6d451e20, 0x3d193: 0x6d71fc20,\n\t0x3d194: 0x6dbe3c20, 0x3d195: 0x6dbe3e20, 0x3d196: 0x6dbe4020, 0x3d197: 0x6dbe4220,\n\t0x3d198: 0x6ddbf820, 0x3d199: 0x6df3e020, 0x3d19a: 0x6df3e220, 0x3d19b: 0x6e07c020,\n\t0x3d19c: 0x6e24d820, 0x3d19d: 0x6e24da20, 0x3d19e: 0x6c15d820, 0x3d19f: 0x6c289420,\n\t0x3d1a0: 0x6c289620, 0x3d1a1: 0x6c42a820, 0x3d1a2: 0x6c42aa20, 0x3d1a3: 0x6c42ac20,\n\t0x3d1a4: 0x6c637a20, 0x3d1a5: 0x6c637c20, 0x3d1a6: 0x6c8a8620, 0x3d1a7: 0x6c8a8820,\n\t0x3d1a8: 0x6c8a8a20, 0x3d1a9: 0x6cb70820, 0x3d1aa: 0x6cb70a20, 0x3d1ab: 0x6ce7e420,\n\t0x3d1ac: 0x6ce7e620, 0x3d1ad: 0x6ce7e820, 0x3d1ae: 0x6ce7ea20, 0x3d1af: 0x6ce7ec20,\n\t0x3d1b0: 0x6d170220, 0x3d1b1: 0x6d170420, 0x3d1b2: 0x6d720420, 0x3d1b3: 0x6d720620,\n\t0x3d1b4: 0x6d9b8e20, 0x3d1b5: 0x6e07c420, 0x3d1b6: 0x6d453220, 0x3d1b7: 0x6d9b9e20,\n\t0x3d1b8: 0x6dbe4e20, 0x3d1b9: 0x6df3ea20, 0x3d1ba: 0x6e07c820, 0x3d1bb: 0x6e361820,\n\t0x3d1bc: 0x6d722020, 0x3d1bd: 0x6d722220, 0x3d1be: 0x6dbe6420, 0x3d1bf: 0x6ddc1420,\n\t// Block 0xf47, offset 0x3d1c0\n\t0x3d1c0: 0x6e07d420, 0x3d1c1: 0x6e07d620, 0x3d1c2: 0x6e183020, 0x3d1c3: 0x6e24e220,\n\t0x3d1c4: 0x6e44be20, 0x3d1c5: 0x6d173020, 0x3d1c6: 0x6d45a420, 0x3d1c7: 0x6d45a620,\n\t0x3d1c8: 0x6d45a820, 0x3d1c9: 0x6d45aa20, 0x3d1ca: 0x6d9c2e20, 0x3d1cb: 0x6ddc9e20,\n\t0x3d1cc: 0x6ddca020, 0x3d1cd: 0x6ddca220, 0x3d1ce: 0x6ddca420, 0x3d1cf: 0x6df47c20,\n\t0x3d1d0: 0x6df47e20, 0x3d1d1: 0x6df48020, 0x3d1d2: 0x6e086220, 0x3d1d3: 0x6e086420,\n\t0x3d1d4: 0x6e086620, 0x3d1d5: 0x6e086820, 0x3d1d6: 0x6e086a20, 0x3d1d7: 0x6e254220,\n\t0x3d1d8: 0x6e2ee220, 0x3d1d9: 0x6e364020, 0x3d1da: 0x6e41b420, 0x3d1db: 0x6c15e020,\n\t0x3d1dc: 0x6c28a220, 0x3d1dd: 0x6c28a420, 0x3d1de: 0x6c42d620, 0x3d1df: 0x6c42d820,\n\t0x3d1e0: 0x6c63a620, 0x3d1e1: 0x6c63a820, 0x3d1e2: 0x6c8aa820, 0x3d1e3: 0x6c8aaa20,\n\t0x3d1e4: 0x6c8aac20, 0x3d1e5: 0x6cb72820, 0x3d1e6: 0x6cb72a20, 0x3d1e7: 0x6cb72c20,\n\t0x3d1e8: 0x6ce82620, 0x3d1e9: 0x6ce82820, 0x3d1ea: 0x6d174220, 0x3d1eb: 0x6d174420,\n\t0x3d1ec: 0x6d174620, 0x3d1ed: 0x6d45b220, 0x3d1ee: 0x6d45b420, 0x3d1ef: 0x6d72b020,\n\t0x3d1f0: 0x6d9c3220, 0x3d1f1: 0x6e189020, 0x3d1f2: 0x6d72e020, 0x3d1f3: 0x6ddcd620,\n\t0x3d1f4: 0x6ddcd820, 0x3d1f5: 0x6ce84020, 0x3d1f6: 0x6d72ec20, 0x3d1f7: 0x6d9c7820,\n\t0x3d1f8: 0x6cb73820, 0x3d1f9: 0x6d178820, 0x3d1fa: 0x6d178a20, 0x3d1fb: 0x6d463a20,\n\t0x3d1fc: 0x6d734220, 0x3d1fd: 0x6d9cbe20, 0x3d1fe: 0x6dbf5020, 0x3d1ff: 0x6dbf5220,\n\t// Block 0xf48, offset 0x3d200\n\t0x3d200: 0x6ddd3420, 0x3d201: 0x6ddd3620, 0x3d202: 0x6df4f820, 0x3d203: 0x6e18e620,\n\t0x3d204: 0x6d464c20, 0x3d205: 0x6d735220, 0x3d206: 0x6e190420, 0x3d207: 0x6e439e20,\n\t0x3d208: 0x6cb74220, 0x3d209: 0x6d17c220, 0x3d20a: 0x6d738420, 0x3d20b: 0x6d9d0c20,\n\t0x3d20c: 0x6dbf8c20, 0x3d20d: 0x6dbf8e20, 0x3d20e: 0x6e193220, 0x3d20f: 0x6d17de20,\n\t0x3d210: 0x6d46b420, 0x3d211: 0x6d740620, 0x3d212: 0x6d740820, 0x3d213: 0x6d9da220,\n\t0x3d214: 0x6d9da420, 0x3d215: 0x6d9da620, 0x3d216: 0x6d9da820, 0x3d217: 0x6d9daa20,\n\t0x3d218: 0x6dc02a20, 0x3d219: 0x6dc02c20, 0x3d21a: 0x6dc02e20, 0x3d21b: 0x6dc03020,\n\t0x3d21c: 0x6dc03220, 0x3d21d: 0x6dc03420, 0x3d21e: 0x6dc03620, 0x3d21f: 0x6dc03820,\n\t0x3d220: 0x6dde2620, 0x3d221: 0x6dde2820, 0x3d222: 0x6dde2a20, 0x3d223: 0x6dde2c20,\n\t0x3d224: 0x6df61420, 0x3d225: 0x6df61620, 0x3d226: 0x6df61820, 0x3d227: 0x6df61a20,\n\t0x3d228: 0x6e09e020, 0x3d229: 0x6e09e220, 0x3d22a: 0x6e09e420, 0x3d22b: 0x6e19e620,\n\t0x3d22c: 0x6e19e820, 0x3d22d: 0x6e19ea20, 0x3d22e: 0x6e19ec20, 0x3d22f: 0x6e19ee20,\n\t0x3d230: 0x6e266420, 0x3d231: 0x6e266620, 0x3d232: 0x6e266820, 0x3d233: 0x6e266a20,\n\t0x3d234: 0x6e266c20, 0x3d235: 0x6e266e20, 0x3d236: 0x6e267020, 0x3d237: 0x6e2fce20,\n\t0x3d238: 0x6e2fd020, 0x3d239: 0x6e2fd220, 0x3d23a: 0x6e2fd420, 0x3d23b: 0x6e2fd620,\n\t0x3d23c: 0x6e2fd820, 0x3d23d: 0x6e370820, 0x3d23e: 0x6e370a20, 0x3d23f: 0x6e370c20,\n\t// Block 0xf49, offset 0x3d240\n\t0x3d240: 0x6e370e20, 0x3d241: 0x6e371020, 0x3d242: 0x6e3be220, 0x3d243: 0x6e3be420,\n\t0x3d244: 0x6e3f8420, 0x3d245: 0x6e43be20, 0x3d246: 0x6e458a20, 0x3d247: 0x6e466220,\n\t0x3d248: 0x6cb74c20, 0x3d249: 0x6cb74e20, 0x3d24a: 0x6cb75020, 0x3d24b: 0x6ce87e20,\n\t0x3d24c: 0x6ce88020, 0x3d24d: 0x6ce88220, 0x3d24e: 0x6d17fc20, 0x3d24f: 0x6d17fe20,\n\t0x3d250: 0x6d180020, 0x3d251: 0x6d180220, 0x3d252: 0x6c8ac220, 0x3d253: 0x6d46dc20,\n\t0x3d254: 0x6d46de20, 0x3d255: 0x6d46e020, 0x3d256: 0x6d46e220, 0x3d257: 0x6d46e420,\n\t0x3d258: 0x6d46e620, 0x3d259: 0x6d743020, 0x3d25a: 0x6d743220, 0x3d25b: 0x6d743420,\n\t0x3d25c: 0x6d9dd620, 0x3d25d: 0x6d9dd820, 0x3d25e: 0x6d9dda20, 0x3d25f: 0x6d9ddc20,\n\t0x3d260: 0x6d9dde20, 0x3d261: 0x6d9de020, 0x3d262: 0x6dc05e20, 0x3d263: 0x6dc06020,\n\t0x3d264: 0x6dc06220, 0x3d265: 0x6dc06420, 0x3d266: 0x6dde3c20, 0x3d267: 0x6df63220,\n\t0x3d268: 0x6df63420, 0x3d269: 0x6e09f420, 0x3d26a: 0x6e09f620, 0x3d26b: 0x6e1a0220,\n\t0x3d26c: 0x6e267620, 0x3d26d: 0x6e2fde20, 0x3d26e: 0x6ce88e20, 0x3d26f: 0x6d74d620,\n\t0x3d270: 0x6d74d820, 0x3d271: 0x6d74da20, 0x3d272: 0x6d74dc20, 0x3d273: 0x6d9eae20,\n\t0x3d274: 0x6d9eb020, 0x3d275: 0x6d9eb220, 0x3d276: 0x6d9eb420, 0x3d277: 0x6d9eb620,\n\t0x3d278: 0x6dc12a20, 0x3d279: 0x6dc12c20, 0x3d27a: 0x6dc12e20, 0x3d27b: 0x6dc13020,\n\t0x3d27c: 0x6ddedc20, 0x3d27d: 0x6ddede20, 0x3d27e: 0x6ddee020, 0x3d27f: 0x6ddee220,\n\t// Block 0xf4a, offset 0x3d280\n\t0x3d280: 0x6ddee420, 0x3d281: 0x6df71e20, 0x3d282: 0x6df72020, 0x3d283: 0x6df72220,\n\t0x3d284: 0x6df72420, 0x3d285: 0x6df72620, 0x3d286: 0x6df72820, 0x3d287: 0x6df72a20,\n\t0x3d288: 0x6df72c20, 0x3d289: 0x6e0acc20, 0x3d28a: 0x6e0ace20, 0x3d28b: 0x6e0ad020,\n\t0x3d28c: 0x6e1aba20, 0x3d28d: 0x6e1abc20, 0x3d28e: 0x6e1abe20, 0x3d28f: 0x6e1ac020,\n\t0x3d290: 0x6e272c20, 0x3d291: 0x6e309e20, 0x3d292: 0x6e30a020, 0x3d293: 0x6e30a220,\n\t0x3d294: 0x6e30a420, 0x3d295: 0x6e30a620, 0x3d296: 0x6e378820, 0x3d297: 0x6e3c3020,\n\t0x3d298: 0x6e3fb820, 0x3d299: 0x6e459e20, 0x3d29a: 0x6c63be20, 0x3d29b: 0x6c63c020,\n\t0x3d29c: 0x6c63c220, 0x3d29d: 0x6c63c420, 0x3d29e: 0x6c63c620, 0x3d29f: 0x6c8ae020,\n\t0x3d2a0: 0x6c8ae220, 0x3d2a1: 0x6c8ae420, 0x3d2a2: 0x6c8ae620, 0x3d2a3: 0x6c8ae820,\n\t0x3d2a4: 0x6c8aea20, 0x3d2a5: 0x6cb77620, 0x3d2a6: 0x6cb77820, 0x3d2a7: 0x6cb77a20,\n\t0x3d2a8: 0x6cb77c20, 0x3d2a9: 0x6cb77e20, 0x3d2aa: 0x6cb78020, 0x3d2ab: 0x6ce8a620,\n\t0x3d2ac: 0x6ce8a820, 0x3d2ad: 0x6ce8aa20, 0x3d2ae: 0x6ce8ac20, 0x3d2af: 0x6ce8ae20,\n\t0x3d2b0: 0x6d184a20, 0x3d2b1: 0x6d184c20, 0x3d2b2: 0x6d184e20, 0x3d2b3: 0x6d185020,\n\t0x3d2b4: 0x6d185220, 0x3d2b5: 0x6d185420, 0x3d2b6: 0x6d473820, 0x3d2b7: 0x6d473a20,\n\t0x3d2b8: 0x6d473c20, 0x3d2b9: 0x6d473e20, 0x3d2ba: 0x6d474020, 0x3d2bb: 0x6d474220,\n\t0x3d2bc: 0x6d474420, 0x3d2bd: 0x6d74fa20, 0x3d2be: 0x6d74fc20, 0x3d2bf: 0x6d9ec220,\n\t// Block 0xf4b, offset 0x3d2c0\n\t0x3d2c0: 0x6d9ec420, 0x3d2c1: 0x6d9ec620, 0x3d2c2: 0x6d9ec820, 0x3d2c3: 0x6dc14020,\n\t0x3d2c4: 0x6dc14220, 0x3d2c5: 0x6ddeee20, 0x3d2c6: 0x6df73420, 0x3d2c7: 0x6dc14620,\n\t0x3d2c8: 0x6ddef820, 0x3d2c9: 0x6e0aea20, 0x3d2ca: 0x6d9eda20, 0x3d2cb: 0x6d186020,\n\t0x3d2cc: 0x6d752e20, 0x3d2cd: 0x6dc16c20, 0x3d2ce: 0x6ddf2620, 0x3d2cf: 0x6e30c620,\n\t0x3d2d0: 0x6df79820, 0x3d2d1: 0x6cb79220, 0x3d2d2: 0x6ce8b220, 0x3d2d3: 0x6d476220,\n\t0x3d2d4: 0x6d756020, 0x3d2d5: 0x6dc18a20, 0x3d2d6: 0x6dc19220, 0x3d2d7: 0x6df7a220,\n\t0x3d2d8: 0x6d757c20, 0x3d2d9: 0x6e0b8620, 0x3d2da: 0x6e0b8820, 0x3d2db: 0x6e1b5e20,\n\t0x3d2dc: 0x6d9f7420, 0x3d2dd: 0x6df7f420, 0x3d2de: 0x6e3c7820, 0x3d2df: 0x6dc1f620,\n\t0x3d2e0: 0x6d75ac20, 0x3d2e1: 0x6e27c420, 0x3d2e2: 0x6d477e20, 0x3d2e3: 0x6e3c9020,\n\t0x3d2e4: 0x6ddfea20, 0x3d2e5: 0x6e1bde20, 0x3d2e6: 0x6e283420, 0x3d2e7: 0x6e427220,\n\t0x3d2e8: 0x6ce8c620, 0x3d2e9: 0x6d478c20, 0x3d2ea: 0x6d478e20, 0x3d2eb: 0x6d75be20,\n\t0x3d2ec: 0x6d9f9620, 0x3d2ed: 0x6d9f9820, 0x3d2ee: 0x6dc24020, 0x3d2ef: 0x6ddffe20,\n\t0x3d2f0: 0x6e1be020, 0x3d2f1: 0x6e318020, 0x3d2f2: 0x6d75c020, 0x3d2f3: 0x6ce8c820,\n\t0x3d2f4: 0x6e451220,\n\t// Block 0xf4c, offset 0x3d300\n\t0x3d300: 0x6c00f420, 0x3d301: 0x6c0ae820, 0x3d302: 0x6c15fe20, 0x3d303: 0x6d189620,\n\t0x3d304: 0x6c011820, 0x3d305: 0x6c0b6620, 0x3d306: 0x6c060c20, 0x3d307: 0x6c2a2820,\n\t0x3d308: 0x6c2a2a20, 0x3d309: 0x6c656c20, 0x3d30a: 0x6c8c6420, 0x3d30b: 0x6ce9e020,\n\t0x3d30c: 0x6c446a20, 0x3d30d: 0x6c448e20, 0x3d30e: 0x6c44d020, 0x3d30f: 0x6c8cbc20,\n\t0x3d310: 0x6c454c20, 0x3d311: 0x6ceac020, 0x3d312: 0x6c18be20, 0x3d313: 0x6c2bd220,\n\t0x3d314: 0x6c45cc20, 0x3d315: 0x6c190220, 0x3d316: 0x6c676c20, 0x3d317: 0x6c676e20,\n\t0x3d318: 0x6c0e9420, 0x3d319: 0x6c47da20, 0x3d31a: 0x6d1cea20, 0x3d31b: 0x6d4ab420,\n\t0x3d31c: 0x6da17c20, 0x3d31d: 0x6dc3da20, 0x3d31e: 0x6e1c7220, 0x3d31f: 0x6cbd8420,\n\t0x3d320: 0x6d1df020, 0x3d321: 0x6d78fe20, 0x3d322: 0x6c0f2a20, 0x3d323: 0x6c1b8820,\n\t0x3d324: 0x6c6ae820, 0x3d325: 0x6d793620, 0x3d326: 0x6c1c6020, 0x3d327: 0x6c4a1620,\n\t0x3d328: 0x6c4a1820, 0x3d329: 0x6c6bd620, 0x3d32a: 0x6c6bd820, 0x3d32b: 0x6c6bda20,\n\t0x3d32c: 0x6cbf4020, 0x3d32d: 0x6d1f2620, 0x3d32e: 0x6d4cb420, 0x3d32f: 0x6d4cc620,\n\t0x3d330: 0x6d1faa20, 0x3d331: 0x6d4d2020, 0x3d332: 0x6c102620, 0x3d333: 0x6c109020,\n\t0x3d334: 0x6c4bca20, 0x3d335: 0x6c6de020, 0x3d336: 0x6c964c20, 0x3d337: 0x6c964e20,\n\t0x3d338: 0x6c4d3a20, 0x3d339: 0x6c1ffa20, 0x3d33a: 0x6c352c20, 0x3d33b: 0x6c502820,\n\t0x3d33c: 0x6cc66a20, 0x3d33d: 0x6cf51a20, 0x3d33e: 0x6d24e420, 0x3d33f: 0x6dc6b420,\n\t// Block 0xf4d, offset 0x3d340\n\t0x3d340: 0x6c9b6c20, 0x3d341: 0x6cf5cc20, 0x3d342: 0x6c515820, 0x3d343: 0x6c515a20,\n\t0x3d344: 0x6c738a20, 0x3d345: 0x6c73bc20, 0x3d346: 0x6cc88020, 0x3d347: 0x6cc88220,\n\t0x3d348: 0x6c376220, 0x3d349: 0x6c754420, 0x3d34a: 0x6c754620, 0x3d34b: 0x6d27fc20,\n\t0x3d34c: 0x6d27fe20, 0x3d34d: 0x6d554c20, 0x3d34e: 0x6d554e20, 0x3d34f: 0x6d555020,\n\t0x3d350: 0x6d80ce20, 0x3d351: 0x6da6f020, 0x3d352: 0x6dc84a20, 0x3d353: 0x6cf92020,\n\t0x3d354: 0x6d55c820, 0x3d355: 0x6c098820, 0x3d356: 0x6c12e820, 0x3d357: 0x6c77e820,\n\t0x3d358: 0x6ca0dc20, 0x3d359: 0x6cfbd020, 0x3d35a: 0x6cfbd220, 0x3d35b: 0x6cfbd420,\n\t0x3d35c: 0x6d580820, 0x3d35d: 0x6d82fa20, 0x3d35e: 0x6de56e20, 0x3d35f: 0x6c78c820,\n\t0x3d360: 0x6ca1ca20, 0x3d361: 0x6d2bd820, 0x3d362: 0x6c569420, 0x3d363: 0x6c3b3620,\n\t0x3d364: 0x6ca2d420, 0x3d365: 0x6c3baa20, 0x3d366: 0x6c7a7020, 0x3d367: 0x6cd15e20,\n\t0x3d368: 0x6d2d8420, 0x3d369: 0x6d5ab020, 0x3d36a: 0x6c580820, 0x3d36b: 0x6ca41820,\n\t0x3d36c: 0x6c7ba220, 0x3d36d: 0x6d5bd620, 0x3d36e: 0x6c7bd220, 0x3d36f: 0x6c3c7420,\n\t0x3d370: 0x6c597220, 0x3d371: 0x6d012e20, 0x3d372: 0x6c7cd420, 0x3d373: 0x6ca59020,\n\t0x3d374: 0x6c7e2c20, 0x3d375: 0x6ca6f220, 0x3d376: 0x6d883020, 0x3d377: 0x6ca77620,\n\t0x3d378: 0x6d042820, 0x3d379: 0x6c258820, 0x3d37a: 0x6e1f7c20, 0x3d37b: 0x6c259220,\n\t0x3d37c: 0x6ca7e620, 0x3d37d: 0x6d5fe820, 0x3d37e: 0x6d5fea20, 0x3d37f: 0x6d5fec20,\n\t// Block 0xf4e, offset 0x3d380\n\t0x3d380: 0x6daf1e20, 0x3d381: 0x6d617a20, 0x3d382: 0x6dcf7a20, 0x3d383: 0x6c5cc220,\n\t0x3d384: 0x6c80c220, 0x3d385: 0x6ca9e020, 0x3d386: 0x6cd85020, 0x3d387: 0x6daff220,\n\t0x3d388: 0x6c5d0a20, 0x3d389: 0x6c3e5a20, 0x3d38a: 0x6d36e220, 0x3d38b: 0x6cdaaa20,\n\t0x3d38c: 0x6c5f8e20, 0x3d38d: 0x6c5f9020, 0x3d38e: 0x6c84c220, 0x3d38f: 0x6cae1620,\n\t0x3d390: 0x6cae1820, 0x3d391: 0x6cae1a20, 0x3d392: 0x6d0bb420, 0x3d393: 0x6d0bb620,\n\t0x3d394: 0x6d39b620, 0x3d395: 0x6d65ee20, 0x3d396: 0x6d8fc220, 0x3d397: 0x6e01da20,\n\t0x3d398: 0x6d675620, 0x3d399: 0x6db4d820, 0x3d39a: 0x6cdef620, 0x3d39b: 0x6cdf0620,\n\t0x3d39c: 0x6e2c3a20, 0x3d39d: 0x6e221220, 0x3d39e: 0x6c14fe20, 0x3d39f: 0x6c26e420,\n\t0x3d3a0: 0x6c86c020, 0x3d3a1: 0x6c86c220, 0x3d3a2: 0x6ce04620, 0x3d3a3: 0x6def6620,\n\t0x3d3a4: 0x6c616420, 0x3d3a5: 0x6d3f6620, 0x3d3a6: 0x6db89c20, 0x3d3a7: 0x6c0a8a20,\n\t0x3d3a8: 0x6ce3ba20, 0x3d3a9: 0x6ce3bc20, 0x3d3aa: 0x6d95f820, 0x3d3ab: 0x6c27ea20,\n\t0x3d3ac: 0x6c88e820, 0x3d3ad: 0x6cb47220, 0x3d3ae: 0x6d12ba20, 0x3d3af: 0x6c626020,\n\t0x3d3b0: 0x6d41bc20, 0x3d3b1: 0x6dd8f820, 0x3d3b2: 0x6c27fe20, 0x3d3b3: 0x6c41fc20,\n\t0x3d3b4: 0x6c62a620, 0x3d3b5: 0x6c62a820, 0x3d3b6: 0x6c898020, 0x3d3b7: 0x6c898220,\n\t0x3d3b8: 0x6cb58020, 0x3d3b9: 0x6cb58220, 0x3d3ba: 0x6cb58420, 0x3d3bb: 0x6cb58620,\n\t0x3d3bc: 0x6ce57020, 0x3d3bd: 0x6d13f420, 0x3d3be: 0x6d41f820, 0x3d3bf: 0x6d41fa20,\n\t// Block 0xf4f, offset 0x3d3c0\n\t0x3d3c0: 0x6d6efe20, 0x3d3c1: 0x6df16220, 0x3d3c2: 0x6c420e20, 0x3d3c3: 0x6cb65e20,\n\t0x3d3c4: 0x6d70de20, 0x3d3c5: 0x6d15dc20, 0x3d3c6: 0x6c8a6620, 0x3d3c7: 0x6c428c20,\n\t0x3d3c8: 0x6c635a20, 0x3d3c9: 0x6c8a9220, 0x3d3ca: 0x6c42da20, 0x3d3cb: 0x6d45b620,\n\t0x3d3cc: 0x6d9c3420, 0x3d3cd: 0x6e19f020, 0x3d3ce: 0x6e371220, 0x3d3cf: 0x6ce88420,\n\t0x3d3d0: 0x6d180420, 0x3d3d1: 0x6dc06620, 0x3d3d2: 0x6df63620, 0x3d3d3: 0x6cb75420,\n\t0x3d3d4: 0x6d9eb820, 0x3d3d5: 0x6e272e20, 0x3d3d6: 0x6c63c820, 0x3d3d7: 0x6d750a20,\n\t0x3d3d8: 0x6ddfda20, 0x3d3d9: 0x6df85820, 0x3d3da: 0x6d188a20, 0x3d3db: 0x6e383e20,\n\t0x3d3dc: 0x6d9f9a20, 0x3d3dd: 0x6e441c20,\n\t// Block 0xf50, offset 0x3d400\n\t0x3d400: 0x6c15ea20, 0x3d401: 0x6c00fe20, 0x3d402: 0x6c000c20, 0x3d403: 0x6c0b4420,\n\t0x3d404: 0x6c16ba20, 0x3d405: 0x6c435e20, 0x3d406: 0x6c437820, 0x3d407: 0x6c645620,\n\t0x3d408: 0x6c8bba20, 0x3d409: 0x6cb81c20, 0x3d40a: 0x6d18fe20, 0x3d40b: 0x6d18ce20,\n\t0x3d40c: 0x6d9fac20, 0x3d40d: 0x6c0ccc20, 0x3d40e: 0x6c173820, 0x3d40f: 0x6c2a3220,\n\t0x3d410: 0x6e0c6420, 0x3d411: 0x6c2a5220, 0x3d412: 0x6c8c8020, 0x3d413: 0x6df89620,\n\t0x3d414: 0x6c02ce20, 0x3d415: 0x6c0c7820, 0x3d416: 0x6c0c7c20, 0x3d417: 0x6c02fe20,\n\t0x3d418: 0x6c65aa20, 0x3d419: 0x6c02ae20, 0x3d41a: 0x6c064a20, 0x3d41b: 0x6c179020,\n\t0x3d41c: 0x6dbc5420, 0x3d41d: 0x6c009a20, 0x3d41e: 0x6c015a20, 0x3d41f: 0x6c17da20,\n\t0x3d420: 0x6c2ae220, 0x3d421: 0x6c2b4a20, 0x3d422: 0x6cb95220, 0x3d423: 0x6cea4020,\n\t0x3d424: 0x6c0d3c20, 0x3d425: 0x6c455c20, 0x3d426: 0x6c456020, 0x3d427: 0x6cea9c20,\n\t0x3d428: 0x6c016420, 0x3d429: 0x6c06b820, 0x3d42a: 0x6c06ba20, 0x3d42b: 0x6c06c620,\n\t0x3d42c: 0x6c06d220, 0x3d42d: 0x6c2bac20, 0x3d42e: 0x6cb9f220, 0x3d42f: 0x6c18d420,\n\t0x3d430: 0x6c45e820, 0x3d431: 0x6c673020, 0x3d432: 0x6c673020, 0x3d433: 0x6c673020,\n\t0x3d434: 0x6c038e20, 0x3d435: 0x6c135e20, 0x3d436: 0x6c03a020, 0x3d437: 0x6c677e20,\n\t0x3d438: 0x6c8e0c20, 0x3d439: 0x6c074420, 0x3d43a: 0x6c075020, 0x3d43b: 0x6c0e3020,\n\t0x3d43c: 0x6c468620, 0x3d43d: 0x6c197e20, 0x3d43e: 0x6c199e20, 0x3d43f: 0x6c2c7e20,\n\t// Block 0xf51, offset 0x3d440\n\t0x3d440: 0x6c468e20, 0x3d441: 0x6c67e620, 0x3d442: 0x6c681820, 0x3d443: 0x6c8e9620,\n\t0x3d444: 0x6c8eb220, 0x3d445: 0x6cbaaa20, 0x3d446: 0x6cbaaa20, 0x3d447: 0x6cbad220,\n\t0x3d448: 0x6cbaf620, 0x3d449: 0x6cbb0620, 0x3d44a: 0x6ceb7620, 0x3d44b: 0x6d1cf220,\n\t0x3d44c: 0x6d1b7220, 0x3d44d: 0x6d1cf420, 0x3d44e: 0x6d1bb220, 0x3d44f: 0x6d49c620,\n\t0x3d450: 0x6c032820, 0x3d451: 0x6c0f0e20, 0x3d452: 0x6c486820, 0x3d453: 0x6c908220,\n\t0x3d454: 0x6c90b420, 0x3d455: 0x6c481220, 0x3d456: 0x6c6a6e20, 0x3d457: 0x6cbcb020,\n\t0x3d458: 0x6d4af820, 0x3d459: 0x6de13e20, 0x3d45a: 0x6c1b6c20, 0x3d45b: 0x6c916220,\n\t0x3d45c: 0x6c1b7420, 0x3d45d: 0x6c0f1e20, 0x3d45e: 0x6d1e1020, 0x3d45f: 0x6c91d420,\n\t0x3d460: 0x6c080620, 0x3d461: 0x6c2f9020, 0x3d462: 0x6c6b1820, 0x3d463: 0x6c6b3c20,\n\t0x3d464: 0x6c6b5420, 0x3d465: 0x6c495620, 0x3d466: 0x6c924e20, 0x3d467: 0x6cbdf220,\n\t0x3d468: 0x6cbe0e20, 0x3d469: 0x6d4c1220, 0x3d46a: 0x6de16420, 0x3d46b: 0x6de16420,\n\t0x3d46c: 0x6c0fdc20, 0x3d46d: 0x6c933820, 0x3d46e: 0x6cefa820, 0x3d46f: 0x6d1f5620,\n\t0x3d470: 0x6de19a20, 0x3d471: 0x6e3d2020, 0x3d472: 0x6c1cc220, 0x3d473: 0x6c4a9220,\n\t0x3d474: 0x6c114a20, 0x3d475: 0x6c01ac20, 0x3d476: 0x6c4abc20, 0x3d477: 0x6c941020,\n\t0x3d478: 0x6c01b620, 0x3d479: 0x6c311420, 0x3d47a: 0x6c1dd220, 0x3d47b: 0x6c6d7820,\n\t0x3d47c: 0x6cc0a820, 0x3d47d: 0x6c6d7c20, 0x3d47e: 0x6cf09a20, 0x3d47f: 0x6cc16a20,\n\t// Block 0xf52, offset 0x3d480\n\t0x3d480: 0x6d202220, 0x3d481: 0x6c272c20, 0x3d482: 0x6c954a20, 0x3d483: 0x6c08a020,\n\t0x3d484: 0x6cc17820, 0x3d485: 0x6c6e0020, 0x3d486: 0x6cc19820, 0x3d487: 0x6d4ea820,\n\t0x3d488: 0x6d7ae820, 0x3d489: 0x6e320a20, 0x3d48a: 0x6c4c6820, 0x3d48b: 0x6c4cac20,\n\t0x3d48c: 0x6c95e620, 0x3d48d: 0x6c95ec20, 0x3d48e: 0x6cc21820, 0x3d48f: 0x6d476820,\n\t0x3d490: 0x6c01d820, 0x3d491: 0x6c111220, 0x3d492: 0x6c111220, 0x3d493: 0x6c82fe20,\n\t0x3d494: 0x6c326a20, 0x3d495: 0x6c326a20, 0x3d496: 0x6c329a20, 0x3d497: 0x6d7ea620,\n\t0x3d498: 0x6e201a20, 0x3d499: 0x6c1ee020, 0x3d49a: 0x6c96ae20, 0x3d49b: 0x6c6f1420,\n\t0x3d49c: 0x6cc2ca20, 0x3d49d: 0x6c1f2220, 0x3d49e: 0x6c1f2c20, 0x3d49f: 0x6c1f6c20,\n\t0x3d4a0: 0x6c6fa220, 0x3d4a1: 0x6c4dbe20, 0x3d4a2: 0x6c4da620, 0x3d4a3: 0x6c6fc020,\n\t0x3d4a4: 0x6c97fe20, 0x3d4a5: 0x6c97a020, 0x3d4a6: 0x6d222420, 0x3d4a7: 0x6cf2ac20,\n\t0x3d4a8: 0x6cf2b020, 0x3d4a9: 0x6cf2ac20, 0x3d4aa: 0x6d226c20, 0x3d4ab: 0x6d4fb820,\n\t0x3d4ac: 0x6d7bcc20, 0x3d4ad: 0x6d4fd820, 0x3d4ae: 0x6d4fe820, 0x3d4af: 0x6da3f620,\n\t0x3d4b0: 0x6de28220, 0x3d4b1: 0x6de28c20, 0x3d4b2: 0x6c11c220, 0x3d4b3: 0x6c98ba20,\n\t0x3d4b4: 0x6c11e820, 0x3d4b5: 0x6c345020, 0x3d4b6: 0x6c349420, 0x3d4b7: 0x6c713820,\n\t0x3d4b8: 0x6c4fd020, 0x3d4b9: 0x6c711220, 0x3d4ba: 0x6c4f3420, 0x3d4bb: 0x6c990c20,\n\t0x3d4bc: 0x6c994220, 0x3d4bd: 0x6c722020, 0x3d4be: 0x6cc57a20, 0x3d4bf: 0x6cf41220,\n\t// Block 0xf53, offset 0x3d4c0\n\t0x3d4c0: 0x6cf51c20, 0x3d4c1: 0x6c998820, 0x3d4c2: 0x6d237420, 0x3d4c3: 0x6d510220,\n\t0x3d4c4: 0x6d23ee20, 0x3d4c5: 0x6d515a20, 0x3d4c6: 0x6d23e220, 0x3d4c7: 0x6de2ea20,\n\t0x3d4c8: 0x6c9ab020, 0x3d4c9: 0x6cf53820, 0x3d4ca: 0x6da53020, 0x3d4cb: 0x6c9b6e20,\n\t0x3d4cc: 0x6c739020, 0x3d4cd: 0x6c731620, 0x3d4ce: 0x6d7e3620, 0x3d4cf: 0x6cc7b820,\n\t0x3d4d0: 0x6cf5e620, 0x3d4d1: 0x6c50c220, 0x3d4d2: 0x6c448820, 0x3d4d3: 0x6c8c8820,\n\t0x3d4d4: 0x6cb8f420, 0x3d4d5: 0x6d258220, 0x3d4d6: 0x6c3e9420, 0x3d4d7: 0x6c3e7220,\n\t0x3d4d8: 0x6c73be20, 0x3d4d9: 0x6c9c2220, 0x3d4da: 0x6cf69620, 0x3d4db: 0x6c21ee20,\n\t0x3d4dc: 0x6c21d820, 0x3d4dd: 0x6c220c20, 0x3d4de: 0x6c365c20, 0x3d4df: 0x6c522420,\n\t0x3d4e0: 0x6c36a020, 0x3d4e1: 0x6c52c020, 0x3d4e2: 0x6c9c8820, 0x3d4e3: 0x6c750620,\n\t0x3d4e4: 0x6c9c9a20, 0x3d4e5: 0x6c740020, 0x3d4e6: 0x6cc95020, 0x3d4e7: 0x6cf6d620,\n\t0x3d4e8: 0x6cf70820, 0x3d4e9: 0x6d267820, 0x3d4ea: 0x6d53d620, 0x3d4eb: 0x6da63220,\n\t0x3d4ec: 0x6d801420, 0x3d4ed: 0x6da6f220, 0x3d4ee: 0x6e1db420, 0x3d4ef: 0x6c12b420,\n\t0x3d4f0: 0x6c756020, 0x3d4f1: 0x6d80d420, 0x3d4f2: 0x6e38d620, 0x3d4f3: 0x6cf90820,\n\t0x3d4f4: 0x6d285c20, 0x3d4f5: 0x6c9e2620, 0x3d4f6: 0x6c9e2820, 0x3d4f7: 0x6c9e2e20,\n\t0x3d4f8: 0x6c30b220, 0x3d4f9: 0x6d288c20, 0x3d4fa: 0x6c130620, 0x3d4fb: 0x6c393420,\n\t0x3d4fc: 0x6c38ac20, 0x3d4fd: 0x6c38c620, 0x3d4fe: 0x6c22c020, 0x3d4ff: 0x6c767220,\n\t// Block 0xf54, offset 0x3d500\n\t0x3d500: 0x6c546820, 0x3d501: 0x6c76b620, 0x3d502: 0x6c546e20, 0x3d503: 0x6c769a20,\n\t0x3d504: 0x6c76b820, 0x3d505: 0x6c76d220, 0x3d506: 0x6c771820, 0x3d507: 0x6c545420,\n\t0x3d508: 0x6ccc3a20, 0x3d509: 0x6cccb620, 0x3d50a: 0x6cfa0020, 0x3d50b: 0x6cccf220,\n\t0x3d50c: 0x6cfa8620, 0x3d50d: 0x6d29d220, 0x3d50e: 0x6c9f8020, 0x3d50f: 0x6d568820,\n\t0x3d510: 0x6d571a20, 0x3d511: 0x6d577a20, 0x3d512: 0x6d580a20, 0x3d513: 0x6dfbe420,\n\t0x3d514: 0x6de4d620, 0x3d515: 0x6de4d020, 0x3d516: 0x6e0f0220, 0x3d517: 0x6e0f1420,\n\t0x3d518: 0x6c23a220, 0x3d519: 0x6c239620, 0x3d51a: 0x6c554420, 0x3d51b: 0x6cb8ea20,\n\t0x3d51c: 0x6cfc0420, 0x3d51d: 0x6cce4a20, 0x3d51e: 0x6d582220, 0x3d51f: 0x6d838420,\n\t0x3d520: 0x6e443420, 0x3d521: 0x6da93020, 0x3d522: 0x6cfd5420, 0x3d523: 0x6c790420,\n\t0x3d524: 0x6ccf7820, 0x3d525: 0x6d2c1c20, 0x3d526: 0x6c243420, 0x3d527: 0x6cfdfc20,\n\t0x3d528: 0x6de60820, 0x3d529: 0x6c04fa20, 0x3d52a: 0x6c246c20, 0x3d52b: 0x6c3b5620,\n\t0x3d52c: 0x6c79bc20, 0x3d52d: 0x6c79bc20, 0x3d52e: 0x6cfe7820, 0x3d52f: 0x6cfea220,\n\t0x3d530: 0x6d2d0620, 0x3d531: 0x6d5a3420, 0x3d532: 0x6de63620, 0x3d533: 0x6c57d820,\n\t0x3d534: 0x6cd1a420, 0x3d535: 0x6c585a20, 0x3d536: 0x6c3be620, 0x3d537: 0x6cffb820,\n\t0x3d538: 0x6ca3e620, 0x3d539: 0x6cf15e20, 0x3d53a: 0x6d00b220, 0x3d53b: 0x6dab0a20,\n\t0x3d53c: 0x6e104820, 0x3d53d: 0x6c3c7020, 0x3d53e: 0x6c594e20, 0x3d53f: 0x6d868020,\n\t// Block 0xf55, offset 0x3d540\n\t0x3d540: 0x6c3c8820, 0x3d541: 0x6c3c8e20, 0x3d542: 0x6c3c8c20, 0x3d543: 0x6c59e420,\n\t0x3d544: 0x6c7c7e20, 0x3d545: 0x6c7c5e20, 0x3d546: 0x6c7c6020, 0x3d547: 0x6c7c6020,\n\t0x3d548: 0x6cd36020, 0x3d549: 0x6cd34020, 0x3d54a: 0x6d5c4620, 0x3d54b: 0x6d013a20,\n\t0x3d54c: 0x6c13ee20, 0x3d54d: 0x6c3cd620, 0x3d54e: 0x6ca5f620, 0x3d54f: 0x6d027820,\n\t0x3d550: 0x6d5d2820, 0x3d551: 0x6dac1020, 0x3d552: 0x6c3d1e20, 0x3d553: 0x6c7dd220,\n\t0x3d554: 0x6cd4fa20, 0x3d555: 0x6d30e620, 0x3d556: 0x6d30ce20, 0x3d557: 0x6c7e5e20,\n\t0x3d558: 0x6c5b3020, 0x3d559: 0x6d5e0420, 0x3d55a: 0x6d314e20, 0x3d55b: 0x6d885420,\n\t0x3d55c: 0x6cd5c620, 0x3d55d: 0x6d5eba20, 0x3d55e: 0x6d5eba20, 0x3d55f: 0x6d322e20,\n\t0x3d560: 0x6d323420, 0x3d561: 0x6d32de20, 0x3d562: 0x6d5f3420, 0x3d563: 0x6d894a20,\n\t0x3d564: 0x6d5efe20, 0x3d565: 0x6dae2820, 0x3d566: 0x6d8a5e20, 0x3d567: 0x6daece20,\n\t0x3d568: 0x6daee820, 0x3d569: 0x6dce7220, 0x3d56a: 0x6c5c6620, 0x3d56b: 0x6c3dc620,\n\t0x3d56c: 0x6cd78420, 0x3d56d: 0x6d608020, 0x3d56e: 0x6d342620, 0x3d56f: 0x6d60e220,\n\t0x3d570: 0x6daf6c20, 0x3d571: 0x6e399620, 0x3d572: 0x6c80d020, 0x3d573: 0x6d619e20,\n\t0x3d574: 0x6cd86420, 0x3d575: 0x6d073a20, 0x3d576: 0x6d8bc020, 0x3d577: 0x6e33b420,\n\t0x3d578: 0x6caa3220, 0x3d579: 0x6dcfe420, 0x3d57a: 0x6c3e3620, 0x3d57b: 0x6d624620,\n\t0x3d57c: 0x6dd02420, 0x3d57d: 0x6cd91e20, 0x3d57e: 0x6d628a20, 0x3d57f: 0x6db0a220,\n\t// Block 0xf56, offset 0x3d580\n\t0x3d580: 0x6c21a420, 0x3d581: 0x6c3e6a20, 0x3d582: 0x6c3e9e20, 0x3d583: 0x6c823c20,\n\t0x3d584: 0x6cd97a20, 0x3d585: 0x6cd98820, 0x3d586: 0x6ceed220, 0x3d587: 0x6d367820,\n\t0x3d588: 0x6d369420, 0x3d589: 0x6d538a20, 0x3d58a: 0x6da5b220, 0x3d58b: 0x6c82fe20,\n\t0x3d58c: 0x6cda9c20, 0x3d58d: 0x6d114c20, 0x3d58e: 0x6cdac220, 0x3d58f: 0x6c265420,\n\t0x3d590: 0x6c264820, 0x3d591: 0x6c3f5620, 0x3d592: 0x6c185020, 0x3d593: 0x6c3f7e20,\n\t0x3d594: 0x6c3f8220, 0x3d595: 0x6c3f9420, 0x3d596: 0x6c5eb620, 0x3d597: 0x6c5f1c20,\n\t0x3d598: 0x6c5eb420, 0x3d599: 0x6cac7420, 0x3d59a: 0x6c840620, 0x3d59b: 0x6cae1e20,\n\t0x3d59c: 0x6cac7620, 0x3d59d: 0x6cad0c20, 0x3d59e: 0x6cdb6e20, 0x3d59f: 0x6cdbee20,\n\t0x3d5a0: 0x6c84c420, 0x3d5a1: 0x6cdb3620, 0x3d5a2: 0x6cdb3a20, 0x3d5a3: 0x6cdb5820,\n\t0x3d5a4: 0x6cdc0c20, 0x3d5a5: 0x6d386a20, 0x3d5a6: 0x6d0a7820, 0x3d5a7: 0x6db1fa20,\n\t0x3d5a8: 0x6d0bbc20, 0x3d5a9: 0x6d642820, 0x3d5aa: 0x6d646c20, 0x3d5ab: 0x6d90ac20,\n\t0x3d5ac: 0x6d8e4820, 0x3d5ad: 0x6db27620, 0x3d5ae: 0x6e006820, 0x3d5af: 0x6e128020,\n\t0x3d5b0: 0x6dd1a220, 0x3d5b1: 0x6e12c220, 0x3d5b2: 0x6e20a820, 0x3d5b3: 0x6c5f9620,\n\t0x3d5b4: 0x6d0bc020, 0x3d5b5: 0x6db39a20, 0x3d5b6: 0x6dd29a20, 0x3d5b7: 0x6c852c20,\n\t0x3d5b8: 0x6cdd7820, 0x3d5b9: 0x6d0c2420, 0x3d5ba: 0x6cdd9c20, 0x3d5bb: 0x6d900a20,\n\t0x3d5bc: 0x6d3a1c20, 0x3d5bd: 0x6d3b0e20, 0x3d5be: 0x6d901420, 0x3d5bf: 0x6d8ffa20,\n\t// Block 0xf57, offset 0x3d5c0\n\t0x3d5c0: 0x6d668a20, 0x3d5c1: 0x6debe220, 0x3d5c2: 0x6debf020, 0x3d5c3: 0x6d912820,\n\t0x3d5c4: 0x6c14d220, 0x3d5c5: 0x6cafa620, 0x3d5c6: 0x6cdeaa20, 0x3d5c7: 0x6d0d0620,\n\t0x3d5c8: 0x6d3b2c20, 0x3d5c9: 0x6d3b6e20, 0x3d5ca: 0x6c8c8420, 0x3d5cb: 0x6e430c20,\n\t0x3d5cc: 0x6c867c20, 0x3d5cd: 0x6cb06c20, 0x3d5ce: 0x6cdf6620, 0x3d5cf: 0x6d0e4620,\n\t0x3d5d0: 0x6d925c20, 0x3d5d1: 0x6e2c4c20, 0x3d5d2: 0x6c26ec20, 0x3d5d3: 0x6cb18c20,\n\t0x3d5d4: 0x6cb1a420, 0x3d5d5: 0x6ce0de20, 0x3d5d6: 0x6e34b020, 0x3d5d7: 0x6c873020,\n\t0x3d5d8: 0x6d93fa20, 0x3d5d9: 0x6d76c820, 0x3d5da: 0x6ce1c620, 0x3d5db: 0x6d101620,\n\t0x3d5dc: 0x6d103a20, 0x3d5dd: 0x6c458420, 0x3d5de: 0x6c879a20, 0x3d5df: 0x6d951e20,\n\t0x3d5e0: 0x6d6cc620, 0x3d5e1: 0x6d95c220, 0x3d5e2: 0x6c153c20, 0x3d5e3: 0x6c625420,\n\t0x3d5e4: 0x6d121420, 0x3d5e5: 0x6cb46620, 0x3d5e6: 0x6d401a20, 0x3d5e7: 0x6d12da20,\n\t0x3d5e8: 0x6d6e0a20, 0x3d5e9: 0x6d6e0c20, 0x3d5ea: 0x6d41c020, 0x3d5eb: 0x6df0d620,\n\t0x3d5ec: 0x6e04bc20, 0x3d5ed: 0x6e3ac220, 0x3d5ee: 0x6ce59420, 0x3d5ef: 0x6d420c20,\n\t0x3d5f0: 0x6dbb3420, 0x3d5f1: 0x6dbb7220, 0x3d5f2: 0x6d6f8c20, 0x3d5f3: 0x6ce69420,\n\t0x3d5f4: 0x6d7a8620, 0x3d5f5: 0x6dd9cc20, 0x3d5f6: 0x6df20220, 0x3d5f7: 0x6d706220,\n\t0x3d5f8: 0x6dbc7220, 0x3d5f9: 0x6df24220, 0x3d5fa: 0x6e06d620, 0x3d5fb: 0x6df2ca20,\n\t0x3d5fc: 0x6ce74620, 0x3d5fd: 0x6d712e20, 0x3d5fe: 0x6d15fc20, 0x3d5ff: 0x6d15fc20,\n\t// Block 0xf58, offset 0x3d600\n\t0x3d600: 0x6d711820, 0x3d601: 0x6d449820, 0x3d602: 0x6c8a6820, 0x3d603: 0x6d44d220,\n\t0x3d604: 0x6d9b2620, 0x3d605: 0x6df3ee20, 0x3d606: 0x6d457020, 0x3d607: 0x6dbe8420,\n\t0x3d608: 0x6d72ba20, 0x3d609: 0x6d9c9020, 0x3d60a: 0x6e08b620, 0x3d60b: 0x6e09e620,\n\t0x3d60c: 0x6d745c20, 0x3d60d: 0x6dc07220, 0x3d60e: 0x6e0a0620, 0x3d60f: 0x6dc13220,\n\t0x3d610: 0x6e0a7420, 0x3d611: 0x6e267a20, 0x3d612: 0x6e1a6a20, 0x3d613: 0x6e421620,\n\t0x3d614: 0x6d751a20, 0x3d615: 0x6cb79420, 0x3d616: 0x6e0b4220, 0x3d617: 0x6ce8be20,\n\t0x3d618: 0x6c42e420, 0x3d619: 0x6e1b6620, 0x3d61a: 0x6d75a020, 0x3d61b: 0x6ddfac20,\n\t0x3d61c: 0x6d478020, 0x3d61d: 0x6e1bc220,\n}\n\n// mainLookup: 16576 entries, 33152 bytes\n// Block 0 is the null block.\nvar mainLookup = [16576]uint16{\n\t// Block 0x0, offset 0x0\n\t// Block 0x1, offset 0x40\n\t// Block 0x2, offset 0x80\n\t// Block 0x3, offset 0xc0\n\t0x0e0: 0x1f, 0x0e1: 0x20, 0x0e2: 0x21, 0x0e3: 0x22, 0x0e4: 0x23, 0x0e5: 0x24, 0x0e6: 0x25, 0x0e7: 0x26,\n\t0x0e8: 0x27, 0x0e9: 0x28, 0x0ea: 0x29, 0x0eb: 0x2a, 0x0ec: 0x2b, 0x0ed: 0x2c, 0x0ee: 0x2d, 0x0ef: 0x2e,\n\t0x0f0: 0x2f, 0x0f1: 0x30, 0x0f2: 0x31, 0x0f3: 0x32, 0x0f4: 0x33, 0x0f5: 0x34, 0x0f6: 0x35, 0x0f7: 0x36,\n\t0x0f8: 0x37, 0x0f9: 0x38, 0x0fa: 0x39, 0x0fb: 0x3a, 0x0fc: 0x3b, 0x0fd: 0x3c, 0x0fe: 0x3d, 0x0ff: 0x3e,\n\t// Block 0x4, offset 0x100\n\t0x100: 0x3f, 0x101: 0x40, 0x102: 0x41, 0x103: 0x42, 0x104: 0x43, 0x105: 0x44, 0x106: 0x45, 0x107: 0x46,\n\t0x108: 0x47, 0x109: 0x48, 0x10a: 0x49, 0x10b: 0x4a, 0x10c: 0x4b, 0x10d: 0x4c, 0x10e: 0x4d, 0x10f: 0x4e,\n\t0x110: 0x4f, 0x111: 0x50, 0x112: 0x51, 0x113: 0x52, 0x114: 0x53, 0x115: 0x54, 0x116: 0x55, 0x117: 0x56,\n\t0x118: 0x57, 0x119: 0x58, 0x11a: 0x59, 0x11b: 0x5a, 0x11c: 0x5b, 0x11d: 0x5c, 0x11e: 0x5d, 0x11f: 0x5e,\n\t0x120: 0x5f, 0x121: 0x60, 0x122: 0x61, 0x123: 0x62, 0x124: 0x63, 0x125: 0x64, 0x126: 0x65, 0x127: 0x66,\n\t0x128: 0x67, 0x129: 0x68, 0x12a: 0x69, 0x12c: 0x6a, 0x12d: 0x6b, 0x12e: 0x6c, 0x12f: 0x6d,\n\t0x130: 0x6e, 0x131: 0x6f, 0x133: 0x70, 0x134: 0x71, 0x135: 0x72, 0x136: 0x73, 0x137: 0x74,\n\t0x138: 0x75, 0x139: 0x76, 0x13a: 0x77, 0x13b: 0x78, 0x13c: 0x79, 0x13d: 0x7a, 0x13e: 0x7b, 0x13f: 0x7c,\n\t// Block 0x5, offset 0x140\n\t0x140: 0x7d, 0x141: 0x7e, 0x142: 0x7f, 0x143: 0x80, 0x144: 0x81, 0x145: 0x82, 0x146: 0x83, 0x147: 0x84,\n\t0x148: 0x85, 0x149: 0x86, 0x14a: 0x87, 0x14b: 0x88, 0x14c: 0x89, 0x14d: 0x8a, 0x14e: 0x8b, 0x14f: 0x8c,\n\t0x150: 0x8d, 0x151: 0x8e, 0x152: 0x8f, 0x153: 0x90, 0x154: 0x91, 0x155: 0x92, 0x156: 0x93, 0x157: 0x94,\n\t0x158: 0x95, 0x159: 0x96, 0x15a: 0x97, 0x15b: 0x98, 0x15c: 0x99, 0x15d: 0x9a, 0x15e: 0x9b, 0x15f: 0x9c,\n\t0x160: 0x9d, 0x161: 0x9e, 0x162: 0x9f, 0x163: 0xa0, 0x164: 0xa1, 0x165: 0xa2, 0x166: 0xa3, 0x167: 0xa4,\n\t0x168: 0xa5, 0x169: 0xa6, 0x16a: 0xa7, 0x16b: 0xa8, 0x16c: 0xa9, 0x16d: 0xaa,\n\t0x170: 0xab, 0x171: 0xac, 0x172: 0xad, 0x173: 0xae, 0x174: 0xaf, 0x175: 0xb0, 0x176: 0xb1, 0x177: 0xb2,\n\t0x178: 0xb3, 0x17a: 0xb4, 0x17b: 0xb5, 0x17c: 0xb6, 0x17d: 0xb7, 0x17e: 0xb8, 0x17f: 0xb9,\n\t// Block 0x6, offset 0x180\n\t0x180: 0xba, 0x181: 0xbb, 0x182: 0xbc, 0x183: 0xbd, 0x184: 0xbe, 0x185: 0xbf, 0x186: 0xc0, 0x187: 0xc1,\n\t0x188: 0xc2, 0x189: 0xc3, 0x18a: 0xc4, 0x18b: 0xc5, 0x18c: 0xc6, 0x18d: 0xc7, 0x18e: 0xc8, 0x18f: 0xc9,\n\t// Block 0x7, offset 0x1c0\n\t0x1f7: 0xca,\n\t// Block 0x8, offset 0x200\n\t0x200: 0xcb, 0x201: 0xcc, 0x202: 0xcd, 0x203: 0xce, 0x204: 0xcf, 0x205: 0xd0, 0x206: 0xd1, 0x207: 0xd2,\n\t0x208: 0xd3, 0x209: 0xd4, 0x20a: 0xd5, 0x20b: 0xd6, 0x20c: 0xd7, 0x20d: 0xd8, 0x20e: 0xd9, 0x20f: 0xda,\n\t0x210: 0xdb, 0x211: 0xdc, 0x212: 0xdd, 0x213: 0xde, 0x214: 0xdf, 0x215: 0xe0, 0x216: 0xe1, 0x217: 0xe2,\n\t0x218: 0xe3, 0x219: 0xe4, 0x21a: 0xe5, 0x21b: 0xe6, 0x21c: 0xe7, 0x21d: 0xe8, 0x21e: 0xe9, 0x21f: 0xea,\n\t0x220: 0xeb, 0x221: 0xec, 0x222: 0xed, 0x223: 0xee, 0x224: 0xef, 0x225: 0xf0, 0x226: 0xf1, 0x227: 0xf2,\n\t0x228: 0xf3, 0x229: 0xf4, 0x22a: 0xf5, 0x22b: 0xf6, 0x22c: 0xf7, 0x22f: 0xf8,\n\t// Block 0x9, offset 0x240\n\t0x25e: 0xf9, 0x25f: 0xfa,\n\t// Block 0xa, offset 0x280\n\t0x2a4: 0xfb, 0x2a5: 0xfc, 0x2a6: 0xfd, 0x2a7: 0xfe,\n\t0x2a8: 0xff, 0x2a9: 0x100, 0x2aa: 0x101, 0x2ab: 0x102, 0x2ac: 0x103, 0x2ad: 0x104, 0x2ae: 0x105, 0x2af: 0x106,\n\t0x2b0: 0x107, 0x2b1: 0x108, 0x2b2: 0x109, 0x2b3: 0x10a, 0x2b4: 0x10b, 0x2b5: 0x10c, 0x2b6: 0x10d, 0x2b7: 0x10e,\n\t0x2b8: 0x10f, 0x2b9: 0x110, 0x2ba: 0x111, 0x2bb: 0x112, 0x2bc: 0x113, 0x2bd: 0x114, 0x2be: 0x115, 0x2bf: 0x116,\n\t// Block 0xb, offset 0x2c0\n\t0x2c0: 0x117, 0x2c1: 0x118, 0x2c2: 0x119, 0x2c3: 0x11a, 0x2c4: 0x11b, 0x2c5: 0x11c, 0x2c6: 0x11d, 0x2c7: 0x11e,\n\t0x2ca: 0x11f, 0x2cb: 0x120, 0x2cc: 0x121, 0x2cd: 0x122, 0x2ce: 0x123, 0x2cf: 0x124,\n\t0x2d0: 0x125, 0x2d1: 0x126, 0x2d2: 0x127,\n\t0x2e0: 0x128, 0x2e1: 0x129, 0x2e4: 0x12a, 0x2e6: 0x12b,\n\t0x2e8: 0x12c, 0x2e9: 0x12d, 0x2ec: 0x12e, 0x2ed: 0x12f,\n\t0x2f0: 0x130, 0x2f1: 0x131,\n\t0x2f9: 0x132,\n\t// Block 0xc, offset 0x300\n\t0x300: 0x133, 0x301: 0x134, 0x302: 0x135, 0x303: 0x136, 0x304: 0x137, 0x305: 0x138, 0x306: 0x139, 0x307: 0x13a,\n\t0x31a: 0x13b, 0x31b: 0x13c,\n\t// Block 0xd, offset 0x340\n\t0x340: 0x13d, 0x341: 0x13e, 0x342: 0x13f, 0x343: 0x140, 0x344: 0x141, 0x345: 0x142, 0x346: 0x143, 0x347: 0x144,\n\t0x348: 0x145, 0x349: 0x146, 0x34a: 0x147, 0x34b: 0x148, 0x34c: 0x149, 0x34d: 0x14a,\n\t0x350: 0x14b, 0x351: 0x14c,\n\t// Block 0xe, offset 0x380\n\t0x380: 0x14d, 0x381: 0x14e, 0x382: 0x14f, 0x383: 0x150, 0x384: 0x151, 0x385: 0x152, 0x386: 0x153, 0x387: 0x154,\n\t0x388: 0x155, 0x389: 0x156, 0x38a: 0x157, 0x38b: 0x158, 0x38c: 0x159, 0x38d: 0x15a, 0x38e: 0x15b, 0x38f: 0x15c,\n\t0x390: 0x15d,\n\t// Block 0xf, offset 0x3c0\n\t0x3e0: 0x15e, 0x3e1: 0x15f, 0x3e2: 0x160, 0x3e3: 0x161, 0x3e4: 0x162, 0x3e5: 0x163, 0x3e6: 0x164, 0x3e7: 0x165,\n\t0x3e8: 0x166,\n\t0x3fc: 0x167, 0x3fd: 0x168, 0x3fe: 0x169,\n\t// Block 0x10, offset 0x400\n\t0x400: 0x16a,\n\t// Block 0x11, offset 0x440\n\t0x440: 0x16b, 0x441: 0x16c, 0x442: 0x16d, 0x443: 0x16e, 0x444: 0x16f, 0x445: 0x170, 0x446: 0x171, 0x447: 0x172,\n\t0x448: 0x173, 0x449: 0x174, 0x44c: 0x175, 0x44d: 0x176,\n\t0x450: 0x177, 0x451: 0x178, 0x452: 0x179, 0x453: 0x17a, 0x454: 0x17b, 0x455: 0x17c, 0x456: 0x17d, 0x457: 0x17e,\n\t0x458: 0x17f, 0x459: 0x180, 0x45a: 0x181, 0x45b: 0x182, 0x45c: 0x183, 0x45d: 0x184, 0x45e: 0x185, 0x45f: 0x186,\n\t// Block 0x12, offset 0x480\n\t0x4b8: 0x187, 0x4b9: 0x188, 0x4ba: 0x189, 0x4bb: 0x18a,\n\t// Block 0x13, offset 0x4c0\n\t0x4c0: 0x18b, 0x4c1: 0x18c, 0x4c2: 0x18d, 0x4c3: 0x18e, 0x4c4: 0x18f, 0x4c5: 0x190, 0x4c6: 0x191, 0x4c7: 0x192,\n\t0x4c8: 0x193, 0x4c9: 0x194, 0x4cc: 0x195, 0x4cd: 0x196, 0x4ce: 0x197, 0x4cf: 0x198,\n\t0x4d0: 0x199, 0x4d1: 0x19a, 0x4d2: 0x19b, 0x4d3: 0x19c, 0x4d4: 0x19d, 0x4d5: 0x19e, 0x4d7: 0x19f,\n\t0x4d8: 0x1a0, 0x4d9: 0x1a1, 0x4da: 0x1a2, 0x4db: 0x1a3, 0x4dc: 0x1a4, 0x4dd: 0x1a5,\n\t// Block 0x14, offset 0x500\n\t0x520: 0x1a6, 0x521: 0x1a7, 0x522: 0x1a8, 0x523: 0x1a9, 0x524: 0x1aa, 0x525: 0x1ab, 0x526: 0x1ac, 0x527: 0x1ad,\n\t0x528: 0x1ae,\n\t// Block 0x15, offset 0x540\n\t0x550: 0x09, 0x551: 0x0a, 0x552: 0x0b, 0x553: 0x0c, 0x556: 0x0d,\n\t0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11,\n\t0x56f: 0x12,\n\t// Block 0x16, offset 0x580\n\t0x580: 0x1af, 0x581: 0x1b0, 0x584: 0x1b0, 0x585: 0x1b0, 0x586: 0x1b0, 0x587: 0x1b1,\n\t// Block 0x17, offset 0x5c0\n\t0x5e0: 0x14,\n\t// Block 0x18, offset 0x600\n\t0x602: 0x01, 0x603: 0x02, 0x604: 0x03, 0x605: 0x04, 0x606: 0x05, 0x607: 0x06,\n\t0x608: 0x07, 0x609: 0x08, 0x60a: 0x09, 0x60b: 0x0a, 0x60c: 0x0b, 0x60d: 0x0c, 0x60e: 0x0d, 0x60f: 0x0e,\n\t0x610: 0x0f, 0x611: 0x10, 0x612: 0x11, 0x613: 0x12, 0x614: 0x13, 0x615: 0x14, 0x616: 0x15, 0x617: 0x16,\n\t0x618: 0x17, 0x619: 0x18, 0x61a: 0x19, 0x61b: 0x1a, 0x61c: 0x1b, 0x61d: 0x1c, 0x61e: 0x1d, 0x61f: 0x1e,\n\t0x620: 0x01, 0x621: 0x02, 0x622: 0x03, 0x623: 0x04, 0x624: 0x05,\n\t0x62a: 0x06, 0x62d: 0x07, 0x62f: 0x08,\n\t0x630: 0x13, 0x633: 0x15,\n\t// Block 0x19, offset 0x640\n\t0x640: 0x3f, 0x641: 0x40, 0x642: 0x41, 0x643: 0x42, 0x644: 0x43, 0x645: 0x44, 0x646: 0x45, 0x647: 0x46,\n\t0x648: 0x47, 0x649: 0x48, 0x64a: 0x49, 0x64b: 0x4a, 0x64c: 0x4b, 0x64d: 0x4c, 0x64e: 0x4d, 0x64f: 0x4e,\n\t0x650: 0x4f, 0x651: 0x50, 0x652: 0x51, 0x653: 0x52, 0x654: 0x53, 0x655: 0x54, 0x656: 0x55, 0x657: 0x56,\n\t0x658: 0x57, 0x659: 0x58, 0x65a: 0x59, 0x65b: 0x5a, 0x65c: 0x5b, 0x65d: 0x5c, 0x65e: 0x5d, 0x65f: 0x5e,\n\t0x660: 0x5f, 0x661: 0x60, 0x662: 0x61, 0x663: 0x62, 0x664: 0x63, 0x665: 0x64, 0x666: 0x65, 0x667: 0x66,\n\t0x668: 0x67, 0x669: 0x68, 0x66a: 0x69, 0x66c: 0x6a, 0x66d: 0x6b, 0x66e: 0x6c, 0x66f: 0x6d,\n\t0x670: 0x6e, 0x671: 0x6f, 0x673: 0x70, 0x674: 0x71, 0x675: 0x72, 0x676: 0x73, 0x677: 0x74,\n\t0x678: 0x1ba, 0x679: 0x1bb, 0x67a: 0x1bc, 0x67b: 0x1bd, 0x67c: 0x79, 0x67d: 0x7a, 0x67e: 0x7b, 0x67f: 0x7c,\n\t// Block 0x1a, offset 0x680\n\t0x680: 0x7d, 0x681: 0x7e, 0x682: 0x7f, 0x683: 0x80, 0x684: 0x1be, 0x685: 0x1bf, 0x686: 0x83, 0x687: 0x84,\n\t0x688: 0x85, 0x689: 0x86, 0x68a: 0x87, 0x68b: 0x88, 0x68c: 0x89, 0x68d: 0x8a, 0x68e: 0x8b, 0x68f: 0x8c,\n\t0x690: 0x8d, 0x691: 0x8e, 0x692: 0x1c0, 0x693: 0x90, 0x694: 0x91, 0x695: 0x92, 0x696: 0x93, 0x697: 0x94,\n\t0x698: 0x95, 0x699: 0x96, 0x69a: 0x97, 0x69b: 0x98, 0x69c: 0x99, 0x69d: 0x9a, 0x69e: 0x9b, 0x69f: 0x9c,\n\t0x6a0: 0x9d, 0x6a1: 0x9e, 0x6a2: 0x9f, 0x6a3: 0xa0, 0x6a4: 0xa1, 0x6a5: 0xa2, 0x6a6: 0xa3, 0x6a7: 0xa4,\n\t0x6a8: 0xa5, 0x6a9: 0xa6, 0x6aa: 0xa7, 0x6ab: 0xa8, 0x6ac: 0xa9, 0x6ad: 0xaa,\n\t0x6b0: 0xab, 0x6b1: 0xac, 0x6b2: 0xad, 0x6b3: 0xae, 0x6b4: 0xaf, 0x6b5: 0xb0, 0x6b6: 0xb1, 0x6b7: 0xb2,\n\t0x6b8: 0xb3, 0x6ba: 0xb4, 0x6bb: 0xb5, 0x6bc: 0xb6, 0x6bd: 0xb7, 0x6be: 0xb8, 0x6bf: 0xb9,\n\t// Block 0x1b, offset 0x6c0\n\t0x6c0: 0xba, 0x6c1: 0xbb, 0x6c2: 0xbc, 0x6c3: 0xbd, 0x6c4: 0xbe, 0x6c5: 0xbf, 0x6c6: 0xc0, 0x6c7: 0xc1,\n\t0x6c8: 0xc2, 0x6c9: 0xc3, 0x6ca: 0xc4, 0x6cb: 0x1c1, 0x6cc: 0xc6, 0x6cd: 0x1c2, 0x6ce: 0x1c3, 0x6cf: 0x1c4,\n\t// Block 0x1c, offset 0x700\n\t0x724: 0xfb, 0x725: 0xfc, 0x726: 0xfd, 0x727: 0xfe,\n\t0x728: 0xff, 0x729: 0x100, 0x72a: 0x101, 0x72b: 0x102, 0x72c: 0x1c5, 0x72d: 0x104, 0x72e: 0x105, 0x72f: 0x106,\n\t0x730: 0x107, 0x731: 0x108, 0x732: 0x109, 0x733: 0x10a, 0x734: 0x10b, 0x735: 0x10c, 0x736: 0x10d, 0x737: 0x10e,\n\t0x738: 0x10f, 0x739: 0x110, 0x73a: 0x111, 0x73b: 0x112, 0x73c: 0x113, 0x73d: 0x114, 0x73e: 0x115, 0x73f: 0x116,\n\t// Block 0x1d, offset 0x740\n\t0x740: 0x18b, 0x741: 0x18c, 0x742: 0x18d, 0x743: 0x18e, 0x744: 0x1c6, 0x745: 0x1c7, 0x746: 0x191, 0x747: 0x192,\n\t0x748: 0x193, 0x749: 0x194, 0x74c: 0x195, 0x74d: 0x196, 0x74e: 0x197, 0x74f: 0x198,\n\t0x750: 0x199, 0x751: 0x19a, 0x752: 0x19b, 0x753: 0x19c, 0x754: 0x19d, 0x755: 0x19e, 0x757: 0x19f,\n\t0x758: 0x1a0, 0x759: 0x1a1, 0x75a: 0x1a2, 0x75b: 0x1a3, 0x75c: 0x1a4, 0x75d: 0x1a5,\n\t// Block 0x1e, offset 0x780\n\t0x790: 0x09, 0x791: 0x0a, 0x792: 0x0b, 0x793: 0x0c, 0x796: 0x0d,\n\t0x79b: 0x0e, 0x79d: 0x0f, 0x79e: 0x10, 0x79f: 0x1b,\n\t0x7af: 0x12,\n\t// Block 0x1f, offset 0x7c0\n\t0x7c2: 0x01, 0x7c3: 0x1b4, 0x7c4: 0x1b5, 0x7c5: 0x1b6, 0x7c6: 0x1b7, 0x7c7: 0x1b8,\n\t0x7c8: 0x1b9, 0x7c9: 0x08, 0x7ca: 0x09, 0x7cb: 0x0a, 0x7cc: 0x0b, 0x7cd: 0x0c, 0x7ce: 0x0d, 0x7cf: 0x0e,\n\t0x7d0: 0x0f, 0x7d1: 0x10, 0x7d2: 0x11, 0x7d3: 0x12, 0x7d4: 0x13, 0x7d5: 0x14, 0x7d6: 0x15, 0x7d7: 0x16,\n\t0x7d8: 0x17, 0x7d9: 0x18, 0x7da: 0x19, 0x7db: 0x1a, 0x7dc: 0x1b, 0x7dd: 0x1c, 0x7de: 0x1d, 0x7df: 0x1e,\n\t0x7e0: 0x01, 0x7e1: 0x17, 0x7e2: 0x18, 0x7e3: 0x19, 0x7e4: 0x05,\n\t0x7ea: 0x06, 0x7ed: 0x07, 0x7ef: 0x1a,\n\t0x7f0: 0x1c, 0x7f3: 0x15,\n\t// Block 0x20, offset 0x800\n\t0x802: 0x01, 0x803: 0x02, 0x804: 0x03, 0x805: 0x1c8, 0x806: 0x05, 0x807: 0x06,\n\t0x808: 0x07, 0x809: 0x08, 0x80a: 0x09, 0x80b: 0x0a, 0x80c: 0x0b, 0x80d: 0x0c, 0x80e: 0x0d, 0x80f: 0x0e,\n\t0x810: 0x0f, 0x811: 0x10, 0x812: 0x11, 0x813: 0x12, 0x814: 0x13, 0x815: 0x14, 0x816: 0x15, 0x817: 0x16,\n\t0x818: 0x17, 0x819: 0x18, 0x81a: 0x19, 0x81b: 0x1a, 0x81c: 0x1b, 0x81d: 0x1c, 0x81e: 0x1d, 0x81f: 0x1e,\n\t0x820: 0x01, 0x821: 0x02, 0x822: 0x03, 0x823: 0x04, 0x824: 0x05,\n\t0x82a: 0x06, 0x82d: 0x07, 0x82f: 0x08,\n\t0x830: 0x13, 0x833: 0x15,\n\t// Block 0x21, offset 0x840\n\t0x864: 0xfb, 0x865: 0xfc, 0x866: 0xfd, 0x867: 0xfe,\n\t0x868: 0xff, 0x869: 0x100, 0x86a: 0x101, 0x86b: 0x102, 0x86c: 0x103, 0x86d: 0x104, 0x86e: 0x105, 0x86f: 0x1cb,\n\t0x870: 0x1cc, 0x871: 0x1cd, 0x872: 0x1ce, 0x873: 0x1cf, 0x874: 0x1d0, 0x875: 0x10c, 0x876: 0x10d, 0x877: 0x10e,\n\t0x878: 0x10f, 0x879: 0x110, 0x87a: 0x1d1, 0x87b: 0x1d2, 0x87c: 0x113, 0x87d: 0x114, 0x87e: 0x115, 0x87f: 0x116,\n\t// Block 0x22, offset 0x880\n\t0x882: 0x01, 0x883: 0x02, 0x884: 0x03, 0x885: 0x04, 0x886: 0x05, 0x887: 0x06,\n\t0x888: 0x07, 0x889: 0x08, 0x88a: 0x09, 0x88b: 0x0a, 0x88c: 0x0b, 0x88d: 0x0c, 0x88e: 0x0d, 0x88f: 0x0e,\n\t0x890: 0x0f, 0x891: 0x10, 0x892: 0x11, 0x893: 0x12, 0x894: 0x13, 0x895: 0x14, 0x896: 0x15, 0x897: 0x16,\n\t0x898: 0x1c9, 0x899: 0x1ca, 0x89a: 0x19, 0x89b: 0x1a, 0x89c: 0x1b, 0x89d: 0x1c, 0x89e: 0x1d, 0x89f: 0x1e,\n\t0x8a0: 0x01, 0x8a1: 0x02, 0x8a2: 0x03, 0x8a3: 0x04, 0x8a4: 0x05,\n\t0x8aa: 0x06, 0x8ad: 0x07, 0x8af: 0x1f,\n\t0x8b0: 0x13, 0x8b3: 0x15,\n\t// Block 0x23, offset 0x8c0\n\t0x8e0: 0x1f, 0x8e1: 0x20, 0x8e2: 0x21, 0x8e3: 0x22, 0x8e4: 0x23, 0x8e5: 0x24, 0x8e6: 0x1d3, 0x8e7: 0x1d4,\n\t0x8e8: 0x27, 0x8e9: 0x28, 0x8ea: 0x29, 0x8eb: 0x2a, 0x8ec: 0x2b, 0x8ed: 0x2c, 0x8ee: 0x2d, 0x8ef: 0x2e,\n\t0x8f0: 0x2f, 0x8f1: 0x30, 0x8f2: 0x31, 0x8f3: 0x32, 0x8f4: 0x33, 0x8f5: 0x34, 0x8f6: 0x35, 0x8f7: 0x36,\n\t0x8f8: 0x37, 0x8f9: 0x38, 0x8fa: 0x39, 0x8fb: 0x3a, 0x8fc: 0x3b, 0x8fd: 0x3c, 0x8fe: 0x3d, 0x8ff: 0x3e,\n\t// Block 0x24, offset 0x900\n\t0x902: 0x01, 0x903: 0x02, 0x904: 0x03, 0x905: 0x04, 0x906: 0x05, 0x907: 0x06,\n\t0x908: 0x07, 0x909: 0x08, 0x90a: 0x09, 0x90b: 0x0a, 0x90c: 0x0b, 0x90d: 0x0c, 0x90e: 0x0d, 0x90f: 0x0e,\n\t0x910: 0x0f, 0x911: 0x10, 0x912: 0x11, 0x913: 0x12, 0x914: 0x13, 0x915: 0x14, 0x916: 0x15, 0x917: 0x16,\n\t0x918: 0x17, 0x919: 0x18, 0x91a: 0x19, 0x91b: 0x1a, 0x91c: 0x1b, 0x91d: 0x1c, 0x91e: 0x1d, 0x91f: 0x1e,\n\t0x920: 0x21, 0x921: 0x02, 0x922: 0x03, 0x923: 0x04, 0x924: 0x05,\n\t0x92a: 0x06, 0x92d: 0x07, 0x92f: 0x08,\n\t0x930: 0x13, 0x933: 0x15,\n\t// Block 0x25, offset 0x940\n\t0x940: 0x3f, 0x941: 0x40, 0x942: 0x41, 0x943: 0x42, 0x944: 0x43, 0x945: 0x44, 0x946: 0x45, 0x947: 0x46,\n\t0x948: 0x47, 0x949: 0x48, 0x94a: 0x49, 0x94b: 0x4a, 0x94c: 0x4b, 0x94d: 0x4c, 0x94e: 0x4d, 0x94f: 0x4e,\n\t0x950: 0x4f, 0x951: 0x50, 0x952: 0x51, 0x953: 0x52, 0x954: 0x53, 0x955: 0x54, 0x956: 0x55, 0x957: 0x56,\n\t0x958: 0x57, 0x959: 0x58, 0x95a: 0x59, 0x95b: 0x5a, 0x95c: 0x5b, 0x95d: 0x5c, 0x95e: 0x5d, 0x95f: 0x5e,\n\t0x960: 0x5f, 0x961: 0x60, 0x962: 0x61, 0x963: 0x62, 0x964: 0x63, 0x965: 0x64, 0x966: 0x65, 0x967: 0x66,\n\t0x968: 0x67, 0x969: 0x68, 0x96a: 0x69, 0x96c: 0x6a, 0x96d: 0x6b, 0x96e: 0x6c, 0x96f: 0x6d,\n\t0x970: 0x6e, 0x971: 0x6f, 0x973: 0x70, 0x974: 0x71, 0x975: 0x72, 0x976: 0x73, 0x977: 0x74,\n\t0x978: 0x1de, 0x979: 0x1df, 0x97a: 0x1e0, 0x97b: 0x1e1, 0x97c: 0x79, 0x97d: 0x7a, 0x97e: 0x7b, 0x97f: 0x7c,\n\t// Block 0x26, offset 0x980\n\t0x980: 0x7d, 0x981: 0x7e, 0x982: 0x7f, 0x983: 0x80, 0x984: 0x81, 0x985: 0x1e2, 0x986: 0x83, 0x987: 0x84,\n\t0x988: 0x85, 0x989: 0x86, 0x98a: 0x87, 0x98b: 0x88, 0x98c: 0x89, 0x98d: 0x8a, 0x98e: 0x8b, 0x98f: 0x8c,\n\t0x990: 0x8d, 0x991: 0x8e, 0x992: 0x1e3, 0x993: 0x90, 0x994: 0x91, 0x995: 0x92, 0x996: 0x93, 0x997: 0x94,\n\t0x998: 0x95, 0x999: 0x96, 0x99a: 0x97, 0x99b: 0x98, 0x99c: 0x99, 0x99d: 0x9a, 0x99e: 0x9b, 0x99f: 0x9c,\n\t0x9a0: 0x9d, 0x9a1: 0x9e, 0x9a2: 0x9f, 0x9a3: 0xa0, 0x9a4: 0xa1, 0x9a5: 0xa2, 0x9a6: 0xa3, 0x9a7: 0xa4,\n\t0x9a8: 0xa5, 0x9a9: 0xa6, 0x9aa: 0xa7, 0x9ab: 0xa8, 0x9ac: 0xa9, 0x9ad: 0xaa,\n\t0x9b0: 0xab, 0x9b1: 0xac, 0x9b2: 0xad, 0x9b3: 0xae, 0x9b4: 0xaf, 0x9b5: 0xb0, 0x9b6: 0xb1, 0x9b7: 0xb2,\n\t0x9b8: 0xb3, 0x9ba: 0xb4, 0x9bb: 0xb5, 0x9bc: 0xb6, 0x9bd: 0xb7, 0x9be: 0xb8, 0x9bf: 0xb9,\n\t// Block 0x27, offset 0x9c0\n\t0x9c0: 0xba, 0x9c1: 0xbb, 0x9c2: 0xbc, 0x9c3: 0xbd, 0x9c4: 0xbe, 0x9c5: 0xbf, 0x9c6: 0xc0, 0x9c7: 0xc1,\n\t0x9c8: 0xc2, 0x9c9: 0xc3, 0x9ca: 0xc4, 0x9cb: 0xc5, 0x9cc: 0xc6, 0x9cd: 0x1e4, 0x9ce: 0xc8, 0x9cf: 0x1e5,\n\t// Block 0x28, offset 0xa00\n\t0xa00: 0x18b, 0xa01: 0x18c, 0xa02: 0x18d, 0xa03: 0x18e, 0xa04: 0x1e6, 0xa05: 0x190, 0xa06: 0x191, 0xa07: 0x192,\n\t0xa08: 0x193, 0xa09: 0x194, 0xa0c: 0x195, 0xa0d: 0x196, 0xa0e: 0x197, 0xa0f: 0x198,\n\t0xa10: 0x199, 0xa11: 0x19a, 0xa12: 0x19b, 0xa13: 0x19c, 0xa14: 0x19d, 0xa15: 0x19e, 0xa17: 0x19f,\n\t0xa18: 0x1a0, 0xa19: 0x1a1, 0xa1a: 0x1a2, 0xa1b: 0x1a3, 0xa1c: 0x1a4, 0xa1d: 0x1a5,\n\t// Block 0x29, offset 0xa40\n\t0xa50: 0x09, 0xa51: 0x0a, 0xa52: 0x0b, 0xa53: 0x0c, 0xa56: 0x0d,\n\t0xa5b: 0x0e, 0xa5d: 0x0f, 0xa5e: 0x10, 0xa5f: 0x26,\n\t0xa6f: 0x12,\n\t// Block 0x2a, offset 0xa80\n\t0xa82: 0x01, 0xa83: 0x1d7, 0xa84: 0x1d8, 0xa85: 0x1d9, 0xa86: 0x1da, 0xa87: 0x1db,\n\t0xa88: 0x1dc, 0xa89: 0x1dd, 0xa8a: 0x09, 0xa8b: 0x0a, 0xa8c: 0x0b, 0xa8d: 0x0c, 0xa8e: 0x0d, 0xa8f: 0x0e,\n\t0xa90: 0x0f, 0xa91: 0x10, 0xa92: 0x11, 0xa93: 0x12, 0xa94: 0x13, 0xa95: 0x14, 0xa96: 0x15, 0xa97: 0x16,\n\t0xa98: 0x17, 0xa99: 0x18, 0xa9a: 0x19, 0xa9b: 0x1a, 0xa9c: 0x1b, 0xa9d: 0x1c, 0xa9e: 0x1d, 0xa9f: 0x1e,\n\t0xaa0: 0x01, 0xaa1: 0x23, 0xaa2: 0x24, 0xaa3: 0x25, 0xaa4: 0x05,\n\t0xaaa: 0x06, 0xaad: 0x07, 0xaaf: 0x08,\n\t0xab0: 0x27, 0xab3: 0x15,\n\t// Block 0x2b, offset 0xac0\n\t0xac2: 0x01, 0xac3: 0x02, 0xac4: 0x03, 0xac5: 0x04, 0xac6: 0x05, 0xac7: 0x06,\n\t0xac8: 0x07, 0xac9: 0x08, 0xaca: 0x09, 0xacb: 0x0a, 0xacc: 0x0b, 0xacd: 0x0c, 0xace: 0x0d, 0xacf: 0x0e,\n\t0xad0: 0x1e7, 0xad1: 0x1e8, 0xad2: 0x11, 0xad3: 0x12, 0xad4: 0x13, 0xad5: 0x14, 0xad6: 0x15, 0xad7: 0x16,\n\t0xad8: 0x17, 0xad9: 0x18, 0xada: 0x19, 0xadb: 0x1a, 0xadc: 0x1b, 0xadd: 0x1c, 0xade: 0x1d, 0xadf: 0x1e,\n\t0xae0: 0x01, 0xae1: 0x02, 0xae2: 0x03, 0xae3: 0x04, 0xae4: 0x05,\n\t0xaea: 0x06, 0xaed: 0x07, 0xaef: 0x08,\n\t0xaf0: 0x13, 0xaf3: 0x15,\n\t// Block 0x2c, offset 0xb00\n\t0xb20: 0x1f, 0xb21: 0x20, 0xb22: 0x21, 0xb23: 0x22, 0xb24: 0x23, 0xb25: 0x24, 0xb26: 0x1e9, 0xb27: 0x26,\n\t0xb28: 0x27, 0xb29: 0x28, 0xb2a: 0x29, 0xb2b: 0x2a, 0xb2c: 0x2b, 0xb2d: 0x2c, 0xb2e: 0x2d, 0xb2f: 0x2e,\n\t0xb30: 0x2f, 0xb31: 0x30, 0xb32: 0x31, 0xb33: 0x32, 0xb34: 0x33, 0xb35: 0x34, 0xb36: 0x35, 0xb37: 0x36,\n\t0xb38: 0x37, 0xb39: 0x38, 0xb3a: 0x39, 0xb3b: 0x3a, 0xb3c: 0x3b, 0xb3d: 0x3c, 0xb3e: 0x3d, 0xb3f: 0x3e,\n\t// Block 0x2d, offset 0xb40\n\t0xb42: 0x01, 0xb43: 0x02, 0xb44: 0x03, 0xb45: 0x04, 0xb46: 0x05, 0xb47: 0x06,\n\t0xb48: 0x07, 0xb49: 0x08, 0xb4a: 0x09, 0xb4b: 0x0a, 0xb4c: 0x0b, 0xb4d: 0x0c, 0xb4e: 0x0d, 0xb4f: 0x0e,\n\t0xb50: 0x0f, 0xb51: 0x10, 0xb52: 0x11, 0xb53: 0x12, 0xb54: 0x13, 0xb55: 0x14, 0xb56: 0x15, 0xb57: 0x16,\n\t0xb58: 0x17, 0xb59: 0x18, 0xb5a: 0x19, 0xb5b: 0x1a, 0xb5c: 0x1b, 0xb5d: 0x1c, 0xb5e: 0x1d, 0xb5f: 0x1e,\n\t0xb60: 0x2a, 0xb61: 0x02, 0xb62: 0x03, 0xb63: 0x04, 0xb64: 0x05,\n\t0xb6a: 0x06, 0xb6d: 0x07, 0xb6f: 0x08,\n\t0xb70: 0x13, 0xb73: 0x15,\n\t// Block 0x2e, offset 0xb80\n\t0xb82: 0x01, 0xb83: 0x02, 0xb84: 0x1ec, 0xb85: 0x1ed, 0xb86: 0x05, 0xb87: 0x06,\n\t0xb88: 0x07, 0xb89: 0x08, 0xb8a: 0x09, 0xb8b: 0x0a, 0xb8c: 0x0b, 0xb8d: 0x0c, 0xb8e: 0x0d, 0xb8f: 0x0e,\n\t0xb90: 0x0f, 0xb91: 0x10, 0xb92: 0x11, 0xb93: 0x12, 0xb94: 0x13, 0xb95: 0x14, 0xb96: 0x15, 0xb97: 0x16,\n\t0xb98: 0x17, 0xb99: 0x18, 0xb9a: 0x19, 0xb9b: 0x1a, 0xb9c: 0x1b, 0xb9d: 0x1c, 0xb9e: 0x1d, 0xb9f: 0x1e,\n\t0xba0: 0x01, 0xba1: 0x02, 0xba2: 0x03, 0xba3: 0x04, 0xba4: 0x05,\n\t0xbaa: 0x06, 0xbad: 0x07, 0xbaf: 0x08,\n\t0xbb0: 0x13, 0xbb3: 0x15,\n\t// Block 0x2f, offset 0xbc0\n\t0xbc0: 0x3f, 0xbc1: 0x40, 0xbc2: 0x41, 0xbc3: 0x42, 0xbc4: 0x43, 0xbc5: 0x44, 0xbc6: 0x45, 0xbc7: 0x46,\n\t0xbc8: 0x47, 0xbc9: 0x48, 0xbca: 0x49, 0xbcb: 0x4a, 0xbcc: 0x4b, 0xbcd: 0x4c, 0xbce: 0x4d, 0xbcf: 0x4e,\n\t0xbd0: 0x4f, 0xbd1: 0x50, 0xbd2: 0x51, 0xbd3: 0x52, 0xbd4: 0x53, 0xbd5: 0x54, 0xbd6: 0x55, 0xbd7: 0x56,\n\t0xbd8: 0x57, 0xbd9: 0x58, 0xbda: 0x59, 0xbdb: 0x5a, 0xbdc: 0x5b, 0xbdd: 0x5c, 0xbde: 0x5d, 0xbdf: 0x5e,\n\t0xbe0: 0x5f, 0xbe1: 0x60, 0xbe2: 0x61, 0xbe3: 0x62, 0xbe4: 0x63, 0xbe5: 0x64, 0xbe6: 0x65, 0xbe7: 0x66,\n\t0xbe8: 0x67, 0xbe9: 0x68, 0xbea: 0x69, 0xbec: 0x6a, 0xbed: 0x6b, 0xbee: 0x6c, 0xbef: 0x6d,\n\t0xbf0: 0x6e, 0xbf1: 0x6f, 0xbf3: 0x70, 0xbf4: 0x71, 0xbf5: 0x72, 0xbf6: 0x73, 0xbf7: 0x74,\n\t0xbf8: 0x75, 0xbf9: 0x1f2, 0xbfa: 0x77, 0xbfb: 0x78, 0xbfc: 0x79, 0xbfd: 0x7a, 0xbfe: 0x7b, 0xbff: 0x7c,\n\t// Block 0x30, offset 0xc00\n\t0xc02: 0x01, 0xc03: 0x02, 0xc04: 0x1f0, 0xc05: 0x1f1, 0xc06: 0x05, 0xc07: 0x06,\n\t0xc08: 0x07, 0xc09: 0x08, 0xc0a: 0x09, 0xc0b: 0x0a, 0xc0c: 0x0b, 0xc0d: 0x0c, 0xc0e: 0x0d, 0xc0f: 0x0e,\n\t0xc10: 0x0f, 0xc11: 0x10, 0xc12: 0x11, 0xc13: 0x12, 0xc14: 0x13, 0xc15: 0x14, 0xc16: 0x15, 0xc17: 0x16,\n\t0xc18: 0x17, 0xc19: 0x18, 0xc1a: 0x19, 0xc1b: 0x1a, 0xc1c: 0x1b, 0xc1d: 0x1c, 0xc1e: 0x1d, 0xc1f: 0x1e,\n\t0xc20: 0x01, 0xc21: 0x2d, 0xc22: 0x03, 0xc23: 0x04, 0xc24: 0x05,\n\t0xc2a: 0x06, 0xc2d: 0x07, 0xc2f: 0x08,\n\t0xc30: 0x13, 0xc33: 0x15,\n\t// Block 0x31, offset 0xc40\n\t0xc40: 0x3f, 0xc41: 0x40, 0xc42: 0x41, 0xc43: 0x42, 0xc44: 0x43, 0xc45: 0x44, 0xc46: 0x45, 0xc47: 0x46,\n\t0xc48: 0x47, 0xc49: 0x48, 0xc4a: 0x49, 0xc4b: 0x4a, 0xc4c: 0x4b, 0xc4d: 0x4c, 0xc4e: 0x4d, 0xc4f: 0x4e,\n\t0xc50: 0x4f, 0xc51: 0x50, 0xc52: 0x51, 0xc53: 0x52, 0xc54: 0x53, 0xc55: 0x54, 0xc56: 0x55, 0xc57: 0x56,\n\t0xc58: 0x57, 0xc59: 0x58, 0xc5a: 0x59, 0xc5b: 0x5a, 0xc5c: 0x5b, 0xc5d: 0x5c, 0xc5e: 0x5d, 0xc5f: 0x5e,\n\t0xc60: 0x5f, 0xc61: 0x60, 0xc62: 0x61, 0xc63: 0x62, 0xc64: 0x63, 0xc65: 0x64, 0xc66: 0x65, 0xc67: 0x66,\n\t0xc68: 0x67, 0xc69: 0x68, 0xc6a: 0x69, 0xc6c: 0x6a, 0xc6d: 0x6b, 0xc6e: 0x6c, 0xc6f: 0x6d,\n\t0xc70: 0x6e, 0xc71: 0x6f, 0xc73: 0x70, 0xc74: 0x71, 0xc75: 0x72, 0xc76: 0x1fc, 0xc77: 0x74,\n\t0xc78: 0x75, 0xc79: 0x1fd, 0xc7a: 0x77, 0xc7b: 0x78, 0xc7c: 0x79, 0xc7d: 0x7a, 0xc7e: 0x7b, 0xc7f: 0x7c,\n\t// Block 0x32, offset 0xc80\n\t0xc80: 0x7d, 0xc81: 0x7e, 0xc82: 0x7f, 0xc83: 0x80, 0xc84: 0x1fe, 0xc85: 0x82, 0xc86: 0x83, 0xc87: 0x84,\n\t0xc88: 0x85, 0xc89: 0x86, 0xc8a: 0x87, 0xc8b: 0x88, 0xc8c: 0x89, 0xc8d: 0x8a, 0xc8e: 0x8b, 0xc8f: 0x8c,\n\t0xc90: 0x8d, 0xc91: 0x8e, 0xc92: 0x8f, 0xc93: 0x90, 0xc94: 0x91, 0xc95: 0x92, 0xc96: 0x93, 0xc97: 0x94,\n\t0xc98: 0x95, 0xc99: 0x96, 0xc9a: 0x97, 0xc9b: 0x98, 0xc9c: 0x99, 0xc9d: 0x9a, 0xc9e: 0x9b, 0xc9f: 0x9c,\n\t0xca0: 0x9d, 0xca1: 0x9e, 0xca2: 0x9f, 0xca3: 0xa0, 0xca4: 0xa1, 0xca5: 0xa2, 0xca6: 0xa3, 0xca7: 0xa4,\n\t0xca8: 0xa5, 0xca9: 0xa6, 0xcaa: 0xa7, 0xcab: 0xa8, 0xcac: 0xa9, 0xcad: 0xaa,\n\t0xcb0: 0xab, 0xcb1: 0xac, 0xcb2: 0xad, 0xcb3: 0xae, 0xcb4: 0xaf, 0xcb5: 0xb0, 0xcb6: 0xb1, 0xcb7: 0xb2,\n\t0xcb8: 0xb3, 0xcba: 0xb4, 0xcbb: 0xb5, 0xcbc: 0xb6, 0xcbd: 0xb7, 0xcbe: 0xb8, 0xcbf: 0xb9,\n\t// Block 0x33, offset 0xcc0\n\t0xcc2: 0x01, 0xcc3: 0x1f7, 0xcc4: 0x1f8, 0xcc5: 0x1f9, 0xcc6: 0x05, 0xcc7: 0x1fa,\n\t0xcc8: 0x1fb, 0xcc9: 0x08, 0xcca: 0x09, 0xccb: 0x0a, 0xccc: 0x0b, 0xccd: 0x0c, 0xcce: 0x0d, 0xccf: 0x0e,\n\t0xcd0: 0x0f, 0xcd1: 0x10, 0xcd2: 0x11, 0xcd3: 0x12, 0xcd4: 0x13, 0xcd5: 0x14, 0xcd6: 0x15, 0xcd7: 0x16,\n\t0xcd8: 0x17, 0xcd9: 0x18, 0xcda: 0x19, 0xcdb: 0x1a, 0xcdc: 0x1b, 0xcdd: 0x1c, 0xcde: 0x1d, 0xcdf: 0x1e,\n\t0xce0: 0x01, 0xce1: 0x2f, 0xce2: 0x30, 0xce3: 0x04, 0xce4: 0x05,\n\t0xcea: 0x06, 0xced: 0x07, 0xcef: 0x08,\n\t0xcf0: 0x13, 0xcf3: 0x15,\n\t// Block 0x34, offset 0xd00\n\t0xd00: 0x3f, 0xd01: 0x40, 0xd02: 0x41, 0xd03: 0x42, 0xd04: 0x43, 0xd05: 0x44, 0xd06: 0x45, 0xd07: 0x46,\n\t0xd08: 0x47, 0xd09: 0x48, 0xd0a: 0x49, 0xd0b: 0x4a, 0xd0c: 0x4b, 0xd0d: 0x4c, 0xd0e: 0x4d, 0xd0f: 0x4e,\n\t0xd10: 0x4f, 0xd11: 0x50, 0xd12: 0x51, 0xd13: 0x52, 0xd14: 0x53, 0xd15: 0x54, 0xd16: 0x55, 0xd17: 0x56,\n\t0xd18: 0x57, 0xd19: 0x58, 0xd1a: 0x59, 0xd1b: 0x5a, 0xd1c: 0x5b, 0xd1d: 0x5c, 0xd1e: 0x5d, 0xd1f: 0x5e,\n\t0xd20: 0x5f, 0xd21: 0x60, 0xd22: 0x61, 0xd23: 0x62, 0xd24: 0x63, 0xd25: 0x64, 0xd26: 0x65, 0xd27: 0x66,\n\t0xd28: 0x67, 0xd29: 0x68, 0xd2a: 0x69, 0xd2c: 0x6a, 0xd2d: 0x6b, 0xd2e: 0x6c, 0xd2f: 0x6d,\n\t0xd30: 0x6e, 0xd31: 0x6f, 0xd33: 0x70, 0xd34: 0x71, 0xd35: 0x72, 0xd36: 0x73, 0xd37: 0x74,\n\t0xd38: 0x75, 0xd39: 0x204, 0xd3a: 0x77, 0xd3b: 0x78, 0xd3c: 0x79, 0xd3d: 0x7a, 0xd3e: 0x7b, 0xd3f: 0x7c,\n\t// Block 0x35, offset 0xd40\n\t0xd42: 0x01, 0xd43: 0x201, 0xd44: 0x03, 0xd45: 0x04, 0xd46: 0x05, 0xd47: 0x202,\n\t0xd48: 0x203, 0xd49: 0x08, 0xd4a: 0x09, 0xd4b: 0x0a, 0xd4c: 0x0b, 0xd4d: 0x0c, 0xd4e: 0x0d, 0xd4f: 0x0e,\n\t0xd50: 0x0f, 0xd51: 0x10, 0xd52: 0x11, 0xd53: 0x12, 0xd54: 0x13, 0xd55: 0x14, 0xd56: 0x15, 0xd57: 0x16,\n\t0xd58: 0x17, 0xd59: 0x18, 0xd5a: 0x19, 0xd5b: 0x1a, 0xd5c: 0x1b, 0xd5d: 0x1c, 0xd5e: 0x1d, 0xd5f: 0x1e,\n\t0xd60: 0x01, 0xd61: 0x32, 0xd62: 0x03, 0xd63: 0x04, 0xd64: 0x05,\n\t0xd6a: 0x06, 0xd6d: 0x07, 0xd6f: 0x08,\n\t0xd70: 0x13, 0xd73: 0x15,\n\t// Block 0x36, offset 0xd80\n\t0xda0: 0x1f, 0xda1: 0x20, 0xda2: 0x21, 0xda3: 0x22, 0xda4: 0x23, 0xda5: 0x24, 0xda6: 0x25, 0xda7: 0x26,\n\t0xda8: 0x27, 0xda9: 0x28, 0xdaa: 0x29, 0xdab: 0x2a, 0xdac: 0x2b, 0xdad: 0x2c, 0xdae: 0x2d, 0xdaf: 0x2e,\n\t0xdb0: 0x2f, 0xdb1: 0x30, 0xdb2: 0x31, 0xdb3: 0x32, 0xdb4: 0x33, 0xdb5: 0x34, 0xdb6: 0x35, 0xdb7: 0x36,\n\t0xdb8: 0x37, 0xdb9: 0x38, 0xdba: 0x39, 0xdbb: 0x3a, 0xdbc: 0x205, 0xdbd: 0x206, 0xdbe: 0x207, 0xdbf: 0x3e,\n\t// Block 0x37, offset 0xdc0\n\t0xdc2: 0x01, 0xdc3: 0x02, 0xdc4: 0x03, 0xdc5: 0x04, 0xdc6: 0x05, 0xdc7: 0x06,\n\t0xdc8: 0x07, 0xdc9: 0x08, 0xdca: 0x09, 0xdcb: 0x0a, 0xdcc: 0x0b, 0xdcd: 0x0c, 0xdce: 0x0d, 0xdcf: 0x0e,\n\t0xdd0: 0x0f, 0xdd1: 0x10, 0xdd2: 0x11, 0xdd3: 0x12, 0xdd4: 0x13, 0xdd5: 0x14, 0xdd6: 0x15, 0xdd7: 0x16,\n\t0xdd8: 0x17, 0xdd9: 0x18, 0xdda: 0x19, 0xddb: 0x1a, 0xddc: 0x1b, 0xddd: 0x1c, 0xdde: 0x1d, 0xddf: 0x1e,\n\t0xde0: 0x34, 0xde1: 0x02, 0xde2: 0x03, 0xde3: 0x04, 0xde4: 0x05,\n\t0xdea: 0x06, 0xded: 0x07, 0xdef: 0x08,\n\t0xdf0: 0x13, 0xdf3: 0x15,\n\t// Block 0x38, offset 0xe00\n\t0xe00: 0x3f, 0xe01: 0x40, 0xe02: 0x41, 0xe03: 0x42, 0xe04: 0x43, 0xe05: 0x44, 0xe06: 0x45, 0xe07: 0x46,\n\t0xe08: 0x47, 0xe09: 0x48, 0xe0a: 0x49, 0xe0b: 0x4a, 0xe0c: 0x4b, 0xe0d: 0x4c, 0xe0e: 0x4d, 0xe0f: 0x4e,\n\t0xe10: 0x4f, 0xe11: 0x50, 0xe12: 0x51, 0xe13: 0x52, 0xe14: 0x53, 0xe15: 0x54, 0xe16: 0x55, 0xe17: 0x56,\n\t0xe18: 0x57, 0xe19: 0x58, 0xe1a: 0x59, 0xe1b: 0x5a, 0xe1c: 0x5b, 0xe1d: 0x5c, 0xe1e: 0x5d, 0xe1f: 0x5e,\n\t0xe20: 0x5f, 0xe21: 0x60, 0xe22: 0x61, 0xe23: 0x62, 0xe24: 0x63, 0xe25: 0x64, 0xe26: 0x65, 0xe27: 0x66,\n\t0xe28: 0x67, 0xe29: 0x68, 0xe2a: 0x69, 0xe2c: 0x6a, 0xe2d: 0x6b, 0xe2e: 0x6c, 0xe2f: 0x6d,\n\t0xe30: 0x6e, 0xe31: 0x6f, 0xe33: 0x70, 0xe34: 0x71, 0xe35: 0x72, 0xe36: 0x73, 0xe37: 0x74,\n\t0xe38: 0x75, 0xe39: 0x76, 0xe3a: 0x211, 0xe3b: 0x212, 0xe3c: 0x79, 0xe3d: 0x7a, 0xe3e: 0x7b, 0xe3f: 0x7c,\n\t// Block 0x39, offset 0xe40\n\t0xe40: 0x7d, 0xe41: 0x7e, 0xe42: 0x7f, 0xe43: 0x80, 0xe44: 0x81, 0xe45: 0x213, 0xe46: 0x83, 0xe47: 0x84,\n\t0xe48: 0x85, 0xe49: 0x86, 0xe4a: 0x87, 0xe4b: 0x88, 0xe4c: 0x89, 0xe4d: 0x8a, 0xe4e: 0x8b, 0xe4f: 0x8c,\n\t0xe50: 0x8d, 0xe51: 0x8e, 0xe52: 0x214, 0xe53: 0x90, 0xe54: 0x91, 0xe55: 0x92, 0xe56: 0x93, 0xe57: 0x94,\n\t0xe58: 0x95, 0xe59: 0x96, 0xe5a: 0x97, 0xe5b: 0x98, 0xe5c: 0x99, 0xe5d: 0x9a, 0xe5e: 0x9b, 0xe5f: 0x9c,\n\t0xe60: 0x9d, 0xe61: 0x9e, 0xe62: 0x9f, 0xe63: 0xa0, 0xe64: 0xa1, 0xe65: 0xa2, 0xe66: 0xa3, 0xe67: 0xa4,\n\t0xe68: 0xa5, 0xe69: 0xa6, 0xe6a: 0xa7, 0xe6b: 0xa8, 0xe6c: 0xa9, 0xe6d: 0xaa,\n\t0xe70: 0xab, 0xe71: 0xac, 0xe72: 0xad, 0xe73: 0xae, 0xe74: 0xaf, 0xe75: 0xb0, 0xe76: 0xb1, 0xe77: 0xb2,\n\t0xe78: 0xb3, 0xe7a: 0xb4, 0xe7b: 0xb5, 0xe7c: 0xb6, 0xe7d: 0xb7, 0xe7e: 0xb8, 0xe7f: 0xb9,\n\t// Block 0x3a, offset 0xe80\n\t0xe80: 0xba, 0xe81: 0xbb, 0xe82: 0xbc, 0xe83: 0xbd, 0xe84: 0xbe, 0xe85: 0xbf, 0xe86: 0xc0, 0xe87: 0xc1,\n\t0xe88: 0xc2, 0xe89: 0xc3, 0xe8a: 0xc4, 0xe8b: 0xc5, 0xe8c: 0xc6, 0xe8d: 0xc7, 0xe8e: 0xc8, 0xe8f: 0x215,\n\t// Block 0x3b, offset 0xec0\n\t0xec0: 0x18b, 0xec1: 0x18c, 0xec2: 0x18d, 0xec3: 0x18e, 0xec4: 0x216, 0xec5: 0x190, 0xec6: 0x191, 0xec7: 0x192,\n\t0xec8: 0x193, 0xec9: 0x194, 0xecc: 0x195, 0xecd: 0x196, 0xece: 0x197, 0xecf: 0x198,\n\t0xed0: 0x199, 0xed1: 0x19a, 0xed2: 0x19b, 0xed3: 0x19c, 0xed4: 0x19d, 0xed5: 0x19e, 0xed7: 0x19f,\n\t0xed8: 0x1a0, 0xed9: 0x1a1, 0xeda: 0x1a2, 0xedb: 0x1a3, 0xedc: 0x1a4, 0xedd: 0x1a5,\n\t// Block 0x3c, offset 0xf00\n\t0xf10: 0x09, 0xf11: 0x0a, 0xf12: 0x0b, 0xf13: 0x0c, 0xf16: 0x0d,\n\t0xf1b: 0x0e, 0xf1d: 0x0f, 0xf1e: 0x10, 0xf1f: 0x39,\n\t0xf2f: 0x12,\n\t// Block 0x3d, offset 0xf40\n\t0xf42: 0x01, 0xf43: 0x20a, 0xf44: 0x20b, 0xf45: 0x20c, 0xf46: 0x20d, 0xf47: 0x06,\n\t0xf48: 0x07, 0xf49: 0x20e, 0xf4a: 0x20f, 0xf4b: 0x0a, 0xf4c: 0x210, 0xf4d: 0x0c, 0xf4e: 0x0d, 0xf4f: 0x0e,\n\t0xf50: 0x0f, 0xf51: 0x10, 0xf52: 0x11, 0xf53: 0x12, 0xf54: 0x13, 0xf55: 0x14, 0xf56: 0x15, 0xf57: 0x16,\n\t0xf58: 0x17, 0xf59: 0x18, 0xf5a: 0x19, 0xf5b: 0x1a, 0xf5c: 0x1b, 0xf5d: 0x1c, 0xf5e: 0x1d, 0xf5f: 0x1e,\n\t0xf60: 0x01, 0xf61: 0x36, 0xf62: 0x37, 0xf63: 0x38, 0xf64: 0x05,\n\t0xf6a: 0x06, 0xf6d: 0x07, 0xf6f: 0x08,\n\t0xf70: 0x3a, 0xf73: 0x15,\n\t// Block 0x3e, offset 0xf80\n\t0xf80: 0x3f, 0xf81: 0x40, 0xf82: 0x41, 0xf83: 0x42, 0xf84: 0x43, 0xf85: 0x44, 0xf86: 0x45, 0xf87: 0x46,\n\t0xf88: 0x47, 0xf89: 0x48, 0xf8a: 0x49, 0xf8b: 0x4a, 0xf8c: 0x4b, 0xf8d: 0x4c, 0xf8e: 0x4d, 0xf8f: 0x4e,\n\t0xf90: 0x4f, 0xf91: 0x50, 0xf92: 0x51, 0xf93: 0x52, 0xf94: 0x53, 0xf95: 0x54, 0xf96: 0x55, 0xf97: 0x56,\n\t0xf98: 0x57, 0xf99: 0x58, 0xf9a: 0x59, 0xf9b: 0x5a, 0xf9c: 0x5b, 0xf9d: 0x5c, 0xf9e: 0x5d, 0xf9f: 0x5e,\n\t0xfa0: 0x5f, 0xfa1: 0x60, 0xfa2: 0x61, 0xfa3: 0x62, 0xfa4: 0x63, 0xfa5: 0x64, 0xfa6: 0x65, 0xfa7: 0x66,\n\t0xfa8: 0x67, 0xfa9: 0x68, 0xfaa: 0x69, 0xfac: 0x6a, 0xfad: 0x6b, 0xfae: 0x6c, 0xfaf: 0x6d,\n\t0xfb0: 0x6e, 0xfb1: 0x6f, 0xfb3: 0x70, 0xfb4: 0x71, 0xfb5: 0x72, 0xfb6: 0x73, 0xfb7: 0x74,\n\t0xfb8: 0x220, 0xfb9: 0x221, 0xfba: 0x222, 0xfbb: 0x223, 0xfbc: 0x79, 0xfbd: 0x7a, 0xfbe: 0x7b, 0xfbf: 0x224,\n\t// Block 0x3f, offset 0xfc0\n\t0xfc0: 0x225, 0xfc1: 0x226, 0xfc2: 0x7f, 0xfc3: 0x80, 0xfc4: 0x227, 0xfc5: 0x228, 0xfc6: 0x83, 0xfc7: 0x84,\n\t0xfc8: 0x85, 0xfc9: 0x229, 0xfca: 0x87, 0xfcb: 0x88, 0xfcc: 0x89, 0xfcd: 0x8a, 0xfce: 0x8b, 0xfcf: 0x8c,\n\t0xfd0: 0x8d, 0xfd1: 0x22a, 0xfd2: 0x22b, 0xfd3: 0x90, 0xfd4: 0x91, 0xfd5: 0x92, 0xfd6: 0x93, 0xfd7: 0x94,\n\t0xfd8: 0x95, 0xfd9: 0x96, 0xfda: 0x97, 0xfdb: 0x98, 0xfdc: 0x99, 0xfdd: 0x9a, 0xfde: 0x9b, 0xfdf: 0x9c,\n\t0xfe0: 0x9d, 0xfe1: 0x9e, 0xfe2: 0x9f, 0xfe3: 0xa0, 0xfe4: 0xa1, 0xfe5: 0xa2, 0xfe6: 0xa3, 0xfe7: 0xa4,\n\t0xfe8: 0xa5, 0xfe9: 0x22c, 0xfea: 0xa7, 0xfeb: 0xa8, 0xfec: 0xa9, 0xfed: 0xaa,\n\t0xff0: 0xab, 0xff1: 0xac, 0xff2: 0xad, 0xff3: 0xae, 0xff4: 0xaf, 0xff5: 0xb0, 0xff6: 0xb1, 0xff7: 0xb2,\n\t0xff8: 0xb3, 0xffa: 0xb4, 0xffb: 0xb5, 0xffc: 0xb6, 0xffd: 0xb7, 0xffe: 0xb8, 0xfff: 0xb9,\n\t// Block 0x40, offset 0x1000\n\t0x1000: 0xba, 0x1001: 0xbb, 0x1002: 0xbc, 0x1003: 0xbd, 0x1004: 0xbe, 0x1005: 0xbf, 0x1006: 0xc0, 0x1007: 0xc1,\n\t0x1008: 0x22d, 0x1009: 0x22e, 0x100a: 0x22f, 0x100b: 0x230, 0x100c: 0xc6, 0x100d: 0x231, 0x100e: 0x232, 0x100f: 0x233,\n\t// Block 0x41, offset 0x1040\n\t0x1064: 0xfb, 0x1065: 0xfc, 0x1066: 0xfd, 0x1067: 0xfe,\n\t0x1068: 0xff, 0x1069: 0x100, 0x106a: 0x101, 0x106b: 0x102, 0x106c: 0x234, 0x106d: 0x104, 0x106e: 0x105, 0x106f: 0x106,\n\t0x1070: 0x107, 0x1071: 0x108, 0x1072: 0x109, 0x1073: 0x10a, 0x1074: 0x10b, 0x1075: 0x10c, 0x1076: 0x10d, 0x1077: 0x10e,\n\t0x1078: 0x235, 0x1079: 0x110, 0x107a: 0x111, 0x107b: 0x112, 0x107c: 0x113, 0x107d: 0x114, 0x107e: 0x115, 0x107f: 0x116,\n\t// Block 0x42, offset 0x1080\n\t0x1080: 0x18b, 0x1081: 0x18c, 0x1082: 0x18d, 0x1083: 0x18e, 0x1084: 0x236, 0x1085: 0x237, 0x1086: 0x238, 0x1087: 0x192,\n\t0x1088: 0x193, 0x1089: 0x194, 0x108c: 0x195, 0x108d: 0x196, 0x108e: 0x197, 0x108f: 0x198,\n\t0x1090: 0x199, 0x1091: 0x19a, 0x1092: 0x19b, 0x1093: 0x19c, 0x1094: 0x19d, 0x1095: 0x19e, 0x1097: 0x19f,\n\t0x1098: 0x1a0, 0x1099: 0x1a1, 0x109a: 0x1a2, 0x109b: 0x1a3, 0x109c: 0x1a4, 0x109d: 0x1a5,\n\t// Block 0x43, offset 0x10c0\n\t0x10d0: 0x09, 0x10d1: 0x0a, 0x10d2: 0x0b, 0x10d3: 0x0c, 0x10d6: 0x0d,\n\t0x10db: 0x0e, 0x10dd: 0x0f, 0x10de: 0x10, 0x10df: 0x40,\n\t0x10ef: 0x12,\n\t// Block 0x44, offset 0x1100\n\t0x1102: 0x01, 0x1103: 0x219, 0x1104: 0x21a, 0x1105: 0x21b, 0x1106: 0x21c, 0x1107: 0x21d,\n\t0x1108: 0x21e, 0x1109: 0x08, 0x110a: 0x09, 0x110b: 0x0a, 0x110c: 0x0b, 0x110d: 0x21f, 0x110e: 0x0d, 0x110f: 0x0e,\n\t0x1110: 0x0f, 0x1111: 0x10, 0x1112: 0x11, 0x1113: 0x12, 0x1114: 0x13, 0x1115: 0x14, 0x1116: 0x15, 0x1117: 0x16,\n\t0x1118: 0x17, 0x1119: 0x18, 0x111a: 0x19, 0x111b: 0x1a, 0x111c: 0x1b, 0x111d: 0x1c, 0x111e: 0x1d, 0x111f: 0x1e,\n\t0x1120: 0x01, 0x1121: 0x3c, 0x1122: 0x3d, 0x1123: 0x3e, 0x1124: 0x05,\n\t0x112a: 0x06, 0x112d: 0x07, 0x112f: 0x3f,\n\t0x1130: 0x41, 0x1133: 0x15,\n\t// Block 0x45, offset 0x1140\n\t0x1142: 0x01, 0x1143: 0x02, 0x1144: 0x23b, 0x1145: 0x23c, 0x1146: 0x05, 0x1147: 0x06,\n\t0x1148: 0x07, 0x1149: 0x08, 0x114a: 0x09, 0x114b: 0x0a, 0x114c: 0x0b, 0x114d: 0x0c, 0x114e: 0x0d, 0x114f: 0x0e,\n\t0x1150: 0x0f, 0x1151: 0x10, 0x1152: 0x11, 0x1153: 0x12, 0x1154: 0x13, 0x1155: 0x14, 0x1156: 0x15, 0x1157: 0x16,\n\t0x1158: 0x17, 0x1159: 0x18, 0x115a: 0x19, 0x115b: 0x1a, 0x115c: 0x1b, 0x115d: 0x1c, 0x115e: 0x1d, 0x115f: 0x1e,\n\t0x1160: 0x01, 0x1161: 0x02, 0x1162: 0x03, 0x1163: 0x04, 0x1164: 0x05,\n\t0x116a: 0x06, 0x116d: 0x07, 0x116f: 0x08,\n\t0x1170: 0x13, 0x1173: 0x15,\n\t// Block 0x46, offset 0x1180\n\t0x1182: 0x01, 0x1183: 0x23f, 0x1184: 0x03, 0x1185: 0x04, 0x1186: 0x05, 0x1187: 0x06,\n\t0x1188: 0x07, 0x1189: 0x08, 0x118a: 0x09, 0x118b: 0x0a, 0x118c: 0x0b, 0x118d: 0x0c, 0x118e: 0x0d, 0x118f: 0x0e,\n\t0x1190: 0x0f, 0x1191: 0x10, 0x1192: 0x11, 0x1193: 0x12, 0x1194: 0x13, 0x1195: 0x14, 0x1196: 0x15, 0x1197: 0x16,\n\t0x1198: 0x17, 0x1199: 0x18, 0x119a: 0x19, 0x119b: 0x1a, 0x119c: 0x1b, 0x119d: 0x1c, 0x119e: 0x1d, 0x119f: 0x1e,\n\t0x11a0: 0x01, 0x11a1: 0x02, 0x11a2: 0x03, 0x11a3: 0x04, 0x11a4: 0x05,\n\t0x11aa: 0x06, 0x11ad: 0x07, 0x11af: 0x08,\n\t0x11b0: 0x13, 0x11b3: 0x15,\n\t// Block 0x47, offset 0x11c0\n\t0x11c0: 0x3f, 0x11c1: 0x40, 0x11c2: 0x41, 0x11c3: 0x42, 0x11c4: 0x43, 0x11c5: 0x44, 0x11c6: 0x45, 0x11c7: 0x46,\n\t0x11c8: 0x47, 0x11c9: 0x48, 0x11ca: 0x49, 0x11cb: 0x4a, 0x11cc: 0x4b, 0x11cd: 0x4c, 0x11ce: 0x4d, 0x11cf: 0x4e,\n\t0x11d0: 0x4f, 0x11d1: 0x50, 0x11d2: 0x51, 0x11d3: 0x52, 0x11d4: 0x53, 0x11d5: 0x54, 0x11d6: 0x55, 0x11d7: 0x56,\n\t0x11d8: 0x57, 0x11d9: 0x58, 0x11da: 0x59, 0x11db: 0x5a, 0x11dc: 0x5b, 0x11dd: 0x5c, 0x11de: 0x5d, 0x11df: 0x5e,\n\t0x11e0: 0x5f, 0x11e1: 0x60, 0x11e2: 0x61, 0x11e3: 0x62, 0x11e4: 0x63, 0x11e5: 0x64, 0x11e6: 0x65, 0x11e7: 0x66,\n\t0x11e8: 0x67, 0x11e9: 0x68, 0x11ea: 0x69, 0x11ec: 0x6a, 0x11ed: 0x6b, 0x11ee: 0x6c, 0x11ef: 0x6d,\n\t0x11f0: 0x6e, 0x11f1: 0x6f, 0x11f3: 0x70, 0x11f4: 0x71, 0x11f5: 0x72, 0x11f6: 0x73, 0x11f7: 0x74,\n\t0x11f8: 0x75, 0x11f9: 0x246, 0x11fa: 0x247, 0x11fb: 0x248, 0x11fc: 0x79, 0x11fd: 0x7a, 0x11fe: 0x7b, 0x11ff: 0x7c,\n\t// Block 0x48, offset 0x1200\n\t0x1200: 0x7d, 0x1201: 0x7e, 0x1202: 0x7f, 0x1203: 0x80, 0x1204: 0x81, 0x1205: 0x82, 0x1206: 0x83, 0x1207: 0x84,\n\t0x1208: 0x85, 0x1209: 0x86, 0x120a: 0x87, 0x120b: 0x88, 0x120c: 0x89, 0x120d: 0x8a, 0x120e: 0x8b, 0x120f: 0x8c,\n\t0x1210: 0x8d, 0x1211: 0x8e, 0x1212: 0x249, 0x1213: 0x90, 0x1214: 0x91, 0x1215: 0x92, 0x1216: 0x93, 0x1217: 0x94,\n\t0x1218: 0x95, 0x1219: 0x96, 0x121a: 0x97, 0x121b: 0x98, 0x121c: 0x99, 0x121d: 0x9a, 0x121e: 0x9b, 0x121f: 0x9c,\n\t0x1220: 0x9d, 0x1221: 0x9e, 0x1222: 0x9f, 0x1223: 0xa0, 0x1224: 0xa1, 0x1225: 0xa2, 0x1226: 0xa3, 0x1227: 0xa4,\n\t0x1228: 0xa5, 0x1229: 0xa6, 0x122a: 0xa7, 0x122b: 0xa8, 0x122c: 0xa9, 0x122d: 0xaa,\n\t0x1230: 0xab, 0x1231: 0xac, 0x1232: 0xad, 0x1233: 0xae, 0x1234: 0xaf, 0x1235: 0xb0, 0x1236: 0xb1, 0x1237: 0xb2,\n\t0x1238: 0xb3, 0x123a: 0xb4, 0x123b: 0xb5, 0x123c: 0xb6, 0x123d: 0xb7, 0x123e: 0xb8, 0x123f: 0xb9,\n\t// Block 0x49, offset 0x1240\n\t0x1240: 0xba, 0x1241: 0xbb, 0x1242: 0xbc, 0x1243: 0xbd, 0x1244: 0xbe, 0x1245: 0xbf, 0x1246: 0xc0, 0x1247: 0xc1,\n\t0x1248: 0xc2, 0x1249: 0xc3, 0x124a: 0xc4, 0x124b: 0xc5, 0x124c: 0xc6, 0x124d: 0xc7, 0x124e: 0x24a, 0x124f: 0x24b,\n\t// Block 0x4a, offset 0x1280\n\t0x1280: 0x18b, 0x1281: 0x18c, 0x1282: 0x18d, 0x1283: 0x18e, 0x1284: 0x24c, 0x1285: 0x24d, 0x1286: 0x191, 0x1287: 0x192,\n\t0x1288: 0x193, 0x1289: 0x194, 0x128c: 0x195, 0x128d: 0x196, 0x128e: 0x197, 0x128f: 0x198,\n\t0x1290: 0x199, 0x1291: 0x19a, 0x1292: 0x19b, 0x1293: 0x19c, 0x1294: 0x19d, 0x1295: 0x19e, 0x1297: 0x19f,\n\t0x1298: 0x1a0, 0x1299: 0x1a1, 0x129a: 0x1a2, 0x129b: 0x1a3, 0x129c: 0x1a4, 0x129d: 0x1a5,\n\t// Block 0x4b, offset 0x12c0\n\t0x12d0: 0x09, 0x12d1: 0x0a, 0x12d2: 0x0b, 0x12d3: 0x0c, 0x12d6: 0x0d,\n\t0x12db: 0x0e, 0x12dd: 0x0f, 0x12de: 0x10, 0x12df: 0x48,\n\t0x12ef: 0x12,\n\t// Block 0x4c, offset 0x1300\n\t0x1302: 0x01, 0x1303: 0x242, 0x1304: 0x03, 0x1305: 0x243, 0x1306: 0x05, 0x1307: 0x244,\n\t0x1308: 0x245, 0x1309: 0x08, 0x130a: 0x09, 0x130b: 0x0a, 0x130c: 0x0b, 0x130d: 0x0c, 0x130e: 0x0d, 0x130f: 0x0e,\n\t0x1310: 0x0f, 0x1311: 0x10, 0x1312: 0x11, 0x1313: 0x12, 0x1314: 0x13, 0x1315: 0x14, 0x1316: 0x15, 0x1317: 0x16,\n\t0x1318: 0x17, 0x1319: 0x18, 0x131a: 0x19, 0x131b: 0x1a, 0x131c: 0x1b, 0x131d: 0x1c, 0x131e: 0x1d, 0x131f: 0x1e,\n\t0x1320: 0x01, 0x1321: 0x45, 0x1322: 0x46, 0x1323: 0x47, 0x1324: 0x05,\n\t0x132a: 0x06, 0x132d: 0x07, 0x132f: 0x08,\n\t0x1330: 0x49, 0x1333: 0x15,\n\t// Block 0x4d, offset 0x1340\n\t0x1364: 0xfb, 0x1365: 0xfc, 0x1366: 0xfd, 0x1367: 0xfe,\n\t0x1368: 0xff, 0x1369: 0x100, 0x136a: 0x101, 0x136b: 0x102, 0x136c: 0x103, 0x136d: 0x104, 0x136e: 0x252, 0x136f: 0x106,\n\t0x1370: 0x253, 0x1371: 0x254, 0x1372: 0x255, 0x1373: 0x256, 0x1374: 0x257, 0x1375: 0x10c, 0x1376: 0x10d, 0x1377: 0x10e,\n\t0x1378: 0x10f, 0x1379: 0x110, 0x137a: 0x111, 0x137b: 0x112, 0x137c: 0x113, 0x137d: 0x114, 0x137e: 0x115, 0x137f: 0x116,\n\t// Block 0x4e, offset 0x1380\n\t0x1382: 0x01, 0x1383: 0x02, 0x1384: 0x03, 0x1385: 0x04, 0x1386: 0x05, 0x1387: 0x06,\n\t0x1388: 0x07, 0x1389: 0x08, 0x138a: 0x09, 0x138b: 0x0a, 0x138c: 0x0b, 0x138d: 0x0c, 0x138e: 0x0d, 0x138f: 0x0e,\n\t0x1390: 0x0f, 0x1391: 0x10, 0x1392: 0x11, 0x1393: 0x12, 0x1394: 0x13, 0x1395: 0x14, 0x1396: 0x15, 0x1397: 0x16,\n\t0x1398: 0x24e, 0x1399: 0x24f, 0x139a: 0x250, 0x139b: 0x251, 0x139c: 0x1b, 0x139d: 0x1c, 0x139e: 0x1d, 0x139f: 0x1e,\n\t0x13a0: 0x01, 0x13a1: 0x02, 0x13a2: 0x03, 0x13a3: 0x04, 0x13a4: 0x05,\n\t0x13aa: 0x06, 0x13ad: 0x07, 0x13af: 0x4b,\n\t0x13b0: 0x13, 0x13b3: 0x15,\n\t// Block 0x4f, offset 0x13c0\n\t0x13c0: 0x3f, 0x13c1: 0x40, 0x13c2: 0x41, 0x13c3: 0x42, 0x13c4: 0x43, 0x13c5: 0x44, 0x13c6: 0x45, 0x13c7: 0x46,\n\t0x13c8: 0x47, 0x13c9: 0x48, 0x13ca: 0x49, 0x13cb: 0x4a, 0x13cc: 0x4b, 0x13cd: 0x4c, 0x13ce: 0x4d, 0x13cf: 0x4e,\n\t0x13d0: 0x4f, 0x13d1: 0x50, 0x13d2: 0x51, 0x13d3: 0x52, 0x13d4: 0x53, 0x13d5: 0x54, 0x13d6: 0x55, 0x13d7: 0x56,\n\t0x13d8: 0x57, 0x13d9: 0x58, 0x13da: 0x59, 0x13db: 0x5a, 0x13dc: 0x5b, 0x13dd: 0x5c, 0x13de: 0x5d, 0x13df: 0x5e,\n\t0x13e0: 0x5f, 0x13e1: 0x60, 0x13e2: 0x61, 0x13e3: 0x62, 0x13e4: 0x63, 0x13e5: 0x64, 0x13e6: 0x65, 0x13e7: 0x66,\n\t0x13e8: 0x67, 0x13e9: 0x68, 0x13ea: 0x69, 0x13ec: 0x6a, 0x13ed: 0x6b, 0x13ee: 0x6c, 0x13ef: 0x6d,\n\t0x13f0: 0x6e, 0x13f1: 0x6f, 0x13f3: 0x70, 0x13f4: 0x71, 0x13f5: 0x72, 0x13f6: 0x73, 0x13f7: 0x74,\n\t0x13f8: 0x75, 0x13f9: 0x261, 0x13fa: 0x77, 0x13fb: 0x78, 0x13fc: 0x79, 0x13fd: 0x7a, 0x13fe: 0x7b, 0x13ff: 0x7c,\n\t// Block 0x50, offset 0x1400\n\t0x1400: 0x7d, 0x1401: 0x7e, 0x1402: 0x7f, 0x1403: 0x80, 0x1404: 0x262, 0x1405: 0x82, 0x1406: 0x83, 0x1407: 0x84,\n\t0x1408: 0x85, 0x1409: 0x86, 0x140a: 0x87, 0x140b: 0x88, 0x140c: 0x89, 0x140d: 0x8a, 0x140e: 0x8b, 0x140f: 0x8c,\n\t0x1410: 0x8d, 0x1411: 0x8e, 0x1412: 0x8f, 0x1413: 0x90, 0x1414: 0x91, 0x1415: 0x92, 0x1416: 0x93, 0x1417: 0x94,\n\t0x1418: 0x95, 0x1419: 0x96, 0x141a: 0x97, 0x141b: 0x98, 0x141c: 0x99, 0x141d: 0x9a, 0x141e: 0x9b, 0x141f: 0x9c,\n\t0x1420: 0x9d, 0x1421: 0x9e, 0x1422: 0x9f, 0x1423: 0xa0, 0x1424: 0xa1, 0x1425: 0xa2, 0x1426: 0xa3, 0x1427: 0xa4,\n\t0x1428: 0xa5, 0x1429: 0xa6, 0x142a: 0xa7, 0x142b: 0xa8, 0x142c: 0xa9, 0x142d: 0xaa,\n\t0x1430: 0xab, 0x1431: 0xac, 0x1432: 0xad, 0x1433: 0xae, 0x1434: 0xaf, 0x1435: 0xb0, 0x1436: 0xb1, 0x1437: 0xb2,\n\t0x1438: 0xb3, 0x143a: 0xb4, 0x143b: 0xb5, 0x143c: 0xb6, 0x143d: 0xb7, 0x143e: 0xb8, 0x143f: 0xb9,\n\t// Block 0x51, offset 0x1440\n\t0x1442: 0x01, 0x1443: 0x25a, 0x1444: 0x25b, 0x1445: 0x25c, 0x1446: 0x25d, 0x1447: 0x25e,\n\t0x1448: 0x25f, 0x1449: 0x08, 0x144a: 0x260, 0x144b: 0x0a, 0x144c: 0x0b, 0x144d: 0x0c, 0x144e: 0x0d, 0x144f: 0x0e,\n\t0x1450: 0x0f, 0x1451: 0x10, 0x1452: 0x11, 0x1453: 0x12, 0x1454: 0x13, 0x1455: 0x14, 0x1456: 0x15, 0x1457: 0x16,\n\t0x1458: 0x17, 0x1459: 0x18, 0x145a: 0x19, 0x145b: 0x1a, 0x145c: 0x1b, 0x145d: 0x1c, 0x145e: 0x1d, 0x145f: 0x1e,\n\t0x1460: 0x01, 0x1461: 0x4d, 0x1462: 0x4e, 0x1463: 0x04, 0x1464: 0x05,\n\t0x146a: 0x06, 0x146d: 0x07, 0x146f: 0x08,\n\t0x1470: 0x13, 0x1473: 0x15,\n\t// Block 0x52, offset 0x1480\n\t0x1480: 0x3f, 0x1481: 0x40, 0x1482: 0x41, 0x1483: 0x42, 0x1484: 0x43, 0x1485: 0x44, 0x1486: 0x45, 0x1487: 0x46,\n\t0x1488: 0x47, 0x1489: 0x48, 0x148a: 0x49, 0x148b: 0x4a, 0x148c: 0x4b, 0x148d: 0x4c, 0x148e: 0x4d, 0x148f: 0x4e,\n\t0x1490: 0x4f, 0x1491: 0x50, 0x1492: 0x51, 0x1493: 0x52, 0x1494: 0x53, 0x1495: 0x54, 0x1496: 0x55, 0x1497: 0x56,\n\t0x1498: 0x57, 0x1499: 0x58, 0x149a: 0x59, 0x149b: 0x5a, 0x149c: 0x5b, 0x149d: 0x5c, 0x149e: 0x5d, 0x149f: 0x5e,\n\t0x14a0: 0x5f, 0x14a1: 0x60, 0x14a2: 0x61, 0x14a3: 0x62, 0x14a4: 0x63, 0x14a5: 0x64, 0x14a6: 0x65, 0x14a7: 0x66,\n\t0x14a8: 0x67, 0x14a9: 0x68, 0x14aa: 0x69, 0x14ac: 0x6a, 0x14ad: 0x6b, 0x14ae: 0x6c, 0x14af: 0x6d,\n\t0x14b0: 0x6e, 0x14b1: 0x6f, 0x14b3: 0x70, 0x14b4: 0x71, 0x14b5: 0x72, 0x14b6: 0x1fc, 0x14b7: 0x74,\n\t0x14b8: 0x75, 0x14b9: 0x26a, 0x14ba: 0x26b, 0x14bb: 0x26c, 0x14bc: 0x79, 0x14bd: 0x7a, 0x14be: 0x7b, 0x14bf: 0x7c,\n\t// Block 0x53, offset 0x14c0\n\t0x14c0: 0x7d, 0x14c1: 0x7e, 0x14c2: 0x7f, 0x14c3: 0x80, 0x14c4: 0x262, 0x14c5: 0x82, 0x14c6: 0x83, 0x14c7: 0x84,\n\t0x14c8: 0x85, 0x14c9: 0x86, 0x14ca: 0x87, 0x14cb: 0x88, 0x14cc: 0x89, 0x14cd: 0x8a, 0x14ce: 0x8b, 0x14cf: 0x8c,\n\t0x14d0: 0x8d, 0x14d1: 0x8e, 0x14d2: 0x26d, 0x14d3: 0x90, 0x14d4: 0x91, 0x14d5: 0x92, 0x14d6: 0x93, 0x14d7: 0x94,\n\t0x14d8: 0x95, 0x14d9: 0x96, 0x14da: 0x97, 0x14db: 0x98, 0x14dc: 0x99, 0x14dd: 0x9a, 0x14de: 0x9b, 0x14df: 0x9c,\n\t0x14e0: 0x9d, 0x14e1: 0x9e, 0x14e2: 0x9f, 0x14e3: 0xa0, 0x14e4: 0xa1, 0x14e5: 0xa2, 0x14e6: 0xa3, 0x14e7: 0xa4,\n\t0x14e8: 0xa5, 0x14e9: 0xa6, 0x14ea: 0xa7, 0x14eb: 0xa8, 0x14ec: 0xa9, 0x14ed: 0xaa,\n\t0x14f0: 0xab, 0x14f1: 0xac, 0x14f2: 0xad, 0x14f3: 0xae, 0x14f4: 0xaf, 0x14f5: 0xb0, 0x14f6: 0xb1, 0x14f7: 0xb2,\n\t0x14f8: 0xb3, 0x14fa: 0xb4, 0x14fb: 0xb5, 0x14fc: 0xb6, 0x14fd: 0xb7, 0x14fe: 0xb8, 0x14ff: 0xb9,\n\t// Block 0x54, offset 0x1500\n\t0x1500: 0xba, 0x1501: 0xbb, 0x1502: 0xbc, 0x1503: 0xbd, 0x1504: 0xbe, 0x1505: 0xbf, 0x1506: 0xc0, 0x1507: 0xc1,\n\t0x1508: 0xc2, 0x1509: 0xc3, 0x150a: 0xc4, 0x150b: 0xc5, 0x150c: 0xc6, 0x150d: 0xc7, 0x150e: 0x26e, 0x150f: 0x24b,\n\t// Block 0x55, offset 0x1540\n\t0x1540: 0x18b, 0x1541: 0x18c, 0x1542: 0x18d, 0x1543: 0x18e, 0x1544: 0x26f, 0x1545: 0x24d, 0x1546: 0x191, 0x1547: 0x192,\n\t0x1548: 0x193, 0x1549: 0x194, 0x154c: 0x195, 0x154d: 0x196, 0x154e: 0x197, 0x154f: 0x198,\n\t0x1550: 0x199, 0x1551: 0x19a, 0x1552: 0x19b, 0x1553: 0x19c, 0x1554: 0x19d, 0x1555: 0x19e, 0x1557: 0x19f,\n\t0x1558: 0x1a0, 0x1559: 0x1a1, 0x155a: 0x1a2, 0x155b: 0x1a3, 0x155c: 0x1a4, 0x155d: 0x1a5,\n\t// Block 0x56, offset 0x1580\n\t0x1590: 0x09, 0x1591: 0x0a, 0x1592: 0x0b, 0x1593: 0x0c, 0x1596: 0x0d,\n\t0x159b: 0x0e, 0x159d: 0x0f, 0x159e: 0x10, 0x159f: 0x53,\n\t0x15af: 0x12,\n\t// Block 0x57, offset 0x15c0\n\t0x15c2: 0x01, 0x15c3: 0x265, 0x15c4: 0x266, 0x15c5: 0x267, 0x15c6: 0x05, 0x15c7: 0x268,\n\t0x15c8: 0x269, 0x15c9: 0x08, 0x15ca: 0x09, 0x15cb: 0x0a, 0x15cc: 0x0b, 0x15cd: 0x0c, 0x15ce: 0x0d, 0x15cf: 0x0e,\n\t0x15d0: 0x0f, 0x15d1: 0x10, 0x15d2: 0x11, 0x15d3: 0x12, 0x15d4: 0x13, 0x15d5: 0x14, 0x15d6: 0x15, 0x15d7: 0x16,\n\t0x15d8: 0x17, 0x15d9: 0x18, 0x15da: 0x19, 0x15db: 0x1a, 0x15dc: 0x1b, 0x15dd: 0x1c, 0x15de: 0x1d, 0x15df: 0x1e,\n\t0x15e0: 0x01, 0x15e1: 0x50, 0x15e2: 0x51, 0x15e3: 0x52, 0x15e4: 0x05,\n\t0x15ea: 0x06, 0x15ed: 0x07, 0x15ef: 0x08,\n\t0x15f0: 0x54, 0x15f3: 0x15,\n\t// Block 0x58, offset 0x1600\n\t0x1620: 0x1f, 0x1621: 0x20, 0x1622: 0x21, 0x1623: 0x22, 0x1624: 0x23, 0x1625: 0x24, 0x1626: 0x25, 0x1627: 0x26,\n\t0x1628: 0x27, 0x1629: 0x28, 0x162a: 0x272, 0x162b: 0x2a, 0x162c: 0x2b, 0x162d: 0x2c, 0x162e: 0x2d, 0x162f: 0x2e,\n\t0x1630: 0x2f, 0x1631: 0x30, 0x1632: 0x31, 0x1633: 0x32, 0x1634: 0x33, 0x1635: 0x34, 0x1636: 0x35, 0x1637: 0x36,\n\t0x1638: 0x37, 0x1639: 0x38, 0x163a: 0x39, 0x163b: 0x3a, 0x163c: 0x3b, 0x163d: 0x3c, 0x163e: 0x3d, 0x163f: 0x3e,\n\t// Block 0x59, offset 0x1640\n\t0x1642: 0x01, 0x1643: 0x02, 0x1644: 0x03, 0x1645: 0x04, 0x1646: 0x05, 0x1647: 0x06,\n\t0x1648: 0x07, 0x1649: 0x08, 0x164a: 0x09, 0x164b: 0x0a, 0x164c: 0x0b, 0x164d: 0x0c, 0x164e: 0x0d, 0x164f: 0x0e,\n\t0x1650: 0x0f, 0x1651: 0x10, 0x1652: 0x11, 0x1653: 0x12, 0x1654: 0x13, 0x1655: 0x14, 0x1656: 0x15, 0x1657: 0x16,\n\t0x1658: 0x17, 0x1659: 0x18, 0x165a: 0x19, 0x165b: 0x1a, 0x165c: 0x1b, 0x165d: 0x1c, 0x165e: 0x1d, 0x165f: 0x1e,\n\t0x1660: 0x56, 0x1661: 0x02, 0x1662: 0x03, 0x1663: 0x04, 0x1664: 0x05,\n\t0x166a: 0x06, 0x166d: 0x07, 0x166f: 0x08,\n\t0x1670: 0x13, 0x1673: 0x15,\n\t// Block 0x5a, offset 0x1680\n\t0x1682: 0x01, 0x1683: 0x02, 0x1684: 0x03, 0x1685: 0x04, 0x1686: 0x275, 0x1687: 0x06,\n\t0x1688: 0x07, 0x1689: 0x276, 0x168a: 0x277, 0x168b: 0x0a, 0x168c: 0x0b, 0x168d: 0x0c, 0x168e: 0x0d, 0x168f: 0x0e,\n\t0x1690: 0x0f, 0x1691: 0x10, 0x1692: 0x11, 0x1693: 0x12, 0x1694: 0x13, 0x1695: 0x14, 0x1696: 0x15, 0x1697: 0x16,\n\t0x1698: 0x17, 0x1699: 0x18, 0x169a: 0x19, 0x169b: 0x1a, 0x169c: 0x1b, 0x169d: 0x1c, 0x169e: 0x1d, 0x169f: 0x1e,\n\t0x16a0: 0x01, 0x16a1: 0x02, 0x16a2: 0x03, 0x16a3: 0x04, 0x16a4: 0x05,\n\t0x16aa: 0x06, 0x16ad: 0x07, 0x16af: 0x08,\n\t0x16b0: 0x13, 0x16b3: 0x15,\n\t// Block 0x5b, offset 0x16c0\n\t0x16c0: 0x3f, 0x16c1: 0x40, 0x16c2: 0x41, 0x16c3: 0x42, 0x16c4: 0x43, 0x16c5: 0x44, 0x16c6: 0x45, 0x16c7: 0x46,\n\t0x16c8: 0x47, 0x16c9: 0x48, 0x16ca: 0x49, 0x16cb: 0x4a, 0x16cc: 0x4b, 0x16cd: 0x4c, 0x16ce: 0x4d, 0x16cf: 0x4e,\n\t0x16d0: 0x4f, 0x16d1: 0x50, 0x16d2: 0x51, 0x16d3: 0x52, 0x16d4: 0x53, 0x16d5: 0x54, 0x16d6: 0x55, 0x16d7: 0x56,\n\t0x16d8: 0x57, 0x16d9: 0x58, 0x16da: 0x59, 0x16db: 0x5a, 0x16dc: 0x5b, 0x16dd: 0x5c, 0x16de: 0x5d, 0x16df: 0x5e,\n\t0x16e0: 0x5f, 0x16e1: 0x60, 0x16e2: 0x61, 0x16e3: 0x62, 0x16e4: 0x63, 0x16e5: 0x64, 0x16e6: 0x65, 0x16e7: 0x66,\n\t0x16e8: 0x67, 0x16e9: 0x68, 0x16ea: 0x69, 0x16ec: 0x6a, 0x16ed: 0x6b, 0x16ee: 0x6c, 0x16ef: 0x6d,\n\t0x16f0: 0x6e, 0x16f1: 0x6f, 0x16f3: 0x70, 0x16f4: 0x71, 0x16f5: 0x72, 0x16f6: 0x73, 0x16f7: 0x74,\n\t0x16f8: 0x281, 0x16f9: 0x282, 0x16fa: 0x283, 0x16fb: 0x284, 0x16fc: 0x79, 0x16fd: 0x7a, 0x16fe: 0x7b, 0x16ff: 0x7c,\n\t// Block 0x5c, offset 0x1700\n\t0x1700: 0x7d, 0x1701: 0x7e, 0x1702: 0x7f, 0x1703: 0x80, 0x1704: 0x285, 0x1705: 0x1bf, 0x1706: 0x83, 0x1707: 0x84,\n\t0x1708: 0x85, 0x1709: 0x86, 0x170a: 0x87, 0x170b: 0x88, 0x170c: 0x89, 0x170d: 0x8a, 0x170e: 0x8b, 0x170f: 0x8c,\n\t0x1710: 0x8d, 0x1711: 0x8e, 0x1712: 0x286, 0x1713: 0x90, 0x1714: 0x91, 0x1715: 0x92, 0x1716: 0x93, 0x1717: 0x94,\n\t0x1718: 0x95, 0x1719: 0x96, 0x171a: 0x97, 0x171b: 0x98, 0x171c: 0x99, 0x171d: 0x9a, 0x171e: 0x9b, 0x171f: 0x9c,\n\t0x1720: 0x9d, 0x1721: 0x9e, 0x1722: 0x9f, 0x1723: 0xa0, 0x1724: 0xa1, 0x1725: 0xa2, 0x1726: 0xa3, 0x1727: 0xa4,\n\t0x1728: 0xa5, 0x1729: 0xa6, 0x172a: 0xa7, 0x172b: 0xa8, 0x172c: 0xa9, 0x172d: 0xaa,\n\t0x1730: 0xab, 0x1731: 0xac, 0x1732: 0xad, 0x1733: 0xae, 0x1734: 0xaf, 0x1735: 0xb0, 0x1736: 0xb1, 0x1737: 0xb2,\n\t0x1738: 0xb3, 0x173a: 0xb4, 0x173b: 0xb5, 0x173c: 0xb6, 0x173d: 0xb7, 0x173e: 0xb8, 0x173f: 0xb9,\n\t// Block 0x5d, offset 0x1740\n\t0x1740: 0xba, 0x1741: 0xbb, 0x1742: 0xbc, 0x1743: 0xbd, 0x1744: 0xbe, 0x1745: 0xbf, 0x1746: 0xc0, 0x1747: 0xc1,\n\t0x1748: 0xc2, 0x1749: 0xc3, 0x174a: 0xc4, 0x174b: 0x1c1, 0x174c: 0xc6, 0x174d: 0x287, 0x174e: 0x288, 0x174f: 0x289,\n\t// Block 0x5e, offset 0x1780\n\t0x17a4: 0xfb, 0x17a5: 0xfc, 0x17a6: 0xfd, 0x17a7: 0xfe,\n\t0x17a8: 0xff, 0x17a9: 0x100, 0x17aa: 0x101, 0x17ab: 0x102, 0x17ac: 0x28a, 0x17ad: 0x104, 0x17ae: 0x105, 0x17af: 0x106,\n\t0x17b0: 0x107, 0x17b1: 0x108, 0x17b2: 0x109, 0x17b3: 0x10a, 0x17b4: 0x10b, 0x17b5: 0x10c, 0x17b6: 0x10d, 0x17b7: 0x10e,\n\t0x17b8: 0x10f, 0x17b9: 0x110, 0x17ba: 0x111, 0x17bb: 0x112, 0x17bc: 0x113, 0x17bd: 0x114, 0x17be: 0x115, 0x17bf: 0x116,\n\t// Block 0x5f, offset 0x17c0\n\t0x17c0: 0x18b, 0x17c1: 0x18c, 0x17c2: 0x18d, 0x17c3: 0x18e, 0x17c4: 0x28b, 0x17c5: 0x28c, 0x17c6: 0x191, 0x17c7: 0x192,\n\t0x17c8: 0x193, 0x17c9: 0x194, 0x17cc: 0x195, 0x17cd: 0x196, 0x17ce: 0x197, 0x17cf: 0x198,\n\t0x17d0: 0x199, 0x17d1: 0x19a, 0x17d2: 0x19b, 0x17d3: 0x19c, 0x17d4: 0x19d, 0x17d5: 0x19e, 0x17d7: 0x19f,\n\t0x17d8: 0x1a0, 0x17d9: 0x1a1, 0x17da: 0x1a2, 0x17db: 0x1a3, 0x17dc: 0x1a4, 0x17dd: 0x1a5,\n\t// Block 0x60, offset 0x1800\n\t0x1810: 0x09, 0x1811: 0x0a, 0x1812: 0x0b, 0x1813: 0x0c, 0x1816: 0x0d,\n\t0x181b: 0x0e, 0x181d: 0x0f, 0x181e: 0x10, 0x181f: 0x5d,\n\t0x182f: 0x12,\n\t// Block 0x61, offset 0x1840\n\t0x1842: 0x01, 0x1843: 0x27a, 0x1844: 0x27b, 0x1845: 0x27c, 0x1846: 0x27d, 0x1847: 0x27e,\n\t0x1848: 0x27f, 0x1849: 0x08, 0x184a: 0x280, 0x184b: 0x0a, 0x184c: 0x0b, 0x184d: 0x0c, 0x184e: 0x0d, 0x184f: 0x0e,\n\t0x1850: 0x0f, 0x1851: 0x10, 0x1852: 0x11, 0x1853: 0x12, 0x1854: 0x13, 0x1855: 0x14, 0x1856: 0x15, 0x1857: 0x16,\n\t0x1858: 0x17, 0x1859: 0x18, 0x185a: 0x19, 0x185b: 0x1a, 0x185c: 0x1b, 0x185d: 0x1c, 0x185e: 0x1d, 0x185f: 0x1e,\n\t0x1860: 0x01, 0x1861: 0x59, 0x1862: 0x5a, 0x1863: 0x5b, 0x1864: 0x05,\n\t0x186a: 0x06, 0x186d: 0x07, 0x186f: 0x5c,\n\t0x1870: 0x5e, 0x1873: 0x15,\n\t// Block 0x62, offset 0x1880\n\t0x1882: 0x01, 0x1883: 0x02, 0x1884: 0x03, 0x1885: 0x04, 0x1886: 0x05, 0x1887: 0x06,\n\t0x1888: 0x07, 0x1889: 0x08, 0x188a: 0x09, 0x188b: 0x0a, 0x188c: 0x0b, 0x188d: 0x0c, 0x188e: 0x0d, 0x188f: 0x0e,\n\t0x1890: 0x0f, 0x1891: 0x10, 0x1892: 0x11, 0x1893: 0x12, 0x1894: 0x13, 0x1895: 0x14, 0x1896: 0x15, 0x1897: 0x28d,\n\t0x1898: 0x17, 0x1899: 0x18, 0x189a: 0x19, 0x189b: 0x1a, 0x189c: 0x1b, 0x189d: 0x1c, 0x189e: 0x1d, 0x189f: 0x1e,\n\t0x18a0: 0x01, 0x18a1: 0x02, 0x18a2: 0x03, 0x18a3: 0x04, 0x18a4: 0x05,\n\t0x18aa: 0x06, 0x18ad: 0x07, 0x18af: 0x08,\n\t0x18b0: 0x13, 0x18b3: 0x15,\n\t// Block 0x63, offset 0x18c0\n\t0x18e0: 0x1f, 0x18e1: 0x20, 0x18e2: 0x21, 0x18e3: 0x22, 0x18e4: 0x28e, 0x18e5: 0x24, 0x18e6: 0x25, 0x18e7: 0x26,\n\t0x18e8: 0x27, 0x18e9: 0x28, 0x18ea: 0x29, 0x18eb: 0x2a, 0x18ec: 0x2b, 0x18ed: 0x2c, 0x18ee: 0x2d, 0x18ef: 0x2e,\n\t0x18f0: 0x2f, 0x18f1: 0x30, 0x18f2: 0x31, 0x18f3: 0x32, 0x18f4: 0x33, 0x18f5: 0x34, 0x18f6: 0x35, 0x18f7: 0x36,\n\t0x18f8: 0x37, 0x18f9: 0x38, 0x18fa: 0x39, 0x18fb: 0x3a, 0x18fc: 0x3b, 0x18fd: 0x3c, 0x18fe: 0x3d, 0x18ff: 0x3e,\n\t// Block 0x64, offset 0x1900\n\t0x1902: 0x01, 0x1903: 0x02, 0x1904: 0x03, 0x1905: 0x04, 0x1906: 0x05, 0x1907: 0x06,\n\t0x1908: 0x07, 0x1909: 0x08, 0x190a: 0x09, 0x190b: 0x0a, 0x190c: 0x0b, 0x190d: 0x0c, 0x190e: 0x0d, 0x190f: 0x0e,\n\t0x1910: 0x0f, 0x1911: 0x10, 0x1912: 0x11, 0x1913: 0x12, 0x1914: 0x13, 0x1915: 0x14, 0x1916: 0x15, 0x1917: 0x16,\n\t0x1918: 0x17, 0x1919: 0x18, 0x191a: 0x19, 0x191b: 0x1a, 0x191c: 0x1b, 0x191d: 0x1c, 0x191e: 0x1d, 0x191f: 0x1e,\n\t0x1920: 0x61, 0x1921: 0x02, 0x1922: 0x03, 0x1923: 0x04, 0x1924: 0x05,\n\t0x192a: 0x06, 0x192d: 0x07, 0x192f: 0x08,\n\t0x1930: 0x13, 0x1933: 0x15,\n\t// Block 0x65, offset 0x1940\n\t0x1940: 0x3f, 0x1941: 0x40, 0x1942: 0x41, 0x1943: 0x42, 0x1944: 0x43, 0x1945: 0x44, 0x1946: 0x45, 0x1947: 0x46,\n\t0x1948: 0x47, 0x1949: 0x48, 0x194a: 0x49, 0x194b: 0x4a, 0x194c: 0x4b, 0x194d: 0x4c, 0x194e: 0x4d, 0x194f: 0x4e,\n\t0x1950: 0x4f, 0x1951: 0x50, 0x1952: 0x51, 0x1953: 0x52, 0x1954: 0x53, 0x1955: 0x54, 0x1956: 0x55, 0x1957: 0x56,\n\t0x1958: 0x57, 0x1959: 0x58, 0x195a: 0x59, 0x195b: 0x5a, 0x195c: 0x5b, 0x195d: 0x5c, 0x195e: 0x5d, 0x195f: 0x5e,\n\t0x1960: 0x5f, 0x1961: 0x60, 0x1962: 0x61, 0x1963: 0x62, 0x1964: 0x63, 0x1965: 0x64, 0x1966: 0x65, 0x1967: 0x66,\n\t0x1968: 0x67, 0x1969: 0x68, 0x196a: 0x69, 0x196c: 0x6a, 0x196d: 0x6b, 0x196e: 0x6c, 0x196f: 0x6d,\n\t0x1970: 0x6e, 0x1971: 0x6f, 0x1973: 0x70, 0x1974: 0x71, 0x1975: 0x72, 0x1976: 0x73, 0x1977: 0x74,\n\t0x1978: 0x294, 0x1979: 0x1f2, 0x197a: 0x77, 0x197b: 0x78, 0x197c: 0x79, 0x197d: 0x7a, 0x197e: 0x7b, 0x197f: 0x7c,\n\t// Block 0x66, offset 0x1980\n\t0x1982: 0x01, 0x1983: 0x02, 0x1984: 0x291, 0x1985: 0x292, 0x1986: 0x05, 0x1987: 0x293,\n\t0x1988: 0x07, 0x1989: 0x08, 0x198a: 0x09, 0x198b: 0x0a, 0x198c: 0x0b, 0x198d: 0x0c, 0x198e: 0x0d, 0x198f: 0x0e,\n\t0x1990: 0x0f, 0x1991: 0x10, 0x1992: 0x11, 0x1993: 0x12, 0x1994: 0x13, 0x1995: 0x14, 0x1996: 0x15, 0x1997: 0x16,\n\t0x1998: 0x17, 0x1999: 0x18, 0x199a: 0x19, 0x199b: 0x1a, 0x199c: 0x1b, 0x199d: 0x1c, 0x199e: 0x1d, 0x199f: 0x1e,\n\t0x19a0: 0x01, 0x19a1: 0x63, 0x19a2: 0x03, 0x19a3: 0x04, 0x19a4: 0x05,\n\t0x19aa: 0x06, 0x19ad: 0x07, 0x19af: 0x08,\n\t0x19b0: 0x13, 0x19b3: 0x15,\n\t// Block 0x67, offset 0x19c0\n\t0x19c0: 0x3f, 0x19c1: 0x40, 0x19c2: 0x41, 0x19c3: 0x42, 0x19c4: 0x43, 0x19c5: 0x44, 0x19c6: 0x45, 0x19c7: 0x46,\n\t0x19c8: 0x47, 0x19c9: 0x48, 0x19ca: 0x49, 0x19cb: 0x4a, 0x19cc: 0x4b, 0x19cd: 0x4c, 0x19ce: 0x4d, 0x19cf: 0x4e,\n\t0x19d0: 0x4f, 0x19d1: 0x50, 0x19d2: 0x51, 0x19d3: 0x52, 0x19d4: 0x53, 0x19d5: 0x54, 0x19d6: 0x55, 0x19d7: 0x56,\n\t0x19d8: 0x57, 0x19d9: 0x58, 0x19da: 0x59, 0x19db: 0x5a, 0x19dc: 0x5b, 0x19dd: 0x5c, 0x19de: 0x5d, 0x19df: 0x5e,\n\t0x19e0: 0x5f, 0x19e1: 0x60, 0x19e2: 0x61, 0x19e3: 0x62, 0x19e4: 0x63, 0x19e5: 0x64, 0x19e6: 0x65, 0x19e7: 0x66,\n\t0x19e8: 0x67, 0x19e9: 0x68, 0x19ea: 0x69, 0x19ec: 0x6a, 0x19ed: 0x6b, 0x19ee: 0x6c, 0x19ef: 0x6d,\n\t0x19f0: 0x6e, 0x19f1: 0x6f, 0x19f3: 0x70, 0x19f4: 0x71, 0x19f5: 0x72, 0x19f6: 0x73, 0x19f7: 0x74,\n\t0x19f8: 0x75, 0x19f9: 0x1df, 0x19fa: 0x77, 0x19fb: 0x78, 0x19fc: 0x79, 0x19fd: 0x7a, 0x19fe: 0x7b, 0x19ff: 0x7c,\n\t// Block 0x68, offset 0x1a00\n\t0x1a02: 0x01, 0x1a03: 0x297, 0x1a04: 0x03, 0x1a05: 0x298, 0x1a06: 0x05, 0x1a07: 0x299,\n\t0x1a08: 0x29a, 0x1a09: 0x08, 0x1a0a: 0x09, 0x1a0b: 0x0a, 0x1a0c: 0x0b, 0x1a0d: 0x0c, 0x1a0e: 0x0d, 0x1a0f: 0x0e,\n\t0x1a10: 0x0f, 0x1a11: 0x10, 0x1a12: 0x11, 0x1a13: 0x12, 0x1a14: 0x13, 0x1a15: 0x14, 0x1a16: 0x15, 0x1a17: 0x16,\n\t0x1a18: 0x17, 0x1a19: 0x18, 0x1a1a: 0x19, 0x1a1b: 0x1a, 0x1a1c: 0x1b, 0x1a1d: 0x1c, 0x1a1e: 0x1d, 0x1a1f: 0x1e,\n\t0x1a20: 0x01, 0x1a21: 0x65, 0x1a22: 0x03, 0x1a23: 0x04, 0x1a24: 0x05,\n\t0x1a2a: 0x06, 0x1a2d: 0x07, 0x1a2f: 0x08,\n\t0x1a30: 0x13, 0x1a33: 0x15,\n\t// Block 0x69, offset 0x1a40\n\t0x1a42: 0x01, 0x1a43: 0x02, 0x1a44: 0x03, 0x1a45: 0x04, 0x1a46: 0x05, 0x1a47: 0x06,\n\t0x1a48: 0x07, 0x1a49: 0x08, 0x1a4a: 0x09, 0x1a4b: 0x0a, 0x1a4c: 0x0b, 0x1a4d: 0x0c, 0x1a4e: 0x0d, 0x1a4f: 0x0e,\n\t0x1a50: 0x0f, 0x1a51: 0x10, 0x1a52: 0x11, 0x1a53: 0x12, 0x1a54: 0x29b, 0x1a55: 0x14, 0x1a56: 0x29c, 0x1a57: 0x16,\n\t0x1a58: 0x17, 0x1a59: 0x18, 0x1a5a: 0x19, 0x1a5b: 0x1a, 0x1a5c: 0x1b, 0x1a5d: 0x1c, 0x1a5e: 0x1d, 0x1a5f: 0x1e,\n\t0x1a60: 0x01, 0x1a61: 0x02, 0x1a62: 0x03, 0x1a63: 0x04, 0x1a64: 0x05,\n\t0x1a6a: 0x06, 0x1a6d: 0x07, 0x1a6f: 0x08,\n\t0x1a70: 0x13, 0x1a73: 0x15,\n\t// Block 0x6a, offset 0x1a80\n\t0x1a80: 0x3f, 0x1a81: 0x40, 0x1a82: 0x41, 0x1a83: 0x42, 0x1a84: 0x43, 0x1a85: 0x44, 0x1a86: 0x45, 0x1a87: 0x46,\n\t0x1a88: 0x47, 0x1a89: 0x48, 0x1a8a: 0x49, 0x1a8b: 0x4a, 0x1a8c: 0x4b, 0x1a8d: 0x4c, 0x1a8e: 0x4d, 0x1a8f: 0x4e,\n\t0x1a90: 0x4f, 0x1a91: 0x50, 0x1a92: 0x51, 0x1a93: 0x52, 0x1a94: 0x53, 0x1a95: 0x54, 0x1a96: 0x55, 0x1a97: 0x56,\n\t0x1a98: 0x57, 0x1a99: 0x58, 0x1a9a: 0x59, 0x1a9b: 0x5a, 0x1a9c: 0x5b, 0x1a9d: 0x5c, 0x1a9e: 0x5d, 0x1a9f: 0x5e,\n\t0x1aa0: 0x5f, 0x1aa1: 0x60, 0x1aa2: 0x61, 0x1aa3: 0x62, 0x1aa4: 0x63, 0x1aa5: 0x64, 0x1aa6: 0x65, 0x1aa7: 0x66,\n\t0x1aa8: 0x67, 0x1aa9: 0x68, 0x1aaa: 0x69, 0x1aac: 0x6a, 0x1aad: 0x6b, 0x1aae: 0x6c, 0x1aaf: 0x6d,\n\t0x1ab0: 0x6e, 0x1ab1: 0x6f, 0x1ab3: 0x70, 0x1ab4: 0x71, 0x1ab5: 0x72, 0x1ab6: 0x73, 0x1ab7: 0x74,\n\t0x1ab8: 0x75, 0x1ab9: 0x29f, 0x1aba: 0x77, 0x1abb: 0x2a0, 0x1abc: 0x79, 0x1abd: 0x7a, 0x1abe: 0x7b, 0x1abf: 0x7c,\n\t// Block 0x6b, offset 0x1ac0\n\t0x1ac2: 0x01, 0x1ac3: 0x02, 0x1ac4: 0x03, 0x1ac5: 0x04, 0x1ac6: 0x05, 0x1ac7: 0x06,\n\t0x1ac8: 0x07, 0x1ac9: 0x08, 0x1aca: 0x09, 0x1acb: 0x0a, 0x1acc: 0x0b, 0x1acd: 0x0c, 0x1ace: 0x0d, 0x1acf: 0x0e,\n\t0x1ad0: 0x0f, 0x1ad1: 0x10, 0x1ad2: 0x11, 0x1ad3: 0x12, 0x1ad4: 0x13, 0x1ad5: 0x14, 0x1ad6: 0x15, 0x1ad7: 0x16,\n\t0x1ad8: 0x17, 0x1ad9: 0x18, 0x1ada: 0x19, 0x1adb: 0x1a, 0x1adc: 0x1b, 0x1add: 0x1c, 0x1ade: 0x1d, 0x1adf: 0x1e,\n\t0x1ae0: 0x01, 0x1ae1: 0x68, 0x1ae2: 0x03, 0x1ae3: 0x04, 0x1ae4: 0x05,\n\t0x1aea: 0x06, 0x1aed: 0x07, 0x1aef: 0x08,\n\t0x1af0: 0x13, 0x1af3: 0x15,\n\t// Block 0x6c, offset 0x1b00\n\t0x1b00: 0x3f, 0x1b01: 0x40, 0x1b02: 0x41, 0x1b03: 0x42, 0x1b04: 0x43, 0x1b05: 0x44, 0x1b06: 0x45, 0x1b07: 0x46,\n\t0x1b08: 0x47, 0x1b09: 0x48, 0x1b0a: 0x49, 0x1b0b: 0x4a, 0x1b0c: 0x4b, 0x1b0d: 0x4c, 0x1b0e: 0x4d, 0x1b0f: 0x4e,\n\t0x1b10: 0x4f, 0x1b11: 0x50, 0x1b12: 0x51, 0x1b13: 0x52, 0x1b14: 0x53, 0x1b15: 0x54, 0x1b16: 0x55, 0x1b17: 0x56,\n\t0x1b18: 0x57, 0x1b19: 0x58, 0x1b1a: 0x59, 0x1b1b: 0x5a, 0x1b1c: 0x5b, 0x1b1d: 0x5c, 0x1b1e: 0x5d, 0x1b1f: 0x5e,\n\t0x1b20: 0x5f, 0x1b21: 0x60, 0x1b22: 0x61, 0x1b23: 0x62, 0x1b24: 0x63, 0x1b25: 0x64, 0x1b26: 0x65, 0x1b27: 0x66,\n\t0x1b28: 0x67, 0x1b29: 0x68, 0x1b2a: 0x69, 0x1b2c: 0x6a, 0x1b2d: 0x6b, 0x1b2e: 0x6c, 0x1b2f: 0x6d,\n\t0x1b30: 0x6e, 0x1b31: 0x6f, 0x1b33: 0x70, 0x1b34: 0x71, 0x1b35: 0x72, 0x1b36: 0x1fc, 0x1b37: 0x74,\n\t0x1b38: 0x2a7, 0x1b39: 0x2a8, 0x1b3a: 0x2a9, 0x1b3b: 0x2aa, 0x1b3c: 0x79, 0x1b3d: 0x7a, 0x1b3e: 0x7b, 0x1b3f: 0x7c,\n\t// Block 0x6d, offset 0x1b40\n\t0x1b42: 0x01, 0x1b43: 0x2a3, 0x1b44: 0x2a4, 0x1b45: 0x04, 0x1b46: 0x05, 0x1b47: 0x2a5,\n\t0x1b48: 0x2a6, 0x1b49: 0x08, 0x1b4a: 0x09, 0x1b4b: 0x0a, 0x1b4c: 0x0b, 0x1b4d: 0x0c, 0x1b4e: 0x0d, 0x1b4f: 0x0e,\n\t0x1b50: 0x0f, 0x1b51: 0x10, 0x1b52: 0x11, 0x1b53: 0x12, 0x1b54: 0x13, 0x1b55: 0x14, 0x1b56: 0x15, 0x1b57: 0x16,\n\t0x1b58: 0x17, 0x1b59: 0x18, 0x1b5a: 0x19, 0x1b5b: 0x1a, 0x1b5c: 0x1b, 0x1b5d: 0x1c, 0x1b5e: 0x1d, 0x1b5f: 0x1e,\n\t0x1b60: 0x01, 0x1b61: 0x6a, 0x1b62: 0x30, 0x1b63: 0x04, 0x1b64: 0x05,\n\t0x1b6a: 0x06, 0x1b6d: 0x07, 0x1b6f: 0x08,\n\t0x1b70: 0x13, 0x1b73: 0x15,\n\t// Block 0x6e, offset 0x1b80\n\t0x1b80: 0x2ab, 0x1b81: 0x2ac, 0x1b82: 0x2ad, 0x1b83: 0x2ae, 0x1b84: 0x2af, 0x1b85: 0x2b0, 0x1b86: 0xc0, 0x1b87: 0x2b1,\n\t0x1b88: 0x2b2, 0x1b89: 0x2b3, 0x1b8a: 0xc4, 0x1b8b: 0x2b4, 0x1b8c: 0xc6, 0x1b8d: 0x2b5, 0x1b8e: 0xc8, 0x1b8f: 0x2b6,\n\t// Block 0x6f, offset 0x1bc0\n\t0x1bf7: 0xca,\n\t0x1bf8: 0x2b7, 0x1bf9: 0x2b8, 0x1bfa: 0x2b9, 0x1bfb: 0x2ba, 0x1bfc: 0x2bb, 0x1bfd: 0x2bc, 0x1bfe: 0x2bd, 0x1bff: 0x2be,\n\t// Block 0x70, offset 0x1c00\n\t0x1c00: 0x2bf, 0x1c01: 0x2c0, 0x1c02: 0x2c1, 0x1c03: 0x2c2, 0x1c04: 0x2c3, 0x1c05: 0x2c4, 0x1c06: 0x2c5, 0x1c07: 0x2c6,\n\t0x1c08: 0x2c7, 0x1c09: 0x2c8, 0x1c0a: 0x2c9, 0x1c0b: 0x2ca, 0x1c0c: 0x2cb, 0x1c0d: 0x2cc, 0x1c0e: 0x2cd, 0x1c0f: 0x2ce,\n\t0x1c10: 0x2cf, 0x1c11: 0x2d0, 0x1c12: 0x2d1, 0x1c13: 0x2d2, 0x1c14: 0x2d3, 0x1c15: 0x2d4, 0x1c16: 0x2d5, 0x1c17: 0x2d6,\n\t0x1c18: 0x2d7, 0x1c19: 0x2d8, 0x1c1a: 0x2d9, 0x1c1b: 0x2da, 0x1c1c: 0x2db, 0x1c1d: 0x2dc, 0x1c1e: 0x2dd, 0x1c1f: 0x2de,\n\t0x1c20: 0x2df, 0x1c21: 0x2e0, 0x1c22: 0x2e1, 0x1c23: 0x2e2, 0x1c24: 0x2e3, 0x1c25: 0x2e4, 0x1c26: 0x2e5, 0x1c27: 0x2e6,\n\t0x1c28: 0x2e7, 0x1c29: 0x2e8, 0x1c2a: 0x2e9, 0x1c2b: 0x2ea, 0x1c2c: 0x2eb, 0x1c2d: 0x2ec, 0x1c2e: 0x2ed, 0x1c2f: 0x2ee,\n\t0x1c30: 0x2ef, 0x1c31: 0x2f0, 0x1c32: 0x2f1, 0x1c33: 0x2f2, 0x1c34: 0x2f3, 0x1c35: 0x2f4, 0x1c36: 0x2f5, 0x1c37: 0x2f6,\n\t0x1c38: 0x2f7, 0x1c39: 0x2f8, 0x1c3a: 0x2f9, 0x1c3b: 0x2fa, 0x1c3c: 0x2fb, 0x1c3d: 0x2fc, 0x1c3e: 0x2fd, 0x1c3f: 0x2fe,\n\t// Block 0x71, offset 0x1c40\n\t0x1c40: 0x2ff, 0x1c41: 0x300, 0x1c42: 0x301, 0x1c43: 0x302, 0x1c44: 0x303, 0x1c45: 0x304, 0x1c46: 0x305, 0x1c47: 0x306,\n\t0x1c48: 0x307, 0x1c49: 0x308, 0x1c4a: 0x309, 0x1c4b: 0x30a, 0x1c4c: 0x30b, 0x1c4d: 0x30c, 0x1c4e: 0x30d, 0x1c4f: 0x30e,\n\t0x1c50: 0x30f, 0x1c51: 0x310, 0x1c52: 0x311, 0x1c53: 0x312, 0x1c54: 0x313, 0x1c55: 0x314, 0x1c56: 0x315, 0x1c57: 0x316,\n\t0x1c58: 0x317, 0x1c59: 0x318, 0x1c5a: 0x319, 0x1c5b: 0x31a, 0x1c5c: 0x31b, 0x1c5d: 0x31c, 0x1c5e: 0x31d, 0x1c5f: 0x31e,\n\t0x1c60: 0x31f, 0x1c61: 0x320, 0x1c62: 0x321, 0x1c63: 0x322, 0x1c64: 0x323, 0x1c65: 0x324, 0x1c66: 0x325, 0x1c67: 0x326,\n\t0x1c68: 0x327, 0x1c69: 0x328, 0x1c6a: 0x329, 0x1c6b: 0x32a, 0x1c6c: 0x32b, 0x1c6d: 0x32c, 0x1c6e: 0x32d, 0x1c6f: 0x32e,\n\t0x1c70: 0x32f, 0x1c71: 0x330, 0x1c72: 0x331, 0x1c73: 0x332, 0x1c74: 0x333, 0x1c75: 0x334, 0x1c76: 0x335, 0x1c77: 0x336,\n\t0x1c78: 0x337, 0x1c79: 0x338, 0x1c7a: 0x339, 0x1c7b: 0x33a, 0x1c7c: 0x33b, 0x1c7d: 0x33c, 0x1c7e: 0x33d, 0x1c7f: 0x33e,\n\t// Block 0x72, offset 0x1c80\n\t0x1c80: 0x33f, 0x1c81: 0x340, 0x1c82: 0x341, 0x1c83: 0x342, 0x1c84: 0x343, 0x1c85: 0x344, 0x1c86: 0x345, 0x1c87: 0x346,\n\t0x1c88: 0x347, 0x1c89: 0x348, 0x1c8a: 0x349, 0x1c8b: 0x34a, 0x1c8c: 0x34b, 0x1c8d: 0x34c, 0x1c8e: 0x34d, 0x1c8f: 0x34e,\n\t0x1c90: 0x34f, 0x1c91: 0x350, 0x1c92: 0x351, 0x1c93: 0x352, 0x1c94: 0x353, 0x1c95: 0x354, 0x1c96: 0x355, 0x1c97: 0x356,\n\t0x1c98: 0x357, 0x1c99: 0x358, 0x1c9a: 0x359, 0x1c9b: 0x35a, 0x1c9c: 0x35b, 0x1c9d: 0x35c, 0x1c9e: 0x35d, 0x1c9f: 0x35e,\n\t0x1ca0: 0x35f, 0x1ca1: 0x360, 0x1ca2: 0x361, 0x1ca3: 0x362, 0x1ca4: 0x363, 0x1ca5: 0x364, 0x1ca6: 0x365, 0x1ca7: 0x366,\n\t0x1ca8: 0x367, 0x1ca9: 0x368, 0x1caa: 0x369, 0x1cab: 0x36a, 0x1cac: 0x36b, 0x1cad: 0x36c, 0x1cae: 0x36d, 0x1caf: 0x36e,\n\t0x1cb0: 0x36f, 0x1cb1: 0x370, 0x1cb2: 0x371, 0x1cb3: 0x372, 0x1cb4: 0x373, 0x1cb5: 0x374, 0x1cb6: 0x375, 0x1cb7: 0x376,\n\t0x1cb8: 0x377, 0x1cb9: 0x378, 0x1cba: 0x379, 0x1cbc: 0x37a, 0x1cbd: 0x37b, 0x1cbe: 0x37c, 0x1cbf: 0x37d,\n\t// Block 0x73, offset 0x1cc0\n\t0x1cc0: 0x37e, 0x1cc1: 0x37f, 0x1cc2: 0x380, 0x1cc3: 0x381, 0x1cc4: 0x382, 0x1cc5: 0x383, 0x1cc6: 0x384, 0x1cc7: 0x385,\n\t0x1cc8: 0x386, 0x1cc9: 0x387, 0x1cca: 0x388, 0x1ccb: 0x389, 0x1ccc: 0x38a, 0x1ccd: 0x38b, 0x1cce: 0x38c, 0x1ccf: 0x38d,\n\t0x1cd0: 0x38e, 0x1cd1: 0x38f, 0x1cd2: 0x390, 0x1cd3: 0x391, 0x1cd4: 0x392, 0x1cd5: 0x393, 0x1cd6: 0x394, 0x1cd7: 0x395,\n\t0x1cd8: 0x396, 0x1cd9: 0x397, 0x1cda: 0x398, 0x1cdb: 0x399, 0x1cdc: 0x39a, 0x1cdd: 0x39b, 0x1cde: 0x39c, 0x1cdf: 0x39d,\n\t0x1ce0: 0x39e, 0x1ce1: 0x39f, 0x1ce2: 0x3a0, 0x1ce3: 0x3a1, 0x1ce4: 0x3a2, 0x1ce5: 0x3a3, 0x1ce6: 0x3a4, 0x1ce7: 0x3a5,\n\t0x1ce8: 0x3a6, 0x1ce9: 0x3a7, 0x1cea: 0x3a8, 0x1ceb: 0x3a9, 0x1cec: 0x3aa, 0x1ced: 0x3ab, 0x1cee: 0x3ac,\n\t0x1cf0: 0x3ad, 0x1cf1: 0x3ae, 0x1cf2: 0x3af, 0x1cf3: 0x3b0, 0x1cf4: 0x3b1, 0x1cf5: 0x3b2, 0x1cf6: 0x3b3, 0x1cf7: 0x3b4,\n\t0x1cf8: 0x3b5, 0x1cf9: 0x3b6, 0x1cfa: 0x3b7, 0x1cfb: 0x3b8, 0x1cfc: 0x3b9, 0x1cfd: 0x3ba, 0x1cfe: 0x3bb, 0x1cff: 0x3bc,\n\t// Block 0x74, offset 0x1d00\n\t0x1d00: 0x3bd, 0x1d01: 0x3be, 0x1d02: 0x3bf, 0x1d03: 0x3c0, 0x1d04: 0x3c1, 0x1d05: 0x3c2, 0x1d06: 0x3c3, 0x1d07: 0x3c4,\n\t0x1d08: 0x3c5, 0x1d09: 0x3c6, 0x1d0a: 0x3c7, 0x1d0b: 0x3c8, 0x1d0c: 0x3c9, 0x1d0d: 0x3ca, 0x1d0e: 0x3cb, 0x1d0f: 0x3cc,\n\t0x1d10: 0x3cd, 0x1d11: 0x3ce, 0x1d12: 0x3cf, 0x1d15: 0x3d0, 0x1d16: 0x3d1, 0x1d17: 0x3d2,\n\t0x1d18: 0x3d3, 0x1d19: 0x3d4, 0x1d1a: 0x3d5, 0x1d1b: 0x3d6, 0x1d1c: 0x3d7, 0x1d1d: 0x3d8, 0x1d1e: 0x3d9, 0x1d1f: 0x3da,\n\t0x1d20: 0x3db, 0x1d21: 0x3dc, 0x1d22: 0x3dd, 0x1d23: 0x3de, 0x1d24: 0x3df, 0x1d25: 0x3e0, 0x1d26: 0x3e1, 0x1d27: 0x3e2,\n\t0x1d28: 0x3e3, 0x1d29: 0x3e4, 0x1d2a: 0x3e5, 0x1d2b: 0x3e6, 0x1d2c: 0x3e7, 0x1d2d: 0x3e8, 0x1d2e: 0x3e9, 0x1d2f: 0x3ea,\n\t0x1d30: 0x3eb, 0x1d31: 0x3ec, 0x1d33: 0x3ed, 0x1d34: 0x3ee, 0x1d35: 0x3ef, 0x1d36: 0x3f0, 0x1d37: 0x3f1,\n\t0x1d38: 0x3f2, 0x1d39: 0x3f3, 0x1d3a: 0x3f4, 0x1d3b: 0x3f5, 0x1d3c: 0x3f6, 0x1d3d: 0x3f7, 0x1d3e: 0x3f8,\n\t// Block 0x75, offset 0x1d40\n\t0x1d64: 0x3f9, 0x1d65: 0x3fa, 0x1d66: 0x3fb, 0x1d67: 0x3fc,\n\t0x1d68: 0x3fd, 0x1d69: 0x3fe, 0x1d6a: 0x3ff, 0x1d6b: 0x400, 0x1d6c: 0x103, 0x1d6d: 0x104, 0x1d6e: 0x105, 0x1d6f: 0x106,\n\t0x1d70: 0x107, 0x1d71: 0x108, 0x1d72: 0x109, 0x1d73: 0x10a, 0x1d74: 0x10b, 0x1d75: 0x10c, 0x1d76: 0x10d, 0x1d77: 0x10e,\n\t0x1d78: 0x10f, 0x1d79: 0x110, 0x1d7a: 0x111, 0x1d7b: 0x112, 0x1d7c: 0x401, 0x1d7d: 0x402, 0x1d7e: 0x403, 0x1d7f: 0x404,\n\t// Block 0x76, offset 0x1d80\n\t0x1d80: 0x18b, 0x1d81: 0x18c, 0x1d82: 0x18d, 0x1d83: 0x18e, 0x1d84: 0x18f, 0x1d85: 0x190, 0x1d86: 0x191, 0x1d87: 0x192,\n\t0x1d88: 0x193, 0x1d89: 0x405, 0x1d8c: 0x195, 0x1d8d: 0x196, 0x1d8e: 0x197, 0x1d8f: 0x198,\n\t0x1d90: 0x199, 0x1d91: 0x19a, 0x1d92: 0x19b, 0x1d93: 0x19c, 0x1d94: 0x19d, 0x1d95: 0x19e, 0x1d97: 0x19f,\n\t0x1d98: 0x1a0, 0x1d99: 0x1a1, 0x1d9a: 0x1a2, 0x1d9b: 0x1a3, 0x1d9c: 0x1a4, 0x1d9d: 0x1a5,\n\t// Block 0x77, offset 0x1dc0\n\t0x1de0: 0x406, 0x1de1: 0x407, 0x1de2: 0x408, 0x1de3: 0x409, 0x1de4: 0x40a, 0x1de5: 0x40b, 0x1de6: 0x40c, 0x1de7: 0x40d,\n\t0x1de8: 0x40e,\n\t// Block 0x78, offset 0x1e00\n\t0x1e10: 0x09, 0x1e11: 0x0a, 0x1e12: 0x0b, 0x1e13: 0x0c, 0x1e16: 0x0d,\n\t0x1e1b: 0x0e, 0x1e1d: 0x0f, 0x1e1e: 0x10, 0x1e1f: 0x74,\n\t0x1e2f: 0x75,\n\t// Block 0x79, offset 0x1e40\n\t0x1e42: 0x01, 0x1e43: 0x02, 0x1e44: 0x03, 0x1e45: 0x04, 0x1e46: 0x05, 0x1e47: 0x06,\n\t0x1e48: 0x07, 0x1e49: 0x08, 0x1e4a: 0x09, 0x1e4b: 0x0a, 0x1e4c: 0x0b, 0x1e4d: 0x0c, 0x1e4e: 0x0d, 0x1e4f: 0x0e,\n\t0x1e50: 0x0f, 0x1e51: 0x10, 0x1e52: 0x11, 0x1e53: 0x12, 0x1e54: 0x13, 0x1e55: 0x14, 0x1e56: 0x15, 0x1e57: 0x16,\n\t0x1e58: 0x17, 0x1e59: 0x18, 0x1e5a: 0x19, 0x1e5b: 0x1a, 0x1e5c: 0x1b, 0x1e5d: 0x1c, 0x1e5e: 0x1d, 0x1e5f: 0x1e,\n\t0x1e60: 0x01, 0x1e61: 0x02, 0x1e62: 0x03, 0x1e63: 0x6c, 0x1e64: 0x6d, 0x1e65: 0x6e, 0x1e66: 0x6f, 0x1e67: 0x70,\n\t0x1e68: 0x71, 0x1e69: 0x72, 0x1e6a: 0x06, 0x1e6d: 0x07, 0x1e6f: 0x73,\n\t0x1e70: 0x76, 0x1e73: 0x15,\n\t// Block 0x7a, offset 0x1e80\n\t0x1e82: 0x01, 0x1e83: 0x02, 0x1e84: 0x03, 0x1e85: 0x04, 0x1e86: 0x05, 0x1e87: 0x06,\n\t0x1e88: 0x07, 0x1e89: 0x08, 0x1e8a: 0x09, 0x1e8b: 0x0a, 0x1e8c: 0x0b, 0x1e8d: 0x0c, 0x1e8e: 0x0d, 0x1e8f: 0x0e,\n\t0x1e90: 0x40f, 0x1e91: 0x410, 0x1e92: 0x411, 0x1e93: 0x12, 0x1e94: 0x13, 0x1e95: 0x14, 0x1e96: 0x15, 0x1e97: 0x16,\n\t0x1e98: 0x17, 0x1e99: 0x18, 0x1e9a: 0x19, 0x1e9b: 0x1a, 0x1e9c: 0x1b, 0x1e9d: 0x1c, 0x1e9e: 0x1d, 0x1e9f: 0x1e,\n\t0x1ea0: 0x01, 0x1ea1: 0x02, 0x1ea2: 0x03, 0x1ea3: 0x04, 0x1ea4: 0x05,\n\t0x1eaa: 0x06, 0x1ead: 0x07, 0x1eaf: 0x08,\n\t0x1eb0: 0x13, 0x1eb3: 0x15,\n\t// Block 0x7b, offset 0x1ec0\n\t0x1ec2: 0x01, 0x1ec3: 0x1f7, 0x1ec4: 0x414, 0x1ec5: 0x1f9, 0x1ec6: 0x05, 0x1ec7: 0x1fa,\n\t0x1ec8: 0x1fb, 0x1ec9: 0x08, 0x1eca: 0x09, 0x1ecb: 0x0a, 0x1ecc: 0x0b, 0x1ecd: 0x0c, 0x1ece: 0x0d, 0x1ecf: 0x0e,\n\t0x1ed0: 0x0f, 0x1ed1: 0x10, 0x1ed2: 0x11, 0x1ed3: 0x12, 0x1ed4: 0x13, 0x1ed5: 0x14, 0x1ed6: 0x15, 0x1ed7: 0x16,\n\t0x1ed8: 0x17, 0x1ed9: 0x18, 0x1eda: 0x19, 0x1edb: 0x1a, 0x1edc: 0x1b, 0x1edd: 0x1c, 0x1ede: 0x1d, 0x1edf: 0x1e,\n\t0x1ee0: 0x01, 0x1ee1: 0x2f, 0x1ee2: 0x30, 0x1ee3: 0x04, 0x1ee4: 0x05,\n\t0x1eea: 0x06, 0x1eed: 0x07, 0x1eef: 0x08,\n\t0x1ef0: 0x13, 0x1ef3: 0x15,\n\t// Block 0x7c, offset 0x1f00\n\t0x1f00: 0x3f, 0x1f01: 0x40, 0x1f02: 0x41, 0x1f03: 0x42, 0x1f04: 0x43, 0x1f05: 0x44, 0x1f06: 0x45, 0x1f07: 0x46,\n\t0x1f08: 0x47, 0x1f09: 0x48, 0x1f0a: 0x49, 0x1f0b: 0x4a, 0x1f0c: 0x4b, 0x1f0d: 0x4c, 0x1f0e: 0x4d, 0x1f0f: 0x4e,\n\t0x1f10: 0x4f, 0x1f11: 0x50, 0x1f12: 0x51, 0x1f13: 0x52, 0x1f14: 0x53, 0x1f15: 0x54, 0x1f16: 0x55, 0x1f17: 0x56,\n\t0x1f18: 0x57, 0x1f19: 0x58, 0x1f1a: 0x59, 0x1f1b: 0x5a, 0x1f1c: 0x5b, 0x1f1d: 0x5c, 0x1f1e: 0x415, 0x1f1f: 0x416,\n\t0x1f20: 0x5f, 0x1f21: 0x60, 0x1f22: 0x61, 0x1f23: 0x62, 0x1f24: 0x63, 0x1f25: 0x64, 0x1f26: 0x65, 0x1f27: 0x66,\n\t0x1f28: 0x67, 0x1f29: 0x68, 0x1f2a: 0x69, 0x1f2c: 0x6a, 0x1f2d: 0x6b, 0x1f2e: 0x6c, 0x1f2f: 0x6d,\n\t0x1f30: 0x6e, 0x1f31: 0x6f, 0x1f33: 0x70, 0x1f34: 0x71, 0x1f35: 0x72, 0x1f36: 0x73, 0x1f37: 0x74,\n\t0x1f38: 0x75, 0x1f39: 0x76, 0x1f3a: 0x77, 0x1f3b: 0x78, 0x1f3c: 0x79, 0x1f3d: 0x7a, 0x1f3e: 0x7b, 0x1f3f: 0x7c,\n\t// Block 0x7d, offset 0x1f40\n\t0x1f42: 0x01, 0x1f43: 0x02, 0x1f44: 0x03, 0x1f45: 0x04, 0x1f46: 0x05, 0x1f47: 0x06,\n\t0x1f48: 0x07, 0x1f49: 0x08, 0x1f4a: 0x09, 0x1f4b: 0x0a, 0x1f4c: 0x0b, 0x1f4d: 0x0c, 0x1f4e: 0x0d, 0x1f4f: 0x0e,\n\t0x1f50: 0x0f, 0x1f51: 0x10, 0x1f52: 0x11, 0x1f53: 0x12, 0x1f54: 0x13, 0x1f55: 0x14, 0x1f56: 0x15, 0x1f57: 0x16,\n\t0x1f58: 0x17, 0x1f59: 0x18, 0x1f5a: 0x19, 0x1f5b: 0x1a, 0x1f5c: 0x1b, 0x1f5d: 0x1c, 0x1f5e: 0x1d, 0x1f5f: 0x1e,\n\t0x1f60: 0x01, 0x1f61: 0x7a, 0x1f62: 0x03, 0x1f63: 0x04, 0x1f64: 0x05,\n\t0x1f6a: 0x06, 0x1f6d: 0x07, 0x1f6f: 0x08,\n\t0x1f70: 0x13, 0x1f73: 0x15,\n\t// Block 0x7e, offset 0x1f80\n\t0x1fa0: 0x1f, 0x1fa1: 0x20, 0x1fa2: 0x21, 0x1fa3: 0x22, 0x1fa4: 0x23, 0x1fa5: 0x24, 0x1fa6: 0x25, 0x1fa7: 0x26,\n\t0x1fa8: 0x27, 0x1fa9: 0x28, 0x1faa: 0x29, 0x1fab: 0x2a, 0x1fac: 0x2b, 0x1fad: 0x2c, 0x1fae: 0x2d, 0x1faf: 0x2e,\n\t0x1fb0: 0x2f, 0x1fb1: 0x30, 0x1fb2: 0x417, 0x1fb3: 0x418, 0x1fb4: 0x33, 0x1fb5: 0x34, 0x1fb6: 0x35, 0x1fb7: 0x36,\n\t0x1fb8: 0x37, 0x1fb9: 0x38, 0x1fba: 0x39, 0x1fbb: 0x3a, 0x1fbc: 0x3b, 0x1fbd: 0x3c, 0x1fbe: 0x3d, 0x1fbf: 0x3e,\n\t// Block 0x7f, offset 0x1fc0\n\t0x1fc2: 0x01, 0x1fc3: 0x02, 0x1fc4: 0x03, 0x1fc5: 0x04, 0x1fc6: 0x05, 0x1fc7: 0x06,\n\t0x1fc8: 0x07, 0x1fc9: 0x08, 0x1fca: 0x09, 0x1fcb: 0x0a, 0x1fcc: 0x0b, 0x1fcd: 0x0c, 0x1fce: 0x0d, 0x1fcf: 0x0e,\n\t0x1fd0: 0x0f, 0x1fd1: 0x10, 0x1fd2: 0x11, 0x1fd3: 0x12, 0x1fd4: 0x13, 0x1fd5: 0x14, 0x1fd6: 0x15, 0x1fd7: 0x16,\n\t0x1fd8: 0x17, 0x1fd9: 0x18, 0x1fda: 0x19, 0x1fdb: 0x1a, 0x1fdc: 0x1b, 0x1fdd: 0x1c, 0x1fde: 0x1d, 0x1fdf: 0x1e,\n\t0x1fe0: 0x7c, 0x1fe1: 0x02, 0x1fe2: 0x03, 0x1fe3: 0x04, 0x1fe4: 0x05,\n\t0x1fea: 0x06, 0x1fed: 0x07, 0x1fef: 0x08,\n\t0x1ff0: 0x13, 0x1ff3: 0x15,\n\t// Block 0x80, offset 0x2000\n\t0x2000: 0xba, 0x2001: 0xbb, 0x2002: 0xbc, 0x2003: 0xbd, 0x2004: 0xbe, 0x2005: 0xbf, 0x2006: 0xc0, 0x2007: 0xc1,\n\t0x2008: 0x419, 0x2009: 0x2b3, 0x200a: 0xc4, 0x200b: 0x2b4, 0x200c: 0xc6, 0x200d: 0x2b5, 0x200e: 0xc8, 0x200f: 0x2b6,\n\t// Block 0x81, offset 0x2040\n\t0x2077: 0xca,\n\t0x2078: 0x41a, 0x2079: 0x41b, 0x207a: 0x41c, 0x207b: 0x41d, 0x207c: 0x41e, 0x207d: 0x41f, 0x207e: 0x420, 0x207f: 0x421,\n\t// Block 0x82, offset 0x2080\n\t0x2080: 0x422, 0x2081: 0x423, 0x2082: 0x424, 0x2083: 0x425, 0x2084: 0x426, 0x2085: 0x427, 0x2086: 0x428, 0x2087: 0x429,\n\t0x2088: 0x42a, 0x2089: 0x42b, 0x208a: 0x42c, 0x208b: 0x42d, 0x208c: 0x42e, 0x208d: 0x42f, 0x208e: 0x430, 0x208f: 0x431,\n\t0x2090: 0x432, 0x2091: 0x433, 0x2092: 0x434, 0x2093: 0x435, 0x2094: 0x436, 0x2095: 0x437, 0x2096: 0x438, 0x2097: 0x439,\n\t0x2098: 0x43a, 0x2099: 0x43b, 0x209a: 0x43c, 0x209b: 0x43d, 0x209c: 0x43e, 0x209d: 0x43f, 0x209e: 0x440, 0x209f: 0x441,\n\t0x20a0: 0x442, 0x20a1: 0x443, 0x20a2: 0x444, 0x20a3: 0x445, 0x20a4: 0x446, 0x20a5: 0x447, 0x20a6: 0x448, 0x20a7: 0x449,\n\t0x20a8: 0x44a, 0x20a9: 0x44b, 0x20aa: 0x44c, 0x20ab: 0x44d, 0x20ac: 0x44e, 0x20ad: 0x44f, 0x20ae: 0x450, 0x20af: 0x451,\n\t0x20b0: 0x452, 0x20b1: 0x453, 0x20b2: 0x454, 0x20b3: 0x455, 0x20b4: 0x456, 0x20b5: 0x457, 0x20b6: 0x458, 0x20b7: 0x459,\n\t0x20b8: 0x45a, 0x20b9: 0x45b, 0x20ba: 0x45c, 0x20bb: 0x45d, 0x20bc: 0x45e, 0x20bd: 0x45f, 0x20be: 0x460, 0x20bf: 0x461,\n\t// Block 0x83, offset 0x20c0\n\t0x20c0: 0x462, 0x20c1: 0x463, 0x20c2: 0x464, 0x20c3: 0x465, 0x20c4: 0x466, 0x20c5: 0x467, 0x20c6: 0x468, 0x20c7: 0x469,\n\t0x20c8: 0x46a, 0x20c9: 0x46b, 0x20ca: 0x46c, 0x20cb: 0x46d, 0x20cc: 0x46e, 0x20cd: 0x46f, 0x20ce: 0x470, 0x20cf: 0x471,\n\t0x20d0: 0x472, 0x20d1: 0x473, 0x20d2: 0x474, 0x20d3: 0x475, 0x20d4: 0x476, 0x20d5: 0x477, 0x20d6: 0x478, 0x20d7: 0x479,\n\t0x20d8: 0x47a, 0x20d9: 0x47b, 0x20da: 0x47c, 0x20db: 0x47d, 0x20dc: 0x47e, 0x20dd: 0x47f, 0x20de: 0x480, 0x20df: 0x481,\n\t0x20e0: 0x482, 0x20e1: 0x483, 0x20e2: 0x484, 0x20e3: 0x485, 0x20e4: 0x486, 0x20e5: 0x487, 0x20e6: 0x488, 0x20e7: 0x489,\n\t0x20e8: 0x48a, 0x20e9: 0x48b, 0x20ea: 0x48c, 0x20eb: 0x48d, 0x20ec: 0x48e, 0x20ed: 0x48f, 0x20ee: 0x490, 0x20ef: 0x491,\n\t0x20f0: 0x492, 0x20f1: 0x493, 0x20f2: 0x494, 0x20f3: 0x495, 0x20f4: 0x496, 0x20f5: 0x497, 0x20f6: 0x498, 0x20f7: 0x499,\n\t0x20f8: 0x49a, 0x20f9: 0x49b, 0x20fa: 0x49c, 0x20fb: 0x49d, 0x20fc: 0x49e, 0x20fd: 0x49f, 0x20fe: 0x4a0, 0x20ff: 0x4a1,\n\t// Block 0x84, offset 0x2100\n\t0x2100: 0x4a2, 0x2101: 0x4a3, 0x2102: 0x4a4, 0x2103: 0x4a5, 0x2104: 0x4a6, 0x2105: 0x4a7, 0x2106: 0x4a8, 0x2107: 0x4a9,\n\t0x2108: 0x4aa, 0x2109: 0x4ab, 0x210a: 0x4ac, 0x210b: 0x4ad, 0x210c: 0x4ae, 0x210d: 0x4af, 0x210e: 0x4b0, 0x210f: 0x4b1,\n\t0x2110: 0x4b2, 0x2111: 0x4b3, 0x2112: 0x4b4, 0x2113: 0x4b5, 0x2114: 0x4b6, 0x2115: 0x4b7, 0x2116: 0x4b8, 0x2117: 0x4b9,\n\t0x2118: 0x4ba, 0x2119: 0x4bb, 0x211a: 0x4bc, 0x211b: 0x4bd, 0x211c: 0x4be, 0x211d: 0x4bf, 0x211e: 0x4c0, 0x211f: 0x4c1,\n\t0x2120: 0x4c2, 0x2121: 0x4c3, 0x2122: 0x4c4, 0x2123: 0x4c5, 0x2124: 0x4c6, 0x2125: 0x4c7, 0x2126: 0x4c8, 0x2127: 0x4c9,\n\t0x2128: 0x4ca, 0x2129: 0x4cb, 0x212a: 0x4cc, 0x212b: 0x4cd, 0x212c: 0x4ce, 0x212d: 0x4cf, 0x212e: 0x4d0, 0x212f: 0x4d1,\n\t0x2130: 0x4d2, 0x2131: 0x4d3, 0x2132: 0x4d4, 0x2133: 0x4d5, 0x2134: 0x4d6, 0x2135: 0x4d7, 0x2136: 0x4d8, 0x2137: 0x4d9,\n\t0x2138: 0x4da, 0x2139: 0x4db, 0x213a: 0x4dc, 0x213c: 0x4dd, 0x213d: 0x4de, 0x213e: 0x4df, 0x213f: 0x4e0,\n\t// Block 0x85, offset 0x2140\n\t0x2140: 0x4e1, 0x2141: 0x4e2, 0x2142: 0x4e3, 0x2143: 0x4e4, 0x2144: 0x4e5, 0x2145: 0x4e6, 0x2146: 0x4e7, 0x2147: 0x4e8,\n\t0x2148: 0x4e9, 0x2149: 0x4ea, 0x214a: 0x4eb, 0x214b: 0x4ec, 0x214c: 0x4ed, 0x214d: 0x4ee, 0x214e: 0x4ef, 0x214f: 0x4f0,\n\t0x2150: 0x4f1, 0x2151: 0x4f2, 0x2152: 0x4f3, 0x2153: 0x4f4, 0x2154: 0x4f5, 0x2155: 0x4f6, 0x2156: 0x4f7, 0x2157: 0x4f8,\n\t0x2158: 0x4f9, 0x2159: 0x4fa, 0x215a: 0x4fb, 0x215b: 0x4fc, 0x215c: 0x4fd, 0x215d: 0x4fe, 0x215e: 0x4ff, 0x215f: 0x500,\n\t0x2160: 0x501, 0x2161: 0x502, 0x2162: 0x503, 0x2163: 0x504, 0x2164: 0x505, 0x2165: 0x506, 0x2166: 0x507, 0x2167: 0x508,\n\t0x2168: 0x509, 0x2169: 0x50a, 0x216a: 0x50b, 0x216b: 0x50c, 0x216c: 0x50d, 0x216d: 0x50e, 0x216e: 0x50f,\n\t0x2170: 0x510, 0x2171: 0x511, 0x2172: 0x512, 0x2173: 0x513, 0x2174: 0x514, 0x2175: 0x515, 0x2176: 0x516, 0x2177: 0x517,\n\t0x2178: 0x518, 0x2179: 0x519, 0x217a: 0x51a, 0x217b: 0x51b, 0x217c: 0x51c, 0x217d: 0x51d, 0x217e: 0x51e, 0x217f: 0x51f,\n\t// Block 0x86, offset 0x2180\n\t0x2180: 0x520, 0x2181: 0x521, 0x2182: 0x522, 0x2183: 0x523, 0x2184: 0x524, 0x2185: 0x525, 0x2186: 0x526, 0x2187: 0x527,\n\t0x2188: 0x528, 0x2189: 0x529, 0x218a: 0x52a, 0x218b: 0x52b, 0x218c: 0x52c, 0x218d: 0x52d, 0x218e: 0x52e, 0x218f: 0x52f,\n\t0x2190: 0x530, 0x2191: 0x531, 0x2195: 0x532, 0x2196: 0x533, 0x2197: 0x534,\n\t0x2198: 0x535, 0x2199: 0x536, 0x219a: 0x537, 0x219b: 0x538, 0x219c: 0x539, 0x219d: 0x53a, 0x219e: 0x53b, 0x219f: 0x53c,\n\t0x21a0: 0x53d, 0x21a1: 0x53e, 0x21a2: 0x53f, 0x21a3: 0x540, 0x21a4: 0x541, 0x21a5: 0x542, 0x21a6: 0x543, 0x21a7: 0x544,\n\t0x21a8: 0x545, 0x21a9: 0x546, 0x21aa: 0x547, 0x21ab: 0x548, 0x21ac: 0x549, 0x21ad: 0x54a, 0x21ae: 0x54b, 0x21af: 0x54c,\n\t0x21b0: 0x54d, 0x21b1: 0x54e, 0x21b3: 0x54f, 0x21b4: 0x550, 0x21b5: 0x551, 0x21b6: 0x552, 0x21b7: 0x553,\n\t0x21b8: 0x554, 0x21b9: 0x555, 0x21ba: 0x556, 0x21bb: 0x557, 0x21bc: 0x558, 0x21bd: 0x559, 0x21be: 0x55a,\n\t// Block 0x87, offset 0x21c0\n\t0x21e4: 0x55b, 0x21e5: 0x55c, 0x21e6: 0x55d, 0x21e7: 0x55e,\n\t0x21e8: 0x55f, 0x21e9: 0x560, 0x21ea: 0x561, 0x21eb: 0x562, 0x21ec: 0x103, 0x21ed: 0x104, 0x21ee: 0x105, 0x21ef: 0x106,\n\t0x21f0: 0x107, 0x21f1: 0x108, 0x21f2: 0x109, 0x21f3: 0x10a, 0x21f4: 0x10b, 0x21f5: 0x10c, 0x21f6: 0x10d, 0x21f7: 0x10e,\n\t0x21f8: 0x10f, 0x21f9: 0x110, 0x21fa: 0x111, 0x21fb: 0x112, 0x21fc: 0x113, 0x21fd: 0x114, 0x21fe: 0x115, 0x21ff: 0x116,\n\t// Block 0x88, offset 0x2200\n\t0x2200: 0x18b, 0x2201: 0x18c, 0x2202: 0x18d, 0x2203: 0x18e, 0x2204: 0x18f, 0x2205: 0x190, 0x2206: 0x191, 0x2207: 0x192,\n\t0x2208: 0x193, 0x2209: 0x563, 0x220c: 0x195, 0x220d: 0x196, 0x220e: 0x197, 0x220f: 0x198,\n\t0x2210: 0x199, 0x2211: 0x19a, 0x2212: 0x19b, 0x2213: 0x19c, 0x2214: 0x19d, 0x2215: 0x19e, 0x2217: 0x19f,\n\t0x2218: 0x1a0, 0x2219: 0x1a1, 0x221a: 0x1a2, 0x221b: 0x1a3, 0x221c: 0x1a4, 0x221d: 0x1a5,\n\t// Block 0x89, offset 0x2240\n\t0x2260: 0x564, 0x2261: 0x565, 0x2262: 0x566, 0x2263: 0x567, 0x2264: 0x568, 0x2265: 0x569, 0x2266: 0x56a, 0x2267: 0x56b,\n\t0x2268: 0x56c,\n\t// Block 0x8a, offset 0x2280\n\t0x2290: 0x09, 0x2291: 0x0a, 0x2292: 0x0b, 0x2293: 0x0c, 0x2296: 0x0d,\n\t0x229b: 0x0e, 0x229d: 0x0f, 0x229e: 0x10, 0x229f: 0x86,\n\t0x22af: 0x87,\n\t// Block 0x8b, offset 0x22c0\n\t0x22c2: 0x01, 0x22c3: 0x02, 0x22c4: 0x03, 0x22c5: 0x04, 0x22c6: 0x05, 0x22c7: 0x06,\n\t0x22c8: 0x07, 0x22c9: 0x08, 0x22ca: 0x09, 0x22cb: 0x0a, 0x22cc: 0x0b, 0x22cd: 0x0c, 0x22ce: 0x0d, 0x22cf: 0x0e,\n\t0x22d0: 0x0f, 0x22d1: 0x10, 0x22d2: 0x11, 0x22d3: 0x12, 0x22d4: 0x13, 0x22d5: 0x14, 0x22d6: 0x15, 0x22d7: 0x16,\n\t0x22d8: 0x17, 0x22d9: 0x18, 0x22da: 0x19, 0x22db: 0x1a, 0x22dc: 0x1b, 0x22dd: 0x1c, 0x22de: 0x1d, 0x22df: 0x1e,\n\t0x22e0: 0x01, 0x22e1: 0x02, 0x22e2: 0x03, 0x22e3: 0x7e, 0x22e4: 0x7f, 0x22e5: 0x80, 0x22e6: 0x81, 0x22e7: 0x82,\n\t0x22e8: 0x83, 0x22e9: 0x84, 0x22ea: 0x06, 0x22ed: 0x07, 0x22ef: 0x85,\n\t0x22f0: 0x88, 0x22f3: 0x15,\n\t// Block 0x8c, offset 0x2300\n\t0x2320: 0x1f, 0x2321: 0x20, 0x2322: 0x21, 0x2323: 0x22, 0x2324: 0x56d, 0x2325: 0x24, 0x2326: 0x25, 0x2327: 0x26,\n\t0x2328: 0x27, 0x2329: 0x28, 0x232a: 0x29, 0x232b: 0x2a, 0x232c: 0x2b, 0x232d: 0x2c, 0x232e: 0x2d, 0x232f: 0x2e,\n\t0x2330: 0x2f, 0x2331: 0x30, 0x2332: 0x31, 0x2333: 0x32, 0x2334: 0x33, 0x2335: 0x34, 0x2336: 0x35, 0x2337: 0x36,\n\t0x2338: 0x37, 0x2339: 0x38, 0x233a: 0x39, 0x233b: 0x3a, 0x233c: 0x3b, 0x233d: 0x3c, 0x233e: 0x3d, 0x233f: 0x3e,\n\t// Block 0x8d, offset 0x2340\n\t0x2342: 0x01, 0x2343: 0x02, 0x2344: 0x03, 0x2345: 0x04, 0x2346: 0x05, 0x2347: 0x06,\n\t0x2348: 0x07, 0x2349: 0x08, 0x234a: 0x09, 0x234b: 0x0a, 0x234c: 0x0b, 0x234d: 0x0c, 0x234e: 0x0d, 0x234f: 0x0e,\n\t0x2350: 0x0f, 0x2351: 0x10, 0x2352: 0x11, 0x2353: 0x12, 0x2354: 0x13, 0x2355: 0x14, 0x2356: 0x15, 0x2357: 0x16,\n\t0x2358: 0x17, 0x2359: 0x18, 0x235a: 0x19, 0x235b: 0x1a, 0x235c: 0x1b, 0x235d: 0x1c, 0x235e: 0x1d, 0x235f: 0x1e,\n\t0x2360: 0x8a, 0x2361: 0x02, 0x2362: 0x03, 0x2363: 0x04, 0x2364: 0x05,\n\t0x236a: 0x06, 0x236d: 0x07, 0x236f: 0x08,\n\t0x2370: 0x13, 0x2373: 0x15,\n\t// Block 0x8e, offset 0x2380\n\t0x2382: 0x01, 0x2383: 0x02, 0x2384: 0x03, 0x2385: 0x04, 0x2386: 0x570, 0x2387: 0x06,\n\t0x2388: 0x07, 0x2389: 0x571, 0x238a: 0x09, 0x238b: 0x0a, 0x238c: 0x0b, 0x238d: 0x0c, 0x238e: 0x0d, 0x238f: 0x0e,\n\t0x2390: 0x0f, 0x2391: 0x10, 0x2392: 0x11, 0x2393: 0x12, 0x2394: 0x13, 0x2395: 0x14, 0x2396: 0x15, 0x2397: 0x16,\n\t0x2398: 0x17, 0x2399: 0x18, 0x239a: 0x19, 0x239b: 0x1a, 0x239c: 0x1b, 0x239d: 0x1c, 0x239e: 0x1d, 0x239f: 0x1e,\n\t0x23a0: 0x01, 0x23a1: 0x02, 0x23a2: 0x03, 0x23a3: 0x04, 0x23a4: 0x05,\n\t0x23aa: 0x06, 0x23ad: 0x07, 0x23af: 0x08,\n\t0x23b0: 0x13, 0x23b3: 0x15,\n\t// Block 0x8f, offset 0x23c0\n\t0x23c0: 0x3f, 0x23c1: 0x40, 0x23c2: 0x41, 0x23c3: 0x42, 0x23c4: 0x43, 0x23c5: 0x44, 0x23c6: 0x45, 0x23c7: 0x46,\n\t0x23c8: 0x47, 0x23c9: 0x48, 0x23ca: 0x49, 0x23cb: 0x4a, 0x23cc: 0x4b, 0x23cd: 0x4c, 0x23ce: 0x4d, 0x23cf: 0x4e,\n\t0x23d0: 0x4f, 0x23d1: 0x50, 0x23d2: 0x51, 0x23d3: 0x52, 0x23d4: 0x53, 0x23d5: 0x54, 0x23d6: 0x55, 0x23d7: 0x56,\n\t0x23d8: 0x57, 0x23d9: 0x58, 0x23da: 0x59, 0x23db: 0x5a, 0x23dc: 0x5b, 0x23dd: 0x5c, 0x23de: 0x5d, 0x23df: 0x5e,\n\t0x23e0: 0x5f, 0x23e1: 0x60, 0x23e2: 0x61, 0x23e3: 0x62, 0x23e4: 0x63, 0x23e5: 0x64, 0x23e6: 0x65, 0x23e7: 0x66,\n\t0x23e8: 0x67, 0x23e9: 0x68, 0x23ea: 0x69, 0x23ec: 0x6a, 0x23ed: 0x6b, 0x23ee: 0x6c, 0x23ef: 0x6d,\n\t0x23f0: 0x6e, 0x23f1: 0x6f, 0x23f3: 0x70, 0x23f4: 0x71, 0x23f5: 0x72, 0x23f6: 0x73, 0x23f7: 0x74,\n\t0x23f8: 0x75, 0x23f9: 0x57a, 0x23fa: 0x57b, 0x23fb: 0x57c, 0x23fc: 0x79, 0x23fd: 0x7a, 0x23fe: 0x7b, 0x23ff: 0x7c,\n\t// Block 0x90, offset 0x2400\n\t0x2400: 0x7d, 0x2401: 0x7e, 0x2402: 0x7f, 0x2403: 0x80, 0x2404: 0x81, 0x2405: 0x82, 0x2406: 0x83, 0x2407: 0x84,\n\t0x2408: 0x85, 0x2409: 0x86, 0x240a: 0x87, 0x240b: 0x88, 0x240c: 0x89, 0x240d: 0x8a, 0x240e: 0x8b, 0x240f: 0x8c,\n\t0x2410: 0x8d, 0x2411: 0x8e, 0x2412: 0x57d, 0x2413: 0x90, 0x2414: 0x91, 0x2415: 0x92, 0x2416: 0x93, 0x2417: 0x94,\n\t0x2418: 0x95, 0x2419: 0x96, 0x241a: 0x97, 0x241b: 0x98, 0x241c: 0x99, 0x241d: 0x9a, 0x241e: 0x9b, 0x241f: 0x9c,\n\t0x2420: 0x9d, 0x2421: 0x9e, 0x2422: 0x9f, 0x2423: 0xa0, 0x2424: 0xa1, 0x2425: 0xa2, 0x2426: 0xa3, 0x2427: 0xa4,\n\t0x2428: 0xa5, 0x2429: 0xa6, 0x242a: 0xa7, 0x242b: 0xa8, 0x242c: 0xa9, 0x242d: 0xaa,\n\t0x2430: 0xab, 0x2431: 0xac, 0x2432: 0xad, 0x2433: 0xae, 0x2434: 0xaf, 0x2435: 0xb0, 0x2436: 0xb1, 0x2437: 0xb2,\n\t0x2438: 0xb3, 0x243a: 0xb4, 0x243b: 0xb5, 0x243c: 0xb6, 0x243d: 0xb7, 0x243e: 0xb8, 0x243f: 0xb9,\n\t// Block 0x91, offset 0x2440\n\t0x2440: 0xba, 0x2441: 0xbb, 0x2442: 0xbc, 0x2443: 0xbd, 0x2444: 0xbe, 0x2445: 0xbf, 0x2446: 0xc0, 0x2447: 0xc1,\n\t0x2448: 0xc2, 0x2449: 0xc3, 0x244a: 0xc4, 0x244b: 0xc5, 0x244c: 0xc6, 0x244d: 0xc7, 0x244e: 0xc8, 0x244f: 0x57e,\n\t// Block 0x92, offset 0x2480\n\t0x2480: 0x18b, 0x2481: 0x18c, 0x2482: 0x18d, 0x2483: 0x18e, 0x2484: 0x57f, 0x2485: 0x190, 0x2486: 0x191, 0x2487: 0x192,\n\t0x2488: 0x193, 0x2489: 0x194, 0x248c: 0x195, 0x248d: 0x196, 0x248e: 0x197, 0x248f: 0x198,\n\t0x2490: 0x199, 0x2491: 0x19a, 0x2492: 0x19b, 0x2493: 0x19c, 0x2494: 0x19d, 0x2495: 0x19e, 0x2497: 0x19f,\n\t0x2498: 0x1a0, 0x2499: 0x1a1, 0x249a: 0x1a2, 0x249b: 0x1a3, 0x249c: 0x1a4, 0x249d: 0x1a5,\n\t// Block 0x93, offset 0x24c0\n\t0x24d0: 0x09, 0x24d1: 0x0a, 0x24d2: 0x0b, 0x24d3: 0x0c, 0x24d6: 0x0d,\n\t0x24db: 0x0e, 0x24dd: 0x0f, 0x24de: 0x10, 0x24df: 0x90,\n\t0x24ef: 0x12,\n\t// Block 0x94, offset 0x2500\n\t0x2502: 0x01, 0x2503: 0x574, 0x2504: 0x575, 0x2505: 0x576, 0x2506: 0x05, 0x2507: 0x577,\n\t0x2508: 0x578, 0x2509: 0x08, 0x250a: 0x09, 0x250b: 0x0a, 0x250c: 0x579, 0x250d: 0x0c, 0x250e: 0x0d, 0x250f: 0x0e,\n\t0x2510: 0x0f, 0x2511: 0x10, 0x2512: 0x11, 0x2513: 0x12, 0x2514: 0x13, 0x2515: 0x14, 0x2516: 0x15, 0x2517: 0x16,\n\t0x2518: 0x17, 0x2519: 0x18, 0x251a: 0x19, 0x251b: 0x1a, 0x251c: 0x1b, 0x251d: 0x1c, 0x251e: 0x1d, 0x251f: 0x1e,\n\t0x2520: 0x01, 0x2521: 0x8d, 0x2522: 0x8e, 0x2523: 0x8f, 0x2524: 0x05,\n\t0x252a: 0x06, 0x252d: 0x07, 0x252f: 0x08,\n\t0x2530: 0x91, 0x2533: 0x15,\n\t// Block 0x95, offset 0x2540\n\t0x2540: 0x3f, 0x2541: 0x40, 0x2542: 0x41, 0x2543: 0x42, 0x2544: 0x43, 0x2545: 0x44, 0x2546: 0x45, 0x2547: 0x46,\n\t0x2548: 0x47, 0x2549: 0x48, 0x254a: 0x49, 0x254b: 0x4a, 0x254c: 0x4b, 0x254d: 0x4c, 0x254e: 0x4d, 0x254f: 0x4e,\n\t0x2550: 0x4f, 0x2551: 0x50, 0x2552: 0x51, 0x2553: 0x52, 0x2554: 0x53, 0x2555: 0x54, 0x2556: 0x55, 0x2557: 0x56,\n\t0x2558: 0x57, 0x2559: 0x58, 0x255a: 0x59, 0x255b: 0x5a, 0x255c: 0x5b, 0x255d: 0x5c, 0x255e: 0x5d, 0x255f: 0x5e,\n\t0x2560: 0x5f, 0x2561: 0x60, 0x2562: 0x61, 0x2563: 0x62, 0x2564: 0x63, 0x2565: 0x64, 0x2566: 0x65, 0x2567: 0x66,\n\t0x2568: 0x67, 0x2569: 0x68, 0x256a: 0x69, 0x256c: 0x6a, 0x256d: 0x6b, 0x256e: 0x6c, 0x256f: 0x6d,\n\t0x2570: 0x6e, 0x2571: 0x6f, 0x2573: 0x70, 0x2574: 0x71, 0x2575: 0x72, 0x2576: 0x73, 0x2577: 0x74,\n\t0x2578: 0x75, 0x2579: 0x584, 0x257a: 0x77, 0x257b: 0x78, 0x257c: 0x79, 0x257d: 0x7a, 0x257e: 0x7b, 0x257f: 0x7c,\n\t// Block 0x96, offset 0x2580\n\t0x2582: 0x01, 0x2583: 0x02, 0x2584: 0x582, 0x2585: 0x583, 0x2586: 0x05, 0x2587: 0x06,\n\t0x2588: 0x07, 0x2589: 0x08, 0x258a: 0x09, 0x258b: 0x0a, 0x258c: 0x0b, 0x258d: 0x0c, 0x258e: 0x0d, 0x258f: 0x0e,\n\t0x2590: 0x0f, 0x2591: 0x10, 0x2592: 0x11, 0x2593: 0x12, 0x2594: 0x13, 0x2595: 0x14, 0x2596: 0x15, 0x2597: 0x16,\n\t0x2598: 0x17, 0x2599: 0x18, 0x259a: 0x19, 0x259b: 0x1a, 0x259c: 0x1b, 0x259d: 0x1c, 0x259e: 0x1d, 0x259f: 0x1e,\n\t0x25a0: 0x01, 0x25a1: 0x93, 0x25a2: 0x03, 0x25a3: 0x04, 0x25a4: 0x05,\n\t0x25aa: 0x06, 0x25ad: 0x07, 0x25af: 0x08,\n\t0x25b0: 0x13, 0x25b3: 0x15,\n\t// Block 0x97, offset 0x25c0\n\t0x25e0: 0x1f, 0x25e1: 0x20, 0x25e2: 0x21, 0x25e3: 0x22, 0x25e4: 0x23, 0x25e5: 0x24, 0x25e6: 0x25, 0x25e7: 0x26,\n\t0x25e8: 0x27, 0x25e9: 0x28, 0x25ea: 0x29, 0x25eb: 0x2a, 0x25ec: 0x2b, 0x25ed: 0x2c, 0x25ee: 0x2d, 0x25ef: 0x2e,\n\t0x25f0: 0x2f, 0x25f1: 0x30, 0x25f2: 0x31, 0x25f3: 0x32, 0x25f4: 0x585, 0x25f5: 0x586, 0x25f6: 0x35, 0x25f7: 0x36,\n\t0x25f8: 0x37, 0x25f9: 0x38, 0x25fa: 0x39, 0x25fb: 0x3a, 0x25fc: 0x3b, 0x25fd: 0x3c, 0x25fe: 0x3d, 0x25ff: 0x3e,\n\t// Block 0x98, offset 0x2600\n\t0x2602: 0x01, 0x2603: 0x02, 0x2604: 0x03, 0x2605: 0x04, 0x2606: 0x05, 0x2607: 0x06,\n\t0x2608: 0x07, 0x2609: 0x08, 0x260a: 0x09, 0x260b: 0x0a, 0x260c: 0x0b, 0x260d: 0x0c, 0x260e: 0x0d, 0x260f: 0x0e,\n\t0x2610: 0x0f, 0x2611: 0x10, 0x2612: 0x11, 0x2613: 0x12, 0x2614: 0x13, 0x2615: 0x14, 0x2616: 0x15, 0x2617: 0x16,\n\t0x2618: 0x17, 0x2619: 0x18, 0x261a: 0x19, 0x261b: 0x1a, 0x261c: 0x1b, 0x261d: 0x1c, 0x261e: 0x1d, 0x261f: 0x1e,\n\t0x2620: 0x95, 0x2621: 0x02, 0x2622: 0x03, 0x2623: 0x04, 0x2624: 0x05,\n\t0x262a: 0x06, 0x262d: 0x07, 0x262f: 0x08,\n\t0x2630: 0x13, 0x2633: 0x15,\n\t// Block 0x99, offset 0x2640\n\t0x2660: 0x1f, 0x2661: 0x20, 0x2662: 0x21, 0x2663: 0x22, 0x2664: 0x587, 0x2665: 0x24, 0x2666: 0x25, 0x2667: 0x26,\n\t0x2668: 0x27, 0x2669: 0x28, 0x266a: 0x29, 0x266b: 0x2a, 0x266c: 0x2b, 0x266d: 0x2c, 0x266e: 0x2d, 0x266f: 0x2e,\n\t0x2670: 0x2f, 0x2671: 0x30, 0x2672: 0x31, 0x2673: 0x32, 0x2674: 0x33, 0x2675: 0x34, 0x2676: 0x35, 0x2677: 0x36,\n\t0x2678: 0x37, 0x2679: 0x38, 0x267a: 0x39, 0x267b: 0x3a, 0x267c: 0x3b, 0x267d: 0x3c, 0x267e: 0x3d, 0x267f: 0x3e,\n\t// Block 0x9a, offset 0x2680\n\t0x2682: 0x01, 0x2683: 0x02, 0x2684: 0x03, 0x2685: 0x04, 0x2686: 0x05, 0x2687: 0x06,\n\t0x2688: 0x07, 0x2689: 0x08, 0x268a: 0x09, 0x268b: 0x0a, 0x268c: 0x0b, 0x268d: 0x0c, 0x268e: 0x0d, 0x268f: 0x0e,\n\t0x2690: 0x0f, 0x2691: 0x10, 0x2692: 0x11, 0x2693: 0x12, 0x2694: 0x13, 0x2695: 0x14, 0x2696: 0x15, 0x2697: 0x16,\n\t0x2698: 0x17, 0x2699: 0x18, 0x269a: 0x19, 0x269b: 0x1a, 0x269c: 0x1b, 0x269d: 0x1c, 0x269e: 0x1d, 0x269f: 0x1e,\n\t0x26a0: 0x97, 0x26a1: 0x02, 0x26a2: 0x03, 0x26a3: 0x04, 0x26a4: 0x05,\n\t0x26aa: 0x06, 0x26ad: 0x07, 0x26af: 0x08,\n\t0x26b0: 0x13, 0x26b3: 0x15,\n\t// Block 0x9b, offset 0x26c0\n\t0x26c0: 0x7d, 0x26c1: 0x7e, 0x26c2: 0x7f, 0x26c3: 0x80, 0x26c4: 0x58c, 0x26c5: 0x82, 0x26c6: 0x83, 0x26c7: 0x84,\n\t0x26c8: 0x85, 0x26c9: 0x86, 0x26ca: 0x87, 0x26cb: 0x88, 0x26cc: 0x89, 0x26cd: 0x8a, 0x26ce: 0x8b, 0x26cf: 0x8c,\n\t0x26d0: 0x8d, 0x26d1: 0x8e, 0x26d2: 0x8f, 0x26d3: 0x90, 0x26d4: 0x91, 0x26d5: 0x92, 0x26d6: 0x93, 0x26d7: 0x94,\n\t0x26d8: 0x95, 0x26d9: 0x96, 0x26da: 0x97, 0x26db: 0x98, 0x26dc: 0x99, 0x26dd: 0x9a, 0x26de: 0x9b, 0x26df: 0x9c,\n\t0x26e0: 0x9d, 0x26e1: 0x9e, 0x26e2: 0x9f, 0x26e3: 0xa0, 0x26e4: 0xa1, 0x26e5: 0xa2, 0x26e6: 0xa3, 0x26e7: 0xa4,\n\t0x26e8: 0xa5, 0x26e9: 0xa6, 0x26ea: 0xa7, 0x26eb: 0xa8, 0x26ec: 0xa9, 0x26ed: 0xaa,\n\t0x26f0: 0xab, 0x26f1: 0xac, 0x26f2: 0xad, 0x26f3: 0xae, 0x26f4: 0xaf, 0x26f5: 0xb0, 0x26f6: 0xb1, 0x26f7: 0xb2,\n\t0x26f8: 0xb3, 0x26fa: 0xb4, 0x26fb: 0xb5, 0x26fc: 0xb6, 0x26fd: 0xb7, 0x26fe: 0xb8, 0x26ff: 0xb9,\n\t// Block 0x9c, offset 0x2700\n\t0x2700: 0xcb, 0x2701: 0xcc, 0x2702: 0xcd, 0x2703: 0xce, 0x2704: 0xcf, 0x2705: 0xd0, 0x2706: 0xd1, 0x2707: 0xd2,\n\t0x2708: 0xd3, 0x2709: 0xd4, 0x270a: 0xd5, 0x270b: 0xd6, 0x270c: 0xd7, 0x270d: 0xd8, 0x270e: 0xd9, 0x270f: 0xda,\n\t0x2710: 0xdb, 0x2711: 0xdc, 0x2712: 0xdd, 0x2713: 0xde, 0x2714: 0xdf, 0x2715: 0xe0, 0x2716: 0xe1, 0x2717: 0xe2,\n\t0x2718: 0xe3, 0x2719: 0xe4, 0x271a: 0xe5, 0x271b: 0xe6, 0x271c: 0xe7, 0x271d: 0xe8, 0x271e: 0xe9, 0x271f: 0x58d,\n\t0x2720: 0xeb, 0x2721: 0xec, 0x2722: 0xed, 0x2723: 0xee, 0x2724: 0xef, 0x2725: 0xf0, 0x2726: 0xf1, 0x2727: 0xf2,\n\t0x2728: 0xf3, 0x2729: 0xf4, 0x272a: 0xf5, 0x272b: 0xf6, 0x272c: 0xf7, 0x272f: 0xf8,\n\t// Block 0x9d, offset 0x2740\n\t0x2742: 0x01, 0x2743: 0x02, 0x2744: 0x58a, 0x2745: 0x58b, 0x2746: 0x05, 0x2747: 0x06,\n\t0x2748: 0x07, 0x2749: 0x08, 0x274a: 0x09, 0x274b: 0x0a, 0x274c: 0x0b, 0x274d: 0x0c, 0x274e: 0x0d, 0x274f: 0x0e,\n\t0x2750: 0x0f, 0x2751: 0x10, 0x2752: 0x11, 0x2753: 0x12, 0x2754: 0x13, 0x2755: 0x14, 0x2756: 0x15, 0x2757: 0x16,\n\t0x2758: 0x17, 0x2759: 0x18, 0x275a: 0x19, 0x275b: 0x1a, 0x275c: 0x1b, 0x275d: 0x1c, 0x275e: 0x1d, 0x275f: 0x1e,\n\t0x2760: 0x01, 0x2761: 0x02, 0x2762: 0x99, 0x2763: 0x04, 0x2764: 0x05,\n\t0x276a: 0x9a, 0x276d: 0x07, 0x276f: 0x08,\n\t0x2770: 0x13, 0x2773: 0x15,\n\t// Block 0x9e, offset 0x2780\n\t0x2780: 0x58e, 0x2781: 0x58f, 0x2782: 0x590, 0x2783: 0x42, 0x2784: 0x43, 0x2785: 0x44, 0x2786: 0x45, 0x2787: 0x46,\n\t0x2788: 0x47, 0x2789: 0x48, 0x278a: 0x49, 0x278b: 0x4a, 0x278c: 0x4b, 0x278d: 0x4c, 0x278e: 0x4d, 0x278f: 0x4e,\n\t0x2790: 0x4f, 0x2791: 0x50, 0x2792: 0x51, 0x2793: 0x52, 0x2794: 0x53, 0x2795: 0x54, 0x2796: 0x55, 0x2797: 0x56,\n\t0x2798: 0x57, 0x2799: 0x58, 0x279a: 0x59, 0x279b: 0x5a, 0x279c: 0x5b, 0x279d: 0x5c, 0x279e: 0x5d, 0x279f: 0x5e,\n\t0x27a0: 0x5f, 0x27a1: 0x60, 0x27a2: 0x61, 0x27a3: 0x62, 0x27a4: 0x63, 0x27a5: 0x64, 0x27a6: 0x65, 0x27a7: 0x66,\n\t0x27a8: 0x67, 0x27a9: 0x68, 0x27aa: 0x69, 0x27ac: 0x6a, 0x27ad: 0x6b, 0x27ae: 0x6c, 0x27af: 0x6d,\n\t0x27b0: 0x6e, 0x27b1: 0x6f, 0x27b3: 0x70, 0x27b4: 0x71, 0x27b5: 0x72, 0x27b6: 0x73, 0x27b7: 0x74,\n\t0x27b8: 0x75, 0x27b9: 0x76, 0x27ba: 0x77, 0x27bb: 0x78, 0x27bc: 0x79, 0x27bd: 0x7a, 0x27be: 0x7b, 0x27bf: 0x7c,\n\t// Block 0x9f, offset 0x27c0\n\t0x27c2: 0x01, 0x27c3: 0x02, 0x27c4: 0x03, 0x27c5: 0x04, 0x27c6: 0x05, 0x27c7: 0x06,\n\t0x27c8: 0x07, 0x27c9: 0x08, 0x27ca: 0x09, 0x27cb: 0x0a, 0x27cc: 0x0b, 0x27cd: 0x0c, 0x27ce: 0x0d, 0x27cf: 0x0e,\n\t0x27d0: 0x0f, 0x27d1: 0x10, 0x27d2: 0x11, 0x27d3: 0x12, 0x27d4: 0x13, 0x27d5: 0x14, 0x27d6: 0x15, 0x27d7: 0x16,\n\t0x27d8: 0x17, 0x27d9: 0x18, 0x27da: 0x19, 0x27db: 0x1a, 0x27dc: 0x1b, 0x27dd: 0x1c, 0x27de: 0x1d, 0x27df: 0x1e,\n\t0x27e0: 0x01, 0x27e1: 0x9c, 0x27e2: 0x03, 0x27e3: 0x04, 0x27e4: 0x05,\n\t0x27ea: 0x06, 0x27ed: 0x07, 0x27ef: 0x08,\n\t0x27f0: 0x13, 0x27f3: 0x15,\n\t// Block 0xa0, offset 0x2800\n\t0x2800: 0x3f, 0x2801: 0x40, 0x2802: 0x41, 0x2803: 0x42, 0x2804: 0x43, 0x2805: 0x44, 0x2806: 0x45, 0x2807: 0x46,\n\t0x2808: 0x47, 0x2809: 0x48, 0x280a: 0x49, 0x280b: 0x4a, 0x280c: 0x4b, 0x280d: 0x4c, 0x280e: 0x4d, 0x280f: 0x4e,\n\t0x2810: 0x4f, 0x2811: 0x50, 0x2812: 0x51, 0x2813: 0x52, 0x2814: 0x53, 0x2815: 0x54, 0x2816: 0x55, 0x2817: 0x56,\n\t0x2818: 0x57, 0x2819: 0x58, 0x281a: 0x59, 0x281b: 0x5a, 0x281c: 0x5b, 0x281d: 0x5c, 0x281e: 0x5d, 0x281f: 0x5e,\n\t0x2820: 0x5f, 0x2821: 0x60, 0x2822: 0x61, 0x2823: 0x62, 0x2824: 0x63, 0x2825: 0x64, 0x2826: 0x65, 0x2827: 0x66,\n\t0x2828: 0x67, 0x2829: 0x68, 0x282a: 0x69, 0x282c: 0x6a, 0x282d: 0x6b, 0x282e: 0x6c, 0x282f: 0x6d,\n\t0x2830: 0x6e, 0x2831: 0x6f, 0x2833: 0x70, 0x2834: 0x71, 0x2835: 0x72, 0x2836: 0x73, 0x2837: 0x74,\n\t0x2838: 0x75, 0x2839: 0x1f2, 0x283a: 0x597, 0x283b: 0x598, 0x283c: 0x79, 0x283d: 0x7a, 0x283e: 0x7b, 0x283f: 0x7c,\n\t// Block 0xa1, offset 0x2840\n\t0x2842: 0x01, 0x2843: 0x595, 0x2844: 0x03, 0x2845: 0x596, 0x2846: 0x05, 0x2847: 0x06,\n\t0x2848: 0x07, 0x2849: 0x08, 0x284a: 0x09, 0x284b: 0x0a, 0x284c: 0x0b, 0x284d: 0x0c, 0x284e: 0x0d, 0x284f: 0x0e,\n\t0x2850: 0x0f, 0x2851: 0x10, 0x2852: 0x11, 0x2853: 0x12, 0x2854: 0x13, 0x2855: 0x14, 0x2856: 0x15, 0x2857: 0x16,\n\t0x2858: 0x17, 0x2859: 0x18, 0x285a: 0x19, 0x285b: 0x1a, 0x285c: 0x1b, 0x285d: 0x1c, 0x285e: 0x1d, 0x285f: 0x1e,\n\t0x2860: 0x01, 0x2861: 0x9e, 0x2862: 0x03, 0x2863: 0x04, 0x2864: 0x05,\n\t0x286a: 0x06, 0x286d: 0x07, 0x286f: 0x08,\n\t0x2870: 0x13, 0x2873: 0x15,\n\t// Block 0xa2, offset 0x2880\n\t0x28a0: 0x1f, 0x28a1: 0x20, 0x28a2: 0x21, 0x28a3: 0x22, 0x28a4: 0x23, 0x28a5: 0x24, 0x28a6: 0x25, 0x28a7: 0x26,\n\t0x28a8: 0x27, 0x28a9: 0x28, 0x28aa: 0x29, 0x28ab: 0x2a, 0x28ac: 0x59b, 0x28ad: 0x59c, 0x28ae: 0x2d, 0x28af: 0x2e,\n\t0x28b0: 0x2f, 0x28b1: 0x30, 0x28b2: 0x31, 0x28b3: 0x32, 0x28b4: 0x33, 0x28b5: 0x34, 0x28b6: 0x35, 0x28b7: 0x36,\n\t0x28b8: 0x37, 0x28b9: 0x38, 0x28ba: 0x39, 0x28bb: 0x3a, 0x28bc: 0x3b, 0x28bd: 0x3c, 0x28be: 0x3d, 0x28bf: 0x3e,\n\t// Block 0xa3, offset 0x28c0\n\t0x28c2: 0x01, 0x28c3: 0x02, 0x28c4: 0x03, 0x28c5: 0x04, 0x28c6: 0x05, 0x28c7: 0x06,\n\t0x28c8: 0x07, 0x28c9: 0x08, 0x28ca: 0x09, 0x28cb: 0x0a, 0x28cc: 0x0b, 0x28cd: 0x0c, 0x28ce: 0x0d, 0x28cf: 0x0e,\n\t0x28d0: 0x0f, 0x28d1: 0x10, 0x28d2: 0x11, 0x28d3: 0x12, 0x28d4: 0x13, 0x28d5: 0x14, 0x28d6: 0x15, 0x28d7: 0x16,\n\t0x28d8: 0x17, 0x28d9: 0x18, 0x28da: 0x19, 0x28db: 0x1a, 0x28dc: 0x1b, 0x28dd: 0x1c, 0x28de: 0x1d, 0x28df: 0x1e,\n\t0x28e0: 0xa0, 0x28e1: 0x02, 0x28e2: 0x03, 0x28e3: 0x04, 0x28e4: 0x05,\n\t0x28ea: 0x06, 0x28ed: 0x07, 0x28ef: 0x08,\n\t0x28f0: 0x13, 0x28f3: 0x15,\n\t// Block 0xa4, offset 0x2900\n\t0x2920: 0x1f, 0x2921: 0x20, 0x2922: 0x21, 0x2923: 0x22, 0x2924: 0x23, 0x2925: 0x24, 0x2926: 0x25, 0x2927: 0x26,\n\t0x2928: 0x59d, 0x2929: 0x59e, 0x292a: 0x29, 0x292b: 0x2a, 0x292c: 0x2b, 0x292d: 0x2c, 0x292e: 0x2d, 0x292f: 0x2e,\n\t0x2930: 0x2f, 0x2931: 0x30, 0x2932: 0x31, 0x2933: 0x32, 0x2934: 0x33, 0x2935: 0x34, 0x2936: 0x35, 0x2937: 0x36,\n\t0x2938: 0x37, 0x2939: 0x38, 0x293a: 0x39, 0x293b: 0x3a, 0x293c: 0x3b, 0x293d: 0x3c, 0x293e: 0x3d, 0x293f: 0x3e,\n\t// Block 0xa5, offset 0x2940\n\t0x2942: 0x01, 0x2943: 0x02, 0x2944: 0x03, 0x2945: 0x04, 0x2946: 0x05, 0x2947: 0x06,\n\t0x2948: 0x07, 0x2949: 0x08, 0x294a: 0x09, 0x294b: 0x0a, 0x294c: 0x0b, 0x294d: 0x0c, 0x294e: 0x0d, 0x294f: 0x0e,\n\t0x2950: 0x0f, 0x2951: 0x10, 0x2952: 0x11, 0x2953: 0x12, 0x2954: 0x13, 0x2955: 0x14, 0x2956: 0x15, 0x2957: 0x16,\n\t0x2958: 0x17, 0x2959: 0x18, 0x295a: 0x19, 0x295b: 0x1a, 0x295c: 0x1b, 0x295d: 0x1c, 0x295e: 0x1d, 0x295f: 0x1e,\n\t0x2960: 0xa2, 0x2961: 0x02, 0x2962: 0x03, 0x2963: 0x04, 0x2964: 0x05,\n\t0x296a: 0x06, 0x296d: 0x07, 0x296f: 0x08,\n\t0x2970: 0x13, 0x2973: 0x15,\n\t// Block 0xa6, offset 0x2980\n\t0x2980: 0x3f, 0x2981: 0x40, 0x2982: 0x41, 0x2983: 0x42, 0x2984: 0x43, 0x2985: 0x44, 0x2986: 0x45, 0x2987: 0x46,\n\t0x2988: 0x47, 0x2989: 0x48, 0x298a: 0x49, 0x298b: 0x4a, 0x298c: 0x4b, 0x298d: 0x4c, 0x298e: 0x4d, 0x298f: 0x4e,\n\t0x2990: 0x4f, 0x2991: 0x50, 0x2992: 0x51, 0x2993: 0x52, 0x2994: 0x53, 0x2995: 0x54, 0x2996: 0x55, 0x2997: 0x56,\n\t0x2998: 0x57, 0x2999: 0x58, 0x299a: 0x59, 0x299b: 0x5a, 0x299c: 0x5b, 0x299d: 0x5c, 0x299e: 0x5d, 0x299f: 0x5e,\n\t0x29a0: 0x5f, 0x29a1: 0x60, 0x29a2: 0x61, 0x29a3: 0x62, 0x29a4: 0x63, 0x29a5: 0x64, 0x29a6: 0x65, 0x29a7: 0x66,\n\t0x29a8: 0x67, 0x29a9: 0x68, 0x29aa: 0x69, 0x29ac: 0x6a, 0x29ad: 0x6b, 0x29ae: 0x6c, 0x29af: 0x6d,\n\t0x29b0: 0x6e, 0x29b1: 0x6f, 0x29b3: 0x70, 0x29b4: 0x71, 0x29b5: 0x72, 0x29b6: 0x73, 0x29b7: 0x74,\n\t0x29b8: 0x5a4, 0x29b9: 0x5a5, 0x29ba: 0x77, 0x29bb: 0x5a6, 0x29bc: 0x79, 0x29bd: 0x7a, 0x29be: 0x7b, 0x29bf: 0x7c,\n\t// Block 0xa7, offset 0x29c0\n\t0x29c2: 0x01, 0x29c3: 0x5a1, 0x29c4: 0x5a2, 0x29c5: 0x5a3, 0x29c6: 0x05, 0x29c7: 0x06,\n\t0x29c8: 0x07, 0x29c9: 0x08, 0x29ca: 0x09, 0x29cb: 0x0a, 0x29cc: 0x0b, 0x29cd: 0x0c, 0x29ce: 0x0d, 0x29cf: 0x0e,\n\t0x29d0: 0x0f, 0x29d1: 0x10, 0x29d2: 0x11, 0x29d3: 0x12, 0x29d4: 0x13, 0x29d5: 0x14, 0x29d6: 0x15, 0x29d7: 0x16,\n\t0x29d8: 0x17, 0x29d9: 0x18, 0x29da: 0x19, 0x29db: 0x1a, 0x29dc: 0x1b, 0x29dd: 0x1c, 0x29de: 0x1d, 0x29df: 0x1e,\n\t0x29e0: 0x01, 0x29e1: 0xa4, 0x29e2: 0x03, 0x29e3: 0x04, 0x29e4: 0x05,\n\t0x29ea: 0x06, 0x29ed: 0x07, 0x29ef: 0x08,\n\t0x29f0: 0x13, 0x29f3: 0x15,\n\t// Block 0xa8, offset 0x2a00\n\t0x2a00: 0x5ab, 0x2a01: 0x7e, 0x2a02: 0x7f, 0x2a03: 0x80, 0x2a04: 0x81, 0x2a05: 0x82, 0x2a06: 0x83, 0x2a07: 0x84,\n\t0x2a08: 0x85, 0x2a09: 0x86, 0x2a0a: 0x87, 0x2a0b: 0x88, 0x2a0c: 0x89, 0x2a0d: 0x8a, 0x2a0e: 0x8b, 0x2a0f: 0x8c,\n\t0x2a10: 0x8d, 0x2a11: 0x8e, 0x2a12: 0x8f, 0x2a13: 0x90, 0x2a14: 0x91, 0x2a15: 0x92, 0x2a16: 0x93, 0x2a17: 0x94,\n\t0x2a18: 0x95, 0x2a19: 0x96, 0x2a1a: 0x97, 0x2a1b: 0x98, 0x2a1c: 0x99, 0x2a1d: 0x9a, 0x2a1e: 0x9b, 0x2a1f: 0x9c,\n\t0x2a20: 0x9d, 0x2a21: 0x9e, 0x2a22: 0x9f, 0x2a23: 0xa0, 0x2a24: 0xa1, 0x2a25: 0xa2, 0x2a26: 0xa3, 0x2a27: 0xa4,\n\t0x2a28: 0xa5, 0x2a29: 0xa6, 0x2a2a: 0xa7, 0x2a2b: 0xa8, 0x2a2c: 0xa9, 0x2a2d: 0xaa,\n\t0x2a30: 0xab, 0x2a31: 0xac, 0x2a32: 0xad, 0x2a33: 0xae, 0x2a34: 0xaf, 0x2a35: 0xb0, 0x2a36: 0xb1, 0x2a37: 0xb2,\n\t0x2a38: 0xb3, 0x2a3a: 0xb4, 0x2a3b: 0xb5, 0x2a3c: 0xb6, 0x2a3d: 0xb7, 0x2a3e: 0xb8, 0x2a3f: 0xb9,\n\t// Block 0xa9, offset 0x2a40\n\t0x2a64: 0xfb, 0x2a65: 0xfc, 0x2a66: 0xfd, 0x2a67: 0xfe,\n\t0x2a68: 0xff, 0x2a69: 0x100, 0x2a6a: 0x101, 0x2a6b: 0x102, 0x2a6c: 0x103, 0x2a6d: 0x104, 0x2a6e: 0x252, 0x2a6f: 0x5ac,\n\t0x2a70: 0x253, 0x2a71: 0x5ad, 0x2a72: 0x5ae, 0x2a73: 0x5af, 0x2a74: 0x5b0, 0x2a75: 0x10c, 0x2a76: 0x10d, 0x2a77: 0x10e,\n\t0x2a78: 0x10f, 0x2a79: 0x110, 0x2a7a: 0x111, 0x2a7b: 0x112, 0x2a7c: 0x113, 0x2a7d: 0x114, 0x2a7e: 0x115, 0x2a7f: 0x116,\n\t// Block 0xaa, offset 0x2a80\n\t0x2a82: 0x01, 0x2a83: 0x02, 0x2a84: 0x03, 0x2a85: 0x04, 0x2a86: 0x05, 0x2a87: 0x06,\n\t0x2a88: 0x07, 0x2a89: 0x08, 0x2a8a: 0x09, 0x2a8b: 0x0a, 0x2a8c: 0x0b, 0x2a8d: 0x0c, 0x2a8e: 0x0d, 0x2a8f: 0x0e,\n\t0x2a90: 0x0f, 0x2a91: 0x10, 0x2a92: 0x11, 0x2a93: 0x12, 0x2a94: 0x13, 0x2a95: 0x14, 0x2a96: 0x15, 0x2a97: 0x16,\n\t0x2a98: 0x5a7, 0x2a99: 0x5a8, 0x2a9a: 0x5a9, 0x2a9b: 0x5aa, 0x2a9c: 0x1b, 0x2a9d: 0x1c, 0x2a9e: 0x1d, 0x2a9f: 0x1e,\n\t0x2aa0: 0x01, 0x2aa1: 0x02, 0x2aa2: 0xa6, 0x2aa3: 0x04, 0x2aa4: 0x05,\n\t0x2aaa: 0x06, 0x2aad: 0x07, 0x2aaf: 0xa7,\n\t0x2ab0: 0x13, 0x2ab3: 0x15,\n\t// Block 0xab, offset 0x2ac0\n\t0x2ac0: 0x3f, 0x2ac1: 0x40, 0x2ac2: 0x41, 0x2ac3: 0x42, 0x2ac4: 0x43, 0x2ac5: 0x44, 0x2ac6: 0x45, 0x2ac7: 0x46,\n\t0x2ac8: 0x47, 0x2ac9: 0x48, 0x2aca: 0x49, 0x2acb: 0x4a, 0x2acc: 0x4b, 0x2acd: 0x4c, 0x2ace: 0x4d, 0x2acf: 0x4e,\n\t0x2ad0: 0x4f, 0x2ad1: 0x50, 0x2ad2: 0x51, 0x2ad3: 0x52, 0x2ad4: 0x53, 0x2ad5: 0x54, 0x2ad6: 0x55, 0x2ad7: 0x56,\n\t0x2ad8: 0x57, 0x2ad9: 0x58, 0x2ada: 0x59, 0x2adb: 0x5a, 0x2adc: 0x5b, 0x2add: 0x5c, 0x2ade: 0x5d, 0x2adf: 0x5e,\n\t0x2ae0: 0x5f, 0x2ae1: 0x60, 0x2ae2: 0x61, 0x2ae3: 0x62, 0x2ae4: 0x63, 0x2ae5: 0x64, 0x2ae6: 0x65, 0x2ae7: 0x66,\n\t0x2ae8: 0x67, 0x2ae9: 0x68, 0x2aea: 0x69, 0x2aec: 0x6a, 0x2aed: 0x6b, 0x2aee: 0x6c, 0x2aef: 0x6d,\n\t0x2af0: 0x6e, 0x2af1: 0x6f, 0x2af3: 0x70, 0x2af4: 0x71, 0x2af5: 0x72, 0x2af6: 0x73, 0x2af7: 0x74,\n\t0x2af8: 0x75, 0x2af9: 0x76, 0x2afa: 0x5b7, 0x2afb: 0x78, 0x2afc: 0x79, 0x2afd: 0x7a, 0x2afe: 0x7b, 0x2aff: 0x7c,\n\t// Block 0xac, offset 0x2b00\n\t0x2b02: 0x01, 0x2b03: 0x5b3, 0x2b04: 0x5b4, 0x2b05: 0x5b5, 0x2b06: 0x05, 0x2b07: 0x06,\n\t0x2b08: 0x5b6, 0x2b09: 0x08, 0x2b0a: 0x09, 0x2b0b: 0x0a, 0x2b0c: 0x0b, 0x2b0d: 0x0c, 0x2b0e: 0x0d, 0x2b0f: 0x0e,\n\t0x2b10: 0x0f, 0x2b11: 0x10, 0x2b12: 0x11, 0x2b13: 0x12, 0x2b14: 0x13, 0x2b15: 0x14, 0x2b16: 0x15, 0x2b17: 0x16,\n\t0x2b18: 0x17, 0x2b19: 0x18, 0x2b1a: 0x19, 0x2b1b: 0x1a, 0x2b1c: 0x1b, 0x2b1d: 0x1c, 0x2b1e: 0x1d, 0x2b1f: 0x1e,\n\t0x2b20: 0x01, 0x2b21: 0xa9, 0x2b22: 0x03, 0x2b23: 0x04, 0x2b24: 0x05,\n\t0x2b2a: 0x06, 0x2b2d: 0x07, 0x2b2f: 0x08,\n\t0x2b30: 0x13, 0x2b33: 0x15,\n\t// Block 0xad, offset 0x2b40\n\t0x2b40: 0x3f, 0x2b41: 0x40, 0x2b42: 0x41, 0x2b43: 0x42, 0x2b44: 0x43, 0x2b45: 0x44, 0x2b46: 0x45, 0x2b47: 0x46,\n\t0x2b48: 0x47, 0x2b49: 0x48, 0x2b4a: 0x49, 0x2b4b: 0x4a, 0x2b4c: 0x4b, 0x2b4d: 0x4c, 0x2b4e: 0x4d, 0x2b4f: 0x4e,\n\t0x2b50: 0x4f, 0x2b51: 0x50, 0x2b52: 0x51, 0x2b53: 0x52, 0x2b54: 0x53, 0x2b55: 0x54, 0x2b56: 0x55, 0x2b57: 0x56,\n\t0x2b58: 0x57, 0x2b59: 0x58, 0x2b5a: 0x59, 0x2b5b: 0x5a, 0x2b5c: 0x5b, 0x2b5d: 0x5c, 0x2b5e: 0x5d, 0x2b5f: 0x5e,\n\t0x2b60: 0x5f, 0x2b61: 0x60, 0x2b62: 0x61, 0x2b63: 0x62, 0x2b64: 0x63, 0x2b65: 0x64, 0x2b66: 0x65, 0x2b67: 0x66,\n\t0x2b68: 0x67, 0x2b69: 0x68, 0x2b6a: 0x69, 0x2b6c: 0x6a, 0x2b6d: 0x6b, 0x2b6e: 0x6c, 0x2b6f: 0x6d,\n\t0x2b70: 0x6e, 0x2b71: 0x6f, 0x2b73: 0x70, 0x2b74: 0x71, 0x2b75: 0x72, 0x2b76: 0x1fc, 0x2b77: 0x74,\n\t0x2b78: 0x75, 0x2b79: 0x5c1, 0x2b7a: 0x5c2, 0x2b7b: 0x5c3, 0x2b7c: 0x79, 0x2b7d: 0x7a, 0x2b7e: 0x7b, 0x2b7f: 0x7c,\n\t// Block 0xae, offset 0x2b80\n\t0x2b82: 0x01, 0x2b83: 0x5ba, 0x2b84: 0x5bb, 0x2b85: 0x5bc, 0x2b86: 0x5bd, 0x2b87: 0x5be,\n\t0x2b88: 0x5bf, 0x2b89: 0x08, 0x2b8a: 0x5c0, 0x2b8b: 0x0a, 0x2b8c: 0x0b, 0x2b8d: 0x0c, 0x2b8e: 0x0d, 0x2b8f: 0x0e,\n\t0x2b90: 0x0f, 0x2b91: 0x10, 0x2b92: 0x11, 0x2b93: 0x12, 0x2b94: 0x13, 0x2b95: 0x14, 0x2b96: 0x15, 0x2b97: 0x16,\n\t0x2b98: 0x17, 0x2b99: 0x18, 0x2b9a: 0x19, 0x2b9b: 0x1a, 0x2b9c: 0x1b, 0x2b9d: 0x1c, 0x2b9e: 0x1d, 0x2b9f: 0x1e,\n\t0x2ba0: 0x01, 0x2ba1: 0xab, 0x2ba2: 0x4e, 0x2ba3: 0x04, 0x2ba4: 0x05,\n\t0x2baa: 0x06, 0x2bad: 0x07, 0x2baf: 0x08,\n\t0x2bb0: 0x13, 0x2bb3: 0x15,\n\t// Block 0xaf, offset 0x2bc0\n\t0x2be0: 0x1f, 0x2be1: 0x20, 0x2be2: 0x21, 0x2be3: 0x22, 0x2be4: 0x23, 0x2be5: 0x24, 0x2be6: 0x25, 0x2be7: 0x26,\n\t0x2be8: 0x27, 0x2be9: 0x28, 0x2bea: 0x29, 0x2beb: 0x2a, 0x2bec: 0x2b, 0x2bed: 0x2c, 0x2bee: 0x2d, 0x2bef: 0x2e,\n\t0x2bf0: 0x2f, 0x2bf1: 0x30, 0x2bf2: 0x31, 0x2bf3: 0x32, 0x2bf4: 0x33, 0x2bf5: 0x34, 0x2bf6: 0x5c4, 0x2bf7: 0x36,\n\t0x2bf8: 0x37, 0x2bf9: 0x38, 0x2bfa: 0x39, 0x2bfb: 0x3a, 0x2bfc: 0x3b, 0x2bfd: 0x3c, 0x2bfe: 0x3d, 0x2bff: 0x3e,\n\t// Block 0xb0, offset 0x2c00\n\t0x2c02: 0x01, 0x2c03: 0x02, 0x2c04: 0x03, 0x2c05: 0x04, 0x2c06: 0x05, 0x2c07: 0x06,\n\t0x2c08: 0x07, 0x2c09: 0x08, 0x2c0a: 0x09, 0x2c0b: 0x0a, 0x2c0c: 0x0b, 0x2c0d: 0x0c, 0x2c0e: 0x0d, 0x2c0f: 0x0e,\n\t0x2c10: 0x0f, 0x2c11: 0x10, 0x2c12: 0x11, 0x2c13: 0x12, 0x2c14: 0x13, 0x2c15: 0x14, 0x2c16: 0x15, 0x2c17: 0x16,\n\t0x2c18: 0x17, 0x2c19: 0x18, 0x2c1a: 0x19, 0x2c1b: 0x1a, 0x2c1c: 0x1b, 0x2c1d: 0x1c, 0x2c1e: 0x1d, 0x2c1f: 0x1e,\n\t0x2c20: 0xad, 0x2c21: 0x02, 0x2c22: 0x03, 0x2c23: 0x04, 0x2c24: 0x05,\n\t0x2c2a: 0x06, 0x2c2d: 0x07, 0x2c2f: 0x08,\n\t0x2c30: 0x13, 0x2c33: 0x15,\n\t// Block 0xb1, offset 0x2c40\n\t0x2c40: 0x3f, 0x2c41: 0x40, 0x2c42: 0x41, 0x2c43: 0x42, 0x2c44: 0x43, 0x2c45: 0x44, 0x2c46: 0x45, 0x2c47: 0x46,\n\t0x2c48: 0x47, 0x2c49: 0x48, 0x2c4a: 0x49, 0x2c4b: 0x4a, 0x2c4c: 0x4b, 0x2c4d: 0x4c, 0x2c4e: 0x4d, 0x2c4f: 0x4e,\n\t0x2c50: 0x4f, 0x2c51: 0x50, 0x2c52: 0x51, 0x2c53: 0x52, 0x2c54: 0x53, 0x2c55: 0x54, 0x2c56: 0x55, 0x2c57: 0x56,\n\t0x2c58: 0x57, 0x2c59: 0x58, 0x2c5a: 0x59, 0x2c5b: 0x5a, 0x2c5c: 0x5b, 0x2c5d: 0x5c, 0x2c5e: 0x5d, 0x2c5f: 0x5e,\n\t0x2c60: 0x5f, 0x2c61: 0x60, 0x2c62: 0x61, 0x2c63: 0x62, 0x2c64: 0x63, 0x2c65: 0x64, 0x2c66: 0x65, 0x2c67: 0x66,\n\t0x2c68: 0x67, 0x2c69: 0x68, 0x2c6a: 0x69, 0x2c6c: 0x6a, 0x2c6d: 0x6b, 0x2c6e: 0x6c, 0x2c6f: 0x6d,\n\t0x2c70: 0x6e, 0x2c71: 0x6f, 0x2c73: 0x70, 0x2c74: 0x71, 0x2c75: 0x72, 0x2c76: 0x73, 0x2c77: 0x74,\n\t0x2c78: 0x75, 0x2c79: 0x1f2, 0x2c7a: 0x77, 0x2c7b: 0x5c9, 0x2c7c: 0x79, 0x2c7d: 0x7a, 0x2c7e: 0x7b, 0x2c7f: 0x7c,\n\t// Block 0xb2, offset 0x2c80\n\t0x2c82: 0x01, 0x2c83: 0x5c7, 0x2c84: 0x1f0, 0x2c85: 0x1f1, 0x2c86: 0x05, 0x2c87: 0x5c8,\n\t0x2c88: 0x07, 0x2c89: 0x08, 0x2c8a: 0x09, 0x2c8b: 0x0a, 0x2c8c: 0x0b, 0x2c8d: 0x0c, 0x2c8e: 0x0d, 0x2c8f: 0x0e,\n\t0x2c90: 0x0f, 0x2c91: 0x10, 0x2c92: 0x11, 0x2c93: 0x12, 0x2c94: 0x13, 0x2c95: 0x14, 0x2c96: 0x15, 0x2c97: 0x16,\n\t0x2c98: 0x17, 0x2c99: 0x18, 0x2c9a: 0x19, 0x2c9b: 0x1a, 0x2c9c: 0x1b, 0x2c9d: 0x1c, 0x2c9e: 0x1d, 0x2c9f: 0x1e,\n\t0x2ca0: 0x01, 0x2ca1: 0xaf, 0x2ca2: 0x03, 0x2ca3: 0x04, 0x2ca4: 0x05,\n\t0x2caa: 0x06, 0x2cad: 0x07, 0x2caf: 0x08,\n\t0x2cb0: 0x13, 0x2cb3: 0x15,\n\t// Block 0xb3, offset 0x2cc0\n\t0x2cc2: 0x01, 0x2cc3: 0x02, 0x2cc4: 0x5cc, 0x2cc5: 0x292, 0x2cc6: 0x05, 0x2cc7: 0x06,\n\t0x2cc8: 0x07, 0x2cc9: 0x08, 0x2cca: 0x09, 0x2ccb: 0x0a, 0x2ccc: 0x0b, 0x2ccd: 0x0c, 0x2cce: 0x0d, 0x2ccf: 0x0e,\n\t0x2cd0: 0x0f, 0x2cd1: 0x10, 0x2cd2: 0x11, 0x2cd3: 0x12, 0x2cd4: 0x13, 0x2cd5: 0x14, 0x2cd6: 0x15, 0x2cd7: 0x16,\n\t0x2cd8: 0x17, 0x2cd9: 0x18, 0x2cda: 0x19, 0x2cdb: 0x1a, 0x2cdc: 0x1b, 0x2cdd: 0x1c, 0x2cde: 0x1d, 0x2cdf: 0x1e,\n\t0x2ce0: 0x01, 0x2ce1: 0x63, 0x2ce2: 0x03, 0x2ce3: 0x04, 0x2ce4: 0x05,\n\t0x2cea: 0x06, 0x2ced: 0x07, 0x2cef: 0x08,\n\t0x2cf0: 0x13, 0x2cf3: 0x15,\n\t// Block 0xb4, offset 0x2d00\n\t0x2d00: 0x3f, 0x2d01: 0x40, 0x2d02: 0x41, 0x2d03: 0x42, 0x2d04: 0x43, 0x2d05: 0x44, 0x2d06: 0x45, 0x2d07: 0x46,\n\t0x2d08: 0x47, 0x2d09: 0x48, 0x2d0a: 0x49, 0x2d0b: 0x4a, 0x2d0c: 0x4b, 0x2d0d: 0x4c, 0x2d0e: 0x4d, 0x2d0f: 0x4e,\n\t0x2d10: 0x4f, 0x2d11: 0x50, 0x2d12: 0x51, 0x2d13: 0x52, 0x2d14: 0x53, 0x2d15: 0x54, 0x2d16: 0x55, 0x2d17: 0x56,\n\t0x2d18: 0x57, 0x2d19: 0x58, 0x2d1a: 0x59, 0x2d1b: 0x5a, 0x2d1c: 0x5b, 0x2d1d: 0x5c, 0x2d1e: 0x5d, 0x2d1f: 0x5e,\n\t0x2d20: 0x5f, 0x2d21: 0x60, 0x2d22: 0x61, 0x2d23: 0x62, 0x2d24: 0x63, 0x2d25: 0x64, 0x2d26: 0x65, 0x2d27: 0x66,\n\t0x2d28: 0x67, 0x2d29: 0x68, 0x2d2a: 0x69, 0x2d2c: 0x6a, 0x2d2d: 0x6b, 0x2d2e: 0x6c, 0x2d2f: 0x6d,\n\t0x2d30: 0x6e, 0x2d31: 0x6f, 0x2d33: 0x70, 0x2d34: 0x71, 0x2d35: 0x72, 0x2d36: 0x73, 0x2d37: 0x74,\n\t0x2d38: 0x5d0, 0x2d39: 0x76, 0x2d3a: 0x77, 0x2d3b: 0x78, 0x2d3c: 0x79, 0x2d3d: 0x7a, 0x2d3e: 0x7b, 0x2d3f: 0x7c,\n\t// Block 0xb5, offset 0x2d40\n\t0x2d42: 0x01, 0x2d43: 0x5cf, 0x2d44: 0x03, 0x2d45: 0x04, 0x2d46: 0x05, 0x2d47: 0x06,\n\t0x2d48: 0x07, 0x2d49: 0x08, 0x2d4a: 0x09, 0x2d4b: 0x0a, 0x2d4c: 0x0b, 0x2d4d: 0x0c, 0x2d4e: 0x0d, 0x2d4f: 0x0e,\n\t0x2d50: 0x0f, 0x2d51: 0x10, 0x2d52: 0x11, 0x2d53: 0x12, 0x2d54: 0x13, 0x2d55: 0x14, 0x2d56: 0x15, 0x2d57: 0x16,\n\t0x2d58: 0x17, 0x2d59: 0x18, 0x2d5a: 0x19, 0x2d5b: 0x1a, 0x2d5c: 0x1b, 0x2d5d: 0x1c, 0x2d5e: 0x1d, 0x2d5f: 0x1e,\n\t0x2d60: 0x01, 0x2d61: 0xb2, 0x2d62: 0x03, 0x2d63: 0x04, 0x2d64: 0x05,\n\t0x2d6a: 0x06, 0x2d6d: 0x07, 0x2d6f: 0x08,\n\t0x2d70: 0x13, 0x2d73: 0x15,\n\t// Block 0xb6, offset 0x2d80\n\t0x2d80: 0x3f, 0x2d81: 0x40, 0x2d82: 0x41, 0x2d83: 0x42, 0x2d84: 0x43, 0x2d85: 0x44, 0x2d86: 0x45, 0x2d87: 0x46,\n\t0x2d88: 0x47, 0x2d89: 0x48, 0x2d8a: 0x49, 0x2d8b: 0x4a, 0x2d8c: 0x4b, 0x2d8d: 0x4c, 0x2d8e: 0x4d, 0x2d8f: 0x4e,\n\t0x2d90: 0x4f, 0x2d91: 0x50, 0x2d92: 0x51, 0x2d93: 0x52, 0x2d94: 0x53, 0x2d95: 0x54, 0x2d96: 0x55, 0x2d97: 0x56,\n\t0x2d98: 0x57, 0x2d99: 0x58, 0x2d9a: 0x59, 0x2d9b: 0x5a, 0x2d9c: 0x5b, 0x2d9d: 0x5c, 0x2d9e: 0x5d, 0x2d9f: 0x5e,\n\t0x2da0: 0x5f, 0x2da1: 0x60, 0x2da2: 0x61, 0x2da3: 0x62, 0x2da4: 0x63, 0x2da5: 0x64, 0x2da6: 0x65, 0x2da7: 0x66,\n\t0x2da8: 0x67, 0x2da9: 0x68, 0x2daa: 0x69, 0x2dac: 0x6a, 0x2dad: 0x6b, 0x2dae: 0x6c, 0x2daf: 0x6d,\n\t0x2db0: 0x6e, 0x2db1: 0x6f, 0x2db3: 0x70, 0x2db4: 0x71, 0x2db5: 0x72, 0x2db6: 0x1fc, 0x2db7: 0x74,\n\t0x2db8: 0x75, 0x2db9: 0x261, 0x2dba: 0x77, 0x2dbb: 0x5d6, 0x2dbc: 0x79, 0x2dbd: 0x7a, 0x2dbe: 0x7b, 0x2dbf: 0x7c,\n\t// Block 0xb7, offset 0x2dc0\n\t0x2dc2: 0x01, 0x2dc3: 0x5d3, 0x2dc4: 0x5d4, 0x2dc5: 0x5d5, 0x2dc6: 0x05, 0x2dc7: 0x268,\n\t0x2dc8: 0x25f, 0x2dc9: 0x08, 0x2dca: 0x09, 0x2dcb: 0x0a, 0x2dcc: 0x0b, 0x2dcd: 0x0c, 0x2dce: 0x0d, 0x2dcf: 0x0e,\n\t0x2dd0: 0x0f, 0x2dd1: 0x10, 0x2dd2: 0x11, 0x2dd3: 0x12, 0x2dd4: 0x13, 0x2dd5: 0x14, 0x2dd6: 0x15, 0x2dd7: 0x16,\n\t0x2dd8: 0x17, 0x2dd9: 0x18, 0x2dda: 0x19, 0x2ddb: 0x1a, 0x2ddc: 0x1b, 0x2ddd: 0x1c, 0x2dde: 0x1d, 0x2ddf: 0x1e,\n\t0x2de0: 0x01, 0x2de1: 0xb4, 0x2de2: 0x4e, 0x2de3: 0x04, 0x2de4: 0x05,\n\t0x2dea: 0x06, 0x2ded: 0x07, 0x2def: 0x08,\n\t0x2df0: 0x13, 0x2df3: 0x15,\n\t// Block 0xb8, offset 0x2e00\n\t0x2e00: 0x3f, 0x2e01: 0x40, 0x2e02: 0x41, 0x2e03: 0x42, 0x2e04: 0x43, 0x2e05: 0x44, 0x2e06: 0x45, 0x2e07: 0x46,\n\t0x2e08: 0x47, 0x2e09: 0x48, 0x2e0a: 0x49, 0x2e0b: 0x4a, 0x2e0c: 0x4b, 0x2e0d: 0x4c, 0x2e0e: 0x4d, 0x2e0f: 0x4e,\n\t0x2e10: 0x4f, 0x2e11: 0x50, 0x2e12: 0x51, 0x2e13: 0x52, 0x2e14: 0x53, 0x2e15: 0x54, 0x2e16: 0x55, 0x2e17: 0x56,\n\t0x2e18: 0x57, 0x2e19: 0x58, 0x2e1a: 0x59, 0x2e1b: 0x5a, 0x2e1c: 0x5b, 0x2e1d: 0x5c, 0x2e1e: 0x5d, 0x2e1f: 0x5e,\n\t0x2e20: 0x5f, 0x2e21: 0x60, 0x2e22: 0x61, 0x2e23: 0x62, 0x2e24: 0x63, 0x2e25: 0x64, 0x2e26: 0x65, 0x2e27: 0x66,\n\t0x2e28: 0x67, 0x2e29: 0x68, 0x2e2a: 0x69, 0x2e2c: 0x6a, 0x2e2d: 0x6b, 0x2e2e: 0x6c, 0x2e2f: 0x6d,\n\t0x2e30: 0x6e, 0x2e31: 0x6f, 0x2e33: 0x70, 0x2e34: 0x71, 0x2e35: 0x72, 0x2e36: 0x1fc, 0x2e37: 0x74,\n\t0x2e38: 0x75, 0x2e39: 0x5da, 0x2e3a: 0x26b, 0x2e3b: 0x5d6, 0x2e3c: 0x79, 0x2e3d: 0x7a, 0x2e3e: 0x7b, 0x2e3f: 0x7c,\n\t// Block 0xb9, offset 0x2e40\n\t0x2e42: 0x01, 0x2e43: 0x5d3, 0x2e44: 0x5d4, 0x2e45: 0x5d9, 0x2e46: 0x05, 0x2e47: 0x268,\n\t0x2e48: 0x25f, 0x2e49: 0x08, 0x2e4a: 0x09, 0x2e4b: 0x0a, 0x2e4c: 0x0b, 0x2e4d: 0x0c, 0x2e4e: 0x0d, 0x2e4f: 0x0e,\n\t0x2e50: 0x0f, 0x2e51: 0x10, 0x2e52: 0x11, 0x2e53: 0x12, 0x2e54: 0x13, 0x2e55: 0x14, 0x2e56: 0x15, 0x2e57: 0x16,\n\t0x2e58: 0x17, 0x2e59: 0x18, 0x2e5a: 0x19, 0x2e5b: 0x1a, 0x2e5c: 0x1b, 0x2e5d: 0x1c, 0x2e5e: 0x1d, 0x2e5f: 0x1e,\n\t0x2e60: 0x01, 0x2e61: 0xb6, 0x2e62: 0x51, 0x2e63: 0x52, 0x2e64: 0x05,\n\t0x2e6a: 0x06, 0x2e6d: 0x07, 0x2e6f: 0x08,\n\t0x2e70: 0x54, 0x2e73: 0x15,\n\t// Block 0xba, offset 0x2e80\n\t0x2ea0: 0x1f, 0x2ea1: 0x20, 0x2ea2: 0x21, 0x2ea3: 0x22, 0x2ea4: 0x23, 0x2ea5: 0x24, 0x2ea6: 0x25, 0x2ea7: 0x26,\n\t0x2ea8: 0x27, 0x2ea9: 0x28, 0x2eaa: 0x29, 0x2eab: 0x2a, 0x2eac: 0x2b, 0x2ead: 0x2c, 0x2eae: 0x5db, 0x2eaf: 0x2e,\n\t0x2eb0: 0x2f, 0x2eb1: 0x30, 0x2eb2: 0x31, 0x2eb3: 0x32, 0x2eb4: 0x33, 0x2eb5: 0x34, 0x2eb6: 0x35, 0x2eb7: 0x36,\n\t0x2eb8: 0x37, 0x2eb9: 0x38, 0x2eba: 0x39, 0x2ebb: 0x3a, 0x2ebc: 0x3b, 0x2ebd: 0x3c, 0x2ebe: 0x3d, 0x2ebf: 0x3e,\n\t// Block 0xbb, offset 0x2ec0\n\t0x2ec2: 0x01, 0x2ec3: 0x02, 0x2ec4: 0x03, 0x2ec5: 0x04, 0x2ec6: 0x05, 0x2ec7: 0x06,\n\t0x2ec8: 0x07, 0x2ec9: 0x08, 0x2eca: 0x09, 0x2ecb: 0x0a, 0x2ecc: 0x0b, 0x2ecd: 0x0c, 0x2ece: 0x0d, 0x2ecf: 0x0e,\n\t0x2ed0: 0x0f, 0x2ed1: 0x10, 0x2ed2: 0x11, 0x2ed3: 0x12, 0x2ed4: 0x13, 0x2ed5: 0x14, 0x2ed6: 0x15, 0x2ed7: 0x16,\n\t0x2ed8: 0x17, 0x2ed9: 0x18, 0x2eda: 0x19, 0x2edb: 0x1a, 0x2edc: 0x1b, 0x2edd: 0x1c, 0x2ede: 0x1d, 0x2edf: 0x1e,\n\t0x2ee0: 0xb8, 0x2ee1: 0x02, 0x2ee2: 0x03, 0x2ee3: 0x04, 0x2ee4: 0x05,\n\t0x2eea: 0x06, 0x2eed: 0x07, 0x2eef: 0x08,\n\t0x2ef0: 0x13, 0x2ef3: 0x15,\n\t// Block 0xbc, offset 0x2f00\n\t0x2f20: 0x1f, 0x2f21: 0x20, 0x2f22: 0x21, 0x2f23: 0x22, 0x2f24: 0x23, 0x2f25: 0x24, 0x2f26: 0x25, 0x2f27: 0x26,\n\t0x2f28: 0x27, 0x2f29: 0x28, 0x2f2a: 0x29, 0x2f2b: 0x2a, 0x2f2c: 0x2b, 0x2f2d: 0x2c, 0x2f2e: 0x2d, 0x2f2f: 0x2e,\n\t0x2f30: 0x5dc, 0x2f31: 0x30, 0x2f32: 0x31, 0x2f33: 0x32, 0x2f34: 0x33, 0x2f35: 0x34, 0x2f36: 0x35, 0x2f37: 0x36,\n\t0x2f38: 0x37, 0x2f39: 0x38, 0x2f3a: 0x39, 0x2f3b: 0x3a, 0x2f3c: 0x3b, 0x2f3d: 0x3c, 0x2f3e: 0x3d, 0x2f3f: 0x3e,\n\t// Block 0xbd, offset 0x2f40\n\t0x2f42: 0x01, 0x2f43: 0x02, 0x2f44: 0x03, 0x2f45: 0x04, 0x2f46: 0x05, 0x2f47: 0x06,\n\t0x2f48: 0x07, 0x2f49: 0x08, 0x2f4a: 0x09, 0x2f4b: 0x0a, 0x2f4c: 0x0b, 0x2f4d: 0x0c, 0x2f4e: 0x0d, 0x2f4f: 0x0e,\n\t0x2f50: 0x0f, 0x2f51: 0x10, 0x2f52: 0x11, 0x2f53: 0x12, 0x2f54: 0x13, 0x2f55: 0x14, 0x2f56: 0x15, 0x2f57: 0x16,\n\t0x2f58: 0x17, 0x2f59: 0x18, 0x2f5a: 0x19, 0x2f5b: 0x1a, 0x2f5c: 0x1b, 0x2f5d: 0x1c, 0x2f5e: 0x1d, 0x2f5f: 0x1e,\n\t0x2f60: 0xba, 0x2f61: 0x02, 0x2f62: 0x03, 0x2f63: 0x04, 0x2f64: 0x05,\n\t0x2f6a: 0x06, 0x2f6d: 0x07, 0x2f6f: 0x08,\n\t0x2f70: 0x13, 0x2f73: 0x15,\n\t// Block 0xbe, offset 0x2f80\n\t0x2fa0: 0x1f, 0x2fa1: 0x20, 0x2fa2: 0x21, 0x2fa3: 0x22, 0x2fa4: 0x23, 0x2fa5: 0x24, 0x2fa6: 0x25, 0x2fa7: 0x26,\n\t0x2fa8: 0x27, 0x2fa9: 0x28, 0x2faa: 0x29, 0x2fab: 0x2a, 0x2fac: 0x2b, 0x2fad: 0x2c, 0x2fae: 0x2d, 0x2faf: 0x2e,\n\t0x2fb0: 0x2f, 0x2fb1: 0x30, 0x2fb2: 0x31, 0x2fb3: 0x32, 0x2fb4: 0x33, 0x2fb5: 0x34, 0x2fb6: 0x35, 0x2fb7: 0x36,\n\t0x2fb8: 0x5dd, 0x2fb9: 0x5de, 0x2fba: 0x39, 0x2fbb: 0x3a, 0x2fbc: 0x3b, 0x2fbd: 0x3c, 0x2fbe: 0x3d, 0x2fbf: 0x3e,\n\t// Block 0xbf, offset 0x2fc0\n\t0x2fc2: 0x01, 0x2fc3: 0x02, 0x2fc4: 0x03, 0x2fc5: 0x04, 0x2fc6: 0x05, 0x2fc7: 0x06,\n\t0x2fc8: 0x07, 0x2fc9: 0x08, 0x2fca: 0x09, 0x2fcb: 0x0a, 0x2fcc: 0x0b, 0x2fcd: 0x0c, 0x2fce: 0x0d, 0x2fcf: 0x0e,\n\t0x2fd0: 0x0f, 0x2fd1: 0x10, 0x2fd2: 0x11, 0x2fd3: 0x12, 0x2fd4: 0x13, 0x2fd5: 0x14, 0x2fd6: 0x15, 0x2fd7: 0x16,\n\t0x2fd8: 0x17, 0x2fd9: 0x18, 0x2fda: 0x19, 0x2fdb: 0x1a, 0x2fdc: 0x1b, 0x2fdd: 0x1c, 0x2fde: 0x1d, 0x2fdf: 0x1e,\n\t0x2fe0: 0xbc, 0x2fe1: 0x02, 0x2fe2: 0x03, 0x2fe3: 0x04, 0x2fe4: 0x05,\n\t0x2fea: 0x06, 0x2fed: 0x07, 0x2fef: 0x08,\n\t0x2ff0: 0x13, 0x2ff3: 0x15,\n\t// Block 0xc0, offset 0x3000\n\t0x3000: 0x3f, 0x3001: 0x40, 0x3002: 0x41, 0x3003: 0x42, 0x3004: 0x43, 0x3005: 0x44, 0x3006: 0x45, 0x3007: 0x46,\n\t0x3008: 0x47, 0x3009: 0x48, 0x300a: 0x49, 0x300b: 0x4a, 0x300c: 0x4b, 0x300d: 0x4c, 0x300e: 0x4d, 0x300f: 0x4e,\n\t0x3010: 0x4f, 0x3011: 0x50, 0x3012: 0x51, 0x3013: 0x52, 0x3014: 0x53, 0x3015: 0x54, 0x3016: 0x55, 0x3017: 0x56,\n\t0x3018: 0x57, 0x3019: 0x58, 0x301a: 0x59, 0x301b: 0x5a, 0x301c: 0x5b, 0x301d: 0x5c, 0x301e: 0x5d, 0x301f: 0x5e,\n\t0x3020: 0x5f, 0x3021: 0x60, 0x3022: 0x61, 0x3023: 0x62, 0x3024: 0x63, 0x3025: 0x64, 0x3026: 0x65, 0x3027: 0x66,\n\t0x3028: 0x67, 0x3029: 0x68, 0x302a: 0x69, 0x302c: 0x6a, 0x302d: 0x6b, 0x302e: 0x6c, 0x302f: 0x6d,\n\t0x3030: 0x6e, 0x3031: 0x6f, 0x3033: 0x70, 0x3034: 0x71, 0x3035: 0x72, 0x3036: 0x73, 0x3037: 0x74,\n\t0x3038: 0x5e7, 0x3039: 0x5e8, 0x303a: 0x5e9, 0x303b: 0x5ea, 0x303c: 0x79, 0x303d: 0x7a, 0x303e: 0x7b, 0x303f: 0x7c,\n\t// Block 0xc1, offset 0x3040\n\t0x3042: 0x01, 0x3043: 0x5e1, 0x3044: 0x5e2, 0x3045: 0x5e3, 0x3046: 0x05, 0x3047: 0x5e4,\n\t0x3048: 0x5e5, 0x3049: 0x08, 0x304a: 0x5e6, 0x304b: 0x0a, 0x304c: 0x0b, 0x304d: 0x0c, 0x304e: 0x0d, 0x304f: 0x0e,\n\t0x3050: 0x0f, 0x3051: 0x10, 0x3052: 0x11, 0x3053: 0x12, 0x3054: 0x13, 0x3055: 0x14, 0x3056: 0x15, 0x3057: 0x16,\n\t0x3058: 0x17, 0x3059: 0x18, 0x305a: 0x19, 0x305b: 0x1a, 0x305c: 0x1b, 0x305d: 0x1c, 0x305e: 0x1d, 0x305f: 0x1e,\n\t0x3060: 0x01, 0x3061: 0xbe, 0x3062: 0x03, 0x3063: 0x04, 0x3064: 0x05,\n\t0x306a: 0x06, 0x306d: 0x07, 0x306f: 0x08,\n\t0x3070: 0x13, 0x3073: 0x15,\n\t// Block 0xc2, offset 0x3080\n\t0x3080: 0x3f, 0x3081: 0x40, 0x3082: 0x41, 0x3083: 0x42, 0x3084: 0x43, 0x3085: 0x44, 0x3086: 0x45, 0x3087: 0x46,\n\t0x3088: 0x47, 0x3089: 0x48, 0x308a: 0x49, 0x308b: 0x4a, 0x308c: 0x4b, 0x308d: 0x4c, 0x308e: 0x4d, 0x308f: 0x4e,\n\t0x3090: 0x4f, 0x3091: 0x50, 0x3092: 0x51, 0x3093: 0x52, 0x3094: 0x53, 0x3095: 0x54, 0x3096: 0x55, 0x3097: 0x56,\n\t0x3098: 0x57, 0x3099: 0x58, 0x309a: 0x59, 0x309b: 0x5a, 0x309c: 0x5b, 0x309d: 0x5c, 0x309e: 0x5d, 0x309f: 0x5e,\n\t0x30a0: 0x5f, 0x30a1: 0x60, 0x30a2: 0x61, 0x30a3: 0x62, 0x30a4: 0x63, 0x30a5: 0x64, 0x30a6: 0x65, 0x30a7: 0x66,\n\t0x30a8: 0x67, 0x30a9: 0x68, 0x30aa: 0x69, 0x30ac: 0x6a, 0x30ad: 0x6b, 0x30ae: 0x6c, 0x30af: 0x6d,\n\t0x30b0: 0x6e, 0x30b1: 0x6f, 0x30b3: 0x70, 0x30b4: 0x71, 0x30b5: 0x72, 0x30b6: 0x73, 0x30b7: 0x74,\n\t0x30b8: 0x1de, 0x30b9: 0x1df, 0x30ba: 0x77, 0x30bb: 0x1e1, 0x30bc: 0x79, 0x30bd: 0x7a, 0x30be: 0x7b, 0x30bf: 0x7c,\n\t// Block 0xc3, offset 0x30c0\n\t0x30c0: 0x7d, 0x30c1: 0x7e, 0x30c2: 0x7f, 0x30c3: 0x80, 0x30c4: 0x81, 0x30c5: 0x5ed, 0x30c6: 0x83, 0x30c7: 0x84,\n\t0x30c8: 0x85, 0x30c9: 0x86, 0x30ca: 0x87, 0x30cb: 0x88, 0x30cc: 0x89, 0x30cd: 0x8a, 0x30ce: 0x8b, 0x30cf: 0x8c,\n\t0x30d0: 0x8d, 0x30d1: 0x8e, 0x30d2: 0x8f, 0x30d3: 0x90, 0x30d4: 0x91, 0x30d5: 0x92, 0x30d6: 0x93, 0x30d7: 0x94,\n\t0x30d8: 0x95, 0x30d9: 0x96, 0x30da: 0x97, 0x30db: 0x98, 0x30dc: 0x99, 0x30dd: 0x9a, 0x30de: 0x9b, 0x30df: 0x9c,\n\t0x30e0: 0x9d, 0x30e1: 0x9e, 0x30e2: 0x9f, 0x30e3: 0xa0, 0x30e4: 0xa1, 0x30e5: 0xa2, 0x30e6: 0xa3, 0x30e7: 0xa4,\n\t0x30e8: 0xa5, 0x30e9: 0xa6, 0x30ea: 0xa7, 0x30eb: 0xa8, 0x30ec: 0xa9, 0x30ed: 0xaa,\n\t0x30f0: 0xab, 0x30f1: 0xac, 0x30f2: 0xad, 0x30f3: 0xae, 0x30f4: 0xaf, 0x30f5: 0xb0, 0x30f6: 0xb1, 0x30f7: 0xb2,\n\t0x30f8: 0xb3, 0x30fa: 0xb4, 0x30fb: 0xb5, 0x30fc: 0xb6, 0x30fd: 0xb7, 0x30fe: 0xb8, 0x30ff: 0xb9,\n\t// Block 0xc4, offset 0x3100\n\t0x3100: 0xba, 0x3101: 0xbb, 0x3102: 0xbc, 0x3103: 0xbd, 0x3104: 0xbe, 0x3105: 0xbf, 0x3106: 0xc0, 0x3107: 0xc1,\n\t0x3108: 0xc2, 0x3109: 0xc3, 0x310a: 0xc4, 0x310b: 0xc5, 0x310c: 0xc6, 0x310d: 0x1e4, 0x310e: 0xc8, 0x310f: 0xc9,\n\t// Block 0xc5, offset 0x3140\n\t0x3140: 0x18b, 0x3141: 0x18c, 0x3142: 0x18d, 0x3143: 0x18e, 0x3144: 0x5ee, 0x3145: 0x190, 0x3146: 0x191, 0x3147: 0x192,\n\t0x3148: 0x193, 0x3149: 0x194, 0x314c: 0x195, 0x314d: 0x196, 0x314e: 0x197, 0x314f: 0x198,\n\t0x3150: 0x199, 0x3151: 0x19a, 0x3152: 0x19b, 0x3153: 0x19c, 0x3154: 0x19d, 0x3155: 0x19e, 0x3157: 0x19f,\n\t0x3158: 0x1a0, 0x3159: 0x1a1, 0x315a: 0x1a2, 0x315b: 0x1a3, 0x315c: 0x1a4, 0x315d: 0x1a5,\n\t// Block 0xc6, offset 0x3180\n\t0x3190: 0x09, 0x3191: 0x0a, 0x3192: 0x0b, 0x3193: 0x0c, 0x3196: 0x0d,\n\t0x319b: 0x0e, 0x319d: 0x0f, 0x319e: 0x10, 0x319f: 0xc3,\n\t0x31af: 0x12,\n\t// Block 0xc7, offset 0x31c0\n\t0x31c2: 0x01, 0x31c3: 0x1d7, 0x31c4: 0x1d8, 0x31c5: 0x1d9, 0x31c6: 0x05, 0x31c7: 0x1db,\n\t0x31c8: 0x1dc, 0x31c9: 0x08, 0x31ca: 0x09, 0x31cb: 0x0a, 0x31cc: 0x0b, 0x31cd: 0x0c, 0x31ce: 0x0d, 0x31cf: 0x0e,\n\t0x31d0: 0x0f, 0x31d1: 0x10, 0x31d2: 0x11, 0x31d3: 0x12, 0x31d4: 0x13, 0x31d5: 0x14, 0x31d6: 0x15, 0x31d7: 0x16,\n\t0x31d8: 0x17, 0x31d9: 0x18, 0x31da: 0x19, 0x31db: 0x1a, 0x31dc: 0x1b, 0x31dd: 0x1c, 0x31de: 0x1d, 0x31df: 0x1e,\n\t0x31e0: 0x01, 0x31e1: 0xc0, 0x31e2: 0xc1, 0x31e3: 0xc2, 0x31e4: 0x05,\n\t0x31ea: 0x06, 0x31ed: 0x07, 0x31ef: 0x08,\n\t0x31f0: 0xc4, 0x31f3: 0x15,\n\t// Block 0xc8, offset 0x3200\n\t0x3202: 0x01, 0x3203: 0x02, 0x3204: 0x03, 0x3205: 0x04, 0x3206: 0x05, 0x3207: 0x06,\n\t0x3208: 0x07, 0x3209: 0x08, 0x320a: 0x09, 0x320b: 0x0a, 0x320c: 0x0b, 0x320d: 0x0c, 0x320e: 0x0d, 0x320f: 0x0e,\n\t0x3210: 0x0f, 0x3211: 0x10, 0x3212: 0x5ef, 0x3213: 0x12, 0x3214: 0x13, 0x3215: 0x14, 0x3216: 0x15, 0x3217: 0x16,\n\t0x3218: 0x17, 0x3219: 0x18, 0x321a: 0x19, 0x321b: 0x1a, 0x321c: 0x1b, 0x321d: 0x1c, 0x321e: 0x1d, 0x321f: 0x1e,\n\t0x3220: 0x01, 0x3221: 0x02, 0x3222: 0x03, 0x3223: 0x04, 0x3224: 0x05,\n\t0x322a: 0x06, 0x322d: 0x07, 0x322f: 0x08,\n\t0x3230: 0x13, 0x3233: 0x15,\n\t// Block 0xc9, offset 0x3240\n\t0x3264: 0xfb, 0x3265: 0xfc, 0x3266: 0xfd, 0x3267: 0xfe,\n\t0x3268: 0xff, 0x3269: 0x100, 0x326a: 0x101, 0x326b: 0x102, 0x326c: 0x103, 0x326d: 0x104, 0x326e: 0x252, 0x326f: 0x106,\n\t0x3270: 0x5f4, 0x3271: 0x5f5, 0x3272: 0x5f6, 0x3273: 0x5f7, 0x3274: 0x5f8, 0x3275: 0x10c, 0x3276: 0x10d, 0x3277: 0x10e,\n\t0x3278: 0x10f, 0x3279: 0x110, 0x327a: 0x111, 0x327b: 0x5f9, 0x327c: 0x113, 0x327d: 0x114, 0x327e: 0x115, 0x327f: 0x116,\n\t// Block 0xca, offset 0x3280\n\t0x3282: 0x01, 0x3283: 0x02, 0x3284: 0x03, 0x3285: 0x04, 0x3286: 0x05, 0x3287: 0x06,\n\t0x3288: 0x07, 0x3289: 0x08, 0x328a: 0x09, 0x328b: 0x0a, 0x328c: 0x0b, 0x328d: 0x0c, 0x328e: 0x0d, 0x328f: 0x0e,\n\t0x3290: 0x0f, 0x3291: 0x10, 0x3292: 0x11, 0x3293: 0x12, 0x3294: 0x13, 0x3295: 0x14, 0x3296: 0x15, 0x3297: 0x16,\n\t0x3298: 0x5f0, 0x3299: 0x5f1, 0x329a: 0x5f2, 0x329b: 0x5f3, 0x329c: 0x1b, 0x329d: 0x1c, 0x329e: 0x1d, 0x329f: 0x1e,\n\t0x32a0: 0x01, 0x32a1: 0x02, 0x32a2: 0x03, 0x32a3: 0x04, 0x32a4: 0x05,\n\t0x32aa: 0x06, 0x32ad: 0x07, 0x32af: 0xc7,\n\t0x32b0: 0x13, 0x32b3: 0x15,\n\t// Block 0xcb, offset 0x32c0\n\t0x32c0: 0x3f, 0x32c1: 0x40, 0x32c2: 0x41, 0x32c3: 0x42, 0x32c4: 0x43, 0x32c5: 0x44, 0x32c6: 0x45, 0x32c7: 0x46,\n\t0x32c8: 0x47, 0x32c9: 0x48, 0x32ca: 0x49, 0x32cb: 0x4a, 0x32cc: 0x4b, 0x32cd: 0x4c, 0x32ce: 0x4d, 0x32cf: 0x4e,\n\t0x32d0: 0x4f, 0x32d1: 0x50, 0x32d2: 0x51, 0x32d3: 0x52, 0x32d4: 0x53, 0x32d5: 0x54, 0x32d6: 0x55, 0x32d7: 0x56,\n\t0x32d8: 0x57, 0x32d9: 0x58, 0x32da: 0x59, 0x32db: 0x5a, 0x32dc: 0x5b, 0x32dd: 0x5c, 0x32de: 0x5d, 0x32df: 0x5e,\n\t0x32e0: 0x5f, 0x32e1: 0x60, 0x32e2: 0x61, 0x32e3: 0x62, 0x32e4: 0x63, 0x32e5: 0x64, 0x32e6: 0x65, 0x32e7: 0x66,\n\t0x32e8: 0x67, 0x32e9: 0x68, 0x32ea: 0x69, 0x32ec: 0x6a, 0x32ed: 0x6b, 0x32ee: 0x6c, 0x32ef: 0x6d,\n\t0x32f0: 0x6e, 0x32f1: 0x6f, 0x32f3: 0x70, 0x32f4: 0x71, 0x32f5: 0x72, 0x32f6: 0x73, 0x32f7: 0x74,\n\t0x32f8: 0x606, 0x32f9: 0x607, 0x32fa: 0x608, 0x32fb: 0x609, 0x32fc: 0x60a, 0x32fd: 0x60b, 0x32fe: 0x60c, 0x32ff: 0x60d,\n\t// Block 0xcc, offset 0x3300\n\t0x3302: 0x01, 0x3303: 0x5fc, 0x3304: 0x5fd, 0x3305: 0x5fe, 0x3306: 0x5ff, 0x3307: 0x600,\n\t0x3308: 0x601, 0x3309: 0x08, 0x330a: 0x09, 0x330b: 0x0a, 0x330c: 0x602, 0x330d: 0x603, 0x330e: 0x604, 0x330f: 0x605,\n\t0x3310: 0x0f, 0x3311: 0x10, 0x3312: 0x11, 0x3313: 0x12, 0x3314: 0x13, 0x3315: 0x14, 0x3316: 0x15, 0x3317: 0x16,\n\t0x3318: 0x17, 0x3319: 0x18, 0x331a: 0x19, 0x331b: 0x1a, 0x331c: 0x1b, 0x331d: 0x1c, 0x331e: 0x1d, 0x331f: 0x1e,\n\t0x3320: 0x01, 0x3321: 0xc9, 0x3322: 0x03, 0x3323: 0x04, 0x3324: 0x05,\n\t0x332a: 0x06, 0x332d: 0x07, 0x332f: 0x08,\n\t0x3330: 0x13, 0x3333: 0x15,\n\t// Block 0xcd, offset 0x3340\n\t0x3342: 0x01, 0x3343: 0x610, 0x3344: 0x03, 0x3345: 0x04, 0x3346: 0x05, 0x3347: 0x06,\n\t0x3348: 0x07, 0x3349: 0x08, 0x334a: 0x09, 0x334b: 0x0a, 0x334c: 0x0b, 0x334d: 0x0c, 0x334e: 0x0d, 0x334f: 0x0e,\n\t0x3350: 0x0f, 0x3351: 0x10, 0x3352: 0x11, 0x3353: 0x12, 0x3354: 0x13, 0x3355: 0x14, 0x3356: 0x15, 0x3357: 0x16,\n\t0x3358: 0x17, 0x3359: 0x18, 0x335a: 0x19, 0x335b: 0x1a, 0x335c: 0x1b, 0x335d: 0x1c, 0x335e: 0x1d, 0x335f: 0x1e,\n\t0x3360: 0x01, 0x3361: 0x02, 0x3362: 0x03, 0x3363: 0x04, 0x3364: 0x05,\n\t0x336a: 0x06, 0x336d: 0x07, 0x336f: 0x08,\n\t0x3370: 0x13, 0x3373: 0x15,\n\t// Block 0xce, offset 0x3380\n\t0x3380: 0x3f, 0x3381: 0x40, 0x3382: 0x41, 0x3383: 0x42, 0x3384: 0x43, 0x3385: 0x44, 0x3386: 0x45, 0x3387: 0x46,\n\t0x3388: 0x47, 0x3389: 0x48, 0x338a: 0x49, 0x338b: 0x4a, 0x338c: 0x4b, 0x338d: 0x4c, 0x338e: 0x4d, 0x338f: 0x4e,\n\t0x3390: 0x4f, 0x3391: 0x50, 0x3392: 0x51, 0x3393: 0x52, 0x3394: 0x53, 0x3395: 0x54, 0x3396: 0x55, 0x3397: 0x56,\n\t0x3398: 0x57, 0x3399: 0x58, 0x339a: 0x59, 0x339b: 0x5a, 0x339c: 0x5b, 0x339d: 0x5c, 0x339e: 0x5d, 0x339f: 0x5e,\n\t0x33a0: 0x5f, 0x33a1: 0x60, 0x33a2: 0x61, 0x33a3: 0x62, 0x33a4: 0x63, 0x33a5: 0x64, 0x33a6: 0x65, 0x33a7: 0x66,\n\t0x33a8: 0x67, 0x33a9: 0x68, 0x33aa: 0x69, 0x33ac: 0x6a, 0x33ad: 0x6b, 0x33ae: 0x6c, 0x33af: 0x6d,\n\t0x33b0: 0x6e, 0x33b1: 0x6f, 0x33b3: 0x70, 0x33b4: 0x71, 0x33b5: 0x72, 0x33b6: 0x73, 0x33b7: 0x74,\n\t0x33b8: 0x75, 0x33b9: 0x613, 0x33ba: 0x614, 0x33bb: 0x615, 0x33bc: 0x79, 0x33bd: 0x7a, 0x33be: 0x7b, 0x33bf: 0x7c,\n\t// Block 0xcf, offset 0x33c0\n\t0x33c2: 0x01, 0x33c3: 0x02, 0x33c4: 0x03, 0x33c5: 0x04, 0x33c6: 0x05, 0x33c7: 0x06,\n\t0x33c8: 0x07, 0x33c9: 0x08, 0x33ca: 0x09, 0x33cb: 0x0a, 0x33cc: 0x0b, 0x33cd: 0x0c, 0x33ce: 0x0d, 0x33cf: 0x0e,\n\t0x33d0: 0x0f, 0x33d1: 0x10, 0x33d2: 0x11, 0x33d3: 0x12, 0x33d4: 0x13, 0x33d5: 0x14, 0x33d6: 0x15, 0x33d7: 0x16,\n\t0x33d8: 0x17, 0x33d9: 0x18, 0x33da: 0x19, 0x33db: 0x1a, 0x33dc: 0x1b, 0x33dd: 0x1c, 0x33de: 0x1d, 0x33df: 0x1e,\n\t0x33e0: 0x01, 0x33e1: 0xcc, 0x33e2: 0x03, 0x33e3: 0x04, 0x33e4: 0x05,\n\t0x33ea: 0x06, 0x33ed: 0x07, 0x33ef: 0x08,\n\t0x33f0: 0x13, 0x33f3: 0x15,\n\t// Block 0xd0, offset 0x3400\n\t0x3400: 0x3f, 0x3401: 0x40, 0x3402: 0x41, 0x3403: 0x42, 0x3404: 0x43, 0x3405: 0x44, 0x3406: 0x45, 0x3407: 0x46,\n\t0x3408: 0x47, 0x3409: 0x48, 0x340a: 0x49, 0x340b: 0x4a, 0x340c: 0x4b, 0x340d: 0x4c, 0x340e: 0x4d, 0x340f: 0x4e,\n\t0x3410: 0x4f, 0x3411: 0x50, 0x3412: 0x51, 0x3413: 0x52, 0x3414: 0x53, 0x3415: 0x54, 0x3416: 0x55, 0x3417: 0x56,\n\t0x3418: 0x57, 0x3419: 0x58, 0x341a: 0x59, 0x341b: 0x5a, 0x341c: 0x5b, 0x341d: 0x5c, 0x341e: 0x5d, 0x341f: 0x5e,\n\t0x3420: 0x5f, 0x3421: 0x60, 0x3422: 0x61, 0x3423: 0x62, 0x3424: 0x63, 0x3425: 0x64, 0x3426: 0x65, 0x3427: 0x66,\n\t0x3428: 0x67, 0x3429: 0x68, 0x342a: 0x69, 0x342c: 0x6a, 0x342d: 0x6b, 0x342e: 0x6c, 0x342f: 0x6d,\n\t0x3430: 0x6e, 0x3431: 0x6f, 0x3433: 0x70, 0x3434: 0x71, 0x3435: 0x72, 0x3436: 0x73, 0x3437: 0x74,\n\t0x3438: 0x61d, 0x3439: 0x61e, 0x343a: 0x61f, 0x343b: 0x620, 0x343c: 0x79, 0x343d: 0x7a, 0x343e: 0x7b, 0x343f: 0x7c,\n\t// Block 0xd1, offset 0x3440\n\t0x3440: 0x7d, 0x3441: 0x7e, 0x3442: 0x7f, 0x3443: 0x80, 0x3444: 0x81, 0x3445: 0x82, 0x3446: 0x83, 0x3447: 0x84,\n\t0x3448: 0x85, 0x3449: 0x86, 0x344a: 0x87, 0x344b: 0x88, 0x344c: 0x89, 0x344d: 0x8a, 0x344e: 0x8b, 0x344f: 0x8c,\n\t0x3450: 0x8d, 0x3451: 0x8e, 0x3452: 0x8f, 0x3453: 0x90, 0x3454: 0x91, 0x3455: 0x92, 0x3456: 0x93, 0x3457: 0x94,\n\t0x3458: 0x95, 0x3459: 0x96, 0x345a: 0x97, 0x345b: 0x98, 0x345c: 0x99, 0x345d: 0x9a, 0x345e: 0x9b, 0x345f: 0x9c,\n\t0x3460: 0x9d, 0x3461: 0x9e, 0x3462: 0x9f, 0x3463: 0xa0, 0x3464: 0xa1, 0x3465: 0xa2, 0x3466: 0xa3, 0x3467: 0xa4,\n\t0x3468: 0xa5, 0x3469: 0xa6, 0x346a: 0xa7, 0x346b: 0xa8, 0x346c: 0xa9, 0x346d: 0xaa,\n\t0x3470: 0xab, 0x3471: 0xac, 0x3472: 0xad, 0x3473: 0xae, 0x3474: 0xaf, 0x3475: 0xb0, 0x3476: 0xb1, 0x3477: 0xb2,\n\t0x3478: 0xb3, 0x347a: 0x621, 0x347b: 0x622, 0x347c: 0x623, 0x347d: 0x624, 0x347e: 0x625, 0x347f: 0x626,\n\t// Block 0xd2, offset 0x3480\n\t0x3480: 0x627, 0x3481: 0xbb, 0x3482: 0xbc, 0x3483: 0xbd, 0x3484: 0xbe, 0x3485: 0xbf, 0x3486: 0x628, 0x3487: 0xc1,\n\t0x3488: 0x629, 0x3489: 0x62a, 0x348a: 0x62b, 0x348b: 0x62c, 0x348c: 0xc6, 0x348d: 0x62d, 0x348e: 0xc8, 0x348f: 0x62e,\n\t0x3490: 0x62f, 0x3491: 0x630, 0x3492: 0x631, 0x3493: 0x632, 0x3494: 0x633, 0x3495: 0x634, 0x3496: 0x635, 0x3497: 0x636,\n\t0x3498: 0x637, 0x3499: 0x638, 0x349a: 0x639, 0x349b: 0x63a, 0x349c: 0x63b, 0x349d: 0x63c, 0x349e: 0x63d, 0x349f: 0x63e,\n\t0x34a0: 0x63f, 0x34a1: 0x640, 0x34a2: 0x641, 0x34a3: 0x642, 0x34a4: 0x643, 0x34a5: 0x644, 0x34a6: 0x645, 0x34a7: 0x646,\n\t0x34a8: 0x647, 0x34a9: 0x648, 0x34aa: 0x649, 0x34ab: 0x64a, 0x34ac: 0x64b, 0x34ad: 0x64c, 0x34ae: 0x64d, 0x34af: 0x64e,\n\t0x34b0: 0x64f, 0x34b1: 0x650, 0x34b2: 0x651, 0x34b3: 0x652, 0x34b4: 0x653, 0x34b5: 0x654, 0x34b6: 0x655, 0x34b7: 0x656,\n\t0x34b8: 0x657, 0x34b9: 0x658, 0x34ba: 0x659, 0x34bb: 0x65a, 0x34bc: 0x65b, 0x34bd: 0x65c, 0x34be: 0x65d, 0x34bf: 0x65e,\n\t// Block 0xd3, offset 0x34c0\n\t0x34c0: 0x65f, 0x34c1: 0x660, 0x34c2: 0x661, 0x34c3: 0x662, 0x34c4: 0x663, 0x34c5: 0x664, 0x34c6: 0x665, 0x34c7: 0x666,\n\t0x34c8: 0x667, 0x34c9: 0x668, 0x34ca: 0x669, 0x34cb: 0x66a, 0x34cc: 0x66b, 0x34cd: 0x66c, 0x34ce: 0x66d, 0x34cf: 0x66e,\n\t0x34d0: 0x66f, 0x34d1: 0x670, 0x34d2: 0x671, 0x34d3: 0x672, 0x34d4: 0x673, 0x34d5: 0x674, 0x34d6: 0x675, 0x34d7: 0x676,\n\t0x34d8: 0x677, 0x34d9: 0x678, 0x34da: 0x679, 0x34db: 0x67a, 0x34dc: 0x67b, 0x34dd: 0x67c, 0x34de: 0x67d, 0x34df: 0x67e,\n\t0x34e0: 0x67f, 0x34e1: 0x680, 0x34e2: 0x681, 0x34e3: 0x682, 0x34e4: 0x683, 0x34e5: 0x684, 0x34e6: 0x685, 0x34e7: 0x686,\n\t0x34e8: 0x687, 0x34e9: 0x688, 0x34ea: 0x689, 0x34eb: 0x68a, 0x34ec: 0x68b, 0x34ed: 0x68c, 0x34ee: 0x68d, 0x34ef: 0x68e,\n\t0x34f0: 0x68f, 0x34f1: 0x690, 0x34f2: 0x691, 0x34f3: 0x692, 0x34f4: 0x693, 0x34f5: 0x694, 0x34f6: 0x695, 0x34f7: 0xca,\n\t0x34f8: 0x696, 0x34f9: 0x697, 0x34fa: 0x698, 0x34fb: 0x699, 0x34fc: 0x69a, 0x34fd: 0x69b, 0x34fe: 0x69c, 0x34ff: 0x69d,\n\t// Block 0xd4, offset 0x3500\n\t0x3500: 0x69e, 0x3501: 0x69f, 0x3502: 0x6a0, 0x3503: 0x6a1, 0x3504: 0x6a2, 0x3505: 0x6a3, 0x3506: 0x6a4, 0x3507: 0x6a5,\n\t0x3508: 0x6a6, 0x3509: 0x6a7, 0x350a: 0x6a8, 0x350b: 0x6a9, 0x350c: 0x6aa, 0x350d: 0x6ab, 0x350e: 0x6ac, 0x350f: 0x6ad,\n\t0x3510: 0x6ae, 0x3511: 0x6af, 0x3512: 0x6b0, 0x3513: 0x6b1, 0x3514: 0x6b2, 0x3515: 0x6b3, 0x3516: 0x6b4, 0x3517: 0x6b5,\n\t0x3518: 0x6b6, 0x3519: 0x6b7, 0x351a: 0x6b8, 0x351b: 0x6b9, 0x351c: 0x6ba, 0x351d: 0x6bb, 0x351e: 0x6bc, 0x351f: 0x6bd,\n\t0x3520: 0x6be, 0x3521: 0x6bf, 0x3522: 0x6c0, 0x3523: 0x6c1, 0x3524: 0x6c2, 0x3525: 0x6c3, 0x3526: 0x6c4, 0x3527: 0x6c5,\n\t0x3528: 0x6c6, 0x3529: 0x6c7, 0x352a: 0x6c8, 0x352b: 0x6c9, 0x352c: 0x6ca, 0x352d: 0x6cb, 0x352e: 0x6cc, 0x352f: 0x6cd,\n\t0x3530: 0x6ce, 0x3531: 0x6cf, 0x3532: 0x6d0, 0x3533: 0x6d1, 0x3534: 0x6d2, 0x3535: 0x6d3, 0x3536: 0x6d4, 0x3537: 0x6d5,\n\t0x3538: 0x6d6, 0x3539: 0x6d7, 0x353a: 0x6d8, 0x353b: 0x6d9, 0x353c: 0x6da, 0x353d: 0x6db, 0x353e: 0x6dc, 0x353f: 0x6dd,\n\t// Block 0xd5, offset 0x3540\n\t0x3540: 0x6de, 0x3541: 0x6df, 0x3542: 0x6e0, 0x3543: 0x6e1, 0x3544: 0x6e2, 0x3545: 0x6e3, 0x3546: 0x6e4, 0x3547: 0x6e5,\n\t0x3548: 0x6e6, 0x3549: 0x6e7, 0x354a: 0x6e8, 0x354b: 0x6e9, 0x354c: 0x6ea, 0x354d: 0x6eb, 0x354e: 0x6ec, 0x354f: 0x6ed,\n\t0x3550: 0x6ee, 0x3551: 0x6ef, 0x3552: 0x6f0, 0x3553: 0x6f1, 0x3554: 0x6f2, 0x3555: 0x6f3, 0x3556: 0x6f4, 0x3557: 0x6f5,\n\t0x3558: 0x6f6, 0x3559: 0x6f7, 0x355a: 0x6f8, 0x355b: 0x6f9, 0x355c: 0x6fa, 0x355d: 0x6fb, 0x355e: 0x6fc, 0x355f: 0x6fd,\n\t0x3560: 0x6fe, 0x3561: 0x6ff, 0x3562: 0x700, 0x3563: 0x701, 0x3564: 0x702, 0x3565: 0x703, 0x3566: 0x704, 0x3567: 0x705,\n\t0x3568: 0x706, 0x3569: 0x707, 0x356a: 0x708, 0x356b: 0x709, 0x356c: 0x70a, 0x356d: 0x70b, 0x356e: 0x70c, 0x356f: 0x70d,\n\t0x3570: 0x70e, 0x3571: 0x70f, 0x3572: 0x710, 0x3573: 0x711, 0x3574: 0x712, 0x3575: 0x713, 0x3576: 0x714, 0x3577: 0x715,\n\t0x3578: 0x716, 0x3579: 0x717, 0x357a: 0x718, 0x357b: 0x719, 0x357c: 0x71a, 0x357d: 0x71b, 0x357e: 0x71c, 0x357f: 0x71d,\n\t// Block 0xd6, offset 0x3580\n\t0x3580: 0x71e, 0x3581: 0x71f, 0x3582: 0x720, 0x3583: 0x721, 0x3584: 0x722, 0x3585: 0x723, 0x3586: 0x724, 0x3587: 0x725,\n\t0x3588: 0x726, 0x3589: 0x727, 0x358a: 0x728, 0x358b: 0x729, 0x358c: 0x72a, 0x358d: 0x72b, 0x358e: 0x72c, 0x358f: 0x72d,\n\t0x3590: 0x72e, 0x3591: 0x72f, 0x3592: 0x730, 0x3593: 0x731, 0x3594: 0x732, 0x3595: 0x733, 0x3596: 0x734, 0x3597: 0x735,\n\t0x3598: 0x736, 0x3599: 0x737, 0x359a: 0x738, 0x359b: 0x739, 0x359c: 0x73a, 0x359d: 0x73b, 0x359e: 0x73c, 0x359f: 0x73d,\n\t0x35a0: 0x73e, 0x35a1: 0x73f, 0x35a2: 0x740, 0x35a3: 0x741, 0x35a4: 0x742, 0x35a5: 0x743, 0x35a6: 0x744, 0x35a7: 0x745,\n\t0x35a8: 0x746, 0x35a9: 0x747, 0x35aa: 0x748, 0x35ab: 0x749, 0x35ac: 0x74a, 0x35ad: 0x74b, 0x35ae: 0x74c, 0x35af: 0x74d,\n\t0x35b0: 0x74e, 0x35b1: 0x74f, 0x35b2: 0x750, 0x35b3: 0x751, 0x35b4: 0x752, 0x35b5: 0x753, 0x35b6: 0x754, 0x35b7: 0x755,\n\t0x35b8: 0x756, 0x35b9: 0x757, 0x35ba: 0x758, 0x35bb: 0x759, 0x35bc: 0x75a, 0x35bd: 0x75b, 0x35be: 0x75c, 0x35bf: 0x75d,\n\t// Block 0xd7, offset 0x35c0\n\t0x35c0: 0x75e, 0x35c1: 0x75f, 0x35c2: 0x760, 0x35c3: 0x761, 0x35c4: 0x762, 0x35c5: 0x763, 0x35c6: 0x764, 0x35c7: 0x765,\n\t0x35c8: 0x766, 0x35c9: 0x767, 0x35ca: 0x768, 0x35cb: 0x769, 0x35cc: 0x76a, 0x35cd: 0x76b, 0x35ce: 0x76c, 0x35cf: 0x76d,\n\t0x35d0: 0x76e, 0x35d1: 0x76f, 0x35d2: 0x770, 0x35d3: 0x771, 0x35d4: 0x772, 0x35d5: 0x773, 0x35d6: 0x774, 0x35d7: 0x775,\n\t0x35d8: 0x776, 0x35d9: 0x777, 0x35da: 0x778, 0x35db: 0x779, 0x35dc: 0x77a, 0x35dd: 0x77b, 0x35de: 0x77c, 0x35df: 0x77d,\n\t0x35e0: 0x77e, 0x35e1: 0x77f, 0x35e2: 0x780, 0x35e3: 0x781, 0x35e4: 0x782, 0x35e5: 0x783, 0x35e6: 0x784, 0x35e7: 0x785,\n\t0x35e8: 0x786, 0x35e9: 0x787, 0x35ea: 0x788, 0x35eb: 0x789, 0x35ec: 0x78a, 0x35ed: 0x78b, 0x35ee: 0x78c, 0x35ef: 0x78d,\n\t0x35f0: 0x78e, 0x35f1: 0x78f, 0x35f2: 0x790, 0x35f3: 0x791, 0x35f4: 0x792, 0x35f5: 0x793, 0x35f6: 0x794, 0x35f7: 0x795,\n\t0x35f8: 0x796, 0x35f9: 0x797, 0x35fa: 0x798, 0x35fb: 0x799, 0x35fc: 0x79a, 0x35fd: 0x79b, 0x35fe: 0x79c, 0x35ff: 0x79d,\n\t// Block 0xd8, offset 0x3600\n\t0x3600: 0x79e, 0x3601: 0x79f, 0x3602: 0x7a0, 0x3603: 0x7a1, 0x3604: 0x7a2, 0x3605: 0x7a3, 0x3606: 0x7a4, 0x3607: 0x7a5,\n\t0x3608: 0x7a6, 0x3609: 0x7a7, 0x360a: 0x7a8, 0x360b: 0x7a9, 0x360c: 0x7aa, 0x360d: 0x7ab, 0x360e: 0x7ac, 0x360f: 0x7ad,\n\t0x3610: 0x7ae, 0x3611: 0x7af, 0x3612: 0x7b0, 0x3613: 0x7b1, 0x3614: 0x7b2, 0x3615: 0x7b3, 0x3616: 0x7b4, 0x3617: 0x7b5,\n\t0x3618: 0x7b6, 0x3619: 0x7b7, 0x361a: 0x7b8, 0x361b: 0x7b9, 0x361c: 0x7ba, 0x361d: 0x7bb, 0x361e: 0x7bc, 0x361f: 0x7bd,\n\t0x3620: 0x7be, 0x3621: 0x7bf, 0x3622: 0x7c0, 0x3623: 0x7c1, 0x3624: 0x7c2, 0x3625: 0x7c3, 0x3626: 0x7c4, 0x3627: 0x7c5,\n\t0x3628: 0x7c6, 0x3629: 0x7c7, 0x362a: 0x7c8, 0x362b: 0x7c9, 0x362c: 0x7ca, 0x362d: 0x7cb, 0x362e: 0x7cc, 0x362f: 0x7cd,\n\t0x3630: 0x7ce, 0x3631: 0x7cf, 0x3632: 0x7d0, 0x3633: 0x7d1, 0x3634: 0x7d2, 0x3635: 0x7d3, 0x3636: 0x7d4, 0x3637: 0x7d5,\n\t0x3638: 0x7d6, 0x3639: 0x7d7, 0x363a: 0x7d8, 0x363b: 0x7d9, 0x363c: 0x7da, 0x363d: 0x7db, 0x363e: 0x7dc, 0x363f: 0x7dd,\n\t// Block 0xd9, offset 0x3640\n\t0x3664: 0x7de, 0x3665: 0x7df, 0x3666: 0x7e0, 0x3667: 0x7e1,\n\t0x3668: 0x7e2, 0x3669: 0x7e3, 0x366a: 0x7e4, 0x366b: 0x7e5, 0x366c: 0x103, 0x366d: 0x104, 0x366e: 0x105, 0x366f: 0x106,\n\t0x3670: 0x107, 0x3671: 0x108, 0x3672: 0x109, 0x3673: 0x10a, 0x3674: 0x10b, 0x3675: 0x10c, 0x3676: 0x10d, 0x3677: 0x10e,\n\t0x3678: 0x10f, 0x3679: 0x110, 0x367a: 0x111, 0x367b: 0x112, 0x367c: 0x113, 0x367d: 0x114, 0x367e: 0x115, 0x367f: 0x116,\n\t// Block 0xda, offset 0x3680\n\t0x3680: 0x18b, 0x3681: 0x18c, 0x3682: 0x18d, 0x3683: 0x18e, 0x3684: 0x18f, 0x3685: 0x190, 0x3686: 0x191, 0x3687: 0x192,\n\t0x3688: 0x7e6, 0x3689: 0x7e7, 0x368c: 0x195, 0x368d: 0x196, 0x368e: 0x197, 0x368f: 0x198,\n\t0x3690: 0x199, 0x3691: 0x19a, 0x3692: 0x19b, 0x3693: 0x19c, 0x3694: 0x19d, 0x3695: 0x19e, 0x3697: 0x19f,\n\t0x3698: 0x1a0, 0x3699: 0x1a1, 0x369a: 0x1a2, 0x369b: 0x1a3, 0x369c: 0x1a4, 0x369d: 0x1a5,\n\t// Block 0xdb, offset 0x36c0\n\t0x36c0: 0x7e8, 0x36c1: 0x7e9, 0x36c2: 0x7ea, 0x36c3: 0x7eb, 0x36c4: 0x7ec, 0x36c5: 0x7ed, 0x36c6: 0x7ee, 0x36c7: 0x7ef,\n\t0x36c8: 0x7f0, 0x36c9: 0x7f1, 0x36ca: 0x7f2, 0x36cb: 0x7f3, 0x36cc: 0x7f4, 0x36cd: 0x7f5, 0x36ce: 0x7f6, 0x36cf: 0x7f7,\n\t0x36d0: 0x7f8, 0x36d1: 0x7f9, 0x36d2: 0x7fa, 0x36d3: 0x7fb, 0x36d4: 0x7fc, 0x36d5: 0x7fd, 0x36d6: 0x7fe, 0x36d7: 0x7ff,\n\t0x36d8: 0x800, 0x36d9: 0x801, 0x36da: 0x802, 0x36db: 0x803, 0x36dc: 0x804, 0x36dd: 0x805, 0x36de: 0x806, 0x36df: 0x807,\n\t0x36e0: 0x808, 0x36e1: 0x809, 0x36e2: 0x80a, 0x36e3: 0x80b, 0x36e4: 0x80c, 0x36e5: 0x80d, 0x36e6: 0x80e, 0x36e7: 0x80f,\n\t0x36e8: 0x810, 0x36e9: 0x811, 0x36ea: 0x812, 0x36eb: 0x813, 0x36ec: 0x814, 0x36ed: 0x815, 0x36ee: 0x816, 0x36ef: 0x817,\n\t0x36f0: 0x818, 0x36f1: 0x819, 0x36f2: 0x81a, 0x36f3: 0x81b, 0x36f4: 0x81c, 0x36f5: 0x81d, 0x36f6: 0x81e, 0x36f7: 0x81f,\n\t0x36f8: 0x820, 0x36f9: 0x821, 0x36fa: 0x822, 0x36fb: 0x823, 0x36fc: 0x824, 0x36fd: 0x825, 0x36fe: 0x826, 0x36ff: 0x827,\n\t// Block 0xdc, offset 0x3700\n\t0x3700: 0x828, 0x3701: 0x829, 0x3702: 0x82a, 0x3703: 0x82b, 0x3704: 0x82c, 0x3705: 0x82d, 0x3706: 0x82e, 0x3707: 0x82f,\n\t0x3708: 0x830, 0x3709: 0x831, 0x370a: 0x832, 0x370b: 0x833, 0x370c: 0x834, 0x370d: 0x835, 0x370e: 0x836, 0x370f: 0x837,\n\t0x3710: 0x838, 0x3711: 0x839, 0x3712: 0x83a, 0x3713: 0x83b, 0x3714: 0x83c, 0x3715: 0x83d, 0x3716: 0x83e, 0x3717: 0x83f,\n\t0x3718: 0x840, 0x3719: 0x841, 0x371a: 0x842, 0x371b: 0x843, 0x371c: 0x844, 0x371d: 0x845, 0x371e: 0x846, 0x371f: 0x847,\n\t0x3720: 0x848, 0x3721: 0x849, 0x3722: 0x84a, 0x3723: 0x84b, 0x3724: 0x84c, 0x3725: 0x84d, 0x3726: 0x84e, 0x3727: 0x84f,\n\t0x3728: 0x850, 0x3729: 0x851, 0x372a: 0x852, 0x372b: 0x853, 0x372c: 0x854, 0x372d: 0x855, 0x372e: 0x856, 0x372f: 0x857,\n\t0x3730: 0x858, 0x3731: 0x859, 0x3732: 0x85a, 0x3733: 0x85b, 0x3734: 0x85c, 0x3735: 0x85d, 0x3736: 0x85e, 0x3737: 0x85f,\n\t0x3738: 0x860, 0x3739: 0x861, 0x373a: 0x862, 0x373b: 0x863, 0x373c: 0x864, 0x373d: 0x865, 0x373e: 0x866, 0x373f: 0x867,\n\t// Block 0xdd, offset 0x3740\n\t0x3740: 0x868, 0x3741: 0x869, 0x3742: 0x86a, 0x3743: 0x86b, 0x3744: 0x86c, 0x3745: 0x86d, 0x3746: 0x86e, 0x3747: 0x86f,\n\t0x3748: 0x870, 0x3749: 0x871, 0x374a: 0x872, 0x374b: 0x873, 0x374c: 0x874, 0x374d: 0x875, 0x374e: 0x876, 0x374f: 0x877,\n\t0x3750: 0x878, 0x3751: 0x879, 0x3752: 0x87a, 0x3753: 0x87b, 0x3754: 0x87c, 0x3755: 0x87d, 0x3756: 0x87e, 0x3757: 0x87f,\n\t0x3758: 0x880, 0x3759: 0x881, 0x375a: 0x882, 0x375b: 0x883, 0x375c: 0x884, 0x375d: 0x885, 0x375e: 0x886, 0x375f: 0x887,\n\t0x3760: 0x888, 0x3761: 0x889, 0x3762: 0x88a, 0x3763: 0x88b, 0x3764: 0x88c, 0x3765: 0x88d, 0x3766: 0x88e, 0x3767: 0x88f,\n\t0x3768: 0x890, 0x3769: 0x891, 0x376a: 0x892, 0x376b: 0x893, 0x376c: 0x894, 0x376d: 0x895, 0x376e: 0x896, 0x376f: 0x897,\n\t0x3770: 0x898, 0x3771: 0x899, 0x3772: 0x89a, 0x3773: 0x89b, 0x3774: 0x89c, 0x3775: 0x89d, 0x3776: 0x89e, 0x3777: 0x89f,\n\t0x3778: 0x8a0, 0x3779: 0x8a1, 0x377a: 0x8a2, 0x377b: 0x8a3, 0x377c: 0x8a4, 0x377d: 0x8a5, 0x377e: 0x8a6, 0x377f: 0x8a7,\n\t// Block 0xde, offset 0x3780\n\t0x3780: 0x8a8, 0x3781: 0x8a9, 0x3782: 0x8aa, 0x3783: 0x8ab, 0x3784: 0x8ac, 0x3785: 0x8ad, 0x3786: 0x8ae, 0x3787: 0x8af,\n\t0x3788: 0x8b0, 0x3789: 0x8b1, 0x378a: 0x8b2, 0x378b: 0x8b3, 0x378c: 0x8b4, 0x378d: 0x8b5, 0x378e: 0x8b6, 0x378f: 0x8b7,\n\t0x3790: 0x8b8, 0x3791: 0x8b9, 0x3792: 0x8ba, 0x3793: 0x8bb, 0x3794: 0x8bc, 0x3795: 0x8bd, 0x3796: 0x8be, 0x3797: 0x8bf,\n\t0x3798: 0x8c0, 0x3799: 0x8c1, 0x379a: 0x8c2, 0x379b: 0x8c3, 0x379c: 0x8c4, 0x379d: 0x8c5, 0x379e: 0x8c6, 0x379f: 0x8c7,\n\t0x37a0: 0x8c8, 0x37a1: 0x8c9, 0x37a2: 0x8ca, 0x37a3: 0x8cb, 0x37a4: 0x8cc, 0x37a5: 0x8cd, 0x37a6: 0x8ce, 0x37a7: 0x8cf,\n\t0x37a8: 0x8d0, 0x37a9: 0x8d1, 0x37aa: 0x8d2, 0x37ab: 0x8d3, 0x37ac: 0x8d4, 0x37ad: 0x8d5, 0x37ae: 0x8d6, 0x37af: 0x8d7,\n\t0x37b0: 0x8d8, 0x37b1: 0x8d9, 0x37b2: 0x8da, 0x37b3: 0x8db, 0x37b4: 0x8dc, 0x37b5: 0x8dd, 0x37b6: 0x8de, 0x37b7: 0x8df,\n\t0x37b8: 0x8e0, 0x37b9: 0x8e1, 0x37ba: 0x8e2, 0x37bb: 0x8e3, 0x37bc: 0x8e4, 0x37bd: 0x8e5, 0x37be: 0x8e6, 0x37bf: 0x8e7,\n\t// Block 0xdf, offset 0x37c0\n\t0x37c0: 0x8e8, 0x37c1: 0x8e9, 0x37c2: 0x8ea, 0x37c3: 0x8eb, 0x37c4: 0x8ec, 0x37c5: 0x8ed, 0x37c6: 0x8ee, 0x37c7: 0x8ef,\n\t0x37c8: 0x8f0, 0x37c9: 0x8f1, 0x37ca: 0x8f2, 0x37cb: 0x8f3, 0x37cc: 0x8f4, 0x37cd: 0x8f5, 0x37ce: 0x8f6, 0x37cf: 0x8f7,\n\t0x37d0: 0x8f8, 0x37d1: 0x8f9, 0x37d2: 0x8fa, 0x37d3: 0x8fb, 0x37d4: 0x8fc, 0x37d5: 0x8fd, 0x37d6: 0x8fe, 0x37d7: 0x8ff,\n\t0x37d8: 0x900, 0x37d9: 0x901, 0x37da: 0x902, 0x37db: 0x903, 0x37dc: 0x904, 0x37dd: 0x905, 0x37de: 0x906, 0x37df: 0x907,\n\t0x37e0: 0x908, 0x37e1: 0x909, 0x37e2: 0x90a, 0x37e3: 0x90b, 0x37e4: 0x90c, 0x37e5: 0x90d, 0x37e6: 0x90e, 0x37e7: 0x90f,\n\t0x37e8: 0x910, 0x37e9: 0x911, 0x37ea: 0x912, 0x37eb: 0x913, 0x37ec: 0x914, 0x37ed: 0x915, 0x37ee: 0x916, 0x37ef: 0x917,\n\t0x37f0: 0x918, 0x37f1: 0x919, 0x37f2: 0x91a, 0x37f3: 0x91b, 0x37f4: 0x91c, 0x37f5: 0x91d, 0x37f6: 0x91e, 0x37f7: 0x91f,\n\t0x37f8: 0x920, 0x37f9: 0x921, 0x37fa: 0x922, 0x37fb: 0x923, 0x37fc: 0x924, 0x37fd: 0x925, 0x37fe: 0x926, 0x37ff: 0x927,\n\t// Block 0xe0, offset 0x3800\n\t0x3800: 0x928, 0x3801: 0x929, 0x3802: 0x92a, 0x3803: 0x92b, 0x3804: 0x92c, 0x3805: 0x92d, 0x3806: 0x92e, 0x3807: 0x92f,\n\t0x3808: 0x930, 0x3809: 0x931, 0x380a: 0x932, 0x380b: 0x933, 0x380c: 0x934, 0x380d: 0x935, 0x380e: 0x936, 0x380f: 0x937,\n\t0x3810: 0x938, 0x3811: 0x939, 0x3812: 0x93a, 0x3813: 0x93b, 0x3814: 0x93c, 0x3815: 0x93d, 0x3816: 0x93e, 0x3817: 0x93f,\n\t0x3818: 0x940, 0x3819: 0x941, 0x381a: 0x942, 0x381b: 0x943, 0x381c: 0x944, 0x381d: 0x945, 0x381e: 0x946, 0x381f: 0x947,\n\t0x3820: 0x948, 0x3821: 0x949, 0x3822: 0x94a, 0x3823: 0x94b, 0x3824: 0x94c, 0x3825: 0x94d, 0x3826: 0x94e, 0x3827: 0x94f,\n\t0x3828: 0x950, 0x3829: 0x951, 0x382a: 0x952, 0x382b: 0x953, 0x382c: 0x954, 0x382d: 0x955, 0x382e: 0x956, 0x382f: 0x957,\n\t0x3830: 0x958, 0x3831: 0x959, 0x3832: 0x95a, 0x3833: 0x95b, 0x3834: 0x95c, 0x3835: 0x95d, 0x3836: 0x95e, 0x3837: 0x95f,\n\t0x3838: 0x960, 0x3839: 0x961, 0x383a: 0x962, 0x383b: 0x963, 0x383c: 0x964, 0x383d: 0x965, 0x383e: 0x966, 0x383f: 0x967,\n\t// Block 0xe1, offset 0x3840\n\t0x3840: 0x968, 0x3841: 0x969, 0x3842: 0x96a, 0x3843: 0x96b, 0x3844: 0x96c, 0x3845: 0x96d, 0x3846: 0x96e, 0x3847: 0x96f,\n\t0x3848: 0x970, 0x3849: 0x971, 0x384a: 0x972, 0x384b: 0x973, 0x384c: 0x974, 0x384d: 0x975, 0x384e: 0x976, 0x384f: 0x977,\n\t0x3850: 0x978, 0x3851: 0x979, 0x3852: 0x97a, 0x3853: 0x97b, 0x3854: 0x97c, 0x3855: 0x97d, 0x3856: 0x97e, 0x3857: 0x97f,\n\t0x3858: 0x980, 0x3859: 0x981, 0x385a: 0x982, 0x385b: 0x983, 0x385c: 0x984, 0x385d: 0x985, 0x385e: 0x986, 0x385f: 0x987,\n\t0x3860: 0x988, 0x3861: 0x989, 0x3862: 0x98a, 0x3863: 0x98b, 0x3864: 0x98c, 0x3865: 0x98d, 0x3866: 0x98e, 0x3867: 0x98f,\n\t0x3868: 0x990, 0x3869: 0x991, 0x386a: 0x992, 0x386b: 0x993, 0x386c: 0x994, 0x386d: 0x995, 0x386e: 0x996, 0x386f: 0x997,\n\t0x3870: 0x998, 0x3871: 0x999, 0x3872: 0x99a, 0x3873: 0x99b, 0x3874: 0x99c, 0x3875: 0x99d, 0x3876: 0x99e, 0x3877: 0x99f,\n\t0x3878: 0x9a0, 0x3879: 0x9a1, 0x387a: 0x9a2, 0x387b: 0x9a3, 0x387c: 0x9a4, 0x387d: 0x9a5, 0x387e: 0x9a6, 0x387f: 0x9a7,\n\t// Block 0xe2, offset 0x3880\n\t0x3880: 0x9a8, 0x3881: 0x9a9, 0x3882: 0x9aa, 0x3883: 0x9ab, 0x3884: 0x9ac, 0x3885: 0x9ad, 0x3886: 0x9ae, 0x3887: 0x9af,\n\t0x3888: 0x9b0, 0x3889: 0x9b1, 0x388a: 0x9b2, 0x388b: 0x9b3, 0x388c: 0x9b4, 0x388d: 0x9b5, 0x388e: 0x9b6, 0x388f: 0x9b7,\n\t0x3890: 0x9b8, 0x3891: 0x9b9, 0x3892: 0x9ba, 0x3893: 0x9bb, 0x3894: 0x9bc, 0x3895: 0x9bd, 0x3896: 0x9be, 0x3897: 0x9bf,\n\t0x3898: 0x9c0, 0x3899: 0x9c1, 0x389a: 0x9c2, 0x389b: 0x9c3, 0x389c: 0x9c4, 0x389d: 0x9c5, 0x389e: 0x9c6, 0x389f: 0x9c7,\n\t0x38a0: 0x9c8, 0x38a1: 0x9c9, 0x38a2: 0x9ca, 0x38a3: 0x9cb, 0x38a4: 0x9cc, 0x38a5: 0x9cd, 0x38a6: 0x9ce, 0x38a7: 0x9cf,\n\t0x38a8: 0x9d0, 0x38a9: 0x9d1, 0x38aa: 0x9d2, 0x38ab: 0x9d3, 0x38ac: 0x9d4, 0x38ad: 0x9d5, 0x38ae: 0x9d6, 0x38af: 0x9d7,\n\t0x38b0: 0x9d8, 0x38b1: 0x9d9, 0x38b2: 0x9da, 0x38b3: 0x9db, 0x38b4: 0x9dc, 0x38b5: 0x9dd, 0x38b6: 0x9de, 0x38b7: 0x9df,\n\t0x38b8: 0x9e0, 0x38b9: 0x9e1, 0x38ba: 0x9e2, 0x38bb: 0x9e3, 0x38bc: 0x9e4, 0x38bd: 0x9e5, 0x38be: 0x9e6, 0x38bf: 0x9e7,\n\t// Block 0xe3, offset 0x38c0\n\t0x38c0: 0x9e8, 0x38c1: 0x9e9, 0x38c2: 0x9ea, 0x38c3: 0x9eb, 0x38c4: 0x9ec, 0x38c5: 0x9ed, 0x38c6: 0x9ee, 0x38c7: 0x9ef,\n\t0x38c8: 0x9f0, 0x38c9: 0x9f1, 0x38ca: 0x9f2, 0x38cb: 0x9f3, 0x38cc: 0x9f4, 0x38cd: 0x9f5, 0x38ce: 0x9f6, 0x38cf: 0x9f7,\n\t0x38d0: 0x9f8, 0x38d1: 0x9f9, 0x38d2: 0x9fa, 0x38d3: 0x9fb, 0x38d4: 0x9fc, 0x38d5: 0x9fd, 0x38d6: 0x9fe, 0x38d7: 0x9ff,\n\t0x38d8: 0xa00, 0x38d9: 0xa01, 0x38da: 0xa02, 0x38db: 0xa03, 0x38dc: 0xa04, 0x38dd: 0xa05, 0x38de: 0xa06, 0x38df: 0xa07,\n\t0x38e0: 0xa08, 0x38e1: 0xa09, 0x38e2: 0xa0a, 0x38e3: 0xa0b, 0x38e4: 0xa0c, 0x38e5: 0xa0d, 0x38e6: 0xa0e, 0x38e7: 0xa0f,\n\t0x38e8: 0xa10, 0x38e9: 0xa11, 0x38ea: 0xa12, 0x38eb: 0xa13, 0x38ec: 0xa14, 0x38ed: 0xa15, 0x38ee: 0xa16, 0x38ef: 0xa17,\n\t0x38f0: 0xa18, 0x38f1: 0xa19, 0x38f2: 0xa1a, 0x38f3: 0xa1b, 0x38f4: 0xa1c, 0x38f5: 0xa1d, 0x38f6: 0xa1e, 0x38f7: 0xa1f,\n\t0x38f8: 0xa20, 0x38f9: 0xa21, 0x38fa: 0xa22, 0x38fb: 0xa23, 0x38fc: 0xa24, 0x38fd: 0xa25, 0x38fe: 0xa26, 0x38ff: 0xa27,\n\t// Block 0xe4, offset 0x3900\n\t0x3900: 0xa28, 0x3901: 0xa29, 0x3902: 0xa2a, 0x3903: 0xa2b, 0x3904: 0xa2c, 0x3905: 0xa2d, 0x3906: 0xa2e, 0x3907: 0xa2f,\n\t0x3908: 0xa30, 0x3909: 0xa31, 0x390a: 0xa32, 0x390b: 0xa33, 0x390c: 0xa34, 0x390d: 0xa35, 0x390e: 0xa36, 0x390f: 0xa37,\n\t0x3910: 0xa38, 0x3911: 0xa39, 0x3912: 0xa3a, 0x3913: 0xa3b, 0x3914: 0xa3c, 0x3915: 0xa3d, 0x3916: 0xa3e, 0x3917: 0xa3f,\n\t0x3918: 0xa40, 0x3919: 0xa41, 0x391a: 0xa42, 0x391b: 0xa43, 0x391c: 0xa44, 0x391d: 0xa45, 0x391e: 0xa46, 0x391f: 0xa47,\n\t0x3920: 0xa48, 0x3921: 0xa49, 0x3922: 0xa4a, 0x3923: 0xa4b, 0x3924: 0xa4c, 0x3925: 0xa4d, 0x3926: 0xa4e, 0x3927: 0xa4f,\n\t0x3928: 0xa50, 0x3929: 0xa51, 0x392a: 0xa52, 0x392b: 0xa53, 0x392c: 0xa54, 0x392d: 0xa55, 0x392e: 0xa56, 0x392f: 0xa57,\n\t0x3930: 0xa58, 0x3931: 0xa59, 0x3932: 0xa5a, 0x3933: 0xa5b, 0x3934: 0xa5c, 0x3935: 0xa5d, 0x3936: 0xa5e, 0x3937: 0xa5f,\n\t0x3938: 0xa60, 0x3939: 0xa61, 0x393a: 0xa62, 0x393b: 0xa63, 0x393c: 0xa64, 0x393d: 0xa65, 0x393e: 0xa66, 0x393f: 0xa67,\n\t// Block 0xe5, offset 0x3940\n\t0x3940: 0xa68, 0x3941: 0xa69, 0x3942: 0xa6a, 0x3943: 0xa6b, 0x3944: 0xa6c, 0x3945: 0xa6d, 0x3946: 0xa6e, 0x3947: 0xa6f,\n\t0x3948: 0xa70, 0x3949: 0xa71, 0x394a: 0xa72, 0x394b: 0xa73, 0x394c: 0xa74, 0x394d: 0xa75, 0x394e: 0xa76, 0x394f: 0xa77,\n\t0x3950: 0xa78, 0x3951: 0xa79, 0x3952: 0xa7a, 0x3953: 0xa7b, 0x3954: 0xa7c, 0x3955: 0xa7d, 0x3956: 0xa7e, 0x3957: 0xa7f,\n\t0x3958: 0xa80, 0x3959: 0xa81, 0x395a: 0xa82, 0x395b: 0xa83, 0x395e: 0xa84,\n\t0x3961: 0xa85, 0x3962: 0xa86,\n\t0x3968: 0xa87, 0x396a: 0xa88,\n\t0x397a: 0xa89, 0x397b: 0xa8a, 0x397e: 0xa8b,\n\t// Block 0xe6, offset 0x3980\n\t0x3981: 0xa8c, 0x3982: 0xa8d, 0x3983: 0xa8e, 0x3984: 0xa8f,\n\t0x3988: 0xa90, 0x398b: 0xa91, 0x398c: 0xa92, 0x398d: 0xa93, 0x398f: 0xa94,\n\t0x3990: 0xa95, 0x3992: 0xa96, 0x3993: 0xa97, 0x3994: 0xa98, 0x3997: 0xa99,\n\t0x3998: 0xa9a, 0x399a: 0xa9b, 0x399b: 0xa9c,\n\t// Block 0xe7, offset 0x39c0\n\t0x39e0: 0xa9d, 0x39e1: 0xa9e, 0x39e2: 0xa9f, 0x39e3: 0xaa0, 0x39e4: 0xaa1, 0x39e5: 0xaa2, 0x39e6: 0xaa3, 0x39e7: 0xaa4,\n\t0x39e8: 0xaa5,\n\t// Block 0xe8, offset 0x3a00\n\t0x3a10: 0x09, 0x3a11: 0x0a, 0x3a12: 0x0b, 0x3a13: 0x0c, 0x3a16: 0x0d,\n\t0x3a1b: 0x0e, 0x3a1d: 0x0f, 0x3a1e: 0x10, 0x3a1f: 0xd8,\n\t0x3a20: 0xd9, 0x3a21: 0xda, 0x3a22: 0xdb, 0x3a23: 0xdc, 0x3a24: 0xdd, 0x3a25: 0xde, 0x3a26: 0xdf, 0x3a27: 0xe0,\n\t0x3a28: 0xe1, 0x3a29: 0xe2, 0x3a2a: 0xe3, 0x3a2b: 0xe4, 0x3a2f: 0xe5,\n\t// Block 0xe9, offset 0x3a40\n\t0x3a42: 0x01, 0x3a43: 0x618, 0x3a44: 0x619, 0x3a45: 0x61a, 0x3a46: 0x05, 0x3a47: 0x61b,\n\t0x3a48: 0x61c, 0x3a49: 0x08, 0x3a4a: 0x09, 0x3a4b: 0x0a, 0x3a4c: 0x0b, 0x3a4d: 0x0c, 0x3a4e: 0x0d, 0x3a4f: 0x0e,\n\t0x3a50: 0x0f, 0x3a51: 0x10, 0x3a52: 0x11, 0x3a53: 0x12, 0x3a54: 0x13, 0x3a55: 0x14, 0x3a56: 0x15, 0x3a57: 0x16,\n\t0x3a58: 0x17, 0x3a59: 0x18, 0x3a5a: 0x19, 0x3a5b: 0x1a, 0x3a5c: 0x1b, 0x3a5d: 0x1c, 0x3a5e: 0x1d, 0x3a5f: 0x1e,\n\t0x3a60: 0x01, 0x3a61: 0xce, 0x3a62: 0xcf, 0x3a63: 0xd0, 0x3a64: 0xd1, 0x3a65: 0xd2, 0x3a66: 0xd3, 0x3a67: 0xd4,\n\t0x3a68: 0xd5, 0x3a69: 0xd6, 0x3a6a: 0x06, 0x3a6d: 0x07, 0x3a6f: 0xd7,\n\t0x3a70: 0xe6, 0x3a73: 0x15,\n\t// Block 0xea, offset 0x3a80\n\t0x3a80: 0x7d, 0x3a81: 0x7e, 0x3a82: 0x7f, 0x3a83: 0x80, 0x3a84: 0x81, 0x3a85: 0x82, 0x3a86: 0x83, 0x3a87: 0x84,\n\t0x3a88: 0x85, 0x3a89: 0x86, 0x3a8a: 0x87, 0x3a8b: 0x88, 0x3a8c: 0x89, 0x3a8d: 0x8a, 0x3a8e: 0x8b, 0x3a8f: 0x8c,\n\t0x3a90: 0x8d, 0x3a91: 0x8e, 0x3a92: 0x8f, 0x3a93: 0x90, 0x3a94: 0x91, 0x3a95: 0x92, 0x3a96: 0x93, 0x3a97: 0x94,\n\t0x3a98: 0x95, 0x3a99: 0x96, 0x3a9a: 0x97, 0x3a9b: 0x98, 0x3a9c: 0x99, 0x3a9d: 0x9a, 0x3a9e: 0x9b, 0x3a9f: 0x9c,\n\t0x3aa0: 0x9d, 0x3aa1: 0x9e, 0x3aa2: 0x9f, 0x3aa3: 0xa0, 0x3aa4: 0xa1, 0x3aa5: 0xa2, 0x3aa6: 0xa3, 0x3aa7: 0xa4,\n\t0x3aa8: 0xa5, 0x3aa9: 0xa6, 0x3aaa: 0xa7, 0x3aab: 0xa8, 0x3aac: 0xa9, 0x3aad: 0xaa,\n\t0x3ab0: 0xab, 0x3ab1: 0xac, 0x3ab2: 0xad, 0x3ab3: 0xae, 0x3ab4: 0xaf, 0x3ab5: 0xb0, 0x3ab6: 0xb1, 0x3ab7: 0xb2,\n\t0x3ab8: 0xb3, 0x3aba: 0xaa6, 0x3abb: 0xaa7, 0x3abc: 0xaa8, 0x3abd: 0xaa9, 0x3abe: 0xaaa, 0x3abf: 0xaab,\n\t// Block 0xeb, offset 0x3ac0\n\t0x3ac0: 0xaac, 0x3ac1: 0xbb, 0x3ac2: 0xbc, 0x3ac3: 0xbd, 0x3ac4: 0xbe, 0x3ac5: 0xbf, 0x3ac6: 0xaad, 0x3ac7: 0xc1,\n\t0x3ac8: 0xaae, 0x3ac9: 0xaaf, 0x3aca: 0xab0, 0x3acb: 0xab1, 0x3acc: 0xc6, 0x3acd: 0xab2, 0x3ace: 0xc8, 0x3acf: 0xab3,\n\t0x3ad0: 0xab4, 0x3ad1: 0xab5, 0x3ad2: 0xab6, 0x3ad3: 0xab7, 0x3ad4: 0xab8, 0x3ad5: 0xab9, 0x3ad6: 0xaba, 0x3ad7: 0xabb,\n\t0x3ad8: 0xabc, 0x3ad9: 0xabd, 0x3ada: 0xabe, 0x3adb: 0xabf, 0x3adc: 0xac0, 0x3add: 0xac1, 0x3ade: 0xac2, 0x3adf: 0xac3,\n\t0x3ae0: 0xac4, 0x3ae1: 0xac5, 0x3ae2: 0xac6, 0x3ae3: 0xac7, 0x3ae4: 0xac8, 0x3ae5: 0xac9, 0x3ae6: 0xaca, 0x3ae7: 0xacb,\n\t0x3ae8: 0xacc, 0x3ae9: 0xacd, 0x3aea: 0xace, 0x3aeb: 0xacf, 0x3aec: 0xad0, 0x3aed: 0xad1, 0x3aee: 0xad2, 0x3aef: 0xad3,\n\t0x3af0: 0xad4, 0x3af1: 0xad5, 0x3af2: 0xad6, 0x3af3: 0xad7, 0x3af4: 0xad8, 0x3af5: 0xad9, 0x3af6: 0xada, 0x3af7: 0xadb,\n\t0x3af8: 0xadc, 0x3af9: 0xadd, 0x3afa: 0xade, 0x3afb: 0xadf, 0x3afc: 0xae0, 0x3afd: 0xae1, 0x3afe: 0xae2, 0x3aff: 0xae3,\n\t// Block 0xec, offset 0x3b00\n\t0x3b00: 0xae4, 0x3b01: 0xae5, 0x3b02: 0xae6, 0x3b03: 0xae7, 0x3b04: 0xae8, 0x3b05: 0xae9, 0x3b06: 0xaea, 0x3b07: 0xaeb,\n\t0x3b08: 0xaec, 0x3b09: 0xaed, 0x3b0a: 0xaee, 0x3b0b: 0xaef, 0x3b0c: 0xaf0, 0x3b0d: 0xaf1, 0x3b0e: 0xaf2, 0x3b0f: 0xaf3,\n\t0x3b10: 0xaf4, 0x3b11: 0xaf5, 0x3b12: 0xaf6, 0x3b13: 0xaf7, 0x3b14: 0xaf8, 0x3b15: 0xaf9, 0x3b16: 0xafa, 0x3b17: 0xafb,\n\t0x3b18: 0xafc, 0x3b19: 0xafd, 0x3b1a: 0xafe, 0x3b1b: 0xaff, 0x3b1c: 0xb00, 0x3b1d: 0xb01, 0x3b1e: 0xb02, 0x3b1f: 0xb03,\n\t0x3b20: 0xb04, 0x3b21: 0xb05, 0x3b22: 0xb06, 0x3b23: 0xb07, 0x3b24: 0xb08, 0x3b25: 0xb09, 0x3b26: 0xb0a, 0x3b27: 0xb0b,\n\t0x3b28: 0xb0c, 0x3b29: 0xb0d, 0x3b2a: 0xb0e, 0x3b2b: 0xb0f, 0x3b2c: 0xb10, 0x3b2d: 0xb11, 0x3b2e: 0xb12, 0x3b2f: 0xb13,\n\t0x3b30: 0xb14, 0x3b31: 0xb15, 0x3b32: 0xb16, 0x3b33: 0xb17, 0x3b34: 0xb18, 0x3b35: 0xb19, 0x3b36: 0xb1a, 0x3b37: 0xca,\n\t0x3b38: 0xb1b, 0x3b39: 0xb1c, 0x3b3a: 0xb1d, 0x3b3b: 0xb1e, 0x3b3c: 0xb1f, 0x3b3d: 0xb20, 0x3b3e: 0xb21, 0x3b3f: 0xb22,\n\t// Block 0xed, offset 0x3b40\n\t0x3b40: 0xb23, 0x3b41: 0xb24, 0x3b42: 0xb25, 0x3b43: 0xb26, 0x3b44: 0xb27, 0x3b45: 0xb28, 0x3b46: 0xb29, 0x3b47: 0xb2a,\n\t0x3b48: 0xb2b, 0x3b49: 0xb2c, 0x3b4a: 0xb2d, 0x3b4b: 0xb2e, 0x3b4c: 0xb2f, 0x3b4d: 0xb30, 0x3b4e: 0xb31, 0x3b4f: 0xb32,\n\t0x3b50: 0xb33, 0x3b51: 0xb34, 0x3b52: 0xb35, 0x3b53: 0xb36, 0x3b54: 0xb37, 0x3b55: 0xb38, 0x3b56: 0xb39, 0x3b57: 0xb3a,\n\t0x3b58: 0xb3b, 0x3b59: 0xb3c, 0x3b5a: 0xb3d, 0x3b5b: 0xb3e, 0x3b5c: 0xb3f, 0x3b5d: 0xb40, 0x3b5e: 0xb41, 0x3b5f: 0xb42,\n\t0x3b60: 0xb43, 0x3b61: 0xb44, 0x3b62: 0xb45, 0x3b63: 0xb46, 0x3b64: 0xb47, 0x3b65: 0xb48, 0x3b66: 0xb49, 0x3b67: 0xb4a,\n\t0x3b68: 0xb4b, 0x3b69: 0xb4c, 0x3b6a: 0xb4d, 0x3b6b: 0xb4e, 0x3b6c: 0xb4f, 0x3b6d: 0xb50, 0x3b6e: 0xb51, 0x3b6f: 0xb52,\n\t0x3b70: 0xb53, 0x3b71: 0xb54, 0x3b72: 0xb55, 0x3b73: 0xb56, 0x3b74: 0xb57, 0x3b75: 0xb58, 0x3b76: 0xb59, 0x3b77: 0xb5a,\n\t0x3b78: 0xb5b, 0x3b79: 0xb5c, 0x3b7a: 0xb5d, 0x3b7b: 0xb5e, 0x3b7c: 0xb5f, 0x3b7d: 0xb60, 0x3b7e: 0xb61, 0x3b7f: 0xb62,\n\t// Block 0xee, offset 0x3b80\n\t0x3b80: 0xb63, 0x3b81: 0xb64, 0x3b82: 0xb65, 0x3b83: 0xb66, 0x3b84: 0xb67, 0x3b85: 0xb68, 0x3b86: 0xb69, 0x3b87: 0xb6a,\n\t0x3b88: 0xb6b, 0x3b89: 0xb6c, 0x3b8a: 0xb6d, 0x3b8b: 0xb6e, 0x3b8c: 0xb6f, 0x3b8d: 0xb70, 0x3b8e: 0xb71, 0x3b8f: 0xb72,\n\t0x3b90: 0xb73, 0x3b91: 0xb74, 0x3b92: 0xb75, 0x3b93: 0xb76, 0x3b94: 0xb77, 0x3b95: 0xb78, 0x3b96: 0xb79, 0x3b97: 0xb7a,\n\t0x3b98: 0xb7b, 0x3b99: 0xb7c, 0x3b9a: 0xb7d, 0x3b9b: 0xb7e, 0x3b9c: 0xb7f, 0x3b9d: 0xb80, 0x3b9e: 0xb81, 0x3b9f: 0xb82,\n\t0x3ba0: 0xb83, 0x3ba1: 0xb84, 0x3ba2: 0xb85, 0x3ba3: 0xb86, 0x3ba4: 0xb87, 0x3ba5: 0xb88, 0x3ba6: 0xb89, 0x3ba7: 0xb8a,\n\t0x3ba8: 0xb8b, 0x3ba9: 0xb8c, 0x3baa: 0xb8d, 0x3bab: 0xb8e, 0x3bac: 0xb8f, 0x3bad: 0xb90, 0x3bae: 0xb91, 0x3baf: 0xb92,\n\t0x3bb0: 0xb93, 0x3bb1: 0xb94, 0x3bb2: 0xb95, 0x3bb3: 0xb96, 0x3bb4: 0xb97, 0x3bb5: 0xb98, 0x3bb6: 0xb99, 0x3bb7: 0xb9a,\n\t0x3bb8: 0xb9b, 0x3bb9: 0xb9c, 0x3bba: 0xb9d, 0x3bbb: 0xb9e, 0x3bbc: 0xb9f, 0x3bbd: 0xba0, 0x3bbe: 0xba1, 0x3bbf: 0xba2,\n\t// Block 0xef, offset 0x3bc0\n\t0x3bc0: 0xba3, 0x3bc1: 0xba4, 0x3bc2: 0xba5, 0x3bc3: 0xba6, 0x3bc4: 0xba7, 0x3bc5: 0xba8, 0x3bc6: 0xba9, 0x3bc7: 0xbaa,\n\t0x3bc8: 0xbab, 0x3bc9: 0xbac, 0x3bca: 0xbad, 0x3bcb: 0xbae, 0x3bcc: 0xbaf, 0x3bcd: 0xbb0, 0x3bce: 0xbb1, 0x3bcf: 0xbb2,\n\t0x3bd0: 0xbb3, 0x3bd1: 0xbb4, 0x3bd2: 0xbb5, 0x3bd3: 0xbb6, 0x3bd4: 0xbb7, 0x3bd5: 0xbb8, 0x3bd6: 0xbb9, 0x3bd7: 0xbba,\n\t0x3bd8: 0xbbb, 0x3bd9: 0xbbc, 0x3bda: 0xbbd, 0x3bdb: 0xbbe, 0x3bdc: 0xbbf, 0x3bdd: 0xbc0, 0x3bde: 0xbc1, 0x3bdf: 0xbc2,\n\t0x3be0: 0xbc3, 0x3be1: 0xbc4, 0x3be2: 0xbc5, 0x3be3: 0xbc6, 0x3be4: 0xbc7, 0x3be5: 0xbc8, 0x3be6: 0xbc9, 0x3be7: 0xbca,\n\t0x3be8: 0xbcb, 0x3be9: 0xbcc, 0x3bea: 0xbcd, 0x3beb: 0xbce, 0x3bec: 0xbcf, 0x3bed: 0xbd0, 0x3bee: 0xbd1, 0x3bef: 0xbd2,\n\t0x3bf0: 0xbd3, 0x3bf1: 0xbd4, 0x3bf2: 0xbd5, 0x3bf3: 0xbd6, 0x3bf4: 0xbd7, 0x3bf5: 0xbd8, 0x3bf6: 0xbd9, 0x3bf7: 0xbda,\n\t0x3bf8: 0xbdb, 0x3bf9: 0xbdc, 0x3bfa: 0xbdd, 0x3bfb: 0xbde, 0x3bfc: 0xbdf, 0x3bfd: 0xbe0, 0x3bfe: 0xbe1, 0x3bff: 0xbe2,\n\t// Block 0xf0, offset 0x3c00\n\t0x3c00: 0xbe3, 0x3c01: 0xbe4, 0x3c02: 0xbe5, 0x3c03: 0xbe6, 0x3c04: 0xbe7, 0x3c05: 0xbe8, 0x3c06: 0xbe9, 0x3c07: 0xbea,\n\t0x3c08: 0xbeb, 0x3c09: 0xbec, 0x3c0a: 0xbed, 0x3c0b: 0xbee, 0x3c0c: 0xbef, 0x3c0d: 0xbf0, 0x3c0e: 0xbf1, 0x3c0f: 0xbf2,\n\t0x3c10: 0xbf3, 0x3c11: 0xbf4, 0x3c12: 0xbf5, 0x3c13: 0xbf6, 0x3c14: 0xbf7, 0x3c15: 0xbf8, 0x3c16: 0xbf9, 0x3c17: 0xbfa,\n\t0x3c18: 0xbfb, 0x3c19: 0xbfc, 0x3c1a: 0xbfd, 0x3c1b: 0xbfe, 0x3c1c: 0xbff, 0x3c1d: 0xc00, 0x3c1e: 0xc01, 0x3c1f: 0xc02,\n\t0x3c20: 0xc03, 0x3c21: 0xc04, 0x3c22: 0xc05, 0x3c23: 0xc06, 0x3c24: 0xc07, 0x3c25: 0xc08, 0x3c26: 0xc09, 0x3c27: 0xc0a,\n\t0x3c28: 0xc0b, 0x3c29: 0xc0c, 0x3c2a: 0xc0d, 0x3c2b: 0xc0e, 0x3c2c: 0xc0f, 0x3c2d: 0xc10, 0x3c2e: 0xc11, 0x3c2f: 0xc12,\n\t0x3c30: 0xc13, 0x3c31: 0xc14, 0x3c32: 0xc15, 0x3c33: 0xc16, 0x3c34: 0xc17, 0x3c35: 0xc18, 0x3c36: 0xc19, 0x3c37: 0xc1a,\n\t0x3c38: 0xc1b, 0x3c39: 0xc1c, 0x3c3a: 0xc1d, 0x3c3b: 0xc1e, 0x3c3c: 0xc1f, 0x3c3d: 0xc20, 0x3c3e: 0xc21, 0x3c3f: 0xc22,\n\t// Block 0xf1, offset 0x3c40\n\t0x3c40: 0xc23, 0x3c41: 0xc24, 0x3c42: 0xc25, 0x3c43: 0xc26, 0x3c44: 0xc27, 0x3c45: 0xc28, 0x3c46: 0xc29, 0x3c47: 0xc2a,\n\t0x3c48: 0xc2b, 0x3c49: 0xc2c, 0x3c4a: 0xc2d, 0x3c4b: 0xc2e, 0x3c4c: 0xc2f, 0x3c4d: 0xc30, 0x3c4e: 0xc31, 0x3c4f: 0xc32,\n\t0x3c50: 0xc33, 0x3c51: 0xc34, 0x3c52: 0xc35, 0x3c53: 0xc36, 0x3c54: 0xc37, 0x3c55: 0xc38, 0x3c56: 0xc39, 0x3c57: 0xc3a,\n\t0x3c58: 0xc3b, 0x3c59: 0xc3c, 0x3c5a: 0xc3d, 0x3c5b: 0xc3e, 0x3c5c: 0xc3f, 0x3c5d: 0xc40, 0x3c5e: 0xc41, 0x3c5f: 0xc42,\n\t0x3c60: 0xc43, 0x3c61: 0xc44, 0x3c62: 0xc45, 0x3c63: 0xc46, 0x3c64: 0xc47, 0x3c65: 0xc48, 0x3c66: 0xc49, 0x3c67: 0xc4a,\n\t0x3c68: 0xc4b, 0x3c69: 0xc4c, 0x3c6a: 0xc4d, 0x3c6b: 0xc4e, 0x3c6c: 0xc4f, 0x3c6d: 0xc50, 0x3c6e: 0xc51, 0x3c6f: 0xc52,\n\t0x3c70: 0xc53, 0x3c71: 0xc54, 0x3c72: 0xc55, 0x3c73: 0xc56, 0x3c74: 0xc57, 0x3c75: 0xc58, 0x3c76: 0xc59, 0x3c77: 0xc5a,\n\t0x3c78: 0xc5b, 0x3c79: 0xc5c, 0x3c7a: 0xc5d, 0x3c7b: 0xc5e, 0x3c7c: 0xc5f, 0x3c7d: 0xc60, 0x3c7e: 0xc61, 0x3c7f: 0xc62,\n\t// Block 0xf2, offset 0x3c80\n\t0x3ca4: 0xc63, 0x3ca5: 0xc64, 0x3ca6: 0xc65, 0x3ca7: 0xc66,\n\t0x3ca8: 0xc67, 0x3ca9: 0xc68, 0x3caa: 0xc69, 0x3cab: 0xc6a, 0x3cac: 0x103, 0x3cad: 0x104, 0x3cae: 0x105, 0x3caf: 0x106,\n\t0x3cb0: 0x107, 0x3cb1: 0x108, 0x3cb2: 0x109, 0x3cb3: 0x10a, 0x3cb4: 0x10b, 0x3cb5: 0x10c, 0x3cb6: 0x10d, 0x3cb7: 0x10e,\n\t0x3cb8: 0x10f, 0x3cb9: 0x110, 0x3cba: 0x111, 0x3cbb: 0x112, 0x3cbc: 0x113, 0x3cbd: 0x114, 0x3cbe: 0x115, 0x3cbf: 0x116,\n\t// Block 0xf3, offset 0x3cc0\n\t0x3cc0: 0x18b, 0x3cc1: 0x18c, 0x3cc2: 0x18d, 0x3cc3: 0x18e, 0x3cc4: 0x18f, 0x3cc5: 0x190, 0x3cc6: 0x191, 0x3cc7: 0x192,\n\t0x3cc8: 0xc6b, 0x3cc9: 0xc6c, 0x3ccc: 0x195, 0x3ccd: 0x196, 0x3cce: 0x197, 0x3ccf: 0x198,\n\t0x3cd0: 0x199, 0x3cd1: 0x19a, 0x3cd2: 0x19b, 0x3cd3: 0x19c, 0x3cd4: 0x19d, 0x3cd5: 0x19e, 0x3cd7: 0x19f,\n\t0x3cd8: 0x1a0, 0x3cd9: 0x1a1, 0x3cda: 0x1a2, 0x3cdb: 0x1a3, 0x3cdc: 0x1a4, 0x3cdd: 0x1a5,\n\t// Block 0xf4, offset 0x3d00\n\t0x3d00: 0xc6d, 0x3d01: 0xc6e, 0x3d02: 0xc6f, 0x3d03: 0xc70, 0x3d04: 0xc71, 0x3d05: 0xc72, 0x3d06: 0xc73, 0x3d07: 0xc74,\n\t0x3d08: 0xc75, 0x3d09: 0xc76, 0x3d0a: 0xc77, 0x3d0b: 0xc78, 0x3d0c: 0xc79, 0x3d0d: 0xc7a, 0x3d0e: 0xc7b, 0x3d0f: 0xc7c,\n\t0x3d10: 0xc7d, 0x3d11: 0xc7e, 0x3d12: 0xc7f, 0x3d13: 0xc80, 0x3d14: 0xc81, 0x3d15: 0xc82, 0x3d16: 0xc83, 0x3d17: 0xc84,\n\t0x3d18: 0xc85, 0x3d19: 0xc86, 0x3d1a: 0xc87, 0x3d1b: 0xc88, 0x3d1c: 0xc89, 0x3d1d: 0xc8a, 0x3d1e: 0xc8b, 0x3d1f: 0xc8c,\n\t0x3d20: 0xc8d, 0x3d21: 0xc8e, 0x3d22: 0xc8f, 0x3d23: 0xc90, 0x3d24: 0xc91, 0x3d25: 0xc92, 0x3d26: 0xc93, 0x3d27: 0xc94,\n\t0x3d28: 0xc95, 0x3d29: 0xc96, 0x3d2a: 0xc97, 0x3d2b: 0xc98, 0x3d2c: 0xc99, 0x3d2d: 0xc9a, 0x3d2e: 0xc9b, 0x3d2f: 0xc9c,\n\t0x3d30: 0xc9d, 0x3d31: 0xc9e, 0x3d32: 0xc9f, 0x3d33: 0xca0, 0x3d34: 0xca1, 0x3d35: 0xca2, 0x3d36: 0xca3, 0x3d37: 0xca4,\n\t0x3d38: 0xca5, 0x3d39: 0xca6, 0x3d3a: 0xca7, 0x3d3b: 0xca8, 0x3d3c: 0xca9, 0x3d3d: 0xcaa, 0x3d3e: 0xcab, 0x3d3f: 0xcac,\n\t// Block 0xf5, offset 0x3d40\n\t0x3d40: 0xcad, 0x3d41: 0xcae, 0x3d42: 0xcaf, 0x3d43: 0xcb0, 0x3d44: 0xcb1, 0x3d45: 0xcb2, 0x3d46: 0xcb3, 0x3d47: 0xcb4,\n\t0x3d48: 0xcb5, 0x3d49: 0xcb6, 0x3d4a: 0xcb7, 0x3d4b: 0xcb8, 0x3d4c: 0xcb9, 0x3d4d: 0xcba, 0x3d4e: 0xcbb, 0x3d4f: 0xcbc,\n\t0x3d50: 0xcbd, 0x3d51: 0xcbe, 0x3d52: 0xcbf, 0x3d53: 0xcc0, 0x3d54: 0xcc1, 0x3d55: 0xcc2, 0x3d56: 0xcc3, 0x3d57: 0xcc4,\n\t0x3d58: 0xcc5, 0x3d59: 0xcc6, 0x3d5a: 0xcc7, 0x3d5b: 0xcc8, 0x3d5c: 0xcc9, 0x3d5d: 0xcca, 0x3d5e: 0xccb, 0x3d5f: 0xccc,\n\t0x3d60: 0xccd, 0x3d61: 0xcce, 0x3d62: 0xccf, 0x3d63: 0xcd0, 0x3d64: 0xcd1, 0x3d65: 0xcd2, 0x3d66: 0xcd3, 0x3d67: 0xcd4,\n\t0x3d68: 0xcd5, 0x3d69: 0xcd6, 0x3d6a: 0xcd7, 0x3d6b: 0xcd8, 0x3d6c: 0xcd9, 0x3d6d: 0xcda, 0x3d6e: 0xcdb, 0x3d6f: 0xcdc,\n\t0x3d70: 0xcdd, 0x3d71: 0xcde, 0x3d72: 0xcdf, 0x3d73: 0xce0, 0x3d74: 0xce1, 0x3d75: 0xce2, 0x3d76: 0xce3, 0x3d77: 0xce4,\n\t0x3d78: 0xce5, 0x3d79: 0xce6, 0x3d7a: 0xce7, 0x3d7b: 0xce8, 0x3d7c: 0xce9, 0x3d7d: 0xcea, 0x3d7e: 0xceb, 0x3d7f: 0xcec,\n\t// Block 0xf6, offset 0x3d80\n\t0x3d80: 0xced, 0x3d81: 0xcee, 0x3d82: 0xcef, 0x3d83: 0xcf0, 0x3d84: 0xcf1, 0x3d85: 0xcf2, 0x3d86: 0xcf3, 0x3d87: 0xcf4,\n\t0x3d88: 0xcf5, 0x3d89: 0xcf6, 0x3d8a: 0xcf7, 0x3d8b: 0xcf8, 0x3d8c: 0xcf9, 0x3d8d: 0xcfa, 0x3d8e: 0xcfb, 0x3d8f: 0xcfc,\n\t0x3d90: 0xcfd, 0x3d91: 0xcfe, 0x3d92: 0xcff, 0x3d93: 0xd00, 0x3d94: 0xd01, 0x3d95: 0xd02, 0x3d96: 0xd03, 0x3d97: 0xd04,\n\t0x3d98: 0xd05, 0x3d99: 0xd06, 0x3d9a: 0xd07, 0x3d9b: 0xd08, 0x3d9c: 0xd09, 0x3d9d: 0xd0a, 0x3d9e: 0xd0b, 0x3d9f: 0xd0c,\n\t0x3da0: 0xd0d, 0x3da1: 0xd0e, 0x3da2: 0xd0f, 0x3da3: 0xd10, 0x3da4: 0xd11, 0x3da5: 0xd12, 0x3da6: 0xd13, 0x3da7: 0xd14,\n\t0x3da8: 0xd15, 0x3da9: 0xd16, 0x3daa: 0xd17, 0x3dab: 0xd18, 0x3dac: 0xd19, 0x3dad: 0xd1a, 0x3dae: 0xd1b, 0x3daf: 0xd1c,\n\t0x3db0: 0xd1d, 0x3db1: 0xd1e, 0x3db2: 0xd1f, 0x3db3: 0xd20, 0x3db4: 0xd21, 0x3db5: 0xd22, 0x3db6: 0xd23, 0x3db7: 0xd24,\n\t0x3db8: 0xd25, 0x3db9: 0xd26, 0x3dba: 0xd27, 0x3dbb: 0xd28, 0x3dbc: 0xd29, 0x3dbd: 0xd2a, 0x3dbe: 0xd2b, 0x3dbf: 0xd2c,\n\t// Block 0xf7, offset 0x3dc0\n\t0x3dc0: 0xd2d, 0x3dc1: 0xd2e, 0x3dc2: 0xd2f, 0x3dc3: 0xd30, 0x3dc4: 0xd31, 0x3dc5: 0xd32, 0x3dc6: 0xd33, 0x3dc7: 0xd34,\n\t0x3dc8: 0xd35, 0x3dc9: 0xd36, 0x3dca: 0xd37, 0x3dcb: 0xd38, 0x3dcc: 0xd39, 0x3dcd: 0xd3a, 0x3dce: 0xd3b, 0x3dcf: 0xd3c,\n\t0x3dd0: 0xd3d, 0x3dd1: 0xd3e, 0x3dd2: 0xd3f, 0x3dd3: 0xd40, 0x3dd4: 0xd41, 0x3dd5: 0xd42, 0x3dd6: 0xd43, 0x3dd7: 0xd44,\n\t0x3dd8: 0xd45, 0x3dd9: 0xd46, 0x3dda: 0xd47, 0x3ddb: 0xd48, 0x3ddc: 0xd49, 0x3ddd: 0xd4a, 0x3dde: 0xd4b, 0x3ddf: 0xd4c,\n\t0x3de0: 0xd4d, 0x3de1: 0xd4e, 0x3de2: 0xd4f, 0x3de3: 0xd50, 0x3de4: 0xd51, 0x3de5: 0xd52, 0x3de6: 0xd53, 0x3de7: 0xd54,\n\t0x3de8: 0xd55, 0x3de9: 0xd56, 0x3dea: 0xd57, 0x3deb: 0xd58, 0x3dec: 0xd59, 0x3ded: 0xd5a, 0x3dee: 0xd5b, 0x3def: 0xd5c,\n\t0x3df0: 0xd5d, 0x3df1: 0xd5e, 0x3df2: 0xd5f, 0x3df3: 0xd60, 0x3df4: 0xd61, 0x3df5: 0xd62, 0x3df6: 0xd63, 0x3df7: 0xd64,\n\t0x3df8: 0xd65, 0x3df9: 0xd66, 0x3dfa: 0xd67, 0x3dfb: 0xd68, 0x3dfc: 0xd69, 0x3dfd: 0xd6a, 0x3dfe: 0xd6b, 0x3dff: 0xd6c,\n\t// Block 0xf8, offset 0x3e00\n\t0x3e00: 0xd6d, 0x3e01: 0xd6e, 0x3e02: 0xd6f, 0x3e03: 0xd70, 0x3e04: 0xd71, 0x3e05: 0xd72, 0x3e06: 0xd73, 0x3e07: 0xd74,\n\t0x3e08: 0xd75, 0x3e09: 0xd76, 0x3e0a: 0xd77, 0x3e0b: 0xd78, 0x3e0c: 0xd79, 0x3e0d: 0xd7a, 0x3e0e: 0xd7b, 0x3e0f: 0xd7c,\n\t0x3e10: 0xd7d, 0x3e11: 0xd7e, 0x3e12: 0xd7f, 0x3e13: 0xd80, 0x3e14: 0xd81, 0x3e15: 0xd82, 0x3e16: 0xd83, 0x3e17: 0xd84,\n\t0x3e18: 0xd85, 0x3e19: 0xd86, 0x3e1a: 0xd87, 0x3e1b: 0xd88, 0x3e1c: 0xd89, 0x3e1d: 0xd8a, 0x3e1e: 0xd8b, 0x3e1f: 0xd8c,\n\t0x3e20: 0xd8d, 0x3e21: 0xd8e, 0x3e22: 0xd8f, 0x3e23: 0xd90, 0x3e24: 0xd91, 0x3e25: 0xd92, 0x3e26: 0xd93, 0x3e27: 0xd94,\n\t0x3e28: 0xd95, 0x3e29: 0xd96, 0x3e2a: 0xd97, 0x3e2b: 0xd98, 0x3e2c: 0xd99, 0x3e2d: 0xd9a, 0x3e2e: 0xd9b, 0x3e2f: 0xd9c,\n\t0x3e30: 0xd9d, 0x3e31: 0xd9e, 0x3e32: 0xd9f, 0x3e33: 0xda0, 0x3e34: 0xda1, 0x3e35: 0xda2, 0x3e36: 0xda3, 0x3e37: 0xda4,\n\t0x3e38: 0xda5, 0x3e39: 0xda6, 0x3e3a: 0xda7, 0x3e3b: 0xda8, 0x3e3c: 0xda9, 0x3e3d: 0xdaa, 0x3e3e: 0xdab, 0x3e3f: 0xdac,\n\t// Block 0xf9, offset 0x3e40\n\t0x3e40: 0xdad, 0x3e41: 0xdae, 0x3e42: 0xdaf, 0x3e43: 0xdb0, 0x3e44: 0xdb1, 0x3e45: 0xdb2, 0x3e46: 0xdb3, 0x3e47: 0xdb4,\n\t0x3e48: 0xdb5, 0x3e49: 0xdb6, 0x3e4a: 0xdb7, 0x3e4b: 0xdb8, 0x3e4c: 0xdb9, 0x3e4d: 0xdba, 0x3e4e: 0xdbb, 0x3e4f: 0xdbc,\n\t0x3e50: 0xdbd, 0x3e51: 0xdbe, 0x3e52: 0xdbf, 0x3e53: 0xdc0, 0x3e54: 0xdc1, 0x3e55: 0xdc2, 0x3e56: 0xdc3, 0x3e57: 0xdc4,\n\t0x3e58: 0xdc5, 0x3e59: 0xdc6, 0x3e5a: 0xdc7, 0x3e5b: 0xdc8, 0x3e5c: 0xdc9, 0x3e5d: 0xdca, 0x3e5e: 0xdcb, 0x3e5f: 0xdcc,\n\t0x3e60: 0xdcd, 0x3e61: 0xdce, 0x3e62: 0xdcf, 0x3e63: 0xdd0, 0x3e64: 0xdd1, 0x3e65: 0xdd2, 0x3e66: 0xdd3, 0x3e67: 0xdd4,\n\t0x3e68: 0xdd5, 0x3e69: 0xdd6, 0x3e6a: 0xdd7, 0x3e6b: 0xdd8, 0x3e6c: 0xdd9, 0x3e6d: 0xdda, 0x3e6e: 0xddb, 0x3e6f: 0xddc,\n\t0x3e70: 0xddd, 0x3e71: 0xdde, 0x3e72: 0xddf, 0x3e73: 0xde0, 0x3e74: 0xde1, 0x3e75: 0xde2, 0x3e76: 0xde3, 0x3e77: 0xde4,\n\t0x3e78: 0xde5, 0x3e79: 0xde6, 0x3e7a: 0xde7, 0x3e7b: 0xde8, 0x3e7c: 0xde9, 0x3e7d: 0xdea, 0x3e7e: 0xdeb, 0x3e7f: 0xdec,\n\t// Block 0xfa, offset 0x3e80\n\t0x3e80: 0xded, 0x3e81: 0xdee, 0x3e82: 0xdef, 0x3e83: 0xdf0, 0x3e84: 0xdf1, 0x3e85: 0xdf2, 0x3e86: 0xdf3, 0x3e87: 0xdf4,\n\t0x3e88: 0xdf5, 0x3e89: 0xdf6, 0x3e8a: 0xdf7, 0x3e8b: 0xdf8, 0x3e8c: 0xdf9, 0x3e8d: 0xdfa, 0x3e8e: 0xdfb, 0x3e8f: 0xdfc,\n\t0x3e90: 0xdfd, 0x3e91: 0xdfe, 0x3e92: 0xdff, 0x3e93: 0xe00, 0x3e94: 0xe01, 0x3e95: 0xe02, 0x3e96: 0xe03, 0x3e97: 0xe04,\n\t0x3e98: 0xe05, 0x3e99: 0xe06, 0x3e9a: 0xe07, 0x3e9b: 0xe08, 0x3e9c: 0xe09, 0x3e9d: 0xe0a, 0x3e9e: 0xe0b, 0x3e9f: 0xe0c,\n\t0x3ea0: 0xe0d, 0x3ea1: 0xe0e, 0x3ea2: 0xe0f, 0x3ea3: 0xe10, 0x3ea4: 0xe11, 0x3ea5: 0xe12, 0x3ea6: 0xe13, 0x3ea7: 0xe14,\n\t0x3ea8: 0xe15, 0x3ea9: 0xe16, 0x3eaa: 0xe17, 0x3eab: 0xe18, 0x3eac: 0xe19, 0x3ead: 0xe1a, 0x3eae: 0xe1b, 0x3eaf: 0xe1c,\n\t0x3eb0: 0xe1d, 0x3eb1: 0xe1e, 0x3eb2: 0xe1f, 0x3eb3: 0xe20, 0x3eb4: 0xe21, 0x3eb5: 0xe22, 0x3eb6: 0xe23, 0x3eb7: 0xe24,\n\t0x3eb8: 0xe25, 0x3eb9: 0xe26, 0x3eba: 0xe27, 0x3ebb: 0xe28, 0x3ebc: 0xe29, 0x3ebd: 0xe2a, 0x3ebe: 0xe2b, 0x3ebf: 0xe2c,\n\t// Block 0xfb, offset 0x3ec0\n\t0x3ec0: 0xe2d, 0x3ec1: 0xe2e, 0x3ec2: 0xe2f, 0x3ec3: 0xe30, 0x3ec4: 0xe31, 0x3ec5: 0xe32, 0x3ec6: 0xe33, 0x3ec7: 0xe34,\n\t0x3ec8: 0xe35, 0x3ec9: 0xe36, 0x3eca: 0xe37, 0x3ecb: 0xe38, 0x3ecc: 0xe39, 0x3ecd: 0xe3a, 0x3ece: 0xe3b, 0x3ecf: 0xe3c,\n\t0x3ed0: 0xe3d, 0x3ed1: 0xe3e, 0x3ed2: 0xe3f, 0x3ed3: 0xe40, 0x3ed4: 0xe41, 0x3ed5: 0xe42, 0x3ed6: 0xe43, 0x3ed7: 0xe44,\n\t0x3ed8: 0xe45, 0x3ed9: 0xe46, 0x3eda: 0xe47, 0x3edb: 0xe48, 0x3edc: 0xe49, 0x3edd: 0xe4a, 0x3ede: 0xe4b, 0x3edf: 0xe4c,\n\t0x3ee0: 0xe4d, 0x3ee1: 0xe4e, 0x3ee2: 0xe4f, 0x3ee3: 0xe50, 0x3ee4: 0xe51, 0x3ee5: 0xe52, 0x3ee6: 0xe53, 0x3ee7: 0xe54,\n\t0x3ee8: 0xe55, 0x3ee9: 0xe56, 0x3eea: 0xe57, 0x3eeb: 0xe58, 0x3eec: 0xe59, 0x3eed: 0xe5a, 0x3eee: 0xe5b, 0x3eef: 0xe5c,\n\t0x3ef0: 0xe5d, 0x3ef1: 0xe5e, 0x3ef2: 0xe5f, 0x3ef3: 0xe60, 0x3ef4: 0xe61, 0x3ef5: 0xe62, 0x3ef6: 0xe63, 0x3ef7: 0xe64,\n\t0x3ef8: 0xe65, 0x3ef9: 0xe66, 0x3efa: 0xe67, 0x3efb: 0xe68, 0x3efc: 0xe69, 0x3efd: 0xe6a, 0x3efe: 0xe6b, 0x3eff: 0xe6c,\n\t// Block 0xfc, offset 0x3f00\n\t0x3f00: 0xe6d, 0x3f01: 0xe6e, 0x3f02: 0xe6f, 0x3f03: 0xe70, 0x3f04: 0xe71, 0x3f05: 0xe72, 0x3f06: 0xe73, 0x3f07: 0xe74,\n\t0x3f08: 0xe75, 0x3f09: 0xe76, 0x3f0a: 0xe77, 0x3f0b: 0xe78, 0x3f0c: 0xe79, 0x3f0d: 0xe7a, 0x3f0e: 0xe7b, 0x3f0f: 0xe7c,\n\t0x3f10: 0xe7d, 0x3f11: 0xe7e, 0x3f12: 0xe7f, 0x3f13: 0xe80, 0x3f14: 0xe81, 0x3f15: 0xe82, 0x3f16: 0xe83, 0x3f17: 0xe84,\n\t0x3f18: 0xe85, 0x3f19: 0xe86, 0x3f1a: 0xe87, 0x3f1b: 0xe88, 0x3f1c: 0xe89, 0x3f1d: 0xe8a, 0x3f1e: 0xe8b, 0x3f1f: 0xe8c,\n\t0x3f20: 0xe8d, 0x3f21: 0xe8e, 0x3f22: 0xe8f, 0x3f23: 0xe90, 0x3f24: 0xe91, 0x3f25: 0xe92, 0x3f26: 0xe93, 0x3f27: 0xe94,\n\t0x3f28: 0xe95, 0x3f29: 0xe96, 0x3f2a: 0xe97, 0x3f2b: 0xe98, 0x3f2c: 0xe99, 0x3f2d: 0xe9a, 0x3f2e: 0xe9b, 0x3f2f: 0xe9c,\n\t0x3f30: 0xe9d, 0x3f31: 0xe9e, 0x3f32: 0xe9f, 0x3f33: 0xea0, 0x3f34: 0xea1, 0x3f35: 0xea2, 0x3f36: 0xea3, 0x3f37: 0xea4,\n\t0x3f38: 0xea5, 0x3f39: 0xea6, 0x3f3a: 0xea7, 0x3f3b: 0xea8, 0x3f3c: 0xea9, 0x3f3d: 0xeaa, 0x3f3e: 0xeab, 0x3f3f: 0xeac,\n\t// Block 0xfd, offset 0x3f40\n\t0x3f40: 0xead, 0x3f41: 0xeae, 0x3f42: 0xeaf, 0x3f43: 0xeb0, 0x3f44: 0xeb1, 0x3f45: 0xeb2, 0x3f46: 0xeb3, 0x3f47: 0xeb4,\n\t0x3f48: 0xeb5, 0x3f49: 0xeb6, 0x3f4a: 0xeb7, 0x3f4b: 0xeb8, 0x3f4c: 0xeb9, 0x3f4d: 0xeba, 0x3f4e: 0xebb, 0x3f4f: 0xebc,\n\t0x3f50: 0xebd, 0x3f51: 0xebe, 0x3f52: 0xebf, 0x3f53: 0xec0, 0x3f54: 0xec1, 0x3f55: 0xec2, 0x3f56: 0xec3, 0x3f57: 0xec4,\n\t0x3f58: 0xec5, 0x3f59: 0xec6, 0x3f5a: 0xec7, 0x3f5b: 0xec8, 0x3f5c: 0xec9, 0x3f5d: 0xeca, 0x3f5e: 0xecb, 0x3f5f: 0xecc,\n\t0x3f60: 0xecd, 0x3f61: 0xece, 0x3f62: 0xecf, 0x3f63: 0xed0, 0x3f64: 0xed1, 0x3f65: 0xed2, 0x3f66: 0xed3, 0x3f67: 0xed4,\n\t0x3f68: 0xed5, 0x3f69: 0xed6, 0x3f6a: 0xed7, 0x3f6b: 0xed8, 0x3f6c: 0xed9, 0x3f6d: 0xeda, 0x3f6e: 0xedb, 0x3f6f: 0xedc,\n\t0x3f70: 0xedd, 0x3f71: 0xede, 0x3f72: 0xedf, 0x3f73: 0xee0, 0x3f74: 0xee1, 0x3f75: 0xee2, 0x3f76: 0xee3, 0x3f77: 0xee4,\n\t0x3f78: 0xee5, 0x3f79: 0xee6, 0x3f7a: 0xee7, 0x3f7b: 0xee8, 0x3f7c: 0xee9, 0x3f7d: 0xeea, 0x3f7e: 0xeeb, 0x3f7f: 0xeec,\n\t// Block 0xfe, offset 0x3f80\n\t0x3f80: 0xeed, 0x3f81: 0xeee, 0x3f82: 0xeef, 0x3f83: 0xef0, 0x3f84: 0xef1, 0x3f85: 0xef2, 0x3f86: 0xef3, 0x3f87: 0xef4,\n\t0x3f88: 0xef5, 0x3f89: 0xef6, 0x3f8a: 0xef7, 0x3f8b: 0xef8, 0x3f8c: 0xef9, 0x3f8d: 0xefa, 0x3f8e: 0xefb, 0x3f8f: 0xefc,\n\t0x3f90: 0xefd, 0x3f91: 0xefe, 0x3f92: 0xeff, 0x3f93: 0xf00, 0x3f94: 0xf01, 0x3f95: 0xf02, 0x3f96: 0xf03, 0x3f97: 0xf04,\n\t0x3f98: 0xf05, 0x3f99: 0xf06, 0x3f9a: 0xf07, 0x3f9b: 0xf08, 0x3f9c: 0xf09, 0x3f9d: 0xf0a, 0x3f9e: 0xf0b, 0x3f9f: 0xf0c,\n\t0x3fa0: 0xf0d, 0x3fa1: 0xf0e, 0x3fa2: 0xf0f, 0x3fa3: 0xf10, 0x3fa4: 0xf11, 0x3fa5: 0xf12, 0x3fa6: 0xf13, 0x3fa7: 0xf14,\n\t0x3fa8: 0xf15, 0x3fa9: 0xf16, 0x3faa: 0xf17, 0x3fab: 0xf18, 0x3fac: 0xf19, 0x3fad: 0xf1a, 0x3fae: 0xf1b, 0x3faf: 0xf1c,\n\t0x3fb0: 0xf1d, 0x3fb1: 0xf1e, 0x3fb2: 0xf1f, 0x3fb3: 0xf20, 0x3fb4: 0xf21, 0x3fb5: 0xf22, 0x3fb6: 0xf23, 0x3fb7: 0xf24,\n\t0x3fb8: 0xf25, 0x3fb9: 0xf26, 0x3fba: 0xf27, 0x3fbb: 0xf28, 0x3fbc: 0xf29, 0x3fbd: 0xf2a, 0x3fbe: 0xf2b, 0x3fbf: 0xf2c,\n\t// Block 0xff, offset 0x3fc0\n\t0x3fc0: 0xf2d, 0x3fc1: 0xf2e, 0x3fc2: 0xf2f, 0x3fc3: 0xf30, 0x3fc4: 0xf31, 0x3fc5: 0xf32, 0x3fc6: 0xf33, 0x3fc7: 0xf34,\n\t0x3fc8: 0xf35, 0x3fc9: 0xf36, 0x3fca: 0xf37, 0x3fcb: 0xf38, 0x3fcc: 0xf39, 0x3fcd: 0xf3a, 0x3fce: 0xf3b, 0x3fcf: 0xf3c,\n\t0x3fd0: 0xf3d, 0x3fd1: 0xf3e, 0x3fd2: 0xf3f, 0x3fd3: 0xf40, 0x3fd4: 0xf41, 0x3fd5: 0xf42, 0x3fd6: 0xf43, 0x3fd7: 0xf44,\n\t0x3fd8: 0xf45, 0x3fd9: 0xf46, 0x3fda: 0xf47, 0x3fdb: 0xf48, 0x3fdc: 0xf49, 0x3fdd: 0xf4a, 0x3fde: 0xf4b, 0x3fdf: 0xf4c,\n\t0x3fe0: 0xf4d,\n\t// Block 0x100, offset 0x4000\n\t0x4020: 0xf4e, 0x4021: 0xf4f, 0x4022: 0xf50, 0x4023: 0xf51, 0x4024: 0xf52, 0x4025: 0xf53, 0x4026: 0xf54, 0x4027: 0xf55,\n\t0x4028: 0xf56,\n\t// Block 0x101, offset 0x4040\n\t0x4050: 0x09, 0x4051: 0x0a, 0x4052: 0x0b, 0x4053: 0x0c, 0x4056: 0x0d,\n\t0x405b: 0x0e, 0x405d: 0x0f, 0x405e: 0x10, 0x405f: 0xf1,\n\t0x4060: 0xf2, 0x4061: 0xf3, 0x4062: 0xf4, 0x4063: 0xf5, 0x4064: 0xf6, 0x4065: 0xf7, 0x4066: 0xf8, 0x4067: 0xf9,\n\t0x4068: 0xfa, 0x4069: 0xfb, 0x406a: 0xfc, 0x406b: 0xfd, 0x406f: 0xfe,\n\t// Block 0x102, offset 0x4080\n\t0x4082: 0x01, 0x4083: 0x618, 0x4084: 0x619, 0x4085: 0x61a, 0x4086: 0x05, 0x4087: 0x61b,\n\t0x4088: 0x61c, 0x4089: 0x08, 0x408a: 0x09, 0x408b: 0x0a, 0x408c: 0x0b, 0x408d: 0x0c, 0x408e: 0x0d, 0x408f: 0x0e,\n\t0x4090: 0x0f, 0x4091: 0x10, 0x4092: 0x11, 0x4093: 0x12, 0x4094: 0x13, 0x4095: 0x14, 0x4096: 0x15, 0x4097: 0x16,\n\t0x4098: 0x17, 0x4099: 0x18, 0x409a: 0x19, 0x409b: 0x1a, 0x409c: 0x1b, 0x409d: 0x1c, 0x409e: 0x1d, 0x409f: 0x1e,\n\t0x40a0: 0x01, 0x40a1: 0xce, 0x40a2: 0xe8, 0x40a3: 0xe9, 0x40a4: 0xea, 0x40a5: 0xeb, 0x40a6: 0xec, 0x40a7: 0xed,\n\t0x40a8: 0xee, 0x40a9: 0xef, 0x40aa: 0x06, 0x40ad: 0x07, 0x40af: 0xf0,\n\t0x40b0: 0xff, 0x40b3: 0x15,\n}\n\n// mainCTEntries: 2529 entries, 10116 bytes\nvar mainCTEntries = [2529]struct{ L, H, N, I uint8 }{\n\t{0xCE, 0x1, 1, 255},\n\t{0xC2, 0x0, 1, 255},\n\t{0xB7, 0xB7, 0, 1},\n\t{0x87, 0x87, 0, 2},\n\t{0xCC, 0x0, 2, 255},\n\t{0x88, 0x88, 0, 2},\n\t{0x86, 0x86, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0x88, 0x88, 0, 1},\n\t{0xCD, 0x1, 1, 255},\n\t{0xCC, 0x0, 1, 255},\n\t{0x81, 0x81, 0, 1},\n\t{0x81, 0x81, 0, 2},\n\t{0xCC, 0x0, 1, 255},\n\t{0x86, 0x86, 0, 1},\n\t{0xCC, 0x0, 3, 255},\n\t{0x8B, 0x8B, 0, 3},\n\t{0x88, 0x88, 0, 2},\n\t{0x86, 0x86, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0x8F, 0x8F, 0, 1},\n\t{0xD9, 0x0, 1, 255},\n\t{0x93, 0x95, 0, 1},\n\t{0xD9, 0x0, 1, 255},\n\t{0x94, 0x94, 0, 1},\n\t{0xE0, 0x0, 2, 255},\n\t{0xA7, 0x1, 1, 255},\n\t{0xA6, 0x0, 1, 255},\n\t{0xBE, 0xBE, 0, 1},\n\t{0x97, 0x97, 0, 2},\n\t{0xE0, 0x0, 2, 255},\n\t{0xAD, 0x1, 1, 255},\n\t{0xAC, 0x0, 1, 255},\n\t{0xBE, 0xBE, 0, 1},\n\t{0x96, 0x97, 0, 2},\n\t{0xE0, 0x0, 1, 255},\n\t{0xAF, 0x0, 1, 255},\n\t{0x97, 0x97, 0, 1},\n\t{0xE0, 0x0, 2, 255},\n\t{0xAF, 0x1, 1, 255},\n\t{0xAE, 0x0, 1, 255},\n\t{0xBE, 0xBE, 0, 1},\n\t{0x97, 0x97, 0, 2},\n\t{0xE0, 0x0, 1, 255},\n\t{0xAE, 0x0, 1, 255},\n\t{0xBE, 0xBE, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xB1, 0x0, 1, 255},\n\t{0x96, 0x96, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xB3, 0x0, 1, 255},\n\t{0x95, 0x95, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xB3, 0x0, 2, 255},\n\t{0x95, 0x96, 0, 3},\n\t{0x82, 0x0, 1, 2},\n\t{0xE0, 0x0, 1, 255},\n\t{0xB3, 0x0, 1, 255},\n\t{0x95, 0x95, 0, 1},\n\t{0xE0, 0x0, 2, 255},\n\t{0xB5, 0x1, 1, 255},\n\t{0xB4, 0x0, 1, 255},\n\t{0xBE, 0xBE, 0, 1},\n\t{0x97, 0x97, 0, 2},\n\t{0xE0, 0x0, 1, 255},\n\t{0xB4, 0x0, 1, 255},\n\t{0xBE, 0xBE, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xB7, 0x0, 3, 255},\n\t{0x9F, 0x9F, 0, 4},\n\t{0x8F, 0x0, 1, 3},\n\t{0x8A, 0x8A, 0, 2},\n\t{0xE0, 0x0, 1, 255},\n\t{0xB7, 0x0, 1, 255},\n\t{0x8A, 0x8A, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xB7, 0x0, 1, 255},\n\t{0x8A, 0x8A, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xB8, 0x0, 1, 255},\n\t{0x81, 0xAE, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xB8, 0x0, 1, 255},\n\t{0xB2, 0xB2, 0, 1},\n\t{0xE0, 0x0, 2, 255},\n\t{0xBB, 0xC, 1, 255},\n\t{0xBA, 0x0, 12, 255},\n\t{0xAD, 0xAE, 0, 26},\n\t{0xAA, 0xAB, 0, 24},\n\t{0xA7, 0xA7, 0, 23},\n\t{0xA5, 0xA5, 0, 22},\n\t{0xA1, 0xA3, 0, 19},\n\t{0x99, 0x9F, 0, 12},\n\t{0x94, 0x97, 0, 8},\n\t{0x8D, 0x8D, 0, 7},\n\t{0x8A, 0x8A, 0, 6},\n\t{0x87, 0x88, 0, 4},\n\t{0x84, 0x84, 0, 3},\n\t{0x81, 0x82, 0, 1},\n\t{0x9C, 0x9F, 0, 28},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBA, 0x0, 1, 255},\n\t{0xB2, 0xB2, 0, 1},\n\t{0xEA, 0x0, 1, 255},\n\t{0xAA, 0x0, 1, 255},\n\t{0x80, 0xAF, 0, 1},\n\t{0xE0, 0x0, 2, 255},\n\t{0xBE, 0x7, 1, 255},\n\t{0xBD, 0x0, 1, 255},\n\t{0xB1, 0x0, 1, 255},\n\t{0xE0, 0x0, 2, 255},\n\t{0xBE, 0x2, 1, 255},\n\t{0xBD, 0x0, 2, 255},\n\t{0xB4, 0xB4, 0, 2},\n\t{0xB2, 0xB2, 0, 1},\n\t{0x80, 0x80, 0, 3},\n\t{0x80, 0x81, 0, 4},\n\t{0xE0, 0x0, 2, 255},\n\t{0xBE, 0x2, 1, 255},\n\t{0xBD, 0x0, 2, 255},\n\t{0xB4, 0xB4, 0, 2},\n\t{0xB2, 0xB2, 0, 1},\n\t{0x80, 0x80, 0, 3},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xAE, 0xAE, 0, 1},\n\t{0xF0, 0x0, 1, 255},\n\t{0x91, 0x0, 1, 255},\n\t{0x84, 0x0, 1, 255},\n\t{0xA7, 0xA7, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0xAC, 0x0, 1, 255},\n\t{0xB5, 0xB5, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xA7, 0x0, 1, 255},\n\t{0x8D, 0x0, 1, 255},\n\t{0xE2, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0x8D, 0x8D, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xA7, 0x0, 1, 255},\n\t{0x8D, 0x0, 1, 255},\n\t{0xE0, 0x0, 1, 255},\n\t{0xA6, 0x0, 1, 255},\n\t{0xB7, 0xB7, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0xA7, 0xA7, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0x87, 0x87, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0x68, 0x68, 0, 3},\n\t{0x48, 0x48, 0, 2},\n\t{0x8C, 0x8C, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0x8C, 0x8C, 0, 1},\n\t{0x68, 0x68, 0, 1},\n\t{0x68, 0x68, 0, 2},\n\t{0x48, 0x48, 0, 1},\n\t{0x64, 0x64, 0, 1},\n\t{0x64, 0x64, 0, 2},\n\t{0x44, 0x44, 0, 1},\n\t{0x66, 0x66, 0, 1},\n\t{0x66, 0x66, 0, 2},\n\t{0x46, 0x46, 0, 1},\n\t{0x67, 0x67, 0, 1},\n\t{0x67, 0x67, 0, 2},\n\t{0x47, 0x47, 0, 1},\n\t{0xCE, 0x1, 1, 255},\n\t{0xC2, 0x0, 1, 255},\n\t{0x6C, 0x6C, 0, 3},\n\t{0xB7, 0xB7, 0, 1},\n\t{0x87, 0x87, 0, 2},\n\t{0xCE, 0x1, 1, 255},\n\t{0xC2, 0x0, 1, 255},\n\t{0x6C, 0x6C, 0, 4},\n\t{0x4C, 0x4C, 0, 3},\n\t{0xB7, 0xB7, 0, 1},\n\t{0x87, 0x87, 0, 2},\n\t{0xCC, 0x0, 2, 255},\n\t{0x8B, 0x8B, 0, 2},\n\t{0x88, 0x88, 0, 1},\n\t{0xCC, 0x0, 2, 255},\n\t{0x61, 0x61, 0, 3},\n\t{0x8A, 0x8A, 0, 2},\n\t{0x88, 0x88, 0, 1},\n\t{0xCC, 0x0, 2, 255},\n\t{0x61, 0x61, 0, 4},\n\t{0x41, 0x41, 0, 3},\n\t{0x8A, 0x8A, 0, 2},\n\t{0x88, 0x88, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0xA8, 0xA8, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBE, 0x0, 1, 255},\n\t{0x90, 0x91, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBD, 0x0, 6, 255},\n\t{0x98, 0x42, 1, 255},\n\t{0x96, 0x31, 1, 255},\n\t{0x94, 0x1B, 1, 255},\n\t{0x84, 0x11, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x80, 0x80, 0, 73},\n\t{0xE0, 0x0, 2, 255},\n\t{0xBE, 0xD, 1, 255},\n\t{0xBD, 0x0, 13, 255},\n\t{0xBC, 0xBC, 0, 20},\n\t{0xBA, 0xBA, 0, 19},\n\t{0xB4, 0xB4, 0, 18},\n\t{0xA6, 0xA6, 0, 17},\n\t{0xA2, 0xA3, 0, 15},\n\t{0xA0, 0xA0, 0, 14},\n\t{0x9D, 0x9D, 0, 13},\n\t{0x96, 0x96, 0, 12},\n\t{0x91, 0x91, 0, 11},\n\t{0x8C, 0x8C, 0, 10},\n\t{0x8A, 0x8A, 0, 9},\n\t{0x84, 0x84, 0, 8},\n\t{0x82, 0x82, 0, 7},\n\t{0xB1, 0xB2, 0, 21},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBD, 0x0, 8, 255},\n\t{0xBC, 0xBC, 0, 30},\n\t{0xB4, 0xB4, 0, 29},\n\t{0xA2, 0xA2, 0, 28},\n\t{0x93, 0x93, 0, 27},\n\t{0x8C, 0x8C, 0, 26},\n\t{0x8A, 0x8A, 0, 25},\n\t{0x84, 0x84, 0, 24},\n\t{0x82, 0x82, 0, 23},\n\t{0xE0, 0x0, 2, 255},\n\t{0xBE, 0x12, 1, 255},\n\t{0xBD, 0x0, 11, 255},\n\t{0xBC, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 41},\n\t{0xB4, 0xB4, 0, 40},\n\t{0xA6, 0xA6, 0, 39},\n\t{0xA2, 0xA3, 0, 37},\n\t{0xA0, 0xA0, 0, 36},\n\t{0x91, 0x91, 0, 35},\n\t{0x8C, 0x8C, 0, 34},\n\t{0x8A, 0x8A, 0, 33},\n\t{0x84, 0x84, 0, 32},\n\t{0x82, 0x82, 0, 31},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBD, 0x0, 5, 255},\n\t{0xA2, 0xA2, 0, 5},\n\t{0x93, 0x93, 0, 4},\n\t{0x91, 0x91, 0, 3},\n\t{0x84, 0x84, 0, 2},\n\t{0x82, 0x82, 0, 1},\n\t{0xB1, 0xB2, 0, 42},\n\t{0xE0, 0x0, 2, 255},\n\t{0xBE, 0xD, 1, 255},\n\t{0xBD, 0x0, 13, 255},\n\t{0xBC, 0xBC, 0, 57},\n\t{0xBA, 0xBA, 0, 56},\n\t{0xB4, 0xB4, 0, 55},\n\t{0xA6, 0xA6, 0, 54},\n\t{0xA2, 0xA3, 0, 52},\n\t{0xA0, 0xA0, 0, 51},\n\t{0x96, 0x96, 0, 50},\n\t{0x93, 0x93, 0, 49},\n\t{0x91, 0x91, 0, 48},\n\t{0x8C, 0x8C, 0, 47},\n\t{0x8A, 0x8A, 0, 46},\n\t{0x84, 0x84, 0, 45},\n\t{0x82, 0x82, 0, 44},\n\t{0xB1, 0xB2, 0, 58},\n\t{0xE0, 0x0, 2, 255},\n\t{0xBE, 0x10, 1, 255},\n\t{0xBD, 0x0, 13, 255},\n\t{0xBC, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 71},\n\t{0xB4, 0xB4, 0, 70},\n\t{0xB2, 0xB2, 0, 69},\n\t{0xA6, 0xA6, 0, 68},\n\t{0xA2, 0xA2, 0, 67},\n\t{0xA0, 0xA0, 0, 66},\n\t{0x9D, 0x9D, 0, 65},\n\t{0x93, 0x93, 0, 64},\n\t{0x8C, 0x8C, 0, 63},\n\t{0x8A, 0x8A, 0, 62},\n\t{0x84, 0x84, 0, 61},\n\t{0x82, 0x82, 0, 60},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBD, 0x0, 1, 255},\n\t{0x91, 0x91, 0, 6},\n\t{0xB1, 0xB1, 0, 72},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBD, 0x0, 11, 255},\n\t{0xA6, 0x2E, 1, 255},\n\t{0xA4, 0xA4, 0, 72},\n\t{0xA3, 0x29, 1, 255},\n\t{0xA2, 0x1C, 1, 255},\n\t{0x9E, 0x9F, 0, 70},\n\t{0x99, 0x99, 0, 69},\n\t{0x91, 0xF, 1, 255},\n\t{0x8F, 0x8F, 0, 68},\n\t{0x85, 0x85, 0, 67},\n\t{0x82, 0x0, 1, 255},\n\t{0x80, 0x80, 0, 66},\n\t{0xE0, 0x0, 2, 255},\n\t{0xBE, 0xB, 1, 255},\n\t{0xBD, 0x0, 11, 255},\n\t{0xBE, 0xBE, 0, 11},\n\t{0xBC, 0xBC, 0, 10},\n\t{0xBA, 0xBA, 0, 9},\n\t{0xA2, 0xA2, 0, 8},\n\t{0xA0, 0xA0, 0, 7},\n\t{0x9D, 0x9D, 0, 6},\n\t{0x98, 0x98, 0, 5},\n\t{0x91, 0x91, 0, 4},\n\t{0x8C, 0x8C, 0, 3},\n\t{0x8A, 0x8A, 0, 2},\n\t{0x82, 0x82, 0, 1},\n\t{0xB1, 0xB3, 0, 12},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBD, 0x0, 11, 255},\n\t{0xBE, 0xBE, 0, 26},\n\t{0xBC, 0xBC, 0, 25},\n\t{0xBA, 0xBA, 0, 24},\n\t{0xB4, 0xB4, 0, 23},\n\t{0xA6, 0xA6, 0, 22},\n\t{0xA2, 0xA3, 0, 20},\n\t{0xA0, 0xA0, 0, 19},\n\t{0x98, 0x98, 0, 18},\n\t{0x8C, 0x8C, 0, 17},\n\t{0x8A, 0x8A, 0, 16},\n\t{0x82, 0x82, 0, 15},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBE, 0x0, 11, 255},\n\t{0xB3, 0xB3, 0, 37},\n\t{0xAB, 0xAB, 0, 36},\n\t{0xA9, 0xA9, 0, 35},\n\t{0xA3, 0xA3, 0, 34},\n\t{0xA1, 0xA1, 0, 33},\n\t{0x9F, 0x9F, 0, 32},\n\t{0x99, 0x99, 0, 31},\n\t{0x97, 0x97, 0, 30},\n\t{0x94, 0x94, 0, 29},\n\t{0x92, 0x92, 0, 28},\n\t{0x90, 0x90, 0, 27},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBE, 0x0, 3, 255},\n\t{0xA1, 0xA1, 0, 40},\n\t{0x9F, 0x9F, 0, 39},\n\t{0x95, 0x95, 0, 38},\n\t{0xE0, 0x0, 2, 255},\n\t{0xBE, 0xD, 10, 255},\n\t{0xBD, 0x0, 13, 255},\n\t{0xBE, 0xBE, 0, 54},\n\t{0xBC, 0xBC, 0, 53},\n\t{0xBA, 0xBA, 0, 52},\n\t{0xB4, 0xB4, 0, 51},\n\t{0xB2, 0xB2, 0, 50},\n\t{0xA2, 0xA3, 0, 48},\n\t{0x98, 0x98, 0, 47},\n\t{0x96, 0x96, 0, 46},\n\t{0x91, 0x91, 0, 45},\n\t{0x8C, 0x8C, 0, 44},\n\t{0x8A, 0x8A, 0, 43},\n\t{0x84, 0x84, 0, 42},\n\t{0x82, 0x82, 0, 41},\n\t{0xB2, 0xB3, 0, 64},\n\t{0xAD, 0xAD, 0, 63},\n\t{0xA9, 0xA9, 0, 62},\n\t{0xA3, 0xA3, 0, 61},\n\t{0xA1, 0xA1, 0, 60},\n\t{0x9F, 0x9F, 0, 59},\n\t{0x99, 0x99, 0, 58},\n\t{0x94, 0x94, 0, 57},\n\t{0x92, 0x92, 0, 56},\n\t{0x90, 0x90, 0, 55},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBE, 0x0, 11, 255},\n\t{0xAB, 0xAB, 0, 12},\n\t{0xA8, 0xA9, 0, 10},\n\t{0xA6, 0xA6, 0, 9},\n\t{0xA3, 0xA3, 0, 8},\n\t{0xA1, 0xA1, 0, 7},\n\t{0x9F, 0x9F, 0, 6},\n\t{0x99, 0x99, 0, 5},\n\t{0x97, 0x97, 0, 4},\n\t{0x94, 0x94, 0, 3},\n\t{0x92, 0x92, 0, 2},\n\t{0x90, 0x90, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBE, 0x0, 9, 255},\n\t{0xB7, 0xB7, 0, 10},\n\t{0xA6, 0xA6, 0, 9},\n\t{0xA4, 0xA4, 0, 8},\n\t{0xA1, 0xA1, 0, 7},\n\t{0x9F, 0x9F, 0, 6},\n\t{0x97, 0x97, 0, 5},\n\t{0x94, 0x95, 0, 3},\n\t{0x92, 0x92, 0, 2},\n\t{0x90, 0x90, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBD, 0x0, 9, 255},\n\t{0x9A, 0x9B, 0, 45},\n\t{0x93, 0x1D, 1, 255},\n\t{0x91, 0x11, 1, 255},\n\t{0x90, 0x90, 0, 44},\n\t{0x89, 0x89, 0, 43},\n\t{0x86, 0x87, 0, 41},\n\t{0x84, 0x8, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x81, 0x81, 0, 40},\n\t{0xE0, 0x0, 2, 255},\n\t{0xBE, 0x4, 1, 255},\n\t{0xBD, 0x0, 4, 255},\n\t{0xBC, 0xBC, 0, 5},\n\t{0xBA, 0xBA, 0, 4},\n\t{0xB4, 0xB4, 0, 3},\n\t{0xA2, 0xA3, 0, 1},\n\t{0xB1, 0xB2, 0, 6},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBD, 0x0, 7, 255},\n\t{0xBC, 0xBC, 0, 15},\n\t{0xA2, 0xA3, 0, 13},\n\t{0xA0, 0xA0, 0, 12},\n\t{0x93, 0x93, 0, 11},\n\t{0x8C, 0x8C, 0, 10},\n\t{0x8A, 0x8A, 0, 9},\n\t{0x82, 0x82, 0, 8},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBD, 0x0, 10, 255},\n\t{0xBC, 0xBC, 0, 25},\n\t{0xBA, 0xBA, 0, 24},\n\t{0xB4, 0xB4, 0, 23},\n\t{0xA2, 0xA2, 0, 22},\n\t{0xA0, 0xA0, 0, 21},\n\t{0x93, 0x93, 0, 20},\n\t{0x8C, 0x8C, 0, 19},\n\t{0x8A, 0x8A, 0, 18},\n\t{0x84, 0x84, 0, 17},\n\t{0x82, 0x82, 0, 16},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBD, 0x0, 13, 255},\n\t{0xBE, 0xBE, 0, 39},\n\t{0xBC, 0xBC, 0, 38},\n\t{0xBA, 0xBA, 0, 37},\n\t{0xB4, 0xB4, 0, 36},\n\t{0xA2, 0xA3, 0, 34},\n\t{0xA0, 0xA0, 0, 33},\n\t{0x98, 0x98, 0, 32},\n\t{0x96, 0x96, 0, 31},\n\t{0x93, 0x93, 0, 30},\n\t{0x8C, 0x8C, 0, 29},\n\t{0x8A, 0x8A, 0, 28},\n\t{0x84, 0x84, 0, 27},\n\t{0x82, 0x82, 0, 26},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBE, 0x0, 9, 255},\n\t{0xA8, 0xA9, 0, 10},\n\t{0xA6, 0xA6, 0, 9},\n\t{0xA3, 0xA4, 0, 7},\n\t{0xA1, 0xA1, 0, 6},\n\t{0x9F, 0x9F, 0, 5},\n\t{0x99, 0x99, 0, 4},\n\t{0x94, 0x94, 0, 3},\n\t{0x92, 0x92, 0, 2},\n\t{0x90, 0x90, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBD, 0x0, 8, 255},\n\t{0x9A, 0x9B, 0, 62},\n\t{0x96, 0x29, 1, 255},\n\t{0x95, 0x95, 0, 61},\n\t{0x91, 0x14, 1, 255},\n\t{0x90, 0x90, 0, 60},\n\t{0x86, 0x87, 0, 58},\n\t{0x82, 0x0, 1, 255},\n\t{0x81, 0x81, 0, 57},\n\t{0xE0, 0x0, 2, 255},\n\t{0xBE, 0x10, 1, 255},\n\t{0xBD, 0x0, 16, 255},\n\t{0xBE, 0xBE, 0, 17},\n\t{0xBC, 0xBC, 0, 16},\n\t{0xBA, 0xBA, 0, 15},\n\t{0xB4, 0xB4, 0, 14},\n\t{0xB2, 0xB2, 0, 13},\n\t{0xA6, 0xA6, 0, 12},\n\t{0xA2, 0xA3, 0, 10},\n\t{0xA0, 0xA0, 0, 9},\n\t{0x98, 0x98, 0, 8},\n\t{0x96, 0x96, 0, 7},\n\t{0x93, 0x93, 0, 6},\n\t{0x91, 0x91, 0, 5},\n\t{0x8C, 0x8C, 0, 4},\n\t{0x8A, 0x8A, 0, 3},\n\t{0x84, 0x84, 0, 2},\n\t{0x82, 0x82, 0, 1},\n\t{0xB1, 0xB2, 0, 18},\n\t{0xE0, 0x0, 2, 255},\n\t{0xBE, 0x11, 1, 255},\n\t{0xBD, 0x0, 17, 255},\n\t{0xBE, 0xBE, 0, 37},\n\t{0xBC, 0xBC, 0, 36},\n\t{0xBA, 0xBA, 0, 35},\n\t{0xB4, 0xB4, 0, 34},\n\t{0xB2, 0xB2, 0, 33},\n\t{0xA6, 0xA6, 0, 32},\n\t{0xA2, 0xA3, 0, 30},\n\t{0xA0, 0xA0, 0, 29},\n\t{0x9D, 0x9D, 0, 28},\n\t{0x98, 0x98, 0, 27},\n\t{0x96, 0x96, 0, 26},\n\t{0x93, 0x93, 0, 25},\n\t{0x91, 0x91, 0, 24},\n\t{0x8C, 0x8C, 0, 23},\n\t{0x8A, 0x8A, 0, 22},\n\t{0x84, 0x84, 0, 21},\n\t{0x82, 0x82, 0, 20},\n\t{0xB2, 0xB2, 0, 38},\n\t{0xE0, 0x0, 2, 255},\n\t{0xBE, 0xF, 1, 255},\n\t{0xBD, 0x0, 15, 255},\n\t{0xBE, 0xBE, 0, 54},\n\t{0xBC, 0xBC, 0, 53},\n\t{0xBA, 0xBA, 0, 52},\n\t{0xB4, 0xB4, 0, 51},\n\t{0xB2, 0xB2, 0, 50},\n\t{0xA2, 0xA3, 0, 48},\n\t{0xA0, 0xA0, 0, 47},\n\t{0x98, 0x98, 0, 46},\n\t{0x96, 0x96, 0, 45},\n\t{0x93, 0x93, 0, 44},\n\t{0x91, 0x91, 0, 43},\n\t{0x8C, 0x8C, 0, 42},\n\t{0x8A, 0x8A, 0, 41},\n\t{0x84, 0x84, 0, 40},\n\t{0x82, 0x82, 0, 39},\n\t{0xB1, 0xB2, 0, 55},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBD, 0x0, 10, 255},\n\t{0xA6, 0x20, 1, 255},\n\t{0xA4, 0xA4, 0, 52},\n\t{0xA1, 0xA1, 0, 51},\n\t{0x9E, 0x9F, 0, 49},\n\t{0x99, 0x99, 0, 48},\n\t{0x93, 0x11, 1, 255},\n\t{0x91, 0x0, 1, 255},\n\t{0x8F, 0x8F, 0, 47},\n\t{0x89, 0x89, 0, 46},\n\t{0x85, 0x85, 0, 45},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBD, 0x0, 15, 255},\n\t{0xBE, 0xBE, 0, 16},\n\t{0xBC, 0xBC, 0, 15},\n\t{0xBA, 0xBA, 0, 14},\n\t{0xB4, 0xB4, 0, 13},\n\t{0xB2, 0xB2, 0, 12},\n\t{0xA6, 0xA6, 0, 11},\n\t{0xA2, 0xA3, 0, 9},\n\t{0xA0, 0xA0, 0, 8},\n\t{0x98, 0x98, 0, 7},\n\t{0x96, 0x96, 0, 6},\n\t{0x93, 0x93, 0, 5},\n\t{0x8C, 0x8C, 0, 4},\n\t{0x8A, 0x8A, 0, 3},\n\t{0x84, 0x84, 0, 2},\n\t{0x82, 0x82, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBD, 0x0, 13, 255},\n\t{0xBE, 0xBE, 0, 29},\n\t{0xBC, 0xBC, 0, 28},\n\t{0xB4, 0xB4, 0, 27},\n\t{0xA6, 0xA6, 0, 26},\n\t{0xA0, 0xA0, 0, 25},\n\t{0x9D, 0x9D, 0, 24},\n\t{0x98, 0x98, 0, 23},\n\t{0x93, 0x93, 0, 22},\n\t{0x91, 0x91, 0, 21},\n\t{0x8C, 0x8C, 0, 20},\n\t{0x8A, 0x8A, 0, 19},\n\t{0x84, 0x84, 0, 18},\n\t{0x82, 0x82, 0, 17},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBD, 0x0, 14, 255},\n\t{0xBC, 0xBC, 0, 44},\n\t{0xBA, 0xBA, 0, 43},\n\t{0xB4, 0xB4, 0, 42},\n\t{0xB2, 0xB2, 0, 41},\n\t{0xA6, 0xA6, 0, 40},\n\t{0xA2, 0xA3, 0, 38},\n\t{0xA0, 0xA0, 0, 37},\n\t{0x96, 0x96, 0, 36},\n\t{0x93, 0x93, 0, 35},\n\t{0x91, 0x91, 0, 34},\n\t{0x8C, 0x8C, 0, 33},\n\t{0x8A, 0x8A, 0, 32},\n\t{0x84, 0x84, 0, 31},\n\t{0x82, 0x82, 0, 30},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBE, 0x0, 1, 255},\n\t{0x99, 0x99, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xBE, 0x0, 1, 255},\n\t{0xA4, 0xA5, 0, 1},\n\t{0xE0, 0x0, 2, 255},\n\t{0xBE, 0x9, 1, 255},\n\t{0xBD, 0x0, 3, 255},\n\t{0xB5, 0xB5, 0, 6},\n\t{0xB3, 0xB3, 0, 5},\n\t{0xB1, 0x0, 1, 4},\n\t{0xE0, 0x0, 2, 255},\n\t{0xBE, 0x2, 1, 255},\n\t{0xBD, 0x0, 2, 255},\n\t{0xB4, 0xB4, 0, 2},\n\t{0xB2, 0xB2, 0, 1},\n\t{0x80, 0x80, 0, 3},\n\t{0x80, 0x81, 0, 7},\n\t{0x7A, 0x7A, 0, 1},\n\t{0x7A, 0x7A, 0, 2},\n\t{0x5A, 0x5A, 0, 1},\n\t{0x62, 0x62, 0, 1},\n\t{0x62, 0x62, 0, 2},\n\t{0x42, 0x42, 0, 1},\n\t{0x70, 0x70, 0, 1},\n\t{0x70, 0x70, 0, 2},\n\t{0x50, 0x50, 0, 1},\n\t{0x79, 0x79, 0, 1},\n\t{0x79, 0x79, 0, 2},\n\t{0x59, 0x59, 0, 1},\n\t{0x73, 0x73, 0, 1},\n\t{0x73, 0x73, 0, 2},\n\t{0x53, 0x53, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0x82, 0x82, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0x83, 0x83, 0, 1},\n\t{0xCC, 0x0, 2, 255},\n\t{0x88, 0x88, 0, 2},\n\t{0x83, 0x83, 0, 1},\n\t{0xCC, 0x0, 2, 255},\n\t{0x8A, 0x8A, 0, 2},\n\t{0x88, 0x88, 0, 1},\n\t{0xCC, 0x0, 3, 255},\n\t{0x8B, 0x8B, 0, 3},\n\t{0x88, 0x88, 0, 2},\n\t{0x83, 0x83, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0x67, 0x67, 0, 2},\n\t{0x83, 0x83, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0x67, 0x67, 0, 3},\n\t{0x47, 0x47, 0, 2},\n\t{0x83, 0x83, 0, 1},\n\t{0xCC, 0x0, 2, 255},\n\t{0x8C, 0x8C, 0, 2},\n\t{0x81, 0x81, 0, 1},\n\t{0xC5, 0x2, 1, 255},\n\t{0x7A, 0x0, 1, 255},\n\t{0xCC, 0x0, 1, 255},\n\t{0x8C, 0x8C, 0, 1},\n\t{0xBE, 0xBE, 0, 2},\n\t{0xC5, 0x4, 1, 255},\n\t{0x7A, 0x2, 1, 255},\n\t{0x5A, 0x0, 1, 255},\n\t{0xCC, 0x0, 1, 255},\n\t{0x8C, 0x8C, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0x8C, 0x8C, 0, 2},\n\t{0xBD, 0xBE, 0, 3},\n\t{0xCE, 0x1, 1, 255},\n\t{0xC2, 0x0, 1, 255},\n\t{0x6A, 0x6A, 0, 3},\n\t{0xB7, 0xB7, 0, 1},\n\t{0x87, 0x87, 0, 2},\n\t{0xCE, 0x1, 1, 255},\n\t{0xC2, 0x0, 1, 255},\n\t{0x6A, 0x6A, 0, 4},\n\t{0x4A, 0x4A, 0, 3},\n\t{0xB7, 0xB7, 0, 1},\n\t{0x87, 0x87, 0, 2},\n\t{0x6A, 0x6A, 0, 1},\n\t{0x6A, 0x6A, 0, 2},\n\t{0x4A, 0x4A, 0, 1},\n\t{0x73, 0x73, 0, 2},\n\t{0x63, 0x0, 1, 255},\n\t{0x73, 0x73, 0, 1},\n\t{0x73, 0x73, 0, 4},\n\t{0x63, 0x1, 1, 255},\n\t{0x53, 0x53, 0, 3},\n\t{0x43, 0x0, 1, 255},\n\t{0x53, 0x53, 0, 1},\n\t{0x73, 0x73, 0, 2},\n\t{0x7A, 0x2, 1, 4},\n\t{0x64, 0x0, 1, 255},\n\t{0x7A, 0x0, 1, 2},\n\t{0x73, 0x73, 0, 1},\n\t{0x73, 0x73, 0, 3},\n\t{0x7A, 0x5, 1, 8},\n\t{0x64, 0x3, 1, 255},\n\t{0x5A, 0x2, 1, 7},\n\t{0x44, 0x0, 1, 255},\n\t{0x5A, 0x0, 1, 3},\n\t{0x53, 0x53, 0, 1},\n\t{0x53, 0x53, 0, 4},\n\t{0x7A, 0x0, 1, 5},\n\t{0x73, 0x73, 0, 2},\n\t{0x73, 0x73, 0, 6},\n\t{0x79, 0x79, 0, 2},\n\t{0x67, 0x0, 1, 255},\n\t{0x79, 0x79, 0, 1},\n\t{0x79, 0x79, 0, 4},\n\t{0x67, 0x1, 1, 255},\n\t{0x59, 0x59, 0, 3},\n\t{0x47, 0x0, 1, 255},\n\t{0x59, 0x59, 0, 1},\n\t{0x79, 0x79, 0, 2},\n\t{0xCE, 0x2, 1, 255},\n\t{0xC2, 0x1, 1, 255},\n\t{0x79, 0x79, 0, 4},\n\t{0x6C, 0x0, 1, 255},\n\t{0x79, 0x79, 0, 1},\n\t{0xB7, 0xB7, 0, 2},\n\t{0x87, 0x87, 0, 3},\n\t{0xCE, 0x3, 1, 255},\n\t{0xC2, 0x2, 1, 255},\n\t{0x79, 0x79, 0, 6},\n\t{0x6C, 0x1, 1, 255},\n\t{0x59, 0x59, 0, 5},\n\t{0x4C, 0x0, 1, 255},\n\t{0x59, 0x59, 0, 1},\n\t{0x79, 0x79, 0, 2},\n\t{0xB7, 0xB7, 0, 3},\n\t{0x87, 0x87, 0, 4},\n\t{0x79, 0x79, 0, 2},\n\t{0x6E, 0x0, 1, 255},\n\t{0x79, 0x79, 0, 1},\n\t{0x79, 0x79, 0, 4},\n\t{0x6E, 0x1, 1, 255},\n\t{0x59, 0x59, 0, 3},\n\t{0x4E, 0x0, 1, 255},\n\t{0x59, 0x59, 0, 1},\n\t{0x79, 0x79, 0, 2},\n\t{0x7A, 0x7A, 0, 2},\n\t{0x73, 0x0, 1, 255},\n\t{0x7A, 0x7A, 0, 1},\n\t{0x7A, 0x7A, 0, 4},\n\t{0x73, 0x1, 1, 255},\n\t{0x5A, 0x5A, 0, 3},\n\t{0x53, 0x0, 1, 255},\n\t{0x5A, 0x5A, 0, 1},\n\t{0x7A, 0x7A, 0, 2},\n\t{0x79, 0x79, 0, 2},\n\t{0x74, 0x0, 1, 255},\n\t{0x79, 0x79, 0, 1},\n\t{0x79, 0x79, 0, 4},\n\t{0x74, 0x1, 1, 255},\n\t{0x59, 0x59, 0, 3},\n\t{0x54, 0x0, 1, 255},\n\t{0x59, 0x59, 0, 1},\n\t{0x79, 0x79, 0, 2},\n\t{0x7A, 0x0, 1, 255},\n\t{0x73, 0x73, 0, 2},\n\t{0x73, 0x73, 0, 1},\n\t{0x7A, 0x1, 1, 255},\n\t{0x73, 0x73, 0, 4},\n\t{0x5A, 0x0, 1, 255},\n\t{0x53, 0x53, 0, 3},\n\t{0x53, 0x53, 0, 1},\n\t{0x73, 0x73, 0, 2},\n\t{0xD6, 0x0, 1, 255},\n\t{0x82, 0x82, 0, 1},\n\t{0x77, 0x77, 0, 3},\n\t{0x68, 0x68, 0, 2},\n\t{0x62, 0x62, 0, 1},\n\t{0x77, 0x77, 0, 6},\n\t{0x68, 0x68, 0, 5},\n\t{0x62, 0x62, 0, 4},\n\t{0x57, 0x57, 0, 3},\n\t{0x48, 0x48, 0, 2},\n\t{0x42, 0x42, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0xA3, 0xA3, 0, 1},\n\t{0x77, 0x77, 0, 2},\n\t{0x70, 0x70, 0, 1},\n\t{0x77, 0x77, 0, 4},\n\t{0x70, 0x70, 0, 3},\n\t{0x57, 0x57, 0, 2},\n\t{0x50, 0x50, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0x79, 0x79, 0, 3},\n\t{0x77, 0x77, 0, 2},\n\t{0x87, 0x87, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0x79, 0x79, 0, 5},\n\t{0x77, 0x77, 0, 4},\n\t{0x59, 0x59, 0, 3},\n\t{0x57, 0x57, 0, 2},\n\t{0x87, 0x87, 0, 1},\n\t{0xCC, 0x0, 3, 255},\n\t{0x8A, 0x8A, 0, 3},\n\t{0x88, 0x88, 0, 2},\n\t{0x81, 0x81, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0x81, 0x81, 0, 1},\n\t{0xCC, 0x0, 2, 255},\n\t{0x88, 0x88, 0, 2},\n\t{0x81, 0x81, 0, 1},\n\t{0xE3, 0x0, 2, 255},\n\t{0x83, 0x1, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x9D, 0x9D, 0, 1},\n\t{0xBC, 0xBC, 0, 2},\n\t{0xE3, 0x0, 1, 255},\n\t{0x83, 0x0, 1, 255},\n\t{0xBC, 0xBD, 0, 1},\n\t{0xE3, 0x0, 2, 255},\n\t{0x83, 0x7, 1, 255},\n\t{0x82, 0x0, 2, 255},\n\t{0x9D, 0x9D, 0, 3},\n\t{0x99, 0x0, 1, 255},\n\t{0xE3, 0x0, 2, 255},\n\t{0x83, 0x1, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x9D, 0x9D, 0, 1},\n\t{0xBC, 0xBC, 0, 2},\n\t{0xBC, 0xBC, 0, 4},\n\t{0xE3, 0x0, 2, 255},\n\t{0x83, 0x4, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x99, 0x0, 1, 255},\n\t{0xE3, 0x0, 1, 255},\n\t{0x83, 0x0, 1, 255},\n\t{0xBC, 0xBD, 0, 1},\n\t{0xBC, 0xBD, 0, 3},\n\t{0xE3, 0x0, 2, 255},\n\t{0x83, 0xE, 1, 255},\n\t{0x82, 0x0, 3, 255},\n\t{0x9E, 0x9E, 0, 6},\n\t{0x9D, 0x8, 1, 5},\n\t{0x99, 0x0, 1, 255},\n\t{0xE3, 0x0, 2, 255},\n\t{0x83, 0x4, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x9D, 0x0, 1, 2},\n\t{0xE3, 0x0, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x99, 0x99, 0, 1},\n\t{0xBC, 0xBC, 0, 3},\n\t{0xE3, 0x0, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x99, 0x99, 0, 4},\n\t{0xBC, 0xBC, 0, 7},\n\t{0xE3, 0x0, 2, 255},\n\t{0x83, 0x8, 2, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x99, 0x0, 1, 255},\n\t{0xE3, 0x0, 1, 255},\n\t{0x83, 0x0, 2, 255},\n\t{0xBD, 0x0, 1, 3},\n\t{0xBC, 0xBD, 0, 2},\n\t{0xE3, 0x0, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x99, 0x99, 0, 1},\n\t{0xBD, 0x0, 1, 6},\n\t{0xBC, 0xBE, 0, 5},\n\t{0xE3, 0x0, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x99, 0x99, 0, 4},\n\t{0xE3, 0x0, 1, 255},\n\t{0x83, 0x0, 2, 255},\n\t{0xBD, 0x0, 1, 3},\n\t{0xBC, 0xBE, 0, 2},\n\t{0xE3, 0x0, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x99, 0x99, 0, 1},\n\t{0xE3, 0x0, 2, 255},\n\t{0x83, 0x1, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x9D, 0x9E, 0, 1},\n\t{0xBC, 0xBC, 0, 3},\n\t{0xE3, 0x0, 1, 255},\n\t{0x83, 0x0, 1, 255},\n\t{0xBC, 0xBE, 0, 1},\n\t{0xE3, 0x0, 2, 255},\n\t{0x83, 0x17, 1, 255},\n\t{0x82, 0x0, 4, 255},\n\t{0x9E, 0x9E, 0, 9},\n\t{0x9D, 0x10, 1, 8},\n\t{0x9A, 0x8, 1, 255},\n\t{0x99, 0x0, 1, 255},\n\t{0xE3, 0x0, 2, 255},\n\t{0x83, 0x4, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x9D, 0x0, 1, 3},\n\t{0xE3, 0x0, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x99, 0x99, 0, 1},\n\t{0xBC, 0xBC, 0, 4},\n\t{0xE3, 0x0, 2, 255},\n\t{0x83, 0x4, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x9D, 0x0, 1, 5},\n\t{0xE3, 0x0, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x99, 0x99, 0, 2},\n\t{0xBC, 0xBC, 0, 6},\n\t{0xE3, 0x0, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x99, 0x99, 0, 7},\n\t{0xBC, 0xBC, 0, 10},\n\t{0xE3, 0x0, 2, 255},\n\t{0x83, 0x10, 2, 255},\n\t{0x82, 0x0, 2, 255},\n\t{0x9A, 0x7, 1, 255},\n\t{0x99, 0x0, 1, 255},\n\t{0xE3, 0x0, 1, 255},\n\t{0x83, 0x0, 2, 255},\n\t{0xBD, 0x0, 1, 4},\n\t{0xBC, 0xBD, 0, 3},\n\t{0xE3, 0x0, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x99, 0x99, 0, 1},\n\t{0xE3, 0x0, 1, 255},\n\t{0x83, 0x0, 2, 255},\n\t{0xBD, 0x0, 1, 6},\n\t{0xBC, 0xBD, 0, 5},\n\t{0xE3, 0x0, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x99, 0x99, 0, 2},\n\t{0xBD, 0x0, 1, 9},\n\t{0xBC, 0xBE, 0, 8},\n\t{0xE3, 0x0, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x99, 0x99, 0, 7},\n\t{0xE3, 0x0, 2, 255},\n\t{0x83, 0x5, 1, 255},\n\t{0x82, 0x0, 2, 255},\n\t{0x9E, 0x9E, 0, 3},\n\t{0x9D, 0x0, 1, 2},\n\t{0xE3, 0x0, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x99, 0x99, 0, 1},\n\t{0xBC, 0xBC, 0, 4},\n\t{0xE3, 0x0, 1, 255},\n\t{0x82, 0x0, 1, 255},\n\t{0x9D, 0x9D, 0, 1},\n\t{0xE3, 0x0, 1, 255},\n\t{0x83, 0x0, 1, 255},\n\t{0xBD, 0xBD, 0, 1},\n\t{0x27, 0x27, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x9F, 0x0, 1, 255},\n\t{0x8C, 0x8C, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x9F, 0x0, 1, 255},\n\t{0x86, 0x87, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x9F, 0x0, 1, 255},\n\t{0x86, 0x86, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x9F, 0x0, 1, 255},\n\t{0x87, 0x87, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xA5, 0x0, 1, 255},\n\t{0x8D, 0x0, 1, 255},\n\t{0xE0, 0x0, 1, 255},\n\t{0xA4, 0x0, 1, 255},\n\t{0xB7, 0xB7, 0, 1},\n\t{0x76, 0x76, 0, 8},\n\t{0x70, 0x70, 0, 7},\n\t{0x66, 0x66, 0, 6},\n\t{0x62, 0x62, 0, 5},\n\t{0x56, 0x56, 0, 4},\n\t{0x50, 0x50, 0, 3},\n\t{0x46, 0x46, 0, 2},\n\t{0x42, 0x42, 0, 1},\n\t{0x79, 0x7A, 0, 17},\n\t{0x73, 0x74, 0, 15},\n\t{0x6B, 0x6B, 0, 14},\n\t{0x67, 0x2, 2, 13},\n\t{0x64, 0x64, 0, 12},\n\t{0x59, 0x5A, 0, 10},\n\t{0x53, 0x54, 0, 8},\n\t{0x4B, 0x4B, 0, 7},\n\t{0x47, 0x0, 2, 6},\n\t{0x44, 0x44, 0, 5},\n\t{0x62, 0x62, 0, 2},\n\t{0x42, 0x42, 0, 1},\n\t{0x62, 0x62, 0, 4},\n\t{0x42, 0x42, 0, 3},\n\t{0x79, 0x7A, 0, 16},\n\t{0x73, 0x74, 0, 14},\n\t{0x6B, 0x6B, 0, 13},\n\t{0x67, 0x1, 2, 12},\n\t{0x64, 0x64, 0, 11},\n\t{0x59, 0x5A, 0, 9},\n\t{0x53, 0x54, 0, 7},\n\t{0x4B, 0x4B, 0, 6},\n\t{0x47, 0x0, 1, 5},\n\t{0x44, 0x44, 0, 4},\n\t{0x42, 0x42, 0, 1},\n\t{0x62, 0x62, 0, 3},\n\t{0x42, 0x42, 0, 2},\n\t{0xCC, 0x0, 2, 255},\n\t{0x83, 0x83, 0, 3},\n\t{0x80, 0x81, 0, 1},\n\t{0xCC, 0x0, 2, 255},\n\t{0xA8, 0xA8, 0, 2},\n\t{0x87, 0x87, 0, 1},\n\t{0xCC, 0x0, 2, 255},\n\t{0xA8, 0xA8, 0, 2},\n\t{0x84, 0x84, 0, 1},\n\t{0xCE, 0x2, 1, 255},\n\t{0xCC, 0x1, 1, 255},\n\t{0xC2, 0x0, 1, 255},\n\t{0xB7, 0xB7, 0, 1},\n\t{0xA7, 0xA7, 0, 2},\n\t{0x87, 0x87, 0, 3},\n\t{0xE0, 0x0, 1, 255},\n\t{0xB5, 0x0, 1, 255},\n\t{0x8D, 0x0, 1, 255},\n\t{0xE2, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0x8D, 0x8D, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xB5, 0x0, 1, 255},\n\t{0x8D, 0x0, 1, 255},\n\t{0xE2, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0x8D, 0x0, 1, 255},\n\t{0x20, 0x20, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xB5, 0x0, 1, 255},\n\t{0x8D, 0x8D, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xA5, 0x0, 1, 255},\n\t{0x8D, 0x0, 1, 255},\n\t{0xE0, 0x0, 1, 255},\n\t{0xA4, 0x0, 1, 255},\n\t{0x9E, 0x9E, 0, 1},\n\t{0xCC, 0x1, 1, 255},\n\t{0xC4, 0x0, 1, 255},\n\t{0xA6, 0xA7, 0, 1},\n\t{0x87, 0x87, 0, 3},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 2, 255},\n\t{0xBA, 0xBA, 0, 3},\n\t{0xB9, 0x0, 1, 2},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0x99, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0x84, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB8, 0xB8, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 2, 255},\n\t{0xBA, 0x0, 1, 3},\n\t{0xB9, 0xBA, 0, 2},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xAF, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0x95, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 3, 255},\n\t{0xBA, 0xBA, 0, 4},\n\t{0xB9, 0x9, 1, 3},\n\t{0x80, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBB, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xAC, 0xAC, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0x98, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 2},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0x84, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB8, 0xB8, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 2, 255},\n\t{0xBA, 0xBA, 0, 3},\n\t{0xB9, 0x0, 1, 2},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0x99, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xAE, 0xAE, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 2, 255},\n\t{0xAF, 0x0, 1, 255},\n\t{0xAE, 0xAE, 0, 2},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB6, 0xB6, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 31, 255},\n\t{0xB1, 0x5A, 1, 255},\n\t{0x9F, 0x57, 1, 255},\n\t{0x9E, 0x54, 1, 255},\n\t{0x9C, 0x51, 1, 255},\n\t{0x9B, 0x4E, 1, 255},\n\t{0x9A, 0x4B, 1, 255},\n\t{0x99, 0x48, 1, 255},\n\t{0x98, 0x45, 1, 255},\n\t{0x97, 0x42, 1, 255},\n\t{0x96, 0x3F, 1, 255},\n\t{0x95, 0x3C, 1, 255},\n\t{0x94, 0x39, 1, 255},\n\t{0x93, 0x36, 1, 255},\n\t{0x92, 0x33, 1, 255},\n\t{0x91, 0x30, 1, 255},\n\t{0x90, 0x2D, 1, 255},\n\t{0x8F, 0x2A, 1, 255},\n\t{0x8E, 0x27, 1, 255},\n\t{0x8D, 0x24, 1, 255},\n\t{0x8C, 0x21, 1, 255},\n\t{0x8B, 0x1E, 1, 255},\n\t{0x8A, 0x1B, 1, 255},\n\t{0x89, 0x18, 1, 255},\n\t{0x87, 0x15, 1, 255},\n\t{0x86, 0x12, 1, 255},\n\t{0x85, 0xF, 1, 255},\n\t{0x84, 0xC, 1, 255},\n\t{0x83, 0x9, 1, 255},\n\t{0x82, 0x6, 1, 255},\n\t{0x81, 0x3, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 61},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 63},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 65},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 67},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 69},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 71},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 73},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 75},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 77},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 79},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 81},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 83},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 85},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 87},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 89},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 91},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 93},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 95},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 97},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 99},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 101},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 103},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 105},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 107},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 109},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 111},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 113},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 115},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 117},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 119},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xAC, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 30, 255},\n\t{0x9F, 0x57, 1, 255},\n\t{0x9E, 0x54, 1, 255},\n\t{0x9C, 0x51, 1, 255},\n\t{0x9B, 0x4E, 1, 255},\n\t{0x9A, 0x4B, 1, 255},\n\t{0x99, 0x48, 1, 255},\n\t{0x98, 0x45, 1, 255},\n\t{0x97, 0x42, 1, 255},\n\t{0x96, 0x3F, 1, 255},\n\t{0x95, 0x3C, 1, 255},\n\t{0x94, 0x39, 1, 255},\n\t{0x93, 0x36, 1, 255},\n\t{0x92, 0x33, 1, 255},\n\t{0x91, 0x30, 1, 255},\n\t{0x90, 0x2D, 1, 255},\n\t{0x8F, 0x2A, 1, 255},\n\t{0x8E, 0x27, 1, 255},\n\t{0x8D, 0x24, 1, 255},\n\t{0x8C, 0x21, 1, 255},\n\t{0x8B, 0x1E, 1, 255},\n\t{0x8A, 0x1B, 1, 255},\n\t{0x89, 0x18, 1, 255},\n\t{0x87, 0x15, 1, 255},\n\t{0x86, 0x12, 1, 255},\n\t{0x85, 0xF, 1, 255},\n\t{0x84, 0xC, 1, 255},\n\t{0x83, 0x9, 1, 255},\n\t{0x82, 0x6, 1, 255},\n\t{0x81, 0x3, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 3},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 5},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 7},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 9},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 11},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 13},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 15},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 17},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 19},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 21},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 23},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 25},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 27},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 29},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 31},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 33},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 35},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 37},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 39},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 41},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 43},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 45},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 47},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 49},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 51},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 53},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 55},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 57},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 59},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 36, 255},\n\t{0xAC, 0xF7, 1, 197},\n\t{0xAB, 0x69, 1, 196},\n\t{0xA1, 0x66, 1, 255},\n\t{0xA0, 0x63, 1, 255},\n\t{0x9F, 0x60, 1, 255},\n\t{0x9E, 0x5D, 1, 255},\n\t{0x9D, 0x5A, 1, 255},\n\t{0x9C, 0x57, 1, 255},\n\t{0x9B, 0x54, 1, 255},\n\t{0x9A, 0x51, 1, 255},\n\t{0x99, 0x4E, 1, 255},\n\t{0x98, 0x4B, 1, 255},\n\t{0x97, 0x48, 1, 255},\n\t{0x96, 0x45, 1, 255},\n\t{0x95, 0x42, 1, 255},\n\t{0x94, 0x3F, 1, 255},\n\t{0x93, 0x3C, 1, 255},\n\t{0x92, 0x39, 1, 255},\n\t{0x91, 0x36, 1, 255},\n\t{0x90, 0x33, 1, 255},\n\t{0x8F, 0x30, 1, 255},\n\t{0x8E, 0x2D, 1, 255},\n\t{0x8D, 0x2A, 1, 255},\n\t{0x8C, 0x27, 1, 255},\n\t{0x8B, 0x24, 1, 255},\n\t{0x8A, 0x21, 1, 255},\n\t{0x89, 0x1E, 1, 255},\n\t{0x88, 0x1B, 1, 255},\n\t{0x87, 0x18, 1, 255},\n\t{0x86, 0x15, 1, 255},\n\t{0x85, 0x12, 1, 255},\n\t{0x84, 0xC, 1, 255},\n\t{0x83, 0x9, 1, 255},\n\t{0x82, 0x6, 1, 255},\n\t{0x81, 0x3, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 131},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 133},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 135},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 137},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0x0, 1, 139},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xB9, 0, 4},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 140},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 142},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 144},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 146},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 147},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 149},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 151},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 153},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 155},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 157},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 159},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 161},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 163},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 165},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 167},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 169},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 171},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 173},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 175},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 177},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 179},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 181},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 183},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 185},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 187},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 188},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 190},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 192},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 193},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 35, 255},\n\t{0xBA, 0xBA, 0, 194},\n\t{0xA1, 0x66, 1, 255},\n\t{0xA0, 0x63, 1, 255},\n\t{0x9F, 0x60, 1, 255},\n\t{0x9E, 0x5D, 1, 255},\n\t{0x9D, 0x5A, 1, 255},\n\t{0x9C, 0x57, 1, 255},\n\t{0x9B, 0x54, 1, 255},\n\t{0x9A, 0x51, 1, 255},\n\t{0x99, 0x4E, 1, 255},\n\t{0x98, 0x4B, 1, 255},\n\t{0x97, 0x48, 1, 255},\n\t{0x96, 0x45, 1, 255},\n\t{0x95, 0x42, 1, 255},\n\t{0x94, 0x3F, 1, 255},\n\t{0x93, 0x3C, 1, 255},\n\t{0x92, 0x39, 1, 255},\n\t{0x91, 0x36, 1, 255},\n\t{0x90, 0x33, 1, 255},\n\t{0x8F, 0x30, 1, 255},\n\t{0x8E, 0x2D, 1, 255},\n\t{0x8D, 0x2A, 1, 255},\n\t{0x8C, 0x27, 1, 255},\n\t{0x8B, 0x24, 1, 255},\n\t{0x8A, 0x21, 1, 255},\n\t{0x89, 0x1E, 1, 255},\n\t{0x88, 0x1B, 1, 255},\n\t{0x87, 0x18, 1, 255},\n\t{0x86, 0x15, 1, 255},\n\t{0x85, 0x12, 1, 255},\n\t{0x84, 0xC, 1, 255},\n\t{0x83, 0x9, 1, 255},\n\t{0x82, 0x6, 1, 255},\n\t{0x81, 0x3, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 5},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 7},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 9},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 11},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0x0, 1, 13},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xB9, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 14},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 16},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 18},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 20},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 21},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 23},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 25},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 27},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 29},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 31},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 33},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 35},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 37},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 39},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 41},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 43},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 45},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 47},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 49},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 51},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 53},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 55},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 57},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 59},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 61},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 62},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 64},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 66},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 67},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 35, 255},\n\t{0xBA, 0xBA, 0, 195},\n\t{0xA1, 0x6A, 1, 255},\n\t{0xA0, 0x67, 1, 255},\n\t{0x9F, 0x64, 1, 255},\n\t{0x9E, 0x61, 1, 255},\n\t{0x9D, 0x5E, 1, 255},\n\t{0x9C, 0x5B, 1, 255},\n\t{0x9B, 0x58, 1, 255},\n\t{0x9A, 0x55, 1, 255},\n\t{0x99, 0x52, 1, 255},\n\t{0x98, 0x4F, 1, 255},\n\t{0x97, 0x4C, 1, 255},\n\t{0x96, 0x49, 1, 255},\n\t{0x95, 0x46, 1, 255},\n\t{0x94, 0x43, 1, 255},\n\t{0x93, 0x40, 1, 255},\n\t{0x92, 0x3D, 1, 255},\n\t{0x91, 0x3A, 1, 255},\n\t{0x90, 0x37, 1, 255},\n\t{0x8F, 0x34, 1, 255},\n\t{0x8E, 0x31, 1, 255},\n\t{0x8D, 0x2E, 1, 255},\n\t{0x8C, 0x2B, 1, 255},\n\t{0x8B, 0x28, 1, 255},\n\t{0x8A, 0x25, 1, 255},\n\t{0x89, 0x22, 1, 255},\n\t{0x88, 0x1F, 1, 255},\n\t{0x87, 0x1C, 1, 255},\n\t{0x86, 0x19, 1, 255},\n\t{0x85, 0x16, 1, 255},\n\t{0x84, 0x10, 1, 255},\n\t{0x83, 0xD, 1, 255},\n\t{0x82, 0xA, 1, 255},\n\t{0x81, 0x7, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 2, 255},\n\t{0xBA, 0x0, 1, 69},\n\t{0xB9, 0xBA, 0, 68},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBB, 0xBB, 0, 2},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 70},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 72},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 74},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0x0, 1, 76},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xB9, 0, 3},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 77},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 79},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 81},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 83},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 84},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 86},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 88},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 90},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 92},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 94},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 96},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 98},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 100},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 102},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 104},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 106},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 108},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 110},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 112},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 114},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 116},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 118},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 120},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 122},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 124},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 125},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 127},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 129},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 130},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 36, 255},\n\t{0xB6, 0xFE, 1, 134},\n\t{0xAF, 0x71, 1, 133},\n\t{0xA1, 0x6E, 1, 255},\n\t{0xA0, 0x6B, 1, 255},\n\t{0x9F, 0x68, 1, 255},\n\t{0x9E, 0x65, 1, 255},\n\t{0x9D, 0x62, 1, 255},\n\t{0x9C, 0x5F, 1, 255},\n\t{0x9B, 0x5C, 1, 255},\n\t{0x9A, 0x59, 1, 255},\n\t{0x99, 0x4E, 1, 255},\n\t{0x98, 0x4B, 1, 255},\n\t{0x97, 0x48, 1, 255},\n\t{0x96, 0x45, 1, 255},\n\t{0x95, 0x42, 1, 255},\n\t{0x94, 0x3F, 1, 255},\n\t{0x93, 0x3C, 1, 255},\n\t{0x92, 0x39, 1, 255},\n\t{0x91, 0x36, 1, 255},\n\t{0x90, 0x33, 1, 255},\n\t{0x8F, 0x30, 1, 255},\n\t{0x8E, 0x2D, 1, 255},\n\t{0x8D, 0x2A, 1, 255},\n\t{0x8C, 0x27, 1, 255},\n\t{0x8B, 0x24, 1, 255},\n\t{0x8A, 0x21, 1, 255},\n\t{0x89, 0x1E, 1, 255},\n\t{0x88, 0x1B, 1, 255},\n\t{0x87, 0x18, 1, 255},\n\t{0x86, 0x15, 1, 255},\n\t{0x85, 0x12, 1, 255},\n\t{0x84, 0xC, 1, 255},\n\t{0x83, 0x9, 1, 255},\n\t{0x82, 0x6, 1, 255},\n\t{0x81, 0x3, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 68},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 70},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 72},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 74},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0x0, 1, 76},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xB9, 0, 2},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 77},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 79},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 81},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 83},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 84},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 86},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 88},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 90},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 92},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 94},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 96},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 98},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 100},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 102},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 104},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 106},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 108},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 110},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 112},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 114},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 3, 255},\n\t{0xBA, 0x3, 1, 117},\n\t{0xB9, 0xBA, 0, 116},\n\t{0xB7, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 3},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB8, 0xB8, 0, 4},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 118},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 120},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 122},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 124},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 125},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 127},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 129},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 130},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 34, 255},\n\t{0xA1, 0x66, 1, 255},\n\t{0xA0, 0x63, 1, 255},\n\t{0x9F, 0x60, 1, 255},\n\t{0x9E, 0x5D, 1, 255},\n\t{0x9D, 0x5A, 1, 255},\n\t{0x9C, 0x57, 1, 255},\n\t{0x9B, 0x54, 1, 255},\n\t{0x9A, 0x51, 1, 255},\n\t{0x99, 0x4E, 1, 255},\n\t{0x98, 0x4B, 1, 255},\n\t{0x97, 0x48, 1, 255},\n\t{0x96, 0x45, 1, 255},\n\t{0x95, 0x42, 1, 255},\n\t{0x94, 0x3F, 1, 255},\n\t{0x93, 0x3C, 1, 255},\n\t{0x92, 0x39, 1, 255},\n\t{0x91, 0x36, 1, 255},\n\t{0x90, 0x33, 1, 255},\n\t{0x8F, 0x30, 1, 255},\n\t{0x8E, 0x2D, 1, 255},\n\t{0x8D, 0x2A, 1, 255},\n\t{0x8C, 0x27, 1, 255},\n\t{0x8B, 0x24, 1, 255},\n\t{0x8A, 0x21, 1, 255},\n\t{0x89, 0x1E, 1, 255},\n\t{0x88, 0x1B, 1, 255},\n\t{0x87, 0x18, 1, 255},\n\t{0x86, 0x15, 1, 255},\n\t{0x85, 0x12, 1, 255},\n\t{0x84, 0xC, 1, 255},\n\t{0x83, 0x9, 1, 255},\n\t{0x82, 0x6, 1, 255},\n\t{0x81, 0x3, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 5},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 7},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 9},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 11},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0x0, 1, 13},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xB9, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 14},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 16},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 18},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 20},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 21},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 23},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 25},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 27},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 29},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 31},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 33},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 35},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 37},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 39},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 41},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 43},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 45},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 47},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 49},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 51},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 53},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 55},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 57},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 59},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 61},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 62},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 64},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 66},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 67},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB7, 0xB8, 0, 131},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 34, 255},\n\t{0xA1, 0x66, 1, 255},\n\t{0xA0, 0x63, 1, 255},\n\t{0x9F, 0x60, 1, 255},\n\t{0x9E, 0x5D, 1, 255},\n\t{0x9D, 0x5A, 1, 255},\n\t{0x9C, 0x57, 1, 255},\n\t{0x9B, 0x54, 1, 255},\n\t{0x9A, 0x51, 1, 255},\n\t{0x99, 0x4E, 1, 255},\n\t{0x98, 0x4B, 1, 255},\n\t{0x97, 0x48, 1, 255},\n\t{0x96, 0x45, 1, 255},\n\t{0x95, 0x42, 1, 255},\n\t{0x94, 0x3F, 1, 255},\n\t{0x93, 0x3C, 1, 255},\n\t{0x92, 0x39, 1, 255},\n\t{0x91, 0x36, 1, 255},\n\t{0x90, 0x33, 1, 255},\n\t{0x8F, 0x30, 1, 255},\n\t{0x8E, 0x2D, 1, 255},\n\t{0x8D, 0x2A, 1, 255},\n\t{0x8C, 0x27, 1, 255},\n\t{0x8B, 0x24, 1, 255},\n\t{0x8A, 0x21, 1, 255},\n\t{0x89, 0x1E, 1, 255},\n\t{0x88, 0x1B, 1, 255},\n\t{0x87, 0x18, 1, 255},\n\t{0x86, 0x15, 1, 255},\n\t{0x85, 0x12, 1, 255},\n\t{0x84, 0xC, 1, 255},\n\t{0x83, 0x9, 1, 255},\n\t{0x82, 0x6, 1, 255},\n\t{0x81, 0x3, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 2},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 4},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 6},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 8},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0x0, 1, 10},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xB9, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 11},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 13},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 15},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 17},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 18},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 20},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 22},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 24},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 26},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 28},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 30},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 32},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 34},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 36},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 38},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 40},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 42},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 44},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 46},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 48},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 50},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 52},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 54},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 56},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 58},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 59},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 61},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 63},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 64},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 35, 255},\n\t{0xB6, 0x71, 1, 69},\n\t{0xA1, 0x6E, 1, 255},\n\t{0xA0, 0x6B, 1, 255},\n\t{0x9F, 0x68, 1, 255},\n\t{0x9E, 0x65, 1, 255},\n\t{0x9D, 0x62, 1, 255},\n\t{0x9C, 0x5F, 1, 255},\n\t{0x9B, 0x5C, 1, 255},\n\t{0x9A, 0x59, 1, 255},\n\t{0x99, 0x4E, 1, 255},\n\t{0x98, 0x4B, 1, 255},\n\t{0x97, 0x48, 1, 255},\n\t{0x96, 0x45, 1, 255},\n\t{0x95, 0x42, 1, 255},\n\t{0x94, 0x3F, 1, 255},\n\t{0x93, 0x3C, 1, 255},\n\t{0x92, 0x39, 1, 255},\n\t{0x91, 0x36, 1, 255},\n\t{0x90, 0x33, 1, 255},\n\t{0x8F, 0x30, 1, 255},\n\t{0x8E, 0x2D, 1, 255},\n\t{0x8D, 0x2A, 1, 255},\n\t{0x8C, 0x27, 1, 255},\n\t{0x8B, 0x24, 1, 255},\n\t{0x8A, 0x21, 1, 255},\n\t{0x89, 0x1E, 1, 255},\n\t{0x88, 0x1B, 1, 255},\n\t{0x87, 0x18, 1, 255},\n\t{0x86, 0x15, 1, 255},\n\t{0x85, 0x12, 1, 255},\n\t{0x84, 0xC, 1, 255},\n\t{0x83, 0x9, 1, 255},\n\t{0x82, 0x6, 1, 255},\n\t{0x81, 0x3, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 4},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 6},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 8},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 10},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0x0, 1, 12},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xB9, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 13},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 15},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 17},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 19},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 20},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 22},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 24},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 26},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 28},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 30},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 32},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 34},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 36},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 38},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 40},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 42},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 44},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 46},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 48},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 50},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 3, 255},\n\t{0xBA, 0x3, 1, 53},\n\t{0xB9, 0xBA, 0, 52},\n\t{0xB7, 0x0, 1, 255},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 2},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB8, 0xB8, 0, 3},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 54},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 56},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 58},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 60},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 61},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xBA, 0, 63},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 65},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 66},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB7, 0xB8, 0, 67},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB8, 0xB8, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0x0, 1, 2},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xB9, 0xB9, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBA, 0xBA, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 2, 255},\n\t{0xBE, 0xBE, 0, 3},\n\t{0xBD, 0x0, 1, 2},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBE, 0xBE, 0, 1},\n\t{0xE1, 0x0, 1, 255},\n\t{0x80, 0x0, 1, 255},\n\t{0xBE, 0xBE, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xAD, 0x0, 1, 255},\n\t{0x8D, 0x0, 1, 255},\n\t{0xE0, 0x0, 1, 255},\n\t{0xAC, 0x0, 1, 255},\n\t{0xB7, 0xB7, 0, 1},\n\t{0xCC, 0x0, 2, 255},\n\t{0x87, 0x87, 0, 2},\n\t{0x81, 0x81, 0, 1},\n\t{0xCC, 0x0, 2, 255},\n\t{0x86, 0x86, 0, 2},\n\t{0x82, 0x82, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0xA6, 0xA7, 0, 1},\n\t{0xCC, 0x0, 4, 255},\n\t{0x8A, 0x8A, 0, 5},\n\t{0x87, 0x88, 0, 3},\n\t{0x83, 0x83, 0, 2},\n\t{0x81, 0x81, 0, 1},\n\t{0xCC, 0x0, 2, 255},\n\t{0x83, 0x83, 0, 2},\n\t{0x81, 0x81, 0, 1},\n\t{0xCC, 0x0, 4, 255},\n\t{0xA8, 0xA8, 0, 5},\n\t{0x8B, 0x8B, 0, 4},\n\t{0x88, 0x88, 0, 3},\n\t{0x82, 0x83, 0, 1},\n\t{0x72, 0x72, 0, 1},\n\t{0x72, 0x72, 0, 2},\n\t{0x52, 0x52, 0, 1},\n\t{0xCC, 0x0, 3, 255},\n\t{0x8B, 0x8B, 0, 3},\n\t{0x88, 0x88, 0, 2},\n\t{0x82, 0x82, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xAF, 0x0, 1, 255},\n\t{0x8D, 0x0, 1, 3},\n\t{0xE0, 0x0, 1, 255},\n\t{0xAE, 0x0, 1, 255},\n\t{0xB7, 0x0, 1, 2},\n\t{0xE0, 0x0, 1, 255},\n\t{0xAF, 0x0, 1, 255},\n\t{0x8D, 0x8D, 0, 1},\n\t{0xE0, 0x0, 1, 255},\n\t{0xAF, 0x0, 1, 255},\n\t{0x8D, 0x8D, 0, 1},\n\t{0xE0, 0x0, 2, 255},\n\t{0xB9, 0x1, 1, 255},\n\t{0xB8, 0x0, 1, 255},\n\t{0xB2, 0xB2, 0, 1},\n\t{0x85, 0x85, 0, 2},\n\t{0xCC, 0x0, 2, 255},\n\t{0x84, 0x84, 0, 2},\n\t{0x81, 0x81, 0, 1},\n\t{0xDA, 0x0, 1, 255},\n\t{0xBE, 0xBE, 0, 1},\n\t{0xDA, 0x1, 1, 255},\n\t{0xD9, 0x0, 1, 255},\n\t{0x94, 0x94, 0, 1},\n\t{0xBE, 0xBE, 0, 2},\n\t{0xCC, 0x0, 2, 255},\n\t{0x9B, 0x9B, 0, 2},\n\t{0x82, 0x82, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0x9B, 0x9B, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0x61, 0x61, 0, 2},\n\t{0x88, 0x0, 1, 255},\n\t{0x61, 0x0, 1, 255},\n\t{0xCC, 0x0, 1, 255},\n\t{0x88, 0x88, 0, 1},\n\t{0xC3, 0x0, 1, 255},\n\t{0xA4, 0xA4, 0, 1},\n\t{0x65, 0x65, 0, 1},\n\t{0x69, 0x69, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0x6F, 0x6F, 0, 2},\n\t{0x88, 0x0, 1, 255},\n\t{0x6F, 0x0, 1, 255},\n\t{0xCC, 0x0, 1, 255},\n\t{0x88, 0x88, 0, 1},\n\t{0xC3, 0x0, 1, 255},\n\t{0xB6, 0xB6, 0, 1},\n\t{0x63, 0x0, 1, 255},\n\t{0x68, 0x68, 0, 1},\n\t{0xCC, 0x0, 1, 255},\n\t{0x75, 0x75, 0, 2},\n\t{0x88, 0x0, 1, 255},\n\t{0x75, 0x0, 1, 255},\n\t{0xCC, 0x0, 1, 255},\n\t{0x88, 0x88, 0, 1},\n\t{0xC3, 0x0, 1, 255},\n\t{0xBC, 0xBC, 0, 1},\n\t{0xCC, 0x0, 3, 255},\n\t{0x8C, 0x8C, 0, 4},\n\t{0x84, 0x84, 0, 3},\n\t{0x80, 0x81, 0, 1},\n\t{0xCC, 0x0, 4, 255},\n\t{0x8C, 0x8C, 0, 8},\n\t{0x84, 0x84, 0, 7},\n\t{0x82, 0x0, 1, 255},\n\t{0x80, 0x81, 0, 5},\n\t{0xCC, 0x0, 3, 255},\n\t{0x8C, 0x8C, 0, 4},\n\t{0x84, 0x84, 0, 3},\n\t{0x80, 0x81, 0, 1},\n\t{0xCC, 0x0, 2, 255},\n\t{0x8C, 0x8C, 0, 2},\n\t{0x84, 0x84, 0, 1},\n\t{0xCC, 0x0, 4, 255},\n\t{0x8C, 0x8C, 0, 9},\n\t{0x88, 0x0, 1, 8},\n\t{0x84, 0x84, 0, 7},\n\t{0x80, 0x81, 0, 5},\n\t{0xCC, 0x0, 3, 255},\n\t{0x8C, 0x8C, 0, 4},\n\t{0x84, 0x84, 0, 3},\n\t{0x80, 0x81, 0, 1},\n}\n\n// Total size of mainTable is 1253028 bytes\n"
  },
  {
    "path": "vendor/golang.org/x/text/internal/colltab/collelem.go",
    "content": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage colltab\n\nimport (\n\t\"fmt\"\n\t\"unicode\"\n)\n\n// Level identifies the collation comparison level.\n// The primary level corresponds to the basic sorting of text.\n// The secondary level corresponds to accents and related linguistic elements.\n// The tertiary level corresponds to casing and related concepts.\n// The quaternary level is derived from the other levels by the\n// various algorithms for handling variable elements.\ntype Level int\n\nconst (\n\tPrimary Level = iota\n\tSecondary\n\tTertiary\n\tQuaternary\n\tIdentity\n\n\tNumLevels\n)\n\nconst (\n\tdefaultSecondary = 0x20\n\tdefaultTertiary  = 0x2\n\tmaxTertiary      = 0x1F\n\tMaxQuaternary    = 0x1FFFFF // 21 bits.\n)\n\n// Elem is a representation of a collation element. This API provides ways to encode\n// and decode Elems. Implementations of collation tables may use values greater\n// or equal to PrivateUse for their own purposes.  However, these should never be\n// returned by AppendNext.\ntype Elem uint32\n\nconst (\n\tmaxCE       Elem = 0xAFFFFFFF\n\tPrivateUse       = minContract\n\tminContract      = 0xC0000000\n\tmaxContract      = 0xDFFFFFFF\n\tminExpand        = 0xE0000000\n\tmaxExpand        = 0xEFFFFFFF\n\tminDecomp        = 0xF0000000\n)\n\ntype ceType int\n\nconst (\n\tceNormal           ceType = iota // ceNormal includes implicits (ce == 0)\n\tceContractionIndex               // rune can be a start of a contraction\n\tceExpansionIndex                 // rune expands into a sequence of collation elements\n\tceDecompose                      // rune expands using NFKC decomposition\n)\n\nfunc (ce Elem) ctype() ceType {\n\tif ce <= maxCE {\n\t\treturn ceNormal\n\t}\n\tif ce <= maxContract {\n\t\treturn ceContractionIndex\n\t} else {\n\t\tif ce <= maxExpand {\n\t\t\treturn ceExpansionIndex\n\t\t}\n\t\treturn ceDecompose\n\t}\n\tpanic(\"should not reach here\")\n\treturn ceType(-1)\n}\n\n// For normal collation elements, we assume that a collation element either has\n// a primary or non-default secondary value, not both.\n// Collation elements with a primary value are of the form\n// 01pppppp pppppppp ppppppp0 ssssssss\n//   - p* is primary collation value\n//   - s* is the secondary collation value\n// 00pppppp pppppppp ppppppps sssttttt, where\n//   - p* is primary collation value\n//   - s* offset of secondary from default value.\n//   - t* is the tertiary collation value\n// 100ttttt cccccccc pppppppp pppppppp\n//   - t* is the tertiar collation value\n//   - c* is the canonical combining class\n//   - p* is the primary collation value\n// Collation elements with a secondary value are of the form\n// 1010cccc ccccssss ssssssss tttttttt, where\n//   - c* is the canonical combining class\n//   - s* is the secondary collation value\n//   - t* is the tertiary collation value\n// 11qqqqqq qqqqqqqq qqqqqqq0 00000000\n//   - q* quaternary value\nconst (\n\tceTypeMask              = 0xC0000000\n\tceTypeMaskExt           = 0xE0000000\n\tceIgnoreMask            = 0xF00FFFFF\n\tceType1                 = 0x40000000\n\tceType2                 = 0x00000000\n\tceType3or4              = 0x80000000\n\tceType4                 = 0xA0000000\n\tceTypeQ                 = 0xC0000000\n\tIgnore                  = ceType4\n\tfirstNonPrimary         = 0x80000000\n\tlastSpecialPrimary      = 0xA0000000\n\tsecondaryMask           = 0x80000000\n\thasTertiaryMask         = 0x40000000\n\tprimaryValueMask        = 0x3FFFFE00\n\tmaxPrimaryBits          = 21\n\tcompactPrimaryBits      = 16\n\tmaxSecondaryBits        = 12\n\tmaxTertiaryBits         = 8\n\tmaxCCCBits              = 8\n\tmaxSecondaryCompactBits = 8\n\tmaxSecondaryDiffBits    = 4\n\tmaxTertiaryCompactBits  = 5\n\tprimaryShift            = 9\n\tcompactSecondaryShift   = 5\n\tminCompactSecondary     = defaultSecondary - 4\n)\n\nfunc makeImplicitCE(primary int) Elem {\n\treturn ceType1 | Elem(primary<<primaryShift) | defaultSecondary\n}\n\n// MakeElem returns an Elem for the given values.  It will return an error\n// if the given combination of values is invalid.\nfunc MakeElem(primary, secondary, tertiary int, ccc uint8) (Elem, error) {\n\tif w := primary; w >= 1<<maxPrimaryBits || w < 0 {\n\t\treturn 0, fmt.Errorf(\"makeCE: primary weight out of bounds: %x >= %x\", w, 1<<maxPrimaryBits)\n\t}\n\tif w := secondary; w >= 1<<maxSecondaryBits || w < 0 {\n\t\treturn 0, fmt.Errorf(\"makeCE: secondary weight out of bounds: %x >= %x\", w, 1<<maxSecondaryBits)\n\t}\n\tif w := tertiary; w >= 1<<maxTertiaryBits || w < 0 {\n\t\treturn 0, fmt.Errorf(\"makeCE: tertiary weight out of bounds: %x >= %x\", w, 1<<maxTertiaryBits)\n\t}\n\tce := Elem(0)\n\tif primary != 0 {\n\t\tif ccc != 0 {\n\t\t\tif primary >= 1<<compactPrimaryBits {\n\t\t\t\treturn 0, fmt.Errorf(\"makeCE: primary weight with non-zero CCC out of bounds: %x >= %x\", primary, 1<<compactPrimaryBits)\n\t\t\t}\n\t\t\tif secondary != defaultSecondary {\n\t\t\t\treturn 0, fmt.Errorf(\"makeCE: cannot combine non-default secondary value (%x) with non-zero CCC (%x)\", secondary, ccc)\n\t\t\t}\n\t\t\tce = Elem(tertiary << (compactPrimaryBits + maxCCCBits))\n\t\t\tce |= Elem(ccc) << compactPrimaryBits\n\t\t\tce |= Elem(primary)\n\t\t\tce |= ceType3or4\n\t\t} else if tertiary == defaultTertiary {\n\t\t\tif secondary >= 1<<maxSecondaryCompactBits {\n\t\t\t\treturn 0, fmt.Errorf(\"makeCE: secondary weight with non-zero primary out of bounds: %x >= %x\", secondary, 1<<maxSecondaryCompactBits)\n\t\t\t}\n\t\t\tce = Elem(primary<<(maxSecondaryCompactBits+1) + secondary)\n\t\t\tce |= ceType1\n\t\t} else {\n\t\t\td := secondary - defaultSecondary + maxSecondaryDiffBits\n\t\t\tif d >= 1<<maxSecondaryDiffBits || d < 0 {\n\t\t\t\treturn 0, fmt.Errorf(\"makeCE: secondary weight diff out of bounds: %x < 0 || %x > %x\", d, d, 1<<maxSecondaryDiffBits)\n\t\t\t}\n\t\t\tif tertiary >= 1<<maxTertiaryCompactBits {\n\t\t\t\treturn 0, fmt.Errorf(\"makeCE: tertiary weight with non-zero primary out of bounds: %x > %x\", tertiary, 1<<maxTertiaryCompactBits)\n\t\t\t}\n\t\t\tce = Elem(primary<<maxSecondaryDiffBits + d)\n\t\t\tce = ce<<maxTertiaryCompactBits + Elem(tertiary)\n\t\t}\n\t} else {\n\t\tce = Elem(secondary<<maxTertiaryBits + tertiary)\n\t\tce += Elem(ccc) << (maxSecondaryBits + maxTertiaryBits)\n\t\tce |= ceType4\n\t}\n\treturn ce, nil\n}\n\n// MakeQuaternary returns an Elem with the given quaternary value.\nfunc MakeQuaternary(v int) Elem {\n\treturn ceTypeQ | Elem(v<<primaryShift)\n}\n\n// Mask sets weights for any level smaller than l to 0.\n// The resulting Elem can be used to test for equality with\n// other Elems to which the same mask has been applied.\nfunc (ce Elem) Mask(l Level) uint32 {\n\treturn 0\n}\n\n// CCC returns the canonical combining class associated with the underlying character,\n// if applicable, or 0 otherwise.\nfunc (ce Elem) CCC() uint8 {\n\tif ce&ceType3or4 != 0 {\n\t\tif ce&ceType4 == ceType3or4 {\n\t\t\treturn uint8(ce >> 16)\n\t\t}\n\t\treturn uint8(ce >> 20)\n\t}\n\treturn 0\n}\n\n// Primary returns the primary collation weight for ce.\nfunc (ce Elem) Primary() int {\n\tif ce >= firstNonPrimary {\n\t\tif ce > lastSpecialPrimary {\n\t\t\treturn 0\n\t\t}\n\t\treturn int(uint16(ce))\n\t}\n\treturn int(ce&primaryValueMask) >> primaryShift\n}\n\n// Secondary returns the secondary collation weight for ce.\nfunc (ce Elem) Secondary() int {\n\tswitch ce & ceTypeMask {\n\tcase ceType1:\n\t\treturn int(uint8(ce))\n\tcase ceType2:\n\t\treturn minCompactSecondary + int((ce>>compactSecondaryShift)&0xF)\n\tcase ceType3or4:\n\t\tif ce < ceType4 {\n\t\t\treturn defaultSecondary\n\t\t}\n\t\treturn int(ce>>8) & 0xFFF\n\tcase ceTypeQ:\n\t\treturn 0\n\t}\n\tpanic(\"should not reach here\")\n}\n\n// Tertiary returns the tertiary collation weight for ce.\nfunc (ce Elem) Tertiary() uint8 {\n\tif ce&hasTertiaryMask == 0 {\n\t\tif ce&ceType3or4 == 0 {\n\t\t\treturn uint8(ce & 0x1F)\n\t\t}\n\t\tif ce&ceType4 == ceType4 {\n\t\t\treturn uint8(ce)\n\t\t}\n\t\treturn uint8(ce>>24) & 0x1F // type 2\n\t} else if ce&ceTypeMask == ceType1 {\n\t\treturn defaultTertiary\n\t}\n\t// ce is a quaternary value.\n\treturn 0\n}\n\nfunc (ce Elem) updateTertiary(t uint8) Elem {\n\tif ce&ceTypeMask == ceType1 {\n\t\t// convert to type 4\n\t\tnce := ce & primaryValueMask\n\t\tnce |= Elem(uint8(ce)-minCompactSecondary) << compactSecondaryShift\n\t\tce = nce\n\t} else if ce&ceTypeMaskExt == ceType3or4 {\n\t\tce &= ^Elem(maxTertiary << 24)\n\t\treturn ce | (Elem(t) << 24)\n\t} else {\n\t\t// type 2 or 4\n\t\tce &= ^Elem(maxTertiary)\n\t}\n\treturn ce | Elem(t)\n}\n\n// Quaternary returns the quaternary value if explicitly specified,\n// 0 if ce == Ignore, or MaxQuaternary otherwise.\n// Quaternary values are used only for shifted variants.\nfunc (ce Elem) Quaternary() int {\n\tif ce&ceTypeMask == ceTypeQ {\n\t\treturn int(ce&primaryValueMask) >> primaryShift\n\t} else if ce&ceIgnoreMask == Ignore {\n\t\treturn 0\n\t}\n\treturn MaxQuaternary\n}\n\n// Weight returns the collation weight for the given level.\nfunc (ce Elem) Weight(l Level) int {\n\tswitch l {\n\tcase Primary:\n\t\treturn ce.Primary()\n\tcase Secondary:\n\t\treturn ce.Secondary()\n\tcase Tertiary:\n\t\treturn int(ce.Tertiary())\n\tcase Quaternary:\n\t\treturn ce.Quaternary()\n\t}\n\treturn 0 // return 0 (ignore) for undefined levels.\n}\n\n// For contractions, collation elements are of the form\n// 110bbbbb bbbbbbbb iiiiiiii iiiinnnn, where\n//   - n* is the size of the first node in the contraction trie.\n//   - i* is the index of the first node in the contraction trie.\n//   - b* is the offset into the contraction collation element table.\n// See contract.go for details on the contraction trie.\nconst (\n\tmaxNBits              = 4\n\tmaxTrieIndexBits      = 12\n\tmaxContractOffsetBits = 13\n)\n\nfunc splitContractIndex(ce Elem) (index, n, offset int) {\n\tn = int(ce & (1<<maxNBits - 1))\n\tce >>= maxNBits\n\tindex = int(ce & (1<<maxTrieIndexBits - 1))\n\tce >>= maxTrieIndexBits\n\toffset = int(ce & (1<<maxContractOffsetBits - 1))\n\treturn\n}\n\n// For expansions, Elems are of the form 11100000 00000000 bbbbbbbb bbbbbbbb,\n// where b* is the index into the expansion sequence table.\nconst maxExpandIndexBits = 16\n\nfunc splitExpandIndex(ce Elem) (index int) {\n\treturn int(uint16(ce))\n}\n\n// Some runes can be expanded using NFKD decomposition. Instead of storing the full\n// sequence of collation elements, we decompose the rune and lookup the collation\n// elements for each rune in the decomposition and modify the tertiary weights.\n// The Elem, in this case, is of the form 11110000 00000000 wwwwwwww vvvvvvvv, where\n//   - v* is the replacement tertiary weight for the first rune,\n//   - w* is the replacement tertiary weight for the second rune,\n// Tertiary weights of subsequent runes should be replaced with maxTertiary.\n// See http://www.unicode.org/reports/tr10/#Compatibility_Decompositions for more details.\nfunc splitDecompose(ce Elem) (t1, t2 uint8) {\n\treturn uint8(ce), uint8(ce >> 8)\n}\n\nconst (\n\t// These constants were taken from http://www.unicode.org/versions/Unicode6.0.0/ch12.pdf.\n\tminUnified       rune = 0x4E00\n\tmaxUnified            = 0x9FFF\n\tminCompatibility      = 0xF900\n\tmaxCompatibility      = 0xFAFF\n\tminRare               = 0x3400\n\tmaxRare               = 0x4DBF\n)\nconst (\n\tcommonUnifiedOffset = 0x10000\n\trareUnifiedOffset   = 0x20000 // largest rune in common is U+FAFF\n\totherOffset         = 0x50000 // largest rune in rare is U+2FA1D\n\tillegalOffset       = otherOffset + int(unicode.MaxRune)\n\tmaxPrimary          = illegalOffset + 1\n)\n\n// implicitPrimary returns the primary weight for the a rune\n// for which there is no entry for the rune in the collation table.\n// We take a different approach from the one specified in\n// http://unicode.org/reports/tr10/#Implicit_Weights,\n// but preserve the resulting relative ordering of the runes.\nfunc implicitPrimary(r rune) int {\n\tif unicode.Is(unicode.Ideographic, r) {\n\t\tif r >= minUnified && r <= maxUnified {\n\t\t\t// The most common case for CJK.\n\t\t\treturn int(r) + commonUnifiedOffset\n\t\t}\n\t\tif r >= minCompatibility && r <= maxCompatibility {\n\t\t\t// This will typically not hit. The DUCET explicitly specifies mappings\n\t\t\t// for all characters that do not decompose.\n\t\t\treturn int(r) + commonUnifiedOffset\n\t\t}\n\t\treturn int(r) + rareUnifiedOffset\n\t}\n\treturn int(r) + otherOffset\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/internal/colltab/colltab.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package colltab contains functionality related to collation tables.\n// It is only to be used by the collate and search packages.\npackage colltab // import \"golang.org/x/text/internal/colltab\"\n\nimport (\n\t\"sort\"\n\n\t\"golang.org/x/text/language\"\n)\n\n// MatchLang finds the index of t in tags, using a matching algorithm used for\n// collation and search. tags[0] must be language.Und, the remaining tags should\n// be sorted alphabetically.\n//\n// Language matching for collation and search is different from the matching\n// defined by language.Matcher: the (inferred) base language must be an exact\n// match for the relevant fields. For example, \"gsw\" should not match \"de\".\n// Also the parent relation is different, as a parent may have a different\n// script. So usually the parent of zh-Hant is und, whereas for MatchLang it is\n// zh.\nfunc MatchLang(t language.Tag, tags []language.Tag) int {\n\t// Canonicalize the values, including collapsing macro languages.\n\tt, _ = language.All.Canonicalize(t)\n\n\tbase, conf := t.Base()\n\t// Estimate the base language, but only use high-confidence values.\n\tif conf < language.High {\n\t\t// The root locale supports \"search\" and \"standard\". We assume that any\n\t\t// implementation will only use one of both.\n\t\treturn 0\n\t}\n\n\t// Maximize base and script and normalize the tag.\n\tif _, s, r := t.Raw(); (r != language.Region{}) {\n\t\tp, _ := language.Raw.Compose(base, s, r)\n\t\t// Taking the parent forces the script to be maximized.\n\t\tp = p.Parent()\n\t\t// Add back region and extensions.\n\t\tt, _ = language.Raw.Compose(p, r, t.Extensions())\n\t} else {\n\t\t// Set the maximized base language.\n\t\tt, _ = language.Raw.Compose(base, s, t.Extensions())\n\t}\n\n\t// Find start index of the language tag.\n\tstart := 1 + sort.Search(len(tags)-1, func(i int) bool {\n\t\tb, _, _ := tags[i+1].Raw()\n\t\treturn base.String() <= b.String()\n\t})\n\tif start < len(tags) {\n\t\tif b, _, _ := tags[start].Raw(); b != base {\n\t\t\treturn 0\n\t\t}\n\t}\n\n\t// Besides the base language, script and region, only the collation type and\n\t// the custom variant defined in the 'u' extension are used to distinguish a\n\t// locale.\n\t// Strip all variants and extensions and add back the custom variant.\n\ttdef, _ := language.Raw.Compose(t.Raw())\n\ttdef, _ = tdef.SetTypeForKey(\"va\", t.TypeForKey(\"va\"))\n\n\t// First search for a specialized collation type, if present.\n\ttry := []language.Tag{tdef}\n\tif co := t.TypeForKey(\"co\"); co != \"\" {\n\t\ttco, _ := tdef.SetTypeForKey(\"co\", co)\n\t\ttry = []language.Tag{tco, tdef}\n\t}\n\n\tfor _, tx := range try {\n\t\tfor ; tx != language.Und; tx = parent(tx) {\n\t\t\tfor i, t := range tags[start:] {\n\t\t\t\tif b, _, _ := t.Raw(); b != base {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tif tx == t {\n\t\t\t\t\treturn start + i\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn 0\n}\n\n// parent computes the structural parent. This means inheritance may change\n// script. So, unlike the CLDR parent, parent(zh-Hant) == zh.\nfunc parent(t language.Tag) language.Tag {\n\tif t.TypeForKey(\"va\") != \"\" {\n\t\tt, _ = t.SetTypeForKey(\"va\", \"\")\n\t\treturn t\n\t}\n\tresult := language.Und\n\tif b, s, r := t.Raw(); (r != language.Region{}) {\n\t\tresult, _ = language.Raw.Compose(b, s, t.Extensions())\n\t} else if (s != language.Script{}) {\n\t\tresult, _ = language.Raw.Compose(b, t.Extensions())\n\t} else if (b != language.Base{}) {\n\t\tresult, _ = language.Raw.Compose(t.Extensions())\n\t}\n\treturn result\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/internal/colltab/contract.go",
    "content": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage colltab\n\nimport \"unicode/utf8\"\n\n// For a description of ContractTrieSet, see text/collate/build/contract.go.\n\ntype ContractTrieSet []struct{ L, H, N, I uint8 }\n\n// ctScanner is used to match a trie to an input sequence.\n// A contraction may match a non-contiguous sequence of bytes in an input string.\n// For example, if there is a contraction for <a, combining_ring>, it should match\n// the sequence <a, combining_cedilla, combining_ring>, as combining_cedilla does\n// not block combining_ring.\n// ctScanner does not automatically skip over non-blocking non-starters, but rather\n// retains the state of the last match and leaves it up to the user to continue\n// the match at the appropriate points.\ntype ctScanner struct {\n\tstates ContractTrieSet\n\ts      []byte\n\tn      int\n\tindex  int\n\tpindex int\n\tdone   bool\n}\n\ntype ctScannerString struct {\n\tstates ContractTrieSet\n\ts      string\n\tn      int\n\tindex  int\n\tpindex int\n\tdone   bool\n}\n\nfunc (t ContractTrieSet) scanner(index, n int, b []byte) ctScanner {\n\treturn ctScanner{s: b, states: t[index:], n: n}\n}\n\nfunc (t ContractTrieSet) scannerString(index, n int, str string) ctScannerString {\n\treturn ctScannerString{s: str, states: t[index:], n: n}\n}\n\n// result returns the offset i and bytes consumed p so far.  If no suffix\n// matched, i and p will be 0.\nfunc (s *ctScanner) result() (i, p int) {\n\treturn s.index, s.pindex\n}\n\nfunc (s *ctScannerString) result() (i, p int) {\n\treturn s.index, s.pindex\n}\n\nconst (\n\tfinal   = 0\n\tnoIndex = 0xFF\n)\n\n// scan matches the longest suffix at the current location in the input\n// and returns the number of bytes consumed.\nfunc (s *ctScanner) scan(p int) int {\n\tpr := p // the p at the rune start\n\tstr := s.s\n\tstates, n := s.states, s.n\n\tfor i := 0; i < n && p < len(str); {\n\t\te := states[i]\n\t\tc := str[p]\n\t\t// TODO: a significant number of contractions are of a form that\n\t\t// cannot match discontiguous UTF-8 in a normalized string. We could let\n\t\t// a negative value of e.n mean that we can set s.done = true and avoid\n\t\t// the need for additional matches.\n\t\tif c >= e.L {\n\t\t\tif e.L == c {\n\t\t\t\tp++\n\t\t\t\tif e.I != noIndex {\n\t\t\t\t\ts.index = int(e.I)\n\t\t\t\t\ts.pindex = p\n\t\t\t\t}\n\t\t\t\tif e.N != final {\n\t\t\t\t\ti, states, n = 0, states[int(e.H)+n:], int(e.N)\n\t\t\t\t\tif p >= len(str) || utf8.RuneStart(str[p]) {\n\t\t\t\t\t\ts.states, s.n, pr = states, n, p\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\ts.done = true\n\t\t\t\t\treturn p\n\t\t\t\t}\n\t\t\t\tcontinue\n\t\t\t} else if e.N == final && c <= e.H {\n\t\t\t\tp++\n\t\t\t\ts.done = true\n\t\t\t\ts.index = int(c-e.L) + int(e.I)\n\t\t\t\ts.pindex = p\n\t\t\t\treturn p\n\t\t\t}\n\t\t}\n\t\ti++\n\t}\n\treturn pr\n}\n\n// scan is a verbatim copy of ctScanner.scan.\nfunc (s *ctScannerString) scan(p int) int {\n\tpr := p // the p at the rune start\n\tstr := s.s\n\tstates, n := s.states, s.n\n\tfor i := 0; i < n && p < len(str); {\n\t\te := states[i]\n\t\tc := str[p]\n\t\t// TODO: a significant number of contractions are of a form that\n\t\t// cannot match discontiguous UTF-8 in a normalized string. We could let\n\t\t// a negative value of e.n mean that we can set s.done = true and avoid\n\t\t// the need for additional matches.\n\t\tif c >= e.L {\n\t\t\tif e.L == c {\n\t\t\t\tp++\n\t\t\t\tif e.I != noIndex {\n\t\t\t\t\ts.index = int(e.I)\n\t\t\t\t\ts.pindex = p\n\t\t\t\t}\n\t\t\t\tif e.N != final {\n\t\t\t\t\ti, states, n = 0, states[int(e.H)+n:], int(e.N)\n\t\t\t\t\tif p >= len(str) || utf8.RuneStart(str[p]) {\n\t\t\t\t\t\ts.states, s.n, pr = states, n, p\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\ts.done = true\n\t\t\t\t\treturn p\n\t\t\t\t}\n\t\t\t\tcontinue\n\t\t\t} else if e.N == final && c <= e.H {\n\t\t\t\tp++\n\t\t\t\ts.done = true\n\t\t\t\ts.index = int(c-e.L) + int(e.I)\n\t\t\t\ts.pindex = p\n\t\t\t\treturn p\n\t\t\t}\n\t\t}\n\t\ti++\n\t}\n\treturn pr\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/internal/colltab/iter.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage colltab\n\n// An Iter incrementally converts chunks of the input text to collation\n// elements, while ensuring that the collation elements are in normalized order\n// (that is, they are in the order as if the input text were normalized first).\ntype Iter struct {\n\tWeighter Weighter\n\tElems    []Elem\n\t// N is the number of elements in Elems that will not be reordered on\n\t// subsequent iterations, N <= len(Elems).\n\tN int\n\n\tbytes []byte\n\tstr   string\n\t// Because the Elems buffer may contain collation elements that are needed\n\t// for look-ahead, we need two positions in the text (bytes or str): one for\n\t// the end position in the text for the current iteration and one for the\n\t// start of the next call to appendNext.\n\tpEnd  int // end position in text corresponding to N.\n\tpNext int // pEnd <= pNext.\n}\n\n// Reset sets the position in the current input text to p and discards any\n// results obtained so far.\nfunc (i *Iter) Reset(p int) {\n\ti.Elems = i.Elems[:0]\n\ti.N = 0\n\ti.pEnd = p\n\ti.pNext = p\n}\n\n// Len returns the length of the input text.\nfunc (i *Iter) Len() int {\n\tif i.bytes != nil {\n\t\treturn len(i.bytes)\n\t}\n\treturn len(i.str)\n}\n\n// Discard removes the collation elements up to N.\nfunc (i *Iter) Discard() {\n\t// TODO: change this such that only modifiers following starters will have\n\t// to be copied.\n\ti.Elems = i.Elems[:copy(i.Elems, i.Elems[i.N:])]\n\ti.N = 0\n}\n\n// End returns the end position of the input text for which Next has returned\n// results.\nfunc (i *Iter) End() int {\n\treturn i.pEnd\n}\n\n// SetInput resets i to input s.\nfunc (i *Iter) SetInput(s []byte) {\n\ti.bytes = s\n\ti.str = \"\"\n\ti.Reset(0)\n}\n\n// SetInputString resets i to input s.\nfunc (i *Iter) SetInputString(s string) {\n\ti.str = s\n\ti.bytes = nil\n\ti.Reset(0)\n}\n\nfunc (i *Iter) done() bool {\n\treturn i.pNext >= len(i.str) && i.pNext >= len(i.bytes)\n}\n\nfunc (i *Iter) appendNext() bool {\n\tif i.done() {\n\t\treturn false\n\t}\n\tvar sz int\n\tif i.bytes == nil {\n\t\ti.Elems, sz = i.Weighter.AppendNextString(i.Elems, i.str[i.pNext:])\n\t} else {\n\t\ti.Elems, sz = i.Weighter.AppendNext(i.Elems, i.bytes[i.pNext:])\n\t}\n\tif sz == 0 {\n\t\tsz = 1\n\t}\n\ti.pNext += sz\n\treturn true\n}\n\n// Next appends Elems to the internal array. On each iteration, it will either\n// add starters or modifiers. In the majority of cases, an Elem with a primary\n// value > 0 will have a CCC of 0. The CCC values of collation elements are also\n// used to detect if the input string was not normalized and to adjust the\n// result accordingly.\nfunc (i *Iter) Next() bool {\n\tif i.N == len(i.Elems) && !i.appendNext() {\n\t\treturn false\n\t}\n\n\t// Check if the current segment starts with a starter.\n\tprevCCC := i.Elems[len(i.Elems)-1].CCC()\n\tif prevCCC == 0 {\n\t\ti.N = len(i.Elems)\n\t\ti.pEnd = i.pNext\n\t\treturn true\n\t} else if i.Elems[i.N].CCC() == 0 {\n\t\t// set i.N to only cover part of i.Elems for which prevCCC == 0 and\n\t\t// use rest for the next call to next.\n\t\tfor i.N++; i.N < len(i.Elems) && i.Elems[i.N].CCC() == 0; i.N++ {\n\t\t}\n\t\ti.pEnd = i.pNext\n\t\treturn true\n\t}\n\n\t// The current (partial) segment starts with modifiers. We need to collect\n\t// all successive modifiers to ensure that they are normalized.\n\tfor {\n\t\tp := len(i.Elems)\n\t\ti.pEnd = i.pNext\n\t\tif !i.appendNext() {\n\t\t\tbreak\n\t\t}\n\n\t\tif ccc := i.Elems[p].CCC(); ccc == 0 || len(i.Elems)-i.N > maxCombiningCharacters {\n\t\t\t// Leave the starter for the next iteration. This ensures that we\n\t\t\t// do not return sequences of collation elements that cross two\n\t\t\t// segments.\n\t\t\t//\n\t\t\t// TODO: handle large number of combining characters by fully\n\t\t\t// normalizing the input segment before iteration. This ensures\n\t\t\t// results are consistent across the text repo.\n\t\t\ti.N = p\n\t\t\treturn true\n\t\t} else if ccc < prevCCC {\n\t\t\ti.doNorm(p, ccc) // should be rare, never occurs for NFD and FCC.\n\t\t} else {\n\t\t\tprevCCC = ccc\n\t\t}\n\t}\n\n\tdone := len(i.Elems) != i.N\n\ti.N = len(i.Elems)\n\treturn done\n}\n\n// nextNoNorm is the same as next, but does not \"normalize\" the collation\n// elements.\nfunc (i *Iter) nextNoNorm() bool {\n\t// TODO: remove this function. Using this instead of next does not seem\n\t// to improve performance in any significant way. We retain this until\n\t// later for evaluation purposes.\n\tif i.done() {\n\t\treturn false\n\t}\n\ti.appendNext()\n\ti.N = len(i.Elems)\n\treturn true\n}\n\nconst maxCombiningCharacters = 30\n\n// doNorm reorders the collation elements in i.Elems.\n// It assumes that blocks of collation elements added with appendNext\n// either start and end with the same CCC or start with CCC == 0.\n// This allows for a single insertion point for the entire block.\n// The correctness of this assumption is verified in builder.go.\nfunc (i *Iter) doNorm(p int, ccc uint8) {\n\tn := len(i.Elems)\n\tk := p\n\tfor p--; p > i.N && ccc < i.Elems[p-1].CCC(); p-- {\n\t}\n\ti.Elems = append(i.Elems, i.Elems[p:k]...)\n\tcopy(i.Elems[p:], i.Elems[k:])\n\ti.Elems = i.Elems[:n]\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/internal/colltab/numeric.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage colltab\n\nimport (\n\t\"unicode\"\n\t\"unicode/utf8\"\n)\n\n// NewNumericWeighter wraps w to replace individual digits to sort based on their\n// numeric value.\n//\n// Weighter w must have a free primary weight after the primary weight for 9.\n// If this is not the case, numeric value will sort at the same primary level\n// as the first primary sorting after 9.\nfunc NewNumericWeighter(w Weighter) Weighter {\n\tgetElem := func(s string) Elem {\n\t\telems, _ := w.AppendNextString(nil, s)\n\t\treturn elems[0]\n\t}\n\tnine := getElem(\"9\")\n\n\t// Numbers should order before zero, but the DUCET has no room for this.\n\t// TODO: move before zero once we use fractional collation elements.\n\tns, _ := MakeElem(nine.Primary()+1, nine.Secondary(), int(nine.Tertiary()), 0)\n\n\treturn &numericWeighter{\n\t\tWeighter: w,\n\n\t\t// We assume that w sorts digits of different kinds in order of numeric\n\t\t// value and that the tertiary weight order is preserved.\n\t\t//\n\t\t// TODO: evaluate whether it is worth basing the ranges on the Elem\n\t\t// encoding itself once the move to fractional weights is complete.\n\t\tzero:          getElem(\"0\"),\n\t\tzeroSpecialLo: getElem(\"０\"), // U+FF10 FULLWIDTH DIGIT ZERO\n\t\tzeroSpecialHi: getElem(\"₀\"), // U+2080 SUBSCRIPT ZERO\n\t\tnine:          nine,\n\t\tnineSpecialHi: getElem(\"₉\"), // U+2089 SUBSCRIPT NINE\n\t\tnumberStart:   ns,\n\t}\n}\n\n// A numericWeighter translates a stream of digits into a stream of weights\n// representing the numeric value.\ntype numericWeighter struct {\n\tWeighter\n\n\t// The Elems below all demarcate boundaries of specific ranges. With the\n\t// current element encoding digits are in two ranges: normal (default\n\t// tertiary value) and special. For most languages, digits have collation\n\t// elements in the normal range.\n\t//\n\t// Note: the range tests are very specific for the element encoding used by\n\t// this implementation. The tests in collate_test.go are designed to fail\n\t// if this code is not updated when an encoding has changed.\n\n\tzero          Elem // normal digit zero\n\tzeroSpecialLo Elem // special digit zero, low tertiary value\n\tzeroSpecialHi Elem // special digit zero, high tertiary value\n\tnine          Elem // normal digit nine\n\tnineSpecialHi Elem // special digit nine\n\tnumberStart   Elem\n}\n\n// AppendNext calls the namesake of the underlying weigher, but replaces single\n// digits with weights representing their value.\nfunc (nw *numericWeighter) AppendNext(buf []Elem, s []byte) (ce []Elem, n int) {\n\tce, n = nw.Weighter.AppendNext(buf, s)\n\tnc := numberConverter{\n\t\telems: buf,\n\t\tw:     nw,\n\t\tb:     s,\n\t}\n\tisZero, ok := nc.checkNextDigit(ce)\n\tif !ok {\n\t\treturn ce, n\n\t}\n\t// ce might have been grown already, so take it instead of buf.\n\tnc.init(ce, len(buf), isZero)\n\tfor n < len(s) {\n\t\tce, sz := nw.Weighter.AppendNext(nc.elems, s[n:])\n\t\tnc.b = s\n\t\tn += sz\n\t\tif !nc.update(ce) {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn nc.result(), n\n}\n\n// AppendNextString calls the namesake of the underlying weigher, but replaces\n// single digits with weights representing their value.\nfunc (nw *numericWeighter) AppendNextString(buf []Elem, s string) (ce []Elem, n int) {\n\tce, n = nw.Weighter.AppendNextString(buf, s)\n\tnc := numberConverter{\n\t\telems: buf,\n\t\tw:     nw,\n\t\ts:     s,\n\t}\n\tisZero, ok := nc.checkNextDigit(ce)\n\tif !ok {\n\t\treturn ce, n\n\t}\n\tnc.init(ce, len(buf), isZero)\n\tfor n < len(s) {\n\t\tce, sz := nw.Weighter.AppendNextString(nc.elems, s[n:])\n\t\tnc.s = s\n\t\tn += sz\n\t\tif !nc.update(ce) {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn nc.result(), n\n}\n\ntype numberConverter struct {\n\tw *numericWeighter\n\n\telems    []Elem\n\tnDigits  int\n\tlenIndex int\n\n\ts string // set if the input was of type string\n\tb []byte // set if the input was of type []byte\n}\n\n// init completes initialization of a numberConverter and prepares it for adding\n// more digits. elems is assumed to have a digit starting at oldLen.\nfunc (nc *numberConverter) init(elems []Elem, oldLen int, isZero bool) {\n\t// Insert a marker indicating the start of a number and and a placeholder\n\t// for the number of digits.\n\tif isZero {\n\t\telems = append(elems[:oldLen], nc.w.numberStart, 0)\n\t} else {\n\t\telems = append(elems, 0, 0)\n\t\tcopy(elems[oldLen+2:], elems[oldLen:])\n\t\telems[oldLen] = nc.w.numberStart\n\t\telems[oldLen+1] = 0\n\n\t\tnc.nDigits = 1\n\t}\n\tnc.elems = elems\n\tnc.lenIndex = oldLen + 1\n}\n\n// checkNextDigit reports whether bufNew adds a single digit relative to the old\n// buffer. If it does, it also reports whether this digit is zero.\nfunc (nc *numberConverter) checkNextDigit(bufNew []Elem) (isZero, ok bool) {\n\tif len(nc.elems) >= len(bufNew) {\n\t\treturn false, false\n\t}\n\te := bufNew[len(nc.elems)]\n\tif e < nc.w.zeroSpecialLo || nc.w.nine < e {\n\t\t// Not a number.\n\t\treturn false, false\n\t}\n\tif e < nc.w.zero {\n\t\tif e > nc.w.nineSpecialHi {\n\t\t\t// Not a number.\n\t\t\treturn false, false\n\t\t}\n\t\tif !nc.isDigit() {\n\t\t\treturn false, false\n\t\t}\n\t\tisZero = e <= nc.w.zeroSpecialHi\n\t} else {\n\t\t// This is the common case if we encounter a digit.\n\t\tisZero = e == nc.w.zero\n\t}\n\t// Test the remaining added collation elements have a zero primary value.\n\tif n := len(bufNew) - len(nc.elems); n > 1 {\n\t\tfor i := len(nc.elems) + 1; i < len(bufNew); i++ {\n\t\t\tif bufNew[i].Primary() != 0 {\n\t\t\t\treturn false, false\n\t\t\t}\n\t\t}\n\t\t// In some rare cases, collation elements will encode runes in\n\t\t// unicode.No as a digit. For example Ethiopic digits (U+1369 - U+1371)\n\t\t// are not in Nd. Also some digits that clearly belong in unicode.No,\n\t\t// like U+0C78 TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR, have\n\t\t// collation elements indistinguishable from normal digits.\n\t\t// Unfortunately, this means we need to make this check for nearly all\n\t\t// non-Latin digits.\n\t\t//\n\t\t// TODO: check the performance impact and find something better if it is\n\t\t// an issue.\n\t\tif !nc.isDigit() {\n\t\t\treturn false, false\n\t\t}\n\t}\n\treturn isZero, true\n}\n\nfunc (nc *numberConverter) isDigit() bool {\n\tif nc.b != nil {\n\t\tr, _ := utf8.DecodeRune(nc.b)\n\t\treturn unicode.In(r, unicode.Nd)\n\t}\n\tr, _ := utf8.DecodeRuneInString(nc.s)\n\treturn unicode.In(r, unicode.Nd)\n}\n\n// We currently support a maximum of about 2M digits (the number of primary\n// values). Such numbers will compare correctly against small numbers, but their\n// comparison against other large numbers is undefined.\n//\n// TODO: define a proper fallback, such as comparing large numbers textually or\n// actually allowing numbers of unlimited length.\n//\n// TODO: cap this to a lower number (like 100) and maybe allow a larger number\n// in an option?\nconst maxDigits = 1<<maxPrimaryBits - 1\n\nfunc (nc *numberConverter) update(elems []Elem) bool {\n\tisZero, ok := nc.checkNextDigit(elems)\n\tif nc.nDigits == 0 && isZero {\n\t\treturn true\n\t}\n\tnc.elems = elems\n\tif !ok {\n\t\treturn false\n\t}\n\tnc.nDigits++\n\treturn nc.nDigits < maxDigits\n}\n\n// result fills in the length element for the digit sequence and returns the\n// completed collation elements.\nfunc (nc *numberConverter) result() []Elem {\n\te, _ := MakeElem(nc.nDigits, defaultSecondary, defaultTertiary, 0)\n\tnc.elems[nc.lenIndex] = e\n\treturn nc.elems\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/internal/colltab/table.go",
    "content": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage colltab\n\nimport (\n\t\"unicode/utf8\"\n\n\t\"golang.org/x/text/unicode/norm\"\n)\n\n// Table holds all collation data for a given collation ordering.\ntype Table struct {\n\tIndex Trie // main trie\n\n\t// expansion info\n\tExpandElem []uint32\n\n\t// contraction info\n\tContractTries  ContractTrieSet\n\tContractElem   []uint32\n\tMaxContractLen int\n\tVariableTop    uint32\n}\n\nfunc (t *Table) AppendNext(w []Elem, b []byte) (res []Elem, n int) {\n\treturn t.appendNext(w, source{bytes: b})\n}\n\nfunc (t *Table) AppendNextString(w []Elem, s string) (res []Elem, n int) {\n\treturn t.appendNext(w, source{str: s})\n}\n\nfunc (t *Table) Start(p int, b []byte) int {\n\t// TODO: implement\n\tpanic(\"not implemented\")\n}\n\nfunc (t *Table) StartString(p int, s string) int {\n\t// TODO: implement\n\tpanic(\"not implemented\")\n}\n\nfunc (t *Table) Domain() []string {\n\t// TODO: implement\n\tpanic(\"not implemented\")\n}\n\nfunc (t *Table) Top() uint32 {\n\treturn t.VariableTop\n}\n\ntype source struct {\n\tstr   string\n\tbytes []byte\n}\n\nfunc (src *source) lookup(t *Table) (ce Elem, sz int) {\n\tif src.bytes == nil {\n\t\treturn t.Index.lookupString(src.str)\n\t}\n\treturn t.Index.lookup(src.bytes)\n}\n\nfunc (src *source) tail(sz int) {\n\tif src.bytes == nil {\n\t\tsrc.str = src.str[sz:]\n\t} else {\n\t\tsrc.bytes = src.bytes[sz:]\n\t}\n}\n\nfunc (src *source) nfd(buf []byte, end int) []byte {\n\tif src.bytes == nil {\n\t\treturn norm.NFD.AppendString(buf[:0], src.str[:end])\n\t}\n\treturn norm.NFD.Append(buf[:0], src.bytes[:end]...)\n}\n\nfunc (src *source) rune() (r rune, sz int) {\n\tif src.bytes == nil {\n\t\treturn utf8.DecodeRuneInString(src.str)\n\t}\n\treturn utf8.DecodeRune(src.bytes)\n}\n\nfunc (src *source) properties(f norm.Form) norm.Properties {\n\tif src.bytes == nil {\n\t\treturn f.PropertiesString(src.str)\n\t}\n\treturn f.Properties(src.bytes)\n}\n\n// appendNext appends the weights corresponding to the next rune or\n// contraction in s.  If a contraction is matched to a discontinuous\n// sequence of runes, the weights for the interstitial runes are\n// appended as well.  It returns a new slice that includes the appended\n// weights and the number of bytes consumed from s.\nfunc (t *Table) appendNext(w []Elem, src source) (res []Elem, n int) {\n\tce, sz := src.lookup(t)\n\ttp := ce.ctype()\n\tif tp == ceNormal {\n\t\tif ce == 0 {\n\t\t\tr, _ := src.rune()\n\t\t\tconst (\n\t\t\t\thangulSize  = 3\n\t\t\t\tfirstHangul = 0xAC00\n\t\t\t\tlastHangul  = 0xD7A3\n\t\t\t)\n\t\t\tif r >= firstHangul && r <= lastHangul {\n\t\t\t\t// TODO: performance can be considerably improved here.\n\t\t\t\tn = sz\n\t\t\t\tvar buf [16]byte // Used for decomposing Hangul.\n\t\t\t\tfor b := src.nfd(buf[:0], hangulSize); len(b) > 0; b = b[sz:] {\n\t\t\t\t\tce, sz = t.Index.lookup(b)\n\t\t\t\t\tw = append(w, ce)\n\t\t\t\t}\n\t\t\t\treturn w, n\n\t\t\t}\n\t\t\tce = makeImplicitCE(implicitPrimary(r))\n\t\t}\n\t\tw = append(w, ce)\n\t} else if tp == ceExpansionIndex {\n\t\tw = t.appendExpansion(w, ce)\n\t} else if tp == ceContractionIndex {\n\t\tn := 0\n\t\tsrc.tail(sz)\n\t\tif src.bytes == nil {\n\t\t\tw, n = t.matchContractionString(w, ce, src.str)\n\t\t} else {\n\t\t\tw, n = t.matchContraction(w, ce, src.bytes)\n\t\t}\n\t\tsz += n\n\t} else if tp == ceDecompose {\n\t\t// Decompose using NFKD and replace tertiary weights.\n\t\tt1, t2 := splitDecompose(ce)\n\t\ti := len(w)\n\t\tnfkd := src.properties(norm.NFKD).Decomposition()\n\t\tfor p := 0; len(nfkd) > 0; nfkd = nfkd[p:] {\n\t\t\tw, p = t.appendNext(w, source{bytes: nfkd})\n\t\t}\n\t\tw[i] = w[i].updateTertiary(t1)\n\t\tif i++; i < len(w) {\n\t\t\tw[i] = w[i].updateTertiary(t2)\n\t\t\tfor i++; i < len(w); i++ {\n\t\t\t\tw[i] = w[i].updateTertiary(maxTertiary)\n\t\t\t}\n\t\t}\n\t}\n\treturn w, sz\n}\n\nfunc (t *Table) appendExpansion(w []Elem, ce Elem) []Elem {\n\ti := splitExpandIndex(ce)\n\tn := int(t.ExpandElem[i])\n\ti++\n\tfor _, ce := range t.ExpandElem[i : i+n] {\n\t\tw = append(w, Elem(ce))\n\t}\n\treturn w\n}\n\nfunc (t *Table) matchContraction(w []Elem, ce Elem, suffix []byte) ([]Elem, int) {\n\tindex, n, offset := splitContractIndex(ce)\n\n\tscan := t.ContractTries.scanner(index, n, suffix)\n\tbuf := [norm.MaxSegmentSize]byte{}\n\tbufp := 0\n\tp := scan.scan(0)\n\n\tif !scan.done && p < len(suffix) && suffix[p] >= utf8.RuneSelf {\n\t\t// By now we should have filtered most cases.\n\t\tp0 := p\n\t\tbufn := 0\n\t\trune := norm.NFD.Properties(suffix[p:])\n\t\tp += rune.Size()\n\t\tif rune.LeadCCC() != 0 {\n\t\t\tprevCC := rune.TrailCCC()\n\t\t\t// A gap may only occur in the last normalization segment.\n\t\t\t// This also ensures that len(scan.s) < norm.MaxSegmentSize.\n\t\t\tif end := norm.NFD.FirstBoundary(suffix[p:]); end != -1 {\n\t\t\t\tscan.s = suffix[:p+end]\n\t\t\t}\n\t\t\tfor p < len(suffix) && !scan.done && suffix[p] >= utf8.RuneSelf {\n\t\t\t\trune = norm.NFD.Properties(suffix[p:])\n\t\t\t\tif ccc := rune.LeadCCC(); ccc == 0 || prevCC >= ccc {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tprevCC = rune.TrailCCC()\n\t\t\t\tif pp := scan.scan(p); pp != p {\n\t\t\t\t\t// Copy the interstitial runes for later processing.\n\t\t\t\t\tbufn += copy(buf[bufn:], suffix[p0:p])\n\t\t\t\t\tif scan.pindex == pp {\n\t\t\t\t\t\tbufp = bufn\n\t\t\t\t\t}\n\t\t\t\t\tp, p0 = pp, pp\n\t\t\t\t} else {\n\t\t\t\t\tp += rune.Size()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Append weights for the matched contraction, which may be an expansion.\n\ti, n := scan.result()\n\tce = Elem(t.ContractElem[i+offset])\n\tif ce.ctype() == ceNormal {\n\t\tw = append(w, ce)\n\t} else {\n\t\tw = t.appendExpansion(w, ce)\n\t}\n\t// Append weights for the runes in the segment not part of the contraction.\n\tfor b, p := buf[:bufp], 0; len(b) > 0; b = b[p:] {\n\t\tw, p = t.appendNext(w, source{bytes: b})\n\t}\n\treturn w, n\n}\n\n// TODO: unify the two implementations. This is best done after first simplifying\n// the algorithm taking into account the inclusion of both NFC and NFD forms\n// in the table.\nfunc (t *Table) matchContractionString(w []Elem, ce Elem, suffix string) ([]Elem, int) {\n\tindex, n, offset := splitContractIndex(ce)\n\n\tscan := t.ContractTries.scannerString(index, n, suffix)\n\tbuf := [norm.MaxSegmentSize]byte{}\n\tbufp := 0\n\tp := scan.scan(0)\n\n\tif !scan.done && p < len(suffix) && suffix[p] >= utf8.RuneSelf {\n\t\t// By now we should have filtered most cases.\n\t\tp0 := p\n\t\tbufn := 0\n\t\trune := norm.NFD.PropertiesString(suffix[p:])\n\t\tp += rune.Size()\n\t\tif rune.LeadCCC() != 0 {\n\t\t\tprevCC := rune.TrailCCC()\n\t\t\t// A gap may only occur in the last normalization segment.\n\t\t\t// This also ensures that len(scan.s) < norm.MaxSegmentSize.\n\t\t\tif end := norm.NFD.FirstBoundaryInString(suffix[p:]); end != -1 {\n\t\t\t\tscan.s = suffix[:p+end]\n\t\t\t}\n\t\t\tfor p < len(suffix) && !scan.done && suffix[p] >= utf8.RuneSelf {\n\t\t\t\trune = norm.NFD.PropertiesString(suffix[p:])\n\t\t\t\tif ccc := rune.LeadCCC(); ccc == 0 || prevCC >= ccc {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tprevCC = rune.TrailCCC()\n\t\t\t\tif pp := scan.scan(p); pp != p {\n\t\t\t\t\t// Copy the interstitial runes for later processing.\n\t\t\t\t\tbufn += copy(buf[bufn:], suffix[p0:p])\n\t\t\t\t\tif scan.pindex == pp {\n\t\t\t\t\t\tbufp = bufn\n\t\t\t\t\t}\n\t\t\t\t\tp, p0 = pp, pp\n\t\t\t\t} else {\n\t\t\t\t\tp += rune.Size()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Append weights for the matched contraction, which may be an expansion.\n\ti, n := scan.result()\n\tce = Elem(t.ContractElem[i+offset])\n\tif ce.ctype() == ceNormal {\n\t\tw = append(w, ce)\n\t} else {\n\t\tw = t.appendExpansion(w, ce)\n\t}\n\t// Append weights for the runes in the segment not part of the contraction.\n\tfor b, p := buf[:bufp], 0; len(b) > 0; b = b[p:] {\n\t\tw, p = t.appendNext(w, source{bytes: b})\n\t}\n\treturn w, n\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/internal/colltab/trie.go",
    "content": "// Copyright 2012 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// The trie in this file is used to associate the first full character in an\n// UTF-8 string to a collation element. All but the last byte in a UTF-8 byte\n// sequence are used to lookup offsets in the index table to be used for the\n// next byte. The last byte is used to index into a table of collation elements.\n// For a full description, see go.text/collate/build/trie.go.\n\npackage colltab\n\nconst blockSize = 64\n\ntype Trie struct {\n\tIndex0  []uint16 // index for first byte (0xC0-0xFF)\n\tValues0 []uint32 // index for first byte (0x00-0x7F)\n\tIndex   []uint16\n\tValues  []uint32\n}\n\nconst (\n\tt1 = 0x00 // 0000 0000\n\ttx = 0x80 // 1000 0000\n\tt2 = 0xC0 // 1100 0000\n\tt3 = 0xE0 // 1110 0000\n\tt4 = 0xF0 // 1111 0000\n\tt5 = 0xF8 // 1111 1000\n\tt6 = 0xFC // 1111 1100\n\tte = 0xFE // 1111 1110\n)\n\nfunc (t *Trie) lookupValue(n uint16, b byte) Elem {\n\treturn Elem(t.Values[int(n)<<6+int(b)])\n}\n\n// lookup returns the trie value for the first UTF-8 encoding in s and\n// the width in bytes of this encoding. The size will be 0 if s does not\n// hold enough bytes to complete the encoding. len(s) must be greater than 0.\nfunc (t *Trie) lookup(s []byte) (v Elem, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < tx:\n\t\treturn Elem(t.Values0[c0]), 1\n\tcase c0 < t2:\n\t\treturn 0, 1\n\tcase c0 < t3:\n\t\tif len(s) < 2 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := t.Index0[c0]\n\t\tc1 := s[1]\n\t\tif c1 < tx || t2 <= c1 {\n\t\t\treturn 0, 1\n\t\t}\n\t\treturn t.lookupValue(i, c1), 2\n\tcase c0 < t4:\n\t\tif len(s) < 3 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := t.Index0[c0]\n\t\tc1 := s[1]\n\t\tif c1 < tx || t2 <= c1 {\n\t\t\treturn 0, 1\n\t\t}\n\t\to := int(i)<<6 + int(c1)\n\t\ti = t.Index[o]\n\t\tc2 := s[2]\n\t\tif c2 < tx || t2 <= c2 {\n\t\t\treturn 0, 2\n\t\t}\n\t\treturn t.lookupValue(i, c2), 3\n\tcase c0 < t5:\n\t\tif len(s) < 4 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := t.Index0[c0]\n\t\tc1 := s[1]\n\t\tif c1 < tx || t2 <= c1 {\n\t\t\treturn 0, 1\n\t\t}\n\t\to := int(i)<<6 + int(c1)\n\t\ti = t.Index[o]\n\t\tc2 := s[2]\n\t\tif c2 < tx || t2 <= c2 {\n\t\t\treturn 0, 2\n\t\t}\n\t\to = int(i)<<6 + int(c2)\n\t\ti = t.Index[o]\n\t\tc3 := s[3]\n\t\tif c3 < tx || t2 <= c3 {\n\t\t\treturn 0, 3\n\t\t}\n\t\treturn t.lookupValue(i, c3), 4\n\t}\n\t// Illegal rune\n\treturn 0, 1\n}\n\n// The body of lookupString is a verbatim copy of that of lookup.\nfunc (t *Trie) lookupString(s string) (v Elem, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < tx:\n\t\treturn Elem(t.Values0[c0]), 1\n\tcase c0 < t2:\n\t\treturn 0, 1\n\tcase c0 < t3:\n\t\tif len(s) < 2 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := t.Index0[c0]\n\t\tc1 := s[1]\n\t\tif c1 < tx || t2 <= c1 {\n\t\t\treturn 0, 1\n\t\t}\n\t\treturn t.lookupValue(i, c1), 2\n\tcase c0 < t4:\n\t\tif len(s) < 3 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := t.Index0[c0]\n\t\tc1 := s[1]\n\t\tif c1 < tx || t2 <= c1 {\n\t\t\treturn 0, 1\n\t\t}\n\t\to := int(i)<<6 + int(c1)\n\t\ti = t.Index[o]\n\t\tc2 := s[2]\n\t\tif c2 < tx || t2 <= c2 {\n\t\t\treturn 0, 2\n\t\t}\n\t\treturn t.lookupValue(i, c2), 3\n\tcase c0 < t5:\n\t\tif len(s) < 4 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := t.Index0[c0]\n\t\tc1 := s[1]\n\t\tif c1 < tx || t2 <= c1 {\n\t\t\treturn 0, 1\n\t\t}\n\t\to := int(i)<<6 + int(c1)\n\t\ti = t.Index[o]\n\t\tc2 := s[2]\n\t\tif c2 < tx || t2 <= c2 {\n\t\t\treturn 0, 2\n\t\t}\n\t\to = int(i)<<6 + int(c2)\n\t\ti = t.Index[o]\n\t\tc3 := s[3]\n\t\tif c3 < tx || t2 <= c3 {\n\t\t\treturn 0, 3\n\t\t}\n\t\treturn t.lookupValue(i, c3), 4\n\t}\n\t// Illegal rune\n\treturn 0, 1\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/internal/colltab/weighter.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage colltab // import \"golang.org/x/text/internal/colltab\"\n\n// A Weighter can be used as a source for Collator and Searcher.\ntype Weighter interface {\n\t// Start finds the start of the segment that includes position p.\n\tStart(p int, b []byte) int\n\n\t// StartString finds the start of the segment that includes position p.\n\tStartString(p int, s string) int\n\n\t// AppendNext appends Elems to buf corresponding to the longest match\n\t// of a single character or contraction from the start of s.\n\t// It returns the new buf and the number of bytes consumed.\n\tAppendNext(buf []Elem, s []byte) (ce []Elem, n int)\n\n\t// AppendNextString appends Elems to buf corresponding to the longest match\n\t// of a single character or contraction from the start of s.\n\t// It returns the new buf and the number of bytes consumed.\n\tAppendNextString(buf []Elem, s string) (ce []Elem, n int)\n\n\t// Domain returns a slice of all single characters and contractions for which\n\t// collation elements are defined in this table.\n\tDomain() []string\n\n\t// Top returns the highest variable primary value.\n\tTop() uint32\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/internal/gen/code.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage gen\n\nimport (\n\t\"bytes\"\n\t\"encoding/gob\"\n\t\"fmt\"\n\t\"hash\"\n\t\"hash/fnv\"\n\t\"io\"\n\t\"log\"\n\t\"os\"\n\t\"reflect\"\n\t\"strings\"\n\t\"unicode\"\n\t\"unicode/utf8\"\n)\n\n// This file contains utilities for generating code.\n\n// TODO: other write methods like:\n// - slices, maps, types, etc.\n\n// CodeWriter is a utility for writing structured code. It computes the content\n// hash and size of written content. It ensures there are newlines between\n// written code blocks.\ntype CodeWriter struct {\n\tbuf  bytes.Buffer\n\tSize int\n\tHash hash.Hash32 // content hash\n\tgob  *gob.Encoder\n\t// For comments we skip the usual one-line separator if they are followed by\n\t// a code block.\n\tskipSep bool\n}\n\nfunc (w *CodeWriter) Write(p []byte) (n int, err error) {\n\treturn w.buf.Write(p)\n}\n\n// NewCodeWriter returns a new CodeWriter.\nfunc NewCodeWriter() *CodeWriter {\n\th := fnv.New32()\n\treturn &CodeWriter{Hash: h, gob: gob.NewEncoder(h)}\n}\n\n// WriteGoFile appends the buffer with the total size of all created structures\n// and writes it as a Go file to the the given file with the given package name.\nfunc (w *CodeWriter) WriteGoFile(filename, pkg string) {\n\tf, err := os.Create(filename)\n\tif err != nil {\n\t\tlog.Fatalf(\"Could not create file %s: %v\", filename, err)\n\t}\n\tdefer f.Close()\n\tif _, err = w.WriteGo(f, pkg, \"\"); err != nil {\n\t\tlog.Fatalf(\"Error writing file %s: %v\", filename, err)\n\t}\n}\n\n// WriteVersionedGoFile appends the buffer with the total size of all created\n// structures and writes it as a Go file to the the given file with the given\n// package name and build tags for the current Unicode version,\nfunc (w *CodeWriter) WriteVersionedGoFile(filename, pkg string) {\n\ttags := buildTags()\n\tif tags != \"\" {\n\t\tfilename = insertVersion(filename, UnicodeVersion())\n\t}\n\tf, err := os.Create(filename)\n\tif err != nil {\n\t\tlog.Fatalf(\"Could not create file %s: %v\", filename, err)\n\t}\n\tdefer f.Close()\n\tif _, err = w.WriteGo(f, pkg, tags); err != nil {\n\t\tlog.Fatalf(\"Error writing file %s: %v\", filename, err)\n\t}\n}\n\n// WriteGo appends the buffer with the total size of all created structures and\n// writes it as a Go file to the the given writer with the given package name.\nfunc (w *CodeWriter) WriteGo(out io.Writer, pkg, tags string) (n int, err error) {\n\tsz := w.Size\n\tw.WriteComment(\"Total table size %d bytes (%dKiB); checksum: %X\\n\", sz, sz/1024, w.Hash.Sum32())\n\tdefer w.buf.Reset()\n\treturn WriteGo(out, pkg, tags, w.buf.Bytes())\n}\n\nfunc (w *CodeWriter) printf(f string, x ...interface{}) {\n\tfmt.Fprintf(w, f, x...)\n}\n\nfunc (w *CodeWriter) insertSep() {\n\tif w.skipSep {\n\t\tw.skipSep = false\n\t\treturn\n\t}\n\t// Use at least two newlines to ensure a blank space between the previous\n\t// block. WriteGoFile will remove extraneous newlines.\n\tw.printf(\"\\n\\n\")\n}\n\n// WriteComment writes a comment block. All line starts are prefixed with \"//\".\n// Initial empty lines are gobbled. The indentation for the first line is\n// stripped from consecutive lines.\nfunc (w *CodeWriter) WriteComment(comment string, args ...interface{}) {\n\ts := fmt.Sprintf(comment, args...)\n\ts = strings.Trim(s, \"\\n\")\n\n\t// Use at least two newlines to ensure a blank space between the previous\n\t// block. WriteGoFile will remove extraneous newlines.\n\tw.printf(\"\\n\\n// \")\n\tw.skipSep = true\n\n\t// strip first indent level.\n\tsep := \"\\n\"\n\tfor ; len(s) > 0 && (s[0] == '\\t' || s[0] == ' '); s = s[1:] {\n\t\tsep += s[:1]\n\t}\n\n\tstrings.NewReplacer(sep, \"\\n// \", \"\\n\", \"\\n// \").WriteString(w, s)\n\n\tw.printf(\"\\n\")\n}\n\nfunc (w *CodeWriter) writeSizeInfo(size int) {\n\tw.printf(\"// Size: %d bytes\\n\", size)\n}\n\n// WriteConst writes a constant of the given name and value.\nfunc (w *CodeWriter) WriteConst(name string, x interface{}) {\n\tw.insertSep()\n\tv := reflect.ValueOf(x)\n\n\tswitch v.Type().Kind() {\n\tcase reflect.String:\n\t\tw.printf(\"const %s %s = \", name, typeName(x))\n\t\tw.WriteString(v.String())\n\t\tw.printf(\"\\n\")\n\tdefault:\n\t\tw.printf(\"const %s = %#v\\n\", name, x)\n\t}\n}\n\n// WriteVar writes a variable of the given name and value.\nfunc (w *CodeWriter) WriteVar(name string, x interface{}) {\n\tw.insertSep()\n\tv := reflect.ValueOf(x)\n\toldSize := w.Size\n\tsz := int(v.Type().Size())\n\tw.Size += sz\n\n\tswitch v.Type().Kind() {\n\tcase reflect.String:\n\t\tw.printf(\"var %s %s = \", name, typeName(x))\n\t\tw.WriteString(v.String())\n\tcase reflect.Struct:\n\t\tw.gob.Encode(x)\n\t\tfallthrough\n\tcase reflect.Slice, reflect.Array:\n\t\tw.printf(\"var %s = \", name)\n\t\tw.writeValue(v)\n\t\tw.writeSizeInfo(w.Size - oldSize)\n\tdefault:\n\t\tw.printf(\"var %s %s = \", name, typeName(x))\n\t\tw.gob.Encode(x)\n\t\tw.writeValue(v)\n\t\tw.writeSizeInfo(w.Size - oldSize)\n\t}\n\tw.printf(\"\\n\")\n}\n\nfunc (w *CodeWriter) writeValue(v reflect.Value) {\n\tx := v.Interface()\n\tswitch v.Kind() {\n\tcase reflect.String:\n\t\tw.WriteString(v.String())\n\tcase reflect.Array:\n\t\t// Don't double count: callers of WriteArray count on the size being\n\t\t// added, so we need to discount it here.\n\t\tw.Size -= int(v.Type().Size())\n\t\tw.writeSlice(x, true)\n\tcase reflect.Slice:\n\t\tw.writeSlice(x, false)\n\tcase reflect.Struct:\n\t\tw.printf(\"%s{\\n\", typeName(v.Interface()))\n\t\tt := v.Type()\n\t\tfor i := 0; i < v.NumField(); i++ {\n\t\t\tw.printf(\"%s: \", t.Field(i).Name)\n\t\t\tw.writeValue(v.Field(i))\n\t\t\tw.printf(\",\\n\")\n\t\t}\n\t\tw.printf(\"}\")\n\tdefault:\n\t\tw.printf(\"%#v\", x)\n\t}\n}\n\n// WriteString writes a string literal.\nfunc (w *CodeWriter) WriteString(s string) {\n\ts = strings.Replace(s, `\\`, `\\\\`, -1)\n\tio.WriteString(w.Hash, s) // content hash\n\tw.Size += len(s)\n\n\tconst maxInline = 40\n\tif len(s) <= maxInline {\n\t\tw.printf(\"%q\", s)\n\t\treturn\n\t}\n\n\t// We will render the string as a multi-line string.\n\tconst maxWidth = 80 - 4 - len(`\"`) - len(`\" +`)\n\n\t// When starting on its own line, go fmt indents line 2+ an extra level.\n\tn, max := maxWidth, maxWidth-4\n\n\t// As per https://golang.org/issue/18078, the compiler has trouble\n\t// compiling the concatenation of many strings, s0 + s1 + s2 + ... + sN,\n\t// for large N. We insert redundant, explicit parentheses to work around\n\t// that, lowering the N at any given step: (s0 + s1 + ... + s63) + (s64 +\n\t// ... + s127) + etc + (etc + ... + sN).\n\texplicitParens, extraComment := len(s) > 128*1024, \"\"\n\tif explicitParens {\n\t\tw.printf(`(`)\n\t\textraComment = \"; the redundant, explicit parens are for https://golang.org/issue/18078\"\n\t}\n\n\t// Print \"\" +\\n, if a string does not start on its own line.\n\tb := w.buf.Bytes()\n\tif p := len(bytes.TrimRight(b, \" \\t\")); p > 0 && b[p-1] != '\\n' {\n\t\tw.printf(\"\\\"\\\" + // Size: %d bytes%s\\n\", len(s), extraComment)\n\t\tn, max = maxWidth, maxWidth\n\t}\n\n\tw.printf(`\"`)\n\n\tfor sz, p, nLines := 0, 0, 0; p < len(s); {\n\t\tvar r rune\n\t\tr, sz = utf8.DecodeRuneInString(s[p:])\n\t\tout := s[p : p+sz]\n\t\tchars := 1\n\t\tif !unicode.IsPrint(r) || r == utf8.RuneError || r == '\"' {\n\t\t\tswitch sz {\n\t\t\tcase 1:\n\t\t\t\tout = fmt.Sprintf(\"\\\\x%02x\", s[p])\n\t\t\tcase 2, 3:\n\t\t\t\tout = fmt.Sprintf(\"\\\\u%04x\", r)\n\t\t\tcase 4:\n\t\t\t\tout = fmt.Sprintf(\"\\\\U%08x\", r)\n\t\t\t}\n\t\t\tchars = len(out)\n\t\t}\n\t\tif n -= chars; n < 0 {\n\t\t\tnLines++\n\t\t\tif explicitParens && nLines&63 == 63 {\n\t\t\t\tw.printf(\"\\\") + (\\\"\")\n\t\t\t}\n\t\t\tw.printf(\"\\\" +\\n\\\"\")\n\t\t\tn = max - len(out)\n\t\t}\n\t\tw.printf(\"%s\", out)\n\t\tp += sz\n\t}\n\tw.printf(`\"`)\n\tif explicitParens {\n\t\tw.printf(`)`)\n\t}\n}\n\n// WriteSlice writes a slice value.\nfunc (w *CodeWriter) WriteSlice(x interface{}) {\n\tw.writeSlice(x, false)\n}\n\n// WriteArray writes an array value.\nfunc (w *CodeWriter) WriteArray(x interface{}) {\n\tw.writeSlice(x, true)\n}\n\nfunc (w *CodeWriter) writeSlice(x interface{}, isArray bool) {\n\tv := reflect.ValueOf(x)\n\tw.gob.Encode(v.Len())\n\tw.Size += v.Len() * int(v.Type().Elem().Size())\n\tname := typeName(x)\n\tif isArray {\n\t\tname = fmt.Sprintf(\"[%d]%s\", v.Len(), name[strings.Index(name, \"]\")+1:])\n\t}\n\tif isArray {\n\t\tw.printf(\"%s{\\n\", name)\n\t} else {\n\t\tw.printf(\"%s{ // %d elements\\n\", name, v.Len())\n\t}\n\n\tswitch kind := v.Type().Elem().Kind(); kind {\n\tcase reflect.String:\n\t\tfor _, s := range x.([]string) {\n\t\t\tw.WriteString(s)\n\t\t\tw.printf(\",\\n\")\n\t\t}\n\tcase reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64,\n\t\treflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64:\n\t\t// nLine and nBlock are the number of elements per line and block.\n\t\tnLine, nBlock, format := 8, 64, \"%d,\"\n\t\tswitch kind {\n\t\tcase reflect.Uint8:\n\t\t\tformat = \"%#02x,\"\n\t\tcase reflect.Uint16:\n\t\t\tformat = \"%#04x,\"\n\t\tcase reflect.Uint32:\n\t\t\tnLine, nBlock, format = 4, 32, \"%#08x,\"\n\t\tcase reflect.Uint, reflect.Uint64:\n\t\t\tnLine, nBlock, format = 4, 32, \"%#016x,\"\n\t\tcase reflect.Int8:\n\t\t\tnLine = 16\n\t\t}\n\t\tn := nLine\n\t\tfor i := 0; i < v.Len(); i++ {\n\t\t\tif i%nBlock == 0 && v.Len() > nBlock {\n\t\t\t\tw.printf(\"// Entry %X - %X\\n\", i, i+nBlock-1)\n\t\t\t}\n\t\t\tx := v.Index(i).Interface()\n\t\t\tw.gob.Encode(x)\n\t\t\tw.printf(format, x)\n\t\t\tif n--; n == 0 {\n\t\t\t\tn = nLine\n\t\t\t\tw.printf(\"\\n\")\n\t\t\t}\n\t\t}\n\t\tw.printf(\"\\n\")\n\tcase reflect.Struct:\n\t\tzero := reflect.Zero(v.Type().Elem()).Interface()\n\t\tfor i := 0; i < v.Len(); i++ {\n\t\t\tx := v.Index(i).Interface()\n\t\t\tw.gob.EncodeValue(v)\n\t\t\tif !reflect.DeepEqual(zero, x) {\n\t\t\t\tline := fmt.Sprintf(\"%#v,\\n\", x)\n\t\t\t\tline = line[strings.IndexByte(line, '{'):]\n\t\t\t\tw.printf(\"%d: \", i)\n\t\t\t\tw.printf(line)\n\t\t\t}\n\t\t}\n\tcase reflect.Array:\n\t\tfor i := 0; i < v.Len(); i++ {\n\t\t\tw.printf(\"%d: %#v,\\n\", i, v.Index(i).Interface())\n\t\t}\n\tdefault:\n\t\tpanic(\"gen: slice elem type not supported\")\n\t}\n\tw.printf(\"}\")\n}\n\n// WriteType writes a definition of the type of the given value and returns the\n// type name.\nfunc (w *CodeWriter) WriteType(x interface{}) string {\n\tt := reflect.TypeOf(x)\n\tw.printf(\"type %s struct {\\n\", t.Name())\n\tfor i := 0; i < t.NumField(); i++ {\n\t\tw.printf(\"\\t%s %s\\n\", t.Field(i).Name, t.Field(i).Type)\n\t}\n\tw.printf(\"}\\n\")\n\treturn t.Name()\n}\n\n// typeName returns the name of the go type of x.\nfunc typeName(x interface{}) string {\n\tt := reflect.ValueOf(x).Type()\n\treturn strings.Replace(fmt.Sprint(t), \"main.\", \"\", 1)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/internal/gen/gen.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package gen contains common code for the various code generation tools in the\n// text repository. Its usage ensures consistency between tools.\n//\n// This package defines command line flags that are common to most generation\n// tools. The flags allow for specifying specific Unicode and CLDR versions\n// in the public Unicode data repository (http://www.unicode.org/Public).\n//\n// A local Unicode data mirror can be set through the flag -local or the\n// environment variable UNICODE_DIR. The former takes precedence. The local\n// directory should follow the same structure as the public repository.\n//\n// IANA data can also optionally be mirrored by putting it in the iana directory\n// rooted at the top of the local mirror. Beware, though, that IANA data is not\n// versioned. So it is up to the developer to use the right version.\npackage gen // import \"golang.org/x/text/internal/gen\"\n\nimport (\n\t\"bytes\"\n\t\"flag\"\n\t\"fmt\"\n\t\"go/build\"\n\t\"go/format\"\n\t\"io\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"net/http\"\n\t\"os\"\n\t\"path\"\n\t\"path/filepath\"\n\t\"strings\"\n\t\"sync\"\n\t\"unicode\"\n\n\t\"golang.org/x/text/unicode/cldr\"\n)\n\nvar (\n\turl = flag.String(\"url\",\n\t\t\"http://www.unicode.org/Public\",\n\t\t\"URL of Unicode database directory\")\n\tiana = flag.String(\"iana\",\n\t\t\"http://www.iana.org\",\n\t\t\"URL of the IANA repository\")\n\tunicodeVersion = flag.String(\"unicode\",\n\t\tgetEnv(\"UNICODE_VERSION\", unicode.Version),\n\t\t\"unicode version to use\")\n\tcldrVersion = flag.String(\"cldr\",\n\t\tgetEnv(\"CLDR_VERSION\", cldr.Version),\n\t\t\"cldr version to use\")\n)\n\nfunc getEnv(name, def string) string {\n\tif v := os.Getenv(name); v != \"\" {\n\t\treturn v\n\t}\n\treturn def\n}\n\n// Init performs common initialization for a gen command. It parses the flags\n// and sets up the standard logging parameters.\nfunc Init() {\n\tlog.SetPrefix(\"\")\n\tlog.SetFlags(log.Lshortfile)\n\tflag.Parse()\n}\n\nconst header = `// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\n`\n\n// UnicodeVersion reports the requested Unicode version.\nfunc UnicodeVersion() string {\n\treturn *unicodeVersion\n}\n\n// CLDRVersion reports the requested CLDR version.\nfunc CLDRVersion() string {\n\treturn *cldrVersion\n}\n\nvar tags = []struct{ version, buildTags string }{\n\t{\"10.0.0\", \"go1.10\"},\n\t{\"\", \"!go1.10\"},\n}\n\n// buildTags reports the build tags used for the current Unicode version.\nfunc buildTags() string {\n\tv := UnicodeVersion()\n\tfor _, x := range tags {\n\t\t// We should do a numeric comparison, but including the collate package\n\t\t// would create an import cycle. We approximate it by assuming that\n\t\t// longer version strings are later.\n\t\tif len(x.version) <= len(v) {\n\t\t\treturn x.buildTags\n\t\t}\n\t\tif len(x.version) == len(v) && x.version <= v {\n\t\t\treturn x.buildTags\n\t\t}\n\t}\n\treturn tags[0].buildTags\n}\n\n// IsLocal reports whether data files are available locally.\nfunc IsLocal() bool {\n\tdir, err := localReadmeFile()\n\tif err != nil {\n\t\treturn false\n\t}\n\tif _, err = os.Stat(dir); err != nil {\n\t\treturn false\n\t}\n\treturn true\n}\n\n// OpenUCDFile opens the requested UCD file. The file is specified relative to\n// the public Unicode root directory. It will call log.Fatal if there are any\n// errors.\nfunc OpenUCDFile(file string) io.ReadCloser {\n\treturn openUnicode(path.Join(*unicodeVersion, \"ucd\", file))\n}\n\n// OpenCLDRCoreZip opens the CLDR core zip file. It will call log.Fatal if there\n// are any errors.\nfunc OpenCLDRCoreZip() io.ReadCloser {\n\treturn OpenUnicodeFile(\"cldr\", *cldrVersion, \"core.zip\")\n}\n\n// OpenUnicodeFile opens the requested file of the requested category from the\n// root of the Unicode data archive. The file is specified relative to the\n// public Unicode root directory. If version is \"\", it will use the default\n// Unicode version. It will call log.Fatal if there are any errors.\nfunc OpenUnicodeFile(category, version, file string) io.ReadCloser {\n\tif version == \"\" {\n\t\tversion = UnicodeVersion()\n\t}\n\treturn openUnicode(path.Join(category, version, file))\n}\n\n// OpenIANAFile opens the requested IANA file. The file is specified relative\n// to the IANA root, which is typically either http://www.iana.org or the\n// iana directory in the local mirror. It will call log.Fatal if there are any\n// errors.\nfunc OpenIANAFile(path string) io.ReadCloser {\n\treturn Open(*iana, \"iana\", path)\n}\n\nvar (\n\tdirMutex sync.Mutex\n\tlocalDir string\n)\n\nconst permissions = 0755\n\nfunc localReadmeFile() (string, error) {\n\tp, err := build.Import(\"golang.org/x/text\", \"\", build.FindOnly)\n\tif err != nil {\n\t\treturn \"\", fmt.Errorf(\"Could not locate package: %v\", err)\n\t}\n\treturn filepath.Join(p.Dir, \"DATA\", \"README\"), nil\n}\n\nfunc getLocalDir() string {\n\tdirMutex.Lock()\n\tdefer dirMutex.Unlock()\n\n\treadme, err := localReadmeFile()\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tdir := filepath.Dir(readme)\n\tif _, err := os.Stat(readme); err != nil {\n\t\tif err := os.MkdirAll(dir, permissions); err != nil {\n\t\t\tlog.Fatalf(\"Could not create directory: %v\", err)\n\t\t}\n\t\tioutil.WriteFile(readme, []byte(readmeTxt), permissions)\n\t}\n\treturn dir\n}\n\nconst readmeTxt = `Generated by golang.org/x/text/internal/gen. DO NOT EDIT.\n\nThis directory contains downloaded files used to generate the various tables\nin the golang.org/x/text subrepo.\n\nNote that the language subtag repo (iana/assignments/language-subtag-registry)\nand all other times in the iana subdirectory are not versioned and will need\nto be periodically manually updated. The easiest way to do this is to remove\nthe entire iana directory. This is mostly of concern when updating the language\npackage.\n`\n\n// Open opens subdir/path if a local directory is specified and the file exists,\n// where subdir is a directory relative to the local root, or fetches it from\n// urlRoot/path otherwise. It will call log.Fatal if there are any errors.\nfunc Open(urlRoot, subdir, path string) io.ReadCloser {\n\tfile := filepath.Join(getLocalDir(), subdir, filepath.FromSlash(path))\n\treturn open(file, urlRoot, path)\n}\n\nfunc openUnicode(path string) io.ReadCloser {\n\tfile := filepath.Join(getLocalDir(), filepath.FromSlash(path))\n\treturn open(file, *url, path)\n}\n\n// TODO: automatically periodically update non-versioned files.\n\nfunc open(file, urlRoot, path string) io.ReadCloser {\n\tif f, err := os.Open(file); err == nil {\n\t\treturn f\n\t}\n\tr := get(urlRoot, path)\n\tdefer r.Close()\n\tb, err := ioutil.ReadAll(r)\n\tif err != nil {\n\t\tlog.Fatalf(\"Could not download file: %v\", err)\n\t}\n\tos.MkdirAll(filepath.Dir(file), permissions)\n\tif err := ioutil.WriteFile(file, b, permissions); err != nil {\n\t\tlog.Fatalf(\"Could not create file: %v\", err)\n\t}\n\treturn ioutil.NopCloser(bytes.NewReader(b))\n}\n\nfunc get(root, path string) io.ReadCloser {\n\turl := root + \"/\" + path\n\tfmt.Printf(\"Fetching %s...\", url)\n\tdefer fmt.Println(\" done.\")\n\tresp, err := http.Get(url)\n\tif err != nil {\n\t\tlog.Fatalf(\"HTTP GET: %v\", err)\n\t}\n\tif resp.StatusCode != 200 {\n\t\tlog.Fatalf(\"Bad GET status for %q: %q\", url, resp.Status)\n\t}\n\treturn resp.Body\n}\n\n// TODO: use Write*Version in all applicable packages.\n\n// WriteUnicodeVersion writes a constant for the Unicode version from which the\n// tables are generated.\nfunc WriteUnicodeVersion(w io.Writer) {\n\tfmt.Fprintf(w, \"// UnicodeVersion is the Unicode version from which the tables in this package are derived.\\n\")\n\tfmt.Fprintf(w, \"const UnicodeVersion = %q\\n\\n\", UnicodeVersion())\n}\n\n// WriteCLDRVersion writes a constant for the CLDR version from which the\n// tables are generated.\nfunc WriteCLDRVersion(w io.Writer) {\n\tfmt.Fprintf(w, \"// CLDRVersion is the CLDR version from which the tables in this package are derived.\\n\")\n\tfmt.Fprintf(w, \"const CLDRVersion = %q\\n\\n\", CLDRVersion())\n}\n\n// WriteGoFile prepends a standard file comment and package statement to the\n// given bytes, applies gofmt, and writes them to a file with the given name.\n// It will call log.Fatal if there are any errors.\nfunc WriteGoFile(filename, pkg string, b []byte) {\n\tw, err := os.Create(filename)\n\tif err != nil {\n\t\tlog.Fatalf(\"Could not create file %s: %v\", filename, err)\n\t}\n\tdefer w.Close()\n\tif _, err = WriteGo(w, pkg, \"\", b); err != nil {\n\t\tlog.Fatalf(\"Error writing file %s: %v\", filename, err)\n\t}\n}\n\nfunc insertVersion(filename, version string) string {\n\tsuffix := \".go\"\n\tif strings.HasSuffix(filename, \"_test.go\") {\n\t\tsuffix = \"_test.go\"\n\t}\n\treturn fmt.Sprint(filename[:len(filename)-len(suffix)], version, suffix)\n}\n\n// WriteVersionedGoFile prepends a standard file comment, adds build tags to\n// version the file for the current Unicode version, and package statement to\n// the given bytes, applies gofmt, and writes them to a file with the given\n// name. It will call log.Fatal if there are any errors.\nfunc WriteVersionedGoFile(filename, pkg string, b []byte) {\n\ttags := buildTags()\n\tif tags != \"\" {\n\t\tfilename = insertVersion(filename, UnicodeVersion())\n\t}\n\tw, err := os.Create(filename)\n\tif err != nil {\n\t\tlog.Fatalf(\"Could not create file %s: %v\", filename, err)\n\t}\n\tdefer w.Close()\n\tif _, err = WriteGo(w, pkg, tags, b); err != nil {\n\t\tlog.Fatalf(\"Error writing file %s: %v\", filename, err)\n\t}\n}\n\n// WriteGo prepends a standard file comment and package statement to the given\n// bytes, applies gofmt, and writes them to w.\nfunc WriteGo(w io.Writer, pkg, tags string, b []byte) (n int, err error) {\n\tsrc := []byte(header)\n\tif tags != \"\" {\n\t\tsrc = append(src, fmt.Sprintf(\"// +build %s\\n\\n\", tags)...)\n\t}\n\tsrc = append(src, fmt.Sprintf(\"package %s\\n\\n\", pkg)...)\n\tsrc = append(src, b...)\n\tformatted, err := format.Source(src)\n\tif err != nil {\n\t\t// Print the generated code even in case of an error so that the\n\t\t// returned error can be meaningfully interpreted.\n\t\tn, _ = w.Write(src)\n\t\treturn n, err\n\t}\n\treturn w.Write(formatted)\n}\n\n// Repackage rewrites a Go file from belonging to package main to belonging to\n// the given package.\nfunc Repackage(inFile, outFile, pkg string) {\n\tsrc, err := ioutil.ReadFile(inFile)\n\tif err != nil {\n\t\tlog.Fatalf(\"reading %s: %v\", inFile, err)\n\t}\n\tconst toDelete = \"package main\\n\\n\"\n\ti := bytes.Index(src, []byte(toDelete))\n\tif i < 0 {\n\t\tlog.Fatalf(\"Could not find %q in %s.\", toDelete, inFile)\n\t}\n\tw := &bytes.Buffer{}\n\tw.Write(src[i+len(toDelete):])\n\tWriteGoFile(outFile, pkg, w.Bytes())\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/internal/tag/tag.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package tag contains functionality handling tags and related data.\npackage tag // import \"golang.org/x/text/internal/tag\"\n\nimport \"sort\"\n\n// An Index converts tags to a compact numeric value.\n//\n// All elements are of size 4. Tags may be up to 4 bytes long. Excess bytes can\n// be used to store additional information about the tag.\ntype Index string\n\n// Elem returns the element data at the given index.\nfunc (s Index) Elem(x int) string {\n\treturn string(s[x*4 : x*4+4])\n}\n\n// Index reports the index of the given key or -1 if it could not be found.\n// Only the first len(key) bytes from the start of the 4-byte entries will be\n// considered for the search and the first match in Index will be returned.\nfunc (s Index) Index(key []byte) int {\n\tn := len(key)\n\t// search the index of the first entry with an equal or higher value than\n\t// key in s.\n\tindex := sort.Search(len(s)/4, func(i int) bool {\n\t\treturn cmp(s[i*4:i*4+n], key) != -1\n\t})\n\ti := index * 4\n\tif cmp(s[i:i+len(key)], key) != 0 {\n\t\treturn -1\n\t}\n\treturn index\n}\n\n// Next finds the next occurrence of key after index x, which must have been\n// obtained from a call to Index using the same key. It returns x+1 or -1.\nfunc (s Index) Next(key []byte, x int) int {\n\tif x++; x*4 < len(s) && cmp(s[x*4:x*4+len(key)], key) == 0 {\n\t\treturn x\n\t}\n\treturn -1\n}\n\n// cmp returns an integer comparing a and b lexicographically.\nfunc cmp(a Index, b []byte) int {\n\tn := len(a)\n\tif len(b) < n {\n\t\tn = len(b)\n\t}\n\tfor i, c := range b[:n] {\n\t\tswitch {\n\t\tcase a[i] > c:\n\t\t\treturn 1\n\t\tcase a[i] < c:\n\t\t\treturn -1\n\t\t}\n\t}\n\tswitch {\n\tcase len(a) < len(b):\n\t\treturn -1\n\tcase len(a) > len(b):\n\t\treturn 1\n\t}\n\treturn 0\n}\n\n// Compare returns an integer comparing a and b lexicographically.\nfunc Compare(a string, b []byte) int {\n\treturn cmp(Index(a), b)\n}\n\n// FixCase reformats b to the same pattern of cases as form.\n// If returns false if string b is malformed.\nfunc FixCase(form string, b []byte) bool {\n\tif len(form) != len(b) {\n\t\treturn false\n\t}\n\tfor i, c := range b {\n\t\tif form[i] <= 'Z' {\n\t\t\tif c >= 'a' {\n\t\t\t\tc -= 'z' - 'Z'\n\t\t\t}\n\t\t\tif c < 'A' || 'Z' < c {\n\t\t\t\treturn false\n\t\t\t}\n\t\t} else {\n\t\t\tif c <= 'Z' {\n\t\t\t\tc += 'z' - 'Z'\n\t\t\t}\n\t\t\tif c < 'a' || 'z' < c {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t\tb[i] = c\n\t}\n\treturn true\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/internal/triegen/compact.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage triegen\n\n// This file defines Compacter and its implementations.\n\nimport \"io\"\n\n// A Compacter generates an alternative, more space-efficient way to store a\n// trie value block. A trie value block holds all possible values for the last\n// byte of a UTF-8 encoded rune. Excluding ASCII characters, a trie value block\n// always has 64 values, as a UTF-8 encoding ends with a byte in [0x80, 0xC0).\ntype Compacter interface {\n\t// Size returns whether the Compacter could encode the given block as well\n\t// as its size in case it can. len(v) is always 64.\n\tSize(v []uint64) (sz int, ok bool)\n\n\t// Store stores the block using the Compacter's compression method.\n\t// It returns a handle with which the block can be retrieved.\n\t// len(v) is always 64.\n\tStore(v []uint64) uint32\n\n\t// Print writes the data structures associated to the given store to w.\n\tPrint(w io.Writer) error\n\n\t// Handler returns the name of a function that gets called during trie\n\t// lookup for blocks generated by the Compacter. The function should be of\n\t// the form func (n uint32, b byte) uint64, where n is the index returned by\n\t// the Compacter's Store method and b is the last byte of the UTF-8\n\t// encoding, where 0x80 <= b < 0xC0, for which to do the lookup in the\n\t// block.\n\tHandler() string\n}\n\n// simpleCompacter is the default Compacter used by builder. It implements a\n// normal trie block.\ntype simpleCompacter builder\n\nfunc (b *simpleCompacter) Size([]uint64) (sz int, ok bool) {\n\treturn blockSize * b.ValueSize, true\n}\n\nfunc (b *simpleCompacter) Store(v []uint64) uint32 {\n\th := uint32(len(b.ValueBlocks) - blockOffset)\n\tb.ValueBlocks = append(b.ValueBlocks, v)\n\treturn h\n}\n\nfunc (b *simpleCompacter) Print(io.Writer) error {\n\t// Structures are printed in print.go.\n\treturn nil\n}\n\nfunc (b *simpleCompacter) Handler() string {\n\tpanic(\"Handler should be special-cased for this Compacter\")\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/internal/triegen/print.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage triegen\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"io\"\n\t\"strings\"\n\t\"text/template\"\n)\n\n// print writes all the data structures as well as the code necessary to use the\n// trie to w.\nfunc (b *builder) print(w io.Writer) error {\n\tb.Stats.NValueEntries = len(b.ValueBlocks) * blockSize\n\tb.Stats.NValueBytes = len(b.ValueBlocks) * blockSize * b.ValueSize\n\tb.Stats.NIndexEntries = len(b.IndexBlocks) * blockSize\n\tb.Stats.NIndexBytes = len(b.IndexBlocks) * blockSize * b.IndexSize\n\tb.Stats.NHandleBytes = len(b.Trie) * 2 * b.IndexSize\n\n\t// If we only have one root trie, all starter blocks are at position 0 and\n\t// we can access the arrays directly.\n\tif len(b.Trie) == 1 {\n\t\t// At this point we cannot refer to the generated tables directly.\n\t\tb.ASCIIBlock = b.Name + \"Values\"\n\t\tb.StarterBlock = b.Name + \"Index\"\n\t} else {\n\t\t// Otherwise we need to have explicit starter indexes in the trie\n\t\t// structure.\n\t\tb.ASCIIBlock = \"t.ascii\"\n\t\tb.StarterBlock = \"t.utf8Start\"\n\t}\n\n\tb.SourceType = \"[]byte\"\n\tif err := lookupGen.Execute(w, b); err != nil {\n\t\treturn err\n\t}\n\n\tb.SourceType = \"string\"\n\tif err := lookupGen.Execute(w, b); err != nil {\n\t\treturn err\n\t}\n\n\tif err := trieGen.Execute(w, b); err != nil {\n\t\treturn err\n\t}\n\n\tfor _, c := range b.Compactions {\n\t\tif err := c.c.Print(w); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\treturn nil\n}\n\nfunc printValues(n int, values []uint64) string {\n\tw := &bytes.Buffer{}\n\tboff := n * blockSize\n\tfmt.Fprintf(w, \"\\t// Block %#x, offset %#x\", n, boff)\n\tvar newline bool\n\tfor i, v := range values {\n\t\tif i%6 == 0 {\n\t\t\tnewline = true\n\t\t}\n\t\tif v != 0 {\n\t\t\tif newline {\n\t\t\t\tfmt.Fprintf(w, \"\\n\")\n\t\t\t\tnewline = false\n\t\t\t}\n\t\t\tfmt.Fprintf(w, \"\\t%#02x:%#04x, \", boff+i, v)\n\t\t}\n\t}\n\treturn w.String()\n}\n\nfunc printIndex(b *builder, nr int, n *node) string {\n\tw := &bytes.Buffer{}\n\tboff := nr * blockSize\n\tfmt.Fprintf(w, \"\\t// Block %#x, offset %#x\", nr, boff)\n\tvar newline bool\n\tfor i, c := range n.children {\n\t\tif i%8 == 0 {\n\t\t\tnewline = true\n\t\t}\n\t\tif c != nil {\n\t\t\tv := b.Compactions[c.index.compaction].Offset + uint32(c.index.index)\n\t\t\tif v != 0 {\n\t\t\t\tif newline {\n\t\t\t\t\tfmt.Fprintf(w, \"\\n\")\n\t\t\t\t\tnewline = false\n\t\t\t\t}\n\t\t\t\tfmt.Fprintf(w, \"\\t%#02x:%#02x, \", boff+i, v)\n\t\t\t}\n\t\t}\n\t}\n\treturn w.String()\n}\n\nvar (\n\ttrieGen = template.Must(template.New(\"trie\").Funcs(template.FuncMap{\n\t\t\"printValues\": printValues,\n\t\t\"printIndex\":  printIndex,\n\t\t\"title\":       strings.Title,\n\t\t\"dec\":         func(x int) int { return x - 1 },\n\t\t\"psize\": func(n int) string {\n\t\t\treturn fmt.Sprintf(\"%d bytes (%.2f KiB)\", n, float64(n)/1024)\n\t\t},\n\t}).Parse(trieTemplate))\n\tlookupGen = template.Must(template.New(\"lookup\").Parse(lookupTemplate))\n)\n\n// TODO: consider the return type of lookup. It could be uint64, even if the\n// internal value type is smaller. We will have to verify this with the\n// performance of unicode/norm, which is very sensitive to such changes.\nconst trieTemplate = `{{$b := .}}{{$multi := gt (len .Trie) 1}}\n// {{.Name}}Trie. Total size: {{psize .Size}}. Checksum: {{printf \"%08x\" .Checksum}}.\ntype {{.Name}}Trie struct { {{if $multi}}\n\tascii []{{.ValueType}} // index for ASCII bytes\n\tutf8Start  []{{.IndexType}} // index for UTF-8 bytes >= 0xC0\n{{end}}}\n\nfunc new{{title .Name}}Trie(i int) *{{.Name}}Trie { {{if $multi}}\n\th := {{.Name}}TrieHandles[i]\n\treturn &{{.Name}}Trie{ {{.Name}}Values[uint32(h.ascii)<<6:], {{.Name}}Index[uint32(h.multi)<<6:] }\n}\n\ntype {{.Name}}TrieHandle struct {\n\tascii, multi {{.IndexType}}\n}\n\n// {{.Name}}TrieHandles: {{len .Trie}} handles, {{.Stats.NHandleBytes}} bytes\nvar {{.Name}}TrieHandles = [{{len .Trie}}]{{.Name}}TrieHandle{\n{{range .Trie}}\t{ {{.ASCIIIndex}}, {{.StarterIndex}} }, // {{printf \"%08x\" .Checksum}}: {{.Name}}\n{{end}}}{{else}}\n\treturn &{{.Name}}Trie{}\n}\n{{end}}\n// lookupValue determines the type of block n and looks up the value for b.\nfunc (t *{{.Name}}Trie) lookupValue(n uint32, b byte) {{.ValueType}}{{$last := dec (len .Compactions)}} {\n\tswitch { {{range $i, $c := .Compactions}}\n\t\t{{if eq $i $last}}default{{else}}case n < {{$c.Cutoff}}{{end}}:{{if ne $i 0}}\n\t\t\tn -= {{$c.Offset}}{{end}}\n\t\t\treturn {{print $b.ValueType}}({{$c.Handler}}){{end}}\n\t}\n}\n\n// {{.Name}}Values: {{len .ValueBlocks}} blocks, {{.Stats.NValueEntries}} entries, {{.Stats.NValueBytes}} bytes\n// The third block is the zero block.\nvar {{.Name}}Values = [{{.Stats.NValueEntries}}]{{.ValueType}} {\n{{range $i, $v := .ValueBlocks}}{{printValues $i $v}}\n{{end}}}\n\n// {{.Name}}Index: {{len .IndexBlocks}} blocks, {{.Stats.NIndexEntries}} entries, {{.Stats.NIndexBytes}} bytes\n// Block 0 is the zero block.\nvar {{.Name}}Index = [{{.Stats.NIndexEntries}}]{{.IndexType}} {\n{{range $i, $v := .IndexBlocks}}{{printIndex $b $i $v}}\n{{end}}}\n`\n\n// TODO: consider allowing zero-length strings after evaluating performance with\n// unicode/norm.\nconst lookupTemplate = `\n// lookup{{if eq .SourceType \"string\"}}String{{end}} returns the trie value for the first UTF-8 encoding in s and\n// the width in bytes of this encoding. The size will be 0 if s does not\n// hold enough bytes to complete the encoding. len(s) must be greater than 0.\nfunc (t *{{.Name}}Trie) lookup{{if eq .SourceType \"string\"}}String{{end}}(s {{.SourceType}}) (v {{.ValueType}}, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < 0x80: // is ASCII\n\t\treturn {{.ASCIIBlock}}[c0], 1\n\tcase c0 < 0xC2:\n\t\treturn 0, 1  // Illegal UTF-8: not a starter, not ASCII.\n\tcase c0 < 0xE0: // 2-byte UTF-8\n\t\tif len(s) < 2 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := {{.StarterBlock}}[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c1), 2\n\tcase c0 < 0xF0: // 3-byte UTF-8\n\t\tif len(s) < 3 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := {{.StarterBlock}}[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = {{.Name}}Index[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c2), 3\n\tcase c0 < 0xF8: // 4-byte UTF-8\n\t\tif len(s) < 4 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := {{.StarterBlock}}[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = {{.Name}}Index[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to = uint32(i)<<6 + uint32(c2)\n\t\ti = {{.Name}}Index[o]\n\t\tc3 := s[3]\n\t\tif c3 < 0x80 || 0xC0 <= c3 {\n\t\t\treturn 0, 3 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c3), 4\n\t}\n\t// Illegal rune\n\treturn 0, 1\n}\n\n// lookup{{if eq .SourceType \"string\"}}String{{end}}Unsafe returns the trie value for the first UTF-8 encoding in s.\n// s must start with a full and valid UTF-8 encoded rune.\nfunc (t *{{.Name}}Trie) lookup{{if eq .SourceType \"string\"}}String{{end}}Unsafe(s {{.SourceType}}) {{.ValueType}} {\n\tc0 := s[0]\n\tif c0 < 0x80 { // is ASCII\n\t\treturn {{.ASCIIBlock}}[c0]\n\t}\n\ti := {{.StarterBlock}}[c0]\n\tif c0 < 0xE0 { // 2-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[1])\n\t}\n\ti = {{.Name}}Index[uint32(i)<<6+uint32(s[1])]\n\tif c0 < 0xF0 { // 3-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[2])\n\t}\n\ti = {{.Name}}Index[uint32(i)<<6+uint32(s[2])]\n\tif c0 < 0xF8 { // 4-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[3])\n\t}\n\treturn 0\n}\n`\n"
  },
  {
    "path": "vendor/golang.org/x/text/internal/triegen/triegen.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package triegen implements a code generator for a trie for associating\n// unsigned integer values with UTF-8 encoded runes.\n//\n// Many of the go.text packages use tries for storing per-rune information.  A\n// trie is especially useful if many of the runes have the same value. If this\n// is the case, many blocks can be expected to be shared allowing for\n// information on many runes to be stored in little space.\n//\n// As most of the lookups are done directly on []byte slices, the tries use the\n// UTF-8 bytes directly for the lookup. This saves a conversion from UTF-8 to\n// runes and contributes a little bit to better performance. It also naturally\n// provides a fast path for ASCII.\n//\n// Space is also an issue. There are many code points defined in Unicode and as\n// a result tables can get quite large. So every byte counts. The triegen\n// package automatically chooses the smallest integer values to represent the\n// tables. Compacters allow further compression of the trie by allowing for\n// alternative representations of individual trie blocks.\n//\n// triegen allows generating multiple tries as a single structure. This is\n// useful when, for example, one wants to generate tries for several languages\n// that have a lot of values in common. Some existing libraries for\n// internationalization store all per-language data as a dynamically loadable\n// chunk. The go.text packages are designed with the assumption that the user\n// typically wants to compile in support for all supported languages, in line\n// with the approach common to Go to create a single standalone binary. The\n// multi-root trie approach can give significant storage savings in this\n// scenario.\n//\n// triegen generates both tables and code. The code is optimized to use the\n// automatically chosen data types. The following code is generated for a Trie\n// or multiple Tries named \"foo\":\n//\t- type fooTrie\n//\t\tThe trie type.\n//\n//\t- func newFooTrie(x int) *fooTrie\n//\t\tTrie constructor, where x is the index of the trie passed to Gen.\n//\n//\t- func (t *fooTrie) lookup(s []byte) (v uintX, sz int)\n//\t\tThe lookup method, where uintX is automatically chosen.\n//\n//\t- func lookupString, lookupUnsafe and lookupStringUnsafe\n//\t\tVariants of the above.\n//\n//\t- var fooValues and fooIndex and any tables generated by Compacters.\n//\t\tThe core trie data.\n//\n//\t- var fooTrieHandles\n//\t\tIndexes of starter blocks in case of multiple trie roots.\n//\n// It is recommended that users test the generated trie by checking the returned\n// value for every rune. Such exhaustive tests are possible as the the number of\n// runes in Unicode is limited.\npackage triegen // import \"golang.org/x/text/internal/triegen\"\n\n// TODO: Arguably, the internally optimized data types would not have to be\n// exposed in the generated API. We could also investigate not generating the\n// code, but using it through a package. We would have to investigate the impact\n// on performance of making such change, though. For packages like unicode/norm,\n// small changes like this could tank performance.\n\nimport (\n\t\"encoding/binary\"\n\t\"fmt\"\n\t\"hash/crc64\"\n\t\"io\"\n\t\"log\"\n\t\"unicode/utf8\"\n)\n\n// builder builds a set of tries for associating values with runes. The set of\n// tries can share common index and value blocks.\ntype builder struct {\n\tName string\n\n\t// ValueType is the type of the trie values looked up.\n\tValueType string\n\n\t// ValueSize is the byte size of the ValueType.\n\tValueSize int\n\n\t// IndexType is the type of trie index values used for all UTF-8 bytes of\n\t// a rune except the last one.\n\tIndexType string\n\n\t// IndexSize is the byte size of the IndexType.\n\tIndexSize int\n\n\t// SourceType is used when generating the lookup functions. If the user\n\t// requests StringSupport, all lookup functions will be generated for\n\t// string input as well.\n\tSourceType string\n\n\tTrie []*Trie\n\n\tIndexBlocks []*node\n\tValueBlocks [][]uint64\n\tCompactions []compaction\n\tChecksum    uint64\n\n\tASCIIBlock   string\n\tStarterBlock string\n\n\tindexBlockIdx map[uint64]int\n\tvalueBlockIdx map[uint64]nodeIndex\n\tasciiBlockIdx map[uint64]int\n\n\t// Stats are used to fill out the template.\n\tStats struct {\n\t\tNValueEntries int\n\t\tNValueBytes   int\n\t\tNIndexEntries int\n\t\tNIndexBytes   int\n\t\tNHandleBytes  int\n\t}\n\n\terr error\n}\n\n// A nodeIndex encodes the index of a node, which is defined by the compaction\n// which stores it and an index within the compaction. For internal nodes, the\n// compaction is always 0.\ntype nodeIndex struct {\n\tcompaction int\n\tindex      int\n}\n\n// compaction keeps track of stats used for the compaction.\ntype compaction struct {\n\tc         Compacter\n\tblocks    []*node\n\tmaxHandle uint32\n\ttotalSize int\n\n\t// Used by template-based generator and thus exported.\n\tCutoff  uint32\n\tOffset  uint32\n\tHandler string\n}\n\nfunc (b *builder) setError(err error) {\n\tif b.err == nil {\n\t\tb.err = err\n\t}\n}\n\n// An Option can be passed to Gen.\ntype Option func(b *builder) error\n\n// Compact configures the trie generator to use the given Compacter.\nfunc Compact(c Compacter) Option {\n\treturn func(b *builder) error {\n\t\tb.Compactions = append(b.Compactions, compaction{\n\t\t\tc:       c,\n\t\t\tHandler: c.Handler() + \"(n, b)\"})\n\t\treturn nil\n\t}\n}\n\n// Gen writes Go code for a shared trie lookup structure to w for the given\n// Tries. The generated trie type will be called nameTrie. newNameTrie(x) will\n// return the *nameTrie for tries[x]. A value can be looked up by using one of\n// the various lookup methods defined on nameTrie. It returns the table size of\n// the generated trie.\nfunc Gen(w io.Writer, name string, tries []*Trie, opts ...Option) (sz int, err error) {\n\t// The index contains two dummy blocks, followed by the zero block. The zero\n\t// block is at offset 0x80, so that the offset for the zero block for\n\t// continuation bytes is 0.\n\tb := &builder{\n\t\tName:        name,\n\t\tTrie:        tries,\n\t\tIndexBlocks: []*node{{}, {}, {}},\n\t\tCompactions: []compaction{{\n\t\t\tHandler: name + \"Values[n<<6+uint32(b)]\",\n\t\t}},\n\t\t// The 0 key in indexBlockIdx and valueBlockIdx is the hash of the zero\n\t\t// block.\n\t\tindexBlockIdx: map[uint64]int{0: 0},\n\t\tvalueBlockIdx: map[uint64]nodeIndex{0: {}},\n\t\tasciiBlockIdx: map[uint64]int{},\n\t}\n\tb.Compactions[0].c = (*simpleCompacter)(b)\n\n\tfor _, f := range opts {\n\t\tif err := f(b); err != nil {\n\t\t\treturn 0, err\n\t\t}\n\t}\n\tb.build()\n\tif b.err != nil {\n\t\treturn 0, b.err\n\t}\n\tif err = b.print(w); err != nil {\n\t\treturn 0, err\n\t}\n\treturn b.Size(), nil\n}\n\n// A Trie represents a single root node of a trie. A builder may build several\n// overlapping tries at once.\ntype Trie struct {\n\troot *node\n\n\thiddenTrie\n}\n\n// hiddenTrie contains values we want to be visible to the template generator,\n// but hidden from the API documentation.\ntype hiddenTrie struct {\n\tName         string\n\tChecksum     uint64\n\tASCIIIndex   int\n\tStarterIndex int\n}\n\n// NewTrie returns a new trie root.\nfunc NewTrie(name string) *Trie {\n\treturn &Trie{\n\t\t&node{\n\t\t\tchildren: make([]*node, blockSize),\n\t\t\tvalues:   make([]uint64, utf8.RuneSelf),\n\t\t},\n\t\thiddenTrie{Name: name},\n\t}\n}\n\n// Gen is a convenience wrapper around the Gen func passing t as the only trie\n// and uses the name passed to NewTrie. It returns the size of the generated\n// tables.\nfunc (t *Trie) Gen(w io.Writer, opts ...Option) (sz int, err error) {\n\treturn Gen(w, t.Name, []*Trie{t}, opts...)\n}\n\n// node is a node of the intermediate trie structure.\ntype node struct {\n\t// children holds this node's children. It is always of length 64.\n\t// A child node may be nil.\n\tchildren []*node\n\n\t// values contains the values of this node. If it is non-nil, this node is\n\t// either a root or leaf node:\n\t// For root nodes, len(values) == 128 and it maps the bytes in [0x00, 0x7F].\n\t// For leaf nodes, len(values) ==  64 and it maps the bytes in [0x80, 0xBF].\n\tvalues []uint64\n\n\tindex nodeIndex\n}\n\n// Insert associates value with the given rune. Insert will panic if a non-zero\n// value is passed for an invalid rune.\nfunc (t *Trie) Insert(r rune, value uint64) {\n\tif value == 0 {\n\t\treturn\n\t}\n\ts := string(r)\n\tif []rune(s)[0] != r && value != 0 {\n\t\t// Note: The UCD tables will always assign what amounts to a zero value\n\t\t// to a surrogate. Allowing a zero value for an illegal rune allows\n\t\t// users to iterate over [0..MaxRune] without having to explicitly\n\t\t// exclude surrogates, which would be tedious.\n\t\tpanic(fmt.Sprintf(\"triegen: non-zero value for invalid rune %U\", r))\n\t}\n\tif len(s) == 1 {\n\t\t// It is a root node value (ASCII).\n\t\tt.root.values[s[0]] = value\n\t\treturn\n\t}\n\n\tn := t.root\n\tfor ; len(s) > 1; s = s[1:] {\n\t\tif n.children == nil {\n\t\t\tn.children = make([]*node, blockSize)\n\t\t}\n\t\tp := s[0] % blockSize\n\t\tc := n.children[p]\n\t\tif c == nil {\n\t\t\tc = &node{}\n\t\t\tn.children[p] = c\n\t\t}\n\t\tif len(s) > 2 && c.values != nil {\n\t\t\tlog.Fatalf(\"triegen: insert(%U): found internal node with values\", r)\n\t\t}\n\t\tn = c\n\t}\n\tif n.values == nil {\n\t\tn.values = make([]uint64, blockSize)\n\t}\n\tif n.children != nil {\n\t\tlog.Fatalf(\"triegen: insert(%U): found leaf node that also has child nodes\", r)\n\t}\n\tn.values[s[0]-0x80] = value\n}\n\n// Size returns the number of bytes the generated trie will take to store. It\n// needs to be exported as it is used in the templates.\nfunc (b *builder) Size() int {\n\t// Index blocks.\n\tsz := len(b.IndexBlocks) * blockSize * b.IndexSize\n\n\t// Skip the first compaction, which represents the normal value blocks, as\n\t// its totalSize does not account for the ASCII blocks, which are managed\n\t// separately.\n\tsz += len(b.ValueBlocks) * blockSize * b.ValueSize\n\tfor _, c := range b.Compactions[1:] {\n\t\tsz += c.totalSize\n\t}\n\n\t// TODO: this computation does not account for the fixed overhead of a using\n\t// a compaction, either code or data. As for data, though, the typical\n\t// overhead of data is in the order of bytes (2 bytes for cases). Further,\n\t// the savings of using a compaction should anyway be substantial for it to\n\t// be worth it.\n\n\t// For multi-root tries, we also need to account for the handles.\n\tif len(b.Trie) > 1 {\n\t\tsz += 2 * b.IndexSize * len(b.Trie)\n\t}\n\treturn sz\n}\n\nfunc (b *builder) build() {\n\t// Compute the sizes of the values.\n\tvar vmax uint64\n\tfor _, t := range b.Trie {\n\t\tvmax = maxValue(t.root, vmax)\n\t}\n\tb.ValueType, b.ValueSize = getIntType(vmax)\n\n\t// Compute all block allocations.\n\t// TODO: first compute the ASCII blocks for all tries and then the other\n\t// nodes. ASCII blocks are more restricted in placement, as they require two\n\t// blocks to be placed consecutively. Processing them first may improve\n\t// sharing (at least one zero block can be expected to be saved.)\n\tfor _, t := range b.Trie {\n\t\tb.Checksum += b.buildTrie(t)\n\t}\n\n\t// Compute the offsets for all the Compacters.\n\toffset := uint32(0)\n\tfor i := range b.Compactions {\n\t\tc := &b.Compactions[i]\n\t\tc.Offset = offset\n\t\toffset += c.maxHandle + 1\n\t\tc.Cutoff = offset\n\t}\n\n\t// Compute the sizes of indexes.\n\t// TODO: different byte positions could have different sizes. So far we have\n\t// not found a case where this is beneficial.\n\timax := uint64(b.Compactions[len(b.Compactions)-1].Cutoff)\n\tfor _, ib := range b.IndexBlocks {\n\t\tif x := uint64(ib.index.index); x > imax {\n\t\t\timax = x\n\t\t}\n\t}\n\tb.IndexType, b.IndexSize = getIntType(imax)\n}\n\nfunc maxValue(n *node, max uint64) uint64 {\n\tif n == nil {\n\t\treturn max\n\t}\n\tfor _, c := range n.children {\n\t\tmax = maxValue(c, max)\n\t}\n\tfor _, v := range n.values {\n\t\tif max < v {\n\t\t\tmax = v\n\t\t}\n\t}\n\treturn max\n}\n\nfunc getIntType(v uint64) (string, int) {\n\tswitch {\n\tcase v < 1<<8:\n\t\treturn \"uint8\", 1\n\tcase v < 1<<16:\n\t\treturn \"uint16\", 2\n\tcase v < 1<<32:\n\t\treturn \"uint32\", 4\n\t}\n\treturn \"uint64\", 8\n}\n\nconst (\n\tblockSize = 64\n\n\t// Subtract two blocks to offset 0x80, the first continuation byte.\n\tblockOffset = 2\n\n\t// Subtract three blocks to offset 0xC0, the first non-ASCII starter.\n\trootBlockOffset = 3\n)\n\nvar crcTable = crc64.MakeTable(crc64.ISO)\n\nfunc (b *builder) buildTrie(t *Trie) uint64 {\n\tn := t.root\n\n\t// Get the ASCII offset. For the first trie, the ASCII block will be at\n\t// position 0.\n\thasher := crc64.New(crcTable)\n\tbinary.Write(hasher, binary.BigEndian, n.values)\n\thash := hasher.Sum64()\n\n\tv, ok := b.asciiBlockIdx[hash]\n\tif !ok {\n\t\tv = len(b.ValueBlocks)\n\t\tb.asciiBlockIdx[hash] = v\n\n\t\tb.ValueBlocks = append(b.ValueBlocks, n.values[:blockSize], n.values[blockSize:])\n\t\tif v == 0 {\n\t\t\t// Add the zero block at position 2 so that it will be assigned a\n\t\t\t// zero reference in the lookup blocks.\n\t\t\t// TODO: always do this? This would allow us to remove a check from\n\t\t\t// the trie lookup, but at the expense of extra space. Analyze\n\t\t\t// performance for unicode/norm.\n\t\t\tb.ValueBlocks = append(b.ValueBlocks, make([]uint64, blockSize))\n\t\t}\n\t}\n\tt.ASCIIIndex = v\n\n\t// Compute remaining offsets.\n\tt.Checksum = b.computeOffsets(n, true)\n\t// We already subtracted the normal blockOffset from the index. Subtract the\n\t// difference for starter bytes.\n\tt.StarterIndex = n.index.index - (rootBlockOffset - blockOffset)\n\treturn t.Checksum\n}\n\nfunc (b *builder) computeOffsets(n *node, root bool) uint64 {\n\t// For the first trie, the root lookup block will be at position 3, which is\n\t// the offset for UTF-8 non-ASCII starter bytes.\n\tfirst := len(b.IndexBlocks) == rootBlockOffset\n\tif first {\n\t\tb.IndexBlocks = append(b.IndexBlocks, n)\n\t}\n\n\t// We special-case the cases where all values recursively are 0. This allows\n\t// for the use of a zero block to which all such values can be directed.\n\thash := uint64(0)\n\tif n.children != nil || n.values != nil {\n\t\thasher := crc64.New(crcTable)\n\t\tfor _, c := range n.children {\n\t\t\tvar v uint64\n\t\t\tif c != nil {\n\t\t\t\tv = b.computeOffsets(c, false)\n\t\t\t}\n\t\t\tbinary.Write(hasher, binary.BigEndian, v)\n\t\t}\n\t\tbinary.Write(hasher, binary.BigEndian, n.values)\n\t\thash = hasher.Sum64()\n\t}\n\n\tif first {\n\t\tb.indexBlockIdx[hash] = rootBlockOffset - blockOffset\n\t}\n\n\t// Compacters don't apply to internal nodes.\n\tif n.children != nil {\n\t\tv, ok := b.indexBlockIdx[hash]\n\t\tif !ok {\n\t\t\tv = len(b.IndexBlocks) - blockOffset\n\t\t\tb.IndexBlocks = append(b.IndexBlocks, n)\n\t\t\tb.indexBlockIdx[hash] = v\n\t\t}\n\t\tn.index = nodeIndex{0, v}\n\t} else {\n\t\th, ok := b.valueBlockIdx[hash]\n\t\tif !ok {\n\t\t\tbestI, bestSize := 0, blockSize*b.ValueSize\n\t\t\tfor i, c := range b.Compactions[1:] {\n\t\t\t\tif sz, ok := c.c.Size(n.values); ok && bestSize > sz {\n\t\t\t\t\tbestI, bestSize = i+1, sz\n\t\t\t\t}\n\t\t\t}\n\t\t\tc := &b.Compactions[bestI]\n\t\t\tc.totalSize += bestSize\n\t\t\tv := c.c.Store(n.values)\n\t\t\tif c.maxHandle < v {\n\t\t\t\tc.maxHandle = v\n\t\t\t}\n\t\t\th = nodeIndex{bestI, int(v)}\n\t\t\tb.valueBlockIdx[hash] = h\n\t\t}\n\t\tn.index = h\n\t}\n\treturn hash\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/internal/ucd/ucd.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package ucd provides a parser for Unicode Character Database files, the\n// format of which is defined in http://www.unicode.org/reports/tr44/. See\n// http://www.unicode.org/Public/UCD/latest/ucd/ for example files.\n//\n// It currently does not support substitutions of missing fields.\npackage ucd // import \"golang.org/x/text/internal/ucd\"\n\nimport (\n\t\"bufio\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"log\"\n\t\"regexp\"\n\t\"strconv\"\n\t\"strings\"\n)\n\n// UnicodeData.txt fields.\nconst (\n\tCodePoint = iota\n\tName\n\tGeneralCategory\n\tCanonicalCombiningClass\n\tBidiClass\n\tDecompMapping\n\tDecimalValue\n\tDigitValue\n\tNumericValue\n\tBidiMirrored\n\tUnicode1Name\n\tISOComment\n\tSimpleUppercaseMapping\n\tSimpleLowercaseMapping\n\tSimpleTitlecaseMapping\n)\n\n// Parse calls f for each entry in the given reader of a UCD file. It will close\n// the reader upon return. It will call log.Fatal if any error occurred.\n//\n// This implements the most common usage pattern of using Parser.\nfunc Parse(r io.ReadCloser, f func(p *Parser)) {\n\tdefer r.Close()\n\n\tp := New(r)\n\tfor p.Next() {\n\t\tf(p)\n\t}\n\tif err := p.Err(); err != nil {\n\t\tr.Close() // os.Exit will cause defers not to be called.\n\t\tlog.Fatal(err)\n\t}\n}\n\n// An Option is used to configure a Parser.\ntype Option func(p *Parser)\n\nfunc keepRanges(p *Parser) {\n\tp.keepRanges = true\n}\n\nvar (\n\t// KeepRanges prevents the expansion of ranges. The raw ranges can be\n\t// obtained by calling Range(0) on the parser.\n\tKeepRanges Option = keepRanges\n)\n\n// The Part option register a handler for lines starting with a '@'. The text\n// after a '@' is available as the first field. Comments are handled as usual.\nfunc Part(f func(p *Parser)) Option {\n\treturn func(p *Parser) {\n\t\tp.partHandler = f\n\t}\n}\n\n// The CommentHandler option passes comments that are on a line by itself to\n// a given handler.\nfunc CommentHandler(f func(s string)) Option {\n\treturn func(p *Parser) {\n\t\tp.commentHandler = f\n\t}\n}\n\n// A Parser parses Unicode Character Database (UCD) files.\ntype Parser struct {\n\tscanner *bufio.Scanner\n\n\tkeepRanges bool // Don't expand rune ranges in field 0.\n\n\terr     error\n\tcomment string\n\tfield   []string\n\t// parsedRange is needed in case Range(0) is called more than once for one\n\t// field. In some cases this requires scanning ahead.\n\tline                 int\n\tparsedRange          bool\n\trangeStart, rangeEnd rune\n\n\tpartHandler    func(p *Parser)\n\tcommentHandler func(s string)\n}\n\nfunc (p *Parser) setError(err error, msg string) {\n\tif p.err == nil && err != nil {\n\t\tif msg == \"\" {\n\t\t\tp.err = fmt.Errorf(\"ucd:line:%d: %v\", p.line, err)\n\t\t} else {\n\t\t\tp.err = fmt.Errorf(\"ucd:line:%d:%s: %v\", p.line, msg, err)\n\t\t}\n\t}\n}\n\nfunc (p *Parser) getField(i int) string {\n\tif i >= len(p.field) {\n\t\treturn \"\"\n\t}\n\treturn p.field[i]\n}\n\n// Err returns a non-nil error if any error occurred during parsing.\nfunc (p *Parser) Err() error {\n\treturn p.err\n}\n\n// New returns a Parser for the given Reader.\nfunc New(r io.Reader, o ...Option) *Parser {\n\tp := &Parser{\n\t\tscanner: bufio.NewScanner(r),\n\t}\n\tfor _, f := range o {\n\t\tf(p)\n\t}\n\treturn p\n}\n\n// Next parses the next line in the file. It returns true if a line was parsed\n// and false if it reached the end of the file.\nfunc (p *Parser) Next() bool {\n\tif !p.keepRanges && p.rangeStart < p.rangeEnd {\n\t\tp.rangeStart++\n\t\treturn true\n\t}\n\tp.comment = \"\"\n\tp.field = p.field[:0]\n\tp.parsedRange = false\n\n\tfor p.scanner.Scan() && p.err == nil {\n\t\tp.line++\n\t\ts := p.scanner.Text()\n\t\tif s == \"\" {\n\t\t\tcontinue\n\t\t}\n\t\tif s[0] == '#' {\n\t\t\tif p.commentHandler != nil {\n\t\t\t\tp.commentHandler(strings.TrimSpace(s[1:]))\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\n\t\t// Parse line\n\t\tif i := strings.IndexByte(s, '#'); i != -1 {\n\t\t\tp.comment = strings.TrimSpace(s[i+1:])\n\t\t\ts = s[:i]\n\t\t}\n\t\tif s[0] == '@' {\n\t\t\tif p.partHandler != nil {\n\t\t\t\tp.field = append(p.field, strings.TrimSpace(s[1:]))\n\t\t\t\tp.partHandler(p)\n\t\t\t\tp.field = p.field[:0]\n\t\t\t}\n\t\t\tp.comment = \"\"\n\t\t\tcontinue\n\t\t}\n\t\tfor {\n\t\t\ti := strings.IndexByte(s, ';')\n\t\t\tif i == -1 {\n\t\t\t\tp.field = append(p.field, strings.TrimSpace(s))\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tp.field = append(p.field, strings.TrimSpace(s[:i]))\n\t\t\ts = s[i+1:]\n\t\t}\n\t\tif !p.keepRanges {\n\t\t\tp.rangeStart, p.rangeEnd = p.getRange(0)\n\t\t}\n\t\treturn true\n\t}\n\tp.setError(p.scanner.Err(), \"scanner failed\")\n\treturn false\n}\n\nfunc parseRune(b string) (rune, error) {\n\tif len(b) > 2 && b[0] == 'U' && b[1] == '+' {\n\t\tb = b[2:]\n\t}\n\tx, err := strconv.ParseUint(b, 16, 32)\n\treturn rune(x), err\n}\n\nfunc (p *Parser) parseRune(s string) rune {\n\tx, err := parseRune(s)\n\tp.setError(err, \"failed to parse rune\")\n\treturn x\n}\n\n// Rune parses and returns field i as a rune.\nfunc (p *Parser) Rune(i int) rune {\n\tif i > 0 || p.keepRanges {\n\t\treturn p.parseRune(p.getField(i))\n\t}\n\treturn p.rangeStart\n}\n\n// Runes interprets and returns field i as a sequence of runes.\nfunc (p *Parser) Runes(i int) (runes []rune) {\n\tadd := func(s string) {\n\t\tif s = strings.TrimSpace(s); len(s) > 0 {\n\t\t\trunes = append(runes, p.parseRune(s))\n\t\t}\n\t}\n\tfor b := p.getField(i); ; {\n\t\ti := strings.IndexByte(b, ' ')\n\t\tif i == -1 {\n\t\t\tadd(b)\n\t\t\tbreak\n\t\t}\n\t\tadd(b[:i])\n\t\tb = b[i+1:]\n\t}\n\treturn\n}\n\nvar (\n\terrIncorrectLegacyRange = errors.New(\"ucd: unmatched <* First>\")\n\n\t// reRange matches one line of a legacy rune range.\n\treRange = regexp.MustCompile(\"^([0-9A-F]*);<([^,]*), ([^>]*)>(.*)$\")\n)\n\n// Range parses and returns field i as a rune range. A range is inclusive at\n// both ends. If the field only has one rune, first and last will be identical.\n// It supports the legacy format for ranges used in UnicodeData.txt.\nfunc (p *Parser) Range(i int) (first, last rune) {\n\tif !p.keepRanges {\n\t\treturn p.rangeStart, p.rangeStart\n\t}\n\treturn p.getRange(i)\n}\n\nfunc (p *Parser) getRange(i int) (first, last rune) {\n\tb := p.getField(i)\n\tif k := strings.Index(b, \"..\"); k != -1 {\n\t\treturn p.parseRune(b[:k]), p.parseRune(b[k+2:])\n\t}\n\t// The first field may not be a rune, in which case we may ignore any error\n\t// and set the range as 0..0.\n\tx, err := parseRune(b)\n\tif err != nil {\n\t\t// Disable range parsing henceforth. This ensures that an error will be\n\t\t// returned if the user subsequently will try to parse this field as\n\t\t// a Rune.\n\t\tp.keepRanges = true\n\t}\n\t// Special case for UnicodeData that was retained for backwards compatibility.\n\tif i == 0 && len(p.field) > 1 && strings.HasSuffix(p.field[1], \"First>\") {\n\t\tif p.parsedRange {\n\t\t\treturn p.rangeStart, p.rangeEnd\n\t\t}\n\t\tmf := reRange.FindStringSubmatch(p.scanner.Text())\n\t\tp.line++\n\t\tif mf == nil || !p.scanner.Scan() {\n\t\t\tp.setError(errIncorrectLegacyRange, \"\")\n\t\t\treturn x, x\n\t\t}\n\t\t// Using Bytes would be more efficient here, but Text is a lot easier\n\t\t// and this is not a frequent case.\n\t\tml := reRange.FindStringSubmatch(p.scanner.Text())\n\t\tif ml == nil || mf[2] != ml[2] || ml[3] != \"Last\" || mf[4] != ml[4] {\n\t\t\tp.setError(errIncorrectLegacyRange, \"\")\n\t\t\treturn x, x\n\t\t}\n\t\tp.rangeStart, p.rangeEnd = x, p.parseRune(p.scanner.Text()[:len(ml[1])])\n\t\tp.parsedRange = true\n\t\treturn p.rangeStart, p.rangeEnd\n\t}\n\treturn x, x\n}\n\n// bools recognizes all valid UCD boolean values.\nvar bools = map[string]bool{\n\t\"\":      false,\n\t\"N\":     false,\n\t\"No\":    false,\n\t\"F\":     false,\n\t\"False\": false,\n\t\"Y\":     true,\n\t\"Yes\":   true,\n\t\"T\":     true,\n\t\"True\":  true,\n}\n\n// Bool parses and returns field i as a boolean value.\nfunc (p *Parser) Bool(i int) bool {\n\tf := p.getField(i)\n\tfor s, v := range bools {\n\t\tif f == s {\n\t\t\treturn v\n\t\t}\n\t}\n\tp.setError(strconv.ErrSyntax, \"error parsing bool\")\n\treturn false\n}\n\n// Int parses and returns field i as an integer value.\nfunc (p *Parser) Int(i int) int {\n\tx, err := strconv.ParseInt(string(p.getField(i)), 10, 64)\n\tp.setError(err, \"error parsing int\")\n\treturn int(x)\n}\n\n// Uint parses and returns field i as an unsigned integer value.\nfunc (p *Parser) Uint(i int) uint {\n\tx, err := strconv.ParseUint(string(p.getField(i)), 10, 64)\n\tp.setError(err, \"error parsing uint\")\n\treturn uint(x)\n}\n\n// Float parses and returns field i as a decimal value.\nfunc (p *Parser) Float(i int) float64 {\n\tx, err := strconv.ParseFloat(string(p.getField(i)), 64)\n\tp.setError(err, \"error parsing float\")\n\treturn x\n}\n\n// String parses and returns field i as a string value.\nfunc (p *Parser) String(i int) string {\n\treturn string(p.getField(i))\n}\n\n// Strings parses and returns field i as a space-separated list of strings.\nfunc (p *Parser) Strings(i int) []string {\n\tss := strings.Split(string(p.getField(i)), \" \")\n\tfor i, s := range ss {\n\t\tss[i] = strings.TrimSpace(s)\n\t}\n\treturn ss\n}\n\n// Comment returns the comments for the current line.\nfunc (p *Parser) Comment() string {\n\treturn string(p.comment)\n}\n\nvar errUndefinedEnum = errors.New(\"ucd: undefined enum value\")\n\n// Enum interprets and returns field i as a value that must be one of the values\n// in enum.\nfunc (p *Parser) Enum(i int, enum ...string) string {\n\tf := p.getField(i)\n\tfor _, s := range enum {\n\t\tif f == s {\n\t\t\treturn s\n\t\t}\n\t}\n\tp.setError(errUndefinedEnum, \"error parsing enum\")\n\treturn \"\"\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/language/Makefile",
    "content": "# Copyright 2013 The Go Authors. All rights reserved.\n# Use of this source code is governed by a BSD-style\n# license that can be found in the LICENSE file.\n\nCLEANFILES+=maketables\n\nmaketables: maketables.go\n\tgo build $^\n\ntables:\tmaketables\n\t./maketables > tables.go\n\tgofmt -w -s tables.go\n\n# Build (but do not run) maketables during testing,\n# just to make sure it still compiles.\ntestshort: maketables\n"
  },
  {
    "path": "vendor/golang.org/x/text/language/common.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\npackage language\n\n// This file contains code common to the maketables.go and the package code.\n\n// langAliasType is the type of an alias in langAliasMap.\ntype langAliasType int8\n\nconst (\n\tlangDeprecated langAliasType = iota\n\tlangMacro\n\tlangLegacy\n\n\tlangAliasTypeUnknown langAliasType = -1\n)\n"
  },
  {
    "path": "vendor/golang.org/x/text/language/coverage.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage language\n\nimport (\n\t\"fmt\"\n\t\"sort\"\n)\n\n// The Coverage interface is used to define the level of coverage of an\n// internationalization service. Note that not all types are supported by all\n// services. As lists may be generated on the fly, it is recommended that users\n// of a Coverage cache the results.\ntype Coverage interface {\n\t// Tags returns the list of supported tags.\n\tTags() []Tag\n\n\t// BaseLanguages returns the list of supported base languages.\n\tBaseLanguages() []Base\n\n\t// Scripts returns the list of supported scripts.\n\tScripts() []Script\n\n\t// Regions returns the list of supported regions.\n\tRegions() []Region\n}\n\nvar (\n\t// Supported defines a Coverage that lists all supported subtags. Tags\n\t// always returns nil.\n\tSupported Coverage = allSubtags{}\n)\n\n// TODO:\n// - Support Variants, numbering systems.\n// - CLDR coverage levels.\n// - Set of common tags defined in this package.\n\ntype allSubtags struct{}\n\n// Regions returns the list of supported regions. As all regions are in a\n// consecutive range, it simply returns a slice of numbers in increasing order.\n// The \"undefined\" region is not returned.\nfunc (s allSubtags) Regions() []Region {\n\treg := make([]Region, numRegions)\n\tfor i := range reg {\n\t\treg[i] = Region{regionID(i + 1)}\n\t}\n\treturn reg\n}\n\n// Scripts returns the list of supported scripts. As all scripts are in a\n// consecutive range, it simply returns a slice of numbers in increasing order.\n// The \"undefined\" script is not returned.\nfunc (s allSubtags) Scripts() []Script {\n\tscr := make([]Script, numScripts)\n\tfor i := range scr {\n\t\tscr[i] = Script{scriptID(i + 1)}\n\t}\n\treturn scr\n}\n\n// BaseLanguages returns the list of all supported base languages. It generates\n// the list by traversing the internal structures.\nfunc (s allSubtags) BaseLanguages() []Base {\n\tbase := make([]Base, 0, numLanguages)\n\tfor i := 0; i < langNoIndexOffset; i++ {\n\t\t// We included \"und\" already for the value 0.\n\t\tif i != nonCanonicalUnd {\n\t\t\tbase = append(base, Base{langID(i)})\n\t\t}\n\t}\n\ti := langNoIndexOffset\n\tfor _, v := range langNoIndex {\n\t\tfor k := 0; k < 8; k++ {\n\t\t\tif v&1 == 1 {\n\t\t\t\tbase = append(base, Base{langID(i)})\n\t\t\t}\n\t\t\tv >>= 1\n\t\t\ti++\n\t\t}\n\t}\n\treturn base\n}\n\n// Tags always returns nil.\nfunc (s allSubtags) Tags() []Tag {\n\treturn nil\n}\n\n// coverage is used used by NewCoverage which is used as a convenient way for\n// creating Coverage implementations for partially defined data. Very often a\n// package will only need to define a subset of slices. coverage provides a\n// convenient way to do this. Moreover, packages using NewCoverage, instead of\n// their own implementation, will not break if later new slice types are added.\ntype coverage struct {\n\ttags    func() []Tag\n\tbases   func() []Base\n\tscripts func() []Script\n\tregions func() []Region\n}\n\nfunc (s *coverage) Tags() []Tag {\n\tif s.tags == nil {\n\t\treturn nil\n\t}\n\treturn s.tags()\n}\n\n// bases implements sort.Interface and is used to sort base languages.\ntype bases []Base\n\nfunc (b bases) Len() int {\n\treturn len(b)\n}\n\nfunc (b bases) Swap(i, j int) {\n\tb[i], b[j] = b[j], b[i]\n}\n\nfunc (b bases) Less(i, j int) bool {\n\treturn b[i].langID < b[j].langID\n}\n\n// BaseLanguages returns the result from calling s.bases if it is specified or\n// otherwise derives the set of supported base languages from tags.\nfunc (s *coverage) BaseLanguages() []Base {\n\tif s.bases == nil {\n\t\ttags := s.Tags()\n\t\tif len(tags) == 0 {\n\t\t\treturn nil\n\t\t}\n\t\ta := make([]Base, len(tags))\n\t\tfor i, t := range tags {\n\t\t\ta[i] = Base{langID(t.lang)}\n\t\t}\n\t\tsort.Sort(bases(a))\n\t\tk := 0\n\t\tfor i := 1; i < len(a); i++ {\n\t\t\tif a[k] != a[i] {\n\t\t\t\tk++\n\t\t\t\ta[k] = a[i]\n\t\t\t}\n\t\t}\n\t\treturn a[:k+1]\n\t}\n\treturn s.bases()\n}\n\nfunc (s *coverage) Scripts() []Script {\n\tif s.scripts == nil {\n\t\treturn nil\n\t}\n\treturn s.scripts()\n}\n\nfunc (s *coverage) Regions() []Region {\n\tif s.regions == nil {\n\t\treturn nil\n\t}\n\treturn s.regions()\n}\n\n// NewCoverage returns a Coverage for the given lists. It is typically used by\n// packages providing internationalization services to define their level of\n// coverage. A list may be of type []T or func() []T, where T is either Tag,\n// Base, Script or Region. The returned Coverage derives the value for Bases\n// from Tags if no func or slice for []Base is specified. For other unspecified\n// types the returned Coverage will return nil for the respective methods.\nfunc NewCoverage(list ...interface{}) Coverage {\n\ts := &coverage{}\n\tfor _, x := range list {\n\t\tswitch v := x.(type) {\n\t\tcase func() []Base:\n\t\t\ts.bases = v\n\t\tcase func() []Script:\n\t\t\ts.scripts = v\n\t\tcase func() []Region:\n\t\t\ts.regions = v\n\t\tcase func() []Tag:\n\t\t\ts.tags = v\n\t\tcase []Base:\n\t\t\ts.bases = func() []Base { return v }\n\t\tcase []Script:\n\t\t\ts.scripts = func() []Script { return v }\n\t\tcase []Region:\n\t\t\ts.regions = func() []Region { return v }\n\t\tcase []Tag:\n\t\t\ts.tags = func() []Tag { return v }\n\t\tdefault:\n\t\t\tpanic(fmt.Sprintf(\"language: unsupported set type %T\", v))\n\t\t}\n\t}\n\treturn s\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/language/doc.go",
    "content": "// Copyright 2017 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package language implements BCP 47 language tags and related functionality.\n//\n// The most important function of package language is to match a list of\n// user-preferred languages to a list of supported languages.\n// It alleviates the developer of dealing with the complexity of this process\n// and provides the user with the best experience\n// (see https://blog.golang.org/matchlang).\n//\n//\n// Matching preferred against supported languages\n//\n// A Matcher for an application that supports English, Australian English,\n// Danish, and standard Mandarin can be created as follows:\n//\n//    var matcher = language.NewMatcher([]language.Tag{\n//        language.English,   // The first language is used as fallback.\n//        language.MustParse(\"en-AU\"),\n//        language.Danish,\n//        language.Chinese,\n//    })\n//\n// This list of supported languages is typically implied by the languages for\n// which there exists translations of the user interface.\n//\n// User-preferred languages usually come as a comma-separated list of BCP 47\n// language tags.\n// The MatchString finds best matches for such strings:\n//\n//    handler(w http.ResponseWriter, r *http.Request) {\n//        lang, _ := r.Cookie(\"lang\")\n//        accept := r.Header.Get(\"Accept-Language\")\n//        tag, _ := language.MatchStrings(matcher, lang.String(), accept)\n//\n//        // tag should now be used for the initialization of any\n//        // locale-specific service.\n//    }\n//\n// The Matcher's Match method can be used to match Tags directly.\n//\n// Matchers are aware of the intricacies of equivalence between languages, such\n// as deprecated subtags, legacy tags, macro languages, mutual\n// intelligibility between scripts and languages, and transparently passing\n// BCP 47 user configuration.\n// For instance, it will know that a reader of Bokmål Danish can read Norwegian\n// and will know that Cantonese (\"yue\") is a good match for \"zh-HK\".\n//\n//\n// Using match results\n//\n// To guarantee a consistent user experience to the user it is important to\n// use the same language tag for the selection of any locale-specific services.\n// For example, it is utterly confusing to substitute spelled-out numbers\n// or dates in one language in text of another language.\n// More subtly confusing is using the wrong sorting order or casing\n// algorithm for a certain language.\n//\n//    All the packages in x/text that provide locale-specific services\n//    (e.g. collate, cases) should be initialized with the tag that was\n//    obtained at the start of an interaction with the user.\n//\n// Note that Tag that is returned by Match and MatchString may differ from any\n// of the supported languages, as it may contain carried over settings from\n// the user tags.\n// This may be inconvenient when your application has some additional\n// locale-specific data for your supported languages.\n// Match and MatchString both return the index of the matched supported tag\n// to simplify associating such data with the matched tag.\n//\n//\n// Canonicalization\n//\n// If one uses the Matcher to compare languages one does not need to\n// worry about canonicalization.\n//\n// The meaning of a Tag varies per application. The language package\n// therefore delays canonicalization and preserves information as much\n// as possible. The Matcher, however, will always take into account that\n// two different tags may represent the same language.\n//\n// By default, only legacy and deprecated tags are converted into their\n// canonical equivalent. All other information is preserved. This approach makes\n// the confidence scores more accurate and allows matchers to distinguish\n// between variants that are otherwise lost.\n//\n// As a consequence, two tags that should be treated as identical according to\n// BCP 47 or CLDR, like \"en-Latn\" and \"en\", will be represented differently. The\n// Matcher handles such distinctions, though, and is aware of the\n// equivalence relations. The CanonType type can be used to alter the\n// canonicalization form.\n//\n// References\n//\n// BCP 47 - Tags for Identifying Languages http://tools.ietf.org/html/bcp47\n//\npackage language // import \"golang.org/x/text/language\"\n\n// TODO: explanation on how to match languages for your own locale-specific\n// service.\n"
  },
  {
    "path": "vendor/golang.org/x/text/language/gen.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\n// Language tag table generator.\n// Data read from the web.\n\npackage main\n\nimport (\n\t\"bufio\"\n\t\"flag\"\n\t\"fmt\"\n\t\"io\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"math\"\n\t\"reflect\"\n\t\"regexp\"\n\t\"sort\"\n\t\"strconv\"\n\t\"strings\"\n\n\t\"golang.org/x/text/internal/gen\"\n\t\"golang.org/x/text/internal/tag\"\n\t\"golang.org/x/text/unicode/cldr\"\n)\n\nvar (\n\ttest = flag.Bool(\"test\",\n\t\tfalse,\n\t\t\"test existing tables; can be used to compare web data with package data.\")\n\toutputFile = flag.String(\"output\",\n\t\t\"tables.go\",\n\t\t\"output file for generated tables\")\n)\n\nvar comment = []string{\n\t`\nlang holds an alphabetically sorted list of ISO-639 language identifiers.\nAll entries are 4 bytes. The index of the identifier (divided by 4) is the language tag.\nFor 2-byte language identifiers, the two successive bytes have the following meaning:\n    - if the first letter of the 2- and 3-letter ISO codes are the same:\n      the second and third letter of the 3-letter ISO code.\n    - otherwise: a 0 and a by 2 bits right-shifted index into altLangISO3.\nFor 3-byte language identifiers the 4th byte is 0.`,\n\t`\nlangNoIndex is a bit vector of all 3-letter language codes that are not used as an index\nin lookup tables. The language ids for these language codes are derived directly\nfrom the letters and are not consecutive.`,\n\t`\naltLangISO3 holds an alphabetically sorted list of 3-letter language code alternatives\nto 2-letter language codes that cannot be derived using the method described above.\nEach 3-letter code is followed by its 1-byte langID.`,\n\t`\naltLangIndex is used to convert indexes in altLangISO3 to langIDs.`,\n\t`\nlangAliasMap maps langIDs to their suggested replacements.`,\n\t`\nscript is an alphabetically sorted list of ISO 15924 codes. The index\nof the script in the string, divided by 4, is the internal scriptID.`,\n\t`\nisoRegionOffset needs to be added to the index of regionISO to obtain the regionID\nfor 2-letter ISO codes. (The first isoRegionOffset regionIDs are reserved for\nthe UN.M49 codes used for groups.)`,\n\t`\nregionISO holds a list of alphabetically sorted 2-letter ISO region codes.\nEach 2-letter codes is followed by two bytes with the following meaning:\n    - [A-Z}{2}: the first letter of the 2-letter code plus these two \n                letters form the 3-letter ISO code.\n    - 0, n:     index into altRegionISO3.`,\n\t`\nregionTypes defines the status of a region for various standards.`,\n\t`\nm49 maps regionIDs to UN.M49 codes. The first isoRegionOffset entries are\ncodes indicating collections of regions.`,\n\t`\nm49Index gives indexes into fromM49 based on the three most significant bits\nof a 10-bit UN.M49 code. To search an UN.M49 code in fromM49, search in\n   fromM49[m49Index[msb39(code)]:m49Index[msb3(code)+1]]\nfor an entry where the first 7 bits match the 7 lsb of the UN.M49 code.\nThe region code is stored in the 9 lsb of the indexed value.`,\n\t`\nfromM49 contains entries to map UN.M49 codes to regions. See m49Index for details.`,\n\t`\naltRegionISO3 holds a list of 3-letter region codes that cannot be\nmapped to 2-letter codes using the default algorithm. This is a short list.`,\n\t`\naltRegionIDs holds a list of regionIDs the positions of which match those\nof the 3-letter ISO codes in altRegionISO3.`,\n\t`\nvariantNumSpecialized is the number of specialized variants in variants.`,\n\t`\nsuppressScript is an index from langID to the dominant script for that language,\nif it exists.  If a script is given, it should be suppressed from the language tag.`,\n\t`\nlikelyLang is a lookup table, indexed by langID, for the most likely\nscripts and regions given incomplete information. If more entries exist for a\ngiven language, region and script are the index and size respectively\nof the list in likelyLangList.`,\n\t`\nlikelyLangList holds lists info associated with likelyLang.`,\n\t`\nlikelyRegion is a lookup table, indexed by regionID, for the most likely\nlanguages and scripts given incomplete information. If more entries exist\nfor a given regionID, lang and script are the index and size respectively\nof the list in likelyRegionList.\nTODO: exclude containers and user-definable regions from the list.`,\n\t`\nlikelyRegionList holds lists info associated with likelyRegion.`,\n\t`\nlikelyScript is a lookup table, indexed by scriptID, for the most likely\nlanguages and regions given a script.`,\n\t`\nmatchLang holds pairs of langIDs of base languages that are typically\nmutually intelligible. Each pair is associated with a confidence and\nwhether the intelligibility goes one or both ways.`,\n\t`\nmatchScript holds pairs of scriptIDs where readers of one script\ncan typically also read the other. Each is associated with a confidence.`,\n\t`\nnRegionGroups is the number of region groups.`,\n\t`\nregionInclusion maps region identifiers to sets of regions in regionInclusionBits,\nwhere each set holds all groupings that are directly connected in a region\ncontainment graph.`,\n\t`\nregionInclusionBits is an array of bit vectors where every vector represents\na set of region groupings.  These sets are used to compute the distance\nbetween two regions for the purpose of language matching.`,\n\t`\nregionInclusionNext marks, for each entry in regionInclusionBits, the set of\nall groups that are reachable from the groups set in the respective entry.`,\n}\n\n// TODO: consider changing some of these structures to tries. This can reduce\n// memory, but may increase the need for memory allocations. This could be\n// mitigated if we can piggyback on language tags for common cases.\n\nfunc failOnError(e error) {\n\tif e != nil {\n\t\tlog.Panic(e)\n\t}\n}\n\ntype setType int\n\nconst (\n\tIndexed setType = 1 + iota // all elements must be of same size\n\tLinear\n)\n\ntype stringSet struct {\n\ts              []string\n\tsorted, frozen bool\n\n\t// We often need to update values after the creation of an index is completed.\n\t// We include a convenience map for keeping track of this.\n\tupdate map[string]string\n\ttyp    setType // used for checking.\n}\n\nfunc (ss *stringSet) clone() stringSet {\n\tc := *ss\n\tc.s = append([]string(nil), c.s...)\n\treturn c\n}\n\nfunc (ss *stringSet) setType(t setType) {\n\tif ss.typ != t && ss.typ != 0 {\n\t\tlog.Panicf(\"type %d cannot be assigned as it was already %d\", t, ss.typ)\n\t}\n}\n\n// parse parses a whitespace-separated string and initializes ss with its\n// components.\nfunc (ss *stringSet) parse(s string) {\n\tscan := bufio.NewScanner(strings.NewReader(s))\n\tscan.Split(bufio.ScanWords)\n\tfor scan.Scan() {\n\t\tss.add(scan.Text())\n\t}\n}\n\nfunc (ss *stringSet) assertChangeable() {\n\tif ss.frozen {\n\t\tlog.Panic(\"attempt to modify a frozen stringSet\")\n\t}\n}\n\nfunc (ss *stringSet) add(s string) {\n\tss.assertChangeable()\n\tss.s = append(ss.s, s)\n\tss.sorted = ss.frozen\n}\n\nfunc (ss *stringSet) freeze() {\n\tss.compact()\n\tss.frozen = true\n}\n\nfunc (ss *stringSet) compact() {\n\tif ss.sorted {\n\t\treturn\n\t}\n\ta := ss.s\n\tsort.Strings(a)\n\tk := 0\n\tfor i := 1; i < len(a); i++ {\n\t\tif a[k] != a[i] {\n\t\t\ta[k+1] = a[i]\n\t\t\tk++\n\t\t}\n\t}\n\tss.s = a[:k+1]\n\tss.sorted = ss.frozen\n}\n\ntype funcSorter struct {\n\tfn func(a, b string) bool\n\tsort.StringSlice\n}\n\nfunc (s funcSorter) Less(i, j int) bool {\n\treturn s.fn(s.StringSlice[i], s.StringSlice[j])\n}\n\nfunc (ss *stringSet) sortFunc(f func(a, b string) bool) {\n\tss.compact()\n\tsort.Sort(funcSorter{f, sort.StringSlice(ss.s)})\n}\n\nfunc (ss *stringSet) remove(s string) {\n\tss.assertChangeable()\n\tif i, ok := ss.find(s); ok {\n\t\tcopy(ss.s[i:], ss.s[i+1:])\n\t\tss.s = ss.s[:len(ss.s)-1]\n\t}\n}\n\nfunc (ss *stringSet) replace(ol, nu string) {\n\tss.s[ss.index(ol)] = nu\n\tss.sorted = ss.frozen\n}\n\nfunc (ss *stringSet) index(s string) int {\n\tss.setType(Indexed)\n\ti, ok := ss.find(s)\n\tif !ok {\n\t\tif i < len(ss.s) {\n\t\t\tlog.Panicf(\"find: item %q is not in list. Closest match is %q.\", s, ss.s[i])\n\t\t}\n\t\tlog.Panicf(\"find: item %q is not in list\", s)\n\n\t}\n\treturn i\n}\n\nfunc (ss *stringSet) find(s string) (int, bool) {\n\tss.compact()\n\ti := sort.SearchStrings(ss.s, s)\n\treturn i, i != len(ss.s) && ss.s[i] == s\n}\n\nfunc (ss *stringSet) slice() []string {\n\tss.compact()\n\treturn ss.s\n}\n\nfunc (ss *stringSet) updateLater(v, key string) {\n\tif ss.update == nil {\n\t\tss.update = map[string]string{}\n\t}\n\tss.update[v] = key\n}\n\n// join joins the string and ensures that all entries are of the same length.\nfunc (ss *stringSet) join() string {\n\tss.setType(Indexed)\n\tn := len(ss.s[0])\n\tfor _, s := range ss.s {\n\t\tif len(s) != n {\n\t\t\tlog.Panicf(\"join: not all entries are of the same length: %q\", s)\n\t\t}\n\t}\n\tss.s = append(ss.s, strings.Repeat(\"\\xff\", n))\n\treturn strings.Join(ss.s, \"\")\n}\n\n// ianaEntry holds information for an entry in the IANA Language Subtag Repository.\n// All types use the same entry.\n// See http://tools.ietf.org/html/bcp47#section-5.1 for a description of the various\n// fields.\ntype ianaEntry struct {\n\ttyp            string\n\tdescription    []string\n\tscope          string\n\tadded          string\n\tpreferred      string\n\tdeprecated     string\n\tsuppressScript string\n\tmacro          string\n\tprefix         []string\n}\n\ntype builder struct {\n\tw    *gen.CodeWriter\n\thw   io.Writer // MultiWriter for w and w.Hash\n\tdata *cldr.CLDR\n\tsupp *cldr.SupplementalData\n\n\t// indices\n\tlocale      stringSet // common locales\n\tlang        stringSet // canonical language ids (2 or 3 letter ISO codes) with data\n\tlangNoIndex stringSet // 3-letter ISO codes with no associated data\n\tscript      stringSet // 4-letter ISO codes\n\tregion      stringSet // 2-letter ISO or 3-digit UN M49 codes\n\tvariant     stringSet // 4-8-alphanumeric variant code.\n\n\t// Region codes that are groups with their corresponding group IDs.\n\tgroups map[int]index\n\n\t// langInfo\n\tregistry map[string]*ianaEntry\n}\n\ntype index uint\n\nfunc newBuilder(w *gen.CodeWriter) *builder {\n\tr := gen.OpenCLDRCoreZip()\n\tdefer r.Close()\n\td := &cldr.Decoder{}\n\tdata, err := d.DecodeZip(r)\n\tfailOnError(err)\n\tb := builder{\n\t\tw:    w,\n\t\thw:   io.MultiWriter(w, w.Hash),\n\t\tdata: data,\n\t\tsupp: data.Supplemental(),\n\t}\n\tb.parseRegistry()\n\treturn &b\n}\n\nfunc (b *builder) parseRegistry() {\n\tr := gen.OpenIANAFile(\"assignments/language-subtag-registry\")\n\tdefer r.Close()\n\tb.registry = make(map[string]*ianaEntry)\n\n\tscan := bufio.NewScanner(r)\n\tscan.Split(bufio.ScanWords)\n\tvar record *ianaEntry\n\tfor more := scan.Scan(); more; {\n\t\tkey := scan.Text()\n\t\tmore = scan.Scan()\n\t\tvalue := scan.Text()\n\t\tswitch key {\n\t\tcase \"Type:\":\n\t\t\trecord = &ianaEntry{typ: value}\n\t\tcase \"Subtag:\", \"Tag:\":\n\t\t\tif s := strings.SplitN(value, \"..\", 2); len(s) > 1 {\n\t\t\t\tfor a := s[0]; a <= s[1]; a = inc(a) {\n\t\t\t\t\tb.addToRegistry(a, record)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tb.addToRegistry(value, record)\n\t\t\t}\n\t\tcase \"Suppress-Script:\":\n\t\t\trecord.suppressScript = value\n\t\tcase \"Added:\":\n\t\t\trecord.added = value\n\t\tcase \"Deprecated:\":\n\t\t\trecord.deprecated = value\n\t\tcase \"Macrolanguage:\":\n\t\t\trecord.macro = value\n\t\tcase \"Preferred-Value:\":\n\t\t\trecord.preferred = value\n\t\tcase \"Prefix:\":\n\t\t\trecord.prefix = append(record.prefix, value)\n\t\tcase \"Scope:\":\n\t\t\trecord.scope = value\n\t\tcase \"Description:\":\n\t\t\tbuf := []byte(value)\n\t\t\tfor more = scan.Scan(); more; more = scan.Scan() {\n\t\t\t\tb := scan.Bytes()\n\t\t\t\tif b[0] == '%' || b[len(b)-1] == ':' {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tbuf = append(buf, ' ')\n\t\t\t\tbuf = append(buf, b...)\n\t\t\t}\n\t\t\trecord.description = append(record.description, string(buf))\n\t\t\tcontinue\n\t\tdefault:\n\t\t\tcontinue\n\t\t}\n\t\tmore = scan.Scan()\n\t}\n\tif scan.Err() != nil {\n\t\tlog.Panic(scan.Err())\n\t}\n}\n\nfunc (b *builder) addToRegistry(key string, entry *ianaEntry) {\n\tif info, ok := b.registry[key]; ok {\n\t\tif info.typ != \"language\" || entry.typ != \"extlang\" {\n\t\t\tlog.Fatalf(\"parseRegistry: tag %q already exists\", key)\n\t\t}\n\t} else {\n\t\tb.registry[key] = entry\n\t}\n}\n\nvar commentIndex = make(map[string]string)\n\nfunc init() {\n\tfor _, s := range comment {\n\t\tkey := strings.TrimSpace(strings.SplitN(s, \" \", 2)[0])\n\t\tcommentIndex[key] = s\n\t}\n}\n\nfunc (b *builder) comment(name string) {\n\tif s := commentIndex[name]; len(s) > 0 {\n\t\tb.w.WriteComment(s)\n\t} else {\n\t\tfmt.Fprintln(b.w)\n\t}\n}\n\nfunc (b *builder) pf(f string, x ...interface{}) {\n\tfmt.Fprintf(b.hw, f, x...)\n\tfmt.Fprint(b.hw, \"\\n\")\n}\n\nfunc (b *builder) p(x ...interface{}) {\n\tfmt.Fprintln(b.hw, x...)\n}\n\nfunc (b *builder) addSize(s int) {\n\tb.w.Size += s\n\tb.pf(\"// Size: %d bytes\", s)\n}\n\nfunc (b *builder) writeConst(name string, x interface{}) {\n\tb.comment(name)\n\tb.w.WriteConst(name, x)\n}\n\n// writeConsts computes f(v) for all v in values and writes the results\n// as constants named _v to a single constant block.\nfunc (b *builder) writeConsts(f func(string) int, values ...string) {\n\tb.pf(\"const (\")\n\tfor _, v := range values {\n\t\tb.pf(\"\\t_%s = %v\", v, f(v))\n\t}\n\tb.pf(\")\")\n}\n\n// writeType writes the type of the given value, which must be a struct.\nfunc (b *builder) writeType(value interface{}) {\n\tb.comment(reflect.TypeOf(value).Name())\n\tb.w.WriteType(value)\n}\n\nfunc (b *builder) writeSlice(name string, ss interface{}) {\n\tb.writeSliceAddSize(name, 0, ss)\n}\n\nfunc (b *builder) writeSliceAddSize(name string, extraSize int, ss interface{}) {\n\tb.comment(name)\n\tb.w.Size += extraSize\n\tv := reflect.ValueOf(ss)\n\tt := v.Type().Elem()\n\tb.pf(\"// Size: %d bytes, %d elements\", v.Len()*int(t.Size())+extraSize, v.Len())\n\n\tfmt.Fprintf(b.w, \"var %s = \", name)\n\tb.w.WriteArray(ss)\n\tb.p()\n}\n\ntype fromTo struct {\n\tfrom, to uint16\n}\n\nfunc (b *builder) writeSortedMap(name string, ss *stringSet, index func(s string) uint16) {\n\tss.sortFunc(func(a, b string) bool {\n\t\treturn index(a) < index(b)\n\t})\n\tm := []fromTo{}\n\tfor _, s := range ss.s {\n\t\tm = append(m, fromTo{index(s), index(ss.update[s])})\n\t}\n\tb.writeSlice(name, m)\n}\n\nconst base = 'z' - 'a' + 1\n\nfunc strToInt(s string) uint {\n\tv := uint(0)\n\tfor i := 0; i < len(s); i++ {\n\t\tv *= base\n\t\tv += uint(s[i] - 'a')\n\t}\n\treturn v\n}\n\n// converts the given integer to the original ASCII string passed to strToInt.\n// len(s) must match the number of characters obtained.\nfunc intToStr(v uint, s []byte) {\n\tfor i := len(s) - 1; i >= 0; i-- {\n\t\ts[i] = byte(v%base) + 'a'\n\t\tv /= base\n\t}\n}\n\nfunc (b *builder) writeBitVector(name string, ss []string) {\n\tvec := make([]uint8, int(math.Ceil(math.Pow(base, float64(len(ss[0])))/8)))\n\tfor _, s := range ss {\n\t\tv := strToInt(s)\n\t\tvec[v/8] |= 1 << (v % 8)\n\t}\n\tb.writeSlice(name, vec)\n}\n\n// TODO: convert this type into a list or two-stage trie.\nfunc (b *builder) writeMapFunc(name string, m map[string]string, f func(string) uint16) {\n\tb.comment(name)\n\tv := reflect.ValueOf(m)\n\tsz := v.Len() * (2 + int(v.Type().Key().Size()))\n\tfor _, k := range m {\n\t\tsz += len(k)\n\t}\n\tb.addSize(sz)\n\tkeys := []string{}\n\tb.pf(`var %s = map[string]uint16{`, name)\n\tfor k := range m {\n\t\tkeys = append(keys, k)\n\t}\n\tsort.Strings(keys)\n\tfor _, k := range keys {\n\t\tb.pf(\"\\t%q: %v,\", k, f(m[k]))\n\t}\n\tb.p(\"}\")\n}\n\nfunc (b *builder) writeMap(name string, m interface{}) {\n\tb.comment(name)\n\tv := reflect.ValueOf(m)\n\tsz := v.Len() * (2 + int(v.Type().Key().Size()) + int(v.Type().Elem().Size()))\n\tb.addSize(sz)\n\tf := strings.FieldsFunc(fmt.Sprintf(\"%#v\", m), func(r rune) bool {\n\t\treturn strings.IndexRune(\"{}, \", r) != -1\n\t})\n\tsort.Strings(f[1:])\n\tb.pf(`var %s = %s{`, name, f[0])\n\tfor _, kv := range f[1:] {\n\t\tb.pf(\"\\t%s,\", kv)\n\t}\n\tb.p(\"}\")\n}\n\nfunc (b *builder) langIndex(s string) uint16 {\n\tif s == \"und\" {\n\t\treturn 0\n\t}\n\tif i, ok := b.lang.find(s); ok {\n\t\treturn uint16(i)\n\t}\n\treturn uint16(strToInt(s)) + uint16(len(b.lang.s))\n}\n\n// inc advances the string to its lexicographical successor.\nfunc inc(s string) string {\n\tconst maxTagLength = 4\n\tvar buf [maxTagLength]byte\n\tintToStr(strToInt(strings.ToLower(s))+1, buf[:len(s)])\n\tfor i := 0; i < len(s); i++ {\n\t\tif s[i] <= 'Z' {\n\t\t\tbuf[i] -= 'a' - 'A'\n\t\t}\n\t}\n\treturn string(buf[:len(s)])\n}\n\nfunc (b *builder) parseIndices() {\n\tmeta := b.supp.Metadata\n\n\tfor k, v := range b.registry {\n\t\tvar ss *stringSet\n\t\tswitch v.typ {\n\t\tcase \"language\":\n\t\t\tif len(k) == 2 || v.suppressScript != \"\" || v.scope == \"special\" {\n\t\t\t\tb.lang.add(k)\n\t\t\t\tcontinue\n\t\t\t} else {\n\t\t\t\tss = &b.langNoIndex\n\t\t\t}\n\t\tcase \"region\":\n\t\t\tss = &b.region\n\t\tcase \"script\":\n\t\t\tss = &b.script\n\t\tcase \"variant\":\n\t\t\tss = &b.variant\n\t\tdefault:\n\t\t\tcontinue\n\t\t}\n\t\tss.add(k)\n\t}\n\t// Include any language for which there is data.\n\tfor _, lang := range b.data.Locales() {\n\t\tif x := b.data.RawLDML(lang); false ||\n\t\t\tx.LocaleDisplayNames != nil ||\n\t\t\tx.Characters != nil ||\n\t\t\tx.Delimiters != nil ||\n\t\t\tx.Measurement != nil ||\n\t\t\tx.Dates != nil ||\n\t\t\tx.Numbers != nil ||\n\t\t\tx.Units != nil ||\n\t\t\tx.ListPatterns != nil ||\n\t\t\tx.Collations != nil ||\n\t\t\tx.Segmentations != nil ||\n\t\t\tx.Rbnf != nil ||\n\t\t\tx.Annotations != nil ||\n\t\t\tx.Metadata != nil {\n\n\t\t\tfrom := strings.Split(lang, \"_\")\n\t\t\tif lang := from[0]; lang != \"root\" {\n\t\t\t\tb.lang.add(lang)\n\t\t\t}\n\t\t}\n\t}\n\t// Include locales for plural rules, which uses a different structure.\n\tfor _, plurals := range b.data.Supplemental().Plurals {\n\t\tfor _, rules := range plurals.PluralRules {\n\t\t\tfor _, lang := range strings.Split(rules.Locales, \" \") {\n\t\t\t\tif lang = strings.Split(lang, \"_\")[0]; lang != \"root\" {\n\t\t\t\t\tb.lang.add(lang)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Include languages in likely subtags.\n\tfor _, m := range b.supp.LikelySubtags.LikelySubtag {\n\t\tfrom := strings.Split(m.From, \"_\")\n\t\tb.lang.add(from[0])\n\t}\n\t// Include ISO-639 alpha-3 bibliographic entries.\n\tfor _, a := range meta.Alias.LanguageAlias {\n\t\tif a.Reason == \"bibliographic\" {\n\t\t\tb.langNoIndex.add(a.Type)\n\t\t}\n\t}\n\t// Include regions in territoryAlias (not all are in the IANA registry!)\n\tfor _, reg := range b.supp.Metadata.Alias.TerritoryAlias {\n\t\tif len(reg.Type) == 2 {\n\t\t\tb.region.add(reg.Type)\n\t\t}\n\t}\n\n\tfor _, s := range b.lang.s {\n\t\tif len(s) == 3 {\n\t\t\tb.langNoIndex.remove(s)\n\t\t}\n\t}\n\tb.writeConst(\"numLanguages\", len(b.lang.slice())+len(b.langNoIndex.slice()))\n\tb.writeConst(\"numScripts\", len(b.script.slice()))\n\tb.writeConst(\"numRegions\", len(b.region.slice()))\n\n\t// Add dummy codes at the start of each list to represent \"unspecified\".\n\tb.lang.add(\"---\")\n\tb.script.add(\"----\")\n\tb.region.add(\"---\")\n\n\t// common locales\n\tb.locale.parse(meta.DefaultContent.Locales)\n}\n\n// TODO: region inclusion data will probably not be use used in future matchers.\n\nfunc (b *builder) computeRegionGroups() {\n\tb.groups = make(map[int]index)\n\n\t// Create group indices.\n\tfor i := 1; b.region.s[i][0] < 'A'; i++ { // Base M49 indices on regionID.\n\t\tb.groups[i] = index(len(b.groups))\n\t}\n\tfor _, g := range b.supp.TerritoryContainment.Group {\n\t\t// Skip UN and EURO zone as they are flattening the containment\n\t\t// relationship.\n\t\tif g.Type == \"EZ\" || g.Type == \"UN\" {\n\t\t\tcontinue\n\t\t}\n\t\tgroup := b.region.index(g.Type)\n\t\tif _, ok := b.groups[group]; !ok {\n\t\t\tb.groups[group] = index(len(b.groups))\n\t\t}\n\t}\n\tif len(b.groups) > 64 {\n\t\tlog.Fatalf(\"only 64 groups supported, found %d\", len(b.groups))\n\t}\n\tb.writeConst(\"nRegionGroups\", len(b.groups))\n}\n\nvar langConsts = []string{\n\t\"af\", \"am\", \"ar\", \"az\", \"bg\", \"bn\", \"ca\", \"cs\", \"da\", \"de\", \"el\", \"en\", \"es\",\n\t\"et\", \"fa\", \"fi\", \"fil\", \"fr\", \"gu\", \"he\", \"hi\", \"hr\", \"hu\", \"hy\", \"id\", \"is\",\n\t\"it\", \"ja\", \"ka\", \"kk\", \"km\", \"kn\", \"ko\", \"ky\", \"lo\", \"lt\", \"lv\", \"mk\", \"ml\",\n\t\"mn\", \"mo\", \"mr\", \"ms\", \"mul\", \"my\", \"nb\", \"ne\", \"nl\", \"no\", \"pa\", \"pl\", \"pt\",\n\t\"ro\", \"ru\", \"sh\", \"si\", \"sk\", \"sl\", \"sq\", \"sr\", \"sv\", \"sw\", \"ta\", \"te\", \"th\",\n\t\"tl\", \"tn\", \"tr\", \"uk\", \"ur\", \"uz\", \"vi\", \"zh\", \"zu\",\n\n\t// constants for grandfathered tags (if not already defined)\n\t\"jbo\", \"ami\", \"bnn\", \"hak\", \"tlh\", \"lb\", \"nv\", \"pwn\", \"tao\", \"tay\", \"tsu\",\n\t\"nn\", \"sfb\", \"vgt\", \"sgg\", \"cmn\", \"nan\", \"hsn\",\n}\n\n// writeLanguage generates all tables needed for language canonicalization.\nfunc (b *builder) writeLanguage() {\n\tmeta := b.supp.Metadata\n\n\tb.writeConst(\"nonCanonicalUnd\", b.lang.index(\"und\"))\n\tb.writeConsts(func(s string) int { return int(b.langIndex(s)) }, langConsts...)\n\tb.writeConst(\"langPrivateStart\", b.langIndex(\"qaa\"))\n\tb.writeConst(\"langPrivateEnd\", b.langIndex(\"qtz\"))\n\n\t// Get language codes that need to be mapped (overlong 3-letter codes,\n\t// deprecated 2-letter codes, legacy and grandfathered tags.)\n\tlangAliasMap := stringSet{}\n\taliasTypeMap := map[string]langAliasType{}\n\n\t// altLangISO3 get the alternative ISO3 names that need to be mapped.\n\taltLangISO3 := stringSet{}\n\t// Add dummy start to avoid the use of index 0.\n\taltLangISO3.add(\"---\")\n\taltLangISO3.updateLater(\"---\", \"aa\")\n\n\tlang := b.lang.clone()\n\tfor _, a := range meta.Alias.LanguageAlias {\n\t\tif a.Replacement == \"\" {\n\t\t\ta.Replacement = \"und\"\n\t\t}\n\t\t// TODO: support mapping to tags\n\t\trepl := strings.SplitN(a.Replacement, \"_\", 2)[0]\n\t\tif a.Reason == \"overlong\" {\n\t\t\tif len(a.Replacement) == 2 && len(a.Type) == 3 {\n\t\t\t\tlang.updateLater(a.Replacement, a.Type)\n\t\t\t}\n\t\t} else if len(a.Type) <= 3 {\n\t\t\tswitch a.Reason {\n\t\t\tcase \"macrolanguage\":\n\t\t\t\taliasTypeMap[a.Type] = langMacro\n\t\t\tcase \"deprecated\":\n\t\t\t\t// handled elsewhere\n\t\t\t\tcontinue\n\t\t\tcase \"bibliographic\", \"legacy\":\n\t\t\t\tif a.Type == \"no\" {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\taliasTypeMap[a.Type] = langLegacy\n\t\t\tdefault:\n\t\t\t\tlog.Fatalf(\"new %s alias: %s\", a.Reason, a.Type)\n\t\t\t}\n\t\t\tlangAliasMap.add(a.Type)\n\t\t\tlangAliasMap.updateLater(a.Type, repl)\n\t\t}\n\t}\n\t// Manually add the mapping of \"nb\" (Norwegian) to its macro language.\n\t// This can be removed if CLDR adopts this change.\n\tlangAliasMap.add(\"nb\")\n\tlangAliasMap.updateLater(\"nb\", \"no\")\n\taliasTypeMap[\"nb\"] = langMacro\n\n\tfor k, v := range b.registry {\n\t\t// Also add deprecated values for 3-letter ISO codes, which CLDR omits.\n\t\tif v.typ == \"language\" && v.deprecated != \"\" && v.preferred != \"\" {\n\t\t\tlangAliasMap.add(k)\n\t\t\tlangAliasMap.updateLater(k, v.preferred)\n\t\t\taliasTypeMap[k] = langDeprecated\n\t\t}\n\t}\n\t// Fix CLDR mappings.\n\tlang.updateLater(\"tl\", \"tgl\")\n\tlang.updateLater(\"sh\", \"hbs\")\n\tlang.updateLater(\"mo\", \"mol\")\n\tlang.updateLater(\"no\", \"nor\")\n\tlang.updateLater(\"tw\", \"twi\")\n\tlang.updateLater(\"nb\", \"nob\")\n\tlang.updateLater(\"ak\", \"aka\")\n\tlang.updateLater(\"bh\", \"bih\")\n\n\t// Ensure that each 2-letter code is matched with a 3-letter code.\n\tfor _, v := range lang.s[1:] {\n\t\ts, ok := lang.update[v]\n\t\tif !ok {\n\t\t\tif s, ok = lang.update[langAliasMap.update[v]]; !ok {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tlang.update[v] = s\n\t\t}\n\t\tif v[0] != s[0] {\n\t\t\taltLangISO3.add(s)\n\t\t\taltLangISO3.updateLater(s, v)\n\t\t}\n\t}\n\n\t// Complete canonicalized language tags.\n\tlang.freeze()\n\tfor i, v := range lang.s {\n\t\t// We can avoid these manual entries by using the IANA registry directly.\n\t\t// Seems easier to update the list manually, as changes are rare.\n\t\t// The panic in this loop will trigger if we miss an entry.\n\t\tadd := \"\"\n\t\tif s, ok := lang.update[v]; ok {\n\t\t\tif s[0] == v[0] {\n\t\t\t\tadd = s[1:]\n\t\t\t} else {\n\t\t\t\tadd = string([]byte{0, byte(altLangISO3.index(s))})\n\t\t\t}\n\t\t} else if len(v) == 3 {\n\t\t\tadd = \"\\x00\"\n\t\t} else {\n\t\t\tlog.Panicf(\"no data for long form of %q\", v)\n\t\t}\n\t\tlang.s[i] += add\n\t}\n\tb.writeConst(\"lang\", tag.Index(lang.join()))\n\n\tb.writeConst(\"langNoIndexOffset\", len(b.lang.s))\n\n\t// space of all valid 3-letter language identifiers.\n\tb.writeBitVector(\"langNoIndex\", b.langNoIndex.slice())\n\n\taltLangIndex := []uint16{}\n\tfor i, s := range altLangISO3.slice() {\n\t\taltLangISO3.s[i] += string([]byte{byte(len(altLangIndex))})\n\t\tif i > 0 {\n\t\t\tidx := b.lang.index(altLangISO3.update[s])\n\t\t\taltLangIndex = append(altLangIndex, uint16(idx))\n\t\t}\n\t}\n\tb.writeConst(\"altLangISO3\", tag.Index(altLangISO3.join()))\n\tb.writeSlice(\"altLangIndex\", altLangIndex)\n\n\tb.writeSortedMap(\"langAliasMap\", &langAliasMap, b.langIndex)\n\ttypes := make([]langAliasType, len(langAliasMap.s))\n\tfor i, s := range langAliasMap.s {\n\t\ttypes[i] = aliasTypeMap[s]\n\t}\n\tb.writeSlice(\"langAliasTypes\", types)\n}\n\nvar scriptConsts = []string{\n\t\"Latn\", \"Hani\", \"Hans\", \"Hant\", \"Qaaa\", \"Qaai\", \"Qabx\", \"Zinh\", \"Zyyy\",\n\t\"Zzzz\",\n}\n\nfunc (b *builder) writeScript() {\n\tb.writeConsts(b.script.index, scriptConsts...)\n\tb.writeConst(\"script\", tag.Index(b.script.join()))\n\n\tsupp := make([]uint8, len(b.lang.slice()))\n\tfor i, v := range b.lang.slice()[1:] {\n\t\tif sc := b.registry[v].suppressScript; sc != \"\" {\n\t\t\tsupp[i+1] = uint8(b.script.index(sc))\n\t\t}\n\t}\n\tb.writeSlice(\"suppressScript\", supp)\n\n\t// There is only one deprecated script in CLDR. This value is hard-coded.\n\t// We check here if the code must be updated.\n\tfor _, a := range b.supp.Metadata.Alias.ScriptAlias {\n\t\tif a.Type != \"Qaai\" {\n\t\t\tlog.Panicf(\"unexpected deprecated stript %q\", a.Type)\n\t\t}\n\t}\n}\n\nfunc parseM49(s string) int16 {\n\tif len(s) == 0 {\n\t\treturn 0\n\t}\n\tv, err := strconv.ParseUint(s, 10, 10)\n\tfailOnError(err)\n\treturn int16(v)\n}\n\nvar regionConsts = []string{\n\t\"001\", \"419\", \"BR\", \"CA\", \"ES\", \"GB\", \"MD\", \"PT\", \"UK\", \"US\",\n\t\"ZZ\", \"XA\", \"XC\", \"XK\", // Unofficial tag for Kosovo.\n}\n\nfunc (b *builder) writeRegion() {\n\tb.writeConsts(b.region.index, regionConsts...)\n\n\tisoOffset := b.region.index(\"AA\")\n\tm49map := make([]int16, len(b.region.slice()))\n\tfromM49map := make(map[int16]int)\n\taltRegionISO3 := \"\"\n\taltRegionIDs := []uint16{}\n\n\tb.writeConst(\"isoRegionOffset\", isoOffset)\n\n\t// 2-letter region lookup and mapping to numeric codes.\n\tregionISO := b.region.clone()\n\tregionISO.s = regionISO.s[isoOffset:]\n\tregionISO.sorted = false\n\n\tregionTypes := make([]byte, len(b.region.s))\n\n\t// Is the region valid BCP 47?\n\tfor s, e := range b.registry {\n\t\tif len(s) == 2 && s == strings.ToUpper(s) {\n\t\t\ti := b.region.index(s)\n\t\t\tfor _, d := range e.description {\n\t\t\t\tif strings.Contains(d, \"Private use\") {\n\t\t\t\t\tregionTypes[i] = iso3166UserAssigned\n\t\t\t\t}\n\t\t\t}\n\t\t\tregionTypes[i] |= bcp47Region\n\t\t}\n\t}\n\n\t// Is the region a valid ccTLD?\n\tr := gen.OpenIANAFile(\"domains/root/db\")\n\tdefer r.Close()\n\n\tbuf, err := ioutil.ReadAll(r)\n\tfailOnError(err)\n\tre := regexp.MustCompile(`\"/domains/root/db/([a-z]{2}).html\"`)\n\tfor _, m := range re.FindAllSubmatch(buf, -1) {\n\t\ti := b.region.index(strings.ToUpper(string(m[1])))\n\t\tregionTypes[i] |= ccTLD\n\t}\n\n\tb.writeSlice(\"regionTypes\", regionTypes)\n\n\tiso3Set := make(map[string]int)\n\tupdate := func(iso2, iso3 string) {\n\t\ti := regionISO.index(iso2)\n\t\tif j, ok := iso3Set[iso3]; !ok && iso3[0] == iso2[0] {\n\t\t\tregionISO.s[i] += iso3[1:]\n\t\t\tiso3Set[iso3] = -1\n\t\t} else {\n\t\t\tif ok && j >= 0 {\n\t\t\t\tregionISO.s[i] += string([]byte{0, byte(j)})\n\t\t\t} else {\n\t\t\t\tiso3Set[iso3] = len(altRegionISO3)\n\t\t\t\tregionISO.s[i] += string([]byte{0, byte(len(altRegionISO3))})\n\t\t\t\taltRegionISO3 += iso3\n\t\t\t\taltRegionIDs = append(altRegionIDs, uint16(isoOffset+i))\n\t\t\t}\n\t\t}\n\t}\n\tfor _, tc := range b.supp.CodeMappings.TerritoryCodes {\n\t\ti := regionISO.index(tc.Type) + isoOffset\n\t\tif d := m49map[i]; d != 0 {\n\t\t\tlog.Panicf(\"%s found as a duplicate UN.M49 code of %03d\", tc.Numeric, d)\n\t\t}\n\t\tm49 := parseM49(tc.Numeric)\n\t\tm49map[i] = m49\n\t\tif r := fromM49map[m49]; r == 0 {\n\t\t\tfromM49map[m49] = i\n\t\t} else if r != i {\n\t\t\tdep := b.registry[regionISO.s[r-isoOffset]].deprecated\n\t\t\tif t := b.registry[tc.Type]; t != nil && dep != \"\" && (t.deprecated == \"\" || t.deprecated > dep) {\n\t\t\t\tfromM49map[m49] = i\n\t\t\t}\n\t\t}\n\t}\n\tfor _, ta := range b.supp.Metadata.Alias.TerritoryAlias {\n\t\tif len(ta.Type) == 3 && ta.Type[0] <= '9' && len(ta.Replacement) == 2 {\n\t\t\tfrom := parseM49(ta.Type)\n\t\t\tif r := fromM49map[from]; r == 0 {\n\t\t\t\tfromM49map[from] = regionISO.index(ta.Replacement) + isoOffset\n\t\t\t}\n\t\t}\n\t}\n\tfor _, tc := range b.supp.CodeMappings.TerritoryCodes {\n\t\tif len(tc.Alpha3) == 3 {\n\t\t\tupdate(tc.Type, tc.Alpha3)\n\t\t}\n\t}\n\t// This entries are not included in territoryCodes. Mostly 3-letter variants\n\t// of deleted codes and an entry for QU.\n\tfor _, m := range []struct{ iso2, iso3 string }{\n\t\t{\"CT\", \"CTE\"},\n\t\t{\"DY\", \"DHY\"},\n\t\t{\"HV\", \"HVO\"},\n\t\t{\"JT\", \"JTN\"},\n\t\t{\"MI\", \"MID\"},\n\t\t{\"NH\", \"NHB\"},\n\t\t{\"NQ\", \"ATN\"},\n\t\t{\"PC\", \"PCI\"},\n\t\t{\"PU\", \"PUS\"},\n\t\t{\"PZ\", \"PCZ\"},\n\t\t{\"RH\", \"RHO\"},\n\t\t{\"VD\", \"VDR\"},\n\t\t{\"WK\", \"WAK\"},\n\t\t// These three-letter codes are used for others as well.\n\t\t{\"FQ\", \"ATF\"},\n\t} {\n\t\tupdate(m.iso2, m.iso3)\n\t}\n\tfor i, s := range regionISO.s {\n\t\tif len(s) != 4 {\n\t\t\tregionISO.s[i] = s + \"  \"\n\t\t}\n\t}\n\tb.writeConst(\"regionISO\", tag.Index(regionISO.join()))\n\tb.writeConst(\"altRegionISO3\", altRegionISO3)\n\tb.writeSlice(\"altRegionIDs\", altRegionIDs)\n\n\t// Create list of deprecated regions.\n\t// TODO: consider inserting SF -> FI. Not included by CLDR, but is the only\n\t// Transitionally-reserved mapping not included.\n\tregionOldMap := stringSet{}\n\t// Include regions in territoryAlias (not all are in the IANA registry!)\n\tfor _, reg := range b.supp.Metadata.Alias.TerritoryAlias {\n\t\tif len(reg.Type) == 2 && reg.Reason == \"deprecated\" && len(reg.Replacement) == 2 {\n\t\t\tregionOldMap.add(reg.Type)\n\t\t\tregionOldMap.updateLater(reg.Type, reg.Replacement)\n\t\t\ti, _ := regionISO.find(reg.Type)\n\t\t\tj, _ := regionISO.find(reg.Replacement)\n\t\t\tif k := m49map[i+isoOffset]; k == 0 {\n\t\t\t\tm49map[i+isoOffset] = m49map[j+isoOffset]\n\t\t\t}\n\t\t}\n\t}\n\tb.writeSortedMap(\"regionOldMap\", &regionOldMap, func(s string) uint16 {\n\t\treturn uint16(b.region.index(s))\n\t})\n\t// 3-digit region lookup, groupings.\n\tfor i := 1; i < isoOffset; i++ {\n\t\tm := parseM49(b.region.s[i])\n\t\tm49map[i] = m\n\t\tfromM49map[m] = i\n\t}\n\tb.writeSlice(\"m49\", m49map)\n\n\tconst (\n\t\tsearchBits = 7\n\t\tregionBits = 9\n\t)\n\tif len(m49map) >= 1<<regionBits {\n\t\tlog.Fatalf(\"Maximum number of regions exceeded: %d > %d\", len(m49map), 1<<regionBits)\n\t}\n\tm49Index := [9]int16{}\n\tfromM49 := []uint16{}\n\tm49 := []int{}\n\tfor k, _ := range fromM49map {\n\t\tm49 = append(m49, int(k))\n\t}\n\tsort.Ints(m49)\n\tfor _, k := range m49[1:] {\n\t\tval := (k & (1<<searchBits - 1)) << regionBits\n\t\tfromM49 = append(fromM49, uint16(val|fromM49map[int16(k)]))\n\t\tm49Index[1:][k>>searchBits] = int16(len(fromM49))\n\t}\n\tb.writeSlice(\"m49Index\", m49Index)\n\tb.writeSlice(\"fromM49\", fromM49)\n}\n\nconst (\n\t// TODO: put these lists in regionTypes as user data? Could be used for\n\t// various optimizations and refinements and could be exposed in the API.\n\tiso3166Except = \"AC CP DG EA EU FX IC SU TA UK\"\n\tiso3166Trans  = \"AN BU CS NT TP YU ZR\" // SF is not in our set of Regions.\n\t// DY and RH are actually not deleted, but indeterminately reserved.\n\tiso3166DelCLDR = \"CT DD DY FQ HV JT MI NH NQ PC PU PZ RH VD WK YD\"\n)\n\nconst (\n\tiso3166UserAssigned = 1 << iota\n\tccTLD\n\tbcp47Region\n)\n\nfunc find(list []string, s string) int {\n\tfor i, t := range list {\n\t\tif t == s {\n\t\t\treturn i\n\t\t}\n\t}\n\treturn -1\n}\n\n// writeVariants generates per-variant information and creates a map from variant\n// name to index value. We assign index values such that sorting multiple\n// variants by index value will result in the correct order.\n// There are two types of variants: specialized and general. Specialized variants\n// are only applicable to certain language or language-script pairs. Generalized\n// variants apply to any language. Generalized variants always sort after\n// specialized variants.  We will therefore always assign a higher index value\n// to a generalized variant than any other variant. Generalized variants are\n// sorted alphabetically among themselves.\n// Specialized variants may also sort after other specialized variants. Such\n// variants will be ordered after any of the variants they may follow.\n// We assume that if a variant x is followed by a variant y, then for any prefix\n// p of x, p-x is a prefix of y. This allows us to order tags based on the\n// maximum of the length of any of its prefixes.\n// TODO: it is possible to define a set of Prefix values on variants such that\n// a total order cannot be defined to the point that this algorithm breaks.\n// In other words, we cannot guarantee the same order of variants for the\n// future using the same algorithm or for non-compliant combinations of\n// variants. For this reason, consider using simple alphabetic sorting\n// of variants and ignore Prefix restrictions altogether.\nfunc (b *builder) writeVariant() {\n\tgeneralized := stringSet{}\n\tspecialized := stringSet{}\n\tspecializedExtend := stringSet{}\n\t// Collate the variants by type and check assumptions.\n\tfor _, v := range b.variant.slice() {\n\t\te := b.registry[v]\n\t\tif len(e.prefix) == 0 {\n\t\t\tgeneralized.add(v)\n\t\t\tcontinue\n\t\t}\n\t\tc := strings.Split(e.prefix[0], \"-\")\n\t\thasScriptOrRegion := false\n\t\tif len(c) > 1 {\n\t\t\t_, hasScriptOrRegion = b.script.find(c[1])\n\t\t\tif !hasScriptOrRegion {\n\t\t\t\t_, hasScriptOrRegion = b.region.find(c[1])\n\n\t\t\t}\n\t\t}\n\t\tif len(c) == 1 || len(c) == 2 && hasScriptOrRegion {\n\t\t\t// Variant is preceded by a language.\n\t\t\tspecialized.add(v)\n\t\t\tcontinue\n\t\t}\n\t\t// Variant is preceded by another variant.\n\t\tspecializedExtend.add(v)\n\t\tprefix := c[0] + \"-\"\n\t\tif hasScriptOrRegion {\n\t\t\tprefix += c[1]\n\t\t}\n\t\tfor _, p := range e.prefix {\n\t\t\t// Verify that the prefix minus the last element is a prefix of the\n\t\t\t// predecessor element.\n\t\t\ti := strings.LastIndex(p, \"-\")\n\t\t\tpred := b.registry[p[i+1:]]\n\t\t\tif find(pred.prefix, p[:i]) < 0 {\n\t\t\t\tlog.Fatalf(\"prefix %q for variant %q not consistent with predecessor spec\", p, v)\n\t\t\t}\n\t\t\t// The sorting used below does not work in the general case. It works\n\t\t\t// if we assume that variants that may be followed by others only have\n\t\t\t// prefixes of the same length. Verify this.\n\t\t\tcount := strings.Count(p[:i], \"-\")\n\t\t\tfor _, q := range pred.prefix {\n\t\t\t\tif c := strings.Count(q, \"-\"); c != count {\n\t\t\t\t\tlog.Fatalf(\"variant %q preceding %q has a prefix %q of size %d; want %d\", p[i+1:], v, q, c, count)\n\t\t\t\t}\n\t\t\t}\n\t\t\tif !strings.HasPrefix(p, prefix) {\n\t\t\t\tlog.Fatalf(\"prefix %q of variant %q should start with %q\", p, v, prefix)\n\t\t\t}\n\t\t}\n\t}\n\n\t// Sort extended variants.\n\ta := specializedExtend.s\n\tless := func(v, w string) bool {\n\t\t// Sort by the maximum number of elements.\n\t\tmaxCount := func(s string) (max int) {\n\t\t\tfor _, p := range b.registry[s].prefix {\n\t\t\t\tif c := strings.Count(p, \"-\"); c > max {\n\t\t\t\t\tmax = c\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tif cv, cw := maxCount(v), maxCount(w); cv != cw {\n\t\t\treturn cv < cw\n\t\t}\n\t\t// Sort by name as tie breaker.\n\t\treturn v < w\n\t}\n\tsort.Sort(funcSorter{less, sort.StringSlice(a)})\n\tspecializedExtend.frozen = true\n\n\t// Create index from variant name to index.\n\tvariantIndex := make(map[string]uint8)\n\tadd := func(s []string) {\n\t\tfor _, v := range s {\n\t\t\tvariantIndex[v] = uint8(len(variantIndex))\n\t\t}\n\t}\n\tadd(specialized.slice())\n\tadd(specializedExtend.s)\n\tnumSpecialized := len(variantIndex)\n\tadd(generalized.slice())\n\tif n := len(variantIndex); n > 255 {\n\t\tlog.Fatalf(\"maximum number of variants exceeded: was %d; want <= 255\", n)\n\t}\n\tb.writeMap(\"variantIndex\", variantIndex)\n\tb.writeConst(\"variantNumSpecialized\", numSpecialized)\n}\n\nfunc (b *builder) writeLanguageInfo() {\n}\n\n// writeLikelyData writes tables that are used both for finding parent relations and for\n// language matching.  Each entry contains additional bits to indicate the status of the\n// data to know when it cannot be used for parent relations.\nfunc (b *builder) writeLikelyData() {\n\tconst (\n\t\tisList = 1 << iota\n\t\tscriptInFrom\n\t\tregionInFrom\n\t)\n\ttype ( // generated types\n\t\tlikelyScriptRegion struct {\n\t\t\tregion uint16\n\t\t\tscript uint8\n\t\t\tflags  uint8\n\t\t}\n\t\tlikelyLangScript struct {\n\t\t\tlang   uint16\n\t\t\tscript uint8\n\t\t\tflags  uint8\n\t\t}\n\t\tlikelyLangRegion struct {\n\t\t\tlang   uint16\n\t\t\tregion uint16\n\t\t}\n\t\t// likelyTag is used for getting likely tags for group regions, where\n\t\t// the likely region might be a region contained in the group.\n\t\tlikelyTag struct {\n\t\t\tlang   uint16\n\t\t\tregion uint16\n\t\t\tscript uint8\n\t\t}\n\t)\n\tvar ( // generated variables\n\t\tlikelyRegionGroup = make([]likelyTag, len(b.groups))\n\t\tlikelyLang        = make([]likelyScriptRegion, len(b.lang.s))\n\t\tlikelyRegion      = make([]likelyLangScript, len(b.region.s))\n\t\tlikelyScript      = make([]likelyLangRegion, len(b.script.s))\n\t\tlikelyLangList    = []likelyScriptRegion{}\n\t\tlikelyRegionList  = []likelyLangScript{}\n\t)\n\ttype fromTo struct {\n\t\tfrom, to []string\n\t}\n\tlangToOther := map[int][]fromTo{}\n\tregionToOther := map[int][]fromTo{}\n\tfor _, m := range b.supp.LikelySubtags.LikelySubtag {\n\t\tfrom := strings.Split(m.From, \"_\")\n\t\tto := strings.Split(m.To, \"_\")\n\t\tif len(to) != 3 {\n\t\t\tlog.Fatalf(\"invalid number of subtags in %q: found %d, want 3\", m.To, len(to))\n\t\t}\n\t\tif len(from) > 3 {\n\t\t\tlog.Fatalf(\"invalid number of subtags: found %d, want 1-3\", len(from))\n\t\t}\n\t\tif from[0] != to[0] && from[0] != \"und\" {\n\t\t\tlog.Fatalf(\"unexpected language change in expansion: %s -> %s\", from, to)\n\t\t}\n\t\tif len(from) == 3 {\n\t\t\tif from[2] != to[2] {\n\t\t\t\tlog.Fatalf(\"unexpected region change in expansion: %s -> %s\", from, to)\n\t\t\t}\n\t\t\tif from[0] != \"und\" {\n\t\t\t\tlog.Fatalf(\"unexpected fully specified from tag: %s -> %s\", from, to)\n\t\t\t}\n\t\t}\n\t\tif len(from) == 1 || from[0] != \"und\" {\n\t\t\tid := 0\n\t\t\tif from[0] != \"und\" {\n\t\t\t\tid = b.lang.index(from[0])\n\t\t\t}\n\t\t\tlangToOther[id] = append(langToOther[id], fromTo{from, to})\n\t\t} else if len(from) == 2 && len(from[1]) == 4 {\n\t\t\tsid := b.script.index(from[1])\n\t\t\tlikelyScript[sid].lang = uint16(b.langIndex(to[0]))\n\t\t\tlikelyScript[sid].region = uint16(b.region.index(to[2]))\n\t\t} else {\n\t\t\tr := b.region.index(from[len(from)-1])\n\t\t\tif id, ok := b.groups[r]; ok {\n\t\t\t\tif from[0] != \"und\" {\n\t\t\t\t\tlog.Fatalf(\"region changed unexpectedly: %s -> %s\", from, to)\n\t\t\t\t}\n\t\t\t\tlikelyRegionGroup[id].lang = uint16(b.langIndex(to[0]))\n\t\t\t\tlikelyRegionGroup[id].script = uint8(b.script.index(to[1]))\n\t\t\t\tlikelyRegionGroup[id].region = uint16(b.region.index(to[2]))\n\t\t\t} else {\n\t\t\t\tregionToOther[r] = append(regionToOther[r], fromTo{from, to})\n\t\t\t}\n\t\t}\n\t}\n\tb.writeType(likelyLangRegion{})\n\tb.writeSlice(\"likelyScript\", likelyScript)\n\n\tfor id := range b.lang.s {\n\t\tlist := langToOther[id]\n\t\tif len(list) == 1 {\n\t\t\tlikelyLang[id].region = uint16(b.region.index(list[0].to[2]))\n\t\t\tlikelyLang[id].script = uint8(b.script.index(list[0].to[1]))\n\t\t} else if len(list) > 1 {\n\t\t\tlikelyLang[id].flags = isList\n\t\t\tlikelyLang[id].region = uint16(len(likelyLangList))\n\t\t\tlikelyLang[id].script = uint8(len(list))\n\t\t\tfor _, x := range list {\n\t\t\t\tflags := uint8(0)\n\t\t\t\tif len(x.from) > 1 {\n\t\t\t\t\tif x.from[1] == x.to[2] {\n\t\t\t\t\t\tflags = regionInFrom\n\t\t\t\t\t} else {\n\t\t\t\t\t\tflags = scriptInFrom\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tlikelyLangList = append(likelyLangList, likelyScriptRegion{\n\t\t\t\t\tregion: uint16(b.region.index(x.to[2])),\n\t\t\t\t\tscript: uint8(b.script.index(x.to[1])),\n\t\t\t\t\tflags:  flags,\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\t// TODO: merge suppressScript data with this table.\n\tb.writeType(likelyScriptRegion{})\n\tb.writeSlice(\"likelyLang\", likelyLang)\n\tb.writeSlice(\"likelyLangList\", likelyLangList)\n\n\tfor id := range b.region.s {\n\t\tlist := regionToOther[id]\n\t\tif len(list) == 1 {\n\t\t\tlikelyRegion[id].lang = uint16(b.langIndex(list[0].to[0]))\n\t\t\tlikelyRegion[id].script = uint8(b.script.index(list[0].to[1]))\n\t\t\tif len(list[0].from) > 2 {\n\t\t\t\tlikelyRegion[id].flags = scriptInFrom\n\t\t\t}\n\t\t} else if len(list) > 1 {\n\t\t\tlikelyRegion[id].flags = isList\n\t\t\tlikelyRegion[id].lang = uint16(len(likelyRegionList))\n\t\t\tlikelyRegion[id].script = uint8(len(list))\n\t\t\tfor i, x := range list {\n\t\t\t\tif len(x.from) == 2 && i != 0 || i > 0 && len(x.from) != 3 {\n\t\t\t\t\tlog.Fatalf(\"unspecified script must be first in list: %v at %d\", x.from, i)\n\t\t\t\t}\n\t\t\t\tx := likelyLangScript{\n\t\t\t\t\tlang:   uint16(b.langIndex(x.to[0])),\n\t\t\t\t\tscript: uint8(b.script.index(x.to[1])),\n\t\t\t\t}\n\t\t\t\tif len(list[0].from) > 2 {\n\t\t\t\t\tx.flags = scriptInFrom\n\t\t\t\t}\n\t\t\t\tlikelyRegionList = append(likelyRegionList, x)\n\t\t\t}\n\t\t}\n\t}\n\tb.writeType(likelyLangScript{})\n\tb.writeSlice(\"likelyRegion\", likelyRegion)\n\tb.writeSlice(\"likelyRegionList\", likelyRegionList)\n\n\tb.writeType(likelyTag{})\n\tb.writeSlice(\"likelyRegionGroup\", likelyRegionGroup)\n}\n\ntype mutualIntelligibility struct {\n\twant, have uint16\n\tdistance   uint8\n\toneway     bool\n}\n\ntype scriptIntelligibility struct {\n\twantLang, haveLang     uint16\n\twantScript, haveScript uint8\n\tdistance               uint8\n\t// Always oneway\n}\n\ntype regionIntelligibility struct {\n\tlang     uint16 // compact language id\n\tscript   uint8  // 0 means any\n\tgroup    uint8  // 0 means any; if bit 7 is set it means inverse\n\tdistance uint8\n\t// Always twoway.\n}\n\n// writeMatchData writes tables with languages and scripts for which there is\n// mutual intelligibility. The data is based on CLDR's languageMatching data.\n// Note that we use a different algorithm than the one defined by CLDR and that\n// we slightly modify the data. For example, we convert scores to confidence levels.\n// We also drop all region-related data as we use a different algorithm to\n// determine region equivalence.\nfunc (b *builder) writeMatchData() {\n\tlm := b.supp.LanguageMatching.LanguageMatches\n\tcldr.MakeSlice(&lm).SelectAnyOf(\"type\", \"written_new\")\n\n\tregionHierarchy := map[string][]string{}\n\tfor _, g := range b.supp.TerritoryContainment.Group {\n\t\tregions := strings.Split(g.Contains, \" \")\n\t\tregionHierarchy[g.Type] = append(regionHierarchy[g.Type], regions...)\n\t}\n\tregionToGroups := make([]uint8, len(b.region.s))\n\n\tidToIndex := map[string]uint8{}\n\tfor i, mv := range lm[0].MatchVariable {\n\t\tif i > 6 {\n\t\t\tlog.Fatalf(\"Too many groups: %d\", i)\n\t\t}\n\t\tidToIndex[mv.Id] = uint8(i + 1)\n\t\t// TODO: also handle '-'\n\t\tfor _, r := range strings.Split(mv.Value, \"+\") {\n\t\t\ttodo := []string{r}\n\t\t\tfor k := 0; k < len(todo); k++ {\n\t\t\t\tr := todo[k]\n\t\t\t\tregionToGroups[b.region.index(r)] |= 1 << uint8(i)\n\t\t\t\ttodo = append(todo, regionHierarchy[r]...)\n\t\t\t}\n\t\t}\n\t}\n\tb.writeSlice(\"regionToGroups\", regionToGroups)\n\n\t// maps language id to in- and out-of-group region.\n\tparadigmLocales := [][3]uint16{}\n\tlocales := strings.Split(lm[0].ParadigmLocales[0].Locales, \" \")\n\tfor i := 0; i < len(locales); i += 2 {\n\t\tx := [3]uint16{}\n\t\tfor j := 0; j < 2; j++ {\n\t\t\tpc := strings.SplitN(locales[i+j], \"-\", 2)\n\t\t\tx[0] = b.langIndex(pc[0])\n\t\t\tif len(pc) == 2 {\n\t\t\t\tx[1+j] = uint16(b.region.index(pc[1]))\n\t\t\t}\n\t\t}\n\t\tparadigmLocales = append(paradigmLocales, x)\n\t}\n\tb.writeSlice(\"paradigmLocales\", paradigmLocales)\n\n\tb.writeType(mutualIntelligibility{})\n\tb.writeType(scriptIntelligibility{})\n\tb.writeType(regionIntelligibility{})\n\n\tmatchLang := []mutualIntelligibility{}\n\tmatchScript := []scriptIntelligibility{}\n\tmatchRegion := []regionIntelligibility{}\n\t// Convert the languageMatch entries in lists keyed by desired language.\n\tfor _, m := range lm[0].LanguageMatch {\n\t\t// Different versions of CLDR use different separators.\n\t\tdesired := strings.Replace(m.Desired, \"-\", \"_\", -1)\n\t\tsupported := strings.Replace(m.Supported, \"-\", \"_\", -1)\n\t\td := strings.Split(desired, \"_\")\n\t\ts := strings.Split(supported, \"_\")\n\t\tif len(d) != len(s) {\n\t\t\tlog.Fatalf(\"not supported: desired=%q; supported=%q\", desired, supported)\n\t\t\tcontinue\n\t\t}\n\t\tdistance, _ := strconv.ParseInt(m.Distance, 10, 8)\n\t\tswitch len(d) {\n\t\tcase 2:\n\t\t\tif desired == supported && desired == \"*_*\" {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\t// language-script pair.\n\t\t\tmatchScript = append(matchScript, scriptIntelligibility{\n\t\t\t\twantLang:   uint16(b.langIndex(d[0])),\n\t\t\t\thaveLang:   uint16(b.langIndex(s[0])),\n\t\t\t\twantScript: uint8(b.script.index(d[1])),\n\t\t\t\thaveScript: uint8(b.script.index(s[1])),\n\t\t\t\tdistance:   uint8(distance),\n\t\t\t})\n\t\t\tif m.Oneway != \"true\" {\n\t\t\t\tmatchScript = append(matchScript, scriptIntelligibility{\n\t\t\t\t\twantLang:   uint16(b.langIndex(s[0])),\n\t\t\t\t\thaveLang:   uint16(b.langIndex(d[0])),\n\t\t\t\t\twantScript: uint8(b.script.index(s[1])),\n\t\t\t\t\thaveScript: uint8(b.script.index(d[1])),\n\t\t\t\t\tdistance:   uint8(distance),\n\t\t\t\t})\n\t\t\t}\n\t\tcase 1:\n\t\t\tif desired == supported && desired == \"*\" {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif distance == 1 {\n\t\t\t\t// nb == no is already handled by macro mapping. Check there\n\t\t\t\t// really is only this case.\n\t\t\t\tif d[0] != \"no\" || s[0] != \"nb\" {\n\t\t\t\t\tlog.Fatalf(\"unhandled equivalence %s == %s\", s[0], d[0])\n\t\t\t\t}\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\t// TODO: consider dropping oneway field and just doubling the entry.\n\t\t\tmatchLang = append(matchLang, mutualIntelligibility{\n\t\t\t\twant:     uint16(b.langIndex(d[0])),\n\t\t\t\thave:     uint16(b.langIndex(s[0])),\n\t\t\t\tdistance: uint8(distance),\n\t\t\t\toneway:   m.Oneway == \"true\",\n\t\t\t})\n\t\tcase 3:\n\t\t\tif desired == supported && desired == \"*_*_*\" {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif desired != supported {\n\t\t\t\t// This is now supported by CLDR, but only one case, which\n\t\t\t\t// should already be covered by paradigm locales. For instance,\n\t\t\t\t// test case \"und, en, en-GU, en-IN, en-GB ; en-ZA ; en-GB\" in\n\t\t\t\t// testdata/CLDRLocaleMatcherTest.txt tests this.\n\t\t\t\tif supported != \"en_*_GB\" {\n\t\t\t\t\tlog.Fatalf(\"not supported: desired=%q; supported=%q\", desired, supported)\n\t\t\t\t}\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tri := regionIntelligibility{\n\t\t\t\tlang:     b.langIndex(d[0]),\n\t\t\t\tdistance: uint8(distance),\n\t\t\t}\n\t\t\tif d[1] != \"*\" {\n\t\t\t\tri.script = uint8(b.script.index(d[1]))\n\t\t\t}\n\t\t\tswitch {\n\t\t\tcase d[2] == \"*\":\n\t\t\t\tri.group = 0x80 // not contained in anything\n\t\t\tcase strings.HasPrefix(d[2], \"$!\"):\n\t\t\t\tri.group = 0x80\n\t\t\t\td[2] = \"$\" + d[2][len(\"$!\"):]\n\t\t\t\tfallthrough\n\t\t\tcase strings.HasPrefix(d[2], \"$\"):\n\t\t\t\tri.group |= idToIndex[d[2]]\n\t\t\t}\n\t\t\tmatchRegion = append(matchRegion, ri)\n\t\tdefault:\n\t\t\tlog.Fatalf(\"not supported: desired=%q; supported=%q\", desired, supported)\n\t\t}\n\t}\n\tsort.SliceStable(matchLang, func(i, j int) bool {\n\t\treturn matchLang[i].distance < matchLang[j].distance\n\t})\n\tb.writeSlice(\"matchLang\", matchLang)\n\n\tsort.SliceStable(matchScript, func(i, j int) bool {\n\t\treturn matchScript[i].distance < matchScript[j].distance\n\t})\n\tb.writeSlice(\"matchScript\", matchScript)\n\n\tsort.SliceStable(matchRegion, func(i, j int) bool {\n\t\treturn matchRegion[i].distance < matchRegion[j].distance\n\t})\n\tb.writeSlice(\"matchRegion\", matchRegion)\n}\n\nfunc (b *builder) writeRegionInclusionData() {\n\tvar (\n\t\t// mm holds for each group the set of groups with a distance of 1.\n\t\tmm = make(map[int][]index)\n\n\t\t// containment holds for each group the transitive closure of\n\t\t// containment of other groups.\n\t\tcontainment = make(map[index][]index)\n\t)\n\tfor _, g := range b.supp.TerritoryContainment.Group {\n\t\t// Skip UN and EURO zone as they are flattening the containment\n\t\t// relationship.\n\t\tif g.Type == \"EZ\" || g.Type == \"UN\" {\n\t\t\tcontinue\n\t\t}\n\t\tgroup := b.region.index(g.Type)\n\t\tgroupIdx := b.groups[group]\n\t\tfor _, mem := range strings.Split(g.Contains, \" \") {\n\t\t\tr := b.region.index(mem)\n\t\t\tmm[r] = append(mm[r], groupIdx)\n\t\t\tif g, ok := b.groups[r]; ok {\n\t\t\t\tmm[group] = append(mm[group], g)\n\t\t\t\tcontainment[groupIdx] = append(containment[groupIdx], g)\n\t\t\t}\n\t\t}\n\t}\n\n\tregionContainment := make([]uint64, len(b.groups))\n\tfor _, g := range b.groups {\n\t\tl := containment[g]\n\n\t\t// Compute the transitive closure of containment.\n\t\tfor i := 0; i < len(l); i++ {\n\t\t\tl = append(l, containment[l[i]]...)\n\t\t}\n\n\t\t// Compute the bitmask.\n\t\tregionContainment[g] = 1 << g\n\t\tfor _, v := range l {\n\t\t\tregionContainment[g] |= 1 << v\n\t\t}\n\t}\n\tb.writeSlice(\"regionContainment\", regionContainment)\n\n\tregionInclusion := make([]uint8, len(b.region.s))\n\tbvs := make(map[uint64]index)\n\t// Make the first bitvector positions correspond with the groups.\n\tfor r, i := range b.groups {\n\t\tbv := uint64(1 << i)\n\t\tfor _, g := range mm[r] {\n\t\t\tbv |= 1 << g\n\t\t}\n\t\tbvs[bv] = i\n\t\tregionInclusion[r] = uint8(bvs[bv])\n\t}\n\tfor r := 1; r < len(b.region.s); r++ {\n\t\tif _, ok := b.groups[r]; !ok {\n\t\t\tbv := uint64(0)\n\t\t\tfor _, g := range mm[r] {\n\t\t\t\tbv |= 1 << g\n\t\t\t}\n\t\t\tif bv == 0 {\n\t\t\t\t// Pick the world for unspecified regions.\n\t\t\t\tbv = 1 << b.groups[b.region.index(\"001\")]\n\t\t\t}\n\t\t\tif _, ok := bvs[bv]; !ok {\n\t\t\t\tbvs[bv] = index(len(bvs))\n\t\t\t}\n\t\t\tregionInclusion[r] = uint8(bvs[bv])\n\t\t}\n\t}\n\tb.writeSlice(\"regionInclusion\", regionInclusion)\n\tregionInclusionBits := make([]uint64, len(bvs))\n\tfor k, v := range bvs {\n\t\tregionInclusionBits[v] = uint64(k)\n\t}\n\t// Add bit vectors for increasingly large distances until a fixed point is reached.\n\tregionInclusionNext := []uint8{}\n\tfor i := 0; i < len(regionInclusionBits); i++ {\n\t\tbits := regionInclusionBits[i]\n\t\tnext := bits\n\t\tfor i := uint(0); i < uint(len(b.groups)); i++ {\n\t\t\tif bits&(1<<i) != 0 {\n\t\t\t\tnext |= regionInclusionBits[i]\n\t\t\t}\n\t\t}\n\t\tif _, ok := bvs[next]; !ok {\n\t\t\tbvs[next] = index(len(bvs))\n\t\t\tregionInclusionBits = append(regionInclusionBits, next)\n\t\t}\n\t\tregionInclusionNext = append(regionInclusionNext, uint8(bvs[next]))\n\t}\n\tb.writeSlice(\"regionInclusionBits\", regionInclusionBits)\n\tb.writeSlice(\"regionInclusionNext\", regionInclusionNext)\n}\n\ntype parentRel struct {\n\tlang       uint16\n\tscript     uint8\n\tmaxScript  uint8\n\ttoRegion   uint16\n\tfromRegion []uint16\n}\n\nfunc (b *builder) writeParents() {\n\tb.writeType(parentRel{})\n\n\tparents := []parentRel{}\n\n\t// Construct parent overrides.\n\tn := 0\n\tfor _, p := range b.data.Supplemental().ParentLocales.ParentLocale {\n\t\t// Skipping non-standard scripts to root is implemented using addTags.\n\t\tif p.Parent == \"root\" {\n\t\t\tcontinue\n\t\t}\n\n\t\tsub := strings.Split(p.Parent, \"_\")\n\t\tparent := parentRel{lang: b.langIndex(sub[0])}\n\t\tif len(sub) == 2 {\n\t\t\t// TODO: check that all undefined scripts are indeed Latn in these\n\t\t\t// cases.\n\t\t\tparent.maxScript = uint8(b.script.index(\"Latn\"))\n\t\t\tparent.toRegion = uint16(b.region.index(sub[1]))\n\t\t} else {\n\t\t\tparent.script = uint8(b.script.index(sub[1]))\n\t\t\tparent.maxScript = parent.script\n\t\t\tparent.toRegion = uint16(b.region.index(sub[2]))\n\t\t}\n\t\tfor _, c := range strings.Split(p.Locales, \" \") {\n\t\t\tregion := b.region.index(c[strings.LastIndex(c, \"_\")+1:])\n\t\t\tparent.fromRegion = append(parent.fromRegion, uint16(region))\n\t\t}\n\t\tparents = append(parents, parent)\n\t\tn += len(parent.fromRegion)\n\t}\n\tb.writeSliceAddSize(\"parents\", n*2, parents)\n}\n\nfunc main() {\n\tgen.Init()\n\n\tgen.Repackage(\"gen_common.go\", \"common.go\", \"language\")\n\n\tw := gen.NewCodeWriter()\n\tdefer w.WriteGoFile(\"tables.go\", \"language\")\n\n\tfmt.Fprintln(w, `import \"golang.org/x/text/internal/tag\"`)\n\n\tb := newBuilder(w)\n\tgen.WriteCLDRVersion(w)\n\n\tb.parseIndices()\n\tb.writeType(fromTo{})\n\tb.writeLanguage()\n\tb.writeScript()\n\tb.writeRegion()\n\tb.writeVariant()\n\t// TODO: b.writeLocale()\n\tb.computeRegionGroups()\n\tb.writeLikelyData()\n\tb.writeMatchData()\n\tb.writeRegionInclusionData()\n\tb.writeParents()\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/language/gen_common.go",
    "content": "// Copyright 2014 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\npackage main\n\n// This file contains code common to the maketables.go and the package code.\n\n// langAliasType is the type of an alias in langAliasMap.\ntype langAliasType int8\n\nconst (\n\tlangDeprecated langAliasType = iota\n\tlangMacro\n\tlangLegacy\n\n\tlangAliasTypeUnknown langAliasType = -1\n)\n"
  },
  {
    "path": "vendor/golang.org/x/text/language/gen_index.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\npackage main\n\n// This file generates derivative tables based on the language package itself.\n\nimport (\n\t\"bytes\"\n\t\"flag\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"reflect\"\n\t\"sort\"\n\t\"strings\"\n\n\t\"golang.org/x/text/internal/gen\"\n\t\"golang.org/x/text/language\"\n\t\"golang.org/x/text/unicode/cldr\"\n)\n\nvar (\n\ttest = flag.Bool(\"test\", false,\n\t\t\"test existing tables; can be used to compare web data with package data.\")\n\n\tdraft = flag.String(\"draft\",\n\t\t\"contributed\",\n\t\t`Minimal draft requirements (approved, contributed, provisional, unconfirmed).`)\n)\n\nfunc main() {\n\tgen.Init()\n\n\t// Read the CLDR zip file.\n\tr := gen.OpenCLDRCoreZip()\n\tdefer r.Close()\n\n\td := &cldr.Decoder{}\n\tdata, err := d.DecodeZip(r)\n\tif err != nil {\n\t\tlog.Fatalf(\"DecodeZip: %v\", err)\n\t}\n\n\tw := gen.NewCodeWriter()\n\tdefer func() {\n\t\tbuf := &bytes.Buffer{}\n\n\t\tif _, err = w.WriteGo(buf, \"language\", \"\"); err != nil {\n\t\t\tlog.Fatalf(\"Error formatting file index.go: %v\", err)\n\t\t}\n\n\t\t// Since we're generating a table for our own package we need to rewrite\n\t\t// doing the equivalent of go fmt -r 'language.b -> b'. Using\n\t\t// bytes.Replace will do.\n\t\tout := bytes.Replace(buf.Bytes(), []byte(\"language.\"), nil, -1)\n\t\tif err := ioutil.WriteFile(\"index.go\", out, 0600); err != nil {\n\t\t\tlog.Fatalf(\"Could not create file index.go: %v\", err)\n\t\t}\n\t}()\n\n\tm := map[language.Tag]bool{}\n\tfor _, lang := range data.Locales() {\n\t\t// We include all locales unconditionally to be consistent with en_US.\n\t\t// We want en_US, even though it has no data associated with it.\n\n\t\t// TODO: put any of the languages for which no data exists at the end\n\t\t// of the index. This allows all components based on ICU to use that\n\t\t// as the cutoff point.\n\t\t// if x := data.RawLDML(lang); false ||\n\t\t// \tx.LocaleDisplayNames != nil ||\n\t\t// \tx.Characters != nil ||\n\t\t// \tx.Delimiters != nil ||\n\t\t// \tx.Measurement != nil ||\n\t\t// \tx.Dates != nil ||\n\t\t// \tx.Numbers != nil ||\n\t\t// \tx.Units != nil ||\n\t\t// \tx.ListPatterns != nil ||\n\t\t// \tx.Collations != nil ||\n\t\t// \tx.Segmentations != nil ||\n\t\t// \tx.Rbnf != nil ||\n\t\t// \tx.Annotations != nil ||\n\t\t// \tx.Metadata != nil {\n\n\t\t// TODO: support POSIX natively, albeit non-standard.\n\t\ttag := language.Make(strings.Replace(lang, \"_POSIX\", \"-u-va-posix\", 1))\n\t\tm[tag] = true\n\t\t// }\n\t}\n\t// Include locales for plural rules, which uses a different structure.\n\tfor _, plurals := range data.Supplemental().Plurals {\n\t\tfor _, rules := range plurals.PluralRules {\n\t\t\tfor _, lang := range strings.Split(rules.Locales, \" \") {\n\t\t\t\tm[language.Make(lang)] = true\n\t\t\t}\n\t\t}\n\t}\n\n\tvar core, special []language.Tag\n\n\tfor t := range m {\n\t\tif x := t.Extensions(); len(x) != 0 && fmt.Sprint(x) != \"[u-va-posix]\" {\n\t\t\tlog.Fatalf(\"Unexpected extension %v in %v\", x, t)\n\t\t}\n\t\tif len(t.Variants()) == 0 && len(t.Extensions()) == 0 {\n\t\t\tcore = append(core, t)\n\t\t} else {\n\t\t\tspecial = append(special, t)\n\t\t}\n\t}\n\n\tw.WriteComment(`\n\tNumCompactTags is the number of common tags. The maximum tag is\n\tNumCompactTags-1.`)\n\tw.WriteConst(\"NumCompactTags\", len(core)+len(special))\n\n\tsort.Sort(byAlpha(special))\n\tw.WriteVar(\"specialTags\", special)\n\n\t// TODO: order by frequency?\n\tsort.Sort(byAlpha(core))\n\n\t// Size computations are just an estimate.\n\tw.Size += int(reflect.TypeOf(map[uint32]uint16{}).Size())\n\tw.Size += len(core) * 6 // size of uint32 and uint16\n\n\tfmt.Fprintln(w)\n\tfmt.Fprintln(w, \"var coreTags = map[uint32]uint16{\")\n\tfmt.Fprintln(w, \"0x0: 0, // und\")\n\ti := len(special) + 1 // Und and special tags already written.\n\tfor _, t := range core {\n\t\tif t == language.Und {\n\t\t\tcontinue\n\t\t}\n\t\tfmt.Fprint(w.Hash, t, i)\n\t\tb, s, r := t.Raw()\n\t\tfmt.Fprintf(w, \"0x%s%s%s: %d, // %s\\n\",\n\t\t\tgetIndex(b, 3), // 3 is enough as it is guaranteed to be a compact number\n\t\t\tgetIndex(s, 2),\n\t\t\tgetIndex(r, 3),\n\t\t\ti, t)\n\t\ti++\n\t}\n\tfmt.Fprintln(w, \"}\")\n}\n\n// getIndex prints the subtag type and extracts its index of size nibble.\n// If the index is less than n nibbles, the result is prefixed with 0s.\nfunc getIndex(x interface{}, n int) string {\n\ts := fmt.Sprintf(\"%#v\", x) // s is of form Type{typeID: 0x00}\n\ts = s[strings.Index(s, \"0x\")+2 : len(s)-1]\n\treturn strings.Repeat(\"0\", n-len(s)) + s\n}\n\ntype byAlpha []language.Tag\n\nfunc (a byAlpha) Len() int           { return len(a) }\nfunc (a byAlpha) Swap(i, j int)      { a[i], a[j] = a[j], a[i] }\nfunc (a byAlpha) Less(i, j int) bool { return a[i].String() < a[j].String() }\n"
  },
  {
    "path": "vendor/golang.org/x/text/language/go1_1.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !go1.2\n\npackage language\n\nimport \"sort\"\n\nfunc sortStable(s sort.Interface) {\n\tss := stableSort{\n\t\ts:   s,\n\t\tpos: make([]int, s.Len()),\n\t}\n\tfor i := range ss.pos {\n\t\tss.pos[i] = i\n\t}\n\tsort.Sort(&ss)\n}\n\ntype stableSort struct {\n\ts   sort.Interface\n\tpos []int\n}\n\nfunc (s *stableSort) Len() int {\n\treturn len(s.pos)\n}\n\nfunc (s *stableSort) Less(i, j int) bool {\n\treturn s.s.Less(i, j) || !s.s.Less(j, i) && s.pos[i] < s.pos[j]\n}\n\nfunc (s *stableSort) Swap(i, j int) {\n\ts.s.Swap(i, j)\n\ts.pos[i], s.pos[j] = s.pos[j], s.pos[i]\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/language/go1_2.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build go1.2\n\npackage language\n\nimport \"sort\"\n\nvar sortStable = sort.Stable\n"
  },
  {
    "path": "vendor/golang.org/x/text/language/index.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\npackage language\n\n// NumCompactTags is the number of common tags. The maximum tag is\n// NumCompactTags-1.\nconst NumCompactTags = 768\n\nvar specialTags = []Tag{ // 2 elements\n\t0: {lang: 0xd7, region: 0x6e, script: 0x0, pVariant: 0x5, pExt: 0xe, str: \"ca-ES-valencia\"},\n\t1: {lang: 0x139, region: 0x135, script: 0x0, pVariant: 0x5, pExt: 0x5, str: \"en-US-u-va-posix\"},\n} // Size: 72 bytes\n\nvar coreTags = map[uint32]uint16{\n\t0x0:        0,   // und\n\t0x01600000: 3,   // af\n\t0x016000d2: 4,   // af-NA\n\t0x01600161: 5,   // af-ZA\n\t0x01c00000: 6,   // agq\n\t0x01c00052: 7,   // agq-CM\n\t0x02100000: 8,   // ak\n\t0x02100080: 9,   // ak-GH\n\t0x02700000: 10,  // am\n\t0x0270006f: 11,  // am-ET\n\t0x03a00000: 12,  // ar\n\t0x03a00001: 13,  // ar-001\n\t0x03a00023: 14,  // ar-AE\n\t0x03a00039: 15,  // ar-BH\n\t0x03a00062: 16,  // ar-DJ\n\t0x03a00067: 17,  // ar-DZ\n\t0x03a0006b: 18,  // ar-EG\n\t0x03a0006c: 19,  // ar-EH\n\t0x03a0006d: 20,  // ar-ER\n\t0x03a00097: 21,  // ar-IL\n\t0x03a0009b: 22,  // ar-IQ\n\t0x03a000a1: 23,  // ar-JO\n\t0x03a000a8: 24,  // ar-KM\n\t0x03a000ac: 25,  // ar-KW\n\t0x03a000b0: 26,  // ar-LB\n\t0x03a000b9: 27,  // ar-LY\n\t0x03a000ba: 28,  // ar-MA\n\t0x03a000c9: 29,  // ar-MR\n\t0x03a000e1: 30,  // ar-OM\n\t0x03a000ed: 31,  // ar-PS\n\t0x03a000f3: 32,  // ar-QA\n\t0x03a00108: 33,  // ar-SA\n\t0x03a0010b: 34,  // ar-SD\n\t0x03a00115: 35,  // ar-SO\n\t0x03a00117: 36,  // ar-SS\n\t0x03a0011c: 37,  // ar-SY\n\t0x03a00120: 38,  // ar-TD\n\t0x03a00128: 39,  // ar-TN\n\t0x03a0015e: 40,  // ar-YE\n\t0x04000000: 41,  // ars\n\t0x04300000: 42,  // as\n\t0x04300099: 43,  // as-IN\n\t0x04400000: 44,  // asa\n\t0x0440012f: 45,  // asa-TZ\n\t0x04800000: 46,  // ast\n\t0x0480006e: 47,  // ast-ES\n\t0x05800000: 48,  // az\n\t0x0581f000: 49,  // az-Cyrl\n\t0x0581f032: 50,  // az-Cyrl-AZ\n\t0x05857000: 51,  // az-Latn\n\t0x05857032: 52,  // az-Latn-AZ\n\t0x05e00000: 53,  // bas\n\t0x05e00052: 54,  // bas-CM\n\t0x07100000: 55,  // be\n\t0x07100047: 56,  // be-BY\n\t0x07500000: 57,  // bem\n\t0x07500162: 58,  // bem-ZM\n\t0x07900000: 59,  // bez\n\t0x0790012f: 60,  // bez-TZ\n\t0x07e00000: 61,  // bg\n\t0x07e00038: 62,  // bg-BG\n\t0x08200000: 63,  // bh\n\t0x0a000000: 64,  // bm\n\t0x0a0000c3: 65,  // bm-ML\n\t0x0a500000: 66,  // bn\n\t0x0a500035: 67,  // bn-BD\n\t0x0a500099: 68,  // bn-IN\n\t0x0a900000: 69,  // bo\n\t0x0a900053: 70,  // bo-CN\n\t0x0a900099: 71,  // bo-IN\n\t0x0b200000: 72,  // br\n\t0x0b200078: 73,  // br-FR\n\t0x0b500000: 74,  // brx\n\t0x0b500099: 75,  // brx-IN\n\t0x0b700000: 76,  // bs\n\t0x0b71f000: 77,  // bs-Cyrl\n\t0x0b71f033: 78,  // bs-Cyrl-BA\n\t0x0b757000: 79,  // bs-Latn\n\t0x0b757033: 80,  // bs-Latn-BA\n\t0x0d700000: 81,  // ca\n\t0x0d700022: 82,  // ca-AD\n\t0x0d70006e: 83,  // ca-ES\n\t0x0d700078: 84,  // ca-FR\n\t0x0d70009e: 85,  // ca-IT\n\t0x0db00000: 86,  // ccp\n\t0x0db00035: 87,  // ccp-BD\n\t0x0db00099: 88,  // ccp-IN\n\t0x0dc00000: 89,  // ce\n\t0x0dc00106: 90,  // ce-RU\n\t0x0df00000: 91,  // cgg\n\t0x0df00131: 92,  // cgg-UG\n\t0x0e500000: 93,  // chr\n\t0x0e500135: 94,  // chr-US\n\t0x0e900000: 95,  // ckb\n\t0x0e90009b: 96,  // ckb-IQ\n\t0x0e90009c: 97,  // ckb-IR\n\t0x0fa00000: 98,  // cs\n\t0x0fa0005e: 99,  // cs-CZ\n\t0x0fe00000: 100, // cu\n\t0x0fe00106: 101, // cu-RU\n\t0x10000000: 102, // cy\n\t0x1000007b: 103, // cy-GB\n\t0x10100000: 104, // da\n\t0x10100063: 105, // da-DK\n\t0x10100082: 106, // da-GL\n\t0x10800000: 107, // dav\n\t0x108000a4: 108, // dav-KE\n\t0x10d00000: 109, // de\n\t0x10d0002e: 110, // de-AT\n\t0x10d00036: 111, // de-BE\n\t0x10d0004e: 112, // de-CH\n\t0x10d00060: 113, // de-DE\n\t0x10d0009e: 114, // de-IT\n\t0x10d000b2: 115, // de-LI\n\t0x10d000b7: 116, // de-LU\n\t0x11700000: 117, // dje\n\t0x117000d4: 118, // dje-NE\n\t0x11f00000: 119, // dsb\n\t0x11f00060: 120, // dsb-DE\n\t0x12400000: 121, // dua\n\t0x12400052: 122, // dua-CM\n\t0x12800000: 123, // dv\n\t0x12b00000: 124, // dyo\n\t0x12b00114: 125, // dyo-SN\n\t0x12d00000: 126, // dz\n\t0x12d00043: 127, // dz-BT\n\t0x12f00000: 128, // ebu\n\t0x12f000a4: 129, // ebu-KE\n\t0x13000000: 130, // ee\n\t0x13000080: 131, // ee-GH\n\t0x13000122: 132, // ee-TG\n\t0x13600000: 133, // el\n\t0x1360005d: 134, // el-CY\n\t0x13600087: 135, // el-GR\n\t0x13900000: 136, // en\n\t0x13900001: 137, // en-001\n\t0x1390001a: 138, // en-150\n\t0x13900025: 139, // en-AG\n\t0x13900026: 140, // en-AI\n\t0x1390002d: 141, // en-AS\n\t0x1390002e: 142, // en-AT\n\t0x1390002f: 143, // en-AU\n\t0x13900034: 144, // en-BB\n\t0x13900036: 145, // en-BE\n\t0x1390003a: 146, // en-BI\n\t0x1390003d: 147, // en-BM\n\t0x13900042: 148, // en-BS\n\t0x13900046: 149, // en-BW\n\t0x13900048: 150, // en-BZ\n\t0x13900049: 151, // en-CA\n\t0x1390004a: 152, // en-CC\n\t0x1390004e: 153, // en-CH\n\t0x13900050: 154, // en-CK\n\t0x13900052: 155, // en-CM\n\t0x1390005c: 156, // en-CX\n\t0x1390005d: 157, // en-CY\n\t0x13900060: 158, // en-DE\n\t0x13900061: 159, // en-DG\n\t0x13900063: 160, // en-DK\n\t0x13900064: 161, // en-DM\n\t0x1390006d: 162, // en-ER\n\t0x13900072: 163, // en-FI\n\t0x13900073: 164, // en-FJ\n\t0x13900074: 165, // en-FK\n\t0x13900075: 166, // en-FM\n\t0x1390007b: 167, // en-GB\n\t0x1390007c: 168, // en-GD\n\t0x1390007f: 169, // en-GG\n\t0x13900080: 170, // en-GH\n\t0x13900081: 171, // en-GI\n\t0x13900083: 172, // en-GM\n\t0x1390008a: 173, // en-GU\n\t0x1390008c: 174, // en-GY\n\t0x1390008d: 175, // en-HK\n\t0x13900096: 176, // en-IE\n\t0x13900097: 177, // en-IL\n\t0x13900098: 178, // en-IM\n\t0x13900099: 179, // en-IN\n\t0x1390009a: 180, // en-IO\n\t0x1390009f: 181, // en-JE\n\t0x139000a0: 182, // en-JM\n\t0x139000a4: 183, // en-KE\n\t0x139000a7: 184, // en-KI\n\t0x139000a9: 185, // en-KN\n\t0x139000ad: 186, // en-KY\n\t0x139000b1: 187, // en-LC\n\t0x139000b4: 188, // en-LR\n\t0x139000b5: 189, // en-LS\n\t0x139000bf: 190, // en-MG\n\t0x139000c0: 191, // en-MH\n\t0x139000c6: 192, // en-MO\n\t0x139000c7: 193, // en-MP\n\t0x139000ca: 194, // en-MS\n\t0x139000cb: 195, // en-MT\n\t0x139000cc: 196, // en-MU\n\t0x139000ce: 197, // en-MW\n\t0x139000d0: 198, // en-MY\n\t0x139000d2: 199, // en-NA\n\t0x139000d5: 200, // en-NF\n\t0x139000d6: 201, // en-NG\n\t0x139000d9: 202, // en-NL\n\t0x139000dd: 203, // en-NR\n\t0x139000df: 204, // en-NU\n\t0x139000e0: 205, // en-NZ\n\t0x139000e6: 206, // en-PG\n\t0x139000e7: 207, // en-PH\n\t0x139000e8: 208, // en-PK\n\t0x139000eb: 209, // en-PN\n\t0x139000ec: 210, // en-PR\n\t0x139000f0: 211, // en-PW\n\t0x13900107: 212, // en-RW\n\t0x13900109: 213, // en-SB\n\t0x1390010a: 214, // en-SC\n\t0x1390010b: 215, // en-SD\n\t0x1390010c: 216, // en-SE\n\t0x1390010d: 217, // en-SG\n\t0x1390010e: 218, // en-SH\n\t0x1390010f: 219, // en-SI\n\t0x13900112: 220, // en-SL\n\t0x13900117: 221, // en-SS\n\t0x1390011b: 222, // en-SX\n\t0x1390011d: 223, // en-SZ\n\t0x1390011f: 224, // en-TC\n\t0x13900125: 225, // en-TK\n\t0x13900129: 226, // en-TO\n\t0x1390012c: 227, // en-TT\n\t0x1390012d: 228, // en-TV\n\t0x1390012f: 229, // en-TZ\n\t0x13900131: 230, // en-UG\n\t0x13900133: 231, // en-UM\n\t0x13900135: 232, // en-US\n\t0x13900139: 233, // en-VC\n\t0x1390013c: 234, // en-VG\n\t0x1390013d: 235, // en-VI\n\t0x1390013f: 236, // en-VU\n\t0x13900142: 237, // en-WS\n\t0x13900161: 238, // en-ZA\n\t0x13900162: 239, // en-ZM\n\t0x13900164: 240, // en-ZW\n\t0x13c00000: 241, // eo\n\t0x13c00001: 242, // eo-001\n\t0x13e00000: 243, // es\n\t0x13e0001f: 244, // es-419\n\t0x13e0002c: 245, // es-AR\n\t0x13e0003f: 246, // es-BO\n\t0x13e00041: 247, // es-BR\n\t0x13e00048: 248, // es-BZ\n\t0x13e00051: 249, // es-CL\n\t0x13e00054: 250, // es-CO\n\t0x13e00056: 251, // es-CR\n\t0x13e00059: 252, // es-CU\n\t0x13e00065: 253, // es-DO\n\t0x13e00068: 254, // es-EA\n\t0x13e00069: 255, // es-EC\n\t0x13e0006e: 256, // es-ES\n\t0x13e00086: 257, // es-GQ\n\t0x13e00089: 258, // es-GT\n\t0x13e0008f: 259, // es-HN\n\t0x13e00094: 260, // es-IC\n\t0x13e000cf: 261, // es-MX\n\t0x13e000d8: 262, // es-NI\n\t0x13e000e2: 263, // es-PA\n\t0x13e000e4: 264, // es-PE\n\t0x13e000e7: 265, // es-PH\n\t0x13e000ec: 266, // es-PR\n\t0x13e000f1: 267, // es-PY\n\t0x13e0011a: 268, // es-SV\n\t0x13e00135: 269, // es-US\n\t0x13e00136: 270, // es-UY\n\t0x13e0013b: 271, // es-VE\n\t0x14000000: 272, // et\n\t0x1400006a: 273, // et-EE\n\t0x14500000: 274, // eu\n\t0x1450006e: 275, // eu-ES\n\t0x14600000: 276, // ewo\n\t0x14600052: 277, // ewo-CM\n\t0x14800000: 278, // fa\n\t0x14800024: 279, // fa-AF\n\t0x1480009c: 280, // fa-IR\n\t0x14e00000: 281, // ff\n\t0x14e00052: 282, // ff-CM\n\t0x14e00084: 283, // ff-GN\n\t0x14e000c9: 284, // ff-MR\n\t0x14e00114: 285, // ff-SN\n\t0x15100000: 286, // fi\n\t0x15100072: 287, // fi-FI\n\t0x15300000: 288, // fil\n\t0x153000e7: 289, // fil-PH\n\t0x15800000: 290, // fo\n\t0x15800063: 291, // fo-DK\n\t0x15800076: 292, // fo-FO\n\t0x15e00000: 293, // fr\n\t0x15e00036: 294, // fr-BE\n\t0x15e00037: 295, // fr-BF\n\t0x15e0003a: 296, // fr-BI\n\t0x15e0003b: 297, // fr-BJ\n\t0x15e0003c: 298, // fr-BL\n\t0x15e00049: 299, // fr-CA\n\t0x15e0004b: 300, // fr-CD\n\t0x15e0004c: 301, // fr-CF\n\t0x15e0004d: 302, // fr-CG\n\t0x15e0004e: 303, // fr-CH\n\t0x15e0004f: 304, // fr-CI\n\t0x15e00052: 305, // fr-CM\n\t0x15e00062: 306, // fr-DJ\n\t0x15e00067: 307, // fr-DZ\n\t0x15e00078: 308, // fr-FR\n\t0x15e0007a: 309, // fr-GA\n\t0x15e0007e: 310, // fr-GF\n\t0x15e00084: 311, // fr-GN\n\t0x15e00085: 312, // fr-GP\n\t0x15e00086: 313, // fr-GQ\n\t0x15e00091: 314, // fr-HT\n\t0x15e000a8: 315, // fr-KM\n\t0x15e000b7: 316, // fr-LU\n\t0x15e000ba: 317, // fr-MA\n\t0x15e000bb: 318, // fr-MC\n\t0x15e000be: 319, // fr-MF\n\t0x15e000bf: 320, // fr-MG\n\t0x15e000c3: 321, // fr-ML\n\t0x15e000c8: 322, // fr-MQ\n\t0x15e000c9: 323, // fr-MR\n\t0x15e000cc: 324, // fr-MU\n\t0x15e000d3: 325, // fr-NC\n\t0x15e000d4: 326, // fr-NE\n\t0x15e000e5: 327, // fr-PF\n\t0x15e000ea: 328, // fr-PM\n\t0x15e00102: 329, // fr-RE\n\t0x15e00107: 330, // fr-RW\n\t0x15e0010a: 331, // fr-SC\n\t0x15e00114: 332, // fr-SN\n\t0x15e0011c: 333, // fr-SY\n\t0x15e00120: 334, // fr-TD\n\t0x15e00122: 335, // fr-TG\n\t0x15e00128: 336, // fr-TN\n\t0x15e0013f: 337, // fr-VU\n\t0x15e00140: 338, // fr-WF\n\t0x15e0015f: 339, // fr-YT\n\t0x16900000: 340, // fur\n\t0x1690009e: 341, // fur-IT\n\t0x16d00000: 342, // fy\n\t0x16d000d9: 343, // fy-NL\n\t0x16e00000: 344, // ga\n\t0x16e00096: 345, // ga-IE\n\t0x17e00000: 346, // gd\n\t0x17e0007b: 347, // gd-GB\n\t0x19000000: 348, // gl\n\t0x1900006e: 349, // gl-ES\n\t0x1a300000: 350, // gsw\n\t0x1a30004e: 351, // gsw-CH\n\t0x1a300078: 352, // gsw-FR\n\t0x1a3000b2: 353, // gsw-LI\n\t0x1a400000: 354, // gu\n\t0x1a400099: 355, // gu-IN\n\t0x1a900000: 356, // guw\n\t0x1ab00000: 357, // guz\n\t0x1ab000a4: 358, // guz-KE\n\t0x1ac00000: 359, // gv\n\t0x1ac00098: 360, // gv-IM\n\t0x1b400000: 361, // ha\n\t0x1b400080: 362, // ha-GH\n\t0x1b4000d4: 363, // ha-NE\n\t0x1b4000d6: 364, // ha-NG\n\t0x1b800000: 365, // haw\n\t0x1b800135: 366, // haw-US\n\t0x1bc00000: 367, // he\n\t0x1bc00097: 368, // he-IL\n\t0x1be00000: 369, // hi\n\t0x1be00099: 370, // hi-IN\n\t0x1d100000: 371, // hr\n\t0x1d100033: 372, // hr-BA\n\t0x1d100090: 373, // hr-HR\n\t0x1d200000: 374, // hsb\n\t0x1d200060: 375, // hsb-DE\n\t0x1d500000: 376, // hu\n\t0x1d500092: 377, // hu-HU\n\t0x1d700000: 378, // hy\n\t0x1d700028: 379, // hy-AM\n\t0x1e100000: 380, // id\n\t0x1e100095: 381, // id-ID\n\t0x1e700000: 382, // ig\n\t0x1e7000d6: 383, // ig-NG\n\t0x1ea00000: 384, // ii\n\t0x1ea00053: 385, // ii-CN\n\t0x1f500000: 386, // io\n\t0x1f800000: 387, // is\n\t0x1f80009d: 388, // is-IS\n\t0x1f900000: 389, // it\n\t0x1f90004e: 390, // it-CH\n\t0x1f90009e: 391, // it-IT\n\t0x1f900113: 392, // it-SM\n\t0x1f900138: 393, // it-VA\n\t0x1fa00000: 394, // iu\n\t0x20000000: 395, // ja\n\t0x200000a2: 396, // ja-JP\n\t0x20300000: 397, // jbo\n\t0x20700000: 398, // jgo\n\t0x20700052: 399, // jgo-CM\n\t0x20a00000: 400, // jmc\n\t0x20a0012f: 401, // jmc-TZ\n\t0x20e00000: 402, // jv\n\t0x21000000: 403, // ka\n\t0x2100007d: 404, // ka-GE\n\t0x21200000: 405, // kab\n\t0x21200067: 406, // kab-DZ\n\t0x21600000: 407, // kaj\n\t0x21700000: 408, // kam\n\t0x217000a4: 409, // kam-KE\n\t0x21f00000: 410, // kcg\n\t0x22300000: 411, // kde\n\t0x2230012f: 412, // kde-TZ\n\t0x22700000: 413, // kea\n\t0x2270005a: 414, // kea-CV\n\t0x23400000: 415, // khq\n\t0x234000c3: 416, // khq-ML\n\t0x23900000: 417, // ki\n\t0x239000a4: 418, // ki-KE\n\t0x24200000: 419, // kk\n\t0x242000ae: 420, // kk-KZ\n\t0x24400000: 421, // kkj\n\t0x24400052: 422, // kkj-CM\n\t0x24500000: 423, // kl\n\t0x24500082: 424, // kl-GL\n\t0x24600000: 425, // kln\n\t0x246000a4: 426, // kln-KE\n\t0x24a00000: 427, // km\n\t0x24a000a6: 428, // km-KH\n\t0x25100000: 429, // kn\n\t0x25100099: 430, // kn-IN\n\t0x25400000: 431, // ko\n\t0x254000aa: 432, // ko-KP\n\t0x254000ab: 433, // ko-KR\n\t0x25600000: 434, // kok\n\t0x25600099: 435, // kok-IN\n\t0x26a00000: 436, // ks\n\t0x26a00099: 437, // ks-IN\n\t0x26b00000: 438, // ksb\n\t0x26b0012f: 439, // ksb-TZ\n\t0x26d00000: 440, // ksf\n\t0x26d00052: 441, // ksf-CM\n\t0x26e00000: 442, // ksh\n\t0x26e00060: 443, // ksh-DE\n\t0x27400000: 444, // ku\n\t0x28100000: 445, // kw\n\t0x2810007b: 446, // kw-GB\n\t0x28a00000: 447, // ky\n\t0x28a000a5: 448, // ky-KG\n\t0x29100000: 449, // lag\n\t0x2910012f: 450, // lag-TZ\n\t0x29500000: 451, // lb\n\t0x295000b7: 452, // lb-LU\n\t0x2a300000: 453, // lg\n\t0x2a300131: 454, // lg-UG\n\t0x2af00000: 455, // lkt\n\t0x2af00135: 456, // lkt-US\n\t0x2b500000: 457, // ln\n\t0x2b50002a: 458, // ln-AO\n\t0x2b50004b: 459, // ln-CD\n\t0x2b50004c: 460, // ln-CF\n\t0x2b50004d: 461, // ln-CG\n\t0x2b800000: 462, // lo\n\t0x2b8000af: 463, // lo-LA\n\t0x2bf00000: 464, // lrc\n\t0x2bf0009b: 465, // lrc-IQ\n\t0x2bf0009c: 466, // lrc-IR\n\t0x2c000000: 467, // lt\n\t0x2c0000b6: 468, // lt-LT\n\t0x2c200000: 469, // lu\n\t0x2c20004b: 470, // lu-CD\n\t0x2c400000: 471, // luo\n\t0x2c4000a4: 472, // luo-KE\n\t0x2c500000: 473, // luy\n\t0x2c5000a4: 474, // luy-KE\n\t0x2c700000: 475, // lv\n\t0x2c7000b8: 476, // lv-LV\n\t0x2d100000: 477, // mas\n\t0x2d1000a4: 478, // mas-KE\n\t0x2d10012f: 479, // mas-TZ\n\t0x2e900000: 480, // mer\n\t0x2e9000a4: 481, // mer-KE\n\t0x2ed00000: 482, // mfe\n\t0x2ed000cc: 483, // mfe-MU\n\t0x2f100000: 484, // mg\n\t0x2f1000bf: 485, // mg-MG\n\t0x2f200000: 486, // mgh\n\t0x2f2000d1: 487, // mgh-MZ\n\t0x2f400000: 488, // mgo\n\t0x2f400052: 489, // mgo-CM\n\t0x2ff00000: 490, // mk\n\t0x2ff000c2: 491, // mk-MK\n\t0x30400000: 492, // ml\n\t0x30400099: 493, // ml-IN\n\t0x30b00000: 494, // mn\n\t0x30b000c5: 495, // mn-MN\n\t0x31b00000: 496, // mr\n\t0x31b00099: 497, // mr-IN\n\t0x31f00000: 498, // ms\n\t0x31f0003e: 499, // ms-BN\n\t0x31f000d0: 500, // ms-MY\n\t0x31f0010d: 501, // ms-SG\n\t0x32000000: 502, // mt\n\t0x320000cb: 503, // mt-MT\n\t0x32500000: 504, // mua\n\t0x32500052: 505, // mua-CM\n\t0x33100000: 506, // my\n\t0x331000c4: 507, // my-MM\n\t0x33a00000: 508, // mzn\n\t0x33a0009c: 509, // mzn-IR\n\t0x34100000: 510, // nah\n\t0x34500000: 511, // naq\n\t0x345000d2: 512, // naq-NA\n\t0x34700000: 513, // nb\n\t0x347000da: 514, // nb-NO\n\t0x34700110: 515, // nb-SJ\n\t0x34e00000: 516, // nd\n\t0x34e00164: 517, // nd-ZW\n\t0x35000000: 518, // nds\n\t0x35000060: 519, // nds-DE\n\t0x350000d9: 520, // nds-NL\n\t0x35100000: 521, // ne\n\t0x35100099: 522, // ne-IN\n\t0x351000db: 523, // ne-NP\n\t0x36700000: 524, // nl\n\t0x36700030: 525, // nl-AW\n\t0x36700036: 526, // nl-BE\n\t0x36700040: 527, // nl-BQ\n\t0x3670005b: 528, // nl-CW\n\t0x367000d9: 529, // nl-NL\n\t0x36700116: 530, // nl-SR\n\t0x3670011b: 531, // nl-SX\n\t0x36800000: 532, // nmg\n\t0x36800052: 533, // nmg-CM\n\t0x36a00000: 534, // nn\n\t0x36a000da: 535, // nn-NO\n\t0x36c00000: 536, // nnh\n\t0x36c00052: 537, // nnh-CM\n\t0x36f00000: 538, // no\n\t0x37500000: 539, // nqo\n\t0x37600000: 540, // nr\n\t0x37a00000: 541, // nso\n\t0x38000000: 542, // nus\n\t0x38000117: 543, // nus-SS\n\t0x38700000: 544, // ny\n\t0x38900000: 545, // nyn\n\t0x38900131: 546, // nyn-UG\n\t0x39000000: 547, // om\n\t0x3900006f: 548, // om-ET\n\t0x390000a4: 549, // om-KE\n\t0x39500000: 550, // or\n\t0x39500099: 551, // or-IN\n\t0x39800000: 552, // os\n\t0x3980007d: 553, // os-GE\n\t0x39800106: 554, // os-RU\n\t0x39d00000: 555, // pa\n\t0x39d05000: 556, // pa-Arab\n\t0x39d050e8: 557, // pa-Arab-PK\n\t0x39d33000: 558, // pa-Guru\n\t0x39d33099: 559, // pa-Guru-IN\n\t0x3a100000: 560, // pap\n\t0x3b300000: 561, // pl\n\t0x3b3000e9: 562, // pl-PL\n\t0x3bd00000: 563, // prg\n\t0x3bd00001: 564, // prg-001\n\t0x3be00000: 565, // ps\n\t0x3be00024: 566, // ps-AF\n\t0x3c000000: 567, // pt\n\t0x3c00002a: 568, // pt-AO\n\t0x3c000041: 569, // pt-BR\n\t0x3c00004e: 570, // pt-CH\n\t0x3c00005a: 571, // pt-CV\n\t0x3c000086: 572, // pt-GQ\n\t0x3c00008b: 573, // pt-GW\n\t0x3c0000b7: 574, // pt-LU\n\t0x3c0000c6: 575, // pt-MO\n\t0x3c0000d1: 576, // pt-MZ\n\t0x3c0000ee: 577, // pt-PT\n\t0x3c000118: 578, // pt-ST\n\t0x3c000126: 579, // pt-TL\n\t0x3c400000: 580, // qu\n\t0x3c40003f: 581, // qu-BO\n\t0x3c400069: 582, // qu-EC\n\t0x3c4000e4: 583, // qu-PE\n\t0x3d400000: 584, // rm\n\t0x3d40004e: 585, // rm-CH\n\t0x3d900000: 586, // rn\n\t0x3d90003a: 587, // rn-BI\n\t0x3dc00000: 588, // ro\n\t0x3dc000bc: 589, // ro-MD\n\t0x3dc00104: 590, // ro-RO\n\t0x3de00000: 591, // rof\n\t0x3de0012f: 592, // rof-TZ\n\t0x3e200000: 593, // ru\n\t0x3e200047: 594, // ru-BY\n\t0x3e2000a5: 595, // ru-KG\n\t0x3e2000ae: 596, // ru-KZ\n\t0x3e2000bc: 597, // ru-MD\n\t0x3e200106: 598, // ru-RU\n\t0x3e200130: 599, // ru-UA\n\t0x3e500000: 600, // rw\n\t0x3e500107: 601, // rw-RW\n\t0x3e600000: 602, // rwk\n\t0x3e60012f: 603, // rwk-TZ\n\t0x3eb00000: 604, // sah\n\t0x3eb00106: 605, // sah-RU\n\t0x3ec00000: 606, // saq\n\t0x3ec000a4: 607, // saq-KE\n\t0x3f300000: 608, // sbp\n\t0x3f30012f: 609, // sbp-TZ\n\t0x3fa00000: 610, // sd\n\t0x3fa000e8: 611, // sd-PK\n\t0x3fc00000: 612, // sdh\n\t0x3fd00000: 613, // se\n\t0x3fd00072: 614, // se-FI\n\t0x3fd000da: 615, // se-NO\n\t0x3fd0010c: 616, // se-SE\n\t0x3ff00000: 617, // seh\n\t0x3ff000d1: 618, // seh-MZ\n\t0x40100000: 619, // ses\n\t0x401000c3: 620, // ses-ML\n\t0x40200000: 621, // sg\n\t0x4020004c: 622, // sg-CF\n\t0x40800000: 623, // shi\n\t0x40857000: 624, // shi-Latn\n\t0x408570ba: 625, // shi-Latn-MA\n\t0x408dc000: 626, // shi-Tfng\n\t0x408dc0ba: 627, // shi-Tfng-MA\n\t0x40c00000: 628, // si\n\t0x40c000b3: 629, // si-LK\n\t0x41200000: 630, // sk\n\t0x41200111: 631, // sk-SK\n\t0x41600000: 632, // sl\n\t0x4160010f: 633, // sl-SI\n\t0x41c00000: 634, // sma\n\t0x41d00000: 635, // smi\n\t0x41e00000: 636, // smj\n\t0x41f00000: 637, // smn\n\t0x41f00072: 638, // smn-FI\n\t0x42200000: 639, // sms\n\t0x42300000: 640, // sn\n\t0x42300164: 641, // sn-ZW\n\t0x42900000: 642, // so\n\t0x42900062: 643, // so-DJ\n\t0x4290006f: 644, // so-ET\n\t0x429000a4: 645, // so-KE\n\t0x42900115: 646, // so-SO\n\t0x43100000: 647, // sq\n\t0x43100027: 648, // sq-AL\n\t0x431000c2: 649, // sq-MK\n\t0x4310014d: 650, // sq-XK\n\t0x43200000: 651, // sr\n\t0x4321f000: 652, // sr-Cyrl\n\t0x4321f033: 653, // sr-Cyrl-BA\n\t0x4321f0bd: 654, // sr-Cyrl-ME\n\t0x4321f105: 655, // sr-Cyrl-RS\n\t0x4321f14d: 656, // sr-Cyrl-XK\n\t0x43257000: 657, // sr-Latn\n\t0x43257033: 658, // sr-Latn-BA\n\t0x432570bd: 659, // sr-Latn-ME\n\t0x43257105: 660, // sr-Latn-RS\n\t0x4325714d: 661, // sr-Latn-XK\n\t0x43700000: 662, // ss\n\t0x43a00000: 663, // ssy\n\t0x43b00000: 664, // st\n\t0x44400000: 665, // sv\n\t0x44400031: 666, // sv-AX\n\t0x44400072: 667, // sv-FI\n\t0x4440010c: 668, // sv-SE\n\t0x44500000: 669, // sw\n\t0x4450004b: 670, // sw-CD\n\t0x445000a4: 671, // sw-KE\n\t0x4450012f: 672, // sw-TZ\n\t0x44500131: 673, // sw-UG\n\t0x44e00000: 674, // syr\n\t0x45000000: 675, // ta\n\t0x45000099: 676, // ta-IN\n\t0x450000b3: 677, // ta-LK\n\t0x450000d0: 678, // ta-MY\n\t0x4500010d: 679, // ta-SG\n\t0x46100000: 680, // te\n\t0x46100099: 681, // te-IN\n\t0x46400000: 682, // teo\n\t0x464000a4: 683, // teo-KE\n\t0x46400131: 684, // teo-UG\n\t0x46700000: 685, // tg\n\t0x46700124: 686, // tg-TJ\n\t0x46b00000: 687, // th\n\t0x46b00123: 688, // th-TH\n\t0x46f00000: 689, // ti\n\t0x46f0006d: 690, // ti-ER\n\t0x46f0006f: 691, // ti-ET\n\t0x47100000: 692, // tig\n\t0x47600000: 693, // tk\n\t0x47600127: 694, // tk-TM\n\t0x48000000: 695, // tn\n\t0x48200000: 696, // to\n\t0x48200129: 697, // to-TO\n\t0x48a00000: 698, // tr\n\t0x48a0005d: 699, // tr-CY\n\t0x48a0012b: 700, // tr-TR\n\t0x48e00000: 701, // ts\n\t0x49400000: 702, // tt\n\t0x49400106: 703, // tt-RU\n\t0x4a400000: 704, // twq\n\t0x4a4000d4: 705, // twq-NE\n\t0x4a900000: 706, // tzm\n\t0x4a9000ba: 707, // tzm-MA\n\t0x4ac00000: 708, // ug\n\t0x4ac00053: 709, // ug-CN\n\t0x4ae00000: 710, // uk\n\t0x4ae00130: 711, // uk-UA\n\t0x4b400000: 712, // ur\n\t0x4b400099: 713, // ur-IN\n\t0x4b4000e8: 714, // ur-PK\n\t0x4bc00000: 715, // uz\n\t0x4bc05000: 716, // uz-Arab\n\t0x4bc05024: 717, // uz-Arab-AF\n\t0x4bc1f000: 718, // uz-Cyrl\n\t0x4bc1f137: 719, // uz-Cyrl-UZ\n\t0x4bc57000: 720, // uz-Latn\n\t0x4bc57137: 721, // uz-Latn-UZ\n\t0x4be00000: 722, // vai\n\t0x4be57000: 723, // vai-Latn\n\t0x4be570b4: 724, // vai-Latn-LR\n\t0x4bee3000: 725, // vai-Vaii\n\t0x4bee30b4: 726, // vai-Vaii-LR\n\t0x4c000000: 727, // ve\n\t0x4c300000: 728, // vi\n\t0x4c30013e: 729, // vi-VN\n\t0x4c900000: 730, // vo\n\t0x4c900001: 731, // vo-001\n\t0x4cc00000: 732, // vun\n\t0x4cc0012f: 733, // vun-TZ\n\t0x4ce00000: 734, // wa\n\t0x4cf00000: 735, // wae\n\t0x4cf0004e: 736, // wae-CH\n\t0x4e500000: 737, // wo\n\t0x4e500114: 738, // wo-SN\n\t0x4f200000: 739, // xh\n\t0x4fb00000: 740, // xog\n\t0x4fb00131: 741, // xog-UG\n\t0x50900000: 742, // yav\n\t0x50900052: 743, // yav-CM\n\t0x51200000: 744, // yi\n\t0x51200001: 745, // yi-001\n\t0x51800000: 746, // yo\n\t0x5180003b: 747, // yo-BJ\n\t0x518000d6: 748, // yo-NG\n\t0x51f00000: 749, // yue\n\t0x51f38000: 750, // yue-Hans\n\t0x51f38053: 751, // yue-Hans-CN\n\t0x51f39000: 752, // yue-Hant\n\t0x51f3908d: 753, // yue-Hant-HK\n\t0x52800000: 754, // zgh\n\t0x528000ba: 755, // zgh-MA\n\t0x52900000: 756, // zh\n\t0x52938000: 757, // zh-Hans\n\t0x52938053: 758, // zh-Hans-CN\n\t0x5293808d: 759, // zh-Hans-HK\n\t0x529380c6: 760, // zh-Hans-MO\n\t0x5293810d: 761, // zh-Hans-SG\n\t0x52939000: 762, // zh-Hant\n\t0x5293908d: 763, // zh-Hant-HK\n\t0x529390c6: 764, // zh-Hant-MO\n\t0x5293912e: 765, // zh-Hant-TW\n\t0x52f00000: 766, // zu\n\t0x52f00161: 767, // zu-ZA\n}\n\n// Total table size 4676 bytes (4KiB); checksum: 17BE3673\n"
  },
  {
    "path": "vendor/golang.org/x/text/language/language.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//go:generate go run gen.go gen_common.go -output tables.go\n//go:generate go run gen_index.go\n\npackage language\n\n// TODO: Remove above NOTE after:\n// - verifying that tables are dropped correctly (most notably matcher tables).\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"strings\"\n)\n\nconst (\n\t// maxCoreSize is the maximum size of a BCP 47 tag without variants and\n\t// extensions. Equals max lang (3) + script (4) + max reg (3) + 2 dashes.\n\tmaxCoreSize = 12\n\n\t// max99thPercentileSize is a somewhat arbitrary buffer size that presumably\n\t// is large enough to hold at least 99% of the BCP 47 tags.\n\tmax99thPercentileSize = 32\n\n\t// maxSimpleUExtensionSize is the maximum size of a -u extension with one\n\t// key-type pair. Equals len(\"-u-\") + key (2) + dash + max value (8).\n\tmaxSimpleUExtensionSize = 14\n)\n\n// Tag represents a BCP 47 language tag. It is used to specify an instance of a\n// specific language or locale. All language tag values are guaranteed to be\n// well-formed.\ntype Tag struct {\n\tlang   langID\n\tregion regionID\n\t// TODO: we will soon run out of positions for script. Idea: instead of\n\t// storing lang, region, and script codes, store only the compact index and\n\t// have a lookup table from this code to its expansion. This greatly speeds\n\t// up table lookup, speed up common variant cases.\n\t// This will also immediately free up 3 extra bytes. Also, the pVariant\n\t// field can now be moved to the lookup table, as the compact index uniquely\n\t// determines the offset of a possible variant.\n\tscript   scriptID\n\tpVariant byte   // offset in str, includes preceding '-'\n\tpExt     uint16 // offset of first extension, includes preceding '-'\n\n\t// str is the string representation of the Tag. It will only be used if the\n\t// tag has variants or extensions.\n\tstr string\n}\n\n// Make is a convenience wrapper for Parse that omits the error.\n// In case of an error, a sensible default is returned.\nfunc Make(s string) Tag {\n\treturn Default.Make(s)\n}\n\n// Make is a convenience wrapper for c.Parse that omits the error.\n// In case of an error, a sensible default is returned.\nfunc (c CanonType) Make(s string) Tag {\n\tt, _ := c.Parse(s)\n\treturn t\n}\n\n// Raw returns the raw base language, script and region, without making an\n// attempt to infer their values.\nfunc (t Tag) Raw() (b Base, s Script, r Region) {\n\treturn Base{t.lang}, Script{t.script}, Region{t.region}\n}\n\n// equalTags compares language, script and region subtags only.\nfunc (t Tag) equalTags(a Tag) bool {\n\treturn t.lang == a.lang && t.script == a.script && t.region == a.region\n}\n\n// IsRoot returns true if t is equal to language \"und\".\nfunc (t Tag) IsRoot() bool {\n\tif int(t.pVariant) < len(t.str) {\n\t\treturn false\n\t}\n\treturn t.equalTags(und)\n}\n\n// private reports whether the Tag consists solely of a private use tag.\nfunc (t Tag) private() bool {\n\treturn t.str != \"\" && t.pVariant == 0\n}\n\n// CanonType can be used to enable or disable various types of canonicalization.\ntype CanonType int\n\nconst (\n\t// Replace deprecated base languages with their preferred replacements.\n\tDeprecatedBase CanonType = 1 << iota\n\t// Replace deprecated scripts with their preferred replacements.\n\tDeprecatedScript\n\t// Replace deprecated regions with their preferred replacements.\n\tDeprecatedRegion\n\t// Remove redundant scripts.\n\tSuppressScript\n\t// Normalize legacy encodings. This includes legacy languages defined in\n\t// CLDR as well as bibliographic codes defined in ISO-639.\n\tLegacy\n\t// Map the dominant language of a macro language group to the macro language\n\t// subtag. For example cmn -> zh.\n\tMacro\n\t// The CLDR flag should be used if full compatibility with CLDR is required.\n\t// There are a few cases where language.Tag may differ from CLDR. To follow all\n\t// of CLDR's suggestions, use All|CLDR.\n\tCLDR\n\n\t// Raw can be used to Compose or Parse without Canonicalization.\n\tRaw CanonType = 0\n\n\t// Replace all deprecated tags with their preferred replacements.\n\tDeprecated = DeprecatedBase | DeprecatedScript | DeprecatedRegion\n\n\t// All canonicalizations recommended by BCP 47.\n\tBCP47 = Deprecated | SuppressScript\n\n\t// All canonicalizations.\n\tAll = BCP47 | Legacy | Macro\n\n\t// Default is the canonicalization used by Parse, Make and Compose. To\n\t// preserve as much information as possible, canonicalizations that remove\n\t// potentially valuable information are not included. The Matcher is\n\t// designed to recognize similar tags that would be the same if\n\t// they were canonicalized using All.\n\tDefault = Deprecated | Legacy\n\n\tcanonLang = DeprecatedBase | Legacy | Macro\n\n\t// TODO: LikelyScript, LikelyRegion: suppress similar to ICU.\n)\n\n// canonicalize returns the canonicalized equivalent of the tag and\n// whether there was any change.\nfunc (t Tag) canonicalize(c CanonType) (Tag, bool) {\n\tif c == Raw {\n\t\treturn t, false\n\t}\n\tchanged := false\n\tif c&SuppressScript != 0 {\n\t\tif t.lang < langNoIndexOffset && uint8(t.script) == suppressScript[t.lang] {\n\t\t\tt.script = 0\n\t\t\tchanged = true\n\t\t}\n\t}\n\tif c&canonLang != 0 {\n\t\tfor {\n\t\t\tif l, aliasType := normLang(t.lang); l != t.lang {\n\t\t\t\tswitch aliasType {\n\t\t\t\tcase langLegacy:\n\t\t\t\t\tif c&Legacy != 0 {\n\t\t\t\t\t\tif t.lang == _sh && t.script == 0 {\n\t\t\t\t\t\t\tt.script = _Latn\n\t\t\t\t\t\t}\n\t\t\t\t\t\tt.lang = l\n\t\t\t\t\t\tchanged = true\n\t\t\t\t\t}\n\t\t\t\tcase langMacro:\n\t\t\t\t\tif c&Macro != 0 {\n\t\t\t\t\t\t// We deviate here from CLDR. The mapping \"nb\" -> \"no\"\n\t\t\t\t\t\t// qualifies as a typical Macro language mapping.  However,\n\t\t\t\t\t\t// for legacy reasons, CLDR maps \"no\", the macro language\n\t\t\t\t\t\t// code for Norwegian, to the dominant variant \"nb\". This\n\t\t\t\t\t\t// change is currently under consideration for CLDR as well.\n\t\t\t\t\t\t// See http://unicode.org/cldr/trac/ticket/2698 and also\n\t\t\t\t\t\t// http://unicode.org/cldr/trac/ticket/1790 for some of the\n\t\t\t\t\t\t// practical implications. TODO: this check could be removed\n\t\t\t\t\t\t// if CLDR adopts this change.\n\t\t\t\t\t\tif c&CLDR == 0 || t.lang != _nb {\n\t\t\t\t\t\t\tchanged = true\n\t\t\t\t\t\t\tt.lang = l\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\tcase langDeprecated:\n\t\t\t\t\tif c&DeprecatedBase != 0 {\n\t\t\t\t\t\tif t.lang == _mo && t.region == 0 {\n\t\t\t\t\t\t\tt.region = _MD\n\t\t\t\t\t\t}\n\t\t\t\t\t\tt.lang = l\n\t\t\t\t\t\tchanged = true\n\t\t\t\t\t\t// Other canonicalization types may still apply.\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if c&Legacy != 0 && t.lang == _no && c&CLDR != 0 {\n\t\t\t\tt.lang = _nb\n\t\t\t\tchanged = true\n\t\t\t}\n\t\t\tbreak\n\t\t}\n\t}\n\tif c&DeprecatedScript != 0 {\n\t\tif t.script == _Qaai {\n\t\t\tchanged = true\n\t\t\tt.script = _Zinh\n\t\t}\n\t}\n\tif c&DeprecatedRegion != 0 {\n\t\tif r := normRegion(t.region); r != 0 {\n\t\t\tchanged = true\n\t\t\tt.region = r\n\t\t}\n\t}\n\treturn t, changed\n}\n\n// Canonicalize returns the canonicalized equivalent of the tag.\nfunc (c CanonType) Canonicalize(t Tag) (Tag, error) {\n\tt, changed := t.canonicalize(c)\n\tif changed {\n\t\tt.remakeString()\n\t}\n\treturn t, nil\n}\n\n// Confidence indicates the level of certainty for a given return value.\n// For example, Serbian may be written in Cyrillic or Latin script.\n// The confidence level indicates whether a value was explicitly specified,\n// whether it is typically the only possible value, or whether there is\n// an ambiguity.\ntype Confidence int\n\nconst (\n\tNo    Confidence = iota // full confidence that there was no match\n\tLow                     // most likely value picked out of a set of alternatives\n\tHigh                    // value is generally assumed to be the correct match\n\tExact                   // exact match or explicitly specified value\n)\n\nvar confName = []string{\"No\", \"Low\", \"High\", \"Exact\"}\n\nfunc (c Confidence) String() string {\n\treturn confName[c]\n}\n\n// remakeString is used to update t.str in case lang, script or region changed.\n// It is assumed that pExt and pVariant still point to the start of the\n// respective parts.\nfunc (t *Tag) remakeString() {\n\tif t.str == \"\" {\n\t\treturn\n\t}\n\textra := t.str[t.pVariant:]\n\tif t.pVariant > 0 {\n\t\textra = extra[1:]\n\t}\n\tif t.equalTags(und) && strings.HasPrefix(extra, \"x-\") {\n\t\tt.str = extra\n\t\tt.pVariant = 0\n\t\tt.pExt = 0\n\t\treturn\n\t}\n\tvar buf [max99thPercentileSize]byte // avoid extra memory allocation in most cases.\n\tb := buf[:t.genCoreBytes(buf[:])]\n\tif extra != \"\" {\n\t\tdiff := len(b) - int(t.pVariant)\n\t\tb = append(b, '-')\n\t\tb = append(b, extra...)\n\t\tt.pVariant = uint8(int(t.pVariant) + diff)\n\t\tt.pExt = uint16(int(t.pExt) + diff)\n\t} else {\n\t\tt.pVariant = uint8(len(b))\n\t\tt.pExt = uint16(len(b))\n\t}\n\tt.str = string(b)\n}\n\n// genCoreBytes writes a string for the base languages, script and region tags\n// to the given buffer and returns the number of bytes written. It will never\n// write more than maxCoreSize bytes.\nfunc (t *Tag) genCoreBytes(buf []byte) int {\n\tn := t.lang.stringToBuf(buf[:])\n\tif t.script != 0 {\n\t\tn += copy(buf[n:], \"-\")\n\t\tn += copy(buf[n:], t.script.String())\n\t}\n\tif t.region != 0 {\n\t\tn += copy(buf[n:], \"-\")\n\t\tn += copy(buf[n:], t.region.String())\n\t}\n\treturn n\n}\n\n// String returns the canonical string representation of the language tag.\nfunc (t Tag) String() string {\n\tif t.str != \"\" {\n\t\treturn t.str\n\t}\n\tif t.script == 0 && t.region == 0 {\n\t\treturn t.lang.String()\n\t}\n\tbuf := [maxCoreSize]byte{}\n\treturn string(buf[:t.genCoreBytes(buf[:])])\n}\n\n// MarshalText implements encoding.TextMarshaler.\nfunc (t Tag) MarshalText() (text []byte, err error) {\n\tif t.str != \"\" {\n\t\ttext = append(text, t.str...)\n\t} else if t.script == 0 && t.region == 0 {\n\t\ttext = append(text, t.lang.String()...)\n\t} else {\n\t\tbuf := [maxCoreSize]byte{}\n\t\ttext = buf[:t.genCoreBytes(buf[:])]\n\t}\n\treturn text, nil\n}\n\n// UnmarshalText implements encoding.TextUnmarshaler.\nfunc (t *Tag) UnmarshalText(text []byte) error {\n\ttag, err := Raw.Parse(string(text))\n\t*t = tag\n\treturn err\n}\n\n// Base returns the base language of the language tag. If the base language is\n// unspecified, an attempt will be made to infer it from the context.\n// It uses a variant of CLDR's Add Likely Subtags algorithm. This is subject to change.\nfunc (t Tag) Base() (Base, Confidence) {\n\tif t.lang != 0 {\n\t\treturn Base{t.lang}, Exact\n\t}\n\tc := High\n\tif t.script == 0 && !(Region{t.region}).IsCountry() {\n\t\tc = Low\n\t}\n\tif tag, err := addTags(t); err == nil && tag.lang != 0 {\n\t\treturn Base{tag.lang}, c\n\t}\n\treturn Base{0}, No\n}\n\n// Script infers the script for the language tag. If it was not explicitly given, it will infer\n// a most likely candidate.\n// If more than one script is commonly used for a language, the most likely one\n// is returned with a low confidence indication. For example, it returns (Cyrl, Low)\n// for Serbian.\n// If a script cannot be inferred (Zzzz, No) is returned. We do not use Zyyy (undetermined)\n// as one would suspect from the IANA registry for BCP 47. In a Unicode context Zyyy marks\n// common characters (like 1, 2, 3, '.', etc.) and is therefore more like multiple scripts.\n// See http://www.unicode.org/reports/tr24/#Values for more details. Zzzz is also used for\n// unknown value in CLDR.  (Zzzz, Exact) is returned if Zzzz was explicitly specified.\n// Note that an inferred script is never guaranteed to be the correct one. Latin is\n// almost exclusively used for Afrikaans, but Arabic has been used for some texts\n// in the past.  Also, the script that is commonly used may change over time.\n// It uses a variant of CLDR's Add Likely Subtags algorithm. This is subject to change.\nfunc (t Tag) Script() (Script, Confidence) {\n\tif t.script != 0 {\n\t\treturn Script{t.script}, Exact\n\t}\n\tsc, c := scriptID(_Zzzz), No\n\tif t.lang < langNoIndexOffset {\n\t\tif scr := scriptID(suppressScript[t.lang]); scr != 0 {\n\t\t\t// Note: it is not always the case that a language with a suppress\n\t\t\t// script value is only written in one script (e.g. kk, ms, pa).\n\t\t\tif t.region == 0 {\n\t\t\t\treturn Script{scriptID(scr)}, High\n\t\t\t}\n\t\t\tsc, c = scr, High\n\t\t}\n\t}\n\tif tag, err := addTags(t); err == nil {\n\t\tif tag.script != sc {\n\t\t\tsc, c = tag.script, Low\n\t\t}\n\t} else {\n\t\tt, _ = (Deprecated | Macro).Canonicalize(t)\n\t\tif tag, err := addTags(t); err == nil && tag.script != sc {\n\t\t\tsc, c = tag.script, Low\n\t\t}\n\t}\n\treturn Script{sc}, c\n}\n\n// Region returns the region for the language tag. If it was not explicitly given, it will\n// infer a most likely candidate from the context.\n// It uses a variant of CLDR's Add Likely Subtags algorithm. This is subject to change.\nfunc (t Tag) Region() (Region, Confidence) {\n\tif t.region != 0 {\n\t\treturn Region{t.region}, Exact\n\t}\n\tif t, err := addTags(t); err == nil {\n\t\treturn Region{t.region}, Low // TODO: differentiate between high and low.\n\t}\n\tt, _ = (Deprecated | Macro).Canonicalize(t)\n\tif tag, err := addTags(t); err == nil {\n\t\treturn Region{tag.region}, Low\n\t}\n\treturn Region{_ZZ}, No // TODO: return world instead of undetermined?\n}\n\n// Variant returns the variants specified explicitly for this language tag.\n// or nil if no variant was specified.\nfunc (t Tag) Variants() []Variant {\n\tv := []Variant{}\n\tif int(t.pVariant) < int(t.pExt) {\n\t\tfor x, str := \"\", t.str[t.pVariant:t.pExt]; str != \"\"; {\n\t\t\tx, str = nextToken(str)\n\t\t\tv = append(v, Variant{x})\n\t\t}\n\t}\n\treturn v\n}\n\n// Parent returns the CLDR parent of t. In CLDR, missing fields in data for a\n// specific language are substituted with fields from the parent language.\n// The parent for a language may change for newer versions of CLDR.\nfunc (t Tag) Parent() Tag {\n\tif t.str != \"\" {\n\t\t// Strip the variants and extensions.\n\t\tt, _ = Raw.Compose(t.Raw())\n\t\tif t.region == 0 && t.script != 0 && t.lang != 0 {\n\t\t\tbase, _ := addTags(Tag{lang: t.lang})\n\t\t\tif base.script == t.script {\n\t\t\t\treturn Tag{lang: t.lang}\n\t\t\t}\n\t\t}\n\t\treturn t\n\t}\n\tif t.lang != 0 {\n\t\tif t.region != 0 {\n\t\t\tmaxScript := t.script\n\t\t\tif maxScript == 0 {\n\t\t\t\tmax, _ := addTags(t)\n\t\t\t\tmaxScript = max.script\n\t\t\t}\n\n\t\t\tfor i := range parents {\n\t\t\t\tif langID(parents[i].lang) == t.lang && scriptID(parents[i].maxScript) == maxScript {\n\t\t\t\t\tfor _, r := range parents[i].fromRegion {\n\t\t\t\t\t\tif regionID(r) == t.region {\n\t\t\t\t\t\t\treturn Tag{\n\t\t\t\t\t\t\t\tlang:   t.lang,\n\t\t\t\t\t\t\t\tscript: scriptID(parents[i].script),\n\t\t\t\t\t\t\t\tregion: regionID(parents[i].toRegion),\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Strip the script if it is the default one.\n\t\t\tbase, _ := addTags(Tag{lang: t.lang})\n\t\t\tif base.script != maxScript {\n\t\t\t\treturn Tag{lang: t.lang, script: maxScript}\n\t\t\t}\n\t\t\treturn Tag{lang: t.lang}\n\t\t} else if t.script != 0 {\n\t\t\t// The parent for an base-script pair with a non-default script is\n\t\t\t// \"und\" instead of the base language.\n\t\t\tbase, _ := addTags(Tag{lang: t.lang})\n\t\t\tif base.script != t.script {\n\t\t\t\treturn und\n\t\t\t}\n\t\t\treturn Tag{lang: t.lang}\n\t\t}\n\t}\n\treturn und\n}\n\n// returns token t and the rest of the string.\nfunc nextToken(s string) (t, tail string) {\n\tp := strings.Index(s[1:], \"-\")\n\tif p == -1 {\n\t\treturn s[1:], \"\"\n\t}\n\tp++\n\treturn s[1:p], s[p:]\n}\n\n// Extension is a single BCP 47 extension.\ntype Extension struct {\n\ts string\n}\n\n// String returns the string representation of the extension, including the\n// type tag.\nfunc (e Extension) String() string {\n\treturn e.s\n}\n\n// ParseExtension parses s as an extension and returns it on success.\nfunc ParseExtension(s string) (e Extension, err error) {\n\tscan := makeScannerString(s)\n\tvar end int\n\tif n := len(scan.token); n != 1 {\n\t\treturn Extension{}, errSyntax\n\t}\n\tscan.toLower(0, len(scan.b))\n\tend = parseExtension(&scan)\n\tif end != len(s) {\n\t\treturn Extension{}, errSyntax\n\t}\n\treturn Extension{string(scan.b)}, nil\n}\n\n// Type returns the one-byte extension type of e. It returns 0 for the zero\n// exception.\nfunc (e Extension) Type() byte {\n\tif e.s == \"\" {\n\t\treturn 0\n\t}\n\treturn e.s[0]\n}\n\n// Tokens returns the list of tokens of e.\nfunc (e Extension) Tokens() []string {\n\treturn strings.Split(e.s, \"-\")\n}\n\n// Extension returns the extension of type x for tag t. It will return\n// false for ok if t does not have the requested extension. The returned\n// extension will be invalid in this case.\nfunc (t Tag) Extension(x byte) (ext Extension, ok bool) {\n\tfor i := int(t.pExt); i < len(t.str)-1; {\n\t\tvar ext string\n\t\ti, ext = getExtension(t.str, i)\n\t\tif ext[0] == x {\n\t\t\treturn Extension{ext}, true\n\t\t}\n\t}\n\treturn Extension{}, false\n}\n\n// Extensions returns all extensions of t.\nfunc (t Tag) Extensions() []Extension {\n\te := []Extension{}\n\tfor i := int(t.pExt); i < len(t.str)-1; {\n\t\tvar ext string\n\t\ti, ext = getExtension(t.str, i)\n\t\te = append(e, Extension{ext})\n\t}\n\treturn e\n}\n\n// TypeForKey returns the type associated with the given key, where key and type\n// are of the allowed values defined for the Unicode locale extension ('u') in\n// http://www.unicode.org/reports/tr35/#Unicode_Language_and_Locale_Identifiers.\n// TypeForKey will traverse the inheritance chain to get the correct value.\nfunc (t Tag) TypeForKey(key string) string {\n\tif start, end, _ := t.findTypeForKey(key); end != start {\n\t\treturn t.str[start:end]\n\t}\n\treturn \"\"\n}\n\nvar (\n\terrPrivateUse       = errors.New(\"cannot set a key on a private use tag\")\n\terrInvalidArguments = errors.New(\"invalid key or type\")\n)\n\n// SetTypeForKey returns a new Tag with the key set to type, where key and type\n// are of the allowed values defined for the Unicode locale extension ('u') in\n// http://www.unicode.org/reports/tr35/#Unicode_Language_and_Locale_Identifiers.\n// An empty value removes an existing pair with the same key.\nfunc (t Tag) SetTypeForKey(key, value string) (Tag, error) {\n\tif t.private() {\n\t\treturn t, errPrivateUse\n\t}\n\tif len(key) != 2 {\n\t\treturn t, errInvalidArguments\n\t}\n\n\t// Remove the setting if value is \"\".\n\tif value == \"\" {\n\t\tstart, end, _ := t.findTypeForKey(key)\n\t\tif start != end {\n\t\t\t// Remove key tag and leading '-'.\n\t\t\tstart -= 4\n\n\t\t\t// Remove a possible empty extension.\n\t\t\tif (end == len(t.str) || t.str[end+2] == '-') && t.str[start-2] == '-' {\n\t\t\t\tstart -= 2\n\t\t\t}\n\t\t\tif start == int(t.pVariant) && end == len(t.str) {\n\t\t\t\tt.str = \"\"\n\t\t\t\tt.pVariant, t.pExt = 0, 0\n\t\t\t} else {\n\t\t\t\tt.str = fmt.Sprintf(\"%s%s\", t.str[:start], t.str[end:])\n\t\t\t}\n\t\t}\n\t\treturn t, nil\n\t}\n\n\tif len(value) < 3 || len(value) > 8 {\n\t\treturn t, errInvalidArguments\n\t}\n\n\tvar (\n\t\tbuf    [maxCoreSize + maxSimpleUExtensionSize]byte\n\t\tuStart int // start of the -u extension.\n\t)\n\n\t// Generate the tag string if needed.\n\tif t.str == \"\" {\n\t\tuStart = t.genCoreBytes(buf[:])\n\t\tbuf[uStart] = '-'\n\t\tuStart++\n\t}\n\n\t// Create new key-type pair and parse it to verify.\n\tb := buf[uStart:]\n\tcopy(b, \"u-\")\n\tcopy(b[2:], key)\n\tb[4] = '-'\n\tb = b[:5+copy(b[5:], value)]\n\tscan := makeScanner(b)\n\tif parseExtensions(&scan); scan.err != nil {\n\t\treturn t, scan.err\n\t}\n\n\t// Assemble the replacement string.\n\tif t.str == \"\" {\n\t\tt.pVariant, t.pExt = byte(uStart-1), uint16(uStart-1)\n\t\tt.str = string(buf[:uStart+len(b)])\n\t} else {\n\t\ts := t.str\n\t\tstart, end, hasExt := t.findTypeForKey(key)\n\t\tif start == end {\n\t\t\tif hasExt {\n\t\t\t\tb = b[2:]\n\t\t\t}\n\t\t\tt.str = fmt.Sprintf(\"%s-%s%s\", s[:start], b, s[end:])\n\t\t} else {\n\t\t\tt.str = fmt.Sprintf(\"%s%s%s\", s[:start], value, s[end:])\n\t\t}\n\t}\n\treturn t, nil\n}\n\n// findKeyAndType returns the start and end position for the type corresponding\n// to key or the point at which to insert the key-value pair if the type\n// wasn't found. The hasExt return value reports whether an -u extension was present.\n// Note: the extensions are typically very small and are likely to contain\n// only one key-type pair.\nfunc (t Tag) findTypeForKey(key string) (start, end int, hasExt bool) {\n\tp := int(t.pExt)\n\tif len(key) != 2 || p == len(t.str) || p == 0 {\n\t\treturn p, p, false\n\t}\n\ts := t.str\n\n\t// Find the correct extension.\n\tfor p++; s[p] != 'u'; p++ {\n\t\tif s[p] > 'u' {\n\t\t\tp--\n\t\t\treturn p, p, false\n\t\t}\n\t\tif p = nextExtension(s, p); p == len(s) {\n\t\t\treturn len(s), len(s), false\n\t\t}\n\t}\n\t// Proceed to the hyphen following the extension name.\n\tp++\n\n\t// curKey is the key currently being processed.\n\tcurKey := \"\"\n\n\t// Iterate over keys until we get the end of a section.\n\tfor {\n\t\t// p points to the hyphen preceding the current token.\n\t\tif p3 := p + 3; s[p3] == '-' {\n\t\t\t// Found a key.\n\t\t\t// Check whether we just processed the key that was requested.\n\t\t\tif curKey == key {\n\t\t\t\treturn start, p, true\n\t\t\t}\n\t\t\t// Set to the next key and continue scanning type tokens.\n\t\t\tcurKey = s[p+1 : p3]\n\t\t\tif curKey > key {\n\t\t\t\treturn p, p, true\n\t\t\t}\n\t\t\t// Start of the type token sequence.\n\t\t\tstart = p + 4\n\t\t\t// A type is at least 3 characters long.\n\t\t\tp += 7 // 4 + 3\n\t\t} else {\n\t\t\t// Attribute or type, which is at least 3 characters long.\n\t\t\tp += 4\n\t\t}\n\t\t// p points past the third character of a type or attribute.\n\t\tmax := p + 5 // maximum length of token plus hyphen.\n\t\tif len(s) < max {\n\t\t\tmax = len(s)\n\t\t}\n\t\tfor ; p < max && s[p] != '-'; p++ {\n\t\t}\n\t\t// Bail if we have exhausted all tokens or if the next token starts\n\t\t// a new extension.\n\t\tif p == len(s) || s[p+2] == '-' {\n\t\t\tif curKey == key {\n\t\t\t\treturn start, p, true\n\t\t\t}\n\t\t\treturn p, p, true\n\t\t}\n\t}\n}\n\n// CompactIndex returns an index, where 0 <= index < NumCompactTags, for tags\n// for which data exists in the text repository. The index will change over time\n// and should not be stored in persistent storage. Extensions, except for the\n// 'va' type of the 'u' extension, are ignored. It will return 0, false if no\n// compact tag exists, where 0 is the index for the root language (Und).\nfunc CompactIndex(t Tag) (index int, ok bool) {\n\t// TODO: perhaps give more frequent tags a lower index.\n\t// TODO: we could make the indexes stable. This will excluded some\n\t//       possibilities for optimization, so don't do this quite yet.\n\tb, s, r := t.Raw()\n\tif len(t.str) > 0 {\n\t\tif strings.HasPrefix(t.str, \"x-\") {\n\t\t\t// We have no entries for user-defined tags.\n\t\t\treturn 0, false\n\t\t}\n\t\tif uint16(t.pVariant) != t.pExt {\n\t\t\t// There are no tags with variants and an u-va type.\n\t\t\tif t.TypeForKey(\"va\") != \"\" {\n\t\t\t\treturn 0, false\n\t\t\t}\n\t\t\tt, _ = Raw.Compose(b, s, r, t.Variants())\n\t\t} else if _, ok := t.Extension('u'); ok {\n\t\t\t// Strip all but the 'va' entry.\n\t\t\tvariant := t.TypeForKey(\"va\")\n\t\t\tt, _ = Raw.Compose(b, s, r)\n\t\t\tt, _ = t.SetTypeForKey(\"va\", variant)\n\t\t}\n\t\tif len(t.str) > 0 {\n\t\t\t// We have some variants.\n\t\t\tfor i, s := range specialTags {\n\t\t\t\tif s == t {\n\t\t\t\t\treturn i + 1, true\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn 0, false\n\t\t}\n\t}\n\t// No variants specified: just compare core components.\n\t// The key has the form lllssrrr, where l, s, and r are nibbles for\n\t// respectively the langID, scriptID, and regionID.\n\tkey := uint32(b.langID) << (8 + 12)\n\tkey |= uint32(s.scriptID) << 12\n\tkey |= uint32(r.regionID)\n\tx, ok := coreTags[key]\n\treturn int(x), ok\n}\n\n// Base is an ISO 639 language code, used for encoding the base language\n// of a language tag.\ntype Base struct {\n\tlangID\n}\n\n// ParseBase parses a 2- or 3-letter ISO 639 code.\n// It returns a ValueError if s is a well-formed but unknown language identifier\n// or another error if another error occurred.\nfunc ParseBase(s string) (Base, error) {\n\tif n := len(s); n < 2 || 3 < n {\n\t\treturn Base{}, errSyntax\n\t}\n\tvar buf [3]byte\n\tl, err := getLangID(buf[:copy(buf[:], s)])\n\treturn Base{l}, err\n}\n\n// Script is a 4-letter ISO 15924 code for representing scripts.\n// It is idiomatically represented in title case.\ntype Script struct {\n\tscriptID\n}\n\n// ParseScript parses a 4-letter ISO 15924 code.\n// It returns a ValueError if s is a well-formed but unknown script identifier\n// or another error if another error occurred.\nfunc ParseScript(s string) (Script, error) {\n\tif len(s) != 4 {\n\t\treturn Script{}, errSyntax\n\t}\n\tvar buf [4]byte\n\tsc, err := getScriptID(script, buf[:copy(buf[:], s)])\n\treturn Script{sc}, err\n}\n\n// Region is an ISO 3166-1 or UN M.49 code for representing countries and regions.\ntype Region struct {\n\tregionID\n}\n\n// EncodeM49 returns the Region for the given UN M.49 code.\n// It returns an error if r is not a valid code.\nfunc EncodeM49(r int) (Region, error) {\n\trid, err := getRegionM49(r)\n\treturn Region{rid}, err\n}\n\n// ParseRegion parses a 2- or 3-letter ISO 3166-1 or a UN M.49 code.\n// It returns a ValueError if s is a well-formed but unknown region identifier\n// or another error if another error occurred.\nfunc ParseRegion(s string) (Region, error) {\n\tif n := len(s); n < 2 || 3 < n {\n\t\treturn Region{}, errSyntax\n\t}\n\tvar buf [3]byte\n\tr, err := getRegionID(buf[:copy(buf[:], s)])\n\treturn Region{r}, err\n}\n\n// IsCountry returns whether this region is a country or autonomous area. This\n// includes non-standard definitions from CLDR.\nfunc (r Region) IsCountry() bool {\n\tif r.regionID == 0 || r.IsGroup() || r.IsPrivateUse() && r.regionID != _XK {\n\t\treturn false\n\t}\n\treturn true\n}\n\n// IsGroup returns whether this region defines a collection of regions. This\n// includes non-standard definitions from CLDR.\nfunc (r Region) IsGroup() bool {\n\tif r.regionID == 0 {\n\t\treturn false\n\t}\n\treturn int(regionInclusion[r.regionID]) < len(regionContainment)\n}\n\n// Contains returns whether Region c is contained by Region r. It returns true\n// if c == r.\nfunc (r Region) Contains(c Region) bool {\n\treturn r.regionID.contains(c.regionID)\n}\n\nfunc (r regionID) contains(c regionID) bool {\n\tif r == c {\n\t\treturn true\n\t}\n\tg := regionInclusion[r]\n\tif g >= nRegionGroups {\n\t\treturn false\n\t}\n\tm := regionContainment[g]\n\n\td := regionInclusion[c]\n\tb := regionInclusionBits[d]\n\n\t// A contained country may belong to multiple disjoint groups. Matching any\n\t// of these indicates containment. If the contained region is a group, it\n\t// must strictly be a subset.\n\tif d >= nRegionGroups {\n\t\treturn b&m != 0\n\t}\n\treturn b&^m == 0\n}\n\nvar errNoTLD = errors.New(\"language: region is not a valid ccTLD\")\n\n// TLD returns the country code top-level domain (ccTLD). UK is returned for GB.\n// In all other cases it returns either the region itself or an error.\n//\n// This method may return an error for a region for which there exists a\n// canonical form with a ccTLD. To get that ccTLD canonicalize r first. The\n// region will already be canonicalized it was obtained from a Tag that was\n// obtained using any of the default methods.\nfunc (r Region) TLD() (Region, error) {\n\t// See http://en.wikipedia.org/wiki/Country_code_top-level_domain for the\n\t// difference between ISO 3166-1 and IANA ccTLD.\n\tif r.regionID == _GB {\n\t\tr = Region{_UK}\n\t}\n\tif (r.typ() & ccTLD) == 0 {\n\t\treturn Region{}, errNoTLD\n\t}\n\treturn r, nil\n}\n\n// Canonicalize returns the region or a possible replacement if the region is\n// deprecated. It will not return a replacement for deprecated regions that\n// are split into multiple regions.\nfunc (r Region) Canonicalize() Region {\n\tif cr := normRegion(r.regionID); cr != 0 {\n\t\treturn Region{cr}\n\t}\n\treturn r\n}\n\n// Variant represents a registered variant of a language as defined by BCP 47.\ntype Variant struct {\n\tvariant string\n}\n\n// ParseVariant parses and returns a Variant. An error is returned if s is not\n// a valid variant.\nfunc ParseVariant(s string) (Variant, error) {\n\ts = strings.ToLower(s)\n\tif _, ok := variantIndex[s]; ok {\n\t\treturn Variant{s}, nil\n\t}\n\treturn Variant{}, mkErrInvalid([]byte(s))\n}\n\n// String returns the string representation of the variant.\nfunc (v Variant) String() string {\n\treturn v.variant\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/language/lookup.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage language\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"sort\"\n\t\"strconv\"\n\n\t\"golang.org/x/text/internal/tag\"\n)\n\n// findIndex tries to find the given tag in idx and returns a standardized error\n// if it could not be found.\nfunc findIndex(idx tag.Index, key []byte, form string) (index int, err error) {\n\tif !tag.FixCase(form, key) {\n\t\treturn 0, errSyntax\n\t}\n\ti := idx.Index(key)\n\tif i == -1 {\n\t\treturn 0, mkErrInvalid(key)\n\t}\n\treturn i, nil\n}\n\nfunc searchUint(imap []uint16, key uint16) int {\n\treturn sort.Search(len(imap), func(i int) bool {\n\t\treturn imap[i] >= key\n\t})\n}\n\ntype langID uint16\n\n// getLangID returns the langID of s if s is a canonical subtag\n// or langUnknown if s is not a canonical subtag.\nfunc getLangID(s []byte) (langID, error) {\n\tif len(s) == 2 {\n\t\treturn getLangISO2(s)\n\t}\n\treturn getLangISO3(s)\n}\n\n// mapLang returns the mapped langID of id according to mapping m.\nfunc normLang(id langID) (langID, langAliasType) {\n\tk := sort.Search(len(langAliasMap), func(i int) bool {\n\t\treturn langAliasMap[i].from >= uint16(id)\n\t})\n\tif k < len(langAliasMap) && langAliasMap[k].from == uint16(id) {\n\t\treturn langID(langAliasMap[k].to), langAliasTypes[k]\n\t}\n\treturn id, langAliasTypeUnknown\n}\n\n// getLangISO2 returns the langID for the given 2-letter ISO language code\n// or unknownLang if this does not exist.\nfunc getLangISO2(s []byte) (langID, error) {\n\tif !tag.FixCase(\"zz\", s) {\n\t\treturn 0, errSyntax\n\t}\n\tif i := lang.Index(s); i != -1 && lang.Elem(i)[3] != 0 {\n\t\treturn langID(i), nil\n\t}\n\treturn 0, mkErrInvalid(s)\n}\n\nconst base = 'z' - 'a' + 1\n\nfunc strToInt(s []byte) uint {\n\tv := uint(0)\n\tfor i := 0; i < len(s); i++ {\n\t\tv *= base\n\t\tv += uint(s[i] - 'a')\n\t}\n\treturn v\n}\n\n// converts the given integer to the original ASCII string passed to strToInt.\n// len(s) must match the number of characters obtained.\nfunc intToStr(v uint, s []byte) {\n\tfor i := len(s) - 1; i >= 0; i-- {\n\t\ts[i] = byte(v%base) + 'a'\n\t\tv /= base\n\t}\n}\n\n// getLangISO3 returns the langID for the given 3-letter ISO language code\n// or unknownLang if this does not exist.\nfunc getLangISO3(s []byte) (langID, error) {\n\tif tag.FixCase(\"und\", s) {\n\t\t// first try to match canonical 3-letter entries\n\t\tfor i := lang.Index(s[:2]); i != -1; i = lang.Next(s[:2], i) {\n\t\t\tif e := lang.Elem(i); e[3] == 0 && e[2] == s[2] {\n\t\t\t\t// We treat \"und\" as special and always translate it to \"unspecified\".\n\t\t\t\t// Note that ZZ and Zzzz are private use and are not treated as\n\t\t\t\t// unspecified by default.\n\t\t\t\tid := langID(i)\n\t\t\t\tif id == nonCanonicalUnd {\n\t\t\t\t\treturn 0, nil\n\t\t\t\t}\n\t\t\t\treturn id, nil\n\t\t\t}\n\t\t}\n\t\tif i := altLangISO3.Index(s); i != -1 {\n\t\t\treturn langID(altLangIndex[altLangISO3.Elem(i)[3]]), nil\n\t\t}\n\t\tn := strToInt(s)\n\t\tif langNoIndex[n/8]&(1<<(n%8)) != 0 {\n\t\t\treturn langID(n) + langNoIndexOffset, nil\n\t\t}\n\t\t// Check for non-canonical uses of ISO3.\n\t\tfor i := lang.Index(s[:1]); i != -1; i = lang.Next(s[:1], i) {\n\t\t\tif e := lang.Elem(i); e[2] == s[1] && e[3] == s[2] {\n\t\t\t\treturn langID(i), nil\n\t\t\t}\n\t\t}\n\t\treturn 0, mkErrInvalid(s)\n\t}\n\treturn 0, errSyntax\n}\n\n// stringToBuf writes the string to b and returns the number of bytes\n// written.  cap(b) must be >= 3.\nfunc (id langID) stringToBuf(b []byte) int {\n\tif id >= langNoIndexOffset {\n\t\tintToStr(uint(id)-langNoIndexOffset, b[:3])\n\t\treturn 3\n\t} else if id == 0 {\n\t\treturn copy(b, \"und\")\n\t}\n\tl := lang[id<<2:]\n\tif l[3] == 0 {\n\t\treturn copy(b, l[:3])\n\t}\n\treturn copy(b, l[:2])\n}\n\n// String returns the BCP 47 representation of the langID.\n// Use b as variable name, instead of id, to ensure the variable\n// used is consistent with that of Base in which this type is embedded.\nfunc (b langID) String() string {\n\tif b == 0 {\n\t\treturn \"und\"\n\t} else if b >= langNoIndexOffset {\n\t\tb -= langNoIndexOffset\n\t\tbuf := [3]byte{}\n\t\tintToStr(uint(b), buf[:])\n\t\treturn string(buf[:])\n\t}\n\tl := lang.Elem(int(b))\n\tif l[3] == 0 {\n\t\treturn l[:3]\n\t}\n\treturn l[:2]\n}\n\n// ISO3 returns the ISO 639-3 language code.\nfunc (b langID) ISO3() string {\n\tif b == 0 || b >= langNoIndexOffset {\n\t\treturn b.String()\n\t}\n\tl := lang.Elem(int(b))\n\tif l[3] == 0 {\n\t\treturn l[:3]\n\t} else if l[2] == 0 {\n\t\treturn altLangISO3.Elem(int(l[3]))[:3]\n\t}\n\t// This allocation will only happen for 3-letter ISO codes\n\t// that are non-canonical BCP 47 language identifiers.\n\treturn l[0:1] + l[2:4]\n}\n\n// IsPrivateUse reports whether this language code is reserved for private use.\nfunc (b langID) IsPrivateUse() bool {\n\treturn langPrivateStart <= b && b <= langPrivateEnd\n}\n\ntype regionID uint16\n\n// getRegionID returns the region id for s if s is a valid 2-letter region code\n// or unknownRegion.\nfunc getRegionID(s []byte) (regionID, error) {\n\tif len(s) == 3 {\n\t\tif isAlpha(s[0]) {\n\t\t\treturn getRegionISO3(s)\n\t\t}\n\t\tif i, err := strconv.ParseUint(string(s), 10, 10); err == nil {\n\t\t\treturn getRegionM49(int(i))\n\t\t}\n\t}\n\treturn getRegionISO2(s)\n}\n\n// getRegionISO2 returns the regionID for the given 2-letter ISO country code\n// or unknownRegion if this does not exist.\nfunc getRegionISO2(s []byte) (regionID, error) {\n\ti, err := findIndex(regionISO, s, \"ZZ\")\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\treturn regionID(i) + isoRegionOffset, nil\n}\n\n// getRegionISO3 returns the regionID for the given 3-letter ISO country code\n// or unknownRegion if this does not exist.\nfunc getRegionISO3(s []byte) (regionID, error) {\n\tif tag.FixCase(\"ZZZ\", s) {\n\t\tfor i := regionISO.Index(s[:1]); i != -1; i = regionISO.Next(s[:1], i) {\n\t\t\tif e := regionISO.Elem(i); e[2] == s[1] && e[3] == s[2] {\n\t\t\t\treturn regionID(i) + isoRegionOffset, nil\n\t\t\t}\n\t\t}\n\t\tfor i := 0; i < len(altRegionISO3); i += 3 {\n\t\t\tif tag.Compare(altRegionISO3[i:i+3], s) == 0 {\n\t\t\t\treturn regionID(altRegionIDs[i/3]), nil\n\t\t\t}\n\t\t}\n\t\treturn 0, mkErrInvalid(s)\n\t}\n\treturn 0, errSyntax\n}\n\nfunc getRegionM49(n int) (regionID, error) {\n\tif 0 < n && n <= 999 {\n\t\tconst (\n\t\t\tsearchBits = 7\n\t\t\tregionBits = 9\n\t\t\tregionMask = 1<<regionBits - 1\n\t\t)\n\t\tidx := n >> searchBits\n\t\tbuf := fromM49[m49Index[idx]:m49Index[idx+1]]\n\t\tval := uint16(n) << regionBits // we rely on bits shifting out\n\t\ti := sort.Search(len(buf), func(i int) bool {\n\t\t\treturn buf[i] >= val\n\t\t})\n\t\tif r := fromM49[int(m49Index[idx])+i]; r&^regionMask == val {\n\t\t\treturn regionID(r & regionMask), nil\n\t\t}\n\t}\n\tvar e ValueError\n\tfmt.Fprint(bytes.NewBuffer([]byte(e.v[:])), n)\n\treturn 0, e\n}\n\n// normRegion returns a region if r is deprecated or 0 otherwise.\n// TODO: consider supporting BYS (-> BLR), CSK (-> 200 or CZ), PHI (-> PHL) and AFI (-> DJ).\n// TODO: consider mapping split up regions to new most populous one (like CLDR).\nfunc normRegion(r regionID) regionID {\n\tm := regionOldMap\n\tk := sort.Search(len(m), func(i int) bool {\n\t\treturn m[i].from >= uint16(r)\n\t})\n\tif k < len(m) && m[k].from == uint16(r) {\n\t\treturn regionID(m[k].to)\n\t}\n\treturn 0\n}\n\nconst (\n\tiso3166UserAssigned = 1 << iota\n\tccTLD\n\tbcp47Region\n)\n\nfunc (r regionID) typ() byte {\n\treturn regionTypes[r]\n}\n\n// String returns the BCP 47 representation for the region.\n// It returns \"ZZ\" for an unspecified region.\nfunc (r regionID) String() string {\n\tif r < isoRegionOffset {\n\t\tif r == 0 {\n\t\t\treturn \"ZZ\"\n\t\t}\n\t\treturn fmt.Sprintf(\"%03d\", r.M49())\n\t}\n\tr -= isoRegionOffset\n\treturn regionISO.Elem(int(r))[:2]\n}\n\n// ISO3 returns the 3-letter ISO code of r.\n// Note that not all regions have a 3-letter ISO code.\n// In such cases this method returns \"ZZZ\".\nfunc (r regionID) ISO3() string {\n\tif r < isoRegionOffset {\n\t\treturn \"ZZZ\"\n\t}\n\tr -= isoRegionOffset\n\treg := regionISO.Elem(int(r))\n\tswitch reg[2] {\n\tcase 0:\n\t\treturn altRegionISO3[reg[3]:][:3]\n\tcase ' ':\n\t\treturn \"ZZZ\"\n\t}\n\treturn reg[0:1] + reg[2:4]\n}\n\n// M49 returns the UN M.49 encoding of r, or 0 if this encoding\n// is not defined for r.\nfunc (r regionID) M49() int {\n\treturn int(m49[r])\n}\n\n// IsPrivateUse reports whether r has the ISO 3166 User-assigned status. This\n// may include private-use tags that are assigned by CLDR and used in this\n// implementation. So IsPrivateUse and IsCountry can be simultaneously true.\nfunc (r regionID) IsPrivateUse() bool {\n\treturn r.typ()&iso3166UserAssigned != 0\n}\n\ntype scriptID uint8\n\n// getScriptID returns the script id for string s. It assumes that s\n// is of the format [A-Z][a-z]{3}.\nfunc getScriptID(idx tag.Index, s []byte) (scriptID, error) {\n\ti, err := findIndex(idx, s, \"Zzzz\")\n\treturn scriptID(i), err\n}\n\n// String returns the script code in title case.\n// It returns \"Zzzz\" for an unspecified script.\nfunc (s scriptID) String() string {\n\tif s == 0 {\n\t\treturn \"Zzzz\"\n\t}\n\treturn script.Elem(int(s))\n}\n\n// IsPrivateUse reports whether this script code is reserved for private use.\nfunc (s scriptID) IsPrivateUse() bool {\n\treturn _Qaaa <= s && s <= _Qabx\n}\n\nconst (\n\tmaxAltTaglen = len(\"en-US-POSIX\")\n\tmaxLen       = maxAltTaglen\n)\n\nvar (\n\t// grandfatheredMap holds a mapping from legacy and grandfathered tags to\n\t// their base language or index to more elaborate tag.\n\tgrandfatheredMap = map[[maxLen]byte]int16{\n\t\t[maxLen]byte{'a', 'r', 't', '-', 'l', 'o', 'j', 'b', 'a', 'n'}: _jbo, // art-lojban\n\t\t[maxLen]byte{'i', '-', 'a', 'm', 'i'}:                          _ami, // i-ami\n\t\t[maxLen]byte{'i', '-', 'b', 'n', 'n'}:                          _bnn, // i-bnn\n\t\t[maxLen]byte{'i', '-', 'h', 'a', 'k'}:                          _hak, // i-hak\n\t\t[maxLen]byte{'i', '-', 'k', 'l', 'i', 'n', 'g', 'o', 'n'}:      _tlh, // i-klingon\n\t\t[maxLen]byte{'i', '-', 'l', 'u', 'x'}:                          _lb,  // i-lux\n\t\t[maxLen]byte{'i', '-', 'n', 'a', 'v', 'a', 'j', 'o'}:           _nv,  // i-navajo\n\t\t[maxLen]byte{'i', '-', 'p', 'w', 'n'}:                          _pwn, // i-pwn\n\t\t[maxLen]byte{'i', '-', 't', 'a', 'o'}:                          _tao, // i-tao\n\t\t[maxLen]byte{'i', '-', 't', 'a', 'y'}:                          _tay, // i-tay\n\t\t[maxLen]byte{'i', '-', 't', 's', 'u'}:                          _tsu, // i-tsu\n\t\t[maxLen]byte{'n', 'o', '-', 'b', 'o', 'k'}:                     _nb,  // no-bok\n\t\t[maxLen]byte{'n', 'o', '-', 'n', 'y', 'n'}:                     _nn,  // no-nyn\n\t\t[maxLen]byte{'s', 'g', 'n', '-', 'b', 'e', '-', 'f', 'r'}:      _sfb, // sgn-BE-FR\n\t\t[maxLen]byte{'s', 'g', 'n', '-', 'b', 'e', '-', 'n', 'l'}:      _vgt, // sgn-BE-NL\n\t\t[maxLen]byte{'s', 'g', 'n', '-', 'c', 'h', '-', 'd', 'e'}:      _sgg, // sgn-CH-DE\n\t\t[maxLen]byte{'z', 'h', '-', 'g', 'u', 'o', 'y', 'u'}:           _cmn, // zh-guoyu\n\t\t[maxLen]byte{'z', 'h', '-', 'h', 'a', 'k', 'k', 'a'}:           _hak, // zh-hakka\n\t\t[maxLen]byte{'z', 'h', '-', 'm', 'i', 'n', '-', 'n', 'a', 'n'}: _nan, // zh-min-nan\n\t\t[maxLen]byte{'z', 'h', '-', 'x', 'i', 'a', 'n', 'g'}:           _hsn, // zh-xiang\n\n\t\t// Grandfathered tags with no modern replacement will be converted as\n\t\t// follows:\n\t\t[maxLen]byte{'c', 'e', 'l', '-', 'g', 'a', 'u', 'l', 'i', 's', 'h'}: -1, // cel-gaulish\n\t\t[maxLen]byte{'e', 'n', '-', 'g', 'b', '-', 'o', 'e', 'd'}:           -2, // en-GB-oed\n\t\t[maxLen]byte{'i', '-', 'd', 'e', 'f', 'a', 'u', 'l', 't'}:           -3, // i-default\n\t\t[maxLen]byte{'i', '-', 'e', 'n', 'o', 'c', 'h', 'i', 'a', 'n'}:      -4, // i-enochian\n\t\t[maxLen]byte{'i', '-', 'm', 'i', 'n', 'g', 'o'}:                     -5, // i-mingo\n\t\t[maxLen]byte{'z', 'h', '-', 'm', 'i', 'n'}:                          -6, // zh-min\n\n\t\t// CLDR-specific tag.\n\t\t[maxLen]byte{'r', 'o', 'o', 't'}:                                    0,  // root\n\t\t[maxLen]byte{'e', 'n', '-', 'u', 's', '-', 'p', 'o', 's', 'i', 'x'}: -7, // en_US_POSIX\"\n\t}\n\n\taltTagIndex = [...]uint8{0, 17, 31, 45, 61, 74, 86, 102}\n\n\taltTags = \"xtg-x-cel-gaulishen-GB-oxendicten-x-i-defaultund-x-i-enochiansee-x-i-mingonan-x-zh-minen-US-u-va-posix\"\n)\n\nfunc grandfathered(s [maxAltTaglen]byte) (t Tag, ok bool) {\n\tif v, ok := grandfatheredMap[s]; ok {\n\t\tif v < 0 {\n\t\t\treturn Make(altTags[altTagIndex[-v-1]:altTagIndex[-v]]), true\n\t\t}\n\t\tt.lang = langID(v)\n\t\treturn t, true\n\t}\n\treturn t, false\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/language/match.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage language\n\nimport \"errors\"\n\n// A MatchOption configures a Matcher.\ntype MatchOption func(*matcher)\n\n// PreferSameScript will, in the absence of a match, result in the first\n// preferred tag with the same script as a supported tag to match this supported\n// tag. The default is currently true, but this may change in the future.\nfunc PreferSameScript(preferSame bool) MatchOption {\n\treturn func(m *matcher) { m.preferSameScript = preferSame }\n}\n\n// TODO(v1.0.0): consider making Matcher a concrete type, instead of interface.\n// There doesn't seem to be too much need for multiple types.\n// Making it a concrete type allows MatchStrings to be a method, which will\n// improve its discoverability.\n\n// MatchStrings parses and matches the given strings until one of them matches\n// the language in the Matcher. A string may be an Accept-Language header as\n// handled by ParseAcceptLanguage. The default language is returned if no\n// other language matched.\nfunc MatchStrings(m Matcher, lang ...string) (tag Tag, index int) {\n\tfor _, accept := range lang {\n\t\tdesired, _, err := ParseAcceptLanguage(accept)\n\t\tif err != nil {\n\t\t\tcontinue\n\t\t}\n\t\tif tag, index, conf := m.Match(desired...); conf != No {\n\t\t\treturn tag, index\n\t\t}\n\t}\n\ttag, index, _ = m.Match()\n\treturn\n}\n\n// Matcher is the interface that wraps the Match method.\n//\n// Match returns the best match for any of the given tags, along with\n// a unique index associated with the returned tag and a confidence\n// score.\ntype Matcher interface {\n\tMatch(t ...Tag) (tag Tag, index int, c Confidence)\n}\n\n// Comprehends reports the confidence score for a speaker of a given language\n// to being able to comprehend the written form of an alternative language.\nfunc Comprehends(speaker, alternative Tag) Confidence {\n\t_, _, c := NewMatcher([]Tag{alternative}).Match(speaker)\n\treturn c\n}\n\n// NewMatcher returns a Matcher that matches an ordered list of preferred tags\n// against a list of supported tags based on written intelligibility, closeness\n// of dialect, equivalence of subtags and various other rules. It is initialized\n// with the list of supported tags. The first element is used as the default\n// value in case no match is found.\n//\n// Its Match method matches the first of the given Tags to reach a certain\n// confidence threshold. The tags passed to Match should therefore be specified\n// in order of preference. Extensions are ignored for matching.\n//\n// The index returned by the Match method corresponds to the index of the\n// matched tag in t, but is augmented with the Unicode extension ('u')of the\n// corresponding preferred tag. This allows user locale options to be passed\n// transparently.\nfunc NewMatcher(t []Tag, options ...MatchOption) Matcher {\n\treturn newMatcher(t, options)\n}\n\nfunc (m *matcher) Match(want ...Tag) (t Tag, index int, c Confidence) {\n\tmatch, w, c := m.getBest(want...)\n\tif match != nil {\n\t\tt, index = match.tag, match.index\n\t} else {\n\t\t// TODO: this should be an option\n\t\tt = m.default_.tag\n\t\tif m.preferSameScript {\n\t\touter:\n\t\t\tfor _, w := range want {\n\t\t\t\tscript, _ := w.Script()\n\t\t\t\tif script.scriptID == 0 {\n\t\t\t\t\t// Don't do anything if there is no script, such as with\n\t\t\t\t\t// private subtags.\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tfor i, h := range m.supported {\n\t\t\t\t\tif script.scriptID == h.maxScript {\n\t\t\t\t\t\tt, index = h.tag, i\n\t\t\t\t\t\tbreak outer\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// TODO: select first language tag based on script.\n\t}\n\tif w.region != 0 && t.region != 0 && t.region.contains(w.region) {\n\t\tt, _ = Raw.Compose(t, Region{w.region})\n\t}\n\t// Copy options from the user-provided tag into the result tag. This is hard\n\t// to do after the fact, so we do it here.\n\t// TODO: add in alternative variants to -u-va-.\n\t// TODO: add preferred region to -u-rg-.\n\tif e := w.Extensions(); len(e) > 0 {\n\t\tt, _ = Raw.Compose(t, e)\n\t}\n\treturn t, index, c\n}\n\ntype scriptRegionFlags uint8\n\nconst (\n\tisList = 1 << iota\n\tscriptInFrom\n\tregionInFrom\n)\n\nfunc (t *Tag) setUndefinedLang(id langID) {\n\tif t.lang == 0 {\n\t\tt.lang = id\n\t}\n}\n\nfunc (t *Tag) setUndefinedScript(id scriptID) {\n\tif t.script == 0 {\n\t\tt.script = id\n\t}\n}\n\nfunc (t *Tag) setUndefinedRegion(id regionID) {\n\tif t.region == 0 || t.region.contains(id) {\n\t\tt.region = id\n\t}\n}\n\n// ErrMissingLikelyTagsData indicates no information was available\n// to compute likely values of missing tags.\nvar ErrMissingLikelyTagsData = errors.New(\"missing likely tags data\")\n\n// addLikelySubtags sets subtags to their most likely value, given the locale.\n// In most cases this means setting fields for unknown values, but in some\n// cases it may alter a value.  It returns an ErrMissingLikelyTagsData error\n// if the given locale cannot be expanded.\nfunc (t Tag) addLikelySubtags() (Tag, error) {\n\tid, err := addTags(t)\n\tif err != nil {\n\t\treturn t, err\n\t} else if id.equalTags(t) {\n\t\treturn t, nil\n\t}\n\tid.remakeString()\n\treturn id, nil\n}\n\n// specializeRegion attempts to specialize a group region.\nfunc specializeRegion(t *Tag) bool {\n\tif i := regionInclusion[t.region]; i < nRegionGroups {\n\t\tx := likelyRegionGroup[i]\n\t\tif langID(x.lang) == t.lang && scriptID(x.script) == t.script {\n\t\t\tt.region = regionID(x.region)\n\t\t}\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunc addTags(t Tag) (Tag, error) {\n\t// We leave private use identifiers alone.\n\tif t.private() {\n\t\treturn t, nil\n\t}\n\tif t.script != 0 && t.region != 0 {\n\t\tif t.lang != 0 {\n\t\t\t// already fully specified\n\t\t\tspecializeRegion(&t)\n\t\t\treturn t, nil\n\t\t}\n\t\t// Search matches for und-script-region. Note that for these cases\n\t\t// region will never be a group so there is no need to check for this.\n\t\tlist := likelyRegion[t.region : t.region+1]\n\t\tif x := list[0]; x.flags&isList != 0 {\n\t\t\tlist = likelyRegionList[x.lang : x.lang+uint16(x.script)]\n\t\t}\n\t\tfor _, x := range list {\n\t\t\t// Deviating from the spec. See match_test.go for details.\n\t\t\tif scriptID(x.script) == t.script {\n\t\t\t\tt.setUndefinedLang(langID(x.lang))\n\t\t\t\treturn t, nil\n\t\t\t}\n\t\t}\n\t}\n\tif t.lang != 0 {\n\t\t// Search matches for lang-script and lang-region, where lang != und.\n\t\tif t.lang < langNoIndexOffset {\n\t\t\tx := likelyLang[t.lang]\n\t\t\tif x.flags&isList != 0 {\n\t\t\t\tlist := likelyLangList[x.region : x.region+uint16(x.script)]\n\t\t\t\tif t.script != 0 {\n\t\t\t\t\tfor _, x := range list {\n\t\t\t\t\t\tif scriptID(x.script) == t.script && x.flags&scriptInFrom != 0 {\n\t\t\t\t\t\t\tt.setUndefinedRegion(regionID(x.region))\n\t\t\t\t\t\t\treturn t, nil\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if t.region != 0 {\n\t\t\t\t\tcount := 0\n\t\t\t\t\tgoodScript := true\n\t\t\t\t\ttt := t\n\t\t\t\t\tfor _, x := range list {\n\t\t\t\t\t\t// We visit all entries for which the script was not\n\t\t\t\t\t\t// defined, including the ones where the region was not\n\t\t\t\t\t\t// defined. This allows for proper disambiguation within\n\t\t\t\t\t\t// regions.\n\t\t\t\t\t\tif x.flags&scriptInFrom == 0 && t.region.contains(regionID(x.region)) {\n\t\t\t\t\t\t\ttt.region = regionID(x.region)\n\t\t\t\t\t\t\ttt.setUndefinedScript(scriptID(x.script))\n\t\t\t\t\t\t\tgoodScript = goodScript && tt.script == scriptID(x.script)\n\t\t\t\t\t\t\tcount++\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif count == 1 {\n\t\t\t\t\t\treturn tt, nil\n\t\t\t\t\t}\n\t\t\t\t\t// Even if we fail to find a unique Region, we might have\n\t\t\t\t\t// an unambiguous script.\n\t\t\t\t\tif goodScript {\n\t\t\t\t\t\tt.script = tt.script\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// Search matches for und-script.\n\t\tif t.script != 0 {\n\t\t\tx := likelyScript[t.script]\n\t\t\tif x.region != 0 {\n\t\t\t\tt.setUndefinedRegion(regionID(x.region))\n\t\t\t\tt.setUndefinedLang(langID(x.lang))\n\t\t\t\treturn t, nil\n\t\t\t}\n\t\t}\n\t\t// Search matches for und-region. If und-script-region exists, it would\n\t\t// have been found earlier.\n\t\tif t.region != 0 {\n\t\t\tif i := regionInclusion[t.region]; i < nRegionGroups {\n\t\t\t\tx := likelyRegionGroup[i]\n\t\t\t\tif x.region != 0 {\n\t\t\t\t\tt.setUndefinedLang(langID(x.lang))\n\t\t\t\t\tt.setUndefinedScript(scriptID(x.script))\n\t\t\t\t\tt.region = regionID(x.region)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tx := likelyRegion[t.region]\n\t\t\t\tif x.flags&isList != 0 {\n\t\t\t\t\tx = likelyRegionList[x.lang]\n\t\t\t\t}\n\t\t\t\tif x.script != 0 && x.flags != scriptInFrom {\n\t\t\t\t\tt.setUndefinedLang(langID(x.lang))\n\t\t\t\t\tt.setUndefinedScript(scriptID(x.script))\n\t\t\t\t\treturn t, nil\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Search matches for lang.\n\tif t.lang < langNoIndexOffset {\n\t\tx := likelyLang[t.lang]\n\t\tif x.flags&isList != 0 {\n\t\t\tx = likelyLangList[x.region]\n\t\t}\n\t\tif x.region != 0 {\n\t\t\tt.setUndefinedScript(scriptID(x.script))\n\t\t\tt.setUndefinedRegion(regionID(x.region))\n\t\t}\n\t\tspecializeRegion(&t)\n\t\tif t.lang == 0 {\n\t\t\tt.lang = _en // default language\n\t\t}\n\t\treturn t, nil\n\t}\n\treturn t, ErrMissingLikelyTagsData\n}\n\nfunc (t *Tag) setTagsFrom(id Tag) {\n\tt.lang = id.lang\n\tt.script = id.script\n\tt.region = id.region\n}\n\n// minimize removes the region or script subtags from t such that\n// t.addLikelySubtags() == t.minimize().addLikelySubtags().\nfunc (t Tag) minimize() (Tag, error) {\n\tt, err := minimizeTags(t)\n\tif err != nil {\n\t\treturn t, err\n\t}\n\tt.remakeString()\n\treturn t, nil\n}\n\n// minimizeTags mimics the behavior of the ICU 51 C implementation.\nfunc minimizeTags(t Tag) (Tag, error) {\n\tif t.equalTags(und) {\n\t\treturn t, nil\n\t}\n\tmax, err := addTags(t)\n\tif err != nil {\n\t\treturn t, err\n\t}\n\tfor _, id := range [...]Tag{\n\t\t{lang: t.lang},\n\t\t{lang: t.lang, region: t.region},\n\t\t{lang: t.lang, script: t.script},\n\t} {\n\t\tif x, err := addTags(id); err == nil && max.equalTags(x) {\n\t\t\tt.setTagsFrom(id)\n\t\t\tbreak\n\t\t}\n\t}\n\treturn t, nil\n}\n\n// Tag Matching\n// CLDR defines an algorithm for finding the best match between two sets of language\n// tags. The basic algorithm defines how to score a possible match and then find\n// the match with the best score\n// (see http://www.unicode.org/reports/tr35/#LanguageMatching).\n// Using scoring has several disadvantages. The scoring obfuscates the importance of\n// the various factors considered, making the algorithm harder to understand. Using\n// scoring also requires the full score to be computed for each pair of tags.\n//\n// We will use a different algorithm which aims to have the following properties:\n// - clarity on the precedence of the various selection factors, and\n// - improved performance by allowing early termination of a comparison.\n//\n// Matching algorithm (overview)\n// Input:\n//   - supported: a set of supported tags\n//   - default:   the default tag to return in case there is no match\n//   - desired:   list of desired tags, ordered by preference, starting with\n//                the most-preferred.\n//\n// Algorithm:\n//   1) Set the best match to the lowest confidence level\n//   2) For each tag in \"desired\":\n//     a) For each tag in \"supported\":\n//        1) compute the match between the two tags.\n//        2) if the match is better than the previous best match, replace it\n//           with the new match. (see next section)\n//     b) if the current best match is Exact and pin is true the result will be\n//        frozen to the language found thusfar, although better matches may\n//        still be found for the same language.\n//   3) If the best match so far is below a certain threshold, return \"default\".\n//\n// Ranking:\n// We use two phases to determine whether one pair of tags are a better match\n// than another pair of tags. First, we determine a rough confidence level. If the\n// levels are different, the one with the highest confidence wins.\n// Second, if the rough confidence levels are identical, we use a set of tie-breaker\n// rules.\n//\n// The confidence level of matching a pair of tags is determined by finding the\n// lowest confidence level of any matches of the corresponding subtags (the\n// result is deemed as good as its weakest link).\n// We define the following levels:\n//   Exact    - An exact match of a subtag, before adding likely subtags.\n//   MaxExact - An exact match of a subtag, after adding likely subtags.\n//              [See Note 2].\n//   High     - High level of mutual intelligibility between different subtag\n//              variants.\n//   Low      - Low level of mutual intelligibility between different subtag\n//              variants.\n//   No       - No mutual intelligibility.\n//\n// The following levels can occur for each type of subtag:\n//   Base:    Exact, MaxExact, High, Low, No\n//   Script:  Exact, MaxExact [see Note 3], Low, No\n//   Region:  Exact, MaxExact, High\n//   Variant: Exact, High\n//   Private: Exact, No\n//\n// Any result with a confidence level of Low or higher is deemed a possible match.\n// Once a desired tag matches any of the supported tags with a level of MaxExact\n// or higher, the next desired tag is not considered (see Step 2.b).\n// Note that CLDR provides languageMatching data that defines close equivalence\n// classes for base languages, scripts and regions.\n//\n// Tie-breaking\n// If we get the same confidence level for two matches, we apply a sequence of\n// tie-breaking rules. The first that succeeds defines the result. The rules are\n// applied in the following order.\n//   1) Original language was defined and was identical.\n//   2) Original region was defined and was identical.\n//   3) Distance between two maximized regions was the smallest.\n//   4) Original script was defined and was identical.\n//   5) Distance from want tag to have tag using the parent relation [see Note 5.]\n// If there is still no winner after these rules are applied, the first match\n// found wins.\n//\n// Notes:\n// [2] In practice, as matching of Exact is done in a separate phase from\n//     matching the other levels, we reuse the Exact level to mean MaxExact in\n//     the second phase. As a consequence, we only need the levels defined by\n//     the Confidence type. The MaxExact confidence level is mapped to High in\n//     the public API.\n// [3] We do not differentiate between maximized script values that were derived\n//     from suppressScript versus most likely tag data. We determined that in\n//     ranking the two, one ranks just after the other. Moreover, the two cannot\n//     occur concurrently. As a consequence, they are identical for practical\n//     purposes.\n// [4] In case of deprecated, macro-equivalents and legacy mappings, we assign\n//     the MaxExact level to allow iw vs he to still be a closer match than\n//     en-AU vs en-US, for example.\n// [5] In CLDR a locale inherits fields that are unspecified for this locale\n//     from its parent. Therefore, if a locale is a parent of another locale,\n//     it is a strong measure for closeness, especially when no other tie\n//     breaker rule applies. One could also argue it is inconsistent, for\n//     example, when pt-AO matches pt (which CLDR equates with pt-BR), even\n//     though its parent is pt-PT according to the inheritance rules.\n//\n// Implementation Details:\n// There are several performance considerations worth pointing out. Most notably,\n// we preprocess as much as possible (within reason) at the time of creation of a\n// matcher. This includes:\n//   - creating a per-language map, which includes data for the raw base language\n//     and its canonicalized variant (if applicable),\n//   - expanding entries for the equivalence classes defined in CLDR's\n//     languageMatch data.\n// The per-language map ensures that typically only a very small number of tags\n// need to be considered. The pre-expansion of canonicalized subtags and\n// equivalence classes reduces the amount of map lookups that need to be done at\n// runtime.\n\n// matcher keeps a set of supported language tags, indexed by language.\ntype matcher struct {\n\tdefault_         *haveTag\n\tsupported        []*haveTag\n\tindex            map[langID]*matchHeader\n\tpassSettings     bool\n\tpreferSameScript bool\n}\n\n// matchHeader has the lists of tags for exact matches and matches based on\n// maximized and canonicalized tags for a given language.\ntype matchHeader struct {\n\thaveTags []*haveTag\n\toriginal bool\n}\n\n// haveTag holds a supported Tag and its maximized script and region. The maximized\n// or canonicalized language is not stored as it is not needed during matching.\ntype haveTag struct {\n\ttag Tag\n\n\t// index of this tag in the original list of supported tags.\n\tindex int\n\n\t// conf is the maximum confidence that can result from matching this haveTag.\n\t// When conf < Exact this means it was inserted after applying a CLDR equivalence rule.\n\tconf Confidence\n\n\t// Maximized region and script.\n\tmaxRegion regionID\n\tmaxScript scriptID\n\n\t// altScript may be checked as an alternative match to maxScript. If altScript\n\t// matches, the confidence level for this match is Low. Theoretically there\n\t// could be multiple alternative scripts. This does not occur in practice.\n\taltScript scriptID\n\n\t// nextMax is the index of the next haveTag with the same maximized tags.\n\tnextMax uint16\n}\n\nfunc makeHaveTag(tag Tag, index int) (haveTag, langID) {\n\tmax := tag\n\tif tag.lang != 0 || tag.region != 0 || tag.script != 0 {\n\t\tmax, _ = max.canonicalize(All)\n\t\tmax, _ = addTags(max)\n\t\tmax.remakeString()\n\t}\n\treturn haveTag{tag, index, Exact, max.region, max.script, altScript(max.lang, max.script), 0}, max.lang\n}\n\n// altScript returns an alternative script that may match the given script with\n// a low confidence.  At the moment, the langMatch data allows for at most one\n// script to map to another and we rely on this to keep the code simple.\nfunc altScript(l langID, s scriptID) scriptID {\n\tfor _, alt := range matchScript {\n\t\t// TODO: also match cases where language is not the same.\n\t\tif (langID(alt.wantLang) == l || langID(alt.haveLang) == l) &&\n\t\t\tscriptID(alt.haveScript) == s {\n\t\t\treturn scriptID(alt.wantScript)\n\t\t}\n\t}\n\treturn 0\n}\n\n// addIfNew adds a haveTag to the list of tags only if it is a unique tag.\n// Tags that have the same maximized values are linked by index.\nfunc (h *matchHeader) addIfNew(n haveTag, exact bool) {\n\th.original = h.original || exact\n\t// Don't add new exact matches.\n\tfor _, v := range h.haveTags {\n\t\tif v.tag.equalsRest(n.tag) {\n\t\t\treturn\n\t\t}\n\t}\n\t// Allow duplicate maximized tags, but create a linked list to allow quickly\n\t// comparing the equivalents and bail out.\n\tfor i, v := range h.haveTags {\n\t\tif v.maxScript == n.maxScript &&\n\t\t\tv.maxRegion == n.maxRegion &&\n\t\t\tv.tag.variantOrPrivateTagStr() == n.tag.variantOrPrivateTagStr() {\n\t\t\tfor h.haveTags[i].nextMax != 0 {\n\t\t\t\ti = int(h.haveTags[i].nextMax)\n\t\t\t}\n\t\t\th.haveTags[i].nextMax = uint16(len(h.haveTags))\n\t\t\tbreak\n\t\t}\n\t}\n\th.haveTags = append(h.haveTags, &n)\n}\n\n// header returns the matchHeader for the given language. It creates one if\n// it doesn't already exist.\nfunc (m *matcher) header(l langID) *matchHeader {\n\tif h := m.index[l]; h != nil {\n\t\treturn h\n\t}\n\th := &matchHeader{}\n\tm.index[l] = h\n\treturn h\n}\n\nfunc toConf(d uint8) Confidence {\n\tif d <= 10 {\n\t\treturn High\n\t}\n\tif d < 30 {\n\t\treturn Low\n\t}\n\treturn No\n}\n\n// newMatcher builds an index for the given supported tags and returns it as\n// a matcher. It also expands the index by considering various equivalence classes\n// for a given tag.\nfunc newMatcher(supported []Tag, options []MatchOption) *matcher {\n\tm := &matcher{\n\t\tindex:            make(map[langID]*matchHeader),\n\t\tpreferSameScript: true,\n\t}\n\tfor _, o := range options {\n\t\to(m)\n\t}\n\tif len(supported) == 0 {\n\t\tm.default_ = &haveTag{}\n\t\treturn m\n\t}\n\t// Add supported languages to the index. Add exact matches first to give\n\t// them precedence.\n\tfor i, tag := range supported {\n\t\tpair, _ := makeHaveTag(tag, i)\n\t\tm.header(tag.lang).addIfNew(pair, true)\n\t\tm.supported = append(m.supported, &pair)\n\t}\n\tm.default_ = m.header(supported[0].lang).haveTags[0]\n\t// Keep these in two different loops to support the case that two equivalent\n\t// languages are distinguished, such as iw and he.\n\tfor i, tag := range supported {\n\t\tpair, max := makeHaveTag(tag, i)\n\t\tif max != tag.lang {\n\t\t\tm.header(max).addIfNew(pair, true)\n\t\t}\n\t}\n\n\t// update is used to add indexes in the map for equivalent languages.\n\t// update will only add entries to original indexes, thus not computing any\n\t// transitive relations.\n\tupdate := func(want, have uint16, conf Confidence) {\n\t\tif hh := m.index[langID(have)]; hh != nil {\n\t\t\tif !hh.original {\n\t\t\t\treturn\n\t\t\t}\n\t\t\thw := m.header(langID(want))\n\t\t\tfor _, ht := range hh.haveTags {\n\t\t\t\tv := *ht\n\t\t\t\tif conf < v.conf {\n\t\t\t\t\tv.conf = conf\n\t\t\t\t}\n\t\t\t\tv.nextMax = 0 // this value needs to be recomputed\n\t\t\t\tif v.altScript != 0 {\n\t\t\t\t\tv.altScript = altScript(langID(want), v.maxScript)\n\t\t\t\t}\n\t\t\t\thw.addIfNew(v, conf == Exact && hh.original)\n\t\t\t}\n\t\t}\n\t}\n\n\t// Add entries for languages with mutual intelligibility as defined by CLDR's\n\t// languageMatch data.\n\tfor _, ml := range matchLang {\n\t\tupdate(ml.want, ml.have, toConf(ml.distance))\n\t\tif !ml.oneway {\n\t\t\tupdate(ml.have, ml.want, toConf(ml.distance))\n\t\t}\n\t}\n\n\t// Add entries for possible canonicalizations. This is an optimization to\n\t// ensure that only one map lookup needs to be done at runtime per desired tag.\n\t// First we match deprecated equivalents. If they are perfect equivalents\n\t// (their canonicalization simply substitutes a different language code, but\n\t// nothing else), the match confidence is Exact, otherwise it is High.\n\tfor i, lm := range langAliasMap {\n\t\t// If deprecated codes match and there is no fiddling with the script or\n\t\t// or region, we consider it an exact match.\n\t\tconf := Exact\n\t\tif langAliasTypes[i] != langMacro {\n\t\t\tif !isExactEquivalent(langID(lm.from)) {\n\t\t\t\tconf = High\n\t\t\t}\n\t\t\tupdate(lm.to, lm.from, conf)\n\t\t}\n\t\tupdate(lm.from, lm.to, conf)\n\t}\n\treturn m\n}\n\n// getBest gets the best matching tag in m for any of the given tags, taking into\n// account the order of preference of the given tags.\nfunc (m *matcher) getBest(want ...Tag) (got *haveTag, orig Tag, c Confidence) {\n\tbest := bestMatch{}\n\tfor i, w := range want {\n\t\tvar max Tag\n\t\t// Check for exact match first.\n\t\th := m.index[w.lang]\n\t\tif w.lang != 0 {\n\t\t\tif h == nil {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\t// Base language is defined.\n\t\t\tmax, _ = w.canonicalize(Legacy | Deprecated | Macro)\n\t\t\t// A region that is added through canonicalization is stronger than\n\t\t\t// a maximized region: set it in the original (e.g. mo -> ro-MD).\n\t\t\tif w.region != max.region {\n\t\t\t\tw.region = max.region\n\t\t\t}\n\t\t\t// TODO: should we do the same for scripts?\n\t\t\t// See test case: en, sr, nl ; sh ; sr\n\t\t\tmax, _ = addTags(max)\n\t\t} else {\n\t\t\t// Base language is not defined.\n\t\t\tif h != nil {\n\t\t\t\tfor i := range h.haveTags {\n\t\t\t\t\thave := h.haveTags[i]\n\t\t\t\t\tif have.tag.equalsRest(w) {\n\t\t\t\t\t\treturn have, w, Exact\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif w.script == 0 && w.region == 0 {\n\t\t\t\t// We skip all tags matching und for approximate matching, including\n\t\t\t\t// private tags.\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tmax, _ = addTags(w)\n\t\t\tif h = m.index[max.lang]; h == nil {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t}\n\t\tpin := true\n\t\tfor _, t := range want[i+1:] {\n\t\t\tif w.lang == t.lang {\n\t\t\t\tpin = false\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\t// Check for match based on maximized tag.\n\t\tfor i := range h.haveTags {\n\t\t\thave := h.haveTags[i]\n\t\t\tbest.update(have, w, max.script, max.region, pin)\n\t\t\tif best.conf == Exact {\n\t\t\t\tfor have.nextMax != 0 {\n\t\t\t\t\thave = h.haveTags[have.nextMax]\n\t\t\t\t\tbest.update(have, w, max.script, max.region, pin)\n\t\t\t\t}\n\t\t\t\treturn best.have, best.want, best.conf\n\t\t\t}\n\t\t}\n\t}\n\tif best.conf <= No {\n\t\tif len(want) != 0 {\n\t\t\treturn nil, want[0], No\n\t\t}\n\t\treturn nil, Tag{}, No\n\t}\n\treturn best.have, best.want, best.conf\n}\n\n// bestMatch accumulates the best match so far.\ntype bestMatch struct {\n\thave            *haveTag\n\twant            Tag\n\tconf            Confidence\n\tpinnedRegion    regionID\n\tpinLanguage     bool\n\tsameRegionGroup bool\n\t// Cached results from applying tie-breaking rules.\n\torigLang     bool\n\torigReg      bool\n\tparadigmReg  bool\n\tregGroupDist uint8\n\torigScript   bool\n}\n\n// update updates the existing best match if the new pair is considered to be a\n// better match. To determine if the given pair is a better match, it first\n// computes the rough confidence level. If this surpasses the current match, it\n// will replace it and update the tie-breaker rule cache. If there is a tie, it\n// proceeds with applying a series of tie-breaker rules. If there is no\n// conclusive winner after applying the tie-breaker rules, it leaves the current\n// match as the preferred match.\n//\n// If pin is true and have and tag are a strong match, it will henceforth only\n// consider matches for this language. This corresponds to the nothing that most\n// users have a strong preference for the first defined language. A user can\n// still prefer a second language over a dialect of the preferred language by\n// explicitly specifying dialects, e.g. \"en, nl, en-GB\". In this case pin should\n// be false.\nfunc (m *bestMatch) update(have *haveTag, tag Tag, maxScript scriptID, maxRegion regionID, pin bool) {\n\t// Bail if the maximum attainable confidence is below that of the current best match.\n\tc := have.conf\n\tif c < m.conf {\n\t\treturn\n\t}\n\t// Don't change the language once we already have found an exact match.\n\tif m.pinLanguage && tag.lang != m.want.lang {\n\t\treturn\n\t}\n\t// Pin the region group if we are comparing tags for the same language.\n\tif tag.lang == m.want.lang && m.sameRegionGroup {\n\t\t_, sameGroup := regionGroupDist(m.pinnedRegion, have.maxRegion, have.maxScript, m.want.lang)\n\t\tif !sameGroup {\n\t\t\treturn\n\t\t}\n\t}\n\tif c == Exact && have.maxScript == maxScript {\n\t\t// If there is another language and then another entry of this language,\n\t\t// don't pin anything, otherwise pin the language.\n\t\tm.pinLanguage = pin\n\t}\n\tif have.tag.equalsRest(tag) {\n\t} else if have.maxScript != maxScript {\n\t\t// There is usually very little comprehension between different scripts.\n\t\t// In a few cases there may still be Low comprehension. This possibility\n\t\t// is pre-computed and stored in have.altScript.\n\t\tif Low < m.conf || have.altScript != maxScript {\n\t\t\treturn\n\t\t}\n\t\tc = Low\n\t} else if have.maxRegion != maxRegion {\n\t\tif High < c {\n\t\t\t// There is usually a small difference between languages across regions.\n\t\t\tc = High\n\t\t}\n\t}\n\n\t// We store the results of the computations of the tie-breaker rules along\n\t// with the best match. There is no need to do the checks once we determine\n\t// we have a winner, but we do still need to do the tie-breaker computations.\n\t// We use \"beaten\" to keep track if we still need to do the checks.\n\tbeaten := false // true if the new pair defeats the current one.\n\tif c != m.conf {\n\t\tif c < m.conf {\n\t\t\treturn\n\t\t}\n\t\tbeaten = true\n\t}\n\n\t// Tie-breaker rules:\n\t// We prefer if the pre-maximized language was specified and identical.\n\torigLang := have.tag.lang == tag.lang && tag.lang != 0\n\tif !beaten && m.origLang != origLang {\n\t\tif m.origLang {\n\t\t\treturn\n\t\t}\n\t\tbeaten = true\n\t}\n\n\t// We prefer if the pre-maximized region was specified and identical.\n\torigReg := have.tag.region == tag.region && tag.region != 0\n\tif !beaten && m.origReg != origReg {\n\t\tif m.origReg {\n\t\t\treturn\n\t\t}\n\t\tbeaten = true\n\t}\n\n\tregGroupDist, sameGroup := regionGroupDist(have.maxRegion, maxRegion, maxScript, tag.lang)\n\tif !beaten && m.regGroupDist != regGroupDist {\n\t\tif regGroupDist > m.regGroupDist {\n\t\t\treturn\n\t\t}\n\t\tbeaten = true\n\t}\n\n\tparadigmReg := isParadigmLocale(tag.lang, have.maxRegion)\n\tif !beaten && m.paradigmReg != paradigmReg {\n\t\tif !paradigmReg {\n\t\t\treturn\n\t\t}\n\t\tbeaten = true\n\t}\n\n\t// Next we prefer if the pre-maximized script was specified and identical.\n\torigScript := have.tag.script == tag.script && tag.script != 0\n\tif !beaten && m.origScript != origScript {\n\t\tif m.origScript {\n\t\t\treturn\n\t\t}\n\t\tbeaten = true\n\t}\n\n\t// Update m to the newly found best match.\n\tif beaten {\n\t\tm.have = have\n\t\tm.want = tag\n\t\tm.conf = c\n\t\tm.pinnedRegion = maxRegion\n\t\tm.sameRegionGroup = sameGroup\n\t\tm.origLang = origLang\n\t\tm.origReg = origReg\n\t\tm.paradigmReg = paradigmReg\n\t\tm.origScript = origScript\n\t\tm.regGroupDist = regGroupDist\n\t}\n}\n\nfunc isParadigmLocale(lang langID, r regionID) bool {\n\tfor _, e := range paradigmLocales {\n\t\tif langID(e[0]) == lang && (r == regionID(e[1]) || r == regionID(e[2])) {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\n// regionGroupDist computes the distance between two regions based on their\n// CLDR grouping.\nfunc regionGroupDist(a, b regionID, script scriptID, lang langID) (dist uint8, same bool) {\n\tconst defaultDistance = 4\n\n\taGroup := uint(regionToGroups[a]) << 1\n\tbGroup := uint(regionToGroups[b]) << 1\n\tfor _, ri := range matchRegion {\n\t\tif langID(ri.lang) == lang && (ri.script == 0 || scriptID(ri.script) == script) {\n\t\t\tgroup := uint(1 << (ri.group &^ 0x80))\n\t\t\tif 0x80&ri.group == 0 {\n\t\t\t\tif aGroup&bGroup&group != 0 { // Both regions are in the group.\n\t\t\t\t\treturn ri.distance, ri.distance == defaultDistance\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (aGroup|bGroup)&group == 0 { // Both regions are not in the group.\n\t\t\t\t\treturn ri.distance, ri.distance == defaultDistance\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn defaultDistance, true\n}\n\nfunc (t Tag) variants() string {\n\tif t.pVariant == 0 {\n\t\treturn \"\"\n\t}\n\treturn t.str[t.pVariant:t.pExt]\n}\n\n// variantOrPrivateTagStr returns variants or private use tags.\nfunc (t Tag) variantOrPrivateTagStr() string {\n\tif t.pExt > 0 {\n\t\treturn t.str[t.pVariant:t.pExt]\n\t}\n\treturn t.str[t.pVariant:]\n}\n\n// equalsRest compares everything except the language.\nfunc (a Tag) equalsRest(b Tag) bool {\n\t// TODO: don't include extensions in this comparison. To do this efficiently,\n\t// though, we should handle private tags separately.\n\treturn a.script == b.script && a.region == b.region && a.variantOrPrivateTagStr() == b.variantOrPrivateTagStr()\n}\n\n// isExactEquivalent returns true if canonicalizing the language will not alter\n// the script or region of a tag.\nfunc isExactEquivalent(l langID) bool {\n\tfor _, o := range notEquivalent {\n\t\tif o == l {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\nvar notEquivalent []langID\n\nfunc init() {\n\t// Create a list of all languages for which canonicalization may alter the\n\t// script or region.\n\tfor _, lm := range langAliasMap {\n\t\ttag := Tag{lang: langID(lm.from)}\n\t\tif tag, _ = tag.canonicalize(All); tag.script != 0 || tag.region != 0 {\n\t\t\tnotEquivalent = append(notEquivalent, langID(lm.from))\n\t\t}\n\t}\n\t// Maximize undefined regions of paradigm locales.\n\tfor i, v := range paradigmLocales {\n\t\tmax, _ := addTags(Tag{lang: langID(v[0])})\n\t\tif v[1] == 0 {\n\t\t\tparadigmLocales[i][1] = uint16(max.region)\n\t\t}\n\t\tif v[2] == 0 {\n\t\t\tparadigmLocales[i][2] = uint16(max.region)\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/language/parse.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage language\n\nimport (\n\t\"bytes\"\n\t\"errors\"\n\t\"fmt\"\n\t\"sort\"\n\t\"strconv\"\n\t\"strings\"\n\n\t\"golang.org/x/text/internal/tag\"\n)\n\n// isAlpha returns true if the byte is not a digit.\n// b must be an ASCII letter or digit.\nfunc isAlpha(b byte) bool {\n\treturn b > '9'\n}\n\n// isAlphaNum returns true if the string contains only ASCII letters or digits.\nfunc isAlphaNum(s []byte) bool {\n\tfor _, c := range s {\n\t\tif !('a' <= c && c <= 'z' || 'A' <= c && c <= 'Z' || '0' <= c && c <= '9') {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\n// errSyntax is returned by any of the parsing functions when the\n// input is not well-formed, according to BCP 47.\n// TODO: return the position at which the syntax error occurred?\nvar errSyntax = errors.New(\"language: tag is not well-formed\")\n\n// ValueError is returned by any of the parsing functions when the\n// input is well-formed but the respective subtag is not recognized\n// as a valid value.\ntype ValueError struct {\n\tv [8]byte\n}\n\nfunc mkErrInvalid(s []byte) error {\n\tvar e ValueError\n\tcopy(e.v[:], s)\n\treturn e\n}\n\nfunc (e ValueError) tag() []byte {\n\tn := bytes.IndexByte(e.v[:], 0)\n\tif n == -1 {\n\t\tn = 8\n\t}\n\treturn e.v[:n]\n}\n\n// Error implements the error interface.\nfunc (e ValueError) Error() string {\n\treturn fmt.Sprintf(\"language: subtag %q is well-formed but unknown\", e.tag())\n}\n\n// Subtag returns the subtag for which the error occurred.\nfunc (e ValueError) Subtag() string {\n\treturn string(e.tag())\n}\n\n// scanner is used to scan BCP 47 tokens, which are separated by _ or -.\ntype scanner struct {\n\tb     []byte\n\tbytes [max99thPercentileSize]byte\n\ttoken []byte\n\tstart int // start position of the current token\n\tend   int // end position of the current token\n\tnext  int // next point for scan\n\terr   error\n\tdone  bool\n}\n\nfunc makeScannerString(s string) scanner {\n\tscan := scanner{}\n\tif len(s) <= len(scan.bytes) {\n\t\tscan.b = scan.bytes[:copy(scan.bytes[:], s)]\n\t} else {\n\t\tscan.b = []byte(s)\n\t}\n\tscan.init()\n\treturn scan\n}\n\n// makeScanner returns a scanner using b as the input buffer.\n// b is not copied and may be modified by the scanner routines.\nfunc makeScanner(b []byte) scanner {\n\tscan := scanner{b: b}\n\tscan.init()\n\treturn scan\n}\n\nfunc (s *scanner) init() {\n\tfor i, c := range s.b {\n\t\tif c == '_' {\n\t\t\ts.b[i] = '-'\n\t\t}\n\t}\n\ts.scan()\n}\n\n// restToLower converts the string between start and end to lower case.\nfunc (s *scanner) toLower(start, end int) {\n\tfor i := start; i < end; i++ {\n\t\tc := s.b[i]\n\t\tif 'A' <= c && c <= 'Z' {\n\t\t\ts.b[i] += 'a' - 'A'\n\t\t}\n\t}\n}\n\nfunc (s *scanner) setError(e error) {\n\tif s.err == nil || (e == errSyntax && s.err != errSyntax) {\n\t\ts.err = e\n\t}\n}\n\n// resizeRange shrinks or grows the array at position oldStart such that\n// a new string of size newSize can fit between oldStart and oldEnd.\n// Sets the scan point to after the resized range.\nfunc (s *scanner) resizeRange(oldStart, oldEnd, newSize int) {\n\ts.start = oldStart\n\tif end := oldStart + newSize; end != oldEnd {\n\t\tdiff := end - oldEnd\n\t\tif end < cap(s.b) {\n\t\t\tb := make([]byte, len(s.b)+diff)\n\t\t\tcopy(b, s.b[:oldStart])\n\t\t\tcopy(b[end:], s.b[oldEnd:])\n\t\t\ts.b = b\n\t\t} else {\n\t\t\ts.b = append(s.b[end:], s.b[oldEnd:]...)\n\t\t}\n\t\ts.next = end + (s.next - s.end)\n\t\ts.end = end\n\t}\n}\n\n// replace replaces the current token with repl.\nfunc (s *scanner) replace(repl string) {\n\ts.resizeRange(s.start, s.end, len(repl))\n\tcopy(s.b[s.start:], repl)\n}\n\n// gobble removes the current token from the input.\n// Caller must call scan after calling gobble.\nfunc (s *scanner) gobble(e error) {\n\ts.setError(e)\n\tif s.start == 0 {\n\t\ts.b = s.b[:+copy(s.b, s.b[s.next:])]\n\t\ts.end = 0\n\t} else {\n\t\ts.b = s.b[:s.start-1+copy(s.b[s.start-1:], s.b[s.end:])]\n\t\ts.end = s.start - 1\n\t}\n\ts.next = s.start\n}\n\n// deleteRange removes the given range from s.b before the current token.\nfunc (s *scanner) deleteRange(start, end int) {\n\ts.setError(errSyntax)\n\ts.b = s.b[:start+copy(s.b[start:], s.b[end:])]\n\tdiff := end - start\n\ts.next -= diff\n\ts.start -= diff\n\ts.end -= diff\n}\n\n// scan parses the next token of a BCP 47 string.  Tokens that are larger\n// than 8 characters or include non-alphanumeric characters result in an error\n// and are gobbled and removed from the output.\n// It returns the end position of the last token consumed.\nfunc (s *scanner) scan() (end int) {\n\tend = s.end\n\ts.token = nil\n\tfor s.start = s.next; s.next < len(s.b); {\n\t\ti := bytes.IndexByte(s.b[s.next:], '-')\n\t\tif i == -1 {\n\t\t\ts.end = len(s.b)\n\t\t\ts.next = len(s.b)\n\t\t\ti = s.end - s.start\n\t\t} else {\n\t\t\ts.end = s.next + i\n\t\t\ts.next = s.end + 1\n\t\t}\n\t\ttoken := s.b[s.start:s.end]\n\t\tif i < 1 || i > 8 || !isAlphaNum(token) {\n\t\t\ts.gobble(errSyntax)\n\t\t\tcontinue\n\t\t}\n\t\ts.token = token\n\t\treturn end\n\t}\n\tif n := len(s.b); n > 0 && s.b[n-1] == '-' {\n\t\ts.setError(errSyntax)\n\t\ts.b = s.b[:len(s.b)-1]\n\t}\n\ts.done = true\n\treturn end\n}\n\n// acceptMinSize parses multiple tokens of the given size or greater.\n// It returns the end position of the last token consumed.\nfunc (s *scanner) acceptMinSize(min int) (end int) {\n\tend = s.end\n\ts.scan()\n\tfor ; len(s.token) >= min; s.scan() {\n\t\tend = s.end\n\t}\n\treturn end\n}\n\n// Parse parses the given BCP 47 string and returns a valid Tag. If parsing\n// failed it returns an error and any part of the tag that could be parsed.\n// If parsing succeeded but an unknown value was found, it returns\n// ValueError. The Tag returned in this case is just stripped of the unknown\n// value. All other values are preserved. It accepts tags in the BCP 47 format\n// and extensions to this standard defined in\n// http://www.unicode.org/reports/tr35/#Unicode_Language_and_Locale_Identifiers.\n// The resulting tag is canonicalized using the default canonicalization type.\nfunc Parse(s string) (t Tag, err error) {\n\treturn Default.Parse(s)\n}\n\n// Parse parses the given BCP 47 string and returns a valid Tag. If parsing\n// failed it returns an error and any part of the tag that could be parsed.\n// If parsing succeeded but an unknown value was found, it returns\n// ValueError. The Tag returned in this case is just stripped of the unknown\n// value. All other values are preserved. It accepts tags in the BCP 47 format\n// and extensions to this standard defined in\n// http://www.unicode.org/reports/tr35/#Unicode_Language_and_Locale_Identifiers.\n// The resulting tag is canonicalized using the the canonicalization type c.\nfunc (c CanonType) Parse(s string) (t Tag, err error) {\n\t// TODO: consider supporting old-style locale key-value pairs.\n\tif s == \"\" {\n\t\treturn und, errSyntax\n\t}\n\tif len(s) <= maxAltTaglen {\n\t\tb := [maxAltTaglen]byte{}\n\t\tfor i, c := range s {\n\t\t\t// Generating invalid UTF-8 is okay as it won't match.\n\t\t\tif 'A' <= c && c <= 'Z' {\n\t\t\t\tc += 'a' - 'A'\n\t\t\t} else if c == '_' {\n\t\t\t\tc = '-'\n\t\t\t}\n\t\t\tb[i] = byte(c)\n\t\t}\n\t\tif t, ok := grandfathered(b); ok {\n\t\t\treturn t, nil\n\t\t}\n\t}\n\tscan := makeScannerString(s)\n\tt, err = parse(&scan, s)\n\tt, changed := t.canonicalize(c)\n\tif changed {\n\t\tt.remakeString()\n\t}\n\treturn t, err\n}\n\nfunc parse(scan *scanner, s string) (t Tag, err error) {\n\tt = und\n\tvar end int\n\tif n := len(scan.token); n <= 1 {\n\t\tscan.toLower(0, len(scan.b))\n\t\tif n == 0 || scan.token[0] != 'x' {\n\t\t\treturn t, errSyntax\n\t\t}\n\t\tend = parseExtensions(scan)\n\t} else if n >= 4 {\n\t\treturn und, errSyntax\n\t} else { // the usual case\n\t\tt, end = parseTag(scan)\n\t\tif n := len(scan.token); n == 1 {\n\t\t\tt.pExt = uint16(end)\n\t\t\tend = parseExtensions(scan)\n\t\t} else if end < len(scan.b) {\n\t\t\tscan.setError(errSyntax)\n\t\t\tscan.b = scan.b[:end]\n\t\t}\n\t}\n\tif int(t.pVariant) < len(scan.b) {\n\t\tif end < len(s) {\n\t\t\ts = s[:end]\n\t\t}\n\t\tif len(s) > 0 && tag.Compare(s, scan.b) == 0 {\n\t\t\tt.str = s\n\t\t} else {\n\t\t\tt.str = string(scan.b)\n\t\t}\n\t} else {\n\t\tt.pVariant, t.pExt = 0, 0\n\t}\n\treturn t, scan.err\n}\n\n// parseTag parses language, script, region and variants.\n// It returns a Tag and the end position in the input that was parsed.\nfunc parseTag(scan *scanner) (t Tag, end int) {\n\tvar e error\n\t// TODO: set an error if an unknown lang, script or region is encountered.\n\tt.lang, e = getLangID(scan.token)\n\tscan.setError(e)\n\tscan.replace(t.lang.String())\n\tlangStart := scan.start\n\tend = scan.scan()\n\tfor len(scan.token) == 3 && isAlpha(scan.token[0]) {\n\t\t// From http://tools.ietf.org/html/bcp47, <lang>-<extlang> tags are equivalent\n\t\t// to a tag of the form <extlang>.\n\t\tlang, e := getLangID(scan.token)\n\t\tif lang != 0 {\n\t\t\tt.lang = lang\n\t\t\tcopy(scan.b[langStart:], lang.String())\n\t\t\tscan.b[langStart+3] = '-'\n\t\t\tscan.start = langStart + 4\n\t\t}\n\t\tscan.gobble(e)\n\t\tend = scan.scan()\n\t}\n\tif len(scan.token) == 4 && isAlpha(scan.token[0]) {\n\t\tt.script, e = getScriptID(script, scan.token)\n\t\tif t.script == 0 {\n\t\t\tscan.gobble(e)\n\t\t}\n\t\tend = scan.scan()\n\t}\n\tif n := len(scan.token); n >= 2 && n <= 3 {\n\t\tt.region, e = getRegionID(scan.token)\n\t\tif t.region == 0 {\n\t\t\tscan.gobble(e)\n\t\t} else {\n\t\t\tscan.replace(t.region.String())\n\t\t}\n\t\tend = scan.scan()\n\t}\n\tscan.toLower(scan.start, len(scan.b))\n\tt.pVariant = byte(end)\n\tend = parseVariants(scan, end, t)\n\tt.pExt = uint16(end)\n\treturn t, end\n}\n\nvar separator = []byte{'-'}\n\n// parseVariants scans tokens as long as each token is a valid variant string.\n// Duplicate variants are removed.\nfunc parseVariants(scan *scanner, end int, t Tag) int {\n\tstart := scan.start\n\tvarIDBuf := [4]uint8{}\n\tvariantBuf := [4][]byte{}\n\tvarID := varIDBuf[:0]\n\tvariant := variantBuf[:0]\n\tlast := -1\n\tneedSort := false\n\tfor ; len(scan.token) >= 4; scan.scan() {\n\t\t// TODO: measure the impact of needing this conversion and redesign\n\t\t// the data structure if there is an issue.\n\t\tv, ok := variantIndex[string(scan.token)]\n\t\tif !ok {\n\t\t\t// unknown variant\n\t\t\t// TODO: allow user-defined variants?\n\t\t\tscan.gobble(mkErrInvalid(scan.token))\n\t\t\tcontinue\n\t\t}\n\t\tvarID = append(varID, v)\n\t\tvariant = append(variant, scan.token)\n\t\tif !needSort {\n\t\t\tif last < int(v) {\n\t\t\t\tlast = int(v)\n\t\t\t} else {\n\t\t\t\tneedSort = true\n\t\t\t\t// There is no legal combinations of more than 7 variants\n\t\t\t\t// (and this is by no means a useful sequence).\n\t\t\t\tconst maxVariants = 8\n\t\t\t\tif len(varID) > maxVariants {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tend = scan.end\n\t}\n\tif needSort {\n\t\tsort.Sort(variantsSort{varID, variant})\n\t\tk, l := 0, -1\n\t\tfor i, v := range varID {\n\t\t\tw := int(v)\n\t\t\tif l == w {\n\t\t\t\t// Remove duplicates.\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tvarID[k] = varID[i]\n\t\t\tvariant[k] = variant[i]\n\t\t\tk++\n\t\t\tl = w\n\t\t}\n\t\tif str := bytes.Join(variant[:k], separator); len(str) == 0 {\n\t\t\tend = start - 1\n\t\t} else {\n\t\t\tscan.resizeRange(start, end, len(str))\n\t\t\tcopy(scan.b[scan.start:], str)\n\t\t\tend = scan.end\n\t\t}\n\t}\n\treturn end\n}\n\ntype variantsSort struct {\n\ti []uint8\n\tv [][]byte\n}\n\nfunc (s variantsSort) Len() int {\n\treturn len(s.i)\n}\n\nfunc (s variantsSort) Swap(i, j int) {\n\ts.i[i], s.i[j] = s.i[j], s.i[i]\n\ts.v[i], s.v[j] = s.v[j], s.v[i]\n}\n\nfunc (s variantsSort) Less(i, j int) bool {\n\treturn s.i[i] < s.i[j]\n}\n\ntype bytesSort [][]byte\n\nfunc (b bytesSort) Len() int {\n\treturn len(b)\n}\n\nfunc (b bytesSort) Swap(i, j int) {\n\tb[i], b[j] = b[j], b[i]\n}\n\nfunc (b bytesSort) Less(i, j int) bool {\n\treturn bytes.Compare(b[i], b[j]) == -1\n}\n\n// parseExtensions parses and normalizes the extensions in the buffer.\n// It returns the last position of scan.b that is part of any extension.\n// It also trims scan.b to remove excess parts accordingly.\nfunc parseExtensions(scan *scanner) int {\n\tstart := scan.start\n\texts := [][]byte{}\n\tprivate := []byte{}\n\tend := scan.end\n\tfor len(scan.token) == 1 {\n\t\textStart := scan.start\n\t\text := scan.token[0]\n\t\tend = parseExtension(scan)\n\t\textension := scan.b[extStart:end]\n\t\tif len(extension) < 3 || (ext != 'x' && len(extension) < 4) {\n\t\t\tscan.setError(errSyntax)\n\t\t\tend = extStart\n\t\t\tcontinue\n\t\t} else if start == extStart && (ext == 'x' || scan.start == len(scan.b)) {\n\t\t\tscan.b = scan.b[:end]\n\t\t\treturn end\n\t\t} else if ext == 'x' {\n\t\t\tprivate = extension\n\t\t\tbreak\n\t\t}\n\t\texts = append(exts, extension)\n\t}\n\tsort.Sort(bytesSort(exts))\n\tif len(private) > 0 {\n\t\texts = append(exts, private)\n\t}\n\tscan.b = scan.b[:start]\n\tif len(exts) > 0 {\n\t\tscan.b = append(scan.b, bytes.Join(exts, separator)...)\n\t} else if start > 0 {\n\t\t// Strip trailing '-'.\n\t\tscan.b = scan.b[:start-1]\n\t}\n\treturn end\n}\n\n// parseExtension parses a single extension and returns the position of\n// the extension end.\nfunc parseExtension(scan *scanner) int {\n\tstart, end := scan.start, scan.end\n\tswitch scan.token[0] {\n\tcase 'u':\n\t\tattrStart := end\n\t\tscan.scan()\n\t\tfor last := []byte{}; len(scan.token) > 2; scan.scan() {\n\t\t\tif bytes.Compare(scan.token, last) != -1 {\n\t\t\t\t// Attributes are unsorted. Start over from scratch.\n\t\t\t\tp := attrStart + 1\n\t\t\t\tscan.next = p\n\t\t\t\tattrs := [][]byte{}\n\t\t\t\tfor scan.scan(); len(scan.token) > 2; scan.scan() {\n\t\t\t\t\tattrs = append(attrs, scan.token)\n\t\t\t\t\tend = scan.end\n\t\t\t\t}\n\t\t\t\tsort.Sort(bytesSort(attrs))\n\t\t\t\tcopy(scan.b[p:], bytes.Join(attrs, separator))\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tlast = scan.token\n\t\t\tend = scan.end\n\t\t}\n\t\tvar last, key []byte\n\t\tfor attrEnd := end; len(scan.token) == 2; last = key {\n\t\t\tkey = scan.token\n\t\t\tkeyEnd := scan.end\n\t\t\tend = scan.acceptMinSize(3)\n\t\t\t// TODO: check key value validity\n\t\t\tif keyEnd == end || bytes.Compare(key, last) != 1 {\n\t\t\t\t// We have an invalid key or the keys are not sorted.\n\t\t\t\t// Start scanning keys from scratch and reorder.\n\t\t\t\tp := attrEnd + 1\n\t\t\t\tscan.next = p\n\t\t\t\tkeys := [][]byte{}\n\t\t\t\tfor scan.scan(); len(scan.token) == 2; {\n\t\t\t\t\tkeyStart, keyEnd := scan.start, scan.end\n\t\t\t\t\tend = scan.acceptMinSize(3)\n\t\t\t\t\tif keyEnd != end {\n\t\t\t\t\t\tkeys = append(keys, scan.b[keyStart:end])\n\t\t\t\t\t} else {\n\t\t\t\t\t\tscan.setError(errSyntax)\n\t\t\t\t\t\tend = keyStart\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tsort.Sort(bytesSort(keys))\n\t\t\t\treordered := bytes.Join(keys, separator)\n\t\t\t\tif e := p + len(reordered); e < end {\n\t\t\t\t\tscan.deleteRange(e, end)\n\t\t\t\t\tend = e\n\t\t\t\t}\n\t\t\t\tcopy(scan.b[p:], bytes.Join(keys, separator))\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\tcase 't':\n\t\tscan.scan()\n\t\tif n := len(scan.token); n >= 2 && n <= 3 && isAlpha(scan.token[1]) {\n\t\t\t_, end = parseTag(scan)\n\t\t\tscan.toLower(start, end)\n\t\t}\n\t\tfor len(scan.token) == 2 && !isAlpha(scan.token[1]) {\n\t\t\tend = scan.acceptMinSize(3)\n\t\t}\n\tcase 'x':\n\t\tend = scan.acceptMinSize(1)\n\tdefault:\n\t\tend = scan.acceptMinSize(2)\n\t}\n\treturn end\n}\n\n// Compose creates a Tag from individual parts, which may be of type Tag, Base,\n// Script, Region, Variant, []Variant, Extension, []Extension or error. If a\n// Base, Script or Region or slice of type Variant or Extension is passed more\n// than once, the latter will overwrite the former. Variants and Extensions are\n// accumulated, but if two extensions of the same type are passed, the latter\n// will replace the former. A Tag overwrites all former values and typically\n// only makes sense as the first argument. The resulting tag is returned after\n// canonicalizing using the Default CanonType. If one or more errors are\n// encountered, one of the errors is returned.\nfunc Compose(part ...interface{}) (t Tag, err error) {\n\treturn Default.Compose(part...)\n}\n\n// Compose creates a Tag from individual parts, which may be of type Tag, Base,\n// Script, Region, Variant, []Variant, Extension, []Extension or error. If a\n// Base, Script or Region or slice of type Variant or Extension is passed more\n// than once, the latter will overwrite the former. Variants and Extensions are\n// accumulated, but if two extensions of the same type are passed, the latter\n// will replace the former. A Tag overwrites all former values and typically\n// only makes sense as the first argument. The resulting tag is returned after\n// canonicalizing using CanonType c. If one or more errors are encountered,\n// one of the errors is returned.\nfunc (c CanonType) Compose(part ...interface{}) (t Tag, err error) {\n\tvar b builder\n\tif err = b.update(part...); err != nil {\n\t\treturn und, err\n\t}\n\tt, _ = b.tag.canonicalize(c)\n\n\tif len(b.ext) > 0 || len(b.variant) > 0 {\n\t\tsort.Sort(sortVariant(b.variant))\n\t\tsort.Strings(b.ext)\n\t\tif b.private != \"\" {\n\t\t\tb.ext = append(b.ext, b.private)\n\t\t}\n\t\tn := maxCoreSize + tokenLen(b.variant...) + tokenLen(b.ext...)\n\t\tbuf := make([]byte, n)\n\t\tp := t.genCoreBytes(buf)\n\t\tt.pVariant = byte(p)\n\t\tp += appendTokens(buf[p:], b.variant...)\n\t\tt.pExt = uint16(p)\n\t\tp += appendTokens(buf[p:], b.ext...)\n\t\tt.str = string(buf[:p])\n\t} else if b.private != \"\" {\n\t\tt.str = b.private\n\t\tt.remakeString()\n\t}\n\treturn\n}\n\ntype builder struct {\n\ttag Tag\n\n\tprivate string // the x extension\n\text     []string\n\tvariant []string\n\n\terr error\n}\n\nfunc (b *builder) addExt(e string) {\n\tif e == \"\" {\n\t} else if e[0] == 'x' {\n\t\tb.private = e\n\t} else {\n\t\tb.ext = append(b.ext, e)\n\t}\n}\n\nvar errInvalidArgument = errors.New(\"invalid Extension or Variant\")\n\nfunc (b *builder) update(part ...interface{}) (err error) {\n\treplace := func(l *[]string, s string, eq func(a, b string) bool) bool {\n\t\tif s == \"\" {\n\t\t\tb.err = errInvalidArgument\n\t\t\treturn true\n\t\t}\n\t\tfor i, v := range *l {\n\t\t\tif eq(v, s) {\n\t\t\t\t(*l)[i] = s\n\t\t\t\treturn true\n\t\t\t}\n\t\t}\n\t\treturn false\n\t}\n\tfor _, x := range part {\n\t\tswitch v := x.(type) {\n\t\tcase Tag:\n\t\t\tb.tag.lang = v.lang\n\t\t\tb.tag.region = v.region\n\t\t\tb.tag.script = v.script\n\t\t\tif v.str != \"\" {\n\t\t\t\tb.variant = nil\n\t\t\t\tfor x, s := \"\", v.str[v.pVariant:v.pExt]; s != \"\"; {\n\t\t\t\t\tx, s = nextToken(s)\n\t\t\t\t\tb.variant = append(b.variant, x)\n\t\t\t\t}\n\t\t\t\tb.ext, b.private = nil, \"\"\n\t\t\t\tfor i, e := int(v.pExt), \"\"; i < len(v.str); {\n\t\t\t\t\ti, e = getExtension(v.str, i)\n\t\t\t\t\tb.addExt(e)\n\t\t\t\t}\n\t\t\t}\n\t\tcase Base:\n\t\t\tb.tag.lang = v.langID\n\t\tcase Script:\n\t\t\tb.tag.script = v.scriptID\n\t\tcase Region:\n\t\t\tb.tag.region = v.regionID\n\t\tcase Variant:\n\t\t\tif !replace(&b.variant, v.variant, func(a, b string) bool { return a == b }) {\n\t\t\t\tb.variant = append(b.variant, v.variant)\n\t\t\t}\n\t\tcase Extension:\n\t\t\tif !replace(&b.ext, v.s, func(a, b string) bool { return a[0] == b[0] }) {\n\t\t\t\tb.addExt(v.s)\n\t\t\t}\n\t\tcase []Variant:\n\t\t\tb.variant = nil\n\t\t\tfor _, x := range v {\n\t\t\t\tb.update(x)\n\t\t\t}\n\t\tcase []Extension:\n\t\t\tb.ext, b.private = nil, \"\"\n\t\t\tfor _, e := range v {\n\t\t\t\tb.update(e)\n\t\t\t}\n\t\t// TODO: support parsing of raw strings based on morphology or just extensions?\n\t\tcase error:\n\t\t\terr = v\n\t\t}\n\t}\n\treturn\n}\n\nfunc tokenLen(token ...string) (n int) {\n\tfor _, t := range token {\n\t\tn += len(t) + 1\n\t}\n\treturn\n}\n\nfunc appendTokens(b []byte, token ...string) int {\n\tp := 0\n\tfor _, t := range token {\n\t\tb[p] = '-'\n\t\tcopy(b[p+1:], t)\n\t\tp += 1 + len(t)\n\t}\n\treturn p\n}\n\ntype sortVariant []string\n\nfunc (s sortVariant) Len() int {\n\treturn len(s)\n}\n\nfunc (s sortVariant) Swap(i, j int) {\n\ts[j], s[i] = s[i], s[j]\n}\n\nfunc (s sortVariant) Less(i, j int) bool {\n\treturn variantIndex[s[i]] < variantIndex[s[j]]\n}\n\nfunc findExt(list []string, x byte) int {\n\tfor i, e := range list {\n\t\tif e[0] == x {\n\t\t\treturn i\n\t\t}\n\t}\n\treturn -1\n}\n\n// getExtension returns the name, body and end position of the extension.\nfunc getExtension(s string, p int) (end int, ext string) {\n\tif s[p] == '-' {\n\t\tp++\n\t}\n\tif s[p] == 'x' {\n\t\treturn len(s), s[p:]\n\t}\n\tend = nextExtension(s, p)\n\treturn end, s[p:end]\n}\n\n// nextExtension finds the next extension within the string, searching\n// for the -<char>- pattern from position p.\n// In the fast majority of cases, language tags will have at most\n// one extension and extensions tend to be small.\nfunc nextExtension(s string, p int) int {\n\tfor n := len(s) - 3; p < n; {\n\t\tif s[p] == '-' {\n\t\t\tif s[p+2] == '-' {\n\t\t\t\treturn p\n\t\t\t}\n\t\t\tp += 3\n\t\t} else {\n\t\t\tp++\n\t\t}\n\t}\n\treturn len(s)\n}\n\nvar errInvalidWeight = errors.New(\"ParseAcceptLanguage: invalid weight\")\n\n// ParseAcceptLanguage parses the contents of an Accept-Language header as\n// defined in http://www.ietf.org/rfc/rfc2616.txt and returns a list of Tags and\n// a list of corresponding quality weights. It is more permissive than RFC 2616\n// and may return non-nil slices even if the input is not valid.\n// The Tags will be sorted by highest weight first and then by first occurrence.\n// Tags with a weight of zero will be dropped. An error will be returned if the\n// input could not be parsed.\nfunc ParseAcceptLanguage(s string) (tag []Tag, q []float32, err error) {\n\tvar entry string\n\tfor s != \"\" {\n\t\tif entry, s = split(s, ','); entry == \"\" {\n\t\t\tcontinue\n\t\t}\n\n\t\tentry, weight := split(entry, ';')\n\n\t\t// Scan the language.\n\t\tt, err := Parse(entry)\n\t\tif err != nil {\n\t\t\tid, ok := acceptFallback[entry]\n\t\t\tif !ok {\n\t\t\t\treturn nil, nil, err\n\t\t\t}\n\t\t\tt = Tag{lang: id}\n\t\t}\n\n\t\t// Scan the optional weight.\n\t\tw := 1.0\n\t\tif weight != \"\" {\n\t\t\tweight = consume(weight, 'q')\n\t\t\tweight = consume(weight, '=')\n\t\t\t// consume returns the empty string when a token could not be\n\t\t\t// consumed, resulting in an error for ParseFloat.\n\t\t\tif w, err = strconv.ParseFloat(weight, 32); err != nil {\n\t\t\t\treturn nil, nil, errInvalidWeight\n\t\t\t}\n\t\t\t// Drop tags with a quality weight of 0.\n\t\t\tif w <= 0 {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t}\n\n\t\ttag = append(tag, t)\n\t\tq = append(q, float32(w))\n\t}\n\tsortStable(&tagSort{tag, q})\n\treturn tag, q, nil\n}\n\n// consume removes a leading token c from s and returns the result or the empty\n// string if there is no such token.\nfunc consume(s string, c byte) string {\n\tif s == \"\" || s[0] != c {\n\t\treturn \"\"\n\t}\n\treturn strings.TrimSpace(s[1:])\n}\n\nfunc split(s string, c byte) (head, tail string) {\n\tif i := strings.IndexByte(s, c); i >= 0 {\n\t\treturn strings.TrimSpace(s[:i]), strings.TrimSpace(s[i+1:])\n\t}\n\treturn strings.TrimSpace(s), \"\"\n}\n\n// Add hack mapping to deal with a small number of cases that that occur\n// in Accept-Language (with reasonable frequency).\nvar acceptFallback = map[string]langID{\n\t\"english\": _en,\n\t\"deutsch\": _de,\n\t\"italian\": _it,\n\t\"french\":  _fr,\n\t\"*\":       _mul, // defined in the spec to match all languages.\n}\n\ntype tagSort struct {\n\ttag []Tag\n\tq   []float32\n}\n\nfunc (s *tagSort) Len() int {\n\treturn len(s.q)\n}\n\nfunc (s *tagSort) Less(i, j int) bool {\n\treturn s.q[i] > s.q[j]\n}\n\nfunc (s *tagSort) Swap(i, j int) {\n\ts.tag[i], s.tag[j] = s.tag[j], s.tag[i]\n\ts.q[i], s.q[j] = s.q[j], s.q[i]\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/language/tables.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\npackage language\n\nimport \"golang.org/x/text/internal/tag\"\n\n// CLDRVersion is the CLDR version from which the tables in this package are derived.\nconst CLDRVersion = \"32\"\n\nconst numLanguages = 8665\n\nconst numScripts = 242\n\nconst numRegions = 357\n\ntype fromTo struct {\n\tfrom uint16\n\tto   uint16\n}\n\nconst nonCanonicalUnd = 1201\nconst (\n\t_af  = 22\n\t_am  = 39\n\t_ar  = 58\n\t_az  = 88\n\t_bg  = 126\n\t_bn  = 165\n\t_ca  = 215\n\t_cs  = 250\n\t_da  = 257\n\t_de  = 269\n\t_el  = 310\n\t_en  = 313\n\t_es  = 318\n\t_et  = 320\n\t_fa  = 328\n\t_fi  = 337\n\t_fil = 339\n\t_fr  = 350\n\t_gu  = 420\n\t_he  = 444\n\t_hi  = 446\n\t_hr  = 465\n\t_hu  = 469\n\t_hy  = 471\n\t_id  = 481\n\t_is  = 504\n\t_it  = 505\n\t_ja  = 512\n\t_ka  = 528\n\t_kk  = 578\n\t_km  = 586\n\t_kn  = 593\n\t_ko  = 596\n\t_ky  = 650\n\t_lo  = 696\n\t_lt  = 704\n\t_lv  = 711\n\t_mk  = 767\n\t_ml  = 772\n\t_mn  = 779\n\t_mo  = 784\n\t_mr  = 795\n\t_ms  = 799\n\t_mul = 806\n\t_my  = 817\n\t_nb  = 839\n\t_ne  = 849\n\t_nl  = 871\n\t_no  = 879\n\t_pa  = 925\n\t_pl  = 947\n\t_pt  = 960\n\t_ro  = 988\n\t_ru  = 994\n\t_sh  = 1031\n\t_si  = 1036\n\t_sk  = 1042\n\t_sl  = 1046\n\t_sq  = 1073\n\t_sr  = 1074\n\t_sv  = 1092\n\t_sw  = 1093\n\t_ta  = 1104\n\t_te  = 1121\n\t_th  = 1131\n\t_tl  = 1146\n\t_tn  = 1152\n\t_tr  = 1162\n\t_uk  = 1198\n\t_ur  = 1204\n\t_uz  = 1212\n\t_vi  = 1219\n\t_zh  = 1321\n\t_zu  = 1327\n\t_jbo = 515\n\t_ami = 1650\n\t_bnn = 2357\n\t_hak = 438\n\t_tlh = 14467\n\t_lb  = 661\n\t_nv  = 899\n\t_pwn = 12055\n\t_tao = 14188\n\t_tay = 14198\n\t_tsu = 14662\n\t_nn  = 874\n\t_sfb = 13629\n\t_vgt = 15701\n\t_sgg = 13660\n\t_cmn = 3007\n\t_nan = 835\n\t_hsn = 467\n)\n\nconst langPrivateStart = 0x2f72\n\nconst langPrivateEnd = 0x3179\n\n// lang holds an alphabetically sorted list of ISO-639 language identifiers.\n// All entries are 4 bytes. The index of the identifier (divided by 4) is the language tag.\n// For 2-byte language identifiers, the two successive bytes have the following meaning:\n//     - if the first letter of the 2- and 3-letter ISO codes are the same:\n//       the second and third letter of the 3-letter ISO code.\n//     - otherwise: a 0 and a by 2 bits right-shifted index into altLangISO3.\n// For 3-byte language identifiers the 4th byte is 0.\nconst lang tag.Index = \"\" + // Size: 5324 bytes\n\t\"---\\x00aaaraai\\x00aak\\x00aau\\x00abbkabi\\x00abq\\x00abr\\x00abt\\x00aby\\x00a\" +\n\t\"cd\\x00ace\\x00ach\\x00ada\\x00ade\\x00adj\\x00ady\\x00adz\\x00aeveaeb\\x00aey\" +\n\t\"\\x00affragc\\x00agd\\x00agg\\x00agm\\x00ago\\x00agq\\x00aha\\x00ahl\\x00aho\\x00a\" +\n\t\"jg\\x00akkaakk\\x00ala\\x00ali\\x00aln\\x00alt\\x00ammhamm\\x00amn\\x00amo\\x00am\" +\n\t\"p\\x00anrganc\\x00ank\\x00ann\\x00any\\x00aoj\\x00aom\\x00aoz\\x00apc\\x00apd\\x00\" +\n\t\"ape\\x00apr\\x00aps\\x00apz\\x00arraarc\\x00arh\\x00arn\\x00aro\\x00arq\\x00ars\" +\n\t\"\\x00ary\\x00arz\\x00assmasa\\x00ase\\x00asg\\x00aso\\x00ast\\x00ata\\x00atg\\x00a\" +\n\t\"tj\\x00auy\\x00avvaavl\\x00avn\\x00avt\\x00avu\\x00awa\\x00awb\\x00awo\\x00awx\" +\n\t\"\\x00ayymayb\\x00azzebaakbal\\x00ban\\x00bap\\x00bar\\x00bas\\x00bav\\x00bax\\x00\" +\n\t\"bba\\x00bbb\\x00bbc\\x00bbd\\x00bbj\\x00bbp\\x00bbr\\x00bcf\\x00bch\\x00bci\\x00bc\" +\n\t\"m\\x00bcn\\x00bco\\x00bcq\\x00bcu\\x00bdd\\x00beelbef\\x00beh\\x00bej\\x00bem\\x00\" +\n\t\"bet\\x00bew\\x00bex\\x00bez\\x00bfd\\x00bfq\\x00bft\\x00bfy\\x00bgulbgc\\x00bgn\" +\n\t\"\\x00bgx\\x00bhihbhb\\x00bhg\\x00bhi\\x00bhk\\x00bhl\\x00bho\\x00bhy\\x00biisbib\" +\n\t\"\\x00big\\x00bik\\x00bim\\x00bin\\x00bio\\x00biq\\x00bjh\\x00bji\\x00bjj\\x00bjn\" +\n\t\"\\x00bjo\\x00bjr\\x00bjt\\x00bjz\\x00bkc\\x00bkm\\x00bkq\\x00bku\\x00bkv\\x00blt\" +\n\t\"\\x00bmambmh\\x00bmk\\x00bmq\\x00bmu\\x00bnenbng\\x00bnm\\x00bnp\\x00boodboj\\x00\" +\n\t\"bom\\x00bon\\x00bpy\\x00bqc\\x00bqi\\x00bqp\\x00bqv\\x00brrebra\\x00brh\\x00brx\" +\n\t\"\\x00brz\\x00bsosbsj\\x00bsq\\x00bss\\x00bst\\x00bto\\x00btt\\x00btv\\x00bua\\x00b\" +\n\t\"uc\\x00bud\\x00bug\\x00buk\\x00bum\\x00buo\\x00bus\\x00buu\\x00bvb\\x00bwd\\x00bwr\" +\n\t\"\\x00bxh\\x00bye\\x00byn\\x00byr\\x00bys\\x00byv\\x00byx\\x00bza\\x00bze\\x00bzf\" +\n\t\"\\x00bzh\\x00bzw\\x00caatcan\\x00cbj\\x00cch\\x00ccp\\x00ceheceb\\x00cfa\\x00cgg\" +\n\t\"\\x00chhachk\\x00chm\\x00cho\\x00chp\\x00chr\\x00cja\\x00cjm\\x00cjv\\x00ckb\\x00c\" +\n\t\"kl\\x00cko\\x00cky\\x00cla\\x00cme\\x00cmg\\x00cooscop\\x00cps\\x00crrecrh\\x00cr\" +\n\t\"j\\x00crk\\x00crl\\x00crm\\x00crs\\x00csescsb\\x00csw\\x00ctd\\x00cuhucvhvcyymda\" +\n\t\"andad\\x00daf\\x00dag\\x00dah\\x00dak\\x00dar\\x00dav\\x00dbd\\x00dbq\\x00dcc\\x00\" +\n\t\"ddn\\x00deeuded\\x00den\\x00dga\\x00dgh\\x00dgi\\x00dgl\\x00dgr\\x00dgz\\x00dia\" +\n\t\"\\x00dje\\x00dnj\\x00dob\\x00doi\\x00dop\\x00dow\\x00dri\\x00drs\\x00dsb\\x00dtm\" +\n\t\"\\x00dtp\\x00dts\\x00dty\\x00dua\\x00duc\\x00dud\\x00dug\\x00dvivdva\\x00dww\\x00d\" +\n\t\"yo\\x00dyu\\x00dzzodzg\\x00ebu\\x00eeweefi\\x00egl\\x00egy\\x00eka\\x00eky\\x00el\" +\n\t\"llema\\x00emi\\x00enngenn\\x00enq\\x00eopoeri\\x00es\\x00\\x05esu\\x00etstetr\" +\n\t\"\\x00ett\\x00etu\\x00etx\\x00euusewo\\x00ext\\x00faasfaa\\x00fab\\x00fag\\x00fai\" +\n\t\"\\x00fan\\x00ffulffi\\x00ffm\\x00fiinfia\\x00fil\\x00fit\\x00fjijflr\\x00fmp\\x00\" +\n\t\"foaofod\\x00fon\\x00for\\x00fpe\\x00fqs\\x00frrafrc\\x00frp\\x00frr\\x00frs\\x00f\" +\n\t\"ub\\x00fud\\x00fue\\x00fuf\\x00fuh\\x00fuq\\x00fur\\x00fuv\\x00fuy\\x00fvr\\x00fyr\" +\n\t\"ygalegaa\\x00gaf\\x00gag\\x00gah\\x00gaj\\x00gam\\x00gan\\x00gaw\\x00gay\\x00gba\" +\n\t\"\\x00gbf\\x00gbm\\x00gby\\x00gbz\\x00gcr\\x00gdlagde\\x00gdn\\x00gdr\\x00geb\\x00g\" +\n\t\"ej\\x00gel\\x00gez\\x00gfk\\x00ggn\\x00ghs\\x00gil\\x00gim\\x00gjk\\x00gjn\\x00gju\" +\n\t\"\\x00gkn\\x00gkp\\x00gllgglk\\x00gmm\\x00gmv\\x00gnrngnd\\x00gng\\x00god\\x00gof\" +\n\t\"\\x00goi\\x00gom\\x00gon\\x00gor\\x00gos\\x00got\\x00grb\\x00grc\\x00grt\\x00grw\" +\n\t\"\\x00gsw\\x00guujgub\\x00guc\\x00gud\\x00gur\\x00guw\\x00gux\\x00guz\\x00gvlvgvf\" +\n\t\"\\x00gvr\\x00gvs\\x00gwc\\x00gwi\\x00gwt\\x00gyi\\x00haauhag\\x00hak\\x00ham\\x00h\" +\n\t\"aw\\x00haz\\x00hbb\\x00hdy\\x00heebhhy\\x00hiinhia\\x00hif\\x00hig\\x00hih\\x00hi\" +\n\t\"l\\x00hla\\x00hlu\\x00hmd\\x00hmt\\x00hnd\\x00hne\\x00hnj\\x00hnn\\x00hno\\x00homo\" +\n\t\"hoc\\x00hoj\\x00hot\\x00hrrvhsb\\x00hsn\\x00htathuunhui\\x00hyyehzerianaian\" +\n\t\"\\x00iar\\x00iba\\x00ibb\\x00iby\\x00ica\\x00ich\\x00idndidd\\x00idi\\x00idu\\x00i\" +\n\t\"eleife\\x00igboigb\\x00ige\\x00iiiiijj\\x00ikpkikk\\x00ikt\\x00ikw\\x00ikx\\x00i\" +\n\t\"lo\\x00imo\\x00inndinh\\x00iodoiou\\x00iri\\x00isslittaiukuiw\\x00\\x03iwm\\x00i\" +\n\t\"ws\\x00izh\\x00izi\\x00japnjab\\x00jam\\x00jbo\\x00jbu\\x00jen\\x00jgk\\x00jgo\" +\n\t\"\\x00ji\\x00\\x06jib\\x00jmc\\x00jml\\x00jra\\x00jut\\x00jvavjwavkaatkaa\\x00kab\" +\n\t\"\\x00kac\\x00kad\\x00kai\\x00kaj\\x00kam\\x00kao\\x00kbd\\x00kbm\\x00kbp\\x00kbq\" +\n\t\"\\x00kbx\\x00kby\\x00kcg\\x00kck\\x00kcl\\x00kct\\x00kde\\x00kdh\\x00kdl\\x00kdt\" +\n\t\"\\x00kea\\x00ken\\x00kez\\x00kfo\\x00kfr\\x00kfy\\x00kgonkge\\x00kgf\\x00kgp\\x00k\" +\n\t\"ha\\x00khb\\x00khn\\x00khq\\x00khs\\x00kht\\x00khw\\x00khz\\x00kiikkij\\x00kiu\" +\n\t\"\\x00kiw\\x00kjuakjd\\x00kjg\\x00kjs\\x00kjy\\x00kkazkkc\\x00kkj\\x00klalkln\\x00\" +\n\t\"klq\\x00klt\\x00klx\\x00kmhmkmb\\x00kmh\\x00kmo\\x00kms\\x00kmu\\x00kmw\\x00knank\" +\n\t\"nf\\x00knp\\x00koorkoi\\x00kok\\x00kol\\x00kos\\x00koz\\x00kpe\\x00kpf\\x00kpo\" +\n\t\"\\x00kpr\\x00kpx\\x00kqb\\x00kqf\\x00kqs\\x00kqy\\x00kraukrc\\x00kri\\x00krj\\x00k\" +\n\t\"rl\\x00krs\\x00kru\\x00ksasksb\\x00ksd\\x00ksf\\x00ksh\\x00ksj\\x00ksr\\x00ktb\" +\n\t\"\\x00ktm\\x00kto\\x00kuurkub\\x00kud\\x00kue\\x00kuj\\x00kum\\x00kun\\x00kup\\x00k\" +\n\t\"us\\x00kvomkvg\\x00kvr\\x00kvx\\x00kw\\x00\\x01kwj\\x00kwo\\x00kxa\\x00kxc\\x00kxm\" +\n\t\"\\x00kxp\\x00kxw\\x00kxz\\x00kyirkye\\x00kyx\\x00kzr\\x00laatlab\\x00lad\\x00lag\" +\n\t\"\\x00lah\\x00laj\\x00las\\x00lbtzlbe\\x00lbu\\x00lbw\\x00lcm\\x00lcp\\x00ldb\\x00l\" +\n\t\"ed\\x00lee\\x00lem\\x00lep\\x00leq\\x00leu\\x00lez\\x00lguglgg\\x00liimlia\\x00li\" +\n\t\"d\\x00lif\\x00lig\\x00lih\\x00lij\\x00lis\\x00ljp\\x00lki\\x00lkt\\x00lle\\x00lln\" +\n\t\"\\x00lmn\\x00lmo\\x00lmp\\x00lninlns\\x00lnu\\x00loaoloj\\x00lok\\x00lol\\x00lor\" +\n\t\"\\x00los\\x00loz\\x00lrc\\x00ltitltg\\x00luublua\\x00luo\\x00luy\\x00luz\\x00lvav\" +\n\t\"lwl\\x00lzh\\x00lzz\\x00mad\\x00maf\\x00mag\\x00mai\\x00mak\\x00man\\x00mas\\x00ma\" +\n\t\"w\\x00maz\\x00mbh\\x00mbo\\x00mbq\\x00mbu\\x00mbw\\x00mci\\x00mcp\\x00mcq\\x00mcr\" +\n\t\"\\x00mcu\\x00mda\\x00mde\\x00mdf\\x00mdh\\x00mdj\\x00mdr\\x00mdx\\x00med\\x00mee\" +\n\t\"\\x00mek\\x00men\\x00mer\\x00met\\x00meu\\x00mfa\\x00mfe\\x00mfn\\x00mfo\\x00mfq\" +\n\t\"\\x00mglgmgh\\x00mgl\\x00mgo\\x00mgp\\x00mgy\\x00mhahmhi\\x00mhl\\x00mirimif\\x00\" +\n\t\"min\\x00mis\\x00miw\\x00mkkdmki\\x00mkl\\x00mkp\\x00mkw\\x00mlalmle\\x00mlp\\x00m\" +\n\t\"ls\\x00mmo\\x00mmu\\x00mmx\\x00mnonmna\\x00mnf\\x00mni\\x00mnw\\x00moolmoa\\x00mo\" +\n\t\"e\\x00moh\\x00mos\\x00mox\\x00mpp\\x00mps\\x00mpt\\x00mpx\\x00mql\\x00mrarmrd\\x00\" +\n\t\"mrj\\x00mro\\x00mssamtltmtc\\x00mtf\\x00mti\\x00mtr\\x00mua\\x00mul\\x00mur\\x00m\" +\n\t\"us\\x00mva\\x00mvn\\x00mvy\\x00mwk\\x00mwr\\x00mwv\\x00mxc\\x00mxm\\x00myyamyk\" +\n\t\"\\x00mym\\x00myv\\x00myw\\x00myx\\x00myz\\x00mzk\\x00mzm\\x00mzn\\x00mzp\\x00mzw\" +\n\t\"\\x00mzz\\x00naaunac\\x00naf\\x00nah\\x00nak\\x00nan\\x00nap\\x00naq\\x00nas\\x00n\" +\n\t\"bobnca\\x00nce\\x00ncf\\x00nch\\x00nco\\x00ncu\\x00nddendc\\x00nds\\x00neepneb\" +\n\t\"\\x00new\\x00nex\\x00nfr\\x00ngdonga\\x00ngb\\x00ngl\\x00nhb\\x00nhe\\x00nhw\\x00n\" +\n\t\"if\\x00nii\\x00nij\\x00nin\\x00niu\\x00niy\\x00niz\\x00njo\\x00nkg\\x00nko\\x00nll\" +\n\t\"dnmg\\x00nmz\\x00nnnonnf\\x00nnh\\x00nnk\\x00nnm\\x00noornod\\x00noe\\x00non\\x00\" +\n\t\"nop\\x00nou\\x00nqo\\x00nrblnrb\\x00nsk\\x00nsn\\x00nso\\x00nss\\x00ntm\\x00ntr\" +\n\t\"\\x00nui\\x00nup\\x00nus\\x00nuv\\x00nux\\x00nvavnwb\\x00nxq\\x00nxr\\x00nyyanym\" +\n\t\"\\x00nyn\\x00nzi\\x00occiogc\\x00ojjiokr\\x00okv\\x00omrmong\\x00onn\\x00ons\\x00\" +\n\t\"opm\\x00orrioro\\x00oru\\x00osssosa\\x00ota\\x00otk\\x00ozm\\x00paanpag\\x00pal\" +\n\t\"\\x00pam\\x00pap\\x00pau\\x00pbi\\x00pcd\\x00pcm\\x00pdc\\x00pdt\\x00ped\\x00peo\" +\n\t\"\\x00pex\\x00pfl\\x00phl\\x00phn\\x00pilipil\\x00pip\\x00pka\\x00pko\\x00plolpla\" +\n\t\"\\x00pms\\x00png\\x00pnn\\x00pnt\\x00pon\\x00ppo\\x00pra\\x00prd\\x00prg\\x00psusp\" +\n\t\"ss\\x00ptorptp\\x00puu\\x00pwa\\x00quuequc\\x00qug\\x00rai\\x00raj\\x00rao\\x00rc\" +\n\t\"f\\x00rej\\x00rel\\x00res\\x00rgn\\x00rhg\\x00ria\\x00rif\\x00rjs\\x00rkt\\x00rmoh\" +\n\t\"rmf\\x00rmo\\x00rmt\\x00rmu\\x00rnunrna\\x00rng\\x00roonrob\\x00rof\\x00roo\\x00r\" +\n\t\"ro\\x00rtm\\x00ruusrue\\x00rug\\x00rw\\x00\\x04rwk\\x00rwo\\x00ryu\\x00saansaf\" +\n\t\"\\x00sah\\x00saq\\x00sas\\x00sat\\x00sav\\x00saz\\x00sba\\x00sbe\\x00sbp\\x00scrds\" +\n\t\"ck\\x00scl\\x00scn\\x00sco\\x00scs\\x00sdndsdc\\x00sdh\\x00semesef\\x00seh\\x00se\" +\n\t\"i\\x00ses\\x00sgagsga\\x00sgs\\x00sgw\\x00sgz\\x00sh\\x00\\x02shi\\x00shk\\x00shn\" +\n\t\"\\x00shu\\x00siinsid\\x00sig\\x00sil\\x00sim\\x00sjr\\x00sklkskc\\x00skr\\x00sks\" +\n\t\"\\x00sllvsld\\x00sli\\x00sll\\x00sly\\x00smmosma\\x00smi\\x00smj\\x00smn\\x00smp\" +\n\t\"\\x00smq\\x00sms\\x00snnasnc\\x00snk\\x00snp\\x00snx\\x00sny\\x00soomsok\\x00soq\" +\n\t\"\\x00sou\\x00soy\\x00spd\\x00spl\\x00sps\\x00sqqisrrpsrb\\x00srn\\x00srr\\x00srx\" +\n\t\"\\x00ssswssd\\x00ssg\\x00ssy\\x00stotstk\\x00stq\\x00suunsua\\x00sue\\x00suk\\x00\" +\n\t\"sur\\x00sus\\x00svweswwaswb\\x00swc\\x00swg\\x00swp\\x00swv\\x00sxn\\x00sxw\\x00s\" +\n\t\"yl\\x00syr\\x00szl\\x00taamtaj\\x00tal\\x00tan\\x00taq\\x00tbc\\x00tbd\\x00tbf\" +\n\t\"\\x00tbg\\x00tbo\\x00tbw\\x00tbz\\x00tci\\x00tcy\\x00tdd\\x00tdg\\x00tdh\\x00teelt\" +\n\t\"ed\\x00tem\\x00teo\\x00tet\\x00tfi\\x00tggktgc\\x00tgo\\x00tgu\\x00thhathl\\x00th\" +\n\t\"q\\x00thr\\x00tiirtif\\x00tig\\x00tik\\x00tim\\x00tio\\x00tiv\\x00tkuktkl\\x00tkr\" +\n\t\"\\x00tkt\\x00tlgltlf\\x00tlx\\x00tly\\x00tmh\\x00tmy\\x00tnsntnh\\x00toontof\\x00\" +\n\t\"tog\\x00toq\\x00tpi\\x00tpm\\x00tpz\\x00tqo\\x00trurtru\\x00trv\\x00trw\\x00tssot\" +\n\t\"sd\\x00tsf\\x00tsg\\x00tsj\\x00tsw\\x00ttatttd\\x00tte\\x00ttj\\x00ttr\\x00tts\" +\n\t\"\\x00ttt\\x00tuh\\x00tul\\x00tum\\x00tuq\\x00tvd\\x00tvl\\x00tvu\\x00twwitwh\\x00t\" +\n\t\"wq\\x00txg\\x00tyahtya\\x00tyv\\x00tzm\\x00ubu\\x00udm\\x00ugiguga\\x00ukkruli\" +\n\t\"\\x00umb\\x00und\\x00unr\\x00unx\\x00urrduri\\x00urt\\x00urw\\x00usa\\x00utr\\x00u\" +\n\t\"vh\\x00uvl\\x00uzzbvag\\x00vai\\x00van\\x00veenvec\\x00vep\\x00viievic\\x00viv\" +\n\t\"\\x00vls\\x00vmf\\x00vmw\\x00voolvot\\x00vro\\x00vun\\x00vut\\x00walnwae\\x00waj\" +\n\t\"\\x00wal\\x00wan\\x00war\\x00wbp\\x00wbq\\x00wbr\\x00wci\\x00wer\\x00wgi\\x00whg\" +\n\t\"\\x00wib\\x00wiu\\x00wiv\\x00wja\\x00wji\\x00wls\\x00wmo\\x00wnc\\x00wni\\x00wnu\" +\n\t\"\\x00woolwob\\x00wos\\x00wrs\\x00wsk\\x00wtm\\x00wuu\\x00wuv\\x00wwa\\x00xav\\x00x\" +\n\t\"bi\\x00xcr\\x00xes\\x00xhhoxla\\x00xlc\\x00xld\\x00xmf\\x00xmn\\x00xmr\\x00xna\" +\n\t\"\\x00xnr\\x00xog\\x00xon\\x00xpr\\x00xrb\\x00xsa\\x00xsi\\x00xsm\\x00xsr\\x00xwe\" +\n\t\"\\x00yam\\x00yao\\x00yap\\x00yas\\x00yat\\x00yav\\x00yay\\x00yaz\\x00yba\\x00ybb\" +\n\t\"\\x00yby\\x00yer\\x00ygr\\x00ygw\\x00yiidyko\\x00yle\\x00ylg\\x00yll\\x00yml\\x00y\" +\n\t\"ooryon\\x00yrb\\x00yre\\x00yrl\\x00yss\\x00yua\\x00yue\\x00yuj\\x00yut\\x00yuw\" +\n\t\"\\x00zahazag\\x00zbl\\x00zdj\\x00zea\\x00zgh\\x00zhhozhx\\x00zia\\x00zlm\\x00zmi\" +\n\t\"\\x00zne\\x00zuulzxx\\x00zza\\x00\\xff\\xff\\xff\\xff\"\n\nconst langNoIndexOffset = 1330\n\n// langNoIndex is a bit vector of all 3-letter language codes that are not used as an index\n// in lookup tables. The language ids for these language codes are derived directly\n// from the letters and are not consecutive.\n// Size: 2197 bytes, 2197 elements\nvar langNoIndex = [2197]uint8{\n\t// Entry 0 - 3F\n\t0xff, 0xf8, 0xed, 0xfe, 0xeb, 0xd3, 0x3b, 0xd2,\n\t0xfb, 0xbf, 0x7a, 0xfa, 0x37, 0x1d, 0x3c, 0x57,\n\t0x6e, 0x97, 0x73, 0x38, 0xfb, 0xea, 0xbf, 0x70,\n\t0xad, 0x03, 0xff, 0xff, 0xcf, 0x05, 0x84, 0x62,\n\t0xe9, 0xbf, 0xfd, 0xbf, 0xbf, 0xf7, 0xfd, 0x77,\n\t0x0f, 0xff, 0xef, 0x6f, 0xff, 0xfb, 0xdf, 0xe2,\n\t0xc9, 0xf8, 0x7f, 0x7e, 0x4d, 0xb8, 0x0a, 0x6a,\n\t0x7c, 0xea, 0xe3, 0xfa, 0x7a, 0xbf, 0x67, 0xff,\n\t// Entry 40 - 7F\n\t0xff, 0xff, 0xff, 0xdf, 0x2a, 0x54, 0x91, 0xc0,\n\t0x5d, 0xe3, 0x97, 0x14, 0x07, 0x20, 0xdd, 0xed,\n\t0x9f, 0x3f, 0xc9, 0x21, 0xf8, 0x3f, 0x94, 0x35,\n\t0x7c, 0x5f, 0xff, 0x5f, 0x8e, 0x6e, 0xdf, 0xff,\n\t0xff, 0xff, 0x55, 0x7c, 0xd3, 0xfd, 0xbf, 0xb5,\n\t0x7b, 0xdf, 0x7f, 0xf7, 0xca, 0xfe, 0xdb, 0xa3,\n\t0xa8, 0xff, 0x1f, 0x67, 0x7d, 0xeb, 0xef, 0xce,\n\t0xff, 0xff, 0x9f, 0xff, 0xb7, 0xef, 0xfe, 0xcf,\n\t// Entry 80 - BF\n\t0xdb, 0xff, 0xf3, 0xcd, 0xfb, 0x2f, 0xff, 0xff,\n\t0xbb, 0xee, 0xf7, 0xbd, 0xdb, 0xff, 0x5f, 0xf7,\n\t0xfd, 0xf2, 0xfd, 0xff, 0x5e, 0x2f, 0x3b, 0xba,\n\t0x7e, 0xff, 0xff, 0xfe, 0xf7, 0xff, 0xdd, 0xff,\n\t0xfd, 0xdf, 0xfb, 0xfe, 0x9d, 0xb4, 0xd3, 0xff,\n\t0xef, 0xff, 0xdf, 0xf7, 0x7f, 0xb7, 0xfd, 0xd5,\n\t0xa5, 0x77, 0x40, 0xff, 0x9c, 0xc1, 0x41, 0x2c,\n\t0x08, 0x20, 0x41, 0x00, 0x50, 0x40, 0x00, 0x80,\n\t// Entry C0 - FF\n\t0xfb, 0x4a, 0xf2, 0x9f, 0xb4, 0x42, 0x41, 0x96,\n\t0x1b, 0x14, 0x08, 0xf2, 0x2b, 0xe7, 0x17, 0x56,\n\t0x05, 0x7d, 0x0e, 0x1c, 0x37, 0x71, 0xf3, 0xef,\n\t0x97, 0xff, 0x5d, 0x38, 0x64, 0x08, 0x00, 0x10,\n\t0xbc, 0x85, 0xaf, 0xdf, 0xff, 0xf7, 0x73, 0x35,\n\t0x3e, 0x87, 0xc7, 0xdf, 0xff, 0x00, 0x81, 0x00,\n\t0xb0, 0x05, 0x80, 0x00, 0x00, 0x00, 0x00, 0x03,\n\t0x40, 0x00, 0x40, 0x92, 0x21, 0x50, 0xb1, 0x5d,\n\t// Entry 100 - 13F\n\t0xfd, 0xdc, 0xbe, 0x5e, 0x00, 0x00, 0x02, 0x64,\n\t0x0d, 0x19, 0x41, 0xdf, 0x79, 0x22, 0x00, 0x00,\n\t0x00, 0x5e, 0x64, 0xdc, 0x24, 0xe5, 0xd9, 0xe3,\n\t0xfe, 0xff, 0xfd, 0xcb, 0x9f, 0x14, 0x01, 0x0c,\n\t0x86, 0x00, 0xd1, 0x00, 0xf0, 0xc5, 0x67, 0x5f,\n\t0x56, 0x89, 0x5e, 0xb5, 0x6c, 0xaf, 0x03, 0x00,\n\t0x02, 0x00, 0x00, 0x00, 0xc0, 0x37, 0xda, 0x56,\n\t0x90, 0x69, 0x01, 0x2c, 0x96, 0x69, 0x20, 0xfb,\n\t// Entry 140 - 17F\n\t0xff, 0x3f, 0x00, 0x00, 0x00, 0x01, 0x08, 0x16,\n\t0x01, 0x00, 0x00, 0xb0, 0x14, 0x03, 0x50, 0x06,\n\t0x0a, 0x00, 0x01, 0x00, 0x00, 0x00, 0x11, 0x09,\n\t0x00, 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x10,\n\t0x00, 0x00, 0x44, 0x00, 0x00, 0x10, 0x00, 0x04,\n\t0x08, 0x00, 0x00, 0x04, 0x00, 0x80, 0x28, 0x04,\n\t0x00, 0x00, 0x40, 0xd5, 0x2d, 0x00, 0x64, 0x35,\n\t0x24, 0x52, 0xf4, 0xd4, 0xbd, 0x62, 0xc9, 0x03,\n\t// Entry 180 - 1BF\n\t0x00, 0x80, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x04, 0x13, 0x39, 0x01, 0xdd, 0x57, 0x98,\n\t0x21, 0x18, 0x81, 0x00, 0x00, 0x01, 0x40, 0x82,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x01, 0x40, 0x00, 0x44, 0x00, 0x00, 0x80, 0xea,\n\t0xa9, 0x39, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,\n\t// Entry 1C0 - 1FF\n\t0x00, 0x01, 0x28, 0x05, 0x00, 0x00, 0x00, 0x00,\n\t0x04, 0x20, 0x04, 0xa6, 0x00, 0x04, 0x00, 0x00,\n\t0x81, 0x50, 0x00, 0x00, 0x00, 0x11, 0x84, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x55,\n\t0x02, 0x10, 0x08, 0x04, 0x00, 0x00, 0x00, 0x40,\n\t0x30, 0x83, 0x01, 0x00, 0x00, 0x00, 0x11, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x1e, 0xcd, 0xbf, 0x7a, 0xbf,\n\t// Entry 200 - 23F\n\t0xdf, 0xc3, 0x83, 0x82, 0xc0, 0xfb, 0x57, 0x27,\n\t0xcd, 0x55, 0xe7, 0x01, 0x00, 0x20, 0xb2, 0xc5,\n\t0xa4, 0x45, 0x25, 0x9b, 0x02, 0xdf, 0xe0, 0xdf,\n\t0x03, 0x44, 0x08, 0x10, 0x01, 0x04, 0x01, 0xe3,\n\t0x92, 0x54, 0xdb, 0x28, 0xd1, 0x5f, 0xf6, 0x6d,\n\t0x79, 0xed, 0x1c, 0x7d, 0x04, 0x08, 0x00, 0x01,\n\t0x21, 0x12, 0x64, 0x5f, 0xdd, 0x0e, 0x85, 0x4f,\n\t0x40, 0x40, 0x00, 0x04, 0xf1, 0xfd, 0x3d, 0x54,\n\t// Entry 240 - 27F\n\t0xe8, 0x03, 0xb4, 0x27, 0x23, 0x0d, 0x00, 0x00,\n\t0x20, 0x7b, 0x38, 0x02, 0x05, 0x84, 0x00, 0xf0,\n\t0xbb, 0x7e, 0x5a, 0x00, 0x18, 0x04, 0x81, 0x00,\n\t0x00, 0x00, 0x80, 0x10, 0x90, 0x1c, 0x01, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x10, 0x40, 0x00, 0x04,\n\t0x08, 0xa0, 0x70, 0xa5, 0x0c, 0x40, 0x00, 0x00,\n\t0x11, 0x04, 0x04, 0x68, 0x00, 0x20, 0x70, 0xff,\n\t0x7b, 0x7f, 0x60, 0x00, 0x05, 0x9b, 0xdd, 0x66,\n\t// Entry 280 - 2BF\n\t0x03, 0x00, 0x11, 0x00, 0x00, 0x00, 0x40, 0x05,\n\t0xb5, 0xb6, 0x80, 0x08, 0x04, 0x00, 0x04, 0x51,\n\t0xe2, 0xef, 0xfd, 0x3f, 0x05, 0x09, 0x08, 0x05,\n\t0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,\n\t0x08, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x60,\n\t0xe7, 0x48, 0x00, 0x81, 0x20, 0xc0, 0x05, 0x80,\n\t0x03, 0x00, 0x00, 0x00, 0x8c, 0x50, 0x40, 0x04,\n\t0x84, 0x47, 0x84, 0x40, 0x20, 0x10, 0x00, 0x20,\n\t// Entry 2C0 - 2FF\n\t0x02, 0x50, 0x80, 0x11, 0x00, 0x91, 0x6c, 0xe2,\n\t0x50, 0x27, 0x1d, 0x11, 0x29, 0x06, 0x59, 0xe9,\n\t0x33, 0x08, 0x00, 0x20, 0x04, 0x40, 0x10, 0x00,\n\t0x00, 0x00, 0x50, 0x44, 0x92, 0x49, 0xd6, 0x5d,\n\t0xa7, 0x81, 0x47, 0x97, 0xfb, 0x00, 0x10, 0x00,\n\t0x08, 0x00, 0x80, 0x00, 0x40, 0x04, 0x00, 0x01,\n\t0x02, 0x00, 0x01, 0x40, 0x80, 0x00, 0x00, 0x08,\n\t0xd8, 0xeb, 0xf6, 0x39, 0xc4, 0x89, 0x12, 0x00,\n\t// Entry 300 - 33F\n\t0x00, 0x0c, 0x04, 0x01, 0x20, 0x20, 0xdd, 0xa0,\n\t0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00,\n\t0x04, 0x10, 0xd0, 0x9d, 0x95, 0x13, 0x04, 0x80,\n\t0x00, 0x01, 0xd0, 0x12, 0x40, 0x00, 0x10, 0xb0,\n\t0x10, 0x62, 0x4c, 0xd2, 0x02, 0x01, 0x4a, 0x00,\n\t0x46, 0x04, 0x00, 0x08, 0x02, 0x00, 0x20, 0x80,\n\t0x00, 0x80, 0x06, 0x00, 0x08, 0x00, 0x00, 0x00,\n\t0x00, 0xf0, 0xd8, 0x6f, 0x15, 0x02, 0x08, 0x00,\n\t// Entry 340 - 37F\n\t0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01,\n\t0x00, 0x10, 0x00, 0x00, 0x00, 0xf0, 0x84, 0xe3,\n\t0xdd, 0xbf, 0xf9, 0xf9, 0x3b, 0x7f, 0x7f, 0xdb,\n\t0xfd, 0xfc, 0xfe, 0xdf, 0xff, 0xfd, 0xff, 0xf6,\n\t0xfb, 0xfc, 0xf7, 0x1f, 0xff, 0xb3, 0x6c, 0xff,\n\t0xd9, 0xad, 0xdf, 0xfe, 0xef, 0xba, 0xdf, 0xff,\n\t0xff, 0xff, 0xb7, 0xdd, 0x7d, 0xbf, 0xab, 0x7f,\n\t0xfd, 0xfd, 0xdf, 0x2f, 0x9c, 0xdf, 0xf3, 0x6f,\n\t// Entry 380 - 3BF\n\t0xdf, 0xdd, 0xff, 0xfb, 0xee, 0xd2, 0xab, 0x5f,\n\t0xd5, 0xdf, 0x7f, 0xff, 0xeb, 0xff, 0xe4, 0x4d,\n\t0xf9, 0xff, 0xfe, 0xf7, 0xfd, 0xdf, 0xfb, 0xbf,\n\t0xee, 0xdb, 0x6f, 0xef, 0xff, 0x7f, 0xff, 0xff,\n\t0xf7, 0x5f, 0xd3, 0x3b, 0xfd, 0xd9, 0xdf, 0xeb,\n\t0xbc, 0x08, 0x05, 0x24, 0xff, 0x07, 0x70, 0xfe,\n\t0xe6, 0x5e, 0x00, 0x08, 0x00, 0x83, 0x3d, 0x1b,\n\t0x06, 0xe6, 0x72, 0x60, 0xd1, 0x3c, 0x7f, 0x44,\n\t// Entry 3C0 - 3FF\n\t0x02, 0x30, 0x9f, 0x7a, 0x16, 0xbd, 0x7f, 0x57,\n\t0xf2, 0xff, 0x31, 0xff, 0xf2, 0x1e, 0x90, 0xf7,\n\t0xf1, 0xf9, 0x45, 0x80, 0x01, 0x02, 0x00, 0x00,\n\t0x40, 0x54, 0x9f, 0x8a, 0xd9, 0xd9, 0x0e, 0x11,\n\t0x86, 0x51, 0xc0, 0xf3, 0xfb, 0x47, 0x00, 0x01,\n\t0x05, 0xd1, 0x50, 0x58, 0x00, 0x00, 0x00, 0x10,\n\t0x04, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x17, 0xd2,\n\t0xb9, 0xfd, 0xfc, 0xba, 0xfe, 0xef, 0xc7, 0xbe,\n\t// Entry 400 - 43F\n\t0x53, 0x6f, 0xdf, 0xe7, 0xdb, 0x65, 0xbb, 0x7f,\n\t0xfa, 0xff, 0x77, 0xf3, 0xef, 0xbf, 0xfd, 0xf7,\n\t0xdf, 0xdf, 0x9b, 0x7f, 0xff, 0xff, 0x7f, 0x6f,\n\t0xf7, 0xfb, 0xeb, 0xdf, 0xbc, 0xff, 0xbf, 0x6b,\n\t0x7b, 0xfb, 0xff, 0xce, 0x76, 0xbd, 0xf7, 0xf7,\n\t0xdf, 0xdc, 0xf7, 0xf7, 0xff, 0xdf, 0xf3, 0xfe,\n\t0xef, 0xff, 0xff, 0xff, 0xb6, 0x7f, 0x7f, 0xde,\n\t0xf7, 0xb9, 0xeb, 0x77, 0xff, 0xfb, 0xbf, 0xdf,\n\t// Entry 440 - 47F\n\t0xfd, 0xfe, 0xfb, 0xff, 0xfe, 0xeb, 0x1f, 0x7d,\n\t0x2f, 0xfd, 0xb6, 0xb5, 0xa5, 0xfc, 0xff, 0xfd,\n\t0x7f, 0x4e, 0xbf, 0x8f, 0xae, 0xff, 0xee, 0xdf,\n\t0x7f, 0xf7, 0x73, 0x02, 0x02, 0x04, 0xfc, 0xf7,\n\t0xff, 0xb7, 0xd7, 0xef, 0xfe, 0xcd, 0xf5, 0xce,\n\t0xe2, 0x8e, 0xe7, 0xbf, 0xb7, 0xff, 0x56, 0xbd,\n\t0xcd, 0xff, 0xfb, 0xff, 0xdf, 0xd7, 0xea, 0xff,\n\t0xe5, 0x5f, 0x6d, 0x0f, 0xa7, 0x51, 0x06, 0xc4,\n\t// Entry 480 - 4BF\n\t0x13, 0x50, 0x5d, 0xaf, 0xa6, 0xfd, 0x99, 0xfb,\n\t0x63, 0x1d, 0x53, 0xff, 0xef, 0xb7, 0x35, 0x20,\n\t0x14, 0x00, 0x55, 0x51, 0x82, 0x65, 0xf5, 0x41,\n\t0xe2, 0xff, 0xfc, 0xdf, 0x00, 0x05, 0xc5, 0x05,\n\t0x00, 0x22, 0x00, 0x74, 0x69, 0x10, 0x08, 0x04,\n\t0x41, 0x00, 0x01, 0x06, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x51, 0x20, 0x05, 0x04, 0x01, 0x00, 0x00,\n\t0x06, 0x01, 0x20, 0x00, 0x18, 0x01, 0x92, 0xb1,\n\t// Entry 4C0 - 4FF\n\t0xfd, 0x47, 0x49, 0x06, 0x95, 0x06, 0x57, 0xed,\n\t0xfb, 0x4c, 0x1c, 0x6b, 0x83, 0x04, 0x62, 0x40,\n\t0x00, 0x11, 0x42, 0x00, 0x00, 0x00, 0x54, 0x83,\n\t0xb8, 0x4f, 0x10, 0x8c, 0x89, 0x46, 0xde, 0xf7,\n\t0x13, 0x31, 0x00, 0x20, 0x00, 0x00, 0x00, 0x90,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x10, 0x00,\n\t0x01, 0x00, 0x00, 0xf0, 0x5b, 0xf4, 0xbe, 0x3d,\n\t0xba, 0xcf, 0xf7, 0xaf, 0x42, 0x04, 0x84, 0x41,\n\t// Entry 500 - 53F\n\t0x30, 0xff, 0x79, 0x72, 0x04, 0x00, 0x00, 0x49,\n\t0x2d, 0x14, 0x27, 0x57, 0xed, 0xf1, 0x3f, 0xe7,\n\t0x3f, 0x00, 0x00, 0x02, 0xc6, 0xa0, 0x1e, 0xf8,\n\t0xbb, 0xff, 0xfd, 0xfb, 0xb7, 0xfd, 0xe5, 0xf7,\n\t0xfd, 0xfc, 0xd5, 0xed, 0x47, 0xf4, 0x7e, 0x10,\n\t0x01, 0x01, 0x84, 0x6d, 0xff, 0xf7, 0xdd, 0xf9,\n\t0x5b, 0x05, 0x86, 0xed, 0xf5, 0x77, 0xbd, 0x3c,\n\t0x00, 0x00, 0x00, 0x42, 0x71, 0x42, 0x00, 0x40,\n\t// Entry 540 - 57F\n\t0x00, 0x00, 0x01, 0x43, 0x19, 0x00, 0x08, 0x00,\n\t0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n\t0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n\t0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n\t0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n\t0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n\t0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n\t0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n\t// Entry 580 - 5BF\n\t0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n\t0xff, 0xab, 0xbd, 0xe7, 0x57, 0xee, 0x13, 0x5d,\n\t0x09, 0xc1, 0x40, 0x21, 0xfa, 0x17, 0x01, 0x80,\n\t0x00, 0x00, 0x00, 0x00, 0xf0, 0xce, 0xfb, 0xbf,\n\t0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,\n\t0x00, 0x30, 0x15, 0xa3, 0x10, 0x00, 0x00, 0x00,\n\t0x11, 0x04, 0x16, 0x00, 0x00, 0x02, 0x00, 0x81,\n\t0xa3, 0x01, 0x50, 0x00, 0x00, 0x83, 0x11, 0x40,\n\t// Entry 5C0 - 5FF\n\t0x00, 0x00, 0x00, 0xf0, 0xdd, 0x7b, 0x3e, 0x02,\n\t0xaa, 0x10, 0x5d, 0x98, 0x52, 0x00, 0x80, 0x20,\n\t0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x02, 0x02,\n\t0x19, 0x00, 0x10, 0x02, 0x10, 0x61, 0x5a, 0x9d,\n\t0x31, 0x00, 0x00, 0x00, 0x01, 0x10, 0x02, 0x20,\n\t0x00, 0x00, 0x01, 0x00, 0x42, 0x00, 0x20, 0x00,\n\t0x00, 0x1f, 0xdf, 0xd2, 0xb9, 0xff, 0xfd, 0x3f,\n\t0x1f, 0x98, 0xcf, 0x9c, 0xbf, 0xaf, 0x5f, 0xfe,\n\t// Entry 600 - 63F\n\t0x7b, 0x4b, 0x40, 0x10, 0xe1, 0xfd, 0xaf, 0xd9,\n\t0xb7, 0xf6, 0xfb, 0xb3, 0xc7, 0xff, 0x6f, 0xf1,\n\t0x73, 0xb1, 0x7f, 0x9f, 0x7f, 0xbd, 0xfc, 0xb7,\n\t0xee, 0x1c, 0xfa, 0xcb, 0xef, 0xdd, 0xf9, 0xbd,\n\t0x6e, 0xae, 0x55, 0xfd, 0x6e, 0x81, 0x76, 0x1f,\n\t0xd4, 0x77, 0xf5, 0x7d, 0xfb, 0xff, 0xeb, 0xfe,\n\t0xbe, 0x5f, 0x46, 0x1b, 0xe9, 0x5f, 0x50, 0x18,\n\t0x02, 0xfa, 0xf7, 0x9d, 0x15, 0x97, 0x05, 0x0f,\n\t// Entry 640 - 67F\n\t0x75, 0xc4, 0x7d, 0x81, 0x92, 0xf1, 0x57, 0x6c,\n\t0xff, 0xe4, 0xef, 0x6f, 0xff, 0xfc, 0xdd, 0xde,\n\t0xfc, 0xfd, 0x76, 0x5f, 0x7a, 0x1f, 0x00, 0x98,\n\t0x02, 0xfb, 0xa3, 0xef, 0xf3, 0xd6, 0xf2, 0xff,\n\t0xb9, 0xda, 0x7d, 0x50, 0x1e, 0x15, 0x7b, 0xb4,\n\t0xf5, 0x3e, 0xff, 0xff, 0xf1, 0xf7, 0xff, 0xe7,\n\t0x5f, 0xff, 0xff, 0x9e, 0xdb, 0xf6, 0xd7, 0xb9,\n\t0xef, 0x27, 0x80, 0xbb, 0xc5, 0xff, 0xff, 0xe3,\n\t// Entry 680 - 6BF\n\t0x97, 0x9d, 0xbf, 0x9f, 0xf7, 0xc7, 0xfd, 0x37,\n\t0xce, 0x7f, 0x04, 0x1d, 0x53, 0x7f, 0xf8, 0xda,\n\t0x5d, 0xce, 0x7d, 0x06, 0xb9, 0xea, 0x69, 0xa0,\n\t0x1a, 0x20, 0x00, 0x30, 0x02, 0x04, 0x24, 0x08,\n\t0x04, 0x00, 0x00, 0x40, 0xd4, 0x02, 0x04, 0x00,\n\t0x00, 0x04, 0x00, 0x04, 0x00, 0x20, 0x01, 0x06,\n\t0x50, 0x00, 0x08, 0x00, 0x00, 0x00, 0x24, 0x00,\n\t0x04, 0x00, 0x10, 0xcc, 0x58, 0xd5, 0x0d, 0x0f,\n\t// Entry 6C0 - 6FF\n\t0x14, 0x4d, 0xf1, 0x16, 0x44, 0xd1, 0x42, 0x08,\n\t0x40, 0x00, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00,\n\t0x00, 0xdc, 0xfb, 0xcb, 0x0e, 0x58, 0x08, 0x41,\n\t0x04, 0x20, 0x04, 0x00, 0x30, 0x12, 0x40, 0x00,\n\t0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x01, 0x00, 0x00, 0x00, 0x80, 0x10, 0x10, 0xab,\n\t0x6d, 0x93, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x80, 0x80, 0x25, 0x00, 0x00,\n\t// Entry 700 - 73F\n\t0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,\n\t0x80, 0x86, 0xc2, 0x00, 0x00, 0x00, 0x00, 0x01,\n\t0xdf, 0x18, 0x00, 0x00, 0x02, 0xf0, 0xfd, 0x79,\n\t0x3b, 0x00, 0x25, 0x00, 0x00, 0x00, 0x02, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,\n\t0x03, 0x00, 0x09, 0x20, 0x00, 0x00, 0x01, 0x00,\n\t0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t// Entry 740 - 77F\n\t0x00, 0x00, 0x00, 0xef, 0xd5, 0xfd, 0xcf, 0x7e,\n\t0xb0, 0x11, 0x00, 0x00, 0x00, 0x92, 0x01, 0x44,\n\t0xcd, 0xf9, 0x5c, 0x00, 0x01, 0x00, 0x30, 0x04,\n\t0x04, 0x55, 0x00, 0x01, 0x04, 0xf4, 0x3f, 0x4a,\n\t0x01, 0x00, 0x00, 0xb0, 0x80, 0x00, 0x55, 0x55,\n\t0x97, 0x7c, 0x9f, 0x31, 0xcc, 0x68, 0xd1, 0x03,\n\t0xd5, 0x57, 0x27, 0x14, 0x01, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x2c, 0xf7, 0xcb, 0x1f, 0x14, 0x60,\n\t// Entry 780 - 7BF\n\t0x03, 0x68, 0x01, 0x10, 0x8b, 0x38, 0x8a, 0x01,\n\t0x00, 0x00, 0x20, 0x00, 0x24, 0x44, 0x00, 0x00,\n\t0x10, 0x03, 0x11, 0x02, 0x01, 0x00, 0x00, 0xf0,\n\t0xf5, 0xff, 0xd5, 0x97, 0xbc, 0x70, 0xd6, 0x78,\n\t0x78, 0x15, 0x50, 0x01, 0xa4, 0x84, 0xa9, 0x41,\n\t0x00, 0x00, 0x00, 0x6b, 0x39, 0x52, 0x74, 0x00,\n\t0xe8, 0x30, 0x90, 0x6a, 0x92, 0x00, 0x00, 0x02,\n\t0xff, 0xef, 0xff, 0x4b, 0x85, 0x53, 0xf4, 0xed,\n\t// Entry 7C0 - 7FF\n\t0xdd, 0xbf, 0x72, 0x19, 0xc7, 0x0c, 0xd5, 0x42,\n\t0x54, 0xdd, 0x77, 0x14, 0x00, 0x80, 0x40, 0x56,\n\t0xcc, 0x16, 0x9e, 0xea, 0x35, 0x7d, 0xef, 0xff,\n\t0xbd, 0xa4, 0xaf, 0x01, 0x44, 0x18, 0x01, 0x4d,\n\t0x4e, 0x4a, 0x08, 0x50, 0x28, 0x30, 0xe0, 0x80,\n\t0x10, 0x20, 0x24, 0x00, 0xff, 0x2f, 0xd3, 0x60,\n\t0xfe, 0x01, 0x02, 0x88, 0x0a, 0x40, 0x16, 0x01,\n\t0x01, 0x15, 0x2b, 0x3c, 0x01, 0x00, 0x00, 0x10,\n\t// Entry 800 - 83F\n\t0x90, 0x49, 0x41, 0x02, 0x02, 0x01, 0xe1, 0xbf,\n\t0xbf, 0x03, 0x00, 0x00, 0x10, 0xd4, 0xa3, 0xd1,\n\t0x40, 0x9c, 0x44, 0xdf, 0xf5, 0x8f, 0x66, 0xb3,\n\t0x55, 0x20, 0xd4, 0xc1, 0xd8, 0x30, 0x3d, 0x80,\n\t0x00, 0x00, 0x00, 0x04, 0xd4, 0x11, 0xc5, 0x84,\n\t0x2e, 0x50, 0x00, 0x22, 0x50, 0x6e, 0xbd, 0x93,\n\t0x07, 0x00, 0x20, 0x10, 0x84, 0xb2, 0x45, 0x10,\n\t0x06, 0x44, 0x00, 0x00, 0x12, 0x02, 0x11, 0x00,\n\t// Entry 840 - 87F\n\t0xf0, 0xfb, 0xfd, 0x3f, 0x05, 0x00, 0x12, 0x81,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x02,\n\t0x00, 0x00, 0x00, 0x00, 0x03, 0x30, 0x02, 0x28,\n\t0x84, 0x00, 0x21, 0xc0, 0x23, 0x24, 0x00, 0x00,\n\t0x00, 0xcb, 0xe4, 0x3a, 0x42, 0x88, 0x14, 0xf1,\n\t0xef, 0xff, 0x7f, 0x12, 0x01, 0x01, 0x84, 0x50,\n\t0x07, 0xfc, 0xff, 0xff, 0x0f, 0x01, 0x00, 0x40,\n\t0x10, 0x38, 0x01, 0x01, 0x1c, 0x12, 0x40, 0xe1,\n\t// Entry 880 - 8BF\n\t0x76, 0x16, 0x08, 0x03, 0x10, 0x00, 0x00, 0x00,\n\t0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x24,\n\t0x0a, 0x00, 0x80, 0x00, 0x00,\n}\n\n// altLangISO3 holds an alphabetically sorted list of 3-letter language code alternatives\n// to 2-letter language codes that cannot be derived using the method described above.\n// Each 3-letter code is followed by its 1-byte langID.\nconst altLangISO3 tag.Index = \"---\\x00cor\\x00hbs\\x01heb\\x02kin\\x03spa\\x04yid\\x05\\xff\\xff\\xff\\xff\"\n\n// altLangIndex is used to convert indexes in altLangISO3 to langIDs.\n// Size: 12 bytes, 6 elements\nvar altLangIndex = [6]uint16{\n\t0x0281, 0x0407, 0x01fb, 0x03e5, 0x013e, 0x0208,\n}\n\n// langAliasMap maps langIDs to their suggested replacements.\n// Size: 656 bytes, 164 elements\nvar langAliasMap = [164]fromTo{\n\t0:   {from: 0x82, to: 0x88},\n\t1:   {from: 0x187, to: 0x1ae},\n\t2:   {from: 0x1f3, to: 0x1e1},\n\t3:   {from: 0x1fb, to: 0x1bc},\n\t4:   {from: 0x208, to: 0x512},\n\t5:   {from: 0x20f, to: 0x20e},\n\t6:   {from: 0x310, to: 0x3dc},\n\t7:   {from: 0x347, to: 0x36f},\n\t8:   {from: 0x407, to: 0x432},\n\t9:   {from: 0x47a, to: 0x153},\n\t10:  {from: 0x490, to: 0x451},\n\t11:  {from: 0x4a2, to: 0x21},\n\t12:  {from: 0x53e, to: 0x544},\n\t13:  {from: 0x58f, to: 0x12d},\n\t14:  {from: 0x630, to: 0x1eb1},\n\t15:  {from: 0x651, to: 0x431},\n\t16:  {from: 0x662, to: 0x431},\n\t17:  {from: 0x6ed, to: 0x3a},\n\t18:  {from: 0x6f8, to: 0x1d7},\n\t19:  {from: 0x73e, to: 0x21a1},\n\t20:  {from: 0x7b3, to: 0x56},\n\t21:  {from: 0x7b9, to: 0x299b},\n\t22:  {from: 0x7c5, to: 0x58},\n\t23:  {from: 0x7e6, to: 0x145},\n\t24:  {from: 0x80c, to: 0x5a},\n\t25:  {from: 0x815, to: 0x8d},\n\t26:  {from: 0x87e, to: 0x810},\n\t27:  {from: 0x8c3, to: 0xee3},\n\t28:  {from: 0x9ef, to: 0x331},\n\t29:  {from: 0xa36, to: 0x2c5},\n\t30:  {from: 0xa3d, to: 0xbf},\n\t31:  {from: 0xabe, to: 0x3322},\n\t32:  {from: 0xb38, to: 0x529},\n\t33:  {from: 0xb75, to: 0x265a},\n\t34:  {from: 0xb7e, to: 0xbc3},\n\t35:  {from: 0xb9b, to: 0x44e},\n\t36:  {from: 0xbbc, to: 0x4229},\n\t37:  {from: 0xbbf, to: 0x529},\n\t38:  {from: 0xbfe, to: 0x2da7},\n\t39:  {from: 0xc2e, to: 0x3181},\n\t40:  {from: 0xcb9, to: 0xf3},\n\t41:  {from: 0xd08, to: 0xfa},\n\t42:  {from: 0xdc8, to: 0x11a},\n\t43:  {from: 0xdd7, to: 0x32d},\n\t44:  {from: 0xdf8, to: 0xdfb},\n\t45:  {from: 0xdfe, to: 0x531},\n\t46:  {from: 0xedf, to: 0x205a},\n\t47:  {from: 0xeee, to: 0x2e9a},\n\t48:  {from: 0xf39, to: 0x367},\n\t49:  {from: 0x10d0, to: 0x140},\n\t50:  {from: 0x1104, to: 0x2d0},\n\t51:  {from: 0x11a0, to: 0x1ec},\n\t52:  {from: 0x1279, to: 0x21},\n\t53:  {from: 0x1424, to: 0x15e},\n\t54:  {from: 0x1470, to: 0x14e},\n\t55:  {from: 0x151f, to: 0xd9b},\n\t56:  {from: 0x1523, to: 0x390},\n\t57:  {from: 0x1532, to: 0x19f},\n\t58:  {from: 0x1580, to: 0x210},\n\t59:  {from: 0x1583, to: 0x10d},\n\t60:  {from: 0x15a3, to: 0x3caf},\n\t61:  {from: 0x166a, to: 0x19b},\n\t62:  {from: 0x16c8, to: 0x136},\n\t63:  {from: 0x1700, to: 0x29f8},\n\t64:  {from: 0x1718, to: 0x194},\n\t65:  {from: 0x1727, to: 0xf3f},\n\t66:  {from: 0x177a, to: 0x178},\n\t67:  {from: 0x1809, to: 0x17b6},\n\t68:  {from: 0x1816, to: 0x18f3},\n\t69:  {from: 0x188a, to: 0x436},\n\t70:  {from: 0x1979, to: 0x1d01},\n\t71:  {from: 0x1a74, to: 0x2bb0},\n\t72:  {from: 0x1a8a, to: 0x1f8},\n\t73:  {from: 0x1b5a, to: 0x1fa},\n\t74:  {from: 0x1b86, to: 0x1515},\n\t75:  {from: 0x1d64, to: 0x2c9b},\n\t76:  {from: 0x2038, to: 0x37b1},\n\t77:  {from: 0x203d, to: 0x20dd},\n\t78:  {from: 0x205a, to: 0x30b},\n\t79:  {from: 0x20e3, to: 0x274},\n\t80:  {from: 0x20ee, to: 0x263},\n\t81:  {from: 0x20f2, to: 0x22d},\n\t82:  {from: 0x20f9, to: 0x256},\n\t83:  {from: 0x210f, to: 0x21eb},\n\t84:  {from: 0x2135, to: 0x27d},\n\t85:  {from: 0x2160, to: 0x913},\n\t86:  {from: 0x2199, to: 0x121},\n\t87:  {from: 0x21ce, to: 0x1561},\n\t88:  {from: 0x21e6, to: 0x504},\n\t89:  {from: 0x21f4, to: 0x49f},\n\t90:  {from: 0x222d, to: 0x121},\n\t91:  {from: 0x2237, to: 0x121},\n\t92:  {from: 0x2262, to: 0x92a},\n\t93:  {from: 0x2316, to: 0x3226},\n\t94:  {from: 0x2382, to: 0x3365},\n\t95:  {from: 0x2472, to: 0x2c7},\n\t96:  {from: 0x24e4, to: 0x2ff},\n\t97:  {from: 0x24f0, to: 0x2fa},\n\t98:  {from: 0x24fa, to: 0x31f},\n\t99:  {from: 0x2550, to: 0xb5b},\n\t100: {from: 0x25a9, to: 0xe2},\n\t101: {from: 0x263e, to: 0x2d0},\n\t102: {from: 0x26c9, to: 0x26b4},\n\t103: {from: 0x26f9, to: 0x3c8},\n\t104: {from: 0x2727, to: 0x3caf},\n\t105: {from: 0x2765, to: 0x26b4},\n\t106: {from: 0x2789, to: 0x4358},\n\t107: {from: 0x28ef, to: 0x2837},\n\t108: {from: 0x2914, to: 0x351},\n\t109: {from: 0x2986, to: 0x2da7},\n\t110: {from: 0x2b1a, to: 0x38d},\n\t111: {from: 0x2bfc, to: 0x395},\n\t112: {from: 0x2c3f, to: 0x3caf},\n\t113: {from: 0x2cfc, to: 0x3be},\n\t114: {from: 0x2d13, to: 0x597},\n\t115: {from: 0x2d47, to: 0x148},\n\t116: {from: 0x2d48, to: 0x148},\n\t117: {from: 0x2dff, to: 0x2f1},\n\t118: {from: 0x2e08, to: 0x19cc},\n\t119: {from: 0x2e1a, to: 0x2d95},\n\t120: {from: 0x2e21, to: 0x292},\n\t121: {from: 0x2e54, to: 0x7d},\n\t122: {from: 0x2e65, to: 0x2282},\n\t123: {from: 0x2ea0, to: 0x2e9b},\n\t124: {from: 0x2eef, to: 0x2ed7},\n\t125: {from: 0x3193, to: 0x3c4},\n\t126: {from: 0x3366, to: 0x338e},\n\t127: {from: 0x342a, to: 0x3dc},\n\t128: {from: 0x34ee, to: 0x18d0},\n\t129: {from: 0x35c8, to: 0x2c9b},\n\t130: {from: 0x35e6, to: 0x412},\n\t131: {from: 0x3658, to: 0x246},\n\t132: {from: 0x3676, to: 0x3f4},\n\t133: {from: 0x36fd, to: 0x445},\n\t134: {from: 0x37c0, to: 0x121},\n\t135: {from: 0x3816, to: 0x38f2},\n\t136: {from: 0x382b, to: 0x2c9b},\n\t137: {from: 0x382f, to: 0xa9},\n\t138: {from: 0x3832, to: 0x3228},\n\t139: {from: 0x386c, to: 0x39a6},\n\t140: {from: 0x3892, to: 0x3fc0},\n\t141: {from: 0x38a5, to: 0x39d7},\n\t142: {from: 0x38b4, to: 0x1fa4},\n\t143: {from: 0x38b5, to: 0x2e9a},\n\t144: {from: 0x395c, to: 0x47e},\n\t145: {from: 0x3b4e, to: 0xd91},\n\t146: {from: 0x3b78, to: 0x137},\n\t147: {from: 0x3c99, to: 0x4bc},\n\t148: {from: 0x3fbd, to: 0x100},\n\t149: {from: 0x4208, to: 0xa91},\n\t150: {from: 0x42be, to: 0x573},\n\t151: {from: 0x42f9, to: 0x3f60},\n\t152: {from: 0x4378, to: 0x25a},\n\t153: {from: 0x43cb, to: 0x36cb},\n\t154: {from: 0x43cd, to: 0x10f},\n\t155: {from: 0x44af, to: 0x3322},\n\t156: {from: 0x44e3, to: 0x512},\n\t157: {from: 0x45ca, to: 0x2409},\n\t158: {from: 0x45dd, to: 0x26dc},\n\t159: {from: 0x4610, to: 0x48ae},\n\t160: {from: 0x46ae, to: 0x46a0},\n\t161: {from: 0x473e, to: 0x4745},\n\t162: {from: 0x4916, to: 0x31f},\n\t163: {from: 0x49a7, to: 0x523},\n}\n\n// Size: 164 bytes, 164 elements\nvar langAliasTypes = [164]langAliasType{\n\t// Entry 0 - 3F\n\t1, 0, 0, 0, 0, 0, 0, 1, 2, 2, 0, 1, 0, 0, 1, 2,\n\t1, 1, 2, 0, 1, 0, 1, 2, 1, 1, 0, 0, 2, 1, 1, 0,\n\t2, 0, 0, 1, 0, 1, 0, 0, 1, 2, 1, 1, 1, 1, 0, 0,\n\t2, 1, 1, 1, 1, 2, 1, 0, 1, 1, 2, 2, 0, 1, 2, 0,\n\t// Entry 40 - 7F\n\t1, 0, 1, 1, 1, 1, 0, 0, 2, 1, 0, 0, 0, 0, 1, 1,\n\t1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,\n\t2, 2, 2, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1,\n\t0, 1, 0, 2, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 2,\n\t// Entry 80 - BF\n\t0, 0, 2, 1, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,\n\t1, 1, 0, 1, 2, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0,\n\t0, 1, 1, 1,\n}\n\nconst (\n\t_Latn = 87\n\t_Hani = 54\n\t_Hans = 56\n\t_Hant = 57\n\t_Qaaa = 139\n\t_Qaai = 147\n\t_Qabx = 188\n\t_Zinh = 236\n\t_Zyyy = 241\n\t_Zzzz = 242\n)\n\n// script is an alphabetically sorted list of ISO 15924 codes. The index\n// of the script in the string, divided by 4, is the internal scriptID.\nconst script tag.Index = \"\" + // Size: 976 bytes\n\t\"----AdlmAfakAghbAhomArabAranArmiArmnAvstBaliBamuBassBatkBengBhksBlisBopo\" +\n\t\"BrahBraiBugiBuhdCakmCansCariChamCherCirtCoptCpmnCprtCyrlCyrsDevaDogrDsrt\" +\n\t\"DuplEgydEgyhEgypElbaEthiGeokGeorGlagGongGonmGothGranGrekGujrGuruHanbHang\" +\n\t\"HaniHanoHansHantHatrHebrHiraHluwHmngHmnpHrktHungIndsItalJamoJavaJpanJurc\" +\n\t\"KaliKanaKharKhmrKhojKitlKitsKndaKoreKpelKthiLanaLaooLatfLatgLatnLekeLepc\" +\n\t\"LimbLinaLinbLisuLomaLyciLydiMahjMakaMandManiMarcMayaMedfMendMercMeroMlym\" +\n\t\"ModiMongMoonMrooMteiMultMymrNarbNbatNewaNkdbNkgbNkooNshuOgamOlckOrkhOrya\" +\n\t\"OsgeOsmaPalmPaucPermPhagPhliPhlpPhlvPhnxPiqdPlrdPrtiQaaaQaabQaacQaadQaae\" +\n\t\"QaafQaagQaahQaaiQaajQaakQaalQaamQaanQaaoQaapQaaqQaarQaasQaatQaauQaavQaaw\" +\n\t\"QaaxQaayQaazQabaQabbQabcQabdQabeQabfQabgQabhQabiQabjQabkQablQabmQabnQabo\" +\n\t\"QabpQabqQabrQabsQabtQabuQabvQabwQabxRjngRoroRunrSamrSaraSarbSaurSgnwShaw\" +\n\t\"ShrdShuiSiddSindSinhSoraSoyoSundSyloSyrcSyreSyrjSyrnTagbTakrTaleTaluTaml\" +\n\t\"TangTavtTeluTengTfngTglgThaaThaiTibtTirhUgarVaiiVispWaraWchoWoleXpeoXsux\" +\n\t\"YiiiZanbZinhZmthZsyeZsymZxxxZyyyZzzz\\xff\\xff\\xff\\xff\"\n\n// suppressScript is an index from langID to the dominant script for that language,\n// if it exists.  If a script is given, it should be suppressed from the language tag.\n// Size: 1330 bytes, 1330 elements\nvar suppressScript = [1330]uint8{\n\t// Entry 0 - 3F\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t// Entry 40 - 7F\n\t0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00,\n\t// Entry 80 - BF\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t// Entry C0 - FF\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t// Entry 100 - 13F\n\t0x57, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0xde, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x00,\n\t0x00, 0x57, 0x00, 0x00, 0x57, 0x00, 0x57, 0x00,\n\t// Entry 140 - 17F\n\t0x57, 0x00, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00,\n\t0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x57, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00,\n\t0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x00,\n\t0x00, 0x57, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x57, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t// Entry 180 - 1BF\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x57, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x57, 0x32, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x21, 0x00,\n\t// Entry 1C0 - 1FF\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x57, 0x57, 0x00, 0x57, 0x57, 0x00, 0x08,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00,\n\t0x57, 0x57, 0x00, 0x3b, 0x00, 0x00, 0x00, 0x00,\n\t// Entry 200 - 23F\n\t0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x2b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t// Entry 240 - 27F\n\t0x00, 0x00, 0x1f, 0x00, 0x00, 0x57, 0x00, 0x00,\n\t0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x4f, 0x00, 0x00, 0x50, 0x00, 0x21, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t// Entry 280 - 2BF\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00,\n\t0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t// Entry 2C0 - 2FF\n\t0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f,\n\t// Entry 300 - 33F\n\t0x00, 0x00, 0x00, 0x00, 0x6b, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x57,\n\t0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x00,\n\t// Entry 340 - 37F\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x00,\n\t0x57, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,\n\t0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x57,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x57, 0x00,\n\t0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t// Entry 380 - 3BF\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x57, 0x00, 0x00, 0x00, 0x00, 0x7d, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00,\n\t// Entry 3C0 - 3FF\n\t0x57, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00,\n\t0x00, 0x57, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x1f, 0x00, 0x00, 0x57, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t// Entry 400 - 43F\n\t0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0xca, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x57, 0x00,\n\t0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,\n\t0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00,\n\t// Entry 440 - 47F\n\t0x00, 0x00, 0x00, 0x00, 0x57, 0x57, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0xd7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0xda, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x29,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,\n\t0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x57, 0x00,\n\t// Entry 480 - 4BF\n\t0x57, 0x00, 0x57, 0x00, 0x00, 0x00, 0x57, 0x00,\n\t0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x57, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t// Entry 4C0 - 4FF\n\t0x57, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t// Entry 500 - 53F\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,\n\t0x00, 0x00,\n}\n\nconst (\n\t_001 = 1\n\t_419 = 31\n\t_BR  = 65\n\t_CA  = 73\n\t_ES  = 110\n\t_GB  = 123\n\t_MD  = 188\n\t_PT  = 238\n\t_UK  = 306\n\t_US  = 309\n\t_ZZ  = 357\n\t_XA  = 323\n\t_XC  = 325\n\t_XK  = 333\n)\n\n// isoRegionOffset needs to be added to the index of regionISO to obtain the regionID\n// for 2-letter ISO codes. (The first isoRegionOffset regionIDs are reserved for\n// the UN.M49 codes used for groups.)\nconst isoRegionOffset = 32\n\n// regionTypes defines the status of a region for various standards.\n// Size: 358 bytes, 358 elements\nvar regionTypes = [358]uint8{\n\t// Entry 0 - 3F\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t// Entry 40 - 7F\n\t0x06, 0x06, 0x06, 0x06, 0x04, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x04, 0x06, 0x04,\n\t0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x04,\n\t0x06, 0x04, 0x06, 0x06, 0x06, 0x06, 0x00, 0x06,\n\t0x04, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x04, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00,\n\t0x06, 0x04, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t// Entry 80 - BF\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x00, 0x04, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t// Entry C0 - FF\n\t0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00,\n\t0x06, 0x06, 0x06, 0x06, 0x00, 0x06, 0x04, 0x06,\n\t0x06, 0x06, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00,\n\t0x06, 0x06, 0x00, 0x06, 0x05, 0x05, 0x05, 0x05,\n\t0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,\n\t// Entry 100 - 13F\n\t0x05, 0x05, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x04, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x02, 0x06, 0x04, 0x06, 0x06, 0x06,\n\t0x06, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06,\n\t// Entry 140 - 17F\n\t0x06, 0x00, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05,\n\t0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,\n\t0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,\n\t0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x06, 0x06,\n\t0x04, 0x06, 0x06, 0x04, 0x06, 0x05,\n}\n\n// regionISO holds a list of alphabetically sorted 2-letter ISO region codes.\n// Each 2-letter codes is followed by two bytes with the following meaning:\n//     - [A-Z}{2}: the first letter of the 2-letter code plus these two\n//                 letters form the 3-letter ISO code.\n//     - 0, n:     index into altRegionISO3.\nconst regionISO tag.Index = \"\" + // Size: 1308 bytes\n\t\"AAAAACSCADNDAEREAFFGAGTGAIIAALLBAMRMANNTAOGOAQTAARRGASSMATUTAUUSAWBWAXLA\" +\n\t\"AZZEBAIHBBRBBDGDBEELBFFABGGRBHHRBIDIBJENBLLMBMMUBNRNBOOLBQESBRRABSHSBTTN\" +\n\t\"BUURBVVTBWWABYLRBZLZCAANCCCKCDODCFAFCGOGCHHECIIVCKOKCLHLCMMRCNHNCOOLCPPT\" +\n\t\"CRRICS\\x00\\x00CTTECUUBCVPVCWUWCXXRCYYPCZZEDDDRDEEUDGGADJJIDKNKDMMADOOMDY\" +\n\t\"HYDZZAEA  ECCUEESTEGGYEHSHERRIESSPETTHEU\\x00\\x03EZ  FIINFJJIFKLKFMSMFORO\" +\n\t\"FQ\\x00\\x18FRRAFXXXGAABGBBRGDRDGEEOGFUFGGGYGHHAGIIBGLRLGMMBGNINGPLPGQNQGR\" +\n\t\"RCGS\\x00\\x06GTTMGUUMGWNBGYUYHKKGHMMDHNNDHRRVHTTIHUUNHVVOIC  IDDNIERLILSR\" +\n\t\"IMMNINNDIOOTIQRQIRRNISSLITTAJEEYJMAMJOORJPPNJTTNKEENKGGZKHHMKIIRKM\\x00\" +\n\t\"\\x09KNNAKP\\x00\\x0cKRORKWWTKY\\x00\\x0fKZAZLAAOLBBNLCCALIIELKKALRBRLSSOLTTU\" +\n\t\"LUUXLVVALYBYMAARMCCOMDDAMENEMFAFMGDGMHHLMIIDMKKDMLLIMMMRMNNGMOACMPNPMQTQ\" +\n\t\"MRRTMSSRMTLTMUUSMVDVMWWIMXEXMYYSMZOZNAAMNCCLNEERNFFKNGGANHHBNIICNLLDNOOR\" +\n\t\"NPPLNQ\\x00\\x1eNRRUNTTZNUIUNZZLOMMNPAANPCCIPEERPFYFPGNGPHHLPKAKPLOLPM\\x00\" +\n\t\"\\x12PNCNPRRIPSSEPTRTPUUSPWLWPYRYPZCZQAATQMMMQNNNQOOOQPPPQQQQQRRRQSSSQTTT\" +\n\t\"QU\\x00\\x03QVVVQWWWQXXXQYYYQZZZREEURHHOROOURS\\x00\\x15RUUSRWWASAAUSBLBSCYC\" +\n\t\"SDDNSEWESGGPSHHNSIVNSJJMSKVKSLLESMMRSNENSOOMSRURSSSDSTTPSUUNSVLVSXXMSYYR\" +\n\t\"SZWZTAAATCCATDCDTF\\x00\\x18TGGOTHHATJJKTKKLTLLSTMKMTNUNTOONTPMPTRURTTTOTV\" +\n\t\"UVTWWNTZZAUAKRUGGAUK  UMMIUN  USSAUYRYUZZBVAATVCCTVDDRVEENVGGBVIIRVNNMVU\" +\n\t\"UTWFLFWKAKWSSMXAAAXBBBXCCCXDDDXEEEXFFFXGGGXHHHXIIIXJJJXKKKXLLLXMMMXNNNXO\" +\n\t\"OOXPPPXQQQXRRRXSSSXTTTXUUUXVVVXWWWXXXXXYYYXZZZYDMDYEEMYT\\x00\\x1bYUUGZAAF\" +\n\t\"ZMMBZRARZWWEZZZZ\\xff\\xff\\xff\\xff\"\n\n// altRegionISO3 holds a list of 3-letter region codes that cannot be\n// mapped to 2-letter codes using the default algorithm. This is a short list.\nconst altRegionISO3 string = \"SCGQUUSGSCOMPRKCYMSPMSRBATFMYTATN\"\n\n// altRegionIDs holds a list of regionIDs the positions of which match those\n// of the 3-letter ISO codes in altRegionISO3.\n// Size: 22 bytes, 11 elements\nvar altRegionIDs = [11]uint16{\n\t0x0057, 0x0070, 0x0088, 0x00a8, 0x00aa, 0x00ad, 0x00ea, 0x0105,\n\t0x0121, 0x015f, 0x00dc,\n}\n\n// Size: 80 bytes, 20 elements\nvar regionOldMap = [20]fromTo{\n\t0:  {from: 0x44, to: 0xc4},\n\t1:  {from: 0x58, to: 0xa7},\n\t2:  {from: 0x5f, to: 0x60},\n\t3:  {from: 0x66, to: 0x3b},\n\t4:  {from: 0x79, to: 0x78},\n\t5:  {from: 0x93, to: 0x37},\n\t6:  {from: 0xa3, to: 0x133},\n\t7:  {from: 0xc1, to: 0x133},\n\t8:  {from: 0xd7, to: 0x13f},\n\t9:  {from: 0xdc, to: 0x2b},\n\t10: {from: 0xef, to: 0x133},\n\t11: {from: 0xf2, to: 0xe2},\n\t12: {from: 0xfc, to: 0x70},\n\t13: {from: 0x103, to: 0x164},\n\t14: {from: 0x12a, to: 0x126},\n\t15: {from: 0x132, to: 0x7b},\n\t16: {from: 0x13a, to: 0x13e},\n\t17: {from: 0x141, to: 0x133},\n\t18: {from: 0x15d, to: 0x15e},\n\t19: {from: 0x163, to: 0x4b},\n}\n\n// m49 maps regionIDs to UN.M49 codes. The first isoRegionOffset entries are\n// codes indicating collections of regions.\n// Size: 716 bytes, 358 elements\nvar m49 = [358]int16{\n\t// Entry 0 - 3F\n\t0, 1, 2, 3, 5, 9, 11, 13,\n\t14, 15, 17, 18, 19, 21, 29, 30,\n\t34, 35, 39, 53, 54, 57, 61, 142,\n\t143, 145, 150, 151, 154, 155, 202, 419,\n\t958, 0, 20, 784, 4, 28, 660, 8,\n\t51, 530, 24, 10, 32, 16, 40, 36,\n\t533, 248, 31, 70, 52, 50, 56, 854,\n\t100, 48, 108, 204, 652, 60, 96, 68,\n\t// Entry 40 - 7F\n\t535, 76, 44, 64, 104, 74, 72, 112,\n\t84, 124, 166, 180, 140, 178, 756, 384,\n\t184, 152, 120, 156, 170, 0, 188, 891,\n\t296, 192, 132, 531, 162, 196, 203, 278,\n\t276, 0, 262, 208, 212, 214, 204, 12,\n\t0, 218, 233, 818, 732, 232, 724, 231,\n\t967, 0, 246, 242, 238, 583, 234, 0,\n\t250, 249, 266, 826, 308, 268, 254, 831,\n\t// Entry 80 - BF\n\t288, 292, 304, 270, 324, 312, 226, 300,\n\t239, 320, 316, 624, 328, 344, 334, 340,\n\t191, 332, 348, 854, 0, 360, 372, 376,\n\t833, 356, 86, 368, 364, 352, 380, 832,\n\t388, 400, 392, 581, 404, 417, 116, 296,\n\t174, 659, 408, 410, 414, 136, 398, 418,\n\t422, 662, 438, 144, 430, 426, 440, 442,\n\t428, 434, 504, 492, 498, 499, 663, 450,\n\t// Entry C0 - FF\n\t584, 581, 807, 466, 104, 496, 446, 580,\n\t474, 478, 500, 470, 480, 462, 454, 484,\n\t458, 508, 516, 540, 562, 574, 566, 548,\n\t558, 528, 578, 524, 10, 520, 536, 570,\n\t554, 512, 591, 0, 604, 258, 598, 608,\n\t586, 616, 666, 612, 630, 275, 620, 581,\n\t585, 600, 591, 634, 959, 960, 961, 962,\n\t963, 964, 965, 966, 967, 968, 969, 970,\n\t// Entry 100 - 13F\n\t971, 972, 638, 716, 642, 688, 643, 646,\n\t682, 90, 690, 729, 752, 702, 654, 705,\n\t744, 703, 694, 674, 686, 706, 740, 728,\n\t678, 810, 222, 534, 760, 748, 0, 796,\n\t148, 260, 768, 764, 762, 772, 626, 795,\n\t788, 776, 626, 792, 780, 798, 158, 834,\n\t804, 800, 826, 581, 0, 840, 858, 860,\n\t336, 670, 704, 862, 92, 850, 704, 548,\n\t// Entry 140 - 17F\n\t876, 581, 882, 973, 974, 975, 976, 977,\n\t978, 979, 980, 981, 982, 983, 984, 985,\n\t986, 987, 988, 989, 990, 991, 992, 993,\n\t994, 995, 996, 997, 998, 720, 887, 175,\n\t891, 710, 894, 180, 716, 999,\n}\n\n// m49Index gives indexes into fromM49 based on the three most significant bits\n// of a 10-bit UN.M49 code. To search an UN.M49 code in fromM49, search in\n//    fromM49[m49Index[msb39(code)]:m49Index[msb3(code)+1]]\n// for an entry where the first 7 bits match the 7 lsb of the UN.M49 code.\n// The region code is stored in the 9 lsb of the indexed value.\n// Size: 18 bytes, 9 elements\nvar m49Index = [9]int16{\n\t0, 59, 108, 143, 181, 220, 259, 291,\n\t333,\n}\n\n// fromM49 contains entries to map UN.M49 codes to regions. See m49Index for details.\n// Size: 666 bytes, 333 elements\nvar fromM49 = [333]uint16{\n\t// Entry 0 - 3F\n\t0x0201, 0x0402, 0x0603, 0x0824, 0x0a04, 0x1027, 0x1205, 0x142b,\n\t0x1606, 0x1867, 0x1a07, 0x1c08, 0x1e09, 0x202d, 0x220a, 0x240b,\n\t0x260c, 0x2822, 0x2a0d, 0x302a, 0x3825, 0x3a0e, 0x3c0f, 0x3e32,\n\t0x402c, 0x4410, 0x4611, 0x482f, 0x4e12, 0x502e, 0x5842, 0x6039,\n\t0x6435, 0x6628, 0x6834, 0x6a13, 0x6c14, 0x7036, 0x7215, 0x783d,\n\t0x7a16, 0x8043, 0x883f, 0x8c33, 0x9046, 0x9445, 0x9841, 0xa848,\n\t0xac9a, 0xb509, 0xb93c, 0xc03e, 0xc838, 0xd0c4, 0xd83a, 0xe047,\n\t0xe8a6, 0xf052, 0xf849, 0x085a, 0x10ad, 0x184c, 0x1c17, 0x1e18,\n\t// Entry 40 - 7F\n\t0x20b3, 0x2219, 0x2920, 0x2c1a, 0x2e1b, 0x3051, 0x341c, 0x361d,\n\t0x3853, 0x3d2e, 0x445c, 0x4c4a, 0x5454, 0x5ca8, 0x5f5f, 0x644d,\n\t0x684b, 0x7050, 0x7856, 0x7e90, 0x8059, 0x885d, 0x941e, 0x965e,\n\t0x983b, 0xa063, 0xa864, 0xac65, 0xb469, 0xbd1a, 0xc486, 0xcc6f,\n\t0xce6f, 0xd06d, 0xd26a, 0xd476, 0xdc74, 0xde88, 0xe473, 0xec72,\n\t0xf031, 0xf279, 0xf478, 0xfc7e, 0x04e5, 0x0921, 0x0c62, 0x147a,\n\t0x187d, 0x1c83, 0x26ed, 0x2860, 0x2c5f, 0x3060, 0x4080, 0x4881,\n\t0x50a7, 0x5887, 0x6082, 0x687c, 0x7085, 0x788a, 0x8089, 0x8884,\n\t// Entry 80 - BF\n\t0x908c, 0x9891, 0x9c8e, 0xa138, 0xa88f, 0xb08d, 0xb892, 0xc09d,\n\t0xc899, 0xd095, 0xd89c, 0xe09b, 0xe896, 0xf097, 0xf89e, 0x004f,\n\t0x08a0, 0x10a2, 0x1cae, 0x20a1, 0x28a4, 0x30aa, 0x34ab, 0x3cac,\n\t0x42a5, 0x44af, 0x461f, 0x4cb0, 0x54b5, 0x58b8, 0x5cb4, 0x64b9,\n\t0x6cb2, 0x70b6, 0x74b7, 0x7cc6, 0x84bf, 0x8cce, 0x94d0, 0x9ccd,\n\t0xa4c3, 0xaccb, 0xb4c8, 0xbcc9, 0xc0cc, 0xc8cf, 0xd8bb, 0xe0c5,\n\t0xe4bc, 0xe6bd, 0xe8ca, 0xf0ba, 0xf8d1, 0x00e1, 0x08d2, 0x10dd,\n\t0x18db, 0x20d9, 0x2429, 0x265b, 0x2a30, 0x2d1b, 0x2e40, 0x30de,\n\t// Entry C0 - FF\n\t0x38d3, 0x493f, 0x54e0, 0x5cd8, 0x64d4, 0x6cd6, 0x74df, 0x7cd5,\n\t0x84da, 0x88c7, 0x8b33, 0x8e75, 0x90c0, 0x92f0, 0x94e8, 0x9ee2,\n\t0xace6, 0xb0f1, 0xb8e4, 0xc0e7, 0xc8eb, 0xd0e9, 0xd8ee, 0xe08b,\n\t0xe526, 0xecec, 0xf4f3, 0xfd02, 0x0504, 0x0706, 0x0d07, 0x183c,\n\t0x1d0e, 0x26a9, 0x2826, 0x2cb1, 0x2ebe, 0x34ea, 0x3d39, 0x4513,\n\t0x4d18, 0x5508, 0x5d14, 0x6105, 0x650a, 0x6d12, 0x7d0d, 0x7f11,\n\t0x813e, 0x830f, 0x8515, 0x8d61, 0x9964, 0xa15d, 0xa86e, 0xb117,\n\t0xb30b, 0xb86c, 0xc10b, 0xc916, 0xd110, 0xd91d, 0xe10c, 0xe84e,\n\t// Entry 100 - 13F\n\t0xf11c, 0xf524, 0xf923, 0x0122, 0x0925, 0x1129, 0x192c, 0x2023,\n\t0x2928, 0x312b, 0x3727, 0x391f, 0x3d2d, 0x4131, 0x4930, 0x4ec2,\n\t0x5519, 0x646b, 0x747b, 0x7e7f, 0x809f, 0x8298, 0x852f, 0x9135,\n\t0xa53d, 0xac37, 0xb536, 0xb937, 0xbd3b, 0xd940, 0xe542, 0xed5e,\n\t0xef5e, 0xf657, 0xfd62, 0x7c20, 0x7ef4, 0x80f5, 0x82f6, 0x84f7,\n\t0x86f8, 0x88f9, 0x8afa, 0x8cfb, 0x8e70, 0x90fd, 0x92fe, 0x94ff,\n\t0x9700, 0x9901, 0x9b43, 0x9d44, 0x9f45, 0xa146, 0xa347, 0xa548,\n\t0xa749, 0xa94a, 0xab4b, 0xad4c, 0xaf4d, 0xb14e, 0xb34f, 0xb550,\n\t// Entry 140 - 17F\n\t0xb751, 0xb952, 0xbb53, 0xbd54, 0xbf55, 0xc156, 0xc357, 0xc558,\n\t0xc759, 0xc95a, 0xcb5b, 0xcd5c, 0xcf65,\n}\n\n// Size: 1615 bytes\nvar variantIndex = map[string]uint8{\n\t\"1606nict\": 0x0,\n\t\"1694acad\": 0x1,\n\t\"1901\":     0x2,\n\t\"1959acad\": 0x3,\n\t\"1994\":     0x4d,\n\t\"1996\":     0x4,\n\t\"abl1943\":  0x5,\n\t\"akuapem\":  0x6,\n\t\"alalc97\":  0x4f,\n\t\"aluku\":    0x7,\n\t\"ao1990\":   0x8,\n\t\"arevela\":  0x9,\n\t\"arevmda\":  0xa,\n\t\"asante\":   0xb,\n\t\"baku1926\": 0xc,\n\t\"balanka\":  0xd,\n\t\"barla\":    0xe,\n\t\"basiceng\": 0xf,\n\t\"bauddha\":  0x10,\n\t\"biscayan\": 0x11,\n\t\"biske\":    0x48,\n\t\"bohoric\":  0x12,\n\t\"boont\":    0x13,\n\t\"colb1945\": 0x14,\n\t\"cornu\":    0x15,\n\t\"dajnko\":   0x16,\n\t\"ekavsk\":   0x17,\n\t\"emodeng\":  0x18,\n\t\"fonipa\":   0x50,\n\t\"fonnapa\":  0x51,\n\t\"fonupa\":   0x52,\n\t\"fonxsamp\": 0x53,\n\t\"hepburn\":  0x19,\n\t\"heploc\":   0x4e,\n\t\"hognorsk\": 0x1a,\n\t\"hsistemo\": 0x1b,\n\t\"ijekavsk\": 0x1c,\n\t\"itihasa\":  0x1d,\n\t\"jauer\":    0x1e,\n\t\"jyutping\": 0x1f,\n\t\"kkcor\":    0x20,\n\t\"kociewie\": 0x21,\n\t\"kscor\":    0x22,\n\t\"laukika\":  0x23,\n\t\"lipaw\":    0x49,\n\t\"luna1918\": 0x24,\n\t\"metelko\":  0x25,\n\t\"monoton\":  0x26,\n\t\"ndyuka\":   0x27,\n\t\"nedis\":    0x28,\n\t\"newfound\": 0x29,\n\t\"njiva\":    0x4a,\n\t\"nulik\":    0x2a,\n\t\"osojs\":    0x4b,\n\t\"oxendict\": 0x2b,\n\t\"pahawh2\":  0x2c,\n\t\"pahawh3\":  0x2d,\n\t\"pahawh4\":  0x2e,\n\t\"pamaka\":   0x2f,\n\t\"petr1708\": 0x30,\n\t\"pinyin\":   0x31,\n\t\"polyton\":  0x32,\n\t\"puter\":    0x33,\n\t\"rigik\":    0x34,\n\t\"rozaj\":    0x35,\n\t\"rumgr\":    0x36,\n\t\"scotland\": 0x37,\n\t\"scouse\":   0x38,\n\t\"simple\":   0x54,\n\t\"solba\":    0x4c,\n\t\"sotav\":    0x39,\n\t\"spanglis\": 0x3a,\n\t\"surmiran\": 0x3b,\n\t\"sursilv\":  0x3c,\n\t\"sutsilv\":  0x3d,\n\t\"tarask\":   0x3e,\n\t\"uccor\":    0x3f,\n\t\"ucrcor\":   0x40,\n\t\"ulster\":   0x41,\n\t\"unifon\":   0x42,\n\t\"vaidika\":  0x43,\n\t\"valencia\": 0x44,\n\t\"vallader\": 0x45,\n\t\"wadegile\": 0x46,\n\t\"xsistemo\": 0x47,\n}\n\n// variantNumSpecialized is the number of specialized variants in variants.\nconst variantNumSpecialized = 79\n\n// nRegionGroups is the number of region groups.\nconst nRegionGroups = 33\n\ntype likelyLangRegion struct {\n\tlang   uint16\n\tregion uint16\n}\n\n// likelyScript is a lookup table, indexed by scriptID, for the most likely\n// languages and regions given a script.\n// Size: 976 bytes, 244 elements\nvar likelyScript = [244]likelyLangRegion{\n\t1:   {lang: 0x14e, region: 0x84},\n\t3:   {lang: 0x2a2, region: 0x106},\n\t4:   {lang: 0x1f, region: 0x99},\n\t5:   {lang: 0x3a, region: 0x6b},\n\t7:   {lang: 0x3b, region: 0x9c},\n\t8:   {lang: 0x1d7, region: 0x28},\n\t9:   {lang: 0x13, region: 0x9c},\n\t10:  {lang: 0x5b, region: 0x95},\n\t11:  {lang: 0x60, region: 0x52},\n\t12:  {lang: 0xb9, region: 0xb4},\n\t13:  {lang: 0x63, region: 0x95},\n\t14:  {lang: 0xa5, region: 0x35},\n\t15:  {lang: 0x3e9, region: 0x99},\n\t17:  {lang: 0x529, region: 0x12e},\n\t18:  {lang: 0x3b1, region: 0x99},\n\t19:  {lang: 0x15e, region: 0x78},\n\t20:  {lang: 0xc2, region: 0x95},\n\t21:  {lang: 0x9d, region: 0xe7},\n\t22:  {lang: 0xdb, region: 0x35},\n\t23:  {lang: 0xf3, region: 0x49},\n\t24:  {lang: 0x4f0, region: 0x12b},\n\t25:  {lang: 0xe7, region: 0x13e},\n\t26:  {lang: 0xe5, region: 0x135},\n\t28:  {lang: 0xf1, region: 0x6b},\n\t30:  {lang: 0x1a0, region: 0x5d},\n\t31:  {lang: 0x3e2, region: 0x106},\n\t33:  {lang: 0x1be, region: 0x99},\n\t36:  {lang: 0x15e, region: 0x78},\n\t39:  {lang: 0x133, region: 0x6b},\n\t40:  {lang: 0x431, region: 0x27},\n\t41:  {lang: 0x27, region: 0x6f},\n\t43:  {lang: 0x210, region: 0x7d},\n\t44:  {lang: 0xfe, region: 0x38},\n\t46:  {lang: 0x19b, region: 0x99},\n\t47:  {lang: 0x19e, region: 0x130},\n\t48:  {lang: 0x3e9, region: 0x99},\n\t49:  {lang: 0x136, region: 0x87},\n\t50:  {lang: 0x1a4, region: 0x99},\n\t51:  {lang: 0x39d, region: 0x99},\n\t52:  {lang: 0x529, region: 0x12e},\n\t53:  {lang: 0x254, region: 0xab},\n\t54:  {lang: 0x529, region: 0x53},\n\t55:  {lang: 0x1cb, region: 0xe7},\n\t56:  {lang: 0x529, region: 0x53},\n\t57:  {lang: 0x529, region: 0x12e},\n\t58:  {lang: 0x2fd, region: 0x9b},\n\t59:  {lang: 0x1bc, region: 0x97},\n\t60:  {lang: 0x200, region: 0xa2},\n\t61:  {lang: 0x1c5, region: 0x12b},\n\t62:  {lang: 0x1ca, region: 0xaf},\n\t65:  {lang: 0x1d5, region: 0x92},\n\t67:  {lang: 0x142, region: 0x9e},\n\t68:  {lang: 0x254, region: 0xab},\n\t69:  {lang: 0x20e, region: 0x95},\n\t70:  {lang: 0x200, region: 0xa2},\n\t72:  {lang: 0x135, region: 0xc4},\n\t73:  {lang: 0x200, region: 0xa2},\n\t74:  {lang: 0x3bb, region: 0xe8},\n\t75:  {lang: 0x24a, region: 0xa6},\n\t76:  {lang: 0x3fa, region: 0x99},\n\t79:  {lang: 0x251, region: 0x99},\n\t80:  {lang: 0x254, region: 0xab},\n\t82:  {lang: 0x88, region: 0x99},\n\t83:  {lang: 0x370, region: 0x123},\n\t84:  {lang: 0x2b8, region: 0xaf},\n\t89:  {lang: 0x29f, region: 0x99},\n\t90:  {lang: 0x2a8, region: 0x99},\n\t91:  {lang: 0x28f, region: 0x87},\n\t92:  {lang: 0x1a0, region: 0x87},\n\t93:  {lang: 0x2ac, region: 0x53},\n\t95:  {lang: 0x4f4, region: 0x12b},\n\t96:  {lang: 0x4f5, region: 0x12b},\n\t97:  {lang: 0x1be, region: 0x99},\n\t99:  {lang: 0x337, region: 0x9c},\n\t100: {lang: 0x4f7, region: 0x53},\n\t101: {lang: 0xa9, region: 0x53},\n\t104: {lang: 0x2e8, region: 0x112},\n\t105: {lang: 0x4f8, region: 0x10b},\n\t106: {lang: 0x4f8, region: 0x10b},\n\t107: {lang: 0x304, region: 0x99},\n\t108: {lang: 0x31b, region: 0x99},\n\t109: {lang: 0x30b, region: 0x53},\n\t111: {lang: 0x31e, region: 0x35},\n\t112: {lang: 0x30e, region: 0x99},\n\t113: {lang: 0x414, region: 0xe8},\n\t114: {lang: 0x331, region: 0xc4},\n\t115: {lang: 0x4f9, region: 0x108},\n\t116: {lang: 0x3b, region: 0xa1},\n\t117: {lang: 0x353, region: 0xdb},\n\t120: {lang: 0x2d0, region: 0x84},\n\t121: {lang: 0x52a, region: 0x53},\n\t122: {lang: 0x403, region: 0x96},\n\t123: {lang: 0x3ee, region: 0x99},\n\t124: {lang: 0x39b, region: 0xc5},\n\t125: {lang: 0x395, region: 0x99},\n\t126: {lang: 0x399, region: 0x135},\n\t127: {lang: 0x429, region: 0x115},\n\t128: {lang: 0x3b, region: 0x11c},\n\t129: {lang: 0xfd, region: 0xc4},\n\t130: {lang: 0x27d, region: 0x106},\n\t131: {lang: 0x2c9, region: 0x53},\n\t132: {lang: 0x39f, region: 0x9c},\n\t133: {lang: 0x39f, region: 0x53},\n\t135: {lang: 0x3ad, region: 0xb0},\n\t137: {lang: 0x1c6, region: 0x53},\n\t138: {lang: 0x4fd, region: 0x9c},\n\t189: {lang: 0x3cb, region: 0x95},\n\t191: {lang: 0x372, region: 0x10c},\n\t192: {lang: 0x420, region: 0x97},\n\t194: {lang: 0x4ff, region: 0x15e},\n\t195: {lang: 0x3f0, region: 0x99},\n\t196: {lang: 0x45, region: 0x135},\n\t197: {lang: 0x139, region: 0x7b},\n\t198: {lang: 0x3e9, region: 0x99},\n\t200: {lang: 0x3e9, region: 0x99},\n\t201: {lang: 0x3fa, region: 0x99},\n\t202: {lang: 0x40c, region: 0xb3},\n\t203: {lang: 0x433, region: 0x99},\n\t204: {lang: 0xef, region: 0xc5},\n\t205: {lang: 0x43e, region: 0x95},\n\t206: {lang: 0x44d, region: 0x35},\n\t207: {lang: 0x44e, region: 0x9b},\n\t211: {lang: 0x45a, region: 0xe7},\n\t212: {lang: 0x11a, region: 0x99},\n\t213: {lang: 0x45e, region: 0x53},\n\t214: {lang: 0x232, region: 0x53},\n\t215: {lang: 0x450, region: 0x99},\n\t216: {lang: 0x4a5, region: 0x53},\n\t217: {lang: 0x9f, region: 0x13e},\n\t218: {lang: 0x461, region: 0x99},\n\t220: {lang: 0x528, region: 0xba},\n\t221: {lang: 0x153, region: 0xe7},\n\t222: {lang: 0x128, region: 0xcd},\n\t223: {lang: 0x46b, region: 0x123},\n\t224: {lang: 0xa9, region: 0x53},\n\t225: {lang: 0x2ce, region: 0x99},\n\t226: {lang: 0x4ad, region: 0x11c},\n\t227: {lang: 0x4be, region: 0xb4},\n\t229: {lang: 0x1ce, region: 0x99},\n\t232: {lang: 0x3a9, region: 0x9c},\n\t233: {lang: 0x22, region: 0x9b},\n\t234: {lang: 0x1ea, region: 0x53},\n\t235: {lang: 0xef, region: 0xc5},\n}\n\ntype likelyScriptRegion struct {\n\tregion uint16\n\tscript uint8\n\tflags  uint8\n}\n\n// likelyLang is a lookup table, indexed by langID, for the most likely\n// scripts and regions given incomplete information. If more entries exist for a\n// given language, region and script are the index and size respectively\n// of the list in likelyLangList.\n// Size: 5320 bytes, 1330 elements\nvar likelyLang = [1330]likelyScriptRegion{\n\t0:    {region: 0x135, script: 0x57, flags: 0x0},\n\t1:    {region: 0x6f, script: 0x57, flags: 0x0},\n\t2:    {region: 0x165, script: 0x57, flags: 0x0},\n\t3:    {region: 0x165, script: 0x57, flags: 0x0},\n\t4:    {region: 0x165, script: 0x57, flags: 0x0},\n\t5:    {region: 0x7d, script: 0x1f, flags: 0x0},\n\t6:    {region: 0x165, script: 0x57, flags: 0x0},\n\t7:    {region: 0x165, script: 0x1f, flags: 0x0},\n\t8:    {region: 0x80, script: 0x57, flags: 0x0},\n\t9:    {region: 0x165, script: 0x57, flags: 0x0},\n\t10:   {region: 0x165, script: 0x57, flags: 0x0},\n\t11:   {region: 0x165, script: 0x57, flags: 0x0},\n\t12:   {region: 0x95, script: 0x57, flags: 0x0},\n\t13:   {region: 0x131, script: 0x57, flags: 0x0},\n\t14:   {region: 0x80, script: 0x57, flags: 0x0},\n\t15:   {region: 0x165, script: 0x57, flags: 0x0},\n\t16:   {region: 0x165, script: 0x57, flags: 0x0},\n\t17:   {region: 0x106, script: 0x1f, flags: 0x0},\n\t18:   {region: 0x165, script: 0x57, flags: 0x0},\n\t19:   {region: 0x9c, script: 0x9, flags: 0x0},\n\t20:   {region: 0x128, script: 0x5, flags: 0x0},\n\t21:   {region: 0x165, script: 0x57, flags: 0x0},\n\t22:   {region: 0x161, script: 0x57, flags: 0x0},\n\t23:   {region: 0x165, script: 0x57, flags: 0x0},\n\t24:   {region: 0x165, script: 0x57, flags: 0x0},\n\t25:   {region: 0x165, script: 0x57, flags: 0x0},\n\t26:   {region: 0x165, script: 0x57, flags: 0x0},\n\t27:   {region: 0x165, script: 0x57, flags: 0x0},\n\t28:   {region: 0x52, script: 0x57, flags: 0x0},\n\t29:   {region: 0x165, script: 0x57, flags: 0x0},\n\t30:   {region: 0x165, script: 0x57, flags: 0x0},\n\t31:   {region: 0x99, script: 0x4, flags: 0x0},\n\t32:   {region: 0x165, script: 0x57, flags: 0x0},\n\t33:   {region: 0x80, script: 0x57, flags: 0x0},\n\t34:   {region: 0x9b, script: 0xe9, flags: 0x0},\n\t35:   {region: 0x165, script: 0x57, flags: 0x0},\n\t36:   {region: 0x165, script: 0x57, flags: 0x0},\n\t37:   {region: 0x14d, script: 0x57, flags: 0x0},\n\t38:   {region: 0x106, script: 0x1f, flags: 0x0},\n\t39:   {region: 0x6f, script: 0x29, flags: 0x0},\n\t40:   {region: 0x165, script: 0x57, flags: 0x0},\n\t41:   {region: 0x165, script: 0x57, flags: 0x0},\n\t42:   {region: 0xd6, script: 0x57, flags: 0x0},\n\t43:   {region: 0x165, script: 0x57, flags: 0x0},\n\t45:   {region: 0x165, script: 0x57, flags: 0x0},\n\t46:   {region: 0x165, script: 0x57, flags: 0x0},\n\t47:   {region: 0x165, script: 0x57, flags: 0x0},\n\t48:   {region: 0x165, script: 0x57, flags: 0x0},\n\t49:   {region: 0x165, script: 0x57, flags: 0x0},\n\t50:   {region: 0x165, script: 0x57, flags: 0x0},\n\t51:   {region: 0x95, script: 0x57, flags: 0x0},\n\t52:   {region: 0x165, script: 0x5, flags: 0x0},\n\t53:   {region: 0x122, script: 0x5, flags: 0x0},\n\t54:   {region: 0x165, script: 0x57, flags: 0x0},\n\t55:   {region: 0x165, script: 0x57, flags: 0x0},\n\t56:   {region: 0x165, script: 0x57, flags: 0x0},\n\t57:   {region: 0x165, script: 0x57, flags: 0x0},\n\t58:   {region: 0x6b, script: 0x5, flags: 0x0},\n\t59:   {region: 0x0, script: 0x3, flags: 0x1},\n\t60:   {region: 0x165, script: 0x57, flags: 0x0},\n\t61:   {region: 0x51, script: 0x57, flags: 0x0},\n\t62:   {region: 0x3f, script: 0x57, flags: 0x0},\n\t63:   {region: 0x67, script: 0x5, flags: 0x0},\n\t65:   {region: 0xba, script: 0x5, flags: 0x0},\n\t66:   {region: 0x6b, script: 0x5, flags: 0x0},\n\t67:   {region: 0x99, script: 0xe, flags: 0x0},\n\t68:   {region: 0x12f, script: 0x57, flags: 0x0},\n\t69:   {region: 0x135, script: 0xc4, flags: 0x0},\n\t70:   {region: 0x165, script: 0x57, flags: 0x0},\n\t71:   {region: 0x165, script: 0x57, flags: 0x0},\n\t72:   {region: 0x6e, script: 0x57, flags: 0x0},\n\t73:   {region: 0x165, script: 0x57, flags: 0x0},\n\t74:   {region: 0x165, script: 0x57, flags: 0x0},\n\t75:   {region: 0x49, script: 0x57, flags: 0x0},\n\t76:   {region: 0x165, script: 0x57, flags: 0x0},\n\t77:   {region: 0x106, script: 0x1f, flags: 0x0},\n\t78:   {region: 0x165, script: 0x5, flags: 0x0},\n\t79:   {region: 0x165, script: 0x57, flags: 0x0},\n\t80:   {region: 0x165, script: 0x57, flags: 0x0},\n\t81:   {region: 0x165, script: 0x57, flags: 0x0},\n\t82:   {region: 0x99, script: 0x21, flags: 0x0},\n\t83:   {region: 0x165, script: 0x57, flags: 0x0},\n\t84:   {region: 0x165, script: 0x57, flags: 0x0},\n\t85:   {region: 0x165, script: 0x57, flags: 0x0},\n\t86:   {region: 0x3f, script: 0x57, flags: 0x0},\n\t87:   {region: 0x165, script: 0x57, flags: 0x0},\n\t88:   {region: 0x3, script: 0x5, flags: 0x1},\n\t89:   {region: 0x106, script: 0x1f, flags: 0x0},\n\t90:   {region: 0xe8, script: 0x5, flags: 0x0},\n\t91:   {region: 0x95, script: 0x57, flags: 0x0},\n\t92:   {region: 0xdb, script: 0x21, flags: 0x0},\n\t93:   {region: 0x2e, script: 0x57, flags: 0x0},\n\t94:   {region: 0x52, script: 0x57, flags: 0x0},\n\t95:   {region: 0x165, script: 0x57, flags: 0x0},\n\t96:   {region: 0x52, script: 0xb, flags: 0x0},\n\t97:   {region: 0x165, script: 0x57, flags: 0x0},\n\t98:   {region: 0x165, script: 0x57, flags: 0x0},\n\t99:   {region: 0x95, script: 0x57, flags: 0x0},\n\t100:  {region: 0x165, script: 0x57, flags: 0x0},\n\t101:  {region: 0x52, script: 0x57, flags: 0x0},\n\t102:  {region: 0x165, script: 0x57, flags: 0x0},\n\t103:  {region: 0x165, script: 0x57, flags: 0x0},\n\t104:  {region: 0x165, script: 0x57, flags: 0x0},\n\t105:  {region: 0x165, script: 0x57, flags: 0x0},\n\t106:  {region: 0x4f, script: 0x57, flags: 0x0},\n\t107:  {region: 0x165, script: 0x57, flags: 0x0},\n\t108:  {region: 0x165, script: 0x57, flags: 0x0},\n\t109:  {region: 0x165, script: 0x57, flags: 0x0},\n\t110:  {region: 0x165, script: 0x29, flags: 0x0},\n\t111:  {region: 0x165, script: 0x57, flags: 0x0},\n\t112:  {region: 0x165, script: 0x57, flags: 0x0},\n\t113:  {region: 0x47, script: 0x1f, flags: 0x0},\n\t114:  {region: 0x165, script: 0x57, flags: 0x0},\n\t115:  {region: 0x165, script: 0x57, flags: 0x0},\n\t116:  {region: 0x10b, script: 0x5, flags: 0x0},\n\t117:  {region: 0x162, script: 0x57, flags: 0x0},\n\t118:  {region: 0x165, script: 0x57, flags: 0x0},\n\t119:  {region: 0x95, script: 0x57, flags: 0x0},\n\t120:  {region: 0x165, script: 0x57, flags: 0x0},\n\t121:  {region: 0x12f, script: 0x57, flags: 0x0},\n\t122:  {region: 0x52, script: 0x57, flags: 0x0},\n\t123:  {region: 0x99, script: 0xd7, flags: 0x0},\n\t124:  {region: 0xe8, script: 0x5, flags: 0x0},\n\t125:  {region: 0x99, script: 0x21, flags: 0x0},\n\t126:  {region: 0x38, script: 0x1f, flags: 0x0},\n\t127:  {region: 0x99, script: 0x21, flags: 0x0},\n\t128:  {region: 0xe8, script: 0x5, flags: 0x0},\n\t129:  {region: 0x12b, script: 0x31, flags: 0x0},\n\t131:  {region: 0x99, script: 0x21, flags: 0x0},\n\t132:  {region: 0x165, script: 0x57, flags: 0x0},\n\t133:  {region: 0x99, script: 0x21, flags: 0x0},\n\t134:  {region: 0xe7, script: 0x57, flags: 0x0},\n\t135:  {region: 0x165, script: 0x57, flags: 0x0},\n\t136:  {region: 0x99, script: 0x21, flags: 0x0},\n\t137:  {region: 0x165, script: 0x57, flags: 0x0},\n\t138:  {region: 0x13f, script: 0x57, flags: 0x0},\n\t139:  {region: 0x165, script: 0x57, flags: 0x0},\n\t140:  {region: 0x165, script: 0x57, flags: 0x0},\n\t141:  {region: 0xe7, script: 0x57, flags: 0x0},\n\t142:  {region: 0x165, script: 0x57, flags: 0x0},\n\t143:  {region: 0xd6, script: 0x57, flags: 0x0},\n\t144:  {region: 0x165, script: 0x57, flags: 0x0},\n\t145:  {region: 0x165, script: 0x57, flags: 0x0},\n\t146:  {region: 0x165, script: 0x57, flags: 0x0},\n\t147:  {region: 0x165, script: 0x29, flags: 0x0},\n\t148:  {region: 0x99, script: 0x21, flags: 0x0},\n\t149:  {region: 0x95, script: 0x57, flags: 0x0},\n\t150:  {region: 0x165, script: 0x57, flags: 0x0},\n\t151:  {region: 0x165, script: 0x57, flags: 0x0},\n\t152:  {region: 0x114, script: 0x57, flags: 0x0},\n\t153:  {region: 0x165, script: 0x57, flags: 0x0},\n\t154:  {region: 0x165, script: 0x57, flags: 0x0},\n\t155:  {region: 0x52, script: 0x57, flags: 0x0},\n\t156:  {region: 0x165, script: 0x57, flags: 0x0},\n\t157:  {region: 0xe7, script: 0x57, flags: 0x0},\n\t158:  {region: 0x165, script: 0x57, flags: 0x0},\n\t159:  {region: 0x13e, script: 0xd9, flags: 0x0},\n\t160:  {region: 0xc3, script: 0x57, flags: 0x0},\n\t161:  {region: 0x165, script: 0x57, flags: 0x0},\n\t162:  {region: 0x165, script: 0x57, flags: 0x0},\n\t163:  {region: 0xc3, script: 0x57, flags: 0x0},\n\t164:  {region: 0x165, script: 0x57, flags: 0x0},\n\t165:  {region: 0x35, script: 0xe, flags: 0x0},\n\t166:  {region: 0x165, script: 0x57, flags: 0x0},\n\t167:  {region: 0x165, script: 0x57, flags: 0x0},\n\t168:  {region: 0x165, script: 0x57, flags: 0x0},\n\t169:  {region: 0x53, script: 0xe0, flags: 0x0},\n\t170:  {region: 0x165, script: 0x57, flags: 0x0},\n\t171:  {region: 0x165, script: 0x57, flags: 0x0},\n\t172:  {region: 0x165, script: 0x57, flags: 0x0},\n\t173:  {region: 0x99, script: 0xe, flags: 0x0},\n\t174:  {region: 0x165, script: 0x57, flags: 0x0},\n\t175:  {region: 0x9c, script: 0x5, flags: 0x0},\n\t176:  {region: 0x165, script: 0x57, flags: 0x0},\n\t177:  {region: 0x4f, script: 0x57, flags: 0x0},\n\t178:  {region: 0x78, script: 0x57, flags: 0x0},\n\t179:  {region: 0x99, script: 0x21, flags: 0x0},\n\t180:  {region: 0xe8, script: 0x5, flags: 0x0},\n\t181:  {region: 0x99, script: 0x21, flags: 0x0},\n\t182:  {region: 0x165, script: 0x57, flags: 0x0},\n\t183:  {region: 0x33, script: 0x57, flags: 0x0},\n\t184:  {region: 0x165, script: 0x57, flags: 0x0},\n\t185:  {region: 0xb4, script: 0xc, flags: 0x0},\n\t186:  {region: 0x52, script: 0x57, flags: 0x0},\n\t187:  {region: 0x165, script: 0x29, flags: 0x0},\n\t188:  {region: 0xe7, script: 0x57, flags: 0x0},\n\t189:  {region: 0x165, script: 0x57, flags: 0x0},\n\t190:  {region: 0xe8, script: 0x21, flags: 0x0},\n\t191:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t192:  {region: 0x15f, script: 0x57, flags: 0x0},\n\t193:  {region: 0x165, script: 0x57, flags: 0x0},\n\t194:  {region: 0x95, script: 0x57, flags: 0x0},\n\t195:  {region: 0x165, script: 0x57, flags: 0x0},\n\t196:  {region: 0x52, script: 0x57, flags: 0x0},\n\t197:  {region: 0x165, script: 0x57, flags: 0x0},\n\t198:  {region: 0x165, script: 0x57, flags: 0x0},\n\t199:  {region: 0x165, script: 0x57, flags: 0x0},\n\t200:  {region: 0x86, script: 0x57, flags: 0x0},\n\t201:  {region: 0x165, script: 0x57, flags: 0x0},\n\t202:  {region: 0x165, script: 0x57, flags: 0x0},\n\t203:  {region: 0x165, script: 0x57, flags: 0x0},\n\t204:  {region: 0x165, script: 0x57, flags: 0x0},\n\t205:  {region: 0x6d, script: 0x29, flags: 0x0},\n\t206:  {region: 0x165, script: 0x57, flags: 0x0},\n\t207:  {region: 0x165, script: 0x57, flags: 0x0},\n\t208:  {region: 0x52, script: 0x57, flags: 0x0},\n\t209:  {region: 0x165, script: 0x57, flags: 0x0},\n\t210:  {region: 0x165, script: 0x57, flags: 0x0},\n\t211:  {region: 0xc3, script: 0x57, flags: 0x0},\n\t212:  {region: 0x165, script: 0x57, flags: 0x0},\n\t213:  {region: 0x165, script: 0x57, flags: 0x0},\n\t214:  {region: 0x165, script: 0x57, flags: 0x0},\n\t215:  {region: 0x6e, script: 0x57, flags: 0x0},\n\t216:  {region: 0x165, script: 0x57, flags: 0x0},\n\t217:  {region: 0x165, script: 0x57, flags: 0x0},\n\t218:  {region: 0xd6, script: 0x57, flags: 0x0},\n\t219:  {region: 0x35, script: 0x16, flags: 0x0},\n\t220:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t221:  {region: 0xe7, script: 0x57, flags: 0x0},\n\t222:  {region: 0x165, script: 0x57, flags: 0x0},\n\t223:  {region: 0x131, script: 0x57, flags: 0x0},\n\t224:  {region: 0x8a, script: 0x57, flags: 0x0},\n\t225:  {region: 0x75, script: 0x57, flags: 0x0},\n\t226:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t227:  {region: 0x135, script: 0x57, flags: 0x0},\n\t228:  {region: 0x49, script: 0x57, flags: 0x0},\n\t229:  {region: 0x135, script: 0x1a, flags: 0x0},\n\t230:  {region: 0xa6, script: 0x5, flags: 0x0},\n\t231:  {region: 0x13e, script: 0x19, flags: 0x0},\n\t232:  {region: 0x165, script: 0x57, flags: 0x0},\n\t233:  {region: 0x9b, script: 0x5, flags: 0x0},\n\t234:  {region: 0x165, script: 0x57, flags: 0x0},\n\t235:  {region: 0x165, script: 0x57, flags: 0x0},\n\t236:  {region: 0x165, script: 0x57, flags: 0x0},\n\t237:  {region: 0x165, script: 0x57, flags: 0x0},\n\t238:  {region: 0x165, script: 0x57, flags: 0x0},\n\t239:  {region: 0xc5, script: 0xcc, flags: 0x0},\n\t240:  {region: 0x78, script: 0x57, flags: 0x0},\n\t241:  {region: 0x6b, script: 0x1c, flags: 0x0},\n\t242:  {region: 0xe7, script: 0x57, flags: 0x0},\n\t243:  {region: 0x49, script: 0x17, flags: 0x0},\n\t244:  {region: 0x130, script: 0x1f, flags: 0x0},\n\t245:  {region: 0x49, script: 0x17, flags: 0x0},\n\t246:  {region: 0x49, script: 0x17, flags: 0x0},\n\t247:  {region: 0x49, script: 0x17, flags: 0x0},\n\t248:  {region: 0x49, script: 0x17, flags: 0x0},\n\t249:  {region: 0x10a, script: 0x57, flags: 0x0},\n\t250:  {region: 0x5e, script: 0x57, flags: 0x0},\n\t251:  {region: 0xe9, script: 0x57, flags: 0x0},\n\t252:  {region: 0x49, script: 0x17, flags: 0x0},\n\t253:  {region: 0xc4, script: 0x81, flags: 0x0},\n\t254:  {region: 0x8, script: 0x2, flags: 0x1},\n\t255:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t256:  {region: 0x7b, script: 0x57, flags: 0x0},\n\t257:  {region: 0x63, script: 0x57, flags: 0x0},\n\t258:  {region: 0x165, script: 0x57, flags: 0x0},\n\t259:  {region: 0x165, script: 0x57, flags: 0x0},\n\t260:  {region: 0x165, script: 0x57, flags: 0x0},\n\t261:  {region: 0x165, script: 0x57, flags: 0x0},\n\t262:  {region: 0x135, script: 0x57, flags: 0x0},\n\t263:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t264:  {region: 0xa4, script: 0x57, flags: 0x0},\n\t265:  {region: 0x165, script: 0x57, flags: 0x0},\n\t266:  {region: 0x165, script: 0x57, flags: 0x0},\n\t267:  {region: 0x99, script: 0x5, flags: 0x0},\n\t268:  {region: 0x165, script: 0x57, flags: 0x0},\n\t269:  {region: 0x60, script: 0x57, flags: 0x0},\n\t270:  {region: 0x165, script: 0x57, flags: 0x0},\n\t271:  {region: 0x49, script: 0x57, flags: 0x0},\n\t272:  {region: 0x165, script: 0x57, flags: 0x0},\n\t273:  {region: 0x165, script: 0x57, flags: 0x0},\n\t274:  {region: 0x165, script: 0x57, flags: 0x0},\n\t275:  {region: 0x165, script: 0x5, flags: 0x0},\n\t276:  {region: 0x49, script: 0x57, flags: 0x0},\n\t277:  {region: 0x165, script: 0x57, flags: 0x0},\n\t278:  {region: 0x165, script: 0x57, flags: 0x0},\n\t279:  {region: 0xd4, script: 0x57, flags: 0x0},\n\t280:  {region: 0x4f, script: 0x57, flags: 0x0},\n\t281:  {region: 0x165, script: 0x57, flags: 0x0},\n\t282:  {region: 0x99, script: 0x5, flags: 0x0},\n\t283:  {region: 0x165, script: 0x57, flags: 0x0},\n\t284:  {region: 0x165, script: 0x57, flags: 0x0},\n\t285:  {region: 0x165, script: 0x57, flags: 0x0},\n\t286:  {region: 0x165, script: 0x29, flags: 0x0},\n\t287:  {region: 0x60, script: 0x57, flags: 0x0},\n\t288:  {region: 0xc3, script: 0x57, flags: 0x0},\n\t289:  {region: 0xd0, script: 0x57, flags: 0x0},\n\t290:  {region: 0x165, script: 0x57, flags: 0x0},\n\t291:  {region: 0xdb, script: 0x21, flags: 0x0},\n\t292:  {region: 0x52, script: 0x57, flags: 0x0},\n\t293:  {region: 0x165, script: 0x57, flags: 0x0},\n\t294:  {region: 0x165, script: 0x57, flags: 0x0},\n\t295:  {region: 0x165, script: 0x57, flags: 0x0},\n\t296:  {region: 0xcd, script: 0xde, flags: 0x0},\n\t297:  {region: 0x165, script: 0x57, flags: 0x0},\n\t298:  {region: 0x165, script: 0x57, flags: 0x0},\n\t299:  {region: 0x114, script: 0x57, flags: 0x0},\n\t300:  {region: 0x37, script: 0x57, flags: 0x0},\n\t301:  {region: 0x43, script: 0xe0, flags: 0x0},\n\t302:  {region: 0x165, script: 0x57, flags: 0x0},\n\t303:  {region: 0xa4, script: 0x57, flags: 0x0},\n\t304:  {region: 0x80, script: 0x57, flags: 0x0},\n\t305:  {region: 0xd6, script: 0x57, flags: 0x0},\n\t306:  {region: 0x9e, script: 0x57, flags: 0x0},\n\t307:  {region: 0x6b, script: 0x27, flags: 0x0},\n\t308:  {region: 0x165, script: 0x57, flags: 0x0},\n\t309:  {region: 0xc4, script: 0x48, flags: 0x0},\n\t310:  {region: 0x87, script: 0x31, flags: 0x0},\n\t311:  {region: 0x165, script: 0x57, flags: 0x0},\n\t312:  {region: 0x165, script: 0x57, flags: 0x0},\n\t313:  {region: 0xa, script: 0x2, flags: 0x1},\n\t314:  {region: 0x165, script: 0x57, flags: 0x0},\n\t315:  {region: 0x165, script: 0x57, flags: 0x0},\n\t316:  {region: 0x1, script: 0x57, flags: 0x0},\n\t317:  {region: 0x165, script: 0x57, flags: 0x0},\n\t318:  {region: 0x6e, script: 0x57, flags: 0x0},\n\t319:  {region: 0x135, script: 0x57, flags: 0x0},\n\t320:  {region: 0x6a, script: 0x57, flags: 0x0},\n\t321:  {region: 0x165, script: 0x57, flags: 0x0},\n\t322:  {region: 0x9e, script: 0x43, flags: 0x0},\n\t323:  {region: 0x165, script: 0x57, flags: 0x0},\n\t324:  {region: 0x165, script: 0x57, flags: 0x0},\n\t325:  {region: 0x6e, script: 0x57, flags: 0x0},\n\t326:  {region: 0x52, script: 0x57, flags: 0x0},\n\t327:  {region: 0x6e, script: 0x57, flags: 0x0},\n\t328:  {region: 0x9c, script: 0x5, flags: 0x0},\n\t329:  {region: 0x165, script: 0x57, flags: 0x0},\n\t330:  {region: 0x165, script: 0x57, flags: 0x0},\n\t331:  {region: 0x165, script: 0x57, flags: 0x0},\n\t332:  {region: 0x165, script: 0x57, flags: 0x0},\n\t333:  {region: 0x86, script: 0x57, flags: 0x0},\n\t334:  {region: 0xc, script: 0x2, flags: 0x1},\n\t335:  {region: 0x165, script: 0x57, flags: 0x0},\n\t336:  {region: 0xc3, script: 0x57, flags: 0x0},\n\t337:  {region: 0x72, script: 0x57, flags: 0x0},\n\t338:  {region: 0x10b, script: 0x5, flags: 0x0},\n\t339:  {region: 0xe7, script: 0x57, flags: 0x0},\n\t340:  {region: 0x10c, script: 0x57, flags: 0x0},\n\t341:  {region: 0x73, script: 0x57, flags: 0x0},\n\t342:  {region: 0x165, script: 0x57, flags: 0x0},\n\t343:  {region: 0x165, script: 0x57, flags: 0x0},\n\t344:  {region: 0x76, script: 0x57, flags: 0x0},\n\t345:  {region: 0x165, script: 0x57, flags: 0x0},\n\t346:  {region: 0x3b, script: 0x57, flags: 0x0},\n\t347:  {region: 0x165, script: 0x57, flags: 0x0},\n\t348:  {region: 0x165, script: 0x57, flags: 0x0},\n\t349:  {region: 0x165, script: 0x57, flags: 0x0},\n\t350:  {region: 0x78, script: 0x57, flags: 0x0},\n\t351:  {region: 0x135, script: 0x57, flags: 0x0},\n\t352:  {region: 0x78, script: 0x57, flags: 0x0},\n\t353:  {region: 0x60, script: 0x57, flags: 0x0},\n\t354:  {region: 0x60, script: 0x57, flags: 0x0},\n\t355:  {region: 0x52, script: 0x5, flags: 0x0},\n\t356:  {region: 0x140, script: 0x57, flags: 0x0},\n\t357:  {region: 0x165, script: 0x57, flags: 0x0},\n\t358:  {region: 0x84, script: 0x57, flags: 0x0},\n\t359:  {region: 0x165, script: 0x57, flags: 0x0},\n\t360:  {region: 0xd4, script: 0x57, flags: 0x0},\n\t361:  {region: 0x9e, script: 0x57, flags: 0x0},\n\t362:  {region: 0xd6, script: 0x57, flags: 0x0},\n\t363:  {region: 0x165, script: 0x57, flags: 0x0},\n\t364:  {region: 0x10b, script: 0x57, flags: 0x0},\n\t365:  {region: 0xd9, script: 0x57, flags: 0x0},\n\t366:  {region: 0x96, script: 0x57, flags: 0x0},\n\t367:  {region: 0x80, script: 0x57, flags: 0x0},\n\t368:  {region: 0x165, script: 0x57, flags: 0x0},\n\t369:  {region: 0xbc, script: 0x57, flags: 0x0},\n\t370:  {region: 0x165, script: 0x57, flags: 0x0},\n\t371:  {region: 0x165, script: 0x57, flags: 0x0},\n\t372:  {region: 0x165, script: 0x57, flags: 0x0},\n\t373:  {region: 0x53, script: 0x38, flags: 0x0},\n\t374:  {region: 0x165, script: 0x57, flags: 0x0},\n\t375:  {region: 0x95, script: 0x57, flags: 0x0},\n\t376:  {region: 0x165, script: 0x57, flags: 0x0},\n\t377:  {region: 0x165, script: 0x57, flags: 0x0},\n\t378:  {region: 0x99, script: 0x21, flags: 0x0},\n\t379:  {region: 0x165, script: 0x57, flags: 0x0},\n\t380:  {region: 0x9c, script: 0x5, flags: 0x0},\n\t381:  {region: 0x7e, script: 0x57, flags: 0x0},\n\t382:  {region: 0x7b, script: 0x57, flags: 0x0},\n\t383:  {region: 0x165, script: 0x57, flags: 0x0},\n\t384:  {region: 0x165, script: 0x57, flags: 0x0},\n\t385:  {region: 0x165, script: 0x57, flags: 0x0},\n\t386:  {region: 0x165, script: 0x57, flags: 0x0},\n\t387:  {region: 0x165, script: 0x57, flags: 0x0},\n\t388:  {region: 0x165, script: 0x57, flags: 0x0},\n\t389:  {region: 0x6f, script: 0x29, flags: 0x0},\n\t390:  {region: 0x165, script: 0x57, flags: 0x0},\n\t391:  {region: 0xdb, script: 0x21, flags: 0x0},\n\t392:  {region: 0x165, script: 0x57, flags: 0x0},\n\t393:  {region: 0xa7, script: 0x57, flags: 0x0},\n\t394:  {region: 0x165, script: 0x57, flags: 0x0},\n\t395:  {region: 0xe8, script: 0x5, flags: 0x0},\n\t396:  {region: 0x165, script: 0x57, flags: 0x0},\n\t397:  {region: 0xe8, script: 0x5, flags: 0x0},\n\t398:  {region: 0x165, script: 0x57, flags: 0x0},\n\t399:  {region: 0x165, script: 0x57, flags: 0x0},\n\t400:  {region: 0x6e, script: 0x57, flags: 0x0},\n\t401:  {region: 0x9c, script: 0x5, flags: 0x0},\n\t402:  {region: 0x165, script: 0x57, flags: 0x0},\n\t403:  {region: 0x165, script: 0x29, flags: 0x0},\n\t404:  {region: 0xf1, script: 0x57, flags: 0x0},\n\t405:  {region: 0x165, script: 0x57, flags: 0x0},\n\t406:  {region: 0x165, script: 0x57, flags: 0x0},\n\t407:  {region: 0x165, script: 0x57, flags: 0x0},\n\t408:  {region: 0x165, script: 0x29, flags: 0x0},\n\t409:  {region: 0x165, script: 0x57, flags: 0x0},\n\t410:  {region: 0x99, script: 0x21, flags: 0x0},\n\t411:  {region: 0x99, script: 0xda, flags: 0x0},\n\t412:  {region: 0x95, script: 0x57, flags: 0x0},\n\t413:  {region: 0xd9, script: 0x57, flags: 0x0},\n\t414:  {region: 0x130, script: 0x2f, flags: 0x0},\n\t415:  {region: 0x165, script: 0x57, flags: 0x0},\n\t416:  {region: 0xe, script: 0x2, flags: 0x1},\n\t417:  {region: 0x99, script: 0xe, flags: 0x0},\n\t418:  {region: 0x165, script: 0x57, flags: 0x0},\n\t419:  {region: 0x4e, script: 0x57, flags: 0x0},\n\t420:  {region: 0x99, script: 0x32, flags: 0x0},\n\t421:  {region: 0x41, script: 0x57, flags: 0x0},\n\t422:  {region: 0x54, script: 0x57, flags: 0x0},\n\t423:  {region: 0x165, script: 0x57, flags: 0x0},\n\t424:  {region: 0x80, script: 0x57, flags: 0x0},\n\t425:  {region: 0x165, script: 0x57, flags: 0x0},\n\t426:  {region: 0x165, script: 0x57, flags: 0x0},\n\t427:  {region: 0xa4, script: 0x57, flags: 0x0},\n\t428:  {region: 0x98, script: 0x57, flags: 0x0},\n\t429:  {region: 0x165, script: 0x57, flags: 0x0},\n\t430:  {region: 0xdb, script: 0x21, flags: 0x0},\n\t431:  {region: 0x165, script: 0x57, flags: 0x0},\n\t432:  {region: 0x165, script: 0x5, flags: 0x0},\n\t433:  {region: 0x49, script: 0x57, flags: 0x0},\n\t434:  {region: 0x165, script: 0x5, flags: 0x0},\n\t435:  {region: 0x165, script: 0x57, flags: 0x0},\n\t436:  {region: 0x10, script: 0x3, flags: 0x1},\n\t437:  {region: 0x165, script: 0x57, flags: 0x0},\n\t438:  {region: 0x53, script: 0x38, flags: 0x0},\n\t439:  {region: 0x165, script: 0x57, flags: 0x0},\n\t440:  {region: 0x135, script: 0x57, flags: 0x0},\n\t441:  {region: 0x24, script: 0x5, flags: 0x0},\n\t442:  {region: 0x165, script: 0x57, flags: 0x0},\n\t443:  {region: 0x165, script: 0x29, flags: 0x0},\n\t444:  {region: 0x97, script: 0x3b, flags: 0x0},\n\t445:  {region: 0x165, script: 0x57, flags: 0x0},\n\t446:  {region: 0x99, script: 0x21, flags: 0x0},\n\t447:  {region: 0x165, script: 0x57, flags: 0x0},\n\t448:  {region: 0x73, script: 0x57, flags: 0x0},\n\t449:  {region: 0x165, script: 0x57, flags: 0x0},\n\t450:  {region: 0x165, script: 0x57, flags: 0x0},\n\t451:  {region: 0xe7, script: 0x57, flags: 0x0},\n\t452:  {region: 0x165, script: 0x57, flags: 0x0},\n\t453:  {region: 0x12b, script: 0x3d, flags: 0x0},\n\t454:  {region: 0x53, script: 0x89, flags: 0x0},\n\t455:  {region: 0x165, script: 0x57, flags: 0x0},\n\t456:  {region: 0xe8, script: 0x5, flags: 0x0},\n\t457:  {region: 0x99, script: 0x21, flags: 0x0},\n\t458:  {region: 0xaf, script: 0x3e, flags: 0x0},\n\t459:  {region: 0xe7, script: 0x57, flags: 0x0},\n\t460:  {region: 0xe8, script: 0x5, flags: 0x0},\n\t461:  {region: 0xe6, script: 0x57, flags: 0x0},\n\t462:  {region: 0x99, script: 0x21, flags: 0x0},\n\t463:  {region: 0x99, script: 0x21, flags: 0x0},\n\t464:  {region: 0x165, script: 0x57, flags: 0x0},\n\t465:  {region: 0x90, script: 0x57, flags: 0x0},\n\t466:  {region: 0x60, script: 0x57, flags: 0x0},\n\t467:  {region: 0x53, script: 0x38, flags: 0x0},\n\t468:  {region: 0x91, script: 0x57, flags: 0x0},\n\t469:  {region: 0x92, script: 0x57, flags: 0x0},\n\t470:  {region: 0x165, script: 0x57, flags: 0x0},\n\t471:  {region: 0x28, script: 0x8, flags: 0x0},\n\t472:  {region: 0xd2, script: 0x57, flags: 0x0},\n\t473:  {region: 0x78, script: 0x57, flags: 0x0},\n\t474:  {region: 0x165, script: 0x57, flags: 0x0},\n\t475:  {region: 0x165, script: 0x57, flags: 0x0},\n\t476:  {region: 0xd0, script: 0x57, flags: 0x0},\n\t477:  {region: 0xd6, script: 0x57, flags: 0x0},\n\t478:  {region: 0x165, script: 0x57, flags: 0x0},\n\t479:  {region: 0x165, script: 0x57, flags: 0x0},\n\t480:  {region: 0x165, script: 0x57, flags: 0x0},\n\t481:  {region: 0x95, script: 0x57, flags: 0x0},\n\t482:  {region: 0x165, script: 0x57, flags: 0x0},\n\t483:  {region: 0x165, script: 0x57, flags: 0x0},\n\t484:  {region: 0x165, script: 0x57, flags: 0x0},\n\t486:  {region: 0x122, script: 0x57, flags: 0x0},\n\t487:  {region: 0xd6, script: 0x57, flags: 0x0},\n\t488:  {region: 0x165, script: 0x57, flags: 0x0},\n\t489:  {region: 0x165, script: 0x57, flags: 0x0},\n\t490:  {region: 0x53, script: 0xea, flags: 0x0},\n\t491:  {region: 0x165, script: 0x57, flags: 0x0},\n\t492:  {region: 0x135, script: 0x57, flags: 0x0},\n\t493:  {region: 0x165, script: 0x57, flags: 0x0},\n\t494:  {region: 0x49, script: 0x57, flags: 0x0},\n\t495:  {region: 0x165, script: 0x57, flags: 0x0},\n\t496:  {region: 0x165, script: 0x57, flags: 0x0},\n\t497:  {region: 0xe7, script: 0x57, flags: 0x0},\n\t498:  {region: 0x165, script: 0x57, flags: 0x0},\n\t499:  {region: 0x95, script: 0x57, flags: 0x0},\n\t500:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t501:  {region: 0x1, script: 0x57, flags: 0x0},\n\t502:  {region: 0x165, script: 0x57, flags: 0x0},\n\t503:  {region: 0x165, script: 0x57, flags: 0x0},\n\t504:  {region: 0x9d, script: 0x57, flags: 0x0},\n\t505:  {region: 0x9e, script: 0x57, flags: 0x0},\n\t506:  {region: 0x49, script: 0x17, flags: 0x0},\n\t507:  {region: 0x97, script: 0x3b, flags: 0x0},\n\t508:  {region: 0x165, script: 0x57, flags: 0x0},\n\t509:  {region: 0x165, script: 0x57, flags: 0x0},\n\t510:  {region: 0x106, script: 0x57, flags: 0x0},\n\t511:  {region: 0x165, script: 0x57, flags: 0x0},\n\t512:  {region: 0xa2, script: 0x46, flags: 0x0},\n\t513:  {region: 0x165, script: 0x57, flags: 0x0},\n\t514:  {region: 0xa0, script: 0x57, flags: 0x0},\n\t515:  {region: 0x1, script: 0x57, flags: 0x0},\n\t516:  {region: 0x165, script: 0x57, flags: 0x0},\n\t517:  {region: 0x165, script: 0x57, flags: 0x0},\n\t518:  {region: 0x165, script: 0x57, flags: 0x0},\n\t519:  {region: 0x52, script: 0x57, flags: 0x0},\n\t520:  {region: 0x130, script: 0x3b, flags: 0x0},\n\t521:  {region: 0x165, script: 0x57, flags: 0x0},\n\t522:  {region: 0x12f, script: 0x57, flags: 0x0},\n\t523:  {region: 0xdb, script: 0x21, flags: 0x0},\n\t524:  {region: 0x165, script: 0x57, flags: 0x0},\n\t525:  {region: 0x63, script: 0x57, flags: 0x0},\n\t526:  {region: 0x95, script: 0x57, flags: 0x0},\n\t527:  {region: 0x95, script: 0x57, flags: 0x0},\n\t528:  {region: 0x7d, script: 0x2b, flags: 0x0},\n\t529:  {region: 0x137, script: 0x1f, flags: 0x0},\n\t530:  {region: 0x67, script: 0x57, flags: 0x0},\n\t531:  {region: 0xc4, script: 0x57, flags: 0x0},\n\t532:  {region: 0x165, script: 0x57, flags: 0x0},\n\t533:  {region: 0x165, script: 0x57, flags: 0x0},\n\t534:  {region: 0xd6, script: 0x57, flags: 0x0},\n\t535:  {region: 0xa4, script: 0x57, flags: 0x0},\n\t536:  {region: 0xc3, script: 0x57, flags: 0x0},\n\t537:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t538:  {region: 0x165, script: 0x57, flags: 0x0},\n\t539:  {region: 0x165, script: 0x57, flags: 0x0},\n\t540:  {region: 0x165, script: 0x57, flags: 0x0},\n\t541:  {region: 0x165, script: 0x57, flags: 0x0},\n\t542:  {region: 0xd4, script: 0x5, flags: 0x0},\n\t543:  {region: 0xd6, script: 0x57, flags: 0x0},\n\t544:  {region: 0x164, script: 0x57, flags: 0x0},\n\t545:  {region: 0x165, script: 0x57, flags: 0x0},\n\t546:  {region: 0x165, script: 0x57, flags: 0x0},\n\t547:  {region: 0x12f, script: 0x57, flags: 0x0},\n\t548:  {region: 0x122, script: 0x5, flags: 0x0},\n\t549:  {region: 0x165, script: 0x57, flags: 0x0},\n\t550:  {region: 0x123, script: 0xdf, flags: 0x0},\n\t551:  {region: 0x5a, script: 0x57, flags: 0x0},\n\t552:  {region: 0x52, script: 0x57, flags: 0x0},\n\t553:  {region: 0x165, script: 0x57, flags: 0x0},\n\t554:  {region: 0x4f, script: 0x57, flags: 0x0},\n\t555:  {region: 0x99, script: 0x21, flags: 0x0},\n\t556:  {region: 0x99, script: 0x21, flags: 0x0},\n\t557:  {region: 0x4b, script: 0x57, flags: 0x0},\n\t558:  {region: 0x95, script: 0x57, flags: 0x0},\n\t559:  {region: 0x165, script: 0x57, flags: 0x0},\n\t560:  {region: 0x41, script: 0x57, flags: 0x0},\n\t561:  {region: 0x99, script: 0x57, flags: 0x0},\n\t562:  {region: 0x53, script: 0xd6, flags: 0x0},\n\t563:  {region: 0x99, script: 0x21, flags: 0x0},\n\t564:  {region: 0xc3, script: 0x57, flags: 0x0},\n\t565:  {region: 0x165, script: 0x57, flags: 0x0},\n\t566:  {region: 0x99, script: 0x72, flags: 0x0},\n\t567:  {region: 0xe8, script: 0x5, flags: 0x0},\n\t568:  {region: 0x165, script: 0x57, flags: 0x0},\n\t569:  {region: 0xa4, script: 0x57, flags: 0x0},\n\t570:  {region: 0x165, script: 0x57, flags: 0x0},\n\t571:  {region: 0x12b, script: 0x57, flags: 0x0},\n\t572:  {region: 0x165, script: 0x57, flags: 0x0},\n\t573:  {region: 0xd2, script: 0x57, flags: 0x0},\n\t574:  {region: 0x165, script: 0x57, flags: 0x0},\n\t575:  {region: 0xaf, script: 0x54, flags: 0x0},\n\t576:  {region: 0x165, script: 0x57, flags: 0x0},\n\t577:  {region: 0x165, script: 0x57, flags: 0x0},\n\t578:  {region: 0x13, script: 0x6, flags: 0x1},\n\t579:  {region: 0x165, script: 0x57, flags: 0x0},\n\t580:  {region: 0x52, script: 0x57, flags: 0x0},\n\t581:  {region: 0x82, script: 0x57, flags: 0x0},\n\t582:  {region: 0xa4, script: 0x57, flags: 0x0},\n\t583:  {region: 0x165, script: 0x57, flags: 0x0},\n\t584:  {region: 0x165, script: 0x57, flags: 0x0},\n\t585:  {region: 0x165, script: 0x57, flags: 0x0},\n\t586:  {region: 0xa6, script: 0x4b, flags: 0x0},\n\t587:  {region: 0x2a, script: 0x57, flags: 0x0},\n\t588:  {region: 0x165, script: 0x57, flags: 0x0},\n\t589:  {region: 0x165, script: 0x57, flags: 0x0},\n\t590:  {region: 0x165, script: 0x57, flags: 0x0},\n\t591:  {region: 0x165, script: 0x57, flags: 0x0},\n\t592:  {region: 0x165, script: 0x57, flags: 0x0},\n\t593:  {region: 0x99, script: 0x4f, flags: 0x0},\n\t594:  {region: 0x8b, script: 0x57, flags: 0x0},\n\t595:  {region: 0x165, script: 0x57, flags: 0x0},\n\t596:  {region: 0xab, script: 0x50, flags: 0x0},\n\t597:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t598:  {region: 0x99, script: 0x21, flags: 0x0},\n\t599:  {region: 0x165, script: 0x57, flags: 0x0},\n\t600:  {region: 0x75, script: 0x57, flags: 0x0},\n\t601:  {region: 0x165, script: 0x57, flags: 0x0},\n\t602:  {region: 0xb4, script: 0x57, flags: 0x0},\n\t603:  {region: 0x165, script: 0x57, flags: 0x0},\n\t604:  {region: 0x165, script: 0x57, flags: 0x0},\n\t605:  {region: 0x165, script: 0x57, flags: 0x0},\n\t606:  {region: 0x165, script: 0x57, flags: 0x0},\n\t607:  {region: 0x165, script: 0x57, flags: 0x0},\n\t608:  {region: 0x165, script: 0x57, flags: 0x0},\n\t609:  {region: 0x165, script: 0x57, flags: 0x0},\n\t610:  {region: 0x165, script: 0x29, flags: 0x0},\n\t611:  {region: 0x165, script: 0x57, flags: 0x0},\n\t612:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t613:  {region: 0x112, script: 0x57, flags: 0x0},\n\t614:  {region: 0xe7, script: 0x57, flags: 0x0},\n\t615:  {region: 0x106, script: 0x57, flags: 0x0},\n\t616:  {region: 0x165, script: 0x57, flags: 0x0},\n\t617:  {region: 0x99, script: 0x21, flags: 0x0},\n\t618:  {region: 0x99, script: 0x5, flags: 0x0},\n\t619:  {region: 0x12f, script: 0x57, flags: 0x0},\n\t620:  {region: 0x165, script: 0x57, flags: 0x0},\n\t621:  {region: 0x52, script: 0x57, flags: 0x0},\n\t622:  {region: 0x60, script: 0x57, flags: 0x0},\n\t623:  {region: 0x165, script: 0x57, flags: 0x0},\n\t624:  {region: 0x165, script: 0x57, flags: 0x0},\n\t625:  {region: 0x165, script: 0x29, flags: 0x0},\n\t626:  {region: 0x165, script: 0x57, flags: 0x0},\n\t627:  {region: 0x165, script: 0x57, flags: 0x0},\n\t628:  {region: 0x19, script: 0x3, flags: 0x1},\n\t629:  {region: 0x165, script: 0x57, flags: 0x0},\n\t630:  {region: 0x165, script: 0x57, flags: 0x0},\n\t631:  {region: 0x165, script: 0x57, flags: 0x0},\n\t632:  {region: 0x165, script: 0x57, flags: 0x0},\n\t633:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t634:  {region: 0x165, script: 0x57, flags: 0x0},\n\t635:  {region: 0x165, script: 0x57, flags: 0x0},\n\t636:  {region: 0x165, script: 0x57, flags: 0x0},\n\t637:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t638:  {region: 0x165, script: 0x57, flags: 0x0},\n\t639:  {region: 0x95, script: 0x57, flags: 0x0},\n\t640:  {region: 0xe8, script: 0x5, flags: 0x0},\n\t641:  {region: 0x7b, script: 0x57, flags: 0x0},\n\t642:  {region: 0x165, script: 0x57, flags: 0x0},\n\t643:  {region: 0x165, script: 0x57, flags: 0x0},\n\t644:  {region: 0x165, script: 0x57, flags: 0x0},\n\t645:  {region: 0x165, script: 0x29, flags: 0x0},\n\t646:  {region: 0x123, script: 0xdf, flags: 0x0},\n\t647:  {region: 0xe8, script: 0x5, flags: 0x0},\n\t648:  {region: 0x165, script: 0x57, flags: 0x0},\n\t649:  {region: 0x165, script: 0x57, flags: 0x0},\n\t650:  {region: 0x1c, script: 0x5, flags: 0x1},\n\t651:  {region: 0x165, script: 0x57, flags: 0x0},\n\t652:  {region: 0x165, script: 0x57, flags: 0x0},\n\t653:  {region: 0x165, script: 0x57, flags: 0x0},\n\t654:  {region: 0x138, script: 0x57, flags: 0x0},\n\t655:  {region: 0x87, script: 0x5b, flags: 0x0},\n\t656:  {region: 0x97, script: 0x3b, flags: 0x0},\n\t657:  {region: 0x12f, script: 0x57, flags: 0x0},\n\t658:  {region: 0xe8, script: 0x5, flags: 0x0},\n\t659:  {region: 0x131, script: 0x57, flags: 0x0},\n\t660:  {region: 0x165, script: 0x57, flags: 0x0},\n\t661:  {region: 0xb7, script: 0x57, flags: 0x0},\n\t662:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t663:  {region: 0x165, script: 0x57, flags: 0x0},\n\t664:  {region: 0x95, script: 0x57, flags: 0x0},\n\t665:  {region: 0x165, script: 0x57, flags: 0x0},\n\t666:  {region: 0x53, script: 0xdf, flags: 0x0},\n\t667:  {region: 0x165, script: 0x57, flags: 0x0},\n\t668:  {region: 0x165, script: 0x57, flags: 0x0},\n\t669:  {region: 0x165, script: 0x57, flags: 0x0},\n\t670:  {region: 0x165, script: 0x57, flags: 0x0},\n\t671:  {region: 0x99, script: 0x59, flags: 0x0},\n\t672:  {region: 0x165, script: 0x57, flags: 0x0},\n\t673:  {region: 0x165, script: 0x57, flags: 0x0},\n\t674:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t675:  {region: 0x131, script: 0x57, flags: 0x0},\n\t676:  {region: 0x165, script: 0x57, flags: 0x0},\n\t677:  {region: 0xd9, script: 0x57, flags: 0x0},\n\t678:  {region: 0x165, script: 0x57, flags: 0x0},\n\t679:  {region: 0x165, script: 0x57, flags: 0x0},\n\t680:  {region: 0x21, script: 0x2, flags: 0x1},\n\t681:  {region: 0x165, script: 0x57, flags: 0x0},\n\t682:  {region: 0x165, script: 0x57, flags: 0x0},\n\t683:  {region: 0x9e, script: 0x57, flags: 0x0},\n\t684:  {region: 0x53, script: 0x5d, flags: 0x0},\n\t685:  {region: 0x95, script: 0x57, flags: 0x0},\n\t686:  {region: 0x9c, script: 0x5, flags: 0x0},\n\t687:  {region: 0x135, script: 0x57, flags: 0x0},\n\t688:  {region: 0x165, script: 0x57, flags: 0x0},\n\t689:  {region: 0x165, script: 0x57, flags: 0x0},\n\t690:  {region: 0x99, script: 0xda, flags: 0x0},\n\t691:  {region: 0x9e, script: 0x57, flags: 0x0},\n\t692:  {region: 0x165, script: 0x57, flags: 0x0},\n\t693:  {region: 0x4b, script: 0x57, flags: 0x0},\n\t694:  {region: 0x165, script: 0x57, flags: 0x0},\n\t695:  {region: 0x165, script: 0x57, flags: 0x0},\n\t696:  {region: 0xaf, script: 0x54, flags: 0x0},\n\t697:  {region: 0x165, script: 0x57, flags: 0x0},\n\t698:  {region: 0x165, script: 0x57, flags: 0x0},\n\t699:  {region: 0x4b, script: 0x57, flags: 0x0},\n\t700:  {region: 0x165, script: 0x57, flags: 0x0},\n\t701:  {region: 0x165, script: 0x57, flags: 0x0},\n\t702:  {region: 0x162, script: 0x57, flags: 0x0},\n\t703:  {region: 0x9c, script: 0x5, flags: 0x0},\n\t704:  {region: 0xb6, script: 0x57, flags: 0x0},\n\t705:  {region: 0xb8, script: 0x57, flags: 0x0},\n\t706:  {region: 0x4b, script: 0x57, flags: 0x0},\n\t707:  {region: 0x4b, script: 0x57, flags: 0x0},\n\t708:  {region: 0xa4, script: 0x57, flags: 0x0},\n\t709:  {region: 0xa4, script: 0x57, flags: 0x0},\n\t710:  {region: 0x9c, script: 0x5, flags: 0x0},\n\t711:  {region: 0xb8, script: 0x57, flags: 0x0},\n\t712:  {region: 0x123, script: 0xdf, flags: 0x0},\n\t713:  {region: 0x53, script: 0x38, flags: 0x0},\n\t714:  {region: 0x12b, script: 0x57, flags: 0x0},\n\t715:  {region: 0x95, script: 0x57, flags: 0x0},\n\t716:  {region: 0x52, script: 0x57, flags: 0x0},\n\t717:  {region: 0x99, script: 0x21, flags: 0x0},\n\t718:  {region: 0x99, script: 0x21, flags: 0x0},\n\t719:  {region: 0x95, script: 0x57, flags: 0x0},\n\t720:  {region: 0x23, script: 0x3, flags: 0x1},\n\t721:  {region: 0xa4, script: 0x57, flags: 0x0},\n\t722:  {region: 0x165, script: 0x57, flags: 0x0},\n\t723:  {region: 0xcf, script: 0x57, flags: 0x0},\n\t724:  {region: 0x165, script: 0x57, flags: 0x0},\n\t725:  {region: 0x165, script: 0x57, flags: 0x0},\n\t726:  {region: 0x165, script: 0x57, flags: 0x0},\n\t727:  {region: 0x165, script: 0x57, flags: 0x0},\n\t728:  {region: 0x165, script: 0x57, flags: 0x0},\n\t729:  {region: 0x165, script: 0x57, flags: 0x0},\n\t730:  {region: 0x165, script: 0x57, flags: 0x0},\n\t731:  {region: 0x165, script: 0x57, flags: 0x0},\n\t732:  {region: 0x165, script: 0x57, flags: 0x0},\n\t733:  {region: 0x165, script: 0x57, flags: 0x0},\n\t734:  {region: 0x165, script: 0x57, flags: 0x0},\n\t735:  {region: 0x165, script: 0x5, flags: 0x0},\n\t736:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t737:  {region: 0xe7, script: 0x57, flags: 0x0},\n\t738:  {region: 0x165, script: 0x57, flags: 0x0},\n\t739:  {region: 0x95, script: 0x57, flags: 0x0},\n\t740:  {region: 0x165, script: 0x29, flags: 0x0},\n\t741:  {region: 0x165, script: 0x57, flags: 0x0},\n\t742:  {region: 0x165, script: 0x57, flags: 0x0},\n\t743:  {region: 0x165, script: 0x57, flags: 0x0},\n\t744:  {region: 0x112, script: 0x57, flags: 0x0},\n\t745:  {region: 0xa4, script: 0x57, flags: 0x0},\n\t746:  {region: 0x165, script: 0x57, flags: 0x0},\n\t747:  {region: 0x165, script: 0x57, flags: 0x0},\n\t748:  {region: 0x123, script: 0x5, flags: 0x0},\n\t749:  {region: 0xcc, script: 0x57, flags: 0x0},\n\t750:  {region: 0x165, script: 0x57, flags: 0x0},\n\t751:  {region: 0x165, script: 0x57, flags: 0x0},\n\t752:  {region: 0x165, script: 0x57, flags: 0x0},\n\t753:  {region: 0xbf, script: 0x57, flags: 0x0},\n\t754:  {region: 0xd1, script: 0x57, flags: 0x0},\n\t755:  {region: 0x165, script: 0x57, flags: 0x0},\n\t756:  {region: 0x52, script: 0x57, flags: 0x0},\n\t757:  {region: 0xdb, script: 0x21, flags: 0x0},\n\t758:  {region: 0x12f, script: 0x57, flags: 0x0},\n\t759:  {region: 0xc0, script: 0x57, flags: 0x0},\n\t760:  {region: 0x165, script: 0x57, flags: 0x0},\n\t761:  {region: 0x165, script: 0x57, flags: 0x0},\n\t762:  {region: 0xe0, script: 0x57, flags: 0x0},\n\t763:  {region: 0x165, script: 0x57, flags: 0x0},\n\t764:  {region: 0x95, script: 0x57, flags: 0x0},\n\t765:  {region: 0x9b, script: 0x3a, flags: 0x0},\n\t766:  {region: 0x165, script: 0x57, flags: 0x0},\n\t767:  {region: 0xc2, script: 0x1f, flags: 0x0},\n\t768:  {region: 0x165, script: 0x5, flags: 0x0},\n\t769:  {region: 0x165, script: 0x57, flags: 0x0},\n\t770:  {region: 0x165, script: 0x57, flags: 0x0},\n\t771:  {region: 0x165, script: 0x57, flags: 0x0},\n\t772:  {region: 0x99, script: 0x6b, flags: 0x0},\n\t773:  {region: 0x165, script: 0x57, flags: 0x0},\n\t774:  {region: 0x165, script: 0x57, flags: 0x0},\n\t775:  {region: 0x10b, script: 0x57, flags: 0x0},\n\t776:  {region: 0x165, script: 0x57, flags: 0x0},\n\t777:  {region: 0x165, script: 0x57, flags: 0x0},\n\t778:  {region: 0x165, script: 0x57, flags: 0x0},\n\t779:  {region: 0x26, script: 0x3, flags: 0x1},\n\t780:  {region: 0x165, script: 0x57, flags: 0x0},\n\t781:  {region: 0x165, script: 0x57, flags: 0x0},\n\t782:  {region: 0x99, script: 0xe, flags: 0x0},\n\t783:  {region: 0xc4, script: 0x72, flags: 0x0},\n\t785:  {region: 0x165, script: 0x57, flags: 0x0},\n\t786:  {region: 0x49, script: 0x57, flags: 0x0},\n\t787:  {region: 0x49, script: 0x57, flags: 0x0},\n\t788:  {region: 0x37, script: 0x57, flags: 0x0},\n\t789:  {region: 0x165, script: 0x57, flags: 0x0},\n\t790:  {region: 0x165, script: 0x57, flags: 0x0},\n\t791:  {region: 0x165, script: 0x57, flags: 0x0},\n\t792:  {region: 0x165, script: 0x57, flags: 0x0},\n\t793:  {region: 0x165, script: 0x57, flags: 0x0},\n\t794:  {region: 0x165, script: 0x57, flags: 0x0},\n\t795:  {region: 0x99, script: 0x21, flags: 0x0},\n\t796:  {region: 0xdb, script: 0x21, flags: 0x0},\n\t797:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t798:  {region: 0x35, script: 0x6f, flags: 0x0},\n\t799:  {region: 0x29, script: 0x3, flags: 0x1},\n\t800:  {region: 0xcb, script: 0x57, flags: 0x0},\n\t801:  {region: 0x165, script: 0x57, flags: 0x0},\n\t802:  {region: 0x165, script: 0x57, flags: 0x0},\n\t803:  {region: 0x165, script: 0x57, flags: 0x0},\n\t804:  {region: 0x99, script: 0x21, flags: 0x0},\n\t805:  {region: 0x52, script: 0x57, flags: 0x0},\n\t807:  {region: 0x165, script: 0x57, flags: 0x0},\n\t808:  {region: 0x135, script: 0x57, flags: 0x0},\n\t809:  {region: 0x165, script: 0x57, flags: 0x0},\n\t810:  {region: 0x165, script: 0x57, flags: 0x0},\n\t811:  {region: 0xe8, script: 0x5, flags: 0x0},\n\t812:  {region: 0xc3, script: 0x57, flags: 0x0},\n\t813:  {region: 0x99, script: 0x21, flags: 0x0},\n\t814:  {region: 0x95, script: 0x57, flags: 0x0},\n\t815:  {region: 0x164, script: 0x57, flags: 0x0},\n\t816:  {region: 0x165, script: 0x57, flags: 0x0},\n\t817:  {region: 0xc4, script: 0x72, flags: 0x0},\n\t818:  {region: 0x165, script: 0x57, flags: 0x0},\n\t819:  {region: 0x165, script: 0x29, flags: 0x0},\n\t820:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t821:  {region: 0x165, script: 0x57, flags: 0x0},\n\t822:  {region: 0x131, script: 0x57, flags: 0x0},\n\t823:  {region: 0x9c, script: 0x63, flags: 0x0},\n\t824:  {region: 0x165, script: 0x57, flags: 0x0},\n\t825:  {region: 0x165, script: 0x57, flags: 0x0},\n\t826:  {region: 0x9c, script: 0x5, flags: 0x0},\n\t827:  {region: 0x165, script: 0x57, flags: 0x0},\n\t828:  {region: 0x165, script: 0x57, flags: 0x0},\n\t829:  {region: 0x165, script: 0x57, flags: 0x0},\n\t830:  {region: 0xdd, script: 0x57, flags: 0x0},\n\t831:  {region: 0x165, script: 0x57, flags: 0x0},\n\t832:  {region: 0x165, script: 0x57, flags: 0x0},\n\t834:  {region: 0x165, script: 0x57, flags: 0x0},\n\t835:  {region: 0x53, script: 0x38, flags: 0x0},\n\t836:  {region: 0x9e, script: 0x57, flags: 0x0},\n\t837:  {region: 0xd2, script: 0x57, flags: 0x0},\n\t838:  {region: 0x165, script: 0x57, flags: 0x0},\n\t839:  {region: 0xda, script: 0x57, flags: 0x0},\n\t840:  {region: 0x165, script: 0x57, flags: 0x0},\n\t841:  {region: 0x165, script: 0x57, flags: 0x0},\n\t842:  {region: 0x165, script: 0x57, flags: 0x0},\n\t843:  {region: 0xcf, script: 0x57, flags: 0x0},\n\t844:  {region: 0x165, script: 0x57, flags: 0x0},\n\t845:  {region: 0x165, script: 0x57, flags: 0x0},\n\t846:  {region: 0x164, script: 0x57, flags: 0x0},\n\t847:  {region: 0xd1, script: 0x57, flags: 0x0},\n\t848:  {region: 0x60, script: 0x57, flags: 0x0},\n\t849:  {region: 0xdb, script: 0x21, flags: 0x0},\n\t850:  {region: 0x165, script: 0x57, flags: 0x0},\n\t851:  {region: 0xdb, script: 0x21, flags: 0x0},\n\t852:  {region: 0x165, script: 0x57, flags: 0x0},\n\t853:  {region: 0x165, script: 0x57, flags: 0x0},\n\t854:  {region: 0xd2, script: 0x57, flags: 0x0},\n\t855:  {region: 0x165, script: 0x57, flags: 0x0},\n\t856:  {region: 0x165, script: 0x57, flags: 0x0},\n\t857:  {region: 0xd1, script: 0x57, flags: 0x0},\n\t858:  {region: 0x165, script: 0x57, flags: 0x0},\n\t859:  {region: 0xcf, script: 0x57, flags: 0x0},\n\t860:  {region: 0xcf, script: 0x57, flags: 0x0},\n\t861:  {region: 0x165, script: 0x57, flags: 0x0},\n\t862:  {region: 0x165, script: 0x57, flags: 0x0},\n\t863:  {region: 0x95, script: 0x57, flags: 0x0},\n\t864:  {region: 0x165, script: 0x57, flags: 0x0},\n\t865:  {region: 0xdf, script: 0x57, flags: 0x0},\n\t866:  {region: 0x165, script: 0x57, flags: 0x0},\n\t867:  {region: 0x165, script: 0x57, flags: 0x0},\n\t868:  {region: 0x99, script: 0x57, flags: 0x0},\n\t869:  {region: 0x165, script: 0x57, flags: 0x0},\n\t870:  {region: 0x165, script: 0x57, flags: 0x0},\n\t871:  {region: 0xd9, script: 0x57, flags: 0x0},\n\t872:  {region: 0x52, script: 0x57, flags: 0x0},\n\t873:  {region: 0x165, script: 0x57, flags: 0x0},\n\t874:  {region: 0xda, script: 0x57, flags: 0x0},\n\t875:  {region: 0x165, script: 0x57, flags: 0x0},\n\t876:  {region: 0x52, script: 0x57, flags: 0x0},\n\t877:  {region: 0x165, script: 0x57, flags: 0x0},\n\t878:  {region: 0x165, script: 0x57, flags: 0x0},\n\t879:  {region: 0xda, script: 0x57, flags: 0x0},\n\t880:  {region: 0x123, script: 0x53, flags: 0x0},\n\t881:  {region: 0x99, script: 0x21, flags: 0x0},\n\t882:  {region: 0x10c, script: 0xbf, flags: 0x0},\n\t883:  {region: 0x165, script: 0x57, flags: 0x0},\n\t884:  {region: 0x165, script: 0x57, flags: 0x0},\n\t885:  {region: 0x84, script: 0x78, flags: 0x0},\n\t886:  {region: 0x161, script: 0x57, flags: 0x0},\n\t887:  {region: 0x165, script: 0x57, flags: 0x0},\n\t888:  {region: 0x49, script: 0x17, flags: 0x0},\n\t889:  {region: 0x165, script: 0x57, flags: 0x0},\n\t890:  {region: 0x161, script: 0x57, flags: 0x0},\n\t891:  {region: 0x165, script: 0x57, flags: 0x0},\n\t892:  {region: 0x165, script: 0x57, flags: 0x0},\n\t893:  {region: 0x165, script: 0x57, flags: 0x0},\n\t894:  {region: 0x165, script: 0x57, flags: 0x0},\n\t895:  {region: 0x165, script: 0x57, flags: 0x0},\n\t896:  {region: 0x117, script: 0x57, flags: 0x0},\n\t897:  {region: 0x165, script: 0x57, flags: 0x0},\n\t898:  {region: 0x165, script: 0x57, flags: 0x0},\n\t899:  {region: 0x135, script: 0x57, flags: 0x0},\n\t900:  {region: 0x165, script: 0x57, flags: 0x0},\n\t901:  {region: 0x53, script: 0x57, flags: 0x0},\n\t902:  {region: 0x165, script: 0x57, flags: 0x0},\n\t903:  {region: 0xce, script: 0x57, flags: 0x0},\n\t904:  {region: 0x12f, script: 0x57, flags: 0x0},\n\t905:  {region: 0x131, script: 0x57, flags: 0x0},\n\t906:  {region: 0x80, script: 0x57, flags: 0x0},\n\t907:  {region: 0x78, script: 0x57, flags: 0x0},\n\t908:  {region: 0x165, script: 0x57, flags: 0x0},\n\t910:  {region: 0x165, script: 0x57, flags: 0x0},\n\t911:  {region: 0x165, script: 0x57, flags: 0x0},\n\t912:  {region: 0x6f, script: 0x57, flags: 0x0},\n\t913:  {region: 0x165, script: 0x57, flags: 0x0},\n\t914:  {region: 0x165, script: 0x57, flags: 0x0},\n\t915:  {region: 0x165, script: 0x57, flags: 0x0},\n\t916:  {region: 0x165, script: 0x57, flags: 0x0},\n\t917:  {region: 0x99, script: 0x7d, flags: 0x0},\n\t918:  {region: 0x165, script: 0x57, flags: 0x0},\n\t919:  {region: 0x165, script: 0x5, flags: 0x0},\n\t920:  {region: 0x7d, script: 0x1f, flags: 0x0},\n\t921:  {region: 0x135, script: 0x7e, flags: 0x0},\n\t922:  {region: 0x165, script: 0x5, flags: 0x0},\n\t923:  {region: 0xc5, script: 0x7c, flags: 0x0},\n\t924:  {region: 0x165, script: 0x57, flags: 0x0},\n\t925:  {region: 0x2c, script: 0x3, flags: 0x1},\n\t926:  {region: 0xe7, script: 0x57, flags: 0x0},\n\t927:  {region: 0x2f, script: 0x2, flags: 0x1},\n\t928:  {region: 0xe7, script: 0x57, flags: 0x0},\n\t929:  {region: 0x30, script: 0x57, flags: 0x0},\n\t930:  {region: 0xf0, script: 0x57, flags: 0x0},\n\t931:  {region: 0x165, script: 0x57, flags: 0x0},\n\t932:  {region: 0x78, script: 0x57, flags: 0x0},\n\t933:  {region: 0xd6, script: 0x57, flags: 0x0},\n\t934:  {region: 0x135, script: 0x57, flags: 0x0},\n\t935:  {region: 0x49, script: 0x57, flags: 0x0},\n\t936:  {region: 0x165, script: 0x57, flags: 0x0},\n\t937:  {region: 0x9c, script: 0xe8, flags: 0x0},\n\t938:  {region: 0x165, script: 0x57, flags: 0x0},\n\t939:  {region: 0x60, script: 0x57, flags: 0x0},\n\t940:  {region: 0x165, script: 0x5, flags: 0x0},\n\t941:  {region: 0xb0, script: 0x87, flags: 0x0},\n\t943:  {region: 0x165, script: 0x57, flags: 0x0},\n\t944:  {region: 0x165, script: 0x57, flags: 0x0},\n\t945:  {region: 0x99, script: 0x12, flags: 0x0},\n\t946:  {region: 0xa4, script: 0x57, flags: 0x0},\n\t947:  {region: 0xe9, script: 0x57, flags: 0x0},\n\t948:  {region: 0x165, script: 0x57, flags: 0x0},\n\t949:  {region: 0x9e, script: 0x57, flags: 0x0},\n\t950:  {region: 0x165, script: 0x57, flags: 0x0},\n\t951:  {region: 0x165, script: 0x57, flags: 0x0},\n\t952:  {region: 0x87, script: 0x31, flags: 0x0},\n\t953:  {region: 0x75, script: 0x57, flags: 0x0},\n\t954:  {region: 0x165, script: 0x57, flags: 0x0},\n\t955:  {region: 0xe8, script: 0x4a, flags: 0x0},\n\t956:  {region: 0x9c, script: 0x5, flags: 0x0},\n\t957:  {region: 0x1, script: 0x57, flags: 0x0},\n\t958:  {region: 0x24, script: 0x5, flags: 0x0},\n\t959:  {region: 0x165, script: 0x57, flags: 0x0},\n\t960:  {region: 0x41, script: 0x57, flags: 0x0},\n\t961:  {region: 0x165, script: 0x57, flags: 0x0},\n\t962:  {region: 0x7a, script: 0x57, flags: 0x0},\n\t963:  {region: 0x165, script: 0x57, flags: 0x0},\n\t964:  {region: 0xe4, script: 0x57, flags: 0x0},\n\t965:  {region: 0x89, script: 0x57, flags: 0x0},\n\t966:  {region: 0x69, script: 0x57, flags: 0x0},\n\t967:  {region: 0x165, script: 0x57, flags: 0x0},\n\t968:  {region: 0x99, script: 0x21, flags: 0x0},\n\t969:  {region: 0x165, script: 0x57, flags: 0x0},\n\t970:  {region: 0x102, script: 0x57, flags: 0x0},\n\t971:  {region: 0x95, script: 0x57, flags: 0x0},\n\t972:  {region: 0x165, script: 0x57, flags: 0x0},\n\t973:  {region: 0x165, script: 0x57, flags: 0x0},\n\t974:  {region: 0x9e, script: 0x57, flags: 0x0},\n\t975:  {region: 0x165, script: 0x5, flags: 0x0},\n\t976:  {region: 0x99, script: 0x57, flags: 0x0},\n\t977:  {region: 0x31, script: 0x2, flags: 0x1},\n\t978:  {region: 0xdb, script: 0x21, flags: 0x0},\n\t979:  {region: 0x35, script: 0xe, flags: 0x0},\n\t980:  {region: 0x4e, script: 0x57, flags: 0x0},\n\t981:  {region: 0x72, script: 0x57, flags: 0x0},\n\t982:  {region: 0x4e, script: 0x57, flags: 0x0},\n\t983:  {region: 0x9c, script: 0x5, flags: 0x0},\n\t984:  {region: 0x10c, script: 0x57, flags: 0x0},\n\t985:  {region: 0x3a, script: 0x57, flags: 0x0},\n\t986:  {region: 0x165, script: 0x57, flags: 0x0},\n\t987:  {region: 0xd1, script: 0x57, flags: 0x0},\n\t988:  {region: 0x104, script: 0x57, flags: 0x0},\n\t989:  {region: 0x95, script: 0x57, flags: 0x0},\n\t990:  {region: 0x12f, script: 0x57, flags: 0x0},\n\t991:  {region: 0x165, script: 0x57, flags: 0x0},\n\t992:  {region: 0x165, script: 0x57, flags: 0x0},\n\t993:  {region: 0x73, script: 0x57, flags: 0x0},\n\t994:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t995:  {region: 0x130, script: 0x1f, flags: 0x0},\n\t996:  {region: 0x109, script: 0x57, flags: 0x0},\n\t997:  {region: 0x107, script: 0x57, flags: 0x0},\n\t998:  {region: 0x12f, script: 0x57, flags: 0x0},\n\t999:  {region: 0x165, script: 0x57, flags: 0x0},\n\t1000: {region: 0xa2, script: 0x49, flags: 0x0},\n\t1001: {region: 0x99, script: 0x21, flags: 0x0},\n\t1002: {region: 0x80, script: 0x57, flags: 0x0},\n\t1003: {region: 0x106, script: 0x1f, flags: 0x0},\n\t1004: {region: 0xa4, script: 0x57, flags: 0x0},\n\t1005: {region: 0x95, script: 0x57, flags: 0x0},\n\t1006: {region: 0x99, script: 0x57, flags: 0x0},\n\t1007: {region: 0x114, script: 0x57, flags: 0x0},\n\t1008: {region: 0x99, script: 0xc3, flags: 0x0},\n\t1009: {region: 0x165, script: 0x57, flags: 0x0},\n\t1010: {region: 0x165, script: 0x57, flags: 0x0},\n\t1011: {region: 0x12f, script: 0x57, flags: 0x0},\n\t1012: {region: 0x9e, script: 0x57, flags: 0x0},\n\t1013: {region: 0x99, script: 0x21, flags: 0x0},\n\t1014: {region: 0x165, script: 0x5, flags: 0x0},\n\t1015: {region: 0x9e, script: 0x57, flags: 0x0},\n\t1016: {region: 0x7b, script: 0x57, flags: 0x0},\n\t1017: {region: 0x49, script: 0x57, flags: 0x0},\n\t1018: {region: 0x33, script: 0x4, flags: 0x1},\n\t1019: {region: 0x9e, script: 0x57, flags: 0x0},\n\t1020: {region: 0x9c, script: 0x5, flags: 0x0},\n\t1021: {region: 0xda, script: 0x57, flags: 0x0},\n\t1022: {region: 0x4f, script: 0x57, flags: 0x0},\n\t1023: {region: 0xd1, script: 0x57, flags: 0x0},\n\t1024: {region: 0xcf, script: 0x57, flags: 0x0},\n\t1025: {region: 0xc3, script: 0x57, flags: 0x0},\n\t1026: {region: 0x4c, script: 0x57, flags: 0x0},\n\t1027: {region: 0x96, script: 0x7a, flags: 0x0},\n\t1028: {region: 0xb6, script: 0x57, flags: 0x0},\n\t1029: {region: 0x165, script: 0x29, flags: 0x0},\n\t1030: {region: 0x165, script: 0x57, flags: 0x0},\n\t1032: {region: 0xba, script: 0xdc, flags: 0x0},\n\t1033: {region: 0x165, script: 0x57, flags: 0x0},\n\t1034: {region: 0xc4, script: 0x72, flags: 0x0},\n\t1035: {region: 0x165, script: 0x5, flags: 0x0},\n\t1036: {region: 0xb3, script: 0xca, flags: 0x0},\n\t1037: {region: 0x6f, script: 0x57, flags: 0x0},\n\t1038: {region: 0x165, script: 0x57, flags: 0x0},\n\t1039: {region: 0x165, script: 0x57, flags: 0x0},\n\t1040: {region: 0x165, script: 0x57, flags: 0x0},\n\t1041: {region: 0x165, script: 0x57, flags: 0x0},\n\t1042: {region: 0x111, script: 0x57, flags: 0x0},\n\t1043: {region: 0x165, script: 0x57, flags: 0x0},\n\t1044: {region: 0xe8, script: 0x5, flags: 0x0},\n\t1045: {region: 0x165, script: 0x57, flags: 0x0},\n\t1046: {region: 0x10f, script: 0x57, flags: 0x0},\n\t1047: {region: 0x165, script: 0x57, flags: 0x0},\n\t1048: {region: 0xe9, script: 0x57, flags: 0x0},\n\t1049: {region: 0x165, script: 0x57, flags: 0x0},\n\t1050: {region: 0x95, script: 0x57, flags: 0x0},\n\t1051: {region: 0x142, script: 0x57, flags: 0x0},\n\t1052: {region: 0x10c, script: 0x57, flags: 0x0},\n\t1054: {region: 0x10c, script: 0x57, flags: 0x0},\n\t1055: {region: 0x72, script: 0x57, flags: 0x0},\n\t1056: {region: 0x97, script: 0xc0, flags: 0x0},\n\t1057: {region: 0x165, script: 0x57, flags: 0x0},\n\t1058: {region: 0x72, script: 0x57, flags: 0x0},\n\t1059: {region: 0x164, script: 0x57, flags: 0x0},\n\t1060: {region: 0x165, script: 0x57, flags: 0x0},\n\t1061: {region: 0xc3, script: 0x57, flags: 0x0},\n\t1062: {region: 0x165, script: 0x57, flags: 0x0},\n\t1063: {region: 0x165, script: 0x57, flags: 0x0},\n\t1064: {region: 0x165, script: 0x57, flags: 0x0},\n\t1065: {region: 0x115, script: 0x57, flags: 0x0},\n\t1066: {region: 0x165, script: 0x57, flags: 0x0},\n\t1067: {region: 0x165, script: 0x57, flags: 0x0},\n\t1068: {region: 0x123, script: 0xdf, flags: 0x0},\n\t1069: {region: 0x165, script: 0x57, flags: 0x0},\n\t1070: {region: 0x165, script: 0x57, flags: 0x0},\n\t1071: {region: 0x165, script: 0x57, flags: 0x0},\n\t1072: {region: 0x165, script: 0x57, flags: 0x0},\n\t1073: {region: 0x27, script: 0x57, flags: 0x0},\n\t1074: {region: 0x37, script: 0x5, flags: 0x1},\n\t1075: {region: 0x99, script: 0xcb, flags: 0x0},\n\t1076: {region: 0x116, script: 0x57, flags: 0x0},\n\t1077: {region: 0x114, script: 0x57, flags: 0x0},\n\t1078: {region: 0x99, script: 0x21, flags: 0x0},\n\t1079: {region: 0x161, script: 0x57, flags: 0x0},\n\t1080: {region: 0x165, script: 0x57, flags: 0x0},\n\t1081: {region: 0x165, script: 0x57, flags: 0x0},\n\t1082: {region: 0x6d, script: 0x57, flags: 0x0},\n\t1083: {region: 0x161, script: 0x57, flags: 0x0},\n\t1084: {region: 0x165, script: 0x57, flags: 0x0},\n\t1085: {region: 0x60, script: 0x57, flags: 0x0},\n\t1086: {region: 0x95, script: 0x57, flags: 0x0},\n\t1087: {region: 0x165, script: 0x57, flags: 0x0},\n\t1088: {region: 0x165, script: 0x57, flags: 0x0},\n\t1089: {region: 0x12f, script: 0x57, flags: 0x0},\n\t1090: {region: 0x165, script: 0x57, flags: 0x0},\n\t1091: {region: 0x84, script: 0x57, flags: 0x0},\n\t1092: {region: 0x10c, script: 0x57, flags: 0x0},\n\t1093: {region: 0x12f, script: 0x57, flags: 0x0},\n\t1094: {region: 0x15f, script: 0x5, flags: 0x0},\n\t1095: {region: 0x4b, script: 0x57, flags: 0x0},\n\t1096: {region: 0x60, script: 0x57, flags: 0x0},\n\t1097: {region: 0x165, script: 0x57, flags: 0x0},\n\t1098: {region: 0x99, script: 0x21, flags: 0x0},\n\t1099: {region: 0x95, script: 0x57, flags: 0x0},\n\t1100: {region: 0x165, script: 0x57, flags: 0x0},\n\t1101: {region: 0x35, script: 0xe, flags: 0x0},\n\t1102: {region: 0x9b, script: 0xcf, flags: 0x0},\n\t1103: {region: 0xe9, script: 0x57, flags: 0x0},\n\t1104: {region: 0x99, script: 0xd7, flags: 0x0},\n\t1105: {region: 0xdb, script: 0x21, flags: 0x0},\n\t1106: {region: 0x165, script: 0x57, flags: 0x0},\n\t1107: {region: 0x165, script: 0x57, flags: 0x0},\n\t1108: {region: 0x165, script: 0x57, flags: 0x0},\n\t1109: {region: 0x165, script: 0x57, flags: 0x0},\n\t1110: {region: 0x165, script: 0x57, flags: 0x0},\n\t1111: {region: 0x165, script: 0x57, flags: 0x0},\n\t1112: {region: 0x165, script: 0x57, flags: 0x0},\n\t1113: {region: 0x165, script: 0x57, flags: 0x0},\n\t1114: {region: 0xe7, script: 0x57, flags: 0x0},\n\t1115: {region: 0x165, script: 0x57, flags: 0x0},\n\t1116: {region: 0x165, script: 0x57, flags: 0x0},\n\t1117: {region: 0x99, script: 0x4f, flags: 0x0},\n\t1118: {region: 0x53, script: 0xd5, flags: 0x0},\n\t1119: {region: 0xdb, script: 0x21, flags: 0x0},\n\t1120: {region: 0xdb, script: 0x21, flags: 0x0},\n\t1121: {region: 0x99, script: 0xda, flags: 0x0},\n\t1122: {region: 0x165, script: 0x57, flags: 0x0},\n\t1123: {region: 0x112, script: 0x57, flags: 0x0},\n\t1124: {region: 0x131, script: 0x57, flags: 0x0},\n\t1125: {region: 0x126, script: 0x57, flags: 0x0},\n\t1126: {region: 0x165, script: 0x57, flags: 0x0},\n\t1127: {region: 0x3c, script: 0x3, flags: 0x1},\n\t1128: {region: 0x165, script: 0x57, flags: 0x0},\n\t1129: {region: 0x165, script: 0x57, flags: 0x0},\n\t1130: {region: 0x165, script: 0x57, flags: 0x0},\n\t1131: {region: 0x123, script: 0xdf, flags: 0x0},\n\t1132: {region: 0xdb, script: 0x21, flags: 0x0},\n\t1133: {region: 0xdb, script: 0x21, flags: 0x0},\n\t1134: {region: 0xdb, script: 0x21, flags: 0x0},\n\t1135: {region: 0x6f, script: 0x29, flags: 0x0},\n\t1136: {region: 0x165, script: 0x57, flags: 0x0},\n\t1137: {region: 0x6d, script: 0x29, flags: 0x0},\n\t1138: {region: 0x165, script: 0x57, flags: 0x0},\n\t1139: {region: 0x165, script: 0x57, flags: 0x0},\n\t1140: {region: 0x165, script: 0x57, flags: 0x0},\n\t1141: {region: 0xd6, script: 0x57, flags: 0x0},\n\t1142: {region: 0x127, script: 0x57, flags: 0x0},\n\t1143: {region: 0x125, script: 0x57, flags: 0x0},\n\t1144: {region: 0x32, script: 0x57, flags: 0x0},\n\t1145: {region: 0xdb, script: 0x21, flags: 0x0},\n\t1146: {region: 0xe7, script: 0x57, flags: 0x0},\n\t1147: {region: 0x165, script: 0x57, flags: 0x0},\n\t1148: {region: 0x165, script: 0x57, flags: 0x0},\n\t1149: {region: 0x32, script: 0x57, flags: 0x0},\n\t1150: {region: 0xd4, script: 0x57, flags: 0x0},\n\t1151: {region: 0x165, script: 0x57, flags: 0x0},\n\t1152: {region: 0x161, script: 0x57, flags: 0x0},\n\t1153: {region: 0x165, script: 0x57, flags: 0x0},\n\t1154: {region: 0x129, script: 0x57, flags: 0x0},\n\t1155: {region: 0x165, script: 0x57, flags: 0x0},\n\t1156: {region: 0xce, script: 0x57, flags: 0x0},\n\t1157: {region: 0x165, script: 0x57, flags: 0x0},\n\t1158: {region: 0xe6, script: 0x57, flags: 0x0},\n\t1159: {region: 0x165, script: 0x57, flags: 0x0},\n\t1160: {region: 0x165, script: 0x57, flags: 0x0},\n\t1161: {region: 0x165, script: 0x57, flags: 0x0},\n\t1162: {region: 0x12b, script: 0x57, flags: 0x0},\n\t1163: {region: 0x12b, script: 0x57, flags: 0x0},\n\t1164: {region: 0x12e, script: 0x57, flags: 0x0},\n\t1165: {region: 0x165, script: 0x5, flags: 0x0},\n\t1166: {region: 0x161, script: 0x57, flags: 0x0},\n\t1167: {region: 0x87, script: 0x31, flags: 0x0},\n\t1168: {region: 0xdb, script: 0x21, flags: 0x0},\n\t1169: {region: 0xe7, script: 0x57, flags: 0x0},\n\t1170: {region: 0x43, script: 0xe0, flags: 0x0},\n\t1171: {region: 0x165, script: 0x57, flags: 0x0},\n\t1172: {region: 0x106, script: 0x1f, flags: 0x0},\n\t1173: {region: 0x165, script: 0x57, flags: 0x0},\n\t1174: {region: 0x165, script: 0x57, flags: 0x0},\n\t1175: {region: 0x131, script: 0x57, flags: 0x0},\n\t1176: {region: 0x165, script: 0x57, flags: 0x0},\n\t1177: {region: 0x123, script: 0xdf, flags: 0x0},\n\t1178: {region: 0x32, script: 0x57, flags: 0x0},\n\t1179: {region: 0x165, script: 0x57, flags: 0x0},\n\t1180: {region: 0x165, script: 0x57, flags: 0x0},\n\t1181: {region: 0xce, script: 0x57, flags: 0x0},\n\t1182: {region: 0x165, script: 0x57, flags: 0x0},\n\t1183: {region: 0x165, script: 0x57, flags: 0x0},\n\t1184: {region: 0x12d, script: 0x57, flags: 0x0},\n\t1185: {region: 0x165, script: 0x57, flags: 0x0},\n\t1187: {region: 0x165, script: 0x57, flags: 0x0},\n\t1188: {region: 0xd4, script: 0x57, flags: 0x0},\n\t1189: {region: 0x53, script: 0xd8, flags: 0x0},\n\t1190: {region: 0xe5, script: 0x57, flags: 0x0},\n\t1191: {region: 0x165, script: 0x57, flags: 0x0},\n\t1192: {region: 0x106, script: 0x1f, flags: 0x0},\n\t1193: {region: 0xba, script: 0x57, flags: 0x0},\n\t1194: {region: 0x165, script: 0x57, flags: 0x0},\n\t1195: {region: 0x106, script: 0x1f, flags: 0x0},\n\t1196: {region: 0x3f, script: 0x4, flags: 0x1},\n\t1197: {region: 0x11c, script: 0xe2, flags: 0x0},\n\t1198: {region: 0x130, script: 0x1f, flags: 0x0},\n\t1199: {region: 0x75, script: 0x57, flags: 0x0},\n\t1200: {region: 0x2a, script: 0x57, flags: 0x0},\n\t1202: {region: 0x43, script: 0x3, flags: 0x1},\n\t1203: {region: 0x99, script: 0xe, flags: 0x0},\n\t1204: {region: 0xe8, script: 0x5, flags: 0x0},\n\t1205: {region: 0x165, script: 0x57, flags: 0x0},\n\t1206: {region: 0x165, script: 0x57, flags: 0x0},\n\t1207: {region: 0x165, script: 0x57, flags: 0x0},\n\t1208: {region: 0x165, script: 0x57, flags: 0x0},\n\t1209: {region: 0x165, script: 0x57, flags: 0x0},\n\t1210: {region: 0x165, script: 0x57, flags: 0x0},\n\t1211: {region: 0x165, script: 0x57, flags: 0x0},\n\t1212: {region: 0x46, script: 0x4, flags: 0x1},\n\t1213: {region: 0x165, script: 0x57, flags: 0x0},\n\t1214: {region: 0xb4, script: 0xe3, flags: 0x0},\n\t1215: {region: 0x165, script: 0x57, flags: 0x0},\n\t1216: {region: 0x161, script: 0x57, flags: 0x0},\n\t1217: {region: 0x9e, script: 0x57, flags: 0x0},\n\t1218: {region: 0x106, script: 0x57, flags: 0x0},\n\t1219: {region: 0x13e, script: 0x57, flags: 0x0},\n\t1220: {region: 0x11b, script: 0x57, flags: 0x0},\n\t1221: {region: 0x165, script: 0x57, flags: 0x0},\n\t1222: {region: 0x36, script: 0x57, flags: 0x0},\n\t1223: {region: 0x60, script: 0x57, flags: 0x0},\n\t1224: {region: 0xd1, script: 0x57, flags: 0x0},\n\t1225: {region: 0x1, script: 0x57, flags: 0x0},\n\t1226: {region: 0x106, script: 0x57, flags: 0x0},\n\t1227: {region: 0x6a, script: 0x57, flags: 0x0},\n\t1228: {region: 0x12f, script: 0x57, flags: 0x0},\n\t1229: {region: 0x165, script: 0x57, flags: 0x0},\n\t1230: {region: 0x36, script: 0x57, flags: 0x0},\n\t1231: {region: 0x4e, script: 0x57, flags: 0x0},\n\t1232: {region: 0x165, script: 0x57, flags: 0x0},\n\t1233: {region: 0x6f, script: 0x29, flags: 0x0},\n\t1234: {region: 0x165, script: 0x57, flags: 0x0},\n\t1235: {region: 0xe7, script: 0x57, flags: 0x0},\n\t1236: {region: 0x2f, script: 0x57, flags: 0x0},\n\t1237: {region: 0x99, script: 0xda, flags: 0x0},\n\t1238: {region: 0x99, script: 0x21, flags: 0x0},\n\t1239: {region: 0x165, script: 0x57, flags: 0x0},\n\t1240: {region: 0x165, script: 0x57, flags: 0x0},\n\t1241: {region: 0x165, script: 0x57, flags: 0x0},\n\t1242: {region: 0x165, script: 0x57, flags: 0x0},\n\t1243: {region: 0x165, script: 0x57, flags: 0x0},\n\t1244: {region: 0x165, script: 0x57, flags: 0x0},\n\t1245: {region: 0x165, script: 0x57, flags: 0x0},\n\t1246: {region: 0x165, script: 0x57, flags: 0x0},\n\t1247: {region: 0x165, script: 0x57, flags: 0x0},\n\t1248: {region: 0x140, script: 0x57, flags: 0x0},\n\t1249: {region: 0x165, script: 0x57, flags: 0x0},\n\t1250: {region: 0x165, script: 0x57, flags: 0x0},\n\t1251: {region: 0xa8, script: 0x5, flags: 0x0},\n\t1252: {region: 0x165, script: 0x57, flags: 0x0},\n\t1253: {region: 0x114, script: 0x57, flags: 0x0},\n\t1254: {region: 0x165, script: 0x57, flags: 0x0},\n\t1255: {region: 0x165, script: 0x57, flags: 0x0},\n\t1256: {region: 0x165, script: 0x57, flags: 0x0},\n\t1257: {region: 0x165, script: 0x57, flags: 0x0},\n\t1258: {region: 0x99, script: 0x21, flags: 0x0},\n\t1259: {region: 0x53, script: 0x38, flags: 0x0},\n\t1260: {region: 0x165, script: 0x57, flags: 0x0},\n\t1261: {region: 0x165, script: 0x57, flags: 0x0},\n\t1262: {region: 0x41, script: 0x57, flags: 0x0},\n\t1263: {region: 0x165, script: 0x57, flags: 0x0},\n\t1264: {region: 0x12b, script: 0x18, flags: 0x0},\n\t1265: {region: 0x165, script: 0x57, flags: 0x0},\n\t1266: {region: 0x161, script: 0x57, flags: 0x0},\n\t1267: {region: 0x165, script: 0x57, flags: 0x0},\n\t1268: {region: 0x12b, script: 0x5f, flags: 0x0},\n\t1269: {region: 0x12b, script: 0x60, flags: 0x0},\n\t1270: {region: 0x7d, script: 0x2b, flags: 0x0},\n\t1271: {region: 0x53, script: 0x64, flags: 0x0},\n\t1272: {region: 0x10b, script: 0x69, flags: 0x0},\n\t1273: {region: 0x108, script: 0x73, flags: 0x0},\n\t1274: {region: 0x99, script: 0x21, flags: 0x0},\n\t1275: {region: 0x131, script: 0x57, flags: 0x0},\n\t1276: {region: 0x165, script: 0x57, flags: 0x0},\n\t1277: {region: 0x9c, script: 0x8a, flags: 0x0},\n\t1278: {region: 0x165, script: 0x57, flags: 0x0},\n\t1279: {region: 0x15e, script: 0xc2, flags: 0x0},\n\t1280: {region: 0x165, script: 0x57, flags: 0x0},\n\t1281: {region: 0x165, script: 0x57, flags: 0x0},\n\t1282: {region: 0xdb, script: 0x21, flags: 0x0},\n\t1283: {region: 0x165, script: 0x57, flags: 0x0},\n\t1284: {region: 0x165, script: 0x57, flags: 0x0},\n\t1285: {region: 0xd1, script: 0x57, flags: 0x0},\n\t1286: {region: 0x75, script: 0x57, flags: 0x0},\n\t1287: {region: 0x165, script: 0x57, flags: 0x0},\n\t1288: {region: 0x165, script: 0x57, flags: 0x0},\n\t1289: {region: 0x52, script: 0x57, flags: 0x0},\n\t1290: {region: 0x165, script: 0x57, flags: 0x0},\n\t1291: {region: 0x165, script: 0x57, flags: 0x0},\n\t1292: {region: 0x165, script: 0x57, flags: 0x0},\n\t1293: {region: 0x52, script: 0x57, flags: 0x0},\n\t1294: {region: 0x165, script: 0x57, flags: 0x0},\n\t1295: {region: 0x165, script: 0x57, flags: 0x0},\n\t1296: {region: 0x165, script: 0x57, flags: 0x0},\n\t1297: {region: 0x165, script: 0x57, flags: 0x0},\n\t1298: {region: 0x1, script: 0x3b, flags: 0x0},\n\t1299: {region: 0x165, script: 0x57, flags: 0x0},\n\t1300: {region: 0x165, script: 0x57, flags: 0x0},\n\t1301: {region: 0x165, script: 0x57, flags: 0x0},\n\t1302: {region: 0x165, script: 0x57, flags: 0x0},\n\t1303: {region: 0x165, script: 0x57, flags: 0x0},\n\t1304: {region: 0xd6, script: 0x57, flags: 0x0},\n\t1305: {region: 0x165, script: 0x57, flags: 0x0},\n\t1306: {region: 0x165, script: 0x57, flags: 0x0},\n\t1307: {region: 0x165, script: 0x57, flags: 0x0},\n\t1308: {region: 0x41, script: 0x57, flags: 0x0},\n\t1309: {region: 0x165, script: 0x57, flags: 0x0},\n\t1310: {region: 0xcf, script: 0x57, flags: 0x0},\n\t1311: {region: 0x4a, script: 0x3, flags: 0x1},\n\t1312: {region: 0x165, script: 0x57, flags: 0x0},\n\t1313: {region: 0x165, script: 0x57, flags: 0x0},\n\t1314: {region: 0x165, script: 0x57, flags: 0x0},\n\t1315: {region: 0x53, script: 0x57, flags: 0x0},\n\t1316: {region: 0x10b, script: 0x57, flags: 0x0},\n\t1318: {region: 0xa8, script: 0x5, flags: 0x0},\n\t1319: {region: 0xd9, script: 0x57, flags: 0x0},\n\t1320: {region: 0xba, script: 0xdc, flags: 0x0},\n\t1321: {region: 0x4d, script: 0x14, flags: 0x1},\n\t1322: {region: 0x53, script: 0x79, flags: 0x0},\n\t1323: {region: 0x165, script: 0x57, flags: 0x0},\n\t1324: {region: 0x122, script: 0x57, flags: 0x0},\n\t1325: {region: 0xd0, script: 0x57, flags: 0x0},\n\t1326: {region: 0x165, script: 0x57, flags: 0x0},\n\t1327: {region: 0x161, script: 0x57, flags: 0x0},\n\t1329: {region: 0x12b, script: 0x57, flags: 0x0},\n}\n\n// likelyLangList holds lists info associated with likelyLang.\n// Size: 388 bytes, 97 elements\nvar likelyLangList = [97]likelyScriptRegion{\n\t0:  {region: 0x9c, script: 0x7, flags: 0x0},\n\t1:  {region: 0xa1, script: 0x74, flags: 0x2},\n\t2:  {region: 0x11c, script: 0x80, flags: 0x2},\n\t3:  {region: 0x32, script: 0x57, flags: 0x0},\n\t4:  {region: 0x9b, script: 0x5, flags: 0x4},\n\t5:  {region: 0x9c, script: 0x5, flags: 0x4},\n\t6:  {region: 0x106, script: 0x1f, flags: 0x4},\n\t7:  {region: 0x9c, script: 0x5, flags: 0x2},\n\t8:  {region: 0x106, script: 0x1f, flags: 0x0},\n\t9:  {region: 0x38, script: 0x2c, flags: 0x2},\n\t10: {region: 0x135, script: 0x57, flags: 0x0},\n\t11: {region: 0x7b, script: 0xc5, flags: 0x2},\n\t12: {region: 0x114, script: 0x57, flags: 0x0},\n\t13: {region: 0x84, script: 0x1, flags: 0x2},\n\t14: {region: 0x5d, script: 0x1e, flags: 0x0},\n\t15: {region: 0x87, script: 0x5c, flags: 0x2},\n\t16: {region: 0xd6, script: 0x57, flags: 0x0},\n\t17: {region: 0x52, script: 0x5, flags: 0x4},\n\t18: {region: 0x10b, script: 0x5, flags: 0x4},\n\t19: {region: 0xae, script: 0x1f, flags: 0x0},\n\t20: {region: 0x24, script: 0x5, flags: 0x4},\n\t21: {region: 0x53, script: 0x5, flags: 0x4},\n\t22: {region: 0x9c, script: 0x5, flags: 0x4},\n\t23: {region: 0xc5, script: 0x5, flags: 0x4},\n\t24: {region: 0x53, script: 0x5, flags: 0x2},\n\t25: {region: 0x12b, script: 0x57, flags: 0x0},\n\t26: {region: 0xb0, script: 0x5, flags: 0x4},\n\t27: {region: 0x9b, script: 0x5, flags: 0x2},\n\t28: {region: 0xa5, script: 0x1f, flags: 0x0},\n\t29: {region: 0x53, script: 0x5, flags: 0x4},\n\t30: {region: 0x12b, script: 0x57, flags: 0x4},\n\t31: {region: 0x53, script: 0x5, flags: 0x2},\n\t32: {region: 0x12b, script: 0x57, flags: 0x2},\n\t33: {region: 0xdb, script: 0x21, flags: 0x0},\n\t34: {region: 0x99, script: 0x5a, flags: 0x2},\n\t35: {region: 0x83, script: 0x57, flags: 0x0},\n\t36: {region: 0x84, script: 0x78, flags: 0x4},\n\t37: {region: 0x84, script: 0x78, flags: 0x2},\n\t38: {region: 0xc5, script: 0x1f, flags: 0x0},\n\t39: {region: 0x53, script: 0x6d, flags: 0x4},\n\t40: {region: 0x53, script: 0x6d, flags: 0x2},\n\t41: {region: 0xd0, script: 0x57, flags: 0x0},\n\t42: {region: 0x4a, script: 0x5, flags: 0x4},\n\t43: {region: 0x95, script: 0x5, flags: 0x4},\n\t44: {region: 0x99, script: 0x33, flags: 0x0},\n\t45: {region: 0xe8, script: 0x5, flags: 0x4},\n\t46: {region: 0xe8, script: 0x5, flags: 0x2},\n\t47: {region: 0x9c, script: 0x84, flags: 0x0},\n\t48: {region: 0x53, script: 0x85, flags: 0x2},\n\t49: {region: 0xba, script: 0xdc, flags: 0x0},\n\t50: {region: 0xd9, script: 0x57, flags: 0x4},\n\t51: {region: 0xe8, script: 0x5, flags: 0x0},\n\t52: {region: 0x99, script: 0x21, flags: 0x2},\n\t53: {region: 0x99, script: 0x4c, flags: 0x2},\n\t54: {region: 0x99, script: 0xc9, flags: 0x2},\n\t55: {region: 0x105, script: 0x1f, flags: 0x0},\n\t56: {region: 0xbd, script: 0x57, flags: 0x4},\n\t57: {region: 0x104, script: 0x57, flags: 0x4},\n\t58: {region: 0x106, script: 0x57, flags: 0x4},\n\t59: {region: 0x12b, script: 0x57, flags: 0x4},\n\t60: {region: 0x124, script: 0x1f, flags: 0x0},\n\t61: {region: 0xe8, script: 0x5, flags: 0x4},\n\t62: {region: 0xe8, script: 0x5, flags: 0x2},\n\t63: {region: 0x53, script: 0x5, flags: 0x0},\n\t64: {region: 0xae, script: 0x1f, flags: 0x4},\n\t65: {region: 0xc5, script: 0x1f, flags: 0x4},\n\t66: {region: 0xae, script: 0x1f, flags: 0x2},\n\t67: {region: 0x99, script: 0xe, flags: 0x0},\n\t68: {region: 0xdb, script: 0x21, flags: 0x4},\n\t69: {region: 0xdb, script: 0x21, flags: 0x2},\n\t70: {region: 0x137, script: 0x57, flags: 0x0},\n\t71: {region: 0x24, script: 0x5, flags: 0x4},\n\t72: {region: 0x53, script: 0x1f, flags: 0x4},\n\t73: {region: 0x24, script: 0x5, flags: 0x2},\n\t74: {region: 0x8d, script: 0x39, flags: 0x0},\n\t75: {region: 0x53, script: 0x38, flags: 0x4},\n\t76: {region: 0x53, script: 0x38, flags: 0x2},\n\t77: {region: 0x53, script: 0x38, flags: 0x0},\n\t78: {region: 0x2f, script: 0x39, flags: 0x4},\n\t79: {region: 0x3e, script: 0x39, flags: 0x4},\n\t80: {region: 0x7b, script: 0x39, flags: 0x4},\n\t81: {region: 0x7e, script: 0x39, flags: 0x4},\n\t82: {region: 0x8d, script: 0x39, flags: 0x4},\n\t83: {region: 0x95, script: 0x39, flags: 0x4},\n\t84: {region: 0xc6, script: 0x39, flags: 0x4},\n\t85: {region: 0xd0, script: 0x39, flags: 0x4},\n\t86: {region: 0xe2, script: 0x39, flags: 0x4},\n\t87: {region: 0xe5, script: 0x39, flags: 0x4},\n\t88: {region: 0xe7, script: 0x39, flags: 0x4},\n\t89: {region: 0x116, script: 0x39, flags: 0x4},\n\t90: {region: 0x123, script: 0x39, flags: 0x4},\n\t91: {region: 0x12e, script: 0x39, flags: 0x4},\n\t92: {region: 0x135, script: 0x39, flags: 0x4},\n\t93: {region: 0x13e, script: 0x39, flags: 0x4},\n\t94: {region: 0x12e, script: 0x11, flags: 0x2},\n\t95: {region: 0x12e, script: 0x34, flags: 0x2},\n\t96: {region: 0x12e, script: 0x39, flags: 0x2},\n}\n\ntype likelyLangScript struct {\n\tlang   uint16\n\tscript uint8\n\tflags  uint8\n}\n\n// likelyRegion is a lookup table, indexed by regionID, for the most likely\n// languages and scripts given incomplete information. If more entries exist\n// for a given regionID, lang and script are the index and size respectively\n// of the list in likelyRegionList.\n// TODO: exclude containers and user-definable regions from the list.\n// Size: 1432 bytes, 358 elements\nvar likelyRegion = [358]likelyLangScript{\n\t34:  {lang: 0xd7, script: 0x57, flags: 0x0},\n\t35:  {lang: 0x3a, script: 0x5, flags: 0x0},\n\t36:  {lang: 0x0, script: 0x2, flags: 0x1},\n\t39:  {lang: 0x2, script: 0x2, flags: 0x1},\n\t40:  {lang: 0x4, script: 0x2, flags: 0x1},\n\t42:  {lang: 0x3c0, script: 0x57, flags: 0x0},\n\t43:  {lang: 0x0, script: 0x57, flags: 0x0},\n\t44:  {lang: 0x13e, script: 0x57, flags: 0x0},\n\t45:  {lang: 0x41b, script: 0x57, flags: 0x0},\n\t46:  {lang: 0x10d, script: 0x57, flags: 0x0},\n\t48:  {lang: 0x367, script: 0x57, flags: 0x0},\n\t49:  {lang: 0x444, script: 0x57, flags: 0x0},\n\t50:  {lang: 0x58, script: 0x57, flags: 0x0},\n\t51:  {lang: 0x6, script: 0x2, flags: 0x1},\n\t53:  {lang: 0xa5, script: 0xe, flags: 0x0},\n\t54:  {lang: 0x367, script: 0x57, flags: 0x0},\n\t55:  {lang: 0x15e, script: 0x57, flags: 0x0},\n\t56:  {lang: 0x7e, script: 0x1f, flags: 0x0},\n\t57:  {lang: 0x3a, script: 0x5, flags: 0x0},\n\t58:  {lang: 0x3d9, script: 0x57, flags: 0x0},\n\t59:  {lang: 0x15e, script: 0x57, flags: 0x0},\n\t60:  {lang: 0x15e, script: 0x57, flags: 0x0},\n\t62:  {lang: 0x31f, script: 0x57, flags: 0x0},\n\t63:  {lang: 0x13e, script: 0x57, flags: 0x0},\n\t64:  {lang: 0x3a1, script: 0x57, flags: 0x0},\n\t65:  {lang: 0x3c0, script: 0x57, flags: 0x0},\n\t67:  {lang: 0x8, script: 0x2, flags: 0x1},\n\t69:  {lang: 0x0, script: 0x57, flags: 0x0},\n\t71:  {lang: 0x71, script: 0x1f, flags: 0x0},\n\t73:  {lang: 0x512, script: 0x3b, flags: 0x2},\n\t74:  {lang: 0x31f, script: 0x5, flags: 0x2},\n\t75:  {lang: 0x445, script: 0x57, flags: 0x0},\n\t76:  {lang: 0x15e, script: 0x57, flags: 0x0},\n\t77:  {lang: 0x15e, script: 0x57, flags: 0x0},\n\t78:  {lang: 0x10d, script: 0x57, flags: 0x0},\n\t79:  {lang: 0x15e, script: 0x57, flags: 0x0},\n\t81:  {lang: 0x13e, script: 0x57, flags: 0x0},\n\t82:  {lang: 0x15e, script: 0x57, flags: 0x0},\n\t83:  {lang: 0xa, script: 0x4, flags: 0x1},\n\t84:  {lang: 0x13e, script: 0x57, flags: 0x0},\n\t85:  {lang: 0x0, script: 0x57, flags: 0x0},\n\t86:  {lang: 0x13e, script: 0x57, flags: 0x0},\n\t89:  {lang: 0x13e, script: 0x57, flags: 0x0},\n\t90:  {lang: 0x3c0, script: 0x57, flags: 0x0},\n\t91:  {lang: 0x3a1, script: 0x57, flags: 0x0},\n\t93:  {lang: 0xe, script: 0x2, flags: 0x1},\n\t94:  {lang: 0xfa, script: 0x57, flags: 0x0},\n\t96:  {lang: 0x10d, script: 0x57, flags: 0x0},\n\t98:  {lang: 0x1, script: 0x57, flags: 0x0},\n\t99:  {lang: 0x101, script: 0x57, flags: 0x0},\n\t101: {lang: 0x13e, script: 0x57, flags: 0x0},\n\t103: {lang: 0x10, script: 0x2, flags: 0x1},\n\t104: {lang: 0x13e, script: 0x57, flags: 0x0},\n\t105: {lang: 0x13e, script: 0x57, flags: 0x0},\n\t106: {lang: 0x140, script: 0x57, flags: 0x0},\n\t107: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t108: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t109: {lang: 0x46f, script: 0x29, flags: 0x0},\n\t110: {lang: 0x13e, script: 0x57, flags: 0x0},\n\t111: {lang: 0x12, script: 0x2, flags: 0x1},\n\t113: {lang: 0x10d, script: 0x57, flags: 0x0},\n\t114: {lang: 0x151, script: 0x57, flags: 0x0},\n\t115: {lang: 0x1c0, script: 0x21, flags: 0x2},\n\t118: {lang: 0x158, script: 0x57, flags: 0x0},\n\t120: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t122: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t123: {lang: 0x14, script: 0x2, flags: 0x1},\n\t125: {lang: 0x16, script: 0x3, flags: 0x1},\n\t126: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t128: {lang: 0x21, script: 0x57, flags: 0x0},\n\t130: {lang: 0x245, script: 0x57, flags: 0x0},\n\t132: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t133: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t134: {lang: 0x13e, script: 0x57, flags: 0x0},\n\t135: {lang: 0x19, script: 0x2, flags: 0x1},\n\t136: {lang: 0x0, script: 0x57, flags: 0x0},\n\t137: {lang: 0x13e, script: 0x57, flags: 0x0},\n\t139: {lang: 0x3c0, script: 0x57, flags: 0x0},\n\t141: {lang: 0x529, script: 0x39, flags: 0x0},\n\t142: {lang: 0x0, script: 0x57, flags: 0x0},\n\t143: {lang: 0x13e, script: 0x57, flags: 0x0},\n\t144: {lang: 0x1d1, script: 0x57, flags: 0x0},\n\t145: {lang: 0x1d4, script: 0x57, flags: 0x0},\n\t146: {lang: 0x1d5, script: 0x57, flags: 0x0},\n\t148: {lang: 0x13e, script: 0x57, flags: 0x0},\n\t149: {lang: 0x1b, script: 0x2, flags: 0x1},\n\t151: {lang: 0x1bc, script: 0x3b, flags: 0x0},\n\t153: {lang: 0x1d, script: 0x3, flags: 0x1},\n\t155: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t156: {lang: 0x20, script: 0x2, flags: 0x1},\n\t157: {lang: 0x1f8, script: 0x57, flags: 0x0},\n\t158: {lang: 0x1f9, script: 0x57, flags: 0x0},\n\t161: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t162: {lang: 0x200, script: 0x46, flags: 0x0},\n\t164: {lang: 0x445, script: 0x57, flags: 0x0},\n\t165: {lang: 0x28a, script: 0x1f, flags: 0x0},\n\t166: {lang: 0x22, script: 0x3, flags: 0x1},\n\t168: {lang: 0x25, script: 0x2, flags: 0x1},\n\t170: {lang: 0x254, script: 0x50, flags: 0x0},\n\t171: {lang: 0x254, script: 0x50, flags: 0x0},\n\t172: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t174: {lang: 0x3e2, script: 0x1f, flags: 0x0},\n\t175: {lang: 0x27, script: 0x2, flags: 0x1},\n\t176: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t178: {lang: 0x10d, script: 0x57, flags: 0x0},\n\t179: {lang: 0x40c, script: 0xca, flags: 0x0},\n\t181: {lang: 0x43b, script: 0x57, flags: 0x0},\n\t182: {lang: 0x2c0, script: 0x57, flags: 0x0},\n\t183: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t184: {lang: 0x2c7, script: 0x57, flags: 0x0},\n\t185: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t186: {lang: 0x29, script: 0x2, flags: 0x1},\n\t187: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t188: {lang: 0x2b, script: 0x2, flags: 0x1},\n\t189: {lang: 0x432, script: 0x57, flags: 0x0},\n\t190: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t191: {lang: 0x2f1, script: 0x57, flags: 0x0},\n\t194: {lang: 0x2d, script: 0x2, flags: 0x1},\n\t195: {lang: 0xa0, script: 0x57, flags: 0x0},\n\t196: {lang: 0x2f, script: 0x2, flags: 0x1},\n\t197: {lang: 0x31, script: 0x2, flags: 0x1},\n\t198: {lang: 0x33, script: 0x2, flags: 0x1},\n\t200: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t201: {lang: 0x35, script: 0x2, flags: 0x1},\n\t203: {lang: 0x320, script: 0x57, flags: 0x0},\n\t204: {lang: 0x37, script: 0x3, flags: 0x1},\n\t205: {lang: 0x128, script: 0xde, flags: 0x0},\n\t207: {lang: 0x13e, script: 0x57, flags: 0x0},\n\t208: {lang: 0x31f, script: 0x57, flags: 0x0},\n\t209: {lang: 0x3c0, script: 0x57, flags: 0x0},\n\t210: {lang: 0x16, script: 0x57, flags: 0x0},\n\t211: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t212: {lang: 0x1b4, script: 0x57, flags: 0x0},\n\t214: {lang: 0x1b4, script: 0x5, flags: 0x2},\n\t216: {lang: 0x13e, script: 0x57, flags: 0x0},\n\t217: {lang: 0x367, script: 0x57, flags: 0x0},\n\t218: {lang: 0x347, script: 0x57, flags: 0x0},\n\t219: {lang: 0x351, script: 0x21, flags: 0x0},\n\t225: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t226: {lang: 0x13e, script: 0x57, flags: 0x0},\n\t228: {lang: 0x13e, script: 0x57, flags: 0x0},\n\t229: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t230: {lang: 0x486, script: 0x57, flags: 0x0},\n\t231: {lang: 0x153, script: 0x57, flags: 0x0},\n\t232: {lang: 0x3a, script: 0x3, flags: 0x1},\n\t233: {lang: 0x3b3, script: 0x57, flags: 0x0},\n\t234: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t236: {lang: 0x13e, script: 0x57, flags: 0x0},\n\t237: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t238: {lang: 0x3c0, script: 0x57, flags: 0x0},\n\t240: {lang: 0x3a2, script: 0x57, flags: 0x0},\n\t241: {lang: 0x194, script: 0x57, flags: 0x0},\n\t243: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t258: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t260: {lang: 0x3d, script: 0x2, flags: 0x1},\n\t261: {lang: 0x432, script: 0x1f, flags: 0x0},\n\t262: {lang: 0x3f, script: 0x2, flags: 0x1},\n\t263: {lang: 0x3e5, script: 0x57, flags: 0x0},\n\t264: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t266: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t267: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t268: {lang: 0x41, script: 0x2, flags: 0x1},\n\t271: {lang: 0x416, script: 0x57, flags: 0x0},\n\t272: {lang: 0x347, script: 0x57, flags: 0x0},\n\t273: {lang: 0x43, script: 0x2, flags: 0x1},\n\t275: {lang: 0x1f9, script: 0x57, flags: 0x0},\n\t276: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t277: {lang: 0x429, script: 0x57, flags: 0x0},\n\t278: {lang: 0x367, script: 0x57, flags: 0x0},\n\t280: {lang: 0x3c0, script: 0x57, flags: 0x0},\n\t282: {lang: 0x13e, script: 0x57, flags: 0x0},\n\t284: {lang: 0x45, script: 0x2, flags: 0x1},\n\t288: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t289: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t290: {lang: 0x47, script: 0x2, flags: 0x1},\n\t291: {lang: 0x49, script: 0x3, flags: 0x1},\n\t292: {lang: 0x4c, script: 0x2, flags: 0x1},\n\t293: {lang: 0x477, script: 0x57, flags: 0x0},\n\t294: {lang: 0x3c0, script: 0x57, flags: 0x0},\n\t295: {lang: 0x476, script: 0x57, flags: 0x0},\n\t296: {lang: 0x4e, script: 0x2, flags: 0x1},\n\t297: {lang: 0x482, script: 0x57, flags: 0x0},\n\t299: {lang: 0x50, script: 0x4, flags: 0x1},\n\t301: {lang: 0x4a0, script: 0x57, flags: 0x0},\n\t302: {lang: 0x54, script: 0x2, flags: 0x1},\n\t303: {lang: 0x445, script: 0x57, flags: 0x0},\n\t304: {lang: 0x56, script: 0x3, flags: 0x1},\n\t305: {lang: 0x445, script: 0x57, flags: 0x0},\n\t309: {lang: 0x512, script: 0x3b, flags: 0x2},\n\t310: {lang: 0x13e, script: 0x57, flags: 0x0},\n\t311: {lang: 0x4bc, script: 0x57, flags: 0x0},\n\t312: {lang: 0x1f9, script: 0x57, flags: 0x0},\n\t315: {lang: 0x13e, script: 0x57, flags: 0x0},\n\t318: {lang: 0x4c3, script: 0x57, flags: 0x0},\n\t319: {lang: 0x8a, script: 0x57, flags: 0x0},\n\t320: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t322: {lang: 0x41b, script: 0x57, flags: 0x0},\n\t333: {lang: 0x59, script: 0x2, flags: 0x1},\n\t350: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t351: {lang: 0x5b, script: 0x2, flags: 0x1},\n\t356: {lang: 0x423, script: 0x57, flags: 0x0},\n}\n\n// likelyRegionList holds lists info associated with likelyRegion.\n// Size: 372 bytes, 93 elements\nvar likelyRegionList = [93]likelyLangScript{\n\t0:  {lang: 0x148, script: 0x5, flags: 0x0},\n\t1:  {lang: 0x476, script: 0x57, flags: 0x0},\n\t2:  {lang: 0x431, script: 0x57, flags: 0x0},\n\t3:  {lang: 0x2ff, script: 0x1f, flags: 0x0},\n\t4:  {lang: 0x1d7, script: 0x8, flags: 0x0},\n\t5:  {lang: 0x274, script: 0x57, flags: 0x0},\n\t6:  {lang: 0xb7, script: 0x57, flags: 0x0},\n\t7:  {lang: 0x432, script: 0x1f, flags: 0x0},\n\t8:  {lang: 0x12d, script: 0xe0, flags: 0x0},\n\t9:  {lang: 0x351, script: 0x21, flags: 0x0},\n\t10: {lang: 0x529, script: 0x38, flags: 0x0},\n\t11: {lang: 0x4ac, script: 0x5, flags: 0x0},\n\t12: {lang: 0x523, script: 0x57, flags: 0x0},\n\t13: {lang: 0x29a, script: 0xdf, flags: 0x0},\n\t14: {lang: 0x136, script: 0x31, flags: 0x0},\n\t15: {lang: 0x48a, script: 0x57, flags: 0x0},\n\t16: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t17: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t18: {lang: 0x27, script: 0x29, flags: 0x0},\n\t19: {lang: 0x139, script: 0x57, flags: 0x0},\n\t20: {lang: 0x26a, script: 0x5, flags: 0x2},\n\t21: {lang: 0x512, script: 0x3b, flags: 0x2},\n\t22: {lang: 0x210, script: 0x2b, flags: 0x0},\n\t23: {lang: 0x5, script: 0x1f, flags: 0x0},\n\t24: {lang: 0x274, script: 0x57, flags: 0x0},\n\t25: {lang: 0x136, script: 0x31, flags: 0x0},\n\t26: {lang: 0x2ff, script: 0x1f, flags: 0x0},\n\t27: {lang: 0x1e1, script: 0x57, flags: 0x0},\n\t28: {lang: 0x31f, script: 0x5, flags: 0x0},\n\t29: {lang: 0x1be, script: 0x21, flags: 0x0},\n\t30: {lang: 0x4b4, script: 0x5, flags: 0x0},\n\t31: {lang: 0x236, script: 0x72, flags: 0x0},\n\t32: {lang: 0x148, script: 0x5, flags: 0x0},\n\t33: {lang: 0x476, script: 0x57, flags: 0x0},\n\t34: {lang: 0x24a, script: 0x4b, flags: 0x0},\n\t35: {lang: 0xe6, script: 0x5, flags: 0x0},\n\t36: {lang: 0x226, script: 0xdf, flags: 0x0},\n\t37: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t38: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t39: {lang: 0x2b8, script: 0x54, flags: 0x0},\n\t40: {lang: 0x226, script: 0xdf, flags: 0x0},\n\t41: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t42: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t43: {lang: 0x3dc, script: 0x57, flags: 0x0},\n\t44: {lang: 0x4ae, script: 0x1f, flags: 0x0},\n\t45: {lang: 0x2ff, script: 0x1f, flags: 0x0},\n\t46: {lang: 0x431, script: 0x57, flags: 0x0},\n\t47: {lang: 0x331, script: 0x72, flags: 0x0},\n\t48: {lang: 0x213, script: 0x57, flags: 0x0},\n\t49: {lang: 0x30b, script: 0x1f, flags: 0x0},\n\t50: {lang: 0x242, script: 0x5, flags: 0x0},\n\t51: {lang: 0x529, script: 0x39, flags: 0x0},\n\t52: {lang: 0x3c0, script: 0x57, flags: 0x0},\n\t53: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t54: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t55: {lang: 0x2ed, script: 0x57, flags: 0x0},\n\t56: {lang: 0x4b4, script: 0x5, flags: 0x0},\n\t57: {lang: 0x88, script: 0x21, flags: 0x0},\n\t58: {lang: 0x4b4, script: 0x5, flags: 0x0},\n\t59: {lang: 0x4b4, script: 0x5, flags: 0x0},\n\t60: {lang: 0xbe, script: 0x21, flags: 0x0},\n\t61: {lang: 0x3dc, script: 0x57, flags: 0x0},\n\t62: {lang: 0x7e, script: 0x1f, flags: 0x0},\n\t63: {lang: 0x3e2, script: 0x1f, flags: 0x0},\n\t64: {lang: 0x267, script: 0x57, flags: 0x0},\n\t65: {lang: 0x444, script: 0x57, flags: 0x0},\n\t66: {lang: 0x512, script: 0x3b, flags: 0x0},\n\t67: {lang: 0x412, script: 0x57, flags: 0x0},\n\t68: {lang: 0x4ae, script: 0x1f, flags: 0x0},\n\t69: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t70: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t71: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t72: {lang: 0x35, script: 0x5, flags: 0x0},\n\t73: {lang: 0x46b, script: 0xdf, flags: 0x0},\n\t74: {lang: 0x2ec, script: 0x5, flags: 0x0},\n\t75: {lang: 0x30f, script: 0x72, flags: 0x0},\n\t76: {lang: 0x467, script: 0x1f, flags: 0x0},\n\t77: {lang: 0x148, script: 0x5, flags: 0x0},\n\t78: {lang: 0x3a, script: 0x5, flags: 0x0},\n\t79: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t80: {lang: 0x48a, script: 0x57, flags: 0x0},\n\t81: {lang: 0x58, script: 0x5, flags: 0x0},\n\t82: {lang: 0x219, script: 0x1f, flags: 0x0},\n\t83: {lang: 0x81, script: 0x31, flags: 0x0},\n\t84: {lang: 0x529, script: 0x39, flags: 0x0},\n\t85: {lang: 0x48c, script: 0x57, flags: 0x0},\n\t86: {lang: 0x4ae, script: 0x1f, flags: 0x0},\n\t87: {lang: 0x512, script: 0x3b, flags: 0x0},\n\t88: {lang: 0x3b3, script: 0x57, flags: 0x0},\n\t89: {lang: 0x431, script: 0x57, flags: 0x0},\n\t90: {lang: 0x432, script: 0x1f, flags: 0x0},\n\t91: {lang: 0x15e, script: 0x57, flags: 0x0},\n\t92: {lang: 0x446, script: 0x5, flags: 0x0},\n}\n\ntype likelyTag struct {\n\tlang   uint16\n\tregion uint16\n\tscript uint8\n}\n\n// Size: 198 bytes, 33 elements\nvar likelyRegionGroup = [33]likelyTag{\n\t1:  {lang: 0x139, region: 0xd6, script: 0x57},\n\t2:  {lang: 0x139, region: 0x135, script: 0x57},\n\t3:  {lang: 0x3c0, region: 0x41, script: 0x57},\n\t4:  {lang: 0x139, region: 0x2f, script: 0x57},\n\t5:  {lang: 0x139, region: 0xd6, script: 0x57},\n\t6:  {lang: 0x13e, region: 0xcf, script: 0x57},\n\t7:  {lang: 0x445, region: 0x12f, script: 0x57},\n\t8:  {lang: 0x3a, region: 0x6b, script: 0x5},\n\t9:  {lang: 0x445, region: 0x4b, script: 0x57},\n\t10: {lang: 0x139, region: 0x161, script: 0x57},\n\t11: {lang: 0x139, region: 0x135, script: 0x57},\n\t12: {lang: 0x139, region: 0x135, script: 0x57},\n\t13: {lang: 0x13e, region: 0x59, script: 0x57},\n\t14: {lang: 0x529, region: 0x53, script: 0x38},\n\t15: {lang: 0x1be, region: 0x99, script: 0x21},\n\t16: {lang: 0x1e1, region: 0x95, script: 0x57},\n\t17: {lang: 0x1f9, region: 0x9e, script: 0x57},\n\t18: {lang: 0x139, region: 0x2f, script: 0x57},\n\t19: {lang: 0x139, region: 0xe6, script: 0x57},\n\t20: {lang: 0x139, region: 0x8a, script: 0x57},\n\t21: {lang: 0x41b, region: 0x142, script: 0x57},\n\t22: {lang: 0x529, region: 0x53, script: 0x38},\n\t23: {lang: 0x4bc, region: 0x137, script: 0x57},\n\t24: {lang: 0x3a, region: 0x108, script: 0x5},\n\t25: {lang: 0x3e2, region: 0x106, script: 0x1f},\n\t26: {lang: 0x3e2, region: 0x106, script: 0x1f},\n\t27: {lang: 0x139, region: 0x7b, script: 0x57},\n\t28: {lang: 0x10d, region: 0x60, script: 0x57},\n\t29: {lang: 0x139, region: 0xd6, script: 0x57},\n\t30: {lang: 0x13e, region: 0x1f, script: 0x57},\n\t31: {lang: 0x139, region: 0x9a, script: 0x57},\n\t32: {lang: 0x139, region: 0x7b, script: 0x57},\n}\n\n// Size: 358 bytes, 358 elements\nvar regionToGroups = [358]uint8{\n\t// Entry 0 - 3F\n\t0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x04,\n\t0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00,\n\t0x00, 0x04, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00,\n\t0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x04,\n\t// Entry 40 - 7F\n\t0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00,\n\t0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x08,\n\t0x00, 0x04, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00,\n\t// Entry 80 - BF\n\t0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00,\n\t0x00, 0x04, 0x01, 0x00, 0x04, 0x02, 0x00, 0x04,\n\t0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,\n\t0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00,\n\t// Entry C0 - FF\n\t0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01,\n\t0x04, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x04, 0x00, 0x05, 0x00, 0x00, 0x00,\n\t0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t// Entry 100 - 13F\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,\n\t0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x04,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x01, 0x00, 0x05, 0x04, 0x00,\n\t0x00, 0x04, 0x00, 0x04, 0x04, 0x05, 0x00, 0x00,\n\t// Entry 140 - 17F\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n}\n\n// Size: 18 bytes, 3 elements\nvar paradigmLocales = [3][3]uint16{\n\t0: [3]uint16{0x139, 0x0, 0x7b},\n\t1: [3]uint16{0x13e, 0x0, 0x1f},\n\t2: [3]uint16{0x3c0, 0x41, 0xee},\n}\n\ntype mutualIntelligibility struct {\n\twant     uint16\n\thave     uint16\n\tdistance uint8\n\toneway   bool\n}\n\ntype scriptIntelligibility struct {\n\twantLang   uint16\n\thaveLang   uint16\n\twantScript uint8\n\thaveScript uint8\n\tdistance   uint8\n}\n\ntype regionIntelligibility struct {\n\tlang     uint16\n\tscript   uint8\n\tgroup    uint8\n\tdistance uint8\n}\n\n// matchLang holds pairs of langIDs of base languages that are typically\n// mutually intelligible. Each pair is associated with a confidence and\n// whether the intelligibility goes one or both ways.\n// Size: 678 bytes, 113 elements\nvar matchLang = [113]mutualIntelligibility{\n\t0:   {want: 0x1d1, have: 0xb7, distance: 0x4, oneway: false},\n\t1:   {want: 0x407, have: 0xb7, distance: 0x4, oneway: false},\n\t2:   {want: 0x407, have: 0x1d1, distance: 0x4, oneway: false},\n\t3:   {want: 0x407, have: 0x432, distance: 0x4, oneway: false},\n\t4:   {want: 0x43a, have: 0x1, distance: 0x4, oneway: false},\n\t5:   {want: 0x1a3, have: 0x10d, distance: 0x4, oneway: true},\n\t6:   {want: 0x295, have: 0x10d, distance: 0x4, oneway: true},\n\t7:   {want: 0x101, have: 0x36f, distance: 0x8, oneway: false},\n\t8:   {want: 0x101, have: 0x347, distance: 0x8, oneway: false},\n\t9:   {want: 0x5, have: 0x3e2, distance: 0xa, oneway: true},\n\t10:  {want: 0xd, have: 0x139, distance: 0xa, oneway: true},\n\t11:  {want: 0x16, have: 0x367, distance: 0xa, oneway: true},\n\t12:  {want: 0x21, have: 0x139, distance: 0xa, oneway: true},\n\t13:  {want: 0x56, have: 0x13e, distance: 0xa, oneway: true},\n\t14:  {want: 0x58, have: 0x3e2, distance: 0xa, oneway: true},\n\t15:  {want: 0x71, have: 0x3e2, distance: 0xa, oneway: true},\n\t16:  {want: 0x75, have: 0x139, distance: 0xa, oneway: true},\n\t17:  {want: 0x82, have: 0x1be, distance: 0xa, oneway: true},\n\t18:  {want: 0xa5, have: 0x139, distance: 0xa, oneway: true},\n\t19:  {want: 0xb2, have: 0x15e, distance: 0xa, oneway: true},\n\t20:  {want: 0xdd, have: 0x153, distance: 0xa, oneway: true},\n\t21:  {want: 0xe5, have: 0x139, distance: 0xa, oneway: true},\n\t22:  {want: 0xe9, have: 0x3a, distance: 0xa, oneway: true},\n\t23:  {want: 0xf0, have: 0x15e, distance: 0xa, oneway: true},\n\t24:  {want: 0xf9, have: 0x15e, distance: 0xa, oneway: true},\n\t25:  {want: 0x100, have: 0x139, distance: 0xa, oneway: true},\n\t26:  {want: 0x130, have: 0x139, distance: 0xa, oneway: true},\n\t27:  {want: 0x13c, have: 0x139, distance: 0xa, oneway: true},\n\t28:  {want: 0x140, have: 0x151, distance: 0xa, oneway: true},\n\t29:  {want: 0x145, have: 0x13e, distance: 0xa, oneway: true},\n\t30:  {want: 0x158, have: 0x101, distance: 0xa, oneway: true},\n\t31:  {want: 0x16d, have: 0x367, distance: 0xa, oneway: true},\n\t32:  {want: 0x16e, have: 0x139, distance: 0xa, oneway: true},\n\t33:  {want: 0x16f, have: 0x139, distance: 0xa, oneway: true},\n\t34:  {want: 0x17e, have: 0x139, distance: 0xa, oneway: true},\n\t35:  {want: 0x190, have: 0x13e, distance: 0xa, oneway: true},\n\t36:  {want: 0x194, have: 0x13e, distance: 0xa, oneway: true},\n\t37:  {want: 0x1a4, have: 0x1be, distance: 0xa, oneway: true},\n\t38:  {want: 0x1b4, have: 0x139, distance: 0xa, oneway: true},\n\t39:  {want: 0x1b8, have: 0x139, distance: 0xa, oneway: true},\n\t40:  {want: 0x1d4, have: 0x15e, distance: 0xa, oneway: true},\n\t41:  {want: 0x1d7, have: 0x3e2, distance: 0xa, oneway: true},\n\t42:  {want: 0x1d9, have: 0x139, distance: 0xa, oneway: true},\n\t43:  {want: 0x1e7, have: 0x139, distance: 0xa, oneway: true},\n\t44:  {want: 0x1f8, have: 0x139, distance: 0xa, oneway: true},\n\t45:  {want: 0x20e, have: 0x1e1, distance: 0xa, oneway: true},\n\t46:  {want: 0x210, have: 0x139, distance: 0xa, oneway: true},\n\t47:  {want: 0x22d, have: 0x15e, distance: 0xa, oneway: true},\n\t48:  {want: 0x242, have: 0x3e2, distance: 0xa, oneway: true},\n\t49:  {want: 0x24a, have: 0x139, distance: 0xa, oneway: true},\n\t50:  {want: 0x251, have: 0x139, distance: 0xa, oneway: true},\n\t51:  {want: 0x265, have: 0x139, distance: 0xa, oneway: true},\n\t52:  {want: 0x274, have: 0x48a, distance: 0xa, oneway: true},\n\t53:  {want: 0x28a, have: 0x3e2, distance: 0xa, oneway: true},\n\t54:  {want: 0x28e, have: 0x1f9, distance: 0xa, oneway: true},\n\t55:  {want: 0x2a3, have: 0x139, distance: 0xa, oneway: true},\n\t56:  {want: 0x2b5, have: 0x15e, distance: 0xa, oneway: true},\n\t57:  {want: 0x2b8, have: 0x139, distance: 0xa, oneway: true},\n\t58:  {want: 0x2be, have: 0x139, distance: 0xa, oneway: true},\n\t59:  {want: 0x2c3, have: 0x15e, distance: 0xa, oneway: true},\n\t60:  {want: 0x2ed, have: 0x139, distance: 0xa, oneway: true},\n\t61:  {want: 0x2f1, have: 0x15e, distance: 0xa, oneway: true},\n\t62:  {want: 0x2fa, have: 0x139, distance: 0xa, oneway: true},\n\t63:  {want: 0x2ff, have: 0x7e, distance: 0xa, oneway: true},\n\t64:  {want: 0x304, have: 0x139, distance: 0xa, oneway: true},\n\t65:  {want: 0x30b, have: 0x3e2, distance: 0xa, oneway: true},\n\t66:  {want: 0x31b, have: 0x1be, distance: 0xa, oneway: true},\n\t67:  {want: 0x31f, have: 0x1e1, distance: 0xa, oneway: true},\n\t68:  {want: 0x320, have: 0x139, distance: 0xa, oneway: true},\n\t69:  {want: 0x331, have: 0x139, distance: 0xa, oneway: true},\n\t70:  {want: 0x351, have: 0x139, distance: 0xa, oneway: true},\n\t71:  {want: 0x36a, have: 0x347, distance: 0xa, oneway: false},\n\t72:  {want: 0x36a, have: 0x36f, distance: 0xa, oneway: true},\n\t73:  {want: 0x37a, have: 0x139, distance: 0xa, oneway: true},\n\t74:  {want: 0x387, have: 0x139, distance: 0xa, oneway: true},\n\t75:  {want: 0x389, have: 0x139, distance: 0xa, oneway: true},\n\t76:  {want: 0x38b, have: 0x15e, distance: 0xa, oneway: true},\n\t77:  {want: 0x390, have: 0x139, distance: 0xa, oneway: true},\n\t78:  {want: 0x395, have: 0x139, distance: 0xa, oneway: true},\n\t79:  {want: 0x39d, have: 0x139, distance: 0xa, oneway: true},\n\t80:  {want: 0x3a5, have: 0x139, distance: 0xa, oneway: true},\n\t81:  {want: 0x3be, have: 0x139, distance: 0xa, oneway: true},\n\t82:  {want: 0x3c4, have: 0x13e, distance: 0xa, oneway: true},\n\t83:  {want: 0x3d4, have: 0x10d, distance: 0xa, oneway: true},\n\t84:  {want: 0x3d9, have: 0x139, distance: 0xa, oneway: true},\n\t85:  {want: 0x3e5, have: 0x15e, distance: 0xa, oneway: true},\n\t86:  {want: 0x3e9, have: 0x1be, distance: 0xa, oneway: true},\n\t87:  {want: 0x3fa, have: 0x139, distance: 0xa, oneway: true},\n\t88:  {want: 0x40c, have: 0x139, distance: 0xa, oneway: true},\n\t89:  {want: 0x423, have: 0x139, distance: 0xa, oneway: true},\n\t90:  {want: 0x429, have: 0x139, distance: 0xa, oneway: true},\n\t91:  {want: 0x431, have: 0x139, distance: 0xa, oneway: true},\n\t92:  {want: 0x43b, have: 0x139, distance: 0xa, oneway: true},\n\t93:  {want: 0x43e, have: 0x1e1, distance: 0xa, oneway: true},\n\t94:  {want: 0x445, have: 0x139, distance: 0xa, oneway: true},\n\t95:  {want: 0x450, have: 0x139, distance: 0xa, oneway: true},\n\t96:  {want: 0x461, have: 0x139, distance: 0xa, oneway: true},\n\t97:  {want: 0x467, have: 0x3e2, distance: 0xa, oneway: true},\n\t98:  {want: 0x46f, have: 0x139, distance: 0xa, oneway: true},\n\t99:  {want: 0x476, have: 0x3e2, distance: 0xa, oneway: true},\n\t100: {want: 0x3883, have: 0x139, distance: 0xa, oneway: true},\n\t101: {want: 0x480, have: 0x139, distance: 0xa, oneway: true},\n\t102: {want: 0x482, have: 0x139, distance: 0xa, oneway: true},\n\t103: {want: 0x494, have: 0x3e2, distance: 0xa, oneway: true},\n\t104: {want: 0x49d, have: 0x139, distance: 0xa, oneway: true},\n\t105: {want: 0x4ac, have: 0x529, distance: 0xa, oneway: true},\n\t106: {want: 0x4b4, have: 0x139, distance: 0xa, oneway: true},\n\t107: {want: 0x4bc, have: 0x3e2, distance: 0xa, oneway: true},\n\t108: {want: 0x4e5, have: 0x15e, distance: 0xa, oneway: true},\n\t109: {want: 0x4f2, have: 0x139, distance: 0xa, oneway: true},\n\t110: {want: 0x512, have: 0x139, distance: 0xa, oneway: true},\n\t111: {want: 0x518, have: 0x139, distance: 0xa, oneway: true},\n\t112: {want: 0x52f, have: 0x139, distance: 0xa, oneway: true},\n}\n\n// matchScript holds pairs of scriptIDs where readers of one script\n// can typically also read the other. Each is associated with a confidence.\n// Size: 208 bytes, 26 elements\nvar matchScript = [26]scriptIntelligibility{\n\t0:  {wantLang: 0x432, haveLang: 0x432, wantScript: 0x57, haveScript: 0x1f, distance: 0x5},\n\t1:  {wantLang: 0x432, haveLang: 0x432, wantScript: 0x1f, haveScript: 0x57, distance: 0x5},\n\t2:  {wantLang: 0x58, haveLang: 0x3e2, wantScript: 0x57, haveScript: 0x1f, distance: 0xa},\n\t3:  {wantLang: 0xa5, haveLang: 0x139, wantScript: 0xe, haveScript: 0x57, distance: 0xa},\n\t4:  {wantLang: 0x1d7, haveLang: 0x3e2, wantScript: 0x8, haveScript: 0x1f, distance: 0xa},\n\t5:  {wantLang: 0x210, haveLang: 0x139, wantScript: 0x2b, haveScript: 0x57, distance: 0xa},\n\t6:  {wantLang: 0x24a, haveLang: 0x139, wantScript: 0x4b, haveScript: 0x57, distance: 0xa},\n\t7:  {wantLang: 0x251, haveLang: 0x139, wantScript: 0x4f, haveScript: 0x57, distance: 0xa},\n\t8:  {wantLang: 0x2b8, haveLang: 0x139, wantScript: 0x54, haveScript: 0x57, distance: 0xa},\n\t9:  {wantLang: 0x304, haveLang: 0x139, wantScript: 0x6b, haveScript: 0x57, distance: 0xa},\n\t10: {wantLang: 0x331, haveLang: 0x139, wantScript: 0x72, haveScript: 0x57, distance: 0xa},\n\t11: {wantLang: 0x351, haveLang: 0x139, wantScript: 0x21, haveScript: 0x57, distance: 0xa},\n\t12: {wantLang: 0x395, haveLang: 0x139, wantScript: 0x7d, haveScript: 0x57, distance: 0xa},\n\t13: {wantLang: 0x39d, haveLang: 0x139, wantScript: 0x33, haveScript: 0x57, distance: 0xa},\n\t14: {wantLang: 0x3be, haveLang: 0x139, wantScript: 0x5, haveScript: 0x57, distance: 0xa},\n\t15: {wantLang: 0x3fa, haveLang: 0x139, wantScript: 0x5, haveScript: 0x57, distance: 0xa},\n\t16: {wantLang: 0x40c, haveLang: 0x139, wantScript: 0xca, haveScript: 0x57, distance: 0xa},\n\t17: {wantLang: 0x450, haveLang: 0x139, wantScript: 0xd7, haveScript: 0x57, distance: 0xa},\n\t18: {wantLang: 0x461, haveLang: 0x139, wantScript: 0xda, haveScript: 0x57, distance: 0xa},\n\t19: {wantLang: 0x46f, haveLang: 0x139, wantScript: 0x29, haveScript: 0x57, distance: 0xa},\n\t20: {wantLang: 0x476, haveLang: 0x3e2, wantScript: 0x57, haveScript: 0x1f, distance: 0xa},\n\t21: {wantLang: 0x4b4, haveLang: 0x139, wantScript: 0x5, haveScript: 0x57, distance: 0xa},\n\t22: {wantLang: 0x4bc, haveLang: 0x3e2, wantScript: 0x57, haveScript: 0x1f, distance: 0xa},\n\t23: {wantLang: 0x512, haveLang: 0x139, wantScript: 0x3b, haveScript: 0x57, distance: 0xa},\n\t24: {wantLang: 0x529, haveLang: 0x529, wantScript: 0x38, haveScript: 0x39, distance: 0xf},\n\t25: {wantLang: 0x529, haveLang: 0x529, wantScript: 0x39, haveScript: 0x38, distance: 0x13},\n}\n\n// Size: 90 bytes, 15 elements\nvar matchRegion = [15]regionIntelligibility{\n\t0:  {lang: 0x3a, script: 0x0, group: 0x4, distance: 0x4},\n\t1:  {lang: 0x3a, script: 0x0, group: 0x84, distance: 0x4},\n\t2:  {lang: 0x139, script: 0x0, group: 0x1, distance: 0x4},\n\t3:  {lang: 0x139, script: 0x0, group: 0x81, distance: 0x4},\n\t4:  {lang: 0x13e, script: 0x0, group: 0x3, distance: 0x4},\n\t5:  {lang: 0x13e, script: 0x0, group: 0x83, distance: 0x4},\n\t6:  {lang: 0x3c0, script: 0x0, group: 0x3, distance: 0x4},\n\t7:  {lang: 0x3c0, script: 0x0, group: 0x83, distance: 0x4},\n\t8:  {lang: 0x529, script: 0x39, group: 0x2, distance: 0x4},\n\t9:  {lang: 0x529, script: 0x39, group: 0x82, distance: 0x4},\n\t10: {lang: 0x3a, script: 0x0, group: 0x80, distance: 0x5},\n\t11: {lang: 0x139, script: 0x0, group: 0x80, distance: 0x5},\n\t12: {lang: 0x13e, script: 0x0, group: 0x80, distance: 0x5},\n\t13: {lang: 0x3c0, script: 0x0, group: 0x80, distance: 0x5},\n\t14: {lang: 0x529, script: 0x39, group: 0x80, distance: 0x5},\n}\n\n// Size: 264 bytes, 33 elements\nvar regionContainment = [33]uint64{\n\t// Entry 0 - 1F\n\t0x00000001ffffffff, 0x00000000200007a2, 0x0000000000003044, 0x0000000000000008,\n\t0x00000000803c0010, 0x0000000000000020, 0x0000000000000040, 0x0000000000000080,\n\t0x0000000000000100, 0x0000000000000200, 0x0000000000000400, 0x000000004000384c,\n\t0x0000000000001000, 0x0000000000002000, 0x0000000000004000, 0x0000000000008000,\n\t0x0000000000010000, 0x0000000000020000, 0x0000000000040000, 0x0000000000080000,\n\t0x0000000000100000, 0x0000000000200000, 0x0000000001c1c000, 0x0000000000800000,\n\t0x0000000001000000, 0x000000001e020000, 0x0000000004000000, 0x0000000008000000,\n\t0x0000000010000000, 0x00000000200006a0, 0x0000000040002048, 0x0000000080000000,\n\t// Entry 20 - 3F\n\t0x0000000100000000,\n}\n\n// regionInclusion maps region identifiers to sets of regions in regionInclusionBits,\n// where each set holds all groupings that are directly connected in a region\n// containment graph.\n// Size: 358 bytes, 358 elements\nvar regionInclusion = [358]uint8{\n\t// Entry 0 - 3F\n\t0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06,\n\t0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e,\n\t0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,\n\t0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e,\n\t0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x26, 0x23,\n\t0x24, 0x26, 0x27, 0x22, 0x28, 0x29, 0x2a, 0x2b,\n\t0x26, 0x2c, 0x24, 0x23, 0x26, 0x25, 0x2a, 0x2d,\n\t0x2e, 0x24, 0x2f, 0x2d, 0x26, 0x30, 0x31, 0x28,\n\t// Entry 40 - 7F\n\t0x26, 0x28, 0x26, 0x25, 0x31, 0x22, 0x32, 0x33,\n\t0x34, 0x30, 0x22, 0x27, 0x27, 0x27, 0x35, 0x2d,\n\t0x29, 0x28, 0x27, 0x36, 0x28, 0x22, 0x34, 0x23,\n\t0x21, 0x26, 0x2d, 0x26, 0x22, 0x37, 0x2e, 0x35,\n\t0x2a, 0x22, 0x2f, 0x38, 0x26, 0x26, 0x21, 0x39,\n\t0x39, 0x28, 0x38, 0x39, 0x39, 0x2f, 0x3a, 0x2f,\n\t0x20, 0x21, 0x38, 0x3b, 0x28, 0x3c, 0x2c, 0x21,\n\t0x2a, 0x35, 0x27, 0x38, 0x26, 0x24, 0x28, 0x2c,\n\t// Entry 80 - BF\n\t0x2d, 0x23, 0x30, 0x2d, 0x2d, 0x26, 0x27, 0x3a,\n\t0x22, 0x34, 0x3c, 0x2d, 0x28, 0x36, 0x22, 0x34,\n\t0x3a, 0x26, 0x2e, 0x21, 0x39, 0x31, 0x38, 0x24,\n\t0x2c, 0x25, 0x22, 0x24, 0x25, 0x2c, 0x3a, 0x2c,\n\t0x26, 0x24, 0x36, 0x21, 0x2f, 0x3d, 0x31, 0x3c,\n\t0x2f, 0x26, 0x36, 0x36, 0x24, 0x26, 0x3d, 0x31,\n\t0x24, 0x26, 0x35, 0x25, 0x2d, 0x32, 0x38, 0x2a,\n\t0x38, 0x39, 0x39, 0x35, 0x33, 0x23, 0x26, 0x2f,\n\t// Entry C0 - FF\n\t0x3c, 0x21, 0x23, 0x2d, 0x31, 0x36, 0x36, 0x3c,\n\t0x26, 0x2d, 0x26, 0x3a, 0x2f, 0x25, 0x2f, 0x34,\n\t0x31, 0x2f, 0x32, 0x3b, 0x2d, 0x2b, 0x2d, 0x21,\n\t0x34, 0x2a, 0x2c, 0x25, 0x21, 0x3c, 0x24, 0x29,\n\t0x2b, 0x24, 0x34, 0x21, 0x28, 0x29, 0x3b, 0x31,\n\t0x25, 0x2e, 0x30, 0x29, 0x26, 0x24, 0x3a, 0x21,\n\t0x3c, 0x28, 0x21, 0x24, 0x21, 0x21, 0x1f, 0x21,\n\t0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,\n\t// Entry 100 - 13F\n\t0x21, 0x21, 0x2f, 0x21, 0x2e, 0x23, 0x33, 0x2f,\n\t0x24, 0x3b, 0x2f, 0x39, 0x38, 0x31, 0x2d, 0x3a,\n\t0x2c, 0x2e, 0x2d, 0x23, 0x2d, 0x2f, 0x28, 0x2f,\n\t0x27, 0x33, 0x34, 0x26, 0x24, 0x32, 0x22, 0x26,\n\t0x27, 0x22, 0x2d, 0x31, 0x3d, 0x29, 0x31, 0x3d,\n\t0x39, 0x29, 0x31, 0x24, 0x26, 0x29, 0x36, 0x2f,\n\t0x33, 0x2f, 0x21, 0x22, 0x21, 0x30, 0x28, 0x3d,\n\t0x23, 0x26, 0x21, 0x28, 0x26, 0x26, 0x31, 0x3b,\n\t// Entry 140 - 17F\n\t0x29, 0x21, 0x29, 0x21, 0x21, 0x21, 0x21, 0x21,\n\t0x21, 0x21, 0x21, 0x21, 0x21, 0x23, 0x21, 0x21,\n\t0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,\n\t0x21, 0x21, 0x21, 0x21, 0x21, 0x24, 0x24, 0x2f,\n\t0x23, 0x32, 0x2f, 0x27, 0x2f, 0x21,\n}\n\n// regionInclusionBits is an array of bit vectors where every vector represents\n// a set of region groupings.  These sets are used to compute the distance\n// between two regions for the purpose of language matching.\n// Size: 584 bytes, 73 elements\nvar regionInclusionBits = [73]uint64{\n\t// Entry 0 - 1F\n\t0x0000000102400813, 0x00000000200007a3, 0x0000000000003844, 0x0000000040000808,\n\t0x00000000803c0011, 0x0000000020000022, 0x0000000040000844, 0x0000000020000082,\n\t0x0000000000000102, 0x0000000020000202, 0x0000000020000402, 0x000000004000384d,\n\t0x0000000000001804, 0x0000000040002804, 0x0000000000404000, 0x0000000000408000,\n\t0x0000000000410000, 0x0000000002020000, 0x0000000000040010, 0x0000000000080010,\n\t0x0000000000100010, 0x0000000000200010, 0x0000000001c1c001, 0x0000000000c00000,\n\t0x0000000001400000, 0x000000001e020001, 0x0000000006000000, 0x000000000a000000,\n\t0x0000000012000000, 0x00000000200006a2, 0x0000000040002848, 0x0000000080000010,\n\t// Entry 20 - 3F\n\t0x0000000100000001, 0x0000000000000001, 0x0000000080000000, 0x0000000000020000,\n\t0x0000000001000000, 0x0000000000008000, 0x0000000000002000, 0x0000000000000200,\n\t0x0000000000000008, 0x0000000000200000, 0x0000000110000000, 0x0000000000040000,\n\t0x0000000008000000, 0x0000000000000020, 0x0000000104000000, 0x0000000000000080,\n\t0x0000000000001000, 0x0000000000010000, 0x0000000000000400, 0x0000000004000000,\n\t0x0000000000000040, 0x0000000010000000, 0x0000000000004000, 0x0000000101000000,\n\t0x0000000108000000, 0x0000000000000100, 0x0000000100020000, 0x0000000000080000,\n\t0x0000000000100000, 0x0000000000800000, 0x00000001ffffffff, 0x0000000122400fb3,\n\t// Entry 40 - 5F\n\t0x00000001827c0813, 0x000000014240385f, 0x0000000103c1c813, 0x000000011e420813,\n\t0x0000000112000001, 0x0000000106000001, 0x0000000101400001, 0x000000010a000001,\n\t0x0000000102020001,\n}\n\n// regionInclusionNext marks, for each entry in regionInclusionBits, the set of\n// all groups that are reachable from the groups set in the respective entry.\n// Size: 73 bytes, 73 elements\nvar regionInclusionNext = [73]uint8{\n\t// Entry 0 - 3F\n\t0x3e, 0x3f, 0x0b, 0x0b, 0x40, 0x01, 0x0b, 0x01,\n\t0x01, 0x01, 0x01, 0x41, 0x0b, 0x0b, 0x16, 0x16,\n\t0x16, 0x19, 0x04, 0x04, 0x04, 0x04, 0x42, 0x16,\n\t0x16, 0x43, 0x19, 0x19, 0x19, 0x01, 0x0b, 0x04,\n\t0x00, 0x00, 0x1f, 0x11, 0x18, 0x0f, 0x0d, 0x09,\n\t0x03, 0x15, 0x44, 0x12, 0x1b, 0x05, 0x45, 0x07,\n\t0x0c, 0x10, 0x0a, 0x1a, 0x06, 0x1c, 0x0e, 0x46,\n\t0x47, 0x08, 0x48, 0x13, 0x14, 0x17, 0x3e, 0x3e,\n\t// Entry 40 - 7F\n\t0x3e, 0x3e, 0x3e, 0x3e, 0x43, 0x43, 0x42, 0x43,\n\t0x43,\n}\n\ntype parentRel struct {\n\tlang       uint16\n\tscript     uint8\n\tmaxScript  uint8\n\ttoRegion   uint16\n\tfromRegion []uint16\n}\n\n// Size: 414 bytes, 5 elements\nvar parents = [5]parentRel{\n\t0: {lang: 0x139, script: 0x0, maxScript: 0x57, toRegion: 0x1, fromRegion: []uint16{0x1a, 0x25, 0x26, 0x2f, 0x34, 0x36, 0x3d, 0x42, 0x46, 0x48, 0x49, 0x4a, 0x50, 0x52, 0x5c, 0x5d, 0x61, 0x64, 0x6d, 0x73, 0x74, 0x75, 0x7b, 0x7c, 0x7f, 0x80, 0x81, 0x83, 0x8c, 0x8d, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9f, 0xa0, 0xa4, 0xa7, 0xa9, 0xad, 0xb1, 0xb4, 0xb5, 0xbf, 0xc6, 0xca, 0xcb, 0xcc, 0xce, 0xd0, 0xd2, 0xd5, 0xd6, 0xdd, 0xdf, 0xe0, 0xe6, 0xe7, 0xe8, 0xeb, 0xf0, 0x107, 0x109, 0x10a, 0x10b, 0x10d, 0x10e, 0x112, 0x117, 0x11b, 0x11d, 0x11f, 0x125, 0x129, 0x12c, 0x12d, 0x12f, 0x131, 0x139, 0x13c, 0x13f, 0x142, 0x161, 0x162, 0x164}},\n\t1: {lang: 0x139, script: 0x0, maxScript: 0x57, toRegion: 0x1a, fromRegion: []uint16{0x2e, 0x4e, 0x60, 0x63, 0x72, 0xd9, 0x10c, 0x10f}},\n\t2: {lang: 0x13e, script: 0x0, maxScript: 0x57, toRegion: 0x1f, fromRegion: []uint16{0x2c, 0x3f, 0x41, 0x48, 0x51, 0x54, 0x56, 0x59, 0x65, 0x69, 0x89, 0x8f, 0xcf, 0xd8, 0xe2, 0xe4, 0xec, 0xf1, 0x11a, 0x135, 0x136, 0x13b}},\n\t3: {lang: 0x3c0, script: 0x0, maxScript: 0x57, toRegion: 0xee, fromRegion: []uint16{0x2a, 0x4e, 0x5a, 0x86, 0x8b, 0xb7, 0xc6, 0xd1, 0x118, 0x126}},\n\t4: {lang: 0x529, script: 0x39, maxScript: 0x39, toRegion: 0x8d, fromRegion: []uint16{0xc6}},\n}\n\n// Total table size 27238 bytes (26KiB); checksum: C9BBE4D5\n"
  },
  {
    "path": "vendor/golang.org/x/text/language/tags.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage language\n\n// TODO: Various sets of commonly use tags and regions.\n\n// MustParse is like Parse, but panics if the given BCP 47 tag cannot be parsed.\n// It simplifies safe initialization of Tag values.\nfunc MustParse(s string) Tag {\n\tt, err := Parse(s)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\treturn t\n}\n\n// MustParse is like Parse, but panics if the given BCP 47 tag cannot be parsed.\n// It simplifies safe initialization of Tag values.\nfunc (c CanonType) MustParse(s string) Tag {\n\tt, err := c.Parse(s)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\treturn t\n}\n\n// MustParseBase is like ParseBase, but panics if the given base cannot be parsed.\n// It simplifies safe initialization of Base values.\nfunc MustParseBase(s string) Base {\n\tb, err := ParseBase(s)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\treturn b\n}\n\n// MustParseScript is like ParseScript, but panics if the given script cannot be\n// parsed. It simplifies safe initialization of Script values.\nfunc MustParseScript(s string) Script {\n\tscr, err := ParseScript(s)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\treturn scr\n}\n\n// MustParseRegion is like ParseRegion, but panics if the given region cannot be\n// parsed. It simplifies safe initialization of Region values.\nfunc MustParseRegion(s string) Region {\n\tr, err := ParseRegion(s)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\treturn r\n}\n\nvar (\n\tund = Tag{}\n\n\tUnd Tag = Tag{}\n\n\tAfrikaans            Tag = Tag{lang: _af}                //  af\n\tAmharic              Tag = Tag{lang: _am}                //  am\n\tArabic               Tag = Tag{lang: _ar}                //  ar\n\tModernStandardArabic Tag = Tag{lang: _ar, region: _001}  //  ar-001\n\tAzerbaijani          Tag = Tag{lang: _az}                //  az\n\tBulgarian            Tag = Tag{lang: _bg}                //  bg\n\tBengali              Tag = Tag{lang: _bn}                //  bn\n\tCatalan              Tag = Tag{lang: _ca}                //  ca\n\tCzech                Tag = Tag{lang: _cs}                //  cs\n\tDanish               Tag = Tag{lang: _da}                //  da\n\tGerman               Tag = Tag{lang: _de}                //  de\n\tGreek                Tag = Tag{lang: _el}                //  el\n\tEnglish              Tag = Tag{lang: _en}                //  en\n\tAmericanEnglish      Tag = Tag{lang: _en, region: _US}   //  en-US\n\tBritishEnglish       Tag = Tag{lang: _en, region: _GB}   //  en-GB\n\tSpanish              Tag = Tag{lang: _es}                //  es\n\tEuropeanSpanish      Tag = Tag{lang: _es, region: _ES}   //  es-ES\n\tLatinAmericanSpanish Tag = Tag{lang: _es, region: _419}  //  es-419\n\tEstonian             Tag = Tag{lang: _et}                //  et\n\tPersian              Tag = Tag{lang: _fa}                //  fa\n\tFinnish              Tag = Tag{lang: _fi}                //  fi\n\tFilipino             Tag = Tag{lang: _fil}               //  fil\n\tFrench               Tag = Tag{lang: _fr}                //  fr\n\tCanadianFrench       Tag = Tag{lang: _fr, region: _CA}   //  fr-CA\n\tGujarati             Tag = Tag{lang: _gu}                //  gu\n\tHebrew               Tag = Tag{lang: _he}                //  he\n\tHindi                Tag = Tag{lang: _hi}                //  hi\n\tCroatian             Tag = Tag{lang: _hr}                //  hr\n\tHungarian            Tag = Tag{lang: _hu}                //  hu\n\tArmenian             Tag = Tag{lang: _hy}                //  hy\n\tIndonesian           Tag = Tag{lang: _id}                //  id\n\tIcelandic            Tag = Tag{lang: _is}                //  is\n\tItalian              Tag = Tag{lang: _it}                //  it\n\tJapanese             Tag = Tag{lang: _ja}                //  ja\n\tGeorgian             Tag = Tag{lang: _ka}                //  ka\n\tKazakh               Tag = Tag{lang: _kk}                //  kk\n\tKhmer                Tag = Tag{lang: _km}                //  km\n\tKannada              Tag = Tag{lang: _kn}                //  kn\n\tKorean               Tag = Tag{lang: _ko}                //  ko\n\tKirghiz              Tag = Tag{lang: _ky}                //  ky\n\tLao                  Tag = Tag{lang: _lo}                //  lo\n\tLithuanian           Tag = Tag{lang: _lt}                //  lt\n\tLatvian              Tag = Tag{lang: _lv}                //  lv\n\tMacedonian           Tag = Tag{lang: _mk}                //  mk\n\tMalayalam            Tag = Tag{lang: _ml}                //  ml\n\tMongolian            Tag = Tag{lang: _mn}                //  mn\n\tMarathi              Tag = Tag{lang: _mr}                //  mr\n\tMalay                Tag = Tag{lang: _ms}                //  ms\n\tBurmese              Tag = Tag{lang: _my}                //  my\n\tNepali               Tag = Tag{lang: _ne}                //  ne\n\tDutch                Tag = Tag{lang: _nl}                //  nl\n\tNorwegian            Tag = Tag{lang: _no}                //  no\n\tPunjabi              Tag = Tag{lang: _pa}                //  pa\n\tPolish               Tag = Tag{lang: _pl}                //  pl\n\tPortuguese           Tag = Tag{lang: _pt}                //  pt\n\tBrazilianPortuguese  Tag = Tag{lang: _pt, region: _BR}   //  pt-BR\n\tEuropeanPortuguese   Tag = Tag{lang: _pt, region: _PT}   //  pt-PT\n\tRomanian             Tag = Tag{lang: _ro}                //  ro\n\tRussian              Tag = Tag{lang: _ru}                //  ru\n\tSinhala              Tag = Tag{lang: _si}                //  si\n\tSlovak               Tag = Tag{lang: _sk}                //  sk\n\tSlovenian            Tag = Tag{lang: _sl}                //  sl\n\tAlbanian             Tag = Tag{lang: _sq}                //  sq\n\tSerbian              Tag = Tag{lang: _sr}                //  sr\n\tSerbianLatin         Tag = Tag{lang: _sr, script: _Latn} //  sr-Latn\n\tSwedish              Tag = Tag{lang: _sv}                //  sv\n\tSwahili              Tag = Tag{lang: _sw}                //  sw\n\tTamil                Tag = Tag{lang: _ta}                //  ta\n\tTelugu               Tag = Tag{lang: _te}                //  te\n\tThai                 Tag = Tag{lang: _th}                //  th\n\tTurkish              Tag = Tag{lang: _tr}                //  tr\n\tUkrainian            Tag = Tag{lang: _uk}                //  uk\n\tUrdu                 Tag = Tag{lang: _ur}                //  ur\n\tUzbek                Tag = Tag{lang: _uz}                //  uz\n\tVietnamese           Tag = Tag{lang: _vi}                //  vi\n\tChinese              Tag = Tag{lang: _zh}                //  zh\n\tSimplifiedChinese    Tag = Tag{lang: _zh, script: _Hans} //  zh-Hans\n\tTraditionalChinese   Tag = Tag{lang: _zh, script: _Hant} //  zh-Hant\n\tZulu                 Tag = Tag{lang: _zu}                //  zu\n)\n"
  },
  {
    "path": "vendor/golang.org/x/text/secure/bidirule/bidirule.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package bidirule implements the Bidi Rule defined by RFC 5893.\n//\n// This package is under development. The API may change without notice and\n// without preserving backward compatibility.\npackage bidirule\n\nimport (\n\t\"errors\"\n\t\"unicode/utf8\"\n\n\t\"golang.org/x/text/transform\"\n\t\"golang.org/x/text/unicode/bidi\"\n)\n\n// This file contains an implementation of RFC 5893: Right-to-Left Scripts for\n// Internationalized Domain Names for Applications (IDNA)\n//\n// A label is an individual component of a domain name.  Labels are usually\n// shown separated by dots; for example, the domain name \"www.example.com\" is\n// composed of three labels: \"www\", \"example\", and \"com\".\n//\n// An RTL label is a label that contains at least one character of class R, AL,\n// or AN. An LTR label is any label that is not an RTL label.\n//\n// A \"Bidi domain name\" is a domain name that contains at least one RTL label.\n//\n//  The following guarantees can be made based on the above:\n//\n//  o  In a domain name consisting of only labels that satisfy the rule,\n//     the requirements of Section 3 are satisfied.  Note that even LTR\n//     labels and pure ASCII labels have to be tested.\n//\n//  o  In a domain name consisting of only LDH labels (as defined in the\n//     Definitions document [RFC5890]) and labels that satisfy the rule,\n//     the requirements of Section 3 are satisfied as long as a label\n//     that starts with an ASCII digit does not come after a\n//     right-to-left label.\n//\n//  No guarantee is given for other combinations.\n\n// ErrInvalid indicates a label is invalid according to the Bidi Rule.\nvar ErrInvalid = errors.New(\"bidirule: failed Bidi Rule\")\n\ntype ruleState uint8\n\nconst (\n\truleInitial ruleState = iota\n\truleLTR\n\truleLTRFinal\n\truleRTL\n\truleRTLFinal\n\truleInvalid\n)\n\ntype ruleTransition struct {\n\tnext ruleState\n\tmask uint16\n}\n\nvar transitions = [...][2]ruleTransition{\n\t// [2.1] The first character must be a character with Bidi property L, R, or\n\t// AL. If it has the R or AL property, it is an RTL label; if it has the L\n\t// property, it is an LTR label.\n\truleInitial: {\n\t\t{ruleLTRFinal, 1 << bidi.L},\n\t\t{ruleRTLFinal, 1<<bidi.R | 1<<bidi.AL},\n\t},\n\truleRTL: {\n\t\t// [2.3] In an RTL label, the end of the label must be a character with\n\t\t// Bidi property R, AL, EN, or AN, followed by zero or more characters\n\t\t// with Bidi property NSM.\n\t\t{ruleRTLFinal, 1<<bidi.R | 1<<bidi.AL | 1<<bidi.EN | 1<<bidi.AN},\n\n\t\t// [2.2] In an RTL label, only characters with the Bidi properties R,\n\t\t// AL, AN, EN, ES, CS, ET, ON, BN, or NSM are allowed.\n\t\t// We exclude the entries from [2.3]\n\t\t{ruleRTL, 1<<bidi.ES | 1<<bidi.CS | 1<<bidi.ET | 1<<bidi.ON | 1<<bidi.BN | 1<<bidi.NSM},\n\t},\n\truleRTLFinal: {\n\t\t// [2.3] In an RTL label, the end of the label must be a character with\n\t\t// Bidi property R, AL, EN, or AN, followed by zero or more characters\n\t\t// with Bidi property NSM.\n\t\t{ruleRTLFinal, 1<<bidi.R | 1<<bidi.AL | 1<<bidi.EN | 1<<bidi.AN | 1<<bidi.NSM},\n\n\t\t// [2.2] In an RTL label, only characters with the Bidi properties R,\n\t\t// AL, AN, EN, ES, CS, ET, ON, BN, or NSM are allowed.\n\t\t// We exclude the entries from [2.3] and NSM.\n\t\t{ruleRTL, 1<<bidi.ES | 1<<bidi.CS | 1<<bidi.ET | 1<<bidi.ON | 1<<bidi.BN},\n\t},\n\truleLTR: {\n\t\t// [2.6] In an LTR label, the end of the label must be a character with\n\t\t// Bidi property L or EN, followed by zero or more characters with Bidi\n\t\t// property NSM.\n\t\t{ruleLTRFinal, 1<<bidi.L | 1<<bidi.EN},\n\n\t\t// [2.5] In an LTR label, only characters with the Bidi properties L,\n\t\t// EN, ES, CS, ET, ON, BN, or NSM are allowed.\n\t\t// We exclude the entries from [2.6].\n\t\t{ruleLTR, 1<<bidi.ES | 1<<bidi.CS | 1<<bidi.ET | 1<<bidi.ON | 1<<bidi.BN | 1<<bidi.NSM},\n\t},\n\truleLTRFinal: {\n\t\t// [2.6] In an LTR label, the end of the label must be a character with\n\t\t// Bidi property L or EN, followed by zero or more characters with Bidi\n\t\t// property NSM.\n\t\t{ruleLTRFinal, 1<<bidi.L | 1<<bidi.EN | 1<<bidi.NSM},\n\n\t\t// [2.5] In an LTR label, only characters with the Bidi properties L,\n\t\t// EN, ES, CS, ET, ON, BN, or NSM are allowed.\n\t\t// We exclude the entries from [2.6].\n\t\t{ruleLTR, 1<<bidi.ES | 1<<bidi.CS | 1<<bidi.ET | 1<<bidi.ON | 1<<bidi.BN},\n\t},\n\truleInvalid: {\n\t\t{ruleInvalid, 0},\n\t\t{ruleInvalid, 0},\n\t},\n}\n\n// [2.4] In an RTL label, if an EN is present, no AN may be present, and\n// vice versa.\nconst exclusiveRTL = uint16(1<<bidi.EN | 1<<bidi.AN)\n\n// From RFC 5893\n// An RTL label is a label that contains at least one character of type\n// R, AL, or AN.\n//\n// An LTR label is any label that is not an RTL label.\n\n// Direction reports the direction of the given label as defined by RFC 5893.\n// The Bidi Rule does not have to be applied to labels of the category\n// LeftToRight.\nfunc Direction(b []byte) bidi.Direction {\n\tfor i := 0; i < len(b); {\n\t\te, sz := bidi.Lookup(b[i:])\n\t\tif sz == 0 {\n\t\t\ti++\n\t\t}\n\t\tc := e.Class()\n\t\tif c == bidi.R || c == bidi.AL || c == bidi.AN {\n\t\t\treturn bidi.RightToLeft\n\t\t}\n\t\ti += sz\n\t}\n\treturn bidi.LeftToRight\n}\n\n// DirectionString reports the direction of the given label as defined by RFC\n// 5893. The Bidi Rule does not have to be applied to labels of the category\n// LeftToRight.\nfunc DirectionString(s string) bidi.Direction {\n\tfor i := 0; i < len(s); {\n\t\te, sz := bidi.LookupString(s[i:])\n\t\tif sz == 0 {\n\t\t\ti++\n\t\t\tcontinue\n\t\t}\n\t\tc := e.Class()\n\t\tif c == bidi.R || c == bidi.AL || c == bidi.AN {\n\t\t\treturn bidi.RightToLeft\n\t\t}\n\t\ti += sz\n\t}\n\treturn bidi.LeftToRight\n}\n\n// Valid reports whether b conforms to the BiDi rule.\nfunc Valid(b []byte) bool {\n\tvar t Transformer\n\tif n, ok := t.advance(b); !ok || n < len(b) {\n\t\treturn false\n\t}\n\treturn t.isFinal()\n}\n\n// ValidString reports whether s conforms to the BiDi rule.\nfunc ValidString(s string) bool {\n\tvar t Transformer\n\tif n, ok := t.advanceString(s); !ok || n < len(s) {\n\t\treturn false\n\t}\n\treturn t.isFinal()\n}\n\n// New returns a Transformer that verifies that input adheres to the Bidi Rule.\nfunc New() *Transformer {\n\treturn &Transformer{}\n}\n\n// Transformer implements transform.Transform.\ntype Transformer struct {\n\tstate  ruleState\n\thasRTL bool\n\tseen   uint16\n}\n\n// A rule can only be violated for \"Bidi Domain names\", meaning if one of the\n// following categories has been observed.\nfunc (t *Transformer) isRTL() bool {\n\tconst isRTL = 1<<bidi.R | 1<<bidi.AL | 1<<bidi.AN\n\treturn t.seen&isRTL != 0\n}\n\n// Reset implements transform.Transformer.\nfunc (t *Transformer) Reset() { *t = Transformer{} }\n\n// Transform implements transform.Transformer. This Transformer has state and\n// needs to be reset between uses.\nfunc (t *Transformer) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {\n\tif len(dst) < len(src) {\n\t\tsrc = src[:len(dst)]\n\t\tatEOF = false\n\t\terr = transform.ErrShortDst\n\t}\n\tn, err1 := t.Span(src, atEOF)\n\tcopy(dst, src[:n])\n\tif err == nil || err1 != nil && err1 != transform.ErrShortSrc {\n\t\terr = err1\n\t}\n\treturn n, n, err\n}\n\n// Span returns the first n bytes of src that conform to the Bidi rule.\nfunc (t *Transformer) Span(src []byte, atEOF bool) (n int, err error) {\n\tif t.state == ruleInvalid && t.isRTL() {\n\t\treturn 0, ErrInvalid\n\t}\n\tn, ok := t.advance(src)\n\tswitch {\n\tcase !ok:\n\t\terr = ErrInvalid\n\tcase n < len(src):\n\t\tif !atEOF {\n\t\t\terr = transform.ErrShortSrc\n\t\t\tbreak\n\t\t}\n\t\terr = ErrInvalid\n\tcase !t.isFinal():\n\t\terr = ErrInvalid\n\t}\n\treturn n, err\n}\n\n// Precomputing the ASCII values decreases running time for the ASCII fast path\n// by about 30%.\nvar asciiTable [128]bidi.Properties\n\nfunc init() {\n\tfor i := range asciiTable {\n\t\tp, _ := bidi.LookupRune(rune(i))\n\t\tasciiTable[i] = p\n\t}\n}\n\nfunc (t *Transformer) advance(s []byte) (n int, ok bool) {\n\tvar e bidi.Properties\n\tvar sz int\n\tfor n < len(s) {\n\t\tif s[n] < utf8.RuneSelf {\n\t\t\te, sz = asciiTable[s[n]], 1\n\t\t} else {\n\t\t\te, sz = bidi.Lookup(s[n:])\n\t\t\tif sz <= 1 {\n\t\t\t\tif sz == 1 {\n\t\t\t\t\t// We always consider invalid UTF-8 to be invalid, even if\n\t\t\t\t\t// the string has not yet been determined to be RTL.\n\t\t\t\t\t// TODO: is this correct?\n\t\t\t\t\treturn n, false\n\t\t\t\t}\n\t\t\t\treturn n, true // incomplete UTF-8 encoding\n\t\t\t}\n\t\t}\n\t\t// TODO: using CompactClass would result in noticeable speedup.\n\t\t// See unicode/bidi/prop.go:Properties.CompactClass.\n\t\tc := uint16(1 << e.Class())\n\t\tt.seen |= c\n\t\tif t.seen&exclusiveRTL == exclusiveRTL {\n\t\t\tt.state = ruleInvalid\n\t\t\treturn n, false\n\t\t}\n\t\tswitch tr := transitions[t.state]; {\n\t\tcase tr[0].mask&c != 0:\n\t\t\tt.state = tr[0].next\n\t\tcase tr[1].mask&c != 0:\n\t\t\tt.state = tr[1].next\n\t\tdefault:\n\t\t\tt.state = ruleInvalid\n\t\t\tif t.isRTL() {\n\t\t\t\treturn n, false\n\t\t\t}\n\t\t}\n\t\tn += sz\n\t}\n\treturn n, true\n}\n\nfunc (t *Transformer) advanceString(s string) (n int, ok bool) {\n\tvar e bidi.Properties\n\tvar sz int\n\tfor n < len(s) {\n\t\tif s[n] < utf8.RuneSelf {\n\t\t\te, sz = asciiTable[s[n]], 1\n\t\t} else {\n\t\t\te, sz = bidi.LookupString(s[n:])\n\t\t\tif sz <= 1 {\n\t\t\t\tif sz == 1 {\n\t\t\t\t\treturn n, false // invalid UTF-8\n\t\t\t\t}\n\t\t\t\treturn n, true // incomplete UTF-8 encoding\n\t\t\t}\n\t\t}\n\t\t// TODO: using CompactClass results in noticeable speedup.\n\t\t// See unicode/bidi/prop.go:Properties.CompactClass.\n\t\tc := uint16(1 << e.Class())\n\t\tt.seen |= c\n\t\tif t.seen&exclusiveRTL == exclusiveRTL {\n\t\t\tt.state = ruleInvalid\n\t\t\treturn n, false\n\t\t}\n\t\tswitch tr := transitions[t.state]; {\n\t\tcase tr[0].mask&c != 0:\n\t\t\tt.state = tr[0].next\n\t\tcase tr[1].mask&c != 0:\n\t\t\tt.state = tr[1].next\n\t\tdefault:\n\t\t\tt.state = ruleInvalid\n\t\t\tif t.isRTL() {\n\t\t\t\treturn n, false\n\t\t\t}\n\t\t}\n\t\tn += sz\n\t}\n\treturn n, true\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build go1.10\n\npackage bidirule\n\nfunc (t *Transformer) isFinal() bool {\n\treturn t.state == ruleLTRFinal || t.state == ruleRTLFinal || t.state == ruleInitial\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build !go1.10\n\npackage bidirule\n\nfunc (t *Transformer) isFinal() bool {\n\tif !t.isRTL() {\n\t\treturn true\n\t}\n\treturn t.state == ruleLTRFinal || t.state == ruleRTLFinal || t.state == ruleInitial\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/transform/transform.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package transform provides reader and writer wrappers that transform the\n// bytes passing through as well as various transformations. Example\n// transformations provided by other packages include normalization and\n// conversion between character sets.\npackage transform // import \"golang.org/x/text/transform\"\n\nimport (\n\t\"bytes\"\n\t\"errors\"\n\t\"io\"\n\t\"unicode/utf8\"\n)\n\nvar (\n\t// ErrShortDst means that the destination buffer was too short to\n\t// receive all of the transformed bytes.\n\tErrShortDst = errors.New(\"transform: short destination buffer\")\n\n\t// ErrShortSrc means that the source buffer has insufficient data to\n\t// complete the transformation.\n\tErrShortSrc = errors.New(\"transform: short source buffer\")\n\n\t// ErrEndOfSpan means that the input and output (the transformed input)\n\t// are not identical.\n\tErrEndOfSpan = errors.New(\"transform: input and output are not identical\")\n\n\t// errInconsistentByteCount means that Transform returned success (nil\n\t// error) but also returned nSrc inconsistent with the src argument.\n\terrInconsistentByteCount = errors.New(\"transform: inconsistent byte count returned\")\n\n\t// errShortInternal means that an internal buffer is not large enough\n\t// to make progress and the Transform operation must be aborted.\n\terrShortInternal = errors.New(\"transform: short internal buffer\")\n)\n\n// Transformer transforms bytes.\ntype Transformer interface {\n\t// Transform writes to dst the transformed bytes read from src, and\n\t// returns the number of dst bytes written and src bytes read. The\n\t// atEOF argument tells whether src represents the last bytes of the\n\t// input.\n\t//\n\t// Callers should always process the nDst bytes produced and account\n\t// for the nSrc bytes consumed before considering the error err.\n\t//\n\t// A nil error means that all of the transformed bytes (whether freshly\n\t// transformed from src or left over from previous Transform calls)\n\t// were written to dst. A nil error can be returned regardless of\n\t// whether atEOF is true. If err is nil then nSrc must equal len(src);\n\t// the converse is not necessarily true.\n\t//\n\t// ErrShortDst means that dst was too short to receive all of the\n\t// transformed bytes. ErrShortSrc means that src had insufficient data\n\t// to complete the transformation. If both conditions apply, then\n\t// either error may be returned. Other than the error conditions listed\n\t// here, implementations are free to report other errors that arise.\n\tTransform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error)\n\n\t// Reset resets the state and allows a Transformer to be reused.\n\tReset()\n}\n\n// SpanningTransformer extends the Transformer interface with a Span method\n// that determines how much of the input already conforms to the Transformer.\ntype SpanningTransformer interface {\n\tTransformer\n\n\t// Span returns a position in src such that transforming src[:n] results in\n\t// identical output src[:n] for these bytes. It does not necessarily return\n\t// the largest such n. The atEOF argument tells whether src represents the\n\t// last bytes of the input.\n\t//\n\t// Callers should always account for the n bytes consumed before\n\t// considering the error err.\n\t//\n\t// A nil error means that all input bytes are known to be identical to the\n\t// output produced by the Transformer. A nil error can be be returned\n\t// regardless of whether atEOF is true. If err is nil, then then n must\n\t// equal len(src); the converse is not necessarily true.\n\t//\n\t// ErrEndOfSpan means that the Transformer output may differ from the\n\t// input after n bytes. Note that n may be len(src), meaning that the output\n\t// would contain additional bytes after otherwise identical output.\n\t// ErrShortSrc means that src had insufficient data to determine whether the\n\t// remaining bytes would change. Other than the error conditions listed\n\t// here, implementations are free to report other errors that arise.\n\t//\n\t// Calling Span can modify the Transformer state as a side effect. In\n\t// effect, it does the transformation just as calling Transform would, only\n\t// without copying to a destination buffer and only up to a point it can\n\t// determine the input and output bytes are the same. This is obviously more\n\t// limited than calling Transform, but can be more efficient in terms of\n\t// copying and allocating buffers. Calls to Span and Transform may be\n\t// interleaved.\n\tSpan(src []byte, atEOF bool) (n int, err error)\n}\n\n// NopResetter can be embedded by implementations of Transformer to add a nop\n// Reset method.\ntype NopResetter struct{}\n\n// Reset implements the Reset method of the Transformer interface.\nfunc (NopResetter) Reset() {}\n\n// Reader wraps another io.Reader by transforming the bytes read.\ntype Reader struct {\n\tr   io.Reader\n\tt   Transformer\n\terr error\n\n\t// dst[dst0:dst1] contains bytes that have been transformed by t but\n\t// not yet copied out via Read.\n\tdst        []byte\n\tdst0, dst1 int\n\n\t// src[src0:src1] contains bytes that have been read from r but not\n\t// yet transformed through t.\n\tsrc        []byte\n\tsrc0, src1 int\n\n\t// transformComplete is whether the transformation is complete,\n\t// regardless of whether or not it was successful.\n\ttransformComplete bool\n}\n\nconst defaultBufSize = 4096\n\n// NewReader returns a new Reader that wraps r by transforming the bytes read\n// via t. It calls Reset on t.\nfunc NewReader(r io.Reader, t Transformer) *Reader {\n\tt.Reset()\n\treturn &Reader{\n\t\tr:   r,\n\t\tt:   t,\n\t\tdst: make([]byte, defaultBufSize),\n\t\tsrc: make([]byte, defaultBufSize),\n\t}\n}\n\n// Read implements the io.Reader interface.\nfunc (r *Reader) Read(p []byte) (int, error) {\n\tn, err := 0, error(nil)\n\tfor {\n\t\t// Copy out any transformed bytes and return the final error if we are done.\n\t\tif r.dst0 != r.dst1 {\n\t\t\tn = copy(p, r.dst[r.dst0:r.dst1])\n\t\t\tr.dst0 += n\n\t\t\tif r.dst0 == r.dst1 && r.transformComplete {\n\t\t\t\treturn n, r.err\n\t\t\t}\n\t\t\treturn n, nil\n\t\t} else if r.transformComplete {\n\t\t\treturn 0, r.err\n\t\t}\n\n\t\t// Try to transform some source bytes, or to flush the transformer if we\n\t\t// are out of source bytes. We do this even if r.r.Read returned an error.\n\t\t// As the io.Reader documentation says, \"process the n > 0 bytes returned\n\t\t// before considering the error\".\n\t\tif r.src0 != r.src1 || r.err != nil {\n\t\t\tr.dst0 = 0\n\t\t\tr.dst1, n, err = r.t.Transform(r.dst, r.src[r.src0:r.src1], r.err == io.EOF)\n\t\t\tr.src0 += n\n\n\t\t\tswitch {\n\t\t\tcase err == nil:\n\t\t\t\tif r.src0 != r.src1 {\n\t\t\t\t\tr.err = errInconsistentByteCount\n\t\t\t\t}\n\t\t\t\t// The Transform call was successful; we are complete if we\n\t\t\t\t// cannot read more bytes into src.\n\t\t\t\tr.transformComplete = r.err != nil\n\t\t\t\tcontinue\n\t\t\tcase err == ErrShortDst && (r.dst1 != 0 || n != 0):\n\t\t\t\t// Make room in dst by copying out, and try again.\n\t\t\t\tcontinue\n\t\t\tcase err == ErrShortSrc && r.src1-r.src0 != len(r.src) && r.err == nil:\n\t\t\t\t// Read more bytes into src via the code below, and try again.\n\t\t\tdefault:\n\t\t\t\tr.transformComplete = true\n\t\t\t\t// The reader error (r.err) takes precedence over the\n\t\t\t\t// transformer error (err) unless r.err is nil or io.EOF.\n\t\t\t\tif r.err == nil || r.err == io.EOF {\n\t\t\t\t\tr.err = err\n\t\t\t\t}\n\t\t\t\tcontinue\n\t\t\t}\n\t\t}\n\n\t\t// Move any untransformed source bytes to the start of the buffer\n\t\t// and read more bytes.\n\t\tif r.src0 != 0 {\n\t\t\tr.src0, r.src1 = 0, copy(r.src, r.src[r.src0:r.src1])\n\t\t}\n\t\tn, r.err = r.r.Read(r.src[r.src1:])\n\t\tr.src1 += n\n\t}\n}\n\n// TODO: implement ReadByte (and ReadRune??).\n\n// Writer wraps another io.Writer by transforming the bytes read.\n// The user needs to call Close to flush unwritten bytes that may\n// be buffered.\ntype Writer struct {\n\tw   io.Writer\n\tt   Transformer\n\tdst []byte\n\n\t// src[:n] contains bytes that have not yet passed through t.\n\tsrc []byte\n\tn   int\n}\n\n// NewWriter returns a new Writer that wraps w by transforming the bytes written\n// via t. It calls Reset on t.\nfunc NewWriter(w io.Writer, t Transformer) *Writer {\n\tt.Reset()\n\treturn &Writer{\n\t\tw:   w,\n\t\tt:   t,\n\t\tdst: make([]byte, defaultBufSize),\n\t\tsrc: make([]byte, defaultBufSize),\n\t}\n}\n\n// Write implements the io.Writer interface. If there are not enough\n// bytes available to complete a Transform, the bytes will be buffered\n// for the next write. Call Close to convert the remaining bytes.\nfunc (w *Writer) Write(data []byte) (n int, err error) {\n\tsrc := data\n\tif w.n > 0 {\n\t\t// Append bytes from data to the last remainder.\n\t\t// TODO: limit the amount copied on first try.\n\t\tn = copy(w.src[w.n:], data)\n\t\tw.n += n\n\t\tsrc = w.src[:w.n]\n\t}\n\tfor {\n\t\tnDst, nSrc, err := w.t.Transform(w.dst, src, false)\n\t\tif _, werr := w.w.Write(w.dst[:nDst]); werr != nil {\n\t\t\treturn n, werr\n\t\t}\n\t\tsrc = src[nSrc:]\n\t\tif w.n == 0 {\n\t\t\tn += nSrc\n\t\t} else if len(src) <= n {\n\t\t\t// Enough bytes from w.src have been consumed. We make src point\n\t\t\t// to data instead to reduce the copying.\n\t\t\tw.n = 0\n\t\t\tn -= len(src)\n\t\t\tsrc = data[n:]\n\t\t\tif n < len(data) && (err == nil || err == ErrShortSrc) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t}\n\t\tswitch err {\n\t\tcase ErrShortDst:\n\t\t\t// This error is okay as long as we are making progress.\n\t\t\tif nDst > 0 || nSrc > 0 {\n\t\t\t\tcontinue\n\t\t\t}\n\t\tcase ErrShortSrc:\n\t\t\tif len(src) < len(w.src) {\n\t\t\t\tm := copy(w.src, src)\n\t\t\t\t// If w.n > 0, bytes from data were already copied to w.src and n\n\t\t\t\t// was already set to the number of bytes consumed.\n\t\t\t\tif w.n == 0 {\n\t\t\t\t\tn += m\n\t\t\t\t}\n\t\t\t\tw.n = m\n\t\t\t\terr = nil\n\t\t\t} else if nDst > 0 || nSrc > 0 {\n\t\t\t\t// Not enough buffer to store the remainder. Keep processing as\n\t\t\t\t// long as there is progress. Without this case, transforms that\n\t\t\t\t// require a lookahead larger than the buffer may result in an\n\t\t\t\t// error. This is not something one may expect to be common in\n\t\t\t\t// practice, but it may occur when buffers are set to small\n\t\t\t\t// sizes during testing.\n\t\t\t\tcontinue\n\t\t\t}\n\t\tcase nil:\n\t\t\tif w.n > 0 {\n\t\t\t\terr = errInconsistentByteCount\n\t\t\t}\n\t\t}\n\t\treturn n, err\n\t}\n}\n\n// Close implements the io.Closer interface.\nfunc (w *Writer) Close() error {\n\tsrc := w.src[:w.n]\n\tfor {\n\t\tnDst, nSrc, err := w.t.Transform(w.dst, src, true)\n\t\tif _, werr := w.w.Write(w.dst[:nDst]); werr != nil {\n\t\t\treturn werr\n\t\t}\n\t\tif err != ErrShortDst {\n\t\t\treturn err\n\t\t}\n\t\tsrc = src[nSrc:]\n\t}\n}\n\ntype nop struct{ NopResetter }\n\nfunc (nop) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {\n\tn := copy(dst, src)\n\tif n < len(src) {\n\t\terr = ErrShortDst\n\t}\n\treturn n, n, err\n}\n\nfunc (nop) Span(src []byte, atEOF bool) (n int, err error) {\n\treturn len(src), nil\n}\n\ntype discard struct{ NopResetter }\n\nfunc (discard) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {\n\treturn 0, len(src), nil\n}\n\nvar (\n\t// Discard is a Transformer for which all Transform calls succeed\n\t// by consuming all bytes and writing nothing.\n\tDiscard Transformer = discard{}\n\n\t// Nop is a SpanningTransformer that copies src to dst.\n\tNop SpanningTransformer = nop{}\n)\n\n// chain is a sequence of links. A chain with N Transformers has N+1 links and\n// N+1 buffers. Of those N+1 buffers, the first and last are the src and dst\n// buffers given to chain.Transform and the middle N-1 buffers are intermediate\n// buffers owned by the chain. The i'th link transforms bytes from the i'th\n// buffer chain.link[i].b at read offset chain.link[i].p to the i+1'th buffer\n// chain.link[i+1].b at write offset chain.link[i+1].n, for i in [0, N).\ntype chain struct {\n\tlink []link\n\terr  error\n\t// errStart is the index at which the error occurred plus 1. Processing\n\t// errStart at this level at the next call to Transform. As long as\n\t// errStart > 0, chain will not consume any more source bytes.\n\terrStart int\n}\n\nfunc (c *chain) fatalError(errIndex int, err error) {\n\tif i := errIndex + 1; i > c.errStart {\n\t\tc.errStart = i\n\t\tc.err = err\n\t}\n}\n\ntype link struct {\n\tt Transformer\n\t// b[p:n] holds the bytes to be transformed by t.\n\tb []byte\n\tp int\n\tn int\n}\n\nfunc (l *link) src() []byte {\n\treturn l.b[l.p:l.n]\n}\n\nfunc (l *link) dst() []byte {\n\treturn l.b[l.n:]\n}\n\n// Chain returns a Transformer that applies t in sequence.\nfunc Chain(t ...Transformer) Transformer {\n\tif len(t) == 0 {\n\t\treturn nop{}\n\t}\n\tc := &chain{link: make([]link, len(t)+1)}\n\tfor i, tt := range t {\n\t\tc.link[i].t = tt\n\t}\n\t// Allocate intermediate buffers.\n\tb := make([][defaultBufSize]byte, len(t)-1)\n\tfor i := range b {\n\t\tc.link[i+1].b = b[i][:]\n\t}\n\treturn c\n}\n\n// Reset resets the state of Chain. It calls Reset on all the Transformers.\nfunc (c *chain) Reset() {\n\tfor i, l := range c.link {\n\t\tif l.t != nil {\n\t\t\tl.t.Reset()\n\t\t}\n\t\tc.link[i].p, c.link[i].n = 0, 0\n\t}\n}\n\n// TODO: make chain use Span (is going to be fun to implement!)\n\n// Transform applies the transformers of c in sequence.\nfunc (c *chain) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {\n\t// Set up src and dst in the chain.\n\tsrcL := &c.link[0]\n\tdstL := &c.link[len(c.link)-1]\n\tsrcL.b, srcL.p, srcL.n = src, 0, len(src)\n\tdstL.b, dstL.n = dst, 0\n\tvar lastFull, needProgress bool // for detecting progress\n\n\t// i is the index of the next Transformer to apply, for i in [low, high].\n\t// low is the lowest index for which c.link[low] may still produce bytes.\n\t// high is the highest index for which c.link[high] has a Transformer.\n\t// The error returned by Transform determines whether to increase or\n\t// decrease i. We try to completely fill a buffer before converting it.\n\tfor low, i, high := c.errStart, c.errStart, len(c.link)-2; low <= i && i <= high; {\n\t\tin, out := &c.link[i], &c.link[i+1]\n\t\tnDst, nSrc, err0 := in.t.Transform(out.dst(), in.src(), atEOF && low == i)\n\t\tout.n += nDst\n\t\tin.p += nSrc\n\t\tif i > 0 && in.p == in.n {\n\t\t\tin.p, in.n = 0, 0\n\t\t}\n\t\tneedProgress, lastFull = lastFull, false\n\t\tswitch err0 {\n\t\tcase ErrShortDst:\n\t\t\t// Process the destination buffer next. Return if we are already\n\t\t\t// at the high index.\n\t\t\tif i == high {\n\t\t\t\treturn dstL.n, srcL.p, ErrShortDst\n\t\t\t}\n\t\t\tif out.n != 0 {\n\t\t\t\ti++\n\t\t\t\t// If the Transformer at the next index is not able to process any\n\t\t\t\t// source bytes there is nothing that can be done to make progress\n\t\t\t\t// and the bytes will remain unprocessed. lastFull is used to\n\t\t\t\t// detect this and break out of the loop with a fatal error.\n\t\t\t\tlastFull = true\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\t// The destination buffer was too small, but is completely empty.\n\t\t\t// Return a fatal error as this transformation can never complete.\n\t\t\tc.fatalError(i, errShortInternal)\n\t\tcase ErrShortSrc:\n\t\t\tif i == 0 {\n\t\t\t\t// Save ErrShortSrc in err. All other errors take precedence.\n\t\t\t\terr = ErrShortSrc\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t// Source bytes were depleted before filling up the destination buffer.\n\t\t\t// Verify we made some progress, move the remaining bytes to the errStart\n\t\t\t// and try to get more source bytes.\n\t\t\tif needProgress && nSrc == 0 || in.n-in.p == len(in.b) {\n\t\t\t\t// There were not enough source bytes to proceed while the source\n\t\t\t\t// buffer cannot hold any more bytes. Return a fatal error as this\n\t\t\t\t// transformation can never complete.\n\t\t\t\tc.fatalError(i, errShortInternal)\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t// in.b is an internal buffer and we can make progress.\n\t\t\tin.p, in.n = 0, copy(in.b, in.src())\n\t\t\tfallthrough\n\t\tcase nil:\n\t\t\t// if i == low, we have depleted the bytes at index i or any lower levels.\n\t\t\t// In that case we increase low and i. In all other cases we decrease i to\n\t\t\t// fetch more bytes before proceeding to the next index.\n\t\t\tif i > low {\n\t\t\t\ti--\n\t\t\t\tcontinue\n\t\t\t}\n\t\tdefault:\n\t\t\tc.fatalError(i, err0)\n\t\t}\n\t\t// Exhausted level low or fatal error: increase low and continue\n\t\t// to process the bytes accepted so far.\n\t\ti++\n\t\tlow = i\n\t}\n\n\t// If c.errStart > 0, this means we found a fatal error.  We will clear\n\t// all upstream buffers. At this point, no more progress can be made\n\t// downstream, as Transform would have bailed while handling ErrShortDst.\n\tif c.errStart > 0 {\n\t\tfor i := 1; i < c.errStart; i++ {\n\t\t\tc.link[i].p, c.link[i].n = 0, 0\n\t\t}\n\t\terr, c.errStart, c.err = c.err, 0, nil\n\t}\n\treturn dstL.n, srcL.p, err\n}\n\n// Deprecated: use runes.Remove instead.\nfunc RemoveFunc(f func(r rune) bool) Transformer {\n\treturn removeF(f)\n}\n\ntype removeF func(r rune) bool\n\nfunc (removeF) Reset() {}\n\n// Transform implements the Transformer interface.\nfunc (t removeF) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {\n\tfor r, sz := rune(0), 0; len(src) > 0; src = src[sz:] {\n\n\t\tif r = rune(src[0]); r < utf8.RuneSelf {\n\t\t\tsz = 1\n\t\t} else {\n\t\t\tr, sz = utf8.DecodeRune(src)\n\n\t\t\tif sz == 1 {\n\t\t\t\t// Invalid rune.\n\t\t\t\tif !atEOF && !utf8.FullRune(src) {\n\t\t\t\t\terr = ErrShortSrc\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\t// We replace illegal bytes with RuneError. Not doing so might\n\t\t\t\t// otherwise turn a sequence of invalid UTF-8 into valid UTF-8.\n\t\t\t\t// The resulting byte sequence may subsequently contain runes\n\t\t\t\t// for which t(r) is true that were passed unnoticed.\n\t\t\t\tif !t(r) {\n\t\t\t\t\tif nDst+3 > len(dst) {\n\t\t\t\t\t\terr = ErrShortDst\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tnDst += copy(dst[nDst:], \"\\uFFFD\")\n\t\t\t\t}\n\t\t\t\tnSrc++\n\t\t\t\tcontinue\n\t\t\t}\n\t\t}\n\n\t\tif !t(r) {\n\t\t\tif nDst+sz > len(dst) {\n\t\t\t\terr = ErrShortDst\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tnDst += copy(dst[nDst:], src[:sz])\n\t\t}\n\t\tnSrc += sz\n\t}\n\treturn\n}\n\n// grow returns a new []byte that is longer than b, and copies the first n bytes\n// of b to the start of the new slice.\nfunc grow(b []byte, n int) []byte {\n\tm := len(b)\n\tif m <= 32 {\n\t\tm = 64\n\t} else if m <= 256 {\n\t\tm *= 2\n\t} else {\n\t\tm += m >> 1\n\t}\n\tbuf := make([]byte, m)\n\tcopy(buf, b[:n])\n\treturn buf\n}\n\nconst initialBufSize = 128\n\n// String returns a string with the result of converting s[:n] using t, where\n// n <= len(s). If err == nil, n will be len(s). It calls Reset on t.\nfunc String(t Transformer, s string) (result string, n int, err error) {\n\tt.Reset()\n\tif s == \"\" {\n\t\t// Fast path for the common case for empty input. Results in about a\n\t\t// 86% reduction of running time for BenchmarkStringLowerEmpty.\n\t\tif _, _, err := t.Transform(nil, nil, true); err == nil {\n\t\t\treturn \"\", 0, nil\n\t\t}\n\t}\n\n\t// Allocate only once. Note that both dst and src escape when passed to\n\t// Transform.\n\tbuf := [2 * initialBufSize]byte{}\n\tdst := buf[:initialBufSize:initialBufSize]\n\tsrc := buf[initialBufSize : 2*initialBufSize]\n\n\t// The input string s is transformed in multiple chunks (starting with a\n\t// chunk size of initialBufSize). nDst and nSrc are per-chunk (or\n\t// per-Transform-call) indexes, pDst and pSrc are overall indexes.\n\tnDst, nSrc := 0, 0\n\tpDst, pSrc := 0, 0\n\n\t// pPrefix is the length of a common prefix: the first pPrefix bytes of the\n\t// result will equal the first pPrefix bytes of s. It is not guaranteed to\n\t// be the largest such value, but if pPrefix, len(result) and len(s) are\n\t// all equal after the final transform (i.e. calling Transform with atEOF\n\t// being true returned nil error) then we don't need to allocate a new\n\t// result string.\n\tpPrefix := 0\n\tfor {\n\t\t// Invariant: pDst == pPrefix && pSrc == pPrefix.\n\n\t\tn := copy(src, s[pSrc:])\n\t\tnDst, nSrc, err = t.Transform(dst, src[:n], pSrc+n == len(s))\n\t\tpDst += nDst\n\t\tpSrc += nSrc\n\n\t\t// TODO:  let transformers implement an optional Spanner interface, akin\n\t\t// to norm's QuickSpan. This would even allow us to avoid any allocation.\n\t\tif !bytes.Equal(dst[:nDst], src[:nSrc]) {\n\t\t\tbreak\n\t\t}\n\t\tpPrefix = pSrc\n\t\tif err == ErrShortDst {\n\t\t\t// A buffer can only be short if a transformer modifies its input.\n\t\t\tbreak\n\t\t} else if err == ErrShortSrc {\n\t\t\tif nSrc == 0 {\n\t\t\t\t// No progress was made.\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t// Equal so far and !atEOF, so continue checking.\n\t\t} else if err != nil || pPrefix == len(s) {\n\t\t\treturn string(s[:pPrefix]), pPrefix, err\n\t\t}\n\t}\n\t// Post-condition: pDst == pPrefix + nDst && pSrc == pPrefix + nSrc.\n\n\t// We have transformed the first pSrc bytes of the input s to become pDst\n\t// transformed bytes. Those transformed bytes are discontiguous: the first\n\t// pPrefix of them equal s[:pPrefix] and the last nDst of them equal\n\t// dst[:nDst]. We copy them around, into a new dst buffer if necessary, so\n\t// that they become one contiguous slice: dst[:pDst].\n\tif pPrefix != 0 {\n\t\tnewDst := dst\n\t\tif pDst > len(newDst) {\n\t\t\tnewDst = make([]byte, len(s)+nDst-nSrc)\n\t\t}\n\t\tcopy(newDst[pPrefix:pDst], dst[:nDst])\n\t\tcopy(newDst[:pPrefix], s[:pPrefix])\n\t\tdst = newDst\n\t}\n\n\t// Prevent duplicate Transform calls with atEOF being true at the end of\n\t// the input. Also return if we have an unrecoverable error.\n\tif (err == nil && pSrc == len(s)) ||\n\t\t(err != nil && err != ErrShortDst && err != ErrShortSrc) {\n\t\treturn string(dst[:pDst]), pSrc, err\n\t}\n\n\t// Transform the remaining input, growing dst and src buffers as necessary.\n\tfor {\n\t\tn := copy(src, s[pSrc:])\n\t\tnDst, nSrc, err := t.Transform(dst[pDst:], src[:n], pSrc+n == len(s))\n\t\tpDst += nDst\n\t\tpSrc += nSrc\n\n\t\t// If we got ErrShortDst or ErrShortSrc, do not grow as long as we can\n\t\t// make progress. This may avoid excessive allocations.\n\t\tif err == ErrShortDst {\n\t\t\tif nDst == 0 {\n\t\t\t\tdst = grow(dst, pDst)\n\t\t\t}\n\t\t} else if err == ErrShortSrc {\n\t\t\tif nSrc == 0 {\n\t\t\t\tsrc = grow(src, 0)\n\t\t\t}\n\t\t} else if err != nil || pSrc == len(s) {\n\t\t\treturn string(dst[:pDst]), pSrc, err\n\t\t}\n\t}\n}\n\n// Bytes returns a new byte slice with the result of converting b[:n] using t,\n// where n <= len(b). If err == nil, n will be len(b). It calls Reset on t.\nfunc Bytes(t Transformer, b []byte) (result []byte, n int, err error) {\n\treturn doAppend(t, 0, make([]byte, len(b)), b)\n}\n\n// Append appends the result of converting src[:n] using t to dst, where\n// n <= len(src), If err == nil, n will be len(src). It calls Reset on t.\nfunc Append(t Transformer, dst, src []byte) (result []byte, n int, err error) {\n\tif len(dst) == cap(dst) {\n\t\tn := len(src) + len(dst) // It is okay for this to be 0.\n\t\tb := make([]byte, n)\n\t\tdst = b[:copy(b, dst)]\n\t}\n\treturn doAppend(t, len(dst), dst[:cap(dst)], src)\n}\n\nfunc doAppend(t Transformer, pDst int, dst, src []byte) (result []byte, n int, err error) {\n\tt.Reset()\n\tpSrc := 0\n\tfor {\n\t\tnDst, nSrc, err := t.Transform(dst[pDst:], src[pSrc:], true)\n\t\tpDst += nDst\n\t\tpSrc += nSrc\n\t\tif err != ErrShortDst {\n\t\t\treturn dst[:pDst], pSrc, err\n\t\t}\n\n\t\t// Grow the destination buffer, but do not grow as long as we can make\n\t\t// progress. This may avoid excessive allocations.\n\t\tif nDst == 0 {\n\t\t\tdst = grow(dst, pDst)\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/bidi/bidi.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//go:generate go run gen.go gen_trieval.go gen_ranges.go\n\n// Package bidi contains functionality for bidirectional text support.\n//\n// See http://www.unicode.org/reports/tr9.\n//\n// NOTE: UNDER CONSTRUCTION. This API may change in backwards incompatible ways\n// and without notice.\npackage bidi // import \"golang.org/x/text/unicode/bidi\"\n\n// TODO:\n// The following functionality would not be hard to implement, but hinges on\n// the definition of a Segmenter interface. For now this is up to the user.\n// - Iterate over paragraphs\n// - Segmenter to iterate over runs directly from a given text.\n// Also:\n// - Transformer for reordering?\n// - Transformer (validator, really) for Bidi Rule.\n\n// This API tries to avoid dealing with embedding levels for now. Under the hood\n// these will be computed, but the question is to which extent the user should\n// know they exist. We should at some point allow the user to specify an\n// embedding hierarchy, though.\n\n// A Direction indicates the overall flow of text.\ntype Direction int\n\nconst (\n\t// LeftToRight indicates the text contains no right-to-left characters and\n\t// that either there are some left-to-right characters or the option\n\t// DefaultDirection(LeftToRight) was passed.\n\tLeftToRight Direction = iota\n\n\t// RightToLeft indicates the text contains no left-to-right characters and\n\t// that either there are some right-to-left characters or the option\n\t// DefaultDirection(RightToLeft) was passed.\n\tRightToLeft\n\n\t// Mixed indicates text contains both left-to-right and right-to-left\n\t// characters.\n\tMixed\n\n\t// Neutral means that text contains no left-to-right and right-to-left\n\t// characters and that no default direction has been set.\n\tNeutral\n)\n\ntype options struct{}\n\n// An Option is an option for Bidi processing.\ntype Option func(*options)\n\n// ICU allows the user to define embedding levels. This may be used, for example,\n// to use hierarchical structure of markup languages to define embeddings.\n// The following option may be a way to expose this functionality in this API.\n// // LevelFunc sets a function that associates nesting levels with the given text.\n// // The levels function will be called with monotonically increasing values for p.\n// func LevelFunc(levels func(p int) int) Option {\n// \tpanic(\"unimplemented\")\n// }\n\n// DefaultDirection sets the default direction for a Paragraph. The direction is\n// overridden if the text contains directional characters.\nfunc DefaultDirection(d Direction) Option {\n\tpanic(\"unimplemented\")\n}\n\n// A Paragraph holds a single Paragraph for Bidi processing.\ntype Paragraph struct {\n\t// buffers\n}\n\n// SetBytes configures p for the given paragraph text. It replaces text\n// previously set by SetBytes or SetString. If b contains a paragraph separator\n// it will only process the first paragraph and report the number of bytes\n// consumed from b including this separator. Error may be non-nil if options are\n// given.\nfunc (p *Paragraph) SetBytes(b []byte, opts ...Option) (n int, err error) {\n\tpanic(\"unimplemented\")\n}\n\n// SetString configures p for the given paragraph text. It replaces text\n// previously set by SetBytes or SetString. If b contains a paragraph separator\n// it will only process the first paragraph and report the number of bytes\n// consumed from b including this separator. Error may be non-nil if options are\n// given.\nfunc (p *Paragraph) SetString(s string, opts ...Option) (n int, err error) {\n\tpanic(\"unimplemented\")\n}\n\n// IsLeftToRight reports whether the principle direction of rendering for this\n// paragraphs is left-to-right. If this returns false, the principle direction\n// of rendering is right-to-left.\nfunc (p *Paragraph) IsLeftToRight() bool {\n\tpanic(\"unimplemented\")\n}\n\n// Direction returns the direction of the text of this paragraph.\n//\n// The direction may be LeftToRight, RightToLeft, Mixed, or Neutral.\nfunc (p *Paragraph) Direction() Direction {\n\tpanic(\"unimplemented\")\n}\n\n// RunAt reports the Run at the given position of the input text.\n//\n// This method can be used for computing line breaks on paragraphs.\nfunc (p *Paragraph) RunAt(pos int) Run {\n\tpanic(\"unimplemented\")\n}\n\n// Order computes the visual ordering of all the runs in a Paragraph.\nfunc (p *Paragraph) Order() (Ordering, error) {\n\tpanic(\"unimplemented\")\n}\n\n// Line computes the visual ordering of runs for a single line starting and\n// ending at the given positions in the original text.\nfunc (p *Paragraph) Line(start, end int) (Ordering, error) {\n\tpanic(\"unimplemented\")\n}\n\n// An Ordering holds the computed visual order of runs of a Paragraph. Calling\n// SetBytes or SetString on the originating Paragraph invalidates an Ordering.\n// The methods of an Ordering should only be called by one goroutine at a time.\ntype Ordering struct{}\n\n// Direction reports the directionality of the runs.\n//\n// The direction may be LeftToRight, RightToLeft, Mixed, or Neutral.\nfunc (o *Ordering) Direction() Direction {\n\tpanic(\"unimplemented\")\n}\n\n// NumRuns returns the number of runs.\nfunc (o *Ordering) NumRuns() int {\n\tpanic(\"unimplemented\")\n}\n\n// Run returns the ith run within the ordering.\nfunc (o *Ordering) Run(i int) Run {\n\tpanic(\"unimplemented\")\n}\n\n// TODO: perhaps with options.\n// // Reorder creates a reader that reads the runes in visual order per character.\n// // Modifiers remain after the runes they modify.\n// func (l *Runs) Reorder() io.Reader {\n// \tpanic(\"unimplemented\")\n// }\n\n// A Run is a continuous sequence of characters of a single direction.\ntype Run struct {\n}\n\n// String returns the text of the run in its original order.\nfunc (r *Run) String() string {\n\tpanic(\"unimplemented\")\n}\n\n// Bytes returns the text of the run in its original order.\nfunc (r *Run) Bytes() []byte {\n\tpanic(\"unimplemented\")\n}\n\n// TODO: methods for\n// - Display order\n// - headers and footers\n// - bracket replacement.\n\n// Direction reports the direction of the run.\nfunc (r *Run) Direction() Direction {\n\tpanic(\"unimplemented\")\n}\n\n// Position of the Run within the text passed to SetBytes or SetString of the\n// originating Paragraph value.\nfunc (r *Run) Pos() (start, end int) {\n\tpanic(\"unimplemented\")\n}\n\n// AppendReverse reverses the order of characters of in, appends them to out,\n// and returns the result. Modifiers will still follow the runes they modify.\n// Brackets are replaced with their counterparts.\nfunc AppendReverse(out, in []byte) []byte {\n\tpanic(\"unimplemented\")\n}\n\n// ReverseString reverses the order of characters in s and returns a new string.\n// Modifiers will still follow the runes they modify. Brackets are replaced with\n// their counterparts.\nfunc ReverseString(s string) string {\n\tpanic(\"unimplemented\")\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/bidi/bracket.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage bidi\n\nimport (\n\t\"container/list\"\n\t\"fmt\"\n\t\"sort\"\n)\n\n// This file contains a port of the reference implementation of the\n// Bidi Parentheses Algorithm:\n// http://www.unicode.org/Public/PROGRAMS/BidiReferenceJava/BidiPBAReference.java\n//\n// The implementation in this file covers definitions BD14-BD16 and rule N0\n// of UAX#9.\n//\n// Some preprocessing is done for each rune before data is passed to this\n// algorithm:\n//  - opening and closing brackets are identified\n//  - a bracket pair type, like '(' and ')' is assigned a unique identifier that\n//    is identical for the opening and closing bracket. It is left to do these\n//    mappings.\n//  - The BPA algorithm requires that bracket characters that are canonical\n//    equivalents of each other be able to be substituted for each other.\n//    It is the responsibility of the caller to do this canonicalization.\n//\n// In implementing BD16, this implementation departs slightly from the \"logical\"\n// algorithm defined in UAX#9. In particular, the stack referenced there\n// supports operations that go beyond a \"basic\" stack. An equivalent\n// implementation based on a linked list is used here.\n\n// Bidi_Paired_Bracket_Type\n// BD14. An opening paired bracket is a character whose\n// Bidi_Paired_Bracket_Type property value is Open.\n//\n// BD15. A closing paired bracket is a character whose\n// Bidi_Paired_Bracket_Type property value is Close.\ntype bracketType byte\n\nconst (\n\tbpNone bracketType = iota\n\tbpOpen\n\tbpClose\n)\n\n// bracketPair holds a pair of index values for opening and closing bracket\n// location of a bracket pair.\ntype bracketPair struct {\n\topener int\n\tcloser int\n}\n\nfunc (b *bracketPair) String() string {\n\treturn fmt.Sprintf(\"(%v, %v)\", b.opener, b.closer)\n}\n\n// bracketPairs is a slice of bracketPairs with a sort.Interface implementation.\ntype bracketPairs []bracketPair\n\nfunc (b bracketPairs) Len() int           { return len(b) }\nfunc (b bracketPairs) Swap(i, j int)      { b[i], b[j] = b[j], b[i] }\nfunc (b bracketPairs) Less(i, j int) bool { return b[i].opener < b[j].opener }\n\n// resolvePairedBrackets runs the paired bracket part of the UBA algorithm.\n//\n// For each rune, it takes the indexes into the original string, the class the\n// bracket type (in pairTypes) and the bracket identifier (pairValues). It also\n// takes the direction type for the start-of-sentence and the embedding level.\n//\n// The identifiers for bracket types are the rune of the canonicalized opening\n// bracket for brackets (open or close) or 0 for runes that are not brackets.\nfunc resolvePairedBrackets(s *isolatingRunSequence) {\n\tp := bracketPairer{\n\t\tsos:              s.sos,\n\t\topeners:          list.New(),\n\t\tcodesIsolatedRun: s.types,\n\t\tindexes:          s.indexes,\n\t}\n\tdirEmbed := L\n\tif s.level&1 != 0 {\n\t\tdirEmbed = R\n\t}\n\tp.locateBrackets(s.p.pairTypes, s.p.pairValues)\n\tp.resolveBrackets(dirEmbed, s.p.initialTypes)\n}\n\ntype bracketPairer struct {\n\tsos Class // direction corresponding to start of sequence\n\n\t// The following is a restatement of BD 16 using non-algorithmic language.\n\t//\n\t// A bracket pair is a pair of characters consisting of an opening\n\t// paired bracket and a closing paired bracket such that the\n\t// Bidi_Paired_Bracket property value of the former equals the latter,\n\t// subject to the following constraints.\n\t// - both characters of a pair occur in the same isolating run sequence\n\t// - the closing character of a pair follows the opening character\n\t// - any bracket character can belong at most to one pair, the earliest possible one\n\t// - any bracket character not part of a pair is treated like an ordinary character\n\t// - pairs may nest properly, but their spans may not overlap otherwise\n\n\t// Bracket characters with canonical decompositions are supposed to be\n\t// treated as if they had been normalized, to allow normalized and non-\n\t// normalized text to give the same result. In this implementation that step\n\t// is pushed out to the caller. The caller has to ensure that the pairValue\n\t// slices contain the rune of the opening bracket after normalization for\n\t// any opening or closing bracket.\n\n\topeners *list.List // list of positions for opening brackets\n\n\t// bracket pair positions sorted by location of opening bracket\n\tpairPositions bracketPairs\n\n\tcodesIsolatedRun []Class // directional bidi codes for an isolated run\n\tindexes          []int   // array of index values into the original string\n\n}\n\n// matchOpener reports whether characters at given positions form a matching\n// bracket pair.\nfunc (p *bracketPairer) matchOpener(pairValues []rune, opener, closer int) bool {\n\treturn pairValues[p.indexes[opener]] == pairValues[p.indexes[closer]]\n}\n\nconst maxPairingDepth = 63\n\n// locateBrackets locates matching bracket pairs according to BD16.\n//\n// This implementation uses a linked list instead of a stack, because, while\n// elements are added at the front (like a push) they are not generally removed\n// in atomic 'pop' operations, reducing the benefit of the stack archetype.\nfunc (p *bracketPairer) locateBrackets(pairTypes []bracketType, pairValues []rune) {\n\t// traverse the run\n\t// do that explicitly (not in a for-each) so we can record position\n\tfor i, index := range p.indexes {\n\n\t\t// look at the bracket type for each character\n\t\tif pairTypes[index] == bpNone || p.codesIsolatedRun[i] != ON {\n\t\t\t// continue scanning\n\t\t\tcontinue\n\t\t}\n\t\tswitch pairTypes[index] {\n\t\tcase bpOpen:\n\t\t\t// check if maximum pairing depth reached\n\t\t\tif p.openers.Len() == maxPairingDepth {\n\t\t\t\tp.openers.Init()\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// remember opener location, most recent first\n\t\t\tp.openers.PushFront(i)\n\n\t\tcase bpClose:\n\t\t\t// see if there is a match\n\t\t\tcount := 0\n\t\t\tfor elem := p.openers.Front(); elem != nil; elem = elem.Next() {\n\t\t\t\tcount++\n\t\t\t\topener := elem.Value.(int)\n\t\t\t\tif p.matchOpener(pairValues, opener, i) {\n\t\t\t\t\t// if the opener matches, add nested pair to the ordered list\n\t\t\t\t\tp.pairPositions = append(p.pairPositions, bracketPair{opener, i})\n\t\t\t\t\t// remove up to and including matched opener\n\t\t\t\t\tfor ; count > 0; count-- {\n\t\t\t\t\t\tp.openers.Remove(p.openers.Front())\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tsort.Sort(p.pairPositions)\n\t\t\t// if we get here, the closing bracket matched no openers\n\t\t\t// and gets ignored\n\t\t}\n\t}\n}\n\n// Bracket pairs within an isolating run sequence are processed as units so\n// that both the opening and the closing paired bracket in a pair resolve to\n// the same direction.\n//\n// N0. Process bracket pairs in an isolating run sequence sequentially in\n// the logical order of the text positions of the opening paired brackets\n// using the logic given below. Within this scope, bidirectional types EN\n// and AN are treated as R.\n//\n// Identify the bracket pairs in the current isolating run sequence\n// according to BD16. For each bracket-pair element in the list of pairs of\n// text positions:\n//\n// a Inspect the bidirectional types of the characters enclosed within the\n// bracket pair.\n//\n// b If any strong type (either L or R) matching the embedding direction is\n// found, set the type for both brackets in the pair to match the embedding\n// direction.\n//\n// o [ e ] o -> o e e e o\n//\n// o [ o e ] -> o e o e e\n//\n// o [ NI e ] -> o e NI e e\n//\n// c Otherwise, if a strong type (opposite the embedding direction) is\n// found, test for adjacent strong types as follows: 1 First, check\n// backwards before the opening paired bracket until the first strong type\n// (L, R, or sos) is found. If that first preceding strong type is opposite\n// the embedding direction, then set the type for both brackets in the pair\n// to that type. 2 Otherwise, set the type for both brackets in the pair to\n// the embedding direction.\n//\n// o [ o ] e -> o o o o e\n//\n// o [ o NI ] o -> o o o NI o o\n//\n// e [ o ] o -> e e o e o\n//\n// e [ o ] e -> e e o e e\n//\n// e ( o [ o ] NI ) e -> e e o o o o NI e e\n//\n// d Otherwise, do not set the type for the current bracket pair. Note that\n// if the enclosed text contains no strong types the paired brackets will\n// both resolve to the same level when resolved individually using rules N1\n// and N2.\n//\n// e ( NI ) o -> e ( NI ) o\n\n// getStrongTypeN0 maps character's directional code to strong type as required\n// by rule N0.\n//\n// TODO: have separate type for \"strong\" directionality.\nfunc (p *bracketPairer) getStrongTypeN0(index int) Class {\n\tswitch p.codesIsolatedRun[index] {\n\t// in the scope of N0, number types are treated as R\n\tcase EN, AN, AL, R:\n\t\treturn R\n\tcase L:\n\t\treturn L\n\tdefault:\n\t\treturn ON\n\t}\n}\n\n// classifyPairContent reports the strong types contained inside a Bracket Pair,\n// assuming the given embedding direction.\n//\n// It returns ON if no strong type is found. If a single strong type is found,\n// it returns this this type. Otherwise it returns the embedding direction.\n//\n// TODO: use separate type for \"strong\" directionality.\nfunc (p *bracketPairer) classifyPairContent(loc bracketPair, dirEmbed Class) Class {\n\tdirOpposite := ON\n\tfor i := loc.opener + 1; i < loc.closer; i++ {\n\t\tdir := p.getStrongTypeN0(i)\n\t\tif dir == ON {\n\t\t\tcontinue\n\t\t}\n\t\tif dir == dirEmbed {\n\t\t\treturn dir // type matching embedding direction found\n\t\t}\n\t\tdirOpposite = dir\n\t}\n\t// return ON if no strong type found, or class opposite to dirEmbed\n\treturn dirOpposite\n}\n\n// classBeforePair determines which strong types are present before a Bracket\n// Pair. Return R or L if strong type found, otherwise ON.\nfunc (p *bracketPairer) classBeforePair(loc bracketPair) Class {\n\tfor i := loc.opener - 1; i >= 0; i-- {\n\t\tif dir := p.getStrongTypeN0(i); dir != ON {\n\t\t\treturn dir\n\t\t}\n\t}\n\t// no strong types found, return sos\n\treturn p.sos\n}\n\n// assignBracketType implements rule N0 for a single bracket pair.\nfunc (p *bracketPairer) assignBracketType(loc bracketPair, dirEmbed Class, initialTypes []Class) {\n\t// rule \"N0, a\", inspect contents of pair\n\tdirPair := p.classifyPairContent(loc, dirEmbed)\n\n\t// dirPair is now L, R, or N (no strong type found)\n\n\t// the following logical tests are performed out of order compared to\n\t// the statement of the rules but yield the same results\n\tif dirPair == ON {\n\t\treturn // case \"d\" - nothing to do\n\t}\n\n\tif dirPair != dirEmbed {\n\t\t// case \"c\": strong type found, opposite - check before (c.1)\n\t\tdirPair = p.classBeforePair(loc)\n\t\tif dirPair == dirEmbed || dirPair == ON {\n\t\t\t// no strong opposite type found before - use embedding (c.2)\n\t\t\tdirPair = dirEmbed\n\t\t}\n\t}\n\t// else: case \"b\", strong type found matching embedding,\n\t// no explicit action needed, as dirPair is already set to embedding\n\t// direction\n\n\t// set the bracket types to the type found\n\tp.setBracketsToType(loc, dirPair, initialTypes)\n}\n\nfunc (p *bracketPairer) setBracketsToType(loc bracketPair, dirPair Class, initialTypes []Class) {\n\tp.codesIsolatedRun[loc.opener] = dirPair\n\tp.codesIsolatedRun[loc.closer] = dirPair\n\n\tfor i := loc.opener + 1; i < loc.closer; i++ {\n\t\tindex := p.indexes[i]\n\t\tif initialTypes[index] != NSM {\n\t\t\tbreak\n\t\t}\n\t\tp.codesIsolatedRun[i] = dirPair\n\t}\n\n\tfor i := loc.closer + 1; i < len(p.indexes); i++ {\n\t\tindex := p.indexes[i]\n\t\tif initialTypes[index] != NSM {\n\t\t\tbreak\n\t\t}\n\t\tp.codesIsolatedRun[i] = dirPair\n\t}\n}\n\n// resolveBrackets implements rule N0 for a list of pairs.\nfunc (p *bracketPairer) resolveBrackets(dirEmbed Class, initialTypes []Class) {\n\tfor _, loc := range p.pairPositions {\n\t\tp.assignBracketType(loc, dirEmbed, initialTypes)\n\t}\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/bidi/core.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage bidi\n\nimport \"log\"\n\n// This implementation is a port based on the reference implementation found at:\n// http://www.unicode.org/Public/PROGRAMS/BidiReferenceJava/\n//\n// described in Unicode Bidirectional Algorithm (UAX #9).\n//\n// Input:\n// There are two levels of input to the algorithm, since clients may prefer to\n// supply some information from out-of-band sources rather than relying on the\n// default behavior.\n//\n// - Bidi class array\n// - Bidi class array, with externally supplied base line direction\n//\n// Output:\n// Output is separated into several stages:\n//\n//  - levels array over entire paragraph\n//  - reordering array over entire paragraph\n//  - levels array over line\n//  - reordering array over line\n//\n// Note that for conformance to the Unicode Bidirectional Algorithm,\n// implementations are only required to generate correct reordering and\n// character directionality (odd or even levels) over a line. Generating\n// identical level arrays over a line is not required. Bidi explicit format\n// codes (LRE, RLE, LRO, RLO, PDF) and BN can be assigned arbitrary levels and\n// positions as long as the rest of the input is properly reordered.\n//\n// As the algorithm is defined to operate on a single paragraph at a time, this\n// implementation is written to handle single paragraphs. Thus rule P1 is\n// presumed by this implementation-- the data provided to the implementation is\n// assumed to be a single paragraph, and either contains no 'B' codes, or a\n// single 'B' code at the end of the input. 'B' is allowed as input to\n// illustrate how the algorithm assigns it a level.\n//\n// Also note that rules L3 and L4 depend on the rendering engine that uses the\n// result of the bidi algorithm. This implementation assumes that the rendering\n// engine expects combining marks in visual order (e.g. to the left of their\n// base character in RTL runs) and that it adjusts the glyphs used to render\n// mirrored characters that are in RTL runs so that they render appropriately.\n\n// level is the embedding level of a character. Even embedding levels indicate\n// left-to-right order and odd levels indicate right-to-left order. The special\n// level of -1 is reserved for undefined order.\ntype level int8\n\nconst implicitLevel level = -1\n\n// in returns if x is equal to any of the values in set.\nfunc (c Class) in(set ...Class) bool {\n\tfor _, s := range set {\n\t\tif c == s {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\n// A paragraph contains the state of a paragraph.\ntype paragraph struct {\n\tinitialTypes []Class\n\n\t// Arrays of properties needed for paired bracket evaluation in N0\n\tpairTypes  []bracketType // paired Bracket types for paragraph\n\tpairValues []rune        // rune for opening bracket or pbOpen and pbClose; 0 for pbNone\n\n\tembeddingLevel level // default: = implicitLevel;\n\n\t// at the paragraph levels\n\tresultTypes  []Class\n\tresultLevels []level\n\n\t// Index of matching PDI for isolate initiator characters. For other\n\t// characters, the value of matchingPDI will be set to -1. For isolate\n\t// initiators with no matching PDI, matchingPDI will be set to the length of\n\t// the input string.\n\tmatchingPDI []int\n\n\t// Index of matching isolate initiator for PDI characters. For other\n\t// characters, and for PDIs with no matching isolate initiator, the value of\n\t// matchingIsolateInitiator will be set to -1.\n\tmatchingIsolateInitiator []int\n}\n\n// newParagraph initializes a paragraph. The user needs to supply a few arrays\n// corresponding to the preprocessed text input. The types correspond to the\n// Unicode BiDi classes for each rune. pairTypes indicates the bracket type for\n// each rune. pairValues provides a unique bracket class identifier for each\n// rune (suggested is the rune of the open bracket for opening and matching\n// close brackets, after normalization). The embedding levels are optional, but\n// may be supplied to encode embedding levels of styled text.\n//\n// TODO: return an error.\nfunc newParagraph(types []Class, pairTypes []bracketType, pairValues []rune, levels level) *paragraph {\n\tvalidateTypes(types)\n\tvalidatePbTypes(pairTypes)\n\tvalidatePbValues(pairValues, pairTypes)\n\tvalidateParagraphEmbeddingLevel(levels)\n\n\tp := &paragraph{\n\t\tinitialTypes:   append([]Class(nil), types...),\n\t\tembeddingLevel: levels,\n\n\t\tpairTypes:  pairTypes,\n\t\tpairValues: pairValues,\n\n\t\tresultTypes: append([]Class(nil), types...),\n\t}\n\tp.run()\n\treturn p\n}\n\nfunc (p *paragraph) Len() int { return len(p.initialTypes) }\n\n// The algorithm. Does not include line-based processing (Rules L1, L2).\n// These are applied later in the line-based phase of the algorithm.\nfunc (p *paragraph) run() {\n\tp.determineMatchingIsolates()\n\n\t// 1) determining the paragraph level\n\t// Rule P1 is the requirement for entering this algorithm.\n\t// Rules P2, P3.\n\t// If no externally supplied paragraph embedding level, use default.\n\tif p.embeddingLevel == implicitLevel {\n\t\tp.embeddingLevel = p.determineParagraphEmbeddingLevel(0, p.Len())\n\t}\n\n\t// Initialize result levels to paragraph embedding level.\n\tp.resultLevels = make([]level, p.Len())\n\tsetLevels(p.resultLevels, p.embeddingLevel)\n\n\t// 2) Explicit levels and directions\n\t// Rules X1-X8.\n\tp.determineExplicitEmbeddingLevels()\n\n\t// Rule X9.\n\t// We do not remove the embeddings, the overrides, the PDFs, and the BNs\n\t// from the string explicitly. But they are not copied into isolating run\n\t// sequences when they are created, so they are removed for all\n\t// practical purposes.\n\n\t// Rule X10.\n\t// Run remainder of algorithm one isolating run sequence at a time\n\tfor _, seq := range p.determineIsolatingRunSequences() {\n\t\t// 3) resolving weak types\n\t\t// Rules W1-W7.\n\t\tseq.resolveWeakTypes()\n\n\t\t// 4a) resolving paired brackets\n\t\t// Rule N0\n\t\tresolvePairedBrackets(seq)\n\n\t\t// 4b) resolving neutral types\n\t\t// Rules N1-N3.\n\t\tseq.resolveNeutralTypes()\n\n\t\t// 5) resolving implicit embedding levels\n\t\t// Rules I1, I2.\n\t\tseq.resolveImplicitLevels()\n\n\t\t// Apply the computed levels and types\n\t\tseq.applyLevelsAndTypes()\n\t}\n\n\t// Assign appropriate levels to 'hide' LREs, RLEs, LROs, RLOs, PDFs, and\n\t// BNs. This is for convenience, so the resulting level array will have\n\t// a value for every character.\n\tp.assignLevelsToCharactersRemovedByX9()\n}\n\n// determineMatchingIsolates determines the matching PDI for each isolate\n// initiator and vice versa.\n//\n// Definition BD9.\n//\n// At the end of this function:\n//\n//  - The member variable matchingPDI is set to point to the index of the\n//    matching PDI character for each isolate initiator character. If there is\n//    no matching PDI, it is set to the length of the input text. For other\n//    characters, it is set to -1.\n//  - The member variable matchingIsolateInitiator is set to point to the\n//    index of the matching isolate initiator character for each PDI character.\n//    If there is no matching isolate initiator, or the character is not a PDI,\n//    it is set to -1.\nfunc (p *paragraph) determineMatchingIsolates() {\n\tp.matchingPDI = make([]int, p.Len())\n\tp.matchingIsolateInitiator = make([]int, p.Len())\n\n\tfor i := range p.matchingIsolateInitiator {\n\t\tp.matchingIsolateInitiator[i] = -1\n\t}\n\n\tfor i := range p.matchingPDI {\n\t\tp.matchingPDI[i] = -1\n\n\t\tif t := p.resultTypes[i]; t.in(LRI, RLI, FSI) {\n\t\t\tdepthCounter := 1\n\t\t\tfor j := i + 1; j < p.Len(); j++ {\n\t\t\t\tif u := p.resultTypes[j]; u.in(LRI, RLI, FSI) {\n\t\t\t\t\tdepthCounter++\n\t\t\t\t} else if u == PDI {\n\t\t\t\t\tif depthCounter--; depthCounter == 0 {\n\t\t\t\t\t\tp.matchingPDI[i] = j\n\t\t\t\t\t\tp.matchingIsolateInitiator[j] = i\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif p.matchingPDI[i] == -1 {\n\t\t\t\tp.matchingPDI[i] = p.Len()\n\t\t\t}\n\t\t}\n\t}\n}\n\n// determineParagraphEmbeddingLevel reports the resolved paragraph direction of\n// the substring limited by the given range [start, end).\n//\n// Determines the paragraph level based on rules P2, P3. This is also used\n// in rule X5c to find if an FSI should resolve to LRI or RLI.\nfunc (p *paragraph) determineParagraphEmbeddingLevel(start, end int) level {\n\tvar strongType Class = unknownClass\n\n\t// Rule P2.\n\tfor i := start; i < end; i++ {\n\t\tif t := p.resultTypes[i]; t.in(L, AL, R) {\n\t\t\tstrongType = t\n\t\t\tbreak\n\t\t} else if t.in(FSI, LRI, RLI) {\n\t\t\ti = p.matchingPDI[i] // skip over to the matching PDI\n\t\t\tif i > end {\n\t\t\t\tlog.Panic(\"assert (i <= end)\")\n\t\t\t}\n\t\t}\n\t}\n\t// Rule P3.\n\tswitch strongType {\n\tcase unknownClass: // none found\n\t\t// default embedding level when no strong types found is 0.\n\t\treturn 0\n\tcase L:\n\t\treturn 0\n\tdefault: // AL, R\n\t\treturn 1\n\t}\n}\n\nconst maxDepth = 125\n\n// This stack will store the embedding levels and override and isolated\n// statuses\ntype directionalStatusStack struct {\n\tstackCounter        int\n\tembeddingLevelStack [maxDepth + 1]level\n\toverrideStatusStack [maxDepth + 1]Class\n\tisolateStatusStack  [maxDepth + 1]bool\n}\n\nfunc (s *directionalStatusStack) empty()     { s.stackCounter = 0 }\nfunc (s *directionalStatusStack) pop()       { s.stackCounter-- }\nfunc (s *directionalStatusStack) depth() int { return s.stackCounter }\n\nfunc (s *directionalStatusStack) push(level level, overrideStatus Class, isolateStatus bool) {\n\ts.embeddingLevelStack[s.stackCounter] = level\n\ts.overrideStatusStack[s.stackCounter] = overrideStatus\n\ts.isolateStatusStack[s.stackCounter] = isolateStatus\n\ts.stackCounter++\n}\n\nfunc (s *directionalStatusStack) lastEmbeddingLevel() level {\n\treturn s.embeddingLevelStack[s.stackCounter-1]\n}\n\nfunc (s *directionalStatusStack) lastDirectionalOverrideStatus() Class {\n\treturn s.overrideStatusStack[s.stackCounter-1]\n}\n\nfunc (s *directionalStatusStack) lastDirectionalIsolateStatus() bool {\n\treturn s.isolateStatusStack[s.stackCounter-1]\n}\n\n// Determine explicit levels using rules X1 - X8\nfunc (p *paragraph) determineExplicitEmbeddingLevels() {\n\tvar stack directionalStatusStack\n\tvar overflowIsolateCount, overflowEmbeddingCount, validIsolateCount int\n\n\t// Rule X1.\n\tstack.push(p.embeddingLevel, ON, false)\n\n\tfor i, t := range p.resultTypes {\n\t\t// Rules X2, X3, X4, X5, X5a, X5b, X5c\n\t\tswitch t {\n\t\tcase RLE, LRE, RLO, LRO, RLI, LRI, FSI:\n\t\t\tisIsolate := t.in(RLI, LRI, FSI)\n\t\t\tisRTL := t.in(RLE, RLO, RLI)\n\n\t\t\t// override if this is an FSI that resolves to RLI\n\t\t\tif t == FSI {\n\t\t\t\tisRTL = (p.determineParagraphEmbeddingLevel(i+1, p.matchingPDI[i]) == 1)\n\t\t\t}\n\t\t\tif isIsolate {\n\t\t\t\tp.resultLevels[i] = stack.lastEmbeddingLevel()\n\t\t\t\tif stack.lastDirectionalOverrideStatus() != ON {\n\t\t\t\t\tp.resultTypes[i] = stack.lastDirectionalOverrideStatus()\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvar newLevel level\n\t\t\tif isRTL {\n\t\t\t\t// least greater odd\n\t\t\t\tnewLevel = (stack.lastEmbeddingLevel() + 1) | 1\n\t\t\t} else {\n\t\t\t\t// least greater even\n\t\t\t\tnewLevel = (stack.lastEmbeddingLevel() + 2) &^ 1\n\t\t\t}\n\n\t\t\tif newLevel <= maxDepth && overflowIsolateCount == 0 && overflowEmbeddingCount == 0 {\n\t\t\t\tif isIsolate {\n\t\t\t\t\tvalidIsolateCount++\n\t\t\t\t}\n\t\t\t\t// Push new embedding level, override status, and isolated\n\t\t\t\t// status.\n\t\t\t\t// No check for valid stack counter, since the level check\n\t\t\t\t// suffices.\n\t\t\t\tswitch t {\n\t\t\t\tcase LRO:\n\t\t\t\t\tstack.push(newLevel, L, isIsolate)\n\t\t\t\tcase RLO:\n\t\t\t\t\tstack.push(newLevel, R, isIsolate)\n\t\t\t\tdefault:\n\t\t\t\t\tstack.push(newLevel, ON, isIsolate)\n\t\t\t\t}\n\t\t\t\t// Not really part of the spec\n\t\t\t\tif !isIsolate {\n\t\t\t\t\tp.resultLevels[i] = newLevel\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// This is an invalid explicit formatting character,\n\t\t\t\t// so apply the \"Otherwise\" part of rules X2-X5b.\n\t\t\t\tif isIsolate {\n\t\t\t\t\toverflowIsolateCount++\n\t\t\t\t} else { // !isIsolate\n\t\t\t\t\tif overflowIsolateCount == 0 {\n\t\t\t\t\t\toverflowEmbeddingCount++\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Rule X6a\n\t\tcase PDI:\n\t\t\tif overflowIsolateCount > 0 {\n\t\t\t\toverflowIsolateCount--\n\t\t\t} else if validIsolateCount == 0 {\n\t\t\t\t// do nothing\n\t\t\t} else {\n\t\t\t\toverflowEmbeddingCount = 0\n\t\t\t\tfor !stack.lastDirectionalIsolateStatus() {\n\t\t\t\t\tstack.pop()\n\t\t\t\t}\n\t\t\t\tstack.pop()\n\t\t\t\tvalidIsolateCount--\n\t\t\t}\n\t\t\tp.resultLevels[i] = stack.lastEmbeddingLevel()\n\n\t\t// Rule X7\n\t\tcase PDF:\n\t\t\t// Not really part of the spec\n\t\t\tp.resultLevels[i] = stack.lastEmbeddingLevel()\n\n\t\t\tif overflowIsolateCount > 0 {\n\t\t\t\t// do nothing\n\t\t\t} else if overflowEmbeddingCount > 0 {\n\t\t\t\toverflowEmbeddingCount--\n\t\t\t} else if !stack.lastDirectionalIsolateStatus() && stack.depth() >= 2 {\n\t\t\t\tstack.pop()\n\t\t\t}\n\n\t\tcase B: // paragraph separator.\n\t\t\t// Rule X8.\n\n\t\t\t// These values are reset for clarity, in this implementation B\n\t\t\t// can only occur as the last code in the array.\n\t\t\tstack.empty()\n\t\t\toverflowIsolateCount = 0\n\t\t\toverflowEmbeddingCount = 0\n\t\t\tvalidIsolateCount = 0\n\t\t\tp.resultLevels[i] = p.embeddingLevel\n\n\t\tdefault:\n\t\t\tp.resultLevels[i] = stack.lastEmbeddingLevel()\n\t\t\tif stack.lastDirectionalOverrideStatus() != ON {\n\t\t\t\tp.resultTypes[i] = stack.lastDirectionalOverrideStatus()\n\t\t\t}\n\t\t}\n\t}\n}\n\ntype isolatingRunSequence struct {\n\tp *paragraph\n\n\tindexes []int // indexes to the original string\n\n\ttypes          []Class // type of each character using the index\n\tresolvedLevels []level // resolved levels after application of rules\n\tlevel          level\n\tsos, eos       Class\n}\n\nfunc (i *isolatingRunSequence) Len() int { return len(i.indexes) }\n\nfunc maxLevel(a, b level) level {\n\tif a > b {\n\t\treturn a\n\t}\n\treturn b\n}\n\n// Rule X10, second bullet: Determine the start-of-sequence (sos) and end-of-sequence (eos) types,\n// \t\t\t either L or R, for each isolating run sequence.\nfunc (p *paragraph) isolatingRunSequence(indexes []int) *isolatingRunSequence {\n\tlength := len(indexes)\n\ttypes := make([]Class, length)\n\tfor i, x := range indexes {\n\t\ttypes[i] = p.resultTypes[x]\n\t}\n\n\t// assign level, sos and eos\n\tprevChar := indexes[0] - 1\n\tfor prevChar >= 0 && isRemovedByX9(p.initialTypes[prevChar]) {\n\t\tprevChar--\n\t}\n\tprevLevel := p.embeddingLevel\n\tif prevChar >= 0 {\n\t\tprevLevel = p.resultLevels[prevChar]\n\t}\n\n\tvar succLevel level\n\tlastType := types[length-1]\n\tif lastType.in(LRI, RLI, FSI) {\n\t\tsuccLevel = p.embeddingLevel\n\t} else {\n\t\t// the first character after the end of run sequence\n\t\tlimit := indexes[length-1] + 1\n\t\tfor ; limit < p.Len() && isRemovedByX9(p.initialTypes[limit]); limit++ {\n\n\t\t}\n\t\tsuccLevel = p.embeddingLevel\n\t\tif limit < p.Len() {\n\t\t\tsuccLevel = p.resultLevels[limit]\n\t\t}\n\t}\n\tlevel := p.resultLevels[indexes[0]]\n\treturn &isolatingRunSequence{\n\t\tp:       p,\n\t\tindexes: indexes,\n\t\ttypes:   types,\n\t\tlevel:   level,\n\t\tsos:     typeForLevel(maxLevel(prevLevel, level)),\n\t\teos:     typeForLevel(maxLevel(succLevel, level)),\n\t}\n}\n\n// Resolving weak types Rules W1-W7.\n//\n// Note that some weak types (EN, AN) remain after this processing is\n// complete.\nfunc (s *isolatingRunSequence) resolveWeakTypes() {\n\n\t// on entry, only these types remain\n\ts.assertOnly(L, R, AL, EN, ES, ET, AN, CS, B, S, WS, ON, NSM, LRI, RLI, FSI, PDI)\n\n\t// Rule W1.\n\t// Changes all NSMs.\n\tpreceedingCharacterType := s.sos\n\tfor i, t := range s.types {\n\t\tif t == NSM {\n\t\t\ts.types[i] = preceedingCharacterType\n\t\t} else {\n\t\t\tif t.in(LRI, RLI, FSI, PDI) {\n\t\t\t\tpreceedingCharacterType = ON\n\t\t\t}\n\t\t\tpreceedingCharacterType = t\n\t\t}\n\t}\n\n\t// Rule W2.\n\t// EN does not change at the start of the run, because sos != AL.\n\tfor i, t := range s.types {\n\t\tif t == EN {\n\t\t\tfor j := i - 1; j >= 0; j-- {\n\t\t\t\tif t := s.types[j]; t.in(L, R, AL) {\n\t\t\t\t\tif t == AL {\n\t\t\t\t\t\ts.types[i] = AN\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Rule W3.\n\tfor i, t := range s.types {\n\t\tif t == AL {\n\t\t\ts.types[i] = R\n\t\t}\n\t}\n\n\t// Rule W4.\n\t// Since there must be values on both sides for this rule to have an\n\t// effect, the scan skips the first and last value.\n\t//\n\t// Although the scan proceeds left to right, and changes the type\n\t// values in a way that would appear to affect the computations\n\t// later in the scan, there is actually no problem. A change in the\n\t// current value can only affect the value to its immediate right,\n\t// and only affect it if it is ES or CS. But the current value can\n\t// only change if the value to its right is not ES or CS. Thus\n\t// either the current value will not change, or its change will have\n\t// no effect on the remainder of the analysis.\n\n\tfor i := 1; i < s.Len()-1; i++ {\n\t\tt := s.types[i]\n\t\tif t == ES || t == CS {\n\t\t\tprevSepType := s.types[i-1]\n\t\t\tsuccSepType := s.types[i+1]\n\t\t\tif prevSepType == EN && succSepType == EN {\n\t\t\t\ts.types[i] = EN\n\t\t\t} else if s.types[i] == CS && prevSepType == AN && succSepType == AN {\n\t\t\t\ts.types[i] = AN\n\t\t\t}\n\t\t}\n\t}\n\n\t// Rule W5.\n\tfor i, t := range s.types {\n\t\tif t == ET {\n\t\t\t// locate end of sequence\n\t\t\trunStart := i\n\t\t\trunEnd := s.findRunLimit(runStart, ET)\n\n\t\t\t// check values at ends of sequence\n\t\t\tt := s.sos\n\t\t\tif runStart > 0 {\n\t\t\t\tt = s.types[runStart-1]\n\t\t\t}\n\t\t\tif t != EN {\n\t\t\t\tt = s.eos\n\t\t\t\tif runEnd < len(s.types) {\n\t\t\t\t\tt = s.types[runEnd]\n\t\t\t\t}\n\t\t\t}\n\t\t\tif t == EN {\n\t\t\t\tsetTypes(s.types[runStart:runEnd], EN)\n\t\t\t}\n\t\t\t// continue at end of sequence\n\t\t\ti = runEnd\n\t\t}\n\t}\n\n\t// Rule W6.\n\tfor i, t := range s.types {\n\t\tif t.in(ES, ET, CS) {\n\t\t\ts.types[i] = ON\n\t\t}\n\t}\n\n\t// Rule W7.\n\tfor i, t := range s.types {\n\t\tif t == EN {\n\t\t\t// set default if we reach start of run\n\t\t\tprevStrongType := s.sos\n\t\t\tfor j := i - 1; j >= 0; j-- {\n\t\t\t\tt = s.types[j]\n\t\t\t\tif t == L || t == R { // AL's have been changed to R\n\t\t\t\t\tprevStrongType = t\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif prevStrongType == L {\n\t\t\t\ts.types[i] = L\n\t\t\t}\n\t\t}\n\t}\n}\n\n// 6) resolving neutral types Rules N1-N2.\nfunc (s *isolatingRunSequence) resolveNeutralTypes() {\n\n\t// on entry, only these types can be in resultTypes\n\ts.assertOnly(L, R, EN, AN, B, S, WS, ON, RLI, LRI, FSI, PDI)\n\n\tfor i, t := range s.types {\n\t\tswitch t {\n\t\tcase WS, ON, B, S, RLI, LRI, FSI, PDI:\n\t\t\t// find bounds of run of neutrals\n\t\t\trunStart := i\n\t\t\trunEnd := s.findRunLimit(runStart, B, S, WS, ON, RLI, LRI, FSI, PDI)\n\n\t\t\t// determine effective types at ends of run\n\t\t\tvar leadType, trailType Class\n\n\t\t\t// Note that the character found can only be L, R, AN, or\n\t\t\t// EN.\n\t\t\tif runStart == 0 {\n\t\t\t\tleadType = s.sos\n\t\t\t} else {\n\t\t\t\tleadType = s.types[runStart-1]\n\t\t\t\tif leadType.in(AN, EN) {\n\t\t\t\t\tleadType = R\n\t\t\t\t}\n\t\t\t}\n\t\t\tif runEnd == len(s.types) {\n\t\t\t\ttrailType = s.eos\n\t\t\t} else {\n\t\t\t\ttrailType = s.types[runEnd]\n\t\t\t\tif trailType.in(AN, EN) {\n\t\t\t\t\ttrailType = R\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvar resolvedType Class\n\t\t\tif leadType == trailType {\n\t\t\t\t// Rule N1.\n\t\t\t\tresolvedType = leadType\n\t\t\t} else {\n\t\t\t\t// Rule N2.\n\t\t\t\t// Notice the embedding level of the run is used, not\n\t\t\t\t// the paragraph embedding level.\n\t\t\t\tresolvedType = typeForLevel(s.level)\n\t\t\t}\n\n\t\t\tsetTypes(s.types[runStart:runEnd], resolvedType)\n\n\t\t\t// skip over run of (former) neutrals\n\t\t\ti = runEnd\n\t\t}\n\t}\n}\n\nfunc setLevels(levels []level, newLevel level) {\n\tfor i := range levels {\n\t\tlevels[i] = newLevel\n\t}\n}\n\nfunc setTypes(types []Class, newType Class) {\n\tfor i := range types {\n\t\ttypes[i] = newType\n\t}\n}\n\n// 7) resolving implicit embedding levels Rules I1, I2.\nfunc (s *isolatingRunSequence) resolveImplicitLevels() {\n\n\t// on entry, only these types can be in resultTypes\n\ts.assertOnly(L, R, EN, AN)\n\n\ts.resolvedLevels = make([]level, len(s.types))\n\tsetLevels(s.resolvedLevels, s.level)\n\n\tif (s.level & 1) == 0 { // even level\n\t\tfor i, t := range s.types {\n\t\t\t// Rule I1.\n\t\t\tif t == L {\n\t\t\t\t// no change\n\t\t\t} else if t == R {\n\t\t\t\ts.resolvedLevels[i] += 1\n\t\t\t} else { // t == AN || t == EN\n\t\t\t\ts.resolvedLevels[i] += 2\n\t\t\t}\n\t\t}\n\t} else { // odd level\n\t\tfor i, t := range s.types {\n\t\t\t// Rule I2.\n\t\t\tif t == R {\n\t\t\t\t// no change\n\t\t\t} else { // t == L || t == AN || t == EN\n\t\t\t\ts.resolvedLevels[i] += 1\n\t\t\t}\n\t\t}\n\t}\n}\n\n// Applies the levels and types resolved in rules W1-I2 to the\n// resultLevels array.\nfunc (s *isolatingRunSequence) applyLevelsAndTypes() {\n\tfor i, x := range s.indexes {\n\t\ts.p.resultTypes[x] = s.types[i]\n\t\ts.p.resultLevels[x] = s.resolvedLevels[i]\n\t}\n}\n\n// Return the limit of the run consisting only of the types in validSet\n// starting at index. This checks the value at index, and will return\n// index if that value is not in validSet.\nfunc (s *isolatingRunSequence) findRunLimit(index int, validSet ...Class) int {\nloop:\n\tfor ; index < len(s.types); index++ {\n\t\tt := s.types[index]\n\t\tfor _, valid := range validSet {\n\t\t\tif t == valid {\n\t\t\t\tcontinue loop\n\t\t\t}\n\t\t}\n\t\treturn index // didn't find a match in validSet\n\t}\n\treturn len(s.types)\n}\n\n// Algorithm validation. Assert that all values in types are in the\n// provided set.\nfunc (s *isolatingRunSequence) assertOnly(codes ...Class) {\nloop:\n\tfor i, t := range s.types {\n\t\tfor _, c := range codes {\n\t\t\tif t == c {\n\t\t\t\tcontinue loop\n\t\t\t}\n\t\t}\n\t\tlog.Panicf(\"invalid bidi code %v present in assertOnly at position %d\", t, s.indexes[i])\n\t}\n}\n\n// determineLevelRuns returns an array of level runs. Each level run is\n// described as an array of indexes into the input string.\n//\n// Determines the level runs. Rule X9 will be applied in determining the\n// runs, in the way that makes sure the characters that are supposed to be\n// removed are not included in the runs.\nfunc (p *paragraph) determineLevelRuns() [][]int {\n\trun := []int{}\n\tallRuns := [][]int{}\n\tcurrentLevel := implicitLevel\n\n\tfor i := range p.initialTypes {\n\t\tif !isRemovedByX9(p.initialTypes[i]) {\n\t\t\tif p.resultLevels[i] != currentLevel {\n\t\t\t\t// we just encountered a new run; wrap up last run\n\t\t\t\tif currentLevel >= 0 { // only wrap it up if there was a run\n\t\t\t\t\tallRuns = append(allRuns, run)\n\t\t\t\t\trun = nil\n\t\t\t\t}\n\t\t\t\t// Start new run\n\t\t\t\tcurrentLevel = p.resultLevels[i]\n\t\t\t}\n\t\t\trun = append(run, i)\n\t\t}\n\t}\n\t// Wrap up the final run, if any\n\tif len(run) > 0 {\n\t\tallRuns = append(allRuns, run)\n\t}\n\treturn allRuns\n}\n\n// Definition BD13. Determine isolating run sequences.\nfunc (p *paragraph) determineIsolatingRunSequences() []*isolatingRunSequence {\n\tlevelRuns := p.determineLevelRuns()\n\n\t// Compute the run that each character belongs to\n\trunForCharacter := make([]int, p.Len())\n\tfor i, run := range levelRuns {\n\t\tfor _, index := range run {\n\t\t\trunForCharacter[index] = i\n\t\t}\n\t}\n\n\tsequences := []*isolatingRunSequence{}\n\n\tvar currentRunSequence []int\n\n\tfor _, run := range levelRuns {\n\t\tfirst := run[0]\n\t\tif p.initialTypes[first] != PDI || p.matchingIsolateInitiator[first] == -1 {\n\t\t\tcurrentRunSequence = nil\n\t\t\t// int run = i;\n\t\t\tfor {\n\t\t\t\t// Copy this level run into currentRunSequence\n\t\t\t\tcurrentRunSequence = append(currentRunSequence, run...)\n\n\t\t\t\tlast := currentRunSequence[len(currentRunSequence)-1]\n\t\t\t\tlastT := p.initialTypes[last]\n\t\t\t\tif lastT.in(LRI, RLI, FSI) && p.matchingPDI[last] != p.Len() {\n\t\t\t\t\trun = levelRuns[runForCharacter[p.matchingPDI[last]]]\n\t\t\t\t} else {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tsequences = append(sequences, p.isolatingRunSequence(currentRunSequence))\n\t\t}\n\t}\n\treturn sequences\n}\n\n// Assign level information to characters removed by rule X9. This is for\n// ease of relating the level information to the original input data. Note\n// that the levels assigned to these codes are arbitrary, they're chosen so\n// as to avoid breaking level runs.\nfunc (p *paragraph) assignLevelsToCharactersRemovedByX9() {\n\tfor i, t := range p.initialTypes {\n\t\tif t.in(LRE, RLE, LRO, RLO, PDF, BN) {\n\t\t\tp.resultTypes[i] = t\n\t\t\tp.resultLevels[i] = -1\n\t\t}\n\t}\n\t// now propagate forward the levels information (could have\n\t// propagated backward, the main thing is not to introduce a level\n\t// break where one doesn't already exist).\n\n\tif p.resultLevels[0] == -1 {\n\t\tp.resultLevels[0] = p.embeddingLevel\n\t}\n\tfor i := 1; i < len(p.initialTypes); i++ {\n\t\tif p.resultLevels[i] == -1 {\n\t\t\tp.resultLevels[i] = p.resultLevels[i-1]\n\t\t}\n\t}\n\t// Embedding information is for informational purposes only so need not be\n\t// adjusted.\n}\n\n//\n// Output\n//\n\n// getLevels computes levels array breaking lines at offsets in linebreaks.\n// Rule L1.\n//\n// The linebreaks array must include at least one value. The values must be\n// in strictly increasing order (no duplicates) between 1 and the length of\n// the text, inclusive. The last value must be the length of the text.\nfunc (p *paragraph) getLevels(linebreaks []int) []level {\n\t// Note that since the previous processing has removed all\n\t// P, S, and WS values from resultTypes, the values referred to\n\t// in these rules are the initial types, before any processing\n\t// has been applied (including processing of overrides).\n\t//\n\t// This example implementation has reinserted explicit format codes\n\t// and BN, in order that the levels array correspond to the\n\t// initial text. Their final placement is not normative.\n\t// These codes are treated like WS in this implementation,\n\t// so they don't interrupt sequences of WS.\n\n\tvalidateLineBreaks(linebreaks, p.Len())\n\n\tresult := append([]level(nil), p.resultLevels...)\n\n\t// don't worry about linebreaks since if there is a break within\n\t// a series of WS values preceding S, the linebreak itself\n\t// causes the reset.\n\tfor i, t := range p.initialTypes {\n\t\tif t.in(B, S) {\n\t\t\t// Rule L1, clauses one and two.\n\t\t\tresult[i] = p.embeddingLevel\n\n\t\t\t// Rule L1, clause three.\n\t\t\tfor j := i - 1; j >= 0; j-- {\n\t\t\t\tif isWhitespace(p.initialTypes[j]) { // including format codes\n\t\t\t\t\tresult[j] = p.embeddingLevel\n\t\t\t\t} else {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Rule L1, clause four.\n\tstart := 0\n\tfor _, limit := range linebreaks {\n\t\tfor j := limit - 1; j >= start; j-- {\n\t\t\tif isWhitespace(p.initialTypes[j]) { // including format codes\n\t\t\t\tresult[j] = p.embeddingLevel\n\t\t\t} else {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tstart = limit\n\t}\n\n\treturn result\n}\n\n// getReordering returns the reordering of lines from a visual index to a\n// logical index for line breaks at the given offsets.\n//\n// Lines are concatenated from left to right. So for example, the fifth\n// character from the left on the third line is\n//\n// \t\tgetReordering(linebreaks)[linebreaks[1] + 4]\n//\n// (linebreaks[1] is the position after the last character of the second\n// line, which is also the index of the first character on the third line,\n// and adding four gets the fifth character from the left).\n//\n// The linebreaks array must include at least one value. The values must be\n// in strictly increasing order (no duplicates) between 1 and the length of\n// the text, inclusive. The last value must be the length of the text.\nfunc (p *paragraph) getReordering(linebreaks []int) []int {\n\tvalidateLineBreaks(linebreaks, p.Len())\n\n\treturn computeMultilineReordering(p.getLevels(linebreaks), linebreaks)\n}\n\n// Return multiline reordering array for a given level array. Reordering\n// does not occur across a line break.\nfunc computeMultilineReordering(levels []level, linebreaks []int) []int {\n\tresult := make([]int, len(levels))\n\n\tstart := 0\n\tfor _, limit := range linebreaks {\n\t\ttempLevels := make([]level, limit-start)\n\t\tcopy(tempLevels, levels[start:])\n\n\t\tfor j, order := range computeReordering(tempLevels) {\n\t\t\tresult[start+j] = order + start\n\t\t}\n\t\tstart = limit\n\t}\n\treturn result\n}\n\n// Return reordering array for a given level array. This reorders a single\n// line. The reordering is a visual to logical map. For example, the\n// leftmost char is string.charAt(order[0]). Rule L2.\nfunc computeReordering(levels []level) []int {\n\tresult := make([]int, len(levels))\n\t// initialize order\n\tfor i := range result {\n\t\tresult[i] = i\n\t}\n\n\t// locate highest level found on line.\n\t// Note the rules say text, but no reordering across line bounds is\n\t// performed, so this is sufficient.\n\thighestLevel := level(0)\n\tlowestOddLevel := level(maxDepth + 2)\n\tfor _, level := range levels {\n\t\tif level > highestLevel {\n\t\t\thighestLevel = level\n\t\t}\n\t\tif level&1 != 0 && level < lowestOddLevel {\n\t\t\tlowestOddLevel = level\n\t\t}\n\t}\n\n\tfor level := highestLevel; level >= lowestOddLevel; level-- {\n\t\tfor i := 0; i < len(levels); i++ {\n\t\t\tif levels[i] >= level {\n\t\t\t\t// find range of text at or above this level\n\t\t\t\tstart := i\n\t\t\t\tlimit := i + 1\n\t\t\t\tfor limit < len(levels) && levels[limit] >= level {\n\t\t\t\t\tlimit++\n\t\t\t\t}\n\n\t\t\t\tfor j, k := start, limit-1; j < k; j, k = j+1, k-1 {\n\t\t\t\t\tresult[j], result[k] = result[k], result[j]\n\t\t\t\t}\n\t\t\t\t// skip to end of level run\n\t\t\t\ti = limit\n\t\t\t}\n\t\t}\n\t}\n\n\treturn result\n}\n\n// isWhitespace reports whether the type is considered a whitespace type for the\n// line break rules.\nfunc isWhitespace(c Class) bool {\n\tswitch c {\n\tcase LRE, RLE, LRO, RLO, PDF, LRI, RLI, FSI, PDI, BN, WS:\n\t\treturn true\n\t}\n\treturn false\n}\n\n// isRemovedByX9 reports whether the type is one of the types removed in X9.\nfunc isRemovedByX9(c Class) bool {\n\tswitch c {\n\tcase LRE, RLE, LRO, RLO, PDF, BN:\n\t\treturn true\n\t}\n\treturn false\n}\n\n// typeForLevel reports the strong type (L or R) corresponding to the level.\nfunc typeForLevel(level level) Class {\n\tif (level & 0x1) == 0 {\n\t\treturn L\n\t}\n\treturn R\n}\n\n// TODO: change validation to not panic\n\nfunc validateTypes(types []Class) {\n\tif len(types) == 0 {\n\t\tlog.Panic(\"types is null\")\n\t}\n\tfor i, t := range types[:len(types)-1] {\n\t\tif t == B {\n\t\t\tlog.Panicf(\"B type before end of paragraph at index: %d\", i)\n\t\t}\n\t}\n}\n\nfunc validateParagraphEmbeddingLevel(embeddingLevel level) {\n\tif embeddingLevel != implicitLevel &&\n\t\tembeddingLevel != 0 &&\n\t\tembeddingLevel != 1 {\n\t\tlog.Panicf(\"illegal paragraph embedding level: %d\", embeddingLevel)\n\t}\n}\n\nfunc validateLineBreaks(linebreaks []int, textLength int) {\n\tprev := 0\n\tfor i, next := range linebreaks {\n\t\tif next <= prev {\n\t\t\tlog.Panicf(\"bad linebreak: %d at index: %d\", next, i)\n\t\t}\n\t\tprev = next\n\t}\n\tif prev != textLength {\n\t\tlog.Panicf(\"last linebreak was %d, want %d\", prev, textLength)\n\t}\n}\n\nfunc validatePbTypes(pairTypes []bracketType) {\n\tif len(pairTypes) == 0 {\n\t\tlog.Panic(\"pairTypes is null\")\n\t}\n\tfor i, pt := range pairTypes {\n\t\tswitch pt {\n\t\tcase bpNone, bpOpen, bpClose:\n\t\tdefault:\n\t\t\tlog.Panicf(\"illegal pairType value at %d: %v\", i, pairTypes[i])\n\t\t}\n\t}\n}\n\nfunc validatePbValues(pairValues []rune, pairTypes []bracketType) {\n\tif pairValues == nil {\n\t\tlog.Panic(\"pairValues is null\")\n\t}\n\tif len(pairTypes) != len(pairValues) {\n\t\tlog.Panic(\"pairTypes is different length from pairValues\")\n\t}\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/bidi/gen.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\npackage main\n\nimport (\n\t\"flag\"\n\t\"log\"\n\n\t\"golang.org/x/text/internal/gen\"\n\t\"golang.org/x/text/internal/triegen\"\n\t\"golang.org/x/text/internal/ucd\"\n)\n\nvar outputFile = flag.String(\"out\", \"tables.go\", \"output file\")\n\nfunc main() {\n\tgen.Init()\n\tgen.Repackage(\"gen_trieval.go\", \"trieval.go\", \"bidi\")\n\tgen.Repackage(\"gen_ranges.go\", \"ranges_test.go\", \"bidi\")\n\n\tgenTables()\n}\n\n// bidiClass names and codes taken from class \"bc\" in\n// http://www.unicode.org/Public/8.0.0/ucd/PropertyValueAliases.txt\nvar bidiClass = map[string]Class{\n\t\"AL\":  AL,  // ArabicLetter\n\t\"AN\":  AN,  // ArabicNumber\n\t\"B\":   B,   // ParagraphSeparator\n\t\"BN\":  BN,  // BoundaryNeutral\n\t\"CS\":  CS,  // CommonSeparator\n\t\"EN\":  EN,  // EuropeanNumber\n\t\"ES\":  ES,  // EuropeanSeparator\n\t\"ET\":  ET,  // EuropeanTerminator\n\t\"L\":   L,   // LeftToRight\n\t\"NSM\": NSM, // NonspacingMark\n\t\"ON\":  ON,  // OtherNeutral\n\t\"R\":   R,   // RightToLeft\n\t\"S\":   S,   // SegmentSeparator\n\t\"WS\":  WS,  // WhiteSpace\n\n\t\"FSI\": Control,\n\t\"PDF\": Control,\n\t\"PDI\": Control,\n\t\"LRE\": Control,\n\t\"LRI\": Control,\n\t\"LRO\": Control,\n\t\"RLE\": Control,\n\t\"RLI\": Control,\n\t\"RLO\": Control,\n}\n\nfunc genTables() {\n\tif numClass > 0x0F {\n\t\tlog.Fatalf(\"Too many Class constants (%#x > 0x0F).\", numClass)\n\t}\n\tw := gen.NewCodeWriter()\n\tdefer w.WriteVersionedGoFile(*outputFile, \"bidi\")\n\n\tgen.WriteUnicodeVersion(w)\n\n\tt := triegen.NewTrie(\"bidi\")\n\n\t// Build data about bracket mapping. These bits need to be or-ed with\n\t// any other bits.\n\torMask := map[rune]uint64{}\n\n\txorMap := map[rune]int{}\n\txorMasks := []rune{0} // First value is no-op.\n\n\tucd.Parse(gen.OpenUCDFile(\"BidiBrackets.txt\"), func(p *ucd.Parser) {\n\t\tr1 := p.Rune(0)\n\t\tr2 := p.Rune(1)\n\t\txor := r1 ^ r2\n\t\tif _, ok := xorMap[xor]; !ok {\n\t\t\txorMap[xor] = len(xorMasks)\n\t\t\txorMasks = append(xorMasks, xor)\n\t\t}\n\t\tentry := uint64(xorMap[xor]) << xorMaskShift\n\t\tswitch p.String(2) {\n\t\tcase \"o\":\n\t\t\tentry |= openMask\n\t\tcase \"c\", \"n\":\n\t\tdefault:\n\t\t\tlog.Fatalf(\"Unknown bracket class %q.\", p.String(2))\n\t\t}\n\t\torMask[r1] = entry\n\t})\n\n\tw.WriteComment(`\n\txorMasks contains masks to be xor-ed with brackets to get the reverse\n\tversion.`)\n\tw.WriteVar(\"xorMasks\", xorMasks)\n\n\tdone := map[rune]bool{}\n\n\tinsert := func(r rune, c Class) {\n\t\tif !done[r] {\n\t\t\tt.Insert(r, orMask[r]|uint64(c))\n\t\t\tdone[r] = true\n\t\t}\n\t}\n\n\t// Insert the derived BiDi properties.\n\tucd.Parse(gen.OpenUCDFile(\"extracted/DerivedBidiClass.txt\"), func(p *ucd.Parser) {\n\t\tr := p.Rune(0)\n\t\tclass, ok := bidiClass[p.String(1)]\n\t\tif !ok {\n\t\t\tlog.Fatalf(\"%U: Unknown BiDi class %q\", r, p.String(1))\n\t\t}\n\t\tinsert(r, class)\n\t})\n\tvisitDefaults(insert)\n\n\t// TODO: use sparse blocks. This would reduce table size considerably\n\t// from the looks of it.\n\n\tsz, err := t.Gen(w)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\tw.Size += sz\n}\n\n// dummy values to make methods in gen_common compile. The real versions\n// will be generated by this file to tables.go.\nvar (\n\txorMasks []rune\n)\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/bidi/gen_ranges.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\npackage main\n\nimport (\n\t\"unicode\"\n\n\t\"golang.org/x/text/internal/gen\"\n\t\"golang.org/x/text/internal/ucd\"\n\t\"golang.org/x/text/unicode/rangetable\"\n)\n\n// These tables are hand-extracted from:\n// http://www.unicode.org/Public/8.0.0/ucd/extracted/DerivedBidiClass.txt\nfunc visitDefaults(fn func(r rune, c Class)) {\n\t// first write default values for ranges listed above.\n\tvisitRunes(fn, AL, []rune{\n\t\t0x0600, 0x07BF, // Arabic\n\t\t0x08A0, 0x08FF, // Arabic Extended-A\n\t\t0xFB50, 0xFDCF, // Arabic Presentation Forms\n\t\t0xFDF0, 0xFDFF,\n\t\t0xFE70, 0xFEFF,\n\t\t0x0001EE00, 0x0001EEFF, // Arabic Mathematical Alpha Symbols\n\t})\n\tvisitRunes(fn, R, []rune{\n\t\t0x0590, 0x05FF, // Hebrew\n\t\t0x07C0, 0x089F, // Nko et al.\n\t\t0xFB1D, 0xFB4F,\n\t\t0x00010800, 0x00010FFF, // Cypriot Syllabary et. al.\n\t\t0x0001E800, 0x0001EDFF,\n\t\t0x0001EF00, 0x0001EFFF,\n\t})\n\tvisitRunes(fn, ET, []rune{ // European Terminator\n\t\t0x20A0, 0x20Cf, // Currency symbols\n\t})\n\trangetable.Visit(unicode.Noncharacter_Code_Point, func(r rune) {\n\t\tfn(r, BN) // Boundary Neutral\n\t})\n\tucd.Parse(gen.OpenUCDFile(\"DerivedCoreProperties.txt\"), func(p *ucd.Parser) {\n\t\tif p.String(1) == \"Default_Ignorable_Code_Point\" {\n\t\t\tfn(p.Rune(0), BN) // Boundary Neutral\n\t\t}\n\t})\n}\n\nfunc visitRunes(fn func(r rune, c Class), c Class, runes []rune) {\n\tfor i := 0; i < len(runes); i += 2 {\n\t\tlo, hi := runes[i], runes[i+1]\n\t\tfor j := lo; j <= hi; j++ {\n\t\t\tfn(j, c)\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/bidi/gen_trieval.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\npackage main\n\n// Class is the Unicode BiDi class. Each rune has a single class.\ntype Class uint\n\nconst (\n\tL       Class = iota // LeftToRight\n\tR                    // RightToLeft\n\tEN                   // EuropeanNumber\n\tES                   // EuropeanSeparator\n\tET                   // EuropeanTerminator\n\tAN                   // ArabicNumber\n\tCS                   // CommonSeparator\n\tB                    // ParagraphSeparator\n\tS                    // SegmentSeparator\n\tWS                   // WhiteSpace\n\tON                   // OtherNeutral\n\tBN                   // BoundaryNeutral\n\tNSM                  // NonspacingMark\n\tAL                   // ArabicLetter\n\tControl              // Control LRO - PDI\n\n\tnumClass\n\n\tLRO // LeftToRightOverride\n\tRLO // RightToLeftOverride\n\tLRE // LeftToRightEmbedding\n\tRLE // RightToLeftEmbedding\n\tPDF // PopDirectionalFormat\n\tLRI // LeftToRightIsolate\n\tRLI // RightToLeftIsolate\n\tFSI // FirstStrongIsolate\n\tPDI // PopDirectionalIsolate\n\n\tunknownClass = ^Class(0)\n)\n\nvar controlToClass = map[rune]Class{\n\t0x202D: LRO, // LeftToRightOverride,\n\t0x202E: RLO, // RightToLeftOverride,\n\t0x202A: LRE, // LeftToRightEmbedding,\n\t0x202B: RLE, // RightToLeftEmbedding,\n\t0x202C: PDF, // PopDirectionalFormat,\n\t0x2066: LRI, // LeftToRightIsolate,\n\t0x2067: RLI, // RightToLeftIsolate,\n\t0x2068: FSI, // FirstStrongIsolate,\n\t0x2069: PDI, // PopDirectionalIsolate,\n}\n\n// A trie entry has the following bits:\n// 7..5  XOR mask for brackets\n// 4     1: Bracket open, 0: Bracket close\n// 3..0  Class type\n\nconst (\n\topenMask     = 0x10\n\txorMaskShift = 5\n)\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/bidi/prop.go",
    "content": "// Copyright 2016 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage bidi\n\nimport \"unicode/utf8\"\n\n// Properties provides access to BiDi properties of runes.\ntype Properties struct {\n\tentry uint8\n\tlast  uint8\n}\n\nvar trie = newBidiTrie(0)\n\n// TODO: using this for bidirule reduces the running time by about 5%. Consider\n// if this is worth exposing or if we can find a way to speed up the Class\n// method.\n//\n// // CompactClass is like Class, but maps all of the BiDi control classes\n// // (LRO, RLO, LRE, RLE, PDF, LRI, RLI, FSI, PDI) to the class Control.\n// func (p Properties) CompactClass() Class {\n// \treturn Class(p.entry & 0x0F)\n// }\n\n// Class returns the Bidi class for p.\nfunc (p Properties) Class() Class {\n\tc := Class(p.entry & 0x0F)\n\tif c == Control {\n\t\tc = controlByteToClass[p.last&0xF]\n\t}\n\treturn c\n}\n\n// IsBracket reports whether the rune is a bracket.\nfunc (p Properties) IsBracket() bool { return p.entry&0xF0 != 0 }\n\n// IsOpeningBracket reports whether the rune is an opening bracket.\n// IsBracket must return true.\nfunc (p Properties) IsOpeningBracket() bool { return p.entry&openMask != 0 }\n\n// TODO: find a better API and expose.\nfunc (p Properties) reverseBracket(r rune) rune {\n\treturn xorMasks[p.entry>>xorMaskShift] ^ r\n}\n\nvar controlByteToClass = [16]Class{\n\t0xD: LRO, // U+202D LeftToRightOverride,\n\t0xE: RLO, // U+202E RightToLeftOverride,\n\t0xA: LRE, // U+202A LeftToRightEmbedding,\n\t0xB: RLE, // U+202B RightToLeftEmbedding,\n\t0xC: PDF, // U+202C PopDirectionalFormat,\n\t0x6: LRI, // U+2066 LeftToRightIsolate,\n\t0x7: RLI, // U+2067 RightToLeftIsolate,\n\t0x8: FSI, // U+2068 FirstStrongIsolate,\n\t0x9: PDI, // U+2069 PopDirectionalIsolate,\n}\n\n// LookupRune returns properties for r.\nfunc LookupRune(r rune) (p Properties, size int) {\n\tvar buf [4]byte\n\tn := utf8.EncodeRune(buf[:], r)\n\treturn Lookup(buf[:n])\n}\n\n// TODO: these lookup methods are based on the generated trie code. The returned\n// sizes have slightly different semantics from the generated code, in that it\n// always returns size==1 for an illegal UTF-8 byte (instead of the length\n// of the maximum invalid subsequence). Most Transformers, like unicode/norm,\n// leave invalid UTF-8 untouched, in which case it has performance benefits to\n// do so (without changing the semantics). Bidi requires the semantics used here\n// for the bidirule implementation to be compatible with the Go semantics.\n//  They ultimately should perhaps be adopted by all trie implementations, for\n// convenience sake.\n// This unrolled code also boosts performance of the secure/bidirule package by\n// about 30%.\n// So, to remove this code:\n//   - add option to trie generator to define return type.\n//   - always return 1 byte size for ill-formed UTF-8 runes.\n\n// Lookup returns properties for the first rune in s and the width in bytes of\n// its encoding. The size will be 0 if s does not hold enough bytes to complete\n// the encoding.\nfunc Lookup(s []byte) (p Properties, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < 0x80: // is ASCII\n\t\treturn Properties{entry: bidiValues[c0]}, 1\n\tcase c0 < 0xC2:\n\t\treturn Properties{}, 1\n\tcase c0 < 0xE0: // 2-byte UTF-8\n\t\tif len(s) < 2 {\n\t\t\treturn Properties{}, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn Properties{}, 1\n\t\t}\n\t\treturn Properties{entry: trie.lookupValue(uint32(i), c1)}, 2\n\tcase c0 < 0xF0: // 3-byte UTF-8\n\t\tif len(s) < 3 {\n\t\t\treturn Properties{}, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn Properties{}, 1\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = bidiIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn Properties{}, 1\n\t\t}\n\t\treturn Properties{entry: trie.lookupValue(uint32(i), c2), last: c2}, 3\n\tcase c0 < 0xF8: // 4-byte UTF-8\n\t\tif len(s) < 4 {\n\t\t\treturn Properties{}, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn Properties{}, 1\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = bidiIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn Properties{}, 1\n\t\t}\n\t\to = uint32(i)<<6 + uint32(c2)\n\t\ti = bidiIndex[o]\n\t\tc3 := s[3]\n\t\tif c3 < 0x80 || 0xC0 <= c3 {\n\t\t\treturn Properties{}, 1\n\t\t}\n\t\treturn Properties{entry: trie.lookupValue(uint32(i), c3)}, 4\n\t}\n\t// Illegal rune\n\treturn Properties{}, 1\n}\n\n// LookupString returns properties for the first rune in s and the width in\n// bytes of its encoding. The size will be 0 if s does not hold enough bytes to\n// complete the encoding.\nfunc LookupString(s string) (p Properties, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < 0x80: // is ASCII\n\t\treturn Properties{entry: bidiValues[c0]}, 1\n\tcase c0 < 0xC2:\n\t\treturn Properties{}, 1\n\tcase c0 < 0xE0: // 2-byte UTF-8\n\t\tif len(s) < 2 {\n\t\t\treturn Properties{}, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn Properties{}, 1\n\t\t}\n\t\treturn Properties{entry: trie.lookupValue(uint32(i), c1)}, 2\n\tcase c0 < 0xF0: // 3-byte UTF-8\n\t\tif len(s) < 3 {\n\t\t\treturn Properties{}, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn Properties{}, 1\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = bidiIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn Properties{}, 1\n\t\t}\n\t\treturn Properties{entry: trie.lookupValue(uint32(i), c2), last: c2}, 3\n\tcase c0 < 0xF8: // 4-byte UTF-8\n\t\tif len(s) < 4 {\n\t\t\treturn Properties{}, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn Properties{}, 1\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = bidiIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn Properties{}, 1\n\t\t}\n\t\to = uint32(i)<<6 + uint32(c2)\n\t\ti = bidiIndex[o]\n\t\tc3 := s[3]\n\t\tif c3 < 0x80 || 0xC0 <= c3 {\n\t\t\treturn Properties{}, 1\n\t\t}\n\t\treturn Properties{entry: trie.lookupValue(uint32(i), c3)}, 4\n\t}\n\t// Illegal rune\n\treturn Properties{}, 1\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\n// +build go1.10\n\npackage bidi\n\n// UnicodeVersion is the Unicode version from which the tables in this package are derived.\nconst UnicodeVersion = \"10.0.0\"\n\n// xorMasks contains masks to be xor-ed with brackets to get the reverse\n// version.\nvar xorMasks = []int32{ // 8 elements\n\t0, 1, 6, 7, 3, 15, 29, 63,\n} // Size: 56 bytes\n\n// lookup returns the trie value for the first UTF-8 encoding in s and\n// the width in bytes of this encoding. The size will be 0 if s does not\n// hold enough bytes to complete the encoding. len(s) must be greater than 0.\nfunc (t *bidiTrie) lookup(s []byte) (v uint8, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < 0x80: // is ASCII\n\t\treturn bidiValues[c0], 1\n\tcase c0 < 0xC2:\n\t\treturn 0, 1 // Illegal UTF-8: not a starter, not ASCII.\n\tcase c0 < 0xE0: // 2-byte UTF-8\n\t\tif len(s) < 2 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c1), 2\n\tcase c0 < 0xF0: // 3-byte UTF-8\n\t\tif len(s) < 3 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = bidiIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c2), 3\n\tcase c0 < 0xF8: // 4-byte UTF-8\n\t\tif len(s) < 4 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = bidiIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to = uint32(i)<<6 + uint32(c2)\n\t\ti = bidiIndex[o]\n\t\tc3 := s[3]\n\t\tif c3 < 0x80 || 0xC0 <= c3 {\n\t\t\treturn 0, 3 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c3), 4\n\t}\n\t// Illegal rune\n\treturn 0, 1\n}\n\n// lookupUnsafe returns the trie value for the first UTF-8 encoding in s.\n// s must start with a full and valid UTF-8 encoded rune.\nfunc (t *bidiTrie) lookupUnsafe(s []byte) uint8 {\n\tc0 := s[0]\n\tif c0 < 0x80 { // is ASCII\n\t\treturn bidiValues[c0]\n\t}\n\ti := bidiIndex[c0]\n\tif c0 < 0xE0 { // 2-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[1])\n\t}\n\ti = bidiIndex[uint32(i)<<6+uint32(s[1])]\n\tif c0 < 0xF0 { // 3-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[2])\n\t}\n\ti = bidiIndex[uint32(i)<<6+uint32(s[2])]\n\tif c0 < 0xF8 { // 4-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[3])\n\t}\n\treturn 0\n}\n\n// lookupString returns the trie value for the first UTF-8 encoding in s and\n// the width in bytes of this encoding. The size will be 0 if s does not\n// hold enough bytes to complete the encoding. len(s) must be greater than 0.\nfunc (t *bidiTrie) lookupString(s string) (v uint8, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < 0x80: // is ASCII\n\t\treturn bidiValues[c0], 1\n\tcase c0 < 0xC2:\n\t\treturn 0, 1 // Illegal UTF-8: not a starter, not ASCII.\n\tcase c0 < 0xE0: // 2-byte UTF-8\n\t\tif len(s) < 2 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c1), 2\n\tcase c0 < 0xF0: // 3-byte UTF-8\n\t\tif len(s) < 3 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = bidiIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c2), 3\n\tcase c0 < 0xF8: // 4-byte UTF-8\n\t\tif len(s) < 4 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = bidiIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to = uint32(i)<<6 + uint32(c2)\n\t\ti = bidiIndex[o]\n\t\tc3 := s[3]\n\t\tif c3 < 0x80 || 0xC0 <= c3 {\n\t\t\treturn 0, 3 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c3), 4\n\t}\n\t// Illegal rune\n\treturn 0, 1\n}\n\n// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s.\n// s must start with a full and valid UTF-8 encoded rune.\nfunc (t *bidiTrie) lookupStringUnsafe(s string) uint8 {\n\tc0 := s[0]\n\tif c0 < 0x80 { // is ASCII\n\t\treturn bidiValues[c0]\n\t}\n\ti := bidiIndex[c0]\n\tif c0 < 0xE0 { // 2-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[1])\n\t}\n\ti = bidiIndex[uint32(i)<<6+uint32(s[1])]\n\tif c0 < 0xF0 { // 3-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[2])\n\t}\n\ti = bidiIndex[uint32(i)<<6+uint32(s[2])]\n\tif c0 < 0xF8 { // 4-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[3])\n\t}\n\treturn 0\n}\n\n// bidiTrie. Total size: 16128 bytes (15.75 KiB). Checksum: 8122d83e461996f.\ntype bidiTrie struct{}\n\nfunc newBidiTrie(i int) *bidiTrie {\n\treturn &bidiTrie{}\n}\n\n// lookupValue determines the type of block n and looks up the value for b.\nfunc (t *bidiTrie) lookupValue(n uint32, b byte) uint8 {\n\tswitch {\n\tdefault:\n\t\treturn uint8(bidiValues[n<<6+uint32(b)])\n\t}\n}\n\n// bidiValues: 228 blocks, 14592 entries, 14592 bytes\n// The third block is the zero block.\nvar bidiValues = [14592]uint8{\n\t// Block 0x0, offset 0x0\n\t0x00: 0x000b, 0x01: 0x000b, 0x02: 0x000b, 0x03: 0x000b, 0x04: 0x000b, 0x05: 0x000b,\n\t0x06: 0x000b, 0x07: 0x000b, 0x08: 0x000b, 0x09: 0x0008, 0x0a: 0x0007, 0x0b: 0x0008,\n\t0x0c: 0x0009, 0x0d: 0x0007, 0x0e: 0x000b, 0x0f: 0x000b, 0x10: 0x000b, 0x11: 0x000b,\n\t0x12: 0x000b, 0x13: 0x000b, 0x14: 0x000b, 0x15: 0x000b, 0x16: 0x000b, 0x17: 0x000b,\n\t0x18: 0x000b, 0x19: 0x000b, 0x1a: 0x000b, 0x1b: 0x000b, 0x1c: 0x0007, 0x1d: 0x0007,\n\t0x1e: 0x0007, 0x1f: 0x0008, 0x20: 0x0009, 0x21: 0x000a, 0x22: 0x000a, 0x23: 0x0004,\n\t0x24: 0x0004, 0x25: 0x0004, 0x26: 0x000a, 0x27: 0x000a, 0x28: 0x003a, 0x29: 0x002a,\n\t0x2a: 0x000a, 0x2b: 0x0003, 0x2c: 0x0006, 0x2d: 0x0003, 0x2e: 0x0006, 0x2f: 0x0006,\n\t0x30: 0x0002, 0x31: 0x0002, 0x32: 0x0002, 0x33: 0x0002, 0x34: 0x0002, 0x35: 0x0002,\n\t0x36: 0x0002, 0x37: 0x0002, 0x38: 0x0002, 0x39: 0x0002, 0x3a: 0x0006, 0x3b: 0x000a,\n\t0x3c: 0x000a, 0x3d: 0x000a, 0x3e: 0x000a, 0x3f: 0x000a,\n\t// Block 0x1, offset 0x40\n\t0x40: 0x000a,\n\t0x5b: 0x005a, 0x5c: 0x000a, 0x5d: 0x004a,\n\t0x5e: 0x000a, 0x5f: 0x000a, 0x60: 0x000a,\n\t0x7b: 0x005a,\n\t0x7c: 0x000a, 0x7d: 0x004a, 0x7e: 0x000a, 0x7f: 0x000b,\n\t// Block 0x2, offset 0x80\n\t// Block 0x3, offset 0xc0\n\t0xc0: 0x000b, 0xc1: 0x000b, 0xc2: 0x000b, 0xc3: 0x000b, 0xc4: 0x000b, 0xc5: 0x0007,\n\t0xc6: 0x000b, 0xc7: 0x000b, 0xc8: 0x000b, 0xc9: 0x000b, 0xca: 0x000b, 0xcb: 0x000b,\n\t0xcc: 0x000b, 0xcd: 0x000b, 0xce: 0x000b, 0xcf: 0x000b, 0xd0: 0x000b, 0xd1: 0x000b,\n\t0xd2: 0x000b, 0xd3: 0x000b, 0xd4: 0x000b, 0xd5: 0x000b, 0xd6: 0x000b, 0xd7: 0x000b,\n\t0xd8: 0x000b, 0xd9: 0x000b, 0xda: 0x000b, 0xdb: 0x000b, 0xdc: 0x000b, 0xdd: 0x000b,\n\t0xde: 0x000b, 0xdf: 0x000b, 0xe0: 0x0006, 0xe1: 0x000a, 0xe2: 0x0004, 0xe3: 0x0004,\n\t0xe4: 0x0004, 0xe5: 0x0004, 0xe6: 0x000a, 0xe7: 0x000a, 0xe8: 0x000a, 0xe9: 0x000a,\n\t0xeb: 0x000a, 0xec: 0x000a, 0xed: 0x000b, 0xee: 0x000a, 0xef: 0x000a,\n\t0xf0: 0x0004, 0xf1: 0x0004, 0xf2: 0x0002, 0xf3: 0x0002, 0xf4: 0x000a,\n\t0xf6: 0x000a, 0xf7: 0x000a, 0xf8: 0x000a, 0xf9: 0x0002, 0xfb: 0x000a,\n\t0xfc: 0x000a, 0xfd: 0x000a, 0xfe: 0x000a, 0xff: 0x000a,\n\t// Block 0x4, offset 0x100\n\t0x117: 0x000a,\n\t0x137: 0x000a,\n\t// Block 0x5, offset 0x140\n\t0x179: 0x000a, 0x17a: 0x000a,\n\t// Block 0x6, offset 0x180\n\t0x182: 0x000a, 0x183: 0x000a, 0x184: 0x000a, 0x185: 0x000a,\n\t0x186: 0x000a, 0x187: 0x000a, 0x188: 0x000a, 0x189: 0x000a, 0x18a: 0x000a, 0x18b: 0x000a,\n\t0x18c: 0x000a, 0x18d: 0x000a, 0x18e: 0x000a, 0x18f: 0x000a,\n\t0x192: 0x000a, 0x193: 0x000a, 0x194: 0x000a, 0x195: 0x000a, 0x196: 0x000a, 0x197: 0x000a,\n\t0x198: 0x000a, 0x199: 0x000a, 0x19a: 0x000a, 0x19b: 0x000a, 0x19c: 0x000a, 0x19d: 0x000a,\n\t0x19e: 0x000a, 0x19f: 0x000a,\n\t0x1a5: 0x000a, 0x1a6: 0x000a, 0x1a7: 0x000a, 0x1a8: 0x000a, 0x1a9: 0x000a,\n\t0x1aa: 0x000a, 0x1ab: 0x000a, 0x1ac: 0x000a, 0x1ad: 0x000a, 0x1af: 0x000a,\n\t0x1b0: 0x000a, 0x1b1: 0x000a, 0x1b2: 0x000a, 0x1b3: 0x000a, 0x1b4: 0x000a, 0x1b5: 0x000a,\n\t0x1b6: 0x000a, 0x1b7: 0x000a, 0x1b8: 0x000a, 0x1b9: 0x000a, 0x1ba: 0x000a, 0x1bb: 0x000a,\n\t0x1bc: 0x000a, 0x1bd: 0x000a, 0x1be: 0x000a, 0x1bf: 0x000a,\n\t// Block 0x7, offset 0x1c0\n\t0x1c0: 0x000c, 0x1c1: 0x000c, 0x1c2: 0x000c, 0x1c3: 0x000c, 0x1c4: 0x000c, 0x1c5: 0x000c,\n\t0x1c6: 0x000c, 0x1c7: 0x000c, 0x1c8: 0x000c, 0x1c9: 0x000c, 0x1ca: 0x000c, 0x1cb: 0x000c,\n\t0x1cc: 0x000c, 0x1cd: 0x000c, 0x1ce: 0x000c, 0x1cf: 0x000c, 0x1d0: 0x000c, 0x1d1: 0x000c,\n\t0x1d2: 0x000c, 0x1d3: 0x000c, 0x1d4: 0x000c, 0x1d5: 0x000c, 0x1d6: 0x000c, 0x1d7: 0x000c,\n\t0x1d8: 0x000c, 0x1d9: 0x000c, 0x1da: 0x000c, 0x1db: 0x000c, 0x1dc: 0x000c, 0x1dd: 0x000c,\n\t0x1de: 0x000c, 0x1df: 0x000c, 0x1e0: 0x000c, 0x1e1: 0x000c, 0x1e2: 0x000c, 0x1e3: 0x000c,\n\t0x1e4: 0x000c, 0x1e5: 0x000c, 0x1e6: 0x000c, 0x1e7: 0x000c, 0x1e8: 0x000c, 0x1e9: 0x000c,\n\t0x1ea: 0x000c, 0x1eb: 0x000c, 0x1ec: 0x000c, 0x1ed: 0x000c, 0x1ee: 0x000c, 0x1ef: 0x000c,\n\t0x1f0: 0x000c, 0x1f1: 0x000c, 0x1f2: 0x000c, 0x1f3: 0x000c, 0x1f4: 0x000c, 0x1f5: 0x000c,\n\t0x1f6: 0x000c, 0x1f7: 0x000c, 0x1f8: 0x000c, 0x1f9: 0x000c, 0x1fa: 0x000c, 0x1fb: 0x000c,\n\t0x1fc: 0x000c, 0x1fd: 0x000c, 0x1fe: 0x000c, 0x1ff: 0x000c,\n\t// Block 0x8, offset 0x200\n\t0x200: 0x000c, 0x201: 0x000c, 0x202: 0x000c, 0x203: 0x000c, 0x204: 0x000c, 0x205: 0x000c,\n\t0x206: 0x000c, 0x207: 0x000c, 0x208: 0x000c, 0x209: 0x000c, 0x20a: 0x000c, 0x20b: 0x000c,\n\t0x20c: 0x000c, 0x20d: 0x000c, 0x20e: 0x000c, 0x20f: 0x000c, 0x210: 0x000c, 0x211: 0x000c,\n\t0x212: 0x000c, 0x213: 0x000c, 0x214: 0x000c, 0x215: 0x000c, 0x216: 0x000c, 0x217: 0x000c,\n\t0x218: 0x000c, 0x219: 0x000c, 0x21a: 0x000c, 0x21b: 0x000c, 0x21c: 0x000c, 0x21d: 0x000c,\n\t0x21e: 0x000c, 0x21f: 0x000c, 0x220: 0x000c, 0x221: 0x000c, 0x222: 0x000c, 0x223: 0x000c,\n\t0x224: 0x000c, 0x225: 0x000c, 0x226: 0x000c, 0x227: 0x000c, 0x228: 0x000c, 0x229: 0x000c,\n\t0x22a: 0x000c, 0x22b: 0x000c, 0x22c: 0x000c, 0x22d: 0x000c, 0x22e: 0x000c, 0x22f: 0x000c,\n\t0x234: 0x000a, 0x235: 0x000a,\n\t0x23e: 0x000a,\n\t// Block 0x9, offset 0x240\n\t0x244: 0x000a, 0x245: 0x000a,\n\t0x247: 0x000a,\n\t// Block 0xa, offset 0x280\n\t0x2b6: 0x000a,\n\t// Block 0xb, offset 0x2c0\n\t0x2c3: 0x000c, 0x2c4: 0x000c, 0x2c5: 0x000c,\n\t0x2c6: 0x000c, 0x2c7: 0x000c, 0x2c8: 0x000c, 0x2c9: 0x000c,\n\t// Block 0xc, offset 0x300\n\t0x30a: 0x000a,\n\t0x30d: 0x000a, 0x30e: 0x000a, 0x30f: 0x0004, 0x310: 0x0001, 0x311: 0x000c,\n\t0x312: 0x000c, 0x313: 0x000c, 0x314: 0x000c, 0x315: 0x000c, 0x316: 0x000c, 0x317: 0x000c,\n\t0x318: 0x000c, 0x319: 0x000c, 0x31a: 0x000c, 0x31b: 0x000c, 0x31c: 0x000c, 0x31d: 0x000c,\n\t0x31e: 0x000c, 0x31f: 0x000c, 0x320: 0x000c, 0x321: 0x000c, 0x322: 0x000c, 0x323: 0x000c,\n\t0x324: 0x000c, 0x325: 0x000c, 0x326: 0x000c, 0x327: 0x000c, 0x328: 0x000c, 0x329: 0x000c,\n\t0x32a: 0x000c, 0x32b: 0x000c, 0x32c: 0x000c, 0x32d: 0x000c, 0x32e: 0x000c, 0x32f: 0x000c,\n\t0x330: 0x000c, 0x331: 0x000c, 0x332: 0x000c, 0x333: 0x000c, 0x334: 0x000c, 0x335: 0x000c,\n\t0x336: 0x000c, 0x337: 0x000c, 0x338: 0x000c, 0x339: 0x000c, 0x33a: 0x000c, 0x33b: 0x000c,\n\t0x33c: 0x000c, 0x33d: 0x000c, 0x33e: 0x0001, 0x33f: 0x000c,\n\t// Block 0xd, offset 0x340\n\t0x340: 0x0001, 0x341: 0x000c, 0x342: 0x000c, 0x343: 0x0001, 0x344: 0x000c, 0x345: 0x000c,\n\t0x346: 0x0001, 0x347: 0x000c, 0x348: 0x0001, 0x349: 0x0001, 0x34a: 0x0001, 0x34b: 0x0001,\n\t0x34c: 0x0001, 0x34d: 0x0001, 0x34e: 0x0001, 0x34f: 0x0001, 0x350: 0x0001, 0x351: 0x0001,\n\t0x352: 0x0001, 0x353: 0x0001, 0x354: 0x0001, 0x355: 0x0001, 0x356: 0x0001, 0x357: 0x0001,\n\t0x358: 0x0001, 0x359: 0x0001, 0x35a: 0x0001, 0x35b: 0x0001, 0x35c: 0x0001, 0x35d: 0x0001,\n\t0x35e: 0x0001, 0x35f: 0x0001, 0x360: 0x0001, 0x361: 0x0001, 0x362: 0x0001, 0x363: 0x0001,\n\t0x364: 0x0001, 0x365: 0x0001, 0x366: 0x0001, 0x367: 0x0001, 0x368: 0x0001, 0x369: 0x0001,\n\t0x36a: 0x0001, 0x36b: 0x0001, 0x36c: 0x0001, 0x36d: 0x0001, 0x36e: 0x0001, 0x36f: 0x0001,\n\t0x370: 0x0001, 0x371: 0x0001, 0x372: 0x0001, 0x373: 0x0001, 0x374: 0x0001, 0x375: 0x0001,\n\t0x376: 0x0001, 0x377: 0x0001, 0x378: 0x0001, 0x379: 0x0001, 0x37a: 0x0001, 0x37b: 0x0001,\n\t0x37c: 0x0001, 0x37d: 0x0001, 0x37e: 0x0001, 0x37f: 0x0001,\n\t// Block 0xe, offset 0x380\n\t0x380: 0x0005, 0x381: 0x0005, 0x382: 0x0005, 0x383: 0x0005, 0x384: 0x0005, 0x385: 0x0005,\n\t0x386: 0x000a, 0x387: 0x000a, 0x388: 0x000d, 0x389: 0x0004, 0x38a: 0x0004, 0x38b: 0x000d,\n\t0x38c: 0x0006, 0x38d: 0x000d, 0x38e: 0x000a, 0x38f: 0x000a, 0x390: 0x000c, 0x391: 0x000c,\n\t0x392: 0x000c, 0x393: 0x000c, 0x394: 0x000c, 0x395: 0x000c, 0x396: 0x000c, 0x397: 0x000c,\n\t0x398: 0x000c, 0x399: 0x000c, 0x39a: 0x000c, 0x39b: 0x000d, 0x39c: 0x000d, 0x39d: 0x000d,\n\t0x39e: 0x000d, 0x39f: 0x000d, 0x3a0: 0x000d, 0x3a1: 0x000d, 0x3a2: 0x000d, 0x3a3: 0x000d,\n\t0x3a4: 0x000d, 0x3a5: 0x000d, 0x3a6: 0x000d, 0x3a7: 0x000d, 0x3a8: 0x000d, 0x3a9: 0x000d,\n\t0x3aa: 0x000d, 0x3ab: 0x000d, 0x3ac: 0x000d, 0x3ad: 0x000d, 0x3ae: 0x000d, 0x3af: 0x000d,\n\t0x3b0: 0x000d, 0x3b1: 0x000d, 0x3b2: 0x000d, 0x3b3: 0x000d, 0x3b4: 0x000d, 0x3b5: 0x000d,\n\t0x3b6: 0x000d, 0x3b7: 0x000d, 0x3b8: 0x000d, 0x3b9: 0x000d, 0x3ba: 0x000d, 0x3bb: 0x000d,\n\t0x3bc: 0x000d, 0x3bd: 0x000d, 0x3be: 0x000d, 0x3bf: 0x000d,\n\t// Block 0xf, offset 0x3c0\n\t0x3c0: 0x000d, 0x3c1: 0x000d, 0x3c2: 0x000d, 0x3c3: 0x000d, 0x3c4: 0x000d, 0x3c5: 0x000d,\n\t0x3c6: 0x000d, 0x3c7: 0x000d, 0x3c8: 0x000d, 0x3c9: 0x000d, 0x3ca: 0x000d, 0x3cb: 0x000c,\n\t0x3cc: 0x000c, 0x3cd: 0x000c, 0x3ce: 0x000c, 0x3cf: 0x000c, 0x3d0: 0x000c, 0x3d1: 0x000c,\n\t0x3d2: 0x000c, 0x3d3: 0x000c, 0x3d4: 0x000c, 0x3d5: 0x000c, 0x3d6: 0x000c, 0x3d7: 0x000c,\n\t0x3d8: 0x000c, 0x3d9: 0x000c, 0x3da: 0x000c, 0x3db: 0x000c, 0x3dc: 0x000c, 0x3dd: 0x000c,\n\t0x3de: 0x000c, 0x3df: 0x000c, 0x3e0: 0x0005, 0x3e1: 0x0005, 0x3e2: 0x0005, 0x3e3: 0x0005,\n\t0x3e4: 0x0005, 0x3e5: 0x0005, 0x3e6: 0x0005, 0x3e7: 0x0005, 0x3e8: 0x0005, 0x3e9: 0x0005,\n\t0x3ea: 0x0004, 0x3eb: 0x0005, 0x3ec: 0x0005, 0x3ed: 0x000d, 0x3ee: 0x000d, 0x3ef: 0x000d,\n\t0x3f0: 0x000c, 0x3f1: 0x000d, 0x3f2: 0x000d, 0x3f3: 0x000d, 0x3f4: 0x000d, 0x3f5: 0x000d,\n\t0x3f6: 0x000d, 0x3f7: 0x000d, 0x3f8: 0x000d, 0x3f9: 0x000d, 0x3fa: 0x000d, 0x3fb: 0x000d,\n\t0x3fc: 0x000d, 0x3fd: 0x000d, 0x3fe: 0x000d, 0x3ff: 0x000d,\n\t// Block 0x10, offset 0x400\n\t0x400: 0x000d, 0x401: 0x000d, 0x402: 0x000d, 0x403: 0x000d, 0x404: 0x000d, 0x405: 0x000d,\n\t0x406: 0x000d, 0x407: 0x000d, 0x408: 0x000d, 0x409: 0x000d, 0x40a: 0x000d, 0x40b: 0x000d,\n\t0x40c: 0x000d, 0x40d: 0x000d, 0x40e: 0x000d, 0x40f: 0x000d, 0x410: 0x000d, 0x411: 0x000d,\n\t0x412: 0x000d, 0x413: 0x000d, 0x414: 0x000d, 0x415: 0x000d, 0x416: 0x000d, 0x417: 0x000d,\n\t0x418: 0x000d, 0x419: 0x000d, 0x41a: 0x000d, 0x41b: 0x000d, 0x41c: 0x000d, 0x41d: 0x000d,\n\t0x41e: 0x000d, 0x41f: 0x000d, 0x420: 0x000d, 0x421: 0x000d, 0x422: 0x000d, 0x423: 0x000d,\n\t0x424: 0x000d, 0x425: 0x000d, 0x426: 0x000d, 0x427: 0x000d, 0x428: 0x000d, 0x429: 0x000d,\n\t0x42a: 0x000d, 0x42b: 0x000d, 0x42c: 0x000d, 0x42d: 0x000d, 0x42e: 0x000d, 0x42f: 0x000d,\n\t0x430: 0x000d, 0x431: 0x000d, 0x432: 0x000d, 0x433: 0x000d, 0x434: 0x000d, 0x435: 0x000d,\n\t0x436: 0x000d, 0x437: 0x000d, 0x438: 0x000d, 0x439: 0x000d, 0x43a: 0x000d, 0x43b: 0x000d,\n\t0x43c: 0x000d, 0x43d: 0x000d, 0x43e: 0x000d, 0x43f: 0x000d,\n\t// Block 0x11, offset 0x440\n\t0x440: 0x000d, 0x441: 0x000d, 0x442: 0x000d, 0x443: 0x000d, 0x444: 0x000d, 0x445: 0x000d,\n\t0x446: 0x000d, 0x447: 0x000d, 0x448: 0x000d, 0x449: 0x000d, 0x44a: 0x000d, 0x44b: 0x000d,\n\t0x44c: 0x000d, 0x44d: 0x000d, 0x44e: 0x000d, 0x44f: 0x000d, 0x450: 0x000d, 0x451: 0x000d,\n\t0x452: 0x000d, 0x453: 0x000d, 0x454: 0x000d, 0x455: 0x000d, 0x456: 0x000c, 0x457: 0x000c,\n\t0x458: 0x000c, 0x459: 0x000c, 0x45a: 0x000c, 0x45b: 0x000c, 0x45c: 0x000c, 0x45d: 0x0005,\n\t0x45e: 0x000a, 0x45f: 0x000c, 0x460: 0x000c, 0x461: 0x000c, 0x462: 0x000c, 0x463: 0x000c,\n\t0x464: 0x000c, 0x465: 0x000d, 0x466: 0x000d, 0x467: 0x000c, 0x468: 0x000c, 0x469: 0x000a,\n\t0x46a: 0x000c, 0x46b: 0x000c, 0x46c: 0x000c, 0x46d: 0x000c, 0x46e: 0x000d, 0x46f: 0x000d,\n\t0x470: 0x0002, 0x471: 0x0002, 0x472: 0x0002, 0x473: 0x0002, 0x474: 0x0002, 0x475: 0x0002,\n\t0x476: 0x0002, 0x477: 0x0002, 0x478: 0x0002, 0x479: 0x0002, 0x47a: 0x000d, 0x47b: 0x000d,\n\t0x47c: 0x000d, 0x47d: 0x000d, 0x47e: 0x000d, 0x47f: 0x000d,\n\t// Block 0x12, offset 0x480\n\t0x480: 0x000d, 0x481: 0x000d, 0x482: 0x000d, 0x483: 0x000d, 0x484: 0x000d, 0x485: 0x000d,\n\t0x486: 0x000d, 0x487: 0x000d, 0x488: 0x000d, 0x489: 0x000d, 0x48a: 0x000d, 0x48b: 0x000d,\n\t0x48c: 0x000d, 0x48d: 0x000d, 0x48e: 0x000d, 0x48f: 0x000d, 0x490: 0x000d, 0x491: 0x000c,\n\t0x492: 0x000d, 0x493: 0x000d, 0x494: 0x000d, 0x495: 0x000d, 0x496: 0x000d, 0x497: 0x000d,\n\t0x498: 0x000d, 0x499: 0x000d, 0x49a: 0x000d, 0x49b: 0x000d, 0x49c: 0x000d, 0x49d: 0x000d,\n\t0x49e: 0x000d, 0x49f: 0x000d, 0x4a0: 0x000d, 0x4a1: 0x000d, 0x4a2: 0x000d, 0x4a3: 0x000d,\n\t0x4a4: 0x000d, 0x4a5: 0x000d, 0x4a6: 0x000d, 0x4a7: 0x000d, 0x4a8: 0x000d, 0x4a9: 0x000d,\n\t0x4aa: 0x000d, 0x4ab: 0x000d, 0x4ac: 0x000d, 0x4ad: 0x000d, 0x4ae: 0x000d, 0x4af: 0x000d,\n\t0x4b0: 0x000c, 0x4b1: 0x000c, 0x4b2: 0x000c, 0x4b3: 0x000c, 0x4b4: 0x000c, 0x4b5: 0x000c,\n\t0x4b6: 0x000c, 0x4b7: 0x000c, 0x4b8: 0x000c, 0x4b9: 0x000c, 0x4ba: 0x000c, 0x4bb: 0x000c,\n\t0x4bc: 0x000c, 0x4bd: 0x000c, 0x4be: 0x000c, 0x4bf: 0x000c,\n\t// Block 0x13, offset 0x4c0\n\t0x4c0: 0x000c, 0x4c1: 0x000c, 0x4c2: 0x000c, 0x4c3: 0x000c, 0x4c4: 0x000c, 0x4c5: 0x000c,\n\t0x4c6: 0x000c, 0x4c7: 0x000c, 0x4c8: 0x000c, 0x4c9: 0x000c, 0x4ca: 0x000c, 0x4cb: 0x000d,\n\t0x4cc: 0x000d, 0x4cd: 0x000d, 0x4ce: 0x000d, 0x4cf: 0x000d, 0x4d0: 0x000d, 0x4d1: 0x000d,\n\t0x4d2: 0x000d, 0x4d3: 0x000d, 0x4d4: 0x000d, 0x4d5: 0x000d, 0x4d6: 0x000d, 0x4d7: 0x000d,\n\t0x4d8: 0x000d, 0x4d9: 0x000d, 0x4da: 0x000d, 0x4db: 0x000d, 0x4dc: 0x000d, 0x4dd: 0x000d,\n\t0x4de: 0x000d, 0x4df: 0x000d, 0x4e0: 0x000d, 0x4e1: 0x000d, 0x4e2: 0x000d, 0x4e3: 0x000d,\n\t0x4e4: 0x000d, 0x4e5: 0x000d, 0x4e6: 0x000d, 0x4e7: 0x000d, 0x4e8: 0x000d, 0x4e9: 0x000d,\n\t0x4ea: 0x000d, 0x4eb: 0x000d, 0x4ec: 0x000d, 0x4ed: 0x000d, 0x4ee: 0x000d, 0x4ef: 0x000d,\n\t0x4f0: 0x000d, 0x4f1: 0x000d, 0x4f2: 0x000d, 0x4f3: 0x000d, 0x4f4: 0x000d, 0x4f5: 0x000d,\n\t0x4f6: 0x000d, 0x4f7: 0x000d, 0x4f8: 0x000d, 0x4f9: 0x000d, 0x4fa: 0x000d, 0x4fb: 0x000d,\n\t0x4fc: 0x000d, 0x4fd: 0x000d, 0x4fe: 0x000d, 0x4ff: 0x000d,\n\t// Block 0x14, offset 0x500\n\t0x500: 0x000d, 0x501: 0x000d, 0x502: 0x000d, 0x503: 0x000d, 0x504: 0x000d, 0x505: 0x000d,\n\t0x506: 0x000d, 0x507: 0x000d, 0x508: 0x000d, 0x509: 0x000d, 0x50a: 0x000d, 0x50b: 0x000d,\n\t0x50c: 0x000d, 0x50d: 0x000d, 0x50e: 0x000d, 0x50f: 0x000d, 0x510: 0x000d, 0x511: 0x000d,\n\t0x512: 0x000d, 0x513: 0x000d, 0x514: 0x000d, 0x515: 0x000d, 0x516: 0x000d, 0x517: 0x000d,\n\t0x518: 0x000d, 0x519: 0x000d, 0x51a: 0x000d, 0x51b: 0x000d, 0x51c: 0x000d, 0x51d: 0x000d,\n\t0x51e: 0x000d, 0x51f: 0x000d, 0x520: 0x000d, 0x521: 0x000d, 0x522: 0x000d, 0x523: 0x000d,\n\t0x524: 0x000d, 0x525: 0x000d, 0x526: 0x000c, 0x527: 0x000c, 0x528: 0x000c, 0x529: 0x000c,\n\t0x52a: 0x000c, 0x52b: 0x000c, 0x52c: 0x000c, 0x52d: 0x000c, 0x52e: 0x000c, 0x52f: 0x000c,\n\t0x530: 0x000c, 0x531: 0x000d, 0x532: 0x000d, 0x533: 0x000d, 0x534: 0x000d, 0x535: 0x000d,\n\t0x536: 0x000d, 0x537: 0x000d, 0x538: 0x000d, 0x539: 0x000d, 0x53a: 0x000d, 0x53b: 0x000d,\n\t0x53c: 0x000d, 0x53d: 0x000d, 0x53e: 0x000d, 0x53f: 0x000d,\n\t// Block 0x15, offset 0x540\n\t0x540: 0x0001, 0x541: 0x0001, 0x542: 0x0001, 0x543: 0x0001, 0x544: 0x0001, 0x545: 0x0001,\n\t0x546: 0x0001, 0x547: 0x0001, 0x548: 0x0001, 0x549: 0x0001, 0x54a: 0x0001, 0x54b: 0x0001,\n\t0x54c: 0x0001, 0x54d: 0x0001, 0x54e: 0x0001, 0x54f: 0x0001, 0x550: 0x0001, 0x551: 0x0001,\n\t0x552: 0x0001, 0x553: 0x0001, 0x554: 0x0001, 0x555: 0x0001, 0x556: 0x0001, 0x557: 0x0001,\n\t0x558: 0x0001, 0x559: 0x0001, 0x55a: 0x0001, 0x55b: 0x0001, 0x55c: 0x0001, 0x55d: 0x0001,\n\t0x55e: 0x0001, 0x55f: 0x0001, 0x560: 0x0001, 0x561: 0x0001, 0x562: 0x0001, 0x563: 0x0001,\n\t0x564: 0x0001, 0x565: 0x0001, 0x566: 0x0001, 0x567: 0x0001, 0x568: 0x0001, 0x569: 0x0001,\n\t0x56a: 0x0001, 0x56b: 0x000c, 0x56c: 0x000c, 0x56d: 0x000c, 0x56e: 0x000c, 0x56f: 0x000c,\n\t0x570: 0x000c, 0x571: 0x000c, 0x572: 0x000c, 0x573: 0x000c, 0x574: 0x0001, 0x575: 0x0001,\n\t0x576: 0x000a, 0x577: 0x000a, 0x578: 0x000a, 0x579: 0x000a, 0x57a: 0x0001, 0x57b: 0x0001,\n\t0x57c: 0x0001, 0x57d: 0x0001, 0x57e: 0x0001, 0x57f: 0x0001,\n\t// Block 0x16, offset 0x580\n\t0x580: 0x0001, 0x581: 0x0001, 0x582: 0x0001, 0x583: 0x0001, 0x584: 0x0001, 0x585: 0x0001,\n\t0x586: 0x0001, 0x587: 0x0001, 0x588: 0x0001, 0x589: 0x0001, 0x58a: 0x0001, 0x58b: 0x0001,\n\t0x58c: 0x0001, 0x58d: 0x0001, 0x58e: 0x0001, 0x58f: 0x0001, 0x590: 0x0001, 0x591: 0x0001,\n\t0x592: 0x0001, 0x593: 0x0001, 0x594: 0x0001, 0x595: 0x0001, 0x596: 0x000c, 0x597: 0x000c,\n\t0x598: 0x000c, 0x599: 0x000c, 0x59a: 0x0001, 0x59b: 0x000c, 0x59c: 0x000c, 0x59d: 0x000c,\n\t0x59e: 0x000c, 0x59f: 0x000c, 0x5a0: 0x000c, 0x5a1: 0x000c, 0x5a2: 0x000c, 0x5a3: 0x000c,\n\t0x5a4: 0x0001, 0x5a5: 0x000c, 0x5a6: 0x000c, 0x5a7: 0x000c, 0x5a8: 0x0001, 0x5a9: 0x000c,\n\t0x5aa: 0x000c, 0x5ab: 0x000c, 0x5ac: 0x000c, 0x5ad: 0x000c, 0x5ae: 0x0001, 0x5af: 0x0001,\n\t0x5b0: 0x0001, 0x5b1: 0x0001, 0x5b2: 0x0001, 0x5b3: 0x0001, 0x5b4: 0x0001, 0x5b5: 0x0001,\n\t0x5b6: 0x0001, 0x5b7: 0x0001, 0x5b8: 0x0001, 0x5b9: 0x0001, 0x5ba: 0x0001, 0x5bb: 0x0001,\n\t0x5bc: 0x0001, 0x5bd: 0x0001, 0x5be: 0x0001, 0x5bf: 0x0001,\n\t// Block 0x17, offset 0x5c0\n\t0x5c0: 0x0001, 0x5c1: 0x0001, 0x5c2: 0x0001, 0x5c3: 0x0001, 0x5c4: 0x0001, 0x5c5: 0x0001,\n\t0x5c6: 0x0001, 0x5c7: 0x0001, 0x5c8: 0x0001, 0x5c9: 0x0001, 0x5ca: 0x0001, 0x5cb: 0x0001,\n\t0x5cc: 0x0001, 0x5cd: 0x0001, 0x5ce: 0x0001, 0x5cf: 0x0001, 0x5d0: 0x0001, 0x5d1: 0x0001,\n\t0x5d2: 0x0001, 0x5d3: 0x0001, 0x5d4: 0x0001, 0x5d5: 0x0001, 0x5d6: 0x0001, 0x5d7: 0x0001,\n\t0x5d8: 0x0001, 0x5d9: 0x000c, 0x5da: 0x000c, 0x5db: 0x000c, 0x5dc: 0x0001, 0x5dd: 0x0001,\n\t0x5de: 0x0001, 0x5df: 0x0001, 0x5e0: 0x000d, 0x5e1: 0x000d, 0x5e2: 0x000d, 0x5e3: 0x000d,\n\t0x5e4: 0x000d, 0x5e5: 0x000d, 0x5e6: 0x000d, 0x5e7: 0x000d, 0x5e8: 0x000d, 0x5e9: 0x000d,\n\t0x5ea: 0x000d, 0x5eb: 0x000d, 0x5ec: 0x000d, 0x5ed: 0x000d, 0x5ee: 0x000d, 0x5ef: 0x000d,\n\t0x5f0: 0x0001, 0x5f1: 0x0001, 0x5f2: 0x0001, 0x5f3: 0x0001, 0x5f4: 0x0001, 0x5f5: 0x0001,\n\t0x5f6: 0x0001, 0x5f7: 0x0001, 0x5f8: 0x0001, 0x5f9: 0x0001, 0x5fa: 0x0001, 0x5fb: 0x0001,\n\t0x5fc: 0x0001, 0x5fd: 0x0001, 0x5fe: 0x0001, 0x5ff: 0x0001,\n\t// Block 0x18, offset 0x600\n\t0x600: 0x0001, 0x601: 0x0001, 0x602: 0x0001, 0x603: 0x0001, 0x604: 0x0001, 0x605: 0x0001,\n\t0x606: 0x0001, 0x607: 0x0001, 0x608: 0x0001, 0x609: 0x0001, 0x60a: 0x0001, 0x60b: 0x0001,\n\t0x60c: 0x0001, 0x60d: 0x0001, 0x60e: 0x0001, 0x60f: 0x0001, 0x610: 0x0001, 0x611: 0x0001,\n\t0x612: 0x0001, 0x613: 0x0001, 0x614: 0x0001, 0x615: 0x0001, 0x616: 0x0001, 0x617: 0x0001,\n\t0x618: 0x0001, 0x619: 0x0001, 0x61a: 0x0001, 0x61b: 0x0001, 0x61c: 0x0001, 0x61d: 0x0001,\n\t0x61e: 0x0001, 0x61f: 0x0001, 0x620: 0x000d, 0x621: 0x000d, 0x622: 0x000d, 0x623: 0x000d,\n\t0x624: 0x000d, 0x625: 0x000d, 0x626: 0x000d, 0x627: 0x000d, 0x628: 0x000d, 0x629: 0x000d,\n\t0x62a: 0x000d, 0x62b: 0x000d, 0x62c: 0x000d, 0x62d: 0x000d, 0x62e: 0x000d, 0x62f: 0x000d,\n\t0x630: 0x000d, 0x631: 0x000d, 0x632: 0x000d, 0x633: 0x000d, 0x634: 0x000d, 0x635: 0x000d,\n\t0x636: 0x000d, 0x637: 0x000d, 0x638: 0x000d, 0x639: 0x000d, 0x63a: 0x000d, 0x63b: 0x000d,\n\t0x63c: 0x000d, 0x63d: 0x000d, 0x63e: 0x000d, 0x63f: 0x000d,\n\t// Block 0x19, offset 0x640\n\t0x640: 0x000d, 0x641: 0x000d, 0x642: 0x000d, 0x643: 0x000d, 0x644: 0x000d, 0x645: 0x000d,\n\t0x646: 0x000d, 0x647: 0x000d, 0x648: 0x000d, 0x649: 0x000d, 0x64a: 0x000d, 0x64b: 0x000d,\n\t0x64c: 0x000d, 0x64d: 0x000d, 0x64e: 0x000d, 0x64f: 0x000d, 0x650: 0x000d, 0x651: 0x000d,\n\t0x652: 0x000d, 0x653: 0x000d, 0x654: 0x000c, 0x655: 0x000c, 0x656: 0x000c, 0x657: 0x000c,\n\t0x658: 0x000c, 0x659: 0x000c, 0x65a: 0x000c, 0x65b: 0x000c, 0x65c: 0x000c, 0x65d: 0x000c,\n\t0x65e: 0x000c, 0x65f: 0x000c, 0x660: 0x000c, 0x661: 0x000c, 0x662: 0x0005, 0x663: 0x000c,\n\t0x664: 0x000c, 0x665: 0x000c, 0x666: 0x000c, 0x667: 0x000c, 0x668: 0x000c, 0x669: 0x000c,\n\t0x66a: 0x000c, 0x66b: 0x000c, 0x66c: 0x000c, 0x66d: 0x000c, 0x66e: 0x000c, 0x66f: 0x000c,\n\t0x670: 0x000c, 0x671: 0x000c, 0x672: 0x000c, 0x673: 0x000c, 0x674: 0x000c, 0x675: 0x000c,\n\t0x676: 0x000c, 0x677: 0x000c, 0x678: 0x000c, 0x679: 0x000c, 0x67a: 0x000c, 0x67b: 0x000c,\n\t0x67c: 0x000c, 0x67d: 0x000c, 0x67e: 0x000c, 0x67f: 0x000c,\n\t// Block 0x1a, offset 0x680\n\t0x680: 0x000c, 0x681: 0x000c, 0x682: 0x000c,\n\t0x6ba: 0x000c,\n\t0x6bc: 0x000c,\n\t// Block 0x1b, offset 0x6c0\n\t0x6c1: 0x000c, 0x6c2: 0x000c, 0x6c3: 0x000c, 0x6c4: 0x000c, 0x6c5: 0x000c,\n\t0x6c6: 0x000c, 0x6c7: 0x000c, 0x6c8: 0x000c,\n\t0x6cd: 0x000c, 0x6d1: 0x000c,\n\t0x6d2: 0x000c, 0x6d3: 0x000c, 0x6d4: 0x000c, 0x6d5: 0x000c, 0x6d6: 0x000c, 0x6d7: 0x000c,\n\t0x6e2: 0x000c, 0x6e3: 0x000c,\n\t// Block 0x1c, offset 0x700\n\t0x701: 0x000c,\n\t0x73c: 0x000c,\n\t// Block 0x1d, offset 0x740\n\t0x741: 0x000c, 0x742: 0x000c, 0x743: 0x000c, 0x744: 0x000c,\n\t0x74d: 0x000c,\n\t0x762: 0x000c, 0x763: 0x000c,\n\t0x772: 0x0004, 0x773: 0x0004,\n\t0x77b: 0x0004,\n\t// Block 0x1e, offset 0x780\n\t0x781: 0x000c, 0x782: 0x000c,\n\t0x7bc: 0x000c,\n\t// Block 0x1f, offset 0x7c0\n\t0x7c1: 0x000c, 0x7c2: 0x000c,\n\t0x7c7: 0x000c, 0x7c8: 0x000c, 0x7cb: 0x000c,\n\t0x7cc: 0x000c, 0x7cd: 0x000c, 0x7d1: 0x000c,\n\t0x7f0: 0x000c, 0x7f1: 0x000c, 0x7f5: 0x000c,\n\t// Block 0x20, offset 0x800\n\t0x801: 0x000c, 0x802: 0x000c, 0x803: 0x000c, 0x804: 0x000c, 0x805: 0x000c,\n\t0x807: 0x000c, 0x808: 0x000c,\n\t0x80d: 0x000c,\n\t0x822: 0x000c, 0x823: 0x000c,\n\t0x831: 0x0004,\n\t0x83a: 0x000c, 0x83b: 0x000c,\n\t0x83c: 0x000c, 0x83d: 0x000c, 0x83e: 0x000c, 0x83f: 0x000c,\n\t// Block 0x21, offset 0x840\n\t0x841: 0x000c,\n\t0x87c: 0x000c, 0x87f: 0x000c,\n\t// Block 0x22, offset 0x880\n\t0x881: 0x000c, 0x882: 0x000c, 0x883: 0x000c, 0x884: 0x000c,\n\t0x88d: 0x000c,\n\t0x896: 0x000c,\n\t0x8a2: 0x000c, 0x8a3: 0x000c,\n\t// Block 0x23, offset 0x8c0\n\t0x8c2: 0x000c,\n\t// Block 0x24, offset 0x900\n\t0x900: 0x000c,\n\t0x90d: 0x000c,\n\t0x933: 0x000a, 0x934: 0x000a, 0x935: 0x000a,\n\t0x936: 0x000a, 0x937: 0x000a, 0x938: 0x000a, 0x939: 0x0004, 0x93a: 0x000a,\n\t// Block 0x25, offset 0x940\n\t0x940: 0x000c,\n\t0x97e: 0x000c, 0x97f: 0x000c,\n\t// Block 0x26, offset 0x980\n\t0x980: 0x000c,\n\t0x986: 0x000c, 0x987: 0x000c, 0x988: 0x000c, 0x98a: 0x000c, 0x98b: 0x000c,\n\t0x98c: 0x000c, 0x98d: 0x000c,\n\t0x995: 0x000c, 0x996: 0x000c,\n\t0x9a2: 0x000c, 0x9a3: 0x000c,\n\t0x9b8: 0x000a, 0x9b9: 0x000a, 0x9ba: 0x000a, 0x9bb: 0x000a,\n\t0x9bc: 0x000a, 0x9bd: 0x000a, 0x9be: 0x000a,\n\t// Block 0x27, offset 0x9c0\n\t0x9cc: 0x000c, 0x9cd: 0x000c,\n\t0x9e2: 0x000c, 0x9e3: 0x000c,\n\t// Block 0x28, offset 0xa00\n\t0xa00: 0x000c, 0xa01: 0x000c,\n\t0xa3b: 0x000c,\n\t0xa3c: 0x000c,\n\t// Block 0x29, offset 0xa40\n\t0xa41: 0x000c, 0xa42: 0x000c, 0xa43: 0x000c, 0xa44: 0x000c,\n\t0xa4d: 0x000c,\n\t0xa62: 0x000c, 0xa63: 0x000c,\n\t// Block 0x2a, offset 0xa80\n\t0xa8a: 0x000c,\n\t0xa92: 0x000c, 0xa93: 0x000c, 0xa94: 0x000c, 0xa96: 0x000c,\n\t// Block 0x2b, offset 0xac0\n\t0xaf1: 0x000c, 0xaf4: 0x000c, 0xaf5: 0x000c,\n\t0xaf6: 0x000c, 0xaf7: 0x000c, 0xaf8: 0x000c, 0xaf9: 0x000c, 0xafa: 0x000c,\n\t0xaff: 0x0004,\n\t// Block 0x2c, offset 0xb00\n\t0xb07: 0x000c, 0xb08: 0x000c, 0xb09: 0x000c, 0xb0a: 0x000c, 0xb0b: 0x000c,\n\t0xb0c: 0x000c, 0xb0d: 0x000c, 0xb0e: 0x000c,\n\t// Block 0x2d, offset 0xb40\n\t0xb71: 0x000c, 0xb74: 0x000c, 0xb75: 0x000c,\n\t0xb76: 0x000c, 0xb77: 0x000c, 0xb78: 0x000c, 0xb79: 0x000c, 0xb7b: 0x000c,\n\t0xb7c: 0x000c,\n\t// Block 0x2e, offset 0xb80\n\t0xb88: 0x000c, 0xb89: 0x000c, 0xb8a: 0x000c, 0xb8b: 0x000c,\n\t0xb8c: 0x000c, 0xb8d: 0x000c,\n\t// Block 0x2f, offset 0xbc0\n\t0xbd8: 0x000c, 0xbd9: 0x000c,\n\t0xbf5: 0x000c,\n\t0xbf7: 0x000c, 0xbf9: 0x000c, 0xbfa: 0x003a, 0xbfb: 0x002a,\n\t0xbfc: 0x003a, 0xbfd: 0x002a,\n\t// Block 0x30, offset 0xc00\n\t0xc31: 0x000c, 0xc32: 0x000c, 0xc33: 0x000c, 0xc34: 0x000c, 0xc35: 0x000c,\n\t0xc36: 0x000c, 0xc37: 0x000c, 0xc38: 0x000c, 0xc39: 0x000c, 0xc3a: 0x000c, 0xc3b: 0x000c,\n\t0xc3c: 0x000c, 0xc3d: 0x000c, 0xc3e: 0x000c,\n\t// Block 0x31, offset 0xc40\n\t0xc40: 0x000c, 0xc41: 0x000c, 0xc42: 0x000c, 0xc43: 0x000c, 0xc44: 0x000c,\n\t0xc46: 0x000c, 0xc47: 0x000c,\n\t0xc4d: 0x000c, 0xc4e: 0x000c, 0xc4f: 0x000c, 0xc50: 0x000c, 0xc51: 0x000c,\n\t0xc52: 0x000c, 0xc53: 0x000c, 0xc54: 0x000c, 0xc55: 0x000c, 0xc56: 0x000c, 0xc57: 0x000c,\n\t0xc59: 0x000c, 0xc5a: 0x000c, 0xc5b: 0x000c, 0xc5c: 0x000c, 0xc5d: 0x000c,\n\t0xc5e: 0x000c, 0xc5f: 0x000c, 0xc60: 0x000c, 0xc61: 0x000c, 0xc62: 0x000c, 0xc63: 0x000c,\n\t0xc64: 0x000c, 0xc65: 0x000c, 0xc66: 0x000c, 0xc67: 0x000c, 0xc68: 0x000c, 0xc69: 0x000c,\n\t0xc6a: 0x000c, 0xc6b: 0x000c, 0xc6c: 0x000c, 0xc6d: 0x000c, 0xc6e: 0x000c, 0xc6f: 0x000c,\n\t0xc70: 0x000c, 0xc71: 0x000c, 0xc72: 0x000c, 0xc73: 0x000c, 0xc74: 0x000c, 0xc75: 0x000c,\n\t0xc76: 0x000c, 0xc77: 0x000c, 0xc78: 0x000c, 0xc79: 0x000c, 0xc7a: 0x000c, 0xc7b: 0x000c,\n\t0xc7c: 0x000c,\n\t// Block 0x32, offset 0xc80\n\t0xc86: 0x000c,\n\t// Block 0x33, offset 0xcc0\n\t0xced: 0x000c, 0xcee: 0x000c, 0xcef: 0x000c,\n\t0xcf0: 0x000c, 0xcf2: 0x000c, 0xcf3: 0x000c, 0xcf4: 0x000c, 0xcf5: 0x000c,\n\t0xcf6: 0x000c, 0xcf7: 0x000c, 0xcf9: 0x000c, 0xcfa: 0x000c,\n\t0xcfd: 0x000c, 0xcfe: 0x000c,\n\t// Block 0x34, offset 0xd00\n\t0xd18: 0x000c, 0xd19: 0x000c,\n\t0xd1e: 0x000c, 0xd1f: 0x000c, 0xd20: 0x000c,\n\t0xd31: 0x000c, 0xd32: 0x000c, 0xd33: 0x000c, 0xd34: 0x000c,\n\t// Block 0x35, offset 0xd40\n\t0xd42: 0x000c, 0xd45: 0x000c,\n\t0xd46: 0x000c,\n\t0xd4d: 0x000c,\n\t0xd5d: 0x000c,\n\t// Block 0x36, offset 0xd80\n\t0xd9d: 0x000c,\n\t0xd9e: 0x000c, 0xd9f: 0x000c,\n\t// Block 0x37, offset 0xdc0\n\t0xdd0: 0x000a, 0xdd1: 0x000a,\n\t0xdd2: 0x000a, 0xdd3: 0x000a, 0xdd4: 0x000a, 0xdd5: 0x000a, 0xdd6: 0x000a, 0xdd7: 0x000a,\n\t0xdd8: 0x000a, 0xdd9: 0x000a,\n\t// Block 0x38, offset 0xe00\n\t0xe00: 0x000a,\n\t// Block 0x39, offset 0xe40\n\t0xe40: 0x0009,\n\t0xe5b: 0x007a, 0xe5c: 0x006a,\n\t// Block 0x3a, offset 0xe80\n\t0xe92: 0x000c, 0xe93: 0x000c, 0xe94: 0x000c,\n\t0xeb2: 0x000c, 0xeb3: 0x000c, 0xeb4: 0x000c,\n\t// Block 0x3b, offset 0xec0\n\t0xed2: 0x000c, 0xed3: 0x000c,\n\t0xef2: 0x000c, 0xef3: 0x000c,\n\t// Block 0x3c, offset 0xf00\n\t0xf34: 0x000c, 0xf35: 0x000c,\n\t0xf37: 0x000c, 0xf38: 0x000c, 0xf39: 0x000c, 0xf3a: 0x000c, 0xf3b: 0x000c,\n\t0xf3c: 0x000c, 0xf3d: 0x000c,\n\t// Block 0x3d, offset 0xf40\n\t0xf46: 0x000c, 0xf49: 0x000c, 0xf4a: 0x000c, 0xf4b: 0x000c,\n\t0xf4c: 0x000c, 0xf4d: 0x000c, 0xf4e: 0x000c, 0xf4f: 0x000c, 0xf50: 0x000c, 0xf51: 0x000c,\n\t0xf52: 0x000c, 0xf53: 0x000c,\n\t0xf5b: 0x0004, 0xf5d: 0x000c,\n\t0xf70: 0x000a, 0xf71: 0x000a, 0xf72: 0x000a, 0xf73: 0x000a, 0xf74: 0x000a, 0xf75: 0x000a,\n\t0xf76: 0x000a, 0xf77: 0x000a, 0xf78: 0x000a, 0xf79: 0x000a,\n\t// Block 0x3e, offset 0xf80\n\t0xf80: 0x000a, 0xf81: 0x000a, 0xf82: 0x000a, 0xf83: 0x000a, 0xf84: 0x000a, 0xf85: 0x000a,\n\t0xf86: 0x000a, 0xf87: 0x000a, 0xf88: 0x000a, 0xf89: 0x000a, 0xf8a: 0x000a, 0xf8b: 0x000c,\n\t0xf8c: 0x000c, 0xf8d: 0x000c, 0xf8e: 0x000b,\n\t// Block 0x3f, offset 0xfc0\n\t0xfc5: 0x000c,\n\t0xfc6: 0x000c,\n\t0xfe9: 0x000c,\n\t// Block 0x40, offset 0x1000\n\t0x1020: 0x000c, 0x1021: 0x000c, 0x1022: 0x000c,\n\t0x1027: 0x000c, 0x1028: 0x000c,\n\t0x1032: 0x000c,\n\t0x1039: 0x000c, 0x103a: 0x000c, 0x103b: 0x000c,\n\t// Block 0x41, offset 0x1040\n\t0x1040: 0x000a, 0x1044: 0x000a, 0x1045: 0x000a,\n\t// Block 0x42, offset 0x1080\n\t0x109e: 0x000a, 0x109f: 0x000a, 0x10a0: 0x000a, 0x10a1: 0x000a, 0x10a2: 0x000a, 0x10a3: 0x000a,\n\t0x10a4: 0x000a, 0x10a5: 0x000a, 0x10a6: 0x000a, 0x10a7: 0x000a, 0x10a8: 0x000a, 0x10a9: 0x000a,\n\t0x10aa: 0x000a, 0x10ab: 0x000a, 0x10ac: 0x000a, 0x10ad: 0x000a, 0x10ae: 0x000a, 0x10af: 0x000a,\n\t0x10b0: 0x000a, 0x10b1: 0x000a, 0x10b2: 0x000a, 0x10b3: 0x000a, 0x10b4: 0x000a, 0x10b5: 0x000a,\n\t0x10b6: 0x000a, 0x10b7: 0x000a, 0x10b8: 0x000a, 0x10b9: 0x000a, 0x10ba: 0x000a, 0x10bb: 0x000a,\n\t0x10bc: 0x000a, 0x10bd: 0x000a, 0x10be: 0x000a, 0x10bf: 0x000a,\n\t// Block 0x43, offset 0x10c0\n\t0x10d7: 0x000c,\n\t0x10d8: 0x000c, 0x10db: 0x000c,\n\t// Block 0x44, offset 0x1100\n\t0x1116: 0x000c,\n\t0x1118: 0x000c, 0x1119: 0x000c, 0x111a: 0x000c, 0x111b: 0x000c, 0x111c: 0x000c, 0x111d: 0x000c,\n\t0x111e: 0x000c, 0x1120: 0x000c, 0x1122: 0x000c,\n\t0x1125: 0x000c, 0x1126: 0x000c, 0x1127: 0x000c, 0x1128: 0x000c, 0x1129: 0x000c,\n\t0x112a: 0x000c, 0x112b: 0x000c, 0x112c: 0x000c,\n\t0x1133: 0x000c, 0x1134: 0x000c, 0x1135: 0x000c,\n\t0x1136: 0x000c, 0x1137: 0x000c, 0x1138: 0x000c, 0x1139: 0x000c, 0x113a: 0x000c, 0x113b: 0x000c,\n\t0x113c: 0x000c, 0x113f: 0x000c,\n\t// Block 0x45, offset 0x1140\n\t0x1170: 0x000c, 0x1171: 0x000c, 0x1172: 0x000c, 0x1173: 0x000c, 0x1174: 0x000c, 0x1175: 0x000c,\n\t0x1176: 0x000c, 0x1177: 0x000c, 0x1178: 0x000c, 0x1179: 0x000c, 0x117a: 0x000c, 0x117b: 0x000c,\n\t0x117c: 0x000c, 0x117d: 0x000c, 0x117e: 0x000c,\n\t// Block 0x46, offset 0x1180\n\t0x1180: 0x000c, 0x1181: 0x000c, 0x1182: 0x000c, 0x1183: 0x000c,\n\t0x11b4: 0x000c,\n\t0x11b6: 0x000c, 0x11b7: 0x000c, 0x11b8: 0x000c, 0x11b9: 0x000c, 0x11ba: 0x000c,\n\t0x11bc: 0x000c,\n\t// Block 0x47, offset 0x11c0\n\t0x11c2: 0x000c,\n\t0x11eb: 0x000c, 0x11ec: 0x000c, 0x11ed: 0x000c, 0x11ee: 0x000c, 0x11ef: 0x000c,\n\t0x11f0: 0x000c, 0x11f1: 0x000c, 0x11f2: 0x000c, 0x11f3: 0x000c,\n\t// Block 0x48, offset 0x1200\n\t0x1200: 0x000c, 0x1201: 0x000c,\n\t0x1222: 0x000c, 0x1223: 0x000c,\n\t0x1224: 0x000c, 0x1225: 0x000c, 0x1228: 0x000c, 0x1229: 0x000c,\n\t0x122b: 0x000c, 0x122c: 0x000c, 0x122d: 0x000c,\n\t// Block 0x49, offset 0x1240\n\t0x1266: 0x000c, 0x1268: 0x000c, 0x1269: 0x000c,\n\t0x126d: 0x000c, 0x126f: 0x000c,\n\t0x1270: 0x000c, 0x1271: 0x000c,\n\t// Block 0x4a, offset 0x1280\n\t0x12ac: 0x000c, 0x12ad: 0x000c, 0x12ae: 0x000c, 0x12af: 0x000c,\n\t0x12b0: 0x000c, 0x12b1: 0x000c, 0x12b2: 0x000c, 0x12b3: 0x000c,\n\t0x12b6: 0x000c, 0x12b7: 0x000c,\n\t// Block 0x4b, offset 0x12c0\n\t0x12d0: 0x000c, 0x12d1: 0x000c,\n\t0x12d2: 0x000c, 0x12d4: 0x000c, 0x12d5: 0x000c, 0x12d6: 0x000c, 0x12d7: 0x000c,\n\t0x12d8: 0x000c, 0x12d9: 0x000c, 0x12da: 0x000c, 0x12db: 0x000c, 0x12dc: 0x000c, 0x12dd: 0x000c,\n\t0x12de: 0x000c, 0x12df: 0x000c, 0x12e0: 0x000c, 0x12e2: 0x000c, 0x12e3: 0x000c,\n\t0x12e4: 0x000c, 0x12e5: 0x000c, 0x12e6: 0x000c, 0x12e7: 0x000c, 0x12e8: 0x000c,\n\t0x12ed: 0x000c,\n\t0x12f4: 0x000c,\n\t0x12f8: 0x000c, 0x12f9: 0x000c,\n\t// Block 0x4c, offset 0x1300\n\t0x1300: 0x000c, 0x1301: 0x000c, 0x1302: 0x000c, 0x1303: 0x000c, 0x1304: 0x000c, 0x1305: 0x000c,\n\t0x1306: 0x000c, 0x1307: 0x000c, 0x1308: 0x000c, 0x1309: 0x000c, 0x130a: 0x000c, 0x130b: 0x000c,\n\t0x130c: 0x000c, 0x130d: 0x000c, 0x130e: 0x000c, 0x130f: 0x000c, 0x1310: 0x000c, 0x1311: 0x000c,\n\t0x1312: 0x000c, 0x1313: 0x000c, 0x1314: 0x000c, 0x1315: 0x000c, 0x1316: 0x000c, 0x1317: 0x000c,\n\t0x1318: 0x000c, 0x1319: 0x000c, 0x131a: 0x000c, 0x131b: 0x000c, 0x131c: 0x000c, 0x131d: 0x000c,\n\t0x131e: 0x000c, 0x131f: 0x000c, 0x1320: 0x000c, 0x1321: 0x000c, 0x1322: 0x000c, 0x1323: 0x000c,\n\t0x1324: 0x000c, 0x1325: 0x000c, 0x1326: 0x000c, 0x1327: 0x000c, 0x1328: 0x000c, 0x1329: 0x000c,\n\t0x132a: 0x000c, 0x132b: 0x000c, 0x132c: 0x000c, 0x132d: 0x000c, 0x132e: 0x000c, 0x132f: 0x000c,\n\t0x1330: 0x000c, 0x1331: 0x000c, 0x1332: 0x000c, 0x1333: 0x000c, 0x1334: 0x000c, 0x1335: 0x000c,\n\t0x1336: 0x000c, 0x1337: 0x000c, 0x1338: 0x000c, 0x1339: 0x000c, 0x133b: 0x000c,\n\t0x133c: 0x000c, 0x133d: 0x000c, 0x133e: 0x000c, 0x133f: 0x000c,\n\t// Block 0x4d, offset 0x1340\n\t0x137d: 0x000a, 0x137f: 0x000a,\n\t// Block 0x4e, offset 0x1380\n\t0x1380: 0x000a, 0x1381: 0x000a,\n\t0x138d: 0x000a, 0x138e: 0x000a, 0x138f: 0x000a,\n\t0x139d: 0x000a,\n\t0x139e: 0x000a, 0x139f: 0x000a,\n\t0x13ad: 0x000a, 0x13ae: 0x000a, 0x13af: 0x000a,\n\t0x13bd: 0x000a, 0x13be: 0x000a,\n\t// Block 0x4f, offset 0x13c0\n\t0x13c0: 0x0009, 0x13c1: 0x0009, 0x13c2: 0x0009, 0x13c3: 0x0009, 0x13c4: 0x0009, 0x13c5: 0x0009,\n\t0x13c6: 0x0009, 0x13c7: 0x0009, 0x13c8: 0x0009, 0x13c9: 0x0009, 0x13ca: 0x0009, 0x13cb: 0x000b,\n\t0x13cc: 0x000b, 0x13cd: 0x000b, 0x13cf: 0x0001, 0x13d0: 0x000a, 0x13d1: 0x000a,\n\t0x13d2: 0x000a, 0x13d3: 0x000a, 0x13d4: 0x000a, 0x13d5: 0x000a, 0x13d6: 0x000a, 0x13d7: 0x000a,\n\t0x13d8: 0x000a, 0x13d9: 0x000a, 0x13da: 0x000a, 0x13db: 0x000a, 0x13dc: 0x000a, 0x13dd: 0x000a,\n\t0x13de: 0x000a, 0x13df: 0x000a, 0x13e0: 0x000a, 0x13e1: 0x000a, 0x13e2: 0x000a, 0x13e3: 0x000a,\n\t0x13e4: 0x000a, 0x13e5: 0x000a, 0x13e6: 0x000a, 0x13e7: 0x000a, 0x13e8: 0x0009, 0x13e9: 0x0007,\n\t0x13ea: 0x000e, 0x13eb: 0x000e, 0x13ec: 0x000e, 0x13ed: 0x000e, 0x13ee: 0x000e, 0x13ef: 0x0006,\n\t0x13f0: 0x0004, 0x13f1: 0x0004, 0x13f2: 0x0004, 0x13f3: 0x0004, 0x13f4: 0x0004, 0x13f5: 0x000a,\n\t0x13f6: 0x000a, 0x13f7: 0x000a, 0x13f8: 0x000a, 0x13f9: 0x000a, 0x13fa: 0x000a, 0x13fb: 0x000a,\n\t0x13fc: 0x000a, 0x13fd: 0x000a, 0x13fe: 0x000a, 0x13ff: 0x000a,\n\t// Block 0x50, offset 0x1400\n\t0x1400: 0x000a, 0x1401: 0x000a, 0x1402: 0x000a, 0x1403: 0x000a, 0x1404: 0x0006, 0x1405: 0x009a,\n\t0x1406: 0x008a, 0x1407: 0x000a, 0x1408: 0x000a, 0x1409: 0x000a, 0x140a: 0x000a, 0x140b: 0x000a,\n\t0x140c: 0x000a, 0x140d: 0x000a, 0x140e: 0x000a, 0x140f: 0x000a, 0x1410: 0x000a, 0x1411: 0x000a,\n\t0x1412: 0x000a, 0x1413: 0x000a, 0x1414: 0x000a, 0x1415: 0x000a, 0x1416: 0x000a, 0x1417: 0x000a,\n\t0x1418: 0x000a, 0x1419: 0x000a, 0x141a: 0x000a, 0x141b: 0x000a, 0x141c: 0x000a, 0x141d: 0x000a,\n\t0x141e: 0x000a, 0x141f: 0x0009, 0x1420: 0x000b, 0x1421: 0x000b, 0x1422: 0x000b, 0x1423: 0x000b,\n\t0x1424: 0x000b, 0x1425: 0x000b, 0x1426: 0x000e, 0x1427: 0x000e, 0x1428: 0x000e, 0x1429: 0x000e,\n\t0x142a: 0x000b, 0x142b: 0x000b, 0x142c: 0x000b, 0x142d: 0x000b, 0x142e: 0x000b, 0x142f: 0x000b,\n\t0x1430: 0x0002, 0x1434: 0x0002, 0x1435: 0x0002,\n\t0x1436: 0x0002, 0x1437: 0x0002, 0x1438: 0x0002, 0x1439: 0x0002, 0x143a: 0x0003, 0x143b: 0x0003,\n\t0x143c: 0x000a, 0x143d: 0x009a, 0x143e: 0x008a,\n\t// Block 0x51, offset 0x1440\n\t0x1440: 0x0002, 0x1441: 0x0002, 0x1442: 0x0002, 0x1443: 0x0002, 0x1444: 0x0002, 0x1445: 0x0002,\n\t0x1446: 0x0002, 0x1447: 0x0002, 0x1448: 0x0002, 0x1449: 0x0002, 0x144a: 0x0003, 0x144b: 0x0003,\n\t0x144c: 0x000a, 0x144d: 0x009a, 0x144e: 0x008a,\n\t0x1460: 0x0004, 0x1461: 0x0004, 0x1462: 0x0004, 0x1463: 0x0004,\n\t0x1464: 0x0004, 0x1465: 0x0004, 0x1466: 0x0004, 0x1467: 0x0004, 0x1468: 0x0004, 0x1469: 0x0004,\n\t0x146a: 0x0004, 0x146b: 0x0004, 0x146c: 0x0004, 0x146d: 0x0004, 0x146e: 0x0004, 0x146f: 0x0004,\n\t0x1470: 0x0004, 0x1471: 0x0004, 0x1472: 0x0004, 0x1473: 0x0004, 0x1474: 0x0004, 0x1475: 0x0004,\n\t0x1476: 0x0004, 0x1477: 0x0004, 0x1478: 0x0004, 0x1479: 0x0004, 0x147a: 0x0004, 0x147b: 0x0004,\n\t0x147c: 0x0004, 0x147d: 0x0004, 0x147e: 0x0004, 0x147f: 0x0004,\n\t// Block 0x52, offset 0x1480\n\t0x1480: 0x0004, 0x1481: 0x0004, 0x1482: 0x0004, 0x1483: 0x0004, 0x1484: 0x0004, 0x1485: 0x0004,\n\t0x1486: 0x0004, 0x1487: 0x0004, 0x1488: 0x0004, 0x1489: 0x0004, 0x148a: 0x0004, 0x148b: 0x0004,\n\t0x148c: 0x0004, 0x148d: 0x0004, 0x148e: 0x0004, 0x148f: 0x0004, 0x1490: 0x000c, 0x1491: 0x000c,\n\t0x1492: 0x000c, 0x1493: 0x000c, 0x1494: 0x000c, 0x1495: 0x000c, 0x1496: 0x000c, 0x1497: 0x000c,\n\t0x1498: 0x000c, 0x1499: 0x000c, 0x149a: 0x000c, 0x149b: 0x000c, 0x149c: 0x000c, 0x149d: 0x000c,\n\t0x149e: 0x000c, 0x149f: 0x000c, 0x14a0: 0x000c, 0x14a1: 0x000c, 0x14a2: 0x000c, 0x14a3: 0x000c,\n\t0x14a4: 0x000c, 0x14a5: 0x000c, 0x14a6: 0x000c, 0x14a7: 0x000c, 0x14a8: 0x000c, 0x14a9: 0x000c,\n\t0x14aa: 0x000c, 0x14ab: 0x000c, 0x14ac: 0x000c, 0x14ad: 0x000c, 0x14ae: 0x000c, 0x14af: 0x000c,\n\t0x14b0: 0x000c,\n\t// Block 0x53, offset 0x14c0\n\t0x14c0: 0x000a, 0x14c1: 0x000a, 0x14c3: 0x000a, 0x14c4: 0x000a, 0x14c5: 0x000a,\n\t0x14c6: 0x000a, 0x14c8: 0x000a, 0x14c9: 0x000a,\n\t0x14d4: 0x000a, 0x14d6: 0x000a, 0x14d7: 0x000a,\n\t0x14d8: 0x000a,\n\t0x14de: 0x000a, 0x14df: 0x000a, 0x14e0: 0x000a, 0x14e1: 0x000a, 0x14e2: 0x000a, 0x14e3: 0x000a,\n\t0x14e5: 0x000a, 0x14e7: 0x000a, 0x14e9: 0x000a,\n\t0x14ee: 0x0004,\n\t0x14fa: 0x000a, 0x14fb: 0x000a,\n\t// Block 0x54, offset 0x1500\n\t0x1500: 0x000a, 0x1501: 0x000a, 0x1502: 0x000a, 0x1503: 0x000a, 0x1504: 0x000a,\n\t0x150a: 0x000a, 0x150b: 0x000a,\n\t0x150c: 0x000a, 0x150d: 0x000a, 0x1510: 0x000a, 0x1511: 0x000a,\n\t0x1512: 0x000a, 0x1513: 0x000a, 0x1514: 0x000a, 0x1515: 0x000a, 0x1516: 0x000a, 0x1517: 0x000a,\n\t0x1518: 0x000a, 0x1519: 0x000a, 0x151a: 0x000a, 0x151b: 0x000a, 0x151c: 0x000a, 0x151d: 0x000a,\n\t0x151e: 0x000a, 0x151f: 0x000a,\n\t// Block 0x55, offset 0x1540\n\t0x1549: 0x000a, 0x154a: 0x000a, 0x154b: 0x000a,\n\t0x1550: 0x000a, 0x1551: 0x000a,\n\t0x1552: 0x000a, 0x1553: 0x000a, 0x1554: 0x000a, 0x1555: 0x000a, 0x1556: 0x000a, 0x1557: 0x000a,\n\t0x1558: 0x000a, 0x1559: 0x000a, 0x155a: 0x000a, 0x155b: 0x000a, 0x155c: 0x000a, 0x155d: 0x000a,\n\t0x155e: 0x000a, 0x155f: 0x000a, 0x1560: 0x000a, 0x1561: 0x000a, 0x1562: 0x000a, 0x1563: 0x000a,\n\t0x1564: 0x000a, 0x1565: 0x000a, 0x1566: 0x000a, 0x1567: 0x000a, 0x1568: 0x000a, 0x1569: 0x000a,\n\t0x156a: 0x000a, 0x156b: 0x000a, 0x156c: 0x000a, 0x156d: 0x000a, 0x156e: 0x000a, 0x156f: 0x000a,\n\t0x1570: 0x000a, 0x1571: 0x000a, 0x1572: 0x000a, 0x1573: 0x000a, 0x1574: 0x000a, 0x1575: 0x000a,\n\t0x1576: 0x000a, 0x1577: 0x000a, 0x1578: 0x000a, 0x1579: 0x000a, 0x157a: 0x000a, 0x157b: 0x000a,\n\t0x157c: 0x000a, 0x157d: 0x000a, 0x157e: 0x000a, 0x157f: 0x000a,\n\t// Block 0x56, offset 0x1580\n\t0x1580: 0x000a, 0x1581: 0x000a, 0x1582: 0x000a, 0x1583: 0x000a, 0x1584: 0x000a, 0x1585: 0x000a,\n\t0x1586: 0x000a, 0x1587: 0x000a, 0x1588: 0x000a, 0x1589: 0x000a, 0x158a: 0x000a, 0x158b: 0x000a,\n\t0x158c: 0x000a, 0x158d: 0x000a, 0x158e: 0x000a, 0x158f: 0x000a, 0x1590: 0x000a, 0x1591: 0x000a,\n\t0x1592: 0x000a, 0x1593: 0x000a, 0x1594: 0x000a, 0x1595: 0x000a, 0x1596: 0x000a, 0x1597: 0x000a,\n\t0x1598: 0x000a, 0x1599: 0x000a, 0x159a: 0x000a, 0x159b: 0x000a, 0x159c: 0x000a, 0x159d: 0x000a,\n\t0x159e: 0x000a, 0x159f: 0x000a, 0x15a0: 0x000a, 0x15a1: 0x000a, 0x15a2: 0x000a, 0x15a3: 0x000a,\n\t0x15a4: 0x000a, 0x15a5: 0x000a, 0x15a6: 0x000a, 0x15a7: 0x000a, 0x15a8: 0x000a, 0x15a9: 0x000a,\n\t0x15aa: 0x000a, 0x15ab: 0x000a, 0x15ac: 0x000a, 0x15ad: 0x000a, 0x15ae: 0x000a, 0x15af: 0x000a,\n\t0x15b0: 0x000a, 0x15b1: 0x000a, 0x15b2: 0x000a, 0x15b3: 0x000a, 0x15b4: 0x000a, 0x15b5: 0x000a,\n\t0x15b6: 0x000a, 0x15b7: 0x000a, 0x15b8: 0x000a, 0x15b9: 0x000a, 0x15ba: 0x000a, 0x15bb: 0x000a,\n\t0x15bc: 0x000a, 0x15bd: 0x000a, 0x15be: 0x000a, 0x15bf: 0x000a,\n\t// Block 0x57, offset 0x15c0\n\t0x15c0: 0x000a, 0x15c1: 0x000a, 0x15c2: 0x000a, 0x15c3: 0x000a, 0x15c4: 0x000a, 0x15c5: 0x000a,\n\t0x15c6: 0x000a, 0x15c7: 0x000a, 0x15c8: 0x000a, 0x15c9: 0x000a, 0x15ca: 0x000a, 0x15cb: 0x000a,\n\t0x15cc: 0x000a, 0x15cd: 0x000a, 0x15ce: 0x000a, 0x15cf: 0x000a, 0x15d0: 0x000a, 0x15d1: 0x000a,\n\t0x15d2: 0x0003, 0x15d3: 0x0004, 0x15d4: 0x000a, 0x15d5: 0x000a, 0x15d6: 0x000a, 0x15d7: 0x000a,\n\t0x15d8: 0x000a, 0x15d9: 0x000a, 0x15da: 0x000a, 0x15db: 0x000a, 0x15dc: 0x000a, 0x15dd: 0x000a,\n\t0x15de: 0x000a, 0x15df: 0x000a, 0x15e0: 0x000a, 0x15e1: 0x000a, 0x15e2: 0x000a, 0x15e3: 0x000a,\n\t0x15e4: 0x000a, 0x15e5: 0x000a, 0x15e6: 0x000a, 0x15e7: 0x000a, 0x15e8: 0x000a, 0x15e9: 0x000a,\n\t0x15ea: 0x000a, 0x15eb: 0x000a, 0x15ec: 0x000a, 0x15ed: 0x000a, 0x15ee: 0x000a, 0x15ef: 0x000a,\n\t0x15f0: 0x000a, 0x15f1: 0x000a, 0x15f2: 0x000a, 0x15f3: 0x000a, 0x15f4: 0x000a, 0x15f5: 0x000a,\n\t0x15f6: 0x000a, 0x15f7: 0x000a, 0x15f8: 0x000a, 0x15f9: 0x000a, 0x15fa: 0x000a, 0x15fb: 0x000a,\n\t0x15fc: 0x000a, 0x15fd: 0x000a, 0x15fe: 0x000a, 0x15ff: 0x000a,\n\t// Block 0x58, offset 0x1600\n\t0x1600: 0x000a, 0x1601: 0x000a, 0x1602: 0x000a, 0x1603: 0x000a, 0x1604: 0x000a, 0x1605: 0x000a,\n\t0x1606: 0x000a, 0x1607: 0x000a, 0x1608: 0x003a, 0x1609: 0x002a, 0x160a: 0x003a, 0x160b: 0x002a,\n\t0x160c: 0x000a, 0x160d: 0x000a, 0x160e: 0x000a, 0x160f: 0x000a, 0x1610: 0x000a, 0x1611: 0x000a,\n\t0x1612: 0x000a, 0x1613: 0x000a, 0x1614: 0x000a, 0x1615: 0x000a, 0x1616: 0x000a, 0x1617: 0x000a,\n\t0x1618: 0x000a, 0x1619: 0x000a, 0x161a: 0x000a, 0x161b: 0x000a, 0x161c: 0x000a, 0x161d: 0x000a,\n\t0x161e: 0x000a, 0x161f: 0x000a, 0x1620: 0x000a, 0x1621: 0x000a, 0x1622: 0x000a, 0x1623: 0x000a,\n\t0x1624: 0x000a, 0x1625: 0x000a, 0x1626: 0x000a, 0x1627: 0x000a, 0x1628: 0x000a, 0x1629: 0x009a,\n\t0x162a: 0x008a, 0x162b: 0x000a, 0x162c: 0x000a, 0x162d: 0x000a, 0x162e: 0x000a, 0x162f: 0x000a,\n\t0x1630: 0x000a, 0x1631: 0x000a, 0x1632: 0x000a, 0x1633: 0x000a, 0x1634: 0x000a, 0x1635: 0x000a,\n\t// Block 0x59, offset 0x1640\n\t0x167b: 0x000a,\n\t0x167c: 0x000a, 0x167d: 0x000a, 0x167e: 0x000a, 0x167f: 0x000a,\n\t// Block 0x5a, offset 0x1680\n\t0x1680: 0x000a, 0x1681: 0x000a, 0x1682: 0x000a, 0x1683: 0x000a, 0x1684: 0x000a, 0x1685: 0x000a,\n\t0x1686: 0x000a, 0x1687: 0x000a, 0x1688: 0x000a, 0x1689: 0x000a, 0x168a: 0x000a, 0x168b: 0x000a,\n\t0x168c: 0x000a, 0x168d: 0x000a, 0x168e: 0x000a, 0x168f: 0x000a, 0x1690: 0x000a, 0x1691: 0x000a,\n\t0x1692: 0x000a, 0x1693: 0x000a, 0x1694: 0x000a, 0x1696: 0x000a, 0x1697: 0x000a,\n\t0x1698: 0x000a, 0x1699: 0x000a, 0x169a: 0x000a, 0x169b: 0x000a, 0x169c: 0x000a, 0x169d: 0x000a,\n\t0x169e: 0x000a, 0x169f: 0x000a, 0x16a0: 0x000a, 0x16a1: 0x000a, 0x16a2: 0x000a, 0x16a3: 0x000a,\n\t0x16a4: 0x000a, 0x16a5: 0x000a, 0x16a6: 0x000a, 0x16a7: 0x000a, 0x16a8: 0x000a, 0x16a9: 0x000a,\n\t0x16aa: 0x000a, 0x16ab: 0x000a, 0x16ac: 0x000a, 0x16ad: 0x000a, 0x16ae: 0x000a, 0x16af: 0x000a,\n\t0x16b0: 0x000a, 0x16b1: 0x000a, 0x16b2: 0x000a, 0x16b3: 0x000a, 0x16b4: 0x000a, 0x16b5: 0x000a,\n\t0x16b6: 0x000a, 0x16b7: 0x000a, 0x16b8: 0x000a, 0x16b9: 0x000a, 0x16ba: 0x000a, 0x16bb: 0x000a,\n\t0x16bc: 0x000a, 0x16bd: 0x000a, 0x16be: 0x000a, 0x16bf: 0x000a,\n\t// Block 0x5b, offset 0x16c0\n\t0x16c0: 0x000a, 0x16c1: 0x000a, 0x16c2: 0x000a, 0x16c3: 0x000a, 0x16c4: 0x000a, 0x16c5: 0x000a,\n\t0x16c6: 0x000a, 0x16c7: 0x000a, 0x16c8: 0x000a, 0x16c9: 0x000a, 0x16ca: 0x000a, 0x16cb: 0x000a,\n\t0x16cc: 0x000a, 0x16cd: 0x000a, 0x16ce: 0x000a, 0x16cf: 0x000a, 0x16d0: 0x000a, 0x16d1: 0x000a,\n\t0x16d2: 0x000a, 0x16d3: 0x000a, 0x16d4: 0x000a, 0x16d5: 0x000a, 0x16d6: 0x000a, 0x16d7: 0x000a,\n\t0x16d8: 0x000a, 0x16d9: 0x000a, 0x16da: 0x000a, 0x16db: 0x000a, 0x16dc: 0x000a, 0x16dd: 0x000a,\n\t0x16de: 0x000a, 0x16df: 0x000a, 0x16e0: 0x000a, 0x16e1: 0x000a, 0x16e2: 0x000a, 0x16e3: 0x000a,\n\t0x16e4: 0x000a, 0x16e5: 0x000a, 0x16e6: 0x000a,\n\t// Block 0x5c, offset 0x1700\n\t0x1700: 0x000a, 0x1701: 0x000a, 0x1702: 0x000a, 0x1703: 0x000a, 0x1704: 0x000a, 0x1705: 0x000a,\n\t0x1706: 0x000a, 0x1707: 0x000a, 0x1708: 0x000a, 0x1709: 0x000a, 0x170a: 0x000a,\n\t0x1720: 0x000a, 0x1721: 0x000a, 0x1722: 0x000a, 0x1723: 0x000a,\n\t0x1724: 0x000a, 0x1725: 0x000a, 0x1726: 0x000a, 0x1727: 0x000a, 0x1728: 0x000a, 0x1729: 0x000a,\n\t0x172a: 0x000a, 0x172b: 0x000a, 0x172c: 0x000a, 0x172d: 0x000a, 0x172e: 0x000a, 0x172f: 0x000a,\n\t0x1730: 0x000a, 0x1731: 0x000a, 0x1732: 0x000a, 0x1733: 0x000a, 0x1734: 0x000a, 0x1735: 0x000a,\n\t0x1736: 0x000a, 0x1737: 0x000a, 0x1738: 0x000a, 0x1739: 0x000a, 0x173a: 0x000a, 0x173b: 0x000a,\n\t0x173c: 0x000a, 0x173d: 0x000a, 0x173e: 0x000a, 0x173f: 0x000a,\n\t// Block 0x5d, offset 0x1740\n\t0x1740: 0x000a, 0x1741: 0x000a, 0x1742: 0x000a, 0x1743: 0x000a, 0x1744: 0x000a, 0x1745: 0x000a,\n\t0x1746: 0x000a, 0x1747: 0x000a, 0x1748: 0x0002, 0x1749: 0x0002, 0x174a: 0x0002, 0x174b: 0x0002,\n\t0x174c: 0x0002, 0x174d: 0x0002, 0x174e: 0x0002, 0x174f: 0x0002, 0x1750: 0x0002, 0x1751: 0x0002,\n\t0x1752: 0x0002, 0x1753: 0x0002, 0x1754: 0x0002, 0x1755: 0x0002, 0x1756: 0x0002, 0x1757: 0x0002,\n\t0x1758: 0x0002, 0x1759: 0x0002, 0x175a: 0x0002, 0x175b: 0x0002,\n\t// Block 0x5e, offset 0x1780\n\t0x17aa: 0x000a, 0x17ab: 0x000a, 0x17ac: 0x000a, 0x17ad: 0x000a, 0x17ae: 0x000a, 0x17af: 0x000a,\n\t0x17b0: 0x000a, 0x17b1: 0x000a, 0x17b2: 0x000a, 0x17b3: 0x000a, 0x17b4: 0x000a, 0x17b5: 0x000a,\n\t0x17b6: 0x000a, 0x17b7: 0x000a, 0x17b8: 0x000a, 0x17b9: 0x000a, 0x17ba: 0x000a, 0x17bb: 0x000a,\n\t0x17bc: 0x000a, 0x17bd: 0x000a, 0x17be: 0x000a, 0x17bf: 0x000a,\n\t// Block 0x5f, offset 0x17c0\n\t0x17c0: 0x000a, 0x17c1: 0x000a, 0x17c2: 0x000a, 0x17c3: 0x000a, 0x17c4: 0x000a, 0x17c5: 0x000a,\n\t0x17c6: 0x000a, 0x17c7: 0x000a, 0x17c8: 0x000a, 0x17c9: 0x000a, 0x17ca: 0x000a, 0x17cb: 0x000a,\n\t0x17cc: 0x000a, 0x17cd: 0x000a, 0x17ce: 0x000a, 0x17cf: 0x000a, 0x17d0: 0x000a, 0x17d1: 0x000a,\n\t0x17d2: 0x000a, 0x17d3: 0x000a, 0x17d4: 0x000a, 0x17d5: 0x000a, 0x17d6: 0x000a, 0x17d7: 0x000a,\n\t0x17d8: 0x000a, 0x17d9: 0x000a, 0x17da: 0x000a, 0x17db: 0x000a, 0x17dc: 0x000a, 0x17dd: 0x000a,\n\t0x17de: 0x000a, 0x17df: 0x000a, 0x17e0: 0x000a, 0x17e1: 0x000a, 0x17e2: 0x000a, 0x17e3: 0x000a,\n\t0x17e4: 0x000a, 0x17e5: 0x000a, 0x17e6: 0x000a, 0x17e7: 0x000a, 0x17e8: 0x000a, 0x17e9: 0x000a,\n\t0x17ea: 0x000a, 0x17eb: 0x000a, 0x17ed: 0x000a, 0x17ee: 0x000a, 0x17ef: 0x000a,\n\t0x17f0: 0x000a, 0x17f1: 0x000a, 0x17f2: 0x000a, 0x17f3: 0x000a, 0x17f4: 0x000a, 0x17f5: 0x000a,\n\t0x17f6: 0x000a, 0x17f7: 0x000a, 0x17f8: 0x000a, 0x17f9: 0x000a, 0x17fa: 0x000a, 0x17fb: 0x000a,\n\t0x17fc: 0x000a, 0x17fd: 0x000a, 0x17fe: 0x000a, 0x17ff: 0x000a,\n\t// Block 0x60, offset 0x1800\n\t0x1800: 0x000a, 0x1801: 0x000a, 0x1802: 0x000a, 0x1803: 0x000a, 0x1804: 0x000a, 0x1805: 0x000a,\n\t0x1806: 0x000a, 0x1807: 0x000a, 0x1808: 0x000a, 0x1809: 0x000a, 0x180a: 0x000a, 0x180b: 0x000a,\n\t0x180c: 0x000a, 0x180d: 0x000a, 0x180e: 0x000a, 0x180f: 0x000a, 0x1810: 0x000a, 0x1811: 0x000a,\n\t0x1812: 0x000a, 0x1813: 0x000a, 0x1814: 0x000a, 0x1815: 0x000a, 0x1816: 0x000a, 0x1817: 0x000a,\n\t0x1818: 0x000a, 0x1819: 0x000a, 0x181a: 0x000a, 0x181b: 0x000a, 0x181c: 0x000a, 0x181d: 0x000a,\n\t0x181e: 0x000a, 0x181f: 0x000a, 0x1820: 0x000a, 0x1821: 0x000a, 0x1822: 0x000a, 0x1823: 0x000a,\n\t0x1824: 0x000a, 0x1825: 0x000a, 0x1826: 0x000a, 0x1827: 0x000a, 0x1828: 0x003a, 0x1829: 0x002a,\n\t0x182a: 0x003a, 0x182b: 0x002a, 0x182c: 0x003a, 0x182d: 0x002a, 0x182e: 0x003a, 0x182f: 0x002a,\n\t0x1830: 0x003a, 0x1831: 0x002a, 0x1832: 0x003a, 0x1833: 0x002a, 0x1834: 0x003a, 0x1835: 0x002a,\n\t0x1836: 0x000a, 0x1837: 0x000a, 0x1838: 0x000a, 0x1839: 0x000a, 0x183a: 0x000a, 0x183b: 0x000a,\n\t0x183c: 0x000a, 0x183d: 0x000a, 0x183e: 0x000a, 0x183f: 0x000a,\n\t// Block 0x61, offset 0x1840\n\t0x1840: 0x000a, 0x1841: 0x000a, 0x1842: 0x000a, 0x1843: 0x000a, 0x1844: 0x000a, 0x1845: 0x009a,\n\t0x1846: 0x008a, 0x1847: 0x000a, 0x1848: 0x000a, 0x1849: 0x000a, 0x184a: 0x000a, 0x184b: 0x000a,\n\t0x184c: 0x000a, 0x184d: 0x000a, 0x184e: 0x000a, 0x184f: 0x000a, 0x1850: 0x000a, 0x1851: 0x000a,\n\t0x1852: 0x000a, 0x1853: 0x000a, 0x1854: 0x000a, 0x1855: 0x000a, 0x1856: 0x000a, 0x1857: 0x000a,\n\t0x1858: 0x000a, 0x1859: 0x000a, 0x185a: 0x000a, 0x185b: 0x000a, 0x185c: 0x000a, 0x185d: 0x000a,\n\t0x185e: 0x000a, 0x185f: 0x000a, 0x1860: 0x000a, 0x1861: 0x000a, 0x1862: 0x000a, 0x1863: 0x000a,\n\t0x1864: 0x000a, 0x1865: 0x000a, 0x1866: 0x003a, 0x1867: 0x002a, 0x1868: 0x003a, 0x1869: 0x002a,\n\t0x186a: 0x003a, 0x186b: 0x002a, 0x186c: 0x003a, 0x186d: 0x002a, 0x186e: 0x003a, 0x186f: 0x002a,\n\t0x1870: 0x000a, 0x1871: 0x000a, 0x1872: 0x000a, 0x1873: 0x000a, 0x1874: 0x000a, 0x1875: 0x000a,\n\t0x1876: 0x000a, 0x1877: 0x000a, 0x1878: 0x000a, 0x1879: 0x000a, 0x187a: 0x000a, 0x187b: 0x000a,\n\t0x187c: 0x000a, 0x187d: 0x000a, 0x187e: 0x000a, 0x187f: 0x000a,\n\t// Block 0x62, offset 0x1880\n\t0x1880: 0x000a, 0x1881: 0x000a, 0x1882: 0x000a, 0x1883: 0x007a, 0x1884: 0x006a, 0x1885: 0x009a,\n\t0x1886: 0x008a, 0x1887: 0x00ba, 0x1888: 0x00aa, 0x1889: 0x009a, 0x188a: 0x008a, 0x188b: 0x007a,\n\t0x188c: 0x006a, 0x188d: 0x00da, 0x188e: 0x002a, 0x188f: 0x003a, 0x1890: 0x00ca, 0x1891: 0x009a,\n\t0x1892: 0x008a, 0x1893: 0x007a, 0x1894: 0x006a, 0x1895: 0x009a, 0x1896: 0x008a, 0x1897: 0x00ba,\n\t0x1898: 0x00aa, 0x1899: 0x000a, 0x189a: 0x000a, 0x189b: 0x000a, 0x189c: 0x000a, 0x189d: 0x000a,\n\t0x189e: 0x000a, 0x189f: 0x000a, 0x18a0: 0x000a, 0x18a1: 0x000a, 0x18a2: 0x000a, 0x18a3: 0x000a,\n\t0x18a4: 0x000a, 0x18a5: 0x000a, 0x18a6: 0x000a, 0x18a7: 0x000a, 0x18a8: 0x000a, 0x18a9: 0x000a,\n\t0x18aa: 0x000a, 0x18ab: 0x000a, 0x18ac: 0x000a, 0x18ad: 0x000a, 0x18ae: 0x000a, 0x18af: 0x000a,\n\t0x18b0: 0x000a, 0x18b1: 0x000a, 0x18b2: 0x000a, 0x18b3: 0x000a, 0x18b4: 0x000a, 0x18b5: 0x000a,\n\t0x18b6: 0x000a, 0x18b7: 0x000a, 0x18b8: 0x000a, 0x18b9: 0x000a, 0x18ba: 0x000a, 0x18bb: 0x000a,\n\t0x18bc: 0x000a, 0x18bd: 0x000a, 0x18be: 0x000a, 0x18bf: 0x000a,\n\t// Block 0x63, offset 0x18c0\n\t0x18c0: 0x000a, 0x18c1: 0x000a, 0x18c2: 0x000a, 0x18c3: 0x000a, 0x18c4: 0x000a, 0x18c5: 0x000a,\n\t0x18c6: 0x000a, 0x18c7: 0x000a, 0x18c8: 0x000a, 0x18c9: 0x000a, 0x18ca: 0x000a, 0x18cb: 0x000a,\n\t0x18cc: 0x000a, 0x18cd: 0x000a, 0x18ce: 0x000a, 0x18cf: 0x000a, 0x18d0: 0x000a, 0x18d1: 0x000a,\n\t0x18d2: 0x000a, 0x18d3: 0x000a, 0x18d4: 0x000a, 0x18d5: 0x000a, 0x18d6: 0x000a, 0x18d7: 0x000a,\n\t0x18d8: 0x003a, 0x18d9: 0x002a, 0x18da: 0x003a, 0x18db: 0x002a, 0x18dc: 0x000a, 0x18dd: 0x000a,\n\t0x18de: 0x000a, 0x18df: 0x000a, 0x18e0: 0x000a, 0x18e1: 0x000a, 0x18e2: 0x000a, 0x18e3: 0x000a,\n\t0x18e4: 0x000a, 0x18e5: 0x000a, 0x18e6: 0x000a, 0x18e7: 0x000a, 0x18e8: 0x000a, 0x18e9: 0x000a,\n\t0x18ea: 0x000a, 0x18eb: 0x000a, 0x18ec: 0x000a, 0x18ed: 0x000a, 0x18ee: 0x000a, 0x18ef: 0x000a,\n\t0x18f0: 0x000a, 0x18f1: 0x000a, 0x18f2: 0x000a, 0x18f3: 0x000a, 0x18f4: 0x000a, 0x18f5: 0x000a,\n\t0x18f6: 0x000a, 0x18f7: 0x000a, 0x18f8: 0x000a, 0x18f9: 0x000a, 0x18fa: 0x000a, 0x18fb: 0x000a,\n\t0x18fc: 0x003a, 0x18fd: 0x002a, 0x18fe: 0x000a, 0x18ff: 0x000a,\n\t// Block 0x64, offset 0x1900\n\t0x1900: 0x000a, 0x1901: 0x000a, 0x1902: 0x000a, 0x1903: 0x000a, 0x1904: 0x000a, 0x1905: 0x000a,\n\t0x1906: 0x000a, 0x1907: 0x000a, 0x1908: 0x000a, 0x1909: 0x000a, 0x190a: 0x000a, 0x190b: 0x000a,\n\t0x190c: 0x000a, 0x190d: 0x000a, 0x190e: 0x000a, 0x190f: 0x000a, 0x1910: 0x000a, 0x1911: 0x000a,\n\t0x1912: 0x000a, 0x1913: 0x000a, 0x1914: 0x000a, 0x1915: 0x000a, 0x1916: 0x000a, 0x1917: 0x000a,\n\t0x1918: 0x000a, 0x1919: 0x000a, 0x191a: 0x000a, 0x191b: 0x000a, 0x191c: 0x000a, 0x191d: 0x000a,\n\t0x191e: 0x000a, 0x191f: 0x000a, 0x1920: 0x000a, 0x1921: 0x000a, 0x1922: 0x000a, 0x1923: 0x000a,\n\t0x1924: 0x000a, 0x1925: 0x000a, 0x1926: 0x000a, 0x1927: 0x000a, 0x1928: 0x000a, 0x1929: 0x000a,\n\t0x192a: 0x000a, 0x192b: 0x000a, 0x192c: 0x000a, 0x192d: 0x000a, 0x192e: 0x000a, 0x192f: 0x000a,\n\t0x1930: 0x000a, 0x1931: 0x000a, 0x1932: 0x000a, 0x1933: 0x000a,\n\t0x1936: 0x000a, 0x1937: 0x000a, 0x1938: 0x000a, 0x1939: 0x000a, 0x193a: 0x000a, 0x193b: 0x000a,\n\t0x193c: 0x000a, 0x193d: 0x000a, 0x193e: 0x000a, 0x193f: 0x000a,\n\t// Block 0x65, offset 0x1940\n\t0x1940: 0x000a, 0x1941: 0x000a, 0x1942: 0x000a, 0x1943: 0x000a, 0x1944: 0x000a, 0x1945: 0x000a,\n\t0x1946: 0x000a, 0x1947: 0x000a, 0x1948: 0x000a, 0x1949: 0x000a, 0x194a: 0x000a, 0x194b: 0x000a,\n\t0x194c: 0x000a, 0x194d: 0x000a, 0x194e: 0x000a, 0x194f: 0x000a, 0x1950: 0x000a, 0x1951: 0x000a,\n\t0x1952: 0x000a, 0x1953: 0x000a, 0x1954: 0x000a, 0x1955: 0x000a,\n\t0x1958: 0x000a, 0x1959: 0x000a, 0x195a: 0x000a, 0x195b: 0x000a, 0x195c: 0x000a, 0x195d: 0x000a,\n\t0x195e: 0x000a, 0x195f: 0x000a, 0x1960: 0x000a, 0x1961: 0x000a, 0x1962: 0x000a, 0x1963: 0x000a,\n\t0x1964: 0x000a, 0x1965: 0x000a, 0x1966: 0x000a, 0x1967: 0x000a, 0x1968: 0x000a, 0x1969: 0x000a,\n\t0x196a: 0x000a, 0x196b: 0x000a, 0x196c: 0x000a, 0x196d: 0x000a, 0x196e: 0x000a, 0x196f: 0x000a,\n\t0x1970: 0x000a, 0x1971: 0x000a, 0x1972: 0x000a, 0x1973: 0x000a, 0x1974: 0x000a, 0x1975: 0x000a,\n\t0x1976: 0x000a, 0x1977: 0x000a, 0x1978: 0x000a, 0x1979: 0x000a,\n\t0x197d: 0x000a, 0x197e: 0x000a, 0x197f: 0x000a,\n\t// Block 0x66, offset 0x1980\n\t0x1980: 0x000a, 0x1981: 0x000a, 0x1982: 0x000a, 0x1983: 0x000a, 0x1984: 0x000a, 0x1985: 0x000a,\n\t0x1986: 0x000a, 0x1987: 0x000a, 0x1988: 0x000a, 0x198a: 0x000a, 0x198b: 0x000a,\n\t0x198c: 0x000a, 0x198d: 0x000a, 0x198e: 0x000a, 0x198f: 0x000a, 0x1990: 0x000a, 0x1991: 0x000a,\n\t0x1992: 0x000a,\n\t0x19ac: 0x000a, 0x19ad: 0x000a, 0x19ae: 0x000a, 0x19af: 0x000a,\n\t// Block 0x67, offset 0x19c0\n\t0x19e5: 0x000a, 0x19e6: 0x000a, 0x19e7: 0x000a, 0x19e8: 0x000a, 0x19e9: 0x000a,\n\t0x19ea: 0x000a, 0x19ef: 0x000c,\n\t0x19f0: 0x000c, 0x19f1: 0x000c,\n\t0x19f9: 0x000a, 0x19fa: 0x000a, 0x19fb: 0x000a,\n\t0x19fc: 0x000a, 0x19fd: 0x000a, 0x19fe: 0x000a, 0x19ff: 0x000a,\n\t// Block 0x68, offset 0x1a00\n\t0x1a3f: 0x000c,\n\t// Block 0x69, offset 0x1a40\n\t0x1a60: 0x000c, 0x1a61: 0x000c, 0x1a62: 0x000c, 0x1a63: 0x000c,\n\t0x1a64: 0x000c, 0x1a65: 0x000c, 0x1a66: 0x000c, 0x1a67: 0x000c, 0x1a68: 0x000c, 0x1a69: 0x000c,\n\t0x1a6a: 0x000c, 0x1a6b: 0x000c, 0x1a6c: 0x000c, 0x1a6d: 0x000c, 0x1a6e: 0x000c, 0x1a6f: 0x000c,\n\t0x1a70: 0x000c, 0x1a71: 0x000c, 0x1a72: 0x000c, 0x1a73: 0x000c, 0x1a74: 0x000c, 0x1a75: 0x000c,\n\t0x1a76: 0x000c, 0x1a77: 0x000c, 0x1a78: 0x000c, 0x1a79: 0x000c, 0x1a7a: 0x000c, 0x1a7b: 0x000c,\n\t0x1a7c: 0x000c, 0x1a7d: 0x000c, 0x1a7e: 0x000c, 0x1a7f: 0x000c,\n\t// Block 0x6a, offset 0x1a80\n\t0x1a80: 0x000a, 0x1a81: 0x000a, 0x1a82: 0x000a, 0x1a83: 0x000a, 0x1a84: 0x000a, 0x1a85: 0x000a,\n\t0x1a86: 0x000a, 0x1a87: 0x000a, 0x1a88: 0x000a, 0x1a89: 0x000a, 0x1a8a: 0x000a, 0x1a8b: 0x000a,\n\t0x1a8c: 0x000a, 0x1a8d: 0x000a, 0x1a8e: 0x000a, 0x1a8f: 0x000a, 0x1a90: 0x000a, 0x1a91: 0x000a,\n\t0x1a92: 0x000a, 0x1a93: 0x000a, 0x1a94: 0x000a, 0x1a95: 0x000a, 0x1a96: 0x000a, 0x1a97: 0x000a,\n\t0x1a98: 0x000a, 0x1a99: 0x000a, 0x1a9a: 0x000a, 0x1a9b: 0x000a, 0x1a9c: 0x000a, 0x1a9d: 0x000a,\n\t0x1a9e: 0x000a, 0x1a9f: 0x000a, 0x1aa0: 0x000a, 0x1aa1: 0x000a, 0x1aa2: 0x003a, 0x1aa3: 0x002a,\n\t0x1aa4: 0x003a, 0x1aa5: 0x002a, 0x1aa6: 0x003a, 0x1aa7: 0x002a, 0x1aa8: 0x003a, 0x1aa9: 0x002a,\n\t0x1aaa: 0x000a, 0x1aab: 0x000a, 0x1aac: 0x000a, 0x1aad: 0x000a, 0x1aae: 0x000a, 0x1aaf: 0x000a,\n\t0x1ab0: 0x000a, 0x1ab1: 0x000a, 0x1ab2: 0x000a, 0x1ab3: 0x000a, 0x1ab4: 0x000a, 0x1ab5: 0x000a,\n\t0x1ab6: 0x000a, 0x1ab7: 0x000a, 0x1ab8: 0x000a, 0x1ab9: 0x000a, 0x1aba: 0x000a, 0x1abb: 0x000a,\n\t0x1abc: 0x000a, 0x1abd: 0x000a, 0x1abe: 0x000a, 0x1abf: 0x000a,\n\t// Block 0x6b, offset 0x1ac0\n\t0x1ac0: 0x000a, 0x1ac1: 0x000a, 0x1ac2: 0x000a, 0x1ac3: 0x000a, 0x1ac4: 0x000a, 0x1ac5: 0x000a,\n\t0x1ac6: 0x000a, 0x1ac7: 0x000a, 0x1ac8: 0x000a, 0x1ac9: 0x000a,\n\t// Block 0x6c, offset 0x1b00\n\t0x1b00: 0x000a, 0x1b01: 0x000a, 0x1b02: 0x000a, 0x1b03: 0x000a, 0x1b04: 0x000a, 0x1b05: 0x000a,\n\t0x1b06: 0x000a, 0x1b07: 0x000a, 0x1b08: 0x000a, 0x1b09: 0x000a, 0x1b0a: 0x000a, 0x1b0b: 0x000a,\n\t0x1b0c: 0x000a, 0x1b0d: 0x000a, 0x1b0e: 0x000a, 0x1b0f: 0x000a, 0x1b10: 0x000a, 0x1b11: 0x000a,\n\t0x1b12: 0x000a, 0x1b13: 0x000a, 0x1b14: 0x000a, 0x1b15: 0x000a, 0x1b16: 0x000a, 0x1b17: 0x000a,\n\t0x1b18: 0x000a, 0x1b19: 0x000a, 0x1b1b: 0x000a, 0x1b1c: 0x000a, 0x1b1d: 0x000a,\n\t0x1b1e: 0x000a, 0x1b1f: 0x000a, 0x1b20: 0x000a, 0x1b21: 0x000a, 0x1b22: 0x000a, 0x1b23: 0x000a,\n\t0x1b24: 0x000a, 0x1b25: 0x000a, 0x1b26: 0x000a, 0x1b27: 0x000a, 0x1b28: 0x000a, 0x1b29: 0x000a,\n\t0x1b2a: 0x000a, 0x1b2b: 0x000a, 0x1b2c: 0x000a, 0x1b2d: 0x000a, 0x1b2e: 0x000a, 0x1b2f: 0x000a,\n\t0x1b30: 0x000a, 0x1b31: 0x000a, 0x1b32: 0x000a, 0x1b33: 0x000a, 0x1b34: 0x000a, 0x1b35: 0x000a,\n\t0x1b36: 0x000a, 0x1b37: 0x000a, 0x1b38: 0x000a, 0x1b39: 0x000a, 0x1b3a: 0x000a, 0x1b3b: 0x000a,\n\t0x1b3c: 0x000a, 0x1b3d: 0x000a, 0x1b3e: 0x000a, 0x1b3f: 0x000a,\n\t// Block 0x6d, offset 0x1b40\n\t0x1b40: 0x000a, 0x1b41: 0x000a, 0x1b42: 0x000a, 0x1b43: 0x000a, 0x1b44: 0x000a, 0x1b45: 0x000a,\n\t0x1b46: 0x000a, 0x1b47: 0x000a, 0x1b48: 0x000a, 0x1b49: 0x000a, 0x1b4a: 0x000a, 0x1b4b: 0x000a,\n\t0x1b4c: 0x000a, 0x1b4d: 0x000a, 0x1b4e: 0x000a, 0x1b4f: 0x000a, 0x1b50: 0x000a, 0x1b51: 0x000a,\n\t0x1b52: 0x000a, 0x1b53: 0x000a, 0x1b54: 0x000a, 0x1b55: 0x000a, 0x1b56: 0x000a, 0x1b57: 0x000a,\n\t0x1b58: 0x000a, 0x1b59: 0x000a, 0x1b5a: 0x000a, 0x1b5b: 0x000a, 0x1b5c: 0x000a, 0x1b5d: 0x000a,\n\t0x1b5e: 0x000a, 0x1b5f: 0x000a, 0x1b60: 0x000a, 0x1b61: 0x000a, 0x1b62: 0x000a, 0x1b63: 0x000a,\n\t0x1b64: 0x000a, 0x1b65: 0x000a, 0x1b66: 0x000a, 0x1b67: 0x000a, 0x1b68: 0x000a, 0x1b69: 0x000a,\n\t0x1b6a: 0x000a, 0x1b6b: 0x000a, 0x1b6c: 0x000a, 0x1b6d: 0x000a, 0x1b6e: 0x000a, 0x1b6f: 0x000a,\n\t0x1b70: 0x000a, 0x1b71: 0x000a, 0x1b72: 0x000a, 0x1b73: 0x000a,\n\t// Block 0x6e, offset 0x1b80\n\t0x1b80: 0x000a, 0x1b81: 0x000a, 0x1b82: 0x000a, 0x1b83: 0x000a, 0x1b84: 0x000a, 0x1b85: 0x000a,\n\t0x1b86: 0x000a, 0x1b87: 0x000a, 0x1b88: 0x000a, 0x1b89: 0x000a, 0x1b8a: 0x000a, 0x1b8b: 0x000a,\n\t0x1b8c: 0x000a, 0x1b8d: 0x000a, 0x1b8e: 0x000a, 0x1b8f: 0x000a, 0x1b90: 0x000a, 0x1b91: 0x000a,\n\t0x1b92: 0x000a, 0x1b93: 0x000a, 0x1b94: 0x000a, 0x1b95: 0x000a,\n\t0x1bb0: 0x000a, 0x1bb1: 0x000a, 0x1bb2: 0x000a, 0x1bb3: 0x000a, 0x1bb4: 0x000a, 0x1bb5: 0x000a,\n\t0x1bb6: 0x000a, 0x1bb7: 0x000a, 0x1bb8: 0x000a, 0x1bb9: 0x000a, 0x1bba: 0x000a, 0x1bbb: 0x000a,\n\t// Block 0x6f, offset 0x1bc0\n\t0x1bc0: 0x0009, 0x1bc1: 0x000a, 0x1bc2: 0x000a, 0x1bc3: 0x000a, 0x1bc4: 0x000a,\n\t0x1bc8: 0x003a, 0x1bc9: 0x002a, 0x1bca: 0x003a, 0x1bcb: 0x002a,\n\t0x1bcc: 0x003a, 0x1bcd: 0x002a, 0x1bce: 0x003a, 0x1bcf: 0x002a, 0x1bd0: 0x003a, 0x1bd1: 0x002a,\n\t0x1bd2: 0x000a, 0x1bd3: 0x000a, 0x1bd4: 0x003a, 0x1bd5: 0x002a, 0x1bd6: 0x003a, 0x1bd7: 0x002a,\n\t0x1bd8: 0x003a, 0x1bd9: 0x002a, 0x1bda: 0x003a, 0x1bdb: 0x002a, 0x1bdc: 0x000a, 0x1bdd: 0x000a,\n\t0x1bde: 0x000a, 0x1bdf: 0x000a, 0x1be0: 0x000a,\n\t0x1bea: 0x000c, 0x1beb: 0x000c, 0x1bec: 0x000c, 0x1bed: 0x000c,\n\t0x1bf0: 0x000a,\n\t0x1bf6: 0x000a, 0x1bf7: 0x000a,\n\t0x1bfd: 0x000a, 0x1bfe: 0x000a, 0x1bff: 0x000a,\n\t// Block 0x70, offset 0x1c00\n\t0x1c19: 0x000c, 0x1c1a: 0x000c, 0x1c1b: 0x000a, 0x1c1c: 0x000a,\n\t0x1c20: 0x000a,\n\t// Block 0x71, offset 0x1c40\n\t0x1c7b: 0x000a,\n\t// Block 0x72, offset 0x1c80\n\t0x1c80: 0x000a, 0x1c81: 0x000a, 0x1c82: 0x000a, 0x1c83: 0x000a, 0x1c84: 0x000a, 0x1c85: 0x000a,\n\t0x1c86: 0x000a, 0x1c87: 0x000a, 0x1c88: 0x000a, 0x1c89: 0x000a, 0x1c8a: 0x000a, 0x1c8b: 0x000a,\n\t0x1c8c: 0x000a, 0x1c8d: 0x000a, 0x1c8e: 0x000a, 0x1c8f: 0x000a, 0x1c90: 0x000a, 0x1c91: 0x000a,\n\t0x1c92: 0x000a, 0x1c93: 0x000a, 0x1c94: 0x000a, 0x1c95: 0x000a, 0x1c96: 0x000a, 0x1c97: 0x000a,\n\t0x1c98: 0x000a, 0x1c99: 0x000a, 0x1c9a: 0x000a, 0x1c9b: 0x000a, 0x1c9c: 0x000a, 0x1c9d: 0x000a,\n\t0x1c9e: 0x000a, 0x1c9f: 0x000a, 0x1ca0: 0x000a, 0x1ca1: 0x000a, 0x1ca2: 0x000a, 0x1ca3: 0x000a,\n\t// Block 0x73, offset 0x1cc0\n\t0x1cdd: 0x000a,\n\t0x1cde: 0x000a,\n\t// Block 0x74, offset 0x1d00\n\t0x1d10: 0x000a, 0x1d11: 0x000a,\n\t0x1d12: 0x000a, 0x1d13: 0x000a, 0x1d14: 0x000a, 0x1d15: 0x000a, 0x1d16: 0x000a, 0x1d17: 0x000a,\n\t0x1d18: 0x000a, 0x1d19: 0x000a, 0x1d1a: 0x000a, 0x1d1b: 0x000a, 0x1d1c: 0x000a, 0x1d1d: 0x000a,\n\t0x1d1e: 0x000a, 0x1d1f: 0x000a,\n\t0x1d3c: 0x000a, 0x1d3d: 0x000a, 0x1d3e: 0x000a,\n\t// Block 0x75, offset 0x1d40\n\t0x1d71: 0x000a, 0x1d72: 0x000a, 0x1d73: 0x000a, 0x1d74: 0x000a, 0x1d75: 0x000a,\n\t0x1d76: 0x000a, 0x1d77: 0x000a, 0x1d78: 0x000a, 0x1d79: 0x000a, 0x1d7a: 0x000a, 0x1d7b: 0x000a,\n\t0x1d7c: 0x000a, 0x1d7d: 0x000a, 0x1d7e: 0x000a, 0x1d7f: 0x000a,\n\t// Block 0x76, offset 0x1d80\n\t0x1d8c: 0x000a, 0x1d8d: 0x000a, 0x1d8e: 0x000a, 0x1d8f: 0x000a,\n\t// Block 0x77, offset 0x1dc0\n\t0x1df7: 0x000a, 0x1df8: 0x000a, 0x1df9: 0x000a, 0x1dfa: 0x000a,\n\t// Block 0x78, offset 0x1e00\n\t0x1e1e: 0x000a, 0x1e1f: 0x000a,\n\t0x1e3f: 0x000a,\n\t// Block 0x79, offset 0x1e40\n\t0x1e50: 0x000a, 0x1e51: 0x000a,\n\t0x1e52: 0x000a, 0x1e53: 0x000a, 0x1e54: 0x000a, 0x1e55: 0x000a, 0x1e56: 0x000a, 0x1e57: 0x000a,\n\t0x1e58: 0x000a, 0x1e59: 0x000a, 0x1e5a: 0x000a, 0x1e5b: 0x000a, 0x1e5c: 0x000a, 0x1e5d: 0x000a,\n\t0x1e5e: 0x000a, 0x1e5f: 0x000a, 0x1e60: 0x000a, 0x1e61: 0x000a, 0x1e62: 0x000a, 0x1e63: 0x000a,\n\t0x1e64: 0x000a, 0x1e65: 0x000a, 0x1e66: 0x000a, 0x1e67: 0x000a, 0x1e68: 0x000a, 0x1e69: 0x000a,\n\t0x1e6a: 0x000a, 0x1e6b: 0x000a, 0x1e6c: 0x000a, 0x1e6d: 0x000a, 0x1e6e: 0x000a, 0x1e6f: 0x000a,\n\t0x1e70: 0x000a, 0x1e71: 0x000a, 0x1e72: 0x000a, 0x1e73: 0x000a, 0x1e74: 0x000a, 0x1e75: 0x000a,\n\t0x1e76: 0x000a, 0x1e77: 0x000a, 0x1e78: 0x000a, 0x1e79: 0x000a, 0x1e7a: 0x000a, 0x1e7b: 0x000a,\n\t0x1e7c: 0x000a, 0x1e7d: 0x000a, 0x1e7e: 0x000a, 0x1e7f: 0x000a,\n\t// Block 0x7a, offset 0x1e80\n\t0x1e80: 0x000a, 0x1e81: 0x000a, 0x1e82: 0x000a, 0x1e83: 0x000a, 0x1e84: 0x000a, 0x1e85: 0x000a,\n\t0x1e86: 0x000a,\n\t// Block 0x7b, offset 0x1ec0\n\t0x1ecd: 0x000a, 0x1ece: 0x000a, 0x1ecf: 0x000a,\n\t// Block 0x7c, offset 0x1f00\n\t0x1f2f: 0x000c,\n\t0x1f30: 0x000c, 0x1f31: 0x000c, 0x1f32: 0x000c, 0x1f33: 0x000a, 0x1f34: 0x000c, 0x1f35: 0x000c,\n\t0x1f36: 0x000c, 0x1f37: 0x000c, 0x1f38: 0x000c, 0x1f39: 0x000c, 0x1f3a: 0x000c, 0x1f3b: 0x000c,\n\t0x1f3c: 0x000c, 0x1f3d: 0x000c, 0x1f3e: 0x000a, 0x1f3f: 0x000a,\n\t// Block 0x7d, offset 0x1f40\n\t0x1f5e: 0x000c, 0x1f5f: 0x000c,\n\t// Block 0x7e, offset 0x1f80\n\t0x1fb0: 0x000c, 0x1fb1: 0x000c,\n\t// Block 0x7f, offset 0x1fc0\n\t0x1fc0: 0x000a, 0x1fc1: 0x000a, 0x1fc2: 0x000a, 0x1fc3: 0x000a, 0x1fc4: 0x000a, 0x1fc5: 0x000a,\n\t0x1fc6: 0x000a, 0x1fc7: 0x000a, 0x1fc8: 0x000a, 0x1fc9: 0x000a, 0x1fca: 0x000a, 0x1fcb: 0x000a,\n\t0x1fcc: 0x000a, 0x1fcd: 0x000a, 0x1fce: 0x000a, 0x1fcf: 0x000a, 0x1fd0: 0x000a, 0x1fd1: 0x000a,\n\t0x1fd2: 0x000a, 0x1fd3: 0x000a, 0x1fd4: 0x000a, 0x1fd5: 0x000a, 0x1fd6: 0x000a, 0x1fd7: 0x000a,\n\t0x1fd8: 0x000a, 0x1fd9: 0x000a, 0x1fda: 0x000a, 0x1fdb: 0x000a, 0x1fdc: 0x000a, 0x1fdd: 0x000a,\n\t0x1fde: 0x000a, 0x1fdf: 0x000a, 0x1fe0: 0x000a, 0x1fe1: 0x000a,\n\t// Block 0x80, offset 0x2000\n\t0x2008: 0x000a,\n\t// Block 0x81, offset 0x2040\n\t0x2042: 0x000c,\n\t0x2046: 0x000c, 0x204b: 0x000c,\n\t0x2065: 0x000c, 0x2066: 0x000c, 0x2068: 0x000a, 0x2069: 0x000a,\n\t0x206a: 0x000a, 0x206b: 0x000a,\n\t0x2078: 0x0004, 0x2079: 0x0004,\n\t// Block 0x82, offset 0x2080\n\t0x20b4: 0x000a, 0x20b5: 0x000a,\n\t0x20b6: 0x000a, 0x20b7: 0x000a,\n\t// Block 0x83, offset 0x20c0\n\t0x20c4: 0x000c, 0x20c5: 0x000c,\n\t0x20e0: 0x000c, 0x20e1: 0x000c, 0x20e2: 0x000c, 0x20e3: 0x000c,\n\t0x20e4: 0x000c, 0x20e5: 0x000c, 0x20e6: 0x000c, 0x20e7: 0x000c, 0x20e8: 0x000c, 0x20e9: 0x000c,\n\t0x20ea: 0x000c, 0x20eb: 0x000c, 0x20ec: 0x000c, 0x20ed: 0x000c, 0x20ee: 0x000c, 0x20ef: 0x000c,\n\t0x20f0: 0x000c, 0x20f1: 0x000c,\n\t// Block 0x84, offset 0x2100\n\t0x2126: 0x000c, 0x2127: 0x000c, 0x2128: 0x000c, 0x2129: 0x000c,\n\t0x212a: 0x000c, 0x212b: 0x000c, 0x212c: 0x000c, 0x212d: 0x000c,\n\t// Block 0x85, offset 0x2140\n\t0x2147: 0x000c, 0x2148: 0x000c, 0x2149: 0x000c, 0x214a: 0x000c, 0x214b: 0x000c,\n\t0x214c: 0x000c, 0x214d: 0x000c, 0x214e: 0x000c, 0x214f: 0x000c, 0x2150: 0x000c, 0x2151: 0x000c,\n\t// Block 0x86, offset 0x2180\n\t0x2180: 0x000c, 0x2181: 0x000c, 0x2182: 0x000c,\n\t0x21b3: 0x000c,\n\t0x21b6: 0x000c, 0x21b7: 0x000c, 0x21b8: 0x000c, 0x21b9: 0x000c,\n\t0x21bc: 0x000c,\n\t// Block 0x87, offset 0x21c0\n\t0x21e5: 0x000c,\n\t// Block 0x88, offset 0x2200\n\t0x2229: 0x000c,\n\t0x222a: 0x000c, 0x222b: 0x000c, 0x222c: 0x000c, 0x222d: 0x000c, 0x222e: 0x000c,\n\t0x2231: 0x000c, 0x2232: 0x000c, 0x2235: 0x000c,\n\t0x2236: 0x000c,\n\t// Block 0x89, offset 0x2240\n\t0x2243: 0x000c,\n\t0x224c: 0x000c,\n\t0x227c: 0x000c,\n\t// Block 0x8a, offset 0x2280\n\t0x22b0: 0x000c, 0x22b2: 0x000c, 0x22b3: 0x000c, 0x22b4: 0x000c,\n\t0x22b7: 0x000c, 0x22b8: 0x000c,\n\t0x22be: 0x000c, 0x22bf: 0x000c,\n\t// Block 0x8b, offset 0x22c0\n\t0x22c1: 0x000c,\n\t0x22ec: 0x000c, 0x22ed: 0x000c,\n\t0x22f6: 0x000c,\n\t// Block 0x8c, offset 0x2300\n\t0x2325: 0x000c, 0x2328: 0x000c,\n\t0x232d: 0x000c,\n\t// Block 0x8d, offset 0x2340\n\t0x235d: 0x0001,\n\t0x235e: 0x000c, 0x235f: 0x0001, 0x2360: 0x0001, 0x2361: 0x0001, 0x2362: 0x0001, 0x2363: 0x0001,\n\t0x2364: 0x0001, 0x2365: 0x0001, 0x2366: 0x0001, 0x2367: 0x0001, 0x2368: 0x0001, 0x2369: 0x0003,\n\t0x236a: 0x0001, 0x236b: 0x0001, 0x236c: 0x0001, 0x236d: 0x0001, 0x236e: 0x0001, 0x236f: 0x0001,\n\t0x2370: 0x0001, 0x2371: 0x0001, 0x2372: 0x0001, 0x2373: 0x0001, 0x2374: 0x0001, 0x2375: 0x0001,\n\t0x2376: 0x0001, 0x2377: 0x0001, 0x2378: 0x0001, 0x2379: 0x0001, 0x237a: 0x0001, 0x237b: 0x0001,\n\t0x237c: 0x0001, 0x237d: 0x0001, 0x237e: 0x0001, 0x237f: 0x0001,\n\t// Block 0x8e, offset 0x2380\n\t0x2380: 0x0001, 0x2381: 0x0001, 0x2382: 0x0001, 0x2383: 0x0001, 0x2384: 0x0001, 0x2385: 0x0001,\n\t0x2386: 0x0001, 0x2387: 0x0001, 0x2388: 0x0001, 0x2389: 0x0001, 0x238a: 0x0001, 0x238b: 0x0001,\n\t0x238c: 0x0001, 0x238d: 0x0001, 0x238e: 0x0001, 0x238f: 0x0001, 0x2390: 0x000d, 0x2391: 0x000d,\n\t0x2392: 0x000d, 0x2393: 0x000d, 0x2394: 0x000d, 0x2395: 0x000d, 0x2396: 0x000d, 0x2397: 0x000d,\n\t0x2398: 0x000d, 0x2399: 0x000d, 0x239a: 0x000d, 0x239b: 0x000d, 0x239c: 0x000d, 0x239d: 0x000d,\n\t0x239e: 0x000d, 0x239f: 0x000d, 0x23a0: 0x000d, 0x23a1: 0x000d, 0x23a2: 0x000d, 0x23a3: 0x000d,\n\t0x23a4: 0x000d, 0x23a5: 0x000d, 0x23a6: 0x000d, 0x23a7: 0x000d, 0x23a8: 0x000d, 0x23a9: 0x000d,\n\t0x23aa: 0x000d, 0x23ab: 0x000d, 0x23ac: 0x000d, 0x23ad: 0x000d, 0x23ae: 0x000d, 0x23af: 0x000d,\n\t0x23b0: 0x000d, 0x23b1: 0x000d, 0x23b2: 0x000d, 0x23b3: 0x000d, 0x23b4: 0x000d, 0x23b5: 0x000d,\n\t0x23b6: 0x000d, 0x23b7: 0x000d, 0x23b8: 0x000d, 0x23b9: 0x000d, 0x23ba: 0x000d, 0x23bb: 0x000d,\n\t0x23bc: 0x000d, 0x23bd: 0x000d, 0x23be: 0x000d, 0x23bf: 0x000d,\n\t// Block 0x8f, offset 0x23c0\n\t0x23c0: 0x000d, 0x23c1: 0x000d, 0x23c2: 0x000d, 0x23c3: 0x000d, 0x23c4: 0x000d, 0x23c5: 0x000d,\n\t0x23c6: 0x000d, 0x23c7: 0x000d, 0x23c8: 0x000d, 0x23c9: 0x000d, 0x23ca: 0x000d, 0x23cb: 0x000d,\n\t0x23cc: 0x000d, 0x23cd: 0x000d, 0x23ce: 0x000d, 0x23cf: 0x000d, 0x23d0: 0x000d, 0x23d1: 0x000d,\n\t0x23d2: 0x000d, 0x23d3: 0x000d, 0x23d4: 0x000d, 0x23d5: 0x000d, 0x23d6: 0x000d, 0x23d7: 0x000d,\n\t0x23d8: 0x000d, 0x23d9: 0x000d, 0x23da: 0x000d, 0x23db: 0x000d, 0x23dc: 0x000d, 0x23dd: 0x000d,\n\t0x23de: 0x000d, 0x23df: 0x000d, 0x23e0: 0x000d, 0x23e1: 0x000d, 0x23e2: 0x000d, 0x23e3: 0x000d,\n\t0x23e4: 0x000d, 0x23e5: 0x000d, 0x23e6: 0x000d, 0x23e7: 0x000d, 0x23e8: 0x000d, 0x23e9: 0x000d,\n\t0x23ea: 0x000d, 0x23eb: 0x000d, 0x23ec: 0x000d, 0x23ed: 0x000d, 0x23ee: 0x000d, 0x23ef: 0x000d,\n\t0x23f0: 0x000d, 0x23f1: 0x000d, 0x23f2: 0x000d, 0x23f3: 0x000d, 0x23f4: 0x000d, 0x23f5: 0x000d,\n\t0x23f6: 0x000d, 0x23f7: 0x000d, 0x23f8: 0x000d, 0x23f9: 0x000d, 0x23fa: 0x000d, 0x23fb: 0x000d,\n\t0x23fc: 0x000d, 0x23fd: 0x000d, 0x23fe: 0x000a, 0x23ff: 0x000a,\n\t// Block 0x90, offset 0x2400\n\t0x2400: 0x000d, 0x2401: 0x000d, 0x2402: 0x000d, 0x2403: 0x000d, 0x2404: 0x000d, 0x2405: 0x000d,\n\t0x2406: 0x000d, 0x2407: 0x000d, 0x2408: 0x000d, 0x2409: 0x000d, 0x240a: 0x000d, 0x240b: 0x000d,\n\t0x240c: 0x000d, 0x240d: 0x000d, 0x240e: 0x000d, 0x240f: 0x000d, 0x2410: 0x000b, 0x2411: 0x000b,\n\t0x2412: 0x000b, 0x2413: 0x000b, 0x2414: 0x000b, 0x2415: 0x000b, 0x2416: 0x000b, 0x2417: 0x000b,\n\t0x2418: 0x000b, 0x2419: 0x000b, 0x241a: 0x000b, 0x241b: 0x000b, 0x241c: 0x000b, 0x241d: 0x000b,\n\t0x241e: 0x000b, 0x241f: 0x000b, 0x2420: 0x000b, 0x2421: 0x000b, 0x2422: 0x000b, 0x2423: 0x000b,\n\t0x2424: 0x000b, 0x2425: 0x000b, 0x2426: 0x000b, 0x2427: 0x000b, 0x2428: 0x000b, 0x2429: 0x000b,\n\t0x242a: 0x000b, 0x242b: 0x000b, 0x242c: 0x000b, 0x242d: 0x000b, 0x242e: 0x000b, 0x242f: 0x000b,\n\t0x2430: 0x000d, 0x2431: 0x000d, 0x2432: 0x000d, 0x2433: 0x000d, 0x2434: 0x000d, 0x2435: 0x000d,\n\t0x2436: 0x000d, 0x2437: 0x000d, 0x2438: 0x000d, 0x2439: 0x000d, 0x243a: 0x000d, 0x243b: 0x000d,\n\t0x243c: 0x000d, 0x243d: 0x000a, 0x243e: 0x000d, 0x243f: 0x000d,\n\t// Block 0x91, offset 0x2440\n\t0x2440: 0x000c, 0x2441: 0x000c, 0x2442: 0x000c, 0x2443: 0x000c, 0x2444: 0x000c, 0x2445: 0x000c,\n\t0x2446: 0x000c, 0x2447: 0x000c, 0x2448: 0x000c, 0x2449: 0x000c, 0x244a: 0x000c, 0x244b: 0x000c,\n\t0x244c: 0x000c, 0x244d: 0x000c, 0x244e: 0x000c, 0x244f: 0x000c, 0x2450: 0x000a, 0x2451: 0x000a,\n\t0x2452: 0x000a, 0x2453: 0x000a, 0x2454: 0x000a, 0x2455: 0x000a, 0x2456: 0x000a, 0x2457: 0x000a,\n\t0x2458: 0x000a, 0x2459: 0x000a,\n\t0x2460: 0x000c, 0x2461: 0x000c, 0x2462: 0x000c, 0x2463: 0x000c,\n\t0x2464: 0x000c, 0x2465: 0x000c, 0x2466: 0x000c, 0x2467: 0x000c, 0x2468: 0x000c, 0x2469: 0x000c,\n\t0x246a: 0x000c, 0x246b: 0x000c, 0x246c: 0x000c, 0x246d: 0x000c, 0x246e: 0x000c, 0x246f: 0x000c,\n\t0x2470: 0x000a, 0x2471: 0x000a, 0x2472: 0x000a, 0x2473: 0x000a, 0x2474: 0x000a, 0x2475: 0x000a,\n\t0x2476: 0x000a, 0x2477: 0x000a, 0x2478: 0x000a, 0x2479: 0x000a, 0x247a: 0x000a, 0x247b: 0x000a,\n\t0x247c: 0x000a, 0x247d: 0x000a, 0x247e: 0x000a, 0x247f: 0x000a,\n\t// Block 0x92, offset 0x2480\n\t0x2480: 0x000a, 0x2481: 0x000a, 0x2482: 0x000a, 0x2483: 0x000a, 0x2484: 0x000a, 0x2485: 0x000a,\n\t0x2486: 0x000a, 0x2487: 0x000a, 0x2488: 0x000a, 0x2489: 0x000a, 0x248a: 0x000a, 0x248b: 0x000a,\n\t0x248c: 0x000a, 0x248d: 0x000a, 0x248e: 0x000a, 0x248f: 0x000a, 0x2490: 0x0006, 0x2491: 0x000a,\n\t0x2492: 0x0006, 0x2494: 0x000a, 0x2495: 0x0006, 0x2496: 0x000a, 0x2497: 0x000a,\n\t0x2498: 0x000a, 0x2499: 0x009a, 0x249a: 0x008a, 0x249b: 0x007a, 0x249c: 0x006a, 0x249d: 0x009a,\n\t0x249e: 0x008a, 0x249f: 0x0004, 0x24a0: 0x000a, 0x24a1: 0x000a, 0x24a2: 0x0003, 0x24a3: 0x0003,\n\t0x24a4: 0x000a, 0x24a5: 0x000a, 0x24a6: 0x000a, 0x24a8: 0x000a, 0x24a9: 0x0004,\n\t0x24aa: 0x0004, 0x24ab: 0x000a,\n\t0x24b0: 0x000d, 0x24b1: 0x000d, 0x24b2: 0x000d, 0x24b3: 0x000d, 0x24b4: 0x000d, 0x24b5: 0x000d,\n\t0x24b6: 0x000d, 0x24b7: 0x000d, 0x24b8: 0x000d, 0x24b9: 0x000d, 0x24ba: 0x000d, 0x24bb: 0x000d,\n\t0x24bc: 0x000d, 0x24bd: 0x000d, 0x24be: 0x000d, 0x24bf: 0x000d,\n\t// Block 0x93, offset 0x24c0\n\t0x24c0: 0x000d, 0x24c1: 0x000d, 0x24c2: 0x000d, 0x24c3: 0x000d, 0x24c4: 0x000d, 0x24c5: 0x000d,\n\t0x24c6: 0x000d, 0x24c7: 0x000d, 0x24c8: 0x000d, 0x24c9: 0x000d, 0x24ca: 0x000d, 0x24cb: 0x000d,\n\t0x24cc: 0x000d, 0x24cd: 0x000d, 0x24ce: 0x000d, 0x24cf: 0x000d, 0x24d0: 0x000d, 0x24d1: 0x000d,\n\t0x24d2: 0x000d, 0x24d3: 0x000d, 0x24d4: 0x000d, 0x24d5: 0x000d, 0x24d6: 0x000d, 0x24d7: 0x000d,\n\t0x24d8: 0x000d, 0x24d9: 0x000d, 0x24da: 0x000d, 0x24db: 0x000d, 0x24dc: 0x000d, 0x24dd: 0x000d,\n\t0x24de: 0x000d, 0x24df: 0x000d, 0x24e0: 0x000d, 0x24e1: 0x000d, 0x24e2: 0x000d, 0x24e3: 0x000d,\n\t0x24e4: 0x000d, 0x24e5: 0x000d, 0x24e6: 0x000d, 0x24e7: 0x000d, 0x24e8: 0x000d, 0x24e9: 0x000d,\n\t0x24ea: 0x000d, 0x24eb: 0x000d, 0x24ec: 0x000d, 0x24ed: 0x000d, 0x24ee: 0x000d, 0x24ef: 0x000d,\n\t0x24f0: 0x000d, 0x24f1: 0x000d, 0x24f2: 0x000d, 0x24f3: 0x000d, 0x24f4: 0x000d, 0x24f5: 0x000d,\n\t0x24f6: 0x000d, 0x24f7: 0x000d, 0x24f8: 0x000d, 0x24f9: 0x000d, 0x24fa: 0x000d, 0x24fb: 0x000d,\n\t0x24fc: 0x000d, 0x24fd: 0x000d, 0x24fe: 0x000d, 0x24ff: 0x000b,\n\t// Block 0x94, offset 0x2500\n\t0x2501: 0x000a, 0x2502: 0x000a, 0x2503: 0x0004, 0x2504: 0x0004, 0x2505: 0x0004,\n\t0x2506: 0x000a, 0x2507: 0x000a, 0x2508: 0x003a, 0x2509: 0x002a, 0x250a: 0x000a, 0x250b: 0x0003,\n\t0x250c: 0x0006, 0x250d: 0x0003, 0x250e: 0x0006, 0x250f: 0x0006, 0x2510: 0x0002, 0x2511: 0x0002,\n\t0x2512: 0x0002, 0x2513: 0x0002, 0x2514: 0x0002, 0x2515: 0x0002, 0x2516: 0x0002, 0x2517: 0x0002,\n\t0x2518: 0x0002, 0x2519: 0x0002, 0x251a: 0x0006, 0x251b: 0x000a, 0x251c: 0x000a, 0x251d: 0x000a,\n\t0x251e: 0x000a, 0x251f: 0x000a, 0x2520: 0x000a,\n\t0x253b: 0x005a,\n\t0x253c: 0x000a, 0x253d: 0x004a, 0x253e: 0x000a, 0x253f: 0x000a,\n\t// Block 0x95, offset 0x2540\n\t0x2540: 0x000a,\n\t0x255b: 0x005a, 0x255c: 0x000a, 0x255d: 0x004a,\n\t0x255e: 0x000a, 0x255f: 0x00fa, 0x2560: 0x00ea, 0x2561: 0x000a, 0x2562: 0x003a, 0x2563: 0x002a,\n\t0x2564: 0x000a, 0x2565: 0x000a,\n\t// Block 0x96, offset 0x2580\n\t0x25a0: 0x0004, 0x25a1: 0x0004, 0x25a2: 0x000a, 0x25a3: 0x000a,\n\t0x25a4: 0x000a, 0x25a5: 0x0004, 0x25a6: 0x0004, 0x25a8: 0x000a, 0x25a9: 0x000a,\n\t0x25aa: 0x000a, 0x25ab: 0x000a, 0x25ac: 0x000a, 0x25ad: 0x000a, 0x25ae: 0x000a,\n\t0x25b0: 0x000b, 0x25b1: 0x000b, 0x25b2: 0x000b, 0x25b3: 0x000b, 0x25b4: 0x000b, 0x25b5: 0x000b,\n\t0x25b6: 0x000b, 0x25b7: 0x000b, 0x25b8: 0x000b, 0x25b9: 0x000a, 0x25ba: 0x000a, 0x25bb: 0x000a,\n\t0x25bc: 0x000a, 0x25bd: 0x000a, 0x25be: 0x000b, 0x25bf: 0x000b,\n\t// Block 0x97, offset 0x25c0\n\t0x25c1: 0x000a,\n\t// Block 0x98, offset 0x2600\n\t0x2600: 0x000a, 0x2601: 0x000a, 0x2602: 0x000a, 0x2603: 0x000a, 0x2604: 0x000a, 0x2605: 0x000a,\n\t0x2606: 0x000a, 0x2607: 0x000a, 0x2608: 0x000a, 0x2609: 0x000a, 0x260a: 0x000a, 0x260b: 0x000a,\n\t0x260c: 0x000a, 0x2610: 0x000a, 0x2611: 0x000a,\n\t0x2612: 0x000a, 0x2613: 0x000a, 0x2614: 0x000a, 0x2615: 0x000a, 0x2616: 0x000a, 0x2617: 0x000a,\n\t0x2618: 0x000a, 0x2619: 0x000a, 0x261a: 0x000a, 0x261b: 0x000a,\n\t0x2620: 0x000a,\n\t// Block 0x99, offset 0x2640\n\t0x267d: 0x000c,\n\t// Block 0x9a, offset 0x2680\n\t0x26a0: 0x000c, 0x26a1: 0x0002, 0x26a2: 0x0002, 0x26a3: 0x0002,\n\t0x26a4: 0x0002, 0x26a5: 0x0002, 0x26a6: 0x0002, 0x26a7: 0x0002, 0x26a8: 0x0002, 0x26a9: 0x0002,\n\t0x26aa: 0x0002, 0x26ab: 0x0002, 0x26ac: 0x0002, 0x26ad: 0x0002, 0x26ae: 0x0002, 0x26af: 0x0002,\n\t0x26b0: 0x0002, 0x26b1: 0x0002, 0x26b2: 0x0002, 0x26b3: 0x0002, 0x26b4: 0x0002, 0x26b5: 0x0002,\n\t0x26b6: 0x0002, 0x26b7: 0x0002, 0x26b8: 0x0002, 0x26b9: 0x0002, 0x26ba: 0x0002, 0x26bb: 0x0002,\n\t// Block 0x9b, offset 0x26c0\n\t0x26f6: 0x000c, 0x26f7: 0x000c, 0x26f8: 0x000c, 0x26f9: 0x000c, 0x26fa: 0x000c,\n\t// Block 0x9c, offset 0x2700\n\t0x2700: 0x0001, 0x2701: 0x0001, 0x2702: 0x0001, 0x2703: 0x0001, 0x2704: 0x0001, 0x2705: 0x0001,\n\t0x2706: 0x0001, 0x2707: 0x0001, 0x2708: 0x0001, 0x2709: 0x0001, 0x270a: 0x0001, 0x270b: 0x0001,\n\t0x270c: 0x0001, 0x270d: 0x0001, 0x270e: 0x0001, 0x270f: 0x0001, 0x2710: 0x0001, 0x2711: 0x0001,\n\t0x2712: 0x0001, 0x2713: 0x0001, 0x2714: 0x0001, 0x2715: 0x0001, 0x2716: 0x0001, 0x2717: 0x0001,\n\t0x2718: 0x0001, 0x2719: 0x0001, 0x271a: 0x0001, 0x271b: 0x0001, 0x271c: 0x0001, 0x271d: 0x0001,\n\t0x271e: 0x0001, 0x271f: 0x0001, 0x2720: 0x0001, 0x2721: 0x0001, 0x2722: 0x0001, 0x2723: 0x0001,\n\t0x2724: 0x0001, 0x2725: 0x0001, 0x2726: 0x0001, 0x2727: 0x0001, 0x2728: 0x0001, 0x2729: 0x0001,\n\t0x272a: 0x0001, 0x272b: 0x0001, 0x272c: 0x0001, 0x272d: 0x0001, 0x272e: 0x0001, 0x272f: 0x0001,\n\t0x2730: 0x0001, 0x2731: 0x0001, 0x2732: 0x0001, 0x2733: 0x0001, 0x2734: 0x0001, 0x2735: 0x0001,\n\t0x2736: 0x0001, 0x2737: 0x0001, 0x2738: 0x0001, 0x2739: 0x0001, 0x273a: 0x0001, 0x273b: 0x0001,\n\t0x273c: 0x0001, 0x273d: 0x0001, 0x273e: 0x0001, 0x273f: 0x0001,\n\t// Block 0x9d, offset 0x2740\n\t0x2740: 0x0001, 0x2741: 0x0001, 0x2742: 0x0001, 0x2743: 0x0001, 0x2744: 0x0001, 0x2745: 0x0001,\n\t0x2746: 0x0001, 0x2747: 0x0001, 0x2748: 0x0001, 0x2749: 0x0001, 0x274a: 0x0001, 0x274b: 0x0001,\n\t0x274c: 0x0001, 0x274d: 0x0001, 0x274e: 0x0001, 0x274f: 0x0001, 0x2750: 0x0001, 0x2751: 0x0001,\n\t0x2752: 0x0001, 0x2753: 0x0001, 0x2754: 0x0001, 0x2755: 0x0001, 0x2756: 0x0001, 0x2757: 0x0001,\n\t0x2758: 0x0001, 0x2759: 0x0001, 0x275a: 0x0001, 0x275b: 0x0001, 0x275c: 0x0001, 0x275d: 0x0001,\n\t0x275e: 0x0001, 0x275f: 0x000a, 0x2760: 0x0001, 0x2761: 0x0001, 0x2762: 0x0001, 0x2763: 0x0001,\n\t0x2764: 0x0001, 0x2765: 0x0001, 0x2766: 0x0001, 0x2767: 0x0001, 0x2768: 0x0001, 0x2769: 0x0001,\n\t0x276a: 0x0001, 0x276b: 0x0001, 0x276c: 0x0001, 0x276d: 0x0001, 0x276e: 0x0001, 0x276f: 0x0001,\n\t0x2770: 0x0001, 0x2771: 0x0001, 0x2772: 0x0001, 0x2773: 0x0001, 0x2774: 0x0001, 0x2775: 0x0001,\n\t0x2776: 0x0001, 0x2777: 0x0001, 0x2778: 0x0001, 0x2779: 0x0001, 0x277a: 0x0001, 0x277b: 0x0001,\n\t0x277c: 0x0001, 0x277d: 0x0001, 0x277e: 0x0001, 0x277f: 0x0001,\n\t// Block 0x9e, offset 0x2780\n\t0x2780: 0x0001, 0x2781: 0x000c, 0x2782: 0x000c, 0x2783: 0x000c, 0x2784: 0x0001, 0x2785: 0x000c,\n\t0x2786: 0x000c, 0x2787: 0x0001, 0x2788: 0x0001, 0x2789: 0x0001, 0x278a: 0x0001, 0x278b: 0x0001,\n\t0x278c: 0x000c, 0x278d: 0x000c, 0x278e: 0x000c, 0x278f: 0x000c, 0x2790: 0x0001, 0x2791: 0x0001,\n\t0x2792: 0x0001, 0x2793: 0x0001, 0x2794: 0x0001, 0x2795: 0x0001, 0x2796: 0x0001, 0x2797: 0x0001,\n\t0x2798: 0x0001, 0x2799: 0x0001, 0x279a: 0x0001, 0x279b: 0x0001, 0x279c: 0x0001, 0x279d: 0x0001,\n\t0x279e: 0x0001, 0x279f: 0x0001, 0x27a0: 0x0001, 0x27a1: 0x0001, 0x27a2: 0x0001, 0x27a3: 0x0001,\n\t0x27a4: 0x0001, 0x27a5: 0x0001, 0x27a6: 0x0001, 0x27a7: 0x0001, 0x27a8: 0x0001, 0x27a9: 0x0001,\n\t0x27aa: 0x0001, 0x27ab: 0x0001, 0x27ac: 0x0001, 0x27ad: 0x0001, 0x27ae: 0x0001, 0x27af: 0x0001,\n\t0x27b0: 0x0001, 0x27b1: 0x0001, 0x27b2: 0x0001, 0x27b3: 0x0001, 0x27b4: 0x0001, 0x27b5: 0x0001,\n\t0x27b6: 0x0001, 0x27b7: 0x0001, 0x27b8: 0x000c, 0x27b9: 0x000c, 0x27ba: 0x000c, 0x27bb: 0x0001,\n\t0x27bc: 0x0001, 0x27bd: 0x0001, 0x27be: 0x0001, 0x27bf: 0x000c,\n\t// Block 0x9f, offset 0x27c0\n\t0x27c0: 0x0001, 0x27c1: 0x0001, 0x27c2: 0x0001, 0x27c3: 0x0001, 0x27c4: 0x0001, 0x27c5: 0x0001,\n\t0x27c6: 0x0001, 0x27c7: 0x0001, 0x27c8: 0x0001, 0x27c9: 0x0001, 0x27ca: 0x0001, 0x27cb: 0x0001,\n\t0x27cc: 0x0001, 0x27cd: 0x0001, 0x27ce: 0x0001, 0x27cf: 0x0001, 0x27d0: 0x0001, 0x27d1: 0x0001,\n\t0x27d2: 0x0001, 0x27d3: 0x0001, 0x27d4: 0x0001, 0x27d5: 0x0001, 0x27d6: 0x0001, 0x27d7: 0x0001,\n\t0x27d8: 0x0001, 0x27d9: 0x0001, 0x27da: 0x0001, 0x27db: 0x0001, 0x27dc: 0x0001, 0x27dd: 0x0001,\n\t0x27de: 0x0001, 0x27df: 0x0001, 0x27e0: 0x0001, 0x27e1: 0x0001, 0x27e2: 0x0001, 0x27e3: 0x0001,\n\t0x27e4: 0x0001, 0x27e5: 0x000c, 0x27e6: 0x000c, 0x27e7: 0x0001, 0x27e8: 0x0001, 0x27e9: 0x0001,\n\t0x27ea: 0x0001, 0x27eb: 0x0001, 0x27ec: 0x0001, 0x27ed: 0x0001, 0x27ee: 0x0001, 0x27ef: 0x0001,\n\t0x27f0: 0x0001, 0x27f1: 0x0001, 0x27f2: 0x0001, 0x27f3: 0x0001, 0x27f4: 0x0001, 0x27f5: 0x0001,\n\t0x27f6: 0x0001, 0x27f7: 0x0001, 0x27f8: 0x0001, 0x27f9: 0x0001, 0x27fa: 0x0001, 0x27fb: 0x0001,\n\t0x27fc: 0x0001, 0x27fd: 0x0001, 0x27fe: 0x0001, 0x27ff: 0x0001,\n\t// Block 0xa0, offset 0x2800\n\t0x2800: 0x0001, 0x2801: 0x0001, 0x2802: 0x0001, 0x2803: 0x0001, 0x2804: 0x0001, 0x2805: 0x0001,\n\t0x2806: 0x0001, 0x2807: 0x0001, 0x2808: 0x0001, 0x2809: 0x0001, 0x280a: 0x0001, 0x280b: 0x0001,\n\t0x280c: 0x0001, 0x280d: 0x0001, 0x280e: 0x0001, 0x280f: 0x0001, 0x2810: 0x0001, 0x2811: 0x0001,\n\t0x2812: 0x0001, 0x2813: 0x0001, 0x2814: 0x0001, 0x2815: 0x0001, 0x2816: 0x0001, 0x2817: 0x0001,\n\t0x2818: 0x0001, 0x2819: 0x0001, 0x281a: 0x0001, 0x281b: 0x0001, 0x281c: 0x0001, 0x281d: 0x0001,\n\t0x281e: 0x0001, 0x281f: 0x0001, 0x2820: 0x0001, 0x2821: 0x0001, 0x2822: 0x0001, 0x2823: 0x0001,\n\t0x2824: 0x0001, 0x2825: 0x0001, 0x2826: 0x0001, 0x2827: 0x0001, 0x2828: 0x0001, 0x2829: 0x0001,\n\t0x282a: 0x0001, 0x282b: 0x0001, 0x282c: 0x0001, 0x282d: 0x0001, 0x282e: 0x0001, 0x282f: 0x0001,\n\t0x2830: 0x0001, 0x2831: 0x0001, 0x2832: 0x0001, 0x2833: 0x0001, 0x2834: 0x0001, 0x2835: 0x0001,\n\t0x2836: 0x0001, 0x2837: 0x0001, 0x2838: 0x0001, 0x2839: 0x000a, 0x283a: 0x000a, 0x283b: 0x000a,\n\t0x283c: 0x000a, 0x283d: 0x000a, 0x283e: 0x000a, 0x283f: 0x000a,\n\t// Block 0xa1, offset 0x2840\n\t0x2840: 0x0001, 0x2841: 0x0001, 0x2842: 0x0001, 0x2843: 0x0001, 0x2844: 0x0001, 0x2845: 0x0001,\n\t0x2846: 0x0001, 0x2847: 0x0001, 0x2848: 0x0001, 0x2849: 0x0001, 0x284a: 0x0001, 0x284b: 0x0001,\n\t0x284c: 0x0001, 0x284d: 0x0001, 0x284e: 0x0001, 0x284f: 0x0001, 0x2850: 0x0001, 0x2851: 0x0001,\n\t0x2852: 0x0001, 0x2853: 0x0001, 0x2854: 0x0001, 0x2855: 0x0001, 0x2856: 0x0001, 0x2857: 0x0001,\n\t0x2858: 0x0001, 0x2859: 0x0001, 0x285a: 0x0001, 0x285b: 0x0001, 0x285c: 0x0001, 0x285d: 0x0001,\n\t0x285e: 0x0001, 0x285f: 0x0001, 0x2860: 0x0005, 0x2861: 0x0005, 0x2862: 0x0005, 0x2863: 0x0005,\n\t0x2864: 0x0005, 0x2865: 0x0005, 0x2866: 0x0005, 0x2867: 0x0005, 0x2868: 0x0005, 0x2869: 0x0005,\n\t0x286a: 0x0005, 0x286b: 0x0005, 0x286c: 0x0005, 0x286d: 0x0005, 0x286e: 0x0005, 0x286f: 0x0005,\n\t0x2870: 0x0005, 0x2871: 0x0005, 0x2872: 0x0005, 0x2873: 0x0005, 0x2874: 0x0005, 0x2875: 0x0005,\n\t0x2876: 0x0005, 0x2877: 0x0005, 0x2878: 0x0005, 0x2879: 0x0005, 0x287a: 0x0005, 0x287b: 0x0005,\n\t0x287c: 0x0005, 0x287d: 0x0005, 0x287e: 0x0005, 0x287f: 0x0001,\n\t// Block 0xa2, offset 0x2880\n\t0x2881: 0x000c,\n\t0x28b8: 0x000c, 0x28b9: 0x000c, 0x28ba: 0x000c, 0x28bb: 0x000c,\n\t0x28bc: 0x000c, 0x28bd: 0x000c, 0x28be: 0x000c, 0x28bf: 0x000c,\n\t// Block 0xa3, offset 0x28c0\n\t0x28c0: 0x000c, 0x28c1: 0x000c, 0x28c2: 0x000c, 0x28c3: 0x000c, 0x28c4: 0x000c, 0x28c5: 0x000c,\n\t0x28c6: 0x000c,\n\t0x28d2: 0x000a, 0x28d3: 0x000a, 0x28d4: 0x000a, 0x28d5: 0x000a, 0x28d6: 0x000a, 0x28d7: 0x000a,\n\t0x28d8: 0x000a, 0x28d9: 0x000a, 0x28da: 0x000a, 0x28db: 0x000a, 0x28dc: 0x000a, 0x28dd: 0x000a,\n\t0x28de: 0x000a, 0x28df: 0x000a, 0x28e0: 0x000a, 0x28e1: 0x000a, 0x28e2: 0x000a, 0x28e3: 0x000a,\n\t0x28e4: 0x000a, 0x28e5: 0x000a,\n\t0x28ff: 0x000c,\n\t// Block 0xa4, offset 0x2900\n\t0x2900: 0x000c, 0x2901: 0x000c,\n\t0x2933: 0x000c, 0x2934: 0x000c, 0x2935: 0x000c,\n\t0x2936: 0x000c, 0x2939: 0x000c, 0x293a: 0x000c,\n\t// Block 0xa5, offset 0x2940\n\t0x2940: 0x000c, 0x2941: 0x000c, 0x2942: 0x000c,\n\t0x2967: 0x000c, 0x2968: 0x000c, 0x2969: 0x000c,\n\t0x296a: 0x000c, 0x296b: 0x000c, 0x296d: 0x000c, 0x296e: 0x000c, 0x296f: 0x000c,\n\t0x2970: 0x000c, 0x2971: 0x000c, 0x2972: 0x000c, 0x2973: 0x000c, 0x2974: 0x000c,\n\t// Block 0xa6, offset 0x2980\n\t0x29b3: 0x000c,\n\t// Block 0xa7, offset 0x29c0\n\t0x29c0: 0x000c, 0x29c1: 0x000c,\n\t0x29f6: 0x000c, 0x29f7: 0x000c, 0x29f8: 0x000c, 0x29f9: 0x000c, 0x29fa: 0x000c, 0x29fb: 0x000c,\n\t0x29fc: 0x000c, 0x29fd: 0x000c, 0x29fe: 0x000c,\n\t// Block 0xa8, offset 0x2a00\n\t0x2a0a: 0x000c, 0x2a0b: 0x000c,\n\t0x2a0c: 0x000c,\n\t// Block 0xa9, offset 0x2a40\n\t0x2a6f: 0x000c,\n\t0x2a70: 0x000c, 0x2a71: 0x000c, 0x2a74: 0x000c,\n\t0x2a76: 0x000c, 0x2a77: 0x000c,\n\t0x2a7e: 0x000c,\n\t// Block 0xaa, offset 0x2a80\n\t0x2a9f: 0x000c, 0x2aa3: 0x000c,\n\t0x2aa4: 0x000c, 0x2aa5: 0x000c, 0x2aa6: 0x000c, 0x2aa7: 0x000c, 0x2aa8: 0x000c, 0x2aa9: 0x000c,\n\t0x2aaa: 0x000c,\n\t// Block 0xab, offset 0x2ac0\n\t0x2ac0: 0x000c, 0x2ac1: 0x000c,\n\t0x2afc: 0x000c,\n\t// Block 0xac, offset 0x2b00\n\t0x2b00: 0x000c,\n\t0x2b26: 0x000c, 0x2b27: 0x000c, 0x2b28: 0x000c, 0x2b29: 0x000c,\n\t0x2b2a: 0x000c, 0x2b2b: 0x000c, 0x2b2c: 0x000c,\n\t0x2b30: 0x000c, 0x2b31: 0x000c, 0x2b32: 0x000c, 0x2b33: 0x000c, 0x2b34: 0x000c,\n\t// Block 0xad, offset 0x2b40\n\t0x2b78: 0x000c, 0x2b79: 0x000c, 0x2b7a: 0x000c, 0x2b7b: 0x000c,\n\t0x2b7c: 0x000c, 0x2b7d: 0x000c, 0x2b7e: 0x000c, 0x2b7f: 0x000c,\n\t// Block 0xae, offset 0x2b80\n\t0x2b82: 0x000c, 0x2b83: 0x000c, 0x2b84: 0x000c,\n\t0x2b86: 0x000c,\n\t// Block 0xaf, offset 0x2bc0\n\t0x2bf3: 0x000c, 0x2bf4: 0x000c, 0x2bf5: 0x000c,\n\t0x2bf6: 0x000c, 0x2bf7: 0x000c, 0x2bf8: 0x000c, 0x2bfa: 0x000c,\n\t0x2bff: 0x000c,\n\t// Block 0xb0, offset 0x2c00\n\t0x2c00: 0x000c, 0x2c02: 0x000c, 0x2c03: 0x000c,\n\t// Block 0xb1, offset 0x2c40\n\t0x2c72: 0x000c, 0x2c73: 0x000c, 0x2c74: 0x000c, 0x2c75: 0x000c,\n\t0x2c7c: 0x000c, 0x2c7d: 0x000c, 0x2c7f: 0x000c,\n\t// Block 0xb2, offset 0x2c80\n\t0x2c80: 0x000c,\n\t0x2c9c: 0x000c, 0x2c9d: 0x000c,\n\t// Block 0xb3, offset 0x2cc0\n\t0x2cf3: 0x000c, 0x2cf4: 0x000c, 0x2cf5: 0x000c,\n\t0x2cf6: 0x000c, 0x2cf7: 0x000c, 0x2cf8: 0x000c, 0x2cf9: 0x000c, 0x2cfa: 0x000c,\n\t0x2cfd: 0x000c, 0x2cff: 0x000c,\n\t// Block 0xb4, offset 0x2d00\n\t0x2d00: 0x000c,\n\t0x2d20: 0x000a, 0x2d21: 0x000a, 0x2d22: 0x000a, 0x2d23: 0x000a,\n\t0x2d24: 0x000a, 0x2d25: 0x000a, 0x2d26: 0x000a, 0x2d27: 0x000a, 0x2d28: 0x000a, 0x2d29: 0x000a,\n\t0x2d2a: 0x000a, 0x2d2b: 0x000a, 0x2d2c: 0x000a,\n\t// Block 0xb5, offset 0x2d40\n\t0x2d6b: 0x000c, 0x2d6d: 0x000c,\n\t0x2d70: 0x000c, 0x2d71: 0x000c, 0x2d72: 0x000c, 0x2d73: 0x000c, 0x2d74: 0x000c, 0x2d75: 0x000c,\n\t0x2d77: 0x000c,\n\t// Block 0xb6, offset 0x2d80\n\t0x2d9d: 0x000c,\n\t0x2d9e: 0x000c, 0x2d9f: 0x000c, 0x2da2: 0x000c, 0x2da3: 0x000c,\n\t0x2da4: 0x000c, 0x2da5: 0x000c, 0x2da7: 0x000c, 0x2da8: 0x000c, 0x2da9: 0x000c,\n\t0x2daa: 0x000c, 0x2dab: 0x000c,\n\t// Block 0xb7, offset 0x2dc0\n\t0x2dc1: 0x000c, 0x2dc2: 0x000c, 0x2dc3: 0x000c, 0x2dc4: 0x000c, 0x2dc5: 0x000c,\n\t0x2dc6: 0x000c, 0x2dc9: 0x000c, 0x2dca: 0x000c,\n\t0x2df3: 0x000c, 0x2df4: 0x000c, 0x2df5: 0x000c,\n\t0x2df6: 0x000c, 0x2df7: 0x000c, 0x2df8: 0x000c, 0x2dfb: 0x000c,\n\t0x2dfc: 0x000c, 0x2dfd: 0x000c, 0x2dfe: 0x000c,\n\t// Block 0xb8, offset 0x2e00\n\t0x2e07: 0x000c,\n\t0x2e11: 0x000c,\n\t0x2e12: 0x000c, 0x2e13: 0x000c, 0x2e14: 0x000c, 0x2e15: 0x000c, 0x2e16: 0x000c,\n\t0x2e19: 0x000c, 0x2e1a: 0x000c, 0x2e1b: 0x000c,\n\t// Block 0xb9, offset 0x2e40\n\t0x2e4a: 0x000c, 0x2e4b: 0x000c,\n\t0x2e4c: 0x000c, 0x2e4d: 0x000c, 0x2e4e: 0x000c, 0x2e4f: 0x000c, 0x2e50: 0x000c, 0x2e51: 0x000c,\n\t0x2e52: 0x000c, 0x2e53: 0x000c, 0x2e54: 0x000c, 0x2e55: 0x000c, 0x2e56: 0x000c,\n\t0x2e58: 0x000c, 0x2e59: 0x000c,\n\t// Block 0xba, offset 0x2e80\n\t0x2eb0: 0x000c, 0x2eb1: 0x000c, 0x2eb2: 0x000c, 0x2eb3: 0x000c, 0x2eb4: 0x000c, 0x2eb5: 0x000c,\n\t0x2eb6: 0x000c, 0x2eb8: 0x000c, 0x2eb9: 0x000c, 0x2eba: 0x000c, 0x2ebb: 0x000c,\n\t0x2ebc: 0x000c, 0x2ebd: 0x000c,\n\t// Block 0xbb, offset 0x2ec0\n\t0x2ed2: 0x000c, 0x2ed3: 0x000c, 0x2ed4: 0x000c, 0x2ed5: 0x000c, 0x2ed6: 0x000c, 0x2ed7: 0x000c,\n\t0x2ed8: 0x000c, 0x2ed9: 0x000c, 0x2eda: 0x000c, 0x2edb: 0x000c, 0x2edc: 0x000c, 0x2edd: 0x000c,\n\t0x2ede: 0x000c, 0x2edf: 0x000c, 0x2ee0: 0x000c, 0x2ee1: 0x000c, 0x2ee2: 0x000c, 0x2ee3: 0x000c,\n\t0x2ee4: 0x000c, 0x2ee5: 0x000c, 0x2ee6: 0x000c, 0x2ee7: 0x000c,\n\t0x2eea: 0x000c, 0x2eeb: 0x000c, 0x2eec: 0x000c, 0x2eed: 0x000c, 0x2eee: 0x000c, 0x2eef: 0x000c,\n\t0x2ef0: 0x000c, 0x2ef2: 0x000c, 0x2ef3: 0x000c, 0x2ef5: 0x000c,\n\t0x2ef6: 0x000c,\n\t// Block 0xbc, offset 0x2f00\n\t0x2f31: 0x000c, 0x2f32: 0x000c, 0x2f33: 0x000c, 0x2f34: 0x000c, 0x2f35: 0x000c,\n\t0x2f36: 0x000c, 0x2f3a: 0x000c,\n\t0x2f3c: 0x000c, 0x2f3d: 0x000c, 0x2f3f: 0x000c,\n\t// Block 0xbd, offset 0x2f40\n\t0x2f40: 0x000c, 0x2f41: 0x000c, 0x2f42: 0x000c, 0x2f43: 0x000c, 0x2f44: 0x000c, 0x2f45: 0x000c,\n\t0x2f47: 0x000c,\n\t// Block 0xbe, offset 0x2f80\n\t0x2fb0: 0x000c, 0x2fb1: 0x000c, 0x2fb2: 0x000c, 0x2fb3: 0x000c, 0x2fb4: 0x000c,\n\t// Block 0xbf, offset 0x2fc0\n\t0x2ff0: 0x000c, 0x2ff1: 0x000c, 0x2ff2: 0x000c, 0x2ff3: 0x000c, 0x2ff4: 0x000c, 0x2ff5: 0x000c,\n\t0x2ff6: 0x000c,\n\t// Block 0xc0, offset 0x3000\n\t0x300f: 0x000c, 0x3010: 0x000c, 0x3011: 0x000c,\n\t0x3012: 0x000c,\n\t// Block 0xc1, offset 0x3040\n\t0x305d: 0x000c,\n\t0x305e: 0x000c, 0x3060: 0x000b, 0x3061: 0x000b, 0x3062: 0x000b, 0x3063: 0x000b,\n\t// Block 0xc2, offset 0x3080\n\t0x30a7: 0x000c, 0x30a8: 0x000c, 0x30a9: 0x000c,\n\t0x30b3: 0x000b, 0x30b4: 0x000b, 0x30b5: 0x000b,\n\t0x30b6: 0x000b, 0x30b7: 0x000b, 0x30b8: 0x000b, 0x30b9: 0x000b, 0x30ba: 0x000b, 0x30bb: 0x000c,\n\t0x30bc: 0x000c, 0x30bd: 0x000c, 0x30be: 0x000c, 0x30bf: 0x000c,\n\t// Block 0xc3, offset 0x30c0\n\t0x30c0: 0x000c, 0x30c1: 0x000c, 0x30c2: 0x000c, 0x30c5: 0x000c,\n\t0x30c6: 0x000c, 0x30c7: 0x000c, 0x30c8: 0x000c, 0x30c9: 0x000c, 0x30ca: 0x000c, 0x30cb: 0x000c,\n\t0x30ea: 0x000c, 0x30eb: 0x000c, 0x30ec: 0x000c, 0x30ed: 0x000c,\n\t// Block 0xc4, offset 0x3100\n\t0x3100: 0x000a, 0x3101: 0x000a, 0x3102: 0x000c, 0x3103: 0x000c, 0x3104: 0x000c, 0x3105: 0x000a,\n\t// Block 0xc5, offset 0x3140\n\t0x3140: 0x000a, 0x3141: 0x000a, 0x3142: 0x000a, 0x3143: 0x000a, 0x3144: 0x000a, 0x3145: 0x000a,\n\t0x3146: 0x000a, 0x3147: 0x000a, 0x3148: 0x000a, 0x3149: 0x000a, 0x314a: 0x000a, 0x314b: 0x000a,\n\t0x314c: 0x000a, 0x314d: 0x000a, 0x314e: 0x000a, 0x314f: 0x000a, 0x3150: 0x000a, 0x3151: 0x000a,\n\t0x3152: 0x000a, 0x3153: 0x000a, 0x3154: 0x000a, 0x3155: 0x000a, 0x3156: 0x000a,\n\t// Block 0xc6, offset 0x3180\n\t0x319b: 0x000a,\n\t// Block 0xc7, offset 0x31c0\n\t0x31d5: 0x000a,\n\t// Block 0xc8, offset 0x3200\n\t0x320f: 0x000a,\n\t// Block 0xc9, offset 0x3240\n\t0x3249: 0x000a,\n\t// Block 0xca, offset 0x3280\n\t0x3283: 0x000a,\n\t0x328e: 0x0002, 0x328f: 0x0002, 0x3290: 0x0002, 0x3291: 0x0002,\n\t0x3292: 0x0002, 0x3293: 0x0002, 0x3294: 0x0002, 0x3295: 0x0002, 0x3296: 0x0002, 0x3297: 0x0002,\n\t0x3298: 0x0002, 0x3299: 0x0002, 0x329a: 0x0002, 0x329b: 0x0002, 0x329c: 0x0002, 0x329d: 0x0002,\n\t0x329e: 0x0002, 0x329f: 0x0002, 0x32a0: 0x0002, 0x32a1: 0x0002, 0x32a2: 0x0002, 0x32a3: 0x0002,\n\t0x32a4: 0x0002, 0x32a5: 0x0002, 0x32a6: 0x0002, 0x32a7: 0x0002, 0x32a8: 0x0002, 0x32a9: 0x0002,\n\t0x32aa: 0x0002, 0x32ab: 0x0002, 0x32ac: 0x0002, 0x32ad: 0x0002, 0x32ae: 0x0002, 0x32af: 0x0002,\n\t0x32b0: 0x0002, 0x32b1: 0x0002, 0x32b2: 0x0002, 0x32b3: 0x0002, 0x32b4: 0x0002, 0x32b5: 0x0002,\n\t0x32b6: 0x0002, 0x32b7: 0x0002, 0x32b8: 0x0002, 0x32b9: 0x0002, 0x32ba: 0x0002, 0x32bb: 0x0002,\n\t0x32bc: 0x0002, 0x32bd: 0x0002, 0x32be: 0x0002, 0x32bf: 0x0002,\n\t// Block 0xcb, offset 0x32c0\n\t0x32c0: 0x000c, 0x32c1: 0x000c, 0x32c2: 0x000c, 0x32c3: 0x000c, 0x32c4: 0x000c, 0x32c5: 0x000c,\n\t0x32c6: 0x000c, 0x32c7: 0x000c, 0x32c8: 0x000c, 0x32c9: 0x000c, 0x32ca: 0x000c, 0x32cb: 0x000c,\n\t0x32cc: 0x000c, 0x32cd: 0x000c, 0x32ce: 0x000c, 0x32cf: 0x000c, 0x32d0: 0x000c, 0x32d1: 0x000c,\n\t0x32d2: 0x000c, 0x32d3: 0x000c, 0x32d4: 0x000c, 0x32d5: 0x000c, 0x32d6: 0x000c, 0x32d7: 0x000c,\n\t0x32d8: 0x000c, 0x32d9: 0x000c, 0x32da: 0x000c, 0x32db: 0x000c, 0x32dc: 0x000c, 0x32dd: 0x000c,\n\t0x32de: 0x000c, 0x32df: 0x000c, 0x32e0: 0x000c, 0x32e1: 0x000c, 0x32e2: 0x000c, 0x32e3: 0x000c,\n\t0x32e4: 0x000c, 0x32e5: 0x000c, 0x32e6: 0x000c, 0x32e7: 0x000c, 0x32e8: 0x000c, 0x32e9: 0x000c,\n\t0x32ea: 0x000c, 0x32eb: 0x000c, 0x32ec: 0x000c, 0x32ed: 0x000c, 0x32ee: 0x000c, 0x32ef: 0x000c,\n\t0x32f0: 0x000c, 0x32f1: 0x000c, 0x32f2: 0x000c, 0x32f3: 0x000c, 0x32f4: 0x000c, 0x32f5: 0x000c,\n\t0x32f6: 0x000c, 0x32fb: 0x000c,\n\t0x32fc: 0x000c, 0x32fd: 0x000c, 0x32fe: 0x000c, 0x32ff: 0x000c,\n\t// Block 0xcc, offset 0x3300\n\t0x3300: 0x000c, 0x3301: 0x000c, 0x3302: 0x000c, 0x3303: 0x000c, 0x3304: 0x000c, 0x3305: 0x000c,\n\t0x3306: 0x000c, 0x3307: 0x000c, 0x3308: 0x000c, 0x3309: 0x000c, 0x330a: 0x000c, 0x330b: 0x000c,\n\t0x330c: 0x000c, 0x330d: 0x000c, 0x330e: 0x000c, 0x330f: 0x000c, 0x3310: 0x000c, 0x3311: 0x000c,\n\t0x3312: 0x000c, 0x3313: 0x000c, 0x3314: 0x000c, 0x3315: 0x000c, 0x3316: 0x000c, 0x3317: 0x000c,\n\t0x3318: 0x000c, 0x3319: 0x000c, 0x331a: 0x000c, 0x331b: 0x000c, 0x331c: 0x000c, 0x331d: 0x000c,\n\t0x331e: 0x000c, 0x331f: 0x000c, 0x3320: 0x000c, 0x3321: 0x000c, 0x3322: 0x000c, 0x3323: 0x000c,\n\t0x3324: 0x000c, 0x3325: 0x000c, 0x3326: 0x000c, 0x3327: 0x000c, 0x3328: 0x000c, 0x3329: 0x000c,\n\t0x332a: 0x000c, 0x332b: 0x000c, 0x332c: 0x000c,\n\t0x3335: 0x000c,\n\t// Block 0xcd, offset 0x3340\n\t0x3344: 0x000c,\n\t0x335b: 0x000c, 0x335c: 0x000c, 0x335d: 0x000c,\n\t0x335e: 0x000c, 0x335f: 0x000c, 0x3361: 0x000c, 0x3362: 0x000c, 0x3363: 0x000c,\n\t0x3364: 0x000c, 0x3365: 0x000c, 0x3366: 0x000c, 0x3367: 0x000c, 0x3368: 0x000c, 0x3369: 0x000c,\n\t0x336a: 0x000c, 0x336b: 0x000c, 0x336c: 0x000c, 0x336d: 0x000c, 0x336e: 0x000c, 0x336f: 0x000c,\n\t// Block 0xce, offset 0x3380\n\t0x3380: 0x000c, 0x3381: 0x000c, 0x3382: 0x000c, 0x3383: 0x000c, 0x3384: 0x000c, 0x3385: 0x000c,\n\t0x3386: 0x000c, 0x3388: 0x000c, 0x3389: 0x000c, 0x338a: 0x000c, 0x338b: 0x000c,\n\t0x338c: 0x000c, 0x338d: 0x000c, 0x338e: 0x000c, 0x338f: 0x000c, 0x3390: 0x000c, 0x3391: 0x000c,\n\t0x3392: 0x000c, 0x3393: 0x000c, 0x3394: 0x000c, 0x3395: 0x000c, 0x3396: 0x000c, 0x3397: 0x000c,\n\t0x3398: 0x000c, 0x339b: 0x000c, 0x339c: 0x000c, 0x339d: 0x000c,\n\t0x339e: 0x000c, 0x339f: 0x000c, 0x33a0: 0x000c, 0x33a1: 0x000c, 0x33a3: 0x000c,\n\t0x33a4: 0x000c, 0x33a6: 0x000c, 0x33a7: 0x000c, 0x33a8: 0x000c, 0x33a9: 0x000c,\n\t0x33aa: 0x000c,\n\t// Block 0xcf, offset 0x33c0\n\t0x33c0: 0x0001, 0x33c1: 0x0001, 0x33c2: 0x0001, 0x33c3: 0x0001, 0x33c4: 0x0001, 0x33c5: 0x0001,\n\t0x33c6: 0x0001, 0x33c7: 0x0001, 0x33c8: 0x0001, 0x33c9: 0x0001, 0x33ca: 0x0001, 0x33cb: 0x0001,\n\t0x33cc: 0x0001, 0x33cd: 0x0001, 0x33ce: 0x0001, 0x33cf: 0x0001, 0x33d0: 0x000c, 0x33d1: 0x000c,\n\t0x33d2: 0x000c, 0x33d3: 0x000c, 0x33d4: 0x000c, 0x33d5: 0x000c, 0x33d6: 0x000c, 0x33d7: 0x0001,\n\t0x33d8: 0x0001, 0x33d9: 0x0001, 0x33da: 0x0001, 0x33db: 0x0001, 0x33dc: 0x0001, 0x33dd: 0x0001,\n\t0x33de: 0x0001, 0x33df: 0x0001, 0x33e0: 0x0001, 0x33e1: 0x0001, 0x33e2: 0x0001, 0x33e3: 0x0001,\n\t0x33e4: 0x0001, 0x33e5: 0x0001, 0x33e6: 0x0001, 0x33e7: 0x0001, 0x33e8: 0x0001, 0x33e9: 0x0001,\n\t0x33ea: 0x0001, 0x33eb: 0x0001, 0x33ec: 0x0001, 0x33ed: 0x0001, 0x33ee: 0x0001, 0x33ef: 0x0001,\n\t0x33f0: 0x0001, 0x33f1: 0x0001, 0x33f2: 0x0001, 0x33f3: 0x0001, 0x33f4: 0x0001, 0x33f5: 0x0001,\n\t0x33f6: 0x0001, 0x33f7: 0x0001, 0x33f8: 0x0001, 0x33f9: 0x0001, 0x33fa: 0x0001, 0x33fb: 0x0001,\n\t0x33fc: 0x0001, 0x33fd: 0x0001, 0x33fe: 0x0001, 0x33ff: 0x0001,\n\t// Block 0xd0, offset 0x3400\n\t0x3400: 0x0001, 0x3401: 0x0001, 0x3402: 0x0001, 0x3403: 0x0001, 0x3404: 0x000c, 0x3405: 0x000c,\n\t0x3406: 0x000c, 0x3407: 0x000c, 0x3408: 0x000c, 0x3409: 0x000c, 0x340a: 0x000c, 0x340b: 0x0001,\n\t0x340c: 0x0001, 0x340d: 0x0001, 0x340e: 0x0001, 0x340f: 0x0001, 0x3410: 0x0001, 0x3411: 0x0001,\n\t0x3412: 0x0001, 0x3413: 0x0001, 0x3414: 0x0001, 0x3415: 0x0001, 0x3416: 0x0001, 0x3417: 0x0001,\n\t0x3418: 0x0001, 0x3419: 0x0001, 0x341a: 0x0001, 0x341b: 0x0001, 0x341c: 0x0001, 0x341d: 0x0001,\n\t0x341e: 0x0001, 0x341f: 0x0001, 0x3420: 0x0001, 0x3421: 0x0001, 0x3422: 0x0001, 0x3423: 0x0001,\n\t0x3424: 0x0001, 0x3425: 0x0001, 0x3426: 0x0001, 0x3427: 0x0001, 0x3428: 0x0001, 0x3429: 0x0001,\n\t0x342a: 0x0001, 0x342b: 0x0001, 0x342c: 0x0001, 0x342d: 0x0001, 0x342e: 0x0001, 0x342f: 0x0001,\n\t0x3430: 0x0001, 0x3431: 0x0001, 0x3432: 0x0001, 0x3433: 0x0001, 0x3434: 0x0001, 0x3435: 0x0001,\n\t0x3436: 0x0001, 0x3437: 0x0001, 0x3438: 0x0001, 0x3439: 0x0001, 0x343a: 0x0001, 0x343b: 0x0001,\n\t0x343c: 0x0001, 0x343d: 0x0001, 0x343e: 0x0001, 0x343f: 0x0001,\n\t// Block 0xd1, offset 0x3440\n\t0x3440: 0x000d, 0x3441: 0x000d, 0x3442: 0x000d, 0x3443: 0x000d, 0x3444: 0x000d, 0x3445: 0x000d,\n\t0x3446: 0x000d, 0x3447: 0x000d, 0x3448: 0x000d, 0x3449: 0x000d, 0x344a: 0x000d, 0x344b: 0x000d,\n\t0x344c: 0x000d, 0x344d: 0x000d, 0x344e: 0x000d, 0x344f: 0x000d, 0x3450: 0x000d, 0x3451: 0x000d,\n\t0x3452: 0x000d, 0x3453: 0x000d, 0x3454: 0x000d, 0x3455: 0x000d, 0x3456: 0x000d, 0x3457: 0x000d,\n\t0x3458: 0x000d, 0x3459: 0x000d, 0x345a: 0x000d, 0x345b: 0x000d, 0x345c: 0x000d, 0x345d: 0x000d,\n\t0x345e: 0x000d, 0x345f: 0x000d, 0x3460: 0x000d, 0x3461: 0x000d, 0x3462: 0x000d, 0x3463: 0x000d,\n\t0x3464: 0x000d, 0x3465: 0x000d, 0x3466: 0x000d, 0x3467: 0x000d, 0x3468: 0x000d, 0x3469: 0x000d,\n\t0x346a: 0x000d, 0x346b: 0x000d, 0x346c: 0x000d, 0x346d: 0x000d, 0x346e: 0x000d, 0x346f: 0x000d,\n\t0x3470: 0x000a, 0x3471: 0x000a, 0x3472: 0x000d, 0x3473: 0x000d, 0x3474: 0x000d, 0x3475: 0x000d,\n\t0x3476: 0x000d, 0x3477: 0x000d, 0x3478: 0x000d, 0x3479: 0x000d, 0x347a: 0x000d, 0x347b: 0x000d,\n\t0x347c: 0x000d, 0x347d: 0x000d, 0x347e: 0x000d, 0x347f: 0x000d,\n\t// Block 0xd2, offset 0x3480\n\t0x3480: 0x000a, 0x3481: 0x000a, 0x3482: 0x000a, 0x3483: 0x000a, 0x3484: 0x000a, 0x3485: 0x000a,\n\t0x3486: 0x000a, 0x3487: 0x000a, 0x3488: 0x000a, 0x3489: 0x000a, 0x348a: 0x000a, 0x348b: 0x000a,\n\t0x348c: 0x000a, 0x348d: 0x000a, 0x348e: 0x000a, 0x348f: 0x000a, 0x3490: 0x000a, 0x3491: 0x000a,\n\t0x3492: 0x000a, 0x3493: 0x000a, 0x3494: 0x000a, 0x3495: 0x000a, 0x3496: 0x000a, 0x3497: 0x000a,\n\t0x3498: 0x000a, 0x3499: 0x000a, 0x349a: 0x000a, 0x349b: 0x000a, 0x349c: 0x000a, 0x349d: 0x000a,\n\t0x349e: 0x000a, 0x349f: 0x000a, 0x34a0: 0x000a, 0x34a1: 0x000a, 0x34a2: 0x000a, 0x34a3: 0x000a,\n\t0x34a4: 0x000a, 0x34a5: 0x000a, 0x34a6: 0x000a, 0x34a7: 0x000a, 0x34a8: 0x000a, 0x34a9: 0x000a,\n\t0x34aa: 0x000a, 0x34ab: 0x000a,\n\t0x34b0: 0x000a, 0x34b1: 0x000a, 0x34b2: 0x000a, 0x34b3: 0x000a, 0x34b4: 0x000a, 0x34b5: 0x000a,\n\t0x34b6: 0x000a, 0x34b7: 0x000a, 0x34b8: 0x000a, 0x34b9: 0x000a, 0x34ba: 0x000a, 0x34bb: 0x000a,\n\t0x34bc: 0x000a, 0x34bd: 0x000a, 0x34be: 0x000a, 0x34bf: 0x000a,\n\t// Block 0xd3, offset 0x34c0\n\t0x34c0: 0x000a, 0x34c1: 0x000a, 0x34c2: 0x000a, 0x34c3: 0x000a, 0x34c4: 0x000a, 0x34c5: 0x000a,\n\t0x34c6: 0x000a, 0x34c7: 0x000a, 0x34c8: 0x000a, 0x34c9: 0x000a, 0x34ca: 0x000a, 0x34cb: 0x000a,\n\t0x34cc: 0x000a, 0x34cd: 0x000a, 0x34ce: 0x000a, 0x34cf: 0x000a, 0x34d0: 0x000a, 0x34d1: 0x000a,\n\t0x34d2: 0x000a, 0x34d3: 0x000a,\n\t0x34e0: 0x000a, 0x34e1: 0x000a, 0x34e2: 0x000a, 0x34e3: 0x000a,\n\t0x34e4: 0x000a, 0x34e5: 0x000a, 0x34e6: 0x000a, 0x34e7: 0x000a, 0x34e8: 0x000a, 0x34e9: 0x000a,\n\t0x34ea: 0x000a, 0x34eb: 0x000a, 0x34ec: 0x000a, 0x34ed: 0x000a, 0x34ee: 0x000a,\n\t0x34f1: 0x000a, 0x34f2: 0x000a, 0x34f3: 0x000a, 0x34f4: 0x000a, 0x34f5: 0x000a,\n\t0x34f6: 0x000a, 0x34f7: 0x000a, 0x34f8: 0x000a, 0x34f9: 0x000a, 0x34fa: 0x000a, 0x34fb: 0x000a,\n\t0x34fc: 0x000a, 0x34fd: 0x000a, 0x34fe: 0x000a, 0x34ff: 0x000a,\n\t// Block 0xd4, offset 0x3500\n\t0x3501: 0x000a, 0x3502: 0x000a, 0x3503: 0x000a, 0x3504: 0x000a, 0x3505: 0x000a,\n\t0x3506: 0x000a, 0x3507: 0x000a, 0x3508: 0x000a, 0x3509: 0x000a, 0x350a: 0x000a, 0x350b: 0x000a,\n\t0x350c: 0x000a, 0x350d: 0x000a, 0x350e: 0x000a, 0x350f: 0x000a, 0x3511: 0x000a,\n\t0x3512: 0x000a, 0x3513: 0x000a, 0x3514: 0x000a, 0x3515: 0x000a, 0x3516: 0x000a, 0x3517: 0x000a,\n\t0x3518: 0x000a, 0x3519: 0x000a, 0x351a: 0x000a, 0x351b: 0x000a, 0x351c: 0x000a, 0x351d: 0x000a,\n\t0x351e: 0x000a, 0x351f: 0x000a, 0x3520: 0x000a, 0x3521: 0x000a, 0x3522: 0x000a, 0x3523: 0x000a,\n\t0x3524: 0x000a, 0x3525: 0x000a, 0x3526: 0x000a, 0x3527: 0x000a, 0x3528: 0x000a, 0x3529: 0x000a,\n\t0x352a: 0x000a, 0x352b: 0x000a, 0x352c: 0x000a, 0x352d: 0x000a, 0x352e: 0x000a, 0x352f: 0x000a,\n\t0x3530: 0x000a, 0x3531: 0x000a, 0x3532: 0x000a, 0x3533: 0x000a, 0x3534: 0x000a, 0x3535: 0x000a,\n\t// Block 0xd5, offset 0x3540\n\t0x3540: 0x0002, 0x3541: 0x0002, 0x3542: 0x0002, 0x3543: 0x0002, 0x3544: 0x0002, 0x3545: 0x0002,\n\t0x3546: 0x0002, 0x3547: 0x0002, 0x3548: 0x0002, 0x3549: 0x0002, 0x354a: 0x0002, 0x354b: 0x000a,\n\t0x354c: 0x000a,\n\t// Block 0xd6, offset 0x3580\n\t0x35aa: 0x000a, 0x35ab: 0x000a,\n\t// Block 0xd7, offset 0x35c0\n\t0x35e0: 0x000a, 0x35e1: 0x000a, 0x35e2: 0x000a, 0x35e3: 0x000a,\n\t0x35e4: 0x000a, 0x35e5: 0x000a,\n\t// Block 0xd8, offset 0x3600\n\t0x3600: 0x000a, 0x3601: 0x000a, 0x3602: 0x000a, 0x3603: 0x000a, 0x3604: 0x000a, 0x3605: 0x000a,\n\t0x3606: 0x000a, 0x3607: 0x000a, 0x3608: 0x000a, 0x3609: 0x000a, 0x360a: 0x000a, 0x360b: 0x000a,\n\t0x360c: 0x000a, 0x360d: 0x000a, 0x360e: 0x000a, 0x360f: 0x000a, 0x3610: 0x000a, 0x3611: 0x000a,\n\t0x3612: 0x000a, 0x3613: 0x000a, 0x3614: 0x000a,\n\t0x3620: 0x000a, 0x3621: 0x000a, 0x3622: 0x000a, 0x3623: 0x000a,\n\t0x3624: 0x000a, 0x3625: 0x000a, 0x3626: 0x000a, 0x3627: 0x000a, 0x3628: 0x000a, 0x3629: 0x000a,\n\t0x362a: 0x000a, 0x362b: 0x000a, 0x362c: 0x000a,\n\t0x3630: 0x000a, 0x3631: 0x000a, 0x3632: 0x000a, 0x3633: 0x000a, 0x3634: 0x000a, 0x3635: 0x000a,\n\t0x3636: 0x000a, 0x3637: 0x000a, 0x3638: 0x000a,\n\t// Block 0xd9, offset 0x3640\n\t0x3640: 0x000a, 0x3641: 0x000a, 0x3642: 0x000a, 0x3643: 0x000a, 0x3644: 0x000a, 0x3645: 0x000a,\n\t0x3646: 0x000a, 0x3647: 0x000a, 0x3648: 0x000a, 0x3649: 0x000a, 0x364a: 0x000a, 0x364b: 0x000a,\n\t0x364c: 0x000a, 0x364d: 0x000a, 0x364e: 0x000a, 0x364f: 0x000a, 0x3650: 0x000a, 0x3651: 0x000a,\n\t0x3652: 0x000a, 0x3653: 0x000a, 0x3654: 0x000a,\n\t// Block 0xda, offset 0x3680\n\t0x3680: 0x000a, 0x3681: 0x000a, 0x3682: 0x000a, 0x3683: 0x000a, 0x3684: 0x000a, 0x3685: 0x000a,\n\t0x3686: 0x000a, 0x3687: 0x000a, 0x3688: 0x000a, 0x3689: 0x000a, 0x368a: 0x000a, 0x368b: 0x000a,\n\t0x3690: 0x000a, 0x3691: 0x000a,\n\t0x3692: 0x000a, 0x3693: 0x000a, 0x3694: 0x000a, 0x3695: 0x000a, 0x3696: 0x000a, 0x3697: 0x000a,\n\t0x3698: 0x000a, 0x3699: 0x000a, 0x369a: 0x000a, 0x369b: 0x000a, 0x369c: 0x000a, 0x369d: 0x000a,\n\t0x369e: 0x000a, 0x369f: 0x000a, 0x36a0: 0x000a, 0x36a1: 0x000a, 0x36a2: 0x000a, 0x36a3: 0x000a,\n\t0x36a4: 0x000a, 0x36a5: 0x000a, 0x36a6: 0x000a, 0x36a7: 0x000a, 0x36a8: 0x000a, 0x36a9: 0x000a,\n\t0x36aa: 0x000a, 0x36ab: 0x000a, 0x36ac: 0x000a, 0x36ad: 0x000a, 0x36ae: 0x000a, 0x36af: 0x000a,\n\t0x36b0: 0x000a, 0x36b1: 0x000a, 0x36b2: 0x000a, 0x36b3: 0x000a, 0x36b4: 0x000a, 0x36b5: 0x000a,\n\t0x36b6: 0x000a, 0x36b7: 0x000a, 0x36b8: 0x000a, 0x36b9: 0x000a, 0x36ba: 0x000a, 0x36bb: 0x000a,\n\t0x36bc: 0x000a, 0x36bd: 0x000a, 0x36be: 0x000a, 0x36bf: 0x000a,\n\t// Block 0xdb, offset 0x36c0\n\t0x36c0: 0x000a, 0x36c1: 0x000a, 0x36c2: 0x000a, 0x36c3: 0x000a, 0x36c4: 0x000a, 0x36c5: 0x000a,\n\t0x36c6: 0x000a, 0x36c7: 0x000a,\n\t0x36d0: 0x000a, 0x36d1: 0x000a,\n\t0x36d2: 0x000a, 0x36d3: 0x000a, 0x36d4: 0x000a, 0x36d5: 0x000a, 0x36d6: 0x000a, 0x36d7: 0x000a,\n\t0x36d8: 0x000a, 0x36d9: 0x000a,\n\t0x36e0: 0x000a, 0x36e1: 0x000a, 0x36e2: 0x000a, 0x36e3: 0x000a,\n\t0x36e4: 0x000a, 0x36e5: 0x000a, 0x36e6: 0x000a, 0x36e7: 0x000a, 0x36e8: 0x000a, 0x36e9: 0x000a,\n\t0x36ea: 0x000a, 0x36eb: 0x000a, 0x36ec: 0x000a, 0x36ed: 0x000a, 0x36ee: 0x000a, 0x36ef: 0x000a,\n\t0x36f0: 0x000a, 0x36f1: 0x000a, 0x36f2: 0x000a, 0x36f3: 0x000a, 0x36f4: 0x000a, 0x36f5: 0x000a,\n\t0x36f6: 0x000a, 0x36f7: 0x000a, 0x36f8: 0x000a, 0x36f9: 0x000a, 0x36fa: 0x000a, 0x36fb: 0x000a,\n\t0x36fc: 0x000a, 0x36fd: 0x000a, 0x36fe: 0x000a, 0x36ff: 0x000a,\n\t// Block 0xdc, offset 0x3700\n\t0x3700: 0x000a, 0x3701: 0x000a, 0x3702: 0x000a, 0x3703: 0x000a, 0x3704: 0x000a, 0x3705: 0x000a,\n\t0x3706: 0x000a, 0x3707: 0x000a,\n\t0x3710: 0x000a, 0x3711: 0x000a,\n\t0x3712: 0x000a, 0x3713: 0x000a, 0x3714: 0x000a, 0x3715: 0x000a, 0x3716: 0x000a, 0x3717: 0x000a,\n\t0x3718: 0x000a, 0x3719: 0x000a, 0x371a: 0x000a, 0x371b: 0x000a, 0x371c: 0x000a, 0x371d: 0x000a,\n\t0x371e: 0x000a, 0x371f: 0x000a, 0x3720: 0x000a, 0x3721: 0x000a, 0x3722: 0x000a, 0x3723: 0x000a,\n\t0x3724: 0x000a, 0x3725: 0x000a, 0x3726: 0x000a, 0x3727: 0x000a, 0x3728: 0x000a, 0x3729: 0x000a,\n\t0x372a: 0x000a, 0x372b: 0x000a, 0x372c: 0x000a, 0x372d: 0x000a,\n\t// Block 0xdd, offset 0x3740\n\t0x3740: 0x000a, 0x3741: 0x000a, 0x3742: 0x000a, 0x3743: 0x000a, 0x3744: 0x000a, 0x3745: 0x000a,\n\t0x3746: 0x000a, 0x3747: 0x000a, 0x3748: 0x000a, 0x3749: 0x000a, 0x374a: 0x000a, 0x374b: 0x000a,\n\t0x3750: 0x000a, 0x3751: 0x000a,\n\t0x3752: 0x000a, 0x3753: 0x000a, 0x3754: 0x000a, 0x3755: 0x000a, 0x3756: 0x000a, 0x3757: 0x000a,\n\t0x3758: 0x000a, 0x3759: 0x000a, 0x375a: 0x000a, 0x375b: 0x000a, 0x375c: 0x000a, 0x375d: 0x000a,\n\t0x375e: 0x000a, 0x375f: 0x000a, 0x3760: 0x000a, 0x3761: 0x000a, 0x3762: 0x000a, 0x3763: 0x000a,\n\t0x3764: 0x000a, 0x3765: 0x000a, 0x3766: 0x000a, 0x3767: 0x000a, 0x3768: 0x000a, 0x3769: 0x000a,\n\t0x376a: 0x000a, 0x376b: 0x000a, 0x376c: 0x000a, 0x376d: 0x000a, 0x376e: 0x000a, 0x376f: 0x000a,\n\t0x3770: 0x000a, 0x3771: 0x000a, 0x3772: 0x000a, 0x3773: 0x000a, 0x3774: 0x000a, 0x3775: 0x000a,\n\t0x3776: 0x000a, 0x3777: 0x000a, 0x3778: 0x000a, 0x3779: 0x000a, 0x377a: 0x000a, 0x377b: 0x000a,\n\t0x377c: 0x000a, 0x377d: 0x000a, 0x377e: 0x000a,\n\t// Block 0xde, offset 0x3780\n\t0x3780: 0x000a, 0x3781: 0x000a, 0x3782: 0x000a, 0x3783: 0x000a, 0x3784: 0x000a, 0x3785: 0x000a,\n\t0x3786: 0x000a, 0x3787: 0x000a, 0x3788: 0x000a, 0x3789: 0x000a, 0x378a: 0x000a, 0x378b: 0x000a,\n\t0x378c: 0x000a, 0x3790: 0x000a, 0x3791: 0x000a,\n\t0x3792: 0x000a, 0x3793: 0x000a, 0x3794: 0x000a, 0x3795: 0x000a, 0x3796: 0x000a, 0x3797: 0x000a,\n\t0x3798: 0x000a, 0x3799: 0x000a, 0x379a: 0x000a, 0x379b: 0x000a, 0x379c: 0x000a, 0x379d: 0x000a,\n\t0x379e: 0x000a, 0x379f: 0x000a, 0x37a0: 0x000a, 0x37a1: 0x000a, 0x37a2: 0x000a, 0x37a3: 0x000a,\n\t0x37a4: 0x000a, 0x37a5: 0x000a, 0x37a6: 0x000a, 0x37a7: 0x000a, 0x37a8: 0x000a, 0x37a9: 0x000a,\n\t0x37aa: 0x000a, 0x37ab: 0x000a,\n\t// Block 0xdf, offset 0x37c0\n\t0x37c0: 0x000a, 0x37c1: 0x000a, 0x37c2: 0x000a, 0x37c3: 0x000a, 0x37c4: 0x000a, 0x37c5: 0x000a,\n\t0x37c6: 0x000a, 0x37c7: 0x000a, 0x37c8: 0x000a, 0x37c9: 0x000a, 0x37ca: 0x000a, 0x37cb: 0x000a,\n\t0x37cc: 0x000a, 0x37cd: 0x000a, 0x37ce: 0x000a, 0x37cf: 0x000a, 0x37d0: 0x000a, 0x37d1: 0x000a,\n\t0x37d2: 0x000a, 0x37d3: 0x000a, 0x37d4: 0x000a, 0x37d5: 0x000a, 0x37d6: 0x000a, 0x37d7: 0x000a,\n\t// Block 0xe0, offset 0x3800\n\t0x3800: 0x000a,\n\t0x3810: 0x000a, 0x3811: 0x000a,\n\t0x3812: 0x000a, 0x3813: 0x000a, 0x3814: 0x000a, 0x3815: 0x000a, 0x3816: 0x000a, 0x3817: 0x000a,\n\t0x3818: 0x000a, 0x3819: 0x000a, 0x381a: 0x000a, 0x381b: 0x000a, 0x381c: 0x000a, 0x381d: 0x000a,\n\t0x381e: 0x000a, 0x381f: 0x000a, 0x3820: 0x000a, 0x3821: 0x000a, 0x3822: 0x000a, 0x3823: 0x000a,\n\t0x3824: 0x000a, 0x3825: 0x000a, 0x3826: 0x000a,\n\t// Block 0xe1, offset 0x3840\n\t0x387e: 0x000b, 0x387f: 0x000b,\n\t// Block 0xe2, offset 0x3880\n\t0x3880: 0x000b, 0x3881: 0x000b, 0x3882: 0x000b, 0x3883: 0x000b, 0x3884: 0x000b, 0x3885: 0x000b,\n\t0x3886: 0x000b, 0x3887: 0x000b, 0x3888: 0x000b, 0x3889: 0x000b, 0x388a: 0x000b, 0x388b: 0x000b,\n\t0x388c: 0x000b, 0x388d: 0x000b, 0x388e: 0x000b, 0x388f: 0x000b, 0x3890: 0x000b, 0x3891: 0x000b,\n\t0x3892: 0x000b, 0x3893: 0x000b, 0x3894: 0x000b, 0x3895: 0x000b, 0x3896: 0x000b, 0x3897: 0x000b,\n\t0x3898: 0x000b, 0x3899: 0x000b, 0x389a: 0x000b, 0x389b: 0x000b, 0x389c: 0x000b, 0x389d: 0x000b,\n\t0x389e: 0x000b, 0x389f: 0x000b, 0x38a0: 0x000b, 0x38a1: 0x000b, 0x38a2: 0x000b, 0x38a3: 0x000b,\n\t0x38a4: 0x000b, 0x38a5: 0x000b, 0x38a6: 0x000b, 0x38a7: 0x000b, 0x38a8: 0x000b, 0x38a9: 0x000b,\n\t0x38aa: 0x000b, 0x38ab: 0x000b, 0x38ac: 0x000b, 0x38ad: 0x000b, 0x38ae: 0x000b, 0x38af: 0x000b,\n\t0x38b0: 0x000b, 0x38b1: 0x000b, 0x38b2: 0x000b, 0x38b3: 0x000b, 0x38b4: 0x000b, 0x38b5: 0x000b,\n\t0x38b6: 0x000b, 0x38b7: 0x000b, 0x38b8: 0x000b, 0x38b9: 0x000b, 0x38ba: 0x000b, 0x38bb: 0x000b,\n\t0x38bc: 0x000b, 0x38bd: 0x000b, 0x38be: 0x000b, 0x38bf: 0x000b,\n\t// Block 0xe3, offset 0x38c0\n\t0x38c0: 0x000c, 0x38c1: 0x000c, 0x38c2: 0x000c, 0x38c3: 0x000c, 0x38c4: 0x000c, 0x38c5: 0x000c,\n\t0x38c6: 0x000c, 0x38c7: 0x000c, 0x38c8: 0x000c, 0x38c9: 0x000c, 0x38ca: 0x000c, 0x38cb: 0x000c,\n\t0x38cc: 0x000c, 0x38cd: 0x000c, 0x38ce: 0x000c, 0x38cf: 0x000c, 0x38d0: 0x000c, 0x38d1: 0x000c,\n\t0x38d2: 0x000c, 0x38d3: 0x000c, 0x38d4: 0x000c, 0x38d5: 0x000c, 0x38d6: 0x000c, 0x38d7: 0x000c,\n\t0x38d8: 0x000c, 0x38d9: 0x000c, 0x38da: 0x000c, 0x38db: 0x000c, 0x38dc: 0x000c, 0x38dd: 0x000c,\n\t0x38de: 0x000c, 0x38df: 0x000c, 0x38e0: 0x000c, 0x38e1: 0x000c, 0x38e2: 0x000c, 0x38e3: 0x000c,\n\t0x38e4: 0x000c, 0x38e5: 0x000c, 0x38e6: 0x000c, 0x38e7: 0x000c, 0x38e8: 0x000c, 0x38e9: 0x000c,\n\t0x38ea: 0x000c, 0x38eb: 0x000c, 0x38ec: 0x000c, 0x38ed: 0x000c, 0x38ee: 0x000c, 0x38ef: 0x000c,\n\t0x38f0: 0x000b, 0x38f1: 0x000b, 0x38f2: 0x000b, 0x38f3: 0x000b, 0x38f4: 0x000b, 0x38f5: 0x000b,\n\t0x38f6: 0x000b, 0x38f7: 0x000b, 0x38f8: 0x000b, 0x38f9: 0x000b, 0x38fa: 0x000b, 0x38fb: 0x000b,\n\t0x38fc: 0x000b, 0x38fd: 0x000b, 0x38fe: 0x000b, 0x38ff: 0x000b,\n}\n\n// bidiIndex: 24 blocks, 1536 entries, 1536 bytes\n// Block 0 is the zero block.\nvar bidiIndex = [1536]uint8{\n\t// Block 0x0, offset 0x0\n\t// Block 0x1, offset 0x40\n\t// Block 0x2, offset 0x80\n\t// Block 0x3, offset 0xc0\n\t0xc2: 0x01, 0xc3: 0x02,\n\t0xca: 0x03, 0xcb: 0x04, 0xcc: 0x05, 0xcd: 0x06, 0xce: 0x07, 0xcf: 0x08,\n\t0xd2: 0x09, 0xd6: 0x0a, 0xd7: 0x0b,\n\t0xd8: 0x0c, 0xd9: 0x0d, 0xda: 0x0e, 0xdb: 0x0f, 0xdc: 0x10, 0xdd: 0x11, 0xde: 0x12, 0xdf: 0x13,\n\t0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06,\n\t0xea: 0x07, 0xef: 0x08,\n\t0xf0: 0x11, 0xf1: 0x12, 0xf2: 0x12, 0xf3: 0x14, 0xf4: 0x15,\n\t// Block 0x4, offset 0x100\n\t0x120: 0x14, 0x121: 0x15, 0x122: 0x16, 0x123: 0x17, 0x124: 0x18, 0x125: 0x19, 0x126: 0x1a, 0x127: 0x1b,\n\t0x128: 0x1c, 0x129: 0x1d, 0x12a: 0x1c, 0x12b: 0x1e, 0x12c: 0x1f, 0x12d: 0x20, 0x12e: 0x21, 0x12f: 0x22,\n\t0x130: 0x23, 0x131: 0x24, 0x132: 0x1a, 0x133: 0x25, 0x134: 0x26, 0x135: 0x27, 0x137: 0x28,\n\t0x138: 0x29, 0x139: 0x2a, 0x13a: 0x2b, 0x13b: 0x2c, 0x13c: 0x2d, 0x13d: 0x2e, 0x13e: 0x2f, 0x13f: 0x30,\n\t// Block 0x5, offset 0x140\n\t0x140: 0x31, 0x141: 0x32, 0x142: 0x33,\n\t0x14d: 0x34, 0x14e: 0x35,\n\t0x150: 0x36,\n\t0x15a: 0x37, 0x15c: 0x38, 0x15d: 0x39, 0x15e: 0x3a, 0x15f: 0x3b,\n\t0x160: 0x3c, 0x162: 0x3d, 0x164: 0x3e, 0x165: 0x3f, 0x167: 0x40,\n\t0x168: 0x41, 0x169: 0x42, 0x16a: 0x43, 0x16c: 0x44, 0x16d: 0x45, 0x16e: 0x46, 0x16f: 0x47,\n\t0x170: 0x48, 0x173: 0x49, 0x177: 0x4a,\n\t0x17e: 0x4b, 0x17f: 0x4c,\n\t// Block 0x6, offset 0x180\n\t0x180: 0x4d, 0x181: 0x4e, 0x182: 0x4f, 0x183: 0x50, 0x184: 0x51, 0x185: 0x52, 0x186: 0x53, 0x187: 0x54,\n\t0x188: 0x55, 0x189: 0x54, 0x18a: 0x54, 0x18b: 0x54, 0x18c: 0x56, 0x18d: 0x57, 0x18e: 0x58, 0x18f: 0x54,\n\t0x190: 0x59, 0x191: 0x5a, 0x192: 0x5b, 0x193: 0x5c, 0x194: 0x54, 0x195: 0x54, 0x196: 0x54, 0x197: 0x54,\n\t0x198: 0x54, 0x199: 0x54, 0x19a: 0x5d, 0x19b: 0x54, 0x19c: 0x54, 0x19d: 0x5e, 0x19e: 0x54, 0x19f: 0x5f,\n\t0x1a4: 0x54, 0x1a5: 0x54, 0x1a6: 0x60, 0x1a7: 0x61,\n\t0x1a8: 0x54, 0x1a9: 0x54, 0x1aa: 0x54, 0x1ab: 0x54, 0x1ac: 0x54, 0x1ad: 0x62, 0x1ae: 0x63, 0x1af: 0x64,\n\t0x1b3: 0x65, 0x1b5: 0x66, 0x1b7: 0x67,\n\t0x1b8: 0x68, 0x1b9: 0x69, 0x1ba: 0x6a, 0x1bb: 0x6b, 0x1bc: 0x54, 0x1bd: 0x54, 0x1be: 0x54, 0x1bf: 0x6c,\n\t// Block 0x7, offset 0x1c0\n\t0x1c0: 0x6d, 0x1c2: 0x6e, 0x1c3: 0x6f, 0x1c7: 0x70,\n\t0x1c8: 0x71, 0x1c9: 0x72, 0x1ca: 0x73, 0x1cb: 0x74, 0x1cd: 0x75, 0x1cf: 0x76,\n\t// Block 0x8, offset 0x200\n\t0x237: 0x54,\n\t// Block 0x9, offset 0x240\n\t0x252: 0x77, 0x253: 0x78,\n\t0x258: 0x79, 0x259: 0x7a, 0x25a: 0x7b, 0x25b: 0x7c, 0x25c: 0x7d, 0x25e: 0x7e,\n\t0x260: 0x7f, 0x261: 0x80, 0x263: 0x81, 0x264: 0x82, 0x265: 0x83, 0x266: 0x84, 0x267: 0x85,\n\t0x268: 0x86, 0x269: 0x87, 0x26a: 0x88, 0x26b: 0x89, 0x26f: 0x8a,\n\t// Block 0xa, offset 0x280\n\t0x2ac: 0x8b, 0x2ad: 0x8c, 0x2ae: 0x0e, 0x2af: 0x0e,\n\t0x2b0: 0x0e, 0x2b1: 0x0e, 0x2b2: 0x0e, 0x2b3: 0x0e, 0x2b4: 0x8d, 0x2b5: 0x0e, 0x2b6: 0x0e, 0x2b7: 0x8e,\n\t0x2b8: 0x8f, 0x2b9: 0x90, 0x2ba: 0x0e, 0x2bb: 0x91, 0x2bc: 0x92, 0x2bd: 0x93, 0x2bf: 0x94,\n\t// Block 0xb, offset 0x2c0\n\t0x2c4: 0x95, 0x2c5: 0x54, 0x2c6: 0x96, 0x2c7: 0x97,\n\t0x2cb: 0x98, 0x2cd: 0x99,\n\t0x2e0: 0x9a, 0x2e1: 0x9a, 0x2e2: 0x9a, 0x2e3: 0x9a, 0x2e4: 0x9b, 0x2e5: 0x9a, 0x2e6: 0x9a, 0x2e7: 0x9a,\n\t0x2e8: 0x9c, 0x2e9: 0x9a, 0x2ea: 0x9a, 0x2eb: 0x9d, 0x2ec: 0x9e, 0x2ed: 0x9a, 0x2ee: 0x9a, 0x2ef: 0x9a,\n\t0x2f0: 0x9a, 0x2f1: 0x9a, 0x2f2: 0x9a, 0x2f3: 0x9a, 0x2f4: 0x9a, 0x2f5: 0x9a, 0x2f6: 0x9a, 0x2f7: 0x9a,\n\t0x2f8: 0x9a, 0x2f9: 0x9f, 0x2fa: 0x9a, 0x2fb: 0x9a, 0x2fc: 0x9a, 0x2fd: 0x9a, 0x2fe: 0x9a, 0x2ff: 0x9a,\n\t// Block 0xc, offset 0x300\n\t0x300: 0xa0, 0x301: 0xa1, 0x302: 0xa2, 0x304: 0xa3, 0x305: 0xa4, 0x306: 0xa5, 0x307: 0xa6,\n\t0x308: 0xa7, 0x30b: 0xa8, 0x30c: 0xa9, 0x30d: 0xaa,\n\t0x310: 0xab, 0x311: 0xac, 0x312: 0xad, 0x313: 0xae, 0x316: 0xaf, 0x317: 0xb0,\n\t0x318: 0xb1, 0x319: 0xb2, 0x31a: 0xb3, 0x31c: 0xb4,\n\t0x328: 0xb5, 0x329: 0xb6, 0x32a: 0xb7,\n\t0x330: 0xb8, 0x332: 0xb9, 0x334: 0xba, 0x335: 0xbb,\n\t// Block 0xd, offset 0x340\n\t0x36b: 0xbc, 0x36c: 0xbd,\n\t0x37e: 0xbe,\n\t// Block 0xe, offset 0x380\n\t0x3b2: 0xbf,\n\t// Block 0xf, offset 0x3c0\n\t0x3c5: 0xc0, 0x3c6: 0xc1,\n\t0x3c8: 0x54, 0x3c9: 0xc2, 0x3cc: 0x54, 0x3cd: 0xc3,\n\t0x3db: 0xc4, 0x3dc: 0xc5, 0x3dd: 0xc6, 0x3de: 0xc7, 0x3df: 0xc8,\n\t0x3e8: 0xc9, 0x3e9: 0xca, 0x3ea: 0xcb,\n\t// Block 0x10, offset 0x400\n\t0x400: 0xcc,\n\t0x420: 0x9a, 0x421: 0x9a, 0x422: 0x9a, 0x423: 0xcd, 0x424: 0x9a, 0x425: 0xce, 0x426: 0x9a, 0x427: 0x9a,\n\t0x428: 0x9a, 0x429: 0x9a, 0x42a: 0x9a, 0x42b: 0x9a, 0x42c: 0x9a, 0x42d: 0x9a, 0x42e: 0x9a, 0x42f: 0x9a,\n\t0x430: 0x9a, 0x431: 0x9a, 0x432: 0x9a, 0x433: 0x9a, 0x434: 0x9a, 0x435: 0x9a, 0x436: 0x9a, 0x437: 0x9a,\n\t0x438: 0x0e, 0x439: 0x0e, 0x43a: 0x0e, 0x43b: 0xcf, 0x43c: 0x9a, 0x43d: 0x9a, 0x43e: 0x9a, 0x43f: 0x9a,\n\t// Block 0x11, offset 0x440\n\t0x440: 0xd0, 0x441: 0x54, 0x442: 0xd1, 0x443: 0xd2, 0x444: 0xd3, 0x445: 0xd4,\n\t0x449: 0xd5, 0x44c: 0x54, 0x44d: 0x54, 0x44e: 0x54, 0x44f: 0x54,\n\t0x450: 0x54, 0x451: 0x54, 0x452: 0x54, 0x453: 0x54, 0x454: 0x54, 0x455: 0x54, 0x456: 0x54, 0x457: 0x54,\n\t0x458: 0x54, 0x459: 0x54, 0x45a: 0x54, 0x45b: 0xd6, 0x45c: 0x54, 0x45d: 0x6b, 0x45e: 0x54, 0x45f: 0xd7,\n\t0x460: 0xd8, 0x461: 0xd9, 0x462: 0xda, 0x464: 0xdb, 0x465: 0xdc, 0x466: 0xdd, 0x467: 0xde,\n\t0x47f: 0xdf,\n\t// Block 0x12, offset 0x480\n\t0x4bf: 0xdf,\n\t// Block 0x13, offset 0x4c0\n\t0x4d0: 0x09, 0x4d1: 0x0a, 0x4d6: 0x0b,\n\t0x4db: 0x0c, 0x4dd: 0x0d, 0x4de: 0x0e, 0x4df: 0x0f,\n\t0x4ef: 0x10,\n\t0x4ff: 0x10,\n\t// Block 0x14, offset 0x500\n\t0x50f: 0x10,\n\t0x51f: 0x10,\n\t0x52f: 0x10,\n\t0x53f: 0x10,\n\t// Block 0x15, offset 0x540\n\t0x540: 0xe0, 0x541: 0xe0, 0x542: 0xe0, 0x543: 0xe0, 0x544: 0x05, 0x545: 0x05, 0x546: 0x05, 0x547: 0xe1,\n\t0x548: 0xe0, 0x549: 0xe0, 0x54a: 0xe0, 0x54b: 0xe0, 0x54c: 0xe0, 0x54d: 0xe0, 0x54e: 0xe0, 0x54f: 0xe0,\n\t0x550: 0xe0, 0x551: 0xe0, 0x552: 0xe0, 0x553: 0xe0, 0x554: 0xe0, 0x555: 0xe0, 0x556: 0xe0, 0x557: 0xe0,\n\t0x558: 0xe0, 0x559: 0xe0, 0x55a: 0xe0, 0x55b: 0xe0, 0x55c: 0xe0, 0x55d: 0xe0, 0x55e: 0xe0, 0x55f: 0xe0,\n\t0x560: 0xe0, 0x561: 0xe0, 0x562: 0xe0, 0x563: 0xe0, 0x564: 0xe0, 0x565: 0xe0, 0x566: 0xe0, 0x567: 0xe0,\n\t0x568: 0xe0, 0x569: 0xe0, 0x56a: 0xe0, 0x56b: 0xe0, 0x56c: 0xe0, 0x56d: 0xe0, 0x56e: 0xe0, 0x56f: 0xe0,\n\t0x570: 0xe0, 0x571: 0xe0, 0x572: 0xe0, 0x573: 0xe0, 0x574: 0xe0, 0x575: 0xe0, 0x576: 0xe0, 0x577: 0xe0,\n\t0x578: 0xe0, 0x579: 0xe0, 0x57a: 0xe0, 0x57b: 0xe0, 0x57c: 0xe0, 0x57d: 0xe0, 0x57e: 0xe0, 0x57f: 0xe0,\n\t// Block 0x16, offset 0x580\n\t0x58f: 0x10,\n\t0x59f: 0x10,\n\t0x5a0: 0x13,\n\t0x5af: 0x10,\n\t0x5bf: 0x10,\n\t// Block 0x17, offset 0x5c0\n\t0x5cf: 0x10,\n}\n\n// Total table size 16184 bytes (15KiB); checksum: F50EF68C\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\n// +build !go1.10\n\npackage bidi\n\n// UnicodeVersion is the Unicode version from which the tables in this package are derived.\nconst UnicodeVersion = \"9.0.0\"\n\n// xorMasks contains masks to be xor-ed with brackets to get the reverse\n// version.\nvar xorMasks = []int32{ // 8 elements\n\t0, 1, 6, 7, 3, 15, 29, 63,\n} // Size: 56 bytes\n\n// lookup returns the trie value for the first UTF-8 encoding in s and\n// the width in bytes of this encoding. The size will be 0 if s does not\n// hold enough bytes to complete the encoding. len(s) must be greater than 0.\nfunc (t *bidiTrie) lookup(s []byte) (v uint8, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < 0x80: // is ASCII\n\t\treturn bidiValues[c0], 1\n\tcase c0 < 0xC2:\n\t\treturn 0, 1 // Illegal UTF-8: not a starter, not ASCII.\n\tcase c0 < 0xE0: // 2-byte UTF-8\n\t\tif len(s) < 2 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c1), 2\n\tcase c0 < 0xF0: // 3-byte UTF-8\n\t\tif len(s) < 3 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = bidiIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c2), 3\n\tcase c0 < 0xF8: // 4-byte UTF-8\n\t\tif len(s) < 4 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = bidiIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to = uint32(i)<<6 + uint32(c2)\n\t\ti = bidiIndex[o]\n\t\tc3 := s[3]\n\t\tif c3 < 0x80 || 0xC0 <= c3 {\n\t\t\treturn 0, 3 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c3), 4\n\t}\n\t// Illegal rune\n\treturn 0, 1\n}\n\n// lookupUnsafe returns the trie value for the first UTF-8 encoding in s.\n// s must start with a full and valid UTF-8 encoded rune.\nfunc (t *bidiTrie) lookupUnsafe(s []byte) uint8 {\n\tc0 := s[0]\n\tif c0 < 0x80 { // is ASCII\n\t\treturn bidiValues[c0]\n\t}\n\ti := bidiIndex[c0]\n\tif c0 < 0xE0 { // 2-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[1])\n\t}\n\ti = bidiIndex[uint32(i)<<6+uint32(s[1])]\n\tif c0 < 0xF0 { // 3-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[2])\n\t}\n\ti = bidiIndex[uint32(i)<<6+uint32(s[2])]\n\tif c0 < 0xF8 { // 4-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[3])\n\t}\n\treturn 0\n}\n\n// lookupString returns the trie value for the first UTF-8 encoding in s and\n// the width in bytes of this encoding. The size will be 0 if s does not\n// hold enough bytes to complete the encoding. len(s) must be greater than 0.\nfunc (t *bidiTrie) lookupString(s string) (v uint8, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < 0x80: // is ASCII\n\t\treturn bidiValues[c0], 1\n\tcase c0 < 0xC2:\n\t\treturn 0, 1 // Illegal UTF-8: not a starter, not ASCII.\n\tcase c0 < 0xE0: // 2-byte UTF-8\n\t\tif len(s) < 2 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c1), 2\n\tcase c0 < 0xF0: // 3-byte UTF-8\n\t\tif len(s) < 3 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = bidiIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c2), 3\n\tcase c0 < 0xF8: // 4-byte UTF-8\n\t\tif len(s) < 4 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := bidiIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = bidiIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to = uint32(i)<<6 + uint32(c2)\n\t\ti = bidiIndex[o]\n\t\tc3 := s[3]\n\t\tif c3 < 0x80 || 0xC0 <= c3 {\n\t\t\treturn 0, 3 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c3), 4\n\t}\n\t// Illegal rune\n\treturn 0, 1\n}\n\n// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s.\n// s must start with a full and valid UTF-8 encoded rune.\nfunc (t *bidiTrie) lookupStringUnsafe(s string) uint8 {\n\tc0 := s[0]\n\tif c0 < 0x80 { // is ASCII\n\t\treturn bidiValues[c0]\n\t}\n\ti := bidiIndex[c0]\n\tif c0 < 0xE0 { // 2-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[1])\n\t}\n\ti = bidiIndex[uint32(i)<<6+uint32(s[1])]\n\tif c0 < 0xF0 { // 3-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[2])\n\t}\n\ti = bidiIndex[uint32(i)<<6+uint32(s[2])]\n\tif c0 < 0xF8 { // 4-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[3])\n\t}\n\treturn 0\n}\n\n// bidiTrie. Total size: 15744 bytes (15.38 KiB). Checksum: b4c3b70954803b86.\ntype bidiTrie struct{}\n\nfunc newBidiTrie(i int) *bidiTrie {\n\treturn &bidiTrie{}\n}\n\n// lookupValue determines the type of block n and looks up the value for b.\nfunc (t *bidiTrie) lookupValue(n uint32, b byte) uint8 {\n\tswitch {\n\tdefault:\n\t\treturn uint8(bidiValues[n<<6+uint32(b)])\n\t}\n}\n\n// bidiValues: 222 blocks, 14208 entries, 14208 bytes\n// The third block is the zero block.\nvar bidiValues = [14208]uint8{\n\t// Block 0x0, offset 0x0\n\t0x00: 0x000b, 0x01: 0x000b, 0x02: 0x000b, 0x03: 0x000b, 0x04: 0x000b, 0x05: 0x000b,\n\t0x06: 0x000b, 0x07: 0x000b, 0x08: 0x000b, 0x09: 0x0008, 0x0a: 0x0007, 0x0b: 0x0008,\n\t0x0c: 0x0009, 0x0d: 0x0007, 0x0e: 0x000b, 0x0f: 0x000b, 0x10: 0x000b, 0x11: 0x000b,\n\t0x12: 0x000b, 0x13: 0x000b, 0x14: 0x000b, 0x15: 0x000b, 0x16: 0x000b, 0x17: 0x000b,\n\t0x18: 0x000b, 0x19: 0x000b, 0x1a: 0x000b, 0x1b: 0x000b, 0x1c: 0x0007, 0x1d: 0x0007,\n\t0x1e: 0x0007, 0x1f: 0x0008, 0x20: 0x0009, 0x21: 0x000a, 0x22: 0x000a, 0x23: 0x0004,\n\t0x24: 0x0004, 0x25: 0x0004, 0x26: 0x000a, 0x27: 0x000a, 0x28: 0x003a, 0x29: 0x002a,\n\t0x2a: 0x000a, 0x2b: 0x0003, 0x2c: 0x0006, 0x2d: 0x0003, 0x2e: 0x0006, 0x2f: 0x0006,\n\t0x30: 0x0002, 0x31: 0x0002, 0x32: 0x0002, 0x33: 0x0002, 0x34: 0x0002, 0x35: 0x0002,\n\t0x36: 0x0002, 0x37: 0x0002, 0x38: 0x0002, 0x39: 0x0002, 0x3a: 0x0006, 0x3b: 0x000a,\n\t0x3c: 0x000a, 0x3d: 0x000a, 0x3e: 0x000a, 0x3f: 0x000a,\n\t// Block 0x1, offset 0x40\n\t0x40: 0x000a,\n\t0x5b: 0x005a, 0x5c: 0x000a, 0x5d: 0x004a,\n\t0x5e: 0x000a, 0x5f: 0x000a, 0x60: 0x000a,\n\t0x7b: 0x005a,\n\t0x7c: 0x000a, 0x7d: 0x004a, 0x7e: 0x000a, 0x7f: 0x000b,\n\t// Block 0x2, offset 0x80\n\t// Block 0x3, offset 0xc0\n\t0xc0: 0x000b, 0xc1: 0x000b, 0xc2: 0x000b, 0xc3: 0x000b, 0xc4: 0x000b, 0xc5: 0x0007,\n\t0xc6: 0x000b, 0xc7: 0x000b, 0xc8: 0x000b, 0xc9: 0x000b, 0xca: 0x000b, 0xcb: 0x000b,\n\t0xcc: 0x000b, 0xcd: 0x000b, 0xce: 0x000b, 0xcf: 0x000b, 0xd0: 0x000b, 0xd1: 0x000b,\n\t0xd2: 0x000b, 0xd3: 0x000b, 0xd4: 0x000b, 0xd5: 0x000b, 0xd6: 0x000b, 0xd7: 0x000b,\n\t0xd8: 0x000b, 0xd9: 0x000b, 0xda: 0x000b, 0xdb: 0x000b, 0xdc: 0x000b, 0xdd: 0x000b,\n\t0xde: 0x000b, 0xdf: 0x000b, 0xe0: 0x0006, 0xe1: 0x000a, 0xe2: 0x0004, 0xe3: 0x0004,\n\t0xe4: 0x0004, 0xe5: 0x0004, 0xe6: 0x000a, 0xe7: 0x000a, 0xe8: 0x000a, 0xe9: 0x000a,\n\t0xeb: 0x000a, 0xec: 0x000a, 0xed: 0x000b, 0xee: 0x000a, 0xef: 0x000a,\n\t0xf0: 0x0004, 0xf1: 0x0004, 0xf2: 0x0002, 0xf3: 0x0002, 0xf4: 0x000a,\n\t0xf6: 0x000a, 0xf7: 0x000a, 0xf8: 0x000a, 0xf9: 0x0002, 0xfb: 0x000a,\n\t0xfc: 0x000a, 0xfd: 0x000a, 0xfe: 0x000a, 0xff: 0x000a,\n\t// Block 0x4, offset 0x100\n\t0x117: 0x000a,\n\t0x137: 0x000a,\n\t// Block 0x5, offset 0x140\n\t0x179: 0x000a, 0x17a: 0x000a,\n\t// Block 0x6, offset 0x180\n\t0x182: 0x000a, 0x183: 0x000a, 0x184: 0x000a, 0x185: 0x000a,\n\t0x186: 0x000a, 0x187: 0x000a, 0x188: 0x000a, 0x189: 0x000a, 0x18a: 0x000a, 0x18b: 0x000a,\n\t0x18c: 0x000a, 0x18d: 0x000a, 0x18e: 0x000a, 0x18f: 0x000a,\n\t0x192: 0x000a, 0x193: 0x000a, 0x194: 0x000a, 0x195: 0x000a, 0x196: 0x000a, 0x197: 0x000a,\n\t0x198: 0x000a, 0x199: 0x000a, 0x19a: 0x000a, 0x19b: 0x000a, 0x19c: 0x000a, 0x19d: 0x000a,\n\t0x19e: 0x000a, 0x19f: 0x000a,\n\t0x1a5: 0x000a, 0x1a6: 0x000a, 0x1a7: 0x000a, 0x1a8: 0x000a, 0x1a9: 0x000a,\n\t0x1aa: 0x000a, 0x1ab: 0x000a, 0x1ac: 0x000a, 0x1ad: 0x000a, 0x1af: 0x000a,\n\t0x1b0: 0x000a, 0x1b1: 0x000a, 0x1b2: 0x000a, 0x1b3: 0x000a, 0x1b4: 0x000a, 0x1b5: 0x000a,\n\t0x1b6: 0x000a, 0x1b7: 0x000a, 0x1b8: 0x000a, 0x1b9: 0x000a, 0x1ba: 0x000a, 0x1bb: 0x000a,\n\t0x1bc: 0x000a, 0x1bd: 0x000a, 0x1be: 0x000a, 0x1bf: 0x000a,\n\t// Block 0x7, offset 0x1c0\n\t0x1c0: 0x000c, 0x1c1: 0x000c, 0x1c2: 0x000c, 0x1c3: 0x000c, 0x1c4: 0x000c, 0x1c5: 0x000c,\n\t0x1c6: 0x000c, 0x1c7: 0x000c, 0x1c8: 0x000c, 0x1c9: 0x000c, 0x1ca: 0x000c, 0x1cb: 0x000c,\n\t0x1cc: 0x000c, 0x1cd: 0x000c, 0x1ce: 0x000c, 0x1cf: 0x000c, 0x1d0: 0x000c, 0x1d1: 0x000c,\n\t0x1d2: 0x000c, 0x1d3: 0x000c, 0x1d4: 0x000c, 0x1d5: 0x000c, 0x1d6: 0x000c, 0x1d7: 0x000c,\n\t0x1d8: 0x000c, 0x1d9: 0x000c, 0x1da: 0x000c, 0x1db: 0x000c, 0x1dc: 0x000c, 0x1dd: 0x000c,\n\t0x1de: 0x000c, 0x1df: 0x000c, 0x1e0: 0x000c, 0x1e1: 0x000c, 0x1e2: 0x000c, 0x1e3: 0x000c,\n\t0x1e4: 0x000c, 0x1e5: 0x000c, 0x1e6: 0x000c, 0x1e7: 0x000c, 0x1e8: 0x000c, 0x1e9: 0x000c,\n\t0x1ea: 0x000c, 0x1eb: 0x000c, 0x1ec: 0x000c, 0x1ed: 0x000c, 0x1ee: 0x000c, 0x1ef: 0x000c,\n\t0x1f0: 0x000c, 0x1f1: 0x000c, 0x1f2: 0x000c, 0x1f3: 0x000c, 0x1f4: 0x000c, 0x1f5: 0x000c,\n\t0x1f6: 0x000c, 0x1f7: 0x000c, 0x1f8: 0x000c, 0x1f9: 0x000c, 0x1fa: 0x000c, 0x1fb: 0x000c,\n\t0x1fc: 0x000c, 0x1fd: 0x000c, 0x1fe: 0x000c, 0x1ff: 0x000c,\n\t// Block 0x8, offset 0x200\n\t0x200: 0x000c, 0x201: 0x000c, 0x202: 0x000c, 0x203: 0x000c, 0x204: 0x000c, 0x205: 0x000c,\n\t0x206: 0x000c, 0x207: 0x000c, 0x208: 0x000c, 0x209: 0x000c, 0x20a: 0x000c, 0x20b: 0x000c,\n\t0x20c: 0x000c, 0x20d: 0x000c, 0x20e: 0x000c, 0x20f: 0x000c, 0x210: 0x000c, 0x211: 0x000c,\n\t0x212: 0x000c, 0x213: 0x000c, 0x214: 0x000c, 0x215: 0x000c, 0x216: 0x000c, 0x217: 0x000c,\n\t0x218: 0x000c, 0x219: 0x000c, 0x21a: 0x000c, 0x21b: 0x000c, 0x21c: 0x000c, 0x21d: 0x000c,\n\t0x21e: 0x000c, 0x21f: 0x000c, 0x220: 0x000c, 0x221: 0x000c, 0x222: 0x000c, 0x223: 0x000c,\n\t0x224: 0x000c, 0x225: 0x000c, 0x226: 0x000c, 0x227: 0x000c, 0x228: 0x000c, 0x229: 0x000c,\n\t0x22a: 0x000c, 0x22b: 0x000c, 0x22c: 0x000c, 0x22d: 0x000c, 0x22e: 0x000c, 0x22f: 0x000c,\n\t0x234: 0x000a, 0x235: 0x000a,\n\t0x23e: 0x000a,\n\t// Block 0x9, offset 0x240\n\t0x244: 0x000a, 0x245: 0x000a,\n\t0x247: 0x000a,\n\t// Block 0xa, offset 0x280\n\t0x2b6: 0x000a,\n\t// Block 0xb, offset 0x2c0\n\t0x2c3: 0x000c, 0x2c4: 0x000c, 0x2c5: 0x000c,\n\t0x2c6: 0x000c, 0x2c7: 0x000c, 0x2c8: 0x000c, 0x2c9: 0x000c,\n\t// Block 0xc, offset 0x300\n\t0x30a: 0x000a,\n\t0x30d: 0x000a, 0x30e: 0x000a, 0x30f: 0x0004, 0x310: 0x0001, 0x311: 0x000c,\n\t0x312: 0x000c, 0x313: 0x000c, 0x314: 0x000c, 0x315: 0x000c, 0x316: 0x000c, 0x317: 0x000c,\n\t0x318: 0x000c, 0x319: 0x000c, 0x31a: 0x000c, 0x31b: 0x000c, 0x31c: 0x000c, 0x31d: 0x000c,\n\t0x31e: 0x000c, 0x31f: 0x000c, 0x320: 0x000c, 0x321: 0x000c, 0x322: 0x000c, 0x323: 0x000c,\n\t0x324: 0x000c, 0x325: 0x000c, 0x326: 0x000c, 0x327: 0x000c, 0x328: 0x000c, 0x329: 0x000c,\n\t0x32a: 0x000c, 0x32b: 0x000c, 0x32c: 0x000c, 0x32d: 0x000c, 0x32e: 0x000c, 0x32f: 0x000c,\n\t0x330: 0x000c, 0x331: 0x000c, 0x332: 0x000c, 0x333: 0x000c, 0x334: 0x000c, 0x335: 0x000c,\n\t0x336: 0x000c, 0x337: 0x000c, 0x338: 0x000c, 0x339: 0x000c, 0x33a: 0x000c, 0x33b: 0x000c,\n\t0x33c: 0x000c, 0x33d: 0x000c, 0x33e: 0x0001, 0x33f: 0x000c,\n\t// Block 0xd, offset 0x340\n\t0x340: 0x0001, 0x341: 0x000c, 0x342: 0x000c, 0x343: 0x0001, 0x344: 0x000c, 0x345: 0x000c,\n\t0x346: 0x0001, 0x347: 0x000c, 0x348: 0x0001, 0x349: 0x0001, 0x34a: 0x0001, 0x34b: 0x0001,\n\t0x34c: 0x0001, 0x34d: 0x0001, 0x34e: 0x0001, 0x34f: 0x0001, 0x350: 0x0001, 0x351: 0x0001,\n\t0x352: 0x0001, 0x353: 0x0001, 0x354: 0x0001, 0x355: 0x0001, 0x356: 0x0001, 0x357: 0x0001,\n\t0x358: 0x0001, 0x359: 0x0001, 0x35a: 0x0001, 0x35b: 0x0001, 0x35c: 0x0001, 0x35d: 0x0001,\n\t0x35e: 0x0001, 0x35f: 0x0001, 0x360: 0x0001, 0x361: 0x0001, 0x362: 0x0001, 0x363: 0x0001,\n\t0x364: 0x0001, 0x365: 0x0001, 0x366: 0x0001, 0x367: 0x0001, 0x368: 0x0001, 0x369: 0x0001,\n\t0x36a: 0x0001, 0x36b: 0x0001, 0x36c: 0x0001, 0x36d: 0x0001, 0x36e: 0x0001, 0x36f: 0x0001,\n\t0x370: 0x0001, 0x371: 0x0001, 0x372: 0x0001, 0x373: 0x0001, 0x374: 0x0001, 0x375: 0x0001,\n\t0x376: 0x0001, 0x377: 0x0001, 0x378: 0x0001, 0x379: 0x0001, 0x37a: 0x0001, 0x37b: 0x0001,\n\t0x37c: 0x0001, 0x37d: 0x0001, 0x37e: 0x0001, 0x37f: 0x0001,\n\t// Block 0xe, offset 0x380\n\t0x380: 0x0005, 0x381: 0x0005, 0x382: 0x0005, 0x383: 0x0005, 0x384: 0x0005, 0x385: 0x0005,\n\t0x386: 0x000a, 0x387: 0x000a, 0x388: 0x000d, 0x389: 0x0004, 0x38a: 0x0004, 0x38b: 0x000d,\n\t0x38c: 0x0006, 0x38d: 0x000d, 0x38e: 0x000a, 0x38f: 0x000a, 0x390: 0x000c, 0x391: 0x000c,\n\t0x392: 0x000c, 0x393: 0x000c, 0x394: 0x000c, 0x395: 0x000c, 0x396: 0x000c, 0x397: 0x000c,\n\t0x398: 0x000c, 0x399: 0x000c, 0x39a: 0x000c, 0x39b: 0x000d, 0x39c: 0x000d, 0x39d: 0x000d,\n\t0x39e: 0x000d, 0x39f: 0x000d, 0x3a0: 0x000d, 0x3a1: 0x000d, 0x3a2: 0x000d, 0x3a3: 0x000d,\n\t0x3a4: 0x000d, 0x3a5: 0x000d, 0x3a6: 0x000d, 0x3a7: 0x000d, 0x3a8: 0x000d, 0x3a9: 0x000d,\n\t0x3aa: 0x000d, 0x3ab: 0x000d, 0x3ac: 0x000d, 0x3ad: 0x000d, 0x3ae: 0x000d, 0x3af: 0x000d,\n\t0x3b0: 0x000d, 0x3b1: 0x000d, 0x3b2: 0x000d, 0x3b3: 0x000d, 0x3b4: 0x000d, 0x3b5: 0x000d,\n\t0x3b6: 0x000d, 0x3b7: 0x000d, 0x3b8: 0x000d, 0x3b9: 0x000d, 0x3ba: 0x000d, 0x3bb: 0x000d,\n\t0x3bc: 0x000d, 0x3bd: 0x000d, 0x3be: 0x000d, 0x3bf: 0x000d,\n\t// Block 0xf, offset 0x3c0\n\t0x3c0: 0x000d, 0x3c1: 0x000d, 0x3c2: 0x000d, 0x3c3: 0x000d, 0x3c4: 0x000d, 0x3c5: 0x000d,\n\t0x3c6: 0x000d, 0x3c7: 0x000d, 0x3c8: 0x000d, 0x3c9: 0x000d, 0x3ca: 0x000d, 0x3cb: 0x000c,\n\t0x3cc: 0x000c, 0x3cd: 0x000c, 0x3ce: 0x000c, 0x3cf: 0x000c, 0x3d0: 0x000c, 0x3d1: 0x000c,\n\t0x3d2: 0x000c, 0x3d3: 0x000c, 0x3d4: 0x000c, 0x3d5: 0x000c, 0x3d6: 0x000c, 0x3d7: 0x000c,\n\t0x3d8: 0x000c, 0x3d9: 0x000c, 0x3da: 0x000c, 0x3db: 0x000c, 0x3dc: 0x000c, 0x3dd: 0x000c,\n\t0x3de: 0x000c, 0x3df: 0x000c, 0x3e0: 0x0005, 0x3e1: 0x0005, 0x3e2: 0x0005, 0x3e3: 0x0005,\n\t0x3e4: 0x0005, 0x3e5: 0x0005, 0x3e6: 0x0005, 0x3e7: 0x0005, 0x3e8: 0x0005, 0x3e9: 0x0005,\n\t0x3ea: 0x0004, 0x3eb: 0x0005, 0x3ec: 0x0005, 0x3ed: 0x000d, 0x3ee: 0x000d, 0x3ef: 0x000d,\n\t0x3f0: 0x000c, 0x3f1: 0x000d, 0x3f2: 0x000d, 0x3f3: 0x000d, 0x3f4: 0x000d, 0x3f5: 0x000d,\n\t0x3f6: 0x000d, 0x3f7: 0x000d, 0x3f8: 0x000d, 0x3f9: 0x000d, 0x3fa: 0x000d, 0x3fb: 0x000d,\n\t0x3fc: 0x000d, 0x3fd: 0x000d, 0x3fe: 0x000d, 0x3ff: 0x000d,\n\t// Block 0x10, offset 0x400\n\t0x400: 0x000d, 0x401: 0x000d, 0x402: 0x000d, 0x403: 0x000d, 0x404: 0x000d, 0x405: 0x000d,\n\t0x406: 0x000d, 0x407: 0x000d, 0x408: 0x000d, 0x409: 0x000d, 0x40a: 0x000d, 0x40b: 0x000d,\n\t0x40c: 0x000d, 0x40d: 0x000d, 0x40e: 0x000d, 0x40f: 0x000d, 0x410: 0x000d, 0x411: 0x000d,\n\t0x412: 0x000d, 0x413: 0x000d, 0x414: 0x000d, 0x415: 0x000d, 0x416: 0x000d, 0x417: 0x000d,\n\t0x418: 0x000d, 0x419: 0x000d, 0x41a: 0x000d, 0x41b: 0x000d, 0x41c: 0x000d, 0x41d: 0x000d,\n\t0x41e: 0x000d, 0x41f: 0x000d, 0x420: 0x000d, 0x421: 0x000d, 0x422: 0x000d, 0x423: 0x000d,\n\t0x424: 0x000d, 0x425: 0x000d, 0x426: 0x000d, 0x427: 0x000d, 0x428: 0x000d, 0x429: 0x000d,\n\t0x42a: 0x000d, 0x42b: 0x000d, 0x42c: 0x000d, 0x42d: 0x000d, 0x42e: 0x000d, 0x42f: 0x000d,\n\t0x430: 0x000d, 0x431: 0x000d, 0x432: 0x000d, 0x433: 0x000d, 0x434: 0x000d, 0x435: 0x000d,\n\t0x436: 0x000d, 0x437: 0x000d, 0x438: 0x000d, 0x439: 0x000d, 0x43a: 0x000d, 0x43b: 0x000d,\n\t0x43c: 0x000d, 0x43d: 0x000d, 0x43e: 0x000d, 0x43f: 0x000d,\n\t// Block 0x11, offset 0x440\n\t0x440: 0x000d, 0x441: 0x000d, 0x442: 0x000d, 0x443: 0x000d, 0x444: 0x000d, 0x445: 0x000d,\n\t0x446: 0x000d, 0x447: 0x000d, 0x448: 0x000d, 0x449: 0x000d, 0x44a: 0x000d, 0x44b: 0x000d,\n\t0x44c: 0x000d, 0x44d: 0x000d, 0x44e: 0x000d, 0x44f: 0x000d, 0x450: 0x000d, 0x451: 0x000d,\n\t0x452: 0x000d, 0x453: 0x000d, 0x454: 0x000d, 0x455: 0x000d, 0x456: 0x000c, 0x457: 0x000c,\n\t0x458: 0x000c, 0x459: 0x000c, 0x45a: 0x000c, 0x45b: 0x000c, 0x45c: 0x000c, 0x45d: 0x0005,\n\t0x45e: 0x000a, 0x45f: 0x000c, 0x460: 0x000c, 0x461: 0x000c, 0x462: 0x000c, 0x463: 0x000c,\n\t0x464: 0x000c, 0x465: 0x000d, 0x466: 0x000d, 0x467: 0x000c, 0x468: 0x000c, 0x469: 0x000a,\n\t0x46a: 0x000c, 0x46b: 0x000c, 0x46c: 0x000c, 0x46d: 0x000c, 0x46e: 0x000d, 0x46f: 0x000d,\n\t0x470: 0x0002, 0x471: 0x0002, 0x472: 0x0002, 0x473: 0x0002, 0x474: 0x0002, 0x475: 0x0002,\n\t0x476: 0x0002, 0x477: 0x0002, 0x478: 0x0002, 0x479: 0x0002, 0x47a: 0x000d, 0x47b: 0x000d,\n\t0x47c: 0x000d, 0x47d: 0x000d, 0x47e: 0x000d, 0x47f: 0x000d,\n\t// Block 0x12, offset 0x480\n\t0x480: 0x000d, 0x481: 0x000d, 0x482: 0x000d, 0x483: 0x000d, 0x484: 0x000d, 0x485: 0x000d,\n\t0x486: 0x000d, 0x487: 0x000d, 0x488: 0x000d, 0x489: 0x000d, 0x48a: 0x000d, 0x48b: 0x000d,\n\t0x48c: 0x000d, 0x48d: 0x000d, 0x48e: 0x000d, 0x48f: 0x000d, 0x490: 0x000d, 0x491: 0x000c,\n\t0x492: 0x000d, 0x493: 0x000d, 0x494: 0x000d, 0x495: 0x000d, 0x496: 0x000d, 0x497: 0x000d,\n\t0x498: 0x000d, 0x499: 0x000d, 0x49a: 0x000d, 0x49b: 0x000d, 0x49c: 0x000d, 0x49d: 0x000d,\n\t0x49e: 0x000d, 0x49f: 0x000d, 0x4a0: 0x000d, 0x4a1: 0x000d, 0x4a2: 0x000d, 0x4a3: 0x000d,\n\t0x4a4: 0x000d, 0x4a5: 0x000d, 0x4a6: 0x000d, 0x4a7: 0x000d, 0x4a8: 0x000d, 0x4a9: 0x000d,\n\t0x4aa: 0x000d, 0x4ab: 0x000d, 0x4ac: 0x000d, 0x4ad: 0x000d, 0x4ae: 0x000d, 0x4af: 0x000d,\n\t0x4b0: 0x000c, 0x4b1: 0x000c, 0x4b2: 0x000c, 0x4b3: 0x000c, 0x4b4: 0x000c, 0x4b5: 0x000c,\n\t0x4b6: 0x000c, 0x4b7: 0x000c, 0x4b8: 0x000c, 0x4b9: 0x000c, 0x4ba: 0x000c, 0x4bb: 0x000c,\n\t0x4bc: 0x000c, 0x4bd: 0x000c, 0x4be: 0x000c, 0x4bf: 0x000c,\n\t// Block 0x13, offset 0x4c0\n\t0x4c0: 0x000c, 0x4c1: 0x000c, 0x4c2: 0x000c, 0x4c3: 0x000c, 0x4c4: 0x000c, 0x4c5: 0x000c,\n\t0x4c6: 0x000c, 0x4c7: 0x000c, 0x4c8: 0x000c, 0x4c9: 0x000c, 0x4ca: 0x000c, 0x4cb: 0x000d,\n\t0x4cc: 0x000d, 0x4cd: 0x000d, 0x4ce: 0x000d, 0x4cf: 0x000d, 0x4d0: 0x000d, 0x4d1: 0x000d,\n\t0x4d2: 0x000d, 0x4d3: 0x000d, 0x4d4: 0x000d, 0x4d5: 0x000d, 0x4d6: 0x000d, 0x4d7: 0x000d,\n\t0x4d8: 0x000d, 0x4d9: 0x000d, 0x4da: 0x000d, 0x4db: 0x000d, 0x4dc: 0x000d, 0x4dd: 0x000d,\n\t0x4de: 0x000d, 0x4df: 0x000d, 0x4e0: 0x000d, 0x4e1: 0x000d, 0x4e2: 0x000d, 0x4e3: 0x000d,\n\t0x4e4: 0x000d, 0x4e5: 0x000d, 0x4e6: 0x000d, 0x4e7: 0x000d, 0x4e8: 0x000d, 0x4e9: 0x000d,\n\t0x4ea: 0x000d, 0x4eb: 0x000d, 0x4ec: 0x000d, 0x4ed: 0x000d, 0x4ee: 0x000d, 0x4ef: 0x000d,\n\t0x4f0: 0x000d, 0x4f1: 0x000d, 0x4f2: 0x000d, 0x4f3: 0x000d, 0x4f4: 0x000d, 0x4f5: 0x000d,\n\t0x4f6: 0x000d, 0x4f7: 0x000d, 0x4f8: 0x000d, 0x4f9: 0x000d, 0x4fa: 0x000d, 0x4fb: 0x000d,\n\t0x4fc: 0x000d, 0x4fd: 0x000d, 0x4fe: 0x000d, 0x4ff: 0x000d,\n\t// Block 0x14, offset 0x500\n\t0x500: 0x000d, 0x501: 0x000d, 0x502: 0x000d, 0x503: 0x000d, 0x504: 0x000d, 0x505: 0x000d,\n\t0x506: 0x000d, 0x507: 0x000d, 0x508: 0x000d, 0x509: 0x000d, 0x50a: 0x000d, 0x50b: 0x000d,\n\t0x50c: 0x000d, 0x50d: 0x000d, 0x50e: 0x000d, 0x50f: 0x000d, 0x510: 0x000d, 0x511: 0x000d,\n\t0x512: 0x000d, 0x513: 0x000d, 0x514: 0x000d, 0x515: 0x000d, 0x516: 0x000d, 0x517: 0x000d,\n\t0x518: 0x000d, 0x519: 0x000d, 0x51a: 0x000d, 0x51b: 0x000d, 0x51c: 0x000d, 0x51d: 0x000d,\n\t0x51e: 0x000d, 0x51f: 0x000d, 0x520: 0x000d, 0x521: 0x000d, 0x522: 0x000d, 0x523: 0x000d,\n\t0x524: 0x000d, 0x525: 0x000d, 0x526: 0x000c, 0x527: 0x000c, 0x528: 0x000c, 0x529: 0x000c,\n\t0x52a: 0x000c, 0x52b: 0x000c, 0x52c: 0x000c, 0x52d: 0x000c, 0x52e: 0x000c, 0x52f: 0x000c,\n\t0x530: 0x000c, 0x531: 0x000d, 0x532: 0x000d, 0x533: 0x000d, 0x534: 0x000d, 0x535: 0x000d,\n\t0x536: 0x000d, 0x537: 0x000d, 0x538: 0x000d, 0x539: 0x000d, 0x53a: 0x000d, 0x53b: 0x000d,\n\t0x53c: 0x000d, 0x53d: 0x000d, 0x53e: 0x000d, 0x53f: 0x000d,\n\t// Block 0x15, offset 0x540\n\t0x540: 0x0001, 0x541: 0x0001, 0x542: 0x0001, 0x543: 0x0001, 0x544: 0x0001, 0x545: 0x0001,\n\t0x546: 0x0001, 0x547: 0x0001, 0x548: 0x0001, 0x549: 0x0001, 0x54a: 0x0001, 0x54b: 0x0001,\n\t0x54c: 0x0001, 0x54d: 0x0001, 0x54e: 0x0001, 0x54f: 0x0001, 0x550: 0x0001, 0x551: 0x0001,\n\t0x552: 0x0001, 0x553: 0x0001, 0x554: 0x0001, 0x555: 0x0001, 0x556: 0x0001, 0x557: 0x0001,\n\t0x558: 0x0001, 0x559: 0x0001, 0x55a: 0x0001, 0x55b: 0x0001, 0x55c: 0x0001, 0x55d: 0x0001,\n\t0x55e: 0x0001, 0x55f: 0x0001, 0x560: 0x0001, 0x561: 0x0001, 0x562: 0x0001, 0x563: 0x0001,\n\t0x564: 0x0001, 0x565: 0x0001, 0x566: 0x0001, 0x567: 0x0001, 0x568: 0x0001, 0x569: 0x0001,\n\t0x56a: 0x0001, 0x56b: 0x000c, 0x56c: 0x000c, 0x56d: 0x000c, 0x56e: 0x000c, 0x56f: 0x000c,\n\t0x570: 0x000c, 0x571: 0x000c, 0x572: 0x000c, 0x573: 0x000c, 0x574: 0x0001, 0x575: 0x0001,\n\t0x576: 0x000a, 0x577: 0x000a, 0x578: 0x000a, 0x579: 0x000a, 0x57a: 0x0001, 0x57b: 0x0001,\n\t0x57c: 0x0001, 0x57d: 0x0001, 0x57e: 0x0001, 0x57f: 0x0001,\n\t// Block 0x16, offset 0x580\n\t0x580: 0x0001, 0x581: 0x0001, 0x582: 0x0001, 0x583: 0x0001, 0x584: 0x0001, 0x585: 0x0001,\n\t0x586: 0x0001, 0x587: 0x0001, 0x588: 0x0001, 0x589: 0x0001, 0x58a: 0x0001, 0x58b: 0x0001,\n\t0x58c: 0x0001, 0x58d: 0x0001, 0x58e: 0x0001, 0x58f: 0x0001, 0x590: 0x0001, 0x591: 0x0001,\n\t0x592: 0x0001, 0x593: 0x0001, 0x594: 0x0001, 0x595: 0x0001, 0x596: 0x000c, 0x597: 0x000c,\n\t0x598: 0x000c, 0x599: 0x000c, 0x59a: 0x0001, 0x59b: 0x000c, 0x59c: 0x000c, 0x59d: 0x000c,\n\t0x59e: 0x000c, 0x59f: 0x000c, 0x5a0: 0x000c, 0x5a1: 0x000c, 0x5a2: 0x000c, 0x5a3: 0x000c,\n\t0x5a4: 0x0001, 0x5a5: 0x000c, 0x5a6: 0x000c, 0x5a7: 0x000c, 0x5a8: 0x0001, 0x5a9: 0x000c,\n\t0x5aa: 0x000c, 0x5ab: 0x000c, 0x5ac: 0x000c, 0x5ad: 0x000c, 0x5ae: 0x0001, 0x5af: 0x0001,\n\t0x5b0: 0x0001, 0x5b1: 0x0001, 0x5b2: 0x0001, 0x5b3: 0x0001, 0x5b4: 0x0001, 0x5b5: 0x0001,\n\t0x5b6: 0x0001, 0x5b7: 0x0001, 0x5b8: 0x0001, 0x5b9: 0x0001, 0x5ba: 0x0001, 0x5bb: 0x0001,\n\t0x5bc: 0x0001, 0x5bd: 0x0001, 0x5be: 0x0001, 0x5bf: 0x0001,\n\t// Block 0x17, offset 0x5c0\n\t0x5c0: 0x0001, 0x5c1: 0x0001, 0x5c2: 0x0001, 0x5c3: 0x0001, 0x5c4: 0x0001, 0x5c5: 0x0001,\n\t0x5c6: 0x0001, 0x5c7: 0x0001, 0x5c8: 0x0001, 0x5c9: 0x0001, 0x5ca: 0x0001, 0x5cb: 0x0001,\n\t0x5cc: 0x0001, 0x5cd: 0x0001, 0x5ce: 0x0001, 0x5cf: 0x0001, 0x5d0: 0x0001, 0x5d1: 0x0001,\n\t0x5d2: 0x0001, 0x5d3: 0x0001, 0x5d4: 0x0001, 0x5d5: 0x0001, 0x5d6: 0x0001, 0x5d7: 0x0001,\n\t0x5d8: 0x0001, 0x5d9: 0x000c, 0x5da: 0x000c, 0x5db: 0x000c, 0x5dc: 0x0001, 0x5dd: 0x0001,\n\t0x5de: 0x0001, 0x5df: 0x0001, 0x5e0: 0x0001, 0x5e1: 0x0001, 0x5e2: 0x0001, 0x5e3: 0x0001,\n\t0x5e4: 0x0001, 0x5e5: 0x0001, 0x5e6: 0x0001, 0x5e7: 0x0001, 0x5e8: 0x0001, 0x5e9: 0x0001,\n\t0x5ea: 0x0001, 0x5eb: 0x0001, 0x5ec: 0x0001, 0x5ed: 0x0001, 0x5ee: 0x0001, 0x5ef: 0x0001,\n\t0x5f0: 0x0001, 0x5f1: 0x0001, 0x5f2: 0x0001, 0x5f3: 0x0001, 0x5f4: 0x0001, 0x5f5: 0x0001,\n\t0x5f6: 0x0001, 0x5f7: 0x0001, 0x5f8: 0x0001, 0x5f9: 0x0001, 0x5fa: 0x0001, 0x5fb: 0x0001,\n\t0x5fc: 0x0001, 0x5fd: 0x0001, 0x5fe: 0x0001, 0x5ff: 0x0001,\n\t// Block 0x18, offset 0x600\n\t0x600: 0x0001, 0x601: 0x0001, 0x602: 0x0001, 0x603: 0x0001, 0x604: 0x0001, 0x605: 0x0001,\n\t0x606: 0x0001, 0x607: 0x0001, 0x608: 0x0001, 0x609: 0x0001, 0x60a: 0x0001, 0x60b: 0x0001,\n\t0x60c: 0x0001, 0x60d: 0x0001, 0x60e: 0x0001, 0x60f: 0x0001, 0x610: 0x0001, 0x611: 0x0001,\n\t0x612: 0x0001, 0x613: 0x0001, 0x614: 0x0001, 0x615: 0x0001, 0x616: 0x0001, 0x617: 0x0001,\n\t0x618: 0x0001, 0x619: 0x0001, 0x61a: 0x0001, 0x61b: 0x0001, 0x61c: 0x0001, 0x61d: 0x0001,\n\t0x61e: 0x0001, 0x61f: 0x0001, 0x620: 0x000d, 0x621: 0x000d, 0x622: 0x000d, 0x623: 0x000d,\n\t0x624: 0x000d, 0x625: 0x000d, 0x626: 0x000d, 0x627: 0x000d, 0x628: 0x000d, 0x629: 0x000d,\n\t0x62a: 0x000d, 0x62b: 0x000d, 0x62c: 0x000d, 0x62d: 0x000d, 0x62e: 0x000d, 0x62f: 0x000d,\n\t0x630: 0x000d, 0x631: 0x000d, 0x632: 0x000d, 0x633: 0x000d, 0x634: 0x000d, 0x635: 0x000d,\n\t0x636: 0x000d, 0x637: 0x000d, 0x638: 0x000d, 0x639: 0x000d, 0x63a: 0x000d, 0x63b: 0x000d,\n\t0x63c: 0x000d, 0x63d: 0x000d, 0x63e: 0x000d, 0x63f: 0x000d,\n\t// Block 0x19, offset 0x640\n\t0x640: 0x000d, 0x641: 0x000d, 0x642: 0x000d, 0x643: 0x000d, 0x644: 0x000d, 0x645: 0x000d,\n\t0x646: 0x000d, 0x647: 0x000d, 0x648: 0x000d, 0x649: 0x000d, 0x64a: 0x000d, 0x64b: 0x000d,\n\t0x64c: 0x000d, 0x64d: 0x000d, 0x64e: 0x000d, 0x64f: 0x000d, 0x650: 0x000d, 0x651: 0x000d,\n\t0x652: 0x000d, 0x653: 0x000d, 0x654: 0x000c, 0x655: 0x000c, 0x656: 0x000c, 0x657: 0x000c,\n\t0x658: 0x000c, 0x659: 0x000c, 0x65a: 0x000c, 0x65b: 0x000c, 0x65c: 0x000c, 0x65d: 0x000c,\n\t0x65e: 0x000c, 0x65f: 0x000c, 0x660: 0x000c, 0x661: 0x000c, 0x662: 0x0005, 0x663: 0x000c,\n\t0x664: 0x000c, 0x665: 0x000c, 0x666: 0x000c, 0x667: 0x000c, 0x668: 0x000c, 0x669: 0x000c,\n\t0x66a: 0x000c, 0x66b: 0x000c, 0x66c: 0x000c, 0x66d: 0x000c, 0x66e: 0x000c, 0x66f: 0x000c,\n\t0x670: 0x000c, 0x671: 0x000c, 0x672: 0x000c, 0x673: 0x000c, 0x674: 0x000c, 0x675: 0x000c,\n\t0x676: 0x000c, 0x677: 0x000c, 0x678: 0x000c, 0x679: 0x000c, 0x67a: 0x000c, 0x67b: 0x000c,\n\t0x67c: 0x000c, 0x67d: 0x000c, 0x67e: 0x000c, 0x67f: 0x000c,\n\t// Block 0x1a, offset 0x680\n\t0x680: 0x000c, 0x681: 0x000c, 0x682: 0x000c,\n\t0x6ba: 0x000c,\n\t0x6bc: 0x000c,\n\t// Block 0x1b, offset 0x6c0\n\t0x6c1: 0x000c, 0x6c2: 0x000c, 0x6c3: 0x000c, 0x6c4: 0x000c, 0x6c5: 0x000c,\n\t0x6c6: 0x000c, 0x6c7: 0x000c, 0x6c8: 0x000c,\n\t0x6cd: 0x000c, 0x6d1: 0x000c,\n\t0x6d2: 0x000c, 0x6d3: 0x000c, 0x6d4: 0x000c, 0x6d5: 0x000c, 0x6d6: 0x000c, 0x6d7: 0x000c,\n\t0x6e2: 0x000c, 0x6e3: 0x000c,\n\t// Block 0x1c, offset 0x700\n\t0x701: 0x000c,\n\t0x73c: 0x000c,\n\t// Block 0x1d, offset 0x740\n\t0x741: 0x000c, 0x742: 0x000c, 0x743: 0x000c, 0x744: 0x000c,\n\t0x74d: 0x000c,\n\t0x762: 0x000c, 0x763: 0x000c,\n\t0x772: 0x0004, 0x773: 0x0004,\n\t0x77b: 0x0004,\n\t// Block 0x1e, offset 0x780\n\t0x781: 0x000c, 0x782: 0x000c,\n\t0x7bc: 0x000c,\n\t// Block 0x1f, offset 0x7c0\n\t0x7c1: 0x000c, 0x7c2: 0x000c,\n\t0x7c7: 0x000c, 0x7c8: 0x000c, 0x7cb: 0x000c,\n\t0x7cc: 0x000c, 0x7cd: 0x000c, 0x7d1: 0x000c,\n\t0x7f0: 0x000c, 0x7f1: 0x000c, 0x7f5: 0x000c,\n\t// Block 0x20, offset 0x800\n\t0x801: 0x000c, 0x802: 0x000c, 0x803: 0x000c, 0x804: 0x000c, 0x805: 0x000c,\n\t0x807: 0x000c, 0x808: 0x000c,\n\t0x80d: 0x000c,\n\t0x822: 0x000c, 0x823: 0x000c,\n\t0x831: 0x0004,\n\t// Block 0x21, offset 0x840\n\t0x841: 0x000c,\n\t0x87c: 0x000c, 0x87f: 0x000c,\n\t// Block 0x22, offset 0x880\n\t0x881: 0x000c, 0x882: 0x000c, 0x883: 0x000c, 0x884: 0x000c,\n\t0x88d: 0x000c,\n\t0x896: 0x000c,\n\t0x8a2: 0x000c, 0x8a3: 0x000c,\n\t// Block 0x23, offset 0x8c0\n\t0x8c2: 0x000c,\n\t// Block 0x24, offset 0x900\n\t0x900: 0x000c,\n\t0x90d: 0x000c,\n\t0x933: 0x000a, 0x934: 0x000a, 0x935: 0x000a,\n\t0x936: 0x000a, 0x937: 0x000a, 0x938: 0x000a, 0x939: 0x0004, 0x93a: 0x000a,\n\t// Block 0x25, offset 0x940\n\t0x940: 0x000c,\n\t0x97e: 0x000c, 0x97f: 0x000c,\n\t// Block 0x26, offset 0x980\n\t0x980: 0x000c,\n\t0x986: 0x000c, 0x987: 0x000c, 0x988: 0x000c, 0x98a: 0x000c, 0x98b: 0x000c,\n\t0x98c: 0x000c, 0x98d: 0x000c,\n\t0x995: 0x000c, 0x996: 0x000c,\n\t0x9a2: 0x000c, 0x9a3: 0x000c,\n\t0x9b8: 0x000a, 0x9b9: 0x000a, 0x9ba: 0x000a, 0x9bb: 0x000a,\n\t0x9bc: 0x000a, 0x9bd: 0x000a, 0x9be: 0x000a,\n\t// Block 0x27, offset 0x9c0\n\t0x9cc: 0x000c, 0x9cd: 0x000c,\n\t0x9e2: 0x000c, 0x9e3: 0x000c,\n\t// Block 0x28, offset 0xa00\n\t0xa01: 0x000c,\n\t// Block 0x29, offset 0xa40\n\t0xa41: 0x000c, 0xa42: 0x000c, 0xa43: 0x000c, 0xa44: 0x000c,\n\t0xa4d: 0x000c,\n\t0xa62: 0x000c, 0xa63: 0x000c,\n\t// Block 0x2a, offset 0xa80\n\t0xa8a: 0x000c,\n\t0xa92: 0x000c, 0xa93: 0x000c, 0xa94: 0x000c, 0xa96: 0x000c,\n\t// Block 0x2b, offset 0xac0\n\t0xaf1: 0x000c, 0xaf4: 0x000c, 0xaf5: 0x000c,\n\t0xaf6: 0x000c, 0xaf7: 0x000c, 0xaf8: 0x000c, 0xaf9: 0x000c, 0xafa: 0x000c,\n\t0xaff: 0x0004,\n\t// Block 0x2c, offset 0xb00\n\t0xb07: 0x000c, 0xb08: 0x000c, 0xb09: 0x000c, 0xb0a: 0x000c, 0xb0b: 0x000c,\n\t0xb0c: 0x000c, 0xb0d: 0x000c, 0xb0e: 0x000c,\n\t// Block 0x2d, offset 0xb40\n\t0xb71: 0x000c, 0xb74: 0x000c, 0xb75: 0x000c,\n\t0xb76: 0x000c, 0xb77: 0x000c, 0xb78: 0x000c, 0xb79: 0x000c, 0xb7b: 0x000c,\n\t0xb7c: 0x000c,\n\t// Block 0x2e, offset 0xb80\n\t0xb88: 0x000c, 0xb89: 0x000c, 0xb8a: 0x000c, 0xb8b: 0x000c,\n\t0xb8c: 0x000c, 0xb8d: 0x000c,\n\t// Block 0x2f, offset 0xbc0\n\t0xbd8: 0x000c, 0xbd9: 0x000c,\n\t0xbf5: 0x000c,\n\t0xbf7: 0x000c, 0xbf9: 0x000c, 0xbfa: 0x003a, 0xbfb: 0x002a,\n\t0xbfc: 0x003a, 0xbfd: 0x002a,\n\t// Block 0x30, offset 0xc00\n\t0xc31: 0x000c, 0xc32: 0x000c, 0xc33: 0x000c, 0xc34: 0x000c, 0xc35: 0x000c,\n\t0xc36: 0x000c, 0xc37: 0x000c, 0xc38: 0x000c, 0xc39: 0x000c, 0xc3a: 0x000c, 0xc3b: 0x000c,\n\t0xc3c: 0x000c, 0xc3d: 0x000c, 0xc3e: 0x000c,\n\t// Block 0x31, offset 0xc40\n\t0xc40: 0x000c, 0xc41: 0x000c, 0xc42: 0x000c, 0xc43: 0x000c, 0xc44: 0x000c,\n\t0xc46: 0x000c, 0xc47: 0x000c,\n\t0xc4d: 0x000c, 0xc4e: 0x000c, 0xc4f: 0x000c, 0xc50: 0x000c, 0xc51: 0x000c,\n\t0xc52: 0x000c, 0xc53: 0x000c, 0xc54: 0x000c, 0xc55: 0x000c, 0xc56: 0x000c, 0xc57: 0x000c,\n\t0xc59: 0x000c, 0xc5a: 0x000c, 0xc5b: 0x000c, 0xc5c: 0x000c, 0xc5d: 0x000c,\n\t0xc5e: 0x000c, 0xc5f: 0x000c, 0xc60: 0x000c, 0xc61: 0x000c, 0xc62: 0x000c, 0xc63: 0x000c,\n\t0xc64: 0x000c, 0xc65: 0x000c, 0xc66: 0x000c, 0xc67: 0x000c, 0xc68: 0x000c, 0xc69: 0x000c,\n\t0xc6a: 0x000c, 0xc6b: 0x000c, 0xc6c: 0x000c, 0xc6d: 0x000c, 0xc6e: 0x000c, 0xc6f: 0x000c,\n\t0xc70: 0x000c, 0xc71: 0x000c, 0xc72: 0x000c, 0xc73: 0x000c, 0xc74: 0x000c, 0xc75: 0x000c,\n\t0xc76: 0x000c, 0xc77: 0x000c, 0xc78: 0x000c, 0xc79: 0x000c, 0xc7a: 0x000c, 0xc7b: 0x000c,\n\t0xc7c: 0x000c,\n\t// Block 0x32, offset 0xc80\n\t0xc86: 0x000c,\n\t// Block 0x33, offset 0xcc0\n\t0xced: 0x000c, 0xcee: 0x000c, 0xcef: 0x000c,\n\t0xcf0: 0x000c, 0xcf2: 0x000c, 0xcf3: 0x000c, 0xcf4: 0x000c, 0xcf5: 0x000c,\n\t0xcf6: 0x000c, 0xcf7: 0x000c, 0xcf9: 0x000c, 0xcfa: 0x000c,\n\t0xcfd: 0x000c, 0xcfe: 0x000c,\n\t// Block 0x34, offset 0xd00\n\t0xd18: 0x000c, 0xd19: 0x000c,\n\t0xd1e: 0x000c, 0xd1f: 0x000c, 0xd20: 0x000c,\n\t0xd31: 0x000c, 0xd32: 0x000c, 0xd33: 0x000c, 0xd34: 0x000c,\n\t// Block 0x35, offset 0xd40\n\t0xd42: 0x000c, 0xd45: 0x000c,\n\t0xd46: 0x000c,\n\t0xd4d: 0x000c,\n\t0xd5d: 0x000c,\n\t// Block 0x36, offset 0xd80\n\t0xd9d: 0x000c,\n\t0xd9e: 0x000c, 0xd9f: 0x000c,\n\t// Block 0x37, offset 0xdc0\n\t0xdd0: 0x000a, 0xdd1: 0x000a,\n\t0xdd2: 0x000a, 0xdd3: 0x000a, 0xdd4: 0x000a, 0xdd5: 0x000a, 0xdd6: 0x000a, 0xdd7: 0x000a,\n\t0xdd8: 0x000a, 0xdd9: 0x000a,\n\t// Block 0x38, offset 0xe00\n\t0xe00: 0x000a,\n\t// Block 0x39, offset 0xe40\n\t0xe40: 0x0009,\n\t0xe5b: 0x007a, 0xe5c: 0x006a,\n\t// Block 0x3a, offset 0xe80\n\t0xe92: 0x000c, 0xe93: 0x000c, 0xe94: 0x000c,\n\t0xeb2: 0x000c, 0xeb3: 0x000c, 0xeb4: 0x000c,\n\t// Block 0x3b, offset 0xec0\n\t0xed2: 0x000c, 0xed3: 0x000c,\n\t0xef2: 0x000c, 0xef3: 0x000c,\n\t// Block 0x3c, offset 0xf00\n\t0xf34: 0x000c, 0xf35: 0x000c,\n\t0xf37: 0x000c, 0xf38: 0x000c, 0xf39: 0x000c, 0xf3a: 0x000c, 0xf3b: 0x000c,\n\t0xf3c: 0x000c, 0xf3d: 0x000c,\n\t// Block 0x3d, offset 0xf40\n\t0xf46: 0x000c, 0xf49: 0x000c, 0xf4a: 0x000c, 0xf4b: 0x000c,\n\t0xf4c: 0x000c, 0xf4d: 0x000c, 0xf4e: 0x000c, 0xf4f: 0x000c, 0xf50: 0x000c, 0xf51: 0x000c,\n\t0xf52: 0x000c, 0xf53: 0x000c,\n\t0xf5b: 0x0004, 0xf5d: 0x000c,\n\t0xf70: 0x000a, 0xf71: 0x000a, 0xf72: 0x000a, 0xf73: 0x000a, 0xf74: 0x000a, 0xf75: 0x000a,\n\t0xf76: 0x000a, 0xf77: 0x000a, 0xf78: 0x000a, 0xf79: 0x000a,\n\t// Block 0x3e, offset 0xf80\n\t0xf80: 0x000a, 0xf81: 0x000a, 0xf82: 0x000a, 0xf83: 0x000a, 0xf84: 0x000a, 0xf85: 0x000a,\n\t0xf86: 0x000a, 0xf87: 0x000a, 0xf88: 0x000a, 0xf89: 0x000a, 0xf8a: 0x000a, 0xf8b: 0x000c,\n\t0xf8c: 0x000c, 0xf8d: 0x000c, 0xf8e: 0x000b,\n\t// Block 0x3f, offset 0xfc0\n\t0xfc5: 0x000c,\n\t0xfc6: 0x000c,\n\t0xfe9: 0x000c,\n\t// Block 0x40, offset 0x1000\n\t0x1020: 0x000c, 0x1021: 0x000c, 0x1022: 0x000c,\n\t0x1027: 0x000c, 0x1028: 0x000c,\n\t0x1032: 0x000c,\n\t0x1039: 0x000c, 0x103a: 0x000c, 0x103b: 0x000c,\n\t// Block 0x41, offset 0x1040\n\t0x1040: 0x000a, 0x1044: 0x000a, 0x1045: 0x000a,\n\t// Block 0x42, offset 0x1080\n\t0x109e: 0x000a, 0x109f: 0x000a, 0x10a0: 0x000a, 0x10a1: 0x000a, 0x10a2: 0x000a, 0x10a3: 0x000a,\n\t0x10a4: 0x000a, 0x10a5: 0x000a, 0x10a6: 0x000a, 0x10a7: 0x000a, 0x10a8: 0x000a, 0x10a9: 0x000a,\n\t0x10aa: 0x000a, 0x10ab: 0x000a, 0x10ac: 0x000a, 0x10ad: 0x000a, 0x10ae: 0x000a, 0x10af: 0x000a,\n\t0x10b0: 0x000a, 0x10b1: 0x000a, 0x10b2: 0x000a, 0x10b3: 0x000a, 0x10b4: 0x000a, 0x10b5: 0x000a,\n\t0x10b6: 0x000a, 0x10b7: 0x000a, 0x10b8: 0x000a, 0x10b9: 0x000a, 0x10ba: 0x000a, 0x10bb: 0x000a,\n\t0x10bc: 0x000a, 0x10bd: 0x000a, 0x10be: 0x000a, 0x10bf: 0x000a,\n\t// Block 0x43, offset 0x10c0\n\t0x10d7: 0x000c,\n\t0x10d8: 0x000c, 0x10db: 0x000c,\n\t// Block 0x44, offset 0x1100\n\t0x1116: 0x000c,\n\t0x1118: 0x000c, 0x1119: 0x000c, 0x111a: 0x000c, 0x111b: 0x000c, 0x111c: 0x000c, 0x111d: 0x000c,\n\t0x111e: 0x000c, 0x1120: 0x000c, 0x1122: 0x000c,\n\t0x1125: 0x000c, 0x1126: 0x000c, 0x1127: 0x000c, 0x1128: 0x000c, 0x1129: 0x000c,\n\t0x112a: 0x000c, 0x112b: 0x000c, 0x112c: 0x000c,\n\t0x1133: 0x000c, 0x1134: 0x000c, 0x1135: 0x000c,\n\t0x1136: 0x000c, 0x1137: 0x000c, 0x1138: 0x000c, 0x1139: 0x000c, 0x113a: 0x000c, 0x113b: 0x000c,\n\t0x113c: 0x000c, 0x113f: 0x000c,\n\t// Block 0x45, offset 0x1140\n\t0x1170: 0x000c, 0x1171: 0x000c, 0x1172: 0x000c, 0x1173: 0x000c, 0x1174: 0x000c, 0x1175: 0x000c,\n\t0x1176: 0x000c, 0x1177: 0x000c, 0x1178: 0x000c, 0x1179: 0x000c, 0x117a: 0x000c, 0x117b: 0x000c,\n\t0x117c: 0x000c, 0x117d: 0x000c, 0x117e: 0x000c,\n\t// Block 0x46, offset 0x1180\n\t0x1180: 0x000c, 0x1181: 0x000c, 0x1182: 0x000c, 0x1183: 0x000c,\n\t0x11b4: 0x000c,\n\t0x11b6: 0x000c, 0x11b7: 0x000c, 0x11b8: 0x000c, 0x11b9: 0x000c, 0x11ba: 0x000c,\n\t0x11bc: 0x000c,\n\t// Block 0x47, offset 0x11c0\n\t0x11c2: 0x000c,\n\t0x11eb: 0x000c, 0x11ec: 0x000c, 0x11ed: 0x000c, 0x11ee: 0x000c, 0x11ef: 0x000c,\n\t0x11f0: 0x000c, 0x11f1: 0x000c, 0x11f2: 0x000c, 0x11f3: 0x000c,\n\t// Block 0x48, offset 0x1200\n\t0x1200: 0x000c, 0x1201: 0x000c,\n\t0x1222: 0x000c, 0x1223: 0x000c,\n\t0x1224: 0x000c, 0x1225: 0x000c, 0x1228: 0x000c, 0x1229: 0x000c,\n\t0x122b: 0x000c, 0x122c: 0x000c, 0x122d: 0x000c,\n\t// Block 0x49, offset 0x1240\n\t0x1266: 0x000c, 0x1268: 0x000c, 0x1269: 0x000c,\n\t0x126d: 0x000c, 0x126f: 0x000c,\n\t0x1270: 0x000c, 0x1271: 0x000c,\n\t// Block 0x4a, offset 0x1280\n\t0x12ac: 0x000c, 0x12ad: 0x000c, 0x12ae: 0x000c, 0x12af: 0x000c,\n\t0x12b0: 0x000c, 0x12b1: 0x000c, 0x12b2: 0x000c, 0x12b3: 0x000c,\n\t0x12b6: 0x000c, 0x12b7: 0x000c,\n\t// Block 0x4b, offset 0x12c0\n\t0x12d0: 0x000c, 0x12d1: 0x000c,\n\t0x12d2: 0x000c, 0x12d4: 0x000c, 0x12d5: 0x000c, 0x12d6: 0x000c, 0x12d7: 0x000c,\n\t0x12d8: 0x000c, 0x12d9: 0x000c, 0x12da: 0x000c, 0x12db: 0x000c, 0x12dc: 0x000c, 0x12dd: 0x000c,\n\t0x12de: 0x000c, 0x12df: 0x000c, 0x12e0: 0x000c, 0x12e2: 0x000c, 0x12e3: 0x000c,\n\t0x12e4: 0x000c, 0x12e5: 0x000c, 0x12e6: 0x000c, 0x12e7: 0x000c, 0x12e8: 0x000c,\n\t0x12ed: 0x000c,\n\t0x12f4: 0x000c,\n\t0x12f8: 0x000c, 0x12f9: 0x000c,\n\t// Block 0x4c, offset 0x1300\n\t0x1300: 0x000c, 0x1301: 0x000c, 0x1302: 0x000c, 0x1303: 0x000c, 0x1304: 0x000c, 0x1305: 0x000c,\n\t0x1306: 0x000c, 0x1307: 0x000c, 0x1308: 0x000c, 0x1309: 0x000c, 0x130a: 0x000c, 0x130b: 0x000c,\n\t0x130c: 0x000c, 0x130d: 0x000c, 0x130e: 0x000c, 0x130f: 0x000c, 0x1310: 0x000c, 0x1311: 0x000c,\n\t0x1312: 0x000c, 0x1313: 0x000c, 0x1314: 0x000c, 0x1315: 0x000c, 0x1316: 0x000c, 0x1317: 0x000c,\n\t0x1318: 0x000c, 0x1319: 0x000c, 0x131a: 0x000c, 0x131b: 0x000c, 0x131c: 0x000c, 0x131d: 0x000c,\n\t0x131e: 0x000c, 0x131f: 0x000c, 0x1320: 0x000c, 0x1321: 0x000c, 0x1322: 0x000c, 0x1323: 0x000c,\n\t0x1324: 0x000c, 0x1325: 0x000c, 0x1326: 0x000c, 0x1327: 0x000c, 0x1328: 0x000c, 0x1329: 0x000c,\n\t0x132a: 0x000c, 0x132b: 0x000c, 0x132c: 0x000c, 0x132d: 0x000c, 0x132e: 0x000c, 0x132f: 0x000c,\n\t0x1330: 0x000c, 0x1331: 0x000c, 0x1332: 0x000c, 0x1333: 0x000c, 0x1334: 0x000c, 0x1335: 0x000c,\n\t0x133b: 0x000c,\n\t0x133c: 0x000c, 0x133d: 0x000c, 0x133e: 0x000c, 0x133f: 0x000c,\n\t// Block 0x4d, offset 0x1340\n\t0x137d: 0x000a, 0x137f: 0x000a,\n\t// Block 0x4e, offset 0x1380\n\t0x1380: 0x000a, 0x1381: 0x000a,\n\t0x138d: 0x000a, 0x138e: 0x000a, 0x138f: 0x000a,\n\t0x139d: 0x000a,\n\t0x139e: 0x000a, 0x139f: 0x000a,\n\t0x13ad: 0x000a, 0x13ae: 0x000a, 0x13af: 0x000a,\n\t0x13bd: 0x000a, 0x13be: 0x000a,\n\t// Block 0x4f, offset 0x13c0\n\t0x13c0: 0x0009, 0x13c1: 0x0009, 0x13c2: 0x0009, 0x13c3: 0x0009, 0x13c4: 0x0009, 0x13c5: 0x0009,\n\t0x13c6: 0x0009, 0x13c7: 0x0009, 0x13c8: 0x0009, 0x13c9: 0x0009, 0x13ca: 0x0009, 0x13cb: 0x000b,\n\t0x13cc: 0x000b, 0x13cd: 0x000b, 0x13cf: 0x0001, 0x13d0: 0x000a, 0x13d1: 0x000a,\n\t0x13d2: 0x000a, 0x13d3: 0x000a, 0x13d4: 0x000a, 0x13d5: 0x000a, 0x13d6: 0x000a, 0x13d7: 0x000a,\n\t0x13d8: 0x000a, 0x13d9: 0x000a, 0x13da: 0x000a, 0x13db: 0x000a, 0x13dc: 0x000a, 0x13dd: 0x000a,\n\t0x13de: 0x000a, 0x13df: 0x000a, 0x13e0: 0x000a, 0x13e1: 0x000a, 0x13e2: 0x000a, 0x13e3: 0x000a,\n\t0x13e4: 0x000a, 0x13e5: 0x000a, 0x13e6: 0x000a, 0x13e7: 0x000a, 0x13e8: 0x0009, 0x13e9: 0x0007,\n\t0x13ea: 0x000e, 0x13eb: 0x000e, 0x13ec: 0x000e, 0x13ed: 0x000e, 0x13ee: 0x000e, 0x13ef: 0x0006,\n\t0x13f0: 0x0004, 0x13f1: 0x0004, 0x13f2: 0x0004, 0x13f3: 0x0004, 0x13f4: 0x0004, 0x13f5: 0x000a,\n\t0x13f6: 0x000a, 0x13f7: 0x000a, 0x13f8: 0x000a, 0x13f9: 0x000a, 0x13fa: 0x000a, 0x13fb: 0x000a,\n\t0x13fc: 0x000a, 0x13fd: 0x000a, 0x13fe: 0x000a, 0x13ff: 0x000a,\n\t// Block 0x50, offset 0x1400\n\t0x1400: 0x000a, 0x1401: 0x000a, 0x1402: 0x000a, 0x1403: 0x000a, 0x1404: 0x0006, 0x1405: 0x009a,\n\t0x1406: 0x008a, 0x1407: 0x000a, 0x1408: 0x000a, 0x1409: 0x000a, 0x140a: 0x000a, 0x140b: 0x000a,\n\t0x140c: 0x000a, 0x140d: 0x000a, 0x140e: 0x000a, 0x140f: 0x000a, 0x1410: 0x000a, 0x1411: 0x000a,\n\t0x1412: 0x000a, 0x1413: 0x000a, 0x1414: 0x000a, 0x1415: 0x000a, 0x1416: 0x000a, 0x1417: 0x000a,\n\t0x1418: 0x000a, 0x1419: 0x000a, 0x141a: 0x000a, 0x141b: 0x000a, 0x141c: 0x000a, 0x141d: 0x000a,\n\t0x141e: 0x000a, 0x141f: 0x0009, 0x1420: 0x000b, 0x1421: 0x000b, 0x1422: 0x000b, 0x1423: 0x000b,\n\t0x1424: 0x000b, 0x1425: 0x000b, 0x1426: 0x000e, 0x1427: 0x000e, 0x1428: 0x000e, 0x1429: 0x000e,\n\t0x142a: 0x000b, 0x142b: 0x000b, 0x142c: 0x000b, 0x142d: 0x000b, 0x142e: 0x000b, 0x142f: 0x000b,\n\t0x1430: 0x0002, 0x1434: 0x0002, 0x1435: 0x0002,\n\t0x1436: 0x0002, 0x1437: 0x0002, 0x1438: 0x0002, 0x1439: 0x0002, 0x143a: 0x0003, 0x143b: 0x0003,\n\t0x143c: 0x000a, 0x143d: 0x009a, 0x143e: 0x008a,\n\t// Block 0x51, offset 0x1440\n\t0x1440: 0x0002, 0x1441: 0x0002, 0x1442: 0x0002, 0x1443: 0x0002, 0x1444: 0x0002, 0x1445: 0x0002,\n\t0x1446: 0x0002, 0x1447: 0x0002, 0x1448: 0x0002, 0x1449: 0x0002, 0x144a: 0x0003, 0x144b: 0x0003,\n\t0x144c: 0x000a, 0x144d: 0x009a, 0x144e: 0x008a,\n\t0x1460: 0x0004, 0x1461: 0x0004, 0x1462: 0x0004, 0x1463: 0x0004,\n\t0x1464: 0x0004, 0x1465: 0x0004, 0x1466: 0x0004, 0x1467: 0x0004, 0x1468: 0x0004, 0x1469: 0x0004,\n\t0x146a: 0x0004, 0x146b: 0x0004, 0x146c: 0x0004, 0x146d: 0x0004, 0x146e: 0x0004, 0x146f: 0x0004,\n\t0x1470: 0x0004, 0x1471: 0x0004, 0x1472: 0x0004, 0x1473: 0x0004, 0x1474: 0x0004, 0x1475: 0x0004,\n\t0x1476: 0x0004, 0x1477: 0x0004, 0x1478: 0x0004, 0x1479: 0x0004, 0x147a: 0x0004, 0x147b: 0x0004,\n\t0x147c: 0x0004, 0x147d: 0x0004, 0x147e: 0x0004, 0x147f: 0x0004,\n\t// Block 0x52, offset 0x1480\n\t0x1480: 0x0004, 0x1481: 0x0004, 0x1482: 0x0004, 0x1483: 0x0004, 0x1484: 0x0004, 0x1485: 0x0004,\n\t0x1486: 0x0004, 0x1487: 0x0004, 0x1488: 0x0004, 0x1489: 0x0004, 0x148a: 0x0004, 0x148b: 0x0004,\n\t0x148c: 0x0004, 0x148d: 0x0004, 0x148e: 0x0004, 0x148f: 0x0004, 0x1490: 0x000c, 0x1491: 0x000c,\n\t0x1492: 0x000c, 0x1493: 0x000c, 0x1494: 0x000c, 0x1495: 0x000c, 0x1496: 0x000c, 0x1497: 0x000c,\n\t0x1498: 0x000c, 0x1499: 0x000c, 0x149a: 0x000c, 0x149b: 0x000c, 0x149c: 0x000c, 0x149d: 0x000c,\n\t0x149e: 0x000c, 0x149f: 0x000c, 0x14a0: 0x000c, 0x14a1: 0x000c, 0x14a2: 0x000c, 0x14a3: 0x000c,\n\t0x14a4: 0x000c, 0x14a5: 0x000c, 0x14a6: 0x000c, 0x14a7: 0x000c, 0x14a8: 0x000c, 0x14a9: 0x000c,\n\t0x14aa: 0x000c, 0x14ab: 0x000c, 0x14ac: 0x000c, 0x14ad: 0x000c, 0x14ae: 0x000c, 0x14af: 0x000c,\n\t0x14b0: 0x000c,\n\t// Block 0x53, offset 0x14c0\n\t0x14c0: 0x000a, 0x14c1: 0x000a, 0x14c3: 0x000a, 0x14c4: 0x000a, 0x14c5: 0x000a,\n\t0x14c6: 0x000a, 0x14c8: 0x000a, 0x14c9: 0x000a,\n\t0x14d4: 0x000a, 0x14d6: 0x000a, 0x14d7: 0x000a,\n\t0x14d8: 0x000a,\n\t0x14de: 0x000a, 0x14df: 0x000a, 0x14e0: 0x000a, 0x14e1: 0x000a, 0x14e2: 0x000a, 0x14e3: 0x000a,\n\t0x14e5: 0x000a, 0x14e7: 0x000a, 0x14e9: 0x000a,\n\t0x14ee: 0x0004,\n\t0x14fa: 0x000a, 0x14fb: 0x000a,\n\t// Block 0x54, offset 0x1500\n\t0x1500: 0x000a, 0x1501: 0x000a, 0x1502: 0x000a, 0x1503: 0x000a, 0x1504: 0x000a,\n\t0x150a: 0x000a, 0x150b: 0x000a,\n\t0x150c: 0x000a, 0x150d: 0x000a, 0x1510: 0x000a, 0x1511: 0x000a,\n\t0x1512: 0x000a, 0x1513: 0x000a, 0x1514: 0x000a, 0x1515: 0x000a, 0x1516: 0x000a, 0x1517: 0x000a,\n\t0x1518: 0x000a, 0x1519: 0x000a, 0x151a: 0x000a, 0x151b: 0x000a, 0x151c: 0x000a, 0x151d: 0x000a,\n\t0x151e: 0x000a, 0x151f: 0x000a,\n\t// Block 0x55, offset 0x1540\n\t0x1549: 0x000a, 0x154a: 0x000a, 0x154b: 0x000a,\n\t0x1550: 0x000a, 0x1551: 0x000a,\n\t0x1552: 0x000a, 0x1553: 0x000a, 0x1554: 0x000a, 0x1555: 0x000a, 0x1556: 0x000a, 0x1557: 0x000a,\n\t0x1558: 0x000a, 0x1559: 0x000a, 0x155a: 0x000a, 0x155b: 0x000a, 0x155c: 0x000a, 0x155d: 0x000a,\n\t0x155e: 0x000a, 0x155f: 0x000a, 0x1560: 0x000a, 0x1561: 0x000a, 0x1562: 0x000a, 0x1563: 0x000a,\n\t0x1564: 0x000a, 0x1565: 0x000a, 0x1566: 0x000a, 0x1567: 0x000a, 0x1568: 0x000a, 0x1569: 0x000a,\n\t0x156a: 0x000a, 0x156b: 0x000a, 0x156c: 0x000a, 0x156d: 0x000a, 0x156e: 0x000a, 0x156f: 0x000a,\n\t0x1570: 0x000a, 0x1571: 0x000a, 0x1572: 0x000a, 0x1573: 0x000a, 0x1574: 0x000a, 0x1575: 0x000a,\n\t0x1576: 0x000a, 0x1577: 0x000a, 0x1578: 0x000a, 0x1579: 0x000a, 0x157a: 0x000a, 0x157b: 0x000a,\n\t0x157c: 0x000a, 0x157d: 0x000a, 0x157e: 0x000a, 0x157f: 0x000a,\n\t// Block 0x56, offset 0x1580\n\t0x1580: 0x000a, 0x1581: 0x000a, 0x1582: 0x000a, 0x1583: 0x000a, 0x1584: 0x000a, 0x1585: 0x000a,\n\t0x1586: 0x000a, 0x1587: 0x000a, 0x1588: 0x000a, 0x1589: 0x000a, 0x158a: 0x000a, 0x158b: 0x000a,\n\t0x158c: 0x000a, 0x158d: 0x000a, 0x158e: 0x000a, 0x158f: 0x000a, 0x1590: 0x000a, 0x1591: 0x000a,\n\t0x1592: 0x000a, 0x1593: 0x000a, 0x1594: 0x000a, 0x1595: 0x000a, 0x1596: 0x000a, 0x1597: 0x000a,\n\t0x1598: 0x000a, 0x1599: 0x000a, 0x159a: 0x000a, 0x159b: 0x000a, 0x159c: 0x000a, 0x159d: 0x000a,\n\t0x159e: 0x000a, 0x159f: 0x000a, 0x15a0: 0x000a, 0x15a1: 0x000a, 0x15a2: 0x000a, 0x15a3: 0x000a,\n\t0x15a4: 0x000a, 0x15a5: 0x000a, 0x15a6: 0x000a, 0x15a7: 0x000a, 0x15a8: 0x000a, 0x15a9: 0x000a,\n\t0x15aa: 0x000a, 0x15ab: 0x000a, 0x15ac: 0x000a, 0x15ad: 0x000a, 0x15ae: 0x000a, 0x15af: 0x000a,\n\t0x15b0: 0x000a, 0x15b1: 0x000a, 0x15b2: 0x000a, 0x15b3: 0x000a, 0x15b4: 0x000a, 0x15b5: 0x000a,\n\t0x15b6: 0x000a, 0x15b7: 0x000a, 0x15b8: 0x000a, 0x15b9: 0x000a, 0x15ba: 0x000a, 0x15bb: 0x000a,\n\t0x15bc: 0x000a, 0x15bd: 0x000a, 0x15be: 0x000a, 0x15bf: 0x000a,\n\t// Block 0x57, offset 0x15c0\n\t0x15c0: 0x000a, 0x15c1: 0x000a, 0x15c2: 0x000a, 0x15c3: 0x000a, 0x15c4: 0x000a, 0x15c5: 0x000a,\n\t0x15c6: 0x000a, 0x15c7: 0x000a, 0x15c8: 0x000a, 0x15c9: 0x000a, 0x15ca: 0x000a, 0x15cb: 0x000a,\n\t0x15cc: 0x000a, 0x15cd: 0x000a, 0x15ce: 0x000a, 0x15cf: 0x000a, 0x15d0: 0x000a, 0x15d1: 0x000a,\n\t0x15d2: 0x0003, 0x15d3: 0x0004, 0x15d4: 0x000a, 0x15d5: 0x000a, 0x15d6: 0x000a, 0x15d7: 0x000a,\n\t0x15d8: 0x000a, 0x15d9: 0x000a, 0x15da: 0x000a, 0x15db: 0x000a, 0x15dc: 0x000a, 0x15dd: 0x000a,\n\t0x15de: 0x000a, 0x15df: 0x000a, 0x15e0: 0x000a, 0x15e1: 0x000a, 0x15e2: 0x000a, 0x15e3: 0x000a,\n\t0x15e4: 0x000a, 0x15e5: 0x000a, 0x15e6: 0x000a, 0x15e7: 0x000a, 0x15e8: 0x000a, 0x15e9: 0x000a,\n\t0x15ea: 0x000a, 0x15eb: 0x000a, 0x15ec: 0x000a, 0x15ed: 0x000a, 0x15ee: 0x000a, 0x15ef: 0x000a,\n\t0x15f0: 0x000a, 0x15f1: 0x000a, 0x15f2: 0x000a, 0x15f3: 0x000a, 0x15f4: 0x000a, 0x15f5: 0x000a,\n\t0x15f6: 0x000a, 0x15f7: 0x000a, 0x15f8: 0x000a, 0x15f9: 0x000a, 0x15fa: 0x000a, 0x15fb: 0x000a,\n\t0x15fc: 0x000a, 0x15fd: 0x000a, 0x15fe: 0x000a, 0x15ff: 0x000a,\n\t// Block 0x58, offset 0x1600\n\t0x1600: 0x000a, 0x1601: 0x000a, 0x1602: 0x000a, 0x1603: 0x000a, 0x1604: 0x000a, 0x1605: 0x000a,\n\t0x1606: 0x000a, 0x1607: 0x000a, 0x1608: 0x003a, 0x1609: 0x002a, 0x160a: 0x003a, 0x160b: 0x002a,\n\t0x160c: 0x000a, 0x160d: 0x000a, 0x160e: 0x000a, 0x160f: 0x000a, 0x1610: 0x000a, 0x1611: 0x000a,\n\t0x1612: 0x000a, 0x1613: 0x000a, 0x1614: 0x000a, 0x1615: 0x000a, 0x1616: 0x000a, 0x1617: 0x000a,\n\t0x1618: 0x000a, 0x1619: 0x000a, 0x161a: 0x000a, 0x161b: 0x000a, 0x161c: 0x000a, 0x161d: 0x000a,\n\t0x161e: 0x000a, 0x161f: 0x000a, 0x1620: 0x000a, 0x1621: 0x000a, 0x1622: 0x000a, 0x1623: 0x000a,\n\t0x1624: 0x000a, 0x1625: 0x000a, 0x1626: 0x000a, 0x1627: 0x000a, 0x1628: 0x000a, 0x1629: 0x009a,\n\t0x162a: 0x008a, 0x162b: 0x000a, 0x162c: 0x000a, 0x162d: 0x000a, 0x162e: 0x000a, 0x162f: 0x000a,\n\t0x1630: 0x000a, 0x1631: 0x000a, 0x1632: 0x000a, 0x1633: 0x000a, 0x1634: 0x000a, 0x1635: 0x000a,\n\t// Block 0x59, offset 0x1640\n\t0x167b: 0x000a,\n\t0x167c: 0x000a, 0x167d: 0x000a, 0x167e: 0x000a, 0x167f: 0x000a,\n\t// Block 0x5a, offset 0x1680\n\t0x1680: 0x000a, 0x1681: 0x000a, 0x1682: 0x000a, 0x1683: 0x000a, 0x1684: 0x000a, 0x1685: 0x000a,\n\t0x1686: 0x000a, 0x1687: 0x000a, 0x1688: 0x000a, 0x1689: 0x000a, 0x168a: 0x000a, 0x168b: 0x000a,\n\t0x168c: 0x000a, 0x168d: 0x000a, 0x168e: 0x000a, 0x168f: 0x000a, 0x1690: 0x000a, 0x1691: 0x000a,\n\t0x1692: 0x000a, 0x1693: 0x000a, 0x1694: 0x000a, 0x1696: 0x000a, 0x1697: 0x000a,\n\t0x1698: 0x000a, 0x1699: 0x000a, 0x169a: 0x000a, 0x169b: 0x000a, 0x169c: 0x000a, 0x169d: 0x000a,\n\t0x169e: 0x000a, 0x169f: 0x000a, 0x16a0: 0x000a, 0x16a1: 0x000a, 0x16a2: 0x000a, 0x16a3: 0x000a,\n\t0x16a4: 0x000a, 0x16a5: 0x000a, 0x16a6: 0x000a, 0x16a7: 0x000a, 0x16a8: 0x000a, 0x16a9: 0x000a,\n\t0x16aa: 0x000a, 0x16ab: 0x000a, 0x16ac: 0x000a, 0x16ad: 0x000a, 0x16ae: 0x000a, 0x16af: 0x000a,\n\t0x16b0: 0x000a, 0x16b1: 0x000a, 0x16b2: 0x000a, 0x16b3: 0x000a, 0x16b4: 0x000a, 0x16b5: 0x000a,\n\t0x16b6: 0x000a, 0x16b7: 0x000a, 0x16b8: 0x000a, 0x16b9: 0x000a, 0x16ba: 0x000a, 0x16bb: 0x000a,\n\t0x16bc: 0x000a, 0x16bd: 0x000a, 0x16be: 0x000a, 0x16bf: 0x000a,\n\t// Block 0x5b, offset 0x16c0\n\t0x16c0: 0x000a, 0x16c1: 0x000a, 0x16c2: 0x000a, 0x16c3: 0x000a, 0x16c4: 0x000a, 0x16c5: 0x000a,\n\t0x16c6: 0x000a, 0x16c7: 0x000a, 0x16c8: 0x000a, 0x16c9: 0x000a, 0x16ca: 0x000a, 0x16cb: 0x000a,\n\t0x16cc: 0x000a, 0x16cd: 0x000a, 0x16ce: 0x000a, 0x16cf: 0x000a, 0x16d0: 0x000a, 0x16d1: 0x000a,\n\t0x16d2: 0x000a, 0x16d3: 0x000a, 0x16d4: 0x000a, 0x16d5: 0x000a, 0x16d6: 0x000a, 0x16d7: 0x000a,\n\t0x16d8: 0x000a, 0x16d9: 0x000a, 0x16da: 0x000a, 0x16db: 0x000a, 0x16dc: 0x000a, 0x16dd: 0x000a,\n\t0x16de: 0x000a, 0x16df: 0x000a, 0x16e0: 0x000a, 0x16e1: 0x000a, 0x16e2: 0x000a, 0x16e3: 0x000a,\n\t0x16e4: 0x000a, 0x16e5: 0x000a, 0x16e6: 0x000a, 0x16e7: 0x000a, 0x16e8: 0x000a, 0x16e9: 0x000a,\n\t0x16ea: 0x000a, 0x16eb: 0x000a, 0x16ec: 0x000a, 0x16ed: 0x000a, 0x16ee: 0x000a, 0x16ef: 0x000a,\n\t0x16f0: 0x000a, 0x16f1: 0x000a, 0x16f2: 0x000a, 0x16f3: 0x000a, 0x16f4: 0x000a, 0x16f5: 0x000a,\n\t0x16f6: 0x000a, 0x16f7: 0x000a, 0x16f8: 0x000a, 0x16f9: 0x000a, 0x16fa: 0x000a, 0x16fb: 0x000a,\n\t0x16fc: 0x000a, 0x16fd: 0x000a, 0x16fe: 0x000a,\n\t// Block 0x5c, offset 0x1700\n\t0x1700: 0x000a, 0x1701: 0x000a, 0x1702: 0x000a, 0x1703: 0x000a, 0x1704: 0x000a, 0x1705: 0x000a,\n\t0x1706: 0x000a, 0x1707: 0x000a, 0x1708: 0x000a, 0x1709: 0x000a, 0x170a: 0x000a, 0x170b: 0x000a,\n\t0x170c: 0x000a, 0x170d: 0x000a, 0x170e: 0x000a, 0x170f: 0x000a, 0x1710: 0x000a, 0x1711: 0x000a,\n\t0x1712: 0x000a, 0x1713: 0x000a, 0x1714: 0x000a, 0x1715: 0x000a, 0x1716: 0x000a, 0x1717: 0x000a,\n\t0x1718: 0x000a, 0x1719: 0x000a, 0x171a: 0x000a, 0x171b: 0x000a, 0x171c: 0x000a, 0x171d: 0x000a,\n\t0x171e: 0x000a, 0x171f: 0x000a, 0x1720: 0x000a, 0x1721: 0x000a, 0x1722: 0x000a, 0x1723: 0x000a,\n\t0x1724: 0x000a, 0x1725: 0x000a, 0x1726: 0x000a,\n\t// Block 0x5d, offset 0x1740\n\t0x1740: 0x000a, 0x1741: 0x000a, 0x1742: 0x000a, 0x1743: 0x000a, 0x1744: 0x000a, 0x1745: 0x000a,\n\t0x1746: 0x000a, 0x1747: 0x000a, 0x1748: 0x000a, 0x1749: 0x000a, 0x174a: 0x000a,\n\t0x1760: 0x000a, 0x1761: 0x000a, 0x1762: 0x000a, 0x1763: 0x000a,\n\t0x1764: 0x000a, 0x1765: 0x000a, 0x1766: 0x000a, 0x1767: 0x000a, 0x1768: 0x000a, 0x1769: 0x000a,\n\t0x176a: 0x000a, 0x176b: 0x000a, 0x176c: 0x000a, 0x176d: 0x000a, 0x176e: 0x000a, 0x176f: 0x000a,\n\t0x1770: 0x000a, 0x1771: 0x000a, 0x1772: 0x000a, 0x1773: 0x000a, 0x1774: 0x000a, 0x1775: 0x000a,\n\t0x1776: 0x000a, 0x1777: 0x000a, 0x1778: 0x000a, 0x1779: 0x000a, 0x177a: 0x000a, 0x177b: 0x000a,\n\t0x177c: 0x000a, 0x177d: 0x000a, 0x177e: 0x000a, 0x177f: 0x000a,\n\t// Block 0x5e, offset 0x1780\n\t0x1780: 0x000a, 0x1781: 0x000a, 0x1782: 0x000a, 0x1783: 0x000a, 0x1784: 0x000a, 0x1785: 0x000a,\n\t0x1786: 0x000a, 0x1787: 0x000a, 0x1788: 0x0002, 0x1789: 0x0002, 0x178a: 0x0002, 0x178b: 0x0002,\n\t0x178c: 0x0002, 0x178d: 0x0002, 0x178e: 0x0002, 0x178f: 0x0002, 0x1790: 0x0002, 0x1791: 0x0002,\n\t0x1792: 0x0002, 0x1793: 0x0002, 0x1794: 0x0002, 0x1795: 0x0002, 0x1796: 0x0002, 0x1797: 0x0002,\n\t0x1798: 0x0002, 0x1799: 0x0002, 0x179a: 0x0002, 0x179b: 0x0002,\n\t// Block 0x5f, offset 0x17c0\n\t0x17ea: 0x000a, 0x17eb: 0x000a, 0x17ec: 0x000a, 0x17ed: 0x000a, 0x17ee: 0x000a, 0x17ef: 0x000a,\n\t0x17f0: 0x000a, 0x17f1: 0x000a, 0x17f2: 0x000a, 0x17f3: 0x000a, 0x17f4: 0x000a, 0x17f5: 0x000a,\n\t0x17f6: 0x000a, 0x17f7: 0x000a, 0x17f8: 0x000a, 0x17f9: 0x000a, 0x17fa: 0x000a, 0x17fb: 0x000a,\n\t0x17fc: 0x000a, 0x17fd: 0x000a, 0x17fe: 0x000a, 0x17ff: 0x000a,\n\t// Block 0x60, offset 0x1800\n\t0x1800: 0x000a, 0x1801: 0x000a, 0x1802: 0x000a, 0x1803: 0x000a, 0x1804: 0x000a, 0x1805: 0x000a,\n\t0x1806: 0x000a, 0x1807: 0x000a, 0x1808: 0x000a, 0x1809: 0x000a, 0x180a: 0x000a, 0x180b: 0x000a,\n\t0x180c: 0x000a, 0x180d: 0x000a, 0x180e: 0x000a, 0x180f: 0x000a, 0x1810: 0x000a, 0x1811: 0x000a,\n\t0x1812: 0x000a, 0x1813: 0x000a, 0x1814: 0x000a, 0x1815: 0x000a, 0x1816: 0x000a, 0x1817: 0x000a,\n\t0x1818: 0x000a, 0x1819: 0x000a, 0x181a: 0x000a, 0x181b: 0x000a, 0x181c: 0x000a, 0x181d: 0x000a,\n\t0x181e: 0x000a, 0x181f: 0x000a, 0x1820: 0x000a, 0x1821: 0x000a, 0x1822: 0x000a, 0x1823: 0x000a,\n\t0x1824: 0x000a, 0x1825: 0x000a, 0x1826: 0x000a, 0x1827: 0x000a, 0x1828: 0x000a, 0x1829: 0x000a,\n\t0x182a: 0x000a, 0x182b: 0x000a, 0x182d: 0x000a, 0x182e: 0x000a, 0x182f: 0x000a,\n\t0x1830: 0x000a, 0x1831: 0x000a, 0x1832: 0x000a, 0x1833: 0x000a, 0x1834: 0x000a, 0x1835: 0x000a,\n\t0x1836: 0x000a, 0x1837: 0x000a, 0x1838: 0x000a, 0x1839: 0x000a, 0x183a: 0x000a, 0x183b: 0x000a,\n\t0x183c: 0x000a, 0x183d: 0x000a, 0x183e: 0x000a, 0x183f: 0x000a,\n\t// Block 0x61, offset 0x1840\n\t0x1840: 0x000a, 0x1841: 0x000a, 0x1842: 0x000a, 0x1843: 0x000a, 0x1844: 0x000a, 0x1845: 0x000a,\n\t0x1846: 0x000a, 0x1847: 0x000a, 0x1848: 0x000a, 0x1849: 0x000a, 0x184a: 0x000a, 0x184b: 0x000a,\n\t0x184c: 0x000a, 0x184d: 0x000a, 0x184e: 0x000a, 0x184f: 0x000a, 0x1850: 0x000a, 0x1851: 0x000a,\n\t0x1852: 0x000a, 0x1853: 0x000a, 0x1854: 0x000a, 0x1855: 0x000a, 0x1856: 0x000a, 0x1857: 0x000a,\n\t0x1858: 0x000a, 0x1859: 0x000a, 0x185a: 0x000a, 0x185b: 0x000a, 0x185c: 0x000a, 0x185d: 0x000a,\n\t0x185e: 0x000a, 0x185f: 0x000a, 0x1860: 0x000a, 0x1861: 0x000a, 0x1862: 0x000a, 0x1863: 0x000a,\n\t0x1864: 0x000a, 0x1865: 0x000a, 0x1866: 0x000a, 0x1867: 0x000a, 0x1868: 0x003a, 0x1869: 0x002a,\n\t0x186a: 0x003a, 0x186b: 0x002a, 0x186c: 0x003a, 0x186d: 0x002a, 0x186e: 0x003a, 0x186f: 0x002a,\n\t0x1870: 0x003a, 0x1871: 0x002a, 0x1872: 0x003a, 0x1873: 0x002a, 0x1874: 0x003a, 0x1875: 0x002a,\n\t0x1876: 0x000a, 0x1877: 0x000a, 0x1878: 0x000a, 0x1879: 0x000a, 0x187a: 0x000a, 0x187b: 0x000a,\n\t0x187c: 0x000a, 0x187d: 0x000a, 0x187e: 0x000a, 0x187f: 0x000a,\n\t// Block 0x62, offset 0x1880\n\t0x1880: 0x000a, 0x1881: 0x000a, 0x1882: 0x000a, 0x1883: 0x000a, 0x1884: 0x000a, 0x1885: 0x009a,\n\t0x1886: 0x008a, 0x1887: 0x000a, 0x1888: 0x000a, 0x1889: 0x000a, 0x188a: 0x000a, 0x188b: 0x000a,\n\t0x188c: 0x000a, 0x188d: 0x000a, 0x188e: 0x000a, 0x188f: 0x000a, 0x1890: 0x000a, 0x1891: 0x000a,\n\t0x1892: 0x000a, 0x1893: 0x000a, 0x1894: 0x000a, 0x1895: 0x000a, 0x1896: 0x000a, 0x1897: 0x000a,\n\t0x1898: 0x000a, 0x1899: 0x000a, 0x189a: 0x000a, 0x189b: 0x000a, 0x189c: 0x000a, 0x189d: 0x000a,\n\t0x189e: 0x000a, 0x189f: 0x000a, 0x18a0: 0x000a, 0x18a1: 0x000a, 0x18a2: 0x000a, 0x18a3: 0x000a,\n\t0x18a4: 0x000a, 0x18a5: 0x000a, 0x18a6: 0x003a, 0x18a7: 0x002a, 0x18a8: 0x003a, 0x18a9: 0x002a,\n\t0x18aa: 0x003a, 0x18ab: 0x002a, 0x18ac: 0x003a, 0x18ad: 0x002a, 0x18ae: 0x003a, 0x18af: 0x002a,\n\t0x18b0: 0x000a, 0x18b1: 0x000a, 0x18b2: 0x000a, 0x18b3: 0x000a, 0x18b4: 0x000a, 0x18b5: 0x000a,\n\t0x18b6: 0x000a, 0x18b7: 0x000a, 0x18b8: 0x000a, 0x18b9: 0x000a, 0x18ba: 0x000a, 0x18bb: 0x000a,\n\t0x18bc: 0x000a, 0x18bd: 0x000a, 0x18be: 0x000a, 0x18bf: 0x000a,\n\t// Block 0x63, offset 0x18c0\n\t0x18c0: 0x000a, 0x18c1: 0x000a, 0x18c2: 0x000a, 0x18c3: 0x007a, 0x18c4: 0x006a, 0x18c5: 0x009a,\n\t0x18c6: 0x008a, 0x18c7: 0x00ba, 0x18c8: 0x00aa, 0x18c9: 0x009a, 0x18ca: 0x008a, 0x18cb: 0x007a,\n\t0x18cc: 0x006a, 0x18cd: 0x00da, 0x18ce: 0x002a, 0x18cf: 0x003a, 0x18d0: 0x00ca, 0x18d1: 0x009a,\n\t0x18d2: 0x008a, 0x18d3: 0x007a, 0x18d4: 0x006a, 0x18d5: 0x009a, 0x18d6: 0x008a, 0x18d7: 0x00ba,\n\t0x18d8: 0x00aa, 0x18d9: 0x000a, 0x18da: 0x000a, 0x18db: 0x000a, 0x18dc: 0x000a, 0x18dd: 0x000a,\n\t0x18de: 0x000a, 0x18df: 0x000a, 0x18e0: 0x000a, 0x18e1: 0x000a, 0x18e2: 0x000a, 0x18e3: 0x000a,\n\t0x18e4: 0x000a, 0x18e5: 0x000a, 0x18e6: 0x000a, 0x18e7: 0x000a, 0x18e8: 0x000a, 0x18e9: 0x000a,\n\t0x18ea: 0x000a, 0x18eb: 0x000a, 0x18ec: 0x000a, 0x18ed: 0x000a, 0x18ee: 0x000a, 0x18ef: 0x000a,\n\t0x18f0: 0x000a, 0x18f1: 0x000a, 0x18f2: 0x000a, 0x18f3: 0x000a, 0x18f4: 0x000a, 0x18f5: 0x000a,\n\t0x18f6: 0x000a, 0x18f7: 0x000a, 0x18f8: 0x000a, 0x18f9: 0x000a, 0x18fa: 0x000a, 0x18fb: 0x000a,\n\t0x18fc: 0x000a, 0x18fd: 0x000a, 0x18fe: 0x000a, 0x18ff: 0x000a,\n\t// Block 0x64, offset 0x1900\n\t0x1900: 0x000a, 0x1901: 0x000a, 0x1902: 0x000a, 0x1903: 0x000a, 0x1904: 0x000a, 0x1905: 0x000a,\n\t0x1906: 0x000a, 0x1907: 0x000a, 0x1908: 0x000a, 0x1909: 0x000a, 0x190a: 0x000a, 0x190b: 0x000a,\n\t0x190c: 0x000a, 0x190d: 0x000a, 0x190e: 0x000a, 0x190f: 0x000a, 0x1910: 0x000a, 0x1911: 0x000a,\n\t0x1912: 0x000a, 0x1913: 0x000a, 0x1914: 0x000a, 0x1915: 0x000a, 0x1916: 0x000a, 0x1917: 0x000a,\n\t0x1918: 0x003a, 0x1919: 0x002a, 0x191a: 0x003a, 0x191b: 0x002a, 0x191c: 0x000a, 0x191d: 0x000a,\n\t0x191e: 0x000a, 0x191f: 0x000a, 0x1920: 0x000a, 0x1921: 0x000a, 0x1922: 0x000a, 0x1923: 0x000a,\n\t0x1924: 0x000a, 0x1925: 0x000a, 0x1926: 0x000a, 0x1927: 0x000a, 0x1928: 0x000a, 0x1929: 0x000a,\n\t0x192a: 0x000a, 0x192b: 0x000a, 0x192c: 0x000a, 0x192d: 0x000a, 0x192e: 0x000a, 0x192f: 0x000a,\n\t0x1930: 0x000a, 0x1931: 0x000a, 0x1932: 0x000a, 0x1933: 0x000a, 0x1934: 0x000a, 0x1935: 0x000a,\n\t0x1936: 0x000a, 0x1937: 0x000a, 0x1938: 0x000a, 0x1939: 0x000a, 0x193a: 0x000a, 0x193b: 0x000a,\n\t0x193c: 0x003a, 0x193d: 0x002a, 0x193e: 0x000a, 0x193f: 0x000a,\n\t// Block 0x65, offset 0x1940\n\t0x1940: 0x000a, 0x1941: 0x000a, 0x1942: 0x000a, 0x1943: 0x000a, 0x1944: 0x000a, 0x1945: 0x000a,\n\t0x1946: 0x000a, 0x1947: 0x000a, 0x1948: 0x000a, 0x1949: 0x000a, 0x194a: 0x000a, 0x194b: 0x000a,\n\t0x194c: 0x000a, 0x194d: 0x000a, 0x194e: 0x000a, 0x194f: 0x000a, 0x1950: 0x000a, 0x1951: 0x000a,\n\t0x1952: 0x000a, 0x1953: 0x000a, 0x1954: 0x000a, 0x1955: 0x000a, 0x1956: 0x000a, 0x1957: 0x000a,\n\t0x1958: 0x000a, 0x1959: 0x000a, 0x195a: 0x000a, 0x195b: 0x000a, 0x195c: 0x000a, 0x195d: 0x000a,\n\t0x195e: 0x000a, 0x195f: 0x000a, 0x1960: 0x000a, 0x1961: 0x000a, 0x1962: 0x000a, 0x1963: 0x000a,\n\t0x1964: 0x000a, 0x1965: 0x000a, 0x1966: 0x000a, 0x1967: 0x000a, 0x1968: 0x000a, 0x1969: 0x000a,\n\t0x196a: 0x000a, 0x196b: 0x000a, 0x196c: 0x000a, 0x196d: 0x000a, 0x196e: 0x000a, 0x196f: 0x000a,\n\t0x1970: 0x000a, 0x1971: 0x000a, 0x1972: 0x000a, 0x1973: 0x000a,\n\t0x1976: 0x000a, 0x1977: 0x000a, 0x1978: 0x000a, 0x1979: 0x000a, 0x197a: 0x000a, 0x197b: 0x000a,\n\t0x197c: 0x000a, 0x197d: 0x000a, 0x197e: 0x000a, 0x197f: 0x000a,\n\t// Block 0x66, offset 0x1980\n\t0x1980: 0x000a, 0x1981: 0x000a, 0x1982: 0x000a, 0x1983: 0x000a, 0x1984: 0x000a, 0x1985: 0x000a,\n\t0x1986: 0x000a, 0x1987: 0x000a, 0x1988: 0x000a, 0x1989: 0x000a, 0x198a: 0x000a, 0x198b: 0x000a,\n\t0x198c: 0x000a, 0x198d: 0x000a, 0x198e: 0x000a, 0x198f: 0x000a, 0x1990: 0x000a, 0x1991: 0x000a,\n\t0x1992: 0x000a, 0x1993: 0x000a, 0x1994: 0x000a, 0x1995: 0x000a,\n\t0x1998: 0x000a, 0x1999: 0x000a, 0x199a: 0x000a, 0x199b: 0x000a, 0x199c: 0x000a, 0x199d: 0x000a,\n\t0x199e: 0x000a, 0x199f: 0x000a, 0x19a0: 0x000a, 0x19a1: 0x000a, 0x19a2: 0x000a, 0x19a3: 0x000a,\n\t0x19a4: 0x000a, 0x19a5: 0x000a, 0x19a6: 0x000a, 0x19a7: 0x000a, 0x19a8: 0x000a, 0x19a9: 0x000a,\n\t0x19aa: 0x000a, 0x19ab: 0x000a, 0x19ac: 0x000a, 0x19ad: 0x000a, 0x19ae: 0x000a, 0x19af: 0x000a,\n\t0x19b0: 0x000a, 0x19b1: 0x000a, 0x19b2: 0x000a, 0x19b3: 0x000a, 0x19b4: 0x000a, 0x19b5: 0x000a,\n\t0x19b6: 0x000a, 0x19b7: 0x000a, 0x19b8: 0x000a, 0x19b9: 0x000a,\n\t0x19bd: 0x000a, 0x19be: 0x000a, 0x19bf: 0x000a,\n\t// Block 0x67, offset 0x19c0\n\t0x19c0: 0x000a, 0x19c1: 0x000a, 0x19c2: 0x000a, 0x19c3: 0x000a, 0x19c4: 0x000a, 0x19c5: 0x000a,\n\t0x19c6: 0x000a, 0x19c7: 0x000a, 0x19c8: 0x000a, 0x19ca: 0x000a, 0x19cb: 0x000a,\n\t0x19cc: 0x000a, 0x19cd: 0x000a, 0x19ce: 0x000a, 0x19cf: 0x000a, 0x19d0: 0x000a, 0x19d1: 0x000a,\n\t0x19ec: 0x000a, 0x19ed: 0x000a, 0x19ee: 0x000a, 0x19ef: 0x000a,\n\t// Block 0x68, offset 0x1a00\n\t0x1a25: 0x000a, 0x1a26: 0x000a, 0x1a27: 0x000a, 0x1a28: 0x000a, 0x1a29: 0x000a,\n\t0x1a2a: 0x000a, 0x1a2f: 0x000c,\n\t0x1a30: 0x000c, 0x1a31: 0x000c,\n\t0x1a39: 0x000a, 0x1a3a: 0x000a, 0x1a3b: 0x000a,\n\t0x1a3c: 0x000a, 0x1a3d: 0x000a, 0x1a3e: 0x000a, 0x1a3f: 0x000a,\n\t// Block 0x69, offset 0x1a40\n\t0x1a7f: 0x000c,\n\t// Block 0x6a, offset 0x1a80\n\t0x1aa0: 0x000c, 0x1aa1: 0x000c, 0x1aa2: 0x000c, 0x1aa3: 0x000c,\n\t0x1aa4: 0x000c, 0x1aa5: 0x000c, 0x1aa6: 0x000c, 0x1aa7: 0x000c, 0x1aa8: 0x000c, 0x1aa9: 0x000c,\n\t0x1aaa: 0x000c, 0x1aab: 0x000c, 0x1aac: 0x000c, 0x1aad: 0x000c, 0x1aae: 0x000c, 0x1aaf: 0x000c,\n\t0x1ab0: 0x000c, 0x1ab1: 0x000c, 0x1ab2: 0x000c, 0x1ab3: 0x000c, 0x1ab4: 0x000c, 0x1ab5: 0x000c,\n\t0x1ab6: 0x000c, 0x1ab7: 0x000c, 0x1ab8: 0x000c, 0x1ab9: 0x000c, 0x1aba: 0x000c, 0x1abb: 0x000c,\n\t0x1abc: 0x000c, 0x1abd: 0x000c, 0x1abe: 0x000c, 0x1abf: 0x000c,\n\t// Block 0x6b, offset 0x1ac0\n\t0x1ac0: 0x000a, 0x1ac1: 0x000a, 0x1ac2: 0x000a, 0x1ac3: 0x000a, 0x1ac4: 0x000a, 0x1ac5: 0x000a,\n\t0x1ac6: 0x000a, 0x1ac7: 0x000a, 0x1ac8: 0x000a, 0x1ac9: 0x000a, 0x1aca: 0x000a, 0x1acb: 0x000a,\n\t0x1acc: 0x000a, 0x1acd: 0x000a, 0x1ace: 0x000a, 0x1acf: 0x000a, 0x1ad0: 0x000a, 0x1ad1: 0x000a,\n\t0x1ad2: 0x000a, 0x1ad3: 0x000a, 0x1ad4: 0x000a, 0x1ad5: 0x000a, 0x1ad6: 0x000a, 0x1ad7: 0x000a,\n\t0x1ad8: 0x000a, 0x1ad9: 0x000a, 0x1ada: 0x000a, 0x1adb: 0x000a, 0x1adc: 0x000a, 0x1add: 0x000a,\n\t0x1ade: 0x000a, 0x1adf: 0x000a, 0x1ae0: 0x000a, 0x1ae1: 0x000a, 0x1ae2: 0x003a, 0x1ae3: 0x002a,\n\t0x1ae4: 0x003a, 0x1ae5: 0x002a, 0x1ae6: 0x003a, 0x1ae7: 0x002a, 0x1ae8: 0x003a, 0x1ae9: 0x002a,\n\t0x1aea: 0x000a, 0x1aeb: 0x000a, 0x1aec: 0x000a, 0x1aed: 0x000a, 0x1aee: 0x000a, 0x1aef: 0x000a,\n\t0x1af0: 0x000a, 0x1af1: 0x000a, 0x1af2: 0x000a, 0x1af3: 0x000a, 0x1af4: 0x000a, 0x1af5: 0x000a,\n\t0x1af6: 0x000a, 0x1af7: 0x000a, 0x1af8: 0x000a, 0x1af9: 0x000a, 0x1afa: 0x000a, 0x1afb: 0x000a,\n\t0x1afc: 0x000a, 0x1afd: 0x000a, 0x1afe: 0x000a, 0x1aff: 0x000a,\n\t// Block 0x6c, offset 0x1b00\n\t0x1b00: 0x000a, 0x1b01: 0x000a, 0x1b02: 0x000a, 0x1b03: 0x000a, 0x1b04: 0x000a,\n\t// Block 0x6d, offset 0x1b40\n\t0x1b40: 0x000a, 0x1b41: 0x000a, 0x1b42: 0x000a, 0x1b43: 0x000a, 0x1b44: 0x000a, 0x1b45: 0x000a,\n\t0x1b46: 0x000a, 0x1b47: 0x000a, 0x1b48: 0x000a, 0x1b49: 0x000a, 0x1b4a: 0x000a, 0x1b4b: 0x000a,\n\t0x1b4c: 0x000a, 0x1b4d: 0x000a, 0x1b4e: 0x000a, 0x1b4f: 0x000a, 0x1b50: 0x000a, 0x1b51: 0x000a,\n\t0x1b52: 0x000a, 0x1b53: 0x000a, 0x1b54: 0x000a, 0x1b55: 0x000a, 0x1b56: 0x000a, 0x1b57: 0x000a,\n\t0x1b58: 0x000a, 0x1b59: 0x000a, 0x1b5b: 0x000a, 0x1b5c: 0x000a, 0x1b5d: 0x000a,\n\t0x1b5e: 0x000a, 0x1b5f: 0x000a, 0x1b60: 0x000a, 0x1b61: 0x000a, 0x1b62: 0x000a, 0x1b63: 0x000a,\n\t0x1b64: 0x000a, 0x1b65: 0x000a, 0x1b66: 0x000a, 0x1b67: 0x000a, 0x1b68: 0x000a, 0x1b69: 0x000a,\n\t0x1b6a: 0x000a, 0x1b6b: 0x000a, 0x1b6c: 0x000a, 0x1b6d: 0x000a, 0x1b6e: 0x000a, 0x1b6f: 0x000a,\n\t0x1b70: 0x000a, 0x1b71: 0x000a, 0x1b72: 0x000a, 0x1b73: 0x000a, 0x1b74: 0x000a, 0x1b75: 0x000a,\n\t0x1b76: 0x000a, 0x1b77: 0x000a, 0x1b78: 0x000a, 0x1b79: 0x000a, 0x1b7a: 0x000a, 0x1b7b: 0x000a,\n\t0x1b7c: 0x000a, 0x1b7d: 0x000a, 0x1b7e: 0x000a, 0x1b7f: 0x000a,\n\t// Block 0x6e, offset 0x1b80\n\t0x1b80: 0x000a, 0x1b81: 0x000a, 0x1b82: 0x000a, 0x1b83: 0x000a, 0x1b84: 0x000a, 0x1b85: 0x000a,\n\t0x1b86: 0x000a, 0x1b87: 0x000a, 0x1b88: 0x000a, 0x1b89: 0x000a, 0x1b8a: 0x000a, 0x1b8b: 0x000a,\n\t0x1b8c: 0x000a, 0x1b8d: 0x000a, 0x1b8e: 0x000a, 0x1b8f: 0x000a, 0x1b90: 0x000a, 0x1b91: 0x000a,\n\t0x1b92: 0x000a, 0x1b93: 0x000a, 0x1b94: 0x000a, 0x1b95: 0x000a, 0x1b96: 0x000a, 0x1b97: 0x000a,\n\t0x1b98: 0x000a, 0x1b99: 0x000a, 0x1b9a: 0x000a, 0x1b9b: 0x000a, 0x1b9c: 0x000a, 0x1b9d: 0x000a,\n\t0x1b9e: 0x000a, 0x1b9f: 0x000a, 0x1ba0: 0x000a, 0x1ba1: 0x000a, 0x1ba2: 0x000a, 0x1ba3: 0x000a,\n\t0x1ba4: 0x000a, 0x1ba5: 0x000a, 0x1ba6: 0x000a, 0x1ba7: 0x000a, 0x1ba8: 0x000a, 0x1ba9: 0x000a,\n\t0x1baa: 0x000a, 0x1bab: 0x000a, 0x1bac: 0x000a, 0x1bad: 0x000a, 0x1bae: 0x000a, 0x1baf: 0x000a,\n\t0x1bb0: 0x000a, 0x1bb1: 0x000a, 0x1bb2: 0x000a, 0x1bb3: 0x000a,\n\t// Block 0x6f, offset 0x1bc0\n\t0x1bc0: 0x000a, 0x1bc1: 0x000a, 0x1bc2: 0x000a, 0x1bc3: 0x000a, 0x1bc4: 0x000a, 0x1bc5: 0x000a,\n\t0x1bc6: 0x000a, 0x1bc7: 0x000a, 0x1bc8: 0x000a, 0x1bc9: 0x000a, 0x1bca: 0x000a, 0x1bcb: 0x000a,\n\t0x1bcc: 0x000a, 0x1bcd: 0x000a, 0x1bce: 0x000a, 0x1bcf: 0x000a, 0x1bd0: 0x000a, 0x1bd1: 0x000a,\n\t0x1bd2: 0x000a, 0x1bd3: 0x000a, 0x1bd4: 0x000a, 0x1bd5: 0x000a,\n\t0x1bf0: 0x000a, 0x1bf1: 0x000a, 0x1bf2: 0x000a, 0x1bf3: 0x000a, 0x1bf4: 0x000a, 0x1bf5: 0x000a,\n\t0x1bf6: 0x000a, 0x1bf7: 0x000a, 0x1bf8: 0x000a, 0x1bf9: 0x000a, 0x1bfa: 0x000a, 0x1bfb: 0x000a,\n\t// Block 0x70, offset 0x1c00\n\t0x1c00: 0x0009, 0x1c01: 0x000a, 0x1c02: 0x000a, 0x1c03: 0x000a, 0x1c04: 0x000a,\n\t0x1c08: 0x003a, 0x1c09: 0x002a, 0x1c0a: 0x003a, 0x1c0b: 0x002a,\n\t0x1c0c: 0x003a, 0x1c0d: 0x002a, 0x1c0e: 0x003a, 0x1c0f: 0x002a, 0x1c10: 0x003a, 0x1c11: 0x002a,\n\t0x1c12: 0x000a, 0x1c13: 0x000a, 0x1c14: 0x003a, 0x1c15: 0x002a, 0x1c16: 0x003a, 0x1c17: 0x002a,\n\t0x1c18: 0x003a, 0x1c19: 0x002a, 0x1c1a: 0x003a, 0x1c1b: 0x002a, 0x1c1c: 0x000a, 0x1c1d: 0x000a,\n\t0x1c1e: 0x000a, 0x1c1f: 0x000a, 0x1c20: 0x000a,\n\t0x1c2a: 0x000c, 0x1c2b: 0x000c, 0x1c2c: 0x000c, 0x1c2d: 0x000c,\n\t0x1c30: 0x000a,\n\t0x1c36: 0x000a, 0x1c37: 0x000a,\n\t0x1c3d: 0x000a, 0x1c3e: 0x000a, 0x1c3f: 0x000a,\n\t// Block 0x71, offset 0x1c40\n\t0x1c59: 0x000c, 0x1c5a: 0x000c, 0x1c5b: 0x000a, 0x1c5c: 0x000a,\n\t0x1c60: 0x000a,\n\t// Block 0x72, offset 0x1c80\n\t0x1cbb: 0x000a,\n\t// Block 0x73, offset 0x1cc0\n\t0x1cc0: 0x000a, 0x1cc1: 0x000a, 0x1cc2: 0x000a, 0x1cc3: 0x000a, 0x1cc4: 0x000a, 0x1cc5: 0x000a,\n\t0x1cc6: 0x000a, 0x1cc7: 0x000a, 0x1cc8: 0x000a, 0x1cc9: 0x000a, 0x1cca: 0x000a, 0x1ccb: 0x000a,\n\t0x1ccc: 0x000a, 0x1ccd: 0x000a, 0x1cce: 0x000a, 0x1ccf: 0x000a, 0x1cd0: 0x000a, 0x1cd1: 0x000a,\n\t0x1cd2: 0x000a, 0x1cd3: 0x000a, 0x1cd4: 0x000a, 0x1cd5: 0x000a, 0x1cd6: 0x000a, 0x1cd7: 0x000a,\n\t0x1cd8: 0x000a, 0x1cd9: 0x000a, 0x1cda: 0x000a, 0x1cdb: 0x000a, 0x1cdc: 0x000a, 0x1cdd: 0x000a,\n\t0x1cde: 0x000a, 0x1cdf: 0x000a, 0x1ce0: 0x000a, 0x1ce1: 0x000a, 0x1ce2: 0x000a, 0x1ce3: 0x000a,\n\t// Block 0x74, offset 0x1d00\n\t0x1d1d: 0x000a,\n\t0x1d1e: 0x000a,\n\t// Block 0x75, offset 0x1d40\n\t0x1d50: 0x000a, 0x1d51: 0x000a,\n\t0x1d52: 0x000a, 0x1d53: 0x000a, 0x1d54: 0x000a, 0x1d55: 0x000a, 0x1d56: 0x000a, 0x1d57: 0x000a,\n\t0x1d58: 0x000a, 0x1d59: 0x000a, 0x1d5a: 0x000a, 0x1d5b: 0x000a, 0x1d5c: 0x000a, 0x1d5d: 0x000a,\n\t0x1d5e: 0x000a, 0x1d5f: 0x000a,\n\t0x1d7c: 0x000a, 0x1d7d: 0x000a, 0x1d7e: 0x000a,\n\t// Block 0x76, offset 0x1d80\n\t0x1db1: 0x000a, 0x1db2: 0x000a, 0x1db3: 0x000a, 0x1db4: 0x000a, 0x1db5: 0x000a,\n\t0x1db6: 0x000a, 0x1db7: 0x000a, 0x1db8: 0x000a, 0x1db9: 0x000a, 0x1dba: 0x000a, 0x1dbb: 0x000a,\n\t0x1dbc: 0x000a, 0x1dbd: 0x000a, 0x1dbe: 0x000a, 0x1dbf: 0x000a,\n\t// Block 0x77, offset 0x1dc0\n\t0x1dcc: 0x000a, 0x1dcd: 0x000a, 0x1dce: 0x000a, 0x1dcf: 0x000a,\n\t// Block 0x78, offset 0x1e00\n\t0x1e37: 0x000a, 0x1e38: 0x000a, 0x1e39: 0x000a, 0x1e3a: 0x000a,\n\t// Block 0x79, offset 0x1e40\n\t0x1e5e: 0x000a, 0x1e5f: 0x000a,\n\t0x1e7f: 0x000a,\n\t// Block 0x7a, offset 0x1e80\n\t0x1e90: 0x000a, 0x1e91: 0x000a,\n\t0x1e92: 0x000a, 0x1e93: 0x000a, 0x1e94: 0x000a, 0x1e95: 0x000a, 0x1e96: 0x000a, 0x1e97: 0x000a,\n\t0x1e98: 0x000a, 0x1e99: 0x000a, 0x1e9a: 0x000a, 0x1e9b: 0x000a, 0x1e9c: 0x000a, 0x1e9d: 0x000a,\n\t0x1e9e: 0x000a, 0x1e9f: 0x000a, 0x1ea0: 0x000a, 0x1ea1: 0x000a, 0x1ea2: 0x000a, 0x1ea3: 0x000a,\n\t0x1ea4: 0x000a, 0x1ea5: 0x000a, 0x1ea6: 0x000a, 0x1ea7: 0x000a, 0x1ea8: 0x000a, 0x1ea9: 0x000a,\n\t0x1eaa: 0x000a, 0x1eab: 0x000a, 0x1eac: 0x000a, 0x1ead: 0x000a, 0x1eae: 0x000a, 0x1eaf: 0x000a,\n\t0x1eb0: 0x000a, 0x1eb1: 0x000a, 0x1eb2: 0x000a, 0x1eb3: 0x000a, 0x1eb4: 0x000a, 0x1eb5: 0x000a,\n\t0x1eb6: 0x000a, 0x1eb7: 0x000a, 0x1eb8: 0x000a, 0x1eb9: 0x000a, 0x1eba: 0x000a, 0x1ebb: 0x000a,\n\t0x1ebc: 0x000a, 0x1ebd: 0x000a, 0x1ebe: 0x000a, 0x1ebf: 0x000a,\n\t// Block 0x7b, offset 0x1ec0\n\t0x1ec0: 0x000a, 0x1ec1: 0x000a, 0x1ec2: 0x000a, 0x1ec3: 0x000a, 0x1ec4: 0x000a, 0x1ec5: 0x000a,\n\t0x1ec6: 0x000a,\n\t// Block 0x7c, offset 0x1f00\n\t0x1f0d: 0x000a, 0x1f0e: 0x000a, 0x1f0f: 0x000a,\n\t// Block 0x7d, offset 0x1f40\n\t0x1f6f: 0x000c,\n\t0x1f70: 0x000c, 0x1f71: 0x000c, 0x1f72: 0x000c, 0x1f73: 0x000a, 0x1f74: 0x000c, 0x1f75: 0x000c,\n\t0x1f76: 0x000c, 0x1f77: 0x000c, 0x1f78: 0x000c, 0x1f79: 0x000c, 0x1f7a: 0x000c, 0x1f7b: 0x000c,\n\t0x1f7c: 0x000c, 0x1f7d: 0x000c, 0x1f7e: 0x000a, 0x1f7f: 0x000a,\n\t// Block 0x7e, offset 0x1f80\n\t0x1f9e: 0x000c, 0x1f9f: 0x000c,\n\t// Block 0x7f, offset 0x1fc0\n\t0x1ff0: 0x000c, 0x1ff1: 0x000c,\n\t// Block 0x80, offset 0x2000\n\t0x2000: 0x000a, 0x2001: 0x000a, 0x2002: 0x000a, 0x2003: 0x000a, 0x2004: 0x000a, 0x2005: 0x000a,\n\t0x2006: 0x000a, 0x2007: 0x000a, 0x2008: 0x000a, 0x2009: 0x000a, 0x200a: 0x000a, 0x200b: 0x000a,\n\t0x200c: 0x000a, 0x200d: 0x000a, 0x200e: 0x000a, 0x200f: 0x000a, 0x2010: 0x000a, 0x2011: 0x000a,\n\t0x2012: 0x000a, 0x2013: 0x000a, 0x2014: 0x000a, 0x2015: 0x000a, 0x2016: 0x000a, 0x2017: 0x000a,\n\t0x2018: 0x000a, 0x2019: 0x000a, 0x201a: 0x000a, 0x201b: 0x000a, 0x201c: 0x000a, 0x201d: 0x000a,\n\t0x201e: 0x000a, 0x201f: 0x000a, 0x2020: 0x000a, 0x2021: 0x000a,\n\t// Block 0x81, offset 0x2040\n\t0x2048: 0x000a,\n\t// Block 0x82, offset 0x2080\n\t0x2082: 0x000c,\n\t0x2086: 0x000c, 0x208b: 0x000c,\n\t0x20a5: 0x000c, 0x20a6: 0x000c, 0x20a8: 0x000a, 0x20a9: 0x000a,\n\t0x20aa: 0x000a, 0x20ab: 0x000a,\n\t0x20b8: 0x0004, 0x20b9: 0x0004,\n\t// Block 0x83, offset 0x20c0\n\t0x20f4: 0x000a, 0x20f5: 0x000a,\n\t0x20f6: 0x000a, 0x20f7: 0x000a,\n\t// Block 0x84, offset 0x2100\n\t0x2104: 0x000c, 0x2105: 0x000c,\n\t0x2120: 0x000c, 0x2121: 0x000c, 0x2122: 0x000c, 0x2123: 0x000c,\n\t0x2124: 0x000c, 0x2125: 0x000c, 0x2126: 0x000c, 0x2127: 0x000c, 0x2128: 0x000c, 0x2129: 0x000c,\n\t0x212a: 0x000c, 0x212b: 0x000c, 0x212c: 0x000c, 0x212d: 0x000c, 0x212e: 0x000c, 0x212f: 0x000c,\n\t0x2130: 0x000c, 0x2131: 0x000c,\n\t// Block 0x85, offset 0x2140\n\t0x2166: 0x000c, 0x2167: 0x000c, 0x2168: 0x000c, 0x2169: 0x000c,\n\t0x216a: 0x000c, 0x216b: 0x000c, 0x216c: 0x000c, 0x216d: 0x000c,\n\t// Block 0x86, offset 0x2180\n\t0x2187: 0x000c, 0x2188: 0x000c, 0x2189: 0x000c, 0x218a: 0x000c, 0x218b: 0x000c,\n\t0x218c: 0x000c, 0x218d: 0x000c, 0x218e: 0x000c, 0x218f: 0x000c, 0x2190: 0x000c, 0x2191: 0x000c,\n\t// Block 0x87, offset 0x21c0\n\t0x21c0: 0x000c, 0x21c1: 0x000c, 0x21c2: 0x000c,\n\t0x21f3: 0x000c,\n\t0x21f6: 0x000c, 0x21f7: 0x000c, 0x21f8: 0x000c, 0x21f9: 0x000c,\n\t0x21fc: 0x000c,\n\t// Block 0x88, offset 0x2200\n\t0x2225: 0x000c,\n\t// Block 0x89, offset 0x2240\n\t0x2269: 0x000c,\n\t0x226a: 0x000c, 0x226b: 0x000c, 0x226c: 0x000c, 0x226d: 0x000c, 0x226e: 0x000c,\n\t0x2271: 0x000c, 0x2272: 0x000c, 0x2275: 0x000c,\n\t0x2276: 0x000c,\n\t// Block 0x8a, offset 0x2280\n\t0x2283: 0x000c,\n\t0x228c: 0x000c,\n\t0x22bc: 0x000c,\n\t// Block 0x8b, offset 0x22c0\n\t0x22f0: 0x000c, 0x22f2: 0x000c, 0x22f3: 0x000c, 0x22f4: 0x000c,\n\t0x22f7: 0x000c, 0x22f8: 0x000c,\n\t0x22fe: 0x000c, 0x22ff: 0x000c,\n\t// Block 0x8c, offset 0x2300\n\t0x2301: 0x000c,\n\t0x232c: 0x000c, 0x232d: 0x000c,\n\t0x2336: 0x000c,\n\t// Block 0x8d, offset 0x2340\n\t0x2365: 0x000c, 0x2368: 0x000c,\n\t0x236d: 0x000c,\n\t// Block 0x8e, offset 0x2380\n\t0x239d: 0x0001,\n\t0x239e: 0x000c, 0x239f: 0x0001, 0x23a0: 0x0001, 0x23a1: 0x0001, 0x23a2: 0x0001, 0x23a3: 0x0001,\n\t0x23a4: 0x0001, 0x23a5: 0x0001, 0x23a6: 0x0001, 0x23a7: 0x0001, 0x23a8: 0x0001, 0x23a9: 0x0003,\n\t0x23aa: 0x0001, 0x23ab: 0x0001, 0x23ac: 0x0001, 0x23ad: 0x0001, 0x23ae: 0x0001, 0x23af: 0x0001,\n\t0x23b0: 0x0001, 0x23b1: 0x0001, 0x23b2: 0x0001, 0x23b3: 0x0001, 0x23b4: 0x0001, 0x23b5: 0x0001,\n\t0x23b6: 0x0001, 0x23b7: 0x0001, 0x23b8: 0x0001, 0x23b9: 0x0001, 0x23ba: 0x0001, 0x23bb: 0x0001,\n\t0x23bc: 0x0001, 0x23bd: 0x0001, 0x23be: 0x0001, 0x23bf: 0x0001,\n\t// Block 0x8f, offset 0x23c0\n\t0x23c0: 0x0001, 0x23c1: 0x0001, 0x23c2: 0x0001, 0x23c3: 0x0001, 0x23c4: 0x0001, 0x23c5: 0x0001,\n\t0x23c6: 0x0001, 0x23c7: 0x0001, 0x23c8: 0x0001, 0x23c9: 0x0001, 0x23ca: 0x0001, 0x23cb: 0x0001,\n\t0x23cc: 0x0001, 0x23cd: 0x0001, 0x23ce: 0x0001, 0x23cf: 0x0001, 0x23d0: 0x000d, 0x23d1: 0x000d,\n\t0x23d2: 0x000d, 0x23d3: 0x000d, 0x23d4: 0x000d, 0x23d5: 0x000d, 0x23d6: 0x000d, 0x23d7: 0x000d,\n\t0x23d8: 0x000d, 0x23d9: 0x000d, 0x23da: 0x000d, 0x23db: 0x000d, 0x23dc: 0x000d, 0x23dd: 0x000d,\n\t0x23de: 0x000d, 0x23df: 0x000d, 0x23e0: 0x000d, 0x23e1: 0x000d, 0x23e2: 0x000d, 0x23e3: 0x000d,\n\t0x23e4: 0x000d, 0x23e5: 0x000d, 0x23e6: 0x000d, 0x23e7: 0x000d, 0x23e8: 0x000d, 0x23e9: 0x000d,\n\t0x23ea: 0x000d, 0x23eb: 0x000d, 0x23ec: 0x000d, 0x23ed: 0x000d, 0x23ee: 0x000d, 0x23ef: 0x000d,\n\t0x23f0: 0x000d, 0x23f1: 0x000d, 0x23f2: 0x000d, 0x23f3: 0x000d, 0x23f4: 0x000d, 0x23f5: 0x000d,\n\t0x23f6: 0x000d, 0x23f7: 0x000d, 0x23f8: 0x000d, 0x23f9: 0x000d, 0x23fa: 0x000d, 0x23fb: 0x000d,\n\t0x23fc: 0x000d, 0x23fd: 0x000d, 0x23fe: 0x000d, 0x23ff: 0x000d,\n\t// Block 0x90, offset 0x2400\n\t0x2400: 0x000d, 0x2401: 0x000d, 0x2402: 0x000d, 0x2403: 0x000d, 0x2404: 0x000d, 0x2405: 0x000d,\n\t0x2406: 0x000d, 0x2407: 0x000d, 0x2408: 0x000d, 0x2409: 0x000d, 0x240a: 0x000d, 0x240b: 0x000d,\n\t0x240c: 0x000d, 0x240d: 0x000d, 0x240e: 0x000d, 0x240f: 0x000d, 0x2410: 0x000d, 0x2411: 0x000d,\n\t0x2412: 0x000d, 0x2413: 0x000d, 0x2414: 0x000d, 0x2415: 0x000d, 0x2416: 0x000d, 0x2417: 0x000d,\n\t0x2418: 0x000d, 0x2419: 0x000d, 0x241a: 0x000d, 0x241b: 0x000d, 0x241c: 0x000d, 0x241d: 0x000d,\n\t0x241e: 0x000d, 0x241f: 0x000d, 0x2420: 0x000d, 0x2421: 0x000d, 0x2422: 0x000d, 0x2423: 0x000d,\n\t0x2424: 0x000d, 0x2425: 0x000d, 0x2426: 0x000d, 0x2427: 0x000d, 0x2428: 0x000d, 0x2429: 0x000d,\n\t0x242a: 0x000d, 0x242b: 0x000d, 0x242c: 0x000d, 0x242d: 0x000d, 0x242e: 0x000d, 0x242f: 0x000d,\n\t0x2430: 0x000d, 0x2431: 0x000d, 0x2432: 0x000d, 0x2433: 0x000d, 0x2434: 0x000d, 0x2435: 0x000d,\n\t0x2436: 0x000d, 0x2437: 0x000d, 0x2438: 0x000d, 0x2439: 0x000d, 0x243a: 0x000d, 0x243b: 0x000d,\n\t0x243c: 0x000d, 0x243d: 0x000d, 0x243e: 0x000a, 0x243f: 0x000a,\n\t// Block 0x91, offset 0x2440\n\t0x2440: 0x000d, 0x2441: 0x000d, 0x2442: 0x000d, 0x2443: 0x000d, 0x2444: 0x000d, 0x2445: 0x000d,\n\t0x2446: 0x000d, 0x2447: 0x000d, 0x2448: 0x000d, 0x2449: 0x000d, 0x244a: 0x000d, 0x244b: 0x000d,\n\t0x244c: 0x000d, 0x244d: 0x000d, 0x244e: 0x000d, 0x244f: 0x000d, 0x2450: 0x000b, 0x2451: 0x000b,\n\t0x2452: 0x000b, 0x2453: 0x000b, 0x2454: 0x000b, 0x2455: 0x000b, 0x2456: 0x000b, 0x2457: 0x000b,\n\t0x2458: 0x000b, 0x2459: 0x000b, 0x245a: 0x000b, 0x245b: 0x000b, 0x245c: 0x000b, 0x245d: 0x000b,\n\t0x245e: 0x000b, 0x245f: 0x000b, 0x2460: 0x000b, 0x2461: 0x000b, 0x2462: 0x000b, 0x2463: 0x000b,\n\t0x2464: 0x000b, 0x2465: 0x000b, 0x2466: 0x000b, 0x2467: 0x000b, 0x2468: 0x000b, 0x2469: 0x000b,\n\t0x246a: 0x000b, 0x246b: 0x000b, 0x246c: 0x000b, 0x246d: 0x000b, 0x246e: 0x000b, 0x246f: 0x000b,\n\t0x2470: 0x000d, 0x2471: 0x000d, 0x2472: 0x000d, 0x2473: 0x000d, 0x2474: 0x000d, 0x2475: 0x000d,\n\t0x2476: 0x000d, 0x2477: 0x000d, 0x2478: 0x000d, 0x2479: 0x000d, 0x247a: 0x000d, 0x247b: 0x000d,\n\t0x247c: 0x000d, 0x247d: 0x000a, 0x247e: 0x000d, 0x247f: 0x000d,\n\t// Block 0x92, offset 0x2480\n\t0x2480: 0x000c, 0x2481: 0x000c, 0x2482: 0x000c, 0x2483: 0x000c, 0x2484: 0x000c, 0x2485: 0x000c,\n\t0x2486: 0x000c, 0x2487: 0x000c, 0x2488: 0x000c, 0x2489: 0x000c, 0x248a: 0x000c, 0x248b: 0x000c,\n\t0x248c: 0x000c, 0x248d: 0x000c, 0x248e: 0x000c, 0x248f: 0x000c, 0x2490: 0x000a, 0x2491: 0x000a,\n\t0x2492: 0x000a, 0x2493: 0x000a, 0x2494: 0x000a, 0x2495: 0x000a, 0x2496: 0x000a, 0x2497: 0x000a,\n\t0x2498: 0x000a, 0x2499: 0x000a,\n\t0x24a0: 0x000c, 0x24a1: 0x000c, 0x24a2: 0x000c, 0x24a3: 0x000c,\n\t0x24a4: 0x000c, 0x24a5: 0x000c, 0x24a6: 0x000c, 0x24a7: 0x000c, 0x24a8: 0x000c, 0x24a9: 0x000c,\n\t0x24aa: 0x000c, 0x24ab: 0x000c, 0x24ac: 0x000c, 0x24ad: 0x000c, 0x24ae: 0x000c, 0x24af: 0x000c,\n\t0x24b0: 0x000a, 0x24b1: 0x000a, 0x24b2: 0x000a, 0x24b3: 0x000a, 0x24b4: 0x000a, 0x24b5: 0x000a,\n\t0x24b6: 0x000a, 0x24b7: 0x000a, 0x24b8: 0x000a, 0x24b9: 0x000a, 0x24ba: 0x000a, 0x24bb: 0x000a,\n\t0x24bc: 0x000a, 0x24bd: 0x000a, 0x24be: 0x000a, 0x24bf: 0x000a,\n\t// Block 0x93, offset 0x24c0\n\t0x24c0: 0x000a, 0x24c1: 0x000a, 0x24c2: 0x000a, 0x24c3: 0x000a, 0x24c4: 0x000a, 0x24c5: 0x000a,\n\t0x24c6: 0x000a, 0x24c7: 0x000a, 0x24c8: 0x000a, 0x24c9: 0x000a, 0x24ca: 0x000a, 0x24cb: 0x000a,\n\t0x24cc: 0x000a, 0x24cd: 0x000a, 0x24ce: 0x000a, 0x24cf: 0x000a, 0x24d0: 0x0006, 0x24d1: 0x000a,\n\t0x24d2: 0x0006, 0x24d4: 0x000a, 0x24d5: 0x0006, 0x24d6: 0x000a, 0x24d7: 0x000a,\n\t0x24d8: 0x000a, 0x24d9: 0x009a, 0x24da: 0x008a, 0x24db: 0x007a, 0x24dc: 0x006a, 0x24dd: 0x009a,\n\t0x24de: 0x008a, 0x24df: 0x0004, 0x24e0: 0x000a, 0x24e1: 0x000a, 0x24e2: 0x0003, 0x24e3: 0x0003,\n\t0x24e4: 0x000a, 0x24e5: 0x000a, 0x24e6: 0x000a, 0x24e8: 0x000a, 0x24e9: 0x0004,\n\t0x24ea: 0x0004, 0x24eb: 0x000a,\n\t0x24f0: 0x000d, 0x24f1: 0x000d, 0x24f2: 0x000d, 0x24f3: 0x000d, 0x24f4: 0x000d, 0x24f5: 0x000d,\n\t0x24f6: 0x000d, 0x24f7: 0x000d, 0x24f8: 0x000d, 0x24f9: 0x000d, 0x24fa: 0x000d, 0x24fb: 0x000d,\n\t0x24fc: 0x000d, 0x24fd: 0x000d, 0x24fe: 0x000d, 0x24ff: 0x000d,\n\t// Block 0x94, offset 0x2500\n\t0x2500: 0x000d, 0x2501: 0x000d, 0x2502: 0x000d, 0x2503: 0x000d, 0x2504: 0x000d, 0x2505: 0x000d,\n\t0x2506: 0x000d, 0x2507: 0x000d, 0x2508: 0x000d, 0x2509: 0x000d, 0x250a: 0x000d, 0x250b: 0x000d,\n\t0x250c: 0x000d, 0x250d: 0x000d, 0x250e: 0x000d, 0x250f: 0x000d, 0x2510: 0x000d, 0x2511: 0x000d,\n\t0x2512: 0x000d, 0x2513: 0x000d, 0x2514: 0x000d, 0x2515: 0x000d, 0x2516: 0x000d, 0x2517: 0x000d,\n\t0x2518: 0x000d, 0x2519: 0x000d, 0x251a: 0x000d, 0x251b: 0x000d, 0x251c: 0x000d, 0x251d: 0x000d,\n\t0x251e: 0x000d, 0x251f: 0x000d, 0x2520: 0x000d, 0x2521: 0x000d, 0x2522: 0x000d, 0x2523: 0x000d,\n\t0x2524: 0x000d, 0x2525: 0x000d, 0x2526: 0x000d, 0x2527: 0x000d, 0x2528: 0x000d, 0x2529: 0x000d,\n\t0x252a: 0x000d, 0x252b: 0x000d, 0x252c: 0x000d, 0x252d: 0x000d, 0x252e: 0x000d, 0x252f: 0x000d,\n\t0x2530: 0x000d, 0x2531: 0x000d, 0x2532: 0x000d, 0x2533: 0x000d, 0x2534: 0x000d, 0x2535: 0x000d,\n\t0x2536: 0x000d, 0x2537: 0x000d, 0x2538: 0x000d, 0x2539: 0x000d, 0x253a: 0x000d, 0x253b: 0x000d,\n\t0x253c: 0x000d, 0x253d: 0x000d, 0x253e: 0x000d, 0x253f: 0x000b,\n\t// Block 0x95, offset 0x2540\n\t0x2541: 0x000a, 0x2542: 0x000a, 0x2543: 0x0004, 0x2544: 0x0004, 0x2545: 0x0004,\n\t0x2546: 0x000a, 0x2547: 0x000a, 0x2548: 0x003a, 0x2549: 0x002a, 0x254a: 0x000a, 0x254b: 0x0003,\n\t0x254c: 0x0006, 0x254d: 0x0003, 0x254e: 0x0006, 0x254f: 0x0006, 0x2550: 0x0002, 0x2551: 0x0002,\n\t0x2552: 0x0002, 0x2553: 0x0002, 0x2554: 0x0002, 0x2555: 0x0002, 0x2556: 0x0002, 0x2557: 0x0002,\n\t0x2558: 0x0002, 0x2559: 0x0002, 0x255a: 0x0006, 0x255b: 0x000a, 0x255c: 0x000a, 0x255d: 0x000a,\n\t0x255e: 0x000a, 0x255f: 0x000a, 0x2560: 0x000a,\n\t0x257b: 0x005a,\n\t0x257c: 0x000a, 0x257d: 0x004a, 0x257e: 0x000a, 0x257f: 0x000a,\n\t// Block 0x96, offset 0x2580\n\t0x2580: 0x000a,\n\t0x259b: 0x005a, 0x259c: 0x000a, 0x259d: 0x004a,\n\t0x259e: 0x000a, 0x259f: 0x00fa, 0x25a0: 0x00ea, 0x25a1: 0x000a, 0x25a2: 0x003a, 0x25a3: 0x002a,\n\t0x25a4: 0x000a, 0x25a5: 0x000a,\n\t// Block 0x97, offset 0x25c0\n\t0x25e0: 0x0004, 0x25e1: 0x0004, 0x25e2: 0x000a, 0x25e3: 0x000a,\n\t0x25e4: 0x000a, 0x25e5: 0x0004, 0x25e6: 0x0004, 0x25e8: 0x000a, 0x25e9: 0x000a,\n\t0x25ea: 0x000a, 0x25eb: 0x000a, 0x25ec: 0x000a, 0x25ed: 0x000a, 0x25ee: 0x000a,\n\t0x25f0: 0x000b, 0x25f1: 0x000b, 0x25f2: 0x000b, 0x25f3: 0x000b, 0x25f4: 0x000b, 0x25f5: 0x000b,\n\t0x25f6: 0x000b, 0x25f7: 0x000b, 0x25f8: 0x000b, 0x25f9: 0x000a, 0x25fa: 0x000a, 0x25fb: 0x000a,\n\t0x25fc: 0x000a, 0x25fd: 0x000a, 0x25fe: 0x000b, 0x25ff: 0x000b,\n\t// Block 0x98, offset 0x2600\n\t0x2601: 0x000a,\n\t// Block 0x99, offset 0x2640\n\t0x2640: 0x000a, 0x2641: 0x000a, 0x2642: 0x000a, 0x2643: 0x000a, 0x2644: 0x000a, 0x2645: 0x000a,\n\t0x2646: 0x000a, 0x2647: 0x000a, 0x2648: 0x000a, 0x2649: 0x000a, 0x264a: 0x000a, 0x264b: 0x000a,\n\t0x264c: 0x000a, 0x2650: 0x000a, 0x2651: 0x000a,\n\t0x2652: 0x000a, 0x2653: 0x000a, 0x2654: 0x000a, 0x2655: 0x000a, 0x2656: 0x000a, 0x2657: 0x000a,\n\t0x2658: 0x000a, 0x2659: 0x000a, 0x265a: 0x000a, 0x265b: 0x000a,\n\t0x2660: 0x000a,\n\t// Block 0x9a, offset 0x2680\n\t0x26bd: 0x000c,\n\t// Block 0x9b, offset 0x26c0\n\t0x26e0: 0x000c, 0x26e1: 0x0002, 0x26e2: 0x0002, 0x26e3: 0x0002,\n\t0x26e4: 0x0002, 0x26e5: 0x0002, 0x26e6: 0x0002, 0x26e7: 0x0002, 0x26e8: 0x0002, 0x26e9: 0x0002,\n\t0x26ea: 0x0002, 0x26eb: 0x0002, 0x26ec: 0x0002, 0x26ed: 0x0002, 0x26ee: 0x0002, 0x26ef: 0x0002,\n\t0x26f0: 0x0002, 0x26f1: 0x0002, 0x26f2: 0x0002, 0x26f3: 0x0002, 0x26f4: 0x0002, 0x26f5: 0x0002,\n\t0x26f6: 0x0002, 0x26f7: 0x0002, 0x26f8: 0x0002, 0x26f9: 0x0002, 0x26fa: 0x0002, 0x26fb: 0x0002,\n\t// Block 0x9c, offset 0x2700\n\t0x2736: 0x000c, 0x2737: 0x000c, 0x2738: 0x000c, 0x2739: 0x000c, 0x273a: 0x000c,\n\t// Block 0x9d, offset 0x2740\n\t0x2740: 0x0001, 0x2741: 0x0001, 0x2742: 0x0001, 0x2743: 0x0001, 0x2744: 0x0001, 0x2745: 0x0001,\n\t0x2746: 0x0001, 0x2747: 0x0001, 0x2748: 0x0001, 0x2749: 0x0001, 0x274a: 0x0001, 0x274b: 0x0001,\n\t0x274c: 0x0001, 0x274d: 0x0001, 0x274e: 0x0001, 0x274f: 0x0001, 0x2750: 0x0001, 0x2751: 0x0001,\n\t0x2752: 0x0001, 0x2753: 0x0001, 0x2754: 0x0001, 0x2755: 0x0001, 0x2756: 0x0001, 0x2757: 0x0001,\n\t0x2758: 0x0001, 0x2759: 0x0001, 0x275a: 0x0001, 0x275b: 0x0001, 0x275c: 0x0001, 0x275d: 0x0001,\n\t0x275e: 0x0001, 0x275f: 0x0001, 0x2760: 0x0001, 0x2761: 0x0001, 0x2762: 0x0001, 0x2763: 0x0001,\n\t0x2764: 0x0001, 0x2765: 0x0001, 0x2766: 0x0001, 0x2767: 0x0001, 0x2768: 0x0001, 0x2769: 0x0001,\n\t0x276a: 0x0001, 0x276b: 0x0001, 0x276c: 0x0001, 0x276d: 0x0001, 0x276e: 0x0001, 0x276f: 0x0001,\n\t0x2770: 0x0001, 0x2771: 0x0001, 0x2772: 0x0001, 0x2773: 0x0001, 0x2774: 0x0001, 0x2775: 0x0001,\n\t0x2776: 0x0001, 0x2777: 0x0001, 0x2778: 0x0001, 0x2779: 0x0001, 0x277a: 0x0001, 0x277b: 0x0001,\n\t0x277c: 0x0001, 0x277d: 0x0001, 0x277e: 0x0001, 0x277f: 0x0001,\n\t// Block 0x9e, offset 0x2780\n\t0x2780: 0x0001, 0x2781: 0x0001, 0x2782: 0x0001, 0x2783: 0x0001, 0x2784: 0x0001, 0x2785: 0x0001,\n\t0x2786: 0x0001, 0x2787: 0x0001, 0x2788: 0x0001, 0x2789: 0x0001, 0x278a: 0x0001, 0x278b: 0x0001,\n\t0x278c: 0x0001, 0x278d: 0x0001, 0x278e: 0x0001, 0x278f: 0x0001, 0x2790: 0x0001, 0x2791: 0x0001,\n\t0x2792: 0x0001, 0x2793: 0x0001, 0x2794: 0x0001, 0x2795: 0x0001, 0x2796: 0x0001, 0x2797: 0x0001,\n\t0x2798: 0x0001, 0x2799: 0x0001, 0x279a: 0x0001, 0x279b: 0x0001, 0x279c: 0x0001, 0x279d: 0x0001,\n\t0x279e: 0x0001, 0x279f: 0x000a, 0x27a0: 0x0001, 0x27a1: 0x0001, 0x27a2: 0x0001, 0x27a3: 0x0001,\n\t0x27a4: 0x0001, 0x27a5: 0x0001, 0x27a6: 0x0001, 0x27a7: 0x0001, 0x27a8: 0x0001, 0x27a9: 0x0001,\n\t0x27aa: 0x0001, 0x27ab: 0x0001, 0x27ac: 0x0001, 0x27ad: 0x0001, 0x27ae: 0x0001, 0x27af: 0x0001,\n\t0x27b0: 0x0001, 0x27b1: 0x0001, 0x27b2: 0x0001, 0x27b3: 0x0001, 0x27b4: 0x0001, 0x27b5: 0x0001,\n\t0x27b6: 0x0001, 0x27b7: 0x0001, 0x27b8: 0x0001, 0x27b9: 0x0001, 0x27ba: 0x0001, 0x27bb: 0x0001,\n\t0x27bc: 0x0001, 0x27bd: 0x0001, 0x27be: 0x0001, 0x27bf: 0x0001,\n\t// Block 0x9f, offset 0x27c0\n\t0x27c0: 0x0001, 0x27c1: 0x000c, 0x27c2: 0x000c, 0x27c3: 0x000c, 0x27c4: 0x0001, 0x27c5: 0x000c,\n\t0x27c6: 0x000c, 0x27c7: 0x0001, 0x27c8: 0x0001, 0x27c9: 0x0001, 0x27ca: 0x0001, 0x27cb: 0x0001,\n\t0x27cc: 0x000c, 0x27cd: 0x000c, 0x27ce: 0x000c, 0x27cf: 0x000c, 0x27d0: 0x0001, 0x27d1: 0x0001,\n\t0x27d2: 0x0001, 0x27d3: 0x0001, 0x27d4: 0x0001, 0x27d5: 0x0001, 0x27d6: 0x0001, 0x27d7: 0x0001,\n\t0x27d8: 0x0001, 0x27d9: 0x0001, 0x27da: 0x0001, 0x27db: 0x0001, 0x27dc: 0x0001, 0x27dd: 0x0001,\n\t0x27de: 0x0001, 0x27df: 0x0001, 0x27e0: 0x0001, 0x27e1: 0x0001, 0x27e2: 0x0001, 0x27e3: 0x0001,\n\t0x27e4: 0x0001, 0x27e5: 0x0001, 0x27e6: 0x0001, 0x27e7: 0x0001, 0x27e8: 0x0001, 0x27e9: 0x0001,\n\t0x27ea: 0x0001, 0x27eb: 0x0001, 0x27ec: 0x0001, 0x27ed: 0x0001, 0x27ee: 0x0001, 0x27ef: 0x0001,\n\t0x27f0: 0x0001, 0x27f1: 0x0001, 0x27f2: 0x0001, 0x27f3: 0x0001, 0x27f4: 0x0001, 0x27f5: 0x0001,\n\t0x27f6: 0x0001, 0x27f7: 0x0001, 0x27f8: 0x000c, 0x27f9: 0x000c, 0x27fa: 0x000c, 0x27fb: 0x0001,\n\t0x27fc: 0x0001, 0x27fd: 0x0001, 0x27fe: 0x0001, 0x27ff: 0x000c,\n\t// Block 0xa0, offset 0x2800\n\t0x2800: 0x0001, 0x2801: 0x0001, 0x2802: 0x0001, 0x2803: 0x0001, 0x2804: 0x0001, 0x2805: 0x0001,\n\t0x2806: 0x0001, 0x2807: 0x0001, 0x2808: 0x0001, 0x2809: 0x0001, 0x280a: 0x0001, 0x280b: 0x0001,\n\t0x280c: 0x0001, 0x280d: 0x0001, 0x280e: 0x0001, 0x280f: 0x0001, 0x2810: 0x0001, 0x2811: 0x0001,\n\t0x2812: 0x0001, 0x2813: 0x0001, 0x2814: 0x0001, 0x2815: 0x0001, 0x2816: 0x0001, 0x2817: 0x0001,\n\t0x2818: 0x0001, 0x2819: 0x0001, 0x281a: 0x0001, 0x281b: 0x0001, 0x281c: 0x0001, 0x281d: 0x0001,\n\t0x281e: 0x0001, 0x281f: 0x0001, 0x2820: 0x0001, 0x2821: 0x0001, 0x2822: 0x0001, 0x2823: 0x0001,\n\t0x2824: 0x0001, 0x2825: 0x000c, 0x2826: 0x000c, 0x2827: 0x0001, 0x2828: 0x0001, 0x2829: 0x0001,\n\t0x282a: 0x0001, 0x282b: 0x0001, 0x282c: 0x0001, 0x282d: 0x0001, 0x282e: 0x0001, 0x282f: 0x0001,\n\t0x2830: 0x0001, 0x2831: 0x0001, 0x2832: 0x0001, 0x2833: 0x0001, 0x2834: 0x0001, 0x2835: 0x0001,\n\t0x2836: 0x0001, 0x2837: 0x0001, 0x2838: 0x0001, 0x2839: 0x0001, 0x283a: 0x0001, 0x283b: 0x0001,\n\t0x283c: 0x0001, 0x283d: 0x0001, 0x283e: 0x0001, 0x283f: 0x0001,\n\t// Block 0xa1, offset 0x2840\n\t0x2840: 0x0001, 0x2841: 0x0001, 0x2842: 0x0001, 0x2843: 0x0001, 0x2844: 0x0001, 0x2845: 0x0001,\n\t0x2846: 0x0001, 0x2847: 0x0001, 0x2848: 0x0001, 0x2849: 0x0001, 0x284a: 0x0001, 0x284b: 0x0001,\n\t0x284c: 0x0001, 0x284d: 0x0001, 0x284e: 0x0001, 0x284f: 0x0001, 0x2850: 0x0001, 0x2851: 0x0001,\n\t0x2852: 0x0001, 0x2853: 0x0001, 0x2854: 0x0001, 0x2855: 0x0001, 0x2856: 0x0001, 0x2857: 0x0001,\n\t0x2858: 0x0001, 0x2859: 0x0001, 0x285a: 0x0001, 0x285b: 0x0001, 0x285c: 0x0001, 0x285d: 0x0001,\n\t0x285e: 0x0001, 0x285f: 0x0001, 0x2860: 0x0001, 0x2861: 0x0001, 0x2862: 0x0001, 0x2863: 0x0001,\n\t0x2864: 0x0001, 0x2865: 0x0001, 0x2866: 0x0001, 0x2867: 0x0001, 0x2868: 0x0001, 0x2869: 0x0001,\n\t0x286a: 0x0001, 0x286b: 0x0001, 0x286c: 0x0001, 0x286d: 0x0001, 0x286e: 0x0001, 0x286f: 0x0001,\n\t0x2870: 0x0001, 0x2871: 0x0001, 0x2872: 0x0001, 0x2873: 0x0001, 0x2874: 0x0001, 0x2875: 0x0001,\n\t0x2876: 0x0001, 0x2877: 0x0001, 0x2878: 0x0001, 0x2879: 0x000a, 0x287a: 0x000a, 0x287b: 0x000a,\n\t0x287c: 0x000a, 0x287d: 0x000a, 0x287e: 0x000a, 0x287f: 0x000a,\n\t// Block 0xa2, offset 0x2880\n\t0x2880: 0x0001, 0x2881: 0x0001, 0x2882: 0x0001, 0x2883: 0x0001, 0x2884: 0x0001, 0x2885: 0x0001,\n\t0x2886: 0x0001, 0x2887: 0x0001, 0x2888: 0x0001, 0x2889: 0x0001, 0x288a: 0x0001, 0x288b: 0x0001,\n\t0x288c: 0x0001, 0x288d: 0x0001, 0x288e: 0x0001, 0x288f: 0x0001, 0x2890: 0x0001, 0x2891: 0x0001,\n\t0x2892: 0x0001, 0x2893: 0x0001, 0x2894: 0x0001, 0x2895: 0x0001, 0x2896: 0x0001, 0x2897: 0x0001,\n\t0x2898: 0x0001, 0x2899: 0x0001, 0x289a: 0x0001, 0x289b: 0x0001, 0x289c: 0x0001, 0x289d: 0x0001,\n\t0x289e: 0x0001, 0x289f: 0x0001, 0x28a0: 0x0005, 0x28a1: 0x0005, 0x28a2: 0x0005, 0x28a3: 0x0005,\n\t0x28a4: 0x0005, 0x28a5: 0x0005, 0x28a6: 0x0005, 0x28a7: 0x0005, 0x28a8: 0x0005, 0x28a9: 0x0005,\n\t0x28aa: 0x0005, 0x28ab: 0x0005, 0x28ac: 0x0005, 0x28ad: 0x0005, 0x28ae: 0x0005, 0x28af: 0x0005,\n\t0x28b0: 0x0005, 0x28b1: 0x0005, 0x28b2: 0x0005, 0x28b3: 0x0005, 0x28b4: 0x0005, 0x28b5: 0x0005,\n\t0x28b6: 0x0005, 0x28b7: 0x0005, 0x28b8: 0x0005, 0x28b9: 0x0005, 0x28ba: 0x0005, 0x28bb: 0x0005,\n\t0x28bc: 0x0005, 0x28bd: 0x0005, 0x28be: 0x0005, 0x28bf: 0x0001,\n\t// Block 0xa3, offset 0x28c0\n\t0x28c1: 0x000c,\n\t0x28f8: 0x000c, 0x28f9: 0x000c, 0x28fa: 0x000c, 0x28fb: 0x000c,\n\t0x28fc: 0x000c, 0x28fd: 0x000c, 0x28fe: 0x000c, 0x28ff: 0x000c,\n\t// Block 0xa4, offset 0x2900\n\t0x2900: 0x000c, 0x2901: 0x000c, 0x2902: 0x000c, 0x2903: 0x000c, 0x2904: 0x000c, 0x2905: 0x000c,\n\t0x2906: 0x000c,\n\t0x2912: 0x000a, 0x2913: 0x000a, 0x2914: 0x000a, 0x2915: 0x000a, 0x2916: 0x000a, 0x2917: 0x000a,\n\t0x2918: 0x000a, 0x2919: 0x000a, 0x291a: 0x000a, 0x291b: 0x000a, 0x291c: 0x000a, 0x291d: 0x000a,\n\t0x291e: 0x000a, 0x291f: 0x000a, 0x2920: 0x000a, 0x2921: 0x000a, 0x2922: 0x000a, 0x2923: 0x000a,\n\t0x2924: 0x000a, 0x2925: 0x000a,\n\t0x293f: 0x000c,\n\t// Block 0xa5, offset 0x2940\n\t0x2940: 0x000c, 0x2941: 0x000c,\n\t0x2973: 0x000c, 0x2974: 0x000c, 0x2975: 0x000c,\n\t0x2976: 0x000c, 0x2979: 0x000c, 0x297a: 0x000c,\n\t// Block 0xa6, offset 0x2980\n\t0x2980: 0x000c, 0x2981: 0x000c, 0x2982: 0x000c,\n\t0x29a7: 0x000c, 0x29a8: 0x000c, 0x29a9: 0x000c,\n\t0x29aa: 0x000c, 0x29ab: 0x000c, 0x29ad: 0x000c, 0x29ae: 0x000c, 0x29af: 0x000c,\n\t0x29b0: 0x000c, 0x29b1: 0x000c, 0x29b2: 0x000c, 0x29b3: 0x000c, 0x29b4: 0x000c,\n\t// Block 0xa7, offset 0x29c0\n\t0x29f3: 0x000c,\n\t// Block 0xa8, offset 0x2a00\n\t0x2a00: 0x000c, 0x2a01: 0x000c,\n\t0x2a36: 0x000c, 0x2a37: 0x000c, 0x2a38: 0x000c, 0x2a39: 0x000c, 0x2a3a: 0x000c, 0x2a3b: 0x000c,\n\t0x2a3c: 0x000c, 0x2a3d: 0x000c, 0x2a3e: 0x000c,\n\t// Block 0xa9, offset 0x2a40\n\t0x2a4a: 0x000c, 0x2a4b: 0x000c,\n\t0x2a4c: 0x000c,\n\t// Block 0xaa, offset 0x2a80\n\t0x2aaf: 0x000c,\n\t0x2ab0: 0x000c, 0x2ab1: 0x000c, 0x2ab4: 0x000c,\n\t0x2ab6: 0x000c, 0x2ab7: 0x000c,\n\t0x2abe: 0x000c,\n\t// Block 0xab, offset 0x2ac0\n\t0x2adf: 0x000c, 0x2ae3: 0x000c,\n\t0x2ae4: 0x000c, 0x2ae5: 0x000c, 0x2ae6: 0x000c, 0x2ae7: 0x000c, 0x2ae8: 0x000c, 0x2ae9: 0x000c,\n\t0x2aea: 0x000c,\n\t// Block 0xac, offset 0x2b00\n\t0x2b00: 0x000c, 0x2b01: 0x000c,\n\t0x2b3c: 0x000c,\n\t// Block 0xad, offset 0x2b40\n\t0x2b40: 0x000c,\n\t0x2b66: 0x000c, 0x2b67: 0x000c, 0x2b68: 0x000c, 0x2b69: 0x000c,\n\t0x2b6a: 0x000c, 0x2b6b: 0x000c, 0x2b6c: 0x000c,\n\t0x2b70: 0x000c, 0x2b71: 0x000c, 0x2b72: 0x000c, 0x2b73: 0x000c, 0x2b74: 0x000c,\n\t// Block 0xae, offset 0x2b80\n\t0x2bb8: 0x000c, 0x2bb9: 0x000c, 0x2bba: 0x000c, 0x2bbb: 0x000c,\n\t0x2bbc: 0x000c, 0x2bbd: 0x000c, 0x2bbe: 0x000c, 0x2bbf: 0x000c,\n\t// Block 0xaf, offset 0x2bc0\n\t0x2bc2: 0x000c, 0x2bc3: 0x000c, 0x2bc4: 0x000c,\n\t0x2bc6: 0x000c,\n\t// Block 0xb0, offset 0x2c00\n\t0x2c33: 0x000c, 0x2c34: 0x000c, 0x2c35: 0x000c,\n\t0x2c36: 0x000c, 0x2c37: 0x000c, 0x2c38: 0x000c, 0x2c3a: 0x000c,\n\t0x2c3f: 0x000c,\n\t// Block 0xb1, offset 0x2c40\n\t0x2c40: 0x000c, 0x2c42: 0x000c, 0x2c43: 0x000c,\n\t// Block 0xb2, offset 0x2c80\n\t0x2cb2: 0x000c, 0x2cb3: 0x000c, 0x2cb4: 0x000c, 0x2cb5: 0x000c,\n\t0x2cbc: 0x000c, 0x2cbd: 0x000c, 0x2cbf: 0x000c,\n\t// Block 0xb3, offset 0x2cc0\n\t0x2cc0: 0x000c,\n\t0x2cdc: 0x000c, 0x2cdd: 0x000c,\n\t// Block 0xb4, offset 0x2d00\n\t0x2d33: 0x000c, 0x2d34: 0x000c, 0x2d35: 0x000c,\n\t0x2d36: 0x000c, 0x2d37: 0x000c, 0x2d38: 0x000c, 0x2d39: 0x000c, 0x2d3a: 0x000c,\n\t0x2d3d: 0x000c, 0x2d3f: 0x000c,\n\t// Block 0xb5, offset 0x2d40\n\t0x2d40: 0x000c,\n\t0x2d60: 0x000a, 0x2d61: 0x000a, 0x2d62: 0x000a, 0x2d63: 0x000a,\n\t0x2d64: 0x000a, 0x2d65: 0x000a, 0x2d66: 0x000a, 0x2d67: 0x000a, 0x2d68: 0x000a, 0x2d69: 0x000a,\n\t0x2d6a: 0x000a, 0x2d6b: 0x000a, 0x2d6c: 0x000a,\n\t// Block 0xb6, offset 0x2d80\n\t0x2dab: 0x000c, 0x2dad: 0x000c,\n\t0x2db0: 0x000c, 0x2db1: 0x000c, 0x2db2: 0x000c, 0x2db3: 0x000c, 0x2db4: 0x000c, 0x2db5: 0x000c,\n\t0x2db7: 0x000c,\n\t// Block 0xb7, offset 0x2dc0\n\t0x2ddd: 0x000c,\n\t0x2dde: 0x000c, 0x2ddf: 0x000c, 0x2de2: 0x000c, 0x2de3: 0x000c,\n\t0x2de4: 0x000c, 0x2de5: 0x000c, 0x2de7: 0x000c, 0x2de8: 0x000c, 0x2de9: 0x000c,\n\t0x2dea: 0x000c, 0x2deb: 0x000c,\n\t// Block 0xb8, offset 0x2e00\n\t0x2e30: 0x000c, 0x2e31: 0x000c, 0x2e32: 0x000c, 0x2e33: 0x000c, 0x2e34: 0x000c, 0x2e35: 0x000c,\n\t0x2e36: 0x000c, 0x2e38: 0x000c, 0x2e39: 0x000c, 0x2e3a: 0x000c, 0x2e3b: 0x000c,\n\t0x2e3c: 0x000c, 0x2e3d: 0x000c,\n\t// Block 0xb9, offset 0x2e40\n\t0x2e52: 0x000c, 0x2e53: 0x000c, 0x2e54: 0x000c, 0x2e55: 0x000c, 0x2e56: 0x000c, 0x2e57: 0x000c,\n\t0x2e58: 0x000c, 0x2e59: 0x000c, 0x2e5a: 0x000c, 0x2e5b: 0x000c, 0x2e5c: 0x000c, 0x2e5d: 0x000c,\n\t0x2e5e: 0x000c, 0x2e5f: 0x000c, 0x2e60: 0x000c, 0x2e61: 0x000c, 0x2e62: 0x000c, 0x2e63: 0x000c,\n\t0x2e64: 0x000c, 0x2e65: 0x000c, 0x2e66: 0x000c, 0x2e67: 0x000c,\n\t0x2e6a: 0x000c, 0x2e6b: 0x000c, 0x2e6c: 0x000c, 0x2e6d: 0x000c, 0x2e6e: 0x000c, 0x2e6f: 0x000c,\n\t0x2e70: 0x000c, 0x2e72: 0x000c, 0x2e73: 0x000c, 0x2e75: 0x000c,\n\t0x2e76: 0x000c,\n\t// Block 0xba, offset 0x2e80\n\t0x2eb0: 0x000c, 0x2eb1: 0x000c, 0x2eb2: 0x000c, 0x2eb3: 0x000c, 0x2eb4: 0x000c,\n\t// Block 0xbb, offset 0x2ec0\n\t0x2ef0: 0x000c, 0x2ef1: 0x000c, 0x2ef2: 0x000c, 0x2ef3: 0x000c, 0x2ef4: 0x000c, 0x2ef5: 0x000c,\n\t0x2ef6: 0x000c,\n\t// Block 0xbc, offset 0x2f00\n\t0x2f0f: 0x000c, 0x2f10: 0x000c, 0x2f11: 0x000c,\n\t0x2f12: 0x000c,\n\t// Block 0xbd, offset 0x2f40\n\t0x2f5d: 0x000c,\n\t0x2f5e: 0x000c, 0x2f60: 0x000b, 0x2f61: 0x000b, 0x2f62: 0x000b, 0x2f63: 0x000b,\n\t// Block 0xbe, offset 0x2f80\n\t0x2fa7: 0x000c, 0x2fa8: 0x000c, 0x2fa9: 0x000c,\n\t0x2fb3: 0x000b, 0x2fb4: 0x000b, 0x2fb5: 0x000b,\n\t0x2fb6: 0x000b, 0x2fb7: 0x000b, 0x2fb8: 0x000b, 0x2fb9: 0x000b, 0x2fba: 0x000b, 0x2fbb: 0x000c,\n\t0x2fbc: 0x000c, 0x2fbd: 0x000c, 0x2fbe: 0x000c, 0x2fbf: 0x000c,\n\t// Block 0xbf, offset 0x2fc0\n\t0x2fc0: 0x000c, 0x2fc1: 0x000c, 0x2fc2: 0x000c, 0x2fc5: 0x000c,\n\t0x2fc6: 0x000c, 0x2fc7: 0x000c, 0x2fc8: 0x000c, 0x2fc9: 0x000c, 0x2fca: 0x000c, 0x2fcb: 0x000c,\n\t0x2fea: 0x000c, 0x2feb: 0x000c, 0x2fec: 0x000c, 0x2fed: 0x000c,\n\t// Block 0xc0, offset 0x3000\n\t0x3000: 0x000a, 0x3001: 0x000a, 0x3002: 0x000c, 0x3003: 0x000c, 0x3004: 0x000c, 0x3005: 0x000a,\n\t// Block 0xc1, offset 0x3040\n\t0x3040: 0x000a, 0x3041: 0x000a, 0x3042: 0x000a, 0x3043: 0x000a, 0x3044: 0x000a, 0x3045: 0x000a,\n\t0x3046: 0x000a, 0x3047: 0x000a, 0x3048: 0x000a, 0x3049: 0x000a, 0x304a: 0x000a, 0x304b: 0x000a,\n\t0x304c: 0x000a, 0x304d: 0x000a, 0x304e: 0x000a, 0x304f: 0x000a, 0x3050: 0x000a, 0x3051: 0x000a,\n\t0x3052: 0x000a, 0x3053: 0x000a, 0x3054: 0x000a, 0x3055: 0x000a, 0x3056: 0x000a,\n\t// Block 0xc2, offset 0x3080\n\t0x309b: 0x000a,\n\t// Block 0xc3, offset 0x30c0\n\t0x30d5: 0x000a,\n\t// Block 0xc4, offset 0x3100\n\t0x310f: 0x000a,\n\t// Block 0xc5, offset 0x3140\n\t0x3149: 0x000a,\n\t// Block 0xc6, offset 0x3180\n\t0x3183: 0x000a,\n\t0x318e: 0x0002, 0x318f: 0x0002, 0x3190: 0x0002, 0x3191: 0x0002,\n\t0x3192: 0x0002, 0x3193: 0x0002, 0x3194: 0x0002, 0x3195: 0x0002, 0x3196: 0x0002, 0x3197: 0x0002,\n\t0x3198: 0x0002, 0x3199: 0x0002, 0x319a: 0x0002, 0x319b: 0x0002, 0x319c: 0x0002, 0x319d: 0x0002,\n\t0x319e: 0x0002, 0x319f: 0x0002, 0x31a0: 0x0002, 0x31a1: 0x0002, 0x31a2: 0x0002, 0x31a3: 0x0002,\n\t0x31a4: 0x0002, 0x31a5: 0x0002, 0x31a6: 0x0002, 0x31a7: 0x0002, 0x31a8: 0x0002, 0x31a9: 0x0002,\n\t0x31aa: 0x0002, 0x31ab: 0x0002, 0x31ac: 0x0002, 0x31ad: 0x0002, 0x31ae: 0x0002, 0x31af: 0x0002,\n\t0x31b0: 0x0002, 0x31b1: 0x0002, 0x31b2: 0x0002, 0x31b3: 0x0002, 0x31b4: 0x0002, 0x31b5: 0x0002,\n\t0x31b6: 0x0002, 0x31b7: 0x0002, 0x31b8: 0x0002, 0x31b9: 0x0002, 0x31ba: 0x0002, 0x31bb: 0x0002,\n\t0x31bc: 0x0002, 0x31bd: 0x0002, 0x31be: 0x0002, 0x31bf: 0x0002,\n\t// Block 0xc7, offset 0x31c0\n\t0x31c0: 0x000c, 0x31c1: 0x000c, 0x31c2: 0x000c, 0x31c3: 0x000c, 0x31c4: 0x000c, 0x31c5: 0x000c,\n\t0x31c6: 0x000c, 0x31c7: 0x000c, 0x31c8: 0x000c, 0x31c9: 0x000c, 0x31ca: 0x000c, 0x31cb: 0x000c,\n\t0x31cc: 0x000c, 0x31cd: 0x000c, 0x31ce: 0x000c, 0x31cf: 0x000c, 0x31d0: 0x000c, 0x31d1: 0x000c,\n\t0x31d2: 0x000c, 0x31d3: 0x000c, 0x31d4: 0x000c, 0x31d5: 0x000c, 0x31d6: 0x000c, 0x31d7: 0x000c,\n\t0x31d8: 0x000c, 0x31d9: 0x000c, 0x31da: 0x000c, 0x31db: 0x000c, 0x31dc: 0x000c, 0x31dd: 0x000c,\n\t0x31de: 0x000c, 0x31df: 0x000c, 0x31e0: 0x000c, 0x31e1: 0x000c, 0x31e2: 0x000c, 0x31e3: 0x000c,\n\t0x31e4: 0x000c, 0x31e5: 0x000c, 0x31e6: 0x000c, 0x31e7: 0x000c, 0x31e8: 0x000c, 0x31e9: 0x000c,\n\t0x31ea: 0x000c, 0x31eb: 0x000c, 0x31ec: 0x000c, 0x31ed: 0x000c, 0x31ee: 0x000c, 0x31ef: 0x000c,\n\t0x31f0: 0x000c, 0x31f1: 0x000c, 0x31f2: 0x000c, 0x31f3: 0x000c, 0x31f4: 0x000c, 0x31f5: 0x000c,\n\t0x31f6: 0x000c, 0x31fb: 0x000c,\n\t0x31fc: 0x000c, 0x31fd: 0x000c, 0x31fe: 0x000c, 0x31ff: 0x000c,\n\t// Block 0xc8, offset 0x3200\n\t0x3200: 0x000c, 0x3201: 0x000c, 0x3202: 0x000c, 0x3203: 0x000c, 0x3204: 0x000c, 0x3205: 0x000c,\n\t0x3206: 0x000c, 0x3207: 0x000c, 0x3208: 0x000c, 0x3209: 0x000c, 0x320a: 0x000c, 0x320b: 0x000c,\n\t0x320c: 0x000c, 0x320d: 0x000c, 0x320e: 0x000c, 0x320f: 0x000c, 0x3210: 0x000c, 0x3211: 0x000c,\n\t0x3212: 0x000c, 0x3213: 0x000c, 0x3214: 0x000c, 0x3215: 0x000c, 0x3216: 0x000c, 0x3217: 0x000c,\n\t0x3218: 0x000c, 0x3219: 0x000c, 0x321a: 0x000c, 0x321b: 0x000c, 0x321c: 0x000c, 0x321d: 0x000c,\n\t0x321e: 0x000c, 0x321f: 0x000c, 0x3220: 0x000c, 0x3221: 0x000c, 0x3222: 0x000c, 0x3223: 0x000c,\n\t0x3224: 0x000c, 0x3225: 0x000c, 0x3226: 0x000c, 0x3227: 0x000c, 0x3228: 0x000c, 0x3229: 0x000c,\n\t0x322a: 0x000c, 0x322b: 0x000c, 0x322c: 0x000c,\n\t0x3235: 0x000c,\n\t// Block 0xc9, offset 0x3240\n\t0x3244: 0x000c,\n\t0x325b: 0x000c, 0x325c: 0x000c, 0x325d: 0x000c,\n\t0x325e: 0x000c, 0x325f: 0x000c, 0x3261: 0x000c, 0x3262: 0x000c, 0x3263: 0x000c,\n\t0x3264: 0x000c, 0x3265: 0x000c, 0x3266: 0x000c, 0x3267: 0x000c, 0x3268: 0x000c, 0x3269: 0x000c,\n\t0x326a: 0x000c, 0x326b: 0x000c, 0x326c: 0x000c, 0x326d: 0x000c, 0x326e: 0x000c, 0x326f: 0x000c,\n\t// Block 0xca, offset 0x3280\n\t0x3280: 0x000c, 0x3281: 0x000c, 0x3282: 0x000c, 0x3283: 0x000c, 0x3284: 0x000c, 0x3285: 0x000c,\n\t0x3286: 0x000c, 0x3288: 0x000c, 0x3289: 0x000c, 0x328a: 0x000c, 0x328b: 0x000c,\n\t0x328c: 0x000c, 0x328d: 0x000c, 0x328e: 0x000c, 0x328f: 0x000c, 0x3290: 0x000c, 0x3291: 0x000c,\n\t0x3292: 0x000c, 0x3293: 0x000c, 0x3294: 0x000c, 0x3295: 0x000c, 0x3296: 0x000c, 0x3297: 0x000c,\n\t0x3298: 0x000c, 0x329b: 0x000c, 0x329c: 0x000c, 0x329d: 0x000c,\n\t0x329e: 0x000c, 0x329f: 0x000c, 0x32a0: 0x000c, 0x32a1: 0x000c, 0x32a3: 0x000c,\n\t0x32a4: 0x000c, 0x32a6: 0x000c, 0x32a7: 0x000c, 0x32a8: 0x000c, 0x32a9: 0x000c,\n\t0x32aa: 0x000c,\n\t// Block 0xcb, offset 0x32c0\n\t0x32c0: 0x0001, 0x32c1: 0x0001, 0x32c2: 0x0001, 0x32c3: 0x0001, 0x32c4: 0x0001, 0x32c5: 0x0001,\n\t0x32c6: 0x0001, 0x32c7: 0x0001, 0x32c8: 0x0001, 0x32c9: 0x0001, 0x32ca: 0x0001, 0x32cb: 0x0001,\n\t0x32cc: 0x0001, 0x32cd: 0x0001, 0x32ce: 0x0001, 0x32cf: 0x0001, 0x32d0: 0x000c, 0x32d1: 0x000c,\n\t0x32d2: 0x000c, 0x32d3: 0x000c, 0x32d4: 0x000c, 0x32d5: 0x000c, 0x32d6: 0x000c, 0x32d7: 0x0001,\n\t0x32d8: 0x0001, 0x32d9: 0x0001, 0x32da: 0x0001, 0x32db: 0x0001, 0x32dc: 0x0001, 0x32dd: 0x0001,\n\t0x32de: 0x0001, 0x32df: 0x0001, 0x32e0: 0x0001, 0x32e1: 0x0001, 0x32e2: 0x0001, 0x32e3: 0x0001,\n\t0x32e4: 0x0001, 0x32e5: 0x0001, 0x32e6: 0x0001, 0x32e7: 0x0001, 0x32e8: 0x0001, 0x32e9: 0x0001,\n\t0x32ea: 0x0001, 0x32eb: 0x0001, 0x32ec: 0x0001, 0x32ed: 0x0001, 0x32ee: 0x0001, 0x32ef: 0x0001,\n\t0x32f0: 0x0001, 0x32f1: 0x0001, 0x32f2: 0x0001, 0x32f3: 0x0001, 0x32f4: 0x0001, 0x32f5: 0x0001,\n\t0x32f6: 0x0001, 0x32f7: 0x0001, 0x32f8: 0x0001, 0x32f9: 0x0001, 0x32fa: 0x0001, 0x32fb: 0x0001,\n\t0x32fc: 0x0001, 0x32fd: 0x0001, 0x32fe: 0x0001, 0x32ff: 0x0001,\n\t// Block 0xcc, offset 0x3300\n\t0x3300: 0x0001, 0x3301: 0x0001, 0x3302: 0x0001, 0x3303: 0x0001, 0x3304: 0x000c, 0x3305: 0x000c,\n\t0x3306: 0x000c, 0x3307: 0x000c, 0x3308: 0x000c, 0x3309: 0x000c, 0x330a: 0x000c, 0x330b: 0x0001,\n\t0x330c: 0x0001, 0x330d: 0x0001, 0x330e: 0x0001, 0x330f: 0x0001, 0x3310: 0x0001, 0x3311: 0x0001,\n\t0x3312: 0x0001, 0x3313: 0x0001, 0x3314: 0x0001, 0x3315: 0x0001, 0x3316: 0x0001, 0x3317: 0x0001,\n\t0x3318: 0x0001, 0x3319: 0x0001, 0x331a: 0x0001, 0x331b: 0x0001, 0x331c: 0x0001, 0x331d: 0x0001,\n\t0x331e: 0x0001, 0x331f: 0x0001, 0x3320: 0x0001, 0x3321: 0x0001, 0x3322: 0x0001, 0x3323: 0x0001,\n\t0x3324: 0x0001, 0x3325: 0x0001, 0x3326: 0x0001, 0x3327: 0x0001, 0x3328: 0x0001, 0x3329: 0x0001,\n\t0x332a: 0x0001, 0x332b: 0x0001, 0x332c: 0x0001, 0x332d: 0x0001, 0x332e: 0x0001, 0x332f: 0x0001,\n\t0x3330: 0x0001, 0x3331: 0x0001, 0x3332: 0x0001, 0x3333: 0x0001, 0x3334: 0x0001, 0x3335: 0x0001,\n\t0x3336: 0x0001, 0x3337: 0x0001, 0x3338: 0x0001, 0x3339: 0x0001, 0x333a: 0x0001, 0x333b: 0x0001,\n\t0x333c: 0x0001, 0x333d: 0x0001, 0x333e: 0x0001, 0x333f: 0x0001,\n\t// Block 0xcd, offset 0x3340\n\t0x3340: 0x000d, 0x3341: 0x000d, 0x3342: 0x000d, 0x3343: 0x000d, 0x3344: 0x000d, 0x3345: 0x000d,\n\t0x3346: 0x000d, 0x3347: 0x000d, 0x3348: 0x000d, 0x3349: 0x000d, 0x334a: 0x000d, 0x334b: 0x000d,\n\t0x334c: 0x000d, 0x334d: 0x000d, 0x334e: 0x000d, 0x334f: 0x000d, 0x3350: 0x000d, 0x3351: 0x000d,\n\t0x3352: 0x000d, 0x3353: 0x000d, 0x3354: 0x000d, 0x3355: 0x000d, 0x3356: 0x000d, 0x3357: 0x000d,\n\t0x3358: 0x000d, 0x3359: 0x000d, 0x335a: 0x000d, 0x335b: 0x000d, 0x335c: 0x000d, 0x335d: 0x000d,\n\t0x335e: 0x000d, 0x335f: 0x000d, 0x3360: 0x000d, 0x3361: 0x000d, 0x3362: 0x000d, 0x3363: 0x000d,\n\t0x3364: 0x000d, 0x3365: 0x000d, 0x3366: 0x000d, 0x3367: 0x000d, 0x3368: 0x000d, 0x3369: 0x000d,\n\t0x336a: 0x000d, 0x336b: 0x000d, 0x336c: 0x000d, 0x336d: 0x000d, 0x336e: 0x000d, 0x336f: 0x000d,\n\t0x3370: 0x000a, 0x3371: 0x000a, 0x3372: 0x000d, 0x3373: 0x000d, 0x3374: 0x000d, 0x3375: 0x000d,\n\t0x3376: 0x000d, 0x3377: 0x000d, 0x3378: 0x000d, 0x3379: 0x000d, 0x337a: 0x000d, 0x337b: 0x000d,\n\t0x337c: 0x000d, 0x337d: 0x000d, 0x337e: 0x000d, 0x337f: 0x000d,\n\t// Block 0xce, offset 0x3380\n\t0x3380: 0x000a, 0x3381: 0x000a, 0x3382: 0x000a, 0x3383: 0x000a, 0x3384: 0x000a, 0x3385: 0x000a,\n\t0x3386: 0x000a, 0x3387: 0x000a, 0x3388: 0x000a, 0x3389: 0x000a, 0x338a: 0x000a, 0x338b: 0x000a,\n\t0x338c: 0x000a, 0x338d: 0x000a, 0x338e: 0x000a, 0x338f: 0x000a, 0x3390: 0x000a, 0x3391: 0x000a,\n\t0x3392: 0x000a, 0x3393: 0x000a, 0x3394: 0x000a, 0x3395: 0x000a, 0x3396: 0x000a, 0x3397: 0x000a,\n\t0x3398: 0x000a, 0x3399: 0x000a, 0x339a: 0x000a, 0x339b: 0x000a, 0x339c: 0x000a, 0x339d: 0x000a,\n\t0x339e: 0x000a, 0x339f: 0x000a, 0x33a0: 0x000a, 0x33a1: 0x000a, 0x33a2: 0x000a, 0x33a3: 0x000a,\n\t0x33a4: 0x000a, 0x33a5: 0x000a, 0x33a6: 0x000a, 0x33a7: 0x000a, 0x33a8: 0x000a, 0x33a9: 0x000a,\n\t0x33aa: 0x000a, 0x33ab: 0x000a,\n\t0x33b0: 0x000a, 0x33b1: 0x000a, 0x33b2: 0x000a, 0x33b3: 0x000a, 0x33b4: 0x000a, 0x33b5: 0x000a,\n\t0x33b6: 0x000a, 0x33b7: 0x000a, 0x33b8: 0x000a, 0x33b9: 0x000a, 0x33ba: 0x000a, 0x33bb: 0x000a,\n\t0x33bc: 0x000a, 0x33bd: 0x000a, 0x33be: 0x000a, 0x33bf: 0x000a,\n\t// Block 0xcf, offset 0x33c0\n\t0x33c0: 0x000a, 0x33c1: 0x000a, 0x33c2: 0x000a, 0x33c3: 0x000a, 0x33c4: 0x000a, 0x33c5: 0x000a,\n\t0x33c6: 0x000a, 0x33c7: 0x000a, 0x33c8: 0x000a, 0x33c9: 0x000a, 0x33ca: 0x000a, 0x33cb: 0x000a,\n\t0x33cc: 0x000a, 0x33cd: 0x000a, 0x33ce: 0x000a, 0x33cf: 0x000a, 0x33d0: 0x000a, 0x33d1: 0x000a,\n\t0x33d2: 0x000a, 0x33d3: 0x000a,\n\t0x33e0: 0x000a, 0x33e1: 0x000a, 0x33e2: 0x000a, 0x33e3: 0x000a,\n\t0x33e4: 0x000a, 0x33e5: 0x000a, 0x33e6: 0x000a, 0x33e7: 0x000a, 0x33e8: 0x000a, 0x33e9: 0x000a,\n\t0x33ea: 0x000a, 0x33eb: 0x000a, 0x33ec: 0x000a, 0x33ed: 0x000a, 0x33ee: 0x000a,\n\t0x33f1: 0x000a, 0x33f2: 0x000a, 0x33f3: 0x000a, 0x33f4: 0x000a, 0x33f5: 0x000a,\n\t0x33f6: 0x000a, 0x33f7: 0x000a, 0x33f8: 0x000a, 0x33f9: 0x000a, 0x33fa: 0x000a, 0x33fb: 0x000a,\n\t0x33fc: 0x000a, 0x33fd: 0x000a, 0x33fe: 0x000a, 0x33ff: 0x000a,\n\t// Block 0xd0, offset 0x3400\n\t0x3401: 0x000a, 0x3402: 0x000a, 0x3403: 0x000a, 0x3404: 0x000a, 0x3405: 0x000a,\n\t0x3406: 0x000a, 0x3407: 0x000a, 0x3408: 0x000a, 0x3409: 0x000a, 0x340a: 0x000a, 0x340b: 0x000a,\n\t0x340c: 0x000a, 0x340d: 0x000a, 0x340e: 0x000a, 0x340f: 0x000a, 0x3411: 0x000a,\n\t0x3412: 0x000a, 0x3413: 0x000a, 0x3414: 0x000a, 0x3415: 0x000a, 0x3416: 0x000a, 0x3417: 0x000a,\n\t0x3418: 0x000a, 0x3419: 0x000a, 0x341a: 0x000a, 0x341b: 0x000a, 0x341c: 0x000a, 0x341d: 0x000a,\n\t0x341e: 0x000a, 0x341f: 0x000a, 0x3420: 0x000a, 0x3421: 0x000a, 0x3422: 0x000a, 0x3423: 0x000a,\n\t0x3424: 0x000a, 0x3425: 0x000a, 0x3426: 0x000a, 0x3427: 0x000a, 0x3428: 0x000a, 0x3429: 0x000a,\n\t0x342a: 0x000a, 0x342b: 0x000a, 0x342c: 0x000a, 0x342d: 0x000a, 0x342e: 0x000a, 0x342f: 0x000a,\n\t0x3430: 0x000a, 0x3431: 0x000a, 0x3432: 0x000a, 0x3433: 0x000a, 0x3434: 0x000a, 0x3435: 0x000a,\n\t// Block 0xd1, offset 0x3440\n\t0x3440: 0x0002, 0x3441: 0x0002, 0x3442: 0x0002, 0x3443: 0x0002, 0x3444: 0x0002, 0x3445: 0x0002,\n\t0x3446: 0x0002, 0x3447: 0x0002, 0x3448: 0x0002, 0x3449: 0x0002, 0x344a: 0x0002, 0x344b: 0x000a,\n\t0x344c: 0x000a,\n\t// Block 0xd2, offset 0x3480\n\t0x34aa: 0x000a, 0x34ab: 0x000a,\n\t// Block 0xd3, offset 0x34c0\n\t0x34c0: 0x000a, 0x34c1: 0x000a, 0x34c2: 0x000a, 0x34c3: 0x000a, 0x34c4: 0x000a, 0x34c5: 0x000a,\n\t0x34c6: 0x000a, 0x34c7: 0x000a, 0x34c8: 0x000a, 0x34c9: 0x000a, 0x34ca: 0x000a, 0x34cb: 0x000a,\n\t0x34cc: 0x000a, 0x34cd: 0x000a, 0x34ce: 0x000a, 0x34cf: 0x000a, 0x34d0: 0x000a, 0x34d1: 0x000a,\n\t0x34d2: 0x000a,\n\t0x34e0: 0x000a, 0x34e1: 0x000a, 0x34e2: 0x000a, 0x34e3: 0x000a,\n\t0x34e4: 0x000a, 0x34e5: 0x000a, 0x34e6: 0x000a, 0x34e7: 0x000a, 0x34e8: 0x000a, 0x34e9: 0x000a,\n\t0x34ea: 0x000a, 0x34eb: 0x000a, 0x34ec: 0x000a,\n\t0x34f0: 0x000a, 0x34f1: 0x000a, 0x34f2: 0x000a, 0x34f3: 0x000a, 0x34f4: 0x000a, 0x34f5: 0x000a,\n\t0x34f6: 0x000a,\n\t// Block 0xd4, offset 0x3500\n\t0x3500: 0x000a, 0x3501: 0x000a, 0x3502: 0x000a, 0x3503: 0x000a, 0x3504: 0x000a, 0x3505: 0x000a,\n\t0x3506: 0x000a, 0x3507: 0x000a, 0x3508: 0x000a, 0x3509: 0x000a, 0x350a: 0x000a, 0x350b: 0x000a,\n\t0x350c: 0x000a, 0x350d: 0x000a, 0x350e: 0x000a, 0x350f: 0x000a, 0x3510: 0x000a, 0x3511: 0x000a,\n\t0x3512: 0x000a, 0x3513: 0x000a, 0x3514: 0x000a,\n\t// Block 0xd5, offset 0x3540\n\t0x3540: 0x000a, 0x3541: 0x000a, 0x3542: 0x000a, 0x3543: 0x000a, 0x3544: 0x000a, 0x3545: 0x000a,\n\t0x3546: 0x000a, 0x3547: 0x000a, 0x3548: 0x000a, 0x3549: 0x000a, 0x354a: 0x000a, 0x354b: 0x000a,\n\t0x3550: 0x000a, 0x3551: 0x000a,\n\t0x3552: 0x000a, 0x3553: 0x000a, 0x3554: 0x000a, 0x3555: 0x000a, 0x3556: 0x000a, 0x3557: 0x000a,\n\t0x3558: 0x000a, 0x3559: 0x000a, 0x355a: 0x000a, 0x355b: 0x000a, 0x355c: 0x000a, 0x355d: 0x000a,\n\t0x355e: 0x000a, 0x355f: 0x000a, 0x3560: 0x000a, 0x3561: 0x000a, 0x3562: 0x000a, 0x3563: 0x000a,\n\t0x3564: 0x000a, 0x3565: 0x000a, 0x3566: 0x000a, 0x3567: 0x000a, 0x3568: 0x000a, 0x3569: 0x000a,\n\t0x356a: 0x000a, 0x356b: 0x000a, 0x356c: 0x000a, 0x356d: 0x000a, 0x356e: 0x000a, 0x356f: 0x000a,\n\t0x3570: 0x000a, 0x3571: 0x000a, 0x3572: 0x000a, 0x3573: 0x000a, 0x3574: 0x000a, 0x3575: 0x000a,\n\t0x3576: 0x000a, 0x3577: 0x000a, 0x3578: 0x000a, 0x3579: 0x000a, 0x357a: 0x000a, 0x357b: 0x000a,\n\t0x357c: 0x000a, 0x357d: 0x000a, 0x357e: 0x000a, 0x357f: 0x000a,\n\t// Block 0xd6, offset 0x3580\n\t0x3580: 0x000a, 0x3581: 0x000a, 0x3582: 0x000a, 0x3583: 0x000a, 0x3584: 0x000a, 0x3585: 0x000a,\n\t0x3586: 0x000a, 0x3587: 0x000a,\n\t0x3590: 0x000a, 0x3591: 0x000a,\n\t0x3592: 0x000a, 0x3593: 0x000a, 0x3594: 0x000a, 0x3595: 0x000a, 0x3596: 0x000a, 0x3597: 0x000a,\n\t0x3598: 0x000a, 0x3599: 0x000a,\n\t0x35a0: 0x000a, 0x35a1: 0x000a, 0x35a2: 0x000a, 0x35a3: 0x000a,\n\t0x35a4: 0x000a, 0x35a5: 0x000a, 0x35a6: 0x000a, 0x35a7: 0x000a, 0x35a8: 0x000a, 0x35a9: 0x000a,\n\t0x35aa: 0x000a, 0x35ab: 0x000a, 0x35ac: 0x000a, 0x35ad: 0x000a, 0x35ae: 0x000a, 0x35af: 0x000a,\n\t0x35b0: 0x000a, 0x35b1: 0x000a, 0x35b2: 0x000a, 0x35b3: 0x000a, 0x35b4: 0x000a, 0x35b5: 0x000a,\n\t0x35b6: 0x000a, 0x35b7: 0x000a, 0x35b8: 0x000a, 0x35b9: 0x000a, 0x35ba: 0x000a, 0x35bb: 0x000a,\n\t0x35bc: 0x000a, 0x35bd: 0x000a, 0x35be: 0x000a, 0x35bf: 0x000a,\n\t// Block 0xd7, offset 0x35c0\n\t0x35c0: 0x000a, 0x35c1: 0x000a, 0x35c2: 0x000a, 0x35c3: 0x000a, 0x35c4: 0x000a, 0x35c5: 0x000a,\n\t0x35c6: 0x000a, 0x35c7: 0x000a,\n\t0x35d0: 0x000a, 0x35d1: 0x000a,\n\t0x35d2: 0x000a, 0x35d3: 0x000a, 0x35d4: 0x000a, 0x35d5: 0x000a, 0x35d6: 0x000a, 0x35d7: 0x000a,\n\t0x35d8: 0x000a, 0x35d9: 0x000a, 0x35da: 0x000a, 0x35db: 0x000a, 0x35dc: 0x000a, 0x35dd: 0x000a,\n\t0x35de: 0x000a, 0x35df: 0x000a, 0x35e0: 0x000a, 0x35e1: 0x000a, 0x35e2: 0x000a, 0x35e3: 0x000a,\n\t0x35e4: 0x000a, 0x35e5: 0x000a, 0x35e6: 0x000a, 0x35e7: 0x000a, 0x35e8: 0x000a, 0x35e9: 0x000a,\n\t0x35ea: 0x000a, 0x35eb: 0x000a, 0x35ec: 0x000a, 0x35ed: 0x000a,\n\t// Block 0xd8, offset 0x3600\n\t0x3610: 0x000a, 0x3611: 0x000a,\n\t0x3612: 0x000a, 0x3613: 0x000a, 0x3614: 0x000a, 0x3615: 0x000a, 0x3616: 0x000a, 0x3617: 0x000a,\n\t0x3618: 0x000a, 0x3619: 0x000a, 0x361a: 0x000a, 0x361b: 0x000a, 0x361c: 0x000a, 0x361d: 0x000a,\n\t0x361e: 0x000a, 0x3620: 0x000a, 0x3621: 0x000a, 0x3622: 0x000a, 0x3623: 0x000a,\n\t0x3624: 0x000a, 0x3625: 0x000a, 0x3626: 0x000a, 0x3627: 0x000a,\n\t0x3630: 0x000a, 0x3633: 0x000a, 0x3634: 0x000a, 0x3635: 0x000a,\n\t0x3636: 0x000a, 0x3637: 0x000a, 0x3638: 0x000a, 0x3639: 0x000a, 0x363a: 0x000a, 0x363b: 0x000a,\n\t0x363c: 0x000a, 0x363d: 0x000a, 0x363e: 0x000a,\n\t// Block 0xd9, offset 0x3640\n\t0x3640: 0x000a, 0x3641: 0x000a, 0x3642: 0x000a, 0x3643: 0x000a, 0x3644: 0x000a, 0x3645: 0x000a,\n\t0x3646: 0x000a, 0x3647: 0x000a, 0x3648: 0x000a, 0x3649: 0x000a, 0x364a: 0x000a, 0x364b: 0x000a,\n\t0x3650: 0x000a, 0x3651: 0x000a,\n\t0x3652: 0x000a, 0x3653: 0x000a, 0x3654: 0x000a, 0x3655: 0x000a, 0x3656: 0x000a, 0x3657: 0x000a,\n\t0x3658: 0x000a, 0x3659: 0x000a, 0x365a: 0x000a, 0x365b: 0x000a, 0x365c: 0x000a, 0x365d: 0x000a,\n\t0x365e: 0x000a,\n\t// Block 0xda, offset 0x3680\n\t0x3680: 0x000a, 0x3681: 0x000a, 0x3682: 0x000a, 0x3683: 0x000a, 0x3684: 0x000a, 0x3685: 0x000a,\n\t0x3686: 0x000a, 0x3687: 0x000a, 0x3688: 0x000a, 0x3689: 0x000a, 0x368a: 0x000a, 0x368b: 0x000a,\n\t0x368c: 0x000a, 0x368d: 0x000a, 0x368e: 0x000a, 0x368f: 0x000a, 0x3690: 0x000a, 0x3691: 0x000a,\n\t// Block 0xdb, offset 0x36c0\n\t0x36fe: 0x000b, 0x36ff: 0x000b,\n\t// Block 0xdc, offset 0x3700\n\t0x3700: 0x000b, 0x3701: 0x000b, 0x3702: 0x000b, 0x3703: 0x000b, 0x3704: 0x000b, 0x3705: 0x000b,\n\t0x3706: 0x000b, 0x3707: 0x000b, 0x3708: 0x000b, 0x3709: 0x000b, 0x370a: 0x000b, 0x370b: 0x000b,\n\t0x370c: 0x000b, 0x370d: 0x000b, 0x370e: 0x000b, 0x370f: 0x000b, 0x3710: 0x000b, 0x3711: 0x000b,\n\t0x3712: 0x000b, 0x3713: 0x000b, 0x3714: 0x000b, 0x3715: 0x000b, 0x3716: 0x000b, 0x3717: 0x000b,\n\t0x3718: 0x000b, 0x3719: 0x000b, 0x371a: 0x000b, 0x371b: 0x000b, 0x371c: 0x000b, 0x371d: 0x000b,\n\t0x371e: 0x000b, 0x371f: 0x000b, 0x3720: 0x000b, 0x3721: 0x000b, 0x3722: 0x000b, 0x3723: 0x000b,\n\t0x3724: 0x000b, 0x3725: 0x000b, 0x3726: 0x000b, 0x3727: 0x000b, 0x3728: 0x000b, 0x3729: 0x000b,\n\t0x372a: 0x000b, 0x372b: 0x000b, 0x372c: 0x000b, 0x372d: 0x000b, 0x372e: 0x000b, 0x372f: 0x000b,\n\t0x3730: 0x000b, 0x3731: 0x000b, 0x3732: 0x000b, 0x3733: 0x000b, 0x3734: 0x000b, 0x3735: 0x000b,\n\t0x3736: 0x000b, 0x3737: 0x000b, 0x3738: 0x000b, 0x3739: 0x000b, 0x373a: 0x000b, 0x373b: 0x000b,\n\t0x373c: 0x000b, 0x373d: 0x000b, 0x373e: 0x000b, 0x373f: 0x000b,\n\t// Block 0xdd, offset 0x3740\n\t0x3740: 0x000c, 0x3741: 0x000c, 0x3742: 0x000c, 0x3743: 0x000c, 0x3744: 0x000c, 0x3745: 0x000c,\n\t0x3746: 0x000c, 0x3747: 0x000c, 0x3748: 0x000c, 0x3749: 0x000c, 0x374a: 0x000c, 0x374b: 0x000c,\n\t0x374c: 0x000c, 0x374d: 0x000c, 0x374e: 0x000c, 0x374f: 0x000c, 0x3750: 0x000c, 0x3751: 0x000c,\n\t0x3752: 0x000c, 0x3753: 0x000c, 0x3754: 0x000c, 0x3755: 0x000c, 0x3756: 0x000c, 0x3757: 0x000c,\n\t0x3758: 0x000c, 0x3759: 0x000c, 0x375a: 0x000c, 0x375b: 0x000c, 0x375c: 0x000c, 0x375d: 0x000c,\n\t0x375e: 0x000c, 0x375f: 0x000c, 0x3760: 0x000c, 0x3761: 0x000c, 0x3762: 0x000c, 0x3763: 0x000c,\n\t0x3764: 0x000c, 0x3765: 0x000c, 0x3766: 0x000c, 0x3767: 0x000c, 0x3768: 0x000c, 0x3769: 0x000c,\n\t0x376a: 0x000c, 0x376b: 0x000c, 0x376c: 0x000c, 0x376d: 0x000c, 0x376e: 0x000c, 0x376f: 0x000c,\n\t0x3770: 0x000b, 0x3771: 0x000b, 0x3772: 0x000b, 0x3773: 0x000b, 0x3774: 0x000b, 0x3775: 0x000b,\n\t0x3776: 0x000b, 0x3777: 0x000b, 0x3778: 0x000b, 0x3779: 0x000b, 0x377a: 0x000b, 0x377b: 0x000b,\n\t0x377c: 0x000b, 0x377d: 0x000b, 0x377e: 0x000b, 0x377f: 0x000b,\n}\n\n// bidiIndex: 24 blocks, 1536 entries, 1536 bytes\n// Block 0 is the zero block.\nvar bidiIndex = [1536]uint8{\n\t// Block 0x0, offset 0x0\n\t// Block 0x1, offset 0x40\n\t// Block 0x2, offset 0x80\n\t// Block 0x3, offset 0xc0\n\t0xc2: 0x01, 0xc3: 0x02,\n\t0xca: 0x03, 0xcb: 0x04, 0xcc: 0x05, 0xcd: 0x06, 0xce: 0x07, 0xcf: 0x08,\n\t0xd2: 0x09, 0xd6: 0x0a, 0xd7: 0x0b,\n\t0xd8: 0x0c, 0xd9: 0x0d, 0xda: 0x0e, 0xdb: 0x0f, 0xdc: 0x10, 0xdd: 0x11, 0xde: 0x12, 0xdf: 0x13,\n\t0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06,\n\t0xea: 0x07, 0xef: 0x08,\n\t0xf0: 0x11, 0xf1: 0x12, 0xf2: 0x12, 0xf3: 0x14, 0xf4: 0x15,\n\t// Block 0x4, offset 0x100\n\t0x120: 0x14, 0x121: 0x15, 0x122: 0x16, 0x123: 0x17, 0x124: 0x18, 0x125: 0x19, 0x126: 0x1a, 0x127: 0x1b,\n\t0x128: 0x1c, 0x129: 0x1d, 0x12a: 0x1c, 0x12b: 0x1e, 0x12c: 0x1f, 0x12d: 0x20, 0x12e: 0x21, 0x12f: 0x22,\n\t0x130: 0x23, 0x131: 0x24, 0x132: 0x1a, 0x133: 0x25, 0x134: 0x26, 0x135: 0x27, 0x137: 0x28,\n\t0x138: 0x29, 0x139: 0x2a, 0x13a: 0x2b, 0x13b: 0x2c, 0x13c: 0x2d, 0x13d: 0x2e, 0x13e: 0x2f, 0x13f: 0x30,\n\t// Block 0x5, offset 0x140\n\t0x140: 0x31, 0x141: 0x32, 0x142: 0x33,\n\t0x14d: 0x34, 0x14e: 0x35,\n\t0x150: 0x36,\n\t0x15a: 0x37, 0x15c: 0x38, 0x15d: 0x39, 0x15e: 0x3a, 0x15f: 0x3b,\n\t0x160: 0x3c, 0x162: 0x3d, 0x164: 0x3e, 0x165: 0x3f, 0x167: 0x40,\n\t0x168: 0x41, 0x169: 0x42, 0x16a: 0x43, 0x16c: 0x44, 0x16d: 0x45, 0x16e: 0x46, 0x16f: 0x47,\n\t0x170: 0x48, 0x173: 0x49, 0x177: 0x4a,\n\t0x17e: 0x4b, 0x17f: 0x4c,\n\t// Block 0x6, offset 0x180\n\t0x180: 0x4d, 0x181: 0x4e, 0x182: 0x4f, 0x183: 0x50, 0x184: 0x51, 0x185: 0x52, 0x186: 0x53, 0x187: 0x54,\n\t0x188: 0x55, 0x189: 0x54, 0x18a: 0x54, 0x18b: 0x54, 0x18c: 0x56, 0x18d: 0x57, 0x18e: 0x58, 0x18f: 0x59,\n\t0x190: 0x5a, 0x191: 0x5b, 0x192: 0x5c, 0x193: 0x5d, 0x194: 0x54, 0x195: 0x54, 0x196: 0x54, 0x197: 0x54,\n\t0x198: 0x54, 0x199: 0x54, 0x19a: 0x5e, 0x19b: 0x54, 0x19c: 0x54, 0x19d: 0x5f, 0x19e: 0x54, 0x19f: 0x60,\n\t0x1a4: 0x54, 0x1a5: 0x54, 0x1a6: 0x61, 0x1a7: 0x62,\n\t0x1a8: 0x54, 0x1a9: 0x54, 0x1aa: 0x54, 0x1ab: 0x54, 0x1ac: 0x54, 0x1ad: 0x63, 0x1ae: 0x64, 0x1af: 0x65,\n\t0x1b3: 0x66, 0x1b5: 0x67, 0x1b7: 0x68,\n\t0x1b8: 0x69, 0x1b9: 0x6a, 0x1ba: 0x6b, 0x1bb: 0x6c, 0x1bc: 0x54, 0x1bd: 0x54, 0x1be: 0x54, 0x1bf: 0x6d,\n\t// Block 0x7, offset 0x1c0\n\t0x1c0: 0x6e, 0x1c2: 0x6f, 0x1c3: 0x70, 0x1c7: 0x71,\n\t0x1c8: 0x72, 0x1c9: 0x73, 0x1ca: 0x74, 0x1cb: 0x75, 0x1cd: 0x76, 0x1cf: 0x77,\n\t// Block 0x8, offset 0x200\n\t0x237: 0x54,\n\t// Block 0x9, offset 0x240\n\t0x252: 0x78, 0x253: 0x79,\n\t0x258: 0x7a, 0x259: 0x7b, 0x25a: 0x7c, 0x25b: 0x7d, 0x25c: 0x7e, 0x25e: 0x7f,\n\t0x260: 0x80, 0x261: 0x81, 0x263: 0x82, 0x264: 0x83, 0x265: 0x84, 0x266: 0x85, 0x267: 0x86,\n\t0x268: 0x87, 0x269: 0x88, 0x26a: 0x89, 0x26b: 0x8a, 0x26f: 0x8b,\n\t// Block 0xa, offset 0x280\n\t0x2ac: 0x8c, 0x2ad: 0x8d, 0x2ae: 0x0e, 0x2af: 0x0e,\n\t0x2b0: 0x0e, 0x2b1: 0x0e, 0x2b2: 0x0e, 0x2b3: 0x0e, 0x2b4: 0x8e, 0x2b5: 0x0e, 0x2b6: 0x0e, 0x2b7: 0x8f,\n\t0x2b8: 0x90, 0x2b9: 0x91, 0x2ba: 0x0e, 0x2bb: 0x92, 0x2bc: 0x93, 0x2bd: 0x94, 0x2bf: 0x95,\n\t// Block 0xb, offset 0x2c0\n\t0x2c4: 0x96, 0x2c5: 0x54, 0x2c6: 0x97, 0x2c7: 0x98,\n\t0x2cb: 0x99, 0x2cd: 0x9a,\n\t0x2e0: 0x9b, 0x2e1: 0x9b, 0x2e2: 0x9b, 0x2e3: 0x9b, 0x2e4: 0x9c, 0x2e5: 0x9b, 0x2e6: 0x9b, 0x2e7: 0x9b,\n\t0x2e8: 0x9d, 0x2e9: 0x9b, 0x2ea: 0x9b, 0x2eb: 0x9e, 0x2ec: 0x9f, 0x2ed: 0x9b, 0x2ee: 0x9b, 0x2ef: 0x9b,\n\t0x2f0: 0x9b, 0x2f1: 0x9b, 0x2f2: 0x9b, 0x2f3: 0x9b, 0x2f4: 0x9b, 0x2f5: 0x9b, 0x2f6: 0x9b, 0x2f7: 0x9b,\n\t0x2f8: 0x9b, 0x2f9: 0xa0, 0x2fa: 0x9b, 0x2fb: 0x9b, 0x2fc: 0x9b, 0x2fd: 0x9b, 0x2fe: 0x9b, 0x2ff: 0x9b,\n\t// Block 0xc, offset 0x300\n\t0x300: 0xa1, 0x301: 0xa2, 0x302: 0xa3, 0x304: 0xa4, 0x305: 0xa5, 0x306: 0xa6, 0x307: 0xa7,\n\t0x308: 0xa8, 0x30b: 0xa9, 0x30c: 0xaa, 0x30d: 0xab,\n\t0x310: 0xac, 0x311: 0xad, 0x312: 0xae, 0x313: 0xaf, 0x316: 0xb0, 0x317: 0xb1,\n\t0x318: 0xb2, 0x319: 0xb3, 0x31a: 0xb4, 0x31c: 0xb5,\n\t0x330: 0xb6, 0x332: 0xb7,\n\t// Block 0xd, offset 0x340\n\t0x36b: 0xb8, 0x36c: 0xb9,\n\t0x37e: 0xba,\n\t// Block 0xe, offset 0x380\n\t0x3b2: 0xbb,\n\t// Block 0xf, offset 0x3c0\n\t0x3c5: 0xbc, 0x3c6: 0xbd,\n\t0x3c8: 0x54, 0x3c9: 0xbe, 0x3cc: 0x54, 0x3cd: 0xbf,\n\t0x3db: 0xc0, 0x3dc: 0xc1, 0x3dd: 0xc2, 0x3de: 0xc3, 0x3df: 0xc4,\n\t0x3e8: 0xc5, 0x3e9: 0xc6, 0x3ea: 0xc7,\n\t// Block 0x10, offset 0x400\n\t0x400: 0xc8,\n\t0x420: 0x9b, 0x421: 0x9b, 0x422: 0x9b, 0x423: 0xc9, 0x424: 0x9b, 0x425: 0xca, 0x426: 0x9b, 0x427: 0x9b,\n\t0x428: 0x9b, 0x429: 0x9b, 0x42a: 0x9b, 0x42b: 0x9b, 0x42c: 0x9b, 0x42d: 0x9b, 0x42e: 0x9b, 0x42f: 0x9b,\n\t0x430: 0x9b, 0x431: 0x9b, 0x432: 0x9b, 0x433: 0x9b, 0x434: 0x9b, 0x435: 0x9b, 0x436: 0x9b, 0x437: 0x9b,\n\t0x438: 0x0e, 0x439: 0x0e, 0x43a: 0x0e, 0x43b: 0xcb, 0x43c: 0x9b, 0x43d: 0x9b, 0x43e: 0x9b, 0x43f: 0x9b,\n\t// Block 0x11, offset 0x440\n\t0x440: 0xcc, 0x441: 0x54, 0x442: 0xcd, 0x443: 0xce, 0x444: 0xcf, 0x445: 0xd0,\n\t0x44c: 0x54, 0x44d: 0x54, 0x44e: 0x54, 0x44f: 0x54,\n\t0x450: 0x54, 0x451: 0x54, 0x452: 0x54, 0x453: 0x54, 0x454: 0x54, 0x455: 0x54, 0x456: 0x54, 0x457: 0x54,\n\t0x458: 0x54, 0x459: 0x54, 0x45a: 0x54, 0x45b: 0xd1, 0x45c: 0x54, 0x45d: 0x6c, 0x45e: 0x54, 0x45f: 0xd2,\n\t0x460: 0xd3, 0x461: 0xd4, 0x462: 0xd5, 0x464: 0xd6, 0x465: 0xd7, 0x466: 0xd8, 0x467: 0x36,\n\t0x47f: 0xd9,\n\t// Block 0x12, offset 0x480\n\t0x4bf: 0xd9,\n\t// Block 0x13, offset 0x4c0\n\t0x4d0: 0x09, 0x4d1: 0x0a, 0x4d6: 0x0b,\n\t0x4db: 0x0c, 0x4dd: 0x0d, 0x4de: 0x0e, 0x4df: 0x0f,\n\t0x4ef: 0x10,\n\t0x4ff: 0x10,\n\t// Block 0x14, offset 0x500\n\t0x50f: 0x10,\n\t0x51f: 0x10,\n\t0x52f: 0x10,\n\t0x53f: 0x10,\n\t// Block 0x15, offset 0x540\n\t0x540: 0xda, 0x541: 0xda, 0x542: 0xda, 0x543: 0xda, 0x544: 0x05, 0x545: 0x05, 0x546: 0x05, 0x547: 0xdb,\n\t0x548: 0xda, 0x549: 0xda, 0x54a: 0xda, 0x54b: 0xda, 0x54c: 0xda, 0x54d: 0xda, 0x54e: 0xda, 0x54f: 0xda,\n\t0x550: 0xda, 0x551: 0xda, 0x552: 0xda, 0x553: 0xda, 0x554: 0xda, 0x555: 0xda, 0x556: 0xda, 0x557: 0xda,\n\t0x558: 0xda, 0x559: 0xda, 0x55a: 0xda, 0x55b: 0xda, 0x55c: 0xda, 0x55d: 0xda, 0x55e: 0xda, 0x55f: 0xda,\n\t0x560: 0xda, 0x561: 0xda, 0x562: 0xda, 0x563: 0xda, 0x564: 0xda, 0x565: 0xda, 0x566: 0xda, 0x567: 0xda,\n\t0x568: 0xda, 0x569: 0xda, 0x56a: 0xda, 0x56b: 0xda, 0x56c: 0xda, 0x56d: 0xda, 0x56e: 0xda, 0x56f: 0xda,\n\t0x570: 0xda, 0x571: 0xda, 0x572: 0xda, 0x573: 0xda, 0x574: 0xda, 0x575: 0xda, 0x576: 0xda, 0x577: 0xda,\n\t0x578: 0xda, 0x579: 0xda, 0x57a: 0xda, 0x57b: 0xda, 0x57c: 0xda, 0x57d: 0xda, 0x57e: 0xda, 0x57f: 0xda,\n\t// Block 0x16, offset 0x580\n\t0x58f: 0x10,\n\t0x59f: 0x10,\n\t0x5a0: 0x13,\n\t0x5af: 0x10,\n\t0x5bf: 0x10,\n\t// Block 0x17, offset 0x5c0\n\t0x5cf: 0x10,\n}\n\n// Total table size 15800 bytes (15KiB); checksum: F50EF68C\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/bidi/trieval.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\npackage bidi\n\n// Class is the Unicode BiDi class. Each rune has a single class.\ntype Class uint\n\nconst (\n\tL       Class = iota // LeftToRight\n\tR                    // RightToLeft\n\tEN                   // EuropeanNumber\n\tES                   // EuropeanSeparator\n\tET                   // EuropeanTerminator\n\tAN                   // ArabicNumber\n\tCS                   // CommonSeparator\n\tB                    // ParagraphSeparator\n\tS                    // SegmentSeparator\n\tWS                   // WhiteSpace\n\tON                   // OtherNeutral\n\tBN                   // BoundaryNeutral\n\tNSM                  // NonspacingMark\n\tAL                   // ArabicLetter\n\tControl              // Control LRO - PDI\n\n\tnumClass\n\n\tLRO // LeftToRightOverride\n\tRLO // RightToLeftOverride\n\tLRE // LeftToRightEmbedding\n\tRLE // RightToLeftEmbedding\n\tPDF // PopDirectionalFormat\n\tLRI // LeftToRightIsolate\n\tRLI // RightToLeftIsolate\n\tFSI // FirstStrongIsolate\n\tPDI // PopDirectionalIsolate\n\n\tunknownClass = ^Class(0)\n)\n\nvar controlToClass = map[rune]Class{\n\t0x202D: LRO, // LeftToRightOverride,\n\t0x202E: RLO, // RightToLeftOverride,\n\t0x202A: LRE, // LeftToRightEmbedding,\n\t0x202B: RLE, // RightToLeftEmbedding,\n\t0x202C: PDF, // PopDirectionalFormat,\n\t0x2066: LRI, // LeftToRightIsolate,\n\t0x2067: RLI, // RightToLeftIsolate,\n\t0x2068: FSI, // FirstStrongIsolate,\n\t0x2069: PDI, // PopDirectionalIsolate,\n}\n\n// A trie entry has the following bits:\n// 7..5  XOR mask for brackets\n// 4     1: Bracket open, 0: Bracket close\n// 3..0  Class type\n\nconst (\n\topenMask     = 0x10\n\txorMaskShift = 5\n)\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/cldr/base.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage cldr\n\nimport (\n\t\"encoding/xml\"\n\t\"regexp\"\n\t\"strconv\"\n)\n\n// Elem is implemented by every XML element.\ntype Elem interface {\n\tsetEnclosing(Elem)\n\tsetName(string)\n\tenclosing() Elem\n\n\tGetCommon() *Common\n}\n\ntype hidden struct {\n\tCharData string `xml:\",chardata\"`\n\tAlias    *struct {\n\t\tCommon\n\t\tSource string `xml:\"source,attr\"`\n\t\tPath   string `xml:\"path,attr\"`\n\t} `xml:\"alias\"`\n\tDef *struct {\n\t\tCommon\n\t\tChoice string `xml:\"choice,attr,omitempty\"`\n\t\tType   string `xml:\"type,attr,omitempty\"`\n\t} `xml:\"default\"`\n}\n\n// Common holds several of the most common attributes and sub elements\n// of an XML element.\ntype Common struct {\n\tXMLName         xml.Name\n\tname            string\n\tenclElem        Elem\n\tType            string `xml:\"type,attr,omitempty\"`\n\tReference       string `xml:\"reference,attr,omitempty\"`\n\tAlt             string `xml:\"alt,attr,omitempty\"`\n\tValidSubLocales string `xml:\"validSubLocales,attr,omitempty\"`\n\tDraft           string `xml:\"draft,attr,omitempty\"`\n\thidden\n}\n\n// Default returns the default type to select from the enclosed list\n// or \"\" if no default value is specified.\nfunc (e *Common) Default() string {\n\tif e.Def == nil {\n\t\treturn \"\"\n\t}\n\tif e.Def.Choice != \"\" {\n\t\treturn e.Def.Choice\n\t} else if e.Def.Type != \"\" {\n\t\t// Type is still used by the default element in collation.\n\t\treturn e.Def.Type\n\t}\n\treturn \"\"\n}\n\n// Element returns the XML element name.\nfunc (e *Common) Element() string {\n\treturn e.name\n}\n\n// GetCommon returns e. It is provided such that Common implements Elem.\nfunc (e *Common) GetCommon() *Common {\n\treturn e\n}\n\n// Data returns the character data accumulated for this element.\nfunc (e *Common) Data() string {\n\te.CharData = charRe.ReplaceAllStringFunc(e.CharData, replaceUnicode)\n\treturn e.CharData\n}\n\nfunc (e *Common) setName(s string) {\n\te.name = s\n}\n\nfunc (e *Common) enclosing() Elem {\n\treturn e.enclElem\n}\n\nfunc (e *Common) setEnclosing(en Elem) {\n\te.enclElem = en\n}\n\n// Escape characters that can be escaped without further escaping the string.\nvar charRe = regexp.MustCompile(`&#x[0-9a-fA-F]*;|\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}|\\\\x[0-9a-fA-F]{2}|\\\\[0-7]{3}|\\\\[abtnvfr]`)\n\n// replaceUnicode converts hexadecimal Unicode codepoint notations to a one-rune string.\n// It assumes the input string is correctly formatted.\nfunc replaceUnicode(s string) string {\n\tif s[1] == '#' {\n\t\tr, _ := strconv.ParseInt(s[3:len(s)-1], 16, 32)\n\t\treturn string(r)\n\t}\n\tr, _, _, _ := strconv.UnquoteChar(s, 0)\n\treturn string(r)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/cldr/cldr.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n//go:generate go run makexml.go -output xml.go\n\n// Package cldr provides a parser for LDML and related XML formats.\n// This package is intended to be used by the table generation tools\n// for the various internationalization-related packages.\n// As the XML types are generated from the CLDR DTD, and as the CLDR standard\n// is periodically amended, this package may change considerably over time.\n// This mostly means that data may appear and disappear between versions.\n// That is, old code should keep compiling for newer versions, but data\n// may have moved or changed.\n// CLDR version 22 is the first version supported by this package.\n// Older versions may not work.\npackage cldr // import \"golang.org/x/text/unicode/cldr\"\n\nimport (\n\t\"fmt\"\n\t\"sort\"\n)\n\n// CLDR provides access to parsed data of the Unicode Common Locale Data Repository.\ntype CLDR struct {\n\tparent   map[string][]string\n\tlocale   map[string]*LDML\n\tresolved map[string]*LDML\n\tbcp47    *LDMLBCP47\n\tsupp     *SupplementalData\n}\n\nfunc makeCLDR() *CLDR {\n\treturn &CLDR{\n\t\tparent:   make(map[string][]string),\n\t\tlocale:   make(map[string]*LDML),\n\t\tresolved: make(map[string]*LDML),\n\t\tbcp47:    &LDMLBCP47{},\n\t\tsupp:     &SupplementalData{},\n\t}\n}\n\n// BCP47 returns the parsed BCP47 LDML data. If no such data was parsed, nil is returned.\nfunc (cldr *CLDR) BCP47() *LDMLBCP47 {\n\treturn nil\n}\n\n// Draft indicates the draft level of an element.\ntype Draft int\n\nconst (\n\tApproved Draft = iota\n\tContributed\n\tProvisional\n\tUnconfirmed\n)\n\nvar drafts = []string{\"unconfirmed\", \"provisional\", \"contributed\", \"approved\", \"\"}\n\n// ParseDraft returns the Draft value corresponding to the given string. The\n// empty string corresponds to Approved.\nfunc ParseDraft(level string) (Draft, error) {\n\tif level == \"\" {\n\t\treturn Approved, nil\n\t}\n\tfor i, s := range drafts {\n\t\tif level == s {\n\t\t\treturn Unconfirmed - Draft(i), nil\n\t\t}\n\t}\n\treturn Approved, fmt.Errorf(\"cldr: unknown draft level %q\", level)\n}\n\nfunc (d Draft) String() string {\n\treturn drafts[len(drafts)-1-int(d)]\n}\n\n// SetDraftLevel sets which draft levels to include in the evaluated LDML.\n// Any draft element for which the draft level is higher than lev will be excluded.\n// If multiple draft levels are available for a single element, the one with the\n// lowest draft level will be selected, unless preferDraft is true, in which case\n// the highest draft will be chosen.\n// It is assumed that the underlying LDML is canonicalized.\nfunc (cldr *CLDR) SetDraftLevel(lev Draft, preferDraft bool) {\n\t// TODO: implement\n\tcldr.resolved = make(map[string]*LDML)\n}\n\n// RawLDML returns the LDML XML for id in unresolved form.\n// id must be one of the strings returned by Locales.\nfunc (cldr *CLDR) RawLDML(loc string) *LDML {\n\treturn cldr.locale[loc]\n}\n\n// LDML returns the fully resolved LDML XML for loc, which must be one of\n// the strings returned by Locales.\nfunc (cldr *CLDR) LDML(loc string) (*LDML, error) {\n\treturn cldr.resolve(loc)\n}\n\n// Supplemental returns the parsed supplemental data. If no such data was parsed,\n// nil is returned.\nfunc (cldr *CLDR) Supplemental() *SupplementalData {\n\treturn cldr.supp\n}\n\n// Locales returns the locales for which there exist files.\n// Valid sublocales for which there is no file are not included.\n// The root locale is always sorted first.\nfunc (cldr *CLDR) Locales() []string {\n\tloc := []string{\"root\"}\n\thasRoot := false\n\tfor l, _ := range cldr.locale {\n\t\tif l == \"root\" {\n\t\t\thasRoot = true\n\t\t\tcontinue\n\t\t}\n\t\tloc = append(loc, l)\n\t}\n\tsort.Strings(loc[1:])\n\tif !hasRoot {\n\t\treturn loc[1:]\n\t}\n\treturn loc\n}\n\n// Get fills in the fields of x based on the XPath path.\nfunc Get(e Elem, path string) (res Elem, err error) {\n\treturn walkXPath(e, path)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/cldr/collate.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage cldr\n\nimport (\n\t\"bufio\"\n\t\"encoding/xml\"\n\t\"errors\"\n\t\"fmt\"\n\t\"strconv\"\n\t\"strings\"\n\t\"unicode\"\n\t\"unicode/utf8\"\n)\n\n// RuleProcessor can be passed to Collator's Process method, which\n// parses the rules and calls the respective method for each rule found.\ntype RuleProcessor interface {\n\tReset(anchor string, before int) error\n\tInsert(level int, str, context, extend string) error\n\tIndex(id string)\n}\n\nconst (\n\t// cldrIndex is a Unicode-reserved sentinel value used to mark the start\n\t// of a grouping within an index.\n\t// We ignore any rule that starts with this rune.\n\t// See http://unicode.org/reports/tr35/#Collation_Elements for details.\n\tcldrIndex = \"\\uFDD0\"\n\n\t// specialAnchor is the format in which to represent logical reset positions,\n\t// such as \"first tertiary ignorable\".\n\tspecialAnchor = \"<%s/>\"\n)\n\n// Process parses the rules for the tailorings of this collation\n// and calls the respective methods of p for each rule found.\nfunc (c Collation) Process(p RuleProcessor) (err error) {\n\tif len(c.Cr) > 0 {\n\t\tif len(c.Cr) > 1 {\n\t\t\treturn fmt.Errorf(\"multiple cr elements, want 0 or 1\")\n\t\t}\n\t\treturn processRules(p, c.Cr[0].Data())\n\t}\n\tif c.Rules.Any != nil {\n\t\treturn c.processXML(p)\n\t}\n\treturn errors.New(\"no tailoring data\")\n}\n\n// processRules parses rules in the Collation Rule Syntax defined in\n// http://www.unicode.org/reports/tr35/tr35-collation.html#Collation_Tailorings.\nfunc processRules(p RuleProcessor, s string) (err error) {\n\tchk := func(s string, e error) string {\n\t\tif err == nil {\n\t\t\terr = e\n\t\t}\n\t\treturn s\n\t}\n\ti := 0 // Save the line number for use after the loop.\n\tscanner := bufio.NewScanner(strings.NewReader(s))\n\tfor ; scanner.Scan() && err == nil; i++ {\n\t\tfor s := skipSpace(scanner.Text()); s != \"\" && s[0] != '#'; s = skipSpace(s) {\n\t\t\tlevel := 5\n\t\t\tvar ch byte\n\t\t\tswitch ch, s = s[0], s[1:]; ch {\n\t\t\tcase '&': // followed by <anchor> or '[' <key> ']'\n\t\t\t\tif s = skipSpace(s); consume(&s, '[') {\n\t\t\t\t\ts = chk(parseSpecialAnchor(p, s))\n\t\t\t\t} else {\n\t\t\t\t\ts = chk(parseAnchor(p, 0, s))\n\t\t\t\t}\n\t\t\tcase '<': // sort relation '<'{1,4}, optionally followed by '*'.\n\t\t\t\tfor level = 1; consume(&s, '<'); level++ {\n\t\t\t\t}\n\t\t\t\tif level > 4 {\n\t\t\t\t\terr = fmt.Errorf(\"level %d > 4\", level)\n\t\t\t\t}\n\t\t\t\tfallthrough\n\t\t\tcase '=': // identity relation, optionally followed by *.\n\t\t\t\tif consume(&s, '*') {\n\t\t\t\t\ts = chk(parseSequence(p, level, s))\n\t\t\t\t} else {\n\t\t\t\t\ts = chk(parseOrder(p, level, s))\n\t\t\t\t}\n\t\t\tdefault:\n\t\t\t\tchk(\"\", fmt.Errorf(\"illegal operator %q\", ch))\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n\tif chk(\"\", scanner.Err()); err != nil {\n\t\treturn fmt.Errorf(\"%d: %v\", i, err)\n\t}\n\treturn nil\n}\n\n// parseSpecialAnchor parses the anchor syntax which is either of the form\n//    ['before' <level>] <anchor>\n// or\n//    [<label>]\n// The starting should already be consumed.\nfunc parseSpecialAnchor(p RuleProcessor, s string) (tail string, err error) {\n\ti := strings.IndexByte(s, ']')\n\tif i == -1 {\n\t\treturn \"\", errors.New(\"unmatched bracket\")\n\t}\n\ta := strings.TrimSpace(s[:i])\n\ts = s[i+1:]\n\tif strings.HasPrefix(a, \"before \") {\n\t\tl, err := strconv.ParseUint(skipSpace(a[len(\"before \"):]), 10, 3)\n\t\tif err != nil {\n\t\t\treturn s, err\n\t\t}\n\t\treturn parseAnchor(p, int(l), s)\n\t}\n\treturn s, p.Reset(fmt.Sprintf(specialAnchor, a), 0)\n}\n\nfunc parseAnchor(p RuleProcessor, level int, s string) (tail string, err error) {\n\tanchor, s, err := scanString(s)\n\tif err != nil {\n\t\treturn s, err\n\t}\n\treturn s, p.Reset(anchor, level)\n}\n\nfunc parseOrder(p RuleProcessor, level int, s string) (tail string, err error) {\n\tvar value, context, extend string\n\tif value, s, err = scanString(s); err != nil {\n\t\treturn s, err\n\t}\n\tif strings.HasPrefix(value, cldrIndex) {\n\t\tp.Index(value[len(cldrIndex):])\n\t\treturn\n\t}\n\tif consume(&s, '|') {\n\t\tif context, s, err = scanString(s); err != nil {\n\t\t\treturn s, errors.New(\"missing string after context\")\n\t\t}\n\t}\n\tif consume(&s, '/') {\n\t\tif extend, s, err = scanString(s); err != nil {\n\t\t\treturn s, errors.New(\"missing string after extension\")\n\t\t}\n\t}\n\treturn s, p.Insert(level, value, context, extend)\n}\n\n// scanString scans a single input string.\nfunc scanString(s string) (str, tail string, err error) {\n\tif s = skipSpace(s); s == \"\" {\n\t\treturn s, s, errors.New(\"missing string\")\n\t}\n\tbuf := [16]byte{} // small but enough to hold most cases.\n\tvalue := buf[:0]\n\tfor s != \"\" {\n\t\tif consume(&s, '\\'') {\n\t\t\ti := strings.IndexByte(s, '\\'')\n\t\t\tif i == -1 {\n\t\t\t\treturn \"\", \"\", errors.New(`unmatched single quote`)\n\t\t\t}\n\t\t\tif i == 0 {\n\t\t\t\tvalue = append(value, '\\'')\n\t\t\t} else {\n\t\t\t\tvalue = append(value, s[:i]...)\n\t\t\t}\n\t\t\ts = s[i+1:]\n\t\t\tcontinue\n\t\t}\n\t\tr, sz := utf8.DecodeRuneInString(s)\n\t\tif unicode.IsSpace(r) || strings.ContainsRune(\"&<=#\", r) {\n\t\t\tbreak\n\t\t}\n\t\tvalue = append(value, s[:sz]...)\n\t\ts = s[sz:]\n\t}\n\treturn string(value), skipSpace(s), nil\n}\n\nfunc parseSequence(p RuleProcessor, level int, s string) (tail string, err error) {\n\tif s = skipSpace(s); s == \"\" {\n\t\treturn s, errors.New(\"empty sequence\")\n\t}\n\tlast := rune(0)\n\tfor s != \"\" {\n\t\tr, sz := utf8.DecodeRuneInString(s)\n\t\ts = s[sz:]\n\n\t\tif r == '-' {\n\t\t\t// We have a range. The first element was already written.\n\t\t\tif last == 0 {\n\t\t\t\treturn s, errors.New(\"range without starter value\")\n\t\t\t}\n\t\t\tr, sz = utf8.DecodeRuneInString(s)\n\t\t\ts = s[sz:]\n\t\t\tif r == utf8.RuneError || r < last {\n\t\t\t\treturn s, fmt.Errorf(\"invalid range %q-%q\", last, r)\n\t\t\t}\n\t\t\tfor i := last + 1; i <= r; i++ {\n\t\t\t\tif err := p.Insert(level, string(i), \"\", \"\"); err != nil {\n\t\t\t\t\treturn s, err\n\t\t\t\t}\n\t\t\t}\n\t\t\tlast = 0\n\t\t\tcontinue\n\t\t}\n\n\t\tif unicode.IsSpace(r) || unicode.IsPunct(r) {\n\t\t\tbreak\n\t\t}\n\n\t\t// normal case\n\t\tif err := p.Insert(level, string(r), \"\", \"\"); err != nil {\n\t\t\treturn s, err\n\t\t}\n\t\tlast = r\n\t}\n\treturn s, nil\n}\n\nfunc skipSpace(s string) string {\n\treturn strings.TrimLeftFunc(s, unicode.IsSpace)\n}\n\n// consumes returns whether the next byte is ch. If so, it gobbles it by\n// updating s.\nfunc consume(s *string, ch byte) (ok bool) {\n\tif *s == \"\" || (*s)[0] != ch {\n\t\treturn false\n\t}\n\t*s = (*s)[1:]\n\treturn true\n}\n\n// The following code parses Collation rules of CLDR version 24 and before.\n\nvar lmap = map[byte]int{\n\t'p': 1,\n\t's': 2,\n\t't': 3,\n\t'i': 5,\n}\n\ntype rulesElem struct {\n\tRules struct {\n\t\tCommon\n\t\tAny []*struct {\n\t\t\tXMLName xml.Name\n\t\t\trule\n\t\t} `xml:\",any\"`\n\t} `xml:\"rules\"`\n}\n\ntype rule struct {\n\tValue  string `xml:\",chardata\"`\n\tBefore string `xml:\"before,attr\"`\n\tAny    []*struct {\n\t\tXMLName xml.Name\n\t\trule\n\t} `xml:\",any\"`\n}\n\nvar emptyValueError = errors.New(\"cldr: empty rule value\")\n\nfunc (r *rule) value() (string, error) {\n\t// Convert hexadecimal Unicode codepoint notation to a string.\n\ts := charRe.ReplaceAllStringFunc(r.Value, replaceUnicode)\n\tr.Value = s\n\tif s == \"\" {\n\t\tif len(r.Any) != 1 {\n\t\t\treturn \"\", emptyValueError\n\t\t}\n\t\tr.Value = fmt.Sprintf(specialAnchor, r.Any[0].XMLName.Local)\n\t\tr.Any = nil\n\t} else if len(r.Any) != 0 {\n\t\treturn \"\", fmt.Errorf(\"cldr: XML elements found in collation rule: %v\", r.Any)\n\t}\n\treturn r.Value, nil\n}\n\nfunc (r rule) process(p RuleProcessor, name, context, extend string) error {\n\tv, err := r.value()\n\tif err != nil {\n\t\treturn err\n\t}\n\tswitch name {\n\tcase \"p\", \"s\", \"t\", \"i\":\n\t\tif strings.HasPrefix(v, cldrIndex) {\n\t\t\tp.Index(v[len(cldrIndex):])\n\t\t\treturn nil\n\t\t}\n\t\tif err := p.Insert(lmap[name[0]], v, context, extend); err != nil {\n\t\t\treturn err\n\t\t}\n\tcase \"pc\", \"sc\", \"tc\", \"ic\":\n\t\tlevel := lmap[name[0]]\n\t\tfor _, s := range v {\n\t\t\tif err := p.Insert(level, string(s), context, extend); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\tdefault:\n\t\treturn fmt.Errorf(\"cldr: unsupported tag: %q\", name)\n\t}\n\treturn nil\n}\n\n// processXML parses the format of CLDR versions 24 and older.\nfunc (c Collation) processXML(p RuleProcessor) (err error) {\n\t// Collation is generated and defined in xml.go.\n\tvar v string\n\tfor _, r := range c.Rules.Any {\n\t\tswitch r.XMLName.Local {\n\t\tcase \"reset\":\n\t\t\tlevel := 0\n\t\t\tswitch r.Before {\n\t\t\tcase \"primary\", \"1\":\n\t\t\t\tlevel = 1\n\t\t\tcase \"secondary\", \"2\":\n\t\t\t\tlevel = 2\n\t\t\tcase \"tertiary\", \"3\":\n\t\t\t\tlevel = 3\n\t\t\tcase \"\":\n\t\t\tdefault:\n\t\t\t\treturn fmt.Errorf(\"cldr: unknown level %q\", r.Before)\n\t\t\t}\n\t\t\tv, err = r.value()\n\t\t\tif err == nil {\n\t\t\t\terr = p.Reset(v, level)\n\t\t\t}\n\t\tcase \"x\":\n\t\t\tvar context, extend string\n\t\t\tfor _, r1 := range r.Any {\n\t\t\t\tv, err = r1.value()\n\t\t\t\tswitch r1.XMLName.Local {\n\t\t\t\tcase \"context\":\n\t\t\t\t\tcontext = v\n\t\t\t\tcase \"extend\":\n\t\t\t\t\textend = v\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor _, r1 := range r.Any {\n\t\t\t\tif t := r1.XMLName.Local; t == \"context\" || t == \"extend\" {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tr1.rule.process(p, r1.XMLName.Local, context, extend)\n\t\t\t}\n\t\tdefault:\n\t\t\terr = r.rule.process(p, r.XMLName.Local, \"\", \"\")\n\t\t}\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/cldr/decode.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage cldr\n\nimport (\n\t\"archive/zip\"\n\t\"bytes\"\n\t\"encoding/xml\"\n\t\"fmt\"\n\t\"io\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"os\"\n\t\"path/filepath\"\n\t\"regexp\"\n)\n\n// A Decoder loads an archive of CLDR data.\ntype Decoder struct {\n\tdirFilter     []string\n\tsectionFilter []string\n\tloader        Loader\n\tcldr          *CLDR\n\tcurLocale     string\n}\n\n// SetSectionFilter takes a list top-level LDML element names to which\n// evaluation of LDML should be limited.  It automatically calls SetDirFilter.\nfunc (d *Decoder) SetSectionFilter(filter ...string) {\n\td.sectionFilter = filter\n\t// TODO: automatically set dir filter\n}\n\n// SetDirFilter limits the loading of LDML XML files of the specied directories.\n// Note that sections may be split across directories differently for different CLDR versions.\n// For more robust code, use SetSectionFilter.\nfunc (d *Decoder) SetDirFilter(dir ...string) {\n\td.dirFilter = dir\n}\n\n// A Loader provides access to the files of a CLDR archive.\ntype Loader interface {\n\tLen() int\n\tPath(i int) string\n\tReader(i int) (io.ReadCloser, error)\n}\n\nvar fileRe = regexp.MustCompile(`.*[/\\\\](.*)[/\\\\](.*)\\.xml`)\n\n// Decode loads and decodes the files represented by l.\nfunc (d *Decoder) Decode(l Loader) (cldr *CLDR, err error) {\n\td.cldr = makeCLDR()\n\tfor i := 0; i < l.Len(); i++ {\n\t\tfname := l.Path(i)\n\t\tif m := fileRe.FindStringSubmatch(fname); m != nil {\n\t\t\tif len(d.dirFilter) > 0 && !in(d.dirFilter, m[1]) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tvar r io.Reader\n\t\t\tif r, err = l.Reader(i); err == nil {\n\t\t\t\terr = d.decode(m[1], m[2], r)\n\t\t\t}\n\t\t\tif err != nil {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t}\n\t}\n\td.cldr.finalize(d.sectionFilter)\n\treturn d.cldr, nil\n}\n\nfunc (d *Decoder) decode(dir, id string, r io.Reader) error {\n\tvar v interface{}\n\tvar l *LDML\n\tcldr := d.cldr\n\tswitch {\n\tcase dir == \"supplemental\":\n\t\tv = cldr.supp\n\tcase dir == \"transforms\":\n\t\treturn nil\n\tcase dir == \"bcp47\":\n\t\tv = cldr.bcp47\n\tcase dir == \"validity\":\n\t\treturn nil\n\tdefault:\n\t\tok := false\n\t\tif v, ok = cldr.locale[id]; !ok {\n\t\t\tl = &LDML{}\n\t\t\tv, cldr.locale[id] = l, l\n\t\t}\n\t}\n\tx := xml.NewDecoder(r)\n\tif err := x.Decode(v); err != nil {\n\t\tlog.Printf(\"%s/%s: %v\", dir, id, err)\n\t\treturn err\n\t}\n\tif l != nil {\n\t\tif l.Identity == nil {\n\t\t\treturn fmt.Errorf(\"%s/%s: missing identity element\", dir, id)\n\t\t}\n\t\t// TODO: verify when CLDR bug http://unicode.org/cldr/trac/ticket/8970\n\t\t// is resolved.\n\t\t// path := strings.Split(id, \"_\")\n\t\t// if lang := l.Identity.Language.Type; lang != path[0] {\n\t\t// \treturn fmt.Errorf(\"%s/%s: language was %s; want %s\", dir, id, lang, path[0])\n\t\t// }\n\t}\n\treturn nil\n}\n\ntype pathLoader []string\n\nfunc makePathLoader(path string) (pl pathLoader, err error) {\n\terr = filepath.Walk(path, func(path string, _ os.FileInfo, err error) error {\n\t\tpl = append(pl, path)\n\t\treturn err\n\t})\n\treturn pl, err\n}\n\nfunc (pl pathLoader) Len() int {\n\treturn len(pl)\n}\n\nfunc (pl pathLoader) Path(i int) string {\n\treturn pl[i]\n}\n\nfunc (pl pathLoader) Reader(i int) (io.ReadCloser, error) {\n\treturn os.Open(pl[i])\n}\n\n// DecodePath loads CLDR data from the given path.\nfunc (d *Decoder) DecodePath(path string) (cldr *CLDR, err error) {\n\tloader, err := makePathLoader(path)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn d.Decode(loader)\n}\n\ntype zipLoader struct {\n\tr *zip.Reader\n}\n\nfunc (zl zipLoader) Len() int {\n\treturn len(zl.r.File)\n}\n\nfunc (zl zipLoader) Path(i int) string {\n\treturn zl.r.File[i].Name\n}\n\nfunc (zl zipLoader) Reader(i int) (io.ReadCloser, error) {\n\treturn zl.r.File[i].Open()\n}\n\n// DecodeZip loads CLDR data from the zip archive for which r is the source.\nfunc (d *Decoder) DecodeZip(r io.Reader) (cldr *CLDR, err error) {\n\tbuffer, err := ioutil.ReadAll(r)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tarchive, err := zip.NewReader(bytes.NewReader(buffer), int64(len(buffer)))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn d.Decode(zipLoader{archive})\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/cldr/makexml.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\n// This tool generates types for the various XML formats of CLDR.\npackage main\n\nimport (\n\t\"archive/zip\"\n\t\"bytes\"\n\t\"encoding/xml\"\n\t\"flag\"\n\t\"fmt\"\n\t\"io\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"os\"\n\t\"regexp\"\n\t\"strings\"\n\n\t\"golang.org/x/text/internal/gen\"\n)\n\nvar outputFile = flag.String(\"output\", \"xml.go\", \"output file name\")\n\nfunc main() {\n\tflag.Parse()\n\n\tr := gen.OpenCLDRCoreZip()\n\tbuffer, err := ioutil.ReadAll(r)\n\tif err != nil {\n\t\tlog.Fatal(\"Could not read zip file\")\n\t}\n\tr.Close()\n\tz, err := zip.NewReader(bytes.NewReader(buffer), int64(len(buffer)))\n\tif err != nil {\n\t\tlog.Fatalf(\"Could not read zip archive: %v\", err)\n\t}\n\n\tvar buf bytes.Buffer\n\n\tversion := gen.CLDRVersion()\n\n\tfor _, dtd := range files {\n\t\tfor _, f := range z.File {\n\t\t\tif strings.HasSuffix(f.Name, dtd.file+\".dtd\") {\n\t\t\t\tr, err := f.Open()\n\t\t\t\tfailOnError(err)\n\n\t\t\t\tb := makeBuilder(&buf, dtd)\n\t\t\t\tb.parseDTD(r)\n\t\t\t\tb.resolve(b.index[dtd.top[0]])\n\t\t\t\tb.write()\n\t\t\t\tif b.version != \"\" && version != b.version {\n\t\t\t\t\tprintln(f.Name)\n\t\t\t\t\tlog.Fatalf(\"main: inconsistent versions: found %s; want %s\", b.version, version)\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n\tfmt.Fprintln(&buf, \"// Version is the version of CLDR from which the XML definitions are generated.\")\n\tfmt.Fprintf(&buf, \"const Version = %q\\n\", version)\n\n\tgen.WriteGoFile(*outputFile, \"cldr\", buf.Bytes())\n}\n\nfunc failOnError(err error) {\n\tif err != nil {\n\t\tlog.New(os.Stderr, \"\", log.Lshortfile).Output(2, err.Error())\n\t\tos.Exit(1)\n\t}\n}\n\n// configuration data per DTD type\ntype dtd struct {\n\tfile string   // base file name\n\troot string   // Go name of the root XML element\n\ttop  []string // create a different type for this section\n\n\tskipElem    []string // hard-coded or deprecated elements\n\tskipAttr    []string // attributes to exclude\n\tpredefined  []string // hard-coded elements exist of the form <name>Elem\n\tforceRepeat []string // elements to make slices despite DTD\n}\n\nvar files = []dtd{\n\t{\n\t\tfile: \"ldmlBCP47\",\n\t\troot: \"LDMLBCP47\",\n\t\ttop:  []string{\"ldmlBCP47\"},\n\t\tskipElem: []string{\n\t\t\t\"cldrVersion\", // deprecated, not used\n\t\t},\n\t},\n\t{\n\t\tfile: \"ldmlSupplemental\",\n\t\troot: \"SupplementalData\",\n\t\ttop:  []string{\"supplementalData\"},\n\t\tskipElem: []string{\n\t\t\t\"cldrVersion\", // deprecated, not used\n\t\t},\n\t\tforceRepeat: []string{\n\t\t\t\"plurals\", // data defined in plurals.xml and ordinals.xml\n\t\t},\n\t},\n\t{\n\t\tfile: \"ldml\",\n\t\troot: \"LDML\",\n\t\ttop: []string{\n\t\t\t\"ldml\", \"collation\", \"calendar\", \"timeZoneNames\", \"localeDisplayNames\", \"numbers\",\n\t\t},\n\t\tskipElem: []string{\n\t\t\t\"cp\",       // not used anywhere\n\t\t\t\"special\",  // not used anywhere\n\t\t\t\"fallback\", // deprecated, not used\n\t\t\t\"alias\",    // in Common\n\t\t\t\"default\",  // in Common\n\t\t},\n\t\tskipAttr: []string{\n\t\t\t\"hiraganaQuarternary\", // typo in DTD, correct version included as well\n\t\t},\n\t\tpredefined: []string{\"rules\"},\n\t},\n}\n\nvar comments = map[string]string{\n\t\"ldmlBCP47\": `\n// LDMLBCP47 holds information on allowable values for various variables in LDML.\n`,\n\t\"supplementalData\": `\n// SupplementalData holds information relevant for internationalization\n// and proper use of CLDR, but that is not contained in the locale hierarchy.\n`,\n\t\"ldml\": `\n// LDML is the top-level type for locale-specific data.\n`,\n\t\"collation\": `\n// Collation contains rules that specify a certain sort-order,\n// as a tailoring of the root order. \n// The parsed rules are obtained by passing a RuleProcessor to Collation's\n// Process method.\n`,\n\t\"calendar\": `\n// Calendar specifies the fields used for formatting and parsing dates and times.\n// The month and quarter names are identified numerically, starting at 1.\n// The day (of the week) names are identified with short strings, since there is\n// no universally-accepted numeric designation.\n`,\n\t\"dates\": `\n// Dates contains information regarding the format and parsing of dates and times.\n`,\n\t\"localeDisplayNames\": `\n// LocaleDisplayNames specifies localized display names for for scripts, languages,\n// countries, currencies, and variants.\n`,\n\t\"numbers\": `\n// Numbers supplies information for formatting and parsing numbers and currencies.\n`,\n}\n\ntype element struct {\n\tname      string // XML element name\n\tcategory  string // elements contained by this element\n\tsignature string // category + attrKey*\n\n\tattr []*attribute // attributes supported by this element.\n\tsub  []struct {   // parsed and evaluated sub elements of this element.\n\t\te      *element\n\t\trepeat bool // true if the element needs to be a slice\n\t}\n\n\tresolved bool // prevent multiple resolutions of this element.\n}\n\ntype attribute struct {\n\tname string\n\tkey  string\n\tlist []string\n\n\ttag string // Go tag\n}\n\nvar (\n\treHead  = regexp.MustCompile(` *(\\w+) +([\\w\\-]+)`)\n\treAttr  = regexp.MustCompile(` *(\\w+) *(?:(\\w+)|\\(([\\w\\- \\|]+)\\)) *(?:#([A-Z]*) *(?:\\\"([\\.\\d+])\\\")?)? *(\"[\\w\\-:]*\")?`)\n\treElem  = regexp.MustCompile(`^ *(EMPTY|ANY|\\(.*\\)[\\*\\+\\?]?) *$`)\n\treToken = regexp.MustCompile(`\\w\\-`)\n)\n\n// builder is used to read in the DTD files from CLDR and generate Go code\n// to be used with the encoding/xml package.\ntype builder struct {\n\tw       io.Writer\n\tindex   map[string]*element\n\telem    []*element\n\tinfo    dtd\n\tversion string\n}\n\nfunc makeBuilder(w io.Writer, d dtd) builder {\n\treturn builder{\n\t\tw:     w,\n\t\tindex: make(map[string]*element),\n\t\telem:  []*element{},\n\t\tinfo:  d,\n\t}\n}\n\n// parseDTD parses a DTD file.\nfunc (b *builder) parseDTD(r io.Reader) {\n\tfor d := xml.NewDecoder(r); ; {\n\t\tt, err := d.Token()\n\t\tif t == nil {\n\t\t\tbreak\n\t\t}\n\t\tfailOnError(err)\n\t\tdir, ok := t.(xml.Directive)\n\t\tif !ok {\n\t\t\tcontinue\n\t\t}\n\t\tm := reHead.FindSubmatch(dir)\n\t\tdir = dir[len(m[0]):]\n\t\tename := string(m[2])\n\t\tel, elementFound := b.index[ename]\n\t\tswitch string(m[1]) {\n\t\tcase \"ELEMENT\":\n\t\t\tif elementFound {\n\t\t\t\tlog.Fatal(\"parseDTD: duplicate entry for element %q\", ename)\n\t\t\t}\n\t\t\tm := reElem.FindSubmatch(dir)\n\t\t\tif m == nil {\n\t\t\t\tlog.Fatalf(\"parseDTD: invalid element %q\", string(dir))\n\t\t\t}\n\t\t\tif len(m[0]) != len(dir) {\n\t\t\t\tlog.Fatal(\"parseDTD: invalid element %q\", string(dir), len(dir), len(m[0]), string(m[0]))\n\t\t\t}\n\t\t\ts := string(m[1])\n\t\t\tel = &element{\n\t\t\t\tname:     ename,\n\t\t\t\tcategory: s,\n\t\t\t}\n\t\t\tb.index[ename] = el\n\t\tcase \"ATTLIST\":\n\t\t\tif !elementFound {\n\t\t\t\tlog.Fatalf(\"parseDTD: unknown element %q\", ename)\n\t\t\t}\n\t\t\ts := string(dir)\n\t\t\tm := reAttr.FindStringSubmatch(s)\n\t\t\tif m == nil {\n\t\t\t\tlog.Fatal(fmt.Errorf(\"parseDTD: invalid attribute %q\", string(dir)))\n\t\t\t}\n\t\t\tif m[4] == \"FIXED\" {\n\t\t\t\tb.version = m[5]\n\t\t\t} else {\n\t\t\t\tswitch m[1] {\n\t\t\t\tcase \"draft\", \"references\", \"alt\", \"validSubLocales\", \"standard\" /* in Common */ :\n\t\t\t\tcase \"type\", \"choice\":\n\t\t\t\tdefault:\n\t\t\t\t\tel.attr = append(el.attr, &attribute{\n\t\t\t\t\t\tname: m[1],\n\t\t\t\t\t\tkey:  s,\n\t\t\t\t\t\tlist: reToken.FindAllString(m[3], -1),\n\t\t\t\t\t})\n\t\t\t\t\tel.signature = fmt.Sprintf(\"%s=%s+%s\", el.signature, m[1], m[2])\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nvar reCat = regexp.MustCompile(`[ ,\\|]*(?:(\\(|\\)|\\#?[\\w_-]+)([\\*\\+\\?]?))?`)\n\n// resolve takes a parsed element and converts it into structured data\n// that can be used to generate the XML code.\nfunc (b *builder) resolve(e *element) {\n\tif e.resolved {\n\t\treturn\n\t}\n\tb.elem = append(b.elem, e)\n\te.resolved = true\n\ts := e.category\n\tfound := make(map[string]bool)\n\tsequenceStart := []int{}\n\tfor len(s) > 0 {\n\t\tm := reCat.FindStringSubmatch(s)\n\t\tif m == nil {\n\t\t\tlog.Fatalf(\"%s: invalid category string %q\", e.name, s)\n\t\t}\n\t\trepeat := m[2] == \"*\" || m[2] == \"+\" || in(b.info.forceRepeat, m[1])\n\t\tswitch m[1] {\n\t\tcase \"\":\n\t\tcase \"(\":\n\t\t\tsequenceStart = append(sequenceStart, len(e.sub))\n\t\tcase \")\":\n\t\t\tif len(sequenceStart) == 0 {\n\t\t\t\tlog.Fatalf(\"%s: unmatched closing parenthesis\", e.name)\n\t\t\t}\n\t\t\tfor i := sequenceStart[len(sequenceStart)-1]; i < len(e.sub); i++ {\n\t\t\t\te.sub[i].repeat = e.sub[i].repeat || repeat\n\t\t\t}\n\t\t\tsequenceStart = sequenceStart[:len(sequenceStart)-1]\n\t\tdefault:\n\t\t\tif in(b.info.skipElem, m[1]) {\n\t\t\t} else if sub, ok := b.index[m[1]]; ok {\n\t\t\t\tif !found[sub.name] {\n\t\t\t\t\te.sub = append(e.sub, struct {\n\t\t\t\t\t\te      *element\n\t\t\t\t\t\trepeat bool\n\t\t\t\t\t}{sub, repeat})\n\t\t\t\t\tfound[sub.name] = true\n\t\t\t\t\tb.resolve(sub)\n\t\t\t\t}\n\t\t\t} else if m[1] == \"#PCDATA\" || m[1] == \"ANY\" {\n\t\t\t} else if m[1] != \"EMPTY\" {\n\t\t\t\tlog.Fatalf(\"resolve:%s: element %q not found\", e.name, m[1])\n\t\t\t}\n\t\t}\n\t\ts = s[len(m[0]):]\n\t}\n}\n\n// return true if s is contained in set.\nfunc in(set []string, s string) bool {\n\tfor _, v := range set {\n\t\tif v == s {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\nvar repl = strings.NewReplacer(\"-\", \" \", \"_\", \" \")\n\n// title puts the first character or each character following '_' in title case and\n// removes all occurrences of '_'.\nfunc title(s string) string {\n\treturn strings.Replace(strings.Title(repl.Replace(s)), \" \", \"\", -1)\n}\n\n// writeElem generates Go code for a single element, recursively.\nfunc (b *builder) writeElem(tab int, e *element) {\n\tp := func(f string, x ...interface{}) {\n\t\tf = strings.Replace(f, \"\\n\", \"\\n\"+strings.Repeat(\"\\t\", tab), -1)\n\t\tfmt.Fprintf(b.w, f, x...)\n\t}\n\tif len(e.sub) == 0 && len(e.attr) == 0 {\n\t\tp(\"Common\")\n\t\treturn\n\t}\n\tp(\"struct {\")\n\ttab++\n\tp(\"\\nCommon\")\n\tfor _, attr := range e.attr {\n\t\tif !in(b.info.skipAttr, attr.name) {\n\t\t\tp(\"\\n%s string `xml:\\\"%s,attr\\\"`\", title(attr.name), attr.name)\n\t\t}\n\t}\n\tfor _, sub := range e.sub {\n\t\tif in(b.info.predefined, sub.e.name) {\n\t\t\tp(\"\\n%sElem\", sub.e.name)\n\t\t\tcontinue\n\t\t}\n\t\tif in(b.info.skipElem, sub.e.name) {\n\t\t\tcontinue\n\t\t}\n\t\tp(\"\\n%s \", title(sub.e.name))\n\t\tif sub.repeat {\n\t\t\tp(\"[]\")\n\t\t}\n\t\tp(\"*\")\n\t\tif in(b.info.top, sub.e.name) {\n\t\t\tp(title(sub.e.name))\n\t\t} else {\n\t\t\tb.writeElem(tab, sub.e)\n\t\t}\n\t\tp(\" `xml:\\\"%s\\\"`\", sub.e.name)\n\t}\n\ttab--\n\tp(\"\\n}\")\n}\n\n// write generates the Go XML code.\nfunc (b *builder) write() {\n\tfor i, name := range b.info.top {\n\t\te := b.index[name]\n\t\tif e != nil {\n\t\t\tfmt.Fprintf(b.w, comments[name])\n\t\t\tname := title(e.name)\n\t\t\tif i == 0 {\n\t\t\t\tname = b.info.root\n\t\t\t}\n\t\t\tfmt.Fprintf(b.w, \"type %s \", name)\n\t\t\tb.writeElem(0, e)\n\t\t\tfmt.Fprint(b.w, \"\\n\")\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/cldr/resolve.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage cldr\n\n// This file implements the various inheritance constructs defined by LDML.\n// See http://www.unicode.org/reports/tr35/#Inheritance_and_Validity\n// for more details.\n\nimport (\n\t\"fmt\"\n\t\"log\"\n\t\"reflect\"\n\t\"regexp\"\n\t\"sort\"\n\t\"strings\"\n)\n\n// fieldIter iterates over fields in a struct. It includes\n// fields of embedded structs.\ntype fieldIter struct {\n\tv        reflect.Value\n\tindex, n []int\n}\n\nfunc iter(v reflect.Value) fieldIter {\n\tif v.Kind() != reflect.Struct {\n\t\tlog.Panicf(\"value %v must be a struct\", v)\n\t}\n\ti := fieldIter{\n\t\tv:     v,\n\t\tindex: []int{0},\n\t\tn:     []int{v.NumField()},\n\t}\n\ti.descent()\n\treturn i\n}\n\nfunc (i *fieldIter) descent() {\n\tfor f := i.field(); f.Anonymous && f.Type.NumField() > 0; f = i.field() {\n\t\ti.index = append(i.index, 0)\n\t\ti.n = append(i.n, f.Type.NumField())\n\t}\n}\n\nfunc (i *fieldIter) done() bool {\n\treturn len(i.index) == 1 && i.index[0] >= i.n[0]\n}\n\nfunc skip(f reflect.StructField) bool {\n\treturn !f.Anonymous && (f.Name[0] < 'A' || f.Name[0] > 'Z')\n}\n\nfunc (i *fieldIter) next() {\n\tfor {\n\t\tk := len(i.index) - 1\n\t\ti.index[k]++\n\t\tif i.index[k] < i.n[k] {\n\t\t\tif !skip(i.field()) {\n\t\t\t\tbreak\n\t\t\t}\n\t\t} else {\n\t\t\tif k == 0 {\n\t\t\t\treturn\n\t\t\t}\n\t\t\ti.index = i.index[:k]\n\t\t\ti.n = i.n[:k]\n\t\t}\n\t}\n\ti.descent()\n}\n\nfunc (i *fieldIter) value() reflect.Value {\n\treturn i.v.FieldByIndex(i.index)\n}\n\nfunc (i *fieldIter) field() reflect.StructField {\n\treturn i.v.Type().FieldByIndex(i.index)\n}\n\ntype visitor func(v reflect.Value) error\n\nvar stopDescent = fmt.Errorf(\"do not recurse\")\n\nfunc (f visitor) visit(x interface{}) error {\n\treturn f.visitRec(reflect.ValueOf(x))\n}\n\n// visit recursively calls f on all nodes in v.\nfunc (f visitor) visitRec(v reflect.Value) error {\n\tif v.Kind() == reflect.Ptr {\n\t\tif v.IsNil() {\n\t\t\treturn nil\n\t\t}\n\t\treturn f.visitRec(v.Elem())\n\t}\n\tif err := f(v); err != nil {\n\t\tif err == stopDescent {\n\t\t\treturn nil\n\t\t}\n\t\treturn err\n\t}\n\tswitch v.Kind() {\n\tcase reflect.Struct:\n\t\tfor i := iter(v); !i.done(); i.next() {\n\t\t\tif err := f.visitRec(i.value()); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\tcase reflect.Slice:\n\t\tfor i := 0; i < v.Len(); i++ {\n\t\t\tif err := f.visitRec(v.Index(i)); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}\n\t}\n\treturn nil\n}\n\n// getPath is used for error reporting purposes only.\nfunc getPath(e Elem) string {\n\tif e == nil {\n\t\treturn \"<nil>\"\n\t}\n\tif e.enclosing() == nil {\n\t\treturn e.GetCommon().name\n\t}\n\tif e.GetCommon().Type == \"\" {\n\t\treturn fmt.Sprintf(\"%s.%s\", getPath(e.enclosing()), e.GetCommon().name)\n\t}\n\treturn fmt.Sprintf(\"%s.%s[type=%s]\", getPath(e.enclosing()), e.GetCommon().name, e.GetCommon().Type)\n}\n\n// xmlName returns the xml name of the element or attribute\nfunc xmlName(f reflect.StructField) (name string, attr bool) {\n\ttags := strings.Split(f.Tag.Get(\"xml\"), \",\")\n\tfor _, s := range tags {\n\t\tattr = attr || s == \"attr\"\n\t}\n\treturn tags[0], attr\n}\n\nfunc findField(v reflect.Value, key string) (reflect.Value, error) {\n\tv = reflect.Indirect(v)\n\tfor i := iter(v); !i.done(); i.next() {\n\t\tif n, _ := xmlName(i.field()); n == key {\n\t\t\treturn i.value(), nil\n\t\t}\n\t}\n\treturn reflect.Value{}, fmt.Errorf(\"cldr: no field %q in element %#v\", key, v.Interface())\n}\n\nvar xpathPart = regexp.MustCompile(`(\\pL+)(?:\\[@(\\pL+)='([\\w-]+)'\\])?`)\n\nfunc walkXPath(e Elem, path string) (res Elem, err error) {\n\tfor _, c := range strings.Split(path, \"/\") {\n\t\tif c == \"..\" {\n\t\t\tif e = e.enclosing(); e == nil {\n\t\t\t\tpanic(\"path ..\")\n\t\t\t\treturn nil, fmt.Errorf(`cldr: \"..\" moves past root in path %q`, path)\n\t\t\t}\n\t\t\tcontinue\n\t\t} else if c == \"\" {\n\t\t\tcontinue\n\t\t}\n\t\tm := xpathPart.FindStringSubmatch(c)\n\t\tif len(m) == 0 || len(m[0]) != len(c) {\n\t\t\treturn nil, fmt.Errorf(\"cldr: syntax error in path component %q\", c)\n\t\t}\n\t\tv, err := findField(reflect.ValueOf(e), m[1])\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tswitch v.Kind() {\n\t\tcase reflect.Slice:\n\t\t\ti := 0\n\t\t\tif m[2] != \"\" || v.Len() > 1 {\n\t\t\t\tif m[2] == \"\" {\n\t\t\t\t\tm[2] = \"type\"\n\t\t\t\t\tif m[3] = e.GetCommon().Default(); m[3] == \"\" {\n\t\t\t\t\t\treturn nil, fmt.Errorf(\"cldr: type selector or default value needed for element %s\", m[1])\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfor ; i < v.Len(); i++ {\n\t\t\t\t\tvi := v.Index(i)\n\t\t\t\t\tkey, err := findField(vi.Elem(), m[2])\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn nil, err\n\t\t\t\t\t}\n\t\t\t\t\tkey = reflect.Indirect(key)\n\t\t\t\t\tif key.Kind() == reflect.String && key.String() == m[3] {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif i == v.Len() || v.Index(i).IsNil() {\n\t\t\t\treturn nil, fmt.Errorf(\"no %s found with %s==%s\", m[1], m[2], m[3])\n\t\t\t}\n\t\t\te = v.Index(i).Interface().(Elem)\n\t\tcase reflect.Ptr:\n\t\t\tif v.IsNil() {\n\t\t\t\treturn nil, fmt.Errorf(\"cldr: element %q not found within element %q\", m[1], e.GetCommon().name)\n\t\t\t}\n\t\t\tvar ok bool\n\t\t\tif e, ok = v.Interface().(Elem); !ok {\n\t\t\t\treturn nil, fmt.Errorf(\"cldr: %q is not an XML element\", m[1])\n\t\t\t} else if m[2] != \"\" || m[3] != \"\" {\n\t\t\t\treturn nil, fmt.Errorf(\"cldr: no type selector allowed for element %s\", m[1])\n\t\t\t}\n\t\tdefault:\n\t\t\treturn nil, fmt.Errorf(\"cldr: %q is not an XML element\", m[1])\n\t\t}\n\t}\n\treturn e, nil\n}\n\nconst absPrefix = \"//ldml/\"\n\nfunc (cldr *CLDR) resolveAlias(e Elem, src, path string) (res Elem, err error) {\n\tif src != \"locale\" {\n\t\tif !strings.HasPrefix(path, absPrefix) {\n\t\t\treturn nil, fmt.Errorf(\"cldr: expected absolute path, found %q\", path)\n\t\t}\n\t\tpath = path[len(absPrefix):]\n\t\tif e, err = cldr.resolve(src); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\treturn walkXPath(e, path)\n}\n\nfunc (cldr *CLDR) resolveAndMergeAlias(e Elem) error {\n\talias := e.GetCommon().Alias\n\tif alias == nil {\n\t\treturn nil\n\t}\n\ta, err := cldr.resolveAlias(e, alias.Source, alias.Path)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"%v: error evaluating path %q: %v\", getPath(e), alias.Path, err)\n\t}\n\t// Ensure alias node was already evaluated. TODO: avoid double evaluation.\n\terr = cldr.resolveAndMergeAlias(a)\n\tv := reflect.ValueOf(e).Elem()\n\tfor i := iter(reflect.ValueOf(a).Elem()); !i.done(); i.next() {\n\t\tif vv := i.value(); vv.Kind() != reflect.Ptr || !vv.IsNil() {\n\t\t\tif _, attr := xmlName(i.field()); !attr {\n\t\t\t\tv.FieldByIndex(i.index).Set(vv)\n\t\t\t}\n\t\t}\n\t}\n\treturn err\n}\n\nfunc (cldr *CLDR) aliasResolver() visitor {\n\treturn func(v reflect.Value) (err error) {\n\t\tif e, ok := v.Addr().Interface().(Elem); ok {\n\t\t\terr = cldr.resolveAndMergeAlias(e)\n\t\t\tif err == nil && blocking[e.GetCommon().name] {\n\t\t\t\treturn stopDescent\n\t\t\t}\n\t\t}\n\t\treturn err\n\t}\n}\n\n// elements within blocking elements do not inherit.\n// Taken from CLDR's supplementalMetaData.xml.\nvar blocking = map[string]bool{\n\t\"identity\":         true,\n\t\"supplementalData\": true,\n\t\"cldrTest\":         true,\n\t\"collation\":        true,\n\t\"transform\":        true,\n}\n\n// Distinguishing attributes affect inheritance; two elements with different\n// distinguishing attributes are treated as different for purposes of inheritance,\n// except when such attributes occur in the indicated elements.\n// Taken from CLDR's supplementalMetaData.xml.\nvar distinguishing = map[string][]string{\n\t\"key\":        nil,\n\t\"request_id\": nil,\n\t\"id\":         nil,\n\t\"registry\":   nil,\n\t\"alt\":        nil,\n\t\"iso4217\":    nil,\n\t\"iso3166\":    nil,\n\t\"mzone\":      nil,\n\t\"from\":       nil,\n\t\"to\":         nil,\n\t\"type\": []string{\n\t\t\"abbreviationFallback\",\n\t\t\"default\",\n\t\t\"mapping\",\n\t\t\"measurementSystem\",\n\t\t\"preferenceOrdering\",\n\t},\n\t\"numberSystem\": nil,\n}\n\nfunc in(set []string, s string) bool {\n\tfor _, v := range set {\n\t\tif v == s {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\n// attrKey computes a key based on the distinguishable attributes of\n// an element and it's values.\nfunc attrKey(v reflect.Value, exclude ...string) string {\n\tparts := []string{}\n\tename := v.Interface().(Elem).GetCommon().name\n\tv = v.Elem()\n\tfor i := iter(v); !i.done(); i.next() {\n\t\tif name, attr := xmlName(i.field()); attr {\n\t\t\tif except, ok := distinguishing[name]; ok && !in(exclude, name) && !in(except, ename) {\n\t\t\t\tv := i.value()\n\t\t\t\tif v.Kind() == reflect.Ptr {\n\t\t\t\t\tv = v.Elem()\n\t\t\t\t}\n\t\t\t\tif v.IsValid() {\n\t\t\t\t\tparts = append(parts, fmt.Sprintf(\"%s=%s\", name, v.String()))\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tsort.Strings(parts)\n\treturn strings.Join(parts, \";\")\n}\n\n// Key returns a key for e derived from all distinguishing attributes\n// except those specified by exclude.\nfunc Key(e Elem, exclude ...string) string {\n\treturn attrKey(reflect.ValueOf(e), exclude...)\n}\n\n// linkEnclosing sets the enclosing element as well as the name\n// for all sub-elements of child, recursively.\nfunc linkEnclosing(parent, child Elem) {\n\tchild.setEnclosing(parent)\n\tv := reflect.ValueOf(child).Elem()\n\tfor i := iter(v); !i.done(); i.next() {\n\t\tvf := i.value()\n\t\tif vf.Kind() == reflect.Slice {\n\t\t\tfor j := 0; j < vf.Len(); j++ {\n\t\t\t\tlinkEnclosing(child, vf.Index(j).Interface().(Elem))\n\t\t\t}\n\t\t} else if vf.Kind() == reflect.Ptr && !vf.IsNil() && vf.Elem().Kind() == reflect.Struct {\n\t\t\tlinkEnclosing(child, vf.Interface().(Elem))\n\t\t}\n\t}\n}\n\nfunc setNames(e Elem, name string) {\n\te.setName(name)\n\tv := reflect.ValueOf(e).Elem()\n\tfor i := iter(v); !i.done(); i.next() {\n\t\tvf := i.value()\n\t\tname, _ = xmlName(i.field())\n\t\tif vf.Kind() == reflect.Slice {\n\t\t\tfor j := 0; j < vf.Len(); j++ {\n\t\t\t\tsetNames(vf.Index(j).Interface().(Elem), name)\n\t\t\t}\n\t\t} else if vf.Kind() == reflect.Ptr && !vf.IsNil() && vf.Elem().Kind() == reflect.Struct {\n\t\t\tsetNames(vf.Interface().(Elem), name)\n\t\t}\n\t}\n}\n\n// deepCopy copies elements of v recursively.  All elements of v that may\n// be modified by inheritance are explicitly copied.\nfunc deepCopy(v reflect.Value) reflect.Value {\n\tswitch v.Kind() {\n\tcase reflect.Ptr:\n\t\tif v.IsNil() || v.Elem().Kind() != reflect.Struct {\n\t\t\treturn v\n\t\t}\n\t\tnv := reflect.New(v.Elem().Type())\n\t\tnv.Elem().Set(v.Elem())\n\t\tdeepCopyRec(nv.Elem(), v.Elem())\n\t\treturn nv\n\tcase reflect.Slice:\n\t\tnv := reflect.MakeSlice(v.Type(), v.Len(), v.Len())\n\t\tfor i := 0; i < v.Len(); i++ {\n\t\t\tdeepCopyRec(nv.Index(i), v.Index(i))\n\t\t}\n\t\treturn nv\n\t}\n\tpanic(\"deepCopy: must be called with pointer or slice\")\n}\n\n// deepCopyRec is only called by deepCopy.\nfunc deepCopyRec(nv, v reflect.Value) {\n\tif v.Kind() == reflect.Struct {\n\t\tt := v.Type()\n\t\tfor i := 0; i < v.NumField(); i++ {\n\t\t\tif name, attr := xmlName(t.Field(i)); name != \"\" && !attr {\n\t\t\t\tdeepCopyRec(nv.Field(i), v.Field(i))\n\t\t\t}\n\t\t}\n\t} else {\n\t\tnv.Set(deepCopy(v))\n\t}\n}\n\n// newNode is used to insert a missing node during inheritance.\nfunc (cldr *CLDR) newNode(v, enc reflect.Value) reflect.Value {\n\tn := reflect.New(v.Type())\n\tfor i := iter(v); !i.done(); i.next() {\n\t\tif name, attr := xmlName(i.field()); name == \"\" || attr {\n\t\t\tn.Elem().FieldByIndex(i.index).Set(i.value())\n\t\t}\n\t}\n\tn.Interface().(Elem).GetCommon().setEnclosing(enc.Addr().Interface().(Elem))\n\treturn n\n}\n\n// v, parent must be pointers to struct\nfunc (cldr *CLDR) inheritFields(v, parent reflect.Value) (res reflect.Value, err error) {\n\tt := v.Type()\n\tnv := reflect.New(t)\n\tnv.Elem().Set(v)\n\tfor i := iter(v); !i.done(); i.next() {\n\t\tvf := i.value()\n\t\tf := i.field()\n\t\tname, attr := xmlName(f)\n\t\tif name == \"\" || attr {\n\t\t\tcontinue\n\t\t}\n\t\tpf := parent.FieldByIndex(i.index)\n\t\tif blocking[name] {\n\t\t\tif vf.IsNil() {\n\t\t\t\tvf = pf\n\t\t\t}\n\t\t\tnv.Elem().FieldByIndex(i.index).Set(deepCopy(vf))\n\t\t\tcontinue\n\t\t}\n\t\tswitch f.Type.Kind() {\n\t\tcase reflect.Ptr:\n\t\t\tif f.Type.Elem().Kind() == reflect.Struct {\n\t\t\t\tif !vf.IsNil() {\n\t\t\t\t\tif vf, err = cldr.inheritStructPtr(vf, pf); err != nil {\n\t\t\t\t\t\treturn reflect.Value{}, err\n\t\t\t\t\t}\n\t\t\t\t\tvf.Interface().(Elem).setEnclosing(nv.Interface().(Elem))\n\t\t\t\t\tnv.Elem().FieldByIndex(i.index).Set(vf)\n\t\t\t\t} else if !pf.IsNil() {\n\t\t\t\t\tn := cldr.newNode(pf.Elem(), v)\n\t\t\t\t\tif vf, err = cldr.inheritStructPtr(n, pf); err != nil {\n\t\t\t\t\t\treturn reflect.Value{}, err\n\t\t\t\t\t}\n\t\t\t\t\tvf.Interface().(Elem).setEnclosing(nv.Interface().(Elem))\n\t\t\t\t\tnv.Elem().FieldByIndex(i.index).Set(vf)\n\t\t\t\t}\n\t\t\t}\n\t\tcase reflect.Slice:\n\t\t\tvf, err := cldr.inheritSlice(nv.Elem(), vf, pf)\n\t\t\tif err != nil {\n\t\t\t\treturn reflect.Zero(t), err\n\t\t\t}\n\t\t\tnv.Elem().FieldByIndex(i.index).Set(vf)\n\t\t}\n\t}\n\treturn nv, nil\n}\n\nfunc root(e Elem) *LDML {\n\tfor ; e.enclosing() != nil; e = e.enclosing() {\n\t}\n\treturn e.(*LDML)\n}\n\n// inheritStructPtr first merges possible aliases in with v and then inherits\n// any underspecified elements from parent.\nfunc (cldr *CLDR) inheritStructPtr(v, parent reflect.Value) (r reflect.Value, err error) {\n\tif !v.IsNil() {\n\t\te := v.Interface().(Elem).GetCommon()\n\t\talias := e.Alias\n\t\tif alias == nil && !parent.IsNil() {\n\t\t\talias = parent.Interface().(Elem).GetCommon().Alias\n\t\t}\n\t\tif alias != nil {\n\t\t\ta, err := cldr.resolveAlias(v.Interface().(Elem), alias.Source, alias.Path)\n\t\t\tif a != nil {\n\t\t\t\tif v, err = cldr.inheritFields(v.Elem(), reflect.ValueOf(a).Elem()); err != nil {\n\t\t\t\t\treturn reflect.Value{}, err\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif !parent.IsNil() {\n\t\t\treturn cldr.inheritFields(v.Elem(), parent.Elem())\n\t\t}\n\t} else if parent.IsNil() {\n\t\tpanic(\"should not reach here\")\n\t}\n\treturn v, nil\n}\n\n// Must be slice of struct pointers.\nfunc (cldr *CLDR) inheritSlice(enc, v, parent reflect.Value) (res reflect.Value, err error) {\n\tt := v.Type()\n\tindex := make(map[string]reflect.Value)\n\tif !v.IsNil() {\n\t\tfor i := 0; i < v.Len(); i++ {\n\t\t\tvi := v.Index(i)\n\t\t\tkey := attrKey(vi)\n\t\t\tindex[key] = vi\n\t\t}\n\t}\n\tif !parent.IsNil() {\n\t\tfor i := 0; i < parent.Len(); i++ {\n\t\t\tvi := parent.Index(i)\n\t\t\tkey := attrKey(vi)\n\t\t\tif w, ok := index[key]; ok {\n\t\t\t\tindex[key], err = cldr.inheritStructPtr(w, vi)\n\t\t\t} else {\n\t\t\t\tn := cldr.newNode(vi.Elem(), enc)\n\t\t\t\tindex[key], err = cldr.inheritStructPtr(n, vi)\n\t\t\t}\n\t\t\tindex[key].Interface().(Elem).setEnclosing(enc.Addr().Interface().(Elem))\n\t\t\tif err != nil {\n\t\t\t\treturn v, err\n\t\t\t}\n\t\t}\n\t}\n\tkeys := make([]string, 0, len(index))\n\tfor k, _ := range index {\n\t\tkeys = append(keys, k)\n\t}\n\tsort.Strings(keys)\n\tsl := reflect.MakeSlice(t, len(index), len(index))\n\tfor i, k := range keys {\n\t\tsl.Index(i).Set(index[k])\n\t}\n\treturn sl, nil\n}\n\nfunc parentLocale(loc string) string {\n\tparts := strings.Split(loc, \"_\")\n\tif len(parts) == 1 {\n\t\treturn \"root\"\n\t}\n\tparts = parts[:len(parts)-1]\n\tkey := strings.Join(parts, \"_\")\n\treturn key\n}\n\nfunc (cldr *CLDR) resolve(loc string) (res *LDML, err error) {\n\tif r := cldr.resolved[loc]; r != nil {\n\t\treturn r, nil\n\t}\n\tx := cldr.RawLDML(loc)\n\tif x == nil {\n\t\treturn nil, fmt.Errorf(\"cldr: unknown locale %q\", loc)\n\t}\n\tvar v reflect.Value\n\tif loc == \"root\" {\n\t\tx = deepCopy(reflect.ValueOf(x)).Interface().(*LDML)\n\t\tlinkEnclosing(nil, x)\n\t\terr = cldr.aliasResolver().visit(x)\n\t} else {\n\t\tkey := parentLocale(loc)\n\t\tvar parent *LDML\n\t\tfor ; cldr.locale[key] == nil; key = parentLocale(key) {\n\t\t}\n\t\tif parent, err = cldr.resolve(key); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tv, err = cldr.inheritFields(reflect.ValueOf(x).Elem(), reflect.ValueOf(parent).Elem())\n\t\tx = v.Interface().(*LDML)\n\t\tlinkEnclosing(nil, x)\n\t}\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tcldr.resolved[loc] = x\n\treturn x, err\n}\n\n// finalize finalizes the initialization of the raw LDML structs.  It also\n// removed unwanted fields, as specified by filter, so that they will not\n// be unnecessarily evaluated.\nfunc (cldr *CLDR) finalize(filter []string) {\n\tfor _, x := range cldr.locale {\n\t\tif filter != nil {\n\t\t\tv := reflect.ValueOf(x).Elem()\n\t\t\tt := v.Type()\n\t\t\tfor i := 0; i < v.NumField(); i++ {\n\t\t\t\tf := t.Field(i)\n\t\t\t\tname, _ := xmlName(f)\n\t\t\t\tif name != \"\" && name != \"identity\" && !in(filter, name) {\n\t\t\t\t\tv.Field(i).Set(reflect.Zero(f.Type))\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tlinkEnclosing(nil, x) // for resolving aliases and paths\n\t\tsetNames(x, \"ldml\")\n\t}\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/cldr/slice.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage cldr\n\nimport (\n\t\"fmt\"\n\t\"reflect\"\n\t\"sort\"\n)\n\n// Slice provides utilities for modifying slices of elements.\n// It can be wrapped around any slice of which the element type implements\n// interface Elem.\ntype Slice struct {\n\tptr reflect.Value\n\ttyp reflect.Type\n}\n\n// Value returns the reflect.Value of the underlying slice.\nfunc (s *Slice) Value() reflect.Value {\n\treturn s.ptr.Elem()\n}\n\n// MakeSlice wraps a pointer to a slice of Elems.\n// It replaces the array pointed to by the slice so that subsequent modifications\n// do not alter the data in a CLDR type.\n// It panics if an incorrect type is passed.\nfunc MakeSlice(slicePtr interface{}) Slice {\n\tptr := reflect.ValueOf(slicePtr)\n\tif ptr.Kind() != reflect.Ptr {\n\t\tpanic(fmt.Sprintf(\"MakeSlice: argument must be pointer to slice, found %v\", ptr.Type()))\n\t}\n\tsl := ptr.Elem()\n\tif sl.Kind() != reflect.Slice {\n\t\tpanic(fmt.Sprintf(\"MakeSlice: argument must point to a slice, found %v\", sl.Type()))\n\t}\n\tintf := reflect.TypeOf((*Elem)(nil)).Elem()\n\tif !sl.Type().Elem().Implements(intf) {\n\t\tpanic(fmt.Sprintf(\"MakeSlice: element type of slice (%v) does not implement Elem\", sl.Type().Elem()))\n\t}\n\tnsl := reflect.MakeSlice(sl.Type(), sl.Len(), sl.Len())\n\treflect.Copy(nsl, sl)\n\tsl.Set(nsl)\n\treturn Slice{\n\t\tptr: ptr,\n\t\ttyp: sl.Type().Elem().Elem(),\n\t}\n}\n\nfunc (s Slice) indexForAttr(a string) []int {\n\tfor i := iter(reflect.Zero(s.typ)); !i.done(); i.next() {\n\t\tif n, _ := xmlName(i.field()); n == a {\n\t\t\treturn i.index\n\t\t}\n\t}\n\tpanic(fmt.Sprintf(\"MakeSlice: no attribute %q for type %v\", a, s.typ))\n}\n\n// Filter filters s to only include elements for which fn returns true.\nfunc (s Slice) Filter(fn func(e Elem) bool) {\n\tk := 0\n\tsl := s.Value()\n\tfor i := 0; i < sl.Len(); i++ {\n\t\tvi := sl.Index(i)\n\t\tif fn(vi.Interface().(Elem)) {\n\t\t\tsl.Index(k).Set(vi)\n\t\t\tk++\n\t\t}\n\t}\n\tsl.Set(sl.Slice(0, k))\n}\n\n// Group finds elements in s for which fn returns the same value and groups\n// them in a new Slice.\nfunc (s Slice) Group(fn func(e Elem) string) []Slice {\n\tm := make(map[string][]reflect.Value)\n\tsl := s.Value()\n\tfor i := 0; i < sl.Len(); i++ {\n\t\tvi := sl.Index(i)\n\t\tkey := fn(vi.Interface().(Elem))\n\t\tm[key] = append(m[key], vi)\n\t}\n\tkeys := []string{}\n\tfor k, _ := range m {\n\t\tkeys = append(keys, k)\n\t}\n\tsort.Strings(keys)\n\tres := []Slice{}\n\tfor _, k := range keys {\n\t\tnsl := reflect.New(sl.Type())\n\t\tnsl.Elem().Set(reflect.Append(nsl.Elem(), m[k]...))\n\t\tres = append(res, MakeSlice(nsl.Interface()))\n\t}\n\treturn res\n}\n\n// SelectAnyOf filters s to contain only elements for which attr matches\n// any of the values.\nfunc (s Slice) SelectAnyOf(attr string, values ...string) {\n\tindex := s.indexForAttr(attr)\n\ts.Filter(func(e Elem) bool {\n\t\tvf := reflect.ValueOf(e).Elem().FieldByIndex(index)\n\t\treturn in(values, vf.String())\n\t})\n}\n\n// SelectOnePerGroup filters s to include at most one element e per group of\n// elements matching Key(attr), where e has an attribute a that matches any\n// the values in v.\n// If more than one element in a group matches a value in v preference\n// is given to the element that matches the first value in v.\nfunc (s Slice) SelectOnePerGroup(a string, v []string) {\n\tindex := s.indexForAttr(a)\n\tgrouped := s.Group(func(e Elem) string { return Key(e, a) })\n\tsl := s.Value()\n\tsl.Set(sl.Slice(0, 0))\n\tfor _, g := range grouped {\n\t\te := reflect.Value{}\n\t\tfound := len(v)\n\t\tgsl := g.Value()\n\t\tfor i := 0; i < gsl.Len(); i++ {\n\t\t\tvi := gsl.Index(i).Elem().FieldByIndex(index)\n\t\t\tj := 0\n\t\t\tfor ; j < len(v) && v[j] != vi.String(); j++ {\n\t\t\t}\n\t\t\tif j < found {\n\t\t\t\tfound = j\n\t\t\t\te = gsl.Index(i)\n\t\t\t}\n\t\t}\n\t\tif found < len(v) {\n\t\t\tsl.Set(reflect.Append(sl, e))\n\t\t}\n\t}\n}\n\n// SelectDraft drops all elements from the list with a draft level smaller than d\n// and selects the highest draft level of the remaining.\n// This method assumes that the input CLDR is canonicalized.\nfunc (s Slice) SelectDraft(d Draft) {\n\ts.SelectOnePerGroup(\"draft\", drafts[len(drafts)-2-int(d):])\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/cldr/xml.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\npackage cldr\n\n// LDMLBCP47 holds information on allowable values for various variables in LDML.\ntype LDMLBCP47 struct {\n\tCommon\n\tVersion *struct {\n\t\tCommon\n\t\tNumber string `xml:\"number,attr\"`\n\t} `xml:\"version\"`\n\tGeneration *struct {\n\t\tCommon\n\t\tDate string `xml:\"date,attr\"`\n\t} `xml:\"generation\"`\n\tKeyword []*struct {\n\t\tCommon\n\t\tKey []*struct {\n\t\t\tCommon\n\t\t\tExtension   string `xml:\"extension,attr\"`\n\t\t\tName        string `xml:\"name,attr\"`\n\t\t\tDescription string `xml:\"description,attr\"`\n\t\t\tDeprecated  string `xml:\"deprecated,attr\"`\n\t\t\tPreferred   string `xml:\"preferred,attr\"`\n\t\t\tAlias       string `xml:\"alias,attr\"`\n\t\t\tValueType   string `xml:\"valueType,attr\"`\n\t\t\tSince       string `xml:\"since,attr\"`\n\t\t\tType        []*struct {\n\t\t\t\tCommon\n\t\t\t\tName        string `xml:\"name,attr\"`\n\t\t\t\tDescription string `xml:\"description,attr\"`\n\t\t\t\tDeprecated  string `xml:\"deprecated,attr\"`\n\t\t\t\tPreferred   string `xml:\"preferred,attr\"`\n\t\t\t\tAlias       string `xml:\"alias,attr\"`\n\t\t\t\tSince       string `xml:\"since,attr\"`\n\t\t\t} `xml:\"type\"`\n\t\t} `xml:\"key\"`\n\t} `xml:\"keyword\"`\n\tAttribute []*struct {\n\t\tCommon\n\t\tName        string `xml:\"name,attr\"`\n\t\tDescription string `xml:\"description,attr\"`\n\t\tDeprecated  string `xml:\"deprecated,attr\"`\n\t\tPreferred   string `xml:\"preferred,attr\"`\n\t\tSince       string `xml:\"since,attr\"`\n\t} `xml:\"attribute\"`\n}\n\n// SupplementalData holds information relevant for internationalization\n// and proper use of CLDR, but that is not contained in the locale hierarchy.\ntype SupplementalData struct {\n\tCommon\n\tVersion *struct {\n\t\tCommon\n\t\tNumber string `xml:\"number,attr\"`\n\t} `xml:\"version\"`\n\tGeneration *struct {\n\t\tCommon\n\t\tDate string `xml:\"date,attr\"`\n\t} `xml:\"generation\"`\n\tCurrencyData *struct {\n\t\tCommon\n\t\tFractions []*struct {\n\t\t\tCommon\n\t\t\tInfo []*struct {\n\t\t\t\tCommon\n\t\t\t\tIso4217      string `xml:\"iso4217,attr\"`\n\t\t\t\tDigits       string `xml:\"digits,attr\"`\n\t\t\t\tRounding     string `xml:\"rounding,attr\"`\n\t\t\t\tCashDigits   string `xml:\"cashDigits,attr\"`\n\t\t\t\tCashRounding string `xml:\"cashRounding,attr\"`\n\t\t\t} `xml:\"info\"`\n\t\t} `xml:\"fractions\"`\n\t\tRegion []*struct {\n\t\t\tCommon\n\t\t\tIso3166  string `xml:\"iso3166,attr\"`\n\t\t\tCurrency []*struct {\n\t\t\t\tCommon\n\t\t\t\tBefore       string `xml:\"before,attr\"`\n\t\t\t\tFrom         string `xml:\"from,attr\"`\n\t\t\t\tTo           string `xml:\"to,attr\"`\n\t\t\t\tIso4217      string `xml:\"iso4217,attr\"`\n\t\t\t\tDigits       string `xml:\"digits,attr\"`\n\t\t\t\tRounding     string `xml:\"rounding,attr\"`\n\t\t\t\tCashRounding string `xml:\"cashRounding,attr\"`\n\t\t\t\tTender       string `xml:\"tender,attr\"`\n\t\t\t\tAlternate    []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tIso4217 string `xml:\"iso4217,attr\"`\n\t\t\t\t} `xml:\"alternate\"`\n\t\t\t} `xml:\"currency\"`\n\t\t} `xml:\"region\"`\n\t} `xml:\"currencyData\"`\n\tTerritoryContainment *struct {\n\t\tCommon\n\t\tGroup []*struct {\n\t\t\tCommon\n\t\t\tContains string `xml:\"contains,attr\"`\n\t\t\tGrouping string `xml:\"grouping,attr\"`\n\t\t\tStatus   string `xml:\"status,attr\"`\n\t\t} `xml:\"group\"`\n\t} `xml:\"territoryContainment\"`\n\tSubdivisionContainment *struct {\n\t\tCommon\n\t\tSubgroup []*struct {\n\t\t\tCommon\n\t\t\tSubtype  string `xml:\"subtype,attr\"`\n\t\t\tContains string `xml:\"contains,attr\"`\n\t\t} `xml:\"subgroup\"`\n\t} `xml:\"subdivisionContainment\"`\n\tLanguageData *struct {\n\t\tCommon\n\t\tLanguage []*struct {\n\t\t\tCommon\n\t\t\tScripts     string `xml:\"scripts,attr\"`\n\t\t\tTerritories string `xml:\"territories,attr\"`\n\t\t\tVariants    string `xml:\"variants,attr\"`\n\t\t} `xml:\"language\"`\n\t} `xml:\"languageData\"`\n\tTerritoryInfo *struct {\n\t\tCommon\n\t\tTerritory []*struct {\n\t\t\tCommon\n\t\t\tGdp                string `xml:\"gdp,attr\"`\n\t\t\tLiteracyPercent    string `xml:\"literacyPercent,attr\"`\n\t\t\tPopulation         string `xml:\"population,attr\"`\n\t\t\tLanguagePopulation []*struct {\n\t\t\t\tCommon\n\t\t\t\tLiteracyPercent   string `xml:\"literacyPercent,attr\"`\n\t\t\t\tWritingPercent    string `xml:\"writingPercent,attr\"`\n\t\t\t\tPopulationPercent string `xml:\"populationPercent,attr\"`\n\t\t\t\tOfficialStatus    string `xml:\"officialStatus,attr\"`\n\t\t\t} `xml:\"languagePopulation\"`\n\t\t} `xml:\"territory\"`\n\t} `xml:\"territoryInfo\"`\n\tPostalCodeData *struct {\n\t\tCommon\n\t\tPostCodeRegex []*struct {\n\t\t\tCommon\n\t\t\tTerritoryId string `xml:\"territoryId,attr\"`\n\t\t} `xml:\"postCodeRegex\"`\n\t} `xml:\"postalCodeData\"`\n\tCalendarData *struct {\n\t\tCommon\n\t\tCalendar []*struct {\n\t\t\tCommon\n\t\t\tTerritories    string  `xml:\"territories,attr\"`\n\t\t\tCalendarSystem *Common `xml:\"calendarSystem\"`\n\t\t\tEras           *struct {\n\t\t\t\tCommon\n\t\t\t\tEra []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tStart string `xml:\"start,attr\"`\n\t\t\t\t\tEnd   string `xml:\"end,attr\"`\n\t\t\t\t} `xml:\"era\"`\n\t\t\t} `xml:\"eras\"`\n\t\t} `xml:\"calendar\"`\n\t} `xml:\"calendarData\"`\n\tCalendarPreferenceData *struct {\n\t\tCommon\n\t\tCalendarPreference []*struct {\n\t\t\tCommon\n\t\t\tTerritories string `xml:\"territories,attr\"`\n\t\t\tOrdering    string `xml:\"ordering,attr\"`\n\t\t} `xml:\"calendarPreference\"`\n\t} `xml:\"calendarPreferenceData\"`\n\tWeekData *struct {\n\t\tCommon\n\t\tMinDays []*struct {\n\t\t\tCommon\n\t\t\tCount       string `xml:\"count,attr\"`\n\t\t\tTerritories string `xml:\"territories,attr\"`\n\t\t} `xml:\"minDays\"`\n\t\tFirstDay []*struct {\n\t\t\tCommon\n\t\t\tDay         string `xml:\"day,attr\"`\n\t\t\tTerritories string `xml:\"territories,attr\"`\n\t\t} `xml:\"firstDay\"`\n\t\tWeekendStart []*struct {\n\t\t\tCommon\n\t\t\tDay         string `xml:\"day,attr\"`\n\t\t\tTerritories string `xml:\"territories,attr\"`\n\t\t} `xml:\"weekendStart\"`\n\t\tWeekendEnd []*struct {\n\t\t\tCommon\n\t\t\tDay         string `xml:\"day,attr\"`\n\t\t\tTerritories string `xml:\"territories,attr\"`\n\t\t} `xml:\"weekendEnd\"`\n\t\tWeekOfPreference []*struct {\n\t\t\tCommon\n\t\t\tLocales  string `xml:\"locales,attr\"`\n\t\t\tOrdering string `xml:\"ordering,attr\"`\n\t\t} `xml:\"weekOfPreference\"`\n\t} `xml:\"weekData\"`\n\tTimeData *struct {\n\t\tCommon\n\t\tHours []*struct {\n\t\t\tCommon\n\t\t\tAllowed   string `xml:\"allowed,attr\"`\n\t\t\tPreferred string `xml:\"preferred,attr\"`\n\t\t\tRegions   string `xml:\"regions,attr\"`\n\t\t} `xml:\"hours\"`\n\t} `xml:\"timeData\"`\n\tMeasurementData *struct {\n\t\tCommon\n\t\tMeasurementSystem []*struct {\n\t\t\tCommon\n\t\t\tCategory    string `xml:\"category,attr\"`\n\t\t\tTerritories string `xml:\"territories,attr\"`\n\t\t} `xml:\"measurementSystem\"`\n\t\tPaperSize []*struct {\n\t\t\tCommon\n\t\t\tTerritories string `xml:\"territories,attr\"`\n\t\t} `xml:\"paperSize\"`\n\t} `xml:\"measurementData\"`\n\tUnitPreferenceData *struct {\n\t\tCommon\n\t\tUnitPreferences []*struct {\n\t\t\tCommon\n\t\t\tCategory       string `xml:\"category,attr\"`\n\t\t\tUsage          string `xml:\"usage,attr\"`\n\t\t\tScope          string `xml:\"scope,attr\"`\n\t\t\tUnitPreference []*struct {\n\t\t\t\tCommon\n\t\t\t\tRegions string `xml:\"regions,attr\"`\n\t\t\t} `xml:\"unitPreference\"`\n\t\t} `xml:\"unitPreferences\"`\n\t} `xml:\"unitPreferenceData\"`\n\tTimezoneData *struct {\n\t\tCommon\n\t\tMapTimezones []*struct {\n\t\t\tCommon\n\t\t\tOtherVersion string `xml:\"otherVersion,attr\"`\n\t\t\tTypeVersion  string `xml:\"typeVersion,attr\"`\n\t\t\tMapZone      []*struct {\n\t\t\t\tCommon\n\t\t\t\tOther     string `xml:\"other,attr\"`\n\t\t\t\tTerritory string `xml:\"territory,attr\"`\n\t\t\t} `xml:\"mapZone\"`\n\t\t} `xml:\"mapTimezones\"`\n\t\tZoneFormatting []*struct {\n\t\t\tCommon\n\t\t\tMultizone   string `xml:\"multizone,attr\"`\n\t\t\tTzidVersion string `xml:\"tzidVersion,attr\"`\n\t\t\tZoneItem    []*struct {\n\t\t\t\tCommon\n\t\t\t\tTerritory string `xml:\"territory,attr\"`\n\t\t\t\tAliases   string `xml:\"aliases,attr\"`\n\t\t\t} `xml:\"zoneItem\"`\n\t\t} `xml:\"zoneFormatting\"`\n\t} `xml:\"timezoneData\"`\n\tCharacters *struct {\n\t\tCommon\n\t\tCharacterFallback []*struct {\n\t\t\tCommon\n\t\t\tCharacter []*struct {\n\t\t\t\tCommon\n\t\t\t\tValue      string    `xml:\"value,attr\"`\n\t\t\t\tSubstitute []*Common `xml:\"substitute\"`\n\t\t\t} `xml:\"character\"`\n\t\t} `xml:\"character-fallback\"`\n\t} `xml:\"characters\"`\n\tTransforms *struct {\n\t\tCommon\n\t\tTransform []*struct {\n\t\t\tCommon\n\t\t\tSource        string    `xml:\"source,attr\"`\n\t\t\tTarget        string    `xml:\"target,attr\"`\n\t\t\tVariant       string    `xml:\"variant,attr\"`\n\t\t\tDirection     string    `xml:\"direction,attr\"`\n\t\t\tAlias         string    `xml:\"alias,attr\"`\n\t\t\tBackwardAlias string    `xml:\"backwardAlias,attr\"`\n\t\t\tVisibility    string    `xml:\"visibility,attr\"`\n\t\t\tComment       []*Common `xml:\"comment\"`\n\t\t\tTRule         []*Common `xml:\"tRule\"`\n\t\t} `xml:\"transform\"`\n\t} `xml:\"transforms\"`\n\tMetadata *struct {\n\t\tCommon\n\t\tAttributeOrder *Common `xml:\"attributeOrder\"`\n\t\tElementOrder   *Common `xml:\"elementOrder\"`\n\t\tSerialElements *Common `xml:\"serialElements\"`\n\t\tSuppress       *struct {\n\t\t\tCommon\n\t\t\tAttributes []*struct {\n\t\t\t\tCommon\n\t\t\t\tElement        string `xml:\"element,attr\"`\n\t\t\t\tAttribute      string `xml:\"attribute,attr\"`\n\t\t\t\tAttributeValue string `xml:\"attributeValue,attr\"`\n\t\t\t} `xml:\"attributes\"`\n\t\t} `xml:\"suppress\"`\n\t\tValidity *struct {\n\t\t\tCommon\n\t\t\tVariable []*struct {\n\t\t\t\tCommon\n\t\t\t\tId string `xml:\"id,attr\"`\n\t\t\t} `xml:\"variable\"`\n\t\t\tAttributeValues []*struct {\n\t\t\t\tCommon\n\t\t\t\tDtds       string `xml:\"dtds,attr\"`\n\t\t\t\tElements   string `xml:\"elements,attr\"`\n\t\t\t\tAttributes string `xml:\"attributes,attr\"`\n\t\t\t\tOrder      string `xml:\"order,attr\"`\n\t\t\t} `xml:\"attributeValues\"`\n\t\t} `xml:\"validity\"`\n\t\tAlias *struct {\n\t\t\tCommon\n\t\t\tLanguageAlias []*struct {\n\t\t\t\tCommon\n\t\t\t\tReplacement string `xml:\"replacement,attr\"`\n\t\t\t\tReason      string `xml:\"reason,attr\"`\n\t\t\t} `xml:\"languageAlias\"`\n\t\t\tScriptAlias []*struct {\n\t\t\t\tCommon\n\t\t\t\tReplacement string `xml:\"replacement,attr\"`\n\t\t\t\tReason      string `xml:\"reason,attr\"`\n\t\t\t} `xml:\"scriptAlias\"`\n\t\t\tTerritoryAlias []*struct {\n\t\t\t\tCommon\n\t\t\t\tReplacement string `xml:\"replacement,attr\"`\n\t\t\t\tReason      string `xml:\"reason,attr\"`\n\t\t\t} `xml:\"territoryAlias\"`\n\t\t\tSubdivisionAlias []*struct {\n\t\t\t\tCommon\n\t\t\t\tReplacement string `xml:\"replacement,attr\"`\n\t\t\t\tReason      string `xml:\"reason,attr\"`\n\t\t\t} `xml:\"subdivisionAlias\"`\n\t\t\tVariantAlias []*struct {\n\t\t\t\tCommon\n\t\t\t\tReplacement string `xml:\"replacement,attr\"`\n\t\t\t\tReason      string `xml:\"reason,attr\"`\n\t\t\t} `xml:\"variantAlias\"`\n\t\t\tZoneAlias []*struct {\n\t\t\t\tCommon\n\t\t\t\tReplacement string `xml:\"replacement,attr\"`\n\t\t\t\tReason      string `xml:\"reason,attr\"`\n\t\t\t} `xml:\"zoneAlias\"`\n\t\t} `xml:\"alias\"`\n\t\tDeprecated *struct {\n\t\t\tCommon\n\t\t\tDeprecatedItems []*struct {\n\t\t\t\tCommon\n\t\t\t\tElements   string `xml:\"elements,attr\"`\n\t\t\t\tAttributes string `xml:\"attributes,attr\"`\n\t\t\t\tValues     string `xml:\"values,attr\"`\n\t\t\t} `xml:\"deprecatedItems\"`\n\t\t} `xml:\"deprecated\"`\n\t\tDistinguishing *struct {\n\t\t\tCommon\n\t\t\tDistinguishingItems []*struct {\n\t\t\t\tCommon\n\t\t\t\tExclude    string `xml:\"exclude,attr\"`\n\t\t\t\tElements   string `xml:\"elements,attr\"`\n\t\t\t\tAttributes string `xml:\"attributes,attr\"`\n\t\t\t} `xml:\"distinguishingItems\"`\n\t\t} `xml:\"distinguishing\"`\n\t\tBlocking *struct {\n\t\t\tCommon\n\t\t\tBlockingItems []*struct {\n\t\t\t\tCommon\n\t\t\t\tElements string `xml:\"elements,attr\"`\n\t\t\t} `xml:\"blockingItems\"`\n\t\t} `xml:\"blocking\"`\n\t\tCoverageAdditions *struct {\n\t\t\tCommon\n\t\t\tLanguageCoverage []*struct {\n\t\t\t\tCommon\n\t\t\t\tValues string `xml:\"values,attr\"`\n\t\t\t} `xml:\"languageCoverage\"`\n\t\t\tScriptCoverage []*struct {\n\t\t\t\tCommon\n\t\t\t\tValues string `xml:\"values,attr\"`\n\t\t\t} `xml:\"scriptCoverage\"`\n\t\t\tTerritoryCoverage []*struct {\n\t\t\t\tCommon\n\t\t\t\tValues string `xml:\"values,attr\"`\n\t\t\t} `xml:\"territoryCoverage\"`\n\t\t\tCurrencyCoverage []*struct {\n\t\t\t\tCommon\n\t\t\t\tValues string `xml:\"values,attr\"`\n\t\t\t} `xml:\"currencyCoverage\"`\n\t\t\tTimezoneCoverage []*struct {\n\t\t\t\tCommon\n\t\t\t\tValues string `xml:\"values,attr\"`\n\t\t\t} `xml:\"timezoneCoverage\"`\n\t\t} `xml:\"coverageAdditions\"`\n\t\tSkipDefaultLocale *struct {\n\t\t\tCommon\n\t\t\tServices string `xml:\"services,attr\"`\n\t\t} `xml:\"skipDefaultLocale\"`\n\t\tDefaultContent *struct {\n\t\t\tCommon\n\t\t\tLocales string `xml:\"locales,attr\"`\n\t\t} `xml:\"defaultContent\"`\n\t} `xml:\"metadata\"`\n\tCodeMappings *struct {\n\t\tCommon\n\t\tLanguageCodes []*struct {\n\t\t\tCommon\n\t\t\tAlpha3 string `xml:\"alpha3,attr\"`\n\t\t} `xml:\"languageCodes\"`\n\t\tTerritoryCodes []*struct {\n\t\t\tCommon\n\t\t\tNumeric  string `xml:\"numeric,attr\"`\n\t\t\tAlpha3   string `xml:\"alpha3,attr\"`\n\t\t\tFips10   string `xml:\"fips10,attr\"`\n\t\t\tInternet string `xml:\"internet,attr\"`\n\t\t} `xml:\"territoryCodes\"`\n\t\tCurrencyCodes []*struct {\n\t\t\tCommon\n\t\t\tNumeric string `xml:\"numeric,attr\"`\n\t\t} `xml:\"currencyCodes\"`\n\t} `xml:\"codeMappings\"`\n\tParentLocales *struct {\n\t\tCommon\n\t\tParentLocale []*struct {\n\t\t\tCommon\n\t\t\tParent  string `xml:\"parent,attr\"`\n\t\t\tLocales string `xml:\"locales,attr\"`\n\t\t} `xml:\"parentLocale\"`\n\t} `xml:\"parentLocales\"`\n\tLikelySubtags *struct {\n\t\tCommon\n\t\tLikelySubtag []*struct {\n\t\t\tCommon\n\t\t\tFrom string `xml:\"from,attr\"`\n\t\t\tTo   string `xml:\"to,attr\"`\n\t\t} `xml:\"likelySubtag\"`\n\t} `xml:\"likelySubtags\"`\n\tMetazoneInfo *struct {\n\t\tCommon\n\t\tTimezone []*struct {\n\t\t\tCommon\n\t\t\tUsesMetazone []*struct {\n\t\t\t\tCommon\n\t\t\t\tFrom  string `xml:\"from,attr\"`\n\t\t\t\tTo    string `xml:\"to,attr\"`\n\t\t\t\tMzone string `xml:\"mzone,attr\"`\n\t\t\t} `xml:\"usesMetazone\"`\n\t\t} `xml:\"timezone\"`\n\t} `xml:\"metazoneInfo\"`\n\tPlurals []*struct {\n\t\tCommon\n\t\tPluralRules []*struct {\n\t\t\tCommon\n\t\t\tLocales    string `xml:\"locales,attr\"`\n\t\t\tPluralRule []*struct {\n\t\t\t\tCommon\n\t\t\t\tCount string `xml:\"count,attr\"`\n\t\t\t} `xml:\"pluralRule\"`\n\t\t} `xml:\"pluralRules\"`\n\t\tPluralRanges []*struct {\n\t\t\tCommon\n\t\t\tLocales     string `xml:\"locales,attr\"`\n\t\t\tPluralRange []*struct {\n\t\t\t\tCommon\n\t\t\t\tStart  string `xml:\"start,attr\"`\n\t\t\t\tEnd    string `xml:\"end,attr\"`\n\t\t\t\tResult string `xml:\"result,attr\"`\n\t\t\t} `xml:\"pluralRange\"`\n\t\t} `xml:\"pluralRanges\"`\n\t} `xml:\"plurals\"`\n\tTelephoneCodeData *struct {\n\t\tCommon\n\t\tCodesByTerritory []*struct {\n\t\t\tCommon\n\t\t\tTerritory            string `xml:\"territory,attr\"`\n\t\t\tTelephoneCountryCode []*struct {\n\t\t\t\tCommon\n\t\t\t\tCode string `xml:\"code,attr\"`\n\t\t\t\tFrom string `xml:\"from,attr\"`\n\t\t\t\tTo   string `xml:\"to,attr\"`\n\t\t\t} `xml:\"telephoneCountryCode\"`\n\t\t} `xml:\"codesByTerritory\"`\n\t} `xml:\"telephoneCodeData\"`\n\tNumberingSystems *struct {\n\t\tCommon\n\t\tNumberingSystem []*struct {\n\t\t\tCommon\n\t\t\tId     string `xml:\"id,attr\"`\n\t\t\tRadix  string `xml:\"radix,attr\"`\n\t\t\tDigits string `xml:\"digits,attr\"`\n\t\t\tRules  string `xml:\"rules,attr\"`\n\t\t} `xml:\"numberingSystem\"`\n\t} `xml:\"numberingSystems\"`\n\tBcp47KeywordMappings *struct {\n\t\tCommon\n\t\tMapKeys *struct {\n\t\t\tCommon\n\t\t\tKeyMap []*struct {\n\t\t\t\tCommon\n\t\t\t\tBcp47 string `xml:\"bcp47,attr\"`\n\t\t\t} `xml:\"keyMap\"`\n\t\t} `xml:\"mapKeys\"`\n\t\tMapTypes []*struct {\n\t\t\tCommon\n\t\t\tTypeMap []*struct {\n\t\t\t\tCommon\n\t\t\t\tBcp47 string `xml:\"bcp47,attr\"`\n\t\t\t} `xml:\"typeMap\"`\n\t\t} `xml:\"mapTypes\"`\n\t} `xml:\"bcp47KeywordMappings\"`\n\tGender *struct {\n\t\tCommon\n\t\tPersonList []*struct {\n\t\t\tCommon\n\t\t\tLocales string `xml:\"locales,attr\"`\n\t\t} `xml:\"personList\"`\n\t} `xml:\"gender\"`\n\tReferences *struct {\n\t\tCommon\n\t\tReference []*struct {\n\t\t\tCommon\n\t\t\tUri string `xml:\"uri,attr\"`\n\t\t} `xml:\"reference\"`\n\t} `xml:\"references\"`\n\tLanguageMatching *struct {\n\t\tCommon\n\t\tLanguageMatches []*struct {\n\t\t\tCommon\n\t\t\tParadigmLocales []*struct {\n\t\t\t\tCommon\n\t\t\t\tLocales string `xml:\"locales,attr\"`\n\t\t\t} `xml:\"paradigmLocales\"`\n\t\t\tMatchVariable []*struct {\n\t\t\t\tCommon\n\t\t\t\tId    string `xml:\"id,attr\"`\n\t\t\t\tValue string `xml:\"value,attr\"`\n\t\t\t} `xml:\"matchVariable\"`\n\t\t\tLanguageMatch []*struct {\n\t\t\t\tCommon\n\t\t\t\tDesired   string `xml:\"desired,attr\"`\n\t\t\t\tSupported string `xml:\"supported,attr\"`\n\t\t\t\tPercent   string `xml:\"percent,attr\"`\n\t\t\t\tDistance  string `xml:\"distance,attr\"`\n\t\t\t\tOneway    string `xml:\"oneway,attr\"`\n\t\t\t} `xml:\"languageMatch\"`\n\t\t} `xml:\"languageMatches\"`\n\t} `xml:\"languageMatching\"`\n\tDayPeriodRuleSet []*struct {\n\t\tCommon\n\t\tDayPeriodRules []*struct {\n\t\t\tCommon\n\t\t\tLocales       string `xml:\"locales,attr\"`\n\t\t\tDayPeriodRule []*struct {\n\t\t\t\tCommon\n\t\t\t\tAt     string `xml:\"at,attr\"`\n\t\t\t\tAfter  string `xml:\"after,attr\"`\n\t\t\t\tBefore string `xml:\"before,attr\"`\n\t\t\t\tFrom   string `xml:\"from,attr\"`\n\t\t\t\tTo     string `xml:\"to,attr\"`\n\t\t\t} `xml:\"dayPeriodRule\"`\n\t\t} `xml:\"dayPeriodRules\"`\n\t} `xml:\"dayPeriodRuleSet\"`\n\tMetaZones *struct {\n\t\tCommon\n\t\tMetazoneInfo *struct {\n\t\t\tCommon\n\t\t\tTimezone []*struct {\n\t\t\t\tCommon\n\t\t\t\tUsesMetazone []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tFrom  string `xml:\"from,attr\"`\n\t\t\t\t\tTo    string `xml:\"to,attr\"`\n\t\t\t\t\tMzone string `xml:\"mzone,attr\"`\n\t\t\t\t} `xml:\"usesMetazone\"`\n\t\t\t} `xml:\"timezone\"`\n\t\t} `xml:\"metazoneInfo\"`\n\t\tMapTimezones *struct {\n\t\t\tCommon\n\t\t\tOtherVersion string `xml:\"otherVersion,attr\"`\n\t\t\tTypeVersion  string `xml:\"typeVersion,attr\"`\n\t\t\tMapZone      []*struct {\n\t\t\t\tCommon\n\t\t\t\tOther     string `xml:\"other,attr\"`\n\t\t\t\tTerritory string `xml:\"territory,attr\"`\n\t\t\t} `xml:\"mapZone\"`\n\t\t} `xml:\"mapTimezones\"`\n\t} `xml:\"metaZones\"`\n\tPrimaryZones *struct {\n\t\tCommon\n\t\tPrimaryZone []*struct {\n\t\t\tCommon\n\t\t\tIso3166 string `xml:\"iso3166,attr\"`\n\t\t} `xml:\"primaryZone\"`\n\t} `xml:\"primaryZones\"`\n\tWindowsZones *struct {\n\t\tCommon\n\t\tMapTimezones *struct {\n\t\t\tCommon\n\t\t\tOtherVersion string `xml:\"otherVersion,attr\"`\n\t\t\tTypeVersion  string `xml:\"typeVersion,attr\"`\n\t\t\tMapZone      []*struct {\n\t\t\t\tCommon\n\t\t\t\tOther     string `xml:\"other,attr\"`\n\t\t\t\tTerritory string `xml:\"territory,attr\"`\n\t\t\t} `xml:\"mapZone\"`\n\t\t} `xml:\"mapTimezones\"`\n\t} `xml:\"windowsZones\"`\n\tCoverageLevels *struct {\n\t\tCommon\n\t\tApprovalRequirements *struct {\n\t\t\tCommon\n\t\t\tApprovalRequirement []*struct {\n\t\t\t\tCommon\n\t\t\t\tVotes   string `xml:\"votes,attr\"`\n\t\t\t\tLocales string `xml:\"locales,attr\"`\n\t\t\t\tPaths   string `xml:\"paths,attr\"`\n\t\t\t} `xml:\"approvalRequirement\"`\n\t\t} `xml:\"approvalRequirements\"`\n\t\tCoverageVariable []*struct {\n\t\t\tCommon\n\t\t\tKey   string `xml:\"key,attr\"`\n\t\t\tValue string `xml:\"value,attr\"`\n\t\t} `xml:\"coverageVariable\"`\n\t\tCoverageLevel []*struct {\n\t\t\tCommon\n\t\t\tInLanguage  string `xml:\"inLanguage,attr\"`\n\t\t\tInScript    string `xml:\"inScript,attr\"`\n\t\t\tInTerritory string `xml:\"inTerritory,attr\"`\n\t\t\tValue       string `xml:\"value,attr\"`\n\t\t\tMatch       string `xml:\"match,attr\"`\n\t\t} `xml:\"coverageLevel\"`\n\t} `xml:\"coverageLevels\"`\n\tIdValidity *struct {\n\t\tCommon\n\t\tId []*struct {\n\t\t\tCommon\n\t\t\tIdStatus string `xml:\"idStatus,attr\"`\n\t\t} `xml:\"id\"`\n\t} `xml:\"idValidity\"`\n\tRgScope *struct {\n\t\tCommon\n\t\tRgPath []*struct {\n\t\t\tCommon\n\t\t\tPath string `xml:\"path,attr\"`\n\t\t} `xml:\"rgPath\"`\n\t} `xml:\"rgScope\"`\n\tLanguageGroups *struct {\n\t\tCommon\n\t\tLanguageGroup []*struct {\n\t\t\tCommon\n\t\t\tParent string `xml:\"parent,attr\"`\n\t\t} `xml:\"languageGroup\"`\n\t} `xml:\"languageGroups\"`\n}\n\n// LDML is the top-level type for locale-specific data.\ntype LDML struct {\n\tCommon\n\tVersion  string `xml:\"version,attr\"`\n\tIdentity *struct {\n\t\tCommon\n\t\tVersion *struct {\n\t\t\tCommon\n\t\t\tNumber string `xml:\"number,attr\"`\n\t\t} `xml:\"version\"`\n\t\tGeneration *struct {\n\t\t\tCommon\n\t\t\tDate string `xml:\"date,attr\"`\n\t\t} `xml:\"generation\"`\n\t\tLanguage  *Common `xml:\"language\"`\n\t\tScript    *Common `xml:\"script\"`\n\t\tTerritory *Common `xml:\"territory\"`\n\t\tVariant   *Common `xml:\"variant\"`\n\t} `xml:\"identity\"`\n\tLocaleDisplayNames *LocaleDisplayNames `xml:\"localeDisplayNames\"`\n\tLayout             *struct {\n\t\tCommon\n\t\tOrientation []*struct {\n\t\t\tCommon\n\t\t\tCharacters     string    `xml:\"characters,attr\"`\n\t\t\tLines          string    `xml:\"lines,attr\"`\n\t\t\tCharacterOrder []*Common `xml:\"characterOrder\"`\n\t\t\tLineOrder      []*Common `xml:\"lineOrder\"`\n\t\t} `xml:\"orientation\"`\n\t\tInList []*struct {\n\t\t\tCommon\n\t\t\tCasing string `xml:\"casing,attr\"`\n\t\t} `xml:\"inList\"`\n\t\tInText []*Common `xml:\"inText\"`\n\t} `xml:\"layout\"`\n\tContextTransforms *struct {\n\t\tCommon\n\t\tContextTransformUsage []*struct {\n\t\t\tCommon\n\t\t\tContextTransform []*Common `xml:\"contextTransform\"`\n\t\t} `xml:\"contextTransformUsage\"`\n\t} `xml:\"contextTransforms\"`\n\tCharacters *struct {\n\t\tCommon\n\t\tExemplarCharacters []*Common `xml:\"exemplarCharacters\"`\n\t\tEllipsis           []*Common `xml:\"ellipsis\"`\n\t\tMoreInformation    []*Common `xml:\"moreInformation\"`\n\t\tStopwords          []*struct {\n\t\t\tCommon\n\t\t\tStopwordList []*Common `xml:\"stopwordList\"`\n\t\t} `xml:\"stopwords\"`\n\t\tIndexLabels []*struct {\n\t\t\tCommon\n\t\t\tIndexSeparator           []*Common `xml:\"indexSeparator\"`\n\t\t\tCompressedIndexSeparator []*Common `xml:\"compressedIndexSeparator\"`\n\t\t\tIndexRangePattern        []*Common `xml:\"indexRangePattern\"`\n\t\t\tIndexLabelBefore         []*Common `xml:\"indexLabelBefore\"`\n\t\t\tIndexLabelAfter          []*Common `xml:\"indexLabelAfter\"`\n\t\t\tIndexLabel               []*struct {\n\t\t\t\tCommon\n\t\t\t\tIndexSource string `xml:\"indexSource,attr\"`\n\t\t\t\tPriority    string `xml:\"priority,attr\"`\n\t\t\t} `xml:\"indexLabel\"`\n\t\t} `xml:\"indexLabels\"`\n\t\tMapping []*struct {\n\t\t\tCommon\n\t\t\tRegistry string `xml:\"registry,attr\"`\n\t\t} `xml:\"mapping\"`\n\t\tParseLenients []*struct {\n\t\t\tCommon\n\t\t\tScope        string `xml:\"scope,attr\"`\n\t\t\tLevel        string `xml:\"level,attr\"`\n\t\t\tParseLenient []*struct {\n\t\t\t\tCommon\n\t\t\t\tSample string `xml:\"sample,attr\"`\n\t\t\t} `xml:\"parseLenient\"`\n\t\t} `xml:\"parseLenients\"`\n\t} `xml:\"characters\"`\n\tDelimiters *struct {\n\t\tCommon\n\t\tQuotationStart          []*Common `xml:\"quotationStart\"`\n\t\tQuotationEnd            []*Common `xml:\"quotationEnd\"`\n\t\tAlternateQuotationStart []*Common `xml:\"alternateQuotationStart\"`\n\t\tAlternateQuotationEnd   []*Common `xml:\"alternateQuotationEnd\"`\n\t} `xml:\"delimiters\"`\n\tMeasurement *struct {\n\t\tCommon\n\t\tMeasurementSystem []*Common `xml:\"measurementSystem\"`\n\t\tPaperSize         []*struct {\n\t\t\tCommon\n\t\t\tHeight []*Common `xml:\"height\"`\n\t\t\tWidth  []*Common `xml:\"width\"`\n\t\t} `xml:\"paperSize\"`\n\t} `xml:\"measurement\"`\n\tDates *struct {\n\t\tCommon\n\t\tLocalizedPatternChars []*Common `xml:\"localizedPatternChars\"`\n\t\tDateRangePattern      []*Common `xml:\"dateRangePattern\"`\n\t\tCalendars             *struct {\n\t\t\tCommon\n\t\t\tCalendar []*Calendar `xml:\"calendar\"`\n\t\t} `xml:\"calendars\"`\n\t\tFields *struct {\n\t\t\tCommon\n\t\t\tField []*struct {\n\t\t\t\tCommon\n\t\t\t\tDisplayName []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tCount string `xml:\"count,attr\"`\n\t\t\t\t} `xml:\"displayName\"`\n\t\t\t\tRelative     []*Common `xml:\"relative\"`\n\t\t\t\tRelativeTime []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tRelativeTimePattern []*struct {\n\t\t\t\t\t\tCommon\n\t\t\t\t\t\tCount string `xml:\"count,attr\"`\n\t\t\t\t\t} `xml:\"relativeTimePattern\"`\n\t\t\t\t} `xml:\"relativeTime\"`\n\t\t\t\tRelativePeriod []*Common `xml:\"relativePeriod\"`\n\t\t\t} `xml:\"field\"`\n\t\t} `xml:\"fields\"`\n\t\tTimeZoneNames *TimeZoneNames `xml:\"timeZoneNames\"`\n\t} `xml:\"dates\"`\n\tNumbers *Numbers `xml:\"numbers\"`\n\tUnits   *struct {\n\t\tCommon\n\t\tUnit []*struct {\n\t\t\tCommon\n\t\t\tDisplayName []*struct {\n\t\t\t\tCommon\n\t\t\t\tCount string `xml:\"count,attr\"`\n\t\t\t} `xml:\"displayName\"`\n\t\t\tUnitPattern []*struct {\n\t\t\t\tCommon\n\t\t\t\tCount string `xml:\"count,attr\"`\n\t\t\t} `xml:\"unitPattern\"`\n\t\t\tPerUnitPattern []*Common `xml:\"perUnitPattern\"`\n\t\t} `xml:\"unit\"`\n\t\tUnitLength []*struct {\n\t\t\tCommon\n\t\t\tCompoundUnit []*struct {\n\t\t\t\tCommon\n\t\t\t\tCompoundUnitPattern []*Common `xml:\"compoundUnitPattern\"`\n\t\t\t} `xml:\"compoundUnit\"`\n\t\t\tUnit []*struct {\n\t\t\t\tCommon\n\t\t\t\tDisplayName []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tCount string `xml:\"count,attr\"`\n\t\t\t\t} `xml:\"displayName\"`\n\t\t\t\tUnitPattern []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tCount string `xml:\"count,attr\"`\n\t\t\t\t} `xml:\"unitPattern\"`\n\t\t\t\tPerUnitPattern []*Common `xml:\"perUnitPattern\"`\n\t\t\t} `xml:\"unit\"`\n\t\t\tCoordinateUnit []*struct {\n\t\t\t\tCommon\n\t\t\t\tCoordinateUnitPattern []*Common `xml:\"coordinateUnitPattern\"`\n\t\t\t} `xml:\"coordinateUnit\"`\n\t\t} `xml:\"unitLength\"`\n\t\tDurationUnit []*struct {\n\t\t\tCommon\n\t\t\tDurationUnitPattern []*Common `xml:\"durationUnitPattern\"`\n\t\t} `xml:\"durationUnit\"`\n\t} `xml:\"units\"`\n\tListPatterns *struct {\n\t\tCommon\n\t\tListPattern []*struct {\n\t\t\tCommon\n\t\t\tListPatternPart []*Common `xml:\"listPatternPart\"`\n\t\t} `xml:\"listPattern\"`\n\t} `xml:\"listPatterns\"`\n\tCollations *struct {\n\t\tCommon\n\t\tVersion          string       `xml:\"version,attr\"`\n\t\tDefaultCollation *Common      `xml:\"defaultCollation\"`\n\t\tCollation        []*Collation `xml:\"collation\"`\n\t} `xml:\"collations\"`\n\tPosix *struct {\n\t\tCommon\n\t\tMessages []*struct {\n\t\t\tCommon\n\t\t\tYesstr  []*Common `xml:\"yesstr\"`\n\t\t\tNostr   []*Common `xml:\"nostr\"`\n\t\t\tYesexpr []*Common `xml:\"yesexpr\"`\n\t\t\tNoexpr  []*Common `xml:\"noexpr\"`\n\t\t} `xml:\"messages\"`\n\t} `xml:\"posix\"`\n\tCharacterLabels *struct {\n\t\tCommon\n\t\tCharacterLabelPattern []*struct {\n\t\t\tCommon\n\t\t\tCount string `xml:\"count,attr\"`\n\t\t} `xml:\"characterLabelPattern\"`\n\t\tCharacterLabel []*Common `xml:\"characterLabel\"`\n\t} `xml:\"characterLabels\"`\n\tSegmentations *struct {\n\t\tCommon\n\t\tSegmentation []*struct {\n\t\t\tCommon\n\t\t\tVariables *struct {\n\t\t\t\tCommon\n\t\t\t\tVariable []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tId string `xml:\"id,attr\"`\n\t\t\t\t} `xml:\"variable\"`\n\t\t\t} `xml:\"variables\"`\n\t\t\tSegmentRules *struct {\n\t\t\t\tCommon\n\t\t\t\tRule []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tId string `xml:\"id,attr\"`\n\t\t\t\t} `xml:\"rule\"`\n\t\t\t} `xml:\"segmentRules\"`\n\t\t\tExceptions *struct {\n\t\t\t\tCommon\n\t\t\t\tException []*Common `xml:\"exception\"`\n\t\t\t} `xml:\"exceptions\"`\n\t\t\tSuppressions *struct {\n\t\t\t\tCommon\n\t\t\t\tSuppression []*Common `xml:\"suppression\"`\n\t\t\t} `xml:\"suppressions\"`\n\t\t} `xml:\"segmentation\"`\n\t} `xml:\"segmentations\"`\n\tRbnf *struct {\n\t\tCommon\n\t\tRulesetGrouping []*struct {\n\t\t\tCommon\n\t\t\tRuleset []*struct {\n\t\t\t\tCommon\n\t\t\t\tAccess        string `xml:\"access,attr\"`\n\t\t\t\tAllowsParsing string `xml:\"allowsParsing,attr\"`\n\t\t\t\tRbnfrule      []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tValue  string `xml:\"value,attr\"`\n\t\t\t\t\tRadix  string `xml:\"radix,attr\"`\n\t\t\t\t\tDecexp string `xml:\"decexp,attr\"`\n\t\t\t\t} `xml:\"rbnfrule\"`\n\t\t\t} `xml:\"ruleset\"`\n\t\t} `xml:\"rulesetGrouping\"`\n\t} `xml:\"rbnf\"`\n\tAnnotations *struct {\n\t\tCommon\n\t\tAnnotation []*struct {\n\t\t\tCommon\n\t\t\tCp  string `xml:\"cp,attr\"`\n\t\t\tTts string `xml:\"tts,attr\"`\n\t\t} `xml:\"annotation\"`\n\t} `xml:\"annotations\"`\n\tMetadata *struct {\n\t\tCommon\n\t\tCasingData *struct {\n\t\t\tCommon\n\t\t\tCasingItem []*struct {\n\t\t\t\tCommon\n\t\t\t\tOverride   string `xml:\"override,attr\"`\n\t\t\t\tForceError string `xml:\"forceError,attr\"`\n\t\t\t} `xml:\"casingItem\"`\n\t\t} `xml:\"casingData\"`\n\t} `xml:\"metadata\"`\n\tReferences *struct {\n\t\tCommon\n\t\tReference []*struct {\n\t\t\tCommon\n\t\t\tUri string `xml:\"uri,attr\"`\n\t\t} `xml:\"reference\"`\n\t} `xml:\"references\"`\n}\n\n// Collation contains rules that specify a certain sort-order,\n// as a tailoring of the root order.\n// The parsed rules are obtained by passing a RuleProcessor to Collation's\n// Process method.\ntype Collation struct {\n\tCommon\n\tVisibility string  `xml:\"visibility,attr\"`\n\tBase       *Common `xml:\"base\"`\n\tImport     []*struct {\n\t\tCommon\n\t\tSource string `xml:\"source,attr\"`\n\t} `xml:\"import\"`\n\tSettings *struct {\n\t\tCommon\n\t\tStrength           string `xml:\"strength,attr\"`\n\t\tAlternate          string `xml:\"alternate,attr\"`\n\t\tBackwards          string `xml:\"backwards,attr\"`\n\t\tNormalization      string `xml:\"normalization,attr\"`\n\t\tCaseLevel          string `xml:\"caseLevel,attr\"`\n\t\tCaseFirst          string `xml:\"caseFirst,attr\"`\n\t\tHiraganaQuaternary string `xml:\"hiraganaQuaternary,attr\"`\n\t\tMaxVariable        string `xml:\"maxVariable,attr\"`\n\t\tNumeric            string `xml:\"numeric,attr\"`\n\t\tPrivate            string `xml:\"private,attr\"`\n\t\tVariableTop        string `xml:\"variableTop,attr\"`\n\t\tReorder            string `xml:\"reorder,attr\"`\n\t} `xml:\"settings\"`\n\tSuppressContractions *Common   `xml:\"suppress_contractions\"`\n\tOptimize             *Common   `xml:\"optimize\"`\n\tCr                   []*Common `xml:\"cr\"`\n\trulesElem\n}\n\n// Calendar specifies the fields used for formatting and parsing dates and times.\n// The month and quarter names are identified numerically, starting at 1.\n// The day (of the week) names are identified with short strings, since there is\n// no universally-accepted numeric designation.\ntype Calendar struct {\n\tCommon\n\tMonths *struct {\n\t\tCommon\n\t\tMonthContext []*struct {\n\t\t\tCommon\n\t\t\tMonthWidth []*struct {\n\t\t\t\tCommon\n\t\t\t\tMonth []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tYeartype string `xml:\"yeartype,attr\"`\n\t\t\t\t} `xml:\"month\"`\n\t\t\t} `xml:\"monthWidth\"`\n\t\t} `xml:\"monthContext\"`\n\t} `xml:\"months\"`\n\tMonthNames *struct {\n\t\tCommon\n\t\tMonth []*struct {\n\t\t\tCommon\n\t\t\tYeartype string `xml:\"yeartype,attr\"`\n\t\t} `xml:\"month\"`\n\t} `xml:\"monthNames\"`\n\tMonthAbbr *struct {\n\t\tCommon\n\t\tMonth []*struct {\n\t\t\tCommon\n\t\t\tYeartype string `xml:\"yeartype,attr\"`\n\t\t} `xml:\"month\"`\n\t} `xml:\"monthAbbr\"`\n\tMonthPatterns *struct {\n\t\tCommon\n\t\tMonthPatternContext []*struct {\n\t\t\tCommon\n\t\t\tMonthPatternWidth []*struct {\n\t\t\t\tCommon\n\t\t\t\tMonthPattern []*Common `xml:\"monthPattern\"`\n\t\t\t} `xml:\"monthPatternWidth\"`\n\t\t} `xml:\"monthPatternContext\"`\n\t} `xml:\"monthPatterns\"`\n\tDays *struct {\n\t\tCommon\n\t\tDayContext []*struct {\n\t\t\tCommon\n\t\t\tDayWidth []*struct {\n\t\t\t\tCommon\n\t\t\t\tDay []*Common `xml:\"day\"`\n\t\t\t} `xml:\"dayWidth\"`\n\t\t} `xml:\"dayContext\"`\n\t} `xml:\"days\"`\n\tDayNames *struct {\n\t\tCommon\n\t\tDay []*Common `xml:\"day\"`\n\t} `xml:\"dayNames\"`\n\tDayAbbr *struct {\n\t\tCommon\n\t\tDay []*Common `xml:\"day\"`\n\t} `xml:\"dayAbbr\"`\n\tQuarters *struct {\n\t\tCommon\n\t\tQuarterContext []*struct {\n\t\t\tCommon\n\t\t\tQuarterWidth []*struct {\n\t\t\t\tCommon\n\t\t\t\tQuarter []*Common `xml:\"quarter\"`\n\t\t\t} `xml:\"quarterWidth\"`\n\t\t} `xml:\"quarterContext\"`\n\t} `xml:\"quarters\"`\n\tWeek *struct {\n\t\tCommon\n\t\tMinDays []*struct {\n\t\t\tCommon\n\t\t\tCount string `xml:\"count,attr\"`\n\t\t} `xml:\"minDays\"`\n\t\tFirstDay []*struct {\n\t\t\tCommon\n\t\t\tDay string `xml:\"day,attr\"`\n\t\t} `xml:\"firstDay\"`\n\t\tWeekendStart []*struct {\n\t\t\tCommon\n\t\t\tDay  string `xml:\"day,attr\"`\n\t\t\tTime string `xml:\"time,attr\"`\n\t\t} `xml:\"weekendStart\"`\n\t\tWeekendEnd []*struct {\n\t\t\tCommon\n\t\t\tDay  string `xml:\"day,attr\"`\n\t\t\tTime string `xml:\"time,attr\"`\n\t\t} `xml:\"weekendEnd\"`\n\t} `xml:\"week\"`\n\tAm         []*Common `xml:\"am\"`\n\tPm         []*Common `xml:\"pm\"`\n\tDayPeriods *struct {\n\t\tCommon\n\t\tDayPeriodContext []*struct {\n\t\t\tCommon\n\t\t\tDayPeriodWidth []*struct {\n\t\t\t\tCommon\n\t\t\t\tDayPeriod []*Common `xml:\"dayPeriod\"`\n\t\t\t} `xml:\"dayPeriodWidth\"`\n\t\t} `xml:\"dayPeriodContext\"`\n\t} `xml:\"dayPeriods\"`\n\tEras *struct {\n\t\tCommon\n\t\tEraNames *struct {\n\t\t\tCommon\n\t\t\tEra []*Common `xml:\"era\"`\n\t\t} `xml:\"eraNames\"`\n\t\tEraAbbr *struct {\n\t\t\tCommon\n\t\t\tEra []*Common `xml:\"era\"`\n\t\t} `xml:\"eraAbbr\"`\n\t\tEraNarrow *struct {\n\t\t\tCommon\n\t\t\tEra []*Common `xml:\"era\"`\n\t\t} `xml:\"eraNarrow\"`\n\t} `xml:\"eras\"`\n\tCyclicNameSets *struct {\n\t\tCommon\n\t\tCyclicNameSet []*struct {\n\t\t\tCommon\n\t\t\tCyclicNameContext []*struct {\n\t\t\t\tCommon\n\t\t\t\tCyclicNameWidth []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tCyclicName []*Common `xml:\"cyclicName\"`\n\t\t\t\t} `xml:\"cyclicNameWidth\"`\n\t\t\t} `xml:\"cyclicNameContext\"`\n\t\t} `xml:\"cyclicNameSet\"`\n\t} `xml:\"cyclicNameSets\"`\n\tDateFormats *struct {\n\t\tCommon\n\t\tDateFormatLength []*struct {\n\t\t\tCommon\n\t\t\tDateFormat []*struct {\n\t\t\t\tCommon\n\t\t\t\tPattern []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tNumbers string `xml:\"numbers,attr\"`\n\t\t\t\t\tCount   string `xml:\"count,attr\"`\n\t\t\t\t} `xml:\"pattern\"`\n\t\t\t\tDisplayName []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tCount string `xml:\"count,attr\"`\n\t\t\t\t} `xml:\"displayName\"`\n\t\t\t} `xml:\"dateFormat\"`\n\t\t} `xml:\"dateFormatLength\"`\n\t} `xml:\"dateFormats\"`\n\tTimeFormats *struct {\n\t\tCommon\n\t\tTimeFormatLength []*struct {\n\t\t\tCommon\n\t\t\tTimeFormat []*struct {\n\t\t\t\tCommon\n\t\t\t\tPattern []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tNumbers string `xml:\"numbers,attr\"`\n\t\t\t\t\tCount   string `xml:\"count,attr\"`\n\t\t\t\t} `xml:\"pattern\"`\n\t\t\t\tDisplayName []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tCount string `xml:\"count,attr\"`\n\t\t\t\t} `xml:\"displayName\"`\n\t\t\t} `xml:\"timeFormat\"`\n\t\t} `xml:\"timeFormatLength\"`\n\t} `xml:\"timeFormats\"`\n\tDateTimeFormats *struct {\n\t\tCommon\n\t\tDateTimeFormatLength []*struct {\n\t\t\tCommon\n\t\t\tDateTimeFormat []*struct {\n\t\t\t\tCommon\n\t\t\t\tPattern []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tNumbers string `xml:\"numbers,attr\"`\n\t\t\t\t\tCount   string `xml:\"count,attr\"`\n\t\t\t\t} `xml:\"pattern\"`\n\t\t\t\tDisplayName []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tCount string `xml:\"count,attr\"`\n\t\t\t\t} `xml:\"displayName\"`\n\t\t\t} `xml:\"dateTimeFormat\"`\n\t\t} `xml:\"dateTimeFormatLength\"`\n\t\tAvailableFormats []*struct {\n\t\t\tCommon\n\t\t\tDateFormatItem []*struct {\n\t\t\t\tCommon\n\t\t\t\tId    string `xml:\"id,attr\"`\n\t\t\t\tCount string `xml:\"count,attr\"`\n\t\t\t} `xml:\"dateFormatItem\"`\n\t\t} `xml:\"availableFormats\"`\n\t\tAppendItems []*struct {\n\t\t\tCommon\n\t\t\tAppendItem []*struct {\n\t\t\t\tCommon\n\t\t\t\tRequest string `xml:\"request,attr\"`\n\t\t\t} `xml:\"appendItem\"`\n\t\t} `xml:\"appendItems\"`\n\t\tIntervalFormats []*struct {\n\t\t\tCommon\n\t\t\tIntervalFormatFallback []*Common `xml:\"intervalFormatFallback\"`\n\t\t\tIntervalFormatItem     []*struct {\n\t\t\t\tCommon\n\t\t\t\tId                 string `xml:\"id,attr\"`\n\t\t\t\tGreatestDifference []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tId string `xml:\"id,attr\"`\n\t\t\t\t} `xml:\"greatestDifference\"`\n\t\t\t} `xml:\"intervalFormatItem\"`\n\t\t} `xml:\"intervalFormats\"`\n\t} `xml:\"dateTimeFormats\"`\n\tFields []*struct {\n\t\tCommon\n\t\tField []*struct {\n\t\t\tCommon\n\t\t\tDisplayName []*struct {\n\t\t\t\tCommon\n\t\t\t\tCount string `xml:\"count,attr\"`\n\t\t\t} `xml:\"displayName\"`\n\t\t\tRelative     []*Common `xml:\"relative\"`\n\t\t\tRelativeTime []*struct {\n\t\t\t\tCommon\n\t\t\t\tRelativeTimePattern []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tCount string `xml:\"count,attr\"`\n\t\t\t\t} `xml:\"relativeTimePattern\"`\n\t\t\t} `xml:\"relativeTime\"`\n\t\t\tRelativePeriod []*Common `xml:\"relativePeriod\"`\n\t\t} `xml:\"field\"`\n\t} `xml:\"fields\"`\n}\ntype TimeZoneNames struct {\n\tCommon\n\tHourFormat           []*Common `xml:\"hourFormat\"`\n\tHoursFormat          []*Common `xml:\"hoursFormat\"`\n\tGmtFormat            []*Common `xml:\"gmtFormat\"`\n\tGmtZeroFormat        []*Common `xml:\"gmtZeroFormat\"`\n\tRegionFormat         []*Common `xml:\"regionFormat\"`\n\tFallbackFormat       []*Common `xml:\"fallbackFormat\"`\n\tFallbackRegionFormat []*Common `xml:\"fallbackRegionFormat\"`\n\tAbbreviationFallback []*Common `xml:\"abbreviationFallback\"`\n\tPreferenceOrdering   []*Common `xml:\"preferenceOrdering\"`\n\tSingleCountries      []*struct {\n\t\tCommon\n\t\tList string `xml:\"list,attr\"`\n\t} `xml:\"singleCountries\"`\n\tZone []*struct {\n\t\tCommon\n\t\tLong []*struct {\n\t\t\tCommon\n\t\t\tGeneric  []*Common `xml:\"generic\"`\n\t\t\tStandard []*Common `xml:\"standard\"`\n\t\t\tDaylight []*Common `xml:\"daylight\"`\n\t\t} `xml:\"long\"`\n\t\tShort []*struct {\n\t\t\tCommon\n\t\t\tGeneric  []*Common `xml:\"generic\"`\n\t\t\tStandard []*Common `xml:\"standard\"`\n\t\t\tDaylight []*Common `xml:\"daylight\"`\n\t\t} `xml:\"short\"`\n\t\tCommonlyUsed []*struct {\n\t\t\tCommon\n\t\t\tUsed string `xml:\"used,attr\"`\n\t\t} `xml:\"commonlyUsed\"`\n\t\tExemplarCity []*Common `xml:\"exemplarCity\"`\n\t} `xml:\"zone\"`\n\tMetazone []*struct {\n\t\tCommon\n\t\tLong []*struct {\n\t\t\tCommon\n\t\t\tGeneric  []*Common `xml:\"generic\"`\n\t\t\tStandard []*Common `xml:\"standard\"`\n\t\t\tDaylight []*Common `xml:\"daylight\"`\n\t\t} `xml:\"long\"`\n\t\tShort []*struct {\n\t\t\tCommon\n\t\t\tGeneric  []*Common `xml:\"generic\"`\n\t\t\tStandard []*Common `xml:\"standard\"`\n\t\t\tDaylight []*Common `xml:\"daylight\"`\n\t\t} `xml:\"short\"`\n\t\tCommonlyUsed []*struct {\n\t\t\tCommon\n\t\t\tUsed string `xml:\"used,attr\"`\n\t\t} `xml:\"commonlyUsed\"`\n\t} `xml:\"metazone\"`\n}\n\n// LocaleDisplayNames specifies localized display names for for scripts, languages,\n// countries, currencies, and variants.\ntype LocaleDisplayNames struct {\n\tCommon\n\tLocaleDisplayPattern *struct {\n\t\tCommon\n\t\tLocalePattern        []*Common `xml:\"localePattern\"`\n\t\tLocaleSeparator      []*Common `xml:\"localeSeparator\"`\n\t\tLocaleKeyTypePattern []*Common `xml:\"localeKeyTypePattern\"`\n\t} `xml:\"localeDisplayPattern\"`\n\tLanguages *struct {\n\t\tCommon\n\t\tLanguage []*Common `xml:\"language\"`\n\t} `xml:\"languages\"`\n\tScripts *struct {\n\t\tCommon\n\t\tScript []*Common `xml:\"script\"`\n\t} `xml:\"scripts\"`\n\tTerritories *struct {\n\t\tCommon\n\t\tTerritory []*Common `xml:\"territory\"`\n\t} `xml:\"territories\"`\n\tSubdivisions *struct {\n\t\tCommon\n\t\tSubdivision []*Common `xml:\"subdivision\"`\n\t} `xml:\"subdivisions\"`\n\tVariants *struct {\n\t\tCommon\n\t\tVariant []*Common `xml:\"variant\"`\n\t} `xml:\"variants\"`\n\tKeys *struct {\n\t\tCommon\n\t\tKey []*Common `xml:\"key\"`\n\t} `xml:\"keys\"`\n\tTypes *struct {\n\t\tCommon\n\t\tType []*struct {\n\t\t\tCommon\n\t\t\tKey string `xml:\"key,attr\"`\n\t\t} `xml:\"type\"`\n\t} `xml:\"types\"`\n\tTransformNames *struct {\n\t\tCommon\n\t\tTransformName []*Common `xml:\"transformName\"`\n\t} `xml:\"transformNames\"`\n\tMeasurementSystemNames *struct {\n\t\tCommon\n\t\tMeasurementSystemName []*Common `xml:\"measurementSystemName\"`\n\t} `xml:\"measurementSystemNames\"`\n\tCodePatterns *struct {\n\t\tCommon\n\t\tCodePattern []*Common `xml:\"codePattern\"`\n\t} `xml:\"codePatterns\"`\n}\n\n// Numbers supplies information for formatting and parsing numbers and currencies.\ntype Numbers struct {\n\tCommon\n\tDefaultNumberingSystem []*Common `xml:\"defaultNumberingSystem\"`\n\tOtherNumberingSystems  []*struct {\n\t\tCommon\n\t\tNative      []*Common `xml:\"native\"`\n\t\tTraditional []*Common `xml:\"traditional\"`\n\t\tFinance     []*Common `xml:\"finance\"`\n\t} `xml:\"otherNumberingSystems\"`\n\tMinimumGroupingDigits []*Common `xml:\"minimumGroupingDigits\"`\n\tSymbols               []*struct {\n\t\tCommon\n\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\tDecimal      []*struct {\n\t\t\tCommon\n\t\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\t} `xml:\"decimal\"`\n\t\tGroup []*struct {\n\t\t\tCommon\n\t\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\t} `xml:\"group\"`\n\t\tList []*struct {\n\t\t\tCommon\n\t\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\t} `xml:\"list\"`\n\t\tPercentSign []*struct {\n\t\t\tCommon\n\t\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\t} `xml:\"percentSign\"`\n\t\tNativeZeroDigit []*struct {\n\t\t\tCommon\n\t\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\t} `xml:\"nativeZeroDigit\"`\n\t\tPatternDigit []*struct {\n\t\t\tCommon\n\t\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\t} `xml:\"patternDigit\"`\n\t\tPlusSign []*struct {\n\t\t\tCommon\n\t\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\t} `xml:\"plusSign\"`\n\t\tMinusSign []*struct {\n\t\t\tCommon\n\t\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\t} `xml:\"minusSign\"`\n\t\tExponential []*struct {\n\t\t\tCommon\n\t\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\t} `xml:\"exponential\"`\n\t\tSuperscriptingExponent []*Common `xml:\"superscriptingExponent\"`\n\t\tPerMille               []*struct {\n\t\t\tCommon\n\t\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\t} `xml:\"perMille\"`\n\t\tInfinity []*struct {\n\t\t\tCommon\n\t\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\t} `xml:\"infinity\"`\n\t\tNan []*struct {\n\t\t\tCommon\n\t\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\t} `xml:\"nan\"`\n\t\tCurrencyDecimal []*struct {\n\t\t\tCommon\n\t\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\t} `xml:\"currencyDecimal\"`\n\t\tCurrencyGroup []*struct {\n\t\t\tCommon\n\t\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\t} `xml:\"currencyGroup\"`\n\t\tTimeSeparator []*Common `xml:\"timeSeparator\"`\n\t} `xml:\"symbols\"`\n\tDecimalFormats []*struct {\n\t\tCommon\n\t\tNumberSystem        string `xml:\"numberSystem,attr\"`\n\t\tDecimalFormatLength []*struct {\n\t\t\tCommon\n\t\t\tDecimalFormat []*struct {\n\t\t\t\tCommon\n\t\t\t\tPattern []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tNumbers string `xml:\"numbers,attr\"`\n\t\t\t\t\tCount   string `xml:\"count,attr\"`\n\t\t\t\t} `xml:\"pattern\"`\n\t\t\t} `xml:\"decimalFormat\"`\n\t\t} `xml:\"decimalFormatLength\"`\n\t} `xml:\"decimalFormats\"`\n\tScientificFormats []*struct {\n\t\tCommon\n\t\tNumberSystem           string `xml:\"numberSystem,attr\"`\n\t\tScientificFormatLength []*struct {\n\t\t\tCommon\n\t\t\tScientificFormat []*struct {\n\t\t\t\tCommon\n\t\t\t\tPattern []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tNumbers string `xml:\"numbers,attr\"`\n\t\t\t\t\tCount   string `xml:\"count,attr\"`\n\t\t\t\t} `xml:\"pattern\"`\n\t\t\t} `xml:\"scientificFormat\"`\n\t\t} `xml:\"scientificFormatLength\"`\n\t} `xml:\"scientificFormats\"`\n\tPercentFormats []*struct {\n\t\tCommon\n\t\tNumberSystem        string `xml:\"numberSystem,attr\"`\n\t\tPercentFormatLength []*struct {\n\t\t\tCommon\n\t\t\tPercentFormat []*struct {\n\t\t\t\tCommon\n\t\t\t\tPattern []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tNumbers string `xml:\"numbers,attr\"`\n\t\t\t\t\tCount   string `xml:\"count,attr\"`\n\t\t\t\t} `xml:\"pattern\"`\n\t\t\t} `xml:\"percentFormat\"`\n\t\t} `xml:\"percentFormatLength\"`\n\t} `xml:\"percentFormats\"`\n\tCurrencyFormats []*struct {\n\t\tCommon\n\t\tNumberSystem    string `xml:\"numberSystem,attr\"`\n\t\tCurrencySpacing []*struct {\n\t\t\tCommon\n\t\t\tBeforeCurrency []*struct {\n\t\t\t\tCommon\n\t\t\t\tCurrencyMatch    []*Common `xml:\"currencyMatch\"`\n\t\t\t\tSurroundingMatch []*Common `xml:\"surroundingMatch\"`\n\t\t\t\tInsertBetween    []*Common `xml:\"insertBetween\"`\n\t\t\t} `xml:\"beforeCurrency\"`\n\t\t\tAfterCurrency []*struct {\n\t\t\t\tCommon\n\t\t\t\tCurrencyMatch    []*Common `xml:\"currencyMatch\"`\n\t\t\t\tSurroundingMatch []*Common `xml:\"surroundingMatch\"`\n\t\t\t\tInsertBetween    []*Common `xml:\"insertBetween\"`\n\t\t\t} `xml:\"afterCurrency\"`\n\t\t} `xml:\"currencySpacing\"`\n\t\tCurrencyFormatLength []*struct {\n\t\t\tCommon\n\t\t\tCurrencyFormat []*struct {\n\t\t\t\tCommon\n\t\t\t\tPattern []*struct {\n\t\t\t\t\tCommon\n\t\t\t\t\tNumbers string `xml:\"numbers,attr\"`\n\t\t\t\t\tCount   string `xml:\"count,attr\"`\n\t\t\t\t} `xml:\"pattern\"`\n\t\t\t} `xml:\"currencyFormat\"`\n\t\t} `xml:\"currencyFormatLength\"`\n\t\tUnitPattern []*struct {\n\t\t\tCommon\n\t\t\tCount string `xml:\"count,attr\"`\n\t\t} `xml:\"unitPattern\"`\n\t} `xml:\"currencyFormats\"`\n\tCurrencies *struct {\n\t\tCommon\n\t\tCurrency []*struct {\n\t\t\tCommon\n\t\t\tPattern []*struct {\n\t\t\t\tCommon\n\t\t\t\tNumbers string `xml:\"numbers,attr\"`\n\t\t\t\tCount   string `xml:\"count,attr\"`\n\t\t\t} `xml:\"pattern\"`\n\t\t\tDisplayName []*struct {\n\t\t\t\tCommon\n\t\t\t\tCount string `xml:\"count,attr\"`\n\t\t\t} `xml:\"displayName\"`\n\t\t\tSymbol  []*Common `xml:\"symbol\"`\n\t\t\tDecimal []*struct {\n\t\t\t\tCommon\n\t\t\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\t\t} `xml:\"decimal\"`\n\t\t\tGroup []*struct {\n\t\t\t\tCommon\n\t\t\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\t\t} `xml:\"group\"`\n\t\t} `xml:\"currency\"`\n\t} `xml:\"currencies\"`\n\tMiscPatterns []*struct {\n\t\tCommon\n\t\tNumberSystem string `xml:\"numberSystem,attr\"`\n\t\tPattern      []*struct {\n\t\t\tCommon\n\t\t\tNumbers string `xml:\"numbers,attr\"`\n\t\t\tCount   string `xml:\"count,attr\"`\n\t\t} `xml:\"pattern\"`\n\t} `xml:\"miscPatterns\"`\n\tMinimalPairs []*struct {\n\t\tCommon\n\t\tPluralMinimalPairs []*struct {\n\t\t\tCommon\n\t\t\tCount string `xml:\"count,attr\"`\n\t\t} `xml:\"pluralMinimalPairs\"`\n\t\tOrdinalMinimalPairs []*struct {\n\t\t\tCommon\n\t\t\tOrdinal string `xml:\"ordinal,attr\"`\n\t\t} `xml:\"ordinalMinimalPairs\"`\n\t} `xml:\"minimalPairs\"`\n}\n\n// Version is the version of CLDR from which the XML definitions are generated.\nconst Version = \"32\"\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/norm/composition.go",
    "content": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage norm\n\nimport \"unicode/utf8\"\n\nconst (\n\tmaxNonStarters = 30\n\t// The maximum number of characters needed for a buffer is\n\t// maxNonStarters + 1 for the starter + 1 for the GCJ\n\tmaxBufferSize    = maxNonStarters + 2\n\tmaxNFCExpansion  = 3  // NFC(0x1D160)\n\tmaxNFKCExpansion = 18 // NFKC(0xFDFA)\n\n\tmaxByteBufferSize = utf8.UTFMax * maxBufferSize // 128\n)\n\n// ssState is used for reporting the segment state after inserting a rune.\n// It is returned by streamSafe.next.\ntype ssState int\n\nconst (\n\t// Indicates a rune was successfully added to the segment.\n\tssSuccess ssState = iota\n\t// Indicates a rune starts a new segment and should not be added.\n\tssStarter\n\t// Indicates a rune caused a segment overflow and a CGJ should be inserted.\n\tssOverflow\n)\n\n// streamSafe implements the policy of when a CGJ should be inserted.\ntype streamSafe uint8\n\n// first inserts the first rune of a segment. It is a faster version of next if\n// it is known p represents the first rune in a segment.\nfunc (ss *streamSafe) first(p Properties) {\n\t*ss = streamSafe(p.nTrailingNonStarters())\n}\n\n// insert returns a ssState value to indicate whether a rune represented by p\n// can be inserted.\nfunc (ss *streamSafe) next(p Properties) ssState {\n\tif *ss > maxNonStarters {\n\t\tpanic(\"streamSafe was not reset\")\n\t}\n\tn := p.nLeadingNonStarters()\n\tif *ss += streamSafe(n); *ss > maxNonStarters {\n\t\t*ss = 0\n\t\treturn ssOverflow\n\t}\n\t// The Stream-Safe Text Processing prescribes that the counting can stop\n\t// as soon as a starter is encountered. However, there are some starters,\n\t// like Jamo V and T, that can combine with other runes, leaving their\n\t// successive non-starters appended to the previous, possibly causing an\n\t// overflow. We will therefore consider any rune with a non-zero nLead to\n\t// be a non-starter. Note that it always hold that if nLead > 0 then\n\t// nLead == nTrail.\n\tif n == 0 {\n\t\t*ss = streamSafe(p.nTrailingNonStarters())\n\t\treturn ssStarter\n\t}\n\treturn ssSuccess\n}\n\n// backwards is used for checking for overflow and segment starts\n// when traversing a string backwards. Users do not need to call first\n// for the first rune. The state of the streamSafe retains the count of\n// the non-starters loaded.\nfunc (ss *streamSafe) backwards(p Properties) ssState {\n\tif *ss > maxNonStarters {\n\t\tpanic(\"streamSafe was not reset\")\n\t}\n\tc := *ss + streamSafe(p.nTrailingNonStarters())\n\tif c > maxNonStarters {\n\t\treturn ssOverflow\n\t}\n\t*ss = c\n\tif p.nLeadingNonStarters() == 0 {\n\t\treturn ssStarter\n\t}\n\treturn ssSuccess\n}\n\nfunc (ss streamSafe) isMax() bool {\n\treturn ss == maxNonStarters\n}\n\n// GraphemeJoiner is inserted after maxNonStarters non-starter runes.\nconst GraphemeJoiner = \"\\u034F\"\n\n// reorderBuffer is used to normalize a single segment.  Characters inserted with\n// insert are decomposed and reordered based on CCC. The compose method can\n// be used to recombine characters.  Note that the byte buffer does not hold\n// the UTF-8 characters in order.  Only the rune array is maintained in sorted\n// order. flush writes the resulting segment to a byte array.\ntype reorderBuffer struct {\n\trune  [maxBufferSize]Properties // Per character info.\n\tbyte  [maxByteBufferSize]byte   // UTF-8 buffer. Referenced by runeInfo.pos.\n\tnbyte uint8                     // Number or bytes.\n\tss    streamSafe                // For limiting length of non-starter sequence.\n\tnrune int                       // Number of runeInfos.\n\tf     formInfo\n\n\tsrc      input\n\tnsrc     int\n\ttmpBytes input\n\n\tout    []byte\n\tflushF func(*reorderBuffer) bool\n}\n\nfunc (rb *reorderBuffer) init(f Form, src []byte) {\n\trb.f = *formTable[f]\n\trb.src.setBytes(src)\n\trb.nsrc = len(src)\n\trb.ss = 0\n}\n\nfunc (rb *reorderBuffer) initString(f Form, src string) {\n\trb.f = *formTable[f]\n\trb.src.setString(src)\n\trb.nsrc = len(src)\n\trb.ss = 0\n}\n\nfunc (rb *reorderBuffer) setFlusher(out []byte, f func(*reorderBuffer) bool) {\n\trb.out = out\n\trb.flushF = f\n}\n\n// reset discards all characters from the buffer.\nfunc (rb *reorderBuffer) reset() {\n\trb.nrune = 0\n\trb.nbyte = 0\n}\n\nfunc (rb *reorderBuffer) doFlush() bool {\n\tif rb.f.composing {\n\t\trb.compose()\n\t}\n\tres := rb.flushF(rb)\n\trb.reset()\n\treturn res\n}\n\n// appendFlush appends the normalized segment to rb.out.\nfunc appendFlush(rb *reorderBuffer) bool {\n\tfor i := 0; i < rb.nrune; i++ {\n\t\tstart := rb.rune[i].pos\n\t\tend := start + rb.rune[i].size\n\t\trb.out = append(rb.out, rb.byte[start:end]...)\n\t}\n\treturn true\n}\n\n// flush appends the normalized segment to out and resets rb.\nfunc (rb *reorderBuffer) flush(out []byte) []byte {\n\tfor i := 0; i < rb.nrune; i++ {\n\t\tstart := rb.rune[i].pos\n\t\tend := start + rb.rune[i].size\n\t\tout = append(out, rb.byte[start:end]...)\n\t}\n\trb.reset()\n\treturn out\n}\n\n// flushCopy copies the normalized segment to buf and resets rb.\n// It returns the number of bytes written to buf.\nfunc (rb *reorderBuffer) flushCopy(buf []byte) int {\n\tp := 0\n\tfor i := 0; i < rb.nrune; i++ {\n\t\trunep := rb.rune[i]\n\t\tp += copy(buf[p:], rb.byte[runep.pos:runep.pos+runep.size])\n\t}\n\trb.reset()\n\treturn p\n}\n\n// insertOrdered inserts a rune in the buffer, ordered by Canonical Combining Class.\n// It returns false if the buffer is not large enough to hold the rune.\n// It is used internally by insert and insertString only.\nfunc (rb *reorderBuffer) insertOrdered(info Properties) {\n\tn := rb.nrune\n\tb := rb.rune[:]\n\tcc := info.ccc\n\tif cc > 0 {\n\t\t// Find insertion position + move elements to make room.\n\t\tfor ; n > 0; n-- {\n\t\t\tif b[n-1].ccc <= cc {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tb[n] = b[n-1]\n\t\t}\n\t}\n\trb.nrune += 1\n\tpos := uint8(rb.nbyte)\n\trb.nbyte += utf8.UTFMax\n\tinfo.pos = pos\n\tb[n] = info\n}\n\n// insertErr is an error code returned by insert. Using this type instead\n// of error improves performance up to 20% for many of the benchmarks.\ntype insertErr int\n\nconst (\n\tiSuccess insertErr = -iota\n\tiShortDst\n\tiShortSrc\n)\n\n// insertFlush inserts the given rune in the buffer ordered by CCC.\n// If a decomposition with multiple segments are encountered, they leading\n// ones are flushed.\n// It returns a non-zero error code if the rune was not inserted.\nfunc (rb *reorderBuffer) insertFlush(src input, i int, info Properties) insertErr {\n\tif rune := src.hangul(i); rune != 0 {\n\t\trb.decomposeHangul(rune)\n\t\treturn iSuccess\n\t}\n\tif info.hasDecomposition() {\n\t\treturn rb.insertDecomposed(info.Decomposition())\n\t}\n\trb.insertSingle(src, i, info)\n\treturn iSuccess\n}\n\n// insertUnsafe inserts the given rune in the buffer ordered by CCC.\n// It is assumed there is sufficient space to hold the runes. It is the\n// responsibility of the caller to ensure this. This can be done by checking\n// the state returned by the streamSafe type.\nfunc (rb *reorderBuffer) insertUnsafe(src input, i int, info Properties) {\n\tif rune := src.hangul(i); rune != 0 {\n\t\trb.decomposeHangul(rune)\n\t}\n\tif info.hasDecomposition() {\n\t\t// TODO: inline.\n\t\trb.insertDecomposed(info.Decomposition())\n\t} else {\n\t\trb.insertSingle(src, i, info)\n\t}\n}\n\n// insertDecomposed inserts an entry in to the reorderBuffer for each rune\n// in dcomp. dcomp must be a sequence of decomposed UTF-8-encoded runes.\n// It flushes the buffer on each new segment start.\nfunc (rb *reorderBuffer) insertDecomposed(dcomp []byte) insertErr {\n\trb.tmpBytes.setBytes(dcomp)\n\t// As the streamSafe accounting already handles the counting for modifiers,\n\t// we don't have to call next. However, we do need to keep the accounting\n\t// intact when flushing the buffer.\n\tfor i := 0; i < len(dcomp); {\n\t\tinfo := rb.f.info(rb.tmpBytes, i)\n\t\tif info.BoundaryBefore() && rb.nrune > 0 && !rb.doFlush() {\n\t\t\treturn iShortDst\n\t\t}\n\t\ti += copy(rb.byte[rb.nbyte:], dcomp[i:i+int(info.size)])\n\t\trb.insertOrdered(info)\n\t}\n\treturn iSuccess\n}\n\n// insertSingle inserts an entry in the reorderBuffer for the rune at\n// position i. info is the runeInfo for the rune at position i.\nfunc (rb *reorderBuffer) insertSingle(src input, i int, info Properties) {\n\tsrc.copySlice(rb.byte[rb.nbyte:], i, i+int(info.size))\n\trb.insertOrdered(info)\n}\n\n// insertCGJ inserts a Combining Grapheme Joiner (0x034f) into rb.\nfunc (rb *reorderBuffer) insertCGJ() {\n\trb.insertSingle(input{str: GraphemeJoiner}, 0, Properties{size: uint8(len(GraphemeJoiner))})\n}\n\n// appendRune inserts a rune at the end of the buffer. It is used for Hangul.\nfunc (rb *reorderBuffer) appendRune(r rune) {\n\tbn := rb.nbyte\n\tsz := utf8.EncodeRune(rb.byte[bn:], rune(r))\n\trb.nbyte += utf8.UTFMax\n\trb.rune[rb.nrune] = Properties{pos: bn, size: uint8(sz)}\n\trb.nrune++\n}\n\n// assignRune sets a rune at position pos. It is used for Hangul and recomposition.\nfunc (rb *reorderBuffer) assignRune(pos int, r rune) {\n\tbn := rb.rune[pos].pos\n\tsz := utf8.EncodeRune(rb.byte[bn:], rune(r))\n\trb.rune[pos] = Properties{pos: bn, size: uint8(sz)}\n}\n\n// runeAt returns the rune at position n. It is used for Hangul and recomposition.\nfunc (rb *reorderBuffer) runeAt(n int) rune {\n\tinf := rb.rune[n]\n\tr, _ := utf8.DecodeRune(rb.byte[inf.pos : inf.pos+inf.size])\n\treturn r\n}\n\n// bytesAt returns the UTF-8 encoding of the rune at position n.\n// It is used for Hangul and recomposition.\nfunc (rb *reorderBuffer) bytesAt(n int) []byte {\n\tinf := rb.rune[n]\n\treturn rb.byte[inf.pos : int(inf.pos)+int(inf.size)]\n}\n\n// For Hangul we combine algorithmically, instead of using tables.\nconst (\n\thangulBase  = 0xAC00 // UTF-8(hangulBase) -> EA B0 80\n\thangulBase0 = 0xEA\n\thangulBase1 = 0xB0\n\thangulBase2 = 0x80\n\n\thangulEnd  = hangulBase + jamoLVTCount // UTF-8(0xD7A4) -> ED 9E A4\n\thangulEnd0 = 0xED\n\thangulEnd1 = 0x9E\n\thangulEnd2 = 0xA4\n\n\tjamoLBase  = 0x1100 // UTF-8(jamoLBase) -> E1 84 00\n\tjamoLBase0 = 0xE1\n\tjamoLBase1 = 0x84\n\tjamoLEnd   = 0x1113\n\tjamoVBase  = 0x1161\n\tjamoVEnd   = 0x1176\n\tjamoTBase  = 0x11A7\n\tjamoTEnd   = 0x11C3\n\n\tjamoTCount   = 28\n\tjamoVCount   = 21\n\tjamoVTCount  = 21 * 28\n\tjamoLVTCount = 19 * 21 * 28\n)\n\nconst hangulUTF8Size = 3\n\nfunc isHangul(b []byte) bool {\n\tif len(b) < hangulUTF8Size {\n\t\treturn false\n\t}\n\tb0 := b[0]\n\tif b0 < hangulBase0 {\n\t\treturn false\n\t}\n\tb1 := b[1]\n\tswitch {\n\tcase b0 == hangulBase0:\n\t\treturn b1 >= hangulBase1\n\tcase b0 < hangulEnd0:\n\t\treturn true\n\tcase b0 > hangulEnd0:\n\t\treturn false\n\tcase b1 < hangulEnd1:\n\t\treturn true\n\t}\n\treturn b1 == hangulEnd1 && b[2] < hangulEnd2\n}\n\nfunc isHangulString(b string) bool {\n\tif len(b) < hangulUTF8Size {\n\t\treturn false\n\t}\n\tb0 := b[0]\n\tif b0 < hangulBase0 {\n\t\treturn false\n\t}\n\tb1 := b[1]\n\tswitch {\n\tcase b0 == hangulBase0:\n\t\treturn b1 >= hangulBase1\n\tcase b0 < hangulEnd0:\n\t\treturn true\n\tcase b0 > hangulEnd0:\n\t\treturn false\n\tcase b1 < hangulEnd1:\n\t\treturn true\n\t}\n\treturn b1 == hangulEnd1 && b[2] < hangulEnd2\n}\n\n// Caller must ensure len(b) >= 2.\nfunc isJamoVT(b []byte) bool {\n\t// True if (rune & 0xff00) == jamoLBase\n\treturn b[0] == jamoLBase0 && (b[1]&0xFC) == jamoLBase1\n}\n\nfunc isHangulWithoutJamoT(b []byte) bool {\n\tc, _ := utf8.DecodeRune(b)\n\tc -= hangulBase\n\treturn c < jamoLVTCount && c%jamoTCount == 0\n}\n\n// decomposeHangul writes the decomposed Hangul to buf and returns the number\n// of bytes written.  len(buf) should be at least 9.\nfunc decomposeHangul(buf []byte, r rune) int {\n\tconst JamoUTF8Len = 3\n\tr -= hangulBase\n\tx := r % jamoTCount\n\tr /= jamoTCount\n\tutf8.EncodeRune(buf, jamoLBase+r/jamoVCount)\n\tutf8.EncodeRune(buf[JamoUTF8Len:], jamoVBase+r%jamoVCount)\n\tif x != 0 {\n\t\tutf8.EncodeRune(buf[2*JamoUTF8Len:], jamoTBase+x)\n\t\treturn 3 * JamoUTF8Len\n\t}\n\treturn 2 * JamoUTF8Len\n}\n\n// decomposeHangul algorithmically decomposes a Hangul rune into\n// its Jamo components.\n// See http://unicode.org/reports/tr15/#Hangul for details on decomposing Hangul.\nfunc (rb *reorderBuffer) decomposeHangul(r rune) {\n\tr -= hangulBase\n\tx := r % jamoTCount\n\tr /= jamoTCount\n\trb.appendRune(jamoLBase + r/jamoVCount)\n\trb.appendRune(jamoVBase + r%jamoVCount)\n\tif x != 0 {\n\t\trb.appendRune(jamoTBase + x)\n\t}\n}\n\n// combineHangul algorithmically combines Jamo character components into Hangul.\n// See http://unicode.org/reports/tr15/#Hangul for details on combining Hangul.\nfunc (rb *reorderBuffer) combineHangul(s, i, k int) {\n\tb := rb.rune[:]\n\tbn := rb.nrune\n\tfor ; i < bn; i++ {\n\t\tcccB := b[k-1].ccc\n\t\tcccC := b[i].ccc\n\t\tif cccB == 0 {\n\t\t\ts = k - 1\n\t\t}\n\t\tif s != k-1 && cccB >= cccC {\n\t\t\t// b[i] is blocked by greater-equal cccX below it\n\t\t\tb[k] = b[i]\n\t\t\tk++\n\t\t} else {\n\t\t\tl := rb.runeAt(s) // also used to compare to hangulBase\n\t\t\tv := rb.runeAt(i) // also used to compare to jamoT\n\t\t\tswitch {\n\t\t\tcase jamoLBase <= l && l < jamoLEnd &&\n\t\t\t\tjamoVBase <= v && v < jamoVEnd:\n\t\t\t\t// 11xx plus 116x to LV\n\t\t\t\trb.assignRune(s, hangulBase+\n\t\t\t\t\t(l-jamoLBase)*jamoVTCount+(v-jamoVBase)*jamoTCount)\n\t\t\tcase hangulBase <= l && l < hangulEnd &&\n\t\t\t\tjamoTBase < v && v < jamoTEnd &&\n\t\t\t\t((l-hangulBase)%jamoTCount) == 0:\n\t\t\t\t// ACxx plus 11Ax to LVT\n\t\t\t\trb.assignRune(s, l+v-jamoTBase)\n\t\t\tdefault:\n\t\t\t\tb[k] = b[i]\n\t\t\t\tk++\n\t\t\t}\n\t\t}\n\t}\n\trb.nrune = k\n}\n\n// compose recombines the runes in the buffer.\n// It should only be used to recompose a single segment, as it will not\n// handle alternations between Hangul and non-Hangul characters correctly.\nfunc (rb *reorderBuffer) compose() {\n\t// UAX #15, section X5 , including Corrigendum #5\n\t// \"In any character sequence beginning with starter S, a character C is\n\t//  blocked from S if and only if there is some character B between S\n\t//  and C, and either B is a starter or it has the same or higher\n\t//  combining class as C.\"\n\tbn := rb.nrune\n\tif bn == 0 {\n\t\treturn\n\t}\n\tk := 1\n\tb := rb.rune[:]\n\tfor s, i := 0, 1; i < bn; i++ {\n\t\tif isJamoVT(rb.bytesAt(i)) {\n\t\t\t// Redo from start in Hangul mode. Necessary to support\n\t\t\t// U+320E..U+321E in NFKC mode.\n\t\t\trb.combineHangul(s, i, k)\n\t\t\treturn\n\t\t}\n\t\tii := b[i]\n\t\t// We can only use combineForward as a filter if we later\n\t\t// get the info for the combined character. This is more\n\t\t// expensive than using the filter. Using combinesBackward()\n\t\t// is safe.\n\t\tif ii.combinesBackward() {\n\t\t\tcccB := b[k-1].ccc\n\t\t\tcccC := ii.ccc\n\t\t\tblocked := false // b[i] blocked by starter or greater or equal CCC?\n\t\t\tif cccB == 0 {\n\t\t\t\ts = k - 1\n\t\t\t} else {\n\t\t\t\tblocked = s != k-1 && cccB >= cccC\n\t\t\t}\n\t\t\tif !blocked {\n\t\t\t\tcombined := combine(rb.runeAt(s), rb.runeAt(i))\n\t\t\t\tif combined != 0 {\n\t\t\t\t\trb.assignRune(s, combined)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tb[k] = b[i]\n\t\tk++\n\t}\n\trb.nrune = k\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/norm/forminfo.go",
    "content": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage norm\n\n// This file contains Form-specific logic and wrappers for data in tables.go.\n\n// Rune info is stored in a separate trie per composing form. A composing form\n// and its corresponding decomposing form share the same trie.  Each trie maps\n// a rune to a uint16. The values take two forms.  For v >= 0x8000:\n//   bits\n//   15:    1 (inverse of NFD_QC bit of qcInfo)\n//   13..7: qcInfo (see below). isYesD is always true (no decompostion).\n//    6..0: ccc (compressed CCC value).\n// For v < 0x8000, the respective rune has a decomposition and v is an index\n// into a byte array of UTF-8 decomposition sequences and additional info and\n// has the form:\n//    <header> <decomp_byte>* [<tccc> [<lccc>]]\n// The header contains the number of bytes in the decomposition (excluding this\n// length byte). The two most significant bits of this length byte correspond\n// to bit 5 and 4 of qcInfo (see below).  The byte sequence itself starts at v+1.\n// The byte sequence is followed by a trailing and leading CCC if the values\n// for these are not zero.  The value of v determines which ccc are appended\n// to the sequences.  For v < firstCCC, there are none, for v >= firstCCC,\n// the sequence is followed by a trailing ccc, and for v >= firstLeadingCC\n// there is an additional leading ccc. The value of tccc itself is the\n// trailing CCC shifted left 2 bits. The two least-significant bits of tccc\n// are the number of trailing non-starters.\n\nconst (\n\tqcInfoMask      = 0x3F // to clear all but the relevant bits in a qcInfo\n\theaderLenMask   = 0x3F // extract the length value from the header byte\n\theaderFlagsMask = 0xC0 // extract the qcInfo bits from the header byte\n)\n\n// Properties provides access to normalization properties of a rune.\ntype Properties struct {\n\tpos   uint8  // start position in reorderBuffer; used in composition.go\n\tsize  uint8  // length of UTF-8 encoding of this rune\n\tccc   uint8  // leading canonical combining class (ccc if not decomposition)\n\ttccc  uint8  // trailing canonical combining class (ccc if not decomposition)\n\tnLead uint8  // number of leading non-starters.\n\tflags qcInfo // quick check flags\n\tindex uint16\n}\n\n// functions dispatchable per form\ntype lookupFunc func(b input, i int) Properties\n\n// formInfo holds Form-specific functions and tables.\ntype formInfo struct {\n\tform                     Form\n\tcomposing, compatibility bool // form type\n\tinfo                     lookupFunc\n\tnextMain                 iterFunc\n}\n\nvar formTable = []*formInfo{{\n\tform:          NFC,\n\tcomposing:     true,\n\tcompatibility: false,\n\tinfo:          lookupInfoNFC,\n\tnextMain:      nextComposed,\n}, {\n\tform:          NFD,\n\tcomposing:     false,\n\tcompatibility: false,\n\tinfo:          lookupInfoNFC,\n\tnextMain:      nextDecomposed,\n}, {\n\tform:          NFKC,\n\tcomposing:     true,\n\tcompatibility: true,\n\tinfo:          lookupInfoNFKC,\n\tnextMain:      nextComposed,\n}, {\n\tform:          NFKD,\n\tcomposing:     false,\n\tcompatibility: true,\n\tinfo:          lookupInfoNFKC,\n\tnextMain:      nextDecomposed,\n}}\n\n// We do not distinguish between boundaries for NFC, NFD, etc. to avoid\n// unexpected behavior for the user.  For example, in NFD, there is a boundary\n// after 'a'.  However, 'a' might combine with modifiers, so from the application's\n// perspective it is not a good boundary. We will therefore always use the\n// boundaries for the combining variants.\n\n// BoundaryBefore returns true if this rune starts a new segment and\n// cannot combine with any rune on the left.\nfunc (p Properties) BoundaryBefore() bool {\n\tif p.ccc == 0 && !p.combinesBackward() {\n\t\treturn true\n\t}\n\t// We assume that the CCC of the first character in a decomposition\n\t// is always non-zero if different from info.ccc and that we can return\n\t// false at this point. This is verified by maketables.\n\treturn false\n}\n\n// BoundaryAfter returns true if runes cannot combine with or otherwise\n// interact with this or previous runes.\nfunc (p Properties) BoundaryAfter() bool {\n\t// TODO: loosen these conditions.\n\treturn p.isInert()\n}\n\n// We pack quick check data in 4 bits:\n//   5:    Combines forward  (0 == false, 1 == true)\n//   4..3: NFC_QC Yes(00), No (10), or Maybe (11)\n//   2:    NFD_QC Yes (0) or No (1). No also means there is a decomposition.\n//   1..0: Number of trailing non-starters.\n//\n// When all 4 bits are zero, the character is inert, meaning it is never\n// influenced by normalization.\ntype qcInfo uint8\n\nfunc (p Properties) isYesC() bool { return p.flags&0x10 == 0 }\nfunc (p Properties) isYesD() bool { return p.flags&0x4 == 0 }\n\nfunc (p Properties) combinesForward() bool  { return p.flags&0x20 != 0 }\nfunc (p Properties) combinesBackward() bool { return p.flags&0x8 != 0 } // == isMaybe\nfunc (p Properties) hasDecomposition() bool { return p.flags&0x4 != 0 } // == isNoD\n\nfunc (p Properties) isInert() bool {\n\treturn p.flags&qcInfoMask == 0 && p.ccc == 0\n}\n\nfunc (p Properties) multiSegment() bool {\n\treturn p.index >= firstMulti && p.index < endMulti\n}\n\nfunc (p Properties) nLeadingNonStarters() uint8 {\n\treturn p.nLead\n}\n\nfunc (p Properties) nTrailingNonStarters() uint8 {\n\treturn uint8(p.flags & 0x03)\n}\n\n// Decomposition returns the decomposition for the underlying rune\n// or nil if there is none.\nfunc (p Properties) Decomposition() []byte {\n\t// TODO: create the decomposition for Hangul?\n\tif p.index == 0 {\n\t\treturn nil\n\t}\n\ti := p.index\n\tn := decomps[i] & headerLenMask\n\ti++\n\treturn decomps[i : i+uint16(n)]\n}\n\n// Size returns the length of UTF-8 encoding of the rune.\nfunc (p Properties) Size() int {\n\treturn int(p.size)\n}\n\n// CCC returns the canonical combining class of the underlying rune.\nfunc (p Properties) CCC() uint8 {\n\tif p.index >= firstCCCZeroExcept {\n\t\treturn 0\n\t}\n\treturn ccc[p.ccc]\n}\n\n// LeadCCC returns the CCC of the first rune in the decomposition.\n// If there is no decomposition, LeadCCC equals CCC.\nfunc (p Properties) LeadCCC() uint8 {\n\treturn ccc[p.ccc]\n}\n\n// TrailCCC returns the CCC of the last rune in the decomposition.\n// If there is no decomposition, TrailCCC equals CCC.\nfunc (p Properties) TrailCCC() uint8 {\n\treturn ccc[p.tccc]\n}\n\n// Recomposition\n// We use 32-bit keys instead of 64-bit for the two codepoint keys.\n// This clips off the bits of three entries, but we know this will not\n// result in a collision. In the unlikely event that changes to\n// UnicodeData.txt introduce collisions, the compiler will catch it.\n// Note that the recomposition map for NFC and NFKC are identical.\n\n// combine returns the combined rune or 0 if it doesn't exist.\nfunc combine(a, b rune) rune {\n\tkey := uint32(uint16(a))<<16 + uint32(uint16(b))\n\treturn recompMap[key]\n}\n\nfunc lookupInfoNFC(b input, i int) Properties {\n\tv, sz := b.charinfoNFC(i)\n\treturn compInfo(v, sz)\n}\n\nfunc lookupInfoNFKC(b input, i int) Properties {\n\tv, sz := b.charinfoNFKC(i)\n\treturn compInfo(v, sz)\n}\n\n// Properties returns properties for the first rune in s.\nfunc (f Form) Properties(s []byte) Properties {\n\tif f == NFC || f == NFD {\n\t\treturn compInfo(nfcData.lookup(s))\n\t}\n\treturn compInfo(nfkcData.lookup(s))\n}\n\n// PropertiesString returns properties for the first rune in s.\nfunc (f Form) PropertiesString(s string) Properties {\n\tif f == NFC || f == NFD {\n\t\treturn compInfo(nfcData.lookupString(s))\n\t}\n\treturn compInfo(nfkcData.lookupString(s))\n}\n\n// compInfo converts the information contained in v and sz\n// to a Properties.  See the comment at the top of the file\n// for more information on the format.\nfunc compInfo(v uint16, sz int) Properties {\n\tif v == 0 {\n\t\treturn Properties{size: uint8(sz)}\n\t} else if v >= 0x8000 {\n\t\tp := Properties{\n\t\t\tsize:  uint8(sz),\n\t\t\tccc:   uint8(v),\n\t\t\ttccc:  uint8(v),\n\t\t\tflags: qcInfo(v >> 8),\n\t\t}\n\t\tif p.ccc > 0 || p.combinesBackward() {\n\t\t\tp.nLead = uint8(p.flags & 0x3)\n\t\t}\n\t\treturn p\n\t}\n\t// has decomposition\n\th := decomps[v]\n\tf := (qcInfo(h&headerFlagsMask) >> 2) | 0x4\n\tp := Properties{size: uint8(sz), flags: f, index: v}\n\tif v >= firstCCC {\n\t\tv += uint16(h&headerLenMask) + 1\n\t\tc := decomps[v]\n\t\tp.tccc = c >> 2\n\t\tp.flags |= qcInfo(c & 0x3)\n\t\tif v >= firstLeadingCCC {\n\t\t\tp.nLead = c & 0x3\n\t\t\tif v >= firstStarterWithNLead {\n\t\t\t\t// We were tricked. Remove the decomposition.\n\t\t\t\tp.flags &= 0x03\n\t\t\t\tp.index = 0\n\t\t\t\treturn p\n\t\t\t}\n\t\t\tp.ccc = decomps[v+1]\n\t\t}\n\t}\n\treturn p\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/norm/input.go",
    "content": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage norm\n\nimport \"unicode/utf8\"\n\ntype input struct {\n\tstr   string\n\tbytes []byte\n}\n\nfunc inputBytes(str []byte) input {\n\treturn input{bytes: str}\n}\n\nfunc inputString(str string) input {\n\treturn input{str: str}\n}\n\nfunc (in *input) setBytes(str []byte) {\n\tin.str = \"\"\n\tin.bytes = str\n}\n\nfunc (in *input) setString(str string) {\n\tin.str = str\n\tin.bytes = nil\n}\n\nfunc (in *input) _byte(p int) byte {\n\tif in.bytes == nil {\n\t\treturn in.str[p]\n\t}\n\treturn in.bytes[p]\n}\n\nfunc (in *input) skipASCII(p, max int) int {\n\tif in.bytes == nil {\n\t\tfor ; p < max && in.str[p] < utf8.RuneSelf; p++ {\n\t\t}\n\t} else {\n\t\tfor ; p < max && in.bytes[p] < utf8.RuneSelf; p++ {\n\t\t}\n\t}\n\treturn p\n}\n\nfunc (in *input) skipContinuationBytes(p int) int {\n\tif in.bytes == nil {\n\t\tfor ; p < len(in.str) && !utf8.RuneStart(in.str[p]); p++ {\n\t\t}\n\t} else {\n\t\tfor ; p < len(in.bytes) && !utf8.RuneStart(in.bytes[p]); p++ {\n\t\t}\n\t}\n\treturn p\n}\n\nfunc (in *input) appendSlice(buf []byte, b, e int) []byte {\n\tif in.bytes != nil {\n\t\treturn append(buf, in.bytes[b:e]...)\n\t}\n\tfor i := b; i < e; i++ {\n\t\tbuf = append(buf, in.str[i])\n\t}\n\treturn buf\n}\n\nfunc (in *input) copySlice(buf []byte, b, e int) int {\n\tif in.bytes == nil {\n\t\treturn copy(buf, in.str[b:e])\n\t}\n\treturn copy(buf, in.bytes[b:e])\n}\n\nfunc (in *input) charinfoNFC(p int) (uint16, int) {\n\tif in.bytes == nil {\n\t\treturn nfcData.lookupString(in.str[p:])\n\t}\n\treturn nfcData.lookup(in.bytes[p:])\n}\n\nfunc (in *input) charinfoNFKC(p int) (uint16, int) {\n\tif in.bytes == nil {\n\t\treturn nfkcData.lookupString(in.str[p:])\n\t}\n\treturn nfkcData.lookup(in.bytes[p:])\n}\n\nfunc (in *input) hangul(p int) (r rune) {\n\tvar size int\n\tif in.bytes == nil {\n\t\tif !isHangulString(in.str[p:]) {\n\t\t\treturn 0\n\t\t}\n\t\tr, size = utf8.DecodeRuneInString(in.str[p:])\n\t} else {\n\t\tif !isHangul(in.bytes[p:]) {\n\t\t\treturn 0\n\t\t}\n\t\tr, size = utf8.DecodeRune(in.bytes[p:])\n\t}\n\tif size != hangulUTF8Size {\n\t\treturn 0\n\t}\n\treturn r\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/norm/iter.go",
    "content": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage norm\n\nimport (\n\t\"fmt\"\n\t\"unicode/utf8\"\n)\n\n// MaxSegmentSize is the maximum size of a byte buffer needed to consider any\n// sequence of starter and non-starter runes for the purpose of normalization.\nconst MaxSegmentSize = maxByteBufferSize\n\n// An Iter iterates over a string or byte slice, while normalizing it\n// to a given Form.\ntype Iter struct {\n\trb     reorderBuffer\n\tbuf    [maxByteBufferSize]byte\n\tinfo   Properties // first character saved from previous iteration\n\tnext   iterFunc   // implementation of next depends on form\n\tasciiF iterFunc\n\n\tp        int    // current position in input source\n\tmultiSeg []byte // remainder of multi-segment decomposition\n}\n\ntype iterFunc func(*Iter) []byte\n\n// Init initializes i to iterate over src after normalizing it to Form f.\nfunc (i *Iter) Init(f Form, src []byte) {\n\ti.p = 0\n\tif len(src) == 0 {\n\t\ti.setDone()\n\t\ti.rb.nsrc = 0\n\t\treturn\n\t}\n\ti.multiSeg = nil\n\ti.rb.init(f, src)\n\ti.next = i.rb.f.nextMain\n\ti.asciiF = nextASCIIBytes\n\ti.info = i.rb.f.info(i.rb.src, i.p)\n\ti.rb.ss.first(i.info)\n}\n\n// InitString initializes i to iterate over src after normalizing it to Form f.\nfunc (i *Iter) InitString(f Form, src string) {\n\ti.p = 0\n\tif len(src) == 0 {\n\t\ti.setDone()\n\t\ti.rb.nsrc = 0\n\t\treturn\n\t}\n\ti.multiSeg = nil\n\ti.rb.initString(f, src)\n\ti.next = i.rb.f.nextMain\n\ti.asciiF = nextASCIIString\n\ti.info = i.rb.f.info(i.rb.src, i.p)\n\ti.rb.ss.first(i.info)\n}\n\n// Seek sets the segment to be returned by the next call to Next to start\n// at position p.  It is the responsibility of the caller to set p to the\n// start of a segment.\nfunc (i *Iter) Seek(offset int64, whence int) (int64, error) {\n\tvar abs int64\n\tswitch whence {\n\tcase 0:\n\t\tabs = offset\n\tcase 1:\n\t\tabs = int64(i.p) + offset\n\tcase 2:\n\t\tabs = int64(i.rb.nsrc) + offset\n\tdefault:\n\t\treturn 0, fmt.Errorf(\"norm: invalid whence\")\n\t}\n\tif abs < 0 {\n\t\treturn 0, fmt.Errorf(\"norm: negative position\")\n\t}\n\tif int(abs) >= i.rb.nsrc {\n\t\ti.setDone()\n\t\treturn int64(i.p), nil\n\t}\n\ti.p = int(abs)\n\ti.multiSeg = nil\n\ti.next = i.rb.f.nextMain\n\ti.info = i.rb.f.info(i.rb.src, i.p)\n\ti.rb.ss.first(i.info)\n\treturn abs, nil\n}\n\n// returnSlice returns a slice of the underlying input type as a byte slice.\n// If the underlying is of type []byte, it will simply return a slice.\n// If the underlying is of type string, it will copy the slice to the buffer\n// and return that.\nfunc (i *Iter) returnSlice(a, b int) []byte {\n\tif i.rb.src.bytes == nil {\n\t\treturn i.buf[:copy(i.buf[:], i.rb.src.str[a:b])]\n\t}\n\treturn i.rb.src.bytes[a:b]\n}\n\n// Pos returns the byte position at which the next call to Next will commence processing.\nfunc (i *Iter) Pos() int {\n\treturn i.p\n}\n\nfunc (i *Iter) setDone() {\n\ti.next = nextDone\n\ti.p = i.rb.nsrc\n}\n\n// Done returns true if there is no more input to process.\nfunc (i *Iter) Done() bool {\n\treturn i.p >= i.rb.nsrc\n}\n\n// Next returns f(i.input[i.Pos():n]), where n is a boundary of i.input.\n// For any input a and b for which f(a) == f(b), subsequent calls\n// to Next will return the same segments.\n// Modifying runes are grouped together with the preceding starter, if such a starter exists.\n// Although not guaranteed, n will typically be the smallest possible n.\nfunc (i *Iter) Next() []byte {\n\treturn i.next(i)\n}\n\nfunc nextASCIIBytes(i *Iter) []byte {\n\tp := i.p + 1\n\tif p >= i.rb.nsrc {\n\t\ti.setDone()\n\t\treturn i.rb.src.bytes[i.p:p]\n\t}\n\tif i.rb.src.bytes[p] < utf8.RuneSelf {\n\t\tp0 := i.p\n\t\ti.p = p\n\t\treturn i.rb.src.bytes[p0:p]\n\t}\n\ti.info = i.rb.f.info(i.rb.src, i.p)\n\ti.next = i.rb.f.nextMain\n\treturn i.next(i)\n}\n\nfunc nextASCIIString(i *Iter) []byte {\n\tp := i.p + 1\n\tif p >= i.rb.nsrc {\n\t\ti.buf[0] = i.rb.src.str[i.p]\n\t\ti.setDone()\n\t\treturn i.buf[:1]\n\t}\n\tif i.rb.src.str[p] < utf8.RuneSelf {\n\t\ti.buf[0] = i.rb.src.str[i.p]\n\t\ti.p = p\n\t\treturn i.buf[:1]\n\t}\n\ti.info = i.rb.f.info(i.rb.src, i.p)\n\ti.next = i.rb.f.nextMain\n\treturn i.next(i)\n}\n\nfunc nextHangul(i *Iter) []byte {\n\tp := i.p\n\tnext := p + hangulUTF8Size\n\tif next >= i.rb.nsrc {\n\t\ti.setDone()\n\t} else if i.rb.src.hangul(next) == 0 {\n\t\ti.rb.ss.next(i.info)\n\t\ti.info = i.rb.f.info(i.rb.src, i.p)\n\t\ti.next = i.rb.f.nextMain\n\t\treturn i.next(i)\n\t}\n\ti.p = next\n\treturn i.buf[:decomposeHangul(i.buf[:], i.rb.src.hangul(p))]\n}\n\nfunc nextDone(i *Iter) []byte {\n\treturn nil\n}\n\n// nextMulti is used for iterating over multi-segment decompositions\n// for decomposing normal forms.\nfunc nextMulti(i *Iter) []byte {\n\tj := 0\n\td := i.multiSeg\n\t// skip first rune\n\tfor j = 1; j < len(d) && !utf8.RuneStart(d[j]); j++ {\n\t}\n\tfor j < len(d) {\n\t\tinfo := i.rb.f.info(input{bytes: d}, j)\n\t\tif info.BoundaryBefore() {\n\t\t\ti.multiSeg = d[j:]\n\t\t\treturn d[:j]\n\t\t}\n\t\tj += int(info.size)\n\t}\n\t// treat last segment as normal decomposition\n\ti.next = i.rb.f.nextMain\n\treturn i.next(i)\n}\n\n// nextMultiNorm is used for iterating over multi-segment decompositions\n// for composing normal forms.\nfunc nextMultiNorm(i *Iter) []byte {\n\tj := 0\n\td := i.multiSeg\n\tfor j < len(d) {\n\t\tinfo := i.rb.f.info(input{bytes: d}, j)\n\t\tif info.BoundaryBefore() {\n\t\t\ti.rb.compose()\n\t\t\tseg := i.buf[:i.rb.flushCopy(i.buf[:])]\n\t\t\ti.rb.insertUnsafe(input{bytes: d}, j, info)\n\t\t\ti.multiSeg = d[j+int(info.size):]\n\t\t\treturn seg\n\t\t}\n\t\ti.rb.insertUnsafe(input{bytes: d}, j, info)\n\t\tj += int(info.size)\n\t}\n\ti.multiSeg = nil\n\ti.next = nextComposed\n\treturn doNormComposed(i)\n}\n\n// nextDecomposed is the implementation of Next for forms NFD and NFKD.\nfunc nextDecomposed(i *Iter) (next []byte) {\n\toutp := 0\n\tinCopyStart, outCopyStart := i.p, 0\n\tfor {\n\t\tif sz := int(i.info.size); sz <= 1 {\n\t\t\ti.rb.ss = 0\n\t\t\tp := i.p\n\t\t\ti.p++ // ASCII or illegal byte.  Either way, advance by 1.\n\t\t\tif i.p >= i.rb.nsrc {\n\t\t\t\ti.setDone()\n\t\t\t\treturn i.returnSlice(p, i.p)\n\t\t\t} else if i.rb.src._byte(i.p) < utf8.RuneSelf {\n\t\t\t\ti.next = i.asciiF\n\t\t\t\treturn i.returnSlice(p, i.p)\n\t\t\t}\n\t\t\toutp++\n\t\t} else if d := i.info.Decomposition(); d != nil {\n\t\t\t// Note: If leading CCC != 0, then len(d) == 2 and last is also non-zero.\n\t\t\t// Case 1: there is a leftover to copy.  In this case the decomposition\n\t\t\t// must begin with a modifier and should always be appended.\n\t\t\t// Case 2: no leftover. Simply return d if followed by a ccc == 0 value.\n\t\t\tp := outp + len(d)\n\t\t\tif outp > 0 {\n\t\t\t\ti.rb.src.copySlice(i.buf[outCopyStart:], inCopyStart, i.p)\n\t\t\t\t// TODO: this condition should not be possible, but we leave it\n\t\t\t\t// in for defensive purposes.\n\t\t\t\tif p > len(i.buf) {\n\t\t\t\t\treturn i.buf[:outp]\n\t\t\t\t}\n\t\t\t} else if i.info.multiSegment() {\n\t\t\t\t// outp must be 0 as multi-segment decompositions always\n\t\t\t\t// start a new segment.\n\t\t\t\tif i.multiSeg == nil {\n\t\t\t\t\ti.multiSeg = d\n\t\t\t\t\ti.next = nextMulti\n\t\t\t\t\treturn nextMulti(i)\n\t\t\t\t}\n\t\t\t\t// We are in the last segment.  Treat as normal decomposition.\n\t\t\t\td = i.multiSeg\n\t\t\t\ti.multiSeg = nil\n\t\t\t\tp = len(d)\n\t\t\t}\n\t\t\tprevCC := i.info.tccc\n\t\t\tif i.p += sz; i.p >= i.rb.nsrc {\n\t\t\t\ti.setDone()\n\t\t\t\ti.info = Properties{} // Force BoundaryBefore to succeed.\n\t\t\t} else {\n\t\t\t\ti.info = i.rb.f.info(i.rb.src, i.p)\n\t\t\t}\n\t\t\tswitch i.rb.ss.next(i.info) {\n\t\t\tcase ssOverflow:\n\t\t\t\ti.next = nextCGJDecompose\n\t\t\t\tfallthrough\n\t\t\tcase ssStarter:\n\t\t\t\tif outp > 0 {\n\t\t\t\t\tcopy(i.buf[outp:], d)\n\t\t\t\t\treturn i.buf[:p]\n\t\t\t\t}\n\t\t\t\treturn d\n\t\t\t}\n\t\t\tcopy(i.buf[outp:], d)\n\t\t\toutp = p\n\t\t\tinCopyStart, outCopyStart = i.p, outp\n\t\t\tif i.info.ccc < prevCC {\n\t\t\t\tgoto doNorm\n\t\t\t}\n\t\t\tcontinue\n\t\t} else if r := i.rb.src.hangul(i.p); r != 0 {\n\t\t\toutp = decomposeHangul(i.buf[:], r)\n\t\t\ti.p += hangulUTF8Size\n\t\t\tinCopyStart, outCopyStart = i.p, outp\n\t\t\tif i.p >= i.rb.nsrc {\n\t\t\t\ti.setDone()\n\t\t\t\tbreak\n\t\t\t} else if i.rb.src.hangul(i.p) != 0 {\n\t\t\t\ti.next = nextHangul\n\t\t\t\treturn i.buf[:outp]\n\t\t\t}\n\t\t} else {\n\t\t\tp := outp + sz\n\t\t\tif p > len(i.buf) {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\toutp = p\n\t\t\ti.p += sz\n\t\t}\n\t\tif i.p >= i.rb.nsrc {\n\t\t\ti.setDone()\n\t\t\tbreak\n\t\t}\n\t\tprevCC := i.info.tccc\n\t\ti.info = i.rb.f.info(i.rb.src, i.p)\n\t\tif v := i.rb.ss.next(i.info); v == ssStarter {\n\t\t\tbreak\n\t\t} else if v == ssOverflow {\n\t\t\ti.next = nextCGJDecompose\n\t\t\tbreak\n\t\t}\n\t\tif i.info.ccc < prevCC {\n\t\t\tgoto doNorm\n\t\t}\n\t}\n\tif outCopyStart == 0 {\n\t\treturn i.returnSlice(inCopyStart, i.p)\n\t} else if inCopyStart < i.p {\n\t\ti.rb.src.copySlice(i.buf[outCopyStart:], inCopyStart, i.p)\n\t}\n\treturn i.buf[:outp]\ndoNorm:\n\t// Insert what we have decomposed so far in the reorderBuffer.\n\t// As we will only reorder, there will always be enough room.\n\ti.rb.src.copySlice(i.buf[outCopyStart:], inCopyStart, i.p)\n\ti.rb.insertDecomposed(i.buf[0:outp])\n\treturn doNormDecomposed(i)\n}\n\nfunc doNormDecomposed(i *Iter) []byte {\n\tfor {\n\t\ti.rb.insertUnsafe(i.rb.src, i.p, i.info)\n\t\tif i.p += int(i.info.size); i.p >= i.rb.nsrc {\n\t\t\ti.setDone()\n\t\t\tbreak\n\t\t}\n\t\ti.info = i.rb.f.info(i.rb.src, i.p)\n\t\tif i.info.ccc == 0 {\n\t\t\tbreak\n\t\t}\n\t\tif s := i.rb.ss.next(i.info); s == ssOverflow {\n\t\t\ti.next = nextCGJDecompose\n\t\t\tbreak\n\t\t}\n\t}\n\t// new segment or too many combining characters: exit normalization\n\treturn i.buf[:i.rb.flushCopy(i.buf[:])]\n}\n\nfunc nextCGJDecompose(i *Iter) []byte {\n\ti.rb.ss = 0\n\ti.rb.insertCGJ()\n\ti.next = nextDecomposed\n\ti.rb.ss.first(i.info)\n\tbuf := doNormDecomposed(i)\n\treturn buf\n}\n\n// nextComposed is the implementation of Next for forms NFC and NFKC.\nfunc nextComposed(i *Iter) []byte {\n\toutp, startp := 0, i.p\n\tvar prevCC uint8\n\tfor {\n\t\tif !i.info.isYesC() {\n\t\t\tgoto doNorm\n\t\t}\n\t\tprevCC = i.info.tccc\n\t\tsz := int(i.info.size)\n\t\tif sz == 0 {\n\t\t\tsz = 1 // illegal rune: copy byte-by-byte\n\t\t}\n\t\tp := outp + sz\n\t\tif p > len(i.buf) {\n\t\t\tbreak\n\t\t}\n\t\toutp = p\n\t\ti.p += sz\n\t\tif i.p >= i.rb.nsrc {\n\t\t\ti.setDone()\n\t\t\tbreak\n\t\t} else if i.rb.src._byte(i.p) < utf8.RuneSelf {\n\t\t\ti.rb.ss = 0\n\t\t\ti.next = i.asciiF\n\t\t\tbreak\n\t\t}\n\t\ti.info = i.rb.f.info(i.rb.src, i.p)\n\t\tif v := i.rb.ss.next(i.info); v == ssStarter {\n\t\t\tbreak\n\t\t} else if v == ssOverflow {\n\t\t\ti.next = nextCGJCompose\n\t\t\tbreak\n\t\t}\n\t\tif i.info.ccc < prevCC {\n\t\t\tgoto doNorm\n\t\t}\n\t}\n\treturn i.returnSlice(startp, i.p)\ndoNorm:\n\t// reset to start position\n\ti.p = startp\n\ti.info = i.rb.f.info(i.rb.src, i.p)\n\ti.rb.ss.first(i.info)\n\tif i.info.multiSegment() {\n\t\td := i.info.Decomposition()\n\t\tinfo := i.rb.f.info(input{bytes: d}, 0)\n\t\ti.rb.insertUnsafe(input{bytes: d}, 0, info)\n\t\ti.multiSeg = d[int(info.size):]\n\t\ti.next = nextMultiNorm\n\t\treturn nextMultiNorm(i)\n\t}\n\ti.rb.ss.first(i.info)\n\ti.rb.insertUnsafe(i.rb.src, i.p, i.info)\n\treturn doNormComposed(i)\n}\n\nfunc doNormComposed(i *Iter) []byte {\n\t// First rune should already be inserted.\n\tfor {\n\t\tif i.p += int(i.info.size); i.p >= i.rb.nsrc {\n\t\t\ti.setDone()\n\t\t\tbreak\n\t\t}\n\t\ti.info = i.rb.f.info(i.rb.src, i.p)\n\t\tif s := i.rb.ss.next(i.info); s == ssStarter {\n\t\t\tbreak\n\t\t} else if s == ssOverflow {\n\t\t\ti.next = nextCGJCompose\n\t\t\tbreak\n\t\t}\n\t\ti.rb.insertUnsafe(i.rb.src, i.p, i.info)\n\t}\n\ti.rb.compose()\n\tseg := i.buf[:i.rb.flushCopy(i.buf[:])]\n\treturn seg\n}\n\nfunc nextCGJCompose(i *Iter) []byte {\n\ti.rb.ss = 0 // instead of first\n\ti.rb.insertCGJ()\n\ti.next = nextComposed\n\t// Note that we treat any rune with nLeadingNonStarters > 0 as a non-starter,\n\t// even if they are not. This is particularly dubious for U+FF9E and UFF9A.\n\t// If we ever change that, insert a check here.\n\ti.rb.ss.first(i.info)\n\ti.rb.insertUnsafe(i.rb.src, i.p, i.info)\n\treturn doNormComposed(i)\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/norm/maketables.go",
    "content": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\n// Normalization table generator.\n// Data read from the web.\n// See forminfo.go for a description of the trie values associated with each rune.\n\npackage main\n\nimport (\n\t\"bytes\"\n\t\"flag\"\n\t\"fmt\"\n\t\"io\"\n\t\"log\"\n\t\"sort\"\n\t\"strconv\"\n\t\"strings\"\n\n\t\"golang.org/x/text/internal/gen\"\n\t\"golang.org/x/text/internal/triegen\"\n\t\"golang.org/x/text/internal/ucd\"\n)\n\nfunc main() {\n\tgen.Init()\n\tloadUnicodeData()\n\tcompactCCC()\n\tloadCompositionExclusions()\n\tcompleteCharFields(FCanonical)\n\tcompleteCharFields(FCompatibility)\n\tcomputeNonStarterCounts()\n\tverifyComputed()\n\tprintChars()\n\ttestDerived()\n\tprintTestdata()\n\tmakeTables()\n}\n\nvar (\n\ttablelist = flag.String(\"tables\",\n\t\t\"all\",\n\t\t\"comma-separated list of which tables to generate; \"+\n\t\t\t\"can be 'decomp', 'recomp', 'info' and 'all'\")\n\ttest = flag.Bool(\"test\",\n\t\tfalse,\n\t\t\"test existing tables against DerivedNormalizationProps and generate test data for regression testing\")\n\tverbose = flag.Bool(\"verbose\",\n\t\tfalse,\n\t\t\"write data to stdout as it is parsed\")\n)\n\nconst MaxChar = 0x10FFFF // anything above this shouldn't exist\n\n// Quick Check properties of runes allow us to quickly\n// determine whether a rune may occur in a normal form.\n// For a given normal form, a rune may be guaranteed to occur\n// verbatim (QC=Yes), may or may not combine with another\n// rune (QC=Maybe), or may not occur (QC=No).\ntype QCResult int\n\nconst (\n\tQCUnknown QCResult = iota\n\tQCYes\n\tQCNo\n\tQCMaybe\n)\n\nfunc (r QCResult) String() string {\n\tswitch r {\n\tcase QCYes:\n\t\treturn \"Yes\"\n\tcase QCNo:\n\t\treturn \"No\"\n\tcase QCMaybe:\n\t\treturn \"Maybe\"\n\t}\n\treturn \"***UNKNOWN***\"\n}\n\nconst (\n\tFCanonical     = iota // NFC or NFD\n\tFCompatibility        // NFKC or NFKD\n\tFNumberOfFormTypes\n)\n\nconst (\n\tMComposed   = iota // NFC or NFKC\n\tMDecomposed        // NFD or NFKD\n\tMNumberOfModes\n)\n\n// This contains only the properties we're interested in.\ntype Char struct {\n\tname          string\n\tcodePoint     rune  // if zero, this index is not a valid code point.\n\tccc           uint8 // canonical combining class\n\torigCCC       uint8\n\texcludeInComp bool // from CompositionExclusions.txt\n\tcompatDecomp  bool // it has a compatibility expansion\n\n\tnTrailingNonStarters uint8\n\tnLeadingNonStarters  uint8 // must be equal to trailing if non-zero\n\n\tforms [FNumberOfFormTypes]FormInfo // For FCanonical and FCompatibility\n\n\tstate State\n}\n\nvar chars = make([]Char, MaxChar+1)\nvar cccMap = make(map[uint8]uint8)\n\nfunc (c Char) String() string {\n\tbuf := new(bytes.Buffer)\n\n\tfmt.Fprintf(buf, \"%U [%s]:\\n\", c.codePoint, c.name)\n\tfmt.Fprintf(buf, \"  ccc: %v\\n\", c.ccc)\n\tfmt.Fprintf(buf, \"  excludeInComp: %v\\n\", c.excludeInComp)\n\tfmt.Fprintf(buf, \"  compatDecomp: %v\\n\", c.compatDecomp)\n\tfmt.Fprintf(buf, \"  state: %v\\n\", c.state)\n\tfmt.Fprintf(buf, \"  NFC:\\n\")\n\tfmt.Fprint(buf, c.forms[FCanonical])\n\tfmt.Fprintf(buf, \"  NFKC:\\n\")\n\tfmt.Fprint(buf, c.forms[FCompatibility])\n\n\treturn buf.String()\n}\n\n// In UnicodeData.txt, some ranges are marked like this:\n//\t3400;<CJK Ideograph Extension A, First>;Lo;0;L;;;;;N;;;;;\n//\t4DB5;<CJK Ideograph Extension A, Last>;Lo;0;L;;;;;N;;;;;\n// parseCharacter keeps a state variable indicating the weirdness.\ntype State int\n\nconst (\n\tSNormal State = iota // known to be zero for the type\n\tSFirst\n\tSLast\n\tSMissing\n)\n\nvar lastChar = rune('\\u0000')\n\nfunc (c Char) isValid() bool {\n\treturn c.codePoint != 0 && c.state != SMissing\n}\n\ntype FormInfo struct {\n\tquickCheck [MNumberOfModes]QCResult // index: MComposed or MDecomposed\n\tverified   [MNumberOfModes]bool     // index: MComposed or MDecomposed\n\n\tcombinesForward  bool // May combine with rune on the right\n\tcombinesBackward bool // May combine with rune on the left\n\tisOneWay         bool // Never appears in result\n\tinDecomp         bool // Some decompositions result in this char.\n\tdecomp           Decomposition\n\texpandedDecomp   Decomposition\n}\n\nfunc (f FormInfo) String() string {\n\tbuf := bytes.NewBuffer(make([]byte, 0))\n\n\tfmt.Fprintf(buf, \"    quickCheck[C]: %v\\n\", f.quickCheck[MComposed])\n\tfmt.Fprintf(buf, \"    quickCheck[D]: %v\\n\", f.quickCheck[MDecomposed])\n\tfmt.Fprintf(buf, \"    cmbForward: %v\\n\", f.combinesForward)\n\tfmt.Fprintf(buf, \"    cmbBackward: %v\\n\", f.combinesBackward)\n\tfmt.Fprintf(buf, \"    isOneWay: %v\\n\", f.isOneWay)\n\tfmt.Fprintf(buf, \"    inDecomp: %v\\n\", f.inDecomp)\n\tfmt.Fprintf(buf, \"    decomposition: %X\\n\", f.decomp)\n\tfmt.Fprintf(buf, \"    expandedDecomp: %X\\n\", f.expandedDecomp)\n\n\treturn buf.String()\n}\n\ntype Decomposition []rune\n\nfunc parseDecomposition(s string, skipfirst bool) (a []rune, err error) {\n\tdecomp := strings.Split(s, \" \")\n\tif len(decomp) > 0 && skipfirst {\n\t\tdecomp = decomp[1:]\n\t}\n\tfor _, d := range decomp {\n\t\tpoint, err := strconv.ParseUint(d, 16, 64)\n\t\tif err != nil {\n\t\t\treturn a, err\n\t\t}\n\t\ta = append(a, rune(point))\n\t}\n\treturn a, nil\n}\n\nfunc loadUnicodeData() {\n\tf := gen.OpenUCDFile(\"UnicodeData.txt\")\n\tdefer f.Close()\n\tp := ucd.New(f)\n\tfor p.Next() {\n\t\tr := p.Rune(ucd.CodePoint)\n\t\tchar := &chars[r]\n\n\t\tchar.ccc = uint8(p.Uint(ucd.CanonicalCombiningClass))\n\t\tdecmap := p.String(ucd.DecompMapping)\n\n\t\texp, err := parseDecomposition(decmap, false)\n\t\tisCompat := false\n\t\tif err != nil {\n\t\t\tif len(decmap) > 0 {\n\t\t\t\texp, err = parseDecomposition(decmap, true)\n\t\t\t\tif err != nil {\n\t\t\t\t\tlog.Fatalf(`%U: bad decomp |%v|: \"%s\"`, r, decmap, err)\n\t\t\t\t}\n\t\t\t\tisCompat = true\n\t\t\t}\n\t\t}\n\n\t\tchar.name = p.String(ucd.Name)\n\t\tchar.codePoint = r\n\t\tchar.forms[FCompatibility].decomp = exp\n\t\tif !isCompat {\n\t\t\tchar.forms[FCanonical].decomp = exp\n\t\t} else {\n\t\t\tchar.compatDecomp = true\n\t\t}\n\t\tif len(decmap) > 0 {\n\t\t\tchar.forms[FCompatibility].decomp = exp\n\t\t}\n\t}\n\tif err := p.Err(); err != nil {\n\t\tlog.Fatal(err)\n\t}\n}\n\n// compactCCC converts the sparse set of CCC values to a continguous one,\n// reducing the number of bits needed from 8 to 6.\nfunc compactCCC() {\n\tm := make(map[uint8]uint8)\n\tfor i := range chars {\n\t\tc := &chars[i]\n\t\tm[c.ccc] = 0\n\t}\n\tcccs := []int{}\n\tfor v, _ := range m {\n\t\tcccs = append(cccs, int(v))\n\t}\n\tsort.Ints(cccs)\n\tfor i, c := range cccs {\n\t\tcccMap[uint8(i)] = uint8(c)\n\t\tm[uint8(c)] = uint8(i)\n\t}\n\tfor i := range chars {\n\t\tc := &chars[i]\n\t\tc.origCCC = c.ccc\n\t\tc.ccc = m[c.ccc]\n\t}\n\tif len(m) >= 1<<6 {\n\t\tlog.Fatalf(\"too many difference CCC values: %d >= 64\", len(m))\n\t}\n}\n\n// CompositionExclusions.txt has form:\n// 0958    # ...\n// See http://unicode.org/reports/tr44/ for full explanation\nfunc loadCompositionExclusions() {\n\tf := gen.OpenUCDFile(\"CompositionExclusions.txt\")\n\tdefer f.Close()\n\tp := ucd.New(f)\n\tfor p.Next() {\n\t\tc := &chars[p.Rune(0)]\n\t\tif c.excludeInComp {\n\t\t\tlog.Fatalf(\"%U: Duplicate entry in exclusions.\", c.codePoint)\n\t\t}\n\t\tc.excludeInComp = true\n\t}\n\tif e := p.Err(); e != nil {\n\t\tlog.Fatal(e)\n\t}\n}\n\n// hasCompatDecomp returns true if any of the recursive\n// decompositions contains a compatibility expansion.\n// In this case, the character may not occur in NFK*.\nfunc hasCompatDecomp(r rune) bool {\n\tc := &chars[r]\n\tif c.compatDecomp {\n\t\treturn true\n\t}\n\tfor _, d := range c.forms[FCompatibility].decomp {\n\t\tif hasCompatDecomp(d) {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\n// Hangul related constants.\nconst (\n\tHangulBase = 0xAC00\n\tHangulEnd  = 0xD7A4 // hangulBase + Jamo combinations (19 * 21 * 28)\n\n\tJamoLBase = 0x1100\n\tJamoLEnd  = 0x1113\n\tJamoVBase = 0x1161\n\tJamoVEnd  = 0x1176\n\tJamoTBase = 0x11A8\n\tJamoTEnd  = 0x11C3\n\n\tJamoLVTCount = 19 * 21 * 28\n\tJamoTCount   = 28\n)\n\nfunc isHangul(r rune) bool {\n\treturn HangulBase <= r && r < HangulEnd\n}\n\nfunc isHangulWithoutJamoT(r rune) bool {\n\tif !isHangul(r) {\n\t\treturn false\n\t}\n\tr -= HangulBase\n\treturn r < JamoLVTCount && r%JamoTCount == 0\n}\n\nfunc ccc(r rune) uint8 {\n\treturn chars[r].ccc\n}\n\n// Insert a rune in a buffer, ordered by Canonical Combining Class.\nfunc insertOrdered(b Decomposition, r rune) Decomposition {\n\tn := len(b)\n\tb = append(b, 0)\n\tcc := ccc(r)\n\tif cc > 0 {\n\t\t// Use bubble sort.\n\t\tfor ; n > 0; n-- {\n\t\t\tif ccc(b[n-1]) <= cc {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tb[n] = b[n-1]\n\t\t}\n\t}\n\tb[n] = r\n\treturn b\n}\n\n// Recursively decompose.\nfunc decomposeRecursive(form int, r rune, d Decomposition) Decomposition {\n\tdcomp := chars[r].forms[form].decomp\n\tif len(dcomp) == 0 {\n\t\treturn insertOrdered(d, r)\n\t}\n\tfor _, c := range dcomp {\n\t\td = decomposeRecursive(form, c, d)\n\t}\n\treturn d\n}\n\nfunc completeCharFields(form int) {\n\t// Phase 0: pre-expand decomposition.\n\tfor i := range chars {\n\t\tf := &chars[i].forms[form]\n\t\tif len(f.decomp) == 0 {\n\t\t\tcontinue\n\t\t}\n\t\texp := make(Decomposition, 0)\n\t\tfor _, c := range f.decomp {\n\t\t\texp = decomposeRecursive(form, c, exp)\n\t\t}\n\t\tf.expandedDecomp = exp\n\t}\n\n\t// Phase 1: composition exclusion, mark decomposition.\n\tfor i := range chars {\n\t\tc := &chars[i]\n\t\tf := &c.forms[form]\n\n\t\t// Marks script-specific exclusions and version restricted.\n\t\tf.isOneWay = c.excludeInComp\n\n\t\t// Singletons\n\t\tf.isOneWay = f.isOneWay || len(f.decomp) == 1\n\n\t\t// Non-starter decompositions\n\t\tif len(f.decomp) > 1 {\n\t\t\tchk := c.ccc != 0 || chars[f.decomp[0]].ccc != 0\n\t\t\tf.isOneWay = f.isOneWay || chk\n\t\t}\n\n\t\t// Runes that decompose into more than two runes.\n\t\tf.isOneWay = f.isOneWay || len(f.decomp) > 2\n\n\t\tif form == FCompatibility {\n\t\t\tf.isOneWay = f.isOneWay || hasCompatDecomp(c.codePoint)\n\t\t}\n\n\t\tfor _, r := range f.decomp {\n\t\t\tchars[r].forms[form].inDecomp = true\n\t\t}\n\t}\n\n\t// Phase 2: forward and backward combining.\n\tfor i := range chars {\n\t\tc := &chars[i]\n\t\tf := &c.forms[form]\n\n\t\tif !f.isOneWay && len(f.decomp) == 2 {\n\t\t\tf0 := &chars[f.decomp[0]].forms[form]\n\t\t\tf1 := &chars[f.decomp[1]].forms[form]\n\t\t\tif !f0.isOneWay {\n\t\t\t\tf0.combinesForward = true\n\t\t\t}\n\t\t\tif !f1.isOneWay {\n\t\t\t\tf1.combinesBackward = true\n\t\t\t}\n\t\t}\n\t\tif isHangulWithoutJamoT(rune(i)) {\n\t\t\tf.combinesForward = true\n\t\t}\n\t}\n\n\t// Phase 3: quick check values.\n\tfor i := range chars {\n\t\tc := &chars[i]\n\t\tf := &c.forms[form]\n\n\t\tswitch {\n\t\tcase len(f.decomp) > 0:\n\t\t\tf.quickCheck[MDecomposed] = QCNo\n\t\tcase isHangul(rune(i)):\n\t\t\tf.quickCheck[MDecomposed] = QCNo\n\t\tdefault:\n\t\t\tf.quickCheck[MDecomposed] = QCYes\n\t\t}\n\t\tswitch {\n\t\tcase f.isOneWay:\n\t\t\tf.quickCheck[MComposed] = QCNo\n\t\tcase (i & 0xffff00) == JamoLBase:\n\t\t\tf.quickCheck[MComposed] = QCYes\n\t\t\tif JamoLBase <= i && i < JamoLEnd {\n\t\t\t\tf.combinesForward = true\n\t\t\t}\n\t\t\tif JamoVBase <= i && i < JamoVEnd {\n\t\t\t\tf.quickCheck[MComposed] = QCMaybe\n\t\t\t\tf.combinesBackward = true\n\t\t\t\tf.combinesForward = true\n\t\t\t}\n\t\t\tif JamoTBase <= i && i < JamoTEnd {\n\t\t\t\tf.quickCheck[MComposed] = QCMaybe\n\t\t\t\tf.combinesBackward = true\n\t\t\t}\n\t\tcase !f.combinesBackward:\n\t\t\tf.quickCheck[MComposed] = QCYes\n\t\tdefault:\n\t\t\tf.quickCheck[MComposed] = QCMaybe\n\t\t}\n\t}\n}\n\nfunc computeNonStarterCounts() {\n\t// Phase 4: leading and trailing non-starter count\n\tfor i := range chars {\n\t\tc := &chars[i]\n\n\t\trunes := []rune{rune(i)}\n\t\t// We always use FCompatibility so that the CGJ insertion points do not\n\t\t// change for repeated normalizations with different forms.\n\t\tif exp := c.forms[FCompatibility].expandedDecomp; len(exp) > 0 {\n\t\t\trunes = exp\n\t\t}\n\t\t// We consider runes that combine backwards to be non-starters for the\n\t\t// purpose of Stream-Safe Text Processing.\n\t\tfor _, r := range runes {\n\t\t\tif cr := &chars[r]; cr.ccc == 0 && !cr.forms[FCompatibility].combinesBackward {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tc.nLeadingNonStarters++\n\t\t}\n\t\tfor i := len(runes) - 1; i >= 0; i-- {\n\t\t\tif cr := &chars[runes[i]]; cr.ccc == 0 && !cr.forms[FCompatibility].combinesBackward {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tc.nTrailingNonStarters++\n\t\t}\n\t\tif c.nTrailingNonStarters > 3 {\n\t\t\tlog.Fatalf(\"%U: Decomposition with more than 3 (%d) trailing modifiers (%U)\", i, c.nTrailingNonStarters, runes)\n\t\t}\n\n\t\tif isHangul(rune(i)) {\n\t\t\tc.nTrailingNonStarters = 2\n\t\t\tif isHangulWithoutJamoT(rune(i)) {\n\t\t\t\tc.nTrailingNonStarters = 1\n\t\t\t}\n\t\t}\n\n\t\tif l, t := c.nLeadingNonStarters, c.nTrailingNonStarters; l > 0 && l != t {\n\t\t\tlog.Fatalf(\"%U: number of leading and trailing non-starters should be equal (%d vs %d)\", i, l, t)\n\t\t}\n\t\tif t := c.nTrailingNonStarters; t > 3 {\n\t\t\tlog.Fatalf(\"%U: number of trailing non-starters is %d > 3\", t)\n\t\t}\n\t}\n}\n\nfunc printBytes(w io.Writer, b []byte, name string) {\n\tfmt.Fprintf(w, \"// %s: %d bytes\\n\", name, len(b))\n\tfmt.Fprintf(w, \"var %s = [...]byte {\", name)\n\tfor i, c := range b {\n\t\tswitch {\n\t\tcase i%64 == 0:\n\t\t\tfmt.Fprintf(w, \"\\n// Bytes %x - %x\\n\", i, i+63)\n\t\tcase i%8 == 0:\n\t\t\tfmt.Fprintf(w, \"\\n\")\n\t\t}\n\t\tfmt.Fprintf(w, \"0x%.2X, \", c)\n\t}\n\tfmt.Fprint(w, \"\\n}\\n\\n\")\n}\n\n// See forminfo.go for format.\nfunc makeEntry(f *FormInfo, c *Char) uint16 {\n\te := uint16(0)\n\tif r := c.codePoint; HangulBase <= r && r < HangulEnd {\n\t\te |= 0x40\n\t}\n\tif f.combinesForward {\n\t\te |= 0x20\n\t}\n\tif f.quickCheck[MDecomposed] == QCNo {\n\t\te |= 0x4\n\t}\n\tswitch f.quickCheck[MComposed] {\n\tcase QCYes:\n\tcase QCNo:\n\t\te |= 0x10\n\tcase QCMaybe:\n\t\te |= 0x18\n\tdefault:\n\t\tlog.Fatalf(\"Illegal quickcheck value %v.\", f.quickCheck[MComposed])\n\t}\n\te |= uint16(c.nTrailingNonStarters)\n\treturn e\n}\n\n// decompSet keeps track of unique decompositions, grouped by whether\n// the decomposition is followed by a trailing and/or leading CCC.\ntype decompSet [7]map[string]bool\n\nconst (\n\tnormalDecomp = iota\n\tfirstMulti\n\tfirstCCC\n\tendMulti\n\tfirstLeadingCCC\n\tfirstCCCZeroExcept\n\tfirstStarterWithNLead\n\tlastDecomp\n)\n\nvar cname = []string{\"firstMulti\", \"firstCCC\", \"endMulti\", \"firstLeadingCCC\", \"firstCCCZeroExcept\", \"firstStarterWithNLead\", \"lastDecomp\"}\n\nfunc makeDecompSet() decompSet {\n\tm := decompSet{}\n\tfor i := range m {\n\t\tm[i] = make(map[string]bool)\n\t}\n\treturn m\n}\nfunc (m *decompSet) insert(key int, s string) {\n\tm[key][s] = true\n}\n\nfunc printCharInfoTables(w io.Writer) int {\n\tmkstr := func(r rune, f *FormInfo) (int, string) {\n\t\td := f.expandedDecomp\n\t\ts := string([]rune(d))\n\t\tif max := 1 << 6; len(s) >= max {\n\t\t\tconst msg = \"%U: too many bytes in decomposition: %d >= %d\"\n\t\t\tlog.Fatalf(msg, r, len(s), max)\n\t\t}\n\t\thead := uint8(len(s))\n\t\tif f.quickCheck[MComposed] != QCYes {\n\t\t\thead |= 0x40\n\t\t}\n\t\tif f.combinesForward {\n\t\t\thead |= 0x80\n\t\t}\n\t\ts = string([]byte{head}) + s\n\n\t\tlccc := ccc(d[0])\n\t\ttccc := ccc(d[len(d)-1])\n\t\tcc := ccc(r)\n\t\tif cc != 0 && lccc == 0 && tccc == 0 {\n\t\t\tlog.Fatalf(\"%U: trailing and leading ccc are 0 for non-zero ccc %d\", r, cc)\n\t\t}\n\t\tif tccc < lccc && lccc != 0 {\n\t\t\tconst msg = \"%U: lccc (%d) must be <= tcc (%d)\"\n\t\t\tlog.Fatalf(msg, r, lccc, tccc)\n\t\t}\n\t\tindex := normalDecomp\n\t\tnTrail := chars[r].nTrailingNonStarters\n\t\tnLead := chars[r].nLeadingNonStarters\n\t\tif tccc > 0 || lccc > 0 || nTrail > 0 {\n\t\t\ttccc <<= 2\n\t\t\ttccc |= nTrail\n\t\t\ts += string([]byte{tccc})\n\t\t\tindex = endMulti\n\t\t\tfor _, r := range d[1:] {\n\t\t\t\tif ccc(r) == 0 {\n\t\t\t\t\tindex = firstCCC\n\t\t\t\t}\n\t\t\t}\n\t\t\tif lccc > 0 || nLead > 0 {\n\t\t\t\ts += string([]byte{lccc})\n\t\t\t\tif index == firstCCC {\n\t\t\t\t\tlog.Fatalf(\"%U: multi-segment decomposition not supported for decompositions with leading CCC != 0\", r)\n\t\t\t\t}\n\t\t\t\tindex = firstLeadingCCC\n\t\t\t}\n\t\t\tif cc != lccc {\n\t\t\t\tif cc != 0 {\n\t\t\t\t\tlog.Fatalf(\"%U: for lccc != ccc, expected ccc to be 0; was %d\", r, cc)\n\t\t\t\t}\n\t\t\t\tindex = firstCCCZeroExcept\n\t\t\t}\n\t\t} else if len(d) > 1 {\n\t\t\tindex = firstMulti\n\t\t}\n\t\treturn index, s\n\t}\n\n\tdecompSet := makeDecompSet()\n\tconst nLeadStr = \"\\x00\\x01\" // 0-byte length and tccc with nTrail.\n\tdecompSet.insert(firstStarterWithNLead, nLeadStr)\n\n\t// Store the uniqued decompositions in a byte buffer,\n\t// preceded by their byte length.\n\tfor _, c := range chars {\n\t\tfor _, f := range c.forms {\n\t\t\tif len(f.expandedDecomp) == 0 {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif f.combinesBackward {\n\t\t\t\tlog.Fatalf(\"%U: combinesBackward and decompose\", c.codePoint)\n\t\t\t}\n\t\t\tindex, s := mkstr(c.codePoint, &f)\n\t\t\tdecompSet.insert(index, s)\n\t\t}\n\t}\n\n\tdecompositions := bytes.NewBuffer(make([]byte, 0, 10000))\n\tsize := 0\n\tpositionMap := make(map[string]uint16)\n\tdecompositions.WriteString(\"\\000\")\n\tfmt.Fprintln(w, \"const (\")\n\tfor i, m := range decompSet {\n\t\tsa := []string{}\n\t\tfor s := range m {\n\t\t\tsa = append(sa, s)\n\t\t}\n\t\tsort.Strings(sa)\n\t\tfor _, s := range sa {\n\t\t\tp := decompositions.Len()\n\t\t\tdecompositions.WriteString(s)\n\t\t\tpositionMap[s] = uint16(p)\n\t\t}\n\t\tif cname[i] != \"\" {\n\t\t\tfmt.Fprintf(w, \"%s = 0x%X\\n\", cname[i], decompositions.Len())\n\t\t}\n\t}\n\tfmt.Fprintln(w, \"maxDecomp = 0x8000\")\n\tfmt.Fprintln(w, \")\")\n\tb := decompositions.Bytes()\n\tprintBytes(w, b, \"decomps\")\n\tsize += len(b)\n\n\tvarnames := []string{\"nfc\", \"nfkc\"}\n\tfor i := 0; i < FNumberOfFormTypes; i++ {\n\t\ttrie := triegen.NewTrie(varnames[i])\n\n\t\tfor r, c := range chars {\n\t\t\tf := c.forms[i]\n\t\t\td := f.expandedDecomp\n\t\t\tif len(d) != 0 {\n\t\t\t\t_, key := mkstr(c.codePoint, &f)\n\t\t\t\ttrie.Insert(rune(r), uint64(positionMap[key]))\n\t\t\t\tif c.ccc != ccc(d[0]) {\n\t\t\t\t\t// We assume the lead ccc of a decomposition !=0 in this case.\n\t\t\t\t\tif ccc(d[0]) == 0 {\n\t\t\t\t\t\tlog.Fatalf(\"Expected leading CCC to be non-zero; ccc is %d\", c.ccc)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if c.nLeadingNonStarters > 0 && len(f.expandedDecomp) == 0 && c.ccc == 0 && !f.combinesBackward {\n\t\t\t\t// Handle cases where it can't be detected that the nLead should be equal\n\t\t\t\t// to nTrail.\n\t\t\t\ttrie.Insert(c.codePoint, uint64(positionMap[nLeadStr]))\n\t\t\t} else if v := makeEntry(&f, &c)<<8 | uint16(c.ccc); v != 0 {\n\t\t\t\ttrie.Insert(c.codePoint, uint64(0x8000|v))\n\t\t\t}\n\t\t}\n\t\tsz, err := trie.Gen(w, triegen.Compact(&normCompacter{name: varnames[i]}))\n\t\tif err != nil {\n\t\t\tlog.Fatal(err)\n\t\t}\n\t\tsize += sz\n\t}\n\treturn size\n}\n\nfunc contains(sa []string, s string) bool {\n\tfor _, a := range sa {\n\t\tif a == s {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\nfunc makeTables() {\n\tw := &bytes.Buffer{}\n\n\tsize := 0\n\tif *tablelist == \"\" {\n\t\treturn\n\t}\n\tlist := strings.Split(*tablelist, \",\")\n\tif *tablelist == \"all\" {\n\t\tlist = []string{\"recomp\", \"info\"}\n\t}\n\n\t// Compute maximum decomposition size.\n\tmax := 0\n\tfor _, c := range chars {\n\t\tif n := len(string(c.forms[FCompatibility].expandedDecomp)); n > max {\n\t\t\tmax = n\n\t\t}\n\t}\n\n\tfmt.Fprintln(w, \"const (\")\n\tfmt.Fprintln(w, \"\\t// Version is the Unicode edition from which the tables are derived.\")\n\tfmt.Fprintf(w, \"\\tVersion = %q\\n\", gen.UnicodeVersion())\n\tfmt.Fprintln(w)\n\tfmt.Fprintln(w, \"\\t// MaxTransformChunkSize indicates the maximum number of bytes that Transform\")\n\tfmt.Fprintln(w, \"\\t// may need to write atomically for any Form. Making a destination buffer at\")\n\tfmt.Fprintln(w, \"\\t// least this size ensures that Transform can always make progress and that\")\n\tfmt.Fprintln(w, \"\\t// the user does not need to grow the buffer on an ErrShortDst.\")\n\tfmt.Fprintf(w, \"\\tMaxTransformChunkSize = %d+maxNonStarters*4\\n\", len(string(0x034F))+max)\n\tfmt.Fprintln(w, \")\\n\")\n\n\t// Print the CCC remap table.\n\tsize += len(cccMap)\n\tfmt.Fprintf(w, \"var ccc = [%d]uint8{\", len(cccMap))\n\tfor i := 0; i < len(cccMap); i++ {\n\t\tif i%8 == 0 {\n\t\t\tfmt.Fprintln(w)\n\t\t}\n\t\tfmt.Fprintf(w, \"%3d, \", cccMap[uint8(i)])\n\t}\n\tfmt.Fprintln(w, \"\\n}\\n\")\n\n\tif contains(list, \"info\") {\n\t\tsize += printCharInfoTables(w)\n\t}\n\n\tif contains(list, \"recomp\") {\n\t\t// Note that we use 32 bit keys, instead of 64 bit.\n\t\t// This clips the bits of three entries, but we know\n\t\t// this won't cause a collision. The compiler will catch\n\t\t// any changes made to UnicodeData.txt that introduces\n\t\t// a collision.\n\t\t// Note that the recomposition map for NFC and NFKC\n\t\t// are identical.\n\n\t\t// Recomposition map\n\t\tnrentries := 0\n\t\tfor _, c := range chars {\n\t\t\tf := c.forms[FCanonical]\n\t\t\tif !f.isOneWay && len(f.decomp) > 0 {\n\t\t\t\tnrentries++\n\t\t\t}\n\t\t}\n\t\tsz := nrentries * 8\n\t\tsize += sz\n\t\tfmt.Fprintf(w, \"// recompMap: %d bytes (entries only)\\n\", sz)\n\t\tfmt.Fprintln(w, \"var recompMap = map[uint32]rune{\")\n\t\tfor i, c := range chars {\n\t\t\tf := c.forms[FCanonical]\n\t\t\td := f.decomp\n\t\t\tif !f.isOneWay && len(d) > 0 {\n\t\t\t\tkey := uint32(uint16(d[0]))<<16 + uint32(uint16(d[1]))\n\t\t\t\tfmt.Fprintf(w, \"0x%.8X: 0x%.4X,\\n\", key, i)\n\t\t\t}\n\t\t}\n\t\tfmt.Fprintf(w, \"}\\n\\n\")\n\t}\n\n\tfmt.Fprintf(w, \"// Total size of tables: %dKB (%d bytes)\\n\", (size+512)/1024, size)\n\tgen.WriteVersionedGoFile(\"tables.go\", \"norm\", w.Bytes())\n}\n\nfunc printChars() {\n\tif *verbose {\n\t\tfor _, c := range chars {\n\t\t\tif !c.isValid() || c.state == SMissing {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tfmt.Println(c)\n\t\t}\n\t}\n}\n\n// verifyComputed does various consistency tests.\nfunc verifyComputed() {\n\tfor i, c := range chars {\n\t\tfor _, f := range c.forms {\n\t\t\tisNo := (f.quickCheck[MDecomposed] == QCNo)\n\t\t\tif (len(f.decomp) > 0) != isNo && !isHangul(rune(i)) {\n\t\t\t\tlog.Fatalf(\"%U: NF*D QC must be No if rune decomposes\", i)\n\t\t\t}\n\n\t\t\tisMaybe := f.quickCheck[MComposed] == QCMaybe\n\t\t\tif f.combinesBackward != isMaybe {\n\t\t\t\tlog.Fatalf(\"%U: NF*C QC must be Maybe if combinesBackward\", i)\n\t\t\t}\n\t\t\tif len(f.decomp) > 0 && f.combinesForward && isMaybe {\n\t\t\t\tlog.Fatalf(\"%U: NF*C QC must be Yes or No if combinesForward and decomposes\", i)\n\t\t\t}\n\n\t\t\tif len(f.expandedDecomp) != 0 {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif a, b := c.nLeadingNonStarters > 0, (c.ccc > 0 || f.combinesBackward); a != b {\n\t\t\t\t// We accept these runes to be treated differently (it only affects\n\t\t\t\t// segment breaking in iteration, most likely on improper use), but\n\t\t\t\t// reconsider if more characters are added.\n\t\t\t\t// U+FF9E HALFWIDTH KATAKANA VOICED SOUND MARK;Lm;0;L;<narrow> 3099;;;;N;;;;;\n\t\t\t\t// U+FF9F HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK;Lm;0;L;<narrow> 309A;;;;N;;;;;\n\t\t\t\t// U+3133 HANGUL LETTER KIYEOK-SIOS;Lo;0;L;<compat> 11AA;;;;N;HANGUL LETTER GIYEOG SIOS;;;;\n\t\t\t\t// U+318E HANGUL LETTER ARAEAE;Lo;0;L;<compat> 11A1;;;;N;HANGUL LETTER ALAE AE;;;;\n\t\t\t\t// U+FFA3 HALFWIDTH HANGUL LETTER KIYEOK-SIOS;Lo;0;L;<narrow> 3133;;;;N;HALFWIDTH HANGUL LETTER GIYEOG SIOS;;;;\n\t\t\t\t// U+FFDC HALFWIDTH HANGUL LETTER I;Lo;0;L;<narrow> 3163;;;;N;;;;;\n\t\t\t\tif i != 0xFF9E && i != 0xFF9F && !(0x3133 <= i && i <= 0x318E) && !(0xFFA3 <= i && i <= 0xFFDC) {\n\t\t\t\t\tlog.Fatalf(\"%U: nLead was %v; want %v\", i, a, b)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tnfc := c.forms[FCanonical]\n\t\tnfkc := c.forms[FCompatibility]\n\t\tif nfc.combinesBackward != nfkc.combinesBackward {\n\t\t\tlog.Fatalf(\"%U: Cannot combine combinesBackward\\n\", c.codePoint)\n\t\t}\n\t}\n}\n\n// Use values in DerivedNormalizationProps.txt to compare against the\n// values we computed.\n// DerivedNormalizationProps.txt has form:\n// 00C0..00C5    ; NFD_QC; N # ...\n// 0374          ; NFD_QC; N # ...\n// See http://unicode.org/reports/tr44/ for full explanation\nfunc testDerived() {\n\tf := gen.OpenUCDFile(\"DerivedNormalizationProps.txt\")\n\tdefer f.Close()\n\tp := ucd.New(f)\n\tfor p.Next() {\n\t\tr := p.Rune(0)\n\t\tc := &chars[r]\n\n\t\tvar ftype, mode int\n\t\tqt := p.String(1)\n\t\tswitch qt {\n\t\tcase \"NFC_QC\":\n\t\t\tftype, mode = FCanonical, MComposed\n\t\tcase \"NFD_QC\":\n\t\t\tftype, mode = FCanonical, MDecomposed\n\t\tcase \"NFKC_QC\":\n\t\t\tftype, mode = FCompatibility, MComposed\n\t\tcase \"NFKD_QC\":\n\t\t\tftype, mode = FCompatibility, MDecomposed\n\t\tdefault:\n\t\t\tcontinue\n\t\t}\n\t\tvar qr QCResult\n\t\tswitch p.String(2) {\n\t\tcase \"Y\":\n\t\t\tqr = QCYes\n\t\tcase \"N\":\n\t\t\tqr = QCNo\n\t\tcase \"M\":\n\t\t\tqr = QCMaybe\n\t\tdefault:\n\t\t\tlog.Fatalf(`Unexpected quick check value \"%s\"`, p.String(2))\n\t\t}\n\t\tif got := c.forms[ftype].quickCheck[mode]; got != qr {\n\t\t\tlog.Printf(\"%U: FAILED %s (was %v need %v)\\n\", r, qt, got, qr)\n\t\t}\n\t\tc.forms[ftype].verified[mode] = true\n\t}\n\tif err := p.Err(); err != nil {\n\t\tlog.Fatal(err)\n\t}\n\t// Any unspecified value must be QCYes. Verify this.\n\tfor i, c := range chars {\n\t\tfor j, fd := range c.forms {\n\t\t\tfor k, qr := range fd.quickCheck {\n\t\t\t\tif !fd.verified[k] && qr != QCYes {\n\t\t\t\t\tm := \"%U: FAIL F:%d M:%d (was %v need Yes) %s\\n\"\n\t\t\t\t\tlog.Printf(m, i, j, k, qr, c.name)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nvar testHeader = `const (\n\tYes = iota\n\tNo\n\tMaybe\n)\n\ntype formData struct {\n\tqc              uint8\n\tcombinesForward bool\n\tdecomposition   string\n}\n\ntype runeData struct {\n\tr      rune\n\tccc    uint8\n\tnLead  uint8\n\tnTrail uint8\n\tf      [2]formData // 0: canonical; 1: compatibility\n}\n\nfunc f(qc uint8, cf bool, dec string) [2]formData {\n\treturn [2]formData{{qc, cf, dec}, {qc, cf, dec}}\n}\n\nfunc g(qc, qck uint8, cf, cfk bool, d, dk string) [2]formData {\n\treturn [2]formData{{qc, cf, d}, {qck, cfk, dk}}\n}\n\nvar testData = []runeData{\n`\n\nfunc printTestdata() {\n\ttype lastInfo struct {\n\t\tccc    uint8\n\t\tnLead  uint8\n\t\tnTrail uint8\n\t\tf      string\n\t}\n\n\tlast := lastInfo{}\n\tw := &bytes.Buffer{}\n\tfmt.Fprintf(w, testHeader)\n\tfor r, c := range chars {\n\t\tf := c.forms[FCanonical]\n\t\tqc, cf, d := f.quickCheck[MComposed], f.combinesForward, string(f.expandedDecomp)\n\t\tf = c.forms[FCompatibility]\n\t\tqck, cfk, dk := f.quickCheck[MComposed], f.combinesForward, string(f.expandedDecomp)\n\t\ts := \"\"\n\t\tif d == dk && qc == qck && cf == cfk {\n\t\t\ts = fmt.Sprintf(\"f(%s, %v, %q)\", qc, cf, d)\n\t\t} else {\n\t\t\ts = fmt.Sprintf(\"g(%s, %s, %v, %v, %q, %q)\", qc, qck, cf, cfk, d, dk)\n\t\t}\n\t\tcurrent := lastInfo{c.ccc, c.nLeadingNonStarters, c.nTrailingNonStarters, s}\n\t\tif last != current {\n\t\t\tfmt.Fprintf(w, \"\\t{0x%x, %d, %d, %d, %s},\\n\", r, c.origCCC, c.nLeadingNonStarters, c.nTrailingNonStarters, s)\n\t\t\tlast = current\n\t\t}\n\t}\n\tfmt.Fprintln(w, \"}\")\n\tgen.WriteVersionedGoFile(\"data_test.go\", \"norm\", w.Bytes())\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/norm/normalize.go",
    "content": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Note: the file data_test.go that is generated should not be checked in.\n//go:generate go run maketables.go triegen.go\n//go:generate go test -tags test\n\n// Package norm contains types and functions for normalizing Unicode strings.\npackage norm // import \"golang.org/x/text/unicode/norm\"\n\nimport (\n\t\"unicode/utf8\"\n\n\t\"golang.org/x/text/transform\"\n)\n\n// A Form denotes a canonical representation of Unicode code points.\n// The Unicode-defined normalization and equivalence forms are:\n//\n//   NFC   Unicode Normalization Form C\n//   NFD   Unicode Normalization Form D\n//   NFKC  Unicode Normalization Form KC\n//   NFKD  Unicode Normalization Form KD\n//\n// For a Form f, this documentation uses the notation f(x) to mean\n// the bytes or string x converted to the given form.\n// A position n in x is called a boundary if conversion to the form can\n// proceed independently on both sides:\n//   f(x) == append(f(x[0:n]), f(x[n:])...)\n//\n// References: http://unicode.org/reports/tr15/ and\n// http://unicode.org/notes/tn5/.\ntype Form int\n\nconst (\n\tNFC Form = iota\n\tNFD\n\tNFKC\n\tNFKD\n)\n\n// Bytes returns f(b). May return b if f(b) = b.\nfunc (f Form) Bytes(b []byte) []byte {\n\tsrc := inputBytes(b)\n\tft := formTable[f]\n\tn, ok := ft.quickSpan(src, 0, len(b), true)\n\tif ok {\n\t\treturn b\n\t}\n\tout := make([]byte, n, len(b))\n\tcopy(out, b[0:n])\n\trb := reorderBuffer{f: *ft, src: src, nsrc: len(b), out: out, flushF: appendFlush}\n\treturn doAppendInner(&rb, n)\n}\n\n// String returns f(s).\nfunc (f Form) String(s string) string {\n\tsrc := inputString(s)\n\tft := formTable[f]\n\tn, ok := ft.quickSpan(src, 0, len(s), true)\n\tif ok {\n\t\treturn s\n\t}\n\tout := make([]byte, n, len(s))\n\tcopy(out, s[0:n])\n\trb := reorderBuffer{f: *ft, src: src, nsrc: len(s), out: out, flushF: appendFlush}\n\treturn string(doAppendInner(&rb, n))\n}\n\n// IsNormal returns true if b == f(b).\nfunc (f Form) IsNormal(b []byte) bool {\n\tsrc := inputBytes(b)\n\tft := formTable[f]\n\tbp, ok := ft.quickSpan(src, 0, len(b), true)\n\tif ok {\n\t\treturn true\n\t}\n\trb := reorderBuffer{f: *ft, src: src, nsrc: len(b)}\n\trb.setFlusher(nil, cmpNormalBytes)\n\tfor bp < len(b) {\n\t\trb.out = b[bp:]\n\t\tif bp = decomposeSegment(&rb, bp, true); bp < 0 {\n\t\t\treturn false\n\t\t}\n\t\tbp, _ = rb.f.quickSpan(rb.src, bp, len(b), true)\n\t}\n\treturn true\n}\n\nfunc cmpNormalBytes(rb *reorderBuffer) bool {\n\tb := rb.out\n\tfor i := 0; i < rb.nrune; i++ {\n\t\tinfo := rb.rune[i]\n\t\tif int(info.size) > len(b) {\n\t\t\treturn false\n\t\t}\n\t\tp := info.pos\n\t\tpe := p + info.size\n\t\tfor ; p < pe; p++ {\n\t\t\tif b[0] != rb.byte[p] {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tb = b[1:]\n\t\t}\n\t}\n\treturn true\n}\n\n// IsNormalString returns true if s == f(s).\nfunc (f Form) IsNormalString(s string) bool {\n\tsrc := inputString(s)\n\tft := formTable[f]\n\tbp, ok := ft.quickSpan(src, 0, len(s), true)\n\tif ok {\n\t\treturn true\n\t}\n\trb := reorderBuffer{f: *ft, src: src, nsrc: len(s)}\n\trb.setFlusher(nil, func(rb *reorderBuffer) bool {\n\t\tfor i := 0; i < rb.nrune; i++ {\n\t\t\tinfo := rb.rune[i]\n\t\t\tif bp+int(info.size) > len(s) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tp := info.pos\n\t\t\tpe := p + info.size\n\t\t\tfor ; p < pe; p++ {\n\t\t\t\tif s[bp] != rb.byte[p] {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t\tbp++\n\t\t\t}\n\t\t}\n\t\treturn true\n\t})\n\tfor bp < len(s) {\n\t\tif bp = decomposeSegment(&rb, bp, true); bp < 0 {\n\t\t\treturn false\n\t\t}\n\t\tbp, _ = rb.f.quickSpan(rb.src, bp, len(s), true)\n\t}\n\treturn true\n}\n\n// patchTail fixes a case where a rune may be incorrectly normalized\n// if it is followed by illegal continuation bytes. It returns the\n// patched buffer and whether the decomposition is still in progress.\nfunc patchTail(rb *reorderBuffer) bool {\n\tinfo, p := lastRuneStart(&rb.f, rb.out)\n\tif p == -1 || info.size == 0 {\n\t\treturn true\n\t}\n\tend := p + int(info.size)\n\textra := len(rb.out) - end\n\tif extra > 0 {\n\t\t// Potentially allocating memory. However, this only\n\t\t// happens with ill-formed UTF-8.\n\t\tx := make([]byte, 0)\n\t\tx = append(x, rb.out[len(rb.out)-extra:]...)\n\t\trb.out = rb.out[:end]\n\t\tdecomposeToLastBoundary(rb)\n\t\trb.doFlush()\n\t\trb.out = append(rb.out, x...)\n\t\treturn false\n\t}\n\tbuf := rb.out[p:]\n\trb.out = rb.out[:p]\n\tdecomposeToLastBoundary(rb)\n\tif s := rb.ss.next(info); s == ssStarter {\n\t\trb.doFlush()\n\t\trb.ss.first(info)\n\t} else if s == ssOverflow {\n\t\trb.doFlush()\n\t\trb.insertCGJ()\n\t\trb.ss = 0\n\t}\n\trb.insertUnsafe(inputBytes(buf), 0, info)\n\treturn true\n}\n\nfunc appendQuick(rb *reorderBuffer, i int) int {\n\tif rb.nsrc == i {\n\t\treturn i\n\t}\n\tend, _ := rb.f.quickSpan(rb.src, i, rb.nsrc, true)\n\trb.out = rb.src.appendSlice(rb.out, i, end)\n\treturn end\n}\n\n// Append returns f(append(out, b...)).\n// The buffer out must be nil, empty, or equal to f(out).\nfunc (f Form) Append(out []byte, src ...byte) []byte {\n\treturn f.doAppend(out, inputBytes(src), len(src))\n}\n\nfunc (f Form) doAppend(out []byte, src input, n int) []byte {\n\tif n == 0 {\n\t\treturn out\n\t}\n\tft := formTable[f]\n\t// Attempt to do a quickSpan first so we can avoid initializing the reorderBuffer.\n\tif len(out) == 0 {\n\t\tp, _ := ft.quickSpan(src, 0, n, true)\n\t\tout = src.appendSlice(out, 0, p)\n\t\tif p == n {\n\t\t\treturn out\n\t\t}\n\t\trb := reorderBuffer{f: *ft, src: src, nsrc: n, out: out, flushF: appendFlush}\n\t\treturn doAppendInner(&rb, p)\n\t}\n\trb := reorderBuffer{f: *ft, src: src, nsrc: n}\n\treturn doAppend(&rb, out, 0)\n}\n\nfunc doAppend(rb *reorderBuffer, out []byte, p int) []byte {\n\trb.setFlusher(out, appendFlush)\n\tsrc, n := rb.src, rb.nsrc\n\tdoMerge := len(out) > 0\n\tif q := src.skipContinuationBytes(p); q > p {\n\t\t// Move leading non-starters to destination.\n\t\trb.out = src.appendSlice(rb.out, p, q)\n\t\tp = q\n\t\tdoMerge = patchTail(rb)\n\t}\n\tfd := &rb.f\n\tif doMerge {\n\t\tvar info Properties\n\t\tif p < n {\n\t\t\tinfo = fd.info(src, p)\n\t\t\tif !info.BoundaryBefore() || info.nLeadingNonStarters() > 0 {\n\t\t\t\tif p == 0 {\n\t\t\t\t\tdecomposeToLastBoundary(rb)\n\t\t\t\t}\n\t\t\t\tp = decomposeSegment(rb, p, true)\n\t\t\t}\n\t\t}\n\t\tif info.size == 0 {\n\t\t\trb.doFlush()\n\t\t\t// Append incomplete UTF-8 encoding.\n\t\t\treturn src.appendSlice(rb.out, p, n)\n\t\t}\n\t\tif rb.nrune > 0 {\n\t\t\treturn doAppendInner(rb, p)\n\t\t}\n\t}\n\tp = appendQuick(rb, p)\n\treturn doAppendInner(rb, p)\n}\n\nfunc doAppendInner(rb *reorderBuffer, p int) []byte {\n\tfor n := rb.nsrc; p < n; {\n\t\tp = decomposeSegment(rb, p, true)\n\t\tp = appendQuick(rb, p)\n\t}\n\treturn rb.out\n}\n\n// AppendString returns f(append(out, []byte(s))).\n// The buffer out must be nil, empty, or equal to f(out).\nfunc (f Form) AppendString(out []byte, src string) []byte {\n\treturn f.doAppend(out, inputString(src), len(src))\n}\n\n// QuickSpan returns a boundary n such that b[0:n] == f(b[0:n]).\n// It is not guaranteed to return the largest such n.\nfunc (f Form) QuickSpan(b []byte) int {\n\tn, _ := formTable[f].quickSpan(inputBytes(b), 0, len(b), true)\n\treturn n\n}\n\n// Span implements transform.SpanningTransformer. It returns a boundary n such\n// that b[0:n] == f(b[0:n]). It is not guaranteed to return the largest such n.\nfunc (f Form) Span(b []byte, atEOF bool) (n int, err error) {\n\tn, ok := formTable[f].quickSpan(inputBytes(b), 0, len(b), atEOF)\n\tif n < len(b) {\n\t\tif !ok {\n\t\t\terr = transform.ErrEndOfSpan\n\t\t} else {\n\t\t\terr = transform.ErrShortSrc\n\t\t}\n\t}\n\treturn n, err\n}\n\n// SpanString returns a boundary n such that s[0:n] == f(s[0:n]).\n// It is not guaranteed to return the largest such n.\nfunc (f Form) SpanString(s string, atEOF bool) (n int, err error) {\n\tn, ok := formTable[f].quickSpan(inputString(s), 0, len(s), atEOF)\n\tif n < len(s) {\n\t\tif !ok {\n\t\t\terr = transform.ErrEndOfSpan\n\t\t} else {\n\t\t\terr = transform.ErrShortSrc\n\t\t}\n\t}\n\treturn n, err\n}\n\n// quickSpan returns a boundary n such that src[0:n] == f(src[0:n]) and\n// whether any non-normalized parts were found. If atEOF is false, n will\n// not point past the last segment if this segment might be become\n// non-normalized by appending other runes.\nfunc (f *formInfo) quickSpan(src input, i, end int, atEOF bool) (n int, ok bool) {\n\tvar lastCC uint8\n\tss := streamSafe(0)\n\tlastSegStart := i\n\tfor n = end; i < n; {\n\t\tif j := src.skipASCII(i, n); i != j {\n\t\t\ti = j\n\t\t\tlastSegStart = i - 1\n\t\t\tlastCC = 0\n\t\t\tss = 0\n\t\t\tcontinue\n\t\t}\n\t\tinfo := f.info(src, i)\n\t\tif info.size == 0 {\n\t\t\tif atEOF {\n\t\t\t\t// include incomplete runes\n\t\t\t\treturn n, true\n\t\t\t}\n\t\t\treturn lastSegStart, true\n\t\t}\n\t\t// This block needs to be before the next, because it is possible to\n\t\t// have an overflow for runes that are starters (e.g. with U+FF9E).\n\t\tswitch ss.next(info) {\n\t\tcase ssStarter:\n\t\t\tlastSegStart = i\n\t\tcase ssOverflow:\n\t\t\treturn lastSegStart, false\n\t\tcase ssSuccess:\n\t\t\tif lastCC > info.ccc {\n\t\t\t\treturn lastSegStart, false\n\t\t\t}\n\t\t}\n\t\tif f.composing {\n\t\t\tif !info.isYesC() {\n\t\t\t\tbreak\n\t\t\t}\n\t\t} else {\n\t\t\tif !info.isYesD() {\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tlastCC = info.ccc\n\t\ti += int(info.size)\n\t}\n\tif i == n {\n\t\tif !atEOF {\n\t\t\tn = lastSegStart\n\t\t}\n\t\treturn n, true\n\t}\n\treturn lastSegStart, false\n}\n\n// QuickSpanString returns a boundary n such that s[0:n] == f(s[0:n]).\n// It is not guaranteed to return the largest such n.\nfunc (f Form) QuickSpanString(s string) int {\n\tn, _ := formTable[f].quickSpan(inputString(s), 0, len(s), true)\n\treturn n\n}\n\n// FirstBoundary returns the position i of the first boundary in b\n// or -1 if b contains no boundary.\nfunc (f Form) FirstBoundary(b []byte) int {\n\treturn f.firstBoundary(inputBytes(b), len(b))\n}\n\nfunc (f Form) firstBoundary(src input, nsrc int) int {\n\ti := src.skipContinuationBytes(0)\n\tif i >= nsrc {\n\t\treturn -1\n\t}\n\tfd := formTable[f]\n\tss := streamSafe(0)\n\t// We should call ss.first here, but we can't as the first rune is\n\t// skipped already. This means FirstBoundary can't really determine\n\t// CGJ insertion points correctly. Luckily it doesn't have to.\n\tfor {\n\t\tinfo := fd.info(src, i)\n\t\tif info.size == 0 {\n\t\t\treturn -1\n\t\t}\n\t\tif s := ss.next(info); s != ssSuccess {\n\t\t\treturn i\n\t\t}\n\t\ti += int(info.size)\n\t\tif i >= nsrc {\n\t\t\tif !info.BoundaryAfter() && !ss.isMax() {\n\t\t\t\treturn -1\n\t\t\t}\n\t\t\treturn nsrc\n\t\t}\n\t}\n}\n\n// FirstBoundaryInString returns the position i of the first boundary in s\n// or -1 if s contains no boundary.\nfunc (f Form) FirstBoundaryInString(s string) int {\n\treturn f.firstBoundary(inputString(s), len(s))\n}\n\n// NextBoundary reports the index of the boundary between the first and next\n// segment in b or -1 if atEOF is false and there are not enough bytes to\n// determine this boundary.\nfunc (f Form) NextBoundary(b []byte, atEOF bool) int {\n\treturn f.nextBoundary(inputBytes(b), len(b), atEOF)\n}\n\n// NextBoundaryInString reports the index of the boundary between the first and\n// next segment in b or -1 if atEOF is false and there are not enough bytes to\n// determine this boundary.\nfunc (f Form) NextBoundaryInString(s string, atEOF bool) int {\n\treturn f.nextBoundary(inputString(s), len(s), atEOF)\n}\n\nfunc (f Form) nextBoundary(src input, nsrc int, atEOF bool) int {\n\tif nsrc == 0 {\n\t\tif atEOF {\n\t\t\treturn 0\n\t\t}\n\t\treturn -1\n\t}\n\tfd := formTable[f]\n\tinfo := fd.info(src, 0)\n\tif info.size == 0 {\n\t\tif atEOF {\n\t\t\treturn 1\n\t\t}\n\t\treturn -1\n\t}\n\tss := streamSafe(0)\n\tss.first(info)\n\n\tfor i := int(info.size); i < nsrc; i += int(info.size) {\n\t\tinfo = fd.info(src, i)\n\t\tif info.size == 0 {\n\t\t\tif atEOF {\n\t\t\t\treturn i\n\t\t\t}\n\t\t\treturn -1\n\t\t}\n\t\t// TODO: Using streamSafe to determine the boundary isn't the same as\n\t\t// using BoundaryBefore. Determine which should be used.\n\t\tif s := ss.next(info); s != ssSuccess {\n\t\t\treturn i\n\t\t}\n\t}\n\tif !atEOF && !info.BoundaryAfter() && !ss.isMax() {\n\t\treturn -1\n\t}\n\treturn nsrc\n}\n\n// LastBoundary returns the position i of the last boundary in b\n// or -1 if b contains no boundary.\nfunc (f Form) LastBoundary(b []byte) int {\n\treturn lastBoundary(formTable[f], b)\n}\n\nfunc lastBoundary(fd *formInfo, b []byte) int {\n\ti := len(b)\n\tinfo, p := lastRuneStart(fd, b)\n\tif p == -1 {\n\t\treturn -1\n\t}\n\tif info.size == 0 { // ends with incomplete rune\n\t\tif p == 0 { // starts with incomplete rune\n\t\t\treturn -1\n\t\t}\n\t\ti = p\n\t\tinfo, p = lastRuneStart(fd, b[:i])\n\t\tif p == -1 { // incomplete UTF-8 encoding or non-starter bytes without a starter\n\t\t\treturn i\n\t\t}\n\t}\n\tif p+int(info.size) != i { // trailing non-starter bytes: illegal UTF-8\n\t\treturn i\n\t}\n\tif info.BoundaryAfter() {\n\t\treturn i\n\t}\n\tss := streamSafe(0)\n\tv := ss.backwards(info)\n\tfor i = p; i >= 0 && v != ssStarter; i = p {\n\t\tinfo, p = lastRuneStart(fd, b[:i])\n\t\tif v = ss.backwards(info); v == ssOverflow {\n\t\t\tbreak\n\t\t}\n\t\tif p+int(info.size) != i {\n\t\t\tif p == -1 { // no boundary found\n\t\t\t\treturn -1\n\t\t\t}\n\t\t\treturn i // boundary after an illegal UTF-8 encoding\n\t\t}\n\t}\n\treturn i\n}\n\n// decomposeSegment scans the first segment in src into rb. It inserts 0x034f\n// (Grapheme Joiner) when it encounters a sequence of more than 30 non-starters\n// and returns the number of bytes consumed from src or iShortDst or iShortSrc.\nfunc decomposeSegment(rb *reorderBuffer, sp int, atEOF bool) int {\n\t// Force one character to be consumed.\n\tinfo := rb.f.info(rb.src, sp)\n\tif info.size == 0 {\n\t\treturn 0\n\t}\n\tif s := rb.ss.next(info); s == ssStarter {\n\t\t// TODO: this could be removed if we don't support merging.\n\t\tif rb.nrune > 0 {\n\t\t\tgoto end\n\t\t}\n\t} else if s == ssOverflow {\n\t\trb.insertCGJ()\n\t\tgoto end\n\t}\n\tif err := rb.insertFlush(rb.src, sp, info); err != iSuccess {\n\t\treturn int(err)\n\t}\n\tfor {\n\t\tsp += int(info.size)\n\t\tif sp >= rb.nsrc {\n\t\t\tif !atEOF && !info.BoundaryAfter() {\n\t\t\t\treturn int(iShortSrc)\n\t\t\t}\n\t\t\tbreak\n\t\t}\n\t\tinfo = rb.f.info(rb.src, sp)\n\t\tif info.size == 0 {\n\t\t\tif !atEOF {\n\t\t\t\treturn int(iShortSrc)\n\t\t\t}\n\t\t\tbreak\n\t\t}\n\t\tif s := rb.ss.next(info); s == ssStarter {\n\t\t\tbreak\n\t\t} else if s == ssOverflow {\n\t\t\trb.insertCGJ()\n\t\t\tbreak\n\t\t}\n\t\tif err := rb.insertFlush(rb.src, sp, info); err != iSuccess {\n\t\t\treturn int(err)\n\t\t}\n\t}\nend:\n\tif !rb.doFlush() {\n\t\treturn int(iShortDst)\n\t}\n\treturn sp\n}\n\n// lastRuneStart returns the runeInfo and position of the last\n// rune in buf or the zero runeInfo and -1 if no rune was found.\nfunc lastRuneStart(fd *formInfo, buf []byte) (Properties, int) {\n\tp := len(buf) - 1\n\tfor ; p >= 0 && !utf8.RuneStart(buf[p]); p-- {\n\t}\n\tif p < 0 {\n\t\treturn Properties{}, -1\n\t}\n\treturn fd.info(inputBytes(buf), p), p\n}\n\n// decomposeToLastBoundary finds an open segment at the end of the buffer\n// and scans it into rb. Returns the buffer minus the last segment.\nfunc decomposeToLastBoundary(rb *reorderBuffer) {\n\tfd := &rb.f\n\tinfo, i := lastRuneStart(fd, rb.out)\n\tif int(info.size) != len(rb.out)-i {\n\t\t// illegal trailing continuation bytes\n\t\treturn\n\t}\n\tif info.BoundaryAfter() {\n\t\treturn\n\t}\n\tvar add [maxNonStarters + 1]Properties // stores runeInfo in reverse order\n\tpadd := 0\n\tss := streamSafe(0)\n\tp := len(rb.out)\n\tfor {\n\t\tadd[padd] = info\n\t\tv := ss.backwards(info)\n\t\tif v == ssOverflow {\n\t\t\t// Note that if we have an overflow, it the string we are appending to\n\t\t\t// is not correctly normalized. In this case the behavior is undefined.\n\t\t\tbreak\n\t\t}\n\t\tpadd++\n\t\tp -= int(info.size)\n\t\tif v == ssStarter || p < 0 {\n\t\t\tbreak\n\t\t}\n\t\tinfo, i = lastRuneStart(fd, rb.out[:p])\n\t\tif int(info.size) != p-i {\n\t\t\tbreak\n\t\t}\n\t}\n\trb.ss = ss\n\t// Copy bytes for insertion as we may need to overwrite rb.out.\n\tvar buf [maxBufferSize * utf8.UTFMax]byte\n\tcp := buf[:copy(buf[:], rb.out[p:])]\n\trb.out = rb.out[:p]\n\tfor padd--; padd >= 0; padd-- {\n\t\tinfo = add[padd]\n\t\trb.insertUnsafe(inputBytes(cp), 0, info)\n\t\tcp = cp[info.size:]\n\t}\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/norm/readwriter.go",
    "content": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage norm\n\nimport \"io\"\n\ntype normWriter struct {\n\trb  reorderBuffer\n\tw   io.Writer\n\tbuf []byte\n}\n\n// Write implements the standard write interface.  If the last characters are\n// not at a normalization boundary, the bytes will be buffered for the next\n// write. The remaining bytes will be written on close.\nfunc (w *normWriter) Write(data []byte) (n int, err error) {\n\t// Process data in pieces to keep w.buf size bounded.\n\tconst chunk = 4000\n\n\tfor len(data) > 0 {\n\t\t// Normalize into w.buf.\n\t\tm := len(data)\n\t\tif m > chunk {\n\t\t\tm = chunk\n\t\t}\n\t\tw.rb.src = inputBytes(data[:m])\n\t\tw.rb.nsrc = m\n\t\tw.buf = doAppend(&w.rb, w.buf, 0)\n\t\tdata = data[m:]\n\t\tn += m\n\n\t\t// Write out complete prefix, save remainder.\n\t\t// Note that lastBoundary looks back at most 31 runes.\n\t\ti := lastBoundary(&w.rb.f, w.buf)\n\t\tif i == -1 {\n\t\t\ti = 0\n\t\t}\n\t\tif i > 0 {\n\t\t\tif _, err = w.w.Write(w.buf[:i]); err != nil {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tbn := copy(w.buf, w.buf[i:])\n\t\t\tw.buf = w.buf[:bn]\n\t\t}\n\t}\n\treturn n, err\n}\n\n// Close forces data that remains in the buffer to be written.\nfunc (w *normWriter) Close() error {\n\tif len(w.buf) > 0 {\n\t\t_, err := w.w.Write(w.buf)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn nil\n}\n\n// Writer returns a new writer that implements Write(b)\n// by writing f(b) to w.  The returned writer may use an\n// an internal buffer to maintain state across Write calls.\n// Calling its Close method writes any buffered data to w.\nfunc (f Form) Writer(w io.Writer) io.WriteCloser {\n\twr := &normWriter{rb: reorderBuffer{}, w: w}\n\twr.rb.init(f, nil)\n\treturn wr\n}\n\ntype normReader struct {\n\trb           reorderBuffer\n\tr            io.Reader\n\tinbuf        []byte\n\toutbuf       []byte\n\tbufStart     int\n\tlastBoundary int\n\terr          error\n}\n\n// Read implements the standard read interface.\nfunc (r *normReader) Read(p []byte) (int, error) {\n\tfor {\n\t\tif r.lastBoundary-r.bufStart > 0 {\n\t\t\tn := copy(p, r.outbuf[r.bufStart:r.lastBoundary])\n\t\t\tr.bufStart += n\n\t\t\tif r.lastBoundary-r.bufStart > 0 {\n\t\t\t\treturn n, nil\n\t\t\t}\n\t\t\treturn n, r.err\n\t\t}\n\t\tif r.err != nil {\n\t\t\treturn 0, r.err\n\t\t}\n\t\toutn := copy(r.outbuf, r.outbuf[r.lastBoundary:])\n\t\tr.outbuf = r.outbuf[0:outn]\n\t\tr.bufStart = 0\n\n\t\tn, err := r.r.Read(r.inbuf)\n\t\tr.rb.src = inputBytes(r.inbuf[0:n])\n\t\tr.rb.nsrc, r.err = n, err\n\t\tif n > 0 {\n\t\t\tr.outbuf = doAppend(&r.rb, r.outbuf, 0)\n\t\t}\n\t\tif err == io.EOF {\n\t\t\tr.lastBoundary = len(r.outbuf)\n\t\t} else {\n\t\t\tr.lastBoundary = lastBoundary(&r.rb.f, r.outbuf)\n\t\t\tif r.lastBoundary == -1 {\n\t\t\t\tr.lastBoundary = 0\n\t\t\t}\n\t\t}\n\t}\n}\n\n// Reader returns a new reader that implements Read\n// by reading data from r and returning f(data).\nfunc (f Form) Reader(r io.Reader) io.Reader {\n\tconst chunk = 4000\n\tbuf := make([]byte, chunk)\n\trr := &normReader{rb: reorderBuffer{}, r: r, inbuf: buf}\n\trr.rb.init(f, buf)\n\treturn rr\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/norm/tables10.0.0.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\n// +build go1.10\n\npackage norm\n\nconst (\n\t// Version is the Unicode edition from which the tables are derived.\n\tVersion = \"10.0.0\"\n\n\t// MaxTransformChunkSize indicates the maximum number of bytes that Transform\n\t// may need to write atomically for any Form. Making a destination buffer at\n\t// least this size ensures that Transform can always make progress and that\n\t// the user does not need to grow the buffer on an ErrShortDst.\n\tMaxTransformChunkSize = 35 + maxNonStarters*4\n)\n\nvar ccc = [55]uint8{\n\t0, 1, 7, 8, 9, 10, 11, 12,\n\t13, 14, 15, 16, 17, 18, 19, 20,\n\t21, 22, 23, 24, 25, 26, 27, 28,\n\t29, 30, 31, 32, 33, 34, 35, 36,\n\t84, 91, 103, 107, 118, 122, 129, 130,\n\t132, 202, 214, 216, 218, 220, 222, 224,\n\t226, 228, 230, 232, 233, 234, 240,\n}\n\nconst (\n\tfirstMulti            = 0x186D\n\tfirstCCC              = 0x2C9E\n\tendMulti              = 0x2F60\n\tfirstLeadingCCC       = 0x49AE\n\tfirstCCCZeroExcept    = 0x4A78\n\tfirstStarterWithNLead = 0x4A9F\n\tlastDecomp            = 0x4AA1\n\tmaxDecomp             = 0x8000\n)\n\n// decomps: 19105 bytes\nvar decomps = [...]byte{\n\t// Bytes 0 - 3f\n\t0x00, 0x41, 0x20, 0x41, 0x21, 0x41, 0x22, 0x41,\n\t0x23, 0x41, 0x24, 0x41, 0x25, 0x41, 0x26, 0x41,\n\t0x27, 0x41, 0x28, 0x41, 0x29, 0x41, 0x2A, 0x41,\n\t0x2B, 0x41, 0x2C, 0x41, 0x2D, 0x41, 0x2E, 0x41,\n\t0x2F, 0x41, 0x30, 0x41, 0x31, 0x41, 0x32, 0x41,\n\t0x33, 0x41, 0x34, 0x41, 0x35, 0x41, 0x36, 0x41,\n\t0x37, 0x41, 0x38, 0x41, 0x39, 0x41, 0x3A, 0x41,\n\t0x3B, 0x41, 0x3C, 0x41, 0x3D, 0x41, 0x3E, 0x41,\n\t// Bytes 40 - 7f\n\t0x3F, 0x41, 0x40, 0x41, 0x41, 0x41, 0x42, 0x41,\n\t0x43, 0x41, 0x44, 0x41, 0x45, 0x41, 0x46, 0x41,\n\t0x47, 0x41, 0x48, 0x41, 0x49, 0x41, 0x4A, 0x41,\n\t0x4B, 0x41, 0x4C, 0x41, 0x4D, 0x41, 0x4E, 0x41,\n\t0x4F, 0x41, 0x50, 0x41, 0x51, 0x41, 0x52, 0x41,\n\t0x53, 0x41, 0x54, 0x41, 0x55, 0x41, 0x56, 0x41,\n\t0x57, 0x41, 0x58, 0x41, 0x59, 0x41, 0x5A, 0x41,\n\t0x5B, 0x41, 0x5C, 0x41, 0x5D, 0x41, 0x5E, 0x41,\n\t// Bytes 80 - bf\n\t0x5F, 0x41, 0x60, 0x41, 0x61, 0x41, 0x62, 0x41,\n\t0x63, 0x41, 0x64, 0x41, 0x65, 0x41, 0x66, 0x41,\n\t0x67, 0x41, 0x68, 0x41, 0x69, 0x41, 0x6A, 0x41,\n\t0x6B, 0x41, 0x6C, 0x41, 0x6D, 0x41, 0x6E, 0x41,\n\t0x6F, 0x41, 0x70, 0x41, 0x71, 0x41, 0x72, 0x41,\n\t0x73, 0x41, 0x74, 0x41, 0x75, 0x41, 0x76, 0x41,\n\t0x77, 0x41, 0x78, 0x41, 0x79, 0x41, 0x7A, 0x41,\n\t0x7B, 0x41, 0x7C, 0x41, 0x7D, 0x41, 0x7E, 0x42,\n\t// Bytes c0 - ff\n\t0xC2, 0xA2, 0x42, 0xC2, 0xA3, 0x42, 0xC2, 0xA5,\n\t0x42, 0xC2, 0xA6, 0x42, 0xC2, 0xAC, 0x42, 0xC2,\n\t0xB7, 0x42, 0xC3, 0x86, 0x42, 0xC3, 0xB0, 0x42,\n\t0xC4, 0xA6, 0x42, 0xC4, 0xA7, 0x42, 0xC4, 0xB1,\n\t0x42, 0xC5, 0x8B, 0x42, 0xC5, 0x93, 0x42, 0xC6,\n\t0x8E, 0x42, 0xC6, 0x90, 0x42, 0xC6, 0xAB, 0x42,\n\t0xC8, 0xA2, 0x42, 0xC8, 0xB7, 0x42, 0xC9, 0x90,\n\t0x42, 0xC9, 0x91, 0x42, 0xC9, 0x92, 0x42, 0xC9,\n\t// Bytes 100 - 13f\n\t0x94, 0x42, 0xC9, 0x95, 0x42, 0xC9, 0x99, 0x42,\n\t0xC9, 0x9B, 0x42, 0xC9, 0x9C, 0x42, 0xC9, 0x9F,\n\t0x42, 0xC9, 0xA1, 0x42, 0xC9, 0xA3, 0x42, 0xC9,\n\t0xA5, 0x42, 0xC9, 0xA6, 0x42, 0xC9, 0xA8, 0x42,\n\t0xC9, 0xA9, 0x42, 0xC9, 0xAA, 0x42, 0xC9, 0xAB,\n\t0x42, 0xC9, 0xAD, 0x42, 0xC9, 0xAF, 0x42, 0xC9,\n\t0xB0, 0x42, 0xC9, 0xB1, 0x42, 0xC9, 0xB2, 0x42,\n\t0xC9, 0xB3, 0x42, 0xC9, 0xB4, 0x42, 0xC9, 0xB5,\n\t// Bytes 140 - 17f\n\t0x42, 0xC9, 0xB8, 0x42, 0xC9, 0xB9, 0x42, 0xC9,\n\t0xBB, 0x42, 0xCA, 0x81, 0x42, 0xCA, 0x82, 0x42,\n\t0xCA, 0x83, 0x42, 0xCA, 0x89, 0x42, 0xCA, 0x8A,\n\t0x42, 0xCA, 0x8B, 0x42, 0xCA, 0x8C, 0x42, 0xCA,\n\t0x90, 0x42, 0xCA, 0x91, 0x42, 0xCA, 0x92, 0x42,\n\t0xCA, 0x95, 0x42, 0xCA, 0x9D, 0x42, 0xCA, 0x9F,\n\t0x42, 0xCA, 0xB9, 0x42, 0xCE, 0x91, 0x42, 0xCE,\n\t0x92, 0x42, 0xCE, 0x93, 0x42, 0xCE, 0x94, 0x42,\n\t// Bytes 180 - 1bf\n\t0xCE, 0x95, 0x42, 0xCE, 0x96, 0x42, 0xCE, 0x97,\n\t0x42, 0xCE, 0x98, 0x42, 0xCE, 0x99, 0x42, 0xCE,\n\t0x9A, 0x42, 0xCE, 0x9B, 0x42, 0xCE, 0x9C, 0x42,\n\t0xCE, 0x9D, 0x42, 0xCE, 0x9E, 0x42, 0xCE, 0x9F,\n\t0x42, 0xCE, 0xA0, 0x42, 0xCE, 0xA1, 0x42, 0xCE,\n\t0xA3, 0x42, 0xCE, 0xA4, 0x42, 0xCE, 0xA5, 0x42,\n\t0xCE, 0xA6, 0x42, 0xCE, 0xA7, 0x42, 0xCE, 0xA8,\n\t0x42, 0xCE, 0xA9, 0x42, 0xCE, 0xB1, 0x42, 0xCE,\n\t// Bytes 1c0 - 1ff\n\t0xB2, 0x42, 0xCE, 0xB3, 0x42, 0xCE, 0xB4, 0x42,\n\t0xCE, 0xB5, 0x42, 0xCE, 0xB6, 0x42, 0xCE, 0xB7,\n\t0x42, 0xCE, 0xB8, 0x42, 0xCE, 0xB9, 0x42, 0xCE,\n\t0xBA, 0x42, 0xCE, 0xBB, 0x42, 0xCE, 0xBC, 0x42,\n\t0xCE, 0xBD, 0x42, 0xCE, 0xBE, 0x42, 0xCE, 0xBF,\n\t0x42, 0xCF, 0x80, 0x42, 0xCF, 0x81, 0x42, 0xCF,\n\t0x82, 0x42, 0xCF, 0x83, 0x42, 0xCF, 0x84, 0x42,\n\t0xCF, 0x85, 0x42, 0xCF, 0x86, 0x42, 0xCF, 0x87,\n\t// Bytes 200 - 23f\n\t0x42, 0xCF, 0x88, 0x42, 0xCF, 0x89, 0x42, 0xCF,\n\t0x9C, 0x42, 0xCF, 0x9D, 0x42, 0xD0, 0xBD, 0x42,\n\t0xD1, 0x8A, 0x42, 0xD1, 0x8C, 0x42, 0xD7, 0x90,\n\t0x42, 0xD7, 0x91, 0x42, 0xD7, 0x92, 0x42, 0xD7,\n\t0x93, 0x42, 0xD7, 0x94, 0x42, 0xD7, 0x9B, 0x42,\n\t0xD7, 0x9C, 0x42, 0xD7, 0x9D, 0x42, 0xD7, 0xA2,\n\t0x42, 0xD7, 0xA8, 0x42, 0xD7, 0xAA, 0x42, 0xD8,\n\t0xA1, 0x42, 0xD8, 0xA7, 0x42, 0xD8, 0xA8, 0x42,\n\t// Bytes 240 - 27f\n\t0xD8, 0xA9, 0x42, 0xD8, 0xAA, 0x42, 0xD8, 0xAB,\n\t0x42, 0xD8, 0xAC, 0x42, 0xD8, 0xAD, 0x42, 0xD8,\n\t0xAE, 0x42, 0xD8, 0xAF, 0x42, 0xD8, 0xB0, 0x42,\n\t0xD8, 0xB1, 0x42, 0xD8, 0xB2, 0x42, 0xD8, 0xB3,\n\t0x42, 0xD8, 0xB4, 0x42, 0xD8, 0xB5, 0x42, 0xD8,\n\t0xB6, 0x42, 0xD8, 0xB7, 0x42, 0xD8, 0xB8, 0x42,\n\t0xD8, 0xB9, 0x42, 0xD8, 0xBA, 0x42, 0xD9, 0x81,\n\t0x42, 0xD9, 0x82, 0x42, 0xD9, 0x83, 0x42, 0xD9,\n\t// Bytes 280 - 2bf\n\t0x84, 0x42, 0xD9, 0x85, 0x42, 0xD9, 0x86, 0x42,\n\t0xD9, 0x87, 0x42, 0xD9, 0x88, 0x42, 0xD9, 0x89,\n\t0x42, 0xD9, 0x8A, 0x42, 0xD9, 0xAE, 0x42, 0xD9,\n\t0xAF, 0x42, 0xD9, 0xB1, 0x42, 0xD9, 0xB9, 0x42,\n\t0xD9, 0xBA, 0x42, 0xD9, 0xBB, 0x42, 0xD9, 0xBE,\n\t0x42, 0xD9, 0xBF, 0x42, 0xDA, 0x80, 0x42, 0xDA,\n\t0x83, 0x42, 0xDA, 0x84, 0x42, 0xDA, 0x86, 0x42,\n\t0xDA, 0x87, 0x42, 0xDA, 0x88, 0x42, 0xDA, 0x8C,\n\t// Bytes 2c0 - 2ff\n\t0x42, 0xDA, 0x8D, 0x42, 0xDA, 0x8E, 0x42, 0xDA,\n\t0x91, 0x42, 0xDA, 0x98, 0x42, 0xDA, 0xA1, 0x42,\n\t0xDA, 0xA4, 0x42, 0xDA, 0xA6, 0x42, 0xDA, 0xA9,\n\t0x42, 0xDA, 0xAD, 0x42, 0xDA, 0xAF, 0x42, 0xDA,\n\t0xB1, 0x42, 0xDA, 0xB3, 0x42, 0xDA, 0xBA, 0x42,\n\t0xDA, 0xBB, 0x42, 0xDA, 0xBE, 0x42, 0xDB, 0x81,\n\t0x42, 0xDB, 0x85, 0x42, 0xDB, 0x86, 0x42, 0xDB,\n\t0x87, 0x42, 0xDB, 0x88, 0x42, 0xDB, 0x89, 0x42,\n\t// Bytes 300 - 33f\n\t0xDB, 0x8B, 0x42, 0xDB, 0x8C, 0x42, 0xDB, 0x90,\n\t0x42, 0xDB, 0x92, 0x43, 0xE0, 0xBC, 0x8B, 0x43,\n\t0xE1, 0x83, 0x9C, 0x43, 0xE1, 0x84, 0x80, 0x43,\n\t0xE1, 0x84, 0x81, 0x43, 0xE1, 0x84, 0x82, 0x43,\n\t0xE1, 0x84, 0x83, 0x43, 0xE1, 0x84, 0x84, 0x43,\n\t0xE1, 0x84, 0x85, 0x43, 0xE1, 0x84, 0x86, 0x43,\n\t0xE1, 0x84, 0x87, 0x43, 0xE1, 0x84, 0x88, 0x43,\n\t0xE1, 0x84, 0x89, 0x43, 0xE1, 0x84, 0x8A, 0x43,\n\t// Bytes 340 - 37f\n\t0xE1, 0x84, 0x8B, 0x43, 0xE1, 0x84, 0x8C, 0x43,\n\t0xE1, 0x84, 0x8D, 0x43, 0xE1, 0x84, 0x8E, 0x43,\n\t0xE1, 0x84, 0x8F, 0x43, 0xE1, 0x84, 0x90, 0x43,\n\t0xE1, 0x84, 0x91, 0x43, 0xE1, 0x84, 0x92, 0x43,\n\t0xE1, 0x84, 0x94, 0x43, 0xE1, 0x84, 0x95, 0x43,\n\t0xE1, 0x84, 0x9A, 0x43, 0xE1, 0x84, 0x9C, 0x43,\n\t0xE1, 0x84, 0x9D, 0x43, 0xE1, 0x84, 0x9E, 0x43,\n\t0xE1, 0x84, 0xA0, 0x43, 0xE1, 0x84, 0xA1, 0x43,\n\t// Bytes 380 - 3bf\n\t0xE1, 0x84, 0xA2, 0x43, 0xE1, 0x84, 0xA3, 0x43,\n\t0xE1, 0x84, 0xA7, 0x43, 0xE1, 0x84, 0xA9, 0x43,\n\t0xE1, 0x84, 0xAB, 0x43, 0xE1, 0x84, 0xAC, 0x43,\n\t0xE1, 0x84, 0xAD, 0x43, 0xE1, 0x84, 0xAE, 0x43,\n\t0xE1, 0x84, 0xAF, 0x43, 0xE1, 0x84, 0xB2, 0x43,\n\t0xE1, 0x84, 0xB6, 0x43, 0xE1, 0x85, 0x80, 0x43,\n\t0xE1, 0x85, 0x87, 0x43, 0xE1, 0x85, 0x8C, 0x43,\n\t0xE1, 0x85, 0x97, 0x43, 0xE1, 0x85, 0x98, 0x43,\n\t// Bytes 3c0 - 3ff\n\t0xE1, 0x85, 0x99, 0x43, 0xE1, 0x85, 0xA0, 0x43,\n\t0xE1, 0x86, 0x84, 0x43, 0xE1, 0x86, 0x85, 0x43,\n\t0xE1, 0x86, 0x88, 0x43, 0xE1, 0x86, 0x91, 0x43,\n\t0xE1, 0x86, 0x92, 0x43, 0xE1, 0x86, 0x94, 0x43,\n\t0xE1, 0x86, 0x9E, 0x43, 0xE1, 0x86, 0xA1, 0x43,\n\t0xE1, 0x87, 0x87, 0x43, 0xE1, 0x87, 0x88, 0x43,\n\t0xE1, 0x87, 0x8C, 0x43, 0xE1, 0x87, 0x8E, 0x43,\n\t0xE1, 0x87, 0x93, 0x43, 0xE1, 0x87, 0x97, 0x43,\n\t// Bytes 400 - 43f\n\t0xE1, 0x87, 0x99, 0x43, 0xE1, 0x87, 0x9D, 0x43,\n\t0xE1, 0x87, 0x9F, 0x43, 0xE1, 0x87, 0xB1, 0x43,\n\t0xE1, 0x87, 0xB2, 0x43, 0xE1, 0xB4, 0x82, 0x43,\n\t0xE1, 0xB4, 0x96, 0x43, 0xE1, 0xB4, 0x97, 0x43,\n\t0xE1, 0xB4, 0x9C, 0x43, 0xE1, 0xB4, 0x9D, 0x43,\n\t0xE1, 0xB4, 0xA5, 0x43, 0xE1, 0xB5, 0xBB, 0x43,\n\t0xE1, 0xB6, 0x85, 0x43, 0xE2, 0x80, 0x82, 0x43,\n\t0xE2, 0x80, 0x83, 0x43, 0xE2, 0x80, 0x90, 0x43,\n\t// Bytes 440 - 47f\n\t0xE2, 0x80, 0x93, 0x43, 0xE2, 0x80, 0x94, 0x43,\n\t0xE2, 0x82, 0xA9, 0x43, 0xE2, 0x86, 0x90, 0x43,\n\t0xE2, 0x86, 0x91, 0x43, 0xE2, 0x86, 0x92, 0x43,\n\t0xE2, 0x86, 0x93, 0x43, 0xE2, 0x88, 0x82, 0x43,\n\t0xE2, 0x88, 0x87, 0x43, 0xE2, 0x88, 0x91, 0x43,\n\t0xE2, 0x88, 0x92, 0x43, 0xE2, 0x94, 0x82, 0x43,\n\t0xE2, 0x96, 0xA0, 0x43, 0xE2, 0x97, 0x8B, 0x43,\n\t0xE2, 0xA6, 0x85, 0x43, 0xE2, 0xA6, 0x86, 0x43,\n\t// Bytes 480 - 4bf\n\t0xE2, 0xB5, 0xA1, 0x43, 0xE3, 0x80, 0x81, 0x43,\n\t0xE3, 0x80, 0x82, 0x43, 0xE3, 0x80, 0x88, 0x43,\n\t0xE3, 0x80, 0x89, 0x43, 0xE3, 0x80, 0x8A, 0x43,\n\t0xE3, 0x80, 0x8B, 0x43, 0xE3, 0x80, 0x8C, 0x43,\n\t0xE3, 0x80, 0x8D, 0x43, 0xE3, 0x80, 0x8E, 0x43,\n\t0xE3, 0x80, 0x8F, 0x43, 0xE3, 0x80, 0x90, 0x43,\n\t0xE3, 0x80, 0x91, 0x43, 0xE3, 0x80, 0x92, 0x43,\n\t0xE3, 0x80, 0x94, 0x43, 0xE3, 0x80, 0x95, 0x43,\n\t// Bytes 4c0 - 4ff\n\t0xE3, 0x80, 0x96, 0x43, 0xE3, 0x80, 0x97, 0x43,\n\t0xE3, 0x82, 0xA1, 0x43, 0xE3, 0x82, 0xA2, 0x43,\n\t0xE3, 0x82, 0xA3, 0x43, 0xE3, 0x82, 0xA4, 0x43,\n\t0xE3, 0x82, 0xA5, 0x43, 0xE3, 0x82, 0xA6, 0x43,\n\t0xE3, 0x82, 0xA7, 0x43, 0xE3, 0x82, 0xA8, 0x43,\n\t0xE3, 0x82, 0xA9, 0x43, 0xE3, 0x82, 0xAA, 0x43,\n\t0xE3, 0x82, 0xAB, 0x43, 0xE3, 0x82, 0xAD, 0x43,\n\t0xE3, 0x82, 0xAF, 0x43, 0xE3, 0x82, 0xB1, 0x43,\n\t// Bytes 500 - 53f\n\t0xE3, 0x82, 0xB3, 0x43, 0xE3, 0x82, 0xB5, 0x43,\n\t0xE3, 0x82, 0xB7, 0x43, 0xE3, 0x82, 0xB9, 0x43,\n\t0xE3, 0x82, 0xBB, 0x43, 0xE3, 0x82, 0xBD, 0x43,\n\t0xE3, 0x82, 0xBF, 0x43, 0xE3, 0x83, 0x81, 0x43,\n\t0xE3, 0x83, 0x83, 0x43, 0xE3, 0x83, 0x84, 0x43,\n\t0xE3, 0x83, 0x86, 0x43, 0xE3, 0x83, 0x88, 0x43,\n\t0xE3, 0x83, 0x8A, 0x43, 0xE3, 0x83, 0x8B, 0x43,\n\t0xE3, 0x83, 0x8C, 0x43, 0xE3, 0x83, 0x8D, 0x43,\n\t// Bytes 540 - 57f\n\t0xE3, 0x83, 0x8E, 0x43, 0xE3, 0x83, 0x8F, 0x43,\n\t0xE3, 0x83, 0x92, 0x43, 0xE3, 0x83, 0x95, 0x43,\n\t0xE3, 0x83, 0x98, 0x43, 0xE3, 0x83, 0x9B, 0x43,\n\t0xE3, 0x83, 0x9E, 0x43, 0xE3, 0x83, 0x9F, 0x43,\n\t0xE3, 0x83, 0xA0, 0x43, 0xE3, 0x83, 0xA1, 0x43,\n\t0xE3, 0x83, 0xA2, 0x43, 0xE3, 0x83, 0xA3, 0x43,\n\t0xE3, 0x83, 0xA4, 0x43, 0xE3, 0x83, 0xA5, 0x43,\n\t0xE3, 0x83, 0xA6, 0x43, 0xE3, 0x83, 0xA7, 0x43,\n\t// Bytes 580 - 5bf\n\t0xE3, 0x83, 0xA8, 0x43, 0xE3, 0x83, 0xA9, 0x43,\n\t0xE3, 0x83, 0xAA, 0x43, 0xE3, 0x83, 0xAB, 0x43,\n\t0xE3, 0x83, 0xAC, 0x43, 0xE3, 0x83, 0xAD, 0x43,\n\t0xE3, 0x83, 0xAF, 0x43, 0xE3, 0x83, 0xB0, 0x43,\n\t0xE3, 0x83, 0xB1, 0x43, 0xE3, 0x83, 0xB2, 0x43,\n\t0xE3, 0x83, 0xB3, 0x43, 0xE3, 0x83, 0xBB, 0x43,\n\t0xE3, 0x83, 0xBC, 0x43, 0xE3, 0x92, 0x9E, 0x43,\n\t0xE3, 0x92, 0xB9, 0x43, 0xE3, 0x92, 0xBB, 0x43,\n\t// Bytes 5c0 - 5ff\n\t0xE3, 0x93, 0x9F, 0x43, 0xE3, 0x94, 0x95, 0x43,\n\t0xE3, 0x9B, 0xAE, 0x43, 0xE3, 0x9B, 0xBC, 0x43,\n\t0xE3, 0x9E, 0x81, 0x43, 0xE3, 0xA0, 0xAF, 0x43,\n\t0xE3, 0xA1, 0xA2, 0x43, 0xE3, 0xA1, 0xBC, 0x43,\n\t0xE3, 0xA3, 0x87, 0x43, 0xE3, 0xA3, 0xA3, 0x43,\n\t0xE3, 0xA4, 0x9C, 0x43, 0xE3, 0xA4, 0xBA, 0x43,\n\t0xE3, 0xA8, 0xAE, 0x43, 0xE3, 0xA9, 0xAC, 0x43,\n\t0xE3, 0xAB, 0xA4, 0x43, 0xE3, 0xAC, 0x88, 0x43,\n\t// Bytes 600 - 63f\n\t0xE3, 0xAC, 0x99, 0x43, 0xE3, 0xAD, 0x89, 0x43,\n\t0xE3, 0xAE, 0x9D, 0x43, 0xE3, 0xB0, 0x98, 0x43,\n\t0xE3, 0xB1, 0x8E, 0x43, 0xE3, 0xB4, 0xB3, 0x43,\n\t0xE3, 0xB6, 0x96, 0x43, 0xE3, 0xBA, 0xAC, 0x43,\n\t0xE3, 0xBA, 0xB8, 0x43, 0xE3, 0xBC, 0x9B, 0x43,\n\t0xE3, 0xBF, 0xBC, 0x43, 0xE4, 0x80, 0x88, 0x43,\n\t0xE4, 0x80, 0x98, 0x43, 0xE4, 0x80, 0xB9, 0x43,\n\t0xE4, 0x81, 0x86, 0x43, 0xE4, 0x82, 0x96, 0x43,\n\t// Bytes 640 - 67f\n\t0xE4, 0x83, 0xA3, 0x43, 0xE4, 0x84, 0xAF, 0x43,\n\t0xE4, 0x88, 0x82, 0x43, 0xE4, 0x88, 0xA7, 0x43,\n\t0xE4, 0x8A, 0xA0, 0x43, 0xE4, 0x8C, 0x81, 0x43,\n\t0xE4, 0x8C, 0xB4, 0x43, 0xE4, 0x8D, 0x99, 0x43,\n\t0xE4, 0x8F, 0x95, 0x43, 0xE4, 0x8F, 0x99, 0x43,\n\t0xE4, 0x90, 0x8B, 0x43, 0xE4, 0x91, 0xAB, 0x43,\n\t0xE4, 0x94, 0xAB, 0x43, 0xE4, 0x95, 0x9D, 0x43,\n\t0xE4, 0x95, 0xA1, 0x43, 0xE4, 0x95, 0xAB, 0x43,\n\t// Bytes 680 - 6bf\n\t0xE4, 0x97, 0x97, 0x43, 0xE4, 0x97, 0xB9, 0x43,\n\t0xE4, 0x98, 0xB5, 0x43, 0xE4, 0x9A, 0xBE, 0x43,\n\t0xE4, 0x9B, 0x87, 0x43, 0xE4, 0xA6, 0x95, 0x43,\n\t0xE4, 0xA7, 0xA6, 0x43, 0xE4, 0xA9, 0xAE, 0x43,\n\t0xE4, 0xA9, 0xB6, 0x43, 0xE4, 0xAA, 0xB2, 0x43,\n\t0xE4, 0xAC, 0xB3, 0x43, 0xE4, 0xAF, 0x8E, 0x43,\n\t0xE4, 0xB3, 0x8E, 0x43, 0xE4, 0xB3, 0xAD, 0x43,\n\t0xE4, 0xB3, 0xB8, 0x43, 0xE4, 0xB5, 0x96, 0x43,\n\t// Bytes 6c0 - 6ff\n\t0xE4, 0xB8, 0x80, 0x43, 0xE4, 0xB8, 0x81, 0x43,\n\t0xE4, 0xB8, 0x83, 0x43, 0xE4, 0xB8, 0x89, 0x43,\n\t0xE4, 0xB8, 0x8A, 0x43, 0xE4, 0xB8, 0x8B, 0x43,\n\t0xE4, 0xB8, 0x8D, 0x43, 0xE4, 0xB8, 0x99, 0x43,\n\t0xE4, 0xB8, 0xA6, 0x43, 0xE4, 0xB8, 0xA8, 0x43,\n\t0xE4, 0xB8, 0xAD, 0x43, 0xE4, 0xB8, 0xB2, 0x43,\n\t0xE4, 0xB8, 0xB6, 0x43, 0xE4, 0xB8, 0xB8, 0x43,\n\t0xE4, 0xB8, 0xB9, 0x43, 0xE4, 0xB8, 0xBD, 0x43,\n\t// Bytes 700 - 73f\n\t0xE4, 0xB8, 0xBF, 0x43, 0xE4, 0xB9, 0x81, 0x43,\n\t0xE4, 0xB9, 0x99, 0x43, 0xE4, 0xB9, 0x9D, 0x43,\n\t0xE4, 0xBA, 0x82, 0x43, 0xE4, 0xBA, 0x85, 0x43,\n\t0xE4, 0xBA, 0x86, 0x43, 0xE4, 0xBA, 0x8C, 0x43,\n\t0xE4, 0xBA, 0x94, 0x43, 0xE4, 0xBA, 0xA0, 0x43,\n\t0xE4, 0xBA, 0xA4, 0x43, 0xE4, 0xBA, 0xAE, 0x43,\n\t0xE4, 0xBA, 0xBA, 0x43, 0xE4, 0xBB, 0x80, 0x43,\n\t0xE4, 0xBB, 0x8C, 0x43, 0xE4, 0xBB, 0xA4, 0x43,\n\t// Bytes 740 - 77f\n\t0xE4, 0xBC, 0x81, 0x43, 0xE4, 0xBC, 0x91, 0x43,\n\t0xE4, 0xBD, 0xA0, 0x43, 0xE4, 0xBE, 0x80, 0x43,\n\t0xE4, 0xBE, 0x86, 0x43, 0xE4, 0xBE, 0x8B, 0x43,\n\t0xE4, 0xBE, 0xAE, 0x43, 0xE4, 0xBE, 0xBB, 0x43,\n\t0xE4, 0xBE, 0xBF, 0x43, 0xE5, 0x80, 0x82, 0x43,\n\t0xE5, 0x80, 0xAB, 0x43, 0xE5, 0x81, 0xBA, 0x43,\n\t0xE5, 0x82, 0x99, 0x43, 0xE5, 0x83, 0x8F, 0x43,\n\t0xE5, 0x83, 0x9A, 0x43, 0xE5, 0x83, 0xA7, 0x43,\n\t// Bytes 780 - 7bf\n\t0xE5, 0x84, 0xAA, 0x43, 0xE5, 0x84, 0xBF, 0x43,\n\t0xE5, 0x85, 0x80, 0x43, 0xE5, 0x85, 0x85, 0x43,\n\t0xE5, 0x85, 0x8D, 0x43, 0xE5, 0x85, 0x94, 0x43,\n\t0xE5, 0x85, 0xA4, 0x43, 0xE5, 0x85, 0xA5, 0x43,\n\t0xE5, 0x85, 0xA7, 0x43, 0xE5, 0x85, 0xA8, 0x43,\n\t0xE5, 0x85, 0xA9, 0x43, 0xE5, 0x85, 0xAB, 0x43,\n\t0xE5, 0x85, 0xAD, 0x43, 0xE5, 0x85, 0xB7, 0x43,\n\t0xE5, 0x86, 0x80, 0x43, 0xE5, 0x86, 0x82, 0x43,\n\t// Bytes 7c0 - 7ff\n\t0xE5, 0x86, 0x8D, 0x43, 0xE5, 0x86, 0x92, 0x43,\n\t0xE5, 0x86, 0x95, 0x43, 0xE5, 0x86, 0x96, 0x43,\n\t0xE5, 0x86, 0x97, 0x43, 0xE5, 0x86, 0x99, 0x43,\n\t0xE5, 0x86, 0xA4, 0x43, 0xE5, 0x86, 0xAB, 0x43,\n\t0xE5, 0x86, 0xAC, 0x43, 0xE5, 0x86, 0xB5, 0x43,\n\t0xE5, 0x86, 0xB7, 0x43, 0xE5, 0x87, 0x89, 0x43,\n\t0xE5, 0x87, 0x8C, 0x43, 0xE5, 0x87, 0x9C, 0x43,\n\t0xE5, 0x87, 0x9E, 0x43, 0xE5, 0x87, 0xA0, 0x43,\n\t// Bytes 800 - 83f\n\t0xE5, 0x87, 0xB5, 0x43, 0xE5, 0x88, 0x80, 0x43,\n\t0xE5, 0x88, 0x83, 0x43, 0xE5, 0x88, 0x87, 0x43,\n\t0xE5, 0x88, 0x97, 0x43, 0xE5, 0x88, 0x9D, 0x43,\n\t0xE5, 0x88, 0xA9, 0x43, 0xE5, 0x88, 0xBA, 0x43,\n\t0xE5, 0x88, 0xBB, 0x43, 0xE5, 0x89, 0x86, 0x43,\n\t0xE5, 0x89, 0x8D, 0x43, 0xE5, 0x89, 0xB2, 0x43,\n\t0xE5, 0x89, 0xB7, 0x43, 0xE5, 0x8A, 0x89, 0x43,\n\t0xE5, 0x8A, 0x9B, 0x43, 0xE5, 0x8A, 0xA3, 0x43,\n\t// Bytes 840 - 87f\n\t0xE5, 0x8A, 0xB3, 0x43, 0xE5, 0x8A, 0xB4, 0x43,\n\t0xE5, 0x8B, 0x87, 0x43, 0xE5, 0x8B, 0x89, 0x43,\n\t0xE5, 0x8B, 0x92, 0x43, 0xE5, 0x8B, 0x9E, 0x43,\n\t0xE5, 0x8B, 0xA4, 0x43, 0xE5, 0x8B, 0xB5, 0x43,\n\t0xE5, 0x8B, 0xB9, 0x43, 0xE5, 0x8B, 0xBA, 0x43,\n\t0xE5, 0x8C, 0x85, 0x43, 0xE5, 0x8C, 0x86, 0x43,\n\t0xE5, 0x8C, 0x95, 0x43, 0xE5, 0x8C, 0x97, 0x43,\n\t0xE5, 0x8C, 0x9A, 0x43, 0xE5, 0x8C, 0xB8, 0x43,\n\t// Bytes 880 - 8bf\n\t0xE5, 0x8C, 0xBB, 0x43, 0xE5, 0x8C, 0xBF, 0x43,\n\t0xE5, 0x8D, 0x81, 0x43, 0xE5, 0x8D, 0x84, 0x43,\n\t0xE5, 0x8D, 0x85, 0x43, 0xE5, 0x8D, 0x89, 0x43,\n\t0xE5, 0x8D, 0x91, 0x43, 0xE5, 0x8D, 0x94, 0x43,\n\t0xE5, 0x8D, 0x9A, 0x43, 0xE5, 0x8D, 0x9C, 0x43,\n\t0xE5, 0x8D, 0xA9, 0x43, 0xE5, 0x8D, 0xB0, 0x43,\n\t0xE5, 0x8D, 0xB3, 0x43, 0xE5, 0x8D, 0xB5, 0x43,\n\t0xE5, 0x8D, 0xBD, 0x43, 0xE5, 0x8D, 0xBF, 0x43,\n\t// Bytes 8c0 - 8ff\n\t0xE5, 0x8E, 0x82, 0x43, 0xE5, 0x8E, 0xB6, 0x43,\n\t0xE5, 0x8F, 0x83, 0x43, 0xE5, 0x8F, 0x88, 0x43,\n\t0xE5, 0x8F, 0x8A, 0x43, 0xE5, 0x8F, 0x8C, 0x43,\n\t0xE5, 0x8F, 0x9F, 0x43, 0xE5, 0x8F, 0xA3, 0x43,\n\t0xE5, 0x8F, 0xA5, 0x43, 0xE5, 0x8F, 0xAB, 0x43,\n\t0xE5, 0x8F, 0xAF, 0x43, 0xE5, 0x8F, 0xB1, 0x43,\n\t0xE5, 0x8F, 0xB3, 0x43, 0xE5, 0x90, 0x86, 0x43,\n\t0xE5, 0x90, 0x88, 0x43, 0xE5, 0x90, 0x8D, 0x43,\n\t// Bytes 900 - 93f\n\t0xE5, 0x90, 0x8F, 0x43, 0xE5, 0x90, 0x9D, 0x43,\n\t0xE5, 0x90, 0xB8, 0x43, 0xE5, 0x90, 0xB9, 0x43,\n\t0xE5, 0x91, 0x82, 0x43, 0xE5, 0x91, 0x88, 0x43,\n\t0xE5, 0x91, 0xA8, 0x43, 0xE5, 0x92, 0x9E, 0x43,\n\t0xE5, 0x92, 0xA2, 0x43, 0xE5, 0x92, 0xBD, 0x43,\n\t0xE5, 0x93, 0xB6, 0x43, 0xE5, 0x94, 0x90, 0x43,\n\t0xE5, 0x95, 0x8F, 0x43, 0xE5, 0x95, 0x93, 0x43,\n\t0xE5, 0x95, 0x95, 0x43, 0xE5, 0x95, 0xA3, 0x43,\n\t// Bytes 940 - 97f\n\t0xE5, 0x96, 0x84, 0x43, 0xE5, 0x96, 0x87, 0x43,\n\t0xE5, 0x96, 0x99, 0x43, 0xE5, 0x96, 0x9D, 0x43,\n\t0xE5, 0x96, 0xAB, 0x43, 0xE5, 0x96, 0xB3, 0x43,\n\t0xE5, 0x96, 0xB6, 0x43, 0xE5, 0x97, 0x80, 0x43,\n\t0xE5, 0x97, 0x82, 0x43, 0xE5, 0x97, 0xA2, 0x43,\n\t0xE5, 0x98, 0x86, 0x43, 0xE5, 0x99, 0x91, 0x43,\n\t0xE5, 0x99, 0xA8, 0x43, 0xE5, 0x99, 0xB4, 0x43,\n\t0xE5, 0x9B, 0x97, 0x43, 0xE5, 0x9B, 0x9B, 0x43,\n\t// Bytes 980 - 9bf\n\t0xE5, 0x9B, 0xB9, 0x43, 0xE5, 0x9C, 0x96, 0x43,\n\t0xE5, 0x9C, 0x97, 0x43, 0xE5, 0x9C, 0x9F, 0x43,\n\t0xE5, 0x9C, 0xB0, 0x43, 0xE5, 0x9E, 0x8B, 0x43,\n\t0xE5, 0x9F, 0x8E, 0x43, 0xE5, 0x9F, 0xB4, 0x43,\n\t0xE5, 0xA0, 0x8D, 0x43, 0xE5, 0xA0, 0xB1, 0x43,\n\t0xE5, 0xA0, 0xB2, 0x43, 0xE5, 0xA1, 0x80, 0x43,\n\t0xE5, 0xA1, 0x9A, 0x43, 0xE5, 0xA1, 0x9E, 0x43,\n\t0xE5, 0xA2, 0xA8, 0x43, 0xE5, 0xA2, 0xAC, 0x43,\n\t// Bytes 9c0 - 9ff\n\t0xE5, 0xA2, 0xB3, 0x43, 0xE5, 0xA3, 0x98, 0x43,\n\t0xE5, 0xA3, 0x9F, 0x43, 0xE5, 0xA3, 0xAB, 0x43,\n\t0xE5, 0xA3, 0xAE, 0x43, 0xE5, 0xA3, 0xB0, 0x43,\n\t0xE5, 0xA3, 0xB2, 0x43, 0xE5, 0xA3, 0xB7, 0x43,\n\t0xE5, 0xA4, 0x82, 0x43, 0xE5, 0xA4, 0x86, 0x43,\n\t0xE5, 0xA4, 0x8A, 0x43, 0xE5, 0xA4, 0x95, 0x43,\n\t0xE5, 0xA4, 0x9A, 0x43, 0xE5, 0xA4, 0x9C, 0x43,\n\t0xE5, 0xA4, 0xA2, 0x43, 0xE5, 0xA4, 0xA7, 0x43,\n\t// Bytes a00 - a3f\n\t0xE5, 0xA4, 0xA9, 0x43, 0xE5, 0xA5, 0x84, 0x43,\n\t0xE5, 0xA5, 0x88, 0x43, 0xE5, 0xA5, 0x91, 0x43,\n\t0xE5, 0xA5, 0x94, 0x43, 0xE5, 0xA5, 0xA2, 0x43,\n\t0xE5, 0xA5, 0xB3, 0x43, 0xE5, 0xA7, 0x98, 0x43,\n\t0xE5, 0xA7, 0xAC, 0x43, 0xE5, 0xA8, 0x9B, 0x43,\n\t0xE5, 0xA8, 0xA7, 0x43, 0xE5, 0xA9, 0xA2, 0x43,\n\t0xE5, 0xA9, 0xA6, 0x43, 0xE5, 0xAA, 0xB5, 0x43,\n\t0xE5, 0xAC, 0x88, 0x43, 0xE5, 0xAC, 0xA8, 0x43,\n\t// Bytes a40 - a7f\n\t0xE5, 0xAC, 0xBE, 0x43, 0xE5, 0xAD, 0x90, 0x43,\n\t0xE5, 0xAD, 0x97, 0x43, 0xE5, 0xAD, 0xA6, 0x43,\n\t0xE5, 0xAE, 0x80, 0x43, 0xE5, 0xAE, 0x85, 0x43,\n\t0xE5, 0xAE, 0x97, 0x43, 0xE5, 0xAF, 0x83, 0x43,\n\t0xE5, 0xAF, 0x98, 0x43, 0xE5, 0xAF, 0xA7, 0x43,\n\t0xE5, 0xAF, 0xAE, 0x43, 0xE5, 0xAF, 0xB3, 0x43,\n\t0xE5, 0xAF, 0xB8, 0x43, 0xE5, 0xAF, 0xBF, 0x43,\n\t0xE5, 0xB0, 0x86, 0x43, 0xE5, 0xB0, 0x8F, 0x43,\n\t// Bytes a80 - abf\n\t0xE5, 0xB0, 0xA2, 0x43, 0xE5, 0xB0, 0xB8, 0x43,\n\t0xE5, 0xB0, 0xBF, 0x43, 0xE5, 0xB1, 0xA0, 0x43,\n\t0xE5, 0xB1, 0xA2, 0x43, 0xE5, 0xB1, 0xA4, 0x43,\n\t0xE5, 0xB1, 0xA5, 0x43, 0xE5, 0xB1, 0xAE, 0x43,\n\t0xE5, 0xB1, 0xB1, 0x43, 0xE5, 0xB2, 0x8D, 0x43,\n\t0xE5, 0xB3, 0x80, 0x43, 0xE5, 0xB4, 0x99, 0x43,\n\t0xE5, 0xB5, 0x83, 0x43, 0xE5, 0xB5, 0x90, 0x43,\n\t0xE5, 0xB5, 0xAB, 0x43, 0xE5, 0xB5, 0xAE, 0x43,\n\t// Bytes ac0 - aff\n\t0xE5, 0xB5, 0xBC, 0x43, 0xE5, 0xB6, 0xB2, 0x43,\n\t0xE5, 0xB6, 0xBA, 0x43, 0xE5, 0xB7, 0x9B, 0x43,\n\t0xE5, 0xB7, 0xA1, 0x43, 0xE5, 0xB7, 0xA2, 0x43,\n\t0xE5, 0xB7, 0xA5, 0x43, 0xE5, 0xB7, 0xA6, 0x43,\n\t0xE5, 0xB7, 0xB1, 0x43, 0xE5, 0xB7, 0xBD, 0x43,\n\t0xE5, 0xB7, 0xBE, 0x43, 0xE5, 0xB8, 0xA8, 0x43,\n\t0xE5, 0xB8, 0xBD, 0x43, 0xE5, 0xB9, 0xA9, 0x43,\n\t0xE5, 0xB9, 0xB2, 0x43, 0xE5, 0xB9, 0xB4, 0x43,\n\t// Bytes b00 - b3f\n\t0xE5, 0xB9, 0xBA, 0x43, 0xE5, 0xB9, 0xBC, 0x43,\n\t0xE5, 0xB9, 0xBF, 0x43, 0xE5, 0xBA, 0xA6, 0x43,\n\t0xE5, 0xBA, 0xB0, 0x43, 0xE5, 0xBA, 0xB3, 0x43,\n\t0xE5, 0xBA, 0xB6, 0x43, 0xE5, 0xBB, 0x89, 0x43,\n\t0xE5, 0xBB, 0x8A, 0x43, 0xE5, 0xBB, 0x92, 0x43,\n\t0xE5, 0xBB, 0x93, 0x43, 0xE5, 0xBB, 0x99, 0x43,\n\t0xE5, 0xBB, 0xAC, 0x43, 0xE5, 0xBB, 0xB4, 0x43,\n\t0xE5, 0xBB, 0xBE, 0x43, 0xE5, 0xBC, 0x84, 0x43,\n\t// Bytes b40 - b7f\n\t0xE5, 0xBC, 0x8B, 0x43, 0xE5, 0xBC, 0x93, 0x43,\n\t0xE5, 0xBC, 0xA2, 0x43, 0xE5, 0xBD, 0x90, 0x43,\n\t0xE5, 0xBD, 0x93, 0x43, 0xE5, 0xBD, 0xA1, 0x43,\n\t0xE5, 0xBD, 0xA2, 0x43, 0xE5, 0xBD, 0xA9, 0x43,\n\t0xE5, 0xBD, 0xAB, 0x43, 0xE5, 0xBD, 0xB3, 0x43,\n\t0xE5, 0xBE, 0x8B, 0x43, 0xE5, 0xBE, 0x8C, 0x43,\n\t0xE5, 0xBE, 0x97, 0x43, 0xE5, 0xBE, 0x9A, 0x43,\n\t0xE5, 0xBE, 0xA9, 0x43, 0xE5, 0xBE, 0xAD, 0x43,\n\t// Bytes b80 - bbf\n\t0xE5, 0xBF, 0x83, 0x43, 0xE5, 0xBF, 0x8D, 0x43,\n\t0xE5, 0xBF, 0x97, 0x43, 0xE5, 0xBF, 0xB5, 0x43,\n\t0xE5, 0xBF, 0xB9, 0x43, 0xE6, 0x80, 0x92, 0x43,\n\t0xE6, 0x80, 0x9C, 0x43, 0xE6, 0x81, 0xB5, 0x43,\n\t0xE6, 0x82, 0x81, 0x43, 0xE6, 0x82, 0x94, 0x43,\n\t0xE6, 0x83, 0x87, 0x43, 0xE6, 0x83, 0x98, 0x43,\n\t0xE6, 0x83, 0xA1, 0x43, 0xE6, 0x84, 0x88, 0x43,\n\t0xE6, 0x85, 0x84, 0x43, 0xE6, 0x85, 0x88, 0x43,\n\t// Bytes bc0 - bff\n\t0xE6, 0x85, 0x8C, 0x43, 0xE6, 0x85, 0x8E, 0x43,\n\t0xE6, 0x85, 0xA0, 0x43, 0xE6, 0x85, 0xA8, 0x43,\n\t0xE6, 0x85, 0xBA, 0x43, 0xE6, 0x86, 0x8E, 0x43,\n\t0xE6, 0x86, 0x90, 0x43, 0xE6, 0x86, 0xA4, 0x43,\n\t0xE6, 0x86, 0xAF, 0x43, 0xE6, 0x86, 0xB2, 0x43,\n\t0xE6, 0x87, 0x9E, 0x43, 0xE6, 0x87, 0xB2, 0x43,\n\t0xE6, 0x87, 0xB6, 0x43, 0xE6, 0x88, 0x80, 0x43,\n\t0xE6, 0x88, 0x88, 0x43, 0xE6, 0x88, 0x90, 0x43,\n\t// Bytes c00 - c3f\n\t0xE6, 0x88, 0x9B, 0x43, 0xE6, 0x88, 0xAE, 0x43,\n\t0xE6, 0x88, 0xB4, 0x43, 0xE6, 0x88, 0xB6, 0x43,\n\t0xE6, 0x89, 0x8B, 0x43, 0xE6, 0x89, 0x93, 0x43,\n\t0xE6, 0x89, 0x9D, 0x43, 0xE6, 0x8A, 0x95, 0x43,\n\t0xE6, 0x8A, 0xB1, 0x43, 0xE6, 0x8B, 0x89, 0x43,\n\t0xE6, 0x8B, 0x8F, 0x43, 0xE6, 0x8B, 0x93, 0x43,\n\t0xE6, 0x8B, 0x94, 0x43, 0xE6, 0x8B, 0xBC, 0x43,\n\t0xE6, 0x8B, 0xBE, 0x43, 0xE6, 0x8C, 0x87, 0x43,\n\t// Bytes c40 - c7f\n\t0xE6, 0x8C, 0xBD, 0x43, 0xE6, 0x8D, 0x90, 0x43,\n\t0xE6, 0x8D, 0x95, 0x43, 0xE6, 0x8D, 0xA8, 0x43,\n\t0xE6, 0x8D, 0xBB, 0x43, 0xE6, 0x8E, 0x83, 0x43,\n\t0xE6, 0x8E, 0xA0, 0x43, 0xE6, 0x8E, 0xA9, 0x43,\n\t0xE6, 0x8F, 0x84, 0x43, 0xE6, 0x8F, 0x85, 0x43,\n\t0xE6, 0x8F, 0xA4, 0x43, 0xE6, 0x90, 0x9C, 0x43,\n\t0xE6, 0x90, 0xA2, 0x43, 0xE6, 0x91, 0x92, 0x43,\n\t0xE6, 0x91, 0xA9, 0x43, 0xE6, 0x91, 0xB7, 0x43,\n\t// Bytes c80 - cbf\n\t0xE6, 0x91, 0xBE, 0x43, 0xE6, 0x92, 0x9A, 0x43,\n\t0xE6, 0x92, 0x9D, 0x43, 0xE6, 0x93, 0x84, 0x43,\n\t0xE6, 0x94, 0xAF, 0x43, 0xE6, 0x94, 0xB4, 0x43,\n\t0xE6, 0x95, 0x8F, 0x43, 0xE6, 0x95, 0x96, 0x43,\n\t0xE6, 0x95, 0xAC, 0x43, 0xE6, 0x95, 0xB8, 0x43,\n\t0xE6, 0x96, 0x87, 0x43, 0xE6, 0x96, 0x97, 0x43,\n\t0xE6, 0x96, 0x99, 0x43, 0xE6, 0x96, 0xA4, 0x43,\n\t0xE6, 0x96, 0xB0, 0x43, 0xE6, 0x96, 0xB9, 0x43,\n\t// Bytes cc0 - cff\n\t0xE6, 0x97, 0x85, 0x43, 0xE6, 0x97, 0xA0, 0x43,\n\t0xE6, 0x97, 0xA2, 0x43, 0xE6, 0x97, 0xA3, 0x43,\n\t0xE6, 0x97, 0xA5, 0x43, 0xE6, 0x98, 0x93, 0x43,\n\t0xE6, 0x98, 0xA0, 0x43, 0xE6, 0x99, 0x89, 0x43,\n\t0xE6, 0x99, 0xB4, 0x43, 0xE6, 0x9A, 0x88, 0x43,\n\t0xE6, 0x9A, 0x91, 0x43, 0xE6, 0x9A, 0x9C, 0x43,\n\t0xE6, 0x9A, 0xB4, 0x43, 0xE6, 0x9B, 0x86, 0x43,\n\t0xE6, 0x9B, 0xB0, 0x43, 0xE6, 0x9B, 0xB4, 0x43,\n\t// Bytes d00 - d3f\n\t0xE6, 0x9B, 0xB8, 0x43, 0xE6, 0x9C, 0x80, 0x43,\n\t0xE6, 0x9C, 0x88, 0x43, 0xE6, 0x9C, 0x89, 0x43,\n\t0xE6, 0x9C, 0x97, 0x43, 0xE6, 0x9C, 0x9B, 0x43,\n\t0xE6, 0x9C, 0xA1, 0x43, 0xE6, 0x9C, 0xA8, 0x43,\n\t0xE6, 0x9D, 0x8E, 0x43, 0xE6, 0x9D, 0x93, 0x43,\n\t0xE6, 0x9D, 0x96, 0x43, 0xE6, 0x9D, 0x9E, 0x43,\n\t0xE6, 0x9D, 0xBB, 0x43, 0xE6, 0x9E, 0x85, 0x43,\n\t0xE6, 0x9E, 0x97, 0x43, 0xE6, 0x9F, 0xB3, 0x43,\n\t// Bytes d40 - d7f\n\t0xE6, 0x9F, 0xBA, 0x43, 0xE6, 0xA0, 0x97, 0x43,\n\t0xE6, 0xA0, 0x9F, 0x43, 0xE6, 0xA0, 0xAA, 0x43,\n\t0xE6, 0xA1, 0x92, 0x43, 0xE6, 0xA2, 0x81, 0x43,\n\t0xE6, 0xA2, 0x85, 0x43, 0xE6, 0xA2, 0x8E, 0x43,\n\t0xE6, 0xA2, 0xA8, 0x43, 0xE6, 0xA4, 0x94, 0x43,\n\t0xE6, 0xA5, 0x82, 0x43, 0xE6, 0xA6, 0xA3, 0x43,\n\t0xE6, 0xA7, 0xAA, 0x43, 0xE6, 0xA8, 0x82, 0x43,\n\t0xE6, 0xA8, 0x93, 0x43, 0xE6, 0xAA, 0xA8, 0x43,\n\t// Bytes d80 - dbf\n\t0xE6, 0xAB, 0x93, 0x43, 0xE6, 0xAB, 0x9B, 0x43,\n\t0xE6, 0xAC, 0x84, 0x43, 0xE6, 0xAC, 0xA0, 0x43,\n\t0xE6, 0xAC, 0xA1, 0x43, 0xE6, 0xAD, 0x94, 0x43,\n\t0xE6, 0xAD, 0xA2, 0x43, 0xE6, 0xAD, 0xA3, 0x43,\n\t0xE6, 0xAD, 0xB2, 0x43, 0xE6, 0xAD, 0xB7, 0x43,\n\t0xE6, 0xAD, 0xB9, 0x43, 0xE6, 0xAE, 0x9F, 0x43,\n\t0xE6, 0xAE, 0xAE, 0x43, 0xE6, 0xAE, 0xB3, 0x43,\n\t0xE6, 0xAE, 0xBA, 0x43, 0xE6, 0xAE, 0xBB, 0x43,\n\t// Bytes dc0 - dff\n\t0xE6, 0xAF, 0x8B, 0x43, 0xE6, 0xAF, 0x8D, 0x43,\n\t0xE6, 0xAF, 0x94, 0x43, 0xE6, 0xAF, 0x9B, 0x43,\n\t0xE6, 0xB0, 0x8F, 0x43, 0xE6, 0xB0, 0x94, 0x43,\n\t0xE6, 0xB0, 0xB4, 0x43, 0xE6, 0xB1, 0x8E, 0x43,\n\t0xE6, 0xB1, 0xA7, 0x43, 0xE6, 0xB2, 0x88, 0x43,\n\t0xE6, 0xB2, 0xBF, 0x43, 0xE6, 0xB3, 0x8C, 0x43,\n\t0xE6, 0xB3, 0x8D, 0x43, 0xE6, 0xB3, 0xA5, 0x43,\n\t0xE6, 0xB3, 0xA8, 0x43, 0xE6, 0xB4, 0x96, 0x43,\n\t// Bytes e00 - e3f\n\t0xE6, 0xB4, 0x9B, 0x43, 0xE6, 0xB4, 0x9E, 0x43,\n\t0xE6, 0xB4, 0xB4, 0x43, 0xE6, 0xB4, 0xBE, 0x43,\n\t0xE6, 0xB5, 0x81, 0x43, 0xE6, 0xB5, 0xA9, 0x43,\n\t0xE6, 0xB5, 0xAA, 0x43, 0xE6, 0xB5, 0xB7, 0x43,\n\t0xE6, 0xB5, 0xB8, 0x43, 0xE6, 0xB6, 0x85, 0x43,\n\t0xE6, 0xB7, 0x8B, 0x43, 0xE6, 0xB7, 0x9A, 0x43,\n\t0xE6, 0xB7, 0xAA, 0x43, 0xE6, 0xB7, 0xB9, 0x43,\n\t0xE6, 0xB8, 0x9A, 0x43, 0xE6, 0xB8, 0xAF, 0x43,\n\t// Bytes e40 - e7f\n\t0xE6, 0xB9, 0xAE, 0x43, 0xE6, 0xBA, 0x80, 0x43,\n\t0xE6, 0xBA, 0x9C, 0x43, 0xE6, 0xBA, 0xBA, 0x43,\n\t0xE6, 0xBB, 0x87, 0x43, 0xE6, 0xBB, 0x8B, 0x43,\n\t0xE6, 0xBB, 0x91, 0x43, 0xE6, 0xBB, 0x9B, 0x43,\n\t0xE6, 0xBC, 0x8F, 0x43, 0xE6, 0xBC, 0x94, 0x43,\n\t0xE6, 0xBC, 0xA2, 0x43, 0xE6, 0xBC, 0xA3, 0x43,\n\t0xE6, 0xBD, 0xAE, 0x43, 0xE6, 0xBF, 0x86, 0x43,\n\t0xE6, 0xBF, 0xAB, 0x43, 0xE6, 0xBF, 0xBE, 0x43,\n\t// Bytes e80 - ebf\n\t0xE7, 0x80, 0x9B, 0x43, 0xE7, 0x80, 0x9E, 0x43,\n\t0xE7, 0x80, 0xB9, 0x43, 0xE7, 0x81, 0x8A, 0x43,\n\t0xE7, 0x81, 0xAB, 0x43, 0xE7, 0x81, 0xB0, 0x43,\n\t0xE7, 0x81, 0xB7, 0x43, 0xE7, 0x81, 0xBD, 0x43,\n\t0xE7, 0x82, 0x99, 0x43, 0xE7, 0x82, 0xAD, 0x43,\n\t0xE7, 0x83, 0x88, 0x43, 0xE7, 0x83, 0x99, 0x43,\n\t0xE7, 0x84, 0xA1, 0x43, 0xE7, 0x85, 0x85, 0x43,\n\t0xE7, 0x85, 0x89, 0x43, 0xE7, 0x85, 0xAE, 0x43,\n\t// Bytes ec0 - eff\n\t0xE7, 0x86, 0x9C, 0x43, 0xE7, 0x87, 0x8E, 0x43,\n\t0xE7, 0x87, 0x90, 0x43, 0xE7, 0x88, 0x90, 0x43,\n\t0xE7, 0x88, 0x9B, 0x43, 0xE7, 0x88, 0xA8, 0x43,\n\t0xE7, 0x88, 0xAA, 0x43, 0xE7, 0x88, 0xAB, 0x43,\n\t0xE7, 0x88, 0xB5, 0x43, 0xE7, 0x88, 0xB6, 0x43,\n\t0xE7, 0x88, 0xBB, 0x43, 0xE7, 0x88, 0xBF, 0x43,\n\t0xE7, 0x89, 0x87, 0x43, 0xE7, 0x89, 0x90, 0x43,\n\t0xE7, 0x89, 0x99, 0x43, 0xE7, 0x89, 0x9B, 0x43,\n\t// Bytes f00 - f3f\n\t0xE7, 0x89, 0xA2, 0x43, 0xE7, 0x89, 0xB9, 0x43,\n\t0xE7, 0x8A, 0x80, 0x43, 0xE7, 0x8A, 0x95, 0x43,\n\t0xE7, 0x8A, 0xAC, 0x43, 0xE7, 0x8A, 0xAF, 0x43,\n\t0xE7, 0x8B, 0x80, 0x43, 0xE7, 0x8B, 0xBC, 0x43,\n\t0xE7, 0x8C, 0xAA, 0x43, 0xE7, 0x8D, 0xB5, 0x43,\n\t0xE7, 0x8D, 0xBA, 0x43, 0xE7, 0x8E, 0x84, 0x43,\n\t0xE7, 0x8E, 0x87, 0x43, 0xE7, 0x8E, 0x89, 0x43,\n\t0xE7, 0x8E, 0x8B, 0x43, 0xE7, 0x8E, 0xA5, 0x43,\n\t// Bytes f40 - f7f\n\t0xE7, 0x8E, 0xB2, 0x43, 0xE7, 0x8F, 0x9E, 0x43,\n\t0xE7, 0x90, 0x86, 0x43, 0xE7, 0x90, 0x89, 0x43,\n\t0xE7, 0x90, 0xA2, 0x43, 0xE7, 0x91, 0x87, 0x43,\n\t0xE7, 0x91, 0x9C, 0x43, 0xE7, 0x91, 0xA9, 0x43,\n\t0xE7, 0x91, 0xB1, 0x43, 0xE7, 0x92, 0x85, 0x43,\n\t0xE7, 0x92, 0x89, 0x43, 0xE7, 0x92, 0x98, 0x43,\n\t0xE7, 0x93, 0x8A, 0x43, 0xE7, 0x93, 0x9C, 0x43,\n\t0xE7, 0x93, 0xA6, 0x43, 0xE7, 0x94, 0x86, 0x43,\n\t// Bytes f80 - fbf\n\t0xE7, 0x94, 0x98, 0x43, 0xE7, 0x94, 0x9F, 0x43,\n\t0xE7, 0x94, 0xA4, 0x43, 0xE7, 0x94, 0xA8, 0x43,\n\t0xE7, 0x94, 0xB0, 0x43, 0xE7, 0x94, 0xB2, 0x43,\n\t0xE7, 0x94, 0xB3, 0x43, 0xE7, 0x94, 0xB7, 0x43,\n\t0xE7, 0x94, 0xBB, 0x43, 0xE7, 0x94, 0xBE, 0x43,\n\t0xE7, 0x95, 0x99, 0x43, 0xE7, 0x95, 0xA5, 0x43,\n\t0xE7, 0x95, 0xB0, 0x43, 0xE7, 0x96, 0x8B, 0x43,\n\t0xE7, 0x96, 0x92, 0x43, 0xE7, 0x97, 0xA2, 0x43,\n\t// Bytes fc0 - fff\n\t0xE7, 0x98, 0x90, 0x43, 0xE7, 0x98, 0x9D, 0x43,\n\t0xE7, 0x98, 0x9F, 0x43, 0xE7, 0x99, 0x82, 0x43,\n\t0xE7, 0x99, 0xA9, 0x43, 0xE7, 0x99, 0xB6, 0x43,\n\t0xE7, 0x99, 0xBD, 0x43, 0xE7, 0x9A, 0xAE, 0x43,\n\t0xE7, 0x9A, 0xBF, 0x43, 0xE7, 0x9B, 0x8A, 0x43,\n\t0xE7, 0x9B, 0x9B, 0x43, 0xE7, 0x9B, 0xA3, 0x43,\n\t0xE7, 0x9B, 0xA7, 0x43, 0xE7, 0x9B, 0xAE, 0x43,\n\t0xE7, 0x9B, 0xB4, 0x43, 0xE7, 0x9C, 0x81, 0x43,\n\t// Bytes 1000 - 103f\n\t0xE7, 0x9C, 0x9E, 0x43, 0xE7, 0x9C, 0x9F, 0x43,\n\t0xE7, 0x9D, 0x80, 0x43, 0xE7, 0x9D, 0x8A, 0x43,\n\t0xE7, 0x9E, 0x8B, 0x43, 0xE7, 0x9E, 0xA7, 0x43,\n\t0xE7, 0x9F, 0x9B, 0x43, 0xE7, 0x9F, 0xA2, 0x43,\n\t0xE7, 0x9F, 0xB3, 0x43, 0xE7, 0xA1, 0x8E, 0x43,\n\t0xE7, 0xA1, 0xAB, 0x43, 0xE7, 0xA2, 0x8C, 0x43,\n\t0xE7, 0xA2, 0x91, 0x43, 0xE7, 0xA3, 0x8A, 0x43,\n\t0xE7, 0xA3, 0x8C, 0x43, 0xE7, 0xA3, 0xBB, 0x43,\n\t// Bytes 1040 - 107f\n\t0xE7, 0xA4, 0xAA, 0x43, 0xE7, 0xA4, 0xBA, 0x43,\n\t0xE7, 0xA4, 0xBC, 0x43, 0xE7, 0xA4, 0xBE, 0x43,\n\t0xE7, 0xA5, 0x88, 0x43, 0xE7, 0xA5, 0x89, 0x43,\n\t0xE7, 0xA5, 0x90, 0x43, 0xE7, 0xA5, 0x96, 0x43,\n\t0xE7, 0xA5, 0x9D, 0x43, 0xE7, 0xA5, 0x9E, 0x43,\n\t0xE7, 0xA5, 0xA5, 0x43, 0xE7, 0xA5, 0xBF, 0x43,\n\t0xE7, 0xA6, 0x81, 0x43, 0xE7, 0xA6, 0x8D, 0x43,\n\t0xE7, 0xA6, 0x8E, 0x43, 0xE7, 0xA6, 0x8F, 0x43,\n\t// Bytes 1080 - 10bf\n\t0xE7, 0xA6, 0xAE, 0x43, 0xE7, 0xA6, 0xB8, 0x43,\n\t0xE7, 0xA6, 0xBE, 0x43, 0xE7, 0xA7, 0x8A, 0x43,\n\t0xE7, 0xA7, 0x98, 0x43, 0xE7, 0xA7, 0xAB, 0x43,\n\t0xE7, 0xA8, 0x9C, 0x43, 0xE7, 0xA9, 0x80, 0x43,\n\t0xE7, 0xA9, 0x8A, 0x43, 0xE7, 0xA9, 0x8F, 0x43,\n\t0xE7, 0xA9, 0xB4, 0x43, 0xE7, 0xA9, 0xBA, 0x43,\n\t0xE7, 0xAA, 0x81, 0x43, 0xE7, 0xAA, 0xB1, 0x43,\n\t0xE7, 0xAB, 0x8B, 0x43, 0xE7, 0xAB, 0xAE, 0x43,\n\t// Bytes 10c0 - 10ff\n\t0xE7, 0xAB, 0xB9, 0x43, 0xE7, 0xAC, 0xA0, 0x43,\n\t0xE7, 0xAE, 0x8F, 0x43, 0xE7, 0xAF, 0x80, 0x43,\n\t0xE7, 0xAF, 0x86, 0x43, 0xE7, 0xAF, 0x89, 0x43,\n\t0xE7, 0xB0, 0xBE, 0x43, 0xE7, 0xB1, 0xA0, 0x43,\n\t0xE7, 0xB1, 0xB3, 0x43, 0xE7, 0xB1, 0xBB, 0x43,\n\t0xE7, 0xB2, 0x92, 0x43, 0xE7, 0xB2, 0xBE, 0x43,\n\t0xE7, 0xB3, 0x92, 0x43, 0xE7, 0xB3, 0x96, 0x43,\n\t0xE7, 0xB3, 0xA3, 0x43, 0xE7, 0xB3, 0xA7, 0x43,\n\t// Bytes 1100 - 113f\n\t0xE7, 0xB3, 0xA8, 0x43, 0xE7, 0xB3, 0xB8, 0x43,\n\t0xE7, 0xB4, 0x80, 0x43, 0xE7, 0xB4, 0x90, 0x43,\n\t0xE7, 0xB4, 0xA2, 0x43, 0xE7, 0xB4, 0xAF, 0x43,\n\t0xE7, 0xB5, 0x82, 0x43, 0xE7, 0xB5, 0x9B, 0x43,\n\t0xE7, 0xB5, 0xA3, 0x43, 0xE7, 0xB6, 0xA0, 0x43,\n\t0xE7, 0xB6, 0xBE, 0x43, 0xE7, 0xB7, 0x87, 0x43,\n\t0xE7, 0xB7, 0xB4, 0x43, 0xE7, 0xB8, 0x82, 0x43,\n\t0xE7, 0xB8, 0x89, 0x43, 0xE7, 0xB8, 0xB7, 0x43,\n\t// Bytes 1140 - 117f\n\t0xE7, 0xB9, 0x81, 0x43, 0xE7, 0xB9, 0x85, 0x43,\n\t0xE7, 0xBC, 0xB6, 0x43, 0xE7, 0xBC, 0xBE, 0x43,\n\t0xE7, 0xBD, 0x91, 0x43, 0xE7, 0xBD, 0xB2, 0x43,\n\t0xE7, 0xBD, 0xB9, 0x43, 0xE7, 0xBD, 0xBA, 0x43,\n\t0xE7, 0xBE, 0x85, 0x43, 0xE7, 0xBE, 0x8A, 0x43,\n\t0xE7, 0xBE, 0x95, 0x43, 0xE7, 0xBE, 0x9A, 0x43,\n\t0xE7, 0xBE, 0xBD, 0x43, 0xE7, 0xBF, 0xBA, 0x43,\n\t0xE8, 0x80, 0x81, 0x43, 0xE8, 0x80, 0x85, 0x43,\n\t// Bytes 1180 - 11bf\n\t0xE8, 0x80, 0x8C, 0x43, 0xE8, 0x80, 0x92, 0x43,\n\t0xE8, 0x80, 0xB3, 0x43, 0xE8, 0x81, 0x86, 0x43,\n\t0xE8, 0x81, 0xA0, 0x43, 0xE8, 0x81, 0xAF, 0x43,\n\t0xE8, 0x81, 0xB0, 0x43, 0xE8, 0x81, 0xBE, 0x43,\n\t0xE8, 0x81, 0xBF, 0x43, 0xE8, 0x82, 0x89, 0x43,\n\t0xE8, 0x82, 0x8B, 0x43, 0xE8, 0x82, 0xAD, 0x43,\n\t0xE8, 0x82, 0xB2, 0x43, 0xE8, 0x84, 0x83, 0x43,\n\t0xE8, 0x84, 0xBE, 0x43, 0xE8, 0x87, 0x98, 0x43,\n\t// Bytes 11c0 - 11ff\n\t0xE8, 0x87, 0xA3, 0x43, 0xE8, 0x87, 0xA8, 0x43,\n\t0xE8, 0x87, 0xAA, 0x43, 0xE8, 0x87, 0xAD, 0x43,\n\t0xE8, 0x87, 0xB3, 0x43, 0xE8, 0x87, 0xBC, 0x43,\n\t0xE8, 0x88, 0x81, 0x43, 0xE8, 0x88, 0x84, 0x43,\n\t0xE8, 0x88, 0x8C, 0x43, 0xE8, 0x88, 0x98, 0x43,\n\t0xE8, 0x88, 0x9B, 0x43, 0xE8, 0x88, 0x9F, 0x43,\n\t0xE8, 0x89, 0xAE, 0x43, 0xE8, 0x89, 0xAF, 0x43,\n\t0xE8, 0x89, 0xB2, 0x43, 0xE8, 0x89, 0xB8, 0x43,\n\t// Bytes 1200 - 123f\n\t0xE8, 0x89, 0xB9, 0x43, 0xE8, 0x8A, 0x8B, 0x43,\n\t0xE8, 0x8A, 0x91, 0x43, 0xE8, 0x8A, 0x9D, 0x43,\n\t0xE8, 0x8A, 0xB1, 0x43, 0xE8, 0x8A, 0xB3, 0x43,\n\t0xE8, 0x8A, 0xBD, 0x43, 0xE8, 0x8B, 0xA5, 0x43,\n\t0xE8, 0x8B, 0xA6, 0x43, 0xE8, 0x8C, 0x9D, 0x43,\n\t0xE8, 0x8C, 0xA3, 0x43, 0xE8, 0x8C, 0xB6, 0x43,\n\t0xE8, 0x8D, 0x92, 0x43, 0xE8, 0x8D, 0x93, 0x43,\n\t0xE8, 0x8D, 0xA3, 0x43, 0xE8, 0x8E, 0xAD, 0x43,\n\t// Bytes 1240 - 127f\n\t0xE8, 0x8E, 0xBD, 0x43, 0xE8, 0x8F, 0x89, 0x43,\n\t0xE8, 0x8F, 0x8A, 0x43, 0xE8, 0x8F, 0x8C, 0x43,\n\t0xE8, 0x8F, 0x9C, 0x43, 0xE8, 0x8F, 0xA7, 0x43,\n\t0xE8, 0x8F, 0xAF, 0x43, 0xE8, 0x8F, 0xB1, 0x43,\n\t0xE8, 0x90, 0xBD, 0x43, 0xE8, 0x91, 0x89, 0x43,\n\t0xE8, 0x91, 0x97, 0x43, 0xE8, 0x93, 0xAE, 0x43,\n\t0xE8, 0x93, 0xB1, 0x43, 0xE8, 0x93, 0xB3, 0x43,\n\t0xE8, 0x93, 0xBC, 0x43, 0xE8, 0x94, 0x96, 0x43,\n\t// Bytes 1280 - 12bf\n\t0xE8, 0x95, 0xA4, 0x43, 0xE8, 0x97, 0x8D, 0x43,\n\t0xE8, 0x97, 0xBA, 0x43, 0xE8, 0x98, 0x86, 0x43,\n\t0xE8, 0x98, 0x92, 0x43, 0xE8, 0x98, 0xAD, 0x43,\n\t0xE8, 0x98, 0xBF, 0x43, 0xE8, 0x99, 0x8D, 0x43,\n\t0xE8, 0x99, 0x90, 0x43, 0xE8, 0x99, 0x9C, 0x43,\n\t0xE8, 0x99, 0xA7, 0x43, 0xE8, 0x99, 0xA9, 0x43,\n\t0xE8, 0x99, 0xAB, 0x43, 0xE8, 0x9A, 0x88, 0x43,\n\t0xE8, 0x9A, 0xA9, 0x43, 0xE8, 0x9B, 0xA2, 0x43,\n\t// Bytes 12c0 - 12ff\n\t0xE8, 0x9C, 0x8E, 0x43, 0xE8, 0x9C, 0xA8, 0x43,\n\t0xE8, 0x9D, 0xAB, 0x43, 0xE8, 0x9D, 0xB9, 0x43,\n\t0xE8, 0x9E, 0x86, 0x43, 0xE8, 0x9E, 0xBA, 0x43,\n\t0xE8, 0x9F, 0xA1, 0x43, 0xE8, 0xA0, 0x81, 0x43,\n\t0xE8, 0xA0, 0x9F, 0x43, 0xE8, 0xA1, 0x80, 0x43,\n\t0xE8, 0xA1, 0x8C, 0x43, 0xE8, 0xA1, 0xA0, 0x43,\n\t0xE8, 0xA1, 0xA3, 0x43, 0xE8, 0xA3, 0x82, 0x43,\n\t0xE8, 0xA3, 0x8F, 0x43, 0xE8, 0xA3, 0x97, 0x43,\n\t// Bytes 1300 - 133f\n\t0xE8, 0xA3, 0x9E, 0x43, 0xE8, 0xA3, 0xA1, 0x43,\n\t0xE8, 0xA3, 0xB8, 0x43, 0xE8, 0xA3, 0xBA, 0x43,\n\t0xE8, 0xA4, 0x90, 0x43, 0xE8, 0xA5, 0x81, 0x43,\n\t0xE8, 0xA5, 0xA4, 0x43, 0xE8, 0xA5, 0xBE, 0x43,\n\t0xE8, 0xA6, 0x86, 0x43, 0xE8, 0xA6, 0x8B, 0x43,\n\t0xE8, 0xA6, 0x96, 0x43, 0xE8, 0xA7, 0x92, 0x43,\n\t0xE8, 0xA7, 0xA3, 0x43, 0xE8, 0xA8, 0x80, 0x43,\n\t0xE8, 0xAA, 0xA0, 0x43, 0xE8, 0xAA, 0xAA, 0x43,\n\t// Bytes 1340 - 137f\n\t0xE8, 0xAA, 0xBF, 0x43, 0xE8, 0xAB, 0x8B, 0x43,\n\t0xE8, 0xAB, 0x92, 0x43, 0xE8, 0xAB, 0x96, 0x43,\n\t0xE8, 0xAB, 0xAD, 0x43, 0xE8, 0xAB, 0xB8, 0x43,\n\t0xE8, 0xAB, 0xBE, 0x43, 0xE8, 0xAC, 0x81, 0x43,\n\t0xE8, 0xAC, 0xB9, 0x43, 0xE8, 0xAD, 0x98, 0x43,\n\t0xE8, 0xAE, 0x80, 0x43, 0xE8, 0xAE, 0x8A, 0x43,\n\t0xE8, 0xB0, 0xB7, 0x43, 0xE8, 0xB1, 0x86, 0x43,\n\t0xE8, 0xB1, 0x88, 0x43, 0xE8, 0xB1, 0x95, 0x43,\n\t// Bytes 1380 - 13bf\n\t0xE8, 0xB1, 0xB8, 0x43, 0xE8, 0xB2, 0x9D, 0x43,\n\t0xE8, 0xB2, 0xA1, 0x43, 0xE8, 0xB2, 0xA9, 0x43,\n\t0xE8, 0xB2, 0xAB, 0x43, 0xE8, 0xB3, 0x81, 0x43,\n\t0xE8, 0xB3, 0x82, 0x43, 0xE8, 0xB3, 0x87, 0x43,\n\t0xE8, 0xB3, 0x88, 0x43, 0xE8, 0xB3, 0x93, 0x43,\n\t0xE8, 0xB4, 0x88, 0x43, 0xE8, 0xB4, 0x9B, 0x43,\n\t0xE8, 0xB5, 0xA4, 0x43, 0xE8, 0xB5, 0xB0, 0x43,\n\t0xE8, 0xB5, 0xB7, 0x43, 0xE8, 0xB6, 0xB3, 0x43,\n\t// Bytes 13c0 - 13ff\n\t0xE8, 0xB6, 0xBC, 0x43, 0xE8, 0xB7, 0x8B, 0x43,\n\t0xE8, 0xB7, 0xAF, 0x43, 0xE8, 0xB7, 0xB0, 0x43,\n\t0xE8, 0xBA, 0xAB, 0x43, 0xE8, 0xBB, 0x8A, 0x43,\n\t0xE8, 0xBB, 0x94, 0x43, 0xE8, 0xBC, 0xA6, 0x43,\n\t0xE8, 0xBC, 0xAA, 0x43, 0xE8, 0xBC, 0xB8, 0x43,\n\t0xE8, 0xBC, 0xBB, 0x43, 0xE8, 0xBD, 0xA2, 0x43,\n\t0xE8, 0xBE, 0x9B, 0x43, 0xE8, 0xBE, 0x9E, 0x43,\n\t0xE8, 0xBE, 0xB0, 0x43, 0xE8, 0xBE, 0xB5, 0x43,\n\t// Bytes 1400 - 143f\n\t0xE8, 0xBE, 0xB6, 0x43, 0xE9, 0x80, 0xA3, 0x43,\n\t0xE9, 0x80, 0xB8, 0x43, 0xE9, 0x81, 0x8A, 0x43,\n\t0xE9, 0x81, 0xA9, 0x43, 0xE9, 0x81, 0xB2, 0x43,\n\t0xE9, 0x81, 0xBC, 0x43, 0xE9, 0x82, 0x8F, 0x43,\n\t0xE9, 0x82, 0x91, 0x43, 0xE9, 0x82, 0x94, 0x43,\n\t0xE9, 0x83, 0x8E, 0x43, 0xE9, 0x83, 0x9E, 0x43,\n\t0xE9, 0x83, 0xB1, 0x43, 0xE9, 0x83, 0xBD, 0x43,\n\t0xE9, 0x84, 0x91, 0x43, 0xE9, 0x84, 0x9B, 0x43,\n\t// Bytes 1440 - 147f\n\t0xE9, 0x85, 0x89, 0x43, 0xE9, 0x85, 0x8D, 0x43,\n\t0xE9, 0x85, 0xAA, 0x43, 0xE9, 0x86, 0x99, 0x43,\n\t0xE9, 0x86, 0xB4, 0x43, 0xE9, 0x87, 0x86, 0x43,\n\t0xE9, 0x87, 0x8C, 0x43, 0xE9, 0x87, 0x8F, 0x43,\n\t0xE9, 0x87, 0x91, 0x43, 0xE9, 0x88, 0xB4, 0x43,\n\t0xE9, 0x88, 0xB8, 0x43, 0xE9, 0x89, 0xB6, 0x43,\n\t0xE9, 0x89, 0xBC, 0x43, 0xE9, 0x8B, 0x97, 0x43,\n\t0xE9, 0x8B, 0x98, 0x43, 0xE9, 0x8C, 0x84, 0x43,\n\t// Bytes 1480 - 14bf\n\t0xE9, 0x8D, 0x8A, 0x43, 0xE9, 0x8F, 0xB9, 0x43,\n\t0xE9, 0x90, 0x95, 0x43, 0xE9, 0x95, 0xB7, 0x43,\n\t0xE9, 0x96, 0x80, 0x43, 0xE9, 0x96, 0x8B, 0x43,\n\t0xE9, 0x96, 0xAD, 0x43, 0xE9, 0x96, 0xB7, 0x43,\n\t0xE9, 0x98, 0x9C, 0x43, 0xE9, 0x98, 0xAE, 0x43,\n\t0xE9, 0x99, 0x8B, 0x43, 0xE9, 0x99, 0x8D, 0x43,\n\t0xE9, 0x99, 0xB5, 0x43, 0xE9, 0x99, 0xB8, 0x43,\n\t0xE9, 0x99, 0xBC, 0x43, 0xE9, 0x9A, 0x86, 0x43,\n\t// Bytes 14c0 - 14ff\n\t0xE9, 0x9A, 0xA3, 0x43, 0xE9, 0x9A, 0xB6, 0x43,\n\t0xE9, 0x9A, 0xB7, 0x43, 0xE9, 0x9A, 0xB8, 0x43,\n\t0xE9, 0x9A, 0xB9, 0x43, 0xE9, 0x9B, 0x83, 0x43,\n\t0xE9, 0x9B, 0xA2, 0x43, 0xE9, 0x9B, 0xA3, 0x43,\n\t0xE9, 0x9B, 0xA8, 0x43, 0xE9, 0x9B, 0xB6, 0x43,\n\t0xE9, 0x9B, 0xB7, 0x43, 0xE9, 0x9C, 0xA3, 0x43,\n\t0xE9, 0x9C, 0xB2, 0x43, 0xE9, 0x9D, 0x88, 0x43,\n\t0xE9, 0x9D, 0x91, 0x43, 0xE9, 0x9D, 0x96, 0x43,\n\t// Bytes 1500 - 153f\n\t0xE9, 0x9D, 0x9E, 0x43, 0xE9, 0x9D, 0xA2, 0x43,\n\t0xE9, 0x9D, 0xA9, 0x43, 0xE9, 0x9F, 0x8B, 0x43,\n\t0xE9, 0x9F, 0x9B, 0x43, 0xE9, 0x9F, 0xA0, 0x43,\n\t0xE9, 0x9F, 0xAD, 0x43, 0xE9, 0x9F, 0xB3, 0x43,\n\t0xE9, 0x9F, 0xBF, 0x43, 0xE9, 0xA0, 0x81, 0x43,\n\t0xE9, 0xA0, 0x85, 0x43, 0xE9, 0xA0, 0x8B, 0x43,\n\t0xE9, 0xA0, 0x98, 0x43, 0xE9, 0xA0, 0xA9, 0x43,\n\t0xE9, 0xA0, 0xBB, 0x43, 0xE9, 0xA1, 0x9E, 0x43,\n\t// Bytes 1540 - 157f\n\t0xE9, 0xA2, 0xA8, 0x43, 0xE9, 0xA3, 0x9B, 0x43,\n\t0xE9, 0xA3, 0x9F, 0x43, 0xE9, 0xA3, 0xA2, 0x43,\n\t0xE9, 0xA3, 0xAF, 0x43, 0xE9, 0xA3, 0xBC, 0x43,\n\t0xE9, 0xA4, 0xA8, 0x43, 0xE9, 0xA4, 0xA9, 0x43,\n\t0xE9, 0xA6, 0x96, 0x43, 0xE9, 0xA6, 0x99, 0x43,\n\t0xE9, 0xA6, 0xA7, 0x43, 0xE9, 0xA6, 0xAC, 0x43,\n\t0xE9, 0xA7, 0x82, 0x43, 0xE9, 0xA7, 0xB1, 0x43,\n\t0xE9, 0xA7, 0xBE, 0x43, 0xE9, 0xA9, 0xAA, 0x43,\n\t// Bytes 1580 - 15bf\n\t0xE9, 0xAA, 0xA8, 0x43, 0xE9, 0xAB, 0x98, 0x43,\n\t0xE9, 0xAB, 0x9F, 0x43, 0xE9, 0xAC, 0x92, 0x43,\n\t0xE9, 0xAC, 0xA5, 0x43, 0xE9, 0xAC, 0xAF, 0x43,\n\t0xE9, 0xAC, 0xB2, 0x43, 0xE9, 0xAC, 0xBC, 0x43,\n\t0xE9, 0xAD, 0x9A, 0x43, 0xE9, 0xAD, 0xAF, 0x43,\n\t0xE9, 0xB1, 0x80, 0x43, 0xE9, 0xB1, 0x97, 0x43,\n\t0xE9, 0xB3, 0xA5, 0x43, 0xE9, 0xB3, 0xBD, 0x43,\n\t0xE9, 0xB5, 0xA7, 0x43, 0xE9, 0xB6, 0xB4, 0x43,\n\t// Bytes 15c0 - 15ff\n\t0xE9, 0xB7, 0xBA, 0x43, 0xE9, 0xB8, 0x9E, 0x43,\n\t0xE9, 0xB9, 0xB5, 0x43, 0xE9, 0xB9, 0xBF, 0x43,\n\t0xE9, 0xBA, 0x97, 0x43, 0xE9, 0xBA, 0x9F, 0x43,\n\t0xE9, 0xBA, 0xA5, 0x43, 0xE9, 0xBA, 0xBB, 0x43,\n\t0xE9, 0xBB, 0x83, 0x43, 0xE9, 0xBB, 0x8D, 0x43,\n\t0xE9, 0xBB, 0x8E, 0x43, 0xE9, 0xBB, 0x91, 0x43,\n\t0xE9, 0xBB, 0xB9, 0x43, 0xE9, 0xBB, 0xBD, 0x43,\n\t0xE9, 0xBB, 0xBE, 0x43, 0xE9, 0xBC, 0x85, 0x43,\n\t// Bytes 1600 - 163f\n\t0xE9, 0xBC, 0x8E, 0x43, 0xE9, 0xBC, 0x8F, 0x43,\n\t0xE9, 0xBC, 0x93, 0x43, 0xE9, 0xBC, 0x96, 0x43,\n\t0xE9, 0xBC, 0xA0, 0x43, 0xE9, 0xBC, 0xBB, 0x43,\n\t0xE9, 0xBD, 0x83, 0x43, 0xE9, 0xBD, 0x8A, 0x43,\n\t0xE9, 0xBD, 0x92, 0x43, 0xE9, 0xBE, 0x8D, 0x43,\n\t0xE9, 0xBE, 0x8E, 0x43, 0xE9, 0xBE, 0x9C, 0x43,\n\t0xE9, 0xBE, 0x9F, 0x43, 0xE9, 0xBE, 0xA0, 0x43,\n\t0xEA, 0x9C, 0xA7, 0x43, 0xEA, 0x9D, 0xAF, 0x43,\n\t// Bytes 1640 - 167f\n\t0xEA, 0xAC, 0xB7, 0x43, 0xEA, 0xAD, 0x92, 0x44,\n\t0xF0, 0xA0, 0x84, 0xA2, 0x44, 0xF0, 0xA0, 0x94,\n\t0x9C, 0x44, 0xF0, 0xA0, 0x94, 0xA5, 0x44, 0xF0,\n\t0xA0, 0x95, 0x8B, 0x44, 0xF0, 0xA0, 0x98, 0xBA,\n\t0x44, 0xF0, 0xA0, 0xA0, 0x84, 0x44, 0xF0, 0xA0,\n\t0xA3, 0x9E, 0x44, 0xF0, 0xA0, 0xA8, 0xAC, 0x44,\n\t0xF0, 0xA0, 0xAD, 0xA3, 0x44, 0xF0, 0xA1, 0x93,\n\t0xA4, 0x44, 0xF0, 0xA1, 0x9A, 0xA8, 0x44, 0xF0,\n\t// Bytes 1680 - 16bf\n\t0xA1, 0x9B, 0xAA, 0x44, 0xF0, 0xA1, 0xA7, 0x88,\n\t0x44, 0xF0, 0xA1, 0xAC, 0x98, 0x44, 0xF0, 0xA1,\n\t0xB4, 0x8B, 0x44, 0xF0, 0xA1, 0xB7, 0xA4, 0x44,\n\t0xF0, 0xA1, 0xB7, 0xA6, 0x44, 0xF0, 0xA2, 0x86,\n\t0x83, 0x44, 0xF0, 0xA2, 0x86, 0x9F, 0x44, 0xF0,\n\t0xA2, 0x8C, 0xB1, 0x44, 0xF0, 0xA2, 0x9B, 0x94,\n\t0x44, 0xF0, 0xA2, 0xA1, 0x84, 0x44, 0xF0, 0xA2,\n\t0xA1, 0x8A, 0x44, 0xF0, 0xA2, 0xAC, 0x8C, 0x44,\n\t// Bytes 16c0 - 16ff\n\t0xF0, 0xA2, 0xAF, 0xB1, 0x44, 0xF0, 0xA3, 0x80,\n\t0x8A, 0x44, 0xF0, 0xA3, 0x8A, 0xB8, 0x44, 0xF0,\n\t0xA3, 0x8D, 0x9F, 0x44, 0xF0, 0xA3, 0x8E, 0x93,\n\t0x44, 0xF0, 0xA3, 0x8E, 0x9C, 0x44, 0xF0, 0xA3,\n\t0x8F, 0x83, 0x44, 0xF0, 0xA3, 0x8F, 0x95, 0x44,\n\t0xF0, 0xA3, 0x91, 0xAD, 0x44, 0xF0, 0xA3, 0x9A,\n\t0xA3, 0x44, 0xF0, 0xA3, 0xA2, 0xA7, 0x44, 0xF0,\n\t0xA3, 0xAA, 0x8D, 0x44, 0xF0, 0xA3, 0xAB, 0xBA,\n\t// Bytes 1700 - 173f\n\t0x44, 0xF0, 0xA3, 0xB2, 0xBC, 0x44, 0xF0, 0xA3,\n\t0xB4, 0x9E, 0x44, 0xF0, 0xA3, 0xBB, 0x91, 0x44,\n\t0xF0, 0xA3, 0xBD, 0x9E, 0x44, 0xF0, 0xA3, 0xBE,\n\t0x8E, 0x44, 0xF0, 0xA4, 0x89, 0xA3, 0x44, 0xF0,\n\t0xA4, 0x8B, 0xAE, 0x44, 0xF0, 0xA4, 0x8E, 0xAB,\n\t0x44, 0xF0, 0xA4, 0x98, 0x88, 0x44, 0xF0, 0xA4,\n\t0x9C, 0xB5, 0x44, 0xF0, 0xA4, 0xA0, 0x94, 0x44,\n\t0xF0, 0xA4, 0xB0, 0xB6, 0x44, 0xF0, 0xA4, 0xB2,\n\t// Bytes 1740 - 177f\n\t0x92, 0x44, 0xF0, 0xA4, 0xBE, 0xA1, 0x44, 0xF0,\n\t0xA4, 0xBE, 0xB8, 0x44, 0xF0, 0xA5, 0x81, 0x84,\n\t0x44, 0xF0, 0xA5, 0x83, 0xB2, 0x44, 0xF0, 0xA5,\n\t0x83, 0xB3, 0x44, 0xF0, 0xA5, 0x84, 0x99, 0x44,\n\t0xF0, 0xA5, 0x84, 0xB3, 0x44, 0xF0, 0xA5, 0x89,\n\t0x89, 0x44, 0xF0, 0xA5, 0x90, 0x9D, 0x44, 0xF0,\n\t0xA5, 0x98, 0xA6, 0x44, 0xF0, 0xA5, 0x9A, 0x9A,\n\t0x44, 0xF0, 0xA5, 0x9B, 0x85, 0x44, 0xF0, 0xA5,\n\t// Bytes 1780 - 17bf\n\t0xA5, 0xBC, 0x44, 0xF0, 0xA5, 0xAA, 0xA7, 0x44,\n\t0xF0, 0xA5, 0xAE, 0xAB, 0x44, 0xF0, 0xA5, 0xB2,\n\t0x80, 0x44, 0xF0, 0xA5, 0xB3, 0x90, 0x44, 0xF0,\n\t0xA5, 0xBE, 0x86, 0x44, 0xF0, 0xA6, 0x87, 0x9A,\n\t0x44, 0xF0, 0xA6, 0x88, 0xA8, 0x44, 0xF0, 0xA6,\n\t0x89, 0x87, 0x44, 0xF0, 0xA6, 0x8B, 0x99, 0x44,\n\t0xF0, 0xA6, 0x8C, 0xBE, 0x44, 0xF0, 0xA6, 0x93,\n\t0x9A, 0x44, 0xF0, 0xA6, 0x94, 0xA3, 0x44, 0xF0,\n\t// Bytes 17c0 - 17ff\n\t0xA6, 0x96, 0xA8, 0x44, 0xF0, 0xA6, 0x9E, 0xA7,\n\t0x44, 0xF0, 0xA6, 0x9E, 0xB5, 0x44, 0xF0, 0xA6,\n\t0xAC, 0xBC, 0x44, 0xF0, 0xA6, 0xB0, 0xB6, 0x44,\n\t0xF0, 0xA6, 0xB3, 0x95, 0x44, 0xF0, 0xA6, 0xB5,\n\t0xAB, 0x44, 0xF0, 0xA6, 0xBC, 0xAC, 0x44, 0xF0,\n\t0xA6, 0xBE, 0xB1, 0x44, 0xF0, 0xA7, 0x83, 0x92,\n\t0x44, 0xF0, 0xA7, 0x8F, 0x8A, 0x44, 0xF0, 0xA7,\n\t0x99, 0xA7, 0x44, 0xF0, 0xA7, 0xA2, 0xAE, 0x44,\n\t// Bytes 1800 - 183f\n\t0xF0, 0xA7, 0xA5, 0xA6, 0x44, 0xF0, 0xA7, 0xB2,\n\t0xA8, 0x44, 0xF0, 0xA7, 0xBB, 0x93, 0x44, 0xF0,\n\t0xA7, 0xBC, 0xAF, 0x44, 0xF0, 0xA8, 0x97, 0x92,\n\t0x44, 0xF0, 0xA8, 0x97, 0xAD, 0x44, 0xF0, 0xA8,\n\t0x9C, 0xAE, 0x44, 0xF0, 0xA8, 0xAF, 0xBA, 0x44,\n\t0xF0, 0xA8, 0xB5, 0xB7, 0x44, 0xF0, 0xA9, 0x85,\n\t0x85, 0x44, 0xF0, 0xA9, 0x87, 0x9F, 0x44, 0xF0,\n\t0xA9, 0x88, 0x9A, 0x44, 0xF0, 0xA9, 0x90, 0x8A,\n\t// Bytes 1840 - 187f\n\t0x44, 0xF0, 0xA9, 0x92, 0x96, 0x44, 0xF0, 0xA9,\n\t0x96, 0xB6, 0x44, 0xF0, 0xA9, 0xAC, 0xB0, 0x44,\n\t0xF0, 0xAA, 0x83, 0x8E, 0x44, 0xF0, 0xAA, 0x84,\n\t0x85, 0x44, 0xF0, 0xAA, 0x88, 0x8E, 0x44, 0xF0,\n\t0xAA, 0x8A, 0x91, 0x44, 0xF0, 0xAA, 0x8E, 0x92,\n\t0x44, 0xF0, 0xAA, 0x98, 0x80, 0x42, 0x21, 0x21,\n\t0x42, 0x21, 0x3F, 0x42, 0x2E, 0x2E, 0x42, 0x30,\n\t0x2C, 0x42, 0x30, 0x2E, 0x42, 0x31, 0x2C, 0x42,\n\t// Bytes 1880 - 18bf\n\t0x31, 0x2E, 0x42, 0x31, 0x30, 0x42, 0x31, 0x31,\n\t0x42, 0x31, 0x32, 0x42, 0x31, 0x33, 0x42, 0x31,\n\t0x34, 0x42, 0x31, 0x35, 0x42, 0x31, 0x36, 0x42,\n\t0x31, 0x37, 0x42, 0x31, 0x38, 0x42, 0x31, 0x39,\n\t0x42, 0x32, 0x2C, 0x42, 0x32, 0x2E, 0x42, 0x32,\n\t0x30, 0x42, 0x32, 0x31, 0x42, 0x32, 0x32, 0x42,\n\t0x32, 0x33, 0x42, 0x32, 0x34, 0x42, 0x32, 0x35,\n\t0x42, 0x32, 0x36, 0x42, 0x32, 0x37, 0x42, 0x32,\n\t// Bytes 18c0 - 18ff\n\t0x38, 0x42, 0x32, 0x39, 0x42, 0x33, 0x2C, 0x42,\n\t0x33, 0x2E, 0x42, 0x33, 0x30, 0x42, 0x33, 0x31,\n\t0x42, 0x33, 0x32, 0x42, 0x33, 0x33, 0x42, 0x33,\n\t0x34, 0x42, 0x33, 0x35, 0x42, 0x33, 0x36, 0x42,\n\t0x33, 0x37, 0x42, 0x33, 0x38, 0x42, 0x33, 0x39,\n\t0x42, 0x34, 0x2C, 0x42, 0x34, 0x2E, 0x42, 0x34,\n\t0x30, 0x42, 0x34, 0x31, 0x42, 0x34, 0x32, 0x42,\n\t0x34, 0x33, 0x42, 0x34, 0x34, 0x42, 0x34, 0x35,\n\t// Bytes 1900 - 193f\n\t0x42, 0x34, 0x36, 0x42, 0x34, 0x37, 0x42, 0x34,\n\t0x38, 0x42, 0x34, 0x39, 0x42, 0x35, 0x2C, 0x42,\n\t0x35, 0x2E, 0x42, 0x35, 0x30, 0x42, 0x36, 0x2C,\n\t0x42, 0x36, 0x2E, 0x42, 0x37, 0x2C, 0x42, 0x37,\n\t0x2E, 0x42, 0x38, 0x2C, 0x42, 0x38, 0x2E, 0x42,\n\t0x39, 0x2C, 0x42, 0x39, 0x2E, 0x42, 0x3D, 0x3D,\n\t0x42, 0x3F, 0x21, 0x42, 0x3F, 0x3F, 0x42, 0x41,\n\t0x55, 0x42, 0x42, 0x71, 0x42, 0x43, 0x44, 0x42,\n\t// Bytes 1940 - 197f\n\t0x44, 0x4A, 0x42, 0x44, 0x5A, 0x42, 0x44, 0x7A,\n\t0x42, 0x47, 0x42, 0x42, 0x47, 0x79, 0x42, 0x48,\n\t0x50, 0x42, 0x48, 0x56, 0x42, 0x48, 0x67, 0x42,\n\t0x48, 0x7A, 0x42, 0x49, 0x49, 0x42, 0x49, 0x4A,\n\t0x42, 0x49, 0x55, 0x42, 0x49, 0x56, 0x42, 0x49,\n\t0x58, 0x42, 0x4B, 0x42, 0x42, 0x4B, 0x4B, 0x42,\n\t0x4B, 0x4D, 0x42, 0x4C, 0x4A, 0x42, 0x4C, 0x6A,\n\t0x42, 0x4D, 0x42, 0x42, 0x4D, 0x43, 0x42, 0x4D,\n\t// Bytes 1980 - 19bf\n\t0x44, 0x42, 0x4D, 0x56, 0x42, 0x4D, 0x57, 0x42,\n\t0x4E, 0x4A, 0x42, 0x4E, 0x6A, 0x42, 0x4E, 0x6F,\n\t0x42, 0x50, 0x48, 0x42, 0x50, 0x52, 0x42, 0x50,\n\t0x61, 0x42, 0x52, 0x73, 0x42, 0x53, 0x44, 0x42,\n\t0x53, 0x4D, 0x42, 0x53, 0x53, 0x42, 0x53, 0x76,\n\t0x42, 0x54, 0x4D, 0x42, 0x56, 0x49, 0x42, 0x57,\n\t0x43, 0x42, 0x57, 0x5A, 0x42, 0x57, 0x62, 0x42,\n\t0x58, 0x49, 0x42, 0x63, 0x63, 0x42, 0x63, 0x64,\n\t// Bytes 19c0 - 19ff\n\t0x42, 0x63, 0x6D, 0x42, 0x64, 0x42, 0x42, 0x64,\n\t0x61, 0x42, 0x64, 0x6C, 0x42, 0x64, 0x6D, 0x42,\n\t0x64, 0x7A, 0x42, 0x65, 0x56, 0x42, 0x66, 0x66,\n\t0x42, 0x66, 0x69, 0x42, 0x66, 0x6C, 0x42, 0x66,\n\t0x6D, 0x42, 0x68, 0x61, 0x42, 0x69, 0x69, 0x42,\n\t0x69, 0x6A, 0x42, 0x69, 0x6E, 0x42, 0x69, 0x76,\n\t0x42, 0x69, 0x78, 0x42, 0x6B, 0x41, 0x42, 0x6B,\n\t0x56, 0x42, 0x6B, 0x57, 0x42, 0x6B, 0x67, 0x42,\n\t// Bytes 1a00 - 1a3f\n\t0x6B, 0x6C, 0x42, 0x6B, 0x6D, 0x42, 0x6B, 0x74,\n\t0x42, 0x6C, 0x6A, 0x42, 0x6C, 0x6D, 0x42, 0x6C,\n\t0x6E, 0x42, 0x6C, 0x78, 0x42, 0x6D, 0x32, 0x42,\n\t0x6D, 0x33, 0x42, 0x6D, 0x41, 0x42, 0x6D, 0x56,\n\t0x42, 0x6D, 0x57, 0x42, 0x6D, 0x62, 0x42, 0x6D,\n\t0x67, 0x42, 0x6D, 0x6C, 0x42, 0x6D, 0x6D, 0x42,\n\t0x6D, 0x73, 0x42, 0x6E, 0x41, 0x42, 0x6E, 0x46,\n\t0x42, 0x6E, 0x56, 0x42, 0x6E, 0x57, 0x42, 0x6E,\n\t// Bytes 1a40 - 1a7f\n\t0x6A, 0x42, 0x6E, 0x6D, 0x42, 0x6E, 0x73, 0x42,\n\t0x6F, 0x56, 0x42, 0x70, 0x41, 0x42, 0x70, 0x46,\n\t0x42, 0x70, 0x56, 0x42, 0x70, 0x57, 0x42, 0x70,\n\t0x63, 0x42, 0x70, 0x73, 0x42, 0x73, 0x72, 0x42,\n\t0x73, 0x74, 0x42, 0x76, 0x69, 0x42, 0x78, 0x69,\n\t0x43, 0x28, 0x31, 0x29, 0x43, 0x28, 0x32, 0x29,\n\t0x43, 0x28, 0x33, 0x29, 0x43, 0x28, 0x34, 0x29,\n\t0x43, 0x28, 0x35, 0x29, 0x43, 0x28, 0x36, 0x29,\n\t// Bytes 1a80 - 1abf\n\t0x43, 0x28, 0x37, 0x29, 0x43, 0x28, 0x38, 0x29,\n\t0x43, 0x28, 0x39, 0x29, 0x43, 0x28, 0x41, 0x29,\n\t0x43, 0x28, 0x42, 0x29, 0x43, 0x28, 0x43, 0x29,\n\t0x43, 0x28, 0x44, 0x29, 0x43, 0x28, 0x45, 0x29,\n\t0x43, 0x28, 0x46, 0x29, 0x43, 0x28, 0x47, 0x29,\n\t0x43, 0x28, 0x48, 0x29, 0x43, 0x28, 0x49, 0x29,\n\t0x43, 0x28, 0x4A, 0x29, 0x43, 0x28, 0x4B, 0x29,\n\t0x43, 0x28, 0x4C, 0x29, 0x43, 0x28, 0x4D, 0x29,\n\t// Bytes 1ac0 - 1aff\n\t0x43, 0x28, 0x4E, 0x29, 0x43, 0x28, 0x4F, 0x29,\n\t0x43, 0x28, 0x50, 0x29, 0x43, 0x28, 0x51, 0x29,\n\t0x43, 0x28, 0x52, 0x29, 0x43, 0x28, 0x53, 0x29,\n\t0x43, 0x28, 0x54, 0x29, 0x43, 0x28, 0x55, 0x29,\n\t0x43, 0x28, 0x56, 0x29, 0x43, 0x28, 0x57, 0x29,\n\t0x43, 0x28, 0x58, 0x29, 0x43, 0x28, 0x59, 0x29,\n\t0x43, 0x28, 0x5A, 0x29, 0x43, 0x28, 0x61, 0x29,\n\t0x43, 0x28, 0x62, 0x29, 0x43, 0x28, 0x63, 0x29,\n\t// Bytes 1b00 - 1b3f\n\t0x43, 0x28, 0x64, 0x29, 0x43, 0x28, 0x65, 0x29,\n\t0x43, 0x28, 0x66, 0x29, 0x43, 0x28, 0x67, 0x29,\n\t0x43, 0x28, 0x68, 0x29, 0x43, 0x28, 0x69, 0x29,\n\t0x43, 0x28, 0x6A, 0x29, 0x43, 0x28, 0x6B, 0x29,\n\t0x43, 0x28, 0x6C, 0x29, 0x43, 0x28, 0x6D, 0x29,\n\t0x43, 0x28, 0x6E, 0x29, 0x43, 0x28, 0x6F, 0x29,\n\t0x43, 0x28, 0x70, 0x29, 0x43, 0x28, 0x71, 0x29,\n\t0x43, 0x28, 0x72, 0x29, 0x43, 0x28, 0x73, 0x29,\n\t// Bytes 1b40 - 1b7f\n\t0x43, 0x28, 0x74, 0x29, 0x43, 0x28, 0x75, 0x29,\n\t0x43, 0x28, 0x76, 0x29, 0x43, 0x28, 0x77, 0x29,\n\t0x43, 0x28, 0x78, 0x29, 0x43, 0x28, 0x79, 0x29,\n\t0x43, 0x28, 0x7A, 0x29, 0x43, 0x2E, 0x2E, 0x2E,\n\t0x43, 0x31, 0x30, 0x2E, 0x43, 0x31, 0x31, 0x2E,\n\t0x43, 0x31, 0x32, 0x2E, 0x43, 0x31, 0x33, 0x2E,\n\t0x43, 0x31, 0x34, 0x2E, 0x43, 0x31, 0x35, 0x2E,\n\t0x43, 0x31, 0x36, 0x2E, 0x43, 0x31, 0x37, 0x2E,\n\t// Bytes 1b80 - 1bbf\n\t0x43, 0x31, 0x38, 0x2E, 0x43, 0x31, 0x39, 0x2E,\n\t0x43, 0x32, 0x30, 0x2E, 0x43, 0x3A, 0x3A, 0x3D,\n\t0x43, 0x3D, 0x3D, 0x3D, 0x43, 0x43, 0x6F, 0x2E,\n\t0x43, 0x46, 0x41, 0x58, 0x43, 0x47, 0x48, 0x7A,\n\t0x43, 0x47, 0x50, 0x61, 0x43, 0x49, 0x49, 0x49,\n\t0x43, 0x4C, 0x54, 0x44, 0x43, 0x4C, 0xC2, 0xB7,\n\t0x43, 0x4D, 0x48, 0x7A, 0x43, 0x4D, 0x50, 0x61,\n\t0x43, 0x4D, 0xCE, 0xA9, 0x43, 0x50, 0x50, 0x4D,\n\t// Bytes 1bc0 - 1bff\n\t0x43, 0x50, 0x50, 0x56, 0x43, 0x50, 0x54, 0x45,\n\t0x43, 0x54, 0x45, 0x4C, 0x43, 0x54, 0x48, 0x7A,\n\t0x43, 0x56, 0x49, 0x49, 0x43, 0x58, 0x49, 0x49,\n\t0x43, 0x61, 0x2F, 0x63, 0x43, 0x61, 0x2F, 0x73,\n\t0x43, 0x61, 0xCA, 0xBE, 0x43, 0x62, 0x61, 0x72,\n\t0x43, 0x63, 0x2F, 0x6F, 0x43, 0x63, 0x2F, 0x75,\n\t0x43, 0x63, 0x61, 0x6C, 0x43, 0x63, 0x6D, 0x32,\n\t0x43, 0x63, 0x6D, 0x33, 0x43, 0x64, 0x6D, 0x32,\n\t// Bytes 1c00 - 1c3f\n\t0x43, 0x64, 0x6D, 0x33, 0x43, 0x65, 0x72, 0x67,\n\t0x43, 0x66, 0x66, 0x69, 0x43, 0x66, 0x66, 0x6C,\n\t0x43, 0x67, 0x61, 0x6C, 0x43, 0x68, 0x50, 0x61,\n\t0x43, 0x69, 0x69, 0x69, 0x43, 0x6B, 0x48, 0x7A,\n\t0x43, 0x6B, 0x50, 0x61, 0x43, 0x6B, 0x6D, 0x32,\n\t0x43, 0x6B, 0x6D, 0x33, 0x43, 0x6B, 0xCE, 0xA9,\n\t0x43, 0x6C, 0x6F, 0x67, 0x43, 0x6C, 0xC2, 0xB7,\n\t0x43, 0x6D, 0x69, 0x6C, 0x43, 0x6D, 0x6D, 0x32,\n\t// Bytes 1c40 - 1c7f\n\t0x43, 0x6D, 0x6D, 0x33, 0x43, 0x6D, 0x6F, 0x6C,\n\t0x43, 0x72, 0x61, 0x64, 0x43, 0x76, 0x69, 0x69,\n\t0x43, 0x78, 0x69, 0x69, 0x43, 0xC2, 0xB0, 0x43,\n\t0x43, 0xC2, 0xB0, 0x46, 0x43, 0xCA, 0xBC, 0x6E,\n\t0x43, 0xCE, 0xBC, 0x41, 0x43, 0xCE, 0xBC, 0x46,\n\t0x43, 0xCE, 0xBC, 0x56, 0x43, 0xCE, 0xBC, 0x57,\n\t0x43, 0xCE, 0xBC, 0x67, 0x43, 0xCE, 0xBC, 0x6C,\n\t0x43, 0xCE, 0xBC, 0x6D, 0x43, 0xCE, 0xBC, 0x73,\n\t// Bytes 1c80 - 1cbf\n\t0x44, 0x28, 0x31, 0x30, 0x29, 0x44, 0x28, 0x31,\n\t0x31, 0x29, 0x44, 0x28, 0x31, 0x32, 0x29, 0x44,\n\t0x28, 0x31, 0x33, 0x29, 0x44, 0x28, 0x31, 0x34,\n\t0x29, 0x44, 0x28, 0x31, 0x35, 0x29, 0x44, 0x28,\n\t0x31, 0x36, 0x29, 0x44, 0x28, 0x31, 0x37, 0x29,\n\t0x44, 0x28, 0x31, 0x38, 0x29, 0x44, 0x28, 0x31,\n\t0x39, 0x29, 0x44, 0x28, 0x32, 0x30, 0x29, 0x44,\n\t0x30, 0xE7, 0x82, 0xB9, 0x44, 0x31, 0xE2, 0x81,\n\t// Bytes 1cc0 - 1cff\n\t0x84, 0x44, 0x31, 0xE6, 0x97, 0xA5, 0x44, 0x31,\n\t0xE6, 0x9C, 0x88, 0x44, 0x31, 0xE7, 0x82, 0xB9,\n\t0x44, 0x32, 0xE6, 0x97, 0xA5, 0x44, 0x32, 0xE6,\n\t0x9C, 0x88, 0x44, 0x32, 0xE7, 0x82, 0xB9, 0x44,\n\t0x33, 0xE6, 0x97, 0xA5, 0x44, 0x33, 0xE6, 0x9C,\n\t0x88, 0x44, 0x33, 0xE7, 0x82, 0xB9, 0x44, 0x34,\n\t0xE6, 0x97, 0xA5, 0x44, 0x34, 0xE6, 0x9C, 0x88,\n\t0x44, 0x34, 0xE7, 0x82, 0xB9, 0x44, 0x35, 0xE6,\n\t// Bytes 1d00 - 1d3f\n\t0x97, 0xA5, 0x44, 0x35, 0xE6, 0x9C, 0x88, 0x44,\n\t0x35, 0xE7, 0x82, 0xB9, 0x44, 0x36, 0xE6, 0x97,\n\t0xA5, 0x44, 0x36, 0xE6, 0x9C, 0x88, 0x44, 0x36,\n\t0xE7, 0x82, 0xB9, 0x44, 0x37, 0xE6, 0x97, 0xA5,\n\t0x44, 0x37, 0xE6, 0x9C, 0x88, 0x44, 0x37, 0xE7,\n\t0x82, 0xB9, 0x44, 0x38, 0xE6, 0x97, 0xA5, 0x44,\n\t0x38, 0xE6, 0x9C, 0x88, 0x44, 0x38, 0xE7, 0x82,\n\t0xB9, 0x44, 0x39, 0xE6, 0x97, 0xA5, 0x44, 0x39,\n\t// Bytes 1d40 - 1d7f\n\t0xE6, 0x9C, 0x88, 0x44, 0x39, 0xE7, 0x82, 0xB9,\n\t0x44, 0x56, 0x49, 0x49, 0x49, 0x44, 0x61, 0x2E,\n\t0x6D, 0x2E, 0x44, 0x6B, 0x63, 0x61, 0x6C, 0x44,\n\t0x70, 0x2E, 0x6D, 0x2E, 0x44, 0x76, 0x69, 0x69,\n\t0x69, 0x44, 0xD5, 0xA5, 0xD6, 0x82, 0x44, 0xD5,\n\t0xB4, 0xD5, 0xA5, 0x44, 0xD5, 0xB4, 0xD5, 0xAB,\n\t0x44, 0xD5, 0xB4, 0xD5, 0xAD, 0x44, 0xD5, 0xB4,\n\t0xD5, 0xB6, 0x44, 0xD5, 0xBE, 0xD5, 0xB6, 0x44,\n\t// Bytes 1d80 - 1dbf\n\t0xD7, 0x90, 0xD7, 0x9C, 0x44, 0xD8, 0xA7, 0xD9,\n\t0xB4, 0x44, 0xD8, 0xA8, 0xD8, 0xAC, 0x44, 0xD8,\n\t0xA8, 0xD8, 0xAD, 0x44, 0xD8, 0xA8, 0xD8, 0xAE,\n\t0x44, 0xD8, 0xA8, 0xD8, 0xB1, 0x44, 0xD8, 0xA8,\n\t0xD8, 0xB2, 0x44, 0xD8, 0xA8, 0xD9, 0x85, 0x44,\n\t0xD8, 0xA8, 0xD9, 0x86, 0x44, 0xD8, 0xA8, 0xD9,\n\t0x87, 0x44, 0xD8, 0xA8, 0xD9, 0x89, 0x44, 0xD8,\n\t0xA8, 0xD9, 0x8A, 0x44, 0xD8, 0xAA, 0xD8, 0xAC,\n\t// Bytes 1dc0 - 1dff\n\t0x44, 0xD8, 0xAA, 0xD8, 0xAD, 0x44, 0xD8, 0xAA,\n\t0xD8, 0xAE, 0x44, 0xD8, 0xAA, 0xD8, 0xB1, 0x44,\n\t0xD8, 0xAA, 0xD8, 0xB2, 0x44, 0xD8, 0xAA, 0xD9,\n\t0x85, 0x44, 0xD8, 0xAA, 0xD9, 0x86, 0x44, 0xD8,\n\t0xAA, 0xD9, 0x87, 0x44, 0xD8, 0xAA, 0xD9, 0x89,\n\t0x44, 0xD8, 0xAA, 0xD9, 0x8A, 0x44, 0xD8, 0xAB,\n\t0xD8, 0xAC, 0x44, 0xD8, 0xAB, 0xD8, 0xB1, 0x44,\n\t0xD8, 0xAB, 0xD8, 0xB2, 0x44, 0xD8, 0xAB, 0xD9,\n\t// Bytes 1e00 - 1e3f\n\t0x85, 0x44, 0xD8, 0xAB, 0xD9, 0x86, 0x44, 0xD8,\n\t0xAB, 0xD9, 0x87, 0x44, 0xD8, 0xAB, 0xD9, 0x89,\n\t0x44, 0xD8, 0xAB, 0xD9, 0x8A, 0x44, 0xD8, 0xAC,\n\t0xD8, 0xAD, 0x44, 0xD8, 0xAC, 0xD9, 0x85, 0x44,\n\t0xD8, 0xAC, 0xD9, 0x89, 0x44, 0xD8, 0xAC, 0xD9,\n\t0x8A, 0x44, 0xD8, 0xAD, 0xD8, 0xAC, 0x44, 0xD8,\n\t0xAD, 0xD9, 0x85, 0x44, 0xD8, 0xAD, 0xD9, 0x89,\n\t0x44, 0xD8, 0xAD, 0xD9, 0x8A, 0x44, 0xD8, 0xAE,\n\t// Bytes 1e40 - 1e7f\n\t0xD8, 0xAC, 0x44, 0xD8, 0xAE, 0xD8, 0xAD, 0x44,\n\t0xD8, 0xAE, 0xD9, 0x85, 0x44, 0xD8, 0xAE, 0xD9,\n\t0x89, 0x44, 0xD8, 0xAE, 0xD9, 0x8A, 0x44, 0xD8,\n\t0xB3, 0xD8, 0xAC, 0x44, 0xD8, 0xB3, 0xD8, 0xAD,\n\t0x44, 0xD8, 0xB3, 0xD8, 0xAE, 0x44, 0xD8, 0xB3,\n\t0xD8, 0xB1, 0x44, 0xD8, 0xB3, 0xD9, 0x85, 0x44,\n\t0xD8, 0xB3, 0xD9, 0x87, 0x44, 0xD8, 0xB3, 0xD9,\n\t0x89, 0x44, 0xD8, 0xB3, 0xD9, 0x8A, 0x44, 0xD8,\n\t// Bytes 1e80 - 1ebf\n\t0xB4, 0xD8, 0xAC, 0x44, 0xD8, 0xB4, 0xD8, 0xAD,\n\t0x44, 0xD8, 0xB4, 0xD8, 0xAE, 0x44, 0xD8, 0xB4,\n\t0xD8, 0xB1, 0x44, 0xD8, 0xB4, 0xD9, 0x85, 0x44,\n\t0xD8, 0xB4, 0xD9, 0x87, 0x44, 0xD8, 0xB4, 0xD9,\n\t0x89, 0x44, 0xD8, 0xB4, 0xD9, 0x8A, 0x44, 0xD8,\n\t0xB5, 0xD8, 0xAD, 0x44, 0xD8, 0xB5, 0xD8, 0xAE,\n\t0x44, 0xD8, 0xB5, 0xD8, 0xB1, 0x44, 0xD8, 0xB5,\n\t0xD9, 0x85, 0x44, 0xD8, 0xB5, 0xD9, 0x89, 0x44,\n\t// Bytes 1ec0 - 1eff\n\t0xD8, 0xB5, 0xD9, 0x8A, 0x44, 0xD8, 0xB6, 0xD8,\n\t0xAC, 0x44, 0xD8, 0xB6, 0xD8, 0xAD, 0x44, 0xD8,\n\t0xB6, 0xD8, 0xAE, 0x44, 0xD8, 0xB6, 0xD8, 0xB1,\n\t0x44, 0xD8, 0xB6, 0xD9, 0x85, 0x44, 0xD8, 0xB6,\n\t0xD9, 0x89, 0x44, 0xD8, 0xB6, 0xD9, 0x8A, 0x44,\n\t0xD8, 0xB7, 0xD8, 0xAD, 0x44, 0xD8, 0xB7, 0xD9,\n\t0x85, 0x44, 0xD8, 0xB7, 0xD9, 0x89, 0x44, 0xD8,\n\t0xB7, 0xD9, 0x8A, 0x44, 0xD8, 0xB8, 0xD9, 0x85,\n\t// Bytes 1f00 - 1f3f\n\t0x44, 0xD8, 0xB9, 0xD8, 0xAC, 0x44, 0xD8, 0xB9,\n\t0xD9, 0x85, 0x44, 0xD8, 0xB9, 0xD9, 0x89, 0x44,\n\t0xD8, 0xB9, 0xD9, 0x8A, 0x44, 0xD8, 0xBA, 0xD8,\n\t0xAC, 0x44, 0xD8, 0xBA, 0xD9, 0x85, 0x44, 0xD8,\n\t0xBA, 0xD9, 0x89, 0x44, 0xD8, 0xBA, 0xD9, 0x8A,\n\t0x44, 0xD9, 0x81, 0xD8, 0xAC, 0x44, 0xD9, 0x81,\n\t0xD8, 0xAD, 0x44, 0xD9, 0x81, 0xD8, 0xAE, 0x44,\n\t0xD9, 0x81, 0xD9, 0x85, 0x44, 0xD9, 0x81, 0xD9,\n\t// Bytes 1f40 - 1f7f\n\t0x89, 0x44, 0xD9, 0x81, 0xD9, 0x8A, 0x44, 0xD9,\n\t0x82, 0xD8, 0xAD, 0x44, 0xD9, 0x82, 0xD9, 0x85,\n\t0x44, 0xD9, 0x82, 0xD9, 0x89, 0x44, 0xD9, 0x82,\n\t0xD9, 0x8A, 0x44, 0xD9, 0x83, 0xD8, 0xA7, 0x44,\n\t0xD9, 0x83, 0xD8, 0xAC, 0x44, 0xD9, 0x83, 0xD8,\n\t0xAD, 0x44, 0xD9, 0x83, 0xD8, 0xAE, 0x44, 0xD9,\n\t0x83, 0xD9, 0x84, 0x44, 0xD9, 0x83, 0xD9, 0x85,\n\t0x44, 0xD9, 0x83, 0xD9, 0x89, 0x44, 0xD9, 0x83,\n\t// Bytes 1f80 - 1fbf\n\t0xD9, 0x8A, 0x44, 0xD9, 0x84, 0xD8, 0xA7, 0x44,\n\t0xD9, 0x84, 0xD8, 0xAC, 0x44, 0xD9, 0x84, 0xD8,\n\t0xAD, 0x44, 0xD9, 0x84, 0xD8, 0xAE, 0x44, 0xD9,\n\t0x84, 0xD9, 0x85, 0x44, 0xD9, 0x84, 0xD9, 0x87,\n\t0x44, 0xD9, 0x84, 0xD9, 0x89, 0x44, 0xD9, 0x84,\n\t0xD9, 0x8A, 0x44, 0xD9, 0x85, 0xD8, 0xA7, 0x44,\n\t0xD9, 0x85, 0xD8, 0xAC, 0x44, 0xD9, 0x85, 0xD8,\n\t0xAD, 0x44, 0xD9, 0x85, 0xD8, 0xAE, 0x44, 0xD9,\n\t// Bytes 1fc0 - 1fff\n\t0x85, 0xD9, 0x85, 0x44, 0xD9, 0x85, 0xD9, 0x89,\n\t0x44, 0xD9, 0x85, 0xD9, 0x8A, 0x44, 0xD9, 0x86,\n\t0xD8, 0xAC, 0x44, 0xD9, 0x86, 0xD8, 0xAD, 0x44,\n\t0xD9, 0x86, 0xD8, 0xAE, 0x44, 0xD9, 0x86, 0xD8,\n\t0xB1, 0x44, 0xD9, 0x86, 0xD8, 0xB2, 0x44, 0xD9,\n\t0x86, 0xD9, 0x85, 0x44, 0xD9, 0x86, 0xD9, 0x86,\n\t0x44, 0xD9, 0x86, 0xD9, 0x87, 0x44, 0xD9, 0x86,\n\t0xD9, 0x89, 0x44, 0xD9, 0x86, 0xD9, 0x8A, 0x44,\n\t// Bytes 2000 - 203f\n\t0xD9, 0x87, 0xD8, 0xAC, 0x44, 0xD9, 0x87, 0xD9,\n\t0x85, 0x44, 0xD9, 0x87, 0xD9, 0x89, 0x44, 0xD9,\n\t0x87, 0xD9, 0x8A, 0x44, 0xD9, 0x88, 0xD9, 0xB4,\n\t0x44, 0xD9, 0x8A, 0xD8, 0xAC, 0x44, 0xD9, 0x8A,\n\t0xD8, 0xAD, 0x44, 0xD9, 0x8A, 0xD8, 0xAE, 0x44,\n\t0xD9, 0x8A, 0xD8, 0xB1, 0x44, 0xD9, 0x8A, 0xD8,\n\t0xB2, 0x44, 0xD9, 0x8A, 0xD9, 0x85, 0x44, 0xD9,\n\t0x8A, 0xD9, 0x86, 0x44, 0xD9, 0x8A, 0xD9, 0x87,\n\t// Bytes 2040 - 207f\n\t0x44, 0xD9, 0x8A, 0xD9, 0x89, 0x44, 0xD9, 0x8A,\n\t0xD9, 0x8A, 0x44, 0xD9, 0x8A, 0xD9, 0xB4, 0x44,\n\t0xDB, 0x87, 0xD9, 0xB4, 0x45, 0x28, 0xE1, 0x84,\n\t0x80, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x82, 0x29,\n\t0x45, 0x28, 0xE1, 0x84, 0x83, 0x29, 0x45, 0x28,\n\t0xE1, 0x84, 0x85, 0x29, 0x45, 0x28, 0xE1, 0x84,\n\t0x86, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x87, 0x29,\n\t0x45, 0x28, 0xE1, 0x84, 0x89, 0x29, 0x45, 0x28,\n\t// Bytes 2080 - 20bf\n\t0xE1, 0x84, 0x8B, 0x29, 0x45, 0x28, 0xE1, 0x84,\n\t0x8C, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x8E, 0x29,\n\t0x45, 0x28, 0xE1, 0x84, 0x8F, 0x29, 0x45, 0x28,\n\t0xE1, 0x84, 0x90, 0x29, 0x45, 0x28, 0xE1, 0x84,\n\t0x91, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x92, 0x29,\n\t0x45, 0x28, 0xE4, 0xB8, 0x80, 0x29, 0x45, 0x28,\n\t0xE4, 0xB8, 0x83, 0x29, 0x45, 0x28, 0xE4, 0xB8,\n\t0x89, 0x29, 0x45, 0x28, 0xE4, 0xB9, 0x9D, 0x29,\n\t// Bytes 20c0 - 20ff\n\t0x45, 0x28, 0xE4, 0xBA, 0x8C, 0x29, 0x45, 0x28,\n\t0xE4, 0xBA, 0x94, 0x29, 0x45, 0x28, 0xE4, 0xBB,\n\t0xA3, 0x29, 0x45, 0x28, 0xE4, 0xBC, 0x81, 0x29,\n\t0x45, 0x28, 0xE4, 0xBC, 0x91, 0x29, 0x45, 0x28,\n\t0xE5, 0x85, 0xAB, 0x29, 0x45, 0x28, 0xE5, 0x85,\n\t0xAD, 0x29, 0x45, 0x28, 0xE5, 0x8A, 0xB4, 0x29,\n\t0x45, 0x28, 0xE5, 0x8D, 0x81, 0x29, 0x45, 0x28,\n\t0xE5, 0x8D, 0x94, 0x29, 0x45, 0x28, 0xE5, 0x90,\n\t// Bytes 2100 - 213f\n\t0x8D, 0x29, 0x45, 0x28, 0xE5, 0x91, 0xBC, 0x29,\n\t0x45, 0x28, 0xE5, 0x9B, 0x9B, 0x29, 0x45, 0x28,\n\t0xE5, 0x9C, 0x9F, 0x29, 0x45, 0x28, 0xE5, 0xAD,\n\t0xA6, 0x29, 0x45, 0x28, 0xE6, 0x97, 0xA5, 0x29,\n\t0x45, 0x28, 0xE6, 0x9C, 0x88, 0x29, 0x45, 0x28,\n\t0xE6, 0x9C, 0x89, 0x29, 0x45, 0x28, 0xE6, 0x9C,\n\t0xA8, 0x29, 0x45, 0x28, 0xE6, 0xA0, 0xAA, 0x29,\n\t0x45, 0x28, 0xE6, 0xB0, 0xB4, 0x29, 0x45, 0x28,\n\t// Bytes 2140 - 217f\n\t0xE7, 0x81, 0xAB, 0x29, 0x45, 0x28, 0xE7, 0x89,\n\t0xB9, 0x29, 0x45, 0x28, 0xE7, 0x9B, 0xA3, 0x29,\n\t0x45, 0x28, 0xE7, 0xA4, 0xBE, 0x29, 0x45, 0x28,\n\t0xE7, 0xA5, 0x9D, 0x29, 0x45, 0x28, 0xE7, 0xA5,\n\t0xAD, 0x29, 0x45, 0x28, 0xE8, 0x87, 0xAA, 0x29,\n\t0x45, 0x28, 0xE8, 0x87, 0xB3, 0x29, 0x45, 0x28,\n\t0xE8, 0xB2, 0xA1, 0x29, 0x45, 0x28, 0xE8, 0xB3,\n\t0x87, 0x29, 0x45, 0x28, 0xE9, 0x87, 0x91, 0x29,\n\t// Bytes 2180 - 21bf\n\t0x45, 0x30, 0xE2, 0x81, 0x84, 0x33, 0x45, 0x31,\n\t0x30, 0xE6, 0x97, 0xA5, 0x45, 0x31, 0x30, 0xE6,\n\t0x9C, 0x88, 0x45, 0x31, 0x30, 0xE7, 0x82, 0xB9,\n\t0x45, 0x31, 0x31, 0xE6, 0x97, 0xA5, 0x45, 0x31,\n\t0x31, 0xE6, 0x9C, 0x88, 0x45, 0x31, 0x31, 0xE7,\n\t0x82, 0xB9, 0x45, 0x31, 0x32, 0xE6, 0x97, 0xA5,\n\t0x45, 0x31, 0x32, 0xE6, 0x9C, 0x88, 0x45, 0x31,\n\t0x32, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x33, 0xE6,\n\t// Bytes 21c0 - 21ff\n\t0x97, 0xA5, 0x45, 0x31, 0x33, 0xE7, 0x82, 0xB9,\n\t0x45, 0x31, 0x34, 0xE6, 0x97, 0xA5, 0x45, 0x31,\n\t0x34, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x35, 0xE6,\n\t0x97, 0xA5, 0x45, 0x31, 0x35, 0xE7, 0x82, 0xB9,\n\t0x45, 0x31, 0x36, 0xE6, 0x97, 0xA5, 0x45, 0x31,\n\t0x36, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x37, 0xE6,\n\t0x97, 0xA5, 0x45, 0x31, 0x37, 0xE7, 0x82, 0xB9,\n\t0x45, 0x31, 0x38, 0xE6, 0x97, 0xA5, 0x45, 0x31,\n\t// Bytes 2200 - 223f\n\t0x38, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x39, 0xE6,\n\t0x97, 0xA5, 0x45, 0x31, 0x39, 0xE7, 0x82, 0xB9,\n\t0x45, 0x31, 0xE2, 0x81, 0x84, 0x32, 0x45, 0x31,\n\t0xE2, 0x81, 0x84, 0x33, 0x45, 0x31, 0xE2, 0x81,\n\t0x84, 0x34, 0x45, 0x31, 0xE2, 0x81, 0x84, 0x35,\n\t0x45, 0x31, 0xE2, 0x81, 0x84, 0x36, 0x45, 0x31,\n\t0xE2, 0x81, 0x84, 0x37, 0x45, 0x31, 0xE2, 0x81,\n\t0x84, 0x38, 0x45, 0x31, 0xE2, 0x81, 0x84, 0x39,\n\t// Bytes 2240 - 227f\n\t0x45, 0x32, 0x30, 0xE6, 0x97, 0xA5, 0x45, 0x32,\n\t0x30, 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x31, 0xE6,\n\t0x97, 0xA5, 0x45, 0x32, 0x31, 0xE7, 0x82, 0xB9,\n\t0x45, 0x32, 0x32, 0xE6, 0x97, 0xA5, 0x45, 0x32,\n\t0x32, 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x33, 0xE6,\n\t0x97, 0xA5, 0x45, 0x32, 0x33, 0xE7, 0x82, 0xB9,\n\t0x45, 0x32, 0x34, 0xE6, 0x97, 0xA5, 0x45, 0x32,\n\t0x34, 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x35, 0xE6,\n\t// Bytes 2280 - 22bf\n\t0x97, 0xA5, 0x45, 0x32, 0x36, 0xE6, 0x97, 0xA5,\n\t0x45, 0x32, 0x37, 0xE6, 0x97, 0xA5, 0x45, 0x32,\n\t0x38, 0xE6, 0x97, 0xA5, 0x45, 0x32, 0x39, 0xE6,\n\t0x97, 0xA5, 0x45, 0x32, 0xE2, 0x81, 0x84, 0x33,\n\t0x45, 0x32, 0xE2, 0x81, 0x84, 0x35, 0x45, 0x33,\n\t0x30, 0xE6, 0x97, 0xA5, 0x45, 0x33, 0x31, 0xE6,\n\t0x97, 0xA5, 0x45, 0x33, 0xE2, 0x81, 0x84, 0x34,\n\t0x45, 0x33, 0xE2, 0x81, 0x84, 0x35, 0x45, 0x33,\n\t// Bytes 22c0 - 22ff\n\t0xE2, 0x81, 0x84, 0x38, 0x45, 0x34, 0xE2, 0x81,\n\t0x84, 0x35, 0x45, 0x35, 0xE2, 0x81, 0x84, 0x36,\n\t0x45, 0x35, 0xE2, 0x81, 0x84, 0x38, 0x45, 0x37,\n\t0xE2, 0x81, 0x84, 0x38, 0x45, 0x41, 0xE2, 0x88,\n\t0x95, 0x6D, 0x45, 0x56, 0xE2, 0x88, 0x95, 0x6D,\n\t0x45, 0x6D, 0xE2, 0x88, 0x95, 0x73, 0x46, 0x31,\n\t0xE2, 0x81, 0x84, 0x31, 0x30, 0x46, 0x43, 0xE2,\n\t0x88, 0x95, 0x6B, 0x67, 0x46, 0x6D, 0xE2, 0x88,\n\t// Bytes 2300 - 233f\n\t0x95, 0x73, 0x32, 0x46, 0xD8, 0xA8, 0xD8, 0xAD,\n\t0xD9, 0x8A, 0x46, 0xD8, 0xA8, 0xD8, 0xAE, 0xD9,\n\t0x8A, 0x46, 0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x85,\n\t0x46, 0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x89, 0x46,\n\t0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD8,\n\t0xAA, 0xD8, 0xAD, 0xD8, 0xAC, 0x46, 0xD8, 0xAA,\n\t0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD8, 0xAA, 0xD8,\n\t0xAE, 0xD9, 0x85, 0x46, 0xD8, 0xAA, 0xD8, 0xAE,\n\t// Bytes 2340 - 237f\n\t0xD9, 0x89, 0x46, 0xD8, 0xAA, 0xD8, 0xAE, 0xD9,\n\t0x8A, 0x46, 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAC,\n\t0x46, 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAD, 0x46,\n\t0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAE, 0x46, 0xD8,\n\t0xAA, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, 0xAA,\n\t0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xAC, 0xD8,\n\t0xAD, 0xD9, 0x89, 0x46, 0xD8, 0xAC, 0xD8, 0xAD,\n\t0xD9, 0x8A, 0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD8,\n\t// Bytes 2380 - 23bf\n\t0xAD, 0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD9, 0x89,\n\t0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD9, 0x8A, 0x46,\n\t0xD8, 0xAD, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD8,\n\t0xAD, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, 0xAD,\n\t0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xB3, 0xD8,\n\t0xAC, 0xD8, 0xAD, 0x46, 0xD8, 0xB3, 0xD8, 0xAC,\n\t0xD9, 0x89, 0x46, 0xD8, 0xB3, 0xD8, 0xAD, 0xD8,\n\t0xAC, 0x46, 0xD8, 0xB3, 0xD8, 0xAE, 0xD9, 0x89,\n\t// Bytes 23c0 - 23ff\n\t0x46, 0xD8, 0xB3, 0xD8, 0xAE, 0xD9, 0x8A, 0x46,\n\t0xD8, 0xB3, 0xD9, 0x85, 0xD8, 0xAC, 0x46, 0xD8,\n\t0xB3, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD8, 0xB3,\n\t0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD8, 0xB4, 0xD8,\n\t0xAC, 0xD9, 0x8A, 0x46, 0xD8, 0xB4, 0xD8, 0xAD,\n\t0xD9, 0x85, 0x46, 0xD8, 0xB4, 0xD8, 0xAD, 0xD9,\n\t0x8A, 0x46, 0xD8, 0xB4, 0xD9, 0x85, 0xD8, 0xAE,\n\t0x46, 0xD8, 0xB4, 0xD9, 0x85, 0xD9, 0x85, 0x46,\n\t// Bytes 2400 - 243f\n\t0xD8, 0xB5, 0xD8, 0xAD, 0xD8, 0xAD, 0x46, 0xD8,\n\t0xB5, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD8, 0xB5,\n\t0xD9, 0x84, 0xD9, 0x89, 0x46, 0xD8, 0xB5, 0xD9,\n\t0x84, 0xDB, 0x92, 0x46, 0xD8, 0xB5, 0xD9, 0x85,\n\t0xD9, 0x85, 0x46, 0xD8, 0xB6, 0xD8, 0xAD, 0xD9,\n\t0x89, 0x46, 0xD8, 0xB6, 0xD8, 0xAD, 0xD9, 0x8A,\n\t0x46, 0xD8, 0xB6, 0xD8, 0xAE, 0xD9, 0x85, 0x46,\n\t0xD8, 0xB7, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD8,\n\t// Bytes 2440 - 247f\n\t0xB7, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD8, 0xB7,\n\t0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xB9, 0xD8,\n\t0xAC, 0xD9, 0x85, 0x46, 0xD8, 0xB9, 0xD9, 0x85,\n\t0xD9, 0x85, 0x46, 0xD8, 0xB9, 0xD9, 0x85, 0xD9,\n\t0x89, 0x46, 0xD8, 0xB9, 0xD9, 0x85, 0xD9, 0x8A,\n\t0x46, 0xD8, 0xBA, 0xD9, 0x85, 0xD9, 0x85, 0x46,\n\t0xD8, 0xBA, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8,\n\t0xBA, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x81,\n\t// Bytes 2480 - 24bf\n\t0xD8, 0xAE, 0xD9, 0x85, 0x46, 0xD9, 0x81, 0xD9,\n\t0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x82, 0xD9, 0x84,\n\t0xDB, 0x92, 0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD8,\n\t0xAD, 0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD9, 0x85,\n\t0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD9, 0x8A, 0x46,\n\t0xD9, 0x83, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD9,\n\t0x83, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x84,\n\t0xD8, 0xAC, 0xD8, 0xAC, 0x46, 0xD9, 0x84, 0xD8,\n\t// Bytes 24c0 - 24ff\n\t0xAC, 0xD9, 0x85, 0x46, 0xD9, 0x84, 0xD8, 0xAC,\n\t0xD9, 0x8A, 0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9,\n\t0x85, 0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9, 0x89,\n\t0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9, 0x8A, 0x46,\n\t0xD9, 0x84, 0xD8, 0xAE, 0xD9, 0x85, 0x46, 0xD9,\n\t0x84, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD9, 0x84,\n\t0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x85, 0xD8,\n\t0xAC, 0xD8, 0xAD, 0x46, 0xD9, 0x85, 0xD8, 0xAC,\n\t// Bytes 2500 - 253f\n\t0xD8, 0xAE, 0x46, 0xD9, 0x85, 0xD8, 0xAC, 0xD9,\n\t0x85, 0x46, 0xD9, 0x85, 0xD8, 0xAC, 0xD9, 0x8A,\n\t0x46, 0xD9, 0x85, 0xD8, 0xAD, 0xD8, 0xAC, 0x46,\n\t0xD9, 0x85, 0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD9,\n\t0x85, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD9, 0x85,\n\t0xD8, 0xAE, 0xD8, 0xAC, 0x46, 0xD9, 0x85, 0xD8,\n\t0xAE, 0xD9, 0x85, 0x46, 0xD9, 0x85, 0xD8, 0xAE,\n\t0xD9, 0x8A, 0x46, 0xD9, 0x85, 0xD9, 0x85, 0xD9,\n\t// Bytes 2540 - 257f\n\t0x8A, 0x46, 0xD9, 0x86, 0xD8, 0xAC, 0xD8, 0xAD,\n\t0x46, 0xD9, 0x86, 0xD8, 0xAC, 0xD9, 0x85, 0x46,\n\t0xD9, 0x86, 0xD8, 0xAC, 0xD9, 0x89, 0x46, 0xD9,\n\t0x86, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD9, 0x86,\n\t0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD9, 0x86, 0xD8,\n\t0xAD, 0xD9, 0x89, 0x46, 0xD9, 0x86, 0xD8, 0xAD,\n\t0xD9, 0x8A, 0x46, 0xD9, 0x86, 0xD9, 0x85, 0xD9,\n\t0x89, 0x46, 0xD9, 0x86, 0xD9, 0x85, 0xD9, 0x8A,\n\t// Bytes 2580 - 25bf\n\t0x46, 0xD9, 0x87, 0xD9, 0x85, 0xD8, 0xAC, 0x46,\n\t0xD9, 0x87, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD9,\n\t0x8A, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD9, 0x8A,\n\t0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD9, 0x8A, 0xD9,\n\t0x85, 0xD9, 0x85, 0x46, 0xD9, 0x8A, 0xD9, 0x85,\n\t0xD9, 0x8A, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8,\n\t0xA7, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAC,\n\t0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAD, 0x46,\n\t// Bytes 25c0 - 25ff\n\t0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAE, 0x46, 0xD9,\n\t0x8A, 0xD9, 0x94, 0xD8, 0xB1, 0x46, 0xD9, 0x8A,\n\t0xD9, 0x94, 0xD8, 0xB2, 0x46, 0xD9, 0x8A, 0xD9,\n\t0x94, 0xD9, 0x85, 0x46, 0xD9, 0x8A, 0xD9, 0x94,\n\t0xD9, 0x86, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9,\n\t0x87, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x88,\n\t0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x89, 0x46,\n\t0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x8A, 0x46, 0xD9,\n\t// Bytes 2600 - 263f\n\t0x8A, 0xD9, 0x94, 0xDB, 0x86, 0x46, 0xD9, 0x8A,\n\t0xD9, 0x94, 0xDB, 0x87, 0x46, 0xD9, 0x8A, 0xD9,\n\t0x94, 0xDB, 0x88, 0x46, 0xD9, 0x8A, 0xD9, 0x94,\n\t0xDB, 0x90, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xDB,\n\t0x95, 0x46, 0xE0, 0xB9, 0x8D, 0xE0, 0xB8, 0xB2,\n\t0x46, 0xE0, 0xBA, 0xAB, 0xE0, 0xBA, 0x99, 0x46,\n\t0xE0, 0xBA, 0xAB, 0xE0, 0xBA, 0xA1, 0x46, 0xE0,\n\t0xBB, 0x8D, 0xE0, 0xBA, 0xB2, 0x46, 0xE0, 0xBD,\n\t// Bytes 2640 - 267f\n\t0x80, 0xE0, 0xBE, 0xB5, 0x46, 0xE0, 0xBD, 0x82,\n\t0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBD, 0x8C, 0xE0,\n\t0xBE, 0xB7, 0x46, 0xE0, 0xBD, 0x91, 0xE0, 0xBE,\n\t0xB7, 0x46, 0xE0, 0xBD, 0x96, 0xE0, 0xBE, 0xB7,\n\t0x46, 0xE0, 0xBD, 0x9B, 0xE0, 0xBE, 0xB7, 0x46,\n\t0xE0, 0xBE, 0x90, 0xE0, 0xBE, 0xB5, 0x46, 0xE0,\n\t0xBE, 0x92, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE,\n\t0x9C, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xA1,\n\t// Bytes 2680 - 26bf\n\t0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xA6, 0xE0,\n\t0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xAB, 0xE0, 0xBE,\n\t0xB7, 0x46, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2,\n\t0x46, 0xE2, 0x80, 0xB5, 0xE2, 0x80, 0xB5, 0x46,\n\t0xE2, 0x88, 0xAB, 0xE2, 0x88, 0xAB, 0x46, 0xE2,\n\t0x88, 0xAE, 0xE2, 0x88, 0xAE, 0x46, 0xE3, 0x81,\n\t0xBB, 0xE3, 0x81, 0x8B, 0x46, 0xE3, 0x82, 0x88,\n\t0xE3, 0x82, 0x8A, 0x46, 0xE3, 0x82, 0xAD, 0xE3,\n\t// Bytes 26c0 - 26ff\n\t0x83, 0xAD, 0x46, 0xE3, 0x82, 0xB3, 0xE3, 0x82,\n\t0xB3, 0x46, 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0x88,\n\t0x46, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xB3, 0x46,\n\t0xE3, 0x83, 0x8A, 0xE3, 0x83, 0x8E, 0x46, 0xE3,\n\t0x83, 0x9B, 0xE3, 0x83, 0xB3, 0x46, 0xE3, 0x83,\n\t0x9F, 0xE3, 0x83, 0xAA, 0x46, 0xE3, 0x83, 0xAA,\n\t0xE3, 0x83, 0xA9, 0x46, 0xE3, 0x83, 0xAC, 0xE3,\n\t0x83, 0xA0, 0x46, 0xE5, 0xA4, 0xA7, 0xE6, 0xAD,\n\t// Bytes 2700 - 273f\n\t0xA3, 0x46, 0xE5, 0xB9, 0xB3, 0xE6, 0x88, 0x90,\n\t0x46, 0xE6, 0x98, 0x8E, 0xE6, 0xB2, 0xBB, 0x46,\n\t0xE6, 0x98, 0xAD, 0xE5, 0x92, 0x8C, 0x47, 0x72,\n\t0x61, 0x64, 0xE2, 0x88, 0x95, 0x73, 0x47, 0xE3,\n\t0x80, 0x94, 0x53, 0xE3, 0x80, 0x95, 0x48, 0x28,\n\t0xE1, 0x84, 0x80, 0xE1, 0x85, 0xA1, 0x29, 0x48,\n\t0x28, 0xE1, 0x84, 0x82, 0xE1, 0x85, 0xA1, 0x29,\n\t0x48, 0x28, 0xE1, 0x84, 0x83, 0xE1, 0x85, 0xA1,\n\t// Bytes 2740 - 277f\n\t0x29, 0x48, 0x28, 0xE1, 0x84, 0x85, 0xE1, 0x85,\n\t0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x86, 0xE1,\n\t0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x87,\n\t0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84,\n\t0x89, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1,\n\t0x84, 0x8B, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28,\n\t0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xA1, 0x29, 0x48,\n\t0x28, 0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xAE, 0x29,\n\t// Bytes 2780 - 27bf\n\t0x48, 0x28, 0xE1, 0x84, 0x8E, 0xE1, 0x85, 0xA1,\n\t0x29, 0x48, 0x28, 0xE1, 0x84, 0x8F, 0xE1, 0x85,\n\t0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x90, 0xE1,\n\t0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x91,\n\t0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84,\n\t0x92, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x72, 0x61,\n\t0x64, 0xE2, 0x88, 0x95, 0x73, 0x32, 0x48, 0xD8,\n\t0xA7, 0xD9, 0x83, 0xD8, 0xA8, 0xD8, 0xB1, 0x48,\n\t// Bytes 27c0 - 27ff\n\t0xD8, 0xA7, 0xD9, 0x84, 0xD9, 0x84, 0xD9, 0x87,\n\t0x48, 0xD8, 0xB1, 0xD8, 0xB3, 0xD9, 0x88, 0xD9,\n\t0x84, 0x48, 0xD8, 0xB1, 0xDB, 0x8C, 0xD8, 0xA7,\n\t0xD9, 0x84, 0x48, 0xD8, 0xB5, 0xD9, 0x84, 0xD8,\n\t0xB9, 0xD9, 0x85, 0x48, 0xD8, 0xB9, 0xD9, 0x84,\n\t0xD9, 0x8A, 0xD9, 0x87, 0x48, 0xD9, 0x85, 0xD8,\n\t0xAD, 0xD9, 0x85, 0xD8, 0xAF, 0x48, 0xD9, 0x88,\n\t0xD8, 0xB3, 0xD9, 0x84, 0xD9, 0x85, 0x49, 0xE2,\n\t// Bytes 2800 - 283f\n\t0x80, 0xB2, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2,\n\t0x49, 0xE2, 0x80, 0xB5, 0xE2, 0x80, 0xB5, 0xE2,\n\t0x80, 0xB5, 0x49, 0xE2, 0x88, 0xAB, 0xE2, 0x88,\n\t0xAB, 0xE2, 0x88, 0xAB, 0x49, 0xE2, 0x88, 0xAE,\n\t0xE2, 0x88, 0xAE, 0xE2, 0x88, 0xAE, 0x49, 0xE3,\n\t0x80, 0x94, 0xE4, 0xB8, 0x89, 0xE3, 0x80, 0x95,\n\t0x49, 0xE3, 0x80, 0x94, 0xE4, 0xBA, 0x8C, 0xE3,\n\t0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE5, 0x8B,\n\t// Bytes 2840 - 287f\n\t0x9D, 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94,\n\t0xE5, 0xAE, 0x89, 0xE3, 0x80, 0x95, 0x49, 0xE3,\n\t0x80, 0x94, 0xE6, 0x89, 0x93, 0xE3, 0x80, 0x95,\n\t0x49, 0xE3, 0x80, 0x94, 0xE6, 0x95, 0x97, 0xE3,\n\t0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE6, 0x9C,\n\t0xAC, 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94,\n\t0xE7, 0x82, 0xB9, 0xE3, 0x80, 0x95, 0x49, 0xE3,\n\t0x80, 0x94, 0xE7, 0x9B, 0x97, 0xE3, 0x80, 0x95,\n\t// Bytes 2880 - 28bf\n\t0x49, 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0xBC, 0xE3,\n\t0x83, 0xAB, 0x49, 0xE3, 0x82, 0xA4, 0xE3, 0x83,\n\t0xB3, 0xE3, 0x83, 0x81, 0x49, 0xE3, 0x82, 0xA6,\n\t0xE3, 0x82, 0xA9, 0xE3, 0x83, 0xB3, 0x49, 0xE3,\n\t0x82, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB9,\n\t0x49, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0xBC, 0xE3,\n\t0x83, 0xA0, 0x49, 0xE3, 0x82, 0xAB, 0xE3, 0x82,\n\t0xA4, 0xE3, 0x83, 0xAA, 0x49, 0xE3, 0x82, 0xB1,\n\t// Bytes 28c0 - 28ff\n\t0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xB9, 0x49, 0xE3,\n\t0x82, 0xB3, 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x8A,\n\t0x49, 0xE3, 0x82, 0xBB, 0xE3, 0x83, 0xB3, 0xE3,\n\t0x83, 0x81, 0x49, 0xE3, 0x82, 0xBB, 0xE3, 0x83,\n\t0xB3, 0xE3, 0x83, 0x88, 0x49, 0xE3, 0x83, 0x86,\n\t0xE3, 0x82, 0x99, 0xE3, 0x82, 0xB7, 0x49, 0xE3,\n\t0x83, 0x88, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB,\n\t0x49, 0xE3, 0x83, 0x8E, 0xE3, 0x83, 0x83, 0xE3,\n\t// Bytes 2900 - 293f\n\t0x83, 0x88, 0x49, 0xE3, 0x83, 0x8F, 0xE3, 0x82,\n\t0xA4, 0xE3, 0x83, 0x84, 0x49, 0xE3, 0x83, 0x92,\n\t0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB, 0x49, 0xE3,\n\t0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xB3,\n\t0x49, 0xE3, 0x83, 0x95, 0xE3, 0x83, 0xA9, 0xE3,\n\t0x83, 0xB3, 0x49, 0xE3, 0x83, 0x98, 0xE3, 0x82,\n\t0x9A, 0xE3, 0x82, 0xBD, 0x49, 0xE3, 0x83, 0x98,\n\t0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x84, 0x49, 0xE3,\n\t// Bytes 2940 - 297f\n\t0x83, 0x9B, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xAB,\n\t0x49, 0xE3, 0x83, 0x9B, 0xE3, 0x83, 0xBC, 0xE3,\n\t0x83, 0xB3, 0x49, 0xE3, 0x83, 0x9E, 0xE3, 0x82,\n\t0xA4, 0xE3, 0x83, 0xAB, 0x49, 0xE3, 0x83, 0x9E,\n\t0xE3, 0x83, 0x83, 0xE3, 0x83, 0x8F, 0x49, 0xE3,\n\t0x83, 0x9E, 0xE3, 0x83, 0xAB, 0xE3, 0x82, 0xAF,\n\t0x49, 0xE3, 0x83, 0xA4, 0xE3, 0x83, 0xBC, 0xE3,\n\t0x83, 0xAB, 0x49, 0xE3, 0x83, 0xA6, 0xE3, 0x82,\n\t// Bytes 2980 - 29bf\n\t0xA2, 0xE3, 0x83, 0xB3, 0x49, 0xE3, 0x83, 0xAF,\n\t0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, 0x4C, 0xE2,\n\t0x80, 0xB2, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2,\n\t0xE2, 0x80, 0xB2, 0x4C, 0xE2, 0x88, 0xAB, 0xE2,\n\t0x88, 0xAB, 0xE2, 0x88, 0xAB, 0xE2, 0x88, 0xAB,\n\t0x4C, 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0xAB, 0xE3,\n\t0x83, 0x95, 0xE3, 0x82, 0xA1, 0x4C, 0xE3, 0x82,\n\t0xA8, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xAB, 0xE3,\n\t// Bytes 29c0 - 29ff\n\t0x83, 0xBC, 0x4C, 0xE3, 0x82, 0xAB, 0xE3, 0x82,\n\t0x99, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xB3, 0x4C,\n\t0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0xE3, 0x83,\n\t0xB3, 0xE3, 0x83, 0x9E, 0x4C, 0xE3, 0x82, 0xAB,\n\t0xE3, 0x83, 0xA9, 0xE3, 0x83, 0x83, 0xE3, 0x83,\n\t0x88, 0x4C, 0xE3, 0x82, 0xAB, 0xE3, 0x83, 0xAD,\n\t0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, 0x4C, 0xE3,\n\t0x82, 0xAD, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0x8B,\n\t// Bytes 2a00 - 2a3f\n\t0xE3, 0x83, 0xBC, 0x4C, 0xE3, 0x82, 0xAD, 0xE3,\n\t0x83, 0xA5, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC,\n\t0x4C, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0xE3,\n\t0x83, 0xA9, 0xE3, 0x83, 0xA0, 0x4C, 0xE3, 0x82,\n\t0xAF, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xBC, 0xE3,\n\t0x83, 0x8D, 0x4C, 0xE3, 0x82, 0xB5, 0xE3, 0x82,\n\t0xA4, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAB, 0x4C,\n\t0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0xE3, 0x83,\n\t// Bytes 2a40 - 2a7f\n\t0xBC, 0xE3, 0x82, 0xB9, 0x4C, 0xE3, 0x83, 0x8F,\n\t0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, 0xE3, 0x83,\n\t0x84, 0x4C, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A,\n\t0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAB, 0x4C, 0xE3,\n\t0x83, 0x95, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC,\n\t0xE3, 0x83, 0x88, 0x4C, 0xE3, 0x83, 0x98, 0xE3,\n\t0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xBF,\n\t0x4C, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x9A, 0xE3,\n\t// Bytes 2a80 - 2abf\n\t0x83, 0x8B, 0xE3, 0x83, 0x92, 0x4C, 0xE3, 0x83,\n\t0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xB3, 0xE3,\n\t0x82, 0xB9, 0x4C, 0xE3, 0x83, 0x9B, 0xE3, 0x82,\n\t0x99, 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x88, 0x4C,\n\t0xE3, 0x83, 0x9E, 0xE3, 0x82, 0xA4, 0xE3, 0x82,\n\t0xAF, 0xE3, 0x83, 0xAD, 0x4C, 0xE3, 0x83, 0x9F,\n\t0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAD, 0xE3, 0x83,\n\t0xB3, 0x4C, 0xE3, 0x83, 0xA1, 0xE3, 0x83, 0xBC,\n\t// Bytes 2ac0 - 2aff\n\t0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAB, 0x4C, 0xE3,\n\t0x83, 0xAA, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88,\n\t0xE3, 0x83, 0xAB, 0x4C, 0xE3, 0x83, 0xAB, 0xE3,\n\t0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC,\n\t0x4C, 0xE6, 0xA0, 0xAA, 0xE5, 0xBC, 0x8F, 0xE4,\n\t0xBC, 0x9A, 0xE7, 0xA4, 0xBE, 0x4E, 0x28, 0xE1,\n\t0x84, 0x8B, 0xE1, 0x85, 0xA9, 0xE1, 0x84, 0x92,\n\t0xE1, 0x85, 0xAE, 0x29, 0x4F, 0xD8, 0xAC, 0xD9,\n\t// Bytes 2b00 - 2b3f\n\t0x84, 0x20, 0xD8, 0xAC, 0xD9, 0x84, 0xD8, 0xA7,\n\t0xD9, 0x84, 0xD9, 0x87, 0x4F, 0xE3, 0x82, 0xA2,\n\t0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x9A, 0xE3, 0x83,\n\t0xBC, 0xE3, 0x83, 0x88, 0x4F, 0xE3, 0x82, 0xA2,\n\t0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x98, 0xE3, 0x82,\n\t0x9A, 0xE3, 0x82, 0xA2, 0x4F, 0xE3, 0x82, 0xAD,\n\t0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xAF, 0xE3, 0x83,\n\t0x83, 0xE3, 0x83, 0x88, 0x4F, 0xE3, 0x82, 0xB5,\n\t// Bytes 2b40 - 2b7f\n\t0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x81, 0xE3, 0x83,\n\t0xBC, 0xE3, 0x83, 0xA0, 0x4F, 0xE3, 0x83, 0x8F,\n\t0xE3, 0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x83,\n\t0xAC, 0xE3, 0x83, 0xAB, 0x4F, 0xE3, 0x83, 0x98,\n\t0xE3, 0x82, 0xAF, 0xE3, 0x82, 0xBF, 0xE3, 0x83,\n\t0xBC, 0xE3, 0x83, 0xAB, 0x4F, 0xE3, 0x83, 0x9B,\n\t0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xA4, 0xE3, 0x83,\n\t0xB3, 0xE3, 0x83, 0x88, 0x4F, 0xE3, 0x83, 0x9E,\n\t// Bytes 2b80 - 2bbf\n\t0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB7, 0xE3, 0x83,\n\t0xA7, 0xE3, 0x83, 0xB3, 0x4F, 0xE3, 0x83, 0xA1,\n\t0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0xE3, 0x83,\n\t0x88, 0xE3, 0x83, 0xB3, 0x4F, 0xE3, 0x83, 0xAB,\n\t0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x95, 0xE3, 0x82,\n\t0x99, 0xE3, 0x83, 0xAB, 0x51, 0x28, 0xE1, 0x84,\n\t0x8B, 0xE1, 0x85, 0xA9, 0xE1, 0x84, 0x8C, 0xE1,\n\t0x85, 0xA5, 0xE1, 0x86, 0xAB, 0x29, 0x52, 0xE3,\n\t// Bytes 2bc0 - 2bff\n\t0x82, 0xAD, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB,\n\t0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0xE3, 0x83,\n\t0xBC, 0x52, 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xAD,\n\t0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0xE3, 0x83,\n\t0xA9, 0xE3, 0x83, 0xA0, 0x52, 0xE3, 0x82, 0xAD,\n\t0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xA1, 0xE3, 0x83,\n\t0xBC, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAB, 0x52,\n\t0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0xE3, 0x83,\n\t// Bytes 2c00 - 2c3f\n\t0xA9, 0xE3, 0x83, 0xA0, 0xE3, 0x83, 0x88, 0xE3,\n\t0x83, 0xB3, 0x52, 0xE3, 0x82, 0xAF, 0xE3, 0x83,\n\t0xAB, 0xE3, 0x82, 0xBB, 0xE3, 0x82, 0x99, 0xE3,\n\t0x82, 0xA4, 0xE3, 0x83, 0xAD, 0x52, 0xE3, 0x83,\n\t0x8F, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, 0xE3,\n\t0x82, 0xBB, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88,\n\t0x52, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3,\n\t0x82, 0xA2, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x88,\n\t// Bytes 2c40 - 2c7f\n\t0xE3, 0x83, 0xAB, 0x52, 0xE3, 0x83, 0x95, 0xE3,\n\t0x82, 0x99, 0xE3, 0x83, 0x83, 0xE3, 0x82, 0xB7,\n\t0xE3, 0x82, 0xA7, 0xE3, 0x83, 0xAB, 0x52, 0xE3,\n\t0x83, 0x9F, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0x8F,\n\t0xE3, 0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x83,\n\t0xAB, 0x52, 0xE3, 0x83, 0xAC, 0xE3, 0x83, 0xB3,\n\t0xE3, 0x83, 0x88, 0xE3, 0x82, 0xB1, 0xE3, 0x82,\n\t0x99, 0xE3, 0x83, 0xB3, 0x61, 0xD8, 0xB5, 0xD9,\n\t// Bytes 2c80 - 2cbf\n\t0x84, 0xD9, 0x89, 0x20, 0xD8, 0xA7, 0xD9, 0x84,\n\t0xD9, 0x84, 0xD9, 0x87, 0x20, 0xD8, 0xB9, 0xD9,\n\t0x84, 0xD9, 0x8A, 0xD9, 0x87, 0x20, 0xD9, 0x88,\n\t0xD8, 0xB3, 0xD9, 0x84, 0xD9, 0x85, 0x06, 0xE0,\n\t0xA7, 0x87, 0xE0, 0xA6, 0xBE, 0x01, 0x06, 0xE0,\n\t0xA7, 0x87, 0xE0, 0xA7, 0x97, 0x01, 0x06, 0xE0,\n\t0xAD, 0x87, 0xE0, 0xAC, 0xBE, 0x01, 0x06, 0xE0,\n\t0xAD, 0x87, 0xE0, 0xAD, 0x96, 0x01, 0x06, 0xE0,\n\t// Bytes 2cc0 - 2cff\n\t0xAD, 0x87, 0xE0, 0xAD, 0x97, 0x01, 0x06, 0xE0,\n\t0xAE, 0x92, 0xE0, 0xAF, 0x97, 0x01, 0x06, 0xE0,\n\t0xAF, 0x86, 0xE0, 0xAE, 0xBE, 0x01, 0x06, 0xE0,\n\t0xAF, 0x86, 0xE0, 0xAF, 0x97, 0x01, 0x06, 0xE0,\n\t0xAF, 0x87, 0xE0, 0xAE, 0xBE, 0x01, 0x06, 0xE0,\n\t0xB2, 0xBF, 0xE0, 0xB3, 0x95, 0x01, 0x06, 0xE0,\n\t0xB3, 0x86, 0xE0, 0xB3, 0x95, 0x01, 0x06, 0xE0,\n\t0xB3, 0x86, 0xE0, 0xB3, 0x96, 0x01, 0x06, 0xE0,\n\t// Bytes 2d00 - 2d3f\n\t0xB5, 0x86, 0xE0, 0xB4, 0xBE, 0x01, 0x06, 0xE0,\n\t0xB5, 0x86, 0xE0, 0xB5, 0x97, 0x01, 0x06, 0xE0,\n\t0xB5, 0x87, 0xE0, 0xB4, 0xBE, 0x01, 0x06, 0xE0,\n\t0xB7, 0x99, 0xE0, 0xB7, 0x9F, 0x01, 0x06, 0xE1,\n\t0x80, 0xA5, 0xE1, 0x80, 0xAE, 0x01, 0x06, 0xE1,\n\t0xAC, 0x85, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAC, 0x87, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAC, 0x89, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t// Bytes 2d40 - 2d7f\n\t0xAC, 0x8B, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAC, 0x8D, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAC, 0x91, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAC, 0xBA, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAC, 0xBC, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAC, 0xBE, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAC, 0xBF, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAD, 0x82, 0xE1, 0xAC, 0xB5, 0x01, 0x08, 0xF0,\n\t// Bytes 2d80 - 2dbf\n\t0x91, 0x84, 0xB1, 0xF0, 0x91, 0x84, 0xA7, 0x01,\n\t0x08, 0xF0, 0x91, 0x84, 0xB2, 0xF0, 0x91, 0x84,\n\t0xA7, 0x01, 0x08, 0xF0, 0x91, 0x8D, 0x87, 0xF0,\n\t0x91, 0x8C, 0xBE, 0x01, 0x08, 0xF0, 0x91, 0x8D,\n\t0x87, 0xF0, 0x91, 0x8D, 0x97, 0x01, 0x08, 0xF0,\n\t0x91, 0x92, 0xB9, 0xF0, 0x91, 0x92, 0xB0, 0x01,\n\t0x08, 0xF0, 0x91, 0x92, 0xB9, 0xF0, 0x91, 0x92,\n\t0xBA, 0x01, 0x08, 0xF0, 0x91, 0x92, 0xB9, 0xF0,\n\t// Bytes 2dc0 - 2dff\n\t0x91, 0x92, 0xBD, 0x01, 0x08, 0xF0, 0x91, 0x96,\n\t0xB8, 0xF0, 0x91, 0x96, 0xAF, 0x01, 0x08, 0xF0,\n\t0x91, 0x96, 0xB9, 0xF0, 0x91, 0x96, 0xAF, 0x01,\n\t0x09, 0xE0, 0xB3, 0x86, 0xE0, 0xB3, 0x82, 0xE0,\n\t0xB3, 0x95, 0x02, 0x09, 0xE0, 0xB7, 0x99, 0xE0,\n\t0xB7, 0x8F, 0xE0, 0xB7, 0x8A, 0x12, 0x44, 0x44,\n\t0x5A, 0xCC, 0x8C, 0xC9, 0x44, 0x44, 0x7A, 0xCC,\n\t0x8C, 0xC9, 0x44, 0x64, 0x7A, 0xCC, 0x8C, 0xC9,\n\t// Bytes 2e00 - 2e3f\n\t0x46, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x93, 0xC9,\n\t0x46, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x94, 0xC9,\n\t0x46, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x95, 0xB5,\n\t0x46, 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x82, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x83, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x85, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x86, 0xE1, 0x85, 0xA1, 0x01,\n\t// Bytes 2e40 - 2e7f\n\t0x46, 0xE1, 0x84, 0x87, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x89, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xAE, 0x01,\n\t0x46, 0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x8E, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x8F, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x90, 0xE1, 0x85, 0xA1, 0x01,\n\t// Bytes 2e80 - 2ebf\n\t0x46, 0xE1, 0x84, 0x91, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x92, 0xE1, 0x85, 0xA1, 0x01,\n\t0x49, 0xE3, 0x83, 0xA1, 0xE3, 0x82, 0xAB, 0xE3,\n\t0x82, 0x99, 0x0D, 0x4C, 0xE1, 0x84, 0x8C, 0xE1,\n\t0x85, 0xAE, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xB4,\n\t0x01, 0x4C, 0xE3, 0x82, 0xAD, 0xE3, 0x82, 0x99,\n\t0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0x0D, 0x4C,\n\t0xE3, 0x82, 0xB3, 0xE3, 0x83, 0xBC, 0xE3, 0x83,\n\t// Bytes 2ec0 - 2eff\n\t0x9B, 0xE3, 0x82, 0x9A, 0x0D, 0x4C, 0xE3, 0x83,\n\t0xA4, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, 0xE3,\n\t0x82, 0x99, 0x0D, 0x4F, 0xE1, 0x84, 0x8E, 0xE1,\n\t0x85, 0xA1, 0xE1, 0x86, 0xB7, 0xE1, 0x84, 0x80,\n\t0xE1, 0x85, 0xA9, 0x01, 0x4F, 0xE3, 0x82, 0xA4,\n\t0xE3, 0x83, 0x8B, 0xE3, 0x83, 0xB3, 0xE3, 0x82,\n\t0xAF, 0xE3, 0x82, 0x99, 0x0D, 0x4F, 0xE3, 0x82,\n\t0xB7, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xB3, 0xE3,\n\t// Bytes 2f00 - 2f3f\n\t0x82, 0xAF, 0xE3, 0x82, 0x99, 0x0D, 0x4F, 0xE3,\n\t0x83, 0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC,\n\t0xE3, 0x82, 0xB7, 0xE3, 0x82, 0x99, 0x0D, 0x4F,\n\t0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x9A, 0xE3, 0x83,\n\t0xB3, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D,\n\t0x52, 0xE3, 0x82, 0xA8, 0xE3, 0x82, 0xB9, 0xE3,\n\t0x82, 0xAF, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88,\n\t0xE3, 0x82, 0x99, 0x0D, 0x52, 0xE3, 0x83, 0x95,\n\t// Bytes 2f40 - 2f7f\n\t0xE3, 0x82, 0xA1, 0xE3, 0x83, 0xA9, 0xE3, 0x83,\n\t0x83, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D,\n\t0x86, 0xE0, 0xB3, 0x86, 0xE0, 0xB3, 0x82, 0x01,\n\t0x86, 0xE0, 0xB7, 0x99, 0xE0, 0xB7, 0x8F, 0x01,\n\t0x03, 0x3C, 0xCC, 0xB8, 0x05, 0x03, 0x3D, 0xCC,\n\t0xB8, 0x05, 0x03, 0x3E, 0xCC, 0xB8, 0x05, 0x03,\n\t0x41, 0xCC, 0x80, 0xC9, 0x03, 0x41, 0xCC, 0x81,\n\t0xC9, 0x03, 0x41, 0xCC, 0x83, 0xC9, 0x03, 0x41,\n\t// Bytes 2f80 - 2fbf\n\t0xCC, 0x84, 0xC9, 0x03, 0x41, 0xCC, 0x89, 0xC9,\n\t0x03, 0x41, 0xCC, 0x8C, 0xC9, 0x03, 0x41, 0xCC,\n\t0x8F, 0xC9, 0x03, 0x41, 0xCC, 0x91, 0xC9, 0x03,\n\t0x41, 0xCC, 0xA5, 0xB5, 0x03, 0x41, 0xCC, 0xA8,\n\t0xA5, 0x03, 0x42, 0xCC, 0x87, 0xC9, 0x03, 0x42,\n\t0xCC, 0xA3, 0xB5, 0x03, 0x42, 0xCC, 0xB1, 0xB5,\n\t0x03, 0x43, 0xCC, 0x81, 0xC9, 0x03, 0x43, 0xCC,\n\t0x82, 0xC9, 0x03, 0x43, 0xCC, 0x87, 0xC9, 0x03,\n\t// Bytes 2fc0 - 2fff\n\t0x43, 0xCC, 0x8C, 0xC9, 0x03, 0x44, 0xCC, 0x87,\n\t0xC9, 0x03, 0x44, 0xCC, 0x8C, 0xC9, 0x03, 0x44,\n\t0xCC, 0xA3, 0xB5, 0x03, 0x44, 0xCC, 0xA7, 0xA5,\n\t0x03, 0x44, 0xCC, 0xAD, 0xB5, 0x03, 0x44, 0xCC,\n\t0xB1, 0xB5, 0x03, 0x45, 0xCC, 0x80, 0xC9, 0x03,\n\t0x45, 0xCC, 0x81, 0xC9, 0x03, 0x45, 0xCC, 0x83,\n\t0xC9, 0x03, 0x45, 0xCC, 0x86, 0xC9, 0x03, 0x45,\n\t0xCC, 0x87, 0xC9, 0x03, 0x45, 0xCC, 0x88, 0xC9,\n\t// Bytes 3000 - 303f\n\t0x03, 0x45, 0xCC, 0x89, 0xC9, 0x03, 0x45, 0xCC,\n\t0x8C, 0xC9, 0x03, 0x45, 0xCC, 0x8F, 0xC9, 0x03,\n\t0x45, 0xCC, 0x91, 0xC9, 0x03, 0x45, 0xCC, 0xA8,\n\t0xA5, 0x03, 0x45, 0xCC, 0xAD, 0xB5, 0x03, 0x45,\n\t0xCC, 0xB0, 0xB5, 0x03, 0x46, 0xCC, 0x87, 0xC9,\n\t0x03, 0x47, 0xCC, 0x81, 0xC9, 0x03, 0x47, 0xCC,\n\t0x82, 0xC9, 0x03, 0x47, 0xCC, 0x84, 0xC9, 0x03,\n\t0x47, 0xCC, 0x86, 0xC9, 0x03, 0x47, 0xCC, 0x87,\n\t// Bytes 3040 - 307f\n\t0xC9, 0x03, 0x47, 0xCC, 0x8C, 0xC9, 0x03, 0x47,\n\t0xCC, 0xA7, 0xA5, 0x03, 0x48, 0xCC, 0x82, 0xC9,\n\t0x03, 0x48, 0xCC, 0x87, 0xC9, 0x03, 0x48, 0xCC,\n\t0x88, 0xC9, 0x03, 0x48, 0xCC, 0x8C, 0xC9, 0x03,\n\t0x48, 0xCC, 0xA3, 0xB5, 0x03, 0x48, 0xCC, 0xA7,\n\t0xA5, 0x03, 0x48, 0xCC, 0xAE, 0xB5, 0x03, 0x49,\n\t0xCC, 0x80, 0xC9, 0x03, 0x49, 0xCC, 0x81, 0xC9,\n\t0x03, 0x49, 0xCC, 0x82, 0xC9, 0x03, 0x49, 0xCC,\n\t// Bytes 3080 - 30bf\n\t0x83, 0xC9, 0x03, 0x49, 0xCC, 0x84, 0xC9, 0x03,\n\t0x49, 0xCC, 0x86, 0xC9, 0x03, 0x49, 0xCC, 0x87,\n\t0xC9, 0x03, 0x49, 0xCC, 0x89, 0xC9, 0x03, 0x49,\n\t0xCC, 0x8C, 0xC9, 0x03, 0x49, 0xCC, 0x8F, 0xC9,\n\t0x03, 0x49, 0xCC, 0x91, 0xC9, 0x03, 0x49, 0xCC,\n\t0xA3, 0xB5, 0x03, 0x49, 0xCC, 0xA8, 0xA5, 0x03,\n\t0x49, 0xCC, 0xB0, 0xB5, 0x03, 0x4A, 0xCC, 0x82,\n\t0xC9, 0x03, 0x4B, 0xCC, 0x81, 0xC9, 0x03, 0x4B,\n\t// Bytes 30c0 - 30ff\n\t0xCC, 0x8C, 0xC9, 0x03, 0x4B, 0xCC, 0xA3, 0xB5,\n\t0x03, 0x4B, 0xCC, 0xA7, 0xA5, 0x03, 0x4B, 0xCC,\n\t0xB1, 0xB5, 0x03, 0x4C, 0xCC, 0x81, 0xC9, 0x03,\n\t0x4C, 0xCC, 0x8C, 0xC9, 0x03, 0x4C, 0xCC, 0xA7,\n\t0xA5, 0x03, 0x4C, 0xCC, 0xAD, 0xB5, 0x03, 0x4C,\n\t0xCC, 0xB1, 0xB5, 0x03, 0x4D, 0xCC, 0x81, 0xC9,\n\t0x03, 0x4D, 0xCC, 0x87, 0xC9, 0x03, 0x4D, 0xCC,\n\t0xA3, 0xB5, 0x03, 0x4E, 0xCC, 0x80, 0xC9, 0x03,\n\t// Bytes 3100 - 313f\n\t0x4E, 0xCC, 0x81, 0xC9, 0x03, 0x4E, 0xCC, 0x83,\n\t0xC9, 0x03, 0x4E, 0xCC, 0x87, 0xC9, 0x03, 0x4E,\n\t0xCC, 0x8C, 0xC9, 0x03, 0x4E, 0xCC, 0xA3, 0xB5,\n\t0x03, 0x4E, 0xCC, 0xA7, 0xA5, 0x03, 0x4E, 0xCC,\n\t0xAD, 0xB5, 0x03, 0x4E, 0xCC, 0xB1, 0xB5, 0x03,\n\t0x4F, 0xCC, 0x80, 0xC9, 0x03, 0x4F, 0xCC, 0x81,\n\t0xC9, 0x03, 0x4F, 0xCC, 0x86, 0xC9, 0x03, 0x4F,\n\t0xCC, 0x89, 0xC9, 0x03, 0x4F, 0xCC, 0x8B, 0xC9,\n\t// Bytes 3140 - 317f\n\t0x03, 0x4F, 0xCC, 0x8C, 0xC9, 0x03, 0x4F, 0xCC,\n\t0x8F, 0xC9, 0x03, 0x4F, 0xCC, 0x91, 0xC9, 0x03,\n\t0x50, 0xCC, 0x81, 0xC9, 0x03, 0x50, 0xCC, 0x87,\n\t0xC9, 0x03, 0x52, 0xCC, 0x81, 0xC9, 0x03, 0x52,\n\t0xCC, 0x87, 0xC9, 0x03, 0x52, 0xCC, 0x8C, 0xC9,\n\t0x03, 0x52, 0xCC, 0x8F, 0xC9, 0x03, 0x52, 0xCC,\n\t0x91, 0xC9, 0x03, 0x52, 0xCC, 0xA7, 0xA5, 0x03,\n\t0x52, 0xCC, 0xB1, 0xB5, 0x03, 0x53, 0xCC, 0x82,\n\t// Bytes 3180 - 31bf\n\t0xC9, 0x03, 0x53, 0xCC, 0x87, 0xC9, 0x03, 0x53,\n\t0xCC, 0xA6, 0xB5, 0x03, 0x53, 0xCC, 0xA7, 0xA5,\n\t0x03, 0x54, 0xCC, 0x87, 0xC9, 0x03, 0x54, 0xCC,\n\t0x8C, 0xC9, 0x03, 0x54, 0xCC, 0xA3, 0xB5, 0x03,\n\t0x54, 0xCC, 0xA6, 0xB5, 0x03, 0x54, 0xCC, 0xA7,\n\t0xA5, 0x03, 0x54, 0xCC, 0xAD, 0xB5, 0x03, 0x54,\n\t0xCC, 0xB1, 0xB5, 0x03, 0x55, 0xCC, 0x80, 0xC9,\n\t0x03, 0x55, 0xCC, 0x81, 0xC9, 0x03, 0x55, 0xCC,\n\t// Bytes 31c0 - 31ff\n\t0x82, 0xC9, 0x03, 0x55, 0xCC, 0x86, 0xC9, 0x03,\n\t0x55, 0xCC, 0x89, 0xC9, 0x03, 0x55, 0xCC, 0x8A,\n\t0xC9, 0x03, 0x55, 0xCC, 0x8B, 0xC9, 0x03, 0x55,\n\t0xCC, 0x8C, 0xC9, 0x03, 0x55, 0xCC, 0x8F, 0xC9,\n\t0x03, 0x55, 0xCC, 0x91, 0xC9, 0x03, 0x55, 0xCC,\n\t0xA3, 0xB5, 0x03, 0x55, 0xCC, 0xA4, 0xB5, 0x03,\n\t0x55, 0xCC, 0xA8, 0xA5, 0x03, 0x55, 0xCC, 0xAD,\n\t0xB5, 0x03, 0x55, 0xCC, 0xB0, 0xB5, 0x03, 0x56,\n\t// Bytes 3200 - 323f\n\t0xCC, 0x83, 0xC9, 0x03, 0x56, 0xCC, 0xA3, 0xB5,\n\t0x03, 0x57, 0xCC, 0x80, 0xC9, 0x03, 0x57, 0xCC,\n\t0x81, 0xC9, 0x03, 0x57, 0xCC, 0x82, 0xC9, 0x03,\n\t0x57, 0xCC, 0x87, 0xC9, 0x03, 0x57, 0xCC, 0x88,\n\t0xC9, 0x03, 0x57, 0xCC, 0xA3, 0xB5, 0x03, 0x58,\n\t0xCC, 0x87, 0xC9, 0x03, 0x58, 0xCC, 0x88, 0xC9,\n\t0x03, 0x59, 0xCC, 0x80, 0xC9, 0x03, 0x59, 0xCC,\n\t0x81, 0xC9, 0x03, 0x59, 0xCC, 0x82, 0xC9, 0x03,\n\t// Bytes 3240 - 327f\n\t0x59, 0xCC, 0x83, 0xC9, 0x03, 0x59, 0xCC, 0x84,\n\t0xC9, 0x03, 0x59, 0xCC, 0x87, 0xC9, 0x03, 0x59,\n\t0xCC, 0x88, 0xC9, 0x03, 0x59, 0xCC, 0x89, 0xC9,\n\t0x03, 0x59, 0xCC, 0xA3, 0xB5, 0x03, 0x5A, 0xCC,\n\t0x81, 0xC9, 0x03, 0x5A, 0xCC, 0x82, 0xC9, 0x03,\n\t0x5A, 0xCC, 0x87, 0xC9, 0x03, 0x5A, 0xCC, 0x8C,\n\t0xC9, 0x03, 0x5A, 0xCC, 0xA3, 0xB5, 0x03, 0x5A,\n\t0xCC, 0xB1, 0xB5, 0x03, 0x61, 0xCC, 0x80, 0xC9,\n\t// Bytes 3280 - 32bf\n\t0x03, 0x61, 0xCC, 0x81, 0xC9, 0x03, 0x61, 0xCC,\n\t0x83, 0xC9, 0x03, 0x61, 0xCC, 0x84, 0xC9, 0x03,\n\t0x61, 0xCC, 0x89, 0xC9, 0x03, 0x61, 0xCC, 0x8C,\n\t0xC9, 0x03, 0x61, 0xCC, 0x8F, 0xC9, 0x03, 0x61,\n\t0xCC, 0x91, 0xC9, 0x03, 0x61, 0xCC, 0xA5, 0xB5,\n\t0x03, 0x61, 0xCC, 0xA8, 0xA5, 0x03, 0x62, 0xCC,\n\t0x87, 0xC9, 0x03, 0x62, 0xCC, 0xA3, 0xB5, 0x03,\n\t0x62, 0xCC, 0xB1, 0xB5, 0x03, 0x63, 0xCC, 0x81,\n\t// Bytes 32c0 - 32ff\n\t0xC9, 0x03, 0x63, 0xCC, 0x82, 0xC9, 0x03, 0x63,\n\t0xCC, 0x87, 0xC9, 0x03, 0x63, 0xCC, 0x8C, 0xC9,\n\t0x03, 0x64, 0xCC, 0x87, 0xC9, 0x03, 0x64, 0xCC,\n\t0x8C, 0xC9, 0x03, 0x64, 0xCC, 0xA3, 0xB5, 0x03,\n\t0x64, 0xCC, 0xA7, 0xA5, 0x03, 0x64, 0xCC, 0xAD,\n\t0xB5, 0x03, 0x64, 0xCC, 0xB1, 0xB5, 0x03, 0x65,\n\t0xCC, 0x80, 0xC9, 0x03, 0x65, 0xCC, 0x81, 0xC9,\n\t0x03, 0x65, 0xCC, 0x83, 0xC9, 0x03, 0x65, 0xCC,\n\t// Bytes 3300 - 333f\n\t0x86, 0xC9, 0x03, 0x65, 0xCC, 0x87, 0xC9, 0x03,\n\t0x65, 0xCC, 0x88, 0xC9, 0x03, 0x65, 0xCC, 0x89,\n\t0xC9, 0x03, 0x65, 0xCC, 0x8C, 0xC9, 0x03, 0x65,\n\t0xCC, 0x8F, 0xC9, 0x03, 0x65, 0xCC, 0x91, 0xC9,\n\t0x03, 0x65, 0xCC, 0xA8, 0xA5, 0x03, 0x65, 0xCC,\n\t0xAD, 0xB5, 0x03, 0x65, 0xCC, 0xB0, 0xB5, 0x03,\n\t0x66, 0xCC, 0x87, 0xC9, 0x03, 0x67, 0xCC, 0x81,\n\t0xC9, 0x03, 0x67, 0xCC, 0x82, 0xC9, 0x03, 0x67,\n\t// Bytes 3340 - 337f\n\t0xCC, 0x84, 0xC9, 0x03, 0x67, 0xCC, 0x86, 0xC9,\n\t0x03, 0x67, 0xCC, 0x87, 0xC9, 0x03, 0x67, 0xCC,\n\t0x8C, 0xC9, 0x03, 0x67, 0xCC, 0xA7, 0xA5, 0x03,\n\t0x68, 0xCC, 0x82, 0xC9, 0x03, 0x68, 0xCC, 0x87,\n\t0xC9, 0x03, 0x68, 0xCC, 0x88, 0xC9, 0x03, 0x68,\n\t0xCC, 0x8C, 0xC9, 0x03, 0x68, 0xCC, 0xA3, 0xB5,\n\t0x03, 0x68, 0xCC, 0xA7, 0xA5, 0x03, 0x68, 0xCC,\n\t0xAE, 0xB5, 0x03, 0x68, 0xCC, 0xB1, 0xB5, 0x03,\n\t// Bytes 3380 - 33bf\n\t0x69, 0xCC, 0x80, 0xC9, 0x03, 0x69, 0xCC, 0x81,\n\t0xC9, 0x03, 0x69, 0xCC, 0x82, 0xC9, 0x03, 0x69,\n\t0xCC, 0x83, 0xC9, 0x03, 0x69, 0xCC, 0x84, 0xC9,\n\t0x03, 0x69, 0xCC, 0x86, 0xC9, 0x03, 0x69, 0xCC,\n\t0x89, 0xC9, 0x03, 0x69, 0xCC, 0x8C, 0xC9, 0x03,\n\t0x69, 0xCC, 0x8F, 0xC9, 0x03, 0x69, 0xCC, 0x91,\n\t0xC9, 0x03, 0x69, 0xCC, 0xA3, 0xB5, 0x03, 0x69,\n\t0xCC, 0xA8, 0xA5, 0x03, 0x69, 0xCC, 0xB0, 0xB5,\n\t// Bytes 33c0 - 33ff\n\t0x03, 0x6A, 0xCC, 0x82, 0xC9, 0x03, 0x6A, 0xCC,\n\t0x8C, 0xC9, 0x03, 0x6B, 0xCC, 0x81, 0xC9, 0x03,\n\t0x6B, 0xCC, 0x8C, 0xC9, 0x03, 0x6B, 0xCC, 0xA3,\n\t0xB5, 0x03, 0x6B, 0xCC, 0xA7, 0xA5, 0x03, 0x6B,\n\t0xCC, 0xB1, 0xB5, 0x03, 0x6C, 0xCC, 0x81, 0xC9,\n\t0x03, 0x6C, 0xCC, 0x8C, 0xC9, 0x03, 0x6C, 0xCC,\n\t0xA7, 0xA5, 0x03, 0x6C, 0xCC, 0xAD, 0xB5, 0x03,\n\t0x6C, 0xCC, 0xB1, 0xB5, 0x03, 0x6D, 0xCC, 0x81,\n\t// Bytes 3400 - 343f\n\t0xC9, 0x03, 0x6D, 0xCC, 0x87, 0xC9, 0x03, 0x6D,\n\t0xCC, 0xA3, 0xB5, 0x03, 0x6E, 0xCC, 0x80, 0xC9,\n\t0x03, 0x6E, 0xCC, 0x81, 0xC9, 0x03, 0x6E, 0xCC,\n\t0x83, 0xC9, 0x03, 0x6E, 0xCC, 0x87, 0xC9, 0x03,\n\t0x6E, 0xCC, 0x8C, 0xC9, 0x03, 0x6E, 0xCC, 0xA3,\n\t0xB5, 0x03, 0x6E, 0xCC, 0xA7, 0xA5, 0x03, 0x6E,\n\t0xCC, 0xAD, 0xB5, 0x03, 0x6E, 0xCC, 0xB1, 0xB5,\n\t0x03, 0x6F, 0xCC, 0x80, 0xC9, 0x03, 0x6F, 0xCC,\n\t// Bytes 3440 - 347f\n\t0x81, 0xC9, 0x03, 0x6F, 0xCC, 0x86, 0xC9, 0x03,\n\t0x6F, 0xCC, 0x89, 0xC9, 0x03, 0x6F, 0xCC, 0x8B,\n\t0xC9, 0x03, 0x6F, 0xCC, 0x8C, 0xC9, 0x03, 0x6F,\n\t0xCC, 0x8F, 0xC9, 0x03, 0x6F, 0xCC, 0x91, 0xC9,\n\t0x03, 0x70, 0xCC, 0x81, 0xC9, 0x03, 0x70, 0xCC,\n\t0x87, 0xC9, 0x03, 0x72, 0xCC, 0x81, 0xC9, 0x03,\n\t0x72, 0xCC, 0x87, 0xC9, 0x03, 0x72, 0xCC, 0x8C,\n\t0xC9, 0x03, 0x72, 0xCC, 0x8F, 0xC9, 0x03, 0x72,\n\t// Bytes 3480 - 34bf\n\t0xCC, 0x91, 0xC9, 0x03, 0x72, 0xCC, 0xA7, 0xA5,\n\t0x03, 0x72, 0xCC, 0xB1, 0xB5, 0x03, 0x73, 0xCC,\n\t0x82, 0xC9, 0x03, 0x73, 0xCC, 0x87, 0xC9, 0x03,\n\t0x73, 0xCC, 0xA6, 0xB5, 0x03, 0x73, 0xCC, 0xA7,\n\t0xA5, 0x03, 0x74, 0xCC, 0x87, 0xC9, 0x03, 0x74,\n\t0xCC, 0x88, 0xC9, 0x03, 0x74, 0xCC, 0x8C, 0xC9,\n\t0x03, 0x74, 0xCC, 0xA3, 0xB5, 0x03, 0x74, 0xCC,\n\t0xA6, 0xB5, 0x03, 0x74, 0xCC, 0xA7, 0xA5, 0x03,\n\t// Bytes 34c0 - 34ff\n\t0x74, 0xCC, 0xAD, 0xB5, 0x03, 0x74, 0xCC, 0xB1,\n\t0xB5, 0x03, 0x75, 0xCC, 0x80, 0xC9, 0x03, 0x75,\n\t0xCC, 0x81, 0xC9, 0x03, 0x75, 0xCC, 0x82, 0xC9,\n\t0x03, 0x75, 0xCC, 0x86, 0xC9, 0x03, 0x75, 0xCC,\n\t0x89, 0xC9, 0x03, 0x75, 0xCC, 0x8A, 0xC9, 0x03,\n\t0x75, 0xCC, 0x8B, 0xC9, 0x03, 0x75, 0xCC, 0x8C,\n\t0xC9, 0x03, 0x75, 0xCC, 0x8F, 0xC9, 0x03, 0x75,\n\t0xCC, 0x91, 0xC9, 0x03, 0x75, 0xCC, 0xA3, 0xB5,\n\t// Bytes 3500 - 353f\n\t0x03, 0x75, 0xCC, 0xA4, 0xB5, 0x03, 0x75, 0xCC,\n\t0xA8, 0xA5, 0x03, 0x75, 0xCC, 0xAD, 0xB5, 0x03,\n\t0x75, 0xCC, 0xB0, 0xB5, 0x03, 0x76, 0xCC, 0x83,\n\t0xC9, 0x03, 0x76, 0xCC, 0xA3, 0xB5, 0x03, 0x77,\n\t0xCC, 0x80, 0xC9, 0x03, 0x77, 0xCC, 0x81, 0xC9,\n\t0x03, 0x77, 0xCC, 0x82, 0xC9, 0x03, 0x77, 0xCC,\n\t0x87, 0xC9, 0x03, 0x77, 0xCC, 0x88, 0xC9, 0x03,\n\t0x77, 0xCC, 0x8A, 0xC9, 0x03, 0x77, 0xCC, 0xA3,\n\t// Bytes 3540 - 357f\n\t0xB5, 0x03, 0x78, 0xCC, 0x87, 0xC9, 0x03, 0x78,\n\t0xCC, 0x88, 0xC9, 0x03, 0x79, 0xCC, 0x80, 0xC9,\n\t0x03, 0x79, 0xCC, 0x81, 0xC9, 0x03, 0x79, 0xCC,\n\t0x82, 0xC9, 0x03, 0x79, 0xCC, 0x83, 0xC9, 0x03,\n\t0x79, 0xCC, 0x84, 0xC9, 0x03, 0x79, 0xCC, 0x87,\n\t0xC9, 0x03, 0x79, 0xCC, 0x88, 0xC9, 0x03, 0x79,\n\t0xCC, 0x89, 0xC9, 0x03, 0x79, 0xCC, 0x8A, 0xC9,\n\t0x03, 0x79, 0xCC, 0xA3, 0xB5, 0x03, 0x7A, 0xCC,\n\t// Bytes 3580 - 35bf\n\t0x81, 0xC9, 0x03, 0x7A, 0xCC, 0x82, 0xC9, 0x03,\n\t0x7A, 0xCC, 0x87, 0xC9, 0x03, 0x7A, 0xCC, 0x8C,\n\t0xC9, 0x03, 0x7A, 0xCC, 0xA3, 0xB5, 0x03, 0x7A,\n\t0xCC, 0xB1, 0xB5, 0x04, 0xC2, 0xA8, 0xCC, 0x80,\n\t0xCA, 0x04, 0xC2, 0xA8, 0xCC, 0x81, 0xCA, 0x04,\n\t0xC2, 0xA8, 0xCD, 0x82, 0xCA, 0x04, 0xC3, 0x86,\n\t0xCC, 0x81, 0xC9, 0x04, 0xC3, 0x86, 0xCC, 0x84,\n\t0xC9, 0x04, 0xC3, 0x98, 0xCC, 0x81, 0xC9, 0x04,\n\t// Bytes 35c0 - 35ff\n\t0xC3, 0xA6, 0xCC, 0x81, 0xC9, 0x04, 0xC3, 0xA6,\n\t0xCC, 0x84, 0xC9, 0x04, 0xC3, 0xB8, 0xCC, 0x81,\n\t0xC9, 0x04, 0xC5, 0xBF, 0xCC, 0x87, 0xC9, 0x04,\n\t0xC6, 0xB7, 0xCC, 0x8C, 0xC9, 0x04, 0xCA, 0x92,\n\t0xCC, 0x8C, 0xC9, 0x04, 0xCE, 0x91, 0xCC, 0x80,\n\t0xC9, 0x04, 0xCE, 0x91, 0xCC, 0x81, 0xC9, 0x04,\n\t0xCE, 0x91, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0x91,\n\t0xCC, 0x86, 0xC9, 0x04, 0xCE, 0x91, 0xCD, 0x85,\n\t// Bytes 3600 - 363f\n\t0xD9, 0x04, 0xCE, 0x95, 0xCC, 0x80, 0xC9, 0x04,\n\t0xCE, 0x95, 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0x97,\n\t0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x97, 0xCC, 0x81,\n\t0xC9, 0x04, 0xCE, 0x97, 0xCD, 0x85, 0xD9, 0x04,\n\t0xCE, 0x99, 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x99,\n\t0xCC, 0x81, 0xC9, 0x04, 0xCE, 0x99, 0xCC, 0x84,\n\t0xC9, 0x04, 0xCE, 0x99, 0xCC, 0x86, 0xC9, 0x04,\n\t0xCE, 0x99, 0xCC, 0x88, 0xC9, 0x04, 0xCE, 0x9F,\n\t// Bytes 3640 - 367f\n\t0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x9F, 0xCC, 0x81,\n\t0xC9, 0x04, 0xCE, 0xA1, 0xCC, 0x94, 0xC9, 0x04,\n\t0xCE, 0xA5, 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0xA5,\n\t0xCC, 0x81, 0xC9, 0x04, 0xCE, 0xA5, 0xCC, 0x84,\n\t0xC9, 0x04, 0xCE, 0xA5, 0xCC, 0x86, 0xC9, 0x04,\n\t0xCE, 0xA5, 0xCC, 0x88, 0xC9, 0x04, 0xCE, 0xA9,\n\t0xCC, 0x80, 0xC9, 0x04, 0xCE, 0xA9, 0xCC, 0x81,\n\t0xC9, 0x04, 0xCE, 0xA9, 0xCD, 0x85, 0xD9, 0x04,\n\t// Bytes 3680 - 36bf\n\t0xCE, 0xB1, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0xB1,\n\t0xCC, 0x86, 0xC9, 0x04, 0xCE, 0xB1, 0xCD, 0x85,\n\t0xD9, 0x04, 0xCE, 0xB5, 0xCC, 0x80, 0xC9, 0x04,\n\t0xCE, 0xB5, 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0xB7,\n\t0xCD, 0x85, 0xD9, 0x04, 0xCE, 0xB9, 0xCC, 0x80,\n\t0xC9, 0x04, 0xCE, 0xB9, 0xCC, 0x81, 0xC9, 0x04,\n\t0xCE, 0xB9, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0xB9,\n\t0xCC, 0x86, 0xC9, 0x04, 0xCE, 0xB9, 0xCD, 0x82,\n\t// Bytes 36c0 - 36ff\n\t0xC9, 0x04, 0xCE, 0xBF, 0xCC, 0x80, 0xC9, 0x04,\n\t0xCE, 0xBF, 0xCC, 0x81, 0xC9, 0x04, 0xCF, 0x81,\n\t0xCC, 0x93, 0xC9, 0x04, 0xCF, 0x81, 0xCC, 0x94,\n\t0xC9, 0x04, 0xCF, 0x85, 0xCC, 0x80, 0xC9, 0x04,\n\t0xCF, 0x85, 0xCC, 0x81, 0xC9, 0x04, 0xCF, 0x85,\n\t0xCC, 0x84, 0xC9, 0x04, 0xCF, 0x85, 0xCC, 0x86,\n\t0xC9, 0x04, 0xCF, 0x85, 0xCD, 0x82, 0xC9, 0x04,\n\t0xCF, 0x89, 0xCD, 0x85, 0xD9, 0x04, 0xCF, 0x92,\n\t// Bytes 3700 - 373f\n\t0xCC, 0x81, 0xC9, 0x04, 0xCF, 0x92, 0xCC, 0x88,\n\t0xC9, 0x04, 0xD0, 0x86, 0xCC, 0x88, 0xC9, 0x04,\n\t0xD0, 0x90, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0x90,\n\t0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x93, 0xCC, 0x81,\n\t0xC9, 0x04, 0xD0, 0x95, 0xCC, 0x80, 0xC9, 0x04,\n\t0xD0, 0x95, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0x95,\n\t0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x96, 0xCC, 0x86,\n\t0xC9, 0x04, 0xD0, 0x96, 0xCC, 0x88, 0xC9, 0x04,\n\t// Bytes 3740 - 377f\n\t0xD0, 0x97, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x98,\n\t0xCC, 0x80, 0xC9, 0x04, 0xD0, 0x98, 0xCC, 0x84,\n\t0xC9, 0x04, 0xD0, 0x98, 0xCC, 0x86, 0xC9, 0x04,\n\t0xD0, 0x98, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x9A,\n\t0xCC, 0x81, 0xC9, 0x04, 0xD0, 0x9E, 0xCC, 0x88,\n\t0xC9, 0x04, 0xD0, 0xA3, 0xCC, 0x84, 0xC9, 0x04,\n\t0xD0, 0xA3, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xA3,\n\t0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xA3, 0xCC, 0x8B,\n\t// Bytes 3780 - 37bf\n\t0xC9, 0x04, 0xD0, 0xA7, 0xCC, 0x88, 0xC9, 0x04,\n\t0xD0, 0xAB, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xAD,\n\t0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xB0, 0xCC, 0x86,\n\t0xC9, 0x04, 0xD0, 0xB0, 0xCC, 0x88, 0xC9, 0x04,\n\t0xD0, 0xB3, 0xCC, 0x81, 0xC9, 0x04, 0xD0, 0xB5,\n\t0xCC, 0x80, 0xC9, 0x04, 0xD0, 0xB5, 0xCC, 0x86,\n\t0xC9, 0x04, 0xD0, 0xB5, 0xCC, 0x88, 0xC9, 0x04,\n\t0xD0, 0xB6, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xB6,\n\t// Bytes 37c0 - 37ff\n\t0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xB7, 0xCC, 0x88,\n\t0xC9, 0x04, 0xD0, 0xB8, 0xCC, 0x80, 0xC9, 0x04,\n\t0xD0, 0xB8, 0xCC, 0x84, 0xC9, 0x04, 0xD0, 0xB8,\n\t0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xB8, 0xCC, 0x88,\n\t0xC9, 0x04, 0xD0, 0xBA, 0xCC, 0x81, 0xC9, 0x04,\n\t0xD0, 0xBE, 0xCC, 0x88, 0xC9, 0x04, 0xD1, 0x83,\n\t0xCC, 0x84, 0xC9, 0x04, 0xD1, 0x83, 0xCC, 0x86,\n\t0xC9, 0x04, 0xD1, 0x83, 0xCC, 0x88, 0xC9, 0x04,\n\t// Bytes 3800 - 383f\n\t0xD1, 0x83, 0xCC, 0x8B, 0xC9, 0x04, 0xD1, 0x87,\n\t0xCC, 0x88, 0xC9, 0x04, 0xD1, 0x8B, 0xCC, 0x88,\n\t0xC9, 0x04, 0xD1, 0x8D, 0xCC, 0x88, 0xC9, 0x04,\n\t0xD1, 0x96, 0xCC, 0x88, 0xC9, 0x04, 0xD1, 0xB4,\n\t0xCC, 0x8F, 0xC9, 0x04, 0xD1, 0xB5, 0xCC, 0x8F,\n\t0xC9, 0x04, 0xD3, 0x98, 0xCC, 0x88, 0xC9, 0x04,\n\t0xD3, 0x99, 0xCC, 0x88, 0xC9, 0x04, 0xD3, 0xA8,\n\t0xCC, 0x88, 0xC9, 0x04, 0xD3, 0xA9, 0xCC, 0x88,\n\t// Bytes 3840 - 387f\n\t0xC9, 0x04, 0xD8, 0xA7, 0xD9, 0x93, 0xC9, 0x04,\n\t0xD8, 0xA7, 0xD9, 0x94, 0xC9, 0x04, 0xD8, 0xA7,\n\t0xD9, 0x95, 0xB5, 0x04, 0xD9, 0x88, 0xD9, 0x94,\n\t0xC9, 0x04, 0xD9, 0x8A, 0xD9, 0x94, 0xC9, 0x04,\n\t0xDB, 0x81, 0xD9, 0x94, 0xC9, 0x04, 0xDB, 0x92,\n\t0xD9, 0x94, 0xC9, 0x04, 0xDB, 0x95, 0xD9, 0x94,\n\t0xC9, 0x05, 0x41, 0xCC, 0x82, 0xCC, 0x80, 0xCA,\n\t0x05, 0x41, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05,\n\t// Bytes 3880 - 38bf\n\t0x41, 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x41,\n\t0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x41, 0xCC,\n\t0x86, 0xCC, 0x80, 0xCA, 0x05, 0x41, 0xCC, 0x86,\n\t0xCC, 0x81, 0xCA, 0x05, 0x41, 0xCC, 0x86, 0xCC,\n\t0x83, 0xCA, 0x05, 0x41, 0xCC, 0x86, 0xCC, 0x89,\n\t0xCA, 0x05, 0x41, 0xCC, 0x87, 0xCC, 0x84, 0xCA,\n\t0x05, 0x41, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05,\n\t0x41, 0xCC, 0x8A, 0xCC, 0x81, 0xCA, 0x05, 0x41,\n\t// Bytes 38c0 - 38ff\n\t0xCC, 0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x41, 0xCC,\n\t0xA3, 0xCC, 0x86, 0xCA, 0x05, 0x43, 0xCC, 0xA7,\n\t0xCC, 0x81, 0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC,\n\t0x80, 0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x81,\n\t0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x83, 0xCA,\n\t0x05, 0x45, 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05,\n\t0x45, 0xCC, 0x84, 0xCC, 0x80, 0xCA, 0x05, 0x45,\n\t0xCC, 0x84, 0xCC, 0x81, 0xCA, 0x05, 0x45, 0xCC,\n\t// Bytes 3900 - 393f\n\t0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x45, 0xCC, 0xA7,\n\t0xCC, 0x86, 0xCA, 0x05, 0x49, 0xCC, 0x88, 0xCC,\n\t0x81, 0xCA, 0x05, 0x4C, 0xCC, 0xA3, 0xCC, 0x84,\n\t0xCA, 0x05, 0x4F, 0xCC, 0x82, 0xCC, 0x80, 0xCA,\n\t0x05, 0x4F, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05,\n\t0x4F, 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x4F,\n\t0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x4F, 0xCC,\n\t0x83, 0xCC, 0x81, 0xCA, 0x05, 0x4F, 0xCC, 0x83,\n\t// Bytes 3940 - 397f\n\t0xCC, 0x84, 0xCA, 0x05, 0x4F, 0xCC, 0x83, 0xCC,\n\t0x88, 0xCA, 0x05, 0x4F, 0xCC, 0x84, 0xCC, 0x80,\n\t0xCA, 0x05, 0x4F, 0xCC, 0x84, 0xCC, 0x81, 0xCA,\n\t0x05, 0x4F, 0xCC, 0x87, 0xCC, 0x84, 0xCA, 0x05,\n\t0x4F, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x4F,\n\t0xCC, 0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x4F, 0xCC,\n\t0x9B, 0xCC, 0x81, 0xCA, 0x05, 0x4F, 0xCC, 0x9B,\n\t0xCC, 0x83, 0xCA, 0x05, 0x4F, 0xCC, 0x9B, 0xCC,\n\t// Bytes 3980 - 39bf\n\t0x89, 0xCA, 0x05, 0x4F, 0xCC, 0x9B, 0xCC, 0xA3,\n\t0xB6, 0x05, 0x4F, 0xCC, 0xA3, 0xCC, 0x82, 0xCA,\n\t0x05, 0x4F, 0xCC, 0xA8, 0xCC, 0x84, 0xCA, 0x05,\n\t0x52, 0xCC, 0xA3, 0xCC, 0x84, 0xCA, 0x05, 0x53,\n\t0xCC, 0x81, 0xCC, 0x87, 0xCA, 0x05, 0x53, 0xCC,\n\t0x8C, 0xCC, 0x87, 0xCA, 0x05, 0x53, 0xCC, 0xA3,\n\t0xCC, 0x87, 0xCA, 0x05, 0x55, 0xCC, 0x83, 0xCC,\n\t0x81, 0xCA, 0x05, 0x55, 0xCC, 0x84, 0xCC, 0x88,\n\t// Bytes 39c0 - 39ff\n\t0xCA, 0x05, 0x55, 0xCC, 0x88, 0xCC, 0x80, 0xCA,\n\t0x05, 0x55, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x05,\n\t0x55, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x55,\n\t0xCC, 0x88, 0xCC, 0x8C, 0xCA, 0x05, 0x55, 0xCC,\n\t0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x55, 0xCC, 0x9B,\n\t0xCC, 0x81, 0xCA, 0x05, 0x55, 0xCC, 0x9B, 0xCC,\n\t0x83, 0xCA, 0x05, 0x55, 0xCC, 0x9B, 0xCC, 0x89,\n\t0xCA, 0x05, 0x55, 0xCC, 0x9B, 0xCC, 0xA3, 0xB6,\n\t// Bytes 3a00 - 3a3f\n\t0x05, 0x61, 0xCC, 0x82, 0xCC, 0x80, 0xCA, 0x05,\n\t0x61, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, 0x61,\n\t0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x61, 0xCC,\n\t0x82, 0xCC, 0x89, 0xCA, 0x05, 0x61, 0xCC, 0x86,\n\t0xCC, 0x80, 0xCA, 0x05, 0x61, 0xCC, 0x86, 0xCC,\n\t0x81, 0xCA, 0x05, 0x61, 0xCC, 0x86, 0xCC, 0x83,\n\t0xCA, 0x05, 0x61, 0xCC, 0x86, 0xCC, 0x89, 0xCA,\n\t0x05, 0x61, 0xCC, 0x87, 0xCC, 0x84, 0xCA, 0x05,\n\t// Bytes 3a40 - 3a7f\n\t0x61, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x61,\n\t0xCC, 0x8A, 0xCC, 0x81, 0xCA, 0x05, 0x61, 0xCC,\n\t0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x61, 0xCC, 0xA3,\n\t0xCC, 0x86, 0xCA, 0x05, 0x63, 0xCC, 0xA7, 0xCC,\n\t0x81, 0xCA, 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x80,\n\t0xCA, 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x81, 0xCA,\n\t0x05, 0x65, 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05,\n\t0x65, 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x65,\n\t// Bytes 3a80 - 3abf\n\t0xCC, 0x84, 0xCC, 0x80, 0xCA, 0x05, 0x65, 0xCC,\n\t0x84, 0xCC, 0x81, 0xCA, 0x05, 0x65, 0xCC, 0xA3,\n\t0xCC, 0x82, 0xCA, 0x05, 0x65, 0xCC, 0xA7, 0xCC,\n\t0x86, 0xCA, 0x05, 0x69, 0xCC, 0x88, 0xCC, 0x81,\n\t0xCA, 0x05, 0x6C, 0xCC, 0xA3, 0xCC, 0x84, 0xCA,\n\t0x05, 0x6F, 0xCC, 0x82, 0xCC, 0x80, 0xCA, 0x05,\n\t0x6F, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, 0x6F,\n\t0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x6F, 0xCC,\n\t// Bytes 3ac0 - 3aff\n\t0x82, 0xCC, 0x89, 0xCA, 0x05, 0x6F, 0xCC, 0x83,\n\t0xCC, 0x81, 0xCA, 0x05, 0x6F, 0xCC, 0x83, 0xCC,\n\t0x84, 0xCA, 0x05, 0x6F, 0xCC, 0x83, 0xCC, 0x88,\n\t0xCA, 0x05, 0x6F, 0xCC, 0x84, 0xCC, 0x80, 0xCA,\n\t0x05, 0x6F, 0xCC, 0x84, 0xCC, 0x81, 0xCA, 0x05,\n\t0x6F, 0xCC, 0x87, 0xCC, 0x84, 0xCA, 0x05, 0x6F,\n\t0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x6F, 0xCC,\n\t0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x6F, 0xCC, 0x9B,\n\t// Bytes 3b00 - 3b3f\n\t0xCC, 0x81, 0xCA, 0x05, 0x6F, 0xCC, 0x9B, 0xCC,\n\t0x83, 0xCA, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, 0x89,\n\t0xCA, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, 0xA3, 0xB6,\n\t0x05, 0x6F, 0xCC, 0xA3, 0xCC, 0x82, 0xCA, 0x05,\n\t0x6F, 0xCC, 0xA8, 0xCC, 0x84, 0xCA, 0x05, 0x72,\n\t0xCC, 0xA3, 0xCC, 0x84, 0xCA, 0x05, 0x73, 0xCC,\n\t0x81, 0xCC, 0x87, 0xCA, 0x05, 0x73, 0xCC, 0x8C,\n\t0xCC, 0x87, 0xCA, 0x05, 0x73, 0xCC, 0xA3, 0xCC,\n\t// Bytes 3b40 - 3b7f\n\t0x87, 0xCA, 0x05, 0x75, 0xCC, 0x83, 0xCC, 0x81,\n\t0xCA, 0x05, 0x75, 0xCC, 0x84, 0xCC, 0x88, 0xCA,\n\t0x05, 0x75, 0xCC, 0x88, 0xCC, 0x80, 0xCA, 0x05,\n\t0x75, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x05, 0x75,\n\t0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x75, 0xCC,\n\t0x88, 0xCC, 0x8C, 0xCA, 0x05, 0x75, 0xCC, 0x9B,\n\t0xCC, 0x80, 0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC,\n\t0x81, 0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0x83,\n\t// Bytes 3b80 - 3bbf\n\t0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0x89, 0xCA,\n\t0x05, 0x75, 0xCC, 0x9B, 0xCC, 0xA3, 0xB6, 0x05,\n\t0xE1, 0xBE, 0xBF, 0xCC, 0x80, 0xCA, 0x05, 0xE1,\n\t0xBE, 0xBF, 0xCC, 0x81, 0xCA, 0x05, 0xE1, 0xBE,\n\t0xBF, 0xCD, 0x82, 0xCA, 0x05, 0xE1, 0xBF, 0xBE,\n\t0xCC, 0x80, 0xCA, 0x05, 0xE1, 0xBF, 0xBE, 0xCC,\n\t0x81, 0xCA, 0x05, 0xE1, 0xBF, 0xBE, 0xCD, 0x82,\n\t0xCA, 0x05, 0xE2, 0x86, 0x90, 0xCC, 0xB8, 0x05,\n\t// Bytes 3bc0 - 3bff\n\t0x05, 0xE2, 0x86, 0x92, 0xCC, 0xB8, 0x05, 0x05,\n\t0xE2, 0x86, 0x94, 0xCC, 0xB8, 0x05, 0x05, 0xE2,\n\t0x87, 0x90, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x87,\n\t0x92, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x87, 0x94,\n\t0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x88, 0x83, 0xCC,\n\t0xB8, 0x05, 0x05, 0xE2, 0x88, 0x88, 0xCC, 0xB8,\n\t0x05, 0x05, 0xE2, 0x88, 0x8B, 0xCC, 0xB8, 0x05,\n\t0x05, 0xE2, 0x88, 0xA3, 0xCC, 0xB8, 0x05, 0x05,\n\t// Bytes 3c00 - 3c3f\n\t0xE2, 0x88, 0xA5, 0xCC, 0xB8, 0x05, 0x05, 0xE2,\n\t0x88, 0xBC, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89,\n\t0x83, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x85,\n\t0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x88, 0xCC,\n\t0xB8, 0x05, 0x05, 0xE2, 0x89, 0x8D, 0xCC, 0xB8,\n\t0x05, 0x05, 0xE2, 0x89, 0xA1, 0xCC, 0xB8, 0x05,\n\t0x05, 0xE2, 0x89, 0xA4, 0xCC, 0xB8, 0x05, 0x05,\n\t0xE2, 0x89, 0xA5, 0xCC, 0xB8, 0x05, 0x05, 0xE2,\n\t// Bytes 3c40 - 3c7f\n\t0x89, 0xB2, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89,\n\t0xB3, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xB6,\n\t0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xB7, 0xCC,\n\t0xB8, 0x05, 0x05, 0xE2, 0x89, 0xBA, 0xCC, 0xB8,\n\t0x05, 0x05, 0xE2, 0x89, 0xBB, 0xCC, 0xB8, 0x05,\n\t0x05, 0xE2, 0x89, 0xBC, 0xCC, 0xB8, 0x05, 0x05,\n\t0xE2, 0x89, 0xBD, 0xCC, 0xB8, 0x05, 0x05, 0xE2,\n\t0x8A, 0x82, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A,\n\t// Bytes 3c80 - 3cbf\n\t0x83, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x86,\n\t0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x87, 0xCC,\n\t0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x91, 0xCC, 0xB8,\n\t0x05, 0x05, 0xE2, 0x8A, 0x92, 0xCC, 0xB8, 0x05,\n\t0x05, 0xE2, 0x8A, 0xA2, 0xCC, 0xB8, 0x05, 0x05,\n\t0xE2, 0x8A, 0xA8, 0xCC, 0xB8, 0x05, 0x05, 0xE2,\n\t0x8A, 0xA9, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A,\n\t0xAB, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB2,\n\t// Bytes 3cc0 - 3cff\n\t0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB3, 0xCC,\n\t0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB4, 0xCC, 0xB8,\n\t0x05, 0x05, 0xE2, 0x8A, 0xB5, 0xCC, 0xB8, 0x05,\n\t0x06, 0xCE, 0x91, 0xCC, 0x93, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0x91, 0xCC, 0x94, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0x95, 0xCC, 0x93, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0x95, 0xCC, 0x93, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0x95, 0xCC, 0x94, 0xCC, 0x80, 0xCA,\n\t// Bytes 3d00 - 3d3f\n\t0x06, 0xCE, 0x95, 0xCC, 0x94, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0x97, 0xCC, 0x93, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0x97, 0xCC, 0x94, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0x99, 0xCC, 0x93, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0x99, 0xCC, 0x93, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0x99, 0xCC, 0x93, 0xCD, 0x82, 0xCA,\n\t0x06, 0xCE, 0x99, 0xCC, 0x94, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0x99, 0xCC, 0x94, 0xCC, 0x81, 0xCA,\n\t// Bytes 3d40 - 3d7f\n\t0x06, 0xCE, 0x99, 0xCC, 0x94, 0xCD, 0x82, 0xCA,\n\t0x06, 0xCE, 0x9F, 0xCC, 0x93, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0x9F, 0xCC, 0x93, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0x9F, 0xCC, 0x94, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0x9F, 0xCC, 0x94, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0xA5, 0xCC, 0x94, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0xA5, 0xCC, 0x94, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0xA5, 0xCC, 0x94, 0xCD, 0x82, 0xCA,\n\t// Bytes 3d80 - 3dbf\n\t0x06, 0xCE, 0xA9, 0xCC, 0x93, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xA9, 0xCC, 0x94, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB1, 0xCC, 0x80, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB1, 0xCC, 0x81, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB1, 0xCC, 0x93, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB1, 0xCC, 0x94, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB1, 0xCD, 0x82, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB5, 0xCC, 0x93, 0xCC, 0x80, 0xCA,\n\t// Bytes 3dc0 - 3dff\n\t0x06, 0xCE, 0xB5, 0xCC, 0x93, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0xB5, 0xCC, 0x94, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0xB5, 0xCC, 0x94, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0xB7, 0xCC, 0x80, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB7, 0xCC, 0x81, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB7, 0xCC, 0x93, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB7, 0xCC, 0x94, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB7, 0xCD, 0x82, 0xCD, 0x85, 0xDA,\n\t// Bytes 3e00 - 3e3f\n\t0x06, 0xCE, 0xB9, 0xCC, 0x88, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0xB9, 0xCC, 0x88, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0xB9, 0xCC, 0x88, 0xCD, 0x82, 0xCA,\n\t0x06, 0xCE, 0xB9, 0xCC, 0x93, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0xB9, 0xCC, 0x93, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0xB9, 0xCC, 0x93, 0xCD, 0x82, 0xCA,\n\t0x06, 0xCE, 0xB9, 0xCC, 0x94, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0xB9, 0xCC, 0x94, 0xCC, 0x81, 0xCA,\n\t// Bytes 3e40 - 3e7f\n\t0x06, 0xCE, 0xB9, 0xCC, 0x94, 0xCD, 0x82, 0xCA,\n\t0x06, 0xCE, 0xBF, 0xCC, 0x93, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0xBF, 0xCC, 0x93, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0xBF, 0xCC, 0x94, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0xBF, 0xCC, 0x94, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCF, 0x85, 0xCC, 0x88, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCF, 0x85, 0xCC, 0x88, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCF, 0x85, 0xCC, 0x88, 0xCD, 0x82, 0xCA,\n\t// Bytes 3e80 - 3ebf\n\t0x06, 0xCF, 0x85, 0xCC, 0x93, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCF, 0x85, 0xCC, 0x93, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCF, 0x85, 0xCC, 0x93, 0xCD, 0x82, 0xCA,\n\t0x06, 0xCF, 0x85, 0xCC, 0x94, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCF, 0x85, 0xCC, 0x94, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCF, 0x85, 0xCC, 0x94, 0xCD, 0x82, 0xCA,\n\t0x06, 0xCF, 0x89, 0xCC, 0x80, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCF, 0x89, 0xCC, 0x81, 0xCD, 0x85, 0xDA,\n\t// Bytes 3ec0 - 3eff\n\t0x06, 0xCF, 0x89, 0xCC, 0x93, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCF, 0x89, 0xCC, 0x94, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCF, 0x89, 0xCD, 0x82, 0xCD, 0x85, 0xDA,\n\t0x06, 0xE0, 0xA4, 0xA8, 0xE0, 0xA4, 0xBC, 0x09,\n\t0x06, 0xE0, 0xA4, 0xB0, 0xE0, 0xA4, 0xBC, 0x09,\n\t0x06, 0xE0, 0xA4, 0xB3, 0xE0, 0xA4, 0xBC, 0x09,\n\t0x06, 0xE0, 0xB1, 0x86, 0xE0, 0xB1, 0x96, 0x85,\n\t0x06, 0xE0, 0xB7, 0x99, 0xE0, 0xB7, 0x8A, 0x11,\n\t// Bytes 3f00 - 3f3f\n\t0x06, 0xE3, 0x81, 0x86, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x8D, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x8F, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x91, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x93, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x97, 0xE3, 0x82, 0x99, 0x0D,\n\t// Bytes 3f40 - 3f7f\n\t0x06, 0xE3, 0x81, 0x99, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x9D, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xA1, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xA4, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xA6, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xA8, 0xE3, 0x82, 0x99, 0x0D,\n\t// Bytes 3f80 - 3fbf\n\t0x06, 0xE3, 0x81, 0xAF, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xAF, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x81, 0xB2, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xB2, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x81, 0xB5, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xB5, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x81, 0xB8, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xB8, 0xE3, 0x82, 0x9A, 0x0D,\n\t// Bytes 3fc0 - 3fff\n\t0x06, 0xE3, 0x81, 0xBB, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xBB, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x82, 0x9D, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xA6, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xAD, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xB1, 0xE3, 0x82, 0x99, 0x0D,\n\t// Bytes 4000 - 403f\n\t0x06, 0xE3, 0x82, 0xB3, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xB5, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xB7, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xB9, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xBB, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xBD, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0x81, 0xE3, 0x82, 0x99, 0x0D,\n\t// Bytes 4040 - 407f\n\t0x06, 0xE3, 0x83, 0x84, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x83, 0x95, 0xE3, 0x82, 0x99, 0x0D,\n\t// Bytes 4080 - 40bf\n\t0x06, 0xE3, 0x83, 0x95, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x83, 0xAF, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0xB0, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0xB1, 0xE3, 0x82, 0x99, 0x0D,\n\t// Bytes 40c0 - 40ff\n\t0x06, 0xE3, 0x83, 0xB2, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0xBD, 0xE3, 0x82, 0x99, 0x0D,\n\t0x08, 0xCE, 0x91, 0xCC, 0x93, 0xCC, 0x80, 0xCD,\n\t0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC, 0x93, 0xCC,\n\t0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC,\n\t0x93, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE,\n\t0x91, 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB,\n\t0x08, 0xCE, 0x91, 0xCC, 0x94, 0xCC, 0x81, 0xCD,\n\t// Bytes 4100 - 413f\n\t0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC, 0x94, 0xCD,\n\t0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC,\n\t0x93, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE,\n\t0x97, 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB,\n\t0x08, 0xCE, 0x97, 0xCC, 0x93, 0xCD, 0x82, 0xCD,\n\t0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC, 0x94, 0xCC,\n\t0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC,\n\t0x94, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE,\n\t// Bytes 4140 - 417f\n\t0x97, 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB,\n\t0x08, 0xCE, 0xA9, 0xCC, 0x93, 0xCC, 0x80, 0xCD,\n\t0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, 0x93, 0xCC,\n\t0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC,\n\t0x93, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE,\n\t0xA9, 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB,\n\t0x08, 0xCE, 0xA9, 0xCC, 0x94, 0xCC, 0x81, 0xCD,\n\t0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, 0x94, 0xCD,\n\t// Bytes 4180 - 41bf\n\t0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC,\n\t0x93, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE,\n\t0xB1, 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB,\n\t0x08, 0xCE, 0xB1, 0xCC, 0x93, 0xCD, 0x82, 0xCD,\n\t0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC, 0x94, 0xCC,\n\t0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC,\n\t0x94, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE,\n\t0xB1, 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB,\n\t// Bytes 41c0 - 41ff\n\t0x08, 0xCE, 0xB7, 0xCC, 0x93, 0xCC, 0x80, 0xCD,\n\t0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, 0x93, 0xCC,\n\t0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC,\n\t0x93, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE,\n\t0xB7, 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB,\n\t0x08, 0xCE, 0xB7, 0xCC, 0x94, 0xCC, 0x81, 0xCD,\n\t0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, 0x94, 0xCD,\n\t0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC,\n\t// Bytes 4200 - 423f\n\t0x93, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCF,\n\t0x89, 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB,\n\t0x08, 0xCF, 0x89, 0xCC, 0x93, 0xCD, 0x82, 0xCD,\n\t0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC, 0x94, 0xCC,\n\t0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC,\n\t0x94, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCF,\n\t0x89, 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB,\n\t0x08, 0xF0, 0x91, 0x82, 0x99, 0xF0, 0x91, 0x82,\n\t// Bytes 4240 - 427f\n\t0xBA, 0x09, 0x08, 0xF0, 0x91, 0x82, 0x9B, 0xF0,\n\t0x91, 0x82, 0xBA, 0x09, 0x08, 0xF0, 0x91, 0x82,\n\t0xA5, 0xF0, 0x91, 0x82, 0xBA, 0x09, 0x42, 0xC2,\n\t0xB4, 0x01, 0x43, 0x20, 0xCC, 0x81, 0xC9, 0x43,\n\t0x20, 0xCC, 0x83, 0xC9, 0x43, 0x20, 0xCC, 0x84,\n\t0xC9, 0x43, 0x20, 0xCC, 0x85, 0xC9, 0x43, 0x20,\n\t0xCC, 0x86, 0xC9, 0x43, 0x20, 0xCC, 0x87, 0xC9,\n\t0x43, 0x20, 0xCC, 0x88, 0xC9, 0x43, 0x20, 0xCC,\n\t// Bytes 4280 - 42bf\n\t0x8A, 0xC9, 0x43, 0x20, 0xCC, 0x8B, 0xC9, 0x43,\n\t0x20, 0xCC, 0x93, 0xC9, 0x43, 0x20, 0xCC, 0x94,\n\t0xC9, 0x43, 0x20, 0xCC, 0xA7, 0xA5, 0x43, 0x20,\n\t0xCC, 0xA8, 0xA5, 0x43, 0x20, 0xCC, 0xB3, 0xB5,\n\t0x43, 0x20, 0xCD, 0x82, 0xC9, 0x43, 0x20, 0xCD,\n\t0x85, 0xD9, 0x43, 0x20, 0xD9, 0x8B, 0x59, 0x43,\n\t0x20, 0xD9, 0x8C, 0x5D, 0x43, 0x20, 0xD9, 0x8D,\n\t0x61, 0x43, 0x20, 0xD9, 0x8E, 0x65, 0x43, 0x20,\n\t// Bytes 42c0 - 42ff\n\t0xD9, 0x8F, 0x69, 0x43, 0x20, 0xD9, 0x90, 0x6D,\n\t0x43, 0x20, 0xD9, 0x91, 0x71, 0x43, 0x20, 0xD9,\n\t0x92, 0x75, 0x43, 0x41, 0xCC, 0x8A, 0xC9, 0x43,\n\t0x73, 0xCC, 0x87, 0xC9, 0x44, 0x20, 0xE3, 0x82,\n\t0x99, 0x0D, 0x44, 0x20, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x44, 0xC2, 0xA8, 0xCC, 0x81, 0xCA, 0x44, 0xCE,\n\t0x91, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0x95, 0xCC,\n\t0x81, 0xC9, 0x44, 0xCE, 0x97, 0xCC, 0x81, 0xC9,\n\t// Bytes 4300 - 433f\n\t0x44, 0xCE, 0x99, 0xCC, 0x81, 0xC9, 0x44, 0xCE,\n\t0x9F, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0xA5, 0xCC,\n\t0x81, 0xC9, 0x44, 0xCE, 0xA5, 0xCC, 0x88, 0xC9,\n\t0x44, 0xCE, 0xA9, 0xCC, 0x81, 0xC9, 0x44, 0xCE,\n\t0xB1, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0xB5, 0xCC,\n\t0x81, 0xC9, 0x44, 0xCE, 0xB7, 0xCC, 0x81, 0xC9,\n\t0x44, 0xCE, 0xB9, 0xCC, 0x81, 0xC9, 0x44, 0xCE,\n\t0xBF, 0xCC, 0x81, 0xC9, 0x44, 0xCF, 0x85, 0xCC,\n\t// Bytes 4340 - 437f\n\t0x81, 0xC9, 0x44, 0xCF, 0x89, 0xCC, 0x81, 0xC9,\n\t0x44, 0xD7, 0x90, 0xD6, 0xB7, 0x31, 0x44, 0xD7,\n\t0x90, 0xD6, 0xB8, 0x35, 0x44, 0xD7, 0x90, 0xD6,\n\t0xBC, 0x41, 0x44, 0xD7, 0x91, 0xD6, 0xBC, 0x41,\n\t0x44, 0xD7, 0x91, 0xD6, 0xBF, 0x49, 0x44, 0xD7,\n\t0x92, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x93, 0xD6,\n\t0xBC, 0x41, 0x44, 0xD7, 0x94, 0xD6, 0xBC, 0x41,\n\t0x44, 0xD7, 0x95, 0xD6, 0xB9, 0x39, 0x44, 0xD7,\n\t// Bytes 4380 - 43bf\n\t0x95, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x96, 0xD6,\n\t0xBC, 0x41, 0x44, 0xD7, 0x98, 0xD6, 0xBC, 0x41,\n\t0x44, 0xD7, 0x99, 0xD6, 0xB4, 0x25, 0x44, 0xD7,\n\t0x99, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x9A, 0xD6,\n\t0xBC, 0x41, 0x44, 0xD7, 0x9B, 0xD6, 0xBC, 0x41,\n\t0x44, 0xD7, 0x9B, 0xD6, 0xBF, 0x49, 0x44, 0xD7,\n\t0x9C, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x9E, 0xD6,\n\t0xBC, 0x41, 0x44, 0xD7, 0xA0, 0xD6, 0xBC, 0x41,\n\t// Bytes 43c0 - 43ff\n\t0x44, 0xD7, 0xA1, 0xD6, 0xBC, 0x41, 0x44, 0xD7,\n\t0xA3, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA4, 0xD6,\n\t0xBC, 0x41, 0x44, 0xD7, 0xA4, 0xD6, 0xBF, 0x49,\n\t0x44, 0xD7, 0xA6, 0xD6, 0xBC, 0x41, 0x44, 0xD7,\n\t0xA7, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA8, 0xD6,\n\t0xBC, 0x41, 0x44, 0xD7, 0xA9, 0xD6, 0xBC, 0x41,\n\t0x44, 0xD7, 0xA9, 0xD7, 0x81, 0x4D, 0x44, 0xD7,\n\t0xA9, 0xD7, 0x82, 0x51, 0x44, 0xD7, 0xAA, 0xD6,\n\t// Bytes 4400 - 443f\n\t0xBC, 0x41, 0x44, 0xD7, 0xB2, 0xD6, 0xB7, 0x31,\n\t0x44, 0xD8, 0xA7, 0xD9, 0x8B, 0x59, 0x44, 0xD8,\n\t0xA7, 0xD9, 0x93, 0xC9, 0x44, 0xD8, 0xA7, 0xD9,\n\t0x94, 0xC9, 0x44, 0xD8, 0xA7, 0xD9, 0x95, 0xB5,\n\t0x44, 0xD8, 0xB0, 0xD9, 0xB0, 0x79, 0x44, 0xD8,\n\t0xB1, 0xD9, 0xB0, 0x79, 0x44, 0xD9, 0x80, 0xD9,\n\t0x8B, 0x59, 0x44, 0xD9, 0x80, 0xD9, 0x8E, 0x65,\n\t0x44, 0xD9, 0x80, 0xD9, 0x8F, 0x69, 0x44, 0xD9,\n\t// Bytes 4440 - 447f\n\t0x80, 0xD9, 0x90, 0x6D, 0x44, 0xD9, 0x80, 0xD9,\n\t0x91, 0x71, 0x44, 0xD9, 0x80, 0xD9, 0x92, 0x75,\n\t0x44, 0xD9, 0x87, 0xD9, 0xB0, 0x79, 0x44, 0xD9,\n\t0x88, 0xD9, 0x94, 0xC9, 0x44, 0xD9, 0x89, 0xD9,\n\t0xB0, 0x79, 0x44, 0xD9, 0x8A, 0xD9, 0x94, 0xC9,\n\t0x44, 0xDB, 0x92, 0xD9, 0x94, 0xC9, 0x44, 0xDB,\n\t0x95, 0xD9, 0x94, 0xC9, 0x45, 0x20, 0xCC, 0x88,\n\t0xCC, 0x80, 0xCA, 0x45, 0x20, 0xCC, 0x88, 0xCC,\n\t// Bytes 4480 - 44bf\n\t0x81, 0xCA, 0x45, 0x20, 0xCC, 0x88, 0xCD, 0x82,\n\t0xCA, 0x45, 0x20, 0xCC, 0x93, 0xCC, 0x80, 0xCA,\n\t0x45, 0x20, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x45,\n\t0x20, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x45, 0x20,\n\t0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x45, 0x20, 0xCC,\n\t0x94, 0xCC, 0x81, 0xCA, 0x45, 0x20, 0xCC, 0x94,\n\t0xCD, 0x82, 0xCA, 0x45, 0x20, 0xD9, 0x8C, 0xD9,\n\t0x91, 0x72, 0x45, 0x20, 0xD9, 0x8D, 0xD9, 0x91,\n\t// Bytes 44c0 - 44ff\n\t0x72, 0x45, 0x20, 0xD9, 0x8E, 0xD9, 0x91, 0x72,\n\t0x45, 0x20, 0xD9, 0x8F, 0xD9, 0x91, 0x72, 0x45,\n\t0x20, 0xD9, 0x90, 0xD9, 0x91, 0x72, 0x45, 0x20,\n\t0xD9, 0x91, 0xD9, 0xB0, 0x7A, 0x45, 0xE2, 0xAB,\n\t0x9D, 0xCC, 0xB8, 0x05, 0x46, 0xCE, 0xB9, 0xCC,\n\t0x88, 0xCC, 0x81, 0xCA, 0x46, 0xCF, 0x85, 0xCC,\n\t0x88, 0xCC, 0x81, 0xCA, 0x46, 0xD7, 0xA9, 0xD6,\n\t0xBC, 0xD7, 0x81, 0x4E, 0x46, 0xD7, 0xA9, 0xD6,\n\t// Bytes 4500 - 453f\n\t0xBC, 0xD7, 0x82, 0x52, 0x46, 0xD9, 0x80, 0xD9,\n\t0x8E, 0xD9, 0x91, 0x72, 0x46, 0xD9, 0x80, 0xD9,\n\t0x8F, 0xD9, 0x91, 0x72, 0x46, 0xD9, 0x80, 0xD9,\n\t0x90, 0xD9, 0x91, 0x72, 0x46, 0xE0, 0xA4, 0x95,\n\t0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0x96,\n\t0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0x97,\n\t0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0x9C,\n\t0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xA1,\n\t// Bytes 4540 - 457f\n\t0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xA2,\n\t0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xAB,\n\t0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xAF,\n\t0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA6, 0xA1,\n\t0xE0, 0xA6, 0xBC, 0x09, 0x46, 0xE0, 0xA6, 0xA2,\n\t0xE0, 0xA6, 0xBC, 0x09, 0x46, 0xE0, 0xA6, 0xAF,\n\t0xE0, 0xA6, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0x96,\n\t0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0x97,\n\t// Bytes 4580 - 45bf\n\t0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0x9C,\n\t0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0xAB,\n\t0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0xB2,\n\t0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0xB8,\n\t0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xAC, 0xA1,\n\t0xE0, 0xAC, 0xBC, 0x09, 0x46, 0xE0, 0xAC, 0xA2,\n\t0xE0, 0xAC, 0xBC, 0x09, 0x46, 0xE0, 0xBE, 0xB2,\n\t0xE0, 0xBE, 0x80, 0x9D, 0x46, 0xE0, 0xBE, 0xB3,\n\t// Bytes 45c0 - 45ff\n\t0xE0, 0xBE, 0x80, 0x9D, 0x46, 0xE3, 0x83, 0x86,\n\t0xE3, 0x82, 0x99, 0x0D, 0x48, 0xF0, 0x9D, 0x85,\n\t0x97, 0xF0, 0x9D, 0x85, 0xA5, 0xAD, 0x48, 0xF0,\n\t0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xAD,\n\t0x48, 0xF0, 0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85,\n\t0xA5, 0xAD, 0x48, 0xF0, 0x9D, 0x86, 0xBA, 0xF0,\n\t0x9D, 0x85, 0xA5, 0xAD, 0x49, 0xE0, 0xBE, 0xB2,\n\t0xE0, 0xBD, 0xB1, 0xE0, 0xBE, 0x80, 0x9E, 0x49,\n\t// Bytes 4600 - 463f\n\t0xE0, 0xBE, 0xB3, 0xE0, 0xBD, 0xB1, 0xE0, 0xBE,\n\t0x80, 0x9E, 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0,\n\t0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAE, 0xAE,\n\t0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85,\n\t0xA5, 0xF0, 0x9D, 0x85, 0xAF, 0xAE, 0x4C, 0xF0,\n\t0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xF0,\n\t0x9D, 0x85, 0xB0, 0xAE, 0x4C, 0xF0, 0x9D, 0x85,\n\t0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85,\n\t// Bytes 4640 - 467f\n\t0xB1, 0xAE, 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0,\n\t0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xB2, 0xAE,\n\t0x4C, 0xF0, 0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85,\n\t0xA5, 0xF0, 0x9D, 0x85, 0xAE, 0xAE, 0x4C, 0xF0,\n\t0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85, 0xA5, 0xF0,\n\t0x9D, 0x85, 0xAF, 0xAE, 0x4C, 0xF0, 0x9D, 0x86,\n\t0xBA, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85,\n\t0xAE, 0xAE, 0x4C, 0xF0, 0x9D, 0x86, 0xBA, 0xF0,\n\t// Bytes 4680 - 46bf\n\t0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAF, 0xAE,\n\t0x83, 0x41, 0xCC, 0x82, 0xC9, 0x83, 0x41, 0xCC,\n\t0x86, 0xC9, 0x83, 0x41, 0xCC, 0x87, 0xC9, 0x83,\n\t0x41, 0xCC, 0x88, 0xC9, 0x83, 0x41, 0xCC, 0x8A,\n\t0xC9, 0x83, 0x41, 0xCC, 0xA3, 0xB5, 0x83, 0x43,\n\t0xCC, 0xA7, 0xA5, 0x83, 0x45, 0xCC, 0x82, 0xC9,\n\t0x83, 0x45, 0xCC, 0x84, 0xC9, 0x83, 0x45, 0xCC,\n\t0xA3, 0xB5, 0x83, 0x45, 0xCC, 0xA7, 0xA5, 0x83,\n\t// Bytes 46c0 - 46ff\n\t0x49, 0xCC, 0x88, 0xC9, 0x83, 0x4C, 0xCC, 0xA3,\n\t0xB5, 0x83, 0x4F, 0xCC, 0x82, 0xC9, 0x83, 0x4F,\n\t0xCC, 0x83, 0xC9, 0x83, 0x4F, 0xCC, 0x84, 0xC9,\n\t0x83, 0x4F, 0xCC, 0x87, 0xC9, 0x83, 0x4F, 0xCC,\n\t0x88, 0xC9, 0x83, 0x4F, 0xCC, 0x9B, 0xAD, 0x83,\n\t0x4F, 0xCC, 0xA3, 0xB5, 0x83, 0x4F, 0xCC, 0xA8,\n\t0xA5, 0x83, 0x52, 0xCC, 0xA3, 0xB5, 0x83, 0x53,\n\t0xCC, 0x81, 0xC9, 0x83, 0x53, 0xCC, 0x8C, 0xC9,\n\t// Bytes 4700 - 473f\n\t0x83, 0x53, 0xCC, 0xA3, 0xB5, 0x83, 0x55, 0xCC,\n\t0x83, 0xC9, 0x83, 0x55, 0xCC, 0x84, 0xC9, 0x83,\n\t0x55, 0xCC, 0x88, 0xC9, 0x83, 0x55, 0xCC, 0x9B,\n\t0xAD, 0x83, 0x61, 0xCC, 0x82, 0xC9, 0x83, 0x61,\n\t0xCC, 0x86, 0xC9, 0x83, 0x61, 0xCC, 0x87, 0xC9,\n\t0x83, 0x61, 0xCC, 0x88, 0xC9, 0x83, 0x61, 0xCC,\n\t0x8A, 0xC9, 0x83, 0x61, 0xCC, 0xA3, 0xB5, 0x83,\n\t0x63, 0xCC, 0xA7, 0xA5, 0x83, 0x65, 0xCC, 0x82,\n\t// Bytes 4740 - 477f\n\t0xC9, 0x83, 0x65, 0xCC, 0x84, 0xC9, 0x83, 0x65,\n\t0xCC, 0xA3, 0xB5, 0x83, 0x65, 0xCC, 0xA7, 0xA5,\n\t0x83, 0x69, 0xCC, 0x88, 0xC9, 0x83, 0x6C, 0xCC,\n\t0xA3, 0xB5, 0x83, 0x6F, 0xCC, 0x82, 0xC9, 0x83,\n\t0x6F, 0xCC, 0x83, 0xC9, 0x83, 0x6F, 0xCC, 0x84,\n\t0xC9, 0x83, 0x6F, 0xCC, 0x87, 0xC9, 0x83, 0x6F,\n\t0xCC, 0x88, 0xC9, 0x83, 0x6F, 0xCC, 0x9B, 0xAD,\n\t0x83, 0x6F, 0xCC, 0xA3, 0xB5, 0x83, 0x6F, 0xCC,\n\t// Bytes 4780 - 47bf\n\t0xA8, 0xA5, 0x83, 0x72, 0xCC, 0xA3, 0xB5, 0x83,\n\t0x73, 0xCC, 0x81, 0xC9, 0x83, 0x73, 0xCC, 0x8C,\n\t0xC9, 0x83, 0x73, 0xCC, 0xA3, 0xB5, 0x83, 0x75,\n\t0xCC, 0x83, 0xC9, 0x83, 0x75, 0xCC, 0x84, 0xC9,\n\t0x83, 0x75, 0xCC, 0x88, 0xC9, 0x83, 0x75, 0xCC,\n\t0x9B, 0xAD, 0x84, 0xCE, 0x91, 0xCC, 0x93, 0xC9,\n\t0x84, 0xCE, 0x91, 0xCC, 0x94, 0xC9, 0x84, 0xCE,\n\t0x95, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0x95, 0xCC,\n\t// Bytes 47c0 - 47ff\n\t0x94, 0xC9, 0x84, 0xCE, 0x97, 0xCC, 0x93, 0xC9,\n\t0x84, 0xCE, 0x97, 0xCC, 0x94, 0xC9, 0x84, 0xCE,\n\t0x99, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0x99, 0xCC,\n\t0x94, 0xC9, 0x84, 0xCE, 0x9F, 0xCC, 0x93, 0xC9,\n\t0x84, 0xCE, 0x9F, 0xCC, 0x94, 0xC9, 0x84, 0xCE,\n\t0xA5, 0xCC, 0x94, 0xC9, 0x84, 0xCE, 0xA9, 0xCC,\n\t0x93, 0xC9, 0x84, 0xCE, 0xA9, 0xCC, 0x94, 0xC9,\n\t0x84, 0xCE, 0xB1, 0xCC, 0x80, 0xC9, 0x84, 0xCE,\n\t// Bytes 4800 - 483f\n\t0xB1, 0xCC, 0x81, 0xC9, 0x84, 0xCE, 0xB1, 0xCC,\n\t0x93, 0xC9, 0x84, 0xCE, 0xB1, 0xCC, 0x94, 0xC9,\n\t0x84, 0xCE, 0xB1, 0xCD, 0x82, 0xC9, 0x84, 0xCE,\n\t0xB5, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB5, 0xCC,\n\t0x94, 0xC9, 0x84, 0xCE, 0xB7, 0xCC, 0x80, 0xC9,\n\t0x84, 0xCE, 0xB7, 0xCC, 0x81, 0xC9, 0x84, 0xCE,\n\t0xB7, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB7, 0xCC,\n\t0x94, 0xC9, 0x84, 0xCE, 0xB7, 0xCD, 0x82, 0xC9,\n\t// Bytes 4840 - 487f\n\t0x84, 0xCE, 0xB9, 0xCC, 0x88, 0xC9, 0x84, 0xCE,\n\t0xB9, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB9, 0xCC,\n\t0x94, 0xC9, 0x84, 0xCE, 0xBF, 0xCC, 0x93, 0xC9,\n\t0x84, 0xCE, 0xBF, 0xCC, 0x94, 0xC9, 0x84, 0xCF,\n\t0x85, 0xCC, 0x88, 0xC9, 0x84, 0xCF, 0x85, 0xCC,\n\t0x93, 0xC9, 0x84, 0xCF, 0x85, 0xCC, 0x94, 0xC9,\n\t0x84, 0xCF, 0x89, 0xCC, 0x80, 0xC9, 0x84, 0xCF,\n\t0x89, 0xCC, 0x81, 0xC9, 0x84, 0xCF, 0x89, 0xCC,\n\t// Bytes 4880 - 48bf\n\t0x93, 0xC9, 0x84, 0xCF, 0x89, 0xCC, 0x94, 0xC9,\n\t0x84, 0xCF, 0x89, 0xCD, 0x82, 0xC9, 0x86, 0xCE,\n\t0x91, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0x91, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0x91, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t0x91, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0x91, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0x91, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t// Bytes 48c0 - 48ff\n\t0x97, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0x97, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0x97, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t0x97, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0x97, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0x97, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t0xA9, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0xA9, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t// Bytes 4900 - 493f\n\t0xA9, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t0xA9, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0xA9, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0xA9, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t0xB1, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0xB1, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0xB1, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t0xB1, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t// Bytes 4940 - 497f\n\t0xB1, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0xB1, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t0xB7, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0xB7, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0xB7, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t0xB7, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0xB7, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0xB7, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCF,\n\t// Bytes 4980 - 49bf\n\t0x89, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCF,\n\t0x89, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCF,\n\t0x89, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCF,\n\t0x89, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCF,\n\t0x89, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCF,\n\t0x89, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x42, 0xCC,\n\t0x80, 0xC9, 0x32, 0x42, 0xCC, 0x81, 0xC9, 0x32,\n\t0x42, 0xCC, 0x93, 0xC9, 0x32, 0x43, 0xE1, 0x85,\n\t// Bytes 49c0 - 49ff\n\t0xA1, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA2, 0x01,\n\t0x00, 0x43, 0xE1, 0x85, 0xA3, 0x01, 0x00, 0x43,\n\t0xE1, 0x85, 0xA4, 0x01, 0x00, 0x43, 0xE1, 0x85,\n\t0xA5, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA6, 0x01,\n\t0x00, 0x43, 0xE1, 0x85, 0xA7, 0x01, 0x00, 0x43,\n\t0xE1, 0x85, 0xA8, 0x01, 0x00, 0x43, 0xE1, 0x85,\n\t0xA9, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAA, 0x01,\n\t0x00, 0x43, 0xE1, 0x85, 0xAB, 0x01, 0x00, 0x43,\n\t// Bytes 4a00 - 4a3f\n\t0xE1, 0x85, 0xAC, 0x01, 0x00, 0x43, 0xE1, 0x85,\n\t0xAD, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAE, 0x01,\n\t0x00, 0x43, 0xE1, 0x85, 0xAF, 0x01, 0x00, 0x43,\n\t0xE1, 0x85, 0xB0, 0x01, 0x00, 0x43, 0xE1, 0x85,\n\t0xB1, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xB2, 0x01,\n\t0x00, 0x43, 0xE1, 0x85, 0xB3, 0x01, 0x00, 0x43,\n\t0xE1, 0x85, 0xB4, 0x01, 0x00, 0x43, 0xE1, 0x85,\n\t0xB5, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xAA, 0x01,\n\t// Bytes 4a40 - 4a7f\n\t0x00, 0x43, 0xE1, 0x86, 0xAC, 0x01, 0x00, 0x43,\n\t0xE1, 0x86, 0xAD, 0x01, 0x00, 0x43, 0xE1, 0x86,\n\t0xB0, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB1, 0x01,\n\t0x00, 0x43, 0xE1, 0x86, 0xB2, 0x01, 0x00, 0x43,\n\t0xE1, 0x86, 0xB3, 0x01, 0x00, 0x43, 0xE1, 0x86,\n\t0xB4, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB5, 0x01,\n\t0x00, 0x44, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x32,\n\t0x43, 0xE3, 0x82, 0x99, 0x0D, 0x03, 0x43, 0xE3,\n\t// Bytes 4a80 - 4abf\n\t0x82, 0x9A, 0x0D, 0x03, 0x46, 0xE0, 0xBD, 0xB1,\n\t0xE0, 0xBD, 0xB2, 0x9E, 0x26, 0x46, 0xE0, 0xBD,\n\t0xB1, 0xE0, 0xBD, 0xB4, 0xA2, 0x26, 0x46, 0xE0,\n\t0xBD, 0xB1, 0xE0, 0xBE, 0x80, 0x9E, 0x26, 0x00,\n\t0x01,\n}\n\n// lookup returns the trie value for the first UTF-8 encoding in s and\n// the width in bytes of this encoding. The size will be 0 if s does not\n// hold enough bytes to complete the encoding. len(s) must be greater than 0.\nfunc (t *nfcTrie) lookup(s []byte) (v uint16, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < 0x80: // is ASCII\n\t\treturn nfcValues[c0], 1\n\tcase c0 < 0xC2:\n\t\treturn 0, 1 // Illegal UTF-8: not a starter, not ASCII.\n\tcase c0 < 0xE0: // 2-byte UTF-8\n\t\tif len(s) < 2 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c1), 2\n\tcase c0 < 0xF0: // 3-byte UTF-8\n\t\tif len(s) < 3 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = nfcIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c2), 3\n\tcase c0 < 0xF8: // 4-byte UTF-8\n\t\tif len(s) < 4 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = nfcIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to = uint32(i)<<6 + uint32(c2)\n\t\ti = nfcIndex[o]\n\t\tc3 := s[3]\n\t\tif c3 < 0x80 || 0xC0 <= c3 {\n\t\t\treturn 0, 3 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c3), 4\n\t}\n\t// Illegal rune\n\treturn 0, 1\n}\n\n// lookupUnsafe returns the trie value for the first UTF-8 encoding in s.\n// s must start with a full and valid UTF-8 encoded rune.\nfunc (t *nfcTrie) lookupUnsafe(s []byte) uint16 {\n\tc0 := s[0]\n\tif c0 < 0x80 { // is ASCII\n\t\treturn nfcValues[c0]\n\t}\n\ti := nfcIndex[c0]\n\tif c0 < 0xE0 { // 2-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[1])\n\t}\n\ti = nfcIndex[uint32(i)<<6+uint32(s[1])]\n\tif c0 < 0xF0 { // 3-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[2])\n\t}\n\ti = nfcIndex[uint32(i)<<6+uint32(s[2])]\n\tif c0 < 0xF8 { // 4-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[3])\n\t}\n\treturn 0\n}\n\n// lookupString returns the trie value for the first UTF-8 encoding in s and\n// the width in bytes of this encoding. The size will be 0 if s does not\n// hold enough bytes to complete the encoding. len(s) must be greater than 0.\nfunc (t *nfcTrie) lookupString(s string) (v uint16, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < 0x80: // is ASCII\n\t\treturn nfcValues[c0], 1\n\tcase c0 < 0xC2:\n\t\treturn 0, 1 // Illegal UTF-8: not a starter, not ASCII.\n\tcase c0 < 0xE0: // 2-byte UTF-8\n\t\tif len(s) < 2 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c1), 2\n\tcase c0 < 0xF0: // 3-byte UTF-8\n\t\tif len(s) < 3 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = nfcIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c2), 3\n\tcase c0 < 0xF8: // 4-byte UTF-8\n\t\tif len(s) < 4 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = nfcIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to = uint32(i)<<6 + uint32(c2)\n\t\ti = nfcIndex[o]\n\t\tc3 := s[3]\n\t\tif c3 < 0x80 || 0xC0 <= c3 {\n\t\t\treturn 0, 3 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c3), 4\n\t}\n\t// Illegal rune\n\treturn 0, 1\n}\n\n// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s.\n// s must start with a full and valid UTF-8 encoded rune.\nfunc (t *nfcTrie) lookupStringUnsafe(s string) uint16 {\n\tc0 := s[0]\n\tif c0 < 0x80 { // is ASCII\n\t\treturn nfcValues[c0]\n\t}\n\ti := nfcIndex[c0]\n\tif c0 < 0xE0 { // 2-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[1])\n\t}\n\ti = nfcIndex[uint32(i)<<6+uint32(s[1])]\n\tif c0 < 0xF0 { // 3-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[2])\n\t}\n\ti = nfcIndex[uint32(i)<<6+uint32(s[2])]\n\tif c0 < 0xF8 { // 4-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[3])\n\t}\n\treturn 0\n}\n\n// nfcTrie. Total size: 10442 bytes (10.20 KiB). Checksum: 4ba400a9d8208e03.\ntype nfcTrie struct{}\n\nfunc newNfcTrie(i int) *nfcTrie {\n\treturn &nfcTrie{}\n}\n\n// lookupValue determines the type of block n and looks up the value for b.\nfunc (t *nfcTrie) lookupValue(n uint32, b byte) uint16 {\n\tswitch {\n\tcase n < 45:\n\t\treturn uint16(nfcValues[n<<6+uint32(b)])\n\tdefault:\n\t\tn -= 45\n\t\treturn uint16(nfcSparse.lookup(n, b))\n\t}\n}\n\n// nfcValues: 47 blocks, 3008 entries, 6016 bytes\n// The third block is the zero block.\nvar nfcValues = [3008]uint16{\n\t// Block 0x0, offset 0x0\n\t0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000,\n\t// Block 0x1, offset 0x40\n\t0x41: 0xa000, 0x42: 0xa000, 0x43: 0xa000, 0x44: 0xa000, 0x45: 0xa000,\n\t0x46: 0xa000, 0x47: 0xa000, 0x48: 0xa000, 0x49: 0xa000, 0x4a: 0xa000, 0x4b: 0xa000,\n\t0x4c: 0xa000, 0x4d: 0xa000, 0x4e: 0xa000, 0x4f: 0xa000, 0x50: 0xa000,\n\t0x52: 0xa000, 0x53: 0xa000, 0x54: 0xa000, 0x55: 0xa000, 0x56: 0xa000, 0x57: 0xa000,\n\t0x58: 0xa000, 0x59: 0xa000, 0x5a: 0xa000,\n\t0x61: 0xa000, 0x62: 0xa000, 0x63: 0xa000,\n\t0x64: 0xa000, 0x65: 0xa000, 0x66: 0xa000, 0x67: 0xa000, 0x68: 0xa000, 0x69: 0xa000,\n\t0x6a: 0xa000, 0x6b: 0xa000, 0x6c: 0xa000, 0x6d: 0xa000, 0x6e: 0xa000, 0x6f: 0xa000,\n\t0x70: 0xa000, 0x72: 0xa000, 0x73: 0xa000, 0x74: 0xa000, 0x75: 0xa000,\n\t0x76: 0xa000, 0x77: 0xa000, 0x78: 0xa000, 0x79: 0xa000, 0x7a: 0xa000,\n\t// Block 0x2, offset 0x80\n\t// Block 0x3, offset 0xc0\n\t0xc0: 0x2f6f, 0xc1: 0x2f74, 0xc2: 0x4688, 0xc3: 0x2f79, 0xc4: 0x4697, 0xc5: 0x469c,\n\t0xc6: 0xa000, 0xc7: 0x46a6, 0xc8: 0x2fe2, 0xc9: 0x2fe7, 0xca: 0x46ab, 0xcb: 0x2ffb,\n\t0xcc: 0x306e, 0xcd: 0x3073, 0xce: 0x3078, 0xcf: 0x46bf, 0xd1: 0x3104,\n\t0xd2: 0x3127, 0xd3: 0x312c, 0xd4: 0x46c9, 0xd5: 0x46ce, 0xd6: 0x46dd,\n\t0xd8: 0xa000, 0xd9: 0x31b3, 0xda: 0x31b8, 0xdb: 0x31bd, 0xdc: 0x470f, 0xdd: 0x3235,\n\t0xe0: 0x327b, 0xe1: 0x3280, 0xe2: 0x4719, 0xe3: 0x3285,\n\t0xe4: 0x4728, 0xe5: 0x472d, 0xe6: 0xa000, 0xe7: 0x4737, 0xe8: 0x32ee, 0xe9: 0x32f3,\n\t0xea: 0x473c, 0xeb: 0x3307, 0xec: 0x337f, 0xed: 0x3384, 0xee: 0x3389, 0xef: 0x4750,\n\t0xf1: 0x3415, 0xf2: 0x3438, 0xf3: 0x343d, 0xf4: 0x475a, 0xf5: 0x475f,\n\t0xf6: 0x476e, 0xf8: 0xa000, 0xf9: 0x34c9, 0xfa: 0x34ce, 0xfb: 0x34d3,\n\t0xfc: 0x47a0, 0xfd: 0x3550, 0xff: 0x3569,\n\t// Block 0x4, offset 0x100\n\t0x100: 0x2f7e, 0x101: 0x328a, 0x102: 0x468d, 0x103: 0x471e, 0x104: 0x2f9c, 0x105: 0x32a8,\n\t0x106: 0x2fb0, 0x107: 0x32bc, 0x108: 0x2fb5, 0x109: 0x32c1, 0x10a: 0x2fba, 0x10b: 0x32c6,\n\t0x10c: 0x2fbf, 0x10d: 0x32cb, 0x10e: 0x2fc9, 0x10f: 0x32d5,\n\t0x112: 0x46b0, 0x113: 0x4741, 0x114: 0x2ff1, 0x115: 0x32fd, 0x116: 0x2ff6, 0x117: 0x3302,\n\t0x118: 0x3014, 0x119: 0x3320, 0x11a: 0x3005, 0x11b: 0x3311, 0x11c: 0x302d, 0x11d: 0x3339,\n\t0x11e: 0x3037, 0x11f: 0x3343, 0x120: 0x303c, 0x121: 0x3348, 0x122: 0x3046, 0x123: 0x3352,\n\t0x124: 0x304b, 0x125: 0x3357, 0x128: 0x307d, 0x129: 0x338e,\n\t0x12a: 0x3082, 0x12b: 0x3393, 0x12c: 0x3087, 0x12d: 0x3398, 0x12e: 0x30aa, 0x12f: 0x33b6,\n\t0x130: 0x308c, 0x134: 0x30b4, 0x135: 0x33c0,\n\t0x136: 0x30c8, 0x137: 0x33d9, 0x139: 0x30d2, 0x13a: 0x33e3, 0x13b: 0x30dc,\n\t0x13c: 0x33ed, 0x13d: 0x30d7, 0x13e: 0x33e8,\n\t// Block 0x5, offset 0x140\n\t0x143: 0x30ff, 0x144: 0x3410, 0x145: 0x3118,\n\t0x146: 0x3429, 0x147: 0x310e, 0x148: 0x341f,\n\t0x14c: 0x46d3, 0x14d: 0x4764, 0x14e: 0x3131, 0x14f: 0x3442, 0x150: 0x313b, 0x151: 0x344c,\n\t0x154: 0x3159, 0x155: 0x346a, 0x156: 0x3172, 0x157: 0x3483,\n\t0x158: 0x3163, 0x159: 0x3474, 0x15a: 0x46f6, 0x15b: 0x4787, 0x15c: 0x317c, 0x15d: 0x348d,\n\t0x15e: 0x318b, 0x15f: 0x349c, 0x160: 0x46fb, 0x161: 0x478c, 0x162: 0x31a4, 0x163: 0x34ba,\n\t0x164: 0x3195, 0x165: 0x34ab, 0x168: 0x4705, 0x169: 0x4796,\n\t0x16a: 0x470a, 0x16b: 0x479b, 0x16c: 0x31c2, 0x16d: 0x34d8, 0x16e: 0x31cc, 0x16f: 0x34e2,\n\t0x170: 0x31d1, 0x171: 0x34e7, 0x172: 0x31ef, 0x173: 0x3505, 0x174: 0x3212, 0x175: 0x3528,\n\t0x176: 0x323a, 0x177: 0x3555, 0x178: 0x324e, 0x179: 0x325d, 0x17a: 0x357d, 0x17b: 0x3267,\n\t0x17c: 0x3587, 0x17d: 0x326c, 0x17e: 0x358c, 0x17f: 0xa000,\n\t// Block 0x6, offset 0x180\n\t0x184: 0x8100, 0x185: 0x8100,\n\t0x186: 0x8100,\n\t0x18d: 0x2f88, 0x18e: 0x3294, 0x18f: 0x3096, 0x190: 0x33a2, 0x191: 0x3140,\n\t0x192: 0x3451, 0x193: 0x31d6, 0x194: 0x34ec, 0x195: 0x39cf, 0x196: 0x3b5e, 0x197: 0x39c8,\n\t0x198: 0x3b57, 0x199: 0x39d6, 0x19a: 0x3b65, 0x19b: 0x39c1, 0x19c: 0x3b50,\n\t0x19e: 0x38b0, 0x19f: 0x3a3f, 0x1a0: 0x38a9, 0x1a1: 0x3a38, 0x1a2: 0x35b3, 0x1a3: 0x35c5,\n\t0x1a6: 0x3041, 0x1a7: 0x334d, 0x1a8: 0x30be, 0x1a9: 0x33cf,\n\t0x1aa: 0x46ec, 0x1ab: 0x477d, 0x1ac: 0x3990, 0x1ad: 0x3b1f, 0x1ae: 0x35d7, 0x1af: 0x35dd,\n\t0x1b0: 0x33c5, 0x1b4: 0x3028, 0x1b5: 0x3334,\n\t0x1b8: 0x30fa, 0x1b9: 0x340b, 0x1ba: 0x38b7, 0x1bb: 0x3a46,\n\t0x1bc: 0x35ad, 0x1bd: 0x35bf, 0x1be: 0x35b9, 0x1bf: 0x35cb,\n\t// Block 0x7, offset 0x1c0\n\t0x1c0: 0x2f8d, 0x1c1: 0x3299, 0x1c2: 0x2f92, 0x1c3: 0x329e, 0x1c4: 0x300a, 0x1c5: 0x3316,\n\t0x1c6: 0x300f, 0x1c7: 0x331b, 0x1c8: 0x309b, 0x1c9: 0x33a7, 0x1ca: 0x30a0, 0x1cb: 0x33ac,\n\t0x1cc: 0x3145, 0x1cd: 0x3456, 0x1ce: 0x314a, 0x1cf: 0x345b, 0x1d0: 0x3168, 0x1d1: 0x3479,\n\t0x1d2: 0x316d, 0x1d3: 0x347e, 0x1d4: 0x31db, 0x1d5: 0x34f1, 0x1d6: 0x31e0, 0x1d7: 0x34f6,\n\t0x1d8: 0x3186, 0x1d9: 0x3497, 0x1da: 0x319f, 0x1db: 0x34b5,\n\t0x1de: 0x305a, 0x1df: 0x3366,\n\t0x1e6: 0x4692, 0x1e7: 0x4723, 0x1e8: 0x46ba, 0x1e9: 0x474b,\n\t0x1ea: 0x395f, 0x1eb: 0x3aee, 0x1ec: 0x393c, 0x1ed: 0x3acb, 0x1ee: 0x46d8, 0x1ef: 0x4769,\n\t0x1f0: 0x3958, 0x1f1: 0x3ae7, 0x1f2: 0x3244, 0x1f3: 0x355f,\n\t// Block 0x8, offset 0x200\n\t0x200: 0x9932, 0x201: 0x9932, 0x202: 0x9932, 0x203: 0x9932, 0x204: 0x9932, 0x205: 0x8132,\n\t0x206: 0x9932, 0x207: 0x9932, 0x208: 0x9932, 0x209: 0x9932, 0x20a: 0x9932, 0x20b: 0x9932,\n\t0x20c: 0x9932, 0x20d: 0x8132, 0x20e: 0x8132, 0x20f: 0x9932, 0x210: 0x8132, 0x211: 0x9932,\n\t0x212: 0x8132, 0x213: 0x9932, 0x214: 0x9932, 0x215: 0x8133, 0x216: 0x812d, 0x217: 0x812d,\n\t0x218: 0x812d, 0x219: 0x812d, 0x21a: 0x8133, 0x21b: 0x992b, 0x21c: 0x812d, 0x21d: 0x812d,\n\t0x21e: 0x812d, 0x21f: 0x812d, 0x220: 0x812d, 0x221: 0x8129, 0x222: 0x8129, 0x223: 0x992d,\n\t0x224: 0x992d, 0x225: 0x992d, 0x226: 0x992d, 0x227: 0x9929, 0x228: 0x9929, 0x229: 0x812d,\n\t0x22a: 0x812d, 0x22b: 0x812d, 0x22c: 0x812d, 0x22d: 0x992d, 0x22e: 0x992d, 0x22f: 0x812d,\n\t0x230: 0x992d, 0x231: 0x992d, 0x232: 0x812d, 0x233: 0x812d, 0x234: 0x8101, 0x235: 0x8101,\n\t0x236: 0x8101, 0x237: 0x8101, 0x238: 0x9901, 0x239: 0x812d, 0x23a: 0x812d, 0x23b: 0x812d,\n\t0x23c: 0x812d, 0x23d: 0x8132, 0x23e: 0x8132, 0x23f: 0x8132,\n\t// Block 0x9, offset 0x240\n\t0x240: 0x49ae, 0x241: 0x49b3, 0x242: 0x9932, 0x243: 0x49b8, 0x244: 0x4a71, 0x245: 0x9936,\n\t0x246: 0x8132, 0x247: 0x812d, 0x248: 0x812d, 0x249: 0x812d, 0x24a: 0x8132, 0x24b: 0x8132,\n\t0x24c: 0x8132, 0x24d: 0x812d, 0x24e: 0x812d, 0x250: 0x8132, 0x251: 0x8132,\n\t0x252: 0x8132, 0x253: 0x812d, 0x254: 0x812d, 0x255: 0x812d, 0x256: 0x812d, 0x257: 0x8132,\n\t0x258: 0x8133, 0x259: 0x812d, 0x25a: 0x812d, 0x25b: 0x8132, 0x25c: 0x8134, 0x25d: 0x8135,\n\t0x25e: 0x8135, 0x25f: 0x8134, 0x260: 0x8135, 0x261: 0x8135, 0x262: 0x8134, 0x263: 0x8132,\n\t0x264: 0x8132, 0x265: 0x8132, 0x266: 0x8132, 0x267: 0x8132, 0x268: 0x8132, 0x269: 0x8132,\n\t0x26a: 0x8132, 0x26b: 0x8132, 0x26c: 0x8132, 0x26d: 0x8132, 0x26e: 0x8132, 0x26f: 0x8132,\n\t0x274: 0x0170,\n\t0x27a: 0x8100,\n\t0x27e: 0x0037,\n\t// Block 0xa, offset 0x280\n\t0x284: 0x8100, 0x285: 0x35a1,\n\t0x286: 0x35e9, 0x287: 0x00ce, 0x288: 0x3607, 0x289: 0x3613, 0x28a: 0x3625,\n\t0x28c: 0x3643, 0x28e: 0x3655, 0x28f: 0x3673, 0x290: 0x3e08, 0x291: 0xa000,\n\t0x295: 0xa000, 0x297: 0xa000,\n\t0x299: 0xa000,\n\t0x29f: 0xa000, 0x2a1: 0xa000,\n\t0x2a5: 0xa000, 0x2a9: 0xa000,\n\t0x2aa: 0x3637, 0x2ab: 0x3667, 0x2ac: 0x47fe, 0x2ad: 0x3697, 0x2ae: 0x4828, 0x2af: 0x36a9,\n\t0x2b0: 0x3e70, 0x2b1: 0xa000, 0x2b5: 0xa000,\n\t0x2b7: 0xa000, 0x2b9: 0xa000,\n\t0x2bf: 0xa000,\n\t// Block 0xb, offset 0x2c0\n\t0x2c0: 0x3721, 0x2c1: 0x372d, 0x2c3: 0x371b,\n\t0x2c6: 0xa000, 0x2c7: 0x3709,\n\t0x2cc: 0x375d, 0x2cd: 0x3745, 0x2ce: 0x376f, 0x2d0: 0xa000,\n\t0x2d3: 0xa000, 0x2d5: 0xa000, 0x2d6: 0xa000, 0x2d7: 0xa000,\n\t0x2d8: 0xa000, 0x2d9: 0x3751, 0x2da: 0xa000,\n\t0x2de: 0xa000, 0x2e3: 0xa000,\n\t0x2e7: 0xa000,\n\t0x2eb: 0xa000, 0x2ed: 0xa000,\n\t0x2f0: 0xa000, 0x2f3: 0xa000, 0x2f5: 0xa000,\n\t0x2f6: 0xa000, 0x2f7: 0xa000, 0x2f8: 0xa000, 0x2f9: 0x37d5, 0x2fa: 0xa000,\n\t0x2fe: 0xa000,\n\t// Block 0xc, offset 0x300\n\t0x301: 0x3733, 0x302: 0x37b7,\n\t0x310: 0x370f, 0x311: 0x3793,\n\t0x312: 0x3715, 0x313: 0x3799, 0x316: 0x3727, 0x317: 0x37ab,\n\t0x318: 0xa000, 0x319: 0xa000, 0x31a: 0x3829, 0x31b: 0x382f, 0x31c: 0x3739, 0x31d: 0x37bd,\n\t0x31e: 0x373f, 0x31f: 0x37c3, 0x322: 0x374b, 0x323: 0x37cf,\n\t0x324: 0x3757, 0x325: 0x37db, 0x326: 0x3763, 0x327: 0x37e7, 0x328: 0xa000, 0x329: 0xa000,\n\t0x32a: 0x3835, 0x32b: 0x383b, 0x32c: 0x378d, 0x32d: 0x3811, 0x32e: 0x3769, 0x32f: 0x37ed,\n\t0x330: 0x3775, 0x331: 0x37f9, 0x332: 0x377b, 0x333: 0x37ff, 0x334: 0x3781, 0x335: 0x3805,\n\t0x338: 0x3787, 0x339: 0x380b,\n\t// Block 0xd, offset 0x340\n\t0x351: 0x812d,\n\t0x352: 0x8132, 0x353: 0x8132, 0x354: 0x8132, 0x355: 0x8132, 0x356: 0x812d, 0x357: 0x8132,\n\t0x358: 0x8132, 0x359: 0x8132, 0x35a: 0x812e, 0x35b: 0x812d, 0x35c: 0x8132, 0x35d: 0x8132,\n\t0x35e: 0x8132, 0x35f: 0x8132, 0x360: 0x8132, 0x361: 0x8132, 0x362: 0x812d, 0x363: 0x812d,\n\t0x364: 0x812d, 0x365: 0x812d, 0x366: 0x812d, 0x367: 0x812d, 0x368: 0x8132, 0x369: 0x8132,\n\t0x36a: 0x812d, 0x36b: 0x8132, 0x36c: 0x8132, 0x36d: 0x812e, 0x36e: 0x8131, 0x36f: 0x8132,\n\t0x370: 0x8105, 0x371: 0x8106, 0x372: 0x8107, 0x373: 0x8108, 0x374: 0x8109, 0x375: 0x810a,\n\t0x376: 0x810b, 0x377: 0x810c, 0x378: 0x810d, 0x379: 0x810e, 0x37a: 0x810e, 0x37b: 0x810f,\n\t0x37c: 0x8110, 0x37d: 0x8111, 0x37f: 0x8112,\n\t// Block 0xe, offset 0x380\n\t0x388: 0xa000, 0x38a: 0xa000, 0x38b: 0x8116,\n\t0x38c: 0x8117, 0x38d: 0x8118, 0x38e: 0x8119, 0x38f: 0x811a, 0x390: 0x811b, 0x391: 0x811c,\n\t0x392: 0x811d, 0x393: 0x9932, 0x394: 0x9932, 0x395: 0x992d, 0x396: 0x812d, 0x397: 0x8132,\n\t0x398: 0x8132, 0x399: 0x8132, 0x39a: 0x8132, 0x39b: 0x8132, 0x39c: 0x812d, 0x39d: 0x8132,\n\t0x39e: 0x8132, 0x39f: 0x812d,\n\t0x3b0: 0x811e,\n\t// Block 0xf, offset 0x3c0\n\t0x3c5: 0xa000,\n\t0x3c6: 0x2d26, 0x3c7: 0xa000, 0x3c8: 0x2d2e, 0x3c9: 0xa000, 0x3ca: 0x2d36, 0x3cb: 0xa000,\n\t0x3cc: 0x2d3e, 0x3cd: 0xa000, 0x3ce: 0x2d46, 0x3d1: 0xa000,\n\t0x3d2: 0x2d4e,\n\t0x3f4: 0x8102, 0x3f5: 0x9900,\n\t0x3fa: 0xa000, 0x3fb: 0x2d56,\n\t0x3fc: 0xa000, 0x3fd: 0x2d5e, 0x3fe: 0xa000, 0x3ff: 0xa000,\n\t// Block 0x10, offset 0x400\n\t0x400: 0x8132, 0x401: 0x8132, 0x402: 0x812d, 0x403: 0x8132, 0x404: 0x8132, 0x405: 0x8132,\n\t0x406: 0x8132, 0x407: 0x8132, 0x408: 0x8132, 0x409: 0x8132, 0x40a: 0x812d, 0x40b: 0x8132,\n\t0x40c: 0x8132, 0x40d: 0x8135, 0x40e: 0x812a, 0x40f: 0x812d, 0x410: 0x8129, 0x411: 0x8132,\n\t0x412: 0x8132, 0x413: 0x8132, 0x414: 0x8132, 0x415: 0x8132, 0x416: 0x8132, 0x417: 0x8132,\n\t0x418: 0x8132, 0x419: 0x8132, 0x41a: 0x8132, 0x41b: 0x8132, 0x41c: 0x8132, 0x41d: 0x8132,\n\t0x41e: 0x8132, 0x41f: 0x8132, 0x420: 0x8132, 0x421: 0x8132, 0x422: 0x8132, 0x423: 0x8132,\n\t0x424: 0x8132, 0x425: 0x8132, 0x426: 0x8132, 0x427: 0x8132, 0x428: 0x8132, 0x429: 0x8132,\n\t0x42a: 0x8132, 0x42b: 0x8132, 0x42c: 0x8132, 0x42d: 0x8132, 0x42e: 0x8132, 0x42f: 0x8132,\n\t0x430: 0x8132, 0x431: 0x8132, 0x432: 0x8132, 0x433: 0x8132, 0x434: 0x8132, 0x435: 0x8132,\n\t0x436: 0x8133, 0x437: 0x8131, 0x438: 0x8131, 0x439: 0x812d, 0x43b: 0x8132,\n\t0x43c: 0x8134, 0x43d: 0x812d, 0x43e: 0x8132, 0x43f: 0x812d,\n\t// Block 0x11, offset 0x440\n\t0x440: 0x2f97, 0x441: 0x32a3, 0x442: 0x2fa1, 0x443: 0x32ad, 0x444: 0x2fa6, 0x445: 0x32b2,\n\t0x446: 0x2fab, 0x447: 0x32b7, 0x448: 0x38cc, 0x449: 0x3a5b, 0x44a: 0x2fc4, 0x44b: 0x32d0,\n\t0x44c: 0x2fce, 0x44d: 0x32da, 0x44e: 0x2fdd, 0x44f: 0x32e9, 0x450: 0x2fd3, 0x451: 0x32df,\n\t0x452: 0x2fd8, 0x453: 0x32e4, 0x454: 0x38ef, 0x455: 0x3a7e, 0x456: 0x38f6, 0x457: 0x3a85,\n\t0x458: 0x3019, 0x459: 0x3325, 0x45a: 0x301e, 0x45b: 0x332a, 0x45c: 0x3904, 0x45d: 0x3a93,\n\t0x45e: 0x3023, 0x45f: 0x332f, 0x460: 0x3032, 0x461: 0x333e, 0x462: 0x3050, 0x463: 0x335c,\n\t0x464: 0x305f, 0x465: 0x336b, 0x466: 0x3055, 0x467: 0x3361, 0x468: 0x3064, 0x469: 0x3370,\n\t0x46a: 0x3069, 0x46b: 0x3375, 0x46c: 0x30af, 0x46d: 0x33bb, 0x46e: 0x390b, 0x46f: 0x3a9a,\n\t0x470: 0x30b9, 0x471: 0x33ca, 0x472: 0x30c3, 0x473: 0x33d4, 0x474: 0x30cd, 0x475: 0x33de,\n\t0x476: 0x46c4, 0x477: 0x4755, 0x478: 0x3912, 0x479: 0x3aa1, 0x47a: 0x30e6, 0x47b: 0x33f7,\n\t0x47c: 0x30e1, 0x47d: 0x33f2, 0x47e: 0x30eb, 0x47f: 0x33fc,\n\t// Block 0x12, offset 0x480\n\t0x480: 0x30f0, 0x481: 0x3401, 0x482: 0x30f5, 0x483: 0x3406, 0x484: 0x3109, 0x485: 0x341a,\n\t0x486: 0x3113, 0x487: 0x3424, 0x488: 0x3122, 0x489: 0x3433, 0x48a: 0x311d, 0x48b: 0x342e,\n\t0x48c: 0x3935, 0x48d: 0x3ac4, 0x48e: 0x3943, 0x48f: 0x3ad2, 0x490: 0x394a, 0x491: 0x3ad9,\n\t0x492: 0x3951, 0x493: 0x3ae0, 0x494: 0x314f, 0x495: 0x3460, 0x496: 0x3154, 0x497: 0x3465,\n\t0x498: 0x315e, 0x499: 0x346f, 0x49a: 0x46f1, 0x49b: 0x4782, 0x49c: 0x3997, 0x49d: 0x3b26,\n\t0x49e: 0x3177, 0x49f: 0x3488, 0x4a0: 0x3181, 0x4a1: 0x3492, 0x4a2: 0x4700, 0x4a3: 0x4791,\n\t0x4a4: 0x399e, 0x4a5: 0x3b2d, 0x4a6: 0x39a5, 0x4a7: 0x3b34, 0x4a8: 0x39ac, 0x4a9: 0x3b3b,\n\t0x4aa: 0x3190, 0x4ab: 0x34a1, 0x4ac: 0x319a, 0x4ad: 0x34b0, 0x4ae: 0x31ae, 0x4af: 0x34c4,\n\t0x4b0: 0x31a9, 0x4b1: 0x34bf, 0x4b2: 0x31ea, 0x4b3: 0x3500, 0x4b4: 0x31f9, 0x4b5: 0x350f,\n\t0x4b6: 0x31f4, 0x4b7: 0x350a, 0x4b8: 0x39b3, 0x4b9: 0x3b42, 0x4ba: 0x39ba, 0x4bb: 0x3b49,\n\t0x4bc: 0x31fe, 0x4bd: 0x3514, 0x4be: 0x3203, 0x4bf: 0x3519,\n\t// Block 0x13, offset 0x4c0\n\t0x4c0: 0x3208, 0x4c1: 0x351e, 0x4c2: 0x320d, 0x4c3: 0x3523, 0x4c4: 0x321c, 0x4c5: 0x3532,\n\t0x4c6: 0x3217, 0x4c7: 0x352d, 0x4c8: 0x3221, 0x4c9: 0x353c, 0x4ca: 0x3226, 0x4cb: 0x3541,\n\t0x4cc: 0x322b, 0x4cd: 0x3546, 0x4ce: 0x3249, 0x4cf: 0x3564, 0x4d0: 0x3262, 0x4d1: 0x3582,\n\t0x4d2: 0x3271, 0x4d3: 0x3591, 0x4d4: 0x3276, 0x4d5: 0x3596, 0x4d6: 0x337a, 0x4d7: 0x34a6,\n\t0x4d8: 0x3537, 0x4d9: 0x3573, 0x4db: 0x35d1,\n\t0x4e0: 0x46a1, 0x4e1: 0x4732, 0x4e2: 0x2f83, 0x4e3: 0x328f,\n\t0x4e4: 0x3878, 0x4e5: 0x3a07, 0x4e6: 0x3871, 0x4e7: 0x3a00, 0x4e8: 0x3886, 0x4e9: 0x3a15,\n\t0x4ea: 0x387f, 0x4eb: 0x3a0e, 0x4ec: 0x38be, 0x4ed: 0x3a4d, 0x4ee: 0x3894, 0x4ef: 0x3a23,\n\t0x4f0: 0x388d, 0x4f1: 0x3a1c, 0x4f2: 0x38a2, 0x4f3: 0x3a31, 0x4f4: 0x389b, 0x4f5: 0x3a2a,\n\t0x4f6: 0x38c5, 0x4f7: 0x3a54, 0x4f8: 0x46b5, 0x4f9: 0x4746, 0x4fa: 0x3000, 0x4fb: 0x330c,\n\t0x4fc: 0x2fec, 0x4fd: 0x32f8, 0x4fe: 0x38da, 0x4ff: 0x3a69,\n\t// Block 0x14, offset 0x500\n\t0x500: 0x38d3, 0x501: 0x3a62, 0x502: 0x38e8, 0x503: 0x3a77, 0x504: 0x38e1, 0x505: 0x3a70,\n\t0x506: 0x38fd, 0x507: 0x3a8c, 0x508: 0x3091, 0x509: 0x339d, 0x50a: 0x30a5, 0x50b: 0x33b1,\n\t0x50c: 0x46e7, 0x50d: 0x4778, 0x50e: 0x3136, 0x50f: 0x3447, 0x510: 0x3920, 0x511: 0x3aaf,\n\t0x512: 0x3919, 0x513: 0x3aa8, 0x514: 0x392e, 0x515: 0x3abd, 0x516: 0x3927, 0x517: 0x3ab6,\n\t0x518: 0x3989, 0x519: 0x3b18, 0x51a: 0x396d, 0x51b: 0x3afc, 0x51c: 0x3966, 0x51d: 0x3af5,\n\t0x51e: 0x397b, 0x51f: 0x3b0a, 0x520: 0x3974, 0x521: 0x3b03, 0x522: 0x3982, 0x523: 0x3b11,\n\t0x524: 0x31e5, 0x525: 0x34fb, 0x526: 0x31c7, 0x527: 0x34dd, 0x528: 0x39e4, 0x529: 0x3b73,\n\t0x52a: 0x39dd, 0x52b: 0x3b6c, 0x52c: 0x39f2, 0x52d: 0x3b81, 0x52e: 0x39eb, 0x52f: 0x3b7a,\n\t0x530: 0x39f9, 0x531: 0x3b88, 0x532: 0x3230, 0x533: 0x354b, 0x534: 0x3258, 0x535: 0x3578,\n\t0x536: 0x3253, 0x537: 0x356e, 0x538: 0x323f, 0x539: 0x355a,\n\t// Block 0x15, offset 0x540\n\t0x540: 0x4804, 0x541: 0x480a, 0x542: 0x491e, 0x543: 0x4936, 0x544: 0x4926, 0x545: 0x493e,\n\t0x546: 0x492e, 0x547: 0x4946, 0x548: 0x47aa, 0x549: 0x47b0, 0x54a: 0x488e, 0x54b: 0x48a6,\n\t0x54c: 0x4896, 0x54d: 0x48ae, 0x54e: 0x489e, 0x54f: 0x48b6, 0x550: 0x4816, 0x551: 0x481c,\n\t0x552: 0x3db8, 0x553: 0x3dc8, 0x554: 0x3dc0, 0x555: 0x3dd0,\n\t0x558: 0x47b6, 0x559: 0x47bc, 0x55a: 0x3ce8, 0x55b: 0x3cf8, 0x55c: 0x3cf0, 0x55d: 0x3d00,\n\t0x560: 0x482e, 0x561: 0x4834, 0x562: 0x494e, 0x563: 0x4966,\n\t0x564: 0x4956, 0x565: 0x496e, 0x566: 0x495e, 0x567: 0x4976, 0x568: 0x47c2, 0x569: 0x47c8,\n\t0x56a: 0x48be, 0x56b: 0x48d6, 0x56c: 0x48c6, 0x56d: 0x48de, 0x56e: 0x48ce, 0x56f: 0x48e6,\n\t0x570: 0x4846, 0x571: 0x484c, 0x572: 0x3e18, 0x573: 0x3e30, 0x574: 0x3e20, 0x575: 0x3e38,\n\t0x576: 0x3e28, 0x577: 0x3e40, 0x578: 0x47ce, 0x579: 0x47d4, 0x57a: 0x3d18, 0x57b: 0x3d30,\n\t0x57c: 0x3d20, 0x57d: 0x3d38, 0x57e: 0x3d28, 0x57f: 0x3d40,\n\t// Block 0x16, offset 0x580\n\t0x580: 0x4852, 0x581: 0x4858, 0x582: 0x3e48, 0x583: 0x3e58, 0x584: 0x3e50, 0x585: 0x3e60,\n\t0x588: 0x47da, 0x589: 0x47e0, 0x58a: 0x3d48, 0x58b: 0x3d58,\n\t0x58c: 0x3d50, 0x58d: 0x3d60, 0x590: 0x4864, 0x591: 0x486a,\n\t0x592: 0x3e80, 0x593: 0x3e98, 0x594: 0x3e88, 0x595: 0x3ea0, 0x596: 0x3e90, 0x597: 0x3ea8,\n\t0x599: 0x47e6, 0x59b: 0x3d68, 0x59d: 0x3d70,\n\t0x59f: 0x3d78, 0x5a0: 0x487c, 0x5a1: 0x4882, 0x5a2: 0x497e, 0x5a3: 0x4996,\n\t0x5a4: 0x4986, 0x5a5: 0x499e, 0x5a6: 0x498e, 0x5a7: 0x49a6, 0x5a8: 0x47ec, 0x5a9: 0x47f2,\n\t0x5aa: 0x48ee, 0x5ab: 0x4906, 0x5ac: 0x48f6, 0x5ad: 0x490e, 0x5ae: 0x48fe, 0x5af: 0x4916,\n\t0x5b0: 0x47f8, 0x5b1: 0x431e, 0x5b2: 0x3691, 0x5b3: 0x4324, 0x5b4: 0x4822, 0x5b5: 0x432a,\n\t0x5b6: 0x36a3, 0x5b7: 0x4330, 0x5b8: 0x36c1, 0x5b9: 0x4336, 0x5ba: 0x36d9, 0x5bb: 0x433c,\n\t0x5bc: 0x4870, 0x5bd: 0x4342,\n\t// Block 0x17, offset 0x5c0\n\t0x5c0: 0x3da0, 0x5c1: 0x3da8, 0x5c2: 0x4184, 0x5c3: 0x41a2, 0x5c4: 0x418e, 0x5c5: 0x41ac,\n\t0x5c6: 0x4198, 0x5c7: 0x41b6, 0x5c8: 0x3cd8, 0x5c9: 0x3ce0, 0x5ca: 0x40d0, 0x5cb: 0x40ee,\n\t0x5cc: 0x40da, 0x5cd: 0x40f8, 0x5ce: 0x40e4, 0x5cf: 0x4102, 0x5d0: 0x3de8, 0x5d1: 0x3df0,\n\t0x5d2: 0x41c0, 0x5d3: 0x41de, 0x5d4: 0x41ca, 0x5d5: 0x41e8, 0x5d6: 0x41d4, 0x5d7: 0x41f2,\n\t0x5d8: 0x3d08, 0x5d9: 0x3d10, 0x5da: 0x410c, 0x5db: 0x412a, 0x5dc: 0x4116, 0x5dd: 0x4134,\n\t0x5de: 0x4120, 0x5df: 0x413e, 0x5e0: 0x3ec0, 0x5e1: 0x3ec8, 0x5e2: 0x41fc, 0x5e3: 0x421a,\n\t0x5e4: 0x4206, 0x5e5: 0x4224, 0x5e6: 0x4210, 0x5e7: 0x422e, 0x5e8: 0x3d80, 0x5e9: 0x3d88,\n\t0x5ea: 0x4148, 0x5eb: 0x4166, 0x5ec: 0x4152, 0x5ed: 0x4170, 0x5ee: 0x415c, 0x5ef: 0x417a,\n\t0x5f0: 0x3685, 0x5f1: 0x367f, 0x5f2: 0x3d90, 0x5f3: 0x368b, 0x5f4: 0x3d98,\n\t0x5f6: 0x4810, 0x5f7: 0x3db0, 0x5f8: 0x35f5, 0x5f9: 0x35ef, 0x5fa: 0x35e3, 0x5fb: 0x42ee,\n\t0x5fc: 0x35fb, 0x5fd: 0x8100, 0x5fe: 0x01d3, 0x5ff: 0xa100,\n\t// Block 0x18, offset 0x600\n\t0x600: 0x8100, 0x601: 0x35a7, 0x602: 0x3dd8, 0x603: 0x369d, 0x604: 0x3de0,\n\t0x606: 0x483a, 0x607: 0x3df8, 0x608: 0x3601, 0x609: 0x42f4, 0x60a: 0x360d, 0x60b: 0x42fa,\n\t0x60c: 0x3619, 0x60d: 0x3b8f, 0x60e: 0x3b96, 0x60f: 0x3b9d, 0x610: 0x36b5, 0x611: 0x36af,\n\t0x612: 0x3e00, 0x613: 0x44e4, 0x616: 0x36bb, 0x617: 0x3e10,\n\t0x618: 0x3631, 0x619: 0x362b, 0x61a: 0x361f, 0x61b: 0x4300, 0x61d: 0x3ba4,\n\t0x61e: 0x3bab, 0x61f: 0x3bb2, 0x620: 0x36eb, 0x621: 0x36e5, 0x622: 0x3e68, 0x623: 0x44ec,\n\t0x624: 0x36cd, 0x625: 0x36d3, 0x626: 0x36f1, 0x627: 0x3e78, 0x628: 0x3661, 0x629: 0x365b,\n\t0x62a: 0x364f, 0x62b: 0x430c, 0x62c: 0x3649, 0x62d: 0x359b, 0x62e: 0x42e8, 0x62f: 0x0081,\n\t0x632: 0x3eb0, 0x633: 0x36f7, 0x634: 0x3eb8,\n\t0x636: 0x4888, 0x637: 0x3ed0, 0x638: 0x363d, 0x639: 0x4306, 0x63a: 0x366d, 0x63b: 0x4318,\n\t0x63c: 0x3679, 0x63d: 0x4256, 0x63e: 0xa100,\n\t// Block 0x19, offset 0x640\n\t0x641: 0x3c06, 0x643: 0xa000, 0x644: 0x3c0d, 0x645: 0xa000,\n\t0x647: 0x3c14, 0x648: 0xa000, 0x649: 0x3c1b,\n\t0x64d: 0xa000,\n\t0x660: 0x2f65, 0x661: 0xa000, 0x662: 0x3c29,\n\t0x664: 0xa000, 0x665: 0xa000,\n\t0x66d: 0x3c22, 0x66e: 0x2f60, 0x66f: 0x2f6a,\n\t0x670: 0x3c30, 0x671: 0x3c37, 0x672: 0xa000, 0x673: 0xa000, 0x674: 0x3c3e, 0x675: 0x3c45,\n\t0x676: 0xa000, 0x677: 0xa000, 0x678: 0x3c4c, 0x679: 0x3c53, 0x67a: 0xa000, 0x67b: 0xa000,\n\t0x67c: 0xa000, 0x67d: 0xa000,\n\t// Block 0x1a, offset 0x680\n\t0x680: 0x3c5a, 0x681: 0x3c61, 0x682: 0xa000, 0x683: 0xa000, 0x684: 0x3c76, 0x685: 0x3c7d,\n\t0x686: 0xa000, 0x687: 0xa000, 0x688: 0x3c84, 0x689: 0x3c8b,\n\t0x691: 0xa000,\n\t0x692: 0xa000,\n\t0x6a2: 0xa000,\n\t0x6a8: 0xa000, 0x6a9: 0xa000,\n\t0x6ab: 0xa000, 0x6ac: 0x3ca0, 0x6ad: 0x3ca7, 0x6ae: 0x3cae, 0x6af: 0x3cb5,\n\t0x6b2: 0xa000, 0x6b3: 0xa000, 0x6b4: 0xa000, 0x6b5: 0xa000,\n\t// Block 0x1b, offset 0x6c0\n\t0x6c6: 0xa000, 0x6cb: 0xa000,\n\t0x6cc: 0x3f08, 0x6cd: 0xa000, 0x6ce: 0x3f10, 0x6cf: 0xa000, 0x6d0: 0x3f18, 0x6d1: 0xa000,\n\t0x6d2: 0x3f20, 0x6d3: 0xa000, 0x6d4: 0x3f28, 0x6d5: 0xa000, 0x6d6: 0x3f30, 0x6d7: 0xa000,\n\t0x6d8: 0x3f38, 0x6d9: 0xa000, 0x6da: 0x3f40, 0x6db: 0xa000, 0x6dc: 0x3f48, 0x6dd: 0xa000,\n\t0x6de: 0x3f50, 0x6df: 0xa000, 0x6e0: 0x3f58, 0x6e1: 0xa000, 0x6e2: 0x3f60,\n\t0x6e4: 0xa000, 0x6e5: 0x3f68, 0x6e6: 0xa000, 0x6e7: 0x3f70, 0x6e8: 0xa000, 0x6e9: 0x3f78,\n\t0x6ef: 0xa000,\n\t0x6f0: 0x3f80, 0x6f1: 0x3f88, 0x6f2: 0xa000, 0x6f3: 0x3f90, 0x6f4: 0x3f98, 0x6f5: 0xa000,\n\t0x6f6: 0x3fa0, 0x6f7: 0x3fa8, 0x6f8: 0xa000, 0x6f9: 0x3fb0, 0x6fa: 0x3fb8, 0x6fb: 0xa000,\n\t0x6fc: 0x3fc0, 0x6fd: 0x3fc8,\n\t// Block 0x1c, offset 0x700\n\t0x714: 0x3f00,\n\t0x719: 0x9903, 0x71a: 0x9903, 0x71b: 0x8100, 0x71c: 0x8100, 0x71d: 0xa000,\n\t0x71e: 0x3fd0,\n\t0x726: 0xa000,\n\t0x72b: 0xa000, 0x72c: 0x3fe0, 0x72d: 0xa000, 0x72e: 0x3fe8, 0x72f: 0xa000,\n\t0x730: 0x3ff0, 0x731: 0xa000, 0x732: 0x3ff8, 0x733: 0xa000, 0x734: 0x4000, 0x735: 0xa000,\n\t0x736: 0x4008, 0x737: 0xa000, 0x738: 0x4010, 0x739: 0xa000, 0x73a: 0x4018, 0x73b: 0xa000,\n\t0x73c: 0x4020, 0x73d: 0xa000, 0x73e: 0x4028, 0x73f: 0xa000,\n\t// Block 0x1d, offset 0x740\n\t0x740: 0x4030, 0x741: 0xa000, 0x742: 0x4038, 0x744: 0xa000, 0x745: 0x4040,\n\t0x746: 0xa000, 0x747: 0x4048, 0x748: 0xa000, 0x749: 0x4050,\n\t0x74f: 0xa000, 0x750: 0x4058, 0x751: 0x4060,\n\t0x752: 0xa000, 0x753: 0x4068, 0x754: 0x4070, 0x755: 0xa000, 0x756: 0x4078, 0x757: 0x4080,\n\t0x758: 0xa000, 0x759: 0x4088, 0x75a: 0x4090, 0x75b: 0xa000, 0x75c: 0x4098, 0x75d: 0x40a0,\n\t0x76f: 0xa000,\n\t0x770: 0xa000, 0x771: 0xa000, 0x772: 0xa000, 0x774: 0x3fd8,\n\t0x777: 0x40a8, 0x778: 0x40b0, 0x779: 0x40b8, 0x77a: 0x40c0,\n\t0x77d: 0xa000, 0x77e: 0x40c8,\n\t// Block 0x1e, offset 0x780\n\t0x780: 0x1377, 0x781: 0x0cfb, 0x782: 0x13d3, 0x783: 0x139f, 0x784: 0x0e57, 0x785: 0x06eb,\n\t0x786: 0x08df, 0x787: 0x162b, 0x788: 0x162b, 0x789: 0x0a0b, 0x78a: 0x145f, 0x78b: 0x0943,\n\t0x78c: 0x0a07, 0x78d: 0x0bef, 0x78e: 0x0fcf, 0x78f: 0x115f, 0x790: 0x1297, 0x791: 0x12d3,\n\t0x792: 0x1307, 0x793: 0x141b, 0x794: 0x0d73, 0x795: 0x0dff, 0x796: 0x0eab, 0x797: 0x0f43,\n\t0x798: 0x125f, 0x799: 0x1447, 0x79a: 0x1573, 0x79b: 0x070f, 0x79c: 0x08b3, 0x79d: 0x0d87,\n\t0x79e: 0x0ecf, 0x79f: 0x1293, 0x7a0: 0x15c3, 0x7a1: 0x0ab3, 0x7a2: 0x0e77, 0x7a3: 0x1283,\n\t0x7a4: 0x1317, 0x7a5: 0x0c23, 0x7a6: 0x11bb, 0x7a7: 0x12df, 0x7a8: 0x0b1f, 0x7a9: 0x0d0f,\n\t0x7aa: 0x0e17, 0x7ab: 0x0f1b, 0x7ac: 0x1427, 0x7ad: 0x074f, 0x7ae: 0x07e7, 0x7af: 0x0853,\n\t0x7b0: 0x0c8b, 0x7b1: 0x0d7f, 0x7b2: 0x0ecb, 0x7b3: 0x0fef, 0x7b4: 0x1177, 0x7b5: 0x128b,\n\t0x7b6: 0x12a3, 0x7b7: 0x13c7, 0x7b8: 0x14ef, 0x7b9: 0x15a3, 0x7ba: 0x15bf, 0x7bb: 0x102b,\n\t0x7bc: 0x106b, 0x7bd: 0x1123, 0x7be: 0x1243, 0x7bf: 0x147b,\n\t// Block 0x1f, offset 0x7c0\n\t0x7c0: 0x15cb, 0x7c1: 0x134b, 0x7c2: 0x09c7, 0x7c3: 0x0b3b, 0x7c4: 0x10db, 0x7c5: 0x119b,\n\t0x7c6: 0x0eff, 0x7c7: 0x1033, 0x7c8: 0x1397, 0x7c9: 0x14e7, 0x7ca: 0x09c3, 0x7cb: 0x0a8f,\n\t0x7cc: 0x0d77, 0x7cd: 0x0e2b, 0x7ce: 0x0e5f, 0x7cf: 0x1113, 0x7d0: 0x113b, 0x7d1: 0x14a7,\n\t0x7d2: 0x084f, 0x7d3: 0x11a7, 0x7d4: 0x07f3, 0x7d5: 0x07ef, 0x7d6: 0x1097, 0x7d7: 0x1127,\n\t0x7d8: 0x125b, 0x7d9: 0x14af, 0x7da: 0x1367, 0x7db: 0x0c27, 0x7dc: 0x0d73, 0x7dd: 0x1357,\n\t0x7de: 0x06f7, 0x7df: 0x0a63, 0x7e0: 0x0b93, 0x7e1: 0x0f2f, 0x7e2: 0x0faf, 0x7e3: 0x0873,\n\t0x7e4: 0x103b, 0x7e5: 0x075f, 0x7e6: 0x0b77, 0x7e7: 0x06d7, 0x7e8: 0x0deb, 0x7e9: 0x0ca3,\n\t0x7ea: 0x110f, 0x7eb: 0x08c7, 0x7ec: 0x09b3, 0x7ed: 0x0ffb, 0x7ee: 0x1263, 0x7ef: 0x133b,\n\t0x7f0: 0x0db7, 0x7f1: 0x13f7, 0x7f2: 0x0de3, 0x7f3: 0x0c37, 0x7f4: 0x121b, 0x7f5: 0x0c57,\n\t0x7f6: 0x0fab, 0x7f7: 0x072b, 0x7f8: 0x07a7, 0x7f9: 0x07eb, 0x7fa: 0x0d53, 0x7fb: 0x10fb,\n\t0x7fc: 0x11f3, 0x7fd: 0x1347, 0x7fe: 0x145b, 0x7ff: 0x085b,\n\t// Block 0x20, offset 0x800\n\t0x800: 0x090f, 0x801: 0x0a17, 0x802: 0x0b2f, 0x803: 0x0cbf, 0x804: 0x0e7b, 0x805: 0x103f,\n\t0x806: 0x1497, 0x807: 0x157b, 0x808: 0x15cf, 0x809: 0x15e7, 0x80a: 0x0837, 0x80b: 0x0cf3,\n\t0x80c: 0x0da3, 0x80d: 0x13eb, 0x80e: 0x0afb, 0x80f: 0x0bd7, 0x810: 0x0bf3, 0x811: 0x0c83,\n\t0x812: 0x0e6b, 0x813: 0x0eb7, 0x814: 0x0f67, 0x815: 0x108b, 0x816: 0x112f, 0x817: 0x1193,\n\t0x818: 0x13db, 0x819: 0x126b, 0x81a: 0x1403, 0x81b: 0x147f, 0x81c: 0x080f, 0x81d: 0x083b,\n\t0x81e: 0x0923, 0x81f: 0x0ea7, 0x820: 0x12f3, 0x821: 0x133b, 0x822: 0x0b1b, 0x823: 0x0b8b,\n\t0x824: 0x0c4f, 0x825: 0x0daf, 0x826: 0x10d7, 0x827: 0x0f23, 0x828: 0x073b, 0x829: 0x097f,\n\t0x82a: 0x0a63, 0x82b: 0x0ac7, 0x82c: 0x0b97, 0x82d: 0x0f3f, 0x82e: 0x0f5b, 0x82f: 0x116b,\n\t0x830: 0x118b, 0x831: 0x1463, 0x832: 0x14e3, 0x833: 0x14f3, 0x834: 0x152f, 0x835: 0x0753,\n\t0x836: 0x107f, 0x837: 0x144f, 0x838: 0x14cb, 0x839: 0x0baf, 0x83a: 0x0717, 0x83b: 0x0777,\n\t0x83c: 0x0a67, 0x83d: 0x0a87, 0x83e: 0x0caf, 0x83f: 0x0d73,\n\t// Block 0x21, offset 0x840\n\t0x840: 0x0ec3, 0x841: 0x0fcb, 0x842: 0x1277, 0x843: 0x1417, 0x844: 0x1623, 0x845: 0x0ce3,\n\t0x846: 0x14a3, 0x847: 0x0833, 0x848: 0x0d2f, 0x849: 0x0d3b, 0x84a: 0x0e0f, 0x84b: 0x0e47,\n\t0x84c: 0x0f4b, 0x84d: 0x0fa7, 0x84e: 0x1027, 0x84f: 0x110b, 0x850: 0x153b, 0x851: 0x07af,\n\t0x852: 0x0c03, 0x853: 0x14b3, 0x854: 0x0767, 0x855: 0x0aab, 0x856: 0x0e2f, 0x857: 0x13df,\n\t0x858: 0x0b67, 0x859: 0x0bb7, 0x85a: 0x0d43, 0x85b: 0x0f2f, 0x85c: 0x14bb, 0x85d: 0x0817,\n\t0x85e: 0x08ff, 0x85f: 0x0a97, 0x860: 0x0cd3, 0x861: 0x0d1f, 0x862: 0x0d5f, 0x863: 0x0df3,\n\t0x864: 0x0f47, 0x865: 0x0fbb, 0x866: 0x1157, 0x867: 0x12f7, 0x868: 0x1303, 0x869: 0x1457,\n\t0x86a: 0x14d7, 0x86b: 0x0883, 0x86c: 0x0e4b, 0x86d: 0x0903, 0x86e: 0x0ec7, 0x86f: 0x0f6b,\n\t0x870: 0x1287, 0x871: 0x14bf, 0x872: 0x15ab, 0x873: 0x15d3, 0x874: 0x0d37, 0x875: 0x0e27,\n\t0x876: 0x11c3, 0x877: 0x10b7, 0x878: 0x10c3, 0x879: 0x10e7, 0x87a: 0x0f17, 0x87b: 0x0e9f,\n\t0x87c: 0x1363, 0x87d: 0x0733, 0x87e: 0x122b, 0x87f: 0x081b,\n\t// Block 0x22, offset 0x880\n\t0x880: 0x080b, 0x881: 0x0b0b, 0x882: 0x0c2b, 0x883: 0x10f3, 0x884: 0x0a53, 0x885: 0x0e03,\n\t0x886: 0x0cef, 0x887: 0x13e7, 0x888: 0x12e7, 0x889: 0x14ab, 0x88a: 0x1323, 0x88b: 0x0b27,\n\t0x88c: 0x0787, 0x88d: 0x095b, 0x890: 0x09af,\n\t0x892: 0x0cdf, 0x895: 0x07f7, 0x896: 0x0f1f, 0x897: 0x0fe3,\n\t0x898: 0x1047, 0x899: 0x1063, 0x89a: 0x1067, 0x89b: 0x107b, 0x89c: 0x14fb, 0x89d: 0x10eb,\n\t0x89e: 0x116f, 0x8a0: 0x128f, 0x8a2: 0x1353,\n\t0x8a5: 0x1407, 0x8a6: 0x1433,\n\t0x8aa: 0x154f, 0x8ab: 0x1553, 0x8ac: 0x1557, 0x8ad: 0x15bb, 0x8ae: 0x142b, 0x8af: 0x14c7,\n\t0x8b0: 0x0757, 0x8b1: 0x077b, 0x8b2: 0x078f, 0x8b3: 0x084b, 0x8b4: 0x0857, 0x8b5: 0x0897,\n\t0x8b6: 0x094b, 0x8b7: 0x0967, 0x8b8: 0x096f, 0x8b9: 0x09ab, 0x8ba: 0x09b7, 0x8bb: 0x0a93,\n\t0x8bc: 0x0a9b, 0x8bd: 0x0ba3, 0x8be: 0x0bcb, 0x8bf: 0x0bd3,\n\t// Block 0x23, offset 0x8c0\n\t0x8c0: 0x0beb, 0x8c1: 0x0c97, 0x8c2: 0x0cc7, 0x8c3: 0x0ce7, 0x8c4: 0x0d57, 0x8c5: 0x0e1b,\n\t0x8c6: 0x0e37, 0x8c7: 0x0e67, 0x8c8: 0x0ebb, 0x8c9: 0x0edb, 0x8ca: 0x0f4f, 0x8cb: 0x102f,\n\t0x8cc: 0x104b, 0x8cd: 0x1053, 0x8ce: 0x104f, 0x8cf: 0x1057, 0x8d0: 0x105b, 0x8d1: 0x105f,\n\t0x8d2: 0x1073, 0x8d3: 0x1077, 0x8d4: 0x109b, 0x8d5: 0x10af, 0x8d6: 0x10cb, 0x8d7: 0x112f,\n\t0x8d8: 0x1137, 0x8d9: 0x113f, 0x8da: 0x1153, 0x8db: 0x117b, 0x8dc: 0x11cb, 0x8dd: 0x11ff,\n\t0x8de: 0x11ff, 0x8df: 0x1267, 0x8e0: 0x130f, 0x8e1: 0x1327, 0x8e2: 0x135b, 0x8e3: 0x135f,\n\t0x8e4: 0x13a3, 0x8e5: 0x13a7, 0x8e6: 0x13ff, 0x8e7: 0x1407, 0x8e8: 0x14db, 0x8e9: 0x151f,\n\t0x8ea: 0x1537, 0x8eb: 0x0b9b, 0x8ec: 0x171e, 0x8ed: 0x11e3,\n\t0x8f0: 0x06df, 0x8f1: 0x07e3, 0x8f2: 0x07a3, 0x8f3: 0x074b, 0x8f4: 0x078b, 0x8f5: 0x07b7,\n\t0x8f6: 0x0847, 0x8f7: 0x0863, 0x8f8: 0x094b, 0x8f9: 0x0937, 0x8fa: 0x0947, 0x8fb: 0x0963,\n\t0x8fc: 0x09af, 0x8fd: 0x09bf, 0x8fe: 0x0a03, 0x8ff: 0x0a0f,\n\t// Block 0x24, offset 0x900\n\t0x900: 0x0a2b, 0x901: 0x0a3b, 0x902: 0x0b23, 0x903: 0x0b2b, 0x904: 0x0b5b, 0x905: 0x0b7b,\n\t0x906: 0x0bab, 0x907: 0x0bc3, 0x908: 0x0bb3, 0x909: 0x0bd3, 0x90a: 0x0bc7, 0x90b: 0x0beb,\n\t0x90c: 0x0c07, 0x90d: 0x0c5f, 0x90e: 0x0c6b, 0x90f: 0x0c73, 0x910: 0x0c9b, 0x911: 0x0cdf,\n\t0x912: 0x0d0f, 0x913: 0x0d13, 0x914: 0x0d27, 0x915: 0x0da7, 0x916: 0x0db7, 0x917: 0x0e0f,\n\t0x918: 0x0e5b, 0x919: 0x0e53, 0x91a: 0x0e67, 0x91b: 0x0e83, 0x91c: 0x0ebb, 0x91d: 0x1013,\n\t0x91e: 0x0edf, 0x91f: 0x0f13, 0x920: 0x0f1f, 0x921: 0x0f5f, 0x922: 0x0f7b, 0x923: 0x0f9f,\n\t0x924: 0x0fc3, 0x925: 0x0fc7, 0x926: 0x0fe3, 0x927: 0x0fe7, 0x928: 0x0ff7, 0x929: 0x100b,\n\t0x92a: 0x1007, 0x92b: 0x1037, 0x92c: 0x10b3, 0x92d: 0x10cb, 0x92e: 0x10e3, 0x92f: 0x111b,\n\t0x930: 0x112f, 0x931: 0x114b, 0x932: 0x117b, 0x933: 0x122f, 0x934: 0x1257, 0x935: 0x12cb,\n\t0x936: 0x1313, 0x937: 0x131f, 0x938: 0x1327, 0x939: 0x133f, 0x93a: 0x1353, 0x93b: 0x1343,\n\t0x93c: 0x135b, 0x93d: 0x1357, 0x93e: 0x134f, 0x93f: 0x135f,\n\t// Block 0x25, offset 0x940\n\t0x940: 0x136b, 0x941: 0x13a7, 0x942: 0x13e3, 0x943: 0x1413, 0x944: 0x144b, 0x945: 0x146b,\n\t0x946: 0x14b7, 0x947: 0x14db, 0x948: 0x14fb, 0x949: 0x150f, 0x94a: 0x151f, 0x94b: 0x152b,\n\t0x94c: 0x1537, 0x94d: 0x158b, 0x94e: 0x162b, 0x94f: 0x16b5, 0x950: 0x16b0, 0x951: 0x16e2,\n\t0x952: 0x0607, 0x953: 0x062f, 0x954: 0x0633, 0x955: 0x1764, 0x956: 0x1791, 0x957: 0x1809,\n\t0x958: 0x1617, 0x959: 0x1627,\n\t// Block 0x26, offset 0x980\n\t0x980: 0x06fb, 0x981: 0x06f3, 0x982: 0x0703, 0x983: 0x1647, 0x984: 0x0747, 0x985: 0x0757,\n\t0x986: 0x075b, 0x987: 0x0763, 0x988: 0x076b, 0x989: 0x076f, 0x98a: 0x077b, 0x98b: 0x0773,\n\t0x98c: 0x05b3, 0x98d: 0x165b, 0x98e: 0x078f, 0x98f: 0x0793, 0x990: 0x0797, 0x991: 0x07b3,\n\t0x992: 0x164c, 0x993: 0x05b7, 0x994: 0x079f, 0x995: 0x07bf, 0x996: 0x1656, 0x997: 0x07cf,\n\t0x998: 0x07d7, 0x999: 0x0737, 0x99a: 0x07df, 0x99b: 0x07e3, 0x99c: 0x1831, 0x99d: 0x07ff,\n\t0x99e: 0x0807, 0x99f: 0x05bf, 0x9a0: 0x081f, 0x9a1: 0x0823, 0x9a2: 0x082b, 0x9a3: 0x082f,\n\t0x9a4: 0x05c3, 0x9a5: 0x0847, 0x9a6: 0x084b, 0x9a7: 0x0857, 0x9a8: 0x0863, 0x9a9: 0x0867,\n\t0x9aa: 0x086b, 0x9ab: 0x0873, 0x9ac: 0x0893, 0x9ad: 0x0897, 0x9ae: 0x089f, 0x9af: 0x08af,\n\t0x9b0: 0x08b7, 0x9b1: 0x08bb, 0x9b2: 0x08bb, 0x9b3: 0x08bb, 0x9b4: 0x166a, 0x9b5: 0x0e93,\n\t0x9b6: 0x08cf, 0x9b7: 0x08d7, 0x9b8: 0x166f, 0x9b9: 0x08e3, 0x9ba: 0x08eb, 0x9bb: 0x08f3,\n\t0x9bc: 0x091b, 0x9bd: 0x0907, 0x9be: 0x0913, 0x9bf: 0x0917,\n\t// Block 0x27, offset 0x9c0\n\t0x9c0: 0x091f, 0x9c1: 0x0927, 0x9c2: 0x092b, 0x9c3: 0x0933, 0x9c4: 0x093b, 0x9c5: 0x093f,\n\t0x9c6: 0x093f, 0x9c7: 0x0947, 0x9c8: 0x094f, 0x9c9: 0x0953, 0x9ca: 0x095f, 0x9cb: 0x0983,\n\t0x9cc: 0x0967, 0x9cd: 0x0987, 0x9ce: 0x096b, 0x9cf: 0x0973, 0x9d0: 0x080b, 0x9d1: 0x09cf,\n\t0x9d2: 0x0997, 0x9d3: 0x099b, 0x9d4: 0x099f, 0x9d5: 0x0993, 0x9d6: 0x09a7, 0x9d7: 0x09a3,\n\t0x9d8: 0x09bb, 0x9d9: 0x1674, 0x9da: 0x09d7, 0x9db: 0x09db, 0x9dc: 0x09e3, 0x9dd: 0x09ef,\n\t0x9de: 0x09f7, 0x9df: 0x0a13, 0x9e0: 0x1679, 0x9e1: 0x167e, 0x9e2: 0x0a1f, 0x9e3: 0x0a23,\n\t0x9e4: 0x0a27, 0x9e5: 0x0a1b, 0x9e6: 0x0a2f, 0x9e7: 0x05c7, 0x9e8: 0x05cb, 0x9e9: 0x0a37,\n\t0x9ea: 0x0a3f, 0x9eb: 0x0a3f, 0x9ec: 0x1683, 0x9ed: 0x0a5b, 0x9ee: 0x0a5f, 0x9ef: 0x0a63,\n\t0x9f0: 0x0a6b, 0x9f1: 0x1688, 0x9f2: 0x0a73, 0x9f3: 0x0a77, 0x9f4: 0x0b4f, 0x9f5: 0x0a7f,\n\t0x9f6: 0x05cf, 0x9f7: 0x0a8b, 0x9f8: 0x0a9b, 0x9f9: 0x0aa7, 0x9fa: 0x0aa3, 0x9fb: 0x1692,\n\t0x9fc: 0x0aaf, 0x9fd: 0x1697, 0x9fe: 0x0abb, 0x9ff: 0x0ab7,\n\t// Block 0x28, offset 0xa00\n\t0xa00: 0x0abf, 0xa01: 0x0acf, 0xa02: 0x0ad3, 0xa03: 0x05d3, 0xa04: 0x0ae3, 0xa05: 0x0aeb,\n\t0xa06: 0x0aef, 0xa07: 0x0af3, 0xa08: 0x05d7, 0xa09: 0x169c, 0xa0a: 0x05db, 0xa0b: 0x0b0f,\n\t0xa0c: 0x0b13, 0xa0d: 0x0b17, 0xa0e: 0x0b1f, 0xa0f: 0x1863, 0xa10: 0x0b37, 0xa11: 0x16a6,\n\t0xa12: 0x16a6, 0xa13: 0x11d7, 0xa14: 0x0b47, 0xa15: 0x0b47, 0xa16: 0x05df, 0xa17: 0x16c9,\n\t0xa18: 0x179b, 0xa19: 0x0b57, 0xa1a: 0x0b5f, 0xa1b: 0x05e3, 0xa1c: 0x0b73, 0xa1d: 0x0b83,\n\t0xa1e: 0x0b87, 0xa1f: 0x0b8f, 0xa20: 0x0b9f, 0xa21: 0x05eb, 0xa22: 0x05e7, 0xa23: 0x0ba3,\n\t0xa24: 0x16ab, 0xa25: 0x0ba7, 0xa26: 0x0bbb, 0xa27: 0x0bbf, 0xa28: 0x0bc3, 0xa29: 0x0bbf,\n\t0xa2a: 0x0bcf, 0xa2b: 0x0bd3, 0xa2c: 0x0be3, 0xa2d: 0x0bdb, 0xa2e: 0x0bdf, 0xa2f: 0x0be7,\n\t0xa30: 0x0beb, 0xa31: 0x0bef, 0xa32: 0x0bfb, 0xa33: 0x0bff, 0xa34: 0x0c17, 0xa35: 0x0c1f,\n\t0xa36: 0x0c2f, 0xa37: 0x0c43, 0xa38: 0x16ba, 0xa39: 0x0c3f, 0xa3a: 0x0c33, 0xa3b: 0x0c4b,\n\t0xa3c: 0x0c53, 0xa3d: 0x0c67, 0xa3e: 0x16bf, 0xa3f: 0x0c6f,\n\t// Block 0x29, offset 0xa40\n\t0xa40: 0x0c63, 0xa41: 0x0c5b, 0xa42: 0x05ef, 0xa43: 0x0c77, 0xa44: 0x0c7f, 0xa45: 0x0c87,\n\t0xa46: 0x0c7b, 0xa47: 0x05f3, 0xa48: 0x0c97, 0xa49: 0x0c9f, 0xa4a: 0x16c4, 0xa4b: 0x0ccb,\n\t0xa4c: 0x0cff, 0xa4d: 0x0cdb, 0xa4e: 0x05ff, 0xa4f: 0x0ce7, 0xa50: 0x05fb, 0xa51: 0x05f7,\n\t0xa52: 0x07c3, 0xa53: 0x07c7, 0xa54: 0x0d03, 0xa55: 0x0ceb, 0xa56: 0x11ab, 0xa57: 0x0663,\n\t0xa58: 0x0d0f, 0xa59: 0x0d13, 0xa5a: 0x0d17, 0xa5b: 0x0d2b, 0xa5c: 0x0d23, 0xa5d: 0x16dd,\n\t0xa5e: 0x0603, 0xa5f: 0x0d3f, 0xa60: 0x0d33, 0xa61: 0x0d4f, 0xa62: 0x0d57, 0xa63: 0x16e7,\n\t0xa64: 0x0d5b, 0xa65: 0x0d47, 0xa66: 0x0d63, 0xa67: 0x0607, 0xa68: 0x0d67, 0xa69: 0x0d6b,\n\t0xa6a: 0x0d6f, 0xa6b: 0x0d7b, 0xa6c: 0x16ec, 0xa6d: 0x0d83, 0xa6e: 0x060b, 0xa6f: 0x0d8f,\n\t0xa70: 0x16f1, 0xa71: 0x0d93, 0xa72: 0x060f, 0xa73: 0x0d9f, 0xa74: 0x0dab, 0xa75: 0x0db7,\n\t0xa76: 0x0dbb, 0xa77: 0x16f6, 0xa78: 0x168d, 0xa79: 0x16fb, 0xa7a: 0x0ddb, 0xa7b: 0x1700,\n\t0xa7c: 0x0de7, 0xa7d: 0x0def, 0xa7e: 0x0ddf, 0xa7f: 0x0dfb,\n\t// Block 0x2a, offset 0xa80\n\t0xa80: 0x0e0b, 0xa81: 0x0e1b, 0xa82: 0x0e0f, 0xa83: 0x0e13, 0xa84: 0x0e1f, 0xa85: 0x0e23,\n\t0xa86: 0x1705, 0xa87: 0x0e07, 0xa88: 0x0e3b, 0xa89: 0x0e3f, 0xa8a: 0x0613, 0xa8b: 0x0e53,\n\t0xa8c: 0x0e4f, 0xa8d: 0x170a, 0xa8e: 0x0e33, 0xa8f: 0x0e6f, 0xa90: 0x170f, 0xa91: 0x1714,\n\t0xa92: 0x0e73, 0xa93: 0x0e87, 0xa94: 0x0e83, 0xa95: 0x0e7f, 0xa96: 0x0617, 0xa97: 0x0e8b,\n\t0xa98: 0x0e9b, 0xa99: 0x0e97, 0xa9a: 0x0ea3, 0xa9b: 0x1651, 0xa9c: 0x0eb3, 0xa9d: 0x1719,\n\t0xa9e: 0x0ebf, 0xa9f: 0x1723, 0xaa0: 0x0ed3, 0xaa1: 0x0edf, 0xaa2: 0x0ef3, 0xaa3: 0x1728,\n\t0xaa4: 0x0f07, 0xaa5: 0x0f0b, 0xaa6: 0x172d, 0xaa7: 0x1732, 0xaa8: 0x0f27, 0xaa9: 0x0f37,\n\t0xaaa: 0x061b, 0xaab: 0x0f3b, 0xaac: 0x061f, 0xaad: 0x061f, 0xaae: 0x0f53, 0xaaf: 0x0f57,\n\t0xab0: 0x0f5f, 0xab1: 0x0f63, 0xab2: 0x0f6f, 0xab3: 0x0623, 0xab4: 0x0f87, 0xab5: 0x1737,\n\t0xab6: 0x0fa3, 0xab7: 0x173c, 0xab8: 0x0faf, 0xab9: 0x16a1, 0xaba: 0x0fbf, 0xabb: 0x1741,\n\t0xabc: 0x1746, 0xabd: 0x174b, 0xabe: 0x0627, 0xabf: 0x062b,\n\t// Block 0x2b, offset 0xac0\n\t0xac0: 0x0ff7, 0xac1: 0x1755, 0xac2: 0x1750, 0xac3: 0x175a, 0xac4: 0x175f, 0xac5: 0x0fff,\n\t0xac6: 0x1003, 0xac7: 0x1003, 0xac8: 0x100b, 0xac9: 0x0633, 0xaca: 0x100f, 0xacb: 0x0637,\n\t0xacc: 0x063b, 0xacd: 0x1769, 0xace: 0x1023, 0xacf: 0x102b, 0xad0: 0x1037, 0xad1: 0x063f,\n\t0xad2: 0x176e, 0xad3: 0x105b, 0xad4: 0x1773, 0xad5: 0x1778, 0xad6: 0x107b, 0xad7: 0x1093,\n\t0xad8: 0x0643, 0xad9: 0x109b, 0xada: 0x109f, 0xadb: 0x10a3, 0xadc: 0x177d, 0xadd: 0x1782,\n\t0xade: 0x1782, 0xadf: 0x10bb, 0xae0: 0x0647, 0xae1: 0x1787, 0xae2: 0x10cf, 0xae3: 0x10d3,\n\t0xae4: 0x064b, 0xae5: 0x178c, 0xae6: 0x10ef, 0xae7: 0x064f, 0xae8: 0x10ff, 0xae9: 0x10f7,\n\t0xaea: 0x1107, 0xaeb: 0x1796, 0xaec: 0x111f, 0xaed: 0x0653, 0xaee: 0x112b, 0xaef: 0x1133,\n\t0xaf0: 0x1143, 0xaf1: 0x0657, 0xaf2: 0x17a0, 0xaf3: 0x17a5, 0xaf4: 0x065b, 0xaf5: 0x17aa,\n\t0xaf6: 0x115b, 0xaf7: 0x17af, 0xaf8: 0x1167, 0xaf9: 0x1173, 0xafa: 0x117b, 0xafb: 0x17b4,\n\t0xafc: 0x17b9, 0xafd: 0x118f, 0xafe: 0x17be, 0xaff: 0x1197,\n\t// Block 0x2c, offset 0xb00\n\t0xb00: 0x16ce, 0xb01: 0x065f, 0xb02: 0x11af, 0xb03: 0x11b3, 0xb04: 0x0667, 0xb05: 0x11b7,\n\t0xb06: 0x0a33, 0xb07: 0x17c3, 0xb08: 0x17c8, 0xb09: 0x16d3, 0xb0a: 0x16d8, 0xb0b: 0x11d7,\n\t0xb0c: 0x11db, 0xb0d: 0x13f3, 0xb0e: 0x066b, 0xb0f: 0x1207, 0xb10: 0x1203, 0xb11: 0x120b,\n\t0xb12: 0x083f, 0xb13: 0x120f, 0xb14: 0x1213, 0xb15: 0x1217, 0xb16: 0x121f, 0xb17: 0x17cd,\n\t0xb18: 0x121b, 0xb19: 0x1223, 0xb1a: 0x1237, 0xb1b: 0x123b, 0xb1c: 0x1227, 0xb1d: 0x123f,\n\t0xb1e: 0x1253, 0xb1f: 0x1267, 0xb20: 0x1233, 0xb21: 0x1247, 0xb22: 0x124b, 0xb23: 0x124f,\n\t0xb24: 0x17d2, 0xb25: 0x17dc, 0xb26: 0x17d7, 0xb27: 0x066f, 0xb28: 0x126f, 0xb29: 0x1273,\n\t0xb2a: 0x127b, 0xb2b: 0x17f0, 0xb2c: 0x127f, 0xb2d: 0x17e1, 0xb2e: 0x0673, 0xb2f: 0x0677,\n\t0xb30: 0x17e6, 0xb31: 0x17eb, 0xb32: 0x067b, 0xb33: 0x129f, 0xb34: 0x12a3, 0xb35: 0x12a7,\n\t0xb36: 0x12ab, 0xb37: 0x12b7, 0xb38: 0x12b3, 0xb39: 0x12bf, 0xb3a: 0x12bb, 0xb3b: 0x12cb,\n\t0xb3c: 0x12c3, 0xb3d: 0x12c7, 0xb3e: 0x12cf, 0xb3f: 0x067f,\n\t// Block 0x2d, offset 0xb40\n\t0xb40: 0x12d7, 0xb41: 0x12db, 0xb42: 0x0683, 0xb43: 0x12eb, 0xb44: 0x12ef, 0xb45: 0x17f5,\n\t0xb46: 0x12fb, 0xb47: 0x12ff, 0xb48: 0x0687, 0xb49: 0x130b, 0xb4a: 0x05bb, 0xb4b: 0x17fa,\n\t0xb4c: 0x17ff, 0xb4d: 0x068b, 0xb4e: 0x068f, 0xb4f: 0x1337, 0xb50: 0x134f, 0xb51: 0x136b,\n\t0xb52: 0x137b, 0xb53: 0x1804, 0xb54: 0x138f, 0xb55: 0x1393, 0xb56: 0x13ab, 0xb57: 0x13b7,\n\t0xb58: 0x180e, 0xb59: 0x1660, 0xb5a: 0x13c3, 0xb5b: 0x13bf, 0xb5c: 0x13cb, 0xb5d: 0x1665,\n\t0xb5e: 0x13d7, 0xb5f: 0x13e3, 0xb60: 0x1813, 0xb61: 0x1818, 0xb62: 0x1423, 0xb63: 0x142f,\n\t0xb64: 0x1437, 0xb65: 0x181d, 0xb66: 0x143b, 0xb67: 0x1467, 0xb68: 0x1473, 0xb69: 0x1477,\n\t0xb6a: 0x146f, 0xb6b: 0x1483, 0xb6c: 0x1487, 0xb6d: 0x1822, 0xb6e: 0x1493, 0xb6f: 0x0693,\n\t0xb70: 0x149b, 0xb71: 0x1827, 0xb72: 0x0697, 0xb73: 0x14d3, 0xb74: 0x0ac3, 0xb75: 0x14eb,\n\t0xb76: 0x182c, 0xb77: 0x1836, 0xb78: 0x069b, 0xb79: 0x069f, 0xb7a: 0x1513, 0xb7b: 0x183b,\n\t0xb7c: 0x06a3, 0xb7d: 0x1840, 0xb7e: 0x152b, 0xb7f: 0x152b,\n\t// Block 0x2e, offset 0xb80\n\t0xb80: 0x1533, 0xb81: 0x1845, 0xb82: 0x154b, 0xb83: 0x06a7, 0xb84: 0x155b, 0xb85: 0x1567,\n\t0xb86: 0x156f, 0xb87: 0x1577, 0xb88: 0x06ab, 0xb89: 0x184a, 0xb8a: 0x158b, 0xb8b: 0x15a7,\n\t0xb8c: 0x15b3, 0xb8d: 0x06af, 0xb8e: 0x06b3, 0xb8f: 0x15b7, 0xb90: 0x184f, 0xb91: 0x06b7,\n\t0xb92: 0x1854, 0xb93: 0x1859, 0xb94: 0x185e, 0xb95: 0x15db, 0xb96: 0x06bb, 0xb97: 0x15ef,\n\t0xb98: 0x15f7, 0xb99: 0x15fb, 0xb9a: 0x1603, 0xb9b: 0x160b, 0xb9c: 0x1613, 0xb9d: 0x1868,\n}\n\n// nfcIndex: 22 blocks, 1408 entries, 1408 bytes\n// Block 0 is the zero block.\nvar nfcIndex = [1408]uint8{\n\t// Block 0x0, offset 0x0\n\t// Block 0x1, offset 0x40\n\t// Block 0x2, offset 0x80\n\t// Block 0x3, offset 0xc0\n\t0xc2: 0x2d, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x2e, 0xc7: 0x04,\n\t0xc8: 0x05, 0xca: 0x2f, 0xcb: 0x30, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x31,\n\t0xd0: 0x09, 0xd1: 0x32, 0xd2: 0x33, 0xd3: 0x0a, 0xd6: 0x0b, 0xd7: 0x34,\n\t0xd8: 0x35, 0xd9: 0x0c, 0xdb: 0x36, 0xdc: 0x37, 0xdd: 0x38, 0xdf: 0x39,\n\t0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05,\n\t0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a,\n\t0xf0: 0x13,\n\t// Block 0x4, offset 0x100\n\t0x120: 0x3a, 0x121: 0x3b, 0x123: 0x3c, 0x124: 0x3d, 0x125: 0x3e, 0x126: 0x3f, 0x127: 0x40,\n\t0x128: 0x41, 0x129: 0x42, 0x12a: 0x43, 0x12b: 0x44, 0x12c: 0x3f, 0x12d: 0x45, 0x12e: 0x46, 0x12f: 0x47,\n\t0x131: 0x48, 0x132: 0x49, 0x133: 0x4a, 0x134: 0x4b, 0x135: 0x4c, 0x137: 0x4d,\n\t0x138: 0x4e, 0x139: 0x4f, 0x13a: 0x50, 0x13b: 0x51, 0x13c: 0x52, 0x13d: 0x53, 0x13e: 0x54, 0x13f: 0x55,\n\t// Block 0x5, offset 0x140\n\t0x140: 0x56, 0x142: 0x57, 0x144: 0x58, 0x145: 0x59, 0x146: 0x5a, 0x147: 0x5b,\n\t0x14d: 0x5c,\n\t0x15c: 0x5d, 0x15f: 0x5e,\n\t0x162: 0x5f, 0x164: 0x60,\n\t0x168: 0x61, 0x169: 0x62, 0x16a: 0x63, 0x16c: 0x0d, 0x16d: 0x64, 0x16e: 0x65, 0x16f: 0x66,\n\t0x170: 0x67, 0x173: 0x68, 0x177: 0x0e,\n\t0x178: 0x0f, 0x179: 0x10, 0x17a: 0x11, 0x17b: 0x12, 0x17c: 0x13, 0x17d: 0x14, 0x17e: 0x15, 0x17f: 0x16,\n\t// Block 0x6, offset 0x180\n\t0x180: 0x69, 0x183: 0x6a, 0x184: 0x6b, 0x186: 0x6c, 0x187: 0x6d,\n\t0x188: 0x6e, 0x189: 0x17, 0x18a: 0x18, 0x18b: 0x6f, 0x18c: 0x70,\n\t0x1ab: 0x71,\n\t0x1b3: 0x72, 0x1b5: 0x73, 0x1b7: 0x74,\n\t// Block 0x7, offset 0x1c0\n\t0x1c0: 0x75, 0x1c1: 0x19, 0x1c2: 0x1a, 0x1c3: 0x1b, 0x1c4: 0x76, 0x1c5: 0x77,\n\t0x1c9: 0x78, 0x1cc: 0x79, 0x1cd: 0x7a,\n\t// Block 0x8, offset 0x200\n\t0x219: 0x7b, 0x21a: 0x7c, 0x21b: 0x7d,\n\t0x220: 0x7e, 0x223: 0x7f, 0x224: 0x80, 0x225: 0x81, 0x226: 0x82, 0x227: 0x83,\n\t0x22a: 0x84, 0x22b: 0x85, 0x22f: 0x86,\n\t0x230: 0x87, 0x231: 0x88, 0x232: 0x89, 0x233: 0x8a, 0x234: 0x8b, 0x235: 0x8c, 0x236: 0x8d, 0x237: 0x87,\n\t0x238: 0x88, 0x239: 0x89, 0x23a: 0x8a, 0x23b: 0x8b, 0x23c: 0x8c, 0x23d: 0x8d, 0x23e: 0x87, 0x23f: 0x88,\n\t// Block 0x9, offset 0x240\n\t0x240: 0x89, 0x241: 0x8a, 0x242: 0x8b, 0x243: 0x8c, 0x244: 0x8d, 0x245: 0x87, 0x246: 0x88, 0x247: 0x89,\n\t0x248: 0x8a, 0x249: 0x8b, 0x24a: 0x8c, 0x24b: 0x8d, 0x24c: 0x87, 0x24d: 0x88, 0x24e: 0x89, 0x24f: 0x8a,\n\t0x250: 0x8b, 0x251: 0x8c, 0x252: 0x8d, 0x253: 0x87, 0x254: 0x88, 0x255: 0x89, 0x256: 0x8a, 0x257: 0x8b,\n\t0x258: 0x8c, 0x259: 0x8d, 0x25a: 0x87, 0x25b: 0x88, 0x25c: 0x89, 0x25d: 0x8a, 0x25e: 0x8b, 0x25f: 0x8c,\n\t0x260: 0x8d, 0x261: 0x87, 0x262: 0x88, 0x263: 0x89, 0x264: 0x8a, 0x265: 0x8b, 0x266: 0x8c, 0x267: 0x8d,\n\t0x268: 0x87, 0x269: 0x88, 0x26a: 0x89, 0x26b: 0x8a, 0x26c: 0x8b, 0x26d: 0x8c, 0x26e: 0x8d, 0x26f: 0x87,\n\t0x270: 0x88, 0x271: 0x89, 0x272: 0x8a, 0x273: 0x8b, 0x274: 0x8c, 0x275: 0x8d, 0x276: 0x87, 0x277: 0x88,\n\t0x278: 0x89, 0x279: 0x8a, 0x27a: 0x8b, 0x27b: 0x8c, 0x27c: 0x8d, 0x27d: 0x87, 0x27e: 0x88, 0x27f: 0x89,\n\t// Block 0xa, offset 0x280\n\t0x280: 0x8a, 0x281: 0x8b, 0x282: 0x8c, 0x283: 0x8d, 0x284: 0x87, 0x285: 0x88, 0x286: 0x89, 0x287: 0x8a,\n\t0x288: 0x8b, 0x289: 0x8c, 0x28a: 0x8d, 0x28b: 0x87, 0x28c: 0x88, 0x28d: 0x89, 0x28e: 0x8a, 0x28f: 0x8b,\n\t0x290: 0x8c, 0x291: 0x8d, 0x292: 0x87, 0x293: 0x88, 0x294: 0x89, 0x295: 0x8a, 0x296: 0x8b, 0x297: 0x8c,\n\t0x298: 0x8d, 0x299: 0x87, 0x29a: 0x88, 0x29b: 0x89, 0x29c: 0x8a, 0x29d: 0x8b, 0x29e: 0x8c, 0x29f: 0x8d,\n\t0x2a0: 0x87, 0x2a1: 0x88, 0x2a2: 0x89, 0x2a3: 0x8a, 0x2a4: 0x8b, 0x2a5: 0x8c, 0x2a6: 0x8d, 0x2a7: 0x87,\n\t0x2a8: 0x88, 0x2a9: 0x89, 0x2aa: 0x8a, 0x2ab: 0x8b, 0x2ac: 0x8c, 0x2ad: 0x8d, 0x2ae: 0x87, 0x2af: 0x88,\n\t0x2b0: 0x89, 0x2b1: 0x8a, 0x2b2: 0x8b, 0x2b3: 0x8c, 0x2b4: 0x8d, 0x2b5: 0x87, 0x2b6: 0x88, 0x2b7: 0x89,\n\t0x2b8: 0x8a, 0x2b9: 0x8b, 0x2ba: 0x8c, 0x2bb: 0x8d, 0x2bc: 0x87, 0x2bd: 0x88, 0x2be: 0x89, 0x2bf: 0x8a,\n\t// Block 0xb, offset 0x2c0\n\t0x2c0: 0x8b, 0x2c1: 0x8c, 0x2c2: 0x8d, 0x2c3: 0x87, 0x2c4: 0x88, 0x2c5: 0x89, 0x2c6: 0x8a, 0x2c7: 0x8b,\n\t0x2c8: 0x8c, 0x2c9: 0x8d, 0x2ca: 0x87, 0x2cb: 0x88, 0x2cc: 0x89, 0x2cd: 0x8a, 0x2ce: 0x8b, 0x2cf: 0x8c,\n\t0x2d0: 0x8d, 0x2d1: 0x87, 0x2d2: 0x88, 0x2d3: 0x89, 0x2d4: 0x8a, 0x2d5: 0x8b, 0x2d6: 0x8c, 0x2d7: 0x8d,\n\t0x2d8: 0x87, 0x2d9: 0x88, 0x2da: 0x89, 0x2db: 0x8a, 0x2dc: 0x8b, 0x2dd: 0x8c, 0x2de: 0x8e,\n\t// Block 0xc, offset 0x300\n\t0x324: 0x1c, 0x325: 0x1d, 0x326: 0x1e, 0x327: 0x1f,\n\t0x328: 0x20, 0x329: 0x21, 0x32a: 0x22, 0x32b: 0x23, 0x32c: 0x8f, 0x32d: 0x90, 0x32e: 0x91,\n\t0x331: 0x92, 0x332: 0x93, 0x333: 0x94, 0x334: 0x95,\n\t0x338: 0x96, 0x339: 0x97, 0x33a: 0x98, 0x33b: 0x99, 0x33e: 0x9a, 0x33f: 0x9b,\n\t// Block 0xd, offset 0x340\n\t0x347: 0x9c,\n\t0x34b: 0x9d, 0x34d: 0x9e,\n\t0x368: 0x9f, 0x36b: 0xa0,\n\t// Block 0xe, offset 0x380\n\t0x381: 0xa1, 0x382: 0xa2, 0x384: 0xa3, 0x385: 0x82, 0x387: 0xa4,\n\t0x388: 0xa5, 0x38b: 0xa6, 0x38c: 0x3f, 0x38d: 0xa7,\n\t0x391: 0xa8, 0x392: 0xa9, 0x393: 0xaa, 0x396: 0xab, 0x397: 0xac,\n\t0x398: 0x73, 0x39a: 0xad, 0x39c: 0xae,\n\t0x3a8: 0xaf, 0x3a9: 0xb0, 0x3aa: 0xb1,\n\t0x3b0: 0x73, 0x3b5: 0xb2,\n\t// Block 0xf, offset 0x3c0\n\t0x3eb: 0xb3, 0x3ec: 0xb4,\n\t// Block 0x10, offset 0x400\n\t0x432: 0xb5,\n\t// Block 0x11, offset 0x440\n\t0x445: 0xb6, 0x446: 0xb7, 0x447: 0xb8,\n\t0x449: 0xb9,\n\t// Block 0x12, offset 0x480\n\t0x480: 0xba,\n\t0x4a3: 0xbb, 0x4a5: 0xbc,\n\t// Block 0x13, offset 0x4c0\n\t0x4c8: 0xbd,\n\t// Block 0x14, offset 0x500\n\t0x520: 0x24, 0x521: 0x25, 0x522: 0x26, 0x523: 0x27, 0x524: 0x28, 0x525: 0x29, 0x526: 0x2a, 0x527: 0x2b,\n\t0x528: 0x2c,\n\t// Block 0x15, offset 0x540\n\t0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d,\n\t0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11,\n\t0x56f: 0x12,\n}\n\n// nfcSparseOffset: 145 entries, 290 bytes\nvar nfcSparseOffset = []uint16{0x0, 0x5, 0x9, 0xb, 0xd, 0x18, 0x28, 0x2a, 0x2f, 0x3a, 0x49, 0x56, 0x5e, 0x62, 0x67, 0x69, 0x7a, 0x82, 0x89, 0x8c, 0x93, 0x97, 0x9b, 0x9d, 0x9f, 0xa8, 0xac, 0xb3, 0xb8, 0xbb, 0xc5, 0xc8, 0xcf, 0xd7, 0xda, 0xdc, 0xde, 0xe0, 0xe5, 0xf6, 0x102, 0x104, 0x10a, 0x10c, 0x10e, 0x110, 0x112, 0x114, 0x116, 0x119, 0x11c, 0x11e, 0x121, 0x124, 0x128, 0x12d, 0x136, 0x138, 0x13b, 0x13d, 0x148, 0x14c, 0x15a, 0x15d, 0x163, 0x169, 0x174, 0x178, 0x17a, 0x17c, 0x17e, 0x180, 0x182, 0x188, 0x18c, 0x18e, 0x190, 0x198, 0x19c, 0x19f, 0x1a1, 0x1a3, 0x1a5, 0x1a8, 0x1aa, 0x1ac, 0x1ae, 0x1b0, 0x1b6, 0x1b9, 0x1bb, 0x1c2, 0x1c8, 0x1ce, 0x1d6, 0x1dc, 0x1e2, 0x1e8, 0x1ec, 0x1fa, 0x203, 0x206, 0x209, 0x20b, 0x20e, 0x210, 0x214, 0x219, 0x21b, 0x21d, 0x222, 0x228, 0x22a, 0x22c, 0x22e, 0x234, 0x237, 0x23a, 0x242, 0x249, 0x24c, 0x24f, 0x251, 0x259, 0x25c, 0x263, 0x266, 0x26c, 0x26e, 0x271, 0x273, 0x275, 0x277, 0x279, 0x27c, 0x27e, 0x280, 0x282, 0x28f, 0x299, 0x29b, 0x29d, 0x2a3, 0x2a5, 0x2a8}\n\n// nfcSparseValues: 682 entries, 2728 bytes\nvar nfcSparseValues = [682]valueRange{\n\t// Block 0x0, offset 0x0\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0xa100, lo: 0xa8, hi: 0xa8},\n\t{value: 0x8100, lo: 0xaf, hi: 0xaf},\n\t{value: 0x8100, lo: 0xb4, hi: 0xb4},\n\t{value: 0x8100, lo: 0xb8, hi: 0xb8},\n\t// Block 0x1, offset 0x5\n\t{value: 0x0091, lo: 0x03},\n\t{value: 0x46e2, lo: 0xa0, hi: 0xa1},\n\t{value: 0x4714, lo: 0xaf, hi: 0xb0},\n\t{value: 0xa000, lo: 0xb7, hi: 0xb7},\n\t// Block 0x2, offset 0x9\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t// Block 0x3, offset 0xb\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8100, lo: 0x98, hi: 0x9d},\n\t// Block 0x4, offset 0xd\n\t{value: 0x0006, lo: 0x0a},\n\t{value: 0xa000, lo: 0x81, hi: 0x81},\n\t{value: 0xa000, lo: 0x85, hi: 0x85},\n\t{value: 0xa000, lo: 0x89, hi: 0x89},\n\t{value: 0x4840, lo: 0x8a, hi: 0x8a},\n\t{value: 0x485e, lo: 0x8b, hi: 0x8b},\n\t{value: 0x36c7, lo: 0x8c, hi: 0x8c},\n\t{value: 0x36df, lo: 0x8d, hi: 0x8d},\n\t{value: 0x4876, lo: 0x8e, hi: 0x8e},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0x36fd, lo: 0x93, hi: 0x94},\n\t// Block 0x5, offset 0x18\n\t{value: 0x0000, lo: 0x0f},\n\t{value: 0xa000, lo: 0x83, hi: 0x83},\n\t{value: 0xa000, lo: 0x87, hi: 0x87},\n\t{value: 0xa000, lo: 0x8b, hi: 0x8b},\n\t{value: 0xa000, lo: 0x8d, hi: 0x8d},\n\t{value: 0x37a5, lo: 0x90, hi: 0x90},\n\t{value: 0x37b1, lo: 0x91, hi: 0x91},\n\t{value: 0x379f, lo: 0x93, hi: 0x93},\n\t{value: 0xa000, lo: 0x96, hi: 0x96},\n\t{value: 0x3817, lo: 0x97, hi: 0x97},\n\t{value: 0x37e1, lo: 0x9c, hi: 0x9c},\n\t{value: 0x37c9, lo: 0x9d, hi: 0x9d},\n\t{value: 0x37f3, lo: 0x9e, hi: 0x9e},\n\t{value: 0xa000, lo: 0xb4, hi: 0xb5},\n\t{value: 0x381d, lo: 0xb6, hi: 0xb6},\n\t{value: 0x3823, lo: 0xb7, hi: 0xb7},\n\t// Block 0x6, offset 0x28\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0x83, hi: 0x87},\n\t// Block 0x7, offset 0x2a\n\t{value: 0x0001, lo: 0x04},\n\t{value: 0x8113, lo: 0x81, hi: 0x82},\n\t{value: 0x8132, lo: 0x84, hi: 0x84},\n\t{value: 0x812d, lo: 0x85, hi: 0x85},\n\t{value: 0x810d, lo: 0x87, hi: 0x87},\n\t// Block 0x8, offset 0x2f\n\t{value: 0x0000, lo: 0x0a},\n\t{value: 0x8132, lo: 0x90, hi: 0x97},\n\t{value: 0x8119, lo: 0x98, hi: 0x98},\n\t{value: 0x811a, lo: 0x99, hi: 0x99},\n\t{value: 0x811b, lo: 0x9a, hi: 0x9a},\n\t{value: 0x3841, lo: 0xa2, hi: 0xa2},\n\t{value: 0x3847, lo: 0xa3, hi: 0xa3},\n\t{value: 0x3853, lo: 0xa4, hi: 0xa4},\n\t{value: 0x384d, lo: 0xa5, hi: 0xa5},\n\t{value: 0x3859, lo: 0xa6, hi: 0xa6},\n\t{value: 0xa000, lo: 0xa7, hi: 0xa7},\n\t// Block 0x9, offset 0x3a\n\t{value: 0x0000, lo: 0x0e},\n\t{value: 0x386b, lo: 0x80, hi: 0x80},\n\t{value: 0xa000, lo: 0x81, hi: 0x81},\n\t{value: 0x385f, lo: 0x82, hi: 0x82},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0x3865, lo: 0x93, hi: 0x93},\n\t{value: 0xa000, lo: 0x95, hi: 0x95},\n\t{value: 0x8132, lo: 0x96, hi: 0x9c},\n\t{value: 0x8132, lo: 0x9f, hi: 0xa2},\n\t{value: 0x812d, lo: 0xa3, hi: 0xa3},\n\t{value: 0x8132, lo: 0xa4, hi: 0xa4},\n\t{value: 0x8132, lo: 0xa7, hi: 0xa8},\n\t{value: 0x812d, lo: 0xaa, hi: 0xaa},\n\t{value: 0x8132, lo: 0xab, hi: 0xac},\n\t{value: 0x812d, lo: 0xad, hi: 0xad},\n\t// Block 0xa, offset 0x49\n\t{value: 0x0000, lo: 0x0c},\n\t{value: 0x811f, lo: 0x91, hi: 0x91},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb0},\n\t{value: 0x812d, lo: 0xb1, hi: 0xb1},\n\t{value: 0x8132, lo: 0xb2, hi: 0xb3},\n\t{value: 0x812d, lo: 0xb4, hi: 0xb4},\n\t{value: 0x8132, lo: 0xb5, hi: 0xb6},\n\t{value: 0x812d, lo: 0xb7, hi: 0xb9},\n\t{value: 0x8132, lo: 0xba, hi: 0xba},\n\t{value: 0x812d, lo: 0xbb, hi: 0xbc},\n\t{value: 0x8132, lo: 0xbd, hi: 0xbd},\n\t{value: 0x812d, lo: 0xbe, hi: 0xbe},\n\t{value: 0x8132, lo: 0xbf, hi: 0xbf},\n\t// Block 0xb, offset 0x56\n\t{value: 0x0005, lo: 0x07},\n\t{value: 0x8132, lo: 0x80, hi: 0x80},\n\t{value: 0x8132, lo: 0x81, hi: 0x81},\n\t{value: 0x812d, lo: 0x82, hi: 0x83},\n\t{value: 0x812d, lo: 0x84, hi: 0x85},\n\t{value: 0x812d, lo: 0x86, hi: 0x87},\n\t{value: 0x812d, lo: 0x88, hi: 0x89},\n\t{value: 0x8132, lo: 0x8a, hi: 0x8a},\n\t// Block 0xc, offset 0x5e\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x8132, lo: 0xab, hi: 0xb1},\n\t{value: 0x812d, lo: 0xb2, hi: 0xb2},\n\t{value: 0x8132, lo: 0xb3, hi: 0xb3},\n\t// Block 0xd, offset 0x62\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x8132, lo: 0x96, hi: 0x99},\n\t{value: 0x8132, lo: 0x9b, hi: 0xa3},\n\t{value: 0x8132, lo: 0xa5, hi: 0xa7},\n\t{value: 0x8132, lo: 0xa9, hi: 0xad},\n\t// Block 0xe, offset 0x67\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0x99, hi: 0x9b},\n\t// Block 0xf, offset 0x69\n\t{value: 0x0000, lo: 0x10},\n\t{value: 0x8132, lo: 0x94, hi: 0xa1},\n\t{value: 0x812d, lo: 0xa3, hi: 0xa3},\n\t{value: 0x8132, lo: 0xa4, hi: 0xa5},\n\t{value: 0x812d, lo: 0xa6, hi: 0xa6},\n\t{value: 0x8132, lo: 0xa7, hi: 0xa8},\n\t{value: 0x812d, lo: 0xa9, hi: 0xa9},\n\t{value: 0x8132, lo: 0xaa, hi: 0xac},\n\t{value: 0x812d, lo: 0xad, hi: 0xaf},\n\t{value: 0x8116, lo: 0xb0, hi: 0xb0},\n\t{value: 0x8117, lo: 0xb1, hi: 0xb1},\n\t{value: 0x8118, lo: 0xb2, hi: 0xb2},\n\t{value: 0x8132, lo: 0xb3, hi: 0xb5},\n\t{value: 0x812d, lo: 0xb6, hi: 0xb6},\n\t{value: 0x8132, lo: 0xb7, hi: 0xb8},\n\t{value: 0x812d, lo: 0xb9, hi: 0xba},\n\t{value: 0x8132, lo: 0xbb, hi: 0xbf},\n\t// Block 0x10, offset 0x7a\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0xa000, lo: 0xa8, hi: 0xa8},\n\t{value: 0x3ed8, lo: 0xa9, hi: 0xa9},\n\t{value: 0xa000, lo: 0xb0, hi: 0xb0},\n\t{value: 0x3ee0, lo: 0xb1, hi: 0xb1},\n\t{value: 0xa000, lo: 0xb3, hi: 0xb3},\n\t{value: 0x3ee8, lo: 0xb4, hi: 0xb4},\n\t{value: 0x9902, lo: 0xbc, hi: 0xbc},\n\t// Block 0x11, offset 0x82\n\t{value: 0x0008, lo: 0x06},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x8132, lo: 0x91, hi: 0x91},\n\t{value: 0x812d, lo: 0x92, hi: 0x92},\n\t{value: 0x8132, lo: 0x93, hi: 0x93},\n\t{value: 0x8132, lo: 0x94, hi: 0x94},\n\t{value: 0x451c, lo: 0x98, hi: 0x9f},\n\t// Block 0x12, offset 0x89\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8102, lo: 0xbc, hi: 0xbc},\n\t{value: 0x9900, lo: 0xbe, hi: 0xbe},\n\t// Block 0x13, offset 0x8c\n\t{value: 0x0008, lo: 0x06},\n\t{value: 0xa000, lo: 0x87, hi: 0x87},\n\t{value: 0x2c9e, lo: 0x8b, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x97, hi: 0x97},\n\t{value: 0x455c, lo: 0x9c, hi: 0x9d},\n\t{value: 0x456c, lo: 0x9f, hi: 0x9f},\n\t// Block 0x14, offset 0x93\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x4594, lo: 0xb3, hi: 0xb3},\n\t{value: 0x459c, lo: 0xb6, hi: 0xb6},\n\t{value: 0x8102, lo: 0xbc, hi: 0xbc},\n\t// Block 0x15, offset 0x97\n\t{value: 0x0008, lo: 0x03},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x4574, lo: 0x99, hi: 0x9b},\n\t{value: 0x458c, lo: 0x9e, hi: 0x9e},\n\t// Block 0x16, offset 0x9b\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8102, lo: 0xbc, hi: 0xbc},\n\t// Block 0x17, offset 0x9d\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t// Block 0x18, offset 0x9f\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0xa000, lo: 0x87, hi: 0x87},\n\t{value: 0x2cb6, lo: 0x88, hi: 0x88},\n\t{value: 0x2cae, lo: 0x8b, hi: 0x8b},\n\t{value: 0x2cbe, lo: 0x8c, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x96, hi: 0x97},\n\t{value: 0x45a4, lo: 0x9c, hi: 0x9c},\n\t{value: 0x45ac, lo: 0x9d, hi: 0x9d},\n\t// Block 0x19, offset 0xa8\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0x2cc6, lo: 0x94, hi: 0x94},\n\t{value: 0x9900, lo: 0xbe, hi: 0xbe},\n\t// Block 0x1a, offset 0xac\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0xa000, lo: 0x86, hi: 0x87},\n\t{value: 0x2cce, lo: 0x8a, hi: 0x8a},\n\t{value: 0x2cde, lo: 0x8b, hi: 0x8b},\n\t{value: 0x2cd6, lo: 0x8c, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x97, hi: 0x97},\n\t// Block 0x1b, offset 0xb3\n\t{value: 0x1801, lo: 0x04},\n\t{value: 0xa000, lo: 0x86, hi: 0x86},\n\t{value: 0x3ef0, lo: 0x88, hi: 0x88},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x8120, lo: 0x95, hi: 0x96},\n\t// Block 0x1c, offset 0xb8\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8102, lo: 0xbc, hi: 0xbc},\n\t{value: 0xa000, lo: 0xbf, hi: 0xbf},\n\t// Block 0x1d, offset 0xbb\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x2ce6, lo: 0x80, hi: 0x80},\n\t{value: 0x9900, lo: 0x82, hi: 0x82},\n\t{value: 0xa000, lo: 0x86, hi: 0x86},\n\t{value: 0x2cee, lo: 0x87, hi: 0x87},\n\t{value: 0x2cf6, lo: 0x88, hi: 0x88},\n\t{value: 0x2f50, lo: 0x8a, hi: 0x8a},\n\t{value: 0x2dd8, lo: 0x8b, hi: 0x8b},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x95, hi: 0x96},\n\t// Block 0x1e, offset 0xc5\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0xbb, hi: 0xbc},\n\t{value: 0x9900, lo: 0xbe, hi: 0xbe},\n\t// Block 0x1f, offset 0xc8\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0xa000, lo: 0x86, hi: 0x87},\n\t{value: 0x2cfe, lo: 0x8a, hi: 0x8a},\n\t{value: 0x2d0e, lo: 0x8b, hi: 0x8b},\n\t{value: 0x2d06, lo: 0x8c, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x97, hi: 0x97},\n\t// Block 0x20, offset 0xcf\n\t{value: 0x6bea, lo: 0x07},\n\t{value: 0x9904, lo: 0x8a, hi: 0x8a},\n\t{value: 0x9900, lo: 0x8f, hi: 0x8f},\n\t{value: 0xa000, lo: 0x99, hi: 0x99},\n\t{value: 0x3ef8, lo: 0x9a, hi: 0x9a},\n\t{value: 0x2f58, lo: 0x9c, hi: 0x9c},\n\t{value: 0x2de3, lo: 0x9d, hi: 0x9d},\n\t{value: 0x2d16, lo: 0x9e, hi: 0x9f},\n\t// Block 0x21, offset 0xd7\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8122, lo: 0xb8, hi: 0xb9},\n\t{value: 0x8104, lo: 0xba, hi: 0xba},\n\t// Block 0x22, offset 0xda\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8123, lo: 0x88, hi: 0x8b},\n\t// Block 0x23, offset 0xdc\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8124, lo: 0xb8, hi: 0xb9},\n\t// Block 0x24, offset 0xde\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8125, lo: 0x88, hi: 0x8b},\n\t// Block 0x25, offset 0xe0\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x812d, lo: 0x98, hi: 0x99},\n\t{value: 0x812d, lo: 0xb5, hi: 0xb5},\n\t{value: 0x812d, lo: 0xb7, hi: 0xb7},\n\t{value: 0x812b, lo: 0xb9, hi: 0xb9},\n\t// Block 0x26, offset 0xe5\n\t{value: 0x0000, lo: 0x10},\n\t{value: 0x2644, lo: 0x83, hi: 0x83},\n\t{value: 0x264b, lo: 0x8d, hi: 0x8d},\n\t{value: 0x2652, lo: 0x92, hi: 0x92},\n\t{value: 0x2659, lo: 0x97, hi: 0x97},\n\t{value: 0x2660, lo: 0x9c, hi: 0x9c},\n\t{value: 0x263d, lo: 0xa9, hi: 0xa9},\n\t{value: 0x8126, lo: 0xb1, hi: 0xb1},\n\t{value: 0x8127, lo: 0xb2, hi: 0xb2},\n\t{value: 0x4a84, lo: 0xb3, hi: 0xb3},\n\t{value: 0x8128, lo: 0xb4, hi: 0xb4},\n\t{value: 0x4a8d, lo: 0xb5, hi: 0xb5},\n\t{value: 0x45b4, lo: 0xb6, hi: 0xb6},\n\t{value: 0x8200, lo: 0xb7, hi: 0xb7},\n\t{value: 0x45bc, lo: 0xb8, hi: 0xb8},\n\t{value: 0x8200, lo: 0xb9, hi: 0xb9},\n\t{value: 0x8127, lo: 0xba, hi: 0xbd},\n\t// Block 0x27, offset 0xf6\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x8127, lo: 0x80, hi: 0x80},\n\t{value: 0x4a96, lo: 0x81, hi: 0x81},\n\t{value: 0x8132, lo: 0x82, hi: 0x83},\n\t{value: 0x8104, lo: 0x84, hi: 0x84},\n\t{value: 0x8132, lo: 0x86, hi: 0x87},\n\t{value: 0x266e, lo: 0x93, hi: 0x93},\n\t{value: 0x2675, lo: 0x9d, hi: 0x9d},\n\t{value: 0x267c, lo: 0xa2, hi: 0xa2},\n\t{value: 0x2683, lo: 0xa7, hi: 0xa7},\n\t{value: 0x268a, lo: 0xac, hi: 0xac},\n\t{value: 0x2667, lo: 0xb9, hi: 0xb9},\n\t// Block 0x28, offset 0x102\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0x86, hi: 0x86},\n\t// Block 0x29, offset 0x104\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xa000, lo: 0xa5, hi: 0xa5},\n\t{value: 0x2d1e, lo: 0xa6, hi: 0xa6},\n\t{value: 0x9900, lo: 0xae, hi: 0xae},\n\t{value: 0x8102, lo: 0xb7, hi: 0xb7},\n\t{value: 0x8104, lo: 0xb9, hi: 0xba},\n\t// Block 0x2a, offset 0x10a\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0x8d, hi: 0x8d},\n\t// Block 0x2b, offset 0x10c\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0xa000, lo: 0x80, hi: 0x92},\n\t// Block 0x2c, offset 0x10e\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0xb900, lo: 0xa1, hi: 0xb5},\n\t// Block 0x2d, offset 0x110\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x9900, lo: 0xa8, hi: 0xbf},\n\t// Block 0x2e, offset 0x112\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x9900, lo: 0x80, hi: 0x82},\n\t// Block 0x2f, offset 0x114\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0x9d, hi: 0x9f},\n\t// Block 0x30, offset 0x116\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x94, hi: 0x94},\n\t{value: 0x8104, lo: 0xb4, hi: 0xb4},\n\t// Block 0x31, offset 0x119\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x92, hi: 0x92},\n\t{value: 0x8132, lo: 0x9d, hi: 0x9d},\n\t// Block 0x32, offset 0x11c\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8131, lo: 0xa9, hi: 0xa9},\n\t// Block 0x33, offset 0x11e\n\t{value: 0x0004, lo: 0x02},\n\t{value: 0x812e, lo: 0xb9, hi: 0xba},\n\t{value: 0x812d, lo: 0xbb, hi: 0xbb},\n\t// Block 0x34, offset 0x121\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0x97, hi: 0x97},\n\t{value: 0x812d, lo: 0x98, hi: 0x98},\n\t// Block 0x35, offset 0x124\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x8104, lo: 0xa0, hi: 0xa0},\n\t{value: 0x8132, lo: 0xb5, hi: 0xbc},\n\t{value: 0x812d, lo: 0xbf, hi: 0xbf},\n\t// Block 0x36, offset 0x128\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb4},\n\t{value: 0x812d, lo: 0xb5, hi: 0xba},\n\t{value: 0x8132, lo: 0xbb, hi: 0xbc},\n\t{value: 0x812d, lo: 0xbd, hi: 0xbd},\n\t// Block 0x37, offset 0x12d\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0x2d66, lo: 0x80, hi: 0x80},\n\t{value: 0x2d6e, lo: 0x81, hi: 0x81},\n\t{value: 0xa000, lo: 0x82, hi: 0x82},\n\t{value: 0x2d76, lo: 0x83, hi: 0x83},\n\t{value: 0x8104, lo: 0x84, hi: 0x84},\n\t{value: 0x8132, lo: 0xab, hi: 0xab},\n\t{value: 0x812d, lo: 0xac, hi: 0xac},\n\t{value: 0x8132, lo: 0xad, hi: 0xb3},\n\t// Block 0x38, offset 0x136\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xaa, hi: 0xab},\n\t// Block 0x39, offset 0x138\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8102, lo: 0xa6, hi: 0xa6},\n\t{value: 0x8104, lo: 0xb2, hi: 0xb3},\n\t// Block 0x3a, offset 0x13b\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8102, lo: 0xb7, hi: 0xb7},\n\t// Block 0x3b, offset 0x13d\n\t{value: 0x0000, lo: 0x0a},\n\t{value: 0x8132, lo: 0x90, hi: 0x92},\n\t{value: 0x8101, lo: 0x94, hi: 0x94},\n\t{value: 0x812d, lo: 0x95, hi: 0x99},\n\t{value: 0x8132, lo: 0x9a, hi: 0x9b},\n\t{value: 0x812d, lo: 0x9c, hi: 0x9f},\n\t{value: 0x8132, lo: 0xa0, hi: 0xa0},\n\t{value: 0x8101, lo: 0xa2, hi: 0xa8},\n\t{value: 0x812d, lo: 0xad, hi: 0xad},\n\t{value: 0x8132, lo: 0xb4, hi: 0xb4},\n\t{value: 0x8132, lo: 0xb8, hi: 0xb9},\n\t// Block 0x3c, offset 0x148\n\t{value: 0x0004, lo: 0x03},\n\t{value: 0x0433, lo: 0x80, hi: 0x81},\n\t{value: 0x8100, lo: 0x97, hi: 0x97},\n\t{value: 0x8100, lo: 0xbe, hi: 0xbe},\n\t// Block 0x3d, offset 0x14c\n\t{value: 0x0000, lo: 0x0d},\n\t{value: 0x8132, lo: 0x90, hi: 0x91},\n\t{value: 0x8101, lo: 0x92, hi: 0x93},\n\t{value: 0x8132, lo: 0x94, hi: 0x97},\n\t{value: 0x8101, lo: 0x98, hi: 0x9a},\n\t{value: 0x8132, lo: 0x9b, hi: 0x9c},\n\t{value: 0x8132, lo: 0xa1, hi: 0xa1},\n\t{value: 0x8101, lo: 0xa5, hi: 0xa6},\n\t{value: 0x8132, lo: 0xa7, hi: 0xa7},\n\t{value: 0x812d, lo: 0xa8, hi: 0xa8},\n\t{value: 0x8132, lo: 0xa9, hi: 0xa9},\n\t{value: 0x8101, lo: 0xaa, hi: 0xab},\n\t{value: 0x812d, lo: 0xac, hi: 0xaf},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb0},\n\t// Block 0x3e, offset 0x15a\n\t{value: 0x427b, lo: 0x02},\n\t{value: 0x01b8, lo: 0xa6, hi: 0xa6},\n\t{value: 0x0057, lo: 0xaa, hi: 0xab},\n\t// Block 0x3f, offset 0x15d\n\t{value: 0x0007, lo: 0x05},\n\t{value: 0xa000, lo: 0x90, hi: 0x90},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0xa000, lo: 0x94, hi: 0x94},\n\t{value: 0x3bb9, lo: 0x9a, hi: 0x9b},\n\t{value: 0x3bc7, lo: 0xae, hi: 0xae},\n\t// Block 0x40, offset 0x163\n\t{value: 0x000e, lo: 0x05},\n\t{value: 0x3bce, lo: 0x8d, hi: 0x8e},\n\t{value: 0x3bd5, lo: 0x8f, hi: 0x8f},\n\t{value: 0xa000, lo: 0x90, hi: 0x90},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0xa000, lo: 0x94, hi: 0x94},\n\t// Block 0x41, offset 0x169\n\t{value: 0x6408, lo: 0x0a},\n\t{value: 0xa000, lo: 0x83, hi: 0x83},\n\t{value: 0x3be3, lo: 0x84, hi: 0x84},\n\t{value: 0xa000, lo: 0x88, hi: 0x88},\n\t{value: 0x3bea, lo: 0x89, hi: 0x89},\n\t{value: 0xa000, lo: 0x8b, hi: 0x8b},\n\t{value: 0x3bf1, lo: 0x8c, hi: 0x8c},\n\t{value: 0xa000, lo: 0xa3, hi: 0xa3},\n\t{value: 0x3bf8, lo: 0xa4, hi: 0xa5},\n\t{value: 0x3bff, lo: 0xa6, hi: 0xa6},\n\t{value: 0xa000, lo: 0xbc, hi: 0xbc},\n\t// Block 0x42, offset 0x174\n\t{value: 0x0007, lo: 0x03},\n\t{value: 0x3c68, lo: 0xa0, hi: 0xa1},\n\t{value: 0x3c92, lo: 0xa2, hi: 0xa3},\n\t{value: 0x3cbc, lo: 0xaa, hi: 0xad},\n\t// Block 0x43, offset 0x178\n\t{value: 0x0004, lo: 0x01},\n\t{value: 0x048b, lo: 0xa9, hi: 0xaa},\n\t// Block 0x44, offset 0x17a\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x44dd, lo: 0x9c, hi: 0x9c},\n\t// Block 0x45, offset 0x17c\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xaf, hi: 0xb1},\n\t// Block 0x46, offset 0x17e\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x47, offset 0x180\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xa0, hi: 0xbf},\n\t// Block 0x48, offset 0x182\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x812c, lo: 0xaa, hi: 0xaa},\n\t{value: 0x8131, lo: 0xab, hi: 0xab},\n\t{value: 0x8133, lo: 0xac, hi: 0xac},\n\t{value: 0x812e, lo: 0xad, hi: 0xad},\n\t{value: 0x812f, lo: 0xae, hi: 0xaf},\n\t// Block 0x49, offset 0x188\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x4a9f, lo: 0xb3, hi: 0xb3},\n\t{value: 0x4a9f, lo: 0xb5, hi: 0xb6},\n\t{value: 0x4a9f, lo: 0xba, hi: 0xbf},\n\t// Block 0x4a, offset 0x18c\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x4a9f, lo: 0x8f, hi: 0xa3},\n\t// Block 0x4b, offset 0x18e\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8100, lo: 0xae, hi: 0xbe},\n\t// Block 0x4c, offset 0x190\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x8100, lo: 0x84, hi: 0x84},\n\t{value: 0x8100, lo: 0x87, hi: 0x87},\n\t{value: 0x8100, lo: 0x90, hi: 0x90},\n\t{value: 0x8100, lo: 0x9e, hi: 0x9e},\n\t{value: 0x8100, lo: 0xa1, hi: 0xa1},\n\t{value: 0x8100, lo: 0xb2, hi: 0xb2},\n\t{value: 0x8100, lo: 0xbb, hi: 0xbb},\n\t// Block 0x4d, offset 0x198\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x8100, lo: 0x80, hi: 0x80},\n\t{value: 0x8100, lo: 0x8b, hi: 0x8b},\n\t{value: 0x8100, lo: 0x8e, hi: 0x8e},\n\t// Block 0x4e, offset 0x19c\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0xaf, hi: 0xaf},\n\t{value: 0x8132, lo: 0xb4, hi: 0xbd},\n\t// Block 0x4f, offset 0x19f\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0x9e, hi: 0x9f},\n\t// Block 0x50, offset 0x1a1\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb1},\n\t// Block 0x51, offset 0x1a3\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x86, hi: 0x86},\n\t// Block 0x52, offset 0x1a5\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x84, hi: 0x84},\n\t{value: 0x8132, lo: 0xa0, hi: 0xb1},\n\t// Block 0x53, offset 0x1a8\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0xab, hi: 0xad},\n\t// Block 0x54, offset 0x1aa\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x93, hi: 0x93},\n\t// Block 0x55, offset 0x1ac\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8102, lo: 0xb3, hi: 0xb3},\n\t// Block 0x56, offset 0x1ae\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x80, hi: 0x80},\n\t// Block 0x57, offset 0x1b0\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb0},\n\t{value: 0x8132, lo: 0xb2, hi: 0xb3},\n\t{value: 0x812d, lo: 0xb4, hi: 0xb4},\n\t{value: 0x8132, lo: 0xb7, hi: 0xb8},\n\t{value: 0x8132, lo: 0xbe, hi: 0xbf},\n\t// Block 0x58, offset 0x1b6\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0x81, hi: 0x81},\n\t{value: 0x8104, lo: 0xb6, hi: 0xb6},\n\t// Block 0x59, offset 0x1b9\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xad, hi: 0xad},\n\t// Block 0x5a, offset 0x1bb\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0xe500, lo: 0x80, hi: 0x80},\n\t{value: 0xc600, lo: 0x81, hi: 0x9b},\n\t{value: 0xe500, lo: 0x9c, hi: 0x9c},\n\t{value: 0xc600, lo: 0x9d, hi: 0xb7},\n\t{value: 0xe500, lo: 0xb8, hi: 0xb8},\n\t{value: 0xc600, lo: 0xb9, hi: 0xbf},\n\t// Block 0x5b, offset 0x1c2\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x93},\n\t{value: 0xe500, lo: 0x94, hi: 0x94},\n\t{value: 0xc600, lo: 0x95, hi: 0xaf},\n\t{value: 0xe500, lo: 0xb0, hi: 0xb0},\n\t{value: 0xc600, lo: 0xb1, hi: 0xbf},\n\t// Block 0x5c, offset 0x1c8\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x8b},\n\t{value: 0xe500, lo: 0x8c, hi: 0x8c},\n\t{value: 0xc600, lo: 0x8d, hi: 0xa7},\n\t{value: 0xe500, lo: 0xa8, hi: 0xa8},\n\t{value: 0xc600, lo: 0xa9, hi: 0xbf},\n\t// Block 0x5d, offset 0x1ce\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0xc600, lo: 0x80, hi: 0x83},\n\t{value: 0xe500, lo: 0x84, hi: 0x84},\n\t{value: 0xc600, lo: 0x85, hi: 0x9f},\n\t{value: 0xe500, lo: 0xa0, hi: 0xa0},\n\t{value: 0xc600, lo: 0xa1, hi: 0xbb},\n\t{value: 0xe500, lo: 0xbc, hi: 0xbc},\n\t{value: 0xc600, lo: 0xbd, hi: 0xbf},\n\t// Block 0x5e, offset 0x1d6\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x97},\n\t{value: 0xe500, lo: 0x98, hi: 0x98},\n\t{value: 0xc600, lo: 0x99, hi: 0xb3},\n\t{value: 0xe500, lo: 0xb4, hi: 0xb4},\n\t{value: 0xc600, lo: 0xb5, hi: 0xbf},\n\t// Block 0x5f, offset 0x1dc\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x8f},\n\t{value: 0xe500, lo: 0x90, hi: 0x90},\n\t{value: 0xc600, lo: 0x91, hi: 0xab},\n\t{value: 0xe500, lo: 0xac, hi: 0xac},\n\t{value: 0xc600, lo: 0xad, hi: 0xbf},\n\t// Block 0x60, offset 0x1e2\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x87},\n\t{value: 0xe500, lo: 0x88, hi: 0x88},\n\t{value: 0xc600, lo: 0x89, hi: 0xa3},\n\t{value: 0xe500, lo: 0xa4, hi: 0xa4},\n\t{value: 0xc600, lo: 0xa5, hi: 0xbf},\n\t// Block 0x61, offset 0x1e8\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0xc600, lo: 0x80, hi: 0x87},\n\t{value: 0xe500, lo: 0x88, hi: 0x88},\n\t{value: 0xc600, lo: 0x89, hi: 0xa3},\n\t// Block 0x62, offset 0x1ec\n\t{value: 0x0006, lo: 0x0d},\n\t{value: 0x4390, lo: 0x9d, hi: 0x9d},\n\t{value: 0x8115, lo: 0x9e, hi: 0x9e},\n\t{value: 0x4402, lo: 0x9f, hi: 0x9f},\n\t{value: 0x43f0, lo: 0xaa, hi: 0xab},\n\t{value: 0x44f4, lo: 0xac, hi: 0xac},\n\t{value: 0x44fc, lo: 0xad, hi: 0xad},\n\t{value: 0x4348, lo: 0xae, hi: 0xb1},\n\t{value: 0x4366, lo: 0xb2, hi: 0xb4},\n\t{value: 0x437e, lo: 0xb5, hi: 0xb6},\n\t{value: 0x438a, lo: 0xb8, hi: 0xb8},\n\t{value: 0x4396, lo: 0xb9, hi: 0xbb},\n\t{value: 0x43ae, lo: 0xbc, hi: 0xbc},\n\t{value: 0x43b4, lo: 0xbe, hi: 0xbe},\n\t// Block 0x63, offset 0x1fa\n\t{value: 0x0006, lo: 0x08},\n\t{value: 0x43ba, lo: 0x80, hi: 0x81},\n\t{value: 0x43c6, lo: 0x83, hi: 0x84},\n\t{value: 0x43d8, lo: 0x86, hi: 0x89},\n\t{value: 0x43fc, lo: 0x8a, hi: 0x8a},\n\t{value: 0x4378, lo: 0x8b, hi: 0x8b},\n\t{value: 0x4360, lo: 0x8c, hi: 0x8c},\n\t{value: 0x43a8, lo: 0x8d, hi: 0x8d},\n\t{value: 0x43d2, lo: 0x8e, hi: 0x8e},\n\t// Block 0x64, offset 0x203\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8100, lo: 0xa4, hi: 0xa5},\n\t{value: 0x8100, lo: 0xb0, hi: 0xb1},\n\t// Block 0x65, offset 0x206\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8100, lo: 0x9b, hi: 0x9d},\n\t{value: 0x8200, lo: 0x9e, hi: 0xa3},\n\t// Block 0x66, offset 0x209\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8100, lo: 0x90, hi: 0x90},\n\t// Block 0x67, offset 0x20b\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8100, lo: 0x99, hi: 0x99},\n\t{value: 0x8200, lo: 0xb2, hi: 0xb4},\n\t// Block 0x68, offset 0x20e\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8100, lo: 0xbc, hi: 0xbd},\n\t// Block 0x69, offset 0x210\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x8132, lo: 0xa0, hi: 0xa6},\n\t{value: 0x812d, lo: 0xa7, hi: 0xad},\n\t{value: 0x8132, lo: 0xae, hi: 0xaf},\n\t// Block 0x6a, offset 0x214\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x8100, lo: 0x89, hi: 0x8c},\n\t{value: 0x8100, lo: 0xb0, hi: 0xb2},\n\t{value: 0x8100, lo: 0xb4, hi: 0xb4},\n\t{value: 0x8100, lo: 0xb6, hi: 0xbf},\n\t// Block 0x6b, offset 0x219\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8100, lo: 0x81, hi: 0x8c},\n\t// Block 0x6c, offset 0x21b\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8100, lo: 0xb5, hi: 0xba},\n\t// Block 0x6d, offset 0x21d\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x4a9f, lo: 0x9e, hi: 0x9f},\n\t{value: 0x4a9f, lo: 0xa3, hi: 0xa3},\n\t{value: 0x4a9f, lo: 0xa5, hi: 0xa6},\n\t{value: 0x4a9f, lo: 0xaa, hi: 0xaf},\n\t// Block 0x6e, offset 0x222\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x4a9f, lo: 0x82, hi: 0x87},\n\t{value: 0x4a9f, lo: 0x8a, hi: 0x8f},\n\t{value: 0x4a9f, lo: 0x92, hi: 0x97},\n\t{value: 0x4a9f, lo: 0x9a, hi: 0x9c},\n\t{value: 0x8100, lo: 0xa3, hi: 0xa3},\n\t// Block 0x6f, offset 0x228\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0xbd, hi: 0xbd},\n\t// Block 0x70, offset 0x22a\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0xa0, hi: 0xa0},\n\t// Block 0x71, offset 0x22c\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xb6, hi: 0xba},\n\t// Block 0x72, offset 0x22e\n\t{value: 0x002c, lo: 0x05},\n\t{value: 0x812d, lo: 0x8d, hi: 0x8d},\n\t{value: 0x8132, lo: 0x8f, hi: 0x8f},\n\t{value: 0x8132, lo: 0xb8, hi: 0xb8},\n\t{value: 0x8101, lo: 0xb9, hi: 0xba},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x73, offset 0x234\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0xa5, hi: 0xa5},\n\t{value: 0x812d, lo: 0xa6, hi: 0xa6},\n\t// Block 0x74, offset 0x237\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x86, hi: 0x86},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x75, offset 0x23a\n\t{value: 0x17fe, lo: 0x07},\n\t{value: 0xa000, lo: 0x99, hi: 0x99},\n\t{value: 0x4238, lo: 0x9a, hi: 0x9a},\n\t{value: 0xa000, lo: 0x9b, hi: 0x9b},\n\t{value: 0x4242, lo: 0x9c, hi: 0x9c},\n\t{value: 0xa000, lo: 0xa5, hi: 0xa5},\n\t{value: 0x424c, lo: 0xab, hi: 0xab},\n\t{value: 0x8104, lo: 0xb9, hi: 0xba},\n\t// Block 0x76, offset 0x242\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x8132, lo: 0x80, hi: 0x82},\n\t{value: 0x9900, lo: 0xa7, hi: 0xa7},\n\t{value: 0x2d7e, lo: 0xae, hi: 0xae},\n\t{value: 0x2d88, lo: 0xaf, hi: 0xaf},\n\t{value: 0xa000, lo: 0xb1, hi: 0xb2},\n\t{value: 0x8104, lo: 0xb3, hi: 0xb4},\n\t// Block 0x77, offset 0x249\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x80, hi: 0x80},\n\t{value: 0x8102, lo: 0x8a, hi: 0x8a},\n\t// Block 0x78, offset 0x24c\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0xb5, hi: 0xb5},\n\t{value: 0x8102, lo: 0xb6, hi: 0xb6},\n\t// Block 0x79, offset 0x24f\n\t{value: 0x0002, lo: 0x01},\n\t{value: 0x8102, lo: 0xa9, hi: 0xaa},\n\t// Block 0x7a, offset 0x251\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0xa000, lo: 0x87, hi: 0x87},\n\t{value: 0x2d92, lo: 0x8b, hi: 0x8b},\n\t{value: 0x2d9c, lo: 0x8c, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x97, hi: 0x97},\n\t{value: 0x8132, lo: 0xa6, hi: 0xac},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb4},\n\t// Block 0x7b, offset 0x259\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x82, hi: 0x82},\n\t{value: 0x8102, lo: 0x86, hi: 0x86},\n\t// Block 0x7c, offset 0x25c\n\t{value: 0x6b5a, lo: 0x06},\n\t{value: 0x9900, lo: 0xb0, hi: 0xb0},\n\t{value: 0xa000, lo: 0xb9, hi: 0xb9},\n\t{value: 0x9900, lo: 0xba, hi: 0xba},\n\t{value: 0x2db0, lo: 0xbb, hi: 0xbb},\n\t{value: 0x2da6, lo: 0xbc, hi: 0xbd},\n\t{value: 0x2dba, lo: 0xbe, hi: 0xbe},\n\t// Block 0x7d, offset 0x263\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x82, hi: 0x82},\n\t{value: 0x8102, lo: 0x83, hi: 0x83},\n\t// Block 0x7e, offset 0x266\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x9900, lo: 0xaf, hi: 0xaf},\n\t{value: 0xa000, lo: 0xb8, hi: 0xb9},\n\t{value: 0x2dc4, lo: 0xba, hi: 0xba},\n\t{value: 0x2dce, lo: 0xbb, hi: 0xbb},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x7f, offset 0x26c\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8102, lo: 0x80, hi: 0x80},\n\t// Block 0x80, offset 0x26e\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0xb6, hi: 0xb6},\n\t{value: 0x8102, lo: 0xb7, hi: 0xb7},\n\t// Block 0x81, offset 0x271\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xab, hi: 0xab},\n\t// Block 0x82, offset 0x273\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xb4, hi: 0xb4},\n\t// Block 0x83, offset 0x275\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x87, hi: 0x87},\n\t// Block 0x84, offset 0x277\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x99, hi: 0x99},\n\t// Block 0x85, offset 0x279\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8102, lo: 0x82, hi: 0x82},\n\t{value: 0x8104, lo: 0x84, hi: 0x85},\n\t// Block 0x86, offset 0x27c\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8101, lo: 0xb0, hi: 0xb4},\n\t// Block 0x87, offset 0x27e\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb6},\n\t// Block 0x88, offset 0x280\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8101, lo: 0x9e, hi: 0x9e},\n\t// Block 0x89, offset 0x282\n\t{value: 0x0000, lo: 0x0c},\n\t{value: 0x45cc, lo: 0x9e, hi: 0x9e},\n\t{value: 0x45d6, lo: 0x9f, hi: 0x9f},\n\t{value: 0x460a, lo: 0xa0, hi: 0xa0},\n\t{value: 0x4618, lo: 0xa1, hi: 0xa1},\n\t{value: 0x4626, lo: 0xa2, hi: 0xa2},\n\t{value: 0x4634, lo: 0xa3, hi: 0xa3},\n\t{value: 0x4642, lo: 0xa4, hi: 0xa4},\n\t{value: 0x812b, lo: 0xa5, hi: 0xa6},\n\t{value: 0x8101, lo: 0xa7, hi: 0xa9},\n\t{value: 0x8130, lo: 0xad, hi: 0xad},\n\t{value: 0x812b, lo: 0xae, hi: 0xb2},\n\t{value: 0x812d, lo: 0xbb, hi: 0xbf},\n\t// Block 0x8a, offset 0x28f\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x812d, lo: 0x80, hi: 0x82},\n\t{value: 0x8132, lo: 0x85, hi: 0x89},\n\t{value: 0x812d, lo: 0x8a, hi: 0x8b},\n\t{value: 0x8132, lo: 0xaa, hi: 0xad},\n\t{value: 0x45e0, lo: 0xbb, hi: 0xbb},\n\t{value: 0x45ea, lo: 0xbc, hi: 0xbc},\n\t{value: 0x4650, lo: 0xbd, hi: 0xbd},\n\t{value: 0x466c, lo: 0xbe, hi: 0xbe},\n\t{value: 0x465e, lo: 0xbf, hi: 0xbf},\n\t// Block 0x8b, offset 0x299\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x467a, lo: 0x80, hi: 0x80},\n\t// Block 0x8c, offset 0x29b\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0x82, hi: 0x84},\n\t// Block 0x8d, offset 0x29d\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x8132, lo: 0x80, hi: 0x86},\n\t{value: 0x8132, lo: 0x88, hi: 0x98},\n\t{value: 0x8132, lo: 0x9b, hi: 0xa1},\n\t{value: 0x8132, lo: 0xa3, hi: 0xa4},\n\t{value: 0x8132, lo: 0xa6, hi: 0xaa},\n\t// Block 0x8e, offset 0x2a3\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0x90, hi: 0x96},\n\t// Block 0x8f, offset 0x2a5\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0x84, hi: 0x89},\n\t{value: 0x8102, lo: 0x8a, hi: 0x8a},\n\t// Block 0x90, offset 0x2a8\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8100, lo: 0x93, hi: 0x93},\n}\n\n// lookup returns the trie value for the first UTF-8 encoding in s and\n// the width in bytes of this encoding. The size will be 0 if s does not\n// hold enough bytes to complete the encoding. len(s) must be greater than 0.\nfunc (t *nfkcTrie) lookup(s []byte) (v uint16, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < 0x80: // is ASCII\n\t\treturn nfkcValues[c0], 1\n\tcase c0 < 0xC2:\n\t\treturn 0, 1 // Illegal UTF-8: not a starter, not ASCII.\n\tcase c0 < 0xE0: // 2-byte UTF-8\n\t\tif len(s) < 2 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfkcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c1), 2\n\tcase c0 < 0xF0: // 3-byte UTF-8\n\t\tif len(s) < 3 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfkcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = nfkcIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c2), 3\n\tcase c0 < 0xF8: // 4-byte UTF-8\n\t\tif len(s) < 4 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfkcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = nfkcIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to = uint32(i)<<6 + uint32(c2)\n\t\ti = nfkcIndex[o]\n\t\tc3 := s[3]\n\t\tif c3 < 0x80 || 0xC0 <= c3 {\n\t\t\treturn 0, 3 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c3), 4\n\t}\n\t// Illegal rune\n\treturn 0, 1\n}\n\n// lookupUnsafe returns the trie value for the first UTF-8 encoding in s.\n// s must start with a full and valid UTF-8 encoded rune.\nfunc (t *nfkcTrie) lookupUnsafe(s []byte) uint16 {\n\tc0 := s[0]\n\tif c0 < 0x80 { // is ASCII\n\t\treturn nfkcValues[c0]\n\t}\n\ti := nfkcIndex[c0]\n\tif c0 < 0xE0 { // 2-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[1])\n\t}\n\ti = nfkcIndex[uint32(i)<<6+uint32(s[1])]\n\tif c0 < 0xF0 { // 3-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[2])\n\t}\n\ti = nfkcIndex[uint32(i)<<6+uint32(s[2])]\n\tif c0 < 0xF8 { // 4-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[3])\n\t}\n\treturn 0\n}\n\n// lookupString returns the trie value for the first UTF-8 encoding in s and\n// the width in bytes of this encoding. The size will be 0 if s does not\n// hold enough bytes to complete the encoding. len(s) must be greater than 0.\nfunc (t *nfkcTrie) lookupString(s string) (v uint16, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < 0x80: // is ASCII\n\t\treturn nfkcValues[c0], 1\n\tcase c0 < 0xC2:\n\t\treturn 0, 1 // Illegal UTF-8: not a starter, not ASCII.\n\tcase c0 < 0xE0: // 2-byte UTF-8\n\t\tif len(s) < 2 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfkcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c1), 2\n\tcase c0 < 0xF0: // 3-byte UTF-8\n\t\tif len(s) < 3 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfkcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = nfkcIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c2), 3\n\tcase c0 < 0xF8: // 4-byte UTF-8\n\t\tif len(s) < 4 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfkcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = nfkcIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to = uint32(i)<<6 + uint32(c2)\n\t\ti = nfkcIndex[o]\n\t\tc3 := s[3]\n\t\tif c3 < 0x80 || 0xC0 <= c3 {\n\t\t\treturn 0, 3 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c3), 4\n\t}\n\t// Illegal rune\n\treturn 0, 1\n}\n\n// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s.\n// s must start with a full and valid UTF-8 encoded rune.\nfunc (t *nfkcTrie) lookupStringUnsafe(s string) uint16 {\n\tc0 := s[0]\n\tif c0 < 0x80 { // is ASCII\n\t\treturn nfkcValues[c0]\n\t}\n\ti := nfkcIndex[c0]\n\tif c0 < 0xE0 { // 2-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[1])\n\t}\n\ti = nfkcIndex[uint32(i)<<6+uint32(s[1])]\n\tif c0 < 0xF0 { // 3-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[2])\n\t}\n\ti = nfkcIndex[uint32(i)<<6+uint32(s[2])]\n\tif c0 < 0xF8 { // 4-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[3])\n\t}\n\treturn 0\n}\n\n// nfkcTrie. Total size: 17104 bytes (16.70 KiB). Checksum: d985061cf5307b35.\ntype nfkcTrie struct{}\n\nfunc newNfkcTrie(i int) *nfkcTrie {\n\treturn &nfkcTrie{}\n}\n\n// lookupValue determines the type of block n and looks up the value for b.\nfunc (t *nfkcTrie) lookupValue(n uint32, b byte) uint16 {\n\tswitch {\n\tcase n < 91:\n\t\treturn uint16(nfkcValues[n<<6+uint32(b)])\n\tdefault:\n\t\tn -= 91\n\t\treturn uint16(nfkcSparse.lookup(n, b))\n\t}\n}\n\n// nfkcValues: 93 blocks, 5952 entries, 11904 bytes\n// The third block is the zero block.\nvar nfkcValues = [5952]uint16{\n\t// Block 0x0, offset 0x0\n\t0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000,\n\t// Block 0x1, offset 0x40\n\t0x41: 0xa000, 0x42: 0xa000, 0x43: 0xa000, 0x44: 0xa000, 0x45: 0xa000,\n\t0x46: 0xa000, 0x47: 0xa000, 0x48: 0xa000, 0x49: 0xa000, 0x4a: 0xa000, 0x4b: 0xa000,\n\t0x4c: 0xa000, 0x4d: 0xa000, 0x4e: 0xa000, 0x4f: 0xa000, 0x50: 0xa000,\n\t0x52: 0xa000, 0x53: 0xa000, 0x54: 0xa000, 0x55: 0xa000, 0x56: 0xa000, 0x57: 0xa000,\n\t0x58: 0xa000, 0x59: 0xa000, 0x5a: 0xa000,\n\t0x61: 0xa000, 0x62: 0xa000, 0x63: 0xa000,\n\t0x64: 0xa000, 0x65: 0xa000, 0x66: 0xa000, 0x67: 0xa000, 0x68: 0xa000, 0x69: 0xa000,\n\t0x6a: 0xa000, 0x6b: 0xa000, 0x6c: 0xa000, 0x6d: 0xa000, 0x6e: 0xa000, 0x6f: 0xa000,\n\t0x70: 0xa000, 0x72: 0xa000, 0x73: 0xa000, 0x74: 0xa000, 0x75: 0xa000,\n\t0x76: 0xa000, 0x77: 0xa000, 0x78: 0xa000, 0x79: 0xa000, 0x7a: 0xa000,\n\t// Block 0x2, offset 0x80\n\t// Block 0x3, offset 0xc0\n\t0xc0: 0x2f6f, 0xc1: 0x2f74, 0xc2: 0x4688, 0xc3: 0x2f79, 0xc4: 0x4697, 0xc5: 0x469c,\n\t0xc6: 0xa000, 0xc7: 0x46a6, 0xc8: 0x2fe2, 0xc9: 0x2fe7, 0xca: 0x46ab, 0xcb: 0x2ffb,\n\t0xcc: 0x306e, 0xcd: 0x3073, 0xce: 0x3078, 0xcf: 0x46bf, 0xd1: 0x3104,\n\t0xd2: 0x3127, 0xd3: 0x312c, 0xd4: 0x46c9, 0xd5: 0x46ce, 0xd6: 0x46dd,\n\t0xd8: 0xa000, 0xd9: 0x31b3, 0xda: 0x31b8, 0xdb: 0x31bd, 0xdc: 0x470f, 0xdd: 0x3235,\n\t0xe0: 0x327b, 0xe1: 0x3280, 0xe2: 0x4719, 0xe3: 0x3285,\n\t0xe4: 0x4728, 0xe5: 0x472d, 0xe6: 0xa000, 0xe7: 0x4737, 0xe8: 0x32ee, 0xe9: 0x32f3,\n\t0xea: 0x473c, 0xeb: 0x3307, 0xec: 0x337f, 0xed: 0x3384, 0xee: 0x3389, 0xef: 0x4750,\n\t0xf1: 0x3415, 0xf2: 0x3438, 0xf3: 0x343d, 0xf4: 0x475a, 0xf5: 0x475f,\n\t0xf6: 0x476e, 0xf8: 0xa000, 0xf9: 0x34c9, 0xfa: 0x34ce, 0xfb: 0x34d3,\n\t0xfc: 0x47a0, 0xfd: 0x3550, 0xff: 0x3569,\n\t// Block 0x4, offset 0x100\n\t0x100: 0x2f7e, 0x101: 0x328a, 0x102: 0x468d, 0x103: 0x471e, 0x104: 0x2f9c, 0x105: 0x32a8,\n\t0x106: 0x2fb0, 0x107: 0x32bc, 0x108: 0x2fb5, 0x109: 0x32c1, 0x10a: 0x2fba, 0x10b: 0x32c6,\n\t0x10c: 0x2fbf, 0x10d: 0x32cb, 0x10e: 0x2fc9, 0x10f: 0x32d5,\n\t0x112: 0x46b0, 0x113: 0x4741, 0x114: 0x2ff1, 0x115: 0x32fd, 0x116: 0x2ff6, 0x117: 0x3302,\n\t0x118: 0x3014, 0x119: 0x3320, 0x11a: 0x3005, 0x11b: 0x3311, 0x11c: 0x302d, 0x11d: 0x3339,\n\t0x11e: 0x3037, 0x11f: 0x3343, 0x120: 0x303c, 0x121: 0x3348, 0x122: 0x3046, 0x123: 0x3352,\n\t0x124: 0x304b, 0x125: 0x3357, 0x128: 0x307d, 0x129: 0x338e,\n\t0x12a: 0x3082, 0x12b: 0x3393, 0x12c: 0x3087, 0x12d: 0x3398, 0x12e: 0x30aa, 0x12f: 0x33b6,\n\t0x130: 0x308c, 0x132: 0x195d, 0x133: 0x19e7, 0x134: 0x30b4, 0x135: 0x33c0,\n\t0x136: 0x30c8, 0x137: 0x33d9, 0x139: 0x30d2, 0x13a: 0x33e3, 0x13b: 0x30dc,\n\t0x13c: 0x33ed, 0x13d: 0x30d7, 0x13e: 0x33e8, 0x13f: 0x1bac,\n\t// Block 0x5, offset 0x140\n\t0x140: 0x1c34, 0x143: 0x30ff, 0x144: 0x3410, 0x145: 0x3118,\n\t0x146: 0x3429, 0x147: 0x310e, 0x148: 0x341f, 0x149: 0x1c5c,\n\t0x14c: 0x46d3, 0x14d: 0x4764, 0x14e: 0x3131, 0x14f: 0x3442, 0x150: 0x313b, 0x151: 0x344c,\n\t0x154: 0x3159, 0x155: 0x346a, 0x156: 0x3172, 0x157: 0x3483,\n\t0x158: 0x3163, 0x159: 0x3474, 0x15a: 0x46f6, 0x15b: 0x4787, 0x15c: 0x317c, 0x15d: 0x348d,\n\t0x15e: 0x318b, 0x15f: 0x349c, 0x160: 0x46fb, 0x161: 0x478c, 0x162: 0x31a4, 0x163: 0x34ba,\n\t0x164: 0x3195, 0x165: 0x34ab, 0x168: 0x4705, 0x169: 0x4796,\n\t0x16a: 0x470a, 0x16b: 0x479b, 0x16c: 0x31c2, 0x16d: 0x34d8, 0x16e: 0x31cc, 0x16f: 0x34e2,\n\t0x170: 0x31d1, 0x171: 0x34e7, 0x172: 0x31ef, 0x173: 0x3505, 0x174: 0x3212, 0x175: 0x3528,\n\t0x176: 0x323a, 0x177: 0x3555, 0x178: 0x324e, 0x179: 0x325d, 0x17a: 0x357d, 0x17b: 0x3267,\n\t0x17c: 0x3587, 0x17d: 0x326c, 0x17e: 0x358c, 0x17f: 0x00a7,\n\t// Block 0x6, offset 0x180\n\t0x184: 0x2dee, 0x185: 0x2df4,\n\t0x186: 0x2dfa, 0x187: 0x1972, 0x188: 0x1975, 0x189: 0x1a08, 0x18a: 0x1987, 0x18b: 0x198a,\n\t0x18c: 0x1a3e, 0x18d: 0x2f88, 0x18e: 0x3294, 0x18f: 0x3096, 0x190: 0x33a2, 0x191: 0x3140,\n\t0x192: 0x3451, 0x193: 0x31d6, 0x194: 0x34ec, 0x195: 0x39cf, 0x196: 0x3b5e, 0x197: 0x39c8,\n\t0x198: 0x3b57, 0x199: 0x39d6, 0x19a: 0x3b65, 0x19b: 0x39c1, 0x19c: 0x3b50,\n\t0x19e: 0x38b0, 0x19f: 0x3a3f, 0x1a0: 0x38a9, 0x1a1: 0x3a38, 0x1a2: 0x35b3, 0x1a3: 0x35c5,\n\t0x1a6: 0x3041, 0x1a7: 0x334d, 0x1a8: 0x30be, 0x1a9: 0x33cf,\n\t0x1aa: 0x46ec, 0x1ab: 0x477d, 0x1ac: 0x3990, 0x1ad: 0x3b1f, 0x1ae: 0x35d7, 0x1af: 0x35dd,\n\t0x1b0: 0x33c5, 0x1b1: 0x1942, 0x1b2: 0x1945, 0x1b3: 0x19cf, 0x1b4: 0x3028, 0x1b5: 0x3334,\n\t0x1b8: 0x30fa, 0x1b9: 0x340b, 0x1ba: 0x38b7, 0x1bb: 0x3a46,\n\t0x1bc: 0x35ad, 0x1bd: 0x35bf, 0x1be: 0x35b9, 0x1bf: 0x35cb,\n\t// Block 0x7, offset 0x1c0\n\t0x1c0: 0x2f8d, 0x1c1: 0x3299, 0x1c2: 0x2f92, 0x1c3: 0x329e, 0x1c4: 0x300a, 0x1c5: 0x3316,\n\t0x1c6: 0x300f, 0x1c7: 0x331b, 0x1c8: 0x309b, 0x1c9: 0x33a7, 0x1ca: 0x30a0, 0x1cb: 0x33ac,\n\t0x1cc: 0x3145, 0x1cd: 0x3456, 0x1ce: 0x314a, 0x1cf: 0x345b, 0x1d0: 0x3168, 0x1d1: 0x3479,\n\t0x1d2: 0x316d, 0x1d3: 0x347e, 0x1d4: 0x31db, 0x1d5: 0x34f1, 0x1d6: 0x31e0, 0x1d7: 0x34f6,\n\t0x1d8: 0x3186, 0x1d9: 0x3497, 0x1da: 0x319f, 0x1db: 0x34b5,\n\t0x1de: 0x305a, 0x1df: 0x3366,\n\t0x1e6: 0x4692, 0x1e7: 0x4723, 0x1e8: 0x46ba, 0x1e9: 0x474b,\n\t0x1ea: 0x395f, 0x1eb: 0x3aee, 0x1ec: 0x393c, 0x1ed: 0x3acb, 0x1ee: 0x46d8, 0x1ef: 0x4769,\n\t0x1f0: 0x3958, 0x1f1: 0x3ae7, 0x1f2: 0x3244, 0x1f3: 0x355f,\n\t// Block 0x8, offset 0x200\n\t0x200: 0x9932, 0x201: 0x9932, 0x202: 0x9932, 0x203: 0x9932, 0x204: 0x9932, 0x205: 0x8132,\n\t0x206: 0x9932, 0x207: 0x9932, 0x208: 0x9932, 0x209: 0x9932, 0x20a: 0x9932, 0x20b: 0x9932,\n\t0x20c: 0x9932, 0x20d: 0x8132, 0x20e: 0x8132, 0x20f: 0x9932, 0x210: 0x8132, 0x211: 0x9932,\n\t0x212: 0x8132, 0x213: 0x9932, 0x214: 0x9932, 0x215: 0x8133, 0x216: 0x812d, 0x217: 0x812d,\n\t0x218: 0x812d, 0x219: 0x812d, 0x21a: 0x8133, 0x21b: 0x992b, 0x21c: 0x812d, 0x21d: 0x812d,\n\t0x21e: 0x812d, 0x21f: 0x812d, 0x220: 0x812d, 0x221: 0x8129, 0x222: 0x8129, 0x223: 0x992d,\n\t0x224: 0x992d, 0x225: 0x992d, 0x226: 0x992d, 0x227: 0x9929, 0x228: 0x9929, 0x229: 0x812d,\n\t0x22a: 0x812d, 0x22b: 0x812d, 0x22c: 0x812d, 0x22d: 0x992d, 0x22e: 0x992d, 0x22f: 0x812d,\n\t0x230: 0x992d, 0x231: 0x992d, 0x232: 0x812d, 0x233: 0x812d, 0x234: 0x8101, 0x235: 0x8101,\n\t0x236: 0x8101, 0x237: 0x8101, 0x238: 0x9901, 0x239: 0x812d, 0x23a: 0x812d, 0x23b: 0x812d,\n\t0x23c: 0x812d, 0x23d: 0x8132, 0x23e: 0x8132, 0x23f: 0x8132,\n\t// Block 0x9, offset 0x240\n\t0x240: 0x49ae, 0x241: 0x49b3, 0x242: 0x9932, 0x243: 0x49b8, 0x244: 0x4a71, 0x245: 0x9936,\n\t0x246: 0x8132, 0x247: 0x812d, 0x248: 0x812d, 0x249: 0x812d, 0x24a: 0x8132, 0x24b: 0x8132,\n\t0x24c: 0x8132, 0x24d: 0x812d, 0x24e: 0x812d, 0x250: 0x8132, 0x251: 0x8132,\n\t0x252: 0x8132, 0x253: 0x812d, 0x254: 0x812d, 0x255: 0x812d, 0x256: 0x812d, 0x257: 0x8132,\n\t0x258: 0x8133, 0x259: 0x812d, 0x25a: 0x812d, 0x25b: 0x8132, 0x25c: 0x8134, 0x25d: 0x8135,\n\t0x25e: 0x8135, 0x25f: 0x8134, 0x260: 0x8135, 0x261: 0x8135, 0x262: 0x8134, 0x263: 0x8132,\n\t0x264: 0x8132, 0x265: 0x8132, 0x266: 0x8132, 0x267: 0x8132, 0x268: 0x8132, 0x269: 0x8132,\n\t0x26a: 0x8132, 0x26b: 0x8132, 0x26c: 0x8132, 0x26d: 0x8132, 0x26e: 0x8132, 0x26f: 0x8132,\n\t0x274: 0x0170,\n\t0x27a: 0x42a5,\n\t0x27e: 0x0037,\n\t// Block 0xa, offset 0x280\n\t0x284: 0x425a, 0x285: 0x447b,\n\t0x286: 0x35e9, 0x287: 0x00ce, 0x288: 0x3607, 0x289: 0x3613, 0x28a: 0x3625,\n\t0x28c: 0x3643, 0x28e: 0x3655, 0x28f: 0x3673, 0x290: 0x3e08, 0x291: 0xa000,\n\t0x295: 0xa000, 0x297: 0xa000,\n\t0x299: 0xa000,\n\t0x29f: 0xa000, 0x2a1: 0xa000,\n\t0x2a5: 0xa000, 0x2a9: 0xa000,\n\t0x2aa: 0x3637, 0x2ab: 0x3667, 0x2ac: 0x47fe, 0x2ad: 0x3697, 0x2ae: 0x4828, 0x2af: 0x36a9,\n\t0x2b0: 0x3e70, 0x2b1: 0xa000, 0x2b5: 0xa000,\n\t0x2b7: 0xa000, 0x2b9: 0xa000,\n\t0x2bf: 0xa000,\n\t// Block 0xb, offset 0x2c0\n\t0x2c1: 0xa000, 0x2c5: 0xa000,\n\t0x2c9: 0xa000, 0x2ca: 0x4840, 0x2cb: 0x485e,\n\t0x2cc: 0x36c7, 0x2cd: 0x36df, 0x2ce: 0x4876, 0x2d0: 0x01be, 0x2d1: 0x01d0,\n\t0x2d2: 0x01ac, 0x2d3: 0x430c, 0x2d4: 0x4312, 0x2d5: 0x01fa, 0x2d6: 0x01e8,\n\t0x2f0: 0x01d6, 0x2f1: 0x01eb, 0x2f2: 0x01ee, 0x2f4: 0x0188, 0x2f5: 0x01c7,\n\t0x2f9: 0x01a6,\n\t// Block 0xc, offset 0x300\n\t0x300: 0x3721, 0x301: 0x372d, 0x303: 0x371b,\n\t0x306: 0xa000, 0x307: 0x3709,\n\t0x30c: 0x375d, 0x30d: 0x3745, 0x30e: 0x376f, 0x310: 0xa000,\n\t0x313: 0xa000, 0x315: 0xa000, 0x316: 0xa000, 0x317: 0xa000,\n\t0x318: 0xa000, 0x319: 0x3751, 0x31a: 0xa000,\n\t0x31e: 0xa000, 0x323: 0xa000,\n\t0x327: 0xa000,\n\t0x32b: 0xa000, 0x32d: 0xa000,\n\t0x330: 0xa000, 0x333: 0xa000, 0x335: 0xa000,\n\t0x336: 0xa000, 0x337: 0xa000, 0x338: 0xa000, 0x339: 0x37d5, 0x33a: 0xa000,\n\t0x33e: 0xa000,\n\t// Block 0xd, offset 0x340\n\t0x341: 0x3733, 0x342: 0x37b7,\n\t0x350: 0x370f, 0x351: 0x3793,\n\t0x352: 0x3715, 0x353: 0x3799, 0x356: 0x3727, 0x357: 0x37ab,\n\t0x358: 0xa000, 0x359: 0xa000, 0x35a: 0x3829, 0x35b: 0x382f, 0x35c: 0x3739, 0x35d: 0x37bd,\n\t0x35e: 0x373f, 0x35f: 0x37c3, 0x362: 0x374b, 0x363: 0x37cf,\n\t0x364: 0x3757, 0x365: 0x37db, 0x366: 0x3763, 0x367: 0x37e7, 0x368: 0xa000, 0x369: 0xa000,\n\t0x36a: 0x3835, 0x36b: 0x383b, 0x36c: 0x378d, 0x36d: 0x3811, 0x36e: 0x3769, 0x36f: 0x37ed,\n\t0x370: 0x3775, 0x371: 0x37f9, 0x372: 0x377b, 0x373: 0x37ff, 0x374: 0x3781, 0x375: 0x3805,\n\t0x378: 0x3787, 0x379: 0x380b,\n\t// Block 0xe, offset 0x380\n\t0x387: 0x1d61,\n\t0x391: 0x812d,\n\t0x392: 0x8132, 0x393: 0x8132, 0x394: 0x8132, 0x395: 0x8132, 0x396: 0x812d, 0x397: 0x8132,\n\t0x398: 0x8132, 0x399: 0x8132, 0x39a: 0x812e, 0x39b: 0x812d, 0x39c: 0x8132, 0x39d: 0x8132,\n\t0x39e: 0x8132, 0x39f: 0x8132, 0x3a0: 0x8132, 0x3a1: 0x8132, 0x3a2: 0x812d, 0x3a3: 0x812d,\n\t0x3a4: 0x812d, 0x3a5: 0x812d, 0x3a6: 0x812d, 0x3a7: 0x812d, 0x3a8: 0x8132, 0x3a9: 0x8132,\n\t0x3aa: 0x812d, 0x3ab: 0x8132, 0x3ac: 0x8132, 0x3ad: 0x812e, 0x3ae: 0x8131, 0x3af: 0x8132,\n\t0x3b0: 0x8105, 0x3b1: 0x8106, 0x3b2: 0x8107, 0x3b3: 0x8108, 0x3b4: 0x8109, 0x3b5: 0x810a,\n\t0x3b6: 0x810b, 0x3b7: 0x810c, 0x3b8: 0x810d, 0x3b9: 0x810e, 0x3ba: 0x810e, 0x3bb: 0x810f,\n\t0x3bc: 0x8110, 0x3bd: 0x8111, 0x3bf: 0x8112,\n\t// Block 0xf, offset 0x3c0\n\t0x3c8: 0xa000, 0x3ca: 0xa000, 0x3cb: 0x8116,\n\t0x3cc: 0x8117, 0x3cd: 0x8118, 0x3ce: 0x8119, 0x3cf: 0x811a, 0x3d0: 0x811b, 0x3d1: 0x811c,\n\t0x3d2: 0x811d, 0x3d3: 0x9932, 0x3d4: 0x9932, 0x3d5: 0x992d, 0x3d6: 0x812d, 0x3d7: 0x8132,\n\t0x3d8: 0x8132, 0x3d9: 0x8132, 0x3da: 0x8132, 0x3db: 0x8132, 0x3dc: 0x812d, 0x3dd: 0x8132,\n\t0x3de: 0x8132, 0x3df: 0x812d,\n\t0x3f0: 0x811e, 0x3f5: 0x1d84,\n\t0x3f6: 0x2013, 0x3f7: 0x204f, 0x3f8: 0x204a,\n\t// Block 0x10, offset 0x400\n\t0x405: 0xa000,\n\t0x406: 0x2d26, 0x407: 0xa000, 0x408: 0x2d2e, 0x409: 0xa000, 0x40a: 0x2d36, 0x40b: 0xa000,\n\t0x40c: 0x2d3e, 0x40d: 0xa000, 0x40e: 0x2d46, 0x411: 0xa000,\n\t0x412: 0x2d4e,\n\t0x434: 0x8102, 0x435: 0x9900,\n\t0x43a: 0xa000, 0x43b: 0x2d56,\n\t0x43c: 0xa000, 0x43d: 0x2d5e, 0x43e: 0xa000, 0x43f: 0xa000,\n\t// Block 0x11, offset 0x440\n\t0x440: 0x0069, 0x441: 0x006b, 0x442: 0x006f, 0x443: 0x0083, 0x444: 0x00f5, 0x445: 0x00f8,\n\t0x446: 0x0413, 0x447: 0x0085, 0x448: 0x0089, 0x449: 0x008b, 0x44a: 0x0104, 0x44b: 0x0107,\n\t0x44c: 0x010a, 0x44d: 0x008f, 0x44f: 0x0097, 0x450: 0x009b, 0x451: 0x00e0,\n\t0x452: 0x009f, 0x453: 0x00fe, 0x454: 0x0417, 0x455: 0x041b, 0x456: 0x00a1, 0x457: 0x00a9,\n\t0x458: 0x00ab, 0x459: 0x0423, 0x45a: 0x012b, 0x45b: 0x00ad, 0x45c: 0x0427, 0x45d: 0x01be,\n\t0x45e: 0x01c1, 0x45f: 0x01c4, 0x460: 0x01fa, 0x461: 0x01fd, 0x462: 0x0093, 0x463: 0x00a5,\n\t0x464: 0x00ab, 0x465: 0x00ad, 0x466: 0x01be, 0x467: 0x01c1, 0x468: 0x01eb, 0x469: 0x01fa,\n\t0x46a: 0x01fd,\n\t0x478: 0x020c,\n\t// Block 0x12, offset 0x480\n\t0x49b: 0x00fb, 0x49c: 0x0087, 0x49d: 0x0101,\n\t0x49e: 0x00d4, 0x49f: 0x010a, 0x4a0: 0x008d, 0x4a1: 0x010d, 0x4a2: 0x0110, 0x4a3: 0x0116,\n\t0x4a4: 0x011c, 0x4a5: 0x011f, 0x4a6: 0x0122, 0x4a7: 0x042b, 0x4a8: 0x016a, 0x4a9: 0x0128,\n\t0x4aa: 0x042f, 0x4ab: 0x016d, 0x4ac: 0x0131, 0x4ad: 0x012e, 0x4ae: 0x0134, 0x4af: 0x0137,\n\t0x4b0: 0x013a, 0x4b1: 0x013d, 0x4b2: 0x0140, 0x4b3: 0x014c, 0x4b4: 0x014f, 0x4b5: 0x00ec,\n\t0x4b6: 0x0152, 0x4b7: 0x0155, 0x4b8: 0x041f, 0x4b9: 0x0158, 0x4ba: 0x015b, 0x4bb: 0x00b5,\n\t0x4bc: 0x015e, 0x4bd: 0x0161, 0x4be: 0x0164, 0x4bf: 0x01d0,\n\t// Block 0x13, offset 0x4c0\n\t0x4c0: 0x8132, 0x4c1: 0x8132, 0x4c2: 0x812d, 0x4c3: 0x8132, 0x4c4: 0x8132, 0x4c5: 0x8132,\n\t0x4c6: 0x8132, 0x4c7: 0x8132, 0x4c8: 0x8132, 0x4c9: 0x8132, 0x4ca: 0x812d, 0x4cb: 0x8132,\n\t0x4cc: 0x8132, 0x4cd: 0x8135, 0x4ce: 0x812a, 0x4cf: 0x812d, 0x4d0: 0x8129, 0x4d1: 0x8132,\n\t0x4d2: 0x8132, 0x4d3: 0x8132, 0x4d4: 0x8132, 0x4d5: 0x8132, 0x4d6: 0x8132, 0x4d7: 0x8132,\n\t0x4d8: 0x8132, 0x4d9: 0x8132, 0x4da: 0x8132, 0x4db: 0x8132, 0x4dc: 0x8132, 0x4dd: 0x8132,\n\t0x4de: 0x8132, 0x4df: 0x8132, 0x4e0: 0x8132, 0x4e1: 0x8132, 0x4e2: 0x8132, 0x4e3: 0x8132,\n\t0x4e4: 0x8132, 0x4e5: 0x8132, 0x4e6: 0x8132, 0x4e7: 0x8132, 0x4e8: 0x8132, 0x4e9: 0x8132,\n\t0x4ea: 0x8132, 0x4eb: 0x8132, 0x4ec: 0x8132, 0x4ed: 0x8132, 0x4ee: 0x8132, 0x4ef: 0x8132,\n\t0x4f0: 0x8132, 0x4f1: 0x8132, 0x4f2: 0x8132, 0x4f3: 0x8132, 0x4f4: 0x8132, 0x4f5: 0x8132,\n\t0x4f6: 0x8133, 0x4f7: 0x8131, 0x4f8: 0x8131, 0x4f9: 0x812d, 0x4fb: 0x8132,\n\t0x4fc: 0x8134, 0x4fd: 0x812d, 0x4fe: 0x8132, 0x4ff: 0x812d,\n\t// Block 0x14, offset 0x500\n\t0x500: 0x2f97, 0x501: 0x32a3, 0x502: 0x2fa1, 0x503: 0x32ad, 0x504: 0x2fa6, 0x505: 0x32b2,\n\t0x506: 0x2fab, 0x507: 0x32b7, 0x508: 0x38cc, 0x509: 0x3a5b, 0x50a: 0x2fc4, 0x50b: 0x32d0,\n\t0x50c: 0x2fce, 0x50d: 0x32da, 0x50e: 0x2fdd, 0x50f: 0x32e9, 0x510: 0x2fd3, 0x511: 0x32df,\n\t0x512: 0x2fd8, 0x513: 0x32e4, 0x514: 0x38ef, 0x515: 0x3a7e, 0x516: 0x38f6, 0x517: 0x3a85,\n\t0x518: 0x3019, 0x519: 0x3325, 0x51a: 0x301e, 0x51b: 0x332a, 0x51c: 0x3904, 0x51d: 0x3a93,\n\t0x51e: 0x3023, 0x51f: 0x332f, 0x520: 0x3032, 0x521: 0x333e, 0x522: 0x3050, 0x523: 0x335c,\n\t0x524: 0x305f, 0x525: 0x336b, 0x526: 0x3055, 0x527: 0x3361, 0x528: 0x3064, 0x529: 0x3370,\n\t0x52a: 0x3069, 0x52b: 0x3375, 0x52c: 0x30af, 0x52d: 0x33bb, 0x52e: 0x390b, 0x52f: 0x3a9a,\n\t0x530: 0x30b9, 0x531: 0x33ca, 0x532: 0x30c3, 0x533: 0x33d4, 0x534: 0x30cd, 0x535: 0x33de,\n\t0x536: 0x46c4, 0x537: 0x4755, 0x538: 0x3912, 0x539: 0x3aa1, 0x53a: 0x30e6, 0x53b: 0x33f7,\n\t0x53c: 0x30e1, 0x53d: 0x33f2, 0x53e: 0x30eb, 0x53f: 0x33fc,\n\t// Block 0x15, offset 0x540\n\t0x540: 0x30f0, 0x541: 0x3401, 0x542: 0x30f5, 0x543: 0x3406, 0x544: 0x3109, 0x545: 0x341a,\n\t0x546: 0x3113, 0x547: 0x3424, 0x548: 0x3122, 0x549: 0x3433, 0x54a: 0x311d, 0x54b: 0x342e,\n\t0x54c: 0x3935, 0x54d: 0x3ac4, 0x54e: 0x3943, 0x54f: 0x3ad2, 0x550: 0x394a, 0x551: 0x3ad9,\n\t0x552: 0x3951, 0x553: 0x3ae0, 0x554: 0x314f, 0x555: 0x3460, 0x556: 0x3154, 0x557: 0x3465,\n\t0x558: 0x315e, 0x559: 0x346f, 0x55a: 0x46f1, 0x55b: 0x4782, 0x55c: 0x3997, 0x55d: 0x3b26,\n\t0x55e: 0x3177, 0x55f: 0x3488, 0x560: 0x3181, 0x561: 0x3492, 0x562: 0x4700, 0x563: 0x4791,\n\t0x564: 0x399e, 0x565: 0x3b2d, 0x566: 0x39a5, 0x567: 0x3b34, 0x568: 0x39ac, 0x569: 0x3b3b,\n\t0x56a: 0x3190, 0x56b: 0x34a1, 0x56c: 0x319a, 0x56d: 0x34b0, 0x56e: 0x31ae, 0x56f: 0x34c4,\n\t0x570: 0x31a9, 0x571: 0x34bf, 0x572: 0x31ea, 0x573: 0x3500, 0x574: 0x31f9, 0x575: 0x350f,\n\t0x576: 0x31f4, 0x577: 0x350a, 0x578: 0x39b3, 0x579: 0x3b42, 0x57a: 0x39ba, 0x57b: 0x3b49,\n\t0x57c: 0x31fe, 0x57d: 0x3514, 0x57e: 0x3203, 0x57f: 0x3519,\n\t// Block 0x16, offset 0x580\n\t0x580: 0x3208, 0x581: 0x351e, 0x582: 0x320d, 0x583: 0x3523, 0x584: 0x321c, 0x585: 0x3532,\n\t0x586: 0x3217, 0x587: 0x352d, 0x588: 0x3221, 0x589: 0x353c, 0x58a: 0x3226, 0x58b: 0x3541,\n\t0x58c: 0x322b, 0x58d: 0x3546, 0x58e: 0x3249, 0x58f: 0x3564, 0x590: 0x3262, 0x591: 0x3582,\n\t0x592: 0x3271, 0x593: 0x3591, 0x594: 0x3276, 0x595: 0x3596, 0x596: 0x337a, 0x597: 0x34a6,\n\t0x598: 0x3537, 0x599: 0x3573, 0x59a: 0x1be0, 0x59b: 0x42d7,\n\t0x5a0: 0x46a1, 0x5a1: 0x4732, 0x5a2: 0x2f83, 0x5a3: 0x328f,\n\t0x5a4: 0x3878, 0x5a5: 0x3a07, 0x5a6: 0x3871, 0x5a7: 0x3a00, 0x5a8: 0x3886, 0x5a9: 0x3a15,\n\t0x5aa: 0x387f, 0x5ab: 0x3a0e, 0x5ac: 0x38be, 0x5ad: 0x3a4d, 0x5ae: 0x3894, 0x5af: 0x3a23,\n\t0x5b0: 0x388d, 0x5b1: 0x3a1c, 0x5b2: 0x38a2, 0x5b3: 0x3a31, 0x5b4: 0x389b, 0x5b5: 0x3a2a,\n\t0x5b6: 0x38c5, 0x5b7: 0x3a54, 0x5b8: 0x46b5, 0x5b9: 0x4746, 0x5ba: 0x3000, 0x5bb: 0x330c,\n\t0x5bc: 0x2fec, 0x5bd: 0x32f8, 0x5be: 0x38da, 0x5bf: 0x3a69,\n\t// Block 0x17, offset 0x5c0\n\t0x5c0: 0x38d3, 0x5c1: 0x3a62, 0x5c2: 0x38e8, 0x5c3: 0x3a77, 0x5c4: 0x38e1, 0x5c5: 0x3a70,\n\t0x5c6: 0x38fd, 0x5c7: 0x3a8c, 0x5c8: 0x3091, 0x5c9: 0x339d, 0x5ca: 0x30a5, 0x5cb: 0x33b1,\n\t0x5cc: 0x46e7, 0x5cd: 0x4778, 0x5ce: 0x3136, 0x5cf: 0x3447, 0x5d0: 0x3920, 0x5d1: 0x3aaf,\n\t0x5d2: 0x3919, 0x5d3: 0x3aa8, 0x5d4: 0x392e, 0x5d5: 0x3abd, 0x5d6: 0x3927, 0x5d7: 0x3ab6,\n\t0x5d8: 0x3989, 0x5d9: 0x3b18, 0x5da: 0x396d, 0x5db: 0x3afc, 0x5dc: 0x3966, 0x5dd: 0x3af5,\n\t0x5de: 0x397b, 0x5df: 0x3b0a, 0x5e0: 0x3974, 0x5e1: 0x3b03, 0x5e2: 0x3982, 0x5e3: 0x3b11,\n\t0x5e4: 0x31e5, 0x5e5: 0x34fb, 0x5e6: 0x31c7, 0x5e7: 0x34dd, 0x5e8: 0x39e4, 0x5e9: 0x3b73,\n\t0x5ea: 0x39dd, 0x5eb: 0x3b6c, 0x5ec: 0x39f2, 0x5ed: 0x3b81, 0x5ee: 0x39eb, 0x5ef: 0x3b7a,\n\t0x5f0: 0x39f9, 0x5f1: 0x3b88, 0x5f2: 0x3230, 0x5f3: 0x354b, 0x5f4: 0x3258, 0x5f5: 0x3578,\n\t0x5f6: 0x3253, 0x5f7: 0x356e, 0x5f8: 0x323f, 0x5f9: 0x355a,\n\t// Block 0x18, offset 0x600\n\t0x600: 0x4804, 0x601: 0x480a, 0x602: 0x491e, 0x603: 0x4936, 0x604: 0x4926, 0x605: 0x493e,\n\t0x606: 0x492e, 0x607: 0x4946, 0x608: 0x47aa, 0x609: 0x47b0, 0x60a: 0x488e, 0x60b: 0x48a6,\n\t0x60c: 0x4896, 0x60d: 0x48ae, 0x60e: 0x489e, 0x60f: 0x48b6, 0x610: 0x4816, 0x611: 0x481c,\n\t0x612: 0x3db8, 0x613: 0x3dc8, 0x614: 0x3dc0, 0x615: 0x3dd0,\n\t0x618: 0x47b6, 0x619: 0x47bc, 0x61a: 0x3ce8, 0x61b: 0x3cf8, 0x61c: 0x3cf0, 0x61d: 0x3d00,\n\t0x620: 0x482e, 0x621: 0x4834, 0x622: 0x494e, 0x623: 0x4966,\n\t0x624: 0x4956, 0x625: 0x496e, 0x626: 0x495e, 0x627: 0x4976, 0x628: 0x47c2, 0x629: 0x47c8,\n\t0x62a: 0x48be, 0x62b: 0x48d6, 0x62c: 0x48c6, 0x62d: 0x48de, 0x62e: 0x48ce, 0x62f: 0x48e6,\n\t0x630: 0x4846, 0x631: 0x484c, 0x632: 0x3e18, 0x633: 0x3e30, 0x634: 0x3e20, 0x635: 0x3e38,\n\t0x636: 0x3e28, 0x637: 0x3e40, 0x638: 0x47ce, 0x639: 0x47d4, 0x63a: 0x3d18, 0x63b: 0x3d30,\n\t0x63c: 0x3d20, 0x63d: 0x3d38, 0x63e: 0x3d28, 0x63f: 0x3d40,\n\t// Block 0x19, offset 0x640\n\t0x640: 0x4852, 0x641: 0x4858, 0x642: 0x3e48, 0x643: 0x3e58, 0x644: 0x3e50, 0x645: 0x3e60,\n\t0x648: 0x47da, 0x649: 0x47e0, 0x64a: 0x3d48, 0x64b: 0x3d58,\n\t0x64c: 0x3d50, 0x64d: 0x3d60, 0x650: 0x4864, 0x651: 0x486a,\n\t0x652: 0x3e80, 0x653: 0x3e98, 0x654: 0x3e88, 0x655: 0x3ea0, 0x656: 0x3e90, 0x657: 0x3ea8,\n\t0x659: 0x47e6, 0x65b: 0x3d68, 0x65d: 0x3d70,\n\t0x65f: 0x3d78, 0x660: 0x487c, 0x661: 0x4882, 0x662: 0x497e, 0x663: 0x4996,\n\t0x664: 0x4986, 0x665: 0x499e, 0x666: 0x498e, 0x667: 0x49a6, 0x668: 0x47ec, 0x669: 0x47f2,\n\t0x66a: 0x48ee, 0x66b: 0x4906, 0x66c: 0x48f6, 0x66d: 0x490e, 0x66e: 0x48fe, 0x66f: 0x4916,\n\t0x670: 0x47f8, 0x671: 0x431e, 0x672: 0x3691, 0x673: 0x4324, 0x674: 0x4822, 0x675: 0x432a,\n\t0x676: 0x36a3, 0x677: 0x4330, 0x678: 0x36c1, 0x679: 0x4336, 0x67a: 0x36d9, 0x67b: 0x433c,\n\t0x67c: 0x4870, 0x67d: 0x4342,\n\t// Block 0x1a, offset 0x680\n\t0x680: 0x3da0, 0x681: 0x3da8, 0x682: 0x4184, 0x683: 0x41a2, 0x684: 0x418e, 0x685: 0x41ac,\n\t0x686: 0x4198, 0x687: 0x41b6, 0x688: 0x3cd8, 0x689: 0x3ce0, 0x68a: 0x40d0, 0x68b: 0x40ee,\n\t0x68c: 0x40da, 0x68d: 0x40f8, 0x68e: 0x40e4, 0x68f: 0x4102, 0x690: 0x3de8, 0x691: 0x3df0,\n\t0x692: 0x41c0, 0x693: 0x41de, 0x694: 0x41ca, 0x695: 0x41e8, 0x696: 0x41d4, 0x697: 0x41f2,\n\t0x698: 0x3d08, 0x699: 0x3d10, 0x69a: 0x410c, 0x69b: 0x412a, 0x69c: 0x4116, 0x69d: 0x4134,\n\t0x69e: 0x4120, 0x69f: 0x413e, 0x6a0: 0x3ec0, 0x6a1: 0x3ec8, 0x6a2: 0x41fc, 0x6a3: 0x421a,\n\t0x6a4: 0x4206, 0x6a5: 0x4224, 0x6a6: 0x4210, 0x6a7: 0x422e, 0x6a8: 0x3d80, 0x6a9: 0x3d88,\n\t0x6aa: 0x4148, 0x6ab: 0x4166, 0x6ac: 0x4152, 0x6ad: 0x4170, 0x6ae: 0x415c, 0x6af: 0x417a,\n\t0x6b0: 0x3685, 0x6b1: 0x367f, 0x6b2: 0x3d90, 0x6b3: 0x368b, 0x6b4: 0x3d98,\n\t0x6b6: 0x4810, 0x6b7: 0x3db0, 0x6b8: 0x35f5, 0x6b9: 0x35ef, 0x6ba: 0x35e3, 0x6bb: 0x42ee,\n\t0x6bc: 0x35fb, 0x6bd: 0x4287, 0x6be: 0x01d3, 0x6bf: 0x4287,\n\t// Block 0x1b, offset 0x6c0\n\t0x6c0: 0x42a0, 0x6c1: 0x4482, 0x6c2: 0x3dd8, 0x6c3: 0x369d, 0x6c4: 0x3de0,\n\t0x6c6: 0x483a, 0x6c7: 0x3df8, 0x6c8: 0x3601, 0x6c9: 0x42f4, 0x6ca: 0x360d, 0x6cb: 0x42fa,\n\t0x6cc: 0x3619, 0x6cd: 0x4489, 0x6ce: 0x4490, 0x6cf: 0x4497, 0x6d0: 0x36b5, 0x6d1: 0x36af,\n\t0x6d2: 0x3e00, 0x6d3: 0x44e4, 0x6d6: 0x36bb, 0x6d7: 0x3e10,\n\t0x6d8: 0x3631, 0x6d9: 0x362b, 0x6da: 0x361f, 0x6db: 0x4300, 0x6dd: 0x449e,\n\t0x6de: 0x44a5, 0x6df: 0x44ac, 0x6e0: 0x36eb, 0x6e1: 0x36e5, 0x6e2: 0x3e68, 0x6e3: 0x44ec,\n\t0x6e4: 0x36cd, 0x6e5: 0x36d3, 0x6e6: 0x36f1, 0x6e7: 0x3e78, 0x6e8: 0x3661, 0x6e9: 0x365b,\n\t0x6ea: 0x364f, 0x6eb: 0x430c, 0x6ec: 0x3649, 0x6ed: 0x4474, 0x6ee: 0x447b, 0x6ef: 0x0081,\n\t0x6f2: 0x3eb0, 0x6f3: 0x36f7, 0x6f4: 0x3eb8,\n\t0x6f6: 0x4888, 0x6f7: 0x3ed0, 0x6f8: 0x363d, 0x6f9: 0x4306, 0x6fa: 0x366d, 0x6fb: 0x4318,\n\t0x6fc: 0x3679, 0x6fd: 0x425a, 0x6fe: 0x428c,\n\t// Block 0x1c, offset 0x700\n\t0x700: 0x1bd8, 0x701: 0x1bdc, 0x702: 0x0047, 0x703: 0x1c54, 0x705: 0x1be8,\n\t0x706: 0x1bec, 0x707: 0x00e9, 0x709: 0x1c58, 0x70a: 0x008f, 0x70b: 0x0051,\n\t0x70c: 0x0051, 0x70d: 0x0051, 0x70e: 0x0091, 0x70f: 0x00da, 0x710: 0x0053, 0x711: 0x0053,\n\t0x712: 0x0059, 0x713: 0x0099, 0x715: 0x005d, 0x716: 0x198d,\n\t0x719: 0x0061, 0x71a: 0x0063, 0x71b: 0x0065, 0x71c: 0x0065, 0x71d: 0x0065,\n\t0x720: 0x199f, 0x721: 0x1bc8, 0x722: 0x19a8,\n\t0x724: 0x0075, 0x726: 0x01b8, 0x728: 0x0075,\n\t0x72a: 0x0057, 0x72b: 0x42d2, 0x72c: 0x0045, 0x72d: 0x0047, 0x72f: 0x008b,\n\t0x730: 0x004b, 0x731: 0x004d, 0x733: 0x005b, 0x734: 0x009f, 0x735: 0x0215,\n\t0x736: 0x0218, 0x737: 0x021b, 0x738: 0x021e, 0x739: 0x0093, 0x73b: 0x1b98,\n\t0x73c: 0x01e8, 0x73d: 0x01c1, 0x73e: 0x0179, 0x73f: 0x01a0,\n\t// Block 0x1d, offset 0x740\n\t0x740: 0x0463, 0x745: 0x0049,\n\t0x746: 0x0089, 0x747: 0x008b, 0x748: 0x0093, 0x749: 0x0095,\n\t0x750: 0x222e, 0x751: 0x223a,\n\t0x752: 0x22ee, 0x753: 0x2216, 0x754: 0x229a, 0x755: 0x2222, 0x756: 0x22a0, 0x757: 0x22b8,\n\t0x758: 0x22c4, 0x759: 0x2228, 0x75a: 0x22ca, 0x75b: 0x2234, 0x75c: 0x22be, 0x75d: 0x22d0,\n\t0x75e: 0x22d6, 0x75f: 0x1cbc, 0x760: 0x0053, 0x761: 0x195a, 0x762: 0x1ba4, 0x763: 0x1963,\n\t0x764: 0x006d, 0x765: 0x19ab, 0x766: 0x1bd0, 0x767: 0x1d48, 0x768: 0x1966, 0x769: 0x0071,\n\t0x76a: 0x19b7, 0x76b: 0x1bd4, 0x76c: 0x0059, 0x76d: 0x0047, 0x76e: 0x0049, 0x76f: 0x005b,\n\t0x770: 0x0093, 0x771: 0x19e4, 0x772: 0x1c18, 0x773: 0x19ed, 0x774: 0x00ad, 0x775: 0x1a62,\n\t0x776: 0x1c4c, 0x777: 0x1d5c, 0x778: 0x19f0, 0x779: 0x00b1, 0x77a: 0x1a65, 0x77b: 0x1c50,\n\t0x77c: 0x0099, 0x77d: 0x0087, 0x77e: 0x0089, 0x77f: 0x009b,\n\t// Block 0x1e, offset 0x780\n\t0x781: 0x3c06, 0x783: 0xa000, 0x784: 0x3c0d, 0x785: 0xa000,\n\t0x787: 0x3c14, 0x788: 0xa000, 0x789: 0x3c1b,\n\t0x78d: 0xa000,\n\t0x7a0: 0x2f65, 0x7a1: 0xa000, 0x7a2: 0x3c29,\n\t0x7a4: 0xa000, 0x7a5: 0xa000,\n\t0x7ad: 0x3c22, 0x7ae: 0x2f60, 0x7af: 0x2f6a,\n\t0x7b0: 0x3c30, 0x7b1: 0x3c37, 0x7b2: 0xa000, 0x7b3: 0xa000, 0x7b4: 0x3c3e, 0x7b5: 0x3c45,\n\t0x7b6: 0xa000, 0x7b7: 0xa000, 0x7b8: 0x3c4c, 0x7b9: 0x3c53, 0x7ba: 0xa000, 0x7bb: 0xa000,\n\t0x7bc: 0xa000, 0x7bd: 0xa000,\n\t// Block 0x1f, offset 0x7c0\n\t0x7c0: 0x3c5a, 0x7c1: 0x3c61, 0x7c2: 0xa000, 0x7c3: 0xa000, 0x7c4: 0x3c76, 0x7c5: 0x3c7d,\n\t0x7c6: 0xa000, 0x7c7: 0xa000, 0x7c8: 0x3c84, 0x7c9: 0x3c8b,\n\t0x7d1: 0xa000,\n\t0x7d2: 0xa000,\n\t0x7e2: 0xa000,\n\t0x7e8: 0xa000, 0x7e9: 0xa000,\n\t0x7eb: 0xa000, 0x7ec: 0x3ca0, 0x7ed: 0x3ca7, 0x7ee: 0x3cae, 0x7ef: 0x3cb5,\n\t0x7f2: 0xa000, 0x7f3: 0xa000, 0x7f4: 0xa000, 0x7f5: 0xa000,\n\t// Block 0x20, offset 0x800\n\t0x820: 0x0023, 0x821: 0x0025, 0x822: 0x0027, 0x823: 0x0029,\n\t0x824: 0x002b, 0x825: 0x002d, 0x826: 0x002f, 0x827: 0x0031, 0x828: 0x0033, 0x829: 0x1882,\n\t0x82a: 0x1885, 0x82b: 0x1888, 0x82c: 0x188b, 0x82d: 0x188e, 0x82e: 0x1891, 0x82f: 0x1894,\n\t0x830: 0x1897, 0x831: 0x189a, 0x832: 0x189d, 0x833: 0x18a6, 0x834: 0x1a68, 0x835: 0x1a6c,\n\t0x836: 0x1a70, 0x837: 0x1a74, 0x838: 0x1a78, 0x839: 0x1a7c, 0x83a: 0x1a80, 0x83b: 0x1a84,\n\t0x83c: 0x1a88, 0x83d: 0x1c80, 0x83e: 0x1c85, 0x83f: 0x1c8a,\n\t// Block 0x21, offset 0x840\n\t0x840: 0x1c8f, 0x841: 0x1c94, 0x842: 0x1c99, 0x843: 0x1c9e, 0x844: 0x1ca3, 0x845: 0x1ca8,\n\t0x846: 0x1cad, 0x847: 0x1cb2, 0x848: 0x187f, 0x849: 0x18a3, 0x84a: 0x18c7, 0x84b: 0x18eb,\n\t0x84c: 0x190f, 0x84d: 0x1918, 0x84e: 0x191e, 0x84f: 0x1924, 0x850: 0x192a, 0x851: 0x1b60,\n\t0x852: 0x1b64, 0x853: 0x1b68, 0x854: 0x1b6c, 0x855: 0x1b70, 0x856: 0x1b74, 0x857: 0x1b78,\n\t0x858: 0x1b7c, 0x859: 0x1b80, 0x85a: 0x1b84, 0x85b: 0x1b88, 0x85c: 0x1af4, 0x85d: 0x1af8,\n\t0x85e: 0x1afc, 0x85f: 0x1b00, 0x860: 0x1b04, 0x861: 0x1b08, 0x862: 0x1b0c, 0x863: 0x1b10,\n\t0x864: 0x1b14, 0x865: 0x1b18, 0x866: 0x1b1c, 0x867: 0x1b20, 0x868: 0x1b24, 0x869: 0x1b28,\n\t0x86a: 0x1b2c, 0x86b: 0x1b30, 0x86c: 0x1b34, 0x86d: 0x1b38, 0x86e: 0x1b3c, 0x86f: 0x1b40,\n\t0x870: 0x1b44, 0x871: 0x1b48, 0x872: 0x1b4c, 0x873: 0x1b50, 0x874: 0x1b54, 0x875: 0x1b58,\n\t0x876: 0x0043, 0x877: 0x0045, 0x878: 0x0047, 0x879: 0x0049, 0x87a: 0x004b, 0x87b: 0x004d,\n\t0x87c: 0x004f, 0x87d: 0x0051, 0x87e: 0x0053, 0x87f: 0x0055,\n\t// Block 0x22, offset 0x880\n\t0x880: 0x06bf, 0x881: 0x06e3, 0x882: 0x06ef, 0x883: 0x06ff, 0x884: 0x0707, 0x885: 0x0713,\n\t0x886: 0x071b, 0x887: 0x0723, 0x888: 0x072f, 0x889: 0x0783, 0x88a: 0x079b, 0x88b: 0x07ab,\n\t0x88c: 0x07bb, 0x88d: 0x07cb, 0x88e: 0x07db, 0x88f: 0x07fb, 0x890: 0x07ff, 0x891: 0x0803,\n\t0x892: 0x0837, 0x893: 0x085f, 0x894: 0x086f, 0x895: 0x0877, 0x896: 0x087b, 0x897: 0x0887,\n\t0x898: 0x08a3, 0x899: 0x08a7, 0x89a: 0x08bf, 0x89b: 0x08c3, 0x89c: 0x08cb, 0x89d: 0x08db,\n\t0x89e: 0x0977, 0x89f: 0x098b, 0x8a0: 0x09cb, 0x8a1: 0x09df, 0x8a2: 0x09e7, 0x8a3: 0x09eb,\n\t0x8a4: 0x09fb, 0x8a5: 0x0a17, 0x8a6: 0x0a43, 0x8a7: 0x0a4f, 0x8a8: 0x0a6f, 0x8a9: 0x0a7b,\n\t0x8aa: 0x0a7f, 0x8ab: 0x0a83, 0x8ac: 0x0a9b, 0x8ad: 0x0a9f, 0x8ae: 0x0acb, 0x8af: 0x0ad7,\n\t0x8b0: 0x0adf, 0x8b1: 0x0ae7, 0x8b2: 0x0af7, 0x8b3: 0x0aff, 0x8b4: 0x0b07, 0x8b5: 0x0b33,\n\t0x8b6: 0x0b37, 0x8b7: 0x0b3f, 0x8b8: 0x0b43, 0x8b9: 0x0b4b, 0x8ba: 0x0b53, 0x8bb: 0x0b63,\n\t0x8bc: 0x0b7f, 0x8bd: 0x0bf7, 0x8be: 0x0c0b, 0x8bf: 0x0c0f,\n\t// Block 0x23, offset 0x8c0\n\t0x8c0: 0x0c8f, 0x8c1: 0x0c93, 0x8c2: 0x0ca7, 0x8c3: 0x0cab, 0x8c4: 0x0cb3, 0x8c5: 0x0cbb,\n\t0x8c6: 0x0cc3, 0x8c7: 0x0ccf, 0x8c8: 0x0cf7, 0x8c9: 0x0d07, 0x8ca: 0x0d1b, 0x8cb: 0x0d8b,\n\t0x8cc: 0x0d97, 0x8cd: 0x0da7, 0x8ce: 0x0db3, 0x8cf: 0x0dbf, 0x8d0: 0x0dc7, 0x8d1: 0x0dcb,\n\t0x8d2: 0x0dcf, 0x8d3: 0x0dd3, 0x8d4: 0x0dd7, 0x8d5: 0x0e8f, 0x8d6: 0x0ed7, 0x8d7: 0x0ee3,\n\t0x8d8: 0x0ee7, 0x8d9: 0x0eeb, 0x8da: 0x0eef, 0x8db: 0x0ef7, 0x8dc: 0x0efb, 0x8dd: 0x0f0f,\n\t0x8de: 0x0f2b, 0x8df: 0x0f33, 0x8e0: 0x0f73, 0x8e1: 0x0f77, 0x8e2: 0x0f7f, 0x8e3: 0x0f83,\n\t0x8e4: 0x0f8b, 0x8e5: 0x0f8f, 0x8e6: 0x0fb3, 0x8e7: 0x0fb7, 0x8e8: 0x0fd3, 0x8e9: 0x0fd7,\n\t0x8ea: 0x0fdb, 0x8eb: 0x0fdf, 0x8ec: 0x0ff3, 0x8ed: 0x1017, 0x8ee: 0x101b, 0x8ef: 0x101f,\n\t0x8f0: 0x1043, 0x8f1: 0x1083, 0x8f2: 0x1087, 0x8f3: 0x10a7, 0x8f4: 0x10b7, 0x8f5: 0x10bf,\n\t0x8f6: 0x10df, 0x8f7: 0x1103, 0x8f8: 0x1147, 0x8f9: 0x114f, 0x8fa: 0x1163, 0x8fb: 0x116f,\n\t0x8fc: 0x1177, 0x8fd: 0x117f, 0x8fe: 0x1183, 0x8ff: 0x1187,\n\t// Block 0x24, offset 0x900\n\t0x900: 0x119f, 0x901: 0x11a3, 0x902: 0x11bf, 0x903: 0x11c7, 0x904: 0x11cf, 0x905: 0x11d3,\n\t0x906: 0x11df, 0x907: 0x11e7, 0x908: 0x11eb, 0x909: 0x11ef, 0x90a: 0x11f7, 0x90b: 0x11fb,\n\t0x90c: 0x129b, 0x90d: 0x12af, 0x90e: 0x12e3, 0x90f: 0x12e7, 0x910: 0x12ef, 0x911: 0x131b,\n\t0x912: 0x1323, 0x913: 0x132b, 0x914: 0x1333, 0x915: 0x136f, 0x916: 0x1373, 0x917: 0x137b,\n\t0x918: 0x137f, 0x919: 0x1383, 0x91a: 0x13af, 0x91b: 0x13b3, 0x91c: 0x13bb, 0x91d: 0x13cf,\n\t0x91e: 0x13d3, 0x91f: 0x13ef, 0x920: 0x13f7, 0x921: 0x13fb, 0x922: 0x141f, 0x923: 0x143f,\n\t0x924: 0x1453, 0x925: 0x1457, 0x926: 0x145f, 0x927: 0x148b, 0x928: 0x148f, 0x929: 0x149f,\n\t0x92a: 0x14c3, 0x92b: 0x14cf, 0x92c: 0x14df, 0x92d: 0x14f7, 0x92e: 0x14ff, 0x92f: 0x1503,\n\t0x930: 0x1507, 0x931: 0x150b, 0x932: 0x1517, 0x933: 0x151b, 0x934: 0x1523, 0x935: 0x153f,\n\t0x936: 0x1543, 0x937: 0x1547, 0x938: 0x155f, 0x939: 0x1563, 0x93a: 0x156b, 0x93b: 0x157f,\n\t0x93c: 0x1583, 0x93d: 0x1587, 0x93e: 0x158f, 0x93f: 0x1593,\n\t// Block 0x25, offset 0x940\n\t0x946: 0xa000, 0x94b: 0xa000,\n\t0x94c: 0x3f08, 0x94d: 0xa000, 0x94e: 0x3f10, 0x94f: 0xa000, 0x950: 0x3f18, 0x951: 0xa000,\n\t0x952: 0x3f20, 0x953: 0xa000, 0x954: 0x3f28, 0x955: 0xa000, 0x956: 0x3f30, 0x957: 0xa000,\n\t0x958: 0x3f38, 0x959: 0xa000, 0x95a: 0x3f40, 0x95b: 0xa000, 0x95c: 0x3f48, 0x95d: 0xa000,\n\t0x95e: 0x3f50, 0x95f: 0xa000, 0x960: 0x3f58, 0x961: 0xa000, 0x962: 0x3f60,\n\t0x964: 0xa000, 0x965: 0x3f68, 0x966: 0xa000, 0x967: 0x3f70, 0x968: 0xa000, 0x969: 0x3f78,\n\t0x96f: 0xa000,\n\t0x970: 0x3f80, 0x971: 0x3f88, 0x972: 0xa000, 0x973: 0x3f90, 0x974: 0x3f98, 0x975: 0xa000,\n\t0x976: 0x3fa0, 0x977: 0x3fa8, 0x978: 0xa000, 0x979: 0x3fb0, 0x97a: 0x3fb8, 0x97b: 0xa000,\n\t0x97c: 0x3fc0, 0x97d: 0x3fc8,\n\t// Block 0x26, offset 0x980\n\t0x994: 0x3f00,\n\t0x999: 0x9903, 0x99a: 0x9903, 0x99b: 0x42dc, 0x99c: 0x42e2, 0x99d: 0xa000,\n\t0x99e: 0x3fd0, 0x99f: 0x26b4,\n\t0x9a6: 0xa000,\n\t0x9ab: 0xa000, 0x9ac: 0x3fe0, 0x9ad: 0xa000, 0x9ae: 0x3fe8, 0x9af: 0xa000,\n\t0x9b0: 0x3ff0, 0x9b1: 0xa000, 0x9b2: 0x3ff8, 0x9b3: 0xa000, 0x9b4: 0x4000, 0x9b5: 0xa000,\n\t0x9b6: 0x4008, 0x9b7: 0xa000, 0x9b8: 0x4010, 0x9b9: 0xa000, 0x9ba: 0x4018, 0x9bb: 0xa000,\n\t0x9bc: 0x4020, 0x9bd: 0xa000, 0x9be: 0x4028, 0x9bf: 0xa000,\n\t// Block 0x27, offset 0x9c0\n\t0x9c0: 0x4030, 0x9c1: 0xa000, 0x9c2: 0x4038, 0x9c4: 0xa000, 0x9c5: 0x4040,\n\t0x9c6: 0xa000, 0x9c7: 0x4048, 0x9c8: 0xa000, 0x9c9: 0x4050,\n\t0x9cf: 0xa000, 0x9d0: 0x4058, 0x9d1: 0x4060,\n\t0x9d2: 0xa000, 0x9d3: 0x4068, 0x9d4: 0x4070, 0x9d5: 0xa000, 0x9d6: 0x4078, 0x9d7: 0x4080,\n\t0x9d8: 0xa000, 0x9d9: 0x4088, 0x9da: 0x4090, 0x9db: 0xa000, 0x9dc: 0x4098, 0x9dd: 0x40a0,\n\t0x9ef: 0xa000,\n\t0x9f0: 0xa000, 0x9f1: 0xa000, 0x9f2: 0xa000, 0x9f4: 0x3fd8,\n\t0x9f7: 0x40a8, 0x9f8: 0x40b0, 0x9f9: 0x40b8, 0x9fa: 0x40c0,\n\t0x9fd: 0xa000, 0x9fe: 0x40c8, 0x9ff: 0x26c9,\n\t// Block 0x28, offset 0xa00\n\t0xa00: 0x0367, 0xa01: 0x032b, 0xa02: 0x032f, 0xa03: 0x0333, 0xa04: 0x037b, 0xa05: 0x0337,\n\t0xa06: 0x033b, 0xa07: 0x033f, 0xa08: 0x0343, 0xa09: 0x0347, 0xa0a: 0x034b, 0xa0b: 0x034f,\n\t0xa0c: 0x0353, 0xa0d: 0x0357, 0xa0e: 0x035b, 0xa0f: 0x49bd, 0xa10: 0x49c3, 0xa11: 0x49c9,\n\t0xa12: 0x49cf, 0xa13: 0x49d5, 0xa14: 0x49db, 0xa15: 0x49e1, 0xa16: 0x49e7, 0xa17: 0x49ed,\n\t0xa18: 0x49f3, 0xa19: 0x49f9, 0xa1a: 0x49ff, 0xa1b: 0x4a05, 0xa1c: 0x4a0b, 0xa1d: 0x4a11,\n\t0xa1e: 0x4a17, 0xa1f: 0x4a1d, 0xa20: 0x4a23, 0xa21: 0x4a29, 0xa22: 0x4a2f, 0xa23: 0x4a35,\n\t0xa24: 0x03c3, 0xa25: 0x035f, 0xa26: 0x0363, 0xa27: 0x03e7, 0xa28: 0x03eb, 0xa29: 0x03ef,\n\t0xa2a: 0x03f3, 0xa2b: 0x03f7, 0xa2c: 0x03fb, 0xa2d: 0x03ff, 0xa2e: 0x036b, 0xa2f: 0x0403,\n\t0xa30: 0x0407, 0xa31: 0x036f, 0xa32: 0x0373, 0xa33: 0x0377, 0xa34: 0x037f, 0xa35: 0x0383,\n\t0xa36: 0x0387, 0xa37: 0x038b, 0xa38: 0x038f, 0xa39: 0x0393, 0xa3a: 0x0397, 0xa3b: 0x039b,\n\t0xa3c: 0x039f, 0xa3d: 0x03a3, 0xa3e: 0x03a7, 0xa3f: 0x03ab,\n\t// Block 0x29, offset 0xa40\n\t0xa40: 0x03af, 0xa41: 0x03b3, 0xa42: 0x040b, 0xa43: 0x040f, 0xa44: 0x03b7, 0xa45: 0x03bb,\n\t0xa46: 0x03bf, 0xa47: 0x03c7, 0xa48: 0x03cb, 0xa49: 0x03cf, 0xa4a: 0x03d3, 0xa4b: 0x03d7,\n\t0xa4c: 0x03db, 0xa4d: 0x03df, 0xa4e: 0x03e3,\n\t0xa52: 0x06bf, 0xa53: 0x071b, 0xa54: 0x06cb, 0xa55: 0x097b, 0xa56: 0x06cf, 0xa57: 0x06e7,\n\t0xa58: 0x06d3, 0xa59: 0x0f93, 0xa5a: 0x0707, 0xa5b: 0x06db, 0xa5c: 0x06c3, 0xa5d: 0x09ff,\n\t0xa5e: 0x098f, 0xa5f: 0x072f,\n\t// Block 0x2a, offset 0xa80\n\t0xa80: 0x2054, 0xa81: 0x205a, 0xa82: 0x2060, 0xa83: 0x2066, 0xa84: 0x206c, 0xa85: 0x2072,\n\t0xa86: 0x2078, 0xa87: 0x207e, 0xa88: 0x2084, 0xa89: 0x208a, 0xa8a: 0x2090, 0xa8b: 0x2096,\n\t0xa8c: 0x209c, 0xa8d: 0x20a2, 0xa8e: 0x2726, 0xa8f: 0x272f, 0xa90: 0x2738, 0xa91: 0x2741,\n\t0xa92: 0x274a, 0xa93: 0x2753, 0xa94: 0x275c, 0xa95: 0x2765, 0xa96: 0x276e, 0xa97: 0x2780,\n\t0xa98: 0x2789, 0xa99: 0x2792, 0xa9a: 0x279b, 0xa9b: 0x27a4, 0xa9c: 0x2777, 0xa9d: 0x2bac,\n\t0xa9e: 0x2aed, 0xaa0: 0x20a8, 0xaa1: 0x20c0, 0xaa2: 0x20b4, 0xaa3: 0x2108,\n\t0xaa4: 0x20c6, 0xaa5: 0x20e4, 0xaa6: 0x20ae, 0xaa7: 0x20de, 0xaa8: 0x20ba, 0xaa9: 0x20f0,\n\t0xaaa: 0x2120, 0xaab: 0x213e, 0xaac: 0x2138, 0xaad: 0x212c, 0xaae: 0x217a, 0xaaf: 0x210e,\n\t0xab0: 0x211a, 0xab1: 0x2132, 0xab2: 0x2126, 0xab3: 0x2150, 0xab4: 0x20fc, 0xab5: 0x2144,\n\t0xab6: 0x216e, 0xab7: 0x2156, 0xab8: 0x20ea, 0xab9: 0x20cc, 0xaba: 0x2102, 0xabb: 0x2114,\n\t0xabc: 0x214a, 0xabd: 0x20d2, 0xabe: 0x2174, 0xabf: 0x20f6,\n\t// Block 0x2b, offset 0xac0\n\t0xac0: 0x215c, 0xac1: 0x20d8, 0xac2: 0x2162, 0xac3: 0x2168, 0xac4: 0x092f, 0xac5: 0x0b03,\n\t0xac6: 0x0ca7, 0xac7: 0x10c7,\n\t0xad0: 0x1bc4, 0xad1: 0x18a9,\n\t0xad2: 0x18ac, 0xad3: 0x18af, 0xad4: 0x18b2, 0xad5: 0x18b5, 0xad6: 0x18b8, 0xad7: 0x18bb,\n\t0xad8: 0x18be, 0xad9: 0x18c1, 0xada: 0x18ca, 0xadb: 0x18cd, 0xadc: 0x18d0, 0xadd: 0x18d3,\n\t0xade: 0x18d6, 0xadf: 0x18d9, 0xae0: 0x0313, 0xae1: 0x031b, 0xae2: 0x031f, 0xae3: 0x0327,\n\t0xae4: 0x032b, 0xae5: 0x032f, 0xae6: 0x0337, 0xae7: 0x033f, 0xae8: 0x0343, 0xae9: 0x034b,\n\t0xaea: 0x034f, 0xaeb: 0x0353, 0xaec: 0x0357, 0xaed: 0x035b, 0xaee: 0x2e18, 0xaef: 0x2e20,\n\t0xaf0: 0x2e28, 0xaf1: 0x2e30, 0xaf2: 0x2e38, 0xaf3: 0x2e40, 0xaf4: 0x2e48, 0xaf5: 0x2e50,\n\t0xaf6: 0x2e60, 0xaf7: 0x2e68, 0xaf8: 0x2e70, 0xaf9: 0x2e78, 0xafa: 0x2e80, 0xafb: 0x2e88,\n\t0xafc: 0x2ed3, 0xafd: 0x2e9b, 0xafe: 0x2e58,\n\t// Block 0x2c, offset 0xb00\n\t0xb00: 0x06bf, 0xb01: 0x071b, 0xb02: 0x06cb, 0xb03: 0x097b, 0xb04: 0x071f, 0xb05: 0x07af,\n\t0xb06: 0x06c7, 0xb07: 0x07ab, 0xb08: 0x070b, 0xb09: 0x0887, 0xb0a: 0x0d07, 0xb0b: 0x0e8f,\n\t0xb0c: 0x0dd7, 0xb0d: 0x0d1b, 0xb0e: 0x145f, 0xb0f: 0x098b, 0xb10: 0x0ccf, 0xb11: 0x0d4b,\n\t0xb12: 0x0d0b, 0xb13: 0x104b, 0xb14: 0x08fb, 0xb15: 0x0f03, 0xb16: 0x1387, 0xb17: 0x105f,\n\t0xb18: 0x0843, 0xb19: 0x108f, 0xb1a: 0x0f9b, 0xb1b: 0x0a17, 0xb1c: 0x140f, 0xb1d: 0x077f,\n\t0xb1e: 0x08ab, 0xb1f: 0x0df7, 0xb20: 0x1527, 0xb21: 0x0743, 0xb22: 0x07d3, 0xb23: 0x0d9b,\n\t0xb24: 0x06cf, 0xb25: 0x06e7, 0xb26: 0x06d3, 0xb27: 0x0adb, 0xb28: 0x08ef, 0xb29: 0x087f,\n\t0xb2a: 0x0a57, 0xb2b: 0x0a4b, 0xb2c: 0x0feb, 0xb2d: 0x073f, 0xb2e: 0x139b, 0xb2f: 0x089b,\n\t0xb30: 0x09f3, 0xb31: 0x18dc, 0xb32: 0x18df, 0xb33: 0x18e2, 0xb34: 0x18e5, 0xb35: 0x18ee,\n\t0xb36: 0x18f1, 0xb37: 0x18f4, 0xb38: 0x18f7, 0xb39: 0x18fa, 0xb3a: 0x18fd, 0xb3b: 0x1900,\n\t0xb3c: 0x1903, 0xb3d: 0x1906, 0xb3e: 0x1909, 0xb3f: 0x1912,\n\t// Block 0x2d, offset 0xb40\n\t0xb40: 0x1cc6, 0xb41: 0x1cd5, 0xb42: 0x1ce4, 0xb43: 0x1cf3, 0xb44: 0x1d02, 0xb45: 0x1d11,\n\t0xb46: 0x1d20, 0xb47: 0x1d2f, 0xb48: 0x1d3e, 0xb49: 0x218c, 0xb4a: 0x219e, 0xb4b: 0x21b0,\n\t0xb4c: 0x1954, 0xb4d: 0x1c04, 0xb4e: 0x19d2, 0xb4f: 0x1ba8, 0xb50: 0x04cb, 0xb51: 0x04d3,\n\t0xb52: 0x04db, 0xb53: 0x04e3, 0xb54: 0x04eb, 0xb55: 0x04ef, 0xb56: 0x04f3, 0xb57: 0x04f7,\n\t0xb58: 0x04fb, 0xb59: 0x04ff, 0xb5a: 0x0503, 0xb5b: 0x0507, 0xb5c: 0x050b, 0xb5d: 0x050f,\n\t0xb5e: 0x0513, 0xb5f: 0x0517, 0xb60: 0x051b, 0xb61: 0x0523, 0xb62: 0x0527, 0xb63: 0x052b,\n\t0xb64: 0x052f, 0xb65: 0x0533, 0xb66: 0x0537, 0xb67: 0x053b, 0xb68: 0x053f, 0xb69: 0x0543,\n\t0xb6a: 0x0547, 0xb6b: 0x054b, 0xb6c: 0x054f, 0xb6d: 0x0553, 0xb6e: 0x0557, 0xb6f: 0x055b,\n\t0xb70: 0x055f, 0xb71: 0x0563, 0xb72: 0x0567, 0xb73: 0x056f, 0xb74: 0x0577, 0xb75: 0x057f,\n\t0xb76: 0x0583, 0xb77: 0x0587, 0xb78: 0x058b, 0xb79: 0x058f, 0xb7a: 0x0593, 0xb7b: 0x0597,\n\t0xb7c: 0x059b, 0xb7d: 0x059f, 0xb7e: 0x05a3,\n\t// Block 0x2e, offset 0xb80\n\t0xb80: 0x2b0c, 0xb81: 0x29a8, 0xb82: 0x2b1c, 0xb83: 0x2880, 0xb84: 0x2ee4, 0xb85: 0x288a,\n\t0xb86: 0x2894, 0xb87: 0x2f28, 0xb88: 0x29b5, 0xb89: 0x289e, 0xb8a: 0x28a8, 0xb8b: 0x28b2,\n\t0xb8c: 0x29dc, 0xb8d: 0x29e9, 0xb8e: 0x29c2, 0xb8f: 0x29cf, 0xb90: 0x2ea9, 0xb91: 0x29f6,\n\t0xb92: 0x2a03, 0xb93: 0x2bbe, 0xb94: 0x26bb, 0xb95: 0x2bd1, 0xb96: 0x2be4, 0xb97: 0x2b2c,\n\t0xb98: 0x2a10, 0xb99: 0x2bf7, 0xb9a: 0x2c0a, 0xb9b: 0x2a1d, 0xb9c: 0x28bc, 0xb9d: 0x28c6,\n\t0xb9e: 0x2eb7, 0xb9f: 0x2a2a, 0xba0: 0x2b3c, 0xba1: 0x2ef5, 0xba2: 0x28d0, 0xba3: 0x28da,\n\t0xba4: 0x2a37, 0xba5: 0x28e4, 0xba6: 0x28ee, 0xba7: 0x26d0, 0xba8: 0x26d7, 0xba9: 0x28f8,\n\t0xbaa: 0x2902, 0xbab: 0x2c1d, 0xbac: 0x2a44, 0xbad: 0x2b4c, 0xbae: 0x2c30, 0xbaf: 0x2a51,\n\t0xbb0: 0x2916, 0xbb1: 0x290c, 0xbb2: 0x2f3c, 0xbb3: 0x2a5e, 0xbb4: 0x2c43, 0xbb5: 0x2920,\n\t0xbb6: 0x2b5c, 0xbb7: 0x292a, 0xbb8: 0x2a78, 0xbb9: 0x2934, 0xbba: 0x2a85, 0xbbb: 0x2f06,\n\t0xbbc: 0x2a6b, 0xbbd: 0x2b6c, 0xbbe: 0x2a92, 0xbbf: 0x26de,\n\t// Block 0x2f, offset 0xbc0\n\t0xbc0: 0x2f17, 0xbc1: 0x293e, 0xbc2: 0x2948, 0xbc3: 0x2a9f, 0xbc4: 0x2952, 0xbc5: 0x295c,\n\t0xbc6: 0x2966, 0xbc7: 0x2b7c, 0xbc8: 0x2aac, 0xbc9: 0x26e5, 0xbca: 0x2c56, 0xbcb: 0x2e90,\n\t0xbcc: 0x2b8c, 0xbcd: 0x2ab9, 0xbce: 0x2ec5, 0xbcf: 0x2970, 0xbd0: 0x297a, 0xbd1: 0x2ac6,\n\t0xbd2: 0x26ec, 0xbd3: 0x2ad3, 0xbd4: 0x2b9c, 0xbd5: 0x26f3, 0xbd6: 0x2c69, 0xbd7: 0x2984,\n\t0xbd8: 0x1cb7, 0xbd9: 0x1ccb, 0xbda: 0x1cda, 0xbdb: 0x1ce9, 0xbdc: 0x1cf8, 0xbdd: 0x1d07,\n\t0xbde: 0x1d16, 0xbdf: 0x1d25, 0xbe0: 0x1d34, 0xbe1: 0x1d43, 0xbe2: 0x2192, 0xbe3: 0x21a4,\n\t0xbe4: 0x21b6, 0xbe5: 0x21c2, 0xbe6: 0x21ce, 0xbe7: 0x21da, 0xbe8: 0x21e6, 0xbe9: 0x21f2,\n\t0xbea: 0x21fe, 0xbeb: 0x220a, 0xbec: 0x2246, 0xbed: 0x2252, 0xbee: 0x225e, 0xbef: 0x226a,\n\t0xbf0: 0x2276, 0xbf1: 0x1c14, 0xbf2: 0x19c6, 0xbf3: 0x1936, 0xbf4: 0x1be4, 0xbf5: 0x1a47,\n\t0xbf6: 0x1a56, 0xbf7: 0x19cc, 0xbf8: 0x1bfc, 0xbf9: 0x1c00, 0xbfa: 0x1960, 0xbfb: 0x2701,\n\t0xbfc: 0x270f, 0xbfd: 0x26fa, 0xbfe: 0x2708, 0xbff: 0x2ae0,\n\t// Block 0x30, offset 0xc00\n\t0xc00: 0x1a4a, 0xc01: 0x1a32, 0xc02: 0x1c60, 0xc03: 0x1a1a, 0xc04: 0x19f3, 0xc05: 0x1969,\n\t0xc06: 0x1978, 0xc07: 0x1948, 0xc08: 0x1bf0, 0xc09: 0x1d52, 0xc0a: 0x1a4d, 0xc0b: 0x1a35,\n\t0xc0c: 0x1c64, 0xc0d: 0x1c70, 0xc0e: 0x1a26, 0xc0f: 0x19fc, 0xc10: 0x1957, 0xc11: 0x1c1c,\n\t0xc12: 0x1bb0, 0xc13: 0x1b9c, 0xc14: 0x1bcc, 0xc15: 0x1c74, 0xc16: 0x1a29, 0xc17: 0x19c9,\n\t0xc18: 0x19ff, 0xc19: 0x19de, 0xc1a: 0x1a41, 0xc1b: 0x1c78, 0xc1c: 0x1a2c, 0xc1d: 0x19c0,\n\t0xc1e: 0x1a02, 0xc1f: 0x1c3c, 0xc20: 0x1bf4, 0xc21: 0x1a14, 0xc22: 0x1c24, 0xc23: 0x1c40,\n\t0xc24: 0x1bf8, 0xc25: 0x1a17, 0xc26: 0x1c28, 0xc27: 0x22e8, 0xc28: 0x22fc, 0xc29: 0x1996,\n\t0xc2a: 0x1c20, 0xc2b: 0x1bb4, 0xc2c: 0x1ba0, 0xc2d: 0x1c48, 0xc2e: 0x2716, 0xc2f: 0x27ad,\n\t0xc30: 0x1a59, 0xc31: 0x1a44, 0xc32: 0x1c7c, 0xc33: 0x1a2f, 0xc34: 0x1a50, 0xc35: 0x1a38,\n\t0xc36: 0x1c68, 0xc37: 0x1a1d, 0xc38: 0x19f6, 0xc39: 0x1981, 0xc3a: 0x1a53, 0xc3b: 0x1a3b,\n\t0xc3c: 0x1c6c, 0xc3d: 0x1a20, 0xc3e: 0x19f9, 0xc3f: 0x1984,\n\t// Block 0x31, offset 0xc40\n\t0xc40: 0x1c2c, 0xc41: 0x1bb8, 0xc42: 0x1d4d, 0xc43: 0x1939, 0xc44: 0x19ba, 0xc45: 0x19bd,\n\t0xc46: 0x22f5, 0xc47: 0x1b94, 0xc48: 0x19c3, 0xc49: 0x194b, 0xc4a: 0x19e1, 0xc4b: 0x194e,\n\t0xc4c: 0x19ea, 0xc4d: 0x196c, 0xc4e: 0x196f, 0xc4f: 0x1a05, 0xc50: 0x1a0b, 0xc51: 0x1a0e,\n\t0xc52: 0x1c30, 0xc53: 0x1a11, 0xc54: 0x1a23, 0xc55: 0x1c38, 0xc56: 0x1c44, 0xc57: 0x1990,\n\t0xc58: 0x1d57, 0xc59: 0x1bbc, 0xc5a: 0x1993, 0xc5b: 0x1a5c, 0xc5c: 0x19a5, 0xc5d: 0x19b4,\n\t0xc5e: 0x22e2, 0xc5f: 0x22dc, 0xc60: 0x1cc1, 0xc61: 0x1cd0, 0xc62: 0x1cdf, 0xc63: 0x1cee,\n\t0xc64: 0x1cfd, 0xc65: 0x1d0c, 0xc66: 0x1d1b, 0xc67: 0x1d2a, 0xc68: 0x1d39, 0xc69: 0x2186,\n\t0xc6a: 0x2198, 0xc6b: 0x21aa, 0xc6c: 0x21bc, 0xc6d: 0x21c8, 0xc6e: 0x21d4, 0xc6f: 0x21e0,\n\t0xc70: 0x21ec, 0xc71: 0x21f8, 0xc72: 0x2204, 0xc73: 0x2240, 0xc74: 0x224c, 0xc75: 0x2258,\n\t0xc76: 0x2264, 0xc77: 0x2270, 0xc78: 0x227c, 0xc79: 0x2282, 0xc7a: 0x2288, 0xc7b: 0x228e,\n\t0xc7c: 0x2294, 0xc7d: 0x22a6, 0xc7e: 0x22ac, 0xc7f: 0x1c10,\n\t// Block 0x32, offset 0xc80\n\t0xc80: 0x1377, 0xc81: 0x0cfb, 0xc82: 0x13d3, 0xc83: 0x139f, 0xc84: 0x0e57, 0xc85: 0x06eb,\n\t0xc86: 0x08df, 0xc87: 0x162b, 0xc88: 0x162b, 0xc89: 0x0a0b, 0xc8a: 0x145f, 0xc8b: 0x0943,\n\t0xc8c: 0x0a07, 0xc8d: 0x0bef, 0xc8e: 0x0fcf, 0xc8f: 0x115f, 0xc90: 0x1297, 0xc91: 0x12d3,\n\t0xc92: 0x1307, 0xc93: 0x141b, 0xc94: 0x0d73, 0xc95: 0x0dff, 0xc96: 0x0eab, 0xc97: 0x0f43,\n\t0xc98: 0x125f, 0xc99: 0x1447, 0xc9a: 0x1573, 0xc9b: 0x070f, 0xc9c: 0x08b3, 0xc9d: 0x0d87,\n\t0xc9e: 0x0ecf, 0xc9f: 0x1293, 0xca0: 0x15c3, 0xca1: 0x0ab3, 0xca2: 0x0e77, 0xca3: 0x1283,\n\t0xca4: 0x1317, 0xca5: 0x0c23, 0xca6: 0x11bb, 0xca7: 0x12df, 0xca8: 0x0b1f, 0xca9: 0x0d0f,\n\t0xcaa: 0x0e17, 0xcab: 0x0f1b, 0xcac: 0x1427, 0xcad: 0x074f, 0xcae: 0x07e7, 0xcaf: 0x0853,\n\t0xcb0: 0x0c8b, 0xcb1: 0x0d7f, 0xcb2: 0x0ecb, 0xcb3: 0x0fef, 0xcb4: 0x1177, 0xcb5: 0x128b,\n\t0xcb6: 0x12a3, 0xcb7: 0x13c7, 0xcb8: 0x14ef, 0xcb9: 0x15a3, 0xcba: 0x15bf, 0xcbb: 0x102b,\n\t0xcbc: 0x106b, 0xcbd: 0x1123, 0xcbe: 0x1243, 0xcbf: 0x147b,\n\t// Block 0x33, offset 0xcc0\n\t0xcc0: 0x15cb, 0xcc1: 0x134b, 0xcc2: 0x09c7, 0xcc3: 0x0b3b, 0xcc4: 0x10db, 0xcc5: 0x119b,\n\t0xcc6: 0x0eff, 0xcc7: 0x1033, 0xcc8: 0x1397, 0xcc9: 0x14e7, 0xcca: 0x09c3, 0xccb: 0x0a8f,\n\t0xccc: 0x0d77, 0xccd: 0x0e2b, 0xcce: 0x0e5f, 0xccf: 0x1113, 0xcd0: 0x113b, 0xcd1: 0x14a7,\n\t0xcd2: 0x084f, 0xcd3: 0x11a7, 0xcd4: 0x07f3, 0xcd5: 0x07ef, 0xcd6: 0x1097, 0xcd7: 0x1127,\n\t0xcd8: 0x125b, 0xcd9: 0x14af, 0xcda: 0x1367, 0xcdb: 0x0c27, 0xcdc: 0x0d73, 0xcdd: 0x1357,\n\t0xcde: 0x06f7, 0xcdf: 0x0a63, 0xce0: 0x0b93, 0xce1: 0x0f2f, 0xce2: 0x0faf, 0xce3: 0x0873,\n\t0xce4: 0x103b, 0xce5: 0x075f, 0xce6: 0x0b77, 0xce7: 0x06d7, 0xce8: 0x0deb, 0xce9: 0x0ca3,\n\t0xcea: 0x110f, 0xceb: 0x08c7, 0xcec: 0x09b3, 0xced: 0x0ffb, 0xcee: 0x1263, 0xcef: 0x133b,\n\t0xcf0: 0x0db7, 0xcf1: 0x13f7, 0xcf2: 0x0de3, 0xcf3: 0x0c37, 0xcf4: 0x121b, 0xcf5: 0x0c57,\n\t0xcf6: 0x0fab, 0xcf7: 0x072b, 0xcf8: 0x07a7, 0xcf9: 0x07eb, 0xcfa: 0x0d53, 0xcfb: 0x10fb,\n\t0xcfc: 0x11f3, 0xcfd: 0x1347, 0xcfe: 0x145b, 0xcff: 0x085b,\n\t// Block 0x34, offset 0xd00\n\t0xd00: 0x090f, 0xd01: 0x0a17, 0xd02: 0x0b2f, 0xd03: 0x0cbf, 0xd04: 0x0e7b, 0xd05: 0x103f,\n\t0xd06: 0x1497, 0xd07: 0x157b, 0xd08: 0x15cf, 0xd09: 0x15e7, 0xd0a: 0x0837, 0xd0b: 0x0cf3,\n\t0xd0c: 0x0da3, 0xd0d: 0x13eb, 0xd0e: 0x0afb, 0xd0f: 0x0bd7, 0xd10: 0x0bf3, 0xd11: 0x0c83,\n\t0xd12: 0x0e6b, 0xd13: 0x0eb7, 0xd14: 0x0f67, 0xd15: 0x108b, 0xd16: 0x112f, 0xd17: 0x1193,\n\t0xd18: 0x13db, 0xd19: 0x126b, 0xd1a: 0x1403, 0xd1b: 0x147f, 0xd1c: 0x080f, 0xd1d: 0x083b,\n\t0xd1e: 0x0923, 0xd1f: 0x0ea7, 0xd20: 0x12f3, 0xd21: 0x133b, 0xd22: 0x0b1b, 0xd23: 0x0b8b,\n\t0xd24: 0x0c4f, 0xd25: 0x0daf, 0xd26: 0x10d7, 0xd27: 0x0f23, 0xd28: 0x073b, 0xd29: 0x097f,\n\t0xd2a: 0x0a63, 0xd2b: 0x0ac7, 0xd2c: 0x0b97, 0xd2d: 0x0f3f, 0xd2e: 0x0f5b, 0xd2f: 0x116b,\n\t0xd30: 0x118b, 0xd31: 0x1463, 0xd32: 0x14e3, 0xd33: 0x14f3, 0xd34: 0x152f, 0xd35: 0x0753,\n\t0xd36: 0x107f, 0xd37: 0x144f, 0xd38: 0x14cb, 0xd39: 0x0baf, 0xd3a: 0x0717, 0xd3b: 0x0777,\n\t0xd3c: 0x0a67, 0xd3d: 0x0a87, 0xd3e: 0x0caf, 0xd3f: 0x0d73,\n\t// Block 0x35, offset 0xd40\n\t0xd40: 0x0ec3, 0xd41: 0x0fcb, 0xd42: 0x1277, 0xd43: 0x1417, 0xd44: 0x1623, 0xd45: 0x0ce3,\n\t0xd46: 0x14a3, 0xd47: 0x0833, 0xd48: 0x0d2f, 0xd49: 0x0d3b, 0xd4a: 0x0e0f, 0xd4b: 0x0e47,\n\t0xd4c: 0x0f4b, 0xd4d: 0x0fa7, 0xd4e: 0x1027, 0xd4f: 0x110b, 0xd50: 0x153b, 0xd51: 0x07af,\n\t0xd52: 0x0c03, 0xd53: 0x14b3, 0xd54: 0x0767, 0xd55: 0x0aab, 0xd56: 0x0e2f, 0xd57: 0x13df,\n\t0xd58: 0x0b67, 0xd59: 0x0bb7, 0xd5a: 0x0d43, 0xd5b: 0x0f2f, 0xd5c: 0x14bb, 0xd5d: 0x0817,\n\t0xd5e: 0x08ff, 0xd5f: 0x0a97, 0xd60: 0x0cd3, 0xd61: 0x0d1f, 0xd62: 0x0d5f, 0xd63: 0x0df3,\n\t0xd64: 0x0f47, 0xd65: 0x0fbb, 0xd66: 0x1157, 0xd67: 0x12f7, 0xd68: 0x1303, 0xd69: 0x1457,\n\t0xd6a: 0x14d7, 0xd6b: 0x0883, 0xd6c: 0x0e4b, 0xd6d: 0x0903, 0xd6e: 0x0ec7, 0xd6f: 0x0f6b,\n\t0xd70: 0x1287, 0xd71: 0x14bf, 0xd72: 0x15ab, 0xd73: 0x15d3, 0xd74: 0x0d37, 0xd75: 0x0e27,\n\t0xd76: 0x11c3, 0xd77: 0x10b7, 0xd78: 0x10c3, 0xd79: 0x10e7, 0xd7a: 0x0f17, 0xd7b: 0x0e9f,\n\t0xd7c: 0x1363, 0xd7d: 0x0733, 0xd7e: 0x122b, 0xd7f: 0x081b,\n\t// Block 0x36, offset 0xd80\n\t0xd80: 0x080b, 0xd81: 0x0b0b, 0xd82: 0x0c2b, 0xd83: 0x10f3, 0xd84: 0x0a53, 0xd85: 0x0e03,\n\t0xd86: 0x0cef, 0xd87: 0x13e7, 0xd88: 0x12e7, 0xd89: 0x14ab, 0xd8a: 0x1323, 0xd8b: 0x0b27,\n\t0xd8c: 0x0787, 0xd8d: 0x095b, 0xd90: 0x09af,\n\t0xd92: 0x0cdf, 0xd95: 0x07f7, 0xd96: 0x0f1f, 0xd97: 0x0fe3,\n\t0xd98: 0x1047, 0xd99: 0x1063, 0xd9a: 0x1067, 0xd9b: 0x107b, 0xd9c: 0x14fb, 0xd9d: 0x10eb,\n\t0xd9e: 0x116f, 0xda0: 0x128f, 0xda2: 0x1353,\n\t0xda5: 0x1407, 0xda6: 0x1433,\n\t0xdaa: 0x154f, 0xdab: 0x1553, 0xdac: 0x1557, 0xdad: 0x15bb, 0xdae: 0x142b, 0xdaf: 0x14c7,\n\t0xdb0: 0x0757, 0xdb1: 0x077b, 0xdb2: 0x078f, 0xdb3: 0x084b, 0xdb4: 0x0857, 0xdb5: 0x0897,\n\t0xdb6: 0x094b, 0xdb7: 0x0967, 0xdb8: 0x096f, 0xdb9: 0x09ab, 0xdba: 0x09b7, 0xdbb: 0x0a93,\n\t0xdbc: 0x0a9b, 0xdbd: 0x0ba3, 0xdbe: 0x0bcb, 0xdbf: 0x0bd3,\n\t// Block 0x37, offset 0xdc0\n\t0xdc0: 0x0beb, 0xdc1: 0x0c97, 0xdc2: 0x0cc7, 0xdc3: 0x0ce7, 0xdc4: 0x0d57, 0xdc5: 0x0e1b,\n\t0xdc6: 0x0e37, 0xdc7: 0x0e67, 0xdc8: 0x0ebb, 0xdc9: 0x0edb, 0xdca: 0x0f4f, 0xdcb: 0x102f,\n\t0xdcc: 0x104b, 0xdcd: 0x1053, 0xdce: 0x104f, 0xdcf: 0x1057, 0xdd0: 0x105b, 0xdd1: 0x105f,\n\t0xdd2: 0x1073, 0xdd3: 0x1077, 0xdd4: 0x109b, 0xdd5: 0x10af, 0xdd6: 0x10cb, 0xdd7: 0x112f,\n\t0xdd8: 0x1137, 0xdd9: 0x113f, 0xdda: 0x1153, 0xddb: 0x117b, 0xddc: 0x11cb, 0xddd: 0x11ff,\n\t0xdde: 0x11ff, 0xddf: 0x1267, 0xde0: 0x130f, 0xde1: 0x1327, 0xde2: 0x135b, 0xde3: 0x135f,\n\t0xde4: 0x13a3, 0xde5: 0x13a7, 0xde6: 0x13ff, 0xde7: 0x1407, 0xde8: 0x14db, 0xde9: 0x151f,\n\t0xdea: 0x1537, 0xdeb: 0x0b9b, 0xdec: 0x171e, 0xded: 0x11e3,\n\t0xdf0: 0x06df, 0xdf1: 0x07e3, 0xdf2: 0x07a3, 0xdf3: 0x074b, 0xdf4: 0x078b, 0xdf5: 0x07b7,\n\t0xdf6: 0x0847, 0xdf7: 0x0863, 0xdf8: 0x094b, 0xdf9: 0x0937, 0xdfa: 0x0947, 0xdfb: 0x0963,\n\t0xdfc: 0x09af, 0xdfd: 0x09bf, 0xdfe: 0x0a03, 0xdff: 0x0a0f,\n\t// Block 0x38, offset 0xe00\n\t0xe00: 0x0a2b, 0xe01: 0x0a3b, 0xe02: 0x0b23, 0xe03: 0x0b2b, 0xe04: 0x0b5b, 0xe05: 0x0b7b,\n\t0xe06: 0x0bab, 0xe07: 0x0bc3, 0xe08: 0x0bb3, 0xe09: 0x0bd3, 0xe0a: 0x0bc7, 0xe0b: 0x0beb,\n\t0xe0c: 0x0c07, 0xe0d: 0x0c5f, 0xe0e: 0x0c6b, 0xe0f: 0x0c73, 0xe10: 0x0c9b, 0xe11: 0x0cdf,\n\t0xe12: 0x0d0f, 0xe13: 0x0d13, 0xe14: 0x0d27, 0xe15: 0x0da7, 0xe16: 0x0db7, 0xe17: 0x0e0f,\n\t0xe18: 0x0e5b, 0xe19: 0x0e53, 0xe1a: 0x0e67, 0xe1b: 0x0e83, 0xe1c: 0x0ebb, 0xe1d: 0x1013,\n\t0xe1e: 0x0edf, 0xe1f: 0x0f13, 0xe20: 0x0f1f, 0xe21: 0x0f5f, 0xe22: 0x0f7b, 0xe23: 0x0f9f,\n\t0xe24: 0x0fc3, 0xe25: 0x0fc7, 0xe26: 0x0fe3, 0xe27: 0x0fe7, 0xe28: 0x0ff7, 0xe29: 0x100b,\n\t0xe2a: 0x1007, 0xe2b: 0x1037, 0xe2c: 0x10b3, 0xe2d: 0x10cb, 0xe2e: 0x10e3, 0xe2f: 0x111b,\n\t0xe30: 0x112f, 0xe31: 0x114b, 0xe32: 0x117b, 0xe33: 0x122f, 0xe34: 0x1257, 0xe35: 0x12cb,\n\t0xe36: 0x1313, 0xe37: 0x131f, 0xe38: 0x1327, 0xe39: 0x133f, 0xe3a: 0x1353, 0xe3b: 0x1343,\n\t0xe3c: 0x135b, 0xe3d: 0x1357, 0xe3e: 0x134f, 0xe3f: 0x135f,\n\t// Block 0x39, offset 0xe40\n\t0xe40: 0x136b, 0xe41: 0x13a7, 0xe42: 0x13e3, 0xe43: 0x1413, 0xe44: 0x144b, 0xe45: 0x146b,\n\t0xe46: 0x14b7, 0xe47: 0x14db, 0xe48: 0x14fb, 0xe49: 0x150f, 0xe4a: 0x151f, 0xe4b: 0x152b,\n\t0xe4c: 0x1537, 0xe4d: 0x158b, 0xe4e: 0x162b, 0xe4f: 0x16b5, 0xe50: 0x16b0, 0xe51: 0x16e2,\n\t0xe52: 0x0607, 0xe53: 0x062f, 0xe54: 0x0633, 0xe55: 0x1764, 0xe56: 0x1791, 0xe57: 0x1809,\n\t0xe58: 0x1617, 0xe59: 0x1627,\n\t// Block 0x3a, offset 0xe80\n\t0xe80: 0x19d5, 0xe81: 0x19d8, 0xe82: 0x19db, 0xe83: 0x1c08, 0xe84: 0x1c0c, 0xe85: 0x1a5f,\n\t0xe86: 0x1a5f,\n\t0xe93: 0x1d75, 0xe94: 0x1d66, 0xe95: 0x1d6b, 0xe96: 0x1d7a, 0xe97: 0x1d70,\n\t0xe9d: 0x4390,\n\t0xe9e: 0x8115, 0xe9f: 0x4402, 0xea0: 0x022d, 0xea1: 0x0215, 0xea2: 0x021e, 0xea3: 0x0221,\n\t0xea4: 0x0224, 0xea5: 0x0227, 0xea6: 0x022a, 0xea7: 0x0230, 0xea8: 0x0233, 0xea9: 0x0017,\n\t0xeaa: 0x43f0, 0xeab: 0x43f6, 0xeac: 0x44f4, 0xead: 0x44fc, 0xeae: 0x4348, 0xeaf: 0x434e,\n\t0xeb0: 0x4354, 0xeb1: 0x435a, 0xeb2: 0x4366, 0xeb3: 0x436c, 0xeb4: 0x4372, 0xeb5: 0x437e,\n\t0xeb6: 0x4384, 0xeb8: 0x438a, 0xeb9: 0x4396, 0xeba: 0x439c, 0xebb: 0x43a2,\n\t0xebc: 0x43ae, 0xebe: 0x43b4,\n\t// Block 0x3b, offset 0xec0\n\t0xec0: 0x43ba, 0xec1: 0x43c0, 0xec3: 0x43c6, 0xec4: 0x43cc,\n\t0xec6: 0x43d8, 0xec7: 0x43de, 0xec8: 0x43e4, 0xec9: 0x43ea, 0xeca: 0x43fc, 0xecb: 0x4378,\n\t0xecc: 0x4360, 0xecd: 0x43a8, 0xece: 0x43d2, 0xecf: 0x1d7f, 0xed0: 0x0299, 0xed1: 0x0299,\n\t0xed2: 0x02a2, 0xed3: 0x02a2, 0xed4: 0x02a2, 0xed5: 0x02a2, 0xed6: 0x02a5, 0xed7: 0x02a5,\n\t0xed8: 0x02a5, 0xed9: 0x02a5, 0xeda: 0x02ab, 0xedb: 0x02ab, 0xedc: 0x02ab, 0xedd: 0x02ab,\n\t0xede: 0x029f, 0xedf: 0x029f, 0xee0: 0x029f, 0xee1: 0x029f, 0xee2: 0x02a8, 0xee3: 0x02a8,\n\t0xee4: 0x02a8, 0xee5: 0x02a8, 0xee6: 0x029c, 0xee7: 0x029c, 0xee8: 0x029c, 0xee9: 0x029c,\n\t0xeea: 0x02cf, 0xeeb: 0x02cf, 0xeec: 0x02cf, 0xeed: 0x02cf, 0xeee: 0x02d2, 0xeef: 0x02d2,\n\t0xef0: 0x02d2, 0xef1: 0x02d2, 0xef2: 0x02b1, 0xef3: 0x02b1, 0xef4: 0x02b1, 0xef5: 0x02b1,\n\t0xef6: 0x02ae, 0xef7: 0x02ae, 0xef8: 0x02ae, 0xef9: 0x02ae, 0xefa: 0x02b4, 0xefb: 0x02b4,\n\t0xefc: 0x02b4, 0xefd: 0x02b4, 0xefe: 0x02b7, 0xeff: 0x02b7,\n\t// Block 0x3c, offset 0xf00\n\t0xf00: 0x02b7, 0xf01: 0x02b7, 0xf02: 0x02c0, 0xf03: 0x02c0, 0xf04: 0x02bd, 0xf05: 0x02bd,\n\t0xf06: 0x02c3, 0xf07: 0x02c3, 0xf08: 0x02ba, 0xf09: 0x02ba, 0xf0a: 0x02c9, 0xf0b: 0x02c9,\n\t0xf0c: 0x02c6, 0xf0d: 0x02c6, 0xf0e: 0x02d5, 0xf0f: 0x02d5, 0xf10: 0x02d5, 0xf11: 0x02d5,\n\t0xf12: 0x02db, 0xf13: 0x02db, 0xf14: 0x02db, 0xf15: 0x02db, 0xf16: 0x02e1, 0xf17: 0x02e1,\n\t0xf18: 0x02e1, 0xf19: 0x02e1, 0xf1a: 0x02de, 0xf1b: 0x02de, 0xf1c: 0x02de, 0xf1d: 0x02de,\n\t0xf1e: 0x02e4, 0xf1f: 0x02e4, 0xf20: 0x02e7, 0xf21: 0x02e7, 0xf22: 0x02e7, 0xf23: 0x02e7,\n\t0xf24: 0x446e, 0xf25: 0x446e, 0xf26: 0x02ed, 0xf27: 0x02ed, 0xf28: 0x02ed, 0xf29: 0x02ed,\n\t0xf2a: 0x02ea, 0xf2b: 0x02ea, 0xf2c: 0x02ea, 0xf2d: 0x02ea, 0xf2e: 0x0308, 0xf2f: 0x0308,\n\t0xf30: 0x4468, 0xf31: 0x4468,\n\t// Block 0x3d, offset 0xf40\n\t0xf53: 0x02d8, 0xf54: 0x02d8, 0xf55: 0x02d8, 0xf56: 0x02d8, 0xf57: 0x02f6,\n\t0xf58: 0x02f6, 0xf59: 0x02f3, 0xf5a: 0x02f3, 0xf5b: 0x02f9, 0xf5c: 0x02f9, 0xf5d: 0x204f,\n\t0xf5e: 0x02ff, 0xf5f: 0x02ff, 0xf60: 0x02f0, 0xf61: 0x02f0, 0xf62: 0x02fc, 0xf63: 0x02fc,\n\t0xf64: 0x0305, 0xf65: 0x0305, 0xf66: 0x0305, 0xf67: 0x0305, 0xf68: 0x028d, 0xf69: 0x028d,\n\t0xf6a: 0x25aa, 0xf6b: 0x25aa, 0xf6c: 0x261a, 0xf6d: 0x261a, 0xf6e: 0x25e9, 0xf6f: 0x25e9,\n\t0xf70: 0x2605, 0xf71: 0x2605, 0xf72: 0x25fe, 0xf73: 0x25fe, 0xf74: 0x260c, 0xf75: 0x260c,\n\t0xf76: 0x2613, 0xf77: 0x2613, 0xf78: 0x2613, 0xf79: 0x25f0, 0xf7a: 0x25f0, 0xf7b: 0x25f0,\n\t0xf7c: 0x0302, 0xf7d: 0x0302, 0xf7e: 0x0302, 0xf7f: 0x0302,\n\t// Block 0x3e, offset 0xf80\n\t0xf80: 0x25b1, 0xf81: 0x25b8, 0xf82: 0x25d4, 0xf83: 0x25f0, 0xf84: 0x25f7, 0xf85: 0x1d89,\n\t0xf86: 0x1d8e, 0xf87: 0x1d93, 0xf88: 0x1da2, 0xf89: 0x1db1, 0xf8a: 0x1db6, 0xf8b: 0x1dbb,\n\t0xf8c: 0x1dc0, 0xf8d: 0x1dc5, 0xf8e: 0x1dd4, 0xf8f: 0x1de3, 0xf90: 0x1de8, 0xf91: 0x1ded,\n\t0xf92: 0x1dfc, 0xf93: 0x1e0b, 0xf94: 0x1e10, 0xf95: 0x1e15, 0xf96: 0x1e1a, 0xf97: 0x1e29,\n\t0xf98: 0x1e2e, 0xf99: 0x1e3d, 0xf9a: 0x1e42, 0xf9b: 0x1e47, 0xf9c: 0x1e56, 0xf9d: 0x1e5b,\n\t0xf9e: 0x1e60, 0xf9f: 0x1e6a, 0xfa0: 0x1ea6, 0xfa1: 0x1eb5, 0xfa2: 0x1ec4, 0xfa3: 0x1ec9,\n\t0xfa4: 0x1ece, 0xfa5: 0x1ed8, 0xfa6: 0x1ee7, 0xfa7: 0x1eec, 0xfa8: 0x1efb, 0xfa9: 0x1f00,\n\t0xfaa: 0x1f05, 0xfab: 0x1f14, 0xfac: 0x1f19, 0xfad: 0x1f28, 0xfae: 0x1f2d, 0xfaf: 0x1f32,\n\t0xfb0: 0x1f37, 0xfb1: 0x1f3c, 0xfb2: 0x1f41, 0xfb3: 0x1f46, 0xfb4: 0x1f4b, 0xfb5: 0x1f50,\n\t0xfb6: 0x1f55, 0xfb7: 0x1f5a, 0xfb8: 0x1f5f, 0xfb9: 0x1f64, 0xfba: 0x1f69, 0xfbb: 0x1f6e,\n\t0xfbc: 0x1f73, 0xfbd: 0x1f78, 0xfbe: 0x1f7d, 0xfbf: 0x1f87,\n\t// Block 0x3f, offset 0xfc0\n\t0xfc0: 0x1f8c, 0xfc1: 0x1f91, 0xfc2: 0x1f96, 0xfc3: 0x1fa0, 0xfc4: 0x1fa5, 0xfc5: 0x1faf,\n\t0xfc6: 0x1fb4, 0xfc7: 0x1fb9, 0xfc8: 0x1fbe, 0xfc9: 0x1fc3, 0xfca: 0x1fc8, 0xfcb: 0x1fcd,\n\t0xfcc: 0x1fd2, 0xfcd: 0x1fd7, 0xfce: 0x1fe6, 0xfcf: 0x1ff5, 0xfd0: 0x1ffa, 0xfd1: 0x1fff,\n\t0xfd2: 0x2004, 0xfd3: 0x2009, 0xfd4: 0x200e, 0xfd5: 0x2018, 0xfd6: 0x201d, 0xfd7: 0x2022,\n\t0xfd8: 0x2031, 0xfd9: 0x2040, 0xfda: 0x2045, 0xfdb: 0x4420, 0xfdc: 0x4426, 0xfdd: 0x445c,\n\t0xfde: 0x44b3, 0xfdf: 0x44ba, 0xfe0: 0x44c1, 0xfe1: 0x44c8, 0xfe2: 0x44cf, 0xfe3: 0x44d6,\n\t0xfe4: 0x25c6, 0xfe5: 0x25cd, 0xfe6: 0x25d4, 0xfe7: 0x25db, 0xfe8: 0x25f0, 0xfe9: 0x25f7,\n\t0xfea: 0x1d98, 0xfeb: 0x1d9d, 0xfec: 0x1da2, 0xfed: 0x1da7, 0xfee: 0x1db1, 0xfef: 0x1db6,\n\t0xff0: 0x1dca, 0xff1: 0x1dcf, 0xff2: 0x1dd4, 0xff3: 0x1dd9, 0xff4: 0x1de3, 0xff5: 0x1de8,\n\t0xff6: 0x1df2, 0xff7: 0x1df7, 0xff8: 0x1dfc, 0xff9: 0x1e01, 0xffa: 0x1e0b, 0xffb: 0x1e10,\n\t0xffc: 0x1f3c, 0xffd: 0x1f41, 0xffe: 0x1f50, 0xfff: 0x1f55,\n\t// Block 0x40, offset 0x1000\n\t0x1000: 0x1f5a, 0x1001: 0x1f6e, 0x1002: 0x1f73, 0x1003: 0x1f78, 0x1004: 0x1f7d, 0x1005: 0x1f96,\n\t0x1006: 0x1fa0, 0x1007: 0x1fa5, 0x1008: 0x1faa, 0x1009: 0x1fbe, 0x100a: 0x1fdc, 0x100b: 0x1fe1,\n\t0x100c: 0x1fe6, 0x100d: 0x1feb, 0x100e: 0x1ff5, 0x100f: 0x1ffa, 0x1010: 0x445c, 0x1011: 0x2027,\n\t0x1012: 0x202c, 0x1013: 0x2031, 0x1014: 0x2036, 0x1015: 0x2040, 0x1016: 0x2045, 0x1017: 0x25b1,\n\t0x1018: 0x25b8, 0x1019: 0x25bf, 0x101a: 0x25d4, 0x101b: 0x25e2, 0x101c: 0x1d89, 0x101d: 0x1d8e,\n\t0x101e: 0x1d93, 0x101f: 0x1da2, 0x1020: 0x1dac, 0x1021: 0x1dbb, 0x1022: 0x1dc0, 0x1023: 0x1dc5,\n\t0x1024: 0x1dd4, 0x1025: 0x1dde, 0x1026: 0x1dfc, 0x1027: 0x1e15, 0x1028: 0x1e1a, 0x1029: 0x1e29,\n\t0x102a: 0x1e2e, 0x102b: 0x1e3d, 0x102c: 0x1e47, 0x102d: 0x1e56, 0x102e: 0x1e5b, 0x102f: 0x1e60,\n\t0x1030: 0x1e6a, 0x1031: 0x1ea6, 0x1032: 0x1eab, 0x1033: 0x1eb5, 0x1034: 0x1ec4, 0x1035: 0x1ec9,\n\t0x1036: 0x1ece, 0x1037: 0x1ed8, 0x1038: 0x1ee7, 0x1039: 0x1efb, 0x103a: 0x1f00, 0x103b: 0x1f05,\n\t0x103c: 0x1f14, 0x103d: 0x1f19, 0x103e: 0x1f28, 0x103f: 0x1f2d,\n\t// Block 0x41, offset 0x1040\n\t0x1040: 0x1f32, 0x1041: 0x1f37, 0x1042: 0x1f46, 0x1043: 0x1f4b, 0x1044: 0x1f5f, 0x1045: 0x1f64,\n\t0x1046: 0x1f69, 0x1047: 0x1f6e, 0x1048: 0x1f73, 0x1049: 0x1f87, 0x104a: 0x1f8c, 0x104b: 0x1f91,\n\t0x104c: 0x1f96, 0x104d: 0x1f9b, 0x104e: 0x1faf, 0x104f: 0x1fb4, 0x1050: 0x1fb9, 0x1051: 0x1fbe,\n\t0x1052: 0x1fcd, 0x1053: 0x1fd2, 0x1054: 0x1fd7, 0x1055: 0x1fe6, 0x1056: 0x1ff0, 0x1057: 0x1fff,\n\t0x1058: 0x2004, 0x1059: 0x4450, 0x105a: 0x2018, 0x105b: 0x201d, 0x105c: 0x2022, 0x105d: 0x2031,\n\t0x105e: 0x203b, 0x105f: 0x25d4, 0x1060: 0x25e2, 0x1061: 0x1da2, 0x1062: 0x1dac, 0x1063: 0x1dd4,\n\t0x1064: 0x1dde, 0x1065: 0x1dfc, 0x1066: 0x1e06, 0x1067: 0x1e6a, 0x1068: 0x1e6f, 0x1069: 0x1e92,\n\t0x106a: 0x1e97, 0x106b: 0x1f6e, 0x106c: 0x1f73, 0x106d: 0x1f96, 0x106e: 0x1fe6, 0x106f: 0x1ff0,\n\t0x1070: 0x2031, 0x1071: 0x203b, 0x1072: 0x4504, 0x1073: 0x450c, 0x1074: 0x4514, 0x1075: 0x1ef1,\n\t0x1076: 0x1ef6, 0x1077: 0x1f0a, 0x1078: 0x1f0f, 0x1079: 0x1f1e, 0x107a: 0x1f23, 0x107b: 0x1e74,\n\t0x107c: 0x1e79, 0x107d: 0x1e9c, 0x107e: 0x1ea1, 0x107f: 0x1e33,\n\t// Block 0x42, offset 0x1080\n\t0x1080: 0x1e38, 0x1081: 0x1e1f, 0x1082: 0x1e24, 0x1083: 0x1e4c, 0x1084: 0x1e51, 0x1085: 0x1eba,\n\t0x1086: 0x1ebf, 0x1087: 0x1edd, 0x1088: 0x1ee2, 0x1089: 0x1e7e, 0x108a: 0x1e83, 0x108b: 0x1e88,\n\t0x108c: 0x1e92, 0x108d: 0x1e8d, 0x108e: 0x1e65, 0x108f: 0x1eb0, 0x1090: 0x1ed3, 0x1091: 0x1ef1,\n\t0x1092: 0x1ef6, 0x1093: 0x1f0a, 0x1094: 0x1f0f, 0x1095: 0x1f1e, 0x1096: 0x1f23, 0x1097: 0x1e74,\n\t0x1098: 0x1e79, 0x1099: 0x1e9c, 0x109a: 0x1ea1, 0x109b: 0x1e33, 0x109c: 0x1e38, 0x109d: 0x1e1f,\n\t0x109e: 0x1e24, 0x109f: 0x1e4c, 0x10a0: 0x1e51, 0x10a1: 0x1eba, 0x10a2: 0x1ebf, 0x10a3: 0x1edd,\n\t0x10a4: 0x1ee2, 0x10a5: 0x1e7e, 0x10a6: 0x1e83, 0x10a7: 0x1e88, 0x10a8: 0x1e92, 0x10a9: 0x1e8d,\n\t0x10aa: 0x1e65, 0x10ab: 0x1eb0, 0x10ac: 0x1ed3, 0x10ad: 0x1e7e, 0x10ae: 0x1e83, 0x10af: 0x1e88,\n\t0x10b0: 0x1e92, 0x10b1: 0x1e6f, 0x10b2: 0x1e97, 0x10b3: 0x1eec, 0x10b4: 0x1e56, 0x10b5: 0x1e5b,\n\t0x10b6: 0x1e60, 0x10b7: 0x1e7e, 0x10b8: 0x1e83, 0x10b9: 0x1e88, 0x10ba: 0x1eec, 0x10bb: 0x1efb,\n\t0x10bc: 0x4408, 0x10bd: 0x4408,\n\t// Block 0x43, offset 0x10c0\n\t0x10d0: 0x2311, 0x10d1: 0x2326,\n\t0x10d2: 0x2326, 0x10d3: 0x232d, 0x10d4: 0x2334, 0x10d5: 0x2349, 0x10d6: 0x2350, 0x10d7: 0x2357,\n\t0x10d8: 0x237a, 0x10d9: 0x237a, 0x10da: 0x239d, 0x10db: 0x2396, 0x10dc: 0x23b2, 0x10dd: 0x23a4,\n\t0x10de: 0x23ab, 0x10df: 0x23ce, 0x10e0: 0x23ce, 0x10e1: 0x23c7, 0x10e2: 0x23d5, 0x10e3: 0x23d5,\n\t0x10e4: 0x23ff, 0x10e5: 0x23ff, 0x10e6: 0x241b, 0x10e7: 0x23e3, 0x10e8: 0x23e3, 0x10e9: 0x23dc,\n\t0x10ea: 0x23f1, 0x10eb: 0x23f1, 0x10ec: 0x23f8, 0x10ed: 0x23f8, 0x10ee: 0x2422, 0x10ef: 0x2430,\n\t0x10f0: 0x2430, 0x10f1: 0x2437, 0x10f2: 0x2437, 0x10f3: 0x243e, 0x10f4: 0x2445, 0x10f5: 0x244c,\n\t0x10f6: 0x2453, 0x10f7: 0x2453, 0x10f8: 0x245a, 0x10f9: 0x2468, 0x10fa: 0x2476, 0x10fb: 0x246f,\n\t0x10fc: 0x247d, 0x10fd: 0x247d, 0x10fe: 0x2492, 0x10ff: 0x2499,\n\t// Block 0x44, offset 0x1100\n\t0x1100: 0x24ca, 0x1101: 0x24d8, 0x1102: 0x24d1, 0x1103: 0x24b5, 0x1104: 0x24b5, 0x1105: 0x24df,\n\t0x1106: 0x24df, 0x1107: 0x24e6, 0x1108: 0x24e6, 0x1109: 0x2510, 0x110a: 0x2517, 0x110b: 0x251e,\n\t0x110c: 0x24f4, 0x110d: 0x2502, 0x110e: 0x2525, 0x110f: 0x252c,\n\t0x1112: 0x24fb, 0x1113: 0x2580, 0x1114: 0x2587, 0x1115: 0x255d, 0x1116: 0x2564, 0x1117: 0x2548,\n\t0x1118: 0x2548, 0x1119: 0x254f, 0x111a: 0x2579, 0x111b: 0x2572, 0x111c: 0x259c, 0x111d: 0x259c,\n\t0x111e: 0x230a, 0x111f: 0x231f, 0x1120: 0x2318, 0x1121: 0x2342, 0x1122: 0x233b, 0x1123: 0x2365,\n\t0x1124: 0x235e, 0x1125: 0x2388, 0x1126: 0x236c, 0x1127: 0x2381, 0x1128: 0x23b9, 0x1129: 0x2406,\n\t0x112a: 0x23ea, 0x112b: 0x2429, 0x112c: 0x24c3, 0x112d: 0x24ed, 0x112e: 0x2595, 0x112f: 0x258e,\n\t0x1130: 0x25a3, 0x1131: 0x253a, 0x1132: 0x24a0, 0x1133: 0x256b, 0x1134: 0x2492, 0x1135: 0x24ca,\n\t0x1136: 0x2461, 0x1137: 0x24ae, 0x1138: 0x2541, 0x1139: 0x2533, 0x113a: 0x24bc, 0x113b: 0x24a7,\n\t0x113c: 0x24bc, 0x113d: 0x2541, 0x113e: 0x2373, 0x113f: 0x238f,\n\t// Block 0x45, offset 0x1140\n\t0x1140: 0x2509, 0x1141: 0x2484, 0x1142: 0x2303, 0x1143: 0x24a7, 0x1144: 0x244c, 0x1145: 0x241b,\n\t0x1146: 0x23c0, 0x1147: 0x2556,\n\t0x1170: 0x2414, 0x1171: 0x248b, 0x1172: 0x27bf, 0x1173: 0x27b6, 0x1174: 0x27ec, 0x1175: 0x27da,\n\t0x1176: 0x27c8, 0x1177: 0x27e3, 0x1178: 0x27f5, 0x1179: 0x240d, 0x117a: 0x2c7c, 0x117b: 0x2afc,\n\t0x117c: 0x27d1,\n\t// Block 0x46, offset 0x1180\n\t0x1190: 0x0019, 0x1191: 0x0483,\n\t0x1192: 0x0487, 0x1193: 0x0035, 0x1194: 0x0037, 0x1195: 0x0003, 0x1196: 0x003f, 0x1197: 0x04bf,\n\t0x1198: 0x04c3, 0x1199: 0x1b5c,\n\t0x11a0: 0x8132, 0x11a1: 0x8132, 0x11a2: 0x8132, 0x11a3: 0x8132,\n\t0x11a4: 0x8132, 0x11a5: 0x8132, 0x11a6: 0x8132, 0x11a7: 0x812d, 0x11a8: 0x812d, 0x11a9: 0x812d,\n\t0x11aa: 0x812d, 0x11ab: 0x812d, 0x11ac: 0x812d, 0x11ad: 0x812d, 0x11ae: 0x8132, 0x11af: 0x8132,\n\t0x11b0: 0x1873, 0x11b1: 0x0443, 0x11b2: 0x043f, 0x11b3: 0x007f, 0x11b4: 0x007f, 0x11b5: 0x0011,\n\t0x11b6: 0x0013, 0x11b7: 0x00b7, 0x11b8: 0x00bb, 0x11b9: 0x04b7, 0x11ba: 0x04bb, 0x11bb: 0x04ab,\n\t0x11bc: 0x04af, 0x11bd: 0x0493, 0x11be: 0x0497, 0x11bf: 0x048b,\n\t// Block 0x47, offset 0x11c0\n\t0x11c0: 0x048f, 0x11c1: 0x049b, 0x11c2: 0x049f, 0x11c3: 0x04a3, 0x11c4: 0x04a7,\n\t0x11c7: 0x0077, 0x11c8: 0x007b, 0x11c9: 0x4269, 0x11ca: 0x4269, 0x11cb: 0x4269,\n\t0x11cc: 0x4269, 0x11cd: 0x007f, 0x11ce: 0x007f, 0x11cf: 0x007f, 0x11d0: 0x0019, 0x11d1: 0x0483,\n\t0x11d2: 0x001d, 0x11d4: 0x0037, 0x11d5: 0x0035, 0x11d6: 0x003f, 0x11d7: 0x0003,\n\t0x11d8: 0x0443, 0x11d9: 0x0011, 0x11da: 0x0013, 0x11db: 0x00b7, 0x11dc: 0x00bb, 0x11dd: 0x04b7,\n\t0x11de: 0x04bb, 0x11df: 0x0007, 0x11e0: 0x000d, 0x11e1: 0x0015, 0x11e2: 0x0017, 0x11e3: 0x001b,\n\t0x11e4: 0x0039, 0x11e5: 0x003d, 0x11e6: 0x003b, 0x11e8: 0x0079, 0x11e9: 0x0009,\n\t0x11ea: 0x000b, 0x11eb: 0x0041,\n\t0x11f0: 0x42aa, 0x11f1: 0x442c, 0x11f2: 0x42af, 0x11f4: 0x42b4,\n\t0x11f6: 0x42b9, 0x11f7: 0x4432, 0x11f8: 0x42be, 0x11f9: 0x4438, 0x11fa: 0x42c3, 0x11fb: 0x443e,\n\t0x11fc: 0x42c8, 0x11fd: 0x4444, 0x11fe: 0x42cd, 0x11ff: 0x444a,\n\t// Block 0x48, offset 0x1200\n\t0x1200: 0x0236, 0x1201: 0x440e, 0x1202: 0x440e, 0x1203: 0x4414, 0x1204: 0x4414, 0x1205: 0x4456,\n\t0x1206: 0x4456, 0x1207: 0x441a, 0x1208: 0x441a, 0x1209: 0x4462, 0x120a: 0x4462, 0x120b: 0x4462,\n\t0x120c: 0x4462, 0x120d: 0x0239, 0x120e: 0x0239, 0x120f: 0x023c, 0x1210: 0x023c, 0x1211: 0x023c,\n\t0x1212: 0x023c, 0x1213: 0x023f, 0x1214: 0x023f, 0x1215: 0x0242, 0x1216: 0x0242, 0x1217: 0x0242,\n\t0x1218: 0x0242, 0x1219: 0x0245, 0x121a: 0x0245, 0x121b: 0x0245, 0x121c: 0x0245, 0x121d: 0x0248,\n\t0x121e: 0x0248, 0x121f: 0x0248, 0x1220: 0x0248, 0x1221: 0x024b, 0x1222: 0x024b, 0x1223: 0x024b,\n\t0x1224: 0x024b, 0x1225: 0x024e, 0x1226: 0x024e, 0x1227: 0x024e, 0x1228: 0x024e, 0x1229: 0x0251,\n\t0x122a: 0x0251, 0x122b: 0x0254, 0x122c: 0x0254, 0x122d: 0x0257, 0x122e: 0x0257, 0x122f: 0x025a,\n\t0x1230: 0x025a, 0x1231: 0x025d, 0x1232: 0x025d, 0x1233: 0x025d, 0x1234: 0x025d, 0x1235: 0x0260,\n\t0x1236: 0x0260, 0x1237: 0x0260, 0x1238: 0x0260, 0x1239: 0x0263, 0x123a: 0x0263, 0x123b: 0x0263,\n\t0x123c: 0x0263, 0x123d: 0x0266, 0x123e: 0x0266, 0x123f: 0x0266,\n\t// Block 0x49, offset 0x1240\n\t0x1240: 0x0266, 0x1241: 0x0269, 0x1242: 0x0269, 0x1243: 0x0269, 0x1244: 0x0269, 0x1245: 0x026c,\n\t0x1246: 0x026c, 0x1247: 0x026c, 0x1248: 0x026c, 0x1249: 0x026f, 0x124a: 0x026f, 0x124b: 0x026f,\n\t0x124c: 0x026f, 0x124d: 0x0272, 0x124e: 0x0272, 0x124f: 0x0272, 0x1250: 0x0272, 0x1251: 0x0275,\n\t0x1252: 0x0275, 0x1253: 0x0275, 0x1254: 0x0275, 0x1255: 0x0278, 0x1256: 0x0278, 0x1257: 0x0278,\n\t0x1258: 0x0278, 0x1259: 0x027b, 0x125a: 0x027b, 0x125b: 0x027b, 0x125c: 0x027b, 0x125d: 0x027e,\n\t0x125e: 0x027e, 0x125f: 0x027e, 0x1260: 0x027e, 0x1261: 0x0281, 0x1262: 0x0281, 0x1263: 0x0281,\n\t0x1264: 0x0281, 0x1265: 0x0284, 0x1266: 0x0284, 0x1267: 0x0284, 0x1268: 0x0284, 0x1269: 0x0287,\n\t0x126a: 0x0287, 0x126b: 0x0287, 0x126c: 0x0287, 0x126d: 0x028a, 0x126e: 0x028a, 0x126f: 0x028d,\n\t0x1270: 0x028d, 0x1271: 0x0290, 0x1272: 0x0290, 0x1273: 0x0290, 0x1274: 0x0290, 0x1275: 0x2e00,\n\t0x1276: 0x2e00, 0x1277: 0x2e08, 0x1278: 0x2e08, 0x1279: 0x2e10, 0x127a: 0x2e10, 0x127b: 0x1f82,\n\t0x127c: 0x1f82,\n\t// Block 0x4a, offset 0x1280\n\t0x1280: 0x0081, 0x1281: 0x0083, 0x1282: 0x0085, 0x1283: 0x0087, 0x1284: 0x0089, 0x1285: 0x008b,\n\t0x1286: 0x008d, 0x1287: 0x008f, 0x1288: 0x0091, 0x1289: 0x0093, 0x128a: 0x0095, 0x128b: 0x0097,\n\t0x128c: 0x0099, 0x128d: 0x009b, 0x128e: 0x009d, 0x128f: 0x009f, 0x1290: 0x00a1, 0x1291: 0x00a3,\n\t0x1292: 0x00a5, 0x1293: 0x00a7, 0x1294: 0x00a9, 0x1295: 0x00ab, 0x1296: 0x00ad, 0x1297: 0x00af,\n\t0x1298: 0x00b1, 0x1299: 0x00b3, 0x129a: 0x00b5, 0x129b: 0x00b7, 0x129c: 0x00b9, 0x129d: 0x00bb,\n\t0x129e: 0x00bd, 0x129f: 0x0477, 0x12a0: 0x047b, 0x12a1: 0x0487, 0x12a2: 0x049b, 0x12a3: 0x049f,\n\t0x12a4: 0x0483, 0x12a5: 0x05ab, 0x12a6: 0x05a3, 0x12a7: 0x04c7, 0x12a8: 0x04cf, 0x12a9: 0x04d7,\n\t0x12aa: 0x04df, 0x12ab: 0x04e7, 0x12ac: 0x056b, 0x12ad: 0x0573, 0x12ae: 0x057b, 0x12af: 0x051f,\n\t0x12b0: 0x05af, 0x12b1: 0x04cb, 0x12b2: 0x04d3, 0x12b3: 0x04db, 0x12b4: 0x04e3, 0x12b5: 0x04eb,\n\t0x12b6: 0x04ef, 0x12b7: 0x04f3, 0x12b8: 0x04f7, 0x12b9: 0x04fb, 0x12ba: 0x04ff, 0x12bb: 0x0503,\n\t0x12bc: 0x0507, 0x12bd: 0x050b, 0x12be: 0x050f, 0x12bf: 0x0513,\n\t// Block 0x4b, offset 0x12c0\n\t0x12c0: 0x0517, 0x12c1: 0x051b, 0x12c2: 0x0523, 0x12c3: 0x0527, 0x12c4: 0x052b, 0x12c5: 0x052f,\n\t0x12c6: 0x0533, 0x12c7: 0x0537, 0x12c8: 0x053b, 0x12c9: 0x053f, 0x12ca: 0x0543, 0x12cb: 0x0547,\n\t0x12cc: 0x054b, 0x12cd: 0x054f, 0x12ce: 0x0553, 0x12cf: 0x0557, 0x12d0: 0x055b, 0x12d1: 0x055f,\n\t0x12d2: 0x0563, 0x12d3: 0x0567, 0x12d4: 0x056f, 0x12d5: 0x0577, 0x12d6: 0x057f, 0x12d7: 0x0583,\n\t0x12d8: 0x0587, 0x12d9: 0x058b, 0x12da: 0x058f, 0x12db: 0x0593, 0x12dc: 0x0597, 0x12dd: 0x05a7,\n\t0x12de: 0x4a78, 0x12df: 0x4a7e, 0x12e0: 0x03c3, 0x12e1: 0x0313, 0x12e2: 0x0317, 0x12e3: 0x4a3b,\n\t0x12e4: 0x031b, 0x12e5: 0x4a41, 0x12e6: 0x4a47, 0x12e7: 0x031f, 0x12e8: 0x0323, 0x12e9: 0x0327,\n\t0x12ea: 0x4a4d, 0x12eb: 0x4a53, 0x12ec: 0x4a59, 0x12ed: 0x4a5f, 0x12ee: 0x4a65, 0x12ef: 0x4a6b,\n\t0x12f0: 0x0367, 0x12f1: 0x032b, 0x12f2: 0x032f, 0x12f3: 0x0333, 0x12f4: 0x037b, 0x12f5: 0x0337,\n\t0x12f6: 0x033b, 0x12f7: 0x033f, 0x12f8: 0x0343, 0x12f9: 0x0347, 0x12fa: 0x034b, 0x12fb: 0x034f,\n\t0x12fc: 0x0353, 0x12fd: 0x0357, 0x12fe: 0x035b,\n\t// Block 0x4c, offset 0x1300\n\t0x1302: 0x49bd, 0x1303: 0x49c3, 0x1304: 0x49c9, 0x1305: 0x49cf,\n\t0x1306: 0x49d5, 0x1307: 0x49db, 0x130a: 0x49e1, 0x130b: 0x49e7,\n\t0x130c: 0x49ed, 0x130d: 0x49f3, 0x130e: 0x49f9, 0x130f: 0x49ff,\n\t0x1312: 0x4a05, 0x1313: 0x4a0b, 0x1314: 0x4a11, 0x1315: 0x4a17, 0x1316: 0x4a1d, 0x1317: 0x4a23,\n\t0x131a: 0x4a29, 0x131b: 0x4a2f, 0x131c: 0x4a35,\n\t0x1320: 0x00bf, 0x1321: 0x00c2, 0x1322: 0x00cb, 0x1323: 0x4264,\n\t0x1324: 0x00c8, 0x1325: 0x00c5, 0x1326: 0x0447, 0x1328: 0x046b, 0x1329: 0x044b,\n\t0x132a: 0x044f, 0x132b: 0x0453, 0x132c: 0x0457, 0x132d: 0x046f, 0x132e: 0x0473,\n\t// Block 0x4d, offset 0x1340\n\t0x1340: 0x0063, 0x1341: 0x0065, 0x1342: 0x0067, 0x1343: 0x0069, 0x1344: 0x006b, 0x1345: 0x006d,\n\t0x1346: 0x006f, 0x1347: 0x0071, 0x1348: 0x0073, 0x1349: 0x0075, 0x134a: 0x0083, 0x134b: 0x0085,\n\t0x134c: 0x0087, 0x134d: 0x0089, 0x134e: 0x008b, 0x134f: 0x008d, 0x1350: 0x008f, 0x1351: 0x0091,\n\t0x1352: 0x0093, 0x1353: 0x0095, 0x1354: 0x0097, 0x1355: 0x0099, 0x1356: 0x009b, 0x1357: 0x009d,\n\t0x1358: 0x009f, 0x1359: 0x00a1, 0x135a: 0x00a3, 0x135b: 0x00a5, 0x135c: 0x00a7, 0x135d: 0x00a9,\n\t0x135e: 0x00ab, 0x135f: 0x00ad, 0x1360: 0x00af, 0x1361: 0x00b1, 0x1362: 0x00b3, 0x1363: 0x00b5,\n\t0x1364: 0x00dd, 0x1365: 0x00f2, 0x1368: 0x0173, 0x1369: 0x0176,\n\t0x136a: 0x0179, 0x136b: 0x017c, 0x136c: 0x017f, 0x136d: 0x0182, 0x136e: 0x0185, 0x136f: 0x0188,\n\t0x1370: 0x018b, 0x1371: 0x018e, 0x1372: 0x0191, 0x1373: 0x0194, 0x1374: 0x0197, 0x1375: 0x019a,\n\t0x1376: 0x019d, 0x1377: 0x01a0, 0x1378: 0x01a3, 0x1379: 0x0188, 0x137a: 0x01a6, 0x137b: 0x01a9,\n\t0x137c: 0x01ac, 0x137d: 0x01af, 0x137e: 0x01b2, 0x137f: 0x01b5,\n\t// Block 0x4e, offset 0x1380\n\t0x1380: 0x01fd, 0x1381: 0x0200, 0x1382: 0x0203, 0x1383: 0x045b, 0x1384: 0x01c7, 0x1385: 0x01d0,\n\t0x1386: 0x01d6, 0x1387: 0x01fa, 0x1388: 0x01eb, 0x1389: 0x01e8, 0x138a: 0x0206, 0x138b: 0x0209,\n\t0x138e: 0x0021, 0x138f: 0x0023, 0x1390: 0x0025, 0x1391: 0x0027,\n\t0x1392: 0x0029, 0x1393: 0x002b, 0x1394: 0x002d, 0x1395: 0x002f, 0x1396: 0x0031, 0x1397: 0x0033,\n\t0x1398: 0x0021, 0x1399: 0x0023, 0x139a: 0x0025, 0x139b: 0x0027, 0x139c: 0x0029, 0x139d: 0x002b,\n\t0x139e: 0x002d, 0x139f: 0x002f, 0x13a0: 0x0031, 0x13a1: 0x0033, 0x13a2: 0x0021, 0x13a3: 0x0023,\n\t0x13a4: 0x0025, 0x13a5: 0x0027, 0x13a6: 0x0029, 0x13a7: 0x002b, 0x13a8: 0x002d, 0x13a9: 0x002f,\n\t0x13aa: 0x0031, 0x13ab: 0x0033, 0x13ac: 0x0021, 0x13ad: 0x0023, 0x13ae: 0x0025, 0x13af: 0x0027,\n\t0x13b0: 0x0029, 0x13b1: 0x002b, 0x13b2: 0x002d, 0x13b3: 0x002f, 0x13b4: 0x0031, 0x13b5: 0x0033,\n\t0x13b6: 0x0021, 0x13b7: 0x0023, 0x13b8: 0x0025, 0x13b9: 0x0027, 0x13ba: 0x0029, 0x13bb: 0x002b,\n\t0x13bc: 0x002d, 0x13bd: 0x002f, 0x13be: 0x0031, 0x13bf: 0x0033,\n\t// Block 0x4f, offset 0x13c0\n\t0x13c0: 0x0239, 0x13c1: 0x023c, 0x13c2: 0x0248, 0x13c3: 0x0251, 0x13c5: 0x028a,\n\t0x13c6: 0x025a, 0x13c7: 0x024b, 0x13c8: 0x0269, 0x13c9: 0x0290, 0x13ca: 0x027b, 0x13cb: 0x027e,\n\t0x13cc: 0x0281, 0x13cd: 0x0284, 0x13ce: 0x025d, 0x13cf: 0x026f, 0x13d0: 0x0275, 0x13d1: 0x0263,\n\t0x13d2: 0x0278, 0x13d3: 0x0257, 0x13d4: 0x0260, 0x13d5: 0x0242, 0x13d6: 0x0245, 0x13d7: 0x024e,\n\t0x13d8: 0x0254, 0x13d9: 0x0266, 0x13da: 0x026c, 0x13db: 0x0272, 0x13dc: 0x0293, 0x13dd: 0x02e4,\n\t0x13de: 0x02cc, 0x13df: 0x0296, 0x13e1: 0x023c, 0x13e2: 0x0248,\n\t0x13e4: 0x0287, 0x13e7: 0x024b, 0x13e9: 0x0290,\n\t0x13ea: 0x027b, 0x13eb: 0x027e, 0x13ec: 0x0281, 0x13ed: 0x0284, 0x13ee: 0x025d, 0x13ef: 0x026f,\n\t0x13f0: 0x0275, 0x13f1: 0x0263, 0x13f2: 0x0278, 0x13f4: 0x0260, 0x13f5: 0x0242,\n\t0x13f6: 0x0245, 0x13f7: 0x024e, 0x13f9: 0x0266, 0x13fb: 0x0272,\n\t// Block 0x50, offset 0x1400\n\t0x1402: 0x0248,\n\t0x1407: 0x024b, 0x1409: 0x0290, 0x140b: 0x027e,\n\t0x140d: 0x0284, 0x140e: 0x025d, 0x140f: 0x026f, 0x1411: 0x0263,\n\t0x1412: 0x0278, 0x1414: 0x0260, 0x1417: 0x024e,\n\t0x1419: 0x0266, 0x141b: 0x0272, 0x141d: 0x02e4,\n\t0x141f: 0x0296, 0x1421: 0x023c, 0x1422: 0x0248,\n\t0x1424: 0x0287, 0x1427: 0x024b, 0x1428: 0x0269, 0x1429: 0x0290,\n\t0x142a: 0x027b, 0x142c: 0x0281, 0x142d: 0x0284, 0x142e: 0x025d, 0x142f: 0x026f,\n\t0x1430: 0x0275, 0x1431: 0x0263, 0x1432: 0x0278, 0x1434: 0x0260, 0x1435: 0x0242,\n\t0x1436: 0x0245, 0x1437: 0x024e, 0x1439: 0x0266, 0x143a: 0x026c, 0x143b: 0x0272,\n\t0x143c: 0x0293, 0x143e: 0x02cc,\n\t// Block 0x51, offset 0x1440\n\t0x1440: 0x0239, 0x1441: 0x023c, 0x1442: 0x0248, 0x1443: 0x0251, 0x1444: 0x0287, 0x1445: 0x028a,\n\t0x1446: 0x025a, 0x1447: 0x024b, 0x1448: 0x0269, 0x1449: 0x0290, 0x144b: 0x027e,\n\t0x144c: 0x0281, 0x144d: 0x0284, 0x144e: 0x025d, 0x144f: 0x026f, 0x1450: 0x0275, 0x1451: 0x0263,\n\t0x1452: 0x0278, 0x1453: 0x0257, 0x1454: 0x0260, 0x1455: 0x0242, 0x1456: 0x0245, 0x1457: 0x024e,\n\t0x1458: 0x0254, 0x1459: 0x0266, 0x145a: 0x026c, 0x145b: 0x0272,\n\t0x1461: 0x023c, 0x1462: 0x0248, 0x1463: 0x0251,\n\t0x1465: 0x028a, 0x1466: 0x025a, 0x1467: 0x024b, 0x1468: 0x0269, 0x1469: 0x0290,\n\t0x146b: 0x027e, 0x146c: 0x0281, 0x146d: 0x0284, 0x146e: 0x025d, 0x146f: 0x026f,\n\t0x1470: 0x0275, 0x1471: 0x0263, 0x1472: 0x0278, 0x1473: 0x0257, 0x1474: 0x0260, 0x1475: 0x0242,\n\t0x1476: 0x0245, 0x1477: 0x024e, 0x1478: 0x0254, 0x1479: 0x0266, 0x147a: 0x026c, 0x147b: 0x0272,\n\t// Block 0x52, offset 0x1480\n\t0x1480: 0x1879, 0x1481: 0x1876, 0x1482: 0x187c, 0x1483: 0x18a0, 0x1484: 0x18c4, 0x1485: 0x18e8,\n\t0x1486: 0x190c, 0x1487: 0x1915, 0x1488: 0x191b, 0x1489: 0x1921, 0x148a: 0x1927,\n\t0x1490: 0x1a8c, 0x1491: 0x1a90,\n\t0x1492: 0x1a94, 0x1493: 0x1a98, 0x1494: 0x1a9c, 0x1495: 0x1aa0, 0x1496: 0x1aa4, 0x1497: 0x1aa8,\n\t0x1498: 0x1aac, 0x1499: 0x1ab0, 0x149a: 0x1ab4, 0x149b: 0x1ab8, 0x149c: 0x1abc, 0x149d: 0x1ac0,\n\t0x149e: 0x1ac4, 0x149f: 0x1ac8, 0x14a0: 0x1acc, 0x14a1: 0x1ad0, 0x14a2: 0x1ad4, 0x14a3: 0x1ad8,\n\t0x14a4: 0x1adc, 0x14a5: 0x1ae0, 0x14a6: 0x1ae4, 0x14a7: 0x1ae8, 0x14a8: 0x1aec, 0x14a9: 0x1af0,\n\t0x14aa: 0x271e, 0x14ab: 0x0047, 0x14ac: 0x0065, 0x14ad: 0x193c, 0x14ae: 0x19b1,\n\t0x14b0: 0x0043, 0x14b1: 0x0045, 0x14b2: 0x0047, 0x14b3: 0x0049, 0x14b4: 0x004b, 0x14b5: 0x004d,\n\t0x14b6: 0x004f, 0x14b7: 0x0051, 0x14b8: 0x0053, 0x14b9: 0x0055, 0x14ba: 0x0057, 0x14bb: 0x0059,\n\t0x14bc: 0x005b, 0x14bd: 0x005d, 0x14be: 0x005f, 0x14bf: 0x0061,\n\t// Block 0x53, offset 0x14c0\n\t0x14c0: 0x26ad, 0x14c1: 0x26c2, 0x14c2: 0x0503,\n\t0x14d0: 0x0c0f, 0x14d1: 0x0a47,\n\t0x14d2: 0x08d3, 0x14d3: 0x45c4, 0x14d4: 0x071b, 0x14d5: 0x09ef, 0x14d6: 0x132f, 0x14d7: 0x09ff,\n\t0x14d8: 0x0727, 0x14d9: 0x0cd7, 0x14da: 0x0eaf, 0x14db: 0x0caf, 0x14dc: 0x0827, 0x14dd: 0x0b6b,\n\t0x14de: 0x07bf, 0x14df: 0x0cb7, 0x14e0: 0x0813, 0x14e1: 0x1117, 0x14e2: 0x0f83, 0x14e3: 0x138b,\n\t0x14e4: 0x09d3, 0x14e5: 0x090b, 0x14e6: 0x0e63, 0x14e7: 0x0c1b, 0x14e8: 0x0c47, 0x14e9: 0x06bf,\n\t0x14ea: 0x06cb, 0x14eb: 0x140b, 0x14ec: 0x0adb, 0x14ed: 0x06e7, 0x14ee: 0x08ef, 0x14ef: 0x0c3b,\n\t0x14f0: 0x13b3, 0x14f1: 0x0c13, 0x14f2: 0x106f, 0x14f3: 0x10ab, 0x14f4: 0x08f7, 0x14f5: 0x0e43,\n\t0x14f6: 0x0d0b, 0x14f7: 0x0d07, 0x14f8: 0x0f97, 0x14f9: 0x082b, 0x14fa: 0x0957, 0x14fb: 0x1443,\n\t// Block 0x54, offset 0x1500\n\t0x1500: 0x06fb, 0x1501: 0x06f3, 0x1502: 0x0703, 0x1503: 0x1647, 0x1504: 0x0747, 0x1505: 0x0757,\n\t0x1506: 0x075b, 0x1507: 0x0763, 0x1508: 0x076b, 0x1509: 0x076f, 0x150a: 0x077b, 0x150b: 0x0773,\n\t0x150c: 0x05b3, 0x150d: 0x165b, 0x150e: 0x078f, 0x150f: 0x0793, 0x1510: 0x0797, 0x1511: 0x07b3,\n\t0x1512: 0x164c, 0x1513: 0x05b7, 0x1514: 0x079f, 0x1515: 0x07bf, 0x1516: 0x1656, 0x1517: 0x07cf,\n\t0x1518: 0x07d7, 0x1519: 0x0737, 0x151a: 0x07df, 0x151b: 0x07e3, 0x151c: 0x1831, 0x151d: 0x07ff,\n\t0x151e: 0x0807, 0x151f: 0x05bf, 0x1520: 0x081f, 0x1521: 0x0823, 0x1522: 0x082b, 0x1523: 0x082f,\n\t0x1524: 0x05c3, 0x1525: 0x0847, 0x1526: 0x084b, 0x1527: 0x0857, 0x1528: 0x0863, 0x1529: 0x0867,\n\t0x152a: 0x086b, 0x152b: 0x0873, 0x152c: 0x0893, 0x152d: 0x0897, 0x152e: 0x089f, 0x152f: 0x08af,\n\t0x1530: 0x08b7, 0x1531: 0x08bb, 0x1532: 0x08bb, 0x1533: 0x08bb, 0x1534: 0x166a, 0x1535: 0x0e93,\n\t0x1536: 0x08cf, 0x1537: 0x08d7, 0x1538: 0x166f, 0x1539: 0x08e3, 0x153a: 0x08eb, 0x153b: 0x08f3,\n\t0x153c: 0x091b, 0x153d: 0x0907, 0x153e: 0x0913, 0x153f: 0x0917,\n\t// Block 0x55, offset 0x1540\n\t0x1540: 0x091f, 0x1541: 0x0927, 0x1542: 0x092b, 0x1543: 0x0933, 0x1544: 0x093b, 0x1545: 0x093f,\n\t0x1546: 0x093f, 0x1547: 0x0947, 0x1548: 0x094f, 0x1549: 0x0953, 0x154a: 0x095f, 0x154b: 0x0983,\n\t0x154c: 0x0967, 0x154d: 0x0987, 0x154e: 0x096b, 0x154f: 0x0973, 0x1550: 0x080b, 0x1551: 0x09cf,\n\t0x1552: 0x0997, 0x1553: 0x099b, 0x1554: 0x099f, 0x1555: 0x0993, 0x1556: 0x09a7, 0x1557: 0x09a3,\n\t0x1558: 0x09bb, 0x1559: 0x1674, 0x155a: 0x09d7, 0x155b: 0x09db, 0x155c: 0x09e3, 0x155d: 0x09ef,\n\t0x155e: 0x09f7, 0x155f: 0x0a13, 0x1560: 0x1679, 0x1561: 0x167e, 0x1562: 0x0a1f, 0x1563: 0x0a23,\n\t0x1564: 0x0a27, 0x1565: 0x0a1b, 0x1566: 0x0a2f, 0x1567: 0x05c7, 0x1568: 0x05cb, 0x1569: 0x0a37,\n\t0x156a: 0x0a3f, 0x156b: 0x0a3f, 0x156c: 0x1683, 0x156d: 0x0a5b, 0x156e: 0x0a5f, 0x156f: 0x0a63,\n\t0x1570: 0x0a6b, 0x1571: 0x1688, 0x1572: 0x0a73, 0x1573: 0x0a77, 0x1574: 0x0b4f, 0x1575: 0x0a7f,\n\t0x1576: 0x05cf, 0x1577: 0x0a8b, 0x1578: 0x0a9b, 0x1579: 0x0aa7, 0x157a: 0x0aa3, 0x157b: 0x1692,\n\t0x157c: 0x0aaf, 0x157d: 0x1697, 0x157e: 0x0abb, 0x157f: 0x0ab7,\n\t// Block 0x56, offset 0x1580\n\t0x1580: 0x0abf, 0x1581: 0x0acf, 0x1582: 0x0ad3, 0x1583: 0x05d3, 0x1584: 0x0ae3, 0x1585: 0x0aeb,\n\t0x1586: 0x0aef, 0x1587: 0x0af3, 0x1588: 0x05d7, 0x1589: 0x169c, 0x158a: 0x05db, 0x158b: 0x0b0f,\n\t0x158c: 0x0b13, 0x158d: 0x0b17, 0x158e: 0x0b1f, 0x158f: 0x1863, 0x1590: 0x0b37, 0x1591: 0x16a6,\n\t0x1592: 0x16a6, 0x1593: 0x11d7, 0x1594: 0x0b47, 0x1595: 0x0b47, 0x1596: 0x05df, 0x1597: 0x16c9,\n\t0x1598: 0x179b, 0x1599: 0x0b57, 0x159a: 0x0b5f, 0x159b: 0x05e3, 0x159c: 0x0b73, 0x159d: 0x0b83,\n\t0x159e: 0x0b87, 0x159f: 0x0b8f, 0x15a0: 0x0b9f, 0x15a1: 0x05eb, 0x15a2: 0x05e7, 0x15a3: 0x0ba3,\n\t0x15a4: 0x16ab, 0x15a5: 0x0ba7, 0x15a6: 0x0bbb, 0x15a7: 0x0bbf, 0x15a8: 0x0bc3, 0x15a9: 0x0bbf,\n\t0x15aa: 0x0bcf, 0x15ab: 0x0bd3, 0x15ac: 0x0be3, 0x15ad: 0x0bdb, 0x15ae: 0x0bdf, 0x15af: 0x0be7,\n\t0x15b0: 0x0beb, 0x15b1: 0x0bef, 0x15b2: 0x0bfb, 0x15b3: 0x0bff, 0x15b4: 0x0c17, 0x15b5: 0x0c1f,\n\t0x15b6: 0x0c2f, 0x15b7: 0x0c43, 0x15b8: 0x16ba, 0x15b9: 0x0c3f, 0x15ba: 0x0c33, 0x15bb: 0x0c4b,\n\t0x15bc: 0x0c53, 0x15bd: 0x0c67, 0x15be: 0x16bf, 0x15bf: 0x0c6f,\n\t// Block 0x57, offset 0x15c0\n\t0x15c0: 0x0c63, 0x15c1: 0x0c5b, 0x15c2: 0x05ef, 0x15c3: 0x0c77, 0x15c4: 0x0c7f, 0x15c5: 0x0c87,\n\t0x15c6: 0x0c7b, 0x15c7: 0x05f3, 0x15c8: 0x0c97, 0x15c9: 0x0c9f, 0x15ca: 0x16c4, 0x15cb: 0x0ccb,\n\t0x15cc: 0x0cff, 0x15cd: 0x0cdb, 0x15ce: 0x05ff, 0x15cf: 0x0ce7, 0x15d0: 0x05fb, 0x15d1: 0x05f7,\n\t0x15d2: 0x07c3, 0x15d3: 0x07c7, 0x15d4: 0x0d03, 0x15d5: 0x0ceb, 0x15d6: 0x11ab, 0x15d7: 0x0663,\n\t0x15d8: 0x0d0f, 0x15d9: 0x0d13, 0x15da: 0x0d17, 0x15db: 0x0d2b, 0x15dc: 0x0d23, 0x15dd: 0x16dd,\n\t0x15de: 0x0603, 0x15df: 0x0d3f, 0x15e0: 0x0d33, 0x15e1: 0x0d4f, 0x15e2: 0x0d57, 0x15e3: 0x16e7,\n\t0x15e4: 0x0d5b, 0x15e5: 0x0d47, 0x15e6: 0x0d63, 0x15e7: 0x0607, 0x15e8: 0x0d67, 0x15e9: 0x0d6b,\n\t0x15ea: 0x0d6f, 0x15eb: 0x0d7b, 0x15ec: 0x16ec, 0x15ed: 0x0d83, 0x15ee: 0x060b, 0x15ef: 0x0d8f,\n\t0x15f0: 0x16f1, 0x15f1: 0x0d93, 0x15f2: 0x060f, 0x15f3: 0x0d9f, 0x15f4: 0x0dab, 0x15f5: 0x0db7,\n\t0x15f6: 0x0dbb, 0x15f7: 0x16f6, 0x15f8: 0x168d, 0x15f9: 0x16fb, 0x15fa: 0x0ddb, 0x15fb: 0x1700,\n\t0x15fc: 0x0de7, 0x15fd: 0x0def, 0x15fe: 0x0ddf, 0x15ff: 0x0dfb,\n\t// Block 0x58, offset 0x1600\n\t0x1600: 0x0e0b, 0x1601: 0x0e1b, 0x1602: 0x0e0f, 0x1603: 0x0e13, 0x1604: 0x0e1f, 0x1605: 0x0e23,\n\t0x1606: 0x1705, 0x1607: 0x0e07, 0x1608: 0x0e3b, 0x1609: 0x0e3f, 0x160a: 0x0613, 0x160b: 0x0e53,\n\t0x160c: 0x0e4f, 0x160d: 0x170a, 0x160e: 0x0e33, 0x160f: 0x0e6f, 0x1610: 0x170f, 0x1611: 0x1714,\n\t0x1612: 0x0e73, 0x1613: 0x0e87, 0x1614: 0x0e83, 0x1615: 0x0e7f, 0x1616: 0x0617, 0x1617: 0x0e8b,\n\t0x1618: 0x0e9b, 0x1619: 0x0e97, 0x161a: 0x0ea3, 0x161b: 0x1651, 0x161c: 0x0eb3, 0x161d: 0x1719,\n\t0x161e: 0x0ebf, 0x161f: 0x1723, 0x1620: 0x0ed3, 0x1621: 0x0edf, 0x1622: 0x0ef3, 0x1623: 0x1728,\n\t0x1624: 0x0f07, 0x1625: 0x0f0b, 0x1626: 0x172d, 0x1627: 0x1732, 0x1628: 0x0f27, 0x1629: 0x0f37,\n\t0x162a: 0x061b, 0x162b: 0x0f3b, 0x162c: 0x061f, 0x162d: 0x061f, 0x162e: 0x0f53, 0x162f: 0x0f57,\n\t0x1630: 0x0f5f, 0x1631: 0x0f63, 0x1632: 0x0f6f, 0x1633: 0x0623, 0x1634: 0x0f87, 0x1635: 0x1737,\n\t0x1636: 0x0fa3, 0x1637: 0x173c, 0x1638: 0x0faf, 0x1639: 0x16a1, 0x163a: 0x0fbf, 0x163b: 0x1741,\n\t0x163c: 0x1746, 0x163d: 0x174b, 0x163e: 0x0627, 0x163f: 0x062b,\n\t// Block 0x59, offset 0x1640\n\t0x1640: 0x0ff7, 0x1641: 0x1755, 0x1642: 0x1750, 0x1643: 0x175a, 0x1644: 0x175f, 0x1645: 0x0fff,\n\t0x1646: 0x1003, 0x1647: 0x1003, 0x1648: 0x100b, 0x1649: 0x0633, 0x164a: 0x100f, 0x164b: 0x0637,\n\t0x164c: 0x063b, 0x164d: 0x1769, 0x164e: 0x1023, 0x164f: 0x102b, 0x1650: 0x1037, 0x1651: 0x063f,\n\t0x1652: 0x176e, 0x1653: 0x105b, 0x1654: 0x1773, 0x1655: 0x1778, 0x1656: 0x107b, 0x1657: 0x1093,\n\t0x1658: 0x0643, 0x1659: 0x109b, 0x165a: 0x109f, 0x165b: 0x10a3, 0x165c: 0x177d, 0x165d: 0x1782,\n\t0x165e: 0x1782, 0x165f: 0x10bb, 0x1660: 0x0647, 0x1661: 0x1787, 0x1662: 0x10cf, 0x1663: 0x10d3,\n\t0x1664: 0x064b, 0x1665: 0x178c, 0x1666: 0x10ef, 0x1667: 0x064f, 0x1668: 0x10ff, 0x1669: 0x10f7,\n\t0x166a: 0x1107, 0x166b: 0x1796, 0x166c: 0x111f, 0x166d: 0x0653, 0x166e: 0x112b, 0x166f: 0x1133,\n\t0x1670: 0x1143, 0x1671: 0x0657, 0x1672: 0x17a0, 0x1673: 0x17a5, 0x1674: 0x065b, 0x1675: 0x17aa,\n\t0x1676: 0x115b, 0x1677: 0x17af, 0x1678: 0x1167, 0x1679: 0x1173, 0x167a: 0x117b, 0x167b: 0x17b4,\n\t0x167c: 0x17b9, 0x167d: 0x118f, 0x167e: 0x17be, 0x167f: 0x1197,\n\t// Block 0x5a, offset 0x1680\n\t0x1680: 0x16ce, 0x1681: 0x065f, 0x1682: 0x11af, 0x1683: 0x11b3, 0x1684: 0x0667, 0x1685: 0x11b7,\n\t0x1686: 0x0a33, 0x1687: 0x17c3, 0x1688: 0x17c8, 0x1689: 0x16d3, 0x168a: 0x16d8, 0x168b: 0x11d7,\n\t0x168c: 0x11db, 0x168d: 0x13f3, 0x168e: 0x066b, 0x168f: 0x1207, 0x1690: 0x1203, 0x1691: 0x120b,\n\t0x1692: 0x083f, 0x1693: 0x120f, 0x1694: 0x1213, 0x1695: 0x1217, 0x1696: 0x121f, 0x1697: 0x17cd,\n\t0x1698: 0x121b, 0x1699: 0x1223, 0x169a: 0x1237, 0x169b: 0x123b, 0x169c: 0x1227, 0x169d: 0x123f,\n\t0x169e: 0x1253, 0x169f: 0x1267, 0x16a0: 0x1233, 0x16a1: 0x1247, 0x16a2: 0x124b, 0x16a3: 0x124f,\n\t0x16a4: 0x17d2, 0x16a5: 0x17dc, 0x16a6: 0x17d7, 0x16a7: 0x066f, 0x16a8: 0x126f, 0x16a9: 0x1273,\n\t0x16aa: 0x127b, 0x16ab: 0x17f0, 0x16ac: 0x127f, 0x16ad: 0x17e1, 0x16ae: 0x0673, 0x16af: 0x0677,\n\t0x16b0: 0x17e6, 0x16b1: 0x17eb, 0x16b2: 0x067b, 0x16b3: 0x129f, 0x16b4: 0x12a3, 0x16b5: 0x12a7,\n\t0x16b6: 0x12ab, 0x16b7: 0x12b7, 0x16b8: 0x12b3, 0x16b9: 0x12bf, 0x16ba: 0x12bb, 0x16bb: 0x12cb,\n\t0x16bc: 0x12c3, 0x16bd: 0x12c7, 0x16be: 0x12cf, 0x16bf: 0x067f,\n\t// Block 0x5b, offset 0x16c0\n\t0x16c0: 0x12d7, 0x16c1: 0x12db, 0x16c2: 0x0683, 0x16c3: 0x12eb, 0x16c4: 0x12ef, 0x16c5: 0x17f5,\n\t0x16c6: 0x12fb, 0x16c7: 0x12ff, 0x16c8: 0x0687, 0x16c9: 0x130b, 0x16ca: 0x05bb, 0x16cb: 0x17fa,\n\t0x16cc: 0x17ff, 0x16cd: 0x068b, 0x16ce: 0x068f, 0x16cf: 0x1337, 0x16d0: 0x134f, 0x16d1: 0x136b,\n\t0x16d2: 0x137b, 0x16d3: 0x1804, 0x16d4: 0x138f, 0x16d5: 0x1393, 0x16d6: 0x13ab, 0x16d7: 0x13b7,\n\t0x16d8: 0x180e, 0x16d9: 0x1660, 0x16da: 0x13c3, 0x16db: 0x13bf, 0x16dc: 0x13cb, 0x16dd: 0x1665,\n\t0x16de: 0x13d7, 0x16df: 0x13e3, 0x16e0: 0x1813, 0x16e1: 0x1818, 0x16e2: 0x1423, 0x16e3: 0x142f,\n\t0x16e4: 0x1437, 0x16e5: 0x181d, 0x16e6: 0x143b, 0x16e7: 0x1467, 0x16e8: 0x1473, 0x16e9: 0x1477,\n\t0x16ea: 0x146f, 0x16eb: 0x1483, 0x16ec: 0x1487, 0x16ed: 0x1822, 0x16ee: 0x1493, 0x16ef: 0x0693,\n\t0x16f0: 0x149b, 0x16f1: 0x1827, 0x16f2: 0x0697, 0x16f3: 0x14d3, 0x16f4: 0x0ac3, 0x16f5: 0x14eb,\n\t0x16f6: 0x182c, 0x16f7: 0x1836, 0x16f8: 0x069b, 0x16f9: 0x069f, 0x16fa: 0x1513, 0x16fb: 0x183b,\n\t0x16fc: 0x06a3, 0x16fd: 0x1840, 0x16fe: 0x152b, 0x16ff: 0x152b,\n\t// Block 0x5c, offset 0x1700\n\t0x1700: 0x1533, 0x1701: 0x1845, 0x1702: 0x154b, 0x1703: 0x06a7, 0x1704: 0x155b, 0x1705: 0x1567,\n\t0x1706: 0x156f, 0x1707: 0x1577, 0x1708: 0x06ab, 0x1709: 0x184a, 0x170a: 0x158b, 0x170b: 0x15a7,\n\t0x170c: 0x15b3, 0x170d: 0x06af, 0x170e: 0x06b3, 0x170f: 0x15b7, 0x1710: 0x184f, 0x1711: 0x06b7,\n\t0x1712: 0x1854, 0x1713: 0x1859, 0x1714: 0x185e, 0x1715: 0x15db, 0x1716: 0x06bb, 0x1717: 0x15ef,\n\t0x1718: 0x15f7, 0x1719: 0x15fb, 0x171a: 0x1603, 0x171b: 0x160b, 0x171c: 0x1613, 0x171d: 0x1868,\n}\n\n// nfkcIndex: 22 blocks, 1408 entries, 1408 bytes\n// Block 0 is the zero block.\nvar nfkcIndex = [1408]uint8{\n\t// Block 0x0, offset 0x0\n\t// Block 0x1, offset 0x40\n\t// Block 0x2, offset 0x80\n\t// Block 0x3, offset 0xc0\n\t0xc2: 0x5b, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x5c, 0xc7: 0x04,\n\t0xc8: 0x05, 0xca: 0x5d, 0xcb: 0x5e, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x09,\n\t0xd0: 0x0a, 0xd1: 0x5f, 0xd2: 0x60, 0xd3: 0x0b, 0xd6: 0x0c, 0xd7: 0x61,\n\t0xd8: 0x62, 0xd9: 0x0d, 0xdb: 0x63, 0xdc: 0x64, 0xdd: 0x65, 0xdf: 0x66,\n\t0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05,\n\t0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a,\n\t0xf0: 0x13,\n\t// Block 0x4, offset 0x100\n\t0x120: 0x67, 0x121: 0x68, 0x123: 0x69, 0x124: 0x6a, 0x125: 0x6b, 0x126: 0x6c, 0x127: 0x6d,\n\t0x128: 0x6e, 0x129: 0x6f, 0x12a: 0x70, 0x12b: 0x71, 0x12c: 0x6c, 0x12d: 0x72, 0x12e: 0x73, 0x12f: 0x74,\n\t0x131: 0x75, 0x132: 0x76, 0x133: 0x77, 0x134: 0x78, 0x135: 0x79, 0x137: 0x7a,\n\t0x138: 0x7b, 0x139: 0x7c, 0x13a: 0x7d, 0x13b: 0x7e, 0x13c: 0x7f, 0x13d: 0x80, 0x13e: 0x81, 0x13f: 0x82,\n\t// Block 0x5, offset 0x140\n\t0x140: 0x83, 0x142: 0x84, 0x143: 0x85, 0x144: 0x86, 0x145: 0x87, 0x146: 0x88, 0x147: 0x89,\n\t0x14d: 0x8a,\n\t0x15c: 0x8b, 0x15f: 0x8c,\n\t0x162: 0x8d, 0x164: 0x8e,\n\t0x168: 0x8f, 0x169: 0x90, 0x16a: 0x91, 0x16c: 0x0e, 0x16d: 0x92, 0x16e: 0x93, 0x16f: 0x94,\n\t0x170: 0x95, 0x173: 0x96, 0x174: 0x97, 0x175: 0x0f, 0x176: 0x10, 0x177: 0x11,\n\t0x178: 0x12, 0x179: 0x13, 0x17a: 0x14, 0x17b: 0x15, 0x17c: 0x16, 0x17d: 0x17, 0x17e: 0x18, 0x17f: 0x19,\n\t// Block 0x6, offset 0x180\n\t0x180: 0x98, 0x181: 0x99, 0x182: 0x9a, 0x183: 0x9b, 0x184: 0x1a, 0x185: 0x1b, 0x186: 0x9c, 0x187: 0x9d,\n\t0x188: 0x9e, 0x189: 0x1c, 0x18a: 0x1d, 0x18b: 0x9f, 0x18c: 0xa0,\n\t0x191: 0x1e, 0x192: 0x1f, 0x193: 0xa1,\n\t0x1a8: 0xa2, 0x1a9: 0xa3, 0x1ab: 0xa4,\n\t0x1b1: 0xa5, 0x1b3: 0xa6, 0x1b5: 0xa7, 0x1b7: 0xa8,\n\t0x1ba: 0xa9, 0x1bb: 0xaa, 0x1bc: 0x20, 0x1bd: 0x21, 0x1be: 0x22, 0x1bf: 0xab,\n\t// Block 0x7, offset 0x1c0\n\t0x1c0: 0xac, 0x1c1: 0x23, 0x1c2: 0x24, 0x1c3: 0x25, 0x1c4: 0xad, 0x1c5: 0x26, 0x1c6: 0x27,\n\t0x1c8: 0x28, 0x1c9: 0x29, 0x1ca: 0x2a, 0x1cb: 0x2b, 0x1cc: 0x2c, 0x1cd: 0x2d, 0x1ce: 0x2e, 0x1cf: 0x2f,\n\t// Block 0x8, offset 0x200\n\t0x219: 0xae, 0x21a: 0xaf, 0x21b: 0xb0, 0x21d: 0xb1, 0x21f: 0xb2,\n\t0x220: 0xb3, 0x223: 0xb4, 0x224: 0xb5, 0x225: 0xb6, 0x226: 0xb7, 0x227: 0xb8,\n\t0x22a: 0xb9, 0x22b: 0xba, 0x22d: 0xbb, 0x22f: 0xbc,\n\t0x230: 0xbd, 0x231: 0xbe, 0x232: 0xbf, 0x233: 0xc0, 0x234: 0xc1, 0x235: 0xc2, 0x236: 0xc3, 0x237: 0xbd,\n\t0x238: 0xbe, 0x239: 0xbf, 0x23a: 0xc0, 0x23b: 0xc1, 0x23c: 0xc2, 0x23d: 0xc3, 0x23e: 0xbd, 0x23f: 0xbe,\n\t// Block 0x9, offset 0x240\n\t0x240: 0xbf, 0x241: 0xc0, 0x242: 0xc1, 0x243: 0xc2, 0x244: 0xc3, 0x245: 0xbd, 0x246: 0xbe, 0x247: 0xbf,\n\t0x248: 0xc0, 0x249: 0xc1, 0x24a: 0xc2, 0x24b: 0xc3, 0x24c: 0xbd, 0x24d: 0xbe, 0x24e: 0xbf, 0x24f: 0xc0,\n\t0x250: 0xc1, 0x251: 0xc2, 0x252: 0xc3, 0x253: 0xbd, 0x254: 0xbe, 0x255: 0xbf, 0x256: 0xc0, 0x257: 0xc1,\n\t0x258: 0xc2, 0x259: 0xc3, 0x25a: 0xbd, 0x25b: 0xbe, 0x25c: 0xbf, 0x25d: 0xc0, 0x25e: 0xc1, 0x25f: 0xc2,\n\t0x260: 0xc3, 0x261: 0xbd, 0x262: 0xbe, 0x263: 0xbf, 0x264: 0xc0, 0x265: 0xc1, 0x266: 0xc2, 0x267: 0xc3,\n\t0x268: 0xbd, 0x269: 0xbe, 0x26a: 0xbf, 0x26b: 0xc0, 0x26c: 0xc1, 0x26d: 0xc2, 0x26e: 0xc3, 0x26f: 0xbd,\n\t0x270: 0xbe, 0x271: 0xbf, 0x272: 0xc0, 0x273: 0xc1, 0x274: 0xc2, 0x275: 0xc3, 0x276: 0xbd, 0x277: 0xbe,\n\t0x278: 0xbf, 0x279: 0xc0, 0x27a: 0xc1, 0x27b: 0xc2, 0x27c: 0xc3, 0x27d: 0xbd, 0x27e: 0xbe, 0x27f: 0xbf,\n\t// Block 0xa, offset 0x280\n\t0x280: 0xc0, 0x281: 0xc1, 0x282: 0xc2, 0x283: 0xc3, 0x284: 0xbd, 0x285: 0xbe, 0x286: 0xbf, 0x287: 0xc0,\n\t0x288: 0xc1, 0x289: 0xc2, 0x28a: 0xc3, 0x28b: 0xbd, 0x28c: 0xbe, 0x28d: 0xbf, 0x28e: 0xc0, 0x28f: 0xc1,\n\t0x290: 0xc2, 0x291: 0xc3, 0x292: 0xbd, 0x293: 0xbe, 0x294: 0xbf, 0x295: 0xc0, 0x296: 0xc1, 0x297: 0xc2,\n\t0x298: 0xc3, 0x299: 0xbd, 0x29a: 0xbe, 0x29b: 0xbf, 0x29c: 0xc0, 0x29d: 0xc1, 0x29e: 0xc2, 0x29f: 0xc3,\n\t0x2a0: 0xbd, 0x2a1: 0xbe, 0x2a2: 0xbf, 0x2a3: 0xc0, 0x2a4: 0xc1, 0x2a5: 0xc2, 0x2a6: 0xc3, 0x2a7: 0xbd,\n\t0x2a8: 0xbe, 0x2a9: 0xbf, 0x2aa: 0xc0, 0x2ab: 0xc1, 0x2ac: 0xc2, 0x2ad: 0xc3, 0x2ae: 0xbd, 0x2af: 0xbe,\n\t0x2b0: 0xbf, 0x2b1: 0xc0, 0x2b2: 0xc1, 0x2b3: 0xc2, 0x2b4: 0xc3, 0x2b5: 0xbd, 0x2b6: 0xbe, 0x2b7: 0xbf,\n\t0x2b8: 0xc0, 0x2b9: 0xc1, 0x2ba: 0xc2, 0x2bb: 0xc3, 0x2bc: 0xbd, 0x2bd: 0xbe, 0x2be: 0xbf, 0x2bf: 0xc0,\n\t// Block 0xb, offset 0x2c0\n\t0x2c0: 0xc1, 0x2c1: 0xc2, 0x2c2: 0xc3, 0x2c3: 0xbd, 0x2c4: 0xbe, 0x2c5: 0xbf, 0x2c6: 0xc0, 0x2c7: 0xc1,\n\t0x2c8: 0xc2, 0x2c9: 0xc3, 0x2ca: 0xbd, 0x2cb: 0xbe, 0x2cc: 0xbf, 0x2cd: 0xc0, 0x2ce: 0xc1, 0x2cf: 0xc2,\n\t0x2d0: 0xc3, 0x2d1: 0xbd, 0x2d2: 0xbe, 0x2d3: 0xbf, 0x2d4: 0xc0, 0x2d5: 0xc1, 0x2d6: 0xc2, 0x2d7: 0xc3,\n\t0x2d8: 0xbd, 0x2d9: 0xbe, 0x2da: 0xbf, 0x2db: 0xc0, 0x2dc: 0xc1, 0x2dd: 0xc2, 0x2de: 0xc4,\n\t// Block 0xc, offset 0x300\n\t0x324: 0x30, 0x325: 0x31, 0x326: 0x32, 0x327: 0x33,\n\t0x328: 0x34, 0x329: 0x35, 0x32a: 0x36, 0x32b: 0x37, 0x32c: 0x38, 0x32d: 0x39, 0x32e: 0x3a, 0x32f: 0x3b,\n\t0x330: 0x3c, 0x331: 0x3d, 0x332: 0x3e, 0x333: 0x3f, 0x334: 0x40, 0x335: 0x41, 0x336: 0x42, 0x337: 0x43,\n\t0x338: 0x44, 0x339: 0x45, 0x33a: 0x46, 0x33b: 0x47, 0x33c: 0xc5, 0x33d: 0x48, 0x33e: 0x49, 0x33f: 0x4a,\n\t// Block 0xd, offset 0x340\n\t0x347: 0xc6,\n\t0x34b: 0xc7, 0x34d: 0xc8,\n\t0x368: 0xc9, 0x36b: 0xca,\n\t// Block 0xe, offset 0x380\n\t0x381: 0xcb, 0x382: 0xcc, 0x384: 0xcd, 0x385: 0xb7, 0x387: 0xce,\n\t0x388: 0xcf, 0x38b: 0xd0, 0x38c: 0x6c, 0x38d: 0xd1,\n\t0x391: 0xd2, 0x392: 0xd3, 0x393: 0xd4, 0x396: 0xd5, 0x397: 0xd6,\n\t0x398: 0xd7, 0x39a: 0xd8, 0x39c: 0xd9,\n\t0x3a8: 0xda, 0x3a9: 0xdb, 0x3aa: 0xdc,\n\t0x3b0: 0xd7, 0x3b5: 0xdd,\n\t// Block 0xf, offset 0x3c0\n\t0x3eb: 0xde, 0x3ec: 0xdf,\n\t// Block 0x10, offset 0x400\n\t0x432: 0xe0,\n\t// Block 0x11, offset 0x440\n\t0x445: 0xe1, 0x446: 0xe2, 0x447: 0xe3,\n\t0x449: 0xe4,\n\t0x450: 0xe5, 0x451: 0xe6, 0x452: 0xe7, 0x453: 0xe8, 0x454: 0xe9, 0x455: 0xea, 0x456: 0xeb, 0x457: 0xec,\n\t0x458: 0xed, 0x459: 0xee, 0x45a: 0x4b, 0x45b: 0xef, 0x45c: 0xf0, 0x45d: 0xf1, 0x45e: 0xf2, 0x45f: 0x4c,\n\t// Block 0x12, offset 0x480\n\t0x480: 0xf3,\n\t0x4a3: 0xf4, 0x4a5: 0xf5,\n\t0x4b8: 0x4d, 0x4b9: 0x4e, 0x4ba: 0x4f,\n\t// Block 0x13, offset 0x4c0\n\t0x4c4: 0x50, 0x4c5: 0xf6, 0x4c6: 0xf7,\n\t0x4c8: 0x51, 0x4c9: 0xf8,\n\t// Block 0x14, offset 0x500\n\t0x520: 0x52, 0x521: 0x53, 0x522: 0x54, 0x523: 0x55, 0x524: 0x56, 0x525: 0x57, 0x526: 0x58, 0x527: 0x59,\n\t0x528: 0x5a,\n\t// Block 0x15, offset 0x540\n\t0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d,\n\t0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11,\n\t0x56f: 0x12,\n}\n\n// nfkcSparseOffset: 158 entries, 316 bytes\nvar nfkcSparseOffset = []uint16{0x0, 0xe, 0x12, 0x1b, 0x25, 0x35, 0x37, 0x3c, 0x47, 0x56, 0x63, 0x6b, 0x6f, 0x74, 0x76, 0x87, 0x8f, 0x96, 0x99, 0xa0, 0xa4, 0xa8, 0xaa, 0xac, 0xb5, 0xb9, 0xc0, 0xc5, 0xc8, 0xd2, 0xd5, 0xdc, 0xe4, 0xe8, 0xea, 0xed, 0xf1, 0xf7, 0x108, 0x114, 0x116, 0x11c, 0x11e, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12a, 0x12d, 0x130, 0x132, 0x135, 0x138, 0x13c, 0x141, 0x14a, 0x14c, 0x14f, 0x151, 0x15c, 0x167, 0x175, 0x183, 0x193, 0x1a1, 0x1a8, 0x1ae, 0x1bd, 0x1c1, 0x1c3, 0x1c7, 0x1c9, 0x1cc, 0x1ce, 0x1d1, 0x1d3, 0x1d6, 0x1d8, 0x1da, 0x1dc, 0x1e8, 0x1f2, 0x1fc, 0x1ff, 0x203, 0x205, 0x207, 0x209, 0x20b, 0x20e, 0x210, 0x212, 0x214, 0x216, 0x21c, 0x21f, 0x223, 0x225, 0x22c, 0x232, 0x238, 0x240, 0x246, 0x24c, 0x252, 0x256, 0x258, 0x25a, 0x25c, 0x25e, 0x264, 0x267, 0x26a, 0x272, 0x279, 0x27c, 0x27f, 0x281, 0x289, 0x28c, 0x293, 0x296, 0x29c, 0x29e, 0x2a0, 0x2a3, 0x2a5, 0x2a7, 0x2a9, 0x2ab, 0x2ae, 0x2b0, 0x2b2, 0x2b4, 0x2c1, 0x2cb, 0x2cd, 0x2cf, 0x2d3, 0x2d8, 0x2e4, 0x2e9, 0x2f2, 0x2f8, 0x2fd, 0x301, 0x306, 0x30a, 0x31a, 0x328, 0x336, 0x344, 0x34a, 0x34c, 0x34f, 0x359, 0x35b}\n\n// nfkcSparseValues: 869 entries, 3476 bytes\nvar nfkcSparseValues = [869]valueRange{\n\t// Block 0x0, offset 0x0\n\t{value: 0x0002, lo: 0x0d},\n\t{value: 0x0001, lo: 0xa0, hi: 0xa0},\n\t{value: 0x4278, lo: 0xa8, hi: 0xa8},\n\t{value: 0x0083, lo: 0xaa, hi: 0xaa},\n\t{value: 0x4264, lo: 0xaf, hi: 0xaf},\n\t{value: 0x0025, lo: 0xb2, hi: 0xb3},\n\t{value: 0x425a, lo: 0xb4, hi: 0xb4},\n\t{value: 0x01dc, lo: 0xb5, hi: 0xb5},\n\t{value: 0x4291, lo: 0xb8, hi: 0xb8},\n\t{value: 0x0023, lo: 0xb9, hi: 0xb9},\n\t{value: 0x009f, lo: 0xba, hi: 0xba},\n\t{value: 0x221c, lo: 0xbc, hi: 0xbc},\n\t{value: 0x2210, lo: 0xbd, hi: 0xbd},\n\t{value: 0x22b2, lo: 0xbe, hi: 0xbe},\n\t// Block 0x1, offset 0xe\n\t{value: 0x0091, lo: 0x03},\n\t{value: 0x46e2, lo: 0xa0, hi: 0xa1},\n\t{value: 0x4714, lo: 0xaf, hi: 0xb0},\n\t{value: 0xa000, lo: 0xb7, hi: 0xb7},\n\t// Block 0x2, offset 0x12\n\t{value: 0x0003, lo: 0x08},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0x0091, lo: 0xb0, hi: 0xb0},\n\t{value: 0x0119, lo: 0xb1, hi: 0xb1},\n\t{value: 0x0095, lo: 0xb2, hi: 0xb2},\n\t{value: 0x00a5, lo: 0xb3, hi: 0xb3},\n\t{value: 0x0143, lo: 0xb4, hi: 0xb6},\n\t{value: 0x00af, lo: 0xb7, hi: 0xb7},\n\t{value: 0x00b3, lo: 0xb8, hi: 0xb8},\n\t// Block 0x3, offset 0x1b\n\t{value: 0x000a, lo: 0x09},\n\t{value: 0x426e, lo: 0x98, hi: 0x98},\n\t{value: 0x4273, lo: 0x99, hi: 0x9a},\n\t{value: 0x4296, lo: 0x9b, hi: 0x9b},\n\t{value: 0x425f, lo: 0x9c, hi: 0x9c},\n\t{value: 0x4282, lo: 0x9d, hi: 0x9d},\n\t{value: 0x0113, lo: 0xa0, hi: 0xa0},\n\t{value: 0x0099, lo: 0xa1, hi: 0xa1},\n\t{value: 0x00a7, lo: 0xa2, hi: 0xa3},\n\t{value: 0x0167, lo: 0xa4, hi: 0xa4},\n\t// Block 0x4, offset 0x25\n\t{value: 0x0000, lo: 0x0f},\n\t{value: 0xa000, lo: 0x83, hi: 0x83},\n\t{value: 0xa000, lo: 0x87, hi: 0x87},\n\t{value: 0xa000, lo: 0x8b, hi: 0x8b},\n\t{value: 0xa000, lo: 0x8d, hi: 0x8d},\n\t{value: 0x37a5, lo: 0x90, hi: 0x90},\n\t{value: 0x37b1, lo: 0x91, hi: 0x91},\n\t{value: 0x379f, lo: 0x93, hi: 0x93},\n\t{value: 0xa000, lo: 0x96, hi: 0x96},\n\t{value: 0x3817, lo: 0x97, hi: 0x97},\n\t{value: 0x37e1, lo: 0x9c, hi: 0x9c},\n\t{value: 0x37c9, lo: 0x9d, hi: 0x9d},\n\t{value: 0x37f3, lo: 0x9e, hi: 0x9e},\n\t{value: 0xa000, lo: 0xb4, hi: 0xb5},\n\t{value: 0x381d, lo: 0xb6, hi: 0xb6},\n\t{value: 0x3823, lo: 0xb7, hi: 0xb7},\n\t// Block 0x5, offset 0x35\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0x83, hi: 0x87},\n\t// Block 0x6, offset 0x37\n\t{value: 0x0001, lo: 0x04},\n\t{value: 0x8113, lo: 0x81, hi: 0x82},\n\t{value: 0x8132, lo: 0x84, hi: 0x84},\n\t{value: 0x812d, lo: 0x85, hi: 0x85},\n\t{value: 0x810d, lo: 0x87, hi: 0x87},\n\t// Block 0x7, offset 0x3c\n\t{value: 0x0000, lo: 0x0a},\n\t{value: 0x8132, lo: 0x90, hi: 0x97},\n\t{value: 0x8119, lo: 0x98, hi: 0x98},\n\t{value: 0x811a, lo: 0x99, hi: 0x99},\n\t{value: 0x811b, lo: 0x9a, hi: 0x9a},\n\t{value: 0x3841, lo: 0xa2, hi: 0xa2},\n\t{value: 0x3847, lo: 0xa3, hi: 0xa3},\n\t{value: 0x3853, lo: 0xa4, hi: 0xa4},\n\t{value: 0x384d, lo: 0xa5, hi: 0xa5},\n\t{value: 0x3859, lo: 0xa6, hi: 0xa6},\n\t{value: 0xa000, lo: 0xa7, hi: 0xa7},\n\t// Block 0x8, offset 0x47\n\t{value: 0x0000, lo: 0x0e},\n\t{value: 0x386b, lo: 0x80, hi: 0x80},\n\t{value: 0xa000, lo: 0x81, hi: 0x81},\n\t{value: 0x385f, lo: 0x82, hi: 0x82},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0x3865, lo: 0x93, hi: 0x93},\n\t{value: 0xa000, lo: 0x95, hi: 0x95},\n\t{value: 0x8132, lo: 0x96, hi: 0x9c},\n\t{value: 0x8132, lo: 0x9f, hi: 0xa2},\n\t{value: 0x812d, lo: 0xa3, hi: 0xa3},\n\t{value: 0x8132, lo: 0xa4, hi: 0xa4},\n\t{value: 0x8132, lo: 0xa7, hi: 0xa8},\n\t{value: 0x812d, lo: 0xaa, hi: 0xaa},\n\t{value: 0x8132, lo: 0xab, hi: 0xac},\n\t{value: 0x812d, lo: 0xad, hi: 0xad},\n\t// Block 0x9, offset 0x56\n\t{value: 0x0000, lo: 0x0c},\n\t{value: 0x811f, lo: 0x91, hi: 0x91},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb0},\n\t{value: 0x812d, lo: 0xb1, hi: 0xb1},\n\t{value: 0x8132, lo: 0xb2, hi: 0xb3},\n\t{value: 0x812d, lo: 0xb4, hi: 0xb4},\n\t{value: 0x8132, lo: 0xb5, hi: 0xb6},\n\t{value: 0x812d, lo: 0xb7, hi: 0xb9},\n\t{value: 0x8132, lo: 0xba, hi: 0xba},\n\t{value: 0x812d, lo: 0xbb, hi: 0xbc},\n\t{value: 0x8132, lo: 0xbd, hi: 0xbd},\n\t{value: 0x812d, lo: 0xbe, hi: 0xbe},\n\t{value: 0x8132, lo: 0xbf, hi: 0xbf},\n\t// Block 0xa, offset 0x63\n\t{value: 0x0005, lo: 0x07},\n\t{value: 0x8132, lo: 0x80, hi: 0x80},\n\t{value: 0x8132, lo: 0x81, hi: 0x81},\n\t{value: 0x812d, lo: 0x82, hi: 0x83},\n\t{value: 0x812d, lo: 0x84, hi: 0x85},\n\t{value: 0x812d, lo: 0x86, hi: 0x87},\n\t{value: 0x812d, lo: 0x88, hi: 0x89},\n\t{value: 0x8132, lo: 0x8a, hi: 0x8a},\n\t// Block 0xb, offset 0x6b\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x8132, lo: 0xab, hi: 0xb1},\n\t{value: 0x812d, lo: 0xb2, hi: 0xb2},\n\t{value: 0x8132, lo: 0xb3, hi: 0xb3},\n\t// Block 0xc, offset 0x6f\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x8132, lo: 0x96, hi: 0x99},\n\t{value: 0x8132, lo: 0x9b, hi: 0xa3},\n\t{value: 0x8132, lo: 0xa5, hi: 0xa7},\n\t{value: 0x8132, lo: 0xa9, hi: 0xad},\n\t// Block 0xd, offset 0x74\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0x99, hi: 0x9b},\n\t// Block 0xe, offset 0x76\n\t{value: 0x0000, lo: 0x10},\n\t{value: 0x8132, lo: 0x94, hi: 0xa1},\n\t{value: 0x812d, lo: 0xa3, hi: 0xa3},\n\t{value: 0x8132, lo: 0xa4, hi: 0xa5},\n\t{value: 0x812d, lo: 0xa6, hi: 0xa6},\n\t{value: 0x8132, lo: 0xa7, hi: 0xa8},\n\t{value: 0x812d, lo: 0xa9, hi: 0xa9},\n\t{value: 0x8132, lo: 0xaa, hi: 0xac},\n\t{value: 0x812d, lo: 0xad, hi: 0xaf},\n\t{value: 0x8116, lo: 0xb0, hi: 0xb0},\n\t{value: 0x8117, lo: 0xb1, hi: 0xb1},\n\t{value: 0x8118, lo: 0xb2, hi: 0xb2},\n\t{value: 0x8132, lo: 0xb3, hi: 0xb5},\n\t{value: 0x812d, lo: 0xb6, hi: 0xb6},\n\t{value: 0x8132, lo: 0xb7, hi: 0xb8},\n\t{value: 0x812d, lo: 0xb9, hi: 0xba},\n\t{value: 0x8132, lo: 0xbb, hi: 0xbf},\n\t// Block 0xf, offset 0x87\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0xa000, lo: 0xa8, hi: 0xa8},\n\t{value: 0x3ed8, lo: 0xa9, hi: 0xa9},\n\t{value: 0xa000, lo: 0xb0, hi: 0xb0},\n\t{value: 0x3ee0, lo: 0xb1, hi: 0xb1},\n\t{value: 0xa000, lo: 0xb3, hi: 0xb3},\n\t{value: 0x3ee8, lo: 0xb4, hi: 0xb4},\n\t{value: 0x9902, lo: 0xbc, hi: 0xbc},\n\t// Block 0x10, offset 0x8f\n\t{value: 0x0008, lo: 0x06},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x8132, lo: 0x91, hi: 0x91},\n\t{value: 0x812d, lo: 0x92, hi: 0x92},\n\t{value: 0x8132, lo: 0x93, hi: 0x93},\n\t{value: 0x8132, lo: 0x94, hi: 0x94},\n\t{value: 0x451c, lo: 0x98, hi: 0x9f},\n\t// Block 0x11, offset 0x96\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8102, lo: 0xbc, hi: 0xbc},\n\t{value: 0x9900, lo: 0xbe, hi: 0xbe},\n\t// Block 0x12, offset 0x99\n\t{value: 0x0008, lo: 0x06},\n\t{value: 0xa000, lo: 0x87, hi: 0x87},\n\t{value: 0x2c9e, lo: 0x8b, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x97, hi: 0x97},\n\t{value: 0x455c, lo: 0x9c, hi: 0x9d},\n\t{value: 0x456c, lo: 0x9f, hi: 0x9f},\n\t// Block 0x13, offset 0xa0\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x4594, lo: 0xb3, hi: 0xb3},\n\t{value: 0x459c, lo: 0xb6, hi: 0xb6},\n\t{value: 0x8102, lo: 0xbc, hi: 0xbc},\n\t// Block 0x14, offset 0xa4\n\t{value: 0x0008, lo: 0x03},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x4574, lo: 0x99, hi: 0x9b},\n\t{value: 0x458c, lo: 0x9e, hi: 0x9e},\n\t// Block 0x15, offset 0xa8\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8102, lo: 0xbc, hi: 0xbc},\n\t// Block 0x16, offset 0xaa\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t// Block 0x17, offset 0xac\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0xa000, lo: 0x87, hi: 0x87},\n\t{value: 0x2cb6, lo: 0x88, hi: 0x88},\n\t{value: 0x2cae, lo: 0x8b, hi: 0x8b},\n\t{value: 0x2cbe, lo: 0x8c, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x96, hi: 0x97},\n\t{value: 0x45a4, lo: 0x9c, hi: 0x9c},\n\t{value: 0x45ac, lo: 0x9d, hi: 0x9d},\n\t// Block 0x18, offset 0xb5\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0x2cc6, lo: 0x94, hi: 0x94},\n\t{value: 0x9900, lo: 0xbe, hi: 0xbe},\n\t// Block 0x19, offset 0xb9\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0xa000, lo: 0x86, hi: 0x87},\n\t{value: 0x2cce, lo: 0x8a, hi: 0x8a},\n\t{value: 0x2cde, lo: 0x8b, hi: 0x8b},\n\t{value: 0x2cd6, lo: 0x8c, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x97, hi: 0x97},\n\t// Block 0x1a, offset 0xc0\n\t{value: 0x1801, lo: 0x04},\n\t{value: 0xa000, lo: 0x86, hi: 0x86},\n\t{value: 0x3ef0, lo: 0x88, hi: 0x88},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x8120, lo: 0x95, hi: 0x96},\n\t// Block 0x1b, offset 0xc5\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8102, lo: 0xbc, hi: 0xbc},\n\t{value: 0xa000, lo: 0xbf, hi: 0xbf},\n\t// Block 0x1c, offset 0xc8\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x2ce6, lo: 0x80, hi: 0x80},\n\t{value: 0x9900, lo: 0x82, hi: 0x82},\n\t{value: 0xa000, lo: 0x86, hi: 0x86},\n\t{value: 0x2cee, lo: 0x87, hi: 0x87},\n\t{value: 0x2cf6, lo: 0x88, hi: 0x88},\n\t{value: 0x2f50, lo: 0x8a, hi: 0x8a},\n\t{value: 0x2dd8, lo: 0x8b, hi: 0x8b},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x95, hi: 0x96},\n\t// Block 0x1d, offset 0xd2\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0xbb, hi: 0xbc},\n\t{value: 0x9900, lo: 0xbe, hi: 0xbe},\n\t// Block 0x1e, offset 0xd5\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0xa000, lo: 0x86, hi: 0x87},\n\t{value: 0x2cfe, lo: 0x8a, hi: 0x8a},\n\t{value: 0x2d0e, lo: 0x8b, hi: 0x8b},\n\t{value: 0x2d06, lo: 0x8c, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x97, hi: 0x97},\n\t// Block 0x1f, offset 0xdc\n\t{value: 0x6bea, lo: 0x07},\n\t{value: 0x9904, lo: 0x8a, hi: 0x8a},\n\t{value: 0x9900, lo: 0x8f, hi: 0x8f},\n\t{value: 0xa000, lo: 0x99, hi: 0x99},\n\t{value: 0x3ef8, lo: 0x9a, hi: 0x9a},\n\t{value: 0x2f58, lo: 0x9c, hi: 0x9c},\n\t{value: 0x2de3, lo: 0x9d, hi: 0x9d},\n\t{value: 0x2d16, lo: 0x9e, hi: 0x9f},\n\t// Block 0x20, offset 0xe4\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x2621, lo: 0xb3, hi: 0xb3},\n\t{value: 0x8122, lo: 0xb8, hi: 0xb9},\n\t{value: 0x8104, lo: 0xba, hi: 0xba},\n\t// Block 0x21, offset 0xe8\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8123, lo: 0x88, hi: 0x8b},\n\t// Block 0x22, offset 0xea\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x2636, lo: 0xb3, hi: 0xb3},\n\t{value: 0x8124, lo: 0xb8, hi: 0xb9},\n\t// Block 0x23, offset 0xed\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x8125, lo: 0x88, hi: 0x8b},\n\t{value: 0x2628, lo: 0x9c, hi: 0x9c},\n\t{value: 0x262f, lo: 0x9d, hi: 0x9d},\n\t// Block 0x24, offset 0xf1\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x030b, lo: 0x8c, hi: 0x8c},\n\t{value: 0x812d, lo: 0x98, hi: 0x99},\n\t{value: 0x812d, lo: 0xb5, hi: 0xb5},\n\t{value: 0x812d, lo: 0xb7, hi: 0xb7},\n\t{value: 0x812b, lo: 0xb9, hi: 0xb9},\n\t// Block 0x25, offset 0xf7\n\t{value: 0x0000, lo: 0x10},\n\t{value: 0x2644, lo: 0x83, hi: 0x83},\n\t{value: 0x264b, lo: 0x8d, hi: 0x8d},\n\t{value: 0x2652, lo: 0x92, hi: 0x92},\n\t{value: 0x2659, lo: 0x97, hi: 0x97},\n\t{value: 0x2660, lo: 0x9c, hi: 0x9c},\n\t{value: 0x263d, lo: 0xa9, hi: 0xa9},\n\t{value: 0x8126, lo: 0xb1, hi: 0xb1},\n\t{value: 0x8127, lo: 0xb2, hi: 0xb2},\n\t{value: 0x4a84, lo: 0xb3, hi: 0xb3},\n\t{value: 0x8128, lo: 0xb4, hi: 0xb4},\n\t{value: 0x4a8d, lo: 0xb5, hi: 0xb5},\n\t{value: 0x45b4, lo: 0xb6, hi: 0xb6},\n\t{value: 0x45f4, lo: 0xb7, hi: 0xb7},\n\t{value: 0x45bc, lo: 0xb8, hi: 0xb8},\n\t{value: 0x45ff, lo: 0xb9, hi: 0xb9},\n\t{value: 0x8127, lo: 0xba, hi: 0xbd},\n\t// Block 0x26, offset 0x108\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x8127, lo: 0x80, hi: 0x80},\n\t{value: 0x4a96, lo: 0x81, hi: 0x81},\n\t{value: 0x8132, lo: 0x82, hi: 0x83},\n\t{value: 0x8104, lo: 0x84, hi: 0x84},\n\t{value: 0x8132, lo: 0x86, hi: 0x87},\n\t{value: 0x266e, lo: 0x93, hi: 0x93},\n\t{value: 0x2675, lo: 0x9d, hi: 0x9d},\n\t{value: 0x267c, lo: 0xa2, hi: 0xa2},\n\t{value: 0x2683, lo: 0xa7, hi: 0xa7},\n\t{value: 0x268a, lo: 0xac, hi: 0xac},\n\t{value: 0x2667, lo: 0xb9, hi: 0xb9},\n\t// Block 0x27, offset 0x114\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0x86, hi: 0x86},\n\t// Block 0x28, offset 0x116\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xa000, lo: 0xa5, hi: 0xa5},\n\t{value: 0x2d1e, lo: 0xa6, hi: 0xa6},\n\t{value: 0x9900, lo: 0xae, hi: 0xae},\n\t{value: 0x8102, lo: 0xb7, hi: 0xb7},\n\t{value: 0x8104, lo: 0xb9, hi: 0xba},\n\t// Block 0x29, offset 0x11c\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0x8d, hi: 0x8d},\n\t// Block 0x2a, offset 0x11e\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x030f, lo: 0xbc, hi: 0xbc},\n\t// Block 0x2b, offset 0x120\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0xa000, lo: 0x80, hi: 0x92},\n\t// Block 0x2c, offset 0x122\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0xb900, lo: 0xa1, hi: 0xb5},\n\t// Block 0x2d, offset 0x124\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x9900, lo: 0xa8, hi: 0xbf},\n\t// Block 0x2e, offset 0x126\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x9900, lo: 0x80, hi: 0x82},\n\t// Block 0x2f, offset 0x128\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0x9d, hi: 0x9f},\n\t// Block 0x30, offset 0x12a\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x94, hi: 0x94},\n\t{value: 0x8104, lo: 0xb4, hi: 0xb4},\n\t// Block 0x31, offset 0x12d\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x92, hi: 0x92},\n\t{value: 0x8132, lo: 0x9d, hi: 0x9d},\n\t// Block 0x32, offset 0x130\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8131, lo: 0xa9, hi: 0xa9},\n\t// Block 0x33, offset 0x132\n\t{value: 0x0004, lo: 0x02},\n\t{value: 0x812e, lo: 0xb9, hi: 0xba},\n\t{value: 0x812d, lo: 0xbb, hi: 0xbb},\n\t// Block 0x34, offset 0x135\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0x97, hi: 0x97},\n\t{value: 0x812d, lo: 0x98, hi: 0x98},\n\t// Block 0x35, offset 0x138\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x8104, lo: 0xa0, hi: 0xa0},\n\t{value: 0x8132, lo: 0xb5, hi: 0xbc},\n\t{value: 0x812d, lo: 0xbf, hi: 0xbf},\n\t// Block 0x36, offset 0x13c\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb4},\n\t{value: 0x812d, lo: 0xb5, hi: 0xba},\n\t{value: 0x8132, lo: 0xbb, hi: 0xbc},\n\t{value: 0x812d, lo: 0xbd, hi: 0xbd},\n\t// Block 0x37, offset 0x141\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0x2d66, lo: 0x80, hi: 0x80},\n\t{value: 0x2d6e, lo: 0x81, hi: 0x81},\n\t{value: 0xa000, lo: 0x82, hi: 0x82},\n\t{value: 0x2d76, lo: 0x83, hi: 0x83},\n\t{value: 0x8104, lo: 0x84, hi: 0x84},\n\t{value: 0x8132, lo: 0xab, hi: 0xab},\n\t{value: 0x812d, lo: 0xac, hi: 0xac},\n\t{value: 0x8132, lo: 0xad, hi: 0xb3},\n\t// Block 0x38, offset 0x14a\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xaa, hi: 0xab},\n\t// Block 0x39, offset 0x14c\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8102, lo: 0xa6, hi: 0xa6},\n\t{value: 0x8104, lo: 0xb2, hi: 0xb3},\n\t// Block 0x3a, offset 0x14f\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8102, lo: 0xb7, hi: 0xb7},\n\t// Block 0x3b, offset 0x151\n\t{value: 0x0000, lo: 0x0a},\n\t{value: 0x8132, lo: 0x90, hi: 0x92},\n\t{value: 0x8101, lo: 0x94, hi: 0x94},\n\t{value: 0x812d, lo: 0x95, hi: 0x99},\n\t{value: 0x8132, lo: 0x9a, hi: 0x9b},\n\t{value: 0x812d, lo: 0x9c, hi: 0x9f},\n\t{value: 0x8132, lo: 0xa0, hi: 0xa0},\n\t{value: 0x8101, lo: 0xa2, hi: 0xa8},\n\t{value: 0x812d, lo: 0xad, hi: 0xad},\n\t{value: 0x8132, lo: 0xb4, hi: 0xb4},\n\t{value: 0x8132, lo: 0xb8, hi: 0xb9},\n\t// Block 0x3c, offset 0x15c\n\t{value: 0x0002, lo: 0x0a},\n\t{value: 0x0043, lo: 0xac, hi: 0xac},\n\t{value: 0x00d1, lo: 0xad, hi: 0xad},\n\t{value: 0x0045, lo: 0xae, hi: 0xae},\n\t{value: 0x0049, lo: 0xb0, hi: 0xb1},\n\t{value: 0x00e6, lo: 0xb2, hi: 0xb2},\n\t{value: 0x004f, lo: 0xb3, hi: 0xba},\n\t{value: 0x005f, lo: 0xbc, hi: 0xbc},\n\t{value: 0x00ef, lo: 0xbd, hi: 0xbd},\n\t{value: 0x0061, lo: 0xbe, hi: 0xbe},\n\t{value: 0x0065, lo: 0xbf, hi: 0xbf},\n\t// Block 0x3d, offset 0x167\n\t{value: 0x0000, lo: 0x0d},\n\t{value: 0x0001, lo: 0x80, hi: 0x8a},\n\t{value: 0x043b, lo: 0x91, hi: 0x91},\n\t{value: 0x429b, lo: 0x97, hi: 0x97},\n\t{value: 0x001d, lo: 0xa4, hi: 0xa4},\n\t{value: 0x1873, lo: 0xa5, hi: 0xa5},\n\t{value: 0x1b5c, lo: 0xa6, hi: 0xa6},\n\t{value: 0x0001, lo: 0xaf, hi: 0xaf},\n\t{value: 0x2691, lo: 0xb3, hi: 0xb3},\n\t{value: 0x27fe, lo: 0xb4, hi: 0xb4},\n\t{value: 0x2698, lo: 0xb6, hi: 0xb6},\n\t{value: 0x2808, lo: 0xb7, hi: 0xb7},\n\t{value: 0x186d, lo: 0xbc, hi: 0xbc},\n\t{value: 0x4269, lo: 0xbe, hi: 0xbe},\n\t// Block 0x3e, offset 0x175\n\t{value: 0x0002, lo: 0x0d},\n\t{value: 0x1933, lo: 0x87, hi: 0x87},\n\t{value: 0x1930, lo: 0x88, hi: 0x88},\n\t{value: 0x1870, lo: 0x89, hi: 0x89},\n\t{value: 0x298e, lo: 0x97, hi: 0x97},\n\t{value: 0x0001, lo: 0x9f, hi: 0x9f},\n\t{value: 0x0021, lo: 0xb0, hi: 0xb0},\n\t{value: 0x0093, lo: 0xb1, hi: 0xb1},\n\t{value: 0x0029, lo: 0xb4, hi: 0xb9},\n\t{value: 0x0017, lo: 0xba, hi: 0xba},\n\t{value: 0x0467, lo: 0xbb, hi: 0xbb},\n\t{value: 0x003b, lo: 0xbc, hi: 0xbc},\n\t{value: 0x0011, lo: 0xbd, hi: 0xbe},\n\t{value: 0x009d, lo: 0xbf, hi: 0xbf},\n\t// Block 0x3f, offset 0x183\n\t{value: 0x0002, lo: 0x0f},\n\t{value: 0x0021, lo: 0x80, hi: 0x89},\n\t{value: 0x0017, lo: 0x8a, hi: 0x8a},\n\t{value: 0x0467, lo: 0x8b, hi: 0x8b},\n\t{value: 0x003b, lo: 0x8c, hi: 0x8c},\n\t{value: 0x0011, lo: 0x8d, hi: 0x8e},\n\t{value: 0x0083, lo: 0x90, hi: 0x90},\n\t{value: 0x008b, lo: 0x91, hi: 0x91},\n\t{value: 0x009f, lo: 0x92, hi: 0x92},\n\t{value: 0x00b1, lo: 0x93, hi: 0x93},\n\t{value: 0x0104, lo: 0x94, hi: 0x94},\n\t{value: 0x0091, lo: 0x95, hi: 0x95},\n\t{value: 0x0097, lo: 0x96, hi: 0x99},\n\t{value: 0x00a1, lo: 0x9a, hi: 0x9a},\n\t{value: 0x00a7, lo: 0x9b, hi: 0x9c},\n\t{value: 0x1999, lo: 0xa8, hi: 0xa8},\n\t// Block 0x40, offset 0x193\n\t{value: 0x0000, lo: 0x0d},\n\t{value: 0x8132, lo: 0x90, hi: 0x91},\n\t{value: 0x8101, lo: 0x92, hi: 0x93},\n\t{value: 0x8132, lo: 0x94, hi: 0x97},\n\t{value: 0x8101, lo: 0x98, hi: 0x9a},\n\t{value: 0x8132, lo: 0x9b, hi: 0x9c},\n\t{value: 0x8132, lo: 0xa1, hi: 0xa1},\n\t{value: 0x8101, lo: 0xa5, hi: 0xa6},\n\t{value: 0x8132, lo: 0xa7, hi: 0xa7},\n\t{value: 0x812d, lo: 0xa8, hi: 0xa8},\n\t{value: 0x8132, lo: 0xa9, hi: 0xa9},\n\t{value: 0x8101, lo: 0xaa, hi: 0xab},\n\t{value: 0x812d, lo: 0xac, hi: 0xaf},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb0},\n\t// Block 0x41, offset 0x1a1\n\t{value: 0x0007, lo: 0x06},\n\t{value: 0x2180, lo: 0x89, hi: 0x89},\n\t{value: 0xa000, lo: 0x90, hi: 0x90},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0xa000, lo: 0x94, hi: 0x94},\n\t{value: 0x3bb9, lo: 0x9a, hi: 0x9b},\n\t{value: 0x3bc7, lo: 0xae, hi: 0xae},\n\t// Block 0x42, offset 0x1a8\n\t{value: 0x000e, lo: 0x05},\n\t{value: 0x3bce, lo: 0x8d, hi: 0x8e},\n\t{value: 0x3bd5, lo: 0x8f, hi: 0x8f},\n\t{value: 0xa000, lo: 0x90, hi: 0x90},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0xa000, lo: 0x94, hi: 0x94},\n\t// Block 0x43, offset 0x1ae\n\t{value: 0x0173, lo: 0x0e},\n\t{value: 0xa000, lo: 0x83, hi: 0x83},\n\t{value: 0x3be3, lo: 0x84, hi: 0x84},\n\t{value: 0xa000, lo: 0x88, hi: 0x88},\n\t{value: 0x3bea, lo: 0x89, hi: 0x89},\n\t{value: 0xa000, lo: 0x8b, hi: 0x8b},\n\t{value: 0x3bf1, lo: 0x8c, hi: 0x8c},\n\t{value: 0xa000, lo: 0xa3, hi: 0xa3},\n\t{value: 0x3bf8, lo: 0xa4, hi: 0xa4},\n\t{value: 0xa000, lo: 0xa5, hi: 0xa5},\n\t{value: 0x3bff, lo: 0xa6, hi: 0xa6},\n\t{value: 0x269f, lo: 0xac, hi: 0xad},\n\t{value: 0x26a6, lo: 0xaf, hi: 0xaf},\n\t{value: 0x281c, lo: 0xb0, hi: 0xb0},\n\t{value: 0xa000, lo: 0xbc, hi: 0xbc},\n\t// Block 0x44, offset 0x1bd\n\t{value: 0x0007, lo: 0x03},\n\t{value: 0x3c68, lo: 0xa0, hi: 0xa1},\n\t{value: 0x3c92, lo: 0xa2, hi: 0xa3},\n\t{value: 0x3cbc, lo: 0xaa, hi: 0xad},\n\t// Block 0x45, offset 0x1c1\n\t{value: 0x0004, lo: 0x01},\n\t{value: 0x048b, lo: 0xa9, hi: 0xaa},\n\t// Block 0x46, offset 0x1c3\n\t{value: 0x0002, lo: 0x03},\n\t{value: 0x0057, lo: 0x80, hi: 0x8f},\n\t{value: 0x0083, lo: 0x90, hi: 0xa9},\n\t{value: 0x0021, lo: 0xaa, hi: 0xaa},\n\t// Block 0x47, offset 0x1c7\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x299b, lo: 0x8c, hi: 0x8c},\n\t// Block 0x48, offset 0x1c9\n\t{value: 0x0263, lo: 0x02},\n\t{value: 0x1b8c, lo: 0xb4, hi: 0xb4},\n\t{value: 0x192d, lo: 0xb5, hi: 0xb6},\n\t// Block 0x49, offset 0x1cc\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x44dd, lo: 0x9c, hi: 0x9c},\n\t// Block 0x4a, offset 0x1ce\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0095, lo: 0xbc, hi: 0xbc},\n\t{value: 0x006d, lo: 0xbd, hi: 0xbd},\n\t// Block 0x4b, offset 0x1d1\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xaf, hi: 0xb1},\n\t// Block 0x4c, offset 0x1d3\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x047f, lo: 0xaf, hi: 0xaf},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x4d, offset 0x1d6\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xa0, hi: 0xbf},\n\t// Block 0x4e, offset 0x1d8\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x0dc3, lo: 0x9f, hi: 0x9f},\n\t// Block 0x4f, offset 0x1da\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x162f, lo: 0xb3, hi: 0xb3},\n\t// Block 0x50, offset 0x1dc\n\t{value: 0x0004, lo: 0x0b},\n\t{value: 0x1597, lo: 0x80, hi: 0x82},\n\t{value: 0x15af, lo: 0x83, hi: 0x83},\n\t{value: 0x15c7, lo: 0x84, hi: 0x85},\n\t{value: 0x15d7, lo: 0x86, hi: 0x89},\n\t{value: 0x15eb, lo: 0x8a, hi: 0x8c},\n\t{value: 0x15ff, lo: 0x8d, hi: 0x8d},\n\t{value: 0x1607, lo: 0x8e, hi: 0x8e},\n\t{value: 0x160f, lo: 0x8f, hi: 0x90},\n\t{value: 0x161b, lo: 0x91, hi: 0x93},\n\t{value: 0x162b, lo: 0x94, hi: 0x94},\n\t{value: 0x1633, lo: 0x95, hi: 0x95},\n\t// Block 0x51, offset 0x1e8\n\t{value: 0x0004, lo: 0x09},\n\t{value: 0x0001, lo: 0x80, hi: 0x80},\n\t{value: 0x812c, lo: 0xaa, hi: 0xaa},\n\t{value: 0x8131, lo: 0xab, hi: 0xab},\n\t{value: 0x8133, lo: 0xac, hi: 0xac},\n\t{value: 0x812e, lo: 0xad, hi: 0xad},\n\t{value: 0x812f, lo: 0xae, hi: 0xae},\n\t{value: 0x812f, lo: 0xaf, hi: 0xaf},\n\t{value: 0x04b3, lo: 0xb6, hi: 0xb6},\n\t{value: 0x0887, lo: 0xb8, hi: 0xba},\n\t// Block 0x52, offset 0x1f2\n\t{value: 0x0006, lo: 0x09},\n\t{value: 0x0313, lo: 0xb1, hi: 0xb1},\n\t{value: 0x0317, lo: 0xb2, hi: 0xb2},\n\t{value: 0x4a3b, lo: 0xb3, hi: 0xb3},\n\t{value: 0x031b, lo: 0xb4, hi: 0xb4},\n\t{value: 0x4a41, lo: 0xb5, hi: 0xb6},\n\t{value: 0x031f, lo: 0xb7, hi: 0xb7},\n\t{value: 0x0323, lo: 0xb8, hi: 0xb8},\n\t{value: 0x0327, lo: 0xb9, hi: 0xb9},\n\t{value: 0x4a4d, lo: 0xba, hi: 0xbf},\n\t// Block 0x53, offset 0x1fc\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0xaf, hi: 0xaf},\n\t{value: 0x8132, lo: 0xb4, hi: 0xbd},\n\t// Block 0x54, offset 0x1ff\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x020f, lo: 0x9c, hi: 0x9c},\n\t{value: 0x0212, lo: 0x9d, hi: 0x9d},\n\t{value: 0x8132, lo: 0x9e, hi: 0x9f},\n\t// Block 0x55, offset 0x203\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb1},\n\t// Block 0x56, offset 0x205\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x163b, lo: 0xb0, hi: 0xb0},\n\t// Block 0x57, offset 0x207\n\t{value: 0x000c, lo: 0x01},\n\t{value: 0x00d7, lo: 0xb8, hi: 0xb9},\n\t// Block 0x58, offset 0x209\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x86, hi: 0x86},\n\t// Block 0x59, offset 0x20b\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x84, hi: 0x84},\n\t{value: 0x8132, lo: 0xa0, hi: 0xb1},\n\t// Block 0x5a, offset 0x20e\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0xab, hi: 0xad},\n\t// Block 0x5b, offset 0x210\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x93, hi: 0x93},\n\t// Block 0x5c, offset 0x212\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8102, lo: 0xb3, hi: 0xb3},\n\t// Block 0x5d, offset 0x214\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x80, hi: 0x80},\n\t// Block 0x5e, offset 0x216\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb0},\n\t{value: 0x8132, lo: 0xb2, hi: 0xb3},\n\t{value: 0x812d, lo: 0xb4, hi: 0xb4},\n\t{value: 0x8132, lo: 0xb7, hi: 0xb8},\n\t{value: 0x8132, lo: 0xbe, hi: 0xbf},\n\t// Block 0x5f, offset 0x21c\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0x81, hi: 0x81},\n\t{value: 0x8104, lo: 0xb6, hi: 0xb6},\n\t// Block 0x60, offset 0x21f\n\t{value: 0x0008, lo: 0x03},\n\t{value: 0x1637, lo: 0x9c, hi: 0x9d},\n\t{value: 0x0125, lo: 0x9e, hi: 0x9e},\n\t{value: 0x1643, lo: 0x9f, hi: 0x9f},\n\t// Block 0x61, offset 0x223\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xad, hi: 0xad},\n\t// Block 0x62, offset 0x225\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0xe500, lo: 0x80, hi: 0x80},\n\t{value: 0xc600, lo: 0x81, hi: 0x9b},\n\t{value: 0xe500, lo: 0x9c, hi: 0x9c},\n\t{value: 0xc600, lo: 0x9d, hi: 0xb7},\n\t{value: 0xe500, lo: 0xb8, hi: 0xb8},\n\t{value: 0xc600, lo: 0xb9, hi: 0xbf},\n\t// Block 0x63, offset 0x22c\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x93},\n\t{value: 0xe500, lo: 0x94, hi: 0x94},\n\t{value: 0xc600, lo: 0x95, hi: 0xaf},\n\t{value: 0xe500, lo: 0xb0, hi: 0xb0},\n\t{value: 0xc600, lo: 0xb1, hi: 0xbf},\n\t// Block 0x64, offset 0x232\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x8b},\n\t{value: 0xe500, lo: 0x8c, hi: 0x8c},\n\t{value: 0xc600, lo: 0x8d, hi: 0xa7},\n\t{value: 0xe500, lo: 0xa8, hi: 0xa8},\n\t{value: 0xc600, lo: 0xa9, hi: 0xbf},\n\t// Block 0x65, offset 0x238\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0xc600, lo: 0x80, hi: 0x83},\n\t{value: 0xe500, lo: 0x84, hi: 0x84},\n\t{value: 0xc600, lo: 0x85, hi: 0x9f},\n\t{value: 0xe500, lo: 0xa0, hi: 0xa0},\n\t{value: 0xc600, lo: 0xa1, hi: 0xbb},\n\t{value: 0xe500, lo: 0xbc, hi: 0xbc},\n\t{value: 0xc600, lo: 0xbd, hi: 0xbf},\n\t// Block 0x66, offset 0x240\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x97},\n\t{value: 0xe500, lo: 0x98, hi: 0x98},\n\t{value: 0xc600, lo: 0x99, hi: 0xb3},\n\t{value: 0xe500, lo: 0xb4, hi: 0xb4},\n\t{value: 0xc600, lo: 0xb5, hi: 0xbf},\n\t// Block 0x67, offset 0x246\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x8f},\n\t{value: 0xe500, lo: 0x90, hi: 0x90},\n\t{value: 0xc600, lo: 0x91, hi: 0xab},\n\t{value: 0xe500, lo: 0xac, hi: 0xac},\n\t{value: 0xc600, lo: 0xad, hi: 0xbf},\n\t// Block 0x68, offset 0x24c\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x87},\n\t{value: 0xe500, lo: 0x88, hi: 0x88},\n\t{value: 0xc600, lo: 0x89, hi: 0xa3},\n\t{value: 0xe500, lo: 0xa4, hi: 0xa4},\n\t{value: 0xc600, lo: 0xa5, hi: 0xbf},\n\t// Block 0x69, offset 0x252\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0xc600, lo: 0x80, hi: 0x87},\n\t{value: 0xe500, lo: 0x88, hi: 0x88},\n\t{value: 0xc600, lo: 0x89, hi: 0xa3},\n\t// Block 0x6a, offset 0x256\n\t{value: 0x0002, lo: 0x01},\n\t{value: 0x0003, lo: 0x81, hi: 0xbf},\n\t// Block 0x6b, offset 0x258\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0xbd, hi: 0xbd},\n\t// Block 0x6c, offset 0x25a\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0xa0, hi: 0xa0},\n\t// Block 0x6d, offset 0x25c\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xb6, hi: 0xba},\n\t// Block 0x6e, offset 0x25e\n\t{value: 0x002c, lo: 0x05},\n\t{value: 0x812d, lo: 0x8d, hi: 0x8d},\n\t{value: 0x8132, lo: 0x8f, hi: 0x8f},\n\t{value: 0x8132, lo: 0xb8, hi: 0xb8},\n\t{value: 0x8101, lo: 0xb9, hi: 0xba},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x6f, offset 0x264\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0xa5, hi: 0xa5},\n\t{value: 0x812d, lo: 0xa6, hi: 0xa6},\n\t// Block 0x70, offset 0x267\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x86, hi: 0x86},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x71, offset 0x26a\n\t{value: 0x17fe, lo: 0x07},\n\t{value: 0xa000, lo: 0x99, hi: 0x99},\n\t{value: 0x4238, lo: 0x9a, hi: 0x9a},\n\t{value: 0xa000, lo: 0x9b, hi: 0x9b},\n\t{value: 0x4242, lo: 0x9c, hi: 0x9c},\n\t{value: 0xa000, lo: 0xa5, hi: 0xa5},\n\t{value: 0x424c, lo: 0xab, hi: 0xab},\n\t{value: 0x8104, lo: 0xb9, hi: 0xba},\n\t// Block 0x72, offset 0x272\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x8132, lo: 0x80, hi: 0x82},\n\t{value: 0x9900, lo: 0xa7, hi: 0xa7},\n\t{value: 0x2d7e, lo: 0xae, hi: 0xae},\n\t{value: 0x2d88, lo: 0xaf, hi: 0xaf},\n\t{value: 0xa000, lo: 0xb1, hi: 0xb2},\n\t{value: 0x8104, lo: 0xb3, hi: 0xb4},\n\t// Block 0x73, offset 0x279\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x80, hi: 0x80},\n\t{value: 0x8102, lo: 0x8a, hi: 0x8a},\n\t// Block 0x74, offset 0x27c\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0xb5, hi: 0xb5},\n\t{value: 0x8102, lo: 0xb6, hi: 0xb6},\n\t// Block 0x75, offset 0x27f\n\t{value: 0x0002, lo: 0x01},\n\t{value: 0x8102, lo: 0xa9, hi: 0xaa},\n\t// Block 0x76, offset 0x281\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0xa000, lo: 0x87, hi: 0x87},\n\t{value: 0x2d92, lo: 0x8b, hi: 0x8b},\n\t{value: 0x2d9c, lo: 0x8c, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x97, hi: 0x97},\n\t{value: 0x8132, lo: 0xa6, hi: 0xac},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb4},\n\t// Block 0x77, offset 0x289\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x82, hi: 0x82},\n\t{value: 0x8102, lo: 0x86, hi: 0x86},\n\t// Block 0x78, offset 0x28c\n\t{value: 0x6b5a, lo: 0x06},\n\t{value: 0x9900, lo: 0xb0, hi: 0xb0},\n\t{value: 0xa000, lo: 0xb9, hi: 0xb9},\n\t{value: 0x9900, lo: 0xba, hi: 0xba},\n\t{value: 0x2db0, lo: 0xbb, hi: 0xbb},\n\t{value: 0x2da6, lo: 0xbc, hi: 0xbd},\n\t{value: 0x2dba, lo: 0xbe, hi: 0xbe},\n\t// Block 0x79, offset 0x293\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x82, hi: 0x82},\n\t{value: 0x8102, lo: 0x83, hi: 0x83},\n\t// Block 0x7a, offset 0x296\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x9900, lo: 0xaf, hi: 0xaf},\n\t{value: 0xa000, lo: 0xb8, hi: 0xb9},\n\t{value: 0x2dc4, lo: 0xba, hi: 0xba},\n\t{value: 0x2dce, lo: 0xbb, hi: 0xbb},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x7b, offset 0x29c\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8102, lo: 0x80, hi: 0x80},\n\t// Block 0x7c, offset 0x29e\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x7d, offset 0x2a0\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0xb6, hi: 0xb6},\n\t{value: 0x8102, lo: 0xb7, hi: 0xb7},\n\t// Block 0x7e, offset 0x2a3\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xab, hi: 0xab},\n\t// Block 0x7f, offset 0x2a5\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xb4, hi: 0xb4},\n\t// Block 0x80, offset 0x2a7\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x87, hi: 0x87},\n\t// Block 0x81, offset 0x2a9\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x99, hi: 0x99},\n\t// Block 0x82, offset 0x2ab\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8102, lo: 0x82, hi: 0x82},\n\t{value: 0x8104, lo: 0x84, hi: 0x85},\n\t// Block 0x83, offset 0x2ae\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8101, lo: 0xb0, hi: 0xb4},\n\t// Block 0x84, offset 0x2b0\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb6},\n\t// Block 0x85, offset 0x2b2\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8101, lo: 0x9e, hi: 0x9e},\n\t// Block 0x86, offset 0x2b4\n\t{value: 0x0000, lo: 0x0c},\n\t{value: 0x45cc, lo: 0x9e, hi: 0x9e},\n\t{value: 0x45d6, lo: 0x9f, hi: 0x9f},\n\t{value: 0x460a, lo: 0xa0, hi: 0xa0},\n\t{value: 0x4618, lo: 0xa1, hi: 0xa1},\n\t{value: 0x4626, lo: 0xa2, hi: 0xa2},\n\t{value: 0x4634, lo: 0xa3, hi: 0xa3},\n\t{value: 0x4642, lo: 0xa4, hi: 0xa4},\n\t{value: 0x812b, lo: 0xa5, hi: 0xa6},\n\t{value: 0x8101, lo: 0xa7, hi: 0xa9},\n\t{value: 0x8130, lo: 0xad, hi: 0xad},\n\t{value: 0x812b, lo: 0xae, hi: 0xb2},\n\t{value: 0x812d, lo: 0xbb, hi: 0xbf},\n\t// Block 0x87, offset 0x2c1\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x812d, lo: 0x80, hi: 0x82},\n\t{value: 0x8132, lo: 0x85, hi: 0x89},\n\t{value: 0x812d, lo: 0x8a, hi: 0x8b},\n\t{value: 0x8132, lo: 0xaa, hi: 0xad},\n\t{value: 0x45e0, lo: 0xbb, hi: 0xbb},\n\t{value: 0x45ea, lo: 0xbc, hi: 0xbc},\n\t{value: 0x4650, lo: 0xbd, hi: 0xbd},\n\t{value: 0x466c, lo: 0xbe, hi: 0xbe},\n\t{value: 0x465e, lo: 0xbf, hi: 0xbf},\n\t// Block 0x88, offset 0x2cb\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x467a, lo: 0x80, hi: 0x80},\n\t// Block 0x89, offset 0x2cd\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0x82, hi: 0x84},\n\t// Block 0x8a, offset 0x2cf\n\t{value: 0x0002, lo: 0x03},\n\t{value: 0x0043, lo: 0x80, hi: 0x99},\n\t{value: 0x0083, lo: 0x9a, hi: 0xb3},\n\t{value: 0x0043, lo: 0xb4, hi: 0xbf},\n\t// Block 0x8b, offset 0x2d3\n\t{value: 0x0002, lo: 0x04},\n\t{value: 0x005b, lo: 0x80, hi: 0x8d},\n\t{value: 0x0083, lo: 0x8e, hi: 0x94},\n\t{value: 0x0093, lo: 0x96, hi: 0xa7},\n\t{value: 0x0043, lo: 0xa8, hi: 0xbf},\n\t// Block 0x8c, offset 0x2d8\n\t{value: 0x0002, lo: 0x0b},\n\t{value: 0x0073, lo: 0x80, hi: 0x81},\n\t{value: 0x0083, lo: 0x82, hi: 0x9b},\n\t{value: 0x0043, lo: 0x9c, hi: 0x9c},\n\t{value: 0x0047, lo: 0x9e, hi: 0x9f},\n\t{value: 0x004f, lo: 0xa2, hi: 0xa2},\n\t{value: 0x0055, lo: 0xa5, hi: 0xa6},\n\t{value: 0x005d, lo: 0xa9, hi: 0xac},\n\t{value: 0x0067, lo: 0xae, hi: 0xb5},\n\t{value: 0x0083, lo: 0xb6, hi: 0xb9},\n\t{value: 0x008d, lo: 0xbb, hi: 0xbb},\n\t{value: 0x0091, lo: 0xbd, hi: 0xbf},\n\t// Block 0x8d, offset 0x2e4\n\t{value: 0x0002, lo: 0x04},\n\t{value: 0x0097, lo: 0x80, hi: 0x83},\n\t{value: 0x00a1, lo: 0x85, hi: 0x8f},\n\t{value: 0x0043, lo: 0x90, hi: 0xa9},\n\t{value: 0x0083, lo: 0xaa, hi: 0xbf},\n\t// Block 0x8e, offset 0x2e9\n\t{value: 0x0002, lo: 0x08},\n\t{value: 0x00af, lo: 0x80, hi: 0x83},\n\t{value: 0x0043, lo: 0x84, hi: 0x85},\n\t{value: 0x0049, lo: 0x87, hi: 0x8a},\n\t{value: 0x0055, lo: 0x8d, hi: 0x94},\n\t{value: 0x0067, lo: 0x96, hi: 0x9c},\n\t{value: 0x0083, lo: 0x9e, hi: 0xb7},\n\t{value: 0x0043, lo: 0xb8, hi: 0xb9},\n\t{value: 0x0049, lo: 0xbb, hi: 0xbe},\n\t// Block 0x8f, offset 0x2f2\n\t{value: 0x0002, lo: 0x05},\n\t{value: 0x0053, lo: 0x80, hi: 0x84},\n\t{value: 0x005f, lo: 0x86, hi: 0x86},\n\t{value: 0x0067, lo: 0x8a, hi: 0x90},\n\t{value: 0x0083, lo: 0x92, hi: 0xab},\n\t{value: 0x0043, lo: 0xac, hi: 0xbf},\n\t// Block 0x90, offset 0x2f8\n\t{value: 0x0002, lo: 0x04},\n\t{value: 0x006b, lo: 0x80, hi: 0x85},\n\t{value: 0x0083, lo: 0x86, hi: 0x9f},\n\t{value: 0x0043, lo: 0xa0, hi: 0xb9},\n\t{value: 0x0083, lo: 0xba, hi: 0xbf},\n\t// Block 0x91, offset 0x2fd\n\t{value: 0x0002, lo: 0x03},\n\t{value: 0x008f, lo: 0x80, hi: 0x93},\n\t{value: 0x0043, lo: 0x94, hi: 0xad},\n\t{value: 0x0083, lo: 0xae, hi: 0xbf},\n\t// Block 0x92, offset 0x301\n\t{value: 0x0002, lo: 0x04},\n\t{value: 0x00a7, lo: 0x80, hi: 0x87},\n\t{value: 0x0043, lo: 0x88, hi: 0xa1},\n\t{value: 0x0083, lo: 0xa2, hi: 0xbb},\n\t{value: 0x0043, lo: 0xbc, hi: 0xbf},\n\t// Block 0x93, offset 0x306\n\t{value: 0x0002, lo: 0x03},\n\t{value: 0x004b, lo: 0x80, hi: 0x95},\n\t{value: 0x0083, lo: 0x96, hi: 0xaf},\n\t{value: 0x0043, lo: 0xb0, hi: 0xbf},\n\t// Block 0x94, offset 0x30a\n\t{value: 0x0003, lo: 0x0f},\n\t{value: 0x01b8, lo: 0x80, hi: 0x80},\n\t{value: 0x045f, lo: 0x81, hi: 0x81},\n\t{value: 0x01bb, lo: 0x82, hi: 0x9a},\n\t{value: 0x045b, lo: 0x9b, hi: 0x9b},\n\t{value: 0x01c7, lo: 0x9c, hi: 0x9c},\n\t{value: 0x01d0, lo: 0x9d, hi: 0x9d},\n\t{value: 0x01d6, lo: 0x9e, hi: 0x9e},\n\t{value: 0x01fa, lo: 0x9f, hi: 0x9f},\n\t{value: 0x01eb, lo: 0xa0, hi: 0xa0},\n\t{value: 0x01e8, lo: 0xa1, hi: 0xa1},\n\t{value: 0x0173, lo: 0xa2, hi: 0xb2},\n\t{value: 0x0188, lo: 0xb3, hi: 0xb3},\n\t{value: 0x01a6, lo: 0xb4, hi: 0xba},\n\t{value: 0x045f, lo: 0xbb, hi: 0xbb},\n\t{value: 0x01bb, lo: 0xbc, hi: 0xbf},\n\t// Block 0x95, offset 0x31a\n\t{value: 0x0003, lo: 0x0d},\n\t{value: 0x01c7, lo: 0x80, hi: 0x94},\n\t{value: 0x045b, lo: 0x95, hi: 0x95},\n\t{value: 0x01c7, lo: 0x96, hi: 0x96},\n\t{value: 0x01d0, lo: 0x97, hi: 0x97},\n\t{value: 0x01d6, lo: 0x98, hi: 0x98},\n\t{value: 0x01fa, lo: 0x99, hi: 0x99},\n\t{value: 0x01eb, lo: 0x9a, hi: 0x9a},\n\t{value: 0x01e8, lo: 0x9b, hi: 0x9b},\n\t{value: 0x0173, lo: 0x9c, hi: 0xac},\n\t{value: 0x0188, lo: 0xad, hi: 0xad},\n\t{value: 0x01a6, lo: 0xae, hi: 0xb4},\n\t{value: 0x045f, lo: 0xb5, hi: 0xb5},\n\t{value: 0x01bb, lo: 0xb6, hi: 0xbf},\n\t// Block 0x96, offset 0x328\n\t{value: 0x0003, lo: 0x0d},\n\t{value: 0x01d9, lo: 0x80, hi: 0x8e},\n\t{value: 0x045b, lo: 0x8f, hi: 0x8f},\n\t{value: 0x01c7, lo: 0x90, hi: 0x90},\n\t{value: 0x01d0, lo: 0x91, hi: 0x91},\n\t{value: 0x01d6, lo: 0x92, hi: 0x92},\n\t{value: 0x01fa, lo: 0x93, hi: 0x93},\n\t{value: 0x01eb, lo: 0x94, hi: 0x94},\n\t{value: 0x01e8, lo: 0x95, hi: 0x95},\n\t{value: 0x0173, lo: 0x96, hi: 0xa6},\n\t{value: 0x0188, lo: 0xa7, hi: 0xa7},\n\t{value: 0x01a6, lo: 0xa8, hi: 0xae},\n\t{value: 0x045f, lo: 0xaf, hi: 0xaf},\n\t{value: 0x01bb, lo: 0xb0, hi: 0xbf},\n\t// Block 0x97, offset 0x336\n\t{value: 0x0003, lo: 0x0d},\n\t{value: 0x01eb, lo: 0x80, hi: 0x88},\n\t{value: 0x045b, lo: 0x89, hi: 0x89},\n\t{value: 0x01c7, lo: 0x8a, hi: 0x8a},\n\t{value: 0x01d0, lo: 0x8b, hi: 0x8b},\n\t{value: 0x01d6, lo: 0x8c, hi: 0x8c},\n\t{value: 0x01fa, lo: 0x8d, hi: 0x8d},\n\t{value: 0x01eb, lo: 0x8e, hi: 0x8e},\n\t{value: 0x01e8, lo: 0x8f, hi: 0x8f},\n\t{value: 0x0173, lo: 0x90, hi: 0xa0},\n\t{value: 0x0188, lo: 0xa1, hi: 0xa1},\n\t{value: 0x01a6, lo: 0xa2, hi: 0xa8},\n\t{value: 0x045f, lo: 0xa9, hi: 0xa9},\n\t{value: 0x01bb, lo: 0xaa, hi: 0xbf},\n\t// Block 0x98, offset 0x344\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x8132, lo: 0x80, hi: 0x86},\n\t{value: 0x8132, lo: 0x88, hi: 0x98},\n\t{value: 0x8132, lo: 0x9b, hi: 0xa1},\n\t{value: 0x8132, lo: 0xa3, hi: 0xa4},\n\t{value: 0x8132, lo: 0xa6, hi: 0xaa},\n\t// Block 0x99, offset 0x34a\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0x90, hi: 0x96},\n\t// Block 0x9a, offset 0x34c\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0x84, hi: 0x89},\n\t{value: 0x8102, lo: 0x8a, hi: 0x8a},\n\t// Block 0x9b, offset 0x34f\n\t{value: 0x0002, lo: 0x09},\n\t{value: 0x0063, lo: 0x80, hi: 0x89},\n\t{value: 0x1951, lo: 0x8a, hi: 0x8a},\n\t{value: 0x1981, lo: 0x8b, hi: 0x8b},\n\t{value: 0x199c, lo: 0x8c, hi: 0x8c},\n\t{value: 0x19a2, lo: 0x8d, hi: 0x8d},\n\t{value: 0x1bc0, lo: 0x8e, hi: 0x8e},\n\t{value: 0x19ae, lo: 0x8f, hi: 0x8f},\n\t{value: 0x197b, lo: 0xaa, hi: 0xaa},\n\t{value: 0x197e, lo: 0xab, hi: 0xab},\n\t// Block 0x9c, offset 0x359\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x193f, lo: 0x90, hi: 0x90},\n\t// Block 0x9d, offset 0x35b\n\t{value: 0x0028, lo: 0x09},\n\t{value: 0x2862, lo: 0x80, hi: 0x80},\n\t{value: 0x2826, lo: 0x81, hi: 0x81},\n\t{value: 0x2830, lo: 0x82, hi: 0x82},\n\t{value: 0x2844, lo: 0x83, hi: 0x84},\n\t{value: 0x284e, lo: 0x85, hi: 0x86},\n\t{value: 0x283a, lo: 0x87, hi: 0x87},\n\t{value: 0x2858, lo: 0x88, hi: 0x88},\n\t{value: 0x0b6f, lo: 0x90, hi: 0x90},\n\t{value: 0x08e7, lo: 0x91, hi: 0x91},\n}\n\n// recompMap: 7520 bytes (entries only)\nvar recompMap = map[uint32]rune{\n\t0x00410300: 0x00C0,\n\t0x00410301: 0x00C1,\n\t0x00410302: 0x00C2,\n\t0x00410303: 0x00C3,\n\t0x00410308: 0x00C4,\n\t0x0041030A: 0x00C5,\n\t0x00430327: 0x00C7,\n\t0x00450300: 0x00C8,\n\t0x00450301: 0x00C9,\n\t0x00450302: 0x00CA,\n\t0x00450308: 0x00CB,\n\t0x00490300: 0x00CC,\n\t0x00490301: 0x00CD,\n\t0x00490302: 0x00CE,\n\t0x00490308: 0x00CF,\n\t0x004E0303: 0x00D1,\n\t0x004F0300: 0x00D2,\n\t0x004F0301: 0x00D3,\n\t0x004F0302: 0x00D4,\n\t0x004F0303: 0x00D5,\n\t0x004F0308: 0x00D6,\n\t0x00550300: 0x00D9,\n\t0x00550301: 0x00DA,\n\t0x00550302: 0x00DB,\n\t0x00550308: 0x00DC,\n\t0x00590301: 0x00DD,\n\t0x00610300: 0x00E0,\n\t0x00610301: 0x00E1,\n\t0x00610302: 0x00E2,\n\t0x00610303: 0x00E3,\n\t0x00610308: 0x00E4,\n\t0x0061030A: 0x00E5,\n\t0x00630327: 0x00E7,\n\t0x00650300: 0x00E8,\n\t0x00650301: 0x00E9,\n\t0x00650302: 0x00EA,\n\t0x00650308: 0x00EB,\n\t0x00690300: 0x00EC,\n\t0x00690301: 0x00ED,\n\t0x00690302: 0x00EE,\n\t0x00690308: 0x00EF,\n\t0x006E0303: 0x00F1,\n\t0x006F0300: 0x00F2,\n\t0x006F0301: 0x00F3,\n\t0x006F0302: 0x00F4,\n\t0x006F0303: 0x00F5,\n\t0x006F0308: 0x00F6,\n\t0x00750300: 0x00F9,\n\t0x00750301: 0x00FA,\n\t0x00750302: 0x00FB,\n\t0x00750308: 0x00FC,\n\t0x00790301: 0x00FD,\n\t0x00790308: 0x00FF,\n\t0x00410304: 0x0100,\n\t0x00610304: 0x0101,\n\t0x00410306: 0x0102,\n\t0x00610306: 0x0103,\n\t0x00410328: 0x0104,\n\t0x00610328: 0x0105,\n\t0x00430301: 0x0106,\n\t0x00630301: 0x0107,\n\t0x00430302: 0x0108,\n\t0x00630302: 0x0109,\n\t0x00430307: 0x010A,\n\t0x00630307: 0x010B,\n\t0x0043030C: 0x010C,\n\t0x0063030C: 0x010D,\n\t0x0044030C: 0x010E,\n\t0x0064030C: 0x010F,\n\t0x00450304: 0x0112,\n\t0x00650304: 0x0113,\n\t0x00450306: 0x0114,\n\t0x00650306: 0x0115,\n\t0x00450307: 0x0116,\n\t0x00650307: 0x0117,\n\t0x00450328: 0x0118,\n\t0x00650328: 0x0119,\n\t0x0045030C: 0x011A,\n\t0x0065030C: 0x011B,\n\t0x00470302: 0x011C,\n\t0x00670302: 0x011D,\n\t0x00470306: 0x011E,\n\t0x00670306: 0x011F,\n\t0x00470307: 0x0120,\n\t0x00670307: 0x0121,\n\t0x00470327: 0x0122,\n\t0x00670327: 0x0123,\n\t0x00480302: 0x0124,\n\t0x00680302: 0x0125,\n\t0x00490303: 0x0128,\n\t0x00690303: 0x0129,\n\t0x00490304: 0x012A,\n\t0x00690304: 0x012B,\n\t0x00490306: 0x012C,\n\t0x00690306: 0x012D,\n\t0x00490328: 0x012E,\n\t0x00690328: 0x012F,\n\t0x00490307: 0x0130,\n\t0x004A0302: 0x0134,\n\t0x006A0302: 0x0135,\n\t0x004B0327: 0x0136,\n\t0x006B0327: 0x0137,\n\t0x004C0301: 0x0139,\n\t0x006C0301: 0x013A,\n\t0x004C0327: 0x013B,\n\t0x006C0327: 0x013C,\n\t0x004C030C: 0x013D,\n\t0x006C030C: 0x013E,\n\t0x004E0301: 0x0143,\n\t0x006E0301: 0x0144,\n\t0x004E0327: 0x0145,\n\t0x006E0327: 0x0146,\n\t0x004E030C: 0x0147,\n\t0x006E030C: 0x0148,\n\t0x004F0304: 0x014C,\n\t0x006F0304: 0x014D,\n\t0x004F0306: 0x014E,\n\t0x006F0306: 0x014F,\n\t0x004F030B: 0x0150,\n\t0x006F030B: 0x0151,\n\t0x00520301: 0x0154,\n\t0x00720301: 0x0155,\n\t0x00520327: 0x0156,\n\t0x00720327: 0x0157,\n\t0x0052030C: 0x0158,\n\t0x0072030C: 0x0159,\n\t0x00530301: 0x015A,\n\t0x00730301: 0x015B,\n\t0x00530302: 0x015C,\n\t0x00730302: 0x015D,\n\t0x00530327: 0x015E,\n\t0x00730327: 0x015F,\n\t0x0053030C: 0x0160,\n\t0x0073030C: 0x0161,\n\t0x00540327: 0x0162,\n\t0x00740327: 0x0163,\n\t0x0054030C: 0x0164,\n\t0x0074030C: 0x0165,\n\t0x00550303: 0x0168,\n\t0x00750303: 0x0169,\n\t0x00550304: 0x016A,\n\t0x00750304: 0x016B,\n\t0x00550306: 0x016C,\n\t0x00750306: 0x016D,\n\t0x0055030A: 0x016E,\n\t0x0075030A: 0x016F,\n\t0x0055030B: 0x0170,\n\t0x0075030B: 0x0171,\n\t0x00550328: 0x0172,\n\t0x00750328: 0x0173,\n\t0x00570302: 0x0174,\n\t0x00770302: 0x0175,\n\t0x00590302: 0x0176,\n\t0x00790302: 0x0177,\n\t0x00590308: 0x0178,\n\t0x005A0301: 0x0179,\n\t0x007A0301: 0x017A,\n\t0x005A0307: 0x017B,\n\t0x007A0307: 0x017C,\n\t0x005A030C: 0x017D,\n\t0x007A030C: 0x017E,\n\t0x004F031B: 0x01A0,\n\t0x006F031B: 0x01A1,\n\t0x0055031B: 0x01AF,\n\t0x0075031B: 0x01B0,\n\t0x0041030C: 0x01CD,\n\t0x0061030C: 0x01CE,\n\t0x0049030C: 0x01CF,\n\t0x0069030C: 0x01D0,\n\t0x004F030C: 0x01D1,\n\t0x006F030C: 0x01D2,\n\t0x0055030C: 0x01D3,\n\t0x0075030C: 0x01D4,\n\t0x00DC0304: 0x01D5,\n\t0x00FC0304: 0x01D6,\n\t0x00DC0301: 0x01D7,\n\t0x00FC0301: 0x01D8,\n\t0x00DC030C: 0x01D9,\n\t0x00FC030C: 0x01DA,\n\t0x00DC0300: 0x01DB,\n\t0x00FC0300: 0x01DC,\n\t0x00C40304: 0x01DE,\n\t0x00E40304: 0x01DF,\n\t0x02260304: 0x01E0,\n\t0x02270304: 0x01E1,\n\t0x00C60304: 0x01E2,\n\t0x00E60304: 0x01E3,\n\t0x0047030C: 0x01E6,\n\t0x0067030C: 0x01E7,\n\t0x004B030C: 0x01E8,\n\t0x006B030C: 0x01E9,\n\t0x004F0328: 0x01EA,\n\t0x006F0328: 0x01EB,\n\t0x01EA0304: 0x01EC,\n\t0x01EB0304: 0x01ED,\n\t0x01B7030C: 0x01EE,\n\t0x0292030C: 0x01EF,\n\t0x006A030C: 0x01F0,\n\t0x00470301: 0x01F4,\n\t0x00670301: 0x01F5,\n\t0x004E0300: 0x01F8,\n\t0x006E0300: 0x01F9,\n\t0x00C50301: 0x01FA,\n\t0x00E50301: 0x01FB,\n\t0x00C60301: 0x01FC,\n\t0x00E60301: 0x01FD,\n\t0x00D80301: 0x01FE,\n\t0x00F80301: 0x01FF,\n\t0x0041030F: 0x0200,\n\t0x0061030F: 0x0201,\n\t0x00410311: 0x0202,\n\t0x00610311: 0x0203,\n\t0x0045030F: 0x0204,\n\t0x0065030F: 0x0205,\n\t0x00450311: 0x0206,\n\t0x00650311: 0x0207,\n\t0x0049030F: 0x0208,\n\t0x0069030F: 0x0209,\n\t0x00490311: 0x020A,\n\t0x00690311: 0x020B,\n\t0x004F030F: 0x020C,\n\t0x006F030F: 0x020D,\n\t0x004F0311: 0x020E,\n\t0x006F0311: 0x020F,\n\t0x0052030F: 0x0210,\n\t0x0072030F: 0x0211,\n\t0x00520311: 0x0212,\n\t0x00720311: 0x0213,\n\t0x0055030F: 0x0214,\n\t0x0075030F: 0x0215,\n\t0x00550311: 0x0216,\n\t0x00750311: 0x0217,\n\t0x00530326: 0x0218,\n\t0x00730326: 0x0219,\n\t0x00540326: 0x021A,\n\t0x00740326: 0x021B,\n\t0x0048030C: 0x021E,\n\t0x0068030C: 0x021F,\n\t0x00410307: 0x0226,\n\t0x00610307: 0x0227,\n\t0x00450327: 0x0228,\n\t0x00650327: 0x0229,\n\t0x00D60304: 0x022A,\n\t0x00F60304: 0x022B,\n\t0x00D50304: 0x022C,\n\t0x00F50304: 0x022D,\n\t0x004F0307: 0x022E,\n\t0x006F0307: 0x022F,\n\t0x022E0304: 0x0230,\n\t0x022F0304: 0x0231,\n\t0x00590304: 0x0232,\n\t0x00790304: 0x0233,\n\t0x00A80301: 0x0385,\n\t0x03910301: 0x0386,\n\t0x03950301: 0x0388,\n\t0x03970301: 0x0389,\n\t0x03990301: 0x038A,\n\t0x039F0301: 0x038C,\n\t0x03A50301: 0x038E,\n\t0x03A90301: 0x038F,\n\t0x03CA0301: 0x0390,\n\t0x03990308: 0x03AA,\n\t0x03A50308: 0x03AB,\n\t0x03B10301: 0x03AC,\n\t0x03B50301: 0x03AD,\n\t0x03B70301: 0x03AE,\n\t0x03B90301: 0x03AF,\n\t0x03CB0301: 0x03B0,\n\t0x03B90308: 0x03CA,\n\t0x03C50308: 0x03CB,\n\t0x03BF0301: 0x03CC,\n\t0x03C50301: 0x03CD,\n\t0x03C90301: 0x03CE,\n\t0x03D20301: 0x03D3,\n\t0x03D20308: 0x03D4,\n\t0x04150300: 0x0400,\n\t0x04150308: 0x0401,\n\t0x04130301: 0x0403,\n\t0x04060308: 0x0407,\n\t0x041A0301: 0x040C,\n\t0x04180300: 0x040D,\n\t0x04230306: 0x040E,\n\t0x04180306: 0x0419,\n\t0x04380306: 0x0439,\n\t0x04350300: 0x0450,\n\t0x04350308: 0x0451,\n\t0x04330301: 0x0453,\n\t0x04560308: 0x0457,\n\t0x043A0301: 0x045C,\n\t0x04380300: 0x045D,\n\t0x04430306: 0x045E,\n\t0x0474030F: 0x0476,\n\t0x0475030F: 0x0477,\n\t0x04160306: 0x04C1,\n\t0x04360306: 0x04C2,\n\t0x04100306: 0x04D0,\n\t0x04300306: 0x04D1,\n\t0x04100308: 0x04D2,\n\t0x04300308: 0x04D3,\n\t0x04150306: 0x04D6,\n\t0x04350306: 0x04D7,\n\t0x04D80308: 0x04DA,\n\t0x04D90308: 0x04DB,\n\t0x04160308: 0x04DC,\n\t0x04360308: 0x04DD,\n\t0x04170308: 0x04DE,\n\t0x04370308: 0x04DF,\n\t0x04180304: 0x04E2,\n\t0x04380304: 0x04E3,\n\t0x04180308: 0x04E4,\n\t0x04380308: 0x04E5,\n\t0x041E0308: 0x04E6,\n\t0x043E0308: 0x04E7,\n\t0x04E80308: 0x04EA,\n\t0x04E90308: 0x04EB,\n\t0x042D0308: 0x04EC,\n\t0x044D0308: 0x04ED,\n\t0x04230304: 0x04EE,\n\t0x04430304: 0x04EF,\n\t0x04230308: 0x04F0,\n\t0x04430308: 0x04F1,\n\t0x0423030B: 0x04F2,\n\t0x0443030B: 0x04F3,\n\t0x04270308: 0x04F4,\n\t0x04470308: 0x04F5,\n\t0x042B0308: 0x04F8,\n\t0x044B0308: 0x04F9,\n\t0x06270653: 0x0622,\n\t0x06270654: 0x0623,\n\t0x06480654: 0x0624,\n\t0x06270655: 0x0625,\n\t0x064A0654: 0x0626,\n\t0x06D50654: 0x06C0,\n\t0x06C10654: 0x06C2,\n\t0x06D20654: 0x06D3,\n\t0x0928093C: 0x0929,\n\t0x0930093C: 0x0931,\n\t0x0933093C: 0x0934,\n\t0x09C709BE: 0x09CB,\n\t0x09C709D7: 0x09CC,\n\t0x0B470B56: 0x0B48,\n\t0x0B470B3E: 0x0B4B,\n\t0x0B470B57: 0x0B4C,\n\t0x0B920BD7: 0x0B94,\n\t0x0BC60BBE: 0x0BCA,\n\t0x0BC70BBE: 0x0BCB,\n\t0x0BC60BD7: 0x0BCC,\n\t0x0C460C56: 0x0C48,\n\t0x0CBF0CD5: 0x0CC0,\n\t0x0CC60CD5: 0x0CC7,\n\t0x0CC60CD6: 0x0CC8,\n\t0x0CC60CC2: 0x0CCA,\n\t0x0CCA0CD5: 0x0CCB,\n\t0x0D460D3E: 0x0D4A,\n\t0x0D470D3E: 0x0D4B,\n\t0x0D460D57: 0x0D4C,\n\t0x0DD90DCA: 0x0DDA,\n\t0x0DD90DCF: 0x0DDC,\n\t0x0DDC0DCA: 0x0DDD,\n\t0x0DD90DDF: 0x0DDE,\n\t0x1025102E: 0x1026,\n\t0x1B051B35: 0x1B06,\n\t0x1B071B35: 0x1B08,\n\t0x1B091B35: 0x1B0A,\n\t0x1B0B1B35: 0x1B0C,\n\t0x1B0D1B35: 0x1B0E,\n\t0x1B111B35: 0x1B12,\n\t0x1B3A1B35: 0x1B3B,\n\t0x1B3C1B35: 0x1B3D,\n\t0x1B3E1B35: 0x1B40,\n\t0x1B3F1B35: 0x1B41,\n\t0x1B421B35: 0x1B43,\n\t0x00410325: 0x1E00,\n\t0x00610325: 0x1E01,\n\t0x00420307: 0x1E02,\n\t0x00620307: 0x1E03,\n\t0x00420323: 0x1E04,\n\t0x00620323: 0x1E05,\n\t0x00420331: 0x1E06,\n\t0x00620331: 0x1E07,\n\t0x00C70301: 0x1E08,\n\t0x00E70301: 0x1E09,\n\t0x00440307: 0x1E0A,\n\t0x00640307: 0x1E0B,\n\t0x00440323: 0x1E0C,\n\t0x00640323: 0x1E0D,\n\t0x00440331: 0x1E0E,\n\t0x00640331: 0x1E0F,\n\t0x00440327: 0x1E10,\n\t0x00640327: 0x1E11,\n\t0x0044032D: 0x1E12,\n\t0x0064032D: 0x1E13,\n\t0x01120300: 0x1E14,\n\t0x01130300: 0x1E15,\n\t0x01120301: 0x1E16,\n\t0x01130301: 0x1E17,\n\t0x0045032D: 0x1E18,\n\t0x0065032D: 0x1E19,\n\t0x00450330: 0x1E1A,\n\t0x00650330: 0x1E1B,\n\t0x02280306: 0x1E1C,\n\t0x02290306: 0x1E1D,\n\t0x00460307: 0x1E1E,\n\t0x00660307: 0x1E1F,\n\t0x00470304: 0x1E20,\n\t0x00670304: 0x1E21,\n\t0x00480307: 0x1E22,\n\t0x00680307: 0x1E23,\n\t0x00480323: 0x1E24,\n\t0x00680323: 0x1E25,\n\t0x00480308: 0x1E26,\n\t0x00680308: 0x1E27,\n\t0x00480327: 0x1E28,\n\t0x00680327: 0x1E29,\n\t0x0048032E: 0x1E2A,\n\t0x0068032E: 0x1E2B,\n\t0x00490330: 0x1E2C,\n\t0x00690330: 0x1E2D,\n\t0x00CF0301: 0x1E2E,\n\t0x00EF0301: 0x1E2F,\n\t0x004B0301: 0x1E30,\n\t0x006B0301: 0x1E31,\n\t0x004B0323: 0x1E32,\n\t0x006B0323: 0x1E33,\n\t0x004B0331: 0x1E34,\n\t0x006B0331: 0x1E35,\n\t0x004C0323: 0x1E36,\n\t0x006C0323: 0x1E37,\n\t0x1E360304: 0x1E38,\n\t0x1E370304: 0x1E39,\n\t0x004C0331: 0x1E3A,\n\t0x006C0331: 0x1E3B,\n\t0x004C032D: 0x1E3C,\n\t0x006C032D: 0x1E3D,\n\t0x004D0301: 0x1E3E,\n\t0x006D0301: 0x1E3F,\n\t0x004D0307: 0x1E40,\n\t0x006D0307: 0x1E41,\n\t0x004D0323: 0x1E42,\n\t0x006D0323: 0x1E43,\n\t0x004E0307: 0x1E44,\n\t0x006E0307: 0x1E45,\n\t0x004E0323: 0x1E46,\n\t0x006E0323: 0x1E47,\n\t0x004E0331: 0x1E48,\n\t0x006E0331: 0x1E49,\n\t0x004E032D: 0x1E4A,\n\t0x006E032D: 0x1E4B,\n\t0x00D50301: 0x1E4C,\n\t0x00F50301: 0x1E4D,\n\t0x00D50308: 0x1E4E,\n\t0x00F50308: 0x1E4F,\n\t0x014C0300: 0x1E50,\n\t0x014D0300: 0x1E51,\n\t0x014C0301: 0x1E52,\n\t0x014D0301: 0x1E53,\n\t0x00500301: 0x1E54,\n\t0x00700301: 0x1E55,\n\t0x00500307: 0x1E56,\n\t0x00700307: 0x1E57,\n\t0x00520307: 0x1E58,\n\t0x00720307: 0x1E59,\n\t0x00520323: 0x1E5A,\n\t0x00720323: 0x1E5B,\n\t0x1E5A0304: 0x1E5C,\n\t0x1E5B0304: 0x1E5D,\n\t0x00520331: 0x1E5E,\n\t0x00720331: 0x1E5F,\n\t0x00530307: 0x1E60,\n\t0x00730307: 0x1E61,\n\t0x00530323: 0x1E62,\n\t0x00730323: 0x1E63,\n\t0x015A0307: 0x1E64,\n\t0x015B0307: 0x1E65,\n\t0x01600307: 0x1E66,\n\t0x01610307: 0x1E67,\n\t0x1E620307: 0x1E68,\n\t0x1E630307: 0x1E69,\n\t0x00540307: 0x1E6A,\n\t0x00740307: 0x1E6B,\n\t0x00540323: 0x1E6C,\n\t0x00740323: 0x1E6D,\n\t0x00540331: 0x1E6E,\n\t0x00740331: 0x1E6F,\n\t0x0054032D: 0x1E70,\n\t0x0074032D: 0x1E71,\n\t0x00550324: 0x1E72,\n\t0x00750324: 0x1E73,\n\t0x00550330: 0x1E74,\n\t0x00750330: 0x1E75,\n\t0x0055032D: 0x1E76,\n\t0x0075032D: 0x1E77,\n\t0x01680301: 0x1E78,\n\t0x01690301: 0x1E79,\n\t0x016A0308: 0x1E7A,\n\t0x016B0308: 0x1E7B,\n\t0x00560303: 0x1E7C,\n\t0x00760303: 0x1E7D,\n\t0x00560323: 0x1E7E,\n\t0x00760323: 0x1E7F,\n\t0x00570300: 0x1E80,\n\t0x00770300: 0x1E81,\n\t0x00570301: 0x1E82,\n\t0x00770301: 0x1E83,\n\t0x00570308: 0x1E84,\n\t0x00770308: 0x1E85,\n\t0x00570307: 0x1E86,\n\t0x00770307: 0x1E87,\n\t0x00570323: 0x1E88,\n\t0x00770323: 0x1E89,\n\t0x00580307: 0x1E8A,\n\t0x00780307: 0x1E8B,\n\t0x00580308: 0x1E8C,\n\t0x00780308: 0x1E8D,\n\t0x00590307: 0x1E8E,\n\t0x00790307: 0x1E8F,\n\t0x005A0302: 0x1E90,\n\t0x007A0302: 0x1E91,\n\t0x005A0323: 0x1E92,\n\t0x007A0323: 0x1E93,\n\t0x005A0331: 0x1E94,\n\t0x007A0331: 0x1E95,\n\t0x00680331: 0x1E96,\n\t0x00740308: 0x1E97,\n\t0x0077030A: 0x1E98,\n\t0x0079030A: 0x1E99,\n\t0x017F0307: 0x1E9B,\n\t0x00410323: 0x1EA0,\n\t0x00610323: 0x1EA1,\n\t0x00410309: 0x1EA2,\n\t0x00610309: 0x1EA3,\n\t0x00C20301: 0x1EA4,\n\t0x00E20301: 0x1EA5,\n\t0x00C20300: 0x1EA6,\n\t0x00E20300: 0x1EA7,\n\t0x00C20309: 0x1EA8,\n\t0x00E20309: 0x1EA9,\n\t0x00C20303: 0x1EAA,\n\t0x00E20303: 0x1EAB,\n\t0x1EA00302: 0x1EAC,\n\t0x1EA10302: 0x1EAD,\n\t0x01020301: 0x1EAE,\n\t0x01030301: 0x1EAF,\n\t0x01020300: 0x1EB0,\n\t0x01030300: 0x1EB1,\n\t0x01020309: 0x1EB2,\n\t0x01030309: 0x1EB3,\n\t0x01020303: 0x1EB4,\n\t0x01030303: 0x1EB5,\n\t0x1EA00306: 0x1EB6,\n\t0x1EA10306: 0x1EB7,\n\t0x00450323: 0x1EB8,\n\t0x00650323: 0x1EB9,\n\t0x00450309: 0x1EBA,\n\t0x00650309: 0x1EBB,\n\t0x00450303: 0x1EBC,\n\t0x00650303: 0x1EBD,\n\t0x00CA0301: 0x1EBE,\n\t0x00EA0301: 0x1EBF,\n\t0x00CA0300: 0x1EC0,\n\t0x00EA0300: 0x1EC1,\n\t0x00CA0309: 0x1EC2,\n\t0x00EA0309: 0x1EC3,\n\t0x00CA0303: 0x1EC4,\n\t0x00EA0303: 0x1EC5,\n\t0x1EB80302: 0x1EC6,\n\t0x1EB90302: 0x1EC7,\n\t0x00490309: 0x1EC8,\n\t0x00690309: 0x1EC9,\n\t0x00490323: 0x1ECA,\n\t0x00690323: 0x1ECB,\n\t0x004F0323: 0x1ECC,\n\t0x006F0323: 0x1ECD,\n\t0x004F0309: 0x1ECE,\n\t0x006F0309: 0x1ECF,\n\t0x00D40301: 0x1ED0,\n\t0x00F40301: 0x1ED1,\n\t0x00D40300: 0x1ED2,\n\t0x00F40300: 0x1ED3,\n\t0x00D40309: 0x1ED4,\n\t0x00F40309: 0x1ED5,\n\t0x00D40303: 0x1ED6,\n\t0x00F40303: 0x1ED7,\n\t0x1ECC0302: 0x1ED8,\n\t0x1ECD0302: 0x1ED9,\n\t0x01A00301: 0x1EDA,\n\t0x01A10301: 0x1EDB,\n\t0x01A00300: 0x1EDC,\n\t0x01A10300: 0x1EDD,\n\t0x01A00309: 0x1EDE,\n\t0x01A10309: 0x1EDF,\n\t0x01A00303: 0x1EE0,\n\t0x01A10303: 0x1EE1,\n\t0x01A00323: 0x1EE2,\n\t0x01A10323: 0x1EE3,\n\t0x00550323: 0x1EE4,\n\t0x00750323: 0x1EE5,\n\t0x00550309: 0x1EE6,\n\t0x00750309: 0x1EE7,\n\t0x01AF0301: 0x1EE8,\n\t0x01B00301: 0x1EE9,\n\t0x01AF0300: 0x1EEA,\n\t0x01B00300: 0x1EEB,\n\t0x01AF0309: 0x1EEC,\n\t0x01B00309: 0x1EED,\n\t0x01AF0303: 0x1EEE,\n\t0x01B00303: 0x1EEF,\n\t0x01AF0323: 0x1EF0,\n\t0x01B00323: 0x1EF1,\n\t0x00590300: 0x1EF2,\n\t0x00790300: 0x1EF3,\n\t0x00590323: 0x1EF4,\n\t0x00790323: 0x1EF5,\n\t0x00590309: 0x1EF6,\n\t0x00790309: 0x1EF7,\n\t0x00590303: 0x1EF8,\n\t0x00790303: 0x1EF9,\n\t0x03B10313: 0x1F00,\n\t0x03B10314: 0x1F01,\n\t0x1F000300: 0x1F02,\n\t0x1F010300: 0x1F03,\n\t0x1F000301: 0x1F04,\n\t0x1F010301: 0x1F05,\n\t0x1F000342: 0x1F06,\n\t0x1F010342: 0x1F07,\n\t0x03910313: 0x1F08,\n\t0x03910314: 0x1F09,\n\t0x1F080300: 0x1F0A,\n\t0x1F090300: 0x1F0B,\n\t0x1F080301: 0x1F0C,\n\t0x1F090301: 0x1F0D,\n\t0x1F080342: 0x1F0E,\n\t0x1F090342: 0x1F0F,\n\t0x03B50313: 0x1F10,\n\t0x03B50314: 0x1F11,\n\t0x1F100300: 0x1F12,\n\t0x1F110300: 0x1F13,\n\t0x1F100301: 0x1F14,\n\t0x1F110301: 0x1F15,\n\t0x03950313: 0x1F18,\n\t0x03950314: 0x1F19,\n\t0x1F180300: 0x1F1A,\n\t0x1F190300: 0x1F1B,\n\t0x1F180301: 0x1F1C,\n\t0x1F190301: 0x1F1D,\n\t0x03B70313: 0x1F20,\n\t0x03B70314: 0x1F21,\n\t0x1F200300: 0x1F22,\n\t0x1F210300: 0x1F23,\n\t0x1F200301: 0x1F24,\n\t0x1F210301: 0x1F25,\n\t0x1F200342: 0x1F26,\n\t0x1F210342: 0x1F27,\n\t0x03970313: 0x1F28,\n\t0x03970314: 0x1F29,\n\t0x1F280300: 0x1F2A,\n\t0x1F290300: 0x1F2B,\n\t0x1F280301: 0x1F2C,\n\t0x1F290301: 0x1F2D,\n\t0x1F280342: 0x1F2E,\n\t0x1F290342: 0x1F2F,\n\t0x03B90313: 0x1F30,\n\t0x03B90314: 0x1F31,\n\t0x1F300300: 0x1F32,\n\t0x1F310300: 0x1F33,\n\t0x1F300301: 0x1F34,\n\t0x1F310301: 0x1F35,\n\t0x1F300342: 0x1F36,\n\t0x1F310342: 0x1F37,\n\t0x03990313: 0x1F38,\n\t0x03990314: 0x1F39,\n\t0x1F380300: 0x1F3A,\n\t0x1F390300: 0x1F3B,\n\t0x1F380301: 0x1F3C,\n\t0x1F390301: 0x1F3D,\n\t0x1F380342: 0x1F3E,\n\t0x1F390342: 0x1F3F,\n\t0x03BF0313: 0x1F40,\n\t0x03BF0314: 0x1F41,\n\t0x1F400300: 0x1F42,\n\t0x1F410300: 0x1F43,\n\t0x1F400301: 0x1F44,\n\t0x1F410301: 0x1F45,\n\t0x039F0313: 0x1F48,\n\t0x039F0314: 0x1F49,\n\t0x1F480300: 0x1F4A,\n\t0x1F490300: 0x1F4B,\n\t0x1F480301: 0x1F4C,\n\t0x1F490301: 0x1F4D,\n\t0x03C50313: 0x1F50,\n\t0x03C50314: 0x1F51,\n\t0x1F500300: 0x1F52,\n\t0x1F510300: 0x1F53,\n\t0x1F500301: 0x1F54,\n\t0x1F510301: 0x1F55,\n\t0x1F500342: 0x1F56,\n\t0x1F510342: 0x1F57,\n\t0x03A50314: 0x1F59,\n\t0x1F590300: 0x1F5B,\n\t0x1F590301: 0x1F5D,\n\t0x1F590342: 0x1F5F,\n\t0x03C90313: 0x1F60,\n\t0x03C90314: 0x1F61,\n\t0x1F600300: 0x1F62,\n\t0x1F610300: 0x1F63,\n\t0x1F600301: 0x1F64,\n\t0x1F610301: 0x1F65,\n\t0x1F600342: 0x1F66,\n\t0x1F610342: 0x1F67,\n\t0x03A90313: 0x1F68,\n\t0x03A90314: 0x1F69,\n\t0x1F680300: 0x1F6A,\n\t0x1F690300: 0x1F6B,\n\t0x1F680301: 0x1F6C,\n\t0x1F690301: 0x1F6D,\n\t0x1F680342: 0x1F6E,\n\t0x1F690342: 0x1F6F,\n\t0x03B10300: 0x1F70,\n\t0x03B50300: 0x1F72,\n\t0x03B70300: 0x1F74,\n\t0x03B90300: 0x1F76,\n\t0x03BF0300: 0x1F78,\n\t0x03C50300: 0x1F7A,\n\t0x03C90300: 0x1F7C,\n\t0x1F000345: 0x1F80,\n\t0x1F010345: 0x1F81,\n\t0x1F020345: 0x1F82,\n\t0x1F030345: 0x1F83,\n\t0x1F040345: 0x1F84,\n\t0x1F050345: 0x1F85,\n\t0x1F060345: 0x1F86,\n\t0x1F070345: 0x1F87,\n\t0x1F080345: 0x1F88,\n\t0x1F090345: 0x1F89,\n\t0x1F0A0345: 0x1F8A,\n\t0x1F0B0345: 0x1F8B,\n\t0x1F0C0345: 0x1F8C,\n\t0x1F0D0345: 0x1F8D,\n\t0x1F0E0345: 0x1F8E,\n\t0x1F0F0345: 0x1F8F,\n\t0x1F200345: 0x1F90,\n\t0x1F210345: 0x1F91,\n\t0x1F220345: 0x1F92,\n\t0x1F230345: 0x1F93,\n\t0x1F240345: 0x1F94,\n\t0x1F250345: 0x1F95,\n\t0x1F260345: 0x1F96,\n\t0x1F270345: 0x1F97,\n\t0x1F280345: 0x1F98,\n\t0x1F290345: 0x1F99,\n\t0x1F2A0345: 0x1F9A,\n\t0x1F2B0345: 0x1F9B,\n\t0x1F2C0345: 0x1F9C,\n\t0x1F2D0345: 0x1F9D,\n\t0x1F2E0345: 0x1F9E,\n\t0x1F2F0345: 0x1F9F,\n\t0x1F600345: 0x1FA0,\n\t0x1F610345: 0x1FA1,\n\t0x1F620345: 0x1FA2,\n\t0x1F630345: 0x1FA3,\n\t0x1F640345: 0x1FA4,\n\t0x1F650345: 0x1FA5,\n\t0x1F660345: 0x1FA6,\n\t0x1F670345: 0x1FA7,\n\t0x1F680345: 0x1FA8,\n\t0x1F690345: 0x1FA9,\n\t0x1F6A0345: 0x1FAA,\n\t0x1F6B0345: 0x1FAB,\n\t0x1F6C0345: 0x1FAC,\n\t0x1F6D0345: 0x1FAD,\n\t0x1F6E0345: 0x1FAE,\n\t0x1F6F0345: 0x1FAF,\n\t0x03B10306: 0x1FB0,\n\t0x03B10304: 0x1FB1,\n\t0x1F700345: 0x1FB2,\n\t0x03B10345: 0x1FB3,\n\t0x03AC0345: 0x1FB4,\n\t0x03B10342: 0x1FB6,\n\t0x1FB60345: 0x1FB7,\n\t0x03910306: 0x1FB8,\n\t0x03910304: 0x1FB9,\n\t0x03910300: 0x1FBA,\n\t0x03910345: 0x1FBC,\n\t0x00A80342: 0x1FC1,\n\t0x1F740345: 0x1FC2,\n\t0x03B70345: 0x1FC3,\n\t0x03AE0345: 0x1FC4,\n\t0x03B70342: 0x1FC6,\n\t0x1FC60345: 0x1FC7,\n\t0x03950300: 0x1FC8,\n\t0x03970300: 0x1FCA,\n\t0x03970345: 0x1FCC,\n\t0x1FBF0300: 0x1FCD,\n\t0x1FBF0301: 0x1FCE,\n\t0x1FBF0342: 0x1FCF,\n\t0x03B90306: 0x1FD0,\n\t0x03B90304: 0x1FD1,\n\t0x03CA0300: 0x1FD2,\n\t0x03B90342: 0x1FD6,\n\t0x03CA0342: 0x1FD7,\n\t0x03990306: 0x1FD8,\n\t0x03990304: 0x1FD9,\n\t0x03990300: 0x1FDA,\n\t0x1FFE0300: 0x1FDD,\n\t0x1FFE0301: 0x1FDE,\n\t0x1FFE0342: 0x1FDF,\n\t0x03C50306: 0x1FE0,\n\t0x03C50304: 0x1FE1,\n\t0x03CB0300: 0x1FE2,\n\t0x03C10313: 0x1FE4,\n\t0x03C10314: 0x1FE5,\n\t0x03C50342: 0x1FE6,\n\t0x03CB0342: 0x1FE7,\n\t0x03A50306: 0x1FE8,\n\t0x03A50304: 0x1FE9,\n\t0x03A50300: 0x1FEA,\n\t0x03A10314: 0x1FEC,\n\t0x00A80300: 0x1FED,\n\t0x1F7C0345: 0x1FF2,\n\t0x03C90345: 0x1FF3,\n\t0x03CE0345: 0x1FF4,\n\t0x03C90342: 0x1FF6,\n\t0x1FF60345: 0x1FF7,\n\t0x039F0300: 0x1FF8,\n\t0x03A90300: 0x1FFA,\n\t0x03A90345: 0x1FFC,\n\t0x21900338: 0x219A,\n\t0x21920338: 0x219B,\n\t0x21940338: 0x21AE,\n\t0x21D00338: 0x21CD,\n\t0x21D40338: 0x21CE,\n\t0x21D20338: 0x21CF,\n\t0x22030338: 0x2204,\n\t0x22080338: 0x2209,\n\t0x220B0338: 0x220C,\n\t0x22230338: 0x2224,\n\t0x22250338: 0x2226,\n\t0x223C0338: 0x2241,\n\t0x22430338: 0x2244,\n\t0x22450338: 0x2247,\n\t0x22480338: 0x2249,\n\t0x003D0338: 0x2260,\n\t0x22610338: 0x2262,\n\t0x224D0338: 0x226D,\n\t0x003C0338: 0x226E,\n\t0x003E0338: 0x226F,\n\t0x22640338: 0x2270,\n\t0x22650338: 0x2271,\n\t0x22720338: 0x2274,\n\t0x22730338: 0x2275,\n\t0x22760338: 0x2278,\n\t0x22770338: 0x2279,\n\t0x227A0338: 0x2280,\n\t0x227B0338: 0x2281,\n\t0x22820338: 0x2284,\n\t0x22830338: 0x2285,\n\t0x22860338: 0x2288,\n\t0x22870338: 0x2289,\n\t0x22A20338: 0x22AC,\n\t0x22A80338: 0x22AD,\n\t0x22A90338: 0x22AE,\n\t0x22AB0338: 0x22AF,\n\t0x227C0338: 0x22E0,\n\t0x227D0338: 0x22E1,\n\t0x22910338: 0x22E2,\n\t0x22920338: 0x22E3,\n\t0x22B20338: 0x22EA,\n\t0x22B30338: 0x22EB,\n\t0x22B40338: 0x22EC,\n\t0x22B50338: 0x22ED,\n\t0x304B3099: 0x304C,\n\t0x304D3099: 0x304E,\n\t0x304F3099: 0x3050,\n\t0x30513099: 0x3052,\n\t0x30533099: 0x3054,\n\t0x30553099: 0x3056,\n\t0x30573099: 0x3058,\n\t0x30593099: 0x305A,\n\t0x305B3099: 0x305C,\n\t0x305D3099: 0x305E,\n\t0x305F3099: 0x3060,\n\t0x30613099: 0x3062,\n\t0x30643099: 0x3065,\n\t0x30663099: 0x3067,\n\t0x30683099: 0x3069,\n\t0x306F3099: 0x3070,\n\t0x306F309A: 0x3071,\n\t0x30723099: 0x3073,\n\t0x3072309A: 0x3074,\n\t0x30753099: 0x3076,\n\t0x3075309A: 0x3077,\n\t0x30783099: 0x3079,\n\t0x3078309A: 0x307A,\n\t0x307B3099: 0x307C,\n\t0x307B309A: 0x307D,\n\t0x30463099: 0x3094,\n\t0x309D3099: 0x309E,\n\t0x30AB3099: 0x30AC,\n\t0x30AD3099: 0x30AE,\n\t0x30AF3099: 0x30B0,\n\t0x30B13099: 0x30B2,\n\t0x30B33099: 0x30B4,\n\t0x30B53099: 0x30B6,\n\t0x30B73099: 0x30B8,\n\t0x30B93099: 0x30BA,\n\t0x30BB3099: 0x30BC,\n\t0x30BD3099: 0x30BE,\n\t0x30BF3099: 0x30C0,\n\t0x30C13099: 0x30C2,\n\t0x30C43099: 0x30C5,\n\t0x30C63099: 0x30C7,\n\t0x30C83099: 0x30C9,\n\t0x30CF3099: 0x30D0,\n\t0x30CF309A: 0x30D1,\n\t0x30D23099: 0x30D3,\n\t0x30D2309A: 0x30D4,\n\t0x30D53099: 0x30D6,\n\t0x30D5309A: 0x30D7,\n\t0x30D83099: 0x30D9,\n\t0x30D8309A: 0x30DA,\n\t0x30DB3099: 0x30DC,\n\t0x30DB309A: 0x30DD,\n\t0x30A63099: 0x30F4,\n\t0x30EF3099: 0x30F7,\n\t0x30F03099: 0x30F8,\n\t0x30F13099: 0x30F9,\n\t0x30F23099: 0x30FA,\n\t0x30FD3099: 0x30FE,\n\t0x109910BA: 0x1109A,\n\t0x109B10BA: 0x1109C,\n\t0x10A510BA: 0x110AB,\n\t0x11311127: 0x1112E,\n\t0x11321127: 0x1112F,\n\t0x1347133E: 0x1134B,\n\t0x13471357: 0x1134C,\n\t0x14B914BA: 0x114BB,\n\t0x14B914B0: 0x114BC,\n\t0x14B914BD: 0x114BE,\n\t0x15B815AF: 0x115BA,\n\t0x15B915AF: 0x115BB,\n}\n\n// Total size of tables: 53KB (54226 bytes)\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/norm/tables9.0.0.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\n// +build !go1.10\n\npackage norm\n\nconst (\n\t// Version is the Unicode edition from which the tables are derived.\n\tVersion = \"9.0.0\"\n\n\t// MaxTransformChunkSize indicates the maximum number of bytes that Transform\n\t// may need to write atomically for any Form. Making a destination buffer at\n\t// least this size ensures that Transform can always make progress and that\n\t// the user does not need to grow the buffer on an ErrShortDst.\n\tMaxTransformChunkSize = 35 + maxNonStarters*4\n)\n\nvar ccc = [55]uint8{\n\t0, 1, 7, 8, 9, 10, 11, 12,\n\t13, 14, 15, 16, 17, 18, 19, 20,\n\t21, 22, 23, 24, 25, 26, 27, 28,\n\t29, 30, 31, 32, 33, 34, 35, 36,\n\t84, 91, 103, 107, 118, 122, 129, 130,\n\t132, 202, 214, 216, 218, 220, 222, 224,\n\t226, 228, 230, 232, 233, 234, 240,\n}\n\nconst (\n\tfirstMulti            = 0x186D\n\tfirstCCC              = 0x2C9E\n\tendMulti              = 0x2F60\n\tfirstLeadingCCC       = 0x49AE\n\tfirstCCCZeroExcept    = 0x4A78\n\tfirstStarterWithNLead = 0x4A9F\n\tlastDecomp            = 0x4AA1\n\tmaxDecomp             = 0x8000\n)\n\n// decomps: 19105 bytes\nvar decomps = [...]byte{\n\t// Bytes 0 - 3f\n\t0x00, 0x41, 0x20, 0x41, 0x21, 0x41, 0x22, 0x41,\n\t0x23, 0x41, 0x24, 0x41, 0x25, 0x41, 0x26, 0x41,\n\t0x27, 0x41, 0x28, 0x41, 0x29, 0x41, 0x2A, 0x41,\n\t0x2B, 0x41, 0x2C, 0x41, 0x2D, 0x41, 0x2E, 0x41,\n\t0x2F, 0x41, 0x30, 0x41, 0x31, 0x41, 0x32, 0x41,\n\t0x33, 0x41, 0x34, 0x41, 0x35, 0x41, 0x36, 0x41,\n\t0x37, 0x41, 0x38, 0x41, 0x39, 0x41, 0x3A, 0x41,\n\t0x3B, 0x41, 0x3C, 0x41, 0x3D, 0x41, 0x3E, 0x41,\n\t// Bytes 40 - 7f\n\t0x3F, 0x41, 0x40, 0x41, 0x41, 0x41, 0x42, 0x41,\n\t0x43, 0x41, 0x44, 0x41, 0x45, 0x41, 0x46, 0x41,\n\t0x47, 0x41, 0x48, 0x41, 0x49, 0x41, 0x4A, 0x41,\n\t0x4B, 0x41, 0x4C, 0x41, 0x4D, 0x41, 0x4E, 0x41,\n\t0x4F, 0x41, 0x50, 0x41, 0x51, 0x41, 0x52, 0x41,\n\t0x53, 0x41, 0x54, 0x41, 0x55, 0x41, 0x56, 0x41,\n\t0x57, 0x41, 0x58, 0x41, 0x59, 0x41, 0x5A, 0x41,\n\t0x5B, 0x41, 0x5C, 0x41, 0x5D, 0x41, 0x5E, 0x41,\n\t// Bytes 80 - bf\n\t0x5F, 0x41, 0x60, 0x41, 0x61, 0x41, 0x62, 0x41,\n\t0x63, 0x41, 0x64, 0x41, 0x65, 0x41, 0x66, 0x41,\n\t0x67, 0x41, 0x68, 0x41, 0x69, 0x41, 0x6A, 0x41,\n\t0x6B, 0x41, 0x6C, 0x41, 0x6D, 0x41, 0x6E, 0x41,\n\t0x6F, 0x41, 0x70, 0x41, 0x71, 0x41, 0x72, 0x41,\n\t0x73, 0x41, 0x74, 0x41, 0x75, 0x41, 0x76, 0x41,\n\t0x77, 0x41, 0x78, 0x41, 0x79, 0x41, 0x7A, 0x41,\n\t0x7B, 0x41, 0x7C, 0x41, 0x7D, 0x41, 0x7E, 0x42,\n\t// Bytes c0 - ff\n\t0xC2, 0xA2, 0x42, 0xC2, 0xA3, 0x42, 0xC2, 0xA5,\n\t0x42, 0xC2, 0xA6, 0x42, 0xC2, 0xAC, 0x42, 0xC2,\n\t0xB7, 0x42, 0xC3, 0x86, 0x42, 0xC3, 0xB0, 0x42,\n\t0xC4, 0xA6, 0x42, 0xC4, 0xA7, 0x42, 0xC4, 0xB1,\n\t0x42, 0xC5, 0x8B, 0x42, 0xC5, 0x93, 0x42, 0xC6,\n\t0x8E, 0x42, 0xC6, 0x90, 0x42, 0xC6, 0xAB, 0x42,\n\t0xC8, 0xA2, 0x42, 0xC8, 0xB7, 0x42, 0xC9, 0x90,\n\t0x42, 0xC9, 0x91, 0x42, 0xC9, 0x92, 0x42, 0xC9,\n\t// Bytes 100 - 13f\n\t0x94, 0x42, 0xC9, 0x95, 0x42, 0xC9, 0x99, 0x42,\n\t0xC9, 0x9B, 0x42, 0xC9, 0x9C, 0x42, 0xC9, 0x9F,\n\t0x42, 0xC9, 0xA1, 0x42, 0xC9, 0xA3, 0x42, 0xC9,\n\t0xA5, 0x42, 0xC9, 0xA6, 0x42, 0xC9, 0xA8, 0x42,\n\t0xC9, 0xA9, 0x42, 0xC9, 0xAA, 0x42, 0xC9, 0xAB,\n\t0x42, 0xC9, 0xAD, 0x42, 0xC9, 0xAF, 0x42, 0xC9,\n\t0xB0, 0x42, 0xC9, 0xB1, 0x42, 0xC9, 0xB2, 0x42,\n\t0xC9, 0xB3, 0x42, 0xC9, 0xB4, 0x42, 0xC9, 0xB5,\n\t// Bytes 140 - 17f\n\t0x42, 0xC9, 0xB8, 0x42, 0xC9, 0xB9, 0x42, 0xC9,\n\t0xBB, 0x42, 0xCA, 0x81, 0x42, 0xCA, 0x82, 0x42,\n\t0xCA, 0x83, 0x42, 0xCA, 0x89, 0x42, 0xCA, 0x8A,\n\t0x42, 0xCA, 0x8B, 0x42, 0xCA, 0x8C, 0x42, 0xCA,\n\t0x90, 0x42, 0xCA, 0x91, 0x42, 0xCA, 0x92, 0x42,\n\t0xCA, 0x95, 0x42, 0xCA, 0x9D, 0x42, 0xCA, 0x9F,\n\t0x42, 0xCA, 0xB9, 0x42, 0xCE, 0x91, 0x42, 0xCE,\n\t0x92, 0x42, 0xCE, 0x93, 0x42, 0xCE, 0x94, 0x42,\n\t// Bytes 180 - 1bf\n\t0xCE, 0x95, 0x42, 0xCE, 0x96, 0x42, 0xCE, 0x97,\n\t0x42, 0xCE, 0x98, 0x42, 0xCE, 0x99, 0x42, 0xCE,\n\t0x9A, 0x42, 0xCE, 0x9B, 0x42, 0xCE, 0x9C, 0x42,\n\t0xCE, 0x9D, 0x42, 0xCE, 0x9E, 0x42, 0xCE, 0x9F,\n\t0x42, 0xCE, 0xA0, 0x42, 0xCE, 0xA1, 0x42, 0xCE,\n\t0xA3, 0x42, 0xCE, 0xA4, 0x42, 0xCE, 0xA5, 0x42,\n\t0xCE, 0xA6, 0x42, 0xCE, 0xA7, 0x42, 0xCE, 0xA8,\n\t0x42, 0xCE, 0xA9, 0x42, 0xCE, 0xB1, 0x42, 0xCE,\n\t// Bytes 1c0 - 1ff\n\t0xB2, 0x42, 0xCE, 0xB3, 0x42, 0xCE, 0xB4, 0x42,\n\t0xCE, 0xB5, 0x42, 0xCE, 0xB6, 0x42, 0xCE, 0xB7,\n\t0x42, 0xCE, 0xB8, 0x42, 0xCE, 0xB9, 0x42, 0xCE,\n\t0xBA, 0x42, 0xCE, 0xBB, 0x42, 0xCE, 0xBC, 0x42,\n\t0xCE, 0xBD, 0x42, 0xCE, 0xBE, 0x42, 0xCE, 0xBF,\n\t0x42, 0xCF, 0x80, 0x42, 0xCF, 0x81, 0x42, 0xCF,\n\t0x82, 0x42, 0xCF, 0x83, 0x42, 0xCF, 0x84, 0x42,\n\t0xCF, 0x85, 0x42, 0xCF, 0x86, 0x42, 0xCF, 0x87,\n\t// Bytes 200 - 23f\n\t0x42, 0xCF, 0x88, 0x42, 0xCF, 0x89, 0x42, 0xCF,\n\t0x9C, 0x42, 0xCF, 0x9D, 0x42, 0xD0, 0xBD, 0x42,\n\t0xD1, 0x8A, 0x42, 0xD1, 0x8C, 0x42, 0xD7, 0x90,\n\t0x42, 0xD7, 0x91, 0x42, 0xD7, 0x92, 0x42, 0xD7,\n\t0x93, 0x42, 0xD7, 0x94, 0x42, 0xD7, 0x9B, 0x42,\n\t0xD7, 0x9C, 0x42, 0xD7, 0x9D, 0x42, 0xD7, 0xA2,\n\t0x42, 0xD7, 0xA8, 0x42, 0xD7, 0xAA, 0x42, 0xD8,\n\t0xA1, 0x42, 0xD8, 0xA7, 0x42, 0xD8, 0xA8, 0x42,\n\t// Bytes 240 - 27f\n\t0xD8, 0xA9, 0x42, 0xD8, 0xAA, 0x42, 0xD8, 0xAB,\n\t0x42, 0xD8, 0xAC, 0x42, 0xD8, 0xAD, 0x42, 0xD8,\n\t0xAE, 0x42, 0xD8, 0xAF, 0x42, 0xD8, 0xB0, 0x42,\n\t0xD8, 0xB1, 0x42, 0xD8, 0xB2, 0x42, 0xD8, 0xB3,\n\t0x42, 0xD8, 0xB4, 0x42, 0xD8, 0xB5, 0x42, 0xD8,\n\t0xB6, 0x42, 0xD8, 0xB7, 0x42, 0xD8, 0xB8, 0x42,\n\t0xD8, 0xB9, 0x42, 0xD8, 0xBA, 0x42, 0xD9, 0x81,\n\t0x42, 0xD9, 0x82, 0x42, 0xD9, 0x83, 0x42, 0xD9,\n\t// Bytes 280 - 2bf\n\t0x84, 0x42, 0xD9, 0x85, 0x42, 0xD9, 0x86, 0x42,\n\t0xD9, 0x87, 0x42, 0xD9, 0x88, 0x42, 0xD9, 0x89,\n\t0x42, 0xD9, 0x8A, 0x42, 0xD9, 0xAE, 0x42, 0xD9,\n\t0xAF, 0x42, 0xD9, 0xB1, 0x42, 0xD9, 0xB9, 0x42,\n\t0xD9, 0xBA, 0x42, 0xD9, 0xBB, 0x42, 0xD9, 0xBE,\n\t0x42, 0xD9, 0xBF, 0x42, 0xDA, 0x80, 0x42, 0xDA,\n\t0x83, 0x42, 0xDA, 0x84, 0x42, 0xDA, 0x86, 0x42,\n\t0xDA, 0x87, 0x42, 0xDA, 0x88, 0x42, 0xDA, 0x8C,\n\t// Bytes 2c0 - 2ff\n\t0x42, 0xDA, 0x8D, 0x42, 0xDA, 0x8E, 0x42, 0xDA,\n\t0x91, 0x42, 0xDA, 0x98, 0x42, 0xDA, 0xA1, 0x42,\n\t0xDA, 0xA4, 0x42, 0xDA, 0xA6, 0x42, 0xDA, 0xA9,\n\t0x42, 0xDA, 0xAD, 0x42, 0xDA, 0xAF, 0x42, 0xDA,\n\t0xB1, 0x42, 0xDA, 0xB3, 0x42, 0xDA, 0xBA, 0x42,\n\t0xDA, 0xBB, 0x42, 0xDA, 0xBE, 0x42, 0xDB, 0x81,\n\t0x42, 0xDB, 0x85, 0x42, 0xDB, 0x86, 0x42, 0xDB,\n\t0x87, 0x42, 0xDB, 0x88, 0x42, 0xDB, 0x89, 0x42,\n\t// Bytes 300 - 33f\n\t0xDB, 0x8B, 0x42, 0xDB, 0x8C, 0x42, 0xDB, 0x90,\n\t0x42, 0xDB, 0x92, 0x43, 0xE0, 0xBC, 0x8B, 0x43,\n\t0xE1, 0x83, 0x9C, 0x43, 0xE1, 0x84, 0x80, 0x43,\n\t0xE1, 0x84, 0x81, 0x43, 0xE1, 0x84, 0x82, 0x43,\n\t0xE1, 0x84, 0x83, 0x43, 0xE1, 0x84, 0x84, 0x43,\n\t0xE1, 0x84, 0x85, 0x43, 0xE1, 0x84, 0x86, 0x43,\n\t0xE1, 0x84, 0x87, 0x43, 0xE1, 0x84, 0x88, 0x43,\n\t0xE1, 0x84, 0x89, 0x43, 0xE1, 0x84, 0x8A, 0x43,\n\t// Bytes 340 - 37f\n\t0xE1, 0x84, 0x8B, 0x43, 0xE1, 0x84, 0x8C, 0x43,\n\t0xE1, 0x84, 0x8D, 0x43, 0xE1, 0x84, 0x8E, 0x43,\n\t0xE1, 0x84, 0x8F, 0x43, 0xE1, 0x84, 0x90, 0x43,\n\t0xE1, 0x84, 0x91, 0x43, 0xE1, 0x84, 0x92, 0x43,\n\t0xE1, 0x84, 0x94, 0x43, 0xE1, 0x84, 0x95, 0x43,\n\t0xE1, 0x84, 0x9A, 0x43, 0xE1, 0x84, 0x9C, 0x43,\n\t0xE1, 0x84, 0x9D, 0x43, 0xE1, 0x84, 0x9E, 0x43,\n\t0xE1, 0x84, 0xA0, 0x43, 0xE1, 0x84, 0xA1, 0x43,\n\t// Bytes 380 - 3bf\n\t0xE1, 0x84, 0xA2, 0x43, 0xE1, 0x84, 0xA3, 0x43,\n\t0xE1, 0x84, 0xA7, 0x43, 0xE1, 0x84, 0xA9, 0x43,\n\t0xE1, 0x84, 0xAB, 0x43, 0xE1, 0x84, 0xAC, 0x43,\n\t0xE1, 0x84, 0xAD, 0x43, 0xE1, 0x84, 0xAE, 0x43,\n\t0xE1, 0x84, 0xAF, 0x43, 0xE1, 0x84, 0xB2, 0x43,\n\t0xE1, 0x84, 0xB6, 0x43, 0xE1, 0x85, 0x80, 0x43,\n\t0xE1, 0x85, 0x87, 0x43, 0xE1, 0x85, 0x8C, 0x43,\n\t0xE1, 0x85, 0x97, 0x43, 0xE1, 0x85, 0x98, 0x43,\n\t// Bytes 3c0 - 3ff\n\t0xE1, 0x85, 0x99, 0x43, 0xE1, 0x85, 0xA0, 0x43,\n\t0xE1, 0x86, 0x84, 0x43, 0xE1, 0x86, 0x85, 0x43,\n\t0xE1, 0x86, 0x88, 0x43, 0xE1, 0x86, 0x91, 0x43,\n\t0xE1, 0x86, 0x92, 0x43, 0xE1, 0x86, 0x94, 0x43,\n\t0xE1, 0x86, 0x9E, 0x43, 0xE1, 0x86, 0xA1, 0x43,\n\t0xE1, 0x87, 0x87, 0x43, 0xE1, 0x87, 0x88, 0x43,\n\t0xE1, 0x87, 0x8C, 0x43, 0xE1, 0x87, 0x8E, 0x43,\n\t0xE1, 0x87, 0x93, 0x43, 0xE1, 0x87, 0x97, 0x43,\n\t// Bytes 400 - 43f\n\t0xE1, 0x87, 0x99, 0x43, 0xE1, 0x87, 0x9D, 0x43,\n\t0xE1, 0x87, 0x9F, 0x43, 0xE1, 0x87, 0xB1, 0x43,\n\t0xE1, 0x87, 0xB2, 0x43, 0xE1, 0xB4, 0x82, 0x43,\n\t0xE1, 0xB4, 0x96, 0x43, 0xE1, 0xB4, 0x97, 0x43,\n\t0xE1, 0xB4, 0x9C, 0x43, 0xE1, 0xB4, 0x9D, 0x43,\n\t0xE1, 0xB4, 0xA5, 0x43, 0xE1, 0xB5, 0xBB, 0x43,\n\t0xE1, 0xB6, 0x85, 0x43, 0xE2, 0x80, 0x82, 0x43,\n\t0xE2, 0x80, 0x83, 0x43, 0xE2, 0x80, 0x90, 0x43,\n\t// Bytes 440 - 47f\n\t0xE2, 0x80, 0x93, 0x43, 0xE2, 0x80, 0x94, 0x43,\n\t0xE2, 0x82, 0xA9, 0x43, 0xE2, 0x86, 0x90, 0x43,\n\t0xE2, 0x86, 0x91, 0x43, 0xE2, 0x86, 0x92, 0x43,\n\t0xE2, 0x86, 0x93, 0x43, 0xE2, 0x88, 0x82, 0x43,\n\t0xE2, 0x88, 0x87, 0x43, 0xE2, 0x88, 0x91, 0x43,\n\t0xE2, 0x88, 0x92, 0x43, 0xE2, 0x94, 0x82, 0x43,\n\t0xE2, 0x96, 0xA0, 0x43, 0xE2, 0x97, 0x8B, 0x43,\n\t0xE2, 0xA6, 0x85, 0x43, 0xE2, 0xA6, 0x86, 0x43,\n\t// Bytes 480 - 4bf\n\t0xE2, 0xB5, 0xA1, 0x43, 0xE3, 0x80, 0x81, 0x43,\n\t0xE3, 0x80, 0x82, 0x43, 0xE3, 0x80, 0x88, 0x43,\n\t0xE3, 0x80, 0x89, 0x43, 0xE3, 0x80, 0x8A, 0x43,\n\t0xE3, 0x80, 0x8B, 0x43, 0xE3, 0x80, 0x8C, 0x43,\n\t0xE3, 0x80, 0x8D, 0x43, 0xE3, 0x80, 0x8E, 0x43,\n\t0xE3, 0x80, 0x8F, 0x43, 0xE3, 0x80, 0x90, 0x43,\n\t0xE3, 0x80, 0x91, 0x43, 0xE3, 0x80, 0x92, 0x43,\n\t0xE3, 0x80, 0x94, 0x43, 0xE3, 0x80, 0x95, 0x43,\n\t// Bytes 4c0 - 4ff\n\t0xE3, 0x80, 0x96, 0x43, 0xE3, 0x80, 0x97, 0x43,\n\t0xE3, 0x82, 0xA1, 0x43, 0xE3, 0x82, 0xA2, 0x43,\n\t0xE3, 0x82, 0xA3, 0x43, 0xE3, 0x82, 0xA4, 0x43,\n\t0xE3, 0x82, 0xA5, 0x43, 0xE3, 0x82, 0xA6, 0x43,\n\t0xE3, 0x82, 0xA7, 0x43, 0xE3, 0x82, 0xA8, 0x43,\n\t0xE3, 0x82, 0xA9, 0x43, 0xE3, 0x82, 0xAA, 0x43,\n\t0xE3, 0x82, 0xAB, 0x43, 0xE3, 0x82, 0xAD, 0x43,\n\t0xE3, 0x82, 0xAF, 0x43, 0xE3, 0x82, 0xB1, 0x43,\n\t// Bytes 500 - 53f\n\t0xE3, 0x82, 0xB3, 0x43, 0xE3, 0x82, 0xB5, 0x43,\n\t0xE3, 0x82, 0xB7, 0x43, 0xE3, 0x82, 0xB9, 0x43,\n\t0xE3, 0x82, 0xBB, 0x43, 0xE3, 0x82, 0xBD, 0x43,\n\t0xE3, 0x82, 0xBF, 0x43, 0xE3, 0x83, 0x81, 0x43,\n\t0xE3, 0x83, 0x83, 0x43, 0xE3, 0x83, 0x84, 0x43,\n\t0xE3, 0x83, 0x86, 0x43, 0xE3, 0x83, 0x88, 0x43,\n\t0xE3, 0x83, 0x8A, 0x43, 0xE3, 0x83, 0x8B, 0x43,\n\t0xE3, 0x83, 0x8C, 0x43, 0xE3, 0x83, 0x8D, 0x43,\n\t// Bytes 540 - 57f\n\t0xE3, 0x83, 0x8E, 0x43, 0xE3, 0x83, 0x8F, 0x43,\n\t0xE3, 0x83, 0x92, 0x43, 0xE3, 0x83, 0x95, 0x43,\n\t0xE3, 0x83, 0x98, 0x43, 0xE3, 0x83, 0x9B, 0x43,\n\t0xE3, 0x83, 0x9E, 0x43, 0xE3, 0x83, 0x9F, 0x43,\n\t0xE3, 0x83, 0xA0, 0x43, 0xE3, 0x83, 0xA1, 0x43,\n\t0xE3, 0x83, 0xA2, 0x43, 0xE3, 0x83, 0xA3, 0x43,\n\t0xE3, 0x83, 0xA4, 0x43, 0xE3, 0x83, 0xA5, 0x43,\n\t0xE3, 0x83, 0xA6, 0x43, 0xE3, 0x83, 0xA7, 0x43,\n\t// Bytes 580 - 5bf\n\t0xE3, 0x83, 0xA8, 0x43, 0xE3, 0x83, 0xA9, 0x43,\n\t0xE3, 0x83, 0xAA, 0x43, 0xE3, 0x83, 0xAB, 0x43,\n\t0xE3, 0x83, 0xAC, 0x43, 0xE3, 0x83, 0xAD, 0x43,\n\t0xE3, 0x83, 0xAF, 0x43, 0xE3, 0x83, 0xB0, 0x43,\n\t0xE3, 0x83, 0xB1, 0x43, 0xE3, 0x83, 0xB2, 0x43,\n\t0xE3, 0x83, 0xB3, 0x43, 0xE3, 0x83, 0xBB, 0x43,\n\t0xE3, 0x83, 0xBC, 0x43, 0xE3, 0x92, 0x9E, 0x43,\n\t0xE3, 0x92, 0xB9, 0x43, 0xE3, 0x92, 0xBB, 0x43,\n\t// Bytes 5c0 - 5ff\n\t0xE3, 0x93, 0x9F, 0x43, 0xE3, 0x94, 0x95, 0x43,\n\t0xE3, 0x9B, 0xAE, 0x43, 0xE3, 0x9B, 0xBC, 0x43,\n\t0xE3, 0x9E, 0x81, 0x43, 0xE3, 0xA0, 0xAF, 0x43,\n\t0xE3, 0xA1, 0xA2, 0x43, 0xE3, 0xA1, 0xBC, 0x43,\n\t0xE3, 0xA3, 0x87, 0x43, 0xE3, 0xA3, 0xA3, 0x43,\n\t0xE3, 0xA4, 0x9C, 0x43, 0xE3, 0xA4, 0xBA, 0x43,\n\t0xE3, 0xA8, 0xAE, 0x43, 0xE3, 0xA9, 0xAC, 0x43,\n\t0xE3, 0xAB, 0xA4, 0x43, 0xE3, 0xAC, 0x88, 0x43,\n\t// Bytes 600 - 63f\n\t0xE3, 0xAC, 0x99, 0x43, 0xE3, 0xAD, 0x89, 0x43,\n\t0xE3, 0xAE, 0x9D, 0x43, 0xE3, 0xB0, 0x98, 0x43,\n\t0xE3, 0xB1, 0x8E, 0x43, 0xE3, 0xB4, 0xB3, 0x43,\n\t0xE3, 0xB6, 0x96, 0x43, 0xE3, 0xBA, 0xAC, 0x43,\n\t0xE3, 0xBA, 0xB8, 0x43, 0xE3, 0xBC, 0x9B, 0x43,\n\t0xE3, 0xBF, 0xBC, 0x43, 0xE4, 0x80, 0x88, 0x43,\n\t0xE4, 0x80, 0x98, 0x43, 0xE4, 0x80, 0xB9, 0x43,\n\t0xE4, 0x81, 0x86, 0x43, 0xE4, 0x82, 0x96, 0x43,\n\t// Bytes 640 - 67f\n\t0xE4, 0x83, 0xA3, 0x43, 0xE4, 0x84, 0xAF, 0x43,\n\t0xE4, 0x88, 0x82, 0x43, 0xE4, 0x88, 0xA7, 0x43,\n\t0xE4, 0x8A, 0xA0, 0x43, 0xE4, 0x8C, 0x81, 0x43,\n\t0xE4, 0x8C, 0xB4, 0x43, 0xE4, 0x8D, 0x99, 0x43,\n\t0xE4, 0x8F, 0x95, 0x43, 0xE4, 0x8F, 0x99, 0x43,\n\t0xE4, 0x90, 0x8B, 0x43, 0xE4, 0x91, 0xAB, 0x43,\n\t0xE4, 0x94, 0xAB, 0x43, 0xE4, 0x95, 0x9D, 0x43,\n\t0xE4, 0x95, 0xA1, 0x43, 0xE4, 0x95, 0xAB, 0x43,\n\t// Bytes 680 - 6bf\n\t0xE4, 0x97, 0x97, 0x43, 0xE4, 0x97, 0xB9, 0x43,\n\t0xE4, 0x98, 0xB5, 0x43, 0xE4, 0x9A, 0xBE, 0x43,\n\t0xE4, 0x9B, 0x87, 0x43, 0xE4, 0xA6, 0x95, 0x43,\n\t0xE4, 0xA7, 0xA6, 0x43, 0xE4, 0xA9, 0xAE, 0x43,\n\t0xE4, 0xA9, 0xB6, 0x43, 0xE4, 0xAA, 0xB2, 0x43,\n\t0xE4, 0xAC, 0xB3, 0x43, 0xE4, 0xAF, 0x8E, 0x43,\n\t0xE4, 0xB3, 0x8E, 0x43, 0xE4, 0xB3, 0xAD, 0x43,\n\t0xE4, 0xB3, 0xB8, 0x43, 0xE4, 0xB5, 0x96, 0x43,\n\t// Bytes 6c0 - 6ff\n\t0xE4, 0xB8, 0x80, 0x43, 0xE4, 0xB8, 0x81, 0x43,\n\t0xE4, 0xB8, 0x83, 0x43, 0xE4, 0xB8, 0x89, 0x43,\n\t0xE4, 0xB8, 0x8A, 0x43, 0xE4, 0xB8, 0x8B, 0x43,\n\t0xE4, 0xB8, 0x8D, 0x43, 0xE4, 0xB8, 0x99, 0x43,\n\t0xE4, 0xB8, 0xA6, 0x43, 0xE4, 0xB8, 0xA8, 0x43,\n\t0xE4, 0xB8, 0xAD, 0x43, 0xE4, 0xB8, 0xB2, 0x43,\n\t0xE4, 0xB8, 0xB6, 0x43, 0xE4, 0xB8, 0xB8, 0x43,\n\t0xE4, 0xB8, 0xB9, 0x43, 0xE4, 0xB8, 0xBD, 0x43,\n\t// Bytes 700 - 73f\n\t0xE4, 0xB8, 0xBF, 0x43, 0xE4, 0xB9, 0x81, 0x43,\n\t0xE4, 0xB9, 0x99, 0x43, 0xE4, 0xB9, 0x9D, 0x43,\n\t0xE4, 0xBA, 0x82, 0x43, 0xE4, 0xBA, 0x85, 0x43,\n\t0xE4, 0xBA, 0x86, 0x43, 0xE4, 0xBA, 0x8C, 0x43,\n\t0xE4, 0xBA, 0x94, 0x43, 0xE4, 0xBA, 0xA0, 0x43,\n\t0xE4, 0xBA, 0xA4, 0x43, 0xE4, 0xBA, 0xAE, 0x43,\n\t0xE4, 0xBA, 0xBA, 0x43, 0xE4, 0xBB, 0x80, 0x43,\n\t0xE4, 0xBB, 0x8C, 0x43, 0xE4, 0xBB, 0xA4, 0x43,\n\t// Bytes 740 - 77f\n\t0xE4, 0xBC, 0x81, 0x43, 0xE4, 0xBC, 0x91, 0x43,\n\t0xE4, 0xBD, 0xA0, 0x43, 0xE4, 0xBE, 0x80, 0x43,\n\t0xE4, 0xBE, 0x86, 0x43, 0xE4, 0xBE, 0x8B, 0x43,\n\t0xE4, 0xBE, 0xAE, 0x43, 0xE4, 0xBE, 0xBB, 0x43,\n\t0xE4, 0xBE, 0xBF, 0x43, 0xE5, 0x80, 0x82, 0x43,\n\t0xE5, 0x80, 0xAB, 0x43, 0xE5, 0x81, 0xBA, 0x43,\n\t0xE5, 0x82, 0x99, 0x43, 0xE5, 0x83, 0x8F, 0x43,\n\t0xE5, 0x83, 0x9A, 0x43, 0xE5, 0x83, 0xA7, 0x43,\n\t// Bytes 780 - 7bf\n\t0xE5, 0x84, 0xAA, 0x43, 0xE5, 0x84, 0xBF, 0x43,\n\t0xE5, 0x85, 0x80, 0x43, 0xE5, 0x85, 0x85, 0x43,\n\t0xE5, 0x85, 0x8D, 0x43, 0xE5, 0x85, 0x94, 0x43,\n\t0xE5, 0x85, 0xA4, 0x43, 0xE5, 0x85, 0xA5, 0x43,\n\t0xE5, 0x85, 0xA7, 0x43, 0xE5, 0x85, 0xA8, 0x43,\n\t0xE5, 0x85, 0xA9, 0x43, 0xE5, 0x85, 0xAB, 0x43,\n\t0xE5, 0x85, 0xAD, 0x43, 0xE5, 0x85, 0xB7, 0x43,\n\t0xE5, 0x86, 0x80, 0x43, 0xE5, 0x86, 0x82, 0x43,\n\t// Bytes 7c0 - 7ff\n\t0xE5, 0x86, 0x8D, 0x43, 0xE5, 0x86, 0x92, 0x43,\n\t0xE5, 0x86, 0x95, 0x43, 0xE5, 0x86, 0x96, 0x43,\n\t0xE5, 0x86, 0x97, 0x43, 0xE5, 0x86, 0x99, 0x43,\n\t0xE5, 0x86, 0xA4, 0x43, 0xE5, 0x86, 0xAB, 0x43,\n\t0xE5, 0x86, 0xAC, 0x43, 0xE5, 0x86, 0xB5, 0x43,\n\t0xE5, 0x86, 0xB7, 0x43, 0xE5, 0x87, 0x89, 0x43,\n\t0xE5, 0x87, 0x8C, 0x43, 0xE5, 0x87, 0x9C, 0x43,\n\t0xE5, 0x87, 0x9E, 0x43, 0xE5, 0x87, 0xA0, 0x43,\n\t// Bytes 800 - 83f\n\t0xE5, 0x87, 0xB5, 0x43, 0xE5, 0x88, 0x80, 0x43,\n\t0xE5, 0x88, 0x83, 0x43, 0xE5, 0x88, 0x87, 0x43,\n\t0xE5, 0x88, 0x97, 0x43, 0xE5, 0x88, 0x9D, 0x43,\n\t0xE5, 0x88, 0xA9, 0x43, 0xE5, 0x88, 0xBA, 0x43,\n\t0xE5, 0x88, 0xBB, 0x43, 0xE5, 0x89, 0x86, 0x43,\n\t0xE5, 0x89, 0x8D, 0x43, 0xE5, 0x89, 0xB2, 0x43,\n\t0xE5, 0x89, 0xB7, 0x43, 0xE5, 0x8A, 0x89, 0x43,\n\t0xE5, 0x8A, 0x9B, 0x43, 0xE5, 0x8A, 0xA3, 0x43,\n\t// Bytes 840 - 87f\n\t0xE5, 0x8A, 0xB3, 0x43, 0xE5, 0x8A, 0xB4, 0x43,\n\t0xE5, 0x8B, 0x87, 0x43, 0xE5, 0x8B, 0x89, 0x43,\n\t0xE5, 0x8B, 0x92, 0x43, 0xE5, 0x8B, 0x9E, 0x43,\n\t0xE5, 0x8B, 0xA4, 0x43, 0xE5, 0x8B, 0xB5, 0x43,\n\t0xE5, 0x8B, 0xB9, 0x43, 0xE5, 0x8B, 0xBA, 0x43,\n\t0xE5, 0x8C, 0x85, 0x43, 0xE5, 0x8C, 0x86, 0x43,\n\t0xE5, 0x8C, 0x95, 0x43, 0xE5, 0x8C, 0x97, 0x43,\n\t0xE5, 0x8C, 0x9A, 0x43, 0xE5, 0x8C, 0xB8, 0x43,\n\t// Bytes 880 - 8bf\n\t0xE5, 0x8C, 0xBB, 0x43, 0xE5, 0x8C, 0xBF, 0x43,\n\t0xE5, 0x8D, 0x81, 0x43, 0xE5, 0x8D, 0x84, 0x43,\n\t0xE5, 0x8D, 0x85, 0x43, 0xE5, 0x8D, 0x89, 0x43,\n\t0xE5, 0x8D, 0x91, 0x43, 0xE5, 0x8D, 0x94, 0x43,\n\t0xE5, 0x8D, 0x9A, 0x43, 0xE5, 0x8D, 0x9C, 0x43,\n\t0xE5, 0x8D, 0xA9, 0x43, 0xE5, 0x8D, 0xB0, 0x43,\n\t0xE5, 0x8D, 0xB3, 0x43, 0xE5, 0x8D, 0xB5, 0x43,\n\t0xE5, 0x8D, 0xBD, 0x43, 0xE5, 0x8D, 0xBF, 0x43,\n\t// Bytes 8c0 - 8ff\n\t0xE5, 0x8E, 0x82, 0x43, 0xE5, 0x8E, 0xB6, 0x43,\n\t0xE5, 0x8F, 0x83, 0x43, 0xE5, 0x8F, 0x88, 0x43,\n\t0xE5, 0x8F, 0x8A, 0x43, 0xE5, 0x8F, 0x8C, 0x43,\n\t0xE5, 0x8F, 0x9F, 0x43, 0xE5, 0x8F, 0xA3, 0x43,\n\t0xE5, 0x8F, 0xA5, 0x43, 0xE5, 0x8F, 0xAB, 0x43,\n\t0xE5, 0x8F, 0xAF, 0x43, 0xE5, 0x8F, 0xB1, 0x43,\n\t0xE5, 0x8F, 0xB3, 0x43, 0xE5, 0x90, 0x86, 0x43,\n\t0xE5, 0x90, 0x88, 0x43, 0xE5, 0x90, 0x8D, 0x43,\n\t// Bytes 900 - 93f\n\t0xE5, 0x90, 0x8F, 0x43, 0xE5, 0x90, 0x9D, 0x43,\n\t0xE5, 0x90, 0xB8, 0x43, 0xE5, 0x90, 0xB9, 0x43,\n\t0xE5, 0x91, 0x82, 0x43, 0xE5, 0x91, 0x88, 0x43,\n\t0xE5, 0x91, 0xA8, 0x43, 0xE5, 0x92, 0x9E, 0x43,\n\t0xE5, 0x92, 0xA2, 0x43, 0xE5, 0x92, 0xBD, 0x43,\n\t0xE5, 0x93, 0xB6, 0x43, 0xE5, 0x94, 0x90, 0x43,\n\t0xE5, 0x95, 0x8F, 0x43, 0xE5, 0x95, 0x93, 0x43,\n\t0xE5, 0x95, 0x95, 0x43, 0xE5, 0x95, 0xA3, 0x43,\n\t// Bytes 940 - 97f\n\t0xE5, 0x96, 0x84, 0x43, 0xE5, 0x96, 0x87, 0x43,\n\t0xE5, 0x96, 0x99, 0x43, 0xE5, 0x96, 0x9D, 0x43,\n\t0xE5, 0x96, 0xAB, 0x43, 0xE5, 0x96, 0xB3, 0x43,\n\t0xE5, 0x96, 0xB6, 0x43, 0xE5, 0x97, 0x80, 0x43,\n\t0xE5, 0x97, 0x82, 0x43, 0xE5, 0x97, 0xA2, 0x43,\n\t0xE5, 0x98, 0x86, 0x43, 0xE5, 0x99, 0x91, 0x43,\n\t0xE5, 0x99, 0xA8, 0x43, 0xE5, 0x99, 0xB4, 0x43,\n\t0xE5, 0x9B, 0x97, 0x43, 0xE5, 0x9B, 0x9B, 0x43,\n\t// Bytes 980 - 9bf\n\t0xE5, 0x9B, 0xB9, 0x43, 0xE5, 0x9C, 0x96, 0x43,\n\t0xE5, 0x9C, 0x97, 0x43, 0xE5, 0x9C, 0x9F, 0x43,\n\t0xE5, 0x9C, 0xB0, 0x43, 0xE5, 0x9E, 0x8B, 0x43,\n\t0xE5, 0x9F, 0x8E, 0x43, 0xE5, 0x9F, 0xB4, 0x43,\n\t0xE5, 0xA0, 0x8D, 0x43, 0xE5, 0xA0, 0xB1, 0x43,\n\t0xE5, 0xA0, 0xB2, 0x43, 0xE5, 0xA1, 0x80, 0x43,\n\t0xE5, 0xA1, 0x9A, 0x43, 0xE5, 0xA1, 0x9E, 0x43,\n\t0xE5, 0xA2, 0xA8, 0x43, 0xE5, 0xA2, 0xAC, 0x43,\n\t// Bytes 9c0 - 9ff\n\t0xE5, 0xA2, 0xB3, 0x43, 0xE5, 0xA3, 0x98, 0x43,\n\t0xE5, 0xA3, 0x9F, 0x43, 0xE5, 0xA3, 0xAB, 0x43,\n\t0xE5, 0xA3, 0xAE, 0x43, 0xE5, 0xA3, 0xB0, 0x43,\n\t0xE5, 0xA3, 0xB2, 0x43, 0xE5, 0xA3, 0xB7, 0x43,\n\t0xE5, 0xA4, 0x82, 0x43, 0xE5, 0xA4, 0x86, 0x43,\n\t0xE5, 0xA4, 0x8A, 0x43, 0xE5, 0xA4, 0x95, 0x43,\n\t0xE5, 0xA4, 0x9A, 0x43, 0xE5, 0xA4, 0x9C, 0x43,\n\t0xE5, 0xA4, 0xA2, 0x43, 0xE5, 0xA4, 0xA7, 0x43,\n\t// Bytes a00 - a3f\n\t0xE5, 0xA4, 0xA9, 0x43, 0xE5, 0xA5, 0x84, 0x43,\n\t0xE5, 0xA5, 0x88, 0x43, 0xE5, 0xA5, 0x91, 0x43,\n\t0xE5, 0xA5, 0x94, 0x43, 0xE5, 0xA5, 0xA2, 0x43,\n\t0xE5, 0xA5, 0xB3, 0x43, 0xE5, 0xA7, 0x98, 0x43,\n\t0xE5, 0xA7, 0xAC, 0x43, 0xE5, 0xA8, 0x9B, 0x43,\n\t0xE5, 0xA8, 0xA7, 0x43, 0xE5, 0xA9, 0xA2, 0x43,\n\t0xE5, 0xA9, 0xA6, 0x43, 0xE5, 0xAA, 0xB5, 0x43,\n\t0xE5, 0xAC, 0x88, 0x43, 0xE5, 0xAC, 0xA8, 0x43,\n\t// Bytes a40 - a7f\n\t0xE5, 0xAC, 0xBE, 0x43, 0xE5, 0xAD, 0x90, 0x43,\n\t0xE5, 0xAD, 0x97, 0x43, 0xE5, 0xAD, 0xA6, 0x43,\n\t0xE5, 0xAE, 0x80, 0x43, 0xE5, 0xAE, 0x85, 0x43,\n\t0xE5, 0xAE, 0x97, 0x43, 0xE5, 0xAF, 0x83, 0x43,\n\t0xE5, 0xAF, 0x98, 0x43, 0xE5, 0xAF, 0xA7, 0x43,\n\t0xE5, 0xAF, 0xAE, 0x43, 0xE5, 0xAF, 0xB3, 0x43,\n\t0xE5, 0xAF, 0xB8, 0x43, 0xE5, 0xAF, 0xBF, 0x43,\n\t0xE5, 0xB0, 0x86, 0x43, 0xE5, 0xB0, 0x8F, 0x43,\n\t// Bytes a80 - abf\n\t0xE5, 0xB0, 0xA2, 0x43, 0xE5, 0xB0, 0xB8, 0x43,\n\t0xE5, 0xB0, 0xBF, 0x43, 0xE5, 0xB1, 0xA0, 0x43,\n\t0xE5, 0xB1, 0xA2, 0x43, 0xE5, 0xB1, 0xA4, 0x43,\n\t0xE5, 0xB1, 0xA5, 0x43, 0xE5, 0xB1, 0xAE, 0x43,\n\t0xE5, 0xB1, 0xB1, 0x43, 0xE5, 0xB2, 0x8D, 0x43,\n\t0xE5, 0xB3, 0x80, 0x43, 0xE5, 0xB4, 0x99, 0x43,\n\t0xE5, 0xB5, 0x83, 0x43, 0xE5, 0xB5, 0x90, 0x43,\n\t0xE5, 0xB5, 0xAB, 0x43, 0xE5, 0xB5, 0xAE, 0x43,\n\t// Bytes ac0 - aff\n\t0xE5, 0xB5, 0xBC, 0x43, 0xE5, 0xB6, 0xB2, 0x43,\n\t0xE5, 0xB6, 0xBA, 0x43, 0xE5, 0xB7, 0x9B, 0x43,\n\t0xE5, 0xB7, 0xA1, 0x43, 0xE5, 0xB7, 0xA2, 0x43,\n\t0xE5, 0xB7, 0xA5, 0x43, 0xE5, 0xB7, 0xA6, 0x43,\n\t0xE5, 0xB7, 0xB1, 0x43, 0xE5, 0xB7, 0xBD, 0x43,\n\t0xE5, 0xB7, 0xBE, 0x43, 0xE5, 0xB8, 0xA8, 0x43,\n\t0xE5, 0xB8, 0xBD, 0x43, 0xE5, 0xB9, 0xA9, 0x43,\n\t0xE5, 0xB9, 0xB2, 0x43, 0xE5, 0xB9, 0xB4, 0x43,\n\t// Bytes b00 - b3f\n\t0xE5, 0xB9, 0xBA, 0x43, 0xE5, 0xB9, 0xBC, 0x43,\n\t0xE5, 0xB9, 0xBF, 0x43, 0xE5, 0xBA, 0xA6, 0x43,\n\t0xE5, 0xBA, 0xB0, 0x43, 0xE5, 0xBA, 0xB3, 0x43,\n\t0xE5, 0xBA, 0xB6, 0x43, 0xE5, 0xBB, 0x89, 0x43,\n\t0xE5, 0xBB, 0x8A, 0x43, 0xE5, 0xBB, 0x92, 0x43,\n\t0xE5, 0xBB, 0x93, 0x43, 0xE5, 0xBB, 0x99, 0x43,\n\t0xE5, 0xBB, 0xAC, 0x43, 0xE5, 0xBB, 0xB4, 0x43,\n\t0xE5, 0xBB, 0xBE, 0x43, 0xE5, 0xBC, 0x84, 0x43,\n\t// Bytes b40 - b7f\n\t0xE5, 0xBC, 0x8B, 0x43, 0xE5, 0xBC, 0x93, 0x43,\n\t0xE5, 0xBC, 0xA2, 0x43, 0xE5, 0xBD, 0x90, 0x43,\n\t0xE5, 0xBD, 0x93, 0x43, 0xE5, 0xBD, 0xA1, 0x43,\n\t0xE5, 0xBD, 0xA2, 0x43, 0xE5, 0xBD, 0xA9, 0x43,\n\t0xE5, 0xBD, 0xAB, 0x43, 0xE5, 0xBD, 0xB3, 0x43,\n\t0xE5, 0xBE, 0x8B, 0x43, 0xE5, 0xBE, 0x8C, 0x43,\n\t0xE5, 0xBE, 0x97, 0x43, 0xE5, 0xBE, 0x9A, 0x43,\n\t0xE5, 0xBE, 0xA9, 0x43, 0xE5, 0xBE, 0xAD, 0x43,\n\t// Bytes b80 - bbf\n\t0xE5, 0xBF, 0x83, 0x43, 0xE5, 0xBF, 0x8D, 0x43,\n\t0xE5, 0xBF, 0x97, 0x43, 0xE5, 0xBF, 0xB5, 0x43,\n\t0xE5, 0xBF, 0xB9, 0x43, 0xE6, 0x80, 0x92, 0x43,\n\t0xE6, 0x80, 0x9C, 0x43, 0xE6, 0x81, 0xB5, 0x43,\n\t0xE6, 0x82, 0x81, 0x43, 0xE6, 0x82, 0x94, 0x43,\n\t0xE6, 0x83, 0x87, 0x43, 0xE6, 0x83, 0x98, 0x43,\n\t0xE6, 0x83, 0xA1, 0x43, 0xE6, 0x84, 0x88, 0x43,\n\t0xE6, 0x85, 0x84, 0x43, 0xE6, 0x85, 0x88, 0x43,\n\t// Bytes bc0 - bff\n\t0xE6, 0x85, 0x8C, 0x43, 0xE6, 0x85, 0x8E, 0x43,\n\t0xE6, 0x85, 0xA0, 0x43, 0xE6, 0x85, 0xA8, 0x43,\n\t0xE6, 0x85, 0xBA, 0x43, 0xE6, 0x86, 0x8E, 0x43,\n\t0xE6, 0x86, 0x90, 0x43, 0xE6, 0x86, 0xA4, 0x43,\n\t0xE6, 0x86, 0xAF, 0x43, 0xE6, 0x86, 0xB2, 0x43,\n\t0xE6, 0x87, 0x9E, 0x43, 0xE6, 0x87, 0xB2, 0x43,\n\t0xE6, 0x87, 0xB6, 0x43, 0xE6, 0x88, 0x80, 0x43,\n\t0xE6, 0x88, 0x88, 0x43, 0xE6, 0x88, 0x90, 0x43,\n\t// Bytes c00 - c3f\n\t0xE6, 0x88, 0x9B, 0x43, 0xE6, 0x88, 0xAE, 0x43,\n\t0xE6, 0x88, 0xB4, 0x43, 0xE6, 0x88, 0xB6, 0x43,\n\t0xE6, 0x89, 0x8B, 0x43, 0xE6, 0x89, 0x93, 0x43,\n\t0xE6, 0x89, 0x9D, 0x43, 0xE6, 0x8A, 0x95, 0x43,\n\t0xE6, 0x8A, 0xB1, 0x43, 0xE6, 0x8B, 0x89, 0x43,\n\t0xE6, 0x8B, 0x8F, 0x43, 0xE6, 0x8B, 0x93, 0x43,\n\t0xE6, 0x8B, 0x94, 0x43, 0xE6, 0x8B, 0xBC, 0x43,\n\t0xE6, 0x8B, 0xBE, 0x43, 0xE6, 0x8C, 0x87, 0x43,\n\t// Bytes c40 - c7f\n\t0xE6, 0x8C, 0xBD, 0x43, 0xE6, 0x8D, 0x90, 0x43,\n\t0xE6, 0x8D, 0x95, 0x43, 0xE6, 0x8D, 0xA8, 0x43,\n\t0xE6, 0x8D, 0xBB, 0x43, 0xE6, 0x8E, 0x83, 0x43,\n\t0xE6, 0x8E, 0xA0, 0x43, 0xE6, 0x8E, 0xA9, 0x43,\n\t0xE6, 0x8F, 0x84, 0x43, 0xE6, 0x8F, 0x85, 0x43,\n\t0xE6, 0x8F, 0xA4, 0x43, 0xE6, 0x90, 0x9C, 0x43,\n\t0xE6, 0x90, 0xA2, 0x43, 0xE6, 0x91, 0x92, 0x43,\n\t0xE6, 0x91, 0xA9, 0x43, 0xE6, 0x91, 0xB7, 0x43,\n\t// Bytes c80 - cbf\n\t0xE6, 0x91, 0xBE, 0x43, 0xE6, 0x92, 0x9A, 0x43,\n\t0xE6, 0x92, 0x9D, 0x43, 0xE6, 0x93, 0x84, 0x43,\n\t0xE6, 0x94, 0xAF, 0x43, 0xE6, 0x94, 0xB4, 0x43,\n\t0xE6, 0x95, 0x8F, 0x43, 0xE6, 0x95, 0x96, 0x43,\n\t0xE6, 0x95, 0xAC, 0x43, 0xE6, 0x95, 0xB8, 0x43,\n\t0xE6, 0x96, 0x87, 0x43, 0xE6, 0x96, 0x97, 0x43,\n\t0xE6, 0x96, 0x99, 0x43, 0xE6, 0x96, 0xA4, 0x43,\n\t0xE6, 0x96, 0xB0, 0x43, 0xE6, 0x96, 0xB9, 0x43,\n\t// Bytes cc0 - cff\n\t0xE6, 0x97, 0x85, 0x43, 0xE6, 0x97, 0xA0, 0x43,\n\t0xE6, 0x97, 0xA2, 0x43, 0xE6, 0x97, 0xA3, 0x43,\n\t0xE6, 0x97, 0xA5, 0x43, 0xE6, 0x98, 0x93, 0x43,\n\t0xE6, 0x98, 0xA0, 0x43, 0xE6, 0x99, 0x89, 0x43,\n\t0xE6, 0x99, 0xB4, 0x43, 0xE6, 0x9A, 0x88, 0x43,\n\t0xE6, 0x9A, 0x91, 0x43, 0xE6, 0x9A, 0x9C, 0x43,\n\t0xE6, 0x9A, 0xB4, 0x43, 0xE6, 0x9B, 0x86, 0x43,\n\t0xE6, 0x9B, 0xB0, 0x43, 0xE6, 0x9B, 0xB4, 0x43,\n\t// Bytes d00 - d3f\n\t0xE6, 0x9B, 0xB8, 0x43, 0xE6, 0x9C, 0x80, 0x43,\n\t0xE6, 0x9C, 0x88, 0x43, 0xE6, 0x9C, 0x89, 0x43,\n\t0xE6, 0x9C, 0x97, 0x43, 0xE6, 0x9C, 0x9B, 0x43,\n\t0xE6, 0x9C, 0xA1, 0x43, 0xE6, 0x9C, 0xA8, 0x43,\n\t0xE6, 0x9D, 0x8E, 0x43, 0xE6, 0x9D, 0x93, 0x43,\n\t0xE6, 0x9D, 0x96, 0x43, 0xE6, 0x9D, 0x9E, 0x43,\n\t0xE6, 0x9D, 0xBB, 0x43, 0xE6, 0x9E, 0x85, 0x43,\n\t0xE6, 0x9E, 0x97, 0x43, 0xE6, 0x9F, 0xB3, 0x43,\n\t// Bytes d40 - d7f\n\t0xE6, 0x9F, 0xBA, 0x43, 0xE6, 0xA0, 0x97, 0x43,\n\t0xE6, 0xA0, 0x9F, 0x43, 0xE6, 0xA0, 0xAA, 0x43,\n\t0xE6, 0xA1, 0x92, 0x43, 0xE6, 0xA2, 0x81, 0x43,\n\t0xE6, 0xA2, 0x85, 0x43, 0xE6, 0xA2, 0x8E, 0x43,\n\t0xE6, 0xA2, 0xA8, 0x43, 0xE6, 0xA4, 0x94, 0x43,\n\t0xE6, 0xA5, 0x82, 0x43, 0xE6, 0xA6, 0xA3, 0x43,\n\t0xE6, 0xA7, 0xAA, 0x43, 0xE6, 0xA8, 0x82, 0x43,\n\t0xE6, 0xA8, 0x93, 0x43, 0xE6, 0xAA, 0xA8, 0x43,\n\t// Bytes d80 - dbf\n\t0xE6, 0xAB, 0x93, 0x43, 0xE6, 0xAB, 0x9B, 0x43,\n\t0xE6, 0xAC, 0x84, 0x43, 0xE6, 0xAC, 0xA0, 0x43,\n\t0xE6, 0xAC, 0xA1, 0x43, 0xE6, 0xAD, 0x94, 0x43,\n\t0xE6, 0xAD, 0xA2, 0x43, 0xE6, 0xAD, 0xA3, 0x43,\n\t0xE6, 0xAD, 0xB2, 0x43, 0xE6, 0xAD, 0xB7, 0x43,\n\t0xE6, 0xAD, 0xB9, 0x43, 0xE6, 0xAE, 0x9F, 0x43,\n\t0xE6, 0xAE, 0xAE, 0x43, 0xE6, 0xAE, 0xB3, 0x43,\n\t0xE6, 0xAE, 0xBA, 0x43, 0xE6, 0xAE, 0xBB, 0x43,\n\t// Bytes dc0 - dff\n\t0xE6, 0xAF, 0x8B, 0x43, 0xE6, 0xAF, 0x8D, 0x43,\n\t0xE6, 0xAF, 0x94, 0x43, 0xE6, 0xAF, 0x9B, 0x43,\n\t0xE6, 0xB0, 0x8F, 0x43, 0xE6, 0xB0, 0x94, 0x43,\n\t0xE6, 0xB0, 0xB4, 0x43, 0xE6, 0xB1, 0x8E, 0x43,\n\t0xE6, 0xB1, 0xA7, 0x43, 0xE6, 0xB2, 0x88, 0x43,\n\t0xE6, 0xB2, 0xBF, 0x43, 0xE6, 0xB3, 0x8C, 0x43,\n\t0xE6, 0xB3, 0x8D, 0x43, 0xE6, 0xB3, 0xA5, 0x43,\n\t0xE6, 0xB3, 0xA8, 0x43, 0xE6, 0xB4, 0x96, 0x43,\n\t// Bytes e00 - e3f\n\t0xE6, 0xB4, 0x9B, 0x43, 0xE6, 0xB4, 0x9E, 0x43,\n\t0xE6, 0xB4, 0xB4, 0x43, 0xE6, 0xB4, 0xBE, 0x43,\n\t0xE6, 0xB5, 0x81, 0x43, 0xE6, 0xB5, 0xA9, 0x43,\n\t0xE6, 0xB5, 0xAA, 0x43, 0xE6, 0xB5, 0xB7, 0x43,\n\t0xE6, 0xB5, 0xB8, 0x43, 0xE6, 0xB6, 0x85, 0x43,\n\t0xE6, 0xB7, 0x8B, 0x43, 0xE6, 0xB7, 0x9A, 0x43,\n\t0xE6, 0xB7, 0xAA, 0x43, 0xE6, 0xB7, 0xB9, 0x43,\n\t0xE6, 0xB8, 0x9A, 0x43, 0xE6, 0xB8, 0xAF, 0x43,\n\t// Bytes e40 - e7f\n\t0xE6, 0xB9, 0xAE, 0x43, 0xE6, 0xBA, 0x80, 0x43,\n\t0xE6, 0xBA, 0x9C, 0x43, 0xE6, 0xBA, 0xBA, 0x43,\n\t0xE6, 0xBB, 0x87, 0x43, 0xE6, 0xBB, 0x8B, 0x43,\n\t0xE6, 0xBB, 0x91, 0x43, 0xE6, 0xBB, 0x9B, 0x43,\n\t0xE6, 0xBC, 0x8F, 0x43, 0xE6, 0xBC, 0x94, 0x43,\n\t0xE6, 0xBC, 0xA2, 0x43, 0xE6, 0xBC, 0xA3, 0x43,\n\t0xE6, 0xBD, 0xAE, 0x43, 0xE6, 0xBF, 0x86, 0x43,\n\t0xE6, 0xBF, 0xAB, 0x43, 0xE6, 0xBF, 0xBE, 0x43,\n\t// Bytes e80 - ebf\n\t0xE7, 0x80, 0x9B, 0x43, 0xE7, 0x80, 0x9E, 0x43,\n\t0xE7, 0x80, 0xB9, 0x43, 0xE7, 0x81, 0x8A, 0x43,\n\t0xE7, 0x81, 0xAB, 0x43, 0xE7, 0x81, 0xB0, 0x43,\n\t0xE7, 0x81, 0xB7, 0x43, 0xE7, 0x81, 0xBD, 0x43,\n\t0xE7, 0x82, 0x99, 0x43, 0xE7, 0x82, 0xAD, 0x43,\n\t0xE7, 0x83, 0x88, 0x43, 0xE7, 0x83, 0x99, 0x43,\n\t0xE7, 0x84, 0xA1, 0x43, 0xE7, 0x85, 0x85, 0x43,\n\t0xE7, 0x85, 0x89, 0x43, 0xE7, 0x85, 0xAE, 0x43,\n\t// Bytes ec0 - eff\n\t0xE7, 0x86, 0x9C, 0x43, 0xE7, 0x87, 0x8E, 0x43,\n\t0xE7, 0x87, 0x90, 0x43, 0xE7, 0x88, 0x90, 0x43,\n\t0xE7, 0x88, 0x9B, 0x43, 0xE7, 0x88, 0xA8, 0x43,\n\t0xE7, 0x88, 0xAA, 0x43, 0xE7, 0x88, 0xAB, 0x43,\n\t0xE7, 0x88, 0xB5, 0x43, 0xE7, 0x88, 0xB6, 0x43,\n\t0xE7, 0x88, 0xBB, 0x43, 0xE7, 0x88, 0xBF, 0x43,\n\t0xE7, 0x89, 0x87, 0x43, 0xE7, 0x89, 0x90, 0x43,\n\t0xE7, 0x89, 0x99, 0x43, 0xE7, 0x89, 0x9B, 0x43,\n\t// Bytes f00 - f3f\n\t0xE7, 0x89, 0xA2, 0x43, 0xE7, 0x89, 0xB9, 0x43,\n\t0xE7, 0x8A, 0x80, 0x43, 0xE7, 0x8A, 0x95, 0x43,\n\t0xE7, 0x8A, 0xAC, 0x43, 0xE7, 0x8A, 0xAF, 0x43,\n\t0xE7, 0x8B, 0x80, 0x43, 0xE7, 0x8B, 0xBC, 0x43,\n\t0xE7, 0x8C, 0xAA, 0x43, 0xE7, 0x8D, 0xB5, 0x43,\n\t0xE7, 0x8D, 0xBA, 0x43, 0xE7, 0x8E, 0x84, 0x43,\n\t0xE7, 0x8E, 0x87, 0x43, 0xE7, 0x8E, 0x89, 0x43,\n\t0xE7, 0x8E, 0x8B, 0x43, 0xE7, 0x8E, 0xA5, 0x43,\n\t// Bytes f40 - f7f\n\t0xE7, 0x8E, 0xB2, 0x43, 0xE7, 0x8F, 0x9E, 0x43,\n\t0xE7, 0x90, 0x86, 0x43, 0xE7, 0x90, 0x89, 0x43,\n\t0xE7, 0x90, 0xA2, 0x43, 0xE7, 0x91, 0x87, 0x43,\n\t0xE7, 0x91, 0x9C, 0x43, 0xE7, 0x91, 0xA9, 0x43,\n\t0xE7, 0x91, 0xB1, 0x43, 0xE7, 0x92, 0x85, 0x43,\n\t0xE7, 0x92, 0x89, 0x43, 0xE7, 0x92, 0x98, 0x43,\n\t0xE7, 0x93, 0x8A, 0x43, 0xE7, 0x93, 0x9C, 0x43,\n\t0xE7, 0x93, 0xA6, 0x43, 0xE7, 0x94, 0x86, 0x43,\n\t// Bytes f80 - fbf\n\t0xE7, 0x94, 0x98, 0x43, 0xE7, 0x94, 0x9F, 0x43,\n\t0xE7, 0x94, 0xA4, 0x43, 0xE7, 0x94, 0xA8, 0x43,\n\t0xE7, 0x94, 0xB0, 0x43, 0xE7, 0x94, 0xB2, 0x43,\n\t0xE7, 0x94, 0xB3, 0x43, 0xE7, 0x94, 0xB7, 0x43,\n\t0xE7, 0x94, 0xBB, 0x43, 0xE7, 0x94, 0xBE, 0x43,\n\t0xE7, 0x95, 0x99, 0x43, 0xE7, 0x95, 0xA5, 0x43,\n\t0xE7, 0x95, 0xB0, 0x43, 0xE7, 0x96, 0x8B, 0x43,\n\t0xE7, 0x96, 0x92, 0x43, 0xE7, 0x97, 0xA2, 0x43,\n\t// Bytes fc0 - fff\n\t0xE7, 0x98, 0x90, 0x43, 0xE7, 0x98, 0x9D, 0x43,\n\t0xE7, 0x98, 0x9F, 0x43, 0xE7, 0x99, 0x82, 0x43,\n\t0xE7, 0x99, 0xA9, 0x43, 0xE7, 0x99, 0xB6, 0x43,\n\t0xE7, 0x99, 0xBD, 0x43, 0xE7, 0x9A, 0xAE, 0x43,\n\t0xE7, 0x9A, 0xBF, 0x43, 0xE7, 0x9B, 0x8A, 0x43,\n\t0xE7, 0x9B, 0x9B, 0x43, 0xE7, 0x9B, 0xA3, 0x43,\n\t0xE7, 0x9B, 0xA7, 0x43, 0xE7, 0x9B, 0xAE, 0x43,\n\t0xE7, 0x9B, 0xB4, 0x43, 0xE7, 0x9C, 0x81, 0x43,\n\t// Bytes 1000 - 103f\n\t0xE7, 0x9C, 0x9E, 0x43, 0xE7, 0x9C, 0x9F, 0x43,\n\t0xE7, 0x9D, 0x80, 0x43, 0xE7, 0x9D, 0x8A, 0x43,\n\t0xE7, 0x9E, 0x8B, 0x43, 0xE7, 0x9E, 0xA7, 0x43,\n\t0xE7, 0x9F, 0x9B, 0x43, 0xE7, 0x9F, 0xA2, 0x43,\n\t0xE7, 0x9F, 0xB3, 0x43, 0xE7, 0xA1, 0x8E, 0x43,\n\t0xE7, 0xA1, 0xAB, 0x43, 0xE7, 0xA2, 0x8C, 0x43,\n\t0xE7, 0xA2, 0x91, 0x43, 0xE7, 0xA3, 0x8A, 0x43,\n\t0xE7, 0xA3, 0x8C, 0x43, 0xE7, 0xA3, 0xBB, 0x43,\n\t// Bytes 1040 - 107f\n\t0xE7, 0xA4, 0xAA, 0x43, 0xE7, 0xA4, 0xBA, 0x43,\n\t0xE7, 0xA4, 0xBC, 0x43, 0xE7, 0xA4, 0xBE, 0x43,\n\t0xE7, 0xA5, 0x88, 0x43, 0xE7, 0xA5, 0x89, 0x43,\n\t0xE7, 0xA5, 0x90, 0x43, 0xE7, 0xA5, 0x96, 0x43,\n\t0xE7, 0xA5, 0x9D, 0x43, 0xE7, 0xA5, 0x9E, 0x43,\n\t0xE7, 0xA5, 0xA5, 0x43, 0xE7, 0xA5, 0xBF, 0x43,\n\t0xE7, 0xA6, 0x81, 0x43, 0xE7, 0xA6, 0x8D, 0x43,\n\t0xE7, 0xA6, 0x8E, 0x43, 0xE7, 0xA6, 0x8F, 0x43,\n\t// Bytes 1080 - 10bf\n\t0xE7, 0xA6, 0xAE, 0x43, 0xE7, 0xA6, 0xB8, 0x43,\n\t0xE7, 0xA6, 0xBE, 0x43, 0xE7, 0xA7, 0x8A, 0x43,\n\t0xE7, 0xA7, 0x98, 0x43, 0xE7, 0xA7, 0xAB, 0x43,\n\t0xE7, 0xA8, 0x9C, 0x43, 0xE7, 0xA9, 0x80, 0x43,\n\t0xE7, 0xA9, 0x8A, 0x43, 0xE7, 0xA9, 0x8F, 0x43,\n\t0xE7, 0xA9, 0xB4, 0x43, 0xE7, 0xA9, 0xBA, 0x43,\n\t0xE7, 0xAA, 0x81, 0x43, 0xE7, 0xAA, 0xB1, 0x43,\n\t0xE7, 0xAB, 0x8B, 0x43, 0xE7, 0xAB, 0xAE, 0x43,\n\t// Bytes 10c0 - 10ff\n\t0xE7, 0xAB, 0xB9, 0x43, 0xE7, 0xAC, 0xA0, 0x43,\n\t0xE7, 0xAE, 0x8F, 0x43, 0xE7, 0xAF, 0x80, 0x43,\n\t0xE7, 0xAF, 0x86, 0x43, 0xE7, 0xAF, 0x89, 0x43,\n\t0xE7, 0xB0, 0xBE, 0x43, 0xE7, 0xB1, 0xA0, 0x43,\n\t0xE7, 0xB1, 0xB3, 0x43, 0xE7, 0xB1, 0xBB, 0x43,\n\t0xE7, 0xB2, 0x92, 0x43, 0xE7, 0xB2, 0xBE, 0x43,\n\t0xE7, 0xB3, 0x92, 0x43, 0xE7, 0xB3, 0x96, 0x43,\n\t0xE7, 0xB3, 0xA3, 0x43, 0xE7, 0xB3, 0xA7, 0x43,\n\t// Bytes 1100 - 113f\n\t0xE7, 0xB3, 0xA8, 0x43, 0xE7, 0xB3, 0xB8, 0x43,\n\t0xE7, 0xB4, 0x80, 0x43, 0xE7, 0xB4, 0x90, 0x43,\n\t0xE7, 0xB4, 0xA2, 0x43, 0xE7, 0xB4, 0xAF, 0x43,\n\t0xE7, 0xB5, 0x82, 0x43, 0xE7, 0xB5, 0x9B, 0x43,\n\t0xE7, 0xB5, 0xA3, 0x43, 0xE7, 0xB6, 0xA0, 0x43,\n\t0xE7, 0xB6, 0xBE, 0x43, 0xE7, 0xB7, 0x87, 0x43,\n\t0xE7, 0xB7, 0xB4, 0x43, 0xE7, 0xB8, 0x82, 0x43,\n\t0xE7, 0xB8, 0x89, 0x43, 0xE7, 0xB8, 0xB7, 0x43,\n\t// Bytes 1140 - 117f\n\t0xE7, 0xB9, 0x81, 0x43, 0xE7, 0xB9, 0x85, 0x43,\n\t0xE7, 0xBC, 0xB6, 0x43, 0xE7, 0xBC, 0xBE, 0x43,\n\t0xE7, 0xBD, 0x91, 0x43, 0xE7, 0xBD, 0xB2, 0x43,\n\t0xE7, 0xBD, 0xB9, 0x43, 0xE7, 0xBD, 0xBA, 0x43,\n\t0xE7, 0xBE, 0x85, 0x43, 0xE7, 0xBE, 0x8A, 0x43,\n\t0xE7, 0xBE, 0x95, 0x43, 0xE7, 0xBE, 0x9A, 0x43,\n\t0xE7, 0xBE, 0xBD, 0x43, 0xE7, 0xBF, 0xBA, 0x43,\n\t0xE8, 0x80, 0x81, 0x43, 0xE8, 0x80, 0x85, 0x43,\n\t// Bytes 1180 - 11bf\n\t0xE8, 0x80, 0x8C, 0x43, 0xE8, 0x80, 0x92, 0x43,\n\t0xE8, 0x80, 0xB3, 0x43, 0xE8, 0x81, 0x86, 0x43,\n\t0xE8, 0x81, 0xA0, 0x43, 0xE8, 0x81, 0xAF, 0x43,\n\t0xE8, 0x81, 0xB0, 0x43, 0xE8, 0x81, 0xBE, 0x43,\n\t0xE8, 0x81, 0xBF, 0x43, 0xE8, 0x82, 0x89, 0x43,\n\t0xE8, 0x82, 0x8B, 0x43, 0xE8, 0x82, 0xAD, 0x43,\n\t0xE8, 0x82, 0xB2, 0x43, 0xE8, 0x84, 0x83, 0x43,\n\t0xE8, 0x84, 0xBE, 0x43, 0xE8, 0x87, 0x98, 0x43,\n\t// Bytes 11c0 - 11ff\n\t0xE8, 0x87, 0xA3, 0x43, 0xE8, 0x87, 0xA8, 0x43,\n\t0xE8, 0x87, 0xAA, 0x43, 0xE8, 0x87, 0xAD, 0x43,\n\t0xE8, 0x87, 0xB3, 0x43, 0xE8, 0x87, 0xBC, 0x43,\n\t0xE8, 0x88, 0x81, 0x43, 0xE8, 0x88, 0x84, 0x43,\n\t0xE8, 0x88, 0x8C, 0x43, 0xE8, 0x88, 0x98, 0x43,\n\t0xE8, 0x88, 0x9B, 0x43, 0xE8, 0x88, 0x9F, 0x43,\n\t0xE8, 0x89, 0xAE, 0x43, 0xE8, 0x89, 0xAF, 0x43,\n\t0xE8, 0x89, 0xB2, 0x43, 0xE8, 0x89, 0xB8, 0x43,\n\t// Bytes 1200 - 123f\n\t0xE8, 0x89, 0xB9, 0x43, 0xE8, 0x8A, 0x8B, 0x43,\n\t0xE8, 0x8A, 0x91, 0x43, 0xE8, 0x8A, 0x9D, 0x43,\n\t0xE8, 0x8A, 0xB1, 0x43, 0xE8, 0x8A, 0xB3, 0x43,\n\t0xE8, 0x8A, 0xBD, 0x43, 0xE8, 0x8B, 0xA5, 0x43,\n\t0xE8, 0x8B, 0xA6, 0x43, 0xE8, 0x8C, 0x9D, 0x43,\n\t0xE8, 0x8C, 0xA3, 0x43, 0xE8, 0x8C, 0xB6, 0x43,\n\t0xE8, 0x8D, 0x92, 0x43, 0xE8, 0x8D, 0x93, 0x43,\n\t0xE8, 0x8D, 0xA3, 0x43, 0xE8, 0x8E, 0xAD, 0x43,\n\t// Bytes 1240 - 127f\n\t0xE8, 0x8E, 0xBD, 0x43, 0xE8, 0x8F, 0x89, 0x43,\n\t0xE8, 0x8F, 0x8A, 0x43, 0xE8, 0x8F, 0x8C, 0x43,\n\t0xE8, 0x8F, 0x9C, 0x43, 0xE8, 0x8F, 0xA7, 0x43,\n\t0xE8, 0x8F, 0xAF, 0x43, 0xE8, 0x8F, 0xB1, 0x43,\n\t0xE8, 0x90, 0xBD, 0x43, 0xE8, 0x91, 0x89, 0x43,\n\t0xE8, 0x91, 0x97, 0x43, 0xE8, 0x93, 0xAE, 0x43,\n\t0xE8, 0x93, 0xB1, 0x43, 0xE8, 0x93, 0xB3, 0x43,\n\t0xE8, 0x93, 0xBC, 0x43, 0xE8, 0x94, 0x96, 0x43,\n\t// Bytes 1280 - 12bf\n\t0xE8, 0x95, 0xA4, 0x43, 0xE8, 0x97, 0x8D, 0x43,\n\t0xE8, 0x97, 0xBA, 0x43, 0xE8, 0x98, 0x86, 0x43,\n\t0xE8, 0x98, 0x92, 0x43, 0xE8, 0x98, 0xAD, 0x43,\n\t0xE8, 0x98, 0xBF, 0x43, 0xE8, 0x99, 0x8D, 0x43,\n\t0xE8, 0x99, 0x90, 0x43, 0xE8, 0x99, 0x9C, 0x43,\n\t0xE8, 0x99, 0xA7, 0x43, 0xE8, 0x99, 0xA9, 0x43,\n\t0xE8, 0x99, 0xAB, 0x43, 0xE8, 0x9A, 0x88, 0x43,\n\t0xE8, 0x9A, 0xA9, 0x43, 0xE8, 0x9B, 0xA2, 0x43,\n\t// Bytes 12c0 - 12ff\n\t0xE8, 0x9C, 0x8E, 0x43, 0xE8, 0x9C, 0xA8, 0x43,\n\t0xE8, 0x9D, 0xAB, 0x43, 0xE8, 0x9D, 0xB9, 0x43,\n\t0xE8, 0x9E, 0x86, 0x43, 0xE8, 0x9E, 0xBA, 0x43,\n\t0xE8, 0x9F, 0xA1, 0x43, 0xE8, 0xA0, 0x81, 0x43,\n\t0xE8, 0xA0, 0x9F, 0x43, 0xE8, 0xA1, 0x80, 0x43,\n\t0xE8, 0xA1, 0x8C, 0x43, 0xE8, 0xA1, 0xA0, 0x43,\n\t0xE8, 0xA1, 0xA3, 0x43, 0xE8, 0xA3, 0x82, 0x43,\n\t0xE8, 0xA3, 0x8F, 0x43, 0xE8, 0xA3, 0x97, 0x43,\n\t// Bytes 1300 - 133f\n\t0xE8, 0xA3, 0x9E, 0x43, 0xE8, 0xA3, 0xA1, 0x43,\n\t0xE8, 0xA3, 0xB8, 0x43, 0xE8, 0xA3, 0xBA, 0x43,\n\t0xE8, 0xA4, 0x90, 0x43, 0xE8, 0xA5, 0x81, 0x43,\n\t0xE8, 0xA5, 0xA4, 0x43, 0xE8, 0xA5, 0xBE, 0x43,\n\t0xE8, 0xA6, 0x86, 0x43, 0xE8, 0xA6, 0x8B, 0x43,\n\t0xE8, 0xA6, 0x96, 0x43, 0xE8, 0xA7, 0x92, 0x43,\n\t0xE8, 0xA7, 0xA3, 0x43, 0xE8, 0xA8, 0x80, 0x43,\n\t0xE8, 0xAA, 0xA0, 0x43, 0xE8, 0xAA, 0xAA, 0x43,\n\t// Bytes 1340 - 137f\n\t0xE8, 0xAA, 0xBF, 0x43, 0xE8, 0xAB, 0x8B, 0x43,\n\t0xE8, 0xAB, 0x92, 0x43, 0xE8, 0xAB, 0x96, 0x43,\n\t0xE8, 0xAB, 0xAD, 0x43, 0xE8, 0xAB, 0xB8, 0x43,\n\t0xE8, 0xAB, 0xBE, 0x43, 0xE8, 0xAC, 0x81, 0x43,\n\t0xE8, 0xAC, 0xB9, 0x43, 0xE8, 0xAD, 0x98, 0x43,\n\t0xE8, 0xAE, 0x80, 0x43, 0xE8, 0xAE, 0x8A, 0x43,\n\t0xE8, 0xB0, 0xB7, 0x43, 0xE8, 0xB1, 0x86, 0x43,\n\t0xE8, 0xB1, 0x88, 0x43, 0xE8, 0xB1, 0x95, 0x43,\n\t// Bytes 1380 - 13bf\n\t0xE8, 0xB1, 0xB8, 0x43, 0xE8, 0xB2, 0x9D, 0x43,\n\t0xE8, 0xB2, 0xA1, 0x43, 0xE8, 0xB2, 0xA9, 0x43,\n\t0xE8, 0xB2, 0xAB, 0x43, 0xE8, 0xB3, 0x81, 0x43,\n\t0xE8, 0xB3, 0x82, 0x43, 0xE8, 0xB3, 0x87, 0x43,\n\t0xE8, 0xB3, 0x88, 0x43, 0xE8, 0xB3, 0x93, 0x43,\n\t0xE8, 0xB4, 0x88, 0x43, 0xE8, 0xB4, 0x9B, 0x43,\n\t0xE8, 0xB5, 0xA4, 0x43, 0xE8, 0xB5, 0xB0, 0x43,\n\t0xE8, 0xB5, 0xB7, 0x43, 0xE8, 0xB6, 0xB3, 0x43,\n\t// Bytes 13c0 - 13ff\n\t0xE8, 0xB6, 0xBC, 0x43, 0xE8, 0xB7, 0x8B, 0x43,\n\t0xE8, 0xB7, 0xAF, 0x43, 0xE8, 0xB7, 0xB0, 0x43,\n\t0xE8, 0xBA, 0xAB, 0x43, 0xE8, 0xBB, 0x8A, 0x43,\n\t0xE8, 0xBB, 0x94, 0x43, 0xE8, 0xBC, 0xA6, 0x43,\n\t0xE8, 0xBC, 0xAA, 0x43, 0xE8, 0xBC, 0xB8, 0x43,\n\t0xE8, 0xBC, 0xBB, 0x43, 0xE8, 0xBD, 0xA2, 0x43,\n\t0xE8, 0xBE, 0x9B, 0x43, 0xE8, 0xBE, 0x9E, 0x43,\n\t0xE8, 0xBE, 0xB0, 0x43, 0xE8, 0xBE, 0xB5, 0x43,\n\t// Bytes 1400 - 143f\n\t0xE8, 0xBE, 0xB6, 0x43, 0xE9, 0x80, 0xA3, 0x43,\n\t0xE9, 0x80, 0xB8, 0x43, 0xE9, 0x81, 0x8A, 0x43,\n\t0xE9, 0x81, 0xA9, 0x43, 0xE9, 0x81, 0xB2, 0x43,\n\t0xE9, 0x81, 0xBC, 0x43, 0xE9, 0x82, 0x8F, 0x43,\n\t0xE9, 0x82, 0x91, 0x43, 0xE9, 0x82, 0x94, 0x43,\n\t0xE9, 0x83, 0x8E, 0x43, 0xE9, 0x83, 0x9E, 0x43,\n\t0xE9, 0x83, 0xB1, 0x43, 0xE9, 0x83, 0xBD, 0x43,\n\t0xE9, 0x84, 0x91, 0x43, 0xE9, 0x84, 0x9B, 0x43,\n\t// Bytes 1440 - 147f\n\t0xE9, 0x85, 0x89, 0x43, 0xE9, 0x85, 0x8D, 0x43,\n\t0xE9, 0x85, 0xAA, 0x43, 0xE9, 0x86, 0x99, 0x43,\n\t0xE9, 0x86, 0xB4, 0x43, 0xE9, 0x87, 0x86, 0x43,\n\t0xE9, 0x87, 0x8C, 0x43, 0xE9, 0x87, 0x8F, 0x43,\n\t0xE9, 0x87, 0x91, 0x43, 0xE9, 0x88, 0xB4, 0x43,\n\t0xE9, 0x88, 0xB8, 0x43, 0xE9, 0x89, 0xB6, 0x43,\n\t0xE9, 0x89, 0xBC, 0x43, 0xE9, 0x8B, 0x97, 0x43,\n\t0xE9, 0x8B, 0x98, 0x43, 0xE9, 0x8C, 0x84, 0x43,\n\t// Bytes 1480 - 14bf\n\t0xE9, 0x8D, 0x8A, 0x43, 0xE9, 0x8F, 0xB9, 0x43,\n\t0xE9, 0x90, 0x95, 0x43, 0xE9, 0x95, 0xB7, 0x43,\n\t0xE9, 0x96, 0x80, 0x43, 0xE9, 0x96, 0x8B, 0x43,\n\t0xE9, 0x96, 0xAD, 0x43, 0xE9, 0x96, 0xB7, 0x43,\n\t0xE9, 0x98, 0x9C, 0x43, 0xE9, 0x98, 0xAE, 0x43,\n\t0xE9, 0x99, 0x8B, 0x43, 0xE9, 0x99, 0x8D, 0x43,\n\t0xE9, 0x99, 0xB5, 0x43, 0xE9, 0x99, 0xB8, 0x43,\n\t0xE9, 0x99, 0xBC, 0x43, 0xE9, 0x9A, 0x86, 0x43,\n\t// Bytes 14c0 - 14ff\n\t0xE9, 0x9A, 0xA3, 0x43, 0xE9, 0x9A, 0xB6, 0x43,\n\t0xE9, 0x9A, 0xB7, 0x43, 0xE9, 0x9A, 0xB8, 0x43,\n\t0xE9, 0x9A, 0xB9, 0x43, 0xE9, 0x9B, 0x83, 0x43,\n\t0xE9, 0x9B, 0xA2, 0x43, 0xE9, 0x9B, 0xA3, 0x43,\n\t0xE9, 0x9B, 0xA8, 0x43, 0xE9, 0x9B, 0xB6, 0x43,\n\t0xE9, 0x9B, 0xB7, 0x43, 0xE9, 0x9C, 0xA3, 0x43,\n\t0xE9, 0x9C, 0xB2, 0x43, 0xE9, 0x9D, 0x88, 0x43,\n\t0xE9, 0x9D, 0x91, 0x43, 0xE9, 0x9D, 0x96, 0x43,\n\t// Bytes 1500 - 153f\n\t0xE9, 0x9D, 0x9E, 0x43, 0xE9, 0x9D, 0xA2, 0x43,\n\t0xE9, 0x9D, 0xA9, 0x43, 0xE9, 0x9F, 0x8B, 0x43,\n\t0xE9, 0x9F, 0x9B, 0x43, 0xE9, 0x9F, 0xA0, 0x43,\n\t0xE9, 0x9F, 0xAD, 0x43, 0xE9, 0x9F, 0xB3, 0x43,\n\t0xE9, 0x9F, 0xBF, 0x43, 0xE9, 0xA0, 0x81, 0x43,\n\t0xE9, 0xA0, 0x85, 0x43, 0xE9, 0xA0, 0x8B, 0x43,\n\t0xE9, 0xA0, 0x98, 0x43, 0xE9, 0xA0, 0xA9, 0x43,\n\t0xE9, 0xA0, 0xBB, 0x43, 0xE9, 0xA1, 0x9E, 0x43,\n\t// Bytes 1540 - 157f\n\t0xE9, 0xA2, 0xA8, 0x43, 0xE9, 0xA3, 0x9B, 0x43,\n\t0xE9, 0xA3, 0x9F, 0x43, 0xE9, 0xA3, 0xA2, 0x43,\n\t0xE9, 0xA3, 0xAF, 0x43, 0xE9, 0xA3, 0xBC, 0x43,\n\t0xE9, 0xA4, 0xA8, 0x43, 0xE9, 0xA4, 0xA9, 0x43,\n\t0xE9, 0xA6, 0x96, 0x43, 0xE9, 0xA6, 0x99, 0x43,\n\t0xE9, 0xA6, 0xA7, 0x43, 0xE9, 0xA6, 0xAC, 0x43,\n\t0xE9, 0xA7, 0x82, 0x43, 0xE9, 0xA7, 0xB1, 0x43,\n\t0xE9, 0xA7, 0xBE, 0x43, 0xE9, 0xA9, 0xAA, 0x43,\n\t// Bytes 1580 - 15bf\n\t0xE9, 0xAA, 0xA8, 0x43, 0xE9, 0xAB, 0x98, 0x43,\n\t0xE9, 0xAB, 0x9F, 0x43, 0xE9, 0xAC, 0x92, 0x43,\n\t0xE9, 0xAC, 0xA5, 0x43, 0xE9, 0xAC, 0xAF, 0x43,\n\t0xE9, 0xAC, 0xB2, 0x43, 0xE9, 0xAC, 0xBC, 0x43,\n\t0xE9, 0xAD, 0x9A, 0x43, 0xE9, 0xAD, 0xAF, 0x43,\n\t0xE9, 0xB1, 0x80, 0x43, 0xE9, 0xB1, 0x97, 0x43,\n\t0xE9, 0xB3, 0xA5, 0x43, 0xE9, 0xB3, 0xBD, 0x43,\n\t0xE9, 0xB5, 0xA7, 0x43, 0xE9, 0xB6, 0xB4, 0x43,\n\t// Bytes 15c0 - 15ff\n\t0xE9, 0xB7, 0xBA, 0x43, 0xE9, 0xB8, 0x9E, 0x43,\n\t0xE9, 0xB9, 0xB5, 0x43, 0xE9, 0xB9, 0xBF, 0x43,\n\t0xE9, 0xBA, 0x97, 0x43, 0xE9, 0xBA, 0x9F, 0x43,\n\t0xE9, 0xBA, 0xA5, 0x43, 0xE9, 0xBA, 0xBB, 0x43,\n\t0xE9, 0xBB, 0x83, 0x43, 0xE9, 0xBB, 0x8D, 0x43,\n\t0xE9, 0xBB, 0x8E, 0x43, 0xE9, 0xBB, 0x91, 0x43,\n\t0xE9, 0xBB, 0xB9, 0x43, 0xE9, 0xBB, 0xBD, 0x43,\n\t0xE9, 0xBB, 0xBE, 0x43, 0xE9, 0xBC, 0x85, 0x43,\n\t// Bytes 1600 - 163f\n\t0xE9, 0xBC, 0x8E, 0x43, 0xE9, 0xBC, 0x8F, 0x43,\n\t0xE9, 0xBC, 0x93, 0x43, 0xE9, 0xBC, 0x96, 0x43,\n\t0xE9, 0xBC, 0xA0, 0x43, 0xE9, 0xBC, 0xBB, 0x43,\n\t0xE9, 0xBD, 0x83, 0x43, 0xE9, 0xBD, 0x8A, 0x43,\n\t0xE9, 0xBD, 0x92, 0x43, 0xE9, 0xBE, 0x8D, 0x43,\n\t0xE9, 0xBE, 0x8E, 0x43, 0xE9, 0xBE, 0x9C, 0x43,\n\t0xE9, 0xBE, 0x9F, 0x43, 0xE9, 0xBE, 0xA0, 0x43,\n\t0xEA, 0x9C, 0xA7, 0x43, 0xEA, 0x9D, 0xAF, 0x43,\n\t// Bytes 1640 - 167f\n\t0xEA, 0xAC, 0xB7, 0x43, 0xEA, 0xAD, 0x92, 0x44,\n\t0xF0, 0xA0, 0x84, 0xA2, 0x44, 0xF0, 0xA0, 0x94,\n\t0x9C, 0x44, 0xF0, 0xA0, 0x94, 0xA5, 0x44, 0xF0,\n\t0xA0, 0x95, 0x8B, 0x44, 0xF0, 0xA0, 0x98, 0xBA,\n\t0x44, 0xF0, 0xA0, 0xA0, 0x84, 0x44, 0xF0, 0xA0,\n\t0xA3, 0x9E, 0x44, 0xF0, 0xA0, 0xA8, 0xAC, 0x44,\n\t0xF0, 0xA0, 0xAD, 0xA3, 0x44, 0xF0, 0xA1, 0x93,\n\t0xA4, 0x44, 0xF0, 0xA1, 0x9A, 0xA8, 0x44, 0xF0,\n\t// Bytes 1680 - 16bf\n\t0xA1, 0x9B, 0xAA, 0x44, 0xF0, 0xA1, 0xA7, 0x88,\n\t0x44, 0xF0, 0xA1, 0xAC, 0x98, 0x44, 0xF0, 0xA1,\n\t0xB4, 0x8B, 0x44, 0xF0, 0xA1, 0xB7, 0xA4, 0x44,\n\t0xF0, 0xA1, 0xB7, 0xA6, 0x44, 0xF0, 0xA2, 0x86,\n\t0x83, 0x44, 0xF0, 0xA2, 0x86, 0x9F, 0x44, 0xF0,\n\t0xA2, 0x8C, 0xB1, 0x44, 0xF0, 0xA2, 0x9B, 0x94,\n\t0x44, 0xF0, 0xA2, 0xA1, 0x84, 0x44, 0xF0, 0xA2,\n\t0xA1, 0x8A, 0x44, 0xF0, 0xA2, 0xAC, 0x8C, 0x44,\n\t// Bytes 16c0 - 16ff\n\t0xF0, 0xA2, 0xAF, 0xB1, 0x44, 0xF0, 0xA3, 0x80,\n\t0x8A, 0x44, 0xF0, 0xA3, 0x8A, 0xB8, 0x44, 0xF0,\n\t0xA3, 0x8D, 0x9F, 0x44, 0xF0, 0xA3, 0x8E, 0x93,\n\t0x44, 0xF0, 0xA3, 0x8E, 0x9C, 0x44, 0xF0, 0xA3,\n\t0x8F, 0x83, 0x44, 0xF0, 0xA3, 0x8F, 0x95, 0x44,\n\t0xF0, 0xA3, 0x91, 0xAD, 0x44, 0xF0, 0xA3, 0x9A,\n\t0xA3, 0x44, 0xF0, 0xA3, 0xA2, 0xA7, 0x44, 0xF0,\n\t0xA3, 0xAA, 0x8D, 0x44, 0xF0, 0xA3, 0xAB, 0xBA,\n\t// Bytes 1700 - 173f\n\t0x44, 0xF0, 0xA3, 0xB2, 0xBC, 0x44, 0xF0, 0xA3,\n\t0xB4, 0x9E, 0x44, 0xF0, 0xA3, 0xBB, 0x91, 0x44,\n\t0xF0, 0xA3, 0xBD, 0x9E, 0x44, 0xF0, 0xA3, 0xBE,\n\t0x8E, 0x44, 0xF0, 0xA4, 0x89, 0xA3, 0x44, 0xF0,\n\t0xA4, 0x8B, 0xAE, 0x44, 0xF0, 0xA4, 0x8E, 0xAB,\n\t0x44, 0xF0, 0xA4, 0x98, 0x88, 0x44, 0xF0, 0xA4,\n\t0x9C, 0xB5, 0x44, 0xF0, 0xA4, 0xA0, 0x94, 0x44,\n\t0xF0, 0xA4, 0xB0, 0xB6, 0x44, 0xF0, 0xA4, 0xB2,\n\t// Bytes 1740 - 177f\n\t0x92, 0x44, 0xF0, 0xA4, 0xBE, 0xA1, 0x44, 0xF0,\n\t0xA4, 0xBE, 0xB8, 0x44, 0xF0, 0xA5, 0x81, 0x84,\n\t0x44, 0xF0, 0xA5, 0x83, 0xB2, 0x44, 0xF0, 0xA5,\n\t0x83, 0xB3, 0x44, 0xF0, 0xA5, 0x84, 0x99, 0x44,\n\t0xF0, 0xA5, 0x84, 0xB3, 0x44, 0xF0, 0xA5, 0x89,\n\t0x89, 0x44, 0xF0, 0xA5, 0x90, 0x9D, 0x44, 0xF0,\n\t0xA5, 0x98, 0xA6, 0x44, 0xF0, 0xA5, 0x9A, 0x9A,\n\t0x44, 0xF0, 0xA5, 0x9B, 0x85, 0x44, 0xF0, 0xA5,\n\t// Bytes 1780 - 17bf\n\t0xA5, 0xBC, 0x44, 0xF0, 0xA5, 0xAA, 0xA7, 0x44,\n\t0xF0, 0xA5, 0xAE, 0xAB, 0x44, 0xF0, 0xA5, 0xB2,\n\t0x80, 0x44, 0xF0, 0xA5, 0xB3, 0x90, 0x44, 0xF0,\n\t0xA5, 0xBE, 0x86, 0x44, 0xF0, 0xA6, 0x87, 0x9A,\n\t0x44, 0xF0, 0xA6, 0x88, 0xA8, 0x44, 0xF0, 0xA6,\n\t0x89, 0x87, 0x44, 0xF0, 0xA6, 0x8B, 0x99, 0x44,\n\t0xF0, 0xA6, 0x8C, 0xBE, 0x44, 0xF0, 0xA6, 0x93,\n\t0x9A, 0x44, 0xF0, 0xA6, 0x94, 0xA3, 0x44, 0xF0,\n\t// Bytes 17c0 - 17ff\n\t0xA6, 0x96, 0xA8, 0x44, 0xF0, 0xA6, 0x9E, 0xA7,\n\t0x44, 0xF0, 0xA6, 0x9E, 0xB5, 0x44, 0xF0, 0xA6,\n\t0xAC, 0xBC, 0x44, 0xF0, 0xA6, 0xB0, 0xB6, 0x44,\n\t0xF0, 0xA6, 0xB3, 0x95, 0x44, 0xF0, 0xA6, 0xB5,\n\t0xAB, 0x44, 0xF0, 0xA6, 0xBC, 0xAC, 0x44, 0xF0,\n\t0xA6, 0xBE, 0xB1, 0x44, 0xF0, 0xA7, 0x83, 0x92,\n\t0x44, 0xF0, 0xA7, 0x8F, 0x8A, 0x44, 0xF0, 0xA7,\n\t0x99, 0xA7, 0x44, 0xF0, 0xA7, 0xA2, 0xAE, 0x44,\n\t// Bytes 1800 - 183f\n\t0xF0, 0xA7, 0xA5, 0xA6, 0x44, 0xF0, 0xA7, 0xB2,\n\t0xA8, 0x44, 0xF0, 0xA7, 0xBB, 0x93, 0x44, 0xF0,\n\t0xA7, 0xBC, 0xAF, 0x44, 0xF0, 0xA8, 0x97, 0x92,\n\t0x44, 0xF0, 0xA8, 0x97, 0xAD, 0x44, 0xF0, 0xA8,\n\t0x9C, 0xAE, 0x44, 0xF0, 0xA8, 0xAF, 0xBA, 0x44,\n\t0xF0, 0xA8, 0xB5, 0xB7, 0x44, 0xF0, 0xA9, 0x85,\n\t0x85, 0x44, 0xF0, 0xA9, 0x87, 0x9F, 0x44, 0xF0,\n\t0xA9, 0x88, 0x9A, 0x44, 0xF0, 0xA9, 0x90, 0x8A,\n\t// Bytes 1840 - 187f\n\t0x44, 0xF0, 0xA9, 0x92, 0x96, 0x44, 0xF0, 0xA9,\n\t0x96, 0xB6, 0x44, 0xF0, 0xA9, 0xAC, 0xB0, 0x44,\n\t0xF0, 0xAA, 0x83, 0x8E, 0x44, 0xF0, 0xAA, 0x84,\n\t0x85, 0x44, 0xF0, 0xAA, 0x88, 0x8E, 0x44, 0xF0,\n\t0xAA, 0x8A, 0x91, 0x44, 0xF0, 0xAA, 0x8E, 0x92,\n\t0x44, 0xF0, 0xAA, 0x98, 0x80, 0x42, 0x21, 0x21,\n\t0x42, 0x21, 0x3F, 0x42, 0x2E, 0x2E, 0x42, 0x30,\n\t0x2C, 0x42, 0x30, 0x2E, 0x42, 0x31, 0x2C, 0x42,\n\t// Bytes 1880 - 18bf\n\t0x31, 0x2E, 0x42, 0x31, 0x30, 0x42, 0x31, 0x31,\n\t0x42, 0x31, 0x32, 0x42, 0x31, 0x33, 0x42, 0x31,\n\t0x34, 0x42, 0x31, 0x35, 0x42, 0x31, 0x36, 0x42,\n\t0x31, 0x37, 0x42, 0x31, 0x38, 0x42, 0x31, 0x39,\n\t0x42, 0x32, 0x2C, 0x42, 0x32, 0x2E, 0x42, 0x32,\n\t0x30, 0x42, 0x32, 0x31, 0x42, 0x32, 0x32, 0x42,\n\t0x32, 0x33, 0x42, 0x32, 0x34, 0x42, 0x32, 0x35,\n\t0x42, 0x32, 0x36, 0x42, 0x32, 0x37, 0x42, 0x32,\n\t// Bytes 18c0 - 18ff\n\t0x38, 0x42, 0x32, 0x39, 0x42, 0x33, 0x2C, 0x42,\n\t0x33, 0x2E, 0x42, 0x33, 0x30, 0x42, 0x33, 0x31,\n\t0x42, 0x33, 0x32, 0x42, 0x33, 0x33, 0x42, 0x33,\n\t0x34, 0x42, 0x33, 0x35, 0x42, 0x33, 0x36, 0x42,\n\t0x33, 0x37, 0x42, 0x33, 0x38, 0x42, 0x33, 0x39,\n\t0x42, 0x34, 0x2C, 0x42, 0x34, 0x2E, 0x42, 0x34,\n\t0x30, 0x42, 0x34, 0x31, 0x42, 0x34, 0x32, 0x42,\n\t0x34, 0x33, 0x42, 0x34, 0x34, 0x42, 0x34, 0x35,\n\t// Bytes 1900 - 193f\n\t0x42, 0x34, 0x36, 0x42, 0x34, 0x37, 0x42, 0x34,\n\t0x38, 0x42, 0x34, 0x39, 0x42, 0x35, 0x2C, 0x42,\n\t0x35, 0x2E, 0x42, 0x35, 0x30, 0x42, 0x36, 0x2C,\n\t0x42, 0x36, 0x2E, 0x42, 0x37, 0x2C, 0x42, 0x37,\n\t0x2E, 0x42, 0x38, 0x2C, 0x42, 0x38, 0x2E, 0x42,\n\t0x39, 0x2C, 0x42, 0x39, 0x2E, 0x42, 0x3D, 0x3D,\n\t0x42, 0x3F, 0x21, 0x42, 0x3F, 0x3F, 0x42, 0x41,\n\t0x55, 0x42, 0x42, 0x71, 0x42, 0x43, 0x44, 0x42,\n\t// Bytes 1940 - 197f\n\t0x44, 0x4A, 0x42, 0x44, 0x5A, 0x42, 0x44, 0x7A,\n\t0x42, 0x47, 0x42, 0x42, 0x47, 0x79, 0x42, 0x48,\n\t0x50, 0x42, 0x48, 0x56, 0x42, 0x48, 0x67, 0x42,\n\t0x48, 0x7A, 0x42, 0x49, 0x49, 0x42, 0x49, 0x4A,\n\t0x42, 0x49, 0x55, 0x42, 0x49, 0x56, 0x42, 0x49,\n\t0x58, 0x42, 0x4B, 0x42, 0x42, 0x4B, 0x4B, 0x42,\n\t0x4B, 0x4D, 0x42, 0x4C, 0x4A, 0x42, 0x4C, 0x6A,\n\t0x42, 0x4D, 0x42, 0x42, 0x4D, 0x43, 0x42, 0x4D,\n\t// Bytes 1980 - 19bf\n\t0x44, 0x42, 0x4D, 0x56, 0x42, 0x4D, 0x57, 0x42,\n\t0x4E, 0x4A, 0x42, 0x4E, 0x6A, 0x42, 0x4E, 0x6F,\n\t0x42, 0x50, 0x48, 0x42, 0x50, 0x52, 0x42, 0x50,\n\t0x61, 0x42, 0x52, 0x73, 0x42, 0x53, 0x44, 0x42,\n\t0x53, 0x4D, 0x42, 0x53, 0x53, 0x42, 0x53, 0x76,\n\t0x42, 0x54, 0x4D, 0x42, 0x56, 0x49, 0x42, 0x57,\n\t0x43, 0x42, 0x57, 0x5A, 0x42, 0x57, 0x62, 0x42,\n\t0x58, 0x49, 0x42, 0x63, 0x63, 0x42, 0x63, 0x64,\n\t// Bytes 19c0 - 19ff\n\t0x42, 0x63, 0x6D, 0x42, 0x64, 0x42, 0x42, 0x64,\n\t0x61, 0x42, 0x64, 0x6C, 0x42, 0x64, 0x6D, 0x42,\n\t0x64, 0x7A, 0x42, 0x65, 0x56, 0x42, 0x66, 0x66,\n\t0x42, 0x66, 0x69, 0x42, 0x66, 0x6C, 0x42, 0x66,\n\t0x6D, 0x42, 0x68, 0x61, 0x42, 0x69, 0x69, 0x42,\n\t0x69, 0x6A, 0x42, 0x69, 0x6E, 0x42, 0x69, 0x76,\n\t0x42, 0x69, 0x78, 0x42, 0x6B, 0x41, 0x42, 0x6B,\n\t0x56, 0x42, 0x6B, 0x57, 0x42, 0x6B, 0x67, 0x42,\n\t// Bytes 1a00 - 1a3f\n\t0x6B, 0x6C, 0x42, 0x6B, 0x6D, 0x42, 0x6B, 0x74,\n\t0x42, 0x6C, 0x6A, 0x42, 0x6C, 0x6D, 0x42, 0x6C,\n\t0x6E, 0x42, 0x6C, 0x78, 0x42, 0x6D, 0x32, 0x42,\n\t0x6D, 0x33, 0x42, 0x6D, 0x41, 0x42, 0x6D, 0x56,\n\t0x42, 0x6D, 0x57, 0x42, 0x6D, 0x62, 0x42, 0x6D,\n\t0x67, 0x42, 0x6D, 0x6C, 0x42, 0x6D, 0x6D, 0x42,\n\t0x6D, 0x73, 0x42, 0x6E, 0x41, 0x42, 0x6E, 0x46,\n\t0x42, 0x6E, 0x56, 0x42, 0x6E, 0x57, 0x42, 0x6E,\n\t// Bytes 1a40 - 1a7f\n\t0x6A, 0x42, 0x6E, 0x6D, 0x42, 0x6E, 0x73, 0x42,\n\t0x6F, 0x56, 0x42, 0x70, 0x41, 0x42, 0x70, 0x46,\n\t0x42, 0x70, 0x56, 0x42, 0x70, 0x57, 0x42, 0x70,\n\t0x63, 0x42, 0x70, 0x73, 0x42, 0x73, 0x72, 0x42,\n\t0x73, 0x74, 0x42, 0x76, 0x69, 0x42, 0x78, 0x69,\n\t0x43, 0x28, 0x31, 0x29, 0x43, 0x28, 0x32, 0x29,\n\t0x43, 0x28, 0x33, 0x29, 0x43, 0x28, 0x34, 0x29,\n\t0x43, 0x28, 0x35, 0x29, 0x43, 0x28, 0x36, 0x29,\n\t// Bytes 1a80 - 1abf\n\t0x43, 0x28, 0x37, 0x29, 0x43, 0x28, 0x38, 0x29,\n\t0x43, 0x28, 0x39, 0x29, 0x43, 0x28, 0x41, 0x29,\n\t0x43, 0x28, 0x42, 0x29, 0x43, 0x28, 0x43, 0x29,\n\t0x43, 0x28, 0x44, 0x29, 0x43, 0x28, 0x45, 0x29,\n\t0x43, 0x28, 0x46, 0x29, 0x43, 0x28, 0x47, 0x29,\n\t0x43, 0x28, 0x48, 0x29, 0x43, 0x28, 0x49, 0x29,\n\t0x43, 0x28, 0x4A, 0x29, 0x43, 0x28, 0x4B, 0x29,\n\t0x43, 0x28, 0x4C, 0x29, 0x43, 0x28, 0x4D, 0x29,\n\t// Bytes 1ac0 - 1aff\n\t0x43, 0x28, 0x4E, 0x29, 0x43, 0x28, 0x4F, 0x29,\n\t0x43, 0x28, 0x50, 0x29, 0x43, 0x28, 0x51, 0x29,\n\t0x43, 0x28, 0x52, 0x29, 0x43, 0x28, 0x53, 0x29,\n\t0x43, 0x28, 0x54, 0x29, 0x43, 0x28, 0x55, 0x29,\n\t0x43, 0x28, 0x56, 0x29, 0x43, 0x28, 0x57, 0x29,\n\t0x43, 0x28, 0x58, 0x29, 0x43, 0x28, 0x59, 0x29,\n\t0x43, 0x28, 0x5A, 0x29, 0x43, 0x28, 0x61, 0x29,\n\t0x43, 0x28, 0x62, 0x29, 0x43, 0x28, 0x63, 0x29,\n\t// Bytes 1b00 - 1b3f\n\t0x43, 0x28, 0x64, 0x29, 0x43, 0x28, 0x65, 0x29,\n\t0x43, 0x28, 0x66, 0x29, 0x43, 0x28, 0x67, 0x29,\n\t0x43, 0x28, 0x68, 0x29, 0x43, 0x28, 0x69, 0x29,\n\t0x43, 0x28, 0x6A, 0x29, 0x43, 0x28, 0x6B, 0x29,\n\t0x43, 0x28, 0x6C, 0x29, 0x43, 0x28, 0x6D, 0x29,\n\t0x43, 0x28, 0x6E, 0x29, 0x43, 0x28, 0x6F, 0x29,\n\t0x43, 0x28, 0x70, 0x29, 0x43, 0x28, 0x71, 0x29,\n\t0x43, 0x28, 0x72, 0x29, 0x43, 0x28, 0x73, 0x29,\n\t// Bytes 1b40 - 1b7f\n\t0x43, 0x28, 0x74, 0x29, 0x43, 0x28, 0x75, 0x29,\n\t0x43, 0x28, 0x76, 0x29, 0x43, 0x28, 0x77, 0x29,\n\t0x43, 0x28, 0x78, 0x29, 0x43, 0x28, 0x79, 0x29,\n\t0x43, 0x28, 0x7A, 0x29, 0x43, 0x2E, 0x2E, 0x2E,\n\t0x43, 0x31, 0x30, 0x2E, 0x43, 0x31, 0x31, 0x2E,\n\t0x43, 0x31, 0x32, 0x2E, 0x43, 0x31, 0x33, 0x2E,\n\t0x43, 0x31, 0x34, 0x2E, 0x43, 0x31, 0x35, 0x2E,\n\t0x43, 0x31, 0x36, 0x2E, 0x43, 0x31, 0x37, 0x2E,\n\t// Bytes 1b80 - 1bbf\n\t0x43, 0x31, 0x38, 0x2E, 0x43, 0x31, 0x39, 0x2E,\n\t0x43, 0x32, 0x30, 0x2E, 0x43, 0x3A, 0x3A, 0x3D,\n\t0x43, 0x3D, 0x3D, 0x3D, 0x43, 0x43, 0x6F, 0x2E,\n\t0x43, 0x46, 0x41, 0x58, 0x43, 0x47, 0x48, 0x7A,\n\t0x43, 0x47, 0x50, 0x61, 0x43, 0x49, 0x49, 0x49,\n\t0x43, 0x4C, 0x54, 0x44, 0x43, 0x4C, 0xC2, 0xB7,\n\t0x43, 0x4D, 0x48, 0x7A, 0x43, 0x4D, 0x50, 0x61,\n\t0x43, 0x4D, 0xCE, 0xA9, 0x43, 0x50, 0x50, 0x4D,\n\t// Bytes 1bc0 - 1bff\n\t0x43, 0x50, 0x50, 0x56, 0x43, 0x50, 0x54, 0x45,\n\t0x43, 0x54, 0x45, 0x4C, 0x43, 0x54, 0x48, 0x7A,\n\t0x43, 0x56, 0x49, 0x49, 0x43, 0x58, 0x49, 0x49,\n\t0x43, 0x61, 0x2F, 0x63, 0x43, 0x61, 0x2F, 0x73,\n\t0x43, 0x61, 0xCA, 0xBE, 0x43, 0x62, 0x61, 0x72,\n\t0x43, 0x63, 0x2F, 0x6F, 0x43, 0x63, 0x2F, 0x75,\n\t0x43, 0x63, 0x61, 0x6C, 0x43, 0x63, 0x6D, 0x32,\n\t0x43, 0x63, 0x6D, 0x33, 0x43, 0x64, 0x6D, 0x32,\n\t// Bytes 1c00 - 1c3f\n\t0x43, 0x64, 0x6D, 0x33, 0x43, 0x65, 0x72, 0x67,\n\t0x43, 0x66, 0x66, 0x69, 0x43, 0x66, 0x66, 0x6C,\n\t0x43, 0x67, 0x61, 0x6C, 0x43, 0x68, 0x50, 0x61,\n\t0x43, 0x69, 0x69, 0x69, 0x43, 0x6B, 0x48, 0x7A,\n\t0x43, 0x6B, 0x50, 0x61, 0x43, 0x6B, 0x6D, 0x32,\n\t0x43, 0x6B, 0x6D, 0x33, 0x43, 0x6B, 0xCE, 0xA9,\n\t0x43, 0x6C, 0x6F, 0x67, 0x43, 0x6C, 0xC2, 0xB7,\n\t0x43, 0x6D, 0x69, 0x6C, 0x43, 0x6D, 0x6D, 0x32,\n\t// Bytes 1c40 - 1c7f\n\t0x43, 0x6D, 0x6D, 0x33, 0x43, 0x6D, 0x6F, 0x6C,\n\t0x43, 0x72, 0x61, 0x64, 0x43, 0x76, 0x69, 0x69,\n\t0x43, 0x78, 0x69, 0x69, 0x43, 0xC2, 0xB0, 0x43,\n\t0x43, 0xC2, 0xB0, 0x46, 0x43, 0xCA, 0xBC, 0x6E,\n\t0x43, 0xCE, 0xBC, 0x41, 0x43, 0xCE, 0xBC, 0x46,\n\t0x43, 0xCE, 0xBC, 0x56, 0x43, 0xCE, 0xBC, 0x57,\n\t0x43, 0xCE, 0xBC, 0x67, 0x43, 0xCE, 0xBC, 0x6C,\n\t0x43, 0xCE, 0xBC, 0x6D, 0x43, 0xCE, 0xBC, 0x73,\n\t// Bytes 1c80 - 1cbf\n\t0x44, 0x28, 0x31, 0x30, 0x29, 0x44, 0x28, 0x31,\n\t0x31, 0x29, 0x44, 0x28, 0x31, 0x32, 0x29, 0x44,\n\t0x28, 0x31, 0x33, 0x29, 0x44, 0x28, 0x31, 0x34,\n\t0x29, 0x44, 0x28, 0x31, 0x35, 0x29, 0x44, 0x28,\n\t0x31, 0x36, 0x29, 0x44, 0x28, 0x31, 0x37, 0x29,\n\t0x44, 0x28, 0x31, 0x38, 0x29, 0x44, 0x28, 0x31,\n\t0x39, 0x29, 0x44, 0x28, 0x32, 0x30, 0x29, 0x44,\n\t0x30, 0xE7, 0x82, 0xB9, 0x44, 0x31, 0xE2, 0x81,\n\t// Bytes 1cc0 - 1cff\n\t0x84, 0x44, 0x31, 0xE6, 0x97, 0xA5, 0x44, 0x31,\n\t0xE6, 0x9C, 0x88, 0x44, 0x31, 0xE7, 0x82, 0xB9,\n\t0x44, 0x32, 0xE6, 0x97, 0xA5, 0x44, 0x32, 0xE6,\n\t0x9C, 0x88, 0x44, 0x32, 0xE7, 0x82, 0xB9, 0x44,\n\t0x33, 0xE6, 0x97, 0xA5, 0x44, 0x33, 0xE6, 0x9C,\n\t0x88, 0x44, 0x33, 0xE7, 0x82, 0xB9, 0x44, 0x34,\n\t0xE6, 0x97, 0xA5, 0x44, 0x34, 0xE6, 0x9C, 0x88,\n\t0x44, 0x34, 0xE7, 0x82, 0xB9, 0x44, 0x35, 0xE6,\n\t// Bytes 1d00 - 1d3f\n\t0x97, 0xA5, 0x44, 0x35, 0xE6, 0x9C, 0x88, 0x44,\n\t0x35, 0xE7, 0x82, 0xB9, 0x44, 0x36, 0xE6, 0x97,\n\t0xA5, 0x44, 0x36, 0xE6, 0x9C, 0x88, 0x44, 0x36,\n\t0xE7, 0x82, 0xB9, 0x44, 0x37, 0xE6, 0x97, 0xA5,\n\t0x44, 0x37, 0xE6, 0x9C, 0x88, 0x44, 0x37, 0xE7,\n\t0x82, 0xB9, 0x44, 0x38, 0xE6, 0x97, 0xA5, 0x44,\n\t0x38, 0xE6, 0x9C, 0x88, 0x44, 0x38, 0xE7, 0x82,\n\t0xB9, 0x44, 0x39, 0xE6, 0x97, 0xA5, 0x44, 0x39,\n\t// Bytes 1d40 - 1d7f\n\t0xE6, 0x9C, 0x88, 0x44, 0x39, 0xE7, 0x82, 0xB9,\n\t0x44, 0x56, 0x49, 0x49, 0x49, 0x44, 0x61, 0x2E,\n\t0x6D, 0x2E, 0x44, 0x6B, 0x63, 0x61, 0x6C, 0x44,\n\t0x70, 0x2E, 0x6D, 0x2E, 0x44, 0x76, 0x69, 0x69,\n\t0x69, 0x44, 0xD5, 0xA5, 0xD6, 0x82, 0x44, 0xD5,\n\t0xB4, 0xD5, 0xA5, 0x44, 0xD5, 0xB4, 0xD5, 0xAB,\n\t0x44, 0xD5, 0xB4, 0xD5, 0xAD, 0x44, 0xD5, 0xB4,\n\t0xD5, 0xB6, 0x44, 0xD5, 0xBE, 0xD5, 0xB6, 0x44,\n\t// Bytes 1d80 - 1dbf\n\t0xD7, 0x90, 0xD7, 0x9C, 0x44, 0xD8, 0xA7, 0xD9,\n\t0xB4, 0x44, 0xD8, 0xA8, 0xD8, 0xAC, 0x44, 0xD8,\n\t0xA8, 0xD8, 0xAD, 0x44, 0xD8, 0xA8, 0xD8, 0xAE,\n\t0x44, 0xD8, 0xA8, 0xD8, 0xB1, 0x44, 0xD8, 0xA8,\n\t0xD8, 0xB2, 0x44, 0xD8, 0xA8, 0xD9, 0x85, 0x44,\n\t0xD8, 0xA8, 0xD9, 0x86, 0x44, 0xD8, 0xA8, 0xD9,\n\t0x87, 0x44, 0xD8, 0xA8, 0xD9, 0x89, 0x44, 0xD8,\n\t0xA8, 0xD9, 0x8A, 0x44, 0xD8, 0xAA, 0xD8, 0xAC,\n\t// Bytes 1dc0 - 1dff\n\t0x44, 0xD8, 0xAA, 0xD8, 0xAD, 0x44, 0xD8, 0xAA,\n\t0xD8, 0xAE, 0x44, 0xD8, 0xAA, 0xD8, 0xB1, 0x44,\n\t0xD8, 0xAA, 0xD8, 0xB2, 0x44, 0xD8, 0xAA, 0xD9,\n\t0x85, 0x44, 0xD8, 0xAA, 0xD9, 0x86, 0x44, 0xD8,\n\t0xAA, 0xD9, 0x87, 0x44, 0xD8, 0xAA, 0xD9, 0x89,\n\t0x44, 0xD8, 0xAA, 0xD9, 0x8A, 0x44, 0xD8, 0xAB,\n\t0xD8, 0xAC, 0x44, 0xD8, 0xAB, 0xD8, 0xB1, 0x44,\n\t0xD8, 0xAB, 0xD8, 0xB2, 0x44, 0xD8, 0xAB, 0xD9,\n\t// Bytes 1e00 - 1e3f\n\t0x85, 0x44, 0xD8, 0xAB, 0xD9, 0x86, 0x44, 0xD8,\n\t0xAB, 0xD9, 0x87, 0x44, 0xD8, 0xAB, 0xD9, 0x89,\n\t0x44, 0xD8, 0xAB, 0xD9, 0x8A, 0x44, 0xD8, 0xAC,\n\t0xD8, 0xAD, 0x44, 0xD8, 0xAC, 0xD9, 0x85, 0x44,\n\t0xD8, 0xAC, 0xD9, 0x89, 0x44, 0xD8, 0xAC, 0xD9,\n\t0x8A, 0x44, 0xD8, 0xAD, 0xD8, 0xAC, 0x44, 0xD8,\n\t0xAD, 0xD9, 0x85, 0x44, 0xD8, 0xAD, 0xD9, 0x89,\n\t0x44, 0xD8, 0xAD, 0xD9, 0x8A, 0x44, 0xD8, 0xAE,\n\t// Bytes 1e40 - 1e7f\n\t0xD8, 0xAC, 0x44, 0xD8, 0xAE, 0xD8, 0xAD, 0x44,\n\t0xD8, 0xAE, 0xD9, 0x85, 0x44, 0xD8, 0xAE, 0xD9,\n\t0x89, 0x44, 0xD8, 0xAE, 0xD9, 0x8A, 0x44, 0xD8,\n\t0xB3, 0xD8, 0xAC, 0x44, 0xD8, 0xB3, 0xD8, 0xAD,\n\t0x44, 0xD8, 0xB3, 0xD8, 0xAE, 0x44, 0xD8, 0xB3,\n\t0xD8, 0xB1, 0x44, 0xD8, 0xB3, 0xD9, 0x85, 0x44,\n\t0xD8, 0xB3, 0xD9, 0x87, 0x44, 0xD8, 0xB3, 0xD9,\n\t0x89, 0x44, 0xD8, 0xB3, 0xD9, 0x8A, 0x44, 0xD8,\n\t// Bytes 1e80 - 1ebf\n\t0xB4, 0xD8, 0xAC, 0x44, 0xD8, 0xB4, 0xD8, 0xAD,\n\t0x44, 0xD8, 0xB4, 0xD8, 0xAE, 0x44, 0xD8, 0xB4,\n\t0xD8, 0xB1, 0x44, 0xD8, 0xB4, 0xD9, 0x85, 0x44,\n\t0xD8, 0xB4, 0xD9, 0x87, 0x44, 0xD8, 0xB4, 0xD9,\n\t0x89, 0x44, 0xD8, 0xB4, 0xD9, 0x8A, 0x44, 0xD8,\n\t0xB5, 0xD8, 0xAD, 0x44, 0xD8, 0xB5, 0xD8, 0xAE,\n\t0x44, 0xD8, 0xB5, 0xD8, 0xB1, 0x44, 0xD8, 0xB5,\n\t0xD9, 0x85, 0x44, 0xD8, 0xB5, 0xD9, 0x89, 0x44,\n\t// Bytes 1ec0 - 1eff\n\t0xD8, 0xB5, 0xD9, 0x8A, 0x44, 0xD8, 0xB6, 0xD8,\n\t0xAC, 0x44, 0xD8, 0xB6, 0xD8, 0xAD, 0x44, 0xD8,\n\t0xB6, 0xD8, 0xAE, 0x44, 0xD8, 0xB6, 0xD8, 0xB1,\n\t0x44, 0xD8, 0xB6, 0xD9, 0x85, 0x44, 0xD8, 0xB6,\n\t0xD9, 0x89, 0x44, 0xD8, 0xB6, 0xD9, 0x8A, 0x44,\n\t0xD8, 0xB7, 0xD8, 0xAD, 0x44, 0xD8, 0xB7, 0xD9,\n\t0x85, 0x44, 0xD8, 0xB7, 0xD9, 0x89, 0x44, 0xD8,\n\t0xB7, 0xD9, 0x8A, 0x44, 0xD8, 0xB8, 0xD9, 0x85,\n\t// Bytes 1f00 - 1f3f\n\t0x44, 0xD8, 0xB9, 0xD8, 0xAC, 0x44, 0xD8, 0xB9,\n\t0xD9, 0x85, 0x44, 0xD8, 0xB9, 0xD9, 0x89, 0x44,\n\t0xD8, 0xB9, 0xD9, 0x8A, 0x44, 0xD8, 0xBA, 0xD8,\n\t0xAC, 0x44, 0xD8, 0xBA, 0xD9, 0x85, 0x44, 0xD8,\n\t0xBA, 0xD9, 0x89, 0x44, 0xD8, 0xBA, 0xD9, 0x8A,\n\t0x44, 0xD9, 0x81, 0xD8, 0xAC, 0x44, 0xD9, 0x81,\n\t0xD8, 0xAD, 0x44, 0xD9, 0x81, 0xD8, 0xAE, 0x44,\n\t0xD9, 0x81, 0xD9, 0x85, 0x44, 0xD9, 0x81, 0xD9,\n\t// Bytes 1f40 - 1f7f\n\t0x89, 0x44, 0xD9, 0x81, 0xD9, 0x8A, 0x44, 0xD9,\n\t0x82, 0xD8, 0xAD, 0x44, 0xD9, 0x82, 0xD9, 0x85,\n\t0x44, 0xD9, 0x82, 0xD9, 0x89, 0x44, 0xD9, 0x82,\n\t0xD9, 0x8A, 0x44, 0xD9, 0x83, 0xD8, 0xA7, 0x44,\n\t0xD9, 0x83, 0xD8, 0xAC, 0x44, 0xD9, 0x83, 0xD8,\n\t0xAD, 0x44, 0xD9, 0x83, 0xD8, 0xAE, 0x44, 0xD9,\n\t0x83, 0xD9, 0x84, 0x44, 0xD9, 0x83, 0xD9, 0x85,\n\t0x44, 0xD9, 0x83, 0xD9, 0x89, 0x44, 0xD9, 0x83,\n\t// Bytes 1f80 - 1fbf\n\t0xD9, 0x8A, 0x44, 0xD9, 0x84, 0xD8, 0xA7, 0x44,\n\t0xD9, 0x84, 0xD8, 0xAC, 0x44, 0xD9, 0x84, 0xD8,\n\t0xAD, 0x44, 0xD9, 0x84, 0xD8, 0xAE, 0x44, 0xD9,\n\t0x84, 0xD9, 0x85, 0x44, 0xD9, 0x84, 0xD9, 0x87,\n\t0x44, 0xD9, 0x84, 0xD9, 0x89, 0x44, 0xD9, 0x84,\n\t0xD9, 0x8A, 0x44, 0xD9, 0x85, 0xD8, 0xA7, 0x44,\n\t0xD9, 0x85, 0xD8, 0xAC, 0x44, 0xD9, 0x85, 0xD8,\n\t0xAD, 0x44, 0xD9, 0x85, 0xD8, 0xAE, 0x44, 0xD9,\n\t// Bytes 1fc0 - 1fff\n\t0x85, 0xD9, 0x85, 0x44, 0xD9, 0x85, 0xD9, 0x89,\n\t0x44, 0xD9, 0x85, 0xD9, 0x8A, 0x44, 0xD9, 0x86,\n\t0xD8, 0xAC, 0x44, 0xD9, 0x86, 0xD8, 0xAD, 0x44,\n\t0xD9, 0x86, 0xD8, 0xAE, 0x44, 0xD9, 0x86, 0xD8,\n\t0xB1, 0x44, 0xD9, 0x86, 0xD8, 0xB2, 0x44, 0xD9,\n\t0x86, 0xD9, 0x85, 0x44, 0xD9, 0x86, 0xD9, 0x86,\n\t0x44, 0xD9, 0x86, 0xD9, 0x87, 0x44, 0xD9, 0x86,\n\t0xD9, 0x89, 0x44, 0xD9, 0x86, 0xD9, 0x8A, 0x44,\n\t// Bytes 2000 - 203f\n\t0xD9, 0x87, 0xD8, 0xAC, 0x44, 0xD9, 0x87, 0xD9,\n\t0x85, 0x44, 0xD9, 0x87, 0xD9, 0x89, 0x44, 0xD9,\n\t0x87, 0xD9, 0x8A, 0x44, 0xD9, 0x88, 0xD9, 0xB4,\n\t0x44, 0xD9, 0x8A, 0xD8, 0xAC, 0x44, 0xD9, 0x8A,\n\t0xD8, 0xAD, 0x44, 0xD9, 0x8A, 0xD8, 0xAE, 0x44,\n\t0xD9, 0x8A, 0xD8, 0xB1, 0x44, 0xD9, 0x8A, 0xD8,\n\t0xB2, 0x44, 0xD9, 0x8A, 0xD9, 0x85, 0x44, 0xD9,\n\t0x8A, 0xD9, 0x86, 0x44, 0xD9, 0x8A, 0xD9, 0x87,\n\t// Bytes 2040 - 207f\n\t0x44, 0xD9, 0x8A, 0xD9, 0x89, 0x44, 0xD9, 0x8A,\n\t0xD9, 0x8A, 0x44, 0xD9, 0x8A, 0xD9, 0xB4, 0x44,\n\t0xDB, 0x87, 0xD9, 0xB4, 0x45, 0x28, 0xE1, 0x84,\n\t0x80, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x82, 0x29,\n\t0x45, 0x28, 0xE1, 0x84, 0x83, 0x29, 0x45, 0x28,\n\t0xE1, 0x84, 0x85, 0x29, 0x45, 0x28, 0xE1, 0x84,\n\t0x86, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x87, 0x29,\n\t0x45, 0x28, 0xE1, 0x84, 0x89, 0x29, 0x45, 0x28,\n\t// Bytes 2080 - 20bf\n\t0xE1, 0x84, 0x8B, 0x29, 0x45, 0x28, 0xE1, 0x84,\n\t0x8C, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x8E, 0x29,\n\t0x45, 0x28, 0xE1, 0x84, 0x8F, 0x29, 0x45, 0x28,\n\t0xE1, 0x84, 0x90, 0x29, 0x45, 0x28, 0xE1, 0x84,\n\t0x91, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x92, 0x29,\n\t0x45, 0x28, 0xE4, 0xB8, 0x80, 0x29, 0x45, 0x28,\n\t0xE4, 0xB8, 0x83, 0x29, 0x45, 0x28, 0xE4, 0xB8,\n\t0x89, 0x29, 0x45, 0x28, 0xE4, 0xB9, 0x9D, 0x29,\n\t// Bytes 20c0 - 20ff\n\t0x45, 0x28, 0xE4, 0xBA, 0x8C, 0x29, 0x45, 0x28,\n\t0xE4, 0xBA, 0x94, 0x29, 0x45, 0x28, 0xE4, 0xBB,\n\t0xA3, 0x29, 0x45, 0x28, 0xE4, 0xBC, 0x81, 0x29,\n\t0x45, 0x28, 0xE4, 0xBC, 0x91, 0x29, 0x45, 0x28,\n\t0xE5, 0x85, 0xAB, 0x29, 0x45, 0x28, 0xE5, 0x85,\n\t0xAD, 0x29, 0x45, 0x28, 0xE5, 0x8A, 0xB4, 0x29,\n\t0x45, 0x28, 0xE5, 0x8D, 0x81, 0x29, 0x45, 0x28,\n\t0xE5, 0x8D, 0x94, 0x29, 0x45, 0x28, 0xE5, 0x90,\n\t// Bytes 2100 - 213f\n\t0x8D, 0x29, 0x45, 0x28, 0xE5, 0x91, 0xBC, 0x29,\n\t0x45, 0x28, 0xE5, 0x9B, 0x9B, 0x29, 0x45, 0x28,\n\t0xE5, 0x9C, 0x9F, 0x29, 0x45, 0x28, 0xE5, 0xAD,\n\t0xA6, 0x29, 0x45, 0x28, 0xE6, 0x97, 0xA5, 0x29,\n\t0x45, 0x28, 0xE6, 0x9C, 0x88, 0x29, 0x45, 0x28,\n\t0xE6, 0x9C, 0x89, 0x29, 0x45, 0x28, 0xE6, 0x9C,\n\t0xA8, 0x29, 0x45, 0x28, 0xE6, 0xA0, 0xAA, 0x29,\n\t0x45, 0x28, 0xE6, 0xB0, 0xB4, 0x29, 0x45, 0x28,\n\t// Bytes 2140 - 217f\n\t0xE7, 0x81, 0xAB, 0x29, 0x45, 0x28, 0xE7, 0x89,\n\t0xB9, 0x29, 0x45, 0x28, 0xE7, 0x9B, 0xA3, 0x29,\n\t0x45, 0x28, 0xE7, 0xA4, 0xBE, 0x29, 0x45, 0x28,\n\t0xE7, 0xA5, 0x9D, 0x29, 0x45, 0x28, 0xE7, 0xA5,\n\t0xAD, 0x29, 0x45, 0x28, 0xE8, 0x87, 0xAA, 0x29,\n\t0x45, 0x28, 0xE8, 0x87, 0xB3, 0x29, 0x45, 0x28,\n\t0xE8, 0xB2, 0xA1, 0x29, 0x45, 0x28, 0xE8, 0xB3,\n\t0x87, 0x29, 0x45, 0x28, 0xE9, 0x87, 0x91, 0x29,\n\t// Bytes 2180 - 21bf\n\t0x45, 0x30, 0xE2, 0x81, 0x84, 0x33, 0x45, 0x31,\n\t0x30, 0xE6, 0x97, 0xA5, 0x45, 0x31, 0x30, 0xE6,\n\t0x9C, 0x88, 0x45, 0x31, 0x30, 0xE7, 0x82, 0xB9,\n\t0x45, 0x31, 0x31, 0xE6, 0x97, 0xA5, 0x45, 0x31,\n\t0x31, 0xE6, 0x9C, 0x88, 0x45, 0x31, 0x31, 0xE7,\n\t0x82, 0xB9, 0x45, 0x31, 0x32, 0xE6, 0x97, 0xA5,\n\t0x45, 0x31, 0x32, 0xE6, 0x9C, 0x88, 0x45, 0x31,\n\t0x32, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x33, 0xE6,\n\t// Bytes 21c0 - 21ff\n\t0x97, 0xA5, 0x45, 0x31, 0x33, 0xE7, 0x82, 0xB9,\n\t0x45, 0x31, 0x34, 0xE6, 0x97, 0xA5, 0x45, 0x31,\n\t0x34, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x35, 0xE6,\n\t0x97, 0xA5, 0x45, 0x31, 0x35, 0xE7, 0x82, 0xB9,\n\t0x45, 0x31, 0x36, 0xE6, 0x97, 0xA5, 0x45, 0x31,\n\t0x36, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x37, 0xE6,\n\t0x97, 0xA5, 0x45, 0x31, 0x37, 0xE7, 0x82, 0xB9,\n\t0x45, 0x31, 0x38, 0xE6, 0x97, 0xA5, 0x45, 0x31,\n\t// Bytes 2200 - 223f\n\t0x38, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x39, 0xE6,\n\t0x97, 0xA5, 0x45, 0x31, 0x39, 0xE7, 0x82, 0xB9,\n\t0x45, 0x31, 0xE2, 0x81, 0x84, 0x32, 0x45, 0x31,\n\t0xE2, 0x81, 0x84, 0x33, 0x45, 0x31, 0xE2, 0x81,\n\t0x84, 0x34, 0x45, 0x31, 0xE2, 0x81, 0x84, 0x35,\n\t0x45, 0x31, 0xE2, 0x81, 0x84, 0x36, 0x45, 0x31,\n\t0xE2, 0x81, 0x84, 0x37, 0x45, 0x31, 0xE2, 0x81,\n\t0x84, 0x38, 0x45, 0x31, 0xE2, 0x81, 0x84, 0x39,\n\t// Bytes 2240 - 227f\n\t0x45, 0x32, 0x30, 0xE6, 0x97, 0xA5, 0x45, 0x32,\n\t0x30, 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x31, 0xE6,\n\t0x97, 0xA5, 0x45, 0x32, 0x31, 0xE7, 0x82, 0xB9,\n\t0x45, 0x32, 0x32, 0xE6, 0x97, 0xA5, 0x45, 0x32,\n\t0x32, 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x33, 0xE6,\n\t0x97, 0xA5, 0x45, 0x32, 0x33, 0xE7, 0x82, 0xB9,\n\t0x45, 0x32, 0x34, 0xE6, 0x97, 0xA5, 0x45, 0x32,\n\t0x34, 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x35, 0xE6,\n\t// Bytes 2280 - 22bf\n\t0x97, 0xA5, 0x45, 0x32, 0x36, 0xE6, 0x97, 0xA5,\n\t0x45, 0x32, 0x37, 0xE6, 0x97, 0xA5, 0x45, 0x32,\n\t0x38, 0xE6, 0x97, 0xA5, 0x45, 0x32, 0x39, 0xE6,\n\t0x97, 0xA5, 0x45, 0x32, 0xE2, 0x81, 0x84, 0x33,\n\t0x45, 0x32, 0xE2, 0x81, 0x84, 0x35, 0x45, 0x33,\n\t0x30, 0xE6, 0x97, 0xA5, 0x45, 0x33, 0x31, 0xE6,\n\t0x97, 0xA5, 0x45, 0x33, 0xE2, 0x81, 0x84, 0x34,\n\t0x45, 0x33, 0xE2, 0x81, 0x84, 0x35, 0x45, 0x33,\n\t// Bytes 22c0 - 22ff\n\t0xE2, 0x81, 0x84, 0x38, 0x45, 0x34, 0xE2, 0x81,\n\t0x84, 0x35, 0x45, 0x35, 0xE2, 0x81, 0x84, 0x36,\n\t0x45, 0x35, 0xE2, 0x81, 0x84, 0x38, 0x45, 0x37,\n\t0xE2, 0x81, 0x84, 0x38, 0x45, 0x41, 0xE2, 0x88,\n\t0x95, 0x6D, 0x45, 0x56, 0xE2, 0x88, 0x95, 0x6D,\n\t0x45, 0x6D, 0xE2, 0x88, 0x95, 0x73, 0x46, 0x31,\n\t0xE2, 0x81, 0x84, 0x31, 0x30, 0x46, 0x43, 0xE2,\n\t0x88, 0x95, 0x6B, 0x67, 0x46, 0x6D, 0xE2, 0x88,\n\t// Bytes 2300 - 233f\n\t0x95, 0x73, 0x32, 0x46, 0xD8, 0xA8, 0xD8, 0xAD,\n\t0xD9, 0x8A, 0x46, 0xD8, 0xA8, 0xD8, 0xAE, 0xD9,\n\t0x8A, 0x46, 0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x85,\n\t0x46, 0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x89, 0x46,\n\t0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD8,\n\t0xAA, 0xD8, 0xAD, 0xD8, 0xAC, 0x46, 0xD8, 0xAA,\n\t0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD8, 0xAA, 0xD8,\n\t0xAE, 0xD9, 0x85, 0x46, 0xD8, 0xAA, 0xD8, 0xAE,\n\t// Bytes 2340 - 237f\n\t0xD9, 0x89, 0x46, 0xD8, 0xAA, 0xD8, 0xAE, 0xD9,\n\t0x8A, 0x46, 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAC,\n\t0x46, 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAD, 0x46,\n\t0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAE, 0x46, 0xD8,\n\t0xAA, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, 0xAA,\n\t0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xAC, 0xD8,\n\t0xAD, 0xD9, 0x89, 0x46, 0xD8, 0xAC, 0xD8, 0xAD,\n\t0xD9, 0x8A, 0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD8,\n\t// Bytes 2380 - 23bf\n\t0xAD, 0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD9, 0x89,\n\t0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD9, 0x8A, 0x46,\n\t0xD8, 0xAD, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD8,\n\t0xAD, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, 0xAD,\n\t0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xB3, 0xD8,\n\t0xAC, 0xD8, 0xAD, 0x46, 0xD8, 0xB3, 0xD8, 0xAC,\n\t0xD9, 0x89, 0x46, 0xD8, 0xB3, 0xD8, 0xAD, 0xD8,\n\t0xAC, 0x46, 0xD8, 0xB3, 0xD8, 0xAE, 0xD9, 0x89,\n\t// Bytes 23c0 - 23ff\n\t0x46, 0xD8, 0xB3, 0xD8, 0xAE, 0xD9, 0x8A, 0x46,\n\t0xD8, 0xB3, 0xD9, 0x85, 0xD8, 0xAC, 0x46, 0xD8,\n\t0xB3, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD8, 0xB3,\n\t0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD8, 0xB4, 0xD8,\n\t0xAC, 0xD9, 0x8A, 0x46, 0xD8, 0xB4, 0xD8, 0xAD,\n\t0xD9, 0x85, 0x46, 0xD8, 0xB4, 0xD8, 0xAD, 0xD9,\n\t0x8A, 0x46, 0xD8, 0xB4, 0xD9, 0x85, 0xD8, 0xAE,\n\t0x46, 0xD8, 0xB4, 0xD9, 0x85, 0xD9, 0x85, 0x46,\n\t// Bytes 2400 - 243f\n\t0xD8, 0xB5, 0xD8, 0xAD, 0xD8, 0xAD, 0x46, 0xD8,\n\t0xB5, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD8, 0xB5,\n\t0xD9, 0x84, 0xD9, 0x89, 0x46, 0xD8, 0xB5, 0xD9,\n\t0x84, 0xDB, 0x92, 0x46, 0xD8, 0xB5, 0xD9, 0x85,\n\t0xD9, 0x85, 0x46, 0xD8, 0xB6, 0xD8, 0xAD, 0xD9,\n\t0x89, 0x46, 0xD8, 0xB6, 0xD8, 0xAD, 0xD9, 0x8A,\n\t0x46, 0xD8, 0xB6, 0xD8, 0xAE, 0xD9, 0x85, 0x46,\n\t0xD8, 0xB7, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD8,\n\t// Bytes 2440 - 247f\n\t0xB7, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD8, 0xB7,\n\t0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xB9, 0xD8,\n\t0xAC, 0xD9, 0x85, 0x46, 0xD8, 0xB9, 0xD9, 0x85,\n\t0xD9, 0x85, 0x46, 0xD8, 0xB9, 0xD9, 0x85, 0xD9,\n\t0x89, 0x46, 0xD8, 0xB9, 0xD9, 0x85, 0xD9, 0x8A,\n\t0x46, 0xD8, 0xBA, 0xD9, 0x85, 0xD9, 0x85, 0x46,\n\t0xD8, 0xBA, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8,\n\t0xBA, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x81,\n\t// Bytes 2480 - 24bf\n\t0xD8, 0xAE, 0xD9, 0x85, 0x46, 0xD9, 0x81, 0xD9,\n\t0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x82, 0xD9, 0x84,\n\t0xDB, 0x92, 0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD8,\n\t0xAD, 0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD9, 0x85,\n\t0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD9, 0x8A, 0x46,\n\t0xD9, 0x83, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD9,\n\t0x83, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x84,\n\t0xD8, 0xAC, 0xD8, 0xAC, 0x46, 0xD9, 0x84, 0xD8,\n\t// Bytes 24c0 - 24ff\n\t0xAC, 0xD9, 0x85, 0x46, 0xD9, 0x84, 0xD8, 0xAC,\n\t0xD9, 0x8A, 0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9,\n\t0x85, 0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9, 0x89,\n\t0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9, 0x8A, 0x46,\n\t0xD9, 0x84, 0xD8, 0xAE, 0xD9, 0x85, 0x46, 0xD9,\n\t0x84, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD9, 0x84,\n\t0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x85, 0xD8,\n\t0xAC, 0xD8, 0xAD, 0x46, 0xD9, 0x85, 0xD8, 0xAC,\n\t// Bytes 2500 - 253f\n\t0xD8, 0xAE, 0x46, 0xD9, 0x85, 0xD8, 0xAC, 0xD9,\n\t0x85, 0x46, 0xD9, 0x85, 0xD8, 0xAC, 0xD9, 0x8A,\n\t0x46, 0xD9, 0x85, 0xD8, 0xAD, 0xD8, 0xAC, 0x46,\n\t0xD9, 0x85, 0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD9,\n\t0x85, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD9, 0x85,\n\t0xD8, 0xAE, 0xD8, 0xAC, 0x46, 0xD9, 0x85, 0xD8,\n\t0xAE, 0xD9, 0x85, 0x46, 0xD9, 0x85, 0xD8, 0xAE,\n\t0xD9, 0x8A, 0x46, 0xD9, 0x85, 0xD9, 0x85, 0xD9,\n\t// Bytes 2540 - 257f\n\t0x8A, 0x46, 0xD9, 0x86, 0xD8, 0xAC, 0xD8, 0xAD,\n\t0x46, 0xD9, 0x86, 0xD8, 0xAC, 0xD9, 0x85, 0x46,\n\t0xD9, 0x86, 0xD8, 0xAC, 0xD9, 0x89, 0x46, 0xD9,\n\t0x86, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD9, 0x86,\n\t0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD9, 0x86, 0xD8,\n\t0xAD, 0xD9, 0x89, 0x46, 0xD9, 0x86, 0xD8, 0xAD,\n\t0xD9, 0x8A, 0x46, 0xD9, 0x86, 0xD9, 0x85, 0xD9,\n\t0x89, 0x46, 0xD9, 0x86, 0xD9, 0x85, 0xD9, 0x8A,\n\t// Bytes 2580 - 25bf\n\t0x46, 0xD9, 0x87, 0xD9, 0x85, 0xD8, 0xAC, 0x46,\n\t0xD9, 0x87, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD9,\n\t0x8A, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD9, 0x8A,\n\t0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD9, 0x8A, 0xD9,\n\t0x85, 0xD9, 0x85, 0x46, 0xD9, 0x8A, 0xD9, 0x85,\n\t0xD9, 0x8A, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8,\n\t0xA7, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAC,\n\t0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAD, 0x46,\n\t// Bytes 25c0 - 25ff\n\t0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAE, 0x46, 0xD9,\n\t0x8A, 0xD9, 0x94, 0xD8, 0xB1, 0x46, 0xD9, 0x8A,\n\t0xD9, 0x94, 0xD8, 0xB2, 0x46, 0xD9, 0x8A, 0xD9,\n\t0x94, 0xD9, 0x85, 0x46, 0xD9, 0x8A, 0xD9, 0x94,\n\t0xD9, 0x86, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9,\n\t0x87, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x88,\n\t0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x89, 0x46,\n\t0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x8A, 0x46, 0xD9,\n\t// Bytes 2600 - 263f\n\t0x8A, 0xD9, 0x94, 0xDB, 0x86, 0x46, 0xD9, 0x8A,\n\t0xD9, 0x94, 0xDB, 0x87, 0x46, 0xD9, 0x8A, 0xD9,\n\t0x94, 0xDB, 0x88, 0x46, 0xD9, 0x8A, 0xD9, 0x94,\n\t0xDB, 0x90, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xDB,\n\t0x95, 0x46, 0xE0, 0xB9, 0x8D, 0xE0, 0xB8, 0xB2,\n\t0x46, 0xE0, 0xBA, 0xAB, 0xE0, 0xBA, 0x99, 0x46,\n\t0xE0, 0xBA, 0xAB, 0xE0, 0xBA, 0xA1, 0x46, 0xE0,\n\t0xBB, 0x8D, 0xE0, 0xBA, 0xB2, 0x46, 0xE0, 0xBD,\n\t// Bytes 2640 - 267f\n\t0x80, 0xE0, 0xBE, 0xB5, 0x46, 0xE0, 0xBD, 0x82,\n\t0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBD, 0x8C, 0xE0,\n\t0xBE, 0xB7, 0x46, 0xE0, 0xBD, 0x91, 0xE0, 0xBE,\n\t0xB7, 0x46, 0xE0, 0xBD, 0x96, 0xE0, 0xBE, 0xB7,\n\t0x46, 0xE0, 0xBD, 0x9B, 0xE0, 0xBE, 0xB7, 0x46,\n\t0xE0, 0xBE, 0x90, 0xE0, 0xBE, 0xB5, 0x46, 0xE0,\n\t0xBE, 0x92, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE,\n\t0x9C, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xA1,\n\t// Bytes 2680 - 26bf\n\t0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xA6, 0xE0,\n\t0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xAB, 0xE0, 0xBE,\n\t0xB7, 0x46, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2,\n\t0x46, 0xE2, 0x80, 0xB5, 0xE2, 0x80, 0xB5, 0x46,\n\t0xE2, 0x88, 0xAB, 0xE2, 0x88, 0xAB, 0x46, 0xE2,\n\t0x88, 0xAE, 0xE2, 0x88, 0xAE, 0x46, 0xE3, 0x81,\n\t0xBB, 0xE3, 0x81, 0x8B, 0x46, 0xE3, 0x82, 0x88,\n\t0xE3, 0x82, 0x8A, 0x46, 0xE3, 0x82, 0xAD, 0xE3,\n\t// Bytes 26c0 - 26ff\n\t0x83, 0xAD, 0x46, 0xE3, 0x82, 0xB3, 0xE3, 0x82,\n\t0xB3, 0x46, 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0x88,\n\t0x46, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xB3, 0x46,\n\t0xE3, 0x83, 0x8A, 0xE3, 0x83, 0x8E, 0x46, 0xE3,\n\t0x83, 0x9B, 0xE3, 0x83, 0xB3, 0x46, 0xE3, 0x83,\n\t0x9F, 0xE3, 0x83, 0xAA, 0x46, 0xE3, 0x83, 0xAA,\n\t0xE3, 0x83, 0xA9, 0x46, 0xE3, 0x83, 0xAC, 0xE3,\n\t0x83, 0xA0, 0x46, 0xE5, 0xA4, 0xA7, 0xE6, 0xAD,\n\t// Bytes 2700 - 273f\n\t0xA3, 0x46, 0xE5, 0xB9, 0xB3, 0xE6, 0x88, 0x90,\n\t0x46, 0xE6, 0x98, 0x8E, 0xE6, 0xB2, 0xBB, 0x46,\n\t0xE6, 0x98, 0xAD, 0xE5, 0x92, 0x8C, 0x47, 0x72,\n\t0x61, 0x64, 0xE2, 0x88, 0x95, 0x73, 0x47, 0xE3,\n\t0x80, 0x94, 0x53, 0xE3, 0x80, 0x95, 0x48, 0x28,\n\t0xE1, 0x84, 0x80, 0xE1, 0x85, 0xA1, 0x29, 0x48,\n\t0x28, 0xE1, 0x84, 0x82, 0xE1, 0x85, 0xA1, 0x29,\n\t0x48, 0x28, 0xE1, 0x84, 0x83, 0xE1, 0x85, 0xA1,\n\t// Bytes 2740 - 277f\n\t0x29, 0x48, 0x28, 0xE1, 0x84, 0x85, 0xE1, 0x85,\n\t0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x86, 0xE1,\n\t0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x87,\n\t0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84,\n\t0x89, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1,\n\t0x84, 0x8B, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28,\n\t0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xA1, 0x29, 0x48,\n\t0x28, 0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xAE, 0x29,\n\t// Bytes 2780 - 27bf\n\t0x48, 0x28, 0xE1, 0x84, 0x8E, 0xE1, 0x85, 0xA1,\n\t0x29, 0x48, 0x28, 0xE1, 0x84, 0x8F, 0xE1, 0x85,\n\t0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x90, 0xE1,\n\t0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x91,\n\t0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84,\n\t0x92, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x72, 0x61,\n\t0x64, 0xE2, 0x88, 0x95, 0x73, 0x32, 0x48, 0xD8,\n\t0xA7, 0xD9, 0x83, 0xD8, 0xA8, 0xD8, 0xB1, 0x48,\n\t// Bytes 27c0 - 27ff\n\t0xD8, 0xA7, 0xD9, 0x84, 0xD9, 0x84, 0xD9, 0x87,\n\t0x48, 0xD8, 0xB1, 0xD8, 0xB3, 0xD9, 0x88, 0xD9,\n\t0x84, 0x48, 0xD8, 0xB1, 0xDB, 0x8C, 0xD8, 0xA7,\n\t0xD9, 0x84, 0x48, 0xD8, 0xB5, 0xD9, 0x84, 0xD8,\n\t0xB9, 0xD9, 0x85, 0x48, 0xD8, 0xB9, 0xD9, 0x84,\n\t0xD9, 0x8A, 0xD9, 0x87, 0x48, 0xD9, 0x85, 0xD8,\n\t0xAD, 0xD9, 0x85, 0xD8, 0xAF, 0x48, 0xD9, 0x88,\n\t0xD8, 0xB3, 0xD9, 0x84, 0xD9, 0x85, 0x49, 0xE2,\n\t// Bytes 2800 - 283f\n\t0x80, 0xB2, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2,\n\t0x49, 0xE2, 0x80, 0xB5, 0xE2, 0x80, 0xB5, 0xE2,\n\t0x80, 0xB5, 0x49, 0xE2, 0x88, 0xAB, 0xE2, 0x88,\n\t0xAB, 0xE2, 0x88, 0xAB, 0x49, 0xE2, 0x88, 0xAE,\n\t0xE2, 0x88, 0xAE, 0xE2, 0x88, 0xAE, 0x49, 0xE3,\n\t0x80, 0x94, 0xE4, 0xB8, 0x89, 0xE3, 0x80, 0x95,\n\t0x49, 0xE3, 0x80, 0x94, 0xE4, 0xBA, 0x8C, 0xE3,\n\t0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE5, 0x8B,\n\t// Bytes 2840 - 287f\n\t0x9D, 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94,\n\t0xE5, 0xAE, 0x89, 0xE3, 0x80, 0x95, 0x49, 0xE3,\n\t0x80, 0x94, 0xE6, 0x89, 0x93, 0xE3, 0x80, 0x95,\n\t0x49, 0xE3, 0x80, 0x94, 0xE6, 0x95, 0x97, 0xE3,\n\t0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE6, 0x9C,\n\t0xAC, 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94,\n\t0xE7, 0x82, 0xB9, 0xE3, 0x80, 0x95, 0x49, 0xE3,\n\t0x80, 0x94, 0xE7, 0x9B, 0x97, 0xE3, 0x80, 0x95,\n\t// Bytes 2880 - 28bf\n\t0x49, 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0xBC, 0xE3,\n\t0x83, 0xAB, 0x49, 0xE3, 0x82, 0xA4, 0xE3, 0x83,\n\t0xB3, 0xE3, 0x83, 0x81, 0x49, 0xE3, 0x82, 0xA6,\n\t0xE3, 0x82, 0xA9, 0xE3, 0x83, 0xB3, 0x49, 0xE3,\n\t0x82, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB9,\n\t0x49, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0xBC, 0xE3,\n\t0x83, 0xA0, 0x49, 0xE3, 0x82, 0xAB, 0xE3, 0x82,\n\t0xA4, 0xE3, 0x83, 0xAA, 0x49, 0xE3, 0x82, 0xB1,\n\t// Bytes 28c0 - 28ff\n\t0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xB9, 0x49, 0xE3,\n\t0x82, 0xB3, 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x8A,\n\t0x49, 0xE3, 0x82, 0xBB, 0xE3, 0x83, 0xB3, 0xE3,\n\t0x83, 0x81, 0x49, 0xE3, 0x82, 0xBB, 0xE3, 0x83,\n\t0xB3, 0xE3, 0x83, 0x88, 0x49, 0xE3, 0x83, 0x86,\n\t0xE3, 0x82, 0x99, 0xE3, 0x82, 0xB7, 0x49, 0xE3,\n\t0x83, 0x88, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB,\n\t0x49, 0xE3, 0x83, 0x8E, 0xE3, 0x83, 0x83, 0xE3,\n\t// Bytes 2900 - 293f\n\t0x83, 0x88, 0x49, 0xE3, 0x83, 0x8F, 0xE3, 0x82,\n\t0xA4, 0xE3, 0x83, 0x84, 0x49, 0xE3, 0x83, 0x92,\n\t0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB, 0x49, 0xE3,\n\t0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xB3,\n\t0x49, 0xE3, 0x83, 0x95, 0xE3, 0x83, 0xA9, 0xE3,\n\t0x83, 0xB3, 0x49, 0xE3, 0x83, 0x98, 0xE3, 0x82,\n\t0x9A, 0xE3, 0x82, 0xBD, 0x49, 0xE3, 0x83, 0x98,\n\t0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x84, 0x49, 0xE3,\n\t// Bytes 2940 - 297f\n\t0x83, 0x9B, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xAB,\n\t0x49, 0xE3, 0x83, 0x9B, 0xE3, 0x83, 0xBC, 0xE3,\n\t0x83, 0xB3, 0x49, 0xE3, 0x83, 0x9E, 0xE3, 0x82,\n\t0xA4, 0xE3, 0x83, 0xAB, 0x49, 0xE3, 0x83, 0x9E,\n\t0xE3, 0x83, 0x83, 0xE3, 0x83, 0x8F, 0x49, 0xE3,\n\t0x83, 0x9E, 0xE3, 0x83, 0xAB, 0xE3, 0x82, 0xAF,\n\t0x49, 0xE3, 0x83, 0xA4, 0xE3, 0x83, 0xBC, 0xE3,\n\t0x83, 0xAB, 0x49, 0xE3, 0x83, 0xA6, 0xE3, 0x82,\n\t// Bytes 2980 - 29bf\n\t0xA2, 0xE3, 0x83, 0xB3, 0x49, 0xE3, 0x83, 0xAF,\n\t0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, 0x4C, 0xE2,\n\t0x80, 0xB2, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2,\n\t0xE2, 0x80, 0xB2, 0x4C, 0xE2, 0x88, 0xAB, 0xE2,\n\t0x88, 0xAB, 0xE2, 0x88, 0xAB, 0xE2, 0x88, 0xAB,\n\t0x4C, 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0xAB, 0xE3,\n\t0x83, 0x95, 0xE3, 0x82, 0xA1, 0x4C, 0xE3, 0x82,\n\t0xA8, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xAB, 0xE3,\n\t// Bytes 29c0 - 29ff\n\t0x83, 0xBC, 0x4C, 0xE3, 0x82, 0xAB, 0xE3, 0x82,\n\t0x99, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xB3, 0x4C,\n\t0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0xE3, 0x83,\n\t0xB3, 0xE3, 0x83, 0x9E, 0x4C, 0xE3, 0x82, 0xAB,\n\t0xE3, 0x83, 0xA9, 0xE3, 0x83, 0x83, 0xE3, 0x83,\n\t0x88, 0x4C, 0xE3, 0x82, 0xAB, 0xE3, 0x83, 0xAD,\n\t0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, 0x4C, 0xE3,\n\t0x82, 0xAD, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0x8B,\n\t// Bytes 2a00 - 2a3f\n\t0xE3, 0x83, 0xBC, 0x4C, 0xE3, 0x82, 0xAD, 0xE3,\n\t0x83, 0xA5, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC,\n\t0x4C, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0xE3,\n\t0x83, 0xA9, 0xE3, 0x83, 0xA0, 0x4C, 0xE3, 0x82,\n\t0xAF, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xBC, 0xE3,\n\t0x83, 0x8D, 0x4C, 0xE3, 0x82, 0xB5, 0xE3, 0x82,\n\t0xA4, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAB, 0x4C,\n\t0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0xE3, 0x83,\n\t// Bytes 2a40 - 2a7f\n\t0xBC, 0xE3, 0x82, 0xB9, 0x4C, 0xE3, 0x83, 0x8F,\n\t0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, 0xE3, 0x83,\n\t0x84, 0x4C, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A,\n\t0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAB, 0x4C, 0xE3,\n\t0x83, 0x95, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC,\n\t0xE3, 0x83, 0x88, 0x4C, 0xE3, 0x83, 0x98, 0xE3,\n\t0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xBF,\n\t0x4C, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x9A, 0xE3,\n\t// Bytes 2a80 - 2abf\n\t0x83, 0x8B, 0xE3, 0x83, 0x92, 0x4C, 0xE3, 0x83,\n\t0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xB3, 0xE3,\n\t0x82, 0xB9, 0x4C, 0xE3, 0x83, 0x9B, 0xE3, 0x82,\n\t0x99, 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x88, 0x4C,\n\t0xE3, 0x83, 0x9E, 0xE3, 0x82, 0xA4, 0xE3, 0x82,\n\t0xAF, 0xE3, 0x83, 0xAD, 0x4C, 0xE3, 0x83, 0x9F,\n\t0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAD, 0xE3, 0x83,\n\t0xB3, 0x4C, 0xE3, 0x83, 0xA1, 0xE3, 0x83, 0xBC,\n\t// Bytes 2ac0 - 2aff\n\t0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAB, 0x4C, 0xE3,\n\t0x83, 0xAA, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88,\n\t0xE3, 0x83, 0xAB, 0x4C, 0xE3, 0x83, 0xAB, 0xE3,\n\t0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC,\n\t0x4C, 0xE6, 0xA0, 0xAA, 0xE5, 0xBC, 0x8F, 0xE4,\n\t0xBC, 0x9A, 0xE7, 0xA4, 0xBE, 0x4E, 0x28, 0xE1,\n\t0x84, 0x8B, 0xE1, 0x85, 0xA9, 0xE1, 0x84, 0x92,\n\t0xE1, 0x85, 0xAE, 0x29, 0x4F, 0xD8, 0xAC, 0xD9,\n\t// Bytes 2b00 - 2b3f\n\t0x84, 0x20, 0xD8, 0xAC, 0xD9, 0x84, 0xD8, 0xA7,\n\t0xD9, 0x84, 0xD9, 0x87, 0x4F, 0xE3, 0x82, 0xA2,\n\t0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x9A, 0xE3, 0x83,\n\t0xBC, 0xE3, 0x83, 0x88, 0x4F, 0xE3, 0x82, 0xA2,\n\t0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x98, 0xE3, 0x82,\n\t0x9A, 0xE3, 0x82, 0xA2, 0x4F, 0xE3, 0x82, 0xAD,\n\t0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xAF, 0xE3, 0x83,\n\t0x83, 0xE3, 0x83, 0x88, 0x4F, 0xE3, 0x82, 0xB5,\n\t// Bytes 2b40 - 2b7f\n\t0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x81, 0xE3, 0x83,\n\t0xBC, 0xE3, 0x83, 0xA0, 0x4F, 0xE3, 0x83, 0x8F,\n\t0xE3, 0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x83,\n\t0xAC, 0xE3, 0x83, 0xAB, 0x4F, 0xE3, 0x83, 0x98,\n\t0xE3, 0x82, 0xAF, 0xE3, 0x82, 0xBF, 0xE3, 0x83,\n\t0xBC, 0xE3, 0x83, 0xAB, 0x4F, 0xE3, 0x83, 0x9B,\n\t0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xA4, 0xE3, 0x83,\n\t0xB3, 0xE3, 0x83, 0x88, 0x4F, 0xE3, 0x83, 0x9E,\n\t// Bytes 2b80 - 2bbf\n\t0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB7, 0xE3, 0x83,\n\t0xA7, 0xE3, 0x83, 0xB3, 0x4F, 0xE3, 0x83, 0xA1,\n\t0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0xE3, 0x83,\n\t0x88, 0xE3, 0x83, 0xB3, 0x4F, 0xE3, 0x83, 0xAB,\n\t0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x95, 0xE3, 0x82,\n\t0x99, 0xE3, 0x83, 0xAB, 0x51, 0x28, 0xE1, 0x84,\n\t0x8B, 0xE1, 0x85, 0xA9, 0xE1, 0x84, 0x8C, 0xE1,\n\t0x85, 0xA5, 0xE1, 0x86, 0xAB, 0x29, 0x52, 0xE3,\n\t// Bytes 2bc0 - 2bff\n\t0x82, 0xAD, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB,\n\t0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0xE3, 0x83,\n\t0xBC, 0x52, 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xAD,\n\t0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0xE3, 0x83,\n\t0xA9, 0xE3, 0x83, 0xA0, 0x52, 0xE3, 0x82, 0xAD,\n\t0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xA1, 0xE3, 0x83,\n\t0xBC, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAB, 0x52,\n\t0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0xE3, 0x83,\n\t// Bytes 2c00 - 2c3f\n\t0xA9, 0xE3, 0x83, 0xA0, 0xE3, 0x83, 0x88, 0xE3,\n\t0x83, 0xB3, 0x52, 0xE3, 0x82, 0xAF, 0xE3, 0x83,\n\t0xAB, 0xE3, 0x82, 0xBB, 0xE3, 0x82, 0x99, 0xE3,\n\t0x82, 0xA4, 0xE3, 0x83, 0xAD, 0x52, 0xE3, 0x83,\n\t0x8F, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, 0xE3,\n\t0x82, 0xBB, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88,\n\t0x52, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3,\n\t0x82, 0xA2, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x88,\n\t// Bytes 2c40 - 2c7f\n\t0xE3, 0x83, 0xAB, 0x52, 0xE3, 0x83, 0x95, 0xE3,\n\t0x82, 0x99, 0xE3, 0x83, 0x83, 0xE3, 0x82, 0xB7,\n\t0xE3, 0x82, 0xA7, 0xE3, 0x83, 0xAB, 0x52, 0xE3,\n\t0x83, 0x9F, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0x8F,\n\t0xE3, 0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x83,\n\t0xAB, 0x52, 0xE3, 0x83, 0xAC, 0xE3, 0x83, 0xB3,\n\t0xE3, 0x83, 0x88, 0xE3, 0x82, 0xB1, 0xE3, 0x82,\n\t0x99, 0xE3, 0x83, 0xB3, 0x61, 0xD8, 0xB5, 0xD9,\n\t// Bytes 2c80 - 2cbf\n\t0x84, 0xD9, 0x89, 0x20, 0xD8, 0xA7, 0xD9, 0x84,\n\t0xD9, 0x84, 0xD9, 0x87, 0x20, 0xD8, 0xB9, 0xD9,\n\t0x84, 0xD9, 0x8A, 0xD9, 0x87, 0x20, 0xD9, 0x88,\n\t0xD8, 0xB3, 0xD9, 0x84, 0xD9, 0x85, 0x06, 0xE0,\n\t0xA7, 0x87, 0xE0, 0xA6, 0xBE, 0x01, 0x06, 0xE0,\n\t0xA7, 0x87, 0xE0, 0xA7, 0x97, 0x01, 0x06, 0xE0,\n\t0xAD, 0x87, 0xE0, 0xAC, 0xBE, 0x01, 0x06, 0xE0,\n\t0xAD, 0x87, 0xE0, 0xAD, 0x96, 0x01, 0x06, 0xE0,\n\t// Bytes 2cc0 - 2cff\n\t0xAD, 0x87, 0xE0, 0xAD, 0x97, 0x01, 0x06, 0xE0,\n\t0xAE, 0x92, 0xE0, 0xAF, 0x97, 0x01, 0x06, 0xE0,\n\t0xAF, 0x86, 0xE0, 0xAE, 0xBE, 0x01, 0x06, 0xE0,\n\t0xAF, 0x86, 0xE0, 0xAF, 0x97, 0x01, 0x06, 0xE0,\n\t0xAF, 0x87, 0xE0, 0xAE, 0xBE, 0x01, 0x06, 0xE0,\n\t0xB2, 0xBF, 0xE0, 0xB3, 0x95, 0x01, 0x06, 0xE0,\n\t0xB3, 0x86, 0xE0, 0xB3, 0x95, 0x01, 0x06, 0xE0,\n\t0xB3, 0x86, 0xE0, 0xB3, 0x96, 0x01, 0x06, 0xE0,\n\t// Bytes 2d00 - 2d3f\n\t0xB5, 0x86, 0xE0, 0xB4, 0xBE, 0x01, 0x06, 0xE0,\n\t0xB5, 0x86, 0xE0, 0xB5, 0x97, 0x01, 0x06, 0xE0,\n\t0xB5, 0x87, 0xE0, 0xB4, 0xBE, 0x01, 0x06, 0xE0,\n\t0xB7, 0x99, 0xE0, 0xB7, 0x9F, 0x01, 0x06, 0xE1,\n\t0x80, 0xA5, 0xE1, 0x80, 0xAE, 0x01, 0x06, 0xE1,\n\t0xAC, 0x85, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAC, 0x87, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAC, 0x89, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t// Bytes 2d40 - 2d7f\n\t0xAC, 0x8B, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAC, 0x8D, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAC, 0x91, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAC, 0xBA, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAC, 0xBC, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAC, 0xBE, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAC, 0xBF, 0xE1, 0xAC, 0xB5, 0x01, 0x06, 0xE1,\n\t0xAD, 0x82, 0xE1, 0xAC, 0xB5, 0x01, 0x08, 0xF0,\n\t// Bytes 2d80 - 2dbf\n\t0x91, 0x84, 0xB1, 0xF0, 0x91, 0x84, 0xA7, 0x01,\n\t0x08, 0xF0, 0x91, 0x84, 0xB2, 0xF0, 0x91, 0x84,\n\t0xA7, 0x01, 0x08, 0xF0, 0x91, 0x8D, 0x87, 0xF0,\n\t0x91, 0x8C, 0xBE, 0x01, 0x08, 0xF0, 0x91, 0x8D,\n\t0x87, 0xF0, 0x91, 0x8D, 0x97, 0x01, 0x08, 0xF0,\n\t0x91, 0x92, 0xB9, 0xF0, 0x91, 0x92, 0xB0, 0x01,\n\t0x08, 0xF0, 0x91, 0x92, 0xB9, 0xF0, 0x91, 0x92,\n\t0xBA, 0x01, 0x08, 0xF0, 0x91, 0x92, 0xB9, 0xF0,\n\t// Bytes 2dc0 - 2dff\n\t0x91, 0x92, 0xBD, 0x01, 0x08, 0xF0, 0x91, 0x96,\n\t0xB8, 0xF0, 0x91, 0x96, 0xAF, 0x01, 0x08, 0xF0,\n\t0x91, 0x96, 0xB9, 0xF0, 0x91, 0x96, 0xAF, 0x01,\n\t0x09, 0xE0, 0xB3, 0x86, 0xE0, 0xB3, 0x82, 0xE0,\n\t0xB3, 0x95, 0x02, 0x09, 0xE0, 0xB7, 0x99, 0xE0,\n\t0xB7, 0x8F, 0xE0, 0xB7, 0x8A, 0x12, 0x44, 0x44,\n\t0x5A, 0xCC, 0x8C, 0xC9, 0x44, 0x44, 0x7A, 0xCC,\n\t0x8C, 0xC9, 0x44, 0x64, 0x7A, 0xCC, 0x8C, 0xC9,\n\t// Bytes 2e00 - 2e3f\n\t0x46, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x93, 0xC9,\n\t0x46, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x94, 0xC9,\n\t0x46, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x95, 0xB5,\n\t0x46, 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x82, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x83, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x85, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x86, 0xE1, 0x85, 0xA1, 0x01,\n\t// Bytes 2e40 - 2e7f\n\t0x46, 0xE1, 0x84, 0x87, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x89, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xAE, 0x01,\n\t0x46, 0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x8E, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x8F, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x90, 0xE1, 0x85, 0xA1, 0x01,\n\t// Bytes 2e80 - 2ebf\n\t0x46, 0xE1, 0x84, 0x91, 0xE1, 0x85, 0xA1, 0x01,\n\t0x46, 0xE1, 0x84, 0x92, 0xE1, 0x85, 0xA1, 0x01,\n\t0x49, 0xE3, 0x83, 0xA1, 0xE3, 0x82, 0xAB, 0xE3,\n\t0x82, 0x99, 0x0D, 0x4C, 0xE1, 0x84, 0x8C, 0xE1,\n\t0x85, 0xAE, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xB4,\n\t0x01, 0x4C, 0xE3, 0x82, 0xAD, 0xE3, 0x82, 0x99,\n\t0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0x0D, 0x4C,\n\t0xE3, 0x82, 0xB3, 0xE3, 0x83, 0xBC, 0xE3, 0x83,\n\t// Bytes 2ec0 - 2eff\n\t0x9B, 0xE3, 0x82, 0x9A, 0x0D, 0x4C, 0xE3, 0x83,\n\t0xA4, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, 0xE3,\n\t0x82, 0x99, 0x0D, 0x4F, 0xE1, 0x84, 0x8E, 0xE1,\n\t0x85, 0xA1, 0xE1, 0x86, 0xB7, 0xE1, 0x84, 0x80,\n\t0xE1, 0x85, 0xA9, 0x01, 0x4F, 0xE3, 0x82, 0xA4,\n\t0xE3, 0x83, 0x8B, 0xE3, 0x83, 0xB3, 0xE3, 0x82,\n\t0xAF, 0xE3, 0x82, 0x99, 0x0D, 0x4F, 0xE3, 0x82,\n\t0xB7, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xB3, 0xE3,\n\t// Bytes 2f00 - 2f3f\n\t0x82, 0xAF, 0xE3, 0x82, 0x99, 0x0D, 0x4F, 0xE3,\n\t0x83, 0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC,\n\t0xE3, 0x82, 0xB7, 0xE3, 0x82, 0x99, 0x0D, 0x4F,\n\t0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x9A, 0xE3, 0x83,\n\t0xB3, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D,\n\t0x52, 0xE3, 0x82, 0xA8, 0xE3, 0x82, 0xB9, 0xE3,\n\t0x82, 0xAF, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88,\n\t0xE3, 0x82, 0x99, 0x0D, 0x52, 0xE3, 0x83, 0x95,\n\t// Bytes 2f40 - 2f7f\n\t0xE3, 0x82, 0xA1, 0xE3, 0x83, 0xA9, 0xE3, 0x83,\n\t0x83, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D,\n\t0x86, 0xE0, 0xB3, 0x86, 0xE0, 0xB3, 0x82, 0x01,\n\t0x86, 0xE0, 0xB7, 0x99, 0xE0, 0xB7, 0x8F, 0x01,\n\t0x03, 0x3C, 0xCC, 0xB8, 0x05, 0x03, 0x3D, 0xCC,\n\t0xB8, 0x05, 0x03, 0x3E, 0xCC, 0xB8, 0x05, 0x03,\n\t0x41, 0xCC, 0x80, 0xC9, 0x03, 0x41, 0xCC, 0x81,\n\t0xC9, 0x03, 0x41, 0xCC, 0x83, 0xC9, 0x03, 0x41,\n\t// Bytes 2f80 - 2fbf\n\t0xCC, 0x84, 0xC9, 0x03, 0x41, 0xCC, 0x89, 0xC9,\n\t0x03, 0x41, 0xCC, 0x8C, 0xC9, 0x03, 0x41, 0xCC,\n\t0x8F, 0xC9, 0x03, 0x41, 0xCC, 0x91, 0xC9, 0x03,\n\t0x41, 0xCC, 0xA5, 0xB5, 0x03, 0x41, 0xCC, 0xA8,\n\t0xA5, 0x03, 0x42, 0xCC, 0x87, 0xC9, 0x03, 0x42,\n\t0xCC, 0xA3, 0xB5, 0x03, 0x42, 0xCC, 0xB1, 0xB5,\n\t0x03, 0x43, 0xCC, 0x81, 0xC9, 0x03, 0x43, 0xCC,\n\t0x82, 0xC9, 0x03, 0x43, 0xCC, 0x87, 0xC9, 0x03,\n\t// Bytes 2fc0 - 2fff\n\t0x43, 0xCC, 0x8C, 0xC9, 0x03, 0x44, 0xCC, 0x87,\n\t0xC9, 0x03, 0x44, 0xCC, 0x8C, 0xC9, 0x03, 0x44,\n\t0xCC, 0xA3, 0xB5, 0x03, 0x44, 0xCC, 0xA7, 0xA5,\n\t0x03, 0x44, 0xCC, 0xAD, 0xB5, 0x03, 0x44, 0xCC,\n\t0xB1, 0xB5, 0x03, 0x45, 0xCC, 0x80, 0xC9, 0x03,\n\t0x45, 0xCC, 0x81, 0xC9, 0x03, 0x45, 0xCC, 0x83,\n\t0xC9, 0x03, 0x45, 0xCC, 0x86, 0xC9, 0x03, 0x45,\n\t0xCC, 0x87, 0xC9, 0x03, 0x45, 0xCC, 0x88, 0xC9,\n\t// Bytes 3000 - 303f\n\t0x03, 0x45, 0xCC, 0x89, 0xC9, 0x03, 0x45, 0xCC,\n\t0x8C, 0xC9, 0x03, 0x45, 0xCC, 0x8F, 0xC9, 0x03,\n\t0x45, 0xCC, 0x91, 0xC9, 0x03, 0x45, 0xCC, 0xA8,\n\t0xA5, 0x03, 0x45, 0xCC, 0xAD, 0xB5, 0x03, 0x45,\n\t0xCC, 0xB0, 0xB5, 0x03, 0x46, 0xCC, 0x87, 0xC9,\n\t0x03, 0x47, 0xCC, 0x81, 0xC9, 0x03, 0x47, 0xCC,\n\t0x82, 0xC9, 0x03, 0x47, 0xCC, 0x84, 0xC9, 0x03,\n\t0x47, 0xCC, 0x86, 0xC9, 0x03, 0x47, 0xCC, 0x87,\n\t// Bytes 3040 - 307f\n\t0xC9, 0x03, 0x47, 0xCC, 0x8C, 0xC9, 0x03, 0x47,\n\t0xCC, 0xA7, 0xA5, 0x03, 0x48, 0xCC, 0x82, 0xC9,\n\t0x03, 0x48, 0xCC, 0x87, 0xC9, 0x03, 0x48, 0xCC,\n\t0x88, 0xC9, 0x03, 0x48, 0xCC, 0x8C, 0xC9, 0x03,\n\t0x48, 0xCC, 0xA3, 0xB5, 0x03, 0x48, 0xCC, 0xA7,\n\t0xA5, 0x03, 0x48, 0xCC, 0xAE, 0xB5, 0x03, 0x49,\n\t0xCC, 0x80, 0xC9, 0x03, 0x49, 0xCC, 0x81, 0xC9,\n\t0x03, 0x49, 0xCC, 0x82, 0xC9, 0x03, 0x49, 0xCC,\n\t// Bytes 3080 - 30bf\n\t0x83, 0xC9, 0x03, 0x49, 0xCC, 0x84, 0xC9, 0x03,\n\t0x49, 0xCC, 0x86, 0xC9, 0x03, 0x49, 0xCC, 0x87,\n\t0xC9, 0x03, 0x49, 0xCC, 0x89, 0xC9, 0x03, 0x49,\n\t0xCC, 0x8C, 0xC9, 0x03, 0x49, 0xCC, 0x8F, 0xC9,\n\t0x03, 0x49, 0xCC, 0x91, 0xC9, 0x03, 0x49, 0xCC,\n\t0xA3, 0xB5, 0x03, 0x49, 0xCC, 0xA8, 0xA5, 0x03,\n\t0x49, 0xCC, 0xB0, 0xB5, 0x03, 0x4A, 0xCC, 0x82,\n\t0xC9, 0x03, 0x4B, 0xCC, 0x81, 0xC9, 0x03, 0x4B,\n\t// Bytes 30c0 - 30ff\n\t0xCC, 0x8C, 0xC9, 0x03, 0x4B, 0xCC, 0xA3, 0xB5,\n\t0x03, 0x4B, 0xCC, 0xA7, 0xA5, 0x03, 0x4B, 0xCC,\n\t0xB1, 0xB5, 0x03, 0x4C, 0xCC, 0x81, 0xC9, 0x03,\n\t0x4C, 0xCC, 0x8C, 0xC9, 0x03, 0x4C, 0xCC, 0xA7,\n\t0xA5, 0x03, 0x4C, 0xCC, 0xAD, 0xB5, 0x03, 0x4C,\n\t0xCC, 0xB1, 0xB5, 0x03, 0x4D, 0xCC, 0x81, 0xC9,\n\t0x03, 0x4D, 0xCC, 0x87, 0xC9, 0x03, 0x4D, 0xCC,\n\t0xA3, 0xB5, 0x03, 0x4E, 0xCC, 0x80, 0xC9, 0x03,\n\t// Bytes 3100 - 313f\n\t0x4E, 0xCC, 0x81, 0xC9, 0x03, 0x4E, 0xCC, 0x83,\n\t0xC9, 0x03, 0x4E, 0xCC, 0x87, 0xC9, 0x03, 0x4E,\n\t0xCC, 0x8C, 0xC9, 0x03, 0x4E, 0xCC, 0xA3, 0xB5,\n\t0x03, 0x4E, 0xCC, 0xA7, 0xA5, 0x03, 0x4E, 0xCC,\n\t0xAD, 0xB5, 0x03, 0x4E, 0xCC, 0xB1, 0xB5, 0x03,\n\t0x4F, 0xCC, 0x80, 0xC9, 0x03, 0x4F, 0xCC, 0x81,\n\t0xC9, 0x03, 0x4F, 0xCC, 0x86, 0xC9, 0x03, 0x4F,\n\t0xCC, 0x89, 0xC9, 0x03, 0x4F, 0xCC, 0x8B, 0xC9,\n\t// Bytes 3140 - 317f\n\t0x03, 0x4F, 0xCC, 0x8C, 0xC9, 0x03, 0x4F, 0xCC,\n\t0x8F, 0xC9, 0x03, 0x4F, 0xCC, 0x91, 0xC9, 0x03,\n\t0x50, 0xCC, 0x81, 0xC9, 0x03, 0x50, 0xCC, 0x87,\n\t0xC9, 0x03, 0x52, 0xCC, 0x81, 0xC9, 0x03, 0x52,\n\t0xCC, 0x87, 0xC9, 0x03, 0x52, 0xCC, 0x8C, 0xC9,\n\t0x03, 0x52, 0xCC, 0x8F, 0xC9, 0x03, 0x52, 0xCC,\n\t0x91, 0xC9, 0x03, 0x52, 0xCC, 0xA7, 0xA5, 0x03,\n\t0x52, 0xCC, 0xB1, 0xB5, 0x03, 0x53, 0xCC, 0x82,\n\t// Bytes 3180 - 31bf\n\t0xC9, 0x03, 0x53, 0xCC, 0x87, 0xC9, 0x03, 0x53,\n\t0xCC, 0xA6, 0xB5, 0x03, 0x53, 0xCC, 0xA7, 0xA5,\n\t0x03, 0x54, 0xCC, 0x87, 0xC9, 0x03, 0x54, 0xCC,\n\t0x8C, 0xC9, 0x03, 0x54, 0xCC, 0xA3, 0xB5, 0x03,\n\t0x54, 0xCC, 0xA6, 0xB5, 0x03, 0x54, 0xCC, 0xA7,\n\t0xA5, 0x03, 0x54, 0xCC, 0xAD, 0xB5, 0x03, 0x54,\n\t0xCC, 0xB1, 0xB5, 0x03, 0x55, 0xCC, 0x80, 0xC9,\n\t0x03, 0x55, 0xCC, 0x81, 0xC9, 0x03, 0x55, 0xCC,\n\t// Bytes 31c0 - 31ff\n\t0x82, 0xC9, 0x03, 0x55, 0xCC, 0x86, 0xC9, 0x03,\n\t0x55, 0xCC, 0x89, 0xC9, 0x03, 0x55, 0xCC, 0x8A,\n\t0xC9, 0x03, 0x55, 0xCC, 0x8B, 0xC9, 0x03, 0x55,\n\t0xCC, 0x8C, 0xC9, 0x03, 0x55, 0xCC, 0x8F, 0xC9,\n\t0x03, 0x55, 0xCC, 0x91, 0xC9, 0x03, 0x55, 0xCC,\n\t0xA3, 0xB5, 0x03, 0x55, 0xCC, 0xA4, 0xB5, 0x03,\n\t0x55, 0xCC, 0xA8, 0xA5, 0x03, 0x55, 0xCC, 0xAD,\n\t0xB5, 0x03, 0x55, 0xCC, 0xB0, 0xB5, 0x03, 0x56,\n\t// Bytes 3200 - 323f\n\t0xCC, 0x83, 0xC9, 0x03, 0x56, 0xCC, 0xA3, 0xB5,\n\t0x03, 0x57, 0xCC, 0x80, 0xC9, 0x03, 0x57, 0xCC,\n\t0x81, 0xC9, 0x03, 0x57, 0xCC, 0x82, 0xC9, 0x03,\n\t0x57, 0xCC, 0x87, 0xC9, 0x03, 0x57, 0xCC, 0x88,\n\t0xC9, 0x03, 0x57, 0xCC, 0xA3, 0xB5, 0x03, 0x58,\n\t0xCC, 0x87, 0xC9, 0x03, 0x58, 0xCC, 0x88, 0xC9,\n\t0x03, 0x59, 0xCC, 0x80, 0xC9, 0x03, 0x59, 0xCC,\n\t0x81, 0xC9, 0x03, 0x59, 0xCC, 0x82, 0xC9, 0x03,\n\t// Bytes 3240 - 327f\n\t0x59, 0xCC, 0x83, 0xC9, 0x03, 0x59, 0xCC, 0x84,\n\t0xC9, 0x03, 0x59, 0xCC, 0x87, 0xC9, 0x03, 0x59,\n\t0xCC, 0x88, 0xC9, 0x03, 0x59, 0xCC, 0x89, 0xC9,\n\t0x03, 0x59, 0xCC, 0xA3, 0xB5, 0x03, 0x5A, 0xCC,\n\t0x81, 0xC9, 0x03, 0x5A, 0xCC, 0x82, 0xC9, 0x03,\n\t0x5A, 0xCC, 0x87, 0xC9, 0x03, 0x5A, 0xCC, 0x8C,\n\t0xC9, 0x03, 0x5A, 0xCC, 0xA3, 0xB5, 0x03, 0x5A,\n\t0xCC, 0xB1, 0xB5, 0x03, 0x61, 0xCC, 0x80, 0xC9,\n\t// Bytes 3280 - 32bf\n\t0x03, 0x61, 0xCC, 0x81, 0xC9, 0x03, 0x61, 0xCC,\n\t0x83, 0xC9, 0x03, 0x61, 0xCC, 0x84, 0xC9, 0x03,\n\t0x61, 0xCC, 0x89, 0xC9, 0x03, 0x61, 0xCC, 0x8C,\n\t0xC9, 0x03, 0x61, 0xCC, 0x8F, 0xC9, 0x03, 0x61,\n\t0xCC, 0x91, 0xC9, 0x03, 0x61, 0xCC, 0xA5, 0xB5,\n\t0x03, 0x61, 0xCC, 0xA8, 0xA5, 0x03, 0x62, 0xCC,\n\t0x87, 0xC9, 0x03, 0x62, 0xCC, 0xA3, 0xB5, 0x03,\n\t0x62, 0xCC, 0xB1, 0xB5, 0x03, 0x63, 0xCC, 0x81,\n\t// Bytes 32c0 - 32ff\n\t0xC9, 0x03, 0x63, 0xCC, 0x82, 0xC9, 0x03, 0x63,\n\t0xCC, 0x87, 0xC9, 0x03, 0x63, 0xCC, 0x8C, 0xC9,\n\t0x03, 0x64, 0xCC, 0x87, 0xC9, 0x03, 0x64, 0xCC,\n\t0x8C, 0xC9, 0x03, 0x64, 0xCC, 0xA3, 0xB5, 0x03,\n\t0x64, 0xCC, 0xA7, 0xA5, 0x03, 0x64, 0xCC, 0xAD,\n\t0xB5, 0x03, 0x64, 0xCC, 0xB1, 0xB5, 0x03, 0x65,\n\t0xCC, 0x80, 0xC9, 0x03, 0x65, 0xCC, 0x81, 0xC9,\n\t0x03, 0x65, 0xCC, 0x83, 0xC9, 0x03, 0x65, 0xCC,\n\t// Bytes 3300 - 333f\n\t0x86, 0xC9, 0x03, 0x65, 0xCC, 0x87, 0xC9, 0x03,\n\t0x65, 0xCC, 0x88, 0xC9, 0x03, 0x65, 0xCC, 0x89,\n\t0xC9, 0x03, 0x65, 0xCC, 0x8C, 0xC9, 0x03, 0x65,\n\t0xCC, 0x8F, 0xC9, 0x03, 0x65, 0xCC, 0x91, 0xC9,\n\t0x03, 0x65, 0xCC, 0xA8, 0xA5, 0x03, 0x65, 0xCC,\n\t0xAD, 0xB5, 0x03, 0x65, 0xCC, 0xB0, 0xB5, 0x03,\n\t0x66, 0xCC, 0x87, 0xC9, 0x03, 0x67, 0xCC, 0x81,\n\t0xC9, 0x03, 0x67, 0xCC, 0x82, 0xC9, 0x03, 0x67,\n\t// Bytes 3340 - 337f\n\t0xCC, 0x84, 0xC9, 0x03, 0x67, 0xCC, 0x86, 0xC9,\n\t0x03, 0x67, 0xCC, 0x87, 0xC9, 0x03, 0x67, 0xCC,\n\t0x8C, 0xC9, 0x03, 0x67, 0xCC, 0xA7, 0xA5, 0x03,\n\t0x68, 0xCC, 0x82, 0xC9, 0x03, 0x68, 0xCC, 0x87,\n\t0xC9, 0x03, 0x68, 0xCC, 0x88, 0xC9, 0x03, 0x68,\n\t0xCC, 0x8C, 0xC9, 0x03, 0x68, 0xCC, 0xA3, 0xB5,\n\t0x03, 0x68, 0xCC, 0xA7, 0xA5, 0x03, 0x68, 0xCC,\n\t0xAE, 0xB5, 0x03, 0x68, 0xCC, 0xB1, 0xB5, 0x03,\n\t// Bytes 3380 - 33bf\n\t0x69, 0xCC, 0x80, 0xC9, 0x03, 0x69, 0xCC, 0x81,\n\t0xC9, 0x03, 0x69, 0xCC, 0x82, 0xC9, 0x03, 0x69,\n\t0xCC, 0x83, 0xC9, 0x03, 0x69, 0xCC, 0x84, 0xC9,\n\t0x03, 0x69, 0xCC, 0x86, 0xC9, 0x03, 0x69, 0xCC,\n\t0x89, 0xC9, 0x03, 0x69, 0xCC, 0x8C, 0xC9, 0x03,\n\t0x69, 0xCC, 0x8F, 0xC9, 0x03, 0x69, 0xCC, 0x91,\n\t0xC9, 0x03, 0x69, 0xCC, 0xA3, 0xB5, 0x03, 0x69,\n\t0xCC, 0xA8, 0xA5, 0x03, 0x69, 0xCC, 0xB0, 0xB5,\n\t// Bytes 33c0 - 33ff\n\t0x03, 0x6A, 0xCC, 0x82, 0xC9, 0x03, 0x6A, 0xCC,\n\t0x8C, 0xC9, 0x03, 0x6B, 0xCC, 0x81, 0xC9, 0x03,\n\t0x6B, 0xCC, 0x8C, 0xC9, 0x03, 0x6B, 0xCC, 0xA3,\n\t0xB5, 0x03, 0x6B, 0xCC, 0xA7, 0xA5, 0x03, 0x6B,\n\t0xCC, 0xB1, 0xB5, 0x03, 0x6C, 0xCC, 0x81, 0xC9,\n\t0x03, 0x6C, 0xCC, 0x8C, 0xC9, 0x03, 0x6C, 0xCC,\n\t0xA7, 0xA5, 0x03, 0x6C, 0xCC, 0xAD, 0xB5, 0x03,\n\t0x6C, 0xCC, 0xB1, 0xB5, 0x03, 0x6D, 0xCC, 0x81,\n\t// Bytes 3400 - 343f\n\t0xC9, 0x03, 0x6D, 0xCC, 0x87, 0xC9, 0x03, 0x6D,\n\t0xCC, 0xA3, 0xB5, 0x03, 0x6E, 0xCC, 0x80, 0xC9,\n\t0x03, 0x6E, 0xCC, 0x81, 0xC9, 0x03, 0x6E, 0xCC,\n\t0x83, 0xC9, 0x03, 0x6E, 0xCC, 0x87, 0xC9, 0x03,\n\t0x6E, 0xCC, 0x8C, 0xC9, 0x03, 0x6E, 0xCC, 0xA3,\n\t0xB5, 0x03, 0x6E, 0xCC, 0xA7, 0xA5, 0x03, 0x6E,\n\t0xCC, 0xAD, 0xB5, 0x03, 0x6E, 0xCC, 0xB1, 0xB5,\n\t0x03, 0x6F, 0xCC, 0x80, 0xC9, 0x03, 0x6F, 0xCC,\n\t// Bytes 3440 - 347f\n\t0x81, 0xC9, 0x03, 0x6F, 0xCC, 0x86, 0xC9, 0x03,\n\t0x6F, 0xCC, 0x89, 0xC9, 0x03, 0x6F, 0xCC, 0x8B,\n\t0xC9, 0x03, 0x6F, 0xCC, 0x8C, 0xC9, 0x03, 0x6F,\n\t0xCC, 0x8F, 0xC9, 0x03, 0x6F, 0xCC, 0x91, 0xC9,\n\t0x03, 0x70, 0xCC, 0x81, 0xC9, 0x03, 0x70, 0xCC,\n\t0x87, 0xC9, 0x03, 0x72, 0xCC, 0x81, 0xC9, 0x03,\n\t0x72, 0xCC, 0x87, 0xC9, 0x03, 0x72, 0xCC, 0x8C,\n\t0xC9, 0x03, 0x72, 0xCC, 0x8F, 0xC9, 0x03, 0x72,\n\t// Bytes 3480 - 34bf\n\t0xCC, 0x91, 0xC9, 0x03, 0x72, 0xCC, 0xA7, 0xA5,\n\t0x03, 0x72, 0xCC, 0xB1, 0xB5, 0x03, 0x73, 0xCC,\n\t0x82, 0xC9, 0x03, 0x73, 0xCC, 0x87, 0xC9, 0x03,\n\t0x73, 0xCC, 0xA6, 0xB5, 0x03, 0x73, 0xCC, 0xA7,\n\t0xA5, 0x03, 0x74, 0xCC, 0x87, 0xC9, 0x03, 0x74,\n\t0xCC, 0x88, 0xC9, 0x03, 0x74, 0xCC, 0x8C, 0xC9,\n\t0x03, 0x74, 0xCC, 0xA3, 0xB5, 0x03, 0x74, 0xCC,\n\t0xA6, 0xB5, 0x03, 0x74, 0xCC, 0xA7, 0xA5, 0x03,\n\t// Bytes 34c0 - 34ff\n\t0x74, 0xCC, 0xAD, 0xB5, 0x03, 0x74, 0xCC, 0xB1,\n\t0xB5, 0x03, 0x75, 0xCC, 0x80, 0xC9, 0x03, 0x75,\n\t0xCC, 0x81, 0xC9, 0x03, 0x75, 0xCC, 0x82, 0xC9,\n\t0x03, 0x75, 0xCC, 0x86, 0xC9, 0x03, 0x75, 0xCC,\n\t0x89, 0xC9, 0x03, 0x75, 0xCC, 0x8A, 0xC9, 0x03,\n\t0x75, 0xCC, 0x8B, 0xC9, 0x03, 0x75, 0xCC, 0x8C,\n\t0xC9, 0x03, 0x75, 0xCC, 0x8F, 0xC9, 0x03, 0x75,\n\t0xCC, 0x91, 0xC9, 0x03, 0x75, 0xCC, 0xA3, 0xB5,\n\t// Bytes 3500 - 353f\n\t0x03, 0x75, 0xCC, 0xA4, 0xB5, 0x03, 0x75, 0xCC,\n\t0xA8, 0xA5, 0x03, 0x75, 0xCC, 0xAD, 0xB5, 0x03,\n\t0x75, 0xCC, 0xB0, 0xB5, 0x03, 0x76, 0xCC, 0x83,\n\t0xC9, 0x03, 0x76, 0xCC, 0xA3, 0xB5, 0x03, 0x77,\n\t0xCC, 0x80, 0xC9, 0x03, 0x77, 0xCC, 0x81, 0xC9,\n\t0x03, 0x77, 0xCC, 0x82, 0xC9, 0x03, 0x77, 0xCC,\n\t0x87, 0xC9, 0x03, 0x77, 0xCC, 0x88, 0xC9, 0x03,\n\t0x77, 0xCC, 0x8A, 0xC9, 0x03, 0x77, 0xCC, 0xA3,\n\t// Bytes 3540 - 357f\n\t0xB5, 0x03, 0x78, 0xCC, 0x87, 0xC9, 0x03, 0x78,\n\t0xCC, 0x88, 0xC9, 0x03, 0x79, 0xCC, 0x80, 0xC9,\n\t0x03, 0x79, 0xCC, 0x81, 0xC9, 0x03, 0x79, 0xCC,\n\t0x82, 0xC9, 0x03, 0x79, 0xCC, 0x83, 0xC9, 0x03,\n\t0x79, 0xCC, 0x84, 0xC9, 0x03, 0x79, 0xCC, 0x87,\n\t0xC9, 0x03, 0x79, 0xCC, 0x88, 0xC9, 0x03, 0x79,\n\t0xCC, 0x89, 0xC9, 0x03, 0x79, 0xCC, 0x8A, 0xC9,\n\t0x03, 0x79, 0xCC, 0xA3, 0xB5, 0x03, 0x7A, 0xCC,\n\t// Bytes 3580 - 35bf\n\t0x81, 0xC9, 0x03, 0x7A, 0xCC, 0x82, 0xC9, 0x03,\n\t0x7A, 0xCC, 0x87, 0xC9, 0x03, 0x7A, 0xCC, 0x8C,\n\t0xC9, 0x03, 0x7A, 0xCC, 0xA3, 0xB5, 0x03, 0x7A,\n\t0xCC, 0xB1, 0xB5, 0x04, 0xC2, 0xA8, 0xCC, 0x80,\n\t0xCA, 0x04, 0xC2, 0xA8, 0xCC, 0x81, 0xCA, 0x04,\n\t0xC2, 0xA8, 0xCD, 0x82, 0xCA, 0x04, 0xC3, 0x86,\n\t0xCC, 0x81, 0xC9, 0x04, 0xC3, 0x86, 0xCC, 0x84,\n\t0xC9, 0x04, 0xC3, 0x98, 0xCC, 0x81, 0xC9, 0x04,\n\t// Bytes 35c0 - 35ff\n\t0xC3, 0xA6, 0xCC, 0x81, 0xC9, 0x04, 0xC3, 0xA6,\n\t0xCC, 0x84, 0xC9, 0x04, 0xC3, 0xB8, 0xCC, 0x81,\n\t0xC9, 0x04, 0xC5, 0xBF, 0xCC, 0x87, 0xC9, 0x04,\n\t0xC6, 0xB7, 0xCC, 0x8C, 0xC9, 0x04, 0xCA, 0x92,\n\t0xCC, 0x8C, 0xC9, 0x04, 0xCE, 0x91, 0xCC, 0x80,\n\t0xC9, 0x04, 0xCE, 0x91, 0xCC, 0x81, 0xC9, 0x04,\n\t0xCE, 0x91, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0x91,\n\t0xCC, 0x86, 0xC9, 0x04, 0xCE, 0x91, 0xCD, 0x85,\n\t// Bytes 3600 - 363f\n\t0xD9, 0x04, 0xCE, 0x95, 0xCC, 0x80, 0xC9, 0x04,\n\t0xCE, 0x95, 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0x97,\n\t0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x97, 0xCC, 0x81,\n\t0xC9, 0x04, 0xCE, 0x97, 0xCD, 0x85, 0xD9, 0x04,\n\t0xCE, 0x99, 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x99,\n\t0xCC, 0x81, 0xC9, 0x04, 0xCE, 0x99, 0xCC, 0x84,\n\t0xC9, 0x04, 0xCE, 0x99, 0xCC, 0x86, 0xC9, 0x04,\n\t0xCE, 0x99, 0xCC, 0x88, 0xC9, 0x04, 0xCE, 0x9F,\n\t// Bytes 3640 - 367f\n\t0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x9F, 0xCC, 0x81,\n\t0xC9, 0x04, 0xCE, 0xA1, 0xCC, 0x94, 0xC9, 0x04,\n\t0xCE, 0xA5, 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0xA5,\n\t0xCC, 0x81, 0xC9, 0x04, 0xCE, 0xA5, 0xCC, 0x84,\n\t0xC9, 0x04, 0xCE, 0xA5, 0xCC, 0x86, 0xC9, 0x04,\n\t0xCE, 0xA5, 0xCC, 0x88, 0xC9, 0x04, 0xCE, 0xA9,\n\t0xCC, 0x80, 0xC9, 0x04, 0xCE, 0xA9, 0xCC, 0x81,\n\t0xC9, 0x04, 0xCE, 0xA9, 0xCD, 0x85, 0xD9, 0x04,\n\t// Bytes 3680 - 36bf\n\t0xCE, 0xB1, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0xB1,\n\t0xCC, 0x86, 0xC9, 0x04, 0xCE, 0xB1, 0xCD, 0x85,\n\t0xD9, 0x04, 0xCE, 0xB5, 0xCC, 0x80, 0xC9, 0x04,\n\t0xCE, 0xB5, 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0xB7,\n\t0xCD, 0x85, 0xD9, 0x04, 0xCE, 0xB9, 0xCC, 0x80,\n\t0xC9, 0x04, 0xCE, 0xB9, 0xCC, 0x81, 0xC9, 0x04,\n\t0xCE, 0xB9, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0xB9,\n\t0xCC, 0x86, 0xC9, 0x04, 0xCE, 0xB9, 0xCD, 0x82,\n\t// Bytes 36c0 - 36ff\n\t0xC9, 0x04, 0xCE, 0xBF, 0xCC, 0x80, 0xC9, 0x04,\n\t0xCE, 0xBF, 0xCC, 0x81, 0xC9, 0x04, 0xCF, 0x81,\n\t0xCC, 0x93, 0xC9, 0x04, 0xCF, 0x81, 0xCC, 0x94,\n\t0xC9, 0x04, 0xCF, 0x85, 0xCC, 0x80, 0xC9, 0x04,\n\t0xCF, 0x85, 0xCC, 0x81, 0xC9, 0x04, 0xCF, 0x85,\n\t0xCC, 0x84, 0xC9, 0x04, 0xCF, 0x85, 0xCC, 0x86,\n\t0xC9, 0x04, 0xCF, 0x85, 0xCD, 0x82, 0xC9, 0x04,\n\t0xCF, 0x89, 0xCD, 0x85, 0xD9, 0x04, 0xCF, 0x92,\n\t// Bytes 3700 - 373f\n\t0xCC, 0x81, 0xC9, 0x04, 0xCF, 0x92, 0xCC, 0x88,\n\t0xC9, 0x04, 0xD0, 0x86, 0xCC, 0x88, 0xC9, 0x04,\n\t0xD0, 0x90, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0x90,\n\t0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x93, 0xCC, 0x81,\n\t0xC9, 0x04, 0xD0, 0x95, 0xCC, 0x80, 0xC9, 0x04,\n\t0xD0, 0x95, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0x95,\n\t0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x96, 0xCC, 0x86,\n\t0xC9, 0x04, 0xD0, 0x96, 0xCC, 0x88, 0xC9, 0x04,\n\t// Bytes 3740 - 377f\n\t0xD0, 0x97, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x98,\n\t0xCC, 0x80, 0xC9, 0x04, 0xD0, 0x98, 0xCC, 0x84,\n\t0xC9, 0x04, 0xD0, 0x98, 0xCC, 0x86, 0xC9, 0x04,\n\t0xD0, 0x98, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x9A,\n\t0xCC, 0x81, 0xC9, 0x04, 0xD0, 0x9E, 0xCC, 0x88,\n\t0xC9, 0x04, 0xD0, 0xA3, 0xCC, 0x84, 0xC9, 0x04,\n\t0xD0, 0xA3, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xA3,\n\t0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xA3, 0xCC, 0x8B,\n\t// Bytes 3780 - 37bf\n\t0xC9, 0x04, 0xD0, 0xA7, 0xCC, 0x88, 0xC9, 0x04,\n\t0xD0, 0xAB, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xAD,\n\t0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xB0, 0xCC, 0x86,\n\t0xC9, 0x04, 0xD0, 0xB0, 0xCC, 0x88, 0xC9, 0x04,\n\t0xD0, 0xB3, 0xCC, 0x81, 0xC9, 0x04, 0xD0, 0xB5,\n\t0xCC, 0x80, 0xC9, 0x04, 0xD0, 0xB5, 0xCC, 0x86,\n\t0xC9, 0x04, 0xD0, 0xB5, 0xCC, 0x88, 0xC9, 0x04,\n\t0xD0, 0xB6, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xB6,\n\t// Bytes 37c0 - 37ff\n\t0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xB7, 0xCC, 0x88,\n\t0xC9, 0x04, 0xD0, 0xB8, 0xCC, 0x80, 0xC9, 0x04,\n\t0xD0, 0xB8, 0xCC, 0x84, 0xC9, 0x04, 0xD0, 0xB8,\n\t0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xB8, 0xCC, 0x88,\n\t0xC9, 0x04, 0xD0, 0xBA, 0xCC, 0x81, 0xC9, 0x04,\n\t0xD0, 0xBE, 0xCC, 0x88, 0xC9, 0x04, 0xD1, 0x83,\n\t0xCC, 0x84, 0xC9, 0x04, 0xD1, 0x83, 0xCC, 0x86,\n\t0xC9, 0x04, 0xD1, 0x83, 0xCC, 0x88, 0xC9, 0x04,\n\t// Bytes 3800 - 383f\n\t0xD1, 0x83, 0xCC, 0x8B, 0xC9, 0x04, 0xD1, 0x87,\n\t0xCC, 0x88, 0xC9, 0x04, 0xD1, 0x8B, 0xCC, 0x88,\n\t0xC9, 0x04, 0xD1, 0x8D, 0xCC, 0x88, 0xC9, 0x04,\n\t0xD1, 0x96, 0xCC, 0x88, 0xC9, 0x04, 0xD1, 0xB4,\n\t0xCC, 0x8F, 0xC9, 0x04, 0xD1, 0xB5, 0xCC, 0x8F,\n\t0xC9, 0x04, 0xD3, 0x98, 0xCC, 0x88, 0xC9, 0x04,\n\t0xD3, 0x99, 0xCC, 0x88, 0xC9, 0x04, 0xD3, 0xA8,\n\t0xCC, 0x88, 0xC9, 0x04, 0xD3, 0xA9, 0xCC, 0x88,\n\t// Bytes 3840 - 387f\n\t0xC9, 0x04, 0xD8, 0xA7, 0xD9, 0x93, 0xC9, 0x04,\n\t0xD8, 0xA7, 0xD9, 0x94, 0xC9, 0x04, 0xD8, 0xA7,\n\t0xD9, 0x95, 0xB5, 0x04, 0xD9, 0x88, 0xD9, 0x94,\n\t0xC9, 0x04, 0xD9, 0x8A, 0xD9, 0x94, 0xC9, 0x04,\n\t0xDB, 0x81, 0xD9, 0x94, 0xC9, 0x04, 0xDB, 0x92,\n\t0xD9, 0x94, 0xC9, 0x04, 0xDB, 0x95, 0xD9, 0x94,\n\t0xC9, 0x05, 0x41, 0xCC, 0x82, 0xCC, 0x80, 0xCA,\n\t0x05, 0x41, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05,\n\t// Bytes 3880 - 38bf\n\t0x41, 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x41,\n\t0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x41, 0xCC,\n\t0x86, 0xCC, 0x80, 0xCA, 0x05, 0x41, 0xCC, 0x86,\n\t0xCC, 0x81, 0xCA, 0x05, 0x41, 0xCC, 0x86, 0xCC,\n\t0x83, 0xCA, 0x05, 0x41, 0xCC, 0x86, 0xCC, 0x89,\n\t0xCA, 0x05, 0x41, 0xCC, 0x87, 0xCC, 0x84, 0xCA,\n\t0x05, 0x41, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05,\n\t0x41, 0xCC, 0x8A, 0xCC, 0x81, 0xCA, 0x05, 0x41,\n\t// Bytes 38c0 - 38ff\n\t0xCC, 0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x41, 0xCC,\n\t0xA3, 0xCC, 0x86, 0xCA, 0x05, 0x43, 0xCC, 0xA7,\n\t0xCC, 0x81, 0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC,\n\t0x80, 0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x81,\n\t0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x83, 0xCA,\n\t0x05, 0x45, 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05,\n\t0x45, 0xCC, 0x84, 0xCC, 0x80, 0xCA, 0x05, 0x45,\n\t0xCC, 0x84, 0xCC, 0x81, 0xCA, 0x05, 0x45, 0xCC,\n\t// Bytes 3900 - 393f\n\t0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x45, 0xCC, 0xA7,\n\t0xCC, 0x86, 0xCA, 0x05, 0x49, 0xCC, 0x88, 0xCC,\n\t0x81, 0xCA, 0x05, 0x4C, 0xCC, 0xA3, 0xCC, 0x84,\n\t0xCA, 0x05, 0x4F, 0xCC, 0x82, 0xCC, 0x80, 0xCA,\n\t0x05, 0x4F, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05,\n\t0x4F, 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x4F,\n\t0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x4F, 0xCC,\n\t0x83, 0xCC, 0x81, 0xCA, 0x05, 0x4F, 0xCC, 0x83,\n\t// Bytes 3940 - 397f\n\t0xCC, 0x84, 0xCA, 0x05, 0x4F, 0xCC, 0x83, 0xCC,\n\t0x88, 0xCA, 0x05, 0x4F, 0xCC, 0x84, 0xCC, 0x80,\n\t0xCA, 0x05, 0x4F, 0xCC, 0x84, 0xCC, 0x81, 0xCA,\n\t0x05, 0x4F, 0xCC, 0x87, 0xCC, 0x84, 0xCA, 0x05,\n\t0x4F, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x4F,\n\t0xCC, 0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x4F, 0xCC,\n\t0x9B, 0xCC, 0x81, 0xCA, 0x05, 0x4F, 0xCC, 0x9B,\n\t0xCC, 0x83, 0xCA, 0x05, 0x4F, 0xCC, 0x9B, 0xCC,\n\t// Bytes 3980 - 39bf\n\t0x89, 0xCA, 0x05, 0x4F, 0xCC, 0x9B, 0xCC, 0xA3,\n\t0xB6, 0x05, 0x4F, 0xCC, 0xA3, 0xCC, 0x82, 0xCA,\n\t0x05, 0x4F, 0xCC, 0xA8, 0xCC, 0x84, 0xCA, 0x05,\n\t0x52, 0xCC, 0xA3, 0xCC, 0x84, 0xCA, 0x05, 0x53,\n\t0xCC, 0x81, 0xCC, 0x87, 0xCA, 0x05, 0x53, 0xCC,\n\t0x8C, 0xCC, 0x87, 0xCA, 0x05, 0x53, 0xCC, 0xA3,\n\t0xCC, 0x87, 0xCA, 0x05, 0x55, 0xCC, 0x83, 0xCC,\n\t0x81, 0xCA, 0x05, 0x55, 0xCC, 0x84, 0xCC, 0x88,\n\t// Bytes 39c0 - 39ff\n\t0xCA, 0x05, 0x55, 0xCC, 0x88, 0xCC, 0x80, 0xCA,\n\t0x05, 0x55, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x05,\n\t0x55, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x55,\n\t0xCC, 0x88, 0xCC, 0x8C, 0xCA, 0x05, 0x55, 0xCC,\n\t0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x55, 0xCC, 0x9B,\n\t0xCC, 0x81, 0xCA, 0x05, 0x55, 0xCC, 0x9B, 0xCC,\n\t0x83, 0xCA, 0x05, 0x55, 0xCC, 0x9B, 0xCC, 0x89,\n\t0xCA, 0x05, 0x55, 0xCC, 0x9B, 0xCC, 0xA3, 0xB6,\n\t// Bytes 3a00 - 3a3f\n\t0x05, 0x61, 0xCC, 0x82, 0xCC, 0x80, 0xCA, 0x05,\n\t0x61, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, 0x61,\n\t0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x61, 0xCC,\n\t0x82, 0xCC, 0x89, 0xCA, 0x05, 0x61, 0xCC, 0x86,\n\t0xCC, 0x80, 0xCA, 0x05, 0x61, 0xCC, 0x86, 0xCC,\n\t0x81, 0xCA, 0x05, 0x61, 0xCC, 0x86, 0xCC, 0x83,\n\t0xCA, 0x05, 0x61, 0xCC, 0x86, 0xCC, 0x89, 0xCA,\n\t0x05, 0x61, 0xCC, 0x87, 0xCC, 0x84, 0xCA, 0x05,\n\t// Bytes 3a40 - 3a7f\n\t0x61, 0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x61,\n\t0xCC, 0x8A, 0xCC, 0x81, 0xCA, 0x05, 0x61, 0xCC,\n\t0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x61, 0xCC, 0xA3,\n\t0xCC, 0x86, 0xCA, 0x05, 0x63, 0xCC, 0xA7, 0xCC,\n\t0x81, 0xCA, 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x80,\n\t0xCA, 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x81, 0xCA,\n\t0x05, 0x65, 0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05,\n\t0x65, 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, 0x65,\n\t// Bytes 3a80 - 3abf\n\t0xCC, 0x84, 0xCC, 0x80, 0xCA, 0x05, 0x65, 0xCC,\n\t0x84, 0xCC, 0x81, 0xCA, 0x05, 0x65, 0xCC, 0xA3,\n\t0xCC, 0x82, 0xCA, 0x05, 0x65, 0xCC, 0xA7, 0xCC,\n\t0x86, 0xCA, 0x05, 0x69, 0xCC, 0x88, 0xCC, 0x81,\n\t0xCA, 0x05, 0x6C, 0xCC, 0xA3, 0xCC, 0x84, 0xCA,\n\t0x05, 0x6F, 0xCC, 0x82, 0xCC, 0x80, 0xCA, 0x05,\n\t0x6F, 0xCC, 0x82, 0xCC, 0x81, 0xCA, 0x05, 0x6F,\n\t0xCC, 0x82, 0xCC, 0x83, 0xCA, 0x05, 0x6F, 0xCC,\n\t// Bytes 3ac0 - 3aff\n\t0x82, 0xCC, 0x89, 0xCA, 0x05, 0x6F, 0xCC, 0x83,\n\t0xCC, 0x81, 0xCA, 0x05, 0x6F, 0xCC, 0x83, 0xCC,\n\t0x84, 0xCA, 0x05, 0x6F, 0xCC, 0x83, 0xCC, 0x88,\n\t0xCA, 0x05, 0x6F, 0xCC, 0x84, 0xCC, 0x80, 0xCA,\n\t0x05, 0x6F, 0xCC, 0x84, 0xCC, 0x81, 0xCA, 0x05,\n\t0x6F, 0xCC, 0x87, 0xCC, 0x84, 0xCA, 0x05, 0x6F,\n\t0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x6F, 0xCC,\n\t0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x6F, 0xCC, 0x9B,\n\t// Bytes 3b00 - 3b3f\n\t0xCC, 0x81, 0xCA, 0x05, 0x6F, 0xCC, 0x9B, 0xCC,\n\t0x83, 0xCA, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, 0x89,\n\t0xCA, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, 0xA3, 0xB6,\n\t0x05, 0x6F, 0xCC, 0xA3, 0xCC, 0x82, 0xCA, 0x05,\n\t0x6F, 0xCC, 0xA8, 0xCC, 0x84, 0xCA, 0x05, 0x72,\n\t0xCC, 0xA3, 0xCC, 0x84, 0xCA, 0x05, 0x73, 0xCC,\n\t0x81, 0xCC, 0x87, 0xCA, 0x05, 0x73, 0xCC, 0x8C,\n\t0xCC, 0x87, 0xCA, 0x05, 0x73, 0xCC, 0xA3, 0xCC,\n\t// Bytes 3b40 - 3b7f\n\t0x87, 0xCA, 0x05, 0x75, 0xCC, 0x83, 0xCC, 0x81,\n\t0xCA, 0x05, 0x75, 0xCC, 0x84, 0xCC, 0x88, 0xCA,\n\t0x05, 0x75, 0xCC, 0x88, 0xCC, 0x80, 0xCA, 0x05,\n\t0x75, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x05, 0x75,\n\t0xCC, 0x88, 0xCC, 0x84, 0xCA, 0x05, 0x75, 0xCC,\n\t0x88, 0xCC, 0x8C, 0xCA, 0x05, 0x75, 0xCC, 0x9B,\n\t0xCC, 0x80, 0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC,\n\t0x81, 0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0x83,\n\t// Bytes 3b80 - 3bbf\n\t0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0x89, 0xCA,\n\t0x05, 0x75, 0xCC, 0x9B, 0xCC, 0xA3, 0xB6, 0x05,\n\t0xE1, 0xBE, 0xBF, 0xCC, 0x80, 0xCA, 0x05, 0xE1,\n\t0xBE, 0xBF, 0xCC, 0x81, 0xCA, 0x05, 0xE1, 0xBE,\n\t0xBF, 0xCD, 0x82, 0xCA, 0x05, 0xE1, 0xBF, 0xBE,\n\t0xCC, 0x80, 0xCA, 0x05, 0xE1, 0xBF, 0xBE, 0xCC,\n\t0x81, 0xCA, 0x05, 0xE1, 0xBF, 0xBE, 0xCD, 0x82,\n\t0xCA, 0x05, 0xE2, 0x86, 0x90, 0xCC, 0xB8, 0x05,\n\t// Bytes 3bc0 - 3bff\n\t0x05, 0xE2, 0x86, 0x92, 0xCC, 0xB8, 0x05, 0x05,\n\t0xE2, 0x86, 0x94, 0xCC, 0xB8, 0x05, 0x05, 0xE2,\n\t0x87, 0x90, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x87,\n\t0x92, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x87, 0x94,\n\t0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x88, 0x83, 0xCC,\n\t0xB8, 0x05, 0x05, 0xE2, 0x88, 0x88, 0xCC, 0xB8,\n\t0x05, 0x05, 0xE2, 0x88, 0x8B, 0xCC, 0xB8, 0x05,\n\t0x05, 0xE2, 0x88, 0xA3, 0xCC, 0xB8, 0x05, 0x05,\n\t// Bytes 3c00 - 3c3f\n\t0xE2, 0x88, 0xA5, 0xCC, 0xB8, 0x05, 0x05, 0xE2,\n\t0x88, 0xBC, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89,\n\t0x83, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x85,\n\t0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x88, 0xCC,\n\t0xB8, 0x05, 0x05, 0xE2, 0x89, 0x8D, 0xCC, 0xB8,\n\t0x05, 0x05, 0xE2, 0x89, 0xA1, 0xCC, 0xB8, 0x05,\n\t0x05, 0xE2, 0x89, 0xA4, 0xCC, 0xB8, 0x05, 0x05,\n\t0xE2, 0x89, 0xA5, 0xCC, 0xB8, 0x05, 0x05, 0xE2,\n\t// Bytes 3c40 - 3c7f\n\t0x89, 0xB2, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89,\n\t0xB3, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xB6,\n\t0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xB7, 0xCC,\n\t0xB8, 0x05, 0x05, 0xE2, 0x89, 0xBA, 0xCC, 0xB8,\n\t0x05, 0x05, 0xE2, 0x89, 0xBB, 0xCC, 0xB8, 0x05,\n\t0x05, 0xE2, 0x89, 0xBC, 0xCC, 0xB8, 0x05, 0x05,\n\t0xE2, 0x89, 0xBD, 0xCC, 0xB8, 0x05, 0x05, 0xE2,\n\t0x8A, 0x82, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A,\n\t// Bytes 3c80 - 3cbf\n\t0x83, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x86,\n\t0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x87, 0xCC,\n\t0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x91, 0xCC, 0xB8,\n\t0x05, 0x05, 0xE2, 0x8A, 0x92, 0xCC, 0xB8, 0x05,\n\t0x05, 0xE2, 0x8A, 0xA2, 0xCC, 0xB8, 0x05, 0x05,\n\t0xE2, 0x8A, 0xA8, 0xCC, 0xB8, 0x05, 0x05, 0xE2,\n\t0x8A, 0xA9, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A,\n\t0xAB, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB2,\n\t// Bytes 3cc0 - 3cff\n\t0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB3, 0xCC,\n\t0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB4, 0xCC, 0xB8,\n\t0x05, 0x05, 0xE2, 0x8A, 0xB5, 0xCC, 0xB8, 0x05,\n\t0x06, 0xCE, 0x91, 0xCC, 0x93, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0x91, 0xCC, 0x94, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0x95, 0xCC, 0x93, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0x95, 0xCC, 0x93, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0x95, 0xCC, 0x94, 0xCC, 0x80, 0xCA,\n\t// Bytes 3d00 - 3d3f\n\t0x06, 0xCE, 0x95, 0xCC, 0x94, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0x97, 0xCC, 0x93, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0x97, 0xCC, 0x94, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0x99, 0xCC, 0x93, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0x99, 0xCC, 0x93, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0x99, 0xCC, 0x93, 0xCD, 0x82, 0xCA,\n\t0x06, 0xCE, 0x99, 0xCC, 0x94, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0x99, 0xCC, 0x94, 0xCC, 0x81, 0xCA,\n\t// Bytes 3d40 - 3d7f\n\t0x06, 0xCE, 0x99, 0xCC, 0x94, 0xCD, 0x82, 0xCA,\n\t0x06, 0xCE, 0x9F, 0xCC, 0x93, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0x9F, 0xCC, 0x93, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0x9F, 0xCC, 0x94, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0x9F, 0xCC, 0x94, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0xA5, 0xCC, 0x94, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0xA5, 0xCC, 0x94, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0xA5, 0xCC, 0x94, 0xCD, 0x82, 0xCA,\n\t// Bytes 3d80 - 3dbf\n\t0x06, 0xCE, 0xA9, 0xCC, 0x93, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xA9, 0xCC, 0x94, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB1, 0xCC, 0x80, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB1, 0xCC, 0x81, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB1, 0xCC, 0x93, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB1, 0xCC, 0x94, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB1, 0xCD, 0x82, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB5, 0xCC, 0x93, 0xCC, 0x80, 0xCA,\n\t// Bytes 3dc0 - 3dff\n\t0x06, 0xCE, 0xB5, 0xCC, 0x93, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0xB5, 0xCC, 0x94, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0xB5, 0xCC, 0x94, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0xB7, 0xCC, 0x80, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB7, 0xCC, 0x81, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB7, 0xCC, 0x93, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB7, 0xCC, 0x94, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCE, 0xB7, 0xCD, 0x82, 0xCD, 0x85, 0xDA,\n\t// Bytes 3e00 - 3e3f\n\t0x06, 0xCE, 0xB9, 0xCC, 0x88, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0xB9, 0xCC, 0x88, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0xB9, 0xCC, 0x88, 0xCD, 0x82, 0xCA,\n\t0x06, 0xCE, 0xB9, 0xCC, 0x93, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0xB9, 0xCC, 0x93, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0xB9, 0xCC, 0x93, 0xCD, 0x82, 0xCA,\n\t0x06, 0xCE, 0xB9, 0xCC, 0x94, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0xB9, 0xCC, 0x94, 0xCC, 0x81, 0xCA,\n\t// Bytes 3e40 - 3e7f\n\t0x06, 0xCE, 0xB9, 0xCC, 0x94, 0xCD, 0x82, 0xCA,\n\t0x06, 0xCE, 0xBF, 0xCC, 0x93, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0xBF, 0xCC, 0x93, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCE, 0xBF, 0xCC, 0x94, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCE, 0xBF, 0xCC, 0x94, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCF, 0x85, 0xCC, 0x88, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCF, 0x85, 0xCC, 0x88, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCF, 0x85, 0xCC, 0x88, 0xCD, 0x82, 0xCA,\n\t// Bytes 3e80 - 3ebf\n\t0x06, 0xCF, 0x85, 0xCC, 0x93, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCF, 0x85, 0xCC, 0x93, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCF, 0x85, 0xCC, 0x93, 0xCD, 0x82, 0xCA,\n\t0x06, 0xCF, 0x85, 0xCC, 0x94, 0xCC, 0x80, 0xCA,\n\t0x06, 0xCF, 0x85, 0xCC, 0x94, 0xCC, 0x81, 0xCA,\n\t0x06, 0xCF, 0x85, 0xCC, 0x94, 0xCD, 0x82, 0xCA,\n\t0x06, 0xCF, 0x89, 0xCC, 0x80, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCF, 0x89, 0xCC, 0x81, 0xCD, 0x85, 0xDA,\n\t// Bytes 3ec0 - 3eff\n\t0x06, 0xCF, 0x89, 0xCC, 0x93, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCF, 0x89, 0xCC, 0x94, 0xCD, 0x85, 0xDA,\n\t0x06, 0xCF, 0x89, 0xCD, 0x82, 0xCD, 0x85, 0xDA,\n\t0x06, 0xE0, 0xA4, 0xA8, 0xE0, 0xA4, 0xBC, 0x09,\n\t0x06, 0xE0, 0xA4, 0xB0, 0xE0, 0xA4, 0xBC, 0x09,\n\t0x06, 0xE0, 0xA4, 0xB3, 0xE0, 0xA4, 0xBC, 0x09,\n\t0x06, 0xE0, 0xB1, 0x86, 0xE0, 0xB1, 0x96, 0x85,\n\t0x06, 0xE0, 0xB7, 0x99, 0xE0, 0xB7, 0x8A, 0x11,\n\t// Bytes 3f00 - 3f3f\n\t0x06, 0xE3, 0x81, 0x86, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x8D, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x8F, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x91, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x93, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x97, 0xE3, 0x82, 0x99, 0x0D,\n\t// Bytes 3f40 - 3f7f\n\t0x06, 0xE3, 0x81, 0x99, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x9D, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xA1, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xA4, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xA6, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xA8, 0xE3, 0x82, 0x99, 0x0D,\n\t// Bytes 3f80 - 3fbf\n\t0x06, 0xE3, 0x81, 0xAF, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xAF, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x81, 0xB2, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xB2, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x81, 0xB5, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xB5, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x81, 0xB8, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xB8, 0xE3, 0x82, 0x9A, 0x0D,\n\t// Bytes 3fc0 - 3fff\n\t0x06, 0xE3, 0x81, 0xBB, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x81, 0xBB, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x82, 0x9D, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xA6, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xAD, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xB1, 0xE3, 0x82, 0x99, 0x0D,\n\t// Bytes 4000 - 403f\n\t0x06, 0xE3, 0x82, 0xB3, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xB5, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xB7, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xB9, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xBB, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xBD, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0x81, 0xE3, 0x82, 0x99, 0x0D,\n\t// Bytes 4040 - 407f\n\t0x06, 0xE3, 0x83, 0x84, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x83, 0x95, 0xE3, 0x82, 0x99, 0x0D,\n\t// Bytes 4080 - 40bf\n\t0x06, 0xE3, 0x83, 0x95, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x06, 0xE3, 0x83, 0xAF, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0xB0, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0xB1, 0xE3, 0x82, 0x99, 0x0D,\n\t// Bytes 40c0 - 40ff\n\t0x06, 0xE3, 0x83, 0xB2, 0xE3, 0x82, 0x99, 0x0D,\n\t0x06, 0xE3, 0x83, 0xBD, 0xE3, 0x82, 0x99, 0x0D,\n\t0x08, 0xCE, 0x91, 0xCC, 0x93, 0xCC, 0x80, 0xCD,\n\t0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC, 0x93, 0xCC,\n\t0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC,\n\t0x93, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE,\n\t0x91, 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB,\n\t0x08, 0xCE, 0x91, 0xCC, 0x94, 0xCC, 0x81, 0xCD,\n\t// Bytes 4100 - 413f\n\t0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC, 0x94, 0xCD,\n\t0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC,\n\t0x93, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE,\n\t0x97, 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB,\n\t0x08, 0xCE, 0x97, 0xCC, 0x93, 0xCD, 0x82, 0xCD,\n\t0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC, 0x94, 0xCC,\n\t0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC,\n\t0x94, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE,\n\t// Bytes 4140 - 417f\n\t0x97, 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB,\n\t0x08, 0xCE, 0xA9, 0xCC, 0x93, 0xCC, 0x80, 0xCD,\n\t0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, 0x93, 0xCC,\n\t0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC,\n\t0x93, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE,\n\t0xA9, 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB,\n\t0x08, 0xCE, 0xA9, 0xCC, 0x94, 0xCC, 0x81, 0xCD,\n\t0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, 0x94, 0xCD,\n\t// Bytes 4180 - 41bf\n\t0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC,\n\t0x93, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE,\n\t0xB1, 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB,\n\t0x08, 0xCE, 0xB1, 0xCC, 0x93, 0xCD, 0x82, 0xCD,\n\t0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC, 0x94, 0xCC,\n\t0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC,\n\t0x94, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE,\n\t0xB1, 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB,\n\t// Bytes 41c0 - 41ff\n\t0x08, 0xCE, 0xB7, 0xCC, 0x93, 0xCC, 0x80, 0xCD,\n\t0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, 0x93, 0xCC,\n\t0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC,\n\t0x93, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE,\n\t0xB7, 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB,\n\t0x08, 0xCE, 0xB7, 0xCC, 0x94, 0xCC, 0x81, 0xCD,\n\t0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, 0x94, 0xCD,\n\t0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC,\n\t// Bytes 4200 - 423f\n\t0x93, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCF,\n\t0x89, 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB,\n\t0x08, 0xCF, 0x89, 0xCC, 0x93, 0xCD, 0x82, 0xCD,\n\t0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC, 0x94, 0xCC,\n\t0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC,\n\t0x94, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCF,\n\t0x89, 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB,\n\t0x08, 0xF0, 0x91, 0x82, 0x99, 0xF0, 0x91, 0x82,\n\t// Bytes 4240 - 427f\n\t0xBA, 0x09, 0x08, 0xF0, 0x91, 0x82, 0x9B, 0xF0,\n\t0x91, 0x82, 0xBA, 0x09, 0x08, 0xF0, 0x91, 0x82,\n\t0xA5, 0xF0, 0x91, 0x82, 0xBA, 0x09, 0x42, 0xC2,\n\t0xB4, 0x01, 0x43, 0x20, 0xCC, 0x81, 0xC9, 0x43,\n\t0x20, 0xCC, 0x83, 0xC9, 0x43, 0x20, 0xCC, 0x84,\n\t0xC9, 0x43, 0x20, 0xCC, 0x85, 0xC9, 0x43, 0x20,\n\t0xCC, 0x86, 0xC9, 0x43, 0x20, 0xCC, 0x87, 0xC9,\n\t0x43, 0x20, 0xCC, 0x88, 0xC9, 0x43, 0x20, 0xCC,\n\t// Bytes 4280 - 42bf\n\t0x8A, 0xC9, 0x43, 0x20, 0xCC, 0x8B, 0xC9, 0x43,\n\t0x20, 0xCC, 0x93, 0xC9, 0x43, 0x20, 0xCC, 0x94,\n\t0xC9, 0x43, 0x20, 0xCC, 0xA7, 0xA5, 0x43, 0x20,\n\t0xCC, 0xA8, 0xA5, 0x43, 0x20, 0xCC, 0xB3, 0xB5,\n\t0x43, 0x20, 0xCD, 0x82, 0xC9, 0x43, 0x20, 0xCD,\n\t0x85, 0xD9, 0x43, 0x20, 0xD9, 0x8B, 0x59, 0x43,\n\t0x20, 0xD9, 0x8C, 0x5D, 0x43, 0x20, 0xD9, 0x8D,\n\t0x61, 0x43, 0x20, 0xD9, 0x8E, 0x65, 0x43, 0x20,\n\t// Bytes 42c0 - 42ff\n\t0xD9, 0x8F, 0x69, 0x43, 0x20, 0xD9, 0x90, 0x6D,\n\t0x43, 0x20, 0xD9, 0x91, 0x71, 0x43, 0x20, 0xD9,\n\t0x92, 0x75, 0x43, 0x41, 0xCC, 0x8A, 0xC9, 0x43,\n\t0x73, 0xCC, 0x87, 0xC9, 0x44, 0x20, 0xE3, 0x82,\n\t0x99, 0x0D, 0x44, 0x20, 0xE3, 0x82, 0x9A, 0x0D,\n\t0x44, 0xC2, 0xA8, 0xCC, 0x81, 0xCA, 0x44, 0xCE,\n\t0x91, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0x95, 0xCC,\n\t0x81, 0xC9, 0x44, 0xCE, 0x97, 0xCC, 0x81, 0xC9,\n\t// Bytes 4300 - 433f\n\t0x44, 0xCE, 0x99, 0xCC, 0x81, 0xC9, 0x44, 0xCE,\n\t0x9F, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0xA5, 0xCC,\n\t0x81, 0xC9, 0x44, 0xCE, 0xA5, 0xCC, 0x88, 0xC9,\n\t0x44, 0xCE, 0xA9, 0xCC, 0x81, 0xC9, 0x44, 0xCE,\n\t0xB1, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0xB5, 0xCC,\n\t0x81, 0xC9, 0x44, 0xCE, 0xB7, 0xCC, 0x81, 0xC9,\n\t0x44, 0xCE, 0xB9, 0xCC, 0x81, 0xC9, 0x44, 0xCE,\n\t0xBF, 0xCC, 0x81, 0xC9, 0x44, 0xCF, 0x85, 0xCC,\n\t// Bytes 4340 - 437f\n\t0x81, 0xC9, 0x44, 0xCF, 0x89, 0xCC, 0x81, 0xC9,\n\t0x44, 0xD7, 0x90, 0xD6, 0xB7, 0x31, 0x44, 0xD7,\n\t0x90, 0xD6, 0xB8, 0x35, 0x44, 0xD7, 0x90, 0xD6,\n\t0xBC, 0x41, 0x44, 0xD7, 0x91, 0xD6, 0xBC, 0x41,\n\t0x44, 0xD7, 0x91, 0xD6, 0xBF, 0x49, 0x44, 0xD7,\n\t0x92, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x93, 0xD6,\n\t0xBC, 0x41, 0x44, 0xD7, 0x94, 0xD6, 0xBC, 0x41,\n\t0x44, 0xD7, 0x95, 0xD6, 0xB9, 0x39, 0x44, 0xD7,\n\t// Bytes 4380 - 43bf\n\t0x95, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x96, 0xD6,\n\t0xBC, 0x41, 0x44, 0xD7, 0x98, 0xD6, 0xBC, 0x41,\n\t0x44, 0xD7, 0x99, 0xD6, 0xB4, 0x25, 0x44, 0xD7,\n\t0x99, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x9A, 0xD6,\n\t0xBC, 0x41, 0x44, 0xD7, 0x9B, 0xD6, 0xBC, 0x41,\n\t0x44, 0xD7, 0x9B, 0xD6, 0xBF, 0x49, 0x44, 0xD7,\n\t0x9C, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x9E, 0xD6,\n\t0xBC, 0x41, 0x44, 0xD7, 0xA0, 0xD6, 0xBC, 0x41,\n\t// Bytes 43c0 - 43ff\n\t0x44, 0xD7, 0xA1, 0xD6, 0xBC, 0x41, 0x44, 0xD7,\n\t0xA3, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA4, 0xD6,\n\t0xBC, 0x41, 0x44, 0xD7, 0xA4, 0xD6, 0xBF, 0x49,\n\t0x44, 0xD7, 0xA6, 0xD6, 0xBC, 0x41, 0x44, 0xD7,\n\t0xA7, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA8, 0xD6,\n\t0xBC, 0x41, 0x44, 0xD7, 0xA9, 0xD6, 0xBC, 0x41,\n\t0x44, 0xD7, 0xA9, 0xD7, 0x81, 0x4D, 0x44, 0xD7,\n\t0xA9, 0xD7, 0x82, 0x51, 0x44, 0xD7, 0xAA, 0xD6,\n\t// Bytes 4400 - 443f\n\t0xBC, 0x41, 0x44, 0xD7, 0xB2, 0xD6, 0xB7, 0x31,\n\t0x44, 0xD8, 0xA7, 0xD9, 0x8B, 0x59, 0x44, 0xD8,\n\t0xA7, 0xD9, 0x93, 0xC9, 0x44, 0xD8, 0xA7, 0xD9,\n\t0x94, 0xC9, 0x44, 0xD8, 0xA7, 0xD9, 0x95, 0xB5,\n\t0x44, 0xD8, 0xB0, 0xD9, 0xB0, 0x79, 0x44, 0xD8,\n\t0xB1, 0xD9, 0xB0, 0x79, 0x44, 0xD9, 0x80, 0xD9,\n\t0x8B, 0x59, 0x44, 0xD9, 0x80, 0xD9, 0x8E, 0x65,\n\t0x44, 0xD9, 0x80, 0xD9, 0x8F, 0x69, 0x44, 0xD9,\n\t// Bytes 4440 - 447f\n\t0x80, 0xD9, 0x90, 0x6D, 0x44, 0xD9, 0x80, 0xD9,\n\t0x91, 0x71, 0x44, 0xD9, 0x80, 0xD9, 0x92, 0x75,\n\t0x44, 0xD9, 0x87, 0xD9, 0xB0, 0x79, 0x44, 0xD9,\n\t0x88, 0xD9, 0x94, 0xC9, 0x44, 0xD9, 0x89, 0xD9,\n\t0xB0, 0x79, 0x44, 0xD9, 0x8A, 0xD9, 0x94, 0xC9,\n\t0x44, 0xDB, 0x92, 0xD9, 0x94, 0xC9, 0x44, 0xDB,\n\t0x95, 0xD9, 0x94, 0xC9, 0x45, 0x20, 0xCC, 0x88,\n\t0xCC, 0x80, 0xCA, 0x45, 0x20, 0xCC, 0x88, 0xCC,\n\t// Bytes 4480 - 44bf\n\t0x81, 0xCA, 0x45, 0x20, 0xCC, 0x88, 0xCD, 0x82,\n\t0xCA, 0x45, 0x20, 0xCC, 0x93, 0xCC, 0x80, 0xCA,\n\t0x45, 0x20, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x45,\n\t0x20, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x45, 0x20,\n\t0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x45, 0x20, 0xCC,\n\t0x94, 0xCC, 0x81, 0xCA, 0x45, 0x20, 0xCC, 0x94,\n\t0xCD, 0x82, 0xCA, 0x45, 0x20, 0xD9, 0x8C, 0xD9,\n\t0x91, 0x72, 0x45, 0x20, 0xD9, 0x8D, 0xD9, 0x91,\n\t// Bytes 44c0 - 44ff\n\t0x72, 0x45, 0x20, 0xD9, 0x8E, 0xD9, 0x91, 0x72,\n\t0x45, 0x20, 0xD9, 0x8F, 0xD9, 0x91, 0x72, 0x45,\n\t0x20, 0xD9, 0x90, 0xD9, 0x91, 0x72, 0x45, 0x20,\n\t0xD9, 0x91, 0xD9, 0xB0, 0x7A, 0x45, 0xE2, 0xAB,\n\t0x9D, 0xCC, 0xB8, 0x05, 0x46, 0xCE, 0xB9, 0xCC,\n\t0x88, 0xCC, 0x81, 0xCA, 0x46, 0xCF, 0x85, 0xCC,\n\t0x88, 0xCC, 0x81, 0xCA, 0x46, 0xD7, 0xA9, 0xD6,\n\t0xBC, 0xD7, 0x81, 0x4E, 0x46, 0xD7, 0xA9, 0xD6,\n\t// Bytes 4500 - 453f\n\t0xBC, 0xD7, 0x82, 0x52, 0x46, 0xD9, 0x80, 0xD9,\n\t0x8E, 0xD9, 0x91, 0x72, 0x46, 0xD9, 0x80, 0xD9,\n\t0x8F, 0xD9, 0x91, 0x72, 0x46, 0xD9, 0x80, 0xD9,\n\t0x90, 0xD9, 0x91, 0x72, 0x46, 0xE0, 0xA4, 0x95,\n\t0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0x96,\n\t0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0x97,\n\t0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0x9C,\n\t0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xA1,\n\t// Bytes 4540 - 457f\n\t0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xA2,\n\t0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xAB,\n\t0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA4, 0xAF,\n\t0xE0, 0xA4, 0xBC, 0x09, 0x46, 0xE0, 0xA6, 0xA1,\n\t0xE0, 0xA6, 0xBC, 0x09, 0x46, 0xE0, 0xA6, 0xA2,\n\t0xE0, 0xA6, 0xBC, 0x09, 0x46, 0xE0, 0xA6, 0xAF,\n\t0xE0, 0xA6, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0x96,\n\t0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0x97,\n\t// Bytes 4580 - 45bf\n\t0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0x9C,\n\t0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0xAB,\n\t0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0xB2,\n\t0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xA8, 0xB8,\n\t0xE0, 0xA8, 0xBC, 0x09, 0x46, 0xE0, 0xAC, 0xA1,\n\t0xE0, 0xAC, 0xBC, 0x09, 0x46, 0xE0, 0xAC, 0xA2,\n\t0xE0, 0xAC, 0xBC, 0x09, 0x46, 0xE0, 0xBE, 0xB2,\n\t0xE0, 0xBE, 0x80, 0x9D, 0x46, 0xE0, 0xBE, 0xB3,\n\t// Bytes 45c0 - 45ff\n\t0xE0, 0xBE, 0x80, 0x9D, 0x46, 0xE3, 0x83, 0x86,\n\t0xE3, 0x82, 0x99, 0x0D, 0x48, 0xF0, 0x9D, 0x85,\n\t0x97, 0xF0, 0x9D, 0x85, 0xA5, 0xAD, 0x48, 0xF0,\n\t0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xAD,\n\t0x48, 0xF0, 0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85,\n\t0xA5, 0xAD, 0x48, 0xF0, 0x9D, 0x86, 0xBA, 0xF0,\n\t0x9D, 0x85, 0xA5, 0xAD, 0x49, 0xE0, 0xBE, 0xB2,\n\t0xE0, 0xBD, 0xB1, 0xE0, 0xBE, 0x80, 0x9E, 0x49,\n\t// Bytes 4600 - 463f\n\t0xE0, 0xBE, 0xB3, 0xE0, 0xBD, 0xB1, 0xE0, 0xBE,\n\t0x80, 0x9E, 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0,\n\t0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAE, 0xAE,\n\t0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85,\n\t0xA5, 0xF0, 0x9D, 0x85, 0xAF, 0xAE, 0x4C, 0xF0,\n\t0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xF0,\n\t0x9D, 0x85, 0xB0, 0xAE, 0x4C, 0xF0, 0x9D, 0x85,\n\t0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85,\n\t// Bytes 4640 - 467f\n\t0xB1, 0xAE, 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0,\n\t0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xB2, 0xAE,\n\t0x4C, 0xF0, 0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85,\n\t0xA5, 0xF0, 0x9D, 0x85, 0xAE, 0xAE, 0x4C, 0xF0,\n\t0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85, 0xA5, 0xF0,\n\t0x9D, 0x85, 0xAF, 0xAE, 0x4C, 0xF0, 0x9D, 0x86,\n\t0xBA, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85,\n\t0xAE, 0xAE, 0x4C, 0xF0, 0x9D, 0x86, 0xBA, 0xF0,\n\t// Bytes 4680 - 46bf\n\t0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAF, 0xAE,\n\t0x83, 0x41, 0xCC, 0x82, 0xC9, 0x83, 0x41, 0xCC,\n\t0x86, 0xC9, 0x83, 0x41, 0xCC, 0x87, 0xC9, 0x83,\n\t0x41, 0xCC, 0x88, 0xC9, 0x83, 0x41, 0xCC, 0x8A,\n\t0xC9, 0x83, 0x41, 0xCC, 0xA3, 0xB5, 0x83, 0x43,\n\t0xCC, 0xA7, 0xA5, 0x83, 0x45, 0xCC, 0x82, 0xC9,\n\t0x83, 0x45, 0xCC, 0x84, 0xC9, 0x83, 0x45, 0xCC,\n\t0xA3, 0xB5, 0x83, 0x45, 0xCC, 0xA7, 0xA5, 0x83,\n\t// Bytes 46c0 - 46ff\n\t0x49, 0xCC, 0x88, 0xC9, 0x83, 0x4C, 0xCC, 0xA3,\n\t0xB5, 0x83, 0x4F, 0xCC, 0x82, 0xC9, 0x83, 0x4F,\n\t0xCC, 0x83, 0xC9, 0x83, 0x4F, 0xCC, 0x84, 0xC9,\n\t0x83, 0x4F, 0xCC, 0x87, 0xC9, 0x83, 0x4F, 0xCC,\n\t0x88, 0xC9, 0x83, 0x4F, 0xCC, 0x9B, 0xAD, 0x83,\n\t0x4F, 0xCC, 0xA3, 0xB5, 0x83, 0x4F, 0xCC, 0xA8,\n\t0xA5, 0x83, 0x52, 0xCC, 0xA3, 0xB5, 0x83, 0x53,\n\t0xCC, 0x81, 0xC9, 0x83, 0x53, 0xCC, 0x8C, 0xC9,\n\t// Bytes 4700 - 473f\n\t0x83, 0x53, 0xCC, 0xA3, 0xB5, 0x83, 0x55, 0xCC,\n\t0x83, 0xC9, 0x83, 0x55, 0xCC, 0x84, 0xC9, 0x83,\n\t0x55, 0xCC, 0x88, 0xC9, 0x83, 0x55, 0xCC, 0x9B,\n\t0xAD, 0x83, 0x61, 0xCC, 0x82, 0xC9, 0x83, 0x61,\n\t0xCC, 0x86, 0xC9, 0x83, 0x61, 0xCC, 0x87, 0xC9,\n\t0x83, 0x61, 0xCC, 0x88, 0xC9, 0x83, 0x61, 0xCC,\n\t0x8A, 0xC9, 0x83, 0x61, 0xCC, 0xA3, 0xB5, 0x83,\n\t0x63, 0xCC, 0xA7, 0xA5, 0x83, 0x65, 0xCC, 0x82,\n\t// Bytes 4740 - 477f\n\t0xC9, 0x83, 0x65, 0xCC, 0x84, 0xC9, 0x83, 0x65,\n\t0xCC, 0xA3, 0xB5, 0x83, 0x65, 0xCC, 0xA7, 0xA5,\n\t0x83, 0x69, 0xCC, 0x88, 0xC9, 0x83, 0x6C, 0xCC,\n\t0xA3, 0xB5, 0x83, 0x6F, 0xCC, 0x82, 0xC9, 0x83,\n\t0x6F, 0xCC, 0x83, 0xC9, 0x83, 0x6F, 0xCC, 0x84,\n\t0xC9, 0x83, 0x6F, 0xCC, 0x87, 0xC9, 0x83, 0x6F,\n\t0xCC, 0x88, 0xC9, 0x83, 0x6F, 0xCC, 0x9B, 0xAD,\n\t0x83, 0x6F, 0xCC, 0xA3, 0xB5, 0x83, 0x6F, 0xCC,\n\t// Bytes 4780 - 47bf\n\t0xA8, 0xA5, 0x83, 0x72, 0xCC, 0xA3, 0xB5, 0x83,\n\t0x73, 0xCC, 0x81, 0xC9, 0x83, 0x73, 0xCC, 0x8C,\n\t0xC9, 0x83, 0x73, 0xCC, 0xA3, 0xB5, 0x83, 0x75,\n\t0xCC, 0x83, 0xC9, 0x83, 0x75, 0xCC, 0x84, 0xC9,\n\t0x83, 0x75, 0xCC, 0x88, 0xC9, 0x83, 0x75, 0xCC,\n\t0x9B, 0xAD, 0x84, 0xCE, 0x91, 0xCC, 0x93, 0xC9,\n\t0x84, 0xCE, 0x91, 0xCC, 0x94, 0xC9, 0x84, 0xCE,\n\t0x95, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0x95, 0xCC,\n\t// Bytes 47c0 - 47ff\n\t0x94, 0xC9, 0x84, 0xCE, 0x97, 0xCC, 0x93, 0xC9,\n\t0x84, 0xCE, 0x97, 0xCC, 0x94, 0xC9, 0x84, 0xCE,\n\t0x99, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0x99, 0xCC,\n\t0x94, 0xC9, 0x84, 0xCE, 0x9F, 0xCC, 0x93, 0xC9,\n\t0x84, 0xCE, 0x9F, 0xCC, 0x94, 0xC9, 0x84, 0xCE,\n\t0xA5, 0xCC, 0x94, 0xC9, 0x84, 0xCE, 0xA9, 0xCC,\n\t0x93, 0xC9, 0x84, 0xCE, 0xA9, 0xCC, 0x94, 0xC9,\n\t0x84, 0xCE, 0xB1, 0xCC, 0x80, 0xC9, 0x84, 0xCE,\n\t// Bytes 4800 - 483f\n\t0xB1, 0xCC, 0x81, 0xC9, 0x84, 0xCE, 0xB1, 0xCC,\n\t0x93, 0xC9, 0x84, 0xCE, 0xB1, 0xCC, 0x94, 0xC9,\n\t0x84, 0xCE, 0xB1, 0xCD, 0x82, 0xC9, 0x84, 0xCE,\n\t0xB5, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB5, 0xCC,\n\t0x94, 0xC9, 0x84, 0xCE, 0xB7, 0xCC, 0x80, 0xC9,\n\t0x84, 0xCE, 0xB7, 0xCC, 0x81, 0xC9, 0x84, 0xCE,\n\t0xB7, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB7, 0xCC,\n\t0x94, 0xC9, 0x84, 0xCE, 0xB7, 0xCD, 0x82, 0xC9,\n\t// Bytes 4840 - 487f\n\t0x84, 0xCE, 0xB9, 0xCC, 0x88, 0xC9, 0x84, 0xCE,\n\t0xB9, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB9, 0xCC,\n\t0x94, 0xC9, 0x84, 0xCE, 0xBF, 0xCC, 0x93, 0xC9,\n\t0x84, 0xCE, 0xBF, 0xCC, 0x94, 0xC9, 0x84, 0xCF,\n\t0x85, 0xCC, 0x88, 0xC9, 0x84, 0xCF, 0x85, 0xCC,\n\t0x93, 0xC9, 0x84, 0xCF, 0x85, 0xCC, 0x94, 0xC9,\n\t0x84, 0xCF, 0x89, 0xCC, 0x80, 0xC9, 0x84, 0xCF,\n\t0x89, 0xCC, 0x81, 0xC9, 0x84, 0xCF, 0x89, 0xCC,\n\t// Bytes 4880 - 48bf\n\t0x93, 0xC9, 0x84, 0xCF, 0x89, 0xCC, 0x94, 0xC9,\n\t0x84, 0xCF, 0x89, 0xCD, 0x82, 0xC9, 0x86, 0xCE,\n\t0x91, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0x91, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0x91, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t0x91, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0x91, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0x91, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t// Bytes 48c0 - 48ff\n\t0x97, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0x97, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0x97, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t0x97, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0x97, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0x97, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t0xA9, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0xA9, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t// Bytes 4900 - 493f\n\t0xA9, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t0xA9, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0xA9, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0xA9, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t0xB1, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0xB1, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0xB1, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t0xB1, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t// Bytes 4940 - 497f\n\t0xB1, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0xB1, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t0xB7, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0xB7, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0xB7, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCE,\n\t0xB7, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCE,\n\t0xB7, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCE,\n\t0xB7, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x86, 0xCF,\n\t// Bytes 4980 - 49bf\n\t0x89, 0xCC, 0x93, 0xCC, 0x80, 0xCA, 0x86, 0xCF,\n\t0x89, 0xCC, 0x93, 0xCC, 0x81, 0xCA, 0x86, 0xCF,\n\t0x89, 0xCC, 0x93, 0xCD, 0x82, 0xCA, 0x86, 0xCF,\n\t0x89, 0xCC, 0x94, 0xCC, 0x80, 0xCA, 0x86, 0xCF,\n\t0x89, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x86, 0xCF,\n\t0x89, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x42, 0xCC,\n\t0x80, 0xC9, 0x32, 0x42, 0xCC, 0x81, 0xC9, 0x32,\n\t0x42, 0xCC, 0x93, 0xC9, 0x32, 0x43, 0xE1, 0x85,\n\t// Bytes 49c0 - 49ff\n\t0xA1, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA2, 0x01,\n\t0x00, 0x43, 0xE1, 0x85, 0xA3, 0x01, 0x00, 0x43,\n\t0xE1, 0x85, 0xA4, 0x01, 0x00, 0x43, 0xE1, 0x85,\n\t0xA5, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA6, 0x01,\n\t0x00, 0x43, 0xE1, 0x85, 0xA7, 0x01, 0x00, 0x43,\n\t0xE1, 0x85, 0xA8, 0x01, 0x00, 0x43, 0xE1, 0x85,\n\t0xA9, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAA, 0x01,\n\t0x00, 0x43, 0xE1, 0x85, 0xAB, 0x01, 0x00, 0x43,\n\t// Bytes 4a00 - 4a3f\n\t0xE1, 0x85, 0xAC, 0x01, 0x00, 0x43, 0xE1, 0x85,\n\t0xAD, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAE, 0x01,\n\t0x00, 0x43, 0xE1, 0x85, 0xAF, 0x01, 0x00, 0x43,\n\t0xE1, 0x85, 0xB0, 0x01, 0x00, 0x43, 0xE1, 0x85,\n\t0xB1, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xB2, 0x01,\n\t0x00, 0x43, 0xE1, 0x85, 0xB3, 0x01, 0x00, 0x43,\n\t0xE1, 0x85, 0xB4, 0x01, 0x00, 0x43, 0xE1, 0x85,\n\t0xB5, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xAA, 0x01,\n\t// Bytes 4a40 - 4a7f\n\t0x00, 0x43, 0xE1, 0x86, 0xAC, 0x01, 0x00, 0x43,\n\t0xE1, 0x86, 0xAD, 0x01, 0x00, 0x43, 0xE1, 0x86,\n\t0xB0, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB1, 0x01,\n\t0x00, 0x43, 0xE1, 0x86, 0xB2, 0x01, 0x00, 0x43,\n\t0xE1, 0x86, 0xB3, 0x01, 0x00, 0x43, 0xE1, 0x86,\n\t0xB4, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB5, 0x01,\n\t0x00, 0x44, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x32,\n\t0x43, 0xE3, 0x82, 0x99, 0x0D, 0x03, 0x43, 0xE3,\n\t// Bytes 4a80 - 4abf\n\t0x82, 0x9A, 0x0D, 0x03, 0x46, 0xE0, 0xBD, 0xB1,\n\t0xE0, 0xBD, 0xB2, 0x9E, 0x26, 0x46, 0xE0, 0xBD,\n\t0xB1, 0xE0, 0xBD, 0xB4, 0xA2, 0x26, 0x46, 0xE0,\n\t0xBD, 0xB1, 0xE0, 0xBE, 0x80, 0x9E, 0x26, 0x00,\n\t0x01,\n}\n\n// lookup returns the trie value for the first UTF-8 encoding in s and\n// the width in bytes of this encoding. The size will be 0 if s does not\n// hold enough bytes to complete the encoding. len(s) must be greater than 0.\nfunc (t *nfcTrie) lookup(s []byte) (v uint16, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < 0x80: // is ASCII\n\t\treturn nfcValues[c0], 1\n\tcase c0 < 0xC2:\n\t\treturn 0, 1 // Illegal UTF-8: not a starter, not ASCII.\n\tcase c0 < 0xE0: // 2-byte UTF-8\n\t\tif len(s) < 2 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c1), 2\n\tcase c0 < 0xF0: // 3-byte UTF-8\n\t\tif len(s) < 3 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = nfcIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c2), 3\n\tcase c0 < 0xF8: // 4-byte UTF-8\n\t\tif len(s) < 4 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = nfcIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to = uint32(i)<<6 + uint32(c2)\n\t\ti = nfcIndex[o]\n\t\tc3 := s[3]\n\t\tif c3 < 0x80 || 0xC0 <= c3 {\n\t\t\treturn 0, 3 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c3), 4\n\t}\n\t// Illegal rune\n\treturn 0, 1\n}\n\n// lookupUnsafe returns the trie value for the first UTF-8 encoding in s.\n// s must start with a full and valid UTF-8 encoded rune.\nfunc (t *nfcTrie) lookupUnsafe(s []byte) uint16 {\n\tc0 := s[0]\n\tif c0 < 0x80 { // is ASCII\n\t\treturn nfcValues[c0]\n\t}\n\ti := nfcIndex[c0]\n\tif c0 < 0xE0 { // 2-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[1])\n\t}\n\ti = nfcIndex[uint32(i)<<6+uint32(s[1])]\n\tif c0 < 0xF0 { // 3-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[2])\n\t}\n\ti = nfcIndex[uint32(i)<<6+uint32(s[2])]\n\tif c0 < 0xF8 { // 4-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[3])\n\t}\n\treturn 0\n}\n\n// lookupString returns the trie value for the first UTF-8 encoding in s and\n// the width in bytes of this encoding. The size will be 0 if s does not\n// hold enough bytes to complete the encoding. len(s) must be greater than 0.\nfunc (t *nfcTrie) lookupString(s string) (v uint16, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < 0x80: // is ASCII\n\t\treturn nfcValues[c0], 1\n\tcase c0 < 0xC2:\n\t\treturn 0, 1 // Illegal UTF-8: not a starter, not ASCII.\n\tcase c0 < 0xE0: // 2-byte UTF-8\n\t\tif len(s) < 2 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c1), 2\n\tcase c0 < 0xF0: // 3-byte UTF-8\n\t\tif len(s) < 3 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = nfcIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c2), 3\n\tcase c0 < 0xF8: // 4-byte UTF-8\n\t\tif len(s) < 4 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = nfcIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to = uint32(i)<<6 + uint32(c2)\n\t\ti = nfcIndex[o]\n\t\tc3 := s[3]\n\t\tif c3 < 0x80 || 0xC0 <= c3 {\n\t\t\treturn 0, 3 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c3), 4\n\t}\n\t// Illegal rune\n\treturn 0, 1\n}\n\n// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s.\n// s must start with a full and valid UTF-8 encoded rune.\nfunc (t *nfcTrie) lookupStringUnsafe(s string) uint16 {\n\tc0 := s[0]\n\tif c0 < 0x80 { // is ASCII\n\t\treturn nfcValues[c0]\n\t}\n\ti := nfcIndex[c0]\n\tif c0 < 0xE0 { // 2-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[1])\n\t}\n\ti = nfcIndex[uint32(i)<<6+uint32(s[1])]\n\tif c0 < 0xF0 { // 3-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[2])\n\t}\n\ti = nfcIndex[uint32(i)<<6+uint32(s[2])]\n\tif c0 < 0xF8 { // 4-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[3])\n\t}\n\treturn 0\n}\n\n// nfcTrie. Total size: 10332 bytes (10.09 KiB). Checksum: 51cc525b297fc970.\ntype nfcTrie struct{}\n\nfunc newNfcTrie(i int) *nfcTrie {\n\treturn &nfcTrie{}\n}\n\n// lookupValue determines the type of block n and looks up the value for b.\nfunc (t *nfcTrie) lookupValue(n uint32, b byte) uint16 {\n\tswitch {\n\tcase n < 44:\n\t\treturn uint16(nfcValues[n<<6+uint32(b)])\n\tdefault:\n\t\tn -= 44\n\t\treturn uint16(nfcSparse.lookup(n, b))\n\t}\n}\n\n// nfcValues: 46 blocks, 2944 entries, 5888 bytes\n// The third block is the zero block.\nvar nfcValues = [2944]uint16{\n\t// Block 0x0, offset 0x0\n\t0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000,\n\t// Block 0x1, offset 0x40\n\t0x41: 0xa000, 0x42: 0xa000, 0x43: 0xa000, 0x44: 0xa000, 0x45: 0xa000,\n\t0x46: 0xa000, 0x47: 0xa000, 0x48: 0xa000, 0x49: 0xa000, 0x4a: 0xa000, 0x4b: 0xa000,\n\t0x4c: 0xa000, 0x4d: 0xa000, 0x4e: 0xa000, 0x4f: 0xa000, 0x50: 0xa000,\n\t0x52: 0xa000, 0x53: 0xa000, 0x54: 0xa000, 0x55: 0xa000, 0x56: 0xa000, 0x57: 0xa000,\n\t0x58: 0xa000, 0x59: 0xa000, 0x5a: 0xa000,\n\t0x61: 0xa000, 0x62: 0xa000, 0x63: 0xa000,\n\t0x64: 0xa000, 0x65: 0xa000, 0x66: 0xa000, 0x67: 0xa000, 0x68: 0xa000, 0x69: 0xa000,\n\t0x6a: 0xa000, 0x6b: 0xa000, 0x6c: 0xa000, 0x6d: 0xa000, 0x6e: 0xa000, 0x6f: 0xa000,\n\t0x70: 0xa000, 0x72: 0xa000, 0x73: 0xa000, 0x74: 0xa000, 0x75: 0xa000,\n\t0x76: 0xa000, 0x77: 0xa000, 0x78: 0xa000, 0x79: 0xa000, 0x7a: 0xa000,\n\t// Block 0x2, offset 0x80\n\t// Block 0x3, offset 0xc0\n\t0xc0: 0x2f6f, 0xc1: 0x2f74, 0xc2: 0x4688, 0xc3: 0x2f79, 0xc4: 0x4697, 0xc5: 0x469c,\n\t0xc6: 0xa000, 0xc7: 0x46a6, 0xc8: 0x2fe2, 0xc9: 0x2fe7, 0xca: 0x46ab, 0xcb: 0x2ffb,\n\t0xcc: 0x306e, 0xcd: 0x3073, 0xce: 0x3078, 0xcf: 0x46bf, 0xd1: 0x3104,\n\t0xd2: 0x3127, 0xd3: 0x312c, 0xd4: 0x46c9, 0xd5: 0x46ce, 0xd6: 0x46dd,\n\t0xd8: 0xa000, 0xd9: 0x31b3, 0xda: 0x31b8, 0xdb: 0x31bd, 0xdc: 0x470f, 0xdd: 0x3235,\n\t0xe0: 0x327b, 0xe1: 0x3280, 0xe2: 0x4719, 0xe3: 0x3285,\n\t0xe4: 0x4728, 0xe5: 0x472d, 0xe6: 0xa000, 0xe7: 0x4737, 0xe8: 0x32ee, 0xe9: 0x32f3,\n\t0xea: 0x473c, 0xeb: 0x3307, 0xec: 0x337f, 0xed: 0x3384, 0xee: 0x3389, 0xef: 0x4750,\n\t0xf1: 0x3415, 0xf2: 0x3438, 0xf3: 0x343d, 0xf4: 0x475a, 0xf5: 0x475f,\n\t0xf6: 0x476e, 0xf8: 0xa000, 0xf9: 0x34c9, 0xfa: 0x34ce, 0xfb: 0x34d3,\n\t0xfc: 0x47a0, 0xfd: 0x3550, 0xff: 0x3569,\n\t// Block 0x4, offset 0x100\n\t0x100: 0x2f7e, 0x101: 0x328a, 0x102: 0x468d, 0x103: 0x471e, 0x104: 0x2f9c, 0x105: 0x32a8,\n\t0x106: 0x2fb0, 0x107: 0x32bc, 0x108: 0x2fb5, 0x109: 0x32c1, 0x10a: 0x2fba, 0x10b: 0x32c6,\n\t0x10c: 0x2fbf, 0x10d: 0x32cb, 0x10e: 0x2fc9, 0x10f: 0x32d5,\n\t0x112: 0x46b0, 0x113: 0x4741, 0x114: 0x2ff1, 0x115: 0x32fd, 0x116: 0x2ff6, 0x117: 0x3302,\n\t0x118: 0x3014, 0x119: 0x3320, 0x11a: 0x3005, 0x11b: 0x3311, 0x11c: 0x302d, 0x11d: 0x3339,\n\t0x11e: 0x3037, 0x11f: 0x3343, 0x120: 0x303c, 0x121: 0x3348, 0x122: 0x3046, 0x123: 0x3352,\n\t0x124: 0x304b, 0x125: 0x3357, 0x128: 0x307d, 0x129: 0x338e,\n\t0x12a: 0x3082, 0x12b: 0x3393, 0x12c: 0x3087, 0x12d: 0x3398, 0x12e: 0x30aa, 0x12f: 0x33b6,\n\t0x130: 0x308c, 0x134: 0x30b4, 0x135: 0x33c0,\n\t0x136: 0x30c8, 0x137: 0x33d9, 0x139: 0x30d2, 0x13a: 0x33e3, 0x13b: 0x30dc,\n\t0x13c: 0x33ed, 0x13d: 0x30d7, 0x13e: 0x33e8,\n\t// Block 0x5, offset 0x140\n\t0x143: 0x30ff, 0x144: 0x3410, 0x145: 0x3118,\n\t0x146: 0x3429, 0x147: 0x310e, 0x148: 0x341f,\n\t0x14c: 0x46d3, 0x14d: 0x4764, 0x14e: 0x3131, 0x14f: 0x3442, 0x150: 0x313b, 0x151: 0x344c,\n\t0x154: 0x3159, 0x155: 0x346a, 0x156: 0x3172, 0x157: 0x3483,\n\t0x158: 0x3163, 0x159: 0x3474, 0x15a: 0x46f6, 0x15b: 0x4787, 0x15c: 0x317c, 0x15d: 0x348d,\n\t0x15e: 0x318b, 0x15f: 0x349c, 0x160: 0x46fb, 0x161: 0x478c, 0x162: 0x31a4, 0x163: 0x34ba,\n\t0x164: 0x3195, 0x165: 0x34ab, 0x168: 0x4705, 0x169: 0x4796,\n\t0x16a: 0x470a, 0x16b: 0x479b, 0x16c: 0x31c2, 0x16d: 0x34d8, 0x16e: 0x31cc, 0x16f: 0x34e2,\n\t0x170: 0x31d1, 0x171: 0x34e7, 0x172: 0x31ef, 0x173: 0x3505, 0x174: 0x3212, 0x175: 0x3528,\n\t0x176: 0x323a, 0x177: 0x3555, 0x178: 0x324e, 0x179: 0x325d, 0x17a: 0x357d, 0x17b: 0x3267,\n\t0x17c: 0x3587, 0x17d: 0x326c, 0x17e: 0x358c, 0x17f: 0xa000,\n\t// Block 0x6, offset 0x180\n\t0x184: 0x8100, 0x185: 0x8100,\n\t0x186: 0x8100,\n\t0x18d: 0x2f88, 0x18e: 0x3294, 0x18f: 0x3096, 0x190: 0x33a2, 0x191: 0x3140,\n\t0x192: 0x3451, 0x193: 0x31d6, 0x194: 0x34ec, 0x195: 0x39cf, 0x196: 0x3b5e, 0x197: 0x39c8,\n\t0x198: 0x3b57, 0x199: 0x39d6, 0x19a: 0x3b65, 0x19b: 0x39c1, 0x19c: 0x3b50,\n\t0x19e: 0x38b0, 0x19f: 0x3a3f, 0x1a0: 0x38a9, 0x1a1: 0x3a38, 0x1a2: 0x35b3, 0x1a3: 0x35c5,\n\t0x1a6: 0x3041, 0x1a7: 0x334d, 0x1a8: 0x30be, 0x1a9: 0x33cf,\n\t0x1aa: 0x46ec, 0x1ab: 0x477d, 0x1ac: 0x3990, 0x1ad: 0x3b1f, 0x1ae: 0x35d7, 0x1af: 0x35dd,\n\t0x1b0: 0x33c5, 0x1b4: 0x3028, 0x1b5: 0x3334,\n\t0x1b8: 0x30fa, 0x1b9: 0x340b, 0x1ba: 0x38b7, 0x1bb: 0x3a46,\n\t0x1bc: 0x35ad, 0x1bd: 0x35bf, 0x1be: 0x35b9, 0x1bf: 0x35cb,\n\t// Block 0x7, offset 0x1c0\n\t0x1c0: 0x2f8d, 0x1c1: 0x3299, 0x1c2: 0x2f92, 0x1c3: 0x329e, 0x1c4: 0x300a, 0x1c5: 0x3316,\n\t0x1c6: 0x300f, 0x1c7: 0x331b, 0x1c8: 0x309b, 0x1c9: 0x33a7, 0x1ca: 0x30a0, 0x1cb: 0x33ac,\n\t0x1cc: 0x3145, 0x1cd: 0x3456, 0x1ce: 0x314a, 0x1cf: 0x345b, 0x1d0: 0x3168, 0x1d1: 0x3479,\n\t0x1d2: 0x316d, 0x1d3: 0x347e, 0x1d4: 0x31db, 0x1d5: 0x34f1, 0x1d6: 0x31e0, 0x1d7: 0x34f6,\n\t0x1d8: 0x3186, 0x1d9: 0x3497, 0x1da: 0x319f, 0x1db: 0x34b5,\n\t0x1de: 0x305a, 0x1df: 0x3366,\n\t0x1e6: 0x4692, 0x1e7: 0x4723, 0x1e8: 0x46ba, 0x1e9: 0x474b,\n\t0x1ea: 0x395f, 0x1eb: 0x3aee, 0x1ec: 0x393c, 0x1ed: 0x3acb, 0x1ee: 0x46d8, 0x1ef: 0x4769,\n\t0x1f0: 0x3958, 0x1f1: 0x3ae7, 0x1f2: 0x3244, 0x1f3: 0x355f,\n\t// Block 0x8, offset 0x200\n\t0x200: 0x9932, 0x201: 0x9932, 0x202: 0x9932, 0x203: 0x9932, 0x204: 0x9932, 0x205: 0x8132,\n\t0x206: 0x9932, 0x207: 0x9932, 0x208: 0x9932, 0x209: 0x9932, 0x20a: 0x9932, 0x20b: 0x9932,\n\t0x20c: 0x9932, 0x20d: 0x8132, 0x20e: 0x8132, 0x20f: 0x9932, 0x210: 0x8132, 0x211: 0x9932,\n\t0x212: 0x8132, 0x213: 0x9932, 0x214: 0x9932, 0x215: 0x8133, 0x216: 0x812d, 0x217: 0x812d,\n\t0x218: 0x812d, 0x219: 0x812d, 0x21a: 0x8133, 0x21b: 0x992b, 0x21c: 0x812d, 0x21d: 0x812d,\n\t0x21e: 0x812d, 0x21f: 0x812d, 0x220: 0x812d, 0x221: 0x8129, 0x222: 0x8129, 0x223: 0x992d,\n\t0x224: 0x992d, 0x225: 0x992d, 0x226: 0x992d, 0x227: 0x9929, 0x228: 0x9929, 0x229: 0x812d,\n\t0x22a: 0x812d, 0x22b: 0x812d, 0x22c: 0x812d, 0x22d: 0x992d, 0x22e: 0x992d, 0x22f: 0x812d,\n\t0x230: 0x992d, 0x231: 0x992d, 0x232: 0x812d, 0x233: 0x812d, 0x234: 0x8101, 0x235: 0x8101,\n\t0x236: 0x8101, 0x237: 0x8101, 0x238: 0x9901, 0x239: 0x812d, 0x23a: 0x812d, 0x23b: 0x812d,\n\t0x23c: 0x812d, 0x23d: 0x8132, 0x23e: 0x8132, 0x23f: 0x8132,\n\t// Block 0x9, offset 0x240\n\t0x240: 0x49ae, 0x241: 0x49b3, 0x242: 0x9932, 0x243: 0x49b8, 0x244: 0x4a71, 0x245: 0x9936,\n\t0x246: 0x8132, 0x247: 0x812d, 0x248: 0x812d, 0x249: 0x812d, 0x24a: 0x8132, 0x24b: 0x8132,\n\t0x24c: 0x8132, 0x24d: 0x812d, 0x24e: 0x812d, 0x250: 0x8132, 0x251: 0x8132,\n\t0x252: 0x8132, 0x253: 0x812d, 0x254: 0x812d, 0x255: 0x812d, 0x256: 0x812d, 0x257: 0x8132,\n\t0x258: 0x8133, 0x259: 0x812d, 0x25a: 0x812d, 0x25b: 0x8132, 0x25c: 0x8134, 0x25d: 0x8135,\n\t0x25e: 0x8135, 0x25f: 0x8134, 0x260: 0x8135, 0x261: 0x8135, 0x262: 0x8134, 0x263: 0x8132,\n\t0x264: 0x8132, 0x265: 0x8132, 0x266: 0x8132, 0x267: 0x8132, 0x268: 0x8132, 0x269: 0x8132,\n\t0x26a: 0x8132, 0x26b: 0x8132, 0x26c: 0x8132, 0x26d: 0x8132, 0x26e: 0x8132, 0x26f: 0x8132,\n\t0x274: 0x0170,\n\t0x27a: 0x8100,\n\t0x27e: 0x0037,\n\t// Block 0xa, offset 0x280\n\t0x284: 0x8100, 0x285: 0x35a1,\n\t0x286: 0x35e9, 0x287: 0x00ce, 0x288: 0x3607, 0x289: 0x3613, 0x28a: 0x3625,\n\t0x28c: 0x3643, 0x28e: 0x3655, 0x28f: 0x3673, 0x290: 0x3e08, 0x291: 0xa000,\n\t0x295: 0xa000, 0x297: 0xa000,\n\t0x299: 0xa000,\n\t0x29f: 0xa000, 0x2a1: 0xa000,\n\t0x2a5: 0xa000, 0x2a9: 0xa000,\n\t0x2aa: 0x3637, 0x2ab: 0x3667, 0x2ac: 0x47fe, 0x2ad: 0x3697, 0x2ae: 0x4828, 0x2af: 0x36a9,\n\t0x2b0: 0x3e70, 0x2b1: 0xa000, 0x2b5: 0xa000,\n\t0x2b7: 0xa000, 0x2b9: 0xa000,\n\t0x2bf: 0xa000,\n\t// Block 0xb, offset 0x2c0\n\t0x2c0: 0x3721, 0x2c1: 0x372d, 0x2c3: 0x371b,\n\t0x2c6: 0xa000, 0x2c7: 0x3709,\n\t0x2cc: 0x375d, 0x2cd: 0x3745, 0x2ce: 0x376f, 0x2d0: 0xa000,\n\t0x2d3: 0xa000, 0x2d5: 0xa000, 0x2d6: 0xa000, 0x2d7: 0xa000,\n\t0x2d8: 0xa000, 0x2d9: 0x3751, 0x2da: 0xa000,\n\t0x2de: 0xa000, 0x2e3: 0xa000,\n\t0x2e7: 0xa000,\n\t0x2eb: 0xa000, 0x2ed: 0xa000,\n\t0x2f0: 0xa000, 0x2f3: 0xa000, 0x2f5: 0xa000,\n\t0x2f6: 0xa000, 0x2f7: 0xa000, 0x2f8: 0xa000, 0x2f9: 0x37d5, 0x2fa: 0xa000,\n\t0x2fe: 0xa000,\n\t// Block 0xc, offset 0x300\n\t0x301: 0x3733, 0x302: 0x37b7,\n\t0x310: 0x370f, 0x311: 0x3793,\n\t0x312: 0x3715, 0x313: 0x3799, 0x316: 0x3727, 0x317: 0x37ab,\n\t0x318: 0xa000, 0x319: 0xa000, 0x31a: 0x3829, 0x31b: 0x382f, 0x31c: 0x3739, 0x31d: 0x37bd,\n\t0x31e: 0x373f, 0x31f: 0x37c3, 0x322: 0x374b, 0x323: 0x37cf,\n\t0x324: 0x3757, 0x325: 0x37db, 0x326: 0x3763, 0x327: 0x37e7, 0x328: 0xa000, 0x329: 0xa000,\n\t0x32a: 0x3835, 0x32b: 0x383b, 0x32c: 0x378d, 0x32d: 0x3811, 0x32e: 0x3769, 0x32f: 0x37ed,\n\t0x330: 0x3775, 0x331: 0x37f9, 0x332: 0x377b, 0x333: 0x37ff, 0x334: 0x3781, 0x335: 0x3805,\n\t0x338: 0x3787, 0x339: 0x380b,\n\t// Block 0xd, offset 0x340\n\t0x351: 0x812d,\n\t0x352: 0x8132, 0x353: 0x8132, 0x354: 0x8132, 0x355: 0x8132, 0x356: 0x812d, 0x357: 0x8132,\n\t0x358: 0x8132, 0x359: 0x8132, 0x35a: 0x812e, 0x35b: 0x812d, 0x35c: 0x8132, 0x35d: 0x8132,\n\t0x35e: 0x8132, 0x35f: 0x8132, 0x360: 0x8132, 0x361: 0x8132, 0x362: 0x812d, 0x363: 0x812d,\n\t0x364: 0x812d, 0x365: 0x812d, 0x366: 0x812d, 0x367: 0x812d, 0x368: 0x8132, 0x369: 0x8132,\n\t0x36a: 0x812d, 0x36b: 0x8132, 0x36c: 0x8132, 0x36d: 0x812e, 0x36e: 0x8131, 0x36f: 0x8132,\n\t0x370: 0x8105, 0x371: 0x8106, 0x372: 0x8107, 0x373: 0x8108, 0x374: 0x8109, 0x375: 0x810a,\n\t0x376: 0x810b, 0x377: 0x810c, 0x378: 0x810d, 0x379: 0x810e, 0x37a: 0x810e, 0x37b: 0x810f,\n\t0x37c: 0x8110, 0x37d: 0x8111, 0x37f: 0x8112,\n\t// Block 0xe, offset 0x380\n\t0x388: 0xa000, 0x38a: 0xa000, 0x38b: 0x8116,\n\t0x38c: 0x8117, 0x38d: 0x8118, 0x38e: 0x8119, 0x38f: 0x811a, 0x390: 0x811b, 0x391: 0x811c,\n\t0x392: 0x811d, 0x393: 0x9932, 0x394: 0x9932, 0x395: 0x992d, 0x396: 0x812d, 0x397: 0x8132,\n\t0x398: 0x8132, 0x399: 0x8132, 0x39a: 0x8132, 0x39b: 0x8132, 0x39c: 0x812d, 0x39d: 0x8132,\n\t0x39e: 0x8132, 0x39f: 0x812d,\n\t0x3b0: 0x811e,\n\t// Block 0xf, offset 0x3c0\n\t0x3c5: 0xa000,\n\t0x3c6: 0x2d26, 0x3c7: 0xa000, 0x3c8: 0x2d2e, 0x3c9: 0xa000, 0x3ca: 0x2d36, 0x3cb: 0xa000,\n\t0x3cc: 0x2d3e, 0x3cd: 0xa000, 0x3ce: 0x2d46, 0x3d1: 0xa000,\n\t0x3d2: 0x2d4e,\n\t0x3f4: 0x8102, 0x3f5: 0x9900,\n\t0x3fa: 0xa000, 0x3fb: 0x2d56,\n\t0x3fc: 0xa000, 0x3fd: 0x2d5e, 0x3fe: 0xa000, 0x3ff: 0xa000,\n\t// Block 0x10, offset 0x400\n\t0x400: 0x2f97, 0x401: 0x32a3, 0x402: 0x2fa1, 0x403: 0x32ad, 0x404: 0x2fa6, 0x405: 0x32b2,\n\t0x406: 0x2fab, 0x407: 0x32b7, 0x408: 0x38cc, 0x409: 0x3a5b, 0x40a: 0x2fc4, 0x40b: 0x32d0,\n\t0x40c: 0x2fce, 0x40d: 0x32da, 0x40e: 0x2fdd, 0x40f: 0x32e9, 0x410: 0x2fd3, 0x411: 0x32df,\n\t0x412: 0x2fd8, 0x413: 0x32e4, 0x414: 0x38ef, 0x415: 0x3a7e, 0x416: 0x38f6, 0x417: 0x3a85,\n\t0x418: 0x3019, 0x419: 0x3325, 0x41a: 0x301e, 0x41b: 0x332a, 0x41c: 0x3904, 0x41d: 0x3a93,\n\t0x41e: 0x3023, 0x41f: 0x332f, 0x420: 0x3032, 0x421: 0x333e, 0x422: 0x3050, 0x423: 0x335c,\n\t0x424: 0x305f, 0x425: 0x336b, 0x426: 0x3055, 0x427: 0x3361, 0x428: 0x3064, 0x429: 0x3370,\n\t0x42a: 0x3069, 0x42b: 0x3375, 0x42c: 0x30af, 0x42d: 0x33bb, 0x42e: 0x390b, 0x42f: 0x3a9a,\n\t0x430: 0x30b9, 0x431: 0x33ca, 0x432: 0x30c3, 0x433: 0x33d4, 0x434: 0x30cd, 0x435: 0x33de,\n\t0x436: 0x46c4, 0x437: 0x4755, 0x438: 0x3912, 0x439: 0x3aa1, 0x43a: 0x30e6, 0x43b: 0x33f7,\n\t0x43c: 0x30e1, 0x43d: 0x33f2, 0x43e: 0x30eb, 0x43f: 0x33fc,\n\t// Block 0x11, offset 0x440\n\t0x440: 0x30f0, 0x441: 0x3401, 0x442: 0x30f5, 0x443: 0x3406, 0x444: 0x3109, 0x445: 0x341a,\n\t0x446: 0x3113, 0x447: 0x3424, 0x448: 0x3122, 0x449: 0x3433, 0x44a: 0x311d, 0x44b: 0x342e,\n\t0x44c: 0x3935, 0x44d: 0x3ac4, 0x44e: 0x3943, 0x44f: 0x3ad2, 0x450: 0x394a, 0x451: 0x3ad9,\n\t0x452: 0x3951, 0x453: 0x3ae0, 0x454: 0x314f, 0x455: 0x3460, 0x456: 0x3154, 0x457: 0x3465,\n\t0x458: 0x315e, 0x459: 0x346f, 0x45a: 0x46f1, 0x45b: 0x4782, 0x45c: 0x3997, 0x45d: 0x3b26,\n\t0x45e: 0x3177, 0x45f: 0x3488, 0x460: 0x3181, 0x461: 0x3492, 0x462: 0x4700, 0x463: 0x4791,\n\t0x464: 0x399e, 0x465: 0x3b2d, 0x466: 0x39a5, 0x467: 0x3b34, 0x468: 0x39ac, 0x469: 0x3b3b,\n\t0x46a: 0x3190, 0x46b: 0x34a1, 0x46c: 0x319a, 0x46d: 0x34b0, 0x46e: 0x31ae, 0x46f: 0x34c4,\n\t0x470: 0x31a9, 0x471: 0x34bf, 0x472: 0x31ea, 0x473: 0x3500, 0x474: 0x31f9, 0x475: 0x350f,\n\t0x476: 0x31f4, 0x477: 0x350a, 0x478: 0x39b3, 0x479: 0x3b42, 0x47a: 0x39ba, 0x47b: 0x3b49,\n\t0x47c: 0x31fe, 0x47d: 0x3514, 0x47e: 0x3203, 0x47f: 0x3519,\n\t// Block 0x12, offset 0x480\n\t0x480: 0x3208, 0x481: 0x351e, 0x482: 0x320d, 0x483: 0x3523, 0x484: 0x321c, 0x485: 0x3532,\n\t0x486: 0x3217, 0x487: 0x352d, 0x488: 0x3221, 0x489: 0x353c, 0x48a: 0x3226, 0x48b: 0x3541,\n\t0x48c: 0x322b, 0x48d: 0x3546, 0x48e: 0x3249, 0x48f: 0x3564, 0x490: 0x3262, 0x491: 0x3582,\n\t0x492: 0x3271, 0x493: 0x3591, 0x494: 0x3276, 0x495: 0x3596, 0x496: 0x337a, 0x497: 0x34a6,\n\t0x498: 0x3537, 0x499: 0x3573, 0x49b: 0x35d1,\n\t0x4a0: 0x46a1, 0x4a1: 0x4732, 0x4a2: 0x2f83, 0x4a3: 0x328f,\n\t0x4a4: 0x3878, 0x4a5: 0x3a07, 0x4a6: 0x3871, 0x4a7: 0x3a00, 0x4a8: 0x3886, 0x4a9: 0x3a15,\n\t0x4aa: 0x387f, 0x4ab: 0x3a0e, 0x4ac: 0x38be, 0x4ad: 0x3a4d, 0x4ae: 0x3894, 0x4af: 0x3a23,\n\t0x4b0: 0x388d, 0x4b1: 0x3a1c, 0x4b2: 0x38a2, 0x4b3: 0x3a31, 0x4b4: 0x389b, 0x4b5: 0x3a2a,\n\t0x4b6: 0x38c5, 0x4b7: 0x3a54, 0x4b8: 0x46b5, 0x4b9: 0x4746, 0x4ba: 0x3000, 0x4bb: 0x330c,\n\t0x4bc: 0x2fec, 0x4bd: 0x32f8, 0x4be: 0x38da, 0x4bf: 0x3a69,\n\t// Block 0x13, offset 0x4c0\n\t0x4c0: 0x38d3, 0x4c1: 0x3a62, 0x4c2: 0x38e8, 0x4c3: 0x3a77, 0x4c4: 0x38e1, 0x4c5: 0x3a70,\n\t0x4c6: 0x38fd, 0x4c7: 0x3a8c, 0x4c8: 0x3091, 0x4c9: 0x339d, 0x4ca: 0x30a5, 0x4cb: 0x33b1,\n\t0x4cc: 0x46e7, 0x4cd: 0x4778, 0x4ce: 0x3136, 0x4cf: 0x3447, 0x4d0: 0x3920, 0x4d1: 0x3aaf,\n\t0x4d2: 0x3919, 0x4d3: 0x3aa8, 0x4d4: 0x392e, 0x4d5: 0x3abd, 0x4d6: 0x3927, 0x4d7: 0x3ab6,\n\t0x4d8: 0x3989, 0x4d9: 0x3b18, 0x4da: 0x396d, 0x4db: 0x3afc, 0x4dc: 0x3966, 0x4dd: 0x3af5,\n\t0x4de: 0x397b, 0x4df: 0x3b0a, 0x4e0: 0x3974, 0x4e1: 0x3b03, 0x4e2: 0x3982, 0x4e3: 0x3b11,\n\t0x4e4: 0x31e5, 0x4e5: 0x34fb, 0x4e6: 0x31c7, 0x4e7: 0x34dd, 0x4e8: 0x39e4, 0x4e9: 0x3b73,\n\t0x4ea: 0x39dd, 0x4eb: 0x3b6c, 0x4ec: 0x39f2, 0x4ed: 0x3b81, 0x4ee: 0x39eb, 0x4ef: 0x3b7a,\n\t0x4f0: 0x39f9, 0x4f1: 0x3b88, 0x4f2: 0x3230, 0x4f3: 0x354b, 0x4f4: 0x3258, 0x4f5: 0x3578,\n\t0x4f6: 0x3253, 0x4f7: 0x356e, 0x4f8: 0x323f, 0x4f9: 0x355a,\n\t// Block 0x14, offset 0x500\n\t0x500: 0x4804, 0x501: 0x480a, 0x502: 0x491e, 0x503: 0x4936, 0x504: 0x4926, 0x505: 0x493e,\n\t0x506: 0x492e, 0x507: 0x4946, 0x508: 0x47aa, 0x509: 0x47b0, 0x50a: 0x488e, 0x50b: 0x48a6,\n\t0x50c: 0x4896, 0x50d: 0x48ae, 0x50e: 0x489e, 0x50f: 0x48b6, 0x510: 0x4816, 0x511: 0x481c,\n\t0x512: 0x3db8, 0x513: 0x3dc8, 0x514: 0x3dc0, 0x515: 0x3dd0,\n\t0x518: 0x47b6, 0x519: 0x47bc, 0x51a: 0x3ce8, 0x51b: 0x3cf8, 0x51c: 0x3cf0, 0x51d: 0x3d00,\n\t0x520: 0x482e, 0x521: 0x4834, 0x522: 0x494e, 0x523: 0x4966,\n\t0x524: 0x4956, 0x525: 0x496e, 0x526: 0x495e, 0x527: 0x4976, 0x528: 0x47c2, 0x529: 0x47c8,\n\t0x52a: 0x48be, 0x52b: 0x48d6, 0x52c: 0x48c6, 0x52d: 0x48de, 0x52e: 0x48ce, 0x52f: 0x48e6,\n\t0x530: 0x4846, 0x531: 0x484c, 0x532: 0x3e18, 0x533: 0x3e30, 0x534: 0x3e20, 0x535: 0x3e38,\n\t0x536: 0x3e28, 0x537: 0x3e40, 0x538: 0x47ce, 0x539: 0x47d4, 0x53a: 0x3d18, 0x53b: 0x3d30,\n\t0x53c: 0x3d20, 0x53d: 0x3d38, 0x53e: 0x3d28, 0x53f: 0x3d40,\n\t// Block 0x15, offset 0x540\n\t0x540: 0x4852, 0x541: 0x4858, 0x542: 0x3e48, 0x543: 0x3e58, 0x544: 0x3e50, 0x545: 0x3e60,\n\t0x548: 0x47da, 0x549: 0x47e0, 0x54a: 0x3d48, 0x54b: 0x3d58,\n\t0x54c: 0x3d50, 0x54d: 0x3d60, 0x550: 0x4864, 0x551: 0x486a,\n\t0x552: 0x3e80, 0x553: 0x3e98, 0x554: 0x3e88, 0x555: 0x3ea0, 0x556: 0x3e90, 0x557: 0x3ea8,\n\t0x559: 0x47e6, 0x55b: 0x3d68, 0x55d: 0x3d70,\n\t0x55f: 0x3d78, 0x560: 0x487c, 0x561: 0x4882, 0x562: 0x497e, 0x563: 0x4996,\n\t0x564: 0x4986, 0x565: 0x499e, 0x566: 0x498e, 0x567: 0x49a6, 0x568: 0x47ec, 0x569: 0x47f2,\n\t0x56a: 0x48ee, 0x56b: 0x4906, 0x56c: 0x48f6, 0x56d: 0x490e, 0x56e: 0x48fe, 0x56f: 0x4916,\n\t0x570: 0x47f8, 0x571: 0x431e, 0x572: 0x3691, 0x573: 0x4324, 0x574: 0x4822, 0x575: 0x432a,\n\t0x576: 0x36a3, 0x577: 0x4330, 0x578: 0x36c1, 0x579: 0x4336, 0x57a: 0x36d9, 0x57b: 0x433c,\n\t0x57c: 0x4870, 0x57d: 0x4342,\n\t// Block 0x16, offset 0x580\n\t0x580: 0x3da0, 0x581: 0x3da8, 0x582: 0x4184, 0x583: 0x41a2, 0x584: 0x418e, 0x585: 0x41ac,\n\t0x586: 0x4198, 0x587: 0x41b6, 0x588: 0x3cd8, 0x589: 0x3ce0, 0x58a: 0x40d0, 0x58b: 0x40ee,\n\t0x58c: 0x40da, 0x58d: 0x40f8, 0x58e: 0x40e4, 0x58f: 0x4102, 0x590: 0x3de8, 0x591: 0x3df0,\n\t0x592: 0x41c0, 0x593: 0x41de, 0x594: 0x41ca, 0x595: 0x41e8, 0x596: 0x41d4, 0x597: 0x41f2,\n\t0x598: 0x3d08, 0x599: 0x3d10, 0x59a: 0x410c, 0x59b: 0x412a, 0x59c: 0x4116, 0x59d: 0x4134,\n\t0x59e: 0x4120, 0x59f: 0x413e, 0x5a0: 0x3ec0, 0x5a1: 0x3ec8, 0x5a2: 0x41fc, 0x5a3: 0x421a,\n\t0x5a4: 0x4206, 0x5a5: 0x4224, 0x5a6: 0x4210, 0x5a7: 0x422e, 0x5a8: 0x3d80, 0x5a9: 0x3d88,\n\t0x5aa: 0x4148, 0x5ab: 0x4166, 0x5ac: 0x4152, 0x5ad: 0x4170, 0x5ae: 0x415c, 0x5af: 0x417a,\n\t0x5b0: 0x3685, 0x5b1: 0x367f, 0x5b2: 0x3d90, 0x5b3: 0x368b, 0x5b4: 0x3d98,\n\t0x5b6: 0x4810, 0x5b7: 0x3db0, 0x5b8: 0x35f5, 0x5b9: 0x35ef, 0x5ba: 0x35e3, 0x5bb: 0x42ee,\n\t0x5bc: 0x35fb, 0x5bd: 0x8100, 0x5be: 0x01d3, 0x5bf: 0xa100,\n\t// Block 0x17, offset 0x5c0\n\t0x5c0: 0x8100, 0x5c1: 0x35a7, 0x5c2: 0x3dd8, 0x5c3: 0x369d, 0x5c4: 0x3de0,\n\t0x5c6: 0x483a, 0x5c7: 0x3df8, 0x5c8: 0x3601, 0x5c9: 0x42f4, 0x5ca: 0x360d, 0x5cb: 0x42fa,\n\t0x5cc: 0x3619, 0x5cd: 0x3b8f, 0x5ce: 0x3b96, 0x5cf: 0x3b9d, 0x5d0: 0x36b5, 0x5d1: 0x36af,\n\t0x5d2: 0x3e00, 0x5d3: 0x44e4, 0x5d6: 0x36bb, 0x5d7: 0x3e10,\n\t0x5d8: 0x3631, 0x5d9: 0x362b, 0x5da: 0x361f, 0x5db: 0x4300, 0x5dd: 0x3ba4,\n\t0x5de: 0x3bab, 0x5df: 0x3bb2, 0x5e0: 0x36eb, 0x5e1: 0x36e5, 0x5e2: 0x3e68, 0x5e3: 0x44ec,\n\t0x5e4: 0x36cd, 0x5e5: 0x36d3, 0x5e6: 0x36f1, 0x5e7: 0x3e78, 0x5e8: 0x3661, 0x5e9: 0x365b,\n\t0x5ea: 0x364f, 0x5eb: 0x430c, 0x5ec: 0x3649, 0x5ed: 0x359b, 0x5ee: 0x42e8, 0x5ef: 0x0081,\n\t0x5f2: 0x3eb0, 0x5f3: 0x36f7, 0x5f4: 0x3eb8,\n\t0x5f6: 0x4888, 0x5f7: 0x3ed0, 0x5f8: 0x363d, 0x5f9: 0x4306, 0x5fa: 0x366d, 0x5fb: 0x4318,\n\t0x5fc: 0x3679, 0x5fd: 0x4256, 0x5fe: 0xa100,\n\t// Block 0x18, offset 0x600\n\t0x601: 0x3c06, 0x603: 0xa000, 0x604: 0x3c0d, 0x605: 0xa000,\n\t0x607: 0x3c14, 0x608: 0xa000, 0x609: 0x3c1b,\n\t0x60d: 0xa000,\n\t0x620: 0x2f65, 0x621: 0xa000, 0x622: 0x3c29,\n\t0x624: 0xa000, 0x625: 0xa000,\n\t0x62d: 0x3c22, 0x62e: 0x2f60, 0x62f: 0x2f6a,\n\t0x630: 0x3c30, 0x631: 0x3c37, 0x632: 0xa000, 0x633: 0xa000, 0x634: 0x3c3e, 0x635: 0x3c45,\n\t0x636: 0xa000, 0x637: 0xa000, 0x638: 0x3c4c, 0x639: 0x3c53, 0x63a: 0xa000, 0x63b: 0xa000,\n\t0x63c: 0xa000, 0x63d: 0xa000,\n\t// Block 0x19, offset 0x640\n\t0x640: 0x3c5a, 0x641: 0x3c61, 0x642: 0xa000, 0x643: 0xa000, 0x644: 0x3c76, 0x645: 0x3c7d,\n\t0x646: 0xa000, 0x647: 0xa000, 0x648: 0x3c84, 0x649: 0x3c8b,\n\t0x651: 0xa000,\n\t0x652: 0xa000,\n\t0x662: 0xa000,\n\t0x668: 0xa000, 0x669: 0xa000,\n\t0x66b: 0xa000, 0x66c: 0x3ca0, 0x66d: 0x3ca7, 0x66e: 0x3cae, 0x66f: 0x3cb5,\n\t0x672: 0xa000, 0x673: 0xa000, 0x674: 0xa000, 0x675: 0xa000,\n\t// Block 0x1a, offset 0x680\n\t0x686: 0xa000, 0x68b: 0xa000,\n\t0x68c: 0x3f08, 0x68d: 0xa000, 0x68e: 0x3f10, 0x68f: 0xa000, 0x690: 0x3f18, 0x691: 0xa000,\n\t0x692: 0x3f20, 0x693: 0xa000, 0x694: 0x3f28, 0x695: 0xa000, 0x696: 0x3f30, 0x697: 0xa000,\n\t0x698: 0x3f38, 0x699: 0xa000, 0x69a: 0x3f40, 0x69b: 0xa000, 0x69c: 0x3f48, 0x69d: 0xa000,\n\t0x69e: 0x3f50, 0x69f: 0xa000, 0x6a0: 0x3f58, 0x6a1: 0xa000, 0x6a2: 0x3f60,\n\t0x6a4: 0xa000, 0x6a5: 0x3f68, 0x6a6: 0xa000, 0x6a7: 0x3f70, 0x6a8: 0xa000, 0x6a9: 0x3f78,\n\t0x6af: 0xa000,\n\t0x6b0: 0x3f80, 0x6b1: 0x3f88, 0x6b2: 0xa000, 0x6b3: 0x3f90, 0x6b4: 0x3f98, 0x6b5: 0xa000,\n\t0x6b6: 0x3fa0, 0x6b7: 0x3fa8, 0x6b8: 0xa000, 0x6b9: 0x3fb0, 0x6ba: 0x3fb8, 0x6bb: 0xa000,\n\t0x6bc: 0x3fc0, 0x6bd: 0x3fc8,\n\t// Block 0x1b, offset 0x6c0\n\t0x6d4: 0x3f00,\n\t0x6d9: 0x9903, 0x6da: 0x9903, 0x6db: 0x8100, 0x6dc: 0x8100, 0x6dd: 0xa000,\n\t0x6de: 0x3fd0,\n\t0x6e6: 0xa000,\n\t0x6eb: 0xa000, 0x6ec: 0x3fe0, 0x6ed: 0xa000, 0x6ee: 0x3fe8, 0x6ef: 0xa000,\n\t0x6f0: 0x3ff0, 0x6f1: 0xa000, 0x6f2: 0x3ff8, 0x6f3: 0xa000, 0x6f4: 0x4000, 0x6f5: 0xa000,\n\t0x6f6: 0x4008, 0x6f7: 0xa000, 0x6f8: 0x4010, 0x6f9: 0xa000, 0x6fa: 0x4018, 0x6fb: 0xa000,\n\t0x6fc: 0x4020, 0x6fd: 0xa000, 0x6fe: 0x4028, 0x6ff: 0xa000,\n\t// Block 0x1c, offset 0x700\n\t0x700: 0x4030, 0x701: 0xa000, 0x702: 0x4038, 0x704: 0xa000, 0x705: 0x4040,\n\t0x706: 0xa000, 0x707: 0x4048, 0x708: 0xa000, 0x709: 0x4050,\n\t0x70f: 0xa000, 0x710: 0x4058, 0x711: 0x4060,\n\t0x712: 0xa000, 0x713: 0x4068, 0x714: 0x4070, 0x715: 0xa000, 0x716: 0x4078, 0x717: 0x4080,\n\t0x718: 0xa000, 0x719: 0x4088, 0x71a: 0x4090, 0x71b: 0xa000, 0x71c: 0x4098, 0x71d: 0x40a0,\n\t0x72f: 0xa000,\n\t0x730: 0xa000, 0x731: 0xa000, 0x732: 0xa000, 0x734: 0x3fd8,\n\t0x737: 0x40a8, 0x738: 0x40b0, 0x739: 0x40b8, 0x73a: 0x40c0,\n\t0x73d: 0xa000, 0x73e: 0x40c8,\n\t// Block 0x1d, offset 0x740\n\t0x740: 0x1377, 0x741: 0x0cfb, 0x742: 0x13d3, 0x743: 0x139f, 0x744: 0x0e57, 0x745: 0x06eb,\n\t0x746: 0x08df, 0x747: 0x162b, 0x748: 0x162b, 0x749: 0x0a0b, 0x74a: 0x145f, 0x74b: 0x0943,\n\t0x74c: 0x0a07, 0x74d: 0x0bef, 0x74e: 0x0fcf, 0x74f: 0x115f, 0x750: 0x1297, 0x751: 0x12d3,\n\t0x752: 0x1307, 0x753: 0x141b, 0x754: 0x0d73, 0x755: 0x0dff, 0x756: 0x0eab, 0x757: 0x0f43,\n\t0x758: 0x125f, 0x759: 0x1447, 0x75a: 0x1573, 0x75b: 0x070f, 0x75c: 0x08b3, 0x75d: 0x0d87,\n\t0x75e: 0x0ecf, 0x75f: 0x1293, 0x760: 0x15c3, 0x761: 0x0ab3, 0x762: 0x0e77, 0x763: 0x1283,\n\t0x764: 0x1317, 0x765: 0x0c23, 0x766: 0x11bb, 0x767: 0x12df, 0x768: 0x0b1f, 0x769: 0x0d0f,\n\t0x76a: 0x0e17, 0x76b: 0x0f1b, 0x76c: 0x1427, 0x76d: 0x074f, 0x76e: 0x07e7, 0x76f: 0x0853,\n\t0x770: 0x0c8b, 0x771: 0x0d7f, 0x772: 0x0ecb, 0x773: 0x0fef, 0x774: 0x1177, 0x775: 0x128b,\n\t0x776: 0x12a3, 0x777: 0x13c7, 0x778: 0x14ef, 0x779: 0x15a3, 0x77a: 0x15bf, 0x77b: 0x102b,\n\t0x77c: 0x106b, 0x77d: 0x1123, 0x77e: 0x1243, 0x77f: 0x147b,\n\t// Block 0x1e, offset 0x780\n\t0x780: 0x15cb, 0x781: 0x134b, 0x782: 0x09c7, 0x783: 0x0b3b, 0x784: 0x10db, 0x785: 0x119b,\n\t0x786: 0x0eff, 0x787: 0x1033, 0x788: 0x1397, 0x789: 0x14e7, 0x78a: 0x09c3, 0x78b: 0x0a8f,\n\t0x78c: 0x0d77, 0x78d: 0x0e2b, 0x78e: 0x0e5f, 0x78f: 0x1113, 0x790: 0x113b, 0x791: 0x14a7,\n\t0x792: 0x084f, 0x793: 0x11a7, 0x794: 0x07f3, 0x795: 0x07ef, 0x796: 0x1097, 0x797: 0x1127,\n\t0x798: 0x125b, 0x799: 0x14af, 0x79a: 0x1367, 0x79b: 0x0c27, 0x79c: 0x0d73, 0x79d: 0x1357,\n\t0x79e: 0x06f7, 0x79f: 0x0a63, 0x7a0: 0x0b93, 0x7a1: 0x0f2f, 0x7a2: 0x0faf, 0x7a3: 0x0873,\n\t0x7a4: 0x103b, 0x7a5: 0x075f, 0x7a6: 0x0b77, 0x7a7: 0x06d7, 0x7a8: 0x0deb, 0x7a9: 0x0ca3,\n\t0x7aa: 0x110f, 0x7ab: 0x08c7, 0x7ac: 0x09b3, 0x7ad: 0x0ffb, 0x7ae: 0x1263, 0x7af: 0x133b,\n\t0x7b0: 0x0db7, 0x7b1: 0x13f7, 0x7b2: 0x0de3, 0x7b3: 0x0c37, 0x7b4: 0x121b, 0x7b5: 0x0c57,\n\t0x7b6: 0x0fab, 0x7b7: 0x072b, 0x7b8: 0x07a7, 0x7b9: 0x07eb, 0x7ba: 0x0d53, 0x7bb: 0x10fb,\n\t0x7bc: 0x11f3, 0x7bd: 0x1347, 0x7be: 0x145b, 0x7bf: 0x085b,\n\t// Block 0x1f, offset 0x7c0\n\t0x7c0: 0x090f, 0x7c1: 0x0a17, 0x7c2: 0x0b2f, 0x7c3: 0x0cbf, 0x7c4: 0x0e7b, 0x7c5: 0x103f,\n\t0x7c6: 0x1497, 0x7c7: 0x157b, 0x7c8: 0x15cf, 0x7c9: 0x15e7, 0x7ca: 0x0837, 0x7cb: 0x0cf3,\n\t0x7cc: 0x0da3, 0x7cd: 0x13eb, 0x7ce: 0x0afb, 0x7cf: 0x0bd7, 0x7d0: 0x0bf3, 0x7d1: 0x0c83,\n\t0x7d2: 0x0e6b, 0x7d3: 0x0eb7, 0x7d4: 0x0f67, 0x7d5: 0x108b, 0x7d6: 0x112f, 0x7d7: 0x1193,\n\t0x7d8: 0x13db, 0x7d9: 0x126b, 0x7da: 0x1403, 0x7db: 0x147f, 0x7dc: 0x080f, 0x7dd: 0x083b,\n\t0x7de: 0x0923, 0x7df: 0x0ea7, 0x7e0: 0x12f3, 0x7e1: 0x133b, 0x7e2: 0x0b1b, 0x7e3: 0x0b8b,\n\t0x7e4: 0x0c4f, 0x7e5: 0x0daf, 0x7e6: 0x10d7, 0x7e7: 0x0f23, 0x7e8: 0x073b, 0x7e9: 0x097f,\n\t0x7ea: 0x0a63, 0x7eb: 0x0ac7, 0x7ec: 0x0b97, 0x7ed: 0x0f3f, 0x7ee: 0x0f5b, 0x7ef: 0x116b,\n\t0x7f0: 0x118b, 0x7f1: 0x1463, 0x7f2: 0x14e3, 0x7f3: 0x14f3, 0x7f4: 0x152f, 0x7f5: 0x0753,\n\t0x7f6: 0x107f, 0x7f7: 0x144f, 0x7f8: 0x14cb, 0x7f9: 0x0baf, 0x7fa: 0x0717, 0x7fb: 0x0777,\n\t0x7fc: 0x0a67, 0x7fd: 0x0a87, 0x7fe: 0x0caf, 0x7ff: 0x0d73,\n\t// Block 0x20, offset 0x800\n\t0x800: 0x0ec3, 0x801: 0x0fcb, 0x802: 0x1277, 0x803: 0x1417, 0x804: 0x1623, 0x805: 0x0ce3,\n\t0x806: 0x14a3, 0x807: 0x0833, 0x808: 0x0d2f, 0x809: 0x0d3b, 0x80a: 0x0e0f, 0x80b: 0x0e47,\n\t0x80c: 0x0f4b, 0x80d: 0x0fa7, 0x80e: 0x1027, 0x80f: 0x110b, 0x810: 0x153b, 0x811: 0x07af,\n\t0x812: 0x0c03, 0x813: 0x14b3, 0x814: 0x0767, 0x815: 0x0aab, 0x816: 0x0e2f, 0x817: 0x13df,\n\t0x818: 0x0b67, 0x819: 0x0bb7, 0x81a: 0x0d43, 0x81b: 0x0f2f, 0x81c: 0x14bb, 0x81d: 0x0817,\n\t0x81e: 0x08ff, 0x81f: 0x0a97, 0x820: 0x0cd3, 0x821: 0x0d1f, 0x822: 0x0d5f, 0x823: 0x0df3,\n\t0x824: 0x0f47, 0x825: 0x0fbb, 0x826: 0x1157, 0x827: 0x12f7, 0x828: 0x1303, 0x829: 0x1457,\n\t0x82a: 0x14d7, 0x82b: 0x0883, 0x82c: 0x0e4b, 0x82d: 0x0903, 0x82e: 0x0ec7, 0x82f: 0x0f6b,\n\t0x830: 0x1287, 0x831: 0x14bf, 0x832: 0x15ab, 0x833: 0x15d3, 0x834: 0x0d37, 0x835: 0x0e27,\n\t0x836: 0x11c3, 0x837: 0x10b7, 0x838: 0x10c3, 0x839: 0x10e7, 0x83a: 0x0f17, 0x83b: 0x0e9f,\n\t0x83c: 0x1363, 0x83d: 0x0733, 0x83e: 0x122b, 0x83f: 0x081b,\n\t// Block 0x21, offset 0x840\n\t0x840: 0x080b, 0x841: 0x0b0b, 0x842: 0x0c2b, 0x843: 0x10f3, 0x844: 0x0a53, 0x845: 0x0e03,\n\t0x846: 0x0cef, 0x847: 0x13e7, 0x848: 0x12e7, 0x849: 0x14ab, 0x84a: 0x1323, 0x84b: 0x0b27,\n\t0x84c: 0x0787, 0x84d: 0x095b, 0x850: 0x09af,\n\t0x852: 0x0cdf, 0x855: 0x07f7, 0x856: 0x0f1f, 0x857: 0x0fe3,\n\t0x858: 0x1047, 0x859: 0x1063, 0x85a: 0x1067, 0x85b: 0x107b, 0x85c: 0x14fb, 0x85d: 0x10eb,\n\t0x85e: 0x116f, 0x860: 0x128f, 0x862: 0x1353,\n\t0x865: 0x1407, 0x866: 0x1433,\n\t0x86a: 0x154f, 0x86b: 0x1553, 0x86c: 0x1557, 0x86d: 0x15bb, 0x86e: 0x142b, 0x86f: 0x14c7,\n\t0x870: 0x0757, 0x871: 0x077b, 0x872: 0x078f, 0x873: 0x084b, 0x874: 0x0857, 0x875: 0x0897,\n\t0x876: 0x094b, 0x877: 0x0967, 0x878: 0x096f, 0x879: 0x09ab, 0x87a: 0x09b7, 0x87b: 0x0a93,\n\t0x87c: 0x0a9b, 0x87d: 0x0ba3, 0x87e: 0x0bcb, 0x87f: 0x0bd3,\n\t// Block 0x22, offset 0x880\n\t0x880: 0x0beb, 0x881: 0x0c97, 0x882: 0x0cc7, 0x883: 0x0ce7, 0x884: 0x0d57, 0x885: 0x0e1b,\n\t0x886: 0x0e37, 0x887: 0x0e67, 0x888: 0x0ebb, 0x889: 0x0edb, 0x88a: 0x0f4f, 0x88b: 0x102f,\n\t0x88c: 0x104b, 0x88d: 0x1053, 0x88e: 0x104f, 0x88f: 0x1057, 0x890: 0x105b, 0x891: 0x105f,\n\t0x892: 0x1073, 0x893: 0x1077, 0x894: 0x109b, 0x895: 0x10af, 0x896: 0x10cb, 0x897: 0x112f,\n\t0x898: 0x1137, 0x899: 0x113f, 0x89a: 0x1153, 0x89b: 0x117b, 0x89c: 0x11cb, 0x89d: 0x11ff,\n\t0x89e: 0x11ff, 0x89f: 0x1267, 0x8a0: 0x130f, 0x8a1: 0x1327, 0x8a2: 0x135b, 0x8a3: 0x135f,\n\t0x8a4: 0x13a3, 0x8a5: 0x13a7, 0x8a6: 0x13ff, 0x8a7: 0x1407, 0x8a8: 0x14db, 0x8a9: 0x151f,\n\t0x8aa: 0x1537, 0x8ab: 0x0b9b, 0x8ac: 0x171e, 0x8ad: 0x11e3,\n\t0x8b0: 0x06df, 0x8b1: 0x07e3, 0x8b2: 0x07a3, 0x8b3: 0x074b, 0x8b4: 0x078b, 0x8b5: 0x07b7,\n\t0x8b6: 0x0847, 0x8b7: 0x0863, 0x8b8: 0x094b, 0x8b9: 0x0937, 0x8ba: 0x0947, 0x8bb: 0x0963,\n\t0x8bc: 0x09af, 0x8bd: 0x09bf, 0x8be: 0x0a03, 0x8bf: 0x0a0f,\n\t// Block 0x23, offset 0x8c0\n\t0x8c0: 0x0a2b, 0x8c1: 0x0a3b, 0x8c2: 0x0b23, 0x8c3: 0x0b2b, 0x8c4: 0x0b5b, 0x8c5: 0x0b7b,\n\t0x8c6: 0x0bab, 0x8c7: 0x0bc3, 0x8c8: 0x0bb3, 0x8c9: 0x0bd3, 0x8ca: 0x0bc7, 0x8cb: 0x0beb,\n\t0x8cc: 0x0c07, 0x8cd: 0x0c5f, 0x8ce: 0x0c6b, 0x8cf: 0x0c73, 0x8d0: 0x0c9b, 0x8d1: 0x0cdf,\n\t0x8d2: 0x0d0f, 0x8d3: 0x0d13, 0x8d4: 0x0d27, 0x8d5: 0x0da7, 0x8d6: 0x0db7, 0x8d7: 0x0e0f,\n\t0x8d8: 0x0e5b, 0x8d9: 0x0e53, 0x8da: 0x0e67, 0x8db: 0x0e83, 0x8dc: 0x0ebb, 0x8dd: 0x1013,\n\t0x8de: 0x0edf, 0x8df: 0x0f13, 0x8e0: 0x0f1f, 0x8e1: 0x0f5f, 0x8e2: 0x0f7b, 0x8e3: 0x0f9f,\n\t0x8e4: 0x0fc3, 0x8e5: 0x0fc7, 0x8e6: 0x0fe3, 0x8e7: 0x0fe7, 0x8e8: 0x0ff7, 0x8e9: 0x100b,\n\t0x8ea: 0x1007, 0x8eb: 0x1037, 0x8ec: 0x10b3, 0x8ed: 0x10cb, 0x8ee: 0x10e3, 0x8ef: 0x111b,\n\t0x8f0: 0x112f, 0x8f1: 0x114b, 0x8f2: 0x117b, 0x8f3: 0x122f, 0x8f4: 0x1257, 0x8f5: 0x12cb,\n\t0x8f6: 0x1313, 0x8f7: 0x131f, 0x8f8: 0x1327, 0x8f9: 0x133f, 0x8fa: 0x1353, 0x8fb: 0x1343,\n\t0x8fc: 0x135b, 0x8fd: 0x1357, 0x8fe: 0x134f, 0x8ff: 0x135f,\n\t// Block 0x24, offset 0x900\n\t0x900: 0x136b, 0x901: 0x13a7, 0x902: 0x13e3, 0x903: 0x1413, 0x904: 0x144b, 0x905: 0x146b,\n\t0x906: 0x14b7, 0x907: 0x14db, 0x908: 0x14fb, 0x909: 0x150f, 0x90a: 0x151f, 0x90b: 0x152b,\n\t0x90c: 0x1537, 0x90d: 0x158b, 0x90e: 0x162b, 0x90f: 0x16b5, 0x910: 0x16b0, 0x911: 0x16e2,\n\t0x912: 0x0607, 0x913: 0x062f, 0x914: 0x0633, 0x915: 0x1764, 0x916: 0x1791, 0x917: 0x1809,\n\t0x918: 0x1617, 0x919: 0x1627,\n\t// Block 0x25, offset 0x940\n\t0x940: 0x06fb, 0x941: 0x06f3, 0x942: 0x0703, 0x943: 0x1647, 0x944: 0x0747, 0x945: 0x0757,\n\t0x946: 0x075b, 0x947: 0x0763, 0x948: 0x076b, 0x949: 0x076f, 0x94a: 0x077b, 0x94b: 0x0773,\n\t0x94c: 0x05b3, 0x94d: 0x165b, 0x94e: 0x078f, 0x94f: 0x0793, 0x950: 0x0797, 0x951: 0x07b3,\n\t0x952: 0x164c, 0x953: 0x05b7, 0x954: 0x079f, 0x955: 0x07bf, 0x956: 0x1656, 0x957: 0x07cf,\n\t0x958: 0x07d7, 0x959: 0x0737, 0x95a: 0x07df, 0x95b: 0x07e3, 0x95c: 0x1831, 0x95d: 0x07ff,\n\t0x95e: 0x0807, 0x95f: 0x05bf, 0x960: 0x081f, 0x961: 0x0823, 0x962: 0x082b, 0x963: 0x082f,\n\t0x964: 0x05c3, 0x965: 0x0847, 0x966: 0x084b, 0x967: 0x0857, 0x968: 0x0863, 0x969: 0x0867,\n\t0x96a: 0x086b, 0x96b: 0x0873, 0x96c: 0x0893, 0x96d: 0x0897, 0x96e: 0x089f, 0x96f: 0x08af,\n\t0x970: 0x08b7, 0x971: 0x08bb, 0x972: 0x08bb, 0x973: 0x08bb, 0x974: 0x166a, 0x975: 0x0e93,\n\t0x976: 0x08cf, 0x977: 0x08d7, 0x978: 0x166f, 0x979: 0x08e3, 0x97a: 0x08eb, 0x97b: 0x08f3,\n\t0x97c: 0x091b, 0x97d: 0x0907, 0x97e: 0x0913, 0x97f: 0x0917,\n\t// Block 0x26, offset 0x980\n\t0x980: 0x091f, 0x981: 0x0927, 0x982: 0x092b, 0x983: 0x0933, 0x984: 0x093b, 0x985: 0x093f,\n\t0x986: 0x093f, 0x987: 0x0947, 0x988: 0x094f, 0x989: 0x0953, 0x98a: 0x095f, 0x98b: 0x0983,\n\t0x98c: 0x0967, 0x98d: 0x0987, 0x98e: 0x096b, 0x98f: 0x0973, 0x990: 0x080b, 0x991: 0x09cf,\n\t0x992: 0x0997, 0x993: 0x099b, 0x994: 0x099f, 0x995: 0x0993, 0x996: 0x09a7, 0x997: 0x09a3,\n\t0x998: 0x09bb, 0x999: 0x1674, 0x99a: 0x09d7, 0x99b: 0x09db, 0x99c: 0x09e3, 0x99d: 0x09ef,\n\t0x99e: 0x09f7, 0x99f: 0x0a13, 0x9a0: 0x1679, 0x9a1: 0x167e, 0x9a2: 0x0a1f, 0x9a3: 0x0a23,\n\t0x9a4: 0x0a27, 0x9a5: 0x0a1b, 0x9a6: 0x0a2f, 0x9a7: 0x05c7, 0x9a8: 0x05cb, 0x9a9: 0x0a37,\n\t0x9aa: 0x0a3f, 0x9ab: 0x0a3f, 0x9ac: 0x1683, 0x9ad: 0x0a5b, 0x9ae: 0x0a5f, 0x9af: 0x0a63,\n\t0x9b0: 0x0a6b, 0x9b1: 0x1688, 0x9b2: 0x0a73, 0x9b3: 0x0a77, 0x9b4: 0x0b4f, 0x9b5: 0x0a7f,\n\t0x9b6: 0x05cf, 0x9b7: 0x0a8b, 0x9b8: 0x0a9b, 0x9b9: 0x0aa7, 0x9ba: 0x0aa3, 0x9bb: 0x1692,\n\t0x9bc: 0x0aaf, 0x9bd: 0x1697, 0x9be: 0x0abb, 0x9bf: 0x0ab7,\n\t// Block 0x27, offset 0x9c0\n\t0x9c0: 0x0abf, 0x9c1: 0x0acf, 0x9c2: 0x0ad3, 0x9c3: 0x05d3, 0x9c4: 0x0ae3, 0x9c5: 0x0aeb,\n\t0x9c6: 0x0aef, 0x9c7: 0x0af3, 0x9c8: 0x05d7, 0x9c9: 0x169c, 0x9ca: 0x05db, 0x9cb: 0x0b0f,\n\t0x9cc: 0x0b13, 0x9cd: 0x0b17, 0x9ce: 0x0b1f, 0x9cf: 0x1863, 0x9d0: 0x0b37, 0x9d1: 0x16a6,\n\t0x9d2: 0x16a6, 0x9d3: 0x11d7, 0x9d4: 0x0b47, 0x9d5: 0x0b47, 0x9d6: 0x05df, 0x9d7: 0x16c9,\n\t0x9d8: 0x179b, 0x9d9: 0x0b57, 0x9da: 0x0b5f, 0x9db: 0x05e3, 0x9dc: 0x0b73, 0x9dd: 0x0b83,\n\t0x9de: 0x0b87, 0x9df: 0x0b8f, 0x9e0: 0x0b9f, 0x9e1: 0x05eb, 0x9e2: 0x05e7, 0x9e3: 0x0ba3,\n\t0x9e4: 0x16ab, 0x9e5: 0x0ba7, 0x9e6: 0x0bbb, 0x9e7: 0x0bbf, 0x9e8: 0x0bc3, 0x9e9: 0x0bbf,\n\t0x9ea: 0x0bcf, 0x9eb: 0x0bd3, 0x9ec: 0x0be3, 0x9ed: 0x0bdb, 0x9ee: 0x0bdf, 0x9ef: 0x0be7,\n\t0x9f0: 0x0beb, 0x9f1: 0x0bef, 0x9f2: 0x0bfb, 0x9f3: 0x0bff, 0x9f4: 0x0c17, 0x9f5: 0x0c1f,\n\t0x9f6: 0x0c2f, 0x9f7: 0x0c43, 0x9f8: 0x16ba, 0x9f9: 0x0c3f, 0x9fa: 0x0c33, 0x9fb: 0x0c4b,\n\t0x9fc: 0x0c53, 0x9fd: 0x0c67, 0x9fe: 0x16bf, 0x9ff: 0x0c6f,\n\t// Block 0x28, offset 0xa00\n\t0xa00: 0x0c63, 0xa01: 0x0c5b, 0xa02: 0x05ef, 0xa03: 0x0c77, 0xa04: 0x0c7f, 0xa05: 0x0c87,\n\t0xa06: 0x0c7b, 0xa07: 0x05f3, 0xa08: 0x0c97, 0xa09: 0x0c9f, 0xa0a: 0x16c4, 0xa0b: 0x0ccb,\n\t0xa0c: 0x0cff, 0xa0d: 0x0cdb, 0xa0e: 0x05ff, 0xa0f: 0x0ce7, 0xa10: 0x05fb, 0xa11: 0x05f7,\n\t0xa12: 0x07c3, 0xa13: 0x07c7, 0xa14: 0x0d03, 0xa15: 0x0ceb, 0xa16: 0x11ab, 0xa17: 0x0663,\n\t0xa18: 0x0d0f, 0xa19: 0x0d13, 0xa1a: 0x0d17, 0xa1b: 0x0d2b, 0xa1c: 0x0d23, 0xa1d: 0x16dd,\n\t0xa1e: 0x0603, 0xa1f: 0x0d3f, 0xa20: 0x0d33, 0xa21: 0x0d4f, 0xa22: 0x0d57, 0xa23: 0x16e7,\n\t0xa24: 0x0d5b, 0xa25: 0x0d47, 0xa26: 0x0d63, 0xa27: 0x0607, 0xa28: 0x0d67, 0xa29: 0x0d6b,\n\t0xa2a: 0x0d6f, 0xa2b: 0x0d7b, 0xa2c: 0x16ec, 0xa2d: 0x0d83, 0xa2e: 0x060b, 0xa2f: 0x0d8f,\n\t0xa30: 0x16f1, 0xa31: 0x0d93, 0xa32: 0x060f, 0xa33: 0x0d9f, 0xa34: 0x0dab, 0xa35: 0x0db7,\n\t0xa36: 0x0dbb, 0xa37: 0x16f6, 0xa38: 0x168d, 0xa39: 0x16fb, 0xa3a: 0x0ddb, 0xa3b: 0x1700,\n\t0xa3c: 0x0de7, 0xa3d: 0x0def, 0xa3e: 0x0ddf, 0xa3f: 0x0dfb,\n\t// Block 0x29, offset 0xa40\n\t0xa40: 0x0e0b, 0xa41: 0x0e1b, 0xa42: 0x0e0f, 0xa43: 0x0e13, 0xa44: 0x0e1f, 0xa45: 0x0e23,\n\t0xa46: 0x1705, 0xa47: 0x0e07, 0xa48: 0x0e3b, 0xa49: 0x0e3f, 0xa4a: 0x0613, 0xa4b: 0x0e53,\n\t0xa4c: 0x0e4f, 0xa4d: 0x170a, 0xa4e: 0x0e33, 0xa4f: 0x0e6f, 0xa50: 0x170f, 0xa51: 0x1714,\n\t0xa52: 0x0e73, 0xa53: 0x0e87, 0xa54: 0x0e83, 0xa55: 0x0e7f, 0xa56: 0x0617, 0xa57: 0x0e8b,\n\t0xa58: 0x0e9b, 0xa59: 0x0e97, 0xa5a: 0x0ea3, 0xa5b: 0x1651, 0xa5c: 0x0eb3, 0xa5d: 0x1719,\n\t0xa5e: 0x0ebf, 0xa5f: 0x1723, 0xa60: 0x0ed3, 0xa61: 0x0edf, 0xa62: 0x0ef3, 0xa63: 0x1728,\n\t0xa64: 0x0f07, 0xa65: 0x0f0b, 0xa66: 0x172d, 0xa67: 0x1732, 0xa68: 0x0f27, 0xa69: 0x0f37,\n\t0xa6a: 0x061b, 0xa6b: 0x0f3b, 0xa6c: 0x061f, 0xa6d: 0x061f, 0xa6e: 0x0f53, 0xa6f: 0x0f57,\n\t0xa70: 0x0f5f, 0xa71: 0x0f63, 0xa72: 0x0f6f, 0xa73: 0x0623, 0xa74: 0x0f87, 0xa75: 0x1737,\n\t0xa76: 0x0fa3, 0xa77: 0x173c, 0xa78: 0x0faf, 0xa79: 0x16a1, 0xa7a: 0x0fbf, 0xa7b: 0x1741,\n\t0xa7c: 0x1746, 0xa7d: 0x174b, 0xa7e: 0x0627, 0xa7f: 0x062b,\n\t// Block 0x2a, offset 0xa80\n\t0xa80: 0x0ff7, 0xa81: 0x1755, 0xa82: 0x1750, 0xa83: 0x175a, 0xa84: 0x175f, 0xa85: 0x0fff,\n\t0xa86: 0x1003, 0xa87: 0x1003, 0xa88: 0x100b, 0xa89: 0x0633, 0xa8a: 0x100f, 0xa8b: 0x0637,\n\t0xa8c: 0x063b, 0xa8d: 0x1769, 0xa8e: 0x1023, 0xa8f: 0x102b, 0xa90: 0x1037, 0xa91: 0x063f,\n\t0xa92: 0x176e, 0xa93: 0x105b, 0xa94: 0x1773, 0xa95: 0x1778, 0xa96: 0x107b, 0xa97: 0x1093,\n\t0xa98: 0x0643, 0xa99: 0x109b, 0xa9a: 0x109f, 0xa9b: 0x10a3, 0xa9c: 0x177d, 0xa9d: 0x1782,\n\t0xa9e: 0x1782, 0xa9f: 0x10bb, 0xaa0: 0x0647, 0xaa1: 0x1787, 0xaa2: 0x10cf, 0xaa3: 0x10d3,\n\t0xaa4: 0x064b, 0xaa5: 0x178c, 0xaa6: 0x10ef, 0xaa7: 0x064f, 0xaa8: 0x10ff, 0xaa9: 0x10f7,\n\t0xaaa: 0x1107, 0xaab: 0x1796, 0xaac: 0x111f, 0xaad: 0x0653, 0xaae: 0x112b, 0xaaf: 0x1133,\n\t0xab0: 0x1143, 0xab1: 0x0657, 0xab2: 0x17a0, 0xab3: 0x17a5, 0xab4: 0x065b, 0xab5: 0x17aa,\n\t0xab6: 0x115b, 0xab7: 0x17af, 0xab8: 0x1167, 0xab9: 0x1173, 0xaba: 0x117b, 0xabb: 0x17b4,\n\t0xabc: 0x17b9, 0xabd: 0x118f, 0xabe: 0x17be, 0xabf: 0x1197,\n\t// Block 0x2b, offset 0xac0\n\t0xac0: 0x16ce, 0xac1: 0x065f, 0xac2: 0x11af, 0xac3: 0x11b3, 0xac4: 0x0667, 0xac5: 0x11b7,\n\t0xac6: 0x0a33, 0xac7: 0x17c3, 0xac8: 0x17c8, 0xac9: 0x16d3, 0xaca: 0x16d8, 0xacb: 0x11d7,\n\t0xacc: 0x11db, 0xacd: 0x13f3, 0xace: 0x066b, 0xacf: 0x1207, 0xad0: 0x1203, 0xad1: 0x120b,\n\t0xad2: 0x083f, 0xad3: 0x120f, 0xad4: 0x1213, 0xad5: 0x1217, 0xad6: 0x121f, 0xad7: 0x17cd,\n\t0xad8: 0x121b, 0xad9: 0x1223, 0xada: 0x1237, 0xadb: 0x123b, 0xadc: 0x1227, 0xadd: 0x123f,\n\t0xade: 0x1253, 0xadf: 0x1267, 0xae0: 0x1233, 0xae1: 0x1247, 0xae2: 0x124b, 0xae3: 0x124f,\n\t0xae4: 0x17d2, 0xae5: 0x17dc, 0xae6: 0x17d7, 0xae7: 0x066f, 0xae8: 0x126f, 0xae9: 0x1273,\n\t0xaea: 0x127b, 0xaeb: 0x17f0, 0xaec: 0x127f, 0xaed: 0x17e1, 0xaee: 0x0673, 0xaef: 0x0677,\n\t0xaf0: 0x17e6, 0xaf1: 0x17eb, 0xaf2: 0x067b, 0xaf3: 0x129f, 0xaf4: 0x12a3, 0xaf5: 0x12a7,\n\t0xaf6: 0x12ab, 0xaf7: 0x12b7, 0xaf8: 0x12b3, 0xaf9: 0x12bf, 0xafa: 0x12bb, 0xafb: 0x12cb,\n\t0xafc: 0x12c3, 0xafd: 0x12c7, 0xafe: 0x12cf, 0xaff: 0x067f,\n\t// Block 0x2c, offset 0xb00\n\t0xb00: 0x12d7, 0xb01: 0x12db, 0xb02: 0x0683, 0xb03: 0x12eb, 0xb04: 0x12ef, 0xb05: 0x17f5,\n\t0xb06: 0x12fb, 0xb07: 0x12ff, 0xb08: 0x0687, 0xb09: 0x130b, 0xb0a: 0x05bb, 0xb0b: 0x17fa,\n\t0xb0c: 0x17ff, 0xb0d: 0x068b, 0xb0e: 0x068f, 0xb0f: 0x1337, 0xb10: 0x134f, 0xb11: 0x136b,\n\t0xb12: 0x137b, 0xb13: 0x1804, 0xb14: 0x138f, 0xb15: 0x1393, 0xb16: 0x13ab, 0xb17: 0x13b7,\n\t0xb18: 0x180e, 0xb19: 0x1660, 0xb1a: 0x13c3, 0xb1b: 0x13bf, 0xb1c: 0x13cb, 0xb1d: 0x1665,\n\t0xb1e: 0x13d7, 0xb1f: 0x13e3, 0xb20: 0x1813, 0xb21: 0x1818, 0xb22: 0x1423, 0xb23: 0x142f,\n\t0xb24: 0x1437, 0xb25: 0x181d, 0xb26: 0x143b, 0xb27: 0x1467, 0xb28: 0x1473, 0xb29: 0x1477,\n\t0xb2a: 0x146f, 0xb2b: 0x1483, 0xb2c: 0x1487, 0xb2d: 0x1822, 0xb2e: 0x1493, 0xb2f: 0x0693,\n\t0xb30: 0x149b, 0xb31: 0x1827, 0xb32: 0x0697, 0xb33: 0x14d3, 0xb34: 0x0ac3, 0xb35: 0x14eb,\n\t0xb36: 0x182c, 0xb37: 0x1836, 0xb38: 0x069b, 0xb39: 0x069f, 0xb3a: 0x1513, 0xb3b: 0x183b,\n\t0xb3c: 0x06a3, 0xb3d: 0x1840, 0xb3e: 0x152b, 0xb3f: 0x152b,\n\t// Block 0x2d, offset 0xb40\n\t0xb40: 0x1533, 0xb41: 0x1845, 0xb42: 0x154b, 0xb43: 0x06a7, 0xb44: 0x155b, 0xb45: 0x1567,\n\t0xb46: 0x156f, 0xb47: 0x1577, 0xb48: 0x06ab, 0xb49: 0x184a, 0xb4a: 0x158b, 0xb4b: 0x15a7,\n\t0xb4c: 0x15b3, 0xb4d: 0x06af, 0xb4e: 0x06b3, 0xb4f: 0x15b7, 0xb50: 0x184f, 0xb51: 0x06b7,\n\t0xb52: 0x1854, 0xb53: 0x1859, 0xb54: 0x185e, 0xb55: 0x15db, 0xb56: 0x06bb, 0xb57: 0x15ef,\n\t0xb58: 0x15f7, 0xb59: 0x15fb, 0xb5a: 0x1603, 0xb5b: 0x160b, 0xb5c: 0x1613, 0xb5d: 0x1868,\n}\n\n// nfcIndex: 22 blocks, 1408 entries, 1408 bytes\n// Block 0 is the zero block.\nvar nfcIndex = [1408]uint8{\n\t// Block 0x0, offset 0x0\n\t// Block 0x1, offset 0x40\n\t// Block 0x2, offset 0x80\n\t// Block 0x3, offset 0xc0\n\t0xc2: 0x2c, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x2d, 0xc7: 0x04,\n\t0xc8: 0x05, 0xca: 0x2e, 0xcb: 0x2f, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x30,\n\t0xd0: 0x09, 0xd1: 0x31, 0xd2: 0x32, 0xd3: 0x0a, 0xd6: 0x0b, 0xd7: 0x33,\n\t0xd8: 0x34, 0xd9: 0x0c, 0xdb: 0x35, 0xdc: 0x36, 0xdd: 0x37, 0xdf: 0x38,\n\t0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05,\n\t0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a,\n\t0xf0: 0x13,\n\t// Block 0x4, offset 0x100\n\t0x120: 0x39, 0x121: 0x3a, 0x123: 0x3b, 0x124: 0x3c, 0x125: 0x3d, 0x126: 0x3e, 0x127: 0x3f,\n\t0x128: 0x40, 0x129: 0x41, 0x12a: 0x42, 0x12b: 0x43, 0x12c: 0x3e, 0x12d: 0x44, 0x12e: 0x45, 0x12f: 0x46,\n\t0x131: 0x47, 0x132: 0x48, 0x133: 0x49, 0x134: 0x4a, 0x135: 0x4b, 0x137: 0x4c,\n\t0x138: 0x4d, 0x139: 0x4e, 0x13a: 0x4f, 0x13b: 0x50, 0x13c: 0x51, 0x13d: 0x52, 0x13e: 0x53, 0x13f: 0x54,\n\t// Block 0x5, offset 0x140\n\t0x140: 0x55, 0x142: 0x56, 0x144: 0x57, 0x145: 0x58, 0x146: 0x59, 0x147: 0x5a,\n\t0x14d: 0x5b,\n\t0x15c: 0x5c, 0x15f: 0x5d,\n\t0x162: 0x5e, 0x164: 0x5f,\n\t0x168: 0x60, 0x169: 0x61, 0x16a: 0x62, 0x16c: 0x0d, 0x16d: 0x63, 0x16e: 0x64, 0x16f: 0x65,\n\t0x170: 0x66, 0x173: 0x67, 0x177: 0x68,\n\t0x178: 0x0e, 0x179: 0x0f, 0x17a: 0x10, 0x17b: 0x11, 0x17c: 0x12, 0x17d: 0x13, 0x17e: 0x14, 0x17f: 0x15,\n\t// Block 0x6, offset 0x180\n\t0x180: 0x69, 0x183: 0x6a, 0x184: 0x6b, 0x186: 0x6c, 0x187: 0x6d,\n\t0x188: 0x6e, 0x189: 0x16, 0x18a: 0x17, 0x18b: 0x6f, 0x18c: 0x70,\n\t0x1ab: 0x71,\n\t0x1b3: 0x72, 0x1b5: 0x73, 0x1b7: 0x74,\n\t// Block 0x7, offset 0x1c0\n\t0x1c0: 0x75, 0x1c1: 0x18, 0x1c2: 0x19, 0x1c3: 0x1a, 0x1c4: 0x76, 0x1c5: 0x77,\n\t0x1c9: 0x78, 0x1cc: 0x79, 0x1cd: 0x7a,\n\t// Block 0x8, offset 0x200\n\t0x219: 0x7b, 0x21a: 0x7c, 0x21b: 0x7d,\n\t0x220: 0x7e, 0x223: 0x7f, 0x224: 0x80, 0x225: 0x81, 0x226: 0x82, 0x227: 0x83,\n\t0x22a: 0x84, 0x22b: 0x85, 0x22f: 0x86,\n\t0x230: 0x87, 0x231: 0x88, 0x232: 0x89, 0x233: 0x8a, 0x234: 0x8b, 0x235: 0x8c, 0x236: 0x8d, 0x237: 0x87,\n\t0x238: 0x88, 0x239: 0x89, 0x23a: 0x8a, 0x23b: 0x8b, 0x23c: 0x8c, 0x23d: 0x8d, 0x23e: 0x87, 0x23f: 0x88,\n\t// Block 0x9, offset 0x240\n\t0x240: 0x89, 0x241: 0x8a, 0x242: 0x8b, 0x243: 0x8c, 0x244: 0x8d, 0x245: 0x87, 0x246: 0x88, 0x247: 0x89,\n\t0x248: 0x8a, 0x249: 0x8b, 0x24a: 0x8c, 0x24b: 0x8d, 0x24c: 0x87, 0x24d: 0x88, 0x24e: 0x89, 0x24f: 0x8a,\n\t0x250: 0x8b, 0x251: 0x8c, 0x252: 0x8d, 0x253: 0x87, 0x254: 0x88, 0x255: 0x89, 0x256: 0x8a, 0x257: 0x8b,\n\t0x258: 0x8c, 0x259: 0x8d, 0x25a: 0x87, 0x25b: 0x88, 0x25c: 0x89, 0x25d: 0x8a, 0x25e: 0x8b, 0x25f: 0x8c,\n\t0x260: 0x8d, 0x261: 0x87, 0x262: 0x88, 0x263: 0x89, 0x264: 0x8a, 0x265: 0x8b, 0x266: 0x8c, 0x267: 0x8d,\n\t0x268: 0x87, 0x269: 0x88, 0x26a: 0x89, 0x26b: 0x8a, 0x26c: 0x8b, 0x26d: 0x8c, 0x26e: 0x8d, 0x26f: 0x87,\n\t0x270: 0x88, 0x271: 0x89, 0x272: 0x8a, 0x273: 0x8b, 0x274: 0x8c, 0x275: 0x8d, 0x276: 0x87, 0x277: 0x88,\n\t0x278: 0x89, 0x279: 0x8a, 0x27a: 0x8b, 0x27b: 0x8c, 0x27c: 0x8d, 0x27d: 0x87, 0x27e: 0x88, 0x27f: 0x89,\n\t// Block 0xa, offset 0x280\n\t0x280: 0x8a, 0x281: 0x8b, 0x282: 0x8c, 0x283: 0x8d, 0x284: 0x87, 0x285: 0x88, 0x286: 0x89, 0x287: 0x8a,\n\t0x288: 0x8b, 0x289: 0x8c, 0x28a: 0x8d, 0x28b: 0x87, 0x28c: 0x88, 0x28d: 0x89, 0x28e: 0x8a, 0x28f: 0x8b,\n\t0x290: 0x8c, 0x291: 0x8d, 0x292: 0x87, 0x293: 0x88, 0x294: 0x89, 0x295: 0x8a, 0x296: 0x8b, 0x297: 0x8c,\n\t0x298: 0x8d, 0x299: 0x87, 0x29a: 0x88, 0x29b: 0x89, 0x29c: 0x8a, 0x29d: 0x8b, 0x29e: 0x8c, 0x29f: 0x8d,\n\t0x2a0: 0x87, 0x2a1: 0x88, 0x2a2: 0x89, 0x2a3: 0x8a, 0x2a4: 0x8b, 0x2a5: 0x8c, 0x2a6: 0x8d, 0x2a7: 0x87,\n\t0x2a8: 0x88, 0x2a9: 0x89, 0x2aa: 0x8a, 0x2ab: 0x8b, 0x2ac: 0x8c, 0x2ad: 0x8d, 0x2ae: 0x87, 0x2af: 0x88,\n\t0x2b0: 0x89, 0x2b1: 0x8a, 0x2b2: 0x8b, 0x2b3: 0x8c, 0x2b4: 0x8d, 0x2b5: 0x87, 0x2b6: 0x88, 0x2b7: 0x89,\n\t0x2b8: 0x8a, 0x2b9: 0x8b, 0x2ba: 0x8c, 0x2bb: 0x8d, 0x2bc: 0x87, 0x2bd: 0x88, 0x2be: 0x89, 0x2bf: 0x8a,\n\t// Block 0xb, offset 0x2c0\n\t0x2c0: 0x8b, 0x2c1: 0x8c, 0x2c2: 0x8d, 0x2c3: 0x87, 0x2c4: 0x88, 0x2c5: 0x89, 0x2c6: 0x8a, 0x2c7: 0x8b,\n\t0x2c8: 0x8c, 0x2c9: 0x8d, 0x2ca: 0x87, 0x2cb: 0x88, 0x2cc: 0x89, 0x2cd: 0x8a, 0x2ce: 0x8b, 0x2cf: 0x8c,\n\t0x2d0: 0x8d, 0x2d1: 0x87, 0x2d2: 0x88, 0x2d3: 0x89, 0x2d4: 0x8a, 0x2d5: 0x8b, 0x2d6: 0x8c, 0x2d7: 0x8d,\n\t0x2d8: 0x87, 0x2d9: 0x88, 0x2da: 0x89, 0x2db: 0x8a, 0x2dc: 0x8b, 0x2dd: 0x8c, 0x2de: 0x8e,\n\t// Block 0xc, offset 0x300\n\t0x324: 0x1b, 0x325: 0x1c, 0x326: 0x1d, 0x327: 0x1e,\n\t0x328: 0x1f, 0x329: 0x20, 0x32a: 0x21, 0x32b: 0x22, 0x32c: 0x8f, 0x32d: 0x90, 0x32e: 0x91,\n\t0x331: 0x92, 0x332: 0x93, 0x333: 0x94, 0x334: 0x95,\n\t0x338: 0x96, 0x339: 0x97, 0x33a: 0x98, 0x33b: 0x99, 0x33e: 0x9a, 0x33f: 0x9b,\n\t// Block 0xd, offset 0x340\n\t0x347: 0x9c,\n\t0x34b: 0x9d, 0x34d: 0x9e,\n\t0x368: 0x9f, 0x36b: 0xa0,\n\t// Block 0xe, offset 0x380\n\t0x381: 0xa1, 0x382: 0xa2, 0x384: 0xa3, 0x385: 0x82, 0x387: 0xa4,\n\t0x388: 0xa5, 0x38b: 0xa6, 0x38c: 0x3e, 0x38d: 0xa7,\n\t0x391: 0xa8, 0x392: 0xa9, 0x393: 0xaa, 0x396: 0xab, 0x397: 0xac,\n\t0x398: 0x73, 0x39a: 0xad, 0x39c: 0xae,\n\t0x3b0: 0x73,\n\t// Block 0xf, offset 0x3c0\n\t0x3eb: 0xaf, 0x3ec: 0xb0,\n\t// Block 0x10, offset 0x400\n\t0x432: 0xb1,\n\t// Block 0x11, offset 0x440\n\t0x445: 0xb2, 0x446: 0xb3, 0x447: 0xb4,\n\t0x449: 0xb5,\n\t// Block 0x12, offset 0x480\n\t0x480: 0xb6,\n\t0x4a3: 0xb7, 0x4a5: 0xb8,\n\t// Block 0x13, offset 0x4c0\n\t0x4c8: 0xb9,\n\t// Block 0x14, offset 0x500\n\t0x520: 0x23, 0x521: 0x24, 0x522: 0x25, 0x523: 0x26, 0x524: 0x27, 0x525: 0x28, 0x526: 0x29, 0x527: 0x2a,\n\t0x528: 0x2b,\n\t// Block 0x15, offset 0x540\n\t0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d,\n\t0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11,\n\t0x56f: 0x12,\n}\n\n// nfcSparseOffset: 142 entries, 284 bytes\nvar nfcSparseOffset = []uint16{0x0, 0x5, 0x9, 0xb, 0xd, 0x18, 0x28, 0x2a, 0x2f, 0x3a, 0x49, 0x56, 0x5e, 0x62, 0x67, 0x69, 0x7a, 0x82, 0x89, 0x8c, 0x93, 0x97, 0x9b, 0x9d, 0x9f, 0xa8, 0xac, 0xb3, 0xb8, 0xbb, 0xc5, 0xc7, 0xce, 0xd6, 0xd9, 0xdb, 0xdd, 0xdf, 0xe4, 0xf5, 0x101, 0x103, 0x109, 0x10b, 0x10d, 0x10f, 0x111, 0x113, 0x115, 0x118, 0x11b, 0x11d, 0x120, 0x123, 0x127, 0x12c, 0x135, 0x137, 0x13a, 0x13c, 0x147, 0x157, 0x15b, 0x169, 0x16c, 0x172, 0x178, 0x183, 0x187, 0x189, 0x18b, 0x18d, 0x18f, 0x191, 0x197, 0x19b, 0x19d, 0x19f, 0x1a7, 0x1ab, 0x1ae, 0x1b0, 0x1b2, 0x1b4, 0x1b7, 0x1b9, 0x1bb, 0x1bd, 0x1bf, 0x1c5, 0x1c8, 0x1ca, 0x1d1, 0x1d7, 0x1dd, 0x1e5, 0x1eb, 0x1f1, 0x1f7, 0x1fb, 0x209, 0x212, 0x215, 0x218, 0x21a, 0x21d, 0x21f, 0x223, 0x228, 0x22a, 0x22c, 0x231, 0x237, 0x239, 0x23b, 0x23d, 0x243, 0x246, 0x249, 0x251, 0x258, 0x25b, 0x25e, 0x260, 0x268, 0x26b, 0x272, 0x275, 0x27b, 0x27d, 0x280, 0x282, 0x284, 0x286, 0x288, 0x295, 0x29f, 0x2a1, 0x2a3, 0x2a9, 0x2ab, 0x2ae}\n\n// nfcSparseValues: 688 entries, 2752 bytes\nvar nfcSparseValues = [688]valueRange{\n\t// Block 0x0, offset 0x0\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0xa100, lo: 0xa8, hi: 0xa8},\n\t{value: 0x8100, lo: 0xaf, hi: 0xaf},\n\t{value: 0x8100, lo: 0xb4, hi: 0xb4},\n\t{value: 0x8100, lo: 0xb8, hi: 0xb8},\n\t// Block 0x1, offset 0x5\n\t{value: 0x0091, lo: 0x03},\n\t{value: 0x46e2, lo: 0xa0, hi: 0xa1},\n\t{value: 0x4714, lo: 0xaf, hi: 0xb0},\n\t{value: 0xa000, lo: 0xb7, hi: 0xb7},\n\t// Block 0x2, offset 0x9\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t// Block 0x3, offset 0xb\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8100, lo: 0x98, hi: 0x9d},\n\t// Block 0x4, offset 0xd\n\t{value: 0x0006, lo: 0x0a},\n\t{value: 0xa000, lo: 0x81, hi: 0x81},\n\t{value: 0xa000, lo: 0x85, hi: 0x85},\n\t{value: 0xa000, lo: 0x89, hi: 0x89},\n\t{value: 0x4840, lo: 0x8a, hi: 0x8a},\n\t{value: 0x485e, lo: 0x8b, hi: 0x8b},\n\t{value: 0x36c7, lo: 0x8c, hi: 0x8c},\n\t{value: 0x36df, lo: 0x8d, hi: 0x8d},\n\t{value: 0x4876, lo: 0x8e, hi: 0x8e},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0x36fd, lo: 0x93, hi: 0x94},\n\t// Block 0x5, offset 0x18\n\t{value: 0x0000, lo: 0x0f},\n\t{value: 0xa000, lo: 0x83, hi: 0x83},\n\t{value: 0xa000, lo: 0x87, hi: 0x87},\n\t{value: 0xa000, lo: 0x8b, hi: 0x8b},\n\t{value: 0xa000, lo: 0x8d, hi: 0x8d},\n\t{value: 0x37a5, lo: 0x90, hi: 0x90},\n\t{value: 0x37b1, lo: 0x91, hi: 0x91},\n\t{value: 0x379f, lo: 0x93, hi: 0x93},\n\t{value: 0xa000, lo: 0x96, hi: 0x96},\n\t{value: 0x3817, lo: 0x97, hi: 0x97},\n\t{value: 0x37e1, lo: 0x9c, hi: 0x9c},\n\t{value: 0x37c9, lo: 0x9d, hi: 0x9d},\n\t{value: 0x37f3, lo: 0x9e, hi: 0x9e},\n\t{value: 0xa000, lo: 0xb4, hi: 0xb5},\n\t{value: 0x381d, lo: 0xb6, hi: 0xb6},\n\t{value: 0x3823, lo: 0xb7, hi: 0xb7},\n\t// Block 0x6, offset 0x28\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0x83, hi: 0x87},\n\t// Block 0x7, offset 0x2a\n\t{value: 0x0001, lo: 0x04},\n\t{value: 0x8113, lo: 0x81, hi: 0x82},\n\t{value: 0x8132, lo: 0x84, hi: 0x84},\n\t{value: 0x812d, lo: 0x85, hi: 0x85},\n\t{value: 0x810d, lo: 0x87, hi: 0x87},\n\t// Block 0x8, offset 0x2f\n\t{value: 0x0000, lo: 0x0a},\n\t{value: 0x8132, lo: 0x90, hi: 0x97},\n\t{value: 0x8119, lo: 0x98, hi: 0x98},\n\t{value: 0x811a, lo: 0x99, hi: 0x99},\n\t{value: 0x811b, lo: 0x9a, hi: 0x9a},\n\t{value: 0x3841, lo: 0xa2, hi: 0xa2},\n\t{value: 0x3847, lo: 0xa3, hi: 0xa3},\n\t{value: 0x3853, lo: 0xa4, hi: 0xa4},\n\t{value: 0x384d, lo: 0xa5, hi: 0xa5},\n\t{value: 0x3859, lo: 0xa6, hi: 0xa6},\n\t{value: 0xa000, lo: 0xa7, hi: 0xa7},\n\t// Block 0x9, offset 0x3a\n\t{value: 0x0000, lo: 0x0e},\n\t{value: 0x386b, lo: 0x80, hi: 0x80},\n\t{value: 0xa000, lo: 0x81, hi: 0x81},\n\t{value: 0x385f, lo: 0x82, hi: 0x82},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0x3865, lo: 0x93, hi: 0x93},\n\t{value: 0xa000, lo: 0x95, hi: 0x95},\n\t{value: 0x8132, lo: 0x96, hi: 0x9c},\n\t{value: 0x8132, lo: 0x9f, hi: 0xa2},\n\t{value: 0x812d, lo: 0xa3, hi: 0xa3},\n\t{value: 0x8132, lo: 0xa4, hi: 0xa4},\n\t{value: 0x8132, lo: 0xa7, hi: 0xa8},\n\t{value: 0x812d, lo: 0xaa, hi: 0xaa},\n\t{value: 0x8132, lo: 0xab, hi: 0xac},\n\t{value: 0x812d, lo: 0xad, hi: 0xad},\n\t// Block 0xa, offset 0x49\n\t{value: 0x0000, lo: 0x0c},\n\t{value: 0x811f, lo: 0x91, hi: 0x91},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb0},\n\t{value: 0x812d, lo: 0xb1, hi: 0xb1},\n\t{value: 0x8132, lo: 0xb2, hi: 0xb3},\n\t{value: 0x812d, lo: 0xb4, hi: 0xb4},\n\t{value: 0x8132, lo: 0xb5, hi: 0xb6},\n\t{value: 0x812d, lo: 0xb7, hi: 0xb9},\n\t{value: 0x8132, lo: 0xba, hi: 0xba},\n\t{value: 0x812d, lo: 0xbb, hi: 0xbc},\n\t{value: 0x8132, lo: 0xbd, hi: 0xbd},\n\t{value: 0x812d, lo: 0xbe, hi: 0xbe},\n\t{value: 0x8132, lo: 0xbf, hi: 0xbf},\n\t// Block 0xb, offset 0x56\n\t{value: 0x0005, lo: 0x07},\n\t{value: 0x8132, lo: 0x80, hi: 0x80},\n\t{value: 0x8132, lo: 0x81, hi: 0x81},\n\t{value: 0x812d, lo: 0x82, hi: 0x83},\n\t{value: 0x812d, lo: 0x84, hi: 0x85},\n\t{value: 0x812d, lo: 0x86, hi: 0x87},\n\t{value: 0x812d, lo: 0x88, hi: 0x89},\n\t{value: 0x8132, lo: 0x8a, hi: 0x8a},\n\t// Block 0xc, offset 0x5e\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x8132, lo: 0xab, hi: 0xb1},\n\t{value: 0x812d, lo: 0xb2, hi: 0xb2},\n\t{value: 0x8132, lo: 0xb3, hi: 0xb3},\n\t// Block 0xd, offset 0x62\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x8132, lo: 0x96, hi: 0x99},\n\t{value: 0x8132, lo: 0x9b, hi: 0xa3},\n\t{value: 0x8132, lo: 0xa5, hi: 0xa7},\n\t{value: 0x8132, lo: 0xa9, hi: 0xad},\n\t// Block 0xe, offset 0x67\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0x99, hi: 0x9b},\n\t// Block 0xf, offset 0x69\n\t{value: 0x0000, lo: 0x10},\n\t{value: 0x8132, lo: 0x94, hi: 0xa1},\n\t{value: 0x812d, lo: 0xa3, hi: 0xa3},\n\t{value: 0x8132, lo: 0xa4, hi: 0xa5},\n\t{value: 0x812d, lo: 0xa6, hi: 0xa6},\n\t{value: 0x8132, lo: 0xa7, hi: 0xa8},\n\t{value: 0x812d, lo: 0xa9, hi: 0xa9},\n\t{value: 0x8132, lo: 0xaa, hi: 0xac},\n\t{value: 0x812d, lo: 0xad, hi: 0xaf},\n\t{value: 0x8116, lo: 0xb0, hi: 0xb0},\n\t{value: 0x8117, lo: 0xb1, hi: 0xb1},\n\t{value: 0x8118, lo: 0xb2, hi: 0xb2},\n\t{value: 0x8132, lo: 0xb3, hi: 0xb5},\n\t{value: 0x812d, lo: 0xb6, hi: 0xb6},\n\t{value: 0x8132, lo: 0xb7, hi: 0xb8},\n\t{value: 0x812d, lo: 0xb9, hi: 0xba},\n\t{value: 0x8132, lo: 0xbb, hi: 0xbf},\n\t// Block 0x10, offset 0x7a\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0xa000, lo: 0xa8, hi: 0xa8},\n\t{value: 0x3ed8, lo: 0xa9, hi: 0xa9},\n\t{value: 0xa000, lo: 0xb0, hi: 0xb0},\n\t{value: 0x3ee0, lo: 0xb1, hi: 0xb1},\n\t{value: 0xa000, lo: 0xb3, hi: 0xb3},\n\t{value: 0x3ee8, lo: 0xb4, hi: 0xb4},\n\t{value: 0x9902, lo: 0xbc, hi: 0xbc},\n\t// Block 0x11, offset 0x82\n\t{value: 0x0008, lo: 0x06},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x8132, lo: 0x91, hi: 0x91},\n\t{value: 0x812d, lo: 0x92, hi: 0x92},\n\t{value: 0x8132, lo: 0x93, hi: 0x93},\n\t{value: 0x8132, lo: 0x94, hi: 0x94},\n\t{value: 0x451c, lo: 0x98, hi: 0x9f},\n\t// Block 0x12, offset 0x89\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8102, lo: 0xbc, hi: 0xbc},\n\t{value: 0x9900, lo: 0xbe, hi: 0xbe},\n\t// Block 0x13, offset 0x8c\n\t{value: 0x0008, lo: 0x06},\n\t{value: 0xa000, lo: 0x87, hi: 0x87},\n\t{value: 0x2c9e, lo: 0x8b, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x97, hi: 0x97},\n\t{value: 0x455c, lo: 0x9c, hi: 0x9d},\n\t{value: 0x456c, lo: 0x9f, hi: 0x9f},\n\t// Block 0x14, offset 0x93\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x4594, lo: 0xb3, hi: 0xb3},\n\t{value: 0x459c, lo: 0xb6, hi: 0xb6},\n\t{value: 0x8102, lo: 0xbc, hi: 0xbc},\n\t// Block 0x15, offset 0x97\n\t{value: 0x0008, lo: 0x03},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x4574, lo: 0x99, hi: 0x9b},\n\t{value: 0x458c, lo: 0x9e, hi: 0x9e},\n\t// Block 0x16, offset 0x9b\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8102, lo: 0xbc, hi: 0xbc},\n\t// Block 0x17, offset 0x9d\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t// Block 0x18, offset 0x9f\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0xa000, lo: 0x87, hi: 0x87},\n\t{value: 0x2cb6, lo: 0x88, hi: 0x88},\n\t{value: 0x2cae, lo: 0x8b, hi: 0x8b},\n\t{value: 0x2cbe, lo: 0x8c, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x96, hi: 0x97},\n\t{value: 0x45a4, lo: 0x9c, hi: 0x9c},\n\t{value: 0x45ac, lo: 0x9d, hi: 0x9d},\n\t// Block 0x19, offset 0xa8\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0x2cc6, lo: 0x94, hi: 0x94},\n\t{value: 0x9900, lo: 0xbe, hi: 0xbe},\n\t// Block 0x1a, offset 0xac\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0xa000, lo: 0x86, hi: 0x87},\n\t{value: 0x2cce, lo: 0x8a, hi: 0x8a},\n\t{value: 0x2cde, lo: 0x8b, hi: 0x8b},\n\t{value: 0x2cd6, lo: 0x8c, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x97, hi: 0x97},\n\t// Block 0x1b, offset 0xb3\n\t{value: 0x1801, lo: 0x04},\n\t{value: 0xa000, lo: 0x86, hi: 0x86},\n\t{value: 0x3ef0, lo: 0x88, hi: 0x88},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x8120, lo: 0x95, hi: 0x96},\n\t// Block 0x1c, offset 0xb8\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8102, lo: 0xbc, hi: 0xbc},\n\t{value: 0xa000, lo: 0xbf, hi: 0xbf},\n\t// Block 0x1d, offset 0xbb\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x2ce6, lo: 0x80, hi: 0x80},\n\t{value: 0x9900, lo: 0x82, hi: 0x82},\n\t{value: 0xa000, lo: 0x86, hi: 0x86},\n\t{value: 0x2cee, lo: 0x87, hi: 0x87},\n\t{value: 0x2cf6, lo: 0x88, hi: 0x88},\n\t{value: 0x2f50, lo: 0x8a, hi: 0x8a},\n\t{value: 0x2dd8, lo: 0x8b, hi: 0x8b},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x95, hi: 0x96},\n\t// Block 0x1e, offset 0xc5\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x9900, lo: 0xbe, hi: 0xbe},\n\t// Block 0x1f, offset 0xc7\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0xa000, lo: 0x86, hi: 0x87},\n\t{value: 0x2cfe, lo: 0x8a, hi: 0x8a},\n\t{value: 0x2d0e, lo: 0x8b, hi: 0x8b},\n\t{value: 0x2d06, lo: 0x8c, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x97, hi: 0x97},\n\t// Block 0x20, offset 0xce\n\t{value: 0x6bea, lo: 0x07},\n\t{value: 0x9904, lo: 0x8a, hi: 0x8a},\n\t{value: 0x9900, lo: 0x8f, hi: 0x8f},\n\t{value: 0xa000, lo: 0x99, hi: 0x99},\n\t{value: 0x3ef8, lo: 0x9a, hi: 0x9a},\n\t{value: 0x2f58, lo: 0x9c, hi: 0x9c},\n\t{value: 0x2de3, lo: 0x9d, hi: 0x9d},\n\t{value: 0x2d16, lo: 0x9e, hi: 0x9f},\n\t// Block 0x21, offset 0xd6\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8122, lo: 0xb8, hi: 0xb9},\n\t{value: 0x8104, lo: 0xba, hi: 0xba},\n\t// Block 0x22, offset 0xd9\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8123, lo: 0x88, hi: 0x8b},\n\t// Block 0x23, offset 0xdb\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8124, lo: 0xb8, hi: 0xb9},\n\t// Block 0x24, offset 0xdd\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8125, lo: 0x88, hi: 0x8b},\n\t// Block 0x25, offset 0xdf\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x812d, lo: 0x98, hi: 0x99},\n\t{value: 0x812d, lo: 0xb5, hi: 0xb5},\n\t{value: 0x812d, lo: 0xb7, hi: 0xb7},\n\t{value: 0x812b, lo: 0xb9, hi: 0xb9},\n\t// Block 0x26, offset 0xe4\n\t{value: 0x0000, lo: 0x10},\n\t{value: 0x2644, lo: 0x83, hi: 0x83},\n\t{value: 0x264b, lo: 0x8d, hi: 0x8d},\n\t{value: 0x2652, lo: 0x92, hi: 0x92},\n\t{value: 0x2659, lo: 0x97, hi: 0x97},\n\t{value: 0x2660, lo: 0x9c, hi: 0x9c},\n\t{value: 0x263d, lo: 0xa9, hi: 0xa9},\n\t{value: 0x8126, lo: 0xb1, hi: 0xb1},\n\t{value: 0x8127, lo: 0xb2, hi: 0xb2},\n\t{value: 0x4a84, lo: 0xb3, hi: 0xb3},\n\t{value: 0x8128, lo: 0xb4, hi: 0xb4},\n\t{value: 0x4a8d, lo: 0xb5, hi: 0xb5},\n\t{value: 0x45b4, lo: 0xb6, hi: 0xb6},\n\t{value: 0x8200, lo: 0xb7, hi: 0xb7},\n\t{value: 0x45bc, lo: 0xb8, hi: 0xb8},\n\t{value: 0x8200, lo: 0xb9, hi: 0xb9},\n\t{value: 0x8127, lo: 0xba, hi: 0xbd},\n\t// Block 0x27, offset 0xf5\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x8127, lo: 0x80, hi: 0x80},\n\t{value: 0x4a96, lo: 0x81, hi: 0x81},\n\t{value: 0x8132, lo: 0x82, hi: 0x83},\n\t{value: 0x8104, lo: 0x84, hi: 0x84},\n\t{value: 0x8132, lo: 0x86, hi: 0x87},\n\t{value: 0x266e, lo: 0x93, hi: 0x93},\n\t{value: 0x2675, lo: 0x9d, hi: 0x9d},\n\t{value: 0x267c, lo: 0xa2, hi: 0xa2},\n\t{value: 0x2683, lo: 0xa7, hi: 0xa7},\n\t{value: 0x268a, lo: 0xac, hi: 0xac},\n\t{value: 0x2667, lo: 0xb9, hi: 0xb9},\n\t// Block 0x28, offset 0x101\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0x86, hi: 0x86},\n\t// Block 0x29, offset 0x103\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xa000, lo: 0xa5, hi: 0xa5},\n\t{value: 0x2d1e, lo: 0xa6, hi: 0xa6},\n\t{value: 0x9900, lo: 0xae, hi: 0xae},\n\t{value: 0x8102, lo: 0xb7, hi: 0xb7},\n\t{value: 0x8104, lo: 0xb9, hi: 0xba},\n\t// Block 0x2a, offset 0x109\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0x8d, hi: 0x8d},\n\t// Block 0x2b, offset 0x10b\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0xa000, lo: 0x80, hi: 0x92},\n\t// Block 0x2c, offset 0x10d\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0xb900, lo: 0xa1, hi: 0xb5},\n\t// Block 0x2d, offset 0x10f\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x9900, lo: 0xa8, hi: 0xbf},\n\t// Block 0x2e, offset 0x111\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x9900, lo: 0x80, hi: 0x82},\n\t// Block 0x2f, offset 0x113\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0x9d, hi: 0x9f},\n\t// Block 0x30, offset 0x115\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x94, hi: 0x94},\n\t{value: 0x8104, lo: 0xb4, hi: 0xb4},\n\t// Block 0x31, offset 0x118\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x92, hi: 0x92},\n\t{value: 0x8132, lo: 0x9d, hi: 0x9d},\n\t// Block 0x32, offset 0x11b\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8131, lo: 0xa9, hi: 0xa9},\n\t// Block 0x33, offset 0x11d\n\t{value: 0x0004, lo: 0x02},\n\t{value: 0x812e, lo: 0xb9, hi: 0xba},\n\t{value: 0x812d, lo: 0xbb, hi: 0xbb},\n\t// Block 0x34, offset 0x120\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0x97, hi: 0x97},\n\t{value: 0x812d, lo: 0x98, hi: 0x98},\n\t// Block 0x35, offset 0x123\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x8104, lo: 0xa0, hi: 0xa0},\n\t{value: 0x8132, lo: 0xb5, hi: 0xbc},\n\t{value: 0x812d, lo: 0xbf, hi: 0xbf},\n\t// Block 0x36, offset 0x127\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb4},\n\t{value: 0x812d, lo: 0xb5, hi: 0xba},\n\t{value: 0x8132, lo: 0xbb, hi: 0xbc},\n\t{value: 0x812d, lo: 0xbd, hi: 0xbd},\n\t// Block 0x37, offset 0x12c\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0x2d66, lo: 0x80, hi: 0x80},\n\t{value: 0x2d6e, lo: 0x81, hi: 0x81},\n\t{value: 0xa000, lo: 0x82, hi: 0x82},\n\t{value: 0x2d76, lo: 0x83, hi: 0x83},\n\t{value: 0x8104, lo: 0x84, hi: 0x84},\n\t{value: 0x8132, lo: 0xab, hi: 0xab},\n\t{value: 0x812d, lo: 0xac, hi: 0xac},\n\t{value: 0x8132, lo: 0xad, hi: 0xb3},\n\t// Block 0x38, offset 0x135\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xaa, hi: 0xab},\n\t// Block 0x39, offset 0x137\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8102, lo: 0xa6, hi: 0xa6},\n\t{value: 0x8104, lo: 0xb2, hi: 0xb3},\n\t// Block 0x3a, offset 0x13a\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8102, lo: 0xb7, hi: 0xb7},\n\t// Block 0x3b, offset 0x13c\n\t{value: 0x0000, lo: 0x0a},\n\t{value: 0x8132, lo: 0x90, hi: 0x92},\n\t{value: 0x8101, lo: 0x94, hi: 0x94},\n\t{value: 0x812d, lo: 0x95, hi: 0x99},\n\t{value: 0x8132, lo: 0x9a, hi: 0x9b},\n\t{value: 0x812d, lo: 0x9c, hi: 0x9f},\n\t{value: 0x8132, lo: 0xa0, hi: 0xa0},\n\t{value: 0x8101, lo: 0xa2, hi: 0xa8},\n\t{value: 0x812d, lo: 0xad, hi: 0xad},\n\t{value: 0x8132, lo: 0xb4, hi: 0xb4},\n\t{value: 0x8132, lo: 0xb8, hi: 0xb9},\n\t// Block 0x3c, offset 0x147\n\t{value: 0x0000, lo: 0x0f},\n\t{value: 0x8132, lo: 0x80, hi: 0x81},\n\t{value: 0x812d, lo: 0x82, hi: 0x82},\n\t{value: 0x8132, lo: 0x83, hi: 0x89},\n\t{value: 0x812d, lo: 0x8a, hi: 0x8a},\n\t{value: 0x8132, lo: 0x8b, hi: 0x8c},\n\t{value: 0x8135, lo: 0x8d, hi: 0x8d},\n\t{value: 0x812a, lo: 0x8e, hi: 0x8e},\n\t{value: 0x812d, lo: 0x8f, hi: 0x8f},\n\t{value: 0x8129, lo: 0x90, hi: 0x90},\n\t{value: 0x8132, lo: 0x91, hi: 0xb5},\n\t{value: 0x8132, lo: 0xbb, hi: 0xbb},\n\t{value: 0x8134, lo: 0xbc, hi: 0xbc},\n\t{value: 0x812d, lo: 0xbd, hi: 0xbd},\n\t{value: 0x8132, lo: 0xbe, hi: 0xbe},\n\t{value: 0x812d, lo: 0xbf, hi: 0xbf},\n\t// Block 0x3d, offset 0x157\n\t{value: 0x0004, lo: 0x03},\n\t{value: 0x0433, lo: 0x80, hi: 0x81},\n\t{value: 0x8100, lo: 0x97, hi: 0x97},\n\t{value: 0x8100, lo: 0xbe, hi: 0xbe},\n\t// Block 0x3e, offset 0x15b\n\t{value: 0x0000, lo: 0x0d},\n\t{value: 0x8132, lo: 0x90, hi: 0x91},\n\t{value: 0x8101, lo: 0x92, hi: 0x93},\n\t{value: 0x8132, lo: 0x94, hi: 0x97},\n\t{value: 0x8101, lo: 0x98, hi: 0x9a},\n\t{value: 0x8132, lo: 0x9b, hi: 0x9c},\n\t{value: 0x8132, lo: 0xa1, hi: 0xa1},\n\t{value: 0x8101, lo: 0xa5, hi: 0xa6},\n\t{value: 0x8132, lo: 0xa7, hi: 0xa7},\n\t{value: 0x812d, lo: 0xa8, hi: 0xa8},\n\t{value: 0x8132, lo: 0xa9, hi: 0xa9},\n\t{value: 0x8101, lo: 0xaa, hi: 0xab},\n\t{value: 0x812d, lo: 0xac, hi: 0xaf},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb0},\n\t// Block 0x3f, offset 0x169\n\t{value: 0x427b, lo: 0x02},\n\t{value: 0x01b8, lo: 0xa6, hi: 0xa6},\n\t{value: 0x0057, lo: 0xaa, hi: 0xab},\n\t// Block 0x40, offset 0x16c\n\t{value: 0x0007, lo: 0x05},\n\t{value: 0xa000, lo: 0x90, hi: 0x90},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0xa000, lo: 0x94, hi: 0x94},\n\t{value: 0x3bb9, lo: 0x9a, hi: 0x9b},\n\t{value: 0x3bc7, lo: 0xae, hi: 0xae},\n\t// Block 0x41, offset 0x172\n\t{value: 0x000e, lo: 0x05},\n\t{value: 0x3bce, lo: 0x8d, hi: 0x8e},\n\t{value: 0x3bd5, lo: 0x8f, hi: 0x8f},\n\t{value: 0xa000, lo: 0x90, hi: 0x90},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0xa000, lo: 0x94, hi: 0x94},\n\t// Block 0x42, offset 0x178\n\t{value: 0x6408, lo: 0x0a},\n\t{value: 0xa000, lo: 0x83, hi: 0x83},\n\t{value: 0x3be3, lo: 0x84, hi: 0x84},\n\t{value: 0xa000, lo: 0x88, hi: 0x88},\n\t{value: 0x3bea, lo: 0x89, hi: 0x89},\n\t{value: 0xa000, lo: 0x8b, hi: 0x8b},\n\t{value: 0x3bf1, lo: 0x8c, hi: 0x8c},\n\t{value: 0xa000, lo: 0xa3, hi: 0xa3},\n\t{value: 0x3bf8, lo: 0xa4, hi: 0xa5},\n\t{value: 0x3bff, lo: 0xa6, hi: 0xa6},\n\t{value: 0xa000, lo: 0xbc, hi: 0xbc},\n\t// Block 0x43, offset 0x183\n\t{value: 0x0007, lo: 0x03},\n\t{value: 0x3c68, lo: 0xa0, hi: 0xa1},\n\t{value: 0x3c92, lo: 0xa2, hi: 0xa3},\n\t{value: 0x3cbc, lo: 0xaa, hi: 0xad},\n\t// Block 0x44, offset 0x187\n\t{value: 0x0004, lo: 0x01},\n\t{value: 0x048b, lo: 0xa9, hi: 0xaa},\n\t// Block 0x45, offset 0x189\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x44dd, lo: 0x9c, hi: 0x9c},\n\t// Block 0x46, offset 0x18b\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xaf, hi: 0xb1},\n\t// Block 0x47, offset 0x18d\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x48, offset 0x18f\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xa0, hi: 0xbf},\n\t// Block 0x49, offset 0x191\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x812c, lo: 0xaa, hi: 0xaa},\n\t{value: 0x8131, lo: 0xab, hi: 0xab},\n\t{value: 0x8133, lo: 0xac, hi: 0xac},\n\t{value: 0x812e, lo: 0xad, hi: 0xad},\n\t{value: 0x812f, lo: 0xae, hi: 0xaf},\n\t// Block 0x4a, offset 0x197\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x4a9f, lo: 0xb3, hi: 0xb3},\n\t{value: 0x4a9f, lo: 0xb5, hi: 0xb6},\n\t{value: 0x4a9f, lo: 0xba, hi: 0xbf},\n\t// Block 0x4b, offset 0x19b\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x4a9f, lo: 0x8f, hi: 0xa3},\n\t// Block 0x4c, offset 0x19d\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8100, lo: 0xae, hi: 0xbe},\n\t// Block 0x4d, offset 0x19f\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0x8100, lo: 0x84, hi: 0x84},\n\t{value: 0x8100, lo: 0x87, hi: 0x87},\n\t{value: 0x8100, lo: 0x90, hi: 0x90},\n\t{value: 0x8100, lo: 0x9e, hi: 0x9e},\n\t{value: 0x8100, lo: 0xa1, hi: 0xa1},\n\t{value: 0x8100, lo: 0xb2, hi: 0xb2},\n\t{value: 0x8100, lo: 0xbb, hi: 0xbb},\n\t// Block 0x4e, offset 0x1a7\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x8100, lo: 0x80, hi: 0x80},\n\t{value: 0x8100, lo: 0x8b, hi: 0x8b},\n\t{value: 0x8100, lo: 0x8e, hi: 0x8e},\n\t// Block 0x4f, offset 0x1ab\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0xaf, hi: 0xaf},\n\t{value: 0x8132, lo: 0xb4, hi: 0xbd},\n\t// Block 0x50, offset 0x1ae\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0x9e, hi: 0x9f},\n\t// Block 0x51, offset 0x1b0\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb1},\n\t// Block 0x52, offset 0x1b2\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x86, hi: 0x86},\n\t// Block 0x53, offset 0x1b4\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x84, hi: 0x84},\n\t{value: 0x8132, lo: 0xa0, hi: 0xb1},\n\t// Block 0x54, offset 0x1b7\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0xab, hi: 0xad},\n\t// Block 0x55, offset 0x1b9\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x93, hi: 0x93},\n\t// Block 0x56, offset 0x1bb\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8102, lo: 0xb3, hi: 0xb3},\n\t// Block 0x57, offset 0x1bd\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x80, hi: 0x80},\n\t// Block 0x58, offset 0x1bf\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb0},\n\t{value: 0x8132, lo: 0xb2, hi: 0xb3},\n\t{value: 0x812d, lo: 0xb4, hi: 0xb4},\n\t{value: 0x8132, lo: 0xb7, hi: 0xb8},\n\t{value: 0x8132, lo: 0xbe, hi: 0xbf},\n\t// Block 0x59, offset 0x1c5\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0x81, hi: 0x81},\n\t{value: 0x8104, lo: 0xb6, hi: 0xb6},\n\t// Block 0x5a, offset 0x1c8\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xad, hi: 0xad},\n\t// Block 0x5b, offset 0x1ca\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0xe500, lo: 0x80, hi: 0x80},\n\t{value: 0xc600, lo: 0x81, hi: 0x9b},\n\t{value: 0xe500, lo: 0x9c, hi: 0x9c},\n\t{value: 0xc600, lo: 0x9d, hi: 0xb7},\n\t{value: 0xe500, lo: 0xb8, hi: 0xb8},\n\t{value: 0xc600, lo: 0xb9, hi: 0xbf},\n\t// Block 0x5c, offset 0x1d1\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x93},\n\t{value: 0xe500, lo: 0x94, hi: 0x94},\n\t{value: 0xc600, lo: 0x95, hi: 0xaf},\n\t{value: 0xe500, lo: 0xb0, hi: 0xb0},\n\t{value: 0xc600, lo: 0xb1, hi: 0xbf},\n\t// Block 0x5d, offset 0x1d7\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x8b},\n\t{value: 0xe500, lo: 0x8c, hi: 0x8c},\n\t{value: 0xc600, lo: 0x8d, hi: 0xa7},\n\t{value: 0xe500, lo: 0xa8, hi: 0xa8},\n\t{value: 0xc600, lo: 0xa9, hi: 0xbf},\n\t// Block 0x5e, offset 0x1dd\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0xc600, lo: 0x80, hi: 0x83},\n\t{value: 0xe500, lo: 0x84, hi: 0x84},\n\t{value: 0xc600, lo: 0x85, hi: 0x9f},\n\t{value: 0xe500, lo: 0xa0, hi: 0xa0},\n\t{value: 0xc600, lo: 0xa1, hi: 0xbb},\n\t{value: 0xe500, lo: 0xbc, hi: 0xbc},\n\t{value: 0xc600, lo: 0xbd, hi: 0xbf},\n\t// Block 0x5f, offset 0x1e5\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x97},\n\t{value: 0xe500, lo: 0x98, hi: 0x98},\n\t{value: 0xc600, lo: 0x99, hi: 0xb3},\n\t{value: 0xe500, lo: 0xb4, hi: 0xb4},\n\t{value: 0xc600, lo: 0xb5, hi: 0xbf},\n\t// Block 0x60, offset 0x1eb\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x8f},\n\t{value: 0xe500, lo: 0x90, hi: 0x90},\n\t{value: 0xc600, lo: 0x91, hi: 0xab},\n\t{value: 0xe500, lo: 0xac, hi: 0xac},\n\t{value: 0xc600, lo: 0xad, hi: 0xbf},\n\t// Block 0x61, offset 0x1f1\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x87},\n\t{value: 0xe500, lo: 0x88, hi: 0x88},\n\t{value: 0xc600, lo: 0x89, hi: 0xa3},\n\t{value: 0xe500, lo: 0xa4, hi: 0xa4},\n\t{value: 0xc600, lo: 0xa5, hi: 0xbf},\n\t// Block 0x62, offset 0x1f7\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0xc600, lo: 0x80, hi: 0x87},\n\t{value: 0xe500, lo: 0x88, hi: 0x88},\n\t{value: 0xc600, lo: 0x89, hi: 0xa3},\n\t// Block 0x63, offset 0x1fb\n\t{value: 0x0006, lo: 0x0d},\n\t{value: 0x4390, lo: 0x9d, hi: 0x9d},\n\t{value: 0x8115, lo: 0x9e, hi: 0x9e},\n\t{value: 0x4402, lo: 0x9f, hi: 0x9f},\n\t{value: 0x43f0, lo: 0xaa, hi: 0xab},\n\t{value: 0x44f4, lo: 0xac, hi: 0xac},\n\t{value: 0x44fc, lo: 0xad, hi: 0xad},\n\t{value: 0x4348, lo: 0xae, hi: 0xb1},\n\t{value: 0x4366, lo: 0xb2, hi: 0xb4},\n\t{value: 0x437e, lo: 0xb5, hi: 0xb6},\n\t{value: 0x438a, lo: 0xb8, hi: 0xb8},\n\t{value: 0x4396, lo: 0xb9, hi: 0xbb},\n\t{value: 0x43ae, lo: 0xbc, hi: 0xbc},\n\t{value: 0x43b4, lo: 0xbe, hi: 0xbe},\n\t// Block 0x64, offset 0x209\n\t{value: 0x0006, lo: 0x08},\n\t{value: 0x43ba, lo: 0x80, hi: 0x81},\n\t{value: 0x43c6, lo: 0x83, hi: 0x84},\n\t{value: 0x43d8, lo: 0x86, hi: 0x89},\n\t{value: 0x43fc, lo: 0x8a, hi: 0x8a},\n\t{value: 0x4378, lo: 0x8b, hi: 0x8b},\n\t{value: 0x4360, lo: 0x8c, hi: 0x8c},\n\t{value: 0x43a8, lo: 0x8d, hi: 0x8d},\n\t{value: 0x43d2, lo: 0x8e, hi: 0x8e},\n\t// Block 0x65, offset 0x212\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8100, lo: 0xa4, hi: 0xa5},\n\t{value: 0x8100, lo: 0xb0, hi: 0xb1},\n\t// Block 0x66, offset 0x215\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8100, lo: 0x9b, hi: 0x9d},\n\t{value: 0x8200, lo: 0x9e, hi: 0xa3},\n\t// Block 0x67, offset 0x218\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8100, lo: 0x90, hi: 0x90},\n\t// Block 0x68, offset 0x21a\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8100, lo: 0x99, hi: 0x99},\n\t{value: 0x8200, lo: 0xb2, hi: 0xb4},\n\t// Block 0x69, offset 0x21d\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8100, lo: 0xbc, hi: 0xbd},\n\t// Block 0x6a, offset 0x21f\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x8132, lo: 0xa0, hi: 0xa6},\n\t{value: 0x812d, lo: 0xa7, hi: 0xad},\n\t{value: 0x8132, lo: 0xae, hi: 0xaf},\n\t// Block 0x6b, offset 0x223\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x8100, lo: 0x89, hi: 0x8c},\n\t{value: 0x8100, lo: 0xb0, hi: 0xb2},\n\t{value: 0x8100, lo: 0xb4, hi: 0xb4},\n\t{value: 0x8100, lo: 0xb6, hi: 0xbf},\n\t// Block 0x6c, offset 0x228\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8100, lo: 0x81, hi: 0x8c},\n\t// Block 0x6d, offset 0x22a\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8100, lo: 0xb5, hi: 0xba},\n\t// Block 0x6e, offset 0x22c\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x4a9f, lo: 0x9e, hi: 0x9f},\n\t{value: 0x4a9f, lo: 0xa3, hi: 0xa3},\n\t{value: 0x4a9f, lo: 0xa5, hi: 0xa6},\n\t{value: 0x4a9f, lo: 0xaa, hi: 0xaf},\n\t// Block 0x6f, offset 0x231\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x4a9f, lo: 0x82, hi: 0x87},\n\t{value: 0x4a9f, lo: 0x8a, hi: 0x8f},\n\t{value: 0x4a9f, lo: 0x92, hi: 0x97},\n\t{value: 0x4a9f, lo: 0x9a, hi: 0x9c},\n\t{value: 0x8100, lo: 0xa3, hi: 0xa3},\n\t// Block 0x70, offset 0x237\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0xbd, hi: 0xbd},\n\t// Block 0x71, offset 0x239\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0xa0, hi: 0xa0},\n\t// Block 0x72, offset 0x23b\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xb6, hi: 0xba},\n\t// Block 0x73, offset 0x23d\n\t{value: 0x002c, lo: 0x05},\n\t{value: 0x812d, lo: 0x8d, hi: 0x8d},\n\t{value: 0x8132, lo: 0x8f, hi: 0x8f},\n\t{value: 0x8132, lo: 0xb8, hi: 0xb8},\n\t{value: 0x8101, lo: 0xb9, hi: 0xba},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x74, offset 0x243\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0xa5, hi: 0xa5},\n\t{value: 0x812d, lo: 0xa6, hi: 0xa6},\n\t// Block 0x75, offset 0x246\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x86, hi: 0x86},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x76, offset 0x249\n\t{value: 0x17fe, lo: 0x07},\n\t{value: 0xa000, lo: 0x99, hi: 0x99},\n\t{value: 0x4238, lo: 0x9a, hi: 0x9a},\n\t{value: 0xa000, lo: 0x9b, hi: 0x9b},\n\t{value: 0x4242, lo: 0x9c, hi: 0x9c},\n\t{value: 0xa000, lo: 0xa5, hi: 0xa5},\n\t{value: 0x424c, lo: 0xab, hi: 0xab},\n\t{value: 0x8104, lo: 0xb9, hi: 0xba},\n\t// Block 0x77, offset 0x251\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x8132, lo: 0x80, hi: 0x82},\n\t{value: 0x9900, lo: 0xa7, hi: 0xa7},\n\t{value: 0x2d7e, lo: 0xae, hi: 0xae},\n\t{value: 0x2d88, lo: 0xaf, hi: 0xaf},\n\t{value: 0xa000, lo: 0xb1, hi: 0xb2},\n\t{value: 0x8104, lo: 0xb3, hi: 0xb4},\n\t// Block 0x78, offset 0x258\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x80, hi: 0x80},\n\t{value: 0x8102, lo: 0x8a, hi: 0x8a},\n\t// Block 0x79, offset 0x25b\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0xb5, hi: 0xb5},\n\t{value: 0x8102, lo: 0xb6, hi: 0xb6},\n\t// Block 0x7a, offset 0x25e\n\t{value: 0x0002, lo: 0x01},\n\t{value: 0x8102, lo: 0xa9, hi: 0xaa},\n\t// Block 0x7b, offset 0x260\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0xa000, lo: 0x87, hi: 0x87},\n\t{value: 0x2d92, lo: 0x8b, hi: 0x8b},\n\t{value: 0x2d9c, lo: 0x8c, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x97, hi: 0x97},\n\t{value: 0x8132, lo: 0xa6, hi: 0xac},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb4},\n\t// Block 0x7c, offset 0x268\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x82, hi: 0x82},\n\t{value: 0x8102, lo: 0x86, hi: 0x86},\n\t// Block 0x7d, offset 0x26b\n\t{value: 0x6b5a, lo: 0x06},\n\t{value: 0x9900, lo: 0xb0, hi: 0xb0},\n\t{value: 0xa000, lo: 0xb9, hi: 0xb9},\n\t{value: 0x9900, lo: 0xba, hi: 0xba},\n\t{value: 0x2db0, lo: 0xbb, hi: 0xbb},\n\t{value: 0x2da6, lo: 0xbc, hi: 0xbd},\n\t{value: 0x2dba, lo: 0xbe, hi: 0xbe},\n\t// Block 0x7e, offset 0x272\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x82, hi: 0x82},\n\t{value: 0x8102, lo: 0x83, hi: 0x83},\n\t// Block 0x7f, offset 0x275\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x9900, lo: 0xaf, hi: 0xaf},\n\t{value: 0xa000, lo: 0xb8, hi: 0xb9},\n\t{value: 0x2dc4, lo: 0xba, hi: 0xba},\n\t{value: 0x2dce, lo: 0xbb, hi: 0xbb},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x80, offset 0x27b\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8102, lo: 0x80, hi: 0x80},\n\t// Block 0x81, offset 0x27d\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0xb6, hi: 0xb6},\n\t{value: 0x8102, lo: 0xb7, hi: 0xb7},\n\t// Block 0x82, offset 0x280\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xab, hi: 0xab},\n\t// Block 0x83, offset 0x282\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8101, lo: 0xb0, hi: 0xb4},\n\t// Block 0x84, offset 0x284\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb6},\n\t// Block 0x85, offset 0x286\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8101, lo: 0x9e, hi: 0x9e},\n\t// Block 0x86, offset 0x288\n\t{value: 0x0000, lo: 0x0c},\n\t{value: 0x45cc, lo: 0x9e, hi: 0x9e},\n\t{value: 0x45d6, lo: 0x9f, hi: 0x9f},\n\t{value: 0x460a, lo: 0xa0, hi: 0xa0},\n\t{value: 0x4618, lo: 0xa1, hi: 0xa1},\n\t{value: 0x4626, lo: 0xa2, hi: 0xa2},\n\t{value: 0x4634, lo: 0xa3, hi: 0xa3},\n\t{value: 0x4642, lo: 0xa4, hi: 0xa4},\n\t{value: 0x812b, lo: 0xa5, hi: 0xa6},\n\t{value: 0x8101, lo: 0xa7, hi: 0xa9},\n\t{value: 0x8130, lo: 0xad, hi: 0xad},\n\t{value: 0x812b, lo: 0xae, hi: 0xb2},\n\t{value: 0x812d, lo: 0xbb, hi: 0xbf},\n\t// Block 0x87, offset 0x295\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x812d, lo: 0x80, hi: 0x82},\n\t{value: 0x8132, lo: 0x85, hi: 0x89},\n\t{value: 0x812d, lo: 0x8a, hi: 0x8b},\n\t{value: 0x8132, lo: 0xaa, hi: 0xad},\n\t{value: 0x45e0, lo: 0xbb, hi: 0xbb},\n\t{value: 0x45ea, lo: 0xbc, hi: 0xbc},\n\t{value: 0x4650, lo: 0xbd, hi: 0xbd},\n\t{value: 0x466c, lo: 0xbe, hi: 0xbe},\n\t{value: 0x465e, lo: 0xbf, hi: 0xbf},\n\t// Block 0x88, offset 0x29f\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x467a, lo: 0x80, hi: 0x80},\n\t// Block 0x89, offset 0x2a1\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0x82, hi: 0x84},\n\t// Block 0x8a, offset 0x2a3\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x8132, lo: 0x80, hi: 0x86},\n\t{value: 0x8132, lo: 0x88, hi: 0x98},\n\t{value: 0x8132, lo: 0x9b, hi: 0xa1},\n\t{value: 0x8132, lo: 0xa3, hi: 0xa4},\n\t{value: 0x8132, lo: 0xa6, hi: 0xaa},\n\t// Block 0x8b, offset 0x2a9\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0x90, hi: 0x96},\n\t// Block 0x8c, offset 0x2ab\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0x84, hi: 0x89},\n\t{value: 0x8102, lo: 0x8a, hi: 0x8a},\n\t// Block 0x8d, offset 0x2ae\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8100, lo: 0x93, hi: 0x93},\n}\n\n// lookup returns the trie value for the first UTF-8 encoding in s and\n// the width in bytes of this encoding. The size will be 0 if s does not\n// hold enough bytes to complete the encoding. len(s) must be greater than 0.\nfunc (t *nfkcTrie) lookup(s []byte) (v uint16, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < 0x80: // is ASCII\n\t\treturn nfkcValues[c0], 1\n\tcase c0 < 0xC2:\n\t\treturn 0, 1 // Illegal UTF-8: not a starter, not ASCII.\n\tcase c0 < 0xE0: // 2-byte UTF-8\n\t\tif len(s) < 2 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfkcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c1), 2\n\tcase c0 < 0xF0: // 3-byte UTF-8\n\t\tif len(s) < 3 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfkcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = nfkcIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c2), 3\n\tcase c0 < 0xF8: // 4-byte UTF-8\n\t\tif len(s) < 4 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfkcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = nfkcIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to = uint32(i)<<6 + uint32(c2)\n\t\ti = nfkcIndex[o]\n\t\tc3 := s[3]\n\t\tif c3 < 0x80 || 0xC0 <= c3 {\n\t\t\treturn 0, 3 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c3), 4\n\t}\n\t// Illegal rune\n\treturn 0, 1\n}\n\n// lookupUnsafe returns the trie value for the first UTF-8 encoding in s.\n// s must start with a full and valid UTF-8 encoded rune.\nfunc (t *nfkcTrie) lookupUnsafe(s []byte) uint16 {\n\tc0 := s[0]\n\tif c0 < 0x80 { // is ASCII\n\t\treturn nfkcValues[c0]\n\t}\n\ti := nfkcIndex[c0]\n\tif c0 < 0xE0 { // 2-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[1])\n\t}\n\ti = nfkcIndex[uint32(i)<<6+uint32(s[1])]\n\tif c0 < 0xF0 { // 3-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[2])\n\t}\n\ti = nfkcIndex[uint32(i)<<6+uint32(s[2])]\n\tif c0 < 0xF8 { // 4-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[3])\n\t}\n\treturn 0\n}\n\n// lookupString returns the trie value for the first UTF-8 encoding in s and\n// the width in bytes of this encoding. The size will be 0 if s does not\n// hold enough bytes to complete the encoding. len(s) must be greater than 0.\nfunc (t *nfkcTrie) lookupString(s string) (v uint16, sz int) {\n\tc0 := s[0]\n\tswitch {\n\tcase c0 < 0x80: // is ASCII\n\t\treturn nfkcValues[c0], 1\n\tcase c0 < 0xC2:\n\t\treturn 0, 1 // Illegal UTF-8: not a starter, not ASCII.\n\tcase c0 < 0xE0: // 2-byte UTF-8\n\t\tif len(s) < 2 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfkcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c1), 2\n\tcase c0 < 0xF0: // 3-byte UTF-8\n\t\tif len(s) < 3 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfkcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = nfkcIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c2), 3\n\tcase c0 < 0xF8: // 4-byte UTF-8\n\t\tif len(s) < 4 {\n\t\t\treturn 0, 0\n\t\t}\n\t\ti := nfkcIndex[c0]\n\t\tc1 := s[1]\n\t\tif c1 < 0x80 || 0xC0 <= c1 {\n\t\t\treturn 0, 1 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to := uint32(i)<<6 + uint32(c1)\n\t\ti = nfkcIndex[o]\n\t\tc2 := s[2]\n\t\tif c2 < 0x80 || 0xC0 <= c2 {\n\t\t\treturn 0, 2 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\to = uint32(i)<<6 + uint32(c2)\n\t\ti = nfkcIndex[o]\n\t\tc3 := s[3]\n\t\tif c3 < 0x80 || 0xC0 <= c3 {\n\t\t\treturn 0, 3 // Illegal UTF-8: not a continuation byte.\n\t\t}\n\t\treturn t.lookupValue(uint32(i), c3), 4\n\t}\n\t// Illegal rune\n\treturn 0, 1\n}\n\n// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s.\n// s must start with a full and valid UTF-8 encoded rune.\nfunc (t *nfkcTrie) lookupStringUnsafe(s string) uint16 {\n\tc0 := s[0]\n\tif c0 < 0x80 { // is ASCII\n\t\treturn nfkcValues[c0]\n\t}\n\ti := nfkcIndex[c0]\n\tif c0 < 0xE0 { // 2-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[1])\n\t}\n\ti = nfkcIndex[uint32(i)<<6+uint32(s[1])]\n\tif c0 < 0xF0 { // 3-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[2])\n\t}\n\ti = nfkcIndex[uint32(i)<<6+uint32(s[2])]\n\tif c0 < 0xF8 { // 4-byte UTF-8\n\t\treturn t.lookupValue(uint32(i), s[3])\n\t}\n\treturn 0\n}\n\n// nfkcTrie. Total size: 16994 bytes (16.60 KiB). Checksum: c3ed54ee046f3c46.\ntype nfkcTrie struct{}\n\nfunc newNfkcTrie(i int) *nfkcTrie {\n\treturn &nfkcTrie{}\n}\n\n// lookupValue determines the type of block n and looks up the value for b.\nfunc (t *nfkcTrie) lookupValue(n uint32, b byte) uint16 {\n\tswitch {\n\tcase n < 90:\n\t\treturn uint16(nfkcValues[n<<6+uint32(b)])\n\tdefault:\n\t\tn -= 90\n\t\treturn uint16(nfkcSparse.lookup(n, b))\n\t}\n}\n\n// nfkcValues: 92 blocks, 5888 entries, 11776 bytes\n// The third block is the zero block.\nvar nfkcValues = [5888]uint16{\n\t// Block 0x0, offset 0x0\n\t0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000,\n\t// Block 0x1, offset 0x40\n\t0x41: 0xa000, 0x42: 0xa000, 0x43: 0xa000, 0x44: 0xa000, 0x45: 0xa000,\n\t0x46: 0xa000, 0x47: 0xa000, 0x48: 0xa000, 0x49: 0xa000, 0x4a: 0xa000, 0x4b: 0xa000,\n\t0x4c: 0xa000, 0x4d: 0xa000, 0x4e: 0xa000, 0x4f: 0xa000, 0x50: 0xa000,\n\t0x52: 0xa000, 0x53: 0xa000, 0x54: 0xa000, 0x55: 0xa000, 0x56: 0xa000, 0x57: 0xa000,\n\t0x58: 0xa000, 0x59: 0xa000, 0x5a: 0xa000,\n\t0x61: 0xa000, 0x62: 0xa000, 0x63: 0xa000,\n\t0x64: 0xa000, 0x65: 0xa000, 0x66: 0xa000, 0x67: 0xa000, 0x68: 0xa000, 0x69: 0xa000,\n\t0x6a: 0xa000, 0x6b: 0xa000, 0x6c: 0xa000, 0x6d: 0xa000, 0x6e: 0xa000, 0x6f: 0xa000,\n\t0x70: 0xa000, 0x72: 0xa000, 0x73: 0xa000, 0x74: 0xa000, 0x75: 0xa000,\n\t0x76: 0xa000, 0x77: 0xa000, 0x78: 0xa000, 0x79: 0xa000, 0x7a: 0xa000,\n\t// Block 0x2, offset 0x80\n\t// Block 0x3, offset 0xc0\n\t0xc0: 0x2f6f, 0xc1: 0x2f74, 0xc2: 0x4688, 0xc3: 0x2f79, 0xc4: 0x4697, 0xc5: 0x469c,\n\t0xc6: 0xa000, 0xc7: 0x46a6, 0xc8: 0x2fe2, 0xc9: 0x2fe7, 0xca: 0x46ab, 0xcb: 0x2ffb,\n\t0xcc: 0x306e, 0xcd: 0x3073, 0xce: 0x3078, 0xcf: 0x46bf, 0xd1: 0x3104,\n\t0xd2: 0x3127, 0xd3: 0x312c, 0xd4: 0x46c9, 0xd5: 0x46ce, 0xd6: 0x46dd,\n\t0xd8: 0xa000, 0xd9: 0x31b3, 0xda: 0x31b8, 0xdb: 0x31bd, 0xdc: 0x470f, 0xdd: 0x3235,\n\t0xe0: 0x327b, 0xe1: 0x3280, 0xe2: 0x4719, 0xe3: 0x3285,\n\t0xe4: 0x4728, 0xe5: 0x472d, 0xe6: 0xa000, 0xe7: 0x4737, 0xe8: 0x32ee, 0xe9: 0x32f3,\n\t0xea: 0x473c, 0xeb: 0x3307, 0xec: 0x337f, 0xed: 0x3384, 0xee: 0x3389, 0xef: 0x4750,\n\t0xf1: 0x3415, 0xf2: 0x3438, 0xf3: 0x343d, 0xf4: 0x475a, 0xf5: 0x475f,\n\t0xf6: 0x476e, 0xf8: 0xa000, 0xf9: 0x34c9, 0xfa: 0x34ce, 0xfb: 0x34d3,\n\t0xfc: 0x47a0, 0xfd: 0x3550, 0xff: 0x3569,\n\t// Block 0x4, offset 0x100\n\t0x100: 0x2f7e, 0x101: 0x328a, 0x102: 0x468d, 0x103: 0x471e, 0x104: 0x2f9c, 0x105: 0x32a8,\n\t0x106: 0x2fb0, 0x107: 0x32bc, 0x108: 0x2fb5, 0x109: 0x32c1, 0x10a: 0x2fba, 0x10b: 0x32c6,\n\t0x10c: 0x2fbf, 0x10d: 0x32cb, 0x10e: 0x2fc9, 0x10f: 0x32d5,\n\t0x112: 0x46b0, 0x113: 0x4741, 0x114: 0x2ff1, 0x115: 0x32fd, 0x116: 0x2ff6, 0x117: 0x3302,\n\t0x118: 0x3014, 0x119: 0x3320, 0x11a: 0x3005, 0x11b: 0x3311, 0x11c: 0x302d, 0x11d: 0x3339,\n\t0x11e: 0x3037, 0x11f: 0x3343, 0x120: 0x303c, 0x121: 0x3348, 0x122: 0x3046, 0x123: 0x3352,\n\t0x124: 0x304b, 0x125: 0x3357, 0x128: 0x307d, 0x129: 0x338e,\n\t0x12a: 0x3082, 0x12b: 0x3393, 0x12c: 0x3087, 0x12d: 0x3398, 0x12e: 0x30aa, 0x12f: 0x33b6,\n\t0x130: 0x308c, 0x132: 0x195d, 0x133: 0x19e7, 0x134: 0x30b4, 0x135: 0x33c0,\n\t0x136: 0x30c8, 0x137: 0x33d9, 0x139: 0x30d2, 0x13a: 0x33e3, 0x13b: 0x30dc,\n\t0x13c: 0x33ed, 0x13d: 0x30d7, 0x13e: 0x33e8, 0x13f: 0x1bac,\n\t// Block 0x5, offset 0x140\n\t0x140: 0x1c34, 0x143: 0x30ff, 0x144: 0x3410, 0x145: 0x3118,\n\t0x146: 0x3429, 0x147: 0x310e, 0x148: 0x341f, 0x149: 0x1c5c,\n\t0x14c: 0x46d3, 0x14d: 0x4764, 0x14e: 0x3131, 0x14f: 0x3442, 0x150: 0x313b, 0x151: 0x344c,\n\t0x154: 0x3159, 0x155: 0x346a, 0x156: 0x3172, 0x157: 0x3483,\n\t0x158: 0x3163, 0x159: 0x3474, 0x15a: 0x46f6, 0x15b: 0x4787, 0x15c: 0x317c, 0x15d: 0x348d,\n\t0x15e: 0x318b, 0x15f: 0x349c, 0x160: 0x46fb, 0x161: 0x478c, 0x162: 0x31a4, 0x163: 0x34ba,\n\t0x164: 0x3195, 0x165: 0x34ab, 0x168: 0x4705, 0x169: 0x4796,\n\t0x16a: 0x470a, 0x16b: 0x479b, 0x16c: 0x31c2, 0x16d: 0x34d8, 0x16e: 0x31cc, 0x16f: 0x34e2,\n\t0x170: 0x31d1, 0x171: 0x34e7, 0x172: 0x31ef, 0x173: 0x3505, 0x174: 0x3212, 0x175: 0x3528,\n\t0x176: 0x323a, 0x177: 0x3555, 0x178: 0x324e, 0x179: 0x325d, 0x17a: 0x357d, 0x17b: 0x3267,\n\t0x17c: 0x3587, 0x17d: 0x326c, 0x17e: 0x358c, 0x17f: 0x00a7,\n\t// Block 0x6, offset 0x180\n\t0x184: 0x2dee, 0x185: 0x2df4,\n\t0x186: 0x2dfa, 0x187: 0x1972, 0x188: 0x1975, 0x189: 0x1a08, 0x18a: 0x1987, 0x18b: 0x198a,\n\t0x18c: 0x1a3e, 0x18d: 0x2f88, 0x18e: 0x3294, 0x18f: 0x3096, 0x190: 0x33a2, 0x191: 0x3140,\n\t0x192: 0x3451, 0x193: 0x31d6, 0x194: 0x34ec, 0x195: 0x39cf, 0x196: 0x3b5e, 0x197: 0x39c8,\n\t0x198: 0x3b57, 0x199: 0x39d6, 0x19a: 0x3b65, 0x19b: 0x39c1, 0x19c: 0x3b50,\n\t0x19e: 0x38b0, 0x19f: 0x3a3f, 0x1a0: 0x38a9, 0x1a1: 0x3a38, 0x1a2: 0x35b3, 0x1a3: 0x35c5,\n\t0x1a6: 0x3041, 0x1a7: 0x334d, 0x1a8: 0x30be, 0x1a9: 0x33cf,\n\t0x1aa: 0x46ec, 0x1ab: 0x477d, 0x1ac: 0x3990, 0x1ad: 0x3b1f, 0x1ae: 0x35d7, 0x1af: 0x35dd,\n\t0x1b0: 0x33c5, 0x1b1: 0x1942, 0x1b2: 0x1945, 0x1b3: 0x19cf, 0x1b4: 0x3028, 0x1b5: 0x3334,\n\t0x1b8: 0x30fa, 0x1b9: 0x340b, 0x1ba: 0x38b7, 0x1bb: 0x3a46,\n\t0x1bc: 0x35ad, 0x1bd: 0x35bf, 0x1be: 0x35b9, 0x1bf: 0x35cb,\n\t// Block 0x7, offset 0x1c0\n\t0x1c0: 0x2f8d, 0x1c1: 0x3299, 0x1c2: 0x2f92, 0x1c3: 0x329e, 0x1c4: 0x300a, 0x1c5: 0x3316,\n\t0x1c6: 0x300f, 0x1c7: 0x331b, 0x1c8: 0x309b, 0x1c9: 0x33a7, 0x1ca: 0x30a0, 0x1cb: 0x33ac,\n\t0x1cc: 0x3145, 0x1cd: 0x3456, 0x1ce: 0x314a, 0x1cf: 0x345b, 0x1d0: 0x3168, 0x1d1: 0x3479,\n\t0x1d2: 0x316d, 0x1d3: 0x347e, 0x1d4: 0x31db, 0x1d5: 0x34f1, 0x1d6: 0x31e0, 0x1d7: 0x34f6,\n\t0x1d8: 0x3186, 0x1d9: 0x3497, 0x1da: 0x319f, 0x1db: 0x34b5,\n\t0x1de: 0x305a, 0x1df: 0x3366,\n\t0x1e6: 0x4692, 0x1e7: 0x4723, 0x1e8: 0x46ba, 0x1e9: 0x474b,\n\t0x1ea: 0x395f, 0x1eb: 0x3aee, 0x1ec: 0x393c, 0x1ed: 0x3acb, 0x1ee: 0x46d8, 0x1ef: 0x4769,\n\t0x1f0: 0x3958, 0x1f1: 0x3ae7, 0x1f2: 0x3244, 0x1f3: 0x355f,\n\t// Block 0x8, offset 0x200\n\t0x200: 0x9932, 0x201: 0x9932, 0x202: 0x9932, 0x203: 0x9932, 0x204: 0x9932, 0x205: 0x8132,\n\t0x206: 0x9932, 0x207: 0x9932, 0x208: 0x9932, 0x209: 0x9932, 0x20a: 0x9932, 0x20b: 0x9932,\n\t0x20c: 0x9932, 0x20d: 0x8132, 0x20e: 0x8132, 0x20f: 0x9932, 0x210: 0x8132, 0x211: 0x9932,\n\t0x212: 0x8132, 0x213: 0x9932, 0x214: 0x9932, 0x215: 0x8133, 0x216: 0x812d, 0x217: 0x812d,\n\t0x218: 0x812d, 0x219: 0x812d, 0x21a: 0x8133, 0x21b: 0x992b, 0x21c: 0x812d, 0x21d: 0x812d,\n\t0x21e: 0x812d, 0x21f: 0x812d, 0x220: 0x812d, 0x221: 0x8129, 0x222: 0x8129, 0x223: 0x992d,\n\t0x224: 0x992d, 0x225: 0x992d, 0x226: 0x992d, 0x227: 0x9929, 0x228: 0x9929, 0x229: 0x812d,\n\t0x22a: 0x812d, 0x22b: 0x812d, 0x22c: 0x812d, 0x22d: 0x992d, 0x22e: 0x992d, 0x22f: 0x812d,\n\t0x230: 0x992d, 0x231: 0x992d, 0x232: 0x812d, 0x233: 0x812d, 0x234: 0x8101, 0x235: 0x8101,\n\t0x236: 0x8101, 0x237: 0x8101, 0x238: 0x9901, 0x239: 0x812d, 0x23a: 0x812d, 0x23b: 0x812d,\n\t0x23c: 0x812d, 0x23d: 0x8132, 0x23e: 0x8132, 0x23f: 0x8132,\n\t// Block 0x9, offset 0x240\n\t0x240: 0x49ae, 0x241: 0x49b3, 0x242: 0x9932, 0x243: 0x49b8, 0x244: 0x4a71, 0x245: 0x9936,\n\t0x246: 0x8132, 0x247: 0x812d, 0x248: 0x812d, 0x249: 0x812d, 0x24a: 0x8132, 0x24b: 0x8132,\n\t0x24c: 0x8132, 0x24d: 0x812d, 0x24e: 0x812d, 0x250: 0x8132, 0x251: 0x8132,\n\t0x252: 0x8132, 0x253: 0x812d, 0x254: 0x812d, 0x255: 0x812d, 0x256: 0x812d, 0x257: 0x8132,\n\t0x258: 0x8133, 0x259: 0x812d, 0x25a: 0x812d, 0x25b: 0x8132, 0x25c: 0x8134, 0x25d: 0x8135,\n\t0x25e: 0x8135, 0x25f: 0x8134, 0x260: 0x8135, 0x261: 0x8135, 0x262: 0x8134, 0x263: 0x8132,\n\t0x264: 0x8132, 0x265: 0x8132, 0x266: 0x8132, 0x267: 0x8132, 0x268: 0x8132, 0x269: 0x8132,\n\t0x26a: 0x8132, 0x26b: 0x8132, 0x26c: 0x8132, 0x26d: 0x8132, 0x26e: 0x8132, 0x26f: 0x8132,\n\t0x274: 0x0170,\n\t0x27a: 0x42a5,\n\t0x27e: 0x0037,\n\t// Block 0xa, offset 0x280\n\t0x284: 0x425a, 0x285: 0x447b,\n\t0x286: 0x35e9, 0x287: 0x00ce, 0x288: 0x3607, 0x289: 0x3613, 0x28a: 0x3625,\n\t0x28c: 0x3643, 0x28e: 0x3655, 0x28f: 0x3673, 0x290: 0x3e08, 0x291: 0xa000,\n\t0x295: 0xa000, 0x297: 0xa000,\n\t0x299: 0xa000,\n\t0x29f: 0xa000, 0x2a1: 0xa000,\n\t0x2a5: 0xa000, 0x2a9: 0xa000,\n\t0x2aa: 0x3637, 0x2ab: 0x3667, 0x2ac: 0x47fe, 0x2ad: 0x3697, 0x2ae: 0x4828, 0x2af: 0x36a9,\n\t0x2b0: 0x3e70, 0x2b1: 0xa000, 0x2b5: 0xa000,\n\t0x2b7: 0xa000, 0x2b9: 0xa000,\n\t0x2bf: 0xa000,\n\t// Block 0xb, offset 0x2c0\n\t0x2c1: 0xa000, 0x2c5: 0xa000,\n\t0x2c9: 0xa000, 0x2ca: 0x4840, 0x2cb: 0x485e,\n\t0x2cc: 0x36c7, 0x2cd: 0x36df, 0x2ce: 0x4876, 0x2d0: 0x01be, 0x2d1: 0x01d0,\n\t0x2d2: 0x01ac, 0x2d3: 0x430c, 0x2d4: 0x4312, 0x2d5: 0x01fa, 0x2d6: 0x01e8,\n\t0x2f0: 0x01d6, 0x2f1: 0x01eb, 0x2f2: 0x01ee, 0x2f4: 0x0188, 0x2f5: 0x01c7,\n\t0x2f9: 0x01a6,\n\t// Block 0xc, offset 0x300\n\t0x300: 0x3721, 0x301: 0x372d, 0x303: 0x371b,\n\t0x306: 0xa000, 0x307: 0x3709,\n\t0x30c: 0x375d, 0x30d: 0x3745, 0x30e: 0x376f, 0x310: 0xa000,\n\t0x313: 0xa000, 0x315: 0xa000, 0x316: 0xa000, 0x317: 0xa000,\n\t0x318: 0xa000, 0x319: 0x3751, 0x31a: 0xa000,\n\t0x31e: 0xa000, 0x323: 0xa000,\n\t0x327: 0xa000,\n\t0x32b: 0xa000, 0x32d: 0xa000,\n\t0x330: 0xa000, 0x333: 0xa000, 0x335: 0xa000,\n\t0x336: 0xa000, 0x337: 0xa000, 0x338: 0xa000, 0x339: 0x37d5, 0x33a: 0xa000,\n\t0x33e: 0xa000,\n\t// Block 0xd, offset 0x340\n\t0x341: 0x3733, 0x342: 0x37b7,\n\t0x350: 0x370f, 0x351: 0x3793,\n\t0x352: 0x3715, 0x353: 0x3799, 0x356: 0x3727, 0x357: 0x37ab,\n\t0x358: 0xa000, 0x359: 0xa000, 0x35a: 0x3829, 0x35b: 0x382f, 0x35c: 0x3739, 0x35d: 0x37bd,\n\t0x35e: 0x373f, 0x35f: 0x37c3, 0x362: 0x374b, 0x363: 0x37cf,\n\t0x364: 0x3757, 0x365: 0x37db, 0x366: 0x3763, 0x367: 0x37e7, 0x368: 0xa000, 0x369: 0xa000,\n\t0x36a: 0x3835, 0x36b: 0x383b, 0x36c: 0x378d, 0x36d: 0x3811, 0x36e: 0x3769, 0x36f: 0x37ed,\n\t0x370: 0x3775, 0x371: 0x37f9, 0x372: 0x377b, 0x373: 0x37ff, 0x374: 0x3781, 0x375: 0x3805,\n\t0x378: 0x3787, 0x379: 0x380b,\n\t// Block 0xe, offset 0x380\n\t0x387: 0x1d61,\n\t0x391: 0x812d,\n\t0x392: 0x8132, 0x393: 0x8132, 0x394: 0x8132, 0x395: 0x8132, 0x396: 0x812d, 0x397: 0x8132,\n\t0x398: 0x8132, 0x399: 0x8132, 0x39a: 0x812e, 0x39b: 0x812d, 0x39c: 0x8132, 0x39d: 0x8132,\n\t0x39e: 0x8132, 0x39f: 0x8132, 0x3a0: 0x8132, 0x3a1: 0x8132, 0x3a2: 0x812d, 0x3a3: 0x812d,\n\t0x3a4: 0x812d, 0x3a5: 0x812d, 0x3a6: 0x812d, 0x3a7: 0x812d, 0x3a8: 0x8132, 0x3a9: 0x8132,\n\t0x3aa: 0x812d, 0x3ab: 0x8132, 0x3ac: 0x8132, 0x3ad: 0x812e, 0x3ae: 0x8131, 0x3af: 0x8132,\n\t0x3b0: 0x8105, 0x3b1: 0x8106, 0x3b2: 0x8107, 0x3b3: 0x8108, 0x3b4: 0x8109, 0x3b5: 0x810a,\n\t0x3b6: 0x810b, 0x3b7: 0x810c, 0x3b8: 0x810d, 0x3b9: 0x810e, 0x3ba: 0x810e, 0x3bb: 0x810f,\n\t0x3bc: 0x8110, 0x3bd: 0x8111, 0x3bf: 0x8112,\n\t// Block 0xf, offset 0x3c0\n\t0x3c8: 0xa000, 0x3ca: 0xa000, 0x3cb: 0x8116,\n\t0x3cc: 0x8117, 0x3cd: 0x8118, 0x3ce: 0x8119, 0x3cf: 0x811a, 0x3d0: 0x811b, 0x3d1: 0x811c,\n\t0x3d2: 0x811d, 0x3d3: 0x9932, 0x3d4: 0x9932, 0x3d5: 0x992d, 0x3d6: 0x812d, 0x3d7: 0x8132,\n\t0x3d8: 0x8132, 0x3d9: 0x8132, 0x3da: 0x8132, 0x3db: 0x8132, 0x3dc: 0x812d, 0x3dd: 0x8132,\n\t0x3de: 0x8132, 0x3df: 0x812d,\n\t0x3f0: 0x811e, 0x3f5: 0x1d84,\n\t0x3f6: 0x2013, 0x3f7: 0x204f, 0x3f8: 0x204a,\n\t// Block 0x10, offset 0x400\n\t0x405: 0xa000,\n\t0x406: 0x2d26, 0x407: 0xa000, 0x408: 0x2d2e, 0x409: 0xa000, 0x40a: 0x2d36, 0x40b: 0xa000,\n\t0x40c: 0x2d3e, 0x40d: 0xa000, 0x40e: 0x2d46, 0x411: 0xa000,\n\t0x412: 0x2d4e,\n\t0x434: 0x8102, 0x435: 0x9900,\n\t0x43a: 0xa000, 0x43b: 0x2d56,\n\t0x43c: 0xa000, 0x43d: 0x2d5e, 0x43e: 0xa000, 0x43f: 0xa000,\n\t// Block 0x11, offset 0x440\n\t0x440: 0x0069, 0x441: 0x006b, 0x442: 0x006f, 0x443: 0x0083, 0x444: 0x00f5, 0x445: 0x00f8,\n\t0x446: 0x0413, 0x447: 0x0085, 0x448: 0x0089, 0x449: 0x008b, 0x44a: 0x0104, 0x44b: 0x0107,\n\t0x44c: 0x010a, 0x44d: 0x008f, 0x44f: 0x0097, 0x450: 0x009b, 0x451: 0x00e0,\n\t0x452: 0x009f, 0x453: 0x00fe, 0x454: 0x0417, 0x455: 0x041b, 0x456: 0x00a1, 0x457: 0x00a9,\n\t0x458: 0x00ab, 0x459: 0x0423, 0x45a: 0x012b, 0x45b: 0x00ad, 0x45c: 0x0427, 0x45d: 0x01be,\n\t0x45e: 0x01c1, 0x45f: 0x01c4, 0x460: 0x01fa, 0x461: 0x01fd, 0x462: 0x0093, 0x463: 0x00a5,\n\t0x464: 0x00ab, 0x465: 0x00ad, 0x466: 0x01be, 0x467: 0x01c1, 0x468: 0x01eb, 0x469: 0x01fa,\n\t0x46a: 0x01fd,\n\t0x478: 0x020c,\n\t// Block 0x12, offset 0x480\n\t0x49b: 0x00fb, 0x49c: 0x0087, 0x49d: 0x0101,\n\t0x49e: 0x00d4, 0x49f: 0x010a, 0x4a0: 0x008d, 0x4a1: 0x010d, 0x4a2: 0x0110, 0x4a3: 0x0116,\n\t0x4a4: 0x011c, 0x4a5: 0x011f, 0x4a6: 0x0122, 0x4a7: 0x042b, 0x4a8: 0x016a, 0x4a9: 0x0128,\n\t0x4aa: 0x042f, 0x4ab: 0x016d, 0x4ac: 0x0131, 0x4ad: 0x012e, 0x4ae: 0x0134, 0x4af: 0x0137,\n\t0x4b0: 0x013a, 0x4b1: 0x013d, 0x4b2: 0x0140, 0x4b3: 0x014c, 0x4b4: 0x014f, 0x4b5: 0x00ec,\n\t0x4b6: 0x0152, 0x4b7: 0x0155, 0x4b8: 0x041f, 0x4b9: 0x0158, 0x4ba: 0x015b, 0x4bb: 0x00b5,\n\t0x4bc: 0x015e, 0x4bd: 0x0161, 0x4be: 0x0164, 0x4bf: 0x01d0,\n\t// Block 0x13, offset 0x4c0\n\t0x4c0: 0x2f97, 0x4c1: 0x32a3, 0x4c2: 0x2fa1, 0x4c3: 0x32ad, 0x4c4: 0x2fa6, 0x4c5: 0x32b2,\n\t0x4c6: 0x2fab, 0x4c7: 0x32b7, 0x4c8: 0x38cc, 0x4c9: 0x3a5b, 0x4ca: 0x2fc4, 0x4cb: 0x32d0,\n\t0x4cc: 0x2fce, 0x4cd: 0x32da, 0x4ce: 0x2fdd, 0x4cf: 0x32e9, 0x4d0: 0x2fd3, 0x4d1: 0x32df,\n\t0x4d2: 0x2fd8, 0x4d3: 0x32e4, 0x4d4: 0x38ef, 0x4d5: 0x3a7e, 0x4d6: 0x38f6, 0x4d7: 0x3a85,\n\t0x4d8: 0x3019, 0x4d9: 0x3325, 0x4da: 0x301e, 0x4db: 0x332a, 0x4dc: 0x3904, 0x4dd: 0x3a93,\n\t0x4de: 0x3023, 0x4df: 0x332f, 0x4e0: 0x3032, 0x4e1: 0x333e, 0x4e2: 0x3050, 0x4e3: 0x335c,\n\t0x4e4: 0x305f, 0x4e5: 0x336b, 0x4e6: 0x3055, 0x4e7: 0x3361, 0x4e8: 0x3064, 0x4e9: 0x3370,\n\t0x4ea: 0x3069, 0x4eb: 0x3375, 0x4ec: 0x30af, 0x4ed: 0x33bb, 0x4ee: 0x390b, 0x4ef: 0x3a9a,\n\t0x4f0: 0x30b9, 0x4f1: 0x33ca, 0x4f2: 0x30c3, 0x4f3: 0x33d4, 0x4f4: 0x30cd, 0x4f5: 0x33de,\n\t0x4f6: 0x46c4, 0x4f7: 0x4755, 0x4f8: 0x3912, 0x4f9: 0x3aa1, 0x4fa: 0x30e6, 0x4fb: 0x33f7,\n\t0x4fc: 0x30e1, 0x4fd: 0x33f2, 0x4fe: 0x30eb, 0x4ff: 0x33fc,\n\t// Block 0x14, offset 0x500\n\t0x500: 0x30f0, 0x501: 0x3401, 0x502: 0x30f5, 0x503: 0x3406, 0x504: 0x3109, 0x505: 0x341a,\n\t0x506: 0x3113, 0x507: 0x3424, 0x508: 0x3122, 0x509: 0x3433, 0x50a: 0x311d, 0x50b: 0x342e,\n\t0x50c: 0x3935, 0x50d: 0x3ac4, 0x50e: 0x3943, 0x50f: 0x3ad2, 0x510: 0x394a, 0x511: 0x3ad9,\n\t0x512: 0x3951, 0x513: 0x3ae0, 0x514: 0x314f, 0x515: 0x3460, 0x516: 0x3154, 0x517: 0x3465,\n\t0x518: 0x315e, 0x519: 0x346f, 0x51a: 0x46f1, 0x51b: 0x4782, 0x51c: 0x3997, 0x51d: 0x3b26,\n\t0x51e: 0x3177, 0x51f: 0x3488, 0x520: 0x3181, 0x521: 0x3492, 0x522: 0x4700, 0x523: 0x4791,\n\t0x524: 0x399e, 0x525: 0x3b2d, 0x526: 0x39a5, 0x527: 0x3b34, 0x528: 0x39ac, 0x529: 0x3b3b,\n\t0x52a: 0x3190, 0x52b: 0x34a1, 0x52c: 0x319a, 0x52d: 0x34b0, 0x52e: 0x31ae, 0x52f: 0x34c4,\n\t0x530: 0x31a9, 0x531: 0x34bf, 0x532: 0x31ea, 0x533: 0x3500, 0x534: 0x31f9, 0x535: 0x350f,\n\t0x536: 0x31f4, 0x537: 0x350a, 0x538: 0x39b3, 0x539: 0x3b42, 0x53a: 0x39ba, 0x53b: 0x3b49,\n\t0x53c: 0x31fe, 0x53d: 0x3514, 0x53e: 0x3203, 0x53f: 0x3519,\n\t// Block 0x15, offset 0x540\n\t0x540: 0x3208, 0x541: 0x351e, 0x542: 0x320d, 0x543: 0x3523, 0x544: 0x321c, 0x545: 0x3532,\n\t0x546: 0x3217, 0x547: 0x352d, 0x548: 0x3221, 0x549: 0x353c, 0x54a: 0x3226, 0x54b: 0x3541,\n\t0x54c: 0x322b, 0x54d: 0x3546, 0x54e: 0x3249, 0x54f: 0x3564, 0x550: 0x3262, 0x551: 0x3582,\n\t0x552: 0x3271, 0x553: 0x3591, 0x554: 0x3276, 0x555: 0x3596, 0x556: 0x337a, 0x557: 0x34a6,\n\t0x558: 0x3537, 0x559: 0x3573, 0x55a: 0x1be0, 0x55b: 0x42d7,\n\t0x560: 0x46a1, 0x561: 0x4732, 0x562: 0x2f83, 0x563: 0x328f,\n\t0x564: 0x3878, 0x565: 0x3a07, 0x566: 0x3871, 0x567: 0x3a00, 0x568: 0x3886, 0x569: 0x3a15,\n\t0x56a: 0x387f, 0x56b: 0x3a0e, 0x56c: 0x38be, 0x56d: 0x3a4d, 0x56e: 0x3894, 0x56f: 0x3a23,\n\t0x570: 0x388d, 0x571: 0x3a1c, 0x572: 0x38a2, 0x573: 0x3a31, 0x574: 0x389b, 0x575: 0x3a2a,\n\t0x576: 0x38c5, 0x577: 0x3a54, 0x578: 0x46b5, 0x579: 0x4746, 0x57a: 0x3000, 0x57b: 0x330c,\n\t0x57c: 0x2fec, 0x57d: 0x32f8, 0x57e: 0x38da, 0x57f: 0x3a69,\n\t// Block 0x16, offset 0x580\n\t0x580: 0x38d3, 0x581: 0x3a62, 0x582: 0x38e8, 0x583: 0x3a77, 0x584: 0x38e1, 0x585: 0x3a70,\n\t0x586: 0x38fd, 0x587: 0x3a8c, 0x588: 0x3091, 0x589: 0x339d, 0x58a: 0x30a5, 0x58b: 0x33b1,\n\t0x58c: 0x46e7, 0x58d: 0x4778, 0x58e: 0x3136, 0x58f: 0x3447, 0x590: 0x3920, 0x591: 0x3aaf,\n\t0x592: 0x3919, 0x593: 0x3aa8, 0x594: 0x392e, 0x595: 0x3abd, 0x596: 0x3927, 0x597: 0x3ab6,\n\t0x598: 0x3989, 0x599: 0x3b18, 0x59a: 0x396d, 0x59b: 0x3afc, 0x59c: 0x3966, 0x59d: 0x3af5,\n\t0x59e: 0x397b, 0x59f: 0x3b0a, 0x5a0: 0x3974, 0x5a1: 0x3b03, 0x5a2: 0x3982, 0x5a3: 0x3b11,\n\t0x5a4: 0x31e5, 0x5a5: 0x34fb, 0x5a6: 0x31c7, 0x5a7: 0x34dd, 0x5a8: 0x39e4, 0x5a9: 0x3b73,\n\t0x5aa: 0x39dd, 0x5ab: 0x3b6c, 0x5ac: 0x39f2, 0x5ad: 0x3b81, 0x5ae: 0x39eb, 0x5af: 0x3b7a,\n\t0x5b0: 0x39f9, 0x5b1: 0x3b88, 0x5b2: 0x3230, 0x5b3: 0x354b, 0x5b4: 0x3258, 0x5b5: 0x3578,\n\t0x5b6: 0x3253, 0x5b7: 0x356e, 0x5b8: 0x323f, 0x5b9: 0x355a,\n\t// Block 0x17, offset 0x5c0\n\t0x5c0: 0x4804, 0x5c1: 0x480a, 0x5c2: 0x491e, 0x5c3: 0x4936, 0x5c4: 0x4926, 0x5c5: 0x493e,\n\t0x5c6: 0x492e, 0x5c7: 0x4946, 0x5c8: 0x47aa, 0x5c9: 0x47b0, 0x5ca: 0x488e, 0x5cb: 0x48a6,\n\t0x5cc: 0x4896, 0x5cd: 0x48ae, 0x5ce: 0x489e, 0x5cf: 0x48b6, 0x5d0: 0x4816, 0x5d1: 0x481c,\n\t0x5d2: 0x3db8, 0x5d3: 0x3dc8, 0x5d4: 0x3dc0, 0x5d5: 0x3dd0,\n\t0x5d8: 0x47b6, 0x5d9: 0x47bc, 0x5da: 0x3ce8, 0x5db: 0x3cf8, 0x5dc: 0x3cf0, 0x5dd: 0x3d00,\n\t0x5e0: 0x482e, 0x5e1: 0x4834, 0x5e2: 0x494e, 0x5e3: 0x4966,\n\t0x5e4: 0x4956, 0x5e5: 0x496e, 0x5e6: 0x495e, 0x5e7: 0x4976, 0x5e8: 0x47c2, 0x5e9: 0x47c8,\n\t0x5ea: 0x48be, 0x5eb: 0x48d6, 0x5ec: 0x48c6, 0x5ed: 0x48de, 0x5ee: 0x48ce, 0x5ef: 0x48e6,\n\t0x5f0: 0x4846, 0x5f1: 0x484c, 0x5f2: 0x3e18, 0x5f3: 0x3e30, 0x5f4: 0x3e20, 0x5f5: 0x3e38,\n\t0x5f6: 0x3e28, 0x5f7: 0x3e40, 0x5f8: 0x47ce, 0x5f9: 0x47d4, 0x5fa: 0x3d18, 0x5fb: 0x3d30,\n\t0x5fc: 0x3d20, 0x5fd: 0x3d38, 0x5fe: 0x3d28, 0x5ff: 0x3d40,\n\t// Block 0x18, offset 0x600\n\t0x600: 0x4852, 0x601: 0x4858, 0x602: 0x3e48, 0x603: 0x3e58, 0x604: 0x3e50, 0x605: 0x3e60,\n\t0x608: 0x47da, 0x609: 0x47e0, 0x60a: 0x3d48, 0x60b: 0x3d58,\n\t0x60c: 0x3d50, 0x60d: 0x3d60, 0x610: 0x4864, 0x611: 0x486a,\n\t0x612: 0x3e80, 0x613: 0x3e98, 0x614: 0x3e88, 0x615: 0x3ea0, 0x616: 0x3e90, 0x617: 0x3ea8,\n\t0x619: 0x47e6, 0x61b: 0x3d68, 0x61d: 0x3d70,\n\t0x61f: 0x3d78, 0x620: 0x487c, 0x621: 0x4882, 0x622: 0x497e, 0x623: 0x4996,\n\t0x624: 0x4986, 0x625: 0x499e, 0x626: 0x498e, 0x627: 0x49a6, 0x628: 0x47ec, 0x629: 0x47f2,\n\t0x62a: 0x48ee, 0x62b: 0x4906, 0x62c: 0x48f6, 0x62d: 0x490e, 0x62e: 0x48fe, 0x62f: 0x4916,\n\t0x630: 0x47f8, 0x631: 0x431e, 0x632: 0x3691, 0x633: 0x4324, 0x634: 0x4822, 0x635: 0x432a,\n\t0x636: 0x36a3, 0x637: 0x4330, 0x638: 0x36c1, 0x639: 0x4336, 0x63a: 0x36d9, 0x63b: 0x433c,\n\t0x63c: 0x4870, 0x63d: 0x4342,\n\t// Block 0x19, offset 0x640\n\t0x640: 0x3da0, 0x641: 0x3da8, 0x642: 0x4184, 0x643: 0x41a2, 0x644: 0x418e, 0x645: 0x41ac,\n\t0x646: 0x4198, 0x647: 0x41b6, 0x648: 0x3cd8, 0x649: 0x3ce0, 0x64a: 0x40d0, 0x64b: 0x40ee,\n\t0x64c: 0x40da, 0x64d: 0x40f8, 0x64e: 0x40e4, 0x64f: 0x4102, 0x650: 0x3de8, 0x651: 0x3df0,\n\t0x652: 0x41c0, 0x653: 0x41de, 0x654: 0x41ca, 0x655: 0x41e8, 0x656: 0x41d4, 0x657: 0x41f2,\n\t0x658: 0x3d08, 0x659: 0x3d10, 0x65a: 0x410c, 0x65b: 0x412a, 0x65c: 0x4116, 0x65d: 0x4134,\n\t0x65e: 0x4120, 0x65f: 0x413e, 0x660: 0x3ec0, 0x661: 0x3ec8, 0x662: 0x41fc, 0x663: 0x421a,\n\t0x664: 0x4206, 0x665: 0x4224, 0x666: 0x4210, 0x667: 0x422e, 0x668: 0x3d80, 0x669: 0x3d88,\n\t0x66a: 0x4148, 0x66b: 0x4166, 0x66c: 0x4152, 0x66d: 0x4170, 0x66e: 0x415c, 0x66f: 0x417a,\n\t0x670: 0x3685, 0x671: 0x367f, 0x672: 0x3d90, 0x673: 0x368b, 0x674: 0x3d98,\n\t0x676: 0x4810, 0x677: 0x3db0, 0x678: 0x35f5, 0x679: 0x35ef, 0x67a: 0x35e3, 0x67b: 0x42ee,\n\t0x67c: 0x35fb, 0x67d: 0x4287, 0x67e: 0x01d3, 0x67f: 0x4287,\n\t// Block 0x1a, offset 0x680\n\t0x680: 0x42a0, 0x681: 0x4482, 0x682: 0x3dd8, 0x683: 0x369d, 0x684: 0x3de0,\n\t0x686: 0x483a, 0x687: 0x3df8, 0x688: 0x3601, 0x689: 0x42f4, 0x68a: 0x360d, 0x68b: 0x42fa,\n\t0x68c: 0x3619, 0x68d: 0x4489, 0x68e: 0x4490, 0x68f: 0x4497, 0x690: 0x36b5, 0x691: 0x36af,\n\t0x692: 0x3e00, 0x693: 0x44e4, 0x696: 0x36bb, 0x697: 0x3e10,\n\t0x698: 0x3631, 0x699: 0x362b, 0x69a: 0x361f, 0x69b: 0x4300, 0x69d: 0x449e,\n\t0x69e: 0x44a5, 0x69f: 0x44ac, 0x6a0: 0x36eb, 0x6a1: 0x36e5, 0x6a2: 0x3e68, 0x6a3: 0x44ec,\n\t0x6a4: 0x36cd, 0x6a5: 0x36d3, 0x6a6: 0x36f1, 0x6a7: 0x3e78, 0x6a8: 0x3661, 0x6a9: 0x365b,\n\t0x6aa: 0x364f, 0x6ab: 0x430c, 0x6ac: 0x3649, 0x6ad: 0x4474, 0x6ae: 0x447b, 0x6af: 0x0081,\n\t0x6b2: 0x3eb0, 0x6b3: 0x36f7, 0x6b4: 0x3eb8,\n\t0x6b6: 0x4888, 0x6b7: 0x3ed0, 0x6b8: 0x363d, 0x6b9: 0x4306, 0x6ba: 0x366d, 0x6bb: 0x4318,\n\t0x6bc: 0x3679, 0x6bd: 0x425a, 0x6be: 0x428c,\n\t// Block 0x1b, offset 0x6c0\n\t0x6c0: 0x1bd8, 0x6c1: 0x1bdc, 0x6c2: 0x0047, 0x6c3: 0x1c54, 0x6c5: 0x1be8,\n\t0x6c6: 0x1bec, 0x6c7: 0x00e9, 0x6c9: 0x1c58, 0x6ca: 0x008f, 0x6cb: 0x0051,\n\t0x6cc: 0x0051, 0x6cd: 0x0051, 0x6ce: 0x0091, 0x6cf: 0x00da, 0x6d0: 0x0053, 0x6d1: 0x0053,\n\t0x6d2: 0x0059, 0x6d3: 0x0099, 0x6d5: 0x005d, 0x6d6: 0x198d,\n\t0x6d9: 0x0061, 0x6da: 0x0063, 0x6db: 0x0065, 0x6dc: 0x0065, 0x6dd: 0x0065,\n\t0x6e0: 0x199f, 0x6e1: 0x1bc8, 0x6e2: 0x19a8,\n\t0x6e4: 0x0075, 0x6e6: 0x01b8, 0x6e8: 0x0075,\n\t0x6ea: 0x0057, 0x6eb: 0x42d2, 0x6ec: 0x0045, 0x6ed: 0x0047, 0x6ef: 0x008b,\n\t0x6f0: 0x004b, 0x6f1: 0x004d, 0x6f3: 0x005b, 0x6f4: 0x009f, 0x6f5: 0x0215,\n\t0x6f6: 0x0218, 0x6f7: 0x021b, 0x6f8: 0x021e, 0x6f9: 0x0093, 0x6fb: 0x1b98,\n\t0x6fc: 0x01e8, 0x6fd: 0x01c1, 0x6fe: 0x0179, 0x6ff: 0x01a0,\n\t// Block 0x1c, offset 0x700\n\t0x700: 0x0463, 0x705: 0x0049,\n\t0x706: 0x0089, 0x707: 0x008b, 0x708: 0x0093, 0x709: 0x0095,\n\t0x710: 0x222e, 0x711: 0x223a,\n\t0x712: 0x22ee, 0x713: 0x2216, 0x714: 0x229a, 0x715: 0x2222, 0x716: 0x22a0, 0x717: 0x22b8,\n\t0x718: 0x22c4, 0x719: 0x2228, 0x71a: 0x22ca, 0x71b: 0x2234, 0x71c: 0x22be, 0x71d: 0x22d0,\n\t0x71e: 0x22d6, 0x71f: 0x1cbc, 0x720: 0x0053, 0x721: 0x195a, 0x722: 0x1ba4, 0x723: 0x1963,\n\t0x724: 0x006d, 0x725: 0x19ab, 0x726: 0x1bd0, 0x727: 0x1d48, 0x728: 0x1966, 0x729: 0x0071,\n\t0x72a: 0x19b7, 0x72b: 0x1bd4, 0x72c: 0x0059, 0x72d: 0x0047, 0x72e: 0x0049, 0x72f: 0x005b,\n\t0x730: 0x0093, 0x731: 0x19e4, 0x732: 0x1c18, 0x733: 0x19ed, 0x734: 0x00ad, 0x735: 0x1a62,\n\t0x736: 0x1c4c, 0x737: 0x1d5c, 0x738: 0x19f0, 0x739: 0x00b1, 0x73a: 0x1a65, 0x73b: 0x1c50,\n\t0x73c: 0x0099, 0x73d: 0x0087, 0x73e: 0x0089, 0x73f: 0x009b,\n\t// Block 0x1d, offset 0x740\n\t0x741: 0x3c06, 0x743: 0xa000, 0x744: 0x3c0d, 0x745: 0xa000,\n\t0x747: 0x3c14, 0x748: 0xa000, 0x749: 0x3c1b,\n\t0x74d: 0xa000,\n\t0x760: 0x2f65, 0x761: 0xa000, 0x762: 0x3c29,\n\t0x764: 0xa000, 0x765: 0xa000,\n\t0x76d: 0x3c22, 0x76e: 0x2f60, 0x76f: 0x2f6a,\n\t0x770: 0x3c30, 0x771: 0x3c37, 0x772: 0xa000, 0x773: 0xa000, 0x774: 0x3c3e, 0x775: 0x3c45,\n\t0x776: 0xa000, 0x777: 0xa000, 0x778: 0x3c4c, 0x779: 0x3c53, 0x77a: 0xa000, 0x77b: 0xa000,\n\t0x77c: 0xa000, 0x77d: 0xa000,\n\t// Block 0x1e, offset 0x780\n\t0x780: 0x3c5a, 0x781: 0x3c61, 0x782: 0xa000, 0x783: 0xa000, 0x784: 0x3c76, 0x785: 0x3c7d,\n\t0x786: 0xa000, 0x787: 0xa000, 0x788: 0x3c84, 0x789: 0x3c8b,\n\t0x791: 0xa000,\n\t0x792: 0xa000,\n\t0x7a2: 0xa000,\n\t0x7a8: 0xa000, 0x7a9: 0xa000,\n\t0x7ab: 0xa000, 0x7ac: 0x3ca0, 0x7ad: 0x3ca7, 0x7ae: 0x3cae, 0x7af: 0x3cb5,\n\t0x7b2: 0xa000, 0x7b3: 0xa000, 0x7b4: 0xa000, 0x7b5: 0xa000,\n\t// Block 0x1f, offset 0x7c0\n\t0x7e0: 0x0023, 0x7e1: 0x0025, 0x7e2: 0x0027, 0x7e3: 0x0029,\n\t0x7e4: 0x002b, 0x7e5: 0x002d, 0x7e6: 0x002f, 0x7e7: 0x0031, 0x7e8: 0x0033, 0x7e9: 0x1882,\n\t0x7ea: 0x1885, 0x7eb: 0x1888, 0x7ec: 0x188b, 0x7ed: 0x188e, 0x7ee: 0x1891, 0x7ef: 0x1894,\n\t0x7f0: 0x1897, 0x7f1: 0x189a, 0x7f2: 0x189d, 0x7f3: 0x18a6, 0x7f4: 0x1a68, 0x7f5: 0x1a6c,\n\t0x7f6: 0x1a70, 0x7f7: 0x1a74, 0x7f8: 0x1a78, 0x7f9: 0x1a7c, 0x7fa: 0x1a80, 0x7fb: 0x1a84,\n\t0x7fc: 0x1a88, 0x7fd: 0x1c80, 0x7fe: 0x1c85, 0x7ff: 0x1c8a,\n\t// Block 0x20, offset 0x800\n\t0x800: 0x1c8f, 0x801: 0x1c94, 0x802: 0x1c99, 0x803: 0x1c9e, 0x804: 0x1ca3, 0x805: 0x1ca8,\n\t0x806: 0x1cad, 0x807: 0x1cb2, 0x808: 0x187f, 0x809: 0x18a3, 0x80a: 0x18c7, 0x80b: 0x18eb,\n\t0x80c: 0x190f, 0x80d: 0x1918, 0x80e: 0x191e, 0x80f: 0x1924, 0x810: 0x192a, 0x811: 0x1b60,\n\t0x812: 0x1b64, 0x813: 0x1b68, 0x814: 0x1b6c, 0x815: 0x1b70, 0x816: 0x1b74, 0x817: 0x1b78,\n\t0x818: 0x1b7c, 0x819: 0x1b80, 0x81a: 0x1b84, 0x81b: 0x1b88, 0x81c: 0x1af4, 0x81d: 0x1af8,\n\t0x81e: 0x1afc, 0x81f: 0x1b00, 0x820: 0x1b04, 0x821: 0x1b08, 0x822: 0x1b0c, 0x823: 0x1b10,\n\t0x824: 0x1b14, 0x825: 0x1b18, 0x826: 0x1b1c, 0x827: 0x1b20, 0x828: 0x1b24, 0x829: 0x1b28,\n\t0x82a: 0x1b2c, 0x82b: 0x1b30, 0x82c: 0x1b34, 0x82d: 0x1b38, 0x82e: 0x1b3c, 0x82f: 0x1b40,\n\t0x830: 0x1b44, 0x831: 0x1b48, 0x832: 0x1b4c, 0x833: 0x1b50, 0x834: 0x1b54, 0x835: 0x1b58,\n\t0x836: 0x0043, 0x837: 0x0045, 0x838: 0x0047, 0x839: 0x0049, 0x83a: 0x004b, 0x83b: 0x004d,\n\t0x83c: 0x004f, 0x83d: 0x0051, 0x83e: 0x0053, 0x83f: 0x0055,\n\t// Block 0x21, offset 0x840\n\t0x840: 0x06bf, 0x841: 0x06e3, 0x842: 0x06ef, 0x843: 0x06ff, 0x844: 0x0707, 0x845: 0x0713,\n\t0x846: 0x071b, 0x847: 0x0723, 0x848: 0x072f, 0x849: 0x0783, 0x84a: 0x079b, 0x84b: 0x07ab,\n\t0x84c: 0x07bb, 0x84d: 0x07cb, 0x84e: 0x07db, 0x84f: 0x07fb, 0x850: 0x07ff, 0x851: 0x0803,\n\t0x852: 0x0837, 0x853: 0x085f, 0x854: 0x086f, 0x855: 0x0877, 0x856: 0x087b, 0x857: 0x0887,\n\t0x858: 0x08a3, 0x859: 0x08a7, 0x85a: 0x08bf, 0x85b: 0x08c3, 0x85c: 0x08cb, 0x85d: 0x08db,\n\t0x85e: 0x0977, 0x85f: 0x098b, 0x860: 0x09cb, 0x861: 0x09df, 0x862: 0x09e7, 0x863: 0x09eb,\n\t0x864: 0x09fb, 0x865: 0x0a17, 0x866: 0x0a43, 0x867: 0x0a4f, 0x868: 0x0a6f, 0x869: 0x0a7b,\n\t0x86a: 0x0a7f, 0x86b: 0x0a83, 0x86c: 0x0a9b, 0x86d: 0x0a9f, 0x86e: 0x0acb, 0x86f: 0x0ad7,\n\t0x870: 0x0adf, 0x871: 0x0ae7, 0x872: 0x0af7, 0x873: 0x0aff, 0x874: 0x0b07, 0x875: 0x0b33,\n\t0x876: 0x0b37, 0x877: 0x0b3f, 0x878: 0x0b43, 0x879: 0x0b4b, 0x87a: 0x0b53, 0x87b: 0x0b63,\n\t0x87c: 0x0b7f, 0x87d: 0x0bf7, 0x87e: 0x0c0b, 0x87f: 0x0c0f,\n\t// Block 0x22, offset 0x880\n\t0x880: 0x0c8f, 0x881: 0x0c93, 0x882: 0x0ca7, 0x883: 0x0cab, 0x884: 0x0cb3, 0x885: 0x0cbb,\n\t0x886: 0x0cc3, 0x887: 0x0ccf, 0x888: 0x0cf7, 0x889: 0x0d07, 0x88a: 0x0d1b, 0x88b: 0x0d8b,\n\t0x88c: 0x0d97, 0x88d: 0x0da7, 0x88e: 0x0db3, 0x88f: 0x0dbf, 0x890: 0x0dc7, 0x891: 0x0dcb,\n\t0x892: 0x0dcf, 0x893: 0x0dd3, 0x894: 0x0dd7, 0x895: 0x0e8f, 0x896: 0x0ed7, 0x897: 0x0ee3,\n\t0x898: 0x0ee7, 0x899: 0x0eeb, 0x89a: 0x0eef, 0x89b: 0x0ef7, 0x89c: 0x0efb, 0x89d: 0x0f0f,\n\t0x89e: 0x0f2b, 0x89f: 0x0f33, 0x8a0: 0x0f73, 0x8a1: 0x0f77, 0x8a2: 0x0f7f, 0x8a3: 0x0f83,\n\t0x8a4: 0x0f8b, 0x8a5: 0x0f8f, 0x8a6: 0x0fb3, 0x8a7: 0x0fb7, 0x8a8: 0x0fd3, 0x8a9: 0x0fd7,\n\t0x8aa: 0x0fdb, 0x8ab: 0x0fdf, 0x8ac: 0x0ff3, 0x8ad: 0x1017, 0x8ae: 0x101b, 0x8af: 0x101f,\n\t0x8b0: 0x1043, 0x8b1: 0x1083, 0x8b2: 0x1087, 0x8b3: 0x10a7, 0x8b4: 0x10b7, 0x8b5: 0x10bf,\n\t0x8b6: 0x10df, 0x8b7: 0x1103, 0x8b8: 0x1147, 0x8b9: 0x114f, 0x8ba: 0x1163, 0x8bb: 0x116f,\n\t0x8bc: 0x1177, 0x8bd: 0x117f, 0x8be: 0x1183, 0x8bf: 0x1187,\n\t// Block 0x23, offset 0x8c0\n\t0x8c0: 0x119f, 0x8c1: 0x11a3, 0x8c2: 0x11bf, 0x8c3: 0x11c7, 0x8c4: 0x11cf, 0x8c5: 0x11d3,\n\t0x8c6: 0x11df, 0x8c7: 0x11e7, 0x8c8: 0x11eb, 0x8c9: 0x11ef, 0x8ca: 0x11f7, 0x8cb: 0x11fb,\n\t0x8cc: 0x129b, 0x8cd: 0x12af, 0x8ce: 0x12e3, 0x8cf: 0x12e7, 0x8d0: 0x12ef, 0x8d1: 0x131b,\n\t0x8d2: 0x1323, 0x8d3: 0x132b, 0x8d4: 0x1333, 0x8d5: 0x136f, 0x8d6: 0x1373, 0x8d7: 0x137b,\n\t0x8d8: 0x137f, 0x8d9: 0x1383, 0x8da: 0x13af, 0x8db: 0x13b3, 0x8dc: 0x13bb, 0x8dd: 0x13cf,\n\t0x8de: 0x13d3, 0x8df: 0x13ef, 0x8e0: 0x13f7, 0x8e1: 0x13fb, 0x8e2: 0x141f, 0x8e3: 0x143f,\n\t0x8e4: 0x1453, 0x8e5: 0x1457, 0x8e6: 0x145f, 0x8e7: 0x148b, 0x8e8: 0x148f, 0x8e9: 0x149f,\n\t0x8ea: 0x14c3, 0x8eb: 0x14cf, 0x8ec: 0x14df, 0x8ed: 0x14f7, 0x8ee: 0x14ff, 0x8ef: 0x1503,\n\t0x8f0: 0x1507, 0x8f1: 0x150b, 0x8f2: 0x1517, 0x8f3: 0x151b, 0x8f4: 0x1523, 0x8f5: 0x153f,\n\t0x8f6: 0x1543, 0x8f7: 0x1547, 0x8f8: 0x155f, 0x8f9: 0x1563, 0x8fa: 0x156b, 0x8fb: 0x157f,\n\t0x8fc: 0x1583, 0x8fd: 0x1587, 0x8fe: 0x158f, 0x8ff: 0x1593,\n\t// Block 0x24, offset 0x900\n\t0x906: 0xa000, 0x90b: 0xa000,\n\t0x90c: 0x3f08, 0x90d: 0xa000, 0x90e: 0x3f10, 0x90f: 0xa000, 0x910: 0x3f18, 0x911: 0xa000,\n\t0x912: 0x3f20, 0x913: 0xa000, 0x914: 0x3f28, 0x915: 0xa000, 0x916: 0x3f30, 0x917: 0xa000,\n\t0x918: 0x3f38, 0x919: 0xa000, 0x91a: 0x3f40, 0x91b: 0xa000, 0x91c: 0x3f48, 0x91d: 0xa000,\n\t0x91e: 0x3f50, 0x91f: 0xa000, 0x920: 0x3f58, 0x921: 0xa000, 0x922: 0x3f60,\n\t0x924: 0xa000, 0x925: 0x3f68, 0x926: 0xa000, 0x927: 0x3f70, 0x928: 0xa000, 0x929: 0x3f78,\n\t0x92f: 0xa000,\n\t0x930: 0x3f80, 0x931: 0x3f88, 0x932: 0xa000, 0x933: 0x3f90, 0x934: 0x3f98, 0x935: 0xa000,\n\t0x936: 0x3fa0, 0x937: 0x3fa8, 0x938: 0xa000, 0x939: 0x3fb0, 0x93a: 0x3fb8, 0x93b: 0xa000,\n\t0x93c: 0x3fc0, 0x93d: 0x3fc8,\n\t// Block 0x25, offset 0x940\n\t0x954: 0x3f00,\n\t0x959: 0x9903, 0x95a: 0x9903, 0x95b: 0x42dc, 0x95c: 0x42e2, 0x95d: 0xa000,\n\t0x95e: 0x3fd0, 0x95f: 0x26b4,\n\t0x966: 0xa000,\n\t0x96b: 0xa000, 0x96c: 0x3fe0, 0x96d: 0xa000, 0x96e: 0x3fe8, 0x96f: 0xa000,\n\t0x970: 0x3ff0, 0x971: 0xa000, 0x972: 0x3ff8, 0x973: 0xa000, 0x974: 0x4000, 0x975: 0xa000,\n\t0x976: 0x4008, 0x977: 0xa000, 0x978: 0x4010, 0x979: 0xa000, 0x97a: 0x4018, 0x97b: 0xa000,\n\t0x97c: 0x4020, 0x97d: 0xa000, 0x97e: 0x4028, 0x97f: 0xa000,\n\t// Block 0x26, offset 0x980\n\t0x980: 0x4030, 0x981: 0xa000, 0x982: 0x4038, 0x984: 0xa000, 0x985: 0x4040,\n\t0x986: 0xa000, 0x987: 0x4048, 0x988: 0xa000, 0x989: 0x4050,\n\t0x98f: 0xa000, 0x990: 0x4058, 0x991: 0x4060,\n\t0x992: 0xa000, 0x993: 0x4068, 0x994: 0x4070, 0x995: 0xa000, 0x996: 0x4078, 0x997: 0x4080,\n\t0x998: 0xa000, 0x999: 0x4088, 0x99a: 0x4090, 0x99b: 0xa000, 0x99c: 0x4098, 0x99d: 0x40a0,\n\t0x9af: 0xa000,\n\t0x9b0: 0xa000, 0x9b1: 0xa000, 0x9b2: 0xa000, 0x9b4: 0x3fd8,\n\t0x9b7: 0x40a8, 0x9b8: 0x40b0, 0x9b9: 0x40b8, 0x9ba: 0x40c0,\n\t0x9bd: 0xa000, 0x9be: 0x40c8, 0x9bf: 0x26c9,\n\t// Block 0x27, offset 0x9c0\n\t0x9c0: 0x0367, 0x9c1: 0x032b, 0x9c2: 0x032f, 0x9c3: 0x0333, 0x9c4: 0x037b, 0x9c5: 0x0337,\n\t0x9c6: 0x033b, 0x9c7: 0x033f, 0x9c8: 0x0343, 0x9c9: 0x0347, 0x9ca: 0x034b, 0x9cb: 0x034f,\n\t0x9cc: 0x0353, 0x9cd: 0x0357, 0x9ce: 0x035b, 0x9cf: 0x49bd, 0x9d0: 0x49c3, 0x9d1: 0x49c9,\n\t0x9d2: 0x49cf, 0x9d3: 0x49d5, 0x9d4: 0x49db, 0x9d5: 0x49e1, 0x9d6: 0x49e7, 0x9d7: 0x49ed,\n\t0x9d8: 0x49f3, 0x9d9: 0x49f9, 0x9da: 0x49ff, 0x9db: 0x4a05, 0x9dc: 0x4a0b, 0x9dd: 0x4a11,\n\t0x9de: 0x4a17, 0x9df: 0x4a1d, 0x9e0: 0x4a23, 0x9e1: 0x4a29, 0x9e2: 0x4a2f, 0x9e3: 0x4a35,\n\t0x9e4: 0x03c3, 0x9e5: 0x035f, 0x9e6: 0x0363, 0x9e7: 0x03e7, 0x9e8: 0x03eb, 0x9e9: 0x03ef,\n\t0x9ea: 0x03f3, 0x9eb: 0x03f7, 0x9ec: 0x03fb, 0x9ed: 0x03ff, 0x9ee: 0x036b, 0x9ef: 0x0403,\n\t0x9f0: 0x0407, 0x9f1: 0x036f, 0x9f2: 0x0373, 0x9f3: 0x0377, 0x9f4: 0x037f, 0x9f5: 0x0383,\n\t0x9f6: 0x0387, 0x9f7: 0x038b, 0x9f8: 0x038f, 0x9f9: 0x0393, 0x9fa: 0x0397, 0x9fb: 0x039b,\n\t0x9fc: 0x039f, 0x9fd: 0x03a3, 0x9fe: 0x03a7, 0x9ff: 0x03ab,\n\t// Block 0x28, offset 0xa00\n\t0xa00: 0x03af, 0xa01: 0x03b3, 0xa02: 0x040b, 0xa03: 0x040f, 0xa04: 0x03b7, 0xa05: 0x03bb,\n\t0xa06: 0x03bf, 0xa07: 0x03c7, 0xa08: 0x03cb, 0xa09: 0x03cf, 0xa0a: 0x03d3, 0xa0b: 0x03d7,\n\t0xa0c: 0x03db, 0xa0d: 0x03df, 0xa0e: 0x03e3,\n\t0xa12: 0x06bf, 0xa13: 0x071b, 0xa14: 0x06cb, 0xa15: 0x097b, 0xa16: 0x06cf, 0xa17: 0x06e7,\n\t0xa18: 0x06d3, 0xa19: 0x0f93, 0xa1a: 0x0707, 0xa1b: 0x06db, 0xa1c: 0x06c3, 0xa1d: 0x09ff,\n\t0xa1e: 0x098f, 0xa1f: 0x072f,\n\t// Block 0x29, offset 0xa40\n\t0xa40: 0x2054, 0xa41: 0x205a, 0xa42: 0x2060, 0xa43: 0x2066, 0xa44: 0x206c, 0xa45: 0x2072,\n\t0xa46: 0x2078, 0xa47: 0x207e, 0xa48: 0x2084, 0xa49: 0x208a, 0xa4a: 0x2090, 0xa4b: 0x2096,\n\t0xa4c: 0x209c, 0xa4d: 0x20a2, 0xa4e: 0x2726, 0xa4f: 0x272f, 0xa50: 0x2738, 0xa51: 0x2741,\n\t0xa52: 0x274a, 0xa53: 0x2753, 0xa54: 0x275c, 0xa55: 0x2765, 0xa56: 0x276e, 0xa57: 0x2780,\n\t0xa58: 0x2789, 0xa59: 0x2792, 0xa5a: 0x279b, 0xa5b: 0x27a4, 0xa5c: 0x2777, 0xa5d: 0x2bac,\n\t0xa5e: 0x2aed, 0xa60: 0x20a8, 0xa61: 0x20c0, 0xa62: 0x20b4, 0xa63: 0x2108,\n\t0xa64: 0x20c6, 0xa65: 0x20e4, 0xa66: 0x20ae, 0xa67: 0x20de, 0xa68: 0x20ba, 0xa69: 0x20f0,\n\t0xa6a: 0x2120, 0xa6b: 0x213e, 0xa6c: 0x2138, 0xa6d: 0x212c, 0xa6e: 0x217a, 0xa6f: 0x210e,\n\t0xa70: 0x211a, 0xa71: 0x2132, 0xa72: 0x2126, 0xa73: 0x2150, 0xa74: 0x20fc, 0xa75: 0x2144,\n\t0xa76: 0x216e, 0xa77: 0x2156, 0xa78: 0x20ea, 0xa79: 0x20cc, 0xa7a: 0x2102, 0xa7b: 0x2114,\n\t0xa7c: 0x214a, 0xa7d: 0x20d2, 0xa7e: 0x2174, 0xa7f: 0x20f6,\n\t// Block 0x2a, offset 0xa80\n\t0xa80: 0x215c, 0xa81: 0x20d8, 0xa82: 0x2162, 0xa83: 0x2168, 0xa84: 0x092f, 0xa85: 0x0b03,\n\t0xa86: 0x0ca7, 0xa87: 0x10c7,\n\t0xa90: 0x1bc4, 0xa91: 0x18a9,\n\t0xa92: 0x18ac, 0xa93: 0x18af, 0xa94: 0x18b2, 0xa95: 0x18b5, 0xa96: 0x18b8, 0xa97: 0x18bb,\n\t0xa98: 0x18be, 0xa99: 0x18c1, 0xa9a: 0x18ca, 0xa9b: 0x18cd, 0xa9c: 0x18d0, 0xa9d: 0x18d3,\n\t0xa9e: 0x18d6, 0xa9f: 0x18d9, 0xaa0: 0x0313, 0xaa1: 0x031b, 0xaa2: 0x031f, 0xaa3: 0x0327,\n\t0xaa4: 0x032b, 0xaa5: 0x032f, 0xaa6: 0x0337, 0xaa7: 0x033f, 0xaa8: 0x0343, 0xaa9: 0x034b,\n\t0xaaa: 0x034f, 0xaab: 0x0353, 0xaac: 0x0357, 0xaad: 0x035b, 0xaae: 0x2e18, 0xaaf: 0x2e20,\n\t0xab0: 0x2e28, 0xab1: 0x2e30, 0xab2: 0x2e38, 0xab3: 0x2e40, 0xab4: 0x2e48, 0xab5: 0x2e50,\n\t0xab6: 0x2e60, 0xab7: 0x2e68, 0xab8: 0x2e70, 0xab9: 0x2e78, 0xaba: 0x2e80, 0xabb: 0x2e88,\n\t0xabc: 0x2ed3, 0xabd: 0x2e9b, 0xabe: 0x2e58,\n\t// Block 0x2b, offset 0xac0\n\t0xac0: 0x06bf, 0xac1: 0x071b, 0xac2: 0x06cb, 0xac3: 0x097b, 0xac4: 0x071f, 0xac5: 0x07af,\n\t0xac6: 0x06c7, 0xac7: 0x07ab, 0xac8: 0x070b, 0xac9: 0x0887, 0xaca: 0x0d07, 0xacb: 0x0e8f,\n\t0xacc: 0x0dd7, 0xacd: 0x0d1b, 0xace: 0x145f, 0xacf: 0x098b, 0xad0: 0x0ccf, 0xad1: 0x0d4b,\n\t0xad2: 0x0d0b, 0xad3: 0x104b, 0xad4: 0x08fb, 0xad5: 0x0f03, 0xad6: 0x1387, 0xad7: 0x105f,\n\t0xad8: 0x0843, 0xad9: 0x108f, 0xada: 0x0f9b, 0xadb: 0x0a17, 0xadc: 0x140f, 0xadd: 0x077f,\n\t0xade: 0x08ab, 0xadf: 0x0df7, 0xae0: 0x1527, 0xae1: 0x0743, 0xae2: 0x07d3, 0xae3: 0x0d9b,\n\t0xae4: 0x06cf, 0xae5: 0x06e7, 0xae6: 0x06d3, 0xae7: 0x0adb, 0xae8: 0x08ef, 0xae9: 0x087f,\n\t0xaea: 0x0a57, 0xaeb: 0x0a4b, 0xaec: 0x0feb, 0xaed: 0x073f, 0xaee: 0x139b, 0xaef: 0x089b,\n\t0xaf0: 0x09f3, 0xaf1: 0x18dc, 0xaf2: 0x18df, 0xaf3: 0x18e2, 0xaf4: 0x18e5, 0xaf5: 0x18ee,\n\t0xaf6: 0x18f1, 0xaf7: 0x18f4, 0xaf8: 0x18f7, 0xaf9: 0x18fa, 0xafa: 0x18fd, 0xafb: 0x1900,\n\t0xafc: 0x1903, 0xafd: 0x1906, 0xafe: 0x1909, 0xaff: 0x1912,\n\t// Block 0x2c, offset 0xb00\n\t0xb00: 0x1cc6, 0xb01: 0x1cd5, 0xb02: 0x1ce4, 0xb03: 0x1cf3, 0xb04: 0x1d02, 0xb05: 0x1d11,\n\t0xb06: 0x1d20, 0xb07: 0x1d2f, 0xb08: 0x1d3e, 0xb09: 0x218c, 0xb0a: 0x219e, 0xb0b: 0x21b0,\n\t0xb0c: 0x1954, 0xb0d: 0x1c04, 0xb0e: 0x19d2, 0xb0f: 0x1ba8, 0xb10: 0x04cb, 0xb11: 0x04d3,\n\t0xb12: 0x04db, 0xb13: 0x04e3, 0xb14: 0x04eb, 0xb15: 0x04ef, 0xb16: 0x04f3, 0xb17: 0x04f7,\n\t0xb18: 0x04fb, 0xb19: 0x04ff, 0xb1a: 0x0503, 0xb1b: 0x0507, 0xb1c: 0x050b, 0xb1d: 0x050f,\n\t0xb1e: 0x0513, 0xb1f: 0x0517, 0xb20: 0x051b, 0xb21: 0x0523, 0xb22: 0x0527, 0xb23: 0x052b,\n\t0xb24: 0x052f, 0xb25: 0x0533, 0xb26: 0x0537, 0xb27: 0x053b, 0xb28: 0x053f, 0xb29: 0x0543,\n\t0xb2a: 0x0547, 0xb2b: 0x054b, 0xb2c: 0x054f, 0xb2d: 0x0553, 0xb2e: 0x0557, 0xb2f: 0x055b,\n\t0xb30: 0x055f, 0xb31: 0x0563, 0xb32: 0x0567, 0xb33: 0x056f, 0xb34: 0x0577, 0xb35: 0x057f,\n\t0xb36: 0x0583, 0xb37: 0x0587, 0xb38: 0x058b, 0xb39: 0x058f, 0xb3a: 0x0593, 0xb3b: 0x0597,\n\t0xb3c: 0x059b, 0xb3d: 0x059f, 0xb3e: 0x05a3,\n\t// Block 0x2d, offset 0xb40\n\t0xb40: 0x2b0c, 0xb41: 0x29a8, 0xb42: 0x2b1c, 0xb43: 0x2880, 0xb44: 0x2ee4, 0xb45: 0x288a,\n\t0xb46: 0x2894, 0xb47: 0x2f28, 0xb48: 0x29b5, 0xb49: 0x289e, 0xb4a: 0x28a8, 0xb4b: 0x28b2,\n\t0xb4c: 0x29dc, 0xb4d: 0x29e9, 0xb4e: 0x29c2, 0xb4f: 0x29cf, 0xb50: 0x2ea9, 0xb51: 0x29f6,\n\t0xb52: 0x2a03, 0xb53: 0x2bbe, 0xb54: 0x26bb, 0xb55: 0x2bd1, 0xb56: 0x2be4, 0xb57: 0x2b2c,\n\t0xb58: 0x2a10, 0xb59: 0x2bf7, 0xb5a: 0x2c0a, 0xb5b: 0x2a1d, 0xb5c: 0x28bc, 0xb5d: 0x28c6,\n\t0xb5e: 0x2eb7, 0xb5f: 0x2a2a, 0xb60: 0x2b3c, 0xb61: 0x2ef5, 0xb62: 0x28d0, 0xb63: 0x28da,\n\t0xb64: 0x2a37, 0xb65: 0x28e4, 0xb66: 0x28ee, 0xb67: 0x26d0, 0xb68: 0x26d7, 0xb69: 0x28f8,\n\t0xb6a: 0x2902, 0xb6b: 0x2c1d, 0xb6c: 0x2a44, 0xb6d: 0x2b4c, 0xb6e: 0x2c30, 0xb6f: 0x2a51,\n\t0xb70: 0x2916, 0xb71: 0x290c, 0xb72: 0x2f3c, 0xb73: 0x2a5e, 0xb74: 0x2c43, 0xb75: 0x2920,\n\t0xb76: 0x2b5c, 0xb77: 0x292a, 0xb78: 0x2a78, 0xb79: 0x2934, 0xb7a: 0x2a85, 0xb7b: 0x2f06,\n\t0xb7c: 0x2a6b, 0xb7d: 0x2b6c, 0xb7e: 0x2a92, 0xb7f: 0x26de,\n\t// Block 0x2e, offset 0xb80\n\t0xb80: 0x2f17, 0xb81: 0x293e, 0xb82: 0x2948, 0xb83: 0x2a9f, 0xb84: 0x2952, 0xb85: 0x295c,\n\t0xb86: 0x2966, 0xb87: 0x2b7c, 0xb88: 0x2aac, 0xb89: 0x26e5, 0xb8a: 0x2c56, 0xb8b: 0x2e90,\n\t0xb8c: 0x2b8c, 0xb8d: 0x2ab9, 0xb8e: 0x2ec5, 0xb8f: 0x2970, 0xb90: 0x297a, 0xb91: 0x2ac6,\n\t0xb92: 0x26ec, 0xb93: 0x2ad3, 0xb94: 0x2b9c, 0xb95: 0x26f3, 0xb96: 0x2c69, 0xb97: 0x2984,\n\t0xb98: 0x1cb7, 0xb99: 0x1ccb, 0xb9a: 0x1cda, 0xb9b: 0x1ce9, 0xb9c: 0x1cf8, 0xb9d: 0x1d07,\n\t0xb9e: 0x1d16, 0xb9f: 0x1d25, 0xba0: 0x1d34, 0xba1: 0x1d43, 0xba2: 0x2192, 0xba3: 0x21a4,\n\t0xba4: 0x21b6, 0xba5: 0x21c2, 0xba6: 0x21ce, 0xba7: 0x21da, 0xba8: 0x21e6, 0xba9: 0x21f2,\n\t0xbaa: 0x21fe, 0xbab: 0x220a, 0xbac: 0x2246, 0xbad: 0x2252, 0xbae: 0x225e, 0xbaf: 0x226a,\n\t0xbb0: 0x2276, 0xbb1: 0x1c14, 0xbb2: 0x19c6, 0xbb3: 0x1936, 0xbb4: 0x1be4, 0xbb5: 0x1a47,\n\t0xbb6: 0x1a56, 0xbb7: 0x19cc, 0xbb8: 0x1bfc, 0xbb9: 0x1c00, 0xbba: 0x1960, 0xbbb: 0x2701,\n\t0xbbc: 0x270f, 0xbbd: 0x26fa, 0xbbe: 0x2708, 0xbbf: 0x2ae0,\n\t// Block 0x2f, offset 0xbc0\n\t0xbc0: 0x1a4a, 0xbc1: 0x1a32, 0xbc2: 0x1c60, 0xbc3: 0x1a1a, 0xbc4: 0x19f3, 0xbc5: 0x1969,\n\t0xbc6: 0x1978, 0xbc7: 0x1948, 0xbc8: 0x1bf0, 0xbc9: 0x1d52, 0xbca: 0x1a4d, 0xbcb: 0x1a35,\n\t0xbcc: 0x1c64, 0xbcd: 0x1c70, 0xbce: 0x1a26, 0xbcf: 0x19fc, 0xbd0: 0x1957, 0xbd1: 0x1c1c,\n\t0xbd2: 0x1bb0, 0xbd3: 0x1b9c, 0xbd4: 0x1bcc, 0xbd5: 0x1c74, 0xbd6: 0x1a29, 0xbd7: 0x19c9,\n\t0xbd8: 0x19ff, 0xbd9: 0x19de, 0xbda: 0x1a41, 0xbdb: 0x1c78, 0xbdc: 0x1a2c, 0xbdd: 0x19c0,\n\t0xbde: 0x1a02, 0xbdf: 0x1c3c, 0xbe0: 0x1bf4, 0xbe1: 0x1a14, 0xbe2: 0x1c24, 0xbe3: 0x1c40,\n\t0xbe4: 0x1bf8, 0xbe5: 0x1a17, 0xbe6: 0x1c28, 0xbe7: 0x22e8, 0xbe8: 0x22fc, 0xbe9: 0x1996,\n\t0xbea: 0x1c20, 0xbeb: 0x1bb4, 0xbec: 0x1ba0, 0xbed: 0x1c48, 0xbee: 0x2716, 0xbef: 0x27ad,\n\t0xbf0: 0x1a59, 0xbf1: 0x1a44, 0xbf2: 0x1c7c, 0xbf3: 0x1a2f, 0xbf4: 0x1a50, 0xbf5: 0x1a38,\n\t0xbf6: 0x1c68, 0xbf7: 0x1a1d, 0xbf8: 0x19f6, 0xbf9: 0x1981, 0xbfa: 0x1a53, 0xbfb: 0x1a3b,\n\t0xbfc: 0x1c6c, 0xbfd: 0x1a20, 0xbfe: 0x19f9, 0xbff: 0x1984,\n\t// Block 0x30, offset 0xc00\n\t0xc00: 0x1c2c, 0xc01: 0x1bb8, 0xc02: 0x1d4d, 0xc03: 0x1939, 0xc04: 0x19ba, 0xc05: 0x19bd,\n\t0xc06: 0x22f5, 0xc07: 0x1b94, 0xc08: 0x19c3, 0xc09: 0x194b, 0xc0a: 0x19e1, 0xc0b: 0x194e,\n\t0xc0c: 0x19ea, 0xc0d: 0x196c, 0xc0e: 0x196f, 0xc0f: 0x1a05, 0xc10: 0x1a0b, 0xc11: 0x1a0e,\n\t0xc12: 0x1c30, 0xc13: 0x1a11, 0xc14: 0x1a23, 0xc15: 0x1c38, 0xc16: 0x1c44, 0xc17: 0x1990,\n\t0xc18: 0x1d57, 0xc19: 0x1bbc, 0xc1a: 0x1993, 0xc1b: 0x1a5c, 0xc1c: 0x19a5, 0xc1d: 0x19b4,\n\t0xc1e: 0x22e2, 0xc1f: 0x22dc, 0xc20: 0x1cc1, 0xc21: 0x1cd0, 0xc22: 0x1cdf, 0xc23: 0x1cee,\n\t0xc24: 0x1cfd, 0xc25: 0x1d0c, 0xc26: 0x1d1b, 0xc27: 0x1d2a, 0xc28: 0x1d39, 0xc29: 0x2186,\n\t0xc2a: 0x2198, 0xc2b: 0x21aa, 0xc2c: 0x21bc, 0xc2d: 0x21c8, 0xc2e: 0x21d4, 0xc2f: 0x21e0,\n\t0xc30: 0x21ec, 0xc31: 0x21f8, 0xc32: 0x2204, 0xc33: 0x2240, 0xc34: 0x224c, 0xc35: 0x2258,\n\t0xc36: 0x2264, 0xc37: 0x2270, 0xc38: 0x227c, 0xc39: 0x2282, 0xc3a: 0x2288, 0xc3b: 0x228e,\n\t0xc3c: 0x2294, 0xc3d: 0x22a6, 0xc3e: 0x22ac, 0xc3f: 0x1c10,\n\t// Block 0x31, offset 0xc40\n\t0xc40: 0x1377, 0xc41: 0x0cfb, 0xc42: 0x13d3, 0xc43: 0x139f, 0xc44: 0x0e57, 0xc45: 0x06eb,\n\t0xc46: 0x08df, 0xc47: 0x162b, 0xc48: 0x162b, 0xc49: 0x0a0b, 0xc4a: 0x145f, 0xc4b: 0x0943,\n\t0xc4c: 0x0a07, 0xc4d: 0x0bef, 0xc4e: 0x0fcf, 0xc4f: 0x115f, 0xc50: 0x1297, 0xc51: 0x12d3,\n\t0xc52: 0x1307, 0xc53: 0x141b, 0xc54: 0x0d73, 0xc55: 0x0dff, 0xc56: 0x0eab, 0xc57: 0x0f43,\n\t0xc58: 0x125f, 0xc59: 0x1447, 0xc5a: 0x1573, 0xc5b: 0x070f, 0xc5c: 0x08b3, 0xc5d: 0x0d87,\n\t0xc5e: 0x0ecf, 0xc5f: 0x1293, 0xc60: 0x15c3, 0xc61: 0x0ab3, 0xc62: 0x0e77, 0xc63: 0x1283,\n\t0xc64: 0x1317, 0xc65: 0x0c23, 0xc66: 0x11bb, 0xc67: 0x12df, 0xc68: 0x0b1f, 0xc69: 0x0d0f,\n\t0xc6a: 0x0e17, 0xc6b: 0x0f1b, 0xc6c: 0x1427, 0xc6d: 0x074f, 0xc6e: 0x07e7, 0xc6f: 0x0853,\n\t0xc70: 0x0c8b, 0xc71: 0x0d7f, 0xc72: 0x0ecb, 0xc73: 0x0fef, 0xc74: 0x1177, 0xc75: 0x128b,\n\t0xc76: 0x12a3, 0xc77: 0x13c7, 0xc78: 0x14ef, 0xc79: 0x15a3, 0xc7a: 0x15bf, 0xc7b: 0x102b,\n\t0xc7c: 0x106b, 0xc7d: 0x1123, 0xc7e: 0x1243, 0xc7f: 0x147b,\n\t// Block 0x32, offset 0xc80\n\t0xc80: 0x15cb, 0xc81: 0x134b, 0xc82: 0x09c7, 0xc83: 0x0b3b, 0xc84: 0x10db, 0xc85: 0x119b,\n\t0xc86: 0x0eff, 0xc87: 0x1033, 0xc88: 0x1397, 0xc89: 0x14e7, 0xc8a: 0x09c3, 0xc8b: 0x0a8f,\n\t0xc8c: 0x0d77, 0xc8d: 0x0e2b, 0xc8e: 0x0e5f, 0xc8f: 0x1113, 0xc90: 0x113b, 0xc91: 0x14a7,\n\t0xc92: 0x084f, 0xc93: 0x11a7, 0xc94: 0x07f3, 0xc95: 0x07ef, 0xc96: 0x1097, 0xc97: 0x1127,\n\t0xc98: 0x125b, 0xc99: 0x14af, 0xc9a: 0x1367, 0xc9b: 0x0c27, 0xc9c: 0x0d73, 0xc9d: 0x1357,\n\t0xc9e: 0x06f7, 0xc9f: 0x0a63, 0xca0: 0x0b93, 0xca1: 0x0f2f, 0xca2: 0x0faf, 0xca3: 0x0873,\n\t0xca4: 0x103b, 0xca5: 0x075f, 0xca6: 0x0b77, 0xca7: 0x06d7, 0xca8: 0x0deb, 0xca9: 0x0ca3,\n\t0xcaa: 0x110f, 0xcab: 0x08c7, 0xcac: 0x09b3, 0xcad: 0x0ffb, 0xcae: 0x1263, 0xcaf: 0x133b,\n\t0xcb0: 0x0db7, 0xcb1: 0x13f7, 0xcb2: 0x0de3, 0xcb3: 0x0c37, 0xcb4: 0x121b, 0xcb5: 0x0c57,\n\t0xcb6: 0x0fab, 0xcb7: 0x072b, 0xcb8: 0x07a7, 0xcb9: 0x07eb, 0xcba: 0x0d53, 0xcbb: 0x10fb,\n\t0xcbc: 0x11f3, 0xcbd: 0x1347, 0xcbe: 0x145b, 0xcbf: 0x085b,\n\t// Block 0x33, offset 0xcc0\n\t0xcc0: 0x090f, 0xcc1: 0x0a17, 0xcc2: 0x0b2f, 0xcc3: 0x0cbf, 0xcc4: 0x0e7b, 0xcc5: 0x103f,\n\t0xcc6: 0x1497, 0xcc7: 0x157b, 0xcc8: 0x15cf, 0xcc9: 0x15e7, 0xcca: 0x0837, 0xccb: 0x0cf3,\n\t0xccc: 0x0da3, 0xccd: 0x13eb, 0xcce: 0x0afb, 0xccf: 0x0bd7, 0xcd0: 0x0bf3, 0xcd1: 0x0c83,\n\t0xcd2: 0x0e6b, 0xcd3: 0x0eb7, 0xcd4: 0x0f67, 0xcd5: 0x108b, 0xcd6: 0x112f, 0xcd7: 0x1193,\n\t0xcd8: 0x13db, 0xcd9: 0x126b, 0xcda: 0x1403, 0xcdb: 0x147f, 0xcdc: 0x080f, 0xcdd: 0x083b,\n\t0xcde: 0x0923, 0xcdf: 0x0ea7, 0xce0: 0x12f3, 0xce1: 0x133b, 0xce2: 0x0b1b, 0xce3: 0x0b8b,\n\t0xce4: 0x0c4f, 0xce5: 0x0daf, 0xce6: 0x10d7, 0xce7: 0x0f23, 0xce8: 0x073b, 0xce9: 0x097f,\n\t0xcea: 0x0a63, 0xceb: 0x0ac7, 0xcec: 0x0b97, 0xced: 0x0f3f, 0xcee: 0x0f5b, 0xcef: 0x116b,\n\t0xcf0: 0x118b, 0xcf1: 0x1463, 0xcf2: 0x14e3, 0xcf3: 0x14f3, 0xcf4: 0x152f, 0xcf5: 0x0753,\n\t0xcf6: 0x107f, 0xcf7: 0x144f, 0xcf8: 0x14cb, 0xcf9: 0x0baf, 0xcfa: 0x0717, 0xcfb: 0x0777,\n\t0xcfc: 0x0a67, 0xcfd: 0x0a87, 0xcfe: 0x0caf, 0xcff: 0x0d73,\n\t// Block 0x34, offset 0xd00\n\t0xd00: 0x0ec3, 0xd01: 0x0fcb, 0xd02: 0x1277, 0xd03: 0x1417, 0xd04: 0x1623, 0xd05: 0x0ce3,\n\t0xd06: 0x14a3, 0xd07: 0x0833, 0xd08: 0x0d2f, 0xd09: 0x0d3b, 0xd0a: 0x0e0f, 0xd0b: 0x0e47,\n\t0xd0c: 0x0f4b, 0xd0d: 0x0fa7, 0xd0e: 0x1027, 0xd0f: 0x110b, 0xd10: 0x153b, 0xd11: 0x07af,\n\t0xd12: 0x0c03, 0xd13: 0x14b3, 0xd14: 0x0767, 0xd15: 0x0aab, 0xd16: 0x0e2f, 0xd17: 0x13df,\n\t0xd18: 0x0b67, 0xd19: 0x0bb7, 0xd1a: 0x0d43, 0xd1b: 0x0f2f, 0xd1c: 0x14bb, 0xd1d: 0x0817,\n\t0xd1e: 0x08ff, 0xd1f: 0x0a97, 0xd20: 0x0cd3, 0xd21: 0x0d1f, 0xd22: 0x0d5f, 0xd23: 0x0df3,\n\t0xd24: 0x0f47, 0xd25: 0x0fbb, 0xd26: 0x1157, 0xd27: 0x12f7, 0xd28: 0x1303, 0xd29: 0x1457,\n\t0xd2a: 0x14d7, 0xd2b: 0x0883, 0xd2c: 0x0e4b, 0xd2d: 0x0903, 0xd2e: 0x0ec7, 0xd2f: 0x0f6b,\n\t0xd30: 0x1287, 0xd31: 0x14bf, 0xd32: 0x15ab, 0xd33: 0x15d3, 0xd34: 0x0d37, 0xd35: 0x0e27,\n\t0xd36: 0x11c3, 0xd37: 0x10b7, 0xd38: 0x10c3, 0xd39: 0x10e7, 0xd3a: 0x0f17, 0xd3b: 0x0e9f,\n\t0xd3c: 0x1363, 0xd3d: 0x0733, 0xd3e: 0x122b, 0xd3f: 0x081b,\n\t// Block 0x35, offset 0xd40\n\t0xd40: 0x080b, 0xd41: 0x0b0b, 0xd42: 0x0c2b, 0xd43: 0x10f3, 0xd44: 0x0a53, 0xd45: 0x0e03,\n\t0xd46: 0x0cef, 0xd47: 0x13e7, 0xd48: 0x12e7, 0xd49: 0x14ab, 0xd4a: 0x1323, 0xd4b: 0x0b27,\n\t0xd4c: 0x0787, 0xd4d: 0x095b, 0xd50: 0x09af,\n\t0xd52: 0x0cdf, 0xd55: 0x07f7, 0xd56: 0x0f1f, 0xd57: 0x0fe3,\n\t0xd58: 0x1047, 0xd59: 0x1063, 0xd5a: 0x1067, 0xd5b: 0x107b, 0xd5c: 0x14fb, 0xd5d: 0x10eb,\n\t0xd5e: 0x116f, 0xd60: 0x128f, 0xd62: 0x1353,\n\t0xd65: 0x1407, 0xd66: 0x1433,\n\t0xd6a: 0x154f, 0xd6b: 0x1553, 0xd6c: 0x1557, 0xd6d: 0x15bb, 0xd6e: 0x142b, 0xd6f: 0x14c7,\n\t0xd70: 0x0757, 0xd71: 0x077b, 0xd72: 0x078f, 0xd73: 0x084b, 0xd74: 0x0857, 0xd75: 0x0897,\n\t0xd76: 0x094b, 0xd77: 0x0967, 0xd78: 0x096f, 0xd79: 0x09ab, 0xd7a: 0x09b7, 0xd7b: 0x0a93,\n\t0xd7c: 0x0a9b, 0xd7d: 0x0ba3, 0xd7e: 0x0bcb, 0xd7f: 0x0bd3,\n\t// Block 0x36, offset 0xd80\n\t0xd80: 0x0beb, 0xd81: 0x0c97, 0xd82: 0x0cc7, 0xd83: 0x0ce7, 0xd84: 0x0d57, 0xd85: 0x0e1b,\n\t0xd86: 0x0e37, 0xd87: 0x0e67, 0xd88: 0x0ebb, 0xd89: 0x0edb, 0xd8a: 0x0f4f, 0xd8b: 0x102f,\n\t0xd8c: 0x104b, 0xd8d: 0x1053, 0xd8e: 0x104f, 0xd8f: 0x1057, 0xd90: 0x105b, 0xd91: 0x105f,\n\t0xd92: 0x1073, 0xd93: 0x1077, 0xd94: 0x109b, 0xd95: 0x10af, 0xd96: 0x10cb, 0xd97: 0x112f,\n\t0xd98: 0x1137, 0xd99: 0x113f, 0xd9a: 0x1153, 0xd9b: 0x117b, 0xd9c: 0x11cb, 0xd9d: 0x11ff,\n\t0xd9e: 0x11ff, 0xd9f: 0x1267, 0xda0: 0x130f, 0xda1: 0x1327, 0xda2: 0x135b, 0xda3: 0x135f,\n\t0xda4: 0x13a3, 0xda5: 0x13a7, 0xda6: 0x13ff, 0xda7: 0x1407, 0xda8: 0x14db, 0xda9: 0x151f,\n\t0xdaa: 0x1537, 0xdab: 0x0b9b, 0xdac: 0x171e, 0xdad: 0x11e3,\n\t0xdb0: 0x06df, 0xdb1: 0x07e3, 0xdb2: 0x07a3, 0xdb3: 0x074b, 0xdb4: 0x078b, 0xdb5: 0x07b7,\n\t0xdb6: 0x0847, 0xdb7: 0x0863, 0xdb8: 0x094b, 0xdb9: 0x0937, 0xdba: 0x0947, 0xdbb: 0x0963,\n\t0xdbc: 0x09af, 0xdbd: 0x09bf, 0xdbe: 0x0a03, 0xdbf: 0x0a0f,\n\t// Block 0x37, offset 0xdc0\n\t0xdc0: 0x0a2b, 0xdc1: 0x0a3b, 0xdc2: 0x0b23, 0xdc3: 0x0b2b, 0xdc4: 0x0b5b, 0xdc5: 0x0b7b,\n\t0xdc6: 0x0bab, 0xdc7: 0x0bc3, 0xdc8: 0x0bb3, 0xdc9: 0x0bd3, 0xdca: 0x0bc7, 0xdcb: 0x0beb,\n\t0xdcc: 0x0c07, 0xdcd: 0x0c5f, 0xdce: 0x0c6b, 0xdcf: 0x0c73, 0xdd0: 0x0c9b, 0xdd1: 0x0cdf,\n\t0xdd2: 0x0d0f, 0xdd3: 0x0d13, 0xdd4: 0x0d27, 0xdd5: 0x0da7, 0xdd6: 0x0db7, 0xdd7: 0x0e0f,\n\t0xdd8: 0x0e5b, 0xdd9: 0x0e53, 0xdda: 0x0e67, 0xddb: 0x0e83, 0xddc: 0x0ebb, 0xddd: 0x1013,\n\t0xdde: 0x0edf, 0xddf: 0x0f13, 0xde0: 0x0f1f, 0xde1: 0x0f5f, 0xde2: 0x0f7b, 0xde3: 0x0f9f,\n\t0xde4: 0x0fc3, 0xde5: 0x0fc7, 0xde6: 0x0fe3, 0xde7: 0x0fe7, 0xde8: 0x0ff7, 0xde9: 0x100b,\n\t0xdea: 0x1007, 0xdeb: 0x1037, 0xdec: 0x10b3, 0xded: 0x10cb, 0xdee: 0x10e3, 0xdef: 0x111b,\n\t0xdf0: 0x112f, 0xdf1: 0x114b, 0xdf2: 0x117b, 0xdf3: 0x122f, 0xdf4: 0x1257, 0xdf5: 0x12cb,\n\t0xdf6: 0x1313, 0xdf7: 0x131f, 0xdf8: 0x1327, 0xdf9: 0x133f, 0xdfa: 0x1353, 0xdfb: 0x1343,\n\t0xdfc: 0x135b, 0xdfd: 0x1357, 0xdfe: 0x134f, 0xdff: 0x135f,\n\t// Block 0x38, offset 0xe00\n\t0xe00: 0x136b, 0xe01: 0x13a7, 0xe02: 0x13e3, 0xe03: 0x1413, 0xe04: 0x144b, 0xe05: 0x146b,\n\t0xe06: 0x14b7, 0xe07: 0x14db, 0xe08: 0x14fb, 0xe09: 0x150f, 0xe0a: 0x151f, 0xe0b: 0x152b,\n\t0xe0c: 0x1537, 0xe0d: 0x158b, 0xe0e: 0x162b, 0xe0f: 0x16b5, 0xe10: 0x16b0, 0xe11: 0x16e2,\n\t0xe12: 0x0607, 0xe13: 0x062f, 0xe14: 0x0633, 0xe15: 0x1764, 0xe16: 0x1791, 0xe17: 0x1809,\n\t0xe18: 0x1617, 0xe19: 0x1627,\n\t// Block 0x39, offset 0xe40\n\t0xe40: 0x19d5, 0xe41: 0x19d8, 0xe42: 0x19db, 0xe43: 0x1c08, 0xe44: 0x1c0c, 0xe45: 0x1a5f,\n\t0xe46: 0x1a5f,\n\t0xe53: 0x1d75, 0xe54: 0x1d66, 0xe55: 0x1d6b, 0xe56: 0x1d7a, 0xe57: 0x1d70,\n\t0xe5d: 0x4390,\n\t0xe5e: 0x8115, 0xe5f: 0x4402, 0xe60: 0x022d, 0xe61: 0x0215, 0xe62: 0x021e, 0xe63: 0x0221,\n\t0xe64: 0x0224, 0xe65: 0x0227, 0xe66: 0x022a, 0xe67: 0x0230, 0xe68: 0x0233, 0xe69: 0x0017,\n\t0xe6a: 0x43f0, 0xe6b: 0x43f6, 0xe6c: 0x44f4, 0xe6d: 0x44fc, 0xe6e: 0x4348, 0xe6f: 0x434e,\n\t0xe70: 0x4354, 0xe71: 0x435a, 0xe72: 0x4366, 0xe73: 0x436c, 0xe74: 0x4372, 0xe75: 0x437e,\n\t0xe76: 0x4384, 0xe78: 0x438a, 0xe79: 0x4396, 0xe7a: 0x439c, 0xe7b: 0x43a2,\n\t0xe7c: 0x43ae, 0xe7e: 0x43b4,\n\t// Block 0x3a, offset 0xe80\n\t0xe80: 0x43ba, 0xe81: 0x43c0, 0xe83: 0x43c6, 0xe84: 0x43cc,\n\t0xe86: 0x43d8, 0xe87: 0x43de, 0xe88: 0x43e4, 0xe89: 0x43ea, 0xe8a: 0x43fc, 0xe8b: 0x4378,\n\t0xe8c: 0x4360, 0xe8d: 0x43a8, 0xe8e: 0x43d2, 0xe8f: 0x1d7f, 0xe90: 0x0299, 0xe91: 0x0299,\n\t0xe92: 0x02a2, 0xe93: 0x02a2, 0xe94: 0x02a2, 0xe95: 0x02a2, 0xe96: 0x02a5, 0xe97: 0x02a5,\n\t0xe98: 0x02a5, 0xe99: 0x02a5, 0xe9a: 0x02ab, 0xe9b: 0x02ab, 0xe9c: 0x02ab, 0xe9d: 0x02ab,\n\t0xe9e: 0x029f, 0xe9f: 0x029f, 0xea0: 0x029f, 0xea1: 0x029f, 0xea2: 0x02a8, 0xea3: 0x02a8,\n\t0xea4: 0x02a8, 0xea5: 0x02a8, 0xea6: 0x029c, 0xea7: 0x029c, 0xea8: 0x029c, 0xea9: 0x029c,\n\t0xeaa: 0x02cf, 0xeab: 0x02cf, 0xeac: 0x02cf, 0xead: 0x02cf, 0xeae: 0x02d2, 0xeaf: 0x02d2,\n\t0xeb0: 0x02d2, 0xeb1: 0x02d2, 0xeb2: 0x02b1, 0xeb3: 0x02b1, 0xeb4: 0x02b1, 0xeb5: 0x02b1,\n\t0xeb6: 0x02ae, 0xeb7: 0x02ae, 0xeb8: 0x02ae, 0xeb9: 0x02ae, 0xeba: 0x02b4, 0xebb: 0x02b4,\n\t0xebc: 0x02b4, 0xebd: 0x02b4, 0xebe: 0x02b7, 0xebf: 0x02b7,\n\t// Block 0x3b, offset 0xec0\n\t0xec0: 0x02b7, 0xec1: 0x02b7, 0xec2: 0x02c0, 0xec3: 0x02c0, 0xec4: 0x02bd, 0xec5: 0x02bd,\n\t0xec6: 0x02c3, 0xec7: 0x02c3, 0xec8: 0x02ba, 0xec9: 0x02ba, 0xeca: 0x02c9, 0xecb: 0x02c9,\n\t0xecc: 0x02c6, 0xecd: 0x02c6, 0xece: 0x02d5, 0xecf: 0x02d5, 0xed0: 0x02d5, 0xed1: 0x02d5,\n\t0xed2: 0x02db, 0xed3: 0x02db, 0xed4: 0x02db, 0xed5: 0x02db, 0xed6: 0x02e1, 0xed7: 0x02e1,\n\t0xed8: 0x02e1, 0xed9: 0x02e1, 0xeda: 0x02de, 0xedb: 0x02de, 0xedc: 0x02de, 0xedd: 0x02de,\n\t0xede: 0x02e4, 0xedf: 0x02e4, 0xee0: 0x02e7, 0xee1: 0x02e7, 0xee2: 0x02e7, 0xee3: 0x02e7,\n\t0xee4: 0x446e, 0xee5: 0x446e, 0xee6: 0x02ed, 0xee7: 0x02ed, 0xee8: 0x02ed, 0xee9: 0x02ed,\n\t0xeea: 0x02ea, 0xeeb: 0x02ea, 0xeec: 0x02ea, 0xeed: 0x02ea, 0xeee: 0x0308, 0xeef: 0x0308,\n\t0xef0: 0x4468, 0xef1: 0x4468,\n\t// Block 0x3c, offset 0xf00\n\t0xf13: 0x02d8, 0xf14: 0x02d8, 0xf15: 0x02d8, 0xf16: 0x02d8, 0xf17: 0x02f6,\n\t0xf18: 0x02f6, 0xf19: 0x02f3, 0xf1a: 0x02f3, 0xf1b: 0x02f9, 0xf1c: 0x02f9, 0xf1d: 0x204f,\n\t0xf1e: 0x02ff, 0xf1f: 0x02ff, 0xf20: 0x02f0, 0xf21: 0x02f0, 0xf22: 0x02fc, 0xf23: 0x02fc,\n\t0xf24: 0x0305, 0xf25: 0x0305, 0xf26: 0x0305, 0xf27: 0x0305, 0xf28: 0x028d, 0xf29: 0x028d,\n\t0xf2a: 0x25aa, 0xf2b: 0x25aa, 0xf2c: 0x261a, 0xf2d: 0x261a, 0xf2e: 0x25e9, 0xf2f: 0x25e9,\n\t0xf30: 0x2605, 0xf31: 0x2605, 0xf32: 0x25fe, 0xf33: 0x25fe, 0xf34: 0x260c, 0xf35: 0x260c,\n\t0xf36: 0x2613, 0xf37: 0x2613, 0xf38: 0x2613, 0xf39: 0x25f0, 0xf3a: 0x25f0, 0xf3b: 0x25f0,\n\t0xf3c: 0x0302, 0xf3d: 0x0302, 0xf3e: 0x0302, 0xf3f: 0x0302,\n\t// Block 0x3d, offset 0xf40\n\t0xf40: 0x25b1, 0xf41: 0x25b8, 0xf42: 0x25d4, 0xf43: 0x25f0, 0xf44: 0x25f7, 0xf45: 0x1d89,\n\t0xf46: 0x1d8e, 0xf47: 0x1d93, 0xf48: 0x1da2, 0xf49: 0x1db1, 0xf4a: 0x1db6, 0xf4b: 0x1dbb,\n\t0xf4c: 0x1dc0, 0xf4d: 0x1dc5, 0xf4e: 0x1dd4, 0xf4f: 0x1de3, 0xf50: 0x1de8, 0xf51: 0x1ded,\n\t0xf52: 0x1dfc, 0xf53: 0x1e0b, 0xf54: 0x1e10, 0xf55: 0x1e15, 0xf56: 0x1e1a, 0xf57: 0x1e29,\n\t0xf58: 0x1e2e, 0xf59: 0x1e3d, 0xf5a: 0x1e42, 0xf5b: 0x1e47, 0xf5c: 0x1e56, 0xf5d: 0x1e5b,\n\t0xf5e: 0x1e60, 0xf5f: 0x1e6a, 0xf60: 0x1ea6, 0xf61: 0x1eb5, 0xf62: 0x1ec4, 0xf63: 0x1ec9,\n\t0xf64: 0x1ece, 0xf65: 0x1ed8, 0xf66: 0x1ee7, 0xf67: 0x1eec, 0xf68: 0x1efb, 0xf69: 0x1f00,\n\t0xf6a: 0x1f05, 0xf6b: 0x1f14, 0xf6c: 0x1f19, 0xf6d: 0x1f28, 0xf6e: 0x1f2d, 0xf6f: 0x1f32,\n\t0xf70: 0x1f37, 0xf71: 0x1f3c, 0xf72: 0x1f41, 0xf73: 0x1f46, 0xf74: 0x1f4b, 0xf75: 0x1f50,\n\t0xf76: 0x1f55, 0xf77: 0x1f5a, 0xf78: 0x1f5f, 0xf79: 0x1f64, 0xf7a: 0x1f69, 0xf7b: 0x1f6e,\n\t0xf7c: 0x1f73, 0xf7d: 0x1f78, 0xf7e: 0x1f7d, 0xf7f: 0x1f87,\n\t// Block 0x3e, offset 0xf80\n\t0xf80: 0x1f8c, 0xf81: 0x1f91, 0xf82: 0x1f96, 0xf83: 0x1fa0, 0xf84: 0x1fa5, 0xf85: 0x1faf,\n\t0xf86: 0x1fb4, 0xf87: 0x1fb9, 0xf88: 0x1fbe, 0xf89: 0x1fc3, 0xf8a: 0x1fc8, 0xf8b: 0x1fcd,\n\t0xf8c: 0x1fd2, 0xf8d: 0x1fd7, 0xf8e: 0x1fe6, 0xf8f: 0x1ff5, 0xf90: 0x1ffa, 0xf91: 0x1fff,\n\t0xf92: 0x2004, 0xf93: 0x2009, 0xf94: 0x200e, 0xf95: 0x2018, 0xf96: 0x201d, 0xf97: 0x2022,\n\t0xf98: 0x2031, 0xf99: 0x2040, 0xf9a: 0x2045, 0xf9b: 0x4420, 0xf9c: 0x4426, 0xf9d: 0x445c,\n\t0xf9e: 0x44b3, 0xf9f: 0x44ba, 0xfa0: 0x44c1, 0xfa1: 0x44c8, 0xfa2: 0x44cf, 0xfa3: 0x44d6,\n\t0xfa4: 0x25c6, 0xfa5: 0x25cd, 0xfa6: 0x25d4, 0xfa7: 0x25db, 0xfa8: 0x25f0, 0xfa9: 0x25f7,\n\t0xfaa: 0x1d98, 0xfab: 0x1d9d, 0xfac: 0x1da2, 0xfad: 0x1da7, 0xfae: 0x1db1, 0xfaf: 0x1db6,\n\t0xfb0: 0x1dca, 0xfb1: 0x1dcf, 0xfb2: 0x1dd4, 0xfb3: 0x1dd9, 0xfb4: 0x1de3, 0xfb5: 0x1de8,\n\t0xfb6: 0x1df2, 0xfb7: 0x1df7, 0xfb8: 0x1dfc, 0xfb9: 0x1e01, 0xfba: 0x1e0b, 0xfbb: 0x1e10,\n\t0xfbc: 0x1f3c, 0xfbd: 0x1f41, 0xfbe: 0x1f50, 0xfbf: 0x1f55,\n\t// Block 0x3f, offset 0xfc0\n\t0xfc0: 0x1f5a, 0xfc1: 0x1f6e, 0xfc2: 0x1f73, 0xfc3: 0x1f78, 0xfc4: 0x1f7d, 0xfc5: 0x1f96,\n\t0xfc6: 0x1fa0, 0xfc7: 0x1fa5, 0xfc8: 0x1faa, 0xfc9: 0x1fbe, 0xfca: 0x1fdc, 0xfcb: 0x1fe1,\n\t0xfcc: 0x1fe6, 0xfcd: 0x1feb, 0xfce: 0x1ff5, 0xfcf: 0x1ffa, 0xfd0: 0x445c, 0xfd1: 0x2027,\n\t0xfd2: 0x202c, 0xfd3: 0x2031, 0xfd4: 0x2036, 0xfd5: 0x2040, 0xfd6: 0x2045, 0xfd7: 0x25b1,\n\t0xfd8: 0x25b8, 0xfd9: 0x25bf, 0xfda: 0x25d4, 0xfdb: 0x25e2, 0xfdc: 0x1d89, 0xfdd: 0x1d8e,\n\t0xfde: 0x1d93, 0xfdf: 0x1da2, 0xfe0: 0x1dac, 0xfe1: 0x1dbb, 0xfe2: 0x1dc0, 0xfe3: 0x1dc5,\n\t0xfe4: 0x1dd4, 0xfe5: 0x1dde, 0xfe6: 0x1dfc, 0xfe7: 0x1e15, 0xfe8: 0x1e1a, 0xfe9: 0x1e29,\n\t0xfea: 0x1e2e, 0xfeb: 0x1e3d, 0xfec: 0x1e47, 0xfed: 0x1e56, 0xfee: 0x1e5b, 0xfef: 0x1e60,\n\t0xff0: 0x1e6a, 0xff1: 0x1ea6, 0xff2: 0x1eab, 0xff3: 0x1eb5, 0xff4: 0x1ec4, 0xff5: 0x1ec9,\n\t0xff6: 0x1ece, 0xff7: 0x1ed8, 0xff8: 0x1ee7, 0xff9: 0x1efb, 0xffa: 0x1f00, 0xffb: 0x1f05,\n\t0xffc: 0x1f14, 0xffd: 0x1f19, 0xffe: 0x1f28, 0xfff: 0x1f2d,\n\t// Block 0x40, offset 0x1000\n\t0x1000: 0x1f32, 0x1001: 0x1f37, 0x1002: 0x1f46, 0x1003: 0x1f4b, 0x1004: 0x1f5f, 0x1005: 0x1f64,\n\t0x1006: 0x1f69, 0x1007: 0x1f6e, 0x1008: 0x1f73, 0x1009: 0x1f87, 0x100a: 0x1f8c, 0x100b: 0x1f91,\n\t0x100c: 0x1f96, 0x100d: 0x1f9b, 0x100e: 0x1faf, 0x100f: 0x1fb4, 0x1010: 0x1fb9, 0x1011: 0x1fbe,\n\t0x1012: 0x1fcd, 0x1013: 0x1fd2, 0x1014: 0x1fd7, 0x1015: 0x1fe6, 0x1016: 0x1ff0, 0x1017: 0x1fff,\n\t0x1018: 0x2004, 0x1019: 0x4450, 0x101a: 0x2018, 0x101b: 0x201d, 0x101c: 0x2022, 0x101d: 0x2031,\n\t0x101e: 0x203b, 0x101f: 0x25d4, 0x1020: 0x25e2, 0x1021: 0x1da2, 0x1022: 0x1dac, 0x1023: 0x1dd4,\n\t0x1024: 0x1dde, 0x1025: 0x1dfc, 0x1026: 0x1e06, 0x1027: 0x1e6a, 0x1028: 0x1e6f, 0x1029: 0x1e92,\n\t0x102a: 0x1e97, 0x102b: 0x1f6e, 0x102c: 0x1f73, 0x102d: 0x1f96, 0x102e: 0x1fe6, 0x102f: 0x1ff0,\n\t0x1030: 0x2031, 0x1031: 0x203b, 0x1032: 0x4504, 0x1033: 0x450c, 0x1034: 0x4514, 0x1035: 0x1ef1,\n\t0x1036: 0x1ef6, 0x1037: 0x1f0a, 0x1038: 0x1f0f, 0x1039: 0x1f1e, 0x103a: 0x1f23, 0x103b: 0x1e74,\n\t0x103c: 0x1e79, 0x103d: 0x1e9c, 0x103e: 0x1ea1, 0x103f: 0x1e33,\n\t// Block 0x41, offset 0x1040\n\t0x1040: 0x1e38, 0x1041: 0x1e1f, 0x1042: 0x1e24, 0x1043: 0x1e4c, 0x1044: 0x1e51, 0x1045: 0x1eba,\n\t0x1046: 0x1ebf, 0x1047: 0x1edd, 0x1048: 0x1ee2, 0x1049: 0x1e7e, 0x104a: 0x1e83, 0x104b: 0x1e88,\n\t0x104c: 0x1e92, 0x104d: 0x1e8d, 0x104e: 0x1e65, 0x104f: 0x1eb0, 0x1050: 0x1ed3, 0x1051: 0x1ef1,\n\t0x1052: 0x1ef6, 0x1053: 0x1f0a, 0x1054: 0x1f0f, 0x1055: 0x1f1e, 0x1056: 0x1f23, 0x1057: 0x1e74,\n\t0x1058: 0x1e79, 0x1059: 0x1e9c, 0x105a: 0x1ea1, 0x105b: 0x1e33, 0x105c: 0x1e38, 0x105d: 0x1e1f,\n\t0x105e: 0x1e24, 0x105f: 0x1e4c, 0x1060: 0x1e51, 0x1061: 0x1eba, 0x1062: 0x1ebf, 0x1063: 0x1edd,\n\t0x1064: 0x1ee2, 0x1065: 0x1e7e, 0x1066: 0x1e83, 0x1067: 0x1e88, 0x1068: 0x1e92, 0x1069: 0x1e8d,\n\t0x106a: 0x1e65, 0x106b: 0x1eb0, 0x106c: 0x1ed3, 0x106d: 0x1e7e, 0x106e: 0x1e83, 0x106f: 0x1e88,\n\t0x1070: 0x1e92, 0x1071: 0x1e6f, 0x1072: 0x1e97, 0x1073: 0x1eec, 0x1074: 0x1e56, 0x1075: 0x1e5b,\n\t0x1076: 0x1e60, 0x1077: 0x1e7e, 0x1078: 0x1e83, 0x1079: 0x1e88, 0x107a: 0x1eec, 0x107b: 0x1efb,\n\t0x107c: 0x4408, 0x107d: 0x4408,\n\t// Block 0x42, offset 0x1080\n\t0x1090: 0x2311, 0x1091: 0x2326,\n\t0x1092: 0x2326, 0x1093: 0x232d, 0x1094: 0x2334, 0x1095: 0x2349, 0x1096: 0x2350, 0x1097: 0x2357,\n\t0x1098: 0x237a, 0x1099: 0x237a, 0x109a: 0x239d, 0x109b: 0x2396, 0x109c: 0x23b2, 0x109d: 0x23a4,\n\t0x109e: 0x23ab, 0x109f: 0x23ce, 0x10a0: 0x23ce, 0x10a1: 0x23c7, 0x10a2: 0x23d5, 0x10a3: 0x23d5,\n\t0x10a4: 0x23ff, 0x10a5: 0x23ff, 0x10a6: 0x241b, 0x10a7: 0x23e3, 0x10a8: 0x23e3, 0x10a9: 0x23dc,\n\t0x10aa: 0x23f1, 0x10ab: 0x23f1, 0x10ac: 0x23f8, 0x10ad: 0x23f8, 0x10ae: 0x2422, 0x10af: 0x2430,\n\t0x10b0: 0x2430, 0x10b1: 0x2437, 0x10b2: 0x2437, 0x10b3: 0x243e, 0x10b4: 0x2445, 0x10b5: 0x244c,\n\t0x10b6: 0x2453, 0x10b7: 0x2453, 0x10b8: 0x245a, 0x10b9: 0x2468, 0x10ba: 0x2476, 0x10bb: 0x246f,\n\t0x10bc: 0x247d, 0x10bd: 0x247d, 0x10be: 0x2492, 0x10bf: 0x2499,\n\t// Block 0x43, offset 0x10c0\n\t0x10c0: 0x24ca, 0x10c1: 0x24d8, 0x10c2: 0x24d1, 0x10c3: 0x24b5, 0x10c4: 0x24b5, 0x10c5: 0x24df,\n\t0x10c6: 0x24df, 0x10c7: 0x24e6, 0x10c8: 0x24e6, 0x10c9: 0x2510, 0x10ca: 0x2517, 0x10cb: 0x251e,\n\t0x10cc: 0x24f4, 0x10cd: 0x2502, 0x10ce: 0x2525, 0x10cf: 0x252c,\n\t0x10d2: 0x24fb, 0x10d3: 0x2580, 0x10d4: 0x2587, 0x10d5: 0x255d, 0x10d6: 0x2564, 0x10d7: 0x2548,\n\t0x10d8: 0x2548, 0x10d9: 0x254f, 0x10da: 0x2579, 0x10db: 0x2572, 0x10dc: 0x259c, 0x10dd: 0x259c,\n\t0x10de: 0x230a, 0x10df: 0x231f, 0x10e0: 0x2318, 0x10e1: 0x2342, 0x10e2: 0x233b, 0x10e3: 0x2365,\n\t0x10e4: 0x235e, 0x10e5: 0x2388, 0x10e6: 0x236c, 0x10e7: 0x2381, 0x10e8: 0x23b9, 0x10e9: 0x2406,\n\t0x10ea: 0x23ea, 0x10eb: 0x2429, 0x10ec: 0x24c3, 0x10ed: 0x24ed, 0x10ee: 0x2595, 0x10ef: 0x258e,\n\t0x10f0: 0x25a3, 0x10f1: 0x253a, 0x10f2: 0x24a0, 0x10f3: 0x256b, 0x10f4: 0x2492, 0x10f5: 0x24ca,\n\t0x10f6: 0x2461, 0x10f7: 0x24ae, 0x10f8: 0x2541, 0x10f9: 0x2533, 0x10fa: 0x24bc, 0x10fb: 0x24a7,\n\t0x10fc: 0x24bc, 0x10fd: 0x2541, 0x10fe: 0x2373, 0x10ff: 0x238f,\n\t// Block 0x44, offset 0x1100\n\t0x1100: 0x2509, 0x1101: 0x2484, 0x1102: 0x2303, 0x1103: 0x24a7, 0x1104: 0x244c, 0x1105: 0x241b,\n\t0x1106: 0x23c0, 0x1107: 0x2556,\n\t0x1130: 0x2414, 0x1131: 0x248b, 0x1132: 0x27bf, 0x1133: 0x27b6, 0x1134: 0x27ec, 0x1135: 0x27da,\n\t0x1136: 0x27c8, 0x1137: 0x27e3, 0x1138: 0x27f5, 0x1139: 0x240d, 0x113a: 0x2c7c, 0x113b: 0x2afc,\n\t0x113c: 0x27d1,\n\t// Block 0x45, offset 0x1140\n\t0x1150: 0x0019, 0x1151: 0x0483,\n\t0x1152: 0x0487, 0x1153: 0x0035, 0x1154: 0x0037, 0x1155: 0x0003, 0x1156: 0x003f, 0x1157: 0x04bf,\n\t0x1158: 0x04c3, 0x1159: 0x1b5c,\n\t0x1160: 0x8132, 0x1161: 0x8132, 0x1162: 0x8132, 0x1163: 0x8132,\n\t0x1164: 0x8132, 0x1165: 0x8132, 0x1166: 0x8132, 0x1167: 0x812d, 0x1168: 0x812d, 0x1169: 0x812d,\n\t0x116a: 0x812d, 0x116b: 0x812d, 0x116c: 0x812d, 0x116d: 0x812d, 0x116e: 0x8132, 0x116f: 0x8132,\n\t0x1170: 0x1873, 0x1171: 0x0443, 0x1172: 0x043f, 0x1173: 0x007f, 0x1174: 0x007f, 0x1175: 0x0011,\n\t0x1176: 0x0013, 0x1177: 0x00b7, 0x1178: 0x00bb, 0x1179: 0x04b7, 0x117a: 0x04bb, 0x117b: 0x04ab,\n\t0x117c: 0x04af, 0x117d: 0x0493, 0x117e: 0x0497, 0x117f: 0x048b,\n\t// Block 0x46, offset 0x1180\n\t0x1180: 0x048f, 0x1181: 0x049b, 0x1182: 0x049f, 0x1183: 0x04a3, 0x1184: 0x04a7,\n\t0x1187: 0x0077, 0x1188: 0x007b, 0x1189: 0x4269, 0x118a: 0x4269, 0x118b: 0x4269,\n\t0x118c: 0x4269, 0x118d: 0x007f, 0x118e: 0x007f, 0x118f: 0x007f, 0x1190: 0x0019, 0x1191: 0x0483,\n\t0x1192: 0x001d, 0x1194: 0x0037, 0x1195: 0x0035, 0x1196: 0x003f, 0x1197: 0x0003,\n\t0x1198: 0x0443, 0x1199: 0x0011, 0x119a: 0x0013, 0x119b: 0x00b7, 0x119c: 0x00bb, 0x119d: 0x04b7,\n\t0x119e: 0x04bb, 0x119f: 0x0007, 0x11a0: 0x000d, 0x11a1: 0x0015, 0x11a2: 0x0017, 0x11a3: 0x001b,\n\t0x11a4: 0x0039, 0x11a5: 0x003d, 0x11a6: 0x003b, 0x11a8: 0x0079, 0x11a9: 0x0009,\n\t0x11aa: 0x000b, 0x11ab: 0x0041,\n\t0x11b0: 0x42aa, 0x11b1: 0x442c, 0x11b2: 0x42af, 0x11b4: 0x42b4,\n\t0x11b6: 0x42b9, 0x11b7: 0x4432, 0x11b8: 0x42be, 0x11b9: 0x4438, 0x11ba: 0x42c3, 0x11bb: 0x443e,\n\t0x11bc: 0x42c8, 0x11bd: 0x4444, 0x11be: 0x42cd, 0x11bf: 0x444a,\n\t// Block 0x47, offset 0x11c0\n\t0x11c0: 0x0236, 0x11c1: 0x440e, 0x11c2: 0x440e, 0x11c3: 0x4414, 0x11c4: 0x4414, 0x11c5: 0x4456,\n\t0x11c6: 0x4456, 0x11c7: 0x441a, 0x11c8: 0x441a, 0x11c9: 0x4462, 0x11ca: 0x4462, 0x11cb: 0x4462,\n\t0x11cc: 0x4462, 0x11cd: 0x0239, 0x11ce: 0x0239, 0x11cf: 0x023c, 0x11d0: 0x023c, 0x11d1: 0x023c,\n\t0x11d2: 0x023c, 0x11d3: 0x023f, 0x11d4: 0x023f, 0x11d5: 0x0242, 0x11d6: 0x0242, 0x11d7: 0x0242,\n\t0x11d8: 0x0242, 0x11d9: 0x0245, 0x11da: 0x0245, 0x11db: 0x0245, 0x11dc: 0x0245, 0x11dd: 0x0248,\n\t0x11de: 0x0248, 0x11df: 0x0248, 0x11e0: 0x0248, 0x11e1: 0x024b, 0x11e2: 0x024b, 0x11e3: 0x024b,\n\t0x11e4: 0x024b, 0x11e5: 0x024e, 0x11e6: 0x024e, 0x11e7: 0x024e, 0x11e8: 0x024e, 0x11e9: 0x0251,\n\t0x11ea: 0x0251, 0x11eb: 0x0254, 0x11ec: 0x0254, 0x11ed: 0x0257, 0x11ee: 0x0257, 0x11ef: 0x025a,\n\t0x11f0: 0x025a, 0x11f1: 0x025d, 0x11f2: 0x025d, 0x11f3: 0x025d, 0x11f4: 0x025d, 0x11f5: 0x0260,\n\t0x11f6: 0x0260, 0x11f7: 0x0260, 0x11f8: 0x0260, 0x11f9: 0x0263, 0x11fa: 0x0263, 0x11fb: 0x0263,\n\t0x11fc: 0x0263, 0x11fd: 0x0266, 0x11fe: 0x0266, 0x11ff: 0x0266,\n\t// Block 0x48, offset 0x1200\n\t0x1200: 0x0266, 0x1201: 0x0269, 0x1202: 0x0269, 0x1203: 0x0269, 0x1204: 0x0269, 0x1205: 0x026c,\n\t0x1206: 0x026c, 0x1207: 0x026c, 0x1208: 0x026c, 0x1209: 0x026f, 0x120a: 0x026f, 0x120b: 0x026f,\n\t0x120c: 0x026f, 0x120d: 0x0272, 0x120e: 0x0272, 0x120f: 0x0272, 0x1210: 0x0272, 0x1211: 0x0275,\n\t0x1212: 0x0275, 0x1213: 0x0275, 0x1214: 0x0275, 0x1215: 0x0278, 0x1216: 0x0278, 0x1217: 0x0278,\n\t0x1218: 0x0278, 0x1219: 0x027b, 0x121a: 0x027b, 0x121b: 0x027b, 0x121c: 0x027b, 0x121d: 0x027e,\n\t0x121e: 0x027e, 0x121f: 0x027e, 0x1220: 0x027e, 0x1221: 0x0281, 0x1222: 0x0281, 0x1223: 0x0281,\n\t0x1224: 0x0281, 0x1225: 0x0284, 0x1226: 0x0284, 0x1227: 0x0284, 0x1228: 0x0284, 0x1229: 0x0287,\n\t0x122a: 0x0287, 0x122b: 0x0287, 0x122c: 0x0287, 0x122d: 0x028a, 0x122e: 0x028a, 0x122f: 0x028d,\n\t0x1230: 0x028d, 0x1231: 0x0290, 0x1232: 0x0290, 0x1233: 0x0290, 0x1234: 0x0290, 0x1235: 0x2e00,\n\t0x1236: 0x2e00, 0x1237: 0x2e08, 0x1238: 0x2e08, 0x1239: 0x2e10, 0x123a: 0x2e10, 0x123b: 0x1f82,\n\t0x123c: 0x1f82,\n\t// Block 0x49, offset 0x1240\n\t0x1240: 0x0081, 0x1241: 0x0083, 0x1242: 0x0085, 0x1243: 0x0087, 0x1244: 0x0089, 0x1245: 0x008b,\n\t0x1246: 0x008d, 0x1247: 0x008f, 0x1248: 0x0091, 0x1249: 0x0093, 0x124a: 0x0095, 0x124b: 0x0097,\n\t0x124c: 0x0099, 0x124d: 0x009b, 0x124e: 0x009d, 0x124f: 0x009f, 0x1250: 0x00a1, 0x1251: 0x00a3,\n\t0x1252: 0x00a5, 0x1253: 0x00a7, 0x1254: 0x00a9, 0x1255: 0x00ab, 0x1256: 0x00ad, 0x1257: 0x00af,\n\t0x1258: 0x00b1, 0x1259: 0x00b3, 0x125a: 0x00b5, 0x125b: 0x00b7, 0x125c: 0x00b9, 0x125d: 0x00bb,\n\t0x125e: 0x00bd, 0x125f: 0x0477, 0x1260: 0x047b, 0x1261: 0x0487, 0x1262: 0x049b, 0x1263: 0x049f,\n\t0x1264: 0x0483, 0x1265: 0x05ab, 0x1266: 0x05a3, 0x1267: 0x04c7, 0x1268: 0x04cf, 0x1269: 0x04d7,\n\t0x126a: 0x04df, 0x126b: 0x04e7, 0x126c: 0x056b, 0x126d: 0x0573, 0x126e: 0x057b, 0x126f: 0x051f,\n\t0x1270: 0x05af, 0x1271: 0x04cb, 0x1272: 0x04d3, 0x1273: 0x04db, 0x1274: 0x04e3, 0x1275: 0x04eb,\n\t0x1276: 0x04ef, 0x1277: 0x04f3, 0x1278: 0x04f7, 0x1279: 0x04fb, 0x127a: 0x04ff, 0x127b: 0x0503,\n\t0x127c: 0x0507, 0x127d: 0x050b, 0x127e: 0x050f, 0x127f: 0x0513,\n\t// Block 0x4a, offset 0x1280\n\t0x1280: 0x0517, 0x1281: 0x051b, 0x1282: 0x0523, 0x1283: 0x0527, 0x1284: 0x052b, 0x1285: 0x052f,\n\t0x1286: 0x0533, 0x1287: 0x0537, 0x1288: 0x053b, 0x1289: 0x053f, 0x128a: 0x0543, 0x128b: 0x0547,\n\t0x128c: 0x054b, 0x128d: 0x054f, 0x128e: 0x0553, 0x128f: 0x0557, 0x1290: 0x055b, 0x1291: 0x055f,\n\t0x1292: 0x0563, 0x1293: 0x0567, 0x1294: 0x056f, 0x1295: 0x0577, 0x1296: 0x057f, 0x1297: 0x0583,\n\t0x1298: 0x0587, 0x1299: 0x058b, 0x129a: 0x058f, 0x129b: 0x0593, 0x129c: 0x0597, 0x129d: 0x05a7,\n\t0x129e: 0x4a78, 0x129f: 0x4a7e, 0x12a0: 0x03c3, 0x12a1: 0x0313, 0x12a2: 0x0317, 0x12a3: 0x4a3b,\n\t0x12a4: 0x031b, 0x12a5: 0x4a41, 0x12a6: 0x4a47, 0x12a7: 0x031f, 0x12a8: 0x0323, 0x12a9: 0x0327,\n\t0x12aa: 0x4a4d, 0x12ab: 0x4a53, 0x12ac: 0x4a59, 0x12ad: 0x4a5f, 0x12ae: 0x4a65, 0x12af: 0x4a6b,\n\t0x12b0: 0x0367, 0x12b1: 0x032b, 0x12b2: 0x032f, 0x12b3: 0x0333, 0x12b4: 0x037b, 0x12b5: 0x0337,\n\t0x12b6: 0x033b, 0x12b7: 0x033f, 0x12b8: 0x0343, 0x12b9: 0x0347, 0x12ba: 0x034b, 0x12bb: 0x034f,\n\t0x12bc: 0x0353, 0x12bd: 0x0357, 0x12be: 0x035b,\n\t// Block 0x4b, offset 0x12c0\n\t0x12c2: 0x49bd, 0x12c3: 0x49c3, 0x12c4: 0x49c9, 0x12c5: 0x49cf,\n\t0x12c6: 0x49d5, 0x12c7: 0x49db, 0x12ca: 0x49e1, 0x12cb: 0x49e7,\n\t0x12cc: 0x49ed, 0x12cd: 0x49f3, 0x12ce: 0x49f9, 0x12cf: 0x49ff,\n\t0x12d2: 0x4a05, 0x12d3: 0x4a0b, 0x12d4: 0x4a11, 0x12d5: 0x4a17, 0x12d6: 0x4a1d, 0x12d7: 0x4a23,\n\t0x12da: 0x4a29, 0x12db: 0x4a2f, 0x12dc: 0x4a35,\n\t0x12e0: 0x00bf, 0x12e1: 0x00c2, 0x12e2: 0x00cb, 0x12e3: 0x4264,\n\t0x12e4: 0x00c8, 0x12e5: 0x00c5, 0x12e6: 0x0447, 0x12e8: 0x046b, 0x12e9: 0x044b,\n\t0x12ea: 0x044f, 0x12eb: 0x0453, 0x12ec: 0x0457, 0x12ed: 0x046f, 0x12ee: 0x0473,\n\t// Block 0x4c, offset 0x1300\n\t0x1300: 0x0063, 0x1301: 0x0065, 0x1302: 0x0067, 0x1303: 0x0069, 0x1304: 0x006b, 0x1305: 0x006d,\n\t0x1306: 0x006f, 0x1307: 0x0071, 0x1308: 0x0073, 0x1309: 0x0075, 0x130a: 0x0083, 0x130b: 0x0085,\n\t0x130c: 0x0087, 0x130d: 0x0089, 0x130e: 0x008b, 0x130f: 0x008d, 0x1310: 0x008f, 0x1311: 0x0091,\n\t0x1312: 0x0093, 0x1313: 0x0095, 0x1314: 0x0097, 0x1315: 0x0099, 0x1316: 0x009b, 0x1317: 0x009d,\n\t0x1318: 0x009f, 0x1319: 0x00a1, 0x131a: 0x00a3, 0x131b: 0x00a5, 0x131c: 0x00a7, 0x131d: 0x00a9,\n\t0x131e: 0x00ab, 0x131f: 0x00ad, 0x1320: 0x00af, 0x1321: 0x00b1, 0x1322: 0x00b3, 0x1323: 0x00b5,\n\t0x1324: 0x00dd, 0x1325: 0x00f2, 0x1328: 0x0173, 0x1329: 0x0176,\n\t0x132a: 0x0179, 0x132b: 0x017c, 0x132c: 0x017f, 0x132d: 0x0182, 0x132e: 0x0185, 0x132f: 0x0188,\n\t0x1330: 0x018b, 0x1331: 0x018e, 0x1332: 0x0191, 0x1333: 0x0194, 0x1334: 0x0197, 0x1335: 0x019a,\n\t0x1336: 0x019d, 0x1337: 0x01a0, 0x1338: 0x01a3, 0x1339: 0x0188, 0x133a: 0x01a6, 0x133b: 0x01a9,\n\t0x133c: 0x01ac, 0x133d: 0x01af, 0x133e: 0x01b2, 0x133f: 0x01b5,\n\t// Block 0x4d, offset 0x1340\n\t0x1340: 0x01fd, 0x1341: 0x0200, 0x1342: 0x0203, 0x1343: 0x045b, 0x1344: 0x01c7, 0x1345: 0x01d0,\n\t0x1346: 0x01d6, 0x1347: 0x01fa, 0x1348: 0x01eb, 0x1349: 0x01e8, 0x134a: 0x0206, 0x134b: 0x0209,\n\t0x134e: 0x0021, 0x134f: 0x0023, 0x1350: 0x0025, 0x1351: 0x0027,\n\t0x1352: 0x0029, 0x1353: 0x002b, 0x1354: 0x002d, 0x1355: 0x002f, 0x1356: 0x0031, 0x1357: 0x0033,\n\t0x1358: 0x0021, 0x1359: 0x0023, 0x135a: 0x0025, 0x135b: 0x0027, 0x135c: 0x0029, 0x135d: 0x002b,\n\t0x135e: 0x002d, 0x135f: 0x002f, 0x1360: 0x0031, 0x1361: 0x0033, 0x1362: 0x0021, 0x1363: 0x0023,\n\t0x1364: 0x0025, 0x1365: 0x0027, 0x1366: 0x0029, 0x1367: 0x002b, 0x1368: 0x002d, 0x1369: 0x002f,\n\t0x136a: 0x0031, 0x136b: 0x0033, 0x136c: 0x0021, 0x136d: 0x0023, 0x136e: 0x0025, 0x136f: 0x0027,\n\t0x1370: 0x0029, 0x1371: 0x002b, 0x1372: 0x002d, 0x1373: 0x002f, 0x1374: 0x0031, 0x1375: 0x0033,\n\t0x1376: 0x0021, 0x1377: 0x0023, 0x1378: 0x0025, 0x1379: 0x0027, 0x137a: 0x0029, 0x137b: 0x002b,\n\t0x137c: 0x002d, 0x137d: 0x002f, 0x137e: 0x0031, 0x137f: 0x0033,\n\t// Block 0x4e, offset 0x1380\n\t0x1380: 0x0239, 0x1381: 0x023c, 0x1382: 0x0248, 0x1383: 0x0251, 0x1385: 0x028a,\n\t0x1386: 0x025a, 0x1387: 0x024b, 0x1388: 0x0269, 0x1389: 0x0290, 0x138a: 0x027b, 0x138b: 0x027e,\n\t0x138c: 0x0281, 0x138d: 0x0284, 0x138e: 0x025d, 0x138f: 0x026f, 0x1390: 0x0275, 0x1391: 0x0263,\n\t0x1392: 0x0278, 0x1393: 0x0257, 0x1394: 0x0260, 0x1395: 0x0242, 0x1396: 0x0245, 0x1397: 0x024e,\n\t0x1398: 0x0254, 0x1399: 0x0266, 0x139a: 0x026c, 0x139b: 0x0272, 0x139c: 0x0293, 0x139d: 0x02e4,\n\t0x139e: 0x02cc, 0x139f: 0x0296, 0x13a1: 0x023c, 0x13a2: 0x0248,\n\t0x13a4: 0x0287, 0x13a7: 0x024b, 0x13a9: 0x0290,\n\t0x13aa: 0x027b, 0x13ab: 0x027e, 0x13ac: 0x0281, 0x13ad: 0x0284, 0x13ae: 0x025d, 0x13af: 0x026f,\n\t0x13b0: 0x0275, 0x13b1: 0x0263, 0x13b2: 0x0278, 0x13b4: 0x0260, 0x13b5: 0x0242,\n\t0x13b6: 0x0245, 0x13b7: 0x024e, 0x13b9: 0x0266, 0x13bb: 0x0272,\n\t// Block 0x4f, offset 0x13c0\n\t0x13c2: 0x0248,\n\t0x13c7: 0x024b, 0x13c9: 0x0290, 0x13cb: 0x027e,\n\t0x13cd: 0x0284, 0x13ce: 0x025d, 0x13cf: 0x026f, 0x13d1: 0x0263,\n\t0x13d2: 0x0278, 0x13d4: 0x0260, 0x13d7: 0x024e,\n\t0x13d9: 0x0266, 0x13db: 0x0272, 0x13dd: 0x02e4,\n\t0x13df: 0x0296, 0x13e1: 0x023c, 0x13e2: 0x0248,\n\t0x13e4: 0x0287, 0x13e7: 0x024b, 0x13e8: 0x0269, 0x13e9: 0x0290,\n\t0x13ea: 0x027b, 0x13ec: 0x0281, 0x13ed: 0x0284, 0x13ee: 0x025d, 0x13ef: 0x026f,\n\t0x13f0: 0x0275, 0x13f1: 0x0263, 0x13f2: 0x0278, 0x13f4: 0x0260, 0x13f5: 0x0242,\n\t0x13f6: 0x0245, 0x13f7: 0x024e, 0x13f9: 0x0266, 0x13fa: 0x026c, 0x13fb: 0x0272,\n\t0x13fc: 0x0293, 0x13fe: 0x02cc,\n\t// Block 0x50, offset 0x1400\n\t0x1400: 0x0239, 0x1401: 0x023c, 0x1402: 0x0248, 0x1403: 0x0251, 0x1404: 0x0287, 0x1405: 0x028a,\n\t0x1406: 0x025a, 0x1407: 0x024b, 0x1408: 0x0269, 0x1409: 0x0290, 0x140b: 0x027e,\n\t0x140c: 0x0281, 0x140d: 0x0284, 0x140e: 0x025d, 0x140f: 0x026f, 0x1410: 0x0275, 0x1411: 0x0263,\n\t0x1412: 0x0278, 0x1413: 0x0257, 0x1414: 0x0260, 0x1415: 0x0242, 0x1416: 0x0245, 0x1417: 0x024e,\n\t0x1418: 0x0254, 0x1419: 0x0266, 0x141a: 0x026c, 0x141b: 0x0272,\n\t0x1421: 0x023c, 0x1422: 0x0248, 0x1423: 0x0251,\n\t0x1425: 0x028a, 0x1426: 0x025a, 0x1427: 0x024b, 0x1428: 0x0269, 0x1429: 0x0290,\n\t0x142b: 0x027e, 0x142c: 0x0281, 0x142d: 0x0284, 0x142e: 0x025d, 0x142f: 0x026f,\n\t0x1430: 0x0275, 0x1431: 0x0263, 0x1432: 0x0278, 0x1433: 0x0257, 0x1434: 0x0260, 0x1435: 0x0242,\n\t0x1436: 0x0245, 0x1437: 0x024e, 0x1438: 0x0254, 0x1439: 0x0266, 0x143a: 0x026c, 0x143b: 0x0272,\n\t// Block 0x51, offset 0x1440\n\t0x1440: 0x1879, 0x1441: 0x1876, 0x1442: 0x187c, 0x1443: 0x18a0, 0x1444: 0x18c4, 0x1445: 0x18e8,\n\t0x1446: 0x190c, 0x1447: 0x1915, 0x1448: 0x191b, 0x1449: 0x1921, 0x144a: 0x1927,\n\t0x1450: 0x1a8c, 0x1451: 0x1a90,\n\t0x1452: 0x1a94, 0x1453: 0x1a98, 0x1454: 0x1a9c, 0x1455: 0x1aa0, 0x1456: 0x1aa4, 0x1457: 0x1aa8,\n\t0x1458: 0x1aac, 0x1459: 0x1ab0, 0x145a: 0x1ab4, 0x145b: 0x1ab8, 0x145c: 0x1abc, 0x145d: 0x1ac0,\n\t0x145e: 0x1ac4, 0x145f: 0x1ac8, 0x1460: 0x1acc, 0x1461: 0x1ad0, 0x1462: 0x1ad4, 0x1463: 0x1ad8,\n\t0x1464: 0x1adc, 0x1465: 0x1ae0, 0x1466: 0x1ae4, 0x1467: 0x1ae8, 0x1468: 0x1aec, 0x1469: 0x1af0,\n\t0x146a: 0x271e, 0x146b: 0x0047, 0x146c: 0x0065, 0x146d: 0x193c, 0x146e: 0x19b1,\n\t0x1470: 0x0043, 0x1471: 0x0045, 0x1472: 0x0047, 0x1473: 0x0049, 0x1474: 0x004b, 0x1475: 0x004d,\n\t0x1476: 0x004f, 0x1477: 0x0051, 0x1478: 0x0053, 0x1479: 0x0055, 0x147a: 0x0057, 0x147b: 0x0059,\n\t0x147c: 0x005b, 0x147d: 0x005d, 0x147e: 0x005f, 0x147f: 0x0061,\n\t// Block 0x52, offset 0x1480\n\t0x1480: 0x26ad, 0x1481: 0x26c2, 0x1482: 0x0503,\n\t0x1490: 0x0c0f, 0x1491: 0x0a47,\n\t0x1492: 0x08d3, 0x1493: 0x45c4, 0x1494: 0x071b, 0x1495: 0x09ef, 0x1496: 0x132f, 0x1497: 0x09ff,\n\t0x1498: 0x0727, 0x1499: 0x0cd7, 0x149a: 0x0eaf, 0x149b: 0x0caf, 0x149c: 0x0827, 0x149d: 0x0b6b,\n\t0x149e: 0x07bf, 0x149f: 0x0cb7, 0x14a0: 0x0813, 0x14a1: 0x1117, 0x14a2: 0x0f83, 0x14a3: 0x138b,\n\t0x14a4: 0x09d3, 0x14a5: 0x090b, 0x14a6: 0x0e63, 0x14a7: 0x0c1b, 0x14a8: 0x0c47, 0x14a9: 0x06bf,\n\t0x14aa: 0x06cb, 0x14ab: 0x140b, 0x14ac: 0x0adb, 0x14ad: 0x06e7, 0x14ae: 0x08ef, 0x14af: 0x0c3b,\n\t0x14b0: 0x13b3, 0x14b1: 0x0c13, 0x14b2: 0x106f, 0x14b3: 0x10ab, 0x14b4: 0x08f7, 0x14b5: 0x0e43,\n\t0x14b6: 0x0d0b, 0x14b7: 0x0d07, 0x14b8: 0x0f97, 0x14b9: 0x082b, 0x14ba: 0x0957, 0x14bb: 0x1443,\n\t// Block 0x53, offset 0x14c0\n\t0x14c0: 0x06fb, 0x14c1: 0x06f3, 0x14c2: 0x0703, 0x14c3: 0x1647, 0x14c4: 0x0747, 0x14c5: 0x0757,\n\t0x14c6: 0x075b, 0x14c7: 0x0763, 0x14c8: 0x076b, 0x14c9: 0x076f, 0x14ca: 0x077b, 0x14cb: 0x0773,\n\t0x14cc: 0x05b3, 0x14cd: 0x165b, 0x14ce: 0x078f, 0x14cf: 0x0793, 0x14d0: 0x0797, 0x14d1: 0x07b3,\n\t0x14d2: 0x164c, 0x14d3: 0x05b7, 0x14d4: 0x079f, 0x14d5: 0x07bf, 0x14d6: 0x1656, 0x14d7: 0x07cf,\n\t0x14d8: 0x07d7, 0x14d9: 0x0737, 0x14da: 0x07df, 0x14db: 0x07e3, 0x14dc: 0x1831, 0x14dd: 0x07ff,\n\t0x14de: 0x0807, 0x14df: 0x05bf, 0x14e0: 0x081f, 0x14e1: 0x0823, 0x14e2: 0x082b, 0x14e3: 0x082f,\n\t0x14e4: 0x05c3, 0x14e5: 0x0847, 0x14e6: 0x084b, 0x14e7: 0x0857, 0x14e8: 0x0863, 0x14e9: 0x0867,\n\t0x14ea: 0x086b, 0x14eb: 0x0873, 0x14ec: 0x0893, 0x14ed: 0x0897, 0x14ee: 0x089f, 0x14ef: 0x08af,\n\t0x14f0: 0x08b7, 0x14f1: 0x08bb, 0x14f2: 0x08bb, 0x14f3: 0x08bb, 0x14f4: 0x166a, 0x14f5: 0x0e93,\n\t0x14f6: 0x08cf, 0x14f7: 0x08d7, 0x14f8: 0x166f, 0x14f9: 0x08e3, 0x14fa: 0x08eb, 0x14fb: 0x08f3,\n\t0x14fc: 0x091b, 0x14fd: 0x0907, 0x14fe: 0x0913, 0x14ff: 0x0917,\n\t// Block 0x54, offset 0x1500\n\t0x1500: 0x091f, 0x1501: 0x0927, 0x1502: 0x092b, 0x1503: 0x0933, 0x1504: 0x093b, 0x1505: 0x093f,\n\t0x1506: 0x093f, 0x1507: 0x0947, 0x1508: 0x094f, 0x1509: 0x0953, 0x150a: 0x095f, 0x150b: 0x0983,\n\t0x150c: 0x0967, 0x150d: 0x0987, 0x150e: 0x096b, 0x150f: 0x0973, 0x1510: 0x080b, 0x1511: 0x09cf,\n\t0x1512: 0x0997, 0x1513: 0x099b, 0x1514: 0x099f, 0x1515: 0x0993, 0x1516: 0x09a7, 0x1517: 0x09a3,\n\t0x1518: 0x09bb, 0x1519: 0x1674, 0x151a: 0x09d7, 0x151b: 0x09db, 0x151c: 0x09e3, 0x151d: 0x09ef,\n\t0x151e: 0x09f7, 0x151f: 0x0a13, 0x1520: 0x1679, 0x1521: 0x167e, 0x1522: 0x0a1f, 0x1523: 0x0a23,\n\t0x1524: 0x0a27, 0x1525: 0x0a1b, 0x1526: 0x0a2f, 0x1527: 0x05c7, 0x1528: 0x05cb, 0x1529: 0x0a37,\n\t0x152a: 0x0a3f, 0x152b: 0x0a3f, 0x152c: 0x1683, 0x152d: 0x0a5b, 0x152e: 0x0a5f, 0x152f: 0x0a63,\n\t0x1530: 0x0a6b, 0x1531: 0x1688, 0x1532: 0x0a73, 0x1533: 0x0a77, 0x1534: 0x0b4f, 0x1535: 0x0a7f,\n\t0x1536: 0x05cf, 0x1537: 0x0a8b, 0x1538: 0x0a9b, 0x1539: 0x0aa7, 0x153a: 0x0aa3, 0x153b: 0x1692,\n\t0x153c: 0x0aaf, 0x153d: 0x1697, 0x153e: 0x0abb, 0x153f: 0x0ab7,\n\t// Block 0x55, offset 0x1540\n\t0x1540: 0x0abf, 0x1541: 0x0acf, 0x1542: 0x0ad3, 0x1543: 0x05d3, 0x1544: 0x0ae3, 0x1545: 0x0aeb,\n\t0x1546: 0x0aef, 0x1547: 0x0af3, 0x1548: 0x05d7, 0x1549: 0x169c, 0x154a: 0x05db, 0x154b: 0x0b0f,\n\t0x154c: 0x0b13, 0x154d: 0x0b17, 0x154e: 0x0b1f, 0x154f: 0x1863, 0x1550: 0x0b37, 0x1551: 0x16a6,\n\t0x1552: 0x16a6, 0x1553: 0x11d7, 0x1554: 0x0b47, 0x1555: 0x0b47, 0x1556: 0x05df, 0x1557: 0x16c9,\n\t0x1558: 0x179b, 0x1559: 0x0b57, 0x155a: 0x0b5f, 0x155b: 0x05e3, 0x155c: 0x0b73, 0x155d: 0x0b83,\n\t0x155e: 0x0b87, 0x155f: 0x0b8f, 0x1560: 0x0b9f, 0x1561: 0x05eb, 0x1562: 0x05e7, 0x1563: 0x0ba3,\n\t0x1564: 0x16ab, 0x1565: 0x0ba7, 0x1566: 0x0bbb, 0x1567: 0x0bbf, 0x1568: 0x0bc3, 0x1569: 0x0bbf,\n\t0x156a: 0x0bcf, 0x156b: 0x0bd3, 0x156c: 0x0be3, 0x156d: 0x0bdb, 0x156e: 0x0bdf, 0x156f: 0x0be7,\n\t0x1570: 0x0beb, 0x1571: 0x0bef, 0x1572: 0x0bfb, 0x1573: 0x0bff, 0x1574: 0x0c17, 0x1575: 0x0c1f,\n\t0x1576: 0x0c2f, 0x1577: 0x0c43, 0x1578: 0x16ba, 0x1579: 0x0c3f, 0x157a: 0x0c33, 0x157b: 0x0c4b,\n\t0x157c: 0x0c53, 0x157d: 0x0c67, 0x157e: 0x16bf, 0x157f: 0x0c6f,\n\t// Block 0x56, offset 0x1580\n\t0x1580: 0x0c63, 0x1581: 0x0c5b, 0x1582: 0x05ef, 0x1583: 0x0c77, 0x1584: 0x0c7f, 0x1585: 0x0c87,\n\t0x1586: 0x0c7b, 0x1587: 0x05f3, 0x1588: 0x0c97, 0x1589: 0x0c9f, 0x158a: 0x16c4, 0x158b: 0x0ccb,\n\t0x158c: 0x0cff, 0x158d: 0x0cdb, 0x158e: 0x05ff, 0x158f: 0x0ce7, 0x1590: 0x05fb, 0x1591: 0x05f7,\n\t0x1592: 0x07c3, 0x1593: 0x07c7, 0x1594: 0x0d03, 0x1595: 0x0ceb, 0x1596: 0x11ab, 0x1597: 0x0663,\n\t0x1598: 0x0d0f, 0x1599: 0x0d13, 0x159a: 0x0d17, 0x159b: 0x0d2b, 0x159c: 0x0d23, 0x159d: 0x16dd,\n\t0x159e: 0x0603, 0x159f: 0x0d3f, 0x15a0: 0x0d33, 0x15a1: 0x0d4f, 0x15a2: 0x0d57, 0x15a3: 0x16e7,\n\t0x15a4: 0x0d5b, 0x15a5: 0x0d47, 0x15a6: 0x0d63, 0x15a7: 0x0607, 0x15a8: 0x0d67, 0x15a9: 0x0d6b,\n\t0x15aa: 0x0d6f, 0x15ab: 0x0d7b, 0x15ac: 0x16ec, 0x15ad: 0x0d83, 0x15ae: 0x060b, 0x15af: 0x0d8f,\n\t0x15b0: 0x16f1, 0x15b1: 0x0d93, 0x15b2: 0x060f, 0x15b3: 0x0d9f, 0x15b4: 0x0dab, 0x15b5: 0x0db7,\n\t0x15b6: 0x0dbb, 0x15b7: 0x16f6, 0x15b8: 0x168d, 0x15b9: 0x16fb, 0x15ba: 0x0ddb, 0x15bb: 0x1700,\n\t0x15bc: 0x0de7, 0x15bd: 0x0def, 0x15be: 0x0ddf, 0x15bf: 0x0dfb,\n\t// Block 0x57, offset 0x15c0\n\t0x15c0: 0x0e0b, 0x15c1: 0x0e1b, 0x15c2: 0x0e0f, 0x15c3: 0x0e13, 0x15c4: 0x0e1f, 0x15c5: 0x0e23,\n\t0x15c6: 0x1705, 0x15c7: 0x0e07, 0x15c8: 0x0e3b, 0x15c9: 0x0e3f, 0x15ca: 0x0613, 0x15cb: 0x0e53,\n\t0x15cc: 0x0e4f, 0x15cd: 0x170a, 0x15ce: 0x0e33, 0x15cf: 0x0e6f, 0x15d0: 0x170f, 0x15d1: 0x1714,\n\t0x15d2: 0x0e73, 0x15d3: 0x0e87, 0x15d4: 0x0e83, 0x15d5: 0x0e7f, 0x15d6: 0x0617, 0x15d7: 0x0e8b,\n\t0x15d8: 0x0e9b, 0x15d9: 0x0e97, 0x15da: 0x0ea3, 0x15db: 0x1651, 0x15dc: 0x0eb3, 0x15dd: 0x1719,\n\t0x15de: 0x0ebf, 0x15df: 0x1723, 0x15e0: 0x0ed3, 0x15e1: 0x0edf, 0x15e2: 0x0ef3, 0x15e3: 0x1728,\n\t0x15e4: 0x0f07, 0x15e5: 0x0f0b, 0x15e6: 0x172d, 0x15e7: 0x1732, 0x15e8: 0x0f27, 0x15e9: 0x0f37,\n\t0x15ea: 0x061b, 0x15eb: 0x0f3b, 0x15ec: 0x061f, 0x15ed: 0x061f, 0x15ee: 0x0f53, 0x15ef: 0x0f57,\n\t0x15f0: 0x0f5f, 0x15f1: 0x0f63, 0x15f2: 0x0f6f, 0x15f3: 0x0623, 0x15f4: 0x0f87, 0x15f5: 0x1737,\n\t0x15f6: 0x0fa3, 0x15f7: 0x173c, 0x15f8: 0x0faf, 0x15f9: 0x16a1, 0x15fa: 0x0fbf, 0x15fb: 0x1741,\n\t0x15fc: 0x1746, 0x15fd: 0x174b, 0x15fe: 0x0627, 0x15ff: 0x062b,\n\t// Block 0x58, offset 0x1600\n\t0x1600: 0x0ff7, 0x1601: 0x1755, 0x1602: 0x1750, 0x1603: 0x175a, 0x1604: 0x175f, 0x1605: 0x0fff,\n\t0x1606: 0x1003, 0x1607: 0x1003, 0x1608: 0x100b, 0x1609: 0x0633, 0x160a: 0x100f, 0x160b: 0x0637,\n\t0x160c: 0x063b, 0x160d: 0x1769, 0x160e: 0x1023, 0x160f: 0x102b, 0x1610: 0x1037, 0x1611: 0x063f,\n\t0x1612: 0x176e, 0x1613: 0x105b, 0x1614: 0x1773, 0x1615: 0x1778, 0x1616: 0x107b, 0x1617: 0x1093,\n\t0x1618: 0x0643, 0x1619: 0x109b, 0x161a: 0x109f, 0x161b: 0x10a3, 0x161c: 0x177d, 0x161d: 0x1782,\n\t0x161e: 0x1782, 0x161f: 0x10bb, 0x1620: 0x0647, 0x1621: 0x1787, 0x1622: 0x10cf, 0x1623: 0x10d3,\n\t0x1624: 0x064b, 0x1625: 0x178c, 0x1626: 0x10ef, 0x1627: 0x064f, 0x1628: 0x10ff, 0x1629: 0x10f7,\n\t0x162a: 0x1107, 0x162b: 0x1796, 0x162c: 0x111f, 0x162d: 0x0653, 0x162e: 0x112b, 0x162f: 0x1133,\n\t0x1630: 0x1143, 0x1631: 0x0657, 0x1632: 0x17a0, 0x1633: 0x17a5, 0x1634: 0x065b, 0x1635: 0x17aa,\n\t0x1636: 0x115b, 0x1637: 0x17af, 0x1638: 0x1167, 0x1639: 0x1173, 0x163a: 0x117b, 0x163b: 0x17b4,\n\t0x163c: 0x17b9, 0x163d: 0x118f, 0x163e: 0x17be, 0x163f: 0x1197,\n\t// Block 0x59, offset 0x1640\n\t0x1640: 0x16ce, 0x1641: 0x065f, 0x1642: 0x11af, 0x1643: 0x11b3, 0x1644: 0x0667, 0x1645: 0x11b7,\n\t0x1646: 0x0a33, 0x1647: 0x17c3, 0x1648: 0x17c8, 0x1649: 0x16d3, 0x164a: 0x16d8, 0x164b: 0x11d7,\n\t0x164c: 0x11db, 0x164d: 0x13f3, 0x164e: 0x066b, 0x164f: 0x1207, 0x1650: 0x1203, 0x1651: 0x120b,\n\t0x1652: 0x083f, 0x1653: 0x120f, 0x1654: 0x1213, 0x1655: 0x1217, 0x1656: 0x121f, 0x1657: 0x17cd,\n\t0x1658: 0x121b, 0x1659: 0x1223, 0x165a: 0x1237, 0x165b: 0x123b, 0x165c: 0x1227, 0x165d: 0x123f,\n\t0x165e: 0x1253, 0x165f: 0x1267, 0x1660: 0x1233, 0x1661: 0x1247, 0x1662: 0x124b, 0x1663: 0x124f,\n\t0x1664: 0x17d2, 0x1665: 0x17dc, 0x1666: 0x17d7, 0x1667: 0x066f, 0x1668: 0x126f, 0x1669: 0x1273,\n\t0x166a: 0x127b, 0x166b: 0x17f0, 0x166c: 0x127f, 0x166d: 0x17e1, 0x166e: 0x0673, 0x166f: 0x0677,\n\t0x1670: 0x17e6, 0x1671: 0x17eb, 0x1672: 0x067b, 0x1673: 0x129f, 0x1674: 0x12a3, 0x1675: 0x12a7,\n\t0x1676: 0x12ab, 0x1677: 0x12b7, 0x1678: 0x12b3, 0x1679: 0x12bf, 0x167a: 0x12bb, 0x167b: 0x12cb,\n\t0x167c: 0x12c3, 0x167d: 0x12c7, 0x167e: 0x12cf, 0x167f: 0x067f,\n\t// Block 0x5a, offset 0x1680\n\t0x1680: 0x12d7, 0x1681: 0x12db, 0x1682: 0x0683, 0x1683: 0x12eb, 0x1684: 0x12ef, 0x1685: 0x17f5,\n\t0x1686: 0x12fb, 0x1687: 0x12ff, 0x1688: 0x0687, 0x1689: 0x130b, 0x168a: 0x05bb, 0x168b: 0x17fa,\n\t0x168c: 0x17ff, 0x168d: 0x068b, 0x168e: 0x068f, 0x168f: 0x1337, 0x1690: 0x134f, 0x1691: 0x136b,\n\t0x1692: 0x137b, 0x1693: 0x1804, 0x1694: 0x138f, 0x1695: 0x1393, 0x1696: 0x13ab, 0x1697: 0x13b7,\n\t0x1698: 0x180e, 0x1699: 0x1660, 0x169a: 0x13c3, 0x169b: 0x13bf, 0x169c: 0x13cb, 0x169d: 0x1665,\n\t0x169e: 0x13d7, 0x169f: 0x13e3, 0x16a0: 0x1813, 0x16a1: 0x1818, 0x16a2: 0x1423, 0x16a3: 0x142f,\n\t0x16a4: 0x1437, 0x16a5: 0x181d, 0x16a6: 0x143b, 0x16a7: 0x1467, 0x16a8: 0x1473, 0x16a9: 0x1477,\n\t0x16aa: 0x146f, 0x16ab: 0x1483, 0x16ac: 0x1487, 0x16ad: 0x1822, 0x16ae: 0x1493, 0x16af: 0x0693,\n\t0x16b0: 0x149b, 0x16b1: 0x1827, 0x16b2: 0x0697, 0x16b3: 0x14d3, 0x16b4: 0x0ac3, 0x16b5: 0x14eb,\n\t0x16b6: 0x182c, 0x16b7: 0x1836, 0x16b8: 0x069b, 0x16b9: 0x069f, 0x16ba: 0x1513, 0x16bb: 0x183b,\n\t0x16bc: 0x06a3, 0x16bd: 0x1840, 0x16be: 0x152b, 0x16bf: 0x152b,\n\t// Block 0x5b, offset 0x16c0\n\t0x16c0: 0x1533, 0x16c1: 0x1845, 0x16c2: 0x154b, 0x16c3: 0x06a7, 0x16c4: 0x155b, 0x16c5: 0x1567,\n\t0x16c6: 0x156f, 0x16c7: 0x1577, 0x16c8: 0x06ab, 0x16c9: 0x184a, 0x16ca: 0x158b, 0x16cb: 0x15a7,\n\t0x16cc: 0x15b3, 0x16cd: 0x06af, 0x16ce: 0x06b3, 0x16cf: 0x15b7, 0x16d0: 0x184f, 0x16d1: 0x06b7,\n\t0x16d2: 0x1854, 0x16d3: 0x1859, 0x16d4: 0x185e, 0x16d5: 0x15db, 0x16d6: 0x06bb, 0x16d7: 0x15ef,\n\t0x16d8: 0x15f7, 0x16d9: 0x15fb, 0x16da: 0x1603, 0x16db: 0x160b, 0x16dc: 0x1613, 0x16dd: 0x1868,\n}\n\n// nfkcIndex: 22 blocks, 1408 entries, 1408 bytes\n// Block 0 is the zero block.\nvar nfkcIndex = [1408]uint8{\n\t// Block 0x0, offset 0x0\n\t// Block 0x1, offset 0x40\n\t// Block 0x2, offset 0x80\n\t// Block 0x3, offset 0xc0\n\t0xc2: 0x5a, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x5b, 0xc7: 0x04,\n\t0xc8: 0x05, 0xca: 0x5c, 0xcb: 0x5d, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x09,\n\t0xd0: 0x0a, 0xd1: 0x5e, 0xd2: 0x5f, 0xd3: 0x0b, 0xd6: 0x0c, 0xd7: 0x60,\n\t0xd8: 0x61, 0xd9: 0x0d, 0xdb: 0x62, 0xdc: 0x63, 0xdd: 0x64, 0xdf: 0x65,\n\t0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05,\n\t0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a,\n\t0xf0: 0x13,\n\t// Block 0x4, offset 0x100\n\t0x120: 0x66, 0x121: 0x67, 0x123: 0x68, 0x124: 0x69, 0x125: 0x6a, 0x126: 0x6b, 0x127: 0x6c,\n\t0x128: 0x6d, 0x129: 0x6e, 0x12a: 0x6f, 0x12b: 0x70, 0x12c: 0x6b, 0x12d: 0x71, 0x12e: 0x72, 0x12f: 0x73,\n\t0x131: 0x74, 0x132: 0x75, 0x133: 0x76, 0x134: 0x77, 0x135: 0x78, 0x137: 0x79,\n\t0x138: 0x7a, 0x139: 0x7b, 0x13a: 0x7c, 0x13b: 0x7d, 0x13c: 0x7e, 0x13d: 0x7f, 0x13e: 0x80, 0x13f: 0x81,\n\t// Block 0x5, offset 0x140\n\t0x140: 0x82, 0x142: 0x83, 0x143: 0x84, 0x144: 0x85, 0x145: 0x86, 0x146: 0x87, 0x147: 0x88,\n\t0x14d: 0x89,\n\t0x15c: 0x8a, 0x15f: 0x8b,\n\t0x162: 0x8c, 0x164: 0x8d,\n\t0x168: 0x8e, 0x169: 0x8f, 0x16a: 0x90, 0x16c: 0x0e, 0x16d: 0x91, 0x16e: 0x92, 0x16f: 0x93,\n\t0x170: 0x94, 0x173: 0x95, 0x174: 0x96, 0x175: 0x0f, 0x176: 0x10, 0x177: 0x97,\n\t0x178: 0x11, 0x179: 0x12, 0x17a: 0x13, 0x17b: 0x14, 0x17c: 0x15, 0x17d: 0x16, 0x17e: 0x17, 0x17f: 0x18,\n\t// Block 0x6, offset 0x180\n\t0x180: 0x98, 0x181: 0x99, 0x182: 0x9a, 0x183: 0x9b, 0x184: 0x19, 0x185: 0x1a, 0x186: 0x9c, 0x187: 0x9d,\n\t0x188: 0x9e, 0x189: 0x1b, 0x18a: 0x1c, 0x18b: 0x9f, 0x18c: 0xa0,\n\t0x191: 0x1d, 0x192: 0x1e, 0x193: 0xa1,\n\t0x1a8: 0xa2, 0x1a9: 0xa3, 0x1ab: 0xa4,\n\t0x1b1: 0xa5, 0x1b3: 0xa6, 0x1b5: 0xa7, 0x1b7: 0xa8,\n\t0x1ba: 0xa9, 0x1bb: 0xaa, 0x1bc: 0x1f, 0x1bd: 0x20, 0x1be: 0x21, 0x1bf: 0xab,\n\t// Block 0x7, offset 0x1c0\n\t0x1c0: 0xac, 0x1c1: 0x22, 0x1c2: 0x23, 0x1c3: 0x24, 0x1c4: 0xad, 0x1c5: 0x25, 0x1c6: 0x26,\n\t0x1c8: 0x27, 0x1c9: 0x28, 0x1ca: 0x29, 0x1cb: 0x2a, 0x1cc: 0x2b, 0x1cd: 0x2c, 0x1ce: 0x2d, 0x1cf: 0x2e,\n\t// Block 0x8, offset 0x200\n\t0x219: 0xae, 0x21a: 0xaf, 0x21b: 0xb0, 0x21d: 0xb1, 0x21f: 0xb2,\n\t0x220: 0xb3, 0x223: 0xb4, 0x224: 0xb5, 0x225: 0xb6, 0x226: 0xb7, 0x227: 0xb8,\n\t0x22a: 0xb9, 0x22b: 0xba, 0x22d: 0xbb, 0x22f: 0xbc,\n\t0x230: 0xbd, 0x231: 0xbe, 0x232: 0xbf, 0x233: 0xc0, 0x234: 0xc1, 0x235: 0xc2, 0x236: 0xc3, 0x237: 0xbd,\n\t0x238: 0xbe, 0x239: 0xbf, 0x23a: 0xc0, 0x23b: 0xc1, 0x23c: 0xc2, 0x23d: 0xc3, 0x23e: 0xbd, 0x23f: 0xbe,\n\t// Block 0x9, offset 0x240\n\t0x240: 0xbf, 0x241: 0xc0, 0x242: 0xc1, 0x243: 0xc2, 0x244: 0xc3, 0x245: 0xbd, 0x246: 0xbe, 0x247: 0xbf,\n\t0x248: 0xc0, 0x249: 0xc1, 0x24a: 0xc2, 0x24b: 0xc3, 0x24c: 0xbd, 0x24d: 0xbe, 0x24e: 0xbf, 0x24f: 0xc0,\n\t0x250: 0xc1, 0x251: 0xc2, 0x252: 0xc3, 0x253: 0xbd, 0x254: 0xbe, 0x255: 0xbf, 0x256: 0xc0, 0x257: 0xc1,\n\t0x258: 0xc2, 0x259: 0xc3, 0x25a: 0xbd, 0x25b: 0xbe, 0x25c: 0xbf, 0x25d: 0xc0, 0x25e: 0xc1, 0x25f: 0xc2,\n\t0x260: 0xc3, 0x261: 0xbd, 0x262: 0xbe, 0x263: 0xbf, 0x264: 0xc0, 0x265: 0xc1, 0x266: 0xc2, 0x267: 0xc3,\n\t0x268: 0xbd, 0x269: 0xbe, 0x26a: 0xbf, 0x26b: 0xc0, 0x26c: 0xc1, 0x26d: 0xc2, 0x26e: 0xc3, 0x26f: 0xbd,\n\t0x270: 0xbe, 0x271: 0xbf, 0x272: 0xc0, 0x273: 0xc1, 0x274: 0xc2, 0x275: 0xc3, 0x276: 0xbd, 0x277: 0xbe,\n\t0x278: 0xbf, 0x279: 0xc0, 0x27a: 0xc1, 0x27b: 0xc2, 0x27c: 0xc3, 0x27d: 0xbd, 0x27e: 0xbe, 0x27f: 0xbf,\n\t// Block 0xa, offset 0x280\n\t0x280: 0xc0, 0x281: 0xc1, 0x282: 0xc2, 0x283: 0xc3, 0x284: 0xbd, 0x285: 0xbe, 0x286: 0xbf, 0x287: 0xc0,\n\t0x288: 0xc1, 0x289: 0xc2, 0x28a: 0xc3, 0x28b: 0xbd, 0x28c: 0xbe, 0x28d: 0xbf, 0x28e: 0xc0, 0x28f: 0xc1,\n\t0x290: 0xc2, 0x291: 0xc3, 0x292: 0xbd, 0x293: 0xbe, 0x294: 0xbf, 0x295: 0xc0, 0x296: 0xc1, 0x297: 0xc2,\n\t0x298: 0xc3, 0x299: 0xbd, 0x29a: 0xbe, 0x29b: 0xbf, 0x29c: 0xc0, 0x29d: 0xc1, 0x29e: 0xc2, 0x29f: 0xc3,\n\t0x2a0: 0xbd, 0x2a1: 0xbe, 0x2a2: 0xbf, 0x2a3: 0xc0, 0x2a4: 0xc1, 0x2a5: 0xc2, 0x2a6: 0xc3, 0x2a7: 0xbd,\n\t0x2a8: 0xbe, 0x2a9: 0xbf, 0x2aa: 0xc0, 0x2ab: 0xc1, 0x2ac: 0xc2, 0x2ad: 0xc3, 0x2ae: 0xbd, 0x2af: 0xbe,\n\t0x2b0: 0xbf, 0x2b1: 0xc0, 0x2b2: 0xc1, 0x2b3: 0xc2, 0x2b4: 0xc3, 0x2b5: 0xbd, 0x2b6: 0xbe, 0x2b7: 0xbf,\n\t0x2b8: 0xc0, 0x2b9: 0xc1, 0x2ba: 0xc2, 0x2bb: 0xc3, 0x2bc: 0xbd, 0x2bd: 0xbe, 0x2be: 0xbf, 0x2bf: 0xc0,\n\t// Block 0xb, offset 0x2c0\n\t0x2c0: 0xc1, 0x2c1: 0xc2, 0x2c2: 0xc3, 0x2c3: 0xbd, 0x2c4: 0xbe, 0x2c5: 0xbf, 0x2c6: 0xc0, 0x2c7: 0xc1,\n\t0x2c8: 0xc2, 0x2c9: 0xc3, 0x2ca: 0xbd, 0x2cb: 0xbe, 0x2cc: 0xbf, 0x2cd: 0xc0, 0x2ce: 0xc1, 0x2cf: 0xc2,\n\t0x2d0: 0xc3, 0x2d1: 0xbd, 0x2d2: 0xbe, 0x2d3: 0xbf, 0x2d4: 0xc0, 0x2d5: 0xc1, 0x2d6: 0xc2, 0x2d7: 0xc3,\n\t0x2d8: 0xbd, 0x2d9: 0xbe, 0x2da: 0xbf, 0x2db: 0xc0, 0x2dc: 0xc1, 0x2dd: 0xc2, 0x2de: 0xc4,\n\t// Block 0xc, offset 0x300\n\t0x324: 0x2f, 0x325: 0x30, 0x326: 0x31, 0x327: 0x32,\n\t0x328: 0x33, 0x329: 0x34, 0x32a: 0x35, 0x32b: 0x36, 0x32c: 0x37, 0x32d: 0x38, 0x32e: 0x39, 0x32f: 0x3a,\n\t0x330: 0x3b, 0x331: 0x3c, 0x332: 0x3d, 0x333: 0x3e, 0x334: 0x3f, 0x335: 0x40, 0x336: 0x41, 0x337: 0x42,\n\t0x338: 0x43, 0x339: 0x44, 0x33a: 0x45, 0x33b: 0x46, 0x33c: 0xc5, 0x33d: 0x47, 0x33e: 0x48, 0x33f: 0x49,\n\t// Block 0xd, offset 0x340\n\t0x347: 0xc6,\n\t0x34b: 0xc7, 0x34d: 0xc8,\n\t0x368: 0xc9, 0x36b: 0xca,\n\t// Block 0xe, offset 0x380\n\t0x381: 0xcb, 0x382: 0xcc, 0x384: 0xcd, 0x385: 0xb7, 0x387: 0xce,\n\t0x388: 0xcf, 0x38b: 0xd0, 0x38c: 0x6b, 0x38d: 0xd1,\n\t0x391: 0xd2, 0x392: 0xd3, 0x393: 0xd4, 0x396: 0xd5, 0x397: 0xd6,\n\t0x398: 0xd7, 0x39a: 0xd8, 0x39c: 0xd9,\n\t0x3b0: 0xd7,\n\t// Block 0xf, offset 0x3c0\n\t0x3eb: 0xda, 0x3ec: 0xdb,\n\t// Block 0x10, offset 0x400\n\t0x432: 0xdc,\n\t// Block 0x11, offset 0x440\n\t0x445: 0xdd, 0x446: 0xde, 0x447: 0xdf,\n\t0x449: 0xe0,\n\t0x450: 0xe1, 0x451: 0xe2, 0x452: 0xe3, 0x453: 0xe4, 0x454: 0xe5, 0x455: 0xe6, 0x456: 0xe7, 0x457: 0xe8,\n\t0x458: 0xe9, 0x459: 0xea, 0x45a: 0x4a, 0x45b: 0xeb, 0x45c: 0xec, 0x45d: 0xed, 0x45e: 0xee, 0x45f: 0x4b,\n\t// Block 0x12, offset 0x480\n\t0x480: 0xef,\n\t0x4a3: 0xf0, 0x4a5: 0xf1,\n\t0x4b8: 0x4c, 0x4b9: 0x4d, 0x4ba: 0x4e,\n\t// Block 0x13, offset 0x4c0\n\t0x4c4: 0x4f, 0x4c5: 0xf2, 0x4c6: 0xf3,\n\t0x4c8: 0x50, 0x4c9: 0xf4,\n\t// Block 0x14, offset 0x500\n\t0x520: 0x51, 0x521: 0x52, 0x522: 0x53, 0x523: 0x54, 0x524: 0x55, 0x525: 0x56, 0x526: 0x57, 0x527: 0x58,\n\t0x528: 0x59,\n\t// Block 0x15, offset 0x540\n\t0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d,\n\t0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11,\n\t0x56f: 0x12,\n}\n\n// nfkcSparseOffset: 155 entries, 310 bytes\nvar nfkcSparseOffset = []uint16{0x0, 0xe, 0x12, 0x1b, 0x25, 0x35, 0x37, 0x3c, 0x47, 0x56, 0x63, 0x6b, 0x6f, 0x74, 0x76, 0x87, 0x8f, 0x96, 0x99, 0xa0, 0xa4, 0xa8, 0xaa, 0xac, 0xb5, 0xb9, 0xc0, 0xc5, 0xc8, 0xd2, 0xd4, 0xdb, 0xe3, 0xe7, 0xe9, 0xec, 0xf0, 0xf6, 0x107, 0x113, 0x115, 0x11b, 0x11d, 0x11f, 0x121, 0x123, 0x125, 0x127, 0x129, 0x12c, 0x12f, 0x131, 0x134, 0x137, 0x13b, 0x140, 0x149, 0x14b, 0x14e, 0x150, 0x15b, 0x166, 0x176, 0x184, 0x192, 0x1a2, 0x1b0, 0x1b7, 0x1bd, 0x1cc, 0x1d0, 0x1d2, 0x1d6, 0x1d8, 0x1db, 0x1dd, 0x1e0, 0x1e2, 0x1e5, 0x1e7, 0x1e9, 0x1eb, 0x1f7, 0x201, 0x20b, 0x20e, 0x212, 0x214, 0x216, 0x218, 0x21a, 0x21d, 0x21f, 0x221, 0x223, 0x225, 0x22b, 0x22e, 0x232, 0x234, 0x23b, 0x241, 0x247, 0x24f, 0x255, 0x25b, 0x261, 0x265, 0x267, 0x269, 0x26b, 0x26d, 0x273, 0x276, 0x279, 0x281, 0x288, 0x28b, 0x28e, 0x290, 0x298, 0x29b, 0x2a2, 0x2a5, 0x2ab, 0x2ad, 0x2af, 0x2b2, 0x2b4, 0x2b6, 0x2b8, 0x2ba, 0x2c7, 0x2d1, 0x2d3, 0x2d5, 0x2d9, 0x2de, 0x2ea, 0x2ef, 0x2f8, 0x2fe, 0x303, 0x307, 0x30c, 0x310, 0x320, 0x32e, 0x33c, 0x34a, 0x350, 0x352, 0x355, 0x35f, 0x361}\n\n// nfkcSparseValues: 875 entries, 3500 bytes\nvar nfkcSparseValues = [875]valueRange{\n\t// Block 0x0, offset 0x0\n\t{value: 0x0002, lo: 0x0d},\n\t{value: 0x0001, lo: 0xa0, hi: 0xa0},\n\t{value: 0x4278, lo: 0xa8, hi: 0xa8},\n\t{value: 0x0083, lo: 0xaa, hi: 0xaa},\n\t{value: 0x4264, lo: 0xaf, hi: 0xaf},\n\t{value: 0x0025, lo: 0xb2, hi: 0xb3},\n\t{value: 0x425a, lo: 0xb4, hi: 0xb4},\n\t{value: 0x01dc, lo: 0xb5, hi: 0xb5},\n\t{value: 0x4291, lo: 0xb8, hi: 0xb8},\n\t{value: 0x0023, lo: 0xb9, hi: 0xb9},\n\t{value: 0x009f, lo: 0xba, hi: 0xba},\n\t{value: 0x221c, lo: 0xbc, hi: 0xbc},\n\t{value: 0x2210, lo: 0xbd, hi: 0xbd},\n\t{value: 0x22b2, lo: 0xbe, hi: 0xbe},\n\t// Block 0x1, offset 0xe\n\t{value: 0x0091, lo: 0x03},\n\t{value: 0x46e2, lo: 0xa0, hi: 0xa1},\n\t{value: 0x4714, lo: 0xaf, hi: 0xb0},\n\t{value: 0xa000, lo: 0xb7, hi: 0xb7},\n\t// Block 0x2, offset 0x12\n\t{value: 0x0003, lo: 0x08},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0x0091, lo: 0xb0, hi: 0xb0},\n\t{value: 0x0119, lo: 0xb1, hi: 0xb1},\n\t{value: 0x0095, lo: 0xb2, hi: 0xb2},\n\t{value: 0x00a5, lo: 0xb3, hi: 0xb3},\n\t{value: 0x0143, lo: 0xb4, hi: 0xb6},\n\t{value: 0x00af, lo: 0xb7, hi: 0xb7},\n\t{value: 0x00b3, lo: 0xb8, hi: 0xb8},\n\t// Block 0x3, offset 0x1b\n\t{value: 0x000a, lo: 0x09},\n\t{value: 0x426e, lo: 0x98, hi: 0x98},\n\t{value: 0x4273, lo: 0x99, hi: 0x9a},\n\t{value: 0x4296, lo: 0x9b, hi: 0x9b},\n\t{value: 0x425f, lo: 0x9c, hi: 0x9c},\n\t{value: 0x4282, lo: 0x9d, hi: 0x9d},\n\t{value: 0x0113, lo: 0xa0, hi: 0xa0},\n\t{value: 0x0099, lo: 0xa1, hi: 0xa1},\n\t{value: 0x00a7, lo: 0xa2, hi: 0xa3},\n\t{value: 0x0167, lo: 0xa4, hi: 0xa4},\n\t// Block 0x4, offset 0x25\n\t{value: 0x0000, lo: 0x0f},\n\t{value: 0xa000, lo: 0x83, hi: 0x83},\n\t{value: 0xa000, lo: 0x87, hi: 0x87},\n\t{value: 0xa000, lo: 0x8b, hi: 0x8b},\n\t{value: 0xa000, lo: 0x8d, hi: 0x8d},\n\t{value: 0x37a5, lo: 0x90, hi: 0x90},\n\t{value: 0x37b1, lo: 0x91, hi: 0x91},\n\t{value: 0x379f, lo: 0x93, hi: 0x93},\n\t{value: 0xa000, lo: 0x96, hi: 0x96},\n\t{value: 0x3817, lo: 0x97, hi: 0x97},\n\t{value: 0x37e1, lo: 0x9c, hi: 0x9c},\n\t{value: 0x37c9, lo: 0x9d, hi: 0x9d},\n\t{value: 0x37f3, lo: 0x9e, hi: 0x9e},\n\t{value: 0xa000, lo: 0xb4, hi: 0xb5},\n\t{value: 0x381d, lo: 0xb6, hi: 0xb6},\n\t{value: 0x3823, lo: 0xb7, hi: 0xb7},\n\t// Block 0x5, offset 0x35\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0x83, hi: 0x87},\n\t// Block 0x6, offset 0x37\n\t{value: 0x0001, lo: 0x04},\n\t{value: 0x8113, lo: 0x81, hi: 0x82},\n\t{value: 0x8132, lo: 0x84, hi: 0x84},\n\t{value: 0x812d, lo: 0x85, hi: 0x85},\n\t{value: 0x810d, lo: 0x87, hi: 0x87},\n\t// Block 0x7, offset 0x3c\n\t{value: 0x0000, lo: 0x0a},\n\t{value: 0x8132, lo: 0x90, hi: 0x97},\n\t{value: 0x8119, lo: 0x98, hi: 0x98},\n\t{value: 0x811a, lo: 0x99, hi: 0x99},\n\t{value: 0x811b, lo: 0x9a, hi: 0x9a},\n\t{value: 0x3841, lo: 0xa2, hi: 0xa2},\n\t{value: 0x3847, lo: 0xa3, hi: 0xa3},\n\t{value: 0x3853, lo: 0xa4, hi: 0xa4},\n\t{value: 0x384d, lo: 0xa5, hi: 0xa5},\n\t{value: 0x3859, lo: 0xa6, hi: 0xa6},\n\t{value: 0xa000, lo: 0xa7, hi: 0xa7},\n\t// Block 0x8, offset 0x47\n\t{value: 0x0000, lo: 0x0e},\n\t{value: 0x386b, lo: 0x80, hi: 0x80},\n\t{value: 0xa000, lo: 0x81, hi: 0x81},\n\t{value: 0x385f, lo: 0x82, hi: 0x82},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0x3865, lo: 0x93, hi: 0x93},\n\t{value: 0xa000, lo: 0x95, hi: 0x95},\n\t{value: 0x8132, lo: 0x96, hi: 0x9c},\n\t{value: 0x8132, lo: 0x9f, hi: 0xa2},\n\t{value: 0x812d, lo: 0xa3, hi: 0xa3},\n\t{value: 0x8132, lo: 0xa4, hi: 0xa4},\n\t{value: 0x8132, lo: 0xa7, hi: 0xa8},\n\t{value: 0x812d, lo: 0xaa, hi: 0xaa},\n\t{value: 0x8132, lo: 0xab, hi: 0xac},\n\t{value: 0x812d, lo: 0xad, hi: 0xad},\n\t// Block 0x9, offset 0x56\n\t{value: 0x0000, lo: 0x0c},\n\t{value: 0x811f, lo: 0x91, hi: 0x91},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb0},\n\t{value: 0x812d, lo: 0xb1, hi: 0xb1},\n\t{value: 0x8132, lo: 0xb2, hi: 0xb3},\n\t{value: 0x812d, lo: 0xb4, hi: 0xb4},\n\t{value: 0x8132, lo: 0xb5, hi: 0xb6},\n\t{value: 0x812d, lo: 0xb7, hi: 0xb9},\n\t{value: 0x8132, lo: 0xba, hi: 0xba},\n\t{value: 0x812d, lo: 0xbb, hi: 0xbc},\n\t{value: 0x8132, lo: 0xbd, hi: 0xbd},\n\t{value: 0x812d, lo: 0xbe, hi: 0xbe},\n\t{value: 0x8132, lo: 0xbf, hi: 0xbf},\n\t// Block 0xa, offset 0x63\n\t{value: 0x0005, lo: 0x07},\n\t{value: 0x8132, lo: 0x80, hi: 0x80},\n\t{value: 0x8132, lo: 0x81, hi: 0x81},\n\t{value: 0x812d, lo: 0x82, hi: 0x83},\n\t{value: 0x812d, lo: 0x84, hi: 0x85},\n\t{value: 0x812d, lo: 0x86, hi: 0x87},\n\t{value: 0x812d, lo: 0x88, hi: 0x89},\n\t{value: 0x8132, lo: 0x8a, hi: 0x8a},\n\t// Block 0xb, offset 0x6b\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x8132, lo: 0xab, hi: 0xb1},\n\t{value: 0x812d, lo: 0xb2, hi: 0xb2},\n\t{value: 0x8132, lo: 0xb3, hi: 0xb3},\n\t// Block 0xc, offset 0x6f\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x8132, lo: 0x96, hi: 0x99},\n\t{value: 0x8132, lo: 0x9b, hi: 0xa3},\n\t{value: 0x8132, lo: 0xa5, hi: 0xa7},\n\t{value: 0x8132, lo: 0xa9, hi: 0xad},\n\t// Block 0xd, offset 0x74\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0x99, hi: 0x9b},\n\t// Block 0xe, offset 0x76\n\t{value: 0x0000, lo: 0x10},\n\t{value: 0x8132, lo: 0x94, hi: 0xa1},\n\t{value: 0x812d, lo: 0xa3, hi: 0xa3},\n\t{value: 0x8132, lo: 0xa4, hi: 0xa5},\n\t{value: 0x812d, lo: 0xa6, hi: 0xa6},\n\t{value: 0x8132, lo: 0xa7, hi: 0xa8},\n\t{value: 0x812d, lo: 0xa9, hi: 0xa9},\n\t{value: 0x8132, lo: 0xaa, hi: 0xac},\n\t{value: 0x812d, lo: 0xad, hi: 0xaf},\n\t{value: 0x8116, lo: 0xb0, hi: 0xb0},\n\t{value: 0x8117, lo: 0xb1, hi: 0xb1},\n\t{value: 0x8118, lo: 0xb2, hi: 0xb2},\n\t{value: 0x8132, lo: 0xb3, hi: 0xb5},\n\t{value: 0x812d, lo: 0xb6, hi: 0xb6},\n\t{value: 0x8132, lo: 0xb7, hi: 0xb8},\n\t{value: 0x812d, lo: 0xb9, hi: 0xba},\n\t{value: 0x8132, lo: 0xbb, hi: 0xbf},\n\t// Block 0xf, offset 0x87\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0xa000, lo: 0xa8, hi: 0xa8},\n\t{value: 0x3ed8, lo: 0xa9, hi: 0xa9},\n\t{value: 0xa000, lo: 0xb0, hi: 0xb0},\n\t{value: 0x3ee0, lo: 0xb1, hi: 0xb1},\n\t{value: 0xa000, lo: 0xb3, hi: 0xb3},\n\t{value: 0x3ee8, lo: 0xb4, hi: 0xb4},\n\t{value: 0x9902, lo: 0xbc, hi: 0xbc},\n\t// Block 0x10, offset 0x8f\n\t{value: 0x0008, lo: 0x06},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x8132, lo: 0x91, hi: 0x91},\n\t{value: 0x812d, lo: 0x92, hi: 0x92},\n\t{value: 0x8132, lo: 0x93, hi: 0x93},\n\t{value: 0x8132, lo: 0x94, hi: 0x94},\n\t{value: 0x451c, lo: 0x98, hi: 0x9f},\n\t// Block 0x11, offset 0x96\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8102, lo: 0xbc, hi: 0xbc},\n\t{value: 0x9900, lo: 0xbe, hi: 0xbe},\n\t// Block 0x12, offset 0x99\n\t{value: 0x0008, lo: 0x06},\n\t{value: 0xa000, lo: 0x87, hi: 0x87},\n\t{value: 0x2c9e, lo: 0x8b, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x97, hi: 0x97},\n\t{value: 0x455c, lo: 0x9c, hi: 0x9d},\n\t{value: 0x456c, lo: 0x9f, hi: 0x9f},\n\t// Block 0x13, offset 0xa0\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x4594, lo: 0xb3, hi: 0xb3},\n\t{value: 0x459c, lo: 0xb6, hi: 0xb6},\n\t{value: 0x8102, lo: 0xbc, hi: 0xbc},\n\t// Block 0x14, offset 0xa4\n\t{value: 0x0008, lo: 0x03},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x4574, lo: 0x99, hi: 0x9b},\n\t{value: 0x458c, lo: 0x9e, hi: 0x9e},\n\t// Block 0x15, offset 0xa8\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8102, lo: 0xbc, hi: 0xbc},\n\t// Block 0x16, offset 0xaa\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t// Block 0x17, offset 0xac\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0xa000, lo: 0x87, hi: 0x87},\n\t{value: 0x2cb6, lo: 0x88, hi: 0x88},\n\t{value: 0x2cae, lo: 0x8b, hi: 0x8b},\n\t{value: 0x2cbe, lo: 0x8c, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x96, hi: 0x97},\n\t{value: 0x45a4, lo: 0x9c, hi: 0x9c},\n\t{value: 0x45ac, lo: 0x9d, hi: 0x9d},\n\t// Block 0x18, offset 0xb5\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0x2cc6, lo: 0x94, hi: 0x94},\n\t{value: 0x9900, lo: 0xbe, hi: 0xbe},\n\t// Block 0x19, offset 0xb9\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0xa000, lo: 0x86, hi: 0x87},\n\t{value: 0x2cce, lo: 0x8a, hi: 0x8a},\n\t{value: 0x2cde, lo: 0x8b, hi: 0x8b},\n\t{value: 0x2cd6, lo: 0x8c, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x97, hi: 0x97},\n\t// Block 0x1a, offset 0xc0\n\t{value: 0x1801, lo: 0x04},\n\t{value: 0xa000, lo: 0x86, hi: 0x86},\n\t{value: 0x3ef0, lo: 0x88, hi: 0x88},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x8120, lo: 0x95, hi: 0x96},\n\t// Block 0x1b, offset 0xc5\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8102, lo: 0xbc, hi: 0xbc},\n\t{value: 0xa000, lo: 0xbf, hi: 0xbf},\n\t// Block 0x1c, offset 0xc8\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x2ce6, lo: 0x80, hi: 0x80},\n\t{value: 0x9900, lo: 0x82, hi: 0x82},\n\t{value: 0xa000, lo: 0x86, hi: 0x86},\n\t{value: 0x2cee, lo: 0x87, hi: 0x87},\n\t{value: 0x2cf6, lo: 0x88, hi: 0x88},\n\t{value: 0x2f50, lo: 0x8a, hi: 0x8a},\n\t{value: 0x2dd8, lo: 0x8b, hi: 0x8b},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x95, hi: 0x96},\n\t// Block 0x1d, offset 0xd2\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x9900, lo: 0xbe, hi: 0xbe},\n\t// Block 0x1e, offset 0xd4\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0xa000, lo: 0x86, hi: 0x87},\n\t{value: 0x2cfe, lo: 0x8a, hi: 0x8a},\n\t{value: 0x2d0e, lo: 0x8b, hi: 0x8b},\n\t{value: 0x2d06, lo: 0x8c, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x97, hi: 0x97},\n\t// Block 0x1f, offset 0xdb\n\t{value: 0x6bea, lo: 0x07},\n\t{value: 0x9904, lo: 0x8a, hi: 0x8a},\n\t{value: 0x9900, lo: 0x8f, hi: 0x8f},\n\t{value: 0xa000, lo: 0x99, hi: 0x99},\n\t{value: 0x3ef8, lo: 0x9a, hi: 0x9a},\n\t{value: 0x2f58, lo: 0x9c, hi: 0x9c},\n\t{value: 0x2de3, lo: 0x9d, hi: 0x9d},\n\t{value: 0x2d16, lo: 0x9e, hi: 0x9f},\n\t// Block 0x20, offset 0xe3\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x2621, lo: 0xb3, hi: 0xb3},\n\t{value: 0x8122, lo: 0xb8, hi: 0xb9},\n\t{value: 0x8104, lo: 0xba, hi: 0xba},\n\t// Block 0x21, offset 0xe7\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8123, lo: 0x88, hi: 0x8b},\n\t// Block 0x22, offset 0xe9\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x2636, lo: 0xb3, hi: 0xb3},\n\t{value: 0x8124, lo: 0xb8, hi: 0xb9},\n\t// Block 0x23, offset 0xec\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x8125, lo: 0x88, hi: 0x8b},\n\t{value: 0x2628, lo: 0x9c, hi: 0x9c},\n\t{value: 0x262f, lo: 0x9d, hi: 0x9d},\n\t// Block 0x24, offset 0xf0\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x030b, lo: 0x8c, hi: 0x8c},\n\t{value: 0x812d, lo: 0x98, hi: 0x99},\n\t{value: 0x812d, lo: 0xb5, hi: 0xb5},\n\t{value: 0x812d, lo: 0xb7, hi: 0xb7},\n\t{value: 0x812b, lo: 0xb9, hi: 0xb9},\n\t// Block 0x25, offset 0xf6\n\t{value: 0x0000, lo: 0x10},\n\t{value: 0x2644, lo: 0x83, hi: 0x83},\n\t{value: 0x264b, lo: 0x8d, hi: 0x8d},\n\t{value: 0x2652, lo: 0x92, hi: 0x92},\n\t{value: 0x2659, lo: 0x97, hi: 0x97},\n\t{value: 0x2660, lo: 0x9c, hi: 0x9c},\n\t{value: 0x263d, lo: 0xa9, hi: 0xa9},\n\t{value: 0x8126, lo: 0xb1, hi: 0xb1},\n\t{value: 0x8127, lo: 0xb2, hi: 0xb2},\n\t{value: 0x4a84, lo: 0xb3, hi: 0xb3},\n\t{value: 0x8128, lo: 0xb4, hi: 0xb4},\n\t{value: 0x4a8d, lo: 0xb5, hi: 0xb5},\n\t{value: 0x45b4, lo: 0xb6, hi: 0xb6},\n\t{value: 0x45f4, lo: 0xb7, hi: 0xb7},\n\t{value: 0x45bc, lo: 0xb8, hi: 0xb8},\n\t{value: 0x45ff, lo: 0xb9, hi: 0xb9},\n\t{value: 0x8127, lo: 0xba, hi: 0xbd},\n\t// Block 0x26, offset 0x107\n\t{value: 0x0000, lo: 0x0b},\n\t{value: 0x8127, lo: 0x80, hi: 0x80},\n\t{value: 0x4a96, lo: 0x81, hi: 0x81},\n\t{value: 0x8132, lo: 0x82, hi: 0x83},\n\t{value: 0x8104, lo: 0x84, hi: 0x84},\n\t{value: 0x8132, lo: 0x86, hi: 0x87},\n\t{value: 0x266e, lo: 0x93, hi: 0x93},\n\t{value: 0x2675, lo: 0x9d, hi: 0x9d},\n\t{value: 0x267c, lo: 0xa2, hi: 0xa2},\n\t{value: 0x2683, lo: 0xa7, hi: 0xa7},\n\t{value: 0x268a, lo: 0xac, hi: 0xac},\n\t{value: 0x2667, lo: 0xb9, hi: 0xb9},\n\t// Block 0x27, offset 0x113\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0x86, hi: 0x86},\n\t// Block 0x28, offset 0x115\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xa000, lo: 0xa5, hi: 0xa5},\n\t{value: 0x2d1e, lo: 0xa6, hi: 0xa6},\n\t{value: 0x9900, lo: 0xae, hi: 0xae},\n\t{value: 0x8102, lo: 0xb7, hi: 0xb7},\n\t{value: 0x8104, lo: 0xb9, hi: 0xba},\n\t// Block 0x29, offset 0x11b\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0x8d, hi: 0x8d},\n\t// Block 0x2a, offset 0x11d\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x030f, lo: 0xbc, hi: 0xbc},\n\t// Block 0x2b, offset 0x11f\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0xa000, lo: 0x80, hi: 0x92},\n\t// Block 0x2c, offset 0x121\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0xb900, lo: 0xa1, hi: 0xb5},\n\t// Block 0x2d, offset 0x123\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x9900, lo: 0xa8, hi: 0xbf},\n\t// Block 0x2e, offset 0x125\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x9900, lo: 0x80, hi: 0x82},\n\t// Block 0x2f, offset 0x127\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0x9d, hi: 0x9f},\n\t// Block 0x30, offset 0x129\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x94, hi: 0x94},\n\t{value: 0x8104, lo: 0xb4, hi: 0xb4},\n\t// Block 0x31, offset 0x12c\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x92, hi: 0x92},\n\t{value: 0x8132, lo: 0x9d, hi: 0x9d},\n\t// Block 0x32, offset 0x12f\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8131, lo: 0xa9, hi: 0xa9},\n\t// Block 0x33, offset 0x131\n\t{value: 0x0004, lo: 0x02},\n\t{value: 0x812e, lo: 0xb9, hi: 0xba},\n\t{value: 0x812d, lo: 0xbb, hi: 0xbb},\n\t// Block 0x34, offset 0x134\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0x97, hi: 0x97},\n\t{value: 0x812d, lo: 0x98, hi: 0x98},\n\t// Block 0x35, offset 0x137\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x8104, lo: 0xa0, hi: 0xa0},\n\t{value: 0x8132, lo: 0xb5, hi: 0xbc},\n\t{value: 0x812d, lo: 0xbf, hi: 0xbf},\n\t// Block 0x36, offset 0x13b\n\t{value: 0x0000, lo: 0x04},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb4},\n\t{value: 0x812d, lo: 0xb5, hi: 0xba},\n\t{value: 0x8132, lo: 0xbb, hi: 0xbc},\n\t{value: 0x812d, lo: 0xbd, hi: 0xbd},\n\t// Block 0x37, offset 0x140\n\t{value: 0x0000, lo: 0x08},\n\t{value: 0x2d66, lo: 0x80, hi: 0x80},\n\t{value: 0x2d6e, lo: 0x81, hi: 0x81},\n\t{value: 0xa000, lo: 0x82, hi: 0x82},\n\t{value: 0x2d76, lo: 0x83, hi: 0x83},\n\t{value: 0x8104, lo: 0x84, hi: 0x84},\n\t{value: 0x8132, lo: 0xab, hi: 0xab},\n\t{value: 0x812d, lo: 0xac, hi: 0xac},\n\t{value: 0x8132, lo: 0xad, hi: 0xb3},\n\t// Block 0x38, offset 0x149\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xaa, hi: 0xab},\n\t// Block 0x39, offset 0x14b\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8102, lo: 0xa6, hi: 0xa6},\n\t{value: 0x8104, lo: 0xb2, hi: 0xb3},\n\t// Block 0x3a, offset 0x14e\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8102, lo: 0xb7, hi: 0xb7},\n\t// Block 0x3b, offset 0x150\n\t{value: 0x0000, lo: 0x0a},\n\t{value: 0x8132, lo: 0x90, hi: 0x92},\n\t{value: 0x8101, lo: 0x94, hi: 0x94},\n\t{value: 0x812d, lo: 0x95, hi: 0x99},\n\t{value: 0x8132, lo: 0x9a, hi: 0x9b},\n\t{value: 0x812d, lo: 0x9c, hi: 0x9f},\n\t{value: 0x8132, lo: 0xa0, hi: 0xa0},\n\t{value: 0x8101, lo: 0xa2, hi: 0xa8},\n\t{value: 0x812d, lo: 0xad, hi: 0xad},\n\t{value: 0x8132, lo: 0xb4, hi: 0xb4},\n\t{value: 0x8132, lo: 0xb8, hi: 0xb9},\n\t// Block 0x3c, offset 0x15b\n\t{value: 0x0002, lo: 0x0a},\n\t{value: 0x0043, lo: 0xac, hi: 0xac},\n\t{value: 0x00d1, lo: 0xad, hi: 0xad},\n\t{value: 0x0045, lo: 0xae, hi: 0xae},\n\t{value: 0x0049, lo: 0xb0, hi: 0xb1},\n\t{value: 0x00e6, lo: 0xb2, hi: 0xb2},\n\t{value: 0x004f, lo: 0xb3, hi: 0xba},\n\t{value: 0x005f, lo: 0xbc, hi: 0xbc},\n\t{value: 0x00ef, lo: 0xbd, hi: 0xbd},\n\t{value: 0x0061, lo: 0xbe, hi: 0xbe},\n\t{value: 0x0065, lo: 0xbf, hi: 0xbf},\n\t// Block 0x3d, offset 0x166\n\t{value: 0x0000, lo: 0x0f},\n\t{value: 0x8132, lo: 0x80, hi: 0x81},\n\t{value: 0x812d, lo: 0x82, hi: 0x82},\n\t{value: 0x8132, lo: 0x83, hi: 0x89},\n\t{value: 0x812d, lo: 0x8a, hi: 0x8a},\n\t{value: 0x8132, lo: 0x8b, hi: 0x8c},\n\t{value: 0x8135, lo: 0x8d, hi: 0x8d},\n\t{value: 0x812a, lo: 0x8e, hi: 0x8e},\n\t{value: 0x812d, lo: 0x8f, hi: 0x8f},\n\t{value: 0x8129, lo: 0x90, hi: 0x90},\n\t{value: 0x8132, lo: 0x91, hi: 0xb5},\n\t{value: 0x8132, lo: 0xbb, hi: 0xbb},\n\t{value: 0x8134, lo: 0xbc, hi: 0xbc},\n\t{value: 0x812d, lo: 0xbd, hi: 0xbd},\n\t{value: 0x8132, lo: 0xbe, hi: 0xbe},\n\t{value: 0x812d, lo: 0xbf, hi: 0xbf},\n\t// Block 0x3e, offset 0x176\n\t{value: 0x0000, lo: 0x0d},\n\t{value: 0x0001, lo: 0x80, hi: 0x8a},\n\t{value: 0x043b, lo: 0x91, hi: 0x91},\n\t{value: 0x429b, lo: 0x97, hi: 0x97},\n\t{value: 0x001d, lo: 0xa4, hi: 0xa4},\n\t{value: 0x1873, lo: 0xa5, hi: 0xa5},\n\t{value: 0x1b5c, lo: 0xa6, hi: 0xa6},\n\t{value: 0x0001, lo: 0xaf, hi: 0xaf},\n\t{value: 0x2691, lo: 0xb3, hi: 0xb3},\n\t{value: 0x27fe, lo: 0xb4, hi: 0xb4},\n\t{value: 0x2698, lo: 0xb6, hi: 0xb6},\n\t{value: 0x2808, lo: 0xb7, hi: 0xb7},\n\t{value: 0x186d, lo: 0xbc, hi: 0xbc},\n\t{value: 0x4269, lo: 0xbe, hi: 0xbe},\n\t// Block 0x3f, offset 0x184\n\t{value: 0x0002, lo: 0x0d},\n\t{value: 0x1933, lo: 0x87, hi: 0x87},\n\t{value: 0x1930, lo: 0x88, hi: 0x88},\n\t{value: 0x1870, lo: 0x89, hi: 0x89},\n\t{value: 0x298e, lo: 0x97, hi: 0x97},\n\t{value: 0x0001, lo: 0x9f, hi: 0x9f},\n\t{value: 0x0021, lo: 0xb0, hi: 0xb0},\n\t{value: 0x0093, lo: 0xb1, hi: 0xb1},\n\t{value: 0x0029, lo: 0xb4, hi: 0xb9},\n\t{value: 0x0017, lo: 0xba, hi: 0xba},\n\t{value: 0x0467, lo: 0xbb, hi: 0xbb},\n\t{value: 0x003b, lo: 0xbc, hi: 0xbc},\n\t{value: 0x0011, lo: 0xbd, hi: 0xbe},\n\t{value: 0x009d, lo: 0xbf, hi: 0xbf},\n\t// Block 0x40, offset 0x192\n\t{value: 0x0002, lo: 0x0f},\n\t{value: 0x0021, lo: 0x80, hi: 0x89},\n\t{value: 0x0017, lo: 0x8a, hi: 0x8a},\n\t{value: 0x0467, lo: 0x8b, hi: 0x8b},\n\t{value: 0x003b, lo: 0x8c, hi: 0x8c},\n\t{value: 0x0011, lo: 0x8d, hi: 0x8e},\n\t{value: 0x0083, lo: 0x90, hi: 0x90},\n\t{value: 0x008b, lo: 0x91, hi: 0x91},\n\t{value: 0x009f, lo: 0x92, hi: 0x92},\n\t{value: 0x00b1, lo: 0x93, hi: 0x93},\n\t{value: 0x0104, lo: 0x94, hi: 0x94},\n\t{value: 0x0091, lo: 0x95, hi: 0x95},\n\t{value: 0x0097, lo: 0x96, hi: 0x99},\n\t{value: 0x00a1, lo: 0x9a, hi: 0x9a},\n\t{value: 0x00a7, lo: 0x9b, hi: 0x9c},\n\t{value: 0x1999, lo: 0xa8, hi: 0xa8},\n\t// Block 0x41, offset 0x1a2\n\t{value: 0x0000, lo: 0x0d},\n\t{value: 0x8132, lo: 0x90, hi: 0x91},\n\t{value: 0x8101, lo: 0x92, hi: 0x93},\n\t{value: 0x8132, lo: 0x94, hi: 0x97},\n\t{value: 0x8101, lo: 0x98, hi: 0x9a},\n\t{value: 0x8132, lo: 0x9b, hi: 0x9c},\n\t{value: 0x8132, lo: 0xa1, hi: 0xa1},\n\t{value: 0x8101, lo: 0xa5, hi: 0xa6},\n\t{value: 0x8132, lo: 0xa7, hi: 0xa7},\n\t{value: 0x812d, lo: 0xa8, hi: 0xa8},\n\t{value: 0x8132, lo: 0xa9, hi: 0xa9},\n\t{value: 0x8101, lo: 0xaa, hi: 0xab},\n\t{value: 0x812d, lo: 0xac, hi: 0xaf},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb0},\n\t// Block 0x42, offset 0x1b0\n\t{value: 0x0007, lo: 0x06},\n\t{value: 0x2180, lo: 0x89, hi: 0x89},\n\t{value: 0xa000, lo: 0x90, hi: 0x90},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0xa000, lo: 0x94, hi: 0x94},\n\t{value: 0x3bb9, lo: 0x9a, hi: 0x9b},\n\t{value: 0x3bc7, lo: 0xae, hi: 0xae},\n\t// Block 0x43, offset 0x1b7\n\t{value: 0x000e, lo: 0x05},\n\t{value: 0x3bce, lo: 0x8d, hi: 0x8e},\n\t{value: 0x3bd5, lo: 0x8f, hi: 0x8f},\n\t{value: 0xa000, lo: 0x90, hi: 0x90},\n\t{value: 0xa000, lo: 0x92, hi: 0x92},\n\t{value: 0xa000, lo: 0x94, hi: 0x94},\n\t// Block 0x44, offset 0x1bd\n\t{value: 0x0173, lo: 0x0e},\n\t{value: 0xa000, lo: 0x83, hi: 0x83},\n\t{value: 0x3be3, lo: 0x84, hi: 0x84},\n\t{value: 0xa000, lo: 0x88, hi: 0x88},\n\t{value: 0x3bea, lo: 0x89, hi: 0x89},\n\t{value: 0xa000, lo: 0x8b, hi: 0x8b},\n\t{value: 0x3bf1, lo: 0x8c, hi: 0x8c},\n\t{value: 0xa000, lo: 0xa3, hi: 0xa3},\n\t{value: 0x3bf8, lo: 0xa4, hi: 0xa4},\n\t{value: 0xa000, lo: 0xa5, hi: 0xa5},\n\t{value: 0x3bff, lo: 0xa6, hi: 0xa6},\n\t{value: 0x269f, lo: 0xac, hi: 0xad},\n\t{value: 0x26a6, lo: 0xaf, hi: 0xaf},\n\t{value: 0x281c, lo: 0xb0, hi: 0xb0},\n\t{value: 0xa000, lo: 0xbc, hi: 0xbc},\n\t// Block 0x45, offset 0x1cc\n\t{value: 0x0007, lo: 0x03},\n\t{value: 0x3c68, lo: 0xa0, hi: 0xa1},\n\t{value: 0x3c92, lo: 0xa2, hi: 0xa3},\n\t{value: 0x3cbc, lo: 0xaa, hi: 0xad},\n\t// Block 0x46, offset 0x1d0\n\t{value: 0x0004, lo: 0x01},\n\t{value: 0x048b, lo: 0xa9, hi: 0xaa},\n\t// Block 0x47, offset 0x1d2\n\t{value: 0x0002, lo: 0x03},\n\t{value: 0x0057, lo: 0x80, hi: 0x8f},\n\t{value: 0x0083, lo: 0x90, hi: 0xa9},\n\t{value: 0x0021, lo: 0xaa, hi: 0xaa},\n\t// Block 0x48, offset 0x1d6\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x299b, lo: 0x8c, hi: 0x8c},\n\t// Block 0x49, offset 0x1d8\n\t{value: 0x0263, lo: 0x02},\n\t{value: 0x1b8c, lo: 0xb4, hi: 0xb4},\n\t{value: 0x192d, lo: 0xb5, hi: 0xb6},\n\t// Block 0x4a, offset 0x1db\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x44dd, lo: 0x9c, hi: 0x9c},\n\t// Block 0x4b, offset 0x1dd\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x0095, lo: 0xbc, hi: 0xbc},\n\t{value: 0x006d, lo: 0xbd, hi: 0xbd},\n\t// Block 0x4c, offset 0x1e0\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xaf, hi: 0xb1},\n\t// Block 0x4d, offset 0x1e2\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x047f, lo: 0xaf, hi: 0xaf},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x4e, offset 0x1e5\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xa0, hi: 0xbf},\n\t// Block 0x4f, offset 0x1e7\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x0dc3, lo: 0x9f, hi: 0x9f},\n\t// Block 0x50, offset 0x1e9\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x162f, lo: 0xb3, hi: 0xb3},\n\t// Block 0x51, offset 0x1eb\n\t{value: 0x0004, lo: 0x0b},\n\t{value: 0x1597, lo: 0x80, hi: 0x82},\n\t{value: 0x15af, lo: 0x83, hi: 0x83},\n\t{value: 0x15c7, lo: 0x84, hi: 0x85},\n\t{value: 0x15d7, lo: 0x86, hi: 0x89},\n\t{value: 0x15eb, lo: 0x8a, hi: 0x8c},\n\t{value: 0x15ff, lo: 0x8d, hi: 0x8d},\n\t{value: 0x1607, lo: 0x8e, hi: 0x8e},\n\t{value: 0x160f, lo: 0x8f, hi: 0x90},\n\t{value: 0x161b, lo: 0x91, hi: 0x93},\n\t{value: 0x162b, lo: 0x94, hi: 0x94},\n\t{value: 0x1633, lo: 0x95, hi: 0x95},\n\t// Block 0x52, offset 0x1f7\n\t{value: 0x0004, lo: 0x09},\n\t{value: 0x0001, lo: 0x80, hi: 0x80},\n\t{value: 0x812c, lo: 0xaa, hi: 0xaa},\n\t{value: 0x8131, lo: 0xab, hi: 0xab},\n\t{value: 0x8133, lo: 0xac, hi: 0xac},\n\t{value: 0x812e, lo: 0xad, hi: 0xad},\n\t{value: 0x812f, lo: 0xae, hi: 0xae},\n\t{value: 0x812f, lo: 0xaf, hi: 0xaf},\n\t{value: 0x04b3, lo: 0xb6, hi: 0xb6},\n\t{value: 0x0887, lo: 0xb8, hi: 0xba},\n\t// Block 0x53, offset 0x201\n\t{value: 0x0006, lo: 0x09},\n\t{value: 0x0313, lo: 0xb1, hi: 0xb1},\n\t{value: 0x0317, lo: 0xb2, hi: 0xb2},\n\t{value: 0x4a3b, lo: 0xb3, hi: 0xb3},\n\t{value: 0x031b, lo: 0xb4, hi: 0xb4},\n\t{value: 0x4a41, lo: 0xb5, hi: 0xb6},\n\t{value: 0x031f, lo: 0xb7, hi: 0xb7},\n\t{value: 0x0323, lo: 0xb8, hi: 0xb8},\n\t{value: 0x0327, lo: 0xb9, hi: 0xb9},\n\t{value: 0x4a4d, lo: 0xba, hi: 0xbf},\n\t// Block 0x54, offset 0x20b\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0xaf, hi: 0xaf},\n\t{value: 0x8132, lo: 0xb4, hi: 0xbd},\n\t// Block 0x55, offset 0x20e\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0x020f, lo: 0x9c, hi: 0x9c},\n\t{value: 0x0212, lo: 0x9d, hi: 0x9d},\n\t{value: 0x8132, lo: 0x9e, hi: 0x9f},\n\t// Block 0x56, offset 0x212\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb1},\n\t// Block 0x57, offset 0x214\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x163b, lo: 0xb0, hi: 0xb0},\n\t// Block 0x58, offset 0x216\n\t{value: 0x000c, lo: 0x01},\n\t{value: 0x00d7, lo: 0xb8, hi: 0xb9},\n\t// Block 0x59, offset 0x218\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x86, hi: 0x86},\n\t// Block 0x5a, offset 0x21a\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x84, hi: 0x84},\n\t{value: 0x8132, lo: 0xa0, hi: 0xb1},\n\t// Block 0x5b, offset 0x21d\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0xab, hi: 0xad},\n\t// Block 0x5c, offset 0x21f\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x93, hi: 0x93},\n\t// Block 0x5d, offset 0x221\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8102, lo: 0xb3, hi: 0xb3},\n\t// Block 0x5e, offset 0x223\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0x80, hi: 0x80},\n\t// Block 0x5f, offset 0x225\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb0},\n\t{value: 0x8132, lo: 0xb2, hi: 0xb3},\n\t{value: 0x812d, lo: 0xb4, hi: 0xb4},\n\t{value: 0x8132, lo: 0xb7, hi: 0xb8},\n\t{value: 0x8132, lo: 0xbe, hi: 0xbf},\n\t// Block 0x60, offset 0x22b\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0x81, hi: 0x81},\n\t{value: 0x8104, lo: 0xb6, hi: 0xb6},\n\t// Block 0x61, offset 0x22e\n\t{value: 0x0008, lo: 0x03},\n\t{value: 0x1637, lo: 0x9c, hi: 0x9d},\n\t{value: 0x0125, lo: 0x9e, hi: 0x9e},\n\t{value: 0x1643, lo: 0x9f, hi: 0x9f},\n\t// Block 0x62, offset 0x232\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xad, hi: 0xad},\n\t// Block 0x63, offset 0x234\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0xe500, lo: 0x80, hi: 0x80},\n\t{value: 0xc600, lo: 0x81, hi: 0x9b},\n\t{value: 0xe500, lo: 0x9c, hi: 0x9c},\n\t{value: 0xc600, lo: 0x9d, hi: 0xb7},\n\t{value: 0xe500, lo: 0xb8, hi: 0xb8},\n\t{value: 0xc600, lo: 0xb9, hi: 0xbf},\n\t// Block 0x64, offset 0x23b\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x93},\n\t{value: 0xe500, lo: 0x94, hi: 0x94},\n\t{value: 0xc600, lo: 0x95, hi: 0xaf},\n\t{value: 0xe500, lo: 0xb0, hi: 0xb0},\n\t{value: 0xc600, lo: 0xb1, hi: 0xbf},\n\t// Block 0x65, offset 0x241\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x8b},\n\t{value: 0xe500, lo: 0x8c, hi: 0x8c},\n\t{value: 0xc600, lo: 0x8d, hi: 0xa7},\n\t{value: 0xe500, lo: 0xa8, hi: 0xa8},\n\t{value: 0xc600, lo: 0xa9, hi: 0xbf},\n\t// Block 0x66, offset 0x247\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0xc600, lo: 0x80, hi: 0x83},\n\t{value: 0xe500, lo: 0x84, hi: 0x84},\n\t{value: 0xc600, lo: 0x85, hi: 0x9f},\n\t{value: 0xe500, lo: 0xa0, hi: 0xa0},\n\t{value: 0xc600, lo: 0xa1, hi: 0xbb},\n\t{value: 0xe500, lo: 0xbc, hi: 0xbc},\n\t{value: 0xc600, lo: 0xbd, hi: 0xbf},\n\t// Block 0x67, offset 0x24f\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x97},\n\t{value: 0xe500, lo: 0x98, hi: 0x98},\n\t{value: 0xc600, lo: 0x99, hi: 0xb3},\n\t{value: 0xe500, lo: 0xb4, hi: 0xb4},\n\t{value: 0xc600, lo: 0xb5, hi: 0xbf},\n\t// Block 0x68, offset 0x255\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x8f},\n\t{value: 0xe500, lo: 0x90, hi: 0x90},\n\t{value: 0xc600, lo: 0x91, hi: 0xab},\n\t{value: 0xe500, lo: 0xac, hi: 0xac},\n\t{value: 0xc600, lo: 0xad, hi: 0xbf},\n\t// Block 0x69, offset 0x25b\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0xc600, lo: 0x80, hi: 0x87},\n\t{value: 0xe500, lo: 0x88, hi: 0x88},\n\t{value: 0xc600, lo: 0x89, hi: 0xa3},\n\t{value: 0xe500, lo: 0xa4, hi: 0xa4},\n\t{value: 0xc600, lo: 0xa5, hi: 0xbf},\n\t// Block 0x6a, offset 0x261\n\t{value: 0x0000, lo: 0x03},\n\t{value: 0xc600, lo: 0x80, hi: 0x87},\n\t{value: 0xe500, lo: 0x88, hi: 0x88},\n\t{value: 0xc600, lo: 0x89, hi: 0xa3},\n\t// Block 0x6b, offset 0x265\n\t{value: 0x0002, lo: 0x01},\n\t{value: 0x0003, lo: 0x81, hi: 0xbf},\n\t// Block 0x6c, offset 0x267\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0xbd, hi: 0xbd},\n\t// Block 0x6d, offset 0x269\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0xa0, hi: 0xa0},\n\t// Block 0x6e, offset 0x26b\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xb6, hi: 0xba},\n\t// Block 0x6f, offset 0x26d\n\t{value: 0x002c, lo: 0x05},\n\t{value: 0x812d, lo: 0x8d, hi: 0x8d},\n\t{value: 0x8132, lo: 0x8f, hi: 0x8f},\n\t{value: 0x8132, lo: 0xb8, hi: 0xb8},\n\t{value: 0x8101, lo: 0xb9, hi: 0xba},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x70, offset 0x273\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0xa5, hi: 0xa5},\n\t{value: 0x812d, lo: 0xa6, hi: 0xa6},\n\t// Block 0x71, offset 0x276\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x86, hi: 0x86},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x72, offset 0x279\n\t{value: 0x17fe, lo: 0x07},\n\t{value: 0xa000, lo: 0x99, hi: 0x99},\n\t{value: 0x4238, lo: 0x9a, hi: 0x9a},\n\t{value: 0xa000, lo: 0x9b, hi: 0x9b},\n\t{value: 0x4242, lo: 0x9c, hi: 0x9c},\n\t{value: 0xa000, lo: 0xa5, hi: 0xa5},\n\t{value: 0x424c, lo: 0xab, hi: 0xab},\n\t{value: 0x8104, lo: 0xb9, hi: 0xba},\n\t// Block 0x73, offset 0x281\n\t{value: 0x0000, lo: 0x06},\n\t{value: 0x8132, lo: 0x80, hi: 0x82},\n\t{value: 0x9900, lo: 0xa7, hi: 0xa7},\n\t{value: 0x2d7e, lo: 0xae, hi: 0xae},\n\t{value: 0x2d88, lo: 0xaf, hi: 0xaf},\n\t{value: 0xa000, lo: 0xb1, hi: 0xb2},\n\t{value: 0x8104, lo: 0xb3, hi: 0xb4},\n\t// Block 0x74, offset 0x288\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x80, hi: 0x80},\n\t{value: 0x8102, lo: 0x8a, hi: 0x8a},\n\t// Block 0x75, offset 0x28b\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0xb5, hi: 0xb5},\n\t{value: 0x8102, lo: 0xb6, hi: 0xb6},\n\t// Block 0x76, offset 0x28e\n\t{value: 0x0002, lo: 0x01},\n\t{value: 0x8102, lo: 0xa9, hi: 0xaa},\n\t// Block 0x77, offset 0x290\n\t{value: 0x0000, lo: 0x07},\n\t{value: 0xa000, lo: 0x87, hi: 0x87},\n\t{value: 0x2d92, lo: 0x8b, hi: 0x8b},\n\t{value: 0x2d9c, lo: 0x8c, hi: 0x8c},\n\t{value: 0x8104, lo: 0x8d, hi: 0x8d},\n\t{value: 0x9900, lo: 0x97, hi: 0x97},\n\t{value: 0x8132, lo: 0xa6, hi: 0xac},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb4},\n\t// Block 0x78, offset 0x298\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x82, hi: 0x82},\n\t{value: 0x8102, lo: 0x86, hi: 0x86},\n\t// Block 0x79, offset 0x29b\n\t{value: 0x6b5a, lo: 0x06},\n\t{value: 0x9900, lo: 0xb0, hi: 0xb0},\n\t{value: 0xa000, lo: 0xb9, hi: 0xb9},\n\t{value: 0x9900, lo: 0xba, hi: 0xba},\n\t{value: 0x2db0, lo: 0xbb, hi: 0xbb},\n\t{value: 0x2da6, lo: 0xbc, hi: 0xbd},\n\t{value: 0x2dba, lo: 0xbe, hi: 0xbe},\n\t// Block 0x7a, offset 0x2a2\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0x82, hi: 0x82},\n\t{value: 0x8102, lo: 0x83, hi: 0x83},\n\t// Block 0x7b, offset 0x2a5\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x9900, lo: 0xaf, hi: 0xaf},\n\t{value: 0xa000, lo: 0xb8, hi: 0xb9},\n\t{value: 0x2dc4, lo: 0xba, hi: 0xba},\n\t{value: 0x2dce, lo: 0xbb, hi: 0xbb},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x7c, offset 0x2ab\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8102, lo: 0x80, hi: 0x80},\n\t// Block 0x7d, offset 0x2ad\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xbf, hi: 0xbf},\n\t// Block 0x7e, offset 0x2af\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8104, lo: 0xb6, hi: 0xb6},\n\t{value: 0x8102, lo: 0xb7, hi: 0xb7},\n\t// Block 0x7f, offset 0x2b2\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8104, lo: 0xab, hi: 0xab},\n\t// Block 0x80, offset 0x2b4\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8101, lo: 0xb0, hi: 0xb4},\n\t// Block 0x81, offset 0x2b6\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0xb0, hi: 0xb6},\n\t// Block 0x82, offset 0x2b8\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8101, lo: 0x9e, hi: 0x9e},\n\t// Block 0x83, offset 0x2ba\n\t{value: 0x0000, lo: 0x0c},\n\t{value: 0x45cc, lo: 0x9e, hi: 0x9e},\n\t{value: 0x45d6, lo: 0x9f, hi: 0x9f},\n\t{value: 0x460a, lo: 0xa0, hi: 0xa0},\n\t{value: 0x4618, lo: 0xa1, hi: 0xa1},\n\t{value: 0x4626, lo: 0xa2, hi: 0xa2},\n\t{value: 0x4634, lo: 0xa3, hi: 0xa3},\n\t{value: 0x4642, lo: 0xa4, hi: 0xa4},\n\t{value: 0x812b, lo: 0xa5, hi: 0xa6},\n\t{value: 0x8101, lo: 0xa7, hi: 0xa9},\n\t{value: 0x8130, lo: 0xad, hi: 0xad},\n\t{value: 0x812b, lo: 0xae, hi: 0xb2},\n\t{value: 0x812d, lo: 0xbb, hi: 0xbf},\n\t// Block 0x84, offset 0x2c7\n\t{value: 0x0000, lo: 0x09},\n\t{value: 0x812d, lo: 0x80, hi: 0x82},\n\t{value: 0x8132, lo: 0x85, hi: 0x89},\n\t{value: 0x812d, lo: 0x8a, hi: 0x8b},\n\t{value: 0x8132, lo: 0xaa, hi: 0xad},\n\t{value: 0x45e0, lo: 0xbb, hi: 0xbb},\n\t{value: 0x45ea, lo: 0xbc, hi: 0xbc},\n\t{value: 0x4650, lo: 0xbd, hi: 0xbd},\n\t{value: 0x466c, lo: 0xbe, hi: 0xbe},\n\t{value: 0x465e, lo: 0xbf, hi: 0xbf},\n\t// Block 0x85, offset 0x2d1\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x467a, lo: 0x80, hi: 0x80},\n\t// Block 0x86, offset 0x2d3\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x8132, lo: 0x82, hi: 0x84},\n\t// Block 0x87, offset 0x2d5\n\t{value: 0x0002, lo: 0x03},\n\t{value: 0x0043, lo: 0x80, hi: 0x99},\n\t{value: 0x0083, lo: 0x9a, hi: 0xb3},\n\t{value: 0x0043, lo: 0xb4, hi: 0xbf},\n\t// Block 0x88, offset 0x2d9\n\t{value: 0x0002, lo: 0x04},\n\t{value: 0x005b, lo: 0x80, hi: 0x8d},\n\t{value: 0x0083, lo: 0x8e, hi: 0x94},\n\t{value: 0x0093, lo: 0x96, hi: 0xa7},\n\t{value: 0x0043, lo: 0xa8, hi: 0xbf},\n\t// Block 0x89, offset 0x2de\n\t{value: 0x0002, lo: 0x0b},\n\t{value: 0x0073, lo: 0x80, hi: 0x81},\n\t{value: 0x0083, lo: 0x82, hi: 0x9b},\n\t{value: 0x0043, lo: 0x9c, hi: 0x9c},\n\t{value: 0x0047, lo: 0x9e, hi: 0x9f},\n\t{value: 0x004f, lo: 0xa2, hi: 0xa2},\n\t{value: 0x0055, lo: 0xa5, hi: 0xa6},\n\t{value: 0x005d, lo: 0xa9, hi: 0xac},\n\t{value: 0x0067, lo: 0xae, hi: 0xb5},\n\t{value: 0x0083, lo: 0xb6, hi: 0xb9},\n\t{value: 0x008d, lo: 0xbb, hi: 0xbb},\n\t{value: 0x0091, lo: 0xbd, hi: 0xbf},\n\t// Block 0x8a, offset 0x2ea\n\t{value: 0x0002, lo: 0x04},\n\t{value: 0x0097, lo: 0x80, hi: 0x83},\n\t{value: 0x00a1, lo: 0x85, hi: 0x8f},\n\t{value: 0x0043, lo: 0x90, hi: 0xa9},\n\t{value: 0x0083, lo: 0xaa, hi: 0xbf},\n\t// Block 0x8b, offset 0x2ef\n\t{value: 0x0002, lo: 0x08},\n\t{value: 0x00af, lo: 0x80, hi: 0x83},\n\t{value: 0x0043, lo: 0x84, hi: 0x85},\n\t{value: 0x0049, lo: 0x87, hi: 0x8a},\n\t{value: 0x0055, lo: 0x8d, hi: 0x94},\n\t{value: 0x0067, lo: 0x96, hi: 0x9c},\n\t{value: 0x0083, lo: 0x9e, hi: 0xb7},\n\t{value: 0x0043, lo: 0xb8, hi: 0xb9},\n\t{value: 0x0049, lo: 0xbb, hi: 0xbe},\n\t// Block 0x8c, offset 0x2f8\n\t{value: 0x0002, lo: 0x05},\n\t{value: 0x0053, lo: 0x80, hi: 0x84},\n\t{value: 0x005f, lo: 0x86, hi: 0x86},\n\t{value: 0x0067, lo: 0x8a, hi: 0x90},\n\t{value: 0x0083, lo: 0x92, hi: 0xab},\n\t{value: 0x0043, lo: 0xac, hi: 0xbf},\n\t// Block 0x8d, offset 0x2fe\n\t{value: 0x0002, lo: 0x04},\n\t{value: 0x006b, lo: 0x80, hi: 0x85},\n\t{value: 0x0083, lo: 0x86, hi: 0x9f},\n\t{value: 0x0043, lo: 0xa0, hi: 0xb9},\n\t{value: 0x0083, lo: 0xba, hi: 0xbf},\n\t// Block 0x8e, offset 0x303\n\t{value: 0x0002, lo: 0x03},\n\t{value: 0x008f, lo: 0x80, hi: 0x93},\n\t{value: 0x0043, lo: 0x94, hi: 0xad},\n\t{value: 0x0083, lo: 0xae, hi: 0xbf},\n\t// Block 0x8f, offset 0x307\n\t{value: 0x0002, lo: 0x04},\n\t{value: 0x00a7, lo: 0x80, hi: 0x87},\n\t{value: 0x0043, lo: 0x88, hi: 0xa1},\n\t{value: 0x0083, lo: 0xa2, hi: 0xbb},\n\t{value: 0x0043, lo: 0xbc, hi: 0xbf},\n\t// Block 0x90, offset 0x30c\n\t{value: 0x0002, lo: 0x03},\n\t{value: 0x004b, lo: 0x80, hi: 0x95},\n\t{value: 0x0083, lo: 0x96, hi: 0xaf},\n\t{value: 0x0043, lo: 0xb0, hi: 0xbf},\n\t// Block 0x91, offset 0x310\n\t{value: 0x0003, lo: 0x0f},\n\t{value: 0x01b8, lo: 0x80, hi: 0x80},\n\t{value: 0x045f, lo: 0x81, hi: 0x81},\n\t{value: 0x01bb, lo: 0x82, hi: 0x9a},\n\t{value: 0x045b, lo: 0x9b, hi: 0x9b},\n\t{value: 0x01c7, lo: 0x9c, hi: 0x9c},\n\t{value: 0x01d0, lo: 0x9d, hi: 0x9d},\n\t{value: 0x01d6, lo: 0x9e, hi: 0x9e},\n\t{value: 0x01fa, lo: 0x9f, hi: 0x9f},\n\t{value: 0x01eb, lo: 0xa0, hi: 0xa0},\n\t{value: 0x01e8, lo: 0xa1, hi: 0xa1},\n\t{value: 0x0173, lo: 0xa2, hi: 0xb2},\n\t{value: 0x0188, lo: 0xb3, hi: 0xb3},\n\t{value: 0x01a6, lo: 0xb4, hi: 0xba},\n\t{value: 0x045f, lo: 0xbb, hi: 0xbb},\n\t{value: 0x01bb, lo: 0xbc, hi: 0xbf},\n\t// Block 0x92, offset 0x320\n\t{value: 0x0003, lo: 0x0d},\n\t{value: 0x01c7, lo: 0x80, hi: 0x94},\n\t{value: 0x045b, lo: 0x95, hi: 0x95},\n\t{value: 0x01c7, lo: 0x96, hi: 0x96},\n\t{value: 0x01d0, lo: 0x97, hi: 0x97},\n\t{value: 0x01d6, lo: 0x98, hi: 0x98},\n\t{value: 0x01fa, lo: 0x99, hi: 0x99},\n\t{value: 0x01eb, lo: 0x9a, hi: 0x9a},\n\t{value: 0x01e8, lo: 0x9b, hi: 0x9b},\n\t{value: 0x0173, lo: 0x9c, hi: 0xac},\n\t{value: 0x0188, lo: 0xad, hi: 0xad},\n\t{value: 0x01a6, lo: 0xae, hi: 0xb4},\n\t{value: 0x045f, lo: 0xb5, hi: 0xb5},\n\t{value: 0x01bb, lo: 0xb6, hi: 0xbf},\n\t// Block 0x93, offset 0x32e\n\t{value: 0x0003, lo: 0x0d},\n\t{value: 0x01d9, lo: 0x80, hi: 0x8e},\n\t{value: 0x045b, lo: 0x8f, hi: 0x8f},\n\t{value: 0x01c7, lo: 0x90, hi: 0x90},\n\t{value: 0x01d0, lo: 0x91, hi: 0x91},\n\t{value: 0x01d6, lo: 0x92, hi: 0x92},\n\t{value: 0x01fa, lo: 0x93, hi: 0x93},\n\t{value: 0x01eb, lo: 0x94, hi: 0x94},\n\t{value: 0x01e8, lo: 0x95, hi: 0x95},\n\t{value: 0x0173, lo: 0x96, hi: 0xa6},\n\t{value: 0x0188, lo: 0xa7, hi: 0xa7},\n\t{value: 0x01a6, lo: 0xa8, hi: 0xae},\n\t{value: 0x045f, lo: 0xaf, hi: 0xaf},\n\t{value: 0x01bb, lo: 0xb0, hi: 0xbf},\n\t// Block 0x94, offset 0x33c\n\t{value: 0x0003, lo: 0x0d},\n\t{value: 0x01eb, lo: 0x80, hi: 0x88},\n\t{value: 0x045b, lo: 0x89, hi: 0x89},\n\t{value: 0x01c7, lo: 0x8a, hi: 0x8a},\n\t{value: 0x01d0, lo: 0x8b, hi: 0x8b},\n\t{value: 0x01d6, lo: 0x8c, hi: 0x8c},\n\t{value: 0x01fa, lo: 0x8d, hi: 0x8d},\n\t{value: 0x01eb, lo: 0x8e, hi: 0x8e},\n\t{value: 0x01e8, lo: 0x8f, hi: 0x8f},\n\t{value: 0x0173, lo: 0x90, hi: 0xa0},\n\t{value: 0x0188, lo: 0xa1, hi: 0xa1},\n\t{value: 0x01a6, lo: 0xa2, hi: 0xa8},\n\t{value: 0x045f, lo: 0xa9, hi: 0xa9},\n\t{value: 0x01bb, lo: 0xaa, hi: 0xbf},\n\t// Block 0x95, offset 0x34a\n\t{value: 0x0000, lo: 0x05},\n\t{value: 0x8132, lo: 0x80, hi: 0x86},\n\t{value: 0x8132, lo: 0x88, hi: 0x98},\n\t{value: 0x8132, lo: 0x9b, hi: 0xa1},\n\t{value: 0x8132, lo: 0xa3, hi: 0xa4},\n\t{value: 0x8132, lo: 0xa6, hi: 0xaa},\n\t// Block 0x96, offset 0x350\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x812d, lo: 0x90, hi: 0x96},\n\t// Block 0x97, offset 0x352\n\t{value: 0x0000, lo: 0x02},\n\t{value: 0x8132, lo: 0x84, hi: 0x89},\n\t{value: 0x8102, lo: 0x8a, hi: 0x8a},\n\t// Block 0x98, offset 0x355\n\t{value: 0x0002, lo: 0x09},\n\t{value: 0x0063, lo: 0x80, hi: 0x89},\n\t{value: 0x1951, lo: 0x8a, hi: 0x8a},\n\t{value: 0x1981, lo: 0x8b, hi: 0x8b},\n\t{value: 0x199c, lo: 0x8c, hi: 0x8c},\n\t{value: 0x19a2, lo: 0x8d, hi: 0x8d},\n\t{value: 0x1bc0, lo: 0x8e, hi: 0x8e},\n\t{value: 0x19ae, lo: 0x8f, hi: 0x8f},\n\t{value: 0x197b, lo: 0xaa, hi: 0xaa},\n\t{value: 0x197e, lo: 0xab, hi: 0xab},\n\t// Block 0x99, offset 0x35f\n\t{value: 0x0000, lo: 0x01},\n\t{value: 0x193f, lo: 0x90, hi: 0x90},\n\t// Block 0x9a, offset 0x361\n\t{value: 0x0028, lo: 0x09},\n\t{value: 0x2862, lo: 0x80, hi: 0x80},\n\t{value: 0x2826, lo: 0x81, hi: 0x81},\n\t{value: 0x2830, lo: 0x82, hi: 0x82},\n\t{value: 0x2844, lo: 0x83, hi: 0x84},\n\t{value: 0x284e, lo: 0x85, hi: 0x86},\n\t{value: 0x283a, lo: 0x87, hi: 0x87},\n\t{value: 0x2858, lo: 0x88, hi: 0x88},\n\t{value: 0x0b6f, lo: 0x90, hi: 0x90},\n\t{value: 0x08e7, lo: 0x91, hi: 0x91},\n}\n\n// recompMap: 7520 bytes (entries only)\nvar recompMap = map[uint32]rune{\n\t0x00410300: 0x00C0,\n\t0x00410301: 0x00C1,\n\t0x00410302: 0x00C2,\n\t0x00410303: 0x00C3,\n\t0x00410308: 0x00C4,\n\t0x0041030A: 0x00C5,\n\t0x00430327: 0x00C7,\n\t0x00450300: 0x00C8,\n\t0x00450301: 0x00C9,\n\t0x00450302: 0x00CA,\n\t0x00450308: 0x00CB,\n\t0x00490300: 0x00CC,\n\t0x00490301: 0x00CD,\n\t0x00490302: 0x00CE,\n\t0x00490308: 0x00CF,\n\t0x004E0303: 0x00D1,\n\t0x004F0300: 0x00D2,\n\t0x004F0301: 0x00D3,\n\t0x004F0302: 0x00D4,\n\t0x004F0303: 0x00D5,\n\t0x004F0308: 0x00D6,\n\t0x00550300: 0x00D9,\n\t0x00550301: 0x00DA,\n\t0x00550302: 0x00DB,\n\t0x00550308: 0x00DC,\n\t0x00590301: 0x00DD,\n\t0x00610300: 0x00E0,\n\t0x00610301: 0x00E1,\n\t0x00610302: 0x00E2,\n\t0x00610303: 0x00E3,\n\t0x00610308: 0x00E4,\n\t0x0061030A: 0x00E5,\n\t0x00630327: 0x00E7,\n\t0x00650300: 0x00E8,\n\t0x00650301: 0x00E9,\n\t0x00650302: 0x00EA,\n\t0x00650308: 0x00EB,\n\t0x00690300: 0x00EC,\n\t0x00690301: 0x00ED,\n\t0x00690302: 0x00EE,\n\t0x00690308: 0x00EF,\n\t0x006E0303: 0x00F1,\n\t0x006F0300: 0x00F2,\n\t0x006F0301: 0x00F3,\n\t0x006F0302: 0x00F4,\n\t0x006F0303: 0x00F5,\n\t0x006F0308: 0x00F6,\n\t0x00750300: 0x00F9,\n\t0x00750301: 0x00FA,\n\t0x00750302: 0x00FB,\n\t0x00750308: 0x00FC,\n\t0x00790301: 0x00FD,\n\t0x00790308: 0x00FF,\n\t0x00410304: 0x0100,\n\t0x00610304: 0x0101,\n\t0x00410306: 0x0102,\n\t0x00610306: 0x0103,\n\t0x00410328: 0x0104,\n\t0x00610328: 0x0105,\n\t0x00430301: 0x0106,\n\t0x00630301: 0x0107,\n\t0x00430302: 0x0108,\n\t0x00630302: 0x0109,\n\t0x00430307: 0x010A,\n\t0x00630307: 0x010B,\n\t0x0043030C: 0x010C,\n\t0x0063030C: 0x010D,\n\t0x0044030C: 0x010E,\n\t0x0064030C: 0x010F,\n\t0x00450304: 0x0112,\n\t0x00650304: 0x0113,\n\t0x00450306: 0x0114,\n\t0x00650306: 0x0115,\n\t0x00450307: 0x0116,\n\t0x00650307: 0x0117,\n\t0x00450328: 0x0118,\n\t0x00650328: 0x0119,\n\t0x0045030C: 0x011A,\n\t0x0065030C: 0x011B,\n\t0x00470302: 0x011C,\n\t0x00670302: 0x011D,\n\t0x00470306: 0x011E,\n\t0x00670306: 0x011F,\n\t0x00470307: 0x0120,\n\t0x00670307: 0x0121,\n\t0x00470327: 0x0122,\n\t0x00670327: 0x0123,\n\t0x00480302: 0x0124,\n\t0x00680302: 0x0125,\n\t0x00490303: 0x0128,\n\t0x00690303: 0x0129,\n\t0x00490304: 0x012A,\n\t0x00690304: 0x012B,\n\t0x00490306: 0x012C,\n\t0x00690306: 0x012D,\n\t0x00490328: 0x012E,\n\t0x00690328: 0x012F,\n\t0x00490307: 0x0130,\n\t0x004A0302: 0x0134,\n\t0x006A0302: 0x0135,\n\t0x004B0327: 0x0136,\n\t0x006B0327: 0x0137,\n\t0x004C0301: 0x0139,\n\t0x006C0301: 0x013A,\n\t0x004C0327: 0x013B,\n\t0x006C0327: 0x013C,\n\t0x004C030C: 0x013D,\n\t0x006C030C: 0x013E,\n\t0x004E0301: 0x0143,\n\t0x006E0301: 0x0144,\n\t0x004E0327: 0x0145,\n\t0x006E0327: 0x0146,\n\t0x004E030C: 0x0147,\n\t0x006E030C: 0x0148,\n\t0x004F0304: 0x014C,\n\t0x006F0304: 0x014D,\n\t0x004F0306: 0x014E,\n\t0x006F0306: 0x014F,\n\t0x004F030B: 0x0150,\n\t0x006F030B: 0x0151,\n\t0x00520301: 0x0154,\n\t0x00720301: 0x0155,\n\t0x00520327: 0x0156,\n\t0x00720327: 0x0157,\n\t0x0052030C: 0x0158,\n\t0x0072030C: 0x0159,\n\t0x00530301: 0x015A,\n\t0x00730301: 0x015B,\n\t0x00530302: 0x015C,\n\t0x00730302: 0x015D,\n\t0x00530327: 0x015E,\n\t0x00730327: 0x015F,\n\t0x0053030C: 0x0160,\n\t0x0073030C: 0x0161,\n\t0x00540327: 0x0162,\n\t0x00740327: 0x0163,\n\t0x0054030C: 0x0164,\n\t0x0074030C: 0x0165,\n\t0x00550303: 0x0168,\n\t0x00750303: 0x0169,\n\t0x00550304: 0x016A,\n\t0x00750304: 0x016B,\n\t0x00550306: 0x016C,\n\t0x00750306: 0x016D,\n\t0x0055030A: 0x016E,\n\t0x0075030A: 0x016F,\n\t0x0055030B: 0x0170,\n\t0x0075030B: 0x0171,\n\t0x00550328: 0x0172,\n\t0x00750328: 0x0173,\n\t0x00570302: 0x0174,\n\t0x00770302: 0x0175,\n\t0x00590302: 0x0176,\n\t0x00790302: 0x0177,\n\t0x00590308: 0x0178,\n\t0x005A0301: 0x0179,\n\t0x007A0301: 0x017A,\n\t0x005A0307: 0x017B,\n\t0x007A0307: 0x017C,\n\t0x005A030C: 0x017D,\n\t0x007A030C: 0x017E,\n\t0x004F031B: 0x01A0,\n\t0x006F031B: 0x01A1,\n\t0x0055031B: 0x01AF,\n\t0x0075031B: 0x01B0,\n\t0x0041030C: 0x01CD,\n\t0x0061030C: 0x01CE,\n\t0x0049030C: 0x01CF,\n\t0x0069030C: 0x01D0,\n\t0x004F030C: 0x01D1,\n\t0x006F030C: 0x01D2,\n\t0x0055030C: 0x01D3,\n\t0x0075030C: 0x01D4,\n\t0x00DC0304: 0x01D5,\n\t0x00FC0304: 0x01D6,\n\t0x00DC0301: 0x01D7,\n\t0x00FC0301: 0x01D8,\n\t0x00DC030C: 0x01D9,\n\t0x00FC030C: 0x01DA,\n\t0x00DC0300: 0x01DB,\n\t0x00FC0300: 0x01DC,\n\t0x00C40304: 0x01DE,\n\t0x00E40304: 0x01DF,\n\t0x02260304: 0x01E0,\n\t0x02270304: 0x01E1,\n\t0x00C60304: 0x01E2,\n\t0x00E60304: 0x01E3,\n\t0x0047030C: 0x01E6,\n\t0x0067030C: 0x01E7,\n\t0x004B030C: 0x01E8,\n\t0x006B030C: 0x01E9,\n\t0x004F0328: 0x01EA,\n\t0x006F0328: 0x01EB,\n\t0x01EA0304: 0x01EC,\n\t0x01EB0304: 0x01ED,\n\t0x01B7030C: 0x01EE,\n\t0x0292030C: 0x01EF,\n\t0x006A030C: 0x01F0,\n\t0x00470301: 0x01F4,\n\t0x00670301: 0x01F5,\n\t0x004E0300: 0x01F8,\n\t0x006E0300: 0x01F9,\n\t0x00C50301: 0x01FA,\n\t0x00E50301: 0x01FB,\n\t0x00C60301: 0x01FC,\n\t0x00E60301: 0x01FD,\n\t0x00D80301: 0x01FE,\n\t0x00F80301: 0x01FF,\n\t0x0041030F: 0x0200,\n\t0x0061030F: 0x0201,\n\t0x00410311: 0x0202,\n\t0x00610311: 0x0203,\n\t0x0045030F: 0x0204,\n\t0x0065030F: 0x0205,\n\t0x00450311: 0x0206,\n\t0x00650311: 0x0207,\n\t0x0049030F: 0x0208,\n\t0x0069030F: 0x0209,\n\t0x00490311: 0x020A,\n\t0x00690311: 0x020B,\n\t0x004F030F: 0x020C,\n\t0x006F030F: 0x020D,\n\t0x004F0311: 0x020E,\n\t0x006F0311: 0x020F,\n\t0x0052030F: 0x0210,\n\t0x0072030F: 0x0211,\n\t0x00520311: 0x0212,\n\t0x00720311: 0x0213,\n\t0x0055030F: 0x0214,\n\t0x0075030F: 0x0215,\n\t0x00550311: 0x0216,\n\t0x00750311: 0x0217,\n\t0x00530326: 0x0218,\n\t0x00730326: 0x0219,\n\t0x00540326: 0x021A,\n\t0x00740326: 0x021B,\n\t0x0048030C: 0x021E,\n\t0x0068030C: 0x021F,\n\t0x00410307: 0x0226,\n\t0x00610307: 0x0227,\n\t0x00450327: 0x0228,\n\t0x00650327: 0x0229,\n\t0x00D60304: 0x022A,\n\t0x00F60304: 0x022B,\n\t0x00D50304: 0x022C,\n\t0x00F50304: 0x022D,\n\t0x004F0307: 0x022E,\n\t0x006F0307: 0x022F,\n\t0x022E0304: 0x0230,\n\t0x022F0304: 0x0231,\n\t0x00590304: 0x0232,\n\t0x00790304: 0x0233,\n\t0x00A80301: 0x0385,\n\t0x03910301: 0x0386,\n\t0x03950301: 0x0388,\n\t0x03970301: 0x0389,\n\t0x03990301: 0x038A,\n\t0x039F0301: 0x038C,\n\t0x03A50301: 0x038E,\n\t0x03A90301: 0x038F,\n\t0x03CA0301: 0x0390,\n\t0x03990308: 0x03AA,\n\t0x03A50308: 0x03AB,\n\t0x03B10301: 0x03AC,\n\t0x03B50301: 0x03AD,\n\t0x03B70301: 0x03AE,\n\t0x03B90301: 0x03AF,\n\t0x03CB0301: 0x03B0,\n\t0x03B90308: 0x03CA,\n\t0x03C50308: 0x03CB,\n\t0x03BF0301: 0x03CC,\n\t0x03C50301: 0x03CD,\n\t0x03C90301: 0x03CE,\n\t0x03D20301: 0x03D3,\n\t0x03D20308: 0x03D4,\n\t0x04150300: 0x0400,\n\t0x04150308: 0x0401,\n\t0x04130301: 0x0403,\n\t0x04060308: 0x0407,\n\t0x041A0301: 0x040C,\n\t0x04180300: 0x040D,\n\t0x04230306: 0x040E,\n\t0x04180306: 0x0419,\n\t0x04380306: 0x0439,\n\t0x04350300: 0x0450,\n\t0x04350308: 0x0451,\n\t0x04330301: 0x0453,\n\t0x04560308: 0x0457,\n\t0x043A0301: 0x045C,\n\t0x04380300: 0x045D,\n\t0x04430306: 0x045E,\n\t0x0474030F: 0x0476,\n\t0x0475030F: 0x0477,\n\t0x04160306: 0x04C1,\n\t0x04360306: 0x04C2,\n\t0x04100306: 0x04D0,\n\t0x04300306: 0x04D1,\n\t0x04100308: 0x04D2,\n\t0x04300308: 0x04D3,\n\t0x04150306: 0x04D6,\n\t0x04350306: 0x04D7,\n\t0x04D80308: 0x04DA,\n\t0x04D90308: 0x04DB,\n\t0x04160308: 0x04DC,\n\t0x04360308: 0x04DD,\n\t0x04170308: 0x04DE,\n\t0x04370308: 0x04DF,\n\t0x04180304: 0x04E2,\n\t0x04380304: 0x04E3,\n\t0x04180308: 0x04E4,\n\t0x04380308: 0x04E5,\n\t0x041E0308: 0x04E6,\n\t0x043E0308: 0x04E7,\n\t0x04E80308: 0x04EA,\n\t0x04E90308: 0x04EB,\n\t0x042D0308: 0x04EC,\n\t0x044D0308: 0x04ED,\n\t0x04230304: 0x04EE,\n\t0x04430304: 0x04EF,\n\t0x04230308: 0x04F0,\n\t0x04430308: 0x04F1,\n\t0x0423030B: 0x04F2,\n\t0x0443030B: 0x04F3,\n\t0x04270308: 0x04F4,\n\t0x04470308: 0x04F5,\n\t0x042B0308: 0x04F8,\n\t0x044B0308: 0x04F9,\n\t0x06270653: 0x0622,\n\t0x06270654: 0x0623,\n\t0x06480654: 0x0624,\n\t0x06270655: 0x0625,\n\t0x064A0654: 0x0626,\n\t0x06D50654: 0x06C0,\n\t0x06C10654: 0x06C2,\n\t0x06D20654: 0x06D3,\n\t0x0928093C: 0x0929,\n\t0x0930093C: 0x0931,\n\t0x0933093C: 0x0934,\n\t0x09C709BE: 0x09CB,\n\t0x09C709D7: 0x09CC,\n\t0x0B470B56: 0x0B48,\n\t0x0B470B3E: 0x0B4B,\n\t0x0B470B57: 0x0B4C,\n\t0x0B920BD7: 0x0B94,\n\t0x0BC60BBE: 0x0BCA,\n\t0x0BC70BBE: 0x0BCB,\n\t0x0BC60BD7: 0x0BCC,\n\t0x0C460C56: 0x0C48,\n\t0x0CBF0CD5: 0x0CC0,\n\t0x0CC60CD5: 0x0CC7,\n\t0x0CC60CD6: 0x0CC8,\n\t0x0CC60CC2: 0x0CCA,\n\t0x0CCA0CD5: 0x0CCB,\n\t0x0D460D3E: 0x0D4A,\n\t0x0D470D3E: 0x0D4B,\n\t0x0D460D57: 0x0D4C,\n\t0x0DD90DCA: 0x0DDA,\n\t0x0DD90DCF: 0x0DDC,\n\t0x0DDC0DCA: 0x0DDD,\n\t0x0DD90DDF: 0x0DDE,\n\t0x1025102E: 0x1026,\n\t0x1B051B35: 0x1B06,\n\t0x1B071B35: 0x1B08,\n\t0x1B091B35: 0x1B0A,\n\t0x1B0B1B35: 0x1B0C,\n\t0x1B0D1B35: 0x1B0E,\n\t0x1B111B35: 0x1B12,\n\t0x1B3A1B35: 0x1B3B,\n\t0x1B3C1B35: 0x1B3D,\n\t0x1B3E1B35: 0x1B40,\n\t0x1B3F1B35: 0x1B41,\n\t0x1B421B35: 0x1B43,\n\t0x00410325: 0x1E00,\n\t0x00610325: 0x1E01,\n\t0x00420307: 0x1E02,\n\t0x00620307: 0x1E03,\n\t0x00420323: 0x1E04,\n\t0x00620323: 0x1E05,\n\t0x00420331: 0x1E06,\n\t0x00620331: 0x1E07,\n\t0x00C70301: 0x1E08,\n\t0x00E70301: 0x1E09,\n\t0x00440307: 0x1E0A,\n\t0x00640307: 0x1E0B,\n\t0x00440323: 0x1E0C,\n\t0x00640323: 0x1E0D,\n\t0x00440331: 0x1E0E,\n\t0x00640331: 0x1E0F,\n\t0x00440327: 0x1E10,\n\t0x00640327: 0x1E11,\n\t0x0044032D: 0x1E12,\n\t0x0064032D: 0x1E13,\n\t0x01120300: 0x1E14,\n\t0x01130300: 0x1E15,\n\t0x01120301: 0x1E16,\n\t0x01130301: 0x1E17,\n\t0x0045032D: 0x1E18,\n\t0x0065032D: 0x1E19,\n\t0x00450330: 0x1E1A,\n\t0x00650330: 0x1E1B,\n\t0x02280306: 0x1E1C,\n\t0x02290306: 0x1E1D,\n\t0x00460307: 0x1E1E,\n\t0x00660307: 0x1E1F,\n\t0x00470304: 0x1E20,\n\t0x00670304: 0x1E21,\n\t0x00480307: 0x1E22,\n\t0x00680307: 0x1E23,\n\t0x00480323: 0x1E24,\n\t0x00680323: 0x1E25,\n\t0x00480308: 0x1E26,\n\t0x00680308: 0x1E27,\n\t0x00480327: 0x1E28,\n\t0x00680327: 0x1E29,\n\t0x0048032E: 0x1E2A,\n\t0x0068032E: 0x1E2B,\n\t0x00490330: 0x1E2C,\n\t0x00690330: 0x1E2D,\n\t0x00CF0301: 0x1E2E,\n\t0x00EF0301: 0x1E2F,\n\t0x004B0301: 0x1E30,\n\t0x006B0301: 0x1E31,\n\t0x004B0323: 0x1E32,\n\t0x006B0323: 0x1E33,\n\t0x004B0331: 0x1E34,\n\t0x006B0331: 0x1E35,\n\t0x004C0323: 0x1E36,\n\t0x006C0323: 0x1E37,\n\t0x1E360304: 0x1E38,\n\t0x1E370304: 0x1E39,\n\t0x004C0331: 0x1E3A,\n\t0x006C0331: 0x1E3B,\n\t0x004C032D: 0x1E3C,\n\t0x006C032D: 0x1E3D,\n\t0x004D0301: 0x1E3E,\n\t0x006D0301: 0x1E3F,\n\t0x004D0307: 0x1E40,\n\t0x006D0307: 0x1E41,\n\t0x004D0323: 0x1E42,\n\t0x006D0323: 0x1E43,\n\t0x004E0307: 0x1E44,\n\t0x006E0307: 0x1E45,\n\t0x004E0323: 0x1E46,\n\t0x006E0323: 0x1E47,\n\t0x004E0331: 0x1E48,\n\t0x006E0331: 0x1E49,\n\t0x004E032D: 0x1E4A,\n\t0x006E032D: 0x1E4B,\n\t0x00D50301: 0x1E4C,\n\t0x00F50301: 0x1E4D,\n\t0x00D50308: 0x1E4E,\n\t0x00F50308: 0x1E4F,\n\t0x014C0300: 0x1E50,\n\t0x014D0300: 0x1E51,\n\t0x014C0301: 0x1E52,\n\t0x014D0301: 0x1E53,\n\t0x00500301: 0x1E54,\n\t0x00700301: 0x1E55,\n\t0x00500307: 0x1E56,\n\t0x00700307: 0x1E57,\n\t0x00520307: 0x1E58,\n\t0x00720307: 0x1E59,\n\t0x00520323: 0x1E5A,\n\t0x00720323: 0x1E5B,\n\t0x1E5A0304: 0x1E5C,\n\t0x1E5B0304: 0x1E5D,\n\t0x00520331: 0x1E5E,\n\t0x00720331: 0x1E5F,\n\t0x00530307: 0x1E60,\n\t0x00730307: 0x1E61,\n\t0x00530323: 0x1E62,\n\t0x00730323: 0x1E63,\n\t0x015A0307: 0x1E64,\n\t0x015B0307: 0x1E65,\n\t0x01600307: 0x1E66,\n\t0x01610307: 0x1E67,\n\t0x1E620307: 0x1E68,\n\t0x1E630307: 0x1E69,\n\t0x00540307: 0x1E6A,\n\t0x00740307: 0x1E6B,\n\t0x00540323: 0x1E6C,\n\t0x00740323: 0x1E6D,\n\t0x00540331: 0x1E6E,\n\t0x00740331: 0x1E6F,\n\t0x0054032D: 0x1E70,\n\t0x0074032D: 0x1E71,\n\t0x00550324: 0x1E72,\n\t0x00750324: 0x1E73,\n\t0x00550330: 0x1E74,\n\t0x00750330: 0x1E75,\n\t0x0055032D: 0x1E76,\n\t0x0075032D: 0x1E77,\n\t0x01680301: 0x1E78,\n\t0x01690301: 0x1E79,\n\t0x016A0308: 0x1E7A,\n\t0x016B0308: 0x1E7B,\n\t0x00560303: 0x1E7C,\n\t0x00760303: 0x1E7D,\n\t0x00560323: 0x1E7E,\n\t0x00760323: 0x1E7F,\n\t0x00570300: 0x1E80,\n\t0x00770300: 0x1E81,\n\t0x00570301: 0x1E82,\n\t0x00770301: 0x1E83,\n\t0x00570308: 0x1E84,\n\t0x00770308: 0x1E85,\n\t0x00570307: 0x1E86,\n\t0x00770307: 0x1E87,\n\t0x00570323: 0x1E88,\n\t0x00770323: 0x1E89,\n\t0x00580307: 0x1E8A,\n\t0x00780307: 0x1E8B,\n\t0x00580308: 0x1E8C,\n\t0x00780308: 0x1E8D,\n\t0x00590307: 0x1E8E,\n\t0x00790307: 0x1E8F,\n\t0x005A0302: 0x1E90,\n\t0x007A0302: 0x1E91,\n\t0x005A0323: 0x1E92,\n\t0x007A0323: 0x1E93,\n\t0x005A0331: 0x1E94,\n\t0x007A0331: 0x1E95,\n\t0x00680331: 0x1E96,\n\t0x00740308: 0x1E97,\n\t0x0077030A: 0x1E98,\n\t0x0079030A: 0x1E99,\n\t0x017F0307: 0x1E9B,\n\t0x00410323: 0x1EA0,\n\t0x00610323: 0x1EA1,\n\t0x00410309: 0x1EA2,\n\t0x00610309: 0x1EA3,\n\t0x00C20301: 0x1EA4,\n\t0x00E20301: 0x1EA5,\n\t0x00C20300: 0x1EA6,\n\t0x00E20300: 0x1EA7,\n\t0x00C20309: 0x1EA8,\n\t0x00E20309: 0x1EA9,\n\t0x00C20303: 0x1EAA,\n\t0x00E20303: 0x1EAB,\n\t0x1EA00302: 0x1EAC,\n\t0x1EA10302: 0x1EAD,\n\t0x01020301: 0x1EAE,\n\t0x01030301: 0x1EAF,\n\t0x01020300: 0x1EB0,\n\t0x01030300: 0x1EB1,\n\t0x01020309: 0x1EB2,\n\t0x01030309: 0x1EB3,\n\t0x01020303: 0x1EB4,\n\t0x01030303: 0x1EB5,\n\t0x1EA00306: 0x1EB6,\n\t0x1EA10306: 0x1EB7,\n\t0x00450323: 0x1EB8,\n\t0x00650323: 0x1EB9,\n\t0x00450309: 0x1EBA,\n\t0x00650309: 0x1EBB,\n\t0x00450303: 0x1EBC,\n\t0x00650303: 0x1EBD,\n\t0x00CA0301: 0x1EBE,\n\t0x00EA0301: 0x1EBF,\n\t0x00CA0300: 0x1EC0,\n\t0x00EA0300: 0x1EC1,\n\t0x00CA0309: 0x1EC2,\n\t0x00EA0309: 0x1EC3,\n\t0x00CA0303: 0x1EC4,\n\t0x00EA0303: 0x1EC5,\n\t0x1EB80302: 0x1EC6,\n\t0x1EB90302: 0x1EC7,\n\t0x00490309: 0x1EC8,\n\t0x00690309: 0x1EC9,\n\t0x00490323: 0x1ECA,\n\t0x00690323: 0x1ECB,\n\t0x004F0323: 0x1ECC,\n\t0x006F0323: 0x1ECD,\n\t0x004F0309: 0x1ECE,\n\t0x006F0309: 0x1ECF,\n\t0x00D40301: 0x1ED0,\n\t0x00F40301: 0x1ED1,\n\t0x00D40300: 0x1ED2,\n\t0x00F40300: 0x1ED3,\n\t0x00D40309: 0x1ED4,\n\t0x00F40309: 0x1ED5,\n\t0x00D40303: 0x1ED6,\n\t0x00F40303: 0x1ED7,\n\t0x1ECC0302: 0x1ED8,\n\t0x1ECD0302: 0x1ED9,\n\t0x01A00301: 0x1EDA,\n\t0x01A10301: 0x1EDB,\n\t0x01A00300: 0x1EDC,\n\t0x01A10300: 0x1EDD,\n\t0x01A00309: 0x1EDE,\n\t0x01A10309: 0x1EDF,\n\t0x01A00303: 0x1EE0,\n\t0x01A10303: 0x1EE1,\n\t0x01A00323: 0x1EE2,\n\t0x01A10323: 0x1EE3,\n\t0x00550323: 0x1EE4,\n\t0x00750323: 0x1EE5,\n\t0x00550309: 0x1EE6,\n\t0x00750309: 0x1EE7,\n\t0x01AF0301: 0x1EE8,\n\t0x01B00301: 0x1EE9,\n\t0x01AF0300: 0x1EEA,\n\t0x01B00300: 0x1EEB,\n\t0x01AF0309: 0x1EEC,\n\t0x01B00309: 0x1EED,\n\t0x01AF0303: 0x1EEE,\n\t0x01B00303: 0x1EEF,\n\t0x01AF0323: 0x1EF0,\n\t0x01B00323: 0x1EF1,\n\t0x00590300: 0x1EF2,\n\t0x00790300: 0x1EF3,\n\t0x00590323: 0x1EF4,\n\t0x00790323: 0x1EF5,\n\t0x00590309: 0x1EF6,\n\t0x00790309: 0x1EF7,\n\t0x00590303: 0x1EF8,\n\t0x00790303: 0x1EF9,\n\t0x03B10313: 0x1F00,\n\t0x03B10314: 0x1F01,\n\t0x1F000300: 0x1F02,\n\t0x1F010300: 0x1F03,\n\t0x1F000301: 0x1F04,\n\t0x1F010301: 0x1F05,\n\t0x1F000342: 0x1F06,\n\t0x1F010342: 0x1F07,\n\t0x03910313: 0x1F08,\n\t0x03910314: 0x1F09,\n\t0x1F080300: 0x1F0A,\n\t0x1F090300: 0x1F0B,\n\t0x1F080301: 0x1F0C,\n\t0x1F090301: 0x1F0D,\n\t0x1F080342: 0x1F0E,\n\t0x1F090342: 0x1F0F,\n\t0x03B50313: 0x1F10,\n\t0x03B50314: 0x1F11,\n\t0x1F100300: 0x1F12,\n\t0x1F110300: 0x1F13,\n\t0x1F100301: 0x1F14,\n\t0x1F110301: 0x1F15,\n\t0x03950313: 0x1F18,\n\t0x03950314: 0x1F19,\n\t0x1F180300: 0x1F1A,\n\t0x1F190300: 0x1F1B,\n\t0x1F180301: 0x1F1C,\n\t0x1F190301: 0x1F1D,\n\t0x03B70313: 0x1F20,\n\t0x03B70314: 0x1F21,\n\t0x1F200300: 0x1F22,\n\t0x1F210300: 0x1F23,\n\t0x1F200301: 0x1F24,\n\t0x1F210301: 0x1F25,\n\t0x1F200342: 0x1F26,\n\t0x1F210342: 0x1F27,\n\t0x03970313: 0x1F28,\n\t0x03970314: 0x1F29,\n\t0x1F280300: 0x1F2A,\n\t0x1F290300: 0x1F2B,\n\t0x1F280301: 0x1F2C,\n\t0x1F290301: 0x1F2D,\n\t0x1F280342: 0x1F2E,\n\t0x1F290342: 0x1F2F,\n\t0x03B90313: 0x1F30,\n\t0x03B90314: 0x1F31,\n\t0x1F300300: 0x1F32,\n\t0x1F310300: 0x1F33,\n\t0x1F300301: 0x1F34,\n\t0x1F310301: 0x1F35,\n\t0x1F300342: 0x1F36,\n\t0x1F310342: 0x1F37,\n\t0x03990313: 0x1F38,\n\t0x03990314: 0x1F39,\n\t0x1F380300: 0x1F3A,\n\t0x1F390300: 0x1F3B,\n\t0x1F380301: 0x1F3C,\n\t0x1F390301: 0x1F3D,\n\t0x1F380342: 0x1F3E,\n\t0x1F390342: 0x1F3F,\n\t0x03BF0313: 0x1F40,\n\t0x03BF0314: 0x1F41,\n\t0x1F400300: 0x1F42,\n\t0x1F410300: 0x1F43,\n\t0x1F400301: 0x1F44,\n\t0x1F410301: 0x1F45,\n\t0x039F0313: 0x1F48,\n\t0x039F0314: 0x1F49,\n\t0x1F480300: 0x1F4A,\n\t0x1F490300: 0x1F4B,\n\t0x1F480301: 0x1F4C,\n\t0x1F490301: 0x1F4D,\n\t0x03C50313: 0x1F50,\n\t0x03C50314: 0x1F51,\n\t0x1F500300: 0x1F52,\n\t0x1F510300: 0x1F53,\n\t0x1F500301: 0x1F54,\n\t0x1F510301: 0x1F55,\n\t0x1F500342: 0x1F56,\n\t0x1F510342: 0x1F57,\n\t0x03A50314: 0x1F59,\n\t0x1F590300: 0x1F5B,\n\t0x1F590301: 0x1F5D,\n\t0x1F590342: 0x1F5F,\n\t0x03C90313: 0x1F60,\n\t0x03C90314: 0x1F61,\n\t0x1F600300: 0x1F62,\n\t0x1F610300: 0x1F63,\n\t0x1F600301: 0x1F64,\n\t0x1F610301: 0x1F65,\n\t0x1F600342: 0x1F66,\n\t0x1F610342: 0x1F67,\n\t0x03A90313: 0x1F68,\n\t0x03A90314: 0x1F69,\n\t0x1F680300: 0x1F6A,\n\t0x1F690300: 0x1F6B,\n\t0x1F680301: 0x1F6C,\n\t0x1F690301: 0x1F6D,\n\t0x1F680342: 0x1F6E,\n\t0x1F690342: 0x1F6F,\n\t0x03B10300: 0x1F70,\n\t0x03B50300: 0x1F72,\n\t0x03B70300: 0x1F74,\n\t0x03B90300: 0x1F76,\n\t0x03BF0300: 0x1F78,\n\t0x03C50300: 0x1F7A,\n\t0x03C90300: 0x1F7C,\n\t0x1F000345: 0x1F80,\n\t0x1F010345: 0x1F81,\n\t0x1F020345: 0x1F82,\n\t0x1F030345: 0x1F83,\n\t0x1F040345: 0x1F84,\n\t0x1F050345: 0x1F85,\n\t0x1F060345: 0x1F86,\n\t0x1F070345: 0x1F87,\n\t0x1F080345: 0x1F88,\n\t0x1F090345: 0x1F89,\n\t0x1F0A0345: 0x1F8A,\n\t0x1F0B0345: 0x1F8B,\n\t0x1F0C0345: 0x1F8C,\n\t0x1F0D0345: 0x1F8D,\n\t0x1F0E0345: 0x1F8E,\n\t0x1F0F0345: 0x1F8F,\n\t0x1F200345: 0x1F90,\n\t0x1F210345: 0x1F91,\n\t0x1F220345: 0x1F92,\n\t0x1F230345: 0x1F93,\n\t0x1F240345: 0x1F94,\n\t0x1F250345: 0x1F95,\n\t0x1F260345: 0x1F96,\n\t0x1F270345: 0x1F97,\n\t0x1F280345: 0x1F98,\n\t0x1F290345: 0x1F99,\n\t0x1F2A0345: 0x1F9A,\n\t0x1F2B0345: 0x1F9B,\n\t0x1F2C0345: 0x1F9C,\n\t0x1F2D0345: 0x1F9D,\n\t0x1F2E0345: 0x1F9E,\n\t0x1F2F0345: 0x1F9F,\n\t0x1F600345: 0x1FA0,\n\t0x1F610345: 0x1FA1,\n\t0x1F620345: 0x1FA2,\n\t0x1F630345: 0x1FA3,\n\t0x1F640345: 0x1FA4,\n\t0x1F650345: 0x1FA5,\n\t0x1F660345: 0x1FA6,\n\t0x1F670345: 0x1FA7,\n\t0x1F680345: 0x1FA8,\n\t0x1F690345: 0x1FA9,\n\t0x1F6A0345: 0x1FAA,\n\t0x1F6B0345: 0x1FAB,\n\t0x1F6C0345: 0x1FAC,\n\t0x1F6D0345: 0x1FAD,\n\t0x1F6E0345: 0x1FAE,\n\t0x1F6F0345: 0x1FAF,\n\t0x03B10306: 0x1FB0,\n\t0x03B10304: 0x1FB1,\n\t0x1F700345: 0x1FB2,\n\t0x03B10345: 0x1FB3,\n\t0x03AC0345: 0x1FB4,\n\t0x03B10342: 0x1FB6,\n\t0x1FB60345: 0x1FB7,\n\t0x03910306: 0x1FB8,\n\t0x03910304: 0x1FB9,\n\t0x03910300: 0x1FBA,\n\t0x03910345: 0x1FBC,\n\t0x00A80342: 0x1FC1,\n\t0x1F740345: 0x1FC2,\n\t0x03B70345: 0x1FC3,\n\t0x03AE0345: 0x1FC4,\n\t0x03B70342: 0x1FC6,\n\t0x1FC60345: 0x1FC7,\n\t0x03950300: 0x1FC8,\n\t0x03970300: 0x1FCA,\n\t0x03970345: 0x1FCC,\n\t0x1FBF0300: 0x1FCD,\n\t0x1FBF0301: 0x1FCE,\n\t0x1FBF0342: 0x1FCF,\n\t0x03B90306: 0x1FD0,\n\t0x03B90304: 0x1FD1,\n\t0x03CA0300: 0x1FD2,\n\t0x03B90342: 0x1FD6,\n\t0x03CA0342: 0x1FD7,\n\t0x03990306: 0x1FD8,\n\t0x03990304: 0x1FD9,\n\t0x03990300: 0x1FDA,\n\t0x1FFE0300: 0x1FDD,\n\t0x1FFE0301: 0x1FDE,\n\t0x1FFE0342: 0x1FDF,\n\t0x03C50306: 0x1FE0,\n\t0x03C50304: 0x1FE1,\n\t0x03CB0300: 0x1FE2,\n\t0x03C10313: 0x1FE4,\n\t0x03C10314: 0x1FE5,\n\t0x03C50342: 0x1FE6,\n\t0x03CB0342: 0x1FE7,\n\t0x03A50306: 0x1FE8,\n\t0x03A50304: 0x1FE9,\n\t0x03A50300: 0x1FEA,\n\t0x03A10314: 0x1FEC,\n\t0x00A80300: 0x1FED,\n\t0x1F7C0345: 0x1FF2,\n\t0x03C90345: 0x1FF3,\n\t0x03CE0345: 0x1FF4,\n\t0x03C90342: 0x1FF6,\n\t0x1FF60345: 0x1FF7,\n\t0x039F0300: 0x1FF8,\n\t0x03A90300: 0x1FFA,\n\t0x03A90345: 0x1FFC,\n\t0x21900338: 0x219A,\n\t0x21920338: 0x219B,\n\t0x21940338: 0x21AE,\n\t0x21D00338: 0x21CD,\n\t0x21D40338: 0x21CE,\n\t0x21D20338: 0x21CF,\n\t0x22030338: 0x2204,\n\t0x22080338: 0x2209,\n\t0x220B0338: 0x220C,\n\t0x22230338: 0x2224,\n\t0x22250338: 0x2226,\n\t0x223C0338: 0x2241,\n\t0x22430338: 0x2244,\n\t0x22450338: 0x2247,\n\t0x22480338: 0x2249,\n\t0x003D0338: 0x2260,\n\t0x22610338: 0x2262,\n\t0x224D0338: 0x226D,\n\t0x003C0338: 0x226E,\n\t0x003E0338: 0x226F,\n\t0x22640338: 0x2270,\n\t0x22650338: 0x2271,\n\t0x22720338: 0x2274,\n\t0x22730338: 0x2275,\n\t0x22760338: 0x2278,\n\t0x22770338: 0x2279,\n\t0x227A0338: 0x2280,\n\t0x227B0338: 0x2281,\n\t0x22820338: 0x2284,\n\t0x22830338: 0x2285,\n\t0x22860338: 0x2288,\n\t0x22870338: 0x2289,\n\t0x22A20338: 0x22AC,\n\t0x22A80338: 0x22AD,\n\t0x22A90338: 0x22AE,\n\t0x22AB0338: 0x22AF,\n\t0x227C0338: 0x22E0,\n\t0x227D0338: 0x22E1,\n\t0x22910338: 0x22E2,\n\t0x22920338: 0x22E3,\n\t0x22B20338: 0x22EA,\n\t0x22B30338: 0x22EB,\n\t0x22B40338: 0x22EC,\n\t0x22B50338: 0x22ED,\n\t0x304B3099: 0x304C,\n\t0x304D3099: 0x304E,\n\t0x304F3099: 0x3050,\n\t0x30513099: 0x3052,\n\t0x30533099: 0x3054,\n\t0x30553099: 0x3056,\n\t0x30573099: 0x3058,\n\t0x30593099: 0x305A,\n\t0x305B3099: 0x305C,\n\t0x305D3099: 0x305E,\n\t0x305F3099: 0x3060,\n\t0x30613099: 0x3062,\n\t0x30643099: 0x3065,\n\t0x30663099: 0x3067,\n\t0x30683099: 0x3069,\n\t0x306F3099: 0x3070,\n\t0x306F309A: 0x3071,\n\t0x30723099: 0x3073,\n\t0x3072309A: 0x3074,\n\t0x30753099: 0x3076,\n\t0x3075309A: 0x3077,\n\t0x30783099: 0x3079,\n\t0x3078309A: 0x307A,\n\t0x307B3099: 0x307C,\n\t0x307B309A: 0x307D,\n\t0x30463099: 0x3094,\n\t0x309D3099: 0x309E,\n\t0x30AB3099: 0x30AC,\n\t0x30AD3099: 0x30AE,\n\t0x30AF3099: 0x30B0,\n\t0x30B13099: 0x30B2,\n\t0x30B33099: 0x30B4,\n\t0x30B53099: 0x30B6,\n\t0x30B73099: 0x30B8,\n\t0x30B93099: 0x30BA,\n\t0x30BB3099: 0x30BC,\n\t0x30BD3099: 0x30BE,\n\t0x30BF3099: 0x30C0,\n\t0x30C13099: 0x30C2,\n\t0x30C43099: 0x30C5,\n\t0x30C63099: 0x30C7,\n\t0x30C83099: 0x30C9,\n\t0x30CF3099: 0x30D0,\n\t0x30CF309A: 0x30D1,\n\t0x30D23099: 0x30D3,\n\t0x30D2309A: 0x30D4,\n\t0x30D53099: 0x30D6,\n\t0x30D5309A: 0x30D7,\n\t0x30D83099: 0x30D9,\n\t0x30D8309A: 0x30DA,\n\t0x30DB3099: 0x30DC,\n\t0x30DB309A: 0x30DD,\n\t0x30A63099: 0x30F4,\n\t0x30EF3099: 0x30F7,\n\t0x30F03099: 0x30F8,\n\t0x30F13099: 0x30F9,\n\t0x30F23099: 0x30FA,\n\t0x30FD3099: 0x30FE,\n\t0x109910BA: 0x1109A,\n\t0x109B10BA: 0x1109C,\n\t0x10A510BA: 0x110AB,\n\t0x11311127: 0x1112E,\n\t0x11321127: 0x1112F,\n\t0x1347133E: 0x1134B,\n\t0x13471357: 0x1134C,\n\t0x14B914BA: 0x114BB,\n\t0x14B914B0: 0x114BC,\n\t0x14B914BD: 0x114BE,\n\t0x15B815AF: 0x115BA,\n\t0x15B915AF: 0x115BB,\n}\n\n// Total size of tables: 53KB (54006 bytes)\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/norm/transform.go",
    "content": "// Copyright 2013 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage norm\n\nimport (\n\t\"unicode/utf8\"\n\n\t\"golang.org/x/text/transform\"\n)\n\n// Reset implements the Reset method of the transform.Transformer interface.\nfunc (Form) Reset() {}\n\n// Transform implements the Transform method of the transform.Transformer\n// interface. It may need to write segments of up to MaxSegmentSize at once.\n// Users should either catch ErrShortDst and allow dst to grow or have dst be at\n// least of size MaxTransformChunkSize to be guaranteed of progress.\nfunc (f Form) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {\n\tn := 0\n\t// Cap the maximum number of src bytes to check.\n\tb := src\n\teof := atEOF\n\tif ns := len(dst); ns < len(b) {\n\t\terr = transform.ErrShortDst\n\t\teof = false\n\t\tb = b[:ns]\n\t}\n\ti, ok := formTable[f].quickSpan(inputBytes(b), n, len(b), eof)\n\tn += copy(dst[n:], b[n:i])\n\tif !ok {\n\t\tnDst, nSrc, err = f.transform(dst[n:], src[n:], atEOF)\n\t\treturn nDst + n, nSrc + n, err\n\t}\n\tif n < len(src) && !atEOF {\n\t\terr = transform.ErrShortSrc\n\t}\n\treturn n, n, err\n}\n\nfunc flushTransform(rb *reorderBuffer) bool {\n\t// Write out (must fully fit in dst, or else it is an ErrShortDst).\n\tif len(rb.out) < rb.nrune*utf8.UTFMax {\n\t\treturn false\n\t}\n\trb.out = rb.out[rb.flushCopy(rb.out):]\n\treturn true\n}\n\nvar errs = []error{nil, transform.ErrShortDst, transform.ErrShortSrc}\n\n// transform implements the transform.Transformer interface. It is only called\n// when quickSpan does not pass for a given string.\nfunc (f Form) transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {\n\t// TODO: get rid of reorderBuffer. See CL 23460044.\n\trb := reorderBuffer{}\n\trb.init(f, src)\n\tfor {\n\t\t// Load segment into reorder buffer.\n\t\trb.setFlusher(dst[nDst:], flushTransform)\n\t\tend := decomposeSegment(&rb, nSrc, atEOF)\n\t\tif end < 0 {\n\t\t\treturn nDst, nSrc, errs[-end]\n\t\t}\n\t\tnDst = len(dst) - len(rb.out)\n\t\tnSrc = end\n\n\t\t// Next quickSpan.\n\t\tend = rb.nsrc\n\t\teof := atEOF\n\t\tif n := nSrc + len(dst) - nDst; n < end {\n\t\t\terr = transform.ErrShortDst\n\t\t\tend = n\n\t\t\teof = false\n\t\t}\n\t\tend, ok := rb.f.quickSpan(rb.src, nSrc, end, eof)\n\t\tn := copy(dst[nDst:], rb.src.bytes[nSrc:end])\n\t\tnSrc += n\n\t\tnDst += n\n\t\tif ok {\n\t\t\tif n < rb.nsrc && !atEOF {\n\t\t\t\terr = transform.ErrShortSrc\n\t\t\t}\n\t\t\treturn nDst, nSrc, err\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/norm/trie.go",
    "content": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage norm\n\ntype valueRange struct {\n\tvalue  uint16 // header: value:stride\n\tlo, hi byte   // header: lo:n\n}\n\ntype sparseBlocks struct {\n\tvalues []valueRange\n\toffset []uint16\n}\n\nvar nfcSparse = sparseBlocks{\n\tvalues: nfcSparseValues[:],\n\toffset: nfcSparseOffset[:],\n}\n\nvar nfkcSparse = sparseBlocks{\n\tvalues: nfkcSparseValues[:],\n\toffset: nfkcSparseOffset[:],\n}\n\nvar (\n\tnfcData  = newNfcTrie(0)\n\tnfkcData = newNfkcTrie(0)\n)\n\n// lookupValue determines the type of block n and looks up the value for b.\n// For n < t.cutoff, the block is a simple lookup table. Otherwise, the block\n// is a list of ranges with an accompanying value. Given a matching range r,\n// the value for b is by r.value + (b - r.lo) * stride.\nfunc (t *sparseBlocks) lookup(n uint32, b byte) uint16 {\n\toffset := t.offset[n]\n\theader := t.values[offset]\n\tlo := offset + 1\n\thi := lo + uint16(header.lo)\n\tfor lo < hi {\n\t\tm := lo + (hi-lo)/2\n\t\tr := t.values[m]\n\t\tif r.lo <= b && b <= r.hi {\n\t\t\treturn r.value + uint16(b-r.lo)*header.value\n\t\t}\n\t\tif b < r.lo {\n\t\t\thi = m\n\t\t} else {\n\t\t\tlo = m + 1\n\t\t}\n\t}\n\treturn 0\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/norm/triegen.go",
    "content": "// Copyright 2011 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\n// Trie table generator.\n// Used by make*tables tools to generate a go file with trie data structures\n// for mapping UTF-8 to a 16-bit value. All but the last byte in a UTF-8 byte\n// sequence are used to lookup offsets in the index table to be used for the\n// next byte. The last byte is used to index into a table with 16-bit values.\n\npackage main\n\nimport (\n\t\"fmt\"\n\t\"io\"\n)\n\nconst maxSparseEntries = 16\n\ntype normCompacter struct {\n\tsparseBlocks [][]uint64\n\tsparseOffset []uint16\n\tsparseCount  int\n\tname         string\n}\n\nfunc mostFrequentStride(a []uint64) int {\n\tcounts := make(map[int]int)\n\tvar v int\n\tfor _, x := range a {\n\t\tif stride := int(x) - v; v != 0 && stride >= 0 {\n\t\t\tcounts[stride]++\n\t\t}\n\t\tv = int(x)\n\t}\n\tvar maxs, maxc int\n\tfor stride, cnt := range counts {\n\t\tif cnt > maxc || (cnt == maxc && stride < maxs) {\n\t\t\tmaxs, maxc = stride, cnt\n\t\t}\n\t}\n\treturn maxs\n}\n\nfunc countSparseEntries(a []uint64) int {\n\tstride := mostFrequentStride(a)\n\tvar v, count int\n\tfor _, tv := range a {\n\t\tif int(tv)-v != stride {\n\t\t\tif tv != 0 {\n\t\t\t\tcount++\n\t\t\t}\n\t\t}\n\t\tv = int(tv)\n\t}\n\treturn count\n}\n\nfunc (c *normCompacter) Size(v []uint64) (sz int, ok bool) {\n\tif n := countSparseEntries(v); n <= maxSparseEntries {\n\t\treturn (n+1)*4 + 2, true\n\t}\n\treturn 0, false\n}\n\nfunc (c *normCompacter) Store(v []uint64) uint32 {\n\th := uint32(len(c.sparseOffset))\n\tc.sparseBlocks = append(c.sparseBlocks, v)\n\tc.sparseOffset = append(c.sparseOffset, uint16(c.sparseCount))\n\tc.sparseCount += countSparseEntries(v) + 1\n\treturn h\n}\n\nfunc (c *normCompacter) Handler() string {\n\treturn c.name + \"Sparse.lookup\"\n}\n\nfunc (c *normCompacter) Print(w io.Writer) (retErr error) {\n\tp := func(f string, x ...interface{}) {\n\t\tif _, err := fmt.Fprintf(w, f, x...); retErr == nil && err != nil {\n\t\t\tretErr = err\n\t\t}\n\t}\n\n\tls := len(c.sparseBlocks)\n\tp(\"// %sSparseOffset: %d entries, %d bytes\\n\", c.name, ls, ls*2)\n\tp(\"var %sSparseOffset = %#v\\n\\n\", c.name, c.sparseOffset)\n\n\tns := c.sparseCount\n\tp(\"// %sSparseValues: %d entries, %d bytes\\n\", c.name, ns, ns*4)\n\tp(\"var %sSparseValues = [%d]valueRange {\", c.name, ns)\n\tfor i, b := range c.sparseBlocks {\n\t\tp(\"\\n// Block %#x, offset %#x\", i, c.sparseOffset[i])\n\t\tvar v int\n\t\tstride := mostFrequentStride(b)\n\t\tn := countSparseEntries(b)\n\t\tp(\"\\n{value:%#04x,lo:%#02x},\", stride, uint8(n))\n\t\tfor i, nv := range b {\n\t\t\tif int(nv)-v != stride {\n\t\t\t\tif v != 0 {\n\t\t\t\t\tp(\",hi:%#02x},\", 0x80+i-1)\n\t\t\t\t}\n\t\t\t\tif nv != 0 {\n\t\t\t\t\tp(\"\\n{value:%#04x,lo:%#02x\", nv, 0x80+i)\n\t\t\t\t}\n\t\t\t}\n\t\t\tv = int(nv)\n\t\t}\n\t\tif v != 0 {\n\t\t\tp(\",hi:%#02x},\", 0x80+len(b)-1)\n\t\t}\n\t}\n\tp(\"\\n}\\n\\n\")\n\treturn\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/rangetable/gen.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// +build ignore\n\npackage main\n\nimport (\n\t\"bytes\"\n\t\"flag\"\n\t\"fmt\"\n\t\"io\"\n\t\"log\"\n\t\"reflect\"\n\t\"strings\"\n\t\"unicode\"\n\n\t\"golang.org/x/text/collate\"\n\t\"golang.org/x/text/internal/gen\"\n\t\"golang.org/x/text/internal/ucd\"\n\t\"golang.org/x/text/language\"\n\t\"golang.org/x/text/unicode/rangetable\"\n)\n\nvar versionList = flag.String(\"versions\", \"\",\n\t\"list of versions for which to generate RangeTables\")\n\nconst bootstrapMessage = `No versions specified.\nTo bootstrap the code generation, run:\n\tgo run gen.go --versions=4.1.0,5.0.0,6.0.0,6.1.0,6.2.0,6.3.0,7.0.0\n\nand ensure that the latest versions are included by checking:\n\thttp://www.unicode.org/Public/`\n\nfunc getVersions() []string {\n\tif *versionList == \"\" {\n\t\tlog.Fatal(bootstrapMessage)\n\t}\n\n\tc := collate.New(language.Und, collate.Numeric)\n\tversions := strings.Split(*versionList, \",\")\n\tc.SortStrings(versions)\n\n\t// Ensure that at least the current version is included.\n\tfor _, v := range versions {\n\t\tif v == gen.UnicodeVersion() {\n\t\t\treturn versions\n\t\t}\n\t}\n\n\tversions = append(versions, gen.UnicodeVersion())\n\tc.SortStrings(versions)\n\treturn versions\n}\n\nfunc main() {\n\tgen.Init()\n\n\tversions := getVersions()\n\n\tw := &bytes.Buffer{}\n\n\tfmt.Fprintf(w, \"//go:generate go run gen.go --versions=%s\\n\\n\", strings.Join(versions, \",\"))\n\tfmt.Fprintf(w, \"import \\\"unicode\\\"\\n\\n\")\n\n\tvstr := func(s string) string { return strings.Replace(s, \".\", \"_\", -1) }\n\n\tfmt.Fprintf(w, \"var assigned = map[string]*unicode.RangeTable{\\n\")\n\tfor _, v := range versions {\n\t\tfmt.Fprintf(w, \"\\t%q: assigned%s,\\n\", v, vstr(v))\n\t}\n\tfmt.Fprintf(w, \"}\\n\\n\")\n\n\tvar size int\n\tfor _, v := range versions {\n\t\tassigned := []rune{}\n\n\t\tr := gen.Open(\"http://www.unicode.org/Public/\", \"\", v+\"/ucd/UnicodeData.txt\")\n\t\tucd.Parse(r, func(p *ucd.Parser) {\n\t\t\tassigned = append(assigned, p.Rune(0))\n\t\t})\n\n\t\trt := rangetable.New(assigned...)\n\t\tsz := int(reflect.TypeOf(unicode.RangeTable{}).Size())\n\t\tsz += int(reflect.TypeOf(unicode.Range16{}).Size()) * len(rt.R16)\n\t\tsz += int(reflect.TypeOf(unicode.Range32{}).Size()) * len(rt.R32)\n\n\t\tfmt.Fprintf(w, \"// size %d bytes (%d KiB)\\n\", sz, sz/1024)\n\t\tfmt.Fprintf(w, \"var assigned%s = \", vstr(v))\n\t\tprint(w, rt)\n\n\t\tsize += sz\n\t}\n\n\tfmt.Fprintf(w, \"// Total size %d bytes (%d KiB)\\n\", size, size/1024)\n\n\tgen.WriteVersionedGoFile(\"tables.go\", \"rangetable\", w.Bytes())\n}\n\nfunc print(w io.Writer, rt *unicode.RangeTable) {\n\tfmt.Fprintln(w, \"&unicode.RangeTable{\")\n\tfmt.Fprintln(w, \"\\tR16: []unicode.Range16{\")\n\tfor _, r := range rt.R16 {\n\t\tfmt.Fprintf(w, \"\\t\\t{%#04x, %#04x, %d},\\n\", r.Lo, r.Hi, r.Stride)\n\t}\n\tfmt.Fprintln(w, \"\\t},\")\n\tfmt.Fprintln(w, \"\\tR32: []unicode.Range32{\")\n\tfor _, r := range rt.R32 {\n\t\tfmt.Fprintf(w, \"\\t\\t{%#08x, %#08x, %d},\\n\", r.Lo, r.Hi, r.Stride)\n\t}\n\tfmt.Fprintln(w, \"\\t},\")\n\tfmt.Fprintf(w, \"\\tLatinOffset: %d,\\n\", rt.LatinOffset)\n\tfmt.Fprintf(w, \"}\\n\\n\")\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/rangetable/merge.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\npackage rangetable\n\nimport (\n\t\"unicode\"\n)\n\n// atEnd is used to mark a completed iteration.\nconst atEnd = unicode.MaxRune + 1\n\n// Merge returns a new RangeTable that is the union of the given tables.\n// It can also be used to compact user-created RangeTables. The entries in\n// R16 and R32 for any given RangeTable should be sorted and non-overlapping.\n//\n// A lookup in the resulting table can be several times faster than using In\n// directly on the ranges. Merge is an expensive operation, however, and only\n// makes sense if one intends to use the result for more than a couple of\n// hundred lookups.\nfunc Merge(ranges ...*unicode.RangeTable) *unicode.RangeTable {\n\trt := &unicode.RangeTable{}\n\tif len(ranges) == 0 {\n\t\treturn rt\n\t}\n\n\titer := tablesIter(make([]tableIndex, len(ranges)))\n\n\tfor i, t := range ranges {\n\t\titer[i] = tableIndex{t, 0, atEnd}\n\t\tif len(t.R16) > 0 {\n\t\t\titer[i].next = rune(t.R16[0].Lo)\n\t\t}\n\t}\n\n\tif r0 := iter.next16(); r0.Stride != 0 {\n\t\tfor {\n\t\t\tr1 := iter.next16()\n\t\t\tif r1.Stride == 0 {\n\t\t\t\trt.R16 = append(rt.R16, r0)\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tstride := r1.Lo - r0.Hi\n\t\t\tif (r1.Lo == r1.Hi || stride == r1.Stride) && (r0.Lo == r0.Hi || stride == r0.Stride) {\n\t\t\t\t// Fully merge the next range into the previous one.\n\t\t\t\tr0.Hi, r0.Stride = r1.Hi, stride\n\t\t\t\tcontinue\n\t\t\t} else if stride == r0.Stride {\n\t\t\t\t// Move the first element of r1 to r0. This may eliminate an\n\t\t\t\t// entry.\n\t\t\t\tr0.Hi = r1.Lo\n\t\t\t\tr0.Stride = stride\n\t\t\t\tr1.Lo = r1.Lo + r1.Stride\n\t\t\t\tif r1.Lo > r1.Hi {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\t\t\trt.R16 = append(rt.R16, r0)\n\t\t\tr0 = r1\n\t\t}\n\t}\n\n\tfor i, t := range ranges {\n\t\titer[i] = tableIndex{t, 0, atEnd}\n\t\tif len(t.R32) > 0 {\n\t\t\titer[i].next = rune(t.R32[0].Lo)\n\t\t}\n\t}\n\n\tif r0 := iter.next32(); r0.Stride != 0 {\n\t\tfor {\n\t\t\tr1 := iter.next32()\n\t\t\tif r1.Stride == 0 {\n\t\t\t\trt.R32 = append(rt.R32, r0)\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tstride := r1.Lo - r0.Hi\n\t\t\tif (r1.Lo == r1.Hi || stride == r1.Stride) && (r0.Lo == r0.Hi || stride == r0.Stride) {\n\t\t\t\t// Fully merge the next range into the previous one.\n\t\t\t\tr0.Hi, r0.Stride = r1.Hi, stride\n\t\t\t\tcontinue\n\t\t\t} else if stride == r0.Stride {\n\t\t\t\t// Move the first element of r1 to r0. This may eliminate an\n\t\t\t\t// entry.\n\t\t\t\tr0.Hi = r1.Lo\n\t\t\t\tr1.Lo = r1.Lo + r1.Stride\n\t\t\t\tif r1.Lo > r1.Hi {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\t\t\trt.R32 = append(rt.R32, r0)\n\t\t\tr0 = r1\n\t\t}\n\t}\n\n\tfor i := 0; i < len(rt.R16) && rt.R16[i].Hi <= unicode.MaxLatin1; i++ {\n\t\trt.LatinOffset = i + 1\n\t}\n\n\treturn rt\n}\n\ntype tableIndex struct {\n\tt    *unicode.RangeTable\n\tp    uint32\n\tnext rune\n}\n\ntype tablesIter []tableIndex\n\n// sortIter does an insertion sort using the next field of tableIndex. Insertion\n// sort is a good sorting algorithm for this case.\nfunc sortIter(t []tableIndex) {\n\tfor i := range t {\n\t\tfor j := i; j > 0 && t[j-1].next > t[j].next; j-- {\n\t\t\tt[j], t[j-1] = t[j-1], t[j]\n\t\t}\n\t}\n}\n\n// next16 finds the ranged to be added to the table. If ranges overlap between\n// multiple tables it clips the result to a non-overlapping range if the\n// elements are not fully subsumed. It returns a zero range if there are no more\n// ranges.\nfunc (ti tablesIter) next16() unicode.Range16 {\n\tsortIter(ti)\n\n\tt0 := ti[0]\n\tif t0.next == atEnd {\n\t\treturn unicode.Range16{}\n\t}\n\tr0 := t0.t.R16[t0.p]\n\tr0.Lo = uint16(t0.next)\n\n\t// We restrict the Hi of the current range if it overlaps with another range.\n\tfor i := range ti {\n\t\ttn := ti[i]\n\t\t// Since our tableIndices are sorted by next, we can break if the there\n\t\t// is no overlap. The first value of a next range can always be merged\n\t\t// into the current one, so we can break in case of equality as well.\n\t\tif rune(r0.Hi) <= tn.next {\n\t\t\tbreak\n\t\t}\n\t\trn := tn.t.R16[tn.p]\n\t\trn.Lo = uint16(tn.next)\n\n\t\t// Limit r0.Hi based on next ranges in list, but allow it to overlap\n\t\t// with ranges as long as it subsumes it.\n\t\tm := (rn.Lo - r0.Lo) % r0.Stride\n\t\tif m == 0 && (rn.Stride == r0.Stride || rn.Lo == rn.Hi) {\n\t\t\t// Overlap, take the min of the two Hi values: for simplicity's sake\n\t\t\t// we only process one range at a time.\n\t\t\tif r0.Hi > rn.Hi {\n\t\t\t\tr0.Hi = rn.Hi\n\t\t\t}\n\t\t} else {\n\t\t\t// Not a compatible stride. Set to the last possible value before\n\t\t\t// rn.Lo, but ensure there is at least one value.\n\t\t\tif x := rn.Lo - m; r0.Lo <= x {\n\t\t\t\tr0.Hi = x\n\t\t\t}\n\t\t\tbreak\n\t\t}\n\t}\n\n\t// Update the next values for each table.\n\tfor i := range ti {\n\t\ttn := &ti[i]\n\t\tif rune(r0.Hi) < tn.next {\n\t\t\tbreak\n\t\t}\n\t\trn := tn.t.R16[tn.p]\n\t\tstride := rune(rn.Stride)\n\t\ttn.next += stride * (1 + ((rune(r0.Hi) - tn.next) / stride))\n\t\tif rune(rn.Hi) < tn.next {\n\t\t\tif tn.p++; int(tn.p) == len(tn.t.R16) {\n\t\t\t\ttn.next = atEnd\n\t\t\t} else {\n\t\t\t\ttn.next = rune(tn.t.R16[tn.p].Lo)\n\t\t\t}\n\t\t}\n\t}\n\n\tif r0.Lo == r0.Hi {\n\t\tr0.Stride = 1\n\t}\n\n\treturn r0\n}\n\n// next32 finds the ranged to be added to the table. If ranges overlap between\n// multiple tables it clips the result to a non-overlapping range if the\n// elements are not fully subsumed. It returns a zero range if there are no more\n// ranges.\nfunc (ti tablesIter) next32() unicode.Range32 {\n\tsortIter(ti)\n\n\tt0 := ti[0]\n\tif t0.next == atEnd {\n\t\treturn unicode.Range32{}\n\t}\n\tr0 := t0.t.R32[t0.p]\n\tr0.Lo = uint32(t0.next)\n\n\t// We restrict the Hi of the current range if it overlaps with another range.\n\tfor i := range ti {\n\t\ttn := ti[i]\n\t\t// Since our tableIndices are sorted by next, we can break if the there\n\t\t// is no overlap. The first value of a next range can always be merged\n\t\t// into the current one, so we can break in case of equality as well.\n\t\tif rune(r0.Hi) <= tn.next {\n\t\t\tbreak\n\t\t}\n\t\trn := tn.t.R32[tn.p]\n\t\trn.Lo = uint32(tn.next)\n\n\t\t// Limit r0.Hi based on next ranges in list, but allow it to overlap\n\t\t// with ranges as long as it subsumes it.\n\t\tm := (rn.Lo - r0.Lo) % r0.Stride\n\t\tif m == 0 && (rn.Stride == r0.Stride || rn.Lo == rn.Hi) {\n\t\t\t// Overlap, take the min of the two Hi values: for simplicity's sake\n\t\t\t// we only process one range at a time.\n\t\t\tif r0.Hi > rn.Hi {\n\t\t\t\tr0.Hi = rn.Hi\n\t\t\t}\n\t\t} else {\n\t\t\t// Not a compatible stride. Set to the last possible value before\n\t\t\t// rn.Lo, but ensure there is at least one value.\n\t\t\tif x := rn.Lo - m; r0.Lo <= x {\n\t\t\t\tr0.Hi = x\n\t\t\t}\n\t\t\tbreak\n\t\t}\n\t}\n\n\t// Update the next values for each table.\n\tfor i := range ti {\n\t\ttn := &ti[i]\n\t\tif rune(r0.Hi) < tn.next {\n\t\t\tbreak\n\t\t}\n\t\trn := tn.t.R32[tn.p]\n\t\tstride := rune(rn.Stride)\n\t\ttn.next += stride * (1 + ((rune(r0.Hi) - tn.next) / stride))\n\t\tif rune(rn.Hi) < tn.next {\n\t\t\tif tn.p++; int(tn.p) == len(tn.t.R32) {\n\t\t\t\ttn.next = atEnd\n\t\t\t} else {\n\t\t\t\ttn.next = rune(tn.t.R32[tn.p].Lo)\n\t\t\t}\n\t\t}\n\t}\n\n\tif r0.Lo == r0.Hi {\n\t\tr0.Stride = 1\n\t}\n\n\treturn r0\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/rangetable/rangetable.go",
    "content": "// Copyright 2015 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n// Package rangetable provides utilities for creating and inspecting\n// unicode.RangeTables.\npackage rangetable\n\nimport (\n\t\"sort\"\n\t\"unicode\"\n)\n\n// New creates a RangeTable from the given runes, which may contain duplicates.\nfunc New(r ...rune) *unicode.RangeTable {\n\tif len(r) == 0 {\n\t\treturn &unicode.RangeTable{}\n\t}\n\n\tsort.Sort(byRune(r))\n\n\t// Remove duplicates.\n\tk := 1\n\tfor i := 1; i < len(r); i++ {\n\t\tif r[k-1] != r[i] {\n\t\t\tr[k] = r[i]\n\t\t\tk++\n\t\t}\n\t}\n\n\tvar rt unicode.RangeTable\n\tfor _, r := range r[:k] {\n\t\tif r <= 0xFFFF {\n\t\t\trt.R16 = append(rt.R16, unicode.Range16{Lo: uint16(r), Hi: uint16(r), Stride: 1})\n\t\t} else {\n\t\t\trt.R32 = append(rt.R32, unicode.Range32{Lo: uint32(r), Hi: uint32(r), Stride: 1})\n\t\t}\n\t}\n\n\t// Optimize RangeTable.\n\treturn Merge(&rt)\n}\n\ntype byRune []rune\n\nfunc (r byRune) Len() int           { return len(r) }\nfunc (r byRune) Swap(i, j int)      { r[i], r[j] = r[j], r[i] }\nfunc (r byRune) Less(i, j int) bool { return r[i] < r[j] }\n\n// Visit visits all runes in the given RangeTable in order, calling fn for each.\nfunc Visit(rt *unicode.RangeTable, fn func(rune)) {\n\tfor _, r16 := range rt.R16 {\n\t\tfor r := rune(r16.Lo); r <= rune(r16.Hi); r += rune(r16.Stride) {\n\t\t\tfn(r)\n\t\t}\n\t}\n\tfor _, r32 := range rt.R32 {\n\t\tfor r := rune(r32.Lo); r <= rune(r32.Hi); r += rune(r32.Stride) {\n\t\t\tfn(r)\n\t\t}\n\t}\n}\n\n// Assigned returns a RangeTable with all assigned code points for a given\n// Unicode version. This includes graphic, format, control, and private-use\n// characters. It returns nil if the data for the given version is not\n// available.\nfunc Assigned(version string) *unicode.RangeTable {\n\treturn assigned[version]\n}\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/rangetable/tables10.0.0.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\n// +build go1.10\n\npackage rangetable\n\n//go:generate go run gen.go --versions=4.1.0,5.1.0,5.2.0,5.0.0,6.1.0,6.2.0,6.3.0,6.0.0,7.0.0,8.0.0,9.0.0,10.0.0\n\nimport \"unicode\"\n\nvar assigned = map[string]*unicode.RangeTable{\n\t\"4.1.0\":  assigned4_1_0,\n\t\"5.1.0\":  assigned5_1_0,\n\t\"5.2.0\":  assigned5_2_0,\n\t\"5.0.0\":  assigned5_0_0,\n\t\"6.1.0\":  assigned6_1_0,\n\t\"6.2.0\":  assigned6_2_0,\n\t\"6.3.0\":  assigned6_3_0,\n\t\"6.0.0\":  assigned6_0_0,\n\t\"7.0.0\":  assigned7_0_0,\n\t\"8.0.0\":  assigned8_0_0,\n\t\"9.0.0\":  assigned9_0_0,\n\t\"10.0.0\": assigned10_0_0,\n}\n\n// size 2924 bytes (2 KiB)\nvar assigned4_1_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0241, 1},\n\t\t{0x0250, 0x036f, 1},\n\t\t{0x0374, 0x0375, 1},\n\t\t{0x037a, 0x037e, 4},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x03ce, 1},\n\t\t{0x03d0, 0x0486, 1},\n\t\t{0x0488, 0x04ce, 1},\n\t\t{0x04d0, 0x04f9, 1},\n\t\t{0x0500, 0x050f, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x0591, 0x05b9, 1},\n\t\t{0x05bb, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x0603, 1},\n\t\t{0x060b, 0x0615, 1},\n\t\t{0x061b, 0x061e, 3},\n\t\t{0x061f, 0x0621, 2},\n\t\t{0x0622, 0x063a, 1},\n\t\t{0x0640, 0x065e, 1},\n\t\t{0x0660, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x076d, 1},\n\t\t{0x0780, 0x07b1, 1},\n\t\t{0x0901, 0x0939, 1},\n\t\t{0x093c, 0x094d, 1},\n\t\t{0x0950, 0x0954, 1},\n\t\t{0x0958, 0x0970, 1},\n\t\t{0x097d, 0x0981, 4},\n\t\t{0x0982, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fa, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a59, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a74, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0aef, 1},\n\t\t{0x0af1, 0x0b01, 16},\n\t\t{0x0b02, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b43, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b61, 1},\n\t\t{0x0b66, 0x0b71, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd7, 0x0be6, 15},\n\t\t{0x0be7, 0x0bfa, 1},\n\t\t{0x0c01, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c33, 1},\n\t\t{0x0c35, 0x0c39, 1},\n\t\t{0x0c3e, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c60, 0x0c61, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c82, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce6, 5},\n\t\t{0x0ce7, 0x0cef, 1},\n\t\t{0x0d02, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d28, 1},\n\t\t{0x0d2a, 0x0d39, 1},\n\t\t{0x0d3e, 0x0d43, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4d, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d66, 5},\n\t\t{0x0d67, 0x0d6f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edd, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6a, 1},\n\t\t{0x0f71, 0x0f8b, 1},\n\t\t{0x0f90, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fcf, 0x0fd1, 1},\n\t\t{0x1000, 0x1021, 1},\n\t\t{0x1023, 0x1027, 1},\n\t\t{0x1029, 0x102a, 1},\n\t\t{0x102c, 0x1032, 1},\n\t\t{0x1036, 0x1039, 1},\n\t\t{0x1040, 0x1059, 1},\n\t\t{0x10a0, 0x10c5, 1},\n\t\t{0x10d0, 0x10fc, 1},\n\t\t{0x1100, 0x1159, 1},\n\t\t{0x115f, 0x11a2, 1},\n\t\t{0x11a8, 0x11f9, 1},\n\t\t{0x1200, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135f, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1401, 0x1676, 1},\n\t\t{0x1680, 0x169c, 1},\n\t\t{0x16a0, 0x16f0, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18a9, 1},\n\t\t{0x1900, 0x191c, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19a9, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19d9, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a1f, 1},\n\t\t{0x1d00, 0x1dc3, 1},\n\t\t{0x1e00, 0x1e9b, 1},\n\t\t{0x1ea0, 0x1ef9, 1},\n\t\t{0x1f00, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2063, 1},\n\t\t{0x206a, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x2094, 1},\n\t\t{0x20a0, 0x20b5, 1},\n\t\t{0x20d0, 0x20eb, 1},\n\t\t{0x2100, 0x214c, 1},\n\t\t{0x2153, 0x2183, 1},\n\t\t{0x2190, 0x23db, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x269c, 1},\n\t\t{0x26a0, 0x26b1, 1},\n\t\t{0x2701, 0x2704, 1},\n\t\t{0x2706, 0x2709, 1},\n\t\t{0x270c, 0x2727, 1},\n\t\t{0x2729, 0x274b, 1},\n\t\t{0x274d, 0x274f, 2},\n\t\t{0x2750, 0x2752, 1},\n\t\t{0x2756, 0x2758, 2},\n\t\t{0x2759, 0x275e, 1},\n\t\t{0x2761, 0x2794, 1},\n\t\t{0x2798, 0x27af, 1},\n\t\t{0x27b1, 0x27be, 1},\n\t\t{0x27c0, 0x27c6, 1},\n\t\t{0x27d0, 0x27eb, 1},\n\t\t{0x27f0, 0x2b13, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c80, 0x2cea, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d30, 0x2d65, 1},\n\t\t{0x2d6f, 0x2d80, 17},\n\t\t{0x2d81, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2e00, 0x2e17, 1},\n\t\t{0x2e1c, 0x2e1d, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312c, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31b7, 1},\n\t\t{0x31c0, 0x31cf, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x3243, 1},\n\t\t{0x3250, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fbb, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa700, 0xa716, 1},\n\t\t{0xa800, 0xa82b, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd800, 0xfa2d, 1},\n\t\t{0xfa30, 0xfa6a, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbb1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe23, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018a, 1},\n\t\t{0x00010300, 0x0001031e, 1},\n\t\t{0x00010320, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010a00, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d12a, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7c9, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 3152 bytes (3 KiB)\nvar assigned5_1_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037e, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x0523, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x0591, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x0603, 1},\n\t\t{0x0606, 0x061b, 1},\n\t\t{0x061e, 0x061f, 1},\n\t\t{0x0621, 0x065e, 1},\n\t\t{0x0660, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0901, 0x0939, 1},\n\t\t{0x093c, 0x094d, 1},\n\t\t{0x0950, 0x0954, 1},\n\t\t{0x0958, 0x0972, 1},\n\t\t{0x097b, 0x097f, 1},\n\t\t{0x0981, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fa, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0aef, 1},\n\t\t{0x0af1, 0x0b01, 16},\n\t\t{0x0b02, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b71, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c01, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c33, 1},\n\t\t{0x0c35, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c59, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c7f, 1},\n\t\t{0x0c82, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d02, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d28, 1},\n\t\t{0x0d2a, 0x0d39, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4d, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d63, 1},\n\t\t{0x0d66, 0x0d75, 1},\n\t\t{0x0d79, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edd, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f8b, 1},\n\t\t{0x0f90, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fd4, 1},\n\t\t{0x1000, 0x1099, 1},\n\t\t{0x109e, 0x10c5, 1},\n\t\t{0x10d0, 0x10fc, 1},\n\t\t{0x1100, 0x1159, 1},\n\t\t{0x115f, 0x11a2, 1},\n\t\t{0x11a8, 0x11f9, 1},\n\t\t{0x1200, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135f, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1401, 0x1676, 1},\n\t\t{0x1680, 0x169c, 1},\n\t\t{0x16a0, 0x16f0, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x1900, 0x191c, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19a9, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19d9, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a1f, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1baa, 1},\n\t\t{0x1bae, 0x1bb9, 1},\n\t\t{0x1c00, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c7f, 1},\n\t\t{0x1d00, 0x1de6, 1},\n\t\t{0x1dfe, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x206a, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x2094, 1},\n\t\t{0x20a0, 0x20b5, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x214f, 1},\n\t\t{0x2153, 0x2188, 1},\n\t\t{0x2190, 0x23e7, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x269d, 1},\n\t\t{0x26a0, 0x26bc, 1},\n\t\t{0x26c0, 0x26c3, 1},\n\t\t{0x2701, 0x2704, 1},\n\t\t{0x2706, 0x2709, 1},\n\t\t{0x270c, 0x2727, 1},\n\t\t{0x2729, 0x274b, 1},\n\t\t{0x274d, 0x274f, 2},\n\t\t{0x2750, 0x2752, 1},\n\t\t{0x2756, 0x2758, 2},\n\t\t{0x2759, 0x275e, 1},\n\t\t{0x2761, 0x2794, 1},\n\t\t{0x2798, 0x27af, 1},\n\t\t{0x27b1, 0x27be, 1},\n\t\t{0x27c0, 0x27ca, 1},\n\t\t{0x27cc, 0x27d0, 4},\n\t\t{0x27d1, 0x2b4c, 1},\n\t\t{0x2b50, 0x2b54, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2c6f, 1},\n\t\t{0x2c71, 0x2c7d, 1},\n\t\t{0x2c80, 0x2cea, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d30, 0x2d65, 1},\n\t\t{0x2d6f, 0x2d80, 17},\n\t\t{0x2d81, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e30, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31b7, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x3243, 1},\n\t\t{0x3250, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fc3, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa500, 0xa62b, 1},\n\t\t{0xa640, 0xa65f, 1},\n\t\t{0xa662, 0xa673, 1},\n\t\t{0xa67c, 0xa697, 1},\n\t\t{0xa700, 0xa78c, 1},\n\t\t{0xa7fb, 0xa82b, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c4, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xaa00, 161},\n\t\t{0xaa01, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaa5f, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd800, 0xfa2d, 1},\n\t\t{0xfa30, 0xfa6a, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbb1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe26, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018a, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101d0, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x00010300, 0x0001031e, 1},\n\t\t{0x00010320, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010900, 0x00010919, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010a00, 193},\n\t\t{0x00010a01, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00012000, 0x0001236e, 1},\n\t\t{0x00012400, 0x00012462, 1},\n\t\t{0x00012470, 0x00012473, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 3518 bytes (3 KiB)\nvar assigned5_2_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037e, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x0525, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x0591, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x0603, 1},\n\t\t{0x0606, 0x061b, 1},\n\t\t{0x061e, 0x061f, 1},\n\t\t{0x0621, 0x065e, 1},\n\t\t{0x0660, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0800, 0x082d, 1},\n\t\t{0x0830, 0x083e, 1},\n\t\t{0x0900, 0x0939, 1},\n\t\t{0x093c, 0x094e, 1},\n\t\t{0x0950, 0x0955, 1},\n\t\t{0x0958, 0x0972, 1},\n\t\t{0x0979, 0x097f, 1},\n\t\t{0x0981, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fb, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0aef, 1},\n\t\t{0x0af1, 0x0b01, 16},\n\t\t{0x0b02, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b71, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c01, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c33, 1},\n\t\t{0x0c35, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c59, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c7f, 1},\n\t\t{0x0c82, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d02, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d28, 1},\n\t\t{0x0d2a, 0x0d39, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4d, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d63, 1},\n\t\t{0x0d66, 0x0d75, 1},\n\t\t{0x0d79, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edd, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f8b, 1},\n\t\t{0x0f90, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fd8, 1},\n\t\t{0x1000, 0x10c5, 1},\n\t\t{0x10d0, 0x10fc, 1},\n\t\t{0x1100, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135f, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1400, 0x169c, 1},\n\t\t{0x16a0, 0x16f0, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x18b0, 0x18f5, 1},\n\t\t{0x1900, 0x191c, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19ab, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19da, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a5e, 1},\n\t\t{0x1a60, 0x1a7c, 1},\n\t\t{0x1a7f, 0x1a89, 1},\n\t\t{0x1a90, 0x1a99, 1},\n\t\t{0x1aa0, 0x1aad, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1baa, 1},\n\t\t{0x1bae, 0x1bb9, 1},\n\t\t{0x1c00, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c7f, 1},\n\t\t{0x1cd0, 0x1cf2, 1},\n\t\t{0x1d00, 0x1de6, 1},\n\t\t{0x1dfd, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x206a, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x2094, 1},\n\t\t{0x20a0, 0x20b8, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x2189, 1},\n\t\t{0x2190, 0x23e8, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x26cd, 1},\n\t\t{0x26cf, 0x26e1, 1},\n\t\t{0x26e3, 0x26e8, 5},\n\t\t{0x26e9, 0x26ff, 1},\n\t\t{0x2701, 0x2704, 1},\n\t\t{0x2706, 0x2709, 1},\n\t\t{0x270c, 0x2727, 1},\n\t\t{0x2729, 0x274b, 1},\n\t\t{0x274d, 0x274f, 2},\n\t\t{0x2750, 0x2752, 1},\n\t\t{0x2756, 0x275e, 1},\n\t\t{0x2761, 0x2794, 1},\n\t\t{0x2798, 0x27af, 1},\n\t\t{0x27b1, 0x27be, 1},\n\t\t{0x27c0, 0x27ca, 1},\n\t\t{0x27cc, 0x27d0, 4},\n\t\t{0x27d1, 0x2b4c, 1},\n\t\t{0x2b50, 0x2b59, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2cf1, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d30, 0x2d65, 1},\n\t\t{0x2d6f, 0x2d80, 17},\n\t\t{0x2d81, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e31, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31b7, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fcb, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa4d0, 0xa62b, 1},\n\t\t{0xa640, 0xa65f, 1},\n\t\t{0xa662, 0xa673, 1},\n\t\t{0xa67c, 0xa697, 1},\n\t\t{0xa6a0, 0xa6f7, 1},\n\t\t{0xa700, 0xa78c, 1},\n\t\t{0xa7fb, 0xa82b, 1},\n\t\t{0xa830, 0xa839, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c4, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa8e0, 0xa8fb, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xa97c, 1},\n\t\t{0xa980, 0xa9cd, 1},\n\t\t{0xa9cf, 0xa9d9, 1},\n\t\t{0xa9de, 0xa9df, 1},\n\t\t{0xaa00, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaa7b, 1},\n\t\t{0xaa80, 0xaac2, 1},\n\t\t{0xaadb, 0xaadf, 1},\n\t\t{0xabc0, 0xabed, 1},\n\t\t{0xabf0, 0xabf9, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd7b0, 0xd7c6, 1},\n\t\t{0xd7cb, 0xd7fb, 1},\n\t\t{0xd800, 0xfa2d, 1},\n\t\t{0xfa30, 0xfa6d, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbb1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe26, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018a, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101d0, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x00010300, 0x0001031e, 1},\n\t\t{0x00010320, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010840, 0x00010855, 1},\n\t\t{0x00010857, 0x0001085f, 1},\n\t\t{0x00010900, 0x0001091b, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010a00, 193},\n\t\t{0x00010a01, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00010a60, 0x00010a7f, 1},\n\t\t{0x00010b00, 0x00010b35, 1},\n\t\t{0x00010b39, 0x00010b55, 1},\n\t\t{0x00010b58, 0x00010b72, 1},\n\t\t{0x00010b78, 0x00010b7f, 1},\n\t\t{0x00010c00, 0x00010c48, 1},\n\t\t{0x00010e60, 0x00010e7e, 1},\n\t\t{0x00011080, 0x000110c1, 1},\n\t\t{0x00012000, 0x0001236e, 1},\n\t\t{0x00012400, 0x00012462, 1},\n\t\t{0x00012470, 0x00012473, 1},\n\t\t{0x00013000, 0x0001342e, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x0001f100, 0x0001f10a, 1},\n\t\t{0x0001f110, 0x0001f12e, 1},\n\t\t{0x0001f131, 0x0001f13d, 12},\n\t\t{0x0001f13f, 0x0001f142, 3},\n\t\t{0x0001f146, 0x0001f14a, 4},\n\t\t{0x0001f14b, 0x0001f14e, 1},\n\t\t{0x0001f157, 0x0001f15f, 8},\n\t\t{0x0001f179, 0x0001f17b, 2},\n\t\t{0x0001f17c, 0x0001f17f, 3},\n\t\t{0x0001f18a, 0x0001f18d, 1},\n\t\t{0x0001f190, 0x0001f200, 112},\n\t\t{0x0001f210, 0x0001f231, 1},\n\t\t{0x0001f240, 0x0001f248, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002a700, 0x0002b734, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 3026 bytes (2 KiB)\nvar assigned5_0_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x036f, 1},\n\t\t{0x0374, 0x0375, 1},\n\t\t{0x037a, 0x037e, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x03ce, 1},\n\t\t{0x03d0, 0x0486, 1},\n\t\t{0x0488, 0x0513, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x0591, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x0603, 1},\n\t\t{0x060b, 0x0615, 1},\n\t\t{0x061b, 0x061e, 3},\n\t\t{0x061f, 0x0621, 2},\n\t\t{0x0622, 0x063a, 1},\n\t\t{0x0640, 0x065e, 1},\n\t\t{0x0660, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x076d, 1},\n\t\t{0x0780, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0901, 0x0939, 1},\n\t\t{0x093c, 0x094d, 1},\n\t\t{0x0950, 0x0954, 1},\n\t\t{0x0958, 0x0970, 1},\n\t\t{0x097b, 0x097f, 1},\n\t\t{0x0981, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fa, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a59, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a74, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0aef, 1},\n\t\t{0x0af1, 0x0b01, 16},\n\t\t{0x0b02, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b43, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b61, 1},\n\t\t{0x0b66, 0x0b71, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd7, 0x0be6, 15},\n\t\t{0x0be7, 0x0bfa, 1},\n\t\t{0x0c01, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c33, 1},\n\t\t{0x0c35, 0x0c39, 1},\n\t\t{0x0c3e, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c60, 0x0c61, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c82, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d02, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d28, 1},\n\t\t{0x0d2a, 0x0d39, 1},\n\t\t{0x0d3e, 0x0d43, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4d, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d66, 5},\n\t\t{0x0d67, 0x0d6f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edd, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6a, 1},\n\t\t{0x0f71, 0x0f8b, 1},\n\t\t{0x0f90, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fcf, 0x0fd1, 1},\n\t\t{0x1000, 0x1021, 1},\n\t\t{0x1023, 0x1027, 1},\n\t\t{0x1029, 0x102a, 1},\n\t\t{0x102c, 0x1032, 1},\n\t\t{0x1036, 0x1039, 1},\n\t\t{0x1040, 0x1059, 1},\n\t\t{0x10a0, 0x10c5, 1},\n\t\t{0x10d0, 0x10fc, 1},\n\t\t{0x1100, 0x1159, 1},\n\t\t{0x115f, 0x11a2, 1},\n\t\t{0x11a8, 0x11f9, 1},\n\t\t{0x1200, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135f, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1401, 0x1676, 1},\n\t\t{0x1680, 0x169c, 1},\n\t\t{0x16a0, 0x16f0, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18a9, 1},\n\t\t{0x1900, 0x191c, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19a9, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19d9, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a1f, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1d00, 0x1dca, 1},\n\t\t{0x1dfe, 0x1e9b, 1},\n\t\t{0x1ea0, 0x1ef9, 1},\n\t\t{0x1f00, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2063, 1},\n\t\t{0x206a, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x2094, 1},\n\t\t{0x20a0, 0x20b5, 1},\n\t\t{0x20d0, 0x20ef, 1},\n\t\t{0x2100, 0x214e, 1},\n\t\t{0x2153, 0x2184, 1},\n\t\t{0x2190, 0x23e7, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x269c, 1},\n\t\t{0x26a0, 0x26b2, 1},\n\t\t{0x2701, 0x2704, 1},\n\t\t{0x2706, 0x2709, 1},\n\t\t{0x270c, 0x2727, 1},\n\t\t{0x2729, 0x274b, 1},\n\t\t{0x274d, 0x274f, 2},\n\t\t{0x2750, 0x2752, 1},\n\t\t{0x2756, 0x2758, 2},\n\t\t{0x2759, 0x275e, 1},\n\t\t{0x2761, 0x2794, 1},\n\t\t{0x2798, 0x27af, 1},\n\t\t{0x27b1, 0x27be, 1},\n\t\t{0x27c0, 0x27ca, 1},\n\t\t{0x27d0, 0x27eb, 1},\n\t\t{0x27f0, 0x2b1a, 1},\n\t\t{0x2b20, 0x2b23, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2c6c, 1},\n\t\t{0x2c74, 0x2c77, 1},\n\t\t{0x2c80, 0x2cea, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d30, 0x2d65, 1},\n\t\t{0x2d6f, 0x2d80, 17},\n\t\t{0x2d81, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2e00, 0x2e17, 1},\n\t\t{0x2e1c, 0x2e1d, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312c, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31b7, 1},\n\t\t{0x31c0, 0x31cf, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x3243, 1},\n\t\t{0x3250, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fbb, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa700, 0xa71a, 1},\n\t\t{0xa720, 0xa721, 1},\n\t\t{0xa800, 0xa82b, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd800, 0xfa2d, 1},\n\t\t{0xfa30, 0xfa6a, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbb1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe23, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018a, 1},\n\t\t{0x00010300, 0x0001031e, 1},\n\t\t{0x00010320, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010900, 0x00010919, 1},\n\t\t{0x0001091f, 0x00010a00, 225},\n\t\t{0x00010a01, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00012000, 0x0001236e, 1},\n\t\t{0x00012400, 0x00012462, 1},\n\t\t{0x00012470, 0x00012473, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d12a, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 4160 bytes (4 KiB)\nvar assigned6_1_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037e, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x0527, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x058f, 0x0591, 2},\n\t\t{0x0592, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x0604, 1},\n\t\t{0x0606, 0x061b, 1},\n\t\t{0x061e, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0800, 0x082d, 1},\n\t\t{0x0830, 0x083e, 1},\n\t\t{0x0840, 0x085b, 1},\n\t\t{0x085e, 0x08a0, 66},\n\t\t{0x08a2, 0x08ac, 1},\n\t\t{0x08e4, 0x08fe, 1},\n\t\t{0x0900, 0x0977, 1},\n\t\t{0x0979, 0x097f, 1},\n\t\t{0x0981, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fb, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0af1, 1},\n\t\t{0x0b01, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b77, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c01, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c33, 1},\n\t\t{0x0c35, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c59, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c7f, 1},\n\t\t{0x0c82, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d02, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d3a, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4e, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d63, 1},\n\t\t{0x0d66, 0x0d75, 1},\n\t\t{0x0d79, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edf, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fda, 1},\n\t\t{0x1000, 0x10c5, 1},\n\t\t{0x10c7, 0x10cd, 6},\n\t\t{0x10d0, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135d, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1400, 0x169c, 1},\n\t\t{0x16a0, 0x16f0, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x18b0, 0x18f5, 1},\n\t\t{0x1900, 0x191c, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19ab, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19da, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a5e, 1},\n\t\t{0x1a60, 0x1a7c, 1},\n\t\t{0x1a7f, 0x1a89, 1},\n\t\t{0x1a90, 0x1a99, 1},\n\t\t{0x1aa0, 0x1aad, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1bf3, 1},\n\t\t{0x1bfc, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c7f, 1},\n\t\t{0x1cc0, 0x1cc7, 1},\n\t\t{0x1cd0, 0x1cf6, 1},\n\t\t{0x1d00, 0x1de6, 1},\n\t\t{0x1dfc, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x206a, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x209c, 1},\n\t\t{0x20a0, 0x20b9, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x2189, 1},\n\t\t{0x2190, 0x23f3, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x26ff, 1},\n\t\t{0x2701, 0x2b4c, 1},\n\t\t{0x2b50, 0x2b59, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2cf3, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d27, 0x2d2d, 6},\n\t\t{0x2d30, 0x2d67, 1},\n\t\t{0x2d6f, 0x2d70, 1},\n\t\t{0x2d7f, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e3b, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31ba, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fcc, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa4d0, 0xa62b, 1},\n\t\t{0xa640, 0xa697, 1},\n\t\t{0xa69f, 0xa6f7, 1},\n\t\t{0xa700, 0xa78e, 1},\n\t\t{0xa790, 0xa793, 1},\n\t\t{0xa7a0, 0xa7aa, 1},\n\t\t{0xa7f8, 0xa82b, 1},\n\t\t{0xa830, 0xa839, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c4, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa8e0, 0xa8fb, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xa97c, 1},\n\t\t{0xa980, 0xa9cd, 1},\n\t\t{0xa9cf, 0xa9d9, 1},\n\t\t{0xa9de, 0xa9df, 1},\n\t\t{0xaa00, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaa7b, 1},\n\t\t{0xaa80, 0xaac2, 1},\n\t\t{0xaadb, 0xaaf6, 1},\n\t\t{0xab01, 0xab06, 1},\n\t\t{0xab09, 0xab0e, 1},\n\t\t{0xab11, 0xab16, 1},\n\t\t{0xab20, 0xab26, 1},\n\t\t{0xab28, 0xab2e, 1},\n\t\t{0xabc0, 0xabed, 1},\n\t\t{0xabf0, 0xabf9, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd7b0, 0xd7c6, 1},\n\t\t{0xd7cb, 0xd7fb, 1},\n\t\t{0xd800, 0xfa6d, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbc1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe26, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018a, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101d0, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x00010300, 0x0001031e, 1},\n\t\t{0x00010320, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010840, 0x00010855, 1},\n\t\t{0x00010857, 0x0001085f, 1},\n\t\t{0x00010900, 0x0001091b, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010980, 65},\n\t\t{0x00010981, 0x000109b7, 1},\n\t\t{0x000109be, 0x000109bf, 1},\n\t\t{0x00010a00, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00010a60, 0x00010a7f, 1},\n\t\t{0x00010b00, 0x00010b35, 1},\n\t\t{0x00010b39, 0x00010b55, 1},\n\t\t{0x00010b58, 0x00010b72, 1},\n\t\t{0x00010b78, 0x00010b7f, 1},\n\t\t{0x00010c00, 0x00010c48, 1},\n\t\t{0x00010e60, 0x00010e7e, 1},\n\t\t{0x00011000, 0x0001104d, 1},\n\t\t{0x00011052, 0x0001106f, 1},\n\t\t{0x00011080, 0x000110c1, 1},\n\t\t{0x000110d0, 0x000110e8, 1},\n\t\t{0x000110f0, 0x000110f9, 1},\n\t\t{0x00011100, 0x00011134, 1},\n\t\t{0x00011136, 0x00011143, 1},\n\t\t{0x00011180, 0x000111c8, 1},\n\t\t{0x000111d0, 0x000111d9, 1},\n\t\t{0x00011680, 0x000116b7, 1},\n\t\t{0x000116c0, 0x000116c9, 1},\n\t\t{0x00012000, 0x0001236e, 1},\n\t\t{0x00012400, 0x00012462, 1},\n\t\t{0x00012470, 0x00012473, 1},\n\t\t{0x00013000, 0x0001342e, 1},\n\t\t{0x00016800, 0x00016a38, 1},\n\t\t{0x00016f00, 0x00016f44, 1},\n\t\t{0x00016f50, 0x00016f7e, 1},\n\t\t{0x00016f8f, 0x00016f9f, 1},\n\t\t{0x0001b000, 0x0001b001, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x0001ee00, 0x0001ee03, 1},\n\t\t{0x0001ee05, 0x0001ee1f, 1},\n\t\t{0x0001ee21, 0x0001ee22, 1},\n\t\t{0x0001ee24, 0x0001ee27, 3},\n\t\t{0x0001ee29, 0x0001ee32, 1},\n\t\t{0x0001ee34, 0x0001ee37, 1},\n\t\t{0x0001ee39, 0x0001ee3b, 2},\n\t\t{0x0001ee42, 0x0001ee47, 5},\n\t\t{0x0001ee49, 0x0001ee4d, 2},\n\t\t{0x0001ee4e, 0x0001ee4f, 1},\n\t\t{0x0001ee51, 0x0001ee52, 1},\n\t\t{0x0001ee54, 0x0001ee57, 3},\n\t\t{0x0001ee59, 0x0001ee61, 2},\n\t\t{0x0001ee62, 0x0001ee64, 2},\n\t\t{0x0001ee67, 0x0001ee6a, 1},\n\t\t{0x0001ee6c, 0x0001ee72, 1},\n\t\t{0x0001ee74, 0x0001ee77, 1},\n\t\t{0x0001ee79, 0x0001ee7c, 1},\n\t\t{0x0001ee7e, 0x0001ee80, 2},\n\t\t{0x0001ee81, 0x0001ee89, 1},\n\t\t{0x0001ee8b, 0x0001ee9b, 1},\n\t\t{0x0001eea1, 0x0001eea3, 1},\n\t\t{0x0001eea5, 0x0001eea9, 1},\n\t\t{0x0001eeab, 0x0001eebb, 1},\n\t\t{0x0001eef0, 0x0001eef1, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x0001f0a0, 0x0001f0ae, 1},\n\t\t{0x0001f0b1, 0x0001f0be, 1},\n\t\t{0x0001f0c1, 0x0001f0cf, 1},\n\t\t{0x0001f0d1, 0x0001f0df, 1},\n\t\t{0x0001f100, 0x0001f10a, 1},\n\t\t{0x0001f110, 0x0001f12e, 1},\n\t\t{0x0001f130, 0x0001f16b, 1},\n\t\t{0x0001f170, 0x0001f19a, 1},\n\t\t{0x0001f1e6, 0x0001f202, 1},\n\t\t{0x0001f210, 0x0001f23a, 1},\n\t\t{0x0001f240, 0x0001f248, 1},\n\t\t{0x0001f250, 0x0001f251, 1},\n\t\t{0x0001f300, 0x0001f320, 1},\n\t\t{0x0001f330, 0x0001f335, 1},\n\t\t{0x0001f337, 0x0001f37c, 1},\n\t\t{0x0001f380, 0x0001f393, 1},\n\t\t{0x0001f3a0, 0x0001f3c4, 1},\n\t\t{0x0001f3c6, 0x0001f3ca, 1},\n\t\t{0x0001f3e0, 0x0001f3f0, 1},\n\t\t{0x0001f400, 0x0001f43e, 1},\n\t\t{0x0001f440, 0x0001f442, 2},\n\t\t{0x0001f443, 0x0001f4f7, 1},\n\t\t{0x0001f4f9, 0x0001f4fc, 1},\n\t\t{0x0001f500, 0x0001f53d, 1},\n\t\t{0x0001f540, 0x0001f543, 1},\n\t\t{0x0001f550, 0x0001f567, 1},\n\t\t{0x0001f5fb, 0x0001f640, 1},\n\t\t{0x0001f645, 0x0001f64f, 1},\n\t\t{0x0001f680, 0x0001f6c5, 1},\n\t\t{0x0001f700, 0x0001f773, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002a700, 0x0002b734, 1},\n\t\t{0x0002b740, 0x0002b81d, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 4160 bytes (4 KiB)\nvar assigned6_2_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037e, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x0527, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x058f, 0x0591, 2},\n\t\t{0x0592, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x0604, 1},\n\t\t{0x0606, 0x061b, 1},\n\t\t{0x061e, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0800, 0x082d, 1},\n\t\t{0x0830, 0x083e, 1},\n\t\t{0x0840, 0x085b, 1},\n\t\t{0x085e, 0x08a0, 66},\n\t\t{0x08a2, 0x08ac, 1},\n\t\t{0x08e4, 0x08fe, 1},\n\t\t{0x0900, 0x0977, 1},\n\t\t{0x0979, 0x097f, 1},\n\t\t{0x0981, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fb, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0af1, 1},\n\t\t{0x0b01, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b77, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c01, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c33, 1},\n\t\t{0x0c35, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c59, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c7f, 1},\n\t\t{0x0c82, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d02, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d3a, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4e, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d63, 1},\n\t\t{0x0d66, 0x0d75, 1},\n\t\t{0x0d79, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edf, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fda, 1},\n\t\t{0x1000, 0x10c5, 1},\n\t\t{0x10c7, 0x10cd, 6},\n\t\t{0x10d0, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135d, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1400, 0x169c, 1},\n\t\t{0x16a0, 0x16f0, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x18b0, 0x18f5, 1},\n\t\t{0x1900, 0x191c, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19ab, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19da, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a5e, 1},\n\t\t{0x1a60, 0x1a7c, 1},\n\t\t{0x1a7f, 0x1a89, 1},\n\t\t{0x1a90, 0x1a99, 1},\n\t\t{0x1aa0, 0x1aad, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1bf3, 1},\n\t\t{0x1bfc, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c7f, 1},\n\t\t{0x1cc0, 0x1cc7, 1},\n\t\t{0x1cd0, 0x1cf6, 1},\n\t\t{0x1d00, 0x1de6, 1},\n\t\t{0x1dfc, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x206a, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x209c, 1},\n\t\t{0x20a0, 0x20ba, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x2189, 1},\n\t\t{0x2190, 0x23f3, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x26ff, 1},\n\t\t{0x2701, 0x2b4c, 1},\n\t\t{0x2b50, 0x2b59, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2cf3, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d27, 0x2d2d, 6},\n\t\t{0x2d30, 0x2d67, 1},\n\t\t{0x2d6f, 0x2d70, 1},\n\t\t{0x2d7f, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e3b, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31ba, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fcc, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa4d0, 0xa62b, 1},\n\t\t{0xa640, 0xa697, 1},\n\t\t{0xa69f, 0xa6f7, 1},\n\t\t{0xa700, 0xa78e, 1},\n\t\t{0xa790, 0xa793, 1},\n\t\t{0xa7a0, 0xa7aa, 1},\n\t\t{0xa7f8, 0xa82b, 1},\n\t\t{0xa830, 0xa839, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c4, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa8e0, 0xa8fb, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xa97c, 1},\n\t\t{0xa980, 0xa9cd, 1},\n\t\t{0xa9cf, 0xa9d9, 1},\n\t\t{0xa9de, 0xa9df, 1},\n\t\t{0xaa00, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaa7b, 1},\n\t\t{0xaa80, 0xaac2, 1},\n\t\t{0xaadb, 0xaaf6, 1},\n\t\t{0xab01, 0xab06, 1},\n\t\t{0xab09, 0xab0e, 1},\n\t\t{0xab11, 0xab16, 1},\n\t\t{0xab20, 0xab26, 1},\n\t\t{0xab28, 0xab2e, 1},\n\t\t{0xabc0, 0xabed, 1},\n\t\t{0xabf0, 0xabf9, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd7b0, 0xd7c6, 1},\n\t\t{0xd7cb, 0xd7fb, 1},\n\t\t{0xd800, 0xfa6d, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbc1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe26, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018a, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101d0, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x00010300, 0x0001031e, 1},\n\t\t{0x00010320, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010840, 0x00010855, 1},\n\t\t{0x00010857, 0x0001085f, 1},\n\t\t{0x00010900, 0x0001091b, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010980, 65},\n\t\t{0x00010981, 0x000109b7, 1},\n\t\t{0x000109be, 0x000109bf, 1},\n\t\t{0x00010a00, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00010a60, 0x00010a7f, 1},\n\t\t{0x00010b00, 0x00010b35, 1},\n\t\t{0x00010b39, 0x00010b55, 1},\n\t\t{0x00010b58, 0x00010b72, 1},\n\t\t{0x00010b78, 0x00010b7f, 1},\n\t\t{0x00010c00, 0x00010c48, 1},\n\t\t{0x00010e60, 0x00010e7e, 1},\n\t\t{0x00011000, 0x0001104d, 1},\n\t\t{0x00011052, 0x0001106f, 1},\n\t\t{0x00011080, 0x000110c1, 1},\n\t\t{0x000110d0, 0x000110e8, 1},\n\t\t{0x000110f0, 0x000110f9, 1},\n\t\t{0x00011100, 0x00011134, 1},\n\t\t{0x00011136, 0x00011143, 1},\n\t\t{0x00011180, 0x000111c8, 1},\n\t\t{0x000111d0, 0x000111d9, 1},\n\t\t{0x00011680, 0x000116b7, 1},\n\t\t{0x000116c0, 0x000116c9, 1},\n\t\t{0x00012000, 0x0001236e, 1},\n\t\t{0x00012400, 0x00012462, 1},\n\t\t{0x00012470, 0x00012473, 1},\n\t\t{0x00013000, 0x0001342e, 1},\n\t\t{0x00016800, 0x00016a38, 1},\n\t\t{0x00016f00, 0x00016f44, 1},\n\t\t{0x00016f50, 0x00016f7e, 1},\n\t\t{0x00016f8f, 0x00016f9f, 1},\n\t\t{0x0001b000, 0x0001b001, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x0001ee00, 0x0001ee03, 1},\n\t\t{0x0001ee05, 0x0001ee1f, 1},\n\t\t{0x0001ee21, 0x0001ee22, 1},\n\t\t{0x0001ee24, 0x0001ee27, 3},\n\t\t{0x0001ee29, 0x0001ee32, 1},\n\t\t{0x0001ee34, 0x0001ee37, 1},\n\t\t{0x0001ee39, 0x0001ee3b, 2},\n\t\t{0x0001ee42, 0x0001ee47, 5},\n\t\t{0x0001ee49, 0x0001ee4d, 2},\n\t\t{0x0001ee4e, 0x0001ee4f, 1},\n\t\t{0x0001ee51, 0x0001ee52, 1},\n\t\t{0x0001ee54, 0x0001ee57, 3},\n\t\t{0x0001ee59, 0x0001ee61, 2},\n\t\t{0x0001ee62, 0x0001ee64, 2},\n\t\t{0x0001ee67, 0x0001ee6a, 1},\n\t\t{0x0001ee6c, 0x0001ee72, 1},\n\t\t{0x0001ee74, 0x0001ee77, 1},\n\t\t{0x0001ee79, 0x0001ee7c, 1},\n\t\t{0x0001ee7e, 0x0001ee80, 2},\n\t\t{0x0001ee81, 0x0001ee89, 1},\n\t\t{0x0001ee8b, 0x0001ee9b, 1},\n\t\t{0x0001eea1, 0x0001eea3, 1},\n\t\t{0x0001eea5, 0x0001eea9, 1},\n\t\t{0x0001eeab, 0x0001eebb, 1},\n\t\t{0x0001eef0, 0x0001eef1, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x0001f0a0, 0x0001f0ae, 1},\n\t\t{0x0001f0b1, 0x0001f0be, 1},\n\t\t{0x0001f0c1, 0x0001f0cf, 1},\n\t\t{0x0001f0d1, 0x0001f0df, 1},\n\t\t{0x0001f100, 0x0001f10a, 1},\n\t\t{0x0001f110, 0x0001f12e, 1},\n\t\t{0x0001f130, 0x0001f16b, 1},\n\t\t{0x0001f170, 0x0001f19a, 1},\n\t\t{0x0001f1e6, 0x0001f202, 1},\n\t\t{0x0001f210, 0x0001f23a, 1},\n\t\t{0x0001f240, 0x0001f248, 1},\n\t\t{0x0001f250, 0x0001f251, 1},\n\t\t{0x0001f300, 0x0001f320, 1},\n\t\t{0x0001f330, 0x0001f335, 1},\n\t\t{0x0001f337, 0x0001f37c, 1},\n\t\t{0x0001f380, 0x0001f393, 1},\n\t\t{0x0001f3a0, 0x0001f3c4, 1},\n\t\t{0x0001f3c6, 0x0001f3ca, 1},\n\t\t{0x0001f3e0, 0x0001f3f0, 1},\n\t\t{0x0001f400, 0x0001f43e, 1},\n\t\t{0x0001f440, 0x0001f442, 2},\n\t\t{0x0001f443, 0x0001f4f7, 1},\n\t\t{0x0001f4f9, 0x0001f4fc, 1},\n\t\t{0x0001f500, 0x0001f53d, 1},\n\t\t{0x0001f540, 0x0001f543, 1},\n\t\t{0x0001f550, 0x0001f567, 1},\n\t\t{0x0001f5fb, 0x0001f640, 1},\n\t\t{0x0001f645, 0x0001f64f, 1},\n\t\t{0x0001f680, 0x0001f6c5, 1},\n\t\t{0x0001f700, 0x0001f773, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002a700, 0x0002b734, 1},\n\t\t{0x0002b740, 0x0002b81d, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 4160 bytes (4 KiB)\nvar assigned6_3_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037e, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x0527, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x058f, 0x0591, 2},\n\t\t{0x0592, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x0604, 1},\n\t\t{0x0606, 0x061c, 1},\n\t\t{0x061e, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0800, 0x082d, 1},\n\t\t{0x0830, 0x083e, 1},\n\t\t{0x0840, 0x085b, 1},\n\t\t{0x085e, 0x08a0, 66},\n\t\t{0x08a2, 0x08ac, 1},\n\t\t{0x08e4, 0x08fe, 1},\n\t\t{0x0900, 0x0977, 1},\n\t\t{0x0979, 0x097f, 1},\n\t\t{0x0981, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fb, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0af1, 1},\n\t\t{0x0b01, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b77, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c01, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c33, 1},\n\t\t{0x0c35, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c59, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c7f, 1},\n\t\t{0x0c82, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d02, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d3a, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4e, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d63, 1},\n\t\t{0x0d66, 0x0d75, 1},\n\t\t{0x0d79, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edf, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fda, 1},\n\t\t{0x1000, 0x10c5, 1},\n\t\t{0x10c7, 0x10cd, 6},\n\t\t{0x10d0, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135d, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1400, 0x169c, 1},\n\t\t{0x16a0, 0x16f0, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x18b0, 0x18f5, 1},\n\t\t{0x1900, 0x191c, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19ab, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19da, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a5e, 1},\n\t\t{0x1a60, 0x1a7c, 1},\n\t\t{0x1a7f, 0x1a89, 1},\n\t\t{0x1a90, 0x1a99, 1},\n\t\t{0x1aa0, 0x1aad, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1bf3, 1},\n\t\t{0x1bfc, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c7f, 1},\n\t\t{0x1cc0, 0x1cc7, 1},\n\t\t{0x1cd0, 0x1cf6, 1},\n\t\t{0x1d00, 0x1de6, 1},\n\t\t{0x1dfc, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x2066, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x209c, 1},\n\t\t{0x20a0, 0x20ba, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x2189, 1},\n\t\t{0x2190, 0x23f3, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x26ff, 1},\n\t\t{0x2701, 0x2b4c, 1},\n\t\t{0x2b50, 0x2b59, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2cf3, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d27, 0x2d2d, 6},\n\t\t{0x2d30, 0x2d67, 1},\n\t\t{0x2d6f, 0x2d70, 1},\n\t\t{0x2d7f, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e3b, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31ba, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fcc, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa4d0, 0xa62b, 1},\n\t\t{0xa640, 0xa697, 1},\n\t\t{0xa69f, 0xa6f7, 1},\n\t\t{0xa700, 0xa78e, 1},\n\t\t{0xa790, 0xa793, 1},\n\t\t{0xa7a0, 0xa7aa, 1},\n\t\t{0xa7f8, 0xa82b, 1},\n\t\t{0xa830, 0xa839, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c4, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa8e0, 0xa8fb, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xa97c, 1},\n\t\t{0xa980, 0xa9cd, 1},\n\t\t{0xa9cf, 0xa9d9, 1},\n\t\t{0xa9de, 0xa9df, 1},\n\t\t{0xaa00, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaa7b, 1},\n\t\t{0xaa80, 0xaac2, 1},\n\t\t{0xaadb, 0xaaf6, 1},\n\t\t{0xab01, 0xab06, 1},\n\t\t{0xab09, 0xab0e, 1},\n\t\t{0xab11, 0xab16, 1},\n\t\t{0xab20, 0xab26, 1},\n\t\t{0xab28, 0xab2e, 1},\n\t\t{0xabc0, 0xabed, 1},\n\t\t{0xabf0, 0xabf9, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd7b0, 0xd7c6, 1},\n\t\t{0xd7cb, 0xd7fb, 1},\n\t\t{0xd800, 0xfa6d, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbc1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe26, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018a, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101d0, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x00010300, 0x0001031e, 1},\n\t\t{0x00010320, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010840, 0x00010855, 1},\n\t\t{0x00010857, 0x0001085f, 1},\n\t\t{0x00010900, 0x0001091b, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010980, 65},\n\t\t{0x00010981, 0x000109b7, 1},\n\t\t{0x000109be, 0x000109bf, 1},\n\t\t{0x00010a00, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00010a60, 0x00010a7f, 1},\n\t\t{0x00010b00, 0x00010b35, 1},\n\t\t{0x00010b39, 0x00010b55, 1},\n\t\t{0x00010b58, 0x00010b72, 1},\n\t\t{0x00010b78, 0x00010b7f, 1},\n\t\t{0x00010c00, 0x00010c48, 1},\n\t\t{0x00010e60, 0x00010e7e, 1},\n\t\t{0x00011000, 0x0001104d, 1},\n\t\t{0x00011052, 0x0001106f, 1},\n\t\t{0x00011080, 0x000110c1, 1},\n\t\t{0x000110d0, 0x000110e8, 1},\n\t\t{0x000110f0, 0x000110f9, 1},\n\t\t{0x00011100, 0x00011134, 1},\n\t\t{0x00011136, 0x00011143, 1},\n\t\t{0x00011180, 0x000111c8, 1},\n\t\t{0x000111d0, 0x000111d9, 1},\n\t\t{0x00011680, 0x000116b7, 1},\n\t\t{0x000116c0, 0x000116c9, 1},\n\t\t{0x00012000, 0x0001236e, 1},\n\t\t{0x00012400, 0x00012462, 1},\n\t\t{0x00012470, 0x00012473, 1},\n\t\t{0x00013000, 0x0001342e, 1},\n\t\t{0x00016800, 0x00016a38, 1},\n\t\t{0x00016f00, 0x00016f44, 1},\n\t\t{0x00016f50, 0x00016f7e, 1},\n\t\t{0x00016f8f, 0x00016f9f, 1},\n\t\t{0x0001b000, 0x0001b001, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x0001ee00, 0x0001ee03, 1},\n\t\t{0x0001ee05, 0x0001ee1f, 1},\n\t\t{0x0001ee21, 0x0001ee22, 1},\n\t\t{0x0001ee24, 0x0001ee27, 3},\n\t\t{0x0001ee29, 0x0001ee32, 1},\n\t\t{0x0001ee34, 0x0001ee37, 1},\n\t\t{0x0001ee39, 0x0001ee3b, 2},\n\t\t{0x0001ee42, 0x0001ee47, 5},\n\t\t{0x0001ee49, 0x0001ee4d, 2},\n\t\t{0x0001ee4e, 0x0001ee4f, 1},\n\t\t{0x0001ee51, 0x0001ee52, 1},\n\t\t{0x0001ee54, 0x0001ee57, 3},\n\t\t{0x0001ee59, 0x0001ee61, 2},\n\t\t{0x0001ee62, 0x0001ee64, 2},\n\t\t{0x0001ee67, 0x0001ee6a, 1},\n\t\t{0x0001ee6c, 0x0001ee72, 1},\n\t\t{0x0001ee74, 0x0001ee77, 1},\n\t\t{0x0001ee79, 0x0001ee7c, 1},\n\t\t{0x0001ee7e, 0x0001ee80, 2},\n\t\t{0x0001ee81, 0x0001ee89, 1},\n\t\t{0x0001ee8b, 0x0001ee9b, 1},\n\t\t{0x0001eea1, 0x0001eea3, 1},\n\t\t{0x0001eea5, 0x0001eea9, 1},\n\t\t{0x0001eeab, 0x0001eebb, 1},\n\t\t{0x0001eef0, 0x0001eef1, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x0001f0a0, 0x0001f0ae, 1},\n\t\t{0x0001f0b1, 0x0001f0be, 1},\n\t\t{0x0001f0c1, 0x0001f0cf, 1},\n\t\t{0x0001f0d1, 0x0001f0df, 1},\n\t\t{0x0001f100, 0x0001f10a, 1},\n\t\t{0x0001f110, 0x0001f12e, 1},\n\t\t{0x0001f130, 0x0001f16b, 1},\n\t\t{0x0001f170, 0x0001f19a, 1},\n\t\t{0x0001f1e6, 0x0001f202, 1},\n\t\t{0x0001f210, 0x0001f23a, 1},\n\t\t{0x0001f240, 0x0001f248, 1},\n\t\t{0x0001f250, 0x0001f251, 1},\n\t\t{0x0001f300, 0x0001f320, 1},\n\t\t{0x0001f330, 0x0001f335, 1},\n\t\t{0x0001f337, 0x0001f37c, 1},\n\t\t{0x0001f380, 0x0001f393, 1},\n\t\t{0x0001f3a0, 0x0001f3c4, 1},\n\t\t{0x0001f3c6, 0x0001f3ca, 1},\n\t\t{0x0001f3e0, 0x0001f3f0, 1},\n\t\t{0x0001f400, 0x0001f43e, 1},\n\t\t{0x0001f440, 0x0001f442, 2},\n\t\t{0x0001f443, 0x0001f4f7, 1},\n\t\t{0x0001f4f9, 0x0001f4fc, 1},\n\t\t{0x0001f500, 0x0001f53d, 1},\n\t\t{0x0001f540, 0x0001f543, 1},\n\t\t{0x0001f550, 0x0001f567, 1},\n\t\t{0x0001f5fb, 0x0001f640, 1},\n\t\t{0x0001f645, 0x0001f64f, 1},\n\t\t{0x0001f680, 0x0001f6c5, 1},\n\t\t{0x0001f700, 0x0001f773, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002a700, 0x0002b734, 1},\n\t\t{0x0002b740, 0x0002b81d, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 3812 bytes (3 KiB)\nvar assigned6_0_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037e, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x0527, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x0591, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x0603, 1},\n\t\t{0x0606, 0x061b, 1},\n\t\t{0x061e, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0800, 0x082d, 1},\n\t\t{0x0830, 0x083e, 1},\n\t\t{0x0840, 0x085b, 1},\n\t\t{0x085e, 0x0900, 162},\n\t\t{0x0901, 0x0977, 1},\n\t\t{0x0979, 0x097f, 1},\n\t\t{0x0981, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fb, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0aef, 1},\n\t\t{0x0af1, 0x0b01, 16},\n\t\t{0x0b02, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b77, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c01, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c33, 1},\n\t\t{0x0c35, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c59, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c7f, 1},\n\t\t{0x0c82, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d02, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d3a, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4e, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d63, 1},\n\t\t{0x0d66, 0x0d75, 1},\n\t\t{0x0d79, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edd, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fda, 1},\n\t\t{0x1000, 0x10c5, 1},\n\t\t{0x10d0, 0x10fc, 1},\n\t\t{0x1100, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135d, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1400, 0x169c, 1},\n\t\t{0x16a0, 0x16f0, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x18b0, 0x18f5, 1},\n\t\t{0x1900, 0x191c, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19ab, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19da, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a5e, 1},\n\t\t{0x1a60, 0x1a7c, 1},\n\t\t{0x1a7f, 0x1a89, 1},\n\t\t{0x1a90, 0x1a99, 1},\n\t\t{0x1aa0, 0x1aad, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1baa, 1},\n\t\t{0x1bae, 0x1bb9, 1},\n\t\t{0x1bc0, 0x1bf3, 1},\n\t\t{0x1bfc, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c7f, 1},\n\t\t{0x1cd0, 0x1cf2, 1},\n\t\t{0x1d00, 0x1de6, 1},\n\t\t{0x1dfc, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x206a, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x209c, 1},\n\t\t{0x20a0, 0x20b9, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x2189, 1},\n\t\t{0x2190, 0x23f3, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x26ff, 1},\n\t\t{0x2701, 0x27ca, 1},\n\t\t{0x27cc, 0x27ce, 2},\n\t\t{0x27cf, 0x2b4c, 1},\n\t\t{0x2b50, 0x2b59, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2cf1, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d30, 0x2d65, 1},\n\t\t{0x2d6f, 0x2d70, 1},\n\t\t{0x2d7f, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e31, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31ba, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fcb, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa4d0, 0xa62b, 1},\n\t\t{0xa640, 0xa673, 1},\n\t\t{0xa67c, 0xa697, 1},\n\t\t{0xa6a0, 0xa6f7, 1},\n\t\t{0xa700, 0xa78e, 1},\n\t\t{0xa790, 0xa791, 1},\n\t\t{0xa7a0, 0xa7a9, 1},\n\t\t{0xa7fa, 0xa82b, 1},\n\t\t{0xa830, 0xa839, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c4, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa8e0, 0xa8fb, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xa97c, 1},\n\t\t{0xa980, 0xa9cd, 1},\n\t\t{0xa9cf, 0xa9d9, 1},\n\t\t{0xa9de, 0xa9df, 1},\n\t\t{0xaa00, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaa7b, 1},\n\t\t{0xaa80, 0xaac2, 1},\n\t\t{0xaadb, 0xaadf, 1},\n\t\t{0xab01, 0xab06, 1},\n\t\t{0xab09, 0xab0e, 1},\n\t\t{0xab11, 0xab16, 1},\n\t\t{0xab20, 0xab26, 1},\n\t\t{0xab28, 0xab2e, 1},\n\t\t{0xabc0, 0xabed, 1},\n\t\t{0xabf0, 0xabf9, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd7b0, 0xd7c6, 1},\n\t\t{0xd7cb, 0xd7fb, 1},\n\t\t{0xd800, 0xfa2d, 1},\n\t\t{0xfa30, 0xfa6d, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbc1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe26, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018a, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101d0, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x00010300, 0x0001031e, 1},\n\t\t{0x00010320, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010840, 0x00010855, 1},\n\t\t{0x00010857, 0x0001085f, 1},\n\t\t{0x00010900, 0x0001091b, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010a00, 193},\n\t\t{0x00010a01, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00010a60, 0x00010a7f, 1},\n\t\t{0x00010b00, 0x00010b35, 1},\n\t\t{0x00010b39, 0x00010b55, 1},\n\t\t{0x00010b58, 0x00010b72, 1},\n\t\t{0x00010b78, 0x00010b7f, 1},\n\t\t{0x00010c00, 0x00010c48, 1},\n\t\t{0x00010e60, 0x00010e7e, 1},\n\t\t{0x00011000, 0x0001104d, 1},\n\t\t{0x00011052, 0x0001106f, 1},\n\t\t{0x00011080, 0x000110c1, 1},\n\t\t{0x00012000, 0x0001236e, 1},\n\t\t{0x00012400, 0x00012462, 1},\n\t\t{0x00012470, 0x00012473, 1},\n\t\t{0x00013000, 0x0001342e, 1},\n\t\t{0x00016800, 0x00016a38, 1},\n\t\t{0x0001b000, 0x0001b001, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x0001f0a0, 0x0001f0ae, 1},\n\t\t{0x0001f0b1, 0x0001f0be, 1},\n\t\t{0x0001f0c1, 0x0001f0cf, 1},\n\t\t{0x0001f0d1, 0x0001f0df, 1},\n\t\t{0x0001f100, 0x0001f10a, 1},\n\t\t{0x0001f110, 0x0001f12e, 1},\n\t\t{0x0001f130, 0x0001f169, 1},\n\t\t{0x0001f170, 0x0001f19a, 1},\n\t\t{0x0001f1e6, 0x0001f202, 1},\n\t\t{0x0001f210, 0x0001f23a, 1},\n\t\t{0x0001f240, 0x0001f248, 1},\n\t\t{0x0001f250, 0x0001f251, 1},\n\t\t{0x0001f300, 0x0001f320, 1},\n\t\t{0x0001f330, 0x0001f335, 1},\n\t\t{0x0001f337, 0x0001f37c, 1},\n\t\t{0x0001f380, 0x0001f393, 1},\n\t\t{0x0001f3a0, 0x0001f3c4, 1},\n\t\t{0x0001f3c6, 0x0001f3ca, 1},\n\t\t{0x0001f3e0, 0x0001f3f0, 1},\n\t\t{0x0001f400, 0x0001f43e, 1},\n\t\t{0x0001f440, 0x0001f442, 2},\n\t\t{0x0001f443, 0x0001f4f7, 1},\n\t\t{0x0001f4f9, 0x0001f4fc, 1},\n\t\t{0x0001f500, 0x0001f53d, 1},\n\t\t{0x0001f550, 0x0001f567, 1},\n\t\t{0x0001f5fb, 0x0001f5ff, 1},\n\t\t{0x0001f601, 0x0001f610, 1},\n\t\t{0x0001f612, 0x0001f614, 1},\n\t\t{0x0001f616, 0x0001f61c, 2},\n\t\t{0x0001f61d, 0x0001f61e, 1},\n\t\t{0x0001f620, 0x0001f625, 1},\n\t\t{0x0001f628, 0x0001f62b, 1},\n\t\t{0x0001f62d, 0x0001f630, 3},\n\t\t{0x0001f631, 0x0001f633, 1},\n\t\t{0x0001f635, 0x0001f640, 1},\n\t\t{0x0001f645, 0x0001f64f, 1},\n\t\t{0x0001f680, 0x0001f6c5, 1},\n\t\t{0x0001f700, 0x0001f773, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002a700, 0x0002b734, 1},\n\t\t{0x0002b740, 0x0002b81d, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 4898 bytes (4 KiB)\nvar assigned7_0_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037f, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x052f, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x058d, 0x058f, 1},\n\t\t{0x0591, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x061c, 1},\n\t\t{0x061e, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0800, 0x082d, 1},\n\t\t{0x0830, 0x083e, 1},\n\t\t{0x0840, 0x085b, 1},\n\t\t{0x085e, 0x08a0, 66},\n\t\t{0x08a1, 0x08b2, 1},\n\t\t{0x08e4, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fb, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0af1, 1},\n\t\t{0x0b01, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b77, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c00, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c59, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c7f, 1},\n\t\t{0x0c81, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d01, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d3a, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4e, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d63, 1},\n\t\t{0x0d66, 0x0d75, 1},\n\t\t{0x0d79, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0de6, 0x0def, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edf, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fda, 1},\n\t\t{0x1000, 0x10c5, 1},\n\t\t{0x10c7, 0x10cd, 6},\n\t\t{0x10d0, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135d, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1400, 0x169c, 1},\n\t\t{0x16a0, 0x16f8, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x18b0, 0x18f5, 1},\n\t\t{0x1900, 0x191e, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19ab, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19da, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a5e, 1},\n\t\t{0x1a60, 0x1a7c, 1},\n\t\t{0x1a7f, 0x1a89, 1},\n\t\t{0x1a90, 0x1a99, 1},\n\t\t{0x1aa0, 0x1aad, 1},\n\t\t{0x1ab0, 0x1abe, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1bf3, 1},\n\t\t{0x1bfc, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c7f, 1},\n\t\t{0x1cc0, 0x1cc7, 1},\n\t\t{0x1cd0, 0x1cf6, 1},\n\t\t{0x1cf8, 0x1cf9, 1},\n\t\t{0x1d00, 0x1df5, 1},\n\t\t{0x1dfc, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x2066, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x209c, 1},\n\t\t{0x20a0, 0x20bd, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x2189, 1},\n\t\t{0x2190, 0x23fa, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x2b73, 1},\n\t\t{0x2b76, 0x2b95, 1},\n\t\t{0x2b98, 0x2bb9, 1},\n\t\t{0x2bbd, 0x2bc8, 1},\n\t\t{0x2bca, 0x2bd1, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2cf3, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d27, 0x2d2d, 6},\n\t\t{0x2d30, 0x2d67, 1},\n\t\t{0x2d6f, 0x2d70, 1},\n\t\t{0x2d7f, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e42, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31ba, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fcc, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa4d0, 0xa62b, 1},\n\t\t{0xa640, 0xa69d, 1},\n\t\t{0xa69f, 0xa6f7, 1},\n\t\t{0xa700, 0xa78e, 1},\n\t\t{0xa790, 0xa7ad, 1},\n\t\t{0xa7b0, 0xa7b1, 1},\n\t\t{0xa7f7, 0xa82b, 1},\n\t\t{0xa830, 0xa839, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c4, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa8e0, 0xa8fb, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xa97c, 1},\n\t\t{0xa980, 0xa9cd, 1},\n\t\t{0xa9cf, 0xa9d9, 1},\n\t\t{0xa9de, 0xa9fe, 1},\n\t\t{0xaa00, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaac2, 1},\n\t\t{0xaadb, 0xaaf6, 1},\n\t\t{0xab01, 0xab06, 1},\n\t\t{0xab09, 0xab0e, 1},\n\t\t{0xab11, 0xab16, 1},\n\t\t{0xab20, 0xab26, 1},\n\t\t{0xab28, 0xab2e, 1},\n\t\t{0xab30, 0xab5f, 1},\n\t\t{0xab64, 0xab65, 1},\n\t\t{0xabc0, 0xabed, 1},\n\t\t{0xabf0, 0xabf9, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd7b0, 0xd7c6, 1},\n\t\t{0xd7cb, 0xd7fb, 1},\n\t\t{0xd800, 0xfa6d, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbc1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe2d, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018c, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101a0, 0x000101d0, 48},\n\t\t{0x000101d1, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x000102e0, 0x000102fb, 1},\n\t\t{0x00010300, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010350, 0x0001037a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010500, 0x00010527, 1},\n\t\t{0x00010530, 0x00010563, 1},\n\t\t{0x0001056f, 0x00010600, 145},\n\t\t{0x00010601, 0x00010736, 1},\n\t\t{0x00010740, 0x00010755, 1},\n\t\t{0x00010760, 0x00010767, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010840, 0x00010855, 1},\n\t\t{0x00010857, 0x0001089e, 1},\n\t\t{0x000108a7, 0x000108af, 1},\n\t\t{0x00010900, 0x0001091b, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010980, 65},\n\t\t{0x00010981, 0x000109b7, 1},\n\t\t{0x000109be, 0x000109bf, 1},\n\t\t{0x00010a00, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00010a60, 0x00010a9f, 1},\n\t\t{0x00010ac0, 0x00010ae6, 1},\n\t\t{0x00010aeb, 0x00010af6, 1},\n\t\t{0x00010b00, 0x00010b35, 1},\n\t\t{0x00010b39, 0x00010b55, 1},\n\t\t{0x00010b58, 0x00010b72, 1},\n\t\t{0x00010b78, 0x00010b91, 1},\n\t\t{0x00010b99, 0x00010b9c, 1},\n\t\t{0x00010ba9, 0x00010baf, 1},\n\t\t{0x00010c00, 0x00010c48, 1},\n\t\t{0x00010e60, 0x00010e7e, 1},\n\t\t{0x00011000, 0x0001104d, 1},\n\t\t{0x00011052, 0x0001106f, 1},\n\t\t{0x0001107f, 0x000110c1, 1},\n\t\t{0x000110d0, 0x000110e8, 1},\n\t\t{0x000110f0, 0x000110f9, 1},\n\t\t{0x00011100, 0x00011134, 1},\n\t\t{0x00011136, 0x00011143, 1},\n\t\t{0x00011150, 0x00011176, 1},\n\t\t{0x00011180, 0x000111c8, 1},\n\t\t{0x000111cd, 0x000111d0, 3},\n\t\t{0x000111d1, 0x000111da, 1},\n\t\t{0x000111e1, 0x000111f4, 1},\n\t\t{0x00011200, 0x00011211, 1},\n\t\t{0x00011213, 0x0001123d, 1},\n\t\t{0x000112b0, 0x000112ea, 1},\n\t\t{0x000112f0, 0x000112f9, 1},\n\t\t{0x00011301, 0x00011303, 1},\n\t\t{0x00011305, 0x0001130c, 1},\n\t\t{0x0001130f, 0x00011310, 1},\n\t\t{0x00011313, 0x00011328, 1},\n\t\t{0x0001132a, 0x00011330, 1},\n\t\t{0x00011332, 0x00011333, 1},\n\t\t{0x00011335, 0x00011339, 1},\n\t\t{0x0001133c, 0x00011344, 1},\n\t\t{0x00011347, 0x00011348, 1},\n\t\t{0x0001134b, 0x0001134d, 1},\n\t\t{0x00011357, 0x0001135d, 6},\n\t\t{0x0001135e, 0x00011363, 1},\n\t\t{0x00011366, 0x0001136c, 1},\n\t\t{0x00011370, 0x00011374, 1},\n\t\t{0x00011480, 0x000114c7, 1},\n\t\t{0x000114d0, 0x000114d9, 1},\n\t\t{0x00011580, 0x000115b5, 1},\n\t\t{0x000115b8, 0x000115c9, 1},\n\t\t{0x00011600, 0x00011644, 1},\n\t\t{0x00011650, 0x00011659, 1},\n\t\t{0x00011680, 0x000116b7, 1},\n\t\t{0x000116c0, 0x000116c9, 1},\n\t\t{0x000118a0, 0x000118f2, 1},\n\t\t{0x000118ff, 0x00011ac0, 449},\n\t\t{0x00011ac1, 0x00011af8, 1},\n\t\t{0x00012000, 0x00012398, 1},\n\t\t{0x00012400, 0x0001246e, 1},\n\t\t{0x00012470, 0x00012474, 1},\n\t\t{0x00013000, 0x0001342e, 1},\n\t\t{0x00016800, 0x00016a38, 1},\n\t\t{0x00016a40, 0x00016a5e, 1},\n\t\t{0x00016a60, 0x00016a69, 1},\n\t\t{0x00016a6e, 0x00016a6f, 1},\n\t\t{0x00016ad0, 0x00016aed, 1},\n\t\t{0x00016af0, 0x00016af5, 1},\n\t\t{0x00016b00, 0x00016b45, 1},\n\t\t{0x00016b50, 0x00016b59, 1},\n\t\t{0x00016b5b, 0x00016b61, 1},\n\t\t{0x00016b63, 0x00016b77, 1},\n\t\t{0x00016b7d, 0x00016b8f, 1},\n\t\t{0x00016f00, 0x00016f44, 1},\n\t\t{0x00016f50, 0x00016f7e, 1},\n\t\t{0x00016f8f, 0x00016f9f, 1},\n\t\t{0x0001b000, 0x0001b001, 1},\n\t\t{0x0001bc00, 0x0001bc6a, 1},\n\t\t{0x0001bc70, 0x0001bc7c, 1},\n\t\t{0x0001bc80, 0x0001bc88, 1},\n\t\t{0x0001bc90, 0x0001bc99, 1},\n\t\t{0x0001bc9c, 0x0001bca3, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x0001e800, 0x0001e8c4, 1},\n\t\t{0x0001e8c7, 0x0001e8d6, 1},\n\t\t{0x0001ee00, 0x0001ee03, 1},\n\t\t{0x0001ee05, 0x0001ee1f, 1},\n\t\t{0x0001ee21, 0x0001ee22, 1},\n\t\t{0x0001ee24, 0x0001ee27, 3},\n\t\t{0x0001ee29, 0x0001ee32, 1},\n\t\t{0x0001ee34, 0x0001ee37, 1},\n\t\t{0x0001ee39, 0x0001ee3b, 2},\n\t\t{0x0001ee42, 0x0001ee47, 5},\n\t\t{0x0001ee49, 0x0001ee4d, 2},\n\t\t{0x0001ee4e, 0x0001ee4f, 1},\n\t\t{0x0001ee51, 0x0001ee52, 1},\n\t\t{0x0001ee54, 0x0001ee57, 3},\n\t\t{0x0001ee59, 0x0001ee61, 2},\n\t\t{0x0001ee62, 0x0001ee64, 2},\n\t\t{0x0001ee67, 0x0001ee6a, 1},\n\t\t{0x0001ee6c, 0x0001ee72, 1},\n\t\t{0x0001ee74, 0x0001ee77, 1},\n\t\t{0x0001ee79, 0x0001ee7c, 1},\n\t\t{0x0001ee7e, 0x0001ee80, 2},\n\t\t{0x0001ee81, 0x0001ee89, 1},\n\t\t{0x0001ee8b, 0x0001ee9b, 1},\n\t\t{0x0001eea1, 0x0001eea3, 1},\n\t\t{0x0001eea5, 0x0001eea9, 1},\n\t\t{0x0001eeab, 0x0001eebb, 1},\n\t\t{0x0001eef0, 0x0001eef1, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x0001f0a0, 0x0001f0ae, 1},\n\t\t{0x0001f0b1, 0x0001f0bf, 1},\n\t\t{0x0001f0c1, 0x0001f0cf, 1},\n\t\t{0x0001f0d1, 0x0001f0f5, 1},\n\t\t{0x0001f100, 0x0001f10c, 1},\n\t\t{0x0001f110, 0x0001f12e, 1},\n\t\t{0x0001f130, 0x0001f16b, 1},\n\t\t{0x0001f170, 0x0001f19a, 1},\n\t\t{0x0001f1e6, 0x0001f202, 1},\n\t\t{0x0001f210, 0x0001f23a, 1},\n\t\t{0x0001f240, 0x0001f248, 1},\n\t\t{0x0001f250, 0x0001f251, 1},\n\t\t{0x0001f300, 0x0001f32c, 1},\n\t\t{0x0001f330, 0x0001f37d, 1},\n\t\t{0x0001f380, 0x0001f3ce, 1},\n\t\t{0x0001f3d4, 0x0001f3f7, 1},\n\t\t{0x0001f400, 0x0001f4fe, 1},\n\t\t{0x0001f500, 0x0001f54a, 1},\n\t\t{0x0001f550, 0x0001f579, 1},\n\t\t{0x0001f57b, 0x0001f5a3, 1},\n\t\t{0x0001f5a5, 0x0001f642, 1},\n\t\t{0x0001f645, 0x0001f6cf, 1},\n\t\t{0x0001f6e0, 0x0001f6ec, 1},\n\t\t{0x0001f6f0, 0x0001f6f3, 1},\n\t\t{0x0001f700, 0x0001f773, 1},\n\t\t{0x0001f780, 0x0001f7d4, 1},\n\t\t{0x0001f800, 0x0001f80b, 1},\n\t\t{0x0001f810, 0x0001f847, 1},\n\t\t{0x0001f850, 0x0001f859, 1},\n\t\t{0x0001f860, 0x0001f887, 1},\n\t\t{0x0001f890, 0x0001f8ad, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002a700, 0x0002b734, 1},\n\t\t{0x0002b740, 0x0002b81d, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 5048 bytes (4 KiB)\nvar assigned8_0_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037f, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x052f, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x058d, 0x058f, 1},\n\t\t{0x0591, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x061c, 1},\n\t\t{0x061e, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0800, 0x082d, 1},\n\t\t{0x0830, 0x083e, 1},\n\t\t{0x0840, 0x085b, 1},\n\t\t{0x085e, 0x08a0, 66},\n\t\t{0x08a1, 0x08b4, 1},\n\t\t{0x08e3, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fb, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0af1, 1},\n\t\t{0x0af9, 0x0b01, 8},\n\t\t{0x0b02, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b77, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c00, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c5a, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c7f, 1},\n\t\t{0x0c81, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d01, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d3a, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4e, 1},\n\t\t{0x0d57, 0x0d5f, 8},\n\t\t{0x0d60, 0x0d63, 1},\n\t\t{0x0d66, 0x0d75, 1},\n\t\t{0x0d79, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0de6, 0x0def, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edf, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fda, 1},\n\t\t{0x1000, 0x10c5, 1},\n\t\t{0x10c7, 0x10cd, 6},\n\t\t{0x10d0, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135d, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f5, 1},\n\t\t{0x13f8, 0x13fd, 1},\n\t\t{0x1400, 0x169c, 1},\n\t\t{0x16a0, 0x16f8, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x18b0, 0x18f5, 1},\n\t\t{0x1900, 0x191e, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19ab, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19da, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a5e, 1},\n\t\t{0x1a60, 0x1a7c, 1},\n\t\t{0x1a7f, 0x1a89, 1},\n\t\t{0x1a90, 0x1a99, 1},\n\t\t{0x1aa0, 0x1aad, 1},\n\t\t{0x1ab0, 0x1abe, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1bf3, 1},\n\t\t{0x1bfc, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c7f, 1},\n\t\t{0x1cc0, 0x1cc7, 1},\n\t\t{0x1cd0, 0x1cf6, 1},\n\t\t{0x1cf8, 0x1cf9, 1},\n\t\t{0x1d00, 0x1df5, 1},\n\t\t{0x1dfc, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x2066, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x209c, 1},\n\t\t{0x20a0, 0x20be, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x218b, 1},\n\t\t{0x2190, 0x23fa, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x2b73, 1},\n\t\t{0x2b76, 0x2b95, 1},\n\t\t{0x2b98, 0x2bb9, 1},\n\t\t{0x2bbd, 0x2bc8, 1},\n\t\t{0x2bca, 0x2bd1, 1},\n\t\t{0x2bec, 0x2bef, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2cf3, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d27, 0x2d2d, 6},\n\t\t{0x2d30, 0x2d67, 1},\n\t\t{0x2d6f, 0x2d70, 1},\n\t\t{0x2d7f, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e42, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31ba, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fd5, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa4d0, 0xa62b, 1},\n\t\t{0xa640, 0xa6f7, 1},\n\t\t{0xa700, 0xa7ad, 1},\n\t\t{0xa7b0, 0xa7b7, 1},\n\t\t{0xa7f7, 0xa82b, 1},\n\t\t{0xa830, 0xa839, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c4, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa8e0, 0xa8fd, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xa97c, 1},\n\t\t{0xa980, 0xa9cd, 1},\n\t\t{0xa9cf, 0xa9d9, 1},\n\t\t{0xa9de, 0xa9fe, 1},\n\t\t{0xaa00, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaac2, 1},\n\t\t{0xaadb, 0xaaf6, 1},\n\t\t{0xab01, 0xab06, 1},\n\t\t{0xab09, 0xab0e, 1},\n\t\t{0xab11, 0xab16, 1},\n\t\t{0xab20, 0xab26, 1},\n\t\t{0xab28, 0xab2e, 1},\n\t\t{0xab30, 0xab65, 1},\n\t\t{0xab70, 0xabed, 1},\n\t\t{0xabf0, 0xabf9, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd7b0, 0xd7c6, 1},\n\t\t{0xd7cb, 0xd7fb, 1},\n\t\t{0xd800, 0xfa6d, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbc1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018c, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101a0, 0x000101d0, 48},\n\t\t{0x000101d1, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x000102e0, 0x000102fb, 1},\n\t\t{0x00010300, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010350, 0x0001037a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010500, 0x00010527, 1},\n\t\t{0x00010530, 0x00010563, 1},\n\t\t{0x0001056f, 0x00010600, 145},\n\t\t{0x00010601, 0x00010736, 1},\n\t\t{0x00010740, 0x00010755, 1},\n\t\t{0x00010760, 0x00010767, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010840, 0x00010855, 1},\n\t\t{0x00010857, 0x0001089e, 1},\n\t\t{0x000108a7, 0x000108af, 1},\n\t\t{0x000108e0, 0x000108f2, 1},\n\t\t{0x000108f4, 0x000108f5, 1},\n\t\t{0x000108fb, 0x0001091b, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010980, 65},\n\t\t{0x00010981, 0x000109b7, 1},\n\t\t{0x000109bc, 0x000109cf, 1},\n\t\t{0x000109d2, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00010a60, 0x00010a9f, 1},\n\t\t{0x00010ac0, 0x00010ae6, 1},\n\t\t{0x00010aeb, 0x00010af6, 1},\n\t\t{0x00010b00, 0x00010b35, 1},\n\t\t{0x00010b39, 0x00010b55, 1},\n\t\t{0x00010b58, 0x00010b72, 1},\n\t\t{0x00010b78, 0x00010b91, 1},\n\t\t{0x00010b99, 0x00010b9c, 1},\n\t\t{0x00010ba9, 0x00010baf, 1},\n\t\t{0x00010c00, 0x00010c48, 1},\n\t\t{0x00010c80, 0x00010cb2, 1},\n\t\t{0x00010cc0, 0x00010cf2, 1},\n\t\t{0x00010cfa, 0x00010cff, 1},\n\t\t{0x00010e60, 0x00010e7e, 1},\n\t\t{0x00011000, 0x0001104d, 1},\n\t\t{0x00011052, 0x0001106f, 1},\n\t\t{0x0001107f, 0x000110c1, 1},\n\t\t{0x000110d0, 0x000110e8, 1},\n\t\t{0x000110f0, 0x000110f9, 1},\n\t\t{0x00011100, 0x00011134, 1},\n\t\t{0x00011136, 0x00011143, 1},\n\t\t{0x00011150, 0x00011176, 1},\n\t\t{0x00011180, 0x000111cd, 1},\n\t\t{0x000111d0, 0x000111df, 1},\n\t\t{0x000111e1, 0x000111f4, 1},\n\t\t{0x00011200, 0x00011211, 1},\n\t\t{0x00011213, 0x0001123d, 1},\n\t\t{0x00011280, 0x00011286, 1},\n\t\t{0x00011288, 0x0001128a, 2},\n\t\t{0x0001128b, 0x0001128d, 1},\n\t\t{0x0001128f, 0x0001129d, 1},\n\t\t{0x0001129f, 0x000112a9, 1},\n\t\t{0x000112b0, 0x000112ea, 1},\n\t\t{0x000112f0, 0x000112f9, 1},\n\t\t{0x00011300, 0x00011303, 1},\n\t\t{0x00011305, 0x0001130c, 1},\n\t\t{0x0001130f, 0x00011310, 1},\n\t\t{0x00011313, 0x00011328, 1},\n\t\t{0x0001132a, 0x00011330, 1},\n\t\t{0x00011332, 0x00011333, 1},\n\t\t{0x00011335, 0x00011339, 1},\n\t\t{0x0001133c, 0x00011344, 1},\n\t\t{0x00011347, 0x00011348, 1},\n\t\t{0x0001134b, 0x0001134d, 1},\n\t\t{0x00011350, 0x00011357, 7},\n\t\t{0x0001135d, 0x00011363, 1},\n\t\t{0x00011366, 0x0001136c, 1},\n\t\t{0x00011370, 0x00011374, 1},\n\t\t{0x00011480, 0x000114c7, 1},\n\t\t{0x000114d0, 0x000114d9, 1},\n\t\t{0x00011580, 0x000115b5, 1},\n\t\t{0x000115b8, 0x000115dd, 1},\n\t\t{0x00011600, 0x00011644, 1},\n\t\t{0x00011650, 0x00011659, 1},\n\t\t{0x00011680, 0x000116b7, 1},\n\t\t{0x000116c0, 0x000116c9, 1},\n\t\t{0x00011700, 0x00011719, 1},\n\t\t{0x0001171d, 0x0001172b, 1},\n\t\t{0x00011730, 0x0001173f, 1},\n\t\t{0x000118a0, 0x000118f2, 1},\n\t\t{0x000118ff, 0x00011ac0, 449},\n\t\t{0x00011ac1, 0x00011af8, 1},\n\t\t{0x00012000, 0x00012399, 1},\n\t\t{0x00012400, 0x0001246e, 1},\n\t\t{0x00012470, 0x00012474, 1},\n\t\t{0x00012480, 0x00012543, 1},\n\t\t{0x00013000, 0x0001342e, 1},\n\t\t{0x00014400, 0x00014646, 1},\n\t\t{0x00016800, 0x00016a38, 1},\n\t\t{0x00016a40, 0x00016a5e, 1},\n\t\t{0x00016a60, 0x00016a69, 1},\n\t\t{0x00016a6e, 0x00016a6f, 1},\n\t\t{0x00016ad0, 0x00016aed, 1},\n\t\t{0x00016af0, 0x00016af5, 1},\n\t\t{0x00016b00, 0x00016b45, 1},\n\t\t{0x00016b50, 0x00016b59, 1},\n\t\t{0x00016b5b, 0x00016b61, 1},\n\t\t{0x00016b63, 0x00016b77, 1},\n\t\t{0x00016b7d, 0x00016b8f, 1},\n\t\t{0x00016f00, 0x00016f44, 1},\n\t\t{0x00016f50, 0x00016f7e, 1},\n\t\t{0x00016f8f, 0x00016f9f, 1},\n\t\t{0x0001b000, 0x0001b001, 1},\n\t\t{0x0001bc00, 0x0001bc6a, 1},\n\t\t{0x0001bc70, 0x0001bc7c, 1},\n\t\t{0x0001bc80, 0x0001bc88, 1},\n\t\t{0x0001bc90, 0x0001bc99, 1},\n\t\t{0x0001bc9c, 0x0001bca3, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1e8, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001da8b, 1},\n\t\t{0x0001da9b, 0x0001da9f, 1},\n\t\t{0x0001daa1, 0x0001daaf, 1},\n\t\t{0x0001e800, 0x0001e8c4, 1},\n\t\t{0x0001e8c7, 0x0001e8d6, 1},\n\t\t{0x0001ee00, 0x0001ee03, 1},\n\t\t{0x0001ee05, 0x0001ee1f, 1},\n\t\t{0x0001ee21, 0x0001ee22, 1},\n\t\t{0x0001ee24, 0x0001ee27, 3},\n\t\t{0x0001ee29, 0x0001ee32, 1},\n\t\t{0x0001ee34, 0x0001ee37, 1},\n\t\t{0x0001ee39, 0x0001ee3b, 2},\n\t\t{0x0001ee42, 0x0001ee47, 5},\n\t\t{0x0001ee49, 0x0001ee4d, 2},\n\t\t{0x0001ee4e, 0x0001ee4f, 1},\n\t\t{0x0001ee51, 0x0001ee52, 1},\n\t\t{0x0001ee54, 0x0001ee57, 3},\n\t\t{0x0001ee59, 0x0001ee61, 2},\n\t\t{0x0001ee62, 0x0001ee64, 2},\n\t\t{0x0001ee67, 0x0001ee6a, 1},\n\t\t{0x0001ee6c, 0x0001ee72, 1},\n\t\t{0x0001ee74, 0x0001ee77, 1},\n\t\t{0x0001ee79, 0x0001ee7c, 1},\n\t\t{0x0001ee7e, 0x0001ee80, 2},\n\t\t{0x0001ee81, 0x0001ee89, 1},\n\t\t{0x0001ee8b, 0x0001ee9b, 1},\n\t\t{0x0001eea1, 0x0001eea3, 1},\n\t\t{0x0001eea5, 0x0001eea9, 1},\n\t\t{0x0001eeab, 0x0001eebb, 1},\n\t\t{0x0001eef0, 0x0001eef1, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x0001f0a0, 0x0001f0ae, 1},\n\t\t{0x0001f0b1, 0x0001f0bf, 1},\n\t\t{0x0001f0c1, 0x0001f0cf, 1},\n\t\t{0x0001f0d1, 0x0001f0f5, 1},\n\t\t{0x0001f100, 0x0001f10c, 1},\n\t\t{0x0001f110, 0x0001f12e, 1},\n\t\t{0x0001f130, 0x0001f16b, 1},\n\t\t{0x0001f170, 0x0001f19a, 1},\n\t\t{0x0001f1e6, 0x0001f202, 1},\n\t\t{0x0001f210, 0x0001f23a, 1},\n\t\t{0x0001f240, 0x0001f248, 1},\n\t\t{0x0001f250, 0x0001f251, 1},\n\t\t{0x0001f300, 0x0001f579, 1},\n\t\t{0x0001f57b, 0x0001f5a3, 1},\n\t\t{0x0001f5a5, 0x0001f6d0, 1},\n\t\t{0x0001f6e0, 0x0001f6ec, 1},\n\t\t{0x0001f6f0, 0x0001f6f3, 1},\n\t\t{0x0001f700, 0x0001f773, 1},\n\t\t{0x0001f780, 0x0001f7d4, 1},\n\t\t{0x0001f800, 0x0001f80b, 1},\n\t\t{0x0001f810, 0x0001f847, 1},\n\t\t{0x0001f850, 0x0001f859, 1},\n\t\t{0x0001f860, 0x0001f887, 1},\n\t\t{0x0001f890, 0x0001f8ad, 1},\n\t\t{0x0001f910, 0x0001f918, 1},\n\t\t{0x0001f980, 0x0001f984, 1},\n\t\t{0x0001f9c0, 0x00020000, 1600},\n\t\t{0x00020001, 0x0002a6d6, 1},\n\t\t{0x0002a700, 0x0002b734, 1},\n\t\t{0x0002b740, 0x0002b81d, 1},\n\t\t{0x0002b820, 0x0002cea1, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 5348 bytes (5 KiB)\nvar assigned9_0_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037f, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x052f, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x058d, 0x058f, 1},\n\t\t{0x0591, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x061c, 1},\n\t\t{0x061e, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0800, 0x082d, 1},\n\t\t{0x0830, 0x083e, 1},\n\t\t{0x0840, 0x085b, 1},\n\t\t{0x085e, 0x08a0, 66},\n\t\t{0x08a1, 0x08b4, 1},\n\t\t{0x08b6, 0x08bd, 1},\n\t\t{0x08d4, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fb, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0af1, 1},\n\t\t{0x0af9, 0x0b01, 8},\n\t\t{0x0b02, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b77, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c00, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c5a, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d01, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d3a, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4f, 1},\n\t\t{0x0d54, 0x0d63, 1},\n\t\t{0x0d66, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0de6, 0x0def, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edf, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fda, 1},\n\t\t{0x1000, 0x10c5, 1},\n\t\t{0x10c7, 0x10cd, 6},\n\t\t{0x10d0, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135d, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f5, 1},\n\t\t{0x13f8, 0x13fd, 1},\n\t\t{0x1400, 0x169c, 1},\n\t\t{0x16a0, 0x16f8, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x18b0, 0x18f5, 1},\n\t\t{0x1900, 0x191e, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19ab, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19da, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a5e, 1},\n\t\t{0x1a60, 0x1a7c, 1},\n\t\t{0x1a7f, 0x1a89, 1},\n\t\t{0x1a90, 0x1a99, 1},\n\t\t{0x1aa0, 0x1aad, 1},\n\t\t{0x1ab0, 0x1abe, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1bf3, 1},\n\t\t{0x1bfc, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c88, 1},\n\t\t{0x1cc0, 0x1cc7, 1},\n\t\t{0x1cd0, 0x1cf6, 1},\n\t\t{0x1cf8, 0x1cf9, 1},\n\t\t{0x1d00, 0x1df5, 1},\n\t\t{0x1dfb, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x2066, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x209c, 1},\n\t\t{0x20a0, 0x20be, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x218b, 1},\n\t\t{0x2190, 0x23fe, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x2b73, 1},\n\t\t{0x2b76, 0x2b95, 1},\n\t\t{0x2b98, 0x2bb9, 1},\n\t\t{0x2bbd, 0x2bc8, 1},\n\t\t{0x2bca, 0x2bd1, 1},\n\t\t{0x2bec, 0x2bef, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2cf3, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d27, 0x2d2d, 6},\n\t\t{0x2d30, 0x2d67, 1},\n\t\t{0x2d6f, 0x2d70, 1},\n\t\t{0x2d7f, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e44, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31ba, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fd5, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa4d0, 0xa62b, 1},\n\t\t{0xa640, 0xa6f7, 1},\n\t\t{0xa700, 0xa7ae, 1},\n\t\t{0xa7b0, 0xa7b7, 1},\n\t\t{0xa7f7, 0xa82b, 1},\n\t\t{0xa830, 0xa839, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c5, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa8e0, 0xa8fd, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xa97c, 1},\n\t\t{0xa980, 0xa9cd, 1},\n\t\t{0xa9cf, 0xa9d9, 1},\n\t\t{0xa9de, 0xa9fe, 1},\n\t\t{0xaa00, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaac2, 1},\n\t\t{0xaadb, 0xaaf6, 1},\n\t\t{0xab01, 0xab06, 1},\n\t\t{0xab09, 0xab0e, 1},\n\t\t{0xab11, 0xab16, 1},\n\t\t{0xab20, 0xab26, 1},\n\t\t{0xab28, 0xab2e, 1},\n\t\t{0xab30, 0xab65, 1},\n\t\t{0xab70, 0xabed, 1},\n\t\t{0xabf0, 0xabf9, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd7b0, 0xd7c6, 1},\n\t\t{0xd7cb, 0xd7fb, 1},\n\t\t{0xd800, 0xfa6d, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbc1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018e, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101a0, 0x000101d0, 48},\n\t\t{0x000101d1, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x000102e0, 0x000102fb, 1},\n\t\t{0x00010300, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010350, 0x0001037a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x000104b0, 0x000104d3, 1},\n\t\t{0x000104d8, 0x000104fb, 1},\n\t\t{0x00010500, 0x00010527, 1},\n\t\t{0x00010530, 0x00010563, 1},\n\t\t{0x0001056f, 0x00010600, 145},\n\t\t{0x00010601, 0x00010736, 1},\n\t\t{0x00010740, 0x00010755, 1},\n\t\t{0x00010760, 0x00010767, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010840, 0x00010855, 1},\n\t\t{0x00010857, 0x0001089e, 1},\n\t\t{0x000108a7, 0x000108af, 1},\n\t\t{0x000108e0, 0x000108f2, 1},\n\t\t{0x000108f4, 0x000108f5, 1},\n\t\t{0x000108fb, 0x0001091b, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010980, 65},\n\t\t{0x00010981, 0x000109b7, 1},\n\t\t{0x000109bc, 0x000109cf, 1},\n\t\t{0x000109d2, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00010a60, 0x00010a9f, 1},\n\t\t{0x00010ac0, 0x00010ae6, 1},\n\t\t{0x00010aeb, 0x00010af6, 1},\n\t\t{0x00010b00, 0x00010b35, 1},\n\t\t{0x00010b39, 0x00010b55, 1},\n\t\t{0x00010b58, 0x00010b72, 1},\n\t\t{0x00010b78, 0x00010b91, 1},\n\t\t{0x00010b99, 0x00010b9c, 1},\n\t\t{0x00010ba9, 0x00010baf, 1},\n\t\t{0x00010c00, 0x00010c48, 1},\n\t\t{0x00010c80, 0x00010cb2, 1},\n\t\t{0x00010cc0, 0x00010cf2, 1},\n\t\t{0x00010cfa, 0x00010cff, 1},\n\t\t{0x00010e60, 0x00010e7e, 1},\n\t\t{0x00011000, 0x0001104d, 1},\n\t\t{0x00011052, 0x0001106f, 1},\n\t\t{0x0001107f, 0x000110c1, 1},\n\t\t{0x000110d0, 0x000110e8, 1},\n\t\t{0x000110f0, 0x000110f9, 1},\n\t\t{0x00011100, 0x00011134, 1},\n\t\t{0x00011136, 0x00011143, 1},\n\t\t{0x00011150, 0x00011176, 1},\n\t\t{0x00011180, 0x000111cd, 1},\n\t\t{0x000111d0, 0x000111df, 1},\n\t\t{0x000111e1, 0x000111f4, 1},\n\t\t{0x00011200, 0x00011211, 1},\n\t\t{0x00011213, 0x0001123e, 1},\n\t\t{0x00011280, 0x00011286, 1},\n\t\t{0x00011288, 0x0001128a, 2},\n\t\t{0x0001128b, 0x0001128d, 1},\n\t\t{0x0001128f, 0x0001129d, 1},\n\t\t{0x0001129f, 0x000112a9, 1},\n\t\t{0x000112b0, 0x000112ea, 1},\n\t\t{0x000112f0, 0x000112f9, 1},\n\t\t{0x00011300, 0x00011303, 1},\n\t\t{0x00011305, 0x0001130c, 1},\n\t\t{0x0001130f, 0x00011310, 1},\n\t\t{0x00011313, 0x00011328, 1},\n\t\t{0x0001132a, 0x00011330, 1},\n\t\t{0x00011332, 0x00011333, 1},\n\t\t{0x00011335, 0x00011339, 1},\n\t\t{0x0001133c, 0x00011344, 1},\n\t\t{0x00011347, 0x00011348, 1},\n\t\t{0x0001134b, 0x0001134d, 1},\n\t\t{0x00011350, 0x00011357, 7},\n\t\t{0x0001135d, 0x00011363, 1},\n\t\t{0x00011366, 0x0001136c, 1},\n\t\t{0x00011370, 0x00011374, 1},\n\t\t{0x00011400, 0x00011459, 1},\n\t\t{0x0001145b, 0x0001145d, 2},\n\t\t{0x00011480, 0x000114c7, 1},\n\t\t{0x000114d0, 0x000114d9, 1},\n\t\t{0x00011580, 0x000115b5, 1},\n\t\t{0x000115b8, 0x000115dd, 1},\n\t\t{0x00011600, 0x00011644, 1},\n\t\t{0x00011650, 0x00011659, 1},\n\t\t{0x00011660, 0x0001166c, 1},\n\t\t{0x00011680, 0x000116b7, 1},\n\t\t{0x000116c0, 0x000116c9, 1},\n\t\t{0x00011700, 0x00011719, 1},\n\t\t{0x0001171d, 0x0001172b, 1},\n\t\t{0x00011730, 0x0001173f, 1},\n\t\t{0x000118a0, 0x000118f2, 1},\n\t\t{0x000118ff, 0x00011ac0, 449},\n\t\t{0x00011ac1, 0x00011af8, 1},\n\t\t{0x00011c00, 0x00011c08, 1},\n\t\t{0x00011c0a, 0x00011c36, 1},\n\t\t{0x00011c38, 0x00011c45, 1},\n\t\t{0x00011c50, 0x00011c6c, 1},\n\t\t{0x00011c70, 0x00011c8f, 1},\n\t\t{0x00011c92, 0x00011ca7, 1},\n\t\t{0x00011ca9, 0x00011cb6, 1},\n\t\t{0x00012000, 0x00012399, 1},\n\t\t{0x00012400, 0x0001246e, 1},\n\t\t{0x00012470, 0x00012474, 1},\n\t\t{0x00012480, 0x00012543, 1},\n\t\t{0x00013000, 0x0001342e, 1},\n\t\t{0x00014400, 0x00014646, 1},\n\t\t{0x00016800, 0x00016a38, 1},\n\t\t{0x00016a40, 0x00016a5e, 1},\n\t\t{0x00016a60, 0x00016a69, 1},\n\t\t{0x00016a6e, 0x00016a6f, 1},\n\t\t{0x00016ad0, 0x00016aed, 1},\n\t\t{0x00016af0, 0x00016af5, 1},\n\t\t{0x00016b00, 0x00016b45, 1},\n\t\t{0x00016b50, 0x00016b59, 1},\n\t\t{0x00016b5b, 0x00016b61, 1},\n\t\t{0x00016b63, 0x00016b77, 1},\n\t\t{0x00016b7d, 0x00016b8f, 1},\n\t\t{0x00016f00, 0x00016f44, 1},\n\t\t{0x00016f50, 0x00016f7e, 1},\n\t\t{0x00016f8f, 0x00016f9f, 1},\n\t\t{0x00016fe0, 0x00017000, 32},\n\t\t{0x00017001, 0x000187ec, 1},\n\t\t{0x00018800, 0x00018af2, 1},\n\t\t{0x0001b000, 0x0001b001, 1},\n\t\t{0x0001bc00, 0x0001bc6a, 1},\n\t\t{0x0001bc70, 0x0001bc7c, 1},\n\t\t{0x0001bc80, 0x0001bc88, 1},\n\t\t{0x0001bc90, 0x0001bc99, 1},\n\t\t{0x0001bc9c, 0x0001bca3, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1e8, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001da8b, 1},\n\t\t{0x0001da9b, 0x0001da9f, 1},\n\t\t{0x0001daa1, 0x0001daaf, 1},\n\t\t{0x0001e000, 0x0001e006, 1},\n\t\t{0x0001e008, 0x0001e018, 1},\n\t\t{0x0001e01b, 0x0001e021, 1},\n\t\t{0x0001e023, 0x0001e024, 1},\n\t\t{0x0001e026, 0x0001e02a, 1},\n\t\t{0x0001e800, 0x0001e8c4, 1},\n\t\t{0x0001e8c7, 0x0001e8d6, 1},\n\t\t{0x0001e900, 0x0001e94a, 1},\n\t\t{0x0001e950, 0x0001e959, 1},\n\t\t{0x0001e95e, 0x0001e95f, 1},\n\t\t{0x0001ee00, 0x0001ee03, 1},\n\t\t{0x0001ee05, 0x0001ee1f, 1},\n\t\t{0x0001ee21, 0x0001ee22, 1},\n\t\t{0x0001ee24, 0x0001ee27, 3},\n\t\t{0x0001ee29, 0x0001ee32, 1},\n\t\t{0x0001ee34, 0x0001ee37, 1},\n\t\t{0x0001ee39, 0x0001ee3b, 2},\n\t\t{0x0001ee42, 0x0001ee47, 5},\n\t\t{0x0001ee49, 0x0001ee4d, 2},\n\t\t{0x0001ee4e, 0x0001ee4f, 1},\n\t\t{0x0001ee51, 0x0001ee52, 1},\n\t\t{0x0001ee54, 0x0001ee57, 3},\n\t\t{0x0001ee59, 0x0001ee61, 2},\n\t\t{0x0001ee62, 0x0001ee64, 2},\n\t\t{0x0001ee67, 0x0001ee6a, 1},\n\t\t{0x0001ee6c, 0x0001ee72, 1},\n\t\t{0x0001ee74, 0x0001ee77, 1},\n\t\t{0x0001ee79, 0x0001ee7c, 1},\n\t\t{0x0001ee7e, 0x0001ee80, 2},\n\t\t{0x0001ee81, 0x0001ee89, 1},\n\t\t{0x0001ee8b, 0x0001ee9b, 1},\n\t\t{0x0001eea1, 0x0001eea3, 1},\n\t\t{0x0001eea5, 0x0001eea9, 1},\n\t\t{0x0001eeab, 0x0001eebb, 1},\n\t\t{0x0001eef0, 0x0001eef1, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x0001f0a0, 0x0001f0ae, 1},\n\t\t{0x0001f0b1, 0x0001f0bf, 1},\n\t\t{0x0001f0c1, 0x0001f0cf, 1},\n\t\t{0x0001f0d1, 0x0001f0f5, 1},\n\t\t{0x0001f100, 0x0001f10c, 1},\n\t\t{0x0001f110, 0x0001f12e, 1},\n\t\t{0x0001f130, 0x0001f16b, 1},\n\t\t{0x0001f170, 0x0001f1ac, 1},\n\t\t{0x0001f1e6, 0x0001f202, 1},\n\t\t{0x0001f210, 0x0001f23b, 1},\n\t\t{0x0001f240, 0x0001f248, 1},\n\t\t{0x0001f250, 0x0001f251, 1},\n\t\t{0x0001f300, 0x0001f6d2, 1},\n\t\t{0x0001f6e0, 0x0001f6ec, 1},\n\t\t{0x0001f6f0, 0x0001f6f6, 1},\n\t\t{0x0001f700, 0x0001f773, 1},\n\t\t{0x0001f780, 0x0001f7d4, 1},\n\t\t{0x0001f800, 0x0001f80b, 1},\n\t\t{0x0001f810, 0x0001f847, 1},\n\t\t{0x0001f850, 0x0001f859, 1},\n\t\t{0x0001f860, 0x0001f887, 1},\n\t\t{0x0001f890, 0x0001f8ad, 1},\n\t\t{0x0001f910, 0x0001f91e, 1},\n\t\t{0x0001f920, 0x0001f927, 1},\n\t\t{0x0001f930, 0x0001f933, 3},\n\t\t{0x0001f934, 0x0001f93e, 1},\n\t\t{0x0001f940, 0x0001f94b, 1},\n\t\t{0x0001f950, 0x0001f95e, 1},\n\t\t{0x0001f980, 0x0001f991, 1},\n\t\t{0x0001f9c0, 0x00020000, 1600},\n\t\t{0x00020001, 0x0002a6d6, 1},\n\t\t{0x0002a700, 0x0002b734, 1},\n\t\t{0x0002b740, 0x0002b81d, 1},\n\t\t{0x0002b820, 0x0002cea1, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 5492 bytes (5 KiB)\nvar assigned10_0_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037f, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x052f, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x058d, 0x058f, 1},\n\t\t{0x0591, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x061c, 1},\n\t\t{0x061e, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0800, 0x082d, 1},\n\t\t{0x0830, 0x083e, 1},\n\t\t{0x0840, 0x085b, 1},\n\t\t{0x085e, 0x0860, 2},\n\t\t{0x0861, 0x086a, 1},\n\t\t{0x08a0, 0x08b4, 1},\n\t\t{0x08b6, 0x08bd, 1},\n\t\t{0x08d4, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fd, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0af1, 1},\n\t\t{0x0af9, 0x0aff, 1},\n\t\t{0x0b01, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b77, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c00, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c5a, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d00, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4f, 1},\n\t\t{0x0d54, 0x0d63, 1},\n\t\t{0x0d66, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0de6, 0x0def, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edf, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fda, 1},\n\t\t{0x1000, 0x10c5, 1},\n\t\t{0x10c7, 0x10cd, 6},\n\t\t{0x10d0, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135d, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f5, 1},\n\t\t{0x13f8, 0x13fd, 1},\n\t\t{0x1400, 0x169c, 1},\n\t\t{0x16a0, 0x16f8, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x18b0, 0x18f5, 1},\n\t\t{0x1900, 0x191e, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19ab, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19da, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a5e, 1},\n\t\t{0x1a60, 0x1a7c, 1},\n\t\t{0x1a7f, 0x1a89, 1},\n\t\t{0x1a90, 0x1a99, 1},\n\t\t{0x1aa0, 0x1aad, 1},\n\t\t{0x1ab0, 0x1abe, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1bf3, 1},\n\t\t{0x1bfc, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c88, 1},\n\t\t{0x1cc0, 0x1cc7, 1},\n\t\t{0x1cd0, 0x1cf9, 1},\n\t\t{0x1d00, 0x1df9, 1},\n\t\t{0x1dfb, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x2066, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x209c, 1},\n\t\t{0x20a0, 0x20bf, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x218b, 1},\n\t\t{0x2190, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x2b73, 1},\n\t\t{0x2b76, 0x2b95, 1},\n\t\t{0x2b98, 0x2bb9, 1},\n\t\t{0x2bbd, 0x2bc8, 1},\n\t\t{0x2bca, 0x2bd2, 1},\n\t\t{0x2bec, 0x2bef, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2cf3, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d27, 0x2d2d, 6},\n\t\t{0x2d30, 0x2d67, 1},\n\t\t{0x2d6f, 0x2d70, 1},\n\t\t{0x2d7f, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e49, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312e, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31ba, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fea, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa4d0, 0xa62b, 1},\n\t\t{0xa640, 0xa6f7, 1},\n\t\t{0xa700, 0xa7ae, 1},\n\t\t{0xa7b0, 0xa7b7, 1},\n\t\t{0xa7f7, 0xa82b, 1},\n\t\t{0xa830, 0xa839, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c5, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa8e0, 0xa8fd, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xa97c, 1},\n\t\t{0xa980, 0xa9cd, 1},\n\t\t{0xa9cf, 0xa9d9, 1},\n\t\t{0xa9de, 0xa9fe, 1},\n\t\t{0xaa00, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaac2, 1},\n\t\t{0xaadb, 0xaaf6, 1},\n\t\t{0xab01, 0xab06, 1},\n\t\t{0xab09, 0xab0e, 1},\n\t\t{0xab11, 0xab16, 1},\n\t\t{0xab20, 0xab26, 1},\n\t\t{0xab28, 0xab2e, 1},\n\t\t{0xab30, 0xab65, 1},\n\t\t{0xab70, 0xabed, 1},\n\t\t{0xabf0, 0xabf9, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd7b0, 0xd7c6, 1},\n\t\t{0xd7cb, 0xd7fb, 1},\n\t\t{0xd800, 0xfa6d, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbc1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018e, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101a0, 0x000101d0, 48},\n\t\t{0x000101d1, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x000102e0, 0x000102fb, 1},\n\t\t{0x00010300, 0x00010323, 1},\n\t\t{0x0001032d, 0x0001034a, 1},\n\t\t{0x00010350, 0x0001037a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x000104b0, 0x000104d3, 1},\n\t\t{0x000104d8, 0x000104fb, 1},\n\t\t{0x00010500, 0x00010527, 1},\n\t\t{0x00010530, 0x00010563, 1},\n\t\t{0x0001056f, 0x00010600, 145},\n\t\t{0x00010601, 0x00010736, 1},\n\t\t{0x00010740, 0x00010755, 1},\n\t\t{0x00010760, 0x00010767, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010840, 0x00010855, 1},\n\t\t{0x00010857, 0x0001089e, 1},\n\t\t{0x000108a7, 0x000108af, 1},\n\t\t{0x000108e0, 0x000108f2, 1},\n\t\t{0x000108f4, 0x000108f5, 1},\n\t\t{0x000108fb, 0x0001091b, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010980, 65},\n\t\t{0x00010981, 0x000109b7, 1},\n\t\t{0x000109bc, 0x000109cf, 1},\n\t\t{0x000109d2, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00010a60, 0x00010a9f, 1},\n\t\t{0x00010ac0, 0x00010ae6, 1},\n\t\t{0x00010aeb, 0x00010af6, 1},\n\t\t{0x00010b00, 0x00010b35, 1},\n\t\t{0x00010b39, 0x00010b55, 1},\n\t\t{0x00010b58, 0x00010b72, 1},\n\t\t{0x00010b78, 0x00010b91, 1},\n\t\t{0x00010b99, 0x00010b9c, 1},\n\t\t{0x00010ba9, 0x00010baf, 1},\n\t\t{0x00010c00, 0x00010c48, 1},\n\t\t{0x00010c80, 0x00010cb2, 1},\n\t\t{0x00010cc0, 0x00010cf2, 1},\n\t\t{0x00010cfa, 0x00010cff, 1},\n\t\t{0x00010e60, 0x00010e7e, 1},\n\t\t{0x00011000, 0x0001104d, 1},\n\t\t{0x00011052, 0x0001106f, 1},\n\t\t{0x0001107f, 0x000110c1, 1},\n\t\t{0x000110d0, 0x000110e8, 1},\n\t\t{0x000110f0, 0x000110f9, 1},\n\t\t{0x00011100, 0x00011134, 1},\n\t\t{0x00011136, 0x00011143, 1},\n\t\t{0x00011150, 0x00011176, 1},\n\t\t{0x00011180, 0x000111cd, 1},\n\t\t{0x000111d0, 0x000111df, 1},\n\t\t{0x000111e1, 0x000111f4, 1},\n\t\t{0x00011200, 0x00011211, 1},\n\t\t{0x00011213, 0x0001123e, 1},\n\t\t{0x00011280, 0x00011286, 1},\n\t\t{0x00011288, 0x0001128a, 2},\n\t\t{0x0001128b, 0x0001128d, 1},\n\t\t{0x0001128f, 0x0001129d, 1},\n\t\t{0x0001129f, 0x000112a9, 1},\n\t\t{0x000112b0, 0x000112ea, 1},\n\t\t{0x000112f0, 0x000112f9, 1},\n\t\t{0x00011300, 0x00011303, 1},\n\t\t{0x00011305, 0x0001130c, 1},\n\t\t{0x0001130f, 0x00011310, 1},\n\t\t{0x00011313, 0x00011328, 1},\n\t\t{0x0001132a, 0x00011330, 1},\n\t\t{0x00011332, 0x00011333, 1},\n\t\t{0x00011335, 0x00011339, 1},\n\t\t{0x0001133c, 0x00011344, 1},\n\t\t{0x00011347, 0x00011348, 1},\n\t\t{0x0001134b, 0x0001134d, 1},\n\t\t{0x00011350, 0x00011357, 7},\n\t\t{0x0001135d, 0x00011363, 1},\n\t\t{0x00011366, 0x0001136c, 1},\n\t\t{0x00011370, 0x00011374, 1},\n\t\t{0x00011400, 0x00011459, 1},\n\t\t{0x0001145b, 0x0001145d, 2},\n\t\t{0x00011480, 0x000114c7, 1},\n\t\t{0x000114d0, 0x000114d9, 1},\n\t\t{0x00011580, 0x000115b5, 1},\n\t\t{0x000115b8, 0x000115dd, 1},\n\t\t{0x00011600, 0x00011644, 1},\n\t\t{0x00011650, 0x00011659, 1},\n\t\t{0x00011660, 0x0001166c, 1},\n\t\t{0x00011680, 0x000116b7, 1},\n\t\t{0x000116c0, 0x000116c9, 1},\n\t\t{0x00011700, 0x00011719, 1},\n\t\t{0x0001171d, 0x0001172b, 1},\n\t\t{0x00011730, 0x0001173f, 1},\n\t\t{0x000118a0, 0x000118f2, 1},\n\t\t{0x000118ff, 0x00011a00, 257},\n\t\t{0x00011a01, 0x00011a47, 1},\n\t\t{0x00011a50, 0x00011a83, 1},\n\t\t{0x00011a86, 0x00011a9c, 1},\n\t\t{0x00011a9e, 0x00011aa2, 1},\n\t\t{0x00011ac0, 0x00011af8, 1},\n\t\t{0x00011c00, 0x00011c08, 1},\n\t\t{0x00011c0a, 0x00011c36, 1},\n\t\t{0x00011c38, 0x00011c45, 1},\n\t\t{0x00011c50, 0x00011c6c, 1},\n\t\t{0x00011c70, 0x00011c8f, 1},\n\t\t{0x00011c92, 0x00011ca7, 1},\n\t\t{0x00011ca9, 0x00011cb6, 1},\n\t\t{0x00011d00, 0x00011d06, 1},\n\t\t{0x00011d08, 0x00011d09, 1},\n\t\t{0x00011d0b, 0x00011d36, 1},\n\t\t{0x00011d3a, 0x00011d3c, 2},\n\t\t{0x00011d3d, 0x00011d3f, 2},\n\t\t{0x00011d40, 0x00011d47, 1},\n\t\t{0x00011d50, 0x00011d59, 1},\n\t\t{0x00012000, 0x00012399, 1},\n\t\t{0x00012400, 0x0001246e, 1},\n\t\t{0x00012470, 0x00012474, 1},\n\t\t{0x00012480, 0x00012543, 1},\n\t\t{0x00013000, 0x0001342e, 1},\n\t\t{0x00014400, 0x00014646, 1},\n\t\t{0x00016800, 0x00016a38, 1},\n\t\t{0x00016a40, 0x00016a5e, 1},\n\t\t{0x00016a60, 0x00016a69, 1},\n\t\t{0x00016a6e, 0x00016a6f, 1},\n\t\t{0x00016ad0, 0x00016aed, 1},\n\t\t{0x00016af0, 0x00016af5, 1},\n\t\t{0x00016b00, 0x00016b45, 1},\n\t\t{0x00016b50, 0x00016b59, 1},\n\t\t{0x00016b5b, 0x00016b61, 1},\n\t\t{0x00016b63, 0x00016b77, 1},\n\t\t{0x00016b7d, 0x00016b8f, 1},\n\t\t{0x00016f00, 0x00016f44, 1},\n\t\t{0x00016f50, 0x00016f7e, 1},\n\t\t{0x00016f8f, 0x00016f9f, 1},\n\t\t{0x00016fe0, 0x00016fe1, 1},\n\t\t{0x00017000, 0x000187ec, 1},\n\t\t{0x00018800, 0x00018af2, 1},\n\t\t{0x0001b000, 0x0001b11e, 1},\n\t\t{0x0001b170, 0x0001b2fb, 1},\n\t\t{0x0001bc00, 0x0001bc6a, 1},\n\t\t{0x0001bc70, 0x0001bc7c, 1},\n\t\t{0x0001bc80, 0x0001bc88, 1},\n\t\t{0x0001bc90, 0x0001bc99, 1},\n\t\t{0x0001bc9c, 0x0001bca3, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1e8, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001da8b, 1},\n\t\t{0x0001da9b, 0x0001da9f, 1},\n\t\t{0x0001daa1, 0x0001daaf, 1},\n\t\t{0x0001e000, 0x0001e006, 1},\n\t\t{0x0001e008, 0x0001e018, 1},\n\t\t{0x0001e01b, 0x0001e021, 1},\n\t\t{0x0001e023, 0x0001e024, 1},\n\t\t{0x0001e026, 0x0001e02a, 1},\n\t\t{0x0001e800, 0x0001e8c4, 1},\n\t\t{0x0001e8c7, 0x0001e8d6, 1},\n\t\t{0x0001e900, 0x0001e94a, 1},\n\t\t{0x0001e950, 0x0001e959, 1},\n\t\t{0x0001e95e, 0x0001e95f, 1},\n\t\t{0x0001ee00, 0x0001ee03, 1},\n\t\t{0x0001ee05, 0x0001ee1f, 1},\n\t\t{0x0001ee21, 0x0001ee22, 1},\n\t\t{0x0001ee24, 0x0001ee27, 3},\n\t\t{0x0001ee29, 0x0001ee32, 1},\n\t\t{0x0001ee34, 0x0001ee37, 1},\n\t\t{0x0001ee39, 0x0001ee3b, 2},\n\t\t{0x0001ee42, 0x0001ee47, 5},\n\t\t{0x0001ee49, 0x0001ee4d, 2},\n\t\t{0x0001ee4e, 0x0001ee4f, 1},\n\t\t{0x0001ee51, 0x0001ee52, 1},\n\t\t{0x0001ee54, 0x0001ee57, 3},\n\t\t{0x0001ee59, 0x0001ee61, 2},\n\t\t{0x0001ee62, 0x0001ee64, 2},\n\t\t{0x0001ee67, 0x0001ee6a, 1},\n\t\t{0x0001ee6c, 0x0001ee72, 1},\n\t\t{0x0001ee74, 0x0001ee77, 1},\n\t\t{0x0001ee79, 0x0001ee7c, 1},\n\t\t{0x0001ee7e, 0x0001ee80, 2},\n\t\t{0x0001ee81, 0x0001ee89, 1},\n\t\t{0x0001ee8b, 0x0001ee9b, 1},\n\t\t{0x0001eea1, 0x0001eea3, 1},\n\t\t{0x0001eea5, 0x0001eea9, 1},\n\t\t{0x0001eeab, 0x0001eebb, 1},\n\t\t{0x0001eef0, 0x0001eef1, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x0001f0a0, 0x0001f0ae, 1},\n\t\t{0x0001f0b1, 0x0001f0bf, 1},\n\t\t{0x0001f0c1, 0x0001f0cf, 1},\n\t\t{0x0001f0d1, 0x0001f0f5, 1},\n\t\t{0x0001f100, 0x0001f10c, 1},\n\t\t{0x0001f110, 0x0001f12e, 1},\n\t\t{0x0001f130, 0x0001f16b, 1},\n\t\t{0x0001f170, 0x0001f1ac, 1},\n\t\t{0x0001f1e6, 0x0001f202, 1},\n\t\t{0x0001f210, 0x0001f23b, 1},\n\t\t{0x0001f240, 0x0001f248, 1},\n\t\t{0x0001f250, 0x0001f251, 1},\n\t\t{0x0001f260, 0x0001f265, 1},\n\t\t{0x0001f300, 0x0001f6d4, 1},\n\t\t{0x0001f6e0, 0x0001f6ec, 1},\n\t\t{0x0001f6f0, 0x0001f6f8, 1},\n\t\t{0x0001f700, 0x0001f773, 1},\n\t\t{0x0001f780, 0x0001f7d4, 1},\n\t\t{0x0001f800, 0x0001f80b, 1},\n\t\t{0x0001f810, 0x0001f847, 1},\n\t\t{0x0001f850, 0x0001f859, 1},\n\t\t{0x0001f860, 0x0001f887, 1},\n\t\t{0x0001f890, 0x0001f8ad, 1},\n\t\t{0x0001f900, 0x0001f90b, 1},\n\t\t{0x0001f910, 0x0001f93e, 1},\n\t\t{0x0001f940, 0x0001f94c, 1},\n\t\t{0x0001f950, 0x0001f96b, 1},\n\t\t{0x0001f980, 0x0001f997, 1},\n\t\t{0x0001f9c0, 0x0001f9d0, 16},\n\t\t{0x0001f9d1, 0x0001f9e6, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002a700, 0x0002b734, 1},\n\t\t{0x0002b740, 0x0002b81d, 1},\n\t\t{0x0002b820, 0x0002cea1, 1},\n\t\t{0x0002ceb0, 0x0002ebe0, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// Total size 49698 bytes (48 KiB)\n"
  },
  {
    "path": "vendor/golang.org/x/text/unicode/rangetable/tables9.0.0.go",
    "content": "// Code generated by running \"go generate\" in golang.org/x/text. DO NOT EDIT.\n\n// +build !go1.10\n\npackage rangetable\n\n//go:generate go run gen.go --versions=4.1.0,5.1.0,5.2.0,5.0.0,6.1.0,6.2.0,6.3.0,6.0.0,7.0.0,8.0.0,9.0.0\n\nimport \"unicode\"\n\nvar assigned = map[string]*unicode.RangeTable{\n\t\"4.1.0\": assigned4_1_0,\n\t\"5.1.0\": assigned5_1_0,\n\t\"5.2.0\": assigned5_2_0,\n\t\"5.0.0\": assigned5_0_0,\n\t\"6.1.0\": assigned6_1_0,\n\t\"6.2.0\": assigned6_2_0,\n\t\"6.3.0\": assigned6_3_0,\n\t\"6.0.0\": assigned6_0_0,\n\t\"7.0.0\": assigned7_0_0,\n\t\"8.0.0\": assigned8_0_0,\n\t\"9.0.0\": assigned9_0_0,\n}\n\n// size 2924 bytes (2 KiB)\nvar assigned4_1_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0241, 1},\n\t\t{0x0250, 0x036f, 1},\n\t\t{0x0374, 0x0375, 1},\n\t\t{0x037a, 0x037e, 4},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x03ce, 1},\n\t\t{0x03d0, 0x0486, 1},\n\t\t{0x0488, 0x04ce, 1},\n\t\t{0x04d0, 0x04f9, 1},\n\t\t{0x0500, 0x050f, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x0591, 0x05b9, 1},\n\t\t{0x05bb, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x0603, 1},\n\t\t{0x060b, 0x0615, 1},\n\t\t{0x061b, 0x061e, 3},\n\t\t{0x061f, 0x0621, 2},\n\t\t{0x0622, 0x063a, 1},\n\t\t{0x0640, 0x065e, 1},\n\t\t{0x0660, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x076d, 1},\n\t\t{0x0780, 0x07b1, 1},\n\t\t{0x0901, 0x0939, 1},\n\t\t{0x093c, 0x094d, 1},\n\t\t{0x0950, 0x0954, 1},\n\t\t{0x0958, 0x0970, 1},\n\t\t{0x097d, 0x0981, 4},\n\t\t{0x0982, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fa, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a59, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a74, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0aef, 1},\n\t\t{0x0af1, 0x0b01, 16},\n\t\t{0x0b02, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b43, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b61, 1},\n\t\t{0x0b66, 0x0b71, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd7, 0x0be6, 15},\n\t\t{0x0be7, 0x0bfa, 1},\n\t\t{0x0c01, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c33, 1},\n\t\t{0x0c35, 0x0c39, 1},\n\t\t{0x0c3e, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c60, 0x0c61, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c82, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce6, 5},\n\t\t{0x0ce7, 0x0cef, 1},\n\t\t{0x0d02, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d28, 1},\n\t\t{0x0d2a, 0x0d39, 1},\n\t\t{0x0d3e, 0x0d43, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4d, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d66, 5},\n\t\t{0x0d67, 0x0d6f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edd, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6a, 1},\n\t\t{0x0f71, 0x0f8b, 1},\n\t\t{0x0f90, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fcf, 0x0fd1, 1},\n\t\t{0x1000, 0x1021, 1},\n\t\t{0x1023, 0x1027, 1},\n\t\t{0x1029, 0x102a, 1},\n\t\t{0x102c, 0x1032, 1},\n\t\t{0x1036, 0x1039, 1},\n\t\t{0x1040, 0x1059, 1},\n\t\t{0x10a0, 0x10c5, 1},\n\t\t{0x10d0, 0x10fc, 1},\n\t\t{0x1100, 0x1159, 1},\n\t\t{0x115f, 0x11a2, 1},\n\t\t{0x11a8, 0x11f9, 1},\n\t\t{0x1200, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135f, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1401, 0x1676, 1},\n\t\t{0x1680, 0x169c, 1},\n\t\t{0x16a0, 0x16f0, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18a9, 1},\n\t\t{0x1900, 0x191c, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19a9, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19d9, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a1f, 1},\n\t\t{0x1d00, 0x1dc3, 1},\n\t\t{0x1e00, 0x1e9b, 1},\n\t\t{0x1ea0, 0x1ef9, 1},\n\t\t{0x1f00, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2063, 1},\n\t\t{0x206a, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x2094, 1},\n\t\t{0x20a0, 0x20b5, 1},\n\t\t{0x20d0, 0x20eb, 1},\n\t\t{0x2100, 0x214c, 1},\n\t\t{0x2153, 0x2183, 1},\n\t\t{0x2190, 0x23db, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x269c, 1},\n\t\t{0x26a0, 0x26b1, 1},\n\t\t{0x2701, 0x2704, 1},\n\t\t{0x2706, 0x2709, 1},\n\t\t{0x270c, 0x2727, 1},\n\t\t{0x2729, 0x274b, 1},\n\t\t{0x274d, 0x274f, 2},\n\t\t{0x2750, 0x2752, 1},\n\t\t{0x2756, 0x2758, 2},\n\t\t{0x2759, 0x275e, 1},\n\t\t{0x2761, 0x2794, 1},\n\t\t{0x2798, 0x27af, 1},\n\t\t{0x27b1, 0x27be, 1},\n\t\t{0x27c0, 0x27c6, 1},\n\t\t{0x27d0, 0x27eb, 1},\n\t\t{0x27f0, 0x2b13, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c80, 0x2cea, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d30, 0x2d65, 1},\n\t\t{0x2d6f, 0x2d80, 17},\n\t\t{0x2d81, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2e00, 0x2e17, 1},\n\t\t{0x2e1c, 0x2e1d, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312c, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31b7, 1},\n\t\t{0x31c0, 0x31cf, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x3243, 1},\n\t\t{0x3250, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fbb, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa700, 0xa716, 1},\n\t\t{0xa800, 0xa82b, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd800, 0xfa2d, 1},\n\t\t{0xfa30, 0xfa6a, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbb1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe23, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018a, 1},\n\t\t{0x00010300, 0x0001031e, 1},\n\t\t{0x00010320, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010a00, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d12a, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7c9, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 3152 bytes (3 KiB)\nvar assigned5_1_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037e, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x0523, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x0591, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x0603, 1},\n\t\t{0x0606, 0x061b, 1},\n\t\t{0x061e, 0x061f, 1},\n\t\t{0x0621, 0x065e, 1},\n\t\t{0x0660, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0901, 0x0939, 1},\n\t\t{0x093c, 0x094d, 1},\n\t\t{0x0950, 0x0954, 1},\n\t\t{0x0958, 0x0972, 1},\n\t\t{0x097b, 0x097f, 1},\n\t\t{0x0981, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fa, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0aef, 1},\n\t\t{0x0af1, 0x0b01, 16},\n\t\t{0x0b02, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b71, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c01, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c33, 1},\n\t\t{0x0c35, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c59, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c7f, 1},\n\t\t{0x0c82, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d02, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d28, 1},\n\t\t{0x0d2a, 0x0d39, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4d, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d63, 1},\n\t\t{0x0d66, 0x0d75, 1},\n\t\t{0x0d79, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edd, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f8b, 1},\n\t\t{0x0f90, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fd4, 1},\n\t\t{0x1000, 0x1099, 1},\n\t\t{0x109e, 0x10c5, 1},\n\t\t{0x10d0, 0x10fc, 1},\n\t\t{0x1100, 0x1159, 1},\n\t\t{0x115f, 0x11a2, 1},\n\t\t{0x11a8, 0x11f9, 1},\n\t\t{0x1200, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135f, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1401, 0x1676, 1},\n\t\t{0x1680, 0x169c, 1},\n\t\t{0x16a0, 0x16f0, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x1900, 0x191c, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19a9, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19d9, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a1f, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1baa, 1},\n\t\t{0x1bae, 0x1bb9, 1},\n\t\t{0x1c00, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c7f, 1},\n\t\t{0x1d00, 0x1de6, 1},\n\t\t{0x1dfe, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x206a, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x2094, 1},\n\t\t{0x20a0, 0x20b5, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x214f, 1},\n\t\t{0x2153, 0x2188, 1},\n\t\t{0x2190, 0x23e7, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x269d, 1},\n\t\t{0x26a0, 0x26bc, 1},\n\t\t{0x26c0, 0x26c3, 1},\n\t\t{0x2701, 0x2704, 1},\n\t\t{0x2706, 0x2709, 1},\n\t\t{0x270c, 0x2727, 1},\n\t\t{0x2729, 0x274b, 1},\n\t\t{0x274d, 0x274f, 2},\n\t\t{0x2750, 0x2752, 1},\n\t\t{0x2756, 0x2758, 2},\n\t\t{0x2759, 0x275e, 1},\n\t\t{0x2761, 0x2794, 1},\n\t\t{0x2798, 0x27af, 1},\n\t\t{0x27b1, 0x27be, 1},\n\t\t{0x27c0, 0x27ca, 1},\n\t\t{0x27cc, 0x27d0, 4},\n\t\t{0x27d1, 0x2b4c, 1},\n\t\t{0x2b50, 0x2b54, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2c6f, 1},\n\t\t{0x2c71, 0x2c7d, 1},\n\t\t{0x2c80, 0x2cea, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d30, 0x2d65, 1},\n\t\t{0x2d6f, 0x2d80, 17},\n\t\t{0x2d81, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e30, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31b7, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x3243, 1},\n\t\t{0x3250, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fc3, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa500, 0xa62b, 1},\n\t\t{0xa640, 0xa65f, 1},\n\t\t{0xa662, 0xa673, 1},\n\t\t{0xa67c, 0xa697, 1},\n\t\t{0xa700, 0xa78c, 1},\n\t\t{0xa7fb, 0xa82b, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c4, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xaa00, 161},\n\t\t{0xaa01, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaa5f, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd800, 0xfa2d, 1},\n\t\t{0xfa30, 0xfa6a, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbb1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe26, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018a, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101d0, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x00010300, 0x0001031e, 1},\n\t\t{0x00010320, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010900, 0x00010919, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010a00, 193},\n\t\t{0x00010a01, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00012000, 0x0001236e, 1},\n\t\t{0x00012400, 0x00012462, 1},\n\t\t{0x00012470, 0x00012473, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 3518 bytes (3 KiB)\nvar assigned5_2_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037e, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x0525, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x0591, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x0603, 1},\n\t\t{0x0606, 0x061b, 1},\n\t\t{0x061e, 0x061f, 1},\n\t\t{0x0621, 0x065e, 1},\n\t\t{0x0660, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0800, 0x082d, 1},\n\t\t{0x0830, 0x083e, 1},\n\t\t{0x0900, 0x0939, 1},\n\t\t{0x093c, 0x094e, 1},\n\t\t{0x0950, 0x0955, 1},\n\t\t{0x0958, 0x0972, 1},\n\t\t{0x0979, 0x097f, 1},\n\t\t{0x0981, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fb, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0aef, 1},\n\t\t{0x0af1, 0x0b01, 16},\n\t\t{0x0b02, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b71, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c01, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c33, 1},\n\t\t{0x0c35, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c59, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c7f, 1},\n\t\t{0x0c82, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d02, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d28, 1},\n\t\t{0x0d2a, 0x0d39, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4d, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d63, 1},\n\t\t{0x0d66, 0x0d75, 1},\n\t\t{0x0d79, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edd, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f8b, 1},\n\t\t{0x0f90, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fd8, 1},\n\t\t{0x1000, 0x10c5, 1},\n\t\t{0x10d0, 0x10fc, 1},\n\t\t{0x1100, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135f, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1400, 0x169c, 1},\n\t\t{0x16a0, 0x16f0, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x18b0, 0x18f5, 1},\n\t\t{0x1900, 0x191c, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19ab, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19da, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a5e, 1},\n\t\t{0x1a60, 0x1a7c, 1},\n\t\t{0x1a7f, 0x1a89, 1},\n\t\t{0x1a90, 0x1a99, 1},\n\t\t{0x1aa0, 0x1aad, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1baa, 1},\n\t\t{0x1bae, 0x1bb9, 1},\n\t\t{0x1c00, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c7f, 1},\n\t\t{0x1cd0, 0x1cf2, 1},\n\t\t{0x1d00, 0x1de6, 1},\n\t\t{0x1dfd, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x206a, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x2094, 1},\n\t\t{0x20a0, 0x20b8, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x2189, 1},\n\t\t{0x2190, 0x23e8, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x26cd, 1},\n\t\t{0x26cf, 0x26e1, 1},\n\t\t{0x26e3, 0x26e8, 5},\n\t\t{0x26e9, 0x26ff, 1},\n\t\t{0x2701, 0x2704, 1},\n\t\t{0x2706, 0x2709, 1},\n\t\t{0x270c, 0x2727, 1},\n\t\t{0x2729, 0x274b, 1},\n\t\t{0x274d, 0x274f, 2},\n\t\t{0x2750, 0x2752, 1},\n\t\t{0x2756, 0x275e, 1},\n\t\t{0x2761, 0x2794, 1},\n\t\t{0x2798, 0x27af, 1},\n\t\t{0x27b1, 0x27be, 1},\n\t\t{0x27c0, 0x27ca, 1},\n\t\t{0x27cc, 0x27d0, 4},\n\t\t{0x27d1, 0x2b4c, 1},\n\t\t{0x2b50, 0x2b59, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2cf1, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d30, 0x2d65, 1},\n\t\t{0x2d6f, 0x2d80, 17},\n\t\t{0x2d81, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e31, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31b7, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fcb, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa4d0, 0xa62b, 1},\n\t\t{0xa640, 0xa65f, 1},\n\t\t{0xa662, 0xa673, 1},\n\t\t{0xa67c, 0xa697, 1},\n\t\t{0xa6a0, 0xa6f7, 1},\n\t\t{0xa700, 0xa78c, 1},\n\t\t{0xa7fb, 0xa82b, 1},\n\t\t{0xa830, 0xa839, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c4, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa8e0, 0xa8fb, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xa97c, 1},\n\t\t{0xa980, 0xa9cd, 1},\n\t\t{0xa9cf, 0xa9d9, 1},\n\t\t{0xa9de, 0xa9df, 1},\n\t\t{0xaa00, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaa7b, 1},\n\t\t{0xaa80, 0xaac2, 1},\n\t\t{0xaadb, 0xaadf, 1},\n\t\t{0xabc0, 0xabed, 1},\n\t\t{0xabf0, 0xabf9, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd7b0, 0xd7c6, 1},\n\t\t{0xd7cb, 0xd7fb, 1},\n\t\t{0xd800, 0xfa2d, 1},\n\t\t{0xfa30, 0xfa6d, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbb1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe26, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018a, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101d0, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x00010300, 0x0001031e, 1},\n\t\t{0x00010320, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010840, 0x00010855, 1},\n\t\t{0x00010857, 0x0001085f, 1},\n\t\t{0x00010900, 0x0001091b, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010a00, 193},\n\t\t{0x00010a01, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00010a60, 0x00010a7f, 1},\n\t\t{0x00010b00, 0x00010b35, 1},\n\t\t{0x00010b39, 0x00010b55, 1},\n\t\t{0x00010b58, 0x00010b72, 1},\n\t\t{0x00010b78, 0x00010b7f, 1},\n\t\t{0x00010c00, 0x00010c48, 1},\n\t\t{0x00010e60, 0x00010e7e, 1},\n\t\t{0x00011080, 0x000110c1, 1},\n\t\t{0x00012000, 0x0001236e, 1},\n\t\t{0x00012400, 0x00012462, 1},\n\t\t{0x00012470, 0x00012473, 1},\n\t\t{0x00013000, 0x0001342e, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x0001f100, 0x0001f10a, 1},\n\t\t{0x0001f110, 0x0001f12e, 1},\n\t\t{0x0001f131, 0x0001f13d, 12},\n\t\t{0x0001f13f, 0x0001f142, 3},\n\t\t{0x0001f146, 0x0001f14a, 4},\n\t\t{0x0001f14b, 0x0001f14e, 1},\n\t\t{0x0001f157, 0x0001f15f, 8},\n\t\t{0x0001f179, 0x0001f17b, 2},\n\t\t{0x0001f17c, 0x0001f17f, 3},\n\t\t{0x0001f18a, 0x0001f18d, 1},\n\t\t{0x0001f190, 0x0001f200, 112},\n\t\t{0x0001f210, 0x0001f231, 1},\n\t\t{0x0001f240, 0x0001f248, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002a700, 0x0002b734, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 3026 bytes (2 KiB)\nvar assigned5_0_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x036f, 1},\n\t\t{0x0374, 0x0375, 1},\n\t\t{0x037a, 0x037e, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x03ce, 1},\n\t\t{0x03d0, 0x0486, 1},\n\t\t{0x0488, 0x0513, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x0591, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x0603, 1},\n\t\t{0x060b, 0x0615, 1},\n\t\t{0x061b, 0x061e, 3},\n\t\t{0x061f, 0x0621, 2},\n\t\t{0x0622, 0x063a, 1},\n\t\t{0x0640, 0x065e, 1},\n\t\t{0x0660, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x076d, 1},\n\t\t{0x0780, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0901, 0x0939, 1},\n\t\t{0x093c, 0x094d, 1},\n\t\t{0x0950, 0x0954, 1},\n\t\t{0x0958, 0x0970, 1},\n\t\t{0x097b, 0x097f, 1},\n\t\t{0x0981, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fa, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a59, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a74, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0aef, 1},\n\t\t{0x0af1, 0x0b01, 16},\n\t\t{0x0b02, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b43, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b61, 1},\n\t\t{0x0b66, 0x0b71, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd7, 0x0be6, 15},\n\t\t{0x0be7, 0x0bfa, 1},\n\t\t{0x0c01, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c33, 1},\n\t\t{0x0c35, 0x0c39, 1},\n\t\t{0x0c3e, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c60, 0x0c61, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c82, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d02, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d28, 1},\n\t\t{0x0d2a, 0x0d39, 1},\n\t\t{0x0d3e, 0x0d43, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4d, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d66, 5},\n\t\t{0x0d67, 0x0d6f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edd, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6a, 1},\n\t\t{0x0f71, 0x0f8b, 1},\n\t\t{0x0f90, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fcf, 0x0fd1, 1},\n\t\t{0x1000, 0x1021, 1},\n\t\t{0x1023, 0x1027, 1},\n\t\t{0x1029, 0x102a, 1},\n\t\t{0x102c, 0x1032, 1},\n\t\t{0x1036, 0x1039, 1},\n\t\t{0x1040, 0x1059, 1},\n\t\t{0x10a0, 0x10c5, 1},\n\t\t{0x10d0, 0x10fc, 1},\n\t\t{0x1100, 0x1159, 1},\n\t\t{0x115f, 0x11a2, 1},\n\t\t{0x11a8, 0x11f9, 1},\n\t\t{0x1200, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135f, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1401, 0x1676, 1},\n\t\t{0x1680, 0x169c, 1},\n\t\t{0x16a0, 0x16f0, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18a9, 1},\n\t\t{0x1900, 0x191c, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19a9, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19d9, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a1f, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1d00, 0x1dca, 1},\n\t\t{0x1dfe, 0x1e9b, 1},\n\t\t{0x1ea0, 0x1ef9, 1},\n\t\t{0x1f00, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2063, 1},\n\t\t{0x206a, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x2094, 1},\n\t\t{0x20a0, 0x20b5, 1},\n\t\t{0x20d0, 0x20ef, 1},\n\t\t{0x2100, 0x214e, 1},\n\t\t{0x2153, 0x2184, 1},\n\t\t{0x2190, 0x23e7, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x269c, 1},\n\t\t{0x26a0, 0x26b2, 1},\n\t\t{0x2701, 0x2704, 1},\n\t\t{0x2706, 0x2709, 1},\n\t\t{0x270c, 0x2727, 1},\n\t\t{0x2729, 0x274b, 1},\n\t\t{0x274d, 0x274f, 2},\n\t\t{0x2750, 0x2752, 1},\n\t\t{0x2756, 0x2758, 2},\n\t\t{0x2759, 0x275e, 1},\n\t\t{0x2761, 0x2794, 1},\n\t\t{0x2798, 0x27af, 1},\n\t\t{0x27b1, 0x27be, 1},\n\t\t{0x27c0, 0x27ca, 1},\n\t\t{0x27d0, 0x27eb, 1},\n\t\t{0x27f0, 0x2b1a, 1},\n\t\t{0x2b20, 0x2b23, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2c6c, 1},\n\t\t{0x2c74, 0x2c77, 1},\n\t\t{0x2c80, 0x2cea, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d30, 0x2d65, 1},\n\t\t{0x2d6f, 0x2d80, 17},\n\t\t{0x2d81, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2e00, 0x2e17, 1},\n\t\t{0x2e1c, 0x2e1d, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312c, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31b7, 1},\n\t\t{0x31c0, 0x31cf, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x3243, 1},\n\t\t{0x3250, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fbb, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa700, 0xa71a, 1},\n\t\t{0xa720, 0xa721, 1},\n\t\t{0xa800, 0xa82b, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd800, 0xfa2d, 1},\n\t\t{0xfa30, 0xfa6a, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbb1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe23, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018a, 1},\n\t\t{0x00010300, 0x0001031e, 1},\n\t\t{0x00010320, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010900, 0x00010919, 1},\n\t\t{0x0001091f, 0x00010a00, 225},\n\t\t{0x00010a01, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00012000, 0x0001236e, 1},\n\t\t{0x00012400, 0x00012462, 1},\n\t\t{0x00012470, 0x00012473, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d12a, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 4160 bytes (4 KiB)\nvar assigned6_1_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037e, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x0527, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x058f, 0x0591, 2},\n\t\t{0x0592, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x0604, 1},\n\t\t{0x0606, 0x061b, 1},\n\t\t{0x061e, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0800, 0x082d, 1},\n\t\t{0x0830, 0x083e, 1},\n\t\t{0x0840, 0x085b, 1},\n\t\t{0x085e, 0x08a0, 66},\n\t\t{0x08a2, 0x08ac, 1},\n\t\t{0x08e4, 0x08fe, 1},\n\t\t{0x0900, 0x0977, 1},\n\t\t{0x0979, 0x097f, 1},\n\t\t{0x0981, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fb, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0af1, 1},\n\t\t{0x0b01, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b77, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c01, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c33, 1},\n\t\t{0x0c35, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c59, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c7f, 1},\n\t\t{0x0c82, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d02, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d3a, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4e, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d63, 1},\n\t\t{0x0d66, 0x0d75, 1},\n\t\t{0x0d79, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edf, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fda, 1},\n\t\t{0x1000, 0x10c5, 1},\n\t\t{0x10c7, 0x10cd, 6},\n\t\t{0x10d0, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135d, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1400, 0x169c, 1},\n\t\t{0x16a0, 0x16f0, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x18b0, 0x18f5, 1},\n\t\t{0x1900, 0x191c, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19ab, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19da, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a5e, 1},\n\t\t{0x1a60, 0x1a7c, 1},\n\t\t{0x1a7f, 0x1a89, 1},\n\t\t{0x1a90, 0x1a99, 1},\n\t\t{0x1aa0, 0x1aad, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1bf3, 1},\n\t\t{0x1bfc, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c7f, 1},\n\t\t{0x1cc0, 0x1cc7, 1},\n\t\t{0x1cd0, 0x1cf6, 1},\n\t\t{0x1d00, 0x1de6, 1},\n\t\t{0x1dfc, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x206a, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x209c, 1},\n\t\t{0x20a0, 0x20b9, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x2189, 1},\n\t\t{0x2190, 0x23f3, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x26ff, 1},\n\t\t{0x2701, 0x2b4c, 1},\n\t\t{0x2b50, 0x2b59, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2cf3, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d27, 0x2d2d, 6},\n\t\t{0x2d30, 0x2d67, 1},\n\t\t{0x2d6f, 0x2d70, 1},\n\t\t{0x2d7f, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e3b, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31ba, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fcc, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa4d0, 0xa62b, 1},\n\t\t{0xa640, 0xa697, 1},\n\t\t{0xa69f, 0xa6f7, 1},\n\t\t{0xa700, 0xa78e, 1},\n\t\t{0xa790, 0xa793, 1},\n\t\t{0xa7a0, 0xa7aa, 1},\n\t\t{0xa7f8, 0xa82b, 1},\n\t\t{0xa830, 0xa839, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c4, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa8e0, 0xa8fb, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xa97c, 1},\n\t\t{0xa980, 0xa9cd, 1},\n\t\t{0xa9cf, 0xa9d9, 1},\n\t\t{0xa9de, 0xa9df, 1},\n\t\t{0xaa00, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaa7b, 1},\n\t\t{0xaa80, 0xaac2, 1},\n\t\t{0xaadb, 0xaaf6, 1},\n\t\t{0xab01, 0xab06, 1},\n\t\t{0xab09, 0xab0e, 1},\n\t\t{0xab11, 0xab16, 1},\n\t\t{0xab20, 0xab26, 1},\n\t\t{0xab28, 0xab2e, 1},\n\t\t{0xabc0, 0xabed, 1},\n\t\t{0xabf0, 0xabf9, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd7b0, 0xd7c6, 1},\n\t\t{0xd7cb, 0xd7fb, 1},\n\t\t{0xd800, 0xfa6d, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbc1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe26, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018a, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101d0, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x00010300, 0x0001031e, 1},\n\t\t{0x00010320, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010840, 0x00010855, 1},\n\t\t{0x00010857, 0x0001085f, 1},\n\t\t{0x00010900, 0x0001091b, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010980, 65},\n\t\t{0x00010981, 0x000109b7, 1},\n\t\t{0x000109be, 0x000109bf, 1},\n\t\t{0x00010a00, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00010a60, 0x00010a7f, 1},\n\t\t{0x00010b00, 0x00010b35, 1},\n\t\t{0x00010b39, 0x00010b55, 1},\n\t\t{0x00010b58, 0x00010b72, 1},\n\t\t{0x00010b78, 0x00010b7f, 1},\n\t\t{0x00010c00, 0x00010c48, 1},\n\t\t{0x00010e60, 0x00010e7e, 1},\n\t\t{0x00011000, 0x0001104d, 1},\n\t\t{0x00011052, 0x0001106f, 1},\n\t\t{0x00011080, 0x000110c1, 1},\n\t\t{0x000110d0, 0x000110e8, 1},\n\t\t{0x000110f0, 0x000110f9, 1},\n\t\t{0x00011100, 0x00011134, 1},\n\t\t{0x00011136, 0x00011143, 1},\n\t\t{0x00011180, 0x000111c8, 1},\n\t\t{0x000111d0, 0x000111d9, 1},\n\t\t{0x00011680, 0x000116b7, 1},\n\t\t{0x000116c0, 0x000116c9, 1},\n\t\t{0x00012000, 0x0001236e, 1},\n\t\t{0x00012400, 0x00012462, 1},\n\t\t{0x00012470, 0x00012473, 1},\n\t\t{0x00013000, 0x0001342e, 1},\n\t\t{0x00016800, 0x00016a38, 1},\n\t\t{0x00016f00, 0x00016f44, 1},\n\t\t{0x00016f50, 0x00016f7e, 1},\n\t\t{0x00016f8f, 0x00016f9f, 1},\n\t\t{0x0001b000, 0x0001b001, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x0001ee00, 0x0001ee03, 1},\n\t\t{0x0001ee05, 0x0001ee1f, 1},\n\t\t{0x0001ee21, 0x0001ee22, 1},\n\t\t{0x0001ee24, 0x0001ee27, 3},\n\t\t{0x0001ee29, 0x0001ee32, 1},\n\t\t{0x0001ee34, 0x0001ee37, 1},\n\t\t{0x0001ee39, 0x0001ee3b, 2},\n\t\t{0x0001ee42, 0x0001ee47, 5},\n\t\t{0x0001ee49, 0x0001ee4d, 2},\n\t\t{0x0001ee4e, 0x0001ee4f, 1},\n\t\t{0x0001ee51, 0x0001ee52, 1},\n\t\t{0x0001ee54, 0x0001ee57, 3},\n\t\t{0x0001ee59, 0x0001ee61, 2},\n\t\t{0x0001ee62, 0x0001ee64, 2},\n\t\t{0x0001ee67, 0x0001ee6a, 1},\n\t\t{0x0001ee6c, 0x0001ee72, 1},\n\t\t{0x0001ee74, 0x0001ee77, 1},\n\t\t{0x0001ee79, 0x0001ee7c, 1},\n\t\t{0x0001ee7e, 0x0001ee80, 2},\n\t\t{0x0001ee81, 0x0001ee89, 1},\n\t\t{0x0001ee8b, 0x0001ee9b, 1},\n\t\t{0x0001eea1, 0x0001eea3, 1},\n\t\t{0x0001eea5, 0x0001eea9, 1},\n\t\t{0x0001eeab, 0x0001eebb, 1},\n\t\t{0x0001eef0, 0x0001eef1, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x0001f0a0, 0x0001f0ae, 1},\n\t\t{0x0001f0b1, 0x0001f0be, 1},\n\t\t{0x0001f0c1, 0x0001f0cf, 1},\n\t\t{0x0001f0d1, 0x0001f0df, 1},\n\t\t{0x0001f100, 0x0001f10a, 1},\n\t\t{0x0001f110, 0x0001f12e, 1},\n\t\t{0x0001f130, 0x0001f16b, 1},\n\t\t{0x0001f170, 0x0001f19a, 1},\n\t\t{0x0001f1e6, 0x0001f202, 1},\n\t\t{0x0001f210, 0x0001f23a, 1},\n\t\t{0x0001f240, 0x0001f248, 1},\n\t\t{0x0001f250, 0x0001f251, 1},\n\t\t{0x0001f300, 0x0001f320, 1},\n\t\t{0x0001f330, 0x0001f335, 1},\n\t\t{0x0001f337, 0x0001f37c, 1},\n\t\t{0x0001f380, 0x0001f393, 1},\n\t\t{0x0001f3a0, 0x0001f3c4, 1},\n\t\t{0x0001f3c6, 0x0001f3ca, 1},\n\t\t{0x0001f3e0, 0x0001f3f0, 1},\n\t\t{0x0001f400, 0x0001f43e, 1},\n\t\t{0x0001f440, 0x0001f442, 2},\n\t\t{0x0001f443, 0x0001f4f7, 1},\n\t\t{0x0001f4f9, 0x0001f4fc, 1},\n\t\t{0x0001f500, 0x0001f53d, 1},\n\t\t{0x0001f540, 0x0001f543, 1},\n\t\t{0x0001f550, 0x0001f567, 1},\n\t\t{0x0001f5fb, 0x0001f640, 1},\n\t\t{0x0001f645, 0x0001f64f, 1},\n\t\t{0x0001f680, 0x0001f6c5, 1},\n\t\t{0x0001f700, 0x0001f773, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002a700, 0x0002b734, 1},\n\t\t{0x0002b740, 0x0002b81d, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 4160 bytes (4 KiB)\nvar assigned6_2_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037e, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x0527, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x058f, 0x0591, 2},\n\t\t{0x0592, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x0604, 1},\n\t\t{0x0606, 0x061b, 1},\n\t\t{0x061e, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0800, 0x082d, 1},\n\t\t{0x0830, 0x083e, 1},\n\t\t{0x0840, 0x085b, 1},\n\t\t{0x085e, 0x08a0, 66},\n\t\t{0x08a2, 0x08ac, 1},\n\t\t{0x08e4, 0x08fe, 1},\n\t\t{0x0900, 0x0977, 1},\n\t\t{0x0979, 0x097f, 1},\n\t\t{0x0981, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fb, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0af1, 1},\n\t\t{0x0b01, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b77, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c01, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c33, 1},\n\t\t{0x0c35, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c59, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c7f, 1},\n\t\t{0x0c82, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d02, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d3a, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4e, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d63, 1},\n\t\t{0x0d66, 0x0d75, 1},\n\t\t{0x0d79, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edf, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fda, 1},\n\t\t{0x1000, 0x10c5, 1},\n\t\t{0x10c7, 0x10cd, 6},\n\t\t{0x10d0, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135d, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1400, 0x169c, 1},\n\t\t{0x16a0, 0x16f0, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x18b0, 0x18f5, 1},\n\t\t{0x1900, 0x191c, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19ab, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19da, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a5e, 1},\n\t\t{0x1a60, 0x1a7c, 1},\n\t\t{0x1a7f, 0x1a89, 1},\n\t\t{0x1a90, 0x1a99, 1},\n\t\t{0x1aa0, 0x1aad, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1bf3, 1},\n\t\t{0x1bfc, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c7f, 1},\n\t\t{0x1cc0, 0x1cc7, 1},\n\t\t{0x1cd0, 0x1cf6, 1},\n\t\t{0x1d00, 0x1de6, 1},\n\t\t{0x1dfc, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x206a, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x209c, 1},\n\t\t{0x20a0, 0x20ba, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x2189, 1},\n\t\t{0x2190, 0x23f3, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x26ff, 1},\n\t\t{0x2701, 0x2b4c, 1},\n\t\t{0x2b50, 0x2b59, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2cf3, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d27, 0x2d2d, 6},\n\t\t{0x2d30, 0x2d67, 1},\n\t\t{0x2d6f, 0x2d70, 1},\n\t\t{0x2d7f, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e3b, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31ba, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fcc, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa4d0, 0xa62b, 1},\n\t\t{0xa640, 0xa697, 1},\n\t\t{0xa69f, 0xa6f7, 1},\n\t\t{0xa700, 0xa78e, 1},\n\t\t{0xa790, 0xa793, 1},\n\t\t{0xa7a0, 0xa7aa, 1},\n\t\t{0xa7f8, 0xa82b, 1},\n\t\t{0xa830, 0xa839, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c4, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa8e0, 0xa8fb, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xa97c, 1},\n\t\t{0xa980, 0xa9cd, 1},\n\t\t{0xa9cf, 0xa9d9, 1},\n\t\t{0xa9de, 0xa9df, 1},\n\t\t{0xaa00, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaa7b, 1},\n\t\t{0xaa80, 0xaac2, 1},\n\t\t{0xaadb, 0xaaf6, 1},\n\t\t{0xab01, 0xab06, 1},\n\t\t{0xab09, 0xab0e, 1},\n\t\t{0xab11, 0xab16, 1},\n\t\t{0xab20, 0xab26, 1},\n\t\t{0xab28, 0xab2e, 1},\n\t\t{0xabc0, 0xabed, 1},\n\t\t{0xabf0, 0xabf9, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd7b0, 0xd7c6, 1},\n\t\t{0xd7cb, 0xd7fb, 1},\n\t\t{0xd800, 0xfa6d, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbc1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe26, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018a, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101d0, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x00010300, 0x0001031e, 1},\n\t\t{0x00010320, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010840, 0x00010855, 1},\n\t\t{0x00010857, 0x0001085f, 1},\n\t\t{0x00010900, 0x0001091b, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010980, 65},\n\t\t{0x00010981, 0x000109b7, 1},\n\t\t{0x000109be, 0x000109bf, 1},\n\t\t{0x00010a00, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00010a60, 0x00010a7f, 1},\n\t\t{0x00010b00, 0x00010b35, 1},\n\t\t{0x00010b39, 0x00010b55, 1},\n\t\t{0x00010b58, 0x00010b72, 1},\n\t\t{0x00010b78, 0x00010b7f, 1},\n\t\t{0x00010c00, 0x00010c48, 1},\n\t\t{0x00010e60, 0x00010e7e, 1},\n\t\t{0x00011000, 0x0001104d, 1},\n\t\t{0x00011052, 0x0001106f, 1},\n\t\t{0x00011080, 0x000110c1, 1},\n\t\t{0x000110d0, 0x000110e8, 1},\n\t\t{0x000110f0, 0x000110f9, 1},\n\t\t{0x00011100, 0x00011134, 1},\n\t\t{0x00011136, 0x00011143, 1},\n\t\t{0x00011180, 0x000111c8, 1},\n\t\t{0x000111d0, 0x000111d9, 1},\n\t\t{0x00011680, 0x000116b7, 1},\n\t\t{0x000116c0, 0x000116c9, 1},\n\t\t{0x00012000, 0x0001236e, 1},\n\t\t{0x00012400, 0x00012462, 1},\n\t\t{0x00012470, 0x00012473, 1},\n\t\t{0x00013000, 0x0001342e, 1},\n\t\t{0x00016800, 0x00016a38, 1},\n\t\t{0x00016f00, 0x00016f44, 1},\n\t\t{0x00016f50, 0x00016f7e, 1},\n\t\t{0x00016f8f, 0x00016f9f, 1},\n\t\t{0x0001b000, 0x0001b001, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x0001ee00, 0x0001ee03, 1},\n\t\t{0x0001ee05, 0x0001ee1f, 1},\n\t\t{0x0001ee21, 0x0001ee22, 1},\n\t\t{0x0001ee24, 0x0001ee27, 3},\n\t\t{0x0001ee29, 0x0001ee32, 1},\n\t\t{0x0001ee34, 0x0001ee37, 1},\n\t\t{0x0001ee39, 0x0001ee3b, 2},\n\t\t{0x0001ee42, 0x0001ee47, 5},\n\t\t{0x0001ee49, 0x0001ee4d, 2},\n\t\t{0x0001ee4e, 0x0001ee4f, 1},\n\t\t{0x0001ee51, 0x0001ee52, 1},\n\t\t{0x0001ee54, 0x0001ee57, 3},\n\t\t{0x0001ee59, 0x0001ee61, 2},\n\t\t{0x0001ee62, 0x0001ee64, 2},\n\t\t{0x0001ee67, 0x0001ee6a, 1},\n\t\t{0x0001ee6c, 0x0001ee72, 1},\n\t\t{0x0001ee74, 0x0001ee77, 1},\n\t\t{0x0001ee79, 0x0001ee7c, 1},\n\t\t{0x0001ee7e, 0x0001ee80, 2},\n\t\t{0x0001ee81, 0x0001ee89, 1},\n\t\t{0x0001ee8b, 0x0001ee9b, 1},\n\t\t{0x0001eea1, 0x0001eea3, 1},\n\t\t{0x0001eea5, 0x0001eea9, 1},\n\t\t{0x0001eeab, 0x0001eebb, 1},\n\t\t{0x0001eef0, 0x0001eef1, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x0001f0a0, 0x0001f0ae, 1},\n\t\t{0x0001f0b1, 0x0001f0be, 1},\n\t\t{0x0001f0c1, 0x0001f0cf, 1},\n\t\t{0x0001f0d1, 0x0001f0df, 1},\n\t\t{0x0001f100, 0x0001f10a, 1},\n\t\t{0x0001f110, 0x0001f12e, 1},\n\t\t{0x0001f130, 0x0001f16b, 1},\n\t\t{0x0001f170, 0x0001f19a, 1},\n\t\t{0x0001f1e6, 0x0001f202, 1},\n\t\t{0x0001f210, 0x0001f23a, 1},\n\t\t{0x0001f240, 0x0001f248, 1},\n\t\t{0x0001f250, 0x0001f251, 1},\n\t\t{0x0001f300, 0x0001f320, 1},\n\t\t{0x0001f330, 0x0001f335, 1},\n\t\t{0x0001f337, 0x0001f37c, 1},\n\t\t{0x0001f380, 0x0001f393, 1},\n\t\t{0x0001f3a0, 0x0001f3c4, 1},\n\t\t{0x0001f3c6, 0x0001f3ca, 1},\n\t\t{0x0001f3e0, 0x0001f3f0, 1},\n\t\t{0x0001f400, 0x0001f43e, 1},\n\t\t{0x0001f440, 0x0001f442, 2},\n\t\t{0x0001f443, 0x0001f4f7, 1},\n\t\t{0x0001f4f9, 0x0001f4fc, 1},\n\t\t{0x0001f500, 0x0001f53d, 1},\n\t\t{0x0001f540, 0x0001f543, 1},\n\t\t{0x0001f550, 0x0001f567, 1},\n\t\t{0x0001f5fb, 0x0001f640, 1},\n\t\t{0x0001f645, 0x0001f64f, 1},\n\t\t{0x0001f680, 0x0001f6c5, 1},\n\t\t{0x0001f700, 0x0001f773, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002a700, 0x0002b734, 1},\n\t\t{0x0002b740, 0x0002b81d, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 4160 bytes (4 KiB)\nvar assigned6_3_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037e, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x0527, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x058f, 0x0591, 2},\n\t\t{0x0592, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x0604, 1},\n\t\t{0x0606, 0x061c, 1},\n\t\t{0x061e, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0800, 0x082d, 1},\n\t\t{0x0830, 0x083e, 1},\n\t\t{0x0840, 0x085b, 1},\n\t\t{0x085e, 0x08a0, 66},\n\t\t{0x08a2, 0x08ac, 1},\n\t\t{0x08e4, 0x08fe, 1},\n\t\t{0x0900, 0x0977, 1},\n\t\t{0x0979, 0x097f, 1},\n\t\t{0x0981, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fb, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0af1, 1},\n\t\t{0x0b01, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b77, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c01, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c33, 1},\n\t\t{0x0c35, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c59, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c7f, 1},\n\t\t{0x0c82, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d02, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d3a, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4e, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d63, 1},\n\t\t{0x0d66, 0x0d75, 1},\n\t\t{0x0d79, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edf, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fda, 1},\n\t\t{0x1000, 0x10c5, 1},\n\t\t{0x10c7, 0x10cd, 6},\n\t\t{0x10d0, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135d, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1400, 0x169c, 1},\n\t\t{0x16a0, 0x16f0, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x18b0, 0x18f5, 1},\n\t\t{0x1900, 0x191c, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19ab, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19da, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a5e, 1},\n\t\t{0x1a60, 0x1a7c, 1},\n\t\t{0x1a7f, 0x1a89, 1},\n\t\t{0x1a90, 0x1a99, 1},\n\t\t{0x1aa0, 0x1aad, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1bf3, 1},\n\t\t{0x1bfc, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c7f, 1},\n\t\t{0x1cc0, 0x1cc7, 1},\n\t\t{0x1cd0, 0x1cf6, 1},\n\t\t{0x1d00, 0x1de6, 1},\n\t\t{0x1dfc, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x2066, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x209c, 1},\n\t\t{0x20a0, 0x20ba, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x2189, 1},\n\t\t{0x2190, 0x23f3, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x26ff, 1},\n\t\t{0x2701, 0x2b4c, 1},\n\t\t{0x2b50, 0x2b59, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2cf3, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d27, 0x2d2d, 6},\n\t\t{0x2d30, 0x2d67, 1},\n\t\t{0x2d6f, 0x2d70, 1},\n\t\t{0x2d7f, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e3b, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31ba, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fcc, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa4d0, 0xa62b, 1},\n\t\t{0xa640, 0xa697, 1},\n\t\t{0xa69f, 0xa6f7, 1},\n\t\t{0xa700, 0xa78e, 1},\n\t\t{0xa790, 0xa793, 1},\n\t\t{0xa7a0, 0xa7aa, 1},\n\t\t{0xa7f8, 0xa82b, 1},\n\t\t{0xa830, 0xa839, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c4, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa8e0, 0xa8fb, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xa97c, 1},\n\t\t{0xa980, 0xa9cd, 1},\n\t\t{0xa9cf, 0xa9d9, 1},\n\t\t{0xa9de, 0xa9df, 1},\n\t\t{0xaa00, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaa7b, 1},\n\t\t{0xaa80, 0xaac2, 1},\n\t\t{0xaadb, 0xaaf6, 1},\n\t\t{0xab01, 0xab06, 1},\n\t\t{0xab09, 0xab0e, 1},\n\t\t{0xab11, 0xab16, 1},\n\t\t{0xab20, 0xab26, 1},\n\t\t{0xab28, 0xab2e, 1},\n\t\t{0xabc0, 0xabed, 1},\n\t\t{0xabf0, 0xabf9, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd7b0, 0xd7c6, 1},\n\t\t{0xd7cb, 0xd7fb, 1},\n\t\t{0xd800, 0xfa6d, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbc1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe26, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018a, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101d0, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x00010300, 0x0001031e, 1},\n\t\t{0x00010320, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010840, 0x00010855, 1},\n\t\t{0x00010857, 0x0001085f, 1},\n\t\t{0x00010900, 0x0001091b, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010980, 65},\n\t\t{0x00010981, 0x000109b7, 1},\n\t\t{0x000109be, 0x000109bf, 1},\n\t\t{0x00010a00, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00010a60, 0x00010a7f, 1},\n\t\t{0x00010b00, 0x00010b35, 1},\n\t\t{0x00010b39, 0x00010b55, 1},\n\t\t{0x00010b58, 0x00010b72, 1},\n\t\t{0x00010b78, 0x00010b7f, 1},\n\t\t{0x00010c00, 0x00010c48, 1},\n\t\t{0x00010e60, 0x00010e7e, 1},\n\t\t{0x00011000, 0x0001104d, 1},\n\t\t{0x00011052, 0x0001106f, 1},\n\t\t{0x00011080, 0x000110c1, 1},\n\t\t{0x000110d0, 0x000110e8, 1},\n\t\t{0x000110f0, 0x000110f9, 1},\n\t\t{0x00011100, 0x00011134, 1},\n\t\t{0x00011136, 0x00011143, 1},\n\t\t{0x00011180, 0x000111c8, 1},\n\t\t{0x000111d0, 0x000111d9, 1},\n\t\t{0x00011680, 0x000116b7, 1},\n\t\t{0x000116c0, 0x000116c9, 1},\n\t\t{0x00012000, 0x0001236e, 1},\n\t\t{0x00012400, 0x00012462, 1},\n\t\t{0x00012470, 0x00012473, 1},\n\t\t{0x00013000, 0x0001342e, 1},\n\t\t{0x00016800, 0x00016a38, 1},\n\t\t{0x00016f00, 0x00016f44, 1},\n\t\t{0x00016f50, 0x00016f7e, 1},\n\t\t{0x00016f8f, 0x00016f9f, 1},\n\t\t{0x0001b000, 0x0001b001, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x0001ee00, 0x0001ee03, 1},\n\t\t{0x0001ee05, 0x0001ee1f, 1},\n\t\t{0x0001ee21, 0x0001ee22, 1},\n\t\t{0x0001ee24, 0x0001ee27, 3},\n\t\t{0x0001ee29, 0x0001ee32, 1},\n\t\t{0x0001ee34, 0x0001ee37, 1},\n\t\t{0x0001ee39, 0x0001ee3b, 2},\n\t\t{0x0001ee42, 0x0001ee47, 5},\n\t\t{0x0001ee49, 0x0001ee4d, 2},\n\t\t{0x0001ee4e, 0x0001ee4f, 1},\n\t\t{0x0001ee51, 0x0001ee52, 1},\n\t\t{0x0001ee54, 0x0001ee57, 3},\n\t\t{0x0001ee59, 0x0001ee61, 2},\n\t\t{0x0001ee62, 0x0001ee64, 2},\n\t\t{0x0001ee67, 0x0001ee6a, 1},\n\t\t{0x0001ee6c, 0x0001ee72, 1},\n\t\t{0x0001ee74, 0x0001ee77, 1},\n\t\t{0x0001ee79, 0x0001ee7c, 1},\n\t\t{0x0001ee7e, 0x0001ee80, 2},\n\t\t{0x0001ee81, 0x0001ee89, 1},\n\t\t{0x0001ee8b, 0x0001ee9b, 1},\n\t\t{0x0001eea1, 0x0001eea3, 1},\n\t\t{0x0001eea5, 0x0001eea9, 1},\n\t\t{0x0001eeab, 0x0001eebb, 1},\n\t\t{0x0001eef0, 0x0001eef1, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x0001f0a0, 0x0001f0ae, 1},\n\t\t{0x0001f0b1, 0x0001f0be, 1},\n\t\t{0x0001f0c1, 0x0001f0cf, 1},\n\t\t{0x0001f0d1, 0x0001f0df, 1},\n\t\t{0x0001f100, 0x0001f10a, 1},\n\t\t{0x0001f110, 0x0001f12e, 1},\n\t\t{0x0001f130, 0x0001f16b, 1},\n\t\t{0x0001f170, 0x0001f19a, 1},\n\t\t{0x0001f1e6, 0x0001f202, 1},\n\t\t{0x0001f210, 0x0001f23a, 1},\n\t\t{0x0001f240, 0x0001f248, 1},\n\t\t{0x0001f250, 0x0001f251, 1},\n\t\t{0x0001f300, 0x0001f320, 1},\n\t\t{0x0001f330, 0x0001f335, 1},\n\t\t{0x0001f337, 0x0001f37c, 1},\n\t\t{0x0001f380, 0x0001f393, 1},\n\t\t{0x0001f3a0, 0x0001f3c4, 1},\n\t\t{0x0001f3c6, 0x0001f3ca, 1},\n\t\t{0x0001f3e0, 0x0001f3f0, 1},\n\t\t{0x0001f400, 0x0001f43e, 1},\n\t\t{0x0001f440, 0x0001f442, 2},\n\t\t{0x0001f443, 0x0001f4f7, 1},\n\t\t{0x0001f4f9, 0x0001f4fc, 1},\n\t\t{0x0001f500, 0x0001f53d, 1},\n\t\t{0x0001f540, 0x0001f543, 1},\n\t\t{0x0001f550, 0x0001f567, 1},\n\t\t{0x0001f5fb, 0x0001f640, 1},\n\t\t{0x0001f645, 0x0001f64f, 1},\n\t\t{0x0001f680, 0x0001f6c5, 1},\n\t\t{0x0001f700, 0x0001f773, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002a700, 0x0002b734, 1},\n\t\t{0x0002b740, 0x0002b81d, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 3812 bytes (3 KiB)\nvar assigned6_0_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037e, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x0527, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x0591, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x0603, 1},\n\t\t{0x0606, 0x061b, 1},\n\t\t{0x061e, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0800, 0x082d, 1},\n\t\t{0x0830, 0x083e, 1},\n\t\t{0x0840, 0x085b, 1},\n\t\t{0x085e, 0x0900, 162},\n\t\t{0x0901, 0x0977, 1},\n\t\t{0x0979, 0x097f, 1},\n\t\t{0x0981, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fb, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0aef, 1},\n\t\t{0x0af1, 0x0b01, 16},\n\t\t{0x0b02, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b77, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c01, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c33, 1},\n\t\t{0x0c35, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c59, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c7f, 1},\n\t\t{0x0c82, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d02, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d3a, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4e, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d63, 1},\n\t\t{0x0d66, 0x0d75, 1},\n\t\t{0x0d79, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edd, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fda, 1},\n\t\t{0x1000, 0x10c5, 1},\n\t\t{0x10d0, 0x10fc, 1},\n\t\t{0x1100, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135d, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1400, 0x169c, 1},\n\t\t{0x16a0, 0x16f0, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x18b0, 0x18f5, 1},\n\t\t{0x1900, 0x191c, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19ab, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19da, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a5e, 1},\n\t\t{0x1a60, 0x1a7c, 1},\n\t\t{0x1a7f, 0x1a89, 1},\n\t\t{0x1a90, 0x1a99, 1},\n\t\t{0x1aa0, 0x1aad, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1baa, 1},\n\t\t{0x1bae, 0x1bb9, 1},\n\t\t{0x1bc0, 0x1bf3, 1},\n\t\t{0x1bfc, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c7f, 1},\n\t\t{0x1cd0, 0x1cf2, 1},\n\t\t{0x1d00, 0x1de6, 1},\n\t\t{0x1dfc, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x206a, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x209c, 1},\n\t\t{0x20a0, 0x20b9, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x2189, 1},\n\t\t{0x2190, 0x23f3, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x26ff, 1},\n\t\t{0x2701, 0x27ca, 1},\n\t\t{0x27cc, 0x27ce, 2},\n\t\t{0x27cf, 0x2b4c, 1},\n\t\t{0x2b50, 0x2b59, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2cf1, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d30, 0x2d65, 1},\n\t\t{0x2d6f, 0x2d70, 1},\n\t\t{0x2d7f, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e31, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31ba, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fcb, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa4d0, 0xa62b, 1},\n\t\t{0xa640, 0xa673, 1},\n\t\t{0xa67c, 0xa697, 1},\n\t\t{0xa6a0, 0xa6f7, 1},\n\t\t{0xa700, 0xa78e, 1},\n\t\t{0xa790, 0xa791, 1},\n\t\t{0xa7a0, 0xa7a9, 1},\n\t\t{0xa7fa, 0xa82b, 1},\n\t\t{0xa830, 0xa839, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c4, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa8e0, 0xa8fb, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xa97c, 1},\n\t\t{0xa980, 0xa9cd, 1},\n\t\t{0xa9cf, 0xa9d9, 1},\n\t\t{0xa9de, 0xa9df, 1},\n\t\t{0xaa00, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaa7b, 1},\n\t\t{0xaa80, 0xaac2, 1},\n\t\t{0xaadb, 0xaadf, 1},\n\t\t{0xab01, 0xab06, 1},\n\t\t{0xab09, 0xab0e, 1},\n\t\t{0xab11, 0xab16, 1},\n\t\t{0xab20, 0xab26, 1},\n\t\t{0xab28, 0xab2e, 1},\n\t\t{0xabc0, 0xabed, 1},\n\t\t{0xabf0, 0xabf9, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd7b0, 0xd7c6, 1},\n\t\t{0xd7cb, 0xd7fb, 1},\n\t\t{0xd800, 0xfa2d, 1},\n\t\t{0xfa30, 0xfa6d, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbc1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe26, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018a, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101d0, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x00010300, 0x0001031e, 1},\n\t\t{0x00010320, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010840, 0x00010855, 1},\n\t\t{0x00010857, 0x0001085f, 1},\n\t\t{0x00010900, 0x0001091b, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010a00, 193},\n\t\t{0x00010a01, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00010a60, 0x00010a7f, 1},\n\t\t{0x00010b00, 0x00010b35, 1},\n\t\t{0x00010b39, 0x00010b55, 1},\n\t\t{0x00010b58, 0x00010b72, 1},\n\t\t{0x00010b78, 0x00010b7f, 1},\n\t\t{0x00010c00, 0x00010c48, 1},\n\t\t{0x00010e60, 0x00010e7e, 1},\n\t\t{0x00011000, 0x0001104d, 1},\n\t\t{0x00011052, 0x0001106f, 1},\n\t\t{0x00011080, 0x000110c1, 1},\n\t\t{0x00012000, 0x0001236e, 1},\n\t\t{0x00012400, 0x00012462, 1},\n\t\t{0x00012470, 0x00012473, 1},\n\t\t{0x00013000, 0x0001342e, 1},\n\t\t{0x00016800, 0x00016a38, 1},\n\t\t{0x0001b000, 0x0001b001, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x0001f0a0, 0x0001f0ae, 1},\n\t\t{0x0001f0b1, 0x0001f0be, 1},\n\t\t{0x0001f0c1, 0x0001f0cf, 1},\n\t\t{0x0001f0d1, 0x0001f0df, 1},\n\t\t{0x0001f100, 0x0001f10a, 1},\n\t\t{0x0001f110, 0x0001f12e, 1},\n\t\t{0x0001f130, 0x0001f169, 1},\n\t\t{0x0001f170, 0x0001f19a, 1},\n\t\t{0x0001f1e6, 0x0001f202, 1},\n\t\t{0x0001f210, 0x0001f23a, 1},\n\t\t{0x0001f240, 0x0001f248, 1},\n\t\t{0x0001f250, 0x0001f251, 1},\n\t\t{0x0001f300, 0x0001f320, 1},\n\t\t{0x0001f330, 0x0001f335, 1},\n\t\t{0x0001f337, 0x0001f37c, 1},\n\t\t{0x0001f380, 0x0001f393, 1},\n\t\t{0x0001f3a0, 0x0001f3c4, 1},\n\t\t{0x0001f3c6, 0x0001f3ca, 1},\n\t\t{0x0001f3e0, 0x0001f3f0, 1},\n\t\t{0x0001f400, 0x0001f43e, 1},\n\t\t{0x0001f440, 0x0001f442, 2},\n\t\t{0x0001f443, 0x0001f4f7, 1},\n\t\t{0x0001f4f9, 0x0001f4fc, 1},\n\t\t{0x0001f500, 0x0001f53d, 1},\n\t\t{0x0001f550, 0x0001f567, 1},\n\t\t{0x0001f5fb, 0x0001f5ff, 1},\n\t\t{0x0001f601, 0x0001f610, 1},\n\t\t{0x0001f612, 0x0001f614, 1},\n\t\t{0x0001f616, 0x0001f61c, 2},\n\t\t{0x0001f61d, 0x0001f61e, 1},\n\t\t{0x0001f620, 0x0001f625, 1},\n\t\t{0x0001f628, 0x0001f62b, 1},\n\t\t{0x0001f62d, 0x0001f630, 3},\n\t\t{0x0001f631, 0x0001f633, 1},\n\t\t{0x0001f635, 0x0001f640, 1},\n\t\t{0x0001f645, 0x0001f64f, 1},\n\t\t{0x0001f680, 0x0001f6c5, 1},\n\t\t{0x0001f700, 0x0001f773, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002a700, 0x0002b734, 1},\n\t\t{0x0002b740, 0x0002b81d, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 4898 bytes (4 KiB)\nvar assigned7_0_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037f, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x052f, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x058d, 0x058f, 1},\n\t\t{0x0591, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x061c, 1},\n\t\t{0x061e, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0800, 0x082d, 1},\n\t\t{0x0830, 0x083e, 1},\n\t\t{0x0840, 0x085b, 1},\n\t\t{0x085e, 0x08a0, 66},\n\t\t{0x08a1, 0x08b2, 1},\n\t\t{0x08e4, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fb, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0af1, 1},\n\t\t{0x0b01, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b77, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c00, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c59, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c7f, 1},\n\t\t{0x0c81, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d01, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d3a, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4e, 1},\n\t\t{0x0d57, 0x0d60, 9},\n\t\t{0x0d61, 0x0d63, 1},\n\t\t{0x0d66, 0x0d75, 1},\n\t\t{0x0d79, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0de6, 0x0def, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edf, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fda, 1},\n\t\t{0x1000, 0x10c5, 1},\n\t\t{0x10c7, 0x10cd, 6},\n\t\t{0x10d0, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135d, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f4, 1},\n\t\t{0x1400, 0x169c, 1},\n\t\t{0x16a0, 0x16f8, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x18b0, 0x18f5, 1},\n\t\t{0x1900, 0x191e, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19ab, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19da, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a5e, 1},\n\t\t{0x1a60, 0x1a7c, 1},\n\t\t{0x1a7f, 0x1a89, 1},\n\t\t{0x1a90, 0x1a99, 1},\n\t\t{0x1aa0, 0x1aad, 1},\n\t\t{0x1ab0, 0x1abe, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1bf3, 1},\n\t\t{0x1bfc, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c7f, 1},\n\t\t{0x1cc0, 0x1cc7, 1},\n\t\t{0x1cd0, 0x1cf6, 1},\n\t\t{0x1cf8, 0x1cf9, 1},\n\t\t{0x1d00, 0x1df5, 1},\n\t\t{0x1dfc, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x2066, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x209c, 1},\n\t\t{0x20a0, 0x20bd, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x2189, 1},\n\t\t{0x2190, 0x23fa, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x2b73, 1},\n\t\t{0x2b76, 0x2b95, 1},\n\t\t{0x2b98, 0x2bb9, 1},\n\t\t{0x2bbd, 0x2bc8, 1},\n\t\t{0x2bca, 0x2bd1, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2cf3, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d27, 0x2d2d, 6},\n\t\t{0x2d30, 0x2d67, 1},\n\t\t{0x2d6f, 0x2d70, 1},\n\t\t{0x2d7f, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e42, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31ba, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fcc, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa4d0, 0xa62b, 1},\n\t\t{0xa640, 0xa69d, 1},\n\t\t{0xa69f, 0xa6f7, 1},\n\t\t{0xa700, 0xa78e, 1},\n\t\t{0xa790, 0xa7ad, 1},\n\t\t{0xa7b0, 0xa7b1, 1},\n\t\t{0xa7f7, 0xa82b, 1},\n\t\t{0xa830, 0xa839, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c4, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa8e0, 0xa8fb, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xa97c, 1},\n\t\t{0xa980, 0xa9cd, 1},\n\t\t{0xa9cf, 0xa9d9, 1},\n\t\t{0xa9de, 0xa9fe, 1},\n\t\t{0xaa00, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaac2, 1},\n\t\t{0xaadb, 0xaaf6, 1},\n\t\t{0xab01, 0xab06, 1},\n\t\t{0xab09, 0xab0e, 1},\n\t\t{0xab11, 0xab16, 1},\n\t\t{0xab20, 0xab26, 1},\n\t\t{0xab28, 0xab2e, 1},\n\t\t{0xab30, 0xab5f, 1},\n\t\t{0xab64, 0xab65, 1},\n\t\t{0xabc0, 0xabed, 1},\n\t\t{0xabf0, 0xabf9, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd7b0, 0xd7c6, 1},\n\t\t{0xd7cb, 0xd7fb, 1},\n\t\t{0xd800, 0xfa6d, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbc1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe2d, 1},\n\t\t{0xfe30, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018c, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101a0, 0x000101d0, 48},\n\t\t{0x000101d1, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x000102e0, 0x000102fb, 1},\n\t\t{0x00010300, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010350, 0x0001037a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010500, 0x00010527, 1},\n\t\t{0x00010530, 0x00010563, 1},\n\t\t{0x0001056f, 0x00010600, 145},\n\t\t{0x00010601, 0x00010736, 1},\n\t\t{0x00010740, 0x00010755, 1},\n\t\t{0x00010760, 0x00010767, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010840, 0x00010855, 1},\n\t\t{0x00010857, 0x0001089e, 1},\n\t\t{0x000108a7, 0x000108af, 1},\n\t\t{0x00010900, 0x0001091b, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010980, 65},\n\t\t{0x00010981, 0x000109b7, 1},\n\t\t{0x000109be, 0x000109bf, 1},\n\t\t{0x00010a00, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00010a60, 0x00010a9f, 1},\n\t\t{0x00010ac0, 0x00010ae6, 1},\n\t\t{0x00010aeb, 0x00010af6, 1},\n\t\t{0x00010b00, 0x00010b35, 1},\n\t\t{0x00010b39, 0x00010b55, 1},\n\t\t{0x00010b58, 0x00010b72, 1},\n\t\t{0x00010b78, 0x00010b91, 1},\n\t\t{0x00010b99, 0x00010b9c, 1},\n\t\t{0x00010ba9, 0x00010baf, 1},\n\t\t{0x00010c00, 0x00010c48, 1},\n\t\t{0x00010e60, 0x00010e7e, 1},\n\t\t{0x00011000, 0x0001104d, 1},\n\t\t{0x00011052, 0x0001106f, 1},\n\t\t{0x0001107f, 0x000110c1, 1},\n\t\t{0x000110d0, 0x000110e8, 1},\n\t\t{0x000110f0, 0x000110f9, 1},\n\t\t{0x00011100, 0x00011134, 1},\n\t\t{0x00011136, 0x00011143, 1},\n\t\t{0x00011150, 0x00011176, 1},\n\t\t{0x00011180, 0x000111c8, 1},\n\t\t{0x000111cd, 0x000111d0, 3},\n\t\t{0x000111d1, 0x000111da, 1},\n\t\t{0x000111e1, 0x000111f4, 1},\n\t\t{0x00011200, 0x00011211, 1},\n\t\t{0x00011213, 0x0001123d, 1},\n\t\t{0x000112b0, 0x000112ea, 1},\n\t\t{0x000112f0, 0x000112f9, 1},\n\t\t{0x00011301, 0x00011303, 1},\n\t\t{0x00011305, 0x0001130c, 1},\n\t\t{0x0001130f, 0x00011310, 1},\n\t\t{0x00011313, 0x00011328, 1},\n\t\t{0x0001132a, 0x00011330, 1},\n\t\t{0x00011332, 0x00011333, 1},\n\t\t{0x00011335, 0x00011339, 1},\n\t\t{0x0001133c, 0x00011344, 1},\n\t\t{0x00011347, 0x00011348, 1},\n\t\t{0x0001134b, 0x0001134d, 1},\n\t\t{0x00011357, 0x0001135d, 6},\n\t\t{0x0001135e, 0x00011363, 1},\n\t\t{0x00011366, 0x0001136c, 1},\n\t\t{0x00011370, 0x00011374, 1},\n\t\t{0x00011480, 0x000114c7, 1},\n\t\t{0x000114d0, 0x000114d9, 1},\n\t\t{0x00011580, 0x000115b5, 1},\n\t\t{0x000115b8, 0x000115c9, 1},\n\t\t{0x00011600, 0x00011644, 1},\n\t\t{0x00011650, 0x00011659, 1},\n\t\t{0x00011680, 0x000116b7, 1},\n\t\t{0x000116c0, 0x000116c9, 1},\n\t\t{0x000118a0, 0x000118f2, 1},\n\t\t{0x000118ff, 0x00011ac0, 449},\n\t\t{0x00011ac1, 0x00011af8, 1},\n\t\t{0x00012000, 0x00012398, 1},\n\t\t{0x00012400, 0x0001246e, 1},\n\t\t{0x00012470, 0x00012474, 1},\n\t\t{0x00013000, 0x0001342e, 1},\n\t\t{0x00016800, 0x00016a38, 1},\n\t\t{0x00016a40, 0x00016a5e, 1},\n\t\t{0x00016a60, 0x00016a69, 1},\n\t\t{0x00016a6e, 0x00016a6f, 1},\n\t\t{0x00016ad0, 0x00016aed, 1},\n\t\t{0x00016af0, 0x00016af5, 1},\n\t\t{0x00016b00, 0x00016b45, 1},\n\t\t{0x00016b50, 0x00016b59, 1},\n\t\t{0x00016b5b, 0x00016b61, 1},\n\t\t{0x00016b63, 0x00016b77, 1},\n\t\t{0x00016b7d, 0x00016b8f, 1},\n\t\t{0x00016f00, 0x00016f44, 1},\n\t\t{0x00016f50, 0x00016f7e, 1},\n\t\t{0x00016f8f, 0x00016f9f, 1},\n\t\t{0x0001b000, 0x0001b001, 1},\n\t\t{0x0001bc00, 0x0001bc6a, 1},\n\t\t{0x0001bc70, 0x0001bc7c, 1},\n\t\t{0x0001bc80, 0x0001bc88, 1},\n\t\t{0x0001bc90, 0x0001bc99, 1},\n\t\t{0x0001bc9c, 0x0001bca3, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1dd, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001d7ff, 1},\n\t\t{0x0001e800, 0x0001e8c4, 1},\n\t\t{0x0001e8c7, 0x0001e8d6, 1},\n\t\t{0x0001ee00, 0x0001ee03, 1},\n\t\t{0x0001ee05, 0x0001ee1f, 1},\n\t\t{0x0001ee21, 0x0001ee22, 1},\n\t\t{0x0001ee24, 0x0001ee27, 3},\n\t\t{0x0001ee29, 0x0001ee32, 1},\n\t\t{0x0001ee34, 0x0001ee37, 1},\n\t\t{0x0001ee39, 0x0001ee3b, 2},\n\t\t{0x0001ee42, 0x0001ee47, 5},\n\t\t{0x0001ee49, 0x0001ee4d, 2},\n\t\t{0x0001ee4e, 0x0001ee4f, 1},\n\t\t{0x0001ee51, 0x0001ee52, 1},\n\t\t{0x0001ee54, 0x0001ee57, 3},\n\t\t{0x0001ee59, 0x0001ee61, 2},\n\t\t{0x0001ee62, 0x0001ee64, 2},\n\t\t{0x0001ee67, 0x0001ee6a, 1},\n\t\t{0x0001ee6c, 0x0001ee72, 1},\n\t\t{0x0001ee74, 0x0001ee77, 1},\n\t\t{0x0001ee79, 0x0001ee7c, 1},\n\t\t{0x0001ee7e, 0x0001ee80, 2},\n\t\t{0x0001ee81, 0x0001ee89, 1},\n\t\t{0x0001ee8b, 0x0001ee9b, 1},\n\t\t{0x0001eea1, 0x0001eea3, 1},\n\t\t{0x0001eea5, 0x0001eea9, 1},\n\t\t{0x0001eeab, 0x0001eebb, 1},\n\t\t{0x0001eef0, 0x0001eef1, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x0001f0a0, 0x0001f0ae, 1},\n\t\t{0x0001f0b1, 0x0001f0bf, 1},\n\t\t{0x0001f0c1, 0x0001f0cf, 1},\n\t\t{0x0001f0d1, 0x0001f0f5, 1},\n\t\t{0x0001f100, 0x0001f10c, 1},\n\t\t{0x0001f110, 0x0001f12e, 1},\n\t\t{0x0001f130, 0x0001f16b, 1},\n\t\t{0x0001f170, 0x0001f19a, 1},\n\t\t{0x0001f1e6, 0x0001f202, 1},\n\t\t{0x0001f210, 0x0001f23a, 1},\n\t\t{0x0001f240, 0x0001f248, 1},\n\t\t{0x0001f250, 0x0001f251, 1},\n\t\t{0x0001f300, 0x0001f32c, 1},\n\t\t{0x0001f330, 0x0001f37d, 1},\n\t\t{0x0001f380, 0x0001f3ce, 1},\n\t\t{0x0001f3d4, 0x0001f3f7, 1},\n\t\t{0x0001f400, 0x0001f4fe, 1},\n\t\t{0x0001f500, 0x0001f54a, 1},\n\t\t{0x0001f550, 0x0001f579, 1},\n\t\t{0x0001f57b, 0x0001f5a3, 1},\n\t\t{0x0001f5a5, 0x0001f642, 1},\n\t\t{0x0001f645, 0x0001f6cf, 1},\n\t\t{0x0001f6e0, 0x0001f6ec, 1},\n\t\t{0x0001f6f0, 0x0001f6f3, 1},\n\t\t{0x0001f700, 0x0001f773, 1},\n\t\t{0x0001f780, 0x0001f7d4, 1},\n\t\t{0x0001f800, 0x0001f80b, 1},\n\t\t{0x0001f810, 0x0001f847, 1},\n\t\t{0x0001f850, 0x0001f859, 1},\n\t\t{0x0001f860, 0x0001f887, 1},\n\t\t{0x0001f890, 0x0001f8ad, 1},\n\t\t{0x00020000, 0x0002a6d6, 1},\n\t\t{0x0002a700, 0x0002b734, 1},\n\t\t{0x0002b740, 0x0002b81d, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 5048 bytes (4 KiB)\nvar assigned8_0_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037f, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x052f, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x058d, 0x058f, 1},\n\t\t{0x0591, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x061c, 1},\n\t\t{0x061e, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0800, 0x082d, 1},\n\t\t{0x0830, 0x083e, 1},\n\t\t{0x0840, 0x085b, 1},\n\t\t{0x085e, 0x08a0, 66},\n\t\t{0x08a1, 0x08b4, 1},\n\t\t{0x08e3, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fb, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0af1, 1},\n\t\t{0x0af9, 0x0b01, 8},\n\t\t{0x0b02, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b77, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c00, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c5a, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c7f, 1},\n\t\t{0x0c81, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d01, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d3a, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4e, 1},\n\t\t{0x0d57, 0x0d5f, 8},\n\t\t{0x0d60, 0x0d63, 1},\n\t\t{0x0d66, 0x0d75, 1},\n\t\t{0x0d79, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0de6, 0x0def, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edf, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fda, 1},\n\t\t{0x1000, 0x10c5, 1},\n\t\t{0x10c7, 0x10cd, 6},\n\t\t{0x10d0, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135d, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f5, 1},\n\t\t{0x13f8, 0x13fd, 1},\n\t\t{0x1400, 0x169c, 1},\n\t\t{0x16a0, 0x16f8, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x18b0, 0x18f5, 1},\n\t\t{0x1900, 0x191e, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19ab, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19da, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a5e, 1},\n\t\t{0x1a60, 0x1a7c, 1},\n\t\t{0x1a7f, 0x1a89, 1},\n\t\t{0x1a90, 0x1a99, 1},\n\t\t{0x1aa0, 0x1aad, 1},\n\t\t{0x1ab0, 0x1abe, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1bf3, 1},\n\t\t{0x1bfc, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c7f, 1},\n\t\t{0x1cc0, 0x1cc7, 1},\n\t\t{0x1cd0, 0x1cf6, 1},\n\t\t{0x1cf8, 0x1cf9, 1},\n\t\t{0x1d00, 0x1df5, 1},\n\t\t{0x1dfc, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x2066, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x209c, 1},\n\t\t{0x20a0, 0x20be, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x218b, 1},\n\t\t{0x2190, 0x23fa, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x2b73, 1},\n\t\t{0x2b76, 0x2b95, 1},\n\t\t{0x2b98, 0x2bb9, 1},\n\t\t{0x2bbd, 0x2bc8, 1},\n\t\t{0x2bca, 0x2bd1, 1},\n\t\t{0x2bec, 0x2bef, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2cf3, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d27, 0x2d2d, 6},\n\t\t{0x2d30, 0x2d67, 1},\n\t\t{0x2d6f, 0x2d70, 1},\n\t\t{0x2d7f, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e42, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31ba, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fd5, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa4d0, 0xa62b, 1},\n\t\t{0xa640, 0xa6f7, 1},\n\t\t{0xa700, 0xa7ad, 1},\n\t\t{0xa7b0, 0xa7b7, 1},\n\t\t{0xa7f7, 0xa82b, 1},\n\t\t{0xa830, 0xa839, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c4, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa8e0, 0xa8fd, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xa97c, 1},\n\t\t{0xa980, 0xa9cd, 1},\n\t\t{0xa9cf, 0xa9d9, 1},\n\t\t{0xa9de, 0xa9fe, 1},\n\t\t{0xaa00, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaac2, 1},\n\t\t{0xaadb, 0xaaf6, 1},\n\t\t{0xab01, 0xab06, 1},\n\t\t{0xab09, 0xab0e, 1},\n\t\t{0xab11, 0xab16, 1},\n\t\t{0xab20, 0xab26, 1},\n\t\t{0xab28, 0xab2e, 1},\n\t\t{0xab30, 0xab65, 1},\n\t\t{0xab70, 0xabed, 1},\n\t\t{0xabf0, 0xabf9, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd7b0, 0xd7c6, 1},\n\t\t{0xd7cb, 0xd7fb, 1},\n\t\t{0xd800, 0xfa6d, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbc1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018c, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101a0, 0x000101d0, 48},\n\t\t{0x000101d1, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x000102e0, 0x000102fb, 1},\n\t\t{0x00010300, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010350, 0x0001037a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x00010500, 0x00010527, 1},\n\t\t{0x00010530, 0x00010563, 1},\n\t\t{0x0001056f, 0x00010600, 145},\n\t\t{0x00010601, 0x00010736, 1},\n\t\t{0x00010740, 0x00010755, 1},\n\t\t{0x00010760, 0x00010767, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010840, 0x00010855, 1},\n\t\t{0x00010857, 0x0001089e, 1},\n\t\t{0x000108a7, 0x000108af, 1},\n\t\t{0x000108e0, 0x000108f2, 1},\n\t\t{0x000108f4, 0x000108f5, 1},\n\t\t{0x000108fb, 0x0001091b, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010980, 65},\n\t\t{0x00010981, 0x000109b7, 1},\n\t\t{0x000109bc, 0x000109cf, 1},\n\t\t{0x000109d2, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00010a60, 0x00010a9f, 1},\n\t\t{0x00010ac0, 0x00010ae6, 1},\n\t\t{0x00010aeb, 0x00010af6, 1},\n\t\t{0x00010b00, 0x00010b35, 1},\n\t\t{0x00010b39, 0x00010b55, 1},\n\t\t{0x00010b58, 0x00010b72, 1},\n\t\t{0x00010b78, 0x00010b91, 1},\n\t\t{0x00010b99, 0x00010b9c, 1},\n\t\t{0x00010ba9, 0x00010baf, 1},\n\t\t{0x00010c00, 0x00010c48, 1},\n\t\t{0x00010c80, 0x00010cb2, 1},\n\t\t{0x00010cc0, 0x00010cf2, 1},\n\t\t{0x00010cfa, 0x00010cff, 1},\n\t\t{0x00010e60, 0x00010e7e, 1},\n\t\t{0x00011000, 0x0001104d, 1},\n\t\t{0x00011052, 0x0001106f, 1},\n\t\t{0x0001107f, 0x000110c1, 1},\n\t\t{0x000110d0, 0x000110e8, 1},\n\t\t{0x000110f0, 0x000110f9, 1},\n\t\t{0x00011100, 0x00011134, 1},\n\t\t{0x00011136, 0x00011143, 1},\n\t\t{0x00011150, 0x00011176, 1},\n\t\t{0x00011180, 0x000111cd, 1},\n\t\t{0x000111d0, 0x000111df, 1},\n\t\t{0x000111e1, 0x000111f4, 1},\n\t\t{0x00011200, 0x00011211, 1},\n\t\t{0x00011213, 0x0001123d, 1},\n\t\t{0x00011280, 0x00011286, 1},\n\t\t{0x00011288, 0x0001128a, 2},\n\t\t{0x0001128b, 0x0001128d, 1},\n\t\t{0x0001128f, 0x0001129d, 1},\n\t\t{0x0001129f, 0x000112a9, 1},\n\t\t{0x000112b0, 0x000112ea, 1},\n\t\t{0x000112f0, 0x000112f9, 1},\n\t\t{0x00011300, 0x00011303, 1},\n\t\t{0x00011305, 0x0001130c, 1},\n\t\t{0x0001130f, 0x00011310, 1},\n\t\t{0x00011313, 0x00011328, 1},\n\t\t{0x0001132a, 0x00011330, 1},\n\t\t{0x00011332, 0x00011333, 1},\n\t\t{0x00011335, 0x00011339, 1},\n\t\t{0x0001133c, 0x00011344, 1},\n\t\t{0x00011347, 0x00011348, 1},\n\t\t{0x0001134b, 0x0001134d, 1},\n\t\t{0x00011350, 0x00011357, 7},\n\t\t{0x0001135d, 0x00011363, 1},\n\t\t{0x00011366, 0x0001136c, 1},\n\t\t{0x00011370, 0x00011374, 1},\n\t\t{0x00011480, 0x000114c7, 1},\n\t\t{0x000114d0, 0x000114d9, 1},\n\t\t{0x00011580, 0x000115b5, 1},\n\t\t{0x000115b8, 0x000115dd, 1},\n\t\t{0x00011600, 0x00011644, 1},\n\t\t{0x00011650, 0x00011659, 1},\n\t\t{0x00011680, 0x000116b7, 1},\n\t\t{0x000116c0, 0x000116c9, 1},\n\t\t{0x00011700, 0x00011719, 1},\n\t\t{0x0001171d, 0x0001172b, 1},\n\t\t{0x00011730, 0x0001173f, 1},\n\t\t{0x000118a0, 0x000118f2, 1},\n\t\t{0x000118ff, 0x00011ac0, 449},\n\t\t{0x00011ac1, 0x00011af8, 1},\n\t\t{0x00012000, 0x00012399, 1},\n\t\t{0x00012400, 0x0001246e, 1},\n\t\t{0x00012470, 0x00012474, 1},\n\t\t{0x00012480, 0x00012543, 1},\n\t\t{0x00013000, 0x0001342e, 1},\n\t\t{0x00014400, 0x00014646, 1},\n\t\t{0x00016800, 0x00016a38, 1},\n\t\t{0x00016a40, 0x00016a5e, 1},\n\t\t{0x00016a60, 0x00016a69, 1},\n\t\t{0x00016a6e, 0x00016a6f, 1},\n\t\t{0x00016ad0, 0x00016aed, 1},\n\t\t{0x00016af0, 0x00016af5, 1},\n\t\t{0x00016b00, 0x00016b45, 1},\n\t\t{0x00016b50, 0x00016b59, 1},\n\t\t{0x00016b5b, 0x00016b61, 1},\n\t\t{0x00016b63, 0x00016b77, 1},\n\t\t{0x00016b7d, 0x00016b8f, 1},\n\t\t{0x00016f00, 0x00016f44, 1},\n\t\t{0x00016f50, 0x00016f7e, 1},\n\t\t{0x00016f8f, 0x00016f9f, 1},\n\t\t{0x0001b000, 0x0001b001, 1},\n\t\t{0x0001bc00, 0x0001bc6a, 1},\n\t\t{0x0001bc70, 0x0001bc7c, 1},\n\t\t{0x0001bc80, 0x0001bc88, 1},\n\t\t{0x0001bc90, 0x0001bc99, 1},\n\t\t{0x0001bc9c, 0x0001bca3, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1e8, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001da8b, 1},\n\t\t{0x0001da9b, 0x0001da9f, 1},\n\t\t{0x0001daa1, 0x0001daaf, 1},\n\t\t{0x0001e800, 0x0001e8c4, 1},\n\t\t{0x0001e8c7, 0x0001e8d6, 1},\n\t\t{0x0001ee00, 0x0001ee03, 1},\n\t\t{0x0001ee05, 0x0001ee1f, 1},\n\t\t{0x0001ee21, 0x0001ee22, 1},\n\t\t{0x0001ee24, 0x0001ee27, 3},\n\t\t{0x0001ee29, 0x0001ee32, 1},\n\t\t{0x0001ee34, 0x0001ee37, 1},\n\t\t{0x0001ee39, 0x0001ee3b, 2},\n\t\t{0x0001ee42, 0x0001ee47, 5},\n\t\t{0x0001ee49, 0x0001ee4d, 2},\n\t\t{0x0001ee4e, 0x0001ee4f, 1},\n\t\t{0x0001ee51, 0x0001ee52, 1},\n\t\t{0x0001ee54, 0x0001ee57, 3},\n\t\t{0x0001ee59, 0x0001ee61, 2},\n\t\t{0x0001ee62, 0x0001ee64, 2},\n\t\t{0x0001ee67, 0x0001ee6a, 1},\n\t\t{0x0001ee6c, 0x0001ee72, 1},\n\t\t{0x0001ee74, 0x0001ee77, 1},\n\t\t{0x0001ee79, 0x0001ee7c, 1},\n\t\t{0x0001ee7e, 0x0001ee80, 2},\n\t\t{0x0001ee81, 0x0001ee89, 1},\n\t\t{0x0001ee8b, 0x0001ee9b, 1},\n\t\t{0x0001eea1, 0x0001eea3, 1},\n\t\t{0x0001eea5, 0x0001eea9, 1},\n\t\t{0x0001eeab, 0x0001eebb, 1},\n\t\t{0x0001eef0, 0x0001eef1, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x0001f0a0, 0x0001f0ae, 1},\n\t\t{0x0001f0b1, 0x0001f0bf, 1},\n\t\t{0x0001f0c1, 0x0001f0cf, 1},\n\t\t{0x0001f0d1, 0x0001f0f5, 1},\n\t\t{0x0001f100, 0x0001f10c, 1},\n\t\t{0x0001f110, 0x0001f12e, 1},\n\t\t{0x0001f130, 0x0001f16b, 1},\n\t\t{0x0001f170, 0x0001f19a, 1},\n\t\t{0x0001f1e6, 0x0001f202, 1},\n\t\t{0x0001f210, 0x0001f23a, 1},\n\t\t{0x0001f240, 0x0001f248, 1},\n\t\t{0x0001f250, 0x0001f251, 1},\n\t\t{0x0001f300, 0x0001f579, 1},\n\t\t{0x0001f57b, 0x0001f5a3, 1},\n\t\t{0x0001f5a5, 0x0001f6d0, 1},\n\t\t{0x0001f6e0, 0x0001f6ec, 1},\n\t\t{0x0001f6f0, 0x0001f6f3, 1},\n\t\t{0x0001f700, 0x0001f773, 1},\n\t\t{0x0001f780, 0x0001f7d4, 1},\n\t\t{0x0001f800, 0x0001f80b, 1},\n\t\t{0x0001f810, 0x0001f847, 1},\n\t\t{0x0001f850, 0x0001f859, 1},\n\t\t{0x0001f860, 0x0001f887, 1},\n\t\t{0x0001f890, 0x0001f8ad, 1},\n\t\t{0x0001f910, 0x0001f918, 1},\n\t\t{0x0001f980, 0x0001f984, 1},\n\t\t{0x0001f9c0, 0x00020000, 1600},\n\t\t{0x00020001, 0x0002a6d6, 1},\n\t\t{0x0002a700, 0x0002b734, 1},\n\t\t{0x0002b740, 0x0002b81d, 1},\n\t\t{0x0002b820, 0x0002cea1, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// size 5348 bytes (5 KiB)\nvar assigned9_0_0 = &unicode.RangeTable{\n\tR16: []unicode.Range16{\n\t\t{0x0000, 0x0377, 1},\n\t\t{0x037a, 0x037f, 1},\n\t\t{0x0384, 0x038a, 1},\n\t\t{0x038c, 0x038e, 2},\n\t\t{0x038f, 0x03a1, 1},\n\t\t{0x03a3, 0x052f, 1},\n\t\t{0x0531, 0x0556, 1},\n\t\t{0x0559, 0x055f, 1},\n\t\t{0x0561, 0x0587, 1},\n\t\t{0x0589, 0x058a, 1},\n\t\t{0x058d, 0x058f, 1},\n\t\t{0x0591, 0x05c7, 1},\n\t\t{0x05d0, 0x05ea, 1},\n\t\t{0x05f0, 0x05f4, 1},\n\t\t{0x0600, 0x061c, 1},\n\t\t{0x061e, 0x070d, 1},\n\t\t{0x070f, 0x074a, 1},\n\t\t{0x074d, 0x07b1, 1},\n\t\t{0x07c0, 0x07fa, 1},\n\t\t{0x0800, 0x082d, 1},\n\t\t{0x0830, 0x083e, 1},\n\t\t{0x0840, 0x085b, 1},\n\t\t{0x085e, 0x08a0, 66},\n\t\t{0x08a1, 0x08b4, 1},\n\t\t{0x08b6, 0x08bd, 1},\n\t\t{0x08d4, 0x0983, 1},\n\t\t{0x0985, 0x098c, 1},\n\t\t{0x098f, 0x0990, 1},\n\t\t{0x0993, 0x09a8, 1},\n\t\t{0x09aa, 0x09b0, 1},\n\t\t{0x09b2, 0x09b6, 4},\n\t\t{0x09b7, 0x09b9, 1},\n\t\t{0x09bc, 0x09c4, 1},\n\t\t{0x09c7, 0x09c8, 1},\n\t\t{0x09cb, 0x09ce, 1},\n\t\t{0x09d7, 0x09dc, 5},\n\t\t{0x09dd, 0x09df, 2},\n\t\t{0x09e0, 0x09e3, 1},\n\t\t{0x09e6, 0x09fb, 1},\n\t\t{0x0a01, 0x0a03, 1},\n\t\t{0x0a05, 0x0a0a, 1},\n\t\t{0x0a0f, 0x0a10, 1},\n\t\t{0x0a13, 0x0a28, 1},\n\t\t{0x0a2a, 0x0a30, 1},\n\t\t{0x0a32, 0x0a33, 1},\n\t\t{0x0a35, 0x0a36, 1},\n\t\t{0x0a38, 0x0a39, 1},\n\t\t{0x0a3c, 0x0a3e, 2},\n\t\t{0x0a3f, 0x0a42, 1},\n\t\t{0x0a47, 0x0a48, 1},\n\t\t{0x0a4b, 0x0a4d, 1},\n\t\t{0x0a51, 0x0a59, 8},\n\t\t{0x0a5a, 0x0a5c, 1},\n\t\t{0x0a5e, 0x0a66, 8},\n\t\t{0x0a67, 0x0a75, 1},\n\t\t{0x0a81, 0x0a83, 1},\n\t\t{0x0a85, 0x0a8d, 1},\n\t\t{0x0a8f, 0x0a91, 1},\n\t\t{0x0a93, 0x0aa8, 1},\n\t\t{0x0aaa, 0x0ab0, 1},\n\t\t{0x0ab2, 0x0ab3, 1},\n\t\t{0x0ab5, 0x0ab9, 1},\n\t\t{0x0abc, 0x0ac5, 1},\n\t\t{0x0ac7, 0x0ac9, 1},\n\t\t{0x0acb, 0x0acd, 1},\n\t\t{0x0ad0, 0x0ae0, 16},\n\t\t{0x0ae1, 0x0ae3, 1},\n\t\t{0x0ae6, 0x0af1, 1},\n\t\t{0x0af9, 0x0b01, 8},\n\t\t{0x0b02, 0x0b03, 1},\n\t\t{0x0b05, 0x0b0c, 1},\n\t\t{0x0b0f, 0x0b10, 1},\n\t\t{0x0b13, 0x0b28, 1},\n\t\t{0x0b2a, 0x0b30, 1},\n\t\t{0x0b32, 0x0b33, 1},\n\t\t{0x0b35, 0x0b39, 1},\n\t\t{0x0b3c, 0x0b44, 1},\n\t\t{0x0b47, 0x0b48, 1},\n\t\t{0x0b4b, 0x0b4d, 1},\n\t\t{0x0b56, 0x0b57, 1},\n\t\t{0x0b5c, 0x0b5d, 1},\n\t\t{0x0b5f, 0x0b63, 1},\n\t\t{0x0b66, 0x0b77, 1},\n\t\t{0x0b82, 0x0b83, 1},\n\t\t{0x0b85, 0x0b8a, 1},\n\t\t{0x0b8e, 0x0b90, 1},\n\t\t{0x0b92, 0x0b95, 1},\n\t\t{0x0b99, 0x0b9a, 1},\n\t\t{0x0b9c, 0x0b9e, 2},\n\t\t{0x0b9f, 0x0ba3, 4},\n\t\t{0x0ba4, 0x0ba8, 4},\n\t\t{0x0ba9, 0x0baa, 1},\n\t\t{0x0bae, 0x0bb9, 1},\n\t\t{0x0bbe, 0x0bc2, 1},\n\t\t{0x0bc6, 0x0bc8, 1},\n\t\t{0x0bca, 0x0bcd, 1},\n\t\t{0x0bd0, 0x0bd7, 7},\n\t\t{0x0be6, 0x0bfa, 1},\n\t\t{0x0c00, 0x0c03, 1},\n\t\t{0x0c05, 0x0c0c, 1},\n\t\t{0x0c0e, 0x0c10, 1},\n\t\t{0x0c12, 0x0c28, 1},\n\t\t{0x0c2a, 0x0c39, 1},\n\t\t{0x0c3d, 0x0c44, 1},\n\t\t{0x0c46, 0x0c48, 1},\n\t\t{0x0c4a, 0x0c4d, 1},\n\t\t{0x0c55, 0x0c56, 1},\n\t\t{0x0c58, 0x0c5a, 1},\n\t\t{0x0c60, 0x0c63, 1},\n\t\t{0x0c66, 0x0c6f, 1},\n\t\t{0x0c78, 0x0c83, 1},\n\t\t{0x0c85, 0x0c8c, 1},\n\t\t{0x0c8e, 0x0c90, 1},\n\t\t{0x0c92, 0x0ca8, 1},\n\t\t{0x0caa, 0x0cb3, 1},\n\t\t{0x0cb5, 0x0cb9, 1},\n\t\t{0x0cbc, 0x0cc4, 1},\n\t\t{0x0cc6, 0x0cc8, 1},\n\t\t{0x0cca, 0x0ccd, 1},\n\t\t{0x0cd5, 0x0cd6, 1},\n\t\t{0x0cde, 0x0ce0, 2},\n\t\t{0x0ce1, 0x0ce3, 1},\n\t\t{0x0ce6, 0x0cef, 1},\n\t\t{0x0cf1, 0x0cf2, 1},\n\t\t{0x0d01, 0x0d03, 1},\n\t\t{0x0d05, 0x0d0c, 1},\n\t\t{0x0d0e, 0x0d10, 1},\n\t\t{0x0d12, 0x0d3a, 1},\n\t\t{0x0d3d, 0x0d44, 1},\n\t\t{0x0d46, 0x0d48, 1},\n\t\t{0x0d4a, 0x0d4f, 1},\n\t\t{0x0d54, 0x0d63, 1},\n\t\t{0x0d66, 0x0d7f, 1},\n\t\t{0x0d82, 0x0d83, 1},\n\t\t{0x0d85, 0x0d96, 1},\n\t\t{0x0d9a, 0x0db1, 1},\n\t\t{0x0db3, 0x0dbb, 1},\n\t\t{0x0dbd, 0x0dc0, 3},\n\t\t{0x0dc1, 0x0dc6, 1},\n\t\t{0x0dca, 0x0dcf, 5},\n\t\t{0x0dd0, 0x0dd4, 1},\n\t\t{0x0dd6, 0x0dd8, 2},\n\t\t{0x0dd9, 0x0ddf, 1},\n\t\t{0x0de6, 0x0def, 1},\n\t\t{0x0df2, 0x0df4, 1},\n\t\t{0x0e01, 0x0e3a, 1},\n\t\t{0x0e3f, 0x0e5b, 1},\n\t\t{0x0e81, 0x0e82, 1},\n\t\t{0x0e84, 0x0e87, 3},\n\t\t{0x0e88, 0x0e8a, 2},\n\t\t{0x0e8d, 0x0e94, 7},\n\t\t{0x0e95, 0x0e97, 1},\n\t\t{0x0e99, 0x0e9f, 1},\n\t\t{0x0ea1, 0x0ea3, 1},\n\t\t{0x0ea5, 0x0ea7, 2},\n\t\t{0x0eaa, 0x0eab, 1},\n\t\t{0x0ead, 0x0eb9, 1},\n\t\t{0x0ebb, 0x0ebd, 1},\n\t\t{0x0ec0, 0x0ec4, 1},\n\t\t{0x0ec6, 0x0ec8, 2},\n\t\t{0x0ec9, 0x0ecd, 1},\n\t\t{0x0ed0, 0x0ed9, 1},\n\t\t{0x0edc, 0x0edf, 1},\n\t\t{0x0f00, 0x0f47, 1},\n\t\t{0x0f49, 0x0f6c, 1},\n\t\t{0x0f71, 0x0f97, 1},\n\t\t{0x0f99, 0x0fbc, 1},\n\t\t{0x0fbe, 0x0fcc, 1},\n\t\t{0x0fce, 0x0fda, 1},\n\t\t{0x1000, 0x10c5, 1},\n\t\t{0x10c7, 0x10cd, 6},\n\t\t{0x10d0, 0x1248, 1},\n\t\t{0x124a, 0x124d, 1},\n\t\t{0x1250, 0x1256, 1},\n\t\t{0x1258, 0x125a, 2},\n\t\t{0x125b, 0x125d, 1},\n\t\t{0x1260, 0x1288, 1},\n\t\t{0x128a, 0x128d, 1},\n\t\t{0x1290, 0x12b0, 1},\n\t\t{0x12b2, 0x12b5, 1},\n\t\t{0x12b8, 0x12be, 1},\n\t\t{0x12c0, 0x12c2, 2},\n\t\t{0x12c3, 0x12c5, 1},\n\t\t{0x12c8, 0x12d6, 1},\n\t\t{0x12d8, 0x1310, 1},\n\t\t{0x1312, 0x1315, 1},\n\t\t{0x1318, 0x135a, 1},\n\t\t{0x135d, 0x137c, 1},\n\t\t{0x1380, 0x1399, 1},\n\t\t{0x13a0, 0x13f5, 1},\n\t\t{0x13f8, 0x13fd, 1},\n\t\t{0x1400, 0x169c, 1},\n\t\t{0x16a0, 0x16f8, 1},\n\t\t{0x1700, 0x170c, 1},\n\t\t{0x170e, 0x1714, 1},\n\t\t{0x1720, 0x1736, 1},\n\t\t{0x1740, 0x1753, 1},\n\t\t{0x1760, 0x176c, 1},\n\t\t{0x176e, 0x1770, 1},\n\t\t{0x1772, 0x1773, 1},\n\t\t{0x1780, 0x17dd, 1},\n\t\t{0x17e0, 0x17e9, 1},\n\t\t{0x17f0, 0x17f9, 1},\n\t\t{0x1800, 0x180e, 1},\n\t\t{0x1810, 0x1819, 1},\n\t\t{0x1820, 0x1877, 1},\n\t\t{0x1880, 0x18aa, 1},\n\t\t{0x18b0, 0x18f5, 1},\n\t\t{0x1900, 0x191e, 1},\n\t\t{0x1920, 0x192b, 1},\n\t\t{0x1930, 0x193b, 1},\n\t\t{0x1940, 0x1944, 4},\n\t\t{0x1945, 0x196d, 1},\n\t\t{0x1970, 0x1974, 1},\n\t\t{0x1980, 0x19ab, 1},\n\t\t{0x19b0, 0x19c9, 1},\n\t\t{0x19d0, 0x19da, 1},\n\t\t{0x19de, 0x1a1b, 1},\n\t\t{0x1a1e, 0x1a5e, 1},\n\t\t{0x1a60, 0x1a7c, 1},\n\t\t{0x1a7f, 0x1a89, 1},\n\t\t{0x1a90, 0x1a99, 1},\n\t\t{0x1aa0, 0x1aad, 1},\n\t\t{0x1ab0, 0x1abe, 1},\n\t\t{0x1b00, 0x1b4b, 1},\n\t\t{0x1b50, 0x1b7c, 1},\n\t\t{0x1b80, 0x1bf3, 1},\n\t\t{0x1bfc, 0x1c37, 1},\n\t\t{0x1c3b, 0x1c49, 1},\n\t\t{0x1c4d, 0x1c88, 1},\n\t\t{0x1cc0, 0x1cc7, 1},\n\t\t{0x1cd0, 0x1cf6, 1},\n\t\t{0x1cf8, 0x1cf9, 1},\n\t\t{0x1d00, 0x1df5, 1},\n\t\t{0x1dfb, 0x1f15, 1},\n\t\t{0x1f18, 0x1f1d, 1},\n\t\t{0x1f20, 0x1f45, 1},\n\t\t{0x1f48, 0x1f4d, 1},\n\t\t{0x1f50, 0x1f57, 1},\n\t\t{0x1f59, 0x1f5f, 2},\n\t\t{0x1f60, 0x1f7d, 1},\n\t\t{0x1f80, 0x1fb4, 1},\n\t\t{0x1fb6, 0x1fc4, 1},\n\t\t{0x1fc6, 0x1fd3, 1},\n\t\t{0x1fd6, 0x1fdb, 1},\n\t\t{0x1fdd, 0x1fef, 1},\n\t\t{0x1ff2, 0x1ff4, 1},\n\t\t{0x1ff6, 0x1ffe, 1},\n\t\t{0x2000, 0x2064, 1},\n\t\t{0x2066, 0x2071, 1},\n\t\t{0x2074, 0x208e, 1},\n\t\t{0x2090, 0x209c, 1},\n\t\t{0x20a0, 0x20be, 1},\n\t\t{0x20d0, 0x20f0, 1},\n\t\t{0x2100, 0x218b, 1},\n\t\t{0x2190, 0x23fe, 1},\n\t\t{0x2400, 0x2426, 1},\n\t\t{0x2440, 0x244a, 1},\n\t\t{0x2460, 0x2b73, 1},\n\t\t{0x2b76, 0x2b95, 1},\n\t\t{0x2b98, 0x2bb9, 1},\n\t\t{0x2bbd, 0x2bc8, 1},\n\t\t{0x2bca, 0x2bd1, 1},\n\t\t{0x2bec, 0x2bef, 1},\n\t\t{0x2c00, 0x2c2e, 1},\n\t\t{0x2c30, 0x2c5e, 1},\n\t\t{0x2c60, 0x2cf3, 1},\n\t\t{0x2cf9, 0x2d25, 1},\n\t\t{0x2d27, 0x2d2d, 6},\n\t\t{0x2d30, 0x2d67, 1},\n\t\t{0x2d6f, 0x2d70, 1},\n\t\t{0x2d7f, 0x2d96, 1},\n\t\t{0x2da0, 0x2da6, 1},\n\t\t{0x2da8, 0x2dae, 1},\n\t\t{0x2db0, 0x2db6, 1},\n\t\t{0x2db8, 0x2dbe, 1},\n\t\t{0x2dc0, 0x2dc6, 1},\n\t\t{0x2dc8, 0x2dce, 1},\n\t\t{0x2dd0, 0x2dd6, 1},\n\t\t{0x2dd8, 0x2dde, 1},\n\t\t{0x2de0, 0x2e44, 1},\n\t\t{0x2e80, 0x2e99, 1},\n\t\t{0x2e9b, 0x2ef3, 1},\n\t\t{0x2f00, 0x2fd5, 1},\n\t\t{0x2ff0, 0x2ffb, 1},\n\t\t{0x3000, 0x303f, 1},\n\t\t{0x3041, 0x3096, 1},\n\t\t{0x3099, 0x30ff, 1},\n\t\t{0x3105, 0x312d, 1},\n\t\t{0x3131, 0x318e, 1},\n\t\t{0x3190, 0x31ba, 1},\n\t\t{0x31c0, 0x31e3, 1},\n\t\t{0x31f0, 0x321e, 1},\n\t\t{0x3220, 0x32fe, 1},\n\t\t{0x3300, 0x4db5, 1},\n\t\t{0x4dc0, 0x9fd5, 1},\n\t\t{0xa000, 0xa48c, 1},\n\t\t{0xa490, 0xa4c6, 1},\n\t\t{0xa4d0, 0xa62b, 1},\n\t\t{0xa640, 0xa6f7, 1},\n\t\t{0xa700, 0xa7ae, 1},\n\t\t{0xa7b0, 0xa7b7, 1},\n\t\t{0xa7f7, 0xa82b, 1},\n\t\t{0xa830, 0xa839, 1},\n\t\t{0xa840, 0xa877, 1},\n\t\t{0xa880, 0xa8c5, 1},\n\t\t{0xa8ce, 0xa8d9, 1},\n\t\t{0xa8e0, 0xa8fd, 1},\n\t\t{0xa900, 0xa953, 1},\n\t\t{0xa95f, 0xa97c, 1},\n\t\t{0xa980, 0xa9cd, 1},\n\t\t{0xa9cf, 0xa9d9, 1},\n\t\t{0xa9de, 0xa9fe, 1},\n\t\t{0xaa00, 0xaa36, 1},\n\t\t{0xaa40, 0xaa4d, 1},\n\t\t{0xaa50, 0xaa59, 1},\n\t\t{0xaa5c, 0xaac2, 1},\n\t\t{0xaadb, 0xaaf6, 1},\n\t\t{0xab01, 0xab06, 1},\n\t\t{0xab09, 0xab0e, 1},\n\t\t{0xab11, 0xab16, 1},\n\t\t{0xab20, 0xab26, 1},\n\t\t{0xab28, 0xab2e, 1},\n\t\t{0xab30, 0xab65, 1},\n\t\t{0xab70, 0xabed, 1},\n\t\t{0xabf0, 0xabf9, 1},\n\t\t{0xac00, 0xd7a3, 1},\n\t\t{0xd7b0, 0xd7c6, 1},\n\t\t{0xd7cb, 0xd7fb, 1},\n\t\t{0xd800, 0xfa6d, 1},\n\t\t{0xfa70, 0xfad9, 1},\n\t\t{0xfb00, 0xfb06, 1},\n\t\t{0xfb13, 0xfb17, 1},\n\t\t{0xfb1d, 0xfb36, 1},\n\t\t{0xfb38, 0xfb3c, 1},\n\t\t{0xfb3e, 0xfb40, 2},\n\t\t{0xfb41, 0xfb43, 2},\n\t\t{0xfb44, 0xfb46, 2},\n\t\t{0xfb47, 0xfbc1, 1},\n\t\t{0xfbd3, 0xfd3f, 1},\n\t\t{0xfd50, 0xfd8f, 1},\n\t\t{0xfd92, 0xfdc7, 1},\n\t\t{0xfdf0, 0xfdfd, 1},\n\t\t{0xfe00, 0xfe19, 1},\n\t\t{0xfe20, 0xfe52, 1},\n\t\t{0xfe54, 0xfe66, 1},\n\t\t{0xfe68, 0xfe6b, 1},\n\t\t{0xfe70, 0xfe74, 1},\n\t\t{0xfe76, 0xfefc, 1},\n\t\t{0xfeff, 0xff01, 2},\n\t\t{0xff02, 0xffbe, 1},\n\t\t{0xffc2, 0xffc7, 1},\n\t\t{0xffca, 0xffcf, 1},\n\t\t{0xffd2, 0xffd7, 1},\n\t\t{0xffda, 0xffdc, 1},\n\t\t{0xffe0, 0xffe6, 1},\n\t\t{0xffe8, 0xffee, 1},\n\t\t{0xfff9, 0xfffd, 1},\n\t},\n\tR32: []unicode.Range32{\n\t\t{0x00010000, 0x0001000b, 1},\n\t\t{0x0001000d, 0x00010026, 1},\n\t\t{0x00010028, 0x0001003a, 1},\n\t\t{0x0001003c, 0x0001003d, 1},\n\t\t{0x0001003f, 0x0001004d, 1},\n\t\t{0x00010050, 0x0001005d, 1},\n\t\t{0x00010080, 0x000100fa, 1},\n\t\t{0x00010100, 0x00010102, 1},\n\t\t{0x00010107, 0x00010133, 1},\n\t\t{0x00010137, 0x0001018e, 1},\n\t\t{0x00010190, 0x0001019b, 1},\n\t\t{0x000101a0, 0x000101d0, 48},\n\t\t{0x000101d1, 0x000101fd, 1},\n\t\t{0x00010280, 0x0001029c, 1},\n\t\t{0x000102a0, 0x000102d0, 1},\n\t\t{0x000102e0, 0x000102fb, 1},\n\t\t{0x00010300, 0x00010323, 1},\n\t\t{0x00010330, 0x0001034a, 1},\n\t\t{0x00010350, 0x0001037a, 1},\n\t\t{0x00010380, 0x0001039d, 1},\n\t\t{0x0001039f, 0x000103c3, 1},\n\t\t{0x000103c8, 0x000103d5, 1},\n\t\t{0x00010400, 0x0001049d, 1},\n\t\t{0x000104a0, 0x000104a9, 1},\n\t\t{0x000104b0, 0x000104d3, 1},\n\t\t{0x000104d8, 0x000104fb, 1},\n\t\t{0x00010500, 0x00010527, 1},\n\t\t{0x00010530, 0x00010563, 1},\n\t\t{0x0001056f, 0x00010600, 145},\n\t\t{0x00010601, 0x00010736, 1},\n\t\t{0x00010740, 0x00010755, 1},\n\t\t{0x00010760, 0x00010767, 1},\n\t\t{0x00010800, 0x00010805, 1},\n\t\t{0x00010808, 0x0001080a, 2},\n\t\t{0x0001080b, 0x00010835, 1},\n\t\t{0x00010837, 0x00010838, 1},\n\t\t{0x0001083c, 0x0001083f, 3},\n\t\t{0x00010840, 0x00010855, 1},\n\t\t{0x00010857, 0x0001089e, 1},\n\t\t{0x000108a7, 0x000108af, 1},\n\t\t{0x000108e0, 0x000108f2, 1},\n\t\t{0x000108f4, 0x000108f5, 1},\n\t\t{0x000108fb, 0x0001091b, 1},\n\t\t{0x0001091f, 0x00010939, 1},\n\t\t{0x0001093f, 0x00010980, 65},\n\t\t{0x00010981, 0x000109b7, 1},\n\t\t{0x000109bc, 0x000109cf, 1},\n\t\t{0x000109d2, 0x00010a03, 1},\n\t\t{0x00010a05, 0x00010a06, 1},\n\t\t{0x00010a0c, 0x00010a13, 1},\n\t\t{0x00010a15, 0x00010a17, 1},\n\t\t{0x00010a19, 0x00010a33, 1},\n\t\t{0x00010a38, 0x00010a3a, 1},\n\t\t{0x00010a3f, 0x00010a47, 1},\n\t\t{0x00010a50, 0x00010a58, 1},\n\t\t{0x00010a60, 0x00010a9f, 1},\n\t\t{0x00010ac0, 0x00010ae6, 1},\n\t\t{0x00010aeb, 0x00010af6, 1},\n\t\t{0x00010b00, 0x00010b35, 1},\n\t\t{0x00010b39, 0x00010b55, 1},\n\t\t{0x00010b58, 0x00010b72, 1},\n\t\t{0x00010b78, 0x00010b91, 1},\n\t\t{0x00010b99, 0x00010b9c, 1},\n\t\t{0x00010ba9, 0x00010baf, 1},\n\t\t{0x00010c00, 0x00010c48, 1},\n\t\t{0x00010c80, 0x00010cb2, 1},\n\t\t{0x00010cc0, 0x00010cf2, 1},\n\t\t{0x00010cfa, 0x00010cff, 1},\n\t\t{0x00010e60, 0x00010e7e, 1},\n\t\t{0x00011000, 0x0001104d, 1},\n\t\t{0x00011052, 0x0001106f, 1},\n\t\t{0x0001107f, 0x000110c1, 1},\n\t\t{0x000110d0, 0x000110e8, 1},\n\t\t{0x000110f0, 0x000110f9, 1},\n\t\t{0x00011100, 0x00011134, 1},\n\t\t{0x00011136, 0x00011143, 1},\n\t\t{0x00011150, 0x00011176, 1},\n\t\t{0x00011180, 0x000111cd, 1},\n\t\t{0x000111d0, 0x000111df, 1},\n\t\t{0x000111e1, 0x000111f4, 1},\n\t\t{0x00011200, 0x00011211, 1},\n\t\t{0x00011213, 0x0001123e, 1},\n\t\t{0x00011280, 0x00011286, 1},\n\t\t{0x00011288, 0x0001128a, 2},\n\t\t{0x0001128b, 0x0001128d, 1},\n\t\t{0x0001128f, 0x0001129d, 1},\n\t\t{0x0001129f, 0x000112a9, 1},\n\t\t{0x000112b0, 0x000112ea, 1},\n\t\t{0x000112f0, 0x000112f9, 1},\n\t\t{0x00011300, 0x00011303, 1},\n\t\t{0x00011305, 0x0001130c, 1},\n\t\t{0x0001130f, 0x00011310, 1},\n\t\t{0x00011313, 0x00011328, 1},\n\t\t{0x0001132a, 0x00011330, 1},\n\t\t{0x00011332, 0x00011333, 1},\n\t\t{0x00011335, 0x00011339, 1},\n\t\t{0x0001133c, 0x00011344, 1},\n\t\t{0x00011347, 0x00011348, 1},\n\t\t{0x0001134b, 0x0001134d, 1},\n\t\t{0x00011350, 0x00011357, 7},\n\t\t{0x0001135d, 0x00011363, 1},\n\t\t{0x00011366, 0x0001136c, 1},\n\t\t{0x00011370, 0x00011374, 1},\n\t\t{0x00011400, 0x00011459, 1},\n\t\t{0x0001145b, 0x0001145d, 2},\n\t\t{0x00011480, 0x000114c7, 1},\n\t\t{0x000114d0, 0x000114d9, 1},\n\t\t{0x00011580, 0x000115b5, 1},\n\t\t{0x000115b8, 0x000115dd, 1},\n\t\t{0x00011600, 0x00011644, 1},\n\t\t{0x00011650, 0x00011659, 1},\n\t\t{0x00011660, 0x0001166c, 1},\n\t\t{0x00011680, 0x000116b7, 1},\n\t\t{0x000116c0, 0x000116c9, 1},\n\t\t{0x00011700, 0x00011719, 1},\n\t\t{0x0001171d, 0x0001172b, 1},\n\t\t{0x00011730, 0x0001173f, 1},\n\t\t{0x000118a0, 0x000118f2, 1},\n\t\t{0x000118ff, 0x00011ac0, 449},\n\t\t{0x00011ac1, 0x00011af8, 1},\n\t\t{0x00011c00, 0x00011c08, 1},\n\t\t{0x00011c0a, 0x00011c36, 1},\n\t\t{0x00011c38, 0x00011c45, 1},\n\t\t{0x00011c50, 0x00011c6c, 1},\n\t\t{0x00011c70, 0x00011c8f, 1},\n\t\t{0x00011c92, 0x00011ca7, 1},\n\t\t{0x00011ca9, 0x00011cb6, 1},\n\t\t{0x00012000, 0x00012399, 1},\n\t\t{0x00012400, 0x0001246e, 1},\n\t\t{0x00012470, 0x00012474, 1},\n\t\t{0x00012480, 0x00012543, 1},\n\t\t{0x00013000, 0x0001342e, 1},\n\t\t{0x00014400, 0x00014646, 1},\n\t\t{0x00016800, 0x00016a38, 1},\n\t\t{0x00016a40, 0x00016a5e, 1},\n\t\t{0x00016a60, 0x00016a69, 1},\n\t\t{0x00016a6e, 0x00016a6f, 1},\n\t\t{0x00016ad0, 0x00016aed, 1},\n\t\t{0x00016af0, 0x00016af5, 1},\n\t\t{0x00016b00, 0x00016b45, 1},\n\t\t{0x00016b50, 0x00016b59, 1},\n\t\t{0x00016b5b, 0x00016b61, 1},\n\t\t{0x00016b63, 0x00016b77, 1},\n\t\t{0x00016b7d, 0x00016b8f, 1},\n\t\t{0x00016f00, 0x00016f44, 1},\n\t\t{0x00016f50, 0x00016f7e, 1},\n\t\t{0x00016f8f, 0x00016f9f, 1},\n\t\t{0x00016fe0, 0x00017000, 32},\n\t\t{0x00017001, 0x000187ec, 1},\n\t\t{0x00018800, 0x00018af2, 1},\n\t\t{0x0001b000, 0x0001b001, 1},\n\t\t{0x0001bc00, 0x0001bc6a, 1},\n\t\t{0x0001bc70, 0x0001bc7c, 1},\n\t\t{0x0001bc80, 0x0001bc88, 1},\n\t\t{0x0001bc90, 0x0001bc99, 1},\n\t\t{0x0001bc9c, 0x0001bca3, 1},\n\t\t{0x0001d000, 0x0001d0f5, 1},\n\t\t{0x0001d100, 0x0001d126, 1},\n\t\t{0x0001d129, 0x0001d1e8, 1},\n\t\t{0x0001d200, 0x0001d245, 1},\n\t\t{0x0001d300, 0x0001d356, 1},\n\t\t{0x0001d360, 0x0001d371, 1},\n\t\t{0x0001d400, 0x0001d454, 1},\n\t\t{0x0001d456, 0x0001d49c, 1},\n\t\t{0x0001d49e, 0x0001d49f, 1},\n\t\t{0x0001d4a2, 0x0001d4a5, 3},\n\t\t{0x0001d4a6, 0x0001d4a9, 3},\n\t\t{0x0001d4aa, 0x0001d4ac, 1},\n\t\t{0x0001d4ae, 0x0001d4b9, 1},\n\t\t{0x0001d4bb, 0x0001d4bd, 2},\n\t\t{0x0001d4be, 0x0001d4c3, 1},\n\t\t{0x0001d4c5, 0x0001d505, 1},\n\t\t{0x0001d507, 0x0001d50a, 1},\n\t\t{0x0001d50d, 0x0001d514, 1},\n\t\t{0x0001d516, 0x0001d51c, 1},\n\t\t{0x0001d51e, 0x0001d539, 1},\n\t\t{0x0001d53b, 0x0001d53e, 1},\n\t\t{0x0001d540, 0x0001d544, 1},\n\t\t{0x0001d546, 0x0001d54a, 4},\n\t\t{0x0001d54b, 0x0001d550, 1},\n\t\t{0x0001d552, 0x0001d6a5, 1},\n\t\t{0x0001d6a8, 0x0001d7cb, 1},\n\t\t{0x0001d7ce, 0x0001da8b, 1},\n\t\t{0x0001da9b, 0x0001da9f, 1},\n\t\t{0x0001daa1, 0x0001daaf, 1},\n\t\t{0x0001e000, 0x0001e006, 1},\n\t\t{0x0001e008, 0x0001e018, 1},\n\t\t{0x0001e01b, 0x0001e021, 1},\n\t\t{0x0001e023, 0x0001e024, 1},\n\t\t{0x0001e026, 0x0001e02a, 1},\n\t\t{0x0001e800, 0x0001e8c4, 1},\n\t\t{0x0001e8c7, 0x0001e8d6, 1},\n\t\t{0x0001e900, 0x0001e94a, 1},\n\t\t{0x0001e950, 0x0001e959, 1},\n\t\t{0x0001e95e, 0x0001e95f, 1},\n\t\t{0x0001ee00, 0x0001ee03, 1},\n\t\t{0x0001ee05, 0x0001ee1f, 1},\n\t\t{0x0001ee21, 0x0001ee22, 1},\n\t\t{0x0001ee24, 0x0001ee27, 3},\n\t\t{0x0001ee29, 0x0001ee32, 1},\n\t\t{0x0001ee34, 0x0001ee37, 1},\n\t\t{0x0001ee39, 0x0001ee3b, 2},\n\t\t{0x0001ee42, 0x0001ee47, 5},\n\t\t{0x0001ee49, 0x0001ee4d, 2},\n\t\t{0x0001ee4e, 0x0001ee4f, 1},\n\t\t{0x0001ee51, 0x0001ee52, 1},\n\t\t{0x0001ee54, 0x0001ee57, 3},\n\t\t{0x0001ee59, 0x0001ee61, 2},\n\t\t{0x0001ee62, 0x0001ee64, 2},\n\t\t{0x0001ee67, 0x0001ee6a, 1},\n\t\t{0x0001ee6c, 0x0001ee72, 1},\n\t\t{0x0001ee74, 0x0001ee77, 1},\n\t\t{0x0001ee79, 0x0001ee7c, 1},\n\t\t{0x0001ee7e, 0x0001ee80, 2},\n\t\t{0x0001ee81, 0x0001ee89, 1},\n\t\t{0x0001ee8b, 0x0001ee9b, 1},\n\t\t{0x0001eea1, 0x0001eea3, 1},\n\t\t{0x0001eea5, 0x0001eea9, 1},\n\t\t{0x0001eeab, 0x0001eebb, 1},\n\t\t{0x0001eef0, 0x0001eef1, 1},\n\t\t{0x0001f000, 0x0001f02b, 1},\n\t\t{0x0001f030, 0x0001f093, 1},\n\t\t{0x0001f0a0, 0x0001f0ae, 1},\n\t\t{0x0001f0b1, 0x0001f0bf, 1},\n\t\t{0x0001f0c1, 0x0001f0cf, 1},\n\t\t{0x0001f0d1, 0x0001f0f5, 1},\n\t\t{0x0001f100, 0x0001f10c, 1},\n\t\t{0x0001f110, 0x0001f12e, 1},\n\t\t{0x0001f130, 0x0001f16b, 1},\n\t\t{0x0001f170, 0x0001f1ac, 1},\n\t\t{0x0001f1e6, 0x0001f202, 1},\n\t\t{0x0001f210, 0x0001f23b, 1},\n\t\t{0x0001f240, 0x0001f248, 1},\n\t\t{0x0001f250, 0x0001f251, 1},\n\t\t{0x0001f300, 0x0001f6d2, 1},\n\t\t{0x0001f6e0, 0x0001f6ec, 1},\n\t\t{0x0001f6f0, 0x0001f6f6, 1},\n\t\t{0x0001f700, 0x0001f773, 1},\n\t\t{0x0001f780, 0x0001f7d4, 1},\n\t\t{0x0001f800, 0x0001f80b, 1},\n\t\t{0x0001f810, 0x0001f847, 1},\n\t\t{0x0001f850, 0x0001f859, 1},\n\t\t{0x0001f860, 0x0001f887, 1},\n\t\t{0x0001f890, 0x0001f8ad, 1},\n\t\t{0x0001f910, 0x0001f91e, 1},\n\t\t{0x0001f920, 0x0001f927, 1},\n\t\t{0x0001f930, 0x0001f933, 3},\n\t\t{0x0001f934, 0x0001f93e, 1},\n\t\t{0x0001f940, 0x0001f94b, 1},\n\t\t{0x0001f950, 0x0001f95e, 1},\n\t\t{0x0001f980, 0x0001f991, 1},\n\t\t{0x0001f9c0, 0x00020000, 1600},\n\t\t{0x00020001, 0x0002a6d6, 1},\n\t\t{0x0002a700, 0x0002b734, 1},\n\t\t{0x0002b740, 0x0002b81d, 1},\n\t\t{0x0002b820, 0x0002cea1, 1},\n\t\t{0x0002f800, 0x0002fa1d, 1},\n\t\t{0x000e0001, 0x000e0020, 31},\n\t\t{0x000e0021, 0x000e007f, 1},\n\t\t{0x000e0100, 0x000e01ef, 1},\n\t\t{0x000f0000, 0x000ffffd, 1},\n\t\t{0x00100000, 0x0010fffd, 1},\n\t},\n\tLatinOffset: 0,\n}\n\n// Total size 44206 bytes (43 KiB)\n"
  },
  {
    "path": "vendor/google.golang.org/genproto/LICENSE",
    "content": "\n                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"[]\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright [yyyy] [name of copyright owner]\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n"
  },
  {
    "path": "vendor/google.golang.org/genproto/googleapis/rpc/status/status.pb.go",
    "content": "// Code generated by protoc-gen-go. DO NOT EDIT.\n// source: google/rpc/status.proto\n\npackage status // import \"google.golang.org/genproto/googleapis/rpc/status\"\n\nimport proto \"github.com/golang/protobuf/proto\"\nimport fmt \"fmt\"\nimport math \"math\"\nimport any \"github.com/golang/protobuf/ptypes/any\"\n\n// Reference imports to suppress errors if they are not otherwise used.\nvar _ = proto.Marshal\nvar _ = fmt.Errorf\nvar _ = math.Inf\n\n// This is a compile-time assertion to ensure that this generated file\n// is compatible with the proto package it is being compiled against.\n// A compilation error at this line likely means your copy of the\n// proto package needs to be updated.\nconst _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package\n\n// The `Status` type defines a logical error model that is suitable for different\n// programming environments, including REST APIs and RPC APIs. It is used by\n// [gRPC](https://github.com/grpc). The error model is designed to be:\n//\n// - Simple to use and understand for most users\n// - Flexible enough to meet unexpected needs\n//\n// # Overview\n//\n// The `Status` message contains three pieces of data: error code, error message,\n// and error details. The error code should be an enum value of\n// [google.rpc.Code][google.rpc.Code], but it may accept additional error codes if needed.  The\n// error message should be a developer-facing English message that helps\n// developers *understand* and *resolve* the error. If a localized user-facing\n// error message is needed, put the localized message in the error details or\n// localize it in the client. The optional error details may contain arbitrary\n// information about the error. There is a predefined set of error detail types\n// in the package `google.rpc` that can be used for common error conditions.\n//\n// # Language mapping\n//\n// The `Status` message is the logical representation of the error model, but it\n// is not necessarily the actual wire format. When the `Status` message is\n// exposed in different client libraries and different wire protocols, it can be\n// mapped differently. For example, it will likely be mapped to some exceptions\n// in Java, but more likely mapped to some error codes in C.\n//\n// # Other uses\n//\n// The error model and the `Status` message can be used in a variety of\n// environments, either with or without APIs, to provide a\n// consistent developer experience across different environments.\n//\n// Example uses of this error model include:\n//\n// - Partial errors. If a service needs to return partial errors to the client,\n//     it may embed the `Status` in the normal response to indicate the partial\n//     errors.\n//\n// - Workflow errors. A typical workflow has multiple steps. Each step may\n//     have a `Status` message for error reporting.\n//\n// - Batch operations. If a client uses batch request and batch response, the\n//     `Status` message should be used directly inside batch response, one for\n//     each error sub-response.\n//\n// - Asynchronous operations. If an API call embeds asynchronous operation\n//     results in its response, the status of those operations should be\n//     represented directly using the `Status` message.\n//\n// - Logging. If some API errors are stored in logs, the message `Status` could\n//     be used directly after any stripping needed for security/privacy reasons.\ntype Status struct {\n\t// The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].\n\tCode int32 `protobuf:\"varint,1,opt,name=code,proto3\" json:\"code,omitempty\"`\n\t// A developer-facing error message, which should be in English. Any\n\t// user-facing error message should be localized and sent in the\n\t// [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.\n\tMessage string `protobuf:\"bytes,2,opt,name=message,proto3\" json:\"message,omitempty\"`\n\t// A list of messages that carry the error details.  There is a common set of\n\t// message types for APIs to use.\n\tDetails              []*any.Any `protobuf:\"bytes,3,rep,name=details,proto3\" json:\"details,omitempty\"`\n\tXXX_NoUnkeyedLiteral struct{}   `json:\"-\"`\n\tXXX_unrecognized     []byte     `json:\"-\"`\n\tXXX_sizecache        int32      `json:\"-\"`\n}\n\nfunc (m *Status) Reset()         { *m = Status{} }\nfunc (m *Status) String() string { return proto.CompactTextString(m) }\nfunc (*Status) ProtoMessage()    {}\nfunc (*Status) Descriptor() ([]byte, []int) {\n\treturn fileDescriptor_status_c6e4de62dcdf2edf, []int{0}\n}\nfunc (m *Status) XXX_Unmarshal(b []byte) error {\n\treturn xxx_messageInfo_Status.Unmarshal(m, b)\n}\nfunc (m *Status) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {\n\treturn xxx_messageInfo_Status.Marshal(b, m, deterministic)\n}\nfunc (dst *Status) XXX_Merge(src proto.Message) {\n\txxx_messageInfo_Status.Merge(dst, src)\n}\nfunc (m *Status) XXX_Size() int {\n\treturn xxx_messageInfo_Status.Size(m)\n}\nfunc (m *Status) XXX_DiscardUnknown() {\n\txxx_messageInfo_Status.DiscardUnknown(m)\n}\n\nvar xxx_messageInfo_Status proto.InternalMessageInfo\n\nfunc (m *Status) GetCode() int32 {\n\tif m != nil {\n\t\treturn m.Code\n\t}\n\treturn 0\n}\n\nfunc (m *Status) GetMessage() string {\n\tif m != nil {\n\t\treturn m.Message\n\t}\n\treturn \"\"\n}\n\nfunc (m *Status) GetDetails() []*any.Any {\n\tif m != nil {\n\t\treturn m.Details\n\t}\n\treturn nil\n}\n\nfunc init() {\n\tproto.RegisterType((*Status)(nil), \"google.rpc.Status\")\n}\n\nfunc init() { proto.RegisterFile(\"google/rpc/status.proto\", fileDescriptor_status_c6e4de62dcdf2edf) }\n\nvar fileDescriptor_status_c6e4de62dcdf2edf = []byte{\n\t// 209 bytes of a gzipped FileDescriptorProto\n\t0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x4f, 0xcf, 0xcf, 0x4f,\n\t0xcf, 0x49, 0xd5, 0x2f, 0x2a, 0x48, 0xd6, 0x2f, 0x2e, 0x49, 0x2c, 0x29, 0x2d, 0xd6, 0x2b, 0x28,\n\t0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x82, 0x48, 0xe8, 0x15, 0x15, 0x24, 0x4b, 0x49, 0x42, 0x15, 0x81,\n\t0x65, 0x92, 0x4a, 0xd3, 0xf4, 0x13, 0xf3, 0x2a, 0x21, 0xca, 0x94, 0xd2, 0xb8, 0xd8, 0x82, 0xc1,\n\t0xda, 0x84, 0x84, 0xb8, 0x58, 0x92, 0xf3, 0x53, 0x52, 0x25, 0x18, 0x15, 0x18, 0x35, 0x58, 0x83,\n\t0xc0, 0x6c, 0x21, 0x09, 0x2e, 0xf6, 0xdc, 0xd4, 0xe2, 0xe2, 0xc4, 0xf4, 0x54, 0x09, 0x26, 0x05,\n\t0x46, 0x0d, 0xce, 0x20, 0x18, 0x57, 0x48, 0x8f, 0x8b, 0x3d, 0x25, 0xb5, 0x24, 0x31, 0x33, 0xa7,\n\t0x58, 0x82, 0x59, 0x81, 0x59, 0x83, 0xdb, 0x48, 0x44, 0x0f, 0x6a, 0x21, 0xcc, 0x12, 0x3d, 0xc7,\n\t0xbc, 0xca, 0x20, 0x98, 0x22, 0xa7, 0x38, 0x2e, 0xbe, 0xe4, 0xfc, 0x5c, 0x3d, 0x84, 0xa3, 0x9c,\n\t0xb8, 0x21, 0xf6, 0x06, 0x80, 0x94, 0x07, 0x30, 0x46, 0x99, 0x43, 0xa5, 0xd2, 0xf3, 0x73, 0x12,\n\t0xf3, 0xd2, 0xf5, 0xf2, 0x8b, 0xd2, 0xf5, 0xd3, 0x53, 0xf3, 0xc0, 0x86, 0xe9, 0x43, 0xa4, 0x12,\n\t0x0b, 0x32, 0x8b, 0x91, 0xfc, 0x69, 0x0d, 0xa1, 0x16, 0x31, 0x31, 0x07, 0x05, 0x38, 0x27, 0xb1,\n\t0x81, 0x55, 0x1a, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0xa4, 0x53, 0xf0, 0x7c, 0x10, 0x01, 0x00,\n\t0x00,\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/.travis.yml",
    "content": "language: go\n\nmatrix:\n  include:\n  - go: 1.10.x\n    env: VET=1 RACE=1\n  - go: 1.6.x\n  - go: 1.7.x\n  - go: 1.8.x\n  - go: 1.9.x\n  - go: 1.9.x\n    env: GAE=1\n  - go: 1.10.x\n    env: RUN386=1\n  - go: 1.10.x\n    env: GRPC_GO_RETRY=on\n\ngo_import_path: google.golang.org/grpc\n\nbefore_install:\n  - if [[ -n \"$RUN386\" ]]; then export GOARCH=386; fi\n  - if [[ \"$TRAVIS_EVENT_TYPE\" = \"cron\" && -z \"$RUN386\" ]]; then RACE=1; fi\n  - if [[ \"$TRAVIS_EVENT_TYPE\" != \"cron\" ]]; then VET_SKIP_PROTO=1; fi\n\ninstall:\n  - if [[ \"$GAE\" = 1 ]]; then source ./install_gae.sh; fi\n  - if [[ \"$VET\" = 1 ]]; then ./vet.sh -install; fi\n\nscript:\n  - set -e\n  - if [[ \"$GAE\" = 1 ]]; then make testappengine; exit 0; fi\n  - if [[ \"$VET\" = 1 ]]; then ./vet.sh; fi\n  - make test\n  - if [[ \"$RACE\" = 1 ]]; then make testrace; fi\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/AUTHORS",
    "content": "Google Inc.\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/CONTRIBUTING.md",
    "content": "# How to contribute\n\nWe definitely welcome your patches and contributions to gRPC!\n\nIf you are new to github, please start by reading [Pull Request howto](https://help.github.com/articles/about-pull-requests/)\n\n## Legal requirements\n\nIn order to protect both you and ourselves, you will need to sign the\n[Contributor License Agreement](https://identity.linuxfoundation.org/projects/cncf).\n\n## Guidelines for Pull Requests\nHow to get your contributions merged smoothly and quickly.\n \n- Create **small PRs** that are narrowly focused on **addressing a single concern**. We often times receive PRs that are trying to fix several things at a time, but only one fix is considered acceptable, nothing gets merged and both author's & review's time is wasted. Create more PRs to address different concerns and everyone will be happy.\n \n- For speculative changes, consider opening an issue and discussing it first. If you are suggesting a behavioral or API change, consider starting with a [gRFC proposal](https://github.com/grpc/proposal). \n \n- Provide a good **PR description** as a record of **what** change is being made and **why** it was made. Link to a github issue if it exists.\n \n- Don't fix code style and formatting unless you are already changing that line to address an issue. PRs with irrelevant changes won't be merged. If you do want to fix formatting or style, do that in a separate PR.\n \n- Unless your PR is trivial, you should expect there will be reviewer comments that you'll need to address before merging. We expect you to be reasonably responsive to those comments, otherwise the PR will be closed after 2-3 weeks of inactivity.\n \n- Maintain **clean commit history** and use **meaningful commit messages**. PRs with messy commit history are difficult to review and won't be merged. Use `rebase -i upstream/master` to curate your commit history and/or to bring in latest changes from master (but avoid rebasing in the middle of a code review).\n \n- Keep your PR up to date with upstream/master (if there are merge conflicts, we can't really merge your change).\n \n- **All tests need to be passing** before your change can be merged. We recommend you **run tests locally** before creating your PR to catch breakages early on.\n  - `make all` to test everything, OR\n  - `make vet` to catch vet errors\n  - `make test` to run the tests\n  - `make testrace` to run tests in race mode\n\n- Exceptions to the rules can be made if there's a compelling reason for doing so.\n \n"
  },
  {
    "path": "vendor/google.golang.org/grpc/LICENSE",
    "content": "\n                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"[]\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright [yyyy] [name of copyright owner]\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/Makefile",
    "content": "all: vet test testrace\n\ndeps:\n\tgo get -d -v google.golang.org/grpc/...\n\nupdatedeps:\n\tgo get -d -v -u -f google.golang.org/grpc/...\n\ntestdeps:\n\tgo get -d -v -t google.golang.org/grpc/...\n\ntestgaedeps:\n\tgoapp get -d -v -t -tags 'appengine appenginevm' google.golang.org/grpc/...\n\nupdatetestdeps:\n\tgo get -d -v -t -u -f google.golang.org/grpc/...\n\nbuild: deps\n\tgo build google.golang.org/grpc/...\n\nproto:\n\t@ if ! which protoc > /dev/null; then \\\n\t\techo \"error: protoc not installed\" >&2; \\\n\t\texit 1; \\\n\tfi\n\tgo generate google.golang.org/grpc/...\n\nvet:\n\t./vet.sh\n\ntest: testdeps\n\tgo test -cpu 1,4 -timeout 5m google.golang.org/grpc/...\n\ntestrace: testdeps\n\tgo test -race -cpu 1,4 -timeout 7m google.golang.org/grpc/...\n\ntestappengine: testgaedeps\n\tgoapp test -cpu 1,4 -timeout 5m google.golang.org/grpc/...\n\nclean:\n\tgo clean -i google.golang.org/grpc/...\n\n.PHONY: \\\n\tall \\\n\tdeps \\\n\tupdatedeps \\\n\ttestdeps \\\n\ttestgaedeps \\\n\tupdatetestdeps \\\n\tbuild \\\n\tproto \\\n\tvet \\\n\ttest \\\n\ttestrace \\\n\tclean\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/README.md",
    "content": "# gRPC-Go\n\n[![Build Status](https://travis-ci.org/grpc/grpc-go.svg)](https://travis-ci.org/grpc/grpc-go) [![GoDoc](https://godoc.org/google.golang.org/grpc?status.svg)](https://godoc.org/google.golang.org/grpc) [![GoReportCard](https://goreportcard.com/badge/grpc/grpc-go)](https://goreportcard.com/report/github.com/grpc/grpc-go)\n\nThe Go implementation of [gRPC](https://grpc.io/): A high performance, open source, general RPC framework that puts mobile and HTTP/2 first. For more information see the [gRPC Quick Start: Go](https://grpc.io/docs/quickstart/go.html) guide.\n\nInstallation\n------------\n\nTo install this package, you need to install Go and setup your Go workspace on your computer. The simplest way to install the library is to run:\n\n```\n$ go get -u google.golang.org/grpc\n```\n\nPrerequisites\n-------------\n\nThis requires Go 1.6 or later. Go 1.7 will be required soon.\n\nConstraints\n-----------\nThe grpc package should only depend on standard Go packages and a small number of exceptions. If your contribution introduces new dependencies which are NOT in the [list](http://godoc.org/google.golang.org/grpc?imports), you need a discussion with gRPC-Go authors and consultants.\n\nDocumentation\n-------------\nSee [API documentation](https://godoc.org/google.golang.org/grpc) for package and API descriptions and find examples in the [examples directory](examples/).\n\nPerformance\n-----------\nSee the current benchmarks for some of the languages supported in [this dashboard](https://performance-dot-grpc-testing.appspot.com/explore?dashboard=5652536396611584&widget=490377658&container=1286539696).\n\nStatus\n------\nGeneral Availability [Google Cloud Platform Launch Stages](https://cloud.google.com/terms/launch-stages).\n\nFAQ\n---\n\n#### Compiling error, undefined: grpc.SupportPackageIsVersion\n\nPlease update proto package, gRPC package and rebuild the proto files:\n - `go get -u github.com/golang/protobuf/{proto,protoc-gen-go}`\n - `go get -u google.golang.org/grpc`\n - `protoc --go_out=plugins=grpc:. *.proto`\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/backoff.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n// See internal/backoff package for the backoff implementation. This file is\n// kept for the exported types and API backward compatility.\n\npackage grpc\n\nimport (\n\t\"time\"\n)\n\n// DefaultBackoffConfig uses values specified for backoff in\n// https://github.com/grpc/grpc/blob/master/doc/connection-backoff.md.\nvar DefaultBackoffConfig = BackoffConfig{\n\tMaxDelay: 120 * time.Second,\n}\n\n// BackoffConfig defines the parameters for the default gRPC backoff strategy.\ntype BackoffConfig struct {\n\t// MaxDelay is the upper bound of backoff delay.\n\tMaxDelay time.Duration\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/balancer/balancer.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n// Package balancer defines APIs for load balancing in gRPC.\n// All APIs in this package are experimental.\npackage balancer\n\nimport (\n\t\"errors\"\n\t\"net\"\n\t\"strings\"\n\n\t\"golang.org/x/net/context\"\n\t\"google.golang.org/grpc/connectivity\"\n\t\"google.golang.org/grpc/credentials\"\n\t\"google.golang.org/grpc/resolver\"\n)\n\nvar (\n\t// m is a map from name to balancer builder.\n\tm = make(map[string]Builder)\n)\n\n// Register registers the balancer builder to the balancer map. b.Name\n// (lowercased) will be used as the name registered with this builder.\n//\n// NOTE: this function must only be called during initialization time (i.e. in\n// an init() function), and is not thread-safe. If multiple Balancers are\n// registered with the same name, the one registered last will take effect.\nfunc Register(b Builder) {\n\tm[strings.ToLower(b.Name())] = b\n}\n\n// Get returns the resolver builder registered with the given name.\n// Note that the compare is done in a case-insenstive fashion.\n// If no builder is register with the name, nil will be returned.\nfunc Get(name string) Builder {\n\tif b, ok := m[strings.ToLower(name)]; ok {\n\t\treturn b\n\t}\n\treturn nil\n}\n\n// SubConn represents a gRPC sub connection.\n// Each sub connection contains a list of addresses. gRPC will\n// try to connect to them (in sequence), and stop trying the\n// remainder once one connection is successful.\n//\n// The reconnect backoff will be applied on the list, not a single address.\n// For example, try_on_all_addresses -> backoff -> try_on_all_addresses.\n//\n// All SubConns start in IDLE, and will not try to connect. To trigger\n// the connecting, Balancers must call Connect.\n// When the connection encounters an error, it will reconnect immediately.\n// When the connection becomes IDLE, it will not reconnect unless Connect is\n// called.\n//\n// This interface is to be implemented by gRPC. Users should not need a\n// brand new implementation of this interface. For the situations like\n// testing, the new implementation should embed this interface. This allows\n// gRPC to add new methods to this interface.\ntype SubConn interface {\n\t// UpdateAddresses updates the addresses used in this SubConn.\n\t// gRPC checks if currently-connected address is still in the new list.\n\t// If it's in the list, the connection will be kept.\n\t// If it's not in the list, the connection will gracefully closed, and\n\t// a new connection will be created.\n\t//\n\t// This will trigger a state transition for the SubConn.\n\tUpdateAddresses([]resolver.Address)\n\t// Connect starts the connecting for this SubConn.\n\tConnect()\n}\n\n// NewSubConnOptions contains options to create new SubConn.\ntype NewSubConnOptions struct{}\n\n// ClientConn represents a gRPC ClientConn.\n//\n// This interface is to be implemented by gRPC. Users should not need a\n// brand new implementation of this interface. For the situations like\n// testing, the new implementation should embed this interface. This allows\n// gRPC to add new methods to this interface.\ntype ClientConn interface {\n\t// NewSubConn is called by balancer to create a new SubConn.\n\t// It doesn't block and wait for the connections to be established.\n\t// Behaviors of the SubConn can be controlled by options.\n\tNewSubConn([]resolver.Address, NewSubConnOptions) (SubConn, error)\n\t// RemoveSubConn removes the SubConn from ClientConn.\n\t// The SubConn will be shutdown.\n\tRemoveSubConn(SubConn)\n\n\t// UpdateBalancerState is called by balancer to nofity gRPC that some internal\n\t// state in balancer has changed.\n\t//\n\t// gRPC will update the connectivity state of the ClientConn, and will call pick\n\t// on the new picker to pick new SubConn.\n\tUpdateBalancerState(s connectivity.State, p Picker)\n\n\t// ResolveNow is called by balancer to notify gRPC to do a name resolving.\n\tResolveNow(resolver.ResolveNowOption)\n\n\t// Target returns the dial target for this ClientConn.\n\tTarget() string\n}\n\n// BuildOptions contains additional information for Build.\ntype BuildOptions struct {\n\t// DialCreds is the transport credential the Balancer implementation can\n\t// use to dial to a remote load balancer server. The Balancer implementations\n\t// can ignore this if it does not need to talk to another party securely.\n\tDialCreds credentials.TransportCredentials\n\t// Dialer is the custom dialer the Balancer implementation can use to dial\n\t// to a remote load balancer server. The Balancer implementations\n\t// can ignore this if it doesn't need to talk to remote balancer.\n\tDialer func(context.Context, string) (net.Conn, error)\n\t// ChannelzParentID is the entity parent's channelz unique identification number.\n\tChannelzParentID int64\n}\n\n// Builder creates a balancer.\ntype Builder interface {\n\t// Build creates a new balancer with the ClientConn.\n\tBuild(cc ClientConn, opts BuildOptions) Balancer\n\t// Name returns the name of balancers built by this builder.\n\t// It will be used to pick balancers (for example in service config).\n\tName() string\n}\n\n// PickOptions contains addition information for the Pick operation.\ntype PickOptions struct {\n\t// FullMethodName is the method name that NewClientStream() is called\n\t// with. The canonical format is /service/Method.\n\tFullMethodName string\n}\n\n// DoneInfo contains additional information for done.\ntype DoneInfo struct {\n\t// Err is the rpc error the RPC finished with. It could be nil.\n\tErr error\n\t// BytesSent indicates if any bytes have been sent to the server.\n\tBytesSent bool\n\t// BytesReceived indicates if any byte has been received from the server.\n\tBytesReceived bool\n}\n\nvar (\n\t// ErrNoSubConnAvailable indicates no SubConn is available for pick().\n\t// gRPC will block the RPC until a new picker is available via UpdateBalancerState().\n\tErrNoSubConnAvailable = errors.New(\"no SubConn is available\")\n\t// ErrTransientFailure indicates all SubConns are in TransientFailure.\n\t// WaitForReady RPCs will block, non-WaitForReady RPCs will fail.\n\tErrTransientFailure = errors.New(\"all SubConns are in TransientFailure\")\n)\n\n// Picker is used by gRPC to pick a SubConn to send an RPC.\n// Balancer is expected to generate a new picker from its snapshot every time its\n// internal state has changed.\n//\n// The pickers used by gRPC can be updated by ClientConn.UpdateBalancerState().\ntype Picker interface {\n\t// Pick returns the SubConn to be used to send the RPC.\n\t// The returned SubConn must be one returned by NewSubConn().\n\t//\n\t// This functions is expected to return:\n\t// - a SubConn that is known to be READY;\n\t// - ErrNoSubConnAvailable if no SubConn is available, but progress is being\n\t//   made (for example, some SubConn is in CONNECTING mode);\n\t// - other errors if no active connecting is happening (for example, all SubConn\n\t//   are in TRANSIENT_FAILURE mode).\n\t//\n\t// If a SubConn is returned:\n\t// - If it is READY, gRPC will send the RPC on it;\n\t// - If it is not ready, or becomes not ready after it's returned, gRPC will block\n\t//   until UpdateBalancerState() is called and will call pick on the new picker.\n\t//\n\t// If the returned error is not nil:\n\t// - If the error is ErrNoSubConnAvailable, gRPC will block until UpdateBalancerState()\n\t// - If the error is ErrTransientFailure:\n\t//   - If the RPC is wait-for-ready, gRPC will block until UpdateBalancerState()\n\t//     is called to pick again;\n\t//   - Otherwise, RPC will fail with unavailable error.\n\t// - Else (error is other non-nil error):\n\t//   - The RPC will fail with unavailable error.\n\t//\n\t// The returned done() function will be called once the rpc has finished, with the\n\t// final status of that RPC.\n\t// done may be nil if balancer doesn't care about the RPC status.\n\tPick(ctx context.Context, opts PickOptions) (conn SubConn, done func(DoneInfo), err error)\n}\n\n// Balancer takes input from gRPC, manages SubConns, and collects and aggregates\n// the connectivity states.\n//\n// It also generates and updates the Picker used by gRPC to pick SubConns for RPCs.\n//\n// HandleSubConnectionStateChange, HandleResolvedAddrs and Close are guaranteed\n// to be called synchronously from the same goroutine.\n// There's no guarantee on picker.Pick, it may be called anytime.\ntype Balancer interface {\n\t// HandleSubConnStateChange is called by gRPC when the connectivity state\n\t// of sc has changed.\n\t// Balancer is expected to aggregate all the state of SubConn and report\n\t// that back to gRPC.\n\t// Balancer should also generate and update Pickers when its internal state has\n\t// been changed by the new state.\n\tHandleSubConnStateChange(sc SubConn, state connectivity.State)\n\t// HandleResolvedAddrs is called by gRPC to send updated resolved addresses to\n\t// balancers.\n\t// Balancer can create new SubConn or remove SubConn with the addresses.\n\t// An empty address slice and a non-nil error will be passed if the resolver returns\n\t// non-nil error to gRPC.\n\tHandleResolvedAddrs([]resolver.Address, error)\n\t// Close closes the balancer. The balancer is not required to call\n\t// ClientConn.RemoveSubConn for its existing SubConns.\n\tClose()\n}\n\n// ConnectivityStateEvaluator takes the connectivity states of multiple SubConns\n// and returns one aggregated connectivity state.\n//\n// It's not thread safe.\ntype ConnectivityStateEvaluator struct {\n\tnumReady            uint64 // Number of addrConns in ready state.\n\tnumConnecting       uint64 // Number of addrConns in connecting state.\n\tnumTransientFailure uint64 // Number of addrConns in transientFailure.\n}\n\n// RecordTransition records state change happening in subConn and based on that\n// it evaluates what aggregated state should be.\n//\n//  - If at least one SubConn in Ready, the aggregated state is Ready;\n//  - Else if at least one SubConn in Connecting, the aggregated state is Connecting;\n//  - Else the aggregated state is TransientFailure.\n//\n// Idle and Shutdown are not considered.\nfunc (cse *ConnectivityStateEvaluator) RecordTransition(oldState, newState connectivity.State) connectivity.State {\n\t// Update counters.\n\tfor idx, state := range []connectivity.State{oldState, newState} {\n\t\tupdateVal := 2*uint64(idx) - 1 // -1 for oldState and +1 for new.\n\t\tswitch state {\n\t\tcase connectivity.Ready:\n\t\t\tcse.numReady += updateVal\n\t\tcase connectivity.Connecting:\n\t\t\tcse.numConnecting += updateVal\n\t\tcase connectivity.TransientFailure:\n\t\t\tcse.numTransientFailure += updateVal\n\t\t}\n\t}\n\n\t// Evaluate.\n\tif cse.numReady > 0 {\n\t\treturn connectivity.Ready\n\t}\n\tif cse.numConnecting > 0 {\n\t\treturn connectivity.Connecting\n\t}\n\treturn connectivity.TransientFailure\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/balancer/base/balancer.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage base\n\nimport (\n\t\"golang.org/x/net/context\"\n\t\"google.golang.org/grpc/balancer\"\n\t\"google.golang.org/grpc/connectivity\"\n\t\"google.golang.org/grpc/grpclog\"\n\t\"google.golang.org/grpc/resolver\"\n)\n\ntype baseBuilder struct {\n\tname          string\n\tpickerBuilder PickerBuilder\n}\n\nfunc (bb *baseBuilder) Build(cc balancer.ClientConn, opt balancer.BuildOptions) balancer.Balancer {\n\treturn &baseBalancer{\n\t\tcc:            cc,\n\t\tpickerBuilder: bb.pickerBuilder,\n\n\t\tsubConns: make(map[resolver.Address]balancer.SubConn),\n\t\tscStates: make(map[balancer.SubConn]connectivity.State),\n\t\tcsEvltr:  &connectivityStateEvaluator{},\n\t\t// Initialize picker to a picker that always return\n\t\t// ErrNoSubConnAvailable, because when state of a SubConn changes, we\n\t\t// may call UpdateBalancerState with this picker.\n\t\tpicker: NewErrPicker(balancer.ErrNoSubConnAvailable),\n\t}\n}\n\nfunc (bb *baseBuilder) Name() string {\n\treturn bb.name\n}\n\ntype baseBalancer struct {\n\tcc            balancer.ClientConn\n\tpickerBuilder PickerBuilder\n\n\tcsEvltr *connectivityStateEvaluator\n\tstate   connectivity.State\n\n\tsubConns map[resolver.Address]balancer.SubConn\n\tscStates map[balancer.SubConn]connectivity.State\n\tpicker   balancer.Picker\n}\n\nfunc (b *baseBalancer) HandleResolvedAddrs(addrs []resolver.Address, err error) {\n\tif err != nil {\n\t\tgrpclog.Infof(\"base.baseBalancer: HandleResolvedAddrs called with error %v\", err)\n\t\treturn\n\t}\n\tgrpclog.Infoln(\"base.baseBalancer: got new resolved addresses: \", addrs)\n\t// addrsSet is the set converted from addrs, it's used for quick lookup of an address.\n\taddrsSet := make(map[resolver.Address]struct{})\n\tfor _, a := range addrs {\n\t\taddrsSet[a] = struct{}{}\n\t\tif _, ok := b.subConns[a]; !ok {\n\t\t\t// a is a new address (not existing in b.subConns).\n\t\t\tsc, err := b.cc.NewSubConn([]resolver.Address{a}, balancer.NewSubConnOptions{})\n\t\t\tif err != nil {\n\t\t\t\tgrpclog.Warningf(\"base.baseBalancer: failed to create new SubConn: %v\", err)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tb.subConns[a] = sc\n\t\t\tb.scStates[sc] = connectivity.Idle\n\t\t\tsc.Connect()\n\t\t}\n\t}\n\tfor a, sc := range b.subConns {\n\t\t// a was removed by resolver.\n\t\tif _, ok := addrsSet[a]; !ok {\n\t\t\tb.cc.RemoveSubConn(sc)\n\t\t\tdelete(b.subConns, a)\n\t\t\t// Keep the state of this sc in b.scStates until sc's state becomes Shutdown.\n\t\t\t// The entry will be deleted in HandleSubConnStateChange.\n\t\t}\n\t}\n}\n\n// regeneratePicker takes a snapshot of the balancer, and generates a picker\n// from it. The picker is\n//  - errPicker with ErrTransientFailure if the balancer is in TransientFailure,\n//  - built by the pickerBuilder with all READY SubConns otherwise.\nfunc (b *baseBalancer) regeneratePicker() {\n\tif b.state == connectivity.TransientFailure {\n\t\tb.picker = NewErrPicker(balancer.ErrTransientFailure)\n\t\treturn\n\t}\n\treadySCs := make(map[resolver.Address]balancer.SubConn)\n\n\t// Filter out all ready SCs from full subConn map.\n\tfor addr, sc := range b.subConns {\n\t\tif st, ok := b.scStates[sc]; ok && st == connectivity.Ready {\n\t\t\treadySCs[addr] = sc\n\t\t}\n\t}\n\tb.picker = b.pickerBuilder.Build(readySCs)\n}\n\nfunc (b *baseBalancer) HandleSubConnStateChange(sc balancer.SubConn, s connectivity.State) {\n\tgrpclog.Infof(\"base.baseBalancer: handle SubConn state change: %p, %v\", sc, s)\n\toldS, ok := b.scStates[sc]\n\tif !ok {\n\t\tgrpclog.Infof(\"base.baseBalancer: got state changes for an unknown SubConn: %p, %v\", sc, s)\n\t\treturn\n\t}\n\tb.scStates[sc] = s\n\tswitch s {\n\tcase connectivity.Idle:\n\t\tsc.Connect()\n\tcase connectivity.Shutdown:\n\t\t// When an address was removed by resolver, b called RemoveSubConn but\n\t\t// kept the sc's state in scStates. Remove state for this sc here.\n\t\tdelete(b.scStates, sc)\n\t}\n\n\toldAggrState := b.state\n\tb.state = b.csEvltr.recordTransition(oldS, s)\n\n\t// Regenerate picker when one of the following happens:\n\t//  - this sc became ready from not-ready\n\t//  - this sc became not-ready from ready\n\t//  - the aggregated state of balancer became TransientFailure from non-TransientFailure\n\t//  - the aggregated state of balancer became non-TransientFailure from TransientFailure\n\tif (s == connectivity.Ready) != (oldS == connectivity.Ready) ||\n\t\t(b.state == connectivity.TransientFailure) != (oldAggrState == connectivity.TransientFailure) {\n\t\tb.regeneratePicker()\n\t}\n\n\tb.cc.UpdateBalancerState(b.state, b.picker)\n}\n\n// Close is a nop because base balancer doesn't have internal state to clean up,\n// and it doesn't need to call RemoveSubConn for the SubConns.\nfunc (b *baseBalancer) Close() {\n}\n\n// NewErrPicker returns a picker that always returns err on Pick().\nfunc NewErrPicker(err error) balancer.Picker {\n\treturn &errPicker{err: err}\n}\n\ntype errPicker struct {\n\terr error // Pick() always returns this err.\n}\n\nfunc (p *errPicker) Pick(ctx context.Context, opts balancer.PickOptions) (balancer.SubConn, func(balancer.DoneInfo), error) {\n\treturn nil, nil, p.err\n}\n\n// connectivityStateEvaluator gets updated by addrConns when their\n// states transition, based on which it evaluates the state of\n// ClientConn.\ntype connectivityStateEvaluator struct {\n\tnumReady            uint64 // Number of addrConns in ready state.\n\tnumConnecting       uint64 // Number of addrConns in connecting state.\n\tnumTransientFailure uint64 // Number of addrConns in transientFailure.\n}\n\n// recordTransition records state change happening in every subConn and based on\n// that it evaluates what aggregated state should be.\n// It can only transition between Ready, Connecting and TransientFailure. Other states,\n// Idle and Shutdown are transitioned into by ClientConn; in the beginning of the connection\n// before any subConn is created ClientConn is in idle state. In the end when ClientConn\n// closes it is in Shutdown state.\n//\n// recordTransition should only be called synchronously from the same goroutine.\nfunc (cse *connectivityStateEvaluator) recordTransition(oldState, newState connectivity.State) connectivity.State {\n\t// Update counters.\n\tfor idx, state := range []connectivity.State{oldState, newState} {\n\t\tupdateVal := 2*uint64(idx) - 1 // -1 for oldState and +1 for new.\n\t\tswitch state {\n\t\tcase connectivity.Ready:\n\t\t\tcse.numReady += updateVal\n\t\tcase connectivity.Connecting:\n\t\t\tcse.numConnecting += updateVal\n\t\tcase connectivity.TransientFailure:\n\t\t\tcse.numTransientFailure += updateVal\n\t\t}\n\t}\n\n\t// Evaluate.\n\tif cse.numReady > 0 {\n\t\treturn connectivity.Ready\n\t}\n\tif cse.numConnecting > 0 {\n\t\treturn connectivity.Connecting\n\t}\n\treturn connectivity.TransientFailure\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/balancer/base/base.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n// Package base defines a balancer base that can be used to build balancers with\n// different picking algorithms.\n//\n// The base balancer creates a new SubConn for each resolved address. The\n// provided picker will only be notified about READY SubConns.\n//\n// This package is the base of round_robin balancer, its purpose is to be used\n// to build round_robin like balancers with complex picking algorithms.\n// Balancers with more complicated logic should try to implement a balancer\n// builder from scratch.\n//\n// All APIs in this package are experimental.\npackage base\n\nimport (\n\t\"google.golang.org/grpc/balancer\"\n\t\"google.golang.org/grpc/resolver\"\n)\n\n// PickerBuilder creates balancer.Picker.\ntype PickerBuilder interface {\n\t// Build takes a slice of ready SubConns, and returns a picker that will be\n\t// used by gRPC to pick a SubConn.\n\tBuild(readySCs map[resolver.Address]balancer.SubConn) balancer.Picker\n}\n\n// NewBalancerBuilder returns a balancer builder. The balancers\n// built by this builder will use the picker builder to build pickers.\nfunc NewBalancerBuilder(name string, pb PickerBuilder) balancer.Builder {\n\treturn &baseBuilder{\n\t\tname:          name,\n\t\tpickerBuilder: pb,\n\t}\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/balancer/roundrobin/roundrobin.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n// Package roundrobin defines a roundrobin balancer. Roundrobin balancer is\n// installed as one of the default balancers in gRPC, users don't need to\n// explicitly install this balancer.\npackage roundrobin\n\nimport (\n\t\"sync\"\n\n\t\"golang.org/x/net/context\"\n\t\"google.golang.org/grpc/balancer\"\n\t\"google.golang.org/grpc/balancer/base\"\n\t\"google.golang.org/grpc/grpclog\"\n\t\"google.golang.org/grpc/resolver\"\n)\n\n// Name is the name of round_robin balancer.\nconst Name = \"round_robin\"\n\n// newBuilder creates a new roundrobin balancer builder.\nfunc newBuilder() balancer.Builder {\n\treturn base.NewBalancerBuilder(Name, &rrPickerBuilder{})\n}\n\nfunc init() {\n\tbalancer.Register(newBuilder())\n}\n\ntype rrPickerBuilder struct{}\n\nfunc (*rrPickerBuilder) Build(readySCs map[resolver.Address]balancer.SubConn) balancer.Picker {\n\tgrpclog.Infof(\"roundrobinPicker: newPicker called with readySCs: %v\", readySCs)\n\tvar scs []balancer.SubConn\n\tfor _, sc := range readySCs {\n\t\tscs = append(scs, sc)\n\t}\n\treturn &rrPicker{\n\t\tsubConns: scs,\n\t}\n}\n\ntype rrPicker struct {\n\t// subConns is the snapshot of the roundrobin balancer when this picker was\n\t// created. The slice is immutable. Each Get() will do a round robin\n\t// selection from it and return the selected SubConn.\n\tsubConns []balancer.SubConn\n\n\tmu   sync.Mutex\n\tnext int\n}\n\nfunc (p *rrPicker) Pick(ctx context.Context, opts balancer.PickOptions) (balancer.SubConn, func(balancer.DoneInfo), error) {\n\tif len(p.subConns) <= 0 {\n\t\treturn nil, nil, balancer.ErrNoSubConnAvailable\n\t}\n\n\tp.mu.Lock()\n\tsc := p.subConns[p.next]\n\tp.next = (p.next + 1) % len(p.subConns)\n\tp.mu.Unlock()\n\treturn sc, nil, nil\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/balancer.go",
    "content": "/*\n *\n * Copyright 2016 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage grpc\n\nimport (\n\t\"fmt\"\n\t\"net\"\n\t\"sync\"\n\n\t\"golang.org/x/net/context\"\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/credentials\"\n\t\"google.golang.org/grpc/grpclog\"\n\t\"google.golang.org/grpc/naming\"\n\t\"google.golang.org/grpc/status\"\n)\n\n// Address represents a server the client connects to.\n//\n// Deprecated: please use package balancer.\ntype Address struct {\n\t// Addr is the server address on which a connection will be established.\n\tAddr string\n\t// Metadata is the information associated with Addr, which may be used\n\t// to make load balancing decision.\n\tMetadata interface{}\n}\n\n// BalancerConfig specifies the configurations for Balancer.\n//\n// Deprecated: please use package balancer.\ntype BalancerConfig struct {\n\t// DialCreds is the transport credential the Balancer implementation can\n\t// use to dial to a remote load balancer server. The Balancer implementations\n\t// can ignore this if it does not need to talk to another party securely.\n\tDialCreds credentials.TransportCredentials\n\t// Dialer is the custom dialer the Balancer implementation can use to dial\n\t// to a remote load balancer server. The Balancer implementations\n\t// can ignore this if it doesn't need to talk to remote balancer.\n\tDialer func(context.Context, string) (net.Conn, error)\n}\n\n// BalancerGetOptions configures a Get call.\n//\n// Deprecated: please use package balancer.\ntype BalancerGetOptions struct {\n\t// BlockingWait specifies whether Get should block when there is no\n\t// connected address.\n\tBlockingWait bool\n}\n\n// Balancer chooses network addresses for RPCs.\n//\n// Deprecated: please use package balancer.\ntype Balancer interface {\n\t// Start does the initialization work to bootstrap a Balancer. For example,\n\t// this function may start the name resolution and watch the updates. It will\n\t// be called when dialing.\n\tStart(target string, config BalancerConfig) error\n\t// Up informs the Balancer that gRPC has a connection to the server at\n\t// addr. It returns down which is called once the connection to addr gets\n\t// lost or closed.\n\t// TODO: It is not clear how to construct and take advantage of the meaningful error\n\t// parameter for down. Need realistic demands to guide.\n\tUp(addr Address) (down func(error))\n\t// Get gets the address of a server for the RPC corresponding to ctx.\n\t// i) If it returns a connected address, gRPC internals issues the RPC on the\n\t// connection to this address;\n\t// ii) If it returns an address on which the connection is under construction\n\t// (initiated by Notify(...)) but not connected, gRPC internals\n\t//  * fails RPC if the RPC is fail-fast and connection is in the TransientFailure or\n\t//  Shutdown state;\n\t//  or\n\t//  * issues RPC on the connection otherwise.\n\t// iii) If it returns an address on which the connection does not exist, gRPC\n\t// internals treats it as an error and will fail the corresponding RPC.\n\t//\n\t// Therefore, the following is the recommended rule when writing a custom Balancer.\n\t// If opts.BlockingWait is true, it should return a connected address or\n\t// block if there is no connected address. It should respect the timeout or\n\t// cancellation of ctx when blocking. If opts.BlockingWait is false (for fail-fast\n\t// RPCs), it should return an address it has notified via Notify(...) immediately\n\t// instead of blocking.\n\t//\n\t// The function returns put which is called once the rpc has completed or failed.\n\t// put can collect and report RPC stats to a remote load balancer.\n\t//\n\t// This function should only return the errors Balancer cannot recover by itself.\n\t// gRPC internals will fail the RPC if an error is returned.\n\tGet(ctx context.Context, opts BalancerGetOptions) (addr Address, put func(), err error)\n\t// Notify returns a channel that is used by gRPC internals to watch the addresses\n\t// gRPC needs to connect. The addresses might be from a name resolver or remote\n\t// load balancer. gRPC internals will compare it with the existing connected\n\t// addresses. If the address Balancer notified is not in the existing connected\n\t// addresses, gRPC starts to connect the address. If an address in the existing\n\t// connected addresses is not in the notification list, the corresponding connection\n\t// is shutdown gracefully. Otherwise, there are no operations to take. Note that\n\t// the Address slice must be the full list of the Addresses which should be connected.\n\t// It is NOT delta.\n\tNotify() <-chan []Address\n\t// Close shuts down the balancer.\n\tClose() error\n}\n\n// downErr implements net.Error. It is constructed by gRPC internals and passed to the down\n// call of Balancer.\ntype downErr struct {\n\ttimeout   bool\n\ttemporary bool\n\tdesc      string\n}\n\nfunc (e downErr) Error() string   { return e.desc }\nfunc (e downErr) Timeout() bool   { return e.timeout }\nfunc (e downErr) Temporary() bool { return e.temporary }\n\nfunc downErrorf(timeout, temporary bool, format string, a ...interface{}) downErr {\n\treturn downErr{\n\t\ttimeout:   timeout,\n\t\ttemporary: temporary,\n\t\tdesc:      fmt.Sprintf(format, a...),\n\t}\n}\n\n// RoundRobin returns a Balancer that selects addresses round-robin. It uses r to watch\n// the name resolution updates and updates the addresses available correspondingly.\n//\n// Deprecated: please use package balancer/roundrobin.\nfunc RoundRobin(r naming.Resolver) Balancer {\n\treturn &roundRobin{r: r}\n}\n\ntype addrInfo struct {\n\taddr      Address\n\tconnected bool\n}\n\ntype roundRobin struct {\n\tr      naming.Resolver\n\tw      naming.Watcher\n\taddrs  []*addrInfo // all the addresses the client should potentially connect\n\tmu     sync.Mutex\n\taddrCh chan []Address // the channel to notify gRPC internals the list of addresses the client should connect to.\n\tnext   int            // index of the next address to return for Get()\n\twaitCh chan struct{}  // the channel to block when there is no connected address available\n\tdone   bool           // The Balancer is closed.\n}\n\nfunc (rr *roundRobin) watchAddrUpdates() error {\n\tupdates, err := rr.w.Next()\n\tif err != nil {\n\t\tgrpclog.Warningf(\"grpc: the naming watcher stops working due to %v.\", err)\n\t\treturn err\n\t}\n\trr.mu.Lock()\n\tdefer rr.mu.Unlock()\n\tfor _, update := range updates {\n\t\taddr := Address{\n\t\t\tAddr:     update.Addr,\n\t\t\tMetadata: update.Metadata,\n\t\t}\n\t\tswitch update.Op {\n\t\tcase naming.Add:\n\t\t\tvar exist bool\n\t\t\tfor _, v := range rr.addrs {\n\t\t\t\tif addr == v.addr {\n\t\t\t\t\texist = true\n\t\t\t\t\tgrpclog.Infoln(\"grpc: The name resolver wanted to add an existing address: \", addr)\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif exist {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\trr.addrs = append(rr.addrs, &addrInfo{addr: addr})\n\t\tcase naming.Delete:\n\t\t\tfor i, v := range rr.addrs {\n\t\t\t\tif addr == v.addr {\n\t\t\t\t\tcopy(rr.addrs[i:], rr.addrs[i+1:])\n\t\t\t\t\trr.addrs = rr.addrs[:len(rr.addrs)-1]\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\tdefault:\n\t\t\tgrpclog.Errorln(\"Unknown update.Op \", update.Op)\n\t\t}\n\t}\n\t// Make a copy of rr.addrs and write it onto rr.addrCh so that gRPC internals gets notified.\n\topen := make([]Address, len(rr.addrs))\n\tfor i, v := range rr.addrs {\n\t\topen[i] = v.addr\n\t}\n\tif rr.done {\n\t\treturn ErrClientConnClosing\n\t}\n\tselect {\n\tcase <-rr.addrCh:\n\tdefault:\n\t}\n\trr.addrCh <- open\n\treturn nil\n}\n\nfunc (rr *roundRobin) Start(target string, config BalancerConfig) error {\n\trr.mu.Lock()\n\tdefer rr.mu.Unlock()\n\tif rr.done {\n\t\treturn ErrClientConnClosing\n\t}\n\tif rr.r == nil {\n\t\t// If there is no name resolver installed, it is not needed to\n\t\t// do name resolution. In this case, target is added into rr.addrs\n\t\t// as the only address available and rr.addrCh stays nil.\n\t\trr.addrs = append(rr.addrs, &addrInfo{addr: Address{Addr: target}})\n\t\treturn nil\n\t}\n\tw, err := rr.r.Resolve(target)\n\tif err != nil {\n\t\treturn err\n\t}\n\trr.w = w\n\trr.addrCh = make(chan []Address, 1)\n\tgo func() {\n\t\tfor {\n\t\t\tif err := rr.watchAddrUpdates(); err != nil {\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\t}()\n\treturn nil\n}\n\n// Up sets the connected state of addr and sends notification if there are pending\n// Get() calls.\nfunc (rr *roundRobin) Up(addr Address) func(error) {\n\trr.mu.Lock()\n\tdefer rr.mu.Unlock()\n\tvar cnt int\n\tfor _, a := range rr.addrs {\n\t\tif a.addr == addr {\n\t\t\tif a.connected {\n\t\t\t\treturn nil\n\t\t\t}\n\t\t\ta.connected = true\n\t\t}\n\t\tif a.connected {\n\t\t\tcnt++\n\t\t}\n\t}\n\t// addr is only one which is connected. Notify the Get() callers who are blocking.\n\tif cnt == 1 && rr.waitCh != nil {\n\t\tclose(rr.waitCh)\n\t\trr.waitCh = nil\n\t}\n\treturn func(err error) {\n\t\trr.down(addr, err)\n\t}\n}\n\n// down unsets the connected state of addr.\nfunc (rr *roundRobin) down(addr Address, err error) {\n\trr.mu.Lock()\n\tdefer rr.mu.Unlock()\n\tfor _, a := range rr.addrs {\n\t\tif addr == a.addr {\n\t\t\ta.connected = false\n\t\t\tbreak\n\t\t}\n\t}\n}\n\n// Get returns the next addr in the rotation.\nfunc (rr *roundRobin) Get(ctx context.Context, opts BalancerGetOptions) (addr Address, put func(), err error) {\n\tvar ch chan struct{}\n\trr.mu.Lock()\n\tif rr.done {\n\t\trr.mu.Unlock()\n\t\terr = ErrClientConnClosing\n\t\treturn\n\t}\n\n\tif len(rr.addrs) > 0 {\n\t\tif rr.next >= len(rr.addrs) {\n\t\t\trr.next = 0\n\t\t}\n\t\tnext := rr.next\n\t\tfor {\n\t\t\ta := rr.addrs[next]\n\t\t\tnext = (next + 1) % len(rr.addrs)\n\t\t\tif a.connected {\n\t\t\t\taddr = a.addr\n\t\t\t\trr.next = next\n\t\t\t\trr.mu.Unlock()\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif next == rr.next {\n\t\t\t\t// Has iterated all the possible address but none is connected.\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n\tif !opts.BlockingWait {\n\t\tif len(rr.addrs) == 0 {\n\t\t\trr.mu.Unlock()\n\t\t\terr = status.Errorf(codes.Unavailable, \"there is no address available\")\n\t\t\treturn\n\t\t}\n\t\t// Returns the next addr on rr.addrs for failfast RPCs.\n\t\taddr = rr.addrs[rr.next].addr\n\t\trr.next++\n\t\trr.mu.Unlock()\n\t\treturn\n\t}\n\t// Wait on rr.waitCh for non-failfast RPCs.\n\tif rr.waitCh == nil {\n\t\tch = make(chan struct{})\n\t\trr.waitCh = ch\n\t} else {\n\t\tch = rr.waitCh\n\t}\n\trr.mu.Unlock()\n\tfor {\n\t\tselect {\n\t\tcase <-ctx.Done():\n\t\t\terr = ctx.Err()\n\t\t\treturn\n\t\tcase <-ch:\n\t\t\trr.mu.Lock()\n\t\t\tif rr.done {\n\t\t\t\trr.mu.Unlock()\n\t\t\t\terr = ErrClientConnClosing\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif len(rr.addrs) > 0 {\n\t\t\t\tif rr.next >= len(rr.addrs) {\n\t\t\t\t\trr.next = 0\n\t\t\t\t}\n\t\t\t\tnext := rr.next\n\t\t\t\tfor {\n\t\t\t\t\ta := rr.addrs[next]\n\t\t\t\t\tnext = (next + 1) % len(rr.addrs)\n\t\t\t\t\tif a.connected {\n\t\t\t\t\t\taddr = a.addr\n\t\t\t\t\t\trr.next = next\n\t\t\t\t\t\trr.mu.Unlock()\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tif next == rr.next {\n\t\t\t\t\t\t// Has iterated all the possible address but none is connected.\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// The newly added addr got removed by Down() again.\n\t\t\tif rr.waitCh == nil {\n\t\t\t\tch = make(chan struct{})\n\t\t\t\trr.waitCh = ch\n\t\t\t} else {\n\t\t\t\tch = rr.waitCh\n\t\t\t}\n\t\t\trr.mu.Unlock()\n\t\t}\n\t}\n}\n\nfunc (rr *roundRobin) Notify() <-chan []Address {\n\treturn rr.addrCh\n}\n\nfunc (rr *roundRobin) Close() error {\n\trr.mu.Lock()\n\tdefer rr.mu.Unlock()\n\tif rr.done {\n\t\treturn errBalancerClosed\n\t}\n\trr.done = true\n\tif rr.w != nil {\n\t\trr.w.Close()\n\t}\n\tif rr.waitCh != nil {\n\t\tclose(rr.waitCh)\n\t\trr.waitCh = nil\n\t}\n\tif rr.addrCh != nil {\n\t\tclose(rr.addrCh)\n\t}\n\treturn nil\n}\n\n// pickFirst is used to test multi-addresses in one addrConn in which all addresses share the same addrConn.\n// It is a wrapper around roundRobin balancer. The logic of all methods works fine because balancer.Get()\n// returns the only address Up by resetTransport().\ntype pickFirst struct {\n\t*roundRobin\n}\n\nfunc pickFirstBalancerV1(r naming.Resolver) Balancer {\n\treturn &pickFirst{&roundRobin{r: r}}\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/balancer_conn_wrappers.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage grpc\n\nimport (\n\t\"fmt\"\n\t\"sync\"\n\n\t\"google.golang.org/grpc/balancer\"\n\t\"google.golang.org/grpc/connectivity\"\n\t\"google.golang.org/grpc/grpclog\"\n\t\"google.golang.org/grpc/resolver\"\n)\n\n// scStateUpdate contains the subConn and the new state it changed to.\ntype scStateUpdate struct {\n\tsc    balancer.SubConn\n\tstate connectivity.State\n}\n\n// scStateUpdateBuffer is an unbounded channel for scStateChangeTuple.\n// TODO make a general purpose buffer that uses interface{}.\ntype scStateUpdateBuffer struct {\n\tc       chan *scStateUpdate\n\tmu      sync.Mutex\n\tbacklog []*scStateUpdate\n}\n\nfunc newSCStateUpdateBuffer() *scStateUpdateBuffer {\n\treturn &scStateUpdateBuffer{\n\t\tc: make(chan *scStateUpdate, 1),\n\t}\n}\n\nfunc (b *scStateUpdateBuffer) put(t *scStateUpdate) {\n\tb.mu.Lock()\n\tdefer b.mu.Unlock()\n\tif len(b.backlog) == 0 {\n\t\tselect {\n\t\tcase b.c <- t:\n\t\t\treturn\n\t\tdefault:\n\t\t}\n\t}\n\tb.backlog = append(b.backlog, t)\n}\n\nfunc (b *scStateUpdateBuffer) load() {\n\tb.mu.Lock()\n\tdefer b.mu.Unlock()\n\tif len(b.backlog) > 0 {\n\t\tselect {\n\t\tcase b.c <- b.backlog[0]:\n\t\t\tb.backlog[0] = nil\n\t\t\tb.backlog = b.backlog[1:]\n\t\tdefault:\n\t\t}\n\t}\n}\n\n// get returns the channel that the scStateUpdate will be sent to.\n//\n// Upon receiving, the caller should call load to send another\n// scStateChangeTuple onto the channel if there is any.\nfunc (b *scStateUpdateBuffer) get() <-chan *scStateUpdate {\n\treturn b.c\n}\n\n// resolverUpdate contains the new resolved addresses or error if there's\n// any.\ntype resolverUpdate struct {\n\taddrs []resolver.Address\n\terr   error\n}\n\n// ccBalancerWrapper is a wrapper on top of cc for balancers.\n// It implements balancer.ClientConn interface.\ntype ccBalancerWrapper struct {\n\tcc               *ClientConn\n\tbalancer         balancer.Balancer\n\tstateChangeQueue *scStateUpdateBuffer\n\tresolverUpdateCh chan *resolverUpdate\n\tdone             chan struct{}\n\n\tmu       sync.Mutex\n\tsubConns map[*acBalancerWrapper]struct{}\n}\n\nfunc newCCBalancerWrapper(cc *ClientConn, b balancer.Builder, bopts balancer.BuildOptions) *ccBalancerWrapper {\n\tccb := &ccBalancerWrapper{\n\t\tcc:               cc,\n\t\tstateChangeQueue: newSCStateUpdateBuffer(),\n\t\tresolverUpdateCh: make(chan *resolverUpdate, 1),\n\t\tdone:             make(chan struct{}),\n\t\tsubConns:         make(map[*acBalancerWrapper]struct{}),\n\t}\n\tgo ccb.watcher()\n\tccb.balancer = b.Build(ccb, bopts)\n\treturn ccb\n}\n\n// watcher balancer functions sequentially, so the balancer can be implemented\n// lock-free.\nfunc (ccb *ccBalancerWrapper) watcher() {\n\tfor {\n\t\tselect {\n\t\tcase t := <-ccb.stateChangeQueue.get():\n\t\t\tccb.stateChangeQueue.load()\n\t\t\tselect {\n\t\t\tcase <-ccb.done:\n\t\t\t\tccb.balancer.Close()\n\t\t\t\treturn\n\t\t\tdefault:\n\t\t\t}\n\t\t\tccb.balancer.HandleSubConnStateChange(t.sc, t.state)\n\t\tcase t := <-ccb.resolverUpdateCh:\n\t\t\tselect {\n\t\t\tcase <-ccb.done:\n\t\t\t\tccb.balancer.Close()\n\t\t\t\treturn\n\t\t\tdefault:\n\t\t\t}\n\t\t\tccb.balancer.HandleResolvedAddrs(t.addrs, t.err)\n\t\tcase <-ccb.done:\n\t\t}\n\n\t\tselect {\n\t\tcase <-ccb.done:\n\t\t\tccb.balancer.Close()\n\t\t\tccb.mu.Lock()\n\t\t\tscs := ccb.subConns\n\t\t\tccb.subConns = nil\n\t\t\tccb.mu.Unlock()\n\t\t\tfor acbw := range scs {\n\t\t\t\tccb.cc.removeAddrConn(acbw.getAddrConn(), errConnDrain)\n\t\t\t}\n\t\t\treturn\n\t\tdefault:\n\t\t}\n\t}\n}\n\nfunc (ccb *ccBalancerWrapper) close() {\n\tclose(ccb.done)\n}\n\nfunc (ccb *ccBalancerWrapper) handleSubConnStateChange(sc balancer.SubConn, s connectivity.State) {\n\t// When updating addresses for a SubConn, if the address in use is not in\n\t// the new addresses, the old ac will be tearDown() and a new ac will be\n\t// created. tearDown() generates a state change with Shutdown state, we\n\t// don't want the balancer to receive this state change. So before\n\t// tearDown() on the old ac, ac.acbw (acWrapper) will be set to nil, and\n\t// this function will be called with (nil, Shutdown). We don't need to call\n\t// balancer method in this case.\n\tif sc == nil {\n\t\treturn\n\t}\n\tccb.stateChangeQueue.put(&scStateUpdate{\n\t\tsc:    sc,\n\t\tstate: s,\n\t})\n}\n\nfunc (ccb *ccBalancerWrapper) handleResolvedAddrs(addrs []resolver.Address, err error) {\n\tselect {\n\tcase <-ccb.resolverUpdateCh:\n\tdefault:\n\t}\n\tccb.resolverUpdateCh <- &resolverUpdate{\n\t\taddrs: addrs,\n\t\terr:   err,\n\t}\n}\n\nfunc (ccb *ccBalancerWrapper) NewSubConn(addrs []resolver.Address, opts balancer.NewSubConnOptions) (balancer.SubConn, error) {\n\tif len(addrs) <= 0 {\n\t\treturn nil, fmt.Errorf(\"grpc: cannot create SubConn with empty address list\")\n\t}\n\tccb.mu.Lock()\n\tdefer ccb.mu.Unlock()\n\tif ccb.subConns == nil {\n\t\treturn nil, fmt.Errorf(\"grpc: ClientConn balancer wrapper was closed\")\n\t}\n\tac, err := ccb.cc.newAddrConn(addrs)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tacbw := &acBalancerWrapper{ac: ac}\n\tacbw.ac.mu.Lock()\n\tac.acbw = acbw\n\tacbw.ac.mu.Unlock()\n\tccb.subConns[acbw] = struct{}{}\n\treturn acbw, nil\n}\n\nfunc (ccb *ccBalancerWrapper) RemoveSubConn(sc balancer.SubConn) {\n\tacbw, ok := sc.(*acBalancerWrapper)\n\tif !ok {\n\t\treturn\n\t}\n\tccb.mu.Lock()\n\tdefer ccb.mu.Unlock()\n\tif ccb.subConns == nil {\n\t\treturn\n\t}\n\tdelete(ccb.subConns, acbw)\n\tccb.cc.removeAddrConn(acbw.getAddrConn(), errConnDrain)\n}\n\nfunc (ccb *ccBalancerWrapper) UpdateBalancerState(s connectivity.State, p balancer.Picker) {\n\tccb.mu.Lock()\n\tdefer ccb.mu.Unlock()\n\tif ccb.subConns == nil {\n\t\treturn\n\t}\n\tccb.cc.csMgr.updateState(s)\n\tccb.cc.blockingpicker.updatePicker(p)\n}\n\nfunc (ccb *ccBalancerWrapper) ResolveNow(o resolver.ResolveNowOption) {\n\tccb.cc.resolveNow(o)\n}\n\nfunc (ccb *ccBalancerWrapper) Target() string {\n\treturn ccb.cc.target\n}\n\n// acBalancerWrapper is a wrapper on top of ac for balancers.\n// It implements balancer.SubConn interface.\ntype acBalancerWrapper struct {\n\tmu sync.Mutex\n\tac *addrConn\n}\n\nfunc (acbw *acBalancerWrapper) UpdateAddresses(addrs []resolver.Address) {\n\tacbw.mu.Lock()\n\tdefer acbw.mu.Unlock()\n\tif len(addrs) <= 0 {\n\t\tacbw.ac.tearDown(errConnDrain)\n\t\treturn\n\t}\n\tif !acbw.ac.tryUpdateAddrs(addrs) {\n\t\tcc := acbw.ac.cc\n\t\tacbw.ac.mu.Lock()\n\t\t// Set old ac.acbw to nil so the Shutdown state update will be ignored\n\t\t// by balancer.\n\t\t//\n\t\t// TODO(bar) the state transition could be wrong when tearDown() old ac\n\t\t// and creating new ac, fix the transition.\n\t\tacbw.ac.acbw = nil\n\t\tacbw.ac.mu.Unlock()\n\t\tacState := acbw.ac.getState()\n\t\tacbw.ac.tearDown(errConnDrain)\n\n\t\tif acState == connectivity.Shutdown {\n\t\t\treturn\n\t\t}\n\n\t\tac, err := cc.newAddrConn(addrs)\n\t\tif err != nil {\n\t\t\tgrpclog.Warningf(\"acBalancerWrapper: UpdateAddresses: failed to newAddrConn: %v\", err)\n\t\t\treturn\n\t\t}\n\t\tacbw.ac = ac\n\t\tac.mu.Lock()\n\t\tac.acbw = acbw\n\t\tac.mu.Unlock()\n\t\tif acState != connectivity.Idle {\n\t\t\tac.connect()\n\t\t}\n\t}\n}\n\nfunc (acbw *acBalancerWrapper) Connect() {\n\tacbw.mu.Lock()\n\tdefer acbw.mu.Unlock()\n\tacbw.ac.connect()\n}\n\nfunc (acbw *acBalancerWrapper) getAddrConn() *addrConn {\n\tacbw.mu.Lock()\n\tdefer acbw.mu.Unlock()\n\treturn acbw.ac\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/balancer_v1_wrapper.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage grpc\n\nimport (\n\t\"strings\"\n\t\"sync\"\n\n\t\"golang.org/x/net/context\"\n\t\"google.golang.org/grpc/balancer\"\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/connectivity\"\n\t\"google.golang.org/grpc/grpclog\"\n\t\"google.golang.org/grpc/resolver\"\n\t\"google.golang.org/grpc/status\"\n)\n\ntype balancerWrapperBuilder struct {\n\tb Balancer // The v1 balancer.\n}\n\nfunc (bwb *balancerWrapperBuilder) Build(cc balancer.ClientConn, opts balancer.BuildOptions) balancer.Balancer {\n\ttargetAddr := cc.Target()\n\ttargetSplitted := strings.Split(targetAddr, \":///\")\n\tif len(targetSplitted) >= 2 {\n\t\ttargetAddr = targetSplitted[1]\n\t}\n\n\tbwb.b.Start(targetAddr, BalancerConfig{\n\t\tDialCreds: opts.DialCreds,\n\t\tDialer:    opts.Dialer,\n\t})\n\t_, pickfirst := bwb.b.(*pickFirst)\n\tbw := &balancerWrapper{\n\t\tbalancer:   bwb.b,\n\t\tpickfirst:  pickfirst,\n\t\tcc:         cc,\n\t\ttargetAddr: targetAddr,\n\t\tstartCh:    make(chan struct{}),\n\t\tconns:      make(map[resolver.Address]balancer.SubConn),\n\t\tconnSt:     make(map[balancer.SubConn]*scState),\n\t\tcsEvltr:    &balancer.ConnectivityStateEvaluator{},\n\t\tstate:      connectivity.Idle,\n\t}\n\tcc.UpdateBalancerState(connectivity.Idle, bw)\n\tgo bw.lbWatcher()\n\treturn bw\n}\n\nfunc (bwb *balancerWrapperBuilder) Name() string {\n\treturn \"wrapper\"\n}\n\ntype scState struct {\n\taddr Address // The v1 address type.\n\ts    connectivity.State\n\tdown func(error)\n}\n\ntype balancerWrapper struct {\n\tbalancer  Balancer // The v1 balancer.\n\tpickfirst bool\n\n\tcc         balancer.ClientConn\n\ttargetAddr string // Target without the scheme.\n\n\tmu     sync.Mutex\n\tconns  map[resolver.Address]balancer.SubConn\n\tconnSt map[balancer.SubConn]*scState\n\t// This channel is closed when handling the first resolver result.\n\t// lbWatcher blocks until this is closed, to avoid race between\n\t// - NewSubConn is created, cc wants to notify balancer of state changes;\n\t// - Build hasn't return, cc doesn't have access to balancer.\n\tstartCh chan struct{}\n\n\t// To aggregate the connectivity state.\n\tcsEvltr *balancer.ConnectivityStateEvaluator\n\tstate   connectivity.State\n}\n\n// lbWatcher watches the Notify channel of the balancer and manages\n// connections accordingly.\nfunc (bw *balancerWrapper) lbWatcher() {\n\t<-bw.startCh\n\tnotifyCh := bw.balancer.Notify()\n\tif notifyCh == nil {\n\t\t// There's no resolver in the balancer. Connect directly.\n\t\ta := resolver.Address{\n\t\t\tAddr: bw.targetAddr,\n\t\t\tType: resolver.Backend,\n\t\t}\n\t\tsc, err := bw.cc.NewSubConn([]resolver.Address{a}, balancer.NewSubConnOptions{})\n\t\tif err != nil {\n\t\t\tgrpclog.Warningf(\"Error creating connection to %v. Err: %v\", a, err)\n\t\t} else {\n\t\t\tbw.mu.Lock()\n\t\t\tbw.conns[a] = sc\n\t\t\tbw.connSt[sc] = &scState{\n\t\t\t\taddr: Address{Addr: bw.targetAddr},\n\t\t\t\ts:    connectivity.Idle,\n\t\t\t}\n\t\t\tbw.mu.Unlock()\n\t\t\tsc.Connect()\n\t\t}\n\t\treturn\n\t}\n\n\tfor addrs := range notifyCh {\n\t\tgrpclog.Infof(\"balancerWrapper: got update addr from Notify: %v\\n\", addrs)\n\t\tif bw.pickfirst {\n\t\t\tvar (\n\t\t\t\toldA  resolver.Address\n\t\t\t\toldSC balancer.SubConn\n\t\t\t)\n\t\t\tbw.mu.Lock()\n\t\t\tfor oldA, oldSC = range bw.conns {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tbw.mu.Unlock()\n\t\t\tif len(addrs) <= 0 {\n\t\t\t\tif oldSC != nil {\n\t\t\t\t\t// Teardown old sc.\n\t\t\t\t\tbw.mu.Lock()\n\t\t\t\t\tdelete(bw.conns, oldA)\n\t\t\t\t\tdelete(bw.connSt, oldSC)\n\t\t\t\t\tbw.mu.Unlock()\n\t\t\t\t\tbw.cc.RemoveSubConn(oldSC)\n\t\t\t\t}\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tvar newAddrs []resolver.Address\n\t\t\tfor _, a := range addrs {\n\t\t\t\tnewAddr := resolver.Address{\n\t\t\t\t\tAddr:       a.Addr,\n\t\t\t\t\tType:       resolver.Backend, // All addresses from balancer are all backends.\n\t\t\t\t\tServerName: \"\",\n\t\t\t\t\tMetadata:   a.Metadata,\n\t\t\t\t}\n\t\t\t\tnewAddrs = append(newAddrs, newAddr)\n\t\t\t}\n\t\t\tif oldSC == nil {\n\t\t\t\t// Create new sc.\n\t\t\t\tsc, err := bw.cc.NewSubConn(newAddrs, balancer.NewSubConnOptions{})\n\t\t\t\tif err != nil {\n\t\t\t\t\tgrpclog.Warningf(\"Error creating connection to %v. Err: %v\", newAddrs, err)\n\t\t\t\t} else {\n\t\t\t\t\tbw.mu.Lock()\n\t\t\t\t\t// For pickfirst, there should be only one SubConn, so the\n\t\t\t\t\t// address doesn't matter. All states updating (up and down)\n\t\t\t\t\t// and picking should all happen on that only SubConn.\n\t\t\t\t\tbw.conns[resolver.Address{}] = sc\n\t\t\t\t\tbw.connSt[sc] = &scState{\n\t\t\t\t\t\taddr: addrs[0], // Use the first address.\n\t\t\t\t\t\ts:    connectivity.Idle,\n\t\t\t\t\t}\n\t\t\t\t\tbw.mu.Unlock()\n\t\t\t\t\tsc.Connect()\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tbw.mu.Lock()\n\t\t\t\tbw.connSt[oldSC].addr = addrs[0]\n\t\t\t\tbw.mu.Unlock()\n\t\t\t\toldSC.UpdateAddresses(newAddrs)\n\t\t\t}\n\t\t} else {\n\t\t\tvar (\n\t\t\t\tadd []resolver.Address // Addresses need to setup connections.\n\t\t\t\tdel []balancer.SubConn // Connections need to tear down.\n\t\t\t)\n\t\t\tresAddrs := make(map[resolver.Address]Address)\n\t\t\tfor _, a := range addrs {\n\t\t\t\tresAddrs[resolver.Address{\n\t\t\t\t\tAddr:       a.Addr,\n\t\t\t\t\tType:       resolver.Backend, // All addresses from balancer are all backends.\n\t\t\t\t\tServerName: \"\",\n\t\t\t\t\tMetadata:   a.Metadata,\n\t\t\t\t}] = a\n\t\t\t}\n\t\t\tbw.mu.Lock()\n\t\t\tfor a := range resAddrs {\n\t\t\t\tif _, ok := bw.conns[a]; !ok {\n\t\t\t\t\tadd = append(add, a)\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor a, c := range bw.conns {\n\t\t\t\tif _, ok := resAddrs[a]; !ok {\n\t\t\t\t\tdel = append(del, c)\n\t\t\t\t\tdelete(bw.conns, a)\n\t\t\t\t\t// Keep the state of this sc in bw.connSt until its state becomes Shutdown.\n\t\t\t\t}\n\t\t\t}\n\t\t\tbw.mu.Unlock()\n\t\t\tfor _, a := range add {\n\t\t\t\tsc, err := bw.cc.NewSubConn([]resolver.Address{a}, balancer.NewSubConnOptions{})\n\t\t\t\tif err != nil {\n\t\t\t\t\tgrpclog.Warningf(\"Error creating connection to %v. Err: %v\", a, err)\n\t\t\t\t} else {\n\t\t\t\t\tbw.mu.Lock()\n\t\t\t\t\tbw.conns[a] = sc\n\t\t\t\t\tbw.connSt[sc] = &scState{\n\t\t\t\t\t\taddr: resAddrs[a],\n\t\t\t\t\t\ts:    connectivity.Idle,\n\t\t\t\t\t}\n\t\t\t\t\tbw.mu.Unlock()\n\t\t\t\t\tsc.Connect()\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor _, c := range del {\n\t\t\t\tbw.cc.RemoveSubConn(c)\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunc (bw *balancerWrapper) HandleSubConnStateChange(sc balancer.SubConn, s connectivity.State) {\n\tbw.mu.Lock()\n\tdefer bw.mu.Unlock()\n\tscSt, ok := bw.connSt[sc]\n\tif !ok {\n\t\treturn\n\t}\n\tif s == connectivity.Idle {\n\t\tsc.Connect()\n\t}\n\toldS := scSt.s\n\tscSt.s = s\n\tif oldS != connectivity.Ready && s == connectivity.Ready {\n\t\tscSt.down = bw.balancer.Up(scSt.addr)\n\t} else if oldS == connectivity.Ready && s != connectivity.Ready {\n\t\tif scSt.down != nil {\n\t\t\tscSt.down(errConnClosing)\n\t\t}\n\t}\n\tsa := bw.csEvltr.RecordTransition(oldS, s)\n\tif bw.state != sa {\n\t\tbw.state = sa\n\t}\n\tbw.cc.UpdateBalancerState(bw.state, bw)\n\tif s == connectivity.Shutdown {\n\t\t// Remove state for this sc.\n\t\tdelete(bw.connSt, sc)\n\t}\n}\n\nfunc (bw *balancerWrapper) HandleResolvedAddrs([]resolver.Address, error) {\n\tbw.mu.Lock()\n\tdefer bw.mu.Unlock()\n\tselect {\n\tcase <-bw.startCh:\n\tdefault:\n\t\tclose(bw.startCh)\n\t}\n\t// There should be a resolver inside the balancer.\n\t// All updates here, if any, are ignored.\n}\n\nfunc (bw *balancerWrapper) Close() {\n\tbw.mu.Lock()\n\tdefer bw.mu.Unlock()\n\tselect {\n\tcase <-bw.startCh:\n\tdefault:\n\t\tclose(bw.startCh)\n\t}\n\tbw.balancer.Close()\n}\n\n// The picker is the balancerWrapper itself.\n// Pick should never return ErrNoSubConnAvailable.\n// It either blocks or returns error, consistent with v1 balancer Get().\nfunc (bw *balancerWrapper) Pick(ctx context.Context, opts balancer.PickOptions) (balancer.SubConn, func(balancer.DoneInfo), error) {\n\tfailfast := true // Default failfast is true.\n\tif ss, ok := rpcInfoFromContext(ctx); ok {\n\t\tfailfast = ss.failfast\n\t}\n\ta, p, err := bw.balancer.Get(ctx, BalancerGetOptions{BlockingWait: !failfast})\n\tif err != nil {\n\t\treturn nil, nil, err\n\t}\n\tvar done func(balancer.DoneInfo)\n\tif p != nil {\n\t\tdone = func(i balancer.DoneInfo) { p() }\n\t}\n\tvar sc balancer.SubConn\n\tbw.mu.Lock()\n\tdefer bw.mu.Unlock()\n\tif bw.pickfirst {\n\t\t// Get the first sc in conns.\n\t\tfor _, sc = range bw.conns {\n\t\t\tbreak\n\t\t}\n\t} else {\n\t\tvar ok bool\n\t\tsc, ok = bw.conns[resolver.Address{\n\t\t\tAddr:       a.Addr,\n\t\t\tType:       resolver.Backend,\n\t\t\tServerName: \"\",\n\t\t\tMetadata:   a.Metadata,\n\t\t}]\n\t\tif !ok && failfast {\n\t\t\treturn nil, nil, status.Errorf(codes.Unavailable, \"there is no connection available\")\n\t\t}\n\t\tif s, ok := bw.connSt[sc]; failfast && (!ok || s.s != connectivity.Ready) {\n\t\t\t// If the returned sc is not ready and RPC is failfast,\n\t\t\t// return error, and this RPC will fail.\n\t\t\treturn nil, nil, status.Errorf(codes.Unavailable, \"there is no connection available\")\n\t\t}\n\t}\n\n\treturn sc, done, nil\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/call.go",
    "content": "/*\n *\n * Copyright 2014 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage grpc\n\nimport (\n\t\"golang.org/x/net/context\"\n)\n\n// Invoke sends the RPC request on the wire and returns after response is\n// received.  This is typically called by generated code.\n//\n// All errors returned by Invoke are compatible with the status package.\nfunc (cc *ClientConn) Invoke(ctx context.Context, method string, args, reply interface{}, opts ...CallOption) error {\n\t// allow interceptor to see all applicable call options, which means those\n\t// configured as defaults from dial option as well as per-call options\n\topts = combine(cc.dopts.callOptions, opts)\n\n\tif cc.dopts.unaryInt != nil {\n\t\treturn cc.dopts.unaryInt(ctx, method, args, reply, cc, invoke, opts...)\n\t}\n\treturn invoke(ctx, method, args, reply, cc, opts...)\n}\n\nfunc combine(o1 []CallOption, o2 []CallOption) []CallOption {\n\t// we don't use append because o1 could have extra capacity whose\n\t// elements would be overwritten, which could cause inadvertent\n\t// sharing (and race connditions) between concurrent calls\n\tif len(o1) == 0 {\n\t\treturn o2\n\t} else if len(o2) == 0 {\n\t\treturn o1\n\t}\n\tret := make([]CallOption, len(o1)+len(o2))\n\tcopy(ret, o1)\n\tcopy(ret[len(o1):], o2)\n\treturn ret\n}\n\n// Invoke sends the RPC request on the wire and returns after response is\n// received.  This is typically called by generated code.\n//\n// DEPRECATED: Use ClientConn.Invoke instead.\nfunc Invoke(ctx context.Context, method string, args, reply interface{}, cc *ClientConn, opts ...CallOption) error {\n\treturn cc.Invoke(ctx, method, args, reply, opts...)\n}\n\nvar unaryStreamDesc = &StreamDesc{ServerStreams: false, ClientStreams: false}\n\nfunc invoke(ctx context.Context, method string, req, reply interface{}, cc *ClientConn, opts ...CallOption) error {\n\tcs, err := newClientStream(ctx, unaryStreamDesc, cc, method, opts...)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif err := cs.SendMsg(req); err != nil {\n\t\treturn err\n\t}\n\treturn cs.RecvMsg(reply)\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/clientconn.go",
    "content": "/*\n *\n * Copyright 2014 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage grpc\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"math\"\n\t\"net\"\n\t\"reflect\"\n\t\"strings\"\n\t\"sync\"\n\t\"sync/atomic\"\n\t\"time\"\n\n\t\"golang.org/x/net/context\"\n\t\"golang.org/x/net/trace\"\n\t\"google.golang.org/grpc/balancer\"\n\t_ \"google.golang.org/grpc/balancer/roundrobin\" // To register roundrobin.\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/connectivity\"\n\t\"google.golang.org/grpc/credentials\"\n\t\"google.golang.org/grpc/grpclog\"\n\t\"google.golang.org/grpc/internal/backoff\"\n\t\"google.golang.org/grpc/internal/channelz\"\n\t\"google.golang.org/grpc/internal/transport\"\n\t\"google.golang.org/grpc/keepalive\"\n\t\"google.golang.org/grpc/resolver\"\n\t_ \"google.golang.org/grpc/resolver/dns\"         // To register dns resolver.\n\t_ \"google.golang.org/grpc/resolver/passthrough\" // To register passthrough resolver.\n\t\"google.golang.org/grpc/status\"\n)\n\nconst (\n\t// minimum time to give a connection to complete\n\tminConnectTimeout = 20 * time.Second\n\t// must match grpclbName in grpclb/grpclb.go\n\tgrpclbName = \"grpclb\"\n)\n\nvar (\n\t// ErrClientConnClosing indicates that the operation is illegal because\n\t// the ClientConn is closing.\n\t//\n\t// Deprecated: this error should not be relied upon by users; use the status\n\t// code of Canceled instead.\n\tErrClientConnClosing = status.Error(codes.Canceled, \"grpc: the client connection is closing\")\n\t// errConnDrain indicates that the connection starts to be drained and does not accept any new RPCs.\n\terrConnDrain = errors.New(\"grpc: the connection is drained\")\n\t// errConnClosing indicates that the connection is closing.\n\terrConnClosing = errors.New(\"grpc: the connection is closing\")\n\t// errConnUnavailable indicates that the connection is unavailable.\n\terrConnUnavailable = errors.New(\"grpc: the connection is unavailable\")\n\t// errBalancerClosed indicates that the balancer is closed.\n\terrBalancerClosed = errors.New(\"grpc: balancer is closed\")\n\t// We use an accessor so that minConnectTimeout can be\n\t// atomically read and updated while testing.\n\tgetMinConnectTimeout = func() time.Duration {\n\t\treturn minConnectTimeout\n\t}\n)\n\n// The following errors are returned from Dial and DialContext\nvar (\n\t// errNoTransportSecurity indicates that there is no transport security\n\t// being set for ClientConn. Users should either set one or explicitly\n\t// call WithInsecure DialOption to disable security.\n\terrNoTransportSecurity = errors.New(\"grpc: no transport security set (use grpc.WithInsecure() explicitly or set credentials)\")\n\t// errTransportCredentialsMissing indicates that users want to transmit security\n\t// information (e.g., oauth2 token) which requires secure connection on an insecure\n\t// connection.\n\terrTransportCredentialsMissing = errors.New(\"grpc: the credentials require transport level security (use grpc.WithTransportCredentials() to set)\")\n\t// errCredentialsConflict indicates that grpc.WithTransportCredentials()\n\t// and grpc.WithInsecure() are both called for a connection.\n\terrCredentialsConflict = errors.New(\"grpc: transport credentials are set for an insecure connection (grpc.WithTransportCredentials() and grpc.WithInsecure() are both called)\")\n\t// errNetworkIO indicates that the connection is down due to some network I/O error.\n\terrNetworkIO = errors.New(\"grpc: failed with network I/O error\")\n)\n\nconst (\n\tdefaultClientMaxReceiveMessageSize = 1024 * 1024 * 4\n\tdefaultClientMaxSendMessageSize    = math.MaxInt32\n\t// http2IOBufSize specifies the buffer size for sending frames.\n\tdefaultWriteBufSize = 32 * 1024\n\tdefaultReadBufSize  = 32 * 1024\n)\n\n// RegisterChannelz turns on channelz service.\n// This is an EXPERIMENTAL API.\nfunc RegisterChannelz() {\n\tchannelz.TurnOn()\n}\n\n// Dial creates a client connection to the given target.\nfunc Dial(target string, opts ...DialOption) (*ClientConn, error) {\n\treturn DialContext(context.Background(), target, opts...)\n}\n\n// DialContext creates a client connection to the given target. By default, it's\n// a non-blocking dial (the function won't wait for connections to be\n// established, and connecting happens in the background). To make it a blocking\n// dial, use WithBlock() dial option.\n//\n// In the non-blocking case, the ctx does not act against the connection. It\n// only controls the setup steps.\n//\n// In the blocking case, ctx can be used to cancel or expire the pending\n// connection. Once this function returns, the cancellation and expiration of\n// ctx will be noop. Users should call ClientConn.Close to terminate all the\n// pending operations after this function returns.\n//\n// The target name syntax is defined in\n// https://github.com/grpc/grpc/blob/master/doc/naming.md.\n// e.g. to use dns resolver, a \"dns:///\" prefix should be applied to the target.\nfunc DialContext(ctx context.Context, target string, opts ...DialOption) (conn *ClientConn, err error) {\n\tcc := &ClientConn{\n\t\ttarget:         target,\n\t\tcsMgr:          &connectivityStateManager{},\n\t\tconns:          make(map[*addrConn]struct{}),\n\t\tdopts:          defaultDialOptions(),\n\t\tblockingpicker: newPickerWrapper(),\n\t}\n\tcc.retryThrottler.Store((*retryThrottler)(nil))\n\tcc.ctx, cc.cancel = context.WithCancel(context.Background())\n\n\tfor _, opt := range opts {\n\t\topt.apply(&cc.dopts)\n\t}\n\n\tif channelz.IsOn() {\n\t\tif cc.dopts.channelzParentID != 0 {\n\t\t\tcc.channelzID = channelz.RegisterChannel(cc, cc.dopts.channelzParentID, target)\n\t\t} else {\n\t\t\tcc.channelzID = channelz.RegisterChannel(cc, 0, target)\n\t\t}\n\t}\n\n\tif !cc.dopts.insecure {\n\t\tif cc.dopts.copts.TransportCredentials == nil {\n\t\t\treturn nil, errNoTransportSecurity\n\t\t}\n\t} else {\n\t\tif cc.dopts.copts.TransportCredentials != nil {\n\t\t\treturn nil, errCredentialsConflict\n\t\t}\n\t\tfor _, cd := range cc.dopts.copts.PerRPCCredentials {\n\t\t\tif cd.RequireTransportSecurity() {\n\t\t\t\treturn nil, errTransportCredentialsMissing\n\t\t\t}\n\t\t}\n\t}\n\n\tcc.mkp = cc.dopts.copts.KeepaliveParams\n\n\tif cc.dopts.copts.Dialer == nil {\n\t\tcc.dopts.copts.Dialer = newProxyDialer(\n\t\t\tfunc(ctx context.Context, addr string) (net.Conn, error) {\n\t\t\t\tnetwork, addr := parseDialTarget(addr)\n\t\t\t\treturn dialContext(ctx, network, addr)\n\t\t\t},\n\t\t)\n\t}\n\n\tif cc.dopts.copts.UserAgent != \"\" {\n\t\tcc.dopts.copts.UserAgent += \" \" + grpcUA\n\t} else {\n\t\tcc.dopts.copts.UserAgent = grpcUA\n\t}\n\n\tif cc.dopts.timeout > 0 {\n\t\tvar cancel context.CancelFunc\n\t\tctx, cancel = context.WithTimeout(ctx, cc.dopts.timeout)\n\t\tdefer cancel()\n\t}\n\n\tdefer func() {\n\t\tselect {\n\t\tcase <-ctx.Done():\n\t\t\tconn, err = nil, ctx.Err()\n\t\tdefault:\n\t\t}\n\n\t\tif err != nil {\n\t\t\tcc.Close()\n\t\t}\n\t}()\n\n\tscSet := false\n\tif cc.dopts.scChan != nil {\n\t\t// Try to get an initial service config.\n\t\tselect {\n\t\tcase sc, ok := <-cc.dopts.scChan:\n\t\t\tif ok {\n\t\t\t\tcc.sc = sc\n\t\t\t\tscSet = true\n\t\t\t}\n\t\tdefault:\n\t\t}\n\t}\n\tif cc.dopts.bs == nil {\n\t\tcc.dopts.bs = backoff.Exponential{\n\t\t\tMaxDelay: DefaultBackoffConfig.MaxDelay,\n\t\t}\n\t}\n\tif cc.dopts.resolverBuilder == nil {\n\t\t// Only try to parse target when resolver builder is not already set.\n\t\tcc.parsedTarget = parseTarget(cc.target)\n\t\tgrpclog.Infof(\"parsed scheme: %q\", cc.parsedTarget.Scheme)\n\t\tcc.dopts.resolverBuilder = resolver.Get(cc.parsedTarget.Scheme)\n\t\tif cc.dopts.resolverBuilder == nil {\n\t\t\t// If resolver builder is still nil, the parse target's scheme is\n\t\t\t// not registered. Fallback to default resolver and set Endpoint to\n\t\t\t// the original unparsed target.\n\t\t\tgrpclog.Infof(\"scheme %q not registered, fallback to default scheme\", cc.parsedTarget.Scheme)\n\t\t\tcc.parsedTarget = resolver.Target{\n\t\t\t\tScheme:   resolver.GetDefaultScheme(),\n\t\t\t\tEndpoint: target,\n\t\t\t}\n\t\t\tcc.dopts.resolverBuilder = resolver.Get(cc.parsedTarget.Scheme)\n\t\t}\n\t} else {\n\t\tcc.parsedTarget = resolver.Target{Endpoint: target}\n\t}\n\tcreds := cc.dopts.copts.TransportCredentials\n\tif creds != nil && creds.Info().ServerName != \"\" {\n\t\tcc.authority = creds.Info().ServerName\n\t} else if cc.dopts.insecure && cc.dopts.authority != \"\" {\n\t\tcc.authority = cc.dopts.authority\n\t} else {\n\t\t// Use endpoint from \"scheme://authority/endpoint\" as the default\n\t\t// authority for ClientConn.\n\t\tcc.authority = cc.parsedTarget.Endpoint\n\t}\n\n\tif cc.dopts.scChan != nil && !scSet {\n\t\t// Blocking wait for the initial service config.\n\t\tselect {\n\t\tcase sc, ok := <-cc.dopts.scChan:\n\t\t\tif ok {\n\t\t\t\tcc.sc = sc\n\t\t\t}\n\t\tcase <-ctx.Done():\n\t\t\treturn nil, ctx.Err()\n\t\t}\n\t}\n\tif cc.dopts.scChan != nil {\n\t\tgo cc.scWatcher()\n\t}\n\n\tvar credsClone credentials.TransportCredentials\n\tif creds := cc.dopts.copts.TransportCredentials; creds != nil {\n\t\tcredsClone = creds.Clone()\n\t}\n\tcc.balancerBuildOpts = balancer.BuildOptions{\n\t\tDialCreds:        credsClone,\n\t\tDialer:           cc.dopts.copts.Dialer,\n\t\tChannelzParentID: cc.channelzID,\n\t}\n\n\t// Build the resolver.\n\tcc.resolverWrapper, err = newCCResolverWrapper(cc)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"failed to build resolver: %v\", err)\n\t}\n\t// Start the resolver wrapper goroutine after resolverWrapper is created.\n\t//\n\t// If the goroutine is started before resolverWrapper is ready, the\n\t// following may happen: The goroutine sends updates to cc. cc forwards\n\t// those to balancer. Balancer creates new addrConn. addrConn fails to\n\t// connect, and calls resolveNow(). resolveNow() tries to use the non-ready\n\t// resolverWrapper.\n\tcc.resolverWrapper.start()\n\n\t// A blocking dial blocks until the clientConn is ready.\n\tif cc.dopts.block {\n\t\tfor {\n\t\t\ts := cc.GetState()\n\t\t\tif s == connectivity.Ready {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tif !cc.WaitForStateChange(ctx, s) {\n\t\t\t\t// ctx got timeout or canceled.\n\t\t\t\treturn nil, ctx.Err()\n\t\t\t}\n\t\t}\n\t}\n\n\treturn cc, nil\n}\n\n// connectivityStateManager keeps the connectivity.State of ClientConn.\n// This struct will eventually be exported so the balancers can access it.\ntype connectivityStateManager struct {\n\tmu         sync.Mutex\n\tstate      connectivity.State\n\tnotifyChan chan struct{}\n}\n\n// updateState updates the connectivity.State of ClientConn.\n// If there's a change it notifies goroutines waiting on state change to\n// happen.\nfunc (csm *connectivityStateManager) updateState(state connectivity.State) {\n\tcsm.mu.Lock()\n\tdefer csm.mu.Unlock()\n\tif csm.state == connectivity.Shutdown {\n\t\treturn\n\t}\n\tif csm.state == state {\n\t\treturn\n\t}\n\tcsm.state = state\n\tif csm.notifyChan != nil {\n\t\t// There are other goroutines waiting on this channel.\n\t\tclose(csm.notifyChan)\n\t\tcsm.notifyChan = nil\n\t}\n}\n\nfunc (csm *connectivityStateManager) getState() connectivity.State {\n\tcsm.mu.Lock()\n\tdefer csm.mu.Unlock()\n\treturn csm.state\n}\n\nfunc (csm *connectivityStateManager) getNotifyChan() <-chan struct{} {\n\tcsm.mu.Lock()\n\tdefer csm.mu.Unlock()\n\tif csm.notifyChan == nil {\n\t\tcsm.notifyChan = make(chan struct{})\n\t}\n\treturn csm.notifyChan\n}\n\n// ClientConn represents a client connection to an RPC server.\ntype ClientConn struct {\n\tctx    context.Context\n\tcancel context.CancelFunc\n\n\ttarget       string\n\tparsedTarget resolver.Target\n\tauthority    string\n\tdopts        dialOptions\n\tcsMgr        *connectivityStateManager\n\n\tbalancerBuildOpts balancer.BuildOptions\n\tresolverWrapper   *ccResolverWrapper\n\tblockingpicker    *pickerWrapper\n\n\tmu    sync.RWMutex\n\tsc    ServiceConfig\n\tscRaw string\n\tconns map[*addrConn]struct{}\n\t// Keepalive parameter can be updated if a GoAway is received.\n\tmkp             keepalive.ClientParameters\n\tcurBalancerName string\n\tpreBalancerName string // previous balancer name.\n\tcurAddresses    []resolver.Address\n\tbalancerWrapper *ccBalancerWrapper\n\tretryThrottler  atomic.Value\n\n\tchannelzID          int64 // channelz unique identification number\n\tczmu                sync.RWMutex\n\tcallsStarted        int64\n\tcallsSucceeded      int64\n\tcallsFailed         int64\n\tlastCallStartedTime time.Time\n}\n\n// WaitForStateChange waits until the connectivity.State of ClientConn changes from sourceState or\n// ctx expires. A true value is returned in former case and false in latter.\n// This is an EXPERIMENTAL API.\nfunc (cc *ClientConn) WaitForStateChange(ctx context.Context, sourceState connectivity.State) bool {\n\tch := cc.csMgr.getNotifyChan()\n\tif cc.csMgr.getState() != sourceState {\n\t\treturn true\n\t}\n\tselect {\n\tcase <-ctx.Done():\n\t\treturn false\n\tcase <-ch:\n\t\treturn true\n\t}\n}\n\n// GetState returns the connectivity.State of ClientConn.\n// This is an EXPERIMENTAL API.\nfunc (cc *ClientConn) GetState() connectivity.State {\n\treturn cc.csMgr.getState()\n}\n\nfunc (cc *ClientConn) scWatcher() {\n\tfor {\n\t\tselect {\n\t\tcase sc, ok := <-cc.dopts.scChan:\n\t\t\tif !ok {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tcc.mu.Lock()\n\t\t\t// TODO: load balance policy runtime change is ignored.\n\t\t\t// We may revist this decision in the future.\n\t\t\tcc.sc = sc\n\t\t\tcc.scRaw = \"\"\n\t\t\tcc.mu.Unlock()\n\t\tcase <-cc.ctx.Done():\n\t\t\treturn\n\t\t}\n\t}\n}\n\nfunc (cc *ClientConn) handleResolvedAddrs(addrs []resolver.Address, err error) {\n\tcc.mu.Lock()\n\tdefer cc.mu.Unlock()\n\tif cc.conns == nil {\n\t\t// cc was closed.\n\t\treturn\n\t}\n\n\tif reflect.DeepEqual(cc.curAddresses, addrs) {\n\t\treturn\n\t}\n\n\tcc.curAddresses = addrs\n\n\tif cc.dopts.balancerBuilder == nil {\n\t\t// Only look at balancer types and switch balancer if balancer dial\n\t\t// option is not set.\n\t\tvar isGRPCLB bool\n\t\tfor _, a := range addrs {\n\t\t\tif a.Type == resolver.GRPCLB {\n\t\t\t\tisGRPCLB = true\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tvar newBalancerName string\n\t\tif isGRPCLB {\n\t\t\tnewBalancerName = grpclbName\n\t\t} else {\n\t\t\t// Address list doesn't contain grpclb address. Try to pick a\n\t\t\t// non-grpclb balancer.\n\t\t\tnewBalancerName = cc.curBalancerName\n\t\t\t// If current balancer is grpclb, switch to the previous one.\n\t\t\tif newBalancerName == grpclbName {\n\t\t\t\tnewBalancerName = cc.preBalancerName\n\t\t\t}\n\t\t\t// The following could be true in two cases:\n\t\t\t// - the first time handling resolved addresses\n\t\t\t//   (curBalancerName=\"\")\n\t\t\t// - the first time handling non-grpclb addresses\n\t\t\t//   (curBalancerName=\"grpclb\", preBalancerName=\"\")\n\t\t\tif newBalancerName == \"\" {\n\t\t\t\tnewBalancerName = PickFirstBalancerName\n\t\t\t}\n\t\t}\n\t\tcc.switchBalancer(newBalancerName)\n\t} else if cc.balancerWrapper == nil {\n\t\t// Balancer dial option was set, and this is the first time handling\n\t\t// resolved addresses. Build a balancer with dopts.balancerBuilder.\n\t\tcc.balancerWrapper = newCCBalancerWrapper(cc, cc.dopts.balancerBuilder, cc.balancerBuildOpts)\n\t}\n\n\tcc.balancerWrapper.handleResolvedAddrs(addrs, nil)\n}\n\n// switchBalancer starts the switching from current balancer to the balancer\n// with the given name.\n//\n// It will NOT send the current address list to the new balancer. If needed,\n// caller of this function should send address list to the new balancer after\n// this function returns.\n//\n// Caller must hold cc.mu.\nfunc (cc *ClientConn) switchBalancer(name string) {\n\tif cc.conns == nil {\n\t\treturn\n\t}\n\n\tif strings.ToLower(cc.curBalancerName) == strings.ToLower(name) {\n\t\treturn\n\t}\n\n\tgrpclog.Infof(\"ClientConn switching balancer to %q\", name)\n\tif cc.dopts.balancerBuilder != nil {\n\t\tgrpclog.Infoln(\"ignoring balancer switching: Balancer DialOption used instead\")\n\t\treturn\n\t}\n\t// TODO(bar switching) change this to two steps: drain and close.\n\t// Keep track of sc in wrapper.\n\tif cc.balancerWrapper != nil {\n\t\tcc.balancerWrapper.close()\n\t}\n\n\tbuilder := balancer.Get(name)\n\tif builder == nil {\n\t\tgrpclog.Infof(\"failed to get balancer builder for: %v, using pick_first instead\", name)\n\t\tbuilder = newPickfirstBuilder()\n\t}\n\tcc.preBalancerName = cc.curBalancerName\n\tcc.curBalancerName = builder.Name()\n\tcc.balancerWrapper = newCCBalancerWrapper(cc, builder, cc.balancerBuildOpts)\n}\n\nfunc (cc *ClientConn) handleSubConnStateChange(sc balancer.SubConn, s connectivity.State) {\n\tcc.mu.Lock()\n\tif cc.conns == nil {\n\t\tcc.mu.Unlock()\n\t\treturn\n\t}\n\t// TODO(bar switching) send updates to all balancer wrappers when balancer\n\t// gracefully switching is supported.\n\tcc.balancerWrapper.handleSubConnStateChange(sc, s)\n\tcc.mu.Unlock()\n}\n\n// newAddrConn creates an addrConn for addrs and adds it to cc.conns.\n//\n// Caller needs to make sure len(addrs) > 0.\nfunc (cc *ClientConn) newAddrConn(addrs []resolver.Address) (*addrConn, error) {\n\tac := &addrConn{\n\t\tcc:    cc,\n\t\taddrs: addrs,\n\t\tdopts: cc.dopts,\n\t}\n\tac.ctx, ac.cancel = context.WithCancel(cc.ctx)\n\t// Track ac in cc. This needs to be done before any getTransport(...) is called.\n\tcc.mu.Lock()\n\tif cc.conns == nil {\n\t\tcc.mu.Unlock()\n\t\treturn nil, ErrClientConnClosing\n\t}\n\tif channelz.IsOn() {\n\t\tac.channelzID = channelz.RegisterSubChannel(ac, cc.channelzID, \"\")\n\t}\n\tcc.conns[ac] = struct{}{}\n\tcc.mu.Unlock()\n\treturn ac, nil\n}\n\n// removeAddrConn removes the addrConn in the subConn from clientConn.\n// It also tears down the ac with the given error.\nfunc (cc *ClientConn) removeAddrConn(ac *addrConn, err error) {\n\tcc.mu.Lock()\n\tif cc.conns == nil {\n\t\tcc.mu.Unlock()\n\t\treturn\n\t}\n\tdelete(cc.conns, ac)\n\tcc.mu.Unlock()\n\tac.tearDown(err)\n}\n\n// ChannelzMetric returns ChannelInternalMetric of current ClientConn.\n// This is an EXPERIMENTAL API.\nfunc (cc *ClientConn) ChannelzMetric() *channelz.ChannelInternalMetric {\n\tstate := cc.GetState()\n\tcc.czmu.RLock()\n\tdefer cc.czmu.RUnlock()\n\treturn &channelz.ChannelInternalMetric{\n\t\tState:                    state,\n\t\tTarget:                   cc.target,\n\t\tCallsStarted:             cc.callsStarted,\n\t\tCallsSucceeded:           cc.callsSucceeded,\n\t\tCallsFailed:              cc.callsFailed,\n\t\tLastCallStartedTimestamp: cc.lastCallStartedTime,\n\t}\n}\n\n// Target returns the target string of the ClientConn.\n// This is an EXPERIMENTAL API.\nfunc (cc *ClientConn) Target() string {\n\treturn cc.target\n}\n\nfunc (cc *ClientConn) incrCallsStarted() {\n\tcc.czmu.Lock()\n\tcc.callsStarted++\n\t// TODO(yuxuanli): will make this a time.Time pointer improve performance?\n\tcc.lastCallStartedTime = time.Now()\n\tcc.czmu.Unlock()\n}\n\nfunc (cc *ClientConn) incrCallsSucceeded() {\n\tcc.czmu.Lock()\n\tcc.callsSucceeded++\n\tcc.czmu.Unlock()\n}\n\nfunc (cc *ClientConn) incrCallsFailed() {\n\tcc.czmu.Lock()\n\tcc.callsFailed++\n\tcc.czmu.Unlock()\n}\n\n// connect starts to creating transport and also starts the transport monitor\n// goroutine for this ac.\n// It does nothing if the ac is not IDLE.\n// TODO(bar) Move this to the addrConn section.\n// This was part of resetAddrConn, keep it here to make the diff look clean.\nfunc (ac *addrConn) connect() error {\n\tac.mu.Lock()\n\tif ac.state == connectivity.Shutdown {\n\t\tac.mu.Unlock()\n\t\treturn errConnClosing\n\t}\n\tif ac.state != connectivity.Idle {\n\t\tac.mu.Unlock()\n\t\treturn nil\n\t}\n\tac.state = connectivity.Connecting\n\tac.cc.handleSubConnStateChange(ac.acbw, ac.state)\n\tac.mu.Unlock()\n\n\t// Start a goroutine connecting to the server asynchronously.\n\tgo func() {\n\t\tif err := ac.resetTransport(); err != nil {\n\t\t\tgrpclog.Warningf(\"Failed to dial %s: %v; please retry.\", ac.addrs[0].Addr, err)\n\t\t\tif err != errConnClosing {\n\t\t\t\t// Keep this ac in cc.conns, to get the reason it's torn down.\n\t\t\t\tac.tearDown(err)\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t\tac.transportMonitor()\n\t}()\n\treturn nil\n}\n\n// tryUpdateAddrs tries to update ac.addrs with the new addresses list.\n//\n// It checks whether current connected address of ac is in the new addrs list.\n//  - If true, it updates ac.addrs and returns true. The ac will keep using\n//    the existing connection.\n//  - If false, it does nothing and returns false.\nfunc (ac *addrConn) tryUpdateAddrs(addrs []resolver.Address) bool {\n\tac.mu.Lock()\n\tdefer ac.mu.Unlock()\n\tgrpclog.Infof(\"addrConn: tryUpdateAddrs curAddr: %v, addrs: %v\", ac.curAddr, addrs)\n\tif ac.state == connectivity.Shutdown {\n\t\tac.addrs = addrs\n\t\treturn true\n\t}\n\n\tvar curAddrFound bool\n\tfor _, a := range addrs {\n\t\tif reflect.DeepEqual(ac.curAddr, a) {\n\t\t\tcurAddrFound = true\n\t\t\tbreak\n\t\t}\n\t}\n\tgrpclog.Infof(\"addrConn: tryUpdateAddrs curAddrFound: %v\", curAddrFound)\n\tif curAddrFound {\n\t\tac.addrs = addrs\n\t\tac.reconnectIdx = 0 // Start reconnecting from beginning in the new list.\n\t}\n\n\treturn curAddrFound\n}\n\n// GetMethodConfig gets the method config of the input method.\n// If there's an exact match for input method (i.e. /service/method), we return\n// the corresponding MethodConfig.\n// If there isn't an exact match for the input method, we look for the default config\n// under the service (i.e /service/). If there is a default MethodConfig for\n// the service, we return it.\n// Otherwise, we return an empty MethodConfig.\nfunc (cc *ClientConn) GetMethodConfig(method string) MethodConfig {\n\t// TODO: Avoid the locking here.\n\tcc.mu.RLock()\n\tdefer cc.mu.RUnlock()\n\tm, ok := cc.sc.Methods[method]\n\tif !ok {\n\t\ti := strings.LastIndex(method, \"/\")\n\t\tm = cc.sc.Methods[method[:i+1]]\n\t}\n\treturn m\n}\n\nfunc (cc *ClientConn) getTransport(ctx context.Context, failfast bool, method string) (transport.ClientTransport, func(balancer.DoneInfo), error) {\n\tt, done, err := cc.blockingpicker.pick(ctx, failfast, balancer.PickOptions{\n\t\tFullMethodName: method,\n\t})\n\tif err != nil {\n\t\treturn nil, nil, toRPCErr(err)\n\t}\n\treturn t, done, nil\n}\n\n// handleServiceConfig parses the service config string in JSON format to Go native\n// struct ServiceConfig, and store both the struct and the JSON string in ClientConn.\nfunc (cc *ClientConn) handleServiceConfig(js string) error {\n\tif cc.dopts.disableServiceConfig {\n\t\treturn nil\n\t}\n\tsc, err := parseServiceConfig(js)\n\tif err != nil {\n\t\treturn err\n\t}\n\tcc.mu.Lock()\n\tcc.scRaw = js\n\tcc.sc = sc\n\n\tif sc.retryThrottling != nil {\n\t\tnewThrottler := &retryThrottler{\n\t\t\ttokens: sc.retryThrottling.MaxTokens,\n\t\t\tmax:    sc.retryThrottling.MaxTokens,\n\t\t\tthresh: sc.retryThrottling.MaxTokens / 2,\n\t\t\tratio:  sc.retryThrottling.TokenRatio,\n\t\t}\n\t\tcc.retryThrottler.Store(newThrottler)\n\t} else {\n\t\tcc.retryThrottler.Store((*retryThrottler)(nil))\n\t}\n\n\tif sc.LB != nil && *sc.LB != grpclbName { // \"grpclb\" is not a valid balancer option in service config.\n\t\tif cc.curBalancerName == grpclbName {\n\t\t\t// If current balancer is grpclb, there's at least one grpclb\n\t\t\t// balancer address in the resolved list. Don't switch the balancer,\n\t\t\t// but change the previous balancer name, so if a new resolved\n\t\t\t// address list doesn't contain grpclb address, balancer will be\n\t\t\t// switched to *sc.LB.\n\t\t\tcc.preBalancerName = *sc.LB\n\t\t} else {\n\t\t\tcc.switchBalancer(*sc.LB)\n\t\t\tcc.balancerWrapper.handleResolvedAddrs(cc.curAddresses, nil)\n\t\t}\n\t}\n\n\tcc.mu.Unlock()\n\treturn nil\n}\n\nfunc (cc *ClientConn) resolveNow(o resolver.ResolveNowOption) {\n\tcc.mu.RLock()\n\tr := cc.resolverWrapper\n\tcc.mu.RUnlock()\n\tif r == nil {\n\t\treturn\n\t}\n\tgo r.resolveNow(o)\n}\n\n// Close tears down the ClientConn and all underlying connections.\nfunc (cc *ClientConn) Close() error {\n\tdefer cc.cancel()\n\n\tcc.mu.Lock()\n\tif cc.conns == nil {\n\t\tcc.mu.Unlock()\n\t\treturn ErrClientConnClosing\n\t}\n\tconns := cc.conns\n\tcc.conns = nil\n\tcc.csMgr.updateState(connectivity.Shutdown)\n\n\trWrapper := cc.resolverWrapper\n\tcc.resolverWrapper = nil\n\tbWrapper := cc.balancerWrapper\n\tcc.balancerWrapper = nil\n\tcc.mu.Unlock()\n\n\tcc.blockingpicker.close()\n\n\tif rWrapper != nil {\n\t\trWrapper.close()\n\t}\n\tif bWrapper != nil {\n\t\tbWrapper.close()\n\t}\n\n\tfor ac := range conns {\n\t\tac.tearDown(ErrClientConnClosing)\n\t}\n\tif channelz.IsOn() {\n\t\tchannelz.RemoveEntry(cc.channelzID)\n\t}\n\treturn nil\n}\n\n// addrConn is a network connection to a given address.\ntype addrConn struct {\n\tctx    context.Context\n\tcancel context.CancelFunc\n\n\tcc     *ClientConn\n\taddrs  []resolver.Address\n\tdopts  dialOptions\n\tevents trace.EventLog\n\tacbw   balancer.SubConn\n\n\tmu           sync.Mutex\n\tcurAddr      resolver.Address\n\treconnectIdx int // The index in addrs list to start reconnecting from.\n\tstate        connectivity.State\n\t// ready is closed and becomes nil when a new transport is up or failed\n\t// due to timeout.\n\tready     chan struct{}\n\ttransport transport.ClientTransport\n\n\t// The reason this addrConn is torn down.\n\ttearDownErr error\n\n\tconnectRetryNum int\n\t// backoffDeadline is the time until which resetTransport needs to\n\t// wait before increasing connectRetryNum count.\n\tbackoffDeadline time.Time\n\t// connectDeadline is the time by which all connection\n\t// negotiations must complete.\n\tconnectDeadline time.Time\n\n\tchannelzID          int64 // channelz unique identification number\n\tczmu                sync.RWMutex\n\tcallsStarted        int64\n\tcallsSucceeded      int64\n\tcallsFailed         int64\n\tlastCallStartedTime time.Time\n}\n\n// adjustParams updates parameters used to create transports upon\n// receiving a GoAway.\nfunc (ac *addrConn) adjustParams(r transport.GoAwayReason) {\n\tswitch r {\n\tcase transport.GoAwayTooManyPings:\n\t\tv := 2 * ac.dopts.copts.KeepaliveParams.Time\n\t\tac.cc.mu.Lock()\n\t\tif v > ac.cc.mkp.Time {\n\t\t\tac.cc.mkp.Time = v\n\t\t}\n\t\tac.cc.mu.Unlock()\n\t}\n}\n\n// printf records an event in ac's event log, unless ac has been closed.\n// REQUIRES ac.mu is held.\nfunc (ac *addrConn) printf(format string, a ...interface{}) {\n\tif ac.events != nil {\n\t\tac.events.Printf(format, a...)\n\t}\n}\n\n// errorf records an error in ac's event log, unless ac has been closed.\n// REQUIRES ac.mu is held.\nfunc (ac *addrConn) errorf(format string, a ...interface{}) {\n\tif ac.events != nil {\n\t\tac.events.Errorf(format, a...)\n\t}\n}\n\n// resetTransport recreates a transport to the address for ac.  The old\n// transport will close itself on error or when the clientconn is closed.\n// The created transport must receive initial settings frame from the server.\n// In case that doesn't happen, transportMonitor will kill the newly created\n// transport after connectDeadline has expired.\n// In case there was an error on the transport before the settings frame was\n// received, resetTransport resumes connecting to backends after the one that\n// was previously connected to. In case end of the list is reached, resetTransport\n// backs off until the original deadline.\n// If the DialOption WithWaitForHandshake was set, resetTrasport returns\n// successfully only after server settings are received.\n//\n// TODO(bar) make sure all state transitions are valid.\nfunc (ac *addrConn) resetTransport() error {\n\tac.mu.Lock()\n\tif ac.state == connectivity.Shutdown {\n\t\tac.mu.Unlock()\n\t\treturn errConnClosing\n\t}\n\tif ac.ready != nil {\n\t\tclose(ac.ready)\n\t\tac.ready = nil\n\t}\n\tac.transport = nil\n\tridx := ac.reconnectIdx\n\tac.mu.Unlock()\n\tac.cc.mu.RLock()\n\tac.dopts.copts.KeepaliveParams = ac.cc.mkp\n\tac.cc.mu.RUnlock()\n\tvar backoffDeadline, connectDeadline time.Time\n\tfor connectRetryNum := 0; ; connectRetryNum++ {\n\t\tac.mu.Lock()\n\t\tif ac.backoffDeadline.IsZero() {\n\t\t\t// This means either a successful HTTP2 connection was established\n\t\t\t// or this is the first time this addrConn is trying to establish a\n\t\t\t// connection.\n\t\t\tbackoffFor := ac.dopts.bs.Backoff(connectRetryNum) // time.Duration.\n\t\t\t// This will be the duration that dial gets to finish.\n\t\t\tdialDuration := getMinConnectTimeout()\n\t\t\tif backoffFor > dialDuration {\n\t\t\t\t// Give dial more time as we keep failing to connect.\n\t\t\t\tdialDuration = backoffFor\n\t\t\t}\n\t\t\tstart := time.Now()\n\t\t\tbackoffDeadline = start.Add(backoffFor)\n\t\t\tconnectDeadline = start.Add(dialDuration)\n\t\t\tridx = 0 // Start connecting from the beginning.\n\t\t} else {\n\t\t\t// Continue trying to connect with the same deadlines.\n\t\t\tconnectRetryNum = ac.connectRetryNum\n\t\t\tbackoffDeadline = ac.backoffDeadline\n\t\t\tconnectDeadline = ac.connectDeadline\n\t\t\tac.backoffDeadline = time.Time{}\n\t\t\tac.connectDeadline = time.Time{}\n\t\t\tac.connectRetryNum = 0\n\t\t}\n\t\tif ac.state == connectivity.Shutdown {\n\t\t\tac.mu.Unlock()\n\t\t\treturn errConnClosing\n\t\t}\n\t\tac.printf(\"connecting\")\n\t\tif ac.state != connectivity.Connecting {\n\t\t\tac.state = connectivity.Connecting\n\t\t\tac.cc.handleSubConnStateChange(ac.acbw, ac.state)\n\t\t}\n\t\t// copy ac.addrs in case of race\n\t\taddrsIter := make([]resolver.Address, len(ac.addrs))\n\t\tcopy(addrsIter, ac.addrs)\n\t\tcopts := ac.dopts.copts\n\t\tac.mu.Unlock()\n\t\tconnected, err := ac.createTransport(connectRetryNum, ridx, backoffDeadline, connectDeadline, addrsIter, copts)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif connected {\n\t\t\treturn nil\n\t\t}\n\t}\n}\n\n// createTransport creates a connection to one of the backends in addrs.\n// It returns true if a connection was established.\nfunc (ac *addrConn) createTransport(connectRetryNum, ridx int, backoffDeadline, connectDeadline time.Time, addrs []resolver.Address, copts transport.ConnectOptions) (bool, error) {\n\tfor i := ridx; i < len(addrs); i++ {\n\t\taddr := addrs[i]\n\t\ttarget := transport.TargetInfo{\n\t\t\tAddr:      addr.Addr,\n\t\t\tMetadata:  addr.Metadata,\n\t\t\tAuthority: ac.cc.authority,\n\t\t}\n\t\tdone := make(chan struct{})\n\t\tonPrefaceReceipt := func() {\n\t\t\tac.mu.Lock()\n\t\t\tclose(done)\n\t\t\tif !ac.backoffDeadline.IsZero() {\n\t\t\t\t// If we haven't already started reconnecting to\n\t\t\t\t// other backends.\n\t\t\t\t// Note, this can happen when writer notices an error\n\t\t\t\t// and triggers resetTransport while at the same time\n\t\t\t\t// reader receives the preface and invokes this closure.\n\t\t\t\tac.backoffDeadline = time.Time{}\n\t\t\t\tac.connectDeadline = time.Time{}\n\t\t\t\tac.connectRetryNum = 0\n\t\t\t}\n\t\t\tac.mu.Unlock()\n\t\t}\n\t\t// Do not cancel in the success path because of\n\t\t// this issue in Go1.6: https://github.com/golang/go/issues/15078.\n\t\tconnectCtx, cancel := context.WithDeadline(ac.ctx, connectDeadline)\n\t\tif channelz.IsOn() {\n\t\t\tcopts.ChannelzParentID = ac.channelzID\n\t\t}\n\t\tnewTr, err := transport.NewClientTransport(connectCtx, ac.cc.ctx, target, copts, onPrefaceReceipt)\n\t\tif err != nil {\n\t\t\tcancel()\n\t\t\tac.cc.blockingpicker.updateConnectionError(err)\n\t\t\tac.mu.Lock()\n\t\t\tif ac.state == connectivity.Shutdown {\n\t\t\t\t// ac.tearDown(...) has been invoked.\n\t\t\t\tac.mu.Unlock()\n\t\t\t\treturn false, errConnClosing\n\t\t\t}\n\t\t\tac.mu.Unlock()\n\t\t\tgrpclog.Warningf(\"grpc: addrConn.createTransport failed to connect to %v. Err :%v. Reconnecting...\", addr, err)\n\t\t\tcontinue\n\t\t}\n\t\tif ac.dopts.waitForHandshake {\n\t\t\tselect {\n\t\t\tcase <-done:\n\t\t\tcase <-connectCtx.Done():\n\t\t\t\t// Didn't receive server preface, must kill this new transport now.\n\t\t\t\tgrpclog.Warningf(\"grpc: addrConn.createTransport failed to receive server preface before deadline.\")\n\t\t\t\tnewTr.Close()\n\t\t\t\tcontinue\n\t\t\tcase <-ac.ctx.Done():\n\t\t\t}\n\t\t}\n\t\tac.mu.Lock()\n\t\tif ac.state == connectivity.Shutdown {\n\t\t\tac.mu.Unlock()\n\t\t\t// ac.tearDonn(...) has been invoked.\n\t\t\tnewTr.Close()\n\t\t\treturn false, errConnClosing\n\t\t}\n\t\tac.printf(\"ready\")\n\t\tac.state = connectivity.Ready\n\t\tac.cc.handleSubConnStateChange(ac.acbw, ac.state)\n\t\tac.transport = newTr\n\t\tac.curAddr = addr\n\t\tif ac.ready != nil {\n\t\t\tclose(ac.ready)\n\t\t\tac.ready = nil\n\t\t}\n\t\tselect {\n\t\tcase <-done:\n\t\t\t// If the server has responded back with preface already,\n\t\t\t// don't set the reconnect parameters.\n\t\tdefault:\n\t\t\tac.connectRetryNum = connectRetryNum\n\t\t\tac.backoffDeadline = backoffDeadline\n\t\t\tac.connectDeadline = connectDeadline\n\t\t\tac.reconnectIdx = i + 1 // Start reconnecting from the next backend in the list.\n\t\t}\n\t\tac.mu.Unlock()\n\t\treturn true, nil\n\t}\n\tac.mu.Lock()\n\tif ac.state == connectivity.Shutdown {\n\t\tac.mu.Unlock()\n\t\treturn false, errConnClosing\n\t}\n\tac.state = connectivity.TransientFailure\n\tac.cc.handleSubConnStateChange(ac.acbw, ac.state)\n\tac.cc.resolveNow(resolver.ResolveNowOption{})\n\tif ac.ready != nil {\n\t\tclose(ac.ready)\n\t\tac.ready = nil\n\t}\n\tac.mu.Unlock()\n\ttimer := time.NewTimer(backoffDeadline.Sub(time.Now()))\n\tselect {\n\tcase <-timer.C:\n\tcase <-ac.ctx.Done():\n\t\ttimer.Stop()\n\t\treturn false, ac.ctx.Err()\n\t}\n\treturn false, nil\n}\n\n// Run in a goroutine to track the error in transport and create the\n// new transport if an error happens. It returns when the channel is closing.\nfunc (ac *addrConn) transportMonitor() {\n\tfor {\n\t\tvar timer *time.Timer\n\t\tvar cdeadline <-chan time.Time\n\t\tac.mu.Lock()\n\t\tt := ac.transport\n\t\tif !ac.connectDeadline.IsZero() {\n\t\t\ttimer = time.NewTimer(ac.connectDeadline.Sub(time.Now()))\n\t\t\tcdeadline = timer.C\n\t\t}\n\t\tac.mu.Unlock()\n\t\t// Block until we receive a goaway or an error occurs.\n\t\tselect {\n\t\tcase <-t.GoAway():\n\t\t\tdone := t.Error()\n\t\t\tcleanup := t.Close\n\t\t\t// Since this transport will be orphaned (won't have a transportMonitor)\n\t\t\t// we need to launch a goroutine to keep track of clientConn.Close()\n\t\t\t// happening since it might not be noticed by any other goroutine for a while.\n\t\t\tgo func() {\n\t\t\t\t<-done\n\t\t\t\tcleanup()\n\t\t\t}()\n\t\tcase <-t.Error():\n\t\t\t// In case this is triggered because clientConn.Close()\n\t\t\t// was called, we want to immeditately close the transport\n\t\t\t// since no other goroutine might notice it for a while.\n\t\t\tt.Close()\n\t\tcase <-cdeadline:\n\t\t\tac.mu.Lock()\n\t\t\t// This implies that client received server preface.\n\t\t\tif ac.backoffDeadline.IsZero() {\n\t\t\t\tac.mu.Unlock()\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tac.mu.Unlock()\n\t\t\ttimer = nil\n\t\t\t// No server preface received until deadline.\n\t\t\t// Kill the connection.\n\t\t\tgrpclog.Warningf(\"grpc: addrConn.transportMonitor didn't get server preface after waiting. Closing the new transport now.\")\n\t\t\tt.Close()\n\t\t}\n\t\tif timer != nil {\n\t\t\ttimer.Stop()\n\t\t}\n\t\t// If a GoAway happened, regardless of error, adjust our keepalive\n\t\t// parameters as appropriate.\n\t\tselect {\n\t\tcase <-t.GoAway():\n\t\t\tac.adjustParams(t.GetGoAwayReason())\n\t\tdefault:\n\t\t}\n\t\tac.mu.Lock()\n\t\tif ac.state == connectivity.Shutdown {\n\t\t\tac.mu.Unlock()\n\t\t\treturn\n\t\t}\n\t\t// Set connectivity state to TransientFailure before calling\n\t\t// resetTransport. Transition READY->CONNECTING is not valid.\n\t\tac.state = connectivity.TransientFailure\n\t\tac.cc.handleSubConnStateChange(ac.acbw, ac.state)\n\t\tac.cc.resolveNow(resolver.ResolveNowOption{})\n\t\tac.curAddr = resolver.Address{}\n\t\tac.mu.Unlock()\n\t\tif err := ac.resetTransport(); err != nil {\n\t\t\tac.mu.Lock()\n\t\t\tac.printf(\"transport exiting: %v\", err)\n\t\t\tac.mu.Unlock()\n\t\t\tgrpclog.Warningf(\"grpc: addrConn.transportMonitor exits due to: %v\", err)\n\t\t\tif err != errConnClosing {\n\t\t\t\t// Keep this ac in cc.conns, to get the reason it's torn down.\n\t\t\t\tac.tearDown(err)\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t}\n}\n\n// getReadyTransport returns the transport if ac's state is READY.\n// Otherwise it returns nil, false.\n// If ac's state is IDLE, it will trigger ac to connect.\nfunc (ac *addrConn) getReadyTransport() (transport.ClientTransport, bool) {\n\tac.mu.Lock()\n\tif ac.state == connectivity.Ready {\n\t\tt := ac.transport\n\t\tac.mu.Unlock()\n\t\treturn t, true\n\t}\n\tvar idle bool\n\tif ac.state == connectivity.Idle {\n\t\tidle = true\n\t}\n\tac.mu.Unlock()\n\t// Trigger idle ac to connect.\n\tif idle {\n\t\tac.connect()\n\t}\n\treturn nil, false\n}\n\n// tearDown starts to tear down the addrConn.\n// TODO(zhaoq): Make this synchronous to avoid unbounded memory consumption in\n// some edge cases (e.g., the caller opens and closes many addrConn's in a\n// tight loop.\n// tearDown doesn't remove ac from ac.cc.conns.\nfunc (ac *addrConn) tearDown(err error) {\n\tac.cancel()\n\tac.mu.Lock()\n\tdefer ac.mu.Unlock()\n\tif ac.state == connectivity.Shutdown {\n\t\treturn\n\t}\n\tac.curAddr = resolver.Address{}\n\tif err == errConnDrain && ac.transport != nil {\n\t\t// GracefulClose(...) may be executed multiple times when\n\t\t// i) receiving multiple GoAway frames from the server; or\n\t\t// ii) there are concurrent name resolver/Balancer triggered\n\t\t// address removal and GoAway.\n\t\tac.transport.GracefulClose()\n\t}\n\tac.state = connectivity.Shutdown\n\tac.tearDownErr = err\n\tac.cc.handleSubConnStateChange(ac.acbw, ac.state)\n\tif ac.events != nil {\n\t\tac.events.Finish()\n\t\tac.events = nil\n\t}\n\tif ac.ready != nil {\n\t\tclose(ac.ready)\n\t\tac.ready = nil\n\t}\n\tif channelz.IsOn() {\n\t\tchannelz.RemoveEntry(ac.channelzID)\n\t}\n}\n\nfunc (ac *addrConn) getState() connectivity.State {\n\tac.mu.Lock()\n\tdefer ac.mu.Unlock()\n\treturn ac.state\n}\n\nfunc (ac *addrConn) ChannelzMetric() *channelz.ChannelInternalMetric {\n\tac.mu.Lock()\n\taddr := ac.curAddr.Addr\n\tac.mu.Unlock()\n\tstate := ac.getState()\n\tac.czmu.RLock()\n\tdefer ac.czmu.RUnlock()\n\treturn &channelz.ChannelInternalMetric{\n\t\tState:                    state,\n\t\tTarget:                   addr,\n\t\tCallsStarted:             ac.callsStarted,\n\t\tCallsSucceeded:           ac.callsSucceeded,\n\t\tCallsFailed:              ac.callsFailed,\n\t\tLastCallStartedTimestamp: ac.lastCallStartedTime,\n\t}\n}\n\nfunc (ac *addrConn) incrCallsStarted() {\n\tac.czmu.Lock()\n\tac.callsStarted++\n\tac.lastCallStartedTime = time.Now()\n\tac.czmu.Unlock()\n}\n\nfunc (ac *addrConn) incrCallsSucceeded() {\n\tac.czmu.Lock()\n\tac.callsSucceeded++\n\tac.czmu.Unlock()\n}\n\nfunc (ac *addrConn) incrCallsFailed() {\n\tac.czmu.Lock()\n\tac.callsFailed++\n\tac.czmu.Unlock()\n}\n\ntype retryThrottler struct {\n\tmax    float64\n\tthresh float64\n\tratio  float64\n\n\tmu     sync.Mutex\n\ttokens float64 // TODO(dfawley): replace with atomic and remove lock.\n}\n\n// throttle subtracts a retry token from the pool and returns whether a retry\n// should be throttled (disallowed) based upon the retry throttling policy in\n// the service config.\nfunc (rt *retryThrottler) throttle() bool {\n\tif rt == nil {\n\t\treturn false\n\t}\n\trt.mu.Lock()\n\tdefer rt.mu.Unlock()\n\trt.tokens--\n\tif rt.tokens < 0 {\n\t\trt.tokens = 0\n\t}\n\treturn rt.tokens <= rt.thresh\n}\n\nfunc (rt *retryThrottler) successfulRPC() {\n\tif rt == nil {\n\t\treturn\n\t}\n\trt.mu.Lock()\n\tdefer rt.mu.Unlock()\n\trt.tokens += rt.ratio\n\tif rt.tokens > rt.max {\n\t\trt.tokens = rt.max\n\t}\n}\n\n// ErrClientConnTimeout indicates that the ClientConn cannot establish the\n// underlying connections within the specified timeout.\n//\n// Deprecated: This error is never returned by grpc and should not be\n// referenced by users.\nvar ErrClientConnTimeout = errors.New(\"grpc: timed out when dialing\")\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/codec.go",
    "content": "/*\n *\n * Copyright 2014 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage grpc\n\nimport (\n\t\"google.golang.org/grpc/encoding\"\n\t_ \"google.golang.org/grpc/encoding/proto\" // to register the Codec for \"proto\"\n)\n\n// baseCodec contains the functionality of both Codec and encoding.Codec, but\n// omits the name/string, which vary between the two and are not needed for\n// anything besides the registry in the encoding package.\ntype baseCodec interface {\n\tMarshal(v interface{}) ([]byte, error)\n\tUnmarshal(data []byte, v interface{}) error\n}\n\nvar _ baseCodec = Codec(nil)\nvar _ baseCodec = encoding.Codec(nil)\n\n// Codec defines the interface gRPC uses to encode and decode messages.\n// Note that implementations of this interface must be thread safe;\n// a Codec's methods can be called from concurrent goroutines.\n//\n// Deprecated: use encoding.Codec instead.\ntype Codec interface {\n\t// Marshal returns the wire format of v.\n\tMarshal(v interface{}) ([]byte, error)\n\t// Unmarshal parses the wire format into v.\n\tUnmarshal(data []byte, v interface{}) error\n\t// String returns the name of the Codec implementation.  This is unused by\n\t// gRPC.\n\tString() string\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/codegen.sh",
    "content": "#!/usr/bin/env bash\n\n# This script serves as an example to demonstrate how to generate the gRPC-Go\n# interface and the related messages from .proto file.\n#\n# It assumes the installation of i) Google proto buffer compiler at\n# https://github.com/google/protobuf (after v2.6.1) and ii) the Go codegen\n# plugin at https://github.com/golang/protobuf (after 2015-02-20). If you have\n# not, please install them first.\n#\n# We recommend running this script at $GOPATH/src.\n#\n# If this is not what you need, feel free to make your own scripts. Again, this\n# script is for demonstration purpose.\n#\nproto=$1\nprotoc --go_out=plugins=grpc:. $proto\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/codes/code_string.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage codes\n\nimport \"strconv\"\n\nfunc (c Code) String() string {\n\tswitch c {\n\tcase OK:\n\t\treturn \"OK\"\n\tcase Canceled:\n\t\treturn \"Canceled\"\n\tcase Unknown:\n\t\treturn \"Unknown\"\n\tcase InvalidArgument:\n\t\treturn \"InvalidArgument\"\n\tcase DeadlineExceeded:\n\t\treturn \"DeadlineExceeded\"\n\tcase NotFound:\n\t\treturn \"NotFound\"\n\tcase AlreadyExists:\n\t\treturn \"AlreadyExists\"\n\tcase PermissionDenied:\n\t\treturn \"PermissionDenied\"\n\tcase ResourceExhausted:\n\t\treturn \"ResourceExhausted\"\n\tcase FailedPrecondition:\n\t\treturn \"FailedPrecondition\"\n\tcase Aborted:\n\t\treturn \"Aborted\"\n\tcase OutOfRange:\n\t\treturn \"OutOfRange\"\n\tcase Unimplemented:\n\t\treturn \"Unimplemented\"\n\tcase Internal:\n\t\treturn \"Internal\"\n\tcase Unavailable:\n\t\treturn \"Unavailable\"\n\tcase DataLoss:\n\t\treturn \"DataLoss\"\n\tcase Unauthenticated:\n\t\treturn \"Unauthenticated\"\n\tdefault:\n\t\treturn \"Code(\" + strconv.FormatInt(int64(c), 10) + \")\"\n\t}\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/codes/codes.go",
    "content": "/*\n *\n * Copyright 2014 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n// Package codes defines the canonical error codes used by gRPC. It is\n// consistent across various languages.\npackage codes // import \"google.golang.org/grpc/codes\"\n\nimport (\n\t\"fmt\"\n\t\"strconv\"\n)\n\n// A Code is an unsigned 32-bit error code as defined in the gRPC spec.\ntype Code uint32\n\nconst (\n\t// OK is returned on success.\n\tOK Code = 0\n\n\t// Canceled indicates the operation was canceled (typically by the caller).\n\tCanceled Code = 1\n\n\t// Unknown error. An example of where this error may be returned is\n\t// if a Status value received from another address space belongs to\n\t// an error-space that is not known in this address space. Also\n\t// errors raised by APIs that do not return enough error information\n\t// may be converted to this error.\n\tUnknown Code = 2\n\n\t// InvalidArgument indicates client specified an invalid argument.\n\t// Note that this differs from FailedPrecondition. It indicates arguments\n\t// that are problematic regardless of the state of the system\n\t// (e.g., a malformed file name).\n\tInvalidArgument Code = 3\n\n\t// DeadlineExceeded means operation expired before completion.\n\t// For operations that change the state of the system, this error may be\n\t// returned even if the operation has completed successfully. For\n\t// example, a successful response from a server could have been delayed\n\t// long enough for the deadline to expire.\n\tDeadlineExceeded Code = 4\n\n\t// NotFound means some requested entity (e.g., file or directory) was\n\t// not found.\n\tNotFound Code = 5\n\n\t// AlreadyExists means an attempt to create an entity failed because one\n\t// already exists.\n\tAlreadyExists Code = 6\n\n\t// PermissionDenied indicates the caller does not have permission to\n\t// execute the specified operation. It must not be used for rejections\n\t// caused by exhausting some resource (use ResourceExhausted\n\t// instead for those errors). It must not be\n\t// used if the caller cannot be identified (use Unauthenticated\n\t// instead for those errors).\n\tPermissionDenied Code = 7\n\n\t// ResourceExhausted indicates some resource has been exhausted, perhaps\n\t// a per-user quota, or perhaps the entire file system is out of space.\n\tResourceExhausted Code = 8\n\n\t// FailedPrecondition indicates operation was rejected because the\n\t// system is not in a state required for the operation's execution.\n\t// For example, directory to be deleted may be non-empty, an rmdir\n\t// operation is applied to a non-directory, etc.\n\t//\n\t// A litmus test that may help a service implementor in deciding\n\t// between FailedPrecondition, Aborted, and Unavailable:\n\t//  (a) Use Unavailable if the client can retry just the failing call.\n\t//  (b) Use Aborted if the client should retry at a higher-level\n\t//      (e.g., restarting a read-modify-write sequence).\n\t//  (c) Use FailedPrecondition if the client should not retry until\n\t//      the system state has been explicitly fixed. E.g., if an \"rmdir\"\n\t//      fails because the directory is non-empty, FailedPrecondition\n\t//      should be returned since the client should not retry unless\n\t//      they have first fixed up the directory by deleting files from it.\n\t//  (d) Use FailedPrecondition if the client performs conditional\n\t//      REST Get/Update/Delete on a resource and the resource on the\n\t//      server does not match the condition. E.g., conflicting\n\t//      read-modify-write on the same resource.\n\tFailedPrecondition Code = 9\n\n\t// Aborted indicates the operation was aborted, typically due to a\n\t// concurrency issue like sequencer check failures, transaction aborts,\n\t// etc.\n\t//\n\t// See litmus test above for deciding between FailedPrecondition,\n\t// Aborted, and Unavailable.\n\tAborted Code = 10\n\n\t// OutOfRange means operation was attempted past the valid range.\n\t// E.g., seeking or reading past end of file.\n\t//\n\t// Unlike InvalidArgument, this error indicates a problem that may\n\t// be fixed if the system state changes. For example, a 32-bit file\n\t// system will generate InvalidArgument if asked to read at an\n\t// offset that is not in the range [0,2^32-1], but it will generate\n\t// OutOfRange if asked to read from an offset past the current\n\t// file size.\n\t//\n\t// There is a fair bit of overlap between FailedPrecondition and\n\t// OutOfRange. We recommend using OutOfRange (the more specific\n\t// error) when it applies so that callers who are iterating through\n\t// a space can easily look for an OutOfRange error to detect when\n\t// they are done.\n\tOutOfRange Code = 11\n\n\t// Unimplemented indicates operation is not implemented or not\n\t// supported/enabled in this service.\n\tUnimplemented Code = 12\n\n\t// Internal errors. Means some invariants expected by underlying\n\t// system has been broken. If you see one of these errors,\n\t// something is very broken.\n\tInternal Code = 13\n\n\t// Unavailable indicates the service is currently unavailable.\n\t// This is a most likely a transient condition and may be corrected\n\t// by retrying with a backoff.\n\t//\n\t// See litmus test above for deciding between FailedPrecondition,\n\t// Aborted, and Unavailable.\n\tUnavailable Code = 14\n\n\t// DataLoss indicates unrecoverable data loss or corruption.\n\tDataLoss Code = 15\n\n\t// Unauthenticated indicates the request does not have valid\n\t// authentication credentials for the operation.\n\tUnauthenticated Code = 16\n\n\t_maxCode = 17\n)\n\nvar strToCode = map[string]Code{\n\t`\"OK\"`: OK,\n\t`\"CANCELLED\"`:/* [sic] */ Canceled,\n\t`\"UNKNOWN\"`:             Unknown,\n\t`\"INVALID_ARGUMENT\"`:    InvalidArgument,\n\t`\"DEADLINE_EXCEEDED\"`:   DeadlineExceeded,\n\t`\"NOT_FOUND\"`:           NotFound,\n\t`\"ALREADY_EXISTS\"`:      AlreadyExists,\n\t`\"PERMISSION_DENIED\"`:   PermissionDenied,\n\t`\"RESOURCE_EXHAUSTED\"`:  ResourceExhausted,\n\t`\"FAILED_PRECONDITION\"`: FailedPrecondition,\n\t`\"ABORTED\"`:             Aborted,\n\t`\"OUT_OF_RANGE\"`:        OutOfRange,\n\t`\"UNIMPLEMENTED\"`:       Unimplemented,\n\t`\"INTERNAL\"`:            Internal,\n\t`\"UNAVAILABLE\"`:         Unavailable,\n\t`\"DATA_LOSS\"`:           DataLoss,\n\t`\"UNAUTHENTICATED\"`:     Unauthenticated,\n}\n\n// UnmarshalJSON unmarshals b into the Code.\nfunc (c *Code) UnmarshalJSON(b []byte) error {\n\t// From json.Unmarshaler: By convention, to approximate the behavior of\n\t// Unmarshal itself, Unmarshalers implement UnmarshalJSON([]byte(\"null\")) as\n\t// a no-op.\n\tif string(b) == \"null\" {\n\t\treturn nil\n\t}\n\tif c == nil {\n\t\treturn fmt.Errorf(\"nil receiver passed to UnmarshalJSON\")\n\t}\n\n\tif ci, err := strconv.ParseUint(string(b), 10, 32); err == nil {\n\t\tif ci >= _maxCode {\n\t\t\treturn fmt.Errorf(\"invalid code: %q\", ci)\n\t\t}\n\n\t\t*c = Code(ci)\n\t\treturn nil\n\t}\n\n\tif jc, ok := strToCode[string(b)]; ok {\n\t\t*c = jc\n\t\treturn nil\n\t}\n\treturn fmt.Errorf(\"invalid code: %q\", string(b))\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/connectivity/connectivity.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n// Package connectivity defines connectivity semantics.\n// For details, see https://github.com/grpc/grpc/blob/master/doc/connectivity-semantics-and-api.md.\n// All APIs in this package are experimental.\npackage connectivity\n\nimport (\n\t\"golang.org/x/net/context\"\n\t\"google.golang.org/grpc/grpclog\"\n)\n\n// State indicates the state of connectivity.\n// It can be the state of a ClientConn or SubConn.\ntype State int\n\nfunc (s State) String() string {\n\tswitch s {\n\tcase Idle:\n\t\treturn \"IDLE\"\n\tcase Connecting:\n\t\treturn \"CONNECTING\"\n\tcase Ready:\n\t\treturn \"READY\"\n\tcase TransientFailure:\n\t\treturn \"TRANSIENT_FAILURE\"\n\tcase Shutdown:\n\t\treturn \"SHUTDOWN\"\n\tdefault:\n\t\tgrpclog.Errorf(\"unknown connectivity state: %d\", s)\n\t\treturn \"Invalid-State\"\n\t}\n}\n\nconst (\n\t// Idle indicates the ClientConn is idle.\n\tIdle State = iota\n\t// Connecting indicates the ClienConn is connecting.\n\tConnecting\n\t// Ready indicates the ClientConn is ready for work.\n\tReady\n\t// TransientFailure indicates the ClientConn has seen a failure but expects to recover.\n\tTransientFailure\n\t// Shutdown indicates the ClientConn has started shutting down.\n\tShutdown\n)\n\n// Reporter reports the connectivity states.\ntype Reporter interface {\n\t// CurrentState returns the current state of the reporter.\n\tCurrentState() State\n\t// WaitForStateChange blocks until the reporter's state is different from the given state,\n\t// and returns true.\n\t// It returns false if <-ctx.Done() can proceed (ctx got timeout or got canceled).\n\tWaitForStateChange(context.Context, State) bool\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/credentials/credentials.go",
    "content": "/*\n *\n * Copyright 2014 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n// Package credentials implements various credentials supported by gRPC library,\n// which encapsulate all the state needed by a client to authenticate with a\n// server and make various assertions, e.g., about the client's identity, role,\n// or whether it is authorized to make a particular call.\npackage credentials // import \"google.golang.org/grpc/credentials\"\n\nimport (\n\t\"crypto/tls\"\n\t\"crypto/x509\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io/ioutil\"\n\t\"net\"\n\t\"strings\"\n\n\t\"github.com/golang/protobuf/proto\"\n\t\"golang.org/x/net/context\"\n)\n\n// alpnProtoStr are the specified application level protocols for gRPC.\nvar alpnProtoStr = []string{\"h2\"}\n\n// PerRPCCredentials defines the common interface for the credentials which need to\n// attach security information to every RPC (e.g., oauth2).\ntype PerRPCCredentials interface {\n\t// GetRequestMetadata gets the current request metadata, refreshing\n\t// tokens if required. This should be called by the transport layer on\n\t// each request, and the data should be populated in headers or other\n\t// context. If a status code is returned, it will be used as the status\n\t// for the RPC. uri is the URI of the entry point for the request.\n\t// When supported by the underlying implementation, ctx can be used for\n\t// timeout and cancellation.\n\t// TODO(zhaoq): Define the set of the qualified keys instead of leaving\n\t// it as an arbitrary string.\n\tGetRequestMetadata(ctx context.Context, uri ...string) (map[string]string, error)\n\t// RequireTransportSecurity indicates whether the credentials requires\n\t// transport security.\n\tRequireTransportSecurity() bool\n}\n\n// ProtocolInfo provides information regarding the gRPC wire protocol version,\n// security protocol, security protocol version in use, server name, etc.\ntype ProtocolInfo struct {\n\t// ProtocolVersion is the gRPC wire protocol version.\n\tProtocolVersion string\n\t// SecurityProtocol is the security protocol in use.\n\tSecurityProtocol string\n\t// SecurityVersion is the security protocol version.\n\tSecurityVersion string\n\t// ServerName is the user-configured server name.\n\tServerName string\n}\n\n// AuthInfo defines the common interface for the auth information the users are interested in.\ntype AuthInfo interface {\n\tAuthType() string\n}\n\n// ErrConnDispatched indicates that rawConn has been dispatched out of gRPC\n// and the caller should not close rawConn.\nvar ErrConnDispatched = errors.New(\"credentials: rawConn is dispatched out of gRPC\")\n\n// TransportCredentials defines the common interface for all the live gRPC wire\n// protocols and supported transport security protocols (e.g., TLS, SSL).\ntype TransportCredentials interface {\n\t// ClientHandshake does the authentication handshake specified by the corresponding\n\t// authentication protocol on rawConn for clients. It returns the authenticated\n\t// connection and the corresponding auth information about the connection.\n\t// Implementations must use the provided context to implement timely cancellation.\n\t// gRPC will try to reconnect if the error returned is a temporary error\n\t// (io.EOF, context.DeadlineExceeded or err.Temporary() == true).\n\t// If the returned error is a wrapper error, implementations should make sure that\n\t// the error implements Temporary() to have the correct retry behaviors.\n\t//\n\t// If the returned net.Conn is closed, it MUST close the net.Conn provided.\n\tClientHandshake(context.Context, string, net.Conn) (net.Conn, AuthInfo, error)\n\t// ServerHandshake does the authentication handshake for servers. It returns\n\t// the authenticated connection and the corresponding auth information about\n\t// the connection.\n\t//\n\t// If the returned net.Conn is closed, it MUST close the net.Conn provided.\n\tServerHandshake(net.Conn) (net.Conn, AuthInfo, error)\n\t// Info provides the ProtocolInfo of this TransportCredentials.\n\tInfo() ProtocolInfo\n\t// Clone makes a copy of this TransportCredentials.\n\tClone() TransportCredentials\n\t// OverrideServerName overrides the server name used to verify the hostname on the returned certificates from the server.\n\t// gRPC internals also use it to override the virtual hosting name if it is set.\n\t// It must be called before dialing. Currently, this is only used by grpclb.\n\tOverrideServerName(string) error\n}\n\n// TLSInfo contains the auth information for a TLS authenticated connection.\n// It implements the AuthInfo interface.\ntype TLSInfo struct {\n\tState tls.ConnectionState\n}\n\n// AuthType returns the type of TLSInfo as a string.\nfunc (t TLSInfo) AuthType() string {\n\treturn \"tls\"\n}\n\n// GetChannelzSecurityValue returns security info requested by channelz.\nfunc (t TLSInfo) GetChannelzSecurityValue() ChannelzSecurityValue {\n\tv := &TLSChannelzSecurityValue{\n\t\tStandardName: cipherSuiteLookup[t.State.CipherSuite],\n\t}\n\t// Currently there's no way to get LocalCertificate info from tls package.\n\tif len(t.State.PeerCertificates) > 0 {\n\t\tv.RemoteCertificate = t.State.PeerCertificates[0].Raw\n\t}\n\treturn v\n}\n\n// tlsCreds is the credentials required for authenticating a connection using TLS.\ntype tlsCreds struct {\n\t// TLS configuration\n\tconfig *tls.Config\n}\n\nfunc (c tlsCreds) Info() ProtocolInfo {\n\treturn ProtocolInfo{\n\t\tSecurityProtocol: \"tls\",\n\t\tSecurityVersion:  \"1.2\",\n\t\tServerName:       c.config.ServerName,\n\t}\n}\n\nfunc (c *tlsCreds) ClientHandshake(ctx context.Context, authority string, rawConn net.Conn) (_ net.Conn, _ AuthInfo, err error) {\n\t// use local cfg to avoid clobbering ServerName if using multiple endpoints\n\tcfg := cloneTLSConfig(c.config)\n\tif cfg.ServerName == \"\" {\n\t\tcolonPos := strings.LastIndex(authority, \":\")\n\t\tif colonPos == -1 {\n\t\t\tcolonPos = len(authority)\n\t\t}\n\t\tcfg.ServerName = authority[:colonPos]\n\t}\n\tconn := tls.Client(rawConn, cfg)\n\terrChannel := make(chan error, 1)\n\tgo func() {\n\t\terrChannel <- conn.Handshake()\n\t}()\n\tselect {\n\tcase err := <-errChannel:\n\t\tif err != nil {\n\t\t\treturn nil, nil, err\n\t\t}\n\tcase <-ctx.Done():\n\t\treturn nil, nil, ctx.Err()\n\t}\n\treturn tlsConn{Conn: conn, rawConn: rawConn}, TLSInfo{conn.ConnectionState()}, nil\n}\n\nfunc (c *tlsCreds) ServerHandshake(rawConn net.Conn) (net.Conn, AuthInfo, error) {\n\tconn := tls.Server(rawConn, c.config)\n\tif err := conn.Handshake(); err != nil {\n\t\treturn nil, nil, err\n\t}\n\treturn tlsConn{Conn: conn, rawConn: rawConn}, TLSInfo{conn.ConnectionState()}, nil\n}\n\nfunc (c *tlsCreds) Clone() TransportCredentials {\n\treturn NewTLS(c.config)\n}\n\nfunc (c *tlsCreds) OverrideServerName(serverNameOverride string) error {\n\tc.config.ServerName = serverNameOverride\n\treturn nil\n}\n\n// NewTLS uses c to construct a TransportCredentials based on TLS.\nfunc NewTLS(c *tls.Config) TransportCredentials {\n\ttc := &tlsCreds{cloneTLSConfig(c)}\n\ttc.config.NextProtos = alpnProtoStr\n\treturn tc\n}\n\n// NewClientTLSFromCert constructs TLS credentials from the input certificate for client.\n// serverNameOverride is for testing only. If set to a non empty string,\n// it will override the virtual host name of authority (e.g. :authority header field) in requests.\nfunc NewClientTLSFromCert(cp *x509.CertPool, serverNameOverride string) TransportCredentials {\n\treturn NewTLS(&tls.Config{ServerName: serverNameOverride, RootCAs: cp})\n}\n\n// NewClientTLSFromFile constructs TLS credentials from the input certificate file for client.\n// serverNameOverride is for testing only. If set to a non empty string,\n// it will override the virtual host name of authority (e.g. :authority header field) in requests.\nfunc NewClientTLSFromFile(certFile, serverNameOverride string) (TransportCredentials, error) {\n\tb, err := ioutil.ReadFile(certFile)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tcp := x509.NewCertPool()\n\tif !cp.AppendCertsFromPEM(b) {\n\t\treturn nil, fmt.Errorf(\"credentials: failed to append certificates\")\n\t}\n\treturn NewTLS(&tls.Config{ServerName: serverNameOverride, RootCAs: cp}), nil\n}\n\n// NewServerTLSFromCert constructs TLS credentials from the input certificate for server.\nfunc NewServerTLSFromCert(cert *tls.Certificate) TransportCredentials {\n\treturn NewTLS(&tls.Config{Certificates: []tls.Certificate{*cert}})\n}\n\n// NewServerTLSFromFile constructs TLS credentials from the input certificate file and key\n// file for server.\nfunc NewServerTLSFromFile(certFile, keyFile string) (TransportCredentials, error) {\n\tcert, err := tls.LoadX509KeyPair(certFile, keyFile)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn NewTLS(&tls.Config{Certificates: []tls.Certificate{cert}}), nil\n}\n\n// ChannelzSecurityInfo defines the interface that security protocols should implement\n// in order to provide security info to channelz.\ntype ChannelzSecurityInfo interface {\n\tGetSecurityValue() ChannelzSecurityValue\n}\n\n// ChannelzSecurityValue defines the interface that GetSecurityValue() return value\n// should satisfy. This interface should only be satisfied by *TLSChannelzSecurityValue\n// and *OtherChannelzSecurityValue.\ntype ChannelzSecurityValue interface {\n\tisChannelzSecurityValue()\n}\n\n// TLSChannelzSecurityValue defines the struct that TLS protocol should return\n// from GetSecurityValue(), containing security info like cipher and certificate used.\ntype TLSChannelzSecurityValue struct {\n\tStandardName      string\n\tLocalCertificate  []byte\n\tRemoteCertificate []byte\n}\n\nfunc (*TLSChannelzSecurityValue) isChannelzSecurityValue() {}\n\n// OtherChannelzSecurityValue defines the struct that non-TLS protocol should return\n// from GetSecurityValue(), which contains protocol specific security info. Note\n// the Value field will be sent to users of channelz requesting channel info, and\n// thus sensitive info should better be avoided.\ntype OtherChannelzSecurityValue struct {\n\tName  string\n\tValue proto.Message\n}\n\nfunc (*OtherChannelzSecurityValue) isChannelzSecurityValue() {}\n\ntype tlsConn struct {\n\t*tls.Conn\n\trawConn net.Conn\n}\n\nvar cipherSuiteLookup = map[uint16]string{\n\ttls.TLS_RSA_WITH_RC4_128_SHA:                \"TLS_RSA_WITH_RC4_128_SHA\",\n\ttls.TLS_RSA_WITH_3DES_EDE_CBC_SHA:           \"TLS_RSA_WITH_3DES_EDE_CBC_SHA\",\n\ttls.TLS_RSA_WITH_AES_128_CBC_SHA:            \"TLS_RSA_WITH_AES_128_CBC_SHA\",\n\ttls.TLS_RSA_WITH_AES_256_CBC_SHA:            \"TLS_RSA_WITH_AES_256_CBC_SHA\",\n\ttls.TLS_RSA_WITH_AES_128_GCM_SHA256:         \"TLS_RSA_WITH_AES_128_GCM_SHA256\",\n\ttls.TLS_RSA_WITH_AES_256_GCM_SHA384:         \"TLS_RSA_WITH_AES_256_GCM_SHA384\",\n\ttls.TLS_ECDHE_ECDSA_WITH_RC4_128_SHA:        \"TLS_ECDHE_ECDSA_WITH_RC4_128_SHA\",\n\ttls.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA:    \"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA\",\n\ttls.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA:    \"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA\",\n\ttls.TLS_ECDHE_RSA_WITH_RC4_128_SHA:          \"TLS_ECDHE_RSA_WITH_RC4_128_SHA\",\n\ttls.TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA:     \"TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA\",\n\ttls.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA:      \"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA\",\n\ttls.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA:      \"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA\",\n\ttls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256:   \"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256\",\n\ttls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256: \"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256\",\n\ttls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384:   \"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384\",\n\ttls.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384: \"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384\",\n\ttls.TLS_FALLBACK_SCSV:                       \"TLS_FALLBACK_SCSV\",\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/credentials/go16.go",
    "content": "// +build !go1.7\n\n/*\n *\n * Copyright 2016 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage credentials\n\nimport (\n\t\"crypto/tls\"\n)\n\n// cloneTLSConfig returns a shallow clone of the exported\n// fields of cfg, ignoring the unexported sync.Once, which\n// contains a mutex and must not be copied.\n//\n// If cfg is nil, a new zero tls.Config is returned.\nfunc cloneTLSConfig(cfg *tls.Config) *tls.Config {\n\tif cfg == nil {\n\t\treturn &tls.Config{}\n\t}\n\treturn &tls.Config{\n\t\tRand:                     cfg.Rand,\n\t\tTime:                     cfg.Time,\n\t\tCertificates:             cfg.Certificates,\n\t\tNameToCertificate:        cfg.NameToCertificate,\n\t\tGetCertificate:           cfg.GetCertificate,\n\t\tRootCAs:                  cfg.RootCAs,\n\t\tNextProtos:               cfg.NextProtos,\n\t\tServerName:               cfg.ServerName,\n\t\tClientAuth:               cfg.ClientAuth,\n\t\tClientCAs:                cfg.ClientCAs,\n\t\tInsecureSkipVerify:       cfg.InsecureSkipVerify,\n\t\tCipherSuites:             cfg.CipherSuites,\n\t\tPreferServerCipherSuites: cfg.PreferServerCipherSuites,\n\t\tSessionTicketsDisabled:   cfg.SessionTicketsDisabled,\n\t\tSessionTicketKey:         cfg.SessionTicketKey,\n\t\tClientSessionCache:       cfg.ClientSessionCache,\n\t\tMinVersion:               cfg.MinVersion,\n\t\tMaxVersion:               cfg.MaxVersion,\n\t\tCurvePreferences:         cfg.CurvePreferences,\n\t}\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/credentials/go17.go",
    "content": "// +build go1.7,!go1.8\n\n/*\n *\n * Copyright 2016 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage credentials\n\nimport (\n\t\"crypto/tls\"\n)\n\n// cloneTLSConfig returns a shallow clone of the exported\n// fields of cfg, ignoring the unexported sync.Once, which\n// contains a mutex and must not be copied.\n//\n// If cfg is nil, a new zero tls.Config is returned.\nfunc cloneTLSConfig(cfg *tls.Config) *tls.Config {\n\tif cfg == nil {\n\t\treturn &tls.Config{}\n\t}\n\treturn &tls.Config{\n\t\tRand:                        cfg.Rand,\n\t\tTime:                        cfg.Time,\n\t\tCertificates:                cfg.Certificates,\n\t\tNameToCertificate:           cfg.NameToCertificate,\n\t\tGetCertificate:              cfg.GetCertificate,\n\t\tRootCAs:                     cfg.RootCAs,\n\t\tNextProtos:                  cfg.NextProtos,\n\t\tServerName:                  cfg.ServerName,\n\t\tClientAuth:                  cfg.ClientAuth,\n\t\tClientCAs:                   cfg.ClientCAs,\n\t\tInsecureSkipVerify:          cfg.InsecureSkipVerify,\n\t\tCipherSuites:                cfg.CipherSuites,\n\t\tPreferServerCipherSuites:    cfg.PreferServerCipherSuites,\n\t\tSessionTicketsDisabled:      cfg.SessionTicketsDisabled,\n\t\tSessionTicketKey:            cfg.SessionTicketKey,\n\t\tClientSessionCache:          cfg.ClientSessionCache,\n\t\tMinVersion:                  cfg.MinVersion,\n\t\tMaxVersion:                  cfg.MaxVersion,\n\t\tCurvePreferences:            cfg.CurvePreferences,\n\t\tDynamicRecordSizingDisabled: cfg.DynamicRecordSizingDisabled,\n\t\tRenegotiation:               cfg.Renegotiation,\n\t}\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/credentials/go18.go",
    "content": "// +build go1.8\n\n/*\n *\n * Copyright 2017 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage credentials\n\nimport (\n\t\"crypto/tls\"\n)\n\nfunc init() {\n\tcipherSuiteLookup[tls.TLS_RSA_WITH_AES_128_CBC_SHA256] = \"TLS_RSA_WITH_AES_128_CBC_SHA256\"\n\tcipherSuiteLookup[tls.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256] = \"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256\"\n\tcipherSuiteLookup[tls.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256] = \"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256\"\n\tcipherSuiteLookup[tls.TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305] = \"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305\"\n\tcipherSuiteLookup[tls.TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305] = \"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305\"\n}\n\n// cloneTLSConfig returns a shallow clone of the exported\n// fields of cfg, ignoring the unexported sync.Once, which\n// contains a mutex and must not be copied.\n//\n// If cfg is nil, a new zero tls.Config is returned.\nfunc cloneTLSConfig(cfg *tls.Config) *tls.Config {\n\tif cfg == nil {\n\t\treturn &tls.Config{}\n\t}\n\n\treturn cfg.Clone()\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/credentials/go19.go",
    "content": "// +build go1.9,!appengine\n\n/*\n *\n * Copyright 2018 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage credentials\n\nimport (\n\t\"errors\"\n\t\"syscall\"\n)\n\n// implements the syscall.Conn interface\nfunc (c tlsConn) SyscallConn() (syscall.RawConn, error) {\n\tconn, ok := c.rawConn.(syscall.Conn)\n\tif !ok {\n\t\treturn nil, errors.New(\"RawConn does not implement syscall.Conn\")\n\t}\n\treturn conn.SyscallConn()\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/dialoptions.go",
    "content": "/*\n *\n * Copyright 2018 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage grpc\n\nimport (\n\t\"fmt\"\n\t\"net\"\n\t\"time\"\n\n\t\"golang.org/x/net/context\"\n\t\"google.golang.org/grpc/balancer\"\n\t\"google.golang.org/grpc/credentials\"\n\t\"google.golang.org/grpc/internal\"\n\t\"google.golang.org/grpc/internal/backoff\"\n\t\"google.golang.org/grpc/internal/envconfig\"\n\t\"google.golang.org/grpc/internal/transport\"\n\t\"google.golang.org/grpc/keepalive\"\n\t\"google.golang.org/grpc/resolver\"\n\t\"google.golang.org/grpc/stats\"\n)\n\n// dialOptions configure a Dial call. dialOptions are set by the DialOption\n// values passed to Dial.\ntype dialOptions struct {\n\tunaryInt    UnaryClientInterceptor\n\tstreamInt   StreamClientInterceptor\n\tcp          Compressor\n\tdc          Decompressor\n\tbs          backoff.Strategy\n\tblock       bool\n\tinsecure    bool\n\ttimeout     time.Duration\n\tscChan      <-chan ServiceConfig\n\tauthority   string\n\tcopts       transport.ConnectOptions\n\tcallOptions []CallOption\n\t// This is used by v1 balancer dial option WithBalancer to support v1\n\t// balancer, and also by WithBalancerName dial option.\n\tbalancerBuilder balancer.Builder\n\t// This is to support grpclb.\n\tresolverBuilder      resolver.Builder\n\twaitForHandshake     bool\n\tchannelzParentID     int64\n\tdisableServiceConfig bool\n\tdisableRetry         bool\n}\n\n// DialOption configures how we set up the connection.\ntype DialOption interface {\n\tapply(*dialOptions)\n}\n\n// EmptyDialOption does not alter the dial configuration. It can be embedded in\n// another structure to build custom dial options.\n//\n// This API is EXPERIMENTAL.\ntype EmptyDialOption struct{}\n\nfunc (EmptyDialOption) apply(*dialOptions) {}\n\n// funcDialOption wraps a function that modifies dialOptions into an\n// implementation of the DialOption interface.\ntype funcDialOption struct {\n\tf func(*dialOptions)\n}\n\nfunc (fdo *funcDialOption) apply(do *dialOptions) {\n\tfdo.f(do)\n}\n\nfunc newFuncDialOption(f func(*dialOptions)) *funcDialOption {\n\treturn &funcDialOption{\n\t\tf: f,\n\t}\n}\n\n// WithWaitForHandshake blocks until the initial settings frame is received from\n// the server before assigning RPCs to the connection. Experimental API.\nfunc WithWaitForHandshake() DialOption {\n\treturn newFuncDialOption(func(o *dialOptions) {\n\t\to.waitForHandshake = true\n\t})\n}\n\n// WithWriteBufferSize determines how much data can be batched before doing a\n// write on the wire. The corresponding memory allocation for this buffer will\n// be twice the size to keep syscalls low. The default value for this buffer is\n// 32KB.\n//\n// Zero will disable the write buffer such that each write will be on underlying\n// connection. Note: A Send call may not directly translate to a write.\nfunc WithWriteBufferSize(s int) DialOption {\n\treturn newFuncDialOption(func(o *dialOptions) {\n\t\to.copts.WriteBufferSize = s\n\t})\n}\n\n// WithReadBufferSize lets you set the size of read buffer, this determines how\n// much data can be read at most for each read syscall.\n//\n// The default value for this buffer is 32KB. Zero will disable read buffer for\n// a connection so data framer can access the underlying conn directly.\nfunc WithReadBufferSize(s int) DialOption {\n\treturn newFuncDialOption(func(o *dialOptions) {\n\t\to.copts.ReadBufferSize = s\n\t})\n}\n\n// WithInitialWindowSize returns a DialOption which sets the value for initial\n// window size on a stream. The lower bound for window size is 64K and any value\n// smaller than that will be ignored.\nfunc WithInitialWindowSize(s int32) DialOption {\n\treturn newFuncDialOption(func(o *dialOptions) {\n\t\to.copts.InitialWindowSize = s\n\t})\n}\n\n// WithInitialConnWindowSize returns a DialOption which sets the value for\n// initial window size on a connection. The lower bound for window size is 64K\n// and any value smaller than that will be ignored.\nfunc WithInitialConnWindowSize(s int32) DialOption {\n\treturn newFuncDialOption(func(o *dialOptions) {\n\t\to.copts.InitialConnWindowSize = s\n\t})\n}\n\n// WithMaxMsgSize returns a DialOption which sets the maximum message size the\n// client can receive.\n//\n// Deprecated: use WithDefaultCallOptions(MaxCallRecvMsgSize(s)) instead.\nfunc WithMaxMsgSize(s int) DialOption {\n\treturn WithDefaultCallOptions(MaxCallRecvMsgSize(s))\n}\n\n// WithDefaultCallOptions returns a DialOption which sets the default\n// CallOptions for calls over the connection.\nfunc WithDefaultCallOptions(cos ...CallOption) DialOption {\n\treturn newFuncDialOption(func(o *dialOptions) {\n\t\to.callOptions = append(o.callOptions, cos...)\n\t})\n}\n\n// WithCodec returns a DialOption which sets a codec for message marshaling and\n// unmarshaling.\n//\n// Deprecated: use WithDefaultCallOptions(CallCustomCodec(c)) instead.\nfunc WithCodec(c Codec) DialOption {\n\treturn WithDefaultCallOptions(CallCustomCodec(c))\n}\n\n// WithCompressor returns a DialOption which sets a Compressor to use for\n// message compression. It has lower priority than the compressor set by the\n// UseCompressor CallOption.\n//\n// Deprecated: use UseCompressor instead.\nfunc WithCompressor(cp Compressor) DialOption {\n\treturn newFuncDialOption(func(o *dialOptions) {\n\t\to.cp = cp\n\t})\n}\n\n// WithDecompressor returns a DialOption which sets a Decompressor to use for\n// incoming message decompression.  If incoming response messages are encoded\n// using the decompressor's Type(), it will be used.  Otherwise, the message\n// encoding will be used to look up the compressor registered via\n// encoding.RegisterCompressor, which will then be used to decompress the\n// message.  If no compressor is registered for the encoding, an Unimplemented\n// status error will be returned.\n//\n// Deprecated: use encoding.RegisterCompressor instead.\nfunc WithDecompressor(dc Decompressor) DialOption {\n\treturn newFuncDialOption(func(o *dialOptions) {\n\t\to.dc = dc\n\t})\n}\n\n// WithBalancer returns a DialOption which sets a load balancer with the v1 API.\n// Name resolver will be ignored if this DialOption is specified.\n//\n// Deprecated: use the new balancer APIs in balancer package and\n// WithBalancerName.\nfunc WithBalancer(b Balancer) DialOption {\n\treturn newFuncDialOption(func(o *dialOptions) {\n\t\to.balancerBuilder = &balancerWrapperBuilder{\n\t\t\tb: b,\n\t\t}\n\t})\n}\n\n// WithBalancerName sets the balancer that the ClientConn will be initialized\n// with. Balancer registered with balancerName will be used. This function\n// panics if no balancer was registered by balancerName.\n//\n// The balancer cannot be overridden by balancer option specified by service\n// config.\n//\n// This is an EXPERIMENTAL API.\nfunc WithBalancerName(balancerName string) DialOption {\n\tbuilder := balancer.Get(balancerName)\n\tif builder == nil {\n\t\tpanic(fmt.Sprintf(\"grpc.WithBalancerName: no balancer is registered for name %v\", balancerName))\n\t}\n\treturn newFuncDialOption(func(o *dialOptions) {\n\t\to.balancerBuilder = builder\n\t})\n}\n\n// withResolverBuilder is only for grpclb.\nfunc withResolverBuilder(b resolver.Builder) DialOption {\n\treturn newFuncDialOption(func(o *dialOptions) {\n\t\to.resolverBuilder = b\n\t})\n}\n\n// WithServiceConfig returns a DialOption which has a channel to read the\n// service configuration.\n//\n// Deprecated: service config should be received through name resolver, as\n// specified here.\n// https://github.com/grpc/grpc/blob/master/doc/service_config.md\nfunc WithServiceConfig(c <-chan ServiceConfig) DialOption {\n\treturn newFuncDialOption(func(o *dialOptions) {\n\t\to.scChan = c\n\t})\n}\n\n// WithBackoffMaxDelay configures the dialer to use the provided maximum delay\n// when backing off after failed connection attempts.\nfunc WithBackoffMaxDelay(md time.Duration) DialOption {\n\treturn WithBackoffConfig(BackoffConfig{MaxDelay: md})\n}\n\n// WithBackoffConfig configures the dialer to use the provided backoff\n// parameters after connection failures.\n//\n// Use WithBackoffMaxDelay until more parameters on BackoffConfig are opened up\n// for use.\nfunc WithBackoffConfig(b BackoffConfig) DialOption {\n\treturn withBackoff(backoff.Exponential{\n\t\tMaxDelay: b.MaxDelay,\n\t})\n}\n\n// withBackoff sets the backoff strategy used for connectRetryNum after a failed\n// connection attempt.\n//\n// This can be exported if arbitrary backoff strategies are allowed by gRPC.\nfunc withBackoff(bs backoff.Strategy) DialOption {\n\treturn newFuncDialOption(func(o *dialOptions) {\n\t\to.bs = bs\n\t})\n}\n\n// WithBlock returns a DialOption which makes caller of Dial blocks until the\n// underlying connection is up. Without this, Dial returns immediately and\n// connecting the server happens in background.\nfunc WithBlock() DialOption {\n\treturn newFuncDialOption(func(o *dialOptions) {\n\t\to.block = true\n\t})\n}\n\n// WithInsecure returns a DialOption which disables transport security for this\n// ClientConn. Note that transport security is required unless WithInsecure is\n// set.\nfunc WithInsecure() DialOption {\n\treturn newFuncDialOption(func(o *dialOptions) {\n\t\to.insecure = true\n\t})\n}\n\n// WithTransportCredentials returns a DialOption which configures a connection\n// level security credentials (e.g., TLS/SSL).\nfunc WithTransportCredentials(creds credentials.TransportCredentials) DialOption {\n\treturn newFuncDialOption(func(o *dialOptions) {\n\t\to.copts.TransportCredentials = creds\n\t})\n}\n\n// WithPerRPCCredentials returns a DialOption which sets credentials and places\n// auth state on each outbound RPC.\nfunc WithPerRPCCredentials(creds credentials.PerRPCCredentials) DialOption {\n\treturn newFuncDialOption(func(o *dialOptions) {\n\t\to.copts.PerRPCCredentials = append(o.copts.PerRPCCredentials, creds)\n\t})\n}\n\n// WithTimeout returns a DialOption that configures a timeout for dialing a\n// ClientConn initially. This is valid if and only if WithBlock() is present.\n//\n// Deprecated: use DialContext and context.WithTimeout instead.\nfunc WithTimeout(d time.Duration) DialOption {\n\treturn newFuncDialOption(func(o *dialOptions) {\n\t\to.timeout = d\n\t})\n}\n\nfunc withContextDialer(f func(context.Context, string) (net.Conn, error)) DialOption {\n\treturn newFuncDialOption(func(o *dialOptions) {\n\t\to.copts.Dialer = f\n\t})\n}\n\nfunc init() {\n\tinternal.WithContextDialer = withContextDialer\n\tinternal.WithResolverBuilder = withResolverBuilder\n}\n\n// WithDialer returns a DialOption that specifies a function to use for dialing\n// network addresses. If FailOnNonTempDialError() is set to true, and an error\n// is returned by f, gRPC checks the error's Temporary() method to decide if it\n// should try to reconnect to the network address.\nfunc WithDialer(f func(string, time.Duration) (net.Conn, error)) DialOption {\n\treturn withContextDialer(\n\t\tfunc(ctx context.Context, addr string) (net.Conn, error) {\n\t\t\tif deadline, ok := ctx.Deadline(); ok {\n\t\t\t\treturn f(addr, deadline.Sub(time.Now()))\n\t\t\t}\n\t\t\treturn f(addr, 0)\n\t\t})\n}\n\n// WithStatsHandler returns a DialOption that specifies the stats handler for\n// all the RPCs and underlying network connections in this ClientConn.\nfunc WithStatsHandler(h stats.Handler) DialOption {\n\treturn newFuncDialOption(func(o *dialOptions) {\n\t\to.copts.StatsHandler = h\n\t})\n}\n\n// FailOnNonTempDialError returns a DialOption that specifies if gRPC fails on\n// non-temporary dial errors. If f is true, and dialer returns a non-temporary\n// error, gRPC will fail the connection to the network address and won't try to\n// reconnect. The default value of FailOnNonTempDialError is false.\n//\n// This is an EXPERIMENTAL API.\nfunc FailOnNonTempDialError(f bool) DialOption {\n\treturn newFuncDialOption(func(o *dialOptions) {\n\t\to.copts.FailOnNonTempDialError = f\n\t})\n}\n\n// WithUserAgent returns a DialOption that specifies a user agent string for all\n// the RPCs.\nfunc WithUserAgent(s string) DialOption {\n\treturn newFuncDialOption(func(o *dialOptions) {\n\t\to.copts.UserAgent = s\n\t})\n}\n\n// WithKeepaliveParams returns a DialOption that specifies keepalive parameters\n// for the client transport.\nfunc WithKeepaliveParams(kp keepalive.ClientParameters) DialOption {\n\treturn newFuncDialOption(func(o *dialOptions) {\n\t\to.copts.KeepaliveParams = kp\n\t})\n}\n\n// WithUnaryInterceptor returns a DialOption that specifies the interceptor for\n// unary RPCs.\nfunc WithUnaryInterceptor(f UnaryClientInterceptor) DialOption {\n\treturn newFuncDialOption(func(o *dialOptions) {\n\t\to.unaryInt = f\n\t})\n}\n\n// WithStreamInterceptor returns a DialOption that specifies the interceptor for\n// streaming RPCs.\nfunc WithStreamInterceptor(f StreamClientInterceptor) DialOption {\n\treturn newFuncDialOption(func(o *dialOptions) {\n\t\to.streamInt = f\n\t})\n}\n\n// WithAuthority returns a DialOption that specifies the value to be used as the\n// :authority pseudo-header. This value only works with WithInsecure and has no\n// effect if TransportCredentials are present.\nfunc WithAuthority(a string) DialOption {\n\treturn newFuncDialOption(func(o *dialOptions) {\n\t\to.authority = a\n\t})\n}\n\n// WithChannelzParentID returns a DialOption that specifies the channelz ID of\n// current ClientConn's parent. This function is used in nested channel creation\n// (e.g. grpclb dial).\nfunc WithChannelzParentID(id int64) DialOption {\n\treturn newFuncDialOption(func(o *dialOptions) {\n\t\to.channelzParentID = id\n\t})\n}\n\n// WithDisableServiceConfig returns a DialOption that causes grpc to ignore any\n// service config provided by the resolver and provides a hint to the resolver\n// to not fetch service configs.\nfunc WithDisableServiceConfig() DialOption {\n\treturn newFuncDialOption(func(o *dialOptions) {\n\t\to.disableServiceConfig = true\n\t})\n}\n\n// WithDisableRetry returns a DialOption that disables retries, even if the\n// service config enables them.  This does not impact transparent retries, which\n// will happen automatically if no data is written to the wire or if the RPC is\n// unprocessed by the remote server.\n//\n// Retry support is currently disabled by default, but will be enabled by\n// default in the future.  Until then, it may be enabled by setting the\n// environment variable \"GRPC_GO_RETRY\" to \"on\".\n//\n// This API is EXPERIMENTAL.\nfunc WithDisableRetry() DialOption {\n\treturn newFuncDialOption(func(o *dialOptions) {\n\t\to.disableRetry = true\n\t})\n}\n\n// WithMaxHeaderListSize returns a DialOption that specifies the maximum\n// (uncompressed) size of header list that the client is prepared to accept.\nfunc WithMaxHeaderListSize(s uint32) DialOption {\n\treturn newFuncDialOption(func(o *dialOptions) {\n\t\to.copts.MaxHeaderListSize = &s\n\t})\n}\n\nfunc defaultDialOptions() dialOptions {\n\treturn dialOptions{\n\t\tdisableRetry: !envconfig.Retry,\n\t\tcopts: transport.ConnectOptions{\n\t\t\tWriteBufferSize: defaultWriteBufSize,\n\t\t\tReadBufferSize:  defaultReadBufSize,\n\t\t},\n\t}\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/doc.go",
    "content": "/*\n *\n * Copyright 2015 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n/*\nPackage grpc implements an RPC system called gRPC.\n\nSee grpc.io for more information about gRPC.\n*/\npackage grpc // import \"google.golang.org/grpc\"\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/encoding/encoding.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n// Package encoding defines the interface for the compressor and codec, and\n// functions to register and retrieve compressors and codecs.\n//\n// This package is EXPERIMENTAL.\npackage encoding\n\nimport (\n\t\"io\"\n\t\"strings\"\n)\n\n// Identity specifies the optional encoding for uncompressed streams.\n// It is intended for grpc internal use only.\nconst Identity = \"identity\"\n\n// Compressor is used for compressing and decompressing when sending or\n// receiving messages.\ntype Compressor interface {\n\t// Compress writes the data written to wc to w after compressing it.  If an\n\t// error occurs while initializing the compressor, that error is returned\n\t// instead.\n\tCompress(w io.Writer) (io.WriteCloser, error)\n\t// Decompress reads data from r, decompresses it, and provides the\n\t// uncompressed data via the returned io.Reader.  If an error occurs while\n\t// initializing the decompressor, that error is returned instead.\n\tDecompress(r io.Reader) (io.Reader, error)\n\t// Name is the name of the compression codec and is used to set the content\n\t// coding header.  The result must be static; the result cannot change\n\t// between calls.\n\tName() string\n}\n\nvar registeredCompressor = make(map[string]Compressor)\n\n// RegisterCompressor registers the compressor with gRPC by its name.  It can\n// be activated when sending an RPC via grpc.UseCompressor().  It will be\n// automatically accessed when receiving a message based on the content coding\n// header.  Servers also use it to send a response with the same encoding as\n// the request.\n//\n// NOTE: this function must only be called during initialization time (i.e. in\n// an init() function), and is not thread-safe.  If multiple Compressors are\n// registered with the same name, the one registered last will take effect.\nfunc RegisterCompressor(c Compressor) {\n\tregisteredCompressor[c.Name()] = c\n}\n\n// GetCompressor returns Compressor for the given compressor name.\nfunc GetCompressor(name string) Compressor {\n\treturn registeredCompressor[name]\n}\n\n// Codec defines the interface gRPC uses to encode and decode messages.  Note\n// that implementations of this interface must be thread safe; a Codec's\n// methods can be called from concurrent goroutines.\ntype Codec interface {\n\t// Marshal returns the wire format of v.\n\tMarshal(v interface{}) ([]byte, error)\n\t// Unmarshal parses the wire format into v.\n\tUnmarshal(data []byte, v interface{}) error\n\t// Name returns the name of the Codec implementation. The returned string\n\t// will be used as part of content type in transmission.  The result must be\n\t// static; the result cannot change between calls.\n\tName() string\n}\n\nvar registeredCodecs = make(map[string]Codec)\n\n// RegisterCodec registers the provided Codec for use with all gRPC clients and\n// servers.\n//\n// The Codec will be stored and looked up by result of its Name() method, which\n// should match the content-subtype of the encoding handled by the Codec.  This\n// is case-insensitive, and is stored and looked up as lowercase.  If the\n// result of calling Name() is an empty string, RegisterCodec will panic. See\n// Content-Type on\n// https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#requests for\n// more details.\n//\n// NOTE: this function must only be called during initialization time (i.e. in\n// an init() function), and is not thread-safe.  If multiple Compressors are\n// registered with the same name, the one registered last will take effect.\nfunc RegisterCodec(codec Codec) {\n\tif codec == nil {\n\t\tpanic(\"cannot register a nil Codec\")\n\t}\n\tcontentSubtype := strings.ToLower(codec.Name())\n\tif contentSubtype == \"\" {\n\t\tpanic(\"cannot register Codec with empty string result for String()\")\n\t}\n\tregisteredCodecs[contentSubtype] = codec\n}\n\n// GetCodec gets a registered Codec by content-subtype, or nil if no Codec is\n// registered for the content-subtype.\n//\n// The content-subtype is expected to be lowercase.\nfunc GetCodec(contentSubtype string) Codec {\n\treturn registeredCodecs[contentSubtype]\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/encoding/proto/proto.go",
    "content": "/*\n *\n * Copyright 2018 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n// Package proto defines the protobuf codec. Importing this package will\n// register the codec.\npackage proto\n\nimport (\n\t\"math\"\n\t\"sync\"\n\n\t\"github.com/golang/protobuf/proto\"\n\t\"google.golang.org/grpc/encoding\"\n)\n\n// Name is the name registered for the proto compressor.\nconst Name = \"proto\"\n\nfunc init() {\n\tencoding.RegisterCodec(codec{})\n}\n\n// codec is a Codec implementation with protobuf. It is the default codec for gRPC.\ntype codec struct{}\n\ntype cachedProtoBuffer struct {\n\tlastMarshaledSize uint32\n\tproto.Buffer\n}\n\nfunc capToMaxInt32(val int) uint32 {\n\tif val > math.MaxInt32 {\n\t\treturn uint32(math.MaxInt32)\n\t}\n\treturn uint32(val)\n}\n\nfunc marshal(v interface{}, cb *cachedProtoBuffer) ([]byte, error) {\n\tprotoMsg := v.(proto.Message)\n\tnewSlice := make([]byte, 0, cb.lastMarshaledSize)\n\n\tcb.SetBuf(newSlice)\n\tcb.Reset()\n\tif err := cb.Marshal(protoMsg); err != nil {\n\t\treturn nil, err\n\t}\n\tout := cb.Bytes()\n\tcb.lastMarshaledSize = capToMaxInt32(len(out))\n\treturn out, nil\n}\n\nfunc (codec) Marshal(v interface{}) ([]byte, error) {\n\tif pm, ok := v.(proto.Marshaler); ok {\n\t\t// object can marshal itself, no need for buffer\n\t\treturn pm.Marshal()\n\t}\n\n\tcb := protoBufferPool.Get().(*cachedProtoBuffer)\n\tout, err := marshal(v, cb)\n\n\t// put back buffer and lose the ref to the slice\n\tcb.SetBuf(nil)\n\tprotoBufferPool.Put(cb)\n\treturn out, err\n}\n\nfunc (codec) Unmarshal(data []byte, v interface{}) error {\n\tprotoMsg := v.(proto.Message)\n\tprotoMsg.Reset()\n\n\tif pu, ok := protoMsg.(proto.Unmarshaler); ok {\n\t\t// object can unmarshal itself, no need for buffer\n\t\treturn pu.Unmarshal(data)\n\t}\n\n\tcb := protoBufferPool.Get().(*cachedProtoBuffer)\n\tcb.SetBuf(data)\n\terr := cb.Unmarshal(protoMsg)\n\tcb.SetBuf(nil)\n\tprotoBufferPool.Put(cb)\n\treturn err\n}\n\nfunc (codec) Name() string {\n\treturn Name\n}\n\nvar protoBufferPool = &sync.Pool{\n\tNew: func() interface{} {\n\t\treturn &cachedProtoBuffer{\n\t\t\tBuffer:            proto.Buffer{},\n\t\t\tlastMarshaledSize: 16,\n\t\t}\n\t},\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/go16.go",
    "content": "// +build go1.6,!go1.7\n\n/*\n *\n * Copyright 2016 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage grpc\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"net\"\n\t\"net/http\"\n\n\t\"golang.org/x/net/context\"\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/internal/transport\"\n\t\"google.golang.org/grpc/status\"\n)\n\n// dialContext connects to the address on the named network.\nfunc dialContext(ctx context.Context, network, address string) (net.Conn, error) {\n\treturn (&net.Dialer{Cancel: ctx.Done()}).Dial(network, address)\n}\n\nfunc sendHTTPRequest(ctx context.Context, req *http.Request, conn net.Conn) error {\n\treq.Cancel = ctx.Done()\n\tif err := req.Write(conn); err != nil {\n\t\treturn fmt.Errorf(\"failed to write the HTTP request: %v\", err)\n\t}\n\treturn nil\n}\n\n// toRPCErr converts an error into an error from the status package.\nfunc toRPCErr(err error) error {\n\tif err == nil || err == io.EOF {\n\t\treturn err\n\t}\n\tif err == io.ErrUnexpectedEOF {\n\t\treturn status.Error(codes.Internal, err.Error())\n\t}\n\tif _, ok := status.FromError(err); ok {\n\t\treturn err\n\t}\n\tswitch e := err.(type) {\n\tcase transport.ConnectionError:\n\t\treturn status.Error(codes.Unavailable, e.Desc)\n\tdefault:\n\t\tswitch err {\n\t\tcase context.DeadlineExceeded:\n\t\t\treturn status.Error(codes.DeadlineExceeded, err.Error())\n\t\tcase context.Canceled:\n\t\t\treturn status.Error(codes.Canceled, err.Error())\n\t\t}\n\t}\n\treturn status.Error(codes.Unknown, err.Error())\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/go17.go",
    "content": "// +build go1.7\n\n/*\n *\n * Copyright 2016 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage grpc\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"io\"\n\t\"net\"\n\t\"net/http\"\n\n\tnetctx \"golang.org/x/net/context\"\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/internal/transport\"\n\t\"google.golang.org/grpc/status\"\n)\n\n// dialContext connects to the address on the named network.\nfunc dialContext(ctx context.Context, network, address string) (net.Conn, error) {\n\treturn (&net.Dialer{}).DialContext(ctx, network, address)\n}\n\nfunc sendHTTPRequest(ctx context.Context, req *http.Request, conn net.Conn) error {\n\treq = req.WithContext(ctx)\n\tif err := req.Write(conn); err != nil {\n\t\treturn fmt.Errorf(\"failed to write the HTTP request: %v\", err)\n\t}\n\treturn nil\n}\n\n// toRPCErr converts an error into an error from the status package.\nfunc toRPCErr(err error) error {\n\tif err == nil || err == io.EOF {\n\t\treturn err\n\t}\n\tif err == io.ErrUnexpectedEOF {\n\t\treturn status.Error(codes.Internal, err.Error())\n\t}\n\tif _, ok := status.FromError(err); ok {\n\t\treturn err\n\t}\n\tswitch e := err.(type) {\n\tcase transport.ConnectionError:\n\t\treturn status.Error(codes.Unavailable, e.Desc)\n\tdefault:\n\t\tswitch err {\n\t\tcase context.DeadlineExceeded, netctx.DeadlineExceeded:\n\t\t\treturn status.Error(codes.DeadlineExceeded, err.Error())\n\t\tcase context.Canceled, netctx.Canceled:\n\t\t\treturn status.Error(codes.Canceled, err.Error())\n\t\t}\n\t}\n\treturn status.Error(codes.Unknown, err.Error())\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/grpclog/grpclog.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n// Package grpclog defines logging for grpc.\n//\n// All logs in transport package only go to verbose level 2.\n// All logs in other packages in grpc are logged in spite of the verbosity level.\n//\n// In the default logger,\n// severity level can be set by environment variable GRPC_GO_LOG_SEVERITY_LEVEL,\n// verbosity level can be set by GRPC_GO_LOG_VERBOSITY_LEVEL.\npackage grpclog // import \"google.golang.org/grpc/grpclog\"\n\nimport \"os\"\n\nvar logger = newLoggerV2()\n\n// V reports whether verbosity level l is at least the requested verbose level.\nfunc V(l int) bool {\n\treturn logger.V(l)\n}\n\n// Info logs to the INFO log.\nfunc Info(args ...interface{}) {\n\tlogger.Info(args...)\n}\n\n// Infof logs to the INFO log. Arguments are handled in the manner of fmt.Printf.\nfunc Infof(format string, args ...interface{}) {\n\tlogger.Infof(format, args...)\n}\n\n// Infoln logs to the INFO log. Arguments are handled in the manner of fmt.Println.\nfunc Infoln(args ...interface{}) {\n\tlogger.Infoln(args...)\n}\n\n// Warning logs to the WARNING log.\nfunc Warning(args ...interface{}) {\n\tlogger.Warning(args...)\n}\n\n// Warningf logs to the WARNING log. Arguments are handled in the manner of fmt.Printf.\nfunc Warningf(format string, args ...interface{}) {\n\tlogger.Warningf(format, args...)\n}\n\n// Warningln logs to the WARNING log. Arguments are handled in the manner of fmt.Println.\nfunc Warningln(args ...interface{}) {\n\tlogger.Warningln(args...)\n}\n\n// Error logs to the ERROR log.\nfunc Error(args ...interface{}) {\n\tlogger.Error(args...)\n}\n\n// Errorf logs to the ERROR log. Arguments are handled in the manner of fmt.Printf.\nfunc Errorf(format string, args ...interface{}) {\n\tlogger.Errorf(format, args...)\n}\n\n// Errorln logs to the ERROR log. Arguments are handled in the manner of fmt.Println.\nfunc Errorln(args ...interface{}) {\n\tlogger.Errorln(args...)\n}\n\n// Fatal logs to the FATAL log. Arguments are handled in the manner of fmt.Print.\n// It calls os.Exit() with exit code 1.\nfunc Fatal(args ...interface{}) {\n\tlogger.Fatal(args...)\n\t// Make sure fatal logs will exit.\n\tos.Exit(1)\n}\n\n// Fatalf logs to the FATAL log. Arguments are handled in the manner of fmt.Printf.\n// It calles os.Exit() with exit code 1.\nfunc Fatalf(format string, args ...interface{}) {\n\tlogger.Fatalf(format, args...)\n\t// Make sure fatal logs will exit.\n\tos.Exit(1)\n}\n\n// Fatalln logs to the FATAL log. Arguments are handled in the manner of fmt.Println.\n// It calle os.Exit()) with exit code 1.\nfunc Fatalln(args ...interface{}) {\n\tlogger.Fatalln(args...)\n\t// Make sure fatal logs will exit.\n\tos.Exit(1)\n}\n\n// Print prints to the logger. Arguments are handled in the manner of fmt.Print.\n//\n// Deprecated: use Info.\nfunc Print(args ...interface{}) {\n\tlogger.Info(args...)\n}\n\n// Printf prints to the logger. Arguments are handled in the manner of fmt.Printf.\n//\n// Deprecated: use Infof.\nfunc Printf(format string, args ...interface{}) {\n\tlogger.Infof(format, args...)\n}\n\n// Println prints to the logger. Arguments are handled in the manner of fmt.Println.\n//\n// Deprecated: use Infoln.\nfunc Println(args ...interface{}) {\n\tlogger.Infoln(args...)\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/grpclog/logger.go",
    "content": "/*\n *\n * Copyright 2015 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage grpclog\n\n// Logger mimics golang's standard Logger as an interface.\n//\n// Deprecated: use LoggerV2.\ntype Logger interface {\n\tFatal(args ...interface{})\n\tFatalf(format string, args ...interface{})\n\tFatalln(args ...interface{})\n\tPrint(args ...interface{})\n\tPrintf(format string, args ...interface{})\n\tPrintln(args ...interface{})\n}\n\n// SetLogger sets the logger that is used in grpc. Call only from\n// init() functions.\n//\n// Deprecated: use SetLoggerV2.\nfunc SetLogger(l Logger) {\n\tlogger = &loggerWrapper{Logger: l}\n}\n\n// loggerWrapper wraps Logger into a LoggerV2.\ntype loggerWrapper struct {\n\tLogger\n}\n\nfunc (g *loggerWrapper) Info(args ...interface{}) {\n\tg.Logger.Print(args...)\n}\n\nfunc (g *loggerWrapper) Infoln(args ...interface{}) {\n\tg.Logger.Println(args...)\n}\n\nfunc (g *loggerWrapper) Infof(format string, args ...interface{}) {\n\tg.Logger.Printf(format, args...)\n}\n\nfunc (g *loggerWrapper) Warning(args ...interface{}) {\n\tg.Logger.Print(args...)\n}\n\nfunc (g *loggerWrapper) Warningln(args ...interface{}) {\n\tg.Logger.Println(args...)\n}\n\nfunc (g *loggerWrapper) Warningf(format string, args ...interface{}) {\n\tg.Logger.Printf(format, args...)\n}\n\nfunc (g *loggerWrapper) Error(args ...interface{}) {\n\tg.Logger.Print(args...)\n}\n\nfunc (g *loggerWrapper) Errorln(args ...interface{}) {\n\tg.Logger.Println(args...)\n}\n\nfunc (g *loggerWrapper) Errorf(format string, args ...interface{}) {\n\tg.Logger.Printf(format, args...)\n}\n\nfunc (g *loggerWrapper) V(l int) bool {\n\t// Returns true for all verbose level.\n\treturn true\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/grpclog/loggerv2.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage grpclog\n\nimport (\n\t\"io\"\n\t\"io/ioutil\"\n\t\"log\"\n\t\"os\"\n\t\"strconv\"\n)\n\n// LoggerV2 does underlying logging work for grpclog.\ntype LoggerV2 interface {\n\t// Info logs to INFO log. Arguments are handled in the manner of fmt.Print.\n\tInfo(args ...interface{})\n\t// Infoln logs to INFO log. Arguments are handled in the manner of fmt.Println.\n\tInfoln(args ...interface{})\n\t// Infof logs to INFO log. Arguments are handled in the manner of fmt.Printf.\n\tInfof(format string, args ...interface{})\n\t// Warning logs to WARNING log. Arguments are handled in the manner of fmt.Print.\n\tWarning(args ...interface{})\n\t// Warningln logs to WARNING log. Arguments are handled in the manner of fmt.Println.\n\tWarningln(args ...interface{})\n\t// Warningf logs to WARNING log. Arguments are handled in the manner of fmt.Printf.\n\tWarningf(format string, args ...interface{})\n\t// Error logs to ERROR log. Arguments are handled in the manner of fmt.Print.\n\tError(args ...interface{})\n\t// Errorln logs to ERROR log. Arguments are handled in the manner of fmt.Println.\n\tErrorln(args ...interface{})\n\t// Errorf logs to ERROR log. Arguments are handled in the manner of fmt.Printf.\n\tErrorf(format string, args ...interface{})\n\t// Fatal logs to ERROR log. Arguments are handled in the manner of fmt.Print.\n\t// gRPC ensures that all Fatal logs will exit with os.Exit(1).\n\t// Implementations may also call os.Exit() with a non-zero exit code.\n\tFatal(args ...interface{})\n\t// Fatalln logs to ERROR log. Arguments are handled in the manner of fmt.Println.\n\t// gRPC ensures that all Fatal logs will exit with os.Exit(1).\n\t// Implementations may also call os.Exit() with a non-zero exit code.\n\tFatalln(args ...interface{})\n\t// Fatalf logs to ERROR log. Arguments are handled in the manner of fmt.Printf.\n\t// gRPC ensures that all Fatal logs will exit with os.Exit(1).\n\t// Implementations may also call os.Exit() with a non-zero exit code.\n\tFatalf(format string, args ...interface{})\n\t// V reports whether verbosity level l is at least the requested verbose level.\n\tV(l int) bool\n}\n\n// SetLoggerV2 sets logger that is used in grpc to a V2 logger.\n// Not mutex-protected, should be called before any gRPC functions.\nfunc SetLoggerV2(l LoggerV2) {\n\tlogger = l\n}\n\nconst (\n\t// infoLog indicates Info severity.\n\tinfoLog int = iota\n\t// warningLog indicates Warning severity.\n\twarningLog\n\t// errorLog indicates Error severity.\n\terrorLog\n\t// fatalLog indicates Fatal severity.\n\tfatalLog\n)\n\n// severityName contains the string representation of each severity.\nvar severityName = []string{\n\tinfoLog:    \"INFO\",\n\twarningLog: \"WARNING\",\n\terrorLog:   \"ERROR\",\n\tfatalLog:   \"FATAL\",\n}\n\n// loggerT is the default logger used by grpclog.\ntype loggerT struct {\n\tm []*log.Logger\n\tv int\n}\n\n// NewLoggerV2 creates a loggerV2 with the provided writers.\n// Fatal logs will be written to errorW, warningW, infoW, followed by exit(1).\n// Error logs will be written to errorW, warningW and infoW.\n// Warning logs will be written to warningW and infoW.\n// Info logs will be written to infoW.\nfunc NewLoggerV2(infoW, warningW, errorW io.Writer) LoggerV2 {\n\treturn NewLoggerV2WithVerbosity(infoW, warningW, errorW, 0)\n}\n\n// NewLoggerV2WithVerbosity creates a loggerV2 with the provided writers and\n// verbosity level.\nfunc NewLoggerV2WithVerbosity(infoW, warningW, errorW io.Writer, v int) LoggerV2 {\n\tvar m []*log.Logger\n\tm = append(m, log.New(infoW, severityName[infoLog]+\": \", log.LstdFlags))\n\tm = append(m, log.New(io.MultiWriter(infoW, warningW), severityName[warningLog]+\": \", log.LstdFlags))\n\tew := io.MultiWriter(infoW, warningW, errorW) // ew will be used for error and fatal.\n\tm = append(m, log.New(ew, severityName[errorLog]+\": \", log.LstdFlags))\n\tm = append(m, log.New(ew, severityName[fatalLog]+\": \", log.LstdFlags))\n\treturn &loggerT{m: m, v: v}\n}\n\n// newLoggerV2 creates a loggerV2 to be used as default logger.\n// All logs are written to stderr.\nfunc newLoggerV2() LoggerV2 {\n\terrorW := ioutil.Discard\n\twarningW := ioutil.Discard\n\tinfoW := ioutil.Discard\n\n\tlogLevel := os.Getenv(\"GRPC_GO_LOG_SEVERITY_LEVEL\")\n\tswitch logLevel {\n\tcase \"\", \"ERROR\", \"error\": // If env is unset, set level to ERROR.\n\t\terrorW = os.Stderr\n\tcase \"WARNING\", \"warning\":\n\t\twarningW = os.Stderr\n\tcase \"INFO\", \"info\":\n\t\tinfoW = os.Stderr\n\t}\n\n\tvar v int\n\tvLevel := os.Getenv(\"GRPC_GO_LOG_VERBOSITY_LEVEL\")\n\tif vl, err := strconv.Atoi(vLevel); err == nil {\n\t\tv = vl\n\t}\n\treturn NewLoggerV2WithVerbosity(infoW, warningW, errorW, v)\n}\n\nfunc (g *loggerT) Info(args ...interface{}) {\n\tg.m[infoLog].Print(args...)\n}\n\nfunc (g *loggerT) Infoln(args ...interface{}) {\n\tg.m[infoLog].Println(args...)\n}\n\nfunc (g *loggerT) Infof(format string, args ...interface{}) {\n\tg.m[infoLog].Printf(format, args...)\n}\n\nfunc (g *loggerT) Warning(args ...interface{}) {\n\tg.m[warningLog].Print(args...)\n}\n\nfunc (g *loggerT) Warningln(args ...interface{}) {\n\tg.m[warningLog].Println(args...)\n}\n\nfunc (g *loggerT) Warningf(format string, args ...interface{}) {\n\tg.m[warningLog].Printf(format, args...)\n}\n\nfunc (g *loggerT) Error(args ...interface{}) {\n\tg.m[errorLog].Print(args...)\n}\n\nfunc (g *loggerT) Errorln(args ...interface{}) {\n\tg.m[errorLog].Println(args...)\n}\n\nfunc (g *loggerT) Errorf(format string, args ...interface{}) {\n\tg.m[errorLog].Printf(format, args...)\n}\n\nfunc (g *loggerT) Fatal(args ...interface{}) {\n\tg.m[fatalLog].Fatal(args...)\n\t// No need to call os.Exit() again because log.Logger.Fatal() calls os.Exit().\n}\n\nfunc (g *loggerT) Fatalln(args ...interface{}) {\n\tg.m[fatalLog].Fatalln(args...)\n\t// No need to call os.Exit() again because log.Logger.Fatal() calls os.Exit().\n}\n\nfunc (g *loggerT) Fatalf(format string, args ...interface{}) {\n\tg.m[fatalLog].Fatalf(format, args...)\n\t// No need to call os.Exit() again because log.Logger.Fatal() calls os.Exit().\n}\n\nfunc (g *loggerT) V(l int) bool {\n\treturn l <= g.v\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/install_gae.sh",
    "content": "#!/bin/bash\n\nTMP=$(mktemp -d /tmp/sdk.XXX) \\\n&& curl -o $TMP.zip \"https://storage.googleapis.com/appengine-sdks/featured/go_appengine_sdk_linux_amd64-1.9.64.zip\" \\\n&& unzip -q $TMP.zip -d $TMP \\\n&& export PATH=\"$PATH:$TMP/go_appengine\"\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/interceptor.go",
    "content": "/*\n *\n * Copyright 2016 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage grpc\n\nimport (\n\t\"golang.org/x/net/context\"\n)\n\n// UnaryInvoker is called by UnaryClientInterceptor to complete RPCs.\ntype UnaryInvoker func(ctx context.Context, method string, req, reply interface{}, cc *ClientConn, opts ...CallOption) error\n\n// UnaryClientInterceptor intercepts the execution of a unary RPC on the client. invoker is the handler to complete the RPC\n// and it is the responsibility of the interceptor to call it.\n// This is an EXPERIMENTAL API.\ntype UnaryClientInterceptor func(ctx context.Context, method string, req, reply interface{}, cc *ClientConn, invoker UnaryInvoker, opts ...CallOption) error\n\n// Streamer is called by StreamClientInterceptor to create a ClientStream.\ntype Streamer func(ctx context.Context, desc *StreamDesc, cc *ClientConn, method string, opts ...CallOption) (ClientStream, error)\n\n// StreamClientInterceptor intercepts the creation of ClientStream. It may return a custom ClientStream to intercept all I/O\n// operations. streamer is the handler to create a ClientStream and it is the responsibility of the interceptor to call it.\n// This is an EXPERIMENTAL API.\ntype StreamClientInterceptor func(ctx context.Context, desc *StreamDesc, cc *ClientConn, method string, streamer Streamer, opts ...CallOption) (ClientStream, error)\n\n// UnaryServerInfo consists of various information about a unary RPC on\n// server side. All per-rpc information may be mutated by the interceptor.\ntype UnaryServerInfo struct {\n\t// Server is the service implementation the user provides. This is read-only.\n\tServer interface{}\n\t// FullMethod is the full RPC method string, i.e., /package.service/method.\n\tFullMethod string\n}\n\n// UnaryHandler defines the handler invoked by UnaryServerInterceptor to complete the normal\n// execution of a unary RPC. If a UnaryHandler returns an error, it should be produced by the\n// status package, or else gRPC will use codes.Unknown as the status code and err.Error() as\n// the status message of the RPC.\ntype UnaryHandler func(ctx context.Context, req interface{}) (interface{}, error)\n\n// UnaryServerInterceptor provides a hook to intercept the execution of a unary RPC on the server. info\n// contains all the information of this RPC the interceptor can operate on. And handler is the wrapper\n// of the service method implementation. It is the responsibility of the interceptor to invoke handler\n// to complete the RPC.\ntype UnaryServerInterceptor func(ctx context.Context, req interface{}, info *UnaryServerInfo, handler UnaryHandler) (resp interface{}, err error)\n\n// StreamServerInfo consists of various information about a streaming RPC on\n// server side. All per-rpc information may be mutated by the interceptor.\ntype StreamServerInfo struct {\n\t// FullMethod is the full RPC method string, i.e., /package.service/method.\n\tFullMethod string\n\t// IsClientStream indicates whether the RPC is a client streaming RPC.\n\tIsClientStream bool\n\t// IsServerStream indicates whether the RPC is a server streaming RPC.\n\tIsServerStream bool\n}\n\n// StreamServerInterceptor provides a hook to intercept the execution of a streaming RPC on the server.\n// info contains all the information of this RPC the interceptor can operate on. And handler is the\n// service method implementation. It is the responsibility of the interceptor to invoke handler to\n// complete the RPC.\ntype StreamServerInterceptor func(srv interface{}, ss ServerStream, info *StreamServerInfo, handler StreamHandler) error\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/internal/backoff/backoff.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n// Package backoff implement the backoff strategy for gRPC.\n//\n// This is kept in internal until the gRPC project decides whether or not to\n// allow alternative backoff strategies.\npackage backoff\n\nimport (\n\t\"time\"\n\n\t\"google.golang.org/grpc/internal/grpcrand\"\n)\n\n// Strategy defines the methodology for backing off after a grpc connection\n// failure.\n//\ntype Strategy interface {\n\t// Backoff returns the amount of time to wait before the next retry given\n\t// the number of consecutive failures.\n\tBackoff(retries int) time.Duration\n}\n\nconst (\n\t// baseDelay is the amount of time to wait before retrying after the first\n\t// failure.\n\tbaseDelay = 1.0 * time.Second\n\t// factor is applied to the backoff after each retry.\n\tfactor = 1.6\n\t// jitter provides a range to randomize backoff delays.\n\tjitter = 0.2\n)\n\n// Exponential implements exponential backoff algorithm as defined in\n// https://github.com/grpc/grpc/blob/master/doc/connection-backoff.md.\ntype Exponential struct {\n\t// MaxDelay is the upper bound of backoff delay.\n\tMaxDelay time.Duration\n}\n\n// Backoff returns the amount of time to wait before the next retry given the\n// number of retries.\nfunc (bc Exponential) Backoff(retries int) time.Duration {\n\tif retries == 0 {\n\t\treturn baseDelay\n\t}\n\tbackoff, max := float64(baseDelay), float64(bc.MaxDelay)\n\tfor backoff < max && retries > 0 {\n\t\tbackoff *= factor\n\t\tretries--\n\t}\n\tif backoff > max {\n\t\tbackoff = max\n\t}\n\t// Randomize backoff delays so that if a cluster of requests start at\n\t// the same time, they won't operate in lockstep.\n\tbackoff *= 1 + jitter*(grpcrand.Float64()*2-1)\n\tif backoff < 0 {\n\t\treturn 0\n\t}\n\treturn time.Duration(backoff)\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/internal/channelz/funcs.go",
    "content": "/*\n *\n * Copyright 2018 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n// Package channelz defines APIs for enabling channelz service, entry\n// registration/deletion, and accessing channelz data. It also defines channelz\n// metric struct formats.\n//\n// All APIs in this package are experimental.\npackage channelz\n\nimport (\n\t\"sort\"\n\t\"sync\"\n\t\"sync/atomic\"\n\n\t\"google.golang.org/grpc/grpclog\"\n)\n\nvar (\n\tdb    dbWrapper\n\tidGen idGenerator\n\t// EntryPerPage defines the number of channelz entries to be shown on a web page.\n\tEntryPerPage = 50\n\tcurState     int32\n)\n\n// TurnOn turns on channelz data collection.\nfunc TurnOn() {\n\tif !IsOn() {\n\t\tNewChannelzStorage()\n\t\tatomic.StoreInt32(&curState, 1)\n\t}\n}\n\n// IsOn returns whether channelz data collection is on.\nfunc IsOn() bool {\n\treturn atomic.CompareAndSwapInt32(&curState, 1, 1)\n}\n\n// dbWarpper wraps around a reference to internal channelz data storage, and\n// provide synchronized functionality to set and get the reference.\ntype dbWrapper struct {\n\tmu sync.RWMutex\n\tDB *channelMap\n}\n\nfunc (d *dbWrapper) set(db *channelMap) {\n\td.mu.Lock()\n\td.DB = db\n\td.mu.Unlock()\n}\n\nfunc (d *dbWrapper) get() *channelMap {\n\td.mu.RLock()\n\tdefer d.mu.RUnlock()\n\treturn d.DB\n}\n\n// NewChannelzStorage initializes channelz data storage and id generator.\n//\n// Note: This function is exported for testing purpose only. User should not call\n// it in most cases.\nfunc NewChannelzStorage() {\n\tdb.set(&channelMap{\n\t\ttopLevelChannels: make(map[int64]struct{}),\n\t\tchannels:         make(map[int64]*channel),\n\t\tlistenSockets:    make(map[int64]*listenSocket),\n\t\tnormalSockets:    make(map[int64]*normalSocket),\n\t\tservers:          make(map[int64]*server),\n\t\tsubChannels:      make(map[int64]*subChannel),\n\t})\n\tidGen.reset()\n}\n\n// GetTopChannels returns a slice of top channel's ChannelMetric, along with a\n// boolean indicating whether there's more top channels to be queried for.\n//\n// The arg id specifies that only top channel with id at or above it will be included\n// in the result. The returned slice is up to a length of EntryPerPage, and is\n// sorted in ascending id order.\nfunc GetTopChannels(id int64) ([]*ChannelMetric, bool) {\n\treturn db.get().GetTopChannels(id)\n}\n\n// GetServers returns a slice of server's ServerMetric, along with a\n// boolean indicating whether there's more servers to be queried for.\n//\n// The arg id specifies that only server with id at or above it will be included\n// in the result. The returned slice is up to a length of EntryPerPage, and is\n// sorted in ascending id order.\nfunc GetServers(id int64) ([]*ServerMetric, bool) {\n\treturn db.get().GetServers(id)\n}\n\n// GetServerSockets returns a slice of server's (identified by id) normal socket's\n// SocketMetric, along with a boolean indicating whether there's more sockets to\n// be queried for.\n//\n// The arg startID specifies that only sockets with id at or above it will be\n// included in the result. The returned slice is up to a length of EntryPerPage,\n// and is sorted in ascending id order.\nfunc GetServerSockets(id int64, startID int64) ([]*SocketMetric, bool) {\n\treturn db.get().GetServerSockets(id, startID)\n}\n\n// GetChannel returns the ChannelMetric for the channel (identified by id).\nfunc GetChannel(id int64) *ChannelMetric {\n\treturn db.get().GetChannel(id)\n}\n\n// GetSubChannel returns the SubChannelMetric for the subchannel (identified by id).\nfunc GetSubChannel(id int64) *SubChannelMetric {\n\treturn db.get().GetSubChannel(id)\n}\n\n// GetSocket returns the SocketInternalMetric for the socket (identified by id).\nfunc GetSocket(id int64) *SocketMetric {\n\treturn db.get().GetSocket(id)\n}\n\n// RegisterChannel registers the given channel c in channelz database with ref\n// as its reference name, and add it to the child list of its parent (identified\n// by pid). pid = 0 means no parent. It returns the unique channelz tracking id\n// assigned to this channel.\nfunc RegisterChannel(c Channel, pid int64, ref string) int64 {\n\tid := idGen.genID()\n\tcn := &channel{\n\t\trefName:     ref,\n\t\tc:           c,\n\t\tsubChans:    make(map[int64]string),\n\t\tnestedChans: make(map[int64]string),\n\t\tid:          id,\n\t\tpid:         pid,\n\t}\n\tif pid == 0 {\n\t\tdb.get().addChannel(id, cn, true, pid, ref)\n\t} else {\n\t\tdb.get().addChannel(id, cn, false, pid, ref)\n\t}\n\treturn id\n}\n\n// RegisterSubChannel registers the given channel c in channelz database with ref\n// as its reference name, and add it to the child list of its parent (identified\n// by pid). It returns the unique channelz tracking id assigned to this subchannel.\nfunc RegisterSubChannel(c Channel, pid int64, ref string) int64 {\n\tif pid == 0 {\n\t\tgrpclog.Error(\"a SubChannel's parent id cannot be 0\")\n\t\treturn 0\n\t}\n\tid := idGen.genID()\n\tsc := &subChannel{\n\t\trefName: ref,\n\t\tc:       c,\n\t\tsockets: make(map[int64]string),\n\t\tid:      id,\n\t\tpid:     pid,\n\t}\n\tdb.get().addSubChannel(id, sc, pid, ref)\n\treturn id\n}\n\n// RegisterServer registers the given server s in channelz database. It returns\n// the unique channelz tracking id assigned to this server.\nfunc RegisterServer(s Server, ref string) int64 {\n\tid := idGen.genID()\n\tsvr := &server{\n\t\trefName:       ref,\n\t\ts:             s,\n\t\tsockets:       make(map[int64]string),\n\t\tlistenSockets: make(map[int64]string),\n\t\tid:            id,\n\t}\n\tdb.get().addServer(id, svr)\n\treturn id\n}\n\n// RegisterListenSocket registers the given listen socket s in channelz database\n// with ref as its reference name, and add it to the child list of its parent\n// (identified by pid). It returns the unique channelz tracking id assigned to\n// this listen socket.\nfunc RegisterListenSocket(s Socket, pid int64, ref string) int64 {\n\tif pid == 0 {\n\t\tgrpclog.Error(\"a ListenSocket's parent id cannot be 0\")\n\t\treturn 0\n\t}\n\tid := idGen.genID()\n\tls := &listenSocket{refName: ref, s: s, id: id, pid: pid}\n\tdb.get().addListenSocket(id, ls, pid, ref)\n\treturn id\n}\n\n// RegisterNormalSocket registers the given normal socket s in channelz database\n// with ref as its reference name, and add it to the child list of its parent\n// (identified by pid). It returns the unique channelz tracking id assigned to\n// this normal socket.\nfunc RegisterNormalSocket(s Socket, pid int64, ref string) int64 {\n\tif pid == 0 {\n\t\tgrpclog.Error(\"a NormalSocket's parent id cannot be 0\")\n\t\treturn 0\n\t}\n\tid := idGen.genID()\n\tns := &normalSocket{refName: ref, s: s, id: id, pid: pid}\n\tdb.get().addNormalSocket(id, ns, pid, ref)\n\treturn id\n}\n\n// RemoveEntry removes an entry with unique channelz trakcing id to be id from\n// channelz database.\nfunc RemoveEntry(id int64) {\n\tdb.get().removeEntry(id)\n}\n\n// channelMap is the storage data structure for channelz.\n// Methods of channelMap can be divided in two two categories with respect to locking.\n// 1. Methods acquire the global lock.\n// 2. Methods that can only be called when global lock is held.\n// A second type of method need always to be called inside a first type of method.\ntype channelMap struct {\n\tmu               sync.RWMutex\n\ttopLevelChannels map[int64]struct{}\n\tservers          map[int64]*server\n\tchannels         map[int64]*channel\n\tsubChannels      map[int64]*subChannel\n\tlistenSockets    map[int64]*listenSocket\n\tnormalSockets    map[int64]*normalSocket\n}\n\nfunc (c *channelMap) addServer(id int64, s *server) {\n\tc.mu.Lock()\n\ts.cm = c\n\tc.servers[id] = s\n\tc.mu.Unlock()\n}\n\nfunc (c *channelMap) addChannel(id int64, cn *channel, isTopChannel bool, pid int64, ref string) {\n\tc.mu.Lock()\n\tcn.cm = c\n\tc.channels[id] = cn\n\tif isTopChannel {\n\t\tc.topLevelChannels[id] = struct{}{}\n\t} else {\n\t\tc.findEntry(pid).addChild(id, cn)\n\t}\n\tc.mu.Unlock()\n}\n\nfunc (c *channelMap) addSubChannel(id int64, sc *subChannel, pid int64, ref string) {\n\tc.mu.Lock()\n\tsc.cm = c\n\tc.subChannels[id] = sc\n\tc.findEntry(pid).addChild(id, sc)\n\tc.mu.Unlock()\n}\n\nfunc (c *channelMap) addListenSocket(id int64, ls *listenSocket, pid int64, ref string) {\n\tc.mu.Lock()\n\tls.cm = c\n\tc.listenSockets[id] = ls\n\tc.findEntry(pid).addChild(id, ls)\n\tc.mu.Unlock()\n}\n\nfunc (c *channelMap) addNormalSocket(id int64, ns *normalSocket, pid int64, ref string) {\n\tc.mu.Lock()\n\tns.cm = c\n\tc.normalSockets[id] = ns\n\tc.findEntry(pid).addChild(id, ns)\n\tc.mu.Unlock()\n}\n\n// removeEntry triggers the removal of an entry, which may not indeed delete the\n// entry, if it has to wait on the deletion of its children, or may lead to a chain\n// of entry deletion. For example, deleting the last socket of a gracefully shutting\n// down server will lead to the server being also deleted.\nfunc (c *channelMap) removeEntry(id int64) {\n\tc.mu.Lock()\n\tc.findEntry(id).triggerDelete()\n\tc.mu.Unlock()\n}\n\n// c.mu must be held by the caller.\nfunc (c *channelMap) findEntry(id int64) entry {\n\tvar v entry\n\tvar ok bool\n\tif v, ok = c.channels[id]; ok {\n\t\treturn v\n\t}\n\tif v, ok = c.subChannels[id]; ok {\n\t\treturn v\n\t}\n\tif v, ok = c.servers[id]; ok {\n\t\treturn v\n\t}\n\tif v, ok = c.listenSockets[id]; ok {\n\t\treturn v\n\t}\n\tif v, ok = c.normalSockets[id]; ok {\n\t\treturn v\n\t}\n\treturn &dummyEntry{idNotFound: id}\n}\n\n// c.mu must be held by the caller\n// deleteEntry simply deletes an entry from the channelMap. Before calling this\n// method, caller must check this entry is ready to be deleted, i.e removeEntry()\n// has been called on it, and no children still exist.\n// Conditionals are ordered by the expected frequency of deletion of each entity\n// type, in order to optimize performance.\nfunc (c *channelMap) deleteEntry(id int64) {\n\tvar ok bool\n\tif _, ok = c.normalSockets[id]; ok {\n\t\tdelete(c.normalSockets, id)\n\t\treturn\n\t}\n\tif _, ok = c.subChannels[id]; ok {\n\t\tdelete(c.subChannels, id)\n\t\treturn\n\t}\n\tif _, ok = c.channels[id]; ok {\n\t\tdelete(c.channels, id)\n\t\tdelete(c.topLevelChannels, id)\n\t\treturn\n\t}\n\tif _, ok = c.listenSockets[id]; ok {\n\t\tdelete(c.listenSockets, id)\n\t\treturn\n\t}\n\tif _, ok = c.servers[id]; ok {\n\t\tdelete(c.servers, id)\n\t\treturn\n\t}\n}\n\ntype int64Slice []int64\n\nfunc (s int64Slice) Len() int           { return len(s) }\nfunc (s int64Slice) Swap(i, j int)      { s[i], s[j] = s[j], s[i] }\nfunc (s int64Slice) Less(i, j int) bool { return s[i] < s[j] }\n\nfunc copyMap(m map[int64]string) map[int64]string {\n\tn := make(map[int64]string)\n\tfor k, v := range m {\n\t\tn[k] = v\n\t}\n\treturn n\n}\n\nfunc min(a, b int) int {\n\tif a < b {\n\t\treturn a\n\t}\n\treturn b\n}\n\nfunc (c *channelMap) GetTopChannels(id int64) ([]*ChannelMetric, bool) {\n\tc.mu.RLock()\n\tl := len(c.topLevelChannels)\n\tids := make([]int64, 0, l)\n\tcns := make([]*channel, 0, min(l, EntryPerPage))\n\n\tfor k := range c.topLevelChannels {\n\t\tids = append(ids, k)\n\t}\n\tsort.Sort(int64Slice(ids))\n\tidx := sort.Search(len(ids), func(i int) bool { return ids[i] >= id })\n\tcount := 0\n\tvar end bool\n\tvar t []*ChannelMetric\n\tfor i, v := range ids[idx:] {\n\t\tif count == EntryPerPage {\n\t\t\tbreak\n\t\t}\n\t\tif cn, ok := c.channels[v]; ok {\n\t\t\tcns = append(cns, cn)\n\t\t\tt = append(t, &ChannelMetric{\n\t\t\t\tNestedChans: copyMap(cn.nestedChans),\n\t\t\t\tSubChans:    copyMap(cn.subChans),\n\t\t\t})\n\t\t\tcount++\n\t\t}\n\t\tif i == len(ids[idx:])-1 {\n\t\t\tend = true\n\t\t\tbreak\n\t\t}\n\t}\n\tc.mu.RUnlock()\n\tif count == 0 {\n\t\tend = true\n\t}\n\n\tfor i, cn := range cns {\n\t\tt[i].ChannelData = cn.c.ChannelzMetric()\n\t\tt[i].ID = cn.id\n\t\tt[i].RefName = cn.refName\n\t}\n\treturn t, end\n}\n\nfunc (c *channelMap) GetServers(id int64) ([]*ServerMetric, bool) {\n\tc.mu.RLock()\n\tl := len(c.servers)\n\tids := make([]int64, 0, l)\n\tss := make([]*server, 0, min(l, EntryPerPage))\n\tfor k := range c.servers {\n\t\tids = append(ids, k)\n\t}\n\tsort.Sort(int64Slice(ids))\n\tidx := sort.Search(len(ids), func(i int) bool { return ids[i] >= id })\n\tcount := 0\n\tvar end bool\n\tvar s []*ServerMetric\n\tfor i, v := range ids[idx:] {\n\t\tif count == EntryPerPage {\n\t\t\tbreak\n\t\t}\n\t\tif svr, ok := c.servers[v]; ok {\n\t\t\tss = append(ss, svr)\n\t\t\ts = append(s, &ServerMetric{\n\t\t\t\tListenSockets: copyMap(svr.listenSockets),\n\t\t\t})\n\t\t\tcount++\n\t\t}\n\t\tif i == len(ids[idx:])-1 {\n\t\t\tend = true\n\t\t\tbreak\n\t\t}\n\t}\n\tc.mu.RUnlock()\n\tif count == 0 {\n\t\tend = true\n\t}\n\n\tfor i, svr := range ss {\n\t\ts[i].ServerData = svr.s.ChannelzMetric()\n\t\ts[i].ID = svr.id\n\t\ts[i].RefName = svr.refName\n\t}\n\treturn s, end\n}\n\nfunc (c *channelMap) GetServerSockets(id int64, startID int64) ([]*SocketMetric, bool) {\n\tvar svr *server\n\tvar ok bool\n\tc.mu.RLock()\n\tif svr, ok = c.servers[id]; !ok {\n\t\t// server with id doesn't exist.\n\t\tc.mu.RUnlock()\n\t\treturn nil, true\n\t}\n\tsvrskts := svr.sockets\n\tl := len(svrskts)\n\tids := make([]int64, 0, l)\n\tsks := make([]*normalSocket, 0, min(l, EntryPerPage))\n\tfor k := range svrskts {\n\t\tids = append(ids, k)\n\t}\n\tsort.Sort((int64Slice(ids)))\n\tidx := sort.Search(len(ids), func(i int) bool { return ids[i] >= id })\n\tcount := 0\n\tvar end bool\n\tfor i, v := range ids[idx:] {\n\t\tif count == EntryPerPage {\n\t\t\tbreak\n\t\t}\n\t\tif ns, ok := c.normalSockets[v]; ok {\n\t\t\tsks = append(sks, ns)\n\t\t\tcount++\n\t\t}\n\t\tif i == len(ids[idx:])-1 {\n\t\t\tend = true\n\t\t\tbreak\n\t\t}\n\t}\n\tc.mu.RUnlock()\n\tif count == 0 {\n\t\tend = true\n\t}\n\tvar s []*SocketMetric\n\tfor _, ns := range sks {\n\t\tsm := &SocketMetric{}\n\t\tsm.SocketData = ns.s.ChannelzMetric()\n\t\tsm.ID = ns.id\n\t\tsm.RefName = ns.refName\n\t\ts = append(s, sm)\n\t}\n\treturn s, end\n}\n\nfunc (c *channelMap) GetChannel(id int64) *ChannelMetric {\n\tcm := &ChannelMetric{}\n\tvar cn *channel\n\tvar ok bool\n\tc.mu.RLock()\n\tif cn, ok = c.channels[id]; !ok {\n\t\t// channel with id doesn't exist.\n\t\tc.mu.RUnlock()\n\t\treturn nil\n\t}\n\tcm.NestedChans = copyMap(cn.nestedChans)\n\tcm.SubChans = copyMap(cn.subChans)\n\tc.mu.RUnlock()\n\tcm.ChannelData = cn.c.ChannelzMetric()\n\tcm.ID = cn.id\n\tcm.RefName = cn.refName\n\treturn cm\n}\n\nfunc (c *channelMap) GetSubChannel(id int64) *SubChannelMetric {\n\tcm := &SubChannelMetric{}\n\tvar sc *subChannel\n\tvar ok bool\n\tc.mu.RLock()\n\tif sc, ok = c.subChannels[id]; !ok {\n\t\t// subchannel with id doesn't exist.\n\t\tc.mu.RUnlock()\n\t\treturn nil\n\t}\n\tcm.Sockets = copyMap(sc.sockets)\n\tc.mu.RUnlock()\n\tcm.ChannelData = sc.c.ChannelzMetric()\n\tcm.ID = sc.id\n\tcm.RefName = sc.refName\n\treturn cm\n}\n\nfunc (c *channelMap) GetSocket(id int64) *SocketMetric {\n\tsm := &SocketMetric{}\n\tc.mu.RLock()\n\tif ls, ok := c.listenSockets[id]; ok {\n\t\tc.mu.RUnlock()\n\t\tsm.SocketData = ls.s.ChannelzMetric()\n\t\tsm.ID = ls.id\n\t\tsm.RefName = ls.refName\n\t\treturn sm\n\t}\n\tif ns, ok := c.normalSockets[id]; ok {\n\t\tc.mu.RUnlock()\n\t\tsm.SocketData = ns.s.ChannelzMetric()\n\t\tsm.ID = ns.id\n\t\tsm.RefName = ns.refName\n\t\treturn sm\n\t}\n\tc.mu.RUnlock()\n\treturn nil\n}\n\ntype idGenerator struct {\n\tid int64\n}\n\nfunc (i *idGenerator) reset() {\n\tatomic.StoreInt64(&i.id, 0)\n}\n\nfunc (i *idGenerator) genID() int64 {\n\treturn atomic.AddInt64(&i.id, 1)\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/internal/channelz/types.go",
    "content": "/*\n *\n * Copyright 2018 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage channelz\n\nimport (\n\t\"net\"\n\t\"time\"\n\n\t\"google.golang.org/grpc/connectivity\"\n\t\"google.golang.org/grpc/credentials\"\n\t\"google.golang.org/grpc/grpclog\"\n)\n\n// entry represents a node in the channelz database.\ntype entry interface {\n\t// addChild adds a child e, whose channelz id is id to child list\n\taddChild(id int64, e entry)\n\t// deleteChild deletes a child with channelz id to be id from child list\n\tdeleteChild(id int64)\n\t// triggerDelete tries to delete self from channelz database. However, if child\n\t// list is not empty, then deletion from the database is on hold until the last\n\t// child is deleted from database.\n\ttriggerDelete()\n\t// deleteSelfIfReady check whether triggerDelete() has been called before, and whether child\n\t// list is now empty. If both conditions are met, then delete self from database.\n\tdeleteSelfIfReady()\n}\n\n// dummyEntry is a fake entry to handle entry not found case.\ntype dummyEntry struct {\n\tidNotFound int64\n}\n\nfunc (d *dummyEntry) addChild(id int64, e entry) {\n\t// Note: It is possible for a normal program to reach here under race condition.\n\t// For example, there could be a race between ClientConn.Close() info being propagated\n\t// to addrConn and http2Client. ClientConn.Close() cancel the context and result\n\t// in http2Client to error. The error info is then caught by transport monitor\n\t// and before addrConn.tearDown() is called in side ClientConn.Close(). Therefore,\n\t// the addrConn will create a new transport. And when registering the new transport in\n\t// channelz, its parent addrConn could have already been torn down and deleted\n\t// from channelz tracking, and thus reach the code here.\n\tgrpclog.Infof(\"attempt to add child of type %T with id %d to a parent (id=%d) that doesn't currently exist\", e, id, d.idNotFound)\n}\n\nfunc (d *dummyEntry) deleteChild(id int64) {\n\t// It is possible for a normal program to reach here under race condition.\n\t// Refer to the example described in addChild().\n\tgrpclog.Infof(\"attempt to delete child with id %d from a parent (id=%d) that doesn't currently exist\", id, d.idNotFound)\n}\n\nfunc (d *dummyEntry) triggerDelete() {\n\tgrpclog.Warningf(\"attempt to delete an entry (id=%d) that doesn't currently exist\", d.idNotFound)\n}\n\nfunc (*dummyEntry) deleteSelfIfReady() {\n\t// code should not reach here. deleteSelfIfReady is always called on an existing entry.\n}\n\n// ChannelMetric defines the info channelz provides for a specific Channel, which\n// includes ChannelInternalMetric and channelz-specific data, such as channelz id,\n// child list, etc.\ntype ChannelMetric struct {\n\t// ID is the channelz id of this channel.\n\tID int64\n\t// RefName is the human readable reference string of this channel.\n\tRefName string\n\t// ChannelData contains channel internal metric reported by the channel through\n\t// ChannelzMetric().\n\tChannelData *ChannelInternalMetric\n\t// NestedChans tracks the nested channel type children of this channel in the format of\n\t// a map from nested channel channelz id to corresponding reference string.\n\tNestedChans map[int64]string\n\t// SubChans tracks the subchannel type children of this channel in the format of a\n\t// map from subchannel channelz id to corresponding reference string.\n\tSubChans map[int64]string\n\t// Sockets tracks the socket type children of this channel in the format of a map\n\t// from socket channelz id to corresponding reference string.\n\t// Note current grpc implementation doesn't allow channel having sockets directly,\n\t// therefore, this is field is unused.\n\tSockets map[int64]string\n}\n\n// SubChannelMetric defines the info channelz provides for a specific SubChannel,\n// which includes ChannelInternalMetric and channelz-specific data, such as\n// channelz id, child list, etc.\ntype SubChannelMetric struct {\n\t// ID is the channelz id of this subchannel.\n\tID int64\n\t// RefName is the human readable reference string of this subchannel.\n\tRefName string\n\t// ChannelData contains subchannel internal metric reported by the subchannel\n\t// through ChannelzMetric().\n\tChannelData *ChannelInternalMetric\n\t// NestedChans tracks the nested channel type children of this subchannel in the format of\n\t// a map from nested channel channelz id to corresponding reference string.\n\t// Note current grpc implementation doesn't allow subchannel to have nested channels\n\t// as children, therefore, this field is unused.\n\tNestedChans map[int64]string\n\t// SubChans tracks the subchannel type children of this subchannel in the format of a\n\t// map from subchannel channelz id to corresponding reference string.\n\t// Note current grpc implementation doesn't allow subchannel to have subchannels\n\t// as children, therefore, this field is unused.\n\tSubChans map[int64]string\n\t// Sockets tracks the socket type children of this subchannel in the format of a map\n\t// from socket channelz id to corresponding reference string.\n\tSockets map[int64]string\n}\n\n// ChannelInternalMetric defines the struct that the implementor of Channel interface\n// should return from ChannelzMetric().\ntype ChannelInternalMetric struct {\n\t// current connectivity state of the channel.\n\tState connectivity.State\n\t// The target this channel originally tried to connect to.  May be absent\n\tTarget string\n\t// The number of calls started on the channel.\n\tCallsStarted int64\n\t// The number of calls that have completed with an OK status.\n\tCallsSucceeded int64\n\t// The number of calls that have a completed with a non-OK status.\n\tCallsFailed int64\n\t// The last time a call was started on the channel.\n\tLastCallStartedTimestamp time.Time\n\t//TODO: trace\n}\n\n// Channel is the interface that should be satisfied in order to be tracked by\n// channelz as Channel or SubChannel.\ntype Channel interface {\n\tChannelzMetric() *ChannelInternalMetric\n}\n\ntype channel struct {\n\trefName     string\n\tc           Channel\n\tcloseCalled bool\n\tnestedChans map[int64]string\n\tsubChans    map[int64]string\n\tid          int64\n\tpid         int64\n\tcm          *channelMap\n}\n\nfunc (c *channel) addChild(id int64, e entry) {\n\tswitch v := e.(type) {\n\tcase *subChannel:\n\t\tc.subChans[id] = v.refName\n\tcase *channel:\n\t\tc.nestedChans[id] = v.refName\n\tdefault:\n\t\tgrpclog.Errorf(\"cannot add a child (id = %d) of type %T to a channel\", id, e)\n\t}\n}\n\nfunc (c *channel) deleteChild(id int64) {\n\tdelete(c.subChans, id)\n\tdelete(c.nestedChans, id)\n\tc.deleteSelfIfReady()\n}\n\nfunc (c *channel) triggerDelete() {\n\tc.closeCalled = true\n\tc.deleteSelfIfReady()\n}\n\nfunc (c *channel) deleteSelfIfReady() {\n\tif !c.closeCalled || len(c.subChans)+len(c.nestedChans) != 0 {\n\t\treturn\n\t}\n\tc.cm.deleteEntry(c.id)\n\t// not top channel\n\tif c.pid != 0 {\n\t\tc.cm.findEntry(c.pid).deleteChild(c.id)\n\t}\n}\n\ntype subChannel struct {\n\trefName     string\n\tc           Channel\n\tcloseCalled bool\n\tsockets     map[int64]string\n\tid          int64\n\tpid         int64\n\tcm          *channelMap\n}\n\nfunc (sc *subChannel) addChild(id int64, e entry) {\n\tif v, ok := e.(*normalSocket); ok {\n\t\tsc.sockets[id] = v.refName\n\t} else {\n\t\tgrpclog.Errorf(\"cannot add a child (id = %d) of type %T to a subChannel\", id, e)\n\t}\n}\n\nfunc (sc *subChannel) deleteChild(id int64) {\n\tdelete(sc.sockets, id)\n\tsc.deleteSelfIfReady()\n}\n\nfunc (sc *subChannel) triggerDelete() {\n\tsc.closeCalled = true\n\tsc.deleteSelfIfReady()\n}\n\nfunc (sc *subChannel) deleteSelfIfReady() {\n\tif !sc.closeCalled || len(sc.sockets) != 0 {\n\t\treturn\n\t}\n\tsc.cm.deleteEntry(sc.id)\n\tsc.cm.findEntry(sc.pid).deleteChild(sc.id)\n}\n\n// SocketMetric defines the info channelz provides for a specific Socket, which\n// includes SocketInternalMetric and channelz-specific data, such as channelz id, etc.\ntype SocketMetric struct {\n\t// ID is the channelz id of this socket.\n\tID int64\n\t// RefName is the human readable reference string of this socket.\n\tRefName string\n\t// SocketData contains socket internal metric reported by the socket through\n\t// ChannelzMetric().\n\tSocketData *SocketInternalMetric\n}\n\n// SocketInternalMetric defines the struct that the implementor of Socket interface\n// should return from ChannelzMetric().\ntype SocketInternalMetric struct {\n\t// The number of streams that have been started.\n\tStreamsStarted int64\n\t// The number of streams that have ended successfully:\n\t// On client side, receiving frame with eos bit set.\n\t// On server side, sending frame with eos bit set.\n\tStreamsSucceeded int64\n\t// The number of streams that have ended unsuccessfully:\n\t// On client side, termination without receiving frame with eos bit set.\n\t// On server side, termination without sending frame with eos bit set.\n\tStreamsFailed int64\n\t// The number of messages successfully sent on this socket.\n\tMessagesSent     int64\n\tMessagesReceived int64\n\t// The number of keep alives sent.  This is typically implemented with HTTP/2\n\t// ping messages.\n\tKeepAlivesSent int64\n\t// The last time a stream was created by this endpoint.  Usually unset for\n\t// servers.\n\tLastLocalStreamCreatedTimestamp time.Time\n\t// The last time a stream was created by the remote endpoint.  Usually unset\n\t// for clients.\n\tLastRemoteStreamCreatedTimestamp time.Time\n\t// The last time a message was sent by this endpoint.\n\tLastMessageSentTimestamp time.Time\n\t// The last time a message was received by this endpoint.\n\tLastMessageReceivedTimestamp time.Time\n\t// The amount of window, granted to the local endpoint by the remote endpoint.\n\t// This may be slightly out of date due to network latency.  This does NOT\n\t// include stream level or TCP level flow control info.\n\tLocalFlowControlWindow int64\n\t// The amount of window, granted to the remote endpoint by the local endpoint.\n\t// This may be slightly out of date due to network latency.  This does NOT\n\t// include stream level or TCP level flow control info.\n\tRemoteFlowControlWindow int64\n\t// The locally bound address.\n\tLocalAddr net.Addr\n\t// The remote bound address.  May be absent.\n\tRemoteAddr net.Addr\n\t// Optional, represents the name of the remote endpoint, if different than\n\t// the original target name.\n\tRemoteName    string\n\tSocketOptions *SocketOptionData\n\tSecurity      credentials.ChannelzSecurityValue\n}\n\n// Socket is the interface that should be satisfied in order to be tracked by\n// channelz as Socket.\ntype Socket interface {\n\tChannelzMetric() *SocketInternalMetric\n}\n\ntype listenSocket struct {\n\trefName string\n\ts       Socket\n\tid      int64\n\tpid     int64\n\tcm      *channelMap\n}\n\nfunc (ls *listenSocket) addChild(id int64, e entry) {\n\tgrpclog.Errorf(\"cannot add a child (id = %d) of type %T to a listen socket\", id, e)\n}\n\nfunc (ls *listenSocket) deleteChild(id int64) {\n\tgrpclog.Errorf(\"cannot delete a child (id = %d) from a listen socket\", id)\n}\n\nfunc (ls *listenSocket) triggerDelete() {\n\tls.cm.deleteEntry(ls.id)\n\tls.cm.findEntry(ls.pid).deleteChild(ls.id)\n}\n\nfunc (ls *listenSocket) deleteSelfIfReady() {\n\tgrpclog.Errorf(\"cannot call deleteSelfIfReady on a listen socket\")\n}\n\ntype normalSocket struct {\n\trefName string\n\ts       Socket\n\tid      int64\n\tpid     int64\n\tcm      *channelMap\n}\n\nfunc (ns *normalSocket) addChild(id int64, e entry) {\n\tgrpclog.Errorf(\"cannot add a child (id = %d) of type %T to a normal socket\", id, e)\n}\n\nfunc (ns *normalSocket) deleteChild(id int64) {\n\tgrpclog.Errorf(\"cannot delete a child (id = %d) from a normal socket\", id)\n}\n\nfunc (ns *normalSocket) triggerDelete() {\n\tns.cm.deleteEntry(ns.id)\n\tns.cm.findEntry(ns.pid).deleteChild(ns.id)\n}\n\nfunc (ns *normalSocket) deleteSelfIfReady() {\n\tgrpclog.Errorf(\"cannot call deleteSelfIfReady on a normal socket\")\n}\n\n// ServerMetric defines the info channelz provides for a specific Server, which\n// includes ServerInternalMetric and channelz-specific data, such as channelz id,\n// child list, etc.\ntype ServerMetric struct {\n\t// ID is the channelz id of this server.\n\tID int64\n\t// RefName is the human readable reference string of this server.\n\tRefName string\n\t// ServerData contains server internal metric reported by the server through\n\t// ChannelzMetric().\n\tServerData *ServerInternalMetric\n\t// ListenSockets tracks the listener socket type children of this server in the\n\t// format of a map from socket channelz id to corresponding reference string.\n\tListenSockets map[int64]string\n}\n\n// ServerInternalMetric defines the struct that the implementor of Server interface\n// should return from ChannelzMetric().\ntype ServerInternalMetric struct {\n\t// The number of incoming calls started on the server.\n\tCallsStarted int64\n\t// The number of incoming calls that have completed with an OK status.\n\tCallsSucceeded int64\n\t// The number of incoming calls that have a completed with a non-OK status.\n\tCallsFailed int64\n\t// The last time a call was started on the server.\n\tLastCallStartedTimestamp time.Time\n\t//TODO: trace\n}\n\n// Server is the interface to be satisfied in order to be tracked by channelz as\n// Server.\ntype Server interface {\n\tChannelzMetric() *ServerInternalMetric\n}\n\ntype server struct {\n\trefName       string\n\ts             Server\n\tcloseCalled   bool\n\tsockets       map[int64]string\n\tlistenSockets map[int64]string\n\tid            int64\n\tcm            *channelMap\n}\n\nfunc (s *server) addChild(id int64, e entry) {\n\tswitch v := e.(type) {\n\tcase *normalSocket:\n\t\ts.sockets[id] = v.refName\n\tcase *listenSocket:\n\t\ts.listenSockets[id] = v.refName\n\tdefault:\n\t\tgrpclog.Errorf(\"cannot add a child (id = %d) of type %T to a server\", id, e)\n\t}\n}\n\nfunc (s *server) deleteChild(id int64) {\n\tdelete(s.sockets, id)\n\tdelete(s.listenSockets, id)\n\ts.deleteSelfIfReady()\n}\n\nfunc (s *server) triggerDelete() {\n\ts.closeCalled = true\n\ts.deleteSelfIfReady()\n}\n\nfunc (s *server) deleteSelfIfReady() {\n\tif !s.closeCalled || len(s.sockets)+len(s.listenSockets) != 0 {\n\t\treturn\n\t}\n\ts.cm.deleteEntry(s.id)\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/internal/channelz/types_linux.go",
    "content": "// +build !appengine,go1.7\n\n/*\n *\n * Copyright 2018 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage channelz\n\nimport (\n\t\"syscall\"\n\n\t\"golang.org/x/sys/unix\"\n)\n\n// SocketOptionData defines the struct to hold socket option data, and related\n// getter function to obtain info from fd.\ntype SocketOptionData struct {\n\tLinger      *unix.Linger\n\tRecvTimeout *unix.Timeval\n\tSendTimeout *unix.Timeval\n\tTCPInfo     *unix.TCPInfo\n}\n\n// Getsockopt defines the function to get socket options requested by channelz.\n// It is to be passed to syscall.RawConn.Control().\nfunc (s *SocketOptionData) Getsockopt(fd uintptr) {\n\tif v, err := unix.GetsockoptLinger(int(fd), syscall.SOL_SOCKET, syscall.SO_LINGER); err == nil {\n\t\ts.Linger = v\n\t}\n\tif v, err := unix.GetsockoptTimeval(int(fd), syscall.SOL_SOCKET, syscall.SO_RCVTIMEO); err == nil {\n\t\ts.RecvTimeout = v\n\t}\n\tif v, err := unix.GetsockoptTimeval(int(fd), syscall.SOL_SOCKET, syscall.SO_SNDTIMEO); err == nil {\n\t\ts.SendTimeout = v\n\t}\n\tif v, err := unix.GetsockoptTCPInfo(int(fd), syscall.SOL_TCP, syscall.TCP_INFO); err == nil {\n\t\ts.TCPInfo = v\n\t}\n\treturn\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/internal/channelz/types_nonlinux.go",
    "content": "// +build !linux appengine !go1.7\n\n/*\n *\n * Copyright 2018 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage channelz\n\nimport \"google.golang.org/grpc/grpclog\"\n\nfunc init() {\n\tgrpclog.Infof(\"Channelz: socket options are not supported on non-linux os and appengine.\")\n}\n\n// SocketOptionData defines the struct to hold socket option data, and related\n// getter function to obtain info from fd.\n// Windows OS doesn't support Socket Option\ntype SocketOptionData struct {\n}\n\n// Getsockopt defines the function to get socket options requested by channelz.\n// It is to be passed to syscall.RawConn.Control().\n// Windows OS doesn't support Socket Option\nfunc (s *SocketOptionData) Getsockopt(fd uintptr) {}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/internal/channelz/util_linux_go19.go",
    "content": "// +build linux,go1.9,!appengine\n\n/*\n *\n * Copyright 2018 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage channelz\n\nimport (\n\t\"syscall\"\n)\n\n// GetSocketOption gets the socket option info of the conn.\nfunc GetSocketOption(socket interface{}) *SocketOptionData {\n\tc, ok := socket.(syscall.Conn)\n\tif !ok {\n\t\treturn nil\n\t}\n\tdata := &SocketOptionData{}\n\tif rawConn, err := c.SyscallConn(); err == nil {\n\t\trawConn.Control(data.Getsockopt)\n\t\treturn data\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/internal/channelz/util_nonlinux_pre_go19.go",
    "content": "// +build !linux !go1.9 appengine\n\n/*\n *\n * Copyright 2018 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage channelz\n\n// GetSocketOption gets the socket option info of the conn.\nfunc GetSocketOption(c interface{}) *SocketOptionData {\n\treturn nil\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/internal/envconfig/envconfig.go",
    "content": "/*\n *\n * Copyright 2018 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n// Package envconfig contains grpc settings configured by environment variables.\npackage envconfig\n\nimport (\n\t\"os\"\n\t\"strings\"\n)\n\nconst (\n\tprefix   = \"GRPC_GO_\"\n\tretryStr = prefix + \"RETRY\"\n)\n\nvar (\n\t// Retry is set if retry is explicitly enabled via \"GRPC_GO_RETRY=on\".\n\tRetry = strings.EqualFold(os.Getenv(retryStr), \"on\")\n)\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/internal/grpcrand/grpcrand.go",
    "content": "/*\n *\n * Copyright 2018 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n// Package grpcrand implements math/rand functions in a concurrent-safe way\n// with a global random source, independent of math/rand's global source.\npackage grpcrand\n\nimport (\n\t\"math/rand\"\n\t\"sync\"\n\t\"time\"\n)\n\nvar (\n\tr  = rand.New(rand.NewSource(time.Now().UnixNano()))\n\tmu sync.Mutex\n)\n\n// Int63n implements rand.Int63n on the grpcrand global source.\nfunc Int63n(n int64) int64 {\n\tmu.Lock()\n\tres := r.Int63n(n)\n\tmu.Unlock()\n\treturn res\n}\n\n// Intn implements rand.Intn on the grpcrand global source.\nfunc Intn(n int) int {\n\tmu.Lock()\n\tres := r.Intn(n)\n\tmu.Unlock()\n\treturn res\n}\n\n// Float64 implements rand.Float64 on the grpcrand global source.\nfunc Float64() float64 {\n\tmu.Lock()\n\tres := r.Float64()\n\tmu.Unlock()\n\treturn res\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/internal/internal.go",
    "content": "/*\n * Copyright 2016 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n// Package internal contains gRPC-internal code, to avoid polluting\n// the godoc of the top-level grpc package.  It must not import any grpc\n// symbols to avoid circular dependencies.\npackage internal\n\nvar (\n\n\t// TestingUseHandlerImpl enables the http.Handler-based server implementation.\n\t// It must be called before Serve and requires TLS credentials.\n\t//\n\t// The provided grpcServer must be of type *grpc.Server. It is untyped\n\t// for circular dependency reasons.\n\tTestingUseHandlerImpl func(grpcServer interface{})\n\n\t// WithContextDialer is exported by clientconn.go\n\tWithContextDialer interface{} // func(context.Context, string) (net.Conn, error) grpc.DialOption\n\t// WithResolverBuilder is exported by clientconn.go\n\tWithResolverBuilder interface{} // func (resolver.Builder) grpc.DialOption\n)\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/internal/transport/bdp_estimator.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage transport\n\nimport (\n\t\"sync\"\n\t\"time\"\n)\n\nconst (\n\t// bdpLimit is the maximum value the flow control windows\n\t// will be increased to.\n\tbdpLimit = (1 << 20) * 4\n\t// alpha is a constant factor used to keep a moving average\n\t// of RTTs.\n\talpha = 0.9\n\t// If the current bdp sample is greater than or equal to\n\t// our beta * our estimated bdp and the current bandwidth\n\t// sample is the maximum bandwidth observed so far, we\n\t// increase our bbp estimate by a factor of gamma.\n\tbeta = 0.66\n\t// To put our bdp to be smaller than or equal to twice the real BDP,\n\t// we should multiply our current sample with 4/3, however to round things out\n\t// we use 2 as the multiplication factor.\n\tgamma = 2\n)\n\n// Adding arbitrary data to ping so that its ack can be identified.\n// Easter-egg: what does the ping message say?\nvar bdpPing = &ping{data: [8]byte{2, 4, 16, 16, 9, 14, 7, 7}}\n\ntype bdpEstimator struct {\n\t// sentAt is the time when the ping was sent.\n\tsentAt time.Time\n\n\tmu sync.Mutex\n\t// bdp is the current bdp estimate.\n\tbdp uint32\n\t// sample is the number of bytes received in one measurement cycle.\n\tsample uint32\n\t// bwMax is the maximum bandwidth noted so far (bytes/sec).\n\tbwMax float64\n\t// bool to keep track of the beginning of a new measurement cycle.\n\tisSent bool\n\t// Callback to update the window sizes.\n\tupdateFlowControl func(n uint32)\n\t// sampleCount is the number of samples taken so far.\n\tsampleCount uint64\n\t// round trip time (seconds)\n\trtt float64\n}\n\n// timesnap registers the time bdp ping was sent out so that\n// network rtt can be calculated when its ack is received.\n// It is called (by controller) when the bdpPing is\n// being written on the wire.\nfunc (b *bdpEstimator) timesnap(d [8]byte) {\n\tif bdpPing.data != d {\n\t\treturn\n\t}\n\tb.sentAt = time.Now()\n}\n\n// add adds bytes to the current sample for calculating bdp.\n// It returns true only if a ping must be sent. This can be used\n// by the caller (handleData) to make decision about batching\n// a window update with it.\nfunc (b *bdpEstimator) add(n uint32) bool {\n\tb.mu.Lock()\n\tdefer b.mu.Unlock()\n\tif b.bdp == bdpLimit {\n\t\treturn false\n\t}\n\tif !b.isSent {\n\t\tb.isSent = true\n\t\tb.sample = n\n\t\tb.sentAt = time.Time{}\n\t\tb.sampleCount++\n\t\treturn true\n\t}\n\tb.sample += n\n\treturn false\n}\n\n// calculate is called when an ack for a bdp ping is received.\n// Here we calculate the current bdp and bandwidth sample and\n// decide if the flow control windows should go up.\nfunc (b *bdpEstimator) calculate(d [8]byte) {\n\t// Check if the ping acked for was the bdp ping.\n\tif bdpPing.data != d {\n\t\treturn\n\t}\n\tb.mu.Lock()\n\trttSample := time.Since(b.sentAt).Seconds()\n\tif b.sampleCount < 10 {\n\t\t// Bootstrap rtt with an average of first 10 rtt samples.\n\t\tb.rtt += (rttSample - b.rtt) / float64(b.sampleCount)\n\t} else {\n\t\t// Heed to the recent past more.\n\t\tb.rtt += (rttSample - b.rtt) * float64(alpha)\n\t}\n\tb.isSent = false\n\t// The number of bytes accumulated so far in the sample is smaller\n\t// than or equal to 1.5 times the real BDP on a saturated connection.\n\tbwCurrent := float64(b.sample) / (b.rtt * float64(1.5))\n\tif bwCurrent > b.bwMax {\n\t\tb.bwMax = bwCurrent\n\t}\n\t// If the current sample (which is smaller than or equal to the 1.5 times the real BDP) is\n\t// greater than or equal to 2/3rd our perceived bdp AND this is the maximum bandwidth seen so far, we\n\t// should update our perception of the network BDP.\n\tif float64(b.sample) >= beta*float64(b.bdp) && bwCurrent == b.bwMax && b.bdp != bdpLimit {\n\t\tsampleFloat := float64(b.sample)\n\t\tb.bdp = uint32(gamma * sampleFloat)\n\t\tif b.bdp > bdpLimit {\n\t\t\tb.bdp = bdpLimit\n\t\t}\n\t\tbdp := b.bdp\n\t\tb.mu.Unlock()\n\t\tb.updateFlowControl(bdp)\n\t\treturn\n\t}\n\tb.mu.Unlock()\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/internal/transport/controlbuf.go",
    "content": "/*\n *\n * Copyright 2014 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage transport\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"runtime\"\n\t\"sync\"\n\n\t\"golang.org/x/net/http2\"\n\t\"golang.org/x/net/http2/hpack\"\n)\n\nvar updateHeaderTblSize = func(e *hpack.Encoder, v uint32) {\n\te.SetMaxDynamicTableSizeLimit(v)\n}\n\ntype itemNode struct {\n\tit   interface{}\n\tnext *itemNode\n}\n\ntype itemList struct {\n\thead *itemNode\n\ttail *itemNode\n}\n\nfunc (il *itemList) enqueue(i interface{}) {\n\tn := &itemNode{it: i}\n\tif il.tail == nil {\n\t\til.head, il.tail = n, n\n\t\treturn\n\t}\n\til.tail.next = n\n\til.tail = n\n}\n\n// peek returns the first item in the list without removing it from the\n// list.\nfunc (il *itemList) peek() interface{} {\n\treturn il.head.it\n}\n\nfunc (il *itemList) dequeue() interface{} {\n\tif il.head == nil {\n\t\treturn nil\n\t}\n\ti := il.head.it\n\til.head = il.head.next\n\tif il.head == nil {\n\t\til.tail = nil\n\t}\n\treturn i\n}\n\nfunc (il *itemList) dequeueAll() *itemNode {\n\th := il.head\n\til.head, il.tail = nil, nil\n\treturn h\n}\n\nfunc (il *itemList) isEmpty() bool {\n\treturn il.head == nil\n}\n\n// The following defines various control items which could flow through\n// the control buffer of transport. They represent different aspects of\n// control tasks, e.g., flow control, settings, streaming resetting, etc.\n\n// registerStream is used to register an incoming stream with loopy writer.\ntype registerStream struct {\n\tstreamID uint32\n\twq       *writeQuota\n}\n\n// headerFrame is also used to register stream on the client-side.\ntype headerFrame struct {\n\tstreamID   uint32\n\thf         []hpack.HeaderField\n\tendStream  bool                       // Valid on server side.\n\tinitStream func(uint32) (bool, error) // Used only on the client side.\n\tonWrite    func()\n\twq         *writeQuota    // write quota for the stream created.\n\tcleanup    *cleanupStream // Valid on the server side.\n\tonOrphaned func(error)    // Valid on client-side\n}\n\ntype cleanupStream struct {\n\tstreamID uint32\n\tidPtr    *uint32\n\trst      bool\n\trstCode  http2.ErrCode\n\tonWrite  func()\n}\n\ntype dataFrame struct {\n\tstreamID  uint32\n\tendStream bool\n\th         []byte\n\td         []byte\n\t// onEachWrite is called every time\n\t// a part of d is written out.\n\tonEachWrite func()\n}\n\ntype incomingWindowUpdate struct {\n\tstreamID  uint32\n\tincrement uint32\n}\n\ntype outgoingWindowUpdate struct {\n\tstreamID  uint32\n\tincrement uint32\n}\n\ntype incomingSettings struct {\n\tss []http2.Setting\n}\n\ntype outgoingSettings struct {\n\tss []http2.Setting\n}\n\ntype settingsAck struct {\n}\n\ntype incomingGoAway struct {\n}\n\ntype goAway struct {\n\tcode      http2.ErrCode\n\tdebugData []byte\n\theadsUp   bool\n\tcloseConn bool\n}\n\ntype ping struct {\n\tack  bool\n\tdata [8]byte\n}\n\ntype outFlowControlSizeRequest struct {\n\tresp chan uint32\n}\n\ntype outStreamState int\n\nconst (\n\tactive outStreamState = iota\n\tempty\n\twaitingOnStreamQuota\n)\n\ntype outStream struct {\n\tid               uint32\n\tstate            outStreamState\n\titl              *itemList\n\tbytesOutStanding int\n\twq               *writeQuota\n\n\tnext *outStream\n\tprev *outStream\n}\n\nfunc (s *outStream) deleteSelf() {\n\tif s.prev != nil {\n\t\ts.prev.next = s.next\n\t}\n\tif s.next != nil {\n\t\ts.next.prev = s.prev\n\t}\n\ts.next, s.prev = nil, nil\n}\n\ntype outStreamList struct {\n\t// Following are sentinel objects that mark the\n\t// beginning and end of the list. They do not\n\t// contain any item lists. All valid objects are\n\t// inserted in between them.\n\t// This is needed so that an outStream object can\n\t// deleteSelf() in O(1) time without knowing which\n\t// list it belongs to.\n\thead *outStream\n\ttail *outStream\n}\n\nfunc newOutStreamList() *outStreamList {\n\thead, tail := new(outStream), new(outStream)\n\thead.next = tail\n\ttail.prev = head\n\treturn &outStreamList{\n\t\thead: head,\n\t\ttail: tail,\n\t}\n}\n\nfunc (l *outStreamList) enqueue(s *outStream) {\n\te := l.tail.prev\n\te.next = s\n\ts.prev = e\n\ts.next = l.tail\n\tl.tail.prev = s\n}\n\n// remove from the beginning of the list.\nfunc (l *outStreamList) dequeue() *outStream {\n\tb := l.head.next\n\tif b == l.tail {\n\t\treturn nil\n\t}\n\tb.deleteSelf()\n\treturn b\n}\n\n// controlBuffer is a way to pass information to loopy.\n// Information is passed as specific struct types called control frames.\n// A control frame not only represents data, messages or headers to be sent out\n// but can also be used to instruct loopy to update its internal state.\n// It shouldn't be confused with an HTTP2 frame, although some of the control frames\n// like dataFrame and headerFrame do go out on wire as HTTP2 frames.\ntype controlBuffer struct {\n\tch              chan struct{}\n\tdone            <-chan struct{}\n\tmu              sync.Mutex\n\tconsumerWaiting bool\n\tlist            *itemList\n\terr             error\n}\n\nfunc newControlBuffer(done <-chan struct{}) *controlBuffer {\n\treturn &controlBuffer{\n\t\tch:   make(chan struct{}, 1),\n\t\tlist: &itemList{},\n\t\tdone: done,\n\t}\n}\n\nfunc (c *controlBuffer) put(it interface{}) error {\n\t_, err := c.executeAndPut(nil, it)\n\treturn err\n}\n\nfunc (c *controlBuffer) executeAndPut(f func(it interface{}) bool, it interface{}) (bool, error) {\n\tvar wakeUp bool\n\tc.mu.Lock()\n\tif c.err != nil {\n\t\tc.mu.Unlock()\n\t\treturn false, c.err\n\t}\n\tif f != nil {\n\t\tif !f(it) { // f wasn't successful\n\t\t\tc.mu.Unlock()\n\t\t\treturn false, nil\n\t\t}\n\t}\n\tif c.consumerWaiting {\n\t\twakeUp = true\n\t\tc.consumerWaiting = false\n\t}\n\tc.list.enqueue(it)\n\tc.mu.Unlock()\n\tif wakeUp {\n\t\tselect {\n\t\tcase c.ch <- struct{}{}:\n\t\tdefault:\n\t\t}\n\t}\n\treturn true, nil\n}\n\n// Note argument f should never be nil.\nfunc (c *controlBuffer) execute(f func(it interface{}) bool, it interface{}) (bool, error) {\n\tc.mu.Lock()\n\tif c.err != nil {\n\t\tc.mu.Unlock()\n\t\treturn false, c.err\n\t}\n\tif !f(it) { // f wasn't successful\n\t\tc.mu.Unlock()\n\t\treturn false, nil\n\t}\n\tc.mu.Unlock()\n\treturn true, nil\n}\n\nfunc (c *controlBuffer) get(block bool) (interface{}, error) {\n\tfor {\n\t\tc.mu.Lock()\n\t\tif c.err != nil {\n\t\t\tc.mu.Unlock()\n\t\t\treturn nil, c.err\n\t\t}\n\t\tif !c.list.isEmpty() {\n\t\t\th := c.list.dequeue()\n\t\t\tc.mu.Unlock()\n\t\t\treturn h, nil\n\t\t}\n\t\tif !block {\n\t\t\tc.mu.Unlock()\n\t\t\treturn nil, nil\n\t\t}\n\t\tc.consumerWaiting = true\n\t\tc.mu.Unlock()\n\t\tselect {\n\t\tcase <-c.ch:\n\t\tcase <-c.done:\n\t\t\tc.finish()\n\t\t\treturn nil, ErrConnClosing\n\t\t}\n\t}\n}\n\nfunc (c *controlBuffer) finish() {\n\tc.mu.Lock()\n\tif c.err != nil {\n\t\tc.mu.Unlock()\n\t\treturn\n\t}\n\tc.err = ErrConnClosing\n\t// There may be headers for streams in the control buffer.\n\t// These streams need to be cleaned out since the transport\n\t// is still not aware of these yet.\n\tfor head := c.list.dequeueAll(); head != nil; head = head.next {\n\t\thdr, ok := head.it.(*headerFrame)\n\t\tif !ok {\n\t\t\tcontinue\n\t\t}\n\t\tif hdr.onOrphaned != nil { // It will be nil on the server-side.\n\t\t\thdr.onOrphaned(ErrConnClosing)\n\t\t}\n\t}\n\tc.mu.Unlock()\n}\n\ntype side int\n\nconst (\n\tclientSide side = iota\n\tserverSide\n)\n\n// Loopy receives frames from the control buffer.\n// Each frame is handled individually; most of the work done by loopy goes\n// into handling data frames. Loopy maintains a queue of active streams, and each\n// stream maintains a queue of data frames; as loopy receives data frames\n// it gets added to the queue of the relevant stream.\n// Loopy goes over this list of active streams by processing one node every iteration,\n// thereby closely resemebling to a round-robin scheduling over all streams. While\n// processing a stream, loopy writes out data bytes from this stream capped by the min\n// of http2MaxFrameLen, connection-level flow control and stream-level flow control.\ntype loopyWriter struct {\n\tside      side\n\tcbuf      *controlBuffer\n\tsendQuota uint32\n\toiws      uint32 // outbound initial window size.\n\t// estdStreams is map of all established streams that are not cleaned-up yet.\n\t// On client-side, this is all streams whose headers were sent out.\n\t// On server-side, this is all streams whose headers were received.\n\testdStreams map[uint32]*outStream // Established streams.\n\t// activeStreams is a linked-list of all streams that have data to send and some\n\t// stream-level flow control quota.\n\t// Each of these streams internally have a list of data items(and perhaps trailers\n\t// on the server-side) to be sent out.\n\tactiveStreams *outStreamList\n\tframer        *framer\n\thBuf          *bytes.Buffer  // The buffer for HPACK encoding.\n\thEnc          *hpack.Encoder // HPACK encoder.\n\tbdpEst        *bdpEstimator\n\tdraining      bool\n\n\t// Side-specific handlers\n\tssGoAwayHandler func(*goAway) (bool, error)\n}\n\nfunc newLoopyWriter(s side, fr *framer, cbuf *controlBuffer, bdpEst *bdpEstimator) *loopyWriter {\n\tvar buf bytes.Buffer\n\tl := &loopyWriter{\n\t\tside:          s,\n\t\tcbuf:          cbuf,\n\t\tsendQuota:     defaultWindowSize,\n\t\toiws:          defaultWindowSize,\n\t\testdStreams:   make(map[uint32]*outStream),\n\t\tactiveStreams: newOutStreamList(),\n\t\tframer:        fr,\n\t\thBuf:          &buf,\n\t\thEnc:          hpack.NewEncoder(&buf),\n\t\tbdpEst:        bdpEst,\n\t}\n\treturn l\n}\n\nconst minBatchSize = 1000\n\n// run should be run in a separate goroutine.\n// It reads control frames from controlBuf and processes them by:\n// 1. Updating loopy's internal state, or/and\n// 2. Writing out HTTP2 frames on the wire.\n//\n// Loopy keeps all active streams with data to send in a linked-list.\n// All streams in the activeStreams linked-list must have both:\n// 1. Data to send, and\n// 2. Stream level flow control quota available.\n//\n// In each iteration of run loop, other than processing the incoming control\n// frame, loopy calls processData, which processes one node from the activeStreams linked-list.\n// This results in writing of HTTP2 frames into an underlying write buffer.\n// When there's no more control frames to read from controlBuf, loopy flushes the write buffer.\n// As an optimization, to increase the batch size for each flush, loopy yields the processor, once\n// if the batch size is too low to give stream goroutines a chance to fill it up.\nfunc (l *loopyWriter) run() (err error) {\n\tdefer func() {\n\t\tif err == ErrConnClosing {\n\t\t\t// Don't log ErrConnClosing as error since it happens\n\t\t\t// 1. When the connection is closed by some other known issue.\n\t\t\t// 2. User closed the connection.\n\t\t\t// 3. A graceful close of connection.\n\t\t\tinfof(\"transport: loopyWriter.run returning. %v\", err)\n\t\t\terr = nil\n\t\t}\n\t}()\n\tfor {\n\t\tit, err := l.cbuf.get(true)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif err = l.handle(it); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif _, err = l.processData(); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgosched := true\n\thasdata:\n\t\tfor {\n\t\t\tit, err := l.cbuf.get(false)\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif it != nil {\n\t\t\t\tif err = l.handle(it); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tif _, err = l.processData(); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t\tcontinue hasdata\n\t\t\t}\n\t\t\tisEmpty, err := l.processData()\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tif !isEmpty {\n\t\t\t\tcontinue hasdata\n\t\t\t}\n\t\t\tif gosched {\n\t\t\t\tgosched = false\n\t\t\t\tif l.framer.writer.offset < minBatchSize {\n\t\t\t\t\truntime.Gosched()\n\t\t\t\t\tcontinue hasdata\n\t\t\t\t}\n\t\t\t}\n\t\t\tl.framer.writer.Flush()\n\t\t\tbreak hasdata\n\n\t\t}\n\t}\n}\n\nfunc (l *loopyWriter) outgoingWindowUpdateHandler(w *outgoingWindowUpdate) error {\n\treturn l.framer.fr.WriteWindowUpdate(w.streamID, w.increment)\n}\n\nfunc (l *loopyWriter) incomingWindowUpdateHandler(w *incomingWindowUpdate) error {\n\t// Otherwise update the quota.\n\tif w.streamID == 0 {\n\t\tl.sendQuota += w.increment\n\t\treturn nil\n\t}\n\t// Find the stream and update it.\n\tif str, ok := l.estdStreams[w.streamID]; ok {\n\t\tstr.bytesOutStanding -= int(w.increment)\n\t\tif strQuota := int(l.oiws) - str.bytesOutStanding; strQuota > 0 && str.state == waitingOnStreamQuota {\n\t\t\tstr.state = active\n\t\t\tl.activeStreams.enqueue(str)\n\t\t\treturn nil\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (l *loopyWriter) outgoingSettingsHandler(s *outgoingSettings) error {\n\treturn l.framer.fr.WriteSettings(s.ss...)\n}\n\nfunc (l *loopyWriter) incomingSettingsHandler(s *incomingSettings) error {\n\tif err := l.applySettings(s.ss); err != nil {\n\t\treturn err\n\t}\n\treturn l.framer.fr.WriteSettingsAck()\n}\n\nfunc (l *loopyWriter) registerStreamHandler(h *registerStream) error {\n\tstr := &outStream{\n\t\tid:    h.streamID,\n\t\tstate: empty,\n\t\titl:   &itemList{},\n\t\twq:    h.wq,\n\t}\n\tl.estdStreams[h.streamID] = str\n\treturn nil\n}\n\nfunc (l *loopyWriter) headerHandler(h *headerFrame) error {\n\tif l.side == serverSide {\n\t\tstr, ok := l.estdStreams[h.streamID]\n\t\tif !ok {\n\t\t\twarningf(\"transport: loopy doesn't recognize the stream: %d\", h.streamID)\n\t\t\treturn nil\n\t\t}\n\t\t// Case 1.A: Server is responding back with headers.\n\t\tif !h.endStream {\n\t\t\treturn l.writeHeader(h.streamID, h.endStream, h.hf, h.onWrite)\n\t\t}\n\t\t// else:  Case 1.B: Server wants to close stream.\n\n\t\tif str.state != empty { // either active or waiting on stream quota.\n\t\t\t// add it str's list of items.\n\t\t\tstr.itl.enqueue(h)\n\t\t\treturn nil\n\t\t}\n\t\tif err := l.writeHeader(h.streamID, h.endStream, h.hf, h.onWrite); err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn l.cleanupStreamHandler(h.cleanup)\n\t}\n\t// Case 2: Client wants to originate stream.\n\tstr := &outStream{\n\t\tid:    h.streamID,\n\t\tstate: empty,\n\t\titl:   &itemList{},\n\t\twq:    h.wq,\n\t}\n\tstr.itl.enqueue(h)\n\treturn l.originateStream(str)\n}\n\nfunc (l *loopyWriter) originateStream(str *outStream) error {\n\thdr := str.itl.dequeue().(*headerFrame)\n\tsendPing, err := hdr.initStream(str.id)\n\tif err != nil {\n\t\tif err == ErrConnClosing {\n\t\t\treturn err\n\t\t}\n\t\t// Other errors(errStreamDrain) need not close transport.\n\t\treturn nil\n\t}\n\tif err = l.writeHeader(str.id, hdr.endStream, hdr.hf, hdr.onWrite); err != nil {\n\t\treturn err\n\t}\n\tl.estdStreams[str.id] = str\n\tif sendPing {\n\t\treturn l.pingHandler(&ping{data: [8]byte{}})\n\t}\n\treturn nil\n}\n\nfunc (l *loopyWriter) writeHeader(streamID uint32, endStream bool, hf []hpack.HeaderField, onWrite func()) error {\n\tif onWrite != nil {\n\t\tonWrite()\n\t}\n\tl.hBuf.Reset()\n\tfor _, f := range hf {\n\t\tif err := l.hEnc.WriteField(f); err != nil {\n\t\t\twarningf(\"transport: loopyWriter.writeHeader encountered error while encoding headers:\", err)\n\t\t}\n\t}\n\tvar (\n\t\terr               error\n\t\tendHeaders, first bool\n\t)\n\tfirst = true\n\tfor !endHeaders {\n\t\tsize := l.hBuf.Len()\n\t\tif size > http2MaxFrameLen {\n\t\t\tsize = http2MaxFrameLen\n\t\t} else {\n\t\t\tendHeaders = true\n\t\t}\n\t\tif first {\n\t\t\tfirst = false\n\t\t\terr = l.framer.fr.WriteHeaders(http2.HeadersFrameParam{\n\t\t\t\tStreamID:      streamID,\n\t\t\t\tBlockFragment: l.hBuf.Next(size),\n\t\t\t\tEndStream:     endStream,\n\t\t\t\tEndHeaders:    endHeaders,\n\t\t\t})\n\t\t} else {\n\t\t\terr = l.framer.fr.WriteContinuation(\n\t\t\t\tstreamID,\n\t\t\t\tendHeaders,\n\t\t\t\tl.hBuf.Next(size),\n\t\t\t)\n\t\t}\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (l *loopyWriter) preprocessData(df *dataFrame) error {\n\tstr, ok := l.estdStreams[df.streamID]\n\tif !ok {\n\t\treturn nil\n\t}\n\t// If we got data for a stream it means that\n\t// stream was originated and the headers were sent out.\n\tstr.itl.enqueue(df)\n\tif str.state == empty {\n\t\tstr.state = active\n\t\tl.activeStreams.enqueue(str)\n\t}\n\treturn nil\n}\n\nfunc (l *loopyWriter) pingHandler(p *ping) error {\n\tif !p.ack {\n\t\tl.bdpEst.timesnap(p.data)\n\t}\n\treturn l.framer.fr.WritePing(p.ack, p.data)\n\n}\n\nfunc (l *loopyWriter) outFlowControlSizeRequestHandler(o *outFlowControlSizeRequest) error {\n\to.resp <- l.sendQuota\n\treturn nil\n}\n\nfunc (l *loopyWriter) cleanupStreamHandler(c *cleanupStream) error {\n\tc.onWrite()\n\tif str, ok := l.estdStreams[c.streamID]; ok {\n\t\t// On the server side it could be a trailers-only response or\n\t\t// a RST_STREAM before stream initialization thus the stream might\n\t\t// not be established yet.\n\t\tdelete(l.estdStreams, c.streamID)\n\t\tstr.deleteSelf()\n\t}\n\tif c.rst { // If RST_STREAM needs to be sent.\n\t\tif err := l.framer.fr.WriteRSTStream(c.streamID, c.rstCode); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\tif l.side == clientSide && l.draining && len(l.estdStreams) == 0 {\n\t\treturn ErrConnClosing\n\t}\n\treturn nil\n}\n\nfunc (l *loopyWriter) incomingGoAwayHandler(*incomingGoAway) error {\n\tif l.side == clientSide {\n\t\tl.draining = true\n\t\tif len(l.estdStreams) == 0 {\n\t\t\treturn ErrConnClosing\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (l *loopyWriter) goAwayHandler(g *goAway) error {\n\t// Handling of outgoing GoAway is very specific to side.\n\tif l.ssGoAwayHandler != nil {\n\t\tdraining, err := l.ssGoAwayHandler(g)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tl.draining = draining\n\t}\n\treturn nil\n}\n\nfunc (l *loopyWriter) handle(i interface{}) error {\n\tswitch i := i.(type) {\n\tcase *incomingWindowUpdate:\n\t\treturn l.incomingWindowUpdateHandler(i)\n\tcase *outgoingWindowUpdate:\n\t\treturn l.outgoingWindowUpdateHandler(i)\n\tcase *incomingSettings:\n\t\treturn l.incomingSettingsHandler(i)\n\tcase *outgoingSettings:\n\t\treturn l.outgoingSettingsHandler(i)\n\tcase *headerFrame:\n\t\treturn l.headerHandler(i)\n\tcase *registerStream:\n\t\treturn l.registerStreamHandler(i)\n\tcase *cleanupStream:\n\t\treturn l.cleanupStreamHandler(i)\n\tcase *incomingGoAway:\n\t\treturn l.incomingGoAwayHandler(i)\n\tcase *dataFrame:\n\t\treturn l.preprocessData(i)\n\tcase *ping:\n\t\treturn l.pingHandler(i)\n\tcase *goAway:\n\t\treturn l.goAwayHandler(i)\n\tcase *outFlowControlSizeRequest:\n\t\treturn l.outFlowControlSizeRequestHandler(i)\n\tdefault:\n\t\treturn fmt.Errorf(\"transport: unknown control message type %T\", i)\n\t}\n}\n\nfunc (l *loopyWriter) applySettings(ss []http2.Setting) error {\n\tfor _, s := range ss {\n\t\tswitch s.ID {\n\t\tcase http2.SettingInitialWindowSize:\n\t\t\to := l.oiws\n\t\t\tl.oiws = s.Val\n\t\t\tif o < l.oiws {\n\t\t\t\t// If the new limit is greater make all depleted streams active.\n\t\t\t\tfor _, stream := range l.estdStreams {\n\t\t\t\t\tif stream.state == waitingOnStreamQuota {\n\t\t\t\t\t\tstream.state = active\n\t\t\t\t\t\tl.activeStreams.enqueue(stream)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\tcase http2.SettingHeaderTableSize:\n\t\t\tupdateHeaderTblSize(l.hEnc, s.Val)\n\t\t}\n\t}\n\treturn nil\n}\n\n// processData removes the first stream from active streams, writes out at most 16KB\n// of its data and then puts it at the end of activeStreams if there's still more data\n// to be sent and stream has some stream-level flow control.\nfunc (l *loopyWriter) processData() (bool, error) {\n\tif l.sendQuota == 0 {\n\t\treturn true, nil\n\t}\n\tstr := l.activeStreams.dequeue() // Remove the first stream.\n\tif str == nil {\n\t\treturn true, nil\n\t}\n\tdataItem := str.itl.peek().(*dataFrame) // Peek at the first data item this stream.\n\t// A data item is represented by a dataFrame, since it later translates into\n\t// multiple HTTP2 data frames.\n\t// Every dataFrame has two buffers; h that keeps grpc-message header and d that is acutal data.\n\t// As an optimization to keep wire traffic low, data from d is copied to h to make as big as the\n\t// maximum possilbe HTTP2 frame size.\n\n\tif len(dataItem.h) == 0 && len(dataItem.d) == 0 { // Empty data frame\n\t\t// Client sends out empty data frame with endStream = true\n\t\tif err := l.framer.fr.WriteData(dataItem.streamID, dataItem.endStream, nil); err != nil {\n\t\t\treturn false, err\n\t\t}\n\t\tstr.itl.dequeue() // remove the empty data item from stream\n\t\tif str.itl.isEmpty() {\n\t\t\tstr.state = empty\n\t\t} else if trailer, ok := str.itl.peek().(*headerFrame); ok { // the next item is trailers.\n\t\t\tif err := l.writeHeader(trailer.streamID, trailer.endStream, trailer.hf, trailer.onWrite); err != nil {\n\t\t\t\treturn false, err\n\t\t\t}\n\t\t\tif err := l.cleanupStreamHandler(trailer.cleanup); err != nil {\n\t\t\t\treturn false, nil\n\t\t\t}\n\t\t} else {\n\t\t\tl.activeStreams.enqueue(str)\n\t\t}\n\t\treturn false, nil\n\t}\n\tvar (\n\t\tidx int\n\t\tbuf []byte\n\t)\n\tif len(dataItem.h) != 0 { // data header has not been written out yet.\n\t\tbuf = dataItem.h\n\t} else {\n\t\tidx = 1\n\t\tbuf = dataItem.d\n\t}\n\tsize := http2MaxFrameLen\n\tif len(buf) < size {\n\t\tsize = len(buf)\n\t}\n\tif strQuota := int(l.oiws) - str.bytesOutStanding; strQuota <= 0 { // stream-level flow control.\n\t\tstr.state = waitingOnStreamQuota\n\t\treturn false, nil\n\t} else if strQuota < size {\n\t\tsize = strQuota\n\t}\n\n\tif l.sendQuota < uint32(size) { // connection-level flow control.\n\t\tsize = int(l.sendQuota)\n\t}\n\t// Now that outgoing flow controls are checked we can replenish str's write quota\n\tstr.wq.replenish(size)\n\tvar endStream bool\n\t// If this is the last data message on this stream and all of it can be written in this iteration.\n\tif dataItem.endStream && size == len(buf) {\n\t\t// buf contains either data or it contains header but data is empty.\n\t\tif idx == 1 || len(dataItem.d) == 0 {\n\t\t\tendStream = true\n\t\t}\n\t}\n\tif dataItem.onEachWrite != nil {\n\t\tdataItem.onEachWrite()\n\t}\n\tif err := l.framer.fr.WriteData(dataItem.streamID, endStream, buf[:size]); err != nil {\n\t\treturn false, err\n\t}\n\tbuf = buf[size:]\n\tstr.bytesOutStanding += size\n\tl.sendQuota -= uint32(size)\n\tif idx == 0 {\n\t\tdataItem.h = buf\n\t} else {\n\t\tdataItem.d = buf\n\t}\n\n\tif len(dataItem.h) == 0 && len(dataItem.d) == 0 { // All the data from that message was written out.\n\t\tstr.itl.dequeue()\n\t}\n\tif str.itl.isEmpty() {\n\t\tstr.state = empty\n\t} else if trailer, ok := str.itl.peek().(*headerFrame); ok { // The next item is trailers.\n\t\tif err := l.writeHeader(trailer.streamID, trailer.endStream, trailer.hf, trailer.onWrite); err != nil {\n\t\t\treturn false, err\n\t\t}\n\t\tif err := l.cleanupStreamHandler(trailer.cleanup); err != nil {\n\t\t\treturn false, err\n\t\t}\n\t} else if int(l.oiws)-str.bytesOutStanding <= 0 { // Ran out of stream quota.\n\t\tstr.state = waitingOnStreamQuota\n\t} else { // Otherwise add it back to the list of active streams.\n\t\tl.activeStreams.enqueue(str)\n\t}\n\treturn false, nil\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/internal/transport/defaults.go",
    "content": "/*\n *\n * Copyright 2018 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage transport\n\nimport (\n\t\"math\"\n\t\"time\"\n)\n\nconst (\n\t// The default value of flow control window size in HTTP2 spec.\n\tdefaultWindowSize = 65535\n\t// The initial window size for flow control.\n\tinitialWindowSize             = defaultWindowSize // for an RPC\n\tinfinity                      = time.Duration(math.MaxInt64)\n\tdefaultClientKeepaliveTime    = infinity\n\tdefaultClientKeepaliveTimeout = 20 * time.Second\n\tdefaultMaxStreamsClient       = 100\n\tdefaultMaxConnectionIdle      = infinity\n\tdefaultMaxConnectionAge       = infinity\n\tdefaultMaxConnectionAgeGrace  = infinity\n\tdefaultServerKeepaliveTime    = 2 * time.Hour\n\tdefaultServerKeepaliveTimeout = 20 * time.Second\n\tdefaultKeepalivePolicyMinTime = 5 * time.Minute\n\t// max window limit set by HTTP2 Specs.\n\tmaxWindowSize = math.MaxInt32\n\t// defaultWriteQuota is the default value for number of data\n\t// bytes that each stream can schedule before some of it being\n\t// flushed out.\n\tdefaultWriteQuota              = 64 * 1024\n\tdefaultClientMaxHeaderListSize = uint32(16 << 20)\n\tdefaultServerMaxHeaderListSize = uint32(16 << 20)\n)\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/internal/transport/flowcontrol.go",
    "content": "/*\n *\n * Copyright 2014 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage transport\n\nimport (\n\t\"fmt\"\n\t\"math\"\n\t\"sync\"\n\t\"sync/atomic\"\n)\n\n// writeQuota is a soft limit on the amount of data a stream can\n// schedule before some of it is written out.\ntype writeQuota struct {\n\tquota int32\n\t// get waits on read from when quota goes less than or equal to zero.\n\t// replenish writes on it when quota goes positive again.\n\tch chan struct{}\n\t// done is triggered in error case.\n\tdone <-chan struct{}\n\t// replenish is called by loopyWriter to give quota back to.\n\t// It is implemented as a field so that it can be updated\n\t// by tests.\n\treplenish func(n int)\n}\n\nfunc newWriteQuota(sz int32, done <-chan struct{}) *writeQuota {\n\tw := &writeQuota{\n\t\tquota: sz,\n\t\tch:    make(chan struct{}, 1),\n\t\tdone:  done,\n\t}\n\tw.replenish = w.realReplenish\n\treturn w\n}\n\nfunc (w *writeQuota) get(sz int32) error {\n\tfor {\n\t\tif atomic.LoadInt32(&w.quota) > 0 {\n\t\t\tatomic.AddInt32(&w.quota, -sz)\n\t\t\treturn nil\n\t\t}\n\t\tselect {\n\t\tcase <-w.ch:\n\t\t\tcontinue\n\t\tcase <-w.done:\n\t\t\treturn errStreamDone\n\t\t}\n\t}\n}\n\nfunc (w *writeQuota) realReplenish(n int) {\n\tsz := int32(n)\n\ta := atomic.AddInt32(&w.quota, sz)\n\tb := a - sz\n\tif b <= 0 && a > 0 {\n\t\tselect {\n\t\tcase w.ch <- struct{}{}:\n\t\tdefault:\n\t\t}\n\t}\n}\n\ntype trInFlow struct {\n\tlimit               uint32\n\tunacked             uint32\n\teffectiveWindowSize uint32\n}\n\nfunc (f *trInFlow) newLimit(n uint32) uint32 {\n\td := n - f.limit\n\tf.limit = n\n\tf.updateEffectiveWindowSize()\n\treturn d\n}\n\nfunc (f *trInFlow) onData(n uint32) uint32 {\n\tf.unacked += n\n\tif f.unacked >= f.limit/4 {\n\t\tw := f.unacked\n\t\tf.unacked = 0\n\t\tf.updateEffectiveWindowSize()\n\t\treturn w\n\t}\n\tf.updateEffectiveWindowSize()\n\treturn 0\n}\n\nfunc (f *trInFlow) reset() uint32 {\n\tw := f.unacked\n\tf.unacked = 0\n\tf.updateEffectiveWindowSize()\n\treturn w\n}\n\nfunc (f *trInFlow) updateEffectiveWindowSize() {\n\tatomic.StoreUint32(&f.effectiveWindowSize, f.limit-f.unacked)\n}\n\nfunc (f *trInFlow) getSize() uint32 {\n\treturn atomic.LoadUint32(&f.effectiveWindowSize)\n}\n\n// TODO(mmukhi): Simplify this code.\n// inFlow deals with inbound flow control\ntype inFlow struct {\n\tmu sync.Mutex\n\t// The inbound flow control limit for pending data.\n\tlimit uint32\n\t// pendingData is the overall data which have been received but not been\n\t// consumed by applications.\n\tpendingData uint32\n\t// The amount of data the application has consumed but grpc has not sent\n\t// window update for them. Used to reduce window update frequency.\n\tpendingUpdate uint32\n\t// delta is the extra window update given by receiver when an application\n\t// is reading data bigger in size than the inFlow limit.\n\tdelta uint32\n}\n\n// newLimit updates the inflow window to a new value n.\n// It assumes that n is always greater than the old limit.\nfunc (f *inFlow) newLimit(n uint32) uint32 {\n\tf.mu.Lock()\n\td := n - f.limit\n\tf.limit = n\n\tf.mu.Unlock()\n\treturn d\n}\n\nfunc (f *inFlow) maybeAdjust(n uint32) uint32 {\n\tif n > uint32(math.MaxInt32) {\n\t\tn = uint32(math.MaxInt32)\n\t}\n\tf.mu.Lock()\n\t// estSenderQuota is the receiver's view of the maximum number of bytes the sender\n\t// can send without a window update.\n\testSenderQuota := int32(f.limit - (f.pendingData + f.pendingUpdate))\n\t// estUntransmittedData is the maximum number of bytes the sends might not have put\n\t// on the wire yet. A value of 0 or less means that we have already received all or\n\t// more bytes than the application is requesting to read.\n\testUntransmittedData := int32(n - f.pendingData) // Casting into int32 since it could be negative.\n\t// This implies that unless we send a window update, the sender won't be able to send all the bytes\n\t// for this message. Therefore we must send an update over the limit since there's an active read\n\t// request from the application.\n\tif estUntransmittedData > estSenderQuota {\n\t\t// Sender's window shouldn't go more than 2^31 - 1 as specified in the HTTP spec.\n\t\tif f.limit+n > maxWindowSize {\n\t\t\tf.delta = maxWindowSize - f.limit\n\t\t} else {\n\t\t\t// Send a window update for the whole message and not just the difference between\n\t\t\t// estUntransmittedData and estSenderQuota. This will be helpful in case the message\n\t\t\t// is padded; We will fallback on the current available window(at least a 1/4th of the limit).\n\t\t\tf.delta = n\n\t\t}\n\t\tf.mu.Unlock()\n\t\treturn f.delta\n\t}\n\tf.mu.Unlock()\n\treturn 0\n}\n\n// onData is invoked when some data frame is received. It updates pendingData.\nfunc (f *inFlow) onData(n uint32) error {\n\tf.mu.Lock()\n\tf.pendingData += n\n\tif f.pendingData+f.pendingUpdate > f.limit+f.delta {\n\t\tlimit := f.limit\n\t\trcvd := f.pendingData + f.pendingUpdate\n\t\tf.mu.Unlock()\n\t\treturn fmt.Errorf(\"received %d-bytes data exceeding the limit %d bytes\", rcvd, limit)\n\t}\n\tf.mu.Unlock()\n\treturn nil\n}\n\n// onRead is invoked when the application reads the data. It returns the window size\n// to be sent to the peer.\nfunc (f *inFlow) onRead(n uint32) uint32 {\n\tf.mu.Lock()\n\tif f.pendingData == 0 {\n\t\tf.mu.Unlock()\n\t\treturn 0\n\t}\n\tf.pendingData -= n\n\tif n > f.delta {\n\t\tn -= f.delta\n\t\tf.delta = 0\n\t} else {\n\t\tf.delta -= n\n\t\tn = 0\n\t}\n\tf.pendingUpdate += n\n\tif f.pendingUpdate >= f.limit/4 {\n\t\twu := f.pendingUpdate\n\t\tf.pendingUpdate = 0\n\t\tf.mu.Unlock()\n\t\treturn wu\n\t}\n\tf.mu.Unlock()\n\treturn 0\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/internal/transport/go16.go",
    "content": "// +build go1.6,!go1.7\n\n/*\n *\n * Copyright 2016 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage transport\n\nimport (\n\t\"net\"\n\t\"net/http\"\n\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/status\"\n\n\t\"golang.org/x/net/context\"\n)\n\n// dialContext connects to the address on the named network.\nfunc dialContext(ctx context.Context, network, address string) (net.Conn, error) {\n\treturn (&net.Dialer{Cancel: ctx.Done()}).Dial(network, address)\n}\n\n// ContextErr converts the error from context package into a status error.\nfunc ContextErr(err error) error {\n\tswitch err {\n\tcase context.DeadlineExceeded:\n\t\treturn status.Error(codes.DeadlineExceeded, err.Error())\n\tcase context.Canceled:\n\t\treturn status.Error(codes.Canceled, err.Error())\n\t}\n\treturn status.Errorf(codes.Internal, \"Unexpected error from context packet: %v\", err)\n}\n\n// contextFromRequest returns a background context.\nfunc contextFromRequest(r *http.Request) context.Context {\n\treturn context.Background()\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/internal/transport/go17.go",
    "content": "// +build go1.7\n\n/*\n *\n * Copyright 2016 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage transport\n\nimport (\n\t\"context\"\n\t\"net\"\n\t\"net/http\"\n\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/status\"\n\n\tnetctx \"golang.org/x/net/context\"\n)\n\n// dialContext connects to the address on the named network.\nfunc dialContext(ctx context.Context, network, address string) (net.Conn, error) {\n\treturn (&net.Dialer{}).DialContext(ctx, network, address)\n}\n\n// ContextErr converts the error from context package into a status error.\nfunc ContextErr(err error) error {\n\tswitch err {\n\tcase context.DeadlineExceeded, netctx.DeadlineExceeded:\n\t\treturn status.Error(codes.DeadlineExceeded, err.Error())\n\tcase context.Canceled, netctx.Canceled:\n\t\treturn status.Error(codes.Canceled, err.Error())\n\t}\n\treturn status.Errorf(codes.Internal, \"Unexpected error from context packet: %v\", err)\n}\n\n// contextFromRequest returns a context from the HTTP Request.\nfunc contextFromRequest(r *http.Request) context.Context {\n\treturn r.Context()\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/internal/transport/handler_server.go",
    "content": "/*\n *\n * Copyright 2016 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n// This file is the implementation of a gRPC server using HTTP/2 which\n// uses the standard Go http2 Server implementation (via the\n// http.Handler interface), rather than speaking low-level HTTP/2\n// frames itself. It is the implementation of *grpc.Server.ServeHTTP.\n\npackage transport\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"net\"\n\t\"net/http\"\n\t\"strings\"\n\t\"sync\"\n\t\"time\"\n\n\t\"github.com/golang/protobuf/proto\"\n\t\"golang.org/x/net/context\"\n\t\"golang.org/x/net/http2\"\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/credentials\"\n\t\"google.golang.org/grpc/metadata\"\n\t\"google.golang.org/grpc/peer\"\n\t\"google.golang.org/grpc/stats\"\n\t\"google.golang.org/grpc/status\"\n)\n\n// NewServerHandlerTransport returns a ServerTransport handling gRPC\n// from inside an http.Handler. It requires that the http Server\n// supports HTTP/2.\nfunc NewServerHandlerTransport(w http.ResponseWriter, r *http.Request, stats stats.Handler) (ServerTransport, error) {\n\tif r.ProtoMajor != 2 {\n\t\treturn nil, errors.New(\"gRPC requires HTTP/2\")\n\t}\n\tif r.Method != \"POST\" {\n\t\treturn nil, errors.New(\"invalid gRPC request method\")\n\t}\n\tcontentType := r.Header.Get(\"Content-Type\")\n\t// TODO: do we assume contentType is lowercase? we did before\n\tcontentSubtype, validContentType := contentSubtype(contentType)\n\tif !validContentType {\n\t\treturn nil, errors.New(\"invalid gRPC request content-type\")\n\t}\n\tif _, ok := w.(http.Flusher); !ok {\n\t\treturn nil, errors.New(\"gRPC requires a ResponseWriter supporting http.Flusher\")\n\t}\n\tif _, ok := w.(http.CloseNotifier); !ok {\n\t\treturn nil, errors.New(\"gRPC requires a ResponseWriter supporting http.CloseNotifier\")\n\t}\n\n\tst := &serverHandlerTransport{\n\t\trw:             w,\n\t\treq:            r,\n\t\tclosedCh:       make(chan struct{}),\n\t\twrites:         make(chan func()),\n\t\tcontentType:    contentType,\n\t\tcontentSubtype: contentSubtype,\n\t\tstats:          stats,\n\t}\n\n\tif v := r.Header.Get(\"grpc-timeout\"); v != \"\" {\n\t\tto, err := decodeTimeout(v)\n\t\tif err != nil {\n\t\t\treturn nil, status.Errorf(codes.Internal, \"malformed time-out: %v\", err)\n\t\t}\n\t\tst.timeoutSet = true\n\t\tst.timeout = to\n\t}\n\n\tmetakv := []string{\"content-type\", contentType}\n\tif r.Host != \"\" {\n\t\tmetakv = append(metakv, \":authority\", r.Host)\n\t}\n\tfor k, vv := range r.Header {\n\t\tk = strings.ToLower(k)\n\t\tif isReservedHeader(k) && !isWhitelistedHeader(k) {\n\t\t\tcontinue\n\t\t}\n\t\tfor _, v := range vv {\n\t\t\tv, err := decodeMetadataHeader(k, v)\n\t\t\tif err != nil {\n\t\t\t\treturn nil, status.Errorf(codes.Internal, \"malformed binary metadata: %v\", err)\n\t\t\t}\n\t\t\tmetakv = append(metakv, k, v)\n\t\t}\n\t}\n\tst.headerMD = metadata.Pairs(metakv...)\n\n\treturn st, nil\n}\n\n// serverHandlerTransport is an implementation of ServerTransport\n// which replies to exactly one gRPC request (exactly one HTTP request),\n// using the net/http.Handler interface. This http.Handler is guaranteed\n// at this point to be speaking over HTTP/2, so it's able to speak valid\n// gRPC.\ntype serverHandlerTransport struct {\n\trw               http.ResponseWriter\n\treq              *http.Request\n\ttimeoutSet       bool\n\ttimeout          time.Duration\n\tdidCommonHeaders bool\n\n\theaderMD metadata.MD\n\n\tcloseOnce sync.Once\n\tclosedCh  chan struct{} // closed on Close\n\n\t// writes is a channel of code to run serialized in the\n\t// ServeHTTP (HandleStreams) goroutine. The channel is closed\n\t// when WriteStatus is called.\n\twrites chan func()\n\n\t// block concurrent WriteStatus calls\n\t// e.g. grpc/(*serverStream).SendMsg/RecvMsg\n\twriteStatusMu sync.Mutex\n\n\t// we just mirror the request content-type\n\tcontentType string\n\t// we store both contentType and contentSubtype so we don't keep recreating them\n\t// TODO make sure this is consistent across handler_server and http2_server\n\tcontentSubtype string\n\n\tstats stats.Handler\n}\n\nfunc (ht *serverHandlerTransport) Close() error {\n\tht.closeOnce.Do(ht.closeCloseChanOnce)\n\treturn nil\n}\n\nfunc (ht *serverHandlerTransport) closeCloseChanOnce() { close(ht.closedCh) }\n\nfunc (ht *serverHandlerTransport) RemoteAddr() net.Addr { return strAddr(ht.req.RemoteAddr) }\n\n// strAddr is a net.Addr backed by either a TCP \"ip:port\" string, or\n// the empty string if unknown.\ntype strAddr string\n\nfunc (a strAddr) Network() string {\n\tif a != \"\" {\n\t\t// Per the documentation on net/http.Request.RemoteAddr, if this is\n\t\t// set, it's set to the IP:port of the peer (hence, TCP):\n\t\t// https://golang.org/pkg/net/http/#Request\n\t\t//\n\t\t// If we want to support Unix sockets later, we can\n\t\t// add our own grpc-specific convention within the\n\t\t// grpc codebase to set RemoteAddr to a different\n\t\t// format, or probably better: we can attach it to the\n\t\t// context and use that from serverHandlerTransport.RemoteAddr.\n\t\treturn \"tcp\"\n\t}\n\treturn \"\"\n}\n\nfunc (a strAddr) String() string { return string(a) }\n\n// do runs fn in the ServeHTTP goroutine.\nfunc (ht *serverHandlerTransport) do(fn func()) error {\n\t// Avoid a panic writing to closed channel. Imperfect but maybe good enough.\n\tselect {\n\tcase <-ht.closedCh:\n\t\treturn ErrConnClosing\n\tdefault:\n\t\tselect {\n\t\tcase ht.writes <- fn:\n\t\t\treturn nil\n\t\tcase <-ht.closedCh:\n\t\t\treturn ErrConnClosing\n\t\t}\n\t}\n}\n\nfunc (ht *serverHandlerTransport) WriteStatus(s *Stream, st *status.Status) error {\n\tht.writeStatusMu.Lock()\n\tdefer ht.writeStatusMu.Unlock()\n\n\terr := ht.do(func() {\n\t\tht.writeCommonHeaders(s)\n\n\t\t// And flush, in case no header or body has been sent yet.\n\t\t// This forces a separation of headers and trailers if this is the\n\t\t// first call (for example, in end2end tests's TestNoService).\n\t\tht.rw.(http.Flusher).Flush()\n\n\t\th := ht.rw.Header()\n\t\th.Set(\"Grpc-Status\", fmt.Sprintf(\"%d\", st.Code()))\n\t\tif m := st.Message(); m != \"\" {\n\t\t\th.Set(\"Grpc-Message\", encodeGrpcMessage(m))\n\t\t}\n\n\t\tif p := st.Proto(); p != nil && len(p.Details) > 0 {\n\t\t\tstBytes, err := proto.Marshal(p)\n\t\t\tif err != nil {\n\t\t\t\t// TODO: return error instead, when callers are able to handle it.\n\t\t\t\tpanic(err)\n\t\t\t}\n\n\t\t\th.Set(\"Grpc-Status-Details-Bin\", encodeBinHeader(stBytes))\n\t\t}\n\n\t\tif md := s.Trailer(); len(md) > 0 {\n\t\t\tfor k, vv := range md {\n\t\t\t\t// Clients don't tolerate reading restricted headers after some non restricted ones were sent.\n\t\t\t\tif isReservedHeader(k) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tfor _, v := range vv {\n\t\t\t\t\t// http2 ResponseWriter mechanism to send undeclared Trailers after\n\t\t\t\t\t// the headers have possibly been written.\n\t\t\t\t\th.Add(http2.TrailerPrefix+k, encodeMetadataHeader(k, v))\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t})\n\n\tif err == nil { // transport has not been closed\n\t\tif ht.stats != nil {\n\t\t\tht.stats.HandleRPC(s.Context(), &stats.OutTrailer{})\n\t\t}\n\t\tht.Close()\n\t\tclose(ht.writes)\n\t}\n\treturn err\n}\n\n// writeCommonHeaders sets common headers on the first write\n// call (Write, WriteHeader, or WriteStatus).\nfunc (ht *serverHandlerTransport) writeCommonHeaders(s *Stream) {\n\tif ht.didCommonHeaders {\n\t\treturn\n\t}\n\tht.didCommonHeaders = true\n\n\th := ht.rw.Header()\n\th[\"Date\"] = nil // suppress Date to make tests happy; TODO: restore\n\th.Set(\"Content-Type\", ht.contentType)\n\n\t// Predeclare trailers we'll set later in WriteStatus (after the body).\n\t// This is a SHOULD in the HTTP RFC, and the way you add (known)\n\t// Trailers per the net/http.ResponseWriter contract.\n\t// See https://golang.org/pkg/net/http/#ResponseWriter\n\t// and https://golang.org/pkg/net/http/#example_ResponseWriter_trailers\n\th.Add(\"Trailer\", \"Grpc-Status\")\n\th.Add(\"Trailer\", \"Grpc-Message\")\n\th.Add(\"Trailer\", \"Grpc-Status-Details-Bin\")\n\n\tif s.sendCompress != \"\" {\n\t\th.Set(\"Grpc-Encoding\", s.sendCompress)\n\t}\n}\n\nfunc (ht *serverHandlerTransport) Write(s *Stream, hdr []byte, data []byte, opts *Options) error {\n\treturn ht.do(func() {\n\t\tht.writeCommonHeaders(s)\n\t\tht.rw.Write(hdr)\n\t\tht.rw.Write(data)\n\t\tht.rw.(http.Flusher).Flush()\n\t})\n}\n\nfunc (ht *serverHandlerTransport) WriteHeader(s *Stream, md metadata.MD) error {\n\terr := ht.do(func() {\n\t\tht.writeCommonHeaders(s)\n\t\th := ht.rw.Header()\n\t\tfor k, vv := range md {\n\t\t\t// Clients don't tolerate reading restricted headers after some non restricted ones were sent.\n\t\t\tif isReservedHeader(k) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tfor _, v := range vv {\n\t\t\t\tv = encodeMetadataHeader(k, v)\n\t\t\t\th.Add(k, v)\n\t\t\t}\n\t\t}\n\t\tht.rw.WriteHeader(200)\n\t\tht.rw.(http.Flusher).Flush()\n\t})\n\n\tif err == nil {\n\t\tif ht.stats != nil {\n\t\t\tht.stats.HandleRPC(s.Context(), &stats.OutHeader{})\n\t\t}\n\t}\n\treturn err\n}\n\nfunc (ht *serverHandlerTransport) HandleStreams(startStream func(*Stream), traceCtx func(context.Context, string) context.Context) {\n\t// With this transport type there will be exactly 1 stream: this HTTP request.\n\n\tctx := contextFromRequest(ht.req)\n\tvar cancel context.CancelFunc\n\tif ht.timeoutSet {\n\t\tctx, cancel = context.WithTimeout(ctx, ht.timeout)\n\t} else {\n\t\tctx, cancel = context.WithCancel(ctx)\n\t}\n\n\t// requestOver is closed when either the request's context is done\n\t// or the status has been written via WriteStatus.\n\trequestOver := make(chan struct{})\n\n\t// clientGone receives a single value if peer is gone, either\n\t// because the underlying connection is dead or because the\n\t// peer sends an http2 RST_STREAM.\n\tclientGone := ht.rw.(http.CloseNotifier).CloseNotify()\n\tgo func() {\n\t\tselect {\n\t\tcase <-requestOver:\n\t\t\treturn\n\t\tcase <-ht.closedCh:\n\t\tcase <-clientGone:\n\t\t}\n\t\tcancel()\n\t}()\n\n\treq := ht.req\n\n\ts := &Stream{\n\t\tid:             0, // irrelevant\n\t\trequestRead:    func(int) {},\n\t\tcancel:         cancel,\n\t\tbuf:            newRecvBuffer(),\n\t\tst:             ht,\n\t\tmethod:         req.URL.Path,\n\t\trecvCompress:   req.Header.Get(\"grpc-encoding\"),\n\t\tcontentSubtype: ht.contentSubtype,\n\t}\n\tpr := &peer.Peer{\n\t\tAddr: ht.RemoteAddr(),\n\t}\n\tif req.TLS != nil {\n\t\tpr.AuthInfo = credentials.TLSInfo{State: *req.TLS}\n\t}\n\tctx = metadata.NewIncomingContext(ctx, ht.headerMD)\n\ts.ctx = peer.NewContext(ctx, pr)\n\tif ht.stats != nil {\n\t\ts.ctx = ht.stats.TagRPC(s.ctx, &stats.RPCTagInfo{FullMethodName: s.method})\n\t\tinHeader := &stats.InHeader{\n\t\t\tFullMethod:  s.method,\n\t\t\tRemoteAddr:  ht.RemoteAddr(),\n\t\t\tCompression: s.recvCompress,\n\t\t}\n\t\tht.stats.HandleRPC(s.ctx, inHeader)\n\t}\n\ts.trReader = &transportReader{\n\t\treader:        &recvBufferReader{ctx: s.ctx, ctxDone: s.ctx.Done(), recv: s.buf},\n\t\twindowHandler: func(int) {},\n\t}\n\n\t// readerDone is closed when the Body.Read-ing goroutine exits.\n\treaderDone := make(chan struct{})\n\tgo func() {\n\t\tdefer close(readerDone)\n\n\t\t// TODO: minimize garbage, optimize recvBuffer code/ownership\n\t\tconst readSize = 8196\n\t\tfor buf := make([]byte, readSize); ; {\n\t\t\tn, err := req.Body.Read(buf)\n\t\t\tif n > 0 {\n\t\t\t\ts.buf.put(recvMsg{data: buf[:n:n]})\n\t\t\t\tbuf = buf[n:]\n\t\t\t}\n\t\t\tif err != nil {\n\t\t\t\ts.buf.put(recvMsg{err: mapRecvMsgError(err)})\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif len(buf) == 0 {\n\t\t\t\tbuf = make([]byte, readSize)\n\t\t\t}\n\t\t}\n\t}()\n\n\t// startStream is provided by the *grpc.Server's serveStreams.\n\t// It starts a goroutine serving s and exits immediately.\n\t// The goroutine that is started is the one that then calls\n\t// into ht, calling WriteHeader, Write, WriteStatus, Close, etc.\n\tstartStream(s)\n\n\tht.runStream()\n\tclose(requestOver)\n\n\t// Wait for reading goroutine to finish.\n\treq.Body.Close()\n\t<-readerDone\n}\n\nfunc (ht *serverHandlerTransport) runStream() {\n\tfor {\n\t\tselect {\n\t\tcase fn, ok := <-ht.writes:\n\t\t\tif !ok {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tfn()\n\t\tcase <-ht.closedCh:\n\t\t\treturn\n\t\t}\n\t}\n}\n\nfunc (ht *serverHandlerTransport) IncrMsgSent() {}\n\nfunc (ht *serverHandlerTransport) IncrMsgRecv() {}\n\nfunc (ht *serverHandlerTransport) Drain() {\n\tpanic(\"Drain() is not implemented\")\n}\n\n// mapRecvMsgError returns the non-nil err into the appropriate\n// error value as expected by callers of *grpc.parser.recvMsg.\n// In particular, in can only be:\n//   * io.EOF\n//   * io.ErrUnexpectedEOF\n//   * of type transport.ConnectionError\n//   * an error from the status package\nfunc mapRecvMsgError(err error) error {\n\tif err == io.EOF || err == io.ErrUnexpectedEOF {\n\t\treturn err\n\t}\n\tif se, ok := err.(http2.StreamError); ok {\n\t\tif code, ok := http2ErrConvTab[se.Code]; ok {\n\t\t\treturn status.Error(code, se.Error())\n\t\t}\n\t}\n\treturn connectionErrorf(true, err, err.Error())\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/internal/transport/http2_client.go",
    "content": "/*\n *\n * Copyright 2014 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage transport\n\nimport (\n\t\"io\"\n\t\"math\"\n\t\"net\"\n\t\"strconv\"\n\t\"strings\"\n\t\"sync\"\n\t\"sync/atomic\"\n\t\"time\"\n\n\t\"golang.org/x/net/context\"\n\t\"golang.org/x/net/http2\"\n\t\"golang.org/x/net/http2/hpack\"\n\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/credentials\"\n\t\"google.golang.org/grpc/internal/channelz\"\n\t\"google.golang.org/grpc/keepalive\"\n\t\"google.golang.org/grpc/metadata\"\n\t\"google.golang.org/grpc/peer\"\n\t\"google.golang.org/grpc/stats\"\n\t\"google.golang.org/grpc/status\"\n)\n\n// http2Client implements the ClientTransport interface with HTTP2.\ntype http2Client struct {\n\tctx        context.Context\n\tcancel     context.CancelFunc\n\tctxDone    <-chan struct{} // Cache the ctx.Done() chan.\n\tuserAgent  string\n\tmd         interface{}\n\tconn       net.Conn // underlying communication channel\n\tloopy      *loopyWriter\n\tremoteAddr net.Addr\n\tlocalAddr  net.Addr\n\tauthInfo   credentials.AuthInfo // auth info about the connection\n\n\treaderDone chan struct{} // sync point to enable testing.\n\twriterDone chan struct{} // sync point to enable testing.\n\t// goAway is closed to notify the upper layer (i.e., addrConn.transportMonitor)\n\t// that the server sent GoAway on this transport.\n\tgoAway chan struct{}\n\t// awakenKeepalive is used to wake up keepalive when after it has gone dormant.\n\tawakenKeepalive chan struct{}\n\n\tframer *framer\n\t// controlBuf delivers all the control related tasks (e.g., window\n\t// updates, reset streams, and various settings) to the controller.\n\tcontrolBuf *controlBuffer\n\tfc         *trInFlow\n\t// The scheme used: https if TLS is on, http otherwise.\n\tscheme string\n\n\tisSecure bool\n\n\tcreds []credentials.PerRPCCredentials\n\n\t// Boolean to keep track of reading activity on transport.\n\t// 1 is true and 0 is false.\n\tactivity         uint32 // Accessed atomically.\n\tkp               keepalive.ClientParameters\n\tkeepaliveEnabled bool\n\n\tstatsHandler stats.Handler\n\n\tinitialWindowSize int32\n\n\t// configured by peer through SETTINGS_MAX_HEADER_LIST_SIZE\n\tmaxSendHeaderListSize *uint32\n\n\tbdpEst *bdpEstimator\n\t// onSuccess is a callback that client transport calls upon\n\t// receiving server preface to signal that a succefull HTTP2\n\t// connection was established.\n\tonSuccess func()\n\n\tmaxConcurrentStreams  uint32\n\tstreamQuota           int64\n\tstreamsQuotaAvailable chan struct{}\n\twaitingStreams        uint32\n\tnextID                uint32\n\n\tmu            sync.Mutex // guard the following variables\n\tstate         transportState\n\tactiveStreams map[uint32]*Stream\n\t// prevGoAway ID records the Last-Stream-ID in the previous GOAway frame.\n\tprevGoAwayID uint32\n\t// goAwayReason records the http2.ErrCode and debug data received with the\n\t// GoAway frame.\n\tgoAwayReason GoAwayReason\n\n\t// Fields below are for channelz metric collection.\n\tchannelzID int64 // channelz unique identification number\n\tczmu       sync.RWMutex\n\tkpCount    int64\n\t// The number of streams that have started, including already finished ones.\n\tstreamsStarted int64\n\t// The number of streams that have ended successfully by receiving EoS bit set\n\t// frame from server.\n\tstreamsSucceeded  int64\n\tstreamsFailed     int64\n\tlastStreamCreated time.Time\n\tmsgSent           int64\n\tmsgRecv           int64\n\tlastMsgSent       time.Time\n\tlastMsgRecv       time.Time\n}\n\nfunc dial(ctx context.Context, fn func(context.Context, string) (net.Conn, error), addr string) (net.Conn, error) {\n\tif fn != nil {\n\t\treturn fn(ctx, addr)\n\t}\n\treturn dialContext(ctx, \"tcp\", addr)\n}\n\nfunc isTemporary(err error) bool {\n\tswitch err := err.(type) {\n\tcase interface {\n\t\tTemporary() bool\n\t}:\n\t\treturn err.Temporary()\n\tcase interface {\n\t\tTimeout() bool\n\t}:\n\t\t// Timeouts may be resolved upon retry, and are thus treated as\n\t\t// temporary.\n\t\treturn err.Timeout()\n\t}\n\treturn true\n}\n\n// newHTTP2Client constructs a connected ClientTransport to addr based on HTTP2\n// and starts to receive messages on it. Non-nil error returns if construction\n// fails.\nfunc newHTTP2Client(connectCtx, ctx context.Context, addr TargetInfo, opts ConnectOptions, onSuccess func()) (_ *http2Client, err error) {\n\tscheme := \"http\"\n\tctx, cancel := context.WithCancel(ctx)\n\tdefer func() {\n\t\tif err != nil {\n\t\t\tcancel()\n\t\t}\n\t}()\n\n\tconn, err := dial(connectCtx, opts.Dialer, addr.Addr)\n\tif err != nil {\n\t\tif opts.FailOnNonTempDialError {\n\t\t\treturn nil, connectionErrorf(isTemporary(err), err, \"transport: error while dialing: %v\", err)\n\t\t}\n\t\treturn nil, connectionErrorf(true, err, \"transport: Error while dialing %v\", err)\n\t}\n\t// Any further errors will close the underlying connection\n\tdefer func(conn net.Conn) {\n\t\tif err != nil {\n\t\t\tconn.Close()\n\t\t}\n\t}(conn)\n\tvar (\n\t\tisSecure bool\n\t\tauthInfo credentials.AuthInfo\n\t)\n\tif creds := opts.TransportCredentials; creds != nil {\n\t\tscheme = \"https\"\n\t\tconn, authInfo, err = creds.ClientHandshake(connectCtx, addr.Authority, conn)\n\t\tif err != nil {\n\t\t\treturn nil, connectionErrorf(isTemporary(err), err, \"transport: authentication handshake failed: %v\", err)\n\t\t}\n\t\tisSecure = true\n\t}\n\tkp := opts.KeepaliveParams\n\t// Validate keepalive parameters.\n\tif kp.Time == 0 {\n\t\tkp.Time = defaultClientKeepaliveTime\n\t}\n\tif kp.Timeout == 0 {\n\t\tkp.Timeout = defaultClientKeepaliveTimeout\n\t}\n\tdynamicWindow := true\n\ticwz := int32(initialWindowSize)\n\tif opts.InitialConnWindowSize >= defaultWindowSize {\n\t\ticwz = opts.InitialConnWindowSize\n\t\tdynamicWindow = false\n\t}\n\twriteBufSize := opts.WriteBufferSize\n\treadBufSize := opts.ReadBufferSize\n\tmaxHeaderListSize := defaultClientMaxHeaderListSize\n\tif opts.MaxHeaderListSize != nil {\n\t\tmaxHeaderListSize = *opts.MaxHeaderListSize\n\t}\n\tt := &http2Client{\n\t\tctx:                   ctx,\n\t\tctxDone:               ctx.Done(), // Cache Done chan.\n\t\tcancel:                cancel,\n\t\tuserAgent:             opts.UserAgent,\n\t\tmd:                    addr.Metadata,\n\t\tconn:                  conn,\n\t\tremoteAddr:            conn.RemoteAddr(),\n\t\tlocalAddr:             conn.LocalAddr(),\n\t\tauthInfo:              authInfo,\n\t\treaderDone:            make(chan struct{}),\n\t\twriterDone:            make(chan struct{}),\n\t\tgoAway:                make(chan struct{}),\n\t\tawakenKeepalive:       make(chan struct{}, 1),\n\t\tframer:                newFramer(conn, writeBufSize, readBufSize, maxHeaderListSize),\n\t\tfc:                    &trInFlow{limit: uint32(icwz)},\n\t\tscheme:                scheme,\n\t\tactiveStreams:         make(map[uint32]*Stream),\n\t\tisSecure:              isSecure,\n\t\tcreds:                 opts.PerRPCCredentials,\n\t\tkp:                    kp,\n\t\tstatsHandler:          opts.StatsHandler,\n\t\tinitialWindowSize:     initialWindowSize,\n\t\tonSuccess:             onSuccess,\n\t\tnextID:                1,\n\t\tmaxConcurrentStreams:  defaultMaxStreamsClient,\n\t\tstreamQuota:           defaultMaxStreamsClient,\n\t\tstreamsQuotaAvailable: make(chan struct{}, 1),\n\t}\n\tt.controlBuf = newControlBuffer(t.ctxDone)\n\tif opts.InitialWindowSize >= defaultWindowSize {\n\t\tt.initialWindowSize = opts.InitialWindowSize\n\t\tdynamicWindow = false\n\t}\n\tif dynamicWindow {\n\t\tt.bdpEst = &bdpEstimator{\n\t\t\tbdp:               initialWindowSize,\n\t\t\tupdateFlowControl: t.updateFlowControl,\n\t\t}\n\t}\n\t// Make sure awakenKeepalive can't be written upon.\n\t// keepalive routine will make it writable, if need be.\n\tt.awakenKeepalive <- struct{}{}\n\tif t.statsHandler != nil {\n\t\tt.ctx = t.statsHandler.TagConn(t.ctx, &stats.ConnTagInfo{\n\t\t\tRemoteAddr: t.remoteAddr,\n\t\t\tLocalAddr:  t.localAddr,\n\t\t})\n\t\tconnBegin := &stats.ConnBegin{\n\t\t\tClient: true,\n\t\t}\n\t\tt.statsHandler.HandleConn(t.ctx, connBegin)\n\t}\n\tif channelz.IsOn() {\n\t\tt.channelzID = channelz.RegisterNormalSocket(t, opts.ChannelzParentID, \"\")\n\t}\n\tif t.kp.Time != infinity {\n\t\tt.keepaliveEnabled = true\n\t\tgo t.keepalive()\n\t}\n\t// Start the reader goroutine for incoming message. Each transport has\n\t// a dedicated goroutine which reads HTTP2 frame from network. Then it\n\t// dispatches the frame to the corresponding stream entity.\n\tgo t.reader()\n\t// Send connection preface to server.\n\tn, err := t.conn.Write(clientPreface)\n\tif err != nil {\n\t\tt.Close()\n\t\treturn nil, connectionErrorf(true, err, \"transport: failed to write client preface: %v\", err)\n\t}\n\tif n != len(clientPreface) {\n\t\tt.Close()\n\t\treturn nil, connectionErrorf(true, err, \"transport: preface mismatch, wrote %d bytes; want %d\", n, len(clientPreface))\n\t}\n\tvar ss []http2.Setting\n\n\tif t.initialWindowSize != defaultWindowSize {\n\t\tss = append(ss, http2.Setting{\n\t\t\tID:  http2.SettingInitialWindowSize,\n\t\t\tVal: uint32(t.initialWindowSize),\n\t\t})\n\t}\n\tif opts.MaxHeaderListSize != nil {\n\t\tss = append(ss, http2.Setting{\n\t\t\tID:  http2.SettingMaxHeaderListSize,\n\t\t\tVal: *opts.MaxHeaderListSize,\n\t\t})\n\t}\n\terr = t.framer.fr.WriteSettings(ss...)\n\tif err != nil {\n\t\tt.Close()\n\t\treturn nil, connectionErrorf(true, err, \"transport: failed to write initial settings frame: %v\", err)\n\t}\n\t// Adjust the connection flow control window if needed.\n\tif delta := uint32(icwz - defaultWindowSize); delta > 0 {\n\t\tif err := t.framer.fr.WriteWindowUpdate(0, delta); err != nil {\n\t\t\tt.Close()\n\t\t\treturn nil, connectionErrorf(true, err, \"transport: failed to write window update: %v\", err)\n\t\t}\n\t}\n\tt.framer.writer.Flush()\n\tgo func() {\n\t\tt.loopy = newLoopyWriter(clientSide, t.framer, t.controlBuf, t.bdpEst)\n\t\terr := t.loopy.run()\n\t\tif err != nil {\n\t\t\terrorf(\"transport: loopyWriter.run returning. Err: %v\", err)\n\t\t}\n\t\t// If it's a connection error, let reader goroutine handle it\n\t\t// since there might be data in the buffers.\n\t\tif _, ok := err.(net.Error); !ok {\n\t\t\tt.conn.Close()\n\t\t}\n\t\tclose(t.writerDone)\n\t}()\n\treturn t, nil\n}\n\nfunc (t *http2Client) newStream(ctx context.Context, callHdr *CallHdr) *Stream {\n\t// TODO(zhaoq): Handle uint32 overflow of Stream.id.\n\ts := &Stream{\n\t\tdone:           make(chan struct{}),\n\t\tmethod:         callHdr.Method,\n\t\tsendCompress:   callHdr.SendCompress,\n\t\tbuf:            newRecvBuffer(),\n\t\theaderChan:     make(chan struct{}),\n\t\tcontentSubtype: callHdr.ContentSubtype,\n\t}\n\ts.wq = newWriteQuota(defaultWriteQuota, s.done)\n\ts.requestRead = func(n int) {\n\t\tt.adjustWindow(s, uint32(n))\n\t}\n\t// The client side stream context should have exactly the same life cycle with the user provided context.\n\t// That means, s.ctx should be read-only. And s.ctx is done iff ctx is done.\n\t// So we use the original context here instead of creating a copy.\n\ts.ctx = ctx\n\ts.trReader = &transportReader{\n\t\treader: &recvBufferReader{\n\t\t\tctx:     s.ctx,\n\t\t\tctxDone: s.ctx.Done(),\n\t\t\trecv:    s.buf,\n\t\t},\n\t\twindowHandler: func(n int) {\n\t\t\tt.updateWindow(s, uint32(n))\n\t\t},\n\t}\n\treturn s\n}\n\nfunc (t *http2Client) getPeer() *peer.Peer {\n\tpr := &peer.Peer{\n\t\tAddr: t.remoteAddr,\n\t}\n\t// Attach Auth info if there is any.\n\tif t.authInfo != nil {\n\t\tpr.AuthInfo = t.authInfo\n\t}\n\treturn pr\n}\n\nfunc (t *http2Client) createHeaderFields(ctx context.Context, callHdr *CallHdr) ([]hpack.HeaderField, error) {\n\taud := t.createAudience(callHdr)\n\tauthData, err := t.getTrAuthData(ctx, aud)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tcallAuthData, err := t.getCallAuthData(ctx, aud, callHdr)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\t// TODO(mmukhi): Benchmark if the performance gets better if count the metadata and other header fields\n\t// first and create a slice of that exact size.\n\t// Make the slice of certain predictable size to reduce allocations made by append.\n\thfLen := 7 // :method, :scheme, :path, :authority, content-type, user-agent, te\n\thfLen += len(authData) + len(callAuthData)\n\theaderFields := make([]hpack.HeaderField, 0, hfLen)\n\theaderFields = append(headerFields, hpack.HeaderField{Name: \":method\", Value: \"POST\"})\n\theaderFields = append(headerFields, hpack.HeaderField{Name: \":scheme\", Value: t.scheme})\n\theaderFields = append(headerFields, hpack.HeaderField{Name: \":path\", Value: callHdr.Method})\n\theaderFields = append(headerFields, hpack.HeaderField{Name: \":authority\", Value: callHdr.Host})\n\theaderFields = append(headerFields, hpack.HeaderField{Name: \"content-type\", Value: contentType(callHdr.ContentSubtype)})\n\theaderFields = append(headerFields, hpack.HeaderField{Name: \"user-agent\", Value: t.userAgent})\n\theaderFields = append(headerFields, hpack.HeaderField{Name: \"te\", Value: \"trailers\"})\n\tif callHdr.PreviousAttempts > 0 {\n\t\theaderFields = append(headerFields, hpack.HeaderField{Name: \"grpc-previous-rpc-attempts\", Value: strconv.Itoa(callHdr.PreviousAttempts)})\n\t}\n\n\tif callHdr.SendCompress != \"\" {\n\t\theaderFields = append(headerFields, hpack.HeaderField{Name: \"grpc-encoding\", Value: callHdr.SendCompress})\n\t}\n\tif dl, ok := ctx.Deadline(); ok {\n\t\t// Send out timeout regardless its value. The server can detect timeout context by itself.\n\t\t// TODO(mmukhi): Perhaps this field should be updated when actually writing out to the wire.\n\t\ttimeout := dl.Sub(time.Now())\n\t\theaderFields = append(headerFields, hpack.HeaderField{Name: \"grpc-timeout\", Value: encodeTimeout(timeout)})\n\t}\n\tfor k, v := range authData {\n\t\theaderFields = append(headerFields, hpack.HeaderField{Name: k, Value: encodeMetadataHeader(k, v)})\n\t}\n\tfor k, v := range callAuthData {\n\t\theaderFields = append(headerFields, hpack.HeaderField{Name: k, Value: encodeMetadataHeader(k, v)})\n\t}\n\tif b := stats.OutgoingTags(ctx); b != nil {\n\t\theaderFields = append(headerFields, hpack.HeaderField{Name: \"grpc-tags-bin\", Value: encodeBinHeader(b)})\n\t}\n\tif b := stats.OutgoingTrace(ctx); b != nil {\n\t\theaderFields = append(headerFields, hpack.HeaderField{Name: \"grpc-trace-bin\", Value: encodeBinHeader(b)})\n\t}\n\n\tif md, added, ok := metadata.FromOutgoingContextRaw(ctx); ok {\n\t\tvar k string\n\t\tfor _, vv := range added {\n\t\t\tfor i, v := range vv {\n\t\t\t\tif i%2 == 0 {\n\t\t\t\t\tk = v\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\t// HTTP doesn't allow you to set pseudoheaders after non pseudoheaders were set.\n\t\t\t\tif isReservedHeader(k) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\theaderFields = append(headerFields, hpack.HeaderField{Name: strings.ToLower(k), Value: encodeMetadataHeader(k, v)})\n\t\t\t}\n\t\t}\n\t\tfor k, vv := range md {\n\t\t\t// HTTP doesn't allow you to set pseudoheaders after non pseudoheaders were set.\n\t\t\tif isReservedHeader(k) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tfor _, v := range vv {\n\t\t\t\theaderFields = append(headerFields, hpack.HeaderField{Name: k, Value: encodeMetadataHeader(k, v)})\n\t\t\t}\n\t\t}\n\t}\n\tif md, ok := t.md.(*metadata.MD); ok {\n\t\tfor k, vv := range *md {\n\t\t\tif isReservedHeader(k) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tfor _, v := range vv {\n\t\t\t\theaderFields = append(headerFields, hpack.HeaderField{Name: k, Value: encodeMetadataHeader(k, v)})\n\t\t\t}\n\t\t}\n\t}\n\treturn headerFields, nil\n}\n\nfunc (t *http2Client) createAudience(callHdr *CallHdr) string {\n\t// Create an audience string only if needed.\n\tif len(t.creds) == 0 && callHdr.Creds == nil {\n\t\treturn \"\"\n\t}\n\t// Construct URI required to get auth request metadata.\n\t// Omit port if it is the default one.\n\thost := strings.TrimSuffix(callHdr.Host, \":443\")\n\tpos := strings.LastIndex(callHdr.Method, \"/\")\n\tif pos == -1 {\n\t\tpos = len(callHdr.Method)\n\t}\n\treturn \"https://\" + host + callHdr.Method[:pos]\n}\n\nfunc (t *http2Client) getTrAuthData(ctx context.Context, audience string) (map[string]string, error) {\n\tauthData := map[string]string{}\n\tfor _, c := range t.creds {\n\t\tdata, err := c.GetRequestMetadata(ctx, audience)\n\t\tif err != nil {\n\t\t\tif _, ok := status.FromError(err); ok {\n\t\t\t\treturn nil, err\n\t\t\t}\n\n\t\t\treturn nil, status.Errorf(codes.Unauthenticated, \"transport: %v\", err)\n\t\t}\n\t\tfor k, v := range data {\n\t\t\t// Capital header names are illegal in HTTP/2.\n\t\t\tk = strings.ToLower(k)\n\t\t\tauthData[k] = v\n\t\t}\n\t}\n\treturn authData, nil\n}\n\nfunc (t *http2Client) getCallAuthData(ctx context.Context, audience string, callHdr *CallHdr) (map[string]string, error) {\n\tcallAuthData := map[string]string{}\n\t// Check if credentials.PerRPCCredentials were provided via call options.\n\t// Note: if these credentials are provided both via dial options and call\n\t// options, then both sets of credentials will be applied.\n\tif callCreds := callHdr.Creds; callCreds != nil {\n\t\tif !t.isSecure && callCreds.RequireTransportSecurity() {\n\t\t\treturn nil, status.Error(codes.Unauthenticated, \"transport: cannot send secure credentials on an insecure connection\")\n\t\t}\n\t\tdata, err := callCreds.GetRequestMetadata(ctx, audience)\n\t\tif err != nil {\n\t\t\treturn nil, status.Errorf(codes.Internal, \"transport: %v\", err)\n\t\t}\n\t\tfor k, v := range data {\n\t\t\t// Capital header names are illegal in HTTP/2\n\t\t\tk = strings.ToLower(k)\n\t\t\tcallAuthData[k] = v\n\t\t}\n\t}\n\treturn callAuthData, nil\n}\n\n// NewStream creates a stream and registers it into the transport as \"active\"\n// streams.\nfunc (t *http2Client) NewStream(ctx context.Context, callHdr *CallHdr) (_ *Stream, err error) {\n\tctx = peer.NewContext(ctx, t.getPeer())\n\theaderFields, err := t.createHeaderFields(ctx, callHdr)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\ts := t.newStream(ctx, callHdr)\n\tcleanup := func(err error) {\n\t\tif s.swapState(streamDone) == streamDone {\n\t\t\t// If it was already done, return.\n\t\t\treturn\n\t\t}\n\t\t// The stream was unprocessed by the server.\n\t\tatomic.StoreUint32(&s.unprocessed, 1)\n\t\ts.write(recvMsg{err: err})\n\t\tclose(s.done)\n\t\t// If headerChan isn't closed, then close it.\n\t\tif atomic.SwapUint32(&s.headerDone, 1) == 0 {\n\t\t\tclose(s.headerChan)\n\t\t}\n\n\t}\n\thdr := &headerFrame{\n\t\thf:        headerFields,\n\t\tendStream: false,\n\t\tinitStream: func(id uint32) (bool, error) {\n\t\t\tt.mu.Lock()\n\t\t\tif state := t.state; state != reachable {\n\t\t\t\tt.mu.Unlock()\n\t\t\t\t// Do a quick cleanup.\n\t\t\t\terr := error(errStreamDrain)\n\t\t\t\tif state == closing {\n\t\t\t\t\terr = ErrConnClosing\n\t\t\t\t}\n\t\t\t\tcleanup(err)\n\t\t\t\treturn false, err\n\t\t\t}\n\t\t\tt.activeStreams[id] = s\n\t\t\tif channelz.IsOn() {\n\t\t\t\tt.czmu.Lock()\n\t\t\t\tt.streamsStarted++\n\t\t\t\tt.lastStreamCreated = time.Now()\n\t\t\t\tt.czmu.Unlock()\n\t\t\t}\n\t\t\tvar sendPing bool\n\t\t\t// If the number of active streams change from 0 to 1, then check if keepalive\n\t\t\t// has gone dormant. If so, wake it up.\n\t\t\tif len(t.activeStreams) == 1 && t.keepaliveEnabled {\n\t\t\t\tselect {\n\t\t\t\tcase t.awakenKeepalive <- struct{}{}:\n\t\t\t\t\tsendPing = true\n\t\t\t\t\t// Fill the awakenKeepalive channel again as this channel must be\n\t\t\t\t\t// kept non-writable except at the point that the keepalive()\n\t\t\t\t\t// goroutine is waiting either to be awaken or shutdown.\n\t\t\t\t\tt.awakenKeepalive <- struct{}{}\n\t\t\t\tdefault:\n\t\t\t\t}\n\t\t\t}\n\t\t\tt.mu.Unlock()\n\t\t\treturn sendPing, nil\n\t\t},\n\t\tonOrphaned: cleanup,\n\t\twq:         s.wq,\n\t}\n\tfirstTry := true\n\tvar ch chan struct{}\n\tcheckForStreamQuota := func(it interface{}) bool {\n\t\tif t.streamQuota <= 0 { // Can go negative if server decreases it.\n\t\t\tif firstTry {\n\t\t\t\tt.waitingStreams++\n\t\t\t}\n\t\t\tch = t.streamsQuotaAvailable\n\t\t\treturn false\n\t\t}\n\t\tif !firstTry {\n\t\t\tt.waitingStreams--\n\t\t}\n\t\tt.streamQuota--\n\t\th := it.(*headerFrame)\n\t\th.streamID = t.nextID\n\t\tt.nextID += 2\n\t\ts.id = h.streamID\n\t\ts.fc = &inFlow{limit: uint32(t.initialWindowSize)}\n\t\tif t.streamQuota > 0 && t.waitingStreams > 0 {\n\t\t\tselect {\n\t\t\tcase t.streamsQuotaAvailable <- struct{}{}:\n\t\t\tdefault:\n\t\t\t}\n\t\t}\n\t\treturn true\n\t}\n\tvar hdrListSizeErr error\n\tcheckForHeaderListSize := func(it interface{}) bool {\n\t\tif t.maxSendHeaderListSize == nil {\n\t\t\treturn true\n\t\t}\n\t\thdrFrame := it.(*headerFrame)\n\t\tvar sz int64\n\t\tfor _, f := range hdrFrame.hf {\n\t\t\tif sz += int64(f.Size()); sz > int64(*t.maxSendHeaderListSize) {\n\t\t\t\thdrListSizeErr = status.Errorf(codes.Internal, \"header list size to send violates the maximum size (%d bytes) set by server\", *t.maxSendHeaderListSize)\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t\treturn true\n\t}\n\tfor {\n\t\tsuccess, err := t.controlBuf.executeAndPut(func(it interface{}) bool {\n\t\t\tif !checkForStreamQuota(it) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif !checkForHeaderListSize(it) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn true\n\t\t}, hdr)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tif success {\n\t\t\tbreak\n\t\t}\n\t\tif hdrListSizeErr != nil {\n\t\t\treturn nil, hdrListSizeErr\n\t\t}\n\t\tfirstTry = false\n\t\tselect {\n\t\tcase <-ch:\n\t\tcase <-s.ctx.Done():\n\t\t\treturn nil, ContextErr(s.ctx.Err())\n\t\tcase <-t.goAway:\n\t\t\treturn nil, errStreamDrain\n\t\tcase <-t.ctx.Done():\n\t\t\treturn nil, ErrConnClosing\n\t\t}\n\t}\n\tif t.statsHandler != nil {\n\t\toutHeader := &stats.OutHeader{\n\t\t\tClient:      true,\n\t\t\tFullMethod:  callHdr.Method,\n\t\t\tRemoteAddr:  t.remoteAddr,\n\t\t\tLocalAddr:   t.localAddr,\n\t\t\tCompression: callHdr.SendCompress,\n\t\t}\n\t\tt.statsHandler.HandleRPC(s.ctx, outHeader)\n\t}\n\treturn s, nil\n}\n\n// CloseStream clears the footprint of a stream when the stream is not needed any more.\n// This must not be executed in reader's goroutine.\nfunc (t *http2Client) CloseStream(s *Stream, err error) {\n\tvar (\n\t\trst     bool\n\t\trstCode http2.ErrCode\n\t)\n\tif err != nil {\n\t\trst = true\n\t\trstCode = http2.ErrCodeCancel\n\t}\n\tt.closeStream(s, err, rst, rstCode, status.Convert(err), nil, false)\n}\n\nfunc (t *http2Client) closeStream(s *Stream, err error, rst bool, rstCode http2.ErrCode, st *status.Status, mdata map[string][]string, eosReceived bool) {\n\t// Set stream status to done.\n\tif s.swapState(streamDone) == streamDone {\n\t\t// If it was already done, return.\n\t\treturn\n\t}\n\t// status and trailers can be updated here without any synchronization because the stream goroutine will\n\t// only read it after it sees an io.EOF error from read or write and we'll write those errors\n\t// only after updating this.\n\ts.status = st\n\tif len(mdata) > 0 {\n\t\ts.trailer = mdata\n\t}\n\tif err != nil {\n\t\t// This will unblock reads eventually.\n\t\ts.write(recvMsg{err: err})\n\t}\n\t// This will unblock write.\n\tclose(s.done)\n\t// If headerChan isn't closed, then close it.\n\tif atomic.SwapUint32(&s.headerDone, 1) == 0 {\n\t\ts.noHeaders = true\n\t\tclose(s.headerChan)\n\t}\n\tcleanup := &cleanupStream{\n\t\tstreamID: s.id,\n\t\tonWrite: func() {\n\t\t\tt.mu.Lock()\n\t\t\tif t.activeStreams != nil {\n\t\t\t\tdelete(t.activeStreams, s.id)\n\t\t\t}\n\t\t\tt.mu.Unlock()\n\t\t\tif channelz.IsOn() {\n\t\t\t\tt.czmu.Lock()\n\t\t\t\tif eosReceived {\n\t\t\t\t\tt.streamsSucceeded++\n\t\t\t\t} else {\n\t\t\t\t\tt.streamsFailed++\n\t\t\t\t}\n\t\t\t\tt.czmu.Unlock()\n\t\t\t}\n\t\t},\n\t\trst:     rst,\n\t\trstCode: rstCode,\n\t}\n\taddBackStreamQuota := func(interface{}) bool {\n\t\tt.streamQuota++\n\t\tif t.streamQuota > 0 && t.waitingStreams > 0 {\n\t\t\tselect {\n\t\t\tcase t.streamsQuotaAvailable <- struct{}{}:\n\t\t\tdefault:\n\t\t\t}\n\t\t}\n\t\treturn true\n\t}\n\tt.controlBuf.executeAndPut(addBackStreamQuota, cleanup)\n}\n\n// Close kicks off the shutdown process of the transport. This should be called\n// only once on a transport. Once it is called, the transport should not be\n// accessed any more.\nfunc (t *http2Client) Close() error {\n\tt.mu.Lock()\n\t// Make sure we only Close once.\n\tif t.state == closing {\n\t\tt.mu.Unlock()\n\t\treturn nil\n\t}\n\tt.state = closing\n\tstreams := t.activeStreams\n\tt.activeStreams = nil\n\tt.mu.Unlock()\n\tt.controlBuf.finish()\n\tt.cancel()\n\terr := t.conn.Close()\n\tif channelz.IsOn() {\n\t\tchannelz.RemoveEntry(t.channelzID)\n\t}\n\t// Notify all active streams.\n\tfor _, s := range streams {\n\t\tt.closeStream(s, ErrConnClosing, false, http2.ErrCodeNo, status.New(codes.Unavailable, ErrConnClosing.Desc), nil, false)\n\t}\n\tif t.statsHandler != nil {\n\t\tconnEnd := &stats.ConnEnd{\n\t\t\tClient: true,\n\t\t}\n\t\tt.statsHandler.HandleConn(t.ctx, connEnd)\n\t}\n\treturn err\n}\n\n// GracefulClose sets the state to draining, which prevents new streams from\n// being created and causes the transport to be closed when the last active\n// stream is closed.  If there are no active streams, the transport is closed\n// immediately.  This does nothing if the transport is already draining or\n// closing.\nfunc (t *http2Client) GracefulClose() error {\n\tt.mu.Lock()\n\t// Make sure we move to draining only from active.\n\tif t.state == draining || t.state == closing {\n\t\tt.mu.Unlock()\n\t\treturn nil\n\t}\n\tt.state = draining\n\tactive := len(t.activeStreams)\n\tt.mu.Unlock()\n\tif active == 0 {\n\t\treturn t.Close()\n\t}\n\tt.controlBuf.put(&incomingGoAway{})\n\treturn nil\n}\n\n// Write formats the data into HTTP2 data frame(s) and sends it out. The caller\n// should proceed only if Write returns nil.\nfunc (t *http2Client) Write(s *Stream, hdr []byte, data []byte, opts *Options) error {\n\tif opts.Last {\n\t\t// If it's the last message, update stream state.\n\t\tif !s.compareAndSwapState(streamActive, streamWriteDone) {\n\t\t\treturn errStreamDone\n\t\t}\n\t} else if s.getState() != streamActive {\n\t\treturn errStreamDone\n\t}\n\tdf := &dataFrame{\n\t\tstreamID:  s.id,\n\t\tendStream: opts.Last,\n\t}\n\tif hdr != nil || data != nil { // If it's not an empty data frame.\n\t\t// Add some data to grpc message header so that we can equally\n\t\t// distribute bytes across frames.\n\t\temptyLen := http2MaxFrameLen - len(hdr)\n\t\tif emptyLen > len(data) {\n\t\t\temptyLen = len(data)\n\t\t}\n\t\thdr = append(hdr, data[:emptyLen]...)\n\t\tdata = data[emptyLen:]\n\t\tdf.h, df.d = hdr, data\n\t\t// TODO(mmukhi): The above logic in this if can be moved to loopyWriter's data handler.\n\t\tif err := s.wq.get(int32(len(hdr) + len(data))); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn t.controlBuf.put(df)\n}\n\nfunc (t *http2Client) getStream(f http2.Frame) (*Stream, bool) {\n\tt.mu.Lock()\n\tdefer t.mu.Unlock()\n\ts, ok := t.activeStreams[f.Header().StreamID]\n\treturn s, ok\n}\n\n// adjustWindow sends out extra window update over the initial window size\n// of stream if the application is requesting data larger in size than\n// the window.\nfunc (t *http2Client) adjustWindow(s *Stream, n uint32) {\n\tif w := s.fc.maybeAdjust(n); w > 0 {\n\t\tt.controlBuf.put(&outgoingWindowUpdate{streamID: s.id, increment: w})\n\t}\n}\n\n// updateWindow adjusts the inbound quota for the stream.\n// Window updates will be sent out when the cumulative quota\n// exceeds the corresponding threshold.\nfunc (t *http2Client) updateWindow(s *Stream, n uint32) {\n\tif w := s.fc.onRead(n); w > 0 {\n\t\tt.controlBuf.put(&outgoingWindowUpdate{streamID: s.id, increment: w})\n\t}\n}\n\n// updateFlowControl updates the incoming flow control windows\n// for the transport and the stream based on the current bdp\n// estimation.\nfunc (t *http2Client) updateFlowControl(n uint32) {\n\tt.mu.Lock()\n\tfor _, s := range t.activeStreams {\n\t\ts.fc.newLimit(n)\n\t}\n\tt.mu.Unlock()\n\tupdateIWS := func(interface{}) bool {\n\t\tt.initialWindowSize = int32(n)\n\t\treturn true\n\t}\n\tt.controlBuf.executeAndPut(updateIWS, &outgoingWindowUpdate{streamID: 0, increment: t.fc.newLimit(n)})\n\tt.controlBuf.put(&outgoingSettings{\n\t\tss: []http2.Setting{\n\t\t\t{\n\t\t\t\tID:  http2.SettingInitialWindowSize,\n\t\t\t\tVal: n,\n\t\t\t},\n\t\t},\n\t})\n}\n\nfunc (t *http2Client) handleData(f *http2.DataFrame) {\n\tsize := f.Header().Length\n\tvar sendBDPPing bool\n\tif t.bdpEst != nil {\n\t\tsendBDPPing = t.bdpEst.add(size)\n\t}\n\t// Decouple connection's flow control from application's read.\n\t// An update on connection's flow control should not depend on\n\t// whether user application has read the data or not. Such a\n\t// restriction is already imposed on the stream's flow control,\n\t// and therefore the sender will be blocked anyways.\n\t// Decoupling the connection flow control will prevent other\n\t// active(fast) streams from starving in presence of slow or\n\t// inactive streams.\n\t//\n\tif w := t.fc.onData(size); w > 0 {\n\t\tt.controlBuf.put(&outgoingWindowUpdate{\n\t\t\tstreamID:  0,\n\t\t\tincrement: w,\n\t\t})\n\t}\n\tif sendBDPPing {\n\t\t// Avoid excessive ping detection (e.g. in an L7 proxy)\n\t\t// by sending a window update prior to the BDP ping.\n\n\t\tif w := t.fc.reset(); w > 0 {\n\t\t\tt.controlBuf.put(&outgoingWindowUpdate{\n\t\t\t\tstreamID:  0,\n\t\t\t\tincrement: w,\n\t\t\t})\n\t\t}\n\n\t\tt.controlBuf.put(bdpPing)\n\t}\n\t// Select the right stream to dispatch.\n\ts, ok := t.getStream(f)\n\tif !ok {\n\t\treturn\n\t}\n\tif size > 0 {\n\t\tif err := s.fc.onData(size); err != nil {\n\t\t\tt.closeStream(s, io.EOF, true, http2.ErrCodeFlowControl, status.New(codes.Internal, err.Error()), nil, false)\n\t\t\treturn\n\t\t}\n\t\tif f.Header().Flags.Has(http2.FlagDataPadded) {\n\t\t\tif w := s.fc.onRead(size - uint32(len(f.Data()))); w > 0 {\n\t\t\t\tt.controlBuf.put(&outgoingWindowUpdate{s.id, w})\n\t\t\t}\n\t\t}\n\t\t// TODO(bradfitz, zhaoq): A copy is required here because there is no\n\t\t// guarantee f.Data() is consumed before the arrival of next frame.\n\t\t// Can this copy be eliminated?\n\t\tif len(f.Data()) > 0 {\n\t\t\tdata := make([]byte, len(f.Data()))\n\t\t\tcopy(data, f.Data())\n\t\t\ts.write(recvMsg{data: data})\n\t\t}\n\t}\n\t// The server has closed the stream without sending trailers.  Record that\n\t// the read direction is closed, and set the status appropriately.\n\tif f.FrameHeader.Flags.Has(http2.FlagDataEndStream) {\n\t\tt.closeStream(s, io.EOF, false, http2.ErrCodeNo, status.New(codes.Internal, \"server closed the stream without sending trailers\"), nil, true)\n\t}\n}\n\nfunc (t *http2Client) handleRSTStream(f *http2.RSTStreamFrame) {\n\ts, ok := t.getStream(f)\n\tif !ok {\n\t\treturn\n\t}\n\tif f.ErrCode == http2.ErrCodeRefusedStream {\n\t\t// The stream was unprocessed by the server.\n\t\tatomic.StoreUint32(&s.unprocessed, 1)\n\t}\n\tstatusCode, ok := http2ErrConvTab[f.ErrCode]\n\tif !ok {\n\t\twarningf(\"transport: http2Client.handleRSTStream found no mapped gRPC status for the received http2 error %v\", f.ErrCode)\n\t\tstatusCode = codes.Unknown\n\t}\n\tif statusCode == codes.Canceled {\n\t\t// Our deadline was already exceeded, and that was likely the cause of\n\t\t// this cancelation.  Alter the status code accordingly.\n\t\tif d, ok := s.ctx.Deadline(); ok && d.After(time.Now()) {\n\t\t\tstatusCode = codes.DeadlineExceeded\n\t\t}\n\t}\n\tt.closeStream(s, io.EOF, false, http2.ErrCodeNo, status.Newf(statusCode, \"stream terminated by RST_STREAM with error code: %v\", f.ErrCode), nil, false)\n}\n\nfunc (t *http2Client) handleSettings(f *http2.SettingsFrame, isFirst bool) {\n\tif f.IsAck() {\n\t\treturn\n\t}\n\tvar maxStreams *uint32\n\tvar ss []http2.Setting\n\tvar updateFuncs []func()\n\tf.ForeachSetting(func(s http2.Setting) error {\n\t\tswitch s.ID {\n\t\tcase http2.SettingMaxConcurrentStreams:\n\t\t\tmaxStreams = new(uint32)\n\t\t\t*maxStreams = s.Val\n\t\tcase http2.SettingMaxHeaderListSize:\n\t\t\tupdateFuncs = append(updateFuncs, func() {\n\t\t\t\tt.maxSendHeaderListSize = new(uint32)\n\t\t\t\t*t.maxSendHeaderListSize = s.Val\n\t\t\t})\n\t\tdefault:\n\t\t\tss = append(ss, s)\n\t\t}\n\t\treturn nil\n\t})\n\tif isFirst && maxStreams == nil {\n\t\tmaxStreams = new(uint32)\n\t\t*maxStreams = math.MaxUint32\n\t}\n\tsf := &incomingSettings{\n\t\tss: ss,\n\t}\n\tif maxStreams != nil {\n\t\tupdateStreamQuota := func() {\n\t\t\tdelta := int64(*maxStreams) - int64(t.maxConcurrentStreams)\n\t\t\tt.maxConcurrentStreams = *maxStreams\n\t\t\tt.streamQuota += delta\n\t\t\tif delta > 0 && t.waitingStreams > 0 {\n\t\t\t\tclose(t.streamsQuotaAvailable) // wake all of them up.\n\t\t\t\tt.streamsQuotaAvailable = make(chan struct{}, 1)\n\t\t\t}\n\t\t}\n\t\tupdateFuncs = append(updateFuncs, updateStreamQuota)\n\t}\n\tt.controlBuf.executeAndPut(func(interface{}) bool {\n\t\tfor _, f := range updateFuncs {\n\t\t\tf()\n\t\t}\n\t\treturn true\n\t}, sf)\n}\n\nfunc (t *http2Client) handlePing(f *http2.PingFrame) {\n\tif f.IsAck() {\n\t\t// Maybe it's a BDP ping.\n\t\tif t.bdpEst != nil {\n\t\t\tt.bdpEst.calculate(f.Data)\n\t\t}\n\t\treturn\n\t}\n\tpingAck := &ping{ack: true}\n\tcopy(pingAck.data[:], f.Data[:])\n\tt.controlBuf.put(pingAck)\n}\n\nfunc (t *http2Client) handleGoAway(f *http2.GoAwayFrame) {\n\tt.mu.Lock()\n\tif t.state == closing {\n\t\tt.mu.Unlock()\n\t\treturn\n\t}\n\tif f.ErrCode == http2.ErrCodeEnhanceYourCalm {\n\t\tinfof(\"Client received GoAway with http2.ErrCodeEnhanceYourCalm.\")\n\t}\n\tid := f.LastStreamID\n\tif id > 0 && id%2 != 1 {\n\t\tt.mu.Unlock()\n\t\tt.Close()\n\t\treturn\n\t}\n\t// A client can receive multiple GoAways from the server (see\n\t// https://github.com/grpc/grpc-go/issues/1387).  The idea is that the first\n\t// GoAway will be sent with an ID of MaxInt32 and the second GoAway will be\n\t// sent after an RTT delay with the ID of the last stream the server will\n\t// process.\n\t//\n\t// Therefore, when we get the first GoAway we don't necessarily close any\n\t// streams. While in case of second GoAway we close all streams created after\n\t// the GoAwayId. This way streams that were in-flight while the GoAway from\n\t// server was being sent don't get killed.\n\tselect {\n\tcase <-t.goAway: // t.goAway has been closed (i.e.,multiple GoAways).\n\t\t// If there are multiple GoAways the first one should always have an ID greater than the following ones.\n\t\tif id > t.prevGoAwayID {\n\t\t\tt.mu.Unlock()\n\t\t\tt.Close()\n\t\t\treturn\n\t\t}\n\tdefault:\n\t\tt.setGoAwayReason(f)\n\t\tclose(t.goAway)\n\t\tt.state = draining\n\t\tt.controlBuf.put(&incomingGoAway{})\n\t}\n\t// All streams with IDs greater than the GoAwayId\n\t// and smaller than the previous GoAway ID should be killed.\n\tupperLimit := t.prevGoAwayID\n\tif upperLimit == 0 { // This is the first GoAway Frame.\n\t\tupperLimit = math.MaxUint32 // Kill all streams after the GoAway ID.\n\t}\n\tfor streamID, stream := range t.activeStreams {\n\t\tif streamID > id && streamID <= upperLimit {\n\t\t\t// The stream was unprocessed by the server.\n\t\t\tatomic.StoreUint32(&stream.unprocessed, 1)\n\t\t\tt.closeStream(stream, errStreamDrain, false, http2.ErrCodeNo, statusGoAway, nil, false)\n\t\t}\n\t}\n\tt.prevGoAwayID = id\n\tactive := len(t.activeStreams)\n\tt.mu.Unlock()\n\tif active == 0 {\n\t\tt.Close()\n\t}\n}\n\n// setGoAwayReason sets the value of t.goAwayReason based\n// on the GoAway frame received.\n// It expects a lock on transport's mutext to be held by\n// the caller.\nfunc (t *http2Client) setGoAwayReason(f *http2.GoAwayFrame) {\n\tt.goAwayReason = GoAwayNoReason\n\tswitch f.ErrCode {\n\tcase http2.ErrCodeEnhanceYourCalm:\n\t\tif string(f.DebugData()) == \"too_many_pings\" {\n\t\t\tt.goAwayReason = GoAwayTooManyPings\n\t\t}\n\t}\n}\n\nfunc (t *http2Client) GetGoAwayReason() GoAwayReason {\n\tt.mu.Lock()\n\tdefer t.mu.Unlock()\n\treturn t.goAwayReason\n}\n\nfunc (t *http2Client) handleWindowUpdate(f *http2.WindowUpdateFrame) {\n\tt.controlBuf.put(&incomingWindowUpdate{\n\t\tstreamID:  f.Header().StreamID,\n\t\tincrement: f.Increment,\n\t})\n}\n\n// operateHeaders takes action on the decoded headers.\nfunc (t *http2Client) operateHeaders(frame *http2.MetaHeadersFrame) {\n\ts, ok := t.getStream(frame)\n\tif !ok {\n\t\treturn\n\t}\n\tatomic.StoreUint32(&s.bytesReceived, 1)\n\tvar state decodeState\n\tif err := state.decodeHeader(frame); err != nil {\n\t\tt.closeStream(s, err, true, http2.ErrCodeProtocol, status.New(codes.Internal, err.Error()), nil, false)\n\t\t// Something wrong. Stops reading even when there is remaining.\n\t\treturn\n\t}\n\n\tendStream := frame.StreamEnded()\n\tvar isHeader bool\n\tdefer func() {\n\t\tif t.statsHandler != nil {\n\t\t\tif isHeader {\n\t\t\t\tinHeader := &stats.InHeader{\n\t\t\t\t\tClient:     true,\n\t\t\t\t\tWireLength: int(frame.Header().Length),\n\t\t\t\t}\n\t\t\t\tt.statsHandler.HandleRPC(s.ctx, inHeader)\n\t\t\t} else {\n\t\t\t\tinTrailer := &stats.InTrailer{\n\t\t\t\t\tClient:     true,\n\t\t\t\t\tWireLength: int(frame.Header().Length),\n\t\t\t\t}\n\t\t\t\tt.statsHandler.HandleRPC(s.ctx, inTrailer)\n\t\t\t}\n\t\t}\n\t}()\n\t// If headers haven't been received yet.\n\tif atomic.SwapUint32(&s.headerDone, 1) == 0 {\n\t\tif !endStream {\n\t\t\t// Headers frame is not actually a trailers-only frame.\n\t\t\tisHeader = true\n\t\t\t// These values can be set without any synchronization because\n\t\t\t// stream goroutine will read it only after seeing a closed\n\t\t\t// headerChan which we'll close after setting this.\n\t\t\ts.recvCompress = state.encoding\n\t\t\tif len(state.mdata) > 0 {\n\t\t\t\ts.header = state.mdata\n\t\t\t}\n\t\t} else {\n\t\t\ts.noHeaders = true\n\t\t}\n\t\tclose(s.headerChan)\n\t}\n\tif !endStream {\n\t\treturn\n\t}\n\tt.closeStream(s, io.EOF, false, http2.ErrCodeNo, state.status(), state.mdata, true)\n}\n\n// reader runs as a separate goroutine in charge of reading data from network\n// connection.\n//\n// TODO(zhaoq): currently one reader per transport. Investigate whether this is\n// optimal.\n// TODO(zhaoq): Check the validity of the incoming frame sequence.\nfunc (t *http2Client) reader() {\n\tdefer close(t.readerDone)\n\t// Check the validity of server preface.\n\tframe, err := t.framer.fr.ReadFrame()\n\tif err != nil {\n\t\tt.Close()\n\t\treturn\n\t}\n\tif t.keepaliveEnabled {\n\t\tatomic.CompareAndSwapUint32(&t.activity, 0, 1)\n\t}\n\tsf, ok := frame.(*http2.SettingsFrame)\n\tif !ok {\n\t\tt.Close()\n\t\treturn\n\t}\n\tt.onSuccess()\n\tt.handleSettings(sf, true)\n\n\t// loop to keep reading incoming messages on this transport.\n\tfor {\n\t\tframe, err := t.framer.fr.ReadFrame()\n\t\tif t.keepaliveEnabled {\n\t\t\tatomic.CompareAndSwapUint32(&t.activity, 0, 1)\n\t\t}\n\t\tif err != nil {\n\t\t\t// Abort an active stream if the http2.Framer returns a\n\t\t\t// http2.StreamError. This can happen only if the server's response\n\t\t\t// is malformed http2.\n\t\t\tif se, ok := err.(http2.StreamError); ok {\n\t\t\t\tt.mu.Lock()\n\t\t\t\ts := t.activeStreams[se.StreamID]\n\t\t\t\tt.mu.Unlock()\n\t\t\t\tif s != nil {\n\t\t\t\t\t// use error detail to provide better err message\n\t\t\t\t\tcode := http2ErrConvTab[se.Code]\n\t\t\t\t\tmsg := t.framer.fr.ErrorDetail().Error()\n\t\t\t\t\tt.closeStream(s, status.Error(code, msg), true, http2.ErrCodeProtocol, status.New(code, msg), nil, false)\n\t\t\t\t}\n\t\t\t\tcontinue\n\t\t\t} else {\n\t\t\t\t// Transport error.\n\t\t\t\tt.Close()\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\t\tswitch frame := frame.(type) {\n\t\tcase *http2.MetaHeadersFrame:\n\t\t\tt.operateHeaders(frame)\n\t\tcase *http2.DataFrame:\n\t\t\tt.handleData(frame)\n\t\tcase *http2.RSTStreamFrame:\n\t\t\tt.handleRSTStream(frame)\n\t\tcase *http2.SettingsFrame:\n\t\t\tt.handleSettings(frame, false)\n\t\tcase *http2.PingFrame:\n\t\t\tt.handlePing(frame)\n\t\tcase *http2.GoAwayFrame:\n\t\t\tt.handleGoAway(frame)\n\t\tcase *http2.WindowUpdateFrame:\n\t\t\tt.handleWindowUpdate(frame)\n\t\tdefault:\n\t\t\terrorf(\"transport: http2Client.reader got unhandled frame type %v.\", frame)\n\t\t}\n\t}\n}\n\n// keepalive running in a separate goroutune makes sure the connection is alive by sending pings.\nfunc (t *http2Client) keepalive() {\n\tp := &ping{data: [8]byte{}}\n\ttimer := time.NewTimer(t.kp.Time)\n\tfor {\n\t\tselect {\n\t\tcase <-timer.C:\n\t\t\tif atomic.CompareAndSwapUint32(&t.activity, 1, 0) {\n\t\t\t\ttimer.Reset(t.kp.Time)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\t// Check if keepalive should go dormant.\n\t\t\tt.mu.Lock()\n\t\t\tif len(t.activeStreams) < 1 && !t.kp.PermitWithoutStream {\n\t\t\t\t// Make awakenKeepalive writable.\n\t\t\t\t<-t.awakenKeepalive\n\t\t\t\tt.mu.Unlock()\n\t\t\t\tselect {\n\t\t\t\tcase <-t.awakenKeepalive:\n\t\t\t\t\t// If the control gets here a ping has been sent\n\t\t\t\t\t// need to reset the timer with keepalive.Timeout.\n\t\t\t\tcase <-t.ctx.Done():\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tt.mu.Unlock()\n\t\t\t\tif channelz.IsOn() {\n\t\t\t\t\tt.czmu.Lock()\n\t\t\t\t\tt.kpCount++\n\t\t\t\t\tt.czmu.Unlock()\n\t\t\t\t}\n\t\t\t\t// Send ping.\n\t\t\t\tt.controlBuf.put(p)\n\t\t\t}\n\n\t\t\t// By the time control gets here a ping has been sent one way or the other.\n\t\t\ttimer.Reset(t.kp.Timeout)\n\t\t\tselect {\n\t\t\tcase <-timer.C:\n\t\t\t\tif atomic.CompareAndSwapUint32(&t.activity, 1, 0) {\n\t\t\t\t\ttimer.Reset(t.kp.Time)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tt.Close()\n\t\t\t\treturn\n\t\t\tcase <-t.ctx.Done():\n\t\t\t\tif !timer.Stop() {\n\t\t\t\t\t<-timer.C\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\t\tcase <-t.ctx.Done():\n\t\t\tif !timer.Stop() {\n\t\t\t\t<-timer.C\n\t\t\t}\n\t\t\treturn\n\t\t}\n\t}\n}\n\nfunc (t *http2Client) Error() <-chan struct{} {\n\treturn t.ctx.Done()\n}\n\nfunc (t *http2Client) GoAway() <-chan struct{} {\n\treturn t.goAway\n}\n\nfunc (t *http2Client) ChannelzMetric() *channelz.SocketInternalMetric {\n\tt.czmu.RLock()\n\ts := channelz.SocketInternalMetric{\n\t\tStreamsStarted:                  t.streamsStarted,\n\t\tStreamsSucceeded:                t.streamsSucceeded,\n\t\tStreamsFailed:                   t.streamsFailed,\n\t\tMessagesSent:                    t.msgSent,\n\t\tMessagesReceived:                t.msgRecv,\n\t\tKeepAlivesSent:                  t.kpCount,\n\t\tLastLocalStreamCreatedTimestamp: t.lastStreamCreated,\n\t\tLastMessageSentTimestamp:        t.lastMsgSent,\n\t\tLastMessageReceivedTimestamp:    t.lastMsgRecv,\n\t\tLocalFlowControlWindow:          int64(t.fc.getSize()),\n\t\tSocketOptions:                   channelz.GetSocketOption(t.conn),\n\t\tLocalAddr:                       t.localAddr,\n\t\tRemoteAddr:                      t.remoteAddr,\n\t\t// RemoteName :\n\t}\n\tif au, ok := t.authInfo.(credentials.ChannelzSecurityInfo); ok {\n\t\ts.Security = au.GetSecurityValue()\n\t}\n\tt.czmu.RUnlock()\n\ts.RemoteFlowControlWindow = t.getOutFlowWindow()\n\treturn &s\n}\n\nfunc (t *http2Client) IncrMsgSent() {\n\tt.czmu.Lock()\n\tt.msgSent++\n\tt.lastMsgSent = time.Now()\n\tt.czmu.Unlock()\n}\n\nfunc (t *http2Client) IncrMsgRecv() {\n\tt.czmu.Lock()\n\tt.msgRecv++\n\tt.lastMsgRecv = time.Now()\n\tt.czmu.Unlock()\n}\n\nfunc (t *http2Client) getOutFlowWindow() int64 {\n\tresp := make(chan uint32, 1)\n\ttimer := time.NewTimer(time.Second)\n\tdefer timer.Stop()\n\tt.controlBuf.put(&outFlowControlSizeRequest{resp})\n\tselect {\n\tcase sz := <-resp:\n\t\treturn int64(sz)\n\tcase <-t.ctxDone:\n\t\treturn -1\n\tcase <-timer.C:\n\t\treturn -2\n\t}\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/internal/transport/http2_server.go",
    "content": "/*\n *\n * Copyright 2014 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage transport\n\nimport (\n\t\"bytes\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"math\"\n\t\"net\"\n\t\"strconv\"\n\t\"sync\"\n\t\"sync/atomic\"\n\t\"time\"\n\n\t\"github.com/golang/protobuf/proto\"\n\t\"golang.org/x/net/context\"\n\t\"golang.org/x/net/http2\"\n\t\"golang.org/x/net/http2/hpack\"\n\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/credentials\"\n\t\"google.golang.org/grpc/grpclog\"\n\t\"google.golang.org/grpc/internal/channelz\"\n\t\"google.golang.org/grpc/internal/grpcrand\"\n\t\"google.golang.org/grpc/keepalive\"\n\t\"google.golang.org/grpc/metadata\"\n\t\"google.golang.org/grpc/peer\"\n\t\"google.golang.org/grpc/stats\"\n\t\"google.golang.org/grpc/status\"\n\t\"google.golang.org/grpc/tap\"\n)\n\nvar (\n\t// ErrIllegalHeaderWrite indicates that setting header is illegal because of\n\t// the stream's state.\n\tErrIllegalHeaderWrite = errors.New(\"transport: the stream is done or WriteHeader was already called\")\n\t// ErrHeaderListSizeLimitViolation indicates that the header list size is larger\n\t// than the limit set by peer.\n\tErrHeaderListSizeLimitViolation = errors.New(\"transport: trying to send header list size larger than the limit set by peer\")\n)\n\n// http2Server implements the ServerTransport interface with HTTP2.\ntype http2Server struct {\n\tctx         context.Context\n\tctxDone     <-chan struct{} // Cache the context.Done() chan\n\tcancel      context.CancelFunc\n\tconn        net.Conn\n\tloopy       *loopyWriter\n\treaderDone  chan struct{} // sync point to enable testing.\n\twriterDone  chan struct{} // sync point to enable testing.\n\tremoteAddr  net.Addr\n\tlocalAddr   net.Addr\n\tmaxStreamID uint32               // max stream ID ever seen\n\tauthInfo    credentials.AuthInfo // auth info about the connection\n\tinTapHandle tap.ServerInHandle\n\tframer      *framer\n\t// The max number of concurrent streams.\n\tmaxStreams uint32\n\t// controlBuf delivers all the control related tasks (e.g., window\n\t// updates, reset streams, and various settings) to the controller.\n\tcontrolBuf *controlBuffer\n\tfc         *trInFlow\n\tstats      stats.Handler\n\t// Flag to keep track of reading activity on transport.\n\t// 1 is true and 0 is false.\n\tactivity uint32 // Accessed atomically.\n\t// Keepalive and max-age parameters for the server.\n\tkp keepalive.ServerParameters\n\n\t// Keepalive enforcement policy.\n\tkep keepalive.EnforcementPolicy\n\t// The time instance last ping was received.\n\tlastPingAt time.Time\n\t// Number of times the client has violated keepalive ping policy so far.\n\tpingStrikes uint8\n\t// Flag to signify that number of ping strikes should be reset to 0.\n\t// This is set whenever data or header frames are sent.\n\t// 1 means yes.\n\tresetPingStrikes      uint32 // Accessed atomically.\n\tinitialWindowSize     int32\n\tbdpEst                *bdpEstimator\n\tmaxSendHeaderListSize *uint32\n\n\tmu sync.Mutex // guard the following\n\n\t// drainChan is initialized when drain(...) is called the first time.\n\t// After which the server writes out the first GoAway(with ID 2^31-1) frame.\n\t// Then an independent goroutine will be launched to later send the second GoAway.\n\t// During this time we don't want to write another first GoAway(with ID 2^31 -1) frame.\n\t// Thus call to drain(...) will be a no-op if drainChan is already initialized since draining is\n\t// already underway.\n\tdrainChan     chan struct{}\n\tstate         transportState\n\tactiveStreams map[uint32]*Stream\n\t// idle is the time instant when the connection went idle.\n\t// This is either the beginning of the connection or when the number of\n\t// RPCs go down to 0.\n\t// When the connection is busy, this value is set to 0.\n\tidle time.Time\n\n\t// Fields below are for channelz metric collection.\n\tchannelzID int64 // channelz unique identification number\n\tczmu       sync.RWMutex\n\tkpCount    int64\n\t// The number of streams that have started, including already finished ones.\n\tstreamsStarted int64\n\t// The number of streams that have ended successfully by sending frame with\n\t// EoS bit set.\n\tstreamsSucceeded  int64\n\tstreamsFailed     int64\n\tlastStreamCreated time.Time\n\tmsgSent           int64\n\tmsgRecv           int64\n\tlastMsgSent       time.Time\n\tlastMsgRecv       time.Time\n}\n\n// newHTTP2Server constructs a ServerTransport based on HTTP2. ConnectionError is\n// returned if something goes wrong.\nfunc newHTTP2Server(conn net.Conn, config *ServerConfig) (_ ServerTransport, err error) {\n\twriteBufSize := config.WriteBufferSize\n\treadBufSize := config.ReadBufferSize\n\tmaxHeaderListSize := defaultServerMaxHeaderListSize\n\tif config.MaxHeaderListSize != nil {\n\t\tmaxHeaderListSize = *config.MaxHeaderListSize\n\t}\n\tframer := newFramer(conn, writeBufSize, readBufSize, maxHeaderListSize)\n\t// Send initial settings as connection preface to client.\n\tvar isettings []http2.Setting\n\t// TODO(zhaoq): Have a better way to signal \"no limit\" because 0 is\n\t// permitted in the HTTP2 spec.\n\tmaxStreams := config.MaxStreams\n\tif maxStreams == 0 {\n\t\tmaxStreams = math.MaxUint32\n\t} else {\n\t\tisettings = append(isettings, http2.Setting{\n\t\t\tID:  http2.SettingMaxConcurrentStreams,\n\t\t\tVal: maxStreams,\n\t\t})\n\t}\n\tdynamicWindow := true\n\tiwz := int32(initialWindowSize)\n\tif config.InitialWindowSize >= defaultWindowSize {\n\t\tiwz = config.InitialWindowSize\n\t\tdynamicWindow = false\n\t}\n\ticwz := int32(initialWindowSize)\n\tif config.InitialConnWindowSize >= defaultWindowSize {\n\t\ticwz = config.InitialConnWindowSize\n\t\tdynamicWindow = false\n\t}\n\tif iwz != defaultWindowSize {\n\t\tisettings = append(isettings, http2.Setting{\n\t\t\tID:  http2.SettingInitialWindowSize,\n\t\t\tVal: uint32(iwz)})\n\t}\n\tif config.MaxHeaderListSize != nil {\n\t\tisettings = append(isettings, http2.Setting{\n\t\t\tID:  http2.SettingMaxHeaderListSize,\n\t\t\tVal: *config.MaxHeaderListSize,\n\t\t})\n\t}\n\tif err := framer.fr.WriteSettings(isettings...); err != nil {\n\t\treturn nil, connectionErrorf(false, err, \"transport: %v\", err)\n\t}\n\t// Adjust the connection flow control window if needed.\n\tif delta := uint32(icwz - defaultWindowSize); delta > 0 {\n\t\tif err := framer.fr.WriteWindowUpdate(0, delta); err != nil {\n\t\t\treturn nil, connectionErrorf(false, err, \"transport: %v\", err)\n\t\t}\n\t}\n\tkp := config.KeepaliveParams\n\tif kp.MaxConnectionIdle == 0 {\n\t\tkp.MaxConnectionIdle = defaultMaxConnectionIdle\n\t}\n\tif kp.MaxConnectionAge == 0 {\n\t\tkp.MaxConnectionAge = defaultMaxConnectionAge\n\t}\n\t// Add a jitter to MaxConnectionAge.\n\tkp.MaxConnectionAge += getJitter(kp.MaxConnectionAge)\n\tif kp.MaxConnectionAgeGrace == 0 {\n\t\tkp.MaxConnectionAgeGrace = defaultMaxConnectionAgeGrace\n\t}\n\tif kp.Time == 0 {\n\t\tkp.Time = defaultServerKeepaliveTime\n\t}\n\tif kp.Timeout == 0 {\n\t\tkp.Timeout = defaultServerKeepaliveTimeout\n\t}\n\tkep := config.KeepalivePolicy\n\tif kep.MinTime == 0 {\n\t\tkep.MinTime = defaultKeepalivePolicyMinTime\n\t}\n\tctx, cancel := context.WithCancel(context.Background())\n\tt := &http2Server{\n\t\tctx:               ctx,\n\t\tcancel:            cancel,\n\t\tctxDone:           ctx.Done(),\n\t\tconn:              conn,\n\t\tremoteAddr:        conn.RemoteAddr(),\n\t\tlocalAddr:         conn.LocalAddr(),\n\t\tauthInfo:          config.AuthInfo,\n\t\tframer:            framer,\n\t\treaderDone:        make(chan struct{}),\n\t\twriterDone:        make(chan struct{}),\n\t\tmaxStreams:        maxStreams,\n\t\tinTapHandle:       config.InTapHandle,\n\t\tfc:                &trInFlow{limit: uint32(icwz)},\n\t\tstate:             reachable,\n\t\tactiveStreams:     make(map[uint32]*Stream),\n\t\tstats:             config.StatsHandler,\n\t\tkp:                kp,\n\t\tidle:              time.Now(),\n\t\tkep:               kep,\n\t\tinitialWindowSize: iwz,\n\t}\n\tt.controlBuf = newControlBuffer(t.ctxDone)\n\tif dynamicWindow {\n\t\tt.bdpEst = &bdpEstimator{\n\t\t\tbdp:               initialWindowSize,\n\t\t\tupdateFlowControl: t.updateFlowControl,\n\t\t}\n\t}\n\tif t.stats != nil {\n\t\tt.ctx = t.stats.TagConn(t.ctx, &stats.ConnTagInfo{\n\t\t\tRemoteAddr: t.remoteAddr,\n\t\t\tLocalAddr:  t.localAddr,\n\t\t})\n\t\tconnBegin := &stats.ConnBegin{}\n\t\tt.stats.HandleConn(t.ctx, connBegin)\n\t}\n\tif channelz.IsOn() {\n\t\tt.channelzID = channelz.RegisterNormalSocket(t, config.ChannelzParentID, \"\")\n\t}\n\tt.framer.writer.Flush()\n\n\tdefer func() {\n\t\tif err != nil {\n\t\t\tt.Close()\n\t\t}\n\t}()\n\n\t// Check the validity of client preface.\n\tpreface := make([]byte, len(clientPreface))\n\tif _, err := io.ReadFull(t.conn, preface); err != nil {\n\t\treturn nil, connectionErrorf(false, err, \"transport: http2Server.HandleStreams failed to receive the preface from client: %v\", err)\n\t}\n\tif !bytes.Equal(preface, clientPreface) {\n\t\treturn nil, connectionErrorf(false, nil, \"transport: http2Server.HandleStreams received bogus greeting from client: %q\", preface)\n\t}\n\n\tframe, err := t.framer.fr.ReadFrame()\n\tif err == io.EOF || err == io.ErrUnexpectedEOF {\n\t\treturn nil, err\n\t}\n\tif err != nil {\n\t\treturn nil, connectionErrorf(false, err, \"transport: http2Server.HandleStreams failed to read initial settings frame: %v\", err)\n\t}\n\tatomic.StoreUint32(&t.activity, 1)\n\tsf, ok := frame.(*http2.SettingsFrame)\n\tif !ok {\n\t\treturn nil, connectionErrorf(false, nil, \"transport: http2Server.HandleStreams saw invalid preface type %T from client\", frame)\n\t}\n\tt.handleSettings(sf)\n\n\tgo func() {\n\t\tt.loopy = newLoopyWriter(serverSide, t.framer, t.controlBuf, t.bdpEst)\n\t\tt.loopy.ssGoAwayHandler = t.outgoingGoAwayHandler\n\t\tif err := t.loopy.run(); err != nil {\n\t\t\terrorf(\"transport: loopyWriter.run returning. Err: %v\", err)\n\t\t}\n\t\tt.conn.Close()\n\t\tclose(t.writerDone)\n\t}()\n\tgo t.keepalive()\n\treturn t, nil\n}\n\n// operateHeader takes action on the decoded headers.\nfunc (t *http2Server) operateHeaders(frame *http2.MetaHeadersFrame, handle func(*Stream), traceCtx func(context.Context, string) context.Context) (close bool) {\n\tstreamID := frame.Header().StreamID\n\tstate := decodeState{serverSide: true}\n\tif err := state.decodeHeader(frame); err != nil {\n\t\tif se, ok := status.FromError(err); ok {\n\t\t\tt.controlBuf.put(&cleanupStream{\n\t\t\t\tstreamID: streamID,\n\t\t\t\trst:      true,\n\t\t\t\trstCode:  statusCodeConvTab[se.Code()],\n\t\t\t\tonWrite:  func() {},\n\t\t\t})\n\t\t}\n\t\treturn\n\t}\n\n\tbuf := newRecvBuffer()\n\ts := &Stream{\n\t\tid:             streamID,\n\t\tst:             t,\n\t\tbuf:            buf,\n\t\tfc:             &inFlow{limit: uint32(t.initialWindowSize)},\n\t\trecvCompress:   state.encoding,\n\t\tmethod:         state.method,\n\t\tcontentSubtype: state.contentSubtype,\n\t}\n\tif frame.StreamEnded() {\n\t\t// s is just created by the caller. No lock needed.\n\t\ts.state = streamReadDone\n\t}\n\tif state.timeoutSet {\n\t\ts.ctx, s.cancel = context.WithTimeout(t.ctx, state.timeout)\n\t} else {\n\t\ts.ctx, s.cancel = context.WithCancel(t.ctx)\n\t}\n\tpr := &peer.Peer{\n\t\tAddr: t.remoteAddr,\n\t}\n\t// Attach Auth info if there is any.\n\tif t.authInfo != nil {\n\t\tpr.AuthInfo = t.authInfo\n\t}\n\ts.ctx = peer.NewContext(s.ctx, pr)\n\t// Attach the received metadata to the context.\n\tif len(state.mdata) > 0 {\n\t\ts.ctx = metadata.NewIncomingContext(s.ctx, state.mdata)\n\t}\n\tif state.statsTags != nil {\n\t\ts.ctx = stats.SetIncomingTags(s.ctx, state.statsTags)\n\t}\n\tif state.statsTrace != nil {\n\t\ts.ctx = stats.SetIncomingTrace(s.ctx, state.statsTrace)\n\t}\n\tif t.inTapHandle != nil {\n\t\tvar err error\n\t\tinfo := &tap.Info{\n\t\t\tFullMethodName: state.method,\n\t\t}\n\t\ts.ctx, err = t.inTapHandle(s.ctx, info)\n\t\tif err != nil {\n\t\t\twarningf(\"transport: http2Server.operateHeaders got an error from InTapHandle: %v\", err)\n\t\t\tt.controlBuf.put(&cleanupStream{\n\t\t\t\tstreamID: s.id,\n\t\t\t\trst:      true,\n\t\t\t\trstCode:  http2.ErrCodeRefusedStream,\n\t\t\t\tonWrite:  func() {},\n\t\t\t})\n\t\t\treturn\n\t\t}\n\t}\n\tt.mu.Lock()\n\tif t.state != reachable {\n\t\tt.mu.Unlock()\n\t\treturn\n\t}\n\tif uint32(len(t.activeStreams)) >= t.maxStreams {\n\t\tt.mu.Unlock()\n\t\tt.controlBuf.put(&cleanupStream{\n\t\t\tstreamID: streamID,\n\t\t\trst:      true,\n\t\t\trstCode:  http2.ErrCodeRefusedStream,\n\t\t\tonWrite:  func() {},\n\t\t})\n\t\treturn\n\t}\n\tif streamID%2 != 1 || streamID <= t.maxStreamID {\n\t\tt.mu.Unlock()\n\t\t// illegal gRPC stream id.\n\t\terrorf(\"transport: http2Server.HandleStreams received an illegal stream id: %v\", streamID)\n\t\treturn true\n\t}\n\tt.maxStreamID = streamID\n\tt.activeStreams[streamID] = s\n\tif len(t.activeStreams) == 1 {\n\t\tt.idle = time.Time{}\n\t}\n\tt.mu.Unlock()\n\tif channelz.IsOn() {\n\t\tt.czmu.Lock()\n\t\tt.streamsStarted++\n\t\tt.lastStreamCreated = time.Now()\n\t\tt.czmu.Unlock()\n\t}\n\ts.requestRead = func(n int) {\n\t\tt.adjustWindow(s, uint32(n))\n\t}\n\ts.ctx = traceCtx(s.ctx, s.method)\n\tif t.stats != nil {\n\t\ts.ctx = t.stats.TagRPC(s.ctx, &stats.RPCTagInfo{FullMethodName: s.method})\n\t\tinHeader := &stats.InHeader{\n\t\t\tFullMethod:  s.method,\n\t\t\tRemoteAddr:  t.remoteAddr,\n\t\t\tLocalAddr:   t.localAddr,\n\t\t\tCompression: s.recvCompress,\n\t\t\tWireLength:  int(frame.Header().Length),\n\t\t}\n\t\tt.stats.HandleRPC(s.ctx, inHeader)\n\t}\n\ts.ctxDone = s.ctx.Done()\n\ts.wq = newWriteQuota(defaultWriteQuota, s.ctxDone)\n\ts.trReader = &transportReader{\n\t\treader: &recvBufferReader{\n\t\t\tctx:     s.ctx,\n\t\t\tctxDone: s.ctxDone,\n\t\t\trecv:    s.buf,\n\t\t},\n\t\twindowHandler: func(n int) {\n\t\t\tt.updateWindow(s, uint32(n))\n\t\t},\n\t}\n\t// Register the stream with loopy.\n\tt.controlBuf.put(&registerStream{\n\t\tstreamID: s.id,\n\t\twq:       s.wq,\n\t})\n\thandle(s)\n\treturn\n}\n\n// HandleStreams receives incoming streams using the given handler. This is\n// typically run in a separate goroutine.\n// traceCtx attaches trace to ctx and returns the new context.\nfunc (t *http2Server) HandleStreams(handle func(*Stream), traceCtx func(context.Context, string) context.Context) {\n\tdefer close(t.readerDone)\n\tfor {\n\t\tframe, err := t.framer.fr.ReadFrame()\n\t\tatomic.StoreUint32(&t.activity, 1)\n\t\tif err != nil {\n\t\t\tif se, ok := err.(http2.StreamError); ok {\n\t\t\t\twarningf(\"transport: http2Server.HandleStreams encountered http2.StreamError: %v\", se)\n\t\t\t\tt.mu.Lock()\n\t\t\t\ts := t.activeStreams[se.StreamID]\n\t\t\t\tt.mu.Unlock()\n\t\t\t\tif s != nil {\n\t\t\t\t\tt.closeStream(s, true, se.Code, nil, false)\n\t\t\t\t} else {\n\t\t\t\t\tt.controlBuf.put(&cleanupStream{\n\t\t\t\t\t\tstreamID: se.StreamID,\n\t\t\t\t\t\trst:      true,\n\t\t\t\t\t\trstCode:  se.Code,\n\t\t\t\t\t\tonWrite:  func() {},\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif err == io.EOF || err == io.ErrUnexpectedEOF {\n\t\t\t\tt.Close()\n\t\t\t\treturn\n\t\t\t}\n\t\t\twarningf(\"transport: http2Server.HandleStreams failed to read frame: %v\", err)\n\t\t\tt.Close()\n\t\t\treturn\n\t\t}\n\t\tswitch frame := frame.(type) {\n\t\tcase *http2.MetaHeadersFrame:\n\t\t\tif t.operateHeaders(frame, handle, traceCtx) {\n\t\t\t\tt.Close()\n\t\t\t\tbreak\n\t\t\t}\n\t\tcase *http2.DataFrame:\n\t\t\tt.handleData(frame)\n\t\tcase *http2.RSTStreamFrame:\n\t\t\tt.handleRSTStream(frame)\n\t\tcase *http2.SettingsFrame:\n\t\t\tt.handleSettings(frame)\n\t\tcase *http2.PingFrame:\n\t\t\tt.handlePing(frame)\n\t\tcase *http2.WindowUpdateFrame:\n\t\t\tt.handleWindowUpdate(frame)\n\t\tcase *http2.GoAwayFrame:\n\t\t\t// TODO: Handle GoAway from the client appropriately.\n\t\tdefault:\n\t\t\terrorf(\"transport: http2Server.HandleStreams found unhandled frame type %v.\", frame)\n\t\t}\n\t}\n}\n\nfunc (t *http2Server) getStream(f http2.Frame) (*Stream, bool) {\n\tt.mu.Lock()\n\tdefer t.mu.Unlock()\n\tif t.activeStreams == nil {\n\t\t// The transport is closing.\n\t\treturn nil, false\n\t}\n\ts, ok := t.activeStreams[f.Header().StreamID]\n\tif !ok {\n\t\t// The stream is already done.\n\t\treturn nil, false\n\t}\n\treturn s, true\n}\n\n// adjustWindow sends out extra window update over the initial window size\n// of stream if the application is requesting data larger in size than\n// the window.\nfunc (t *http2Server) adjustWindow(s *Stream, n uint32) {\n\tif w := s.fc.maybeAdjust(n); w > 0 {\n\t\tt.controlBuf.put(&outgoingWindowUpdate{streamID: s.id, increment: w})\n\t}\n\n}\n\n// updateWindow adjusts the inbound quota for the stream and the transport.\n// Window updates will deliver to the controller for sending when\n// the cumulative quota exceeds the corresponding threshold.\nfunc (t *http2Server) updateWindow(s *Stream, n uint32) {\n\tif w := s.fc.onRead(n); w > 0 {\n\t\tt.controlBuf.put(&outgoingWindowUpdate{streamID: s.id,\n\t\t\tincrement: w,\n\t\t})\n\t}\n}\n\n// updateFlowControl updates the incoming flow control windows\n// for the transport and the stream based on the current bdp\n// estimation.\nfunc (t *http2Server) updateFlowControl(n uint32) {\n\tt.mu.Lock()\n\tfor _, s := range t.activeStreams {\n\t\ts.fc.newLimit(n)\n\t}\n\tt.initialWindowSize = int32(n)\n\tt.mu.Unlock()\n\tt.controlBuf.put(&outgoingWindowUpdate{\n\t\tstreamID:  0,\n\t\tincrement: t.fc.newLimit(n),\n\t})\n\tt.controlBuf.put(&outgoingSettings{\n\t\tss: []http2.Setting{\n\t\t\t{\n\t\t\t\tID:  http2.SettingInitialWindowSize,\n\t\t\t\tVal: n,\n\t\t\t},\n\t\t},\n\t})\n\n}\n\nfunc (t *http2Server) handleData(f *http2.DataFrame) {\n\tsize := f.Header().Length\n\tvar sendBDPPing bool\n\tif t.bdpEst != nil {\n\t\tsendBDPPing = t.bdpEst.add(size)\n\t}\n\t// Decouple connection's flow control from application's read.\n\t// An update on connection's flow control should not depend on\n\t// whether user application has read the data or not. Such a\n\t// restriction is already imposed on the stream's flow control,\n\t// and therefore the sender will be blocked anyways.\n\t// Decoupling the connection flow control will prevent other\n\t// active(fast) streams from starving in presence of slow or\n\t// inactive streams.\n\tif w := t.fc.onData(size); w > 0 {\n\t\tt.controlBuf.put(&outgoingWindowUpdate{\n\t\t\tstreamID:  0,\n\t\t\tincrement: w,\n\t\t})\n\t}\n\tif sendBDPPing {\n\t\t// Avoid excessive ping detection (e.g. in an L7 proxy)\n\t\t// by sending a window update prior to the BDP ping.\n\t\tif w := t.fc.reset(); w > 0 {\n\t\t\tt.controlBuf.put(&outgoingWindowUpdate{\n\t\t\t\tstreamID:  0,\n\t\t\t\tincrement: w,\n\t\t\t})\n\t\t}\n\t\tt.controlBuf.put(bdpPing)\n\t}\n\t// Select the right stream to dispatch.\n\ts, ok := t.getStream(f)\n\tif !ok {\n\t\treturn\n\t}\n\tif size > 0 {\n\t\tif err := s.fc.onData(size); err != nil {\n\t\t\tt.closeStream(s, true, http2.ErrCodeFlowControl, nil, false)\n\t\t\treturn\n\t\t}\n\t\tif f.Header().Flags.Has(http2.FlagDataPadded) {\n\t\t\tif w := s.fc.onRead(size - uint32(len(f.Data()))); w > 0 {\n\t\t\t\tt.controlBuf.put(&outgoingWindowUpdate{s.id, w})\n\t\t\t}\n\t\t}\n\t\t// TODO(bradfitz, zhaoq): A copy is required here because there is no\n\t\t// guarantee f.Data() is consumed before the arrival of next frame.\n\t\t// Can this copy be eliminated?\n\t\tif len(f.Data()) > 0 {\n\t\t\tdata := make([]byte, len(f.Data()))\n\t\t\tcopy(data, f.Data())\n\t\t\ts.write(recvMsg{data: data})\n\t\t}\n\t}\n\tif f.Header().Flags.Has(http2.FlagDataEndStream) {\n\t\t// Received the end of stream from the client.\n\t\ts.compareAndSwapState(streamActive, streamReadDone)\n\t\ts.write(recvMsg{err: io.EOF})\n\t}\n}\n\nfunc (t *http2Server) handleRSTStream(f *http2.RSTStreamFrame) {\n\ts, ok := t.getStream(f)\n\tif !ok {\n\t\treturn\n\t}\n\tt.closeStream(s, false, 0, nil, false)\n}\n\nfunc (t *http2Server) handleSettings(f *http2.SettingsFrame) {\n\tif f.IsAck() {\n\t\treturn\n\t}\n\tvar ss []http2.Setting\n\tvar updateFuncs []func()\n\tf.ForeachSetting(func(s http2.Setting) error {\n\t\tswitch s.ID {\n\t\tcase http2.SettingMaxHeaderListSize:\n\t\t\tupdateFuncs = append(updateFuncs, func() {\n\t\t\t\tt.maxSendHeaderListSize = new(uint32)\n\t\t\t\t*t.maxSendHeaderListSize = s.Val\n\t\t\t})\n\t\tdefault:\n\t\t\tss = append(ss, s)\n\t\t}\n\t\treturn nil\n\t})\n\tt.controlBuf.executeAndPut(func(interface{}) bool {\n\t\tfor _, f := range updateFuncs {\n\t\t\tf()\n\t\t}\n\t\treturn true\n\t}, &incomingSettings{\n\t\tss: ss,\n\t})\n}\n\nconst (\n\tmaxPingStrikes     = 2\n\tdefaultPingTimeout = 2 * time.Hour\n)\n\nfunc (t *http2Server) handlePing(f *http2.PingFrame) {\n\tif f.IsAck() {\n\t\tif f.Data == goAwayPing.data && t.drainChan != nil {\n\t\t\tclose(t.drainChan)\n\t\t\treturn\n\t\t}\n\t\t// Maybe it's a BDP ping.\n\t\tif t.bdpEst != nil {\n\t\t\tt.bdpEst.calculate(f.Data)\n\t\t}\n\t\treturn\n\t}\n\tpingAck := &ping{ack: true}\n\tcopy(pingAck.data[:], f.Data[:])\n\tt.controlBuf.put(pingAck)\n\n\tnow := time.Now()\n\tdefer func() {\n\t\tt.lastPingAt = now\n\t}()\n\t// A reset ping strikes means that we don't need to check for policy\n\t// violation for this ping and the pingStrikes counter should be set\n\t// to 0.\n\tif atomic.CompareAndSwapUint32(&t.resetPingStrikes, 1, 0) {\n\t\tt.pingStrikes = 0\n\t\treturn\n\t}\n\tt.mu.Lock()\n\tns := len(t.activeStreams)\n\tt.mu.Unlock()\n\tif ns < 1 && !t.kep.PermitWithoutStream {\n\t\t// Keepalive shouldn't be active thus, this new ping should\n\t\t// have come after at least defaultPingTimeout.\n\t\tif t.lastPingAt.Add(defaultPingTimeout).After(now) {\n\t\t\tt.pingStrikes++\n\t\t}\n\t} else {\n\t\t// Check if keepalive policy is respected.\n\t\tif t.lastPingAt.Add(t.kep.MinTime).After(now) {\n\t\t\tt.pingStrikes++\n\t\t}\n\t}\n\n\tif t.pingStrikes > maxPingStrikes {\n\t\t// Send goaway and close the connection.\n\t\terrorf(\"transport: Got too many pings from the client, closing the connection.\")\n\t\tt.controlBuf.put(&goAway{code: http2.ErrCodeEnhanceYourCalm, debugData: []byte(\"too_many_pings\"), closeConn: true})\n\t}\n}\n\nfunc (t *http2Server) handleWindowUpdate(f *http2.WindowUpdateFrame) {\n\tt.controlBuf.put(&incomingWindowUpdate{\n\t\tstreamID:  f.Header().StreamID,\n\t\tincrement: f.Increment,\n\t})\n}\n\nfunc appendHeaderFieldsFromMD(headerFields []hpack.HeaderField, md metadata.MD) []hpack.HeaderField {\n\tfor k, vv := range md {\n\t\tif isReservedHeader(k) {\n\t\t\t// Clients don't tolerate reading restricted headers after some non restricted ones were sent.\n\t\t\tcontinue\n\t\t}\n\t\tfor _, v := range vv {\n\t\t\theaderFields = append(headerFields, hpack.HeaderField{Name: k, Value: encodeMetadataHeader(k, v)})\n\t\t}\n\t}\n\treturn headerFields\n}\n\nfunc (t *http2Server) checkForHeaderListSize(it interface{}) bool {\n\tif t.maxSendHeaderListSize == nil {\n\t\treturn true\n\t}\n\thdrFrame := it.(*headerFrame)\n\tvar sz int64\n\tfor _, f := range hdrFrame.hf {\n\t\tif sz += int64(f.Size()); sz > int64(*t.maxSendHeaderListSize) {\n\t\t\terrorf(\"header list size to send violates the maximum size (%d bytes) set by client\", *t.maxSendHeaderListSize)\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\n// WriteHeader sends the header metedata md back to the client.\nfunc (t *http2Server) WriteHeader(s *Stream, md metadata.MD) error {\n\tif s.updateHeaderSent() || s.getState() == streamDone {\n\t\treturn ErrIllegalHeaderWrite\n\t}\n\ts.hdrMu.Lock()\n\tif md.Len() > 0 {\n\t\tif s.header.Len() > 0 {\n\t\t\ts.header = metadata.Join(s.header, md)\n\t\t} else {\n\t\t\ts.header = md\n\t\t}\n\t}\n\tif err := t.writeHeaderLocked(s); err != nil {\n\t\ts.hdrMu.Unlock()\n\t\treturn err\n\t}\n\ts.hdrMu.Unlock()\n\treturn nil\n}\n\nfunc (t *http2Server) writeHeaderLocked(s *Stream) error {\n\t// TODO(mmukhi): Benchmark if the performance gets better if count the metadata and other header fields\n\t// first and create a slice of that exact size.\n\theaderFields := make([]hpack.HeaderField, 0, 2) // at least :status, content-type will be there if none else.\n\theaderFields = append(headerFields, hpack.HeaderField{Name: \":status\", Value: \"200\"})\n\theaderFields = append(headerFields, hpack.HeaderField{Name: \"content-type\", Value: contentType(s.contentSubtype)})\n\tif s.sendCompress != \"\" {\n\t\theaderFields = append(headerFields, hpack.HeaderField{Name: \"grpc-encoding\", Value: s.sendCompress})\n\t}\n\theaderFields = appendHeaderFieldsFromMD(headerFields, s.header)\n\tsuccess, err := t.controlBuf.executeAndPut(t.checkForHeaderListSize, &headerFrame{\n\t\tstreamID:  s.id,\n\t\thf:        headerFields,\n\t\tendStream: false,\n\t\tonWrite: func() {\n\t\t\tatomic.StoreUint32(&t.resetPingStrikes, 1)\n\t\t},\n\t})\n\tif !success {\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tt.closeStream(s, true, http2.ErrCodeInternal, nil, false)\n\t\treturn ErrHeaderListSizeLimitViolation\n\t}\n\tif t.stats != nil {\n\t\t// Note: WireLength is not set in outHeader.\n\t\t// TODO(mmukhi): Revisit this later, if needed.\n\t\toutHeader := &stats.OutHeader{}\n\t\tt.stats.HandleRPC(s.Context(), outHeader)\n\t}\n\treturn nil\n}\n\n// WriteStatus sends stream status to the client and terminates the stream.\n// There is no further I/O operations being able to perform on this stream.\n// TODO(zhaoq): Now it indicates the end of entire stream. Revisit if early\n// OK is adopted.\nfunc (t *http2Server) WriteStatus(s *Stream, st *status.Status) error {\n\tif s.getState() == streamDone {\n\t\treturn nil\n\t}\n\ts.hdrMu.Lock()\n\t// TODO(mmukhi): Benchmark if the performance gets better if count the metadata and other header fields\n\t// first and create a slice of that exact size.\n\theaderFields := make([]hpack.HeaderField, 0, 2) // grpc-status and grpc-message will be there if none else.\n\tif !s.updateHeaderSent() {                      // No headers have been sent.\n\t\tif len(s.header) > 0 { // Send a separate header frame.\n\t\t\tif err := t.writeHeaderLocked(s); err != nil {\n\t\t\t\ts.hdrMu.Unlock()\n\t\t\t\treturn err\n\t\t\t}\n\t\t} else { // Send a trailer only response.\n\t\t\theaderFields = append(headerFields, hpack.HeaderField{Name: \":status\", Value: \"200\"})\n\t\t\theaderFields = append(headerFields, hpack.HeaderField{Name: \"content-type\", Value: contentType(s.contentSubtype)})\n\t\t}\n\t}\n\theaderFields = append(headerFields, hpack.HeaderField{Name: \"grpc-status\", Value: strconv.Itoa(int(st.Code()))})\n\theaderFields = append(headerFields, hpack.HeaderField{Name: \"grpc-message\", Value: encodeGrpcMessage(st.Message())})\n\n\tif p := st.Proto(); p != nil && len(p.Details) > 0 {\n\t\tstBytes, err := proto.Marshal(p)\n\t\tif err != nil {\n\t\t\t// TODO: return error instead, when callers are able to handle it.\n\t\t\tgrpclog.Errorf(\"transport: failed to marshal rpc status: %v, error: %v\", p, err)\n\t\t} else {\n\t\t\theaderFields = append(headerFields, hpack.HeaderField{Name: \"grpc-status-details-bin\", Value: encodeBinHeader(stBytes)})\n\t\t}\n\t}\n\n\t// Attach the trailer metadata.\n\theaderFields = appendHeaderFieldsFromMD(headerFields, s.trailer)\n\ttrailingHeader := &headerFrame{\n\t\tstreamID:  s.id,\n\t\thf:        headerFields,\n\t\tendStream: true,\n\t\tonWrite: func() {\n\t\t\tatomic.StoreUint32(&t.resetPingStrikes, 1)\n\t\t},\n\t}\n\ts.hdrMu.Unlock()\n\tsuccess, err := t.controlBuf.execute(t.checkForHeaderListSize, trailingHeader)\n\tif !success {\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tt.closeStream(s, true, http2.ErrCodeInternal, nil, false)\n\t\treturn ErrHeaderListSizeLimitViolation\n\t}\n\tt.closeStream(s, false, 0, trailingHeader, true)\n\tif t.stats != nil {\n\t\tt.stats.HandleRPC(s.Context(), &stats.OutTrailer{})\n\t}\n\treturn nil\n}\n\n// Write converts the data into HTTP2 data frame and sends it out. Non-nil error\n// is returns if it fails (e.g., framing error, transport error).\nfunc (t *http2Server) Write(s *Stream, hdr []byte, data []byte, opts *Options) error {\n\tif !s.isHeaderSent() { // Headers haven't been written yet.\n\t\tif err := t.WriteHeader(s, nil); err != nil {\n\t\t\t// TODO(mmukhi, dfawley): Make sure this is the right code to return.\n\t\t\treturn status.Errorf(codes.Internal, \"transport: %v\", err)\n\t\t}\n\t} else {\n\t\t// Writing headers checks for this condition.\n\t\tif s.getState() == streamDone {\n\t\t\t// TODO(mmukhi, dfawley): Should the server write also return io.EOF?\n\t\t\ts.cancel()\n\t\t\tselect {\n\t\t\tcase <-t.ctx.Done():\n\t\t\t\treturn ErrConnClosing\n\t\t\tdefault:\n\t\t\t}\n\t\t\treturn ContextErr(s.ctx.Err())\n\t\t}\n\t}\n\t// Add some data to header frame so that we can equally distribute bytes across frames.\n\temptyLen := http2MaxFrameLen - len(hdr)\n\tif emptyLen > len(data) {\n\t\temptyLen = len(data)\n\t}\n\thdr = append(hdr, data[:emptyLen]...)\n\tdata = data[emptyLen:]\n\tdf := &dataFrame{\n\t\tstreamID: s.id,\n\t\th:        hdr,\n\t\td:        data,\n\t\tonEachWrite: func() {\n\t\t\tatomic.StoreUint32(&t.resetPingStrikes, 1)\n\t\t},\n\t}\n\tif err := s.wq.get(int32(len(hdr) + len(data))); err != nil {\n\t\tselect {\n\t\tcase <-t.ctx.Done():\n\t\t\treturn ErrConnClosing\n\t\tdefault:\n\t\t}\n\t\treturn ContextErr(s.ctx.Err())\n\t}\n\treturn t.controlBuf.put(df)\n}\n\n// keepalive running in a separate goroutine does the following:\n// 1. Gracefully closes an idle connection after a duration of keepalive.MaxConnectionIdle.\n// 2. Gracefully closes any connection after a duration of keepalive.MaxConnectionAge.\n// 3. Forcibly closes a connection after an additive period of keepalive.MaxConnectionAgeGrace over keepalive.MaxConnectionAge.\n// 4. Makes sure a connection is alive by sending pings with a frequency of keepalive.Time and closes a non-responsive connection\n// after an additional duration of keepalive.Timeout.\nfunc (t *http2Server) keepalive() {\n\tp := &ping{}\n\tvar pingSent bool\n\tmaxIdle := time.NewTimer(t.kp.MaxConnectionIdle)\n\tmaxAge := time.NewTimer(t.kp.MaxConnectionAge)\n\tkeepalive := time.NewTimer(t.kp.Time)\n\t// NOTE: All exit paths of this function should reset their\n\t// respective timers. A failure to do so will cause the\n\t// following clean-up to deadlock and eventually leak.\n\tdefer func() {\n\t\tif !maxIdle.Stop() {\n\t\t\t<-maxIdle.C\n\t\t}\n\t\tif !maxAge.Stop() {\n\t\t\t<-maxAge.C\n\t\t}\n\t\tif !keepalive.Stop() {\n\t\t\t<-keepalive.C\n\t\t}\n\t}()\n\tfor {\n\t\tselect {\n\t\tcase <-maxIdle.C:\n\t\t\tt.mu.Lock()\n\t\t\tidle := t.idle\n\t\t\tif idle.IsZero() { // The connection is non-idle.\n\t\t\t\tt.mu.Unlock()\n\t\t\t\tmaxIdle.Reset(t.kp.MaxConnectionIdle)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tval := t.kp.MaxConnectionIdle - time.Since(idle)\n\t\t\tt.mu.Unlock()\n\t\t\tif val <= 0 {\n\t\t\t\t// The connection has been idle for a duration of keepalive.MaxConnectionIdle or more.\n\t\t\t\t// Gracefully close the connection.\n\t\t\t\tt.drain(http2.ErrCodeNo, []byte{})\n\t\t\t\t// Resetting the timer so that the clean-up doesn't deadlock.\n\t\t\t\tmaxIdle.Reset(infinity)\n\t\t\t\treturn\n\t\t\t}\n\t\t\tmaxIdle.Reset(val)\n\t\tcase <-maxAge.C:\n\t\t\tt.drain(http2.ErrCodeNo, []byte{})\n\t\t\tmaxAge.Reset(t.kp.MaxConnectionAgeGrace)\n\t\t\tselect {\n\t\t\tcase <-maxAge.C:\n\t\t\t\t// Close the connection after grace period.\n\t\t\t\tt.Close()\n\t\t\t\t// Resetting the timer so that the clean-up doesn't deadlock.\n\t\t\t\tmaxAge.Reset(infinity)\n\t\t\tcase <-t.ctx.Done():\n\t\t\t}\n\t\t\treturn\n\t\tcase <-keepalive.C:\n\t\t\tif atomic.CompareAndSwapUint32(&t.activity, 1, 0) {\n\t\t\t\tpingSent = false\n\t\t\t\tkeepalive.Reset(t.kp.Time)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif pingSent {\n\t\t\t\tt.Close()\n\t\t\t\t// Resetting the timer so that the clean-up doesn't deadlock.\n\t\t\t\tkeepalive.Reset(infinity)\n\t\t\t\treturn\n\t\t\t}\n\t\t\tpingSent = true\n\t\t\tif channelz.IsOn() {\n\t\t\t\tt.czmu.Lock()\n\t\t\t\tt.kpCount++\n\t\t\t\tt.czmu.Unlock()\n\t\t\t}\n\t\t\tt.controlBuf.put(p)\n\t\t\tkeepalive.Reset(t.kp.Timeout)\n\t\tcase <-t.ctx.Done():\n\t\t\treturn\n\t\t}\n\t}\n}\n\n// Close starts shutting down the http2Server transport.\n// TODO(zhaoq): Now the destruction is not blocked on any pending streams. This\n// could cause some resource issue. Revisit this later.\nfunc (t *http2Server) Close() error {\n\tt.mu.Lock()\n\tif t.state == closing {\n\t\tt.mu.Unlock()\n\t\treturn errors.New(\"transport: Close() was already called\")\n\t}\n\tt.state = closing\n\tstreams := t.activeStreams\n\tt.activeStreams = nil\n\tt.mu.Unlock()\n\tt.controlBuf.finish()\n\tt.cancel()\n\terr := t.conn.Close()\n\tif channelz.IsOn() {\n\t\tchannelz.RemoveEntry(t.channelzID)\n\t}\n\t// Cancel all active streams.\n\tfor _, s := range streams {\n\t\ts.cancel()\n\t}\n\tif t.stats != nil {\n\t\tconnEnd := &stats.ConnEnd{}\n\t\tt.stats.HandleConn(t.ctx, connEnd)\n\t}\n\treturn err\n}\n\n// closeStream clears the footprint of a stream when the stream is not needed\n// any more.\nfunc (t *http2Server) closeStream(s *Stream, rst bool, rstCode http2.ErrCode, hdr *headerFrame, eosReceived bool) {\n\tif s.swapState(streamDone) == streamDone {\n\t\t// If the stream was already done, return.\n\t\treturn\n\t}\n\t// In case stream sending and receiving are invoked in separate\n\t// goroutines (e.g., bi-directional streaming), cancel needs to be\n\t// called to interrupt the potential blocking on other goroutines.\n\ts.cancel()\n\tcleanup := &cleanupStream{\n\t\tstreamID: s.id,\n\t\trst:      rst,\n\t\trstCode:  rstCode,\n\t\tonWrite: func() {\n\t\t\tt.mu.Lock()\n\t\t\tif t.activeStreams != nil {\n\t\t\t\tdelete(t.activeStreams, s.id)\n\t\t\t\tif len(t.activeStreams) == 0 {\n\t\t\t\t\tt.idle = time.Now()\n\t\t\t\t}\n\t\t\t}\n\t\t\tt.mu.Unlock()\n\t\t\tif channelz.IsOn() {\n\t\t\t\tt.czmu.Lock()\n\t\t\t\tif eosReceived {\n\t\t\t\t\tt.streamsSucceeded++\n\t\t\t\t} else {\n\t\t\t\t\tt.streamsFailed++\n\t\t\t\t}\n\t\t\t\tt.czmu.Unlock()\n\t\t\t}\n\t\t},\n\t}\n\tif hdr != nil {\n\t\thdr.cleanup = cleanup\n\t\tt.controlBuf.put(hdr)\n\t} else {\n\t\tt.controlBuf.put(cleanup)\n\t}\n}\n\nfunc (t *http2Server) RemoteAddr() net.Addr {\n\treturn t.remoteAddr\n}\n\nfunc (t *http2Server) Drain() {\n\tt.drain(http2.ErrCodeNo, []byte{})\n}\n\nfunc (t *http2Server) drain(code http2.ErrCode, debugData []byte) {\n\tt.mu.Lock()\n\tdefer t.mu.Unlock()\n\tif t.drainChan != nil {\n\t\treturn\n\t}\n\tt.drainChan = make(chan struct{})\n\tt.controlBuf.put(&goAway{code: code, debugData: debugData, headsUp: true})\n}\n\nvar goAwayPing = &ping{data: [8]byte{1, 6, 1, 8, 0, 3, 3, 9}}\n\n// Handles outgoing GoAway and returns true if loopy needs to put itself\n// in draining mode.\nfunc (t *http2Server) outgoingGoAwayHandler(g *goAway) (bool, error) {\n\tt.mu.Lock()\n\tif t.state == closing { // TODO(mmukhi): This seems unnecessary.\n\t\tt.mu.Unlock()\n\t\t// The transport is closing.\n\t\treturn false, ErrConnClosing\n\t}\n\tsid := t.maxStreamID\n\tif !g.headsUp {\n\t\t// Stop accepting more streams now.\n\t\tt.state = draining\n\t\tif len(t.activeStreams) == 0 {\n\t\t\tg.closeConn = true\n\t\t}\n\t\tt.mu.Unlock()\n\t\tif err := t.framer.fr.WriteGoAway(sid, g.code, g.debugData); err != nil {\n\t\t\treturn false, err\n\t\t}\n\t\tif g.closeConn {\n\t\t\t// Abruptly close the connection following the GoAway (via\n\t\t\t// loopywriter).  But flush out what's inside the buffer first.\n\t\t\tt.framer.writer.Flush()\n\t\t\treturn false, fmt.Errorf(\"transport: Connection closing\")\n\t\t}\n\t\treturn true, nil\n\t}\n\tt.mu.Unlock()\n\t// For a graceful close, send out a GoAway with stream ID of MaxUInt32,\n\t// Follow that with a ping and wait for the ack to come back or a timer\n\t// to expire. During this time accept new streams since they might have\n\t// originated before the GoAway reaches the client.\n\t// After getting the ack or timer expiration send out another GoAway this\n\t// time with an ID of the max stream server intends to process.\n\tif err := t.framer.fr.WriteGoAway(math.MaxUint32, http2.ErrCodeNo, []byte{}); err != nil {\n\t\treturn false, err\n\t}\n\tif err := t.framer.fr.WritePing(false, goAwayPing.data); err != nil {\n\t\treturn false, err\n\t}\n\tgo func() {\n\t\ttimer := time.NewTimer(time.Minute)\n\t\tdefer timer.Stop()\n\t\tselect {\n\t\tcase <-t.drainChan:\n\t\tcase <-timer.C:\n\t\tcase <-t.ctx.Done():\n\t\t\treturn\n\t\t}\n\t\tt.controlBuf.put(&goAway{code: g.code, debugData: g.debugData})\n\t}()\n\treturn false, nil\n}\n\nfunc (t *http2Server) ChannelzMetric() *channelz.SocketInternalMetric {\n\tt.czmu.RLock()\n\ts := channelz.SocketInternalMetric{\n\t\tStreamsStarted:                   t.streamsStarted,\n\t\tStreamsSucceeded:                 t.streamsSucceeded,\n\t\tStreamsFailed:                    t.streamsFailed,\n\t\tMessagesSent:                     t.msgSent,\n\t\tMessagesReceived:                 t.msgRecv,\n\t\tKeepAlivesSent:                   t.kpCount,\n\t\tLastRemoteStreamCreatedTimestamp: t.lastStreamCreated,\n\t\tLastMessageSentTimestamp:         t.lastMsgSent,\n\t\tLastMessageReceivedTimestamp:     t.lastMsgRecv,\n\t\tLocalFlowControlWindow:           int64(t.fc.getSize()),\n\t\tSocketOptions:                    channelz.GetSocketOption(t.conn),\n\t\tLocalAddr:                        t.localAddr,\n\t\tRemoteAddr:                       t.remoteAddr,\n\t\t// RemoteName :\n\t}\n\tif au, ok := t.authInfo.(credentials.ChannelzSecurityInfo); ok {\n\t\ts.Security = au.GetSecurityValue()\n\t}\n\tt.czmu.RUnlock()\n\ts.RemoteFlowControlWindow = t.getOutFlowWindow()\n\treturn &s\n}\n\nfunc (t *http2Server) IncrMsgSent() {\n\tt.czmu.Lock()\n\tt.msgSent++\n\tt.lastMsgSent = time.Now()\n\tt.czmu.Unlock()\n}\n\nfunc (t *http2Server) IncrMsgRecv() {\n\tt.czmu.Lock()\n\tt.msgRecv++\n\tt.lastMsgRecv = time.Now()\n\tt.czmu.Unlock()\n}\n\nfunc (t *http2Server) getOutFlowWindow() int64 {\n\tresp := make(chan uint32)\n\ttimer := time.NewTimer(time.Second)\n\tdefer timer.Stop()\n\tt.controlBuf.put(&outFlowControlSizeRequest{resp})\n\tselect {\n\tcase sz := <-resp:\n\t\treturn int64(sz)\n\tcase <-t.ctxDone:\n\t\treturn -1\n\tcase <-timer.C:\n\t\treturn -2\n\t}\n}\n\nfunc getJitter(v time.Duration) time.Duration {\n\tif v == infinity {\n\t\treturn 0\n\t}\n\t// Generate a jitter between +/- 10% of the value.\n\tr := int64(v / 10)\n\tj := grpcrand.Int63n(2*r) - r\n\treturn time.Duration(j)\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/internal/transport/http_util.go",
    "content": "/*\n *\n * Copyright 2014 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage transport\n\nimport (\n\t\"bufio\"\n\t\"bytes\"\n\t\"encoding/base64\"\n\t\"fmt\"\n\t\"io\"\n\t\"net\"\n\t\"net/http\"\n\t\"strconv\"\n\t\"strings\"\n\t\"time\"\n\t\"unicode/utf8\"\n\n\t\"github.com/golang/protobuf/proto\"\n\t\"golang.org/x/net/http2\"\n\t\"golang.org/x/net/http2/hpack\"\n\tspb \"google.golang.org/genproto/googleapis/rpc/status\"\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/status\"\n)\n\nconst (\n\t// http2MaxFrameLen specifies the max length of a HTTP2 frame.\n\thttp2MaxFrameLen = 16384 // 16KB frame\n\t// http://http2.github.io/http2-spec/#SettingValues\n\thttp2InitHeaderTableSize = 4096\n\t// baseContentType is the base content-type for gRPC.  This is a valid\n\t// content-type on it's own, but can also include a content-subtype such as\n\t// \"proto\" as a suffix after \"+\" or \";\".  See\n\t// https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#requests\n\t// for more details.\n\tbaseContentType = \"application/grpc\"\n)\n\nvar (\n\tclientPreface   = []byte(http2.ClientPreface)\n\thttp2ErrConvTab = map[http2.ErrCode]codes.Code{\n\t\thttp2.ErrCodeNo:                 codes.Internal,\n\t\thttp2.ErrCodeProtocol:           codes.Internal,\n\t\thttp2.ErrCodeInternal:           codes.Internal,\n\t\thttp2.ErrCodeFlowControl:        codes.ResourceExhausted,\n\t\thttp2.ErrCodeSettingsTimeout:    codes.Internal,\n\t\thttp2.ErrCodeStreamClosed:       codes.Internal,\n\t\thttp2.ErrCodeFrameSize:          codes.Internal,\n\t\thttp2.ErrCodeRefusedStream:      codes.Unavailable,\n\t\thttp2.ErrCodeCancel:             codes.Canceled,\n\t\thttp2.ErrCodeCompression:        codes.Internal,\n\t\thttp2.ErrCodeConnect:            codes.Internal,\n\t\thttp2.ErrCodeEnhanceYourCalm:    codes.ResourceExhausted,\n\t\thttp2.ErrCodeInadequateSecurity: codes.PermissionDenied,\n\t\thttp2.ErrCodeHTTP11Required:     codes.Internal,\n\t}\n\tstatusCodeConvTab = map[codes.Code]http2.ErrCode{\n\t\tcodes.Internal:          http2.ErrCodeInternal,\n\t\tcodes.Canceled:          http2.ErrCodeCancel,\n\t\tcodes.Unavailable:       http2.ErrCodeRefusedStream,\n\t\tcodes.ResourceExhausted: http2.ErrCodeEnhanceYourCalm,\n\t\tcodes.PermissionDenied:  http2.ErrCodeInadequateSecurity,\n\t}\n\thttpStatusConvTab = map[int]codes.Code{\n\t\t// 400 Bad Request - INTERNAL.\n\t\thttp.StatusBadRequest: codes.Internal,\n\t\t// 401 Unauthorized  - UNAUTHENTICATED.\n\t\thttp.StatusUnauthorized: codes.Unauthenticated,\n\t\t// 403 Forbidden - PERMISSION_DENIED.\n\t\thttp.StatusForbidden: codes.PermissionDenied,\n\t\t// 404 Not Found - UNIMPLEMENTED.\n\t\thttp.StatusNotFound: codes.Unimplemented,\n\t\t// 429 Too Many Requests - UNAVAILABLE.\n\t\thttp.StatusTooManyRequests: codes.Unavailable,\n\t\t// 502 Bad Gateway - UNAVAILABLE.\n\t\thttp.StatusBadGateway: codes.Unavailable,\n\t\t// 503 Service Unavailable - UNAVAILABLE.\n\t\thttp.StatusServiceUnavailable: codes.Unavailable,\n\t\t// 504 Gateway timeout - UNAVAILABLE.\n\t\thttp.StatusGatewayTimeout: codes.Unavailable,\n\t}\n)\n\n// Records the states during HPACK decoding. Must be reset once the\n// decoding of the entire headers are finished.\ntype decodeState struct {\n\tencoding string\n\t// statusGen caches the stream status received from the trailer the server\n\t// sent.  Client side only.  Do not access directly.  After all trailers are\n\t// parsed, use the status method to retrieve the status.\n\tstatusGen *status.Status\n\t// rawStatusCode and rawStatusMsg are set from the raw trailer fields and are not\n\t// intended for direct access outside of parsing.\n\trawStatusCode *int\n\trawStatusMsg  string\n\thttpStatus    *int\n\t// Server side only fields.\n\ttimeoutSet bool\n\ttimeout    time.Duration\n\tmethod     string\n\t// key-value metadata map from the peer.\n\tmdata          map[string][]string\n\tstatsTags      []byte\n\tstatsTrace     []byte\n\tcontentSubtype string\n\t// whether decoding on server side or not\n\tserverSide bool\n}\n\n// isReservedHeader checks whether hdr belongs to HTTP2 headers\n// reserved by gRPC protocol. Any other headers are classified as the\n// user-specified metadata.\nfunc isReservedHeader(hdr string) bool {\n\tif hdr != \"\" && hdr[0] == ':' {\n\t\treturn true\n\t}\n\tswitch hdr {\n\tcase \"content-type\",\n\t\t\"user-agent\",\n\t\t\"grpc-message-type\",\n\t\t\"grpc-encoding\",\n\t\t\"grpc-message\",\n\t\t\"grpc-status\",\n\t\t\"grpc-timeout\",\n\t\t\"grpc-status-details-bin\",\n\t\t// Intentionally exclude grpc-previous-rpc-attempts and\n\t\t// grpc-retry-pushback-ms, which are \"reserved\", but their API\n\t\t// intentionally works via metadata.\n\t\t\"te\":\n\t\treturn true\n\tdefault:\n\t\treturn false\n\t}\n}\n\n// isWhitelistedHeader checks whether hdr should be propagated into metadata\n// visible to users, even though it is classified as \"reserved\", above.\nfunc isWhitelistedHeader(hdr string) bool {\n\tswitch hdr {\n\tcase \":authority\", \"user-agent\":\n\t\treturn true\n\tdefault:\n\t\treturn false\n\t}\n}\n\n// contentSubtype returns the content-subtype for the given content-type.  The\n// given content-type must be a valid content-type that starts with\n// \"application/grpc\". A content-subtype will follow \"application/grpc\" after a\n// \"+\" or \";\". See\n// https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#requests for\n// more details.\n//\n// If contentType is not a valid content-type for gRPC, the boolean\n// will be false, otherwise true. If content-type == \"application/grpc\",\n// \"application/grpc+\", or \"application/grpc;\", the boolean will be true,\n// but no content-subtype will be returned.\n//\n// contentType is assumed to be lowercase already.\nfunc contentSubtype(contentType string) (string, bool) {\n\tif contentType == baseContentType {\n\t\treturn \"\", true\n\t}\n\tif !strings.HasPrefix(contentType, baseContentType) {\n\t\treturn \"\", false\n\t}\n\t// guaranteed since != baseContentType and has baseContentType prefix\n\tswitch contentType[len(baseContentType)] {\n\tcase '+', ';':\n\t\t// this will return true for \"application/grpc+\" or \"application/grpc;\"\n\t\t// which the previous validContentType function tested to be valid, so we\n\t\t// just say that no content-subtype is specified in this case\n\t\treturn contentType[len(baseContentType)+1:], true\n\tdefault:\n\t\treturn \"\", false\n\t}\n}\n\n// contentSubtype is assumed to be lowercase\nfunc contentType(contentSubtype string) string {\n\tif contentSubtype == \"\" {\n\t\treturn baseContentType\n\t}\n\treturn baseContentType + \"+\" + contentSubtype\n}\n\nfunc (d *decodeState) status() *status.Status {\n\tif d.statusGen == nil {\n\t\t// No status-details were provided; generate status using code/msg.\n\t\td.statusGen = status.New(codes.Code(int32(*(d.rawStatusCode))), d.rawStatusMsg)\n\t}\n\treturn d.statusGen\n}\n\nconst binHdrSuffix = \"-bin\"\n\nfunc encodeBinHeader(v []byte) string {\n\treturn base64.RawStdEncoding.EncodeToString(v)\n}\n\nfunc decodeBinHeader(v string) ([]byte, error) {\n\tif len(v)%4 == 0 {\n\t\t// Input was padded, or padding was not necessary.\n\t\treturn base64.StdEncoding.DecodeString(v)\n\t}\n\treturn base64.RawStdEncoding.DecodeString(v)\n}\n\nfunc encodeMetadataHeader(k, v string) string {\n\tif strings.HasSuffix(k, binHdrSuffix) {\n\t\treturn encodeBinHeader(([]byte)(v))\n\t}\n\treturn v\n}\n\nfunc decodeMetadataHeader(k, v string) (string, error) {\n\tif strings.HasSuffix(k, binHdrSuffix) {\n\t\tb, err := decodeBinHeader(v)\n\t\treturn string(b), err\n\t}\n\treturn v, nil\n}\n\nfunc (d *decodeState) decodeHeader(frame *http2.MetaHeadersFrame) error {\n\t// frame.Truncated is set to true when framer detects that the current header\n\t// list size hits MaxHeaderListSize limit.\n\tif frame.Truncated {\n\t\treturn status.Error(codes.Internal, \"peer header list size exceeded limit\")\n\t}\n\tfor _, hf := range frame.Fields {\n\t\tif err := d.processHeaderField(hf); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\n\tif d.serverSide {\n\t\treturn nil\n\t}\n\n\t// If grpc status exists, no need to check further.\n\tif d.rawStatusCode != nil || d.statusGen != nil {\n\t\treturn nil\n\t}\n\n\t// If grpc status doesn't exist and http status doesn't exist,\n\t// then it's a malformed header.\n\tif d.httpStatus == nil {\n\t\treturn status.Error(codes.Internal, \"malformed header: doesn't contain status(gRPC or HTTP)\")\n\t}\n\n\tif *(d.httpStatus) != http.StatusOK {\n\t\tcode, ok := httpStatusConvTab[*(d.httpStatus)]\n\t\tif !ok {\n\t\t\tcode = codes.Unknown\n\t\t}\n\t\treturn status.Error(code, http.StatusText(*(d.httpStatus)))\n\t}\n\n\t// gRPC status doesn't exist and http status is OK.\n\t// Set rawStatusCode to be unknown and return nil error.\n\t// So that, if the stream has ended this Unknown status\n\t// will be propagated to the user.\n\t// Otherwise, it will be ignored. In which case, status from\n\t// a later trailer, that has StreamEnded flag set, is propagated.\n\tcode := int(codes.Unknown)\n\td.rawStatusCode = &code\n\treturn nil\n}\n\nfunc (d *decodeState) addMetadata(k, v string) {\n\tif d.mdata == nil {\n\t\td.mdata = make(map[string][]string)\n\t}\n\td.mdata[k] = append(d.mdata[k], v)\n}\n\nfunc (d *decodeState) processHeaderField(f hpack.HeaderField) error {\n\tswitch f.Name {\n\tcase \"content-type\":\n\t\tcontentSubtype, validContentType := contentSubtype(f.Value)\n\t\tif !validContentType {\n\t\t\treturn status.Errorf(codes.Internal, \"transport: received the unexpected content-type %q\", f.Value)\n\t\t}\n\t\td.contentSubtype = contentSubtype\n\t\t// TODO: do we want to propagate the whole content-type in the metadata,\n\t\t// or come up with a way to just propagate the content-subtype if it was set?\n\t\t// ie {\"content-type\": \"application/grpc+proto\"} or {\"content-subtype\": \"proto\"}\n\t\t// in the metadata?\n\t\td.addMetadata(f.Name, f.Value)\n\tcase \"grpc-encoding\":\n\t\td.encoding = f.Value\n\tcase \"grpc-status\":\n\t\tcode, err := strconv.Atoi(f.Value)\n\t\tif err != nil {\n\t\t\treturn status.Errorf(codes.Internal, \"transport: malformed grpc-status: %v\", err)\n\t\t}\n\t\td.rawStatusCode = &code\n\tcase \"grpc-message\":\n\t\td.rawStatusMsg = decodeGrpcMessage(f.Value)\n\tcase \"grpc-status-details-bin\":\n\t\tv, err := decodeBinHeader(f.Value)\n\t\tif err != nil {\n\t\t\treturn status.Errorf(codes.Internal, \"transport: malformed grpc-status-details-bin: %v\", err)\n\t\t}\n\t\ts := &spb.Status{}\n\t\tif err := proto.Unmarshal(v, s); err != nil {\n\t\t\treturn status.Errorf(codes.Internal, \"transport: malformed grpc-status-details-bin: %v\", err)\n\t\t}\n\t\td.statusGen = status.FromProto(s)\n\tcase \"grpc-timeout\":\n\t\td.timeoutSet = true\n\t\tvar err error\n\t\tif d.timeout, err = decodeTimeout(f.Value); err != nil {\n\t\t\treturn status.Errorf(codes.Internal, \"transport: malformed time-out: %v\", err)\n\t\t}\n\tcase \":path\":\n\t\td.method = f.Value\n\tcase \":status\":\n\t\tcode, err := strconv.Atoi(f.Value)\n\t\tif err != nil {\n\t\t\treturn status.Errorf(codes.Internal, \"transport: malformed http-status: %v\", err)\n\t\t}\n\t\td.httpStatus = &code\n\tcase \"grpc-tags-bin\":\n\t\tv, err := decodeBinHeader(f.Value)\n\t\tif err != nil {\n\t\t\treturn status.Errorf(codes.Internal, \"transport: malformed grpc-tags-bin: %v\", err)\n\t\t}\n\t\td.statsTags = v\n\t\td.addMetadata(f.Name, string(v))\n\tcase \"grpc-trace-bin\":\n\t\tv, err := decodeBinHeader(f.Value)\n\t\tif err != nil {\n\t\t\treturn status.Errorf(codes.Internal, \"transport: malformed grpc-trace-bin: %v\", err)\n\t\t}\n\t\td.statsTrace = v\n\t\td.addMetadata(f.Name, string(v))\n\tdefault:\n\t\tif isReservedHeader(f.Name) && !isWhitelistedHeader(f.Name) {\n\t\t\tbreak\n\t\t}\n\t\tv, err := decodeMetadataHeader(f.Name, f.Value)\n\t\tif err != nil {\n\t\t\terrorf(\"Failed to decode metadata header (%q, %q): %v\", f.Name, f.Value, err)\n\t\t\treturn nil\n\t\t}\n\t\td.addMetadata(f.Name, v)\n\t}\n\treturn nil\n}\n\ntype timeoutUnit uint8\n\nconst (\n\thour        timeoutUnit = 'H'\n\tminute      timeoutUnit = 'M'\n\tsecond      timeoutUnit = 'S'\n\tmillisecond timeoutUnit = 'm'\n\tmicrosecond timeoutUnit = 'u'\n\tnanosecond  timeoutUnit = 'n'\n)\n\nfunc timeoutUnitToDuration(u timeoutUnit) (d time.Duration, ok bool) {\n\tswitch u {\n\tcase hour:\n\t\treturn time.Hour, true\n\tcase minute:\n\t\treturn time.Minute, true\n\tcase second:\n\t\treturn time.Second, true\n\tcase millisecond:\n\t\treturn time.Millisecond, true\n\tcase microsecond:\n\t\treturn time.Microsecond, true\n\tcase nanosecond:\n\t\treturn time.Nanosecond, true\n\tdefault:\n\t}\n\treturn\n}\n\nconst maxTimeoutValue int64 = 100000000 - 1\n\n// div does integer division and round-up the result. Note that this is\n// equivalent to (d+r-1)/r but has less chance to overflow.\nfunc div(d, r time.Duration) int64 {\n\tif m := d % r; m > 0 {\n\t\treturn int64(d/r + 1)\n\t}\n\treturn int64(d / r)\n}\n\n// TODO(zhaoq): It is the simplistic and not bandwidth efficient. Improve it.\nfunc encodeTimeout(t time.Duration) string {\n\tif t <= 0 {\n\t\treturn \"0n\"\n\t}\n\tif d := div(t, time.Nanosecond); d <= maxTimeoutValue {\n\t\treturn strconv.FormatInt(d, 10) + \"n\"\n\t}\n\tif d := div(t, time.Microsecond); d <= maxTimeoutValue {\n\t\treturn strconv.FormatInt(d, 10) + \"u\"\n\t}\n\tif d := div(t, time.Millisecond); d <= maxTimeoutValue {\n\t\treturn strconv.FormatInt(d, 10) + \"m\"\n\t}\n\tif d := div(t, time.Second); d <= maxTimeoutValue {\n\t\treturn strconv.FormatInt(d, 10) + \"S\"\n\t}\n\tif d := div(t, time.Minute); d <= maxTimeoutValue {\n\t\treturn strconv.FormatInt(d, 10) + \"M\"\n\t}\n\t// Note that maxTimeoutValue * time.Hour > MaxInt64.\n\treturn strconv.FormatInt(div(t, time.Hour), 10) + \"H\"\n}\n\nfunc decodeTimeout(s string) (time.Duration, error) {\n\tsize := len(s)\n\tif size < 2 {\n\t\treturn 0, fmt.Errorf(\"transport: timeout string is too short: %q\", s)\n\t}\n\tunit := timeoutUnit(s[size-1])\n\td, ok := timeoutUnitToDuration(unit)\n\tif !ok {\n\t\treturn 0, fmt.Errorf(\"transport: timeout unit is not recognized: %q\", s)\n\t}\n\tt, err := strconv.ParseInt(s[:size-1], 10, 64)\n\tif err != nil {\n\t\treturn 0, err\n\t}\n\treturn d * time.Duration(t), nil\n}\n\nconst (\n\tspaceByte   = ' '\n\ttildeByte   = '~'\n\tpercentByte = '%'\n)\n\n// encodeGrpcMessage is used to encode status code in header field\n// \"grpc-message\". It does percent encoding and also replaces invalid utf-8\n// characters with Unicode replacement character.\n//\n// It checks to see if each individual byte in msg is an allowable byte, and\n// then either percent encoding or passing it through. When percent encoding,\n// the byte is converted into hexadecimal notation with a '%' prepended.\nfunc encodeGrpcMessage(msg string) string {\n\tif msg == \"\" {\n\t\treturn \"\"\n\t}\n\tlenMsg := len(msg)\n\tfor i := 0; i < lenMsg; i++ {\n\t\tc := msg[i]\n\t\tif !(c >= spaceByte && c <= tildeByte && c != percentByte) {\n\t\t\treturn encodeGrpcMessageUnchecked(msg)\n\t\t}\n\t}\n\treturn msg\n}\n\nfunc encodeGrpcMessageUnchecked(msg string) string {\n\tvar buf bytes.Buffer\n\tfor len(msg) > 0 {\n\t\tr, size := utf8.DecodeRuneInString(msg)\n\t\tfor _, b := range []byte(string(r)) {\n\t\t\tif size > 1 {\n\t\t\t\t// If size > 1, r is not ascii. Always do percent encoding.\n\t\t\t\tbuf.WriteString(fmt.Sprintf(\"%%%02X\", b))\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// The for loop is necessary even if size == 1. r could be\n\t\t\t// utf8.RuneError.\n\t\t\t//\n\t\t\t// fmt.Sprintf(\"%%%02X\", utf8.RuneError) gives \"%FFFD\".\n\t\t\tif b >= spaceByte && b <= tildeByte && b != percentByte {\n\t\t\t\tbuf.WriteByte(b)\n\t\t\t} else {\n\t\t\t\tbuf.WriteString(fmt.Sprintf(\"%%%02X\", b))\n\t\t\t}\n\t\t}\n\t\tmsg = msg[size:]\n\t}\n\treturn buf.String()\n}\n\n// decodeGrpcMessage decodes the msg encoded by encodeGrpcMessage.\nfunc decodeGrpcMessage(msg string) string {\n\tif msg == \"\" {\n\t\treturn \"\"\n\t}\n\tlenMsg := len(msg)\n\tfor i := 0; i < lenMsg; i++ {\n\t\tif msg[i] == percentByte && i+2 < lenMsg {\n\t\t\treturn decodeGrpcMessageUnchecked(msg)\n\t\t}\n\t}\n\treturn msg\n}\n\nfunc decodeGrpcMessageUnchecked(msg string) string {\n\tvar buf bytes.Buffer\n\tlenMsg := len(msg)\n\tfor i := 0; i < lenMsg; i++ {\n\t\tc := msg[i]\n\t\tif c == percentByte && i+2 < lenMsg {\n\t\t\tparsed, err := strconv.ParseUint(msg[i+1:i+3], 16, 8)\n\t\t\tif err != nil {\n\t\t\t\tbuf.WriteByte(c)\n\t\t\t} else {\n\t\t\t\tbuf.WriteByte(byte(parsed))\n\t\t\t\ti += 2\n\t\t\t}\n\t\t} else {\n\t\t\tbuf.WriteByte(c)\n\t\t}\n\t}\n\treturn buf.String()\n}\n\ntype bufWriter struct {\n\tbuf       []byte\n\toffset    int\n\tbatchSize int\n\tconn      net.Conn\n\terr       error\n\n\tonFlush func()\n}\n\nfunc newBufWriter(conn net.Conn, batchSize int) *bufWriter {\n\treturn &bufWriter{\n\t\tbuf:       make([]byte, batchSize*2),\n\t\tbatchSize: batchSize,\n\t\tconn:      conn,\n\t}\n}\n\nfunc (w *bufWriter) Write(b []byte) (n int, err error) {\n\tif w.err != nil {\n\t\treturn 0, w.err\n\t}\n\tif w.batchSize == 0 { // Buffer has been disabled.\n\t\treturn w.conn.Write(b)\n\t}\n\tfor len(b) > 0 {\n\t\tnn := copy(w.buf[w.offset:], b)\n\t\tb = b[nn:]\n\t\tw.offset += nn\n\t\tn += nn\n\t\tif w.offset >= w.batchSize {\n\t\t\terr = w.Flush()\n\t\t}\n\t}\n\treturn n, err\n}\n\nfunc (w *bufWriter) Flush() error {\n\tif w.err != nil {\n\t\treturn w.err\n\t}\n\tif w.offset == 0 {\n\t\treturn nil\n\t}\n\tif w.onFlush != nil {\n\t\tw.onFlush()\n\t}\n\t_, w.err = w.conn.Write(w.buf[:w.offset])\n\tw.offset = 0\n\treturn w.err\n}\n\ntype framer struct {\n\twriter *bufWriter\n\tfr     *http2.Framer\n}\n\nfunc newFramer(conn net.Conn, writeBufferSize, readBufferSize int, maxHeaderListSize uint32) *framer {\n\tif writeBufferSize < 0 {\n\t\twriteBufferSize = 0\n\t}\n\tvar r io.Reader = conn\n\tif readBufferSize > 0 {\n\t\tr = bufio.NewReaderSize(r, readBufferSize)\n\t}\n\tw := newBufWriter(conn, writeBufferSize)\n\tf := &framer{\n\t\twriter: w,\n\t\tfr:     http2.NewFramer(w, r),\n\t}\n\t// Opt-in to Frame reuse API on framer to reduce garbage.\n\t// Frames aren't safe to read from after a subsequent call to ReadFrame.\n\tf.fr.SetReuseFrames()\n\tf.fr.MaxHeaderListSize = maxHeaderListSize\n\tf.fr.ReadMetaHeaders = hpack.NewDecoder(http2InitHeaderTableSize, nil)\n\treturn f\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/internal/transport/log.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n// This file contains wrappers for grpclog functions.\n// The transport package only logs to verbose level 2 by default.\n\npackage transport\n\nimport \"google.golang.org/grpc/grpclog\"\n\nconst logLevel = 2\n\nfunc infof(format string, args ...interface{}) {\n\tif grpclog.V(logLevel) {\n\t\tgrpclog.Infof(format, args...)\n\t}\n}\n\nfunc warningf(format string, args ...interface{}) {\n\tif grpclog.V(logLevel) {\n\t\tgrpclog.Warningf(format, args...)\n\t}\n}\n\nfunc errorf(format string, args ...interface{}) {\n\tif grpclog.V(logLevel) {\n\t\tgrpclog.Errorf(format, args...)\n\t}\n}\n\nfunc fatalf(format string, args ...interface{}) {\n\tif grpclog.V(logLevel) {\n\t\tgrpclog.Fatalf(format, args...)\n\t}\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/internal/transport/transport.go",
    "content": "/*\n *\n * Copyright 2014 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n// Package transport defines and implements message oriented communication\n// channel to complete various transactions (e.g., an RPC).  It is meant for\n// grpc-internal usage and is not intended to be imported directly by users.\npackage transport\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"net\"\n\t\"sync\"\n\t\"sync/atomic\"\n\n\t\"golang.org/x/net/context\"\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/credentials\"\n\t\"google.golang.org/grpc/keepalive\"\n\t\"google.golang.org/grpc/metadata\"\n\t\"google.golang.org/grpc/stats\"\n\t\"google.golang.org/grpc/status\"\n\t\"google.golang.org/grpc/tap\"\n)\n\n// recvMsg represents the received msg from the transport. All transport\n// protocol specific info has been removed.\ntype recvMsg struct {\n\tdata []byte\n\t// nil: received some data\n\t// io.EOF: stream is completed. data is nil.\n\t// other non-nil error: transport failure. data is nil.\n\terr error\n}\n\n// recvBuffer is an unbounded channel of recvMsg structs.\n// Note recvBuffer differs from controlBuffer only in that recvBuffer\n// holds a channel of only recvMsg structs instead of objects implementing \"item\" interface.\n// recvBuffer is written to much more often than\n// controlBuffer and using strict recvMsg structs helps avoid allocation in \"recvBuffer.put\"\ntype recvBuffer struct {\n\tc       chan recvMsg\n\tmu      sync.Mutex\n\tbacklog []recvMsg\n\terr     error\n}\n\nfunc newRecvBuffer() *recvBuffer {\n\tb := &recvBuffer{\n\t\tc: make(chan recvMsg, 1),\n\t}\n\treturn b\n}\n\nfunc (b *recvBuffer) put(r recvMsg) {\n\tb.mu.Lock()\n\tif b.err != nil {\n\t\tb.mu.Unlock()\n\t\t// An error had occurred earlier, don't accept more\n\t\t// data or errors.\n\t\treturn\n\t}\n\tb.err = r.err\n\tif len(b.backlog) == 0 {\n\t\tselect {\n\t\tcase b.c <- r:\n\t\t\tb.mu.Unlock()\n\t\t\treturn\n\t\tdefault:\n\t\t}\n\t}\n\tb.backlog = append(b.backlog, r)\n\tb.mu.Unlock()\n}\n\nfunc (b *recvBuffer) load() {\n\tb.mu.Lock()\n\tif len(b.backlog) > 0 {\n\t\tselect {\n\t\tcase b.c <- b.backlog[0]:\n\t\t\tb.backlog[0] = recvMsg{}\n\t\t\tb.backlog = b.backlog[1:]\n\t\tdefault:\n\t\t}\n\t}\n\tb.mu.Unlock()\n}\n\n// get returns the channel that receives a recvMsg in the buffer.\n//\n// Upon receipt of a recvMsg, the caller should call load to send another\n// recvMsg onto the channel if there is any.\nfunc (b *recvBuffer) get() <-chan recvMsg {\n\treturn b.c\n}\n\n//\n// recvBufferReader implements io.Reader interface to read the data from\n// recvBuffer.\ntype recvBufferReader struct {\n\tctx     context.Context\n\tctxDone <-chan struct{} // cache of ctx.Done() (for performance).\n\trecv    *recvBuffer\n\tlast    []byte // Stores the remaining data in the previous calls.\n\terr     error\n}\n\n// Read reads the next len(p) bytes from last. If last is drained, it tries to\n// read additional data from recv. It blocks if there no additional data available\n// in recv. If Read returns any non-nil error, it will continue to return that error.\nfunc (r *recvBufferReader) Read(p []byte) (n int, err error) {\n\tif r.err != nil {\n\t\treturn 0, r.err\n\t}\n\tn, r.err = r.read(p)\n\treturn n, r.err\n}\n\nfunc (r *recvBufferReader) read(p []byte) (n int, err error) {\n\tif r.last != nil && len(r.last) > 0 {\n\t\t// Read remaining data left in last call.\n\t\tcopied := copy(p, r.last)\n\t\tr.last = r.last[copied:]\n\t\treturn copied, nil\n\t}\n\tselect {\n\tcase <-r.ctxDone:\n\t\treturn 0, ContextErr(r.ctx.Err())\n\tcase m := <-r.recv.get():\n\t\tr.recv.load()\n\t\tif m.err != nil {\n\t\t\treturn 0, m.err\n\t\t}\n\t\tcopied := copy(p, m.data)\n\t\tr.last = m.data[copied:]\n\t\treturn copied, nil\n\t}\n}\n\ntype streamState uint32\n\nconst (\n\tstreamActive    streamState = iota\n\tstreamWriteDone             // EndStream sent\n\tstreamReadDone              // EndStream received\n\tstreamDone                  // the entire stream is finished.\n)\n\n// Stream represents an RPC in the transport layer.\ntype Stream struct {\n\tid           uint32\n\tst           ServerTransport    // nil for client side Stream\n\tctx          context.Context    // the associated context of the stream\n\tcancel       context.CancelFunc // always nil for client side Stream\n\tdone         chan struct{}      // closed at the end of stream to unblock writers. On the client side.\n\tctxDone      <-chan struct{}    // same as done chan but for server side. Cache of ctx.Done() (for performance)\n\tmethod       string             // the associated RPC method of the stream\n\trecvCompress string\n\tsendCompress string\n\tbuf          *recvBuffer\n\ttrReader     io.Reader\n\tfc           *inFlow\n\trecvQuota    uint32\n\twq           *writeQuota\n\n\t// Callback to state application's intentions to read data. This\n\t// is used to adjust flow control, if needed.\n\trequestRead func(int)\n\n\theaderChan chan struct{} // closed to indicate the end of header metadata.\n\theaderDone uint32        // set when headerChan is closed. Used to avoid closing headerChan multiple times.\n\n\t// hdrMu protects header and trailer metadata on the server-side.\n\thdrMu   sync.Mutex\n\theader  metadata.MD // the received header metadata.\n\ttrailer metadata.MD // the key-value map of trailer metadata.\n\n\tnoHeaders bool // set if the client never received headers (set only after the stream is done).\n\n\t// On the server-side, headerSent is atomically set to 1 when the headers are sent out.\n\theaderSent uint32\n\n\tstate streamState\n\n\t// On client-side it is the status error received from the server.\n\t// On server-side it is unused.\n\tstatus *status.Status\n\n\tbytesReceived uint32 // indicates whether any bytes have been received on this stream\n\tunprocessed   uint32 // set if the server sends a refused stream or GOAWAY including this stream\n\n\t// contentSubtype is the content-subtype for requests.\n\t// this must be lowercase or the behavior is undefined.\n\tcontentSubtype string\n}\n\n// isHeaderSent is only valid on the server-side.\nfunc (s *Stream) isHeaderSent() bool {\n\treturn atomic.LoadUint32(&s.headerSent) == 1\n}\n\n// updateHeaderSent updates headerSent and returns true\n// if it was alreay set. It is valid only on server-side.\nfunc (s *Stream) updateHeaderSent() bool {\n\treturn atomic.SwapUint32(&s.headerSent, 1) == 1\n}\n\nfunc (s *Stream) swapState(st streamState) streamState {\n\treturn streamState(atomic.SwapUint32((*uint32)(&s.state), uint32(st)))\n}\n\nfunc (s *Stream) compareAndSwapState(oldState, newState streamState) bool {\n\treturn atomic.CompareAndSwapUint32((*uint32)(&s.state), uint32(oldState), uint32(newState))\n}\n\nfunc (s *Stream) getState() streamState {\n\treturn streamState(atomic.LoadUint32((*uint32)(&s.state)))\n}\n\nfunc (s *Stream) waitOnHeader() error {\n\tif s.headerChan == nil {\n\t\t// On the server headerChan is always nil since a stream originates\n\t\t// only after having received headers.\n\t\treturn nil\n\t}\n\tselect {\n\tcase <-s.ctx.Done():\n\t\treturn ContextErr(s.ctx.Err())\n\tcase <-s.headerChan:\n\t\treturn nil\n\t}\n}\n\n// RecvCompress returns the compression algorithm applied to the inbound\n// message. It is empty string if there is no compression applied.\nfunc (s *Stream) RecvCompress() string {\n\tif err := s.waitOnHeader(); err != nil {\n\t\treturn \"\"\n\t}\n\treturn s.recvCompress\n}\n\n// SetSendCompress sets the compression algorithm to the stream.\nfunc (s *Stream) SetSendCompress(str string) {\n\ts.sendCompress = str\n}\n\n// Done returns a channel which is closed when it receives the final status\n// from the server.\nfunc (s *Stream) Done() <-chan struct{} {\n\treturn s.done\n}\n\n// Header acquires the key-value pairs of header metadata once it\n// is available. It blocks until i) the metadata is ready or ii) there is no\n// header metadata or iii) the stream is canceled/expired.\nfunc (s *Stream) Header() (metadata.MD, error) {\n\terr := s.waitOnHeader()\n\t// Even if the stream is closed, header is returned if available.\n\tselect {\n\tcase <-s.headerChan:\n\t\tif s.header == nil {\n\t\t\treturn nil, nil\n\t\t}\n\t\treturn s.header.Copy(), nil\n\tdefault:\n\t}\n\treturn nil, err\n}\n\n// TrailersOnly blocks until a header or trailers-only frame is received and\n// then returns true if the stream was trailers-only.  If the stream ends\n// before headers are received, returns true, nil.  If a context error happens\n// first, returns it as a status error.  Client-side only.\nfunc (s *Stream) TrailersOnly() (bool, error) {\n\terr := s.waitOnHeader()\n\tif err != nil {\n\t\treturn false, err\n\t}\n\t// if !headerDone, some other connection error occurred.\n\treturn s.noHeaders && atomic.LoadUint32(&s.headerDone) == 1, nil\n}\n\n// Trailer returns the cached trailer metedata. Note that if it is not called\n// after the entire stream is done, it could return an empty MD. Client\n// side only.\n// It can be safely read only after stream has ended that is either read\n// or write have returned io.EOF.\nfunc (s *Stream) Trailer() metadata.MD {\n\tc := s.trailer.Copy()\n\treturn c\n}\n\n// ContentSubtype returns the content-subtype for a request. For example, a\n// content-subtype of \"proto\" will result in a content-type of\n// \"application/grpc+proto\". This will always be lowercase.  See\n// https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#requests for\n// more details.\nfunc (s *Stream) ContentSubtype() string {\n\treturn s.contentSubtype\n}\n\n// Context returns the context of the stream.\nfunc (s *Stream) Context() context.Context {\n\treturn s.ctx\n}\n\n// Method returns the method for the stream.\nfunc (s *Stream) Method() string {\n\treturn s.method\n}\n\n// Status returns the status received from the server.\n// Status can be read safely only after the stream has ended,\n// that is, after Done() is closed.\nfunc (s *Stream) Status() *status.Status {\n\treturn s.status\n}\n\n// SetHeader sets the header metadata. This can be called multiple times.\n// Server side only.\n// This should not be called in parallel to other data writes.\nfunc (s *Stream) SetHeader(md metadata.MD) error {\n\tif md.Len() == 0 {\n\t\treturn nil\n\t}\n\tif s.isHeaderSent() || s.getState() == streamDone {\n\t\treturn ErrIllegalHeaderWrite\n\t}\n\ts.hdrMu.Lock()\n\ts.header = metadata.Join(s.header, md)\n\ts.hdrMu.Unlock()\n\treturn nil\n}\n\n// SendHeader sends the given header metadata. The given metadata is\n// combined with any metadata set by previous calls to SetHeader and\n// then written to the transport stream.\nfunc (s *Stream) SendHeader(md metadata.MD) error {\n\treturn s.st.WriteHeader(s, md)\n}\n\n// SetTrailer sets the trailer metadata which will be sent with the RPC status\n// by the server. This can be called multiple times. Server side only.\n// This should not be called parallel to other data writes.\nfunc (s *Stream) SetTrailer(md metadata.MD) error {\n\tif md.Len() == 0 {\n\t\treturn nil\n\t}\n\tif s.getState() == streamDone {\n\t\treturn ErrIllegalHeaderWrite\n\t}\n\ts.hdrMu.Lock()\n\ts.trailer = metadata.Join(s.trailer, md)\n\ts.hdrMu.Unlock()\n\treturn nil\n}\n\nfunc (s *Stream) write(m recvMsg) {\n\ts.buf.put(m)\n}\n\n// Read reads all p bytes from the wire for this stream.\nfunc (s *Stream) Read(p []byte) (n int, err error) {\n\t// Don't request a read if there was an error earlier\n\tif er := s.trReader.(*transportReader).er; er != nil {\n\t\treturn 0, er\n\t}\n\ts.requestRead(len(p))\n\treturn io.ReadFull(s.trReader, p)\n}\n\n// tranportReader reads all the data available for this Stream from the transport and\n// passes them into the decoder, which converts them into a gRPC message stream.\n// The error is io.EOF when the stream is done or another non-nil error if\n// the stream broke.\ntype transportReader struct {\n\treader io.Reader\n\t// The handler to control the window update procedure for both this\n\t// particular stream and the associated transport.\n\twindowHandler func(int)\n\ter            error\n}\n\nfunc (t *transportReader) Read(p []byte) (n int, err error) {\n\tn, err = t.reader.Read(p)\n\tif err != nil {\n\t\tt.er = err\n\t\treturn\n\t}\n\tt.windowHandler(n)\n\treturn\n}\n\n// BytesReceived indicates whether any bytes have been received on this stream.\nfunc (s *Stream) BytesReceived() bool {\n\treturn atomic.LoadUint32(&s.bytesReceived) == 1\n}\n\n// Unprocessed indicates whether the server did not process this stream --\n// i.e. it sent a refused stream or GOAWAY including this stream ID.\nfunc (s *Stream) Unprocessed() bool {\n\treturn atomic.LoadUint32(&s.unprocessed) == 1\n}\n\n// GoString is implemented by Stream so context.String() won't\n// race when printing %#v.\nfunc (s *Stream) GoString() string {\n\treturn fmt.Sprintf(\"<stream: %p, %v>\", s, s.method)\n}\n\n// state of transport\ntype transportState int\n\nconst (\n\treachable transportState = iota\n\tclosing\n\tdraining\n)\n\n// ServerConfig consists of all the configurations to establish a server transport.\ntype ServerConfig struct {\n\tMaxStreams            uint32\n\tAuthInfo              credentials.AuthInfo\n\tInTapHandle           tap.ServerInHandle\n\tStatsHandler          stats.Handler\n\tKeepaliveParams       keepalive.ServerParameters\n\tKeepalivePolicy       keepalive.EnforcementPolicy\n\tInitialWindowSize     int32\n\tInitialConnWindowSize int32\n\tWriteBufferSize       int\n\tReadBufferSize        int\n\tChannelzParentID      int64\n\tMaxHeaderListSize     *uint32\n}\n\n// NewServerTransport creates a ServerTransport with conn or non-nil error\n// if it fails.\nfunc NewServerTransport(protocol string, conn net.Conn, config *ServerConfig) (ServerTransport, error) {\n\treturn newHTTP2Server(conn, config)\n}\n\n// ConnectOptions covers all relevant options for communicating with the server.\ntype ConnectOptions struct {\n\t// UserAgent is the application user agent.\n\tUserAgent string\n\t// Dialer specifies how to dial a network address.\n\tDialer func(context.Context, string) (net.Conn, error)\n\t// FailOnNonTempDialError specifies if gRPC fails on non-temporary dial errors.\n\tFailOnNonTempDialError bool\n\t// PerRPCCredentials stores the PerRPCCredentials required to issue RPCs.\n\tPerRPCCredentials []credentials.PerRPCCredentials\n\t// TransportCredentials stores the Authenticator required to setup a client connection.\n\tTransportCredentials credentials.TransportCredentials\n\t// KeepaliveParams stores the keepalive parameters.\n\tKeepaliveParams keepalive.ClientParameters\n\t// StatsHandler stores the handler for stats.\n\tStatsHandler stats.Handler\n\t// InitialWindowSize sets the initial window size for a stream.\n\tInitialWindowSize int32\n\t// InitialConnWindowSize sets the initial window size for a connection.\n\tInitialConnWindowSize int32\n\t// WriteBufferSize sets the size of write buffer which in turn determines how much data can be batched before it's written on the wire.\n\tWriteBufferSize int\n\t// ReadBufferSize sets the size of read buffer, which in turn determines how much data can be read at most for one read syscall.\n\tReadBufferSize int\n\t// ChannelzParentID sets the addrConn id which initiate the creation of this client transport.\n\tChannelzParentID int64\n\t// MaxHeaderListSize sets the max (uncompressed) size of header list that is prepared to be received.\n\tMaxHeaderListSize *uint32\n}\n\n// TargetInfo contains the information of the target such as network address and metadata.\ntype TargetInfo struct {\n\tAddr      string\n\tMetadata  interface{}\n\tAuthority string\n}\n\n// NewClientTransport establishes the transport with the required ConnectOptions\n// and returns it to the caller.\nfunc NewClientTransport(connectCtx, ctx context.Context, target TargetInfo, opts ConnectOptions, onSuccess func()) (ClientTransport, error) {\n\treturn newHTTP2Client(connectCtx, ctx, target, opts, onSuccess)\n}\n\n// Options provides additional hints and information for message\n// transmission.\ntype Options struct {\n\t// Last indicates whether this write is the last piece for\n\t// this stream.\n\tLast bool\n}\n\n// CallHdr carries the information of a particular RPC.\ntype CallHdr struct {\n\t// Host specifies the peer's host.\n\tHost string\n\n\t// Method specifies the operation to perform.\n\tMethod string\n\n\t// SendCompress specifies the compression algorithm applied on\n\t// outbound message.\n\tSendCompress string\n\n\t// Creds specifies credentials.PerRPCCredentials for a call.\n\tCreds credentials.PerRPCCredentials\n\n\t// ContentSubtype specifies the content-subtype for a request. For example, a\n\t// content-subtype of \"proto\" will result in a content-type of\n\t// \"application/grpc+proto\". The value of ContentSubtype must be all\n\t// lowercase, otherwise the behavior is undefined. See\n\t// https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#requests\n\t// for more details.\n\tContentSubtype string\n\n\tPreviousAttempts int // value of grpc-previous-rpc-attempts header to set\n}\n\n// ClientTransport is the common interface for all gRPC client-side transport\n// implementations.\ntype ClientTransport interface {\n\t// Close tears down this transport. Once it returns, the transport\n\t// should not be accessed any more. The caller must make sure this\n\t// is called only once.\n\tClose() error\n\n\t// GracefulClose starts to tear down the transport. It stops accepting\n\t// new RPCs and wait the completion of the pending RPCs.\n\tGracefulClose() error\n\n\t// Write sends the data for the given stream. A nil stream indicates\n\t// the write is to be performed on the transport as a whole.\n\tWrite(s *Stream, hdr []byte, data []byte, opts *Options) error\n\n\t// NewStream creates a Stream for an RPC.\n\tNewStream(ctx context.Context, callHdr *CallHdr) (*Stream, error)\n\n\t// CloseStream clears the footprint of a stream when the stream is\n\t// not needed any more. The err indicates the error incurred when\n\t// CloseStream is called. Must be called when a stream is finished\n\t// unless the associated transport is closing.\n\tCloseStream(stream *Stream, err error)\n\n\t// Error returns a channel that is closed when some I/O error\n\t// happens. Typically the caller should have a goroutine to monitor\n\t// this in order to take action (e.g., close the current transport\n\t// and create a new one) in error case. It should not return nil\n\t// once the transport is initiated.\n\tError() <-chan struct{}\n\n\t// GoAway returns a channel that is closed when ClientTransport\n\t// receives the draining signal from the server (e.g., GOAWAY frame in\n\t// HTTP/2).\n\tGoAway() <-chan struct{}\n\n\t// GetGoAwayReason returns the reason why GoAway frame was received.\n\tGetGoAwayReason() GoAwayReason\n\n\t// IncrMsgSent increments the number of message sent through this transport.\n\tIncrMsgSent()\n\n\t// IncrMsgRecv increments the number of message received through this transport.\n\tIncrMsgRecv()\n}\n\n// ServerTransport is the common interface for all gRPC server-side transport\n// implementations.\n//\n// Methods may be called concurrently from multiple goroutines, but\n// Write methods for a given Stream will be called serially.\ntype ServerTransport interface {\n\t// HandleStreams receives incoming streams using the given handler.\n\tHandleStreams(func(*Stream), func(context.Context, string) context.Context)\n\n\t// WriteHeader sends the header metadata for the given stream.\n\t// WriteHeader may not be called on all streams.\n\tWriteHeader(s *Stream, md metadata.MD) error\n\n\t// Write sends the data for the given stream.\n\t// Write may not be called on all streams.\n\tWrite(s *Stream, hdr []byte, data []byte, opts *Options) error\n\n\t// WriteStatus sends the status of a stream to the client.  WriteStatus is\n\t// the final call made on a stream and always occurs.\n\tWriteStatus(s *Stream, st *status.Status) error\n\n\t// Close tears down the transport. Once it is called, the transport\n\t// should not be accessed any more. All the pending streams and their\n\t// handlers will be terminated asynchronously.\n\tClose() error\n\n\t// RemoteAddr returns the remote network address.\n\tRemoteAddr() net.Addr\n\n\t// Drain notifies the client this ServerTransport stops accepting new RPCs.\n\tDrain()\n\n\t// IncrMsgSent increments the number of message sent through this transport.\n\tIncrMsgSent()\n\n\t// IncrMsgRecv increments the number of message received through this transport.\n\tIncrMsgRecv()\n}\n\n// connectionErrorf creates an ConnectionError with the specified error description.\nfunc connectionErrorf(temp bool, e error, format string, a ...interface{}) ConnectionError {\n\treturn ConnectionError{\n\t\tDesc: fmt.Sprintf(format, a...),\n\t\ttemp: temp,\n\t\terr:  e,\n\t}\n}\n\n// ConnectionError is an error that results in the termination of the\n// entire connection and the retry of all the active streams.\ntype ConnectionError struct {\n\tDesc string\n\ttemp bool\n\terr  error\n}\n\nfunc (e ConnectionError) Error() string {\n\treturn fmt.Sprintf(\"connection error: desc = %q\", e.Desc)\n}\n\n// Temporary indicates if this connection error is temporary or fatal.\nfunc (e ConnectionError) Temporary() bool {\n\treturn e.temp\n}\n\n// Origin returns the original error of this connection error.\nfunc (e ConnectionError) Origin() error {\n\t// Never return nil error here.\n\t// If the original error is nil, return itself.\n\tif e.err == nil {\n\t\treturn e\n\t}\n\treturn e.err\n}\n\nvar (\n\t// ErrConnClosing indicates that the transport is closing.\n\tErrConnClosing = connectionErrorf(true, nil, \"transport is closing\")\n\t// errStreamDrain indicates that the stream is rejected because the\n\t// connection is draining. This could be caused by goaway or balancer\n\t// removing the address.\n\terrStreamDrain = status.Error(codes.Unavailable, \"the connection is draining\")\n\t// errStreamDone is returned from write at the client side to indiacte application\n\t// layer of an error.\n\terrStreamDone = errors.New(\"the stream is done\")\n\t// StatusGoAway indicates that the server sent a GOAWAY that included this\n\t// stream's ID in unprocessed RPCs.\n\tstatusGoAway = status.New(codes.Unavailable, \"the stream is rejected because server is draining the connection\")\n)\n\n// GoAwayReason contains the reason for the GoAway frame received.\ntype GoAwayReason uint8\n\nconst (\n\t// GoAwayInvalid indicates that no GoAway frame is received.\n\tGoAwayInvalid GoAwayReason = 0\n\t// GoAwayNoReason is the default value when GoAway frame is received.\n\tGoAwayNoReason GoAwayReason = 1\n\t// GoAwayTooManyPings indicates that a GoAway frame with\n\t// ErrCodeEnhanceYourCalm was received and that the debug data said\n\t// \"too_many_pings\".\n\tGoAwayTooManyPings GoAwayReason = 2\n)\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/keepalive/keepalive.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n// Package keepalive defines configurable parameters for point-to-point healthcheck.\npackage keepalive\n\nimport (\n\t\"time\"\n)\n\n// ClientParameters is used to set keepalive parameters on the client-side.\n// These configure how the client will actively probe to notice when a connection is broken\n// and send pings so intermediaries will be aware of the liveness of the connection.\n// Make sure these parameters are set in coordination with the keepalive policy on the server,\n// as incompatible settings can result in closing of connection.\ntype ClientParameters struct {\n\t// After a duration of this time if the client doesn't see any activity it pings the server to see if the transport is still alive.\n\tTime time.Duration // The current default value is infinity.\n\t// After having pinged for keepalive check, the client waits for a duration of Timeout and if no activity is seen even after that\n\t// the connection is closed.\n\tTimeout time.Duration // The current default value is 20 seconds.\n\t// If true, client runs keepalive checks even with no active RPCs.\n\tPermitWithoutStream bool // false by default.\n}\n\n// ServerParameters is used to set keepalive and max-age parameters on the server-side.\ntype ServerParameters struct {\n\t// MaxConnectionIdle is a duration for the amount of time after which an idle connection would be closed by sending a GoAway.\n\t// Idleness duration is defined since the most recent time the number of outstanding RPCs became zero or the connection establishment.\n\tMaxConnectionIdle time.Duration // The current default value is infinity.\n\t// MaxConnectionAge is a duration for the maximum amount of time a connection may exist before it will be closed by sending a GoAway.\n\t// A random jitter of +/-10% will be added to MaxConnectionAge to spread out connection storms.\n\tMaxConnectionAge time.Duration // The current default value is infinity.\n\t// MaxConnectinoAgeGrace is an additive period after MaxConnectionAge after which the connection will be forcibly closed.\n\tMaxConnectionAgeGrace time.Duration // The current default value is infinity.\n\t// After a duration of this time if the server doesn't see any activity it pings the client to see if the transport is still alive.\n\tTime time.Duration // The current default value is 2 hours.\n\t// After having pinged for keepalive check, the server waits for a duration of Timeout and if no activity is seen even after that\n\t// the connection is closed.\n\tTimeout time.Duration // The current default value is 20 seconds.\n}\n\n// EnforcementPolicy is used to set keepalive enforcement policy on the server-side.\n// Server will close connection with a client that violates this policy.\ntype EnforcementPolicy struct {\n\t// MinTime is the minimum amount of time a client should wait before sending a keepalive ping.\n\tMinTime time.Duration // The current default value is 5 minutes.\n\t// If true, server expects keepalive pings even when there are no active streams(RPCs).\n\tPermitWithoutStream bool // false by default.\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/metadata/metadata.go",
    "content": "/*\n *\n * Copyright 2014 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n// Package metadata define the structure of the metadata supported by gRPC library.\n// Please refer to https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md\n// for more information about custom-metadata.\npackage metadata // import \"google.golang.org/grpc/metadata\"\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\n\t\"golang.org/x/net/context\"\n)\n\n// DecodeKeyValue returns k, v, nil.\n//\n// Deprecated: use k and v directly instead.\nfunc DecodeKeyValue(k, v string) (string, string, error) {\n\treturn k, v, nil\n}\n\n// MD is a mapping from metadata keys to values. Users should use the following\n// two convenience functions New and Pairs to generate MD.\ntype MD map[string][]string\n\n// New creates an MD from a given key-value map.\n//\n// Only the following ASCII characters are allowed in keys:\n//  - digits: 0-9\n//  - uppercase letters: A-Z (normalized to lower)\n//  - lowercase letters: a-z\n//  - special characters: -_.\n// Uppercase letters are automatically converted to lowercase.\n//\n// Keys beginning with \"grpc-\" are reserved for grpc-internal use only and may\n// result in errors if set in metadata.\nfunc New(m map[string]string) MD {\n\tmd := MD{}\n\tfor k, val := range m {\n\t\tkey := strings.ToLower(k)\n\t\tmd[key] = append(md[key], val)\n\t}\n\treturn md\n}\n\n// Pairs returns an MD formed by the mapping of key, value ...\n// Pairs panics if len(kv) is odd.\n//\n// Only the following ASCII characters are allowed in keys:\n//  - digits: 0-9\n//  - uppercase letters: A-Z (normalized to lower)\n//  - lowercase letters: a-z\n//  - special characters: -_.\n// Uppercase letters are automatically converted to lowercase.\n//\n// Keys beginning with \"grpc-\" are reserved for grpc-internal use only and may\n// result in errors if set in metadata.\nfunc Pairs(kv ...string) MD {\n\tif len(kv)%2 == 1 {\n\t\tpanic(fmt.Sprintf(\"metadata: Pairs got the odd number of input pairs for metadata: %d\", len(kv)))\n\t}\n\tmd := MD{}\n\tvar key string\n\tfor i, s := range kv {\n\t\tif i%2 == 0 {\n\t\t\tkey = strings.ToLower(s)\n\t\t\tcontinue\n\t\t}\n\t\tmd[key] = append(md[key], s)\n\t}\n\treturn md\n}\n\n// Len returns the number of items in md.\nfunc (md MD) Len() int {\n\treturn len(md)\n}\n\n// Copy returns a copy of md.\nfunc (md MD) Copy() MD {\n\treturn Join(md)\n}\n\n// Get obtains the values for a given key.\nfunc (md MD) Get(k string) []string {\n\tk = strings.ToLower(k)\n\treturn md[k]\n}\n\n// Set sets the value of a given key with a slice of values.\nfunc (md MD) Set(k string, vals ...string) {\n\tif len(vals) == 0 {\n\t\treturn\n\t}\n\tk = strings.ToLower(k)\n\tmd[k] = vals\n}\n\n// Append adds the values to key k, not overwriting what was already stored at that key.\nfunc (md MD) Append(k string, vals ...string) {\n\tif len(vals) == 0 {\n\t\treturn\n\t}\n\tk = strings.ToLower(k)\n\tmd[k] = append(md[k], vals...)\n}\n\n// Join joins any number of mds into a single MD.\n// The order of values for each key is determined by the order in which\n// the mds containing those values are presented to Join.\nfunc Join(mds ...MD) MD {\n\tout := MD{}\n\tfor _, md := range mds {\n\t\tfor k, v := range md {\n\t\t\tout[k] = append(out[k], v...)\n\t\t}\n\t}\n\treturn out\n}\n\ntype mdIncomingKey struct{}\ntype mdOutgoingKey struct{}\n\n// NewIncomingContext creates a new context with incoming md attached.\nfunc NewIncomingContext(ctx context.Context, md MD) context.Context {\n\treturn context.WithValue(ctx, mdIncomingKey{}, md)\n}\n\n// NewOutgoingContext creates a new context with outgoing md attached. If used\n// in conjunction with AppendToOutgoingContext, NewOutgoingContext will\n// overwrite any previously-appended metadata.\nfunc NewOutgoingContext(ctx context.Context, md MD) context.Context {\n\treturn context.WithValue(ctx, mdOutgoingKey{}, rawMD{md: md})\n}\n\n// AppendToOutgoingContext returns a new context with the provided kv merged\n// with any existing metadata in the context. Please refer to the\n// documentation of Pairs for a description of kv.\nfunc AppendToOutgoingContext(ctx context.Context, kv ...string) context.Context {\n\tif len(kv)%2 == 1 {\n\t\tpanic(fmt.Sprintf(\"metadata: AppendToOutgoingContext got an odd number of input pairs for metadata: %d\", len(kv)))\n\t}\n\tmd, _ := ctx.Value(mdOutgoingKey{}).(rawMD)\n\tadded := make([][]string, len(md.added)+1)\n\tcopy(added, md.added)\n\tadded[len(added)-1] = make([]string, len(kv))\n\tcopy(added[len(added)-1], kv)\n\treturn context.WithValue(ctx, mdOutgoingKey{}, rawMD{md: md.md, added: added})\n}\n\n// FromIncomingContext returns the incoming metadata in ctx if it exists.  The\n// returned MD should not be modified. Writing to it may cause races.\n// Modification should be made to copies of the returned MD.\nfunc FromIncomingContext(ctx context.Context) (md MD, ok bool) {\n\tmd, ok = ctx.Value(mdIncomingKey{}).(MD)\n\treturn\n}\n\n// FromOutgoingContextRaw returns the un-merged, intermediary contents\n// of rawMD. Remember to perform strings.ToLower on the keys. The returned\n// MD should not be modified. Writing to it may cause races. Modification\n// should be made to copies of the returned MD.\n//\n// This is intended for gRPC-internal use ONLY.\nfunc FromOutgoingContextRaw(ctx context.Context) (MD, [][]string, bool) {\n\traw, ok := ctx.Value(mdOutgoingKey{}).(rawMD)\n\tif !ok {\n\t\treturn nil, nil, false\n\t}\n\n\treturn raw.md, raw.added, true\n}\n\n// FromOutgoingContext returns the outgoing metadata in ctx if it exists.  The\n// returned MD should not be modified. Writing to it may cause races.\n// Modification should be made to copies of the returned MD.\nfunc FromOutgoingContext(ctx context.Context) (MD, bool) {\n\traw, ok := ctx.Value(mdOutgoingKey{}).(rawMD)\n\tif !ok {\n\t\treturn nil, false\n\t}\n\n\tmds := make([]MD, 0, len(raw.added)+1)\n\tmds = append(mds, raw.md)\n\tfor _, vv := range raw.added {\n\t\tmds = append(mds, Pairs(vv...))\n\t}\n\treturn Join(mds...), ok\n}\n\ntype rawMD struct {\n\tmd    MD\n\tadded [][]string\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/naming/dns_resolver.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage naming\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"net\"\n\t\"strconv\"\n\t\"time\"\n\n\t\"golang.org/x/net/context\"\n\t\"google.golang.org/grpc/grpclog\"\n)\n\nconst (\n\tdefaultPort = \"443\"\n\tdefaultFreq = time.Minute * 30\n)\n\nvar (\n\terrMissingAddr  = errors.New(\"missing address\")\n\terrWatcherClose = errors.New(\"watcher has been closed\")\n)\n\n// NewDNSResolverWithFreq creates a DNS Resolver that can resolve DNS names, and\n// create watchers that poll the DNS server using the frequency set by freq.\nfunc NewDNSResolverWithFreq(freq time.Duration) (Resolver, error) {\n\treturn &dnsResolver{freq: freq}, nil\n}\n\n// NewDNSResolver creates a DNS Resolver that can resolve DNS names, and create\n// watchers that poll the DNS server using the default frequency defined by defaultFreq.\nfunc NewDNSResolver() (Resolver, error) {\n\treturn NewDNSResolverWithFreq(defaultFreq)\n}\n\n// dnsResolver handles name resolution for names following the DNS scheme\ntype dnsResolver struct {\n\t// frequency of polling the DNS server that the watchers created by this resolver will use.\n\tfreq time.Duration\n}\n\n// formatIP returns ok = false if addr is not a valid textual representation of an IP address.\n// If addr is an IPv4 address, return the addr and ok = true.\n// If addr is an IPv6 address, return the addr enclosed in square brackets and ok = true.\nfunc formatIP(addr string) (addrIP string, ok bool) {\n\tip := net.ParseIP(addr)\n\tif ip == nil {\n\t\treturn \"\", false\n\t}\n\tif ip.To4() != nil {\n\t\treturn addr, true\n\t}\n\treturn \"[\" + addr + \"]\", true\n}\n\n// parseTarget takes the user input target string, returns formatted host and port info.\n// If target doesn't specify a port, set the port to be the defaultPort.\n// If target is in IPv6 format and host-name is enclosed in sqarue brackets, brackets\n// are strippd when setting the host.\n// examples:\n// target: \"www.google.com\" returns host: \"www.google.com\", port: \"443\"\n// target: \"ipv4-host:80\" returns host: \"ipv4-host\", port: \"80\"\n// target: \"[ipv6-host]\" returns host: \"ipv6-host\", port: \"443\"\n// target: \":80\" returns host: \"localhost\", port: \"80\"\n// target: \":\" returns host: \"localhost\", port: \"443\"\nfunc parseTarget(target string) (host, port string, err error) {\n\tif target == \"\" {\n\t\treturn \"\", \"\", errMissingAddr\n\t}\n\n\tif ip := net.ParseIP(target); ip != nil {\n\t\t// target is an IPv4 or IPv6(without brackets) address\n\t\treturn target, defaultPort, nil\n\t}\n\tif host, port, err := net.SplitHostPort(target); err == nil {\n\t\t// target has port, i.e ipv4-host:port, [ipv6-host]:port, host-name:port\n\t\tif host == \"\" {\n\t\t\t// Keep consistent with net.Dial(): If the host is empty, as in \":80\", the local system is assumed.\n\t\t\thost = \"localhost\"\n\t\t}\n\t\tif port == \"\" {\n\t\t\t// If the port field is empty(target ends with colon), e.g. \"[::1]:\", defaultPort is used.\n\t\t\tport = defaultPort\n\t\t}\n\t\treturn host, port, nil\n\t}\n\tif host, port, err := net.SplitHostPort(target + \":\" + defaultPort); err == nil {\n\t\t// target doesn't have port\n\t\treturn host, port, nil\n\t}\n\treturn \"\", \"\", fmt.Errorf(\"invalid target address %v\", target)\n}\n\n// Resolve creates a watcher that watches the name resolution of the target.\nfunc (r *dnsResolver) Resolve(target string) (Watcher, error) {\n\thost, port, err := parseTarget(target)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tif net.ParseIP(host) != nil {\n\t\tipWatcher := &ipWatcher{\n\t\t\tupdateChan: make(chan *Update, 1),\n\t\t}\n\t\thost, _ = formatIP(host)\n\t\tipWatcher.updateChan <- &Update{Op: Add, Addr: host + \":\" + port}\n\t\treturn ipWatcher, nil\n\t}\n\n\tctx, cancel := context.WithCancel(context.Background())\n\treturn &dnsWatcher{\n\t\tr:      r,\n\t\thost:   host,\n\t\tport:   port,\n\t\tctx:    ctx,\n\t\tcancel: cancel,\n\t\tt:      time.NewTimer(0),\n\t}, nil\n}\n\n// dnsWatcher watches for the name resolution update for a specific target\ntype dnsWatcher struct {\n\tr    *dnsResolver\n\thost string\n\tport string\n\t// The latest resolved address set\n\tcurAddrs map[string]*Update\n\tctx      context.Context\n\tcancel   context.CancelFunc\n\tt        *time.Timer\n}\n\n// ipWatcher watches for the name resolution update for an IP address.\ntype ipWatcher struct {\n\tupdateChan chan *Update\n}\n\n// Next returns the address resolution Update for the target. For IP address,\n// the resolution is itself, thus polling name server is unnecessary. Therefore,\n// Next() will return an Update the first time it is called, and will be blocked\n// for all following calls as no Update exists until watcher is closed.\nfunc (i *ipWatcher) Next() ([]*Update, error) {\n\tu, ok := <-i.updateChan\n\tif !ok {\n\t\treturn nil, errWatcherClose\n\t}\n\treturn []*Update{u}, nil\n}\n\n// Close closes the ipWatcher.\nfunc (i *ipWatcher) Close() {\n\tclose(i.updateChan)\n}\n\n// AddressType indicates the address type returned by name resolution.\ntype AddressType uint8\n\nconst (\n\t// Backend indicates the server is a backend server.\n\tBackend AddressType = iota\n\t// GRPCLB indicates the server is a grpclb load balancer.\n\tGRPCLB\n)\n\n// AddrMetadataGRPCLB contains the information the name resolver for grpclb should provide. The\n// name resolver used by the grpclb balancer is required to provide this type of metadata in\n// its address updates.\ntype AddrMetadataGRPCLB struct {\n\t// AddrType is the type of server (grpc load balancer or backend).\n\tAddrType AddressType\n\t// ServerName is the name of the grpc load balancer. Used for authentication.\n\tServerName string\n}\n\n// compileUpdate compares the old resolved addresses and newly resolved addresses,\n// and generates an update list\nfunc (w *dnsWatcher) compileUpdate(newAddrs map[string]*Update) []*Update {\n\tvar res []*Update\n\tfor a, u := range w.curAddrs {\n\t\tif _, ok := newAddrs[a]; !ok {\n\t\t\tu.Op = Delete\n\t\t\tres = append(res, u)\n\t\t}\n\t}\n\tfor a, u := range newAddrs {\n\t\tif _, ok := w.curAddrs[a]; !ok {\n\t\t\tres = append(res, u)\n\t\t}\n\t}\n\treturn res\n}\n\nfunc (w *dnsWatcher) lookupSRV() map[string]*Update {\n\tnewAddrs := make(map[string]*Update)\n\t_, srvs, err := lookupSRV(w.ctx, \"grpclb\", \"tcp\", w.host)\n\tif err != nil {\n\t\tgrpclog.Infof(\"grpc: failed dns SRV record lookup due to %v.\\n\", err)\n\t\treturn nil\n\t}\n\tfor _, s := range srvs {\n\t\tlbAddrs, err := lookupHost(w.ctx, s.Target)\n\t\tif err != nil {\n\t\t\tgrpclog.Warningf(\"grpc: failed load banlacer address dns lookup due to %v.\\n\", err)\n\t\t\tcontinue\n\t\t}\n\t\tfor _, a := range lbAddrs {\n\t\t\ta, ok := formatIP(a)\n\t\t\tif !ok {\n\t\t\t\tgrpclog.Errorf(\"grpc: failed IP parsing due to %v.\\n\", err)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\taddr := a + \":\" + strconv.Itoa(int(s.Port))\n\t\t\tnewAddrs[addr] = &Update{Addr: addr,\n\t\t\t\tMetadata: AddrMetadataGRPCLB{AddrType: GRPCLB, ServerName: s.Target}}\n\t\t}\n\t}\n\treturn newAddrs\n}\n\nfunc (w *dnsWatcher) lookupHost() map[string]*Update {\n\tnewAddrs := make(map[string]*Update)\n\taddrs, err := lookupHost(w.ctx, w.host)\n\tif err != nil {\n\t\tgrpclog.Warningf(\"grpc: failed dns A record lookup due to %v.\\n\", err)\n\t\treturn nil\n\t}\n\tfor _, a := range addrs {\n\t\ta, ok := formatIP(a)\n\t\tif !ok {\n\t\t\tgrpclog.Errorf(\"grpc: failed IP parsing due to %v.\\n\", err)\n\t\t\tcontinue\n\t\t}\n\t\taddr := a + \":\" + w.port\n\t\tnewAddrs[addr] = &Update{Addr: addr}\n\t}\n\treturn newAddrs\n}\n\nfunc (w *dnsWatcher) lookup() []*Update {\n\tnewAddrs := w.lookupSRV()\n\tif newAddrs == nil {\n\t\t// If failed to get any balancer address (either no corresponding SRV for the\n\t\t// target, or caused by failure during resolution/parsing of the balancer target),\n\t\t// return any A record info available.\n\t\tnewAddrs = w.lookupHost()\n\t}\n\tresult := w.compileUpdate(newAddrs)\n\tw.curAddrs = newAddrs\n\treturn result\n}\n\n// Next returns the resolved address update(delta) for the target. If there's no\n// change, it will sleep for 30 mins and try to resolve again after that.\nfunc (w *dnsWatcher) Next() ([]*Update, error) {\n\tfor {\n\t\tselect {\n\t\tcase <-w.ctx.Done():\n\t\t\treturn nil, errWatcherClose\n\t\tcase <-w.t.C:\n\t\t}\n\t\tresult := w.lookup()\n\t\t// Next lookup should happen after an interval defined by w.r.freq.\n\t\tw.t.Reset(w.r.freq)\n\t\tif len(result) > 0 {\n\t\t\treturn result, nil\n\t\t}\n\t}\n}\n\nfunc (w *dnsWatcher) Close() {\n\tw.cancel()\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/naming/go17.go",
    "content": "// +build go1.6,!go1.8\n\n/*\n *\n * Copyright 2017 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage naming\n\nimport (\n\t\"net\"\n\n\t\"golang.org/x/net/context\"\n)\n\nvar (\n\tlookupHost = func(ctx context.Context, host string) ([]string, error) { return net.LookupHost(host) }\n\tlookupSRV  = func(ctx context.Context, service, proto, name string) (string, []*net.SRV, error) {\n\t\treturn net.LookupSRV(service, proto, name)\n\t}\n)\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/naming/go18.go",
    "content": "// +build go1.8\n\n/*\n *\n * Copyright 2017 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage naming\n\nimport \"net\"\n\nvar (\n\tlookupHost = net.DefaultResolver.LookupHost\n\tlookupSRV  = net.DefaultResolver.LookupSRV\n)\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/naming/naming.go",
    "content": "/*\n *\n * Copyright 2014 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n// Package naming defines the naming API and related data structures for gRPC.\n// The interface is EXPERIMENTAL and may be suject to change.\n//\n// Deprecated: please use package resolver.\npackage naming\n\n// Operation defines the corresponding operations for a name resolution change.\n//\n// Deprecated: please use package resolver.\ntype Operation uint8\n\nconst (\n\t// Add indicates a new address is added.\n\tAdd Operation = iota\n\t// Delete indicates an existing address is deleted.\n\tDelete\n)\n\n// Update defines a name resolution update. Notice that it is not valid having both\n// empty string Addr and nil Metadata in an Update.\n//\n// Deprecated: please use package resolver.\ntype Update struct {\n\t// Op indicates the operation of the update.\n\tOp Operation\n\t// Addr is the updated address. It is empty string if there is no address update.\n\tAddr string\n\t// Metadata is the updated metadata. It is nil if there is no metadata update.\n\t// Metadata is not required for a custom naming implementation.\n\tMetadata interface{}\n}\n\n// Resolver creates a Watcher for a target to track its resolution changes.\n//\n// Deprecated: please use package resolver.\ntype Resolver interface {\n\t// Resolve creates a Watcher for target.\n\tResolve(target string) (Watcher, error)\n}\n\n// Watcher watches for the updates on the specified target.\n//\n// Deprecated: please use package resolver.\ntype Watcher interface {\n\t// Next blocks until an update or error happens. It may return one or more\n\t// updates. The first call should get the full set of the results. It should\n\t// return an error if and only if Watcher cannot recover.\n\tNext() ([]*Update, error)\n\t// Close closes the Watcher.\n\tClose()\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/peer/peer.go",
    "content": "/*\n *\n * Copyright 2014 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n// Package peer defines various peer information associated with RPCs and\n// corresponding utils.\npackage peer\n\nimport (\n\t\"net\"\n\n\t\"golang.org/x/net/context\"\n\t\"google.golang.org/grpc/credentials\"\n)\n\n// Peer contains the information of the peer for an RPC, such as the address\n// and authentication information.\ntype Peer struct {\n\t// Addr is the peer address.\n\tAddr net.Addr\n\t// AuthInfo is the authentication information of the transport.\n\t// It is nil if there is no transport security being used.\n\tAuthInfo credentials.AuthInfo\n}\n\ntype peerKey struct{}\n\n// NewContext creates a new context with peer information attached.\nfunc NewContext(ctx context.Context, p *Peer) context.Context {\n\treturn context.WithValue(ctx, peerKey{}, p)\n}\n\n// FromContext returns the peer information in ctx if it exists.\nfunc FromContext(ctx context.Context) (p *Peer, ok bool) {\n\tp, ok = ctx.Value(peerKey{}).(*Peer)\n\treturn\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/picker_wrapper.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage grpc\n\nimport (\n\t\"io\"\n\t\"sync\"\n\n\t\"golang.org/x/net/context\"\n\t\"google.golang.org/grpc/balancer\"\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/grpclog\"\n\t\"google.golang.org/grpc/internal/channelz\"\n\t\"google.golang.org/grpc/internal/transport\"\n\t\"google.golang.org/grpc/status\"\n)\n\n// pickerWrapper is a wrapper of balancer.Picker. It blocks on certain pick\n// actions and unblock when there's a picker update.\ntype pickerWrapper struct {\n\tmu         sync.Mutex\n\tdone       bool\n\tblockingCh chan struct{}\n\tpicker     balancer.Picker\n\n\t// The latest connection happened.\n\tconnErrMu sync.Mutex\n\tconnErr   error\n}\n\nfunc newPickerWrapper() *pickerWrapper {\n\tbp := &pickerWrapper{blockingCh: make(chan struct{})}\n\treturn bp\n}\n\nfunc (bp *pickerWrapper) updateConnectionError(err error) {\n\tbp.connErrMu.Lock()\n\tbp.connErr = err\n\tbp.connErrMu.Unlock()\n}\n\nfunc (bp *pickerWrapper) connectionError() error {\n\tbp.connErrMu.Lock()\n\terr := bp.connErr\n\tbp.connErrMu.Unlock()\n\treturn err\n}\n\n// updatePicker is called by UpdateBalancerState. It unblocks all blocked pick.\nfunc (bp *pickerWrapper) updatePicker(p balancer.Picker) {\n\tbp.mu.Lock()\n\tif bp.done {\n\t\tbp.mu.Unlock()\n\t\treturn\n\t}\n\tbp.picker = p\n\t// bp.blockingCh should never be nil.\n\tclose(bp.blockingCh)\n\tbp.blockingCh = make(chan struct{})\n\tbp.mu.Unlock()\n}\n\nfunc doneChannelzWrapper(acw *acBalancerWrapper, done func(balancer.DoneInfo)) func(balancer.DoneInfo) {\n\tacw.mu.Lock()\n\tac := acw.ac\n\tacw.mu.Unlock()\n\tac.incrCallsStarted()\n\treturn func(b balancer.DoneInfo) {\n\t\tif b.Err != nil && b.Err != io.EOF {\n\t\t\tac.incrCallsFailed()\n\t\t} else {\n\t\t\tac.incrCallsSucceeded()\n\t\t}\n\t\tif done != nil {\n\t\t\tdone(b)\n\t\t}\n\t}\n}\n\n// pick returns the transport that will be used for the RPC.\n// It may block in the following cases:\n// - there's no picker\n// - the current picker returns ErrNoSubConnAvailable\n// - the current picker returns other errors and failfast is false.\n// - the subConn returned by the current picker is not READY\n// When one of these situations happens, pick blocks until the picker gets updated.\nfunc (bp *pickerWrapper) pick(ctx context.Context, failfast bool, opts balancer.PickOptions) (transport.ClientTransport, func(balancer.DoneInfo), error) {\n\tvar (\n\t\tp  balancer.Picker\n\t\tch chan struct{}\n\t)\n\n\tfor {\n\t\tbp.mu.Lock()\n\t\tif bp.done {\n\t\t\tbp.mu.Unlock()\n\t\t\treturn nil, nil, ErrClientConnClosing\n\t\t}\n\n\t\tif bp.picker == nil {\n\t\t\tch = bp.blockingCh\n\t\t}\n\t\tif ch == bp.blockingCh {\n\t\t\t// This could happen when either:\n\t\t\t// - bp.picker is nil (the previous if condition), or\n\t\t\t// - has called pick on the current picker.\n\t\t\tbp.mu.Unlock()\n\t\t\tselect {\n\t\t\tcase <-ctx.Done():\n\t\t\t\treturn nil, nil, ctx.Err()\n\t\t\tcase <-ch:\n\t\t\t}\n\t\t\tcontinue\n\t\t}\n\n\t\tch = bp.blockingCh\n\t\tp = bp.picker\n\t\tbp.mu.Unlock()\n\n\t\tsubConn, done, err := p.Pick(ctx, opts)\n\n\t\tif err != nil {\n\t\t\tswitch err {\n\t\t\tcase balancer.ErrNoSubConnAvailable:\n\t\t\t\tcontinue\n\t\t\tcase balancer.ErrTransientFailure:\n\t\t\t\tif !failfast {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\treturn nil, nil, status.Errorf(codes.Unavailable, \"%v, latest connection error: %v\", err, bp.connectionError())\n\t\t\tdefault:\n\t\t\t\t// err is some other error.\n\t\t\t\treturn nil, nil, toRPCErr(err)\n\t\t\t}\n\t\t}\n\n\t\tacw, ok := subConn.(*acBalancerWrapper)\n\t\tif !ok {\n\t\t\tgrpclog.Infof(\"subconn returned from pick is not *acBalancerWrapper\")\n\t\t\tcontinue\n\t\t}\n\t\tif t, ok := acw.getAddrConn().getReadyTransport(); ok {\n\t\t\tif channelz.IsOn() {\n\t\t\t\treturn t, doneChannelzWrapper(acw, done), nil\n\t\t\t}\n\t\t\treturn t, done, nil\n\t\t}\n\t\tgrpclog.Infof(\"blockingPicker: the picked transport is not ready, loop back to repick\")\n\t\t// If ok == false, ac.state is not READY.\n\t\t// A valid picker always returns READY subConn. This means the state of ac\n\t\t// just changed, and picker will be updated shortly.\n\t\t// continue back to the beginning of the for loop to repick.\n\t}\n}\n\nfunc (bp *pickerWrapper) close() {\n\tbp.mu.Lock()\n\tdefer bp.mu.Unlock()\n\tif bp.done {\n\t\treturn\n\t}\n\tbp.done = true\n\tclose(bp.blockingCh)\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/pickfirst.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage grpc\n\nimport (\n\t\"golang.org/x/net/context\"\n\t\"google.golang.org/grpc/balancer\"\n\t\"google.golang.org/grpc/connectivity\"\n\t\"google.golang.org/grpc/grpclog\"\n\t\"google.golang.org/grpc/resolver\"\n)\n\n// PickFirstBalancerName is the name of the pick_first balancer.\nconst PickFirstBalancerName = \"pick_first\"\n\nfunc newPickfirstBuilder() balancer.Builder {\n\treturn &pickfirstBuilder{}\n}\n\ntype pickfirstBuilder struct{}\n\nfunc (*pickfirstBuilder) Build(cc balancer.ClientConn, opt balancer.BuildOptions) balancer.Balancer {\n\treturn &pickfirstBalancer{cc: cc}\n}\n\nfunc (*pickfirstBuilder) Name() string {\n\treturn PickFirstBalancerName\n}\n\ntype pickfirstBalancer struct {\n\tcc balancer.ClientConn\n\tsc balancer.SubConn\n}\n\nfunc (b *pickfirstBalancer) HandleResolvedAddrs(addrs []resolver.Address, err error) {\n\tif err != nil {\n\t\tgrpclog.Infof(\"pickfirstBalancer: HandleResolvedAddrs called with error %v\", err)\n\t\treturn\n\t}\n\tif b.sc == nil {\n\t\tb.sc, err = b.cc.NewSubConn(addrs, balancer.NewSubConnOptions{})\n\t\tif err != nil {\n\t\t\tgrpclog.Errorf(\"pickfirstBalancer: failed to NewSubConn: %v\", err)\n\t\t\treturn\n\t\t}\n\t\tb.cc.UpdateBalancerState(connectivity.Idle, &picker{sc: b.sc})\n\t\tb.sc.Connect()\n\t} else {\n\t\tb.sc.UpdateAddresses(addrs)\n\t\tb.sc.Connect()\n\t}\n}\n\nfunc (b *pickfirstBalancer) HandleSubConnStateChange(sc balancer.SubConn, s connectivity.State) {\n\tgrpclog.Infof(\"pickfirstBalancer: HandleSubConnStateChange: %p, %v\", sc, s)\n\tif b.sc != sc {\n\t\tgrpclog.Infof(\"pickfirstBalancer: ignored state change because sc is not recognized\")\n\t\treturn\n\t}\n\tif s == connectivity.Shutdown {\n\t\tb.sc = nil\n\t\treturn\n\t}\n\n\tswitch s {\n\tcase connectivity.Ready, connectivity.Idle:\n\t\tb.cc.UpdateBalancerState(s, &picker{sc: sc})\n\tcase connectivity.Connecting:\n\t\tb.cc.UpdateBalancerState(s, &picker{err: balancer.ErrNoSubConnAvailable})\n\tcase connectivity.TransientFailure:\n\t\tb.cc.UpdateBalancerState(s, &picker{err: balancer.ErrTransientFailure})\n\t}\n}\n\nfunc (b *pickfirstBalancer) Close() {\n}\n\ntype picker struct {\n\terr error\n\tsc  balancer.SubConn\n}\n\nfunc (p *picker) Pick(ctx context.Context, opts balancer.PickOptions) (balancer.SubConn, func(balancer.DoneInfo), error) {\n\tif p.err != nil {\n\t\treturn nil, nil, p.err\n\t}\n\treturn p.sc, nil, nil\n}\n\nfunc init() {\n\tbalancer.Register(newPickfirstBuilder())\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/proxy.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage grpc\n\nimport (\n\t\"bufio\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"net\"\n\t\"net/http\"\n\t\"net/http/httputil\"\n\t\"net/url\"\n\n\t\"golang.org/x/net/context\"\n)\n\nvar (\n\t// errDisabled indicates that proxy is disabled for the address.\n\terrDisabled = errors.New(\"proxy is disabled for the address\")\n\t// The following variable will be overwritten in the tests.\n\thttpProxyFromEnvironment = http.ProxyFromEnvironment\n)\n\nfunc mapAddress(ctx context.Context, address string) (string, error) {\n\treq := &http.Request{\n\t\tURL: &url.URL{\n\t\t\tScheme: \"https\",\n\t\t\tHost:   address,\n\t\t},\n\t}\n\turl, err := httpProxyFromEnvironment(req)\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tif url == nil {\n\t\treturn \"\", errDisabled\n\t}\n\treturn url.Host, nil\n}\n\n// To read a response from a net.Conn, http.ReadResponse() takes a bufio.Reader.\n// It's possible that this reader reads more than what's need for the response and stores\n// those bytes in the buffer.\n// bufConn wraps the original net.Conn and the bufio.Reader to make sure we don't lose the\n// bytes in the buffer.\ntype bufConn struct {\n\tnet.Conn\n\tr io.Reader\n}\n\nfunc (c *bufConn) Read(b []byte) (int, error) {\n\treturn c.r.Read(b)\n}\n\nfunc doHTTPConnectHandshake(ctx context.Context, conn net.Conn, addr string) (_ net.Conn, err error) {\n\tdefer func() {\n\t\tif err != nil {\n\t\t\tconn.Close()\n\t\t}\n\t}()\n\n\treq := (&http.Request{\n\t\tMethod: http.MethodConnect,\n\t\tURL:    &url.URL{Host: addr},\n\t\tHeader: map[string][]string{\"User-Agent\": {grpcUA}},\n\t})\n\n\tif err := sendHTTPRequest(ctx, req, conn); err != nil {\n\t\treturn nil, fmt.Errorf(\"failed to write the HTTP request: %v\", err)\n\t}\n\n\tr := bufio.NewReader(conn)\n\tresp, err := http.ReadResponse(r, req)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"reading server HTTP response: %v\", err)\n\t}\n\tdefer resp.Body.Close()\n\tif resp.StatusCode != http.StatusOK {\n\t\tdump, err := httputil.DumpResponse(resp, true)\n\t\tif err != nil {\n\t\t\treturn nil, fmt.Errorf(\"failed to do connect handshake, status code: %s\", resp.Status)\n\t\t}\n\t\treturn nil, fmt.Errorf(\"failed to do connect handshake, response: %q\", dump)\n\t}\n\n\treturn &bufConn{Conn: conn, r: r}, nil\n}\n\n// newProxyDialer returns a dialer that connects to proxy first if necessary.\n// The returned dialer checks if a proxy is necessary, dial to the proxy with the\n// provided dialer, does HTTP CONNECT handshake and returns the connection.\nfunc newProxyDialer(dialer func(context.Context, string) (net.Conn, error)) func(context.Context, string) (net.Conn, error) {\n\treturn func(ctx context.Context, addr string) (conn net.Conn, err error) {\n\t\tvar skipHandshake bool\n\t\tnewAddr, err := mapAddress(ctx, addr)\n\t\tif err != nil {\n\t\t\tif err != errDisabled {\n\t\t\t\treturn nil, err\n\t\t\t}\n\t\t\tskipHandshake = true\n\t\t\tnewAddr = addr\n\t\t}\n\n\t\tconn, err = dialer(ctx, newAddr)\n\t\tif err != nil {\n\t\t\treturn\n\t\t}\n\t\tif !skipHandshake {\n\t\t\tconn, err = doHTTPConnectHandshake(ctx, conn, addr)\n\t\t}\n\t\treturn\n\t}\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/resolver/dns/dns_resolver.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n// Package dns implements a dns resolver to be installed as the default resolver\n// in grpc.\npackage dns\n\nimport (\n\t\"encoding/json\"\n\t\"errors\"\n\t\"fmt\"\n\t\"net\"\n\t\"os\"\n\t\"strconv\"\n\t\"strings\"\n\t\"sync\"\n\t\"time\"\n\n\t\"golang.org/x/net/context\"\n\t\"google.golang.org/grpc/grpclog\"\n\t\"google.golang.org/grpc/internal/backoff\"\n\t\"google.golang.org/grpc/internal/grpcrand\"\n\t\"google.golang.org/grpc/resolver\"\n)\n\nfunc init() {\n\tresolver.Register(NewBuilder())\n}\n\nconst (\n\tdefaultPort = \"443\"\n\tdefaultFreq = time.Minute * 30\n\tgolang      = \"GO\"\n\t// In DNS, service config is encoded in a TXT record via the mechanism\n\t// described in RFC-1464 using the attribute name grpc_config.\n\ttxtAttribute = \"grpc_config=\"\n)\n\nvar (\n\terrMissingAddr = errors.New(\"dns resolver: missing address\")\n\n\t// Addresses ending with a colon that is supposed to be the separator\n\t// between host and port is not allowed.  E.g. \"::\" is a valid address as\n\t// it is an IPv6 address (host only) and \"[::]:\" is invalid as it ends with\n\t// a colon as the host and port separator\n\terrEndsWithColon = errors.New(\"dns resolver: missing port after port-separator colon\")\n)\n\n// NewBuilder creates a dnsBuilder which is used to factory DNS resolvers.\nfunc NewBuilder() resolver.Builder {\n\treturn &dnsBuilder{minFreq: defaultFreq}\n}\n\ntype dnsBuilder struct {\n\t// minimum frequency of polling the DNS server.\n\tminFreq time.Duration\n}\n\n// Build creates and starts a DNS resolver that watches the name resolution of the target.\nfunc (b *dnsBuilder) Build(target resolver.Target, cc resolver.ClientConn, opts resolver.BuildOption) (resolver.Resolver, error) {\n\tif target.Authority != \"\" {\n\t\treturn nil, fmt.Errorf(\"Default DNS resolver does not support custom DNS server\")\n\t}\n\thost, port, err := parseTarget(target.Endpoint)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\t// IP address.\n\tif net.ParseIP(host) != nil {\n\t\thost, _ = formatIP(host)\n\t\taddr := []resolver.Address{{Addr: host + \":\" + port}}\n\t\ti := &ipResolver{\n\t\t\tcc: cc,\n\t\t\tip: addr,\n\t\t\trn: make(chan struct{}, 1),\n\t\t\tq:  make(chan struct{}),\n\t\t}\n\t\tcc.NewAddress(addr)\n\t\tgo i.watcher()\n\t\treturn i, nil\n\t}\n\n\t// DNS address (non-IP).\n\tctx, cancel := context.WithCancel(context.Background())\n\td := &dnsResolver{\n\t\tfreq:                 b.minFreq,\n\t\tbackoff:              backoff.Exponential{MaxDelay: b.minFreq},\n\t\thost:                 host,\n\t\tport:                 port,\n\t\tctx:                  ctx,\n\t\tcancel:               cancel,\n\t\tcc:                   cc,\n\t\tt:                    time.NewTimer(0),\n\t\trn:                   make(chan struct{}, 1),\n\t\tdisableServiceConfig: opts.DisableServiceConfig,\n\t}\n\n\td.wg.Add(1)\n\tgo d.watcher()\n\treturn d, nil\n}\n\n// Scheme returns the naming scheme of this resolver builder, which is \"dns\".\nfunc (b *dnsBuilder) Scheme() string {\n\treturn \"dns\"\n}\n\n// ipResolver watches for the name resolution update for an IP address.\ntype ipResolver struct {\n\tcc resolver.ClientConn\n\tip []resolver.Address\n\t// rn channel is used by ResolveNow() to force an immediate resolution of the target.\n\trn chan struct{}\n\tq  chan struct{}\n}\n\n// ResolveNow resend the address it stores, no resolution is needed.\nfunc (i *ipResolver) ResolveNow(opt resolver.ResolveNowOption) {\n\tselect {\n\tcase i.rn <- struct{}{}:\n\tdefault:\n\t}\n}\n\n// Close closes the ipResolver.\nfunc (i *ipResolver) Close() {\n\tclose(i.q)\n}\n\nfunc (i *ipResolver) watcher() {\n\tfor {\n\t\tselect {\n\t\tcase <-i.rn:\n\t\t\ti.cc.NewAddress(i.ip)\n\t\tcase <-i.q:\n\t\t\treturn\n\t\t}\n\t}\n}\n\n// dnsResolver watches for the name resolution update for a non-IP target.\ntype dnsResolver struct {\n\tfreq       time.Duration\n\tbackoff    backoff.Exponential\n\tretryCount int\n\thost       string\n\tport       string\n\tctx        context.Context\n\tcancel     context.CancelFunc\n\tcc         resolver.ClientConn\n\t// rn channel is used by ResolveNow() to force an immediate resolution of the target.\n\trn chan struct{}\n\tt  *time.Timer\n\t// wg is used to enforce Close() to return after the watcher() goroutine has finished.\n\t// Otherwise, data race will be possible. [Race Example] in dns_resolver_test we\n\t// replace the real lookup functions with mocked ones to facilitate testing.\n\t// If Close() doesn't wait for watcher() goroutine finishes, race detector sometimes\n\t// will warns lookup (READ the lookup function pointers) inside watcher() goroutine\n\t// has data race with replaceNetFunc (WRITE the lookup function pointers).\n\twg                   sync.WaitGroup\n\tdisableServiceConfig bool\n}\n\n// ResolveNow invoke an immediate resolution of the target that this dnsResolver watches.\nfunc (d *dnsResolver) ResolveNow(opt resolver.ResolveNowOption) {\n\tselect {\n\tcase d.rn <- struct{}{}:\n\tdefault:\n\t}\n}\n\n// Close closes the dnsResolver.\nfunc (d *dnsResolver) Close() {\n\td.cancel()\n\td.wg.Wait()\n\td.t.Stop()\n}\n\nfunc (d *dnsResolver) watcher() {\n\tdefer d.wg.Done()\n\tfor {\n\t\tselect {\n\t\tcase <-d.ctx.Done():\n\t\t\treturn\n\t\tcase <-d.t.C:\n\t\tcase <-d.rn:\n\t\t}\n\t\tresult, sc := d.lookup()\n\t\t// Next lookup should happen within an interval defined by d.freq. It may be\n\t\t// more often due to exponential retry on empty address list.\n\t\tif len(result) == 0 {\n\t\t\td.retryCount++\n\t\t\td.t.Reset(d.backoff.Backoff(d.retryCount))\n\t\t} else {\n\t\t\td.retryCount = 0\n\t\t\td.t.Reset(d.freq)\n\t\t}\n\t\td.cc.NewServiceConfig(sc)\n\t\td.cc.NewAddress(result)\n\t}\n}\n\nfunc (d *dnsResolver) lookupSRV() []resolver.Address {\n\tvar newAddrs []resolver.Address\n\t_, srvs, err := lookupSRV(d.ctx, \"grpclb\", \"tcp\", d.host)\n\tif err != nil {\n\t\tgrpclog.Infof(\"grpc: failed dns SRV record lookup due to %v.\\n\", err)\n\t\treturn nil\n\t}\n\tfor _, s := range srvs {\n\t\tlbAddrs, err := lookupHost(d.ctx, s.Target)\n\t\tif err != nil {\n\t\t\tgrpclog.Infof(\"grpc: failed load balancer address dns lookup due to %v.\\n\", err)\n\t\t\tcontinue\n\t\t}\n\t\tfor _, a := range lbAddrs {\n\t\t\ta, ok := formatIP(a)\n\t\t\tif !ok {\n\t\t\t\tgrpclog.Errorf(\"grpc: failed IP parsing due to %v.\\n\", err)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\taddr := a + \":\" + strconv.Itoa(int(s.Port))\n\t\t\tnewAddrs = append(newAddrs, resolver.Address{Addr: addr, Type: resolver.GRPCLB, ServerName: s.Target})\n\t\t}\n\t}\n\treturn newAddrs\n}\n\nfunc (d *dnsResolver) lookupTXT() string {\n\tss, err := lookupTXT(d.ctx, d.host)\n\tif err != nil {\n\t\tgrpclog.Infof(\"grpc: failed dns TXT record lookup due to %v.\\n\", err)\n\t\treturn \"\"\n\t}\n\tvar res string\n\tfor _, s := range ss {\n\t\tres += s\n\t}\n\n\t// TXT record must have \"grpc_config=\" attribute in order to be used as service config.\n\tif !strings.HasPrefix(res, txtAttribute) {\n\t\tgrpclog.Warningf(\"grpc: TXT record %v missing %v attribute\", res, txtAttribute)\n\t\treturn \"\"\n\t}\n\treturn strings.TrimPrefix(res, txtAttribute)\n}\n\nfunc (d *dnsResolver) lookupHost() []resolver.Address {\n\tvar newAddrs []resolver.Address\n\taddrs, err := lookupHost(d.ctx, d.host)\n\tif err != nil {\n\t\tgrpclog.Warningf(\"grpc: failed dns A record lookup due to %v.\\n\", err)\n\t\treturn nil\n\t}\n\tfor _, a := range addrs {\n\t\ta, ok := formatIP(a)\n\t\tif !ok {\n\t\t\tgrpclog.Errorf(\"grpc: failed IP parsing due to %v.\\n\", err)\n\t\t\tcontinue\n\t\t}\n\t\taddr := a + \":\" + d.port\n\t\tnewAddrs = append(newAddrs, resolver.Address{Addr: addr})\n\t}\n\treturn newAddrs\n}\n\nfunc (d *dnsResolver) lookup() ([]resolver.Address, string) {\n\tnewAddrs := d.lookupSRV()\n\t// Support fallback to non-balancer address.\n\tnewAddrs = append(newAddrs, d.lookupHost()...)\n\tif d.disableServiceConfig {\n\t\treturn newAddrs, \"\"\n\t}\n\tsc := d.lookupTXT()\n\treturn newAddrs, canaryingSC(sc)\n}\n\n// formatIP returns ok = false if addr is not a valid textual representation of an IP address.\n// If addr is an IPv4 address, return the addr and ok = true.\n// If addr is an IPv6 address, return the addr enclosed in square brackets and ok = true.\nfunc formatIP(addr string) (addrIP string, ok bool) {\n\tip := net.ParseIP(addr)\n\tif ip == nil {\n\t\treturn \"\", false\n\t}\n\tif ip.To4() != nil {\n\t\treturn addr, true\n\t}\n\treturn \"[\" + addr + \"]\", true\n}\n\n// parseTarget takes the user input target string, returns formatted host and port info.\n// If target doesn't specify a port, set the port to be the defaultPort.\n// If target is in IPv6 format and host-name is enclosed in sqarue brackets, brackets\n// are strippd when setting the host.\n// examples:\n// target: \"www.google.com\" returns host: \"www.google.com\", port: \"443\"\n// target: \"ipv4-host:80\" returns host: \"ipv4-host\", port: \"80\"\n// target: \"[ipv6-host]\" returns host: \"ipv6-host\", port: \"443\"\n// target: \":80\" returns host: \"localhost\", port: \"80\"\nfunc parseTarget(target string) (host, port string, err error) {\n\tif target == \"\" {\n\t\treturn \"\", \"\", errMissingAddr\n\t}\n\tif ip := net.ParseIP(target); ip != nil {\n\t\t// target is an IPv4 or IPv6(without brackets) address\n\t\treturn target, defaultPort, nil\n\t}\n\tif host, port, err = net.SplitHostPort(target); err == nil {\n\t\tif port == \"\" {\n\t\t\t// If the port field is empty (target ends with colon), e.g. \"[::1]:\", this is an error.\n\t\t\treturn \"\", \"\", errEndsWithColon\n\t\t}\n\t\t// target has port, i.e ipv4-host:port, [ipv6-host]:port, host-name:port\n\t\tif host == \"\" {\n\t\t\t// Keep consistent with net.Dial(): If the host is empty, as in \":80\", the local system is assumed.\n\t\t\thost = \"localhost\"\n\t\t}\n\t\treturn host, port, nil\n\t}\n\tif host, port, err = net.SplitHostPort(target + \":\" + defaultPort); err == nil {\n\t\t// target doesn't have port\n\t\treturn host, port, nil\n\t}\n\treturn \"\", \"\", fmt.Errorf(\"invalid target address %v, error info: %v\", target, err)\n}\n\ntype rawChoice struct {\n\tClientLanguage *[]string        `json:\"clientLanguage,omitempty\"`\n\tPercentage     *int             `json:\"percentage,omitempty\"`\n\tClientHostName *[]string        `json:\"clientHostName,omitempty\"`\n\tServiceConfig  *json.RawMessage `json:\"serviceConfig,omitempty\"`\n}\n\nfunc containsString(a *[]string, b string) bool {\n\tif a == nil {\n\t\treturn true\n\t}\n\tfor _, c := range *a {\n\t\tif c == b {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\nfunc chosenByPercentage(a *int) bool {\n\tif a == nil {\n\t\treturn true\n\t}\n\treturn grpcrand.Intn(100)+1 <= *a\n}\n\nfunc canaryingSC(js string) string {\n\tif js == \"\" {\n\t\treturn \"\"\n\t}\n\tvar rcs []rawChoice\n\terr := json.Unmarshal([]byte(js), &rcs)\n\tif err != nil {\n\t\tgrpclog.Warningf(\"grpc: failed to parse service config json string due to %v.\\n\", err)\n\t\treturn \"\"\n\t}\n\tcliHostname, err := os.Hostname()\n\tif err != nil {\n\t\tgrpclog.Warningf(\"grpc: failed to get client hostname due to %v.\\n\", err)\n\t\treturn \"\"\n\t}\n\tvar sc string\n\tfor _, c := range rcs {\n\t\tif !containsString(c.ClientLanguage, golang) ||\n\t\t\t!chosenByPercentage(c.Percentage) ||\n\t\t\t!containsString(c.ClientHostName, cliHostname) ||\n\t\t\tc.ServiceConfig == nil {\n\t\t\tcontinue\n\t\t}\n\t\tsc = string(*c.ServiceConfig)\n\t\tbreak\n\t}\n\treturn sc\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/resolver/dns/go17.go",
    "content": "// +build go1.6, !go1.8\n\n/*\n *\n * Copyright 2017 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage dns\n\nimport (\n\t\"net\"\n\n\t\"golang.org/x/net/context\"\n)\n\nvar (\n\tlookupHost = func(ctx context.Context, host string) ([]string, error) { return net.LookupHost(host) }\n\tlookupSRV  = func(ctx context.Context, service, proto, name string) (string, []*net.SRV, error) {\n\t\treturn net.LookupSRV(service, proto, name)\n\t}\n\tlookupTXT = func(ctx context.Context, name string) ([]string, error) { return net.LookupTXT(name) }\n)\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/resolver/dns/go18.go",
    "content": "// +build go1.8\n\n/*\n *\n * Copyright 2017 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage dns\n\nimport \"net\"\n\nvar (\n\tlookupHost = net.DefaultResolver.LookupHost\n\tlookupSRV  = net.DefaultResolver.LookupSRV\n\tlookupTXT  = net.DefaultResolver.LookupTXT\n)\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/resolver/passthrough/passthrough.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n// Package passthrough implements a pass-through resolver. It sends the target\n// name without scheme back to gRPC as resolved address.\npackage passthrough\n\nimport \"google.golang.org/grpc/resolver\"\n\nconst scheme = \"passthrough\"\n\ntype passthroughBuilder struct{}\n\nfunc (*passthroughBuilder) Build(target resolver.Target, cc resolver.ClientConn, opts resolver.BuildOption) (resolver.Resolver, error) {\n\tr := &passthroughResolver{\n\t\ttarget: target,\n\t\tcc:     cc,\n\t}\n\tr.start()\n\treturn r, nil\n}\n\nfunc (*passthroughBuilder) Scheme() string {\n\treturn scheme\n}\n\ntype passthroughResolver struct {\n\ttarget resolver.Target\n\tcc     resolver.ClientConn\n}\n\nfunc (r *passthroughResolver) start() {\n\tr.cc.NewAddress([]resolver.Address{{Addr: r.target.Endpoint}})\n}\n\nfunc (*passthroughResolver) ResolveNow(o resolver.ResolveNowOption) {}\n\nfunc (*passthroughResolver) Close() {}\n\nfunc init() {\n\tresolver.Register(&passthroughBuilder{})\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/resolver/resolver.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n// Package resolver defines APIs for name resolution in gRPC.\n// All APIs in this package are experimental.\npackage resolver\n\nvar (\n\t// m is a map from scheme to resolver builder.\n\tm = make(map[string]Builder)\n\t// defaultScheme is the default scheme to use.\n\tdefaultScheme = \"passthrough\"\n)\n\n// TODO(bar) install dns resolver in init(){}.\n\n// Register registers the resolver builder to the resolver map. b.Scheme will be\n// used as the scheme registered with this builder.\n//\n// NOTE: this function must only be called during initialization time (i.e. in\n// an init() function), and is not thread-safe. If multiple Resolvers are\n// registered with the same name, the one registered last will take effect.\nfunc Register(b Builder) {\n\tm[b.Scheme()] = b\n}\n\n// Get returns the resolver builder registered with the given scheme.\n//\n// If no builder is register with the scheme, nil will be returned.\nfunc Get(scheme string) Builder {\n\tif b, ok := m[scheme]; ok {\n\t\treturn b\n\t}\n\treturn nil\n}\n\n// SetDefaultScheme sets the default scheme that will be used. The default\n// default scheme is \"passthrough\".\n//\n// NOTE: this function must only be called during initialization time (i.e. in\n// an init() function), and is not thread-safe. The scheme set last overrides\n// previously set values.\nfunc SetDefaultScheme(scheme string) {\n\tdefaultScheme = scheme\n}\n\n// GetDefaultScheme gets the default scheme that will be used.\nfunc GetDefaultScheme() string {\n\treturn defaultScheme\n}\n\n// AddressType indicates the address type returned by name resolution.\ntype AddressType uint8\n\nconst (\n\t// Backend indicates the address is for a backend server.\n\tBackend AddressType = iota\n\t// GRPCLB indicates the address is for a grpclb load balancer.\n\tGRPCLB\n)\n\n// Address represents a server the client connects to.\n// This is the EXPERIMENTAL API and may be changed or extended in the future.\ntype Address struct {\n\t// Addr is the server address on which a connection will be established.\n\tAddr string\n\t// Type is the type of this address.\n\tType AddressType\n\t// ServerName is the name of this address.\n\t//\n\t// e.g. if Type is GRPCLB, ServerName should be the name of the remote load\n\t// balancer, not the name of the backend.\n\tServerName string\n\t// Metadata is the information associated with Addr, which may be used\n\t// to make load balancing decision.\n\tMetadata interface{}\n}\n\n// BuildOption includes additional information for the builder to create\n// the resolver.\ntype BuildOption struct {\n\t// DisableServiceConfig indicates whether resolver should fetch service config data.\n\tDisableServiceConfig bool\n}\n\n// ClientConn contains the callbacks for resolver to notify any updates\n// to the gRPC ClientConn.\n//\n// This interface is to be implemented by gRPC. Users should not need a\n// brand new implementation of this interface. For the situations like\n// testing, the new implementation should embed this interface. This allows\n// gRPC to add new methods to this interface.\ntype ClientConn interface {\n\t// NewAddress is called by resolver to notify ClientConn a new list\n\t// of resolved addresses.\n\t// The address list should be the complete list of resolved addresses.\n\tNewAddress(addresses []Address)\n\t// NewServiceConfig is called by resolver to notify ClientConn a new\n\t// service config. The service config should be provided as a json string.\n\tNewServiceConfig(serviceConfig string)\n}\n\n// Target represents a target for gRPC, as specified in:\n// https://github.com/grpc/grpc/blob/master/doc/naming.md.\ntype Target struct {\n\tScheme    string\n\tAuthority string\n\tEndpoint  string\n}\n\n// Builder creates a resolver that will be used to watch name resolution updates.\ntype Builder interface {\n\t// Build creates a new resolver for the given target.\n\t//\n\t// gRPC dial calls Build synchronously, and fails if the returned error is\n\t// not nil.\n\tBuild(target Target, cc ClientConn, opts BuildOption) (Resolver, error)\n\t// Scheme returns the scheme supported by this resolver.\n\t// Scheme is defined at https://github.com/grpc/grpc/blob/master/doc/naming.md.\n\tScheme() string\n}\n\n// ResolveNowOption includes additional information for ResolveNow.\ntype ResolveNowOption struct{}\n\n// Resolver watches for the updates on the specified target.\n// Updates include address updates and service config updates.\ntype Resolver interface {\n\t// ResolveNow will be called by gRPC to try to resolve the target name\n\t// again. It's just a hint, resolver can ignore this if it's not necessary.\n\t//\n\t// It could be called multiple times concurrently.\n\tResolveNow(ResolveNowOption)\n\t// Close closes the resolver.\n\tClose()\n}\n\n// UnregisterForTesting removes the resolver builder with the given scheme from the\n// resolver map.\n// This function is for testing only.\nfunc UnregisterForTesting(scheme string) {\n\tdelete(m, scheme)\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/resolver_conn_wrapper.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage grpc\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\n\t\"google.golang.org/grpc/grpclog\"\n\t\"google.golang.org/grpc/resolver\"\n)\n\n// ccResolverWrapper is a wrapper on top of cc for resolvers.\n// It implements resolver.ClientConnection interface.\ntype ccResolverWrapper struct {\n\tcc       *ClientConn\n\tresolver resolver.Resolver\n\taddrCh   chan []resolver.Address\n\tscCh     chan string\n\tdone     chan struct{}\n}\n\n// split2 returns the values from strings.SplitN(s, sep, 2).\n// If sep is not found, it returns (\"\", s, false) instead.\nfunc split2(s, sep string) (string, string, bool) {\n\tspl := strings.SplitN(s, sep, 2)\n\tif len(spl) < 2 {\n\t\treturn \"\", \"\", false\n\t}\n\treturn spl[0], spl[1], true\n}\n\n// parseTarget splits target into a struct containing scheme, authority and\n// endpoint.\n//\n// If target is not a valid scheme://authority/endpoint, it returns {Endpoint:\n// target}.\nfunc parseTarget(target string) (ret resolver.Target) {\n\tvar ok bool\n\tret.Scheme, ret.Endpoint, ok = split2(target, \"://\")\n\tif !ok {\n\t\treturn resolver.Target{Endpoint: target}\n\t}\n\tret.Authority, ret.Endpoint, ok = split2(ret.Endpoint, \"/\")\n\tif !ok {\n\t\treturn resolver.Target{Endpoint: target}\n\t}\n\treturn ret\n}\n\n// newCCResolverWrapper parses cc.target for scheme and gets the resolver\n// builder for this scheme and builds the resolver. The monitoring goroutine\n// for it is not started yet and can be created by calling start().\n//\n// If withResolverBuilder dial option is set, the specified resolver will be\n// used instead.\nfunc newCCResolverWrapper(cc *ClientConn) (*ccResolverWrapper, error) {\n\trb := cc.dopts.resolverBuilder\n\tif rb == nil {\n\t\treturn nil, fmt.Errorf(\"could not get resolver for scheme: %q\", cc.parsedTarget.Scheme)\n\t}\n\n\tccr := &ccResolverWrapper{\n\t\tcc:     cc,\n\t\taddrCh: make(chan []resolver.Address, 1),\n\t\tscCh:   make(chan string, 1),\n\t\tdone:   make(chan struct{}),\n\t}\n\n\tvar err error\n\tccr.resolver, err = rb.Build(cc.parsedTarget, ccr, resolver.BuildOption{DisableServiceConfig: cc.dopts.disableServiceConfig})\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn ccr, nil\n}\n\nfunc (ccr *ccResolverWrapper) start() {\n\tgo ccr.watcher()\n}\n\n// watcher processes address updates and service config updates sequentially.\n// Otherwise, we need to resolve possible races between address and service\n// config (e.g. they specify different balancer types).\nfunc (ccr *ccResolverWrapper) watcher() {\n\tfor {\n\t\tselect {\n\t\tcase <-ccr.done:\n\t\t\treturn\n\t\tdefault:\n\t\t}\n\n\t\tselect {\n\t\tcase addrs := <-ccr.addrCh:\n\t\t\tselect {\n\t\t\tcase <-ccr.done:\n\t\t\t\treturn\n\t\t\tdefault:\n\t\t\t}\n\t\t\tgrpclog.Infof(\"ccResolverWrapper: sending new addresses to cc: %v\", addrs)\n\t\t\tccr.cc.handleResolvedAddrs(addrs, nil)\n\t\tcase sc := <-ccr.scCh:\n\t\t\tselect {\n\t\t\tcase <-ccr.done:\n\t\t\t\treturn\n\t\t\tdefault:\n\t\t\t}\n\t\t\tgrpclog.Infof(\"ccResolverWrapper: got new service config: %v\", sc)\n\t\t\tccr.cc.handleServiceConfig(sc)\n\t\tcase <-ccr.done:\n\t\t\treturn\n\t\t}\n\t}\n}\n\nfunc (ccr *ccResolverWrapper) resolveNow(o resolver.ResolveNowOption) {\n\tccr.resolver.ResolveNow(o)\n}\n\nfunc (ccr *ccResolverWrapper) close() {\n\tccr.resolver.Close()\n\tclose(ccr.done)\n}\n\n// NewAddress is called by the resolver implemenetion to send addresses to gRPC.\nfunc (ccr *ccResolverWrapper) NewAddress(addrs []resolver.Address) {\n\tselect {\n\tcase <-ccr.addrCh:\n\tdefault:\n\t}\n\tccr.addrCh <- addrs\n}\n\n// NewServiceConfig is called by the resolver implemenetion to send service\n// configs to gRPC.\nfunc (ccr *ccResolverWrapper) NewServiceConfig(sc string) {\n\tselect {\n\tcase <-ccr.scCh:\n\tdefault:\n\t}\n\tccr.scCh <- sc\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/rpc_util.go",
    "content": "/*\n *\n * Copyright 2014 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage grpc\n\nimport (\n\t\"bytes\"\n\t\"compress/gzip\"\n\t\"encoding/binary\"\n\t\"fmt\"\n\t\"io\"\n\t\"io/ioutil\"\n\t\"math\"\n\t\"net/url\"\n\t\"strings\"\n\t\"sync\"\n\t\"time\"\n\n\t\"golang.org/x/net/context\"\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/credentials\"\n\t\"google.golang.org/grpc/encoding\"\n\t\"google.golang.org/grpc/encoding/proto\"\n\t\"google.golang.org/grpc/internal/transport\"\n\t\"google.golang.org/grpc/metadata\"\n\t\"google.golang.org/grpc/peer\"\n\t\"google.golang.org/grpc/stats\"\n\t\"google.golang.org/grpc/status\"\n)\n\n// Compressor defines the interface gRPC uses to compress a message.\n//\n// Deprecated: use package encoding.\ntype Compressor interface {\n\t// Do compresses p into w.\n\tDo(w io.Writer, p []byte) error\n\t// Type returns the compression algorithm the Compressor uses.\n\tType() string\n}\n\ntype gzipCompressor struct {\n\tpool sync.Pool\n}\n\n// NewGZIPCompressor creates a Compressor based on GZIP.\n//\n// Deprecated: use package encoding/gzip.\nfunc NewGZIPCompressor() Compressor {\n\tc, _ := NewGZIPCompressorWithLevel(gzip.DefaultCompression)\n\treturn c\n}\n\n// NewGZIPCompressorWithLevel is like NewGZIPCompressor but specifies the gzip compression level instead\n// of assuming DefaultCompression.\n//\n// The error returned will be nil if the level is valid.\n//\n// Deprecated: use package encoding/gzip.\nfunc NewGZIPCompressorWithLevel(level int) (Compressor, error) {\n\tif level < gzip.DefaultCompression || level > gzip.BestCompression {\n\t\treturn nil, fmt.Errorf(\"grpc: invalid compression level: %d\", level)\n\t}\n\treturn &gzipCompressor{\n\t\tpool: sync.Pool{\n\t\t\tNew: func() interface{} {\n\t\t\t\tw, err := gzip.NewWriterLevel(ioutil.Discard, level)\n\t\t\t\tif err != nil {\n\t\t\t\t\tpanic(err)\n\t\t\t\t}\n\t\t\t\treturn w\n\t\t\t},\n\t\t},\n\t}, nil\n}\n\nfunc (c *gzipCompressor) Do(w io.Writer, p []byte) error {\n\tz := c.pool.Get().(*gzip.Writer)\n\tdefer c.pool.Put(z)\n\tz.Reset(w)\n\tif _, err := z.Write(p); err != nil {\n\t\treturn err\n\t}\n\treturn z.Close()\n}\n\nfunc (c *gzipCompressor) Type() string {\n\treturn \"gzip\"\n}\n\n// Decompressor defines the interface gRPC uses to decompress a message.\n//\n// Deprecated: use package encoding.\ntype Decompressor interface {\n\t// Do reads the data from r and uncompress them.\n\tDo(r io.Reader) ([]byte, error)\n\t// Type returns the compression algorithm the Decompressor uses.\n\tType() string\n}\n\ntype gzipDecompressor struct {\n\tpool sync.Pool\n}\n\n// NewGZIPDecompressor creates a Decompressor based on GZIP.\n//\n// Deprecated: use package encoding/gzip.\nfunc NewGZIPDecompressor() Decompressor {\n\treturn &gzipDecompressor{}\n}\n\nfunc (d *gzipDecompressor) Do(r io.Reader) ([]byte, error) {\n\tvar z *gzip.Reader\n\tswitch maybeZ := d.pool.Get().(type) {\n\tcase nil:\n\t\tnewZ, err := gzip.NewReader(r)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tz = newZ\n\tcase *gzip.Reader:\n\t\tz = maybeZ\n\t\tif err := z.Reset(r); err != nil {\n\t\t\td.pool.Put(z)\n\t\t\treturn nil, err\n\t\t}\n\t}\n\n\tdefer func() {\n\t\tz.Close()\n\t\td.pool.Put(z)\n\t}()\n\treturn ioutil.ReadAll(z)\n}\n\nfunc (d *gzipDecompressor) Type() string {\n\treturn \"gzip\"\n}\n\n// callInfo contains all related configuration and information about an RPC.\ntype callInfo struct {\n\tcompressorType        string\n\tfailFast              bool\n\tstream                *clientStream\n\ttraceInfo             traceInfo // in trace.go\n\tmaxReceiveMessageSize *int\n\tmaxSendMessageSize    *int\n\tcreds                 credentials.PerRPCCredentials\n\tcontentSubtype        string\n\tcodec                 baseCodec\n\tdisableRetry          bool\n\tmaxRetryRPCBufferSize int\n}\n\nfunc defaultCallInfo() *callInfo {\n\treturn &callInfo{\n\t\tfailFast:              true,\n\t\tmaxRetryRPCBufferSize: 256 * 1024, // 256KB\n\t}\n}\n\n// CallOption configures a Call before it starts or extracts information from\n// a Call after it completes.\ntype CallOption interface {\n\t// before is called before the call is sent to any server.  If before\n\t// returns a non-nil error, the RPC fails with that error.\n\tbefore(*callInfo) error\n\n\t// after is called after the call has completed.  after cannot return an\n\t// error, so any failures should be reported via output parameters.\n\tafter(*callInfo)\n}\n\n// EmptyCallOption does not alter the Call configuration.\n// It can be embedded in another structure to carry satellite data for use\n// by interceptors.\ntype EmptyCallOption struct{}\n\nfunc (EmptyCallOption) before(*callInfo) error { return nil }\nfunc (EmptyCallOption) after(*callInfo)        {}\n\n// Header returns a CallOptions that retrieves the header metadata\n// for a unary RPC.\nfunc Header(md *metadata.MD) CallOption {\n\treturn HeaderCallOption{HeaderAddr: md}\n}\n\n// HeaderCallOption is a CallOption for collecting response header metadata.\n// The metadata field will be populated *after* the RPC completes.\n// This is an EXPERIMENTAL API.\ntype HeaderCallOption struct {\n\tHeaderAddr *metadata.MD\n}\n\nfunc (o HeaderCallOption) before(c *callInfo) error { return nil }\nfunc (o HeaderCallOption) after(c *callInfo) {\n\tif c.stream != nil {\n\t\t*o.HeaderAddr, _ = c.stream.Header()\n\t}\n}\n\n// Trailer returns a CallOptions that retrieves the trailer metadata\n// for a unary RPC.\nfunc Trailer(md *metadata.MD) CallOption {\n\treturn TrailerCallOption{TrailerAddr: md}\n}\n\n// TrailerCallOption is a CallOption for collecting response trailer metadata.\n// The metadata field will be populated *after* the RPC completes.\n// This is an EXPERIMENTAL API.\ntype TrailerCallOption struct {\n\tTrailerAddr *metadata.MD\n}\n\nfunc (o TrailerCallOption) before(c *callInfo) error { return nil }\nfunc (o TrailerCallOption) after(c *callInfo) {\n\tif c.stream != nil {\n\t\t*o.TrailerAddr = c.stream.Trailer()\n\t}\n}\n\n// Peer returns a CallOption that retrieves peer information for a unary RPC.\n// The peer field will be populated *after* the RPC completes.\nfunc Peer(p *peer.Peer) CallOption {\n\treturn PeerCallOption{PeerAddr: p}\n}\n\n// PeerCallOption is a CallOption for collecting the identity of the remote\n// peer. The peer field will be populated *after* the RPC completes.\n// This is an EXPERIMENTAL API.\ntype PeerCallOption struct {\n\tPeerAddr *peer.Peer\n}\n\nfunc (o PeerCallOption) before(c *callInfo) error { return nil }\nfunc (o PeerCallOption) after(c *callInfo) {\n\tif c.stream != nil {\n\t\tif x, ok := peer.FromContext(c.stream.Context()); ok {\n\t\t\t*o.PeerAddr = *x\n\t\t}\n\t}\n}\n\n// FailFast configures the action to take when an RPC is attempted on broken\n// connections or unreachable servers.  If failFast is true, the RPC will fail\n// immediately. Otherwise, the RPC client will block the call until a\n// connection is available (or the call is canceled or times out) and will\n// retry the call if it fails due to a transient error.  gRPC will not retry if\n// data was written to the wire unless the server indicates it did not process\n// the data.  Please refer to\n// https://github.com/grpc/grpc/blob/master/doc/wait-for-ready.md.\n//\n// By default, RPCs are \"Fail Fast\".\nfunc FailFast(failFast bool) CallOption {\n\treturn FailFastCallOption{FailFast: failFast}\n}\n\n// FailFastCallOption is a CallOption for indicating whether an RPC should fail\n// fast or not.\n// This is an EXPERIMENTAL API.\ntype FailFastCallOption struct {\n\tFailFast bool\n}\n\nfunc (o FailFastCallOption) before(c *callInfo) error {\n\tc.failFast = o.FailFast\n\treturn nil\n}\nfunc (o FailFastCallOption) after(c *callInfo) {}\n\n// MaxCallRecvMsgSize returns a CallOption which sets the maximum message size the client can receive.\nfunc MaxCallRecvMsgSize(s int) CallOption {\n\treturn MaxRecvMsgSizeCallOption{MaxRecvMsgSize: s}\n}\n\n// MaxRecvMsgSizeCallOption is a CallOption that indicates the maximum message\n// size the client can receive.\n// This is an EXPERIMENTAL API.\ntype MaxRecvMsgSizeCallOption struct {\n\tMaxRecvMsgSize int\n}\n\nfunc (o MaxRecvMsgSizeCallOption) before(c *callInfo) error {\n\tc.maxReceiveMessageSize = &o.MaxRecvMsgSize\n\treturn nil\n}\nfunc (o MaxRecvMsgSizeCallOption) after(c *callInfo) {}\n\n// MaxCallSendMsgSize returns a CallOption which sets the maximum message size the client can send.\nfunc MaxCallSendMsgSize(s int) CallOption {\n\treturn MaxSendMsgSizeCallOption{MaxSendMsgSize: s}\n}\n\n// MaxSendMsgSizeCallOption is a CallOption that indicates the maximum message\n// size the client can send.\n// This is an EXPERIMENTAL API.\ntype MaxSendMsgSizeCallOption struct {\n\tMaxSendMsgSize int\n}\n\nfunc (o MaxSendMsgSizeCallOption) before(c *callInfo) error {\n\tc.maxSendMessageSize = &o.MaxSendMsgSize\n\treturn nil\n}\nfunc (o MaxSendMsgSizeCallOption) after(c *callInfo) {}\n\n// PerRPCCredentials returns a CallOption that sets credentials.PerRPCCredentials\n// for a call.\nfunc PerRPCCredentials(creds credentials.PerRPCCredentials) CallOption {\n\treturn PerRPCCredsCallOption{Creds: creds}\n}\n\n// PerRPCCredsCallOption is a CallOption that indicates the per-RPC\n// credentials to use for the call.\n// This is an EXPERIMENTAL API.\ntype PerRPCCredsCallOption struct {\n\tCreds credentials.PerRPCCredentials\n}\n\nfunc (o PerRPCCredsCallOption) before(c *callInfo) error {\n\tc.creds = o.Creds\n\treturn nil\n}\nfunc (o PerRPCCredsCallOption) after(c *callInfo) {}\n\n// UseCompressor returns a CallOption which sets the compressor used when\n// sending the request.  If WithCompressor is also set, UseCompressor has\n// higher priority.\n//\n// This API is EXPERIMENTAL.\nfunc UseCompressor(name string) CallOption {\n\treturn CompressorCallOption{CompressorType: name}\n}\n\n// CompressorCallOption is a CallOption that indicates the compressor to use.\n// This is an EXPERIMENTAL API.\ntype CompressorCallOption struct {\n\tCompressorType string\n}\n\nfunc (o CompressorCallOption) before(c *callInfo) error {\n\tc.compressorType = o.CompressorType\n\treturn nil\n}\nfunc (o CompressorCallOption) after(c *callInfo) {}\n\n// CallContentSubtype returns a CallOption that will set the content-subtype\n// for a call. For example, if content-subtype is \"json\", the Content-Type over\n// the wire will be \"application/grpc+json\". The content-subtype is converted\n// to lowercase before being included in Content-Type. See Content-Type on\n// https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#requests for\n// more details.\n//\n// If CallCustomCodec is not also used, the content-subtype will be used to\n// look up the Codec to use in the registry controlled by RegisterCodec. See\n// the documentation on RegisterCodec for details on registration. The lookup\n// of content-subtype is case-insensitive. If no such Codec is found, the call\n// will result in an error with code codes.Internal.\n//\n// If CallCustomCodec is also used, that Codec will be used for all request and\n// response messages, with the content-subtype set to the given contentSubtype\n// here for requests.\nfunc CallContentSubtype(contentSubtype string) CallOption {\n\treturn ContentSubtypeCallOption{ContentSubtype: strings.ToLower(contentSubtype)}\n}\n\n// ContentSubtypeCallOption is a CallOption that indicates the content-subtype\n// used for marshaling messages.\n// This is an EXPERIMENTAL API.\ntype ContentSubtypeCallOption struct {\n\tContentSubtype string\n}\n\nfunc (o ContentSubtypeCallOption) before(c *callInfo) error {\n\tc.contentSubtype = o.ContentSubtype\n\treturn nil\n}\nfunc (o ContentSubtypeCallOption) after(c *callInfo) {}\n\n// CallCustomCodec returns a CallOption that will set the given Codec to be\n// used for all request and response messages for a call. The result of calling\n// String() will be used as the content-subtype in a case-insensitive manner.\n//\n// See Content-Type on\n// https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#requests for\n// more details. Also see the documentation on RegisterCodec and\n// CallContentSubtype for more details on the interaction between Codec and\n// content-subtype.\n//\n// This function is provided for advanced users; prefer to use only\n// CallContentSubtype to select a registered codec instead.\nfunc CallCustomCodec(codec Codec) CallOption {\n\treturn CustomCodecCallOption{Codec: codec}\n}\n\n// CustomCodecCallOption is a CallOption that indicates the codec used for\n// marshaling messages.\n// This is an EXPERIMENTAL API.\ntype CustomCodecCallOption struct {\n\tCodec Codec\n}\n\nfunc (o CustomCodecCallOption) before(c *callInfo) error {\n\tc.codec = o.Codec\n\treturn nil\n}\nfunc (o CustomCodecCallOption) after(c *callInfo) {}\n\n// MaxRetryRPCBufferSize returns a CallOption that limits the amount of memory\n// used for buffering this RPC's requests for retry purposes.\n//\n// This API is EXPERIMENTAL.\nfunc MaxRetryRPCBufferSize(bytes int) CallOption {\n\treturn MaxRetryRPCBufferSizeCallOption{bytes}\n}\n\n// MaxRetryRPCBufferSizeCallOption is a CallOption indicating the amount of\n// memory to be used for caching this RPC for retry purposes.\n// This is an EXPERIMENTAL API.\ntype MaxRetryRPCBufferSizeCallOption struct {\n\tMaxRetryRPCBufferSize int\n}\n\nfunc (o MaxRetryRPCBufferSizeCallOption) before(c *callInfo) error {\n\tc.maxRetryRPCBufferSize = o.MaxRetryRPCBufferSize\n\treturn nil\n}\nfunc (o MaxRetryRPCBufferSizeCallOption) after(c *callInfo) {}\n\n// The format of the payload: compressed or not?\ntype payloadFormat uint8\n\nconst (\n\tcompressionNone payloadFormat = 0 // no compression\n\tcompressionMade payloadFormat = 1 // compressed\n)\n\n// parser reads complete gRPC messages from the underlying reader.\ntype parser struct {\n\t// r is the underlying reader.\n\t// See the comment on recvMsg for the permissible\n\t// error types.\n\tr io.Reader\n\n\t// The header of a gRPC message. Find more detail at\n\t// https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md\n\theader [5]byte\n}\n\n// recvMsg reads a complete gRPC message from the stream.\n//\n// It returns the message and its payload (compression/encoding)\n// format. The caller owns the returned msg memory.\n//\n// If there is an error, possible values are:\n//   * io.EOF, when no messages remain\n//   * io.ErrUnexpectedEOF\n//   * of type transport.ConnectionError\n//   * an error from the status package\n// No other error values or types must be returned, which also means\n// that the underlying io.Reader must not return an incompatible\n// error.\nfunc (p *parser) recvMsg(maxReceiveMessageSize int) (pf payloadFormat, msg []byte, err error) {\n\tif _, err := p.r.Read(p.header[:]); err != nil {\n\t\treturn 0, nil, err\n\t}\n\n\tpf = payloadFormat(p.header[0])\n\tlength := binary.BigEndian.Uint32(p.header[1:])\n\n\tif length == 0 {\n\t\treturn pf, nil, nil\n\t}\n\tif int64(length) > int64(maxInt) {\n\t\treturn 0, nil, status.Errorf(codes.ResourceExhausted, \"grpc: received message larger than max length allowed on current machine (%d vs. %d)\", length, maxInt)\n\t}\n\tif int(length) > maxReceiveMessageSize {\n\t\treturn 0, nil, status.Errorf(codes.ResourceExhausted, \"grpc: received message larger than max (%d vs. %d)\", length, maxReceiveMessageSize)\n\t}\n\t// TODO(bradfitz,zhaoq): garbage. reuse buffer after proto decoding instead\n\t// of making it for each message:\n\tmsg = make([]byte, int(length))\n\tif _, err := p.r.Read(msg); err != nil {\n\t\tif err == io.EOF {\n\t\t\terr = io.ErrUnexpectedEOF\n\t\t}\n\t\treturn 0, nil, err\n\t}\n\treturn pf, msg, nil\n}\n\n// encode serializes msg and returns a buffer containing the message, or an\n// error if it is too large to be transmitted by grpc.  If msg is nil, it\n// generates an empty message.\nfunc encode(c baseCodec, msg interface{}) ([]byte, error) {\n\tif msg == nil { // NOTE: typed nils will not be caught by this check\n\t\treturn nil, nil\n\t}\n\tb, err := c.Marshal(msg)\n\tif err != nil {\n\t\treturn nil, status.Errorf(codes.Internal, \"grpc: error while marshaling: %v\", err.Error())\n\t}\n\tif uint(len(b)) > math.MaxUint32 {\n\t\treturn nil, status.Errorf(codes.ResourceExhausted, \"grpc: message too large (%d bytes)\", len(b))\n\t}\n\treturn b, nil\n}\n\n// compress returns the input bytes compressed by compressor or cp.  If both\n// compressors are nil, returns nil.\n//\n// TODO(dfawley): eliminate cp parameter by wrapping Compressor in an encoding.Compressor.\nfunc compress(in []byte, cp Compressor, compressor encoding.Compressor) ([]byte, error) {\n\tif compressor == nil && cp == nil {\n\t\treturn nil, nil\n\t}\n\twrapErr := func(err error) error {\n\t\treturn status.Errorf(codes.Internal, \"grpc: error while compressing: %v\", err.Error())\n\t}\n\tcbuf := &bytes.Buffer{}\n\tif compressor != nil {\n\t\tz, _ := compressor.Compress(cbuf)\n\t\tif _, err := z.Write(in); err != nil {\n\t\t\treturn nil, wrapErr(err)\n\t\t}\n\t\tif err := z.Close(); err != nil {\n\t\t\treturn nil, wrapErr(err)\n\t\t}\n\t} else {\n\t\tif err := cp.Do(cbuf, in); err != nil {\n\t\t\treturn nil, wrapErr(err)\n\t\t}\n\t}\n\treturn cbuf.Bytes(), nil\n}\n\nconst (\n\tpayloadLen = 1\n\tsizeLen    = 4\n\theaderLen  = payloadLen + sizeLen\n)\n\n// msgHeader returns a 5-byte header for the message being transmitted and the\n// payload, which is compData if non-nil or data otherwise.\nfunc msgHeader(data, compData []byte) (hdr []byte, payload []byte) {\n\thdr = make([]byte, headerLen)\n\tif compData != nil {\n\t\thdr[0] = byte(compressionMade)\n\t\tdata = compData\n\t} else {\n\t\thdr[0] = byte(compressionNone)\n\t}\n\n\t// Write length of payload into buf\n\tbinary.BigEndian.PutUint32(hdr[payloadLen:], uint32(len(data)))\n\treturn hdr, data\n}\n\nfunc outPayload(client bool, msg interface{}, data, payload []byte, t time.Time) *stats.OutPayload {\n\treturn &stats.OutPayload{\n\t\tClient:     client,\n\t\tPayload:    msg,\n\t\tData:       data,\n\t\tLength:     len(data),\n\t\tWireLength: len(payload) + headerLen,\n\t\tSentTime:   t,\n\t}\n}\n\nfunc checkRecvPayload(pf payloadFormat, recvCompress string, haveCompressor bool) *status.Status {\n\tswitch pf {\n\tcase compressionNone:\n\tcase compressionMade:\n\t\tif recvCompress == \"\" || recvCompress == encoding.Identity {\n\t\t\treturn status.New(codes.Internal, \"grpc: compressed flag set with identity or empty encoding\")\n\t\t}\n\t\tif !haveCompressor {\n\t\t\treturn status.Newf(codes.Unimplemented, \"grpc: Decompressor is not installed for grpc-encoding %q\", recvCompress)\n\t\t}\n\tdefault:\n\t\treturn status.Newf(codes.Internal, \"grpc: received unexpected payload format %d\", pf)\n\t}\n\treturn nil\n}\n\n// For the two compressor parameters, both should not be set, but if they are,\n// dc takes precedence over compressor.\n// TODO(dfawley): wrap the old compressor/decompressor using the new API?\nfunc recv(p *parser, c baseCodec, s *transport.Stream, dc Decompressor, m interface{}, maxReceiveMessageSize int, inPayload *stats.InPayload, compressor encoding.Compressor) error {\n\tpf, d, err := p.recvMsg(maxReceiveMessageSize)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif inPayload != nil {\n\t\tinPayload.WireLength = len(d)\n\t}\n\n\tif st := checkRecvPayload(pf, s.RecvCompress(), compressor != nil || dc != nil); st != nil {\n\t\treturn st.Err()\n\t}\n\n\tif pf == compressionMade {\n\t\t// To match legacy behavior, if the decompressor is set by WithDecompressor or RPCDecompressor,\n\t\t// use this decompressor as the default.\n\t\tif dc != nil {\n\t\t\td, err = dc.Do(bytes.NewReader(d))\n\t\t\tif err != nil {\n\t\t\t\treturn status.Errorf(codes.Internal, \"grpc: failed to decompress the received message %v\", err)\n\t\t\t}\n\t\t} else {\n\t\t\tdcReader, err := compressor.Decompress(bytes.NewReader(d))\n\t\t\tif err != nil {\n\t\t\t\treturn status.Errorf(codes.Internal, \"grpc: failed to decompress the received message %v\", err)\n\t\t\t}\n\t\t\td, err = ioutil.ReadAll(dcReader)\n\t\t\tif err != nil {\n\t\t\t\treturn status.Errorf(codes.Internal, \"grpc: failed to decompress the received message %v\", err)\n\t\t\t}\n\t\t}\n\t}\n\tif len(d) > maxReceiveMessageSize {\n\t\t// TODO: Revisit the error code. Currently keep it consistent with java\n\t\t// implementation.\n\t\treturn status.Errorf(codes.ResourceExhausted, \"grpc: received message larger than max (%d vs. %d)\", len(d), maxReceiveMessageSize)\n\t}\n\tif err := c.Unmarshal(d, m); err != nil {\n\t\treturn status.Errorf(codes.Internal, \"grpc: failed to unmarshal the received message %v\", err)\n\t}\n\tif inPayload != nil {\n\t\tinPayload.RecvTime = time.Now()\n\t\tinPayload.Payload = m\n\t\t// TODO truncate large payload.\n\t\tinPayload.Data = d\n\t\tinPayload.Length = len(d)\n\t}\n\treturn nil\n}\n\ntype rpcInfo struct {\n\tfailfast bool\n}\n\ntype rpcInfoContextKey struct{}\n\nfunc newContextWithRPCInfo(ctx context.Context, failfast bool) context.Context {\n\treturn context.WithValue(ctx, rpcInfoContextKey{}, &rpcInfo{failfast: failfast})\n}\n\nfunc rpcInfoFromContext(ctx context.Context) (s *rpcInfo, ok bool) {\n\ts, ok = ctx.Value(rpcInfoContextKey{}).(*rpcInfo)\n\treturn\n}\n\n// Code returns the error code for err if it was produced by the rpc system.\n// Otherwise, it returns codes.Unknown.\n//\n// Deprecated: use status.FromError and Code method instead.\nfunc Code(err error) codes.Code {\n\tif s, ok := status.FromError(err); ok {\n\t\treturn s.Code()\n\t}\n\treturn codes.Unknown\n}\n\n// ErrorDesc returns the error description of err if it was produced by the rpc system.\n// Otherwise, it returns err.Error() or empty string when err is nil.\n//\n// Deprecated: use status.FromError and Message method instead.\nfunc ErrorDesc(err error) string {\n\tif s, ok := status.FromError(err); ok {\n\t\treturn s.Message()\n\t}\n\treturn err.Error()\n}\n\n// Errorf returns an error containing an error code and a description;\n// Errorf returns nil if c is OK.\n//\n// Deprecated: use status.Errorf instead.\nfunc Errorf(c codes.Code, format string, a ...interface{}) error {\n\treturn status.Errorf(c, format, a...)\n}\n\n// setCallInfoCodec should only be called after CallOptions have been applied.\nfunc setCallInfoCodec(c *callInfo) error {\n\tif c.codec != nil {\n\t\t// codec was already set by a CallOption; use it.\n\t\treturn nil\n\t}\n\n\tif c.contentSubtype == \"\" {\n\t\t// No codec specified in CallOptions; use proto by default.\n\t\tc.codec = encoding.GetCodec(proto.Name)\n\t\treturn nil\n\t}\n\n\t// c.contentSubtype is already lowercased in CallContentSubtype\n\tc.codec = encoding.GetCodec(c.contentSubtype)\n\tif c.codec == nil {\n\t\treturn status.Errorf(codes.Internal, \"no codec registered for content-subtype %s\", c.contentSubtype)\n\t}\n\treturn nil\n}\n\n// parseDialTarget returns the network and address to pass to dialer\nfunc parseDialTarget(target string) (net string, addr string) {\n\tnet = \"tcp\"\n\n\tm1 := strings.Index(target, \":\")\n\tm2 := strings.Index(target, \":/\")\n\n\t// handle unix:addr which will fail with url.Parse\n\tif m1 >= 0 && m2 < 0 {\n\t\tif n := target[0:m1]; n == \"unix\" {\n\t\t\tnet = n\n\t\t\taddr = target[m1+1:]\n\t\t\treturn net, addr\n\t\t}\n\t}\n\tif m2 >= 0 {\n\t\tt, err := url.Parse(target)\n\t\tif err != nil {\n\t\t\treturn net, target\n\t\t}\n\t\tscheme := t.Scheme\n\t\taddr = t.Path\n\t\tif scheme == \"unix\" {\n\t\t\tnet = scheme\n\t\t\tif addr == \"\" {\n\t\t\t\taddr = t.Host\n\t\t\t}\n\t\t\treturn net, addr\n\t\t}\n\t}\n\n\treturn net, target\n}\n\n// The SupportPackageIsVersion variables are referenced from generated protocol\n// buffer files to ensure compatibility with the gRPC version used.  The latest\n// support package version is 5.\n//\n// Older versions are kept for compatibility. They may be removed if\n// compatibility cannot be maintained.\n//\n// These constants should not be referenced from any other code.\nconst (\n\tSupportPackageIsVersion3 = true\n\tSupportPackageIsVersion4 = true\n\tSupportPackageIsVersion5 = true\n)\n\nconst grpcUA = \"grpc-go/\" + Version\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/server.go",
    "content": "/*\n *\n * Copyright 2014 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage grpc\n\nimport (\n\t\"bytes\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"math\"\n\t\"net\"\n\t\"net/http\"\n\t\"reflect\"\n\t\"runtime\"\n\t\"strings\"\n\t\"sync\"\n\t\"time\"\n\n\t\"io/ioutil\"\n\n\t\"golang.org/x/net/context\"\n\t\"golang.org/x/net/http2\"\n\t\"golang.org/x/net/trace\"\n\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/credentials\"\n\t\"google.golang.org/grpc/encoding\"\n\t\"google.golang.org/grpc/encoding/proto\"\n\t\"google.golang.org/grpc/grpclog\"\n\t\"google.golang.org/grpc/internal\"\n\t\"google.golang.org/grpc/internal/channelz\"\n\t\"google.golang.org/grpc/internal/transport\"\n\t\"google.golang.org/grpc/keepalive\"\n\t\"google.golang.org/grpc/metadata\"\n\t\"google.golang.org/grpc/stats\"\n\t\"google.golang.org/grpc/status\"\n\t\"google.golang.org/grpc/tap\"\n)\n\nconst (\n\tdefaultServerMaxReceiveMessageSize = 1024 * 1024 * 4\n\tdefaultServerMaxSendMessageSize    = math.MaxInt32\n)\n\ntype methodHandler func(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor UnaryServerInterceptor) (interface{}, error)\n\n// MethodDesc represents an RPC service's method specification.\ntype MethodDesc struct {\n\tMethodName string\n\tHandler    methodHandler\n}\n\n// ServiceDesc represents an RPC service's specification.\ntype ServiceDesc struct {\n\tServiceName string\n\t// The pointer to the service interface. Used to check whether the user\n\t// provided implementation satisfies the interface requirements.\n\tHandlerType interface{}\n\tMethods     []MethodDesc\n\tStreams     []StreamDesc\n\tMetadata    interface{}\n}\n\n// service consists of the information of the server serving this service and\n// the methods in this service.\ntype service struct {\n\tserver interface{} // the server for service methods\n\tmd     map[string]*MethodDesc\n\tsd     map[string]*StreamDesc\n\tmdata  interface{}\n}\n\n// Server is a gRPC server to serve RPC requests.\ntype Server struct {\n\topts options\n\n\tmu     sync.Mutex // guards following\n\tlis    map[net.Listener]bool\n\tconns  map[io.Closer]bool\n\tserve  bool\n\tdrain  bool\n\tcv     *sync.Cond          // signaled when connections close for GracefulStop\n\tm      map[string]*service // service name -> service info\n\tevents trace.EventLog\n\n\tquit               chan struct{}\n\tdone               chan struct{}\n\tquitOnce           sync.Once\n\tdoneOnce           sync.Once\n\tchannelzRemoveOnce sync.Once\n\tserveWG            sync.WaitGroup // counts active Serve goroutines for GracefulStop\n\n\tchannelzID          int64 // channelz unique identification number\n\tczmu                sync.RWMutex\n\tcallsStarted        int64\n\tcallsFailed         int64\n\tcallsSucceeded      int64\n\tlastCallStartedTime time.Time\n}\n\ntype options struct {\n\tcreds                 credentials.TransportCredentials\n\tcodec                 baseCodec\n\tcp                    Compressor\n\tdc                    Decompressor\n\tunaryInt              UnaryServerInterceptor\n\tstreamInt             StreamServerInterceptor\n\tinTapHandle           tap.ServerInHandle\n\tstatsHandler          stats.Handler\n\tmaxConcurrentStreams  uint32\n\tmaxReceiveMessageSize int\n\tmaxSendMessageSize    int\n\tuseHandlerImpl        bool // use http.Handler-based server\n\tunknownStreamDesc     *StreamDesc\n\tkeepaliveParams       keepalive.ServerParameters\n\tkeepalivePolicy       keepalive.EnforcementPolicy\n\tinitialWindowSize     int32\n\tinitialConnWindowSize int32\n\twriteBufferSize       int\n\treadBufferSize        int\n\tconnectionTimeout     time.Duration\n\tmaxHeaderListSize     *uint32\n}\n\nvar defaultServerOptions = options{\n\tmaxReceiveMessageSize: defaultServerMaxReceiveMessageSize,\n\tmaxSendMessageSize:    defaultServerMaxSendMessageSize,\n\tconnectionTimeout:     120 * time.Second,\n\twriteBufferSize:       defaultWriteBufSize,\n\treadBufferSize:        defaultReadBufSize,\n}\n\n// A ServerOption sets options such as credentials, codec and keepalive parameters, etc.\ntype ServerOption func(*options)\n\n// WriteBufferSize determines how much data can be batched before doing a write on the wire.\n// The corresponding memory allocation for this buffer will be twice the size to keep syscalls low.\n// The default value for this buffer is 32KB.\n// Zero will disable the write buffer such that each write will be on underlying connection.\n// Note: A Send call may not directly translate to a write.\nfunc WriteBufferSize(s int) ServerOption {\n\treturn func(o *options) {\n\t\to.writeBufferSize = s\n\t}\n}\n\n// ReadBufferSize lets you set the size of read buffer, this determines how much data can be read at most\n// for one read syscall.\n// The default value for this buffer is 32KB.\n// Zero will disable read buffer for a connection so data framer can access the underlying\n// conn directly.\nfunc ReadBufferSize(s int) ServerOption {\n\treturn func(o *options) {\n\t\to.readBufferSize = s\n\t}\n}\n\n// InitialWindowSize returns a ServerOption that sets window size for stream.\n// The lower bound for window size is 64K and any value smaller than that will be ignored.\nfunc InitialWindowSize(s int32) ServerOption {\n\treturn func(o *options) {\n\t\to.initialWindowSize = s\n\t}\n}\n\n// InitialConnWindowSize returns a ServerOption that sets window size for a connection.\n// The lower bound for window size is 64K and any value smaller than that will be ignored.\nfunc InitialConnWindowSize(s int32) ServerOption {\n\treturn func(o *options) {\n\t\to.initialConnWindowSize = s\n\t}\n}\n\n// KeepaliveParams returns a ServerOption that sets keepalive and max-age parameters for the server.\nfunc KeepaliveParams(kp keepalive.ServerParameters) ServerOption {\n\treturn func(o *options) {\n\t\to.keepaliveParams = kp\n\t}\n}\n\n// KeepaliveEnforcementPolicy returns a ServerOption that sets keepalive enforcement policy for the server.\nfunc KeepaliveEnforcementPolicy(kep keepalive.EnforcementPolicy) ServerOption {\n\treturn func(o *options) {\n\t\to.keepalivePolicy = kep\n\t}\n}\n\n// CustomCodec returns a ServerOption that sets a codec for message marshaling and unmarshaling.\n//\n// This will override any lookups by content-subtype for Codecs registered with RegisterCodec.\nfunc CustomCodec(codec Codec) ServerOption {\n\treturn func(o *options) {\n\t\to.codec = codec\n\t}\n}\n\n// RPCCompressor returns a ServerOption that sets a compressor for outbound\n// messages.  For backward compatibility, all outbound messages will be sent\n// using this compressor, regardless of incoming message compression.  By\n// default, server messages will be sent using the same compressor with which\n// request messages were sent.\n//\n// Deprecated: use encoding.RegisterCompressor instead.\nfunc RPCCompressor(cp Compressor) ServerOption {\n\treturn func(o *options) {\n\t\to.cp = cp\n\t}\n}\n\n// RPCDecompressor returns a ServerOption that sets a decompressor for inbound\n// messages.  It has higher priority than decompressors registered via\n// encoding.RegisterCompressor.\n//\n// Deprecated: use encoding.RegisterCompressor instead.\nfunc RPCDecompressor(dc Decompressor) ServerOption {\n\treturn func(o *options) {\n\t\to.dc = dc\n\t}\n}\n\n// MaxMsgSize returns a ServerOption to set the max message size in bytes the server can receive.\n// If this is not set, gRPC uses the default limit.\n//\n// Deprecated: use MaxRecvMsgSize instead.\nfunc MaxMsgSize(m int) ServerOption {\n\treturn MaxRecvMsgSize(m)\n}\n\n// MaxRecvMsgSize returns a ServerOption to set the max message size in bytes the server can receive.\n// If this is not set, gRPC uses the default 4MB.\nfunc MaxRecvMsgSize(m int) ServerOption {\n\treturn func(o *options) {\n\t\to.maxReceiveMessageSize = m\n\t}\n}\n\n// MaxSendMsgSize returns a ServerOption to set the max message size in bytes the server can send.\n// If this is not set, gRPC uses the default 4MB.\nfunc MaxSendMsgSize(m int) ServerOption {\n\treturn func(o *options) {\n\t\to.maxSendMessageSize = m\n\t}\n}\n\n// MaxConcurrentStreams returns a ServerOption that will apply a limit on the number\n// of concurrent streams to each ServerTransport.\nfunc MaxConcurrentStreams(n uint32) ServerOption {\n\treturn func(o *options) {\n\t\to.maxConcurrentStreams = n\n\t}\n}\n\n// Creds returns a ServerOption that sets credentials for server connections.\nfunc Creds(c credentials.TransportCredentials) ServerOption {\n\treturn func(o *options) {\n\t\to.creds = c\n\t}\n}\n\n// UnaryInterceptor returns a ServerOption that sets the UnaryServerInterceptor for the\n// server. Only one unary interceptor can be installed. The construction of multiple\n// interceptors (e.g., chaining) can be implemented at the caller.\nfunc UnaryInterceptor(i UnaryServerInterceptor) ServerOption {\n\treturn func(o *options) {\n\t\tif o.unaryInt != nil {\n\t\t\tpanic(\"The unary server interceptor was already set and may not be reset.\")\n\t\t}\n\t\to.unaryInt = i\n\t}\n}\n\n// StreamInterceptor returns a ServerOption that sets the StreamServerInterceptor for the\n// server. Only one stream interceptor can be installed.\nfunc StreamInterceptor(i StreamServerInterceptor) ServerOption {\n\treturn func(o *options) {\n\t\tif o.streamInt != nil {\n\t\t\tpanic(\"The stream server interceptor was already set and may not be reset.\")\n\t\t}\n\t\to.streamInt = i\n\t}\n}\n\n// InTapHandle returns a ServerOption that sets the tap handle for all the server\n// transport to be created. Only one can be installed.\nfunc InTapHandle(h tap.ServerInHandle) ServerOption {\n\treturn func(o *options) {\n\t\tif o.inTapHandle != nil {\n\t\t\tpanic(\"The tap handle was already set and may not be reset.\")\n\t\t}\n\t\to.inTapHandle = h\n\t}\n}\n\n// StatsHandler returns a ServerOption that sets the stats handler for the server.\nfunc StatsHandler(h stats.Handler) ServerOption {\n\treturn func(o *options) {\n\t\to.statsHandler = h\n\t}\n}\n\n// UnknownServiceHandler returns a ServerOption that allows for adding a custom\n// unknown service handler. The provided method is a bidi-streaming RPC service\n// handler that will be invoked instead of returning the \"unimplemented\" gRPC\n// error whenever a request is received for an unregistered service or method.\n// The handling function has full access to the Context of the request and the\n// stream, and the invocation bypasses interceptors.\nfunc UnknownServiceHandler(streamHandler StreamHandler) ServerOption {\n\treturn func(o *options) {\n\t\to.unknownStreamDesc = &StreamDesc{\n\t\t\tStreamName: \"unknown_service_handler\",\n\t\t\tHandler:    streamHandler,\n\t\t\t// We need to assume that the users of the streamHandler will want to use both.\n\t\t\tClientStreams: true,\n\t\t\tServerStreams: true,\n\t\t}\n\t}\n}\n\n// ConnectionTimeout returns a ServerOption that sets the timeout for\n// connection establishment (up to and including HTTP/2 handshaking) for all\n// new connections.  If this is not set, the default is 120 seconds.  A zero or\n// negative value will result in an immediate timeout.\n//\n// This API is EXPERIMENTAL.\nfunc ConnectionTimeout(d time.Duration) ServerOption {\n\treturn func(o *options) {\n\t\to.connectionTimeout = d\n\t}\n}\n\n// MaxHeaderListSize returns a ServerOption that sets the max (uncompressed) size\n// of header list that the server is prepared to accept.\nfunc MaxHeaderListSize(s uint32) ServerOption {\n\treturn func(o *options) {\n\t\to.maxHeaderListSize = &s\n\t}\n}\n\n// NewServer creates a gRPC server which has no service registered and has not\n// started to accept requests yet.\nfunc NewServer(opt ...ServerOption) *Server {\n\topts := defaultServerOptions\n\tfor _, o := range opt {\n\t\to(&opts)\n\t}\n\ts := &Server{\n\t\tlis:   make(map[net.Listener]bool),\n\t\topts:  opts,\n\t\tconns: make(map[io.Closer]bool),\n\t\tm:     make(map[string]*service),\n\t\tquit:  make(chan struct{}),\n\t\tdone:  make(chan struct{}),\n\t}\n\ts.cv = sync.NewCond(&s.mu)\n\tif EnableTracing {\n\t\t_, file, line, _ := runtime.Caller(1)\n\t\ts.events = trace.NewEventLog(\"grpc.Server\", fmt.Sprintf(\"%s:%d\", file, line))\n\t}\n\n\tif channelz.IsOn() {\n\t\ts.channelzID = channelz.RegisterServer(s, \"\")\n\t}\n\treturn s\n}\n\n// printf records an event in s's event log, unless s has been stopped.\n// REQUIRES s.mu is held.\nfunc (s *Server) printf(format string, a ...interface{}) {\n\tif s.events != nil {\n\t\ts.events.Printf(format, a...)\n\t}\n}\n\n// errorf records an error in s's event log, unless s has been stopped.\n// REQUIRES s.mu is held.\nfunc (s *Server) errorf(format string, a ...interface{}) {\n\tif s.events != nil {\n\t\ts.events.Errorf(format, a...)\n\t}\n}\n\n// RegisterService registers a service and its implementation to the gRPC\n// server. It is called from the IDL generated code. This must be called before\n// invoking Serve.\nfunc (s *Server) RegisterService(sd *ServiceDesc, ss interface{}) {\n\tht := reflect.TypeOf(sd.HandlerType).Elem()\n\tst := reflect.TypeOf(ss)\n\tif !st.Implements(ht) {\n\t\tgrpclog.Fatalf(\"grpc: Server.RegisterService found the handler of type %v that does not satisfy %v\", st, ht)\n\t}\n\ts.register(sd, ss)\n}\n\nfunc (s *Server) register(sd *ServiceDesc, ss interface{}) {\n\ts.mu.Lock()\n\tdefer s.mu.Unlock()\n\ts.printf(\"RegisterService(%q)\", sd.ServiceName)\n\tif s.serve {\n\t\tgrpclog.Fatalf(\"grpc: Server.RegisterService after Server.Serve for %q\", sd.ServiceName)\n\t}\n\tif _, ok := s.m[sd.ServiceName]; ok {\n\t\tgrpclog.Fatalf(\"grpc: Server.RegisterService found duplicate service registration for %q\", sd.ServiceName)\n\t}\n\tsrv := &service{\n\t\tserver: ss,\n\t\tmd:     make(map[string]*MethodDesc),\n\t\tsd:     make(map[string]*StreamDesc),\n\t\tmdata:  sd.Metadata,\n\t}\n\tfor i := range sd.Methods {\n\t\td := &sd.Methods[i]\n\t\tsrv.md[d.MethodName] = d\n\t}\n\tfor i := range sd.Streams {\n\t\td := &sd.Streams[i]\n\t\tsrv.sd[d.StreamName] = d\n\t}\n\ts.m[sd.ServiceName] = srv\n}\n\n// MethodInfo contains the information of an RPC including its method name and type.\ntype MethodInfo struct {\n\t// Name is the method name only, without the service name or package name.\n\tName string\n\t// IsClientStream indicates whether the RPC is a client streaming RPC.\n\tIsClientStream bool\n\t// IsServerStream indicates whether the RPC is a server streaming RPC.\n\tIsServerStream bool\n}\n\n// ServiceInfo contains unary RPC method info, streaming RPC method info and metadata for a service.\ntype ServiceInfo struct {\n\tMethods []MethodInfo\n\t// Metadata is the metadata specified in ServiceDesc when registering service.\n\tMetadata interface{}\n}\n\n// GetServiceInfo returns a map from service names to ServiceInfo.\n// Service names include the package names, in the form of <package>.<service>.\nfunc (s *Server) GetServiceInfo() map[string]ServiceInfo {\n\tret := make(map[string]ServiceInfo)\n\tfor n, srv := range s.m {\n\t\tmethods := make([]MethodInfo, 0, len(srv.md)+len(srv.sd))\n\t\tfor m := range srv.md {\n\t\t\tmethods = append(methods, MethodInfo{\n\t\t\t\tName:           m,\n\t\t\t\tIsClientStream: false,\n\t\t\t\tIsServerStream: false,\n\t\t\t})\n\t\t}\n\t\tfor m, d := range srv.sd {\n\t\t\tmethods = append(methods, MethodInfo{\n\t\t\t\tName:           m,\n\t\t\t\tIsClientStream: d.ClientStreams,\n\t\t\t\tIsServerStream: d.ServerStreams,\n\t\t\t})\n\t\t}\n\n\t\tret[n] = ServiceInfo{\n\t\t\tMethods:  methods,\n\t\t\tMetadata: srv.mdata,\n\t\t}\n\t}\n\treturn ret\n}\n\n// ErrServerStopped indicates that the operation is now illegal because of\n// the server being stopped.\nvar ErrServerStopped = errors.New(\"grpc: the server has been stopped\")\n\nfunc (s *Server) useTransportAuthenticator(rawConn net.Conn) (net.Conn, credentials.AuthInfo, error) {\n\tif s.opts.creds == nil {\n\t\treturn rawConn, nil, nil\n\t}\n\treturn s.opts.creds.ServerHandshake(rawConn)\n}\n\ntype listenSocket struct {\n\tnet.Listener\n\tchannelzID int64\n}\n\nfunc (l *listenSocket) ChannelzMetric() *channelz.SocketInternalMetric {\n\treturn &channelz.SocketInternalMetric{\n\t\tSocketOptions: channelz.GetSocketOption(l.Listener),\n\t\tLocalAddr:     l.Listener.Addr(),\n\t}\n}\n\nfunc (l *listenSocket) Close() error {\n\terr := l.Listener.Close()\n\tif channelz.IsOn() {\n\t\tchannelz.RemoveEntry(l.channelzID)\n\t}\n\treturn err\n}\n\n// Serve accepts incoming connections on the listener lis, creating a new\n// ServerTransport and service goroutine for each. The service goroutines\n// read gRPC requests and then call the registered handlers to reply to them.\n// Serve returns when lis.Accept fails with fatal errors.  lis will be closed when\n// this method returns.\n// Serve will return a non-nil error unless Stop or GracefulStop is called.\nfunc (s *Server) Serve(lis net.Listener) error {\n\ts.mu.Lock()\n\ts.printf(\"serving\")\n\ts.serve = true\n\tif s.lis == nil {\n\t\t// Serve called after Stop or GracefulStop.\n\t\ts.mu.Unlock()\n\t\tlis.Close()\n\t\treturn ErrServerStopped\n\t}\n\n\ts.serveWG.Add(1)\n\tdefer func() {\n\t\ts.serveWG.Done()\n\t\tselect {\n\t\t// Stop or GracefulStop called; block until done and return nil.\n\t\tcase <-s.quit:\n\t\t\t<-s.done\n\t\tdefault:\n\t\t}\n\t}()\n\n\tls := &listenSocket{Listener: lis}\n\ts.lis[ls] = true\n\n\tif channelz.IsOn() {\n\t\tls.channelzID = channelz.RegisterListenSocket(ls, s.channelzID, \"\")\n\t}\n\ts.mu.Unlock()\n\n\tdefer func() {\n\t\ts.mu.Lock()\n\t\tif s.lis != nil && s.lis[ls] {\n\t\t\tls.Close()\n\t\t\tdelete(s.lis, ls)\n\t\t}\n\t\ts.mu.Unlock()\n\t}()\n\n\tvar tempDelay time.Duration // how long to sleep on accept failure\n\n\tfor {\n\t\trawConn, err := lis.Accept()\n\t\tif err != nil {\n\t\t\tif ne, ok := err.(interface {\n\t\t\t\tTemporary() bool\n\t\t\t}); ok && ne.Temporary() {\n\t\t\t\tif tempDelay == 0 {\n\t\t\t\t\ttempDelay = 5 * time.Millisecond\n\t\t\t\t} else {\n\t\t\t\t\ttempDelay *= 2\n\t\t\t\t}\n\t\t\t\tif max := 1 * time.Second; tempDelay > max {\n\t\t\t\t\ttempDelay = max\n\t\t\t\t}\n\t\t\t\ts.mu.Lock()\n\t\t\t\ts.printf(\"Accept error: %v; retrying in %v\", err, tempDelay)\n\t\t\t\ts.mu.Unlock()\n\t\t\t\ttimer := time.NewTimer(tempDelay)\n\t\t\t\tselect {\n\t\t\t\tcase <-timer.C:\n\t\t\t\tcase <-s.quit:\n\t\t\t\t\ttimer.Stop()\n\t\t\t\t\treturn nil\n\t\t\t\t}\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\ts.mu.Lock()\n\t\t\ts.printf(\"done serving; Accept = %v\", err)\n\t\t\ts.mu.Unlock()\n\n\t\t\tselect {\n\t\t\tcase <-s.quit:\n\t\t\t\treturn nil\n\t\t\tdefault:\n\t\t\t}\n\t\t\treturn err\n\t\t}\n\t\ttempDelay = 0\n\t\t// Start a new goroutine to deal with rawConn so we don't stall this Accept\n\t\t// loop goroutine.\n\t\t//\n\t\t// Make sure we account for the goroutine so GracefulStop doesn't nil out\n\t\t// s.conns before this conn can be added.\n\t\ts.serveWG.Add(1)\n\t\tgo func() {\n\t\t\ts.handleRawConn(rawConn)\n\t\t\ts.serveWG.Done()\n\t\t}()\n\t}\n}\n\n// handleRawConn forks a goroutine to handle a just-accepted connection that\n// has not had any I/O performed on it yet.\nfunc (s *Server) handleRawConn(rawConn net.Conn) {\n\trawConn.SetDeadline(time.Now().Add(s.opts.connectionTimeout))\n\tconn, authInfo, err := s.useTransportAuthenticator(rawConn)\n\tif err != nil {\n\t\ts.mu.Lock()\n\t\ts.errorf(\"ServerHandshake(%q) failed: %v\", rawConn.RemoteAddr(), err)\n\t\ts.mu.Unlock()\n\t\tgrpclog.Warningf(\"grpc: Server.Serve failed to complete security handshake from %q: %v\", rawConn.RemoteAddr(), err)\n\t\t// If serverHandshake returns ErrConnDispatched, keep rawConn open.\n\t\tif err != credentials.ErrConnDispatched {\n\t\t\trawConn.Close()\n\t\t}\n\t\trawConn.SetDeadline(time.Time{})\n\t\treturn\n\t}\n\n\ts.mu.Lock()\n\tif s.conns == nil {\n\t\ts.mu.Unlock()\n\t\tconn.Close()\n\t\treturn\n\t}\n\ts.mu.Unlock()\n\n\tvar serve func()\n\tc := conn.(io.Closer)\n\tif s.opts.useHandlerImpl {\n\t\tserve = func() { s.serveUsingHandler(conn) }\n\t} else {\n\t\t// Finish handshaking (HTTP2)\n\t\tst := s.newHTTP2Transport(conn, authInfo)\n\t\tif st == nil {\n\t\t\treturn\n\t\t}\n\t\tc = st\n\t\tserve = func() { s.serveStreams(st) }\n\t}\n\n\trawConn.SetDeadline(time.Time{})\n\tif !s.addConn(c) {\n\t\treturn\n\t}\n\tgo func() {\n\t\tserve()\n\t\ts.removeConn(c)\n\t}()\n}\n\n// newHTTP2Transport sets up a http/2 transport (using the\n// gRPC http2 server transport in transport/http2_server.go).\nfunc (s *Server) newHTTP2Transport(c net.Conn, authInfo credentials.AuthInfo) transport.ServerTransport {\n\tconfig := &transport.ServerConfig{\n\t\tMaxStreams:            s.opts.maxConcurrentStreams,\n\t\tAuthInfo:              authInfo,\n\t\tInTapHandle:           s.opts.inTapHandle,\n\t\tStatsHandler:          s.opts.statsHandler,\n\t\tKeepaliveParams:       s.opts.keepaliveParams,\n\t\tKeepalivePolicy:       s.opts.keepalivePolicy,\n\t\tInitialWindowSize:     s.opts.initialWindowSize,\n\t\tInitialConnWindowSize: s.opts.initialConnWindowSize,\n\t\tWriteBufferSize:       s.opts.writeBufferSize,\n\t\tReadBufferSize:        s.opts.readBufferSize,\n\t\tChannelzParentID:      s.channelzID,\n\t\tMaxHeaderListSize:     s.opts.maxHeaderListSize,\n\t}\n\tst, err := transport.NewServerTransport(\"http2\", c, config)\n\tif err != nil {\n\t\ts.mu.Lock()\n\t\ts.errorf(\"NewServerTransport(%q) failed: %v\", c.RemoteAddr(), err)\n\t\ts.mu.Unlock()\n\t\tc.Close()\n\t\tgrpclog.Warningln(\"grpc: Server.Serve failed to create ServerTransport: \", err)\n\t\treturn nil\n\t}\n\n\treturn st\n}\n\nfunc (s *Server) serveStreams(st transport.ServerTransport) {\n\tdefer st.Close()\n\tvar wg sync.WaitGroup\n\tst.HandleStreams(func(stream *transport.Stream) {\n\t\twg.Add(1)\n\t\tgo func() {\n\t\t\tdefer wg.Done()\n\t\t\ts.handleStream(st, stream, s.traceInfo(st, stream))\n\t\t}()\n\t}, func(ctx context.Context, method string) context.Context {\n\t\tif !EnableTracing {\n\t\t\treturn ctx\n\t\t}\n\t\ttr := trace.New(\"grpc.Recv.\"+methodFamily(method), method)\n\t\treturn trace.NewContext(ctx, tr)\n\t})\n\twg.Wait()\n}\n\nvar _ http.Handler = (*Server)(nil)\n\n// serveUsingHandler is called from handleRawConn when s is configured\n// to handle requests via the http.Handler interface. It sets up a\n// net/http.Server to handle the just-accepted conn. The http.Server\n// is configured to route all incoming requests (all HTTP/2 streams)\n// to ServeHTTP, which creates a new ServerTransport for each stream.\n// serveUsingHandler blocks until conn closes.\n//\n// This codepath is only used when Server.TestingUseHandlerImpl has\n// been configured. This lets the end2end tests exercise the ServeHTTP\n// method as one of the environment types.\n//\n// conn is the *tls.Conn that's already been authenticated.\nfunc (s *Server) serveUsingHandler(conn net.Conn) {\n\th2s := &http2.Server{\n\t\tMaxConcurrentStreams: s.opts.maxConcurrentStreams,\n\t}\n\th2s.ServeConn(conn, &http2.ServeConnOpts{\n\t\tHandler: s,\n\t})\n}\n\n// ServeHTTP implements the Go standard library's http.Handler\n// interface by responding to the gRPC request r, by looking up\n// the requested gRPC method in the gRPC server s.\n//\n// The provided HTTP request must have arrived on an HTTP/2\n// connection. When using the Go standard library's server,\n// practically this means that the Request must also have arrived\n// over TLS.\n//\n// To share one port (such as 443 for https) between gRPC and an\n// existing http.Handler, use a root http.Handler such as:\n//\n//   if r.ProtoMajor == 2 && strings.HasPrefix(\n//   \tr.Header.Get(\"Content-Type\"), \"application/grpc\") {\n//   \tgrpcServer.ServeHTTP(w, r)\n//   } else {\n//   \tyourMux.ServeHTTP(w, r)\n//   }\n//\n// Note that ServeHTTP uses Go's HTTP/2 server implementation which is totally\n// separate from grpc-go's HTTP/2 server. Performance and features may vary\n// between the two paths. ServeHTTP does not support some gRPC features\n// available through grpc-go's HTTP/2 server, and it is currently EXPERIMENTAL\n// and subject to change.\nfunc (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {\n\tst, err := transport.NewServerHandlerTransport(w, r, s.opts.statsHandler)\n\tif err != nil {\n\t\thttp.Error(w, err.Error(), http.StatusInternalServerError)\n\t\treturn\n\t}\n\tif !s.addConn(st) {\n\t\treturn\n\t}\n\tdefer s.removeConn(st)\n\ts.serveStreams(st)\n}\n\n// traceInfo returns a traceInfo and associates it with stream, if tracing is enabled.\n// If tracing is not enabled, it returns nil.\nfunc (s *Server) traceInfo(st transport.ServerTransport, stream *transport.Stream) (trInfo *traceInfo) {\n\ttr, ok := trace.FromContext(stream.Context())\n\tif !ok {\n\t\treturn nil\n\t}\n\n\ttrInfo = &traceInfo{\n\t\ttr: tr,\n\t}\n\ttrInfo.firstLine.client = false\n\ttrInfo.firstLine.remoteAddr = st.RemoteAddr()\n\n\tif dl, ok := stream.Context().Deadline(); ok {\n\t\ttrInfo.firstLine.deadline = dl.Sub(time.Now())\n\t}\n\treturn trInfo\n}\n\nfunc (s *Server) addConn(c io.Closer) bool {\n\ts.mu.Lock()\n\tdefer s.mu.Unlock()\n\tif s.conns == nil {\n\t\tc.Close()\n\t\treturn false\n\t}\n\tif s.drain {\n\t\t// Transport added after we drained our existing conns: drain it\n\t\t// immediately.\n\t\tc.(transport.ServerTransport).Drain()\n\t}\n\ts.conns[c] = true\n\treturn true\n}\n\nfunc (s *Server) removeConn(c io.Closer) {\n\ts.mu.Lock()\n\tdefer s.mu.Unlock()\n\tif s.conns != nil {\n\t\tdelete(s.conns, c)\n\t\ts.cv.Broadcast()\n\t}\n}\n\n// ChannelzMetric returns ServerInternalMetric of current server.\n// This is an EXPERIMENTAL API.\nfunc (s *Server) ChannelzMetric() *channelz.ServerInternalMetric {\n\ts.czmu.RLock()\n\tdefer s.czmu.RUnlock()\n\treturn &channelz.ServerInternalMetric{\n\t\tCallsStarted:             s.callsStarted,\n\t\tCallsSucceeded:           s.callsSucceeded,\n\t\tCallsFailed:              s.callsFailed,\n\t\tLastCallStartedTimestamp: s.lastCallStartedTime,\n\t}\n}\n\nfunc (s *Server) incrCallsStarted() {\n\ts.czmu.Lock()\n\ts.callsStarted++\n\ts.lastCallStartedTime = time.Now()\n\ts.czmu.Unlock()\n}\n\nfunc (s *Server) incrCallsSucceeded() {\n\ts.czmu.Lock()\n\ts.callsSucceeded++\n\ts.czmu.Unlock()\n}\n\nfunc (s *Server) incrCallsFailed() {\n\ts.czmu.Lock()\n\ts.callsFailed++\n\ts.czmu.Unlock()\n}\n\nfunc (s *Server) sendResponse(t transport.ServerTransport, stream *transport.Stream, msg interface{}, cp Compressor, opts *transport.Options, comp encoding.Compressor) error {\n\tdata, err := encode(s.getCodec(stream.ContentSubtype()), msg)\n\tif err != nil {\n\t\tgrpclog.Errorln(\"grpc: server failed to encode response: \", err)\n\t\treturn err\n\t}\n\tcompData, err := compress(data, cp, comp)\n\tif err != nil {\n\t\tgrpclog.Errorln(\"grpc: server failed to compress response: \", err)\n\t\treturn err\n\t}\n\thdr, payload := msgHeader(data, compData)\n\t// TODO(dfawley): should we be checking len(data) instead?\n\tif len(payload) > s.opts.maxSendMessageSize {\n\t\treturn status.Errorf(codes.ResourceExhausted, \"grpc: trying to send message larger than max (%d vs. %d)\", len(payload), s.opts.maxSendMessageSize)\n\t}\n\terr = t.Write(stream, hdr, payload, opts)\n\tif err == nil && s.opts.statsHandler != nil {\n\t\ts.opts.statsHandler.HandleRPC(stream.Context(), outPayload(false, msg, data, payload, time.Now()))\n\t}\n\treturn err\n}\n\nfunc (s *Server) processUnaryRPC(t transport.ServerTransport, stream *transport.Stream, srv *service, md *MethodDesc, trInfo *traceInfo) (err error) {\n\tif channelz.IsOn() {\n\t\ts.incrCallsStarted()\n\t\tdefer func() {\n\t\t\tif err != nil && err != io.EOF {\n\t\t\t\ts.incrCallsFailed()\n\t\t\t} else {\n\t\t\t\ts.incrCallsSucceeded()\n\t\t\t}\n\t\t}()\n\t}\n\tsh := s.opts.statsHandler\n\tif sh != nil {\n\t\tbeginTime := time.Now()\n\t\tbegin := &stats.Begin{\n\t\t\tBeginTime: beginTime,\n\t\t}\n\t\tsh.HandleRPC(stream.Context(), begin)\n\t\tdefer func() {\n\t\t\tend := &stats.End{\n\t\t\t\tBeginTime: beginTime,\n\t\t\t\tEndTime:   time.Now(),\n\t\t\t}\n\t\t\tif err != nil && err != io.EOF {\n\t\t\t\tend.Error = toRPCErr(err)\n\t\t\t}\n\t\t\tsh.HandleRPC(stream.Context(), end)\n\t\t}()\n\t}\n\tif trInfo != nil {\n\t\tdefer trInfo.tr.Finish()\n\t\ttrInfo.firstLine.client = false\n\t\ttrInfo.tr.LazyLog(&trInfo.firstLine, false)\n\t\tdefer func() {\n\t\t\tif err != nil && err != io.EOF {\n\t\t\t\ttrInfo.tr.LazyLog(&fmtStringer{\"%v\", []interface{}{err}}, true)\n\t\t\t\ttrInfo.tr.SetError()\n\t\t\t}\n\t\t}()\n\t}\n\n\t// comp and cp are used for compression.  decomp and dc are used for\n\t// decompression.  If comp and decomp are both set, they are the same;\n\t// however they are kept separate to ensure that at most one of the\n\t// compressor/decompressor variable pairs are set for use later.\n\tvar comp, decomp encoding.Compressor\n\tvar cp Compressor\n\tvar dc Decompressor\n\n\t// If dc is set and matches the stream's compression, use it.  Otherwise, try\n\t// to find a matching registered compressor for decomp.\n\tif rc := stream.RecvCompress(); s.opts.dc != nil && s.opts.dc.Type() == rc {\n\t\tdc = s.opts.dc\n\t} else if rc != \"\" && rc != encoding.Identity {\n\t\tdecomp = encoding.GetCompressor(rc)\n\t\tif decomp == nil {\n\t\t\tst := status.Newf(codes.Unimplemented, \"grpc: Decompressor is not installed for grpc-encoding %q\", rc)\n\t\t\tt.WriteStatus(stream, st)\n\t\t\treturn st.Err()\n\t\t}\n\t}\n\n\t// If cp is set, use it.  Otherwise, attempt to compress the response using\n\t// the incoming message compression method.\n\t//\n\t// NOTE: this needs to be ahead of all handling, https://github.com/grpc/grpc-go/issues/686.\n\tif s.opts.cp != nil {\n\t\tcp = s.opts.cp\n\t\tstream.SetSendCompress(cp.Type())\n\t} else if rc := stream.RecvCompress(); rc != \"\" && rc != encoding.Identity {\n\t\t// Legacy compressor not specified; attempt to respond with same encoding.\n\t\tcomp = encoding.GetCompressor(rc)\n\t\tif comp != nil {\n\t\t\tstream.SetSendCompress(rc)\n\t\t}\n\t}\n\n\tp := &parser{r: stream}\n\tpf, req, err := p.recvMsg(s.opts.maxReceiveMessageSize)\n\tif err == io.EOF {\n\t\t// The entire stream is done (for unary RPC only).\n\t\treturn err\n\t}\n\tif err == io.ErrUnexpectedEOF {\n\t\terr = status.Errorf(codes.Internal, io.ErrUnexpectedEOF.Error())\n\t}\n\tif err != nil {\n\t\tif st, ok := status.FromError(err); ok {\n\t\t\tif e := t.WriteStatus(stream, st); e != nil {\n\t\t\t\tgrpclog.Warningf(\"grpc: Server.processUnaryRPC failed to write status %v\", e)\n\t\t\t}\n\t\t} else {\n\t\t\tswitch st := err.(type) {\n\t\t\tcase transport.ConnectionError:\n\t\t\t\t// Nothing to do here.\n\t\t\tdefault:\n\t\t\t\tpanic(fmt.Sprintf(\"grpc: Unexpected error (%T) from recvMsg: %v\", st, st))\n\t\t\t}\n\t\t}\n\t\treturn err\n\t}\n\tif channelz.IsOn() {\n\t\tt.IncrMsgRecv()\n\t}\n\tif st := checkRecvPayload(pf, stream.RecvCompress(), dc != nil || decomp != nil); st != nil {\n\t\tif e := t.WriteStatus(stream, st); e != nil {\n\t\t\tgrpclog.Warningf(\"grpc: Server.processUnaryRPC failed to write status %v\", e)\n\t\t}\n\t\treturn st.Err()\n\t}\n\tvar inPayload *stats.InPayload\n\tif sh != nil {\n\t\tinPayload = &stats.InPayload{\n\t\t\tRecvTime: time.Now(),\n\t\t}\n\t}\n\tdf := func(v interface{}) error {\n\t\tif inPayload != nil {\n\t\t\tinPayload.WireLength = len(req)\n\t\t}\n\t\tif pf == compressionMade {\n\t\t\tvar err error\n\t\t\tif dc != nil {\n\t\t\t\treq, err = dc.Do(bytes.NewReader(req))\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn status.Errorf(codes.Internal, err.Error())\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttmp, _ := decomp.Decompress(bytes.NewReader(req))\n\t\t\t\treq, err = ioutil.ReadAll(tmp)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn status.Errorf(codes.Internal, \"grpc: failed to decompress the received message %v\", err)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif len(req) > s.opts.maxReceiveMessageSize {\n\t\t\t// TODO: Revisit the error code. Currently keep it consistent with\n\t\t\t// java implementation.\n\t\t\treturn status.Errorf(codes.ResourceExhausted, \"grpc: received message larger than max (%d vs. %d)\", len(req), s.opts.maxReceiveMessageSize)\n\t\t}\n\t\tif err := s.getCodec(stream.ContentSubtype()).Unmarshal(req, v); err != nil {\n\t\t\treturn status.Errorf(codes.Internal, \"grpc: error unmarshalling request: %v\", err)\n\t\t}\n\t\tif inPayload != nil {\n\t\t\tinPayload.Payload = v\n\t\t\tinPayload.Data = req\n\t\t\tinPayload.Length = len(req)\n\t\t\tsh.HandleRPC(stream.Context(), inPayload)\n\t\t}\n\t\tif trInfo != nil {\n\t\t\ttrInfo.tr.LazyLog(&payload{sent: false, msg: v}, true)\n\t\t}\n\t\treturn nil\n\t}\n\tctx := NewContextWithServerTransportStream(stream.Context(), stream)\n\treply, appErr := md.Handler(srv.server, ctx, df, s.opts.unaryInt)\n\tif appErr != nil {\n\t\tappStatus, ok := status.FromError(appErr)\n\t\tif !ok {\n\t\t\t// Convert appErr if it is not a grpc status error.\n\t\t\tappErr = status.Error(codes.Unknown, appErr.Error())\n\t\t\tappStatus, _ = status.FromError(appErr)\n\t\t}\n\t\tif trInfo != nil {\n\t\t\ttrInfo.tr.LazyLog(stringer(appStatus.Message()), true)\n\t\t\ttrInfo.tr.SetError()\n\t\t}\n\t\tif e := t.WriteStatus(stream, appStatus); e != nil {\n\t\t\tgrpclog.Warningf(\"grpc: Server.processUnaryRPC failed to write status: %v\", e)\n\t\t}\n\t\treturn appErr\n\t}\n\tif trInfo != nil {\n\t\ttrInfo.tr.LazyLog(stringer(\"OK\"), false)\n\t}\n\topts := &transport.Options{Last: true}\n\n\tif err := s.sendResponse(t, stream, reply, cp, opts, comp); err != nil {\n\t\tif err == io.EOF {\n\t\t\t// The entire stream is done (for unary RPC only).\n\t\t\treturn err\n\t\t}\n\t\tif s, ok := status.FromError(err); ok {\n\t\t\tif e := t.WriteStatus(stream, s); e != nil {\n\t\t\t\tgrpclog.Warningf(\"grpc: Server.processUnaryRPC failed to write status: %v\", e)\n\t\t\t}\n\t\t} else {\n\t\t\tswitch st := err.(type) {\n\t\t\tcase transport.ConnectionError:\n\t\t\t\t// Nothing to do here.\n\t\t\tdefault:\n\t\t\t\tpanic(fmt.Sprintf(\"grpc: Unexpected error (%T) from sendResponse: %v\", st, st))\n\t\t\t}\n\t\t}\n\t\treturn err\n\t}\n\tif channelz.IsOn() {\n\t\tt.IncrMsgSent()\n\t}\n\tif trInfo != nil {\n\t\ttrInfo.tr.LazyLog(&payload{sent: true, msg: reply}, true)\n\t}\n\t// TODO: Should we be logging if writing status failed here, like above?\n\t// Should the logging be in WriteStatus?  Should we ignore the WriteStatus\n\t// error or allow the stats handler to see it?\n\treturn t.WriteStatus(stream, status.New(codes.OK, \"\"))\n}\n\nfunc (s *Server) processStreamingRPC(t transport.ServerTransport, stream *transport.Stream, srv *service, sd *StreamDesc, trInfo *traceInfo) (err error) {\n\tif channelz.IsOn() {\n\t\ts.incrCallsStarted()\n\t\tdefer func() {\n\t\t\tif err != nil && err != io.EOF {\n\t\t\t\ts.incrCallsFailed()\n\t\t\t} else {\n\t\t\t\ts.incrCallsSucceeded()\n\t\t\t}\n\t\t}()\n\t}\n\tsh := s.opts.statsHandler\n\tif sh != nil {\n\t\tbeginTime := time.Now()\n\t\tbegin := &stats.Begin{\n\t\t\tBeginTime: beginTime,\n\t\t}\n\t\tsh.HandleRPC(stream.Context(), begin)\n\t\tdefer func() {\n\t\t\tend := &stats.End{\n\t\t\t\tBeginTime: beginTime,\n\t\t\t\tEndTime:   time.Now(),\n\t\t\t}\n\t\t\tif err != nil && err != io.EOF {\n\t\t\t\tend.Error = toRPCErr(err)\n\t\t\t}\n\t\t\tsh.HandleRPC(stream.Context(), end)\n\t\t}()\n\t}\n\tctx := NewContextWithServerTransportStream(stream.Context(), stream)\n\tss := &serverStream{\n\t\tctx:   ctx,\n\t\tt:     t,\n\t\ts:     stream,\n\t\tp:     &parser{r: stream},\n\t\tcodec: s.getCodec(stream.ContentSubtype()),\n\t\tmaxReceiveMessageSize: s.opts.maxReceiveMessageSize,\n\t\tmaxSendMessageSize:    s.opts.maxSendMessageSize,\n\t\ttrInfo:                trInfo,\n\t\tstatsHandler:          sh,\n\t}\n\n\t// If dc is set and matches the stream's compression, use it.  Otherwise, try\n\t// to find a matching registered compressor for decomp.\n\tif rc := stream.RecvCompress(); s.opts.dc != nil && s.opts.dc.Type() == rc {\n\t\tss.dc = s.opts.dc\n\t} else if rc != \"\" && rc != encoding.Identity {\n\t\tss.decomp = encoding.GetCompressor(rc)\n\t\tif ss.decomp == nil {\n\t\t\tst := status.Newf(codes.Unimplemented, \"grpc: Decompressor is not installed for grpc-encoding %q\", rc)\n\t\t\tt.WriteStatus(ss.s, st)\n\t\t\treturn st.Err()\n\t\t}\n\t}\n\n\t// If cp is set, use it.  Otherwise, attempt to compress the response using\n\t// the incoming message compression method.\n\t//\n\t// NOTE: this needs to be ahead of all handling, https://github.com/grpc/grpc-go/issues/686.\n\tif s.opts.cp != nil {\n\t\tss.cp = s.opts.cp\n\t\tstream.SetSendCompress(s.opts.cp.Type())\n\t} else if rc := stream.RecvCompress(); rc != \"\" && rc != encoding.Identity {\n\t\t// Legacy compressor not specified; attempt to respond with same encoding.\n\t\tss.comp = encoding.GetCompressor(rc)\n\t\tif ss.comp != nil {\n\t\t\tstream.SetSendCompress(rc)\n\t\t}\n\t}\n\n\tif trInfo != nil {\n\t\ttrInfo.tr.LazyLog(&trInfo.firstLine, false)\n\t\tdefer func() {\n\t\t\tss.mu.Lock()\n\t\t\tif err != nil && err != io.EOF {\n\t\t\t\tss.trInfo.tr.LazyLog(&fmtStringer{\"%v\", []interface{}{err}}, true)\n\t\t\t\tss.trInfo.tr.SetError()\n\t\t\t}\n\t\t\tss.trInfo.tr.Finish()\n\t\t\tss.trInfo.tr = nil\n\t\t\tss.mu.Unlock()\n\t\t}()\n\t}\n\tvar appErr error\n\tvar server interface{}\n\tif srv != nil {\n\t\tserver = srv.server\n\t}\n\tif s.opts.streamInt == nil {\n\t\tappErr = sd.Handler(server, ss)\n\t} else {\n\t\tinfo := &StreamServerInfo{\n\t\t\tFullMethod:     stream.Method(),\n\t\t\tIsClientStream: sd.ClientStreams,\n\t\t\tIsServerStream: sd.ServerStreams,\n\t\t}\n\t\tappErr = s.opts.streamInt(server, ss, info, sd.Handler)\n\t}\n\tif appErr != nil {\n\t\tappStatus, ok := status.FromError(appErr)\n\t\tif !ok {\n\t\t\tappStatus = status.New(codes.Unknown, appErr.Error())\n\t\t\tappErr = appStatus.Err()\n\t\t}\n\t\tif trInfo != nil {\n\t\t\tss.mu.Lock()\n\t\t\tss.trInfo.tr.LazyLog(stringer(appStatus.Message()), true)\n\t\t\tss.trInfo.tr.SetError()\n\t\t\tss.mu.Unlock()\n\t\t}\n\t\tt.WriteStatus(ss.s, appStatus)\n\t\t// TODO: Should we log an error from WriteStatus here and below?\n\t\treturn appErr\n\t}\n\tif trInfo != nil {\n\t\tss.mu.Lock()\n\t\tss.trInfo.tr.LazyLog(stringer(\"OK\"), false)\n\t\tss.mu.Unlock()\n\t}\n\treturn t.WriteStatus(ss.s, status.New(codes.OK, \"\"))\n}\n\nfunc (s *Server) handleStream(t transport.ServerTransport, stream *transport.Stream, trInfo *traceInfo) {\n\tsm := stream.Method()\n\tif sm != \"\" && sm[0] == '/' {\n\t\tsm = sm[1:]\n\t}\n\tpos := strings.LastIndex(sm, \"/\")\n\tif pos == -1 {\n\t\tif trInfo != nil {\n\t\t\ttrInfo.tr.LazyLog(&fmtStringer{\"Malformed method name %q\", []interface{}{sm}}, true)\n\t\t\ttrInfo.tr.SetError()\n\t\t}\n\t\terrDesc := fmt.Sprintf(\"malformed method name: %q\", stream.Method())\n\t\tif err := t.WriteStatus(stream, status.New(codes.ResourceExhausted, errDesc)); err != nil {\n\t\t\tif trInfo != nil {\n\t\t\t\ttrInfo.tr.LazyLog(&fmtStringer{\"%v\", []interface{}{err}}, true)\n\t\t\t\ttrInfo.tr.SetError()\n\t\t\t}\n\t\t\tgrpclog.Warningf(\"grpc: Server.handleStream failed to write status: %v\", err)\n\t\t}\n\t\tif trInfo != nil {\n\t\t\ttrInfo.tr.Finish()\n\t\t}\n\t\treturn\n\t}\n\tservice := sm[:pos]\n\tmethod := sm[pos+1:]\n\tsrv, ok := s.m[service]\n\tif !ok {\n\t\tif unknownDesc := s.opts.unknownStreamDesc; unknownDesc != nil {\n\t\t\ts.processStreamingRPC(t, stream, nil, unknownDesc, trInfo)\n\t\t\treturn\n\t\t}\n\t\tif trInfo != nil {\n\t\t\ttrInfo.tr.LazyLog(&fmtStringer{\"Unknown service %v\", []interface{}{service}}, true)\n\t\t\ttrInfo.tr.SetError()\n\t\t}\n\t\terrDesc := fmt.Sprintf(\"unknown service %v\", service)\n\t\tif err := t.WriteStatus(stream, status.New(codes.Unimplemented, errDesc)); err != nil {\n\t\t\tif trInfo != nil {\n\t\t\t\ttrInfo.tr.LazyLog(&fmtStringer{\"%v\", []interface{}{err}}, true)\n\t\t\t\ttrInfo.tr.SetError()\n\t\t\t}\n\t\t\tgrpclog.Warningf(\"grpc: Server.handleStream failed to write status: %v\", err)\n\t\t}\n\t\tif trInfo != nil {\n\t\t\ttrInfo.tr.Finish()\n\t\t}\n\t\treturn\n\t}\n\t// Unary RPC or Streaming RPC?\n\tif md, ok := srv.md[method]; ok {\n\t\ts.processUnaryRPC(t, stream, srv, md, trInfo)\n\t\treturn\n\t}\n\tif sd, ok := srv.sd[method]; ok {\n\t\ts.processStreamingRPC(t, stream, srv, sd, trInfo)\n\t\treturn\n\t}\n\tif trInfo != nil {\n\t\ttrInfo.tr.LazyLog(&fmtStringer{\"Unknown method %v\", []interface{}{method}}, true)\n\t\ttrInfo.tr.SetError()\n\t}\n\tif unknownDesc := s.opts.unknownStreamDesc; unknownDesc != nil {\n\t\ts.processStreamingRPC(t, stream, nil, unknownDesc, trInfo)\n\t\treturn\n\t}\n\terrDesc := fmt.Sprintf(\"unknown method %v\", method)\n\tif err := t.WriteStatus(stream, status.New(codes.Unimplemented, errDesc)); err != nil {\n\t\tif trInfo != nil {\n\t\t\ttrInfo.tr.LazyLog(&fmtStringer{\"%v\", []interface{}{err}}, true)\n\t\t\ttrInfo.tr.SetError()\n\t\t}\n\t\tgrpclog.Warningf(\"grpc: Server.handleStream failed to write status: %v\", err)\n\t}\n\tif trInfo != nil {\n\t\ttrInfo.tr.Finish()\n\t}\n}\n\n// The key to save ServerTransportStream in the context.\ntype streamKey struct{}\n\n// NewContextWithServerTransportStream creates a new context from ctx and\n// attaches stream to it.\n//\n// This API is EXPERIMENTAL.\nfunc NewContextWithServerTransportStream(ctx context.Context, stream ServerTransportStream) context.Context {\n\treturn context.WithValue(ctx, streamKey{}, stream)\n}\n\n// ServerTransportStream is a minimal interface that a transport stream must\n// implement. This can be used to mock an actual transport stream for tests of\n// handler code that use, for example, grpc.SetHeader (which requires some\n// stream to be in context).\n//\n// See also NewContextWithServerTransportStream.\n//\n// This API is EXPERIMENTAL.\ntype ServerTransportStream interface {\n\tMethod() string\n\tSetHeader(md metadata.MD) error\n\tSendHeader(md metadata.MD) error\n\tSetTrailer(md metadata.MD) error\n}\n\n// ServerTransportStreamFromContext returns the ServerTransportStream saved in\n// ctx. Returns nil if the given context has no stream associated with it\n// (which implies it is not an RPC invocation context).\n//\n// This API is EXPERIMENTAL.\nfunc ServerTransportStreamFromContext(ctx context.Context) ServerTransportStream {\n\ts, _ := ctx.Value(streamKey{}).(ServerTransportStream)\n\treturn s\n}\n\n// Stop stops the gRPC server. It immediately closes all open\n// connections and listeners.\n// It cancels all active RPCs on the server side and the corresponding\n// pending RPCs on the client side will get notified by connection\n// errors.\nfunc (s *Server) Stop() {\n\ts.quitOnce.Do(func() {\n\t\tclose(s.quit)\n\t})\n\n\tdefer func() {\n\t\ts.serveWG.Wait()\n\t\ts.doneOnce.Do(func() {\n\t\t\tclose(s.done)\n\t\t})\n\t}()\n\n\ts.channelzRemoveOnce.Do(func() {\n\t\tif channelz.IsOn() {\n\t\t\tchannelz.RemoveEntry(s.channelzID)\n\t\t}\n\t})\n\n\ts.mu.Lock()\n\tlisteners := s.lis\n\ts.lis = nil\n\tst := s.conns\n\ts.conns = nil\n\t// interrupt GracefulStop if Stop and GracefulStop are called concurrently.\n\ts.cv.Broadcast()\n\ts.mu.Unlock()\n\n\tfor lis := range listeners {\n\t\tlis.Close()\n\t}\n\tfor c := range st {\n\t\tc.Close()\n\t}\n\n\ts.mu.Lock()\n\tif s.events != nil {\n\t\ts.events.Finish()\n\t\ts.events = nil\n\t}\n\ts.mu.Unlock()\n}\n\n// GracefulStop stops the gRPC server gracefully. It stops the server from\n// accepting new connections and RPCs and blocks until all the pending RPCs are\n// finished.\nfunc (s *Server) GracefulStop() {\n\ts.quitOnce.Do(func() {\n\t\tclose(s.quit)\n\t})\n\n\tdefer func() {\n\t\ts.doneOnce.Do(func() {\n\t\t\tclose(s.done)\n\t\t})\n\t}()\n\n\ts.channelzRemoveOnce.Do(func() {\n\t\tif channelz.IsOn() {\n\t\t\tchannelz.RemoveEntry(s.channelzID)\n\t\t}\n\t})\n\ts.mu.Lock()\n\tif s.conns == nil {\n\t\ts.mu.Unlock()\n\t\treturn\n\t}\n\n\tfor lis := range s.lis {\n\t\tlis.Close()\n\t}\n\ts.lis = nil\n\tif !s.drain {\n\t\tfor c := range s.conns {\n\t\t\tc.(transport.ServerTransport).Drain()\n\t\t}\n\t\ts.drain = true\n\t}\n\n\t// Wait for serving threads to be ready to exit.  Only then can we be sure no\n\t// new conns will be created.\n\ts.mu.Unlock()\n\ts.serveWG.Wait()\n\ts.mu.Lock()\n\n\tfor len(s.conns) != 0 {\n\t\ts.cv.Wait()\n\t}\n\ts.conns = nil\n\tif s.events != nil {\n\t\ts.events.Finish()\n\t\ts.events = nil\n\t}\n\ts.mu.Unlock()\n}\n\nfunc init() {\n\tinternal.TestingUseHandlerImpl = func(arg interface{}) {\n\t\targ.(*Server).opts.useHandlerImpl = true\n\t}\n}\n\n// contentSubtype must be lowercase\n// cannot return nil\nfunc (s *Server) getCodec(contentSubtype string) baseCodec {\n\tif s.opts.codec != nil {\n\t\treturn s.opts.codec\n\t}\n\tif contentSubtype == \"\" {\n\t\treturn encoding.GetCodec(proto.Name)\n\t}\n\tcodec := encoding.GetCodec(contentSubtype)\n\tif codec == nil {\n\t\treturn encoding.GetCodec(proto.Name)\n\t}\n\treturn codec\n}\n\n// SetHeader sets the header metadata.\n// When called multiple times, all the provided metadata will be merged.\n// All the metadata will be sent out when one of the following happens:\n//  - grpc.SendHeader() is called;\n//  - The first response is sent out;\n//  - An RPC status is sent out (error or success).\nfunc SetHeader(ctx context.Context, md metadata.MD) error {\n\tif md.Len() == 0 {\n\t\treturn nil\n\t}\n\tstream := ServerTransportStreamFromContext(ctx)\n\tif stream == nil {\n\t\treturn status.Errorf(codes.Internal, \"grpc: failed to fetch the stream from the context %v\", ctx)\n\t}\n\treturn stream.SetHeader(md)\n}\n\n// SendHeader sends header metadata. It may be called at most once.\n// The provided md and headers set by SetHeader() will be sent.\nfunc SendHeader(ctx context.Context, md metadata.MD) error {\n\tstream := ServerTransportStreamFromContext(ctx)\n\tif stream == nil {\n\t\treturn status.Errorf(codes.Internal, \"grpc: failed to fetch the stream from the context %v\", ctx)\n\t}\n\tif err := stream.SendHeader(md); err != nil {\n\t\treturn toRPCErr(err)\n\t}\n\treturn nil\n}\n\n// SetTrailer sets the trailer metadata that will be sent when an RPC returns.\n// When called more than once, all the provided metadata will be merged.\nfunc SetTrailer(ctx context.Context, md metadata.MD) error {\n\tif md.Len() == 0 {\n\t\treturn nil\n\t}\n\tstream := ServerTransportStreamFromContext(ctx)\n\tif stream == nil {\n\t\treturn status.Errorf(codes.Internal, \"grpc: failed to fetch the stream from the context %v\", ctx)\n\t}\n\treturn stream.SetTrailer(md)\n}\n\n// Method returns the method string for the server context.  The returned\n// string is in the format of \"/service/method\".\nfunc Method(ctx context.Context) (string, bool) {\n\ts := ServerTransportStreamFromContext(ctx)\n\tif s == nil {\n\t\treturn \"\", false\n\t}\n\treturn s.Method(), true\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/service_config.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage grpc\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"strconv\"\n\t\"strings\"\n\t\"time\"\n\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/grpclog\"\n)\n\nconst maxInt = int(^uint(0) >> 1)\n\n// MethodConfig defines the configuration recommended by the service providers for a\n// particular method.\n//\n// Deprecated: Users should not use this struct. Service config should be received\n// through name resolver, as specified here\n// https://github.com/grpc/grpc/blob/master/doc/service_config.md\ntype MethodConfig struct {\n\t// WaitForReady indicates whether RPCs sent to this method should wait until\n\t// the connection is ready by default (!failfast). The value specified via the\n\t// gRPC client API will override the value set here.\n\tWaitForReady *bool\n\t// Timeout is the default timeout for RPCs sent to this method. The actual\n\t// deadline used will be the minimum of the value specified here and the value\n\t// set by the application via the gRPC client API.  If either one is not set,\n\t// then the other will be used.  If neither is set, then the RPC has no deadline.\n\tTimeout *time.Duration\n\t// MaxReqSize is the maximum allowed payload size for an individual request in a\n\t// stream (client->server) in bytes. The size which is measured is the serialized\n\t// payload after per-message compression (but before stream compression) in bytes.\n\t// The actual value used is the minimum of the value specified here and the value set\n\t// by the application via the gRPC client API. If either one is not set, then the other\n\t// will be used.  If neither is set, then the built-in default is used.\n\tMaxReqSize *int\n\t// MaxRespSize is the maximum allowed payload size for an individual response in a\n\t// stream (server->client) in bytes.\n\tMaxRespSize *int\n\t// RetryPolicy configures retry options for the method.\n\tretryPolicy *retryPolicy\n}\n\n// ServiceConfig is provided by the service provider and contains parameters for how\n// clients that connect to the service should behave.\n//\n// Deprecated: Users should not use this struct. Service config should be received\n// through name resolver, as specified here\n// https://github.com/grpc/grpc/blob/master/doc/service_config.md\ntype ServiceConfig struct {\n\t// LB is the load balancer the service providers recommends. The balancer specified\n\t// via grpc.WithBalancer will override this.\n\tLB *string\n\n\t// Methods contains a map for the methods in this service.  If there is an\n\t// exact match for a method (i.e. /service/method) in the map, use the\n\t// corresponding MethodConfig.  If there's no exact match, look for the\n\t// default config for the service (/service/) and use the corresponding\n\t// MethodConfig if it exists.  Otherwise, the method has no MethodConfig to\n\t// use.\n\tMethods map[string]MethodConfig\n\n\t// If a retryThrottlingPolicy is provided, gRPC will automatically throttle\n\t// retry attempts and hedged RPCs when the client’s ratio of failures to\n\t// successes exceeds a threshold.\n\t//\n\t// For each server name, the gRPC client will maintain a token_count which is\n\t// initially set to maxTokens, and can take values between 0 and maxTokens.\n\t//\n\t// Every outgoing RPC (regardless of service or method invoked) will change\n\t// token_count as follows:\n\t//\n\t//   - Every failed RPC will decrement the token_count by 1.\n\t//   - Every successful RPC will increment the token_count by tokenRatio.\n\t//\n\t// If token_count is less than or equal to maxTokens / 2, then RPCs will not\n\t// be retried and hedged RPCs will not be sent.\n\tretryThrottling *retryThrottlingPolicy\n}\n\n// retryPolicy defines the go-native version of the retry policy defined by the\n// service config here:\n// https://github.com/grpc/proposal/blob/master/A6-client-retries.md#integration-with-service-config\ntype retryPolicy struct {\n\t// MaxAttempts is the maximum number of attempts, including the original RPC.\n\t//\n\t// This field is required and must be two or greater.\n\tmaxAttempts int\n\n\t// Exponential backoff parameters. The initial retry attempt will occur at\n\t// random(0, initialBackoffMS). In general, the nth attempt will occur at\n\t// random(0,\n\t//   min(initialBackoffMS*backoffMultiplier**(n-1), maxBackoffMS)).\n\t//\n\t// These fields are required and must be greater than zero.\n\tinitialBackoff    time.Duration\n\tmaxBackoff        time.Duration\n\tbackoffMultiplier float64\n\n\t// The set of status codes which may be retried.\n\t//\n\t// Status codes are specified as strings, e.g., \"UNAVAILABLE\".\n\t//\n\t// This field is required and must be non-empty.\n\t// Note: a set is used to store this for easy lookup.\n\tretryableStatusCodes map[codes.Code]bool\n}\n\ntype jsonRetryPolicy struct {\n\tMaxAttempts          int\n\tInitialBackoff       string\n\tMaxBackoff           string\n\tBackoffMultiplier    float64\n\tRetryableStatusCodes []codes.Code\n}\n\n// retryThrottlingPolicy defines the go-native version of the retry throttling\n// policy defined by the service config here:\n// https://github.com/grpc/proposal/blob/master/A6-client-retries.md#integration-with-service-config\ntype retryThrottlingPolicy struct {\n\t// The number of tokens starts at maxTokens. The token_count will always be\n\t// between 0 and maxTokens.\n\t//\n\t// This field is required and must be greater than zero.\n\tMaxTokens float64\n\t// The amount of tokens to add on each successful RPC. Typically this will\n\t// be some number between 0 and 1, e.g., 0.1.\n\t//\n\t// This field is required and must be greater than zero. Up to 3 decimal\n\t// places are supported.\n\tTokenRatio float64\n}\n\nfunc parseDuration(s *string) (*time.Duration, error) {\n\tif s == nil {\n\t\treturn nil, nil\n\t}\n\tif !strings.HasSuffix(*s, \"s\") {\n\t\treturn nil, fmt.Errorf(\"malformed duration %q\", *s)\n\t}\n\tss := strings.SplitN((*s)[:len(*s)-1], \".\", 3)\n\tif len(ss) > 2 {\n\t\treturn nil, fmt.Errorf(\"malformed duration %q\", *s)\n\t}\n\t// hasDigits is set if either the whole or fractional part of the number is\n\t// present, since both are optional but one is required.\n\thasDigits := false\n\tvar d time.Duration\n\tif len(ss[0]) > 0 {\n\t\ti, err := strconv.ParseInt(ss[0], 10, 32)\n\t\tif err != nil {\n\t\t\treturn nil, fmt.Errorf(\"malformed duration %q: %v\", *s, err)\n\t\t}\n\t\td = time.Duration(i) * time.Second\n\t\thasDigits = true\n\t}\n\tif len(ss) == 2 && len(ss[1]) > 0 {\n\t\tif len(ss[1]) > 9 {\n\t\t\treturn nil, fmt.Errorf(\"malformed duration %q\", *s)\n\t\t}\n\t\tf, err := strconv.ParseInt(ss[1], 10, 64)\n\t\tif err != nil {\n\t\t\treturn nil, fmt.Errorf(\"malformed duration %q: %v\", *s, err)\n\t\t}\n\t\tfor i := 9; i > len(ss[1]); i-- {\n\t\t\tf *= 10\n\t\t}\n\t\td += time.Duration(f)\n\t\thasDigits = true\n\t}\n\tif !hasDigits {\n\t\treturn nil, fmt.Errorf(\"malformed duration %q\", *s)\n\t}\n\n\treturn &d, nil\n}\n\ntype jsonName struct {\n\tService *string\n\tMethod  *string\n}\n\nfunc (j jsonName) generatePath() (string, bool) {\n\tif j.Service == nil {\n\t\treturn \"\", false\n\t}\n\tres := \"/\" + *j.Service + \"/\"\n\tif j.Method != nil {\n\t\tres += *j.Method\n\t}\n\treturn res, true\n}\n\n// TODO(lyuxuan): delete this struct after cleaning up old service config implementation.\ntype jsonMC struct {\n\tName                    *[]jsonName\n\tWaitForReady            *bool\n\tTimeout                 *string\n\tMaxRequestMessageBytes  *int64\n\tMaxResponseMessageBytes *int64\n\tRetryPolicy             *jsonRetryPolicy\n}\n\n// TODO(lyuxuan): delete this struct after cleaning up old service config implementation.\ntype jsonSC struct {\n\tLoadBalancingPolicy *string\n\tMethodConfig        *[]jsonMC\n\tRetryThrottling     *retryThrottlingPolicy\n}\n\nfunc parseServiceConfig(js string) (ServiceConfig, error) {\n\tvar rsc jsonSC\n\terr := json.Unmarshal([]byte(js), &rsc)\n\tif err != nil {\n\t\tgrpclog.Warningf(\"grpc: parseServiceConfig error unmarshaling %s due to %v\", js, err)\n\t\treturn ServiceConfig{}, err\n\t}\n\tsc := ServiceConfig{\n\t\tLB:              rsc.LoadBalancingPolicy,\n\t\tMethods:         make(map[string]MethodConfig),\n\t\tretryThrottling: rsc.RetryThrottling,\n\t}\n\tif rsc.MethodConfig == nil {\n\t\treturn sc, nil\n\t}\n\n\tfor _, m := range *rsc.MethodConfig {\n\t\tif m.Name == nil {\n\t\t\tcontinue\n\t\t}\n\t\td, err := parseDuration(m.Timeout)\n\t\tif err != nil {\n\t\t\tgrpclog.Warningf(\"grpc: parseServiceConfig error unmarshaling %s due to %v\", js, err)\n\t\t\treturn ServiceConfig{}, err\n\t\t}\n\n\t\tmc := MethodConfig{\n\t\t\tWaitForReady: m.WaitForReady,\n\t\t\tTimeout:      d,\n\t\t}\n\t\tif mc.retryPolicy, err = convertRetryPolicy(m.RetryPolicy); err != nil {\n\t\t\tgrpclog.Warningf(\"grpc: parseServiceConfig error unmarshaling %s due to %v\", js, err)\n\t\t\treturn ServiceConfig{}, err\n\t\t}\n\t\tif m.MaxRequestMessageBytes != nil {\n\t\t\tif *m.MaxRequestMessageBytes > int64(maxInt) {\n\t\t\t\tmc.MaxReqSize = newInt(maxInt)\n\t\t\t} else {\n\t\t\t\tmc.MaxReqSize = newInt(int(*m.MaxRequestMessageBytes))\n\t\t\t}\n\t\t}\n\t\tif m.MaxResponseMessageBytes != nil {\n\t\t\tif *m.MaxResponseMessageBytes > int64(maxInt) {\n\t\t\t\tmc.MaxRespSize = newInt(maxInt)\n\t\t\t} else {\n\t\t\t\tmc.MaxRespSize = newInt(int(*m.MaxResponseMessageBytes))\n\t\t\t}\n\t\t}\n\t\tfor _, n := range *m.Name {\n\t\t\tif path, valid := n.generatePath(); valid {\n\t\t\t\tsc.Methods[path] = mc\n\t\t\t}\n\t\t}\n\t}\n\n\tif sc.retryThrottling != nil {\n\t\tif sc.retryThrottling.MaxTokens <= 0 ||\n\t\t\tsc.retryThrottling.MaxTokens >= 1000 ||\n\t\t\tsc.retryThrottling.TokenRatio <= 0 {\n\t\t\t// Illegal throttling config; disable throttling.\n\t\t\tsc.retryThrottling = nil\n\t\t}\n\t}\n\treturn sc, nil\n}\n\nfunc convertRetryPolicy(jrp *jsonRetryPolicy) (p *retryPolicy, err error) {\n\tif jrp == nil {\n\t\treturn nil, nil\n\t}\n\tib, err := parseDuration(&jrp.InitialBackoff)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tmb, err := parseDuration(&jrp.MaxBackoff)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tif jrp.MaxAttempts <= 1 ||\n\t\t*ib <= 0 ||\n\t\t*mb <= 0 ||\n\t\tjrp.BackoffMultiplier <= 0 ||\n\t\tlen(jrp.RetryableStatusCodes) == 0 {\n\t\tgrpclog.Warningf(\"grpc: ignoring retry policy %v due to illegal configuration\", jrp)\n\t\treturn nil, nil\n\t}\n\n\trp := &retryPolicy{\n\t\tmaxAttempts:          jrp.MaxAttempts,\n\t\tinitialBackoff:       *ib,\n\t\tmaxBackoff:           *mb,\n\t\tbackoffMultiplier:    jrp.BackoffMultiplier,\n\t\tretryableStatusCodes: make(map[codes.Code]bool),\n\t}\n\tif rp.maxAttempts > 5 {\n\t\t// TODO(retry): Make the max maxAttempts configurable.\n\t\trp.maxAttempts = 5\n\t}\n\tfor _, code := range jrp.RetryableStatusCodes {\n\t\trp.retryableStatusCodes[code] = true\n\t}\n\treturn rp, nil\n}\n\nfunc min(a, b *int) *int {\n\tif *a < *b {\n\t\treturn a\n\t}\n\treturn b\n}\n\nfunc getMaxSize(mcMax, doptMax *int, defaultVal int) *int {\n\tif mcMax == nil && doptMax == nil {\n\t\treturn &defaultVal\n\t}\n\tif mcMax != nil && doptMax != nil {\n\t\treturn min(mcMax, doptMax)\n\t}\n\tif mcMax != nil {\n\t\treturn mcMax\n\t}\n\treturn doptMax\n}\n\nfunc newInt(b int) *int {\n\treturn &b\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/stats/handlers.go",
    "content": "/*\n *\n * Copyright 2016 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage stats\n\nimport (\n\t\"net\"\n\n\t\"golang.org/x/net/context\"\n)\n\n// ConnTagInfo defines the relevant information needed by connection context tagger.\ntype ConnTagInfo struct {\n\t// RemoteAddr is the remote address of the corresponding connection.\n\tRemoteAddr net.Addr\n\t// LocalAddr is the local address of the corresponding connection.\n\tLocalAddr net.Addr\n}\n\n// RPCTagInfo defines the relevant information needed by RPC context tagger.\ntype RPCTagInfo struct {\n\t// FullMethodName is the RPC method in the format of /package.service/method.\n\tFullMethodName string\n\t// FailFast indicates if this RPC is failfast.\n\t// This field is only valid on client side, it's always false on server side.\n\tFailFast bool\n}\n\n// Handler defines the interface for the related stats handling (e.g., RPCs, connections).\ntype Handler interface {\n\t// TagRPC can attach some information to the given context.\n\t// The context used for the rest lifetime of the RPC will be derived from\n\t// the returned context.\n\tTagRPC(context.Context, *RPCTagInfo) context.Context\n\t// HandleRPC processes the RPC stats.\n\tHandleRPC(context.Context, RPCStats)\n\n\t// TagConn can attach some information to the given context.\n\t// The returned context will be used for stats handling.\n\t// For conn stats handling, the context used in HandleConn for this\n\t// connection will be derived from the context returned.\n\t// For RPC stats handling,\n\t//  - On server side, the context used in HandleRPC for all RPCs on this\n\t// connection will be derived from the context returned.\n\t//  - On client side, the context is not derived from the context returned.\n\tTagConn(context.Context, *ConnTagInfo) context.Context\n\t// HandleConn processes the Conn stats.\n\tHandleConn(context.Context, ConnStats)\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/stats/stats.go",
    "content": "/*\n *\n * Copyright 2016 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n//go:generate protoc --go_out=plugins=grpc:. grpc_testing/test.proto\n\n// Package stats is for collecting and reporting various network and RPC stats.\n// This package is for monitoring purpose only. All fields are read-only.\n// All APIs are experimental.\npackage stats // import \"google.golang.org/grpc/stats\"\n\nimport (\n\t\"net\"\n\t\"time\"\n\n\t\"golang.org/x/net/context\"\n)\n\n// RPCStats contains stats information about RPCs.\ntype RPCStats interface {\n\tisRPCStats()\n\t// IsClient returns true if this RPCStats is from client side.\n\tIsClient() bool\n}\n\n// Begin contains stats when an RPC begins.\n// FailFast is only valid if this Begin is from client side.\ntype Begin struct {\n\t// Client is true if this Begin is from client side.\n\tClient bool\n\t// BeginTime is the time when the RPC begins.\n\tBeginTime time.Time\n\t// FailFast indicates if this RPC is failfast.\n\tFailFast bool\n}\n\n// IsClient indicates if the stats information is from client side.\nfunc (s *Begin) IsClient() bool { return s.Client }\n\nfunc (s *Begin) isRPCStats() {}\n\n// InPayload contains the information for an incoming payload.\ntype InPayload struct {\n\t// Client is true if this InPayload is from client side.\n\tClient bool\n\t// Payload is the payload with original type.\n\tPayload interface{}\n\t// Data is the serialized message payload.\n\tData []byte\n\t// Length is the length of uncompressed data.\n\tLength int\n\t// WireLength is the length of data on wire (compressed, signed, encrypted).\n\tWireLength int\n\t// RecvTime is the time when the payload is received.\n\tRecvTime time.Time\n}\n\n// IsClient indicates if the stats information is from client side.\nfunc (s *InPayload) IsClient() bool { return s.Client }\n\nfunc (s *InPayload) isRPCStats() {}\n\n// InHeader contains stats when a header is received.\ntype InHeader struct {\n\t// Client is true if this InHeader is from client side.\n\tClient bool\n\t// WireLength is the wire length of header.\n\tWireLength int\n\n\t// The following fields are valid only if Client is false.\n\t// FullMethod is the full RPC method string, i.e., /package.service/method.\n\tFullMethod string\n\t// RemoteAddr is the remote address of the corresponding connection.\n\tRemoteAddr net.Addr\n\t// LocalAddr is the local address of the corresponding connection.\n\tLocalAddr net.Addr\n\t// Compression is the compression algorithm used for the RPC.\n\tCompression string\n}\n\n// IsClient indicates if the stats information is from client side.\nfunc (s *InHeader) IsClient() bool { return s.Client }\n\nfunc (s *InHeader) isRPCStats() {}\n\n// InTrailer contains stats when a trailer is received.\ntype InTrailer struct {\n\t// Client is true if this InTrailer is from client side.\n\tClient bool\n\t// WireLength is the wire length of trailer.\n\tWireLength int\n}\n\n// IsClient indicates if the stats information is from client side.\nfunc (s *InTrailer) IsClient() bool { return s.Client }\n\nfunc (s *InTrailer) isRPCStats() {}\n\n// OutPayload contains the information for an outgoing payload.\ntype OutPayload struct {\n\t// Client is true if this OutPayload is from client side.\n\tClient bool\n\t// Payload is the payload with original type.\n\tPayload interface{}\n\t// Data is the serialized message payload.\n\tData []byte\n\t// Length is the length of uncompressed data.\n\tLength int\n\t// WireLength is the length of data on wire (compressed, signed, encrypted).\n\tWireLength int\n\t// SentTime is the time when the payload is sent.\n\tSentTime time.Time\n}\n\n// IsClient indicates if this stats information is from client side.\nfunc (s *OutPayload) IsClient() bool { return s.Client }\n\nfunc (s *OutPayload) isRPCStats() {}\n\n// OutHeader contains stats when a header is sent.\ntype OutHeader struct {\n\t// Client is true if this OutHeader is from client side.\n\tClient bool\n\n\t// The following fields are valid only if Client is true.\n\t// FullMethod is the full RPC method string, i.e., /package.service/method.\n\tFullMethod string\n\t// RemoteAddr is the remote address of the corresponding connection.\n\tRemoteAddr net.Addr\n\t// LocalAddr is the local address of the corresponding connection.\n\tLocalAddr net.Addr\n\t// Compression is the compression algorithm used for the RPC.\n\tCompression string\n}\n\n// IsClient indicates if this stats information is from client side.\nfunc (s *OutHeader) IsClient() bool { return s.Client }\n\nfunc (s *OutHeader) isRPCStats() {}\n\n// OutTrailer contains stats when a trailer is sent.\ntype OutTrailer struct {\n\t// Client is true if this OutTrailer is from client side.\n\tClient bool\n\t// WireLength is the wire length of trailer.\n\tWireLength int\n}\n\n// IsClient indicates if this stats information is from client side.\nfunc (s *OutTrailer) IsClient() bool { return s.Client }\n\nfunc (s *OutTrailer) isRPCStats() {}\n\n// End contains stats when an RPC ends.\ntype End struct {\n\t// Client is true if this End is from client side.\n\tClient bool\n\t// BeginTime is the time when the RPC began.\n\tBeginTime time.Time\n\t// EndTime is the time when the RPC ends.\n\tEndTime time.Time\n\t// Error is the error the RPC ended with. It is an error generated from\n\t// status.Status and can be converted back to status.Status using\n\t// status.FromError if non-nil.\n\tError error\n}\n\n// IsClient indicates if this is from client side.\nfunc (s *End) IsClient() bool { return s.Client }\n\nfunc (s *End) isRPCStats() {}\n\n// ConnStats contains stats information about connections.\ntype ConnStats interface {\n\tisConnStats()\n\t// IsClient returns true if this ConnStats is from client side.\n\tIsClient() bool\n}\n\n// ConnBegin contains the stats of a connection when it is established.\ntype ConnBegin struct {\n\t// Client is true if this ConnBegin is from client side.\n\tClient bool\n}\n\n// IsClient indicates if this is from client side.\nfunc (s *ConnBegin) IsClient() bool { return s.Client }\n\nfunc (s *ConnBegin) isConnStats() {}\n\n// ConnEnd contains the stats of a connection when it ends.\ntype ConnEnd struct {\n\t// Client is true if this ConnEnd is from client side.\n\tClient bool\n}\n\n// IsClient indicates if this is from client side.\nfunc (s *ConnEnd) IsClient() bool { return s.Client }\n\nfunc (s *ConnEnd) isConnStats() {}\n\ntype incomingTagsKey struct{}\ntype outgoingTagsKey struct{}\n\n// SetTags attaches stats tagging data to the context, which will be sent in\n// the outgoing RPC with the header grpc-tags-bin.  Subsequent calls to\n// SetTags will overwrite the values from earlier calls.\n//\n// NOTE: this is provided only for backward compatibility with existing clients\n// and will likely be removed in an upcoming release.  New uses should transmit\n// this type of data using metadata with a different, non-reserved (i.e. does\n// not begin with \"grpc-\") header name.\nfunc SetTags(ctx context.Context, b []byte) context.Context {\n\treturn context.WithValue(ctx, outgoingTagsKey{}, b)\n}\n\n// Tags returns the tags from the context for the inbound RPC.\n//\n// NOTE: this is provided only for backward compatibility with existing clients\n// and will likely be removed in an upcoming release.  New uses should transmit\n// this type of data using metadata with a different, non-reserved (i.e. does\n// not begin with \"grpc-\") header name.\nfunc Tags(ctx context.Context) []byte {\n\tb, _ := ctx.Value(incomingTagsKey{}).([]byte)\n\treturn b\n}\n\n// SetIncomingTags attaches stats tagging data to the context, to be read by\n// the application (not sent in outgoing RPCs).\n//\n// This is intended for gRPC-internal use ONLY.\nfunc SetIncomingTags(ctx context.Context, b []byte) context.Context {\n\treturn context.WithValue(ctx, incomingTagsKey{}, b)\n}\n\n// OutgoingTags returns the tags from the context for the outbound RPC.\n//\n// This is intended for gRPC-internal use ONLY.\nfunc OutgoingTags(ctx context.Context) []byte {\n\tb, _ := ctx.Value(outgoingTagsKey{}).([]byte)\n\treturn b\n}\n\ntype incomingTraceKey struct{}\ntype outgoingTraceKey struct{}\n\n// SetTrace attaches stats tagging data to the context, which will be sent in\n// the outgoing RPC with the header grpc-trace-bin.  Subsequent calls to\n// SetTrace will overwrite the values from earlier calls.\n//\n// NOTE: this is provided only for backward compatibility with existing clients\n// and will likely be removed in an upcoming release.  New uses should transmit\n// this type of data using metadata with a different, non-reserved (i.e. does\n// not begin with \"grpc-\") header name.\nfunc SetTrace(ctx context.Context, b []byte) context.Context {\n\treturn context.WithValue(ctx, outgoingTraceKey{}, b)\n}\n\n// Trace returns the trace from the context for the inbound RPC.\n//\n// NOTE: this is provided only for backward compatibility with existing clients\n// and will likely be removed in an upcoming release.  New uses should transmit\n// this type of data using metadata with a different, non-reserved (i.e. does\n// not begin with \"grpc-\") header name.\nfunc Trace(ctx context.Context) []byte {\n\tb, _ := ctx.Value(incomingTraceKey{}).([]byte)\n\treturn b\n}\n\n// SetIncomingTrace attaches stats tagging data to the context, to be read by\n// the application (not sent in outgoing RPCs).  It is intended for\n// gRPC-internal use.\nfunc SetIncomingTrace(ctx context.Context, b []byte) context.Context {\n\treturn context.WithValue(ctx, incomingTraceKey{}, b)\n}\n\n// OutgoingTrace returns the trace from the context for the outbound RPC.  It is\n// intended for gRPC-internal use.\nfunc OutgoingTrace(ctx context.Context) []byte {\n\tb, _ := ctx.Value(outgoingTraceKey{}).([]byte)\n\treturn b\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/status/go16.go",
    "content": "// +build go1.6,!go1.7\n\n/*\n *\n * Copyright 2018 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage status\n\nimport (\n\t\"golang.org/x/net/context\"\n\t\"google.golang.org/grpc/codes\"\n)\n\n// FromContextError converts a context error into a Status.  It returns a\n// Status with codes.OK if err is nil, or a Status with codes.Unknown if err is\n// non-nil and not a context error.\nfunc FromContextError(err error) *Status {\n\tswitch err {\n\tcase nil:\n\t\treturn New(codes.OK, \"\")\n\tcase context.DeadlineExceeded:\n\t\treturn New(codes.DeadlineExceeded, err.Error())\n\tcase context.Canceled:\n\t\treturn New(codes.Canceled, err.Error())\n\tdefault:\n\t\treturn New(codes.Unknown, err.Error())\n\t}\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/status/go17.go",
    "content": "// +build go1.7\n\n/*\n *\n * Copyright 2018 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage status\n\nimport (\n\t\"context\"\n\n\tnetctx \"golang.org/x/net/context\"\n\t\"google.golang.org/grpc/codes\"\n)\n\n// FromContextError converts a context error into a Status.  It returns a\n// Status with codes.OK if err is nil, or a Status with codes.Unknown if err is\n// non-nil and not a context error.\nfunc FromContextError(err error) *Status {\n\tswitch err {\n\tcase nil:\n\t\treturn New(codes.OK, \"\")\n\tcase context.DeadlineExceeded, netctx.DeadlineExceeded:\n\t\treturn New(codes.DeadlineExceeded, err.Error())\n\tcase context.Canceled, netctx.Canceled:\n\t\treturn New(codes.Canceled, err.Error())\n\tdefault:\n\t\treturn New(codes.Unknown, err.Error())\n\t}\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/status/status.go",
    "content": "/*\n *\n * Copyright 2017 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n// Package status implements errors returned by gRPC.  These errors are\n// serialized and transmitted on the wire between server and client, and allow\n// for additional data to be transmitted via the Details field in the status\n// proto.  gRPC service handlers should return an error created by this\n// package, and gRPC clients should expect a corresponding error to be\n// returned from the RPC call.\n//\n// This package upholds the invariants that a non-nil error may not\n// contain an OK code, and an OK code must result in a nil error.\npackage status\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\n\t\"github.com/golang/protobuf/proto\"\n\t\"github.com/golang/protobuf/ptypes\"\n\tspb \"google.golang.org/genproto/googleapis/rpc/status\"\n\t\"google.golang.org/grpc/codes\"\n)\n\n// statusError is an alias of a status proto.  It implements error and Status,\n// and a nil statusError should never be returned by this package.\ntype statusError spb.Status\n\nfunc (se *statusError) Error() string {\n\tp := (*spb.Status)(se)\n\treturn fmt.Sprintf(\"rpc error: code = %s desc = %s\", codes.Code(p.GetCode()), p.GetMessage())\n}\n\nfunc (se *statusError) GRPCStatus() *Status {\n\treturn &Status{s: (*spb.Status)(se)}\n}\n\n// Status represents an RPC status code, message, and details.  It is immutable\n// and should be created with New, Newf, or FromProto.\ntype Status struct {\n\ts *spb.Status\n}\n\n// Code returns the status code contained in s.\nfunc (s *Status) Code() codes.Code {\n\tif s == nil || s.s == nil {\n\t\treturn codes.OK\n\t}\n\treturn codes.Code(s.s.Code)\n}\n\n// Message returns the message contained in s.\nfunc (s *Status) Message() string {\n\tif s == nil || s.s == nil {\n\t\treturn \"\"\n\t}\n\treturn s.s.Message\n}\n\n// Proto returns s's status as an spb.Status proto message.\nfunc (s *Status) Proto() *spb.Status {\n\tif s == nil {\n\t\treturn nil\n\t}\n\treturn proto.Clone(s.s).(*spb.Status)\n}\n\n// Err returns an immutable error representing s; returns nil if s.Code() is\n// OK.\nfunc (s *Status) Err() error {\n\tif s.Code() == codes.OK {\n\t\treturn nil\n\t}\n\treturn (*statusError)(s.s)\n}\n\n// New returns a Status representing c and msg.\nfunc New(c codes.Code, msg string) *Status {\n\treturn &Status{s: &spb.Status{Code: int32(c), Message: msg}}\n}\n\n// Newf returns New(c, fmt.Sprintf(format, a...)).\nfunc Newf(c codes.Code, format string, a ...interface{}) *Status {\n\treturn New(c, fmt.Sprintf(format, a...))\n}\n\n// Error returns an error representing c and msg.  If c is OK, returns nil.\nfunc Error(c codes.Code, msg string) error {\n\treturn New(c, msg).Err()\n}\n\n// Errorf returns Error(c, fmt.Sprintf(format, a...)).\nfunc Errorf(c codes.Code, format string, a ...interface{}) error {\n\treturn Error(c, fmt.Sprintf(format, a...))\n}\n\n// ErrorProto returns an error representing s.  If s.Code is OK, returns nil.\nfunc ErrorProto(s *spb.Status) error {\n\treturn FromProto(s).Err()\n}\n\n// FromProto returns a Status representing s.\nfunc FromProto(s *spb.Status) *Status {\n\treturn &Status{s: proto.Clone(s).(*spb.Status)}\n}\n\n// FromError returns a Status representing err if it was produced from this\n// package or has a method `GRPCStatus() *Status`. Otherwise, ok is false and a\n// Status is returned with codes.Unknown and the original error message.\nfunc FromError(err error) (s *Status, ok bool) {\n\tif err == nil {\n\t\treturn &Status{s: &spb.Status{Code: int32(codes.OK)}}, true\n\t}\n\tif se, ok := err.(interface{ GRPCStatus() *Status }); ok {\n\t\treturn se.GRPCStatus(), true\n\t}\n\treturn New(codes.Unknown, err.Error()), false\n}\n\n// Convert is a convenience function which removes the need to handle the\n// boolean return value from FromError.\nfunc Convert(err error) *Status {\n\ts, _ := FromError(err)\n\treturn s\n}\n\n// WithDetails returns a new status with the provided details messages appended to the status.\n// If any errors are encountered, it returns nil and the first error encountered.\nfunc (s *Status) WithDetails(details ...proto.Message) (*Status, error) {\n\tif s.Code() == codes.OK {\n\t\treturn nil, errors.New(\"no error details for status with code OK\")\n\t}\n\t// s.Code() != OK implies that s.Proto() != nil.\n\tp := s.Proto()\n\tfor _, detail := range details {\n\t\tany, err := ptypes.MarshalAny(detail)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tp.Details = append(p.Details, any)\n\t}\n\treturn &Status{s: p}, nil\n}\n\n// Details returns a slice of details messages attached to the status.\n// If a detail cannot be decoded, the error is returned in place of the detail.\nfunc (s *Status) Details() []interface{} {\n\tif s == nil || s.s == nil {\n\t\treturn nil\n\t}\n\tdetails := make([]interface{}, 0, len(s.s.Details))\n\tfor _, any := range s.s.Details {\n\t\tdetail := &ptypes.DynamicAny{}\n\t\tif err := ptypes.UnmarshalAny(any, detail); err != nil {\n\t\t\tdetails = append(details, err)\n\t\t\tcontinue\n\t\t}\n\t\tdetails = append(details, detail.Message)\n\t}\n\treturn details\n}\n\n// Code returns the Code of the error if it is a Status error, codes.OK if err\n// is nil, or codes.Unknown otherwise.\nfunc Code(err error) codes.Code {\n\t// Don't use FromError to avoid allocation of OK status.\n\tif err == nil {\n\t\treturn codes.OK\n\t}\n\tif se, ok := err.(interface{ GRPCStatus() *Status }); ok {\n\t\treturn se.GRPCStatus().Code()\n\t}\n\treturn codes.Unknown\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/stream.go",
    "content": "/*\n *\n * Copyright 2014 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage grpc\n\nimport (\n\t\"errors\"\n\t\"io\"\n\t\"math\"\n\t\"strconv\"\n\t\"sync\"\n\t\"time\"\n\n\t\"golang.org/x/net/context\"\n\t\"golang.org/x/net/trace\"\n\t\"google.golang.org/grpc/balancer\"\n\t\"google.golang.org/grpc/codes\"\n\t\"google.golang.org/grpc/encoding\"\n\t\"google.golang.org/grpc/grpclog\"\n\t\"google.golang.org/grpc/internal/channelz\"\n\t\"google.golang.org/grpc/internal/grpcrand\"\n\t\"google.golang.org/grpc/internal/transport\"\n\t\"google.golang.org/grpc/metadata\"\n\t\"google.golang.org/grpc/stats\"\n\t\"google.golang.org/grpc/status\"\n)\n\n// StreamHandler defines the handler called by gRPC server to complete the\n// execution of a streaming RPC. If a StreamHandler returns an error, it\n// should be produced by the status package, or else gRPC will use\n// codes.Unknown as the status code and err.Error() as the status message\n// of the RPC.\ntype StreamHandler func(srv interface{}, stream ServerStream) error\n\n// StreamDesc represents a streaming RPC service's method specification.\ntype StreamDesc struct {\n\tStreamName string\n\tHandler    StreamHandler\n\n\t// At least one of these is true.\n\tServerStreams bool\n\tClientStreams bool\n}\n\n// Stream defines the common interface a client or server stream has to satisfy.\n//\n// Deprecated: See ClientStream and ServerStream documentation instead.\ntype Stream interface {\n\t// Deprecated: See ClientStream and ServerStream documentation instead.\n\tContext() context.Context\n\t// Deprecated: See ClientStream and ServerStream documentation instead.\n\tSendMsg(m interface{}) error\n\t// Deprecated: See ClientStream and ServerStream documentation instead.\n\tRecvMsg(m interface{}) error\n}\n\n// ClientStream defines the client-side behavior of a streaming RPC.\n//\n// All errors returned from ClientStream methods are compatible with the\n// status package.\ntype ClientStream interface {\n\t// Header returns the header metadata received from the server if there\n\t// is any. It blocks if the metadata is not ready to read.\n\tHeader() (metadata.MD, error)\n\t// Trailer returns the trailer metadata from the server, if there is any.\n\t// It must only be called after stream.CloseAndRecv has returned, or\n\t// stream.Recv has returned a non-nil error (including io.EOF).\n\tTrailer() metadata.MD\n\t// CloseSend closes the send direction of the stream. It closes the stream\n\t// when non-nil error is met.\n\tCloseSend() error\n\t// Context returns the context for this stream.\n\t//\n\t// It should not be called until after Header or RecvMsg has returned. Once\n\t// called, subsequent client-side retries are disabled.\n\tContext() context.Context\n\t// SendMsg is generally called by generated code. On error, SendMsg aborts\n\t// the stream. If the error was generated by the client, the status is\n\t// returned directly; otherwise, io.EOF is returned and the status of\n\t// the stream may be discovered using RecvMsg.\n\t//\n\t// SendMsg blocks until:\n\t//   - There is sufficient flow control to schedule m with the transport, or\n\t//   - The stream is done, or\n\t//   - The stream breaks.\n\t//\n\t// SendMsg does not wait until the message is received by the server. An\n\t// untimely stream closure may result in lost messages. To ensure delivery,\n\t// users should ensure the RPC completed successfully using RecvMsg.\n\t//\n\t// It is safe to have a goroutine calling SendMsg and another goroutine\n\t// calling RecvMsg on the same stream at the same time, but it is not safe\n\t// to call SendMsg on the same stream in different goroutines.\n\tSendMsg(m interface{}) error\n\t// RecvMsg blocks until it receives a message into m or the stream is\n\t// done. It returns io.EOF when the stream completes successfully. On\n\t// any other error, the stream is aborted and the error contains the RPC\n\t// status.\n\t//\n\t// It is safe to have a goroutine calling SendMsg and another goroutine\n\t// calling RecvMsg on the same stream at the same time, but it is not\n\t// safe to call RecvMsg on the same stream in different goroutines.\n\tRecvMsg(m interface{}) error\n}\n\n// NewStream creates a new Stream for the client side. This is typically\n// called by generated code. ctx is used for the lifetime of the stream.\n//\n// To ensure resources are not leaked due to the stream returned, one of the following\n// actions must be performed:\n//\n//      1. Call Close on the ClientConn.\n//      2. Cancel the context provided.\n//      3. Call RecvMsg until a non-nil error is returned. A protobuf-generated\n//         client-streaming RPC, for instance, might use the helper function\n//         CloseAndRecv (note that CloseSend does not Recv, therefore is not\n//         guaranteed to release all resources).\n//      4. Receive a non-nil, non-io.EOF error from Header or SendMsg.\n//\n// If none of the above happen, a goroutine and a context will be leaked, and grpc\n// will not call the optionally-configured stats handler with a stats.End message.\nfunc (cc *ClientConn) NewStream(ctx context.Context, desc *StreamDesc, method string, opts ...CallOption) (ClientStream, error) {\n\t// allow interceptor to see all applicable call options, which means those\n\t// configured as defaults from dial option as well as per-call options\n\topts = combine(cc.dopts.callOptions, opts)\n\n\tif cc.dopts.streamInt != nil {\n\t\treturn cc.dopts.streamInt(ctx, desc, cc, method, newClientStream, opts...)\n\t}\n\treturn newClientStream(ctx, desc, cc, method, opts...)\n}\n\n// NewClientStream is a wrapper for ClientConn.NewStream.\nfunc NewClientStream(ctx context.Context, desc *StreamDesc, cc *ClientConn, method string, opts ...CallOption) (ClientStream, error) {\n\treturn cc.NewStream(ctx, desc, method, opts...)\n}\n\nfunc newClientStream(ctx context.Context, desc *StreamDesc, cc *ClientConn, method string, opts ...CallOption) (_ ClientStream, err error) {\n\tif channelz.IsOn() {\n\t\tcc.incrCallsStarted()\n\t\tdefer func() {\n\t\t\tif err != nil {\n\t\t\t\tcc.incrCallsFailed()\n\t\t\t}\n\t\t}()\n\t}\n\tc := defaultCallInfo()\n\tmc := cc.GetMethodConfig(method)\n\tif mc.WaitForReady != nil {\n\t\tc.failFast = !*mc.WaitForReady\n\t}\n\n\t// Possible context leak:\n\t// The cancel function for the child context we create will only be called\n\t// when RecvMsg returns a non-nil error, if the ClientConn is closed, or if\n\t// an error is generated by SendMsg.\n\t// https://github.com/grpc/grpc-go/issues/1818.\n\tvar cancel context.CancelFunc\n\tif mc.Timeout != nil && *mc.Timeout >= 0 {\n\t\tctx, cancel = context.WithTimeout(ctx, *mc.Timeout)\n\t} else {\n\t\tctx, cancel = context.WithCancel(ctx)\n\t}\n\tdefer func() {\n\t\tif err != nil {\n\t\t\tcancel()\n\t\t}\n\t}()\n\n\tfor _, o := range opts {\n\t\tif err := o.before(c); err != nil {\n\t\t\treturn nil, toRPCErr(err)\n\t\t}\n\t}\n\tc.maxSendMessageSize = getMaxSize(mc.MaxReqSize, c.maxSendMessageSize, defaultClientMaxSendMessageSize)\n\tc.maxReceiveMessageSize = getMaxSize(mc.MaxRespSize, c.maxReceiveMessageSize, defaultClientMaxReceiveMessageSize)\n\tif err := setCallInfoCodec(c); err != nil {\n\t\treturn nil, err\n\t}\n\n\tcallHdr := &transport.CallHdr{\n\t\tHost:           cc.authority,\n\t\tMethod:         method,\n\t\tContentSubtype: c.contentSubtype,\n\t}\n\n\t// Set our outgoing compression according to the UseCompressor CallOption, if\n\t// set.  In that case, also find the compressor from the encoding package.\n\t// Otherwise, use the compressor configured by the WithCompressor DialOption,\n\t// if set.\n\tvar cp Compressor\n\tvar comp encoding.Compressor\n\tif ct := c.compressorType; ct != \"\" {\n\t\tcallHdr.SendCompress = ct\n\t\tif ct != encoding.Identity {\n\t\t\tcomp = encoding.GetCompressor(ct)\n\t\t\tif comp == nil {\n\t\t\t\treturn nil, status.Errorf(codes.Internal, \"grpc: Compressor is not installed for requested grpc-encoding %q\", ct)\n\t\t\t}\n\t\t}\n\t} else if cc.dopts.cp != nil {\n\t\tcallHdr.SendCompress = cc.dopts.cp.Type()\n\t\tcp = cc.dopts.cp\n\t}\n\tif c.creds != nil {\n\t\tcallHdr.Creds = c.creds\n\t}\n\tvar trInfo traceInfo\n\tif EnableTracing {\n\t\ttrInfo.tr = trace.New(\"grpc.Sent.\"+methodFamily(method), method)\n\t\ttrInfo.firstLine.client = true\n\t\tif deadline, ok := ctx.Deadline(); ok {\n\t\t\ttrInfo.firstLine.deadline = deadline.Sub(time.Now())\n\t\t}\n\t\ttrInfo.tr.LazyLog(&trInfo.firstLine, false)\n\t\tctx = trace.NewContext(ctx, trInfo.tr)\n\t}\n\tctx = newContextWithRPCInfo(ctx, c.failFast)\n\tsh := cc.dopts.copts.StatsHandler\n\tvar beginTime time.Time\n\tif sh != nil {\n\t\tctx = sh.TagRPC(ctx, &stats.RPCTagInfo{FullMethodName: method, FailFast: c.failFast})\n\t\tbeginTime = time.Now()\n\t\tbegin := &stats.Begin{\n\t\t\tClient:    true,\n\t\t\tBeginTime: beginTime,\n\t\t\tFailFast:  c.failFast,\n\t\t}\n\t\tsh.HandleRPC(ctx, begin)\n\t}\n\n\tcs := &clientStream{\n\t\tcallHdr:      callHdr,\n\t\tctx:          ctx,\n\t\tmethodConfig: &mc,\n\t\topts:         opts,\n\t\tcallInfo:     c,\n\t\tcc:           cc,\n\t\tdesc:         desc,\n\t\tcodec:        c.codec,\n\t\tcp:           cp,\n\t\tcomp:         comp,\n\t\tcancel:       cancel,\n\t\tbeginTime:    beginTime,\n\t\tfirstAttempt: true,\n\t}\n\tif !cc.dopts.disableRetry {\n\t\tcs.retryThrottler = cc.retryThrottler.Load().(*retryThrottler)\n\t}\n\n\tcs.callInfo.stream = cs\n\t// Only this initial attempt has stats/tracing.\n\t// TODO(dfawley): move to newAttempt when per-attempt stats are implemented.\n\tif err := cs.newAttemptLocked(sh, trInfo); err != nil {\n\t\tcs.finish(err)\n\t\treturn nil, err\n\t}\n\n\top := func(a *csAttempt) error { return a.newStream() }\n\tif err := cs.withRetry(op, func() { cs.bufferForRetryLocked(0, op) }); err != nil {\n\t\tcs.finish(err)\n\t\treturn nil, err\n\t}\n\n\tif desc != unaryStreamDesc {\n\t\t// Listen on cc and stream contexts to cleanup when the user closes the\n\t\t// ClientConn or cancels the stream context.  In all other cases, an error\n\t\t// should already be injected into the recv buffer by the transport, which\n\t\t// the client will eventually receive, and then we will cancel the stream's\n\t\t// context in clientStream.finish.\n\t\tgo func() {\n\t\t\tselect {\n\t\t\tcase <-cc.ctx.Done():\n\t\t\t\tcs.finish(ErrClientConnClosing)\n\t\t\tcase <-ctx.Done():\n\t\t\t\tcs.finish(toRPCErr(ctx.Err()))\n\t\t\t}\n\t\t}()\n\t}\n\treturn cs, nil\n}\n\nfunc (cs *clientStream) newAttemptLocked(sh stats.Handler, trInfo traceInfo) error {\n\tcs.attempt = &csAttempt{\n\t\tcs:           cs,\n\t\tdc:           cs.cc.dopts.dc,\n\t\tstatsHandler: sh,\n\t\ttrInfo:       trInfo,\n\t}\n\n\tif err := cs.ctx.Err(); err != nil {\n\t\treturn toRPCErr(err)\n\t}\n\tt, done, err := cs.cc.getTransport(cs.ctx, cs.callInfo.failFast, cs.callHdr.Method)\n\tif err != nil {\n\t\treturn err\n\t}\n\tcs.attempt.t = t\n\tcs.attempt.done = done\n\treturn nil\n}\n\nfunc (a *csAttempt) newStream() error {\n\tcs := a.cs\n\tcs.callHdr.PreviousAttempts = cs.numRetries\n\ts, err := a.t.NewStream(cs.ctx, cs.callHdr)\n\tif err != nil {\n\t\treturn toRPCErr(err)\n\t}\n\tcs.attempt.s = s\n\tcs.attempt.p = &parser{r: s}\n\treturn nil\n}\n\n// clientStream implements a client side Stream.\ntype clientStream struct {\n\tcallHdr  *transport.CallHdr\n\topts     []CallOption\n\tcallInfo *callInfo\n\tcc       *ClientConn\n\tdesc     *StreamDesc\n\n\tcodec baseCodec\n\tcp    Compressor\n\tcomp  encoding.Compressor\n\n\tcancel context.CancelFunc // cancels all attempts\n\n\tsentLast  bool // sent an end stream\n\tbeginTime time.Time\n\n\tmethodConfig *MethodConfig\n\n\tctx context.Context // the application's context, wrapped by stats/tracing\n\n\tretryThrottler *retryThrottler // The throttler active when the RPC began.\n\n\tmu                      sync.Mutex\n\tfirstAttempt            bool       // if true, transparent retry is valid\n\tnumRetries              int        // exclusive of transparent retry attempt(s)\n\tnumRetriesSincePushback int        // retries since pushback; to reset backoff\n\tfinished                bool       // TODO: replace with atomic cmpxchg or sync.Once?\n\tattempt                 *csAttempt // the active client stream attempt\n\t// TODO(hedging): hedging will have multiple attempts simultaneously.\n\tcommitted  bool                       // active attempt committed for retry?\n\tbuffer     []func(a *csAttempt) error // operations to replay on retry\n\tbufferSize int                        // current size of buffer\n}\n\n// csAttempt implements a single transport stream attempt within a\n// clientStream.\ntype csAttempt struct {\n\tcs   *clientStream\n\tt    transport.ClientTransport\n\ts    *transport.Stream\n\tp    *parser\n\tdone func(balancer.DoneInfo)\n\n\tfinished  bool\n\tdc        Decompressor\n\tdecomp    encoding.Compressor\n\tdecompSet bool\n\n\tmu sync.Mutex // guards trInfo.tr\n\t// trInfo.tr is set when created (if EnableTracing is true),\n\t// and cleared when the finish method is called.\n\ttrInfo traceInfo\n\n\tstatsHandler stats.Handler\n}\n\nfunc (cs *clientStream) commitAttemptLocked() {\n\tcs.committed = true\n\tcs.buffer = nil\n}\n\nfunc (cs *clientStream) commitAttempt() {\n\tcs.mu.Lock()\n\tcs.commitAttemptLocked()\n\tcs.mu.Unlock()\n}\n\n// shouldRetry returns nil if the RPC should be retried; otherwise it returns\n// the error that should be returned by the operation.\nfunc (cs *clientStream) shouldRetry(err error) error {\n\tif cs.attempt.s == nil && !cs.callInfo.failFast {\n\t\t// In the event of any error from NewStream (attempt.s == nil), we\n\t\t// never attempted to write anything to the wire, so we can retry\n\t\t// indefinitely for non-fail-fast RPCs.\n\t\treturn nil\n\t}\n\tif cs.finished || cs.committed {\n\t\t// RPC is finished or committed; cannot retry.\n\t\treturn err\n\t}\n\t// Wait for the trailers.\n\tif cs.attempt.s != nil {\n\t\t<-cs.attempt.s.Done()\n\t}\n\tif cs.firstAttempt && !cs.callInfo.failFast && (cs.attempt.s == nil || cs.attempt.s.Unprocessed()) {\n\t\t// First attempt, wait-for-ready, stream unprocessed: transparently retry.\n\t\tcs.firstAttempt = false\n\t\treturn nil\n\t}\n\tcs.firstAttempt = false\n\tif cs.cc.dopts.disableRetry {\n\t\treturn err\n\t}\n\n\tpushback := 0\n\thasPushback := false\n\tif cs.attempt.s != nil {\n\t\tif to, toErr := cs.attempt.s.TrailersOnly(); toErr != nil {\n\t\t\t// Context error; stop now.\n\t\t\treturn toErr\n\t\t} else if !to {\n\t\t\treturn err\n\t\t}\n\n\t\t// TODO(retry): Move down if the spec changes to not check server pushback\n\t\t// before considering this a failure for throttling.\n\t\tsps := cs.attempt.s.Trailer()[\"grpc-retry-pushback-ms\"]\n\t\tif len(sps) == 1 {\n\t\t\tvar e error\n\t\t\tif pushback, e = strconv.Atoi(sps[0]); e != nil || pushback < 0 {\n\t\t\t\tgrpclog.Infof(\"Server retry pushback specified to abort (%q).\", sps[0])\n\t\t\t\tcs.retryThrottler.throttle() // This counts as a failure for throttling.\n\t\t\t\treturn err\n\t\t\t}\n\t\t\thasPushback = true\n\t\t} else if len(sps) > 1 {\n\t\t\tgrpclog.Warningf(\"Server retry pushback specified multiple values (%q); not retrying.\", sps)\n\t\t\tcs.retryThrottler.throttle() // This counts as a failure for throttling.\n\t\t\treturn err\n\t\t}\n\t}\n\n\tvar code codes.Code\n\tif cs.attempt.s != nil {\n\t\tcode = cs.attempt.s.Status().Code()\n\t} else {\n\t\tcode = status.Convert(err).Code()\n\t}\n\n\trp := cs.methodConfig.retryPolicy\n\tif rp == nil || !rp.retryableStatusCodes[code] {\n\t\treturn err\n\t}\n\n\t// Note: the ordering here is important; we count this as a failure\n\t// only if the code matched a retryable code.\n\tif cs.retryThrottler.throttle() {\n\t\treturn err\n\t}\n\tif cs.numRetries+1 >= rp.maxAttempts {\n\t\treturn err\n\t}\n\n\tvar dur time.Duration\n\tif hasPushback {\n\t\tdur = time.Millisecond * time.Duration(pushback)\n\t\tcs.numRetriesSincePushback = 0\n\t} else {\n\t\tfact := math.Pow(rp.backoffMultiplier, float64(cs.numRetriesSincePushback))\n\t\tcur := float64(rp.initialBackoff) * fact\n\t\tif max := float64(rp.maxBackoff); cur > max {\n\t\t\tcur = max\n\t\t}\n\t\tdur = time.Duration(grpcrand.Int63n(int64(cur)))\n\t\tcs.numRetriesSincePushback++\n\t}\n\n\t// TODO(dfawley): we could eagerly fail here if dur puts us past the\n\t// deadline, but unsure if it is worth doing.\n\tt := time.NewTimer(dur)\n\tselect {\n\tcase <-t.C:\n\t\tcs.numRetries++\n\t\treturn nil\n\tcase <-cs.ctx.Done():\n\t\tt.Stop()\n\t\treturn status.FromContextError(cs.ctx.Err()).Err()\n\t}\n}\n\n// Returns nil if a retry was performed and succeeded; error otherwise.\nfunc (cs *clientStream) retryLocked(lastErr error) error {\n\tfor {\n\t\tcs.attempt.finish(lastErr)\n\t\tif err := cs.shouldRetry(lastErr); err != nil {\n\t\t\tcs.commitAttemptLocked()\n\t\t\treturn err\n\t\t}\n\t\tif err := cs.newAttemptLocked(nil, traceInfo{}); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif lastErr = cs.replayBufferLocked(); lastErr == nil {\n\t\t\treturn nil\n\t\t}\n\t}\n}\n\nfunc (cs *clientStream) Context() context.Context {\n\tcs.commitAttempt()\n\t// No need to lock before using attempt, since we know it is committed and\n\t// cannot change.\n\treturn cs.attempt.s.Context()\n}\n\nfunc (cs *clientStream) withRetry(op func(a *csAttempt) error, onSuccess func()) error {\n\tcs.mu.Lock()\n\tfor {\n\t\tif cs.committed {\n\t\t\tcs.mu.Unlock()\n\t\t\treturn op(cs.attempt)\n\t\t}\n\t\ta := cs.attempt\n\t\tcs.mu.Unlock()\n\t\terr := op(a)\n\t\tcs.mu.Lock()\n\t\tif a != cs.attempt {\n\t\t\t// We started another attempt already.\n\t\t\tcontinue\n\t\t}\n\t\tif err == io.EOF {\n\t\t\t<-a.s.Done()\n\t\t}\n\t\tif err == nil || (err == io.EOF && a.s.Status().Code() == codes.OK) {\n\t\t\tonSuccess()\n\t\t\tcs.mu.Unlock()\n\t\t\treturn err\n\t\t}\n\t\tif err := cs.retryLocked(err); err != nil {\n\t\t\tcs.mu.Unlock()\n\t\t\treturn err\n\t\t}\n\t}\n}\n\nfunc (cs *clientStream) Header() (metadata.MD, error) {\n\tvar m metadata.MD\n\terr := cs.withRetry(func(a *csAttempt) error {\n\t\tvar err error\n\t\tm, err = a.s.Header()\n\t\treturn toRPCErr(err)\n\t}, cs.commitAttemptLocked)\n\tif err != nil {\n\t\tcs.finish(err)\n\t}\n\treturn m, err\n}\n\nfunc (cs *clientStream) Trailer() metadata.MD {\n\t// On RPC failure, we never need to retry, because usage requires that\n\t// RecvMsg() returned a non-nil error before calling this function is valid.\n\t// We would have retried earlier if necessary.\n\t//\n\t// Commit the attempt anyway, just in case users are not following those\n\t// directions -- it will prevent races and should not meaningfully impact\n\t// performance.\n\tcs.commitAttempt()\n\tif cs.attempt.s == nil {\n\t\treturn nil\n\t}\n\treturn cs.attempt.s.Trailer()\n}\n\nfunc (cs *clientStream) replayBufferLocked() error {\n\ta := cs.attempt\n\tfor _, f := range cs.buffer {\n\t\tif err := f(a); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc (cs *clientStream) bufferForRetryLocked(sz int, op func(a *csAttempt) error) {\n\t// Note: we still will buffer if retry is disabled (for transparent retries).\n\tif cs.committed {\n\t\treturn\n\t}\n\tcs.bufferSize += sz\n\tif cs.bufferSize > cs.callInfo.maxRetryRPCBufferSize {\n\t\tcs.commitAttemptLocked()\n\t\treturn\n\t}\n\tcs.buffer = append(cs.buffer, op)\n}\n\nfunc (cs *clientStream) SendMsg(m interface{}) (err error) {\n\tdefer func() {\n\t\tif err != nil && err != io.EOF {\n\t\t\t// Call finish on the client stream for errors generated by this SendMsg\n\t\t\t// call, as these indicate problems created by this client.  (Transport\n\t\t\t// errors are converted to an io.EOF error in csAttempt.sendMsg; the real\n\t\t\t// error will be returned from RecvMsg eventually in that case, or be\n\t\t\t// retried.)\n\t\t\tcs.finish(err)\n\t\t}\n\t}()\n\tif cs.sentLast {\n\t\treturn status.Errorf(codes.Internal, \"SendMsg called after CloseSend\")\n\t}\n\tif !cs.desc.ClientStreams {\n\t\tcs.sentLast = true\n\t}\n\tdata, err := encode(cs.codec, m)\n\tif err != nil {\n\t\treturn err\n\t}\n\tcompData, err := compress(data, cs.cp, cs.comp)\n\tif err != nil {\n\t\treturn err\n\t}\n\thdr, payload := msgHeader(data, compData)\n\t// TODO(dfawley): should we be checking len(data) instead?\n\tif len(payload) > *cs.callInfo.maxSendMessageSize {\n\t\treturn status.Errorf(codes.ResourceExhausted, \"trying to send message larger than max (%d vs. %d)\", len(payload), *cs.callInfo.maxSendMessageSize)\n\t}\n\top := func(a *csAttempt) error {\n\t\terr := a.sendMsg(m, hdr, payload, data)\n\t\t// nil out the message and uncomp when replaying; they are only needed for\n\t\t// stats which is disabled for subsequent attempts.\n\t\tm, data = nil, nil\n\t\treturn err\n\t}\n\treturn cs.withRetry(op, func() { cs.bufferForRetryLocked(len(hdr)+len(payload), op) })\n}\n\nfunc (cs *clientStream) RecvMsg(m interface{}) error {\n\terr := cs.withRetry(func(a *csAttempt) error {\n\t\treturn a.recvMsg(m)\n\t}, cs.commitAttemptLocked)\n\tif err != nil || !cs.desc.ServerStreams {\n\t\t// err != nil or non-server-streaming indicates end of stream.\n\t\tcs.finish(err)\n\t}\n\treturn err\n}\n\nfunc (cs *clientStream) CloseSend() error {\n\tif cs.sentLast {\n\t\t// TODO: return an error and finish the stream instead, due to API misuse?\n\t\treturn nil\n\t}\n\tcs.sentLast = true\n\top := func(a *csAttempt) error { return a.t.Write(a.s, nil, nil, &transport.Options{Last: true}) }\n\tcs.withRetry(op, func() { cs.bufferForRetryLocked(0, op) })\n\t// We never returned an error here for reasons.\n\treturn nil\n}\n\nfunc (cs *clientStream) finish(err error) {\n\tif err == io.EOF {\n\t\t// Ending a stream with EOF indicates a success.\n\t\terr = nil\n\t}\n\tcs.mu.Lock()\n\tif cs.finished {\n\t\tcs.mu.Unlock()\n\t\treturn\n\t}\n\tcs.finished = true\n\tcs.commitAttemptLocked()\n\tcs.mu.Unlock()\n\tif err == nil {\n\t\tcs.retryThrottler.successfulRPC()\n\t}\n\tif channelz.IsOn() {\n\t\tif err != nil {\n\t\t\tcs.cc.incrCallsFailed()\n\t\t} else {\n\t\t\tcs.cc.incrCallsSucceeded()\n\t\t}\n\t}\n\tif cs.attempt != nil {\n\t\tcs.attempt.finish(err)\n\t}\n\t// after functions all rely upon having a stream.\n\tif cs.attempt.s != nil {\n\t\tfor _, o := range cs.opts {\n\t\t\to.after(cs.callInfo)\n\t\t}\n\t}\n\tcs.cancel()\n}\n\nfunc (a *csAttempt) sendMsg(m interface{}, hdr, payld, data []byte) error {\n\tcs := a.cs\n\tif EnableTracing {\n\t\ta.mu.Lock()\n\t\tif a.trInfo.tr != nil {\n\t\t\ta.trInfo.tr.LazyLog(&payload{sent: true, msg: m}, true)\n\t\t}\n\t\ta.mu.Unlock()\n\t}\n\tif err := a.t.Write(a.s, hdr, payld, &transport.Options{Last: !cs.desc.ClientStreams}); err != nil {\n\t\tif !cs.desc.ClientStreams {\n\t\t\t// For non-client-streaming RPCs, we return nil instead of EOF on error\n\t\t\t// because the generated code requires it.  finish is not called; RecvMsg()\n\t\t\t// will call it with the stream's status independently.\n\t\t\treturn nil\n\t\t}\n\t\treturn io.EOF\n\t}\n\tif a.statsHandler != nil {\n\t\ta.statsHandler.HandleRPC(cs.ctx, outPayload(true, m, data, payld, time.Now()))\n\t}\n\tif channelz.IsOn() {\n\t\ta.t.IncrMsgSent()\n\t}\n\treturn nil\n}\n\nfunc (a *csAttempt) recvMsg(m interface{}) (err error) {\n\tcs := a.cs\n\tvar inPayload *stats.InPayload\n\tif a.statsHandler != nil {\n\t\tinPayload = &stats.InPayload{\n\t\t\tClient: true,\n\t\t}\n\t}\n\tif !a.decompSet {\n\t\t// Block until we receive headers containing received message encoding.\n\t\tif ct := a.s.RecvCompress(); ct != \"\" && ct != encoding.Identity {\n\t\t\tif a.dc == nil || a.dc.Type() != ct {\n\t\t\t\t// No configured decompressor, or it does not match the incoming\n\t\t\t\t// message encoding; attempt to find a registered compressor that does.\n\t\t\t\ta.dc = nil\n\t\t\t\ta.decomp = encoding.GetCompressor(ct)\n\t\t\t}\n\t\t} else {\n\t\t\t// No compression is used; disable our decompressor.\n\t\t\ta.dc = nil\n\t\t}\n\t\t// Only initialize this state once per stream.\n\t\ta.decompSet = true\n\t}\n\terr = recv(a.p, cs.codec, a.s, a.dc, m, *cs.callInfo.maxReceiveMessageSize, inPayload, a.decomp)\n\tif err != nil {\n\t\tif err == io.EOF {\n\t\t\tif statusErr := a.s.Status().Err(); statusErr != nil {\n\t\t\t\treturn statusErr\n\t\t\t}\n\t\t\treturn io.EOF // indicates successful end of stream.\n\t\t}\n\t\treturn toRPCErr(err)\n\t}\n\tif EnableTracing {\n\t\ta.mu.Lock()\n\t\tif a.trInfo.tr != nil {\n\t\t\ta.trInfo.tr.LazyLog(&payload{sent: false, msg: m}, true)\n\t\t}\n\t\ta.mu.Unlock()\n\t}\n\tif inPayload != nil {\n\t\ta.statsHandler.HandleRPC(cs.ctx, inPayload)\n\t}\n\tif channelz.IsOn() {\n\t\ta.t.IncrMsgRecv()\n\t}\n\tif cs.desc.ServerStreams {\n\t\t// Subsequent messages should be received by subsequent RecvMsg calls.\n\t\treturn nil\n\t}\n\n\t// Special handling for non-server-stream rpcs.\n\t// This recv expects EOF or errors, so we don't collect inPayload.\n\terr = recv(a.p, cs.codec, a.s, a.dc, m, *cs.callInfo.maxReceiveMessageSize, nil, a.decomp)\n\tif err == nil {\n\t\treturn toRPCErr(errors.New(\"grpc: client streaming protocol violation: get <nil>, want <EOF>\"))\n\t}\n\tif err == io.EOF {\n\t\treturn a.s.Status().Err() // non-server streaming Recv returns nil on success\n\t}\n\treturn toRPCErr(err)\n}\n\nfunc (a *csAttempt) finish(err error) {\n\ta.mu.Lock()\n\tif a.finished {\n\t\ta.mu.Unlock()\n\t\treturn\n\t}\n\ta.finished = true\n\tif err == io.EOF {\n\t\t// Ending a stream with EOF indicates a success.\n\t\terr = nil\n\t}\n\tif a.s != nil {\n\t\ta.t.CloseStream(a.s, err)\n\t}\n\n\tif a.done != nil {\n\t\tbr := false\n\t\tif a.s != nil {\n\t\t\tbr = a.s.BytesReceived()\n\t\t}\n\t\ta.done(balancer.DoneInfo{\n\t\t\tErr:           err,\n\t\t\tBytesSent:     a.s != nil,\n\t\t\tBytesReceived: br,\n\t\t})\n\t}\n\tif a.statsHandler != nil {\n\t\tend := &stats.End{\n\t\t\tClient:    true,\n\t\t\tBeginTime: a.cs.beginTime,\n\t\t\tEndTime:   time.Now(),\n\t\t\tError:     err,\n\t\t}\n\t\ta.statsHandler.HandleRPC(a.cs.ctx, end)\n\t}\n\tif a.trInfo.tr != nil {\n\t\tif err == nil {\n\t\t\ta.trInfo.tr.LazyPrintf(\"RPC: [OK]\")\n\t\t} else {\n\t\t\ta.trInfo.tr.LazyPrintf(\"RPC: [%v]\", err)\n\t\t\ta.trInfo.tr.SetError()\n\t\t}\n\t\ta.trInfo.tr.Finish()\n\t\ta.trInfo.tr = nil\n\t}\n\ta.mu.Unlock()\n}\n\n// ServerStream defines the server-side behavior of a streaming RPC.\n//\n// All errors returned from ServerStream methods are compatible with the\n// status package.\ntype ServerStream interface {\n\t// SetHeader sets the header metadata. It may be called multiple times.\n\t// When call multiple times, all the provided metadata will be merged.\n\t// All the metadata will be sent out when one of the following happens:\n\t//  - ServerStream.SendHeader() is called;\n\t//  - The first response is sent out;\n\t//  - An RPC status is sent out (error or success).\n\tSetHeader(metadata.MD) error\n\t// SendHeader sends the header metadata.\n\t// The provided md and headers set by SetHeader() will be sent.\n\t// It fails if called multiple times.\n\tSendHeader(metadata.MD) error\n\t// SetTrailer sets the trailer metadata which will be sent with the RPC status.\n\t// When called more than once, all the provided metadata will be merged.\n\tSetTrailer(metadata.MD)\n\t// Context returns the context for this stream.\n\tContext() context.Context\n\t// SendMsg sends a message. On error, SendMsg aborts the stream and the\n\t// error is returned directly.\n\t//\n\t// SendMsg blocks until:\n\t//   - There is sufficient flow control to schedule m with the transport, or\n\t//   - The stream is done, or\n\t//   - The stream breaks.\n\t//\n\t// SendMsg does not wait until the message is received by the client. An\n\t// untimely stream closure may result in lost messages.\n\t//\n\t// It is safe to have a goroutine calling SendMsg and another goroutine\n\t// calling RecvMsg on the same stream at the same time, but it is not safe\n\t// to call SendMsg on the same stream in different goroutines.\n\tSendMsg(m interface{}) error\n\t// RecvMsg blocks until it receives a message into m or the stream is\n\t// done. It returns io.EOF when the client has performed a CloseSend. On\n\t// any non-EOF error, the stream is aborted and the error contains the\n\t// RPC status.\n\t//\n\t// It is safe to have a goroutine calling SendMsg and another goroutine\n\t// calling RecvMsg on the same stream at the same time, but it is not\n\t// safe to call RecvMsg on the same stream in different goroutines.\n\tRecvMsg(m interface{}) error\n}\n\n// serverStream implements a server side Stream.\ntype serverStream struct {\n\tctx   context.Context\n\tt     transport.ServerTransport\n\ts     *transport.Stream\n\tp     *parser\n\tcodec baseCodec\n\n\tcp     Compressor\n\tdc     Decompressor\n\tcomp   encoding.Compressor\n\tdecomp encoding.Compressor\n\n\tmaxReceiveMessageSize int\n\tmaxSendMessageSize    int\n\ttrInfo                *traceInfo\n\n\tstatsHandler stats.Handler\n\n\tmu sync.Mutex // protects trInfo.tr after the service handler runs.\n}\n\nfunc (ss *serverStream) Context() context.Context {\n\treturn ss.ctx\n}\n\nfunc (ss *serverStream) SetHeader(md metadata.MD) error {\n\tif md.Len() == 0 {\n\t\treturn nil\n\t}\n\treturn ss.s.SetHeader(md)\n}\n\nfunc (ss *serverStream) SendHeader(md metadata.MD) error {\n\treturn ss.t.WriteHeader(ss.s, md)\n}\n\nfunc (ss *serverStream) SetTrailer(md metadata.MD) {\n\tif md.Len() == 0 {\n\t\treturn\n\t}\n\tss.s.SetTrailer(md)\n}\n\nfunc (ss *serverStream) SendMsg(m interface{}) (err error) {\n\tdefer func() {\n\t\tif ss.trInfo != nil {\n\t\t\tss.mu.Lock()\n\t\t\tif ss.trInfo.tr != nil {\n\t\t\t\tif err == nil {\n\t\t\t\t\tss.trInfo.tr.LazyLog(&payload{sent: true, msg: m}, true)\n\t\t\t\t} else {\n\t\t\t\t\tss.trInfo.tr.LazyLog(&fmtStringer{\"%v\", []interface{}{err}}, true)\n\t\t\t\t\tss.trInfo.tr.SetError()\n\t\t\t\t}\n\t\t\t}\n\t\t\tss.mu.Unlock()\n\t\t}\n\t\tif err != nil && err != io.EOF {\n\t\t\tst, _ := status.FromError(toRPCErr(err))\n\t\t\tss.t.WriteStatus(ss.s, st)\n\t\t}\n\t\tif channelz.IsOn() && err == nil {\n\t\t\tss.t.IncrMsgSent()\n\t\t}\n\t}()\n\tdata, err := encode(ss.codec, m)\n\tif err != nil {\n\t\treturn err\n\t}\n\tcompData, err := compress(data, ss.cp, ss.comp)\n\tif err != nil {\n\t\treturn err\n\t}\n\thdr, payload := msgHeader(data, compData)\n\t// TODO(dfawley): should we be checking len(data) instead?\n\tif len(payload) > ss.maxSendMessageSize {\n\t\treturn status.Errorf(codes.ResourceExhausted, \"trying to send message larger than max (%d vs. %d)\", len(payload), ss.maxSendMessageSize)\n\t}\n\tif err := ss.t.Write(ss.s, hdr, payload, &transport.Options{Last: false}); err != nil {\n\t\treturn toRPCErr(err)\n\t}\n\tif ss.statsHandler != nil {\n\t\tss.statsHandler.HandleRPC(ss.s.Context(), outPayload(false, m, data, payload, time.Now()))\n\t}\n\treturn nil\n}\n\nfunc (ss *serverStream) RecvMsg(m interface{}) (err error) {\n\tdefer func() {\n\t\tif ss.trInfo != nil {\n\t\t\tss.mu.Lock()\n\t\t\tif ss.trInfo.tr != nil {\n\t\t\t\tif err == nil {\n\t\t\t\t\tss.trInfo.tr.LazyLog(&payload{sent: false, msg: m}, true)\n\t\t\t\t} else if err != io.EOF {\n\t\t\t\t\tss.trInfo.tr.LazyLog(&fmtStringer{\"%v\", []interface{}{err}}, true)\n\t\t\t\t\tss.trInfo.tr.SetError()\n\t\t\t\t}\n\t\t\t}\n\t\t\tss.mu.Unlock()\n\t\t}\n\t\tif err != nil && err != io.EOF {\n\t\t\tst, _ := status.FromError(toRPCErr(err))\n\t\t\tss.t.WriteStatus(ss.s, st)\n\t\t}\n\t\tif channelz.IsOn() && err == nil {\n\t\t\tss.t.IncrMsgRecv()\n\t\t}\n\t}()\n\tvar inPayload *stats.InPayload\n\tif ss.statsHandler != nil {\n\t\tinPayload = &stats.InPayload{}\n\t}\n\tif err := recv(ss.p, ss.codec, ss.s, ss.dc, m, ss.maxReceiveMessageSize, inPayload, ss.decomp); err != nil {\n\t\tif err == io.EOF {\n\t\t\treturn err\n\t\t}\n\t\tif err == io.ErrUnexpectedEOF {\n\t\t\terr = status.Errorf(codes.Internal, io.ErrUnexpectedEOF.Error())\n\t\t}\n\t\treturn toRPCErr(err)\n\t}\n\tif inPayload != nil {\n\t\tss.statsHandler.HandleRPC(ss.s.Context(), inPayload)\n\t}\n\treturn nil\n}\n\n// MethodFromServerStream returns the method string for the input stream.\n// The returned string is in the format of \"/service/method\".\nfunc MethodFromServerStream(stream ServerStream) (string, bool) {\n\treturn Method(stream.Context())\n}\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/tap/tap.go",
    "content": "/*\n *\n * Copyright 2016 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n// Package tap defines the function handles which are executed on the transport\n// layer of gRPC-Go and related information. Everything here is EXPERIMENTAL.\npackage tap\n\nimport (\n\t\"golang.org/x/net/context\"\n)\n\n// Info defines the relevant information needed by the handles.\ntype Info struct {\n\t// FullMethodName is the string of grpc method (in the format of\n\t// /package.service/method).\n\tFullMethodName string\n\t// TODO: More to be added.\n}\n\n// ServerInHandle defines the function which runs before a new stream is created\n// on the server side. If it returns a non-nil error, the stream will not be\n// created and a RST_STREAM will be sent back to the client with REFUSED_STREAM.\n// The client will receive an RPC error \"code = Unavailable, desc = stream\n// terminated by RST_STREAM with error code: REFUSED_STREAM\".\n//\n// It's intended to be used in situations where you don't want to waste the\n// resources to accept the new stream (e.g. rate-limiting). And the content of\n// the error will be ignored and won't be sent back to the client. For other\n// general usages, please use interceptors.\n//\n// Note that it is executed in the per-connection I/O goroutine(s) instead of\n// per-RPC goroutine. Therefore, users should NOT have any\n// blocking/time-consuming work in this handle. Otherwise all the RPCs would\n// slow down. Also, for the same reason, this handle won't be called\n// concurrently by gRPC.\ntype ServerInHandle func(ctx context.Context, info *Info) (context.Context, error)\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/trace.go",
    "content": "/*\n *\n * Copyright 2015 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage grpc\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"io\"\n\t\"net\"\n\t\"strings\"\n\t\"time\"\n\n\t\"golang.org/x/net/trace\"\n)\n\n// EnableTracing controls whether to trace RPCs using the golang.org/x/net/trace package.\n// This should only be set before any RPCs are sent or received by this program.\nvar EnableTracing bool\n\n// methodFamily returns the trace family for the given method.\n// It turns \"/pkg.Service/GetFoo\" into \"pkg.Service\".\nfunc methodFamily(m string) string {\n\tm = strings.TrimPrefix(m, \"/\") // remove leading slash\n\tif i := strings.Index(m, \"/\"); i >= 0 {\n\t\tm = m[:i] // remove everything from second slash\n\t}\n\tif i := strings.LastIndex(m, \".\"); i >= 0 {\n\t\tm = m[i+1:] // cut down to last dotted component\n\t}\n\treturn m\n}\n\n// traceInfo contains tracing information for an RPC.\ntype traceInfo struct {\n\ttr        trace.Trace\n\tfirstLine firstLine\n}\n\n// firstLine is the first line of an RPC trace.\ntype firstLine struct {\n\tclient     bool // whether this is a client (outgoing) RPC\n\tremoteAddr net.Addr\n\tdeadline   time.Duration // may be zero\n}\n\nfunc (f *firstLine) String() string {\n\tvar line bytes.Buffer\n\tio.WriteString(&line, \"RPC: \")\n\tif f.client {\n\t\tio.WriteString(&line, \"to\")\n\t} else {\n\t\tio.WriteString(&line, \"from\")\n\t}\n\tfmt.Fprintf(&line, \" %v deadline:\", f.remoteAddr)\n\tif f.deadline != 0 {\n\t\tfmt.Fprint(&line, f.deadline)\n\t} else {\n\t\tio.WriteString(&line, \"none\")\n\t}\n\treturn line.String()\n}\n\nconst truncateSize = 100\n\nfunc truncate(x string, l int) string {\n\tif l > len(x) {\n\t\treturn x\n\t}\n\treturn x[:l]\n}\n\n// payload represents an RPC request or response payload.\ntype payload struct {\n\tsent bool        // whether this is an outgoing payload\n\tmsg  interface{} // e.g. a proto.Message\n\t// TODO(dsymonds): add stringifying info to codec, and limit how much we hold here?\n}\n\nfunc (p payload) String() string {\n\tif p.sent {\n\t\treturn truncate(fmt.Sprintf(\"sent: %v\", p.msg), truncateSize)\n\t}\n\treturn truncate(fmt.Sprintf(\"recv: %v\", p.msg), truncateSize)\n}\n\ntype fmtStringer struct {\n\tformat string\n\ta      []interface{}\n}\n\nfunc (f *fmtStringer) String() string {\n\treturn fmt.Sprintf(f.format, f.a...)\n}\n\ntype stringer string\n\nfunc (s stringer) String() string { return string(s) }\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/version.go",
    "content": "/*\n *\n * Copyright 2018 gRPC authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage grpc\n\n// Version is the current grpc version.\nconst Version = \"1.14.0\"\n"
  },
  {
    "path": "vendor/google.golang.org/grpc/vet.sh",
    "content": "#!/bin/bash\n\nif [[ `uname -a` = *\"Darwin\"* ]]; then\n  echo \"It seems you are running on Mac. This script does not work on Mac. See https://github.com/grpc/grpc-go/issues/2047\"\n  exit 1\nfi\n\nset -ex  # Exit on error; debugging enabled.\nset -o pipefail  # Fail a pipe if any sub-command fails.\n\ndie() {\n  echo \"$@\" >&2\n  exit 1\n}\n\nPATH=\"$GOPATH/bin:$GOROOT/bin:$PATH\"\n\nif [ \"$1\" = \"-install\" ]; then\n  go get -d \\\n    google.golang.org/grpc/...\n  go get -u \\\n    github.com/golang/lint/golint \\\n    golang.org/x/tools/cmd/goimports \\\n    honnef.co/go/tools/cmd/staticcheck \\\n    github.com/client9/misspell/cmd/misspell \\\n    github.com/golang/protobuf/protoc-gen-go\n  if [[ -z \"$VET_SKIP_PROTO\" ]]; then\n    if [[ \"$TRAVIS\" = \"true\" ]]; then\n      PROTOBUF_VERSION=3.3.0\n      PROTOC_FILENAME=protoc-${PROTOBUF_VERSION}-linux-x86_64.zip\n      pushd /home/travis\n      wget https://github.com/google/protobuf/releases/download/v${PROTOBUF_VERSION}/${PROTOC_FILENAME}\n      unzip ${PROTOC_FILENAME}\n      bin/protoc --version\n      popd\n    elif ! which protoc > /dev/null; then\n      die \"Please install protoc into your path\"\n    fi\n  fi\n  exit 0\nelif [[ \"$#\" -ne 0 ]]; then\n  die \"Unknown argument(s): $*\"\nfi\n\n# TODO: Remove this check and the mangling below once \"context\" is imported\n# directly.\nif git status --porcelain | read; then\n  die \"Uncommitted or untracked files found; commit changes first\"\nfi\n\ngit ls-files \"*.go\" | xargs grep -L \"\\(Copyright [0-9]\\{4,\\} gRPC authors\\)\\|DO NOT EDIT\" 2>&1 | tee /dev/stderr | (! read)\ngit ls-files \"*.go\" | xargs grep -l '\"unsafe\"' 2>&1 | (! grep -v '_test.go') | tee /dev/stderr | (! read)\ngit ls-files \"*.go\" | xargs grep -l '\"math/rand\"' 2>&1 | (! grep -v '^examples\\|^stress\\|grpcrand') | tee /dev/stderr | (! read)\ngofmt -s -d -l . 2>&1 | tee /dev/stderr | (! read)\ngoimports -l . 2>&1 | tee /dev/stderr | (! read)\ngolint ./... 2>&1 | (grep -vE \"(_mock|\\.pb)\\.go:\" || true) | tee /dev/stderr | (! read)\n\n# Undo any edits made by this script.\ncleanup() {\n  git reset --hard HEAD\n}\ntrap cleanup EXIT\n\n# Rewrite golang.org/x/net/context -> context imports (see grpc/grpc-go#1484).\n# TODO: Remove this mangling once \"context\" is imported directly (grpc/grpc-go#711).\ngit ls-files \"*.go\" | xargs sed -i 's:\"golang.org/x/net/context\":\"context\":'\nset +o pipefail\n# TODO: Stop filtering pb.go files once golang/protobuf#214 is fixed.\ngo tool vet -all . 2>&1 | grep -vE '(clientconn|transport\\/transport_test).go:.*cancel (function|var)' | grep -vF '.pb.go:' | tee /dev/stderr | (! read)\nset -o pipefail\ngit reset --hard HEAD\n\nif [[ -z \"$VET_SKIP_PROTO\" ]]; then\n  PATH=\"/home/travis/bin:$PATH\" make proto && \\\n    git status --porcelain 2>&1 | (! read) || \\\n    (git status; git --no-pager diff; exit 1)\nfi\n\n# TODO(menghanl): fix errors in transport_test.\nstaticcheck -ignore '\ngoogle.golang.org/grpc/internal/transport/transport_test.go:SA2002\ngoogle.golang.org/grpc/benchmark/benchmain/main.go:SA1019\ngoogle.golang.org/grpc/stats/stats_test.go:SA1019\ngoogle.golang.org/grpc/test/end2end_test.go:SA1019\ngoogle.golang.org/grpc/balancer_test.go:SA1019\ngoogle.golang.org/grpc/balancer.go:SA1019\ngoogle.golang.org/grpc/clientconn_test.go:SA1019\n' ./...\nmisspell -error .\n"
  }
]